From 19966987f7ac5f39542b1e6705e8b67f67c6f5a9 Mon Sep 17 00:00:00 2001 From: tolauwae Date: Mon, 2 Sep 2024 15:11:16 +0200 Subject: [PATCH 1/8] =?UTF-8?q?=F0=9F=9A=91=20Hotfix=20benchmark=20makefil?= =?UTF-8?q?e?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- benchmarks/makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/benchmarks/makefile b/benchmarks/makefile index 95b6bc36..4ad42687 100644 --- a/benchmarks/makefile +++ b/benchmarks/makefile @@ -35,6 +35,7 @@ CXXSOURCES = \ ../src/WARDuino/CallbackHandler.cpp \ ../src/Primitives/emulated.cpp \ ../src/Interpreter/instructions.cpp \ + ../src/Interpreter/interpreter.cpp \ ../src/Edward/RFC.cpp \ ../src/Edward/proxy.cpp \ ../src/Edward/proxy_supervisor.cpp \ From a9002cdbdc33147b5dceedad5d7e824ae5f3a7ac Mon Sep 17 00:00:00 2001 From: tolauwae Date: Mon, 2 Sep 2024 15:40:05 +0200 Subject: [PATCH 2/8] Update --- tests/latch/latch-0.2.1.tgz | Bin 53993 -> 49452 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/tests/latch/latch-0.2.1.tgz b/tests/latch/latch-0.2.1.tgz index c33e08a819f6c6eeb01ab08aeb924f01e2daf0d4..7fd81f1f5079371fa5f6037604532f99697a7ecb 100644 GIT binary patch literal 49452 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
H!pz7eZIhK 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�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 U&Hv5+{pJ4se<@|li2$|)0F@_vXaE2J literal 53993 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 From 578585c98f8d13462dc88c6f54d146d668a510e2 Mon Sep 17 00:00:00 2001 From: tolauwae Date: Mon, 2 Sep 2024 15:43:03 +0200 Subject: [PATCH 3/8] Update --- tests/latch/latch-0.2.1.tgz | Bin 49452 -> 54021 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/tests/latch/latch-0.2.1.tgz b/tests/latch/latch-0.2.1.tgz index 7fd81f1f5079371fa5f6037604532f99697a7ecb..6e1d284f316b8a5516a5907165fba49d8a3bda7d 100644 GIT binary patch literal 54021 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≤`{&k{sr#-JrgjWFqB;qUH07UULe@;kgV(qo5|t66jPN! z$-6rV|i;VdAs0u+BL!u(P6Y-yRpke$Cz zWF$}++CaCZKH?H*!6)`UQ$b{wtZL{AZ)lrZF1{9B!ScUvj{gn2WSsU_#D4jW<3H*f zTV?+5&8@X1{`ZeN|H;VH^Z(L0^BMb!Ap=m(PX_P|KLm*~{1&uffS#O9#(>T(iekoj zjj|wuc{QW;46zPHt|XCiNpsl2P{}&BGf-+{Q{=UvmRdAusPH z8x55}$e_0gy&Lnx0JJ&`%{cB-fl!w)Z( zZ%>#3@c8-~`*&-DNUYbBn;ZG5>=k%Ka@FyMsu_`|;W!_R3Y-WE;-3Aj{o#d4avgT> z5T$&9=&14@{xzecyaiZh+ts+qof2+xAaRphHr(Wv;~XDgX!{XHVjZJ(hhrfz!I?{o z#{pV54pB^No494W+(gA2tv>bKX!Hddt3S$HG4~zC?xjpSb-2ly-4If{cj8csx6GG| z1@<2act4|NRY|^*x)}G>6oS9Bon|BoUE_+Cb`l!wW#S}rdep!PuJ&oPf$XtZcmwvW z?YklnTzg-seFij@wSC9LTFa9@53TJBrLEt~-2JcAJ}NXb^}^P^(^CH(S=-ko{df2s z`wvwo-oC^;v9>Sb@r{sjeq?K32a;Z0Ws`Sa*3x6Zb0Dn2n1^yo9T?8oom(oJB$~p{lq8j~QrnKV_tDxJF=rqKXcd=eON6M}q4spm6?iMNU)hCg{D^y( z<$`_!H}P)Z9QEBE4$~!fUUFS2blTj(<4fLZ3ZA%!Uo!CLeaUB6ybEbw-ro24mPqh90@5+KKt4q2n+Yo(Uo68~f$F$Y0sZF9%>)qp&6 zhn`3=3d(+NG+5+m@a|<__@56 zRKrRlwX7ml`qaIBUM-*9(jK1LYgu#2E}ppGaU0Lk_rTlupy&vUHg32QbI^OwzT@k( zkw8cBEy~);3FZLvR%S8-)@5gX0K6CQo`HZqb6g58ll%#xHhOuK&9e` z#XW(DJysjkrpvJi)p1g{i`*PS;)=&4q=-bppb`M-6ddOXh0kQmgzsHq+raEldbUj*=mWw%QYze{a_@myC4cU?MtJ!I zr^tbc+0E`;Q0Jq*3ZXHLTi+@f#|=&C*mV2ul%&_)A&fQ{;5OWhs~t3w{RYu)rq8QoEs!{r zs-6|^$zD&~5YKWQ;bC@7i189Q(?h93!hUzMK?Zg+P^p%->p#vPI^X|yI*BG<<^-G_ z|FgbU&i~t5`u~0c|DPIp>I9_sN})czD2azLPZjwro)8%{y|4(8SvDsGr;LqLl-f#} zdn$U7nc^qDkn6r(2 zfXHW0d2ziFI2fg~=Or!}-kC4-!-S3`*=uDg5U3+{f10%6pr?fYH1h;#P>@XYPGt}| zB`G2-C0vk^hfY{3%tFSv?iu+4O^K+E=vi$&bo$VSf=MF8+a{B}dXmuD)3_rhLOl8O zP{&WVRd7lJ+7YyylO?haYGcs6!$WoTZ`5OgF}BqR#{Y;_9@FLqPH+nqo$irrfMYch zg|r@+U!*#Me1TEtH35e*2qx4&U8?hI@MB{dP9$`E1No|@C=U$4Yz=JO5%ZP3e4#|+ z37G{qFPQ}(GV(TdCpl||bX`~!Ohg_rd>`|~?X(QiqnUb|4?70{EV@8WV(U}cWzjsA+2QtmT zc?o2g!0Skq?_I}P@%FnY{M31BkFriIBpEvYSQ-n0yv4t2AEt%gMTfcq(pnN6APKpu_X5U^mPoc?-ls z5W{kkCVdkEhkPUgbMmM=N_*^qAtZ^98u0@ssE?B*#=D%O{d|y(?o%1mGgN{i6Vrn~lILS$;`RTSiZI)q9K8^eg#lVpoDMhnuJ}}7C(e>OGo!GTs&s0)j3uXbvy|m*D~I9;D9_%c(50=@=W$IbbZLfqk@mY z(fL2lE{^`;2F=!yxI2Q^lTlxFubR9h;T}V}5N%+L*i}Mj5m92%LlHszm`F?D6?ZOL z=YgtPW-}lA$XAn}H7`Gj(jNbMKK0by1|MnY=AK>@>+ye_IGql{5(wad zu;0(3KJR;8%$ZEKAg?x@)}bEXNOYi43Im8;%bUz18hJ!oCMV8O$UggKSm3;rvllv3 zeVGh`8%?7ui+iGRk@#5AK20Tqf$GX>HjN+-@tSWFH%WLGr~H=E?M8PhpfevwP{=qN zC8IuQYhodt^S;UlqkC_X7o#Cl9z#&{-eq;f-i0kz zfhMr)NJ?b^ApkF*&3oBXkmw@3kAR(@&wDwL0eZodL(2LnG6#k>Y{0>~4VqevSU%-P z6L+ta{9=DJNC}#*r*U%z%)l9760wr}9ip?5BoW=?jn-+1YV>F==#y@!S~f{74kc2x z6)S@!S4iUnn(it6{DDenCNSM);wIv9LX2)-cmd!&WFSFfhV5g0Mf*_@^xh`<Q3rgb_Aj0!RX>?`q?HvZuOap4EArwP2GU6uTu@;!1g#ZgZ0h=Jfq%SGg z48Mi3UijLkgc^}+-H0Oy1T4CaM`C#>C>AM6Jw&p^N8N1Bf zWDv7Oi-TxU!UOV6xczD2snb1bzf#R1+2({`z#ubq?B%P`2~0MLmJ@9IW@;WWezu(8 z)`WSvAxcU|sqKbL73^q9=eh0KN9u_( zm0?rK#%dU7R(+G{?v&9}HNIWxK^o9l1B4r5WNPlVzrcEtUU$80?2+IB8XC)B3DxLF za`52K0IYu;-shlFi%R=EX|z=^Hh{O2Wc?0)h5-&?vkYuca=TM$HwU;Lk814u9yE zzD-WeYj|u-zOo;bh;DQS5eUQJ@z161!hYxyyD0=F1lEq!g9;Ap&45^n%(z@px<9MO`T)ib$+_i`U|sn=J59XbU zMih(BcEyZk?Gs$zlC$M`Gkb+Xxl}jss-l5PqNr>jBj#Koy>N_CXn1kO)9G|?H7}7( z>|?WQ(=B;f#GELTh;F-Y+&N2lrhnE` zSzc8u_`Zgx;{%q zz!hiq{Nal`e#<4&mnR_+_|kfS*?Pg*dqHe6Mq<_dMk9fItf_0ET3xY@%ANbwhGka$ z7f}DqTG`5eU*6!`xXVrgV?|L#g_1X^bCw)Nb>G;o>4eeuDQF7MYfN9z5>vW?`MFq2 zyy}*i)eK2@QZb8Xp;6kWmeV{6aUS21BW%4fcdo|-D3fa%G!;OZNXA5g8wE1PIH2<= z@$HJ7T1u-LiJ(HprrctzNI&uH0$E!-V+Q3T9m15WcJ2yU)g%?0rN^-3h39EW3<~ys z;nIWg^Ga6U&Z=C`o;%up|kG++$g?R`M-e9}80_!|3YcauXK!UclUPPgG zW-mHTtrPJr+_BqEPz3Y)hj6gt!>Oxvv^Vy*p3^@AW1QZT`LpF?C$0NB_~EVl&adbf zoB_I6uXPT7{HYUAu&c5AjLDJE$-!uK{f*~*{EDx=9&EeTeY{UB6mLk#kck;Oa8c6j z(_!J^IhsYFF|ODlciT?$*7d8l&%nBU8e72gwohEl3v59T3vNMyLv|nU8|^-G&9|7-#kLq?tfM{EHsa*e zG=B1nXZ2K@tO_>MX$KwsM7xb;#(*&9>so8-uepnUK7C(rYM}2z?>R;H#ut4ts@$dN zVbBAsYF~N+_4Gc;{QKwZ!E~r$hb`FwfW+N@Mklg6#KB7usm%j^x9zkZn(w?X+HPSA zf2)52;wuS>0m|2Xm`~Q2T>-Q0kU{04=9{Kx+S53omEm01i>HAdP~Ru1n#?;3VXdcc z2m-qmJiYK<;GvOeYYGk1mj%D2gUiX?$(sN^x zEzSpl2kNV?PhD#)a-XJ6oB9aksgW)1y>FUj+m1KZ@SxRcH6*J>W=L6*6It-Dv>3IO zZ31@-*K{OO^RV)tZv=YoD)pSE{@fyT5s6xp9%t6Cdlnz5iGxgf;oMgs-KS3`^#4b) z6Ikq5JUv4NJFLy)CdXH|iMMkrFsaGgs_UuKQ@xy#jvM*L_J&s3U|-?yA2{VPS4aT- z@2!APGvMlCyP~_|;Na?@13nC?q1?X0-;8rpLNqB_3!hhdpWM!>o25s1FWK z=5`6Uep`JMg*&4X0TBSS>3ass?j6ZyAW1$tCHg=D0ae?sz32N#l&#@SKq^-2>V3m{ zPKH{hQ0~qDZXyq`rMe=*bl9y8t7j#t8Zp@)i6JYdXis%L0}lqw7@IcO7{e$P+~Pa<*MtM${)F4jMvWaM!HZ z`0?nFFSqV14hgyha*~ZyH1YbR$%QfOH%Z{KZJr|QWB_G9>Nz*m4@FPPE%EtkmI;2L zxeuR{1Bp4T8}G>uo)MoG?JiqkN>He%RCxO|c(Y~}+}d>~l999J&J_+gQW`hdxD^Ye z{cpEG0w+iTiRkomKtSKPWOgOkuTXd+;_3$Z&Xr(6hX95!*u6!LB)~)XO)$SA z_Nqvslsqk+<2G?uzwz)GDr_wslv^sY>~6{96Y=?c{!y}?d-5Wye7%8{ zPn$SO_cV1-=(SoyRum$UD(|*QJx4U?@<2K7#KCT_2d9~=B`epm-9Uk9Pp_j+g>ZJK z-z*KN%s<_Qs908G%;%d!=GPTx5ff3%)@iIY9Hm51l`uY6(6u;ZK%wk`XO=DJKkJ_- z%TTguMh8+jVIh7yzzR>qTzAN1hZ@%xu2FWj+Uj>fYJ@tPh%SO;cAbKwV*SKvjWh5c z1g`ft#(!Vks;_UB@!z*rm-&A`EdP&;yoUcS!QCn6;NJ04E4>+!j6nlDKFgyP{KOabVk~BK&6rhl*?3602aBxAXm8S0#BVGsbfx?%+gy3yFyNcugQ9&l97(9;lr;= z$w-pdq)Cnqfl(2F-QXCqf(Rfu>O)}E0Zx*DlBaYr_q?lD(jw>Ho~lH6-da}pi$lG> z^-_I=f0pyXY9EDK+L5YH2`O}Tm|6Q=M@@yrvdY-7>STBKJT$r_S z?M>akH0*d(Zb$PVd;CvoDz^|R5+DbeUNvYc(SqR^V~cwT6vz{007-(^bF)z6nv{3X zFh$ByN4#g6F7YSI$esiorkc?ce^v{7WN-Keyc|!o+jX2n=NgCX$|TU+l?;4r22)^a z9_~t?n}Ei)%N^*yPbhp7ckLxNEwpFev|*x;Ry9oX z!z$~~(X(D`>S2P3Z{lv2Nov{8Kg}*R7X!pXI=Jg^6HSnMgZ9i51Iy7dG#$;yL_A0U zQ`M#P$J9~GA|F+0jtsw4ketS0kDL7_ACNsgrYlbAYM!+BGz$=I zeQ2y<5fR=Jyyrgw|A#?JTt~fp<+*tGi-eS%Ez-{54E(0)GOu3laH_FqSwFWoF?_#zU5d;5lSszCt0%^8@}SI8{tZbW zu(&=G61deRGAV?rw@lhQGmi1d_%Mh#)eyh-CNjwC8cRila)_q&9;X2nkN-3{olR~ne=Dr!(rSUd2VM&}K&Ow9n zXdteV%2FgG%x0-QZk{9j@GSYX2-lkz3zhYoj5s;r_GtocVG zG)5fnpCZ{wxl3~HmZU}ymVNrPrlU+vq#`8FRu*k*n|;x%frf7q`R zJtg$kBhi^Hoo!ia^IQSZb&Uq8nuC!MS(8TxvdHtX*Q7GM=Qw>CYKUSZX!N@O|7h27 z2Cj38TkS`rREL3C3W-0R{MYFYB8Fl7#RA~W{l8wXua)Bew(8q!%l-d{?f=@y(=$Nb z(8BkQM)bNa8S*&5o0xMjiN^@Gf8LGKFpEb(z!WoddRo@aDC36gB8yDi_AG+;Ig~mx z`Cs$Hsh@>IK!ERtNyIU}1#mcfaPRRti+i*V)~I1b`KTBYe=dKBI*!v5RkY%v@*@Uw z&alC0fpI#XaJnjqFAjEk@Hlih7(V}~K?tbry&m{BAg-_{OXTOOayayWKtK{U8Grp;PRyvK?3>|?tr zjQoy_=5|(GBC7lLU?k46ddb7C9HA1R+20`y$DFhYVXn`&Tz2LU2)z-YH38n zA$OFEV0nHpM_i0>GWT#stvnHcxhE2KRGwAV%MIT=TTva(B;s)2Y!X^W;a`fo8@%q044p38&5L`Q_OE{2}{?DCK|sE>3P0mX~ZG!9{(E^iwfqSPg;O$N{fsfSOD zT!OGj(BuN9t+9v4;$aeUr`F)U?gi#?ldYf>R%SR*G2Kj{cd)6y&o?vyDk$3|^1_CC zvOmkPVowuLbAl16lPCr~EVyZw3*3Brw3I8UVyfsYxe4*HHX%=paLhKLdXyofv8&Y} zyR0cFoY}2&YnL5ZlGATcizT!h@5zdM<5B={<=t@TEL3ag(2O%bg{4M#8p_a{pV&VR zgI?so2JIFquL;?8-?^I8HP{BKJZIgdgcKxZ91$2@!&}N~(jc_WLebIQvx{7Ydg)axF_DF!7BG^2X;`Z)ifv17E2Z zym|vf7$PSeJg*AkSpSI68FG;TB$JDb`kBHu^GlYFU!By{61*vDe9}d-` zid`ZWU6Nf9#30K=-q(xM3*Fjg^4?x`EFefa#RaF;Jr?fgek#D6*DKq5EIm$>0 zcP@>U(4@7!AZYGCq4g6fgTAj-MfOQNXdb3Tx=mF{pi}JQ|y{F z3k2N1QBiZ0=6r=`x%q@(|cEw?C7I`+gd&ZD%1f_|!!-QKwhcqDLIV-pdL z_1pE*a{HfT|7GT}ezekwvN%k>jtg*}|9`XO|KHeNuP^PtKhFNE246G&!qt+67vrxN zaOCN;>xD)^!J5W4^czo5p{c+xDkwXY;10Z4%4&D0`~BOfRk#1EoKdCq&qrezj#oPH zs~wKNssCqnZEJPA?EhKfKm5q`Pe)$c0^|*roWYl8X+KC9Ju7ogOwz6*L{3K6A^23{ zq4XNXDR^5(S=^7)FgY3JvB>D?vs8?*h{lP^eNX+XLy*XftWf1R~H9 zA#bewgz9$c&Y;C>>&l9SHqQfvKhP{RpcM^eR0RZK(Xd?neFw&~v_X?7)d#2)M8dMWvbZJii+j?+bm4s&SI)H^ zO}TyGeb~TU5s@hbG4D*j$-K@rrbFO-0Z!%I1KwT+n;{gX^`P(i7+E+XhWfFqIBad# zek@LS1vaS8)@qlyA|BcO3{^#~)eHs7p6P*8K3}*RdokEm`_r21UOUFG|DUW>CvVex+xEE&}FR2kHQSeYiX)ZEFc^LqP z6nF1rk$8ud8Wz0WOy+!pvgyq(xwm!%y-^OT-67QGAS;@Q1v5o?oeDRgNKJ z@R)e39L({oVx9toG6Ji6{&gUI6q zKjIY6`F+EYaDa#Rq0UFM-9WMA9J5R#bdT-f$=fn`;o+YnY|$C@w~`u(gIl*p-n!O~ z7oH=GH)S#$$tPkBKg4#YE;fARA~Mk@(pRPpzq+|+M&AhpC~OQE-w9^t44(N-i2P4n zY63{zGRn?>gB4(r^MCw>A)qtQ|FwF3vlRcowY9aeJpX_E`9HRVfXaJ@0MH%8N$(#5 zWC8BoG9&=KN9<+C?t3pn38_#6cxlnb5IOmv*;ixREB9l$dQ~6l_ex zPosw-3%kW(oJIlw(=fY;2OMr_5zmN#Q(>qXUEdkB`}9>e(8>qf8_XkGE6yI zD7zlPFKWZdqJH!+26->+rZQZSRTxpJHj#aD~=x5L{})=|(R7;StL_a4yn zL{LS9Xb929xg29C@+|5H4`W0=l|j4kC}MI9Cq;M-lR*N2hFO0y6o?_BU4B%AOmfAh zi5oZ<@ET4Bh&%2gSZY?}moW!08BL&HauFLG=SSg@d`QiG7TXP%$5}j#ix`$nN$BNk zqQQk@1~$rmb{_CFJ$SYCU9gtaBL_=cnI~3DL{OL)now5?DD?$l) zp3pshNpP|fxG$>(?xfb`Lr6+eLlusoz#V>Ow2Efk$eu*wmQRHe+AlF9jj;^G}w@b8^EO<{S3 zaJo-un*CE_FekRSBck6h_DiWKu$Qj!rAMMCoanFAy?uP8hp()XSBR3pXtB3FOnB?) zfq-YXBvd1Ib!NBVmNQY>*ppZ&UnCdU5aTX9s{GNO<;oZzc%&f;d}5LZiUAjy!g7y> zLF!l-CNzyiaY4++%6}9%MKB?895nh6t7;2PH**u0DxIbg9vDgq@=2p)WM}vjZh%kt z_9qBNN1McAxAg!$D*^>0`#2}j$NPK}BRn@EI@P*e0dE!I!5NV7XBt?iQ+7=WB#<|U zv5P>CB0EmtTL`;S&%`J-0d#20I?;%UWuFyrt@=1R!OqM*v`Xw(R{{11pQ2s%g|C8r z%#_T{dySg?s8poE?jj4nrA)ensg1^qQXX&~ugHP4AcOSy4Wto74x0I|#GvTm%S}%s z4OHzLX-J|-u2D`_5m^lY!%2WXJu^5Q5II}83ioKJtWMS?z&n*khQu+qRb|0P4Ao*l z1_*?cHL)LL|2ue+hHy%IG{1*^_Ng9dH+FT)N%PuBV{X1(<(`@rI8NBj6|zWZj9o#d zBqb0g>u-h79rZmu`{hOpm^RL7Wui*R==C)eCmoKI17d5LDU830#GJ#u++(}!wHfuy zxJ`WQ-o(}XfINma6w`wD7i<+xaM4mO7zoVd9yE<_X&lh^C{1}e+*gEB-_aGH`;L?Q zm~=Dc<*lQ4w5#ZYw%sjK59W6S0-akS$fcgF2+8~8j^}WyYkn^E19IFErd#St9=R5X zxos1Z_mUr_K}FfBgn1z}`MvO=>sd0XX=h%~Db7y}?w^KHJLR7+Y)!5Cn0NZH; zj{^cu*U*#mxi`PvGyu(@FQ&nl_VX!Fc(MwPb>KVa;S2j2$azUN;gqJdTsV%m=9UnO zFJNa=oz%vwG*%T7H7{gXz%jyDiHj)Io*Fz~ZKwIv*d+LOTeMN9Mx)Nqdrb`G4qm+= zow#QVMdeM&G= z&WMf$Rp@FUdelKAxk!>+AMiYAukM>8!OnTrhct&k_r`6zRymm6I!6V)N*Fd{fNV19 zD#1tfP4YL^nf?<+G-2}M2~8a{q-r9Dv$s=C8VaN|v}zzvGF(uzg?i=|rADccDj~Ns zlestQ@pq)?P5hMB7P;Qg^C4QaIV45g$If1ZCy;=xAbe<DmvPYlNuay{G4O3eqiv|3<8sU61hp71sX%GHO$zkHRl>D zPOQyAJA+fzjOjwn;PjOUgrGHJOtYWaV6S`D#sK4Jxi@vP)`4$pDM1xwckP`3*>>xV zWRXE8r)hbZ|HSh!E%hr2_OmsVQrJM?`xV#I_+=BBwx_^}d@y4U+dg5@NzCUcSAj)2Kv_bQ z|9G6W5U^TPH{*%Xd4ruY!k9a5Cg~3nF`AMzx8#TbUx2~p+T<9`#aDtL z?b$}~**0%oi4E3#G$~OMI5uV;565TTflaReaM;%`<*{;}0`{1Lwj~Cu`yiZ+1s!J`FyCEzA*@yS1;+izf%sCksHE)SP) zp8r3&KH;&P-Tx6f|vXMkJ|sW!PlaH)twnQ0LZikLBY>M2EeMHeI&Fb zIsm9(0ZTz3@Bk6!pYq_4_a3#cn^7q(J$sZW-M%vJKM0IILi2ryi8j!VpIr{F=6@9A zbzcDjWZwF(m)HNsQvUma>z@q0h5k{|89s+TP!{>@MctNiUTDa90>0PFT=?z0eRL&4 znYzTpxpyvy(-fEP!M4jpkO!B_crudXT9fAB>VfU*e~1V&cm029^6%XBzrMa&TL0Ut z_2v5i;p@L5`&TCORwVxh!%4zG&*6`YF(Vumcbu#@iPI7M7FBe{Q8&JcyCKsn>5Zz) z;36JIBL%O%V28sl%)e+I9g75+I85Rv4x~=ns$tECSwCMe zzql)MfFdIyNu(iZ%(ko$*--Trm^mUDSrpfkyP?<}*xg?qCG& zC(N_m%vGvB=H5YtB5}Y%5 z@3ReK>h52lto7bq`W1ex{HLAJFOvf2*#Eam_>XI=_3b78;}4hrN<&YjKtuXKhkz6` zI)=EU%W-4Q+ap97BBzYTGN)LGF=jaeL+0l5HT&y2ob=AZf(k&-5Nq@=d?AF}6-%zv zP2qxp-W$6P`p?BrYQi_~y>r=?3&AkNIxdrM{xowtfsUelb(b+kaP;ml5WyGB9QIzx zH8Nvn?3O5Cn5c1xrvP{D3tng&mYSIw!$KHHblr+Dk?m1m!e@fC@mY~r2q}yQU$ORX zb0VE9IJ-lXL_*9CiCsZ)pejAGe#VuO)CS};4z<=)@!z0fI z^+;5`qi|>yJq9T0C$QM+t|S7$>}xu*-ZC9N?EHZM}@Pao?J(aR*=04m>PZs<(`BL(a7+KiKo)q zRB8LkqqKJxeV%YSy|#jRnT&g35w%Bx8d1Q^G5bw;Q$!Mi1b*{L%SxSOS(Fy%yeya= z(Blz{#mEJI3rx=};&0>y=MXF+4wI7S5r|-{7hqx+6F~gXp>yvz;>iL3pCd0TtdcI3 z;vU9PS4{=}ms}NM!QI7UK6?q~5!^d(>vJ3o4i6sMAEb+~w zs_BHlmGCR2=#{8jc$5ecL3j8~8rD*9W=80~=rivny+FDF#4sZ1sPNUr>&T>oye7rd zswOFOqxSh4QNPlWV0X--Fo!GsEDDP#J0FC+dc2cFc@CEsB4`vl{ntetbV?S!<7x}v zWy!)9NDJR($-?JVTlfNL;p>+zeB!k>w)V)lbqqnX{N9PY$NkC9DViG3jMqA7);uQ- zVX-n77}eY2iNgd+g~B2OolzjjJyfv0p3Cy5NcZMU%mJjr;T0=`W5dX(q=eQaAy|+6 zJs>$Xf;*4UJwqnykx5wjFXr4hPpA=c4 zlx3(h)yUB1U4}|XnDLelGoHEg%>Ns%0qt_@i9HDzFg=QJLla^kWetlt zB?(oclsj4q$qNTf-u@8}9)>tRY7zCKYC($SC4QAhz~Ti+Nk+jfT~B;^R;3g?@xR|- z7YBMR)=nQ^!6}uqJ<0Y!7r^{$?~S-YRRM@vHXIE=4aOiY7}5KhxpTmlu=Nk zL6Qo(MaFlVVw;qKX#zlH;^o}=>M4=Y^yK3zTJ^1YDIAOfHfiePU~#v7k)*P zy5*NB3ze-fA(%ubhI4Y2v?R4Z#~Qe~hwx}T(+T&1zDx1JY;)AS4uzjeAcISa8`3I* zxl^%r&xK_1!0wTChrP3{B>90#&~=98k`^7B;@rSCXst@-?)zR#_Wj) zNyRPqe&jGD;`6#&+U79l*D-xM)!mhaH&%ttg zPlzwyxh90$sZKvefa%o?KcRX2EEe%z>#Qqaa22GFl<84zzLaB}fQss&Dvv7T$5Zt}_q8ZVdwwynTSa^q*ky>qR!?SQlZ!*QVDGJfLPmk8}sO>=N= z4*fa2)`f>MxdxJ{o_HhxbyLqSw!<%+`YaA`58Aux5z=E=GvZV_L&F>_8t5R2=c4L< z?_+=D4FeIV4A#iyIvi)E#_{!43%H=BzP7Trtp$i4F%5LivuvRm&PHKW zW}TxzjYO-F&7in*-naqabo?Zuz0o7aT{ZHioH%q*Um1{Tc8TSDBHw-tSf5JsxwO}& zOeW9~o(AT*Mn9x%fNAzG;)yCCRBJ~`@21>YN=6AOMw)lv< zp%4a9@>yuEP%O?1)(j?cQ2>TjGL~b~w{%wb0}K~=?;9#Mojr6E!1B8SA-t!30)^Y+ zaK`*YI;`MJ*wDDiCu`z2<%obL;6^kR*9Npf><6i998t%9@#Mi;EUY>{)r zlq7lNpqzCgm)-4|yoWH4V3j!az2|=g5;sjDNQZ+TkN50V^1xyKG*r3yf+`7EN!nCU z+3#IAfBuB-dTda1Sr%BUoJ1Y$x;xm*`y2oUf`!zjsY4i zPC&TGT6ssXYw^p@s19HNzHwO>&66BASj~;J1t04Xz~(2{JXN@`C}H;5*9BshNG0tW zs(m0|`?yD?0olW1mfW_!XvhvVpje#iu$|!y+79f^3Dl(JaE?y$g64#Ho`0%tPPRaE zT4wKzzpQtNA?DWCn^Rw)Ic>8!#g{eb0-KN;&6#>)z3npzt_tAU+ddT{;wY!|A!;5F@H|to)H7sDZ*lsYq4*gf``%+svH*DGKpDy z%5;NKXT>>-nQHY!?9#;K=FUY4C&7{5I%+N+%p#ioH3M2CLL5guX*&lj)ca6|dP^|3 zo_JM2oB+Vfvn~m^6fPKx1N!h1;{=YhIB#jHC|}(LTLUW* z;8MEcl8)VSP)@I|dg=`%_3Uy(C4rieI^ChR2TOIWe3gM0yB~==8jYz?81KBPVn+A& zD6V)5LVVg7VI7DPz*o-Lju7s<1#vx9&rV&UcX}!$;MOHV6=kd5Z8F7e7la5A|8jD5 zPVsBx$NU`l5R2e{v31oEf4t-inF8BW*y8qJwCnvzO(Y>^?7T%VZ zS$;oi{SU*G{Vns(ze4)Q?Db#Yvf;n1Z7QG%i*zWF`<@27#+T6vA7DPEoFq9EqnfKH zW+_wV?*DQ1Pd^uHmkD%TBU3NPi6z0Rwn~om68DhnGA4R$^{5yE&u|E zoRNDhoT&4*>s;=$>`qX$4je_-a>Jnu3>B(d*1f7OZSfdu7S%2<=^A8J@w$dqb*Z{t zJS<1(ai3cJlbE{G6JO^zArBD^xrvwM?LMeH<5Lx*j94m98tk5Osyiyt_`$U%8aoPh zug+s!c_lXB5;-4YjE{cc7G<9@q8T_F=L87j0>k1CttcC9^zG2xW95}5G*hHbfL|vl z8FlXA`O{wWkrjcXLw#si_c=O}TGe%LxJVv1CIlwbtS`8Sqy>M|W9$0X-6xiYYh2!Z zrSGx{B-n_%tR)?$DxY#s5r1do%Cz`q=ILW6LG^Dv8-MS7r20)_8Qvnl_eoUGDRcpi zdY}mM2&La7K0=4Egeu^6)c9df*5DaM zG%Vi(k6NH2LLB1bhlvfz3J7o1gJ}~(5Z0-{b_tw=x_1pj!6Pq*g6F_BmynoO$C49r zlMu(SzfW)?_FYPVaw(jU@9jtfw$a6>QLNjEI=D07ohVdE}{dxaRq0! z9z9R!F&gMFASb9>&J=v3++7PrJ3OQE=077E`@mxk*%N#sIMxYjg{sgF1!_ddp5 z@r~@nS{;cZBH<0Jl66_26o!N7nJ~~;qd~#S^u_Z=wA4xzIN;>KpJq0}`B1w^?zWJ(IX25^*&qm5h8A)0zp49;RO; zURky!Y2Wp>oNC@?N7j;%w zBqmwK9aT?;lkRwq(jszUV={-K{i%3m!*iSsPYWi5>!4$|S=J=nyTIUaF8no6_`7Q$ z)pNs?Vu%c!xwb8MLTPeOmB{H>Aqp-W?@zicUbu%cv~EBpM71Fb;cE)Ohm5>=me!blB1C+qR09{HT6Rro`?CPaiQ{E?4xn@g3-7tjYjN) z{vhu@`H=9SjmBvyPx@$%zRT8_P)aZxf~UT2yWe(oakg916@FQ$1DOkhu>+0eJ>Wd* z?OQ{Pbf(_SMMumJ)(O$pCj?ub{(y|c=Y`hi!*^JpJV#Ky`sf+Smh7Edv1;qy^DH53 zW{f-|Pv#TPD|yDu=**cJB3yoAtm)Rcfuix}h7Eck2`~>zOPk~5dc5=TXk)p4M_=0G zpFPL<>`{1x(v;OYe-J>f>Y40ZZ=Zd$ACv9B?%I?GWI%+^+14hLA<|1V78Nf1B|m-a zO^5&%&`fjvgA*+od=Y(##o9A*MptbLVrh(tN^1g7L;sAu`DVG>=KgyUm9%eKJpWVq zA0|bdz&~HZ^S@C1=lb@V>HptYt1sg}f1Lkc4nOt%_oJc_CsFWFL}||5<-#kR$p}y3 zs4OAqp$q(m!^mY(KjN2GiTfk*}_PAKJ}xt z@Y`EU*!acw|6X)G>95EjkFRnFJRASLzOlW%i-K=TZ@qcAVJzv>Q0Lp2oS_;-L~9!6X4B?H|S8k#JLf zl6@Wgm>dkQ?p{T?BCLb9we(J@ah8fi zlt+t4d2~pWM~g>!z@^-kd6~(K7ugvIncvs!AE&AZ@UiNmEWI>xWlrOu{Kd3F%e$7| zDmBYe{ySItvFk1&$lc&roSrFgs&{!W_(=<;CL;!%KUb8zjO z^)>eI7R&95;dczbDO9wGs!gKn`r11dY)e&#>&GJc2Mgt#Krkc;BOQmm4hsr>_4d{6 zD26!F(FFr5_rg3{?C>$B^b2V|V%L#@HBP1u9~qBwi>%mfcJ>@;tk^AN#rBj)3OiF1 za+ki(J;gloiDqUg?rk4mK*Xf-)!o23-6K~6!>Nw&MJzmyg=t`55)ZB+<{qjGDM(E9 z=pOan%zjiuewzKLro2!nNS2T+^qAuYSCf2#;RS}Tj&KKo`?9UOvwUg5RSaV6D)C(% zFm9Bljuz8kkjknv+Y0avw3i@(Fejfkra>Ch`r^hk?Ty*T#VRP{7yQ)w$cFRPvi%Z5>#G~`V>Aeg_|J23B9d7Sx08eQeBxDE5o1z%^5 za0U)=>Ue<`I6`7w3EY-$F{RO7I=vjft>cwK7yvg15Rfqveo-nD@lU{wA%??jAZ;an zAm_vTqV@u$HiIj<>ASZs&aX=~A0TQx;^B&ivY;&J%g`XUJ@G&<{^l6bm~7XV%Ko$E zzq7#c+re+c-Z!XYPX6b{>ZU3Gt!}PwE#<%O@!#Ki@w65uaX{PN5H`9C%1dNe71`30)2#d$5P zrK4$-)Cy6iN-nM4jIvrbNmF(;A?=u?aZwA?UXA5E^)pE8g4gp}oYuOeK~Xx5vr)>Z zYx3WIS+0Ms|1lBWngPyvU-I7=fBRRr|E;Z-{6E|4n@j)Cclj?KGWDtU&l+cfsr{>V zlZ}S8zx?)_;D-6j?l0;YH;cl%@hDCU`rL273G*J_{>$z!TrY!_nB9cksOHBoiNfr$ z_D|SJ{wGd*(Zf!S^Y{FHrxvDkAomd*IL^IF7wPrbaxseo$#TbqvJ z-iO-nv&&OW=|$Zn%%a+j;LWOqs_@sN>)Rbs?yozvR(|b+<$L&=sBRW-RM;(cYOgtW z)sE=oUu(aAsEORpztJ!J@PT|k)^sw-qItE+%knwB{>5r6bBve$7=yk;HCU&M%BbhDB6k8Q7yVd91}LXWffO>8|~Wke9&klEnPi%)%(Q=wJEm zJStw_MUV38+ZtF5<)5|x#l44ZIQ$*H-97uY`z$V^*Xq*0mYa`d{VS4Wfq3wRtAGCb zU*9OL|MjK+_dCmf92qjg61{DJ(Fa|!nA}{@=Bo4?O1*Vb`Q&bUrhf(_m zb2rE(tTqq9hPor#Sl(31&-}Vv+%I1LrZE4l*Z+p){9oVPT(1A`@t<6#;We|3bPKUw zIX5cP5u_d=?*jp9{(4jlqHKpe_v=pWdNfL+FtunDyilS(%6*_zPu!Eb24Ch3=taNM z9VL@t`iFTDcLOZqt@gSQH}ns{Hqj4Y&q*JoRG;Lgq(1JS|N0M5UM%ZhV8BQU<1b$R zbJqXb_QrNO4nW-}0p33ogx#*;#92UK0)%W^a+{@AH?$dxF|j4Q)%%&y2b{U*4-D>o*C z%DYPKxetpfbtmtZ_o4gnx-e87N)4{7LOZGvmR4FeXZEDpMYWDL_G^I`^;%$ckqV_f zNbC0xyZYSkPnrEaTyk+4^$T_N9NiX8i{MR(6ChW z(c4-tW>agy&*l~1hxw3S=}m^?*CTjlN1xntih4<(^UB8z5{(799ADr1li|3slbyT+ z^yNQEPk*xxVdsCV%36U#C9m`&(IfD*$06DDM;Kgn+^uC1W1*i$A9?iDEGsGuN&q)s zL&gL72Hc~(WRy>`=zsoRZBUIKU`;x`UKZs!`K;F=zjO%Fjw)Pko6kJ|h2G~WrRqy1 zfI0GieXHdE-Q27%{l7oe`R`B0N%SC3@mG0~Md9$3^%R%WMrakq^S`wI*SFV}@&7->|Hl?m?b312aq(Fn3ECHj&iV1# zoX4Cq|DtttyqGMy{O_k&|LFg3$X{Q!70j{!t!48e68_cc4x-*9 zA;!GlR@626Am#iZ&ssS_%=b+6e=24u$<+3s&7|0w#0B##Sc0nf=N)qhe<6MJ;+(l6 zdViR%fOr^jyQATA5Q4^eJk)QOi~&(P8P>RkqEkF7Z$};{QCie~udTl2MusGe)7tN~ zI{&jD7lX-l?f2SRl^sWZAa7-18cSu5=R4Y%Fe3xJ0ez6mxHNg0N>f^)ztY!UQxWZL zP2*D7u@2?iS}tb`GtbK3Z)<``;g21CRJ70yRw=~M>7P=1CWnVgA53CCtR1PgI>YcK z%sugNoJ1^In3$2WNt)|3LcTP@fi{ds;+uP>2@N}32F0*}HF|%C4>x%re=RS{vCCPd zui@VvI^nc_Vz=Y8&t5(@o0?71*Su_1^4nT>ltuX;JGPLTFb$K(JmT+=S6J`-fsVKt zC5SHWM@38PW!5}3EK9S&cRT+fjP|Pu{|m%_m-xTx>uX!f_@D24{^JIS2ew5L#8dXK z>M_G%JmV3`D`I;@s-3ob)hP+HpH?!=jAv$l8c@H)X@7;Y&E&HmYICNT*%eZesq~nh ztGr-e81mF2uXKuNyx^m)bUM1Tw{}5+3}2{D6wvj?ge3uK+y8Q_{{H%(IR(B+{?F?6 zdddH@y|KEq|9s#5KX@2N-9pIeEg_G>A8f0j8Xw;|)Qb!l!bk@yZDQi#k1RsF_B*`t z8~jmWCKmGz#qON9!Y~qBG#(P8u0COhevk231fLBmAL#*`CIR^o2JXb%u&C}ZzOxnv|@44*cuv|o+(R+W@R#UxAf*QurYw; zis+%(DMy9kqrpQr8q2^9k(_sDH%6UBpC?gX{OwGp?Xi`(QzM@M=7R8%iO+xR)Lsw6 zu_eGwi&N!qFrjs)X2hMa$IdL96oCDVS%bvNmo9ve$+Ahhqgv{8?>>+{vNj0W_E&Xx z98U76`gUGKtuPPQ!6N7!?bQ zA?LcC_uyhrd0~=Vhuu2?Z&iMLX)xlat1i3mghPx_AxECeyFfL5D$Y)kwS+P=2o5AvveDIp_Ig^bVy$0ja`1P+O z+gD+S8y=T&5*q=_NthSn3tK4*NKT@{@Y4*!+!Hs%ll=bwbRLJ-qvSW%S{BCich-cK z_=85a|7X~L+N16uJd4;2`I0=KdHDb3_@Aw1{{Q#Z|6r_zFaa&d*mLMyQyP?Gvo zVKj{rGhZXmOFPzGJRX}DIq|#@O~W{uWXwMsrjOE6rRoFRJN=pnU$DeVW-zupVvMOH zUY`y;5COv?ezkq1kxG$`CPt4%Y0q*s?Dw;%ADUY*A9>rgGZ-e@od)k2qS^kg&#R>y z;aT#Z@Ogb(`(M3o!GGS|TJHbf+y1wxea`9Ly(Pvi^bDZ)^NZ|+i`yZq40@HeceYK% z#Ur2Buc-y^*UCUv^)`!BiR`b=s~2nt_E+sDgBhq=-8)M`Z`pNHs?)uzF5+5syuC>{ zFpHG27cWrEa-;qC+5eSOU*=|f#>Mfq|uO1Vo zN4mq?LTFGmq2`ELFToS^O_GdQ&Q`*kFZ4bELZvWZpGEm7nMN6N;rw2EEwISWYX2)A zIE?S2zny&m-wU^5%ue!GiBZ-he`1u8BU8%z$22JXQZq$A<3o|})c!{rgv0dl!`sql zv8#VaWkaR-^N!DVv_Ud31ZE_4VM&%4SiG6Uc@d?rH3LvD3UAD7_{Ny0eVMm~iWM;h zaArmr2c}DV=$WhVxxJNrxI?^n)Uom5r-qD~Y5)0h)6XLI-?g>!{=dD%|NYMLzb*dL z5*n!+ZIr!cF~f`&P9txTD8D6Y+t0B6ArP10TReWHAn*Cqbr5Apxd;Ii!T zZ|5JF%buNMCW!R;hqnR)C8yxf>h4nI`w#H{s7Up1ng6-EZSnuCF4zBeKL2?pq5bTi znb`TNBC+$;JPilaN&i`)FK~O^O^mK#L$i?ibXxY=ujORNilo22N2Us5J7~DE(YUIn zd|?axXdE%;NjLgVtyp0FYq-B(Lj;(I|6DKSe{F27E!Y3|UH>*yNtKBNX2uEoL*YTe zC3gQ+g{mO%rOD*3MvB4;EbuPnhn8x?S3UnN#;$LQ|4?7Goc|k3`|ppC|1km_?V#f5 zQNijg;+L#iJ4!PmHS5>^#TPUW`QR2bqnunC*%+Fkv^dg`+Hz(d)`{x@zz%VTT8va?$i_-t*mO4#r-&Cds!Ys;(I?zSx8yb zlUH_X=Zxm8AbCN*?%+U_qTirH%tBt9^I?Ge~=X zl<$#5uH4#8e3b88f9SH2+2&FSr0D`j(>7%Z!XY0^@|qx?GFx6YcS9Xne=_7D+qS8i zhzNi4p4kd{|E0~~87Ah{;RJ}G4Ez)JpT@2to3uQ3|2xiq0gU}^@_*OM_W$jT)g}J> zch>*QeoxKWX&35^2~y<;=;{FLWvTvG1bXJv4+C3@;kW{ZyX1>orm=jZ^*{b16X3k~ zkF~9G{>Sz*{_p2n|KdR@v;S_RSD0h(BeTgg`H8eN>WHUnx{4@36hu9qCd|t9p$W043F$)y_%ughjk z&|>&6Ec@YG<^QbJ%lv;^TieU{kMFzxJErXy0k&oZ?)^3s{z`+tU@m}E+oT+8v&>rlf;DZDAT zhC;fL^xuRG_U}8`t1NP{3X%07PG#VvoZG+GUWtIdSA6Ki!uY-RDuiFJjNzk}q-P8t ztNJ%lsrKPC4zt`{@R~znImKIoSzEkhgTnpZ_(@Am?BDeKFOfNXWB!lL^?Et}e|35O zf0zH}#Q!gv9^eh)q-PR?blJs!j1?nD1)0!aIGNDAxP9FjU4e$J$VnFRGfPGyelbpZ zJKBfLa6a=l-^ws^{k?xDfAp;UACXz`jro7sVz=;rFZq9dhV}pAoSg+zfxc~m&hyhy zZ9<}01{`NeY$3;~L`eI+_DTr3LS8&hU78!o9>8Qt^~{L`r(*XR(#fl`h^mtnupFNm zgr5sCCz+{0UoFRFPA<(TeGQ|(qj%?Tsw3ZuBp-mQ6FsT{*0I8V-KiCWIG*JA%Le zQ&@@@SpV90zGN4eBmZq|oBsc`)z$6I<@)~~|Jei{nRyjj0f?`N05ZN{4$5LEe5)1bMyH+)vsKKlinFvCre~Zlo#q+Xl@HvJ)&`I z6?{^qtk90B%`KYaXCNyD>batbLH)ncGa)d9zH&!zE`v9 zJhL=8ECzqz&dp{O`BP4*KeVsZVpZuauUAJS{tS$R3v(l`{PnND)c#ug|Hok#4r?QDoXP(cBauowjkr4p zN+6Hl#8J|#^+tt+JLUeoYxc7kMB@JF2L9kBydGt6T>knCb39dL`Szm%pr>B*mH?vQ zTV5QAw+qw98A5y%5l8F!Kp`dy=PJX5jKc0fwmIqnO`r6q((sW;?98knITMOeEy`I; za-0upX>?DF89BT8v8~+2L@j_vM%j)rEsfJ*2tgz}rRirpwt)1%`wZ=+0<01;_hbl8 zg(fo$AL8L;D1-y2D5Bw5!aB~d|0vc)Lb`~AiPzw~6JJ$68oz|)Q6qUYI_0g-pE+9r zd!B9;N%-@8Fe!SY`?SI)C1>Po;vUy?CJh=xowo2U9*5lC#Vaj=iAF{s852^%;+#2M zZRnmV7c`EHz$xxzwOu=rF#xuknsdK=+f&|s+g<8^UwU%?oBY4J{KwH&zeon0qyMk2 zmg4`n*0z@V{}0pu8JgupD!vV;br|@}OTl+3;lXgvjt_z(?%WvNMX9)a;&eLvX%1~H zE_V)ECnx;6fH!_s5s}j=kaniy?FIgYs9jO#iXzW0j*ePKO^DZ-q-mV?#f?VmsMXmM zO^(wzAEX)BfGeiV3!x*oq%4DL?lVVqGpY(Hgp~~URA117E84(RnLkjMk>@}( zW>;B{s%v-g_zxp9w?}k_KNi7zSz!GeT+LsO05d24f7^opTi;&t|NK<(KMTh5kO;hT zJP+Rd(hwkyC1a@pZs?_x{46b)P?43-GzPxaT?cP1uA^s|3#~@93*A3mmDD6XZWXp6 z;h`%VaO8W`cmj`_bW3sfPBvvRkGHXN{ko$*#UhFt$$;|7Ss_j874E^8xppi{la4Ae z?%;I!P)0gt)Q;!Fu^(rzjhwEMb!d*St<-pR;h$9$F>2ed9KL>DacgYFK_W#~nZ>Aj z@pgs_PfUQ>y^PULjDNH{n51`L8K%KbDluCv^be&Z!K{#M4JKI+3|(i`y<>K>*Vlc5R;+>n!RsK$^3tA3TiT z)^rkLEMuvK|5WNdU!Fv#FEY0524e1tSoZvSZyT>}0LI zlr$h^9T>eC>BF&&y>PBp%bAnD?(_kPG1XV32fjcXQ(1Jw6$fc!%oE!E)E6 zSU8j6x}HPb2D^kxpNbfLP@jeX%UN98A?AXP8`9!m$l3I@Q6Rj3$HP?2H_pHyIr zfEbOoZrLkX@{n=^i!KScsF=W)m?DHkztd%stlchKX1u3 zFVkyP|7*`QRDuZ)*A&b&5@ogPZPRe*94#GnS;O)=LE;k=;;Dm5ch`SSZEKp(ecHPS zc`FBnZ!uonKW9}(*PWPEkw4Dt?;AsB!x4ITuG-_~mh*IQE^$+2p1+x=WbxF!iOCR5 SWhztocjW`US)|DTTm%6A%eG+v literal 49452 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
H!pz7eZIhK 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�Bd?({?ds^OgyQWA~rbAyo0gBxqIhlv2Gi2q%2`G40oHs|~g&l&$=On|x(AnxQTivgLh=kGcGUnL%Y zlJ&p2;_$z$ZO-{WpK<*g!#^_tfPQxd`j-+0fZY+Ie>tLoZ7u_VpLkF54ajo}GI?4J*>s|V(K7}I%{_u<-TYtK;Oc=HmaF(b*4G^V|CQx={;%g- z|6&T%UHW>~%&_9&mrMB6G{NFt7Y#DA@c(Q?L9hXboUI*PkU9|41@XIJwE$BPD!0Ff z%T@NpWBg_>4uW3%9iL!4{BJwz*F%Vc()GWx+T7f9_}`k#bN`--tdQzkQ*tO{nuOJ8?y%QE(7K8V^&-Jh*ruY9hkfv`ycb58mc|g7NL~K z(!f0kIWFix+i2e}{v(pxH2?dZc|XvW=Op;$SeSwKgWxyu>o8~)4)Y0*?d1-8wfi3l z7q~K3T_S&`axgmvVy5*d3q3QwBd!$CQrI2PT?xZNmR0p(E4$e1Z3SlcX_`-E z2p*Y+U~i-{!uYhbnHmRewG7g#a{fElb-qQ%UhJzlFr@{1TS?)QtE&dDQtXdZIg%6m zSEDNwYL(B{eq`+ZX0eRXM;U#4A?37V4{gGnY}?D?4B}r>WZc%zjAFqw>FK_T)iW}| zV8~nxfDY_bv=<61=QB2zT5D^?JGvK&V~8TYw46knW*Le?_*Yyln6Fzr;DxFdPBsS; z<~N{c4N{-5tHv87V4aW@+y_vh$Vq_DQve`Bd?6Z5Z9YR$AONzW7XqeQ$;L}_DN$Zj z1XST=B({jlO=Jq1F>csGvWcKIdFXexN#Fu3KLIpnM8`u1bx1|D!CmT;;5jPf138%7 zMjm49077$k10h&9T$N*e%hsH2d513uV$*k=@1u`oY@14^uIL5XVxf_1b#B-35h zj4HSs4uNvpJE?R$2W|F|q=Wcu3erY{fjF2v#CM=YHe{J6Combl(0jUB(I1PT`zh`J zBH!VIr&q1u|6X2m@_((aHRt@V&u9Nv^Ptl9&kX96lK(^szt-StcyUiE z@Cy0AvAp5te_UUm%l~JS|1jwH%m1j#sl7RT1(o-MOO%}y;2mybKe3(Bakm-UiDN#H z{#12t=twA;s*ST^Gw+k8KhwH*s`YVB1J{p9C+V@yyMX+QRQL!wpHjzTssQ8*b+K$$ zJEZf6a-WiX)acmc4O*mBYaE_O`F&e5ykU#xKc{$E5Yqw`Wr^NR%wU2+LdFhS@qLHV z!G(AOyi6*`W>U6&(#(-4o-*?s8wAnP^Y5~D{)cQbNqhOAw{*aNWlwkRXA0*5#c8S+ebuZM|16emZ?k%z{9dMpFp^UyT4A$$Y-3JDhSvJEPOkK)Qi2oujHrNWURA#N*3 zj@dx8pjBIRs}wYQbkA0Kxh!$3Qf;v3IY#MLsa%-jd$tONtRKSe{D2?f`BlZM{Zizee@fD6ef_)g~7gvqpV^@(Q{L3{l)5@^{!FBuMuc z_kGGq7HHprW?j=?sVMcg?%6DpM^U@#QN!fqV5-Y8G;B;a>{v0K-m_sqb8I+`+-6Dh zB0pVOLH+`o6xq3vEbTPA)Uo%<=0NA=#V>Dz}LsjR9pCMF-R1<4St z=@L!qaNF!)Q1^qc&o8Dq;c*+z^OmVaQTkJRjWxb51#bBolKc?fMFdk^6}b*R++W;% z;XKT^M&Dk{f;?=xv(b`^fP?3YZB*4q9EIHmUWST3;yuI1Oz!#`D9k7B&J*{|r;H0r zMxb$c?e>huHT*e@t$wT0otRb*@*h3pqmQ@HNiglARm{XiJ$exYZx(r;PwlRqeiLMM< z4>P71G275uI5stReU25n@o0u~tgRc%^28}jmvgGtaSfxF0VD6{eNT5|MRT-KN|hnIY8_ZYGVO1!@;kP1sxR0!qKb= zi3w2N|4Hb&wxjE$9^+Utk{);pAWMiM3IASc*+p&4XGcL`N%e- z@Ue{i^tr0O^$@vi{bggM1}YmR;m%}M3_yb*OM+vMv-!5o_!ML-vInlhOk}0a)oQzVnM7;Uxy zw#g3%1MugjQm0qgN5mm=su`Y-9VUEf+jd`4HkDn+hmy$T0=&Z_!%m8x67YUj)_Gi~ zth3m_U#b!KU_3gFgJ8;g_iTqMQ1%LtpP{NmU;+QQSWKG(Gd@gN-Hy0|qa3eS2^mP~ zc;FZVQR&&t2|8deEz#&xbjCq*7%{n__CTsNWb>nppCB|`$jbFzMbbSKt4Ar>lsu)< zJsbwfmO~@t#5g8>hsTJD-i4IHZi=Gw*qhEKl)q@oMan=;BqDLs zLp@;W$tb}oiV`c?j1`B7CoC=%Z87`sw3Wwxzakg(Apjhy_sUOfMCA8Y%bU^!IqCcr zARn@q3Z4fG*B>!+hxLva6Zse;&(mvk zlvl3GED%%(g+0$y(n-Wh0j*(uteEl;mz~#b1q#S6)`E?kA0oj89V?;lpH|RtKpMhO zxIX=^K;H~HkNkZ-M14(36G*^QK5=5RfwN5UrSN_Y1dXD!flDeuCX|+1`MA8Par?B! zW9xf@0L0ns(Y>Jd2=jN*iU!qiM(%7%JAh$ozZ_u;>Nhx0fk#qCf_VYWv ziOl%J5V;Vn6KDOZW#*fz>R1c6!p9f`SZ5fMF-RVNG~9HTcwElnM<18+Mo0)r%@Hz| zJGCvM^#uzbXI~N%Bd(I<6++BT4}PbHVO5BieDydD^Qx~dCeY2`B~u6{u|Llunw3Bj z3n!O0q=5vx2!Zlp%dQz#ocv(5p%l1i`RD>mbh);@DUtdBD`O?Bt>xlmVHF3XHu#Nd z6wV;_-)1R18P_iyV8``}ZdR{fF`f$i_}R+h8SNRZfLT+jP7dgngK3#Pv>uWVA*)H7 z^E8)FH98p=0nUxdPNq;%HrR2kDWSwzV*zMS=qST6Nq*SCP-I{Wtu3)mXjT(aKwyt2hh=SlktScEo$vPmK zO)d><$R%Crc~mjG%#d3|QAn9!+FYM0pJug+VNN9uL2T=EsE7vuD4D~@mO-3suu2G- zb{y1HpS5hIepjL8k~06JnEBtOP;#b??+84q)diGGz$d7dqQ#pi2yUc7GP>($gQ)Vp z>wZtNbho{V=$WFvxF!ztq+tO`wCWDU$<4jqRBL8l@4jvayALCiWxm-qPdBTS_Z{WF z5@!Usyc`9=GM7RtQT5Z3mQW=6H7?Utu0}zysqCBFiOwL0; z?%rZ_S*Ze&Sq3YCja+y9?r2;=v2%uj!q}q#9hUKI2jTO|^A=Qiq|ij7V%5shuicuB zQNa4&AE+^Q^drt;-s0g;P`ee?&@nmLsRJt|8u6Km&!M=&BrPI1Q6HgdsgEm*ma zvs8v>?BNMR#ZjQF9Cq;1R#f|KSJS(a`(2F^yrK|o7f0N>jM!7qc}bRSM&D|B;oAh~U#n3kp#?^D%yY<}hfH<=-LiItBDP^T zwOWWK|17;ix^Jp0;%MPLJQ)Cj3$O?~k^5OxVZNWya|H4WYOJxNr#95R{Cko5k_ORI zORQEZw@P`bx+D4#O4njQk^C;Mx;kF{4x~=6R7fC_I^ZALWgYU1kvF7Dme>ij%s_Uv zsVtf9N3RNt6xZ@u?%jFI-40YKh-ce-m+EaZ)mXAsvge>M*z!FVF>;qb2b&ht7hUwEq~Z=7=vE6a-?Kj@on{3zWXC zhUcRO=91ds4ueE(lmuacw_^4lCc-e7?9GrRSc&#(G6Q7+QOS7VL$0Zbw+&`Y;(bN0 zMo~OcA2&c3GY4J4T(<+1=oQ)AcVo z^&>#=2m8a$;)+TvH)$e|i>L}8*$L-3GWBrZ;5pG#z{<(%x8_t^=7FAaM{!v1u+iSOmaL10z_4z$;~Tk)~XD|uLb|U{hqV+K3V+l$85_z9v z{#rVJp*lkR7}{UcviJT2F#RRCyO3&7BVv=>Lac9V%OG&nnN&cj*O&q=L|;bP9Vj!3 z6@YZUOOBP@YOOjS%aD+|Erf3(EJ6mgB2JxcO=pMydY^ef@L;3FI>?kL;?$@wH4VgS zgl^3t*>$6LNETO?qdGE_K-3Is=^!Um3s~4Y+BQw$Kn-I!B4C5A?^xFDIy&w@!XWrZ z$a;5WM_3K1%(1;V2zoKJ?~m6P%N0jMI-~OtW#T#vZ|j) zq{#|A&PGOVB_fVV?ARd$-zi&ar-GS^I$|Sf;EgV_$d|5nFpHQsAgS(iItzO2r^lkc zj!MjE@D);ViC*c9eBw2@t_%tc59?DzAVU-H?y05fdQ=_RxErh49B_*rnv-gsuQ;0= zbs9s5>42*QcRRIM`hSs4ij%B6S^C&di__uw@=5gn^_2}*|6iNy|IeuZ!|>NV0Ju}9 z_5t9FMluns{hFPQV%WEm!;B*TgLX!(gDVjHJsuZ(B!Z14{m||hwym2;2I{H{ERuTv zJX-u32f}G1g#M^kFCl3QD0qd>QiT_@Gl240 z{%*Ww@$r5jt@&l_z-Lw1?egG~Hn8A%G7S&PK@R2@j^GPFSA3y~w|7(5sPK7Sz6|GU z@$fIjTYaKn9D*hfHb^gbqP8D~_Th@=@^#%`iGdKYf`HKuP5FI@jI;uOtS|+NgcHH! zk+IKPDv@=25R)d(vM-ddFM9HTjUQU(0!6h6-5a?@W#w_g>{D)!=3Y4j0oaIwU_-G2 zSRa$o`k$ReDKv~1HO9!Ge!lmh2=KR&^gzT#^FOY_8bc&-iRKq5kM3D$3DNdeQvJd z%{}9*MQTXNW1=?1mPvvNIU-E{RxbwI4r7+I-8Ev!eL)I(j$K6+or=6jNcZ-7%P7nP z(#O>!hd4xf$0!>FrA7;M$rG1$(w~xHcSJ&JV`KWGrW5w?e?1iSR~`PZ_4TF!bwG;0 z!~eOmwmR4UpH2V27xh<7)~_firSOtge#6ts?Zh#`;dNx#&WxP7W#;b$Ga8^^P?tSy zC9cOFwmX7N;JwhEzXTtCdmRKHIXu5DA{m5k$*}3Gz$e`dx!C^-SH>a^WC&MA;o>k- zQGEPL5pv5y4p+`YPU0kNhyf=?TI@wZ&{Mg< zS0O!HTM$dErt6Ahs<9`RL>@fdbfxxr&EgpQE1~==2%CU-zr1`vwk0;c|8%8J&NW)3 zRJnahe}S2__mB-l>uL4|x|Z0j-8v0?z&<*5=s&N`6>h7*9DGs5sZ^dQs9H6J?wWl|l#pTnRnmFRT1vRVK%wI6Gh~|Qmk&J{)v$Dvc$QCak%x;+sOe2JW zGLTcdkqyU}R#a4mmBXzFy&_MfkL9(sjLN8$OnpfzGeJ4x2deS{e(W=)T1`oR7kfXT zTaT5wd0aB>T-eJXs+h+ykD+4Ear z+BKF}ov)THM>=sE@`)cYA~qgorgFud;5~ziH8Ya@b2{ z2Yo!BD-I8C%^ukLetJMg2@!qJOse|8nE-I61(=7)@cSKnuVg?czW4S|`MoST@{s)A z!usB$AUYvK;(9wl(A#0ZRSE?i*1(?sY8$&V*Yh{YKv<-xe-OtKd(F_G@Y@YML zvHF#A+8}#O35gA96hh{O@&i2;RByx<+5L4Je@8`Tc48&B=&cfdrWRPq(Sh-pry?>~ zZOU=$c8%d(KgK>jRNGM2OTO(;Q>+pN^21$N$Ha1%xOgtRP_0M}r#{lPfHe0E_WkKM5LArf z)SAW0Z|r!7+z9$dYp<7_=sRq0a<*rOQ$2WlIk`jp{q;hrFsPIE1rjy*ch1$EQ`I9lX0(#+{Qp=sZ-T3CB@P>IZl1lsYOhrR$ZB znUDLq##Esjm25?ixGh$RvZ$Gm1l<&?o%P;QIFoCcED*6kA+#j|dBcA^JIT_{pRymz zJMIzsaec>5V*d=C+247j&a}A)AHOq`t(_;`2S}0kys{kemsz!U@AcWdP=bU|l84n| zPb3ApMZwmsL%rMr(ih|w-B-a$*XDi8{M9zxD~OPnK-b7fGpa6CR+lUb{BTxTMdWKY zcl(_B%R<~(f*gnXMpYKwE8S=V$~3TZ~Si!%DzwgAcNKrx z81tqw>K}qV)XL$@`UcLQnanuu1~r;^bvv?=W2Vqnh)mAc$eq=;5m!yqrJy#j-wZR6 z1?xFA<7%x?lmo*OhH{DebsdIRAC$$^LNnl$j`$u^p0rVh)>?*o0cOK00t$V%h1SQv z6ba&A_@5{K^Qd!{b*KG@2>>mX|0`>28|zN|=jz5h{`2|dzd8D|2Y|xc<(ok(Fj-hQ z>>vsbw?YikJ(dJ|qtGyhL2#z4&Q zll$1Y*=RGGm65Y~nk{KR3>L>~wg-P^K3muJd}~|&{N3KncF71U$JN0O8Io4S=sGIK zo+5V;{QLu69D>ya(vtK~o8&J@EK-sUGeJs-A>Biqi z-^~)bUpLLZSiDRb6rVnIq@`8|h2BT1EK?bG@wf@U45#6e%raK##=7NzZ!@z_lTI92 za{;r3xn%~E%Q+tKcx~PiYaqUcl8&6?UU^U_)i<`$i<6YfEvludri`(+F=5f-Gzx;L zGMONXMEI3xR0R*aixk6D3qrL$I{R6Ovsl>q{v`Df1@NNyg4?{rZ&46@Q*jaeTaSY1 zcVTCfs}V<|ir7~Q?4?7PXhex?$UHT^6@><&??2@DIcvZ1=GdST&$r9_hR8m1;w8;O z%|(WAyJA028lpm_HZ^3~raF;F+9%$OQyfY8Q4B0YM*c2=k;ujc?4}~G4wcgdX$F+n zfWQ&r_6|iBFzRh&rXAvFAI#UobL#LYcbO)(d|=gi`P7OKPaIK9wck5JW&GA#4!^ZE z4KCC^XUP>5Ri5^Q;t> zfda{Y3dGfdkSu=$KN9zm1-uo?#2}tQ9$Q=bHx%UWCS9S#txb}Byi zA!@&hvB;%38N3;I)Kt5sHwSA(5_`T~gyHSKcf_d1k!Ne{#JYxK#mZl4VA*e5xUH6S_HIHc4^;Nfj@h2C2|#l?SQ z0$I%V&xMSoA0q8mVT076#Yv*(lhEERq~Z-Nh$V71FT5}$h*;=o1s6F-ir4v zLU9nIo-Y4lMo=G8>aC+bUBp3f5%bFq|C>z)^DQ*BNiXvSF$MjW4NEhyxYnQ&YIAW< zcjr#Pyr$bCjXx$2m&>2^J4qwu>iAu}M<~k|Un*auz01m0`^9FexKqwxgyo??K6MW- z)D~ck%6jb0Ib=_`A~f(OC}l2WkPy~{y4-m1JxGxRgGI%{aCe)t2p|5av?_dj0_`&R zQ+Y)#|KG_t@Ak5#qimd~{fC2ql;b~^o6Qv`|HJa~`rQBbeEvT*0qQ#c?1@wE_S+3e z0v;t*QWA4VC|DWVJFwfgfut54QJpA>tp^d8xIrZfq*wFZhP%TZzml*<8SwM?v& zXl!(}+4P>sc_LCFkbGm$tVR{Lj_VvUKExjJyy{eLIz6vKPs!7K3Jo9hn#dt-gGIp6=EfB%QkzlR#2 z3Yj4zv=khWVnNfhNpGrpv=?eZh{&P>(gv=?D3+I^Hqs;GB|}ij9Pr-k)Mi$Q!dpij1BE-%|Xu21@=0(P{3bu9(JpwE=R7xz^mXMDd)k5Vv zBGMCM-zU@djFdvWb?=PE0gWJ3U$;q=aT8U~Qkd=-hF}zdBx%2Fd}>sBDz1|MqX&S1 zm*c-Tn`@5zU*BAx=l}c;!7m6hUImIaW0E%yA37mgsVOu3k5N}9;&9W9w7yzon5ExCmNa3HdLmJ5kFtLtPX;8z63Y)};l zP61_2dyob6&WvtFNs&r{zZQif-x<)tGxHy#;!06&R<;5#iuu@wm^rH-5t(#9klCKp zPIVRe3E8O8q!P8-yA_=Pkjf_tOBC+HQi1^o22IKp-L?{C8zq13TlBczeorsG|Nb0 zVqHbDF&-%4Lpg87WOtjJoC<DCHqo;>=@es{0E{Rcr=BB2D@_?_Bh|VKM{Q0KIF}cN!WBkz-PQ!Pbu*S zOOkrS7Hg1ZZ%61`9$-*J)=B*W@rn#4)-NRHHxZI4VC!TDyI4dfRZ1p+I%)(wT5>X7 zoP;Xhs+p+PkqB&f(N=CLESn|Bbr-{CF%LtJnrz3_&6ttX|X5l3UPv0fBK-1~r zzt1j_iRXo`={-qEn;Sazf?a^&BomU4$n3-qdb;e(xWtth@7G>YXm5U@7pu>1|B9om z(B53mc;wCTu7eI^oU3L(h&~deSS>QR;SfgID&fQ^0SRNOtq9@hC93np`W7+9Qr9iN zR8J?>pz_E%3t)PcV1%iutGF}h>Q6U=JPrPcztg(gtD4H5h=cr zW;Iho39`b{HeOe?5hsJ-8$(GOXX;T3b6uC=jJzF*{&f;2uu4N0@LaL>XXurb(M)>;2U%=x#E)H}Mx#QwMpL@r} zp{IX>k0b#cNkr_8P&UOtyUCs3>pk;`$nBh*Nt@r7ij>VnswH_exvSd-*zR1)N$T{@mXe#Jmmh5 z^{AYo^!2w;dkv8tfqNpqiKM1*+K2mml6@170x)BW_C<^Y5g7)w4fpkicuCj4gY!V? z5ogXU1#lH3E|4RH#d*)0Nm%AboXN*9j|R94|KFsO4bpKwTskVUd&dA&#Q$t=y7<54 zjXD1B8Sx)t(Cgqn9QHqZ=F|%Xih|(1uwWktt>0b;!7m(t-PY89gHXCNBop^#EagHV zR{BjWx3d5uF&C5Imt)O7{hRo87_+PPt{2v|vH$C|{9(J43;~$wkXOddOj0=RkmI5=d6;;He9HN*NP+Bb$@amP={?&5c5PWjqDa5nzb-uM+e<2dBL{;#mh zjYGcY{s>pL!o{zVvgPr8?>aOzfKpWkBz8n+5B)>ou=|RPX#EUY)FsP z=%gw87JLI1_m<+|wfj~1&(p^ujWk=z2vjq^l;)3WC{neR! z_)SJTMv_J=^&)H-ZG(i0V@(qrwq$`if5%wseTH)}=u|0SH-cH9Opv9p5PWt-*c2xw z2w{Ava~1)qYyp0Ur-|A%(?s#g;iPh)aTf}nyQBhvB&?Hy=|Z<0oA2*Cpr`Vesm?L7 zN&tEf_E-vEN{~rM#)%A&qeiqEfhIx+Rko9FhObk$skd48oc03HPG^ZCMixjw)tH>CQ!9YP;wvG!g&?hIC~3M) zyA4YV22^#eAo*R1CkMKmtcMN@fGUc)#gp?82g^$snL!W$iROfuR3!Xzx_&3Oju6bHzkR8J2^+9ed@! z%vDepL4JV1est0|Dz*(Dta#Lq6(MXS!_$2<2_?0LwQ=>r(xAD-%h&V)C5!jgxc*Qz z9*|7?$B={h*iOd`q4PU9JESEXl(gpySj=LypkWh3hrKMm^9=;nduEjyH7R#kVdsOrDHd4Fz%*tTxxuOk}IEik(<* zJ4}GTEX~*EQ&j#29z`0G8LHq(C?17gqL5jBL+YjcHx-tH$N=`pm>H3F#A-b>2TG+h zGb&l35)S8kRHht4fF0W6v>)0*jQd2IhD`!Sn(XP;U6rnRox$zLYh6_xo9) z^3*)T3O!2X<$~3v$+(K2vJ=q03hYoKw7dSnr&=ZWtD@=3U)^~WeLyP zcIp&Z%V=juA@Xtqk$O?j_+pBf3IQRjyKfW4h92YXjVckOuqFmm+8VVl0@uwqOp;bt z(?Oc$H_>ux%tiVz^z3c?V0H2(#ll{GW#65^XUm{9(Hl-CS|r5L>H_=9w-C`L;eFO& zCP0S-XSAd74%rS5q3l7$ssN)KZ|_>jgL1v;uI&CRoTb5f^8M=@p5*mgsO@Z&@P?*S z;Yid7%C<)534Ra0!u}pxT0nPG3{#%&UfHS8bx_^rj;%Q@DBB)2ZzUZRwZy#*^=_VQ zEJwRftDNvyw9Uki>p+%@HNjVhX3@9MjuxvIn|p}n@k)q4n+kEI*oMoa{GkV_e9y$G ziMM8R2hV-f8c;XCiL(N^v}_?|ejKk3jV?%OGGw$OTY;{&89DV5J3$d@{lg4P{mS7* zvVePwZMn(8woMtO2zKi0$g_(_@obvd5of?eta&gQEvW`fuj(iz3?E4lopJu7=??pS z#eWaE#27^~K3H37QNrnq(AMn=9OG;-wW0*S-qACxo9-s%$Y)B{QT!HYYmvGRs9C^0 zU?l4GQjE9xf~Jg`G}oSGuS6eRo|D&`y^+B4aYJ-M23@a4L9iN0xl`s>p0)6H zKiCo@m4`7e4HWPSpdAI=P2(MhT*@%La%5;sdi-i+kF||#eAUHRv82SJ&k(1KO5RNH z^$Nr0J|Qp36q1fs9w)iHOLiQbau1`zDroS`b+DAlPSM z(RUIos?tk#Ip{lwn6dM))|Cw-!a4wc>m+!0tT+Dm3OccWE+fm!8n|zVne)>WM{V{Z zmAivieid?;gB{-eV~9iH+-I0CW)+&e6dEDtYLj{=ejNq}XROJ`j`9pg8qH(L8x?6K zWY5@;v^Pn5Yk?8cx^op8>K>1;7oJ)w<1epfU-vls5`!yb4)J_!`L9_V*jhf4f82E| zsEGevU0HYV|Le`U{C{5gZw&hVctEVe%Jzf#s($YEf0+*0?=PeNFzr4-;-@<6e`RfX zb;H4bH`nI;KhL-RjR{a!`@>VGw&Ir&D5i)=>U15GiTsp?@hv2f%*t9^ClM4Fk8HMn z_DnOZO!KFW1BnJ7z=uHi4~{KHsxAVmpT#($IH4Hy*rV5Ebn&Hnm<0s`18l*yxBbOV zaLgi!e&fpMz78}#U7R|c3pb8>>Rwsp*{SrE+i>wR!Wy+(^4AEfuh);xCa@&+W(5>fn8r<9XnG9D``a6ROXmX)mn~4Mh#C8?sLKAA;#XPfC(s z3hjoPigFDym_akF_#TuHa7_%GwE*fp&qw$sYN2h&p;#%TO~tDB;XT$r!K0yHsgw52LCvB`^}_=2d2r{xPIH zpCVu&Cb1Ewr*5YDdq({*3~3PkUcM7EU$P*V8`K+MSS9H!Ukz<0$p#JfmW57(5UnBpV zB}U^sF-N0qXe-e#dN6ioQ?c9VU_=F0xTAX>%|TG}e}w;UTI7BHpNI1N)xv+REIaroE-(;8Q%!2g3*31S;hJ+J=k&Sf2C$J)`_LW#qL6ios`%ACJnR3gFXR~{37tpEOv zQ;N3r-@iNe8H_g5f1h#+GL=t4Fxw0byn!&vF|=?;U+6kz{%D|y4>i8nd;_=2t)pik zAw6O~L$7ei-0s=XyE(sd=6|dWbc1Gsj5+a8iT?Ly3Op_{nNZl(5@2uUzrR}P`+hTGC6rC;7bZ7k;=Ci_ z$~-t_Rxpk*p}ek{nJOMpaM=-aQqn!kgZo;2SEq>&d+Y;yh=}q?+VsIn>Lp91>Pk== zY58*}V*-_7Et9^M*8)xSj19O6RST^19dE&U=tHP{#MWoagJKy$!C8ZjdqjvO_hyCU z$*(OOhf#|RlcrMKc@L4&q3R_+n58fgWX_9B{Jb#88HPYXi1&aB2#0n%hjEmJ8QwXz zu_uakD~idNz2EyVZD;<}*a|m3&4e&H3bL^VwI*5>87IBa&ELtS=Dk%Bwf}!gg7_f$ z;j;S(drVdS&t)h6XL%m~^F;rC>gHFCw4e6|Kfml`gCZNheDk8w_~~rr&AYVdoc*+P zw({l$yE0(lT!>g>{ zC}f#Bwy1GB95=?(!GK-u8||15@}iLrx{Z8LWW6!ZH^N_^H1a{CV>BomT;=28;4&K& zlOJBp?LRXA&&?>CP%&IVhjr!T2bS0I!RBvI{kEN&gq zdNn#7^exScg(APqwi|=#~)wE3#?%X$_{odt&Fz%e? zSK0WEa=)hj*W7gZKQ^1obNT-i|Ip&?^wY_tp~hXxkkL55N{g&9&eHC1(7$QqgVW*o zlB-v*=_gWAg19RbuPI9fyTB|=N<_aBw;DP$zoTrNr+rheI~nKQ zUbZA|m}=n1ep)aA01q#zOMi3J0VPrRRMKjSE<#8cEjO6eSS?{KJO&w88@6Q|U7_MW z^J>1h@4Wu8GXL1?e~sAxo9lD@*OUBH%QQVHqk8{M2ut(u=LD*l#EF2$AZ^m4Q?Uzz)VzpMQ}o{sw2wc5pB zPKt4sUcMxEaW!qE2xv{|{qu0X zY;bk|gMZ!q-&z07&DA;o>$CX(*g|R?2jOQ}eB>j^!IyWz=MSGM9t%FjUs~@!)YC=h z|Gta$5B~oh_3M73pu+yQ;o`qGR#xWg|7rJsjQ=9wUq_v@tUK)+#=IYv^fmKAlk(ko zmZXHo@111bqfyq$PxFqzZyIWb)=a4f&4NBLtIUoq^mFR^JBaVNR zN=i4MFpov|E%q4Xmzgk6BG-h}M?UA5_HD;zkPW7n4PnSQDsHq>WRmx@LDBfRvAig3 z5&bkDG=6TZh(CLIaW*|^{M=aenS0a+idGibrm6;JvTY3=vqkVXcppp@d`(@RsG;A6 znc=EqR&|T;(p%%LS7tp6rs}uYn3!X{O-_-;#!!sU+iiQiEbIp>odfagk93}y@Q0kP zFhC<@7i(FGEN9YQlwXee8G{=ecBt`mFtO)~dT9t#09l`8m&x{Ob$Kjj_qLw;*hmK> zqF^^{PShKoZ83q2_a+PKqMi+`u?zga+vXIu`j_3#2R-)k2mFbX?CUfe6nWZT5LM_3 zTzy^kUcCpIgR$SwY8I<4p3{Nx(di)V-%K)5gf3x`58>Nw3Th$&p$ zCl6x(=P=p_Q~qnj?{+Bua=V|wUkYBK85}F`vpMTenA%}6vBPu-v^@uulQuq8J z3FS{~9j4@&@=wbqleCu)dP^Uf6@NS_f9Qb!s;JOZnViS$SlXI>f%K_5uN)QGsOF=s z!PW4BZf%u9=Dgq!6tK^YeHH{{3Cj6V?di{dcnUm9{Lk`c)6M_2wmd)oJ+1stu18s? zkot5>YK#02CMwJmpO75-#pB@U0EGiNLQFpVD??~Ee&(rdD=zXv^*@z3UGIim-ZQfndCr-KeC%IUZ_*%lwf^+2BPQeJpf<_*sIr~x-rw;fBIqc^9;m=@UEqPKuvCsjxk^61N-1Cy0aW4O5@rZZ{S#(-8r1vv8{N=sRIX0fakY zk9{J96z6Oiu?ESNuUz%uc(hi z0Tbil6!lm(=n_}cUT>WBQY>i2_)^zC@nNFw?1-K*&aXe)vuExscp&{x`n(?3{=lm~EZU3ulp9?w{i-vIvJOkkUyqBG@z8%tM(DT~fnE=a+8!@jJObgyCFOXHg z%@7?K{c2Uc+=f8EN}CKyShYGAL_v$}x>0J-x$qZpqC1{$5)4e8GWPNs#moimA4mRc zr@o5Kcx3s%zOhQk|9Sl1ll-e2|0e++2p@csb?XQG8|YkadNd_G1)+hXiD`}~dx<|` zzG(y_y3tB-^N!vp&QK{0*q^e=uz!_}nG5IV#)9M``_%Zadf;7tk^S`P4fnkWD@J*c zzYdHdgZvGnj2amy?jORS;7f6c{#XpfWV`WCWe`pWH*Xf5&tg~q1;-E_;x9UWvTY3# z;t(ha>VlF8geu(Z=aV8EELaAhZkC?nYw*TMgni-L^6-_hqhV=8m_Vcsy5O1f_}ms% zA8s37Jkzo9=DVhhDYgIH-}F;M{;#d9x$)nd8*~2Or`7)rJociD7XVprVkAMg&(6}T zd^jC1N~6z+#0z1_;Vcm+GX|1S(G=2-3-RbvX7jydyIr^ObK~V;$UMyHxX8LM7bU>G z)5)@~xXu5VOyn(Lpkddg5n{U`?=b62cQ|FXh?o2~!|=;{*?2r0vm5+}enpyqcrD`R z%M#p>04gmAS2^oSrt%k4=6kiMfEOF1amI#)*>^Ofv9hN4qeH|KD#XRaxtqZmD!{^t z8&RVmicuQ{|6m5KV*hsyQ)VrTs0I}i!XRD?uh6cMP9`#pzzV=&!$Vz{-MdhOqs;ye z4fViLBmO>-=0(-zHG9IXVV3@2lVSoF^)~$g-6TGVbC>j)Wz&gu@bshAe;vIBw~h5E z3U_saE(jAR0$g{P9VA4&vS`%$)~xnbjgK<<-*9L1kz62ZL4TvWB=ZSi18#a^bi6vbG{~;o#X0ghPXrMBW0jZL@w(wpy$i`{k zRyF1Hnt*8Cw&W~&m|w$G>vr5!WpEW^WyUrbV_f*O_1-3;!HDQN?`y?1jQ#cbWq<3|SU& z%(&FCUeP=T`ZYTuTpvI?!?7jJ>@rv>9-Z|45Wd9>SwbJ^`<&Unf^7UOt=+p}2Jq)@ z@jbdb&PEy2zdPA?+U{$FP*FJ(5@mCnz9DNwHQm|HJNx6x7>AY@H)o5>7@wSqo!(K zMtI_TxE1RDU7H~yjPcdWDNhWF96;=!m0eFYX}<0LHTHj*80B&JUz)3{1pmuC{^yD9 zKQ8Xg0=v;lJ(?iC0G*DVV8`oTV~IY*^aD3;aXIp&VR5in^DyQ|TK}VanSd+pzi#~B z`sO_TH0% zyE*Hs%X}d0JJSLC@86eR{6~f?47%Hmzl{{Q@NYsUDX`w_7yoPgw_!bMpcUu4mQ{Z<{App=scDo9kKL4bB0dKh27_}^=aTun0_%HsZck=>|j{`LCB~_)JUE48zB&{y|o1eYhEi<8~K+Eihtv^w`0tU< z2_;>|@BW@x|nNAgFP#ed7l z(tATds_Z}OZvMyS<~;x7_ptu&9J5_B6#Q`mv}dOwp_D|q3 zN`3LeAT+r#*aJY8p`ZDv$Vu6K#&k!-{@GcmSd4c`!uOh)GjS;RgT**k#8M9j3w-pq z?e6?RcjTfB^5%5KvPUh#VpiCz?M88yPpXQv27oTu;Paiaa6NKX!4^-UQ{wl#9n_Hj z_jCSL>wg;r{%3P#uKzu){ihbeM|pz2iYzd;u4Ydz_hib+?C9)hO)_(CyUp-= z%2Y;myJD9g=z$vM^qebB&8~Xo_wb1s^;FF^=NZxDv^aYUlAFyc<4-lE-dbPvr?vm# z^m&hb{%HT{eb-;Y0qf7|QVMt4z3v zcoU7sPxGwbZFD*N5vR}>KEf0BvpCD-{oyJ9LzJ*E9P=&s)eGj#@_k<~D>$9$f@q1P z`rySG7`}9HQ*toKGQ)ZM`AqY3ONTAv8PC$rnQC*^<@^-NM{7b-6vGEANX@ol*vKXf z=bTT@8iVYcVIY~Xo4+1t7qoHI;Eynp6nkEy9p{n*Q?{KcjvlLVqIf;SiO55MZnWw; zznor5ts*Fj>~f@-!b=QCay7iw4J1j^-&V2n)H*()?_0FP$NwLJM`DfDs*)&dG3K%zgbXg;^&hScP-vF|vRG8aL`YD6uK0`P*rX!`r zXXf*zXygX#_%E=$jcvtqa*RONO~bJAMLk3eiYaJREMf=op$gj+Dqau zvi6CL>Q_a6`ttsL>-{dr>r4lOe9)6Oc3SUSM|-l#`5>R1>32RR?_>E6lXdV;>;32C z)2A;VKa1CLm3Prif!>SJBIt-9C=u$vUzJHdNFC8F#1 z8EW>eyERAYBx`lw5=kiSWZH#pu43_l518}x%;kSI{@2uKX5R{`@_(-_JNDn^T>d}t z`QLSszZCFZ>?MC`o`Mak-rWw6Q4|cQo-Bhj=~sjYU&Y#Wx9w3i3@0#M-nf}ASZeRjm!miz zFQAw%$MRC)YjYZ}FZ{=sJWz{$@9^~|o?9c52gxYXXZKnxaofp3FYj4EII*1bowMoS zf?IA)fRhf!){Fa%6BsxyRE92OKorAuH0)e3V^z7QaOO^*bT62-+S9Ad$LF~<^tlOT ziFNwh6dJYq+U!dHvfGV4Y`5#DlQXhM>)Y>q{J-o!4@Cc4rT?!kJMn*OE6a2Kx970` zm|h&FMJH^nO&EF5X>L(}S0&3k%?I6uan@smG@r6way?pX>aa z0|@@FHzS{3}E#RiLDY&?qx}_|{ zMzP~5j}l#8kw#^122T4N;lI3UTpXp-2@f1tZW>qFk)K~&Ll-|>WjuS(^15*&?RE`| z4ZFKx+!e|$dSKIdARjOdUtHfZu6L)Gyb&wQ=;Aw0OU7@lpj$z|&#$jq4VYxS^cC|H zr=xCKWJg8Xxlq&N<;t4#fZ&+mH`kq;ilu_xUR`!>^LFxkE6%-xA#)(`o2yn|u8bp<4YLlW+#Q+ktU3+&I38Xzn;5%m_RDBIyuM-cmET!I zckFe|Y5_Q5VDu$!HgRm}VL^lr`!Q?1ZDv zzg21{d@EDQeE)qp>AiJZabj5z?Y2l?Q0L<9wveP2V`bX!tD9VO5VEB#g z2|NnscrH0d6`~QguFRH z;hRa|e$}ojRd-`s75Rg4c{5afa#OGpzT|`A$6!28Z^$9;XD2JGKQ5%k-~n!8z7fp- U&Hv5+{pJ4se<@|li2$|)0F@_vXaE2J From f113a41611a411ce180a011197517bb7014574b8 Mon Sep 17 00:00:00 2001 From: Christophe Date: Mon, 2 Sep 2024 21:05:55 +0200 Subject: [PATCH 4/8] changed makefile for clang --- benchmarks/makefile | 1 - 1 file changed, 1 deletion(-) diff --git a/benchmarks/makefile b/benchmarks/makefile index 4ad42687..c6bad5c1 100644 --- a/benchmarks/makefile +++ b/benchmarks/makefile @@ -40,7 +40,6 @@ CXXSOURCES = \ ../src/Edward/proxy.cpp \ ../src/Edward/proxy_supervisor.cpp \ ../src/Utils/sockets.cpp \ - ../lib/json/single_include/nlohmann/json.hpp \ benchmarks.cpp all: $(OUTPUTDIR)$(TARGET) $(addprefix tasks/,$(addsuffix /wast/impl.wasm, $(TASKS))) From 7afa216a8bbabdda1447c01869273da8583167d1 Mon Sep 17 00:00:00 2001 From: Christophe Date: Wed, 4 Sep 2024 16:25:49 +0200 Subject: [PATCH 5/8] first implementation of threaded interpretation for some of the instructions, benchmarks look promissing --- CMakeLists.txt | 7 +- benchmarks/benchmarks.cpp | 6 +- benchmarks/makefile | 4 +- platforms/Arduino/Makefile | 2 +- platforms/Arduino/asconfig.json | 32 + platforms/Arduino/blink.wasm.map | 1 + platforms/Arduino/display.ts | 28 + .../Arduino/node_modules/.package-lock.json | 45 + .../node_modules/assemblyscript/LICENSE | 201 + .../node_modules/assemblyscript/NOTICE | 87 + .../node_modules/assemblyscript/README.md | 52 + .../node_modules/assemblyscript/dist/asc.d.ts | 4 + .../assemblyscript/dist/asc.generated.d.ts | 324 + .../node_modules/assemblyscript/dist/asc.js | 22755 ++++++++++++++++ .../assemblyscript/dist/asc.js.map | 7 + .../assemblyscript/dist/assemblyscript.d.ts | 4 + .../dist/assemblyscript.generated.d.ts | 9138 +++++++ .../assemblyscript/dist/assemblyscript.js | 337 + .../assemblyscript/dist/assemblyscript.js.map | 7 + .../assemblyscript/dist/importmap.json | 9 + .../assemblyscript/dist/transform.cjs | 1 + .../assemblyscript/dist/transform.d.ts | 1 + .../assemblyscript/dist/transform.js | 1 + .../node_modules/assemblyscript/dist/web.js | 22 + .../node_modules/assemblyscript/lib/README.md | 14 + .../assemblyscript/lib/binaryen.d.ts | 2 + .../assemblyscript/lib/binaryen.js | 2 + .../node_modules/assemblyscript/package.json | 76 + .../node_modules/assemblyscript/std/README.md | 6 + .../assemblyscript/std/assembly.json | 17 + .../assemblyscript/std/assembly/array.ts | 526 + .../std/assembly/arraybuffer.ts | 77 + .../assemblyscript/std/assembly/atomics.ts | 127 + .../std/assembly/bindings/asyncify.ts | 16 + .../std/assembly/bindings/dom.ts | 291 + .../std/assembly/bindings/node.ts | 6 + .../assemblyscript/std/assembly/builtins.ts | 2625 ++ .../assemblyscript/std/assembly/compat.ts | 2 + .../assemblyscript/std/assembly/console.ts | 42 + .../assemblyscript/std/assembly/crypto.ts | 9 + .../assemblyscript/std/assembly/dataview.ts | 181 + .../assemblyscript/std/assembly/date.ts | 375 + .../std/assembly/diagnostics.ts | 11 + .../assemblyscript/std/assembly/error.ts | 44 + .../assemblyscript/std/assembly/function.ts | 38 + .../assemblyscript/std/assembly/index.d.ts | 2708 ++ .../assemblyscript/std/assembly/iterator.ts | 35 + .../assemblyscript/std/assembly/map.ts | 260 + .../assemblyscript/std/assembly/math.ts | 3289 +++ .../assemblyscript/std/assembly/memory.ts | 123 + .../assemblyscript/std/assembly/number.ts | 388 + .../assemblyscript/std/assembly/object.ts | 36 + .../std/assembly/performance.ts | 9 + .../assemblyscript/std/assembly/polyfills.ts | 27 + .../assemblyscript/std/assembly/process.ts | 50 + .../assemblyscript/std/assembly/reference.ts | 48 + .../assemblyscript/std/assembly/regexp.ts | 12 + .../assemblyscript/std/assembly/rt.ts | 87 + .../assemblyscript/std/assembly/rt/README.md | 83 + .../assemblyscript/std/assembly/rt/common.ts | 81 + .../std/assembly/rt/index-incremental.ts | 2 + .../std/assembly/rt/index-minimal.ts | 2 + .../std/assembly/rt/index-stub.ts | 1 + .../assemblyscript/std/assembly/rt/index.d.ts | 37 + .../assemblyscript/std/assembly/rt/itcms.ts | 414 + .../assemblyscript/std/assembly/rt/rtrace.ts | 15 + .../assemblyscript/std/assembly/rt/stub.ts | 133 + .../assemblyscript/std/assembly/rt/tcms.ts | 254 + .../assemblyscript/std/assembly/rt/tlsf.ts | 592 + .../assemblyscript/std/assembly/set.ts | 220 + .../std/assembly/shared/feature.ts | 62 + .../std/assembly/shared/runtime.ts | 11 + .../std/assembly/shared/target.ts | 11 + .../std/assembly/shared/tsconfig.json | 11 + .../std/assembly/shared/typeinfo.ts | 72 + .../std/assembly/staticarray.ts | 401 + .../assemblyscript/std/assembly/string.ts | 847 + .../assemblyscript/std/assembly/symbol.ts | 114 + .../assemblyscript/std/assembly/table.ts | 16 + .../assemblyscript/std/assembly/tsconfig.json | 6 + .../assemblyscript/std/assembly/typedarray.ts | 1945 ++ .../assemblyscript/std/assembly/uri.ts | 17 + .../assemblyscript/std/assembly/util/bytes.ts | 107 + .../std/assembly/util/casemap.ts | 497 + .../assemblyscript/std/assembly/util/error.ts | 54 + .../assemblyscript/std/assembly/util/hash.ts | 117 + .../assemblyscript/std/assembly/util/math.ts | 1922 ++ .../std/assembly/util/memory.ts | 290 + .../std/assembly/util/number.ts | 849 + .../assemblyscript/std/assembly/util/sort.ts | 313 + .../std/assembly/util/string.ts | 1202 + .../assemblyscript/std/assembly/util/uri.ts | 275 + .../assemblyscript/std/assembly/vector.ts | 4 + .../assemblyscript/std/portable.json | 11 + .../assemblyscript/std/portable/index.d.ts | 462 + .../assemblyscript/std/portable/index.js | 415 + .../std/types/assembly/index.d.ts | 1 + .../std/types/assembly/package.json | 3 + .../std/types/portable/index.d.ts | 1 + .../std/types/portable/package.json | 3 + .../assemblyscript/tsconfig-base.json | 14 + .../assemblyscript/util/README.md | 23 + .../assemblyscript/util/browser/fs.js | 1 + .../assemblyscript/util/browser/module.js | 5 + .../assemblyscript/util/browser/path.js | 520 + .../assemblyscript/util/browser/process.js | 59 + .../assemblyscript/util/browser/url.js | 23 + .../node_modules/assemblyscript/util/cpu.d.ts | 9 + .../node_modules/assemblyscript/util/cpu.js | 42 + .../assemblyscript/util/find.d.ts | 6 + .../node_modules/assemblyscript/util/find.js | 20 + .../assemblyscript/util/node.d.ts | 21 + .../node_modules/assemblyscript/util/node.js | 34 + .../assemblyscript/util/options.d.ts | 70 + .../assemblyscript/util/options.js | 262 + .../assemblyscript/util/terminal.d.ts | 52 + .../assemblyscript/util/terminal.js | 35 + .../assemblyscript/util/text.d.ts | 26 + .../node_modules/assemblyscript/util/text.js | 114 + .../assemblyscript/util/tsconfig.json | 9 + .../node_modules/assemblyscript/util/web.d.ts | 11 + .../node_modules/assemblyscript/util/web.js | 33 + .../Arduino/node_modules/binaryen/LICENSE | 201 + .../Arduino/node_modules/binaryen/README.md | 1318 + .../Arduino/node_modules/binaryen/index.d.ts | 2169 ++ .../Arduino/node_modules/binaryen/index.js | 11 + .../node_modules/binaryen/package.json | 45 + platforms/Arduino/node_modules/long/LICENSE | 202 + platforms/Arduino/node_modules/long/README.md | 280 + .../Arduino/node_modules/long/index.d.ts | 457 + platforms/Arduino/node_modules/long/index.js | 1467 + .../Arduino/node_modules/long/package.json | 50 + .../Arduino/node_modules/long/umd/index.d.ts | 2 + .../Arduino/node_modules/long/umd/index.js | 1432 + .../node_modules/long/umd/package.json | 3 + platforms/Arduino/package-lock.json | 50 + platforms/Arduino/package.json | 5 + platforms/Arduino/src/main.ts | 34 + src/Interpreter/instructions.cpp | 44 +- src/Interpreter/instructions.h | 78 + src/Interpreter/interpreter.cpp | 403 +- src/Interpreter/interpreter.h | 7 + src/Primitives/arduino.cpp | 104 +- src/WARDuino/CallbackHandler.cpp | 3 +- src/WARDuino/WARDuino.cpp | 7 +- src/WARDuino/internals.h | 1 + tests/latch/latch-0.2.1.tgz | Bin 54021 -> 0 bytes tests/threading/run.cpp | 0 .../assemblyscript/bin/main.debug.wasm.map | 1 + tutorials/assemblyscript/bin/main.debug.wast | 5391 ++++ tutorials/assemblyscript/bin/main.wasm.map | 1 + tutorials/wat/main/blink.wat | 10 +- 152 files changed, 71624 insertions(+), 48 deletions(-) create mode 100644 platforms/Arduino/asconfig.json create mode 100644 platforms/Arduino/blink.wasm.map create mode 100644 platforms/Arduino/display.ts create mode 100644 platforms/Arduino/node_modules/.package-lock.json create mode 100644 platforms/Arduino/node_modules/assemblyscript/LICENSE create mode 100644 platforms/Arduino/node_modules/assemblyscript/NOTICE create mode 100644 platforms/Arduino/node_modules/assemblyscript/README.md create mode 100644 platforms/Arduino/node_modules/assemblyscript/dist/asc.d.ts create mode 100644 platforms/Arduino/node_modules/assemblyscript/dist/asc.generated.d.ts create mode 100644 platforms/Arduino/node_modules/assemblyscript/dist/asc.js create mode 100644 platforms/Arduino/node_modules/assemblyscript/dist/asc.js.map create mode 100644 platforms/Arduino/node_modules/assemblyscript/dist/assemblyscript.d.ts create mode 100644 platforms/Arduino/node_modules/assemblyscript/dist/assemblyscript.generated.d.ts create mode 100644 platforms/Arduino/node_modules/assemblyscript/dist/assemblyscript.js create mode 100644 platforms/Arduino/node_modules/assemblyscript/dist/assemblyscript.js.map create mode 100644 platforms/Arduino/node_modules/assemblyscript/dist/importmap.json create mode 100644 platforms/Arduino/node_modules/assemblyscript/dist/transform.cjs create mode 100644 platforms/Arduino/node_modules/assemblyscript/dist/transform.d.ts create mode 100644 platforms/Arduino/node_modules/assemblyscript/dist/transform.js create mode 100644 platforms/Arduino/node_modules/assemblyscript/dist/web.js create mode 100644 platforms/Arduino/node_modules/assemblyscript/lib/README.md create mode 100644 platforms/Arduino/node_modules/assemblyscript/lib/binaryen.d.ts create mode 100644 platforms/Arduino/node_modules/assemblyscript/lib/binaryen.js create mode 100644 platforms/Arduino/node_modules/assemblyscript/package.json create mode 100644 platforms/Arduino/node_modules/assemblyscript/std/README.md create mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly.json create mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/array.ts create mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/arraybuffer.ts create mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/atomics.ts create mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/bindings/asyncify.ts create mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/bindings/dom.ts create mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/bindings/node.ts create mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/builtins.ts create mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/compat.ts create mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/console.ts create mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/crypto.ts create mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/dataview.ts create mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/date.ts create mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/diagnostics.ts create mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/error.ts create mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/function.ts create mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/index.d.ts create mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/iterator.ts create mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/map.ts create mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/math.ts create mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/memory.ts create mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/number.ts create mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/object.ts create mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/performance.ts create mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/polyfills.ts create mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/process.ts create mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/reference.ts create mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/regexp.ts create mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/rt.ts create mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/README.md create mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/common.ts create mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/index-incremental.ts create mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/index-minimal.ts create mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/index-stub.ts create mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/index.d.ts create mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/itcms.ts create mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/rtrace.ts create mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/stub.ts create mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/tcms.ts create mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/tlsf.ts create mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/set.ts create mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/shared/feature.ts create mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/shared/runtime.ts create mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/shared/target.ts create mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/shared/tsconfig.json create mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/shared/typeinfo.ts create mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/staticarray.ts create mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/string.ts create mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/symbol.ts create mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/table.ts create mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/tsconfig.json create mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/typedarray.ts create mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/uri.ts create mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/util/bytes.ts create mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/util/casemap.ts create mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/util/error.ts create mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/util/hash.ts create mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/util/math.ts create mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/util/memory.ts create mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/util/number.ts create mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/util/sort.ts create mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/util/string.ts create mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/util/uri.ts create mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/vector.ts create mode 100644 platforms/Arduino/node_modules/assemblyscript/std/portable.json create mode 100644 platforms/Arduino/node_modules/assemblyscript/std/portable/index.d.ts create mode 100644 platforms/Arduino/node_modules/assemblyscript/std/portable/index.js create mode 100644 platforms/Arduino/node_modules/assemblyscript/std/types/assembly/index.d.ts create mode 100644 platforms/Arduino/node_modules/assemblyscript/std/types/assembly/package.json create mode 100644 platforms/Arduino/node_modules/assemblyscript/std/types/portable/index.d.ts create mode 100644 platforms/Arduino/node_modules/assemblyscript/std/types/portable/package.json create mode 100644 platforms/Arduino/node_modules/assemblyscript/tsconfig-base.json create mode 100644 platforms/Arduino/node_modules/assemblyscript/util/README.md create mode 100644 platforms/Arduino/node_modules/assemblyscript/util/browser/fs.js create mode 100644 platforms/Arduino/node_modules/assemblyscript/util/browser/module.js create mode 100644 platforms/Arduino/node_modules/assemblyscript/util/browser/path.js create mode 100644 platforms/Arduino/node_modules/assemblyscript/util/browser/process.js create mode 100644 platforms/Arduino/node_modules/assemblyscript/util/browser/url.js create mode 100644 platforms/Arduino/node_modules/assemblyscript/util/cpu.d.ts create mode 100644 platforms/Arduino/node_modules/assemblyscript/util/cpu.js create mode 100644 platforms/Arduino/node_modules/assemblyscript/util/find.d.ts create mode 100644 platforms/Arduino/node_modules/assemblyscript/util/find.js create mode 100644 platforms/Arduino/node_modules/assemblyscript/util/node.d.ts create mode 100644 platforms/Arduino/node_modules/assemblyscript/util/node.js create mode 100644 platforms/Arduino/node_modules/assemblyscript/util/options.d.ts create mode 100644 platforms/Arduino/node_modules/assemblyscript/util/options.js create mode 100644 platforms/Arduino/node_modules/assemblyscript/util/terminal.d.ts create mode 100644 platforms/Arduino/node_modules/assemblyscript/util/terminal.js create mode 100644 platforms/Arduino/node_modules/assemblyscript/util/text.d.ts create mode 100644 platforms/Arduino/node_modules/assemblyscript/util/text.js create mode 100644 platforms/Arduino/node_modules/assemblyscript/util/tsconfig.json create mode 100644 platforms/Arduino/node_modules/assemblyscript/util/web.d.ts create mode 100644 platforms/Arduino/node_modules/assemblyscript/util/web.js create mode 100644 platforms/Arduino/node_modules/binaryen/LICENSE create mode 100644 platforms/Arduino/node_modules/binaryen/README.md create mode 100644 platforms/Arduino/node_modules/binaryen/index.d.ts create mode 100644 platforms/Arduino/node_modules/binaryen/index.js create mode 100644 platforms/Arduino/node_modules/binaryen/package.json create mode 100644 platforms/Arduino/node_modules/long/LICENSE create mode 100644 platforms/Arduino/node_modules/long/README.md create mode 100644 platforms/Arduino/node_modules/long/index.d.ts create mode 100644 platforms/Arduino/node_modules/long/index.js create mode 100644 platforms/Arduino/node_modules/long/package.json create mode 100644 platforms/Arduino/node_modules/long/umd/index.d.ts create mode 100644 platforms/Arduino/node_modules/long/umd/index.js create mode 100644 platforms/Arduino/node_modules/long/umd/package.json create mode 100644 platforms/Arduino/package-lock.json create mode 100644 platforms/Arduino/package.json create mode 100644 platforms/Arduino/src/main.ts delete mode 100644 tests/latch/latch-0.2.1.tgz create mode 100644 tests/threading/run.cpp create mode 100644 tutorials/assemblyscript/bin/main.debug.wasm.map create mode 100644 tutorials/assemblyscript/bin/main.debug.wast create mode 100644 tutorials/assemblyscript/bin/main.wasm.map diff --git a/CMakeLists.txt b/CMakeLists.txt index b8475a34..3c757a2e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -57,9 +57,9 @@ if (BUILD_EMULATOR) src/Edward/RFC.cpp ) - add_definitions(-DINFO=0) - add_definitions(-DDEBUG=0) - add_definitions(-DTRACE=0) + add_definitions(-DINFO=1) + add_definitions(-DDEBUG=1) + add_definitions(-DTRACE=1) add_definitions(-DWARN=0) # Set default compile flags for GCC @@ -67,6 +67,7 @@ if (BUILD_EMULATOR) add_compile_options(-g -v -Wall -Wextra -Wunused -O3) endif (CMAKE_COMPILER_IS_GNUCXX) + add_compile_options(-g ) # WARDuino CLI add_executable(wdcli platforms/CLI-Emulator/main.cpp ${SOURCE_FILES}) target_link_libraries(wdcli PRIVATE Threads::Threads) diff --git a/benchmarks/benchmarks.cpp b/benchmarks/benchmarks.cpp index aafb2261..9611805a 100644 --- a/benchmarks/benchmarks.cpp +++ b/benchmarks/benchmarks.cpp @@ -108,10 +108,12 @@ int run_benchmarks(size_t num_benchmarks, string benchmarks[], } int main(int argc, const char *argv[]) { - string benchmarks[] = {"tak", "fib", "fac", "gcd", "catalan", "primes"}; - uint32_t expected[] = {7, 91, 82, 62882, 244, 1824}; + string benchmarks[] = {"tak", "fac", "fib", "gcd", "catalan", "primes"}; + uint32_t expected[] = {7, 82, 91, 62882, 244, 1824}; + size_t num = (size_t)(sizeof(benchmarks) / sizeof(string *)); size_t correct = run_benchmarks(num, benchmarks, expected); + bool pass = (num == correct); printf("SUMMARY: %s (%zu / %zu)\n", pass ? "PASS" : "FAIL", correct, num); return pass ? 0 : 1; diff --git a/benchmarks/makefile b/benchmarks/makefile index c6bad5c1..0c962a5c 100644 --- a/benchmarks/makefile +++ b/benchmarks/makefile @@ -14,8 +14,8 @@ DEBUGFLAGS = -DDEBUG=$(DEBUG) -DTRACE=$(TRACE) -DINFO=$(INFO) -DWARN=$(WARN) CXX = g++ CC = gcc -CFLAGS = -g -Wall -c -CXXFLAGS = -g -v -std=c++11 -I ../lib/json/single_include -Wall +CFLAGS = -Wall -c O3 +CXXFLAGS = -v -O3 -std=c++11 -I ../lib/json/single_include -Wall diff --git a/platforms/Arduino/Makefile b/platforms/Arduino/Makefile index 941f95d5..b0ebd9c6 100644 --- a/platforms/Arduino/Makefile +++ b/platforms/Arduino/Makefile @@ -42,7 +42,7 @@ compile: Arduino.ino ifndef FQBN $(error FQBN is not set. Use a .config file) endif - arduino-cli compile --fqbn $(FQBN) Arduino.ino + arduino-cli compile --fqbn $(FQBN) Arduino.ino --build-property build.partitions=huge_app --build-property upload.maximum_size=3145728 recompile: clean compile diff --git a/platforms/Arduino/asconfig.json b/platforms/Arduino/asconfig.json new file mode 100644 index 00000000..166fb4fe --- /dev/null +++ b/platforms/Arduino/asconfig.json @@ -0,0 +1,32 @@ +{ + "entries": [ + "src/main.ts" + ], + "targets": { + "debug": { + "debug": true, + "outFile": "blink.wasm", + "textFile": "bin/main.debug.wast" + }, + "release": { + "converge": true, + "optimizeLevel": 3, + "outFile": "blink.wasm", + "shrinkLevel": 2 + } + }, + "options": { + "disable": [ + "mutable-globals", + "sign-extension", + "nontrapping-f2i", + "bulk-memory" + ], + "exportTable": true, + "exportRuntime": false, + "maximumMemory": 2, + "noAssert": false, + "runtime": "stub", + "sourceMap": true + } +} diff --git a/platforms/Arduino/blink.wasm.map b/platforms/Arduino/blink.wasm.map new file mode 100644 index 00000000..05e1437c --- /dev/null +++ b/platforms/Arduino/blink.wasm.map @@ -0,0 +1 @@ +{"version":3,"sources":["~lib/rt/common.ts","src/main.ts"],"names":[],"mappings":"6PCqBY,EAAK,EAAb,EACA,EAGA,EACiB,EAAK,EAAlB,EACM,GAAN,EACa,EAAK,EAAlB,EACM,GAAN,EACgB,EAAE,EAAE,GAAI,GAAxB,EACI,EAAE,EAAF,CAAJ,E","sourceRoot":"./blink","sourcesContent":["// Alignment guarantees\n\n// @ts-ignore: decorator\n@inline export const AL_BITS: u32 = 4; // 16 bytes to fit up to v128\n// @ts-ignore: decorator\n@inline export const AL_SIZE: usize = 1 << AL_BITS;\n// @ts-ignore: decorator\n@inline export const AL_MASK: usize = AL_SIZE - 1;\n\n// Extra debugging\n\n// @ts-ignore: decorator\n@inline export const DEBUG = true;\n// @ts-ignore: decorator\n@inline export const TRACE = false;\n// @ts-ignore: decorator\n@inline export const RTRACE = isDefined(ASC_RTRACE);\n// @ts-ignore: decorator\n@inline export const PROFILE = isDefined(ASC_PROFILE);\n\n// Memory manager\n\n// ╒════════════ Memory manager block layout (32-bit) ═════════════╕\n// 3 2 1\n// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 bits\n// ├─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┤\n// │ MM info │ -4\n// ╞>ptr═══════════════════════════════════════════════════════════╡\n// │ ... │\n@unmanaged export class BLOCK {\n /** Memory manager info. */\n mmInfo: usize;\n}\n\n/** Overhead of a memory manager block. */\n// @ts-ignore: decorator\n@inline export const BLOCK_OVERHEAD: usize = offsetof();\n\n/** Maximum size of a memory manager block's payload. */\n// @ts-ignore: decorator\n@inline export const BLOCK_MAXSIZE: usize = (1 << 30) - BLOCK_OVERHEAD;\n\n// Garbage collector\n\n// ╒══════════ Garbage collector object layout (32-bit) ═══════════╕\n// 3 2 1\n// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 bits\n// ├─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┤\n// │ Memory manager block │ -20\n// ╞═══════════════════════════════════════════════════════════════╡\n// │ GC info │ -16\n// ├───────────────────────────────────────────────────────────────┤\n// │ GC info │ -12\n// ├───────────────────────────────────────────────────────────────┤\n// │ RT id │ -8\n// ├───────────────────────────────────────────────────────────────┤\n// │ RT size │ -4\n// ╞>ptr═══════════════════════════════════════════════════════════╡\n// │ ... │\n@unmanaged export class OBJECT extends BLOCK {\n /** Garbage collector info. */\n gcInfo: u32;\n /** Garbage collector info. */\n gcInfo2: u32;\n /** Runtime class id. */\n rtId: u32;\n /** Runtime object size. */\n rtSize: u32;\n}\n\n/** Overhead of a garbage collector object. Excludes memory manager block overhead. */\n// @ts-ignore: decorator\n@inline export const OBJECT_OVERHEAD: usize = (offsetof() - BLOCK_OVERHEAD + AL_MASK) & ~AL_MASK;\n\n/** Maximum size of a garbage collector object's payload. */\n// @ts-ignore: decorator\n@inline export const OBJECT_MAXSIZE: usize = BLOCK_MAXSIZE - OBJECT_OVERHEAD;\n\n/** Total of memory manager and garbage collector overhead. */\n// @ts-ignore: decorator\n@inline export const TOTAL_OVERHEAD: usize = BLOCK_OVERHEAD + OBJECT_OVERHEAD;\n","// Blinking LED example\n@external(\"env\", \"chip_pin_mode\") export declare function pinMode(pin: u32, mode: u32): void;\n@external(\"env\", \"chip_digital_write\") export declare function digitalWrite(pin: u32, value: u32): void;\n@external(\"env\", \"chip_delay\") export declare function delay(ms: u32): void;\n@external(\"env\", \"display_init\") export declare function initDisplay(): void;\n@external(\"env\", \"display_draw_rect\") export declare function displayDrawRect(x:i32,y:i32,w:i32,h:i32): void;\n\nenum PinVoltage {\n /** Low voltage on a digital I/O pin */\n LOW = 0,\n /** High voltage on a digital I/O pin */\n HIGH = 1,\n}\n\n\nexport function main(): void {\n const led: u32 = 4;\n const pause: u32 = 1000;\n\t\t\t\tconst OUTPUT: u32 = 3;\n\t\t\t\tlet x:i32 = 0;\n\n pinMode(led, OUTPUT);\n\t\t\t\tinitDisplay();\n\n\n while (true) {\n digitalWrite(led, PinVoltage.HIGH);\n delay(pause);\n digitalWrite(led, PinVoltage.LOW);\n\t\t\t\t\t\t\t\tdelay(pause);\n\t\t\t\t\t\t\t\tdisplayDrawRect(x,0,150,150);\n\t\t\t\t\t\t\t\tx = x+10;\n\t\t\t\t}\n}\n"]} \ No newline at end of file diff --git a/platforms/Arduino/display.ts b/platforms/Arduino/display.ts new file mode 100644 index 00000000..93c24304 --- /dev/null +++ b/platforms/Arduino/display.ts @@ -0,0 +1,28 @@ +// Blinking LED example +@external("env", "chip_pin_mode") export declare function pinMode(pin: u32, mode: u32): void; +@external("env", "chip_digital_write") export declare function digitalWrite(pin: u32, value: u32): void; +@external("env", "chip_delay") export declare function delay(ms: u32): void; + + +enum PinVoltage { + /** Low voltage on a digital I/O pin */ + LOW = 0, + /** High voltage on a digital I/O pin */ + HIGH = 1, +} + + +export function main(): void { + const led: u32 = 4; + const pause: u32 = 1000; + const OUTPUT: u32 = 3; + + pinMode(led, OUTPUT); + + while (true) { + digitalWrite(led, PinVoltage.HIGH); + delay(pause); + digitalWrite(led, PinVoltage.LOW); + delay(pause); + } +} diff --git a/platforms/Arduino/node_modules/.package-lock.json b/platforms/Arduino/node_modules/.package-lock.json new file mode 100644 index 00000000..8b2a67c8 --- /dev/null +++ b/platforms/Arduino/node_modules/.package-lock.json @@ -0,0 +1,45 @@ +{ + "name": "Arduino", + "lockfileVersion": 3, + "requires": true, + "packages": { + "node_modules/assemblyscript": { + "version": "0.27.29", + "resolved": "https://registry.npmjs.org/assemblyscript/-/assemblyscript-0.27.29.tgz", + "integrity": "sha512-pH6udb7aE2F0t6cTh+0uCepmucykhMnAmm7k0kkAU3SY7LvpIngEBZWM6p5VCguu4EpmKGwEuZpZbEXzJ/frHQ==", + "license": "Apache-2.0", + "dependencies": { + "binaryen": "116.0.0-nightly.20240114", + "long": "^5.2.1" + }, + "bin": { + "asc": "bin/asc.js", + "asinit": "bin/asinit.js" + }, + "engines": { + "node": ">=16", + "npm": ">=7" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/assemblyscript" + } + }, + "node_modules/binaryen": { + "version": "116.0.0-nightly.20240114", + "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-116.0.0-nightly.20240114.tgz", + "integrity": "sha512-0GZrojJnuhoe+hiwji7QFaL3tBlJoA+KFUN7ouYSDGZLSo9CKM8swQX8n/UcbR0d1VuZKU+nhogNzv423JEu5A==", + "license": "Apache-2.0", + "bin": { + "wasm-opt": "bin/wasm-opt", + "wasm2js": "bin/wasm2js" + } + }, + "node_modules/long": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz", + "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==", + "license": "Apache-2.0" + } + } +} diff --git a/platforms/Arduino/node_modules/assemblyscript/LICENSE b/platforms/Arduino/node_modules/assemblyscript/LICENSE new file mode 100644 index 00000000..8dada3ed --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/platforms/Arduino/node_modules/assemblyscript/NOTICE b/platforms/Arduino/node_modules/assemblyscript/NOTICE new file mode 100644 index 00000000..adca27c8 --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/NOTICE @@ -0,0 +1,87 @@ +The following authors have all licensed their contributions to AssemblyScript +under the licensing terms detailed in LICENSE: + +* Daniel Wirtz +* Max Graey +* Igor Sbitnev +* Norton Wang +* Alan Pierce +* Palmer +* Linus Unnebäck +* Joshua Tenner +* Nidin Vinayakan <01@01alchemist.com> +* Aaron Turner +* Willem Wyndham +* Bowen Wang +* Emil Laine +* Stephen Paul Weber +* Jay Phelps +* jhwgh1968 +* Jeffrey Charles +* Vladimir Tikhonov +* Duncan Uszkay +* Surma +* Julien Letellier +* Guido Zuidhof +* ncave <777696+ncave@users.noreply.github.com> +* Andrew Davis +* Maël Nison +* Valeria Viana Gusmao +* Gabor Greif +* Martin Fredriksson +* forcepusher +* Piotr Oleś +* Saúl Cabrera +* Chance Snow +* Peter Salomonsen +* ookangzheng +* yjhmelody +* bnbarak +* Colin Eberhardt +* Ryan Pivovar +* Roman F. <70765447+romdotdog@users.noreply.github.com> +* Joe Pea +* Felipe Gasper +* Congcong Cai +* mooooooi +* Yasushi Ando +* Syed Jafri +* Peter Hayman +* ApsarasX +* Adrien Zinger +* Ruixiang Chen +* Daniel Salvadori +* Jairus Tanaka +* CountBleck +* Abdul Rauf +* Bach Le +* Xinquan Xu +* Matt Johnson-Pint + +Portions of this software are derived from third-party works licensed under +the following terms: + +* TypeScript: https://github.com/Microsoft/TypeScript + + Copyright (c) Microsoft Corporation + Apache License, Version 2.0 (https://opensource.org/licenses/Apache-2.0) + +* Binaryen: https://github.com/WebAssembly/binaryen + + Copyright (c) WebAssembly Community Group participants + Apache License, Version 2.0 (https://opensource.org/licenses/Apache-2.0) + +* musl libc: http://www.musl-libc.org + + Copyright (c) Rich Felker, et al. + The MIT License (https://opensource.org/licenses/MIT) + +* V8: https://developers.google.com/v8/ + + Copyright (c) the V8 project authors + The 3-Clause BSD License (https://opensource.org/licenses/BSD-3-Clause) + +* Arm Optimized Routines: https://github.com/ARM-software/optimized-routines + + Copyright (c) Arm Limited + The MIT License (https://opensource.org/licenses/MIT) diff --git a/platforms/Arduino/node_modules/assemblyscript/README.md b/platforms/Arduino/node_modules/assemblyscript/README.md new file mode 100644 index 00000000..5df1fa3c --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/README.md @@ -0,0 +1,52 @@ +

+ AssemblyScript logo +

+ +

+ Test status + Publish status + npm compiler version + Discord online + #StandWithUkraine +

+ +

AssemblyScript compiles a variant of TypeScript (basically JavaScript with types) to WebAssembly using Binaryen. It generates lean and mean WebAssembly modules while being just an npm install away.

+ +

+ About  ·  + Getting started  ·  + Examples  ·  + Built with AssemblyScript +

+
+ +

Contributors

+ +

+ Contributor logos +

+ +

Thanks to our sponsors!

+ +

Most of the maintainers and contributors do this open source work in their free time. If you use AssemblyScript for a serious task or plan to do so, and you'd like us to invest more time on it, please donate to our OpenCollective. By sponsoring this project, your logo will show up below. Thank you so much for your support!

+ +

+ Sponsor logos +

+ +## Development instructions + +A development environment can be set up by cloning the repository: + +```sh +git clone https://github.com/AssemblyScript/assemblyscript.git +cd assemblyscript +npm install +npm link +``` + +The link step is optional and makes the development instance available globally. The full process is documented as part of the repository: + +* [Compiler instructions](./src) +* [Runtime instructions](./std/assembly/rt) +* [Test instructions](./tests) diff --git a/platforms/Arduino/node_modules/assemblyscript/dist/asc.d.ts b/platforms/Arduino/node_modules/assemblyscript/dist/asc.d.ts new file mode 100644 index 00000000..17fcb314 --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/dist/asc.d.ts @@ -0,0 +1,4 @@ +/// +export * from "types:assemblyscript/cli/index"; +import * as asc from "types:assemblyscript/cli/index"; +export default asc; diff --git a/platforms/Arduino/node_modules/assemblyscript/dist/asc.generated.d.ts b/platforms/Arduino/node_modules/assemblyscript/dist/asc.generated.d.ts new file mode 100644 index 00000000..7a293b35 --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/dist/asc.generated.d.ts @@ -0,0 +1,324 @@ +/// +declare module "types:assemblyscript/util/options" { + /** + * @fileoverview Command line options utility definitions. + * @license Apache-2.0 + */ + /** A set of options. */ + export interface OptionSet { + [key: string]: number | string; + } + /** Command line option description. */ + export interface OptionDescription { + /** Textual description. */ + description?: string | string[]; + /** Data type. One of (b)oolean [default], (i)nteger, (f)loat or (s)tring. Uppercase means multiple values. */ + type?: "b" | "i" | "f" | "s" | "I" | "F" | "S"; + /** Substituted options, if any. */ + value?: OptionSet; + /** Short alias, if any. */ + alias?: string; + /** The default value, if any. */ + default?: string | number | boolean | string[] | number[]; + /** The category this option belongs in. */ + category?: string; + } + /** Configuration object. */ + export interface Config { + [key: string]: OptionDescription; + } + /** Parsing result. */ + export interface Result { + /** Parsed options. */ + options: OptionSet; + /** Unknown options. */ + unknown: string[]; + /** Normal arguments. */ + arguments: string[]; + /** Trailing arguments. */ + trailing: string[]; + } + /** Parses the specified command line arguments according to the given configuration. */ + export function parse(argv: string[], config: Config, propagateDefaults?: boolean): Result; + /** Help formatting options. */ + export interface HelpOptions { + /** Leading indent. Defaults to 2. */ + indent?: number; + /** Table padding. Defaults to 24. */ + padding?: number; + /** End of line character. Defaults to "\n". */ + eol?: string; + } + /** Generates the help text for the specified configuration. */ + export function help(config: Config, options?: HelpOptions): string; + /** Merges two sets of options into one, preferring the current over the parent set. */ + export function merge(config: Config, currentOptions: OptionSet, parentOptions: OptionSet, parentBaseDir: string): OptionSet; + /** Normalizes a path. */ + export function normalizePath(path: string): string; + /** Resolves a single relative path. Keeps absolute paths, otherwise prepends baseDir. */ + export function resolvePath(path: string, baseDir: string, useNodeResolution?: boolean): string; + /** Populates default values on a parsed options result. */ + export function addDefaults(config: Config, options: OptionSet): void; +} +declare module "types:assemblyscript/lib/binaryen" { + export * from "binaryen"; + export { default } from "binaryen"; +} +declare module "types:assemblyscript/cli/index" { + /** + * @fileoverview Definitions for asc. + * @license Apache-2.0 + */ + import { OptionDescription } from "types:assemblyscript/util/options"; + export { OptionDescription }; + /** AssemblyScript version. */ + export const version: string; + /** Available CLI options. */ + export const options: { + [key: string]: OptionDescription; + }; + /** Prefix used for library files. */ + export const libraryPrefix: string; + /** Bundled library files. */ + export const libraryFiles: { + [key: string]: string; + }; + /** Bundled definition files. */ + export const definitionFiles: { + assembly: string; + portable: string; + }; + /** Default Binaryen optimization level. */ + export const defaultOptimizeLevel: number; + /** Default Binaryen shrink level. */ + export const defaultShrinkLevel: number; + /** A compatible output stream. */ + export interface OutputStream { + /** Writes a chunk of data to the stream. */ + write(chunk: Uint8Array | string): void; + } + /** An in-memory output stream. */ + export interface MemoryStream extends OutputStream { + /** Resets the stream to offset zero. */ + reset(): void; + /** Converts the output to a buffer. */ + toBuffer(): Uint8Array; + /** Converts the output to a string. */ + toString(): string; + } + /** Relevant subset of the Source class for diagnostic reporting. */ + export interface Source { + /** Normalized path with file extension. */ + normalizedPath: string; + } + /** Relevant subset of the Range class for diagnostic reporting. */ + export interface Range { + /** Start offset within the source file. */ + start: number; + /** End offset within the source file. */ + end: number; + /** Respective source file. */ + source: Source; + } + /** Relevant subset of the DiagnosticMessage class for diagnostic reporting. */ + export interface DiagnosticMessage { + /** Message code. */ + code: number; + /** Message category. */ + category: number; + /** Message text. */ + message: string; + /** Respective source range, if any. */ + range: Range | null; + /** Related range, if any. */ + relatedRange: Range | null; + } + /** A function handling diagnostic messages. */ + type DiagnosticReporter = (diagnostic: DiagnosticMessage) => void; + /** Compiler options. */ + export interface CompilerOptions { + /** Prints just the compiler's version and exits. */ + version?: boolean; + /** Prints the help message and exits. */ + help?: boolean; + /** Optimizes the module. */ + optimize?: boolean; + /** How much to focus on optimizing code. */ + optimizeLevel?: number; + /** How much to focus on shrinking code size. */ + shrinkLevel?: number; + /** Re-optimizes until no further improvements can be made. */ + converge?: boolean; + /** Specifies the base directory of input and output files. */ + baseDir?: string; + /** Specifies the WebAssembly output file (.wasm). */ + outFile?: string; + /** Specifies the WebAssembly text output file (.wat). */ + textFile?: string; + /** Specified the bindings to generate. */ + bindings?: string[]; + /** Enables source map generation. Optionally takes the URL. */ + sourceMap?: boolean | string; + /** Specifies the runtime variant to include in the program. */ + runtime?: string; + /** Disallows the use of unsafe features in user code. */ + noUnsafe?: boolean; + /** Enables debug information in emitted binaries. */ + debug?: boolean; + /** Replaces assertions with just their value without trapping. */ + noAssert?: boolean; + /** Performs compilation as usual but does not emit code. */ + noEmit?: boolean; + /** Imports the memory provided as 'env.memory'. */ + importMemory?: boolean; + /** Does not export the memory as 'memory'. */ + noExportMemory?: boolean; + /** Sets the initial memory size in pages. */ + initialMemory?: number; + /** Sets the maximum memory size in pages. */ + maximumMemory?: number; + /** Declare memory as shared. Requires maximumMemory. */ + sharedMemory?: boolean; + /** Assume that imported memory is zero filled. Requires importMemory. */ + zeroFilledMemory?: boolean; + /** Sets the start offset of compiler-generated static memory. */ + memoryBase?: number; + /** Imports the function table provided as 'env.table'. */ + importTable?: boolean; + /** Exports the function table as 'table'. */ + exportTable?: boolean; + /** Exports the start function instead of calling it implicitly. */ + exportStart?: string; + /** "Adds one or multiple paths to custom library components. */ + lib?: string | string[]; + /** Adds one or multiple paths to package resolution. */ + path?: string | string[]; + /** Aliases a global object under another name. */ + use?: string | string[]; + /** Sets the trap mode to use. */ + trapMode?: "allow" | "clamp" | "js"; + /** Specifies additional Binaryen passes to run. */ + runPasses?: string | string[]; + /** Skips validating the module using Binaryen. */ + noValidate?: boolean; + /** Enables WebAssembly features that are disabled by default. */ + enable?: string | string[]; + /** Disables WebAssembly features that are enabled by default. */ + disable?: string | string[]; + /** Specifies the path to a custom transform to 'require'. */ + transform?: string | string[]; + /** Make yourself sad for no good reason. */ + pedantic?: boolean; + /** Prints measuring information on I/O and compile times. */ + stats?: boolean; + /** Disables terminal colors. */ + noColors?: boolean; + } + /** Compiler API options. */ + export interface APIOptions { + /** Standard output stream to use. */ + stdout?: OutputStream; + /** Standard error stream to use. */ + stderr?: OutputStream; + /** Reads a file from disk (or memory). */ + readFile?: (filename: string, baseDir: string) => (string | null) | Promise; + /** Writes a file to disk (or memory). */ + writeFile?: (filename: string, contents: Uint8Array | string, baseDir: string) => void | Promise; + /** Lists all files within a directory. */ + listFiles?: (dirname: string, baseDir: string) => (string[] | null) | Promise; + /** Handler for diagnostic messages. */ + reportDiagnostic?: DiagnosticReporter; + /** Additional transforms to apply. */ + transforms?: Transform[]; + } + /** Compiler API result. */ + export interface APIResult { + /** Encountered error, if any. */ + error: Error | null; + /** Standard output stream. */ + stdout: OutputStream; + /** Standard error stream. */ + stderr: OutputStream; + /** Statistics. */ + stats: Stats; + } + /** Runs the command line utility using the specified arguments array. */ + export function main(argv: string[] | CompilerOptions, options?: APIOptions): Promise; + /** Convenience function that parses and compiles source strings directly. */ + export function compileString(sources: { + [key: string]: string; + } | string, options?: CompilerOptions): Promise; + /** Checks diagnostics emitted so far for errors. */ + export function checkDiagnostics(emitter: Record, stderr?: OutputStream, reportDiagnostic?: DiagnosticReporter, useColors?: boolean): boolean; + /** Statistics for the current task. */ + export class Stats { + /** Number of files read. */ + readCount: number; + /** Number of files written. */ + writeCount: number; + /** Time taken to parse files. */ + parseTime: number; + /** Number of files parsed. */ + parseCount: number; + /** Time taken to compile programs. */ + compileTime: number; + /** Number of programs compiled. */ + compileCount: number; + /** Time taken to emit files. */ + emitTime: number; + /** Number of emitted files. */ + emitCount: number; + /** Time taken to validate modules. */ + validateTime: number; + /** Number of modules validated. */ + validateCount: number; + /** Time taken to optimize modules. */ + optimizeTime: number; + /** Number of modules optimized. */ + optimizeCount: number; + /** Begins measuring execution time. */ + begin(): number; + /** Ends measuring execution time since `begin`. */ + end(begin: number): number; + /** Returns a string representation. */ + toString(): string; + } + /** Creates a memory stream that can be used in place of stdout/stderr. */ + export function createMemoryStream(fn?: (chunk: Uint8Array | string) => void): MemoryStream; + /** Compatible TypeScript compiler options for syntax highlighting etc. */ + export const tscOptions: Record; + import binaryen from "types:assemblyscript/lib/binaryen"; + import { Program, Parser } from "types:assemblyscript/src/index"; + /** Compiler transform base class. */ + export abstract class Transform { + /** Program reference. */ + readonly program: Program; + /** Binaryen reference. */ + readonly binaryen: typeof binaryen; + /** Base directory. */ + readonly baseDir: string; + /** Output stream used by the compiler. */ + readonly stdout: OutputStream; + /** Error stream used by the compiler. */ + readonly stderr: OutputStream; + /** Logs a message to console. */ + readonly log: typeof console.log; + /** Reads a file from disk. */ + readFile(filename: string, baseDir: string): (string | null) | Promise; + /** Writes a file to disk. */ + writeFile(filename: string, contents: string | Uint8Array, baseDir: string): void | Promise; + /** Lists all files in a directory. */ + listFiles(dirname: string, baseDir: string): (string[] | null) | Promise; + /** Called when parsing is complete, before a program is instantiated from the AST. */ + afterParse?(parser: Parser): void | Promise; + /** Called after the program is instantiated. */ + afterInitialize?(program: Program): void | Promise; + /** Called when compilation is complete, before the module is being validated. */ + afterCompile?(module: binaryen.Module): void | Promise; + } +} diff --git a/platforms/Arduino/node_modules/assemblyscript/dist/asc.js b/platforms/Arduino/node_modules/assemblyscript/dist/asc.js new file mode 100644 index 00000000..f87bcf67 --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/dist/asc.js @@ -0,0 +1,22755 @@ +/** + * @license + * The AssemblyScript frontend + * Copyright 2024 Daniel Wirtz / The AssemblyScript Authors + * SPDX-License-Identifier: Apache-2.0 + */ +var de=Object.defineProperty;var Ke=Object.getOwnPropertyDescriptor;var qe=Object.getOwnPropertyNames;var We=Object.prototype.hasOwnProperty;var pn=(t,n)=>()=>(t&&(n=t(t=0)),n);var rn=(t,n)=>{for(var e in n)de(t,e,{get:n[e],enumerable:!0})},ce=(t,n,e,i)=>{if(n&&typeof n=="object"||typeof n=="function")for(let o of qe(n))!We.call(t,o)&&o!==e&&de(t,o,{get:()=>n[o],enumerable:!(i=Ke(n,o))||i.enumerable});return t},Rn=(t,n,e)=>(ce(t,n,"default"),e&&ce(e,n,"default"));var xe={};rn(xe,{promises:()=>Ye});var Ye,pe=pn(()=>{"use strict";Ye={}});var ge={};rn(ge,{createRequire:()=>$e});function $e(){return function(n){throw new Error(`Cannot find module: '${n}'`)}}var he=pn(()=>{"use strict"});var Un={};rn(Un,{argv:()=>Qe,cwd:()=>Nn,exit:()=>nt,hrtime:()=>tt,platform:()=>Ze,umask:()=>Je});function Nn(){return"."}function Je(){return 0}function nt(t=0){throw Error(`exit ${t}`)}function tt(t){var n=et.call(me),e=Math.floor(n*.001),i=Math.floor(n*1e6-e*1e9);return t&&(e-=t[0],i-=t[1],i<0&&(e--,i+=1e9)),[e,i]}var Ze,Qe,me,et,Mn=pn(()=>{"use strict";Ze="linux";Qe=[];me=globalThis.performance||{},et=me.now||function(){return new Date().getTime()}});var Vn={};rn(Vn,{basename:()=>lt,delimiter:()=>dt,dirname:()=>st,extname:()=>ut,format:()=>ft,isAbsolute:()=>rt,join:()=>ot,normalize:()=>Fe,parse:()=>ct,relative:()=>at,resolve:()=>gn,sep:()=>Pn,win32:()=>xt});function H(t){if(typeof t!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(t))}function be(t,n){for(var e="",i=0,o=-1,r=0,l,u=0;u<=t.length;++u){if(u2){var f=e.lastIndexOf("/");if(f!==e.length-1){f===-1?(e="",i=0):(e=e.slice(0,f),i=e.length-1-e.lastIndexOf("/")),o=u,r=0;continue}}else if(e.length===2||e.length===1){e="",i=0,o=u,r=0;continue}}n&&(e.length>0?e+="/..":e="..",i=2)}else e.length>0?e+="/"+t.slice(o+1,u):e=t.slice(o+1,u),i=u-o-1;o=u,r=0}else l===46&&r!==-1?++r:r=-1}return e}function it(t,n){var e=n.dir||n.root,i=n.base||(n.name||"")+(n.ext||"");return e?e===n.root?e+i:e+t+i:i}function gn(){for(var t="",n=!1,e,i=arguments.length-1;i>=-1&&!n;i--){var o;i>=0?o=arguments[i]:(e===void 0&&(e=Nn()),o=e),H(o),o.length!==0&&(t=o+"/"+t,n=o.charCodeAt(0)===47)}return t=be(t,!n),n?t.length>0?"/"+t:"/":t.length>0?t:"."}function Fe(t){if(H(t),t.length===0)return".";var n=t.charCodeAt(0)===47,e=t.charCodeAt(t.length-1)===47;return t=be(t,!n),t.length===0&&!n&&(t="."),t.length>0&&e&&(t+="/"),n?"/"+t:t}function rt(t){return H(t),t.length>0&&t.charCodeAt(0)===47}function ot(){if(arguments.length===0)return".";for(var t,n=0;n0&&(t===void 0?t=e:t+="/"+e)}return t===void 0?".":Fe(t)}function at(t,n){if(H(t),H(n),t===n||(t=gn(t),n=gn(n),t===n))return"";if(t===".")return n;for(var e=1;ef){if(n.charCodeAt(r+c)===47)return n.slice(r+c+1);if(c===0)return n.slice(r+c)}else o>f&&(t.charCodeAt(e+c)===47?x=c:c===0&&(x=0));break}var g=t.charCodeAt(e+c),F=n.charCodeAt(r+c);if(g!==F)break;g===47&&(x=c)}var m="";for(c=e+x+1;c<=i;++c)(c===i||t.charCodeAt(c)===47)&&(m.length===0?m+="..":m+="/..");return m.length>0?m+n.slice(r+x):(r+=x,n.charCodeAt(r)===47&&++r,n.slice(r))}function st(t){if(H(t),t.length===0)return".";for(var n=t.charCodeAt(0),e=n===47,i=-1,o=!0,r=t.length-1;r>=1;--r)if(n=t.charCodeAt(r),n===47){if(!o){i=r;break}}else o=!1;return i===-1?e?"/":".":e&&i===1?"//":t.slice(0,i)}function lt(t,n){if(n!==void 0&&typeof n!="string")throw new TypeError('"ext" argument must be a string');H(t);var e=0,i=-1,o=!0,r;if(n!==void 0&&n.length>0&&n.length<=t.length){if(n.length===t.length&&n===t)return"";var l=n.length-1,u=-1;for(r=t.length-1;r>=0;--r){var f=t.charCodeAt(r);if(f===47){if(!o){e=r+1;break}}else u===-1&&(o=!1,u=r+1),l>=0&&(f===n.charCodeAt(l)?--l===-1&&(i=r):(l=-1,i=u))}return e===i?i=u:i===-1&&(i=t.length),t.slice(e,i)}else{for(r=t.length-1;r>=0;--r)if(t.charCodeAt(r)===47){if(!o){e=r+1;break}}else i===-1&&(o=!1,i=r+1);return i===-1?"":t.slice(e,i)}}function ut(t){H(t);for(var n=-1,e=0,i=-1,o=!0,r=0,l=t.length-1;l>=0;--l){var u=t.charCodeAt(l);if(u===47){if(!o){e=l+1;break}continue}i===-1&&(o=!1,i=l+1),u===46?n===-1?n=l:r!==1&&(r=1):n!==-1&&(r=-1)}return n===-1||i===-1||r===0||r===1&&n===i-1&&n===e+1?"":t.slice(n,i)}function ft(t){if(t===null||typeof t!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof t);return it("/",t)}function ct(t){H(t);var n={root:"",dir:"",base:"",ext:"",name:""};if(t.length===0)return n;var e=t.charCodeAt(0),i=e===47,o;i?(n.root="/",o=1):o=0;for(var r=-1,l=0,u=-1,f=!0,x=t.length-1,c=0;x>=o;--x){if(e=t.charCodeAt(x),e===47){if(!f){l=x+1;break}continue}u===-1&&(f=!1,u=x+1),e===46?r===-1?r=x:c!==1&&(c=1):r!==-1&&(c=-1)}return r===-1||u===-1||c===0||c===1&&r===u-1&&r===l+1?u!==-1&&(l===0&&i?n.base=n.name=t.slice(1,u):n.base=n.name=t.slice(l,u)):(l===0&&i?(n.name=t.slice(1,r),n.base=t.slice(1,u)):(n.name=t.slice(l,r),n.base=t.slice(l,u)),n.ext=t.slice(r,u)),l>0?n.dir=t.slice(0,l-1):i&&(n.dir="/"),n}var Pn,dt,xt,jn=pn(()=>{"use strict";Mn();Pn="/",dt=":",xt=null});var ye={};rn(ye,{pathToFileURL:()=>gt});function pt(t){return t.replace(/%/g,"%25").replace(/\\/g,"%5C").replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/\t/g,"%09")}function gt(t){let n=gn(t);t.charCodeAt(t.length-1)===47&&n[n.length-1]!==Pn&&(n+="/");let e=new URL("file://");return e.pathname=pt(n),e}var ve=pn(()=>{"use strict";jn()});var ee={};rn(ee,{Stats:()=>In,checkDiagnostics:()=>Dn,compileString:()=>Ht,configToArguments:()=>ne,createMemoryStream:()=>Jn,default:()=>ee,defaultOptimizeLevel:()=>Ne,defaultShrinkLevel:()=>Ue,definitionFiles:()=>Gt,libraryFiles:()=>q,libraryPrefix:()=>G,main:()=>Me,options:()=>jt,tscOptions:()=>Xt,version:()=>Zn});var ht=Object.prototype.toString.call(typeof globalThis.process<"u"?globalThis.process:0)==="[object process]",X,fn,v,j,hn;ht?(X=await import("fs"),fn=await import("module"),v=await import("path"),j=globalThis.process,hn=await import("url")):(X=await Promise.resolve().then(()=>(pe(),xe)),fn=await Promise.resolve().then(()=>(he(),ge)),v=await Promise.resolve().then(()=>(jn(),Vn)),j=await Promise.resolve().then(()=>(Mn(),Un)),hn=await Promise.resolve().then(()=>(ve(),ye)));var Cn=typeof process<"u"&&process||{},mt=Cn.env&&"CI"in Cn.env,bt="\x1B[90m",Ft="\x1B[91m",yt="\x1B[92m",vt="\x1B[93m",Et="\x1B[94m",At="\x1B[95m",_t="\x1B[96m",Tt="\x1B[97m",J="\x1B[0m",on=class{constructor(n){this.stream=n,this.enabled=!!(this.stream&&this.stream.isTTY||mt)}gray(n){return this.enabled?bt+n+J:n}red(n){return this.enabled?Ft+n+J:n}green(n){return this.enabled?yt+n+J:n}yellow(n){return this.enabled?vt+n+J:n}blue(n){return this.enabled?Et+n+J:n}magenta(n){return this.enabled?At+n+J:n}cyan(n){return this.enabled?_t+n+J:n}white(n){return this.enabled?Tt+n+J:n}},zn=new on(Cn.stdout),Wt=new on(Cn.stderr);function K(){}K.prototype={diff:function(n,e){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},o=i.callback;typeof i=="function"&&(o=i,i={}),this.options=i;var r=this;function l(B){return o?(setTimeout(function(){o(void 0,B)},0),!0):B}n=this.castInput(n),e=this.castInput(e),n=this.removeEmpty(this.tokenize(n)),e=this.removeEmpty(this.tokenize(e));var u=e.length,f=n.length,x=1,c=u+f;i.maxEditLength&&(c=Math.min(c,i.maxEditLength));var g=[{newPos:-1,components:[]}],F=this.extractCommon(g[0],e,n,0);if(g[0].newPos+1>=u&&F+1>=f)return l([{value:this.join(e),count:e.length}]);function m(){for(var B=-1*x;B<=x;B+=2){var I=void 0,W=g[B-1],Y=g[B+1],N=(Y?Y.newPos:0)-B;W&&(g[B-1]=void 0);var O=W&&W.newPos+1=u&&N+1>=f)return l(Ct(r,I.components,e,n,r.useLongestToken));g[B]=I}x++}if(o)(function B(){setTimeout(function(){if(x>c)return o();m()||B()},0)})();else for(;x<=c;){var a=m();if(a)return a}},pushComponent:function(n,e,i){var o=n[n.length-1];o&&o.added===e&&o.removed===i?n[n.length-1]={count:o.count+1,added:e,removed:i}:n.push({count:1,added:e,removed:i})},extractCommon:function(n,e,i,o){for(var r=e.length,l=i.length,u=n.newPos,f=u-o,x=0;u+1m.length?B:m}),x.value=t.join(c)}else x.value=t.join(e.slice(u,u+x.count));u+=x.count,x.added||(f+=x.count)}}var F=n[l-1];return l>1&&typeof F.value=="string"&&(F.added||F.removed)&&t.equals("",F.value)&&(n[l-2].value+=F.value,n.pop()),n}function zt(t){return{newPos:t.newPos,components:t.components.slice(0)}}var $t=new K;var Ee=/^[A-Za-z\xC0-\u02C6\u02C8-\u02D7\u02DE-\u02FF\u1E00-\u1EFF]+$/,Ae=/\S/,_e=new K;_e.equals=function(t,n){return this.options.ignoreCase&&(t=t.toLowerCase(),n=n.toLowerCase()),t===n||this.options.ignoreWhitespace&&!Ae.test(t)&&!Ae.test(n)};_e.tokenize=function(t){for(var n=t.split(/([^\S\r\n]+|[()[\]{}'"\r\n]|\b)/),e=0;e"u"?e:l}:i;return typeof t=="string"?t:JSON.stringify(Gn(t,null,null,o),o," ")};mn.equals=function(t,n){return K.prototype.equals.call(mn,t.replace(/,([\r\n])/g,"$1"),n.replace(/,([\r\n])/g,"$1"))};function Gn(t,n,e,i,o){n=n||[],e=e||[],i&&(t=i(o,t));var r;for(r=0;r191&&u<224?r[l++]=(u&31)<<6|t[n++]&63:u>239&&u<365?(u=((u&7)<<18|(t[n++]&63)<<12|(t[n++]&63)<<6|t[n++]&63)-65536,r[l++]=55296+(u>>10),r[l++]=56320+(u&1023)):r[l++]=(u&15)<<12|(t[n++]&63)<<6|t[n++]&63,l>=8192&&((o||(o=[])).push(String.fromCharCode(...r)),l=0);return o?(l&&o.push(String.fromCharCode(...r.slice(0,l))),o.join("")):String.fromCharCode(...r.slice(0,l))}function Lt(t,n,e){for(var i=e,o=0,r=t.length;o>6|192,n[e++]=l&63|128):(l&64512)===55296&&o+1>18|240,n[e++]=l>>12&63|128,n[e++]=l>>6&63|128,n[e++]=l&63|128):(n[e++]=l>>12|224,n[e++]=l>>6&63|128,n[e++]=l&63|128)}return e-i}var wn={length:It,read:Ot,write:Lt};var Ce=fn.createRequire(import.meta.url);function Be(t,n,e=!0){var i={},o=[],r=[],l=[],u={};Object.keys(n).forEach(c=>{if(!c.startsWith(" ")){var g=n[c];g.alias!=null&&(typeof g.alias=="string"?u[g.alias]=c:Array.isArray(g.alias)&&g.alias.forEach(F=>u[F]=c)),e&&g.default!=null&&(i[c]=g.default)}});for(var f=0,x=(t=t.slice()).length;fi[a]=F.value[a]);else if(F.type==null||F.type==="b")i[m]=!0;else if(f+1{var c=t[x];if(c.description!=null){for(var g="";g.length{for(let a=0;a{f=!0,u.push(o+" "+zn.gray(x)+o),u.push(r[x].join(o))}),f&&l.length&&u.push(o+" "+zn.gray("Other")+o),u.push(l.join(o)),u.join(o)}function ze(t,n){if(t!=null)switch(n){case void 0:case"b":return!!t;case"i":return Math.trunc(t)||0;case"f":return Number(t)||0;case"s":return t===!0?"":t===!1?null:String(t);case"I":return Array.isArray(t)||(t=[t]),t.map(e=>Math.trunc(e)||0);case"F":return Array.isArray(t)||(t=[t]),t.map(e=>Number(e)||0);case"S":return Array.isArray(t)||(t=[t]),t.map(String)}}function Xn(t,n,e,i){let o={};for(let[r,{type:l,mutuallyExclusive:u,isPath:f,useNodeResolution:x,cliOnly:c}]of Object.entries(t)){let g=ze(n[r],l),F=ze(e[r],l);if(g==null){if(F!=null){if(c)continue;if(Array.isArray(F)){let m;f&&(F=F.map(a=>an(a,i,x))),u!=null&&(m=n[u])?o[r]=F.filter(a=>!m.includes(a)):o[r]=F.slice()}else f&&(F=an(F,i,x)),o[r]=F}}else if(F==null)Array.isArray(g)?o[r]=g.slice():o[r]=g;else if(Array.isArray(g)){if(c){o[r]=g.slice();continue}let m;f&&(F=F.map(a=>an(a,i,x))),u!=null&&(m=n[u])?o[r]=[...g,...F.filter(a=>!g.includes(a)&&!m.includes(a))]:o[r]=[...g,...F.filter(a=>!g.includes(a))]}else o[r]=g}return o}function kt(t){let n=v.parse(t);return n.root||(n.root="./"),v.format(n)}function an(t,n,e=!1){return v.isAbsolute(t)?t:e&&!t.startsWith(".")&&Ce.resolve?Ce.resolve(t,{paths:[n]}):kt(v.join(n,t))}function Kn(t,n){for(let[e,{default:i}]of Object.entries(t))n[e]==null&&i!=null&&(n[e]=i)}var Se="0.27.29",Q={version:{category:"General",description:"Prints just the compiler's version and exits.",type:"b",alias:"v"},help:{category:"General",description:"Prints this message and exits.",type:"b",alias:"h"},config:{category:"General",description:"Configuration file to apply. CLI arguments take precedence.",type:"s",cliOnly:!0},target:{category:"General",description:"Configuration file target to use. Defaults to 'release'.",type:"s",cliOnly:!0},optimize:{category:"Optimization",description:["Optimizes the module. Typical shorthands are:",""," Default optimizations -O"," Make a release build -O --noAssert"," Make a debug build --debug"," Optimize for speed -Ospeed"," Optimize for size -Osize",""],type:"b",alias:"O"},optimizeLevel:{category:"Optimization",description:"How much to focus on optimizing code. [0-3]",type:"i"},shrinkLevel:{category:"Optimization",description:"How much to focus on shrinking code size. [0-2, s=1, z=2]",type:"i"},converge:{category:"Optimization",description:"Re-optimizes until no further improvements can be made.",type:"b",default:!1},noAssert:{category:"Optimization",description:"Replaces assertions with just their value without trapping.",type:"b",default:!1},outFile:{category:"Output",description:"Specifies the WebAssembly output file (.wasm).",type:"s",alias:"o",isPath:!0},textFile:{category:"Output",description:"Specifies the WebAssembly text output file (.wat).",type:"s",alias:"t",isPath:!0},bindings:{category:"Output",description:["Specifies the bindings to generate (.js + .d.ts).",""," esm JavaScript bindings & typings for ESM integration."," raw Like esm, but exports just the instantiate function."," Useful where modules are meant to be instantiated"," multiple times or non-ESM imports must be provided."],type:"S",alias:"b"},sourceMap:{category:"Debugging",description:["Enables source map generation. Optionally takes the URL","used to reference the source map from the binary file."],type:"s"},uncheckedBehavior:{category:"Debugging",description:["Changes the behavior of unchecked() expressions.","Using this option can potentially cause breakage.",""," default The default behavior: unchecked operations are"," only used inside of unchecked()."," never Unchecked operations are never used, even when"," inside of unchecked()."," always Unchecked operations are always used if possible,"," whether or not unchecked() is used."],type:"s",default:"default"},debug:{category:"Debugging",description:"Enables debug information in emitted binaries.",type:"b",default:!1},importMemory:{category:"Features",description:"Imports the memory from 'env.memory'.",type:"b",default:!1},noExportMemory:{category:"Features",description:"Does not export the memory as 'memory'.",type:"b",default:!1},initialMemory:{category:"Features",description:"Sets the initial memory size in pages.",type:"i",default:0},maximumMemory:{category:"Features",description:"Sets the maximum memory size in pages.",type:"i",default:0},sharedMemory:{category:"Features",description:"Declare memory as shared. Requires maximumMemory.",type:"b",default:!1},zeroFilledMemory:{category:"Features",description:"Assume imported memory is zeroed. Requires importMemory.",type:"b",default:!1},importTable:{category:"Features",description:"Imports the function table from 'env.table'.",type:"b",default:!1},exportTable:{category:"Features",description:"Exports the function table as 'table'.",type:"b",default:!1},exportStart:{category:"Features",description:["Exports the start function using the specified name instead","of calling it implicitly. Useful to obtain the exported memory","before executing any code accessing it."],type:"s"},runtime:{category:"Features",description:["Specifies the runtime variant to include in the program.",""," incremental TLSF + incremental GC (default)"," minimal TLSF + lightweight GC invoked externally"," stub Minimal runtime stub (never frees)"," ... Path to a custom runtime implementation",""],type:"s",default:"incremental"},exportRuntime:{category:"Features",description:["Always exports the runtime helpers (__new, __collect, __pin etc.).","Automatically determined when generation of --bindings is enabled."],type:"b",default:!1},stackSize:{category:"Features",description:["Overrides the stack size. Only relevant for incremental GC","or when using a custom runtime that requires stack space.","Defaults to 0 without and to 32768 with incremental GC."],default:0,type:"i"},enable:{category:"Features",description:["Enables WebAssembly features being disabled by default.",""," threads Threading and atomic operations."," simd SIMD types and operations."," reference-types Reference types and operations."," gc Garbage collection (WIP)."," stringref String reference types."," relaxed-simd Relaxed SIMD operations.",""],TODO_doesNothingYet:[" exception-handling Exception handling."," tail-calls Tail call operations."," multi-value Multi value types."," memory64 Memory64 operations."," extended-const Extended const expressions."],type:"S",mutuallyExclusive:"disable"},disable:{category:"Features",description:["Disables WebAssembly features being enabled by default.",""," mutable-globals Mutable global imports and exports."," sign-extension Sign-extension operations"," nontrapping-f2i Non-trapping float to integer ops."," bulk-memory Bulk memory operations.",""],type:"S",mutuallyExclusive:"enable"},use:{category:"Features",description:["Aliases a global object under another name, e.g., to switch","the default 'Math' implementation used: --use Math=JSMath","Can also be used to introduce an integer constant."],type:"S",alias:"u"},lowMemoryLimit:{category:"Features",description:"Enforces very low (<64k) memory constraints.",default:0,type:"i"},memoryBase:{category:"Linking",description:"Sets the start offset of emitted memory segments.",type:"i",default:0},tableBase:{category:"Linking",description:"Sets the start offset of emitted table elements.",type:"i",default:0},transform:{category:"API",description:"Specifies the path to a custom transform to load.",type:"S",isPath:!0,useNodeResolution:!0},trapMode:{category:"Binaryen",description:["Sets the trap mode to use.",""," allow Allow trapping operations. This is the default."," clamp Replace trapping operations with clamping semantics."," js Replace trapping operations with JS semantics.",""],type:"s",default:"allow"},runPasses:{category:"Binaryen",description:["Specifies additional Binaryen passes to run after other","optimizations, if any. See: Binaryen/src/passes/pass.cpp"],type:"s"},noValidate:{category:"Binaryen",description:"Skips validating the module using Binaryen.",type:"b",default:!1},baseDir:{description:"Specifies the base directory of input and output files.",type:"s",default:"."},noColors:{description:"Disables terminal colors.",type:"b",default:!1},noUnsafe:{description:["Disallows the use of unsafe features in user code.","Does not affect library files and external modules."],type:"b",default:!1},disableWarning:{description:["Disables warnings matching the given diagnostic code.","If no diagnostic code is given, all warnings are disabled."],type:"I"},noEmit:{description:"Performs compilation as usual but does not emit code.",type:"b",default:!1},showConfig:{description:"Print computed compiler options and exit.",type:"b",default:!1},stats:{description:"Prints statistics on I/O and compile times.",type:"b",default:!1},pedantic:{description:"Make yourself sad for no good reason.",type:"b",default:!1},lib:{description:["Adds one or multiple paths to custom library components and","uses exports of all top-level files at this path as globals."],type:"S",isPath:!0},path:{description:["Adds one or multiple paths to package resolution, similar","to node_modules. Prefers an 'ascMain' entry in a package's","package.json and falls back to an inner 'assembly/' folder."],type:"S",isPath:!0},wasm:{description:"Uses the specified Wasm binary of the compiler.",type:"s"}," ...":{description:"Specifies node.js options (CLI only). See: node --help"},"-Os":{value:{optimizeLevel:0,shrinkLevel:1}},"-Oz":{value:{optimizeLevel:0,shrinkLevel:2}},"-O0":{value:{optimizeLevel:0,shrinkLevel:0}},"-O1":{value:{optimizeLevel:1,shrinkLevel:0}},"-O2":{value:{optimizeLevel:2,shrinkLevel:0}},"-O3":{value:{optimizeLevel:3,shrinkLevel:0}},"-O0s":{value:{optimizeLevel:0,shrinkLevel:1}},"-O1s":{value:{optimizeLevel:1,shrinkLevel:1}},"-O2s":{value:{optimizeLevel:2,shrinkLevel:1}},"-O3s":{value:{optimizeLevel:3,shrinkLevel:1}},"-O0z":{value:{optimizeLevel:0,shrinkLevel:2}},"-O1z":{value:{optimizeLevel:1,shrinkLevel:2}},"-O2z":{value:{optimizeLevel:2,shrinkLevel:2}},"-O3z":{value:{optimizeLevel:3,shrinkLevel:2}},"-Ospeed":{value:{optimizeLevel:3,shrinkLevel:0}},"-Osize":{value:{optimizeLevel:0,shrinkLevel:2,converge:!0}},"--measure":{value:{stats:!0}}},De="~lib/",Ie={array:`/// + +import { BLOCK_MAXSIZE } from "./rt/common"; +import { Runtime } from "shared/runtime"; +import { COMPARATOR, SORT } from "./util/sort"; +import { REVERSE, FILL } from "./util/bytes"; +import { joinBooleanArray, joinIntegerArray, joinFloatArray, joinStringArray, joinReferenceArray } from "./util/string"; +import { idof, isArray as builtin_isArray } from "./builtins"; +import { E_INDEXOUTOFRANGE, E_INVALIDLENGTH, E_EMPTYARRAY, E_HOLEYARRAY } from "./util/error"; + +// @ts-ignore: decorator +@inline @lazy const MIN_SIZE: usize = 8; + +/** Ensures that the given array has _at least_ the specified backing size. */ +function ensureCapacity(array: usize, newSize: usize, alignLog2: u32, canGrow: bool = true): void { + // Depends on the fact that Arrays mimic ArrayBufferView + let oldCapacity = changetype(array).byteLength; + if (newSize > oldCapacity >>> alignLog2) { + if (newSize > BLOCK_MAXSIZE >>> alignLog2) throw new RangeError(E_INVALIDLENGTH); + let oldData = changetype(changetype(array).buffer); + // Grows old capacity by factor of two. + // Make sure we don't reach BLOCK_MAXSIZE for new growed capacity. + let newCapacity = max(newSize, MIN_SIZE) << alignLog2; + if (canGrow) newCapacity = max(min(oldCapacity << 1, BLOCK_MAXSIZE), newCapacity); + let newData = __renew(oldData, newCapacity); + // __new / __renew already init memory range as zeros in Incremental runtime. + // So try to avoid this. + if (ASC_RUNTIME != Runtime.Incremental) { + memory.fill(newData + oldCapacity, 0, newCapacity - oldCapacity); + } + if (newData != oldData) { // oldData has been free'd + store(array, newData, offsetof("buffer")); + store(array, newData, offsetof("dataStart")); + __link(array, changetype(newData), false); + } + store(array, newCapacity, offsetof("byteLength")); + } +} + +export class Array { + [key: number]: T; + + // Mimicking ArrayBufferView isn't strictly necessary here but is done to allow glue code + // to work with typed and normal arrays interchangeably. Technically, normal arrays do not need + // \`dataStart\` (equals \`buffer\`) and \`byteLength\` (equals computed \`buffer.byteLength\`), but the + // block is 16 bytes anyway so it's fine to have a couple extra fields in there. + + private buffer: ArrayBuffer; + @unsafe readonly dataStart: usize; + private byteLength: i32; // Uses here as capacity + + // Also note that Array with non-nullable T must guard against uninitialized null values + // whenever an element is accessed. Otherwise, the compiler wouldn't be able to guarantee + // type-safety anymore. For lack of a better word, such an array is "holey". + + private length_: i32; + + static isArray(value: U): bool { + return isReference() ? changetype(value) != 0 && builtin_isArray(value) : false; + } + + static create(capacity: i32 = 0): Array { + WARNING("'Array.create' is deprecated. Use 'new Array' instead, making sure initial elements are initialized."); + let array = new Array(capacity); + array.length = 0; + return array; + } + + constructor(length: i32 = 0) { + if (length > BLOCK_MAXSIZE >>> alignof()) throw new RangeError(E_INVALIDLENGTH); + // reserve capacity for at least MIN_SIZE elements + let bufferSize = max(length, MIN_SIZE) << alignof(); + let buffer = changetype(__new(bufferSize, idof())); + if (ASC_RUNTIME != Runtime.Incremental) { + memory.fill(changetype(buffer), 0, bufferSize); + } + this.buffer = buffer; // links + this.dataStart = changetype(buffer); + this.byteLength = bufferSize; + this.length_ = length; + } + + get length(): i32 { + return this.length_; + } + + set length(newLength: i32) { + ensureCapacity(changetype(this), newLength, alignof(), false); + this.length_ = newLength; + } + + every(fn: (value: T, index: i32, array: Array) => bool): bool { + for (let i = 0, len = this.length_; i < min(len, this.length_); ++i) { + if (!fn(load(this.dataStart + (i << alignof())), i, this)) return false; + } + return true; + } + + findIndex(fn: (value: T, index: i32, array: Array) => bool): i32 { + for (let i = 0, len = this.length_; i < min(len, this.length_); ++i) { + if (fn(load(this.dataStart + (i << alignof())), i, this)) return i; + } + return -1; + } + + findLastIndex(fn: (value: T, index: i32, array: Array) => bool): i32 { + for (let i = this.length_ - 1; i >= 0; --i) { + if (fn(load(this.dataStart + (i << alignof())), i, this)) return i; + } + return -1; + } + + @operator("[]") private __get(index: i32): T { + if (index >= this.length_) throw new RangeError(E_INDEXOUTOFRANGE); + let value = load(this.dataStart + (index << alignof())); + if (isReference()) { + if (!isNullable()) { + if (!changetype(value)) throw new Error(E_HOLEYARRAY); + } + } + return value; + } + + @unsafe @operator("{}") private __uget(index: i32): T { + return load(this.dataStart + (index << alignof())); + } + + @operator("[]=") private __set(index: i32, value: T): void { + if (index >= this.length_) { + if (index < 0) throw new RangeError(E_INDEXOUTOFRANGE); + ensureCapacity(changetype(this), index + 1, alignof()); + this.length_ = index + 1; + } + store(this.dataStart + (index << alignof()), value); + if (isManaged()) { + __link(changetype(this), changetype(value), true); + } + } + + at(index: i32): T { + let len = this.length_; + index += select(0, len, index >= 0); + if (index >= len) throw new RangeError(E_INDEXOUTOFRANGE); + let value = load(this.dataStart + (index << alignof())); + if (isReference()) { + if (!isNullable()) { + if (!changetype(value)) throw new Error(E_HOLEYARRAY); + } + } + return value; + } + + fill(value: T, start: i32 = 0, end: i32 = i32.MAX_VALUE): Array { + if (isManaged()) { + FILL(this.dataStart, this.length_, changetype(value), start, end); + __link(changetype(this), changetype(value), false); + } else { + FILL(this.dataStart, this.length_, value, start, end); + } + return this; + } + + includes(value: T, fromIndex: i32 = 0): bool { + if (isFloat()) { + let len = this.length_; + if (len == 0 || fromIndex >= len) return false; + if (fromIndex < 0) fromIndex = max(len + fromIndex, 0); + let ptr = this.dataStart; + while (fromIndex < len) { + let elem = load(ptr + (fromIndex << alignof())); + // @ts-ignore + if (elem == value || isNaN(elem) & isNaN(value)) return true; + ++fromIndex; + } + return false; + } else { + return this.indexOf(value, fromIndex) >= 0; + } + } + + indexOf(value: T, fromIndex: i32 = 0): i32 { + let len = this.length_; + if (len == 0 || fromIndex >= len) return -1; + if (fromIndex < 0) fromIndex = max(len + fromIndex, 0); + let ptr = this.dataStart; + while (fromIndex < len) { + if (load(ptr + (fromIndex << alignof())) == value) return fromIndex; + ++fromIndex; + } + return -1; + } + + lastIndexOf(value: T, fromIndex: i32 = this.length_): i32 { + let len = this.length_; + if (len == 0) return -1; + if (fromIndex < 0) fromIndex = len + fromIndex; + else if (fromIndex >= len) fromIndex = len - 1; + let ptr = this.dataStart; + while (fromIndex >= 0) { + if (load(ptr + (fromIndex << alignof())) == value) return fromIndex; + --fromIndex; + } + return -1; + } + + push(value: T): i32 { + let oldLen = this.length_; + let len = oldLen + 1; + ensureCapacity(changetype(this), len, alignof()); + if (isManaged()) { + store(this.dataStart + (oldLen << alignof()), changetype(value)); + __link(changetype(this), changetype(value), true); + } else { + store(this.dataStart + (oldLen << alignof()), value); + } + this.length_ = len; + return len; + } + + concat(other: Array): Array { + let thisLen = this.length_; + let otherLen = other.length_; + let outLen = thisLen + otherLen; + if (outLen > BLOCK_MAXSIZE >>> alignof()) throw new Error(E_INVALIDLENGTH); + let out = changetype>(__newArray(outLen, alignof(), idof>())); + let outStart = out.dataStart; + let thisSize = thisLen << alignof(); + if (isManaged()) { + let thisStart = this.dataStart; + for (let offset: usize = 0; offset < thisSize; offset += sizeof()) { + let ref = load(thisStart + offset); + store(outStart + offset, ref); + __link(changetype(out), ref, true); + } + outStart += thisSize; + let otherStart = other.dataStart; + let otherSize = otherLen << alignof(); + for (let offset: usize = 0; offset < otherSize; offset += sizeof()) { + let ref = load(otherStart + offset); + store(outStart + offset, ref); + __link(changetype(out), ref, true); + } + } else { + memory.copy(outStart, this.dataStart, thisSize); + memory.copy(outStart + thisSize, other.dataStart, otherLen << alignof()); + } + return out; + } + + copyWithin(target: i32, start: i32, end: i32 = i32.MAX_VALUE): Array { + let ptr = this.dataStart; + let len = this.length_; + + end = min(end, len); + + let to = target < 0 ? max(len + target, 0) : min(target, len); + let from = start < 0 ? max(len + start, 0) : min(start, len); + let last = end < 0 ? max(len + end, 0) : min(end, len); + let count = min(last - from, len - to); + + memory.copy( // is memmove + ptr + (to << alignof()), + ptr + (from << alignof()), + count << alignof() + ); + return this; + } + + pop(): T { + let len = this.length_; + if (len < 1) throw new RangeError(E_EMPTYARRAY); + let val = load(this.dataStart + ((--len) << alignof())); + this.length_ = len; + return val; + } + + forEach(fn: (value: T, index: i32, array: Array) => void): void { + for (let i = 0, len = this.length_; i < min(len, this.length_); ++i) { + fn(load(this.dataStart + (i << alignof())), i, this); + } + } + + map(fn: (value: T, index: i32, array: Array) => U): Array { + let len = this.length_; + let out = changetype>(__newArray(len, alignof(), idof>())); + let outStart = out.dataStart; + for (let i = 0; i < min(len, this.length_); ++i) { + let result = fn(load(this.dataStart + (i << alignof())), i, this); + store(outStart + (i << alignof()), result); + if (isManaged()) { + __link(changetype(out), changetype(result), true); + } + } + return out; + } + + filter(fn: (value: T, index: i32, array: Array) => bool): Array { + let result = changetype>(__newArray(0, alignof(), idof>())); + for (let i = 0, len = this.length_; i < min(len, this.length_); ++i) { + let value = load(this.dataStart + (i << alignof())); + if (fn(value, i, this)) result.push(value); + } + return result; + } + + reduce( + fn: (previousValue: U, currentValue: T, currentIndex: i32, array: Array) => U, + initialValue: U + ): U { + let acc = initialValue; + for (let i = 0, len = this.length_; i < min(len, this.length_); ++i) { + acc = fn(acc, load(this.dataStart + (i << alignof())), i, this); + } + return acc; + } + + reduceRight( + fn: (previousValue: U, currentValue: T, currentIndex: i32, array: Array) => U, + initialValue: U + ): U { + let acc = initialValue; + for (let i = this.length_ - 1; i >= 0; --i) { + acc = fn(acc, load(this.dataStart + (i << alignof())), i, this); + } + return acc; + } + + shift(): T { + let len = this.length_; + if (len < 1) throw new RangeError(E_EMPTYARRAY); + let base = this.dataStart; + let element = load(base); + let lastIndex = len - 1; + memory.copy( + base, + base + sizeof(), + lastIndex << alignof() + ); + if (isReference()) { + store(base + (lastIndex << alignof()), 0); + } else { + // @ts-ignore + store(base + (lastIndex << alignof()), 0); + } + this.length_ = lastIndex; + return element; + } + + some(fn: (value: T, index: i32, array: Array) => bool): bool { + for (let i = 0, len = this.length_; i < min(len, this.length_); ++i) { + if (fn(load(this.dataStart + (i << alignof())), i, this)) return true; + } + return false; + } + + unshift(value: T): i32 { + let len = this.length_ + 1; + ensureCapacity(changetype(this), len, alignof()); + let ptr = this.dataStart; + memory.copy( + ptr + sizeof(), + ptr, + (len - 1) << alignof() + ); + store(ptr, value); + if (isManaged()) { + __link(changetype(this), changetype(value), true); + } + this.length_ = len; + return len; + } + + slice(start: i32 = 0, end: i32 = i32.MAX_VALUE): Array { + let len = this.length_; + start = start < 0 ? max(start + len, 0) : min(start, len); + end = end < 0 ? max(end + len, 0) : min(end , len); + len = max(end - start, 0); + let slice = changetype>(__newArray(len, alignof(), idof>())); + let sliceBase = slice.dataStart; + let thisBase = this.dataStart + (start << alignof()); + if (isManaged()) { + let off = 0; + let end = len << alignof(); + while (off < end) { + let ref = load(thisBase + off); + store(sliceBase + off, ref); + __link(changetype(slice), ref, true); + off += sizeof(); + } + } else { + memory.copy(sliceBase, thisBase, len << alignof()); + } + return slice; + } + + splice(start: i32, deleteCount: i32 = i32.MAX_VALUE): Array { + let len = this.length_; + start = start < 0 ? max(len + start, 0) : min(start, len); + deleteCount = max(min(deleteCount, len - start), 0); + let result = changetype>(__newArray(deleteCount, alignof(), idof>())); + let resultStart = result.dataStart; + let thisStart = this.dataStart; + let thisBase = thisStart + (start << alignof()); + memory.copy( + resultStart, + thisBase, + deleteCount << alignof() + ); + let offset = start + deleteCount; + if (len != offset) { + memory.copy( + thisBase, + thisStart + (offset << alignof()), + (len - offset) << alignof() + ); + } + this.length_ = len - deleteCount; + return result; + } + + reverse(): Array { + REVERSE(this.dataStart, this.length_); + return this; + } + + sort(comparator: (a: T, b: T) => i32 = COMPARATOR()): Array { + SORT(this.dataStart, this.length_, comparator); + return this; + } + + join(separator: string = ","): string { + let ptr = this.dataStart; + let len = this.length_; + if (isBoolean()) return joinBooleanArray(ptr, len, separator); + if (isInteger()) return joinIntegerArray(ptr, len, separator); + if (isFloat()) return joinFloatArray(ptr, len, separator); + + if (ASC_SHRINK_LEVEL < 1) { + if (isString()) return joinStringArray(ptr, len, separator); + } + // For rest objects and arrays use general join routine + if (isReference()) return joinReferenceArray(ptr, len, separator); + ERROR("unspported element type"); + return unreachable(); + } + + flat(): T { + if (!isArray()) { + ERROR("Cannot call flat() on Array where T is not an Array."); + } + // Get the length and data start values + let ptr = this.dataStart; + let len = this.length_; + + // calculate the end size with an initial pass + let size = 0; + for (let i = 0; i < len; ++i) { + let child = load(ptr + (i << alignof())); + size += child == 0 ? 0 : load(child, offsetof("length_")); + } + + // calculate the byteLength of the resulting backing ArrayBuffer + const align = alignof>(); + let byteLength = size << align; + let outBuffer = changetype(__new(byteLength, idof())); + + // create the return value and initialize it + let outArray = changetype(__new(offsetof(), idof())); + store(changetype(outArray), size, offsetof("length_")); + + // byteLength, dataStart, and buffer are all readonly + store(changetype(outArray), byteLength, offsetof("byteLength")); + store(changetype(outArray), changetype(outBuffer), offsetof("dataStart")); + store(changetype(outArray), changetype(outBuffer), offsetof("buffer")); + __link(changetype(outArray), changetype(outBuffer), false); + + // set the elements + let resultOffset: usize = 0; + for (let i = 0; i < len; ++i) { // for each child + let child = load(ptr + (i << alignof())); + + // ignore null arrays + if (!child) continue; + + // copy the underlying buffer data to the result buffer + let childDataLength = load(child, offsetof("length_")) << align; + memory.copy( + changetype(outBuffer) + resultOffset, + load(child, offsetof("dataStart")), + childDataLength + ); + + // advance the result length + resultOffset += childDataLength; + } + + // if the \`valueof\` type is managed, we must link each reference + if (isManaged>()) { + for (let i = 0; i < size; ++i) { + let ref = load(changetype(outBuffer) + (i << usize(alignof>()))); + __link(changetype(outBuffer), ref, true); + } + } + + return outArray; + } + + toString(): string { + return this.join(); + } + + // RT integration + + @unsafe private __visit(cookie: u32): void { + if (isManaged()) { + let cur = this.dataStart; + let end = cur + (this.length_ << alignof()); + while (cur < end) { + let val = load(cur); + if (val) __visit(val, cookie); + cur += sizeof(); + } + } + __visit(changetype(this.buffer), cookie); + } +} +`,arraybuffer:`/// + +import { OBJECT, BLOCK_MAXSIZE, TOTAL_OVERHEAD } from "./rt/common"; +import { Runtime } from "shared/runtime"; +import { idof } from "./builtins"; +import { E_INVALIDLENGTH } from "./util/error"; + +export abstract class ArrayBufferView { + + readonly buffer: ArrayBuffer; + @unsafe readonly dataStart: usize; + readonly byteLength: i32; + + get byteOffset(): i32 { + return (this.dataStart - changetype(this.buffer)); + } + + protected constructor(length: i32, alignLog2: i32) { + if (length > BLOCK_MAXSIZE >>> alignLog2) throw new RangeError(E_INVALIDLENGTH); + let buffer = changetype(__new(length = length << alignLog2, idof())); + if (ASC_RUNTIME != Runtime.Incremental) { + memory.fill(changetype(buffer), 0, length); + } + this.buffer = buffer; // links + this.dataStart = changetype(buffer); + this.byteLength = length; + } +} + +@final export class ArrayBuffer { + + static isView(value: T): bool { + if (isNullable()) { + if (changetype(value) == 0) return false; + } + if (value instanceof Int8Array) return true; + if (value instanceof Uint8Array) return true; + if (value instanceof Uint8ClampedArray) return true; + if (value instanceof Int16Array) return true; + if (value instanceof Uint16Array) return true; + if (value instanceof Int32Array) return true; + if (value instanceof Uint32Array) return true; + if (value instanceof Int64Array) return true; + if (value instanceof Uint64Array) return true; + if (value instanceof Float32Array) return true; + if (value instanceof Float64Array) return true; + if (value instanceof DataView) return true; + return false; + } + + constructor(length: i32) { + if (length > BLOCK_MAXSIZE) throw new RangeError(E_INVALIDLENGTH); + let buffer = changetype(__new(length, idof())); + if (ASC_RUNTIME != Runtime.Incremental) { + memory.fill(changetype(buffer), 0, length); + } + return buffer; + } + + get byteLength(): i32 { + return changetype(changetype(this) - TOTAL_OVERHEAD).rtSize; + } + + slice(begin: i32 = 0, end: i32 = BLOCK_MAXSIZE): ArrayBuffer { + let length = this.byteLength; + begin = begin < 0 ? max(length + begin, 0) : min(begin, length); + end = end < 0 ? max(length + end , 0) : min(end , length); + let outSize = max(end - begin, 0); + let out = changetype(__new(outSize, idof())); + memory.copy(changetype(out), changetype(this) + begin, outSize); + return out; + } + + toString(): string { + return "[object ArrayBuffer]"; + } +} +`,atomics:`import { ArrayBufferView } from "./arraybuffer"; +import { E_INDEXOUTOFRANGE } from "./util/error"; + +export namespace Atomics { + + // @ts-ignore: decorator + @inline + export function load(array: T, index: i32): valueof { + const align = alignof>(); + if (index < 0 || (index << align) >= array.byteLength) throw new RangeError(E_INDEXOUTOFRANGE); + return atomic.load>( + changetype(array.buffer) + (index << align) + array.byteOffset + ); + } + + // @ts-ignore: decorator + @inline + export function store(array: T, index: i32, value: valueof): void { + const align = alignof>(); + if (index < 0 || (index << align) >= array.byteLength) throw new RangeError(E_INDEXOUTOFRANGE); + atomic.store>( + changetype(array.buffer) + (index << align) + array.byteOffset, + value + ); + } + + // @ts-ignore: decorator + @inline + export function add(array: T, index: i32, value: valueof): valueof { + const align = alignof>(); + if (index < 0 || (index << align) >= array.byteLength) throw new RangeError(E_INDEXOUTOFRANGE); + return atomic.add>( + changetype(array.buffer) + (index << align) + array.byteOffset, + value + ); + } + + // @ts-ignore: decorator + @inline + export function sub(array: T, index: i32, value: valueof): valueof { + const align = alignof>(); + if (index < 0 || (index << align) >= array.byteLength) throw new RangeError(E_INDEXOUTOFRANGE); + return atomic.sub>( + changetype(array.buffer) + (index << align) + array.byteOffset, + value + ); + } + + // @ts-ignore: decorator + @inline + export function and(array: T, index: i32, value: valueof): valueof { + const align = alignof>(); + if (index < 0 || (index << align) >= array.byteLength) throw new RangeError(E_INDEXOUTOFRANGE); + return atomic.and>( + changetype(array.buffer) + (index << align) + array.byteOffset, + value + ); + } + + // @ts-ignore: decorator + @inline + export function or(array: T, index: i32, value: valueof): valueof { + const align = alignof>(); + if (index < 0 || (index << align) >= array.byteLength) throw new RangeError(E_INDEXOUTOFRANGE); + return atomic.or>( + changetype(array.buffer) + (index << align) + array.byteOffset, + value + ); + } + + // @ts-ignore: decorator + @inline + export function xor(array: T, index: i32, value: valueof): valueof { + const align = alignof>(); + if (index < 0 || (index << align) >= array.byteLength) throw new RangeError(E_INDEXOUTOFRANGE); + return atomic.xor>( + changetype(array.buffer) + (index << align) + array.byteOffset, + value + ); + } + + // @ts-ignore: decorator + @inline + export function exchange(array: T, index: i32, value: valueof): valueof { + const align = alignof>(); + if (index < 0 || (index << align) >= array.byteLength) throw new RangeError(E_INDEXOUTOFRANGE); + return atomic.xchg>( + changetype(array.buffer) + (index << align) + array.byteOffset, + value + ); + } + + // @ts-ignore: decorator + @inline + export function compareExchange( + array: T, + index: i32, + expectedValue: valueof, + replacementValue: valueof + ): valueof { + const align = alignof>(); + if (index < 0 || (index << align) >= array.byteLength) throw new RangeError(E_INDEXOUTOFRANGE); + return atomic.cmpxchg>( + changetype(array.buffer) + (index << align) + array.byteOffset, + expectedValue, + replacementValue + ); + } + + // @ts-ignore: decorator + @inline + export function wait(array: T, value: valueof, timeout: i64 = -1): AtomicWaitResult { + return atomic.wait>(changetype(array.buffer) + array.byteOffset, value, timeout); + } + + // @ts-ignore: decorator + @inline + export function notify(array: T, index: i32, count: i32 = -1): i32 { + const align = alignof>(); + if (index < 0 || (index << align) >= array.byteLength) throw new RangeError(E_INDEXOUTOFRANGE); + return atomic.notify(changetype(array.buffer) + (index << align) + array.byteOffset, count); + } + + export function isLockFree(size: usize): bool { + return size == 1 || size == 2 || size == 4; + } +} +`,"bindings/asyncify":`@unmanaged +export class StackDescriptor { + /** The index in linear memory of the start of the \u201Casyncify stack\u201D. */ + stackStart: usize; + /** The index of the end of that stack region, which implies how big it is. */ + stackEnd: usize; +} + +/** Starts to unwind the call stack. */ +export declare function start_unwind(data: StackDescriptor): void; +/** Stops unwinding the call stack. */ +export declare function stop_unwind(): void; +/** Starts to rewind the call stack. */ +export declare function start_rewind(data: StackDescriptor): void; +/** Stops rewinding the call stack. */ +export declare function stop_rewind(): void; +`,"bindings/dom":`@external("env", "globalThis") +export declare const globalThis: externref; + +export declare namespace Math { + @external("env", "Math.E") + export const E: f64; + @external("env", "Math.LN2") + export const LN2: f64; + @external("env", "Math.LN10") + export const LN10: f64; + @external("env", "Math.LOG2E") + export const LOG2E: f64; + @external("env", "Math.LOG10E") + export const LOG10E: f64; + @external("env", "Math.PI") + export const PI: f64; + @external("env", "Math.SQRT1_2") + export const SQRT1_2: f64; + @external("env", "Math.SQRT2") + export const SQRT2: f64; + @external("env", "Math.abs") + export function abs(x: f64): f64; + @external("env", "Math.acos") + export function acos(x: f64): f64; + @external("env", "Math.acosh") + export function acosh(x: f64): f64; + @external("env", "Math.asin") + export function asin(x: f64): f64; + @external("env", "Math.asinh") + export function asinh(x: f64): f64; + @external("env", "Math.atan") + export function atan(x: f64): f64; + @external("env", "Math.atan2") + export function atan2(y: f64, x: f64): f64; + @external("env", "Math.atanh") + export function atanh(x: f64): f64; + @external("env", "Math.cbrt") + export function cbrt(x: f64): f64; + @external("env", "Math.ceil") + export function ceil(x: f64): f64; + @external("env", "Math.clz32") + export function clz32(x: f64): f64; + @external("env", "Math.cos") + export function cos(x: f64): f64; + @external("env", "Math.cosh") + export function cosh(x: f64): f64; + @external("env", "Math.exp") + export function exp(x: f64): f64; + @external("env", "Math.expm1") + export function expm1(x: f64): f64; + @external("env", "Math.floor") + export function floor(x: f64): f64; + @external("env", "Math.fround") + export function fround(x: f64): f32; + @external("env", "Math.hypot") + export function hypot(value1: f64, value2: f64): f64; // TODO: rest + @external("env", "Math.imul") + export function imul(a: f64, b: f64): f64; + @external("env", "Math.log") + export function log(x: f64): f64; + @external("env", "Math.log10") + export function log10(x: f64): f64; + @external("env", "Math.log1p") + export function log1p(x: f64): f64; + @external("env", "Math.log2") + export function log2(x: f64): f64; + @external("env", "Math.max") + export function max(value1: f64, value2: f64): f64; // TODO: rest + @external("env", "Math.min") + export function min(value1: f64, value2: f64): f64; // TODO: rest + @external("env", "Math.pow") + export function pow(base: f64, exponent: f64): f64; + @external("env", "Math.random") + export function random(): f64; + @external("env", "Math.round") + export function round(x: f64): f64; + @external("env", "Math.sign") + export function sign(x: f64): f64; + @external("env", "Math.sin") + export function sin(x: f64): f64; + @external("env", "Math.sinh") + export function sinh(x: f64): f64; + @external("env", "Math.sqrt") + export function sqrt(x: f64): f64; + @external("env", "Math.tan") + export function tan(x: f64): f64; + @external("env", "Math.tanh") + export function tanh(x: f64): f64; + @external("env", "Math.trunc") + export function trunc(x: f64): f64; +} + +export declare namespace Reflect { + @external("env", "Reflect.get") + export function get(target: externref, propertyKey: string): externref; + @external("env", "Reflect.getWithReceiver") + @external.js("return Reflect.get(target, propertyKey, receiver);") + export function getWithReceiver(target: externref, propertyKey: string, receiver: externref): externref; + @external("env", "Reflect.has") + export function has(target: externref, propertyKey: string): bool; + @external("env", "Reflect.set") + export function set(target: externref, propertyKey: string, value: externref): externref; + @external("env", "Reflect.setWithReceiver") + @external.js("return Reflect.set(target, propertyKey, value, receiver);") + export function setWithReceiver(target: externref, propertyKey: string, value: externref , receiver: externref): externref; + @external("env", "Reflect.apply") + export function apply(target: externref, thisArgument: externref, argumentsList: externref): externref; +} + +export declare namespace String { + @external("env", "String.fromCodePoint") + export function fromCodePoint(codepoint: i32): externref; + @external("env", "String.fromCodePoints") + @external.js("return String.fromCodePoint(...codepoints);") + export function fromCodePoints(codepoints: i32[]): externref; +} + +export declare namespace Object { + @external("env", "Object.is") + export function is(a: externref, b: externref): bool; + @external("env", "Object.hasOwn") + export function hasOwn(target: externref, propertyKey: string): bool; + @external("env", "Object.assign") + export function assign(target: externref, source: externref): externref; + @external("env", "Object.keys") + export function keys(target: externref): externref; + @external("env", "Object.values") + export function values(target: externref): externref; + @external("env", "Object.entries") + export function entries(target: externref): externref; + @external("env", "Object.getOwnPropertyNames") + export function getOwnPropertyNames(target: externref): externref; +} + +export declare namespace Date { + @external("env", "Date.now") + export function now(): f64; +} + +export declare namespace console { + @external("env", "console.assert") + export function assert(condition: bool, message: string): void; + @external("env", "console.log") + export function log(text: string): void; + @external("env", "console.debug") + export function debug(text: string): void; + @external("env", "console.info") + export function info(text: string): void; + @external("env", "console.warn") + export function warn(text: string): void; + @external("env", "console.error") + export function error(text: string): void; + @external("env", "console.time") + export function time(label: string): void; + @external("env", "console.timeLog") + export function timeLog(label: string): void; + @external("env", "console.timeEnd") + export function timeEnd(label: string): void; +} + +export declare namespace document { + /** Returns document's encoding. */ + @external("env", "document.characterSet") + export const characterSet: string; + /** Returns a value that indicates whether standards-compliant mode is switched on for the object. */ + @external("env", "document.compatMode") + export const compatMode: string; + /** Returns document's content type. */ + @external("env", "document.contentType") + export const contentType: string; + /** Returns a reference to the root node of the document. */ + @external("env", "document.documentElement") + export const documentElement: externref; + /** Returns document's URL. */ + @external("env", "document.documentURI") + export const documentURI: string; + /** Returns the URL of the location that referred the user to the current page. */ + @external("env", "document.referrer") + export const referrer: string; + /** Returns true if document has the ability of fullscreen mode, or false otherwise. */ + @external("env", "document.pictureInPictureEnabled") + export const fullscreenEnabled: bool; + /** Returns true if document has the ability of picture-in-picture mode, or false otherwise. */ + @external("env", "document.pictureInPictureEnabled") + export const pictureInPictureEnabled: bool; + + /** Returns the number of child elements. */ + @external("env", "document.childElementCount") + export const childElementCount: i32; + /** Returns the child elements. */ + @external("env", "document.children") + export const children: externref; + /** Returns the first child that is an element, and null otherwise. */ + @external("env", "document.firstElementChild") + export const firstElementChild: externref; + /** Returns the last child that is an element, and null otherwise. */ + @external("env", "document.lastElementChild") + export const lastElementChild: externref; + + /** + * Returns the HTTP cookies that apply to the Document. If there are no cookies or cookies can't be applied + * to this resource, the empty string will be returned. + * + * Can be set, to add a new cookie to the element's set of HTTP cookies. + * + * If the contents are sandboxed into a unique origin (e.g. in an iframe with the sandbox attribute), + * a "SecurityError" DOMException will be thrown on getting and setting. + */ + @external("env", "document.cookie") + export let cookie: string; + /** Represents the or node of the current document, or null if no such element exists. */ + @external("env", "document.body") + export let body: externref; + /** Sets or gets the security domain of the document. */ + @external("env", "document.domain") + export let domain: string; + /** Sets or gets the title of the document. */ + @external("env", "document.title") + export let title: string; + /** Sets or gets information about the current Location. */ + @external("env", "document.location") + export let location: externref; + /** Sets or gets the URL for the current document. */ + @external("env", "document.URL") + export let URL: string; + + /** + * Creates an instance of the element for the specified tag. + * @param tagName The name of an element. + */ + @external("env", "document.createElement") + export function createElement(tagName: string /* , options?: ElementCreationOptions */): externref; + /** + * Returns a reference to the first HTMLElement object with the specified value of the ID attribute. + * @param id String that specifies the ID value. + */ + @external("env", "document.getElementById") + export function getElementById(id: string): externref; + /** + * Returns a HTMLCollection of the elements in the object on which the method was invoked that have all the classes + * given by classNames. The classNames argument is interpreted as a space-separated list of classes. + * @param classNames Gets a collection of objects based on the value of the CLASS attribute. + */ + @external("env", "document.getElementsByClassName") + export function getElementsByClassName(classNames: string): externref; + /** + * Gets a collection of HTMLElement objects based on the value of the NAME or ID attribute. + * @param elementName Gets a collection of objects based on the value of the NAME or ID attribute. + */ + @external("env", "document.getElementsByName") + export function getElementsByName(elementName: string): externref; + /** Gets a value indicating whether the object currently has focus. */ + @external("env", "document.hasFocus") + export function hasFocus(): bool; + /** Inserts nodes after the last child of node, while replacing strings in nodes with equivalent Text nodes. */ + @external("env", "document.append") + export function append(node: externref): void; + /** Inserts nodes before the first child of node, while replacing strings in nodes with equivalent Text nodes. */ + @external("env", "document.prepend") + export function prepend(node: externref): void; + /** Replace all children of node with nodes, while replacing strings in nodes with equivalent Text nodes. */ + @external("env", "document.replaceChildren") + export function replaceChildren(node: externref): void; + /** + * Writes one or more HTML expressions to a document in the specified window. + * @param content Specifies the text and HTML tags to write. + */ + @external("env", "document.write") + export function write(content: string): void; + /** + * Writes one or more HTML expressions, followed by a carriage return, to a document in the specified window. + * @param content Specifies the text and HTML tags to write. + */ + @external("env", "document.writeln") + export function writeln(content: string): void; +} + +export declare namespace performance { + @external("env", "performance.now") + export function now(): f64; +} + +export namespace crypto { + export function getRandomValues(array: Uint8Array): void { + let values = getRandomValuesN(array.length); + array.set(values); + } + @external("env", "crypto.getRandomValuesN") + @external.js("let a = new Uint8Array(n); crypto.getRandomValues(a); return a;") + export declare function getRandomValuesN(n: u32): Uint8Array; +} +`,"bindings/node":`export declare namespace process { + @external("env", "process.argv") + export const argv: string[]; + @external("env", "process.exit") + export function exit(code: i32): void; +} +`,builtins:`import { strtol, strtod, strtob } from "./util/string"; + +type auto = i32; + +// @ts-ignore: decorator +@builtin +export declare function isBoolean(value?: T): bool; + +// @ts-ignore: decorator +@builtin +export declare function isInteger(value?: T): bool; + +// @ts-ignore: decorator +@builtin +export declare function isSigned(value?: T): bool; + +// @ts-ignore: decorator +@builtin +export declare function isFloat(value?: T): bool; + +// @ts-ignore: decorator +@builtin +export declare function isVector(value?: T): bool; + +// @ts-ignore: decorator +@builtin +export declare function isReference(value?: T): bool; + +// @ts-ignore: decorator +@builtin +export declare function isString(value?: T): bool; + +// @ts-ignore: decorator +@builtin +export declare function isArray(value?: T): bool; + +// @ts-ignore: decorator +@builtin +export declare function isArrayLike(value?: T): bool; + +// @ts-ignore: decorator +@builtin +export declare function isFunction(value?: T): bool; + +// @ts-ignore: decorator +@builtin +export declare function isNullable(value?: T): bool; + +// @ts-ignore: decorator +@builtin +export declare function isDefined(expression: auto): bool; + +// @ts-ignore: decorator +@builtin +export declare function isConstant(expression: auto): bool; + +// @ts-ignore: decorator +@builtin +export declare function isManaged(value?: T): bool; + +// @ts-ignore: decorator +@builtin +export declare function isVoid(): bool; + +// @ts-ignore +@builtin +export declare function lengthof(func?: T): i32; + +// @ts-ignore: decorator +@builtin +export declare function clz(value: T): T; + +// @ts-ignore: decorator +@builtin +export declare function ctz(value: T): T; + +// @ts-ignore: decorator +@builtin +export declare function popcnt(value: T): T; + +// @ts-ignore: decorator +@builtin +export declare function rotl(value: T, shift: T): T; + +// @ts-ignore: decorator +@builtin +export declare function rotr(value: T, shift: T): T; + +// @ts-ignore: decorator +@builtin +export declare function abs(value: T): T; + +// @ts-ignore: decorator +@builtin +export declare function max(left: T, right: T): T; + +// @ts-ignore: decorator +@builtin +export declare function min(left: T, right: T): T; + +// @ts-ignore: decorator +@builtin +export declare function ceil(value: T): T; + +// @ts-ignore: decorator +@builtin +export declare function floor(value: T): T; + +// @ts-ignore: decorator +@builtin +export declare function copysign(left: T, right: T): T; + +// @ts-ignore: decorator +@builtin +export declare function nearest(value: T): T; + +// @ts-ignore: decorator +@builtin +export declare function reinterpret(value: number): T; + +// @ts-ignore: decorator +@builtin +export declare function sqrt(value: T): T; + +// @ts-ignore: decorator +@builtin +export declare function trunc(value: T): T; + +// @ts-ignore: decorator +@builtin +export declare function add(left: T, right: T): T; + +// @ts-ignore: decorator +@builtin +export declare function sub(left: T, right: T): T; + +// @ts-ignore: decorator +@builtin +export declare function mul(left: T, right: T): T; + +// @ts-ignore: decorator +@builtin +export declare function div(left: T, right: T): T; + +// @ts-ignore: decorator +@builtin +export declare function eq(left: T, right: T): i32; + +// @ts-ignore: decorator +@builtin +export declare function ne(left: T, right: T): i32; + +// @ts-ignore: decorator +@builtin +export declare function rem(left: T, right: T): T; + +// @ts-ignore: decorator +@unsafe @builtin +export declare function load(ptr: usize, immOffset?: usize, immAlign?: usize): T; + +// @ts-ignore: decorator +@unsafe @builtin +export declare function store(ptr: usize, value: auto, immOffset?: usize, immAlign?: usize): void; + +// @ts-ignore: decorator +@builtin +export declare function sizeof(): usize; // | u32 / u64 + +// @ts-ignore: decorator +@builtin +export declare function alignof(): usize; // | u32 / u64 + +// @ts-ignore: decorator +@builtin +export declare function offsetof(fieldName?: string): usize; // | u32 / u64 + +// @ts-ignore: decorator +@builtin +export declare function idof(): u32; + +// @ts-ignore +@builtin +export declare function nameof(): string; + +// @ts-ignore: decorator +@builtin +export declare function select(ifTrue: T, ifFalse: T, condition: bool): T; + +// @ts-ignore: decorator +@unsafe @builtin +export declare function unreachable(): auto; + +// @ts-ignore: decorator +@builtin +export declare function changetype(value: auto): T; + +// @ts-ignore: decorator +@builtin +export declare function assert(isTrueish: T, message?: string): T; + +// @ts-ignore: decorator +@unsafe @builtin +export declare function unchecked(expr: T): T; + +// @ts-ignore: decorator +@unsafe @builtin +export declare function call_indirect(index: u32, ...args: auto[]): T; + +// @ts-ignore: decorator +@builtin +export declare function instantiate(...args: auto[]): T; + +export namespace atomic { + // @ts-ignore: decorator + @unsafe @builtin + export declare function load(ptr: usize, immOffset?: usize): T; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function store(ptr: usize, value: T, immOffset?: usize): void; + + // @ts-ignore: decorator + @builtin + export declare function add(ptr: usize, value: T, immOffset?: usize): T; + + // @ts-ignore: decorator + @builtin + export declare function sub(ptr: usize, value: T, immOffset?: usize): T; + + // @ts-ignore: decorator + @builtin + export declare function and(ptr: usize, value: T, immOffset?: usize): T; + + // @ts-ignore: decorator + @builtin + export declare function or(ptr: usize, value: T, immOffset?: usize): T; + + // @ts-ignore: decorator + @builtin + export declare function xor(ptr: usize, value: T, immOffset?: usize): T; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function xchg(ptr: usize, value: T, immOffset?: usize): T; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function cmpxchg(ptr: usize, expected: T, replacement: T, immOffset?: usize): T; + + // @ts-ignore: decorator + @builtin + export declare function wait(ptr: usize, expected: T, timeout: i64): AtomicWaitResult; + + // @ts-ignore: decorator + @builtin + export declare function notify(ptr: usize, count: i32): i32; + + // @ts-ignore: decorator + @builtin + export declare function fence(): void; +} + +// @ts-ignore: decorator +@lazy +export const enum AtomicWaitResult { + OK = 0, + NOT_EQUAL = 1, + TIMED_OUT = 2 +} + +// @ts-ignore: decorator +@builtin +export declare function i8(value: auto): i8; + +export namespace i8 { + + // @ts-ignore: decorator + @lazy + export const MIN_VALUE: i8 = -128; + + // @ts-ignore: decorator + @lazy + export const MAX_VALUE: i8 = 127; + + // @ts-ignore: decorator + @inline + export function parse(value: string, radix: i32 = 0): i8 { + return strtol(value, radix); + } +} + +// @ts-ignore: decorator +@builtin +export declare function i16(value: auto): i16; + +export namespace i16 { + + // @ts-ignore: decorator + @lazy + export const MIN_VALUE: i16 = -32768; + + // @ts-ignore: decorator + @lazy + export const MAX_VALUE: i16 = 32767; + + // @ts-ignore: decorator + @inline + export function parse(value: string, radix: i32 = 0): i16 { + return strtol(value, radix); + } +} + +// @ts-ignore: decorator +@builtin +export declare function i32(value: auto): i32; + +export namespace i32 { + + // @ts-ignore: decorator + @lazy + export const MIN_VALUE: i32 = -2147483648; + + // @ts-ignore: decorator + @lazy + export const MAX_VALUE: i32 = 2147483647; + + // @ts-ignore: decorator + @inline + export function parse(value: string, radix: i32 = 0): i32 { + return strtol(value, radix); + } + + // @ts-ignore: decorator + @builtin + export declare function clz(value: i32): i32; + + // @ts-ignore: decorator + @builtin + export declare function ctz(value: i32): i32; + + // @ts-ignore: decorator + @builtin + export declare function popcnt(value: i32): i32; + + // @ts-ignore: decorator + @builtin + export declare function add(left: i32, right:i32): i32; + + // @ts-ignore: decorator + @builtin + export declare function sub(left: i32, right:i32): i32; + + // @ts-ignore: decorator + @builtin + export declare function mul(left: i32, right:i32): i32; + + // @ts-ignore: decorator + @builtin + export declare function div_s(left: i32, right:i32): i32; + + // @ts-ignore: decorator + @builtin + export declare function div_u(left: i32, right:i32): i32; + + // @ts-ignore: decorator + @builtin + export declare function rotl(value: i32, shift: i32): i32; + + // @ts-ignore: decorator + @builtin + export declare function rotr(value: i32, shift: i32): i32; + + // @ts-ignore: decorator + @builtin + export declare function eq(left: i32, right:i32): i32; + + // @ts-ignore: decorator + @builtin + export declare function ne(left: i32, right:i32): i32; + + // @ts-ignore: decorator + @builtin + export declare function rem_s(left: i32, right: i32): i32; + + // @ts-ignore: decorator + @builtin + export declare function rem_u(left: u32, right: u32): u32; + + // @ts-ignore: decorator + @builtin + export declare function reinterpret_f32(value: f32): i32; + + // @ts-ignore: decorator + @builtin + export declare function load8_s(ptr: usize, immOffset?: usize, immAlign?: usize): i32; + + // @ts-ignore: decorator + @builtin + export declare function load8_u(ptr: usize, immOffset?: usize, immAlign?: usize): i32; + + // @ts-ignore: decorator + @builtin + export declare function load16_s(ptr: usize, immOffset?: usize, immAlign?: usize): i32; + + // @ts-ignore: decorator + @builtin + export declare function load16_u(ptr: usize, immOffset?: usize, immAlign?: usize): i32; + + // @ts-ignore: decorator + @builtin + export declare function load(ptr: usize, immOffset?: usize, immAlign?: usize): i32; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function store8(ptr: usize, value: i32, immOffset?: usize, immAlign?: usize): void; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function store16(ptr: usize, value: i32, immOffset?: usize, immAlign?: usize): void; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function store(ptr: usize, value: i32, immOffset?: usize, immAlign?: usize): void; + + export namespace atomic { + + // @ts-ignore: decorator + @builtin + export declare function load8_u(ptr: usize, immOffset?: usize): i32; + + // @ts-ignore: decorator + @builtin + export declare function load16_u(ptr: usize, immOffset?: usize): i32; + + // @ts-ignore: decorator + @builtin + export declare function load(ptr: usize, immOffset?: usize): i32; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function store8(ptr: usize, value: i32, immOffset?: usize): void; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function store16(ptr: usize, value: i32, immOffset?: usize): void; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function store(ptr: usize, value: i32, immOffset?: usize): void; + + export namespace rmw8 { + + // @ts-ignore: decorator + @builtin + export declare function add_u(ptr: usize, value: i32, immOffset?: usize): i32; + + // @ts-ignore: decorator + @builtin + export declare function sub_u(ptr: usize, value: i32, immOffset?: usize): i32; + + // @ts-ignore: decorator + @builtin + export declare function and_u(ptr: usize, value: i32, immOffset?: usize): i32; + + // @ts-ignore: decorator + @builtin + export declare function or_u(ptr: usize, value: i32, immOffset?: usize): i32; + + // @ts-ignore: decorator + @builtin + export declare function xor_u(ptr: usize, value: i32, immOffset?: usize): i32; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function xchg_u(ptr: usize, value: i32, immOffset?: usize): i32; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function cmpxchg_u(ptr: usize, expected: i32, replacement: i32, immOffset?: usize): i32; + } + + export namespace rmw16 { + + // @ts-ignore: decorator + @builtin + export declare function add_u(ptr: usize, value: i32, immOffset?: usize): i32; + + // @ts-ignore: decorator + @builtin + export declare function sub_u(ptr: usize, value: i32, immOffset?: usize): i32; + + // @ts-ignore: decorator + @builtin + export declare function and_u(ptr: usize, value: i32, immOffset?: usize): i32; + + // @ts-ignore: decorator + @builtin + export declare function or_u(ptr: usize, value: i32, immOffset?: usize): i32; + + // @ts-ignore: decorator + @builtin + export declare function xor_u(ptr: usize, value: i32, immOffset?: usize): i32; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function xchg_u(ptr: usize, value: i32, immOffset?: usize): i32; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function cmpxchg_u(ptr: usize, expected: i32, replacement: i32, immOffset?: usize): i32; + } + + export namespace rmw { + + // @ts-ignore: decorator + @builtin + export declare function add(ptr: usize, value: i32, immOffset?: usize): i32; + + // @ts-ignore: decorator + @builtin + export declare function sub(ptr: usize, value: i32, immOffset?: usize): i32; + + // @ts-ignore: decorator + @builtin + export declare function and(ptr: usize, value: i32, immOffset?: usize): i32; + + // @ts-ignore: decorator + @builtin + export declare function or(ptr: usize, value: i32, immOffset?: usize): i32; + + // @ts-ignore: decorator + @builtin + export declare function xor(ptr: usize, value: i32, immOffset?: usize): i32; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function xchg(ptr: usize, value: i32, immOffset?: usize): i32; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function cmpxchg(ptr: usize, expected: i32, replacement: i32, immOffset?: usize): i32; + } + } +} + +// @ts-ignore: decorator +@builtin +export declare function i64(value: auto): i64; + +export namespace i64 { + + // @ts-ignore: decorator + @lazy + export const MIN_VALUE: i64 = -9223372036854775808; + + // @ts-ignore: decorator + @lazy + export const MAX_VALUE: i64 = 9223372036854775807; + + // @ts-ignore: decorator + @inline + export function parse(value: string, radix: i32 = 0): i64 { + return strtol(value, radix); + } + + // @ts-ignore: decorator + @builtin + export declare function clz(value: i64): i64; + + // @ts-ignore: decorator + @builtin + export declare function ctz(value: i64): i64; + + // @ts-ignore: decorator + @builtin + export declare function add(left: i64, right:i64): i64; + + // @ts-ignore: decorator + @builtin + export declare function sub(left: i64, right:i64): i64; + + // @ts-ignore: decorator + @builtin + export declare function mul(left: i64, right:i64): i64; + + // @ts-ignore: decorator + @builtin + export declare function div_s(left: i64, right:i64): i64; + + // @ts-ignore: decorator + @builtin + export declare function div_u(left: i64, right:i64): i64; + + // @ts-ignore: decorator + @builtin + export declare function load8_s(ptr: usize, immOffset?: usize, immAlign?: usize): i64; + + // @ts-ignore: decorator + @builtin + export declare function load8_u(ptr: usize, immOffset?: usize, immAlign?: usize): i64; + + // @ts-ignore: decorator + @builtin + export declare function load16_s(ptr: usize, immOffset?: usize, immAlign?: usize): i64; + + // @ts-ignore: decorator + @builtin + export declare function load16_u(ptr: usize, immOffset?: usize, immAlign?: usize): i64; + + // @ts-ignore: decorator + @builtin + export declare function load32_s(ptr: usize, immOffset?: usize, immAlign?: usize): i64; + + // @ts-ignore: decorator + @builtin + export declare function load32_u(ptr: usize, immOffset?: usize, immAlign?: usize): i64; + + // @ts-ignore: decorator + @builtin + export declare function load(ptr: usize, immOffset?: usize): i64; + + // @ts-ignore: decorator + @builtin + export declare function popcnt(value: i64): i64; + + // @ts-ignore: decorator + @builtin + export declare function rotl(value: i64, shift: i64): i64; + + // @ts-ignore: decorator + @builtin + export declare function rotr(value: i64, shift: i64): i64; + + // @ts-ignore: decorator + @builtin + export declare function eq(left: i64, right:i64): i32; + + // @ts-ignore: decorator + @builtin + export declare function ne(left: i64, right:i64): i32; + + // @ts-ignore: decorator + @builtin + export declare function rem_s(left: i64, right: i64): i64; + + // @ts-ignore: decorator + @builtin + export declare function rem_u(left: u64, right: u64): u64; + + // @ts-ignore: decorator + @builtin + export declare function reinterpret_f64(value: f64): i64; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function store8(ptr: usize, value: i64, immOffset?: usize, immAlign?: usize): void; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function store16(ptr: usize, value: i64, immOffset?: usize, immAlign?: usize): void; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function store32(ptr: usize, value: i64, immOffset?: usize, immAlign?: usize): void; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function store(ptr: usize, value: i64, immOffset?: usize, immAlign?: usize): void; + + export namespace atomic { + + // @ts-ignore: decorator + @builtin + export declare function load8_u(ptr: usize, immOffset?: usize): i64; + + // @ts-ignore: decorator + @builtin + export declare function load16_u(ptr: usize, immOffset?: usize): i64; + + // @ts-ignore: decorator + @builtin + export declare function load32_u(ptr: usize, immOffset?: usize): i64; + + // @ts-ignore: decorator + @builtin + export declare function load(ptr: usize, immOffset?: usize): i64; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function store8(ptr: usize, value: i64, immOffset?: usize): void; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function store16(ptr: usize, value: i64, immOffset?: usize): void; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function store32(ptr: usize, value: i64, immOffset?: usize): void; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function store(ptr: usize, value: i64, immOffset?: usize): void; + + export namespace rmw8 { + + // @ts-ignore: decorator + @builtin + export declare function add_u(ptr: usize, value: i64, immOffset?: usize): i64; + + // @ts-ignore: decorator + @builtin + export declare function sub_u(ptr: usize, value: i64, immOffset?: usize): i64; + + // @ts-ignore: decorator + @builtin + export declare function and_u(ptr: usize, value: i64, immOffset?: usize): i64; + + // @ts-ignore: decorator + @builtin + export declare function or_u(ptr: usize, value: i64, immOffset?: usize): i64; + + // @ts-ignore: decorator + @builtin + export declare function xor_u(ptr: usize, value: i64, immOffset?: usize): i64; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function xchg_u(ptr: usize, value: i64, immOffset?: usize): i64; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function cmpxchg_u(ptr: usize, expected: i64, replacement: i64, immOffset?: usize): i64; + } + + export namespace rmw16 { + + // @ts-ignore: decorator + @builtin + export declare function add_u(ptr: usize, value: i64, immOffset?: usize): i64; + + // @ts-ignore: decorator + @builtin + export declare function sub_u(ptr: usize, value: i64, immOffset?: usize): i64; + + // @ts-ignore: decorator + @builtin + export declare function and_u(ptr: usize, value: i64, immOffset?: usize): i64; + + // @ts-ignore: decorator + @builtin + export declare function or_u(ptr: usize, value: i64, immOffset?: usize): i64; + + // @ts-ignore: decorator + @builtin + export declare function xor_u(ptr: usize, value: i64, immOffset?: usize): i64; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function xchg_u(ptr: usize, value: i64, immOffset?: usize): i64; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function cmpxchg_u(ptr: usize, expected: i64, replacement: i64, immOffset?: usize): i64; + } + + export namespace rmw32 { + + // @ts-ignore: decorator + @builtin + export declare function add_u(ptr: usize, value: i64, immOffset?: usize): i64; + + // @ts-ignore: decorator + @builtin + export declare function sub_u(ptr: usize, value: i64, immOffset?: usize): i64; + + // @ts-ignore: decorator + @builtin + export declare function and_u(ptr: usize, value: i64, immOffset?: usize): i64; + + // @ts-ignore: decorator + @builtin + export declare function or_u(ptr: usize, value: i64, immOffset?: usize): i64; + + // @ts-ignore: decorator + @builtin + export declare function xor_u(ptr: usize, value: i64, immOffset?: usize): i64; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function xchg_u(ptr: usize, value: i64, immOffset?: usize): i64; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function cmpxchg_u(ptr: usize, expected: i64, replacement: i64, immOffset?: usize): i64; + } + + export namespace rmw { + + // @ts-ignore: decorator + @builtin + export declare function add(ptr: usize, value: i64, immOffset?: usize): i64; + + // @ts-ignore: decorator + @builtin + export declare function sub(ptr: usize, value: i64, immOffset?: usize): i64; + + // @ts-ignore: decorator + @builtin + export declare function and(ptr: usize, value: i64, immOffset?: usize): i64; + + // @ts-ignore: decorator + @builtin + export declare function or(ptr: usize, value: i64, immOffset?: usize): i64; + + // @ts-ignore: decorator + @builtin + export declare function xor(ptr: usize, value: i64, immOffset?: usize): i64; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function xchg(ptr: usize, value: i64, immOffset?: usize): i64; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function cmpxchg(ptr: usize, expected: i64, replacement: i64, immOffset?: usize): i64; + } + } +} + +// @ts-ignore: decorator +@builtin +export declare function isize(value: auto): isize; + +export namespace isize { + + // @ts-ignore: decorator + @lazy + export const MIN_VALUE: isize = sizeof() == sizeof() + ? -2147483648 + : -9223372036854775808; + + // @ts-ignore: decorator + @lazy + export const MAX_VALUE: isize = sizeof() == sizeof() + ? 2147483647 + : 9223372036854775807; + + // @ts-ignore: decorator + @inline + export function parse(value: string, radix: i32 = 0): isize { + return strtol(value, radix); + } +} + +// @ts-ignore: decorator +@builtin +export declare function u8(value: auto): u8; + +export namespace u8 { + + // @ts-ignore: decorator + @lazy + export const MIN_VALUE: u8 = 0; + + // @ts-ignore: decorator + @lazy + export const MAX_VALUE: u8 = 255; + + // @ts-ignore: decorator + @inline + export function parse(value: string, radix: i32 = 0): u8 { + return strtol(value, radix); + } +} + +// @ts-ignore: decorator +@builtin +export declare function u16(value: auto): u16; + +export namespace u16 { + + // @ts-ignore: decorator + @lazy + export const MIN_VALUE: u16 = 0; + + // @ts-ignore: decorator + @lazy + export const MAX_VALUE: u16 = 65535; + + // @ts-ignore: decorator + @inline + export function parse(value: string, radix: i32 = 0): u16 { + return strtol(value, radix); + } +} + +// @ts-ignore: decorator +@builtin +export declare function u32(value: auto): u32; + +export namespace u32 { + + // @ts-ignore: decorator + @lazy + export const MIN_VALUE: u32 = 0; + + // @ts-ignore: decorator + @lazy + export const MAX_VALUE: u32 = 4294967295; + + // @ts-ignore: decorator + @inline + export function parse(value: string, radix: i32 = 0): u32 { + return strtol(value, radix); + } +} + +// @ts-ignore: decorator +@builtin +export declare function u64(value: auto): u64; + +export namespace u64 { + + // @ts-ignore: decorator + @lazy + export const MIN_VALUE: u64 = 0; + + // @ts-ignore: decorator + @lazy + export const MAX_VALUE: u64 = 18446744073709551615; + + // @ts-ignore: decorator + @inline + export function parse(value: string, radix: i32 = 0): u64 { + return strtol(value, radix); + } +} + +// @ts-ignore: decorator +@builtin +export declare function usize(value: auto): usize; + +export namespace usize { + + // @ts-ignore: decorator + @lazy + export const MIN_VALUE: usize = 0; + + // @ts-ignore: decorator + @lazy + export const MAX_VALUE: usize = sizeof() == sizeof() + ? 4294967295 + : 18446744073709551615; + + // @ts-ignore: decorator + @inline + export function parse(value: string, radix: i32 = 0): usize { + return strtol(value, radix); + } +} + +// @ts-ignore: decorator +@builtin +export declare function bool(value: auto): bool; + +export namespace bool { + + // @ts-ignore: decorator + @lazy + export const MIN_VALUE: bool = false; + + // @ts-ignore: decorator + @lazy + export const MAX_VALUE: bool = true; + + // @ts-ignore: decorator + @inline + export function parse(value: string): bool { + return strtob(value); + } +} + +// @ts-ignore: decorator +@builtin +export declare function f32(value: auto): f32; + +export namespace f32 { + + // @ts-ignore: decorator + @lazy + export const EPSILON = reinterpret(0x34000000); // 0x1p-23f + + // @ts-ignore: decorator + @lazy + export const MIN_VALUE = reinterpret(0x00000001); // 0x0.000001p+0f + + // @ts-ignore: decorator + @lazy + export const MAX_VALUE = reinterpret(0x7F7FFFFF); // 0x1.fffffep+127f + + // @ts-ignore: decorator + @lazy + export const MIN_NORMAL_VALUE = reinterpret(0x00800000); // 0x1p-126f + + // @ts-ignore: decorator + @lazy + export const MIN_SAFE_INTEGER: f32 = -16777215; + + // @ts-ignore: decorator + @lazy + export const MAX_SAFE_INTEGER: f32 = 16777215; + + // @ts-ignore: decorator + @lazy + export const POSITIVE_INFINITY: f32 = Infinity; + + // @ts-ignore: decorator + @lazy + export const NEGATIVE_INFINITY: f32 = -Infinity; + + // @ts-ignore: decorator + @lazy + export const NaN: f32 = 0.0 / 0.0; + + // @ts-ignore: decorator + @inline + export function parse(value: string): f32 { + return strtod(value); + } + + // @ts-ignore: decorator + @builtin + export declare function abs(value: f32): f32; + + // @ts-ignore: decorator + @builtin + export declare function ceil(value: f32): f32; + + // @ts-ignore: decorator + @builtin + export declare function copysign(x: f32, y: f32): f32; + + // @ts-ignore: decorator + @builtin + export declare function floor(value: f32): f32; + + // @ts-ignore: decorator + @builtin + export declare function load(ptr: usize, immOffset?: usize, immAlign?: usize): f32; + + // @ts-ignore: decorator + @builtin + export declare function max(left: f32, right: f32): f32; + + // @ts-ignore: decorator + @builtin + export declare function min(left: f32, right: f32): f32; + + // @ts-ignore: decorator + @builtin + export declare function nearest(value: f32): f32; + + // @ts-ignore: decorator + @builtin + export declare function reinterpret_i32(value: i32): f32; + + // @ts-ignore: decorator + @builtin + export declare function sqrt(value: f32): f32; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function store(ptr: usize, value: f32, immOffset?: usize, immAlign?: usize): void; + + // @ts-ignore: decorator + @builtin + export declare function trunc(value: f32): f32; + + // @ts-ignore: decorator + @builtin + export declare function add(left: f32, right: f32): f32; + + // @ts-ignore: decorator + @builtin + export declare function sub(left: f32, right: f32): f32; + + // @ts-ignore: decorator + @builtin + export declare function mul(left: f32, right: f32): f32; + + // @ts-ignore: decorator + @builtin + export declare function div(left: f32, right: f32): f32; + + // @ts-ignore: decorator + @builtin + export declare function eq(left: f32, right: f32): i32; + + // @ts-ignore: decorator + @builtin + export declare function ne(left: f32, right: f32): i32; +} + +// @ts-ignore: decorator +@builtin +export declare function f64(value: auto): f64; + +export namespace f64 { + + // @ts-ignore: decorator + @lazy + export const EPSILON = reinterpret(0x3CB0000000000000); // 0x1p-52 + + // @ts-ignore: decorator + @lazy + export const MIN_VALUE = reinterpret(0x0000000000000001); // 0x0.0000000000001p+0 + + // @ts-ignore: decorator + @lazy + export const MAX_VALUE = reinterpret(0x7FEFFFFFFFFFFFFF); // 0x1.fffffffffffffp+1023 + + // @ts-ignore: decorator + @lazy + export const MIN_NORMAL_VALUE = reinterpret(0x0010000000000000); // 0x1p-1022 + + // @ts-ignore: decorator + @lazy + export const MIN_SAFE_INTEGER: f64 = -9007199254740991; + + // @ts-ignore: decorator + @lazy + export const MAX_SAFE_INTEGER: f64 = 9007199254740991; + + // @ts-ignore: decorator + @lazy + export const POSITIVE_INFINITY: f64 = Infinity; + + // @ts-ignore: decorator + @lazy + export const NEGATIVE_INFINITY: f64 = -Infinity; + + // @ts-ignore: decorator + @lazy + export const NaN: f64 = 0.0 / 0.0; + + // @ts-ignore: decorator + @inline + export function parse(value: string): f64 { + return strtod(value); + } + + // @ts-ignore: decorator + @builtin + export declare function abs(value: f64): f64; + + // @ts-ignore: decorator + @builtin + export declare function ceil(value: f64): f64; + + // @ts-ignore: decorator + @builtin + export declare function copysign(x: f64, y: f64): f64; + + // @ts-ignore: decorator + @builtin + export declare function floor(value: f64): f64; + + // @ts-ignore: decorator + @builtin + export declare function load(ptr: usize, immOffset?: usize, immAlign?: usize): f64; + + // @ts-ignore: decorator + @builtin + export declare function max(left: f64, right: f64): f64; + + // @ts-ignore: decorator + @builtin + export declare function min(left: f64, right: f64): f64; + + // @ts-ignore: decorator + @builtin + export declare function nearest(value: f64): f64; + + // @ts-ignore: decorator + @builtin + export declare function reinterpret_i64(value: i64): f64; + + // @ts-ignore: decorator + @builtin + export declare function sqrt(value: f64): f64; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function store(ptr: usize, value: f64, immOffset?: usize, immAlign?: usize): void; + + // @ts-ignore: decorator + @builtin + export declare function trunc(value: f64): f64; + + // @ts-ignore: decorator + @builtin + export declare function add(left: f64, right: f64): f64; + + // @ts-ignore: decorator + @builtin + export declare function sub(left: f64, right: f64): f64; + + // @ts-ignore: decorator + @builtin + export declare function mul(left: f64, right: f64): f64; + + // @ts-ignore: decorator + @builtin + export declare function div(left: f64, right: f64): f64; + + // @ts-ignore: decorator + @builtin + export declare function eq(left: f64, right: f64): i32; + + // @ts-ignore: decorator + @builtin + export declare function ne(left: f64, right: f64): i32; +} + +// @ts-ignore: decorator +@builtin +export declare function v128( + a: i8, b: i8, c: i8, d: i8, e: i8, f: i8, g: i8, h: i8, + i: i8, j: i8, k: i8, l: i8, m: i8, n: i8, o: i8, p: i8 +): v128; + +export namespace v128 { + + // @ts-ignore: decorator + @builtin + export declare function splat(x: T): v128; + + // @ts-ignore: decorator + @builtin + export declare function extract_lane(x: v128, idx: u8): T; + + // @ts-ignore: decorator + @builtin + export declare function replace_lane(x: v128, idx: u8, value: T): v128; + + // @ts-ignore: decorator + @builtin + export declare function shuffle(a: v128, b: v128, ...lanes: u8[]): v128; + + // @ts-ignore: decorator + @builtin + export declare function swizzle(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function load(ptr: usize, immOffset?: usize, immAlign?: usize): v128; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function load_ext(ptr: usize, immOffset?: usize, immAlign?: usize): v128; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function load_zero(ptr: usize, immOffset?: usize, immAlign?: usize): v128; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function load_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): v128; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function store_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): void; + + // @ts-ignore: decorator + @builtin + export declare function load8x8_s(ptr: usize, immOffset?: u32, immAlign?: u32): v128; + + // @ts-ignore: decorator + @builtin + export declare function load8x8_u(ptr: usize, immOffset?: u32, immAlign?: u32): v128; + + // @ts-ignore: decorator + @builtin + export declare function load16x4_s(ptr: usize, immOffset?: u32, immAlign?: u32): v128; + + // @ts-ignore: decorator + @builtin + export declare function load16x4_u(ptr: usize, immOffset?: u32, immAlign?: u32): v128; + + // @ts-ignore: decorator + @builtin + export declare function load32x2_s(ptr: usize, immOffset?: u32, immAlign?: u32): v128; + + // @ts-ignore: decorator + @builtin + export declare function load32x2_u(ptr: usize, immOffset?: u32, immAlign?: u32): v128; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function load_splat(ptr: usize, immOffset?: usize, immAlign?: usize): v128; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function load8_splat(ptr: usize, immOffset?: u32, immAlign?: u32): v128; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function load16_splat(ptr: usize, immOffset?: u32, immAlign?: u32): v128; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function load32_splat(ptr: usize, immOffset?: u32, immAlign?: u32): v128; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function load64_splat(ptr: usize, immOffset?: u32, immAlign?: u32): v128; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function load32_zero(ptr: usize, immOffset?: u32, immAlign?: u32): v128; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function load64_zero(ptr: usize, immOffset?: u32, immAlign?: u32): v128; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function load8_lane(ptr: usize, vec: v128, idx: u8, immOffset?: u32, immAlign?: u32): v128; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function load16_lane(ptr: usize, vec: v128, idx: u8, immOffset?: u32, immAlign?: u32): v128; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function load32_lane(ptr: usize, vec: v128, idx: u8, immOffset?: u32, immAlign?: u32): v128; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function load64_lane(ptr: usize, vec: v128, idx: u8, immOffset?: u32, immAlign?: u32): v128; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function store8_lane(ptr: usize, vec: v128, idx: u8, immOffset?: u32, immAlign?: u32): void; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function store16_lane(ptr: usize, vec: v128, idx: u8, immOffset?: u32, immAlign?: u32): void; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function store32_lane(ptr: usize, vec: v128, idx: u8, immOffset?: u32, immAlign?: u32): void; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function store64_lane(ptr: usize, vec: v128, idx: u8, immOffset?: u32, immAlign?: u32): void; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function store(ptr: usize, value: v128, immOffset?: usize, immAlign?: usize): void; + + // @ts-ignore: decorator + @builtin + export declare function add(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function sub(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function mul(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function div(a: v128, b: v128): v128; // f32, f64 only + + // @ts-ignore: decorator + @builtin + export declare function neg(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function add_sat(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function sub_sat(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function shl(a: v128, b: i32): v128; + + // @ts-ignore: decorator + @builtin + export declare function shr(a: v128, b: i32): v128; + + // @ts-ignore: decorator + @builtin + export declare function and(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function or(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function xor(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function andnot(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function not(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function bitselect(v1: v128, v2: v128, c: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function any_true(a: v128): bool; + + // @ts-ignore: decorator + @builtin + export declare function all_true(a: v128): bool; + + // @ts-ignore: decorator + @builtin + export declare function bitmask(a: v128): i32; + + // @ts-ignore: decorator + @builtin + export declare function popcnt(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function min(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function max(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function pmin(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function pmax(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function dot(a: v128, b: v128): v128; // i16 only + + // @ts-ignore: decorator + @builtin + export declare function avgr(a: v128, b: v128): v128; // u8, u16 only + + // @ts-ignore: decorator + @builtin + export declare function abs(a: v128): v128; // f32, f64 only + + // @ts-ignore: decorator + @builtin + export declare function sqrt(a: v128): v128; // f32, f64 only + + // @ts-ignore: decorator + @builtin + export declare function ceil(a: v128): v128; // f32, f64 only + + // @ts-ignore: decorator + @builtin + export declare function floor(a: v128): v128; // f32, f64 only + + // @ts-ignore: decorator + @builtin + export declare function trunc(a: v128): v128; // f32, f64 only + + // @ts-ignore: decorator + @builtin + export declare function nearest(a: v128): v128; // f32, f64 only + + // @ts-ignore: decorator + @builtin + export declare function eq(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function ne(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function lt(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function le(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function gt(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function ge(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function convert(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function convert_low(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function trunc_sat(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function trunc_sat_zero(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function narrow(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function extend_low(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function extend_high(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function extadd_pairwise(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function demote_zero(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function promote_low(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function q15mulr_sat(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function extmul_low(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function extmul_high(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_swizzle(a: v128, s: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_trunc(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_trunc_zero(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_madd(a: v128, b: v128, c: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_nmadd(a: v128, b: v128, c: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_laneselect(a: v128, b: v128, m: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_min(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_max(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_q15mulr(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_dot(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_dot_add(a: v128, b: v128, c: v128): v128; +} + +// @ts-ignore: decorator +@builtin +export declare function i8x16( + a: i8, b: i8, c: i8, d: i8, e: i8, f: i8, g: i8, h: i8, + i: i8, j: i8, k: i8, l: i8, m: i8, n: i8, o: i8, p: i8 +): v128; + +export namespace i8x16 { + + // @ts-ignore: decorator + @builtin + export declare function splat(x: i8): v128; + + // @ts-ignore: decorator + @builtin + export declare function extract_lane_s(x: v128, idx: u8): i8; + + // @ts-ignore: decorator + @builtin + export declare function extract_lane_u(x: v128, idx: u8): u8; + + // @ts-ignore: decorator + @builtin + export declare function replace_lane(x: v128, idx: u8, value: i8): v128; + + // @ts-ignore: decorator + @builtin + export declare function add(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function sub(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function min_s(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function min_u(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function max_s(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function max_u(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function avgr_u(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function abs(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function neg(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function add_sat_s(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function add_sat_u(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function sub_sat_s(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function sub_sat_u(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function shl(a: v128, b: i32): v128; + + // @ts-ignore: decorator + @builtin + export declare function shr_s(a: v128, b: i32): v128; + + // @ts-ignore: decorator + @builtin + export declare function shr_u(a: v128, b: i32): v128; + + // @ts-ignore: decorator + @builtin + export declare function all_true(a: v128): bool; + + // @ts-ignore: decorator + @builtin + export declare function bitmask(a: v128): i32; + + // @ts-ignore: decorator + @builtin + export declare function popcnt(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function eq(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function ne(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function lt_s(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function lt_u(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function le_s(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function le_u(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function gt_s(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function gt_u(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function ge_s(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function ge_u(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function narrow_i16x8_s(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function narrow_i16x8_u(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function shuffle( + a: v128, b: v128, + l0: u8, l1: u8, l2: u8, l3: u8, l4: u8, l5: u8, l6: u8, l7: u8, + l8: u8, l9: u8, l10: u8, l11: u8, l12: u8, l13: u8, l14: u8, l15: u8 + ): v128; + + // @ts-ignore: decorator + @builtin + export declare function swizzle(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_swizzle(a: v128, s: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_laneselect(a: v128, b: v128, m: v128): v128; +} + +// @ts-ignore: decorator +@builtin +export declare function i16x8(a: i16, b: i16, c: i16, d: i16, e: i16, f: i16, g: i16, h: i16): v128; + +export namespace i16x8 { + + // @ts-ignore: decorator + @builtin + export declare function splat(x: i16): v128; + + // @ts-ignore: decorator + @builtin + export declare function extract_lane_s(x: v128, idx: u8): i16; + + // @ts-ignore: decorator + @builtin + export declare function extract_lane_u(x: v128, idx: u8): u16; + + // @ts-ignore: decorator + @builtin + export declare function replace_lane(x: v128, idx: u8, value: i16): v128; + + // @ts-ignore: decorator + @builtin + export declare function add(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function sub(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function mul(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function min_s(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function min_u(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function max_s(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function max_u(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function avgr_u(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function abs(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function neg(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function add_sat_s(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function add_sat_u(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function sub_sat_s(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function sub_sat_u(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function shl(a: v128, b: i32): v128; + + // @ts-ignore: decorator + @builtin + export declare function shr_s(a: v128, b: i32): v128; + + // @ts-ignore: decorator + @builtin + export declare function shr_u(a: v128, b: i32): v128; + + // @ts-ignore: decorator + @builtin + export declare function all_true(a: v128): bool; + + // @ts-ignore: decorator + @builtin + export declare function bitmask(a: v128): i32; + + // @ts-ignore: decorator + @builtin + export declare function eq(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function ne(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function lt_s(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function lt_u(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function le_s(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function le_u(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function gt_s(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function gt_u(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function ge_s(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function ge_u(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function narrow_i32x4_s(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function narrow_i32x4_u(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function extend_low_i8x16_s(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function extend_low_i8x16_u(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function extend_high_i8x16_s(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function extend_high_i8x16_u(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function extadd_pairwise_i8x16_s(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function extadd_pairwise_i8x16_u(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function q15mulr_sat_s(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function extmul_low_i8x16_s(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function extmul_low_i8x16_u(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function extmul_high_i8x16_s(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function extmul_high_i8x16_u(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function shuffle( + a: v128, b: v128, + l0: u8, l1: u8, l2: u8, l3: u8, l4: u8, l5: u8, l6: u8, l7: u8 + ): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_laneselect(a: v128, b: v128, m: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_q15mulr_s(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_dot_i8x16_i7x16_s(a: v128, b: v128, c: v128): v128; +} + +// @ts-ignore: decorator +@builtin +export declare function i32x4(a: i32, b: i32, c: i32, d: i32): v128; + +export namespace i32x4 { + + // @ts-ignore: decorator + @builtin + export declare function splat(x: i32): v128; + + // @ts-ignore: decorator + @builtin + export declare function extract_lane(x: v128, idx: u8): i32; + + // @ts-ignore: decorator + @builtin + export declare function replace_lane(x: v128, idx: u8, value: i32): v128; + + // @ts-ignore: decorator + @builtin + export declare function add(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function sub(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function mul(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function min_s(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function min_u(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function max_s(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function max_u(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function dot_i16x8_s(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function abs(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function neg(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function shl(a: v128, b: i32): v128; + + // @ts-ignore: decorator + @builtin + export declare function shr_s(a: v128, b: i32): v128; + + // @ts-ignore: decorator + @builtin + export declare function shr_u(a: v128, b: i32): v128; + + // @ts-ignore: decorator + @builtin + export declare function all_true(a: v128): bool; + + // @ts-ignore: decorator + @builtin + export declare function bitmask(a: v128): i32; + + // @ts-ignore: decorator + @builtin + export declare function eq(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function ne(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function lt_s(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function lt_u(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function le_s(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function le_u(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function gt_s(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function gt_u(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function ge_s(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function ge_u(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function trunc_sat_f32x4_s(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function trunc_sat_f32x4_u(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function trunc_sat_f64x2_s_zero(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function trunc_sat_f64x2_u_zero(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function extend_low_i16x8_s(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function extend_low_i16x8_u(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function extend_high_i16x8_s(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function extend_high_i16x8_u(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function extadd_pairwise_i16x8_s(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function extadd_pairwise_i16x8_u(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function extmul_low_i16x8_s(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function extmul_low_i16x8_u(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function extmul_high_i16x8_s(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function extmul_high_i16x8_u(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function shuffle(a: v128, b: v128, l0: u8, l1: u8, l2: u8, l3: u8): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_trunc_f32x4_s(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_trunc_f32x4_u(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_trunc_f64x2_s_zero(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_trunc_f64x2_u_zero(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_laneselect(a: v128, b: v128, m: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_dot_i8x16_i7x16_add_s(a: v128, b: v128, c: v128): v128; +} + +// @ts-ignore: decorator +@builtin +export declare function i64x2(a: i64, b: i64): v128; + +export namespace i64x2 { + + // @ts-ignore: decorator + @builtin + export declare function splat(x: i64): v128; + + // @ts-ignore: decorator + @builtin + export declare function extract_lane(x: v128, idx: u8): i64; + + // @ts-ignore: decorator + @builtin + export declare function replace_lane(x: v128, idx: u8, value: i64): v128; + + // @ts-ignore: decorator + @builtin + export declare function add(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function sub(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function mul(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function abs(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function neg(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function shl(a: v128, b: i32): v128; + + // @ts-ignore: decorator + @builtin + export declare function shr_s(a: v128, b: i32): v128; + + // @ts-ignore: decorator + @builtin + export declare function shr_u(a: v128, b: i32): v128; + + // @ts-ignore: decorator + @builtin + export declare function all_true(a: v128): bool; + + // @ts-ignore: decorator + @builtin + export declare function bitmask(a: v128): i32; + + // @ts-ignore: decorator + @builtin + export declare function eq(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function ne(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function lt_s(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function le_s(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function gt_s(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function ge_s(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function extend_low_i32x4_s(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function extend_low_i32x4_u(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function extend_high_i32x4_s(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function extend_high_i32x4_u(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function extmul_low_i32x4_s(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function extmul_low_i32x4_u(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function extmul_high_i32x4_s(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function extmul_high_i32x4_u(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function shuffle(a: v128, b: v128, l0: u8, l1: u8): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_laneselect(a: v128, b: v128, m: v128): v128; +} + +// @ts-ignore: decorator +@builtin +export declare function f32x4(a: f32, b: f32, c: f32, d: f32): v128; + +export namespace f32x4 { + + // @ts-ignore: decorator + @builtin + export declare function splat(x: f32): v128; + + // @ts-ignore: decorator + @builtin + export declare function extract_lane(x: v128, idx: u8): f32; + + // @ts-ignore: decorator + @builtin + export declare function replace_lane(x: v128, idx: u8, value: f32): v128; + + // @ts-ignore: decorator + @builtin + export declare function add(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function sub(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function mul(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function div(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function neg(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function min(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function max(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function pmin(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function pmax(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function abs(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function sqrt(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function ceil(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function floor(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function trunc(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function nearest(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function eq(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function ne(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function lt(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function le(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function gt(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function ge(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function convert_i32x4_s(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function convert_i32x4_u(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function demote_f64x2_zero(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function shuffle(a: v128, b: v128, l0: u8, l1: u8, l2: u8, l3: u8): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_madd(a: v128, b: v128, c: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_nmadd(a: v128, b: v128, c: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_min(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_max(a: v128, b: v128): v128; +} + +// @ts-ignore: decorator +@builtin +export declare function f64x2(a: f64, b: f64): v128; + +export namespace f64x2 { + + // @ts-ignore: decorator + @builtin + export declare function splat(x: f64): v128; + + // @ts-ignore: decorator + @builtin + export declare function extract_lane(x: v128, idx: u8): f64; + + // @ts-ignore: decorator + @builtin + export declare function replace_lane(x: v128, idx: u8, value: f64): v128; + + // @ts-ignore: decorator + @builtin + export declare function add(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function sub(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function mul(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function div(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function neg(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function min(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function max(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function pmin(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function pmax(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function abs(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function sqrt(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function ceil(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function floor(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function trunc(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function nearest(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function eq(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function ne(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function lt(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function le(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function gt(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function ge(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function convert_low_i32x4_s(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function convert_low_i32x4_u(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function promote_low_f32x4(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function shuffle(a: v128, b: v128, l0: u8, l1: u8): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_madd(a: v128, b: v128, c: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_nmadd(a: v128, b: v128, c: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_min(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_max(a: v128, b: v128): v128; +} + +@final +export abstract class i31 { // FIXME: usage of 'new' requires a class :( + + // @ts-ignore: decorator + @builtin + static new(value: i32): i31ref { return changetype(unreachable()); } + + // @ts-ignore: decorator + @builtin + static get(i31expr: i31ref): i32 { return unreachable(); } +} + +/* eslint-disable @typescript-eslint/no-unused-vars */ + +// @ts-ignore: decorator +@external("env", "abort") +@external.js("throw Error(\`\${message} in \${fileName}:\${lineNumber}:\${columnNumber}\`);") +declare function abort( + message?: string | null, + fileName?: string | null, + lineNumber?: u32, + columnNumber?: u32 +): void; + +// @ts-ignore: decorator +@external("env", "trace") +@external.js("console.log(message, ...[a0, a1, a2, a3, a4].slice(0, n));") +declare function trace( + message: string, + n?: i32, + a0?: f64, + a1?: f64, + a2?: f64, + a3?: f64, + a4?: f64 +): void; + +// @ts-ignore: decorator +@external("env", "seed") +@external.js("return Date.now() * Math.random();") +declare function seed(): f64; + +/* eslint-enable @typescript-eslint/no-unused-vars */ +`,compat:`export type ReturnType = returnof; +export type NonNullable = nonnull; +`,console:`import { + console as binding +} from "./bindings/dom"; + +export namespace console { + + export function assert(condition: T, message: string = ""): void { + binding.assert(!!condition, message); + } + + export function log(message: string = ""): void { + binding.log(message); + } + + export function debug(message: string = ""): void { + binding.debug(message); + } + + export function info(message: string = ""): void { + binding.info(message); + } + + export function warn(message: string = ""): void { + binding.warn(message); + } + + export function error(message: string = ""): void { + binding.error(message); + } + + export function time(label: string = "default"): void { + binding.time(label); + } + + export function timeLog(label: string = "default"): void { + binding.timeLog(label); + } + + export function timeEnd(label: string = "default"): void { + binding.timeEnd(label); + } +} +`,crypto:`import { + crypto as crypto_binding +} from "bindings/dom"; + +export namespace crypto { + export function getRandomValues(array: Uint8Array): void { + crypto_binding.getRandomValues(array); + } +} +`,dataview:`import { BLOCK_MAXSIZE } from "./rt/common"; +import { ArrayBuffer } from "./arraybuffer"; +import { E_INDEXOUTOFRANGE, E_INVALIDLENGTH } from "./util/error"; + +// TODO: there is probably a smarter way to check byteOffset for accesses larger than 1 byte + +export class DataView { + + readonly buffer: ArrayBuffer; + @unsafe readonly dataStart: usize; + readonly byteLength: i32; + + get byteOffset(): i32 { + return (this.dataStart - changetype(this.buffer)); + } + + constructor( + buffer: ArrayBuffer, + byteOffset: i32 = 0, + byteLength: i32 = buffer.byteLength + ) { + if ( + i32(byteLength > BLOCK_MAXSIZE) | + i32(byteOffset + byteLength > buffer.byteLength) + ) throw new RangeError(E_INVALIDLENGTH); + this.buffer = buffer; // links + let dataStart = changetype(buffer) + byteOffset; + this.dataStart = dataStart; + this.byteLength = byteLength; + } + + getFloat32(byteOffset: i32, littleEndian: bool = false): f32 { + if ( + (byteOffset >>> 31) | i32(byteOffset + 4 > this.byteLength) + ) throw new RangeError(E_INDEXOUTOFRANGE); + return littleEndian + ? load(this.dataStart + byteOffset) + : reinterpret(bswap(load(this.dataStart + byteOffset))); + } + + getFloat64(byteOffset: i32, littleEndian: bool = false): f64 { + if ( + (byteOffset >>> 31) | i32(byteOffset + 8 > this.byteLength) + ) throw new RangeError(E_INDEXOUTOFRANGE); + return littleEndian + ? load(this.dataStart + byteOffset) + : reinterpret(bswap(load(this.dataStart + byteOffset))); + } + + getInt8(byteOffset: i32): i8 { + if (byteOffset >= this.byteLength) throw new RangeError(E_INDEXOUTOFRANGE); + return load(this.dataStart + byteOffset); + } + + getInt16(byteOffset: i32, littleEndian: bool = false): i16 { + if ( + (byteOffset >>> 31) | i32(byteOffset + 2 > this.byteLength) + ) throw new RangeError(E_INDEXOUTOFRANGE); + let result: i16 = load(this.dataStart + byteOffset); + return littleEndian ? result : bswap(result); + } + + getInt32(byteOffset: i32, littleEndian: bool = false): i32 { + if ( + (byteOffset >>> 31) | i32(byteOffset + 4 > this.byteLength) + ) throw new RangeError(E_INDEXOUTOFRANGE); + let result: i32 = load(this.dataStart + byteOffset); + return littleEndian ? result : bswap(result); + } + + getUint8(byteOffset: i32): u8 { + if (byteOffset >= this.byteLength) throw new RangeError(E_INDEXOUTOFRANGE); + return load(this.dataStart + byteOffset); + } + + getUint16(byteOffset: i32, littleEndian: bool = false): u16 { + if ( + (byteOffset >>> 31) | i32(byteOffset + 2 > this.byteLength) + ) throw new RangeError(E_INDEXOUTOFRANGE); + let result: u16 = load(this.dataStart + byteOffset); + return littleEndian ? result : bswap(result); + } + + getUint32(byteOffset: i32, littleEndian: bool = false): u32 { + if ( + (byteOffset >>> 31) | i32(byteOffset + 4 > this.byteLength) + ) throw new RangeError(E_INDEXOUTOFRANGE); + let result: u32 = load(this.dataStart + byteOffset); + return littleEndian ? result : bswap(result); + } + + setFloat32(byteOffset: i32, value: f32, littleEndian: bool = false): void { + if ( + (byteOffset >>> 31) | i32(byteOffset + 4 > this.byteLength) + ) throw new RangeError(E_INDEXOUTOFRANGE); + if (littleEndian) store(this.dataStart + byteOffset, value); + else store(this.dataStart + byteOffset, bswap(reinterpret(value))); + } + + setFloat64(byteOffset: i32, value: f64, littleEndian: bool = false): void { + if ( + (byteOffset >>> 31) | i32(byteOffset + 8 > this.byteLength) + ) throw new RangeError(E_INDEXOUTOFRANGE); + if (littleEndian) store(this.dataStart + byteOffset, value); + else store(this.dataStart + byteOffset, bswap(reinterpret(value))); + } + + setInt8(byteOffset: i32, value: i8): void { + if (byteOffset >= this.byteLength) throw new RangeError(E_INDEXOUTOFRANGE); + store(this.dataStart + byteOffset, value); + } + + setInt16(byteOffset: i32, value: i16, littleEndian: bool = false): void { + if ( + (byteOffset >>> 31) | i32(byteOffset + 2 > this.byteLength) + ) throw new RangeError(E_INDEXOUTOFRANGE); + store(this.dataStart + byteOffset, littleEndian ? value : bswap(value)); + } + + setInt32(byteOffset: i32, value: i32, littleEndian: bool = false): void { + if ( + (byteOffset >>> 31) | i32(byteOffset + 4 > this.byteLength) + ) throw new RangeError(E_INDEXOUTOFRANGE); + store(this.dataStart + byteOffset, littleEndian ? value : bswap(value)); + } + + setUint8(byteOffset: i32, value: u8): void { + if (byteOffset >= this.byteLength) throw new RangeError(E_INDEXOUTOFRANGE); + store(this.dataStart + byteOffset, value); + } + + setUint16(byteOffset: i32, value: u16, littleEndian: bool = false): void { + if ( + (byteOffset >>> 31) | i32(byteOffset + 2 > this.byteLength) + ) throw new RangeError(E_INDEXOUTOFRANGE); + store(this.dataStart + byteOffset, littleEndian ? value : bswap(value)); + } + + setUint32(byteOffset: i32, value: u32, littleEndian: bool = false): void { + if ( + (byteOffset >>> 31) | i32(byteOffset + 4 > this.byteLength) + ) throw new RangeError(E_INDEXOUTOFRANGE); + store(this.dataStart + byteOffset, littleEndian ? value : bswap(value)); + } + + // Non-standard additions that make sense in WebAssembly, but won't work in JS: + + getInt64(byteOffset: i32, littleEndian: bool = false): i64 { + if ( + (byteOffset >>> 31) | i32(byteOffset + 8 > this.byteLength) + ) throw new RangeError(E_INDEXOUTOFRANGE); + let result: i64 = load(this.dataStart + byteOffset); + return littleEndian ? result : bswap(result); + } + + getUint64(byteOffset: i32, littleEndian: bool = false): u64 { + if ( + (byteOffset >>> 31) | i32(byteOffset + 8 > this.byteLength) + ) throw new RangeError(E_INDEXOUTOFRANGE); + let result = load(this.dataStart + byteOffset); + return littleEndian ? result : bswap(result); + } + + setInt64(byteOffset: i32, value: i64, littleEndian: bool = false): void { + if ( + (byteOffset >>> 31) | i32(byteOffset + 8 > this.byteLength) + ) throw new RangeError(E_INDEXOUTOFRANGE); + store(this.dataStart + byteOffset, littleEndian ? value : bswap(value)); + } + + setUint64(byteOffset: i32, value: u64, littleEndian: bool = false): void { + if ( + (byteOffset >>> 31) | i32(byteOffset + 8 > this.byteLength) + ) throw new RangeError(E_INDEXOUTOFRANGE); + store(this.dataStart + byteOffset, littleEndian ? value : bswap(value)); + } + + toString(): string { + return "[object DataView]"; + } +} +`,date:`import { E_INVALIDDATE } from "util/error"; +import { Date as Date_binding } from "./bindings/dom"; + +// @ts-ignore: decorator +@inline const + MILLIS_PER_DAY = 1000 * 60 * 60 * 24, + MILLIS_PER_HOUR = 1000 * 60 * 60, + MILLIS_PER_MINUTE = 1000 * 60, + MILLIS_PER_SECOND = 1000, + + YEARS_PER_EPOCH = 400, + DAYS_PER_EPOCH = 146097, + EPOCH_OFFSET = 719468, // Jan 1, 1970 + MILLIS_LIMIT = 8640000000000000; + +// ymdFromEpochDays returns values via globals to avoid allocations +// @ts-ignore: decorator +@lazy let _month: i32, _day: i32; + +export class Date { + private year: i32 = 0; + private month: i32 = 0; + private day: i32 = 0; + + @inline static UTC( + year: i32, + month: i32 = 0, + day: i32 = 1, + hour: i32 = 0, + minute: i32 = 0, + second: i32 = 0, + millisecond: i32 = 0 + ): i64 { + if (year >= 0 && year <= 99) year += 1900; + let ms = epochMillis(year, month + 1, day, hour, minute, second, millisecond); + if (invalidDate(ms)) throw new RangeError(E_INVALIDDATE); + return ms; + } + + @inline static now(): i64 { + return Date_binding.now(); + } + + // It can parse only ISO 8601 inputs like YYYY-MM-DDTHH:MM:SS.000Z + @inline static parse(dateString: string): Date { + return this.fromString(dateString); + } + + static fromString(dateTimeString: string): Date { + if (!dateTimeString.length) throw new RangeError(E_INVALIDDATE); + var + hour: i32 = 0, + min: i32 = 0, + sec: i32 = 0, + ms: i32 = 0, + offsetMs: i32 = 0; + + let dateString = dateTimeString; + let posT = dateTimeString.indexOf("T"); + if (~posT) { + // includes a time component + let timeString: string; + dateString = dateTimeString.substring(0, posT); + timeString = dateTimeString.substring(posT + 1); + + // might end with an offset ("Z", "+05:30", "-08:00", etc.) + for (let i = timeString.length - 1; i >= 0; i--) { + let c = timeString.charCodeAt(i); + if (c == 90) { // Z + timeString = timeString.substring(0, i); + break; + } else if (c == 43 || c == 45) { // + or - + if (i == timeString.length - 1) { + throw new RangeError(E_INVALIDDATE); + } + + let posColon = timeString.indexOf(":", i + 1); + if (~posColon) { + let offsetHours = i32.parse(timeString.substring(i + 1, posColon)); + let offsetMinutes = i32.parse(timeString.substring(posColon + 1)); + offsetMs = (offsetHours * 60 + offsetMinutes) * MILLIS_PER_MINUTE; + } else { + let offsetHours = i32.parse(timeString.substring(i + 1)); + offsetMs = offsetHours * MILLIS_PER_HOUR; + } + + if (c == 45) offsetMs = -offsetMs; // negative offset + timeString = timeString.substring(0, i); + break; + } + } + + // parse the HH:MM:SS component + let timeParts = timeString.split(":"); + let len = timeParts.length; + if (len <= 1) throw new RangeError(E_INVALIDDATE); + + hour = i32.parse(timeParts[0]); + min = i32.parse(timeParts[1]); + if (len >= 3) { + let secAndFrac = timeParts[2]; + let posDot = secAndFrac.indexOf("."); + if (~posDot) { + // includes fractional seconds (truncate to milliseconds) + sec = i32.parse(secAndFrac.substring(0, posDot)); + ms = i32.parse(secAndFrac.substr(posDot + 1, 3).padEnd(3, "0")); + } else { + sec = i32.parse(secAndFrac); + } + } + } + + // parse the YYYY-MM-DD component + let parts = dateString.split("-"); + let year = i32.parse(parts[0]); + let month = 1, day = 1; + let len = parts.length; + if (len >= 2) { + month = i32.parse(parts[1]); + if (len >= 3) { + day = i32.parse(parts[2]); + } + } + + return new Date(epochMillis(year, month, day, hour, min, sec, ms) - offsetMs); + } + + constructor(private epochMillis: i64) { + // this differs from JavaScript which prefer return NaN or "Invalid Date" string + // instead throwing exception. + if (invalidDate(epochMillis)) throw new RangeError(E_INVALIDDATE); + + this.year = dateFromEpoch(epochMillis); + this.month = _month; + this.day = _day; + } + + @inline getTime(): i64 { + return this.epochMillis; + } + + setTime(time: i64): i64 { + if (invalidDate(time)) throw new RangeError(E_INVALIDDATE); + + this.epochMillis = time; + this.year = dateFromEpoch(time); + this.month = _month; + this.day = _day; + + return time; + } + + @inline getUTCFullYear(): i32 { + return this.year; + } + + @inline getUTCMonth(): i32 { + return this.month - 1; + } + + @inline getUTCDate(): i32 { + return this.day; + } + + @inline getUTCDay(): i32 { + return dayOfWeek(this.year, this.month, this.day); + } + + getUTCHours(): i32 { + return i32(euclidRem(this.epochMillis, MILLIS_PER_DAY)) / MILLIS_PER_HOUR; + } + + getUTCMinutes(): i32 { + return i32(euclidRem(this.epochMillis, MILLIS_PER_HOUR)) / MILLIS_PER_MINUTE; + } + + getUTCSeconds(): i32 { + return i32(euclidRem(this.epochMillis, MILLIS_PER_MINUTE)) / MILLIS_PER_SECOND; + } + + getUTCMilliseconds(): i32 { + return i32(euclidRem(this.epochMillis, MILLIS_PER_SECOND)); + } + + setUTCMilliseconds(millis: i32): void { + this.setTime(this.epochMillis + (millis - this.getUTCMilliseconds())); + } + + setUTCSeconds(seconds: i32): void { + this.setTime(this.epochMillis + (seconds - this.getUTCSeconds()) * MILLIS_PER_SECOND); + } + + setUTCMinutes(minutes: i32): void { + this.setTime(this.epochMillis + (minutes - this.getUTCMinutes()) * MILLIS_PER_MINUTE); + } + + setUTCHours(hours: i32): void { + this.setTime(this.epochMillis + (hours - this.getUTCHours()) * MILLIS_PER_HOUR); + } + + setUTCDate(day: i32): void { + if (this.day == day) return; + this.setTime(join(this.year, this.month, day, this.epochMillis)); + } + + setUTCMonth(month: i32, day: i32 = this.day): void { + if (this.month == month + 1) return; + this.setTime(join(this.year, month + 1, day, this.epochMillis)); + } + + setUTCFullYear(year: i32): void { + if (this.year == year) return; + this.setTime(join(year, this.month, this.day, this.epochMillis)); + } + + toISOString(): string { + // TODO: add more low-level helper which combine toString and padStart without extra allocation + + let yr = this.year; + let isNeg = yr < 0; + let year = (isNeg || yr >= 10000) + ? (isNeg ? "-" : "+") + stringify(abs(yr), 6) + : stringify(yr, 4); + let month = stringify(this.month, 2); + let day = stringify(this.day); + let hours = stringify(this.getUTCHours()); + let mins = stringify(this.getUTCMinutes()); + let secs = stringify(this.getUTCSeconds()); + let ms = stringify(this.getUTCMilliseconds(), 3); + + return \`\${year}-\${month}-\${day}T\${hours}:\${mins}:\${secs}.\${ms}Z\`; + } + + toUTCString(): string { + const + weeks: StaticArray = [ + "Sun, ", "Mon, ", "Tue, ", "Wed, ", "Thu, ", "Fri, ", "Sat, " + ], + months: StaticArray = [ + " Jan ", " Feb ", " Mar ", " Apr ", " May ", " Jun ", + " Jul ", " Aug ", " Sep ", " Oct ", " Nov ", " Dec " + ]; + + let mo = this.month; + let da = this.day; + let yr = this.year; + let wd = dayOfWeek(yr, mo, da); + let year = stringify(abs(yr), 4); + let month = unchecked(months[mo - 1]); + let week = unchecked(weeks[wd]); + let day = stringify(da); + let hours = stringify(this.getUTCHours()); + let mins = stringify(this.getUTCMinutes()); + let secs = stringify(this.getUTCSeconds()); + + return \`\${week}\${day}\${month}\${yr < 0 ? "-" : ""}\${year} \${hours}:\${mins}:\${secs} GMT\`; + } + + toDateString(): string { + // TODO: use u64 static data instead 4 chars + // also use stream itoa variants. + const + weeks: StaticArray = [ + "Sun ", "Mon ", "Tue ", "Wed ", "Thu ", "Fri ", "Sat " + ], + months: StaticArray = [ + "Jan ", "Feb ", "Mar ", "Apr ", "May ", "Jun ", + "Jul ", "Aug ", "Sep ", "Oct ", "Nov ", "Dec " + ]; + + let mo = this.month; + let da = this.day; + let yr = this.year; + let wd = dayOfWeek(yr, mo, da); + let year = stringify(abs(yr), 4); + let month = unchecked(months[mo - 1]); + let week = unchecked(weeks[wd]); + let day = stringify(da); + + return \`\${week}\${month}\${day}\${yr < 0 ? " -" : " "}\${year}\`; + } + + // Note: it uses UTC time instead local time (without timezone offset) + toTimeString(): string { + let hours = stringify(this.getUTCHours()); + let mins = stringify(this.getUTCMinutes()); + let secs = stringify(this.getUTCSeconds()); + // TODO: add timezone + return \`\${hours}:\${mins}:\${secs}\`; + } + + // Note: it uses UTC datetime instead local datetime (without timezone offset) + toString(): string { + return \`\${this.toDateString()} \${this.toTimeString()}\`; + } +} + +function epochMillis( + year: i32, + month: i32, + day: i32, + hour: i32, + minute: i32, + second: i32, + milliseconds: i32 +): i64 { + return ( + daysSinceEpoch(year, month, day) * MILLIS_PER_DAY + + hour * MILLIS_PER_HOUR + + minute * MILLIS_PER_MINUTE + + second * MILLIS_PER_SECOND + + milliseconds + ); +} + +// @ts-ignore: decorator +@inline function floorDiv(a: T, b: T): T { + return (a - (a < 0 ? b - 1 : 0)) / b as T; +} + +// @ts-ignore: decorator +@inline function euclidRem(a: T, b: T): T { + let m = a % b; + return m + (m < 0 ? b : 0) as T; +} + +function invalidDate(millis: i64): bool { + // @ts-ignore + return (millis < -MILLIS_LIMIT) | (millis > MILLIS_LIMIT); +} + +// Based on "Euclidean Affine Functions and Applications to Calendar Algorithms" +// Paper: https://arxiv.org/pdf/2102.06959.pdf +function dateFromEpoch(ms: i64): i32 { + let da = (floorDiv(ms, MILLIS_PER_DAY) * 4 + EPOCH_OFFSET * 4) | 3; + let q0 = floorDiv(da, DAYS_PER_EPOCH); // [0, 146096] + let r1 = da - q0 * DAYS_PER_EPOCH; + let u1 = u64(r1 | 3) * 2939745; + let dm1 = u1 / 11758980; + let n1 = 2141 * dm1 + 197913; + let year = 100 * q0 + i32(u1 >>> 32); + let mo = n1 >>> 16; + _day = (n1 & 0xFFFF) / 2141 + 1; // [1, 31] + if (dm1 >= 306) { mo -= 12; ++year; } + _month = mo; // [1, 12] + return year; +} + +// http://howardhinnant.github.io/date_algorithms.html#days_from_civil +function daysSinceEpoch(y: i32, m: i32, d: i32): i64 { + y -= i32(m <= 2); + let era = floorDiv(y, YEARS_PER_EPOCH); + let yoe = y - era * YEARS_PER_EPOCH; // [0, 399] + let doy = (153 * (m + (m > 2 ? -3 : 9)) + 2) / 5 + d - 1; // [0, 365] + let doe = yoe * 365 + yoe / 4 - yoe / 100 + doy; // [0, 146096] + return (era * 146097 + doe - EPOCH_OFFSET); +} + +// TomohikoSakamoto algorithm from https://en.wikipedia.org/wiki/Determination_of_the_day_of_the_week +function dayOfWeek(year: i32, month: i32, day: i32): i32 { + const tab = memory.data([0, 3, 2, 5, 0, 3, 5, 1, 4, 6, 2, 4]); + + year -= i32(month < 3); + year += floorDiv(year, 4) - floorDiv(year, 100) + floorDiv(year, YEARS_PER_EPOCH); + month = load(tab + month - 1); + return euclidRem(year + month + day, 7); +} + +function stringify(value: i32, padding: i32 = 2): string { + return value.toString().padStart(padding, "0"); +} + +function join(year: i32, month: i32, day: i32, ms: i64): i64 { + return daysSinceEpoch(year, month, day) * MILLIS_PER_DAY + euclidRem(ms, MILLIS_PER_DAY); +} +`,diagnostics:`// @ts-ignore: decorator +@builtin +export declare function ERROR(message?: string): void; + +// @ts-ignore: decorator +@builtin +export declare function WARNING(message?: string): void; + +// @ts-ignore: decorator +@builtin +export declare function INFO(message?: string): void; +`,error:`export class Error { + + name: string = "Error"; + stack: string = ""; // TODO + + constructor( + public message: string = "" + ) {} + + toString(): string { + let message = this.message; + return message.length + ? this.name + ": " + message + : this.name; + } +} + +export class RangeError extends Error { + constructor(message: string = "") { + super(message); + this.name = "RangeError"; + } +} + +export class TypeError extends Error { + constructor(message: string = "") { + super(message); + this.name = "TypeError"; + } +} + +export class SyntaxError extends Error { + constructor(message: string = "") { + super(message); + this.name = "SyntaxError"; + } +} + +export class URIError extends Error { + constructor(message: string = "") { + super(message); + this.name = "URIError"; + } +} +`,function:`type auto = i32; + +@final export abstract class Function { + private _index: u32; + private _env: usize; + + // @ts-ignore: this on getter + get index(this: T): u32 { + return load(changetype(this), offsetof>("_index")); + } + + // @ts-ignore: this on getter + get name(this: T): string { + return ""; + } + + // @ts-ignore: this on getter + get length(this: T): i32 { + // @ts-ignore: T is function + return lengthof(); + } + + // @ts-ignore: T is function + @builtin call(thisArg: thisof | null, ...args: auto[]): returnof { + return unreachable(); + } + + toString(this: T): string { + return "function() { [native code] }"; + } + + // RT integration + + @unsafe private __visit(cookie: u32): void { + // Env is either \`null\` (nop) or compiler-generated + __visit(this._env, cookie); + } +} +`,iterator:`export abstract class Iterable { + // ? +} + +@final +export abstract class Iterator { + + // private constructor(iterable: Iterable) { + // } + + // TODO: these need to evaluate the classId at the respective reference in order to obtain the + // next value, i.e. arrays work differently than maps. we'd then have: + // + // \u2552\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 Iterator layout (32-bit) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2555 + // 3 2 1 + // 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 bits + // \u251C\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2524 + // \u2502 index \u2502 + // \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252C\u2500\u2500\u2500\u252C\u2500\u2524 + // \u2502 reference \u2502 0 \u2502D\u2502 + // \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2534\u2500\u2518 + // D: Done flag + + // get value(this: u64): T { + // ? + // } + + // next(this: u64): Iterator { + // ? + // } + + done(this: u64): bool { + return (this & 1); + } +} +`,map:`/// + +import { HASH } from "./util/hash"; +import { E_KEYNOTFOUND } from "./util/error"; + +// A deterministic hash map based on CloseTable from https://github.com/jorendorff/dht + +// @ts-ignore: decorator +@inline const INITIAL_CAPACITY = 4; + +// @ts-ignore: decorator +@inline const FILL_FACTOR_N = 8; + +// @ts-ignore: decorator +@inline const FILL_FACTOR_D = 3; + +// @ts-ignore: decorator +@inline const FREE_FACTOR_N = 3; + +// @ts-ignore: decorator +@inline const FREE_FACTOR_D = 4; + +/** Structure of a map entry. */ +@unmanaged class MapEntry { + key: K; + value: V; + taggedNext: usize; // LSB=1 indicates EMPTY +} + +/** Empty bit. */ +// @ts-ignore: decorator +@inline const EMPTY: usize = 1 << 0; + +/** Size of a bucket. */ +// @ts-ignore: decorator +@inline const BUCKET_SIZE = sizeof(); + +/** Computes the alignment of an entry. */ +// @ts-ignore: decorator +@inline +function ENTRY_ALIGN(): usize { + // can align to 4 instead of 8 if 32-bit and K/V is <= 32-bits + const maxkv = sizeof() > sizeof() ? sizeof() : sizeof(); + const align = (maxkv > sizeof() ? maxkv : sizeof()) - 1; + return align; +} + +/** Computes the aligned size of an entry. */ +// @ts-ignore: decorator +@inline +function ENTRY_SIZE(): usize { + const align = ENTRY_ALIGN(); + const size = (offsetof>() + align) & ~align; + return size; +} + +export class Map { + + // buckets referencing their respective first entry, usize[bucketsMask + 1] + private buckets: ArrayBuffer = new ArrayBuffer(INITIAL_CAPACITY * BUCKET_SIZE); + private bucketsMask: u32 = INITIAL_CAPACITY - 1; + + // entries in insertion order, MapEntry[entriesCapacity] + private entries: ArrayBuffer = new ArrayBuffer(INITIAL_CAPACITY * ENTRY_SIZE()); + private entriesCapacity: i32 = INITIAL_CAPACITY; + private entriesOffset: i32 = 0; + private entriesCount: i32 = 0; + + constructor() { + /* nop */ + } + + get size(): i32 { + return this.entriesCount; + } + + clear(): void { + this.buckets = new ArrayBuffer(INITIAL_CAPACITY * BUCKET_SIZE); + this.bucketsMask = INITIAL_CAPACITY - 1; + this.entries = new ArrayBuffer(INITIAL_CAPACITY * ENTRY_SIZE()); + this.entriesCapacity = INITIAL_CAPACITY; + this.entriesOffset = 0; + this.entriesCount = 0; + } + + private find(key: K, hashCode: u32): MapEntry | null { + let entry = load>( // unmanaged! + changetype(this.buckets) + (hashCode & this.bucketsMask) * BUCKET_SIZE + ); + while (entry) { + let taggedNext = entry.taggedNext; + if (!(taggedNext & EMPTY) && entry.key == key) return entry; + entry = changetype>(taggedNext & ~EMPTY); + } + return null; + } + + has(key: K): bool { + return this.find(key, HASH(key)) != null; + } + + @operator("[]") + get(key: K): V { + let entry = this.find(key, HASH(key)); + if (!entry) throw new Error(E_KEYNOTFOUND); // cannot represent \`undefined\` + return entry.value; + } + + @operator("[]=") + set(key: K, value: V): this { + let hashCode = HASH(key); + let entry = this.find(key, hashCode); // unmanaged! + if (entry) { + entry.value = value; + if (isManaged()) { + __link(changetype(this), changetype(value), true); + } + } else { + // check if rehashing is necessary + if (this.entriesOffset == this.entriesCapacity) { + this.rehash( + this.entriesCount < this.entriesCapacity * FREE_FACTOR_N / FREE_FACTOR_D + ? this.bucketsMask // just rehash if 1/4+ entries are empty + : (this.bucketsMask << 1) | 1 // grow capacity to next 2^N + ); + } + // append new entry + let entries = this.entries; + entry = changetype>(changetype(entries) + (this.entriesOffset++) * ENTRY_SIZE()); + // link with the map + entry.key = key; + if (isManaged()) { + __link(changetype(this), changetype(key), true); + } + entry.value = value; + if (isManaged()) { + __link(changetype(this), changetype(value), true); + } + ++this.entriesCount; + // link with previous entry in bucket + let bucketPtrBase = changetype(this.buckets) + (hashCode & this.bucketsMask) * BUCKET_SIZE; + entry.taggedNext = load(bucketPtrBase); + store(bucketPtrBase, changetype(entry)); + } + return this; + } + + delete(key: K): bool { + let entry = this.find(key, HASH(key)); + if (!entry) return false; + entry.taggedNext |= EMPTY; + --this.entriesCount; + // check if rehashing is appropriate + let halfBucketsMask = this.bucketsMask >> 1; + if ( + halfBucketsMask + 1 >= max(INITIAL_CAPACITY, this.entriesCount) && + this.entriesCount < this.entriesCapacity * FREE_FACTOR_N / FREE_FACTOR_D + ) this.rehash(halfBucketsMask); + return true; + } + + private rehash(newBucketsMask: u32): void { + let newBucketsCapacity = (newBucketsMask + 1); + let newBuckets = new ArrayBuffer(newBucketsCapacity * BUCKET_SIZE); + let newEntriesCapacity = newBucketsCapacity * FILL_FACTOR_N / FILL_FACTOR_D; + let newEntries = new ArrayBuffer(newEntriesCapacity * ENTRY_SIZE()); + + // copy old entries to new entries + let oldPtr = changetype(this.entries); + let oldEnd = oldPtr + this.entriesOffset * ENTRY_SIZE(); + let newPtr = changetype(newEntries); + while (oldPtr != oldEnd) { + let oldEntry = changetype>(oldPtr); + if (!(oldEntry.taggedNext & EMPTY)) { + let newEntry = changetype>(newPtr); + let oldEntryKey = oldEntry.key; + newEntry.key = oldEntryKey; + newEntry.value = oldEntry.value; + let newBucketIndex = HASH(oldEntryKey) & newBucketsMask; + let newBucketPtrBase = changetype(newBuckets) + newBucketIndex * BUCKET_SIZE; + newEntry.taggedNext = load(newBucketPtrBase); + store(newBucketPtrBase, newPtr); + newPtr += ENTRY_SIZE(); + } + oldPtr += ENTRY_SIZE(); + } + + this.buckets = newBuckets; + this.bucketsMask = newBucketsMask; + this.entries = newEntries; + this.entriesCapacity = newEntriesCapacity; + this.entriesOffset = this.entriesCount; + } + + keys(): K[] { + // FIXME: this is preliminary, needs iterators/closures + let start = changetype(this.entries); + let size = this.entriesOffset; + let keys = new Array(size); + let length = 0; + for (let i = 0; i < size; ++i) { + let entry = changetype>(start + i * ENTRY_SIZE()); + if (!(entry.taggedNext & EMPTY)) { + unchecked(keys[length++] = entry.key); + } + } + keys.length = length; + return keys; + } + + values(): V[] { + // FIXME: this is preliminary, needs iterators/closures + let start = changetype(this.entries); + let size = this.entriesOffset; + let values = new Array(size); + let length = 0; + for (let i = 0; i < size; ++i) { + let entry = changetype>(start + i * ENTRY_SIZE()); + if (!(entry.taggedNext & EMPTY)) { + unchecked(values[length++] = entry.value); + } + } + values.length = length; + return values; + } + + toString(): string { + return "[object Map]"; + } + + // RT integration + + @unsafe private __visit(cookie: u32): void { + __visit(changetype(this.buckets), cookie); + let entries = changetype(this.entries); + if (isManaged() || isManaged()) { + let cur = entries; + let end = cur + this.entriesOffset * ENTRY_SIZE(); + while (cur < end) { + let entry = changetype>(cur); + if (!(entry.taggedNext & EMPTY)) { + if (isManaged()) { + let val = changetype(entry.key); + if (isNullable()) { + if (val) __visit(val, cookie); + } else __visit(val, cookie); + } + if (isManaged()) { + let val = changetype(entry.value); + if (isNullable()) { + if (val) __visit(val, cookie); + } else __visit(val, cookie); + } + } + cur += ENTRY_SIZE(); + } + } + __visit(entries, cookie); + } +} +`,math:`import { Math as JSMath } from "./bindings/dom"; +export { JSMath }; + +import { + pow_lut, exp_lut, exp2_lut, log_lut, log2_lut, + powf_lut, expf_lut, exp2f_lut, logf_lut, log2f_lut +} from "./util/math"; + +import { + abs as builtin_abs, + ceil as builtin_ceil, + clz as builtin_clz, + copysign as builtin_copysign, + floor as builtin_floor, + max as builtin_max, + min as builtin_min, + sqrt as builtin_sqrt, + trunc as builtin_trunc +} from "./builtins"; + +// SUN COPYRIGHT NOTICE +// +// Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. +// Developed at SunPro, a Sun Microsystems, Inc. business. +// Permission to use, copy, modify, and distribute this software +// is freely granted, provided that this notice is preserved. +// +// Applies to all functions marked with a comment referring here. + +/** @internal */ +// @ts-ignore: decorator +@lazy let rempio2_y0: f64, rempio2_y1: f64, res128_hi: u64; + +/** @internal */ +// @ts-ignore: decorator +@lazy @inline const PIO2_TABLE = memory.data([ + 0x00000000A2F9836E, 0x4E441529FC2757D1, 0xF534DDC0DB629599, 0x3C439041FE5163AB, + 0xDEBBC561B7246E3A, 0x424DD2E006492EEA, 0x09D1921CFE1DEB1C, 0xB129A73EE88235F5, + 0x2EBB4484E99C7026, 0xB45F7E413991D639, 0x835339F49C845F8B, 0xBDF9283B1FF897FF, + 0xDE05980FEF2F118B, 0x5A0A6D1F6D367ECF, 0x27CB09B74F463F66, 0x9E5FEA2D7527BAC7, + 0xEBE5F17B3D0739F7, 0x8A5292EA6BFB5FB1, 0x1F8D5D0856033046, 0xFC7B6BABF0CFBC20, + 0x9AF4361DA9E39161, 0x5EE61B086599855F, 0x14A068408DFFD880, 0x4D73273106061557 +]); + +/** @internal */ +function R(z: f64): f64 { // Rational approximation of (asin(x)-x)/x^3 + const // see: musl/src/math/asin.c and SUN COPYRIGHT NOTICE above + pS0 = reinterpret(0x3FC5555555555555), // 1.66666666666666657415e-01 + pS1 = reinterpret(0xBFD4D61203EB6F7D), // -3.25565818622400915405e-01 + pS2 = reinterpret(0x3FC9C1550E884455), // 2.01212532134862925881e-01 + pS3 = reinterpret(0xBFA48228B5688F3B), // -4.00555345006794114027e-02 + pS4 = reinterpret(0x3F49EFE07501B288), // 7.91534994289814532176e-04 + pS5 = reinterpret(0x3F023DE10DFDF709), // 3.47933107596021167570e-05 + qS1 = reinterpret(0xC0033A271C8A2D4B), // -2.40339491173441421878e+00 + qS2 = reinterpret(0x40002AE59C598AC8), // 2.02094576023350569471e+00 + qS3 = reinterpret(0xBFE6066C1B8D0159), // -6.88283971605453293030e-01 + qS4 = reinterpret(0x3FB3B8C5B12E9282); // 7.70381505559019352791e-02 + + let p = z * (pS0 + z * (pS1 + z * (pS2 + z * (pS3 + z * (pS4 + z * pS5))))); + let q = 1.0 + z * (qS1 + z * (qS2 + z * (qS3 + z * qS4))); + return p / q; +} + +/** @internal */ +// @ts-ignore: decorator +@inline +function expo2(x: f64, sign: f64): f64 { // exp(x)/2 for x >= log(DBL_MAX) + const // see: musl/src/math/__expo2.c + k = 2043, + kln2 = reinterpret(0x40962066151ADD8B); // 0x1.62066151add8bp+10 + let scale = reinterpret(((0x3FF + k / 2) << 20) << 32); + // in directed rounding correct sign before rounding or overflow is important + return NativeMath.exp(x - kln2) * (sign * scale) * scale; +} + +/** @internal */ +/* Helper function to eventually get bits of \u03C0/2 * |x| + * + * y = \u03C0/4 * (frac << clz(frac) >> 11) + * return clz(frac) + * + * Right shift 11 bits to make upper half fit in \`double\` + */ +// @ts-ignore: decorator +@inline +function pio2_right(q0: u64, q1: u64): u64 { // see: jdh8/metallic/blob/master/src/math/double/rem_pio2.c + // Bits of \u03C0/4 + const p0: u64 = 0xC4C6628B80DC1CD1; + const p1: u64 = 0xC90FDAA22168C234; + + const Ox1p_64 = reinterpret(0x3BF0000000000000); // 0x1p-64 + const Ox1p_75 = reinterpret(0x3B40000000000000); // 0x1p-75 + + let shift = clz(q1); + + q1 = q1 << shift | q0 >> (64 - shift); + q0 <<= shift; + + let lo = umuldi(p1, q1); + let hi = res128_hi; + + let ahi = hi >> 11; + let alo = lo >> 11 | hi << 53; + let blo = (Ox1p_75 * p0 * q1 + Ox1p_75 * p1 * q0); + + rempio2_y0 = (ahi + u64(lo < blo)); + rempio2_y1 = Ox1p_64 * (alo + blo); + + return shift; +} + +/** @internal */ +// @ts-ignore: decorator +@inline +function umuldi(u: u64, v: u64): u64 { + let u1: u64 , v1: u64, w0: u64, w1: u64, t: u64; + + u1 = u & 0xFFFFFFFF; + v1 = v & 0xFFFFFFFF; + + u >>= 32; + v >>= 32; + + t = u1 * v1; + w0 = t & 0xFFFFFFFF; + t = u * v1 + (t >> 32); + w1 = t >> 32; + t = u1 * v + (t & 0xFFFFFFFF); + + res128_hi = u * v + w1 + (t >> 32); + return (t << 32) + w0; +} + +/** @internal */ +function pio2_large_quot(x: f64, u: i64): i32 { // see: jdh8/metallic/blob/master/src/math/double/rem_pio2.c + let magnitude = u & 0x7FFFFFFFFFFFFFFF; + let offset = (magnitude >> 52) - 1045; + let shift = offset & 63; + let tblPtr = PIO2_TABLE + ((offset >> 6) << 3); + let s0: u64, s1: u64, s2: u64; + + let b0 = load(tblPtr, 0 << 3); + let b1 = load(tblPtr, 1 << 3); + let b2 = load(tblPtr, 2 << 3); + + // Get 192 bits of 0x1p-31 / \u03C0 with \`offset\` bits skipped + if (shift) { + let rshift = 64 - shift; + let b3 = load(tblPtr, 3 << 3); + s0 = b1 >> rshift | b0 << shift; + s1 = b2 >> rshift | b1 << shift; + s2 = b3 >> rshift | b2 << shift; + } else { + s0 = b0; + s1 = b1; + s2 = b2; + } + + let significand = (u & 0x000FFFFFFFFFFFFF) | 0x0010000000000000; + + // First 128 bits of fractional part of x/(2\u03C0) + let blo = umuldi(s1, significand); + let bhi = res128_hi; + + let ahi = s0 * significand; + let clo = (s2 >> 32) * (significand >> 32); + let plo = blo + clo; + let phi = ahi + bhi + u64(plo < clo); + + // r: u128 = p << 2 + let rlo = plo << 2; + let rhi = phi << 2 | plo >> 62; + + // s: i128 = r >> 127 + let slo = rhi >> 63; + let shi = slo >> 1; + let q = (phi >> 62) - slo; + + let shifter = 0x3CB0000000000000 - (pio2_right(rlo ^ slo, rhi ^ shi) << 52); + let signbit = (u ^ rhi) & 0x8000000000000000; + let coeff = reinterpret(shifter | signbit); + + rempio2_y0 *= coeff; + rempio2_y1 *= coeff; + + return q; +} + +/** @internal */ +// @ts-ignore: decorator +@inline +function rempio2(x: f64, u: u64, sign: i32): i32 { + const + pio2_1 = reinterpret(0x3FF921FB54400000), // 1.57079632673412561417e+00 + pio2_1t = reinterpret(0x3DD0B4611A626331), // 6.07710050650619224932e-11 + pio2_2 = reinterpret(0x3DD0B4611A600000), // 6.07710050630396597660e-11 + pio2_2t = reinterpret(0x3BA3198A2E037073), // 2.02226624879595063154e-21 + pio2_3 = reinterpret(0x3BA3198A2E000000), // 2.02226624871116645580e-21 + pio2_3t = reinterpret(0x397B839A252049C1), // 8.47842766036889956997e-32 + invpio2 = reinterpret(0x3FE45F306DC9C883); // 0.63661977236758134308 + + let ix = (u >> 32) & 0x7FFFFFFF; + + if (ASC_SHRINK_LEVEL < 1) { + if (ix < 0x4002D97C) { // |x| < 3pi/4, special case with n=+-1 + let q = 1, z: f64, y0: f64, y1: f64; + if (!sign) { + z = x - pio2_1; + if (ix != 0x3FF921FB) { // 33+53 bit pi is good enough + y0 = z - pio2_1t; + y1 = (z - y0) - pio2_1t; + } else { // near pi/2, use 33+33+53 bit pi + z -= pio2_2; + y0 = z - pio2_2t; + y1 = (z - y0) - pio2_2t; + } + } else { // negative x + z = x + pio2_1; + if (ix != 0x3FF921FB) { // 33+53 bit pi is good enough + y0 = z + pio2_1t; + y1 = (z - y0) + pio2_1t; + } else { // near pi/2, use 33+33+53 bit pi + z += pio2_2; + y0 = z + pio2_2t; + y1 = (z - y0) + pio2_2t; + } + q = -1; + } + rempio2_y0 = y0; + rempio2_y1 = y1; + return q; + } + } + + if (ix < 0x413921FB) { // |x| ~< 2^20*pi/2 (1647099) + // Use precise Cody Waite scheme + let q = nearest(x * invpio2); + let r = x - q * pio2_1; + let w = q * pio2_1t; // 1st round good to 85 bit + let j = ix >> 20; + let y0 = r - w; + let hi = (reinterpret(y0) >> 32); + let i = j - ((hi >> 20) & 0x7FF); + + if (i > 16) { // 2nd iteration needed, good to 118 + let t = r; + w = q * pio2_2; + r = t - w; + w = q * pio2_2t - ((t - r) - w); + y0 = r - w; + hi = (reinterpret(y0) >> 32); + i = j - ((hi >> 20) & 0x7FF); + if (i > 49) { // 3rd iteration need, 151 bits acc + let t = r; + w = q * pio2_3; + r = t - w; + w = q * pio2_3t - ((t - r) - w); + y0 = r - w; + } + } + let y1 = (r - y0) - w; + rempio2_y0 = y0; + rempio2_y1 = y1; + return q; + } + let q = pio2_large_quot(x, u); + return select(-q, q, sign); +} + +/** @internal */ +// @ts-ignore: decorator +@inline +function sin_kern(x: f64, y: f64, iy: i32): f64 { // see: musl/tree/src/math/__sin.c + const + S1 = reinterpret(0xBFC5555555555549), // -1.66666666666666324348e-01 + S2 = reinterpret(0x3F8111111110F8A6), // 8.33333333332248946124e-03 + S3 = reinterpret(0xBF2A01A019C161D5), // -1.98412698298579493134e-04 + S4 = reinterpret(0x3EC71DE357B1FE7D), // 2.75573137070700676789e-06 + S5 = reinterpret(0xBE5AE5E68A2B9CEB), // -2.50507602534068634195e-08 + S6 = reinterpret(0x3DE5D93A5ACFD57C); // 1.58969099521155010221e-10 + + let z = x * x; + let w = z * z; + let r = S2 + z * (S3 + z * S4) + z * w * (S5 + z * S6); + let v = z * x; + if (!iy) { + return x + v * (S1 + z * r); + } else { + return x - ((z * (0.5 * y - v * r) - y) - v * S1); + } +} + +/** @internal */ +// @ts-ignore: decorator +@inline +function cos_kern(x: f64, y: f64): f64 { // see: musl/tree/src/math/__cos.c + const + C1 = reinterpret(0x3FA555555555554C), // 4.16666666666666019037e-02 + C2 = reinterpret(0xBF56C16C16C15177), // -1.38888888888741095749e-03 + C3 = reinterpret(0x3EFA01A019CB1590), // 2.48015872894767294178e-05 + C4 = reinterpret(0xBE927E4F809C52AD), // -2.75573143513906633035e-07 + C5 = reinterpret(0x3E21EE9EBDB4B1C4), // 2.08757232129817482790e-09 + C6 = reinterpret(0xBDA8FAE9BE8838D4); // -1.13596475577881948265e-11 + + let z = x * x; + let w = z * z; + let r = z * (C1 + z * (C2 + z * C3)) + w * w * (C4 + z * (C5 + z * C6)); + let hz = 0.5 * z; + w = 1.0 - hz; + return w + (((1.0 - w) - hz) + (z * r - x * y)); +} + +/** @internal */ +function tan_kern(x: f64, y: f64, iy: i32): f64 { // see: src/lib/msun/src/k_tan.c + const + T0 = reinterpret(0x3FD5555555555563), // 3.33333333333334091986e-01 + T1 = reinterpret(0x3FC111111110FE7A), // 1.33333333333201242699e-01 + T2 = reinterpret(0x3FABA1BA1BB341FE), // 5.39682539762260521377e-02 + T3 = reinterpret(0x3F9664F48406D637), // 2.18694882948595424599e-02 + T4 = reinterpret(0x3F8226E3E96E8493), // 8.86323982359930005737e-03 + T5 = reinterpret(0x3F6D6D22C9560328), // 3.59207910759131235356e-03 + T6 = reinterpret(0x3F57DBC8FEE08315), // 1.45620945432529025516e-03 + T7 = reinterpret(0x3F4344D8F2F26501), // 5.88041240820264096874e-04 + T8 = reinterpret(0x3F3026F71A8D1068), // 2.46463134818469906812e-04 + T9 = reinterpret(0x3F147E88A03792A6), // 7.81794442939557092300e-05 + T10 = reinterpret(0x3F12B80F32F0A7E9), // 7.14072491382608190305e-05 + T11 = reinterpret(0xBEF375CBDB605373), // -1.85586374855275456654e-05 + T12 = reinterpret(0x3EFB2A7074BF7AD4); // 2.59073051863633712884e-05 + + const + one = reinterpret(0x3FF0000000000000), // 1.00000000000000000000e+00 + pio4 = reinterpret(0x3FE921FB54442D18), // 7.85398163397448278999e-01 + pio4lo = reinterpret(0x3C81A62633145C07); // 3.06161699786838301793e-17 + + let z: f64, r: f64, v: f64, w: f64, s: f64; + let hx = (reinterpret(x) >> 32); // high word of x + let ix = hx & 0x7FFFFFFF; // high word of |x| + let big = ix >= 0x3FE59428; + if (big) { // |x| >= 0.6744 + if (hx < 0) { x = -x, y = -y; } + z = pio4 - x; + w = pio4lo - y; + x = z + w; + y = 0.0; + } + z = x * x; + w = z * z; + r = T1 + w * (T3 + w * (T5 + w * (T7 + w * (T9 + w * T11)))); + v = z * (T2 + w * (T4 + w * (T6 + w * (T8 + w * (T10 + w * T12))))); + s = z * x; + r = y + z * (s * (r + v) + y); + r += T0 * s; + w = x + r; + if (big) { + v = iy; + return (1 - ((hx >> 30) & 2)) * (v - 2.0 * (x - (w * w / (w + v) - r))); + } + if (iy == 1) return w; + let a: f64, t: f64; + z = w; + z = reinterpret(reinterpret(z) & 0xFFFFFFFF00000000); + v = r - (z - x); // z + v = r + x + t = a = -one / w; // a = -1.0 / w + t = reinterpret(reinterpret(t) & 0xFFFFFFFF00000000); + s = one + t * z; + return t + a * (s + t * v); +} + +/** @internal */ +function dtoi32(x: f64): i32 { + if (ASC_SHRINK_LEVEL > 0) { + const inv32 = 1.0 / 4294967296; + return (x - 4294967296 * floor(x * inv32)); + } else { + let result = 0; + let u = reinterpret(x); + let e = (u >> 52) & 0x7FF; + if (e <= 1023 + 30) { + result = x; + } else if (e <= 1023 + 30 + 53) { + let v = (u & ((1 << 52) - 1)) | (1 << 52); + v = v << e - 1023 - 52 + 32; + result = (v >> 32); + result = select(-result, result, u < 0); + } + return result; + } +} + +// @ts-ignore: decorator +@lazy let random_seeded = false; + +// @ts-ignore: decorator +@lazy let random_state0_64: u64, random_state1_64: u64; + +// @ts-ignore: decorator +@lazy let random_state0_32: u32, random_state1_32: u32; + +function murmurHash3(h: u64): u64 { // Force all bits of a hash block to avalanche + h ^= h >> 33; // see: https://github.com/aappleby/smhasher + h *= 0xFF51AFD7ED558CCD; + h ^= h >> 33; + h *= 0xC4CEB9FE1A85EC53; + h ^= h >> 33; + return h; +} + +function splitMix32(h: u32): u32 { + h += 0x6D2B79F5; + h = (h ^ (h >> 15)) * (h | 1); + h ^= h + (h ^ (h >> 7)) * (h | 61); + return h ^ (h >> 14); +} + +export namespace NativeMath { + + // @ts-ignore: decorator + @lazy + export const E = reinterpret(0x4005BF0A8B145769); // 2.7182818284590452354 + + // @ts-ignore: decorator + @lazy + export const LN2 = reinterpret(0x3FE62E42FEFA39EF); // 0.69314718055994530942 + + // @ts-ignore: decorator + @lazy + export const LN10 = reinterpret(0x40026BB1BBB55516); // 2.30258509299404568402 + + // @ts-ignore: decorator + @lazy + export const LOG2E = reinterpret(0x3FF71547652B82FE); // 1.4426950408889634074 + + // @ts-ignore: decorator + @lazy + export const LOG10E = reinterpret(0x3FDBCB7B1526E50E); // 0.43429448190325182765 + + // @ts-ignore: decorator + @lazy + export const PI = reinterpret(0x400921FB54442D18); // 3.14159265358979323846 + + // @ts-ignore: decorator + @lazy + export const SQRT1_2 = reinterpret(0x3FE6A09E667F3BCD); // 0.70710678118654752440 + + // @ts-ignore: decorator + @lazy + export const SQRT2 = reinterpret(0x3FF6A09E667F3BCD); // 1.41421356237309504880 + + // @ts-ignore: decorator + @lazy + export let sincos_sin: f64 = 0; + + // @ts-ignore: decorator + @lazy + export let sincos_cos: f64 = 0; + + // @ts-ignore: decorator + @inline export function abs(x: f64): f64 { + return builtin_abs(x); + } + + export function acos(x: f64): f64 { // see: musl/src/math/acos.c and SUN COPYRIGHT NOTICE above + const + pio2_hi = reinterpret(0x3FF921FB54442D18), // 1.57079632679489655800e+00 + pio2_lo = reinterpret(0x3C91A62633145C07), // 6.12323399573676603587e-17 + Ox1p_120f = reinterpret(0x03800000); + + let hx = (reinterpret(x) >> 32); + let ix = hx & 0x7FFFFFFF; + if (ix >= 0x3FF00000) { + let lx = reinterpret(x); + if ((ix - 0x3FF00000 | lx) == 0) { + if (hx < 0) return 2 * pio2_hi + Ox1p_120f; + return 0; + } + return 0 / (x - x); + } + if (ix < 0x3FE00000) { + if (ix <= 0x3C600000) return pio2_hi + Ox1p_120f; + return pio2_hi - (x - (pio2_lo - x * R(x * x))); + } + let s: f64, w: f64, z: f64; + if (hx < 0) { + // z = (1.0 + x) * 0.5; + z = 0.5 + x * 0.5; + s = builtin_sqrt(z); + w = R(z) * s - pio2_lo; + return 2 * (pio2_hi - (s + w)); + } + // z = (1.0 - x) * 0.5; + z = 0.5 - x * 0.5; + s = builtin_sqrt(z); + let df = reinterpret(reinterpret(s) & 0xFFFFFFFF00000000); + let c = (z - df * df) / (s + df); + w = R(z) * s + c; + return 2 * (df + w); + } + + export function acosh(x: f64): f64 { // see: musl/src/math/acosh.c + const s = reinterpret(0x3FE62E42FEFA39EF); + let u = reinterpret(x); + // Prevent propagation for all input values less than 1.0. + // Note musl lib didn't fix this yet. + if (u < 0x3FF0000000000000) return (x - x) / 0.0; + let e = u >> 52 & 0x7FF; + if (e < 0x3FF + 1) return log1p(x - 1 + builtin_sqrt((x - 1) * (x - 1) + 2 * (x - 1))); + if (e < 0x3FF + 26) return log(2 * x - 1 / (x + builtin_sqrt(x * x - 1))); + return log(x) + s; + } + + export function asin(x: f64): f64 { // see: musl/src/math/asin.c and SUN COPYRIGHT NOTICE above + const + pio2_hi = reinterpret(0x3FF921FB54442D18), // 1.57079632679489655800e+00 + pio2_lo = reinterpret(0x3C91A62633145C07), // 6.12323399573676603587e-17 + Ox1p_120f = reinterpret(0x03800000); + + let hx = (reinterpret(x) >> 32); + let ix = hx & 0x7FFFFFFF; + if (ix >= 0x3FF00000) { + let lx = reinterpret(x); + if ((ix - 0x3FF00000 | lx) == 0) return x * pio2_hi + Ox1p_120f; + return 0 / (x - x); + } + if (ix < 0x3FE00000) { + if (ix < 0x3E500000 && ix >= 0x00100000) return x; + return x + x * R(x * x); + } + // let z = (1.0 - builtin_abs(x)) * 0.5; + let z = 0.5 - builtin_abs(x) * 0.5; + let s = builtin_sqrt(z); + let r = R(z); + if (ix >= 0x3FEF3333) x = pio2_hi - (2 * (s + s * r) - pio2_lo); + else { + let f = reinterpret(reinterpret(s) & 0xFFFFFFFF00000000); + let c = (z - f * f) / (s + f); + x = 0.5 * pio2_hi - (2 * s * r - (pio2_lo - 2 * c) - (0.5 * pio2_hi - 2 * f)); + } + return select(-x, x, hx < 0); + } + + export function asinh(x: f64): f64 { // see: musl/src/math/asinh.c + const c = reinterpret(0x3FE62E42FEFA39EF); // 0.693147180559945309417232121458176568 + let u = reinterpret(x); + let e = u >> 52 & 0x7FF; + let y = reinterpret(u & 0x7FFFFFFFFFFFFFFF); + if (e >= 0x3FF + 26) y = log(y) + c; + else if (e >= 0x3FF + 1) y = log(2 * y + 1 / (builtin_sqrt(y * y + 1) + y)); + else if (e >= 0x3FF - 26) y = log1p(y + y * y / (builtin_sqrt(y * y + 1) + 1)); + return builtin_copysign(y, x); + } + + export function atan(x: f64): f64 { // see musl/src/math/atan.c and SUN COPYRIGHT NOTICE above + const + atanhi0 = reinterpret(0x3FDDAC670561BB4F), // 4.63647609000806093515e-01 + atanhi1 = reinterpret(0x3FE921FB54442D18), // 7.85398163397448278999e-01 + atanhi2 = reinterpret(0x3FEF730BD281F69B), // 9.82793723247329054082e-01 + atanhi3 = reinterpret(0x3FF921FB54442D18), // 1.57079632679489655800e+00 + atanlo0 = reinterpret(0x3C7A2B7F222F65E2), // 2.26987774529616870924e-17 + atanlo1 = reinterpret(0x3C81A62633145C07), // 3.06161699786838301793e-17 + atanlo2 = reinterpret(0x3C7007887AF0CBBD), // 1.39033110312309984516e-17 + atanlo3 = reinterpret(0x3C91A62633145C07), // 6.12323399573676603587e-17 + aT0 = reinterpret(0x3FD555555555550D), // 3.33333333333329318027e-01 + aT1 = reinterpret(0xBFC999999998EBC4), // -1.99999999998764832476e-01 + aT2 = reinterpret(0x3FC24924920083FF), // 1.42857142725034663711e-01 + aT3 = reinterpret(0xBFBC71C6FE231671), // -1.11111104054623557880e-01, + aT4 = reinterpret(0x3FB745CDC54C206E), // 9.09088713343650656196e-02 + aT5 = reinterpret(0xBFB3B0F2AF749A6D), // -7.69187620504482999495e-02 + aT6 = reinterpret(0x3FB10D66A0D03D51), // 6.66107313738753120669e-02 + aT7 = reinterpret(0xBFADDE2D52DEFD9A), // -5.83357013379057348645e-02 + aT8 = reinterpret(0x3FA97B4B24760DEB), // 4.97687799461593236017e-02 + aT9 = reinterpret(0xBFA2B4442C6A6C2F), // -3.65315727442169155270e-02 + aT10 = reinterpret(0x3F90AD3AE322DA11), // 1.62858201153657823623e-02 + Ox1p_120f = reinterpret(0x03800000); + + let ix = (reinterpret(x) >> 32); + let sx = x; + ix &= 0x7FFFFFFF; + let z: f64; + if (ix >= 0x44100000) { + if (isNaN(x)) return x; + z = atanhi3 + Ox1p_120f; + return builtin_copysign(z, sx); + } + let id: i32; + if (ix < 0x3FDC0000) { + if (ix < 0x3E400000) return x; + id = -1; + } else { + x = builtin_abs(x); + if (ix < 0x3FF30000) { + if (ix < 0x3FE60000) { + id = 0; + x = (2.0 * x - 1.0) / (2.0 + x); + } else { + id = 1; + x = (x - 1.0) / (x + 1.0); + } + } else { + if (ix < 0x40038000) { + id = 2; + x = (x - 1.5) / (1.0 + 1.5 * x); + } else { + id = 3; + x = -1.0 / x; + } + } + } + z = x * x; + let w = z * z; + let s1 = z * (aT0 + w * (aT2 + w * (aT4 + w * (aT6 + w * (aT8 + w * aT10))))); + let s2 = w * (aT1 + w * (aT3 + w * (aT5 + w * (aT7 + w * aT9)))); + let s3 = x * (s1 + s2); + if (id < 0) return x - s3; + switch (id) { + case 0: { z = atanhi0 - ((s3 - atanlo0) - x); break; } + case 1: { z = atanhi1 - ((s3 - atanlo1) - x); break; } + case 2: { z = atanhi2 - ((s3 - atanlo2) - x); break; } + case 3: { z = atanhi3 - ((s3 - atanlo3) - x); break; } + default: unreachable(); + } + return builtin_copysign(z, sx); + } + + export function atanh(x: f64): f64 { // see: musl/src/math/atanh.c + let u = reinterpret(x); + let e = u >> 52 & 0x7FF; + let y = builtin_abs(x); + if (e < 0x3FF - 1) { + if (e >= 0x3FF - 32) y = 0.5 * log1p(2 * y + 2 * y * y / (1 - y)); + } else { + y = 0.5 * log1p(2 * (y / (1 - y))); + } + return builtin_copysign(y, x); + } + + export function atan2(y: f64, x: f64): f64 { // see: musl/src/math/atan2.c and SUN COPYRIGHT NOTICE above + const pi_lo = reinterpret(0x3CA1A62633145C07); // 1.2246467991473531772E-16 + if (isNaN(x) || isNaN(y)) return x + y; + let u = reinterpret(x); + let ix = (u >> 32); + let lx = u; + u = reinterpret(y); + let iy = (u >> 32); + let ly = u; + if ((ix - 0x3FF00000 | lx) == 0) return atan(y); + let m = ((iy >> 31) & 1) | ((ix >> 30) & 2); + ix = ix & 0x7FFFFFFF; + iy = iy & 0x7FFFFFFF; + if ((iy | ly) == 0) { + switch (m) { + case 0: + case 1: return y; + case 2: return PI; + case 3: return -PI; + } + } + if ((ix | lx) == 0) return m & 1 ? -PI / 2 : PI / 2; + if (ix == 0x7FF00000) { + if (iy == 0x7FF00000) { + let t = m & 2 ? 3 * PI / 4 : PI / 4; + return m & 1 ? -t : t; + } else { + let t = m & 2 ? PI : 0; + return m & 1 ? -t : t; + } + } + let z: f64; + if (ix + (64 << 20) < iy || iy == 0x7FF00000) return m & 1 ? -PI / 2 : PI / 2; + if ((m & 2) && iy + (64 << 20) < ix) z = 0; + else z = atan(builtin_abs(y / x)); + switch (m) { + case 0: return z; + case 1: return -z; + case 2: return PI - (z - pi_lo); + case 3: return (z - pi_lo) - PI; + } + unreachable(); + return 0; + } + + export function cbrt(x: f64): f64 { // see: musl/src/math/cbrt.c and SUN COPYRIGHT NOTICE above + const + B1 = 715094163, + B2 = 696219795, + P0 = reinterpret(0x3FFE03E60F61E692), // 1.87595182427177009643 + P1 = reinterpret(0xBFFE28E092F02420), // -1.88497979543377169875 + P2 = reinterpret(0x3FF9F1604A49D6C2), // 1.621429720105354466140 + P3 = reinterpret(0xBFE844CBBEE751D9), // -0.758397934778766047437 + P4 = reinterpret(0x3FC2B000D4E4EDD7), // 0.145996192886612446982 + Ox1p54 = reinterpret(0x4350000000000000); // 0x1p54 + + let u = reinterpret(x); + let hx = (u >> 32) & 0x7FFFFFFF; + if (hx >= 0x7FF00000) return x + x; + if (hx < 0x00100000) { + u = reinterpret(x * Ox1p54); + hx = (u >> 32) & 0x7FFFFFFF; + if (hx == 0) return x; + hx = hx / 3 + B2; + } else { + hx = hx / 3 + B1; + } + u &= 1 << 63; + u |= hx << 32; + let t = reinterpret(u); + let r = (t * t) * (t / x); + t = t * ((P0 + r * (P1 + r * P2)) + ((r * r) * r) * (P3 + r * P4)); + t = reinterpret((reinterpret(t) + 0x80000000) & 0xFFFFFFFFC0000000); + let s = t * t; + r = x / s; + r = (r - t) / (2 * t + r); + t = t + t * r; + return t; + } + + // @ts-ignore: decorator + @inline + export function ceil(x: f64): f64 { + return builtin_ceil(x); + } + + export function clz32(x: f64): f64 { + if (!isFinite(x)) return 32; + /* + * Wasm (MVP) and JS have different approaches for double->int conversions. + * + * For emulate JS conversion behavior and avoid trapping from wasm we should modulate by MAX_INT + * our float-point arguments before actual convertion to integers. + */ + return builtin_clz(dtoi32(x)); + } + + export function cos(x: f64): f64 { // see: musl/src/math/cos.c + let u = reinterpret(x); + let ux = u32(u >> 32); + let sign = ux >> 31; + + ux &= 0x7FFFFFFF; + + // |x| ~< pi/4 + if (ux <= 0x3FE921FB) { + if (ux < 0x3E46A09E) { // |x| < 2**-27 * sqrt(2) + return 1.0; + } + return cos_kern(x, 0); + } + + // sin(Inf or NaN) is NaN + if (ux >= 0x7FF00000) return x - x; + + // argument reduction needed + let n = rempio2(x, u, sign); + let y0 = rempio2_y0; + let y1 = rempio2_y1; + + x = n & 1 ? sin_kern(y0, y1, 1) : cos_kern(y0, y1); + return (n + 1) & 2 ? -x : x; + } + + export function cosh(x: f64): f64 { // see: musl/src/math/cosh.c + let u = reinterpret(x); + u &= 0x7FFFFFFFFFFFFFFF; + x = reinterpret(u); + let w = (u >> 32); + let t: f64; + if (w < 0x3FE62E42) { + if (w < 0x3FF00000 - (26 << 20)) return 1; + t = expm1(x); + // return 1 + t * t / (2 * (1 + t)); + return 1 + t * t / (2 + 2 * t); + } + if (w < 0x40862E42) { + t = exp(x); + return 0.5 * (t + 1 / t); + } + t = expo2(x, 1); + return t; + } + + export function exp(x: f64): f64 { // see: musl/src/math/exp.c and SUN COPYRIGHT NOTICE above + if (ASC_SHRINK_LEVEL < 1) { + return exp_lut(x); + } else { + const + ln2hi = reinterpret(0x3FE62E42FEE00000), // 6.93147180369123816490e-01 + ln2lo = reinterpret(0x3DEA39EF35793C76), // 1.90821492927058770002e-10 + invln2 = reinterpret(0x3FF71547652B82FE), // 1.44269504088896338700e+00 + P1 = reinterpret(0x3FC555555555553E), // 1.66666666666666019037e-01 + P2 = reinterpret(0xBF66C16C16BEBD93), // -2.77777777770155933842e-03 + P3 = reinterpret(0x3F11566AAF25DE2C), // 6.61375632143793436117e-05 + P4 = reinterpret(0xBEBBBD41C5D26BF1), // -1.65339022054652515390e-06 + P5 = reinterpret(0x3E66376972BEA4D0), // 4.13813679705723846039e-08 + overflow = reinterpret(0x40862E42FEFA39EF), // 709.782712893383973096 + underflow = reinterpret(0xC0874910D52D3051), // -745.13321910194110842 + Ox1p1023 = reinterpret(0x7FE0000000000000); // 0x1p1023 + + let hx = u32(reinterpret(x) >> 32); + let sign = hx >> 31; + hx &= 0x7FFFFFFF; + if (hx >= 0x4086232B) { + if (isNaN(x)) return x; + if (x > overflow) return x * Ox1p1023; + if (x < underflow) return 0; + } + let hi: f64, lo: f64 = 0; + let k = 0; + if (hx > 0x3FD62E42) { + if (hx >= 0x3FF0A2B2) { + k = i32(invln2 * x + builtin_copysign(0.5, x)); + } else { + k = 1 - (sign << 1); + } + hi = x - k * ln2hi; + lo = k * ln2lo; + x = hi - lo; + } else if (hx > 0x3E300000) { + hi = x; + } else return 1.0 + x; + let xs = x * x; + // let c = x - xp2 * (P1 + xp2 * (P2 + xp2 * (P3 + xp2 * (P4 + xp2 * P5)))); + let xq = xs * xs; + let c = x - (xs * P1 + xq * ((P2 + xs * P3) + xq * (P4 + xs * P5))); + let y = 1.0 + (x * c / (2 - c) - lo + hi); + return k == 0 ? y : scalbn(y, k); + } + } + + export function exp2(x: f64): f64 { + return exp2_lut(x); + } + + export function expm1(x: f64): f64 { // see: musl/src/math/expm1.c and SUN COPYRIGHT NOTICE above + const + o_threshold = reinterpret(0x40862E42FEFA39EF), // 7.09782712893383973096e+02 + ln2_hi = reinterpret(0x3FE62E42FEE00000), // 6.93147180369123816490e-01 + ln2_lo = reinterpret(0x3DEA39EF35793C76), // 1.90821492927058770002e-10 + invln2 = reinterpret(0x3FF71547652B82FE), // 1.44269504088896338700e+00 + Q1 = reinterpret(0xBFA11111111110F4), // -3.33333333333331316428e-02 + Q2 = reinterpret(0x3F5A01A019FE5585), // 1.58730158725481460165e-03 + Q3 = reinterpret(0xBF14CE199EAADBB7), // -7.93650757867487942473e-05 + Q4 = reinterpret(0x3ED0CFCA86E65239), // 4.00821782732936239552e-06 + Q5 = reinterpret(0xBE8AFDB76E09C32D), // -2.01099218183624371326e-07 + Ox1p1023 = reinterpret(0x7FE0000000000000); // 0x1p1023 + + let u = reinterpret(x); + let hx = u32(u >> 32) & 0x7FFFFFFF; + let sign = u32(u >> 63); + let k = 0; + if (hx >= 0x4043687A) { + if (isNaN(x)) return x; + if (sign) return -1; + if (x > o_threshold) return x * Ox1p1023; + } + let c = 0.0, t: f64; + if (hx > 0x3FD62E42) { + k = select( + 1 - (sign << 1), + i32(invln2 * x + builtin_copysign(0.5, x)), + hx < 0x3FF0A2B2 + ); + t = k; + let hi = x - t * ln2_hi; + let lo = t * ln2_lo; + x = hi - lo; + c = (hi - x) - lo; + } else if (hx < 0x3C900000) return x; + let hfx = 0.5 * x; + let hxs = x * hfx; + // let r1 = 1.0 + hxs * (Q1 + hxs * (Q2 + hxs * (Q3 + hxs * (Q4 + hxs * Q5)))); + let hxq = hxs * hxs; + let r1 = (1.0 + hxs * Q1) + hxq * ((Q2 + hxs * Q3) + hxq * (Q4 + hxs * Q5)); + t = 3.0 - r1 * hfx; + let e = hxs * ((r1 - t) / (6.0 - x * t)); + if (k == 0) return x - (x * e - hxs); + e = x * (e - c) - c; + e -= hxs; + if (k == -1) return 0.5 * (x - e) - 0.5; + if (k == 1) { + if (x < -0.25) return -2.0 * (e - (x + 0.5)); + return 1.0 + 2.0 * (x - e); + } + u = (0x3FF + k) << 52; + let twopk = reinterpret(u); + let y: f64; + if (k < 0 || k > 56) { + y = x - e + 1.0; + if (k == 1024) y = y * 2.0 * Ox1p1023; + else y = y * twopk; + return y - 1.0; + } + u = (0x3FF - k) << 52; + y = reinterpret(u); + if (k < 20) y = (1 - y) - e; + else y = 1 - (e + y); + return (x + y) * twopk; + } + + // @ts-ignore: decorator + @inline + export function floor(x: f64): f64 { + return builtin_floor(x); + } + + // @ts-ignore: decorator + @inline + export function fround(x: f64): f64 { + return x; + } + + export function hypot(x: f64, y: f64): f64 { // see: musl/src/math/hypot.c + const + SPLIT = reinterpret(0x41A0000000000000) + 1, // 0x1p27 + 1 + Ox1p700 = reinterpret(0x6BB0000000000000), + Ox1p_700 = reinterpret(0x1430000000000000); + + let ux = reinterpret(x); + let uy = reinterpret(y); + ux &= 0x7FFFFFFFFFFFFFFF; + uy &= 0x7FFFFFFFFFFFFFFF; + if (ux < uy) { + let ut = ux; + ux = uy; + uy = ut; + } + let ex = i32(ux >> 52); + let ey = i32(uy >> 52); + y = reinterpret(uy); + if (ey == 0x7FF) return y; + x = reinterpret(ux); + if (ex == 0x7FF || uy == 0) return x; + if (ex - ey > 64) return x + y; + let z = 1.0; + if (ex > 0x3FF + 510) { + z = Ox1p700; + x *= Ox1p_700; + y *= Ox1p_700; + } else if (ey < 0x3FF - 450) { + z = Ox1p_700; + x *= Ox1p700; + y *= Ox1p700; + } + let c = x * SPLIT; + let h = x - c + c; + let l = x - h; + let hx = x * x; + let lx = h * h - hx + (2 * h + l) * l; + c = y * SPLIT; + h = y - c + c; + l = y - h; + let hy = y * y; + let ly = h * h - hy + (2 * h + l) * l; + return z * builtin_sqrt(ly + lx + hy + hx); + } + + export function imul(x: f64, y: f64): f64 { + /* + * Wasm (MVP) and JS have different approaches for double->int conversions. + * + * For emulate JS conversion behavior and avoid trapping from wasm we should modulate by MAX_INT + * our float-point arguments before actual convertion to integers. + */ + if (!isFinite(x + y)) return 0; + return dtoi32(x) * dtoi32(y); + } + + export function log(x: f64): f64 { // see: musl/src/math/log.c and SUN COPYRIGHT NOTICE above + if (ASC_SHRINK_LEVEL < 1) { + return log_lut(x); + } else { + const + ln2_hi = reinterpret(0x3FE62E42FEE00000), // 6.93147180369123816490e-01 + ln2_lo = reinterpret(0x3DEA39EF35793C76), // 1.90821492927058770002e-10 + Lg1 = reinterpret(0x3FE5555555555593), // 6.666666666666735130e-01 + Lg2 = reinterpret(0x3FD999999997FA04), // 3.999999999940941908e-01 + Lg3 = reinterpret(0x3FD2492494229359), // 2.857142874366239149e-01 + Lg4 = reinterpret(0x3FCC71C51D8E78AF), // 2.222219843214978396e-01 + Lg5 = reinterpret(0x3FC7466496CB03DE), // 1.818357216161805012e-01 + Lg6 = reinterpret(0x3FC39A09D078C69F), // 1.531383769920937332e-01 + Lg7 = reinterpret(0x3FC2F112DF3E5244), // 1.479819860511658591e-01 + Ox1p54 = reinterpret(0x4350000000000000); // 0x1p54 + + let u = reinterpret(x); + let hx = u32(u >> 32); + let k = 0; + let sign = hx >> 31; + if (sign || hx < 0x00100000) { + if (u << 1 == 0) return -1 / (x * x); + if (sign) return (x - x) / 0.0; + k -= 54; + x *= Ox1p54; + u = reinterpret(x); + hx = u32(u >> 32); + } else if (hx >= 0x7FF00000) { + return x; + } else if (hx == 0x3FF00000 && u << 32 == 0) { + return 0; + } + hx += 0x3FF00000 - 0x3FE6A09E; + k += (hx >> 20) - 0x3FF; + hx = (hx & 0x000FFFFF) + 0x3FE6A09E; + u = hx << 32 | (u & 0xFFFFFFFF); + x = reinterpret(u); + let f = x - 1.0; + let hfsq = 0.5 * f * f; + let s = f / (2.0 + f); + let z = s * s; + let w = z * z; + let t1 = w * (Lg2 + w * (Lg4 + w * Lg6)); + let t2 = z * (Lg1 + w * (Lg3 + w * (Lg5 + w * Lg7))); + let r = t2 + t1; + let dk = k; + return s * (hfsq + r) + dk * ln2_lo - hfsq + f + dk * ln2_hi; + } + } + + export function log10(x: f64): f64 { // see: musl/src/math/log10.c and SUN COPYRIGHT NOTICE above + const + ivln10hi = reinterpret(0x3FDBCB7B15200000), // 4.34294481878168880939e-01 + ivln10lo = reinterpret(0x3DBB9438CA9AADD5), // 2.50829467116452752298e-11 + log10_2hi = reinterpret(0x3FD34413509F6000), // 3.01029995663611771306e-01 + log10_2lo = reinterpret(0x3D59FEF311F12B36), // 3.69423907715893078616e-13 + Lg1 = reinterpret(0x3FE5555555555593), // 6.666666666666735130e-01 + Lg2 = reinterpret(0x3FD999999997FA04), // 3.999999999940941908e-01 + Lg3 = reinterpret(0x3FD2492494229359), // 2.857142874366239149e-01 + Lg4 = reinterpret(0x3FCC71C51D8E78AF), // 2.222219843214978396e-01 + Lg5 = reinterpret(0x3FC7466496CB03DE), // 1.818357216161805012e-01 + Lg6 = reinterpret(0x3FC39A09D078C69F), // 1.531383769920937332e-01 + Lg7 = reinterpret(0x3FC2F112DF3E5244), // 1.479819860511658591e-01 + Ox1p54 = reinterpret(0x4350000000000000); // 0x1p54 + + let u = reinterpret(x); + let hx = u32(u >> 32); + let k = 0; + let sign = hx >> 31; + if (sign || hx < 0x00100000) { + if (u << 1 == 0) return -1 / (x * x); + if (sign) return (x - x) / 0.0; + k -= 54; + x *= Ox1p54; + u = reinterpret(x); + hx = u32(u >> 32); + } else if (hx >= 0x7FF00000) { + return x; + } else if (hx == 0x3FF00000 && u << 32 == 0) { + return 0; + } + hx += 0x3FF00000 - 0x3FE6A09E; + k += i32(hx >> 20) - 0x3FF; + hx = (hx & 0x000FFFFF) + 0x3FE6A09E; + u = hx << 32 | (u & 0xFFFFFFFF); + x = reinterpret(u); + let f = x - 1.0; + let hfsq = 0.5 * f * f; + let s = f / (2.0 + f); + let z = s * s; + let w = z * z; + let t1 = w * (Lg2 + w * (Lg4 + w * Lg6)); + let t2 = z * (Lg1 + w * (Lg3 + w * (Lg5 + w * Lg7))); + let r = t2 + t1; + let hi = f - hfsq; + u = reinterpret(hi); + u &= 0xFFFFFFFF00000000; + hi = reinterpret(u); + let lo = f - hi - hfsq + s * (hfsq + r); + let val_hi = hi * ivln10hi; + let dk = k; + let y = dk * log10_2hi; + let val_lo = dk * log10_2lo + (lo + hi) * ivln10lo + lo * ivln10hi; + w = y + val_hi; + val_lo += (y - w) + val_hi; + return val_lo + w; + } + + export function log1p(x: f64): f64 { // see: musl/src/math/log1p.c and SUN COPYRIGHT NOTICE above + const + ln2_hi = reinterpret(0x3FE62E42FEE00000), // 6.93147180369123816490e-01 + ln2_lo = reinterpret(0x3DEA39EF35793C76), // 1.90821492927058770002e-10 + Lg1 = reinterpret(0x3FE5555555555593), // 6.666666666666735130e-01 + Lg2 = reinterpret(0x3FD999999997FA04), // 3.999999999940941908e-01 + Lg3 = reinterpret(0x3FD2492494229359), // 2.857142874366239149e-01 + Lg4 = reinterpret(0x3FCC71C51D8E78AF), // 2.222219843214978396e-01 + Lg5 = reinterpret(0x3FC7466496CB03DE), // 1.818357216161805012e-01 + Lg6 = reinterpret(0x3FC39A09D078C69F), // 1.531383769920937332e-01 + Lg7 = reinterpret(0x3FC2F112DF3E5244); // 1.479819860511658591e-01 + + let u = reinterpret(x); + let hx = u32(u >> 32); + let k = 1; + let c = 0.0, f = 0.0; + if (hx < 0x3FDA827A || bool(hx >> 31)) { + if (hx >= 0xBFF00000) { + if (x == -1) return x / 0.0; + return (x - x) / 0.0; + } + if (hx << 1 < 0x3CA00000 << 1) return x; + if (hx <= 0xBFD2BEC4) { + k = 0; + c = 0; + f = x; + } + } else if (hx >= 0x7FF00000) return x; + if (k) { + u = reinterpret(1 + x); + let hu = u32(u >> 32); + hu += 0x3FF00000 - 0x3FE6A09E; + k = i32(hu >> 20) - 0x3FF; + if (k < 54) { + let uf = reinterpret(u); + c = k >= 2 ? 1 - (uf - x) : x - (uf - 1); + c /= uf; + } else c = 0; + hu = (hu & 0x000FFFFF) + 0x3FE6A09E; + u = hu << 32 | (u & 0xFFFFFFFF); + f = reinterpret(u) - 1; + } + let hfsq = 0.5 * f * f; + let s = f / (2.0 + f); + let z = s * s; + let w = z * z; + let t1 = w * (Lg2 + w * (Lg4 + w * Lg6)); + let t2 = z * (Lg1 + w * (Lg3 + w * (Lg5 + w * Lg7))); + let r = t2 + t1; + let dk = k; + return s * (hfsq + r) + (dk * ln2_lo + c) - hfsq + f + dk * ln2_hi; + } + + export function log2(x: f64): f64 { // see: musl/src/math/log2.c and SUN COPYRIGHT NOTICE above + if (ASC_SHRINK_LEVEL < 1) { + return log2_lut(x); + } else { + const + ivln2hi = reinterpret(0x3FF7154765200000), // 1.44269504072144627571e+00 + ivln2lo = reinterpret(0x3DE705FC2EEFA200), // 1.67517131648865118353e-10 + Lg1 = reinterpret(0x3FE5555555555593), // 6.666666666666735130e-01 + Lg2 = reinterpret(0x3FD999999997FA04), // 3.999999999940941908e-01 + Lg3 = reinterpret(0x3FD2492494229359), // 2.857142874366239149e-01 + Lg4 = reinterpret(0x3FCC71C51D8E78AF), // 2.222219843214978396e-01 + Lg5 = reinterpret(0x3FC7466496CB03DE), // 1.818357216161805012e-01 + Lg6 = reinterpret(0x3FC39A09D078C69F), // 1.531383769920937332e-01 + Lg7 = reinterpret(0x3FC2F112DF3E5244), // 1.479819860511658591e-01 + Ox1p54 = reinterpret(0x4350000000000000); // 1p54 + + let u = reinterpret(x); + let hx = u32(u >> 32); + let k = 0; + let sign = hx >> 31; + if (sign || hx < 0x00100000) { + if (u << 1 == 0) return -1 / (x * x); + if (sign) return (x - x) / 0.0; + k -= 54; + x *= Ox1p54; + u = reinterpret(x); + hx = u32(u >> 32); + } else if (hx >= 0x7FF00000) { + return x; + } else if (hx == 0x3FF00000 && u << 32 == 0) { + return 0; + } + hx += 0x3FF00000 - 0x3FE6A09E; + k += i32(hx >> 20) - 0x3FF; + hx = (hx & 0x000FFFFF) + 0x3FE6A09E; + u = hx << 32 | (u & 0xFFFFFFFF); + x = reinterpret(u); + let f = x - 1.0; + let hfsq = 0.5 * f * f; + let s = f / (2.0 + f); + let z = s * s; + let w = z * z; + let t1 = w * (Lg2 + w * (Lg4 + w * Lg6)); + let t2 = z * (Lg1 + w * (Lg3 + w * (Lg5 + w * Lg7))); + let r = t2 + t1; + let hi = f - hfsq; + u = reinterpret(hi); + u &= 0xFFFFFFFF00000000; + hi = reinterpret(u); + let lo = f - hi - hfsq + s * (hfsq + r); + let val_hi = hi * ivln2hi; + let val_lo = (lo + hi) * ivln2lo + lo * ivln2hi; + let y = k; + w = y + val_hi; + val_lo += (y - w) + val_hi; + val_hi = w; + return val_lo + val_hi; + } + } + + // @ts-ignore: decorator + @inline + export function max(value1: f64, value2: f64): f64 { + return builtin_max(value1, value2); + } + + // @ts-ignore: decorator + @inline + export function min(value1: f64, value2: f64): f64 { + return builtin_min(value1, value2); + } + + export function pow(x: f64, y: f64): f64 { // see: musl/src/math/pow.c and SUN COPYRIGHT NOTICE above + // TODO: remove this fast pathes after introduced own mid-end IR with "stdlib call simplify" transforms + if (builtin_abs(y) <= 2) { + if (y == 2.0) return x * x; + if (y == 0.5) { + return select( + builtin_abs(builtin_sqrt(x)), + Infinity, + x != -Infinity + ); + } + if (y == -1.0) return 1 / x; + if (y == 1.0) return x; + if (y == 0.0) return 1.0; + } + if (ASC_SHRINK_LEVEL < 1) { + return pow_lut(x, y); + } else { + const + dp_h1 = reinterpret(0x3FE2B80340000000), // 5.84962487220764160156e-01 + dp_l1 = reinterpret(0x3E4CFDEB43CFD006), // 1.35003920212974897128e-08 + two53 = reinterpret(0x4340000000000000), // 9007199254740992.0 + huge = reinterpret(0x7E37E43C8800759C), // 1e+300 + tiny = reinterpret(0x01A56E1FC2F8F359), // 1e-300 + L1 = reinterpret(0x3FE3333333333303), // 5.99999999999994648725e-01 + L2 = reinterpret(0x3FDB6DB6DB6FABFF), // 4.28571428578550184252e-01 + L3 = reinterpret(0x3FD55555518F264D), // 3.33333329818377432918e-01 + L4 = reinterpret(0x3FD17460A91D4101), // 2.72728123808534006489e-01 + L5 = reinterpret(0x3FCD864A93C9DB65), // 2.30660745775561754067e-01 + L6 = reinterpret(0x3FCA7E284A454EEF), // 2.06975017800338417784e-01 + P1 = reinterpret(0x3FC555555555553E), // 1.66666666666666019037e-01 + P2 = reinterpret(0xBF66C16C16BEBD93), // -2.77777777770155933842e-03 + P3 = reinterpret(0x3F11566AAF25DE2C), // 6.61375632143793436117e-05 + P4 = reinterpret(0xBEBBBD41C5D26BF1), // -1.65339022054652515390e-06 + P5 = reinterpret(0x3E66376972BEA4D0), // 4.13813679705723846039e-08 + lg2 = reinterpret(0x3FE62E42FEFA39EF), // 6.93147180559945286227e-01 + lg2_h = reinterpret(0x3FE62E4300000000), // 6.93147182464599609375e-01 + lg2_l = reinterpret(0xBE205C610CA86C39), // -1.90465429995776804525e-09 + ovt = reinterpret(0x3C971547652B82FE), // 8.0085662595372944372e-017 + cp = reinterpret(0x3FEEC709DC3A03FD), // 9.61796693925975554329e-01 + cp_h = reinterpret(0x3FEEC709E0000000), // 9.61796700954437255859e-01 + cp_l = reinterpret(0xBE3E2FE0145B01F5), // -7.02846165095275826516e-09 + ivln2 = reinterpret(0x3FF71547652B82FE), // 1.44269504088896338700e+00 + ivln2_h = reinterpret(0x3FF7154760000000), // 1.44269502162933349609e+00 + ivln2_l = reinterpret(0x3E54AE0BF85DDF44), // 1.92596299112661746887e-08 + inv3 = reinterpret(0x3FD5555555555555); // 0.3333333333333333333333 + + let u_ = reinterpret(x); + let hx = i32(u_ >> 32); + let lx = u_; + u_ = reinterpret(y); + let hy = i32(u_ >> 32); + let ly = u_; + let ix = hx & 0x7FFFFFFF; + let iy = hy & 0x7FFFFFFF; + if ((iy | ly) == 0) return 1.0; // x**0 = 1, even if x is NaN + // if (hx == 0x3FF00000 && lx == 0) return 1.0; // C: 1**y = 1, even if y is NaN, JS: NaN + if ( // NaN if either arg is NaN + ix > 0x7FF00000 || (ix == 0x7FF00000 && lx != 0) || + iy > 0x7FF00000 || (iy == 0x7FF00000 && ly != 0) + ) return x + y; + let yisint = 0, k: i32; + if (hx < 0) { + if (iy >= 0x43400000) yisint = 2; + else if (iy >= 0x3FF00000) { + k = (iy >> 20) - 0x3FF; + let offset = select(52, 20, k > 20) - k; + let Ly = select(ly, iy, k > 20); + let jj = Ly >> offset; + if ((jj << offset) == Ly) yisint = 2 - (jj & 1); + } + } + if (ly == 0) { + if (iy == 0x7FF00000) { // y is +-inf + if (((ix - 0x3FF00000) | lx) == 0) return NaN; // C: (-1)**+-inf is 1, JS: NaN + else if (ix >= 0x3FF00000) return hy >= 0 ? y : 0.0; // (|x|>1)**+-inf = inf,0 + else return hy >= 0 ? 0.0 : -y; // (|x|<1)**+-inf = 0,inf + } + if (iy == 0x3FF00000) { + if (hy >= 0) return x; + return 1 / x; + } + if (hy == 0x40000000) return x * x; + if (hy == 0x3FE00000) { + if (hx >= 0) return builtin_sqrt(x); + } + } + let ax = builtin_abs(x), z: f64; + if (lx == 0) { + if (ix == 0 || ix == 0x7FF00000 || ix == 0x3FF00000) { + z = ax; + if (hy < 0) z = 1.0 / z; + if (hx < 0) { + if (((ix - 0x3FF00000) | yisint) == 0) { + let d = z - z; + z = d / d; + } else if (yisint == 1) z = -z; + } + return z; + } + } + let s = 1.0; + if (hx < 0) { + if (yisint == 0) { + let d = x - x; + return d / d; + } + if (yisint == 1) s = -1.0; + } + let t1: f64, t2: f64, p_h: f64, p_l: f64, r: f64, t: f64, u: f64, v: f64, w: f64; + let j: i32, n: i32; + if (iy > 0x41E00000) { + if (iy > 0x43F00000) { + if (ix <= 0x3FEFFFFF) return hy < 0 ? huge * huge : tiny * tiny; + if (ix >= 0x3FF00000) return hy > 0 ? huge * huge : tiny * tiny; + } + if (ix < 0x3FEFFFFF) return hy < 0 ? s * huge * huge : s * tiny * tiny; + if (ix > 0x3FF00000) return hy > 0 ? s * huge * huge : s * tiny * tiny; + t = ax - 1.0; + w = (t * t) * (0.5 - t * (inv3 - t * 0.25)); + u = ivln2_h * t; + v = t * ivln2_l - w * ivln2; + t1 = u + v; + t1 = reinterpret(reinterpret(t1) & 0xFFFFFFFF00000000); + t2 = v - (t1 - u); + } else { + let ss: f64, s2: f64, s_h: f64, s_l: f64, t_h: f64, t_l: f64; + n = 0; + if (ix < 0x00100000) { + ax *= two53; + n -= 53; + ix = (reinterpret(ax) >> 32); + } + n += (ix >> 20) - 0x3FF; + j = ix & 0x000FFFFF; + ix = j | 0x3FF00000; + if (j <= 0x3988E) k = 0; + else if (j < 0xBB67A) k = 1; + else { + k = 0; + n += 1; + ix -= 0x00100000; + } + ax = reinterpret(reinterpret(ax) & 0xFFFFFFFF | (ix << 32)); + let bp = select(1.5, 1.0, k); // k ? 1.5 : 1.0 + u = ax - bp; + v = 1.0 / (ax + bp); + ss = u * v; + s_h = ss; + s_h = reinterpret(reinterpret(s_h) & 0xFFFFFFFF00000000); + t_h = reinterpret(u64(((ix >> 1) | 0x20000000) + 0x00080000 + (k << 18)) << 32); + t_l = ax - (t_h - bp); + s_l = v * ((u - s_h * t_h) - s_h * t_l); + s2 = ss * ss; + r = s2 * s2 * (L1 + s2 * (L2 + s2 * (L3 + s2 * (L4 + s2 * (L5 + s2 * L6))))); + r += s_l * (s_h + ss); + s2 = s_h * s_h; + t_h = 3.0 + s2 + r; + t_h = reinterpret(reinterpret(t_h) & 0xFFFFFFFF00000000); + t_l = r - ((t_h - 3.0) - s2); + u = s_h * t_h; + v = s_l * t_h + t_l * ss; + p_h = u + v; + p_h = reinterpret(reinterpret(p_h) & 0xFFFFFFFF00000000); + p_l = v - (p_h - u); + let z_h = cp_h * p_h; + let dp_l = select(dp_l1, 0.0, k); + let z_l = cp_l * p_h + p_l * cp + dp_l; + t = n; + let dp_h = select(dp_h1, 0.0, k); + t1 = ((z_h + z_l) + dp_h) + t; + t1 = reinterpret(reinterpret(t1) & 0xFFFFFFFF00000000); + t2 = z_l - (((t1 - t) - dp_h) - z_h); + } + let y1 = y; + y1 = reinterpret(reinterpret(y1) & 0xFFFFFFFF00000000); + p_l = (y - y1) * t1 + y * t2; + p_h = y1 * t1; + z = p_l + p_h; + u_ = reinterpret(z); + j = u32(u_ >> 32); + let i = u_; + if (j >= 0x40900000) { + if (((j - 0x40900000) | i) != 0) return s * huge * huge; + if (p_l + ovt > z - p_h) return s * huge * huge; + } else if ((j & 0x7FFFFFFF) >= 0x4090CC00) { + if (((j - 0xC090CC00) | i) != 0) return s * tiny * tiny; + if (p_l <= z - p_h) return s * tiny * tiny; + } + i = j & 0x7FFFFFFF; + k = (i >> 20) - 0x3FF; + n = 0; + if (i > 0x3FE00000) { + n = j + (0x00100000 >> (k + 1)); + k = ((n & 0x7FFFFFFF) >> 20) - 0x3FF; + t = 0.0; + t = reinterpret(u64(n & ~(0x000FFFFF >> k)) << 32); + n = ((n & 0x000FFFFF) | 0x00100000) >> (20 - k); + if (j < 0) n = -n; + p_h -= t; + } + t = p_l + p_h; + t = reinterpret(reinterpret(t) & 0xFFFFFFFF00000000); + u = t * lg2_h; + v = (p_l - (t - p_h)) * lg2 + t * lg2_l; + z = u + v; + w = v - (z - u); + t = z * z; + t1 = z - t * (P1 + t * (P2 + t * (P3 + t * (P4 + t * P5)))); + r = (z * t1) / (t1 - 2.0) - (w + z * w); + z = 1.0 - (r - z); + j = u32(reinterpret(z) >> 32); + j += n << 20; + if ((j >> 20) <= 0) z = scalbn(z, n); + else z = reinterpret(reinterpret(z) & 0xFFFFFFFF | (j << 32)); + return s * z; + } + } + + export function seedRandom(value: i64): void { + // Instead zero seed use golden ratio: + // phi = (1 + sqrt(5)) / 2 + // trunc(2^64 / phi) = 0x9e3779b97f4a7c15 + if (value == 0) value = 0x9e3779b97f4a7c15; + random_state0_64 = murmurHash3(value); + random_state1_64 = murmurHash3(~random_state0_64); + random_state0_32 = splitMix32(value); + random_state1_32 = splitMix32(random_state0_32); + random_seeded = true; + } + + export function random(): f64 { // see: v8/src/base/utils/random-number-generator.cc + if (!random_seeded) seedRandom(reinterpret(seed())); + let s1 = random_state0_64; + let s0 = random_state1_64; + random_state0_64 = s0; + s1 ^= s1 << 23; + s1 ^= s1 >> 17; + s1 ^= s0; + s1 ^= s0 >> 26; + random_state1_64 = s1; + let r = (s0 >> 12) | 0x3FF0000000000000; + return reinterpret(r) - 1; + } + + export function round(x: f64): f64 { + if (ASC_SHRINK_LEVEL > 0) { + return builtin_ceil(x) - f64(builtin_ceil(x) - 0.5 > x); + } else { + let roundUp = builtin_ceil(x); + return select(roundUp, roundUp - 1.0, roundUp - 0.5 <= x); + } + } + + export function sign(x: f64): f64 { + if (ASC_SHRINK_LEVEL > 0) { + return select(builtin_copysign(1, x), x, builtin_abs(x) > 0); + } else { + return select(1, select(-1, x, x < 0), x > 0); + } + } + + // @ts-ignore: decorator + @inline + export function signbit(x: f64): bool { + return bool(reinterpret(x) >>> 63); + } + + export function sin(x: f64): f64 { // see: musl/src/math/sin.c + let u = reinterpret(x); + let ux = u32(u >> 32); + let sign = ux >> 31; + + ux &= 0x7FFFFFFF; + + // |x| ~< pi/4 + if (ux <= 0x3FE921FB) { + if (ux < 0x3E500000) { // |x| < 2**-26 + return x; + } + return sin_kern(x, 0.0, 0); + } + + // sin(Inf or NaN) is NaN + if (ux >= 0x7FF00000) return x - x; + + // argument reduction needed + let n = rempio2(x, u, sign); + let y0 = rempio2_y0; + let y1 = rempio2_y1; + + x = n & 1 ? cos_kern(y0, y1) : sin_kern(y0, y1, 1); + return n & 2 ? -x : x; + } + + export function sinh(x: f64): f64 { // see: musl/src/math/sinh.c + let u = reinterpret(x) & 0x7FFFFFFFFFFFFFFF; + let a = reinterpret(u); + let w = u32(u >> 32); + let h = builtin_copysign(0.5, x); + if (w < 0x40862E42) { + let t = expm1(a); + if (w < 0x3FF00000) { + if (w < 0x3FF00000 - (26 << 20)) return x; + return h * (2 * t - t * t / (t + 1)); + } + return h * (t + t / (t + 1)); + } + return expo2(a, 2 * h); + } + + // @ts-ignore: decorator + @inline + export function sqrt(x: f64): f64 { + return builtin_sqrt(x); + } + + export function tan(x: f64): f64 { // see: musl/src/math/tan.c + let u = reinterpret(x); + let ux = u32(u >> 32); + let sign = ux >>> 31; + + ux &= 0x7FFFFFFF; + + // |x| ~< pi/4 + if (ux <= 0x3FE921FB) { + if (ux < 0x3E400000) { // |x| < 2**-27 + return x; + } + return tan_kern(x, 0.0, 1); + } + + // tan(Inf or NaN) is NaN + if (ux >= 0x7FF00000) return x - x; + + let n = rempio2(x, u, sign); + return tan_kern(rempio2_y0, rempio2_y1, 1 - ((n & 1) << 1)); + } + + export function tanh(x: f64): f64 { // see: musl/src/math/tanh.c + let u = reinterpret(x); + u &= 0x7FFFFFFFFFFFFFFF; + let y = reinterpret(u); + let w = u32(u >> 32); + let t: f64; + if (w > 0x3FE193EA) { + if (w > 0x40340000) { + t = 1 - 0 / y; + } else { + t = expm1(2 * y); + t = 1 - 2 / (t + 2); + } + } else if (w > 0x3FD058AE) { + t = expm1(2 * y); + t = t / (t + 2); + } else if (w >= 0x00100000) { + t = expm1(-2 * y); + t = -t / (t + 2); + } else t = y; + return builtin_copysign(t, x); + } + + // @ts-ignore: decorator + @inline + export function trunc(x: f64): f64 { + return builtin_trunc(x); + } + + export function scalbn(x: f64, n: i32): f64 { // see: https://git.musl-libc.org/cgit/musl/tree/src/math/scalbn.c + const + Ox1p53 = reinterpret(0x4340000000000000), + Ox1p1023 = reinterpret(0x7FE0000000000000), + Ox1p_1022 = reinterpret(0x0010000000000000); + + let y = x; + if (n > 1023) { + y *= Ox1p1023; + n -= 1023; + if (n > 1023) { + y *= Ox1p1023; + n = builtin_min(n - 1023, 1023); + } + } else if (n < -1022) { + // make sure final n < -53 to avoid double + // rounding in the subnormal range + y *= Ox1p_1022 * Ox1p53; + n += 1022 - 53; + if (n < -1022) { + y *= Ox1p_1022 * Ox1p53; + n = builtin_max(n + 1022 - 53, -1022); + } + } + return y * reinterpret((0x3FF + n) << 52); + } + + export function mod(x: f64, y: f64): f64 { // see: musl/src/math/fmod.c + if (builtin_abs(y) == 1.0) { + // x % 1, x % -1 ==> sign(x) * abs(x - 1.0 * trunc(x / 1.0)) + // TODO: move this rule to compiler's optimization pass. + // It could be apply for any x % C_pot, where "C_pot" is pow of two const. + return builtin_copysign(x - builtin_trunc(x), x); + } + let ux = reinterpret(x); + let uy = reinterpret(y); + let ex = i64(ux >> 52 & 0x7FF); + let ey = i64(uy >> 52 & 0x7FF); + let sx = ux >> 63; + let uy1 = uy << 1; + if (uy1 == 0 || ex == 0x7FF || isNaN(y)) { + let m = x * y; + return m / m; + } + let ux1 = ux << 1; + if (ux1 <= uy1) { + return x * f64(ux1 != uy1); + } + if (!ex) { + ex -= builtin_clz(ux << 12); + ux <<= 1 - ex; + } else { + ux &= u64(-1) >> 12; + ux |= 1 << 52; + } + if (!ey) { + ey -= builtin_clz(uy << 12); + uy <<= 1 - ey; + } else { + uy &= u64(-1) >> 12; + uy |= 1 << 52; + } + while (ex > ey) { + if (ux >= uy) { + if (ux == uy) return 0 * x; + ux -= uy; + } + ux <<= 1; + --ex; + } + if (ux >= uy) { + if (ux == uy) return 0 * x; + ux -= uy; + } + // for (; !(ux >> 52); ux <<= 1) --ex; + let shift = builtin_clz(ux << 11); + ex -= shift; + ux <<= shift; + if (ex > 0) { + ux -= 1 << 52; + ux |= ex << 52; + } else { + ux >>= -ex + 1; + } + return reinterpret(ux | (sx << 63)); + } + + export function rem(x: f64, y: f64): f64 { // see: musl/src/math/remquo.c + let ux = reinterpret(x); + let uy = reinterpret(y); + let ex = i64(ux >> 52 & 0x7FF); + let ey = i64(uy >> 52 & 0x7FF); + if (uy << 1 == 0 || ex == 0x7FF || isNaN(y)) { + let m = x * y; + return m / m; + } + if (ux << 1 == 0) return x; + let uxi = ux; + if (!ex) { + ex -= builtin_clz(uxi << 12); + uxi <<= 1 - ex; + } else { + uxi &= u64(-1) >> 12; + uxi |= 1 << 52; + } + if (!ey) { + ey -= builtin_clz(uy << 12); + uy <<= 1 - ey; + } else { + uy &= u64(-1) >> 12; + uy |= 1 << 52; + } + let q: u32 = 0; + do { + if (ex < ey) { + if (ex + 1 == ey) break; // goto end + return x; + } + while (ex > ey) { + if (uxi >= uy) { + uxi -= uy; + ++q; + } + uxi <<= 1; + q <<= 1; + --ex; + } + if (uxi >= uy) { + uxi -= uy; + ++q; + } + if (uxi == 0) ex = -60; + else { + let shift = builtin_clz(uxi << 11); + ex -= shift; + uxi <<= shift; + } + break; + } while (false); + // end: + if (ex > 0) { + uxi -= 1 << 52; + uxi |= ex << 52; + } else { + uxi >>= -ex + 1; + } + x = reinterpret(uxi); + y = builtin_abs(y); + let x2 = x + x; + if (ex == ey || (ex + 1 == ey && (x2 > y || (x2 == y && (q & 1))))) { + x -= y; + // ++q; + } + return ux < 0 ? -x : x; + } + + export function sincos(x: f64): void { // see: musl/tree/src/math/sincos.c + let u = reinterpret(x); + let ux = u32(u >> 32); + let sign = ux >> 31; + ux &= 0x7FFFFFFF; + + if (ux <= 0x3FE921FB) { // |x| ~<= \u03C0/4 + if (ux < 0x3E46A09E) { // if |x| < 2**-27 * sqrt(2) + sincos_sin = x; + sincos_cos = 1; + return; + } + sincos_sin = sin_kern(x, 0, 0); + sincos_cos = cos_kern(x, 0); + return; + } + // sin(Inf or NaN) is NaN + if (ux >= 0x7F800000) { + let xx = x - x; + sincos_sin = xx; + sincos_cos = xx; + return; + } + // general argument reduction needed + let n = rempio2(x, u, sign); + let y0 = rempio2_y0; + let y1 = rempio2_y1; + let s = sin_kern(y0, y1, 1); + let c = cos_kern(y0, y1); + let sin = s, cos = c; + if (n & 1) { + sin = c; + cos = -s; + } + if (n & 2) { + sin = -sin; + cos = -cos; + } + sincos_sin = sin; + sincos_cos = cos; + } +} + +// @ts-ignore: decorator +@lazy let rempio2f_y: f64; + +// @ts-ignore: decorator +@lazy @inline const PIO2F_TABLE = memory.data([ + 0xA2F9836E4E441529, + 0xFC2757D1F534DDC0, + 0xDB6295993C439041, + 0xFE5163ABDEBBC561 +]); + +function Rf(z: f32): f32 { // Rational approximation of (asin(x)-x)/x^3 + const // see: musl/src/math/asinf.c and SUN COPYRIGHT NOTICE above + pS0 = reinterpret(0x3E2AAA75), // 1.6666586697e-01f + pS1 = reinterpret(0xBD2F13BA), // -4.2743422091e-02f + pS2 = reinterpret(0xBC0DD36B), // -8.6563630030e-03f + qS1 = reinterpret(0xBF34E5AE); // -7.0662963390e-01f + + let p = z * (pS0 + z * (pS1 + z * pS2)); + let q: f32 = 1 + z * qS1; + return p / q; +} + +// @ts-ignore: decorator +@inline +function expo2f(x: f32, sign: f32): f32 { // exp(x)/2 for x >= log(DBL_MAX) + const // see: musl/src/math/__expo2f.c + k = 235, + kln2 = reinterpret(0x4322E3BC); // 0x1.45c778p+7f + let scale = reinterpret(u32(0x7F + (k >> 1)) << 23); + // in directed rounding correct sign before rounding or overflow is important + return NativeMathf.exp(x - kln2) * (sign * scale) * scale; +} + +// @ts-ignore: decorator +@inline +function pio2f_large_quot(x: f32, u: i32): i32 { // see: jdh8/metallic/blob/master/src/math/float/rem_pio2f.c + const coeff = reinterpret(0x3BF921FB54442D18); // \u03C0 * 0x1p-65 = 8.51530395021638647334e-20 + + let offset = (u >> 23) - 152; + let shift = u64(offset & 63); + let tblPtr = PIO2F_TABLE + (offset >> 6 << 3); + + let b0 = load(tblPtr, 0 << 3); + let b1 = load(tblPtr, 1 << 3); + let lo: u64; + + if (shift > 32) { + let b2 = load(tblPtr, 2 << 3); + lo = b2 >> (96 - shift); + lo |= b1 << (shift - 32); + } else { + lo = b1 >> (32 - shift); + } + + let hi = (b1 >> (64 - shift)) | (b0 << shift); + let mantissa: u64 = (u & 0x007FFFFF) | 0x00800000; + let product = mantissa * hi + (mantissa * lo >> 32); + let r: i64 = product << 2; + let q = i32((product >> 62) + (r >>> 63)); + rempio2f_y = copysign(coeff, x) * r; + return q; +} + +// @ts-ignore: decorator +@inline +function rempio2f(x: f32, u: u32, sign: i32): i32 { // see: jdh8/metallic/blob/master/src/math/float/rem_pio2f.c + const + pi2hi = reinterpret(0x3FF921FB50000000), // 1.57079631090164184570 + pi2lo = reinterpret(0x3E5110B4611A6263), // 1.58932547735281966916e-8 + _2_pi = reinterpret(0x3FE45F306DC9C883); // 0.63661977236758134308 + + if (u < 0x4DC90FDB) { // \u03C0 * 0x1p28 + let q = nearest(x * _2_pi); + rempio2f_y = x - q * pi2hi - q * pi2lo; + return q; + } + + let q = pio2f_large_quot(x, u); + return select(-q, q, sign); +} + +// |sin(x)/x - s(x)| < 2**-37.5 (~[-4.89e-12, 4.824e-12]). +// @ts-ignore: decorator +@inline +function sin_kernf(x: f64): f32 { // see: musl/tree/src/math/__sindf.c + const + S1 = reinterpret(0xBFC5555554CBAC77), // -0x15555554cbac77.0p-55 + S2 = reinterpret(0x3F811110896EFBB2), // 0x111110896efbb2.0p-59 + S3 = reinterpret(0xBF2A00F9E2CAE774), // -0x1a00f9e2cae774.0p-65 + S4 = reinterpret(0x3EC6CD878C3B46A7); // 0x16cd878c3b46a7.0p-71 + + let z = x * x; + let w = z * z; + let r = S3 + z * S4; + let s = z * x; + return f32((x + s * (S1 + z * S2)) + s * w * r); +} + +// |cos(x) - c(x)| < 2**-34.1 (~[-5.37e-11, 5.295e-11]). +// @ts-ignore: decorator +@inline +function cos_kernf(x: f64): f32 { // see: musl/tree/src/math/__cosdf.c + const + C0 = reinterpret(0xBFDFFFFFFD0C5E81), // -0x1ffffffd0c5e81.0p-54 + C1 = reinterpret(0x3FA55553E1053A42), // 0x155553e1053a42.0p-57 + C2 = reinterpret(0xBF56C087E80F1E27), // -0x16c087e80f1e27.0p-62 + C3 = reinterpret(0x3EF99342E0EE5069); // 0x199342e0ee5069.0p-68 + + let z = x * x; + let w = z * z; + let r = C2 + z * C3; + return f32(((1 + z * C0) + w * C1) + (w * z) * r); +} + +// |tan(x)/x - t(x)| < 2**-25.5 (~[-2e-08, 2e-08]). +// @ts-ignore: decorator +@inline +function tan_kernf(x: f64, odd: i32): f32 { // see: musl/tree/src/math/__tandf.c + const + T0 = reinterpret(0x3FD5554D3418C99F), // 0x15554d3418c99f.0p-54 + T1 = reinterpret(0x3FC112FD38999F72), // 0x1112fd38999f72.0p-55 + T2 = reinterpret(0x3FAB54C91D865AFE), // 0x1b54c91d865afe.0p-57 + T3 = reinterpret(0x3F991DF3908C33CE), // 0x191df3908c33ce.0p-58 + T4 = reinterpret(0x3F685DADFCECF44E), // 0x185dadfcecf44e.0p-61 + T5 = reinterpret(0x3F8362B9BF971BCD); // 0x1362b9bf971bcd.0p-59 + + let z = x * x; + let r = T4 + z * T5; + let t = T2 + z * T3; + let w = z * z; + let s = z * x; + let u = T0 + z * T1; + + r = (x + s * u) + (s * w) * (t + w * r); + return f32(odd ? -1 / r : r); +} + +// See: jdh8/metallic/src/math/float/log2f.c and jdh8/metallic/src/math/float/kernel/atanh.h +// @ts-ignore: decorator +@inline +function log2f(x: f64): f64 { + const + log2e = reinterpret(0x3FF71547652B82FE), // 1.44269504088896340736 + c0 = reinterpret(0x3FD555554FD9CAEF), // 0.33333332822728226129 + c1 = reinterpret(0x3FC999A7A8AF4132), // 0.20000167595436263505 + c2 = reinterpret(0x3FC2438D79437030), // 0.14268654271188685375 + c3 = reinterpret(0x3FBE2F663B001C97); // 0.11791075649681414150 + + let i = reinterpret(x); + let exponent = (i - 0x3FE6A09E667F3BCD) >> 52; + x = reinterpret(i - (exponent << 52)); + x = (x - 1) / (x + 1); + let xx = x * x; + let y = x + x * xx * (c0 + c1 * xx + (c2 + c3 * xx) * (xx * xx)); + return (2 * log2e) * y + exponent; +} + +// See: jdh8/metallic/src/math/float/exp2f.h and jdh8/metallic/blob/master/src/math/float/kernel/exp2f.h +// @ts-ignore: decorator +@inline +function exp2f(x: f64): f64 { + const + c0 = reinterpret(0x3FE62E4302FCC24A), // 6.931471880289532425e-1 + c1 = reinterpret(0x3FCEBFBE07D97B91), // 2.402265108421173406e-1 + c2 = reinterpret(0x3FAC6AF6CCFC1A65), // 5.550357105498874537e-2 + c3 = reinterpret(0x3F83B29E3CE9AEF6), // 9.618030771171497658e-3 + c4 = reinterpret(0x3F55F0896145A89F), // 1.339086685300950937e-3 + c5 = reinterpret(0x3F2446C81E384864); // 1.546973499989028719e-4 + + if (x < -1022) return 0; + if (x >= 1024) return Infinity; + + let n = nearest(x); + x -= n; + let xx = x * x; + let y = 1 + x * (c0 + c1 * x + (c2 + c3 * x) * xx + (c4 + c5 * x) * (xx * xx)); + return reinterpret(reinterpret(y) + (n << 52)); +} + +export namespace NativeMathf { + + // @ts-ignore: decorator + @lazy + export const E = NativeMath.E; + + // @ts-ignore: decorator + @lazy + export const LN2 = NativeMath.LN2; + + // @ts-ignore: decorator + @lazy + export const LN10 = NativeMath.LN10; + + // @ts-ignore: decorator + @lazy + export const LOG2E = NativeMath.LOG2E; + + // @ts-ignore: decorator + @lazy + export const LOG10E = NativeMath.LOG10E; + + // @ts-ignore: decorator + @lazy + export const PI = NativeMath.PI; + + // @ts-ignore: decorator + @lazy + export const SQRT1_2 = NativeMath.SQRT1_2; + + // @ts-ignore: decorator + @lazy + export const SQRT2 = NativeMath.SQRT2; + + // @ts-ignore: decorator + @lazy + export let sincos_sin: f32 = 0; + + // @ts-ignore: decorator + @lazy + export let sincos_cos: f32 = 0; + + // @ts-ignore: decorator + @inline + export function abs(x: f32): f32 { + return builtin_abs(x); + } + + export function acos(x: f32): f32 { // see: musl/src/math/acosf.c and SUN COPYRIGHT NOTICE above + const + pio2_hi = reinterpret(0x3FC90FDA), // 1.5707962513e+00f + pio2_lo = reinterpret(0x33A22168), // 7.5497894159e-08f + Ox1p_120f = reinterpret(0x03800000); // 0x1p-120f + + let hx = reinterpret(x); + let ix = hx & 0x7FFFFFFF; + if (ix >= 0x3F800000) { + if (ix == 0x3F800000) { + return select(2 * pio2_hi + Ox1p_120f, 0, hx < 0); + } + return 0 / (x - x); + } + if (ix < 0x3F000000) { + if (ix <= 0x32800000) return pio2_hi + Ox1p_120f; + return pio2_hi - (x - (pio2_lo - x * Rf(x * x))); + } + let z: f32, w: f32, s: f32; + if (hx < 0) { + // z = (1 + x) * 0.5; + z = 0.5 + x * 0.5; + s = builtin_sqrt(z); + w = Rf(z) * s - pio2_lo; + return 2 * (pio2_hi - (s + w)); + } + // z = (1 - x) * 0.5; + z = 0.5 - x * 0.5; + s = builtin_sqrt(z); + hx = reinterpret(s); + let df = reinterpret(hx & 0xFFFFF000); + let c = (z - df * df) / (s + df); + w = Rf(z) * s + c; + return 2 * (df + w); + } + + export function acosh(x: f32): f32 { // see: musl/src/math/acoshf.c + const s = reinterpret(0x3F317218); // 0.693147180559945309417232121458176568f + let u = reinterpret(x); + let a = u & 0x7FFFFFFF; + if (a < 0x3F800000 + (1 << 23)) { // |x| < 2, invalid if x < 1 + let xm1 = x - 1; + return log1p(xm1 + builtin_sqrt(xm1 * (xm1 + 2))); + } + if (u < 0x3F800000 + (12 << 23)) { // 2 <= x < 0x1p12 + return log(2 * x - 1 / (x + builtin_sqrt(x * x - 1))); + } + // x >= 0x1p12 or x <= -2 or NaN + return log(x) + s; + } + + export function asin(x: f32): f32 { // see: musl/src/math/asinf.c and SUN COPYRIGHT NOTICE above + const + pio2 = reinterpret(0x3FC90FDB), // 1.570796326794896558e+00f + Ox1p_120f = reinterpret(0x03800000); // 0x1p-120f + + let sx = x; + let hx = reinterpret(x) & 0x7FFFFFFF; + if (hx >= 0x3F800000) { + if (hx == 0x3F800000) return x * pio2 + Ox1p_120f; + return 0 / (x - x); + } + if (hx < 0x3F000000) { + if (hx < 0x39800000 && hx >= 0x00800000) return x; + return x + x * Rf(x * x); + } + // let z: f32 = (1 - builtin_abs(x)) * 0.5; + let z: f32 = 0.5 - builtin_abs(x) * 0.5; + let s = builtin_sqrt(z); // sic + x = f32(pio2 - 2 * (s + s * Rf(z))); + return builtin_copysign(x, sx); + } + + export function asinh(x: f32): f32 { // see: musl/src/math/asinhf.c + const c = reinterpret(0x3F317218); // 0.693147180559945309417232121458176568f + let u = reinterpret(x) & 0x7FFFFFFF; + let y = reinterpret(u); + if (u >= 0x3F800000 + (12 << 23)) y = log(y) + c; + else if (u >= 0x3F800000 + (1 << 23)) y = log(2 * y + 1 / (builtin_sqrt(y * y + 1) + y)); + else if (u >= 0x3F800000 - (12 << 23)) y = log1p(y + y * y / (builtin_sqrt(y * y + 1) + 1)); + return builtin_copysign(y, x); + } + + export function atan(x: f32): f32 { // see: musl/src/math/atanf.c and SUN COPYRIGHT NOTICE above + const + atanhi0 = reinterpret(0x3EED6338), // 4.6364760399e-01f + atanhi1 = reinterpret(0x3F490FDA), // 7.8539812565e-01f + atanhi2 = reinterpret(0x3F7B985E), // 9.8279368877e-01f + atanhi3 = reinterpret(0x3FC90FDA), // 1.5707962513e+00f + atanlo0 = reinterpret(0x31AC3769), // 5.0121582440e-09f + atanlo1 = reinterpret(0x33222168), // 3.7748947079e-08f + atanlo2 = reinterpret(0x33140FB4), // 3.4473217170e-08f + atanlo3 = reinterpret(0x33A22168), // 7.5497894159e-08f + aT0 = reinterpret(0x3EAAAAA9), // 3.3333328366e-01f + aT1 = reinterpret(0xBE4CCA98), // -1.9999158382e-01f + aT2 = reinterpret(0x3E11F50D), // 1.4253635705e-01f + aT3 = reinterpret(0xBDDA1247), // -1.0648017377e-01f + aT4 = reinterpret(0x3D7CAC25), // 6.1687607318e-02f + Ox1p_120f = reinterpret(0x03800000); // 0x1p-120f + + let ix = reinterpret(x); + let sx = x; + ix &= 0x7FFFFFFF; + let z: f32; + if (ix >= 0x4C800000) { + if (isNaN(x)) return x; + z = atanhi3 + Ox1p_120f; + return builtin_copysign(z, sx); + } + let id: i32; + if (ix < 0x3EE00000) { + if (ix < 0x39800000) return x; + id = -1; + } else { + x = builtin_abs(x); + if (ix < 0x3F980000) { + if (ix < 0x3F300000) { + id = 0; + x = (2.0 * x - 1.0) / (2.0 + x); + } else { + id = 1; + x = (x - 1.0) / (x + 1.0); + } + } else { + if (ix < 0x401C0000) { + id = 2; + x = (x - 1.5) / (1.0 + 1.5 * x); + } else { + id = 3; + x = -1.0 / x; + } + } + } + z = x * x; + let w = z * z; + let s1 = z * (aT0 + w * (aT2 + w * aT4)); + let s2 = w * (aT1 + w * aT3); + let s3 = x * (s1 + s2); + if (id < 0) return x - s3; + switch (id) { + case 0: { z = atanhi0 - ((s3 - atanlo0) - x); break; } + case 1: { z = atanhi1 - ((s3 - atanlo1) - x); break; } + case 2: { z = atanhi2 - ((s3 - atanlo2) - x); break; } + case 3: { z = atanhi3 - ((s3 - atanlo3) - x); break; } + default: unreachable(); + } + return builtin_copysign(z, sx); + } + + export function atanh(x: f32): f32 { // see: musl/src/math/atanhf.c + let u = reinterpret(x); + let y = builtin_abs(x); + if (u < 0x3F800000 - (1 << 23)) { + if (u >= 0x3F800000 - (32 << 23)) y = 0.5 * log1p(2 * y * (1.0 + y / (1 - y))); + } else y = 0.5 * log1p(2 * (y / (1 - y))); + return builtin_copysign(y, x); + } + + export function atan2(y: f32, x: f32): f32 { // see: musl/src/math/atan2f.c and SUN COPYRIGHT NOTICE above + const + pi = reinterpret(0x40490FDB), // 3.1415927410e+00f + pi_lo = reinterpret(0xB3BBBD2E); // -8.7422776573e-08f + + if (isNaN(x) || isNaN(y)) return x + y; + let ix = reinterpret(x); + let iy = reinterpret(y); + if (ix == 0x3F800000) return atan(y); + let m = u32(((iy >> 31) & 1) | ((ix >> 30) & 2)); + ix &= 0x7FFFFFFF; + iy &= 0x7FFFFFFF; + if (iy == 0) { + switch (m) { + case 0: + case 1: return y; + case 2: return pi; + case 3: return -pi; + } + } + if (ix == 0) return m & 1 ? -pi / 2 : pi / 2; + if (ix == 0x7F800000) { + if (iy == 0x7F800000) { + let t: f32 = m & 2 ? 3 * pi / 4 : pi / 4; + return m & 1 ? -t : t; + } else { + let t: f32 = m & 2 ? pi : 0.0; + return m & 1 ? -t : t; + } + } + if (ix + (26 << 23) < iy || iy == 0x7F800000) return m & 1 ? -pi / 2 : pi / 2; + let z: f32; + if ((m & 2) && iy + (26 << 23) < ix) z = 0.0; + else z = atan(builtin_abs(y / x)); + switch (m) { + case 0: return z; + case 1: return -z; + case 2: return pi - (z - pi_lo); + case 3: return (z - pi_lo) - pi; + } + unreachable(); + return 0; + } + + export function cbrt(x: f32): f32 { // see: musl/src/math/cbrtf.c and SUN COPYRIGHT NOTICE above + const + B1 = 709958130, + B2 = 642849266, + Ox1p24f = reinterpret(0x4B800000); + + let u = reinterpret(x); + let hx = u & 0x7FFFFFFF; + if (hx >= 0x7F800000) return x + x; + if (hx < 0x00800000) { + if (hx == 0) return x; + u = reinterpret(x * Ox1p24f); + hx = u & 0x7FFFFFFF; + hx = hx / 3 + B2; + } else { + hx = hx / 3 + B1; + } + u &= 0x80000000; + u |= hx; + let t = reinterpret(u); + let r = t * t * t; + t = t * (x + x + r) / (x + r + r); + r = t * t * t; + t = t * (x + x + r) / (x + r + r); + return t; + } + + // @ts-ignore: decorator + @inline + export function ceil(x: f32): f32 { + return builtin_ceil(x); + } + + export function clz32(x: f32): f32 { + if (!isFinite(x)) return 32; + return builtin_clz(dtoi32(x)); + } + + export function cos(x: f32): f32 { // see: musl/src/math/cosf.c + const + c1pio2 = reinterpret(0x3FF921FB54442D18), // M_PI_2 * 1 + c2pio2 = reinterpret(0x400921FB54442D18), // M_PI_2 * 2 + c3pio2 = reinterpret(0x4012D97C7F3321D2), // M_PI_2 * 3 + c4pio2 = reinterpret(0x401921FB54442D18); // M_PI_2 * 4 + + let ux = reinterpret(x); + let sign = ux >> 31; + ux &= 0x7FFFFFFF; + + if (ux <= 0x3F490FDA) { // |x| ~<= \u03C0/4 + if (ux < 0x39800000) { // |x| < 2**-12 + // raise inexact if x != 0 + return 1; + } + return cos_kernf(x); + } + + if (ASC_SHRINK_LEVEL < 1) { + if (ux <= 0x407B53D1) { // |x| ~<= 5\u03C0/4 + if (ux > 0x4016CBE3) { // |x| ~> 3\u03C0/4 + return -cos_kernf(sign ? x + c2pio2 : x - c2pio2); + } else { + return sign ? sin_kernf(x + c1pio2) : sin_kernf(c1pio2 - x); + } + } + if (ux <= 0x40E231D5) { // |x| ~<= 9\u03C0/4 + if (ux > 0x40AFEDDF) { // |x| ~> 7\u03C0/4 + return cos_kernf(sign ? x + c4pio2 : x - c4pio2); + } else { + return sign ? sin_kernf(-x - c3pio2) : sin_kernf(x - c3pio2); + } + } + } + + // cos(Inf or NaN) is NaN + if (ux >= 0x7F800000) return x - x; + + // general argument reduction needed + let n = rempio2f(x, ux, sign); + let y = rempio2f_y; + + let t = n & 1 ? sin_kernf(y) : cos_kernf(y); + return (n + 1) & 2 ? -t : t; + } + + export function cosh(x: f32): f32 { // see: musl/src/math/coshf.c + let u = reinterpret(x); + u &= 0x7FFFFFFF; + x = reinterpret(u); + if (u < 0x3F317217) { + if (u < 0x3F800000 - (12 << 23)) return 1; + let t = expm1(x); + // return 1 + t * t / (2 * (1 + t)); + return 1 + t * t / (2 + 2 * t); + } + if (u < 0x42B17217) { + let t = exp(x); + // return 0.5 * (t + 1 / t); + return 0.5 * t + 0.5 / t; + } + return expo2f(x, 1); + } + + // @ts-ignore: decorator + @inline + export function floor(x: f32): f32 { + return builtin_floor(x); + } + + export function exp(x: f32): f32 { // see: musl/src/math/expf.c and SUN COPYRIGHT NOTICE above + if (ASC_SHRINK_LEVEL < 1) { + return expf_lut(x); + } else { + const + ln2hi = reinterpret(0x3F317200), // 6.9314575195e-1f + ln2lo = reinterpret(0x35BFBE8E), // 1.4286067653e-6f + invln2 = reinterpret(0x3FB8AA3B), // 1.4426950216e+0f + P1 = reinterpret(0x3E2AAA8F), // 1.6666625440e-1f + P2 = reinterpret(0xBB355215), // -2.7667332906e-3f + Ox1p127f = reinterpret(0x7F000000); // 0x1p+127f + + let hx = reinterpret(x); + let sign = hx >> 31; + hx &= 0x7FFFFFFF; + if (hx >= 0x42AEAC50) { + if (hx > 0x7F800000) return x; // NaN + if (hx >= 0x42B17218) { + if (!sign) return x * Ox1p127f; + else if (hx >= 0x42CFF1B5) return 0; + } + } + let hi: f32, lo: f32; + let k: i32; + if (hx > 0x3EB17218) { + if (hx > 0x3F851592) { + k = i32(invln2 * x + builtin_copysign(0.5, x)); + } else { + k = 1 - (sign << 1); + } + hi = x - k * ln2hi; + lo = k * ln2lo; + x = hi - lo; + } else if (hx > 0x39000000) { + k = 0; + hi = x; + lo = 0; + } else { + return 1 + x; + } + let xx = x * x; + let c = x - xx * (P1 + xx * P2); + let y: f32 = 1 + (x * c / (2 - c) - lo + hi); + return k == 0 ? y : scalbn(y, k); + } + } + + export function exp2(x: f32): f32 { + return exp2f_lut(x); + } + + export function expm1(x: f32): f32 { // see: musl/src/math/expm1f.c and SUN COPYRIGHT NOTICE above + const + ln2_hi = reinterpret(0x3F317180), // 6.9313812256e-01f + ln2_lo = reinterpret(0x3717F7D1), // 9.0580006145e-06f + invln2 = reinterpret(0x3FB8AA3B), // 1.4426950216e+00f + Q1 = reinterpret(0xBD088868), // -3.3333212137e-02f + Q2 = reinterpret(0x3ACF3010), // 1.5807170421e-03f + Ox1p127f = reinterpret(0x7F000000); // 0x1p+127f + + let u = reinterpret(x); + let hx = u & 0x7FFFFFFF; + let sign = u >> 31; + if (hx >= 0x4195B844) { + if (hx > 0x7F800000) return x; + if (sign) return -1; + if (hx > 0x42B17217) { // x > log(FLT_MAX) + x *= Ox1p127f; + return x; + } + } + let c: f32 = 0.0, t: f32, k: i32; + if (hx > 0x3EB17218) { + k = select( + 1 - (sign << 1), + i32(invln2 * x + builtin_copysign(0.5, x)), + hx < 0x3F851592 + ); + t = k; + let hi = x - t * ln2_hi; + let lo = t * ln2_lo; + x = hi - lo; + c = (hi - x) - lo; + } else if (hx < 0x33000000) { + return x; + } else k = 0; + let hfx: f32 = 0.5 * x; + let hxs: f32 = x * hfx; + let r1: f32 = 1.0 + hxs * (Q1 + hxs * Q2); + t = 3.0 - r1 * hfx; + let e = hxs * ((r1 - t) / (6.0 - x * t)); + if (k == 0) return x - (x * e - hxs); + e = x * (e - c) - c; + e -= hxs; + if (k == -1) return 0.5 * (x - e) - 0.5; + if (k == 1) { + if (x < -0.25) return -2.0 * (e - (x + 0.5)); + return 1.0 + 2.0 * (x - e); + } + u = (0x7F + k) << 23; + let twopk = reinterpret(u); + let y: f32; + if (k < 0 || k > 56) { + y = x - e + 1.0; + if (k == 128) y = y * 2.0 * Ox1p127f; + else y = y * twopk; + return y - 1.0; + } + u = (0x7F - k) << 23; + y = reinterpret(u); + if (k < 20) y = (1 - y) - e; + else y = 1 - (e + y); + return (x + y) * twopk; + } + + // @ts-ignore: decorator + @inline + export function fround(x: f32): f32 { + return x; + } + + export function hypot(x: f32, y: f32): f32 { // see: musl/src/math/hypotf.c + const + Ox1p90f = reinterpret(0x6C800000), + Ox1p_90f = reinterpret(0x12800000); + + let ux = reinterpret(x); + let uy = reinterpret(y); + ux &= 0x7FFFFFFF; + uy &= 0x7FFFFFFF; + if (ux < uy) { + let ut = ux; + ux = uy; + uy = ut; + } + x = reinterpret(ux); + y = reinterpret(uy); + if (uy == 0xFF << 23) return y; + if (ux >= 0xFF << 23 || uy == 0 || ux - uy >= 25 << 23) return x + y; + let z: f32 = 1; + if (ux >= (0x7F + 60) << 23) { + z = Ox1p90f; + x *= Ox1p_90f; + y *= Ox1p_90f; + } else if (uy < (0x7F - 60) << 23) { + z = Ox1p_90f; + x *= Ox1p90f; + y *= Ox1p90f; + } + return z * builtin_sqrt(f32(x * x + y * y)); + } + + // @ts-ignore: decorator + @inline + export function imul(x: f32, y: f32): f32 { + /* + * Wasm (MVP) and JS have different approaches for double->int conversions. + * + * For emulate JS conversion behavior and avoid trapping from wasm we should modulate by MAX_INT + * our float-point arguments before actual convertion to integers. + */ + if (!isFinite(x + y)) return 0; + return (dtoi32(x) * dtoi32(y)); + } + + export function log(x: f32): f32 { // see: musl/src/math/logf.c and SUN COPYRIGHT NOTICE above + if (ASC_SHRINK_LEVEL < 1) { + return logf_lut(x); + } else { + const + ln2_hi = reinterpret(0x3F317180), // 6.9313812256e-01f + ln2_lo = reinterpret(0x3717F7D1), // 9.0580006145e-06f + Lg1 = reinterpret(0x3F2AAAAA), // 0xaaaaaa.0p-24f + Lg2 = reinterpret(0x3ECCCE13), // 0xccce13.0p-25f + Lg3 = reinterpret(0x3E91E9EE), // 0x91e9ee.0p-25f + Lg4 = reinterpret(0x3E789E26), // 0xf89e26.0p-26f + Ox1p25f = reinterpret(0x4C000000); + + let u = reinterpret(x); + let k = 0; + let sign = u >> 31; + if (sign || u < 0x00800000) { + if (u << 1 == 0) return -1 / (x * x); + if (sign) return (x - x) / 0; + k -= 25; + x *= Ox1p25f; + u = reinterpret(x); + } else if (u >= 0x7F800000) { + return x; + } else if (u == 0x3F800000) { + return 0; + } + u += 0x3F800000 - 0x3F3504F3; + k += i32(u >> 23) - 0x7F; + u = (u & 0x007FFFFF) + 0x3F3504F3; + x = reinterpret(u); + let f = x - 1.0; + let s = f / (2.0 + f); + let z = s * s; + let w = z * z; + let t1 = w * (Lg2 + w * Lg4); + let t2 = z * (Lg1 + w * Lg3); + let r = t2 + t1; + let hfsq = 0.5 * f * f; + let dk = k; + return s * (hfsq + r) + dk * ln2_lo - hfsq + f + dk * ln2_hi; + } + } + + export function log10(x: f32): f32 { // see: musl/src/math/log10f.c and SUN COPYRIGHT NOTICE above + const + ivln10hi = reinterpret(0x3EDE6000), // 4.3432617188e-01f + ivln10lo = reinterpret(0xB804EAD9), // -3.1689971365e-05f + log10_2hi = reinterpret(0x3E9A2080), // 3.0102920532e-01f + log10_2lo = reinterpret(0x355427DB), // 7.9034151668e-07f + Lg1 = reinterpret(0x3F2AAAAA), // 0xaaaaaa.0p-24f, 0.66666662693f + Lg2 = reinterpret(0x3ECCCE13), // 0xccce13.0p-25f, 0.40000972152f + Lg3 = reinterpret(0x3E91E9EE), // 0x91e9ee.0p-25f, 0.28498786688f + Lg4 = reinterpret(0x3E789E26), // 0xf89e26.0p-26f, 0.24279078841f + Ox1p25f = reinterpret(0x4C000000); // 0x1p25f + + let ux = reinterpret(x); + let k = 0; + let sign = ux >> 31; + if (sign || ux < 0x00800000) { + if (ux << 1 == 0) return -1 / (x * x); + if (sign) return (x - x) / 0.0; + k -= 25; + x *= Ox1p25f; + ux = reinterpret(x); + } else if (ux >= 0x7F800000) { + return x; + } else if (ux == 0x3F800000) { + return 0; + } + ux += 0x3F800000 - 0x3F3504F3; + k += i32(ux >> 23) - 0x7F; + ux = (ux & 0x007FFFFF) + 0x3F3504F3; + x = reinterpret(ux); + let f = x - 1.0; + let s = f / (2.0 + f); + let z = s * s; + let w = z * z; + let t1 = w * (Lg2 + w * Lg4); + let t2 = z * (Lg1 + w * Lg3); + let r = t2 + t1; + let hfsq: f32 = 0.5 * f * f; + let hi = f - hfsq; + ux = reinterpret(hi); + ux &= 0xFFFFF000; + hi = reinterpret(ux); + let lo = f - hi - hfsq + s * (hfsq + r); + let dk = k; + return dk * log10_2lo + (lo + hi) * ivln10lo + lo * ivln10hi + hi * ivln10hi + dk * log10_2hi; + } + + export function log1p(x: f32): f32 { // see: musl/src/math/log1pf.c and SUN COPYRIGHT NOTICE above + const + ln2_hi = reinterpret(0x3F317180), // 6.9313812256e-01 + ln2_lo = reinterpret(0x3717F7D1), // 9.0580006145e-06 + Lg1 = reinterpret(0x3F2AAAAA), // 0xaaaaaa.0p-24f, 0.66666662693f + Lg2 = reinterpret(0x3ECCCE13), // 0xccce13.0p-25f, 0.40000972152f + Lg3 = reinterpret(0x3E91E9EE), // 0x91e9ee.0p-25f, 0.28498786688f + Lg4 = reinterpret(0x3E789E26); // 0xf89e26.0p-26f, 0.24279078841f + + let ix = reinterpret(x); + let c: f32 = 0; + let f: f32 = 0; + let k = 1; + if (ix < 0x3ED413D0 || bool(ix >> 31)) { + if (ix >= 0xBF800000) { + if (x == -1) return x / 0.0; + return (x - x) / 0.0; + } + if (ix << 1 < 0x33800000 << 1) return x; + if (ix <= 0xBE95F619) { + k = 0; + c = 0; + f = x; + } + } else if (ix >= 0x7F800000) return x; + if (k) { + let uf: f32 = 1 + x; + let iu = reinterpret(uf); + iu += 0x3F800000 - 0x3F3504F3; + k = i32(iu >> 23) - 0x7F; + if (k < 25) { + c = k >= 2 ? 1 - (uf - x) : x - (uf - 1); + c /= uf; + } else c = 0; + iu = (iu & 0x007FFFFF) + 0x3F3504F3; + f = reinterpret(iu) - 1; + } + let s = f / (2.0 + f); + let z = s * s; + let w = z * z; + let t1 = w * (Lg2 + w * Lg4); + let t2 = z * (Lg1 + w * Lg3); + let r = t2 + t1; + let hfsq: f32 = 0.5 * f * f; + let dk = k; + return s * (hfsq + r) + (dk * ln2_lo + c) - hfsq + f + dk * ln2_hi; + } + + export function log2(x: f32): f32 { // see: musl/src/math/log2f.c and SUN COPYRIGHT NOTICE above + if (ASC_SHRINK_LEVEL < 1) { + return log2f_lut(x); + } else { + const + ivln2hi = reinterpret(0x3FB8B000), // 1.4428710938e+00f + ivln2lo = reinterpret(0xB9389AD4), // -1.7605285393e-04 + Lg1 = reinterpret(0x3F2AAAAA), // 0xaaaaaa.0p-24f, 0.66666662693f + Lg2 = reinterpret(0x3ECCCE13), // 0xccce13.0p-25f, 0.40000972152f + Lg3 = reinterpret(0x3E91E9EE), // 0x91e9ee.0p-25f, 0.28498786688f + Lg4 = reinterpret(0x3E789E26), // 0xf89e26.0p-26f, 0.24279078841f + Ox1p25f = reinterpret(0x4C000000); // 0x1p25f + + let ux = reinterpret(x); + let k = 0; + let sign = ux >> 31; + if (sign || ux < 0x00800000) { + if (ux << 1 == 0) return -1 / (x * x); + if (sign) return (x - x) / 0.0; + k -= 25; + x *= Ox1p25f; + ux = reinterpret(x); + } else if (ux >= 0x7F800000) { + return x; + } else if (ux == 0x3F800000) { + return 0; + } + ux += 0x3F800000 - 0x3F3504F3; + k += i32(ux >> 23) - 0x7F; + ux = (ux & 0x007FFFFF) + 0x3F3504F3; + x = reinterpret(ux); + let f = x - 1.0; + let s = f / (2.0 + f); + let z = s * s; + let w = z * z; + let t1 = w * (Lg2 + w * Lg4); + let t2 = z * (Lg1 + w * Lg3); + let r = t2 + t1; + let hfsq: f32 = 0.5 * f * f; + let hi = f - hfsq; + let u = reinterpret(hi); + u &= 0xFFFFF000; + hi = reinterpret(u); + let lo: f32 = f - hi - hfsq + s * (hfsq + r); + let dk = k; + return (lo + hi) * ivln2lo + lo * ivln2hi + hi * ivln2hi + dk; + } + } + + // @ts-ignore: decorator + @inline + export function max(value1: f32, value2: f32): f32 { + return builtin_max(value1, value2); + } + + // @ts-ignore: decorator + @inline + export function min(value1: f32, value2: f32): f32 { + return builtin_min(value1, value2); + } + + export function pow(x: f32, y: f32): f32 { + // TODO: remove this fast pathes after introduced own mid-end IR with "stdlib call simplify" transforms + if (builtin_abs(y) <= 2) { + if (y == 2.0) return x * x; + if (y == 0.5) { + return select( + builtin_abs(builtin_sqrt(x)), + Infinity, + x != -Infinity + ); + } + if (y == -1.0) return 1 / x; + if (y == 1.0) return x; + if (y == 0.0) return 1.0; + } + if (ASC_SHRINK_LEVEL < 1) { + // see: musl/src/math/powf.c + return powf_lut(x, y); + } else { + // based on: jdh8/metallic/src/math/float/powf.c + if (y == 0) return 1; + // @ts-ignore: cast + if (isNaN(x) | isNaN(y)) { + return NaN; + } + let sign: u32 = 0; + let uy = reinterpret(y); + let ux = reinterpret(x); + let sx = ux >> 31; + ux &= 0x7FFFFFFF; + if (sx && nearest(y) == y) { + x = -x; + sx = 0; + sign = u32(nearest(y * 0.5) != y * 0.5) << 31; + } + let m: u32; + if (ux == 0x3F800000) { // x == 1 + m = sx | u32((uy & 0x7FFFFFFF) == 0x7F800000) ? 0x7FC00000 : 0x3F800000; + } else if (ux == 0) { + m = uy < 0 ? 0x7F800000 : 0; + } else if (ux == 0x7F800000) { + m = uy < 0 ? 0 : 0x7F800000; + } else if (sx) { + m = 0x7FC00000; + } else { + m = reinterpret(exp2f(y * log2f(x))); + } + return reinterpret(m | sign); + } + } + + // @ts-ignore: decorator + @inline + export function seedRandom(value: i64): void { + NativeMath.seedRandom(value); + } + + // Using xoroshiro64starstar from http://xoshiro.di.unimi.it/xoroshiro64starstar.c + export function random(): f32 { + if (!random_seeded) seedRandom(reinterpret(seed())); + + let s0 = random_state0_32; + let s1 = random_state1_32; + let r = rotl(s0 * 0x9E3779BB, 5) * 5; + + s1 ^= s0; + random_state0_32 = rotl(s0, 26) ^ s1 ^ (s1 << 9); + random_state1_32 = rotl(s1, 13); + + return reinterpret((r >> 9) | (127 << 23)) - 1.0; + } + + export function round(x: f32): f32 { + if (ASC_SHRINK_LEVEL > 0) { + return builtin_ceil(x) - f32(builtin_ceil(x) - 0.5 > x); + } else { + let roundUp = builtin_ceil(x); + return select(roundUp, roundUp - 1.0, roundUp - 0.5 <= x); + } + } + + export function sign(x: f32): f32 { + if (ASC_SHRINK_LEVEL > 0) { + return select(builtin_copysign(1, x), x, builtin_abs(x) > 0); + } else { + return select(1, select(-1, x, x < 0), x > 0); + } + } + + // @ts-ignore: decorator + @inline + export function signbit(x: f32): bool { + return (reinterpret(x) >>> 31); + } + + export function sin(x: f32): f32 { // see: musl/src/math/sinf.c + const + s1pio2 = reinterpret(0x3FF921FB54442D18), // M_PI_2 * 1 + s2pio2 = reinterpret(0x400921FB54442D18), // M_PI_2 * 2 + s3pio2 = reinterpret(0x4012D97C7F3321D2), // M_PI_2 * 3 + s4pio2 = reinterpret(0x401921FB54442D18); // M_PI_2 * 4 + + let ux = reinterpret(x); + let sign = ux >> 31; + ux &= 0x7FFFFFFF; + + if (ux <= 0x3F490FDA) { // |x| ~<= \u03C0/4 + if (ux < 0x39800000) { // |x| < 2**-12 + return x; + } + return sin_kernf(x); + } + + if (ASC_SHRINK_LEVEL < 1) { + if (ux <= 0x407B53D1) { // |x| ~<= 5\u03C0/4 + if (ux <= 0x4016CBE3) { // |x| ~<= 3\u03C0/4 + return sign ? -cos_kernf(x + s1pio2) : cos_kernf(x - s1pio2); + } + return sin_kernf(-(sign ? x + s2pio2 : x - s2pio2)); + } + + if (ux <= 0x40E231D5) { // |x| ~<= 9\u03C0/4 + if (ux <= 0x40AFEDDF) { // |x| ~<= 7\u03C0/4 + return sign ? cos_kernf(x + s3pio2) : -cos_kernf(x - s3pio2); + } + return sin_kernf(sign ? x + s4pio2 : x - s4pio2); + } + } + + // sin(Inf or NaN) is NaN + if (ux >= 0x7F800000) return x - x; + + let n = rempio2f(x, ux, sign); + let y = rempio2f_y; + + let t = n & 1 ? cos_kernf(y) : sin_kernf(y); + return n & 2 ? -t : t; + } + + export function sinh(x: f32): f32 { // see: musl/src/math/sinhf.c + let u = reinterpret(x) & 0x7FFFFFFF; + let a = reinterpret(u); + let h = builtin_copysign(0.5, x); + if (u < 0x42B17217) { + let t = expm1(a); + if (u < 0x3F800000) { + if (u < 0x3F800000 - (12 << 23)) return x; + return h * (2 * t - t * t / (t + 1)); + } + return h * (t + t / (t + 1)); + } + return expo2f(a, 2 * h); + } + + // @ts-ignore: decorator + @inline + export function sqrt(x: f32): f32 { + return builtin_sqrt(x); + } + + export function tan(x: f32): f32 { // see: musl/src/math/tanf.c + const + t1pio2 = reinterpret(0x3FF921FB54442D18), // 1 * M_PI_2 + t2pio2 = reinterpret(0x400921FB54442D18), // 2 * M_PI_2 + t3pio2 = reinterpret(0x4012D97C7F3321D2), // 3 * M_PI_2 + t4pio2 = reinterpret(0x401921FB54442D18); // 4 * M_PI_2 + + let ux = reinterpret(x); + let sign = ux >> 31; + ux &= 0x7FFFFFFF; + + if (ux <= 0x3F490FDA) { // |x| ~<= \u03C0/4 + if (ux < 0x39800000) { // |x| < 2**-12 + return x; + } + return tan_kernf(x, 0); + } + + if (ASC_SHRINK_LEVEL < 1) { + if (ux <= 0x407B53D1) { // |x| ~<= 5\u03C0/4 + if (ux <= 0x4016CBE3) { // |x| ~<= 3\u03C0/4 + return tan_kernf((sign ? x + t1pio2 : x - t1pio2), 1); + } else { + return tan_kernf((sign ? x + t2pio2 : x - t2pio2), 0); + } + } + if (ux <= 0x40E231D5) { // |x| ~<= 9\u03C0/4 + if (ux <= 0x40AFEDDF) { // |x| ~<= 7\u03C0/4 + return tan_kernf((sign ? x + t3pio2 : x - t3pio2), 1); + } else { + return tan_kernf((sign ? x + t4pio2 : x - t4pio2), 0); + } + } + } + + // tan(Inf or NaN) is NaN + if (ux >= 0x7F800000) return x - x; + + // argument reduction + let n = rempio2f(x, ux, sign); + let y = rempio2f_y; + return tan_kernf(y, n & 1); + } + + export function tanh(x: f32): f32 { // see: musl/src/math/tanhf.c + let u = reinterpret(x); + u &= 0x7FFFFFFF; + let y = reinterpret(u); + let t: f32; + if (u > 0x3F0C9F54) { + if (u > 0x41200000) t = 1 + 0 / y; + else { + t = expm1(2 * y); + t = 1 - 2 / (t + 2); + } + } else if (u > 0x3E82C578) { + t = expm1(2 * y); + t = t / (t + 2); + } else if (u >= 0x00800000) { + t = expm1(-2 * y); + t = -t / (t + 2); + } else t = y; + return builtin_copysign(t, x); + } + + // @ts-ignore: decorator + @inline + export function trunc(x: f32): f32 { + return builtin_trunc(x); + } + + export function scalbn(x: f32, n: i32): f32 { // see: https://git.musl-libc.org/cgit/musl/tree/src/math/scalbnf.c + const + Ox1p24f = reinterpret(0x4B800000), + Ox1p127f = reinterpret(0x7F000000), + Ox1p_126f = reinterpret(0x00800000); + + let y = x; + if (n > 127) { + y *= Ox1p127f; + n -= 127; + if (n > 127) { + y *= Ox1p127f; + n = builtin_min(n - 127, 127); + } + } else if (n < -126) { + y *= Ox1p_126f * Ox1p24f; + n += 126 - 24; + if (n < -126) { + y *= Ox1p_126f * Ox1p24f; + n = builtin_max(n + 126 - 24, -126); + } + } + return y * reinterpret((0x7F + n) << 23); + } + + export function mod(x: f32, y: f32): f32 { // see: musl/src/math/fmodf.c + if (builtin_abs(y) == 1.0) { + // x % 1, x % -1 ==> sign(x) * abs(x - 1.0 * trunc(x / 1.0)) + // TODO: move this rule to compiler's optimization pass. + // It could be apply for any x % C_pot, where "C_pot" is pow of two const. + return builtin_copysign(x - builtin_trunc(x), x); + } + let ux = reinterpret(x); + let uy = reinterpret(y); + let ex = i32(ux >> 23 & 0xFF); + let ey = i32(uy >> 23 & 0xFF); + let sm = ux & 0x80000000; + let uy1 = uy << 1; + if (uy1 == 0 || ex == 0xFF || isNaN(y)) { + let m = x * y; + return m / m; + } + let ux1 = ux << 1; + if (ux1 <= uy1) { + return x * f32(ux1 != uy1); + } + if (!ex) { + ex -= builtin_clz(ux << 9); + ux <<= 1 - ex; + } else { + ux &= -1 >> 9; + ux |= 1 << 23; + } + if (!ey) { + ey -= builtin_clz(uy << 9); + uy <<= 1 - ey; + } else { + uy &= u32(-1) >> 9; + uy |= 1 << 23; + } + while (ex > ey) { + if (ux >= uy) { + if (ux == uy) return 0 * x; + ux -= uy; + } + ux <<= 1; + --ex; + } + if (ux >= uy) { + if (ux == uy) return 0 * x; + ux -= uy; + } + // for (; !(ux >> 23); ux <<= 1) --ex; + let shift = builtin_clz(ux << 8); + ex -= shift; + ux <<= shift; + if (ex > 0) { + ux -= 1 << 23; + ux |= ex << 23; + } else { + ux >>= -ex + 1; + } + return reinterpret(ux | sm); + } + + export function rem(x: f32, y: f32): f32 { // see: musl/src/math/remquof.c + let ux = reinterpret(x); + let uy = reinterpret(y); + let ex = i32(ux >> 23 & 0xFF); + let ey = i32(uy >> 23 & 0xFF); + let uxi = ux; + if (uy << 1 == 0 || ex == 0xFF || isNaN(y)) return (x * y) / (x * y); + if (ux << 1 == 0) return x; + if (!ex) { + ex -= builtin_clz(uxi << 9); + uxi <<= 1 - ex; + } else { + uxi &= u32(-1) >> 9; + uxi |= 1 << 23; + } + if (!ey) { + ey -= builtin_clz(uy << 9); + uy <<= 1 - ey; + } else { + uy &= u32(-1) >> 9; + uy |= 1 << 23; + } + let q = 0; + do { + if (ex < ey) { + if (ex + 1 == ey) break; // goto end + return x; + } + while (ex > ey) { + if (uxi >= uy) { + uxi -= uy; + ++q; + } + uxi <<= 1; + q <<= 1; + --ex; + } + if (uxi >= uy) { + uxi -= uy; + ++q; + } + if (uxi == 0) ex = -30; + else { + let shift = builtin_clz(uxi << 8); + ex -= shift; + uxi <<= shift; + } + break; + } while (false); + // end: + if (ex > 0) { + uxi -= 1 << 23; + uxi |= ex << 23; + } else { + uxi >>= -ex + 1; + } + x = reinterpret(uxi); + y = builtin_abs(y); + let x2 = x + x; + if (ex == ey || (ex + 1 == ey && (x2 > y || (x2 == y && bool(q & 1))))) { + x -= y; + // q++; + } + return ux < 0 ? -x : x; + } + + export function sincos(x: f32): void { // see: musl/tree/src/math/sincosf.c + const + s1pio2 = reinterpret(0x3FF921FB54442D18), // 1 * M_PI_2 + s2pio2 = reinterpret(0x400921FB54442D18), // 2 * M_PI_2 + s3pio2 = reinterpret(0x4012D97C7F3321D2), // 3 * M_PI_2 + s4pio2 = reinterpret(0x401921FB54442D18); // 4 * M_PI_2 + + let ux = reinterpret(x); + let sign = ux >> 31; + ux &= 0x7FFFFFFF; + + if (ux <= 0x3F490FDA) { // |x| ~<= \u03C0/4 + if (ux < 0x39800000) { // |x| < 2**-12 + sincos_sin = x; + sincos_cos = 1; + return; + } + sincos_sin = sin_kernf(x); + sincos_cos = cos_kernf(x); + return; + } + if (ASC_SHRINK_LEVEL < 1) { + if (ux <= 0x407B53D1) { // |x| ~<= 5\u03C0/4 + if (ux <= 0x4016CBE3) { // |x| ~<= 3\u03C0/4 + if (sign) { + sincos_sin = -cos_kernf(x + s1pio2); + sincos_cos = sin_kernf(x + s1pio2); + } else { + sincos_sin = cos_kernf(s1pio2 - x); + sincos_cos = sin_kernf(s1pio2 - x); + } + return; + } + // -sin(x + c) is not correct if x+c could be 0: -0 vs +0 + sincos_sin = -sin_kernf(sign ? x + s2pio2 : x - s2pio2); + sincos_cos = -cos_kernf(sign ? x + s2pio2 : x - s2pio2); + return; + } + if (ux <= 0x40E231D5) { // |x| ~<= 9\u03C0/4 + if (ux <= 0x40AFEDDF) { // |x| ~<= 7\u03C0/4 + if (sign) { + sincos_sin = cos_kernf(x + s3pio2); + sincos_cos = -sin_kernf(x + s3pio2); + } else { + sincos_sin = -cos_kernf(x - s3pio2); + sincos_cos = sin_kernf(x - s3pio2); + } + return; + } + sincos_sin = sin_kernf(sign ? x + s4pio2 : x - s4pio2); + sincos_cos = cos_kernf(sign ? x + s4pio2 : x - s4pio2); + return; + } + } + // sin(Inf or NaN) is NaN + if (ux >= 0x7F800000) { + let xx = x - x; + sincos_sin = xx; + sincos_cos = xx; + return; + } + // general argument reduction needed + let n = rempio2f(x, ux, sign); + let y = rempio2f_y; + let s = sin_kernf(y); + let c = cos_kernf(y); + let sin = s, cos = c; + if (n & 1) { + sin = c; + cos = -s; + } + if (n & 2) { + sin = -sin; + cos = -cos; + } + sincos_sin = sin; + sincos_cos = cos; + } +} + +export function ipow32(x: i32, e: i32): i32 { + let out = 1; + if (ASC_SHRINK_LEVEL < 1) { + if (x == 2) { + return select(1 << e, 0, e < 32); + } + if (e <= 0) { + if (x == -1) return select(-1, 1, e & 1); + return i32(e == 0) | i32(x == 1); + } + else if (e == 1) return x; + else if (e == 2) return x * x; + else if (e < 32) { + let log = 32 - clz(e); + // 32 = 2 ^ 5, so need only five cases. + // But some extra cases needs for properly overflowing + switch (log) { + case 5: { + if (e & 1) out *= x; + e >>>= 1; + x *= x; + } + case 4: { + if (e & 1) out *= x; + e >>>= 1; + x *= x; + } + case 3: { + if (e & 1) out *= x; + e >>>= 1; + x *= x; + } + case 2: { + if (e & 1) out *= x; + e >>>= 1; + x *= x; + } + case 1: { + if (e & 1) out *= x; + } + } + return out; + } + } + while (e) { + if (e & 1) out *= x; + e >>>= 1; + x *= x; + } + return out; +} + +export function ipow64(x: i64, e: i64): i64 { + let out: i64 = 1; + if (ASC_SHRINK_LEVEL < 1) { + if (x == 2) { + return select(1 << e, 0, e < 64); + } + if (e <= 0) { + if (x == -1) return select(-1, 1, e & 1); + return i64(e == 0) | i64(x == 1); + } + else if (e == 1) return x; + else if (e == 2) return x * x; + else if (e < 64) { + let log = 64 - clz(e); + // 64 = 2 ^ 6, so need only six cases. + // But some extra cases needs for properly overflowing + switch (log) { + case 6: { + if (e & 1) out *= x; + e >>>= 1; + x *= x; + } + case 5: { + if (e & 1) out *= x; + e >>>= 1; + x *= x; + } + case 4: { + if (e & 1) out *= x; + e >>>= 1; + x *= x; + } + case 3: { + if (e & 1) out *= x; + e >>>= 1; + x *= x; + } + case 2: { + if (e & 1) out *= x; + e >>>= 1; + x *= x; + } + case 1: { + if (e & 1) out *= x; + } + } + return out; + } + } + while (e) { + if (e & 1) out *= x; + e >>>= 1; + x *= x; + } + return out; +} + +/* +TODO: +In compile time if only exponent is constant we could replace ipow32/ipow64 by shortest addition chains +which usually faster than exponentiation by squaring + +for ipow32 and e < 32: + +let b: i32, c: i32, d: i32, h: i32, k: i32, g: i32; +switch (e) { + case 1: return x; + case 2: return x * x; + case 3: return x * x * x; + case 4: return (b = x * x) * b; + case 5: return (b = x * x) * b * x; + case 6: return (b = x * x) * b * b; + case 7: return (b = x * x) * b * b * x; + case 8: return (d = (b = x * x) * b) * d; + case 9: return (c = x * x * x) * c * c; + case 10: return (d = (b = x * x) * b) * d * b; + case 11: return (d = (b = x * x) * b) * d * b * x; + case 12: return (d = (b = x * x) * b) * d * d; + case 13: return (d = (b = x * x) * b) * d * d * x; + case 14: return (d = (b = x * x) * b) * d * d * b; + case 15: return (k = (b = x * x) * b * x) * k * k; + case 16: return (h = (d = (b = x * x) * b) * d) * h; + case 17: return (h = (d = (b = x * x) * b) * d) * h * x; + case 18: return (h = (d = (b = x * x) * b) * d * x) * h; + case 19: return (h = (d = (b = x * x) * b) * d * x) * h * x; + case 20: return (h = (k = (b = x * x) * b * x) * k) * h; + case 21: return (h = (k = (b = x * x) * b * x) * k) * h * x; + case 22: return (g = (h = (k = (b = x * x) * b * x) * k) * x) * g; + case 23: return (h = (d = (c = (b = x * x) * x) * b) * d) * h * c; + case 24: return (h = (d = (c = x * x * x) * c) * d) * h; + case 25: return (h = (d = (c = x * x * x) * c) * d) * h * x; + case 26: return (g = (h = (d = (c = x * x * x) * c) * d) * x) * g; + case 27: return (h = (d = (c = x * x * x) * c) * d) * h * c; + case 28: return (h = (d = (c = x * x * x) * c * x) * d) * h; + case 29: return (h = (d = (c = x * x * x) * c * x) * d) * h * x; + case 30: return (h = (d = (c = x * x * x) * c) * d * c) * h; + case 31: return (h = (d = (c = x * x * x) * c) * d * c) * h * x; +} + +for ipow64: TODO +switch (e) { + case 32: + ... + case 63: +} +*/ +`,memory:`import { memcmp, memmove, memset } from "./util/memory"; +import { E_NOTIMPLEMENTED } from "./util/error"; + +/** Memory manager interface. */ +export namespace memory { + + /** Gets the size of the memory in pages. */ + // @ts-ignore: decorator + @builtin + export declare function size(): i32; + + /** Grows the memory by the given size in pages and returns the previous size in pages. */ + // @ts-ignore: decorator + @unsafe @builtin + export declare function grow(pages: i32): i32; + + /** Fills a section in memory with the specified byte value. */ + // @ts-ignore: decorator + @unsafe @builtin + export function fill(dst: usize, c: u8, n: usize): void { + memset(dst, c, n); // fallback if "bulk-memory" isn't enabled + } + + /** Copies a section of memory to another. Has move semantics. */ + // @ts-ignore: decorator + @unsafe @builtin + export function copy(dst: usize, src: usize, n: usize): void { + memmove(dst, src, n); // fallback if "bulk-memory" isn't enabled + } + + export namespace atomic { + + // @ts-ignore: decorator + @unsafe @builtin + export declare function wait32(ptr: usize, expected: i32, timeout: i64): AtomicWaitResult; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function wait64(ptr: usize, expected: i64, timeout: i64): AtomicWaitResult; + } + + /** Initializes a memory segment. */ + // @ts-ignore: decorator + @unsafe + export function init(segmentIndex: u32, srcOffset: usize, dstOffset: usize, n: usize): void { + throw new Error(E_NOTIMPLEMENTED); + } + + /** Drops a memory segment. */ + // @ts-ignore: decorator + @unsafe + export function drop(segmentIndex: u32): void { + throw new Error(E_NOTIMPLEMENTED); + } + + /** Repeats a section of memory at a specific address. */ + // @ts-ignore: decorator + @unsafe + export function repeat(dst: usize, src: usize, srcLength: usize, count: usize): void { + let index: usize = 0; + let total = srcLength * count; + while (index < total) { + memory.copy(dst + index, src, srcLength); + index += srcLength; + } + } + + /** Compares a section of memory to another. */ + // @ts-ignore: decorator + @inline + export function compare(vl: usize, vr: usize, n: usize): i32 { + return memcmp(vl, vr, n); + } + + /** Gets a pointer to a static chunk of memory of the given size. */ + // @ts-ignore: decorator + @builtin + export declare function data(size: T, align?: i32): usize; +} + +// @ts-ignore: decorator +@builtin +export declare const __data_end: usize; + +// @ts-ignore: decorator +@builtin +export declare let __stack_pointer: usize; + +// @ts-ignore: decorator +@builtin +export declare const __heap_base: usize; + +/** Heap memory interface. */ +export namespace heap { + + /** Allocates a chunk of memory of at least the specified size. */ + // @ts-ignore: decorator + @unsafe export function alloc(size: usize): usize { + return __alloc(size); + } + + /** Reallocates a chunk of memory to have at least the specified size. */ + // @ts-ignore: decorator + @unsafe export function realloc(ptr: usize, size: usize): usize { + return __realloc(ptr, size); + } + + /** Frees a chunk of memory. Does hardly anything (most recent block only) with the stub runtime. */ + // @ts-ignore: decorator + @unsafe export function free(ptr: usize): void { + __free(ptr); + } + + /** Dangerously resets the entire heap. Specific to the stub runtime. */ + // @ts-ignore: decorator + @unsafe export function reset(): void { + if (isDefined(__reset)) { + __reset(); + } else { + throw new Error(E_NOTIMPLEMENTED); + } + } +} +`,number:`import { itoa32, utoa32, itoa64, utoa64, dtoa } from "./util/number"; +import { strtol, strtod } from "./util/string"; + +// @ts-ignore: decorator +@builtin @inline +export const NaN: f64 = 0 / 0; // context-aware + +// @ts-ignore: decorator +@builtin @inline +export const Infinity: f64 = 1 / 0; // context-aware + +// @ts-ignore: decorator +@builtin +export declare function isNaN(value: T): bool; + +// @ts-ignore: decorator +@builtin +export declare function isFinite(value: T): bool; + +@final @unmanaged +export abstract class I8 { + + // @ts-ignore: decorator + @lazy + static readonly MIN_VALUE: i8 = i8.MIN_VALUE; + + // @ts-ignore: decorator + @lazy + static readonly MAX_VALUE: i8 = i8.MAX_VALUE; + + /** @deprecated */ + static parseInt(value: string, radix: i32 = 0): i8 { + return strtol(value, radix); + } + + toString(this: i8, radix: i32 = 10): String { + return itoa32(this, radix); + } +} + +@final @unmanaged +export abstract class I16 { + + // @ts-ignore: decorator + @lazy + static readonly MIN_VALUE: i16 = i16.MIN_VALUE; + + // @ts-ignore: decorator + @lazy + static readonly MAX_VALUE: i16 = i16.MAX_VALUE; + + /** @deprecated */ + static parseInt(value: string, radix: i32 = 0): i16 { + return strtol(value, radix); + } + + toString(this: i16, radix: i32 = 10): String { + return itoa32(this, radix); + } +} + +@final @unmanaged +export abstract class I32 { + + // @ts-ignore: decorator + @lazy + static readonly MIN_VALUE: i32 = i32.MIN_VALUE; + + // @ts-ignore: decorator + @lazy + static readonly MAX_VALUE: i32 = i32.MAX_VALUE; + + /** @deprecated */ + static parseInt(value: string, radix: i32 = 0): i32 { + return strtol(value, radix); + } + + toString(this: i32, radix: i32 = 10): String { + return itoa32(this, radix); + } +} + +@final @unmanaged +export abstract class I64 { + + // @ts-ignore: decorator + @lazy + static readonly MIN_VALUE: i64 = i64.MIN_VALUE; + + // @ts-ignore: decorator + @lazy + static readonly MAX_VALUE: i64 = i64.MAX_VALUE; + + /** @deprecated */ + static parseInt(value: string, radix: i32 = 0): i64 { + return strtol(value, radix); + } + + toString(this: i64, radix: i32 = 10): String { + return itoa64(this, radix); + } +} + +@final @unmanaged +export abstract class Isize { + + // @ts-ignore: decorator + @lazy + static readonly MIN_VALUE: isize = isize.MIN_VALUE; + + // @ts-ignore: decorator + @lazy + static readonly MAX_VALUE: isize = isize.MAX_VALUE; + + /** @deprecated */ + static parseInt(value: string, radix: i32 = 0): isize { + return strtol(value, radix); + } + + toString(this: isize, radix: i32 = 10): String { + if (sizeof() == 4) { + return itoa32(this, radix); + } else { + return itoa64(this, radix); + } + } +} + +@final @unmanaged +export abstract class U8 { + + // @ts-ignore: decorator + @lazy + static readonly MIN_VALUE: u8 = u8.MIN_VALUE; + + // @ts-ignore: decorator + @lazy + static readonly MAX_VALUE: u8 = u8.MAX_VALUE; + + /** @deprecated */ + static parseInt(value: string, radix: i32 = 0): u8 { + return strtol(value, radix); + } + + toString(this: u8, radix: i32 = 10): String { + return utoa32(this, radix); + } +} + +@final @unmanaged +export abstract class U16 { + + // @ts-ignore: decorator + @lazy + static readonly MIN_VALUE: u16 = u16.MIN_VALUE; + + // @ts-ignore: decorator + @lazy + static readonly MAX_VALUE: u16 = u16.MAX_VALUE; + + /** @deprecated */ + static parseInt(value: string, radix: i32 = 0): u16 { + return strtol(value, radix); + } + + toString(this: u16, radix: i32 = 10): String { + return utoa32(this, radix); + } +} + +@final @unmanaged +export abstract class U32 { + + // @ts-ignore: decorator + @lazy + static readonly MIN_VALUE: u32 = u32.MIN_VALUE; + + // @ts-ignore: decorator + @lazy + static readonly MAX_VALUE: u32 = u32.MAX_VALUE; + + /** @deprecated */ + static parseInt(value: string, radix: i32 = 0): u32 { + return strtol(value, radix); + } + + toString(this: u32, radix: i32 = 10): String { + return utoa32(this, radix); + } +} + +@final @unmanaged +export abstract class U64 { + + // @ts-ignore: decorator + @lazy + static readonly MIN_VALUE: u64 = u64.MIN_VALUE; + + // @ts-ignore: decorator + @lazy + static readonly MAX_VALUE: u64 = u64.MAX_VALUE; + + /** @deprecated */ + static parseInt(value: string, radix: i32 = 0): u64 { + return strtol(value, radix); + } + + toString(this: u64, radix: i32 = 10): String { + return utoa64(this, radix); + } +} + +@final @unmanaged +export abstract class Usize { + + // @ts-ignore: decorator + @lazy + static readonly MIN_VALUE: usize = usize.MIN_VALUE; + + // @ts-ignore: decorator + @lazy + static readonly MAX_VALUE: usize = usize.MAX_VALUE; + + /** @deprecated */ + static parseInt(value: string, radix: i32 = 0): usize { + return strtol(value, radix); + } + + toString(this: usize, radix: i32 = 10): String { + if (sizeof() == 4) { + return utoa32(this, radix); + } else { + return utoa64(this, radix); + } + } +} + +@final @unmanaged +export abstract class Bool { + + // @ts-ignore: decorator + @lazy + static readonly MIN_VALUE: bool = bool.MIN_VALUE; + + // @ts-ignore: decorator + @lazy + static readonly MAX_VALUE: bool = bool.MAX_VALUE; + + toString(this: bool, radix: i32 = 0): String { + return this ? "true" : "false"; + } +} + +export { Bool as Boolean }; + +@final @unmanaged +export abstract class F32 { + + // @ts-ignore: decorator + @lazy + static readonly EPSILON: f32 = f32.EPSILON; + + // @ts-ignore: decorator + @lazy + static readonly MIN_VALUE: f32 = f32.MIN_VALUE; + + // @ts-ignore: decorator + @lazy + static readonly MAX_VALUE: f32 = f32.MAX_VALUE; + + // @ts-ignore: decorator + @lazy + static readonly MIN_SAFE_INTEGER: f32 = f32.MIN_SAFE_INTEGER; + + // @ts-ignore: decorator + @lazy + static readonly MAX_SAFE_INTEGER: f32 = f32.MAX_SAFE_INTEGER; + + // @ts-ignore: decorator + @lazy + static readonly POSITIVE_INFINITY: f32 = f32.POSITIVE_INFINITY; + + // @ts-ignore: decorator + @lazy + static readonly NEGATIVE_INFINITY: f32 = f32.NEGATIVE_INFINITY; + + // @ts-ignore: decorator + @lazy + static readonly NaN: f32 = f32.NaN; + + static isNaN(value: f32): bool { + return isNaN(value); + } + + static isFinite(value: f32): bool { + return isFinite(value); + } + + static isSafeInteger(value: f32): bool { + return abs(value) <= f32.MAX_SAFE_INTEGER && trunc(value) == value; + } + + static isInteger(value: f32): bool { + return isFinite(value) && trunc(value) == value; + } + + /** @deprecated */ + static parseInt(value: string, radix: i32 = 0): f32 { + return strtol(value, radix); + } + + /** @deprecated */ + static parseFloat(value: string): f32 { + return strtod(value); + } + + toString(this: f32, radix: i32 = 0): String { + return dtoa(this); + } +} + +@final @unmanaged +export abstract class F64 { + + // @ts-ignore: decorator + @lazy + static readonly EPSILON: f64 = f64.EPSILON; + + // @ts-ignore: decorator + @lazy + static readonly MIN_VALUE: f64 = f64.MIN_VALUE; + + // @ts-ignore: decorator + @lazy + static readonly MAX_VALUE: f64 = f64.MAX_VALUE; + + // @ts-ignore: decorator + @lazy + static readonly MIN_SAFE_INTEGER: f64 = f64.MIN_SAFE_INTEGER; + + // @ts-ignore: decorator + @lazy + static readonly MAX_SAFE_INTEGER: f64 = f64.MAX_SAFE_INTEGER; + + // @ts-ignore: decorator + @lazy + static readonly POSITIVE_INFINITY: f64 = f64.POSITIVE_INFINITY; + + // @ts-ignore: decorator + @lazy + static readonly NEGATIVE_INFINITY: f64 = f64.NEGATIVE_INFINITY; + + // @ts-ignore: decorator + @lazy + static readonly NaN: f64 = f64.NaN; + + static isNaN(value: f64): bool { + return isNaN(value); + } + + static isFinite(value: f64): bool { + return isFinite(value); + } + + static isSafeInteger(value: f64): bool { + return abs(value) <= f64.MAX_SAFE_INTEGER && trunc(value) == value; + } + + static isInteger(value: f64): bool { + return isFinite(value) && trunc(value) == value; + } + + /** @deprecated */ + static parseInt(value: string, radix: i32 = 0): f64 { + return strtol(value, radix); + } + + /** @deprecated */ + static parseFloat(value: string): f64 { + return strtod(value); + } + + toString(this: f64, radix: i32 = 0): String { + return dtoa(this); + } +} + +export { F64 as Number }; +`,object:`export abstract class Object { + static is(x: T, y: T): bool { + if (isFloat()) { + // Float pointing is special we shoulr presere following identities: + // 0.0 !=-0.0 + // NaN == NaN + if (sizeof() == 8) { + return ( + bool(u32(x != x) & u32(y != y) | + u32(reinterpret(f64(x)) == reinterpret(f64(y)))) + ); + } else { + return ( + bool(u32(x != x) & u32(y != y) | + u32(reinterpret(f32(x)) == reinterpret(f32(y)))) + ); + } + } + // For references, strings, integers and booleans + return x == y; + } + + // TODO: Wrapper classes like \`Function\` override the \`this\` type of + // \`toString\`, which is covariant and hence fails to overload. Wrapper classes + // might need a different mechanism to indicate such special \`this\` types. + // toString(): string { + // return "[object Object]"; + // } +} + +// TODO: The types \`Object\` and \`object\` differ in TypeScript, in that the +// latter indicates any non-primitive type, not including \`string\` for example. +// The \`object\` type hence remains reserved for now, also to potentially address +// the above \`toString\` TODO in alternative ways. +// @ts-ignore: nolib +// export type object = Object; +`,performance:`import { + performance as performance_binding +} from "bindings/dom"; + +export namespace performance { + export function now(): f64 { + return performance_binding.now(); + } +} +`,polyfills:`export function bswap(value: T): T { + if (isInteger()) { + if (sizeof() == 1) { + return value; + } + if (sizeof() == 2) { + return (value << 8 | (value >> 8)); + } + if (sizeof() == 4) { + return ( + rotl(value & 0xFF00FF00, 8) | + rotr(value & 0x00FF00FF, 8) + ); + } + if (sizeof() == 8) { + let a = (value >> 8) & 0x00FF00FF00FF00FF; + let b = (value & 0x00FF00FF00FF00FF) << 8; + let v = a | b; + + a = (v >>> 16) & 0x0000FFFF0000FFFF; + b = (v & 0x0000FFFF0000FFFF) << 16; + + return rotr(a | b, 32); + } + } + ERROR("Unsupported generic type"); +} +`,process:`import { + Date as Date_binding, + performance as performance_binding +} from "bindings/dom"; + +import { + process as process_binding +} from "bindings/node"; + +export namespace process { + + // @ts-ignore: decorator + @lazy export const arch = sizeof() == 4 ? "wasm32" : "wasm64"; + + // @ts-ignore: decorator + @lazy export const platform = "wasm"; + + // @ts-ignore: decorator + @lazy export const argv = lazyArgv(); + + // @ts-ignore: decorator + @lazy export const env = lazyEnv(); + + // @ts-ignore: decorator + @lazy export let exitCode = 0; + + export function exit(code: i32 = exitCode): void { + process_binding.exit(code); + } + + export function time(): i64 { + return Date_binding.now(); + } + + export function hrtime(): u64 { + let now = performance_binding.now(); + let millis = now; + let fraction = now - millis; + return millis * 1000000 + (fraction * 1000000); + } +} + +function lazyArgv(): string[] { + return process_binding.argv; +} + +function lazyEnv(): Map { + // TODO: What about Node? + return new Map(); +} +`,reference:`// Canonical aliases +export type funcref = ref_func | null; +export type externref = ref_extern | null; +export type anyref = ref_any | null; +export type eqref = ref_eq | null; +export type i31ref = ref_i31 | null; +export type structref = ref_struct | null; +export type arrayref = ref_array | null; +export type stringref = ref_string | null; +export type stringview_wtf8 = ref_stringview_wtf8 | null; +export type stringview_wtf16 = ref_stringview_wtf16 | null; +export type stringview_iter = ref_stringview_iter | null; + +@unmanaged +abstract class Ref { +} + +@final @unmanaged +export abstract class RefFunc extends Ref { +} + +@final @unmanaged +export abstract class RefExtern extends Ref { +} + +@final @unmanaged +export abstract class RefAny extends Ref { +} + +@final @unmanaged +export abstract class RefEq extends Ref { +} + +@final @unmanaged +export abstract class RefI31 extends Ref { +} + +@final @unmanaged +export abstract class RefStruct extends Ref { +} + +@final @unmanaged +export abstract class RefArray extends Ref { +} + +@final @unmanaged +export abstract class RefString extends Ref { +} +`,regexp:`export class RegExp { + + // @binding(CALL_NEW, [ STRING, STRING], OBJECT_HANDLE) + constructor(pattern: string, flags: string = "") { throw new Error("unreachable"); } + + // @binding(CALL_THIS, [ STRING ], PASS_THRU) + test(search: string): bool { throw new Error("unreachable"); } + + // @binding(CALL_THIS, [], STRING) + toString(): string { throw new Error("unreachable"); } + +} +`,rt:`import { Typeinfo, TypeinfoFlags } from "./shared/typeinfo"; +import { E_INDEXOUTOFRANGE } from "./util/error"; +import { ArrayBufferView } from "./arraybuffer"; + +// @ts-ignore: decorator +@builtin +export declare const __rtti_base: usize; + +// @ts-ignore: decorator +@builtin @unsafe +export declare function __visit_globals(cookie: u32): void; + +// @ts-ignore: decorator +@builtin @unsafe +export declare function __visit_members(ref: usize, cookie: u32): void; + +// @ts-ignore: decorator +@unsafe +export function __typeinfo(id: u32): TypeinfoFlags { + let ptr = __rtti_base; + if (id > load(ptr)) throw new Error(E_INDEXOUTOFRANGE); + return changetype(ptr + sizeof() + id * offsetof()).flags; +} + +// @ts-ignore: decorator +@unsafe +export function __newBuffer(size: usize, id: u32, data: usize = 0): usize { + let buffer = __new(size, id); + if (data) memory.copy(buffer, data, size); + return buffer; +} + +// @ts-ignore: decorator +@unsafe +export function __newArray(length: i32, alignLog2: usize, id: u32, data: usize = 0): usize { + let bufferSize = length << alignLog2; + // make sure \`buffer\` is tracked by the shadow stack + let buffer = changetype(__newBuffer(bufferSize, idof(), data)); + // ...since allocating the array may trigger GC steps + let array = __new(offsetof(), id); + store(array, changetype(buffer), offsetof("buffer")); + __link(array, changetype(buffer), false); + store(array, changetype(buffer), offsetof("dataStart")); + store(array, bufferSize, offsetof("byteLength")); + store(array, length, offsetof("length_")); + return array; +} + +// @ts-ignore: decorator +@global @unsafe +function __tostack(ptr: usize): usize { // eslint-disable-line + return ptr; +} + +// These are provided by the respective implementation, included as another entry file by asc: + +// // @ts-ignore: decorator +// @builtin @unsafe +// export declare function __alloc(size: usize): usize; + +// // @ts-ignore: decorator +// @builtin @unsafe +// export declare function __realloc(ptr: usize, size: usize): usize; + +// // @ts-ignore: decorator +// @builtin @unsafe +// export declare function __free(ptr: usize): void; + +// // @ts-ignore: decorator +// @builtin @unsafe +// export declare function __new(size: usize, id: u32): usize; + +// // @ts-ignore: decorator +// @builtin @unsafe +// export declare function __renew(ptr: usize, size: usize): usize; + +// // @ts-ignore: decorator +// @builtin @unsafe +// export declare function __link(parentPtr: usize, childPtr: usize, expectMultiple: bool): void; + +// // @ts-ignore: decorator +// @builtin @unsafe +// export declare function __collect(): void; + +// // @ts-ignore: decorator +// @builtin @unsafe +// export declare function __visit(ptr: usize, cookie: u32): void; +`,"rt/common":`// Alignment guarantees + +// @ts-ignore: decorator +@inline export const AL_BITS: u32 = 4; // 16 bytes to fit up to v128 +// @ts-ignore: decorator +@inline export const AL_SIZE: usize = 1 << AL_BITS; +// @ts-ignore: decorator +@inline export const AL_MASK: usize = AL_SIZE - 1; + +// Extra debugging + +// @ts-ignore: decorator +@inline export const DEBUG = true; +// @ts-ignore: decorator +@inline export const TRACE = false; +// @ts-ignore: decorator +@inline export const RTRACE = isDefined(ASC_RTRACE); +// @ts-ignore: decorator +@inline export const PROFILE = isDefined(ASC_PROFILE); + +// Memory manager + +// \u2552\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 Memory manager block layout (32-bit) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2555 +// 3 2 1 +// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 bits +// \u251C\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2524 +// \u2502 MM info \u2502 -4 +// \u255E>ptr\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2561 +// \u2502 ... \u2502 +@unmanaged export class BLOCK { + /** Memory manager info. */ + mmInfo: usize; +} + +/** Overhead of a memory manager block. */ +// @ts-ignore: decorator +@inline export const BLOCK_OVERHEAD: usize = offsetof(); + +/** Maximum size of a memory manager block's payload. */ +// @ts-ignore: decorator +@inline export const BLOCK_MAXSIZE: usize = (1 << 30) - BLOCK_OVERHEAD; + +// Garbage collector + +// \u2552\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 Garbage collector object layout (32-bit) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2555 +// 3 2 1 +// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 bits +// \u251C\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2524 +// \u2502 Memory manager block \u2502 -20 +// \u255E\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2561 +// \u2502 GC info \u2502 -16 +// \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524 +// \u2502 GC info \u2502 -12 +// \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524 +// \u2502 RT id \u2502 -8 +// \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524 +// \u2502 RT size \u2502 -4 +// \u255E>ptr\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2561 +// \u2502 ... \u2502 +@unmanaged export class OBJECT extends BLOCK { + /** Garbage collector info. */ + gcInfo: u32; + /** Garbage collector info. */ + gcInfo2: u32; + /** Runtime class id. */ + rtId: u32; + /** Runtime object size. */ + rtSize: u32; +} + +/** Overhead of a garbage collector object. Excludes memory manager block overhead. */ +// @ts-ignore: decorator +@inline export const OBJECT_OVERHEAD: usize = (offsetof() - BLOCK_OVERHEAD + AL_MASK) & ~AL_MASK; + +/** Maximum size of a garbage collector object's payload. */ +// @ts-ignore: decorator +@inline export const OBJECT_MAXSIZE: usize = BLOCK_MAXSIZE - OBJECT_OVERHEAD; + +/** Total of memory manager and garbage collector overhead. */ +// @ts-ignore: decorator +@inline export const TOTAL_OVERHEAD: usize = BLOCK_OVERHEAD + OBJECT_OVERHEAD; +`,"rt/index-incremental":`import "rt/tlsf"; +import "rt/itcms"; +`,"rt/index-minimal":`import "rt/tlsf"; +import "rt/tcms"; +`,"rt/index-stub":`import "rt/stub"; +`,"rt/itcms":`import { BLOCK, BLOCK_OVERHEAD, OBJECT_OVERHEAD, OBJECT_MAXSIZE, TOTAL_OVERHEAD, DEBUG, TRACE, RTRACE, PROFILE } from "./common"; +import { onvisit, oncollect, oninterrupt, onyield } from "./rtrace"; +import { TypeinfoFlags } from "../shared/typeinfo"; +import { E_ALLOCATION_TOO_LARGE, E_ALREADY_PINNED, E_NOT_PINNED } from "../util/error"; + +// === ITCMS: An incremental Tri-Color Mark & Sweep garbage collector === +// Adapted from Bach Le's \u03BCgc, see: https://github.com/bullno1/ugc + +// \u2552\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2564\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 Colors \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2555 +// \u2502 Color \u2502 Meaning \u2502 +// \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524 +// \u2502 WHITE* \u2502 Unprocessed \u2502 +// \u2502 BLACK* \u2502 Processed \u2502 +// \u2502 GRAY \u2502 Processed with unprocessed children \u2502 +// \u2502 TRANSPARENT \u2502 Manually pinned (always reachable) \u2502 +// \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 +// * flipped between cycles + +// @ts-ignore: decorator +@lazy let white = 0; +// @ts-ignore: decorator +@inline const gray = 2; +// @ts-ignore: decorator +@inline const transparent = 3; +// @ts-ignore: decorator +@inline const COLOR_MASK = 3; + +/** Size in memory of all objects currently managed by the GC. */ +// @ts-ignore: decorator +@lazy let total: usize = 0; + +/** Currently transitioning from SWEEP to MARK state. */ +// @ts-ignore: decorator +@inline const STATE_IDLE = 0; +/** Currently marking reachable objects. */ +// @ts-ignore: decorator +@inline const STATE_MARK = 1; +/** Currently sweeping unreachable objects. */ +// @ts-ignore: decorator +@inline const STATE_SWEEP = 2; +/** Current collector state. */ +// @ts-ignore: decorator +@lazy let state = STATE_IDLE; + +// @ts-ignore: decorator +@lazy let fromSpace = initLazy(changetype(memory.data(offsetof()))); +// @ts-ignore: decorator +@lazy let toSpace = initLazy(changetype(memory.data(offsetof()))); +// @ts-ignore: decorator +@lazy let pinSpace = initLazy(changetype(memory.data(offsetof()))); +// @ts-ignore: decorator +@lazy let iter: Object = changetype(0); // unsafe initializion below + +function initLazy(space: Object): Object { + space.nextWithColor = changetype(space); + space.prev = space; + return space; +} + +/** Visit cookie indicating scanning of an object. */ +// @ts-ignore: decorator +@inline const VISIT_SCAN = 0; + +// \u2552\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 Managed object layout (32-bit) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2555 +// 3 2 1 +// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 bits +// \u251C\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2524 +// \u2502 Memory manager block \u2502 +// \u255E\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2564\u2550\u2550\u2550\u2561 +// \u2502 next \u2502 C \u2502 = nextWithColor +// \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2524 +// \u2502 prev \u2502 +// \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524 +// \u2502 rtId \u2502 +// \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524 +// \u2502 rtSize \u2502 +// \u255E>ptr\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2561 +// \u2502 ... \u2502 +// C: color + +/** Represents a managed object in memory, consisting of a header followed by the object's data. */ +@unmanaged class Object extends BLOCK { + /** Pointer to the next object with color flags stored in the alignment bits. */ + nextWithColor: usize; // *u32 + /** Pointer to the previous object. */ + prev: Object; // *u32 + /** Runtime id. */ + rtId: u32; + /** Runtime size. */ + rtSize: u32; + + /** Gets the pointer to the next object. */ + get next(): Object { + return changetype(this.nextWithColor & ~COLOR_MASK); + } + + /** Sets the pointer to the next object. */ + set next(obj: Object) { + this.nextWithColor = changetype(obj) | (this.nextWithColor & COLOR_MASK); + } + + /** Gets this object's color. */ + get color(): i32 { + return i32(this.nextWithColor & COLOR_MASK); + } + + /** Sets this object's color. */ + set color(color: i32) { + this.nextWithColor = (this.nextWithColor & ~COLOR_MASK) | color; + } + + /** Gets the size of this object in memory. */ + get size(): usize { + return BLOCK_OVERHEAD + (this.mmInfo & ~3); + } + + /** Tests if this object is pointerfree. */ + get isPointerfree(): bool { + let rtId = this.rtId; + // 0: Object, 1: ArrayBuffer, 2: String + return rtId <= idof() || (__typeinfo(rtId) & TypeinfoFlags.POINTERFREE) != 0; + } + + /** Unlinks this object from its list. */ + unlink(): void { + let next = this.next; + if (next == null) { + if (DEBUG) assert(this.prev == null && changetype(this) < __heap_base); + return; // static data not yet linked + } + let prev = this.prev; + if (DEBUG) assert(prev); + next.prev = prev; + prev.next = next; + } + + /** Links this object to the specified list, with the given color. */ + linkTo(list: Object, withColor: i32): void { + let prev = list.prev; + this.nextWithColor = changetype(list) | withColor; + this.prev = prev; + prev.next = this; + list.prev = this; + } + + /** Marks this object as gray, that is reachable with unscanned children. */ + makeGray(): void { + if (this == iter) iter = assert(this.prev); + this.unlink(); + this.linkTo(toSpace, this.isPointerfree ? i32(!white) : gray); + } +} + +/** Visits all objects considered to be program roots. */ +function visitRoots(cookie: u32): void { + __visit_globals(cookie); + let pn = pinSpace; + let iter = pn.next; + while (iter != pn) { + if (DEBUG) assert(iter.color == transparent); + __visit_members(changetype(iter) + TOTAL_OVERHEAD, cookie); + iter = iter.next; + } +} + +/** Visits all objects on the stack. */ +function visitStack(cookie: u32): void { + let ptr = __stack_pointer; + while (ptr < __heap_base) { + __visit(load(ptr), cookie); + ptr += sizeof(); + } +} + +/** Performs a single step according to the current state. */ +function step(): usize { + // Magic constants responsible for pause times. Obtained experimentally + // using the compiler compiling itself. 2048 budget pro run by default. + const MARKCOST = isDefined(ASC_GC_MARKCOST) ? ASC_GC_MARKCOST : 1; + const SWEEPCOST = isDefined(ASC_GC_SWEEPCOST) ? ASC_GC_SWEEPCOST : 10; + let obj: Object; + switch (state) { + case STATE_IDLE: { + state = STATE_MARK; + visitCount = 0; + visitRoots(VISIT_SCAN); + iter = toSpace; + return visitCount * MARKCOST; + } + case STATE_MARK: { + let black = i32(!white); + obj = iter.next; + while (obj != toSpace) { + iter = obj; + if (obj.color != black) { // skip already-blacks (pointerfree) + obj.color = black; + visitCount = 0; + __visit_members(changetype(obj) + TOTAL_OVERHEAD, VISIT_SCAN); + return visitCount * MARKCOST; + } + obj = obj.next; + } + visitCount = 0; + visitRoots(VISIT_SCAN); + obj = iter.next; + if (obj == toSpace) { + visitStack(VISIT_SCAN); + obj = iter.next; + while (obj != toSpace) { + if (obj.color != black) { + obj.color = black; + __visit_members(changetype(obj) + TOTAL_OVERHEAD, VISIT_SCAN); + } + obj = obj.next; + } + let from = fromSpace; + fromSpace = toSpace; + toSpace = from; + white = black; + iter = from.next; + state = STATE_SWEEP; + } + return visitCount * MARKCOST; + } + case STATE_SWEEP: { + obj = iter; + if (obj != toSpace) { + iter = obj.next; + if (DEBUG) assert(obj.color == i32(!white)); // old white + free(obj); + return SWEEPCOST; + } + toSpace.nextWithColor = changetype(toSpace); + toSpace.prev = toSpace; + state = STATE_IDLE; + break; + } + } + return 0; +} + +/** Frees an object. */ +function free(obj: Object): void { + if (changetype(obj) < __heap_base) { + obj.nextWithColor = 0; // may become linked again + obj.prev = changetype(0); + } else { + total -= obj.size; + if (isDefined(__finalize)) { + __finalize(changetype(obj) + TOTAL_OVERHEAD); + } + __free(changetype(obj) + BLOCK_OVERHEAD); + } +} + +// Garbage collector interface + +// @ts-ignore: decorator +@global @unsafe +export function __new(size: usize, id: i32): usize { + if (size >= OBJECT_MAXSIZE) throw new Error(E_ALLOCATION_TOO_LARGE); + if (total >= threshold) interrupt(); + let obj = changetype(__alloc(OBJECT_OVERHEAD + size) - BLOCK_OVERHEAD); + obj.rtId = id; + obj.rtSize = size; + obj.linkTo(fromSpace, white); // inits next/prev + total += obj.size; + let ptr = changetype(obj) + TOTAL_OVERHEAD; + // may be visited before being fully initialized, so must fill + memory.fill(ptr, 0, size); + return ptr; +} + +// @ts-ignore: decorator +@global @unsafe +export function __renew(oldPtr: usize, size: usize): usize { + let oldObj = changetype(oldPtr - TOTAL_OVERHEAD); + // Update object size if its block is large enough + if (size <= (oldObj.mmInfo & ~3) - OBJECT_OVERHEAD) { + oldObj.rtSize = size; + return oldPtr; + } + // If not the same object anymore, we have to move it move it due to the + // shadow stack potentially still referencing the old object + let newPtr = __new(size, oldObj.rtId); + memory.copy(newPtr, oldPtr, min(size, oldObj.rtSize)); + return newPtr; +} + +// @ts-ignore: decorator +@global @unsafe +export function __link(parentPtr: usize, childPtr: usize, expectMultiple: bool): void { + // Write barrier is unnecessary if non-incremental + if (!childPtr) return; + if (DEBUG) assert(parentPtr); + let child = changetype(childPtr - TOTAL_OVERHEAD); + if (child.color == white) { + let parent = changetype(parentPtr - TOTAL_OVERHEAD); + let parentColor = parent.color; + if (parentColor == i32(!white)) { + // Maintain the invariant that no black object may point to a white object. + if (expectMultiple) { + // Move the barrier "backward". Suitable for containers receiving multiple stores. + // Avoids a barrier for subsequent objects stored into the same container. + parent.makeGray(); + } else { + // Move the barrier "forward". Suitable for objects receiving isolated stores. + child.makeGray(); + } + } else if (parentColor == transparent && state == STATE_MARK) { + // Pinned objects are considered 'black' during the mark phase. + child.makeGray(); + } + } +} + +// @ts-ignore: decorator +@lazy let visitCount = 0; + +// @ts-ignore: decorator +@global @unsafe +export function __visit(ptr: usize, cookie: i32): void { + if (!ptr) return; + let obj = changetype(ptr - TOTAL_OVERHEAD); + if (RTRACE) if (!onvisit(obj)) return; + if (obj.color == white) { + obj.makeGray(); + ++visitCount; + } +} + +// @ts-ignore: decorator +@global @unsafe +export function __pin(ptr: usize): usize { + if (ptr) { + let obj = changetype(ptr - TOTAL_OVERHEAD); + if (obj.color == transparent) { + throw new Error(E_ALREADY_PINNED); + } + obj.unlink(); // from fromSpace + obj.linkTo(pinSpace, transparent); + } + return ptr; +} + +// @ts-ignore: decorator +@global @unsafe +export function __unpin(ptr: usize): void { + if (!ptr) return; + let obj = changetype(ptr - TOTAL_OVERHEAD); + if (obj.color != transparent) { + throw new Error(E_NOT_PINNED); + } + if (state == STATE_MARK) { + // We may be right at the point after marking roots for the second time and + // entering the sweep phase, in which case the object would be missed if it + // is not only pinned but also a root. Make sure it isn't missed. + obj.makeGray(); + } else { + obj.unlink(); + obj.linkTo(fromSpace, white); + } +} + +// @ts-ignore: decorator +@global @unsafe +export function __collect(): void { + if (TRACE) trace("GC (full) at", 1, total); + if (state > STATE_IDLE) { + // finish current cycle + while (state != STATE_IDLE) step(); + } + // perform a full cycle + step(); + while (state != STATE_IDLE) step(); + threshold = (total * IDLEFACTOR / 100) + GRANULARITY; + if (TRACE) trace("GC (full) done at cur/max", 2, total, memory.size() << 16); + if (RTRACE || PROFILE) oncollect(total); +} + +// Garbage collector automation + +/** How often to interrupt. The default of 1024 means "interrupt each 1024 bytes allocated". */ +// @ts-ignore: decorator +@inline const GRANULARITY: usize = isDefined(ASC_GC_GRANULARITY) ? ASC_GC_GRANULARITY : 1024; +/** How long to interrupt. The default of 200% means "run at double the speed of allocations". */ +// @ts-ignore: decorator +@inline const STEPFACTOR: usize = isDefined(ASC_GC_SWEEPFACTOR) ? ASC_GC_SWEEPFACTOR : 200; +/** How long to idle. The default of 200% means "wait for memory to double before kicking in again". */ +// @ts-ignore: decorator +@inline const IDLEFACTOR: usize = isDefined(ASC_GC_IDLEFACTOR) ? ASC_GC_IDLEFACTOR : 200; + +/** Threshold of memory used by objects to exceed before interrupting again. */ +// @ts-ignore: decorator +@lazy let threshold: usize = ((memory.size() << 16) - __heap_base) >> 1; + +/** Performs a reasonable amount of incremental GC steps. */ +function interrupt(): void { + if (PROFILE) oninterrupt(total); + if (TRACE) trace("GC (auto) at", 1, total); + let budget: isize = GRANULARITY * STEPFACTOR / 100; + do { + budget -= step(); + if (state == STATE_IDLE) { + if (TRACE) trace("\u2514 GC (auto) done at cur/max", 2, total, memory.size() << 16); + threshold = (total * IDLEFACTOR / 100) + GRANULARITY; + if (PROFILE) onyield(total); + return; + } + } while (budget > 0); + if (TRACE) trace("\u2514 GC (auto) ongoing at", 1, total); + threshold = total + GRANULARITY * usize(total - threshold < GRANULARITY); + if (PROFILE) onyield(total); +} +`,"rt/rtrace":`import { BLOCK } from "./common"; + +export declare function oninit(heapBase: usize): void; + +// Memory Allocator +export declare function onalloc(block: BLOCK): void; +export declare function onresize(block: BLOCK, oldSizeInclOverhead: usize): void; +export declare function onmove(oldBlock: BLOCK, newBlock: BLOCK): void; +export declare function onfree(block: BLOCK): void; + +// Garbage collector +export declare function onvisit(block: BLOCK): bool; +export declare function oncollect(total: usize): void; +export declare function oninterrupt(total: usize): void; +export declare function onyield(total: usize): void; +`,"rt/stub":`import { AL_MASK, OBJECT, OBJECT_OVERHEAD, BLOCK_MAXSIZE, BLOCK_OVERHEAD, BLOCK, OBJECT_MAXSIZE } from "./common"; +import { E_ALLOCATION_TOO_LARGE } from "../util/error"; + +// === A minimal runtime stub === + +// @ts-ignore: decorator +@lazy let startOffset: usize = ((__heap_base + BLOCK_OVERHEAD + AL_MASK) & ~AL_MASK) - BLOCK_OVERHEAD; +// @ts-ignore: decorator +@lazy let offset: usize = startOffset; + +function maybeGrowMemory(newOffset: usize): void { + // assumes newOffset is aligned + let pagesBefore = memory.size(); + let maxOffset = ((pagesBefore << 16) + AL_MASK) & ~AL_MASK; + if (newOffset > maxOffset) { + let pagesNeeded = (((newOffset - maxOffset + 0xffff) & ~0xffff) >>> 16); + let pagesWanted = max(pagesBefore, pagesNeeded); // double memory + if (memory.grow(pagesWanted) < 0) { + if (memory.grow(pagesNeeded) < 0) unreachable(); // out of memory + } + } + offset = newOffset; +} + +// @ts-ignore: decorator +@inline function computeSize(size: usize): usize { + return ((size + BLOCK_OVERHEAD + AL_MASK) & ~AL_MASK) - BLOCK_OVERHEAD; +} + +// @ts-ignore: decorator +@unsafe @global +export function __alloc(size: usize): usize { + if (size > BLOCK_MAXSIZE) throw new Error(E_ALLOCATION_TOO_LARGE); + let block = changetype(offset); + let ptr = offset + BLOCK_OVERHEAD; + let payloadSize = computeSize(size); + maybeGrowMemory(ptr + payloadSize); + block.mmInfo = payloadSize; + return ptr; +} + +// @ts-ignore: decorator +@unsafe @global +export function __realloc(ptr: usize, size: usize): usize { + assert(ptr != 0 && !(ptr & AL_MASK)); // must exist and be aligned + let block = changetype(ptr - BLOCK_OVERHEAD); + let actualSize = block.mmInfo; + let isLast = ptr + actualSize == offset; + let payloadSize = computeSize(size); + if (size > actualSize) { + if (isLast) { // last block: grow + if (size > BLOCK_MAXSIZE) throw new Error(E_ALLOCATION_TOO_LARGE); + maybeGrowMemory(ptr + payloadSize); + block.mmInfo = payloadSize; + } else { // copy to new block at least double the size + let newPtr = __alloc(max(payloadSize, actualSize << 1)); + memory.copy(newPtr, ptr, actualSize); + block = changetype((ptr = newPtr) - BLOCK_OVERHEAD); + } + } else if (isLast) { // last block: shrink + offset = ptr + payloadSize; + block.mmInfo = payloadSize; + } + return ptr; +} + +// @ts-ignore: decorator +@unsafe @global +export function __free(ptr: usize): void { + assert(ptr != 0 && !(ptr & AL_MASK)); // must exist and be aligned + let block = changetype(ptr - BLOCK_OVERHEAD); + if (ptr + block.mmInfo == offset) { // last block: discard + offset = changetype(block); + } +} + +// @ts-ignore: decorator +@unsafe @global +export function __reset(): void { // special + offset = startOffset; +} + +// @ts-ignore: decorator +@unsafe @global +export function __new(size: usize, id: u32): usize { + if (size > OBJECT_MAXSIZE) throw new Error(E_ALLOCATION_TOO_LARGE); + let ptr = __alloc(OBJECT_OVERHEAD + size); + let object = changetype(ptr - BLOCK_OVERHEAD); + object.gcInfo = 0; + object.gcInfo2 = 0; + object.rtId = id; + object.rtSize = size; + return ptr + OBJECT_OVERHEAD; +} + +// @ts-ignore: decorator +@unsafe @global +export function __renew(oldPtr: usize, size: usize): usize { + if (size > OBJECT_MAXSIZE) throw new Error(E_ALLOCATION_TOO_LARGE); + let newPtr = __realloc(oldPtr - OBJECT_OVERHEAD, OBJECT_OVERHEAD + size); + changetype(newPtr - BLOCK_OVERHEAD).rtSize = size; + return newPtr + OBJECT_OVERHEAD; +} + +// @ts-ignore: decorator +@global @unsafe +export function __link(parentPtr: usize, childPtr: usize, expectMultiple: bool): void { + // nop +} + +// @ts-ignore: decorator +@global @unsafe +export function __pin(ptr: usize): usize { + return ptr; +} + +// @ts-ignore: decorator +@global @unsafe +export function __unpin(ptr: usize): void { + // nop +} + +// @ts-ignore: decorator +@global @unsafe +function __visit(ptr: usize, cookie: u32): void { // eslint-disable-line @typescript-eslint/no-unused-vars + // nop +} + +// @ts-ignore: decorator +@global @unsafe +export function __collect(): void { + // nop +} +`,"rt/tcms":`import { BLOCK, BLOCK_OVERHEAD, OBJECT_OVERHEAD, OBJECT_MAXSIZE, TOTAL_OVERHEAD, DEBUG, TRACE, RTRACE } from "./common"; +import { onvisit, oncollect } from "./rtrace"; +import { E_ALLOCATION_TOO_LARGE, E_ALREADY_PINNED, E_NOT_PINNED } from "../util/error"; + +// === TCMS: A Two-Color Mark & Sweep garbage collector === + +// \u2552\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2564\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 Colors \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2555 +// \u2502 Color \u2502 Meaning \u2502 +// \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524 +// \u2502 WHITE* \u2502 Unreachable \u2502 +// \u2502 BLACK* \u2502 Reachable \u2502 +// \u2502 TRANSPARENT \u2502 Manually pinned (always reachable) \u2502 +// \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 +// * flipped between cycles + +// @ts-ignore: decorator +@lazy let white = 0; +// @ts-ignore: decorator +@inline const transparent = 3; +// @ts-ignore: decorator +@inline const COLOR_MASK = 3; + +/** Size in memory of all objects currently managed by the GC. */ +// @ts-ignore: decorator +@lazy let total: usize = 0; + +// @ts-ignore: decorator +@lazy let fromSpace = initLazy(changetype(memory.data(offsetof()))); +// @ts-ignore: decorator +@lazy let toSpace = initLazy(changetype(memory.data(offsetof()))); +// @ts-ignore: decorator +@lazy let pinSpace = initLazy(changetype(memory.data(offsetof()))); + +function initLazy(space: Object): Object { + space.nextWithColor = changetype(space); + space.prev = space; + return space; +} + +/** Visit cookie indicating scanning of an object. */ +// @ts-ignore: decorator +@inline const VISIT_SCAN = 0; + +// \u2552\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 Managed object layout (32-bit) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2555 +// 3 2 1 +// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 bits +// \u251C\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2524 +// \u2502 Memory manager block \u2502 +// \u255E\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2564\u2550\u2550\u2550\u2561 +// \u2502 next \u2502 C \u2502 = nextWithColor +// \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2524 +// \u2502 prev \u2502 +// \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524 +// \u2502 rtId \u2502 +// \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524 +// \u2502 rtSize \u2502 +// \u255E>ptr\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2561 +// \u2502 ... \u2502 +// C: color + +/** Represents a managed object in memory, consisting of a header followed by the object's data. */ +@unmanaged class Object extends BLOCK { + /** Pointer to the next object with color flags stored in the alignment bits. */ + nextWithColor: usize; // *u32 + /** Pointer to the previous object. */ + prev: Object; // *u32 + /** Runtime id. */ + rtId: u32; + /** Runtime size. */ + rtSize: u32; + + /** Gets the pointer to the next object. */ + get next(): Object { + return changetype(this.nextWithColor & ~COLOR_MASK); + } + + /** Sets the pointer to the next object. */ + set next(obj: Object) { + this.nextWithColor = changetype(obj) | (this.nextWithColor & COLOR_MASK); + } + + /** Gets this object's color. */ + get color(): i32 { + return i32(this.nextWithColor & COLOR_MASK); + } + + /** Sets this object's color. */ + set color(color: i32) { + this.nextWithColor = (this.nextWithColor & ~COLOR_MASK) | color; + } + + /** Gets the size of this object in memory. */ + get size(): usize { + return BLOCK_OVERHEAD + (this.mmInfo & ~3); + } + + /** Unlinks this object from its list. */ + unlink(): void { + let next = this.next; + if (next == null) { + if (DEBUG) assert(this.prev == null && changetype(this) < __heap_base); + return; // static data not yet linked + } + let prev = this.prev; + if (DEBUG) assert(prev); + next.prev = prev; + prev.next = next; + } + + /** Links this object to the specified list, with the given color. */ + linkTo(list: Object, withColor: i32): void { + let prev = list.prev; + this.nextWithColor = changetype(list) | withColor; + this.prev = prev; + prev.next = this; + list.prev = this; + } +} + +// Garbage collector interface + +// @ts-ignore: decorator +@global @unsafe +export function __new(size: usize, id: i32): usize { + if (size > OBJECT_MAXSIZE) throw new Error(E_ALLOCATION_TOO_LARGE); + let obj = changetype(__alloc(OBJECT_OVERHEAD + size) - BLOCK_OVERHEAD); + obj.rtId = id; + obj.rtSize = size; + obj.linkTo(fromSpace, white); + total += obj.size; + return changetype(obj) + TOTAL_OVERHEAD; +} + +// @ts-ignore: decorator +@global @unsafe +export function __renew(oldPtr: usize, size: usize): usize { + let oldObj = changetype(oldPtr - TOTAL_OVERHEAD); + if (oldPtr < __heap_base) { // move to heap for simplicity + let newPtr = __new(size, oldObj.rtId); + memory.copy(newPtr, oldPtr, min(size, oldObj.rtSize)); + return newPtr; + } + if (size > OBJECT_MAXSIZE) throw new Error(E_ALLOCATION_TOO_LARGE); + total -= oldObj.size; + let newPtr = __realloc(oldPtr - OBJECT_OVERHEAD, OBJECT_OVERHEAD + size) + OBJECT_OVERHEAD; + let newObj = changetype(newPtr - TOTAL_OVERHEAD); + newObj.rtSize = size; + + // Replace with new object + newObj.next.prev = newObj; + newObj.prev.next = newObj; + + total += newObj.size; + return newPtr; +} + +// @ts-ignore: decorator +@global @unsafe +export function __link(parentPtr: usize, childPtr: usize, expectMultiple: bool): void { + // nop +} + +// @ts-ignore: decorator +@global @unsafe +export function __visit(ptr: usize, cookie: i32): void { + if (!ptr) return; + let obj = changetype(ptr - TOTAL_OVERHEAD); + if (RTRACE) if (!onvisit(obj)) return; + if (obj.color == white) { + obj.unlink(); // from fromSpace + obj.linkTo(toSpace, i32(!white)); + } +} + +// @ts-ignore: decorator +@global @unsafe +export function __pin(ptr: usize): usize { + if (ptr) { + let obj = changetype(ptr - TOTAL_OVERHEAD); + if (obj.color == transparent) { + throw new Error(E_ALREADY_PINNED); + } + obj.unlink(); // from fromSpace + obj.linkTo(pinSpace, transparent); + } + return ptr; +} + +// @ts-ignore: decorator +@global @unsafe +export function __unpin(ptr: usize): void { + if (!ptr) return; + let obj = changetype(ptr - TOTAL_OVERHEAD); + if (obj.color != transparent) { + throw new Error(E_NOT_PINNED); + } + obj.unlink(); // from pinSpace + obj.linkTo(fromSpace, white); +} + +// @ts-ignore: decorator +@global @unsafe +export function __collect(): void { + if (TRACE) trace("GC at", 1, total); + + // Mark roots (add to toSpace) + __visit_globals(VISIT_SCAN); + + // Mark direct members of pinned objects (add to toSpace) + let pn = pinSpace; + let iter = pn.next; + while (iter != pn) { + if (DEBUG) assert(iter.color == transparent); + __visit_members(changetype(iter) + TOTAL_OVERHEAD, VISIT_SCAN); + iter = iter.next; + } + + // Mark what's reachable from toSpace + let black = i32(!white); + let to = toSpace; + iter = to.next; + while (iter != to) { + if (DEBUG) assert(iter.color == black); + __visit_members(changetype(iter) + TOTAL_OVERHEAD, VISIT_SCAN); + iter = iter.next; + } + + // Sweep what's left in fromSpace + let from = fromSpace; + iter = from.next; + while (iter != from) { + if (DEBUG) assert(iter.color == white); + let newNext = iter.next; + if (changetype(iter) < __heap_base) { + iter.nextWithColor = 0; // may become linked again + iter.prev = changetype(0); + } else { + total -= iter.size; + if (isDefined(__finalize)) __finalize(changetype(iter) + TOTAL_OVERHEAD); + __free(changetype(iter) + BLOCK_OVERHEAD); + } + iter = newNext; + } + from.nextWithColor = changetype(from); + from.prev = from; + + // Flip spaces and colors + fromSpace = to; + toSpace = from; + white = black; + + if (TRACE) trace("GC done at", 1, total); + if (RTRACE) oncollect(total); +} +`,"rt/tlsf":`import { AL_BITS, AL_SIZE, AL_MASK, DEBUG, BLOCK, BLOCK_OVERHEAD, BLOCK_MAXSIZE } from "./common"; +import { oninit, onalloc, onresize, onmove, onfree } from "./rtrace"; +import { E_ALLOCATION_TOO_LARGE } from "../util/error"; + +// === The TLSF (Two-Level Segregate Fit) memory allocator === +// see: http://www.gii.upv.es/tlsf/ + +// - \`ffs(x)\` is equivalent to \`ctz(x)\` with x != 0 +// - \`fls(x)\` is equivalent to \`sizeof(x) * 8 - clz(x) - 1\` + +// \u2552\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 Block size interpretation (32-bit) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2555 +// 3 2 1 +// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 bits +// \u251C\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u253C\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u256B\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2524 +// \u2502 | FL \u2502 SB = SL + AL \u2502 \u25C4\u2500 usize +// \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2568\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 +// FL: first level, SL: second level, AL: alignment, SB: small block + +// @ts-ignore: decorator +@inline const SL_BITS: u32 = 4; +// @ts-ignore: decorator +@inline const SL_SIZE: u32 = 1 << SL_BITS; + +// @ts-ignore: decorator +@inline const SB_BITS: u32 = SL_BITS + AL_BITS; +// @ts-ignore: decorator +@inline const SB_SIZE: u32 = 1 << SB_BITS; + +// @ts-ignore: decorator +@inline const FL_BITS: u32 = 31 - SB_BITS; + +// [00]: < 256B (SB) [12]: < 1M +// [01]: < 512B [13]: < 2M +// [02]: < 1K [14]: < 4M +// [03]: < 2K [15]: < 8M +// [04]: < 4K [16]: < 16M +// [05]: < 8K [17]: < 32M +// [06]: < 16K [18]: < 64M +// [07]: < 32K [19]: < 128M +// [08]: < 64K [20]: < 256M +// [09]: < 128K [21]: < 512M +// [10]: < 256K [22]: <= 1G - OVERHEAD +// [11]: < 512K +// VMs limit to 2GB total (currently), making one 1G block max (or three 512M etc.) due to block overhead + +// Tags stored in otherwise unused alignment bits + +// @ts-ignore: decorator +@inline const FREE: usize = 1 << 0; +// @ts-ignore: decorator +@inline const LEFTFREE: usize = 1 << 1; +// @ts-ignore: decorator +@inline const TAGS_MASK: usize = FREE | LEFTFREE; // <= AL_MASK + +// \u2552\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 Block layout (32-bit) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2555 +// 3 2 1 +// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 bits +// \u251C\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u253C\u2500\u253C\u2500\u2524 \u2510 +// \u2502 size \u2502L\u2502F\u2502 \u25C4\u2500\u2510 info overhead +// \u255E>ptr\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2567\u2550\u2567\u2550\u2561 \u2502 \u2518 +// \u2502 if free: \u25C4 prev \u2502 \u25C4\u2500\u2524 usize +// \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524 \u2502 +// \u2502 if free: next \u25BA \u2502 \u25C4\u2500\u2524 +// \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524 \u2502 +// \u2502 ... \u2502 \u2502 >= 0 +// \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524 \u2502 +// \u2502 if free: back \u25B2 \u2502 \u25C4\u2500\u2518 +// \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 >= MIN SIZE +// F: FREE, L: LEFTFREE +@unmanaged export class Block extends BLOCK { + + /** Previous free block, if any. Only valid if free, otherwise part of payload. */ + prev: Block | null; + /** Next free block, if any. Only valid if free, otherwise part of payload. */ + next: Block | null; + + // If the block is free, there is a 'back'reference at its end pointing at its start. +} + +// Block constants. A block must have a minimum size of three pointers so it can hold \`prev\`, +// \`next\` and \`back\` if free. + +// @ts-ignore: decorator +@inline const BLOCK_MINSIZE: usize = ((3 * sizeof() + BLOCK_OVERHEAD + AL_MASK) & ~AL_MASK) - BLOCK_OVERHEAD; // prev + next + back +// @ts-ignore: decorator +// @inline const BLOCK_MAXSIZE: usize = 1 << (FL_BITS + SB_BITS - 1); // exclusive, lives in common.ts + +/** Gets the left block of a block. Only valid if the left block is free. */ +// @ts-ignore: decorator +@inline function GETFREELEFT(block: Block): Block { + return load(changetype(block) - sizeof()); +} + +/** Gets the right block of a block by advancing to the right by its size. */ +// @ts-ignore: decorator +@inline function GETRIGHT(block: Block): Block { + return changetype(changetype(block) + BLOCK_OVERHEAD + (block.mmInfo & ~TAGS_MASK)); +} + +// \u2552\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 Root layout (32-bit) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2555 +// 3 2 1 +// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 bits +// \u251C\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2524 \u2510 +// \u2502 0 | flMap S\u2502 \u25C4\u2500\u2500\u2500\u2500\u2510 +// \u255E\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2561 \u2502 +// \u2502 slMap[0] S \u2502 \u25C4\u2500\u2510 \u2502 +// \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524 \u2502 \u2502 +// \u2502 slMap[1] \u2502 \u25C4\u2500\u2524 \u2502 +// \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524 u32 \u2502 +// \u2502 slMap[22] \u2502 \u25C4\u2500\u2518 \u2502 +// \u255E\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2561 usize +// \u2502 head[0] \u2502 \u25C4\u2500\u2500\u2500\u2500\u2524 +// \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524 \u2502 +// \u2502 ... \u2502 \u25C4\u2500\u2500\u2500\u2500\u2524 +// \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524 \u2502 +// \u2502 head[367] \u2502 \u25C4\u2500\u2500\u2500\u2500\u2524 +// \u255E\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2561 \u2502 +// \u2502 tail \u2502 \u25C4\u2500\u2500\u2500\u2500\u2518 +// \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 SIZE \u2518 +// S: Small blocks map +@unmanaged class Root { + /** First level bitmap. */ + flMap: usize; +} + +// Root constants. Where stuff is stored inside of the root structure. + +// @ts-ignore: decorator +@inline const SL_START: usize = sizeof(); +// @ts-ignore: decorator +@inline const SL_END: usize = SL_START + (FL_BITS << alignof()); +// @ts-ignore: decorator +@inline const HL_START: usize = (SL_END + AL_MASK) & ~AL_MASK; +// @ts-ignore: decorator +@inline const HL_END: usize = HL_START + FL_BITS * SL_SIZE * sizeof(); +// @ts-ignore: decorator +@inline const ROOT_SIZE: usize = HL_END + sizeof(); + +// @ts-ignore: decorator +@lazy export let ROOT: Root = changetype(0); // unsafe initializion below + +/** Gets the second level map of the specified first level. */ +// @ts-ignore: decorator +@inline function GETSL(root: Root, fl: usize): u32 { + return load( + changetype(root) + (fl << alignof()), + SL_START + ); +} + +/** Sets the second level map of the specified first level. */ +// @ts-ignore: decorator +@inline function SETSL(root: Root, fl: usize, slMap: u32): void { + store( + changetype(root) + (fl << alignof()), + slMap, + SL_START + ); +} + +/** Gets the head of the free list for the specified combination of first and second level. */ +// @ts-ignore: decorator +@inline function GETHEAD(root: Root, fl: usize, sl: u32): Block | null { + return load( + changetype(root) + (((fl << SL_BITS) + sl) << alignof()), + HL_START + ); +} + +/** Sets the head of the free list for the specified combination of first and second level. */ +// @ts-ignore: decorator +@inline function SETHEAD(root: Root, fl: usize, sl: u32, head: Block | null): void { + store( + changetype(root) + (((fl << SL_BITS) + sl) << alignof()), + head, + HL_START + ); +} + +/** Gets the tail block.. */ +// @ts-ignore: decorator +@inline function GETTAIL(root: Root): Block { + return load( + changetype(root), + HL_END + ); +} + +/** Sets the tail block. */ +// @ts-ignore: decorator +@inline function SETTAIL(root: Root, tail: Block): void { + store( + changetype(root), + tail, + HL_END + ); +} + +/** Inserts a previously used block back into the free list. */ +function insertBlock(root: Root, block: Block): void { + if (DEBUG) assert(block); // cannot be null + let blockInfo = block.mmInfo; + if (DEBUG) assert(blockInfo & FREE); // must be free + + let right = GETRIGHT(block); + let rightInfo = right.mmInfo; + + // merge with right block if also free + if (rightInfo & FREE) { + removeBlock(root, right); + block.mmInfo = blockInfo = blockInfo + BLOCK_OVERHEAD + (rightInfo & ~TAGS_MASK); // keep block tags + right = GETRIGHT(block); + rightInfo = right.mmInfo; + // 'back' is set below + } + + // merge with left block if also free + if (blockInfo & LEFTFREE) { + let left = GETFREELEFT(block); + let leftInfo = left.mmInfo; + if (DEBUG) assert(leftInfo & FREE); // must be free according to right tags + removeBlock(root, left); + block = left; + block.mmInfo = blockInfo = leftInfo + BLOCK_OVERHEAD + (blockInfo & ~TAGS_MASK); // keep left tags + // 'back' is set below + } + + right.mmInfo = rightInfo | LEFTFREE; + // reference to right is no longer used now, hence rightInfo is not synced + + // we now know the size of the block + let size = blockInfo & ~TAGS_MASK; + if (DEBUG) assert(size >= BLOCK_MINSIZE); // must be a valid size + if (DEBUG) assert(changetype(block) + BLOCK_OVERHEAD + size == changetype(right)); // must match + + // set 'back' to itself at the end of block + store(changetype(right) - sizeof(), block); + + // mapping_insert + let fl: usize, sl: u32; + if (size < SB_SIZE) { + fl = 0; + sl = (size >> AL_BITS); + } else { + const inv: usize = sizeof() * 8 - 1; + let boundedSize = min(size, BLOCK_MAXSIZE); + fl = inv - clz(boundedSize); + sl = ((boundedSize >> (fl - SL_BITS)) ^ (1 << SL_BITS)); + fl -= SB_BITS - 1; + } + if (DEBUG) assert(fl < FL_BITS && sl < SL_SIZE); // fl/sl out of range + + // perform insertion + let head = GETHEAD(root, fl, sl); + block.prev = null; + block.next = head; + if (head) head.prev = block; + SETHEAD(root, fl, sl, block); + + // update first and second level maps + root.flMap |= (1 << fl); + SETSL(root, fl, GETSL(root, fl) | (1 << sl)); +} + +/** Removes a free block from internal lists. */ +function removeBlock(root: Root, block: Block): void { + let blockInfo = block.mmInfo; + if (DEBUG) assert(blockInfo & FREE); // must be free + let size = blockInfo & ~TAGS_MASK; + if (DEBUG) assert(size >= BLOCK_MINSIZE); // must be valid + + // mapping_insert + let fl: usize, sl: u32; + if (size < SB_SIZE) { + fl = 0; + sl = (size >> AL_BITS); + } else { + const inv: usize = sizeof() * 8 - 1; + let boundedSize = min(size, BLOCK_MAXSIZE); + fl = inv - clz(boundedSize); + sl = ((boundedSize >> (fl - SL_BITS)) ^ (1 << SL_BITS)); + fl -= SB_BITS - 1; + } + if (DEBUG) assert(fl < FL_BITS && sl < SL_SIZE); // fl/sl out of range + + // link previous and next free block + let prev = block.prev; + let next = block.next; + if (prev) prev.next = next; + if (next) next.prev = prev; + + // update head if we are removing it + if (block == GETHEAD(root, fl, sl)) { + SETHEAD(root, fl, sl, next); + + // clear second level map if head is empty now + if (!next) { + let slMap = GETSL(root, fl); + SETSL(root, fl, slMap &= ~(1 << sl)); + + // clear first level map if second level is empty now + if (!slMap) root.flMap &= ~(1 << fl); + } + } + // note: does not alter left/back because it is likely that splitting + // is performed afterwards, invalidating those changes. so, the caller + // must perform those updates. +} + +function roundSize(size: usize): usize { + const halfMaxSize = BLOCK_MAXSIZE >> 1; // don't round last fl + const inv: usize = sizeof() * 8 - 1; + const invRound = inv - SL_BITS; + return size < halfMaxSize + ? size + (1 << (invRound - clz(size))) - 1 + : size; +} + +/** Searches for a free block of at least the specified size. */ +function searchBlock(root: Root, size: usize): Block | null { + // size was already asserted by caller + + // mapping_search + let fl: usize, sl: u32; + if (size < SB_SIZE) { + fl = 0; + sl = (size >> AL_BITS); + } else { + const requestSize = roundSize(size); + fl = sizeof() * 8 - 1 - clz(requestSize); + sl = ((requestSize >> (fl - SL_BITS)) ^ (1 << SL_BITS)); + fl -= SB_BITS - 1; + } + if (DEBUG) assert(fl < FL_BITS && sl < SL_SIZE); // fl/sl out of range + + // search second level + let slMap = GETSL(root, fl) & (~0 << sl); + let head: Block | null = null; + if (!slMap) { + // search next larger first level + let flMap = root.flMap & (~0 << (fl + 1)); + if (!flMap) { + head = null; + } else { + fl = ctz(flMap); + slMap = GETSL(root, fl); + if (DEBUG) assert(slMap); // can't be zero if fl points here + head = GETHEAD(root, fl, ctz(slMap)); + } + } else { + head = GETHEAD(root, fl, ctz(slMap)); + } + return head; +} + +/** Prepares the specified block before (re-)use, possibly splitting it. */ +function prepareBlock(root: Root, block: Block, size: usize): void { + // size was already asserted by caller + + let blockInfo = block.mmInfo; + if (DEBUG) assert(!((size + BLOCK_OVERHEAD) & AL_MASK)); // size must be aligned so the new block is + + // split if the block can hold another MINSIZE block incl. overhead + let remaining = (blockInfo & ~TAGS_MASK) - size; + if (remaining >= BLOCK_OVERHEAD + BLOCK_MINSIZE) { + block.mmInfo = size | (blockInfo & LEFTFREE); // also discards FREE + + let spare = changetype(changetype(block) + BLOCK_OVERHEAD + size); + spare.mmInfo = (remaining - BLOCK_OVERHEAD) | FREE; // not LEFTFREE + insertBlock(root, spare); // also sets 'back' + + // otherwise tag block as no longer FREE and right as no longer LEFTFREE + } else { + block.mmInfo = blockInfo & ~FREE; + GETRIGHT(block).mmInfo &= ~LEFTFREE; + } +} + +/** Adds more memory to the pool. */ +function addMemory(root: Root, start: usize, endU64: u64): bool { + let end = endU64; + if (DEBUG) assert(start <= endU64); // must be valid + start = ((start + BLOCK_OVERHEAD + AL_MASK) & ~AL_MASK) - BLOCK_OVERHEAD; + end &= ~AL_MASK; + + let tail = GETTAIL(root); + let tailInfo: usize = 0; + if (tail) { // more memory + if (DEBUG) assert(start >= changetype(tail) + BLOCK_OVERHEAD); + + // merge with current tail if adjacent + const offsetToTail = AL_SIZE; + if (start - offsetToTail == changetype(tail)) { + start -= offsetToTail; + tailInfo = tail.mmInfo; + } else { + // We don't do this, but a user might \`memory.grow\` manually + // leading to non-adjacent pages managed by TLSF. + } + + } else if (DEBUG) { // first memory + assert(start >= changetype(root) + ROOT_SIZE); // starts after root + } + + // check if size is large enough for a free block and the tail block + let size = end - start; + if (size < BLOCK_OVERHEAD + BLOCK_MINSIZE + BLOCK_OVERHEAD) { + return false; + } + + // left size is total minus its own and the zero-length tail's header + let leftSize = size - 2 * BLOCK_OVERHEAD; + let left = changetype(start); + left.mmInfo = leftSize | FREE | (tailInfo & LEFTFREE); + left.prev = null; + left.next = null; + + // tail is a zero-length used block + tail = changetype(start + BLOCK_OVERHEAD + leftSize); + tail.mmInfo = 0 | LEFTFREE; + SETTAIL(root, tail); + + insertBlock(root, left); // also merges with free left before tail / sets 'back' + + return true; +} + +/** Grows memory to fit at least another block of the specified size. */ +function growMemory(root: Root, size: usize): void { + if (ASC_LOW_MEMORY_LIMIT) { + unreachable(); + return; + } + // Here, both rounding performed in searchBlock ... + if (size >= SB_SIZE) { + size = roundSize(size); + } + // and additional BLOCK_OVERHEAD must be taken into account. If we are going + // to merge with the tail block, that's one time, otherwise it's two times. + let pagesBefore = memory.size(); + size += BLOCK_OVERHEAD << usize((pagesBefore << 16) - BLOCK_OVERHEAD != changetype(GETTAIL(root))); + let pagesNeeded = (((size + 0xffff) & ~0xffff) >>> 16); + let pagesWanted = max(pagesBefore, pagesNeeded); // double memory + if (memory.grow(pagesWanted) < 0) { + if (memory.grow(pagesNeeded) < 0) unreachable(); + } + let pagesAfter = memory.size(); + addMemory(root, pagesBefore << 16, pagesAfter << 16); +} + +/** Computes the size (excl. header) of a block. */ +function computeSize(size: usize): usize { + // Size must be large enough and aligned minus preceeding overhead + return size <= BLOCK_MINSIZE + ? BLOCK_MINSIZE + : ((size + BLOCK_OVERHEAD + AL_MASK) & ~AL_MASK) - BLOCK_OVERHEAD; +} + +/** Prepares and checks an allocation size. */ +function prepareSize(size: usize): usize { + if (size > BLOCK_MAXSIZE) throw new Error(E_ALLOCATION_TOO_LARGE); + return computeSize(size); +} + +/** Initializes the root structure. */ +function initialize(): void { + if (isDefined(ASC_RTRACE)) oninit(__heap_base); + let rootOffset = (__heap_base + AL_MASK) & ~AL_MASK; + let pagesBefore = memory.size(); + let pagesNeeded = ((((rootOffset + ROOT_SIZE) + 0xffff) & ~0xffff) >>> 16); + if (pagesNeeded > pagesBefore && memory.grow(pagesNeeded - pagesBefore) < 0) unreachable(); + let root = changetype(rootOffset); + root.flMap = 0; + SETTAIL(root, changetype(0)); + for (let fl: usize = 0; fl < FL_BITS; ++fl) { + SETSL(root, fl, 0); + for (let sl: u32 = 0; sl < SL_SIZE; ++sl) { + SETHEAD(root, fl, sl, null); + } + } + let memStart = rootOffset + ROOT_SIZE; + if (ASC_LOW_MEMORY_LIMIT) { + const memEnd = ASC_LOW_MEMORY_LIMIT & ~AL_MASK; + if (memStart <= memEnd) addMemory(root, memStart, memEnd); + else unreachable(); // low memory limit already exceeded + } else { + addMemory(root, memStart, memory.size() << 16); + } + ROOT = root; +} + +/** Allocates a block of the specified size. */ +export function allocateBlock(root: Root, size: usize): Block { + let payloadSize = prepareSize(size); + let block = searchBlock(root, payloadSize); + if (!block) { + growMemory(root, payloadSize); + block = changetype(searchBlock(root, payloadSize)); + if (DEBUG) assert(block); // must be found now + } + if (DEBUG) assert((block.mmInfo & ~TAGS_MASK) >= payloadSize); // must fit + removeBlock(root, block); + prepareBlock(root, block, payloadSize); + if (isDefined(ASC_RTRACE)) onalloc(block); + return block; +} + +/** Reallocates a block to the specified size. */ +export function reallocateBlock(root: Root, block: Block, size: usize): Block { + let payloadSize = prepareSize(size); + let blockInfo = block.mmInfo; + let blockSize = blockInfo & ~TAGS_MASK; + + // possibly split and update runtime size if it still fits + if (payloadSize <= blockSize) { + prepareBlock(root, block, payloadSize); + if (isDefined(ASC_RTRACE)) { + if (payloadSize != blockSize) onresize(block, BLOCK_OVERHEAD + blockSize); + } + return block; + } + + // merge with right free block if merger is large enough + let right = GETRIGHT(block); + let rightInfo = right.mmInfo; + if (rightInfo & FREE) { + let mergeSize = blockSize + BLOCK_OVERHEAD + (rightInfo & ~TAGS_MASK); + if (mergeSize >= payloadSize) { + removeBlock(root, right); + block.mmInfo = (blockInfo & TAGS_MASK) | mergeSize; + prepareBlock(root, block, payloadSize); + if (isDefined(ASC_RTRACE)) onresize(block, BLOCK_OVERHEAD + blockSize); + return block; + } + } + + // otherwise move the block + return moveBlock(root, block, size); +} + +/** Moves a block to a new one of the specified size. */ +function moveBlock(root: Root, block: Block, newSize: usize): Block { + let newBlock = allocateBlock(root, newSize); + memory.copy(changetype(newBlock) + BLOCK_OVERHEAD, changetype(block) + BLOCK_OVERHEAD, block.mmInfo & ~TAGS_MASK); + if (changetype(block) >= __heap_base) { + if (isDefined(ASC_RTRACE)) onmove(block, newBlock); + freeBlock(root, block); + } + return newBlock; +} + +/** Frees a block. */ +export function freeBlock(root: Root, block: Block): void { + if (isDefined(ASC_RTRACE)) onfree(block); + block.mmInfo = block.mmInfo | FREE; + insertBlock(root, block); +} + +/** Checks that a used block is valid to be freed or reallocated. */ +function checkUsedBlock(ptr: usize): Block { + let block = changetype(ptr - BLOCK_OVERHEAD); + assert( + ptr != 0 && !(ptr & AL_MASK) && // must exist and be aligned + !(block.mmInfo & FREE) // must be used + ); + return block; +} + +// @ts-ignore: decorator +@global @unsafe +export function __alloc(size: usize): usize { + if (!ROOT) initialize(); + return changetype(allocateBlock(ROOT, size)) + BLOCK_OVERHEAD; +} + +// @ts-ignore: decorator +@global @unsafe +export function __realloc(ptr: usize, size: usize): usize { + if (!ROOT) initialize(); + return (ptr < __heap_base + ? changetype(moveBlock(ROOT, checkUsedBlock(ptr), size)) + : changetype(reallocateBlock(ROOT, checkUsedBlock(ptr), size)) + ) + BLOCK_OVERHEAD; +} + +// @ts-ignore: decorator +@global @unsafe +export function __free(ptr: usize): void { + if (ptr < __heap_base) return; + if (!ROOT) initialize(); + freeBlock(ROOT, checkUsedBlock(ptr)); +} +`,set:`/// + +import { HASH } from "./util/hash"; + +// A deterministic hash set based on CloseTable from https://github.com/jorendorff/dht + +// @ts-ignore: decorator +@inline const INITIAL_CAPACITY = 4; + +// @ts-ignore: decorator +@inline const FILL_FACTOR_N = 8; + +// @ts-ignore: decorator +@inline const FILL_FACTOR_D = 3; + +// @ts-ignore: decorator +@inline const FREE_FACTOR_N = 3; + +// @ts-ignore: decorator +@inline const FREE_FACTOR_D = 4; + +/** Structure of a set entry. */ +@unmanaged class SetEntry { + key: K; + taggedNext: usize; // LSB=1 indicates EMPTY +} + +/** Empty bit. */ +// @ts-ignore: decorator +@inline const EMPTY: usize = 1 << 0; + +/** Size of a bucket. */ +// @ts-ignore: decorator +@inline const BUCKET_SIZE = sizeof(); + +/** Computes the alignment of an entry. */ +// @ts-ignore: decorator +@inline +function ENTRY_ALIGN(): usize { + // can align to 4 instead of 8 if 32-bit and K is <= 32-bits + const align = (sizeof() > sizeof() ? sizeof() : sizeof()) - 1; + return align; +} + +/** Computes the aligned size of an entry. */ +// @ts-ignore: decorator +@inline +function ENTRY_SIZE(): usize { + const align = ENTRY_ALIGN(); + const size = (offsetof>() + align) & ~align; + return size; +} + +export class Set { + + // buckets referencing their respective first entry, usize[bucketsMask + 1] + private buckets: ArrayBuffer = new ArrayBuffer(INITIAL_CAPACITY * BUCKET_SIZE); + private bucketsMask: u32 = INITIAL_CAPACITY - 1; + + // entries in insertion order, SetEntry[entriesCapacity] + private entries: ArrayBuffer = new ArrayBuffer(INITIAL_CAPACITY * ENTRY_SIZE()); + private entriesCapacity: i32 = INITIAL_CAPACITY; + private entriesOffset: i32 = 0; + private entriesCount: i32 = 0; + + constructor() { + /* nop */ + } + + get size(): i32 { + return this.entriesCount; + } + + clear(): void { + this.buckets = new ArrayBuffer(INITIAL_CAPACITY * BUCKET_SIZE); + this.bucketsMask = INITIAL_CAPACITY - 1; + this.entries = new ArrayBuffer(INITIAL_CAPACITY * ENTRY_SIZE()); + this.entriesCapacity = INITIAL_CAPACITY; + this.entriesOffset = 0; + this.entriesCount = 0; + } + + private find(key: T, hashCode: u32): SetEntry | null { + let entry = load>( // unmanaged! + changetype(this.buckets) + (hashCode & this.bucketsMask) * BUCKET_SIZE + ); + while (entry) { + let taggedNext = entry.taggedNext; + if (!(taggedNext & EMPTY) && entry.key == key) return entry; + entry = changetype>(taggedNext & ~EMPTY); + } + return null; + } + + @operator("[]") + has(key: T): bool { + return this.find(key, HASH(key)) != null; + } + + add(key: T): this { + let hashCode = HASH(key); + let entry = this.find(key, hashCode); // unmanaged! + if (!entry) { + // check if rehashing is necessary + if (this.entriesOffset == this.entriesCapacity) { + this.rehash( + this.entriesCount < this.entriesCapacity * FREE_FACTOR_N / FREE_FACTOR_D + ? this.bucketsMask // just rehash if 1/4+ entries are empty + : (this.bucketsMask << 1) | 1 // grow capacity to next 2^N + ); + } + // append new entry + entry = changetype>(changetype(this.entries) + (this.entriesOffset++) * ENTRY_SIZE()); + entry.key = key; + if (isManaged()) { + __link(changetype(this), changetype(key), true); + } + ++this.entriesCount; + // link with previous entry in bucket + let bucketPtrBase = changetype(this.buckets) + (hashCode & this.bucketsMask) * BUCKET_SIZE; + entry.taggedNext = load(bucketPtrBase); + store(bucketPtrBase, changetype(entry)); + } + return this; + } + + @operator("[]=") + private __set(key: T, value: bool): void { + if (value) this.add(key); + else this.delete(key); + } + + delete(key: T): bool { + let entry = this.find(key, HASH(key)); // unmanaged! + if (!entry) return false; + entry.taggedNext |= EMPTY; + --this.entriesCount; + // check if rehashing is appropriate + let halfBucketsMask = this.bucketsMask >> 1; + if ( + halfBucketsMask + 1 >= max(INITIAL_CAPACITY, this.entriesCount) && + this.entriesCount < this.entriesCapacity * FREE_FACTOR_N / FREE_FACTOR_D + ) this.rehash(halfBucketsMask); + return true; + } + + private rehash(newBucketsMask: u32): void { + let newBucketsCapacity = (newBucketsMask + 1); + let newBuckets = new ArrayBuffer(newBucketsCapacity * BUCKET_SIZE); + let newEntriesCapacity = newBucketsCapacity * FILL_FACTOR_N / FILL_FACTOR_D; + let newEntries = new ArrayBuffer(newEntriesCapacity * ENTRY_SIZE()); + + // copy old entries to new entries + let oldPtr = changetype(this.entries); + let oldEnd = oldPtr + this.entriesOffset * ENTRY_SIZE(); + let newPtr = changetype(newEntries); + while (oldPtr != oldEnd) { + let oldEntry = changetype>(oldPtr); // unmanaged! + if (!(oldEntry.taggedNext & EMPTY)) { + let newEntry = changetype>(newPtr); // unmanaged! + let oldEntryKey = oldEntry.key; + newEntry.key = oldEntryKey; + let newBucketIndex = HASH(oldEntryKey) & newBucketsMask; + let newBucketPtrBase = changetype(newBuckets) + newBucketIndex * BUCKET_SIZE; + newEntry.taggedNext = load(newBucketPtrBase); + store(newBucketPtrBase, newPtr); + newPtr += ENTRY_SIZE(); + } + oldPtr += ENTRY_SIZE(); + } + + this.buckets = newBuckets; + this.bucketsMask = newBucketsMask; + this.entries = newEntries; + this.entriesCapacity = newEntriesCapacity; + this.entriesOffset = this.entriesCount; + } + + values(): T[] { + // FIXME: this is preliminary, needs iterators/closures + let start = changetype(this.entries); + let size = this.entriesOffset; + let values = new Array(size); + let length = 0; + for (let i = 0; i < size; ++i) { + let entry = changetype>(start + i * ENTRY_SIZE()); + if (!(entry.taggedNext & EMPTY)) { + unchecked(values[length++] = entry.key); + } + } + values.length = length; + return values; + } + + toString(): string { + return "[object Set]"; + } + + // RT integration + + @unsafe private __visit(cookie: u32): void { + __visit(changetype(this.buckets), cookie); + let entries = changetype(this.entries); + if (isManaged()) { + let cur = entries; + let end = cur + this.entriesOffset * ENTRY_SIZE(); + while (cur < end) { + let entry = changetype>(cur); + if (!(entry.taggedNext & EMPTY)) { + let val = changetype(entry.key); + if (isNullable()) { + if (val) __visit(val, cookie); + } else __visit(val, cookie); + } + cur += ENTRY_SIZE(); + } + } + __visit(entries, cookie); + } +} +`,"shared/feature":`// This file is shared with the compiler and must remain portable + +/** Indicates specific features to activate. */ +export const enum Feature { + /** No additional features. */ + None = 0, + /** Sign extension operations. */ + SignExtension = 1 << 0, // see: https://github.com/WebAssembly/sign-extension-ops + /** Mutable global imports and exports. */ + MutableGlobals = 1 << 1, // see: https://github.com/WebAssembly/mutable-global + /** Non-trapping float to integer operations. */ + NontrappingF2I = 1 << 2, // see: https://github.com/WebAssembly/nontrapping-float-to-int-conversions + /** Bulk memory operations. */ + BulkMemory = 1 << 3, // see: https://github.com/WebAssembly/bulk-memory-operations + /** SIMD types and operations. */ + Simd = 1 << 4, // see: https://github.com/WebAssembly/simd + /** Threading and atomic operations. */ + Threads = 1 << 5, // see: https://github.com/WebAssembly/threads + /** Exception handling operations. */ + ExceptionHandling = 1 << 6, // see: https://github.com/WebAssembly/exception-handling + /** Tail call operations. */ + TailCalls = 1 << 7, // see: https://github.com/WebAssembly/tail-call + /** Reference types. */ + ReferenceTypes = 1 << 8, // see: https://github.com/WebAssembly/reference-types + /** Multi value types. */ + MultiValue = 1 << 9, // see: https://github.com/WebAssembly/multi-value + /** Garbage collection. */ + GC = 1 << 10, // see: https://github.com/WebAssembly/gc + /** Memory64. */ + Memory64 = 1 << 11, // see: https://github.com/WebAssembly/memory64 + /** Relaxed SIMD. */ + RelaxedSimd = 1 << 12, // see: https://github.com/WebAssembly/relaxed-simd + /** Extended const expressions. */ + ExtendedConst = 1 << 13, // see: https://github.com/WebAssembly/extended-const + /** Reference typed strings. */ + Stringref = 1 << 14, // see: https://github.com/WebAssembly/stringref + /** All features. */ + All = (1 << 15) - 1 +} + +/** Gets the name of the specified feature one would specify on the command line. */ +export function featureToString(feature: Feature): string { + switch (feature) { + case Feature.SignExtension: return "sign-extension"; + case Feature.MutableGlobals: return "mutable-globals"; + case Feature.NontrappingF2I: return "nontrapping-f2i"; + case Feature.BulkMemory: return "bulk-memory"; + case Feature.Simd: return "simd"; + case Feature.Threads: return "threads"; + case Feature.ExceptionHandling: return "exception-handling"; + case Feature.TailCalls: return "tail-calls"; + case Feature.ReferenceTypes: return "reference-types"; + case Feature.MultiValue: return "multi-value"; + case Feature.GC: return "gc"; + case Feature.Memory64: return "memory64"; + case Feature.RelaxedSimd: return "relaxed-simd"; + case Feature.ExtendedConst: return "extended-const"; + case Feature.Stringref: return "stringref"; + } + assert(false); + return ""; +} +`,"shared/runtime":`// This file is shared with the compiler and must remain portable + +/** Runtime types. */ +export enum Runtime { + /** Simple bump allocator without GC. */ + Stub = 0, + /** Stop the world semi-automatic GC. */ + Minimal = 1, + /** incremental GC. */ + Incremental = 2, +} +`,"shared/target":`// This file is shared with the compiler and must remain portable + +/** Compilation target. */ +export enum Target { + /** Portable. */ + Js = 0, + /** WebAssembly with 32-bit pointers. */ + Wasm32 = 1, + /** WebAssembly with 64-bit pointers. Experimental and not supported by any runtime yet. */ + Wasm64 = 2, +} +`,"shared/typeinfo":`// This file is shared with the compiler and must remain portable + +// \u2552\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 Typeinfo interpretation \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2555 +// 3 2 1 +// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 bits +// \u251C\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2524 \u25C4\u2500 __rtti_base +// \u2502 count \u2502 +// \u255E\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2561 \u2510 +// \u2502 Typeinfo#flags [id=0] \u2502 id < count +// \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524 +// \u2502 ... \u2502 + +/** Runtime type information data structure. */ +@unmanaged +export class Typeinfo { + /** Flags describing the shape of this class type. */ + flags: TypeinfoFlags = TypeinfoFlags.NONE; +} + +/** Runtime type information flags. */ +export const enum TypeinfoFlags { + /** No specific flags. */ + NONE = 0, + /** Type is an \`ArrayBufferView\`. */ + ARRAYBUFFERVIEW = 1 << 0, + /** Type is an \`Array\`. */ + ARRAY = 1 << 1, + /** Type is a \`StaticArray\`. */ + STATICARRAY = 1 << 2, + /** Type is a \`Set\`. */ + SET = 1 << 3, + /** Type is a \`Map\`. */ + MAP = 1 << 4, + /** Type has no outgoing pointers. */ + POINTERFREE = 1 << 5, + /** Value alignment of 1 byte. */ + VALUE_ALIGN_0 = 1 << 6, + /** Value alignment of 2 bytes. */ + VALUE_ALIGN_1 = 1 << 7, + /** Value alignment of 4 bytes. */ + VALUE_ALIGN_2 = 1 << 8, + /** Value alignment of 8 bytes. */ + VALUE_ALIGN_3 = 1 << 9, + /** Value alignment of 16 bytes. */ + VALUE_ALIGN_4 = 1 << 10, + /** Value is a signed type. */ + VALUE_SIGNED = 1 << 11, + /** Value is a float type. */ + VALUE_FLOAT = 1 << 12, + /** Value type is nullable. */ + VALUE_NULLABLE = 1 << 13, + /** Value type is managed. */ + VALUE_MANAGED = 1 << 14, + /** Key alignment of 1 byte. */ + KEY_ALIGN_0 = 1 << 15, + /** Key alignment of 2 bytes. */ + KEY_ALIGN_1 = 1 << 16, + /** Key alignment of 4 bytes. */ + KEY_ALIGN_2 = 1 << 17, + /** Key alignment of 8 bytes. */ + KEY_ALIGN_3 = 1 << 18, + /** Key alignment of 16 bytes. */ + KEY_ALIGN_4 = 1 << 19, + /** Key is a signed type. */ + KEY_SIGNED = 1 << 20, + /** Key is a float type. */ + KEY_FLOAT = 1 << 21, + /** Key type is nullable. */ + KEY_NULLABLE = 1 << 22, + /** Key type is managed. */ + KEY_MANAGED = 1 << 23 +} +`,staticarray:`/// + +import { OBJECT, BLOCK_MAXSIZE, TOTAL_OVERHEAD } from "./rt/common"; +import { Runtime } from "shared/runtime"; +import { COMPARATOR, SORT } from "./util/sort"; +import { REVERSE, FILL } from "./util/bytes"; +import { idof } from "./builtins"; +import { Array } from "./array"; +import { E_INDEXOUTOFRANGE, E_INVALIDLENGTH, E_HOLEYARRAY } from "./util/error"; +import { joinBooleanArray, joinIntegerArray, joinFloatArray, joinStringArray, joinReferenceArray } from "./util/string"; + +@final +export class StaticArray { + [key: number]: T; + + // Note that the interface of StaticArray instances must be a semantically + // compatible subset of Array in order for syntax highlighting to work + // properly, for instance when creating static arrays from array literals. + // The additionally provided static methods take care of dealing with static + // arrays exclusively, without having to convert to Array first. + + static fromArray(source: Array): StaticArray { + let length = source.length; + let outSize = length << alignof(); + let out = changetype>(__new(outSize, idof>())); + if (isManaged()) { + let sourcePtr = source.dataStart; + for (let i = 0; i < length; ++i) { + let off = i << alignof(); + let ref = load(sourcePtr + off); + store(changetype(out) + off, ref); + __link(changetype(out), ref, true); + } + } else { + memory.copy(changetype(out), source.dataStart, outSize); + } + return out; + } + + /** @deprecated Please use source.concat> instead. */ + static concat(source: StaticArray, other: StaticArray): StaticArray { + return source.concat>(other); + } + + /** @deprecated Please use source.slice> instead. */ + static slice(source: StaticArray, start: i32 = 0, end: i32 = i32.MAX_VALUE): StaticArray { + return source.slice>(start, end); + } + + constructor(length: i32) { + if (length > BLOCK_MAXSIZE >>> alignof()) throw new RangeError(E_INVALIDLENGTH); + let outSize = length << alignof(); + let out = changetype>(__new(outSize, idof>())); + if (ASC_RUNTIME != Runtime.Incremental) { + memory.fill(changetype(out), 0, outSize); + } + return out; + } + + get length(): i32 { + return changetype(changetype(this) - TOTAL_OVERHEAD).rtSize >>> alignof(); + } + + at(index: i32): T { + let len = this.length; + index += select(0, len, index >= 0); + if (index >= len) throw new RangeError(E_INDEXOUTOFRANGE); + let value = load(changetype(this) + (index << alignof())); + if (isReference()) { + if (!isNullable()) { + if (!changetype(value)) throw new Error(E_HOLEYARRAY); + } + } + return value; + } + + @operator("[]") private __get(index: i32): T { + if (index >= this.length) throw new RangeError(E_INDEXOUTOFRANGE); + let value = load(changetype(this) + (index << alignof())); + if (isReference()) { + if (!isNullable()) { + if (!changetype(value)) throw new Error(E_HOLEYARRAY); + } + } + return value; + } + + @unsafe @operator("{}") private __uget(index: i32): T { + return load(changetype(this) + (index << alignof())); + } + + @operator("[]=") private __set(index: i32, value: T): void { + if (index >= this.length) throw new RangeError(E_INDEXOUTOFRANGE); + this.__uset(index, value); + } + + @unsafe @operator("{}=") private __uset(index: i32, value: T): void { + store(changetype(this) + (index << alignof()), value); + if (isManaged()) { + __link(changetype(this), changetype(value), true); + } + } + + fill(value: T, start: i32 = 0, end: i32 = i32.MAX_VALUE): StaticArray { + if (isManaged()) { + FILL(changetype(this), this.length, changetype(value), start, end); + __link(changetype(this), changetype(value), false); + } else { + FILL(changetype(this), this.length, value, start, end); + } + return this; + } + + copyWithin(target: i32, start: i32, end: i32 = i32.MAX_VALUE): StaticArray { + let ptr = changetype(this); + let len = this.length; + + end = min(end, len); + + let to = target < 0 ? max(len + target, 0) : min(target, len); + let from = start < 0 ? max(len + start, 0) : min(start, len); + let last = end < 0 ? max(len + end, 0) : min(end, len); + let count = min(last - from, len - to); + + memory.copy( // is memmove + ptr + (to << alignof()), + ptr + (from << alignof()), + count << alignof() + ); + return this; + } + + includes(value: T, fromIndex: i32 = 0): bool { + if (isFloat()) { + let length = this.length; + if (length == 0 || fromIndex >= length) return false; + if (fromIndex < 0) fromIndex = max(length + fromIndex, 0); + while (fromIndex < length) { + let elem = load(changetype(this) + (fromIndex << alignof())); + // @ts-ignore + if (elem == value || isNaN(elem) & isNaN(value)) return true; + ++fromIndex; + } + return false; + } else { + return this.indexOf(value, fromIndex) >= 0; + } + } + + indexOf(value: T, fromIndex: i32 = 0): i32 { + let length = this.length; + if (length == 0 || fromIndex >= length) return -1; + if (fromIndex < 0) fromIndex = max(length + fromIndex, 0); + while (fromIndex < length) { + if (load(changetype(this) + (fromIndex << alignof())) == value) return fromIndex; + ++fromIndex; + } + return -1; + } + + lastIndexOf(value: T, fromIndex: i32 = this.length): i32 { + let length = this.length; + if (length == 0) return -1; + if (fromIndex < 0) fromIndex = length + fromIndex; + else if (fromIndex >= length) fromIndex = length - 1; + while (fromIndex >= 0) { + if (load(changetype(this) + (fromIndex << alignof())) == value) return fromIndex; + --fromIndex; + } + return -1; + } + + concat = Array>(other: U): U { + let sourceLen = this.length; + let otherLen = other.length; + let outLen = sourceLen + otherLen; + if (outLen > BLOCK_MAXSIZE >>> alignof()) { + throw new Error(E_INVALIDLENGTH); + } + let sourceSize = sourceLen << alignof(); + let out = changetype(this); // FIXME: instanceof needs *some* value + + if (out instanceof Array) { + out = changetype(__newArray(outLen, alignof(), idof>())); + // ^ FIXME: Function returns type U, but can't __newArray(U extends Array) + let outStart = changetype>(out).dataStart; + let otherStart = changetype>(other).dataStart; + let thisStart = changetype(this); + + if (isManaged()) { + for (let offset: usize = 0; offset < sourceSize; offset += sizeof()) { + let ref = load(thisStart + offset); + store(outStart + offset, ref); + __link(changetype(out), ref, true); + } + outStart += sourceSize; + let otherSize = otherLen << alignof(); + for (let offset: usize = 0; offset < otherSize; offset += sizeof()) { + let ref = load(otherStart + offset); + store(outStart + offset, ref); + __link(changetype(out), ref, true); + } + } else { + memory.copy(outStart, thisStart, sourceSize); + memory.copy(outStart + sourceSize, otherStart, otherLen << alignof()); + } + } else if (out instanceof StaticArray) { + out = changetype(__new(outLen << alignof(), idof>())); + let outStart = changetype(out); + let otherStart = changetype(other); + let thisStart = changetype(this); + + if (isManaged()) { + for (let offset: usize = 0; offset < sourceSize; offset += sizeof()) { + let ref = load(thisStart + offset); + store(outStart + offset, ref); + __link(changetype(out), ref, true); + } + outStart += sourceSize; + let otherSize = otherLen << alignof(); + for (let offset: usize = 0; offset < otherSize; offset += sizeof()) { + let ref = load(otherStart + offset); + store(outStart + offset, ref); + __link(changetype(out), ref, true); + } + } else { + memory.copy(outStart, thisStart, sourceSize); + memory.copy(outStart + sourceSize, otherStart, otherLen << alignof()); + } + } else { + ERROR("Only Array and StaticArray accept for 'U' parameter"); + } + return out; + } + + slice = Array>(start: i32 = 0, end: i32 = i32.MAX_VALUE): U { + let length = this.length; + start = start < 0 ? max(start + length, 0) : min(start, length); + end = end < 0 ? max(end + length, 0) : min(end, length); + length = max(end - start, 0); + + let sourceStart = changetype(this) + (start << alignof()); + let size = length << alignof(); + let out = changetype(this); // FIXME: instanceof needs *some* value + + if (out instanceof Array) { + // return Array + out = changetype(__newArray(length, alignof(), idof>())); + // ^ FIXME: Function returns type U, but can't __newArray(U extends Array) + let outStart = changetype>(out).dataStart; + if (isManaged()) { + let off: usize = 0; + while (off < size) { + let ref = load(sourceStart + off); + store(outStart + off, ref); + __link(changetype(out), ref, true); + off += sizeof(); + } + } else { + memory.copy(outStart, sourceStart, size); + } + } else if (out instanceof StaticArray) { + // return StaticArray + out = changetype(__new(size, idof>())); + let outStart = changetype(out); + if (isManaged()) { + let off: usize = 0; + while (off < size) { + let ref = load(sourceStart + off); + store(outStart + off, ref); + __link(outStart, ref, true); + off += sizeof(); + } + } else { + memory.copy(outStart, sourceStart, size); + } + } else { + ERROR("Only Array and StaticArray accept for 'U' parameter"); + } + return out; + } + + findIndex(fn: (value: T, index: i32, array: StaticArray) => bool): i32 { + for (let i = 0, len = this.length; i < len; ++i) { + if (fn(load(changetype(this) + (i << alignof())), i, this)) return i; + } + return -1; + } + + findLastIndex(fn: (value: T, index: i32, array: StaticArray) => bool): i32 { + for (let i = this.length - 1; i >= 0; --i) { + if (fn(load(changetype(this) + (i << alignof())), i, this)) return i; + } + return -1; + } + + forEach(fn: (value: T, index: i32, array: StaticArray) => void): void { + for (let i = 0, len = this.length; i < len; ++i) { + fn(load(changetype(this) + (i << alignof())), i, this); + } + } + + map(fn: (value: T, index: i32, array: StaticArray) => U): Array { + let len = this.length; + let out = changetype>(__newArray(len, alignof(), idof>())); + let outStart = out.dataStart; + for (let i = 0; i < len; ++i) { + let result = fn(load(changetype(this) + (i << alignof())), i, this); + store(outStart + (i << alignof()), result); + if (isManaged()) { + __link(changetype(out), changetype(result), true); + } + } + return out; + } + + filter(fn: (value: T, index: i32, array: StaticArray) => bool): Array { + let result = changetype>(__newArray(0, alignof(), idof>())); + for (let i = 0, len = this.length; i < len; ++i) { + let value = load(changetype(this) + (i << alignof())); + if (fn(value, i, this)) result.push(value); + } + return result; + } + + reduce( + fn: (previousValue: U, currentValue: T, currentIndex: i32, array: StaticArray) => U, + initialValue: U + ): U { + let acc = initialValue; + for (let i = 0, len = this.length; i < len; ++i) { + acc = fn(acc, load(changetype(this) + (i << alignof())), i, this); + } + return acc; + } + + reduceRight( + fn: (previousValue: U, currentValue: T, currentIndex: i32, array: StaticArray) => U, + initialValue: U + ): U { + let acc = initialValue; + for (let i = this.length - 1; i >= 0; --i) { + acc = fn(acc, load(changetype(this) + (i << alignof())), i, this); + } + return acc; + } + + every(fn: (value: T, index: i32, array: StaticArray) => bool): bool { + for (let i = 0, len = this.length; i < len; ++i) { + if (!fn(load(changetype(this) + (i << alignof())), i, this)) return false; + } + return true; + } + + some(fn: (value: T, index: i32, array: StaticArray) => bool): bool { + for (let i = 0, len = this.length; i < len; ++i) { + if (fn(load(changetype(this) + (i << alignof())), i, this)) return true; + } + return false; + } + + sort(comparator: (a: T, b: T) => i32 = COMPARATOR()): StaticArray { + SORT(changetype(this), this.length, comparator); + return this; + } + + join(separator: string = ","): string { + if (isBoolean()) return joinBooleanArray(changetype(this), this.length, separator); + if (isInteger()) return joinIntegerArray(changetype(this), this.length, separator); + if (isFloat()) return joinFloatArray(changetype(this), this.length, separator); + if (ASC_SHRINK_LEVEL < 1) { + if (isString()) return joinStringArray(changetype(this), this.length, separator); + } + if (isReference()) return joinReferenceArray(changetype(this), this.length, separator); + ERROR("unspported element type"); + return unreachable(); + } + + reverse(): StaticArray { + REVERSE(changetype(this), this.length); + return this; + } + + toString(): string { + return this.join(); + } + + // RT integration + + @unsafe private __visit(cookie: u32): void { + if (isManaged()) { + let cur = changetype(this); + let end = cur + changetype(changetype(this) - TOTAL_OVERHEAD).rtSize; + while (cur < end) { + let val = load(cur); + if (val) __visit(val, cookie); + cur += sizeof(); + } + } + } +} +`,string:`/// + +import { OBJECT, BLOCK_MAXSIZE, TOTAL_OVERHEAD } from "./rt/common"; +import { compareImpl, strtol, strtod, isSpace, isAscii, isFinalSigma, toLower8, toUpper8 } from "./util/string"; +import { SPECIALS_UPPER, casemap, bsearch } from "./util/casemap"; +import { E_INDEXOUTOFRANGE, E_INVALIDLENGTH, E_UNPAIRED_SURROGATE } from "./util/error"; +import { idof } from "./builtins"; +import { Array } from "./array"; + +@final export abstract class String { + + @lazy static readonly MAX_LENGTH: i32 = (BLOCK_MAXSIZE >>> alignof()); + + static fromCharCode(unit: i32, surr: i32 = -1): String { + let hasSur = surr > 0; + let out = changetype(__new(2 << i32(hasSur), idof())); + store(changetype(out), unit); + if (hasSur) store(changetype(out), surr, 2); + return out; + } + + static fromCharCodes(units: Array): String { + let length = units.length; + let out = changetype(__new(length << 1, idof())); + let ptr = units.dataStart; + for (let i = 0; i < length; ++i) { + store(changetype(out) + (i << 1), load(ptr + (i << 2))); + } + return out; + } + + static fromCodePoint(code: i32): String { + let hasSur = code > 0xFFFF; + let out = changetype(__new(2 << i32(hasSur), idof())); + if (!hasSur) { + store(changetype(out), code); + } else { + // Checks valid code point range + assert(code <= 0x10FFFF); + code -= 0x10000; + let hi = (code & 0x03FF) | 0xDC00; + let lo = code >>> 10 | 0xD800; + store(changetype(out), lo | hi << 16); + } + return out; + } + + @builtin static raw(parts: TemplateStringsArray, ...args: unknown[]): string { return unreachable(); } + + get length(): i32 { + return changetype(changetype(this) - TOTAL_OVERHEAD).rtSize >> 1; + } + + at(pos: i32): String { + let len = this.length; + pos += select(0, len, pos >= 0); + if (pos >= len) throw new RangeError(E_INDEXOUTOFRANGE); + let out = __new(2, idof()); + store(out, load(changetype(this) + (pos << 1))); + return changetype(out); // retains + } + + @operator("[]") charAt(pos: i32): String { + if (pos >= this.length) return changetype(""); + let out = changetype(__new(2, idof())); + store(changetype(out), load(changetype(this) + (pos << 1))); + return out; + } + + charCodeAt(pos: i32): i32 { + if (pos >= this.length) return -1; // (NaN) + return load(changetype(this) + (pos << 1)); + } + + codePointAt(pos: i32): i32 { + let len = this.length; + if (pos >= len) return -1; // (undefined) + let first = load(changetype(this) + (pos << 1)); + if ((first & 0xFC00) != 0xD800 || pos + 1 == len) return first; + let second = load(changetype(this) + (pos << 1), 2); + if ((second & 0xFC00) != 0xDC00) return first; + return (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000; + } + + @operator("+") private static __concat(left: String, right: String): String { + return left.concat(right); + } + + concat(other: String): String { + let thisSize: isize = this.length << 1; + let otherSize: isize = other.length << 1; + let outSize: usize = thisSize + otherSize; + if (outSize == 0) return changetype(""); + let out = changetype(__new(outSize, idof())); + memory.copy(changetype(out), changetype(this), thisSize); + memory.copy(changetype(out) + thisSize, changetype(other), otherSize); + return out; + } + + endsWith(search: String, end: i32 = String.MAX_LENGTH): bool { + end = min(max(end, 0), this.length); + let searchLength = search.length; + let searchStart = end - searchLength; + if (searchStart < 0) return false; + // @ts-ignore: string <-> String + return !compareImpl(this, searchStart, search, 0, searchLength); + } + + @operator("==") private static __eq(left: String | null, right: String | null): bool { + if (changetype(left) == changetype(right)) return true; + if (changetype(left) == 0 || changetype(right) == 0) return false; + let leftLength = changetype(left).length; + if (leftLength != changetype(right).length) return false; + // @ts-ignore: string <-> String + return !compareImpl(left, 0, right, 0, leftLength); + } + + @operator.prefix("!") + private static __not(str: String | null): bool { + return changetype(str) == 0 || !changetype(str).length; + } + + @operator("!=") + private static __ne(left: String | null, right: String | null): bool { + return !this.__eq(left, right); + } + + @operator(">") private static __gt(left: String, right: String): bool { + if (changetype(left) == changetype(right)) return false; + let leftLength = left.length; + if (!leftLength) return false; + let rightLength = right.length; + if (!rightLength) return true; + // @ts-ignore: string <-> String + let res = compareImpl(left, 0, right, 0, min(leftLength, rightLength)); + return res ? res > 0 : leftLength > rightLength; + } + + @operator(">=") private static __gte(left: String, right: String): bool { + return !this.__lt(left, right); + } + + @operator("<") private static __lt(left: String, right: String): bool { + if (changetype(left) == changetype(right)) return false; + let rightLength = right.length; + if (!rightLength) return false; + let leftLength = left.length; + if (!leftLength) return true; + // @ts-ignore: string <-> String + let res = compareImpl(left, 0, right, 0, min(leftLength, rightLength)); + return res ? res < 0 : leftLength < rightLength; + } + + @operator("<=") private static __lte(left: String, right: String): bool { + return !this.__gt(left, right); + } + + includes(search: String, start: i32 = 0): bool { + return this.indexOf(search, start) != -1; + } + + indexOf(search: String, start: i32 = 0): i32 { + let searchLen = search.length; + if (!searchLen) return 0; + let len = this.length; + if (!len) return -1; + let searchStart = min(max(start, 0), len); + for (len -= searchLen; searchStart <= len; ++searchStart) { + // @ts-ignore: string <-> String + if (!compareImpl(this, searchStart, search, 0, searchLen)) return searchStart; + } + return -1; + } + + lastIndexOf(search: String, start: i32 = i32.MAX_VALUE): i32 { + let searchLen = search.length; + if (!searchLen) return this.length; + let len = this.length; + if (!len) return -1; + let searchStart = min(max(start, 0), len - searchLen); + for (; searchStart >= 0; --searchStart) { + // @ts-ignore: string <-> String + if (!compareImpl(this, searchStart, search, 0, searchLen)) return searchStart; + } + return -1; + } + + // TODO: implement full locale comparison with locales and Collator options + localeCompare(other: String): i32 { + if (changetype(other) == changetype(this)) return 0; + let alen = this.length; + let blen = other.length; + // @ts-ignore: string <-> String + let res = compareImpl(this, 0, other, 0, min(alen, blen)); + res = res ? res : alen - blen; + // normalize to [-1, 1] range + return i32(res > 0) - i32(res < 0); + } + + startsWith(search: String, start: i32 = 0): bool { + let len = this.length; + let searchStart = min(max(start, 0), len); + let searchLength = search.length; + if (searchLength + searchStart > len) return false; + // @ts-ignore: string <-> String + return !compareImpl(this, searchStart, search, 0, searchLength); + } + + substr(start: i32, length: i32 = i32.MAX_VALUE): String { // legacy + let intStart: isize = start; + let end: isize = length; + let len: isize = this.length; + if (intStart < 0) intStart = max(len + intStart, 0); + let size = min(max(end, 0), len - intStart) << 1; + if (size <= 0) return changetype(""); + let out = changetype(__new(size, idof())); + memory.copy(changetype(out), changetype(this) + (intStart << 1), size); + return out; + } + + substring(start: i32, end: i32 = i32.MAX_VALUE): String { + let len: isize = this.length; + let finalStart = min(max(start, 0), len); + let finalEnd = min(max(end, 0), len); + let fromPos = min(finalStart, finalEnd) << 1; + let toPos = max(finalStart, finalEnd) << 1; + let size = toPos - fromPos; + if (!size) return changetype(""); + if (!fromPos && toPos == len << 1) return this; + let out = changetype(__new(size, idof())); + memory.copy(changetype(out), changetype(this) + fromPos, size); + return out; + } + + trim(): String { + let len = this.length; + let size: usize = len << 1; + while (size && isSpace(load(changetype(this) + size - 2))) { + size -= 2; + } + let offset: usize = 0; + while (offset < size && isSpace(load(changetype(this) + offset))) { + offset += 2; size -= 2; + } + if (!size) return changetype(""); + if (!offset && size == len << 1) return this; + let out = changetype(__new(size, idof())); + memory.copy(changetype(out), changetype(this) + offset, size); + return out; + } + + @inline + trimLeft(): String { + return this.trimStart(); + } + + @inline + trimRight(): String { + return this.trimEnd(); + } + + trimStart(): String { + let size = this.length << 1; + let offset: usize = 0; + while (offset < size && isSpace(load(changetype(this) + offset))) { + offset += 2; + } + if (!offset) return this; + size -= offset; + if (!size) return changetype(""); + let out = changetype(__new(size, idof())); + memory.copy(changetype(out), changetype(this) + offset, size); + return out; + } + + trimEnd(): String { + let originalSize = this.length << 1; + let size = originalSize; + while (size && isSpace(load(changetype(this) + size - 2))) { + size -= 2; + } + if (!size) return changetype(""); + if (size == originalSize) return this; + let out = changetype(__new(size, idof())); + memory.copy(changetype(out), changetype(this), size); + return out; + } + + padStart(length: i32, pad: string = " "): String { + let thisSize = this.length << 1; + let targetSize = length << 1; + let padSize = pad.length << 1; + if (targetSize < thisSize || !padSize) return this; + let prependSize = targetSize - thisSize; + let out = changetype(__new(targetSize, idof())); + if (prependSize > padSize) { + let repeatCount = (prependSize - 2) / padSize; + let restBase = repeatCount * padSize; + let restSize = prependSize - restBase; + memory.repeat(changetype(out), changetype(pad), padSize, repeatCount); + memory.copy(changetype(out) + restBase, changetype(pad), restSize); + } else { + memory.copy(changetype(out), changetype(pad), prependSize); + } + memory.copy(changetype(out) + prependSize, changetype(this), thisSize); + return out; + } + + padEnd(length: i32, pad: string = " "): String { + let thisSize = this.length << 1; + let targetSize = length << 1; + let padSize = pad.length << 1; + if (targetSize < thisSize || !padSize) return this; + let appendSize = targetSize - thisSize; + let out = changetype(__new(targetSize, idof())); + memory.copy(changetype(out), changetype(this), thisSize); + if (appendSize > padSize) { + let repeatCount = (appendSize - 2) / padSize; + let restBase = repeatCount * padSize; + let restSize = appendSize - restBase; + memory.repeat(changetype(out) + thisSize, changetype(pad), padSize, repeatCount); + memory.copy(changetype(out) + thisSize + restBase, changetype(pad), restSize); + } else { + memory.copy(changetype(out) + thisSize, changetype(pad), appendSize); + } + return out; + } + + repeat(count: i32 = 0): String { + let length = this.length; + + // Most browsers can't handle strings 1 << 28 chars or longer + if (count < 0 || length * count > (1 << 28)) { + throw new RangeError(E_INVALIDLENGTH); + } + + if (count == 0 || !length) return changetype(""); + if (count == 1) return this; + let out = changetype(__new((length * count) << 1, idof())); + memory.repeat(changetype(out), changetype(this), length << 1, count); + return out; + } + + replace(search: String, replacement: String): String { + let len: usize = this.length; + let slen: usize = search.length; + if (len <= slen) { + return len < slen ? this : select(replacement, this, search == this); + } + let index: isize = this.indexOf(search); + if (~index) { + let rlen: usize = replacement.length; + len -= slen; + let olen = len + rlen; + if (olen) { + let out = changetype(__new(olen << 1, idof())); + memory.copy(changetype(out), changetype(this), index << 1); + memory.copy( + changetype(out) + (index << 1), + changetype(replacement), + rlen << 1 + ); + memory.copy( + changetype(out) + ((index + rlen) << 1), + changetype(this) + ((index + slen) << 1), + (len - index) << 1 + ); + return out; + } + } + return this; + } + + replaceAll(search: String, replacement: String): String { + let thisLen: usize = this.length; + let searchLen: usize = search.length; + if (thisLen <= searchLen) { + return thisLen < searchLen + ? this + : select(replacement, this, search == this); + } + let replaceLen: usize = replacement.length; + if (!searchLen) { + if (!replaceLen) return this; + // Special case: 'abc'.replaceAll('', '-') -> '-a-b-c-' + let out = changetype(__new((thisLen + (thisLen + 1) * replaceLen) << 1, idof())); + memory.copy(changetype(out), changetype(replacement), replaceLen << 1); + let offset = replaceLen; + for (let i: usize = 0; i < thisLen; ++i) { + store( + changetype(out) + (offset++ << 1), + load(changetype(this) + (i << 1)) + ); + memory.copy( + changetype(out) + (offset << 1), + changetype(replacement), + replaceLen << 1 + ); + offset += replaceLen; + } + return out; + } + let prev: isize = 0, next: isize = 0; + if (searchLen == replaceLen) { + // Fast path when search and replacement have same length + let outSize = thisLen << 1; + let out = changetype(__new(outSize, idof())); + memory.copy(changetype(out), changetype(this), outSize); + while (~(next = this.indexOf(search, prev))) { + memory.copy(changetype(out) + (next << 1), changetype(replacement), replaceLen << 1); + prev = next + searchLen; + } + return out; + } + let out: String | null = null, offset: usize = 0, outSize = thisLen; + while (~(next = this.indexOf(search, prev))) { + if (!out) out = changetype(__new(thisLen << 1, idof())); + let chunk = next - prev; + if (offset + chunk + replaceLen > outSize) { + outSize <<= 1; + out = changetype(__renew(changetype(out), outSize << 1)); + } + memory.copy( + changetype(out) + (offset << 1), + changetype(this) + (prev << 1), + chunk << 1 + ); + offset += chunk; + memory.copy( + changetype(out) + (offset << 1), + changetype(replacement), + replaceLen << 1 + ); + offset += replaceLen; + prev = next + searchLen; + } + if (out) { + let rest = thisLen - prev; + if (offset + rest > outSize) { + outSize <<= 1; + out = changetype(__renew(changetype(out), outSize << 1)); + } + if (rest) { + memory.copy( + changetype(out) + (offset << 1), + changetype(this) + (prev << 1), + rest << 1 + ); + } + rest += offset; + if (outSize > rest) { + out = changetype(__renew(changetype(out), rest << 1)); + } + return out; + } + return this; + } + + slice(start: i32, end: i32 = i32.MAX_VALUE): String { + let len = this.length; + start = start < 0 ? max(start + len, 0) : min(start, len); + end = end < 0 ? max(end + len, 0) : min(end, len); + len = end - start; + if (len <= 0) return changetype(""); + let out = changetype(__new(len << 1, idof())); + memory.copy(changetype(out), changetype(this) + (start << 1), len << 1); + return out; + } + + split(separator: String | null = null, limit: i32 = i32.MAX_VALUE): String[] { + if (!limit) return changetype(__newArray(0, alignof(), idof>())); + if (changetype(separator) == 0) return [ this ]; + let length: isize = this.length; + let sepLen = changetype(separator).length; + if (limit < 0) limit = i32.MAX_VALUE; + if (!sepLen) { + if (!length) return changetype(__newArray(0, alignof(), idof>())); + // split by chars + length = min(length, limit); + let result = changetype(__newArray(length, alignof(), idof>())); + // @ts-ignore: cast + let resultStart = result.dataStart as usize; + for (let i: isize = 0; i < length; ++i) { + let charStr = changetype(__new(2, idof())); + store(changetype(charStr), load(changetype(this) + (i << 1))); + store(resultStart + (i << alignof()), changetype(charStr)); // result[i] = charStr + __link(changetype(result), changetype(charStr), true); + } + return result; + } else if (!length) { + let result = changetype(__newArray(1, alignof(), idof>())); + // @ts-ignore: cast + store(result.dataStart as usize, changetype("")); // static "" + return result; + } + let result = changetype(__newArray(0, alignof(), idof>())); + let end = 0, start = 0, i = 0; + while (~(end = this.indexOf(changetype(separator), start))) { + let len = end - start; + if (len > 0) { + let out = changetype(__new(len << 1, idof())); + memory.copy(changetype(out), changetype(this) + (start << 1), len << 1); + result.push(out); + } else { + result.push(changetype("")); + } + if (++i == limit) return result; + start = end + sepLen; + } + if (!start) { // also means: loop above didn't do anything + result.push(this); + return result; + } + let len = length - start; + if (len > 0) { + let out = changetype(__new(len << 1, idof())); + memory.copy(changetype(out), changetype(this) + (start << 1), len << 1); + result.push(out); + } else { + result.push(changetype("")); // static "" + } + return result; + } + + toLowerCase(): String { + let len = this.length; + if (!len) return this; + let codes = changetype(__new(len * 2 * 2, idof())); + let j: usize = 0; + for (let i: usize = 0; i < len; ++i, ++j) { + let c = load(changetype(this) + (i << 1)); + if (isAscii(c)) { + store(changetype(codes) + (j << 1), toLower8(c)); + } else { + // check and read surrogate pair + if ((c - 0xD7FF < 0xDC00 - 0xD7FF) && i < len - 1) { + let c1 = load(changetype(this) + (i << 1), 2); + if (c1 - 0xDBFF < 0xE000 - 0xDBFF) { + let c0 = c; + c = (((c & 0x03FF) << 10) | (c1 & 0x03FF)) + 0x10000; + ++i; + if (c >= 0x20000) { + store(changetype(codes) + (j << 1), c0 | (c1 << 16)); + ++j; + continue; + } + } + } + // check special casing for lower table. It has one ently so instead lookup we just inline this. + if (c == 0x0130) { + // 0x0130 -> [0x0069, 0x0307] + store(changetype(codes) + (j << 1), (0x0307 << 16) | 0x0069); + ++j; + } else if (c == 0x03A3) { // '\u03A3' + // \u03A3 maps to \u03C3 but except at the end of a word where it maps to \u03C2 + let sigma = 0x03C3; // \u03C3 + if (len > 1 && isFinalSigma(changetype(this), i, len)) { + sigma = 0x03C2; // \u03C2 + } + store(changetype(codes) + (j << 1), sigma); + } else if (c - 0x24B6 <= 0x24CF - 0x24B6) { + // Range 0x24B6 <= c <= 0x24CF not covered by casemap and require special early handling + store(changetype(codes) + (j << 1), c + 26); + } else { + let code = casemap(c, 0) & 0x1FFFFF; + if (code < 0x10000) { + store(changetype(codes) + (j << 1), code); + } else { + // store as surrogare pair + code -= 0x10000; + let lo = (code >>> 10) | 0xD800; + let hi = (code & 0x03FF) | 0xDC00; + store(changetype(codes) + (j << 1), lo | (hi << 16)); + ++j; + } + } + } + } + return changetype(__renew(changetype(codes), j << 1)); + } + + toUpperCase(): String { + let len = this.length; + if (!len) return this; + let codes = changetype(__new(len * 3 * 2, idof())); + let specialsPtr = changetype(SPECIALS_UPPER); + let specialsLen = SPECIALS_UPPER.length; + let j: usize = 0; + for (let i: usize = 0; i < len; ++i, ++j) { + let c = load(changetype(this) + (i << 1)); + if (isAscii(c)) { + store(changetype(codes) + (j << 1), toUpper8(c)); + } else { + // check and read surrogate pair + if ((c - 0xD7FF < 0xDC00 - 0xD7FF) && i < len - 1) { + let c1 = load(changetype(this) + (i << 1), 2); + if (c1 - 0xDBFF < 0xE000 - 0xDBFF) { + let c0 = c; + c = (((c & 0x03FF) << 10) | (c1 & 0x03FF)) + 0x10000; + ++i; + if (c >= 0x20000) { + store(changetype(codes) + (j << 1), c0 | (c1 << 16)); + ++j; + continue; + } + } + } + // Range 0x24D0 <= c <= 0x24E9 not covered by casemap and require special early handling + if (c - 0x24D0 <= 0x24E9 - 0x24D0) { + // monkey patch + store(changetype(codes) + (j << 1), c - 26); + } else { + let index: usize = -1; + // Fast range check. See first and last rows in specialsUpper table + if (c - 0x00DF <= 0xFB17 - 0x00DF) { + index = bsearch(c, specialsPtr, specialsLen); + } + if (~index) { + // load next 3 code points from row with \`index\` offset for specialsUpper table + let ab = load(specialsPtr + (index << 1), 2); + let cc = load(specialsPtr + (index << 1), 6); + store(changetype(codes) + (j << 1), ab, 0); + store(changetype(codes) + (j << 1), cc, 4); + j += 1 + usize(cc != 0); + } else { + let code = casemap(c, 1) & 0x1FFFFF; + if (code < 0x10000) { + store(changetype(codes) + (j << 1), code); + } else { + // store as surrogare pair + code -= 0x10000; + let lo = (code >>> 10) | 0xD800; + let hi = (code & 0x03FF) | 0xDC00; + store(changetype(codes) + (j << 1), lo | (hi << 16)); + ++j; + } + } + } + } + } + return changetype(__renew(changetype(codes), j << 1)); + } + + toString(): String { + return this; + } +} + +// @ts-ignore: nolib +export type string = String; + +export function parseInt(str: string, radix: i32 = 0): f64 { + return strtol(str, radix); +} + +export function parseFloat(str: string): f64 { + return strtod(str); +} + +// Encoding helpers +export namespace String { + + export namespace UTF8 { + + export const enum ErrorMode { + WTF8, + REPLACE, + ERROR + } + + export function byteLength(str: string, nullTerminated: bool = false): i32 { + let strOff = changetype(str); + let strEnd = strOff + changetype(changetype(str) - TOTAL_OVERHEAD).rtSize; + let bufLen = i32(nullTerminated); + while (strOff < strEnd) { + let c1 = load(strOff); + if (c1 < 128) { + // @ts-ignore: cast + if (nullTerminated & !c1) break; + bufLen += 1; + } else if (c1 < 2048) { + bufLen += 2; + } else { + if ((c1 & 0xFC00) == 0xD800 && strOff + 2 < strEnd) { + if ((load(strOff, 2) & 0xFC00) == 0xDC00) { + bufLen += 4; strOff += 4; + continue; + } + } + bufLen += 3; + } + strOff += 2; + } + return bufLen; + } + + export function encode(str: string, nullTerminated: bool = false, errorMode: ErrorMode = ErrorMode.WTF8): ArrayBuffer { + let buf = changetype(__new(byteLength(str, nullTerminated), idof())); + encodeUnsafe(changetype(str), str.length, changetype(buf), nullTerminated, errorMode); + return buf; + } + + // @ts-ignore: decorator + @unsafe + export function encodeUnsafe(str: usize, len: i32, buf: usize, nullTerminated: bool = false, errorMode: ErrorMode = ErrorMode.WTF8): usize { + let strEnd = str + (len << 1); + let bufOff = buf; + while (str < strEnd) { + let c1 = load(str); + if (c1 < 128) { + store(bufOff, c1); + bufOff++; + // @ts-ignore: cast + if (nullTerminated & !c1) return bufOff - buf; + } else if (c1 < 2048) { + let b0 = c1 >> 6 | 192; + let b1 = c1 & 63 | 128; + store(bufOff, b1 << 8 | b0); + bufOff += 2; + } else { + // D800: 11011 0 0000000000 Lead + // DBFF: 11011 0 1111111111 + // DC00: 11011 1 0000000000 Trail + // DFFF: 11011 1 1111111111 + // F800: 11111 0 0000000000 Mask + // FC00: 11111 1 0000000000 + if ((c1 & 0xF800) == 0xD800) { + if (c1 < 0xDC00 && str + 2 < strEnd) { + let c2 = load(str, 2); + if ((c2 & 0xFC00) == 0xDC00) { + c1 = 0x10000 + ((c1 & 0x03FF) << 10) | (c2 & 0x03FF); + let b0 = c1 >> 18 | 240; + let b1 = c1 >> 12 & 63 | 128; + let b2 = c1 >> 6 & 63 | 128; + let b3 = c1 & 63 | 128; + store(bufOff, b3 << 24 | b2 << 16 | b1 << 8 | b0); + bufOff += 4; str += 4; + continue; + } + } + if (errorMode != ErrorMode.WTF8) { // unlikely + if (errorMode == ErrorMode.ERROR) throw new Error(E_UNPAIRED_SURROGATE); + c1 = 0xFFFD; + } + } + let b0 = c1 >> 12 | 224; + let b1 = c1 >> 6 & 63 | 128; + let b2 = c1 & 63 | 128; + store(bufOff, b1 << 8 | b0); + store(bufOff, b2, 2); + bufOff += 3; + } + str += 2; + } + if (nullTerminated) { + store(bufOff++, 0); + } + return bufOff - buf; + } + + export function decode(buf: ArrayBuffer, nullTerminated: bool = false): String { + return decodeUnsafe(changetype(buf), buf.byteLength, nullTerminated); + } + + // @ts-ignore: decorator + @unsafe + export function decodeUnsafe(buf: usize, len: usize, nullTerminated: bool = false): String { + let bufOff = buf; + let bufEnd = buf + len; + assert(bufEnd >= bufOff); // guard wraparound + let str = changetype(__new(len << 1, idof())); // max is one u16 char per u8 byte + let strOff = changetype(str); + while (bufOff < bufEnd) { + let u0 = load(bufOff); ++bufOff; + if (!(u0 & 128)) { + // @ts-ignore: cast + if (nullTerminated & !u0) break; + store(strOff, u0); + } else { + if (bufEnd == bufOff) break; + let u1 = load(bufOff) & 63; ++bufOff; + if ((u0 & 224) == 192) { + store(strOff, (u0 & 31) << 6 | u1); + } else { + if (bufEnd == bufOff) break; + let u2 = load(bufOff) & 63; ++bufOff; + if ((u0 & 240) == 224) { + u0 = (u0 & 15) << 12 | u1 << 6 | u2; + } else { + if (bufEnd == bufOff) break; + u0 = (u0 & 7) << 18 | u1 << 12 | u2 << 6 | load(bufOff) & 63; + ++bufOff; + } + if (u0 < 0x10000) { + store(strOff, u0); + } else { + u0 -= 0x10000; + let lo = u0 >> 10 | 0xD800; + let hi = (u0 & 0x03FF) | 0xDC00; + store(strOff, lo | (hi << 16)); + strOff += 2; + } + } + } + strOff += 2; + } + return changetype(__renew(changetype(str), strOff - changetype(str))); + } + } + + export namespace UTF16 { + + export function byteLength(str: string): i32 { + return changetype(changetype(str) - TOTAL_OVERHEAD).rtSize; + } + + export function encode(str: string): ArrayBuffer { + let buf = changetype(__new(byteLength(str), idof())); + encodeUnsafe(changetype(str), str.length, changetype(buf)); + return buf; + } + + // @ts-ignore: decorator + @unsafe + export function encodeUnsafe(str: usize, len: i32, buf: usize): usize { + let size = len << 1; + memory.copy(buf, changetype(str), size); + return size; + } + + export function decode(buf: ArrayBuffer): String { + return decodeUnsafe(changetype(buf), buf.byteLength); + } + + // @ts-ignore: decorator + @unsafe + export function decodeUnsafe(buf: usize, len: usize): String { + let str = changetype(__new(len &= ~1, idof())); + memory.copy(changetype(str), buf, len); + return str; + } + } +} + +export class TemplateStringsArray extends Array { + readonly raw: string[]; +} +`,symbol:`import { Map } from "./map"; + +// @ts-ignore: decorator +@lazy let stringToId: Map = new Map(); + +// @ts-ignore: decorator +@lazy let idToString: Map = new Map(); + +// @ts-ignore: decorator +@lazy let nextId: usize = 12; // Symbol.unscopables + 1 + +@unmanaged @final abstract class _Symbol { + + // TODO: all of the following default symbols are unused currently yet add to + // binary size if #toString becomes compiled. Ultimately we'll most likely want + // to remove the unsupported ones and only keep what's actually supported. + + // @ts-ignore: decorator + @lazy + static readonly hasInstance: symbol = changetype(1); + + // @ts-ignore: decorator + @lazy + static readonly isConcatSpreadable: symbol = changetype(2); + + // @ts-ignore: decorator + @lazy + static readonly isRegExp: symbol = changetype(3); + + // @ts-ignore: decorator + @lazy + static readonly iterator: symbol = changetype(3); + + // @ts-ignore: decorator + @lazy + static readonly match: symbol = changetype(4); + + // @ts-ignore: decorator + @lazy + static readonly replace: symbol = changetype(5); + + // @ts-ignore: decorator + @lazy + static readonly search: symbol = changetype(6); + + // @ts-ignore: decorator + @lazy + static readonly species: symbol = changetype(7); + + // @ts-ignore: decorator + @lazy + static readonly split: symbol = changetype(8); + + // @ts-ignore: decorator + @lazy + static readonly toPrimitive: symbol = changetype(9); + + // @ts-ignore: decorator + @lazy + static readonly toStringTag: symbol = changetype(10); + + // @ts-ignore: decorator + @lazy + static readonly unscopables: symbol = changetype(11); + + static for(key: string): symbol { + if (stringToId.has(key)) return changetype(stringToId.get(key)); + let id = nextId++; + if (!id) unreachable(); // out of ids + stringToId.set(key, id); + idToString.set(id, key); + return changetype(id); + } + + static keyFor(sym: symbol): string | null { + return idToString.has(changetype(sym)) + ? idToString.get(changetype(sym)) + : null; + } + + toString(): string { + let id = changetype(this); + let str = ""; + switch (id) { + case 1: { str = "hasInstance"; break; } + case 2: { str = "isConcatSpreadable"; break; } + case 3: { str = "isRegExp"; break; } + case 4: { str = "match"; break; } + case 5: { str = "replace"; break; } + case 6: { str = "search"; break; } + case 7: { str = "species"; break; } + case 8: { str = "split"; break; } + case 9: { str = "toPrimitive"; break; } + case 10: { str = "toStringTag"; break; } + case 11: { str = "unscopables"; break; } + default: { + if (idToString != null && idToString.has(id)) str = idToString.get(id); + break; + } + } + return "Symbol(" + str + ")"; + } +} + +export function Symbol(description: string | null = null): symbol { + let id = nextId++; + if (!id) unreachable(); // out of ids + return changetype(id); +} + +export type Symbol = _Symbol; + +// @ts-ignore: nolib +export type symbol = _Symbol; +`,table:`import { E_NOTIMPLEMENTED } from "./util/error"; + +export namespace table { + + export function copy(dst: u32, src: u32, n: u32): void { + throw new Error(E_NOTIMPLEMENTED); + } + + export function init(elementIndex: u32, srcOffset: u32, dstOffset: u32, n: u32): void { + throw new Error(E_NOTIMPLEMENTED); + } + + export function drop(elementIndex: u32): void { + throw new Error(E_NOTIMPLEMENTED); + } +} +`,typedarray:`import { COMPARATOR, SORT } from "./util/sort"; +import { E_INDEXOUTOFRANGE, E_INVALIDLENGTH, E_NOTIMPLEMENTED } from "./util/error"; +import { joinIntegerArray, joinFloatArray } from "./util/string"; +import { REVERSE, FILL } from "./util/bytes"; +import { idof } from "./builtins"; +import { ArrayBufferView } from "./arraybuffer"; + +export class Int8Array extends ArrayBufferView { + [key: number]: i8; + + // @ts-ignore: decorator + @lazy + static readonly BYTES_PER_ELEMENT: i32 = sizeof(); + + constructor(length: i32) { + super(length, alignof()); + } + + get length(): i32 { + return this.byteLength; + } + + @operator("[]") + private __get(index: i32): i8 { + if (index >= this.byteLength) throw new RangeError(E_INDEXOUTOFRANGE); + return load(this.dataStart + index); + } + + @unsafe @operator("{}") + private __uget(index: i32): i8 { + return load(this.dataStart + index); + } + + @operator("[]=") + private __set(index: i32, value: native): void { + if (index >= this.byteLength) throw new RangeError(E_INDEXOUTOFRANGE); + store(this.dataStart + index, value); + } + + @unsafe @operator("{}=") + private __uset(index: i32, value: native): void { + store(this.dataStart + index, value); + } + + at(index: i32): i8 { + let len = this.byteLength; + index += select(0, len, index >= 0); + if (index >= len) throw new RangeError(E_INDEXOUTOFRANGE); + return load(this.dataStart + index); + } + + includes(searchElement: i8, fromIndex: i32 = 0): bool { + return INCLUDES(this, searchElement, fromIndex); + } + + indexOf(searchElement: i8, fromIndex: i32 = 0): i32 { + return INDEX_OF(this, searchElement, fromIndex); + } + + lastIndexOf(searchElement: i8, fromIndex: i32 = this.length): i32 { + return LAST_INDEX_OF(this, searchElement, fromIndex); + } + + fill(value: i32, start: i32 = 0, end: i32 = i32.MAX_VALUE): Int8Array { + FILL(this.dataStart, this.length, u8(value), start, end); + return this; + } + + sort(comparator: (a: i8, b: i8) => i32 = COMPARATOR()): Int8Array { + SORT(this.dataStart, this.length, comparator); + return this; + } + + slice(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Int8Array { + return SLICE(this, begin, end); + } + + subarray(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Int8Array { + return SUBARRAY(this, begin, end); + } + + copyWithin(target: i32, start: i32, end: i32 = i32.MAX_VALUE): Int8Array { + return COPY_WITHIN(this, target, start, end); + } + + reduce( + fn: (accumulator: T, value: i8, index: i32, array: Int8Array) => T, + initialValue: T, + ): T { + return REDUCE(this, fn, initialValue); + } + + reduceRight( + fn: (accumulator: T, value: i8, index: i32, array: Int8Array) => T, + initialValue: T, + ): T { + return REDUCE_RIGHT(this, fn, initialValue); + } + + map(fn: (value: i8, index: i32, self: Int8Array) => i8): Int8Array { + return MAP(this, fn); + } + + filter(fn: (value: i8, index: i32, self: Int8Array) => bool): Int8Array { + return FILTER(this, fn); + } + + findIndex(fn: (value: i8, index: i32, self: Int8Array) => bool): i32 { + return FIND_INDEX(this, fn); + } + + findLastIndex(fn: (value: i8, index: i32, self: Int8Array) => bool): i32 { + return FIND_LAST_INDEX(this, fn); + } + + some(fn: (value: i8, index: i32, self: Int8Array) => bool): bool { + return SOME(this, fn); + } + + every(fn: (value: i8, index: i32, self: Int8Array) => bool): bool { + return EVERY(this, fn); + } + + forEach(fn: (value: i8, index: i32, self: Int8Array) => void): void { + FOREACH(this, fn); + } + + reverse(): Int8Array { + REVERSE(this.dataStart, this.length); + return this; + } + + join(separator: string = ","): string { + return joinIntegerArray(this.dataStart, this.length, separator); + } + + toString(): string { + return this.join(); + } + + set>(source: U, offset: i32 = 0): void { + SET(this, source, offset); + } + + static wrap(buffer: ArrayBuffer, byteOffset: i32 = 0, length: i32 = -1): Int8Array { + return WRAP(buffer, byteOffset, length); + } +} + +export class Uint8Array extends ArrayBufferView { + [key: number]: u8; + + // @ts-ignore: decorator + @lazy + static readonly BYTES_PER_ELEMENT: i32 = sizeof(); + + constructor(length: i32) { + super(length, alignof()); + } + + get length(): i32 { + return this.byteLength; + } + + @operator("[]") + private __get(index: i32): u8 { + if (index >= this.byteLength) throw new RangeError(E_INDEXOUTOFRANGE); + return load(this.dataStart + index); + } + + @unsafe @operator("{}") + private __uget(index: i32): u8 { + return load(this.dataStart + index); + } + + @operator("[]=") + private __set(index: i32, value: native): void { + if (index >= this.byteLength) throw new RangeError(E_INDEXOUTOFRANGE); + store(this.dataStart + index, value); + } + + @unsafe @operator("{}=") + private __uset(index: i32, value: native): void { + store(this.dataStart + index, value); + } + + at(index: i32): u8 { + let len = this.byteLength; + index += select(0, len, index >= 0); + if (index >= len) throw new RangeError(E_INDEXOUTOFRANGE); + return load(this.dataStart + index); + } + + includes(searchElement: u8, fromIndex: i32 = 0): bool { + return INCLUDES(this, searchElement, fromIndex); + } + + indexOf(searchElement: u8, fromIndex: i32 = 0): i32 { + return INDEX_OF(this, searchElement, fromIndex); + } + + lastIndexOf(searchElement: u8, fromIndex: i32 = this.length): i32 { + return LAST_INDEX_OF(this, searchElement, fromIndex); + } + + fill(value: u32, start: i32 = 0, end: i32 = i32.MAX_VALUE): Uint8Array { + FILL(this.dataStart, this.length, u8(value), start, end); + return this; + } + + sort(comparator: (a: u8, b: u8) => i32 = COMPARATOR()): Uint8Array { + SORT(this.dataStart, this.length, comparator); + return this; + } + + slice(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Uint8Array { + return SLICE(this, begin, end); + } + + subarray(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Uint8Array { + return SUBARRAY(this, begin, end); + } + + copyWithin(target: i32, start: i32, end: i32 = i32.MAX_VALUE): Uint8Array { + return COPY_WITHIN(this, target, start, end); + } + + reduce( + fn: (accumulator: T, value: u8, index: i32, array: Uint8Array) => T, + initialValue: T, + ): T { + return REDUCE(this, fn, initialValue); + } + + reduceRight( + fn: (accumulator: T, value: u8, index: i32, array: Uint8Array) => T, + initialValue: T, + ): T { + return REDUCE_RIGHT(this, fn, initialValue); + } + + map(fn: (value: u8, index: i32, self: Uint8Array) => u8): Uint8Array { + return MAP(this, fn); + } + + filter(fn: (value: u8, index: i32, self: Uint8Array) => bool): Uint8Array { + return FILTER(this, fn); + } + + findIndex(fn: (value: u8, index: i32, self: Uint8Array) => bool): i32 { + return FIND_INDEX(this, fn); + } + + findLastIndex(fn: (value: u8, index: i32, self: Uint8Array) => bool): i32 { + return FIND_LAST_INDEX(this, fn); + } + + some(fn: (value: u8, index: i32, self: Uint8Array) => bool): bool { + return SOME(this, fn); + } + + every(fn: (value: u8, index: i32, self: Uint8Array) => bool): bool { + return EVERY(this, fn); + } + + forEach(fn: (value: u8, index: i32, self: Uint8Array) => void): void { + FOREACH(this, fn); + } + + reverse(): Uint8Array { + REVERSE(this.dataStart, this.length); + return this; + } + + join(separator: string = ","): string { + return joinIntegerArray(this.dataStart, this.length, separator); + } + + set>(source: U, offset: i32 = 0): void { + SET(this, source, offset); + } + + toString(): string { + return this.join(); + } + + static wrap(buffer: ArrayBuffer, byteOffset: i32 = 0, length: i32 = -1): Uint8Array { + return WRAP(buffer, byteOffset, length); + } +} + +export class Uint8ClampedArray extends ArrayBufferView { + [key: number]: u8; + + // @ts-ignore: decorator + @lazy + static readonly BYTES_PER_ELEMENT: i32 = sizeof(); + + constructor(length: i32) { + super(length, alignof()); + } + + get length(): i32 { + return this.byteLength; + } + + @operator("[]") + private __get(index: i32): u8 { + if (index >= this.byteLength) throw new RangeError(E_INDEXOUTOFRANGE); + return load(this.dataStart + index); + } + + @unsafe @operator("{}") + private __uget(index: i32): u8 { + return load(this.dataStart + index); + } + + @operator("[]=") + private __set(index: i32, value: native): void { + if (index >= this.byteLength) throw new RangeError(E_INDEXOUTOFRANGE); + store(this.dataStart + index, ~(value >> 31) & (((255 - value) >> 31) | value)); + } + + @unsafe @operator("{}=") + private __uset(index: i32, value: native): void { + store(this.dataStart + index, ~(value >> 31) & (((255 - value) >> 31) | value)); + } + + at(index: i32): u8 { + let len = this.byteLength; + index += select(0, len, index >= 0); + if (index >= len) throw new RangeError(E_INDEXOUTOFRANGE); + return load(this.dataStart + index); + } + + includes(searchElement: u8, fromIndex: i32 = 0): bool { + return INCLUDES(this, searchElement, fromIndex); + } + + indexOf(searchElement: u8, fromIndex: i32 = 0): i32 { + return INDEX_OF(this, searchElement, fromIndex); + } + + lastIndexOf(searchElement: u8, fromIndex: i32 = this.length): i32 { + return LAST_INDEX_OF(this, searchElement, fromIndex); + } + + fill(value: i32, start: i32 = 0, end: i32 = i32.MAX_VALUE): Uint8ClampedArray { + value = ~(value >> 31) & (((255 - value) >> 31) | value); + FILL(this.dataStart, this.length, u8(value), start, end); + return this; + } + + sort(comparator: (a: u8, b: u8) => i32 = COMPARATOR()): Uint8ClampedArray { + SORT(this.dataStart, this.length, comparator); + return this; + } + + slice(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Uint8ClampedArray { + return SLICE(this, begin, end); + } + + subarray(start: i32 = 0, end: i32 = i32.MAX_VALUE): Uint8ClampedArray { + return SUBARRAY(this, start, end); + } + + copyWithin(target: i32, start: i32, end: i32 = i32.MAX_VALUE): Uint8ClampedArray { + return COPY_WITHIN(this, target, start, end); + } + + reduce( + fn: (accumulator: T, value: u8, index: i32, array: Uint8ClampedArray) => T, + initialValue: T, + ): T { + return REDUCE(this, fn, initialValue); + } + + reduceRight( + fn: (accumulator: T, value: u8, index: i32, array: Uint8ClampedArray) => T, + initialValue: T, + ): T { + return REDUCE_RIGHT(this, fn, initialValue); + } + + map(fn: (value: u8, index: i32, self: Uint8ClampedArray) => u8): Uint8ClampedArray { + return MAP(this, fn); + } + + filter(fn: (value: u8, index: i32, self: Uint8ClampedArray) => bool): Uint8ClampedArray { + return FILTER(this, fn); + } + + findIndex(fn: (value: u8, index: i32, self: Uint8ClampedArray) => bool): i32 { + return FIND_INDEX(this, fn); + } + + findLastIndex(fn: (value: u8, index: i32, self: Uint8ClampedArray) => bool): i32 { + return FIND_LAST_INDEX(this, fn); + } + + some(fn: (value: u8, index: i32, self: Uint8ClampedArray) => bool): bool { + return SOME(this, fn); + } + + every(fn: (value: u8, index: i32, self: Uint8ClampedArray) => bool): bool { + return EVERY(this, fn); + } + + forEach(fn: (value: u8, index: i32, self: Uint8ClampedArray) => void): void { + FOREACH(this, fn); + } + + reverse(): Uint8ClampedArray { + REVERSE(this.dataStart, this.length); + return this; + } + + join(separator: string = ","): string { + return joinIntegerArray(this.dataStart, this.length, separator); + } + + set>(source: U, offset: i32 = 0): void { + SET(this, source, offset); + } + + toString(): string { + return this.join(); + } + + static wrap(buffer: ArrayBuffer, byteOffset: i32 = 0, length: i32 = -1): Uint8ClampedArray { + return WRAP(buffer, byteOffset, length); + } +} + +export class Int16Array extends ArrayBufferView { + [key: number]: i16; + + // @ts-ignore: decorator + @lazy + static readonly BYTES_PER_ELEMENT: i32 = sizeof(); + + constructor(length: i32) { + super(length, alignof()); + } + + get length(): i32 { + return this.byteLength >>> alignof(); + } + + @operator("[]") + private __get(index: i32): i16 { + if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE); + return load(this.dataStart + (index << alignof())); + } + + @unsafe @operator("{}") + private __uget(index: i32): i16 { + return load(this.dataStart + (index << alignof())); + } + + @operator("[]=") + private __set(index: i32, value: native): void { + if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE); + store(this.dataStart + (index << alignof()), value); + } + + @unsafe @operator("{}=") + private __uset(index: i32, value: native): void { + store(this.dataStart + (index << alignof()), value); + } + + at(index: i32): i16 { + let len = this.byteLength >>> alignof(); + index += select(0, len, index >= 0); + if (index >= len) throw new RangeError(E_INDEXOUTOFRANGE); + return load(this.dataStart + (index << alignof())); + } + + includes(searchElement: i16, fromIndex: i32 = 0): bool { + return INCLUDES(this, searchElement, fromIndex); + } + + indexOf(searchElement: i16, fromIndex: i32 = 0): i32 { + return INDEX_OF(this, searchElement, fromIndex); + } + + lastIndexOf(searchElement: i16, fromIndex: i32 = this.length): i32 { + return LAST_INDEX_OF(this, searchElement, fromIndex); + } + + fill(value: i32, start: i32 = 0, end: i32 = i32.MAX_VALUE): Int16Array { + FILL(this.dataStart, this.length, u16(value), start, end); + return this; + } + + sort(comparator: (a: i16, b: i16) => i32 = COMPARATOR()): Int16Array { + SORT(this.dataStart, this.length, comparator); + return this; + } + + slice(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Int16Array { + return SLICE(this, begin, end); + } + + subarray(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Int16Array { + return SUBARRAY(this, begin, end); + } + + copyWithin(target: i32, start: i32, end: i32 = i32.MAX_VALUE): Int16Array { + return COPY_WITHIN(this, target, start, end); + } + + reduce( + fn: (accumulator: T, value: i16, index: i32, array: Int16Array) => T, + initialValue: T, + ): T { + return REDUCE(this, fn, initialValue); + } + + reduceRight( + fn: (accumulator: T, value: i16, index: i32, array: Int16Array) => T, + initialValue: T, + ): T { + return REDUCE_RIGHT(this, fn, initialValue); + } + + map(fn: (value: i16, index: i32, self: Int16Array) => i16): Int16Array { + return MAP(this, fn); + } + + filter(fn: (value: i16, index: i32, self: Int16Array) => bool): Int16Array { + return FILTER(this, fn); + } + + findIndex(fn: (value: i16, index: i32, self: Int16Array) => bool): i32 { + return FIND_INDEX(this, fn); + } + + findLastIndex(fn: (value: i16, index: i32, self: Int16Array) => bool): i32 { + return FIND_LAST_INDEX(this, fn); + } + + some(fn: (value: i16, index: i32, self: Int16Array) => bool): bool { + return SOME(this, fn); + } + + every(fn: (value: i16, index: i32, self: Int16Array) => bool): bool { + return EVERY(this, fn); + } + + forEach(fn: (value: i16, index: i32, self: Int16Array) => void): void { + FOREACH(this, fn); + } + + reverse(): Int16Array { + REVERSE(this.dataStart, this.length); + return this; + } + + join(separator: string = ","): string { + return joinIntegerArray(this.dataStart, this.length, separator); + } + + set>(source: U, offset: i32 = 0): void { + SET(this, source, offset); + } + + toString(): string { + return this.join(); + } + + static wrap(buffer: ArrayBuffer, byteOffset: i32 = 0, length: i32 = -1): Int16Array { + return WRAP(buffer, byteOffset, length); + } +} + +export class Uint16Array extends ArrayBufferView { + [key: number]: u16; + + // @ts-ignore: decorator + @lazy + static readonly BYTES_PER_ELEMENT: i32 = sizeof(); + + constructor(length: i32) { + super(length, alignof()); + } + + get length(): i32 { + return this.byteLength >>> alignof(); + } + + @operator("[]") + private __get(index: i32): u16 { + if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE); + return load(this.dataStart + (index << alignof())); + } + + @unsafe @operator("{}") + private __uget(index: i32): u16 { + return load(this.dataStart + (index << alignof())); + } + + @operator("[]=") + private __set(index: i32, value: native): void { + if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE); + store(this.dataStart + (index << alignof()), value); + } + + @unsafe @operator("{}=") + private __uset(index: i32, value: native): void { + store(this.dataStart + (index << alignof()), value); + } + + at(index: i32): u16 { + let len = this.byteLength >>> alignof(); + index += select(0, len, index >= 0); + if (index >= len) throw new RangeError(E_INDEXOUTOFRANGE); + return load(this.dataStart + (index << alignof())); + } + + includes(searchElement: u16, fromIndex: i32 = 0): bool { + return INCLUDES(this, searchElement, fromIndex); + } + + indexOf(searchElement: u16, fromIndex: i32 = 0): i32 { + return INDEX_OF(this, searchElement, fromIndex); + } + + lastIndexOf(searchElement: u16, fromIndex: i32 = this.length): i32 { + return LAST_INDEX_OF(this, searchElement, fromIndex); + } + + fill(value: u32, start: i32 = 0, end: i32 = i32.MAX_VALUE): Uint16Array { + FILL(this.dataStart, this.length, u16(value), start, end); + return this; + } + + sort(comparator: (a: u16, b: u16) => i32 = COMPARATOR()): Uint16Array { + SORT(this.dataStart, this.length, comparator); + return this; + } + + slice(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Uint16Array { + return SLICE(this, begin, end); + } + + subarray(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Uint16Array { + return SUBARRAY(this, begin, end); + } + + copyWithin(target: i32, start: i32, end: i32 = i32.MAX_VALUE): Uint16Array { + return COPY_WITHIN(this, target, start, end); + } + + reduce( + fn: (accumulator: T, value: u16, index: i32, array: Uint16Array) => T, + initialValue: T, + ): T { + return REDUCE(this, fn, initialValue); + } + + reduceRight( + fn: (accumulator: T, value: u16, index: i32, array: Uint16Array) => T, + initialValue: T, + ): T { + return REDUCE_RIGHT(this, fn, initialValue); + } + + map(fn: (value: u16, index: i32, self: Uint16Array) => u16): Uint16Array { + return MAP(this, fn); + } + + filter(fn: (value: u16, index: i32, self: Uint16Array) => bool): Uint16Array { + return FILTER(this, fn); + } + + findIndex(fn: (value: u16, index: i32, self: Uint16Array) => bool): i32 { + return FIND_INDEX(this, fn); + } + + findLastIndex(fn: (value: u16, index: i32, self: Uint16Array) => bool): i32 { + return FIND_LAST_INDEX(this, fn); + } + + some(fn: (value: u16, index: i32, self: Uint16Array) => bool): bool { + return SOME(this, fn); + } + + every(fn: (value: u16, index: i32, self: Uint16Array) => bool): bool { + return EVERY(this, fn); + } + + forEach(fn: (value: u16, index: i32, self: Uint16Array) => void): void { + FOREACH(this, fn); + } + + reverse(): Uint16Array { + REVERSE(this.dataStart, this.length); + return this; + } + + join(separator: string = ","): string { + return joinIntegerArray(this.dataStart, this.length, separator); + } + + set>(source: U, offset: i32 = 0): void { + SET(this, source, offset); + } + + toString(): string { + return this.join(); + } + + static wrap(buffer: ArrayBuffer, byteOffset: i32 = 0, length: i32 = -1): Uint16Array { + return WRAP(buffer, byteOffset, length); + } +} + +export class Int32Array extends ArrayBufferView { + [key: number]: i32; + + // @ts-ignore: decorator + @lazy + static readonly BYTES_PER_ELEMENT: i32 = sizeof(); + + constructor(length: i32) { + super(length, alignof()); + } + + get length(): i32 { + return this.byteLength >>> alignof(); + } + + @operator("[]") + private __get(index: i32): i32 { + if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE); + return load(this.dataStart + (index << alignof())); + } + + @unsafe @operator("{}") + private __uget(index: i32): i32 { + return load(this.dataStart + (index << alignof())); + } + + @operator("[]=") + private __set(index: i32, value: i32): void { + if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE); + store(this.dataStart + (index << alignof()), value); + } + + @unsafe @operator("{}=") + private __uset(index: i32, value: i32): void { + store(this.dataStart + (index << alignof()), value); + } + + at(index: i32): i32 { + let len = this.byteLength >>> alignof(); + index += select(0, len, index >= 0); + if (index >= len) throw new RangeError(E_INDEXOUTOFRANGE); + return load(this.dataStart + (index << alignof())); + } + + includes(searchElement: i32, fromIndex: i32 = 0): bool { + return INCLUDES(this, searchElement, fromIndex); + } + + indexOf(searchElement: i32, fromIndex: i32 = 0): i32 { + return INDEX_OF(this, searchElement, fromIndex); + } + + lastIndexOf(searchElement: i32, fromIndex: i32 = this.length): i32 { + return LAST_INDEX_OF(this, searchElement, fromIndex); + } + + fill(value: i32, start: i32 = 0, end: i32 = i32.MAX_VALUE): Int32Array { + FILL(this.dataStart, this.length, u32(value), start, end); + return this; + } + + sort(comparator: (a: i32, b: i32) => i32 = COMPARATOR()): Int32Array { + SORT(this.dataStart, this.length, comparator); + return this; + } + + slice(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Int32Array { + return SLICE(this, begin, end); + } + + subarray(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Int32Array { + return SUBARRAY(this, begin, end); + } + + copyWithin(target: i32, start: i32, end: i32 = i32.MAX_VALUE): Int32Array { + return COPY_WITHIN(this, target, start, end); + } + + reduce( + fn: (accumulator: T, value: i32, index: i32, array: Int32Array) => T, + initialValue: T, + ): T { + return REDUCE(this, fn, initialValue); + } + + reduceRight( + fn: (accumulator: T, value: i32, index: i32, array: Int32Array) => T, + initialValue: T, + ): T { + return REDUCE_RIGHT(this, fn, initialValue); + } + + map(fn: (value: i32, index: i32, self: Int32Array) => i32): Int32Array { + return MAP(this, fn); + } + + filter(fn: (value: i32, index: i32, self: Int32Array) => bool): Int32Array { + return FILTER(this, fn); + } + + findIndex(fn: (value: i32, index: i32, self: Int32Array) => bool): i32 { + return FIND_INDEX(this, fn); + } + + findLastIndex(fn: (value: i32, index: i32, self: Int32Array) => bool): i32 { + return FIND_LAST_INDEX(this, fn); + } + + some(fn: (value: i32, index: i32, self: Int32Array) => bool): bool { + return SOME(this, fn); + } + + every(fn: (value: i32, index: i32, self: Int32Array) => bool): bool { + return EVERY(this, fn); + } + + forEach(fn: (value: i32, index: i32, self: Int32Array) => void): void { + FOREACH(this, fn); + } + + reverse(): Int32Array { + REVERSE(this.dataStart, this.length); + return this; + } + + join(separator: string = ","): string { + return joinIntegerArray(this.dataStart, this.length, separator); + } + + set>(source: U, offset: i32 = 0): void { + SET(this, source, offset); + } + + toString(): string { + return this.join(); + } + + static wrap(buffer: ArrayBuffer, byteOffset: i32 = 0, length: i32 = -1): Int32Array { + return WRAP(buffer, byteOffset, length); + } +} + +export class Uint32Array extends ArrayBufferView { + [key: number]: u32; + + // @ts-ignore: decorator + @lazy + static readonly BYTES_PER_ELEMENT: i32 = sizeof(); + + constructor(length: i32) { + super(length, alignof()); + } + + get length(): i32 { + return this.byteLength >>> alignof(); + } + + @operator("[]") + private __get(index: i32): u32 { + if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE); + return load(this.dataStart + (index << alignof())); + } + + @unsafe @operator("{}") + private __uget(index: i32): u32 { + return load(this.dataStart + (index << alignof())); + } + + @operator("[]=") + private __set(index: i32, value: u32): void { + if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE); + store(this.dataStart + (index << alignof()), value); + } + + @unsafe @operator("{}=") + private __uset(index: i32, value: u32): void { + store(this.dataStart + (index << alignof()), value); + } + + at(index: i32): u32 { + let len = this.byteLength >>> alignof(); + index += select(0, len, index >= 0); + if (index >= len) throw new RangeError(E_INDEXOUTOFRANGE); + return load(this.dataStart + (index << alignof())); + } + + includes(searchElement: u32, fromIndex: i32 = 0): bool { + return INCLUDES(this, searchElement, fromIndex); + } + + indexOf(searchElement: u32, fromIndex: i32 = 0): i32 { + return INDEX_OF(this, searchElement, fromIndex); + } + + lastIndexOf(searchElement: u32, fromIndex: i32 = this.length): i32 { + return LAST_INDEX_OF(this, searchElement, fromIndex); + } + + fill(value: u32, start: i32 = 0, end: i32 = i32.MAX_VALUE): Uint32Array { + FILL(this.dataStart, this.length, value, start, end); + return this; + } + + sort(comparator: (a: u32, b: u32) => i32 = COMPARATOR()): Uint32Array { + SORT(this.dataStart, this.length, comparator); + return this; + } + + slice(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Uint32Array { + return SLICE(this, begin, end); + } + + subarray(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Uint32Array { + return SUBARRAY(this, begin, end); + } + + copyWithin(target: i32, start: i32, end: i32 = i32.MAX_VALUE): Uint32Array { + return COPY_WITHIN(this, target, start, end); + } + + reduce( + fn: (accumulator: T, value: u32, index: i32, array: Uint32Array) => T, + initialValue: T, + ): T { + return REDUCE(this, fn, initialValue); + } + + reduceRight( + fn: (accumulator: T, value: u32, index: i32, array: Uint32Array) => T, + initialValue: T, + ): T { + return REDUCE_RIGHT(this, fn, initialValue); + } + + map(fn: (value: u32, index: i32, self: Uint32Array) => u32): Uint32Array { + return MAP(this, fn); + } + + filter(fn: (value: u32, index: i32, self: Uint32Array) => bool): Uint32Array { + return FILTER(this, fn); + } + + findIndex(fn: (value: u32, index: i32, self: Uint32Array) => bool): i32 { + return FIND_INDEX(this, fn); + } + + findLastIndex(fn: (value: u32, index: i32, self: Uint32Array) => bool): i32 { + return FIND_LAST_INDEX(this, fn); + } + + some(fn: (value: u32, index: i32, self: Uint32Array) => bool): bool { + return SOME(this, fn); + } + + every(fn: (value: u32, index: i32, self: Uint32Array) => bool): bool { + return EVERY(this, fn); + } + + forEach(fn: (value: u32, index: i32, self: Uint32Array) => void): void { + FOREACH(this, fn); + } + + reverse(): Uint32Array { + REVERSE(this.dataStart, this.length); + return this; + } + + join(separator: string = ","): string { + return joinIntegerArray(this.dataStart, this.length, separator); + } + + set>(source: U, offset: i32 = 0): void { + SET(this, source, offset); + } + + toString(): string { + return this.join(); + } + + static wrap(buffer: ArrayBuffer, byteOffset: i32 = 0, length: i32 = -1): Uint32Array { + return WRAP(buffer, byteOffset, length); + } +} + +export class Int64Array extends ArrayBufferView { + [key: number]: i64; + + // @ts-ignore: decorator + @lazy + static readonly BYTES_PER_ELEMENT: i32 = sizeof(); + + constructor(length: i32) { + super(length, alignof()); + } + + get length(): i32 { + return this.byteLength >>> alignof(); + } + + @operator("[]") + private __get(index: i32): i64 { + if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE); + return load(this.dataStart + (index << alignof())); + } + + @unsafe @operator("{}") + private __uget(index: i32): i64 { + return load(this.dataStart + (index << alignof())); + } + + @operator("[]=") + private __set(index: i32, value: i64): void { + if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE); + store(this.dataStart + (index << alignof()), value); + } + + @unsafe @operator("{}=") + private __uset(index: i32, value: i64): void { + store(this.dataStart + (index << alignof()), value); + } + + at(index: i32): i64 { + let len = this.byteLength >>> alignof(); + index += select(0, len, index >= 0); + if (index >= len) throw new RangeError(E_INDEXOUTOFRANGE); + return load(this.dataStart + (index << alignof())); + } + + includes(searchElement: i64, fromIndex: i32 = 0): bool { + return INCLUDES(this, searchElement, fromIndex); + } + + indexOf(searchElement: i64, fromIndex: i32 = 0): i32 { + return INDEX_OF(this, searchElement, fromIndex); + } + + lastIndexOf(searchElement: i64, fromIndex: i32 = this.length): i32 { + return LAST_INDEX_OF(this, searchElement, fromIndex); + } + + fill(value: i64, start: i32 = 0, end: i32 = i32.MAX_VALUE): Int64Array { + FILL(this.dataStart, this.length, u64(value), start, end); + return this; + } + + sort(comparator: (a: i64, b: i64) => i32 = COMPARATOR()): Int64Array { + SORT(this.dataStart, this.length, comparator); + return this; + } + + slice(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Int64Array { + return SLICE(this, begin, end); + } + + subarray(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Int64Array { + return SUBARRAY(this, begin, end); + } + + copyWithin(target: i32, start: i32, end: i32 = i32.MAX_VALUE): Int64Array { + return COPY_WITHIN(this, target, start, end); + } + + reduce( + fn: (accumulator: T, value: i64, index: i32, array: Int64Array) => T, + initialValue: T, + ): T { + return REDUCE(this, fn, initialValue); + } + + reduceRight( + fn: (accumulator: T, value: i64, index: i32, array: Int64Array) => T, + initialValue: T, + ): T { + return REDUCE_RIGHT(this, fn, initialValue); + } + + map(fn: (value: i64, index: i32, self: Int64Array) => i64): Int64Array { + return MAP(this, fn); + } + + filter(fn: (value: i64, index: i32, self: Int64Array) => bool): Int64Array { + return FILTER(this, fn); + } + + findIndex(fn: (value: i64, index: i32, self: Int64Array) => bool): i32 { + return FIND_INDEX(this, fn); + } + + findLastIndex(fn: (value: i64, index: i32, self: Int64Array) => bool): i32 { + return FIND_LAST_INDEX(this, fn); + } + + some(fn: (value: i64, index: i32, self: Int64Array) => bool): bool { + return SOME(this, fn); + } + + every(fn: (value: i64, index: i32, self: Int64Array) => bool): bool { + return EVERY(this, fn); + } + + forEach(fn: (value: i64, index: i32, self: Int64Array) => void): void { + FOREACH(this, fn); + } + + reverse(): Int64Array { + REVERSE(this.dataStart, this.length); + return this; + } + + join(separator: string = ","): string { + return joinIntegerArray(this.dataStart, this.length, separator); + } + + set>(source: U, offset: i32 = 0): void { + SET(this, source, offset); + } + + toString(): string { + return this.join(); + } + + static wrap(buffer: ArrayBuffer, byteOffset: i32 = 0, length: i32 = -1): Int64Array { + return WRAP(buffer, byteOffset, length); + } +} + +export class Uint64Array extends ArrayBufferView { + [key: number]: u64; + + // @ts-ignore: decorator + @lazy + static readonly BYTES_PER_ELEMENT: i32 = sizeof(); + + constructor(length: i32) { + super(length, alignof()); + } + + get length(): i32 { + return this.byteLength >>> alignof(); + } + + @operator("[]") + private __get(index: i32): u64 { + if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE); + return load(this.dataStart + (index << alignof())); + } + + @unsafe @operator("{}") + private __uget(index: i32): u64 { + return load(this.dataStart + (index << alignof())); + } + + @operator("[]=") + private __set(index: i32, value: u64): void { + if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE); + store(this.dataStart + (index << alignof()), value); + } + + @unsafe @operator("{}=") + private __uset(index: i32, value: u64): void { + store(this.dataStart + (index << alignof()), value); + } + + at(index: i32): u64 { + let len = this.byteLength >>> alignof(); + index += select(0, len, index >= 0); + if (index >= len) throw new RangeError(E_INDEXOUTOFRANGE); + return load(this.dataStart + (index << alignof())); + } + + includes(searchElement: u64, fromIndex: i32 = 0): bool { + return INCLUDES(this, searchElement, fromIndex); + } + + indexOf(searchElement: u64, fromIndex: i32 = 0): i32 { + return INDEX_OF(this, searchElement, fromIndex); + } + + lastIndexOf(searchElement: u64, fromIndex: i32 = this.length): i32 { + return LAST_INDEX_OF(this, searchElement, fromIndex); + } + + fill(value: u64, start: i32 = 0, end: i32 = i32.MAX_VALUE): Uint64Array { + FILL(this.dataStart, this.length, value, start, end); + return this; + } + + sort(comparator: (a: u64, b: u64) => i32 = COMPARATOR()): Uint64Array { + SORT(this.dataStart, this.length, comparator); + return this; + } + + slice(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Uint64Array { + return SLICE(this, begin, end); + } + + subarray(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Uint64Array { + return SUBARRAY(this, begin, end); + } + + copyWithin(target: i32, start: i32, end: i32 = i32.MAX_VALUE): Uint64Array { + return COPY_WITHIN(this, target, start, end); + } + + reduce( + fn: (accumulator: T, value: u64, index: i32, array: Uint64Array) => T, + initialValue: T, + ): T { + return REDUCE(this, fn, initialValue); + } + + reduceRight( + fn: (accumulator: T, value: u64, index: i32, array: Uint64Array) => T, + initialValue: T, + ): T { + return REDUCE_RIGHT(this, fn, initialValue); + } + + map(fn: (value: u64, index: i32, self: Uint64Array) => u64): Uint64Array { + return MAP(this, fn); + } + + filter(fn: (value: u64, index: i32, self: Uint64Array) => bool): Uint64Array { + return FILTER(this, fn); + } + + findIndex(fn: (value: u64, index: i32, self: Uint64Array) => bool): i32 { + return FIND_INDEX(this, fn); + } + + findLastIndex(fn: (value: u64, index: i32, self: Uint64Array) => bool): i32 { + return FIND_LAST_INDEX(this, fn); + } + + some(fn: (value: u64, index: i32, self: Uint64Array) => bool): bool { + return SOME(this, fn); + } + + every(fn: (value: u64, index: i32, self: Uint64Array) => bool): bool { + return EVERY(this, fn); + } + + forEach(fn: (value: u64, index: i32, self: Uint64Array) => void): void { + FOREACH(this, fn); + } + + reverse(): Uint64Array { + REVERSE(this.dataStart, this.length); + return this; + } + + join(separator: string = ","): string { + return joinIntegerArray(this.dataStart, this.length, separator); + } + + set>(source: U, offset: i32 = 0): void { + SET(this, source, offset); + } + + toString(): string { + return this.join(); + } + + static wrap(buffer: ArrayBuffer, byteOffset: i32 = 0, length: i32 = -1): Uint64Array { + return WRAP(buffer, byteOffset, length); + } +} + +export class Float32Array extends ArrayBufferView { + [key: number]: f32; + + // @ts-ignore: decorator + @lazy + static readonly BYTES_PER_ELEMENT: i32 = sizeof(); + + constructor(length: i32) { + super(length, alignof()); + } + + get length(): i32 { + return this.byteLength >>> alignof(); + } + + @operator("[]") + private __get(index: i32): f32 { + if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE); + return load(this.dataStart + (index << alignof())); + } + + @unsafe @operator("{}") + private __uget(index: i32): f32 { + return load(this.dataStart + (index << alignof())); + } + + @operator("[]=") + private __set(index: i32, value: f32): void { + if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE); + store(this.dataStart + (index << alignof()), value); + } + + @unsafe @operator("{}=") + private __uset(index: i32, value: f32): void { + store(this.dataStart + (index << alignof()), value); + } + + at(index: i32): f32 { + let len = this.byteLength >>> alignof(); + index += select(0, len, index >= 0); + if (index >= len) throw new RangeError(E_INDEXOUTOFRANGE); + return load(this.dataStart + (index << alignof())); + } + + includes(searchElement: f32, fromIndex: i32 = 0): bool { + return INCLUDES(this, searchElement, fromIndex); + } + + indexOf(searchElement: f32, fromIndex: i32 = 0): i32 { + return INDEX_OF(this, searchElement, fromIndex); + } + + lastIndexOf(searchElement: f32, fromIndex: i32 = this.length): i32 { + return LAST_INDEX_OF(this, searchElement, fromIndex); + } + + fill(value: f32, start: i32 = 0, end: i32 = i32.MAX_VALUE): Float32Array { + FILL(this.dataStart, this.length, value, start, end); + return this; + } + + sort(comparator: (a: f32, b: f32) => i32 = COMPARATOR()): Float32Array { + SORT(this.dataStart, this.length, comparator); + return this; + } + + slice(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Float32Array { + return SLICE(this, begin, end); + } + + subarray(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Float32Array { + return SUBARRAY(this, begin, end); + } + + copyWithin(target: i32, start: i32, end: i32 = i32.MAX_VALUE): Float32Array { + return COPY_WITHIN(this, target, start, end); + } + + reduce( + fn: (accumulator: T, value: f32, index: i32, array: Float32Array) => T, + initialValue: T, + ): T { + return REDUCE(this, fn, initialValue); + } + + reduceRight( + fn: (accumulator: T, value: f32, index: i32, array: Float32Array) => T, + initialValue: T, + ): T { + return REDUCE_RIGHT(this, fn, initialValue); + } + + map(fn: (value: f32, index: i32, self: Float32Array) => f32): Float32Array { + return MAP(this, fn); + } + + filter(fn: (value: f32, index: i32, self: Float32Array) => bool): Float32Array { + return FILTER(this, fn); + } + + findIndex(fn: (value: f32, index: i32, self: Float32Array) => bool): i32 { + return FIND_INDEX(this, fn); + } + + findLastIndex(fn: (value: f32, index: i32, self: Float32Array) => bool): i32 { + return FIND_LAST_INDEX(this, fn); + } + + some(fn: (value: f32, index: i32, self: Float32Array) => bool): bool { + return SOME(this, fn); + } + + every(fn: (value: f32, index: i32, self: Float32Array) => bool): bool { + return EVERY(this, fn); + } + + forEach(fn: (value: f32, index: i32, self: Float32Array) => void): void { + FOREACH(this, fn); + } + + reverse(): Float32Array { + REVERSE(this.dataStart, this.length); + return this; + } + + join(separator: string = ","): string { + return joinFloatArray(this.dataStart, this.length, separator); + } + + set>(source: U, offset: i32 = 0): void { + SET(this, source, offset); + } + + toString(): string { + return this.join(); + } + + static wrap(buffer: ArrayBuffer, byteOffset: i32 = 0, length: i32 = -1): Float32Array { + return WRAP(buffer, byteOffset, length); + } +} + +export class Float64Array extends ArrayBufferView { + [key: number]: f64; + + // @ts-ignore: decorator + @lazy + static readonly BYTES_PER_ELEMENT: i32 = sizeof(); + + constructor(length: i32) { + super(length, alignof()); + } + + get length(): i32 { + return this.byteLength >>> alignof(); + } + + @operator("[]") + private __get(index: i32): f64 { + if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE); + return load(this.dataStart + (index << alignof())); + } + + @unsafe @operator("{}") + private __uget(index: i32): f64 { + return load(this.dataStart + (index << alignof())); + } + + @operator("[]=") + private __set(index: i32, value: f64): void { + if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE); + store(this.dataStart + (index << alignof()), value); + } + + @unsafe @operator("{}=") + private __uset(index: i32, value: f64): void { + store(this.dataStart + (index << alignof()), value); + } + + at(index: i32): f64 { + let len = this.byteLength >>> alignof(); + index += select(0, len, index >= 0); + if (index >= len) throw new RangeError(E_INDEXOUTOFRANGE); + return load(this.dataStart + (index << alignof())); + } + + includes(searchElement: f64, fromIndex: i32 = 0): bool { + return INCLUDES(this, searchElement, fromIndex); + } + + indexOf(searchElement: f64, fromIndex: i32 = 0): i32 { + return INDEX_OF(this, searchElement, fromIndex); + } + + lastIndexOf(searchElement: f64, fromIndex: i32 = this.length): i32 { + return LAST_INDEX_OF(this, searchElement, fromIndex); + } + + fill(value: f64, start: i32 = 0, end: i32 = i32.MAX_VALUE): Float64Array { + FILL(this.dataStart, this.length, value, start, end); + return this; + } + + sort(comparator: (a: f64, b: f64) => i32 = COMPARATOR()): Float64Array { + SORT(this.dataStart, this.length, comparator); + return this; + } + + slice(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Float64Array { + return SLICE(this, begin, end); + } + + subarray(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Float64Array { + return SUBARRAY(this, begin, end); + } + + copyWithin(target: i32, start: i32, end: i32 = i32.MAX_VALUE): Float64Array { + return COPY_WITHIN(this, target, start, end); + } + + reduce( + fn: (accumulator: T, value: f64, index: i32, array: Float64Array) => T, + initialValue: T, + ): T { + return REDUCE(this, fn, initialValue); + } + + reduceRight( + fn: (accumulator: T, value: f64, index: i32, array: Float64Array) => T, + initialValue: T, + ): T { + return REDUCE_RIGHT(this, fn, initialValue); + } + + map(fn: (value: f64, index: i32, self: Float64Array) => f64): Float64Array { + return MAP(this, fn); + } + + filter(fn: (value: f64, index: i32, self: Float64Array) => bool): Float64Array { + return FILTER(this, fn); + } + + findIndex(fn: (value: f64, index: i32, self: Float64Array) => bool): i32 { + return FIND_INDEX(this, fn); + } + + findLastIndex(fn: (value: f64, index: i32, self: Float64Array) => bool): i32 { + return FIND_LAST_INDEX(this, fn); + } + + some(fn: (value: f64, index: i32, self: Float64Array) => bool): bool { + return SOME(this, fn); + } + + every(fn: (value: f64, index: i32, self: Float64Array) => bool): bool { + return EVERY(this, fn); + } + + forEach(fn: (value: f64, index: i32, self: Float64Array) => void): void { + FOREACH(this, fn); + } + + reverse(): Float64Array { + REVERSE(this.dataStart, this.length); + return this; + } + + join(separator: string = ","): string { + return joinFloatArray(this.dataStart, this.length, separator); + } + + set>(source: U, offset: i32 = 0): void { + SET(this, source, offset); + } + + toString(): string { + return this.join(); + } + + static wrap(buffer: ArrayBuffer, byteOffset: i32 = 0, length: i32 = -1): Float64Array { + return WRAP(buffer, byteOffset, length); + } +} + +// @ts-ignore: decorator +@inline +function SLICE( + array: TArray, + start: i32, + end: i32 +): TArray { + let len = array.length; + start = start < 0 ? max(start + len, 0) : min(start, len); + end = end < 0 ? max(end + len, 0) : min(end , len); + len = max(end - start, 0); + let slice = instantiate(len); + memory.copy( + slice.dataStart, + array.dataStart + (start << alignof()), + len << alignof() + ); + return slice; +} + +// @ts-ignore: decorator +@inline +function SUBARRAY( + array: TArray, + begin: i32, + end: i32 +): TArray { + let len = array.length; + begin = begin < 0 ? max(len + begin, 0) : min(begin, len); + end = end < 0 ? max(len + end, 0) : min(end, len); + end = max(end, begin); + + let out = changetype(__new(offsetof(), idof())); + let buf = changetype(array.buffer); + store(changetype(out), buf, offsetof("buffer")); + __link(changetype(out), buf, false); + store(changetype(out), array.dataStart + (begin << alignof()), offsetof("dataStart")); + store(changetype(out), (end - begin) << alignof(), offsetof("byteLength")); + return out; +} + +// @ts-ignore: decorator +@inline +function COPY_WITHIN( + array: TArray, + target: i32, + start: i32, + end: i32 +): TArray { + let len = array.length; + let ptr = array.dataStart; + + end = min(end, len); + let to = target < 0 ? max(len + target, 0) : min(target, len); + let from = start < 0 ? max(len + start, 0) : min(start, len); + let last = end < 0 ? max(len + end, 0) : min(end, len); + let count = min(last - from, len - to); + + memory.copy( + ptr + (to << alignof()), + ptr + (from << alignof()), + count << alignof() + ); + return array; +} + +// @ts-ignore: decorator +@inline +function REDUCE( + array: TArray, + fn: (accumulator: TRet, value: T, index: i32, array: TArray) => TRet, + initialValue: TRet +): TRet { + let ptr = array.dataStart; + for (let i = 0, k = array.length; i < k; i++) { + initialValue = fn(initialValue, load(ptr + (i << alignof())), i, array); + } + return initialValue; +} + +// @ts-ignore: decorator +@inline +function REDUCE_RIGHT( + array: TArray, + fn: (accumulator: TRet, value: T, index: i32, array: TArray) => TRet, + initialValue: TRet +): TRet { + let ptr = array.dataStart; + for (let i = array.length - 1; i >= 0; i--) { + initialValue = fn(initialValue, load(ptr + (i << alignof())), i, array); + } + return initialValue; +} + +// @ts-ignore: decorator +@inline +function MAP( + array: TArray, + fn: (value: T, index: i32, self: TArray) => T, +): TArray { + let len = array.length; + let ptr = array.dataStart; + + let byteLength = len << alignof(); + let out = changetype(__new(offsetof(), idof())); + let buf = changetype(__new(byteLength, idof())); + for (let i = 0; i < len; i++) { + store( + changetype(buf) + (i << alignof()), + fn(load(ptr + (i << alignof())), i, array) + ); + } + store(changetype(out), changetype(buf), offsetof("buffer")); + __link(changetype(out), changetype(buf), false); + store(changetype(out), changetype(buf), offsetof("dataStart")); + store(changetype(out), byteLength, offsetof("byteLength")); + return out; +} + +// @ts-ignore: decorator +@inline +function FILTER( + array: TArray, + fn: (value: T, index: i32, self: TArray) => bool, +): TArray { + let len = array.length; + let out = changetype(__new(offsetof(), idof())); + let buf = changetype(__new(len << alignof(), idof())); + let dataStart = array.dataStart; + let j: usize = 0; + for (let i = 0; i < len; i++) { + let value = load(dataStart + (i << alignof())); + if (fn(value, i, array)) { + store( + changetype(buf) + (j++ << alignof()), + value + ); + } + } + // shrink output buffer + let byteLength = j << alignof(); + let data = __renew(changetype(buf), byteLength); + store(changetype(out), data, offsetof("buffer")); + __link(changetype(out), data, false); + store(changetype(out), byteLength, offsetof("byteLength")); + store(changetype(out), data, offsetof("dataStart")); + return out; +} + +// @ts-ignore: decorator +@inline +function FIND_INDEX( + array: TArray, + fn: (value: T, index: i32, array: TArray) => bool, +): i32 { + let ptr = array.dataStart; + for (let i = 0, k = array.length; i < k; i++) { + if (fn(load(ptr + (i << alignof())), i, array)) return i; + } + return -1; +} + +// @ts-ignore: decorator +@inline +function FIND_LAST_INDEX( + array: TArray, + fn: (value: T, index: i32, array: TArray) => bool, +): i32 { + let ptr = array.dataStart; + for (let i = array.length - 1; i >= 0; --i) { + if (fn(load(ptr + (i << alignof())), i, array)) return i; + } + return -1; +} + +// @ts-ignore: decorator +@inline +function INCLUDES( + array: TArray, + searchElement: T, + fromIndex: i32, +): bool { + if (isFloat()) { + let index: isize = fromIndex; + let len: isize = array.length; + if (len == 0 || index >= len) return false; + if (index < 0) index = max(len + index, 0); + let dataStart = array.dataStart; + while (index < len) { + let elem = load(dataStart + (index << alignof())); + // @ts-ignore + if (elem == searchElement || isNaN(elem) & isNaN(searchElement)) return true; + ++index; + } + return false; + } else { + return INDEX_OF(array, searchElement, fromIndex) >= 0; + } +} + +// @ts-ignore: decorator +@inline +function INDEX_OF( + array: TArray, + searchElement: T, + fromIndex: i32, +): i32 { + let index: isize = fromIndex; + let len: isize = array.length; + if (len == 0 || index >= len) return -1; + if (index < 0) index = max(len + index, 0); + let dataStart = array.dataStart; + while (index < len) { + if (load(dataStart + (index << alignof())) == searchElement) return index; + ++index; + } + return -1; +} + +// @ts-ignore: decorator +@inline +function LAST_INDEX_OF( + array: TArray, + searchElement: T, + fromIndex: i32, +): i32 { + let index: isize = fromIndex; + let len: isize = array.length; + if (len == 0) return -1; + if (index < 0) index = len + index; // no need to clamp + else if (index >= len) index = len - 1; + let dataStart = array.dataStart; + while (index >= 0) { + if (load(dataStart + (index << alignof())) == searchElement) return index; + --index; + } + return -1; +} + +// @ts-ignore: decorator +@inline +function SOME( + array: TArray, + fn: (value: T, index: i32, array: TArray) => bool, +): bool { + let ptr = array.dataStart; + for (let i = 0, k = array.length; i < k; i++) { + if (fn(load(ptr + (i << alignof())), i, array)) return true; + } + return false; +} + +// @ts-ignore: decorator +@inline +function EVERY( + array: TArray, + fn: (value: T, index: i32, array: TArray) => bool, +): bool { + let ptr = array.dataStart; + for (let i = 0, k = array.length; i < k; i++) { + if (fn(load(ptr + (i << alignof())), i, array)) continue; + return false; + } + return true; +} + +// @ts-ignore: decorator +@inline +function FOREACH( + array: TArray, + fn: (value: T, index: i32, array: TArray) => void, +): void { + let ptr = array.dataStart; + for (let i = 0, k = array.length; i < k; i++) { + fn(load(ptr + (i << alignof())), i, array); + } +} + +// @ts-ignore: decorator +@inline +function WRAP( + buffer: ArrayBuffer, + byteOffset: i32 = 0, + len: i32 = -1 +): TArray { + let byteLength: i32; + let bufferByteLength = buffer.byteLength; + const mask: u32 = sizeof() - 1; + if (i32(byteOffset > bufferByteLength) | (byteOffset & mask)) { + throw new RangeError(E_INDEXOUTOFRANGE); + } + if (len < 0) { + if (len == -1) { + if (bufferByteLength & mask) { + throw new RangeError(E_INVALIDLENGTH); + } + byteLength = bufferByteLength - byteOffset; + } else { + throw new RangeError(E_INVALIDLENGTH); + } + } else { + byteLength = len << alignof(); + if (byteOffset + byteLength > bufferByteLength) { + throw new RangeError(E_INVALIDLENGTH); + } + } + let out = changetype(__new(offsetof(), idof())); + store(changetype(out), changetype(buffer), offsetof("buffer")); + __link(changetype(out), changetype(buffer), false); + store(changetype(out), byteLength, offsetof("byteLength")); + store(changetype(out), changetype(buffer) + byteOffset, offsetof("dataStart")); + return out; +} + +// @ts-ignore: decorator +@inline +function SET< + TArray extends ArrayLike, + UArray extends ArrayLike +>( + target: TArray, + source: UArray, + offset: i32 = 0 +): void { + // need to assert at compile time that U is not a reference or a function + if (isReference>()) { + ERROR(E_NOTIMPLEMENTED); + } + let sourceLen = source.length; + if (offset < 0 || sourceLen + offset > target.length) { + // offset is out of bounds + throw new RangeError(E_INDEXOUTOFRANGE); + } + // @ts-ignore: dataStart + let targetStart = target.dataStart + (offset << (alignof>())); + // @ts-ignore: dataStart + let sourceStart = source.dataStart; + // if the types align and match, use memory.copy() instead of manual loop + if ( + isInteger>() == isInteger>() && + alignof>() == alignof>() && + !(isSigned>() && target instanceof Uint8ClampedArray) + ) { + memory.copy(targetStart, sourceStart, sourceLen << (alignof>())); + } else { + for (let i = 0; i < sourceLen; i++) { + let ptr = targetStart + (i << (alignof>())); + let value = load>(sourceStart + (i << (alignof>()))); + // if TArray is Uint8ClampedArray, then values must be clamped + if (target instanceof Uint8ClampedArray) { + if (isFloat>()) { + store>(ptr, + isFinite>(value) + ? >max>(0, min>(255, value)) + : 0 + ); + } else { + if (!isSigned>()) { + store>(ptr, min>(255, value)); + } else if (sizeof>() <= 4) { + store>(ptr, ~(value >> 31) & (((255 - value) >> 31) | value)); + } else { + store>(ptr, ~(value >> 63) & (((255 - value) >> 63) | value)); + } + } + } else { + if (isFloat>() && !isFloat>()) { + store>(ptr, isFinite>(value) ? >value : 0); + } else { + store>(ptr, >value); + } + } + } + } +} +`,uri:`import { encode, decode, URI_UNSAFE, URL_UNSAFE } from "./util/uri"; + +export function encodeURI(str: string): string { + return changetype(encode(changetype(str), str.length, URI_UNSAFE)); +} + +export function decodeURI(str: string): string { + return changetype(decode(changetype(str), str.length, false)); +} + +export function encodeURIComponent(str: string): string { + return changetype(encode(changetype(str), str.length, URL_UNSAFE)); +} + +export function decodeURIComponent(str: string): string { + return changetype(decode(changetype(str), str.length, true)); +} +`,"util/bytes":`export function REVERSE(ptr: usize, len: usize): void { + if (len > 1) { + let + i: usize = 0, + tail: usize, + hlen: usize = len >> 1; + + if (ASC_SHRINK_LEVEL < 1) { + if (sizeof() == 1) { + // TODO: Decide later: Does we need this fast path cases? + // + // if (len == 4) { + // store(ptr, bswap(load(ptr))); + // return; + // } + // if (len == 8) { + // store(ptr, bswap(load(ptr))); + // return; + // } + tail = len - 8; + while (i + 7 < hlen) { + let front = ptr + i; + let back = ptr + tail - i; + let temp = bswap(load(front)); + store(front, bswap(load(back))); + store(back, temp); + i += 8; + } + } + + if (sizeof() == 2) { + tail = len - 2; + while (i + 1 < hlen) { + let front = ptr + (i << 1); + let back = ptr + (tail - i << 1); + let temp = rotr(load(back), 16); + store(back, rotr(load(front), 16)); + store(front, temp); + i += 2; + } + } + } + + tail = len - 1; + while (i < hlen) { + let front = ptr + (i << alignof()); + let back = ptr + (tail - i << alignof()); + let temp = load(front); + store(front, load(back)); + store(back, temp); + i++; + } + } +} + +export function FILL( + ptr: usize, + len: usize, + value: T, + start: isize, + end: isize +): void { + start = start < 0 ? max(len + start, 0) : min(start, len); + end = end < 0 ? max(len + end, 0) : min(end, len); + + if (sizeof() == 1) { + if (start < end) { + memory.fill( + ptr + start, + u8(value), + (end - start) + ); + } + } else { + if (ASC_SHRINK_LEVEL <= 1) { + if (isInteger()) { + // @ts-ignore + if (value == 0 | value == -1) { + if (start < end) { + memory.fill( + ptr + (start << alignof()), + u8(value), + (end - start) << alignof() + ); + } + return; + } + } else if (isFloat()) { + // for floating non-negative zeros we can use fast memory.fill + if ((sizeof() == 4 && reinterpret(f32(value)) == 0) || + (sizeof() == 8 && reinterpret(f64(value)) == 0)) { + if (start < end) { + memory.fill( + ptr + (start << alignof()), + 0, + (end - start) << alignof() + ); + } + return; + } + } + } + for (; start < end; ++start) { + store(ptr + (start << alignof()), value); + } + } +} +`,"util/casemap":`// Total tables size: ~5 kb (usually compressed to ~4 kb) +// See: https://git.musl-libc.org/cgit/musl/tree/src/ctype/casemap.h + +// @ts-ignore: decorator +@lazy @inline const TAB = memory.data([ + 7, 8, 9, 10, 11, 12, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 13, 6, 6, 14, 6, 6, 6, 6, 6, 6, 6, 6, 15, 16, 17, 18, + 6, 19, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 20, 21, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 22, 23, 6, 6, 6, 24, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 25, + 6, 6, 6, 6, 26, 6, 6, 6, 6, 6, 6, 6, 27, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 28, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 29, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 30, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, + 43, 43, 43, 43, 43, 43, 43, 43, 1, 0, 84, 86, 86, 86, 86, 86, + 86, 86, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 43, 43, 43, 43, 43, 43, + 43, 7, 43, 43, 91, 86, 86, 86, 86, 86, 86, 86, 74, 86, 86, 5, + 49, 80, 49, 80, 49, 80, 49, 80, 49, 80, 49, 80, 49, 80, 49, 80, + 36, 80, 121, 49, 80, 49, 80, 49, 56, 80, 49, 80, 49, 80, 49, 80, + 49, 80, 49, 80, 49, 80, 49, 80, 78, 49, 2, 78, 13, 13, 78, 3, + 78, 0, 36, 110, 0, 78, 49, 38, 110, 81, 78, 36, 80, 78, 57, 20, + 129, 27, 29, 29, 83, 49, 80, 49, 80, 13, 49, 80, 49, 80, 49, 80, + 27, 83, 36, 80, 49, 2, 92, 123, 92, 123, 92, 123, 92, 123, 92, 123, + 20, 121, 92, 123, 92, 123, 92, 45, 43, 73, 3, 72, 3, 120, 92, 123, + 20, 0, 150, 10, 1, 43, 40, 6, 6, 0, 42, 6, 42, 42, 43, 7, + 187, 181, 43, 30, 0, 43, 7, 43, 43, 43, 1, 43, 43, 43, 43, 43, + 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, + 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 1, 43, 43, 43, 43, + 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, + 43, 43, 43, 42, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, + 43, 205, 70, 205, 43, 0, 37, 43, 7, 1, 6, 1, 85, 86, 86, 86, + 86, 86, 85, 86, 86, 2, 36, 129, 129, 129, 129, 129, 21, 129, 129, 129, + 0, 0, 43, 0, 178, 209, 178, 209, 178, 209, 178, 209, 0, 0, 205, 204, + 1, 0, 215, 215, 215, 215, 215, 131, 129, 129, 129, 129, 129, 129, 129, 129, + 129, 129, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 28, 0, 0, 0, + 0, 0, 49, 80, 49, 80, 49, 80, 49, 80, 49, 80, 49, 2, 0, 0, + 49, 80, 49, 80, 49, 80, 49, 80, 49, 80, 49, 80, 49, 80, 49, 80, + 49, 80, 78, 49, 80, 49, 80, 78, 49, 80, 49, 80, 49, 80, 49, 80, + 49, 80, 49, 80, 49, 80, 49, 2, 135, 166, 135, 166, 135, 166, 135, 166, + 135, 166, 135, 166, 135, 166, 135, 166, 42, 43, 43, 43, 43, 43, 43, 43, + 43, 43, 43, 43, 43, 0, 0, 0, 84, 86, 86, 86, 86, 86, 86, 86, + 86, 86, 86, 86, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 84, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, + 12, 0, 12, 42, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, + 43, 7, 42, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 43, 43, 43, 43, 43, 43, + 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, + 43, 43, 43, 43, 86, 86, 108, 129, 21, 0, 43, 43, 43, 43, 43, 43, + 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, + 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, + 43, 43, 43, 43, 7, 108, 3, 65, 43, 43, 86, 86, 86, 86, 86, 86, + 86, 86, 86, 86, 86, 86, 86, 86, 44, 86, 43, 43, 43, 43, 43, 43, + 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 12, 108, 0, 0, 0, 0, 0, 6, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 6, 37, 6, 37, 6, 37, 6, 37, 6, 37, + 6, 37, 6, 37, 6, 37, 6, 37, 6, 37, 6, 37, 6, 37, 6, 37, + 6, 37, 6, 37, 6, 37, 6, 37, 6, 37, 6, 37, 6, 37, 6, 37, + 6, 37, 6, 37, 6, 37, 6, 37, 86, 122, 158, 38, 6, 37, 6, 37, + 6, 37, 6, 37, 6, 37, 6, 37, 6, 37, 6, 37, 6, 37, 6, 37, + 6, 37, 6, 37, 6, 37, 6, 37, 6, 37, 6, 1, 43, 43, 79, 86, + 86, 44, 43, 127, 86, 86, 57, 43, 43, 85, 86, 86, 43, 43, 79, 86, + 86, 44, 43, 127, 86, 86, 129, 55, 117, 91, 123, 92, 43, 43, 79, 86, + 86, 2, 172, 4, 0, 0, 57, 43, 43, 85, 86, 86, 43, 43, 79, 86, + 86, 44, 43, 43, 86, 86, 50, 19, 129, 87, 0, 111, 129, 126, 201, 215, + 126, 45, 129, 129, 14, 126, 57, 127, 111, 87, 0, 129, 129, 126, 21, 0, + 126, 3, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 7, 43, + 36, 43, 151, 43, 43, 43, 43, 43, 43, 43, 43, 43, 42, 43, 43, 43, + 43, 43, 86, 86, 86, 86, 86, 128, 129, 129, 129, 129, 57, 187, 42, 43, + 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, + 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, + 43, 43, 43, 43, 43, 43, 43, 1, 129, 129, 129, 129, 129, 129, 129, 129, + 129, 129, 129, 129, 129, 129, 129, 201, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 208, 13, 0, 78, 49, 2, 180, 193, 193, + 215, 215, 36, 80, 49, 80, 49, 80, 49, 80, 49, 80, 49, 80, 49, 80, + 49, 80, 49, 80, 49, 80, 49, 80, 49, 80, 49, 80, 49, 80, 49, 80, + 49, 80, 49, 80, 215, 215, 83, 193, 71, 212, 215, 215, 215, 5, 43, 43, + 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 7, 1, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 78, 49, 80, 49, 80, 49, 80, + 49, 80, 49, 80, 49, 80, 49, 80, 13, 0, 0, 0, 0, 0, 36, 80, + 49, 80, 49, 80, 49, 80, 49, 80, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 43, 43, 43, 43, 43, + 43, 43, 43, 43, 43, 121, 92, 123, 92, 123, 79, 123, 92, 123, 92, 123, + 92, 123, 92, 123, 92, 123, 92, 123, 92, 123, 92, 123, 92, 123, 92, 45, + 43, 43, 121, 20, 92, 123, 92, 45, 121, 42, 92, 39, 92, 123, 92, 123, + 92, 123, 164, 0, 10, 180, 92, 123, 92, 123, 79, 3, 120, 56, 43, 43, + 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 79, 45, 43, 43, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 42, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, + 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 43, 43, 43, 43, 43, 43, 43, 43, 7, 0, 72, 86, 86, 86, 86, + 86, 86, 86, 86, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 43, 43, 43, + 43, 43, 43, 43, 43, 43, 43, 43, 43, 85, 86, 86, 86, 86, 86, 86, + 86, 86, 86, 86, 86, 86, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 36, 43, 43, 43, 43, 43, 43, 43, 43, 43, + 43, 43, 7, 0, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 43, 43, 43, + 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 7, 0, 0, + 0, 0, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, + 86, 86, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 43, 43, + 43, 43, 43, 43, 43, 43, 43, 43, 86, 86, 86, 86, 86, 86, 86, 86, + 86, 86, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 42, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 86, 86, + 86, 86, 86, 86, 86, 86, 86, 86, 14, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 85, + 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 14, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +]); + +// @ts-ignore: decorator +@lazy @inline const RULES = memory.data([ + 0x0, 0x2001, -0x2000, 0x1dbf00, 0x2e700, 0x7900, + 0x2402, 0x101, -0x100, 0x0, 0x201, -0x200, + -0xc6ff, -0xe800, -0x78ff, -0x12c00, 0xc300, 0xd201, + 0xce01, 0xcd01, 0x4f01, 0xca01, 0xcb01, 0xcf01, + 0x6100, 0xd301, 0xd101, 0xa300, 0xd501, 0x8200, + 0xd601, 0xda01, 0xd901, 0xdb01, 0x3800, 0x3, + -0x4f00, -0x60ff, -0x37ff, 0x242802, 0x0, 0x101, + -0x100, -0xcd00, -0xda00, -0x81ff, 0x2a2b01, -0xa2ff, + 0x2a2801, 0x2a3f00, -0xc2ff, 0x4501, 0x4701, 0x2a1f00, + 0x2a1c00, 0x2a1e00, -0xd200, -0xce00, -0xca00, -0xcb00, + 0xa54f00, 0xa54b00, -0xcf00, 0xa52800, 0xa54400, -0xd100, + -0xd300, 0x29f700, 0xa54100, 0x29fd00, -0xd500, -0xd600, + 0x29e700, 0xa54300, 0xa52a00, -0x4500, -0xd900, -0x4700, + -0xdb00, 0xa51500, 0xa51200, 0x4c2402, 0x0, 0x2001, + -0x2000, 0x101, -0x100, 0x5400, 0x7401, 0x2601, + 0x2501, 0x4001, 0x3f01, -0x2600, -0x2500, -0x1f00, + -0x4000, -0x3f00, 0x801, -0x3e00, -0x3900, -0x2f00, + -0x3600, -0x800, -0x5600, -0x5000, 0x700, -0x7400, + -0x3bff, -0x6000, -0x6ff, 0x701a02, 0x101, -0x100, + 0x2001, -0x2000, 0x5001, 0xf01, -0xf00, 0x0, + 0x3001, -0x3000, 0x101, -0x100, 0x0, 0xbc000, + 0x1c6001, 0x0, 0x97d001, 0x801, -0x800, 0x8a0502, + 0x0, -0xbbfff, -0x186200, 0x89c200, -0x182500, -0x186e00, + -0x186d00, -0x186400, -0x186300, -0x185c00, 0x0, 0x8a3800, + 0x8a0400, 0xee600, 0x101, -0x100, 0x0, -0x3b00, + -0x1dbeff, 0x8f1d02, 0x800, -0x7ff, 0x0, 0x5600, + -0x55ff, 0x4a00, 0x6400, 0x8000, 0x7000, 0x7e00, + 0x900, -0x49ff, -0x8ff, -0x1c2500, -0x63ff, -0x6fff, + -0x7fff, -0x7dff, 0xac0502, 0x0, 0x1001, -0x1000, + 0x1c01, 0x101, -0x1d5cff, -0x20beff, -0x2045ff, -0x1c00, + 0xb10b02, 0x101, -0x100, 0x3001, -0x3000, 0x0, + -0x29f6ff, -0xee5ff, -0x29e6ff, -0x2a2b00, -0x2a2800, -0x2a1bff, + -0x29fcff, -0x2a1eff, -0x2a1dff, -0x2a3eff, 0x0, -0x1c6000, + 0x0, 0x101, -0x100, 0xbc0c02, 0x0, 0x101, + -0x100, -0xa543ff, 0x3a001, -0x8a03ff, -0xa527ff, 0x3000, + -0xa54eff, -0xa54aff, -0xa540ff, -0xa511ff, -0xa529ff, -0xa514ff, + -0x2fff, -0xa542ff, -0x8a37ff, 0x0, -0x97d000, -0x3a000, + 0x0, 0x2001, -0x2000, 0x0, 0x2801, -0x2800, + 0x0, 0x4001, -0x4000, 0x0, 0x2001, -0x2000, + 0x0, 0x2001, -0x2000, 0x0, 0x2201, -0x2200 +]); + +// @ts-ignore: decorator +@lazy @inline const RULE_BASES = memory.data([ + 0, 6, 39, 81, 111, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 124, 0, 0, 127, 0, 0, 0, 0, 0, 0, 0, 0, 131, 142, 146, 151, + 0, 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 180, 196, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 198, 201, 0, 0, 0, 219, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 222, + 0, 0, 0, 0, 225, 0, 0, 0, 0, 0, 0, 0, 228, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 231, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 234, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 237, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +]); + +// @ts-ignore: decorator +@lazy @inline const EXCEPTIONS = memory.data([ + 48, 12, 49, 13, 120, 14, 127, 15, + 128, 16, 129, 17, 134, 18, 137, 19, + 138, 19, 142, 20, 143, 21, 144, 22, + 147, 19, 148, 23, 149, 24, 150, 25, + 151, 26, 154, 27, 156, 25, 157, 28, + 158, 29, 159, 30, 166, 31, 169, 31, + 174, 31, 177, 32, 178, 32, 183, 33, + 191, 34, 197, 35, 200, 35, 203, 35, + 221, 36, 242, 35, 246, 37, 247, 38, + 32, 45, 58, 46, 61, 47, 62, 48, + 63, 49, 64, 49, 67, 50, 68, 51, + 69, 52, 80, 53, 81, 54, 82, 55, + 83, 56, 84, 57, 89, 58, 91, 59, + 92, 60, 97, 61, 99, 62, 101, 63, + 102, 64, 104, 65, 105, 66, 106, 64, + 107, 67, 108, 68, 111, 66, 113, 69, + 114, 70, 117, 71, 125, 72, 130, 73, + 135, 74, 137, 75, 138, 76, 139, 76, + 140, 77, 146, 78, 157, 79, 158, 80, + 69, 87, 123, 29, 124, 29, 125, 29, + 127, 88, 134, 89, 136, 90, 137, 90, + 138, 90, 140, 91, 142, 92, 143, 92, + 172, 93, 173, 94, 174, 94, 175, 94, + 194, 95, 204, 96, 205, 97, 206, 97, + 207, 98, 208, 99, 209, 100, 213, 101, + 214, 102, 215, 103, 240, 104, 241, 105, + 242, 106, 243, 107, 244, 108, 245, 109, + 249, 110, 253, 45, 254, 45, 255, 45, + 80, 105, 81, 105, 82, 105, 83, 105, + 84, 105, 85, 105, 86, 105, 87, 105, + 88, 105, 89, 105, 90, 105, 91, 105, + 92, 105, 93, 105, 94, 105, 95, 105, + 130, 0, 131, 0, 132, 0, 133, 0, + 134, 0, 135, 0, 136, 0, 137, 0, + 192, 117, 207, 118, 128, 137, 129, 138, + 130, 139, 133, 140, 134, 141, 112, 157, + 113, 157, 118, 158, 119, 158, 120, 159, + 121, 159, 122, 160, 123, 160, 124, 161, + 125, 161, 179, 162, 186, 163, 187, 163, + 188, 164, 190, 165, 195, 162, 204, 164, + 218, 166, 219, 166, 229, 106, 234, 167, + 235, 167, 236, 110, 243, 162, 248, 168, + 249, 168, 250, 169, 251, 169, 252, 164, + 38, 176, 42, 177, 43, 178, 78, 179, + 132, 8, 98, 186, 99, 187, 100, 188, + 101, 189, 102, 190, 109, 191, 110, 192, + 111, 193, 112, 194, 126, 195, 127, 195, + 125, 207, 141, 208, 148, 209, 171, 210, + 172, 211, 173, 212, 176, 213, 177, 214, + 178, 215, 196, 216, 197, 217, 198, 218 +]); + +/* Special Case Mappings + * See: https://unicode.org/Public/UNIDATA/SpecialCasing.txt + */ + +/* +@lazy @inline +const SPECIALS_LOWER: StaticArray = [ + 0x0130, 0x0069, 0x0307, 0x0000, +]; +*/ + +// @ts-ignore: decorator +@lazy @inlne +export const SPECIALS_UPPER: StaticArray = [ + // String#toUpperCase needs .length + 0x00DF, 0x0053, 0x0053, 0x0000, + 0x0149, 0x02BC, 0x004E, 0x0000, + 0x01F0, 0x004A, 0x030C, 0x0000, + 0x0390, 0x0399, 0x0308, 0x0301, + 0x03B0, 0x03A5, 0x0308, 0x0301, + 0x0587, 0x0535, 0x0552, 0x0000, + 0x1E96, 0x0048, 0x0331, 0x0000, + 0x1E97, 0x0054, 0x0308, 0x0000, + 0x1E98, 0x0057, 0x030A, 0x0000, + 0x1E99, 0x0059, 0x030A, 0x0000, + 0x1E9A, 0x0041, 0x02BE, 0x0000, + 0x1F50, 0x03A5, 0x0313, 0x0000, + 0x1F52, 0x03A5, 0x0313, 0x0300, + 0x1F54, 0x03A5, 0x0313, 0x0301, + 0x1F56, 0x03A5, 0x0313, 0x0342, + 0x1F80, 0x1F08, 0x0399, 0x0000, + 0x1F81, 0x1F09, 0x0399, 0x0000, + 0x1F82, 0x1F0A, 0x0399, 0x0000, + 0x1F83, 0x1F0B, 0x0399, 0x0000, + 0x1F84, 0x1F0C, 0x0399, 0x0000, + 0x1F85, 0x1F0D, 0x0399, 0x0000, + 0x1F86, 0x1F0E, 0x0399, 0x0000, + 0x1F87, 0x1F0F, 0x0399, 0x0000, + 0x1F88, 0x1F08, 0x0399, 0x0000, + 0x1F89, 0x1F09, 0x0399, 0x0000, + 0x1F8A, 0x1F0A, 0x0399, 0x0000, + 0x1F8B, 0x1F0B, 0x0399, 0x0000, + 0x1F8C, 0x1F0C, 0x0399, 0x0000, + 0x1F8D, 0x1F0D, 0x0399, 0x0000, + 0x1F8E, 0x1F0E, 0x0399, 0x0000, + 0x1F8F, 0x1F0F, 0x0399, 0x0000, + 0x1F90, 0x1F28, 0x0399, 0x0000, + 0x1F91, 0x1F29, 0x0399, 0x0000, + 0x1F92, 0x1F2A, 0x0399, 0x0000, + 0x1F93, 0x1F2B, 0x0399, 0x0000, + 0x1F94, 0x1F2C, 0x0399, 0x0000, + 0x1F95, 0x1F2D, 0x0399, 0x0000, + 0x1F96, 0x1F2E, 0x0399, 0x0000, + 0x1F97, 0x1F2F, 0x0399, 0x0000, + 0x1F98, 0x1F28, 0x0399, 0x0000, + 0x1F99, 0x1F29, 0x0399, 0x0000, + 0x1F9A, 0x1F2A, 0x0399, 0x0000, + 0x1F9B, 0x1F2B, 0x0399, 0x0000, + 0x1F9C, 0x1F2C, 0x0399, 0x0000, + 0x1F9D, 0x1F2D, 0x0399, 0x0000, + 0x1F9E, 0x1F2E, 0x0399, 0x0000, + 0x1F9F, 0x1F2F, 0x0399, 0x0000, + 0x1FA0, 0x1F68, 0x0399, 0x0000, + 0x1FA1, 0x1F69, 0x0399, 0x0000, + 0x1FA2, 0x1F6A, 0x0399, 0x0000, + 0x1FA3, 0x1F6B, 0x0399, 0x0000, + 0x1FA4, 0x1F6C, 0x0399, 0x0000, + 0x1FA5, 0x1F6D, 0x0399, 0x0000, + 0x1FA6, 0x1F6E, 0x0399, 0x0000, + 0x1FA7, 0x1F6F, 0x0399, 0x0000, + 0x1FA8, 0x1F68, 0x0399, 0x0000, + 0x1FA9, 0x1F69, 0x0399, 0x0000, + 0x1FAA, 0x1F6A, 0x0399, 0x0000, + 0x1FAB, 0x1F6B, 0x0399, 0x0000, + 0x1FAC, 0x1F6C, 0x0399, 0x0000, + 0x1FAD, 0x1F6D, 0x0399, 0x0000, + 0x1FAE, 0x1F6E, 0x0399, 0x0000, + 0x1FAF, 0x1F6F, 0x0399, 0x0000, + 0x1FB2, 0x1FBA, 0x0399, 0x0000, + 0x1FB3, 0x0391, 0x0399, 0x0000, + 0x1FB4, 0x0386, 0x0399, 0x0000, + 0x1FB6, 0x0391, 0x0342, 0x0000, + 0x1FB7, 0x0391, 0x0342, 0x0399, + 0x1FBC, 0x0391, 0x0399, 0x0000, + 0x1FC2, 0x1FCA, 0x0399, 0x0000, + 0x1FC3, 0x0397, 0x0399, 0x0000, + 0x1FC4, 0x0389, 0x0399, 0x0000, + 0x1FC6, 0x0397, 0x0342, 0x0000, + 0x1FC7, 0x0397, 0x0342, 0x0399, + 0x1FCC, 0x0397, 0x0399, 0x0000, + 0x1FD2, 0x0399, 0x0308, 0x0300, + 0x1FD3, 0x0399, 0x0308, 0x0301, + 0x1FD6, 0x0399, 0x0342, 0x0000, + 0x1FD7, 0x0399, 0x0308, 0x0342, + 0x1FE2, 0x03A5, 0x0308, 0x0300, + 0x1FE3, 0x03A5, 0x0308, 0x0301, + 0x1FE4, 0x03A1, 0x0313, 0x0000, + 0x1FE6, 0x03A5, 0x0342, 0x0000, + 0x1FE7, 0x03A5, 0x0308, 0x0342, + 0x1FF2, 0x1FFA, 0x0399, 0x0000, + 0x1FF3, 0x03A9, 0x0399, 0x0000, + 0x1FF4, 0x038F, 0x0399, 0x0000, + 0x1FF6, 0x03A9, 0x0342, 0x0000, + 0x1FF7, 0x03A9, 0x0342, 0x0399, + 0x1FFC, 0x03A9, 0x0399, 0x0000, + 0xFB00, 0x0046, 0x0046, 0x0000, + 0xFB01, 0x0046, 0x0049, 0x0000, + 0xFB02, 0x0046, 0x004C, 0x0000, + 0xFB03, 0x0046, 0x0046, 0x0049, + 0xFB04, 0x0046, 0x0046, 0x004C, + 0xFB05, 0x0053, 0x0054, 0x0000, + 0xFB06, 0x0053, 0x0054, 0x0000, + 0xFB13, 0x0544, 0x0546, 0x0000, + 0xFB14, 0x0544, 0x0535, 0x0000, + 0xFB15, 0x0544, 0x053B, 0x0000, + 0xFB16, 0x054E, 0x0546, 0x0000, + 0xFB17, 0x0544, 0x053D, 0x0000 +]; + +// @ts-ignore: decorator +@lazy @inline const MT = memory.data([ + 2048, 342, 57 +]); + +// Special binary search routine for Special Casing Tables +// @ts-ignore: decorator +@inline +export function bsearch(key: u32, ptr: usize, max: i32): i32 { + let min = 0; + while (min <= max) { + let mid = (min + max) >>> 3 << 2; + let cmp = load(ptr + (mid << alignof())) - key; + if (cmp == 0) return mid; // found + else if (cmp >>> 31) min = mid + 4; // < 0 + else max = mid - 4; // > 0 + } + return -1; // not found +} + +// See: https://git.musl-libc.org/cgit/musl/tree/src/ctype/towctrans.c +export function casemap(c: u32, dir: i32): i32 { + // if (c >= 0x20000) return c; + let c0 = c as i32; + let b = c >> 8; + c &= 255; + + let x = c / 3; + let y = c % 3; + + /* lookup entry in two-level base-6 table */ + // v = tab[(tab[b] as i32) * 86 + x] as u32; + let v = load(TAB + load(TAB + b) * 86 + x); + // v = (v * mt[y] >> 11) % 6; + v = (v * load(MT + (y << alignof())) >> 11) % 6; + /* use the bit vector out of the tables as an index into + * a block-specific set of rules and decode the rule into + * a type and a case-mapping delta. */ + // r = rules[(ruleBases[b] as u32) + v]; + let r = load(RULES + ((load(RULE_BASES + b) + v) << alignof())); + let rt: u32 = r & 255; + let rd: i32 = r >> 8; + /* rules 0/1 are simple lower/upper case with a delta. + * apply according to desired mapping direction. */ + if (rt < 2) return c0 + (rd & -(rt ^ dir)); + /* binary search. endpoints of the binary search for + * this block are stored in the rule delta field. */ + let xn: u32 = rd & 0xff; + let xb: u32 = rd >>> 8; + while (xn) { + let h = xn >> 1; + // let t = exceptions[(xb + h) * 2 + 0] as u32; + let t = load(EXCEPTIONS + (xb + h) * 2, 0); + if (t == c) { + // r = rules[exceptions[(xb + h) * 2 + 1]]; + r = load(RULES + (load(EXCEPTIONS + (xb + h) * 2, 1) << alignof())); + rt = r & 255; + rd = r >> 8; + if (rt < 2) return c0 + (rd & -(rt ^ dir)); + /* Hard-coded for the four exceptional titlecase */ + return c0 + 1 - (dir << 1); // (dir ? -1 : 1); + } else if (t > c) { + xn = h; + } else { + xb += h; + xn -= h; + } + } + return c0; +} +`,"util/error":`// Common error messages for use across the standard library. Keeping error messages compact +// and reusing them where possible ensures minimal static data in binaries. + +// @ts-ignore: decorator +@lazy @inline +export const E_INDEXOUTOFRANGE: string = "Index out of range"; + +// @ts-ignore: decorator +@lazy @inline +export const E_VALUEOUTOFRANGE: string = "Value out of range"; + +// @ts-ignore: decorator +@lazy @inline +export const E_INVALIDLENGTH: string = "Invalid length"; + +// @ts-ignore: decorator +@lazy @inline +export const E_EMPTYARRAY: string = "Array is empty"; + +// @ts-ignore: decorator +@lazy @inline +export const E_HOLEYARRAY: string = "Element type must be nullable if array is holey"; + +// @ts-ignore: decorator +@lazy @inline +export const E_NOTIMPLEMENTED: string = "Not implemented"; + +// @ts-ignore: decorator +@lazy @inline +export const E_KEYNOTFOUND: string = "Key does not exist"; + +// @ts-ignore: decorator +@lazy @inline +export const E_ALLOCATION_TOO_LARGE: string = "Allocation too large"; + +// @ts-ignore: decorator +@lazy @inline +export const E_ALREADY_PINNED: string = "Object already pinned"; + +// @ts-ignore: decorator +@lazy @inline +export const E_NOT_PINNED: string = "Object is not pinned"; + +// @ts-ignore: decorator +@lazy @inline +export const E_URI_MALFORMED: string = "URI malformed"; + +// @ts-ignore: decorator +@lazy @inline +export const E_INVALIDDATE: string = "Invalid Date"; + +// @ts-ignore: decorator +@lazy @inline +export const E_UNPAIRED_SURROGATE: string = "Unpaired surrogate"; +`,"util/hash":`export function HASH(key: T): u32 { + if (isString()) { + return hashStr(changetype(key)); + } else if (isReference()) { + if (sizeof() == 4) return hash32(changetype(key)); + if (sizeof() == 8) return hash64(changetype(key)); + } else if (isFloat()) { + if (sizeof() == 4) return hash32(reinterpret(f32(key))); + if (sizeof() == 8) return hash64(reinterpret(f64(key))); + } else { + if (sizeof() <= 4) return hash32(u32(key), sizeof()); + if (sizeof() == 8) return hash64(u64(key)); + } + return unreachable(); +} + +// XXHash 32-bit as a starting point, see: https://cyan4973.github.io/xxHash + +// primes +// @ts-ignore: decorator +@inline const XXH32_P1: u32 = 2654435761; +// @ts-ignore: decorator +@inline const XXH32_P2: u32 = 2246822519; +// @ts-ignore: decorator +@inline const XXH32_P3: u32 = 3266489917; +// @ts-ignore: decorator +@inline const XXH32_P4: u32 = 668265263; +// @ts-ignore: decorator +@inline const XXH32_P5: u32 = 374761393; +// @ts-ignore: decorator +@inline const XXH32_SEED: u32 = 0; + +// @ts-ignore: decorator +@inline +function hash32(key: u32, len: u32 = 4): u32 { + let h: u32 = XXH32_SEED + XXH32_P5 + len; + h += key * XXH32_P3; + h = rotl(h, 17) * XXH32_P4; + h ^= h >> 15; + h *= XXH32_P2; + h ^= h >> 13; + h *= XXH32_P3; + h ^= h >> 16; + return h; +} + +// @ts-ignore: decorator +@inline +function hash64(key: u64): u32 { + let h: u32 = XXH32_SEED + XXH32_P5 + 8; + h += key * XXH32_P3; + h = rotl(h, 17) * XXH32_P4; + h += (key >> 32) * XXH32_P3; + h = rotl(h, 17) * XXH32_P4; + h ^= h >> 15; + h *= XXH32_P2; + h ^= h >> 13; + h *= XXH32_P3; + h ^= h >> 16; + return h; +} + +// @ts-ignore: decorator +@inline +function mix(h: u32, key: u32): u32 { + return rotl(h + key * XXH32_P2, 13) * XXH32_P1; +} + +// @ts-ignore: decorator +@inline +function hashStr(key: string): u32 { + if (changetype(key) == 0) return XXH32_SEED; + + let h: u32 = key.length << 1; + let len: usize = h; + let pos = changetype(key); + + if (len >= 16) { + let s1 = XXH32_SEED + XXH32_P1 + XXH32_P2; + let s2 = XXH32_SEED + XXH32_P2; + let s3 = XXH32_SEED; + let s4 = XXH32_SEED - XXH32_P1; + + let end = len + pos - 16; + while (pos <= end) { + s1 = mix(s1, load(pos )); + s2 = mix(s2, load(pos, 4)); + s3 = mix(s3, load(pos, 8)); + s4 = mix(s4, load(pos, 12)); + pos += 16; + } + h += rotl(s1, 1) + rotl(s2, 7) + rotl(s3, 12) + rotl(s4, 18); + } else { + h += XXH32_SEED + XXH32_P5; + } + + let end = changetype(key) + len - 4; + while (pos <= end) { + h += load(pos) * XXH32_P3; + h = rotl(h, 17) * XXH32_P4; + pos += 4; + } + + end = changetype(key) + len; + while (pos < end) { + h += load(pos) * XXH32_P5; + h = rotl(h, 11) * XXH32_P1; + pos++; + } + + h ^= h >> 15; + h *= XXH32_P2; + h ^= h >> 13; + h *= XXH32_P3; + h ^= h >> 16; + return h; +} +`,"util/math":`// +// Lookup data for exp2f +// + +// @ts-ignore: decorator +@inline const EXP2F_TABLE_BITS = 5; + +// @ts-ignore: decorator +@lazy @inline const EXP2F_DATA_TAB = memory.data([ + // exp2f_data_tab[i] = uint(2^(i/N)) - (i << 52-BITS) + // used for computing 2^(k/N) for an int |k| < 150 N as + // double(tab[k%N] + (k << 52-BITS)) + 0x3FF0000000000000, 0x3FEFD9B0D3158574, 0x3FEFB5586CF9890F, 0x3FEF9301D0125B51, + 0x3FEF72B83C7D517B, 0x3FEF54873168B9AA, 0x3FEF387A6E756238, 0x3FEF1E9DF51FDEE1, + 0x3FEF06FE0A31B715, 0x3FEEF1A7373AA9CB, 0x3FEEDEA64C123422, 0x3FEECE086061892D, + 0x3FEEBFDAD5362A27, 0x3FEEB42B569D4F82, 0x3FEEAB07DD485429, 0x3FEEA47EB03A5585, + 0x3FEEA09E667F3BCD, 0x3FEE9F75E8EC5F74, 0x3FEEA11473EB0187, 0x3FEEA589994CCE13, + 0x3FEEACE5422AA0DB, 0x3FEEB737B0CDC5E5, 0x3FEEC49182A3F090, 0x3FEED503B23E255D, + 0x3FEEE89F995AD3AD, 0x3FEEFF76F2FB5E47, 0x3FEF199BDD85529C, 0x3FEF3720DCEF9069, + 0x3FEF5818DCFBA487, 0x3FEF7C97337B9B5F, 0x3FEFA4AFA2A490DA, 0x3FEFD0765B6E4540 +]); + +// ULP error: 0.502 (nearest rounding.) +// Relative error: 1.69 * 2^-34 in [-1/64, 1/64] (before rounding.) +// Wrong count: 168353 (all nearest rounding wrong results with fma.) +// @ts-ignore: decorator +@inline +export function exp2f_lut(x: f32): f32 { + const + N = 1 << EXP2F_TABLE_BITS, + N_MASK = N - 1, + shift = reinterpret(0x4338000000000000) / N, // 0x1.8p+52 + Ox127f = reinterpret(0x7F000000); + + const + C0 = reinterpret(0x3FAC6AF84B912394), // 0x1.c6af84b912394p-5 + C1 = reinterpret(0x3FCEBFCE50FAC4F3), // 0x1.ebfce50fac4f3p-3 + C2 = reinterpret(0x3FE62E42FF0C52D6); // 0x1.62e42ff0c52d6p-1 + + let xd = x; + let ix = reinterpret(x); + let ux = ix >> 20 & 0x7FF; + if (ux >= 0x430) { + // |x| >= 128 or x is nan. + if (ix == 0xFF800000) return 0; // x == -Inf -> 0 + if (ux >= 0x7F8) return x + x; // x == Inf/NaN -> Inf/NaN + if (x > 0) return x * Ox127f; // x > 0 -> HugeVal (Owerflow) + if (x <= -150) return 0; // x <= -150 -> 0 (Underflow) + } + + // x = k/N + r with r in [-1/(2N), 1/(2N)] and int k. + let kd = xd + shift; + let ki = reinterpret(kd); + let r = xd - (kd - shift); + let t: u64, y: f64, s: f64; + + // exp2(x) = 2^(k/N) * 2^r ~= s * (C0*r^3 + C1*r^2 + C2*r + 1) + t = load(EXP2F_DATA_TAB + ((ki & N_MASK) << alignof())); + t += ki << (52 - EXP2F_TABLE_BITS); + s = reinterpret(t); + y = C2 * r + 1; + y += (C0 * r + C1) * (r * r); + y *= s; + + return y; +} + +// ULP error: 0.502 (nearest rounding.) +// Relative error: 1.69 * 2^-34 in [-ln2/64, ln2/64] (before rounding.) +// Wrong count: 170635 (all nearest rounding wrong results with fma.) +// @ts-ignore: decorator +@inline +export function expf_lut(x: f32): f32 { + const + N = 1 << EXP2F_TABLE_BITS, + N_MASK = N - 1, + shift = reinterpret(0x4338000000000000), // 0x1.8p+52 + InvLn2N = reinterpret(0x3FF71547652B82FE) * N, // 0x1.71547652b82fep+0 + Ox1p127f = reinterpret(0x7F000000); + + const + C0 = reinterpret(0x3FAC6AF84B912394) / N / N / N, // 0x1.c6af84b912394p-5 + C1 = reinterpret(0x3FCEBFCE50FAC4F3) / N / N, // 0x1.ebfce50fac4f3p-3 + C2 = reinterpret(0x3FE62E42FF0C52D6) / N; // 0x1.62e42ff0c52d6p-1 + + let xd = x; + let ix = reinterpret(x); + let ux = ix >> 20 & 0x7FF; + if (ux >= 0x42B) { + // |x| >= 88 or x is nan. + if (ix == 0xFF800000) return 0; // x == -Inf -> 0 + if (ux >= 0x7F8) return x + x; // x == Inf/NaN -> Inf/NaN + if (x > reinterpret(0x42B17217)) return x * Ox1p127f; // x > log(0x1p128) ~= 88.72 -> HugeVal (Owerflow) + if (x < reinterpret(0xC2CFF1B4)) return 0; // x < log(0x1p-150) ~= -103.97 -> 0 (Underflow) + } + + // x*N/Ln2 = k + r with r in [-1/2, 1/2] and int k. + let z = InvLn2N * xd; + + // Round and convert z to int, the result is in [-150*N, 128*N] and + // ideally ties-to-even rule is used, otherwise the magnitude of r + // can be bigger which gives larger approximation error. + let kd = (z + shift); + let ki = reinterpret(kd); + let r = z - (kd - shift); + let s: f64, y: f64, t: u64; + + // exp(x) = 2^(k/N) * 2^(r/N) ~= s * (C0*r^3 + C1*r^2 + C2*r + 1) + t = load(EXP2F_DATA_TAB + ((ki & N_MASK) << alignof())); + t += ki << (52 - EXP2F_TABLE_BITS); + s = reinterpret(t); + z = C0 * r + C1; + y = C2 * r + 1; + y += z * (r * r); + y *= s; + + return y; +} + +// +// Lookup data for log2f +// + +// @ts-ignore: decorator +@inline const LOG2F_TABLE_BITS = 4; + +// @ts-ignore: decorator +@lazy @inline const LOG2F_DATA_TAB = memory.data([ + 0x3FF661EC79F8F3BE, 0xBFDEFEC65B963019, // 0x1.661ec79f8f3bep+0, -0x1.efec65b963019p-2, + 0x3FF571ED4AAF883D, 0xBFDB0B6832D4FCA4, // 0x1.571ed4aaf883dp+0, -0x1.b0b6832d4fca4p-2, + 0x3FF49539F0F010B0, 0xBFD7418B0A1FB77B, // 0x1.49539f0f010bp+0 , -0x1.7418b0a1fb77bp-2, + 0x3FF3C995B0B80385, 0xBFD39DE91A6DCF7B, // 0x1.3c995b0b80385p+0, -0x1.39de91a6dcf7bp-2, + 0x3FF30D190C8864A5, 0xBFD01D9BF3F2B631, // 0x1.30d190c8864a5p+0, -0x1.01d9bf3f2b631p-2, + 0x3FF25E227B0B8EA0, 0xBFC97C1D1B3B7AF0, // 0x1.25e227b0b8eap+0 , -0x1.97c1d1b3b7afp-3 , + 0x3FF1BB4A4A1A343F, 0xBFC2F9E393AF3C9F, // 0x1.1bb4a4a1a343fp+0, -0x1.2f9e393af3c9fp-3, + 0x3FF12358F08AE5BA, 0xBFB960CBBF788D5C, // 0x1.12358f08ae5bap+0, -0x1.960cbbf788d5cp-4, + 0x3FF0953F419900A7, 0xBFAA6F9DB6475FCE, // 0x1.0953f419900a7p+0, -0x1.a6f9db6475fcep-5, + 0x3FF0000000000000, 0, // 0x1p+0, 0x0, + 0x3FEE608CFD9A47AC, 0x3FB338CA9F24F53D, // 0x1.e608cfd9a47acp-1, 0x1.338ca9f24f53dp-4, + 0x3FECA4B31F026AA0, 0x3FC476A9543891BA, // 0x1.ca4b31f026aap-1 , 0x1.476a9543891bap-3, + 0x3FEB2036576AFCE6, 0x3FCE840B4AC4E4D2, // 0x1.b2036576afce6p-1, 0x1.e840b4ac4e4d2p-3, + 0x3FE9C2D163A1AA2D, 0x3FD40645F0C6651C, // 0x1.9c2d163a1aa2dp-1, 0x1.40645f0c6651cp-2, + 0x3FE886E6037841ED, 0x3FD88E9C2C1B9FF8, // 0x1.886e6037841edp-1, 0x1.88e9c2c1b9ff8p-2, + 0x3FE767DCF5534862, 0x3FDCE0A44EB17BCC // 0x1.767dcf5534862p-1, 0x1.ce0a44eb17bccp-2 +]); + +// ULP error: 0.752 (nearest rounding.) +// Relative error: 1.9 * 2^-26 (before rounding.) +// @ts-ignore: decorator +@inline +export function log2f_lut(x: f32): f32 { + const + N_MASK = (1 << LOG2F_TABLE_BITS) - 1, + Ox1p23f = reinterpret(0x4B000000); // 0x1p23f + + const + A0 = reinterpret(0xBFD712B6F70A7E4D), // -0x1.712b6f70a7e4dp-2 + A1 = reinterpret(0x3FDECABF496832E0), // 0x1.ecabf496832ep-2 + A2 = reinterpret(0xBFE715479FFAE3DE), // -0x1.715479ffae3dep-1 + A3 = reinterpret(0x3FF715475F35C8B8); // 0x1.715475f35c8b8p0 + + let ux = reinterpret(x); + // Fix sign of zero with downward rounding when x==1. + // if (WANT_ROUNDING && predict_false(ix == 0x3f800000)) return 0; + if (ux - 0x00800000 >= 0x7F800000 - 0x00800000) { + // x < 0x1p-126 or inf or nan. + if (ux * 2 == 0) return -Infinity; + if (ux == 0x7F800000) return x; // log2(inf) == inf. + if ((ux >> 31) || ux * 2 >= 0xFF000000) return (x - x) / (x - x); + // x is subnormal, normalize it. + ux = reinterpret(x * Ox1p23f); + ux -= 23 << 23; + } + // x = 2^k z; where z is in range [OFF,2*OFF] and exact. + // The range is split into N subintervals. + // The ith subinterval contains z and c is near its center. + let tmp = ux - 0x3F330000; + let i = (tmp >> (23 - LOG2F_TABLE_BITS)) & N_MASK; + let top = tmp & 0xFF800000; + let iz = ux - top; + let k = tmp >> 23; + + let invc = load(LOG2F_DATA_TAB + (i << (1 + alignof())), 0 << alignof()); + let logc = load(LOG2F_DATA_TAB + (i << (1 + alignof())), 1 << alignof()); + let z = reinterpret(iz); + + // log2(x) = log1p(z/c-1)/ln2 + log2(c) + k + let r = z * invc - 1; + let y0 = logc + k; + + // Pipelined polynomial evaluation to approximate log1p(r)/ln2. + let y = A1 * r + A2; + let p = A3 * r + y0; + let r2 = r * r; + y += A0 * r2; + y = y * r2 + p; + + return y; +} + +// +// Lookup data for logf. See: https://git.musl-libc.org/cgit/musl/tree/src/math/logf.c +// + +// @ts-ignore: decorator +@inline const LOGF_TABLE_BITS = 4; + +// @ts-ignore: decorator +@lazy @inline const LOGF_DATA_TAB = memory.data([ + 0x3FF661EC79F8F3BE, 0xBFD57BF7808CAADE, // 0x1.661ec79f8f3bep+0, -0x1.57bf7808caadep-2, + 0x3FF571ED4AAF883D, 0xBFD2BEF0A7C06DDB, // 0x1.571ed4aaf883dp+0, -0x1.2bef0a7c06ddbp-2, + 0x3FF49539F0F010B0, 0xBFD01EAE7F513A67, // 0x1.49539f0f010bp+0 , -0x1.01eae7f513a67p-2, + 0x3FF3C995B0B80385, 0xBFCB31D8A68224E9, // 0x1.3c995b0b80385p+0, -0x1.b31d8a68224e9p-3, + 0x3FF30D190C8864A5, 0xBFC6574F0AC07758, // 0x1.30d190c8864a5p+0, -0x1.6574f0ac07758p-3, + 0x3FF25E227B0B8EA0, 0xBFC1AA2BC79C8100, // 0x1.25e227b0b8eap+0 , -0x1.1aa2bc79c81p-3 , + 0x3FF1BB4A4A1A343F, 0xBFBA4E76CE8C0E5E, // 0x1.1bb4a4a1a343fp+0, -0x1.a4e76ce8c0e5ep-4, + 0x3FF12358F08AE5BA, 0xBFB1973C5A611CCC, // 0x1.12358f08ae5bap+0, -0x1.1973c5a611cccp-4, + 0x3FF0953F419900A7, 0xBFA252F438E10C1E, // 0x1.0953f419900a7p+0, -0x1.252f438e10c1ep-5, + 0x3FF0000000000000, 0, // 0x1p+0, 0, + 0x3FEE608CFD9A47AC, 0x3FAAA5AA5DF25984, // 0x1.e608cfd9a47acp-1, 0x1.aa5aa5df25984p-5, + 0x3FECA4B31F026AA0, 0x3FBC5E53AA362EB4, // 0x1.ca4b31f026aap-1 , 0x1.c5e53aa362eb4p-4, + 0x3FEB2036576AFCE6, 0x3FC526E57720DB08, // 0x1.b2036576afce6p-1, 0x1.526e57720db08p-3, + 0x3FE9C2D163A1AA2D, 0x3FCBC2860D224770, // 0x1.9c2d163a1aa2dp-1, 0x1.bc2860d22477p-3 , + 0x3FE886E6037841ED, 0x3FD1058BC8A07EE1, // 0x1.886e6037841edp-1, 0x1.1058bc8a07ee1p-2, + 0x3FE767DCF5534862, 0x3FD4043057B6EE09 // 0x1.767dcf5534862p-1, 0x1.4043057b6ee09p-2 +]); + +// ULP error: 0.818 (nearest rounding.) +// Relative error: 1.957 * 2^-26 (before rounding.) +// @ts-ignore: decorator +@inline +export function logf_lut(x: f32): f32 { + const + N_MASK = (1 << LOGF_TABLE_BITS) - 1, + Ox1p23f = reinterpret(0x4B000000); // 0x1p23f + + const + Ln2 = reinterpret(0x3FE62E42FEFA39EF), // 0x1.62e42fefa39efp-1; + A0 = reinterpret(0xBFD00EA348B88334), // -0x1.00ea348b88334p-2 + A1 = reinterpret(0x3FD5575B0BE00B6A), // 0x1.5575b0be00b6ap-2 + A2 = reinterpret(0xBFDFFFFEF20A4123); // -0x1.ffffef20a4123p-2 + + let ux = reinterpret(x); + // Fix sign of zero with downward rounding when x==1. + // if (WANT_ROUNDING && ux == 0x3f800000) return 0; + if (ux - 0x00800000 >= 0x7F800000 - 0x00800000) { + // x < 0x1p-126 or inf or nan. + if ((ux << 1) == 0) return -Infinity; + if (ux == 0x7F800000) return x; // log(inf) == inf. + if ((ux >> 31) || (ux << 1) >= 0xFF000000) return (x - x) / (x - x); + // x is subnormal, normalize it. + ux = reinterpret(x * Ox1p23f); + ux -= 23 << 23; + } + // x = 2^k z; where z is in range [OFF,2*OFF] and exact. + // The range is split into N subintervals. + // The ith subinterval contains z and c is near its center. + let tmp = ux - 0x3F330000; + let i = (tmp >> (23 - LOGF_TABLE_BITS)) & N_MASK; + let k = tmp >> 23; + let iz = ux - (tmp & 0x1FF << 23); + + let invc = load(LOGF_DATA_TAB + (i << (1 + alignof())), 0 << alignof()); + let logc = load(LOGF_DATA_TAB + (i << (1 + alignof())), 1 << alignof()); + + let z = reinterpret(iz); + + // log(x) = log1p(z/c-1) + log(c) + k*Ln2 + let r = z * invc - 1; + let y0 = logc + k * Ln2; + + // Pipelined polynomial evaluation to approximate log1p(r). + let r2 = r * r; + let y = A1 * r + A2; + y += A0 * r2; + y = y * r2 + (y0 + r); + + return y; +} + +// +// Lookup data for powf. See: https://git.musl-libc.org/cgit/musl/tree/src/math/powf.c +// + +// @ts-ignore: decorator +@inline +function zeroinfnanf(ux: u32): bool { + return (ux << 1) - 1 >= (0x7f800000 << 1) - 1; +} + +// Returns 0 if not int, 1 if odd int, 2 if even int. The argument is +// the bit representation of a non-zero finite floating-point value. +// @ts-ignore: decorator +@inline +function checkintf(iy: u32): i32 { + let e = iy >> 23 & 0xFF; + if (e < 0x7F ) return 0; + if (e > 0x7F + 23) return 2; + e = 1 << (0x7F + 23 - e); + if (iy & (e - 1)) return 0; + if (iy & e ) return 1; + return 2; +} + +// Subnormal input is normalized so ix has negative biased exponent. +// Output is multiplied by N (POWF_SCALE) if TOINT_INTRINICS is set. +// @ts-ignore: decorator +@inline +function log2f_inline(ux: u32): f64 { + const N_MASK = (1 << LOG2F_TABLE_BITS) - 1; + + const + A0 = reinterpret(0x3FD27616C9496E0B), // 0x1.27616c9496e0bp-2 + A1 = reinterpret(0xBFD71969A075C67A), // -0x1.71969a075c67ap-2 + A2 = reinterpret(0x3FDEC70A6CA7BADD), // 0x1.ec70a6ca7baddp-2 + A3 = reinterpret(0xBFE7154748BEF6C8), // -0x1.7154748bef6c8p-1 + A4 = reinterpret(0x3FF71547652AB82B); // 0x1.71547652ab82bp+0 + + // x = 2^k z; where z is in range [OFF,2*OFF] and exact. + // The range is split into N subintervals. + // The ith subinterval contains z and c is near its center. + let tmp = ux - 0x3F330000; + let i = usize((tmp >> (23 - LOG2F_TABLE_BITS)) & N_MASK); + let top = tmp & 0xFF800000; + let uz = ux - top; + let k = top >> 23; + + let invc = load(LOG2F_DATA_TAB + (i << (1 + alignof())), 0 << alignof()); + let logc = load(LOG2F_DATA_TAB + (i << (1 + alignof())), 1 << alignof()); + let z = reinterpret(uz); + + // log2(x) = log1p(z/c-1)/ln2 + log2(c) + k + let r = z * invc - 1; + let y0 = logc + k; + + // Pipelined polynomial evaluation to approximate log1p(r)/ln2. + let y = A0 * r + A1; + let p = A2 * r + A3; + let q = A4 * r + y0; + + r *= r; + q += p * r; + y = y * (r * r) + q; + + return y; +} + +// The output of log2 and thus the input of exp2 is either scaled by N +// (in case of fast toint intrinsics) or not. The unscaled xd must be +// in [-1021,1023], sign_bias sets the sign of the result. +// @ts-ignore: decorator +@inline +function exp2f_inline(xd: f64, signBias: u32): f32 { + const + N = 1 << EXP2F_TABLE_BITS, + N_MASK = N - 1, + shift = reinterpret(0x4338000000000000) / N; // 0x1.8p+52 + + const + C0 = reinterpret(0x3FAC6AF84B912394), // 0x1.c6af84b912394p-5 + C1 = reinterpret(0x3FCEBFCE50FAC4F3), // 0x1.ebfce50fac4f3p-3 + C2 = reinterpret(0x3FE62E42FF0C52D6); // 0x1.62e42ff0c52d6p-1 + + // x = k/N + r with r in [-1/(2N), 1/(2N)] + let kd = (xd + shift); + let ki = reinterpret(kd); + let r = xd - (kd - shift); + let t: u64, z: f64, y: f64, s: f64; + + // exp2(x) = 2^(k/N) * 2^r ~= s * (C0*r^3 + C1*r^2 + C2*r + 1) + t = load(EXP2F_DATA_TAB + ((ki & N_MASK) << alignof())); + t += (ki + signBias) << (52 - EXP2F_TABLE_BITS); + s = reinterpret(t); + z = C0 * r + C1; + y = C2 * r + 1; + y += z * (r * r); + y *= s; + return y; +} + +// @ts-ignore: decorator +@inline +function xflowf(sign: u32, y: f32): f32 { + return select(-y, y, sign) * y; +} + +// @ts-ignore: decorator +@inline +function oflowf(sign: u32): f32 { + return xflowf(sign, reinterpret(0x70000000)); // 0x1p97f +} + +// @ts-ignore: decorator +@inline +function uflowf(sign: u32): f32 { + return xflowf(sign, reinterpret(0x10000000)); // 0x1p-95f +} + +// @ts-ignore: decorator +@inline +export function powf_lut(x: f32, y: f32): f32 { + const + Ox1p23f = reinterpret(0x4B000000), // 0x1p23f + UPPER_LIMIT = reinterpret(0x405FFFFFFFD1D571), // 0x1.fffffffd1d571p+6 + LOWER_LIMIT = -150.0, + SIGN_BIAS = 1 << (EXP2F_TABLE_BITS + 11); + + let signBias: u32 = 0; + let ix = reinterpret(x); + let iy = reinterpret(y); + let ny = 0; + + if (i32(ix - 0x00800000 >= 0x7f800000 - 0x00800000) | (ny = i32(zeroinfnanf(iy)))) { + // Either (x < 0x1p-126 or inf or nan) or (y is 0 or inf or nan). + if (ny) { + if ((iy << 1) == 0) return 1.0; + if (ix == 0x3F800000) return NaN; // original: 1.0 + if ((ix << 1) > (0x7F800000 << 1) || (iy << 1) > (0x7F800000 << 1)) return x + y; + if ((ix << 1) == (0x3F800000 << 1)) return NaN; // original: 1.0 + if (((ix << 1) < (0x3F800000 << 1)) == !(iy >> 31)) return 0; // |x| < 1 && y==inf or |x| > 1 && y==-inf. + return y * y; + } + if (zeroinfnanf(ix)) { + let x2 = x * x; + if ((ix >> 31) && checkintf(iy) == 1) x2 = -x2; + return iy < 0 ? 1 / x2 : x2; + } + // x and y are non-zero finite. + if (ix < 0) { + // Finite x < 0. + let yint = checkintf(iy); + if (yint == 0) return (x - x) / (x - x); + if (yint == 1) signBias = SIGN_BIAS; + ix &= 0x7FFFFFFF; + } + if (ix < 0x00800000) { + // Normalize subnormal x so exponent becomes negative. + ix = reinterpret(x * Ox1p23f); + ix &= 0x7FFFFFFF; + ix -= 23 << 23; + } + } + let logx = log2f_inline(ix); + let ylogx = y * logx; // cannot overflow, y is single prec. + if ((reinterpret(ylogx) >> 47 & 0xFFFF) >= 0x80BF) { // reinterpret(126.0) >> 47 + // |y * log(x)| >= 126 + if (ylogx > UPPER_LIMIT) return oflowf(signBias); // overflow + if (ylogx <= LOWER_LIMIT) return uflowf(signBias); // underflow + } + return exp2f_inline(ylogx, signBias); +} + +// +// Lookup data for exp. See: https://git.musl-libc.org/cgit/musl/tree/src/math/exp.c +// + +// @ts-ignore: decorator +@inline const EXP_TABLE_BITS = 7; + +// @ts-ignore: decorator +@lazy @inline const EXP_DATA_TAB = memory.data([ + 0x0000000000000000, 0x3FF0000000000000, + 0x3C9B3B4F1A88BF6E, 0x3FEFF63DA9FB3335, + 0xBC7160139CD8DC5D, 0x3FEFEC9A3E778061, + 0xBC905E7A108766D1, 0x3FEFE315E86E7F85, + 0x3C8CD2523567F613, 0x3FEFD9B0D3158574, + 0xBC8BCE8023F98EFA, 0x3FEFD06B29DDF6DE, + 0x3C60F74E61E6C861, 0x3FEFC74518759BC8, + 0x3C90A3E45B33D399, 0x3FEFBE3ECAC6F383, + 0x3C979AA65D837B6D, 0x3FEFB5586CF9890F, + 0x3C8EB51A92FDEFFC, 0x3FEFAC922B7247F7, + 0x3C3EBE3D702F9CD1, 0x3FEFA3EC32D3D1A2, + 0xBC6A033489906E0B, 0x3FEF9B66AFFED31B, + 0xBC9556522A2FBD0E, 0x3FEF9301D0125B51, + 0xBC5080EF8C4EEA55, 0x3FEF8ABDC06C31CC, + 0xBC91C923B9D5F416, 0x3FEF829AAEA92DE0, + 0x3C80D3E3E95C55AF, 0x3FEF7A98C8A58E51, + 0xBC801B15EAA59348, 0x3FEF72B83C7D517B, + 0xBC8F1FF055DE323D, 0x3FEF6AF9388C8DEA, + 0x3C8B898C3F1353BF, 0x3FEF635BEB6FCB75, + 0xBC96D99C7611EB26, 0x3FEF5BE084045CD4, + 0x3C9AECF73E3A2F60, 0x3FEF54873168B9AA, + 0xBC8FE782CB86389D, 0x3FEF4D5022FCD91D, + 0x3C8A6F4144A6C38D, 0x3FEF463B88628CD6, + 0x3C807A05B0E4047D, 0x3FEF3F49917DDC96, + 0x3C968EFDE3A8A894, 0x3FEF387A6E756238, + 0x3C875E18F274487D, 0x3FEF31CE4FB2A63F, + 0x3C80472B981FE7F2, 0x3FEF2B4565E27CDD, + 0xBC96B87B3F71085E, 0x3FEF24DFE1F56381, + 0x3C82F7E16D09AB31, 0x3FEF1E9DF51FDEE1, + 0xBC3D219B1A6FBFFA, 0x3FEF187FD0DAD990, + 0x3C8B3782720C0AB4, 0x3FEF1285A6E4030B, + 0x3C6E149289CECB8F, 0x3FEF0CAFA93E2F56, + 0x3C834D754DB0ABB6, 0x3FEF06FE0A31B715, + 0x3C864201E2AC744C, 0x3FEF0170FC4CD831, + 0x3C8FDD395DD3F84A, 0x3FEEFC08B26416FF, + 0xBC86A3803B8E5B04, 0x3FEEF6C55F929FF1, + 0xBC924AEDCC4B5068, 0x3FEEF1A7373AA9CB, + 0xBC9907F81B512D8E, 0x3FEEECAE6D05D866, + 0xBC71D1E83E9436D2, 0x3FEEE7DB34E59FF7, + 0xBC991919B3CE1B15, 0x3FEEE32DC313A8E5, + 0x3C859F48A72A4C6D, 0x3FEEDEA64C123422, + 0xBC9312607A28698A, 0x3FEEDA4504AC801C, + 0xBC58A78F4817895B, 0x3FEED60A21F72E2A, + 0xBC7C2C9B67499A1B, 0x3FEED1F5D950A897, + 0x3C4363ED60C2AC11, 0x3FEECE086061892D, + 0x3C9666093B0664EF, 0x3FEECA41ED1D0057, + 0x3C6ECCE1DAA10379, 0x3FEEC6A2B5C13CD0, + 0x3C93FF8E3F0F1230, 0x3FEEC32AF0D7D3DE, + 0x3C7690CEBB7AAFB0, 0x3FEEBFDAD5362A27, + 0x3C931DBDEB54E077, 0x3FEEBCB299FDDD0D, + 0xBC8F94340071A38E, 0x3FEEB9B2769D2CA7, + 0xBC87DECCDC93A349, 0x3FEEB6DAA2CF6642, + 0xBC78DEC6BD0F385F, 0x3FEEB42B569D4F82, + 0xBC861246EC7B5CF6, 0x3FEEB1A4CA5D920F, + 0x3C93350518FDD78E, 0x3FEEAF4736B527DA, + 0x3C7B98B72F8A9B05, 0x3FEEAD12D497C7FD, + 0x3C9063E1E21C5409, 0x3FEEAB07DD485429, + 0x3C34C7855019C6EA, 0x3FEEA9268A5946B7, + 0x3C9432E62B64C035, 0x3FEEA76F15AD2148, + 0xBC8CE44A6199769F, 0x3FEEA5E1B976DC09, + 0xBC8C33C53BEF4DA8, 0x3FEEA47EB03A5585, + 0xBC845378892BE9AE, 0x3FEEA34634CCC320, + 0xBC93CEDD78565858, 0x3FEEA23882552225, + 0x3C5710AA807E1964, 0x3FEEA155D44CA973, + 0xBC93B3EFBF5E2228, 0x3FEEA09E667F3BCD, + 0xBC6A12AD8734B982, 0x3FEEA012750BDABF, + 0xBC6367EFB86DA9EE, 0x3FEE9FB23C651A2F, + 0xBC80DC3D54E08851, 0x3FEE9F7DF9519484, + 0xBC781F647E5A3ECF, 0x3FEE9F75E8EC5F74, + 0xBC86EE4AC08B7DB0, 0x3FEE9F9A48A58174, + 0xBC8619321E55E68A, 0x3FEE9FEB564267C9, + 0x3C909CCB5E09D4D3, 0x3FEEA0694FDE5D3F, + 0xBC7B32DCB94DA51D, 0x3FEEA11473EB0187, + 0x3C94ECFD5467C06B, 0x3FEEA1ED0130C132, + 0x3C65EBE1ABD66C55, 0x3FEEA2F336CF4E62, + 0xBC88A1C52FB3CF42, 0x3FEEA427543E1A12, + 0xBC9369B6F13B3734, 0x3FEEA589994CCE13, + 0xBC805E843A19FF1E, 0x3FEEA71A4623C7AD, + 0xBC94D450D872576E, 0x3FEEA8D99B4492ED, + 0x3C90AD675B0E8A00, 0x3FEEAAC7D98A6699, + 0x3C8DB72FC1F0EAB4, 0x3FEEACE5422AA0DB, + 0xBC65B6609CC5E7FF, 0x3FEEAF3216B5448C, + 0x3C7BF68359F35F44, 0x3FEEB1AE99157736, + 0xBC93091FA71E3D83, 0x3FEEB45B0B91FFC6, + 0xBC5DA9B88B6C1E29, 0x3FEEB737B0CDC5E5, + 0xBC6C23F97C90B959, 0x3FEEBA44CBC8520F, + 0xBC92434322F4F9AA, 0x3FEEBD829FDE4E50, + 0xBC85CA6CD7668E4B, 0x3FEEC0F170CA07BA, + 0x3C71AFFC2B91CE27, 0x3FEEC49182A3F090, + 0x3C6DD235E10A73BB, 0x3FEEC86319E32323, + 0xBC87C50422622263, 0x3FEECC667B5DE565, + 0x3C8B1C86E3E231D5, 0x3FEED09BEC4A2D33, + 0xBC91BBD1D3BCBB15, 0x3FEED503B23E255D, + 0x3C90CC319CEE31D2, 0x3FEED99E1330B358, + 0x3C8469846E735AB3, 0x3FEEDE6B5579FDBF, + 0xBC82DFCD978E9DB4, 0x3FEEE36BBFD3F37A, + 0x3C8C1A7792CB3387, 0x3FEEE89F995AD3AD, + 0xBC907B8F4AD1D9FA, 0x3FEEEE07298DB666, + 0xBC55C3D956DCAEBA, 0x3FEEF3A2B84F15FB, + 0xBC90A40E3DA6F640, 0x3FEEF9728DE5593A, + 0xBC68D6F438AD9334, 0x3FEEFF76F2FB5E47, + 0xBC91EEE26B588A35, 0x3FEF05B030A1064A, + 0x3C74FFD70A5FDDCD, 0x3FEF0C1E904BC1D2, + 0xBC91BDFBFA9298AC, 0x3FEF12C25BD71E09, + 0x3C736EAE30AF0CB3, 0x3FEF199BDD85529C, + 0x3C8EE3325C9FFD94, 0x3FEF20AB5FFFD07A, + 0x3C84E08FD10959AC, 0x3FEF27F12E57D14B, + 0x3C63CDAF384E1A67, 0x3FEF2F6D9406E7B5, + 0x3C676B2C6C921968, 0x3FEF3720DCEF9069, + 0xBC808A1883CCB5D2, 0x3FEF3F0B555DC3FA, + 0xBC8FAD5D3FFFFA6F, 0x3FEF472D4A07897C, + 0xBC900DAE3875A949, 0x3FEF4F87080D89F2, + 0x3C74A385A63D07A7, 0x3FEF5818DCFBA487, + 0xBC82919E2040220F, 0x3FEF60E316C98398, + 0x3C8E5A50D5C192AC, 0x3FEF69E603DB3285, + 0x3C843A59AC016B4B, 0x3FEF7321F301B460, + 0xBC82D52107B43E1F, 0x3FEF7C97337B9B5F, + 0xBC892AB93B470DC9, 0x3FEF864614F5A129, + 0x3C74B604603A88D3, 0x3FEF902EE78B3FF6, + 0x3C83C5EC519D7271, 0x3FEF9A51FBC74C83, + 0xBC8FF7128FD391F0, 0x3FEFA4AFA2A490DA, + 0xBC8DAE98E223747D, 0x3FEFAF482D8E67F1, + 0x3C8EC3BC41AA2008, 0x3FEFBA1BEE615A27, + 0x3C842B94C3A9EB32, 0x3FEFC52B376BBA97, + 0x3C8A64A931D185EE, 0x3FEFD0765B6E4540, + 0xBC8E37BAE43BE3ED, 0x3FEFDBFDAD9CBE14, + 0x3C77893B4D91CD9D, 0x3FEFE7C1819E90D8, + 0x3C5305C14160CC89, 0x3FEFF3C22B8F71F1 +]); + +// Handle cases that may overflow or underflow when computing the result that +// is scale*(1+TMP) without intermediate rounding. The bit representation of +// scale is in SBITS, however it has a computed exponent that may have +// overflown into the sign bit so that needs to be adjusted before using it as +// a double. (int32_t)KI is the k used in the argument reduction and exponent +// adjustment of scale, positive k here means the result may overflow and +// negative k means the result may underflow. +// @ts-ignore: decorator +@inline +function specialcase(tmp: f64, sbits: u64, ki: u64): f64 { + const + Ox1p_1022 = reinterpret(0x0010000000000000), // 0x1p-1022 + Ox1p1009 = reinterpret(0x7F00000000000000); // 0x1p1009 + + let scale: f64; + if (!(ki & 0x80000000)) { + // k > 0, the exponent of scale might have overflowed by <= 460. + sbits -= u64(1009) << 52; + scale = reinterpret(sbits); + return Ox1p1009 * (scale + scale * tmp); // 0x1p1009 + } + // k < 0, need special care in the subnormal range. + sbits += u64(1022) << 52; + // Note: sbits is signed scale. + scale = reinterpret(sbits); + let y = scale + scale * tmp; + if (abs(y) < 1.0) { + // Round y to the right precision before scaling it into the subnormal + // range to avoid double rounding that can cause 0.5+E/2 ulp error where + // E is the worst-case ulp error outside the subnormal range. So this + // is only useful if the goal is better than 1 ulp worst-case error. + let one = copysign(1.0, y); + let lo = scale - y + scale * tmp; + let hi = one + y; + lo = one - hi + y + lo; + y = (hi + lo) - one; + // Fix the sign of 0. + if (y == 0.0) y = reinterpret(sbits & 0x8000000000000000); + } + return y * Ox1p_1022; +} + +// @ts-ignore: decorator +@inline +export function exp_lut(x: f64): f64 { + const + N = 1 << EXP_TABLE_BITS, + N_MASK = N - 1; + + const + InvLn2N = reinterpret(0x3FF71547652B82FE) * N, // 0x1.71547652b82fep0 + NegLn2hiN = reinterpret(0xBF762E42FEFA0000), // -0x1.62e42fefa0000p-8 + NegLn2loN = reinterpret(0xBD0CF79ABC9E3B3A), // -0x1.cf79abc9e3b3ap-47 + shift = reinterpret(0x4338000000000000); // 0x1.8p52; + + const + C2 = reinterpret(0x3FDFFFFFFFFFFDBD), // __exp_data.poly[0] (0x1.ffffffffffdbdp-2) + C3 = reinterpret(0x3FC555555555543C), // __exp_data.poly[1] (0x1.555555555543cp-3) + C4 = reinterpret(0x3FA55555CF172B91), // __exp_data.poly[2] (0x1.55555cf172b91p-5) + C5 = reinterpret(0x3F81111167A4D017); // __exp_data.poly[3] (0x1.1111167a4d017p-7) + + let ux = reinterpret(x); + let abstop = u32(ux >> 52) & 0x7FF; + if (abstop - 0x3C9 >= 0x03F) { + if (abstop - 0x3C9 >= 0x80000000) return 1; + if (abstop >= 0x409) { + if (ux == 0xFFF0000000000000) return 0; + if (abstop >= 0x7FF) { + return 1.0 + x; + } else { + return select(0, Infinity, ux < 0); + } + } + // Large x is special cased below. + abstop = 0; + } + + // exp(x) = 2^(k/N) * exp(r), with exp(r) in [2^(-1/2N),2^(1/2N)] + // x = ln2/N*k + r, with int k and r in [-ln2/2N, ln2/2N] + let z = InvLn2N * x; + // #if TOINT_INTRINSICS + // kd = roundtoint(z); + // ki = converttoint(z); + // #elif EXP_USE_TOINT_NARROW + // // z - kd is in [-0.5-2^-16, 0.5] in all rounding modes. + // let kd = z + shift; + // let ki = reinterpret(kd) >> 16; + // let kd = ki; + // #else + // z - kd is in [-1, 1] in non-nearest rounding modes. + let kd = z + shift; + let ki = reinterpret(kd); + kd -= shift; + // #endif + let r = x + kd * NegLn2hiN + kd * NegLn2loN; + // 2^(k/N) ~= scale * (1 + tail). + let idx = usize((ki & N_MASK) << 1); + let top = ki << (52 - EXP_TABLE_BITS); + + let tail = reinterpret(load(EXP_DATA_TAB + (idx << alignof()))); // T[idx] + // This is only a valid scale when -1023*N < k < 1024*N + let sbits = load(EXP_DATA_TAB + (idx << alignof()), 1 << alignof()) + top; // T[idx + 1] + // exp(x) = 2^(k/N) * exp(r) ~= scale + scale * (tail + exp(r) - 1). + // Evaluation is optimized assuming superscalar pipelined execution. + let r2 = r * r; + // Without fma the worst case error is 0.25/N ulp larger. + // Worst case error is less than 0.5+1.11/N+(abs poly error * 2^53) ulp. + let tmp = tail + r + r2 * (C2 + r * C3) + r2 * r2 * (C4 + r * C5); + if (abstop == 0) return specialcase(tmp, sbits, ki); + let scale = reinterpret(sbits); + // Note: tmp == 0 or |tmp| > 2^-200 and scale > 2^-739, so there + // is no spurious underflow here even without fma. + return scale + scale * tmp; +} + +// +// Lookup data for exp2. See: https://git.musl-libc.org/cgit/musl/tree/src/math/exp2.c +// + +// Handle cases that may overflow or underflow when computing the result that +// is scale*(1+TMP) without intermediate rounding. The bit representation of +// scale is in SBITS, however it has a computed exponent that may have +// overflown into the sign bit so that needs to be adjusted before using it as +// a double. (int32_t)KI is the k used in the argument reduction and exponent +// adjustment of scale, positive k here means the result may overflow and +// negative k means the result may underflow. +// @ts-ignore: decorator +@inline +function specialcase2(tmp: f64, sbits: u64, ki: u64): f64 { + const Ox1p_1022 = reinterpret(0x10000000000000); // 0x1p-1022 + let scale: f64; + if ((ki & 0x80000000) == 0) { + // k > 0, the exponent of scale might have overflowed by 1 + sbits -= u64(1) << 52; + scale = reinterpret(sbits); + return 2 * (scale * tmp + scale); + } + // k < 0, need special care in the subnormal range + sbits += u64(1022) << 52; + scale = reinterpret(sbits); + let y = scale * tmp + scale; + if (y < 1.0) { + // Round y to the right precision before scaling it into the subnormal + // range to avoid double rounding that can cause 0.5+E/2 ulp error where + // E is the worst-case ulp error outside the subnormal range. So this + // is only useful if the goal is better than 1 ulp worst-case error. + let hi: f64, lo: f64; + lo = scale - y + scale * tmp; + hi = 1.0 + y; + lo = 1.0 - hi + y + lo; + y = (hi + lo) - 1.0; + } + return y * Ox1p_1022; +} + +// @ts-ignore: decorator +@inline +export function exp2_lut(x: f64): f64 { + const + N = 1 << EXP_TABLE_BITS, + N_MASK = N - 1, + shift = reinterpret(0x4338000000000000) / N; // 0x1.8p52 + + const + C1 = reinterpret(0x3FE62E42FEFA39EF), // 0x1.62e42fefa39efp-1 + C2 = reinterpret(0x3FCEBFBDFF82C424), // 0x1.ebfbdff82c424p-3 + C3 = reinterpret(0x3FAC6B08D70CF4B5), // 0x1.c6b08d70cf4b5p-5 + C4 = reinterpret(0x3F83B2ABD24650CC), // 0x1.3b2abd24650ccp-7 + C5 = reinterpret(0x3F55D7E09B4E3A84); // 0x1.5d7e09b4e3a84p-10 + + let ux = reinterpret(x); + let abstop = u32(ux >> 52) & 0x7ff; + if (abstop - 0x3C9 >= 0x03F) { + if (abstop - 0x3C9 >= 0x80000000) return 1.0; + if (abstop >= 0x409) { + if (ux == 0xFFF0000000000000) return 0; + if (abstop >= 0x7FF) return 1.0 + x; + if (ux >= 0) return Infinity; + else if (ux >= 0xC090CC0000000000) return 0; + } + if ((ux << 1) > 0x811A000000000000) abstop = 0; // Large x is special cased below. + } + + // exp2(x) = 2^(k/N) * 2^r, with 2^r in [2^(-1/2N),2^(1/2N)]. + // x = k/N + r, with int k and r in [-1/2N, 1/2N] + let kd = x + shift; + let ki = reinterpret(kd); + kd -= shift; // k/N for int k + let r = x - kd; + // 2^(k/N) ~= scale * (1 + tail) + let idx = usize((ki & N_MASK) << 1); + let top = ki << (52 - EXP_TABLE_BITS); + + let tail = reinterpret(load(EXP_DATA_TAB + (idx << alignof()), 0 << alignof())); // T[idx]) + // This is only a valid scale when -1023*N < k < 1024*N + let sbits = load(EXP_DATA_TAB + (idx << alignof()), 1 << alignof()) + top; // T[idx + 1] + // exp2(x) = 2^(k/N) * 2^r ~= scale + scale * (tail + 2^r - 1). + // Evaluation is optimized assuming superscalar pipelined execution + let r2 = r * r; + // Without fma the worst case error is 0.5/N ulp larger. + // Worst case error is less than 0.5+0.86/N+(abs poly error * 2^53) ulp. + let tmp = tail + r * C1 + r2 * (C2 + r * C3) + r2 * r2 * (C4 + r * C5); + if (abstop == 0) return specialcase2(tmp, sbits, ki); + let scale = reinterpret(sbits); + // Note: tmp == 0 or |tmp| > 2^-65 and scale > 2^-928, so there + // is no spurious underflow here even without fma. + return scale * tmp + scale; +} + +// +// Lookup data for log2. See: https://git.musl-libc.org/cgit/musl/tree/src/math/log2.c +// + +// @ts-ignore: decorator +@inline const LOG2_TABLE_BITS = 6; + +/* Algorithm: + + x = 2^k z + log2(x) = k + log2(c) + log2(z/c) + log2(z/c) = poly(z/c - 1) + +where z is in [1.6p-1; 1.6p0] which is split into N subintervals and z falls +into the ith one, then table entries are computed as + + tab[i].invc = 1/c + tab[i].logc = (double)log2(c) + tab2[i].chi = (double)c + tab2[i].clo = (double)(c - (double)c) + +where c is near the center of the subinterval and is chosen by trying +-2^29 +floating point invc candidates around 1/center and selecting one for which + + 1) the rounding error in 0x1.8p10 + logc is 0, + 2) the rounding error in z - chi - clo is < 0x1p-64 and + 3) the rounding error in (double)log2(c) is minimized (< 0x1p-68). + +Note: 1) ensures that k + logc can be computed without rounding error, 2) +ensures that z/c - 1 can be computed as (z - chi - clo)*invc with close to a +single rounding error when there is no fast fma for z*invc - 1, 3) ensures +that logc + poly(z/c - 1) has small error, however near x == 1 when +|log2(x)| < 0x1p-4, this is not enough so that is special cased. */ + +// @ts-ignore: decorator +@lazy @inline const LOG2_DATA_TAB1 = memory.data([ + // invc , logc + 0x3FF724286BB1ACF8, 0xBFE1095FEECDB000, + 0x3FF6E1F766D2CCA1, 0xBFE08494BD76D000, + 0x3FF6A13D0E30D48A, 0xBFE00143AEE8F800, + 0x3FF661EC32D06C85, 0xBFDEFEC5360B4000, + 0x3FF623FA951198F8, 0xBFDDFDD91AB7E000, + 0x3FF5E75BA4CF026C, 0xBFDCFFAE0CC79000, + 0x3FF5AC055A214FB8, 0xBFDC043811FDA000, + 0x3FF571ED0F166E1E, 0xBFDB0B67323AE000, + 0x3FF53909590BF835, 0xBFDA152F5A2DB000, + 0x3FF5014FED61ADDD, 0xBFD9217F5AF86000, + 0x3FF4CAB88E487BD0, 0xBFD8304DB0719000, + 0x3FF49539B4334FEE, 0xBFD74189F9A9E000, + 0x3FF460CBDFAFD569, 0xBFD6552BB5199000, + 0x3FF42D664EE4B953, 0xBFD56B23A29B1000, + 0x3FF3FB01111DD8A6, 0xBFD483650F5FA000, + 0x3FF3C995B70C5836, 0xBFD39DE937F6A000, + 0x3FF3991C4AB6FD4A, 0xBFD2BAA1538D6000, + 0x3FF3698E0CE099B5, 0xBFD1D98340CA4000, + 0x3FF33AE48213E7B2, 0xBFD0FA853A40E000, + 0x3FF30D191985BDB1, 0xBFD01D9C32E73000, + 0x3FF2E025CAB271D7, 0xBFCE857DA2FA6000, + 0x3FF2B404CF13CD82, 0xBFCCD3C8633D8000, + 0x3FF288B02C7CCB50, 0xBFCB26034C14A000, + 0x3FF25E2263944DE5, 0xBFC97C1C2F4FE000, + 0x3FF234563D8615B1, 0xBFC7D6023F800000, + 0x3FF20B46E33EAF38, 0xBFC633A71A05E000, + 0x3FF1E2EEFDCDA3DD, 0xBFC494F5E9570000, + 0x3FF1BB4A580B3930, 0xBFC2F9E424E0A000, + 0x3FF19453847F2200, 0xBFC162595AFDC000, + 0x3FF16E06C0D5D73C, 0xBFBF9C9A75BD8000, + 0x3FF1485F47B7E4C2, 0xBFBC7B575BF9C000, + 0x3FF12358AD0085D1, 0xBFB960C60FF48000, + 0x3FF0FEF00F532227, 0xBFB64CE247B60000, + 0x3FF0DB2077D03A8F, 0xBFB33F78B2014000, + 0x3FF0B7E6D65980D9, 0xBFB0387D1A42C000, + 0x3FF0953EFE7B408D, 0xBFAA6F9208B50000, + 0x3FF07325CAC53B83, 0xBFA47A954F770000, + 0x3FF05197E40D1B5C, 0xBF9D23A8C50C0000, + 0x3FF03091C1208EA2, 0xBF916A2629780000, + 0x3FF0101025B37E21, 0xBF7720F8D8E80000, + 0x3FEFC07EF9CAA76B, 0x3F86FE53B1500000, + 0x3FEF4465D3F6F184, 0x3FA11CCCE10F8000, + 0x3FEECC079F84107F, 0x3FAC4DFC8C8B8000, + 0x3FEE573A99975AE8, 0x3FB3AA321E574000, + 0x3FEDE5D6F0BD3DE6, 0x3FB918A0D08B8000, + 0x3FED77B681FF38B3, 0x3FBE72E9DA044000, + 0x3FED0CB5724DE943, 0x3FC1DCD2507F6000, + 0x3FECA4B2DC0E7563, 0x3FC476AB03DEA000, + 0x3FEC3F8EE8D6CB51, 0x3FC7074377E22000, + 0x3FEBDD2B4F020C4C, 0x3FC98EDE8BA94000, + 0x3FEB7D6C006015CA, 0x3FCC0DB86AD2E000, + 0x3FEB20366E2E338F, 0x3FCE840AAFCEE000, + 0x3FEAC57026295039, 0x3FD0790AB4678000, + 0x3FEA6D01BC2731DD, 0x3FD1AC056801C000, + 0x3FEA16D3BC3FF18B, 0x3FD2DB11D4FEE000, + 0x3FE9C2D14967FEAD, 0x3FD406464EC58000, + 0x3FE970E4F47C9902, 0x3FD52DBE093AF000, + 0x3FE920FB3982BCF2, 0x3FD651902050D000, + 0x3FE8D30187F759F1, 0x3FD771D2CDEAF000, + 0x3FE886E5EBB9F66D, 0x3FD88E9C857D9000, + 0x3FE83C97B658B994, 0x3FD9A80155E16000, + 0x3FE7F405FFC61022, 0x3FDABE186ED3D000, + 0x3FE7AD22181415CA, 0x3FDBD0F2AEA0E000, + 0x3FE767DCF99EFF8C, 0x3FDCE0A43DBF4000 +]); + +// @ts-ignore: decorator +@lazy @inline const LOG2_DATA_TAB2 = memory.data([ + // chi , clo + 0x3FE6200012B90A8E, 0x3C8904AB0644B605, + 0x3FE66000045734A6, 0x3C61FF9BEA62F7A9, + 0x3FE69FFFC325F2C5, 0x3C827ECFCB3C90BA, + 0x3FE6E00038B95A04, 0x3C88FF8856739326, + 0x3FE71FFFE09994E3, 0x3C8AFD40275F82B1, + 0x3FE7600015590E10, 0xBC72FD75B4238341, + 0x3FE7A00012655BD5, 0x3C7808E67C242B76, + 0x3FE7E0003259E9A6, 0xBC6208E426F622B7, + 0x3FE81FFFEDB4B2D2, 0xBC8402461EA5C92F, + 0x3FE860002DFAFCC3, 0x3C6DF7F4A2F29A1F, + 0x3FE89FFFF78C6B50, 0xBC8E0453094995FD, + 0x3FE8E00039671566, 0xBC8A04F3BEC77B45, + 0x3FE91FFFE2BF1745, 0xBC77FA34400E203C, + 0x3FE95FFFCC5C9FD1, 0xBC76FF8005A0695D, + 0x3FE9A0003BBA4767, 0x3C70F8C4C4EC7E03, + 0x3FE9DFFFE7B92DA5, 0x3C8E7FD9478C4602, + 0x3FEA1FFFD72EFDAF, 0xBC6A0C554DCDAE7E, + 0x3FEA5FFFDE04FF95, 0x3C867DA98CE9B26B, + 0x3FEA9FFFCA5E8D2B, 0xBC8284C9B54C13DE, + 0x3FEADFFFDDAD03EA, 0x3C5812C8EA602E3C, + 0x3FEB1FFFF10D3D4D, 0xBC8EFADDAD27789C, + 0x3FEB5FFFCE21165A, 0x3C53CB1719C61237, + 0x3FEB9FFFD950E674, 0x3C73F7D94194CE00, + 0x3FEBE000139CA8AF, 0x3C750AC4215D9BC0, + 0x3FEC20005B46DF99, 0x3C6BEEA653E9C1C9, + 0x3FEC600040B9F7AE, 0xBC7C079F274A70D6, + 0x3FECA0006255FD8A, 0xBC7A0B4076E84C1F, + 0x3FECDFFFD94C095D, 0x3C88F933F99AB5D7, + 0x3FED1FFFF975D6CF, 0xBC582C08665FE1BE, + 0x3FED5FFFA2561C93, 0xBC7B04289BD295F3, + 0x3FED9FFF9D228B0C, 0x3C870251340FA236, + 0x3FEDE00065BC7E16, 0xBC75011E16A4D80C, + 0x3FEE200002F64791, 0x3C89802F09EF62E0, + 0x3FEE600057D7A6D8, 0xBC7E0B75580CF7FA, + 0x3FEEA00027EDC00C, 0xBC8C848309459811, + 0x3FEEE0006CF5CB7C, 0xBC8F8027951576F4, + 0x3FEF2000782B7DCC, 0xBC8F81D97274538F, + 0x3FEF6000260C450A, 0xBC4071002727FFDC, + 0x3FEF9FFFE88CD533, 0xBC581BDCE1FDA8B0, + 0x3FEFDFFFD50F8689, 0x3C87F91ACB918E6E, + 0x3FF0200004292367, 0x3C9B7FF365324681, + 0x3FF05FFFE3E3D668, 0x3C86FA08DDAE957B, + 0x3FF0A0000A85A757, 0xBC57E2DE80D3FB91, + 0x3FF0E0001A5F3FCC, 0xBC91823305C5F014, + 0x3FF11FFFF8AFBAF5, 0xBC8BFABB6680BAC2, + 0x3FF15FFFE54D91AD, 0xBC9D7F121737E7EF, + 0x3FF1A00011AC36E1, 0x3C9C000A0516F5FF, + 0x3FF1E00019C84248, 0xBC9082FBE4DA5DA0, + 0x3FF220000FFE5E6E, 0xBC88FDD04C9CFB43, + 0x3FF26000269FD891, 0x3C8CFE2A7994D182, + 0x3FF2A00029A6E6DA, 0xBC700273715E8BC5, + 0x3FF2DFFFE0293E39, 0x3C9B7C39DAB2A6F9, + 0x3FF31FFFF7DCF082, 0x3C7DF1336EDC5254, + 0x3FF35FFFF05A8B60, 0xBC9E03564CCD31EB, + 0x3FF3A0002E0EAECC, 0x3C75F0E74BD3A477, + 0x3FF3E000043BB236, 0x3C9C7DCB149D8833, + 0x3FF4200002D187FF, 0x3C7E08AFCF2D3D28, + 0x3FF460000D387CB1, 0x3C820837856599A6, + 0x3FF4A00004569F89, 0xBC89FA5C904FBCD2, + 0x3FF4E000043543F3, 0xBC781125ED175329, + 0x3FF51FFFCC027F0F, 0x3C9883D8847754DC, + 0x3FF55FFFFD87B36F, 0xBC8709E731D02807, + 0x3FF59FFFF21DF7BA, 0x3C87F79F68727B02, + 0x3FF5DFFFEBFC3481, 0xBC9180902E30E93E +]); + +// @ts-ignore: decorator +@inline +export function log2_lut(x: f64): f64 { + const N_MASK = (1 << LOG2_TABLE_BITS) - 1; + + const + LO: u64 = 0x3FEEA4AF00000000, // reinterpret(1.0 - 0x1.5b51p-5) + HI: u64 = 0x3FF0B55900000000; // reinterpret(1.0 + 0x1.6ab2p-5) + + const + InvLn2hi = reinterpret(0x3FF7154765200000), // 0x1.7154765200000p+0 + InvLn2lo = reinterpret(0x3DE705FC2EEFA200), // 0x1.705fc2eefa200p-33 + Ox1p52 = reinterpret(0x4330000000000000); // 0x1p52 + + const + B0 = reinterpret(0xBFE71547652B82FE), // -0x1.71547652b82fep-1 + B1 = reinterpret(0x3FDEC709DC3A03F7), // 0x1.ec709dc3a03f7p-2 + B2 = reinterpret(0xBFD71547652B7C3F), // -0x1.71547652b7c3fp-2 + B3 = reinterpret(0x3FD2776C50F05BE4), // 0x1.2776c50f05be4p-2 + B4 = reinterpret(0xBFCEC709DD768FE5), // -0x1.ec709dd768fe5p-3 + B5 = reinterpret(0x3FCA61761EC4E736), // 0x1.a61761ec4e736p-3 + B6 = reinterpret(0xBFC7153FBC64A79B), // -0x1.7153fbc64a79bp-3 + B7 = reinterpret(0x3FC484D154F01B4A), // 0x1.484d154f01b4ap-3 + B8 = reinterpret(0xBFC289E4A72C383C), // -0x1.289e4a72c383cp-3 + B9 = reinterpret(0x3FC0B32F285AEE66); // 0x1.0b32f285aee66p-3 + + const + A0 = reinterpret(0xBFE71547652B8339), // -0x1.71547652b8339p-1 + A1 = reinterpret(0x3FDEC709DC3A04BE), // 0x1.ec709dc3a04bep-2 + A2 = reinterpret(0xBFD7154764702FFB), // -0x1.7154764702ffbp-2 + A3 = reinterpret(0x3FD2776C50034C48), // 0x1.2776c50034c48p-2 + A4 = reinterpret(0xBFCEC7B328EA92BC), // -0x1.ec7b328ea92bcp-3 + A5 = reinterpret(0x3FCA6225E117F92E); // 0x1.a6225e117f92ep-3 + + let ix = reinterpret(x); + if (ix - LO < HI - LO) { + let r = x - 1.0; + // #if __FP_FAST_FMA + // hi = r * InvLn2hi; + // lo = r * InvLn2lo + __builtin_fma(r, InvLn2hi, -hi); + // #else + let rhi = reinterpret(reinterpret(r) & 0xFFFFFFFF00000000); + let rlo = r - rhi; + let hi = rhi * InvLn2hi; + let lo = rlo * InvLn2hi + r * InvLn2lo; + // #endif + let r2 = r * r; // rounding error: 0x1p-62 + let r4 = r2 * r2; + // Worst-case error is less than 0.54 ULP (0.55 ULP without fma) + let p = r2 * (B0 + r * B1); + let y = hi + p; + lo += hi - y + p; + lo += r4 * (B2 + r * B3 + r2 * (B4 + r * B5) + + r4 * (B6 + r * B7 + r2 * (B8 + r * B9))); + return y + lo; + } + let top = u32(ix >> 48); + if (top - 0x0010 >= 0x7ff0 - 0x0010) { + // x < 0x1p-1022 or inf or nan. + if ((ix << 1) == 0) return -1.0 / (x * x); + if (ix == 0x7FF0000000000000) return x; // log(inf) == inf + if ((top & 0x8000) || (top & 0x7FF0) == 0x7FF0) return (x - x) / (x - x); + // x is subnormal, normalize it. + ix = reinterpret(x * Ox1p52); + ix -= u64(52) << 52; + } + + // x = 2^k z; where z is in range [OFF,2*OFF) and exact. + // The range is split into N subintervals. + // The ith subinterval contains z and c is near its center. + let tmp = ix - 0x3FE6000000000000; + let i = ((tmp >> (52 - LOG2_TABLE_BITS)) & N_MASK); + let k = tmp >> 52; + let iz = ix - (tmp & 0xFFF0000000000000); + + let invc = load(LOG2_DATA_TAB1 + (i << (1 + alignof())), 0 << alignof()); // T[i].invc; + let logc = load(LOG2_DATA_TAB1 + (i << (1 + alignof())), 1 << alignof()); // T[i].logc; + let z = reinterpret(iz); + let kd = k; + + // log2(x) = log2(z/c) + log2(c) + k. + // r ~= z/c - 1, |r| < 1/(2*N). + // #if __FP_FAST_FMA + // // rounding error: 0x1p-55/N. + // r = __builtin_fma(z, invc, -1.0); + // t1 = r * InvLn2hi; + // t2 = r * InvLn2lo + __builtin_fma(r, InvLn2hi, -t1); + // #else + // rounding error: 0x1p-55/N + 0x1p-65. + let chi = load(LOG2_DATA_TAB2 + (i << (1 + alignof())), 0 << alignof()); // T[i].chi; + let clo = load(LOG2_DATA_TAB2 + (i << (1 + alignof())), 1 << alignof()); // T[i].clo; + + let r = (z - chi - clo) * invc; + let rhi = reinterpret(reinterpret(r) & 0xFFFFFFFF00000000); + let rlo = r - rhi; + let t1 = rhi * InvLn2hi; + let t2 = rlo * InvLn2hi + r * InvLn2lo; + // #endif + + // hi + lo = r/ln2 + log2(c) + k + let t3 = kd + logc; + let hi = t3 + t1; + let lo = t3 - hi + t1 + t2; + + // log2(r+1) = r/ln2 + r^2*poly(r) + // Evaluation is optimized assuming superscalar pipelined execution + let r2 = r * r; // rounding error: 0x1p-54/N^2 + // Worst-case error if |y| > 0x1p-4: 0.547 ULP (0.550 ULP without fma). + // ~ 0.5 + 2/N/ln2 + abs-poly-error*0x1p56 ULP (+ 0.003 ULP without fma). + let p = A0 + r * A1 + r2 * (A2 + r * A3) + (r2 * r2) * (A4 + r * A5); + return lo + r2 * p + hi; +} + +// +// Lookup data for log. See: https://git.musl-libc.org/cgit/musl/tree/src/math/log.c +// + +// @ts-ignore: decorator +@inline const LOG_TABLE_BITS = 7; + +/* Algorithm: + + x = 2^k z + log(x) = k ln2 + log(c) + log(z/c) + log(z/c) = poly(z/c - 1) + +where z is in [1.6p-1; 1.6p0] which is split into N subintervals and z falls +into the ith one, then table entries are computed as + + tab[i].invc = 1/c + tab[i].logc = (double)log(c) + tab2[i].chi = (double)c + tab2[i].clo = (double)(c - (double)c) + +where c is near the center of the subinterval and is chosen by trying +-2^29 +floating point invc candidates around 1/center and selecting one for which + + 1) the rounding error in 0x1.8p9 + logc is 0, + 2) the rounding error in z - chi - clo is < 0x1p-66 and + 3) the rounding error in (double)log(c) is minimized (< 0x1p-66). + +Note: 1) ensures that k*ln2hi + logc can be computed without rounding error, +2) ensures that z/c - 1 can be computed as (z - chi - clo)*invc with close to +a single rounding error when there is no fast fma for z*invc - 1, 3) ensures +that logc + poly(z/c - 1) has small error, however near x == 1 when +|log(x)| < 0x1p-4, this is not enough so that is special cased.*/ + +// @ts-ignore: decorator +@lazy @inline const LOG_DATA_TAB1 = memory.data([ + // invc , logc + 0x3FF734F0C3E0DE9F, 0xBFD7CC7F79E69000, + 0x3FF713786A2CE91F, 0xBFD76FEEC20D0000, + 0x3FF6F26008FAB5A0, 0xBFD713E31351E000, + 0x3FF6D1A61F138C7D, 0xBFD6B85B38287800, + 0x3FF6B1490BC5B4D1, 0xBFD65D5590807800, + 0x3FF69147332F0CBA, 0xBFD602D076180000, + 0x3FF6719F18224223, 0xBFD5A8CA86909000, + 0x3FF6524F99A51ED9, 0xBFD54F4356035000, + 0x3FF63356AA8F24C4, 0xBFD4F637C36B4000, + 0x3FF614B36B9DDC14, 0xBFD49DA7FDA85000, + 0x3FF5F66452C65C4C, 0xBFD445923989A800, + 0x3FF5D867B5912C4F, 0xBFD3EDF439B0B800, + 0x3FF5BABCCB5B90DE, 0xBFD396CE448F7000, + 0x3FF59D61F2D91A78, 0xBFD3401E17BDA000, + 0x3FF5805612465687, 0xBFD2E9E2EF468000, + 0x3FF56397CEE76BD3, 0xBFD2941B3830E000, + 0x3FF54725E2A77F93, 0xBFD23EC58CDA8800, + 0x3FF52AFF42064583, 0xBFD1E9E129279000, + 0x3FF50F22DBB2BDDF, 0xBFD1956D2B48F800, + 0x3FF4F38F4734DED7, 0xBFD141679AB9F800, + 0x3FF4D843CFDE2840, 0xBFD0EDD094EF9800, + 0x3FF4BD3EC078A3C8, 0xBFD09AA518DB1000, + 0x3FF4A27FC3E0258A, 0xBFD047E65263B800, + 0x3FF4880524D48434, 0xBFCFEB224586F000, + 0x3FF46DCE1B192D0B, 0xBFCF474A7517B000, + 0x3FF453D9D3391854, 0xBFCEA4443D103000, + 0x3FF43A2744B4845A, 0xBFCE020D44E9B000, + 0x3FF420B54115F8FB, 0xBFCD60A22977F000, + 0x3FF40782DA3EF4B1, 0xBFCCC00104959000, + 0x3FF3EE8F5D57FE8F, 0xBFCC202956891000, + 0x3FF3D5D9A00B4CE9, 0xBFCB81178D811000, + 0x3FF3BD60C010C12B, 0xBFCAE2C9CCD3D000, + 0x3FF3A5242B75DAB8, 0xBFCA45402E129000, + 0x3FF38D22CD9FD002, 0xBFC9A877681DF000, + 0x3FF3755BC5847A1C, 0xBFC90C6D69483000, + 0x3FF35DCE49AD36E2, 0xBFC87120A645C000, + 0x3FF34679984DD440, 0xBFC7D68FB4143000, + 0x3FF32F5CCEFFCB24, 0xBFC73CB83C627000, + 0x3FF3187775A10D49, 0xBFC6A39A9B376000, + 0x3FF301C8373E3990, 0xBFC60B3154B7A000, + 0x3FF2EB4EBB95F841, 0xBFC5737D76243000, + 0x3FF2D50A0219A9D1, 0xBFC4DC7B8FC23000, + 0x3FF2BEF9A8B7FD2A, 0xBFC4462C51D20000, + 0x3FF2A91C7A0C1BAB, 0xBFC3B08ABC830000, + 0x3FF293726014B530, 0xBFC31B996B490000, + 0x3FF27DFA5757A1F5, 0xBFC2875490A44000, + 0x3FF268B39B1D3BBF, 0xBFC1F3B9F879A000, + 0x3FF2539D838FF5BD, 0xBFC160C8252CA000, + 0x3FF23EB7AAC9083B, 0xBFC0CE7F57F72000, + 0x3FF22A012BA940B6, 0xBFC03CDC49FEA000, + 0x3FF2157996CC4132, 0xBFBF57BDBC4B8000, + 0x3FF201201DD2FC9B, 0xBFBE370896404000, + 0x3FF1ECF4494D480B, 0xBFBD17983EF94000, + 0x3FF1D8F5528F6569, 0xBFBBF9674ED8A000, + 0x3FF1C52311577E7C, 0xBFBADC79202F6000, + 0x3FF1B17C74CB26E9, 0xBFB9C0C3E7288000, + 0x3FF19E010C2C1AB6, 0xBFB8A646B372C000, + 0x3FF18AB07BB670BD, 0xBFB78D01B3AC0000, + 0x3FF1778A25EFBCB6, 0xBFB674F145380000, + 0x3FF1648D354C31DA, 0xBFB55E0E6D878000, + 0x3FF151B990275FDD, 0xBFB4485CDEA1E000, + 0x3FF13F0EA432D24C, 0xBFB333D94D6AA000, + 0x3FF12C8B7210F9DA, 0xBFB22079F8C56000, + 0x3FF11A3028ECB531, 0xBFB10E4698622000, + 0x3FF107FBDA8434AF, 0xBFAFFA6C6AD20000, + 0x3FF0F5EE0F4E6BB3, 0xBFADDA8D4A774000, + 0x3FF0E4065D2A9FCE, 0xBFABBCECE4850000, + 0x3FF0D244632CA521, 0xBFA9A1894012C000, + 0x3FF0C0A77CE2981A, 0xBFA788583302C000, + 0x3FF0AF2F83C636D1, 0xBFA5715E67D68000, + 0x3FF09DDB98A01339, 0xBFA35C8A49658000, + 0x3FF08CABAF52E7DF, 0xBFA149E364154000, + 0x3FF07B9F2F4E28FB, 0xBF9E72C082EB8000, + 0x3FF06AB58C358F19, 0xBF9A55F152528000, + 0x3FF059EEA5ECF92C, 0xBF963D62CF818000, + 0x3FF04949CDD12C90, 0xBF9228FB8CAA0000, + 0x3FF038C6C6F0ADA9, 0xBF8C317B20F90000, + 0x3FF02865137932A9, 0xBF8419355DAA0000, + 0x3FF0182427EA7348, 0xBF781203C2EC0000, + 0x3FF008040614B195, 0xBF60040979240000, + 0x3FEFE01FF726FA1A, 0x3F6FEFF384900000, + 0x3FEFA11CC261EA74, 0x3F87DC41353D0000, + 0x3FEF6310B081992E, 0x3F93CEA3C4C28000, + 0x3FEF25F63CEEADCD, 0x3F9B9FC114890000, + 0x3FEEE9C8039113E7, 0x3FA1B0D8CE110000, + 0x3FEEAE8078CBB1AB, 0x3FA58A5BD001C000, + 0x3FEE741AA29D0C9B, 0x3FA95C8340D88000, + 0x3FEE3A91830A99B5, 0x3FAD276AEF578000, + 0x3FEE01E009609A56, 0x3FB07598E598C000, + 0x3FEDCA01E577BB98, 0x3FB253F5E30D2000, + 0x3FED92F20B7C9103, 0x3FB42EDD8B380000, + 0x3FED5CAC66FB5CCE, 0x3FB606598757C000, + 0x3FED272CAA5EDE9D, 0x3FB7DA76356A0000, + 0x3FECF26E3E6B2CCD, 0x3FB9AB434E1C6000, + 0x3FECBE6DA2A77902, 0x3FBB78C7BB0D6000, + 0x3FEC8B266D37086D, 0x3FBD431332E72000, + 0x3FEC5894BD5D5804, 0x3FBF0A3171DE6000, + 0x3FEC26B533BB9F8C, 0x3FC067152B914000, + 0x3FEBF583EEECE73F, 0x3FC147858292B000, + 0x3FEBC4FD75DB96C1, 0x3FC2266ECDCA3000, + 0x3FEB951E0C864A28, 0x3FC303D7A6C55000, + 0x3FEB65E2C5EF3E2C, 0x3FC3DFC33C331000, + 0x3FEB374867C9888B, 0x3FC4BA366B7A8000, + 0x3FEB094B211D304A, 0x3FC5933928D1F000, + 0x3FEADBE885F2EF7E, 0x3FC66ACD2418F000, + 0x3FEAAF1D31603DA2, 0x3FC740F8EC669000, + 0x3FEA82E63FD358A7, 0x3FC815C0F51AF000, + 0x3FEA5740EF09738B, 0x3FC8E92954F68000, + 0x3FEA2C2A90AB4B27, 0x3FC9BB3602F84000, + 0x3FEA01A01393F2D1, 0x3FCA8BED1C2C0000, + 0x3FE9D79F24DB3C1B, 0x3FCB5B515C01D000, + 0x3FE9AE2505C7B190, 0x3FCC2967CCBCC000, + 0x3FE9852EF297CE2F, 0x3FCCF635D5486000, + 0x3FE95CBAEEA44B75, 0x3FCDC1BD3446C000, + 0x3FE934C69DE74838, 0x3FCE8C01B8CFE000, + 0x3FE90D4F2F6752E6, 0x3FCF5509C0179000, + 0x3FE8E6528EFFD79D, 0x3FD00E6C121FB800, + 0x3FE8BFCE9FCC007C, 0x3FD071B80E93D000, + 0x3FE899C0DABEC30E, 0x3FD0D46B9E867000, + 0x3FE87427AA2317FB, 0x3FD13687334BD000, + 0x3FE84F00ACB39A08, 0x3FD1980D67234800, + 0x3FE82A49E8653E55, 0x3FD1F8FFE0CC8000, + 0x3FE8060195F40260, 0x3FD2595FD7636800, + 0x3FE7E22563E0A329, 0x3FD2B9300914A800, + 0x3FE7BEB377DCB5AD, 0x3FD3187210436000, + 0x3FE79BAA679725C2, 0x3FD377266DEC1800, + 0x3FE77907F2170657, 0x3FD3D54FFBAF3000, + 0x3FE756CADBD6130C, 0x3FD432EEE32FE000 +]); + +// @ts-ignore: decorator +@lazy @inline const LOG_DATA_TAB2 = memory.data([ + // chi , clo + 0x3FE61000014FB66B, 0x3C7E026C91425B3C, + 0x3FE63000034DB495, 0x3C8DBFEA48005D41, + 0x3FE650000D94D478, 0x3C8E7FA786D6A5B7, + 0x3FE67000074E6FAD, 0x3C61FCEA6B54254C, + 0x3FE68FFFFEDF0FAE, 0xBC7C7E274C590EFD, + 0x3FE6B0000763C5BC, 0xBC8AC16848DCDA01, + 0x3FE6D0001E5CC1F6, 0x3C833F1C9D499311, + 0x3FE6EFFFEB05F63E, 0xBC7E80041AE22D53, + 0x3FE710000E869780, 0x3C7BFF6671097952, + 0x3FE72FFFFC67E912, 0x3C8C00E226BD8724, + 0x3FE74FFFDF81116A, 0xBC6E02916EF101D2, + 0x3FE770000F679C90, 0xBC67FC71CD549C74, + 0x3FE78FFFFA7EC835, 0x3C81BEC19EF50483, + 0x3FE7AFFFFE20C2E6, 0xBC707E1729CC6465, + 0x3FE7CFFFED3FC900, 0xBC808072087B8B1C, + 0x3FE7EFFFE9261A76, 0x3C8DC0286D9DF9AE, + 0x3FE81000049CA3E8, 0x3C897FD251E54C33, + 0x3FE8300017932C8F, 0xBC8AFEE9B630F381, + 0x3FE850000633739C, 0x3C89BFBF6B6535BC, + 0x3FE87000204289C6, 0xBC8BBF65F3117B75, + 0x3FE88FFFEBF57904, 0xBC89006EA23DCB57, + 0x3FE8B00022BC04DF, 0xBC7D00DF38E04B0A, + 0x3FE8CFFFE50C1B8A, 0xBC88007146FF9F05, + 0x3FE8EFFFFC918E43, 0x3C83817BD07A7038, + 0x3FE910001EFA5FC7, 0x3C893E9176DFB403, + 0x3FE9300013467BB9, 0x3C7F804E4B980276, + 0x3FE94FFFE6EE076F, 0xBC8F7EF0D9FF622E, + 0x3FE96FFFDE3C12D1, 0xBC7082AA962638BA, + 0x3FE98FFFF4458A0D, 0xBC87801B9164A8EF, + 0x3FE9AFFFDD982E3E, 0xBC8740E08A5A9337, + 0x3FE9CFFFED49FB66, 0x3C3FCE08C19BE000, + 0x3FE9F00020F19C51, 0xBC8A3FAA27885B0A, + 0x3FEA10001145B006, 0x3C74FF489958DA56, + 0x3FEA300007BBF6FA, 0x3C8CBEAB8A2B6D18, + 0x3FEA500010971D79, 0x3C88FECADD787930, + 0x3FEA70001DF52E48, 0xBC8F41763DD8ABDB, + 0x3FEA90001C593352, 0xBC8EBF0284C27612, + 0x3FEAB0002A4F3E4B, 0xBC69FD043CFF3F5F, + 0x3FEACFFFD7AE1ED1, 0xBC823EE7129070B4, + 0x3FEAEFFFEE510478, 0x3C6A063EE00EDEA3, + 0x3FEB0FFFDB650D5B, 0x3C5A06C8381F0AB9, + 0x3FEB2FFFFEAACA57, 0xBC79011E74233C1D, + 0x3FEB4FFFD995BADC, 0xBC79FF1068862A9F, + 0x3FEB7000249E659C, 0x3C8AFF45D0864F3E, + 0x3FEB8FFFF9871640, 0x3C7CFE7796C2C3F9, + 0x3FEBAFFFD204CB4F, 0xBC63FF27EEF22BC4, + 0x3FEBCFFFD2415C45, 0xBC6CFFB7EE3BEA21, + 0x3FEBEFFFF86309DF, 0xBC814103972E0B5C, + 0x3FEC0FFFE1B57653, 0x3C8BC16494B76A19, + 0x3FEC2FFFF1FA57E3, 0xBC64FEEF8D30C6ED, + 0x3FEC4FFFDCBFE424, 0xBC843F68BCEC4775, + 0x3FEC6FFFED54B9F7, 0x3C847EA3F053E0EC, + 0x3FEC8FFFEB998FD5, 0x3C7383068DF992F1, + 0x3FECB0002125219A, 0xBC68FD8E64180E04, + 0x3FECCFFFDD94469C, 0x3C8E7EBE1CC7EA72, + 0x3FECEFFFEAFDC476, 0x3C8EBE39AD9F88FE, + 0x3FED1000169AF82B, 0x3C757D91A8B95A71, + 0x3FED30000D0FF71D, 0x3C89C1906970C7DA, + 0x3FED4FFFEA790FC4, 0xBC580E37C558FE0C, + 0x3FED70002EDC87E5, 0xBC7F80D64DC10F44, + 0x3FED900021DC82AA, 0xBC747C8F94FD5C5C, + 0x3FEDAFFFD86B0283, 0x3C8C7F1DC521617E, + 0x3FEDD000296C4739, 0x3C88019EB2FFB153, + 0x3FEDEFFFE54490F5, 0x3C6E00D2C652CC89, + 0x3FEE0FFFCDABF694, 0xBC7F8340202D69D2, + 0x3FEE2FFFDB52C8DD, 0x3C7B00C1CA1B0864, + 0x3FEE4FFFF24216EF, 0x3C72FFA8B094AB51, + 0x3FEE6FFFE88A5E11, 0xBC57F673B1EFBE59, + 0x3FEE9000119EFF0D, 0xBC84808D5E0BC801, + 0x3FEEAFFFDFA51744, 0x3C780006D54320B5, + 0x3FEED0001A127FA1, 0xBC5002F860565C92, + 0x3FEEF00007BABCC4, 0xBC8540445D35E611, + 0x3FEF0FFFF57A8D02, 0xBC4FFB3139EF9105, + 0x3FEF30001EE58AC7, 0x3C8A81ACF2731155, + 0x3FEF4FFFF5823494, 0x3C8A3F41D4D7C743, + 0x3FEF6FFFFCA94C6B, 0xBC6202F41C987875, + 0x3FEF8FFFE1F9C441, 0x3C777DD1F477E74B, + 0x3FEFAFFFD2E0E37E, 0xBC6F01199A7CA331, + 0x3FEFD0001C77E49E, 0x3C7181EE4BCEACB1, + 0x3FEFEFFFF7E0C331, 0xBC6E05370170875A, + 0x3FF00FFFF465606E, 0xBC8A7EAD491C0ADA, + 0x3FF02FFFF3867A58, 0xBC977F69C3FCB2E0, + 0x3FF04FFFFDFC0D17, 0x3C97BFFE34CB945B, + 0x3FF0700003CD4D82, 0x3C820083C0E456CB, + 0x3FF08FFFF9F2CBE8, 0xBC6DFFDFBE37751A, + 0x3FF0B000010CDA65, 0xBC913F7FAEE626EB, + 0x3FF0D00001A4D338, 0x3C807DFA79489FF7, + 0x3FF0EFFFFADAFDFD, 0xBC77040570D66BC0, + 0x3FF110000BBAFD96, 0x3C8E80D4846D0B62, + 0x3FF12FFFFAE5F45D, 0x3C9DBFFA64FD36EF, + 0x3FF150000DD59AD9, 0x3C9A0077701250AE, + 0x3FF170000F21559A, 0x3C8DFDF9E2E3DEEE, + 0x3FF18FFFFC275426, 0x3C910030DC3B7273, + 0x3FF1B000123D3C59, 0x3C997F7980030188, + 0x3FF1CFFFF8299EB7, 0xBC65F932AB9F8C67, + 0x3FF1EFFFF48AD400, 0x3C937FBF9DA75BEB, + 0x3FF210000C8B86A4, 0x3C9F806B91FD5B22, + 0x3FF2300003854303, 0x3C93FFC2EB9FBF33, + 0x3FF24FFFFFBCF684, 0x3C7601E77E2E2E72, + 0x3FF26FFFF52921D9, 0x3C7FFCBB767F0C61, + 0x3FF2900014933A3C, 0xBC7202CA3C02412B, + 0x3FF2B00014556313, 0xBC92808233F21F02, + 0x3FF2CFFFEBFE523B, 0xBC88FF7E384FDCF2, + 0x3FF2F0000BB8AD96, 0xBC85FF51503041C5, + 0x3FF30FFFFB7AE2AF, 0xBC810071885E289D, + 0x3FF32FFFFEAC5F7F, 0xBC91FF5D3FB7B715, + 0x3FF350000CA66756, 0x3C957F82228B82BD, + 0x3FF3700011FBF721, 0x3C8000BAC40DD5CC, + 0x3FF38FFFF9592FB9, 0xBC943F9D2DB2A751, + 0x3FF3B00004DDD242, 0x3C857F6B707638E1, + 0x3FF3CFFFF5B2C957, 0x3C7A023A10BF1231, + 0x3FF3EFFFEAB0B418, 0x3C987F6D66B152B0, + 0x3FF410001532AFF4, 0x3C67F8375F198524, + 0x3FF4300017478B29, 0x3C8301E672DC5143, + 0x3FF44FFFE795B463, 0x3C89FF69B8B2895A, + 0x3FF46FFFE80475E0, 0xBC95C0B19BC2F254, + 0x3FF48FFFEF6FC1E7, 0x3C9B4009F23A2A72, + 0x3FF4AFFFE5BEA704, 0xBC94FFB7BF0D7D45, + 0x3FF4D000171027DE, 0xBC99C06471DC6A3D, + 0x3FF4F0000FF03EE2, 0x3C977F890B85531C, + 0x3FF5100012DC4BD1, 0x3C6004657166A436, + 0x3FF530001605277A, 0xBC96BFCECE233209, + 0x3FF54FFFECDB704C, 0xBC8902720505A1D7, + 0x3FF56FFFEF5F54A9, 0x3C9BBFE60EC96412, + 0x3FF5900017E61012, 0x3C887EC581AFEF90, + 0x3FF5B00003C93E92, 0xBC9F41080ABF0CC0, + 0x3FF5D0001D4919BC, 0xBC98812AFB254729, + 0x3FF5EFFFE7B87A89, 0xBC947EB780ED6904 +]); + +// @ts-ignore: decorator +@inline +export function log_lut(x: f64): f64 { + const N_MASK = (1 << LOG_TABLE_BITS) - 1; + + const + B0 = reinterpret(0xBFE0000000000000), // -0x1p-1 + B1 = reinterpret(0x3FD5555555555577), // 0x1.5555555555577p-2 + B2 = reinterpret(0xBFCFFFFFFFFFFDCB), // -0x1.ffffffffffdcbp-3 + B3 = reinterpret(0x3FC999999995DD0C), // 0x1.999999995dd0cp-3 + B4 = reinterpret(0xBFC55555556745A7), // -0x1.55555556745a7p-3 + B5 = reinterpret(0x3FC24924A344DE30), // 0x1.24924a344de3p-3 + B6 = reinterpret(0xBFBFFFFFA4423D65), // -0x1.fffffa4423d65p-4 + B7 = reinterpret(0x3FBC7184282AD6CA), // 0x1.c7184282ad6cap-4 + B8 = reinterpret(0xBFB999EB43B068FF), // -0x1.999eb43b068ffp-4 + B9 = reinterpret(0x3FB78182F7AFD085), // 0x1.78182f7afd085p-4 + B10 = reinterpret(0xBFB5521375D145CD); // -0x1.5521375d145cdp-4 + + const + A0 = reinterpret(0xBFE0000000000001), // -0x1.0000000000001p-1 + A1 = reinterpret(0x3FD555555551305B), // 0x1.555555551305bp-2 + A2 = reinterpret(0xBFCFFFFFFFEB4590), // -0x1.fffffffeb459p-3 + A3 = reinterpret(0x3FC999B324F10111), // 0x1.999b324f10111p-3 + A4 = reinterpret(0xBFC55575E506C89F); // -0x1.55575e506c89fp-3 + + const + LO: u64 = 0x3FEE000000000000, + HI: u64 = 0x3FF1090000000000; + + const + Ln2hi = reinterpret(0x3FE62E42FEFA3800), // 0x1.62e42fefa3800p-1 + Ln2lo = reinterpret(0x3D2EF35793C76730), // 0x1.ef35793c76730p-45 + Ox1p27 = reinterpret(0x41A0000000000000), // 0x1p27 + Ox1p52 = reinterpret(0x4330000000000000); // 0x1p52 + + let ix = reinterpret(x); + if (ix - LO < HI - LO) { + let r = x - 1.0; + let r2 = r * r; + let r3 = r2 * r; + let y = + r3 * (B1 + r * B2 + r2 * B3 + + r3 * (B4 + r * B5 + r2 * B6 + + r3 * (B7 + r * B8 + r2 * B9 + r3 * B10))); + // Worst-case error is around 0.507 ULP + let w = r * Ox1p27; + let rhi = r + w - w; + let rlo = r - rhi; + w = rhi * rhi * B0; // B[0] == -0.5 + let hi = r + w; + let lo = r - hi + w; + lo += B0 * rlo * (rhi + r); + return y + lo + hi; + } + let top = u32(ix >> 48); + if (top - 0x0010 >= 0x7FF0 - 0x0010) { + // x < 0x1p-1022 or inf or nan + if ((ix << 1) == 0) return -1.0 / (x * x); + if (ix == reinterpret(Infinity)) return x; // log(inf) == inf + if ((top & 0x8000) || (top & 0x7FF0) == 0x7FF0) return (x - x) / (x - x); + // x is subnormal, normalize it + ix = reinterpret(x * Ox1p52); + ix -= u64(52) << 52; + } + + // x = 2^k z; where z is in range [OFF,2*OFF) and exact. + // The range is split into N subintervals. + // The ith subinterval contains z and c is near its center. + let tmp = ix - 0x3FE6000000000000; + let i = ((tmp >> (52 - LOG_TABLE_BITS)) & N_MASK); + let k = tmp >> 52; + let iz = ix - (tmp & (u64(0xFFF) << 52)); + + let invc = load(LOG_DATA_TAB1 + (i << (1 + alignof())), 0 << alignof()); // T[i].invc; + let logc = load(LOG_DATA_TAB1 + (i << (1 + alignof())), 1 << alignof()); // T[i].logc; + let z = reinterpret(iz); + + // log(x) = log1p(z/c-1) + log(c) + k*Ln2. + // r ~= z/c - 1, |r| < 1/(2*N) + // #if __FP_FAST_FMA + // // rounding error: 0x1p-55/N + // r = __builtin_fma(z, invc, -1.0); + // #else + // rounding error: 0x1p-55/N + 0x1p-66 + const chi = load(LOG_DATA_TAB2 + (i << (1 + alignof())), 0 << alignof()); // T2[i].chi + const clo = load(LOG_DATA_TAB2 + (i << (1 + alignof())), 1 << alignof()); // T2[i].clo + let r = (z - chi - clo) * invc; + // #endif + let kd = k; + + // hi + lo = r + log(c) + k*Ln2 + let w = kd * Ln2hi + logc; + let hi = w + r; + let lo = w - hi + r + kd * Ln2lo; + + // log(x) = lo + (log1p(r) - r) + hi + let r2 = r * r; // rounding error: 0x1p-54/N^2 + // Worst case error if |y| > 0x1p-5: + // 0.5 + 4.13/N + abs-poly-error*2^57 ULP (+ 0.002 ULP without fma) + // Worst case error if |y| > 0x1p-4: + // 0.5 + 2.06/N + abs-poly-error*2^56 ULP (+ 0.001 ULP without fma). + return lo + r2 * A0 + r * r2 * (A1 + r * A2 + r2 * (A3 + r * A4)) + hi; +} + +// +// Lookup data for pow. See: https://git.musl-libc.org/cgit/musl/tree/src/math/pow.c +// + +// @ts-ignore: decorator +@inline const POW_LOG_TABLE_BITS = 7; + +/* Algorithm: + + x = 2^k z + log(x) = k ln2 + log(c) + log(z/c) + log(z/c) = poly(z/c - 1) + +where z is in [0x1.69555p-1; 0x1.69555p0] which is split into N subintervals +and z falls into the ith one, then table entries are computed as + + tab[i].invc = 1/c + tab[i].logc = round(0x1p43*log(c))/0x1p43 + tab[i].logctail = (double)(log(c) - logc) + +where c is chosen near the center of the subinterval such that 1/c has only a +few precision bits so z/c - 1 is exactly representible as double: + + 1/c = center < 1 ? round(N/center)/N : round(2*N/center)/N/2 + +Note: |z/c - 1| < 1/N for the chosen c, |log(c) - logc - logctail| < 0x1p-97, +the last few bits of logc are rounded away so k*ln2hi + logc has no rounding +error and the interval for z is selected such that near x == 1, where log(x) +is tiny, large cancellation error is avoided in logc + poly(z/c - 1). */ + +// @ts-ignore: decorator +@lazy @inline const POW_LOG_DATA_TAB = memory.data([ + // invc ,pad, logc , logctail + 0x3FF6A00000000000, 0, 0xBFD62C82F2B9C800, 0x3CFAB42428375680, + 0x3FF6800000000000, 0, 0xBFD5D1BDBF580800, 0xBD1CA508D8E0F720, + 0x3FF6600000000000, 0, 0xBFD5767717455800, 0xBD2362A4D5B6506D, + 0x3FF6400000000000, 0, 0xBFD51AAD872DF800, 0xBCE684E49EB067D5, + 0x3FF6200000000000, 0, 0xBFD4BE5F95777800, 0xBD041B6993293EE0, + 0x3FF6000000000000, 0, 0xBFD4618BC21C6000, 0x3D13D82F484C84CC, + 0x3FF5E00000000000, 0, 0xBFD404308686A800, 0x3CDC42F3ED820B3A, + 0x3FF5C00000000000, 0, 0xBFD3A64C55694800, 0x3D20B1C686519460, + 0x3FF5A00000000000, 0, 0xBFD347DD9A988000, 0x3D25594DD4C58092, + 0x3FF5800000000000, 0, 0xBFD2E8E2BAE12000, 0x3D267B1E99B72BD8, + 0x3FF5600000000000, 0, 0xBFD2895A13DE8800, 0x3D15CA14B6CFB03F, + 0x3FF5600000000000, 0, 0xBFD2895A13DE8800, 0x3D15CA14B6CFB03F, + 0x3FF5400000000000, 0, 0xBFD22941FBCF7800, 0xBD165A242853DA76, + 0x3FF5200000000000, 0, 0xBFD1C898C1699800, 0xBD1FAFBC68E75404, + 0x3FF5000000000000, 0, 0xBFD1675CABABA800, 0x3D1F1FC63382A8F0, + 0x3FF4E00000000000, 0, 0xBFD1058BF9AE4800, 0xBD26A8C4FD055A66, + 0x3FF4C00000000000, 0, 0xBFD0A324E2739000, 0xBD0C6BEE7EF4030E, + 0x3FF4A00000000000, 0, 0xBFD0402594B4D000, 0xBCF036B89EF42D7F, + 0x3FF4A00000000000, 0, 0xBFD0402594B4D000, 0xBCF036B89EF42D7F, + 0x3FF4800000000000, 0, 0xBFCFB9186D5E4000, 0x3D0D572AAB993C87, + 0x3FF4600000000000, 0, 0xBFCEF0ADCBDC6000, 0x3D2B26B79C86AF24, + 0x3FF4400000000000, 0, 0xBFCE27076E2AF000, 0xBD172F4F543FFF10, + 0x3FF4200000000000, 0, 0xBFCD5C216B4FC000, 0x3D21BA91BBCA681B, + 0x3FF4000000000000, 0, 0xBFCC8FF7C79AA000, 0x3D27794F689F8434, + 0x3FF4000000000000, 0, 0xBFCC8FF7C79AA000, 0x3D27794F689F8434, + 0x3FF3E00000000000, 0, 0xBFCBC286742D9000, 0x3D194EB0318BB78F, + 0x3FF3C00000000000, 0, 0xBFCAF3C94E80C000, 0x3CBA4E633FCD9066, + 0x3FF3A00000000000, 0, 0xBFCA23BC1FE2B000, 0xBD258C64DC46C1EA, + 0x3FF3A00000000000, 0, 0xBFCA23BC1FE2B000, 0xBD258C64DC46C1EA, + 0x3FF3800000000000, 0, 0xBFC9525A9CF45000, 0xBD2AD1D904C1D4E3, + 0x3FF3600000000000, 0, 0xBFC87FA06520D000, 0x3D2BBDBF7FDBFA09, + 0x3FF3400000000000, 0, 0xBFC7AB890210E000, 0x3D2BDB9072534A58, + 0x3FF3400000000000, 0, 0xBFC7AB890210E000, 0x3D2BDB9072534A58, + 0x3FF3200000000000, 0, 0xBFC6D60FE719D000, 0xBD10E46AA3B2E266, + 0x3FF3000000000000, 0, 0xBFC5FF3070A79000, 0xBD1E9E439F105039, + 0x3FF3000000000000, 0, 0xBFC5FF3070A79000, 0xBD1E9E439F105039, + 0x3FF2E00000000000, 0, 0xBFC526E5E3A1B000, 0xBD20DE8B90075B8F, + 0x3FF2C00000000000, 0, 0xBFC44D2B6CCB8000, 0x3D170CC16135783C, + 0x3FF2C00000000000, 0, 0xBFC44D2B6CCB8000, 0x3D170CC16135783C, + 0x3FF2A00000000000, 0, 0xBFC371FC201E9000, 0x3CF178864D27543A, + 0x3FF2800000000000, 0, 0xBFC29552F81FF000, 0xBD248D301771C408, + 0x3FF2600000000000, 0, 0xBFC1B72AD52F6000, 0xBD2E80A41811A396, + 0x3FF2600000000000, 0, 0xBFC1B72AD52F6000, 0xBD2E80A41811A396, + 0x3FF2400000000000, 0, 0xBFC0D77E7CD09000, 0x3D0A699688E85BF4, + 0x3FF2400000000000, 0, 0xBFC0D77E7CD09000, 0x3D0A699688E85BF4, + 0x3FF2200000000000, 0, 0xBFBFEC9131DBE000, 0xBD2575545CA333F2, + 0x3FF2000000000000, 0, 0xBFBE27076E2B0000, 0x3D2A342C2AF0003C, + 0x3FF2000000000000, 0, 0xBFBE27076E2B0000, 0x3D2A342C2AF0003C, + 0x3FF1E00000000000, 0, 0xBFBC5E548F5BC000, 0xBD1D0C57585FBE06, + 0x3FF1C00000000000, 0, 0xBFBA926D3A4AE000, 0x3D253935E85BAAC8, + 0x3FF1C00000000000, 0, 0xBFBA926D3A4AE000, 0x3D253935E85BAAC8, + 0x3FF1A00000000000, 0, 0xBFB8C345D631A000, 0x3D137C294D2F5668, + 0x3FF1A00000000000, 0, 0xBFB8C345D631A000, 0x3D137C294D2F5668, + 0x3FF1800000000000, 0, 0xBFB6F0D28AE56000, 0xBD269737C93373DA, + 0x3FF1600000000000, 0, 0xBFB51B073F062000, 0x3D1F025B61C65E57, + 0x3FF1600000000000, 0, 0xBFB51B073F062000, 0x3D1F025B61C65E57, + 0x3FF1400000000000, 0, 0xBFB341D7961BE000, 0x3D2C5EDACCF913DF, + 0x3FF1400000000000, 0, 0xBFB341D7961BE000, 0x3D2C5EDACCF913DF, + 0x3FF1200000000000, 0, 0xBFB16536EEA38000, 0x3D147C5E768FA309, + 0x3FF1000000000000, 0, 0xBFAF0A30C0118000, 0x3D2D599E83368E91, + 0x3FF1000000000000, 0, 0xBFAF0A30C0118000, 0x3D2D599E83368E91, + 0x3FF0E00000000000, 0, 0xBFAB42DD71198000, 0x3D1C827AE5D6704C, + 0x3FF0E00000000000, 0, 0xBFAB42DD71198000, 0x3D1C827AE5D6704C, + 0x3FF0C00000000000, 0, 0xBFA77458F632C000, 0xBD2CFC4634F2A1EE, + 0x3FF0C00000000000, 0, 0xBFA77458F632C000, 0xBD2CFC4634F2A1EE, + 0x3FF0A00000000000, 0, 0xBFA39E87B9FEC000, 0x3CF502B7F526FEAA, + 0x3FF0A00000000000, 0, 0xBFA39E87B9FEC000, 0x3CF502B7F526FEAA, + 0x3FF0800000000000, 0, 0xBF9F829B0E780000, 0xBD2980267C7E09E4, + 0x3FF0800000000000, 0, 0xBF9F829B0E780000, 0xBD2980267C7E09E4, + 0x3FF0600000000000, 0, 0xBF97B91B07D58000, 0xBD288D5493FAA639, + 0x3FF0400000000000, 0, 0xBF8FC0A8B0FC0000, 0xBCDF1E7CF6D3A69C, + 0x3FF0400000000000, 0, 0xBF8FC0A8B0FC0000, 0xBCDF1E7CF6D3A69C, + 0x3FF0200000000000, 0, 0xBF7FE02A6B100000, 0xBD19E23F0DDA40E4, + 0x3FF0200000000000, 0, 0xBF7FE02A6B100000, 0xBD19E23F0DDA40E4, + 0x3FF0000000000000, 0, 0, 0, + 0x3FF0000000000000, 0, 0, 0, + 0x3FEFC00000000000, 0, 0x3F80101575890000, 0xBD10C76B999D2BE8, + 0x3FEF800000000000, 0, 0x3F90205658938000, 0xBD23DC5B06E2F7D2, + 0x3FEF400000000000, 0, 0x3F98492528C90000, 0xBD2AA0BA325A0C34, + 0x3FEF000000000000, 0, 0x3FA0415D89E74000, 0x3D0111C05CF1D753, + 0x3FEEC00000000000, 0, 0x3FA466AED42E0000, 0xBD2C167375BDFD28, + 0x3FEE800000000000, 0, 0x3FA894AA149FC000, 0xBD197995D05A267D, + 0x3FEE400000000000, 0, 0x3FACCB73CDDDC000, 0xBD1A68F247D82807, + 0x3FEE200000000000, 0, 0x3FAEEA31C006C000, 0xBD0E113E4FC93B7B, + 0x3FEDE00000000000, 0, 0x3FB1973BD1466000, 0xBD25325D560D9E9B, + 0x3FEDA00000000000, 0, 0x3FB3BDF5A7D1E000, 0x3D2CC85EA5DB4ED7, + 0x3FED600000000000, 0, 0x3FB5E95A4D97A000, 0xBD2C69063C5D1D1E, + 0x3FED400000000000, 0, 0x3FB700D30AEAC000, 0x3CEC1E8DA99DED32, + 0x3FED000000000000, 0, 0x3FB9335E5D594000, 0x3D23115C3ABD47DA, + 0x3FECC00000000000, 0, 0x3FBB6AC88DAD6000, 0xBD1390802BF768E5, + 0x3FECA00000000000, 0, 0x3FBC885801BC4000, 0x3D2646D1C65AACD3, + 0x3FEC600000000000, 0, 0x3FBEC739830A2000, 0xBD2DC068AFE645E0, + 0x3FEC400000000000, 0, 0x3FBFE89139DBE000, 0xBD2534D64FA10AFD, + 0x3FEC000000000000, 0, 0x3FC1178E8227E000, 0x3D21EF78CE2D07F2, + 0x3FEBE00000000000, 0, 0x3FC1AA2B7E23F000, 0x3D2CA78E44389934, + 0x3FEBA00000000000, 0, 0x3FC2D1610C868000, 0x3D039D6CCB81B4A1, + 0x3FEB800000000000, 0, 0x3FC365FCB0159000, 0x3CC62FA8234B7289, + 0x3FEB400000000000, 0, 0x3FC4913D8333B000, 0x3D25837954FDB678, + 0x3FEB200000000000, 0, 0x3FC527E5E4A1B000, 0x3D2633E8E5697DC7, + 0x3FEAE00000000000, 0, 0x3FC6574EBE8C1000, 0x3D19CF8B2C3C2E78, + 0x3FEAC00000000000, 0, 0x3FC6F0128B757000, 0xBD25118DE59C21E1, + 0x3FEAA00000000000, 0, 0x3FC7898D85445000, 0xBD1C661070914305, + 0x3FEA600000000000, 0, 0x3FC8BEAFEB390000, 0xBD073D54AAE92CD1, + 0x3FEA400000000000, 0, 0x3FC95A5ADCF70000, 0x3D07F22858A0FF6F, + 0x3FEA000000000000, 0, 0x3FCA93ED3C8AE000, 0xBD28724350562169, + 0x3FE9E00000000000, 0, 0x3FCB31D8575BD000, 0xBD0C358D4EACE1AA, + 0x3FE9C00000000000, 0, 0x3FCBD087383BE000, 0xBD2D4BC4595412B6, + 0x3FE9A00000000000, 0, 0x3FCC6FFBC6F01000, 0xBCF1EC72C5962BD2, + 0x3FE9600000000000, 0, 0x3FCDB13DB0D49000, 0xBD2AFF2AF715B035, + 0x3FE9400000000000, 0, 0x3FCE530EFFE71000, 0x3CC212276041F430, + 0x3FE9200000000000, 0, 0x3FCEF5ADE4DD0000, 0xBCCA211565BB8E11, + 0x3FE9000000000000, 0, 0x3FCF991C6CB3B000, 0x3D1BCBECCA0CDF30, + 0x3FE8C00000000000, 0, 0x3FD07138604D5800, 0x3CF89CDB16ED4E91, + 0x3FE8A00000000000, 0, 0x3FD0C42D67616000, 0x3D27188B163CEAE9, + 0x3FE8800000000000, 0, 0x3FD1178E8227E800, 0xBD2C210E63A5F01C, + 0x3FE8600000000000, 0, 0x3FD16B5CCBACF800, 0x3D2B9ACDF7A51681, + 0x3FE8400000000000, 0, 0x3FD1BF99635A6800, 0x3D2CA6ED5147BDB7, + 0x3FE8200000000000, 0, 0x3FD214456D0EB800, 0x3D0A87DEBA46BAEA, + 0x3FE7E00000000000, 0, 0x3FD2BEF07CDC9000, 0x3D2A9CFA4A5004F4, + 0x3FE7C00000000000, 0, 0x3FD314F1E1D36000, 0xBD28E27AD3213CB8, + 0x3FE7A00000000000, 0, 0x3FD36B6776BE1000, 0x3D116ECDB0F177C8, + 0x3FE7800000000000, 0, 0x3FD3C25277333000, 0x3D183B54B606BD5C, + 0x3FE7600000000000, 0, 0x3FD419B423D5E800, 0x3D08E436EC90E09D, + 0x3FE7400000000000, 0, 0x3FD4718DC271C800, 0xBD2F27CE0967D675, + 0x3FE7200000000000, 0, 0x3FD4C9E09E173000, 0xBD2E20891B0AD8A4, + 0x3FE7000000000000, 0, 0x3FD522AE0738A000, 0x3D2EBE708164C759, + 0x3FE6E00000000000, 0, 0x3FD57BF753C8D000, 0x3D1FADEDEE5D40EF, + 0x3FE6C00000000000, 0, 0x3FD5D5BDDF596000, 0xBD0A0B2A08A465DC +]); + +// Returns 0 if not int, 1 if odd int, 2 if even int. The argument is +// the bit representation of a non-zero finite floating-point value. +// @ts-ignore: decorator +@inline +function checkint(iy: u64): i32 { + let e = iy >> 52 & 0x7FF; + if (e < 0x3FF ) return 0; + if (e > 0x3FF + 52) return 2; + e = u64(1) << (0x3FF + 52 - e); + if (iy & (e - 1)) return 0; + if (iy & e ) return 1; + return 2; +} + +// @ts-ignore: decorator +@inline +function xflow(sign: u32, y: f64): f64 { + return select(-y, y, sign) * y; +} + +// @ts-ignore: decorator +@inline +function uflow(sign: u32): f64 { + return xflow(sign, reinterpret(0x1000000000000000)); // 0x1p-767 +} + +// @ts-ignore: decorator +@inline +function oflow(sign: u32): f64 { + return xflow(sign, reinterpret(0x7000000000000000)); // 0x1p769 +} + +// Returns 1 if input is the bit representation of 0, infinity or nan. +// @ts-ignore: decorator +@inline +function zeroinfnan(u: u64): bool { + return (u << 1) - 1 >= 0xFFE0000000000000 - 1; +} + +// @ts-ignore: decorator +@lazy let log_tail: f64 = 0; + +// Compute y+TAIL = log(x) where the rounded result is y and TAIL has about +// additional 15 bits precision. IX is the bit representation of x, but +// normalized in the subnormal range using the sign bit for the exponent. +// @ts-ignore: decorator +@inline +function log_inline(ix: u64): f64 { + const N = 1 << POW_LOG_TABLE_BITS; + const N_MASK = N - 1; + + const + Ln2hi = reinterpret(0x3FE62E42FEFA3800), + Ln2lo = reinterpret(0x3D2EF35793C76730); + + const + A0 = reinterpret(0xBFE0000000000000), + A1 = reinterpret(0xBFE5555555555560), + A2 = reinterpret(0x3FE0000000000006), + A3 = reinterpret(0x3FE999999959554E), + A4 = reinterpret(0xBFE555555529A47A), + A5 = reinterpret(0xBFF2495B9B4845E9), + A6 = reinterpret(0x3FF0002B8B263FC3); + + // x = 2^k z; where z is in range [OFF,2*OFF) and exact. + // The range is split into N subintervals. + // The ith subinterval contains z and c is near its center. + let tmp = ix - 0x3fE6955500000000; + let i = usize((tmp >> (52 - POW_LOG_TABLE_BITS)) & N_MASK); + let k = tmp >> 52; + let iz = ix - (tmp & u64(0xFFF) << 52); + let z = reinterpret(iz); + let kd = k; + + // log(x) = k*Ln2 + log(c) + log1p(z/c-1). + let invc = load(POW_LOG_DATA_TAB + (i << (2 + alignof())), 0 << alignof()); // tab[i].invc + let logc = load(POW_LOG_DATA_TAB + (i << (2 + alignof())), 2 << alignof()); // tab[i].logc + let logctail = load(POW_LOG_DATA_TAB + (i << (2 + alignof())), 3 << alignof()); // tab[i].logctail + + // Note: 1/c is j/N or j/N/2 where j is an integer in [N,2N) and + // |z/c - 1| < 1/N, so r = z/c - 1 is exactly representible. + // Split z such that rhi, rlo and rhi*rhi are exact and |rlo| <= |r|. + let zhi = reinterpret((iz + u64(0x80000000)) & 0xFFFFFFFF00000000); + let zlo = z - zhi; + let rhi = zhi * invc - 1.0; + let rlo = zlo * invc; + let r = rhi + rlo; + + // k * Ln2 + log(c) + r. + let t1 = kd * Ln2hi + logc; + let t2 = t1 + r; + let lo1 = kd * Ln2lo + logctail; + let lo2 = t1 - t2 + r; + + // Evaluation is optimized assuming superscalar pipelined execution. + let ar = A0 * r; // A[0] = -0.5 + let ar2 = r * ar; + let ar3 = r * ar2; + // k * Ln2 + log(c) + r + A[0] * r * r. + let arhi = A0 * rhi; + let arhi2 = rhi * arhi; + let hi = t2 + arhi2; + let lo3 = rlo * (ar + arhi); + let lo4 = t2 - hi + arhi2; + + // p = log1p(r) - r - A[0] * r * r. + let p = ar3 * (A1 + r * A2 + ar2 * (A3 + r * A4 + ar2 * (A5 + r * A6))); + let lo = lo1 + lo2 + lo3 + lo4 + p; + let y = hi + lo; + log_tail = hi - y + lo; + + return y; +} + +// @ts-ignore: decorator +@inline const SIGN_BIAS = 0x800 << EXP_TABLE_BITS; + +// Computes sign*exp(x+xtail) where |xtail| < 2^-8/N and |xtail| <= |x|. +// The sign_bias argument is SIGN_BIAS or 0 and sets the sign to -1 or 1. +// @ts-ignore: decorator +@inline +function exp_inline(x: f64, xtail: f64, sign_bias: u32): f64 { + const N = 1 << EXP_TABLE_BITS; + const N_MASK = N - 1; + + const + InvLn2N = reinterpret(0x3FF71547652B82FE) * N, // 0x1.71547652b82fep0 + NegLn2hiN = reinterpret(0xBF762E42FEFA0000), // -0x1.62e42fefa0000p-8 + NegLn2loN = reinterpret(0xBD0CF79ABC9E3B3A), // -0x1.cf79abc9e3b3ap-47 + shift = reinterpret(0x4338000000000000); // 0x1.8p52 + + const + C2 = reinterpret(0x3FDFFFFFFFFFFDBD), // __exp_data.poly[0] (0x1.ffffffffffdbdp-2) + C3 = reinterpret(0x3FC555555555543C), // __exp_data.poly[1] (0x1.555555555543cp-3) + C4 = reinterpret(0x3FA55555CF172B91), // __exp_data.poly[2] (0x1.55555cf172b91p-5) + C5 = reinterpret(0x3F81111167A4D017); // __exp_data.poly[3] (0x1.1111167a4d017p-7) + + let abstop: u32; + let ki: u64, top: u64, sbits: u64; + let idx: usize; + // double_t for better performance on targets with FLT_EVAL_METHOD==2. + let kd: f64, z: f64, r: f64, r2: f64, scale: f64, tail: f64, tmp: f64; + + let ux = reinterpret(x); + abstop = u32(ux >> 52) & 0x7FF; + if (abstop - 0x3C9 >= 0x03F) { + if (abstop - 0x3C9 >= 0x80000000) { + // Avoid spurious underflow for tiny x. + // Note: 0 is common input. + return select(-1.0, 1.0, sign_bias); + } + if (abstop >= 0x409) { // top12(1024.0) + // Note: inf and nan are already handled. + return ux < 0 + ? uflow(sign_bias) + : oflow(sign_bias); + } + // Large x is special cased below. + abstop = 0; + } + + // exp(x) = 2^(k/N) * exp(r), with exp(r) in [2^(-1/2N),2^(1/2N)]. + // x = ln2/N*k + r, with int k and r in [-ln2/2N, ln2/2N]. + z = InvLn2N * x; + + // #if TOINT_INTRINSICS + // kd = roundtoint(z); + // ki = converttoint(z); + // #elif EXP_USE_TOINT_NARROW + // // z - kd is in [-0.5-2^-16, 0.5] in all rounding modes. + // kd = eval_as_double(z + shift); + // ki = asuint64(kd) >> 16; + // kd = (double_t)(int32_t)ki; + // #else + // z - kd is in [-1, 1] in non-nearest rounding modes + kd = z + shift; + ki = reinterpret(kd); + kd -= shift; + // #endif + r = x + kd * NegLn2hiN + kd * NegLn2loN; + // The code assumes 2^-200 < |xtail| < 2^-8/N + r += xtail; + // 2^(k/N) ~= scale * (1 + tail) + idx = usize((ki & N_MASK) << 1); + top = (ki + sign_bias) << (52 - EXP_TABLE_BITS); + + tail = reinterpret(load(EXP_DATA_TAB + (idx << alignof()))); + // This is only a valid scale when -1023*N < k < 1024*N + sbits = load(EXP_DATA_TAB + (idx << alignof()), 1 << alignof()) + top; + // exp(x) = 2^(k/N) * exp(r) ~= scale + scale * (tail + exp(r) - 1). + // Evaluation is optimized assuming superscalar pipelined execution. + r2 = r * r; + // Without fma the worst case error is 0.25/N ulp larger. + // Worst case error is less than 0.5+1.11/N+(abs poly error * 2^53) ulp + tmp = tail + r + r2 * (C2 + r * C3) + r2 * r2 * (C4 + r * C5); + if (abstop == 0) return specialcase(tmp, sbits, ki); + scale = reinterpret(sbits); + // Note: tmp == 0 or |tmp| > 2^-200 and scale > 2^-739, so there + // is no spurious underflow here even without fma. + return scale + scale * tmp; +} + +// @ts-ignore: decorator +@inline +export function pow_lut(x: f64, y: f64): f64 { + const Ox1p52 = reinterpret(0x4330000000000000); // 0x1p52 + + let sign_bias: u32 = 0; + let ix = reinterpret(x); + let iy = reinterpret(y); + let topx = ix >> 52; + let topy = iy >> 52; + + if (topx - 0x001 >= 0x7FF - 0x001 || (topy & 0x7FF) - 0x3BE >= 0x43e - 0x3BE) { + // Note: if |y| > 1075 * ln2 * 2^53 ~= 0x1.749p62 then pow(x,y) = inf/0 + // and if |y| < 2^-54 / 1075 ~= 0x1.e7b6p-65 then pow(x,y) = +-1. + // Special cases: (x < 0x1p-126 or inf or nan) or + // (|y| < 0x1p-65 or |y| >= 0x1p63 or nan). + if (zeroinfnan(iy)) { + if ((iy << 1) == 0) return 1.0; + if (ix == 0x3FF0000000000000) return NaN; // original: 1.0 + if ((ix << 1) > 0xFFE0000000000000 || (iy << 1) > 0xFFE0000000000000) return x + y; + if ((ix << 1) == 0x7FE0000000000000) return NaN; // original: 1.0 + if (((ix << 1) < 0x7FE0000000000000) == !(iy >> 63)) return 0; // |x|<1 && y==inf or |x|>1 && y==-inf. + return y * y; + } + if (zeroinfnan(ix)) { + let x2 = x * x; + if (i32(ix >> 63) && checkint(iy) == 1) x2 = -x2; + return iy < 0 ? 1 / x2 : x2; + } + // Here x and y are non-zero finite + if (ix < 0) { + // Finite x < 0 + let yint = checkint(iy); + if (yint == 0) return (x - x) / (x - x); + if (yint == 1) sign_bias = SIGN_BIAS; + ix &= 0x7FFFFFFFFFFFFFFF; + topx &= 0x7FF; + } + if ((topy & 0x7FF) - 0x3BE >= 0x43E - 0x3BE) { + // Note: sign_bias == 0 here because y is not odd. + if (ix == 0x3FF0000000000000) return 1; + if ((topy & 0x7FF) < 0x3BE) return 1; // |y| < 2^-65, x^y ~= 1 + y*log(x). + return (ix > 0x3FF0000000000000) == (topy < 0x800) ? Infinity : 0; + } + if (topx == 0) { + // Normalize subnormal x so exponent becomes negative. + ix = reinterpret(x * Ox1p52); + ix &= 0x7FFFFFFFFFFFFFFF; + ix -= u64(52) << 52; + } + } + + let hi = log_inline(ix); + let lo = log_tail; + let ehi: f64, elo: f64; + // #if __FP_FAST_FMA + // ehi = y * hi; + // elo = y * lo + __builtin_fma(y, hi, -ehi); + // #else + let yhi = reinterpret(iy & 0xFFFFFFFFF8000000); + let ylo = y - yhi; + let lhi = reinterpret(reinterpret(hi) & 0xFFFFFFFFF8000000); + let llo = hi - lhi + lo; + ehi = yhi * lhi; + elo = ylo * lhi + y * llo; // |elo| < |ehi| * 2^-25. + // #endif + return exp_inline(ehi, elo, sign_bias); +} +`,"util/memory":`export function memcpy(dest: usize, src: usize, n: usize): void { // see: musl/src/string/memcpy.c + let w: u32, x: u32; + + // copy 1 byte each until src is aligned to 4 bytes + while (n && (src & 3)) { + store(dest++, load(src++)); + n--; + } + + // if dst is aligned to 4 bytes as well, copy 4 bytes each + if ((dest & 3) == 0) { + while (n >= 16) { + store(dest , load(src )); + store(dest + 4, load(src + 4)); + store(dest + 8, load(src + 8)); + store(dest + 12, load(src + 12)); + src += 16; dest += 16; n -= 16; + } + if (n & 8) { + store(dest , load(src )); + store(dest + 4, load(src + 4)); + dest += 8; src += 8; + } + if (n & 4) { + store(dest, load(src)); + dest += 4; src += 4; + } + if (n & 2) { // drop to 2 bytes each + store(dest, load(src)); + dest += 2; src += 2; + } + if (n & 1) { // drop to 1 byte + store(dest++, load(src++)); + } + return; + } + + // if dst is not aligned to 4 bytes, use alternating shifts to copy 4 bytes each + // doing shifts if faster when copying enough bytes (here: 32 or more) + if (n >= 32) { + switch (dest & 3) { + // known to be != 0 + case 1: { + w = load(src); + store(dest++, load(src++)); + store(dest++, load(src++)); + store(dest++, load(src++)); + n -= 3; + while (n >= 17) { + x = load(src + 1); + store(dest, w >> 24 | x << 8); + w = load(src + 5); + store(dest + 4, x >> 24 | w << 8); + x = load(src + 9); + store(dest + 8, w >> 24 | x << 8); + w = load(src + 13); + store(dest + 12, x >> 24 | w << 8); + src += 16; dest += 16; n -= 16; + } + break; + } + case 2: { + w = load(src); + store(dest++, load(src++)); + store(dest++, load(src++)); + n -= 2; + while (n >= 18) { + x = load(src + 2); + store(dest, w >> 16 | x << 16); + w = load(src + 6); + store(dest + 4, x >> 16 | w << 16); + x = load(src + 10); + store(dest + 8, w >> 16 | x << 16); + w = load(src + 14); + store(dest + 12, x >> 16 | w << 16); + src += 16; dest += 16; n -= 16; + } + break; + } + case 3: { + w = load(src); + store(dest++, load(src++)); + n -= 1; + while (n >= 19) { + x = load(src + 3); + store(dest, w >> 8 | x << 24); + w = load(src + 7); + store(dest + 4, x >> 8 | w << 24); + x = load(src + 11); + store(dest + 8, w >> 8 | x << 24); + w = load(src + 15); + store(dest + 12, x >> 8 | w << 24); + src += 16; dest += 16; n -= 16; + } + break; + } + } + } + + // copy remaining bytes one by one + if (n & 16) { + store(dest++, load(src++)); + store(dest++, load(src++)); + store(dest++, load(src++)); + store(dest++, load(src++)); + store(dest++, load(src++)); + store(dest++, load(src++)); + store(dest++, load(src++)); + store(dest++, load(src++)); + store(dest++, load(src++)); + store(dest++, load(src++)); + store(dest++, load(src++)); + store(dest++, load(src++)); + store(dest++, load(src++)); + store(dest++, load(src++)); + store(dest++, load(src++)); + store(dest++, load(src++)); + } + if (n & 8) { + store(dest++, load(src++)); + store(dest++, load(src++)); + store(dest++, load(src++)); + store(dest++, load(src++)); + store(dest++, load(src++)); + store(dest++, load(src++)); + store(dest++, load(src++)); + store(dest++, load(src++)); + } + if (n & 4) { + store(dest++, load(src++)); + store(dest++, load(src++)); + store(dest++, load(src++)); + store(dest++, load(src++)); + } + if (n & 2) { + store(dest++, load(src++)); + store(dest++, load(src++)); + } + if (n & 1) { + store(dest++, load(src++)); + } +} + +// @ts-ignore: decorator +@inline +export function memmove(dest: usize, src: usize, n: usize): void { // see: musl/src/string/memmove.c + if (dest == src) return; + if (ASC_SHRINK_LEVEL < 1) { + if (src - dest - n <= -(n << 1)) { + memcpy(dest, src, n); + return; + } + } + if (dest < src) { + if (ASC_SHRINK_LEVEL < 2) { + if ((src & 7) == (dest & 7)) { + while (dest & 7) { + if (!n) return; + --n; + store(dest++, load(src++)); + } + while (n >= 8) { + store(dest, load(src)); + n -= 8; + dest += 8; + src += 8; + } + } + } + while (n) { + store(dest++, load(src++)); + --n; + } + } else { + if (ASC_SHRINK_LEVEL < 2) { + if ((src & 7) == (dest & 7)) { + while ((dest + n) & 7) { + if (!n) return; + store(dest + --n, load(src + n)); + } + while (n >= 8) { + n -= 8; + store(dest + n, load(src + n)); + } + } + } + while (n) { + store(dest + --n, load(src + n)); + } + } +} + +// @ts-ignore: decorator +@inline +export function memset(dest: usize, c: u8, n: usize): void { // see: musl/src/string/memset + if (ASC_SHRINK_LEVEL > 1) { + while (n) { + store(dest++, c); + --n; + } + } else { + // fill head and tail with minimal branching + if (!n) return; + let dend = dest + n; + store(dest, c); + store(dend - 1, c); + if (n <= 2) return; + store(dest, c, 1); + store(dest, c, 2); + store(dend - 2, c); + store(dend - 3, c); + if (n <= 6) return; + store(dest, c, 3); + store(dend - 4, c); + if (n <= 8) return; + + // advance pointer to align it at 4-byte boundary + let k: usize = -dest & 3; + dest += k; + n -= k; + n &= -4; + + let c32: u32 = -1 / 255 * c; + + // fill head/tail up to 28 bytes each in preparation + dend = dest + n; + store(dest, c32); + store(dend - 4, c32); + if (n <= 8) return; + store(dest, c32, 4); + store(dest, c32, 8); + store(dend - 12, c32); + store(dend - 8, c32); + if (n <= 24) return; + store(dest, c32, 12); + store(dest, c32, 16); + store(dest, c32, 20); + store(dest, c32, 24); + store(dend - 28, c32); + store(dend - 24, c32); + store(dend - 20, c32); + store(dend - 16, c32); + + // align to a multiple of 8 + k = 24 + (dest & 4); + dest += k; + n -= k; + + // copy 32 bytes each + let c64: u64 = c32 | (c32 << 32); + while (n >= 32) { + store(dest, c64); + store(dest, c64, 8); + store(dest, c64, 16); + store(dest, c64, 24); + n -= 32; + dest += 32; + } + } +} + +// @ts-ignore: decorator +@inline +export function memcmp(vl: usize, vr: usize, n: usize): i32 { + if (vl == vr) return 0; + if (ASC_SHRINK_LEVEL < 2) { + if ((vl & 7) == (vr & 7)) { + while (vl & 7) { + if (!n) return 0; + let a = load(vl); + let b = load(vr); + if (a != b) return a - b; + n--; vl++; vr++; + } + while (n >= 8) { + if (load(vl) != load(vr)) break; + vl += 8; + vr += 8; + n -= 8; + } + } + } + while (n--) { + let a = load(vl); + let b = load(vr); + if (a != b) return a - b; + vl++; vr++; + } + return 0; +} +`,"util/number":`/// + +import { idof } from "../builtins"; +import { CharCode } from "./string"; + +// @ts-ignore: decorator +@inline +export const MAX_DOUBLE_LENGTH = 28; + +// @ts-ignore: decorator +@lazy @inline const POWERS10 = memory.data([ + 1, + 10, + 100, + 1000, + 10000, + 100000, + 1000000, + 10000000, + 100000000, + 1000000000 +]); + +/* + Lookup table for pairwise char codes in range [0-99] + + "00", "01", "02", "03", "04", "05", "06", "07", "08", "09", + "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", + "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", + "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", + "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", + "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", + "60", "61", "62", "63", "64", "65", "66", "67", "68", "69", + "70", "71", "72", "73", "74", "75", "76", "77", "78", "79", + "80", "81", "82", "83", "84", "85", "86", "87", "88", "89", + "90", "91", "92", "93", "94", "95", "96", "97", "98", "99" +*/ +// @ts-ignore: decorator +@lazy @inline const DIGITS = memory.data([ + 0x00300030, 0x00310030, 0x00320030, 0x00330030, 0x00340030, + 0x00350030, 0x00360030, 0x00370030, 0x00380030, 0x00390030, + 0x00300031, 0x00310031, 0x00320031, 0x00330031, 0x00340031, + 0x00350031, 0x00360031, 0x00370031, 0x00380031, 0x00390031, + 0x00300032, 0x00310032, 0x00320032, 0x00330032, 0x00340032, + 0x00350032, 0x00360032, 0x00370032, 0x00380032, 0x00390032, + 0x00300033, 0x00310033, 0x00320033, 0x00330033, 0x00340033, + 0x00350033, 0x00360033, 0x00370033, 0x00380033, 0x00390033, + 0x00300034, 0x00310034, 0x00320034, 0x00330034, 0x00340034, + 0x00350034, 0x00360034, 0x00370034, 0x00380034, 0x00390034, + 0x00300035, 0x00310035, 0x00320035, 0x00330035, 0x00340035, + 0x00350035, 0x00360035, 0x00370035, 0x00380035, 0x00390035, + 0x00300036, 0x00310036, 0x00320036, 0x00330036, 0x00340036, + 0x00350036, 0x00360036, 0x00370036, 0x00380036, 0x00390036, + 0x00300037, 0x00310037, 0x00320037, 0x00330037, 0x00340037, + 0x00350037, 0x00360037, 0x00370037, 0x00380037, 0x00390037, + 0x00300038, 0x00310038, 0x00320038, 0x00330038, 0x00340038, + 0x00350038, 0x00360038, 0x00370038, 0x00380038, 0x00390038, + 0x00300039, 0x00310039, 0x00320039, 0x00330039, 0x00340039, + 0x00350039, 0x00360039, 0x00370039, 0x00380039, 0x00390039 +]); + +// Lookup table for pairwise char codes in range [0x00-0xFF] +// @ts-ignore: decorator +@lazy @inline const HEX_DIGITS = +"000102030405060708090a0b0c0d0e0f\\ +101112131415161718191a1b1c1d1e1f\\ +202122232425262728292a2b2c2d2e2f\\ +303132333435363738393a3b3c3d3e3f\\ +404142434445464748494a4b4c4d4e4f\\ +505152535455565758595a5b5c5d5e5f\\ +606162636465666768696a6b6c6d6e6f\\ +707172737475767778797a7b7c7d7e7f\\ +808182838485868788898a8b8c8d8e8f\\ +909192939495969798999a9b9c9d9e9f\\ +a0a1a2a3a4a5a6a7a8a9aaabacadaeaf\\ +b0b1b2b3b4b5b6b7b8b9babbbcbdbebf\\ +c0c1c2c3c4c5c6c7c8c9cacbcccdcecf\\ +d0d1d2d3d4d5d6d7d8d9dadbdcdddedf\\ +e0e1e2e3e4e5e6e7e8e9eaebecedeeef\\ +f0f1f2f3f4f5f6f7f8f9fafbfcfdfeff"; + +// @ts-ignore: decorator +@lazy @inline const ANY_DIGITS = "0123456789abcdefghijklmnopqrstuvwxyz"; + +// @ts-ignore: decorator +@lazy @inline const EXP_POWERS = memory.data([/* eslint-disable indent */ + -1220, -1193, -1166, -1140, -1113, -1087, -1060, -1034, -1007, -980, + -954, -927, -901, -874, -847, -821, -794, -768, -741, -715, + -688, -661, -635, -608, -582, -555, -529, -502, -475, -449, + -422, -396, -369, -343, -316, -289, -263, -236, -210, -183, + -157, -130, -103, -77, -50, -24, 3, 30, 56, 83, + 109, 136, 162, 189, 216, 242, 269, 295, 322, 348, + 375, 402, 428, 455, 481, 508, 534, 561, 588, 614, + 641, 667, 694, 720, 747, 774, 800, 827, 853, 880, + 907, 933, 960, 986, 1013, 1039, 1066 +/* eslint-enable indent */]); + +// 1e-348, 1e-340, ..., 1e340 +// @ts-ignore: decorator +@lazy @inline const FRC_POWERS = memory.data([ + 0xFA8FD5A0081C0288, 0xBAAEE17FA23EBF76, 0x8B16FB203055AC76, 0xCF42894A5DCE35EA, + 0x9A6BB0AA55653B2D, 0xE61ACF033D1A45DF, 0xAB70FE17C79AC6CA, 0xFF77B1FCBEBCDC4F, + 0xBE5691EF416BD60C, 0x8DD01FAD907FFC3C, 0xD3515C2831559A83, 0x9D71AC8FADA6C9B5, + 0xEA9C227723EE8BCB, 0xAECC49914078536D, 0x823C12795DB6CE57, 0xC21094364DFB5637, + 0x9096EA6F3848984F, 0xD77485CB25823AC7, 0xA086CFCD97BF97F4, 0xEF340A98172AACE5, + 0xB23867FB2A35B28E, 0x84C8D4DFD2C63F3B, 0xC5DD44271AD3CDBA, 0x936B9FCEBB25C996, + 0xDBAC6C247D62A584, 0xA3AB66580D5FDAF6, 0xF3E2F893DEC3F126, 0xB5B5ADA8AAFF80B8, + 0x87625F056C7C4A8B, 0xC9BCFF6034C13053, 0x964E858C91BA2655, 0xDFF9772470297EBD, + 0xA6DFBD9FB8E5B88F, 0xF8A95FCF88747D94, 0xB94470938FA89BCF, 0x8A08F0F8BF0F156B, + 0xCDB02555653131B6, 0x993FE2C6D07B7FAC, 0xE45C10C42A2B3B06, 0xAA242499697392D3, + 0xFD87B5F28300CA0E, 0xBCE5086492111AEB, 0x8CBCCC096F5088CC, 0xD1B71758E219652C, + 0x9C40000000000000, 0xE8D4A51000000000, 0xAD78EBC5AC620000, 0x813F3978F8940984, + 0xC097CE7BC90715B3, 0x8F7E32CE7BEA5C70, 0xD5D238A4ABE98068, 0x9F4F2726179A2245, + 0xED63A231D4C4FB27, 0xB0DE65388CC8ADA8, 0x83C7088E1AAB65DB, 0xC45D1DF942711D9A, + 0x924D692CA61BE758, 0xDA01EE641A708DEA, 0xA26DA3999AEF774A, 0xF209787BB47D6B85, + 0xB454E4A179DD1877, 0x865B86925B9BC5C2, 0xC83553C5C8965D3D, 0x952AB45CFA97A0B3, + 0xDE469FBD99A05FE3, 0xA59BC234DB398C25, 0xF6C69A72A3989F5C, 0xB7DCBF5354E9BECE, + 0x88FCF317F22241E2, 0xCC20CE9BD35C78A5, 0x98165AF37B2153DF, 0xE2A0B5DC971F303A, + 0xA8D9D1535CE3B396, 0xFB9B7CD9A4A7443C, 0xBB764C4CA7A44410, 0x8BAB8EEFB6409C1A, + 0xD01FEF10A657842C, 0x9B10A4E5E9913129, 0xE7109BFBA19C0C9D, 0xAC2820D9623BF429, + 0x80444B5E7AA7CF85, 0xBF21E44003ACDD2D, 0x8E679C2F5E44FF8F, 0xD433179D9C8CB841, + 0x9E19DB92B4E31BA9, 0xEB96BF6EBADF77D9, 0xAF87023B9BF0EE6B +]); + +// @ts-ignore: decorator +@inline +export function isPowerOf2(value: T): bool { + return popcnt(value) == 1; +} + +// Count number of decimals for u32 values +// In our case input value always non-zero so we can simplify some parts +export function decimalCount32(value: u32): u32 { + if (value < 100000) { + if (value < 100) { + return 1 + u32(value >= 10); + } else { + return 3 + u32(value >= 10000) + u32(value >= 1000); + } + } else { + if (value < 10000000) { + return 6 + u32(value >= 1000000); + } else { + return 8 + u32(value >= 1000000000) + u32(value >= 100000000); + } + } +} + +// Count number of decimals for u64 values +// In our case input value always greater than 2^32-1 so we can skip some parts +export function decimalCount64High(value: u64): u32 { + if (value < 1000000000000000) { + if (value < 1000000000000) { + return 10 + u32(value >= 100000000000) + u32(value >= 10000000000); + } else { + return 13 + u32(value >= 100000000000000) + u32(value >= 10000000000000); + } + } else { + if (value < 100000000000000000) { + return 16 + u32(value >= 10000000000000000); + } else { + return 18 + u32(value >= 10000000000000000000) + u32(value >= 1000000000000000000); + } + } +} + +function ulog_base(num: u64, base: i32): u32 { + if (isPowerOf2(base)) { + return (63 - clz(num)) / (31 - clz(base)) + 1; + } + let b64 = u64(base), b = b64, e: u32 = 1; + while (num >= b) { + num /= b; + b *= b; + e <<= 1; + } + while (num >= 1) { + num /= b64; + e++; + } + return e - 1; +} + +function utoa32_dec_lut(buffer: usize, num: u32, offset: usize): void { + while (num >= 10000) { + // in most VMs i32/u32 div and modulo by constant can be shared and simplificate + let t = num / 10000; + let r = num % 10000; + num = t; + + let d1 = r / 100; + let d2 = r % 100; + + let digits1 = load(DIGITS + (d1 << alignof())); + let digits2 = load(DIGITS + (d2 << alignof())); + + offset -= 4; + store(buffer + (offset << 1), digits1 | (digits2 << 32)); + } + + if (num >= 100) { + let t = num / 100; + let d1 = num % 100; + num = t; + offset -= 2; + let digits = load(DIGITS + (d1 << alignof())); + store(buffer + (offset << 1), digits); + } + + if (num >= 10) { + offset -= 2; + let digits = load(DIGITS + (num << alignof())); + store(buffer + (offset << 1), digits); + } else { + offset -= 1; + let digit = CharCode._0 + num; + store(buffer + (offset << 1), digit); + } +} + +function utoa64_dec_lut(buffer: usize, num: u64, offset: usize): void { + while (num >= 100000000) { + let t = num / 100000000; + let r = (num - t * 100000000); + num = t; + + let b = r / 10000; + let c = r % 10000; + + let b1 = b / 100; + let b2 = b % 100; + let c1 = c / 100; + let c2 = c % 100; + + let digits1 = load(DIGITS + (c1 << alignof())); + let digits2 = load(DIGITS + (c2 << alignof())); + + offset -= 4; + store(buffer + (offset << 1), digits1 | (digits2 << 32)); + + digits1 = load(DIGITS + (b1 << alignof())); + digits2 = load(DIGITS + (b2 << alignof())); + + offset -= 4; + store(buffer + (offset << 1), digits1 | (digits2 << 32)); + } + + utoa32_dec_lut(buffer, num, offset); +} + +function utoa_hex_lut(buffer: usize, num: u64, offset: usize): void { + const lut = changetype(HEX_DIGITS); + while (offset >= 2) { + offset -= 2; + store( + buffer + (offset << 1), + load(lut + ((num & 0xFF) << alignof())) + ); + num >>= 8; + } + if (offset & 1) { + store(buffer, load(lut + (num << 6))); + } +} + +function utoa_dec_simple(buffer: usize, num: T, offset: usize): void { + do { + let t = num / 10; + let r = (num % 10); + num = changetype(t); + offset--; + store(buffer + (offset << 1), CharCode._0 + r); + } while (num); +} + +function utoa_hex_simple(buffer: usize, num: T, offset: usize): void { + do { + let d = num & 0x0F | CharCode._0; + d += select(0x27, 0, d > CharCode._9); + offset--; + store(buffer + (offset << 1), d); + // @ts-ignore: type + num >>= 4; + } while (num); +} + +// @ts-ignore: decorator +@inline +export function utoa32_dec_core(buffer: usize, num: u32, offset: usize): void { + if (ASC_SHRINK_LEVEL >= 1) { + utoa_dec_simple(buffer, num, offset); + } else { + utoa32_dec_lut(buffer, num, offset); + } +} + +// @ts-ignore: decorator +@inline +function utoa32_hex_core(buffer: usize, num: u32, offset: usize): void { + if (ASC_SHRINK_LEVEL >= 1) { + utoa_hex_simple(buffer, num, offset); + } else { + utoa_hex_lut(buffer, num, offset); + } +} + +// @ts-ignore: decorator +@inline +function utoa64_dec_core(buffer: usize, num: u64, offset: usize): void { + if (ASC_SHRINK_LEVEL >= 1) { + utoa_dec_simple(buffer, num, offset); + } else { + utoa64_dec_lut(buffer, num, offset); + } +} + +// @ts-ignore: decorator +@inline +function utoa64_hex_core(buffer: usize, num: u64, offset: usize): void { + if (ASC_SHRINK_LEVEL >= 1) { + utoa_hex_simple(buffer, num, offset); + } else { + utoa_hex_lut(buffer, num, offset); + } +} + +function utoa64_any_core(buffer: usize, num: u64, offset: usize, radix: i32): void { + const lut = changetype(ANY_DIGITS); + let base = u64(radix); + if ((radix & (radix - 1)) == 0) { // for radix which pow of two + let shift = u64(ctz(radix) & 7); + let mask = base - 1; + do { + offset--; + store(buffer + (offset << 1), load(lut + (usize(num & mask) << 1))); + num >>= shift; + } while (num); + } else { + do { + offset--; + let q = num / base; + store(buffer + (offset << 1), load(lut + (usize(num - q * base) << 1))); + num = q; + } while (num); + } +} + +export function utoa32(value: u32, radix: i32): String { + if (radix < 2 || radix > 36) { + throw new RangeError("toString() radix argument must be between 2 and 36"); + } + if (!value) return "0"; + let out: String; + + if (radix == 10) { + let decimals = decimalCount32(value); + out = changetype(__new(decimals << 1, idof())); + utoa32_dec_core(changetype(out), value, decimals); + } else if (radix == 16) { + let decimals = (31 - clz(value) >> 2) + 1; + out = changetype(__new(decimals << 1, idof())); + utoa32_hex_core(changetype(out), value, decimals); + } else { + let decimals = ulog_base(value, radix); + out = changetype(__new(decimals << 1, idof())); + utoa64_any_core(changetype(out), value, decimals, radix); + } + return out; +} + +export function itoa32(value: i32, radix: i32): String { + if (radix < 2 || radix > 36) { + throw new RangeError("toString() radix argument must be between 2 and 36"); + } + if (!value) return "0"; + + let sign = (value >>> 31) << 1; + if (sign) value = -value; + let out: String; + + if (radix == 10) { + let decimals = decimalCount32(value); + out = changetype(__new((decimals << 1) + sign, idof())); + utoa32_dec_core(changetype(out) + sign, value, decimals); + } else if (radix == 16) { + let decimals = (31 - clz(value) >> 2) + 1; + out = changetype(__new((decimals << 1) + sign, idof())); + utoa32_hex_core(changetype(out) + sign, value, decimals); + } else { + let val32 = u32(value); + let decimals = ulog_base(val32, radix); + out = changetype(__new((decimals << 1) + sign, idof())); + utoa64_any_core(changetype(out) + sign, val32, decimals, radix); + } + if (sign) store(changetype(out), CharCode.MINUS); + return out; +} + +export function utoa64(value: u64, radix: i32): String { + if (radix < 2 || radix > 36) { + throw new RangeError("toString() radix argument must be between 2 and 36"); + } + if (!value) return "0"; + let out: String; + + if (radix == 10) { + if (value <= u32.MAX_VALUE) { + let val32 = value; + let decimals = decimalCount32(val32); + out = changetype(__new(decimals << 1, idof())); + utoa32_dec_core(changetype(out), val32, decimals); + } else { + let decimals = decimalCount64High(value); + out = changetype(__new(decimals << 1, idof())); + utoa64_dec_core(changetype(out), value, decimals); + } + } else if (radix == 16) { + let decimals = (63 - u32(clz(value)) >> 2) + 1; + out = changetype(__new(decimals << 1, idof())); + utoa64_hex_core(changetype(out), value, decimals); + } else { + let decimals = ulog_base(value, radix); + out = changetype(__new(decimals << 1, idof())); + utoa64_any_core(changetype(out), value, decimals, radix); + } + return out; +} + +export function itoa64(value: i64, radix: i32): String { + if (radix < 2 || radix > 36) { + throw new RangeError("toString() radix argument must be between 2 and 36"); + } + if (!value) return "0"; + + let sign = u32(value >>> 63) << 1; + if (sign) value = -value; + let out: String; + + if (radix == 10) { + if (value <= u32.MAX_VALUE) { + let val32 = value; + let decimals = decimalCount32(val32); + out = changetype(__new((decimals << 1) + sign, idof())); + utoa32_dec_core(changetype(out) + sign, val32, decimals); + } else { + let decimals = decimalCount64High(value); + out = changetype(__new((decimals << 1) + sign, idof())); + utoa64_dec_core(changetype(out) + sign, value, decimals); + } + } else if (radix == 16) { + let decimals = (63 - u32(clz(value)) >> 2) + 1; + out = changetype(__new((decimals << 1) + sign, idof())); + utoa64_hex_core(changetype(out) + sign, value, decimals); + } else { + let decimals = ulog_base(value, radix); + out = changetype(__new((decimals << 1) + sign, idof())); + utoa64_any_core(changetype(out) + sign, value, decimals, radix); + } + if (sign) store(changetype(out), CharCode.MINUS); + return out; +} + +// @ts-ignore: decorator +@lazy let _K: i32 = 0; + +// // @ts-ignore: decorator +// @lazy +// let _frc: u64 = 0; + +// @ts-ignore: decorator +@lazy let _exp: i32 = 0; + +// @ts-ignore: decorator +@lazy let _frc_minus: u64 = 0; + +// @ts-ignore: decorator +@lazy let _frc_plus: u64 = 0; + +// @ts-ignore: decorator +@lazy let _frc_pow: u64 = 0; + +// @ts-ignore: decorator +@lazy let _exp_pow: i32 = 0; + +// @ts-ignore: decorator +@inline +function umul64f(u: u64, v: u64): u64 { + let u0 = u & 0xFFFFFFFF; + let v0 = v & 0xFFFFFFFF; + + let u1 = u >> 32; + let v1 = v >> 32; + + let l = u0 * v0; + let t = u1 * v0 + (l >> 32); + let w = u0 * v1 + (t & 0xFFFFFFFF); + + w += 0x7FFFFFFF; // rounding + + t >>= 32; + w >>= 32; + + return u1 * v1 + t + w; +} + +// @ts-ignore: decorator +@inline +function umul64e(e1: i32, e2: i32): i32 { + return e1 + e2 + 64; // where 64 is significand size +} + +// @ts-ignore: decorator +@inline +function normalizedBoundaries(f: u64, e: i32): void { + let frc = (f << 1) + 1; + let exp = e - 1; + let off = clz(frc); + frc <<= off; + exp -= off; + + let m = 1 + i32(f == 0x0010000000000000); + + _frc_plus = frc; + _frc_minus = ((f << m) - 1) << e - m - exp; + _exp = exp; +} + +// @ts-ignore: decorator +@inline +function grisuRound(buffer: usize, len: i32, delta: u64, rest: u64, ten_kappa: u64, wp_w: u64): void { + let lastp = buffer + ((len - 1) << 1); + let digit = load(lastp); + while ( + rest < wp_w && + delta - rest >= ten_kappa && ( + rest + ten_kappa < wp_w || + wp_w - rest > rest + ten_kappa - wp_w + ) + ) { + --digit; + rest += ten_kappa; + } + store(lastp, digit); +} + +// @ts-ignore: decorator +@inline +function getCachedPower(minExp: i32): void { + const c = reinterpret(0x3FD34413509F79FE); // 1 / lg(10) = 0.30102999566398114 + let dk = (-61 - minExp) * c + 347; // dk must be positive, so can do ceiling in positive + let k = dk; + k += i32(k != dk); // conversion with ceil + + let index = (k >> 3) + 1; + _K = 348 - (index << 3); // decimal exponent no need lookup table + _frc_pow = load(FRC_POWERS + (index << alignof())); + _exp_pow = load(EXP_POWERS + (index << alignof())); +} + +// @ts-ignore: decorator +@inline +function grisu2(value: f64, buffer: usize, sign: i32): i32 { + + // frexp routine + let uv = reinterpret(value); + let exp = i32((uv & 0x7FF0000000000000) >>> 52); + let sid = uv & 0x000FFFFFFFFFFFFF; + let frc = (u64(exp != 0) << 52) + sid; + exp = select(exp, 1, exp) - (0x3FF + 52); + + normalizedBoundaries(frc, exp); + getCachedPower(_exp); + + // normalize + let off = clz(frc); + frc <<= off; + exp -= off; + + let frc_pow = _frc_pow; + let exp_pow = _exp_pow; + + let w_frc = umul64f(frc, frc_pow); + let w_exp = umul64e(exp, exp_pow); + + let wp_frc = umul64f(_frc_plus, frc_pow) - 1; + let wp_exp = umul64e(_exp, exp_pow); + + let wm_frc = umul64f(_frc_minus, frc_pow) + 1; + let delta = wp_frc - wm_frc; + + return genDigits(buffer, w_frc, w_exp, wp_frc, wp_exp, delta, sign); +} + +function genDigits(buffer: usize, w_frc: u64, w_exp: i32, mp_frc: u64, mp_exp: i32, delta: u64, sign: i32): i32 { + let one_exp = -mp_exp; + let one_frc = (1) << one_exp; + let mask = one_frc - 1; + + let wp_w_frc = mp_frc - w_frc; + + let p1 = u32(mp_frc >> one_exp); + let p2 = mp_frc & mask; + + let kappa = decimalCount32(p1); + let len = sign; + + while (kappa > 0) { + let d: u32; + switch (kappa) { + case 10: { d = p1 / 1000000000; p1 %= 1000000000; break; } + case 9: { d = p1 / 100000000; p1 %= 100000000; break; } + case 8: { d = p1 / 10000000; p1 %= 10000000; break; } + case 7: { d = p1 / 1000000; p1 %= 1000000; break; } + case 6: { d = p1 / 100000; p1 %= 100000; break; } + case 5: { d = p1 / 10000; p1 %= 10000; break; } + case 4: { d = p1 / 1000; p1 %= 1000; break; } + case 3: { d = p1 / 100; p1 %= 100; break; } + case 2: { d = p1 / 10; p1 %= 10; break; } + case 1: { d = p1; p1 = 0; break; } + default: { d = 0; break; } + } + + if (d | len) store(buffer + (len++ << 1), CharCode._0 + d); + + --kappa; + let tmp = ((p1) << one_exp) + p2; + if (tmp <= delta) { + _K += kappa; + grisuRound(buffer, len, delta, tmp, load(POWERS10 + (kappa << alignof())) << one_exp, wp_w_frc); + return len; + } + } + + while (true) { + p2 *= 10; + delta *= 10; + + let d = p2 >> one_exp; + if (d | len) store(buffer + (len++ << 1), CharCode._0 + d); + + p2 &= mask; + --kappa; + if (p2 < delta) { + _K += kappa; + wp_w_frc *= load(POWERS10 + (-kappa << alignof())); + grisuRound(buffer, len, delta, p2, one_frc, wp_w_frc); + return len; + } + } +} + +// @ts-ignore: decorator +@inline +function genExponent(buffer: usize, k: i32): i32 { + let sign = k < 0; + if (sign) k = -k; + let decimals = decimalCount32(k) + 1; + utoa32_dec_core(buffer, k, decimals); + store(buffer, select(CharCode.MINUS, CharCode.PLUS, sign)); + return decimals; +} + +function prettify(buffer: usize, length: i32, k: i32): i32 { + if (!k) { + store(buffer + (length << 1), CharCode.DOT | (CharCode._0 << 16)); + return length + 2; + } + + let kk = length + k; + if (length <= kk && kk <= 21) { + // 1234e7 -> 12340000000 + for (let i = length; i < kk; ++i) { + store(buffer + (i << 1), CharCode._0); + } + store(buffer + (kk << 1), CharCode.DOT | (CharCode._0 << 16)); + return kk + 2; + } else if (kk > 0 && kk <= 21) { + // 1234e-2 -> 12.34 + let ptr = buffer + (kk << 1); + memory.copy( + ptr + 2, + ptr, + -k << 1 + ); + store(buffer + (kk << 1), CharCode.DOT); + return length + 1; + } else if (-6 < kk && kk <= 0) { + // 1234e-6 -> 0.001234 + let offset = 2 - kk; + memory.copy( + buffer + (offset << 1), + buffer, + length << 1 + ); + store(buffer, CharCode._0 | (CharCode.DOT << 16)); + for (let i = 2; i < offset; ++i) { + store(buffer + (i << 1), CharCode._0); + } + return length + offset; + } else if (length == 1) { + // 1e30 + store(buffer, CharCode.e, 2); + length = genExponent(buffer + 4, kk - 1); + return length + 2; + } else { + let len = length << 1; + memory.copy( + buffer + 4, + buffer + 2, + len - 2 + ); + store(buffer, CharCode.DOT, 2); + store(buffer + len, CharCode.e, 2); + length += genExponent(buffer + len + 4, kk - 1); + return length + 2; + } +} + +function dtoa_core(buffer: usize, value: f64): i32 { + let sign = i32(value < 0); + if (sign) { + value = -value; + store(buffer, CharCode.MINUS); + } + // assert(value > 0 && value <= 1.7976931348623157e308); + let len = grisu2(value, buffer, sign); + len = prettify(buffer + (sign << 1), len - sign, _K); + return len + sign; +} + +// @ts-ignore: decorator +@lazy @inline const dtoa_buf = memory.data(MAX_DOUBLE_LENGTH << 1); + +export function dtoa(value: f64): String { + if (value == 0) return "0.0"; + if (!isFinite(value)) { + if (isNaN(value)) return "NaN"; + return select("-Infinity", "Infinity", value < 0); + } + let size = dtoa_core(dtoa_buf, value) << 1; + let result = changetype(__new(size, idof())); + memory.copy(changetype(result), dtoa_buf, size); + return result; +} + +export function itoa_buffered(buffer: usize, value: T): u32 { + let sign: u32 = 0; + if (isSigned()) { + sign = u32(value < 0); + if (sign) { + if (sizeof() == 1) { + if (value == -0x80) { + // -0x80 -> -128 + store(buffer, + CharCode.MINUS | + (CharCode._0 + 1) << 16 | + (CharCode._0 + 2) << 32 | + (CharCode._0 + 8) << 48 + ); + return 4; + } + } + if (sizeof() == 2) { + if (value == -0x8000) { + // -0x8000 -> -32768 + store(buffer, + CharCode.MINUS | + (CharCode._0 + 3) << 16 | + (CharCode._0 + 2) << 32 | + (CharCode._0 + 7) << 48 + ); // -327 + store(buffer + 8, + (CharCode._0 + 6) << 0 | + (CharCode._0 + 8) << 16 + ); // 68 + return 6; + } + } + store(buffer, CharCode.MINUS); + // @ts-ignore + value = -value; + } + } + let dest = buffer + (sign << 1); + if (ASC_SHRINK_LEVEL <= 1) { + if (isSigned()) { + if (sizeof() <= 4) { + if (value < 10) { + store(dest, value | CharCode._0); + return 1 + sign; + } + } else { + if (value < 10) { + store(dest, value | CharCode._0); + return 1 + sign; + } + } + } else { + if (value < 10) { + store(buffer, value | CharCode._0); + return 1; + } + } + } + let decimals: u32 = 0; + if (sizeof() <= 4) { + let val32 = value; + decimals = decimalCount32(val32); + utoa32_dec_core(dest, val32, decimals); + } else { + if (value <= u32.MAX_VALUE) { + let val32 = value; + decimals = decimalCount32(val32); + utoa32_dec_core(dest, val32, decimals); + } else { + let val64 = value; + decimals = decimalCount64High(val64); + utoa64_dec_core(dest, val64, decimals); + } + } + return sign + decimals; +} + +export function dtoa_buffered(buffer: usize, value: f64): u32 { + if (value == 0) { + store(buffer, CharCode._0); + store(buffer, CharCode.DOT, 2); + store(buffer, CharCode._0, 4); + return 3; + } + if (!isFinite(value)) { + if (isNaN(value)) { + store(buffer, CharCode.N); + store(buffer, CharCode.a, 2); + store(buffer, CharCode.N, 4); + return 3; + } else { + let sign = value < 0; + if (sign) { + store(buffer, CharCode.MINUS); // - + buffer += 2; + } + store(buffer, 0x690066006E0049, 0); // ifnI + store(buffer, 0x7900740069006E, 8); // ytin + return 8 + u32(sign); + } + } + return dtoa_core(buffer, value); +} +`,"util/sort":`import { compareImpl } from "./string"; + +type Comparator = (a: T, b: T) => i32; + +// @ts-ignore: decorator +@lazy @inline const EMPTY = u32.MAX_VALUE; +// @ts-ignore: decorator +@inline const INSERTION_SORT_THRESHOLD = 48; +// @ts-ignore: decorator +@inline const MIN_RUN_LENGTH = 32; + +// @ts-ignore: decorator +@inline +function log2u(n: u32): u32 { + return 31 - clz(n); +} + +// @ts-ignore: decorator +@inline +export function COMPARATOR(): Comparator { + if (isInteger()) { + if (isSigned() && sizeof() <= 4) { + return (a, b) => i32(a) - i32(b); + } else { + return (a, b) => i32(a > b) - i32(a < b); + } + } else if (isFloat()) { + if (sizeof() == 4) { + return (a, b) => { + let ia = reinterpret(f32(a)); + let ib = reinterpret(f32(b)); + ia ^= ia >> 31 >>> 1; + ib ^= ib >> 31 >>> 1; + return i32(ia > ib) - i32(ia < ib); + }; + } else { + return (a, b) => { + let ia = reinterpret(f64(a)); + let ib = reinterpret(f64(b)); + ia ^= ia >> 63 >>> 1; + ib ^= ib >> 63 >>> 1; + return i32(ia > ib) - i32(ia < ib); + }; + } + } else if (isString()) { + return (a, b) => { + if ( + changetype(a) == changetype(b) || + changetype(a) == 0 || + changetype(b) == 0 + ) return 0; + let alen = changetype(a).length; + let blen = changetype(b).length; + if (!(alen | blen)) return 0; + if (!alen) return -1; + if (!blen) return 1; + let res = compareImpl( + changetype(a), 0, + changetype(b), 0, + min(alen, blen) + ); + return res ? res : alen - blen; + }; + } else { + return (a, b) => i32(a > b) - i32(a < b); + } +} + +// Power Sort implementation (stable) from paper "Nearly-Optimal Mergesorts" +// https://arxiv.org/pdf/1805.04154.pdf +// This method usually outperform TimSort. +// TODO: refactor c >>> 31 to c < 0 when binaryen will support this opt +export function SORT( + ptr: usize, + len: i32, + comparator: Comparator +): void { + if (len <= INSERTION_SORT_THRESHOLD) { + if (len <= 1) return; + if (ASC_SHRINK_LEVEL < 1) { + switch (len) { + case 3: { + let a = load(ptr, 0); + let b = load(ptr, 1 << alignof()); + let c = comparator(a, b) > 0; + store(ptr, select(b, a, c), 0); + a = select(a, b, c); + b = load(ptr, 2 << alignof()); + c = comparator(a, b) > 0; + store(ptr, select(b, a, c), 1 << alignof()); + store(ptr, select(a, b, c), 2 << alignof()); + } + case 2: { + let a = load(ptr, 0); + let b = load(ptr, 1 << alignof()); + let c = comparator(a, b) > 0; + store(ptr, select(b, a, c), 0); + store(ptr, select(a, b, c), 1 << alignof()); + return; + } + } + } + insertionSort(ptr, 0, len - 1, 0, comparator); + return; + } + + let lgPlus2 = log2u(len) + 2; + let lgPlus2Size = lgPlus2 << alignof(); + let leftRunStartBuf = __alloc(lgPlus2Size << 1); + let leftRunEndBuf = leftRunStartBuf + lgPlus2Size; + + for (let i: u32 = 0; i < lgPlus2; ++i) { + store(leftRunStartBuf + (i << alignof()), EMPTY); + } + + let buffer = __alloc(len << alignof()); + + let hi = len - 1; + let endA = extendRunRight(ptr, 0, hi, comparator); + let lenA = endA + 1; + + if (lenA < MIN_RUN_LENGTH) { + endA = min(hi, MIN_RUN_LENGTH - 1); + insertionSort(ptr, 0, endA, lenA, comparator); + } + + let top: u32 = 0, startA = 0; + while (endA < hi) { + let startB = endA + 1; + let endB = extendRunRight(ptr, startB, hi, comparator); + let lenB = endB - startB + 1; + + if (lenB < MIN_RUN_LENGTH) { + endB = min(hi, startB + MIN_RUN_LENGTH - 1); + insertionSort(ptr, startB, endB, lenB, comparator); + } + + let k = nodePower(0, hi, startA, startB, endB); + + for (let i = top; i > k; --i) { + let start = load(leftRunStartBuf + (i << alignof())); + if (start != EMPTY) { + mergeRuns( + ptr, + start, + load(leftRunEndBuf + (i << alignof())) + 1, + endA, + buffer, + comparator + ); + startA = start; + store(leftRunStartBuf + (i << alignof()), EMPTY); + } + } + + store(leftRunStartBuf + (k << alignof()), startA); + store(leftRunEndBuf + (k << alignof()), endA); + startA = startB; + endA = endB; + top = k; + } + + for (let i = top; i != 0; --i) { + let start = load(leftRunStartBuf + (i << alignof())); + if (start != EMPTY) { + mergeRuns( + ptr, + start, + load(leftRunEndBuf + (i << alignof())) + 1, + hi, + buffer, + comparator + ); + } + } + // dealloc aux buffers + __free(buffer); + __free(leftRunStartBuf); +} + +function insertionSort( + ptr: usize, + left: i32, + right: i32, + presorted: i32, + comparator: Comparator +): void { + if (ASC_SHRINK_LEVEL >= 1) { + // slightly improved original insertion sort + for (let i = left + presorted; i <= right; ++i) { + let j = i - 1; + let a = load(ptr + (i << alignof())); + while (j >= left) { + let b = load(ptr + (j << alignof())); + if (comparator(a, b) < 0) { + store(ptr + (j << alignof()), b, 1 << alignof()); --j; + } else break; + } + store(ptr + (j << alignof()), a, 1 << alignof()); + } + } else { + // even-odd two-way insertion sort which allow increase minRunLen + let range = right - left + 1; + let i = left + select(range & 1, presorted - ((range - presorted) & 1), presorted == 0); + for (; i <= right; i += 2) { + let a = load(ptr + (i << alignof()), 0); + let b = load(ptr + (i << alignof()), 1 << alignof()); + let min = b, max = a; + if (comparator(a, b) <= 0) { + min = a, max = b; + } + let j = i - 1; + while (j >= left) { + a = load(ptr + (j << alignof())); + if (comparator(a, max) > 0) { + store(ptr + (j << alignof()), a, 2 << alignof()); --j; + } else break; + } + store(ptr + (j << alignof()), max, 2 << alignof()); + while (j >= left) { + a = load(ptr + (j << alignof())); + if (comparator(a, min) > 0) { + store(ptr + (j << alignof()), a, 1 << alignof()); --j; + } else break; + } + store(ptr + (j << alignof()), min, 1 << alignof()); + } + } +} + +function nodePower(left: u32, right: u32, startA: u32, startB: u32, endB: u32): u32 { + let n: u64 = right - left + 1; + let s = startB - (left << 1); + let l = startA + s; + let r = endB + s + 1; + let a = (l << 30) / n; + let b = (r << 30) / n; + return clz((a ^ b)); +} + +function extendRunRight( + ptr: usize, + i: i32, + right: i32, + comparator: Comparator +): i32 { + if (i == right) return i; + let j = i; + if (comparator( + load(ptr + ( j << alignof())), + load(ptr + (++j << alignof())) + ) > 0) { + while ( + j < right && + (comparator( + load(ptr + (j << alignof()), 1 << alignof()), + load(ptr + (j << alignof())) + ) >>> 31) // < 0 + ) ++j; + // reverse + let k = j; + while (i < k) { + let tmp = load(ptr + (i << alignof())); + store(ptr + (i << alignof()), load(ptr + (k << alignof()))); ++i; + store(ptr + (k << alignof()), tmp); --k; + } + } else { + while ( + j < right && + comparator( + load(ptr + (j << alignof()), 1 << alignof()), + load(ptr + (j << alignof())) + ) >= 0 + ) ++j; + } + return j; +} + +// Merges arr[l..m - 1] and arr[m..r] +function mergeRuns( + ptr: usize, + l: i32, + m: i32, + r: i32, + buffer: usize, + comparator: Comparator +): void { + --m; + let i: i32, j: i32, t = r + m; + for (i = m + 1; i > l; --i) { + store( + buffer + ((i - 1) << alignof()), + load(ptr + ((i - 1) << alignof())) + ); + } + for (j = m; j < r; ++j) { + store( + buffer + ((t - j) << alignof()), + load(ptr + (j << alignof()), 1 << alignof()) + ); + } + for (let k = l; k <= r; ++k) { + let a = load(buffer + (j << alignof())); + let b = load(buffer + (i << alignof())); + if (comparator(a, b) < 0) { + store(ptr + (k << alignof()), a); + --j; + } else { + store(ptr + (k << alignof()), b); + ++i; + } + } +} +`,"util/string":`import { + itoa32, + utoa32, + itoa64, + utoa64, + dtoa, + itoa_buffered, + dtoa_buffered, + MAX_DOUBLE_LENGTH +} from "./number"; + +import { + ipow32 +} from "../math"; + +// All tables are stored as two staged lookup tables (static tries) +// because the full range of Unicode symbols can't be efficiently +// represented as-is in memory (see Unicode spec ch 5, p.196): +// https://www.unicode.org/versions/Unicode12.0.0/ch05.pdf +// Tables have been generated using these forked musl tools: +// https://github.com/MaxGraey/musl-chartable-tools/tree/case-ignorable + +// Lookup table to check if a character is alphanumeric or not +// See: https://git.musl-libc.org/cgit/musl/tree/src/ctype/alpha.h +// size: 3904 bytes +// @ts-ignore +@inline @lazy const ALPHA_TABLE = memory.data([ + 18,17,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,17,34,35,36,17,37,38,39,40, + 41,42,43,44,17,45,46,47,16,16,48,16,16,16,16,16,16,16,49,50,51,16,52,53,16,16, + 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,54, + 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, + 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, + 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, + 17,17,17,55,17,17,17,17,56,17,57,58,59,60,61,62,17,17,17,17,17,17,17,17,17,17, + 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, + 17,17,17,17,17,17,17,63,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,17,64,65,17,66,67, + 68,69,70,71,72,73,74,17,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92, + 93,94,16,95,96,97,98,17,17,17,99,100,101,16,16,16,16,16,16,16,16,16,16,17,17, + 17,17,102,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,17,17,103,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,17,17,104,105,16,16,106,107,17,17,17,17,17,17,17,17,17,17,17,17,17, + 17,17,17,17,17,17,17,17,17,17,108,17,17,17,17,109,110,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 17,111,112,16,16,16,16,16,16,16,16,16,113,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,114,115,116,117,16,16,16,16,16,16,16,16,118, + 119,120,16,16,16,16,16,121,122,16,16,16,16,123,16,16,124,16,16,16,16,16,16,16, + 16,16,125,16,16,16, + 16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255, + 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, + 255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,254,255,255,7,254, + 255,255,7,0,0,0,0,0,4,32,4,255,255,127,255,255,255,127,255,255,255,255,255, + 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, + 255,195,255,3,0,31,80,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,223,188,64,215,255,255, + 251,255,255,255,255,255,255,255,255,255,191,255,255,255,255,255,255,255,255, + 255,255,255,255,255,255,255,255,255,3,252,255,255,255,255,255,255,255,255,255, + 255,255,255,255,255,255,255,255,255,255,255,254,255,255,255,127,2,255,255,255, + 255,255,1,0,0,0,0,255,191,182,0,255,255,255,135,7,0,0,0,255,7,255,255,255,255, + 255,255,255,254,255,195,255,255,255,255,255,255,255,255,255,255,255,255,239, + 31,254,225,255, + 159,0,0,255,255,255,255,255,255,0,224,255,255,255,255,255,255,255,255,255,255, + 255,255,3,0,255,255,255,255,255,7,48,4,255,255,255,252,255,31,0,0,255,255,255, + 1,255,7,0,0,0,0,0,0,255,255,223,255,255,0,240,255,248,3,255,255,255,255,255, + 255,255,255,255,239,255,223,225,255,207,255,254,255,239,159,249,255,255,253, + 197,227,159,89,128,176,207,255,3,16,238,135,249,255,255,253,109,195,135,25,2, + 94,192,255,63,0,238,191,251,255,255,253,237,227,191,27,1,0,207,255,0,30,238, + 159,249,255,255,253,237,227,159,25,192,176,207,255,2,0,236,199,61,214,24,199, + 255,195,199,29,129,0,192,255,0,0,239,223,253,255,255,253,255,227,223,29,96,7, + 207,255,0,0,239,223,253,255,255,253,239,227,223,29,96,64,207,255,6,0,255,223, + 253,255,255,255,255,231,223,93,240,128,207,255,0,252,238,255,127,252,255,255, + 251,47,127,128,95,255,192,255,12,0,254,255,255,255,255,127,255,7,63,32,255,3, + 0,0,0,0,214,247,255,255,175,255,255,59,95,32,255,243,0,0,0, + 0,1,0,0,0,255,3,0,0,255,254,255,255,255,31,254,255,3,255,255,254,255,255,255, + 31,0,0,0,0,0,0,0,0,255,255,255,255,255,255,127,249,255,3,255,255,255,255,255, + 255,255,255,255,63,255,255,255,255,191,32,255,255,255,255,255,247,255,255,255, + 255,255,255,255,255,255,61,127,61,255,255,255,255,255,61,255,255,255,255,61, + 127,61,255,127,255,255,255,255,255,255,255,61,255,255,255,255,255,255,255,255, + 7,0,0,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,63,63,254,255, + 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, + 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, + 255,255,255,255,255,159,255,255,254,255,255,7,255,255,255,255,255,255,255,255, + 255,199,255,1,255,223,15,0,255,255,15,0,255,255,15,0,255,223,13,0,255,255,255, + 255,255,255,207,255,255,1,128,16,255,3,0,0,0,0,255,3,255,255,255,255,255,255, + 255,255,255,255,255,1,255,255,255,255,255,7,255,255,255,255,255,255,255,255, + 63, + 0,255,255,255,127,255,15,255,1,192,255,255,255,255,63,31,0,255,255,255,255, + 255,15,255,255,255,3,255,3,0,0,0,0,255,255,255,15,255,255,255,255,255,255,255, + 127,254,255,31,0,255,3,255,3,128,0,0,128,1,0,0,0,0,0,0,0,255,255,255,255,255, + 255,239,255,239,15,255,3,0,0,0,0,255,255,255,255,255,243,255,255,255,255,255, + 255,191,255,3,0,255,255,255,255,255,255,127,0,255,227,255,255,255,255,255,63, + 255,1,255,255,255,255,255,231,0,0,0,0,0,222,111,4,255,255,255,255,255,255,255, + 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0, + 128,255,31,0,255,255,63,63,255,255,255,255,63,63,255,170,255,255,255,63,255, + 255,255,255,255,255,223,95,220,31,207,15,255,31,220,31,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,2,128,0,0,255,31,0,0,0,0,0,0,0,0,0,0,0,0,132,252,47,62,80,189,255,243, + 224,67,0,0,255,255,255,255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,255,255,255,255,255,255,3,0, + 0,255,255,255,255,255,127,255,255,255,255,255,127,255,255,255,255,255,255,255, + 255,255,255,255,255,255,255,255,255,31,120,12,0,255,255,255,255,191,32,255, + 255,255,255,255,255,255,128,0,0,255,255,127,0,127,127,127,127,127,127,127,127, + 255,255,255,255,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,224,0,0,0,254,3,62,31,254,255,255,255,255,255,255,255,255,255,127,224,254, + 255,255,255,255,255,255,255,255,255,255,247,224,255,255,255,255,255,254,255, + 255,255,255,255,255,255,255,255,255,127,0,0,255,255,255,255,0,0,0,0,0,0,255, + 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, + 255,255,255,255,255,255,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255, + 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, + 255,255,255, + 31,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,0,0, + 0,0,0,0,0,0,255,255,255,255,255,63,255,31,255,255,255,15,0,0,255,255,255,255, + 255,127,240,143,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0, + 0,128,255,252,255,255,255,255,255,255,255,255,255,255,255,255,249,255,255,255, + 255,255,255,252,7,0,0,0,0,224,255,191,255,255,255,255,0,0,0,255,255,255,255, + 255,255,15,0,255,255,255,255,255,255,255,255,47,0,255,3,0,0,252,232,255,255, + 255,255,255,7,255,255,255,255,7,0,255,255,255,31,255,255,255,255,255,255,247, + 255,0,128,255,3,255,255,255,127,255,255,255,255,255,255,127,0,255,63,255,3, + 255,255,127,252,255,255,255,255,255,255,255,127,5,0,0,56,255,255,60,0,126,126, + 126,0,127,127,255,255,255,255,255,247,255,3,255,255,255,255,255,255,255,255, + 255,255,255,255,255,255,255,7,255,3,255,255,255,255,255,255,255,255,255,255, + 255,255,255,255,255,255,255,255,255,255,15,0,255,255,127,248,255,255,255,255, + 255, + 15,255,255,255,255,255,255,255,255,255,255,255,255,255,63,255,255,255,255,255, + 255,255,255,255,255,255,255,255,3,0,0,0,0,127,0,248,224,255,253,127,95,219, + 255,255,255,255,255,255,255,255,255,255,255,255,255,3,0,0,0,248,255,255,255, + 255,255,255,255,255,255,255,255,255,63,0,0,255,255,255,255,255,255,255,255, + 252,255,255,255,255,255,255,0,0,0,0,0,255,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,223, + 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,0,0,255,3, + 254,255,255,7,254,255,255,7,192,255,255,255,255,255,255,255,255,255,255,127, + 252,252,252,28,0,0,0,0,255,239,255,255,127,255,255,183,255,63,255,63,0,0,0,0, + 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,7,0,0,0,0,0,0,0,0, + 255,255,255,255,255,255,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,255,255,255,31,255,255,255,255,255,255,1,0,0,0,0, + 0,255,255,255,255,0,224,255,255,255,7,255,255,255,255,255,7,255,255,255,63, + 255,255,255,255,15,255,62,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255, + 255,255,255,255,255,255,255,255,255,63,255,3,255,255,255,255,15,255,255,255, + 255,15,255,255,255,255,255,0,255,255,255,255,255,255,15,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,255,255,255,255,255,255,127,0,255,255,63,0,255,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,63,253,255,255,255,255,191,145,255,255,63,0,255,255, + 127,0,255,255,255,127,0,0,0,0,0,0,0,0,255,255,55,0,255,255,63,0,255,255,255,3, + 0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,192,0,0,0,0,0,0,0,0,111,240,239, + 254,255,255,63,0,0,0,0,0,255,255,255,31,255,255,255,31,0,0,0,0,255,254,255, + 255,31,0,0,0,255,255,255,255,255,255,63,0,255,255,63,0,255,255,7,0,255,255,3, + 0,0,0,0,0,0,0,0,0,0,0,0, + 0,255,255,255,255,255,255,255,255,255,1,0,0,0,0,0,0,255,255,255,255,255,255,7, + 0,255,255,255,255,255,255,7,0,255,255,255,255,255,0,255,3,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255, + 255,27,3,0,0,0,0,0,0,0,0,0,255,255,255,31,128,0,255,255,63,0,0,0,0,0,0,0,0,0, + 0,0,0,0,255,255,31,0,0,0,255,255,127,0,255,255,255,255,255,255,255,255,63,0,0, + 0,192,255,0,0,252,255,255,255,255,255,255,1,0,0,255,255,255,1,255,3,255,255, + 255,255,255,255,199,255,240,0,255,255,255,255,71,0,255,255,255,255,255,255, + 255,255,30,192,255,23,0,0,0,0,255,255,251,255,255,255,159,64,0,0,0,0,0,0,0,0, + 127,189,255,191,255,1,255,255,255,255,255,255,255,1,255,3,239,159,249,255,255, + 253,237,227,159,25,129,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,255,255,255,255,255,255,255,255,187,7,255,131,3,0,0,0,255,255,255,255,255, + 255,255,255,179,0,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255, + 255,255,255,63,127,0,0,0,63,0,0,0,0,255,255,255,255,255,255,255,127,17,0,255, + 3,0,0,0,0,255,255,255,255,255,255,63,1,255,3,0,0,0,0,0,0,255,255,255,231,255, + 7,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255, + 255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,3,0,128, + 127,242,111,255,255,255,191,153,7,0,255,3,0,0,0,0,0,0,0,0,255,252,255,255,255, + 255,255,252,26,0,0,0,255,255,255,255,255,255,231,127,0,0,255,255,255,255,255, + 255,255,255,255,32,0,0,0,0,255,255,255,255,255,255,255,1,255,253,255,255,255, + 255,127,127,1,0,255,3,0,0,252,255,255,255,252,255,255,254,127,0,0,0,0,0,0,0,0, + 0,127,251,255,255,255,255,127,180,203,0,255,3,191,253,255,255,255,127,123,1, + 255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, + 0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, + 255,3,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255, + 255,127,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, + 255,255,255,255,255,255,255,255,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,255,255,255,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,255,255,255,255,255,255,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0, + 0,255,255,255,255,255,255,255,1,255,255,255,127,255,3,0,0,0,0,0,0,0,0,0,0,0,0, + 255,255,255,63,0,0,255,255,255,255,255,255,0,0,15,0,255,3,248,255,255,224,255, + 255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255, + 255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,135, + 255,255,255,255,255,255,255,128,255,255,0,0,0,0,0,0,0,0,11,0,3,0,255,255,255, + 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, + 255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255, + 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,0,0,0,0,0, + 255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255, + 127,0,0,0,0,0,0,7,0,240,0,255,255,255,255,255,255,255,255,255,255,255,255,255, + 255,255,255,255, + 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, + 255,255,255,255,255,255,255,255,255,255,255,255,255,15,255,255,255,255,255, + 255,255,255,255,255,255,255,255,7,255,31,255,1,255,67,0,0,0,0,0,0,0,0,0,0,0,0, + 255,255,255,255,255,255,255,255,255,255,223,255,255,255,255,255,255,255,255, + 223,100,222,255,235,239,255,255,255,255,255,255,255,191,231,223,223,255,255, + 255,123,95,252,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255, + 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, + 255,255,255,255,255,255,255,255,63,255,255,255,253,255,255,247,255,255,255, + 247,255,255,223,255,255,255,223,255,255,127,255,255,255,127,255,255,255,253, + 255,255,255,253,255,255,247,207,255,255,255,255,255,255,127,255,255,249,219,7, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,31, + 128,63,255,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,15,255, + 3,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, + 255,255,255,255,255,31,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,143,8, + 255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,239,255,255,255,150,254,247,10, + 132,234,150,170,150,247,247,94,255,251,255,15,238,251,255,15,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,255,255,255,3,255,255,255,3,255,255,255,3,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,3 +]); + +// size: 1568 bytes (compressed to ~1380 bytes after binaryen) +// @ts-ignore: decorator +@lazy @inline const CASED = memory.data([ + 18,19,20,21,22,23,16,16,16,16,16,16,16,16,16,16, + 24,16,16,25,16,16,16,16,16,16,16,16,26,27,17,28, + 29,30,16,16,31,16,16,16,16,16,16,16,32,33,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,34,35,16,16,16,36,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,37,16,16,16,38, + 16,16,16,16,39,16,16,16,16,16,16,16,40,16,16,16, + 16,16,16,16,16,16,16,16,41,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,42,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,43,44,45,46,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,47,16,16,16,16,16,16, + 16,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, + 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, + 0,0,0,0,0,0,0,0,254,255,255,7,254,255,255,7,0,0,0,0,0,4,32,4, + 255,255,127,255,255,255,127,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, + 255,255,255,255,255,255,255,247,240,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, + 255,255,255,255,255,255,255,255,255,255,239,255,255,255,255,1,3,0,0,0,31,0,0,0, + 0,0,0,0,0,0,0,0,32,0,0,0,0,0,207,188,64,215,255,255,251,255,255,255, + 255,255,255,255,255,255,191,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, + 3,252,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,255, + 255,255,127,0,255,255,255,255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255, + 191,32,255,255,255,255,255,231,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,255,255,255,255,255,255,255,255,255,255,63,63,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,255,1,255,255,255,255,255,231,0,0,0,0,0,0,0,0, + 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, + 0,0,0,0,0,0,0,0,255,255,63,63,255,255,255,255,63,63,255,170,255,255,255,63, + 255,255,255,255,255,255,223,95,220,31,207,15,255,31,220,31,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,2,128,0,0,255,31,0,0,0,0,0,0,0,0,0,0,0,0, + 132,252,47,62,80,189,31,242,224,67,0,0,255,255,255,255,24,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,192,255,255,255,255,255,255,3,0,0,255,255,255,255,255,127,255,255, + 255,255,255,127,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,120,12,0, + 255,255,255,255,191,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,63,0,0, + 255,255,255,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,255,255,255, + 255,255,255,255,255,255,255,255,255,120,255,255,255,255,255,255,252,7,0,0,0,0,96,7, + 0,0,0,0,0,0,255,255,255,255,255,247,255,1,255,255,255,255,255,255,255,255,255,255, + 0,0,0,0,0,0,0,0,127,0,248,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,255,255,7, + 254,255,255,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255, + 255,255,15,255,255,255,255,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 255,255,255,255,255,255,7,0,255,255,255,255,255,255,7,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0, + 0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,223,255,255,255,255,255, + 255,255,255,223,100,222,255,235,239,255,255,255,255,255,255,255,191,231,223,223,255,255,255,123, + 95,252,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, + 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,255,255,255, + 253,255,255,247,255,255,255,247,255,255,223,255,255,255,223,255,255,127,255,255,255,127,255,255, + 255,253,255,255,255,253,255,255,247,15,0,0,0,0,0,0,255,255,255,255,255,255,255,255, + 15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,255,255,255,3,255,255,255,3,255,255,255,3,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0 +]); + +// size: 2976 bytes (compressed to ~2050 bytes after binaryen) +// @ts-ignore: decorator +@lazy @inline const CASE_IGNORABLES = memory.data([ + 18,16,19,20,21,22,23,24,25,26,27,28,29,30,31,32, + 33,16,16,34,16,16,16,35,36,37,38,39,40,41,16,42, + 43,16,16,16,16,16,16,16,16,16,16,16,44,45,46,16, + 47,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 48,16,16,16,49,16,50,51,52,53,54,55,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,56,16,16,57,58, + 16,59,60,61,16,16,16,16,16,16,62,16,16,63,64,65, + 66,67,68,69,70,71,72,73,74,75,76,16,77,78,79,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,80,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,81,82,16,16,16,83, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,84,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,85,86,16,16,16,16,16,16,16,87,16,16,16,16,16, + 88,89,90,16,16,16,16,16,91,92,16,16,16,16,16,16, + 16,16,16,93,16,16,16,16,16,16,16,16,16,16,16,16, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, + 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, + 0,0,0,0,128,64,0,4,0,0,0,64,1,0,0,0,0,0,0,0,0,161,144,1, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, + 255,255,255,255,255,255,48,4,176,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,3,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,130,0,0,0,0, + 0,0,254,255,255,255,255,191,182,0,0,0,0,0,16,0,63,0,255,23,0,0,0,0, + 1,248,255,255,0,0,1,0,0,0,0,0,0,0,0,0,0,0,192,191,255,61,0,0, + 0,128,2,0,0,0,255,255,255,7,0,0,0,0,0,0,0,0,0,0,192,255,1,0, + 0,0,0,0,0,248,63,36,0,0,192,255,255,63,0,0,0,0,0,14,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,248,255,255,255,255,255,7,0,0,0,0,0,0,20, + 254,33,254,0,12,0,2,0,2,0,0,0,0,0,0,16,30,32,0,0,12,0,0,64, + 6,0,0,0,0,0,0,16,134,57,2,0,0,0,35,0,6,0,0,0,0,0,0,16, + 190,33,0,0,12,0,0,252,2,0,0,0,0,0,0,144,30,32,96,0,12,0,0,0, + 4,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,17,0,0,0,0,0,0,192, + 193,61,96,0,12,0,0,0,2,0,0,0,0,0,0,144,64,48,0,0,12,0,0,0, + 3,0,0,0,0,0,0,24,30,32,0,0,12,0,0,0,2,0,0,0,0,0,0,0, + 0,4,92,0,0,0,0,0,0,0,0,0,0,0,242,7,192,127,0,0,0,0,0,0, + 0,0,0,0,0,0,242,31,64,63,0,0,0,0,0,0,0,0,0,3,0,0,160,2, + 0,0,0,0,0,0,254,127,223,224,255,254,255,255,255,31,64,0,0,0,0,0,0,0, + 0,0,0,0,0,224,253,102,0,0,0,195,1,0,30,0,100,32,0,32,0,0,0,0, + 0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,224,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,0,0,0,28,0, + 0,0,12,0,0,0,12,0,0,0,0,0,0,0,176,63,64,254,143,32,0,0,0,0, + 0,120,0,0,0,0,0,0,8,0,0,0,0,0,0,0,96,0,0,0,0,2,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,135,1,4,14,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,9,0,0,0,0, + 0,0,64,127,229,31,248,159,0,0,0,0,128,0,255,255,1,0,0,0,0,0,0,0, + 15,0,0,0,0,0,208,23,4,0,0,0,0,248,15,0,3,0,0,0,60,59,0,0, + 0,0,0,0,64,163,3,0,0,0,0,0,0,240,207,0,0,0,0,0,0,0,0,63, + 0,0,0,0,0,0,0,0,0,0,247,255,253,33,16,3,0,0,0,0,0,240,255,255, + 255,255,255,255,255,7,0,1,0,0,0,248,255,255,255,255,255,255,255,255,255,255,255,251, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160, + 3,224,0,224,0,224,0,96,0,248,0,3,144,124,0,0,0,0,0,0,223,255,2,128, + 0,0,255,31,0,0,0,0,0,0,255,255,255,255,1,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,0,0,0,0,0,0,128,3,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,128,0,128,0,0,0,0,0,0,0,0, + 0,0,0,0,255,255,255,255,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,60,62,8, + 0,0,0,0,0,0,0,0,0,0,0,126,0,0,0,0,0,0,0,0,0,0,0,112, + 0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,0,16,0,0,0,0,0,0, + 0,0,0,0,0,128,247,191,0,0,0,240,0,0,0,0,0,0,0,0,0,0,3,0, + 255,255,255,255,3,0,0,0,0,0,0,0,0,0,1,0,0,7,0,0,0,0,0,0, + 0,0,0,0,0,0,0,3,68,8,0,0,96,16,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,48,0,0,0,255,255,3,128,0,0,0,0,192,63,0,0, + 128,255,3,0,0,0,0,0,7,0,0,0,0,0,200,51,0,128,0,0,96,0,0,0, + 0,0,0,0,0,126,102,0,8,16,0,0,0,0,1,16,0,0,0,0,0,0,157,193, + 2,0,0,32,0,48,88,0,0,0,0,0,0,0,0,0,0,0,0,248,0,14,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,32,33,0,0,0,0,0,64,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,255,3,0,0,0,0,0,0,0, + 255,255,8,0,255,255,0,0,0,0,36,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,128,128,64,0,4,0,0,0,64,1,0,0,0,0,0,1,0, + 0,0,0,192,0,0,0,0,0,0,0,0,8,0,0,14,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,7, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,110,240,0,0,0,0,0,135, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,0,0,0, + 0,0,0,0,240,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 192,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 2,0,0,0,0,0,0,255,127,0,0,0,0,0,0,128,3,0,0,0,0,0,120,38, + 0,32,0,0,0,0,0,0,7,0,0,0,128,239,31,0,0,0,0,0,0,0,8,0, + 3,0,0,0,0,0,192,127,0,158,0,0,0,0,0,0,0,0,0,0,0,128,211,64, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,248,7,0,0, + 3,0,0,0,0,0,0,24,1,0,0,0,192,31,31,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,92,0,0,64,0,0,0,0, + 0,0,0,0,0,0,248,133,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,176,1,0,0,48,0,0,0,0, + 0,0,0,0,0,0,248,167,1,0,0,0,0,0,0,0,0,0,0,0,0,40,191,0, + 0,0,0,0,0,0,0,0,0,0,0,224,188,15,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,255,6, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,88,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,240,12,1,0,0,0,254,7,0,0,0,0,248,121,128,0,126,14,0,0,0,0, + 0,252,127,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,127,191, + 0,0,0,0,0,0,0,0,0,0,252,255,255,252,109,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,126,180,191,0,0,0,0,0,0,0,0,0,163,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,255,1, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,31,0,0,0,0,0,0,0,127,0,15,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,128,0,0,0,0,0,0,0,128,255,255,0,0,0,0,0,0,0,0,27,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,15,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,3,248,255, + 231,15,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 255,255,255,255,255,255,127,248,255,255,255,255,255,31,32,0,16,0,0,248,254,255,0,0, + 0,0,0,0,0,0,0,0,127,255,255,249,219,7,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,63, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,240,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,127,0,0,0,0,0,0,0,0,0,0,0,0,0, + 240,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,248 +]); + +// @ts-ignore: decorator +@lazy @inline const LOWER127 = memory.data([ + 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15, + 16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31, + 32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47, + 48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63, + 64, + 97,98,99,100,101,102,103,104,105,106,107,108,109, + 110,111,112,113,114,115,116,117,118,119,120,121,122, + 91,92,93,94,95,96, + 97,98,99,100,101,102,103,104,105,106,107,108,109, + 110,111,112,113,114,115,116,117,118,119,120,121,122, + 123,124,125,126,127 +]); + +// @ts-ignore: decorator +@lazy @inline const UPPER127 = memory.data([ + 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15, + 16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31, + 32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47, + 48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63, + 64, + 65,66,67,68,69,70,71,72,73,74,75,76,77, + 78,79,80,81,82,83,84,85,86,87,88,89,90, + 91,92,93,94,95,96, + 65,66,67,68,69,70,71,72,73,74,75,76,77, + 78,79,80,81,82,83,84,85,86,87,88,89,90, + 123,124,125,126,127 +]); + +// 23 * 8 = 184 bytes +// @ts-ignore: decorator +@lazy @inline const POWERS10 = memory.data([ + 1e00, 1e01, 1e02, 1e03, 1e04, 1e05, 1e06, 1e07, 1e08, 1e09, + 1e10, 1e11, 1e12, 1e13, 1e14, 1e15, 1e16, 1e17, 1e18, 1e19, + 1e20, 1e21, 1e22 +]); + +// @ts-ignore: decorator +@inline +export const enum CharCode { + PERCENT = 0x25, + PLUS = 0x2B, + MINUS = 0x2D, + DOT = 0x2E, + _0 = 0x30, + _1 = 0x31, + _2 = 0x32, + _3 = 0x33, + _4 = 0x34, + _5 = 0x35, + _6 = 0x36, + _7 = 0x37, + _8 = 0x38, + _9 = 0x39, + A = 0x41, + B = 0x42, + E = 0x45, + I = 0x49, + N = 0x4E, + O = 0x4F, + X = 0x58, + Z = 0x5A, + a = 0x61, + b = 0x62, + e = 0x65, + n = 0x6E, + o = 0x6F, + u = 0x75, + x = 0x78, + z = 0x7A +} + +// @ts-ignore: decorator +@inline +export function isAscii(c: u32): bool { + return !(c >> 7); +} + +// @ts-ignore: decorator +@inline +export function isLower8(c: u32): bool { + return c - CharCode.a < 26; +} + +// @ts-ignore: decorator +@inline +export function isUpper8(c: u32): bool { + return c - CharCode.A < 26; +} + +export function isSpace(c: u32): bool { + if (c < 0x1680) { // < (1) + // , , , , , and + // (c == 0x20 || c == 0xA0) was optimized to (c | 0x80) == 0xA0 + return ((c | 0x80) == 0xA0) || (c - 0x09 <= 0x0D - 0x09); + } + if (c - 0x2000 <= 0x200A - 0x2000) return true; + switch (c) { + case 0x1680: // (1) + case 0x2028: // (2) + case 0x2029: // + case 0x202F: // + case 0x205F: // + case 0x3000: // + case 0xFEFF: return true; // + } + return false; +} + +export function isAlpha(c: u32): bool { + if (isAscii(c)) return (c | 32) - CharCode.a < 26; + if (c < 0x20000) { + // @ts-ignore: cast + return stagedBinaryLookup(ALPHA_TABLE, c); + } + return c < 0x2FFFE; +} + +// @ts-ignore: decorator +@inline +export function isCased(c: u32): bool { + // @ts-ignore: cast + return c < 0x1F18A && stagedBinaryLookup(CASED, c); +} + +// @ts-ignore: decorator +@inline +export function isCaseIgnorable(c: u32): bool { + // @ts-ignore: cast + return c < 0xE01F0 && stagedBinaryLookup(CASE_IGNORABLES, c); +} + +// @ts-ignore: decorator +@inline +export function isFinalSigma(buffer: usize, index: isize, len: isize): bool { + const lookaheadLimit = 30; // max lookahead limit + let found = false; + let pos = index; + let minPos = max(0, pos - lookaheadLimit); + while (pos > minPos) { + let c = codePointBefore(buffer, pos); + if (!isCaseIgnorable(c)) { + if (isCased(c)) { + found = true; + } else { + return false; + } + } + pos -= isize(c >= 0x10000) + 1; + } + if (!found) return false; + pos = index + 1; + let maxPos = min(pos + lookaheadLimit, len); + while (pos < maxPos) { + let c = load(buffer + (pos << 1)); + if (u32((c & 0xFC00) == 0xD800) & u32(pos + 1 != len)) { + let c1 = load(buffer + (pos << 1), 2); + if ((c1 & 0xFC00) == 0xDC00) { + c = (c - 0xD800 << 10) + (c1 - 0xDC00) + 0x10000; + } + } + if (!isCaseIgnorable(c)) { + return !isCased(c); + } + pos += isize(c >= 0x10000) + 1; + } + return true; +} + +// @ts-ignore: decorator +@inline +function codePointBefore(buffer: usize, index: isize): i32 { + if (index <= 0) return -1; + let c = load(buffer + (index - 1 << 1)); + if (u32((c & 0xFC00) == 0xDC00) & u32(index - 2 >= 0)) { + let c1 = load(buffer + (index - 2 << 1)); + if ((c1 & 0xFC00) == 0xD800) { + return ((c1 & 0x3FF) << 10) + (c & 0x3FF) + 0x10000; + } + } + return (c & 0xF800) == 0xD800 ? 0xFFFD : c; +} + +// Search routine for two-staged lookup tables +function stagedBinaryLookup(table: usize, c: u32): bool { + return ((load(table + (load(table + (c >>> 8)) << 5) + ((c & 255) >> 3)) >>> (c & 7)) & 1); +} + +export function compareImpl(str1: string, index1: usize, str2: string, index2: usize, len: usize): i32 { + let ptr1 = changetype(str1) + (index1 << 1); + let ptr2 = changetype(str2) + (index2 << 1); + if (ASC_SHRINK_LEVEL < 2) { + if (len >= 4 && !((ptr1 & 7) | (ptr2 & 7))) { + do { + if (load(ptr1) != load(ptr2)) break; + ptr1 += 8; + ptr2 += 8; + len -= 4; + } while (len >= 4); + } + } + while (len--) { + let a = load(ptr1); + let b = load(ptr2); + if (a != b) return a - b; + ptr1 += 2; + ptr2 += 2; + } + return 0; +} + +// @ts-ignore: decorator +@inline +export function toLower8(c: u32): u32 { + if (ASC_SHRINK_LEVEL > 0) { + return c | u32(isUpper8(c)) << 5; + } else { + return load(LOWER127 + c); + } +} + +// @ts-ignore: decorator +@inline +export function toUpper8(c: u32): u32 { + if (ASC_SHRINK_LEVEL > 0) { + return c & ~(u32(isLower8(c)) << 5); + } else { + return load(UPPER127 + c); + } +} + +/** Parses a string to an integer (usually), using the specified radix. */ +export function strtol(str: string, radix: i32 = 0): T { + let len = str.length; + if (!len) { + if (isFloat()) { + // @ts-ignore: cast + return NaN; + } else { + // @ts-ignore: cast + return 0; + } + } + + let ptr = changetype(str) /* + HEAD -> offset */; + let code = load(ptr); + + // trim white spaces + while (isSpace(code)) { + code = load(ptr += 2); + --len; + } + // determine sign + // @ts-ignore + let sign: T = 1; + if (code == CharCode.MINUS || code == CharCode.PLUS) { + if (!--len) { + if (isFloat()) { + // @ts-ignore: cast + return NaN; + } else { + // @ts-ignore: cast + return 0; + } + } + if (code == CharCode.MINUS) { + // @ts-ignore: type + sign = -1; + } + code = load(ptr += 2); + } + + // See https://tc39.es/ecma262/#sec-parseint-string-radix + if (radix) { + if (radix < 2 || radix > 36) { + if (isFloat()) { + // @ts-ignore: cast + return NaN; + } else { + // @ts-ignore: cast + return 0; + } + } + // handle case as parseInt("0xFF", 16) by spec + if (radix == 16) { + if ( + len > 2 && + code == CharCode._0 && + (load(ptr, 2) | 32) == CharCode.x + ) { + ptr += 4; len -= 2; + } + } + } else { + // determine radix by literal prefix + if (code == CharCode._0 && len > 2) { + switch (load(ptr, 2) | 32) { + case CharCode.b: { + ptr += 4; len -= 2; + radix = 2; + break; + } + case CharCode.o: { + ptr += 4; len -= 2; + radix = 8; + break; + } + case CharCode.x: { + ptr += 4; len -= 2; + radix = 16; + break; + } + } + } + if (!radix) radix = 10; + } + + // calculate value + // @ts-ignore: type + let num: T = 0; + let initial = len - 1; + while (len--) { + code = load(ptr); + if (code - CharCode._0 < 10) { + code -= CharCode._0; + } else if (code - CharCode.A <= (CharCode.Z - CharCode.A)) { + code -= CharCode.A - 10; + } else if (code - CharCode.a <= (CharCode.z - CharCode.a)) { + code -= CharCode.a - 10; + } + if (code >= radix) { + if (initial == len) { + if (isFloat()) { + // @ts-ignore: cast + return NaN; + } else { + // @ts-ignore: cast + return 0; + } + } + break; + } + // @ts-ignore: type + num = num * radix + code; + ptr += 2; + } + // @ts-ignore: type + return sign * num; +} + +export function strtod(str: string): f64 { + let len = str.length; + if (!len) return NaN; + + let ptr = changetype(str); + let code = load(ptr); + + let sign = 1.0; + // skip white spaces + while (len && isSpace(code)) { + code = load(ptr += 2); + --len; + } + if (!len) return NaN; + + // try parse '-' or '+' + if (code == CharCode.MINUS) { + if (!--len) return NaN; + code = load(ptr += 2); + sign = -1; + } else if (code == CharCode.PLUS) { + if (!--len) return NaN; + code = load(ptr += 2); + } + + // try parse Infinity + if (len >= 8 && code == CharCode.I) { + if ( + load(ptr, 0) == 0x690066006E0049 && // ifnI + load(ptr, 8) == 0x7900740069006E // ytin + ) { + return Infinity * sign; + } + return NaN; + } + // validate next symbol + if (code != CharCode.DOT && (code - CharCode._0) >= 10) { + return NaN; + } + let savedPtr = ptr; + // skip zeros + while (code == CharCode._0) { + code = load(ptr += 2); + --len; + } + if (len <= 0) return 0.0 * sign; + const capacity = 19; // int(64 * 0.3010) + let pointed = false; + let consumed = 0; + let position = 0; + let x: u64 = 0; + if (code == CharCode.DOT) { + let noDigits = !(savedPtr - ptr); + ptr += 2; --len; + if (!len && noDigits) return NaN; + for (pointed = true; (code = load(ptr)) == CharCode._0; --position, ptr += 2) --len; + if (len <= 0) return 0.0 * sign; + if (!position && noDigits && code - CharCode._0 >= 10) return NaN; + } + for (let digit = code - CharCode._0; digit < 10 || (code == CharCode.DOT && !pointed); digit = code - CharCode._0) { + if (digit < 10) { + x = consumed < capacity ? 10 * x + digit : x | u64(!!digit); + ++consumed; + } else { + position = consumed; + pointed = true; + } + if (!--len) break; + code = load(ptr += 2); + } + + if (!pointed) position = consumed; + return copysign(scientific(x, position - min(capacity, consumed) + parseExp(ptr, len)), sign); +} + +export function strtob(str: string): bool { + let size: usize = str.length << 1; + let offset: usize = 0; + if (size > 8) { + // try trim end whitespaces first + while (size && isSpace(load(changetype(str) + size - 2))) size -= 2; + if (size > 8) { + // trim start whitespaces + while (offset < size && isSpace(load(changetype(str) + offset))) offset += 2; + size -= offset; + } + } + if (size != 8) return false; + // "true" represents as \\00\\e\\00\\u\\00\\e\\00\\t (00 65 00 75 00 72 00 74) + return load(changetype(str) + offset) == 0x0065_0075_0072_0074; +} + +export function joinBooleanArray(dataStart: usize, length: i32, separator: string): string { + let lastIndex = length - 1; + if (lastIndex < 0) return ""; + if (!lastIndex) return select("true", "false", load(dataStart)); + + let sepLen = separator.length; + let valueLen = 5; // max possible length of element len("false") + let estLen = (valueLen + sepLen) * lastIndex + valueLen; + let result = changetype(__new(estLen << 1, idof())); + let offset = 0; + let value: bool; + for (let i = 0; i < lastIndex; ++i) { + value = load(dataStart + i); + valueLen = 4 + i32(!value); + memory.copy( + changetype(result) + (offset << 1), + changetype(select("true", "false", value)), + valueLen << 1 + ); + offset += valueLen; + if (sepLen) { + memory.copy( + changetype(result) + (offset << 1), + changetype(separator), + sepLen << 1 + ); + offset += sepLen; + } + } + value = load(dataStart + lastIndex); + valueLen = 4 + i32(!value); + memory.copy( + changetype(result) + (offset << 1), + changetype(select("true", "false", value)), + valueLen << 1 + ); + offset += valueLen; + + if (estLen > offset) return result.substring(0, offset); + return result; +} + +export function joinIntegerArray(dataStart: usize, length: i32, separator: string): string { + let lastIndex = length - 1; + if (lastIndex < 0) return ""; + if (!lastIndex) { + let value = load(dataStart); + if (isSigned()) { + if (sizeof() <= 4) { + // @ts-ignore: type + return changetype(itoa32(value, 10)); + } else { + // @ts-ignore: type + return changetype(itoa64(value, 10)); + } + } else { + if (sizeof() <= 4) { + // @ts-ignore: type + return changetype(utoa32(value, 10)); + } else { + // @ts-ignore: type + return changetype(utoa64(value, 10)); + } + } + } + + let sepLen = separator.length; + const valueLen = (sizeof() <= 4 ? 10 : 20) + i32(isSigned()); + let estLen = (valueLen + sepLen) * lastIndex + valueLen; + let result = changetype(__new(estLen << 1, idof())); + let offset = 0; + let value: T; + for (let i = 0; i < lastIndex; ++i) { + value = load(dataStart + (i << alignof())); + // @ts-ignore: type + offset += itoa_buffered(changetype(result) + (offset << 1), value); + if (sepLen) { + memory.copy( + changetype(result) + (offset << 1), + changetype(separator), + sepLen << 1 + ); + offset += sepLen; + } + } + value = load(dataStart + (lastIndex << alignof())); + // @ts-ignore: type + offset += itoa_buffered(changetype(result) + (offset << 1), value); + if (estLen > offset) return result.substring(0, offset); + return result; +} + +export function joinFloatArray(dataStart: usize, length: i32, separator: string): string { + let lastIndex = length - 1; + if (lastIndex < 0) return ""; + if (!lastIndex) { + return changetype(dtoa( + // @ts-ignore: type + load(dataStart)) + ); + } + + const valueLen = MAX_DOUBLE_LENGTH; + let sepLen = separator.length; + let estLen = (valueLen + sepLen) * lastIndex + valueLen; + let result = changetype(__new(estLen << 1, idof())); + let offset = 0; + let value: T; + for (let i = 0; i < lastIndex; ++i) { + value = load(dataStart + (i << alignof())); + // @ts-ignore: type + offset += dtoa_buffered(changetype(result) + (offset << 1), value); + if (sepLen) { + memory.copy( + changetype(result) + (offset << 1), + changetype(separator), + sepLen << 1 + ); + offset += sepLen; + } + } + value = load(dataStart + (lastIndex << alignof())); + // @ts-ignore: type + offset += dtoa_buffered(changetype(result) + (offset << 1), value); + if (estLen > offset) return result.substring(0, offset); + return result; +} + +export function joinStringArray(dataStart: usize, length: i32, separator: string): string { + let lastIndex = length - 1; + if (lastIndex < 0) return ""; + if (!lastIndex) { + // @ts-ignore: type + return load(dataStart) || ""; + } + let estLen = 0; + let value: string; + for (let i = 0; i < length; ++i) { + value = load(dataStart + (i << alignof())); + if (changetype(value) != 0) estLen += value.length; + } + let offset = 0; + let sepLen = separator.length; + let result = changetype(__new((estLen + sepLen * lastIndex) << 1, idof())); + for (let i = 0; i < lastIndex; ++i) { + value = load(dataStart + (i << alignof())); + if (changetype(value) != 0) { + let valueLen = value.length; + memory.copy( + changetype(result) + (offset << 1), + changetype(value), + valueLen << 1 + ); + offset += valueLen; + } + if (sepLen) { + memory.copy( + changetype(result) + (offset << 1), + changetype(separator), + sepLen << 1 + ); + offset += sepLen; + } + } + value = load(dataStart + (lastIndex << alignof())); + if (changetype(value) != 0) { + memory.copy( + changetype(result) + (offset << 1), + changetype(value), + value.length << 1 + ); + } + return result; +} + +export function joinReferenceArray(dataStart: usize, length: i32, separator: string): string { + let lastIndex = length - 1; + if (lastIndex < 0) return ""; + let value: T; + if (!lastIndex) { + value = load(dataStart); + // @ts-ignore: type + return value != null ? value.toString() : ""; + } + let result = ""; + let sepLen = separator.length; + for (let i = 0; i < lastIndex; ++i) { + value = load(dataStart + (i << alignof())); + // @ts-ignore: type + if (value != null) result += value.toString(); + if (sepLen) result += separator; + } + value = load(dataStart + (lastIndex << alignof())); + // @ts-ignore: type + if (value != null) result += value.toString(); + return result; +} + +// @ts-ignore: decorator +@inline +function scientific(significand: u64, exp: i32): f64 { + if (!significand || exp < -342) return 0; + if (exp > 308) return Infinity; + // Try use fast path + // Use fast path for string-to-double conversion if possible + // see http://www.exploringbinary.com/fast-path-decimal-to-floating-point-conversion + // Simple integer + let significandf = significand; + if (!exp) return significandf; + if (exp > 22 && exp <= 22 + 15) { + significandf *= pow10(exp - 22); + exp = 22; + } + if (significand <= 9007199254740991 && abs(exp) <= 22) { + if (exp > 0) return significandf * pow10(exp); + return significandf / pow10(-exp); + } else if (exp < 0) { + return scaledown(significand, exp); + } else { + return scaleup(significand, exp); + } +} + +// Adopted from metallic lib: +// https://github.com/jdh8/metallic/blob/master/src/stdlib/parse/scientific.h +// @ts-ignore: decorator +@inline +function scaledown(significand: u64, exp: i32): f64 { + const denom: u64 = 6103515625; // 1e14 * 0x1p-14 + const scale = reinterpret(0x3F06849B86A12B9B); // 1e-14 * 0x1p32 + + let shift = clz(significand); + significand <<= shift; + shift = exp - shift; + + for (; exp <= -14; exp += 14) { + let q = significand / denom; + let r = significand % denom; + let s = clz(q); + significand = (q << s) + nearest(scale * (r << (s - 18))); + shift -= s; + } + let b = ipow32(5, -exp); + let q = significand / b; + let r = significand % b; + let s = clz(q); + significand = (q << s) + (reinterpret(reinterpret(r) + (s << 52)) / b); + shift -= s; + + return NativeMath.scalbn(significand, shift); +} + +// Adopted from metallic lib: +// https://github.com/jdh8/metallic/blob/master/src/stdlib/parse/scientific.h +// @ts-ignore: decorator +@inline +function scaleup(significand: u64, exp: i32): f64 { + const coeff: u32 = 1220703125; // 1e13 * 0x1p-13; + let shift = ctz(significand); + significand >>= shift; + shift += exp; + + __fixmulShift = shift; + for (; exp >= 13; exp -= 13) { + significand = fixmul(significand, coeff); + } + significand = fixmul(significand, ipow32(5, exp)); + shift = __fixmulShift; + return NativeMath.scalbn(significand, shift); +} + +// Adopted from metallic lib: +// https://github.com/jdh8/metallic/blob/master/src/stdlib/parse/scientific.h +// @ts-ignore: decorator +@inline +function parseExp(ptr: usize, len: i32): i32 { + let sign = 1, magnitude = 0; + let code = load(ptr); + // check code is 'e' or 'E' + if ((code | 32) != CharCode.e) return 0; + + if (!--len) return 0; + code = load(ptr += 2); + if (code == CharCode.MINUS) { + if (!--len) return 0; + code = load(ptr += 2); + sign = -1; + } else if (code == CharCode.PLUS) { + if (!--len) return 0; + code = load(ptr += 2); + } + // skip zeros + while (code == CharCode._0) { + if (!--len) return 0; + code = load(ptr += 2); + } + for (let digit: u32 = code - CharCode._0; len && digit < 10; digit = code - CharCode._0) { + if (magnitude >= 3200) return sign * 3200; + magnitude = 10 * magnitude + digit; + code = load(ptr += 2); + --len; + } + return sign * magnitude; +} + +// @ts-ignore: decorator +@lazy let __fixmulShift: u64 = 0; + +// Adopted from metallic lib: +// https://github.com/jdh8/metallic/blob/master/src/stdlib/parse/scientific.h +// @ts-ignore: decorator +@inline +function fixmul(a: u64, b: u32): u64 { + let low = (a & 0xFFFFFFFF) * b; + let high = (a >> 32) * b + (low >> 32); + let overflow = (high >> 32); + let space = clz(overflow); + let revspace: u64 = 32 - space; + __fixmulShift += revspace; + return (high << space | (low & 0xFFFFFFFF) >> revspace) + (low << space >> 31 & 1); +} + +// @ts-ignore: decorator +@inline +function pow10(n: i32): f64 { + // argument \`n\` should bounds in [0, 22] range + return load(POWERS10 + (n << alignof())); +} +`,"util/uri":`import { E_URI_MALFORMED } from "./error"; +import { CharCode } from "./string"; + +// Truncated lookup boolean table that helps us quickly determine +// if a char needs to be escaped for URIs (RFC 2396). +// @ts-ignore: decorator +@lazy export const URI_UNSAFE = memory.data([ +/* skip 32 + 1 always set to '1' head slots + */ 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, /* + skip 128 + 1 always set to '1' tail slots */ +]); + +// Truncated lookup boolean table that helps us quickly determine +// if a char needs to be escaped for URLs (RFC 3986). +// @ts-ignore: decorator +@lazy export const URL_UNSAFE = memory.data([ +/* skip 32 + 1 always set to '1' head slots + */ 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, /* + skip 128 + 1 always set to '1' tail slots */ +]); + +// Truncated lookup boolean table for determine reserved chars: ;/?:@&=+$,# +// @ts-ignore: decorator +@lazy export const URI_RESERVED = memory.data([ + /* skip 32 + 3 always set to '0' head slots + */ 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, + 1, /* skip 191 always set to '0' tail slots */ +]); + +export function encode(src: usize, len: usize, table: usize): usize { + if (!len) return src; + + let i: usize = 0, offset: usize = 0, outSize = len << 1; + let dst = __new(outSize, idof()); + + while (i < len) { + let org = i; + let c: u32, c1: u32; + // fast scan a check chars until it valid ASCII + // and safe for copying withoud escaping. + do { + c = load(src + (i << 1)); + // is it valid ASII and safe? + if (c - 33 < 94) { // 127 - 33 + if (load(table + (c - 33))) break; + } else break; + } while (++i < len); + + // if we have some safe range of sequence just copy it without encoding + if (i > org) { + let size = i - org << 1; + if (offset + size > outSize) { + outSize = offset + size; + dst = __renew(dst, outSize); + } + // TODO: should we optimize for short cases like 2 byte size? + memory.copy( + dst + offset, + src + (org << 1), + size + ); + offset += size; + // return if we reach end on input string + if (i >= len) break; + } + + // decode UTF16 with checking for unpaired surrogates + if (c >= 0xD800) { + if (c >= 0xDC00 && c <= 0xDFFF) { + throw new URIError(E_URI_MALFORMED); + } + if (c <= 0xDBFF) { + if (i >= len) { + throw new URIError(E_URI_MALFORMED); + } + c1 = load(src + (++i << 1)); + if (c1 < 0xDC00 || c1 > 0xDFFF) { + throw new URIError(E_URI_MALFORMED); + } + c = (((c & 0x3FF) << 10) | (c1 & 0x3FF)) + 0x10000; + } + } + + let estSize = offset + (c < 0x80 ? 1 * 6 : 4 * 6); + if (estSize > outSize) { + // doubling estimated size but only for greater than one + // input lenght due to we already estemated it for worst case + outSize = len > 1 ? estSize << 1 : estSize; + dst = __renew(dst, outSize); + } + + if (c < 0x80) { + // encode ASCII unsafe code point + storeHex(dst, offset, c); + offset += 6; + } else { + // encode UTF-8 unsafe code point + if (c < 0x800) { + storeHex(dst, offset, (c >> 6) | 0xC0); + offset += 6; + } else { + if (c < 0x10000) { + storeHex(dst, offset, (c >> 12) | 0xE0); + offset += 6; + } else { + storeHex(dst, offset, (c >> 18) | 0xF0); + offset += 6; + storeHex(dst, offset, (c >> 12 & 0x3F) | 0x80); + offset += 6; + } + storeHex(dst, offset, (c >> 6 & 0x3F) | 0x80); + offset += 6; + } + storeHex(dst, offset, (c & 0x3F) | 0x80); + offset += 6; + } + ++i; + } + // shink output string buffer if necessary + if (outSize > offset) { + dst = __renew(dst, offset); + } + return dst; +} + +export function decode(src: usize, len: usize, component: bool): usize { + if (!len) return src; + + let i: usize = 0, offset: usize = 0, ch: u32 = 0; + let dst = __new(len << 1, idof()); + + while (i < len) { + let org = i; + while (i < len && (ch = load(src + (i << 1))) != CharCode.PERCENT) i++; + + if (i > org) { + let size = i - org << 1; + // TODO: should we optimize for short cases like 2 byte size? + memory.copy( + dst + offset, + src + (org << 1), + size + ); + offset += size; + if (i >= len) break; + } + + // decode hex + if ( + i + 2 >= len || + ch != CharCode.PERCENT || + (ch = loadHex(src, i + 1 << 1)) == -1 + ) throw new URIError(E_URI_MALFORMED); + + i += 3; + if (ch < 0x80) { + if (!component && isReserved(ch)) { + ch = CharCode.PERCENT; + i -= 2; + } + } else { + // decode UTF-8 sequence + let nb = utf8LenFromUpperByte(ch); + // minimal surrogate: 2 => 0x80, 3 => 0x800, 4 => 0x10000, _ => -1 + let lo: u32 = 1 << (17 * nb >> 2) - 1; + // mask: 2 => 31, 3 => 15, 4 => 7, _ => 0 + ch &= nb ? (0x80 >> nb) - 1 : 0; + + while (--nb != 0) { + let c1: u32; + // decode hex + if ( + i + 2 >= len || + load(src + (i << 1)) != CharCode.PERCENT || + (c1 = loadHex(src, i + 1 << 1)) == -1 + ) throw new URIError(E_URI_MALFORMED); + + i += 3; + if ((c1 & 0xC0) != 0x80) { + ch = 0; + break; + } + ch = (ch << 6) | (c1 & 0x3F); + } + + // check if UTF8 code point properly fit into invalid UTF16 encoding + if (ch < lo || lo == -1 || ch > 0x10FFFF || (ch >= 0xD800 && ch < 0xE000)) { + throw new URIError(E_URI_MALFORMED); + } + + // encode UTF16 + if (ch >= 0x10000) { + ch -= 0x10000; + let lo = ch >> 10 | 0xD800; + let hi = (ch & 0x03FF) | 0xDC00; + store(dst + offset, lo | (hi << 16)); + offset += 4; + continue; + } + } + store(dst + offset, ch); + offset += 2; + } + + assert(offset <= (len << 1)); + // shink output string buffer if necessary + if ((len << 1) > offset) { + dst = __renew(dst, offset); + } + return dst; +} + +function storeHex(dst: usize, offset: usize, ch: u32): void { + // @ts-ignore: decorator + const HEX_CHARS = memory.data([ + 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, + 0x38, 0x39, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46 + ]); + + store(dst + offset, CharCode.PERCENT, 0); // % + store( + dst + offset, + load(HEX_CHARS + (ch >> 4 & 0x0F)) | + load(HEX_CHARS + (ch & 0x0F)) << 16, + 2 + ); // XX +} + +function loadHex(src: usize, offset: usize): u32 { + let c0 = load(src + offset, 0); + let c1 = load(src + offset, 2); + return isHex(c0) && isHex(c1) + ? fromHex(c0) << 4 | fromHex(c1) + : -1; +} + +// @ts-ignore: decorator +@inline function fromHex(ch: u32): u32 { + return (ch | 32) % 39 - 9; +} + +// @ts-ignore: decorator +@inline function utf8LenFromUpperByte(c0: u32): u32 { + // same as + // if (c0 - 0xC0 <= 0xDF - 0xC0) return 2; + // if (c0 - 0xE0 <= 0xEF - 0xE0) return 3; + // if (c0 - 0xF0 <= 0xF7 - 0xF0) return 4; + // return 0; + return c0 - 0xC0 < 56 + ? clz(~(c0 << 24)) + : 0; +} + +// @ts-ignore: decorator +@inline function isReserved(ch: u32): bool { + return ch - 35 < 30 + ? load(URI_RESERVED + (ch - 35)) + : false; +} + +// @ts-ignore: decorator +@inline function isHex(ch: u32): bool { + return (ch - CharCode._0 < 10) || ((ch | 32) - CharCode.a < 6); +} +`,vector:`/** Vector abstraction. */ +@final @unmanaged +export abstract class V128 { +} +`},Oe={assembly:`/** + * Environment definitions for compiling AssemblyScript to WebAssembly using asc. + * @module std/assembly + *//***/ + +/// + +// Types + +/** An 8-bit signed integer. */ +declare type i8 = number; +/** A 16-bit signed integer. */ +declare type i16 = number; +/** A 32-bit signed integer. */ +declare type i32 = number; +/** A 64-bit signed integer. */ +declare type i64 = number; +/** A 32-bit signed integer when targeting 32-bit WebAssembly or a 64-bit signed integer when targeting 64-bit WebAssembly. */ +declare type isize = number; +/** An 8-bit unsigned integer. */ +declare type u8 = number; +/** A 16-bit unsigned integer. */ +declare type u16 = number; +/** A 32-bit unsigned integer. */ +declare type u32 = number; +/** A 64-bit unsigned integer. */ +declare type u64 = number; +/** A 32-bit unsigned integer when targeting 32-bit WebAssembly or a 64-bit unsigned integer when targeting 64-bit WebAssembly. */ +declare type usize = number; +/** A 1-bit unsigned integer. */ +declare type bool = boolean | number; +/** A 32-bit float. */ +declare type f32 = number; +/** A 64-bit float. */ +declare type f64 = number; +/** A 128-bit vector. */ +declare type v128 = object; +/** Non-nullable function reference. */ +declare type ref_func = object; +/** Canonical nullable function reference. */ +declare type funcref = ref_func | null; +/** Non-nullable external reference. */ +declare type ref_extern = object; +/** Canonical nullable external reference. */ +declare type externref = ref_extern | null; +/** Non-nullable any reference. */ +declare type ref_any = object; +/** Canonical nullable any reference. */ +declare type anyref = ref_any | null; +/** Non-nullable equatable reference. */ +declare type ref_eq = object; +/** Canonical nullable equatable reference. */ +declare type eqref = ref_eq | null; +/** Non-nullable struct reference. */ +declare type ref_struct = object; +/** Canonical nullable struct reference. */ +declare type structref = ref_struct | null; +/** Non-nullable array reference. */ +declare type ref_array = object; +/** Canonical nullable array reference. */ +declare type arrayref = ref_array | null; +/** Non-nullable 31-bit integer reference. */ +declare type ref_i31 = object; +/** Canonical nullable 31-bit integer reference. */ +declare type i31ref = ref_i31 | null; +/** Non-nullable string reference. */ +declare type ref_string = object; +/** Canonical nullable string reference. */ +declare type stringref = ref_string | null; +/** Non-nullable WTF-8 string view. */ +declare type ref_stringview_wtf8 = object; +/** Canonical nullable WTF-8 string view. */ +declare type stringview_wtf8 = ref_stringview_wtf8 | null; +/** Non-nullable WTF-16 string view. */ +declare type ref_stringview_wtf16 = object; +/** Canonical nullable WTF-16 string view. */ +declare type stringview_wtf16 = ref_stringview_wtf16 | null; +/** Non-nullable string iterator. */ +declare type ref_stringview_iter = object; +/** Canonical nullable string iterator. */ +declare type stringview_iter = ref_stringview_iter | null; + +// Compiler hints + +/** Compiler target. 0 = JS, 1 = WASM32, 2 = WASM64. */ +declare const ASC_TARGET: i32; +/** Runtime type. 0 = Stub, 1 = Minimal, 2 = Incremental. */ +declare const ASC_RUNTIME: i32; +/** Provided noAssert option. */ +declare const ASC_NO_ASSERT: bool; +/** Provided memoryBase option. */ +declare const ASC_MEMORY_BASE: i32; +/** Provided tableBase option. */ +declare const ASC_TABLE_BASE: i32; +/** Provided optimizeLevel option. */ +declare const ASC_OPTIMIZE_LEVEL: i32; +/** Provided shrinkLevel option. */ +declare const ASC_SHRINK_LEVEL: i32; +/** Provided lowMemoryLimit option. */ +declare const ASC_LOW_MEMORY_LIMIT: i32; +/** Provided noExportRuntime option. */ +declare const ASC_NO_EXPORT_RUNTIME: i32; +/** Whether the sign extension feature is enabled. */ +declare const ASC_FEATURE_SIGN_EXTENSION: bool; +/** Whether the mutable globals feature is enabled. */ +declare const ASC_FEATURE_MUTABLE_GLOBALS: bool; +/** Whether the non-trapping float-to-int feature is enabled. */ +declare const ASC_FEATURE_NONTRAPPING_F2I: bool; +/** Whether the bulk memory feature is enabled. */ +declare const ASC_FEATURE_BULK_MEMORY: bool; +/** Whether the SIMD feature is enabled. */ +declare const ASC_FEATURE_SIMD: bool; +/** Whether the threads feature is enabled. */ +declare const ASC_FEATURE_THREADS: bool; +/** Whether the exception handling feature is enabled. */ +declare const ASC_FEATURE_EXCEPTION_HANDLING: bool; +/** Whether the tail calls feature is enabled. */ +declare const ASC_FEATURE_TAIL_CALLS: bool; +/** Whether the reference types feature is enabled. */ +declare const ASC_FEATURE_REFERENCE_TYPES: bool; +/** Whether the multi value types feature is enabled. */ +declare const ASC_FEATURE_MULTI_VALUE: bool; +/** Whether the garbage collection feature is enabled. */ +declare const ASC_FEATURE_GC: bool; +/** Whether the memory64 feature is enabled. */ +declare const ASC_FEATURE_MEMORY64: bool; +/** Whether the relaxed SIMD feature is enabled. */ +declare const ASC_FEATURE_RELAXED_SIMD: bool; +/** Whether the extended const expression feature is enabled. */ +declare const ASC_FEATURE_EXTENDED_CONST: bool; +/** Whether the string references feature is enabled. */ +declare const ASC_FEATURE_STRINGREF: bool; +/** Major version of the compiler. */ +declare const ASC_VERSION_MAJOR: i32; +/** Minor version of the compiler. */ +declare const ASC_VERSION_MINOR: i32; +/** Patch version of the compiler. */ +declare const ASC_VERSION_PATCH: i32; + +// Builtins + +/** Performs the sign-agnostic reverse bytes **/ +declare function bswap(value: T): T; +/** Performs the sign-agnostic count leading zero bits operation on a 32-bit or 64-bit integer. All zero bits are considered leading if the value is zero. */ +declare function clz(value: T): T; +/** Performs the sign-agnostic count tailing zero bits operation on a 32-bit or 64-bit integer. All zero bits are considered trailing if the value is zero. */ +declare function ctz(value: T): T; +/** Performs the sign-agnostic count number of one bits operation on a 32-bit or 64-bit integer. */ +declare function popcnt(value: T): T; +/** Performs the sign-agnostic rotate left operation on a 32-bit or 64-bit integer. */ +declare function rotl(value: T, shift: T): T; +/** Performs the sign-agnostic rotate right operation on a 32-bit or 64-bit integer. */ +declare function rotr(value: T, shift: T): T; +/** Computes the absolute value of an integer or float. */ +declare function abs(value: T): T; +/** Determines the maximum of two integers or floats. If either operand is \`NaN\`, returns \`NaN\`. */ +declare function max(left: T, right: T): T; +/** Determines the minimum of two integers or floats. If either operand is \`NaN\`, returns \`NaN\`. */ +declare function min(left: T, right: T): T; +/** Performs the ceiling operation on a 32-bit or 64-bit float. */ +declare function ceil(value: T): T; +/** Composes a 32-bit or 64-bit float from the magnitude of \`x\` and the sign of \`y\`. */ +declare function copysign(x: T, y: T): T; +/** Performs the floor operation on a 32-bit or 64-bit float. */ +declare function floor(value: T): T; +/** Rounds to the nearest integer tied to even of a 32-bit or 64-bit float. */ +declare function nearest(value: T): T; +/** Reinterprets the bits of the specified value as type \`T\`. Valid reinterpretations are u32/i32 to/from f32 and u64/i64 to/from f64. */ +declare function reinterpret(value: number): T; +/** Selects one of two pre-evaluated values depending on the condition. */ +declare function select(ifTrue: T, ifFalse: T, condition: bool): T; +/** Calculates the square root of a 32-bit or 64-bit float. */ +declare function sqrt(value: T): T; +/** Rounds to the nearest integer towards zero of a 32-bit or 64-bit float. */ +declare function trunc(value: T): T; +/** Computes the sum of two integers or floats. */ +declare function add(left: T, right: T): T; +/** Computes the difference of two integers or floats. */ +declare function sub(left: T, right: T): T; +/** Computes the product of two integers or floats. */ +declare function mul(left: T, right: T): T; +/** Computes the quotient of two integers or floats. */ +declare function div(left: T, right: T): T; +/** Return 1 if two numbers are equal to each other, 0 otherwise. */ +declare function eq(left: T, right: T): i32; +/** Return 0 if two numbers are equal to each other, 1 otherwise. */ +declare function ne(left: T, right: T): i32; +/** Computes the remainder of two integers. */ +declare function rem(left: T, right: T): T; +/** Loads a value of the specified type from memory. Equivalent to dereferncing a pointer in other languages. */ +declare function load(ptr: usize, immOffset?: usize, immAlign?: usize): T; +/** Stores a value of the specified type to memory. Equivalent to dereferencing a pointer in other languages when assigning a value. */ +declare function store(ptr: usize, value: T, immOffset?: usize, immAlign?: usize): void; +/** Emits an unreachable operation that results in a runtime error when executed. Both a statement and an expression. */ +declare function unreachable(): never; + +/** NaN (not a number) as a 32-bit or 64-bit float depending on context. */ +declare const NaN: f32 | f64; +/** Positive infinity as a 32-bit or 64-bit float depending on context. */ +declare const Infinity: f32 | f64; +/** Data end offset. */ +declare const __data_end: usize; +/** Stack pointer offset. */ +declare let __stack_pointer: usize; +/** Heap base offset. */ +declare const __heap_base: usize; +/** Determines the byte size of the specified underlying core type. Compiles to a constant. */ +declare function sizeof(): usize; +/** Determines the alignment (log2) of the specified underlying core type. Compiles to a constant. */ +declare function alignof(): usize; +/** Determines the end offset of the given class type. Compiles to a constant. */ +declare function offsetof(): usize; +/** Determines the offset of the specified field within the given class type. Compiles to a constant. */ +declare function offsetof(fieldName: keyof T | string): usize; +/** Determines the offset of the specified field within the given class type. Returns the class type's end offset if field name has been omitted. Compiles to a constant. */ +declare function offsetof(fieldName?: string): usize; +/** Determines the name of a given type. */ +declare function nameof(value?: T): string; +/** Determines the unique runtime id of a class type. Compiles to a constant. */ +declare function idof(): u32; +/** Changes the type of any value of \`usize\` kind to another one of \`usize\` kind. Useful for casting class instances to their pointer values and vice-versa. Beware that this is unsafe.*/ +declare function changetype(value: any): T; +/** Explicitly requests no bounds checks on the provided expression. Useful for array accesses. */ +declare function unchecked(value: T): T; +/** Emits a \`call_indirect\` instruction, calling the specified function in the function table by index with the specified arguments. Does result in a runtime error if the arguments do not match the called function. */ +declare function call_indirect(index: u32, ...args: unknown[]): T; +/** Instantiates a new instance of \`T\` using the specified constructor arguments. */ +declare function instantiate(...args: any[]): T; +/** Tests if a 32-bit or 64-bit float is \`NaN\`. */ +declare function isNaN(value: T): bool; +/** Tests if a 32-bit or 64-bit float is finite, that is not \`NaN\` or +/-\`Infinity\`. */ +declare function isFinite(value: T): bool; +/** Tests if the specified type *or* expression is of a boolean type. */ +declare function isBoolean(value?: any): value is number; +/** Tests if the specified type *or* expression is of an integer type and not a reference. Compiles to a constant. */ +declare function isInteger(value?: any): value is number; +/** Tests if the specified type *or* expression can represent negative numbers. Compiles to a constant. */ +declare function isSigned(value?: any): value is number; +/** Tests if the specified type *or* expression is of a float type. Compiles to a constant. */ +declare function isFloat(value?: any): value is number; +/** Tests if the specified type *or* expression is of a v128 type. Compiles to a constant. */ +declare function isVector(value?: any): value is v128; +/** Tests if the specified type *or* expression is of a reference type. Compiles to a constant. */ +declare function isReference(value?: any): value is object | string; +/** Tests if the specified type *or* expression can be used as a string. Compiles to a constant. */ +declare function isString(value?: any): value is string | String; +/** Tests if the specified type *or* expression can be used as an array. Compiles to a constant. */ +declare function isArray(value?: any): value is Array; +/** Tests if the specified type *or* expression can be used as an array like object. Compiles to a constant. */ +declare function isArrayLike(value?: any): value is ArrayLike; +/** Tests if the specified type *or* expression is of a function type. Compiles to a constant. */ +declare function isFunction(value?: any): value is (...args: any) => any; +/** Tests if the specified type *or* expression is of a nullable reference type. Compiles to a constant. */ +declare function isNullable(value?: any): bool; +/** Tests if the specified expression resolves to a defined element. Compiles to a constant. */ +declare function isDefined(expression: any): bool; +/** Tests if the specified expression evaluates to a constant value. Compiles to a constant. */ +declare function isConstant(expression: any): bool; +/** Tests if the specified type *or* expression is of a managed type. Compiles to a constant. */ +declare function isManaged(value?: any): bool; +/** Tests if the specified type is void. Compiles to a constant. */ +declare function isVoid(): bool; +/** Traps if the specified value is not true-ish, otherwise returns the (non-nullable) value. */ +declare function assert(isTrueish: T, message?: string): T & (object | string | number); // any better way to model \`: T != null\`? +/** Parses an integer string to a 64-bit float. */ +declare function parseInt(str: string, radix?: i32): f64; +/** Parses a string to a 64-bit float. */ +declare function parseFloat(str: string): f64; +/** Returns the 64-bit floating-point remainder of \`x/y\`. */ +declare function fmod(x: f64, y: f64): f64; +/** Returns the 32-bit floating-point remainder of \`x/y\`. */ +declare function fmodf(x: f32, y: f32): f32; +/** Returns the number of parameters in the given function signature type. */ +declare function lengthof any>(func?: T): i32; +/** Encodes a text string as a valid Uniform Resource Identifier (URI). */ +declare function encodeURI(str: string): string; +/** Encodes a text string as a valid component of a Uniform Resource Identifier (URI). */ +declare function encodeURIComponent(str: string): string; +/** Decodes a Uniform Resource Identifier (URI) previously created by encodeURI. */ +declare function decodeURI(str: string): string; +/** Decodes a Uniform Resource Identifier (URI) component previously created by encodeURIComponent. */ +declare function decodeURIComponent(str: string): string; + +/** Atomic operations. */ +declare namespace atomic { + /** Atomically loads an integer value from memory and returns it. */ + export function load(ptr: usize, immOffset?: usize): T; + /** Atomically stores an integer value to memory. */ + export function store(ptr: usize, value: T, immOffset?: usize): void; + /** Atomically adds an integer value in memory. */ + export function add(ptr: usize, value: T, immOffset?: usize): T; + /** Atomically subtracts an integer value in memory. */ + export function sub(ptr: usize, value: T, immOffset?: usize): T; + /** Atomically performs a bitwise AND operation on an integer value in memory. */ + export function and(ptr: usize, value: T, immOffset?: usize): T; + /** Atomically performs a bitwise OR operation on an integer value in memory. */ + export function or(ptr: usize, value: T, immOffset?: usize): T; + /** Atomically performs a bitwise XOR operation on an integer value in memory. */ + export function xor(ptr: usize, value: T, immOffset?: usize): T; + /** Atomically exchanges an integer value in memory. */ + export function xchg(ptr: usize, value: T, immOffset?: usize): T; + /** Atomically compares and exchanges an integer value in memory if the condition is met. */ + export function cmpxchg(ptr: usize, expected: T, replacement: T, immOffset?: usize): T; + /** Performs a wait operation on an address in memory suspending this agent if the integer condition is met. */ + export function wait(ptr: usize, expected: T, timeout?: i64): AtomicWaitResult; + /** Performs a notify operation on an address in memory waking up suspended agents. */ + export function notify(ptr: usize, count?: i32): i32; + /** Performs a fence operation, preserving synchronization guarantees of higher level languages. */ + export function fence(): void; +} + +/** Describes the result of an atomic wait operation. */ +declare enum AtomicWaitResult { + /** Woken by another agent. */ + OK, + /** Loaded value did not match the expected value. */ + NOT_EQUAL, + /** Not woken before the timeout expired. */ + TIMED_OUT +} + +/** Converts any other numeric value to an 8-bit signed integer. */ +declare function i8(value: any): i8; +declare namespace i8 { + /** Smallest representable value. */ + export const MIN_VALUE: i8; + /** Largest representable value. */ + export const MAX_VALUE: i8; + /** Parses a string as an i8. */ + export function parse(value: string, radix?: i32): i8; +} +/** Converts any other numeric value to a 16-bit signed integer. */ +declare function i16(value: any): i16; +declare namespace i16 { + /** Smallest representable value. */ + export const MIN_VALUE: i16; + /** Largest representable value. */ + export const MAX_VALUE: i16; + /** Parses a string as an i16. */ + export function parse(value: string, radix?: i32): i16; +} +/** Converts any other numeric value to a 32-bit signed integer. */ +declare function i32(value: any): i32; +declare namespace i32 { + /** Smallest representable value. */ + export const MIN_VALUE: i32; + /** Largest representable value. */ + export const MAX_VALUE: i32; + /** Parses a string as an i32. */ + export function parse(value: string, radix?: i32): i32; + /** Loads an 8-bit signed integer value from memory and returns it as a 32-bit integer. */ + export function load8_s(ptr: usize, immOffset?: usize, immAlign?: usize): i32; + /** Loads an 8-bit unsigned integer value from memory and returns it as a 32-bit integer. */ + export function load8_u(ptr: usize, immOffset?: usize, immAlign?: usize): i32; + /** Loads a 16-bit signed integer value from memory and returns it as a 32-bit integer. */ + export function load16_s(ptr: usize, immOffset?: usize, immAlign?: usize): i32; + /** Loads a 16-bit unsigned integer value from memory and returns it as a 32-bit integer. */ + export function load16_u(ptr: usize, immOffset?: usize, immAlign?: usize): i32; + /** Loads a 32-bit integer value from memory. */ + export function load(ptr: usize, immOffset?: usize, immAlign?: usize): i32; + /** Stores a 32-bit integer value to memory as an 8-bit integer. */ + export function store8(ptr: usize, value: i32, immOffset?: usize, immAlign?: usize): void; + /** Stores a 32-bit integer value to memory as a 16-bit integer. */ + export function store16(ptr: usize, value: i32, immOffset?: usize, immAlign?: usize): void; + /** Stores a 32-bit integer value to memory. */ + export function store(ptr: usize, value: i32, immOffset?: usize, immAlign?: usize): void; + /** Performs the sign-agnostic count leading zero bits operation on a 32-bit integer. All zero bits are considered leading if the value is zero. */ + export function clz(value: i32): i32; + /** Performs the sign-agnostic count tailing zero bits operation on a 32-bit integer. All zero bits are considered trailing if the value is zero. */ + export function ctz(value: i32): i32; + /** Performs the sign-agnostic count number of one bits operation on a 32-bit integer. */ + export function popcnt(value: i32): i32; + /** Performs the sign-agnostic rotate left operation on a 32-bit integer. */ + export function rotl(value: i32, shift: i32): i32; + /** Performs the sign-agnostic rotate right operation on a 32-bit integer. */ + export function rotr(value: i32, shift: i32): i32; + /** Reinterprets the bits of the specified 32-bit float as a 32-bit integer. */ + export function reinterpret_f32(value: f32): i32; + /** Computes the sum of two 32-bit integers. */ + export function add(left: i32, right: i32): i32; + /** Computes the difference of two 32-bit integers. */ + export function sub(left: i32, right: i32): i32; + /** Computes the product of two 32-bit integers. */ + export function mul(left: i32, right: i32): i32; + /** Computes the signed quotient of two 32-bit integers. */ + export function div_s(left: i32, right: i32): i32; + /** Computes the unsigned quotient of two 32-bit integers. */ + export function div_u(left: i32, right: i32): i32; + /** Return 1 if two 32-bit integers are equal to each other, 0 otherwise. */ + export function eq(left: i32, right: i32): i32; + /** Return 0 if two 32-bit integers are equal to each other, 1 otherwise. */ + export function ne(left: i32, right: i32): i32; + /** Computes the signed remainder of two 32-bit integers. */ + export function rem_s(left: i32, right: i32): i32; + /** Computes the unsigned remainder of two 32-bit integers. */ + export function rem_u(left: u32, right: u32): u32; + + /** Atomic 32-bit integer operations. */ + export namespace atomic { + /** Atomically loads an 8-bit unsigned integer value from memory and returns it as a 32-bit integer. */ + export function load8_u(ptr: usize, immOffset?: usize): i32; + /** Atomically loads a 16-bit unsigned integer value from memory and returns it as a 32-bit integer. */ + export function load16_u(ptr: usize, immOffset?: usize): i32; + /** Atomically loads a 32-bit integer value from memory and returns it. */ + export function load(ptr: usize, immOffset?: usize): i32; + /** Atomically stores a 32-bit integer value to memory as an 8-bit integer. */ + export function store8(ptr: usize, value: i32, immOffset?: usize): void; + /** Atomically stores a 32-bit integer value to memory as a 16-bit integer. */ + export function store16(ptr: usize, value: i32, immOffset?: usize): void; + /** Atomically stores a 32-bit integer value to memory. */ + export function store(ptr: usize, value: i32, immOffset?: usize): void; + /** Atomic 32-bit integer read-modify-write operations on 8-bit values. */ + export namespace rmw8 { + /** Atomically adds an 8-bit unsigned integer value in memory. */ + export function add_u(ptr: usize, value: i32, immOffset?: usize): i32; + /** Atomically subtracts an 8-bit unsigned integer value in memory. */ + export function sub_u(ptr: usize, value: i32, immOffset?: usize): i32; + /** Atomically performs a bitwise AND operation an 8-bit unsigned integer value in memory. */ + export function and_u(ptr: usize, value: i32, immOffset?: usize): i32; + /** Atomically performs a bitwise OR operation an 8-bit unsigned integer value in memory. */ + export function or_u(ptr: usize, value: i32, immOffset?: usize): i32; + /** Atomically performs a bitwise XOR operation an 8-bit unsigned integer value in memory. */ + export function xor_u(ptr: usize, value: i32, immOffset?: usize): i32; + /** Atomically exchanges an 8-bit unsigned integer value in memory. */ + export function xchg_u(ptr: usize, value: i32, immOffset?: usize): i32; + /** Atomically compares and exchanges an 8-bit unsigned integer value in memory if the condition is met. */ + export function cmpxchg_u(ptr: usize, expected: i32, replacement: i32, immOffset?: usize): i32; + } + /** Atomic 32-bit integer read-modify-write operations on 16-bit values. */ + export namespace rmw16 { + /** Atomically adds a 16-bit unsigned integer value in memory. */ + export function add_u(ptr: usize, value: i32, immOffset?: usize): i32; + /** Atomically adds a 16-bit unsigned integer value in memory. */ + export function sub_u(ptr: usize, value: i32, immOffset?: usize): i32; + /** Atomically performs a bitwise AND operation a 16-bit unsigned integer value in memory. */ + export function and_u(ptr: usize, value: i32, immOffset?: usize): i32; + /** Atomically performs a bitwise OR operation a 16-bit unsigned integer value in memory. */ + export function or_u(ptr: usize, value: i32, immOffset?: usize): i32; + /** Atomically performs a bitwise XOR operation a 16-bit unsigned integer value in memory. */ + export function xor_u(ptr: usize, value: i32, immOffset?: usize): i32; + /** Atomically exchanges a 16-bit unsigned integer value in memory. */ + export function xchg_u(ptr: usize, value: i32, immOffset?: usize): i32; + /** Atomically compares and exchanges a 16-bit unsigned integer value in memory if the condition is met. */ + export function cmpxchg_u(ptr: usize, expected: i32, replacement: i32, immOffset?: usize): i32; + } + /** Atomic 32-bit integer read-modify-write operations. */ + export namespace rmw { + /** Atomically adds a 32-bit integer value in memory. */ + export function add(ptr: usize, value: i32, immOffset?: usize): i32; + /** Atomically subtracts a 32-bit integer value in memory. */ + export function sub(ptr: usize, value: i32, immOffset?: usize): i32; + /** Atomically performs a bitwise AND operation a 32-bit integer value in memory. */ + export function and(ptr: usize, value: i32, immOffset?: usize): i32; + /** Atomically performs a bitwise OR operation a 32-bit integer value in memory. */ + export function or(ptr: usize, value: i32, immOffset?: usize): i32; + /** Atomically performs a bitwise XOR operation a 32-bit integer value in memory. */ + export function xor(ptr: usize, value: i32, immOffset?: usize): i32; + /** Atomically exchanges a 32-bit integer value in memory. */ + export function xchg(ptr: usize, value: i32, immOffset?: usize): i32; + /** Atomically compares and exchanges a 32-bit integer value in memory if the condition is met. */ + export function cmpxchg(ptr: usize, expected: i32, replacement: i32, immOffset?: usize): i32; + } + } +} +/** Converts any other numeric value to a 64-bit signed integer. */ +declare function i64(value: any): i64; +declare namespace i64 { + /** Smallest representable value. */ + export const MIN_VALUE: i64; + /** Largest representable value. */ + export const MAX_VALUE: i64; + /** Parses a string as an i64. */ + export function parse(value: string, radix?: i32): i64; + /** Loads an 8-bit signed integer value from memory and returns it as a 64-bit integer. */ + export function load8_s(ptr: usize, immOffset?: usize, immAlign?: usize): i64; + /** Loads an 8-bit unsigned integer value from memory and returns it as a 64-bit integer. */ + export function load8_u(ptr: usize, immOffset?: usize, immAlign?: usize): i64; + /** Loads a 16-bit signed integer value from memory and returns it as a 64-bit integer. */ + export function load16_s(ptr: usize, immOffset?: usize, immAlign?: usize): i64; + /** Loads a 16-bit unsigned integer value from memory and returns it as a 64-bit integer. */ + export function load16_u(ptr: usize, immOffset?: usize, immAlign?: usize): i64; + /** Loads a 32-bit signed integer value from memory and returns it as a 64-bit integer. */ + export function load32_s(ptr: usize, immOffset?: usize, immAlign?: usize): i64; + /** Loads a 32-bit unsigned integer value from memory and returns it as a 64-bit integer. */ + export function load32_u(ptr: usize, immOffset?: usize, immAlign?: usize): i64; + /** Loads a 64-bit unsigned integer value from memory. */ + export function load(ptr: usize, immOffset?: usize, immAlign?: usize): i64; + /** Stores a 64-bit integer value to memory as an 8-bit integer. */ + export function store8(ptr: usize, value: i64, immOffset?: usize, immAlign?: usize): void; + /** Stores a 64-bit integer value to memory as a 16-bit integer. */ + export function store16(ptr: usize, value: i64, immOffset?: usize, immAlign?: usize): void; + /** Stores a 64-bit integer value to memory as a 32-bit integer. */ + export function store32(ptr: usize, value: i64, immOffset?: usize, immAlign?: usize): void; + /** Stores a 64-bit integer value to memory. */ + export function store(ptr: usize, value: i64, immOffset?: usize, immAlign?: usize): void; + /** Performs the sign-agnostic count leading zero bits operation on a 64-bit integer. All zero bits are considered leading if the value is zero. */ + export function clz(value: i64): i64; + /** Performs the sign-agnostic count tailing zero bits operation on a 64-bit integer. All zero bits are considered trailing if the value is zero. */ + export function ctz(value: i64): i64; + /** Performs the sign-agnostic count number of one bits operation on a 64-bit integer. */ + export function popcnt(value: i64): i64; + /** Performs the sign-agnostic rotate left operation on a 64-bit integer. */ + export function rotl(value: i64, shift: i64): i64; + /** Performs the sign-agnostic rotate right operation on a 64-bit integer. */ + export function rotr(value: i64, shift: i64): i64; + /** Reinterprets the bits of the specified 64-bit float as a 64-bit integer. */ + export function reinterpret_f64(value: f64): i64; + /** Computes the sum of two 64-bit integers. */ + export function add(left: i64, right: i64): i64; + /** Computes the difference of two 64-bit integers. */ + export function sub(left: i64, right: i64): i64; + /** Computes the product of two 64-bit integers. */ + export function mul(left: i64, right: i64): i64; + /** Computes the signed quotient of two 64-bit integers. */ + export function div_s(left: i64, right: i64): i64; + /** Computes the unsigned quotient of two 64-bit integers. */ + export function div_u(left: i64, right: i64): i64; + /** Return 1 if two 64-bit integers are equal to each other, 0 otherwise. */ + export function eq(left: i64, right: i64): i32; + /** Return 0 if two 64-bit integers are equal to each other, 1 otherwise. */ + export function ne(left: i64, right: i64): i32; + /** Computes the signed remainder of two 64-bit integers. */ + export function rem_s(left: i64, right: i64): i64; + /** Computes the unsigned remainder of two 64-bit integers. */ + export function rem_u(left: u64, right: u64): u64; + + /** Atomic 64-bit integer operations. */ + export namespace atomic { + /** Atomically loads an 8-bit unsigned integer value from memory and returns it as a 64-bit integer. */ + export function load8_u(ptr: usize, immOffset?: usize): i64; + /** Atomically loads a 16-bit unsigned integer value from memory and returns it as a 64-bit integer. */ + export function load16_u(ptr: usize, immOffset?: usize): i64; + /** Atomically loads a 32-bit unsigned integer value from memory and returns it as a 64-bit integer. */ + export function load32_u(ptr: usize, immOffset?: usize): i64; + /** Atomically loads a 64-bit integer value from memory and returns it. */ + export function load(ptr: usize, immOffset?: usize): i64; + /** Atomically stores a 64-bit integer value to memory as an 8-bit integer. */ + export function store8(ptr: usize, value: i64, immOffset?: usize): void; + /** Atomically stores a 64-bit integer value to memory as a 16-bit integer. */ + export function store16(ptr: usize, value: i64, immOffset?: usize): void; + /** Atomically stores a 64-bit integer value to memory as a 32-bit integer. */ + export function store32(ptr: usize, value: i64, immOffset?: usize): void; + /** Atomically stores a 64-bit integer value to memory. */ + export function store(ptr: usize, value: i64, immOffset?: usize): void; + /** Atomic 64-bit integer read-modify-write operations on 8-bit values. */ + export namespace rmw8 { + /** Atomically adds an 8-bit unsigned integer value in memory. */ + export function add_u(ptr: usize, value: i64, immOffset?: usize): i64; + /** Atomically subtracts an 8-bit unsigned integer value in memory. */ + export function sub_u(ptr: usize, value: i64, immOffset?: usize): i64; + /** Atomically performs a bitwise AND operation on an 8-bit unsigned integer value in memory. */ + export function and_u(ptr: usize, value: i64, immOffset?: usize): i64; + /** Atomically performs a bitwise OR operation on an 8-bit unsigned integer value in memory. */ + export function or_u(ptr: usize, value: i64, immOffset?: usize): i64; + /** Atomically performs a bitwise XOR operation on an 8-bit unsigned integer value in memory. */ + export function xor_u(ptr: usize, value: i64, immOffset?: usize): i64; + /** Atomically exchanges an 8-bit unsigned integer value in memory. */ + export function xchg_u(ptr: usize, value: i64, immOffset?: usize): i64; + /** Atomically compares and exchanges an 8-bit unsigned integer value in memory if the condition is met. */ + export function cmpxchg_u(ptr: usize, expected: i64, replacement: i64, immOffset?: usize): i64; + } + /** Atomic 64-bit integer read-modify-write operations on 16-bit values. */ + export namespace rmw16 { + /** Atomically adds a 16-bit unsigned integer value in memory. */ + export function add_u(ptr: usize, value: i64, immOffset?: usize): i64; + /** Atomically subtracts a 16-bit unsigned integer value in memory. */ + export function sub_u(ptr: usize, value: i64, immOffset?: usize): i64; + /** Atomically performs a bitwise AND operation on a 16-bit unsigned integer value in memory. */ + export function and_u(ptr: usize, value: i64, immOffset?: usize): i64; + /** Atomically performs a bitwise OR operation on a 16-bit unsigned integer value in memory. */ + export function or_u(ptr: usize, value: i64, immOffset?: usize): i64; + /** Atomically performs a bitwise XOR operation on a 16-bit unsigned integer value in memory. */ + export function xor_u(ptr: usize, value: i64, immOffset?: usize): i64; + /** Atomically exchanges a 16-bit unsigned integer value in memory. */ + export function xchg_u(ptr: usize, value: i64, immOffset?: usize): i64; + /** Atomically compares and exchanges a 16-bit unsigned integer value in memory if the condition is met. */ + export function cmpxchg_u(ptr: usize, expected: i64, replacement: i64, immOffset?: usize): i64; + } + /** Atomic 64-bit integer read-modify-write operations on 32-bit values. */ + export namespace rmw32 { + /** Atomically adds a 32-bit unsigned integer value in memory. */ + export function add_u(ptr: usize, value: i64, immOffset?: usize): i64; + /** Atomically subtracts a 32-bit unsigned integer value in memory. */ + export function sub_u(ptr: usize, value: i64, immOffset?: usize): i64; + /** Atomically performs a bitwise AND operation on a 32-bit unsigned integer value in memory. */ + export function and_u(ptr: usize, value: i64, immOffset?: usize): i64; + /** Atomically performs a bitwise OR operation on a 32-bit unsigned integer value in memory. */ + export function or_u(ptr: usize, value: i64, immOffset?: usize): i64; + /** Atomically performs a bitwise XOR operation on a 32-bit unsigned integer value in memory. */ + export function xor_u(ptr: usize, value: i64, immOffset?: usize): i64; + /** Atomically exchanges a 32-bit unsigned integer value in memory. */ + export function xchg_u(ptr: usize, value: i64, immOffset?: usize): i64; + /** Atomically compares and exchanges a 32-bit unsigned integer value in memory if the condition is met. */ + export function cmpxchg_u(ptr: usize, expected: i64, replacement: i64, immOffset?: usize): i64; + } + /** Atomic 64-bit integer read-modify-write operations. */ + export namespace rmw { + /** Atomically adds a 64-bit integer value in memory. */ + export function add(ptr: usize, value: i64, immOffset?: usize): i64; + /** Atomically subtracts a 64-bit integer value in memory. */ + export function sub(ptr: usize, value: i64, immOffset?: usize): i64; + /** Atomically performs a bitwise AND operation on a 64-bit integer value in memory. */ + export function and(ptr: usize, value: i64, immOffset?: usize): i64; + /** Atomically performs a bitwise OR operation on a 64-bit integer value in memory. */ + export function or(ptr: usize, value: i64, immOffset?: usize): i64; + /** Atomically performs a bitwise XOR operation on a 64-bit integer value in memory. */ + export function xor(ptr: usize, value: i64, immOffset?: usize): i64; + /** Atomically exchanges a 64-bit integer value in memory. */ + export function xchg(ptr: usize, value: i64, immOffset?: usize): i64; + /** Atomically compares and exchanges a 64-bit integer value in memory if the condition is met. */ + export function cmpxchg(ptr: usize, expected: i64, replacement: i64, immOffset?: usize): i64; + } + } +} +/** Converts any other numeric value to a 32-bit (in WASM32) respectivel 64-bit (in WASM64) signed integer. */ +declare let isize: typeof i32 | typeof i64; +/** Converts any other numeric value to an 8-bit unsigned integer. */ +declare function u8(value: any): u8; +declare namespace u8 { + /** Smallest representable value. */ + export const MIN_VALUE: u8; + /** Largest representable value. */ + export const MAX_VALUE: u8; + /** Parses a string as an u8. */ + export function parse(value: string, radix?: i32): u8; +} +/** Converts any other numeric value to a 16-bit unsigned integer. */ +declare function u16(value: any): u16; +declare namespace u16 { + /** Smallest representable value. */ + export const MIN_VALUE: u16; + /** Largest representable value. */ + export const MAX_VALUE: u16; + /** Parses a string as an u16. */ + export function parse(value: string, radix?: i32): u16; +} +/** Converts any other numeric value to a 32-bit unsigned integer. */ +declare function u32(value: any): u32; +declare namespace u32 { + /** Smallest representable value. */ + export const MIN_VALUE: u32; + /** Largest representable value. */ + export const MAX_VALUE: u32; + /** Parses a string as an u32. */ + export function parse(value: string, radix?: i32): u32; +} +/** Converts any other numeric value to a 64-bit unsigned integer. */ +declare function u64(value: any): u64; +declare namespace u64 { + /** Smallest representable value. */ + export const MIN_VALUE: u64; + /** Largest representable value. */ + export const MAX_VALUE: u64; + /** Parses a string as an u64. */ + export function parse(value: string, radix?: i32): u64; +} +/** Converts any other numeric value to a 32-bit (in WASM32) respectivel 64-bit (in WASM64) unsigned integer. */ +declare let usize: typeof u32 | typeof u64; +/** Converts any other numeric value to a 1-bit unsigned integer. */ +declare function bool(value: any): bool; +declare namespace bool { + /** Smallest representable value. */ + export const MIN_VALUE: bool; + /** Largest representable value. */ + export const MAX_VALUE: bool; + /** Parses a string as a bool. */ + export function parse(value: string): bool; +} +/** Converts any other numeric value to a 32-bit float. */ +declare function f32(value: any): f32; +declare namespace f32 { + /** Smallest representable value. */ + export const MIN_VALUE: f32; + /** Largest representable value. */ + export const MAX_VALUE: f32; + /** Smallest normalized positive value. */ + export const MIN_NORMAL_VALUE: f32; + /** Smallest safely representable integer value. */ + export const MIN_SAFE_INTEGER: f32; + /** Largest safely representable integer value. */ + export const MAX_SAFE_INTEGER: f32; + /** Positive infinity value. */ + export const POSITIVE_INFINITY: f32; + /** Negative infinity value. */ + export const NEGATIVE_INFINITY: f32; + /** Not a number value. */ + export const NaN: f32; + /** Difference between 1 and the smallest representable value greater than 1. */ + export const EPSILON: f32; + /** Parses a string as an f32. */ + export function parse(value: string): f32; + /** Loads a 32-bit float from memory. */ + export function load(ptr: usize, immOffset?: usize, immAlign?: usize): f32; + /** Stores a 32-bit float to memory. */ + export function store(ptr: usize, value: f32, immOffset?: usize, immAlign?: usize): void; + /** Computes the sum of two 32-bit floats. */ + export function add(left: f32, right: f32): f32; + /** Computes the difference of two 32-bit floats. */ + export function sub(left: f32, right: f32): f32; + /** Computes the product of two 32-bit floats. */ + export function mul(left: f32, right: f32): f32; + /** Computes the quotient of two 32-bit floats. */ + export function div(left: f32, right: f32): f32; + /** Return 1 two 32-bit floats are equal to each other, 0 otherwise. */ + export function eq(left: f32, right: f32): i32; + /** Return 0 two 32-bit floats are equal to each other, 1 otherwise. */ + export function ne(left: f32, right: f32): i32; + /** Computes the absolute value of a 32-bit float. */ + export function abs(value: f32): f32; + /** Determines the maximum of two 32-bit floats. If either operand is \`NaN\`, returns \`NaN\`. */ + export function max(left: f32, right: f32): f32; + /** Determines the minimum of two 32-bit floats. If either operand is \`NaN\`, returns \`NaN\`. */ + export function min(left: f32, right: f32): f32; + /** Performs the ceiling operation on a 32-bit float. */ + export function ceil(value: f32): f32; + /** Composes a 32-bit float from the magnitude of \`x\` and the sign of \`y\`. */ + export function copysign(x: f32, y: f32): f32; + /** Performs the floor operation on a 32-bit float. */ + export function floor(value: f32): f32; + /** Rounds to the nearest integer tied to even of a 32-bit float. */ + export function nearest(value: f32): f32; + /** Reinterprets the bits of the specified 32-bit integer as a 32-bit float. */ + export function reinterpret_i32(value: i32): f32; + /** Calculates the square root of a 32-bit float. */ + export function sqrt(value: f32): f32; + /** Rounds to the nearest integer towards zero of a 32-bit float. */ + export function trunc(value: f32): f32; +} +/** Converts any other numeric value to a 64-bit float. */ +declare function f64(value: any): f64; +declare namespace f64 { + /** Smallest representable value. */ + export const MIN_VALUE: f64; + /** Largest representable value. */ + export const MAX_VALUE: f64; + /** Smallest normalized positive value. */ + export const MIN_NORMAL_VALUE: f64; + /** Smallest safely representable integer value. */ + export const MIN_SAFE_INTEGER: f64; + /** Largest safely representable integer value. */ + export const MAX_SAFE_INTEGER: f64; + /** Positive infinity value. */ + export const POSITIVE_INFINITY: f64; + /** Negative infinity value. */ + export const NEGATIVE_INFINITY: f64; + /** Not a number value. */ + export const NaN: f64; + /** Difference between 1 and the smallest representable value greater than 1. */ + export const EPSILON: f64; + /** Parses a string as an f64. */ + export function parse(value: string): f64; + /** Loads a 64-bit float from memory. */ + export function load(ptr: usize, immOffset?: usize, immAlign?: usize): f64; + /** Stores a 64-bit float to memory. */ + export function store(ptr: usize, value: f64, immOffset?: usize, immAlign?: usize): void; + /** Computes the sum of two 64-bit floats. */ + export function add(left: f64, right: f64): f64; + /** Computes the difference of two 64-bit floats. */ + export function sub(left: f64, right: f64): f64; + /** Computes the product of two 64-bit floats. */ + export function mul(left: f64, right: f64): f64; + /** Computes the quotient of two 64-bit floats. */ + export function div(left: f64, right: f64): f64; + /** Return 1 two 64-bit floats are equal to each other, 0 otherwise. */ + export function eq(left: f64, right: f64): i32; + /** Return 0 two 32-bit floats are equal to each other, 1 otherwise. */ + export function ne(left: f64, right: f64): i32; + /** Computes the absolute value of a 64-bit float. */ + export function abs(value: f64): f64; + /** Determines the maximum of two 64-bit floats. If either operand is \`NaN\`, returns \`NaN\`. */ + export function max(left: f64, right: f64): f64; + /** Determines the minimum of two 64-bit floats. If either operand is \`NaN\`, returns \`NaN\`. */ + export function min(left: f64, right: f64): f64; + /** Performs the ceiling operation on a 64-bit float. */ + export function ceil(value: f64): f64; + /** Composes a 64-bit float from the magnitude of \`x\` and the sign of \`y\`. */ + export function copysign(x: f64, y: f64): f64; + /** Performs the floor operation on a 64-bit float. */ + export function floor(value: f64): f64; + /** Rounds to the nearest integer tied to even of a 64-bit float. */ + export function nearest(value: f64): f64; + /** Reinterprets the bits of the specified 64-bit integer as a 64-bit float. */ + export function reinterpret_i64(value: i64): f64; + /** Calculates the square root of a 64-bit float. */ + export function sqrt(value: f64): f64; + /** Rounds to the nearest integer towards zero of a 64-bit float. */ + export function trunc(value: f64): f64; +} +/** Initializes a 128-bit vector from sixteen 8-bit integer values. Arguments must be compile-time constants. */ +declare function v128(a: i8, b: i8, c: i8, d: i8, e: i8, f: i8, g: i8, h: i8, i: i8, j: i8, k: i8, l: i8, m: i8, n: i8, o: i8, p: i8): v128; +declare namespace v128 { + /** Creates a vector with identical lanes. */ + export function splat(x: T): v128; + /** Extracts one lane as a scalar. */ + export function extract_lane(x: v128, idx: u8): T; + /** Replaces one lane. */ + export function replace_lane(x: v128, idx: u8, value: T): v128; + /** Selects lanes from either vector according to the specified lane indexes. */ + export function shuffle(a: v128, b: v128, ...lanes: u8[]): v128; + /** Selects 8-bit lanes from the first vector according to the indexes [0-15] specified by the 8-bit lanes of the second vector. */ + export function swizzle(a: v128, s: v128): v128; + /** Loads a vector from memory. */ + export function load(ptr: usize, immOffset?: usize, immAlign?: usize): v128; + /** Creates a vector by loading the lanes of the specified type and extending each to the next larger type. */ + export function load_ext(ptr: usize, immOffset?: usize, immAlign?: usize): v128; + /** Creates a vector by loading a value of the specified type into the lowest bits and initializing all other bits of the vector to zero. */ + export function load_zero(ptr: usize, immOffset?: usize, immAlign?: usize): v128; + /** Loads a single lane from memory into the specified lane of the given vector. Other lanes are bypassed as is. */ + export function load_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): v128; + /** Stores the single lane at the specified index of the given vector to memory. */ + export function store_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): void; + /** Creates a vector with eight 16-bit integer lanes by loading and sign extending eight 8-bit integers. */ + export function load8x8_s(ptr: usize, immOffset?: u32, immAlign?: u32): v128; + /** Creates a vector with eight 16-bit integer lanes by loading and zero extending eight 8-bit integers. */ + export function load8x8_u(ptr: usize, immOffset?: u32, immAlign?: u32): v128; + /** Creates a vector with four 32-bit integer lanes by loading and sign extending four 16-bit integers. */ + export function load16x4_s(ptr: usize, immOffset?: u32, immAlign?: u32): v128; + /** Creates a vector with four 32-bit integer lanes by loading and zero extending four 16-bit integers. */ + export function load16x4_u(ptr: usize, immOffset?: u32, immAlign?: u32): v128; + /** Creates a vector with two 64-bit integer lanes by loading and sign extending two 32-bit integers. */ + export function load32x2_s(ptr: usize, immOffset?: u32, immAlign?: u32): v128; + /** Creates a vector with two 64-bit integer lanes by loading and zero extending two 32-bit integers. */ + export function load32x2_u(ptr: usize, immOffset?: u32, immAlign?: u32): v128; + /** Creates a vector with identical lanes by loading the splatted value. */ + export function load_splat(ptr: usize, immOffset?: usize, immAlign?: usize): v128; + /** Loads an 8-bit integer and splats it sixteen times forming a new vector. */ + export function load8_splat(ptr: usize, immOffset?: usize, immAlign?: usize): v128; + /** Loads a 16-bit integer and splats it eight times forming a new vector. */ + export function load16_splat(ptr: usize, immOffset?: usize, immAlign?: usize): v128; + /** Loads a 32-bit integer and splats it four times forming a new vector. */ + export function load32_splat(ptr: usize, immOffset?: usize, immAlign?: usize): v128; + /** Loads a 64-bit integer and splats it two times forming a new vector. */ + export function load64_splat(ptr: usize, immOffset?: usize, immAlign?: usize): v128; + /** Creates a vector by loading a 32-bit value into the lowest bits and initializing all other bits of the vector to zero. */ + export function load32_zero(ptr: usize, immOffset?: usize, immAlign?: usize): v128; + /** Creates a vector by loading a 64-bit value into the lowest bits and initializing all other bits of the vector to zero. */ + export function load64_zero(ptr: usize, immOffset?: usize, immAlign?: usize): v128; + /** Loads a single 8-bit lane from memory into the specified lane of the given vector. Other lanes are bypassed as is. */ + export function load8_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): v128; + /** Loads a single 16-bit lane from memory into the specified lane of the given vector. Other lanes are bypassed as is. */ + export function load16_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): v128; + /** Loads a single 32-bit lane from memory into the specified lane of the given vector. Other lanes are bypassed as is. */ + export function load32_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): v128; + /** Loads a single 64-bit lane from memory into the specified lane of the given vector. Other lanes are bypassed as is. */ + export function load64_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): v128; + /** Stores the 8-bit lane at the specified lane of the given vector to memory. */ + export function store8_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): void; + /** Stores the 16-bit lane at the specified lane of the given vector to memory. */ + export function store16_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): void; + /** Stores the 32-bit lane at the specified lane of the given vector to memory. */ + export function store32_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): void; + /** Stores the 64-bit lane at the specified lane of the given vector to memory. */ + export function store64_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): void; + /** Stores a vector to memory. */ + export function store(ptr: usize, value: v128, immOffset?: usize, immAlign?: usize): void; + /** Adds each lane. */ + export function add(a: v128, b: v128): v128; + /** Subtracts each lane. */ + export function sub(a: v128, b: v128): v128; + /** Multiplies each lane. */ + export function mul(a: v128, b: v128): v128; // except i64 + /** Divides each lane. */ + export function div(a: v128, b: v128): v128; + /** Negates each lane of a vector. */ + export function neg(a: v128): v128; + /** Adds each lane using saturation. */ + export function add_sat(a: v128, b: v128): v128; + /** Subtracts each lane using saturation. */ + export function sub_sat(a: v128, b: v128): v128; + /** Performs a bitwise left shift on each lane of a vector by a scalar. */ + export function shl(a: v128, b: i32): v128; + /** Performs a bitwise right shift on each lane of a vector by a scalar. */ + export function shr(a: v128, b: i32): v128; + /** Performs the bitwise AND operation on two vectors. */ + export function and(a: v128, b: v128): v128; + /** Performs the bitwise OR operation on two vectors. */ + export function or(a: v128, b: v128): v128; + /** Performs the bitwise XOR operation on two vectors. */ + export function xor(a: v128, b: v128): v128; + /** Performs the bitwise ANDNOT operation on two vectors. */ + export function andnot(a: v128, b: v128): v128; + /** Performs the bitwise NOT operation on a vector. */ + export function not(a: v128): v128; + /** Selects bits of either vector according to the specified mask. Selects from \`v1\` if the bit in \`mask\` is \`1\`, otherwise from \`v2\`. */ + export function bitselect(v1: v128, v2: v128, mask: v128): v128; + /** Reduces a vector to a scalar indicating whether any lane is considered \`true\`. */ + export function any_true(a: v128): bool; + /** Reduces a vector to a scalar indicating whether all lanes are considered \`true\`. */ + export function all_true(a: v128): bool; + /** Extracts the high bit of each lane and produces a scalar mask with all bits concatenated. */ + export function bitmask(a: v128): i32; + /** Counts the number of bits set to one within each lane. */ + export function popcnt(a: v128): v128; + /** Computes the minimum of each lane. */ + export function min(a: v128, b: v128): v128; + /** Computes the maximum of each lane. */ + export function max(a: v128, b: v128): v128; + /** Computes the pseudo-minimum of each lane. */ + export function pmin(a: v128, b: v128): v128; + /** Computes the pseudo-maximum of each lane. */ + export function pmax(a: v128, b: v128): v128; + /** Computes the dot product of two lanes each, yielding lanes one size wider than the input. */ + export function dot(a: v128, b: v128): v128; + /** Computes the average of each lane. */ + export function avgr(a: v128, b: v128): v128; + /** Computes the absolute value of each lane. */ + export function abs(a: v128): v128; + /** Computes the square root of each lane. */ + export function sqrt(a: v128): v128; + /** Performs the ceiling operation on each lane. */ + export function ceil(a: v128): v128; + /** Performs the floor operation on each lane. */ + export function floor(a: v128): v128; + /** Rounds to the nearest integer towards zero of each lane. */ + export function trunc(a: v128): v128; + /** Rounds to the nearest integer tied to even of each lane. */ + export function nearest(a: v128): v128; + /** Computes which lanes are equal. */ + export function eq(a: v128, b: v128): v128; + /** Computes which lanes are not equal. */ + export function ne(a: v128, b: v128): v128; + /** Computes which lanes of the first vector are less than those of the second. */ + export function lt(a: v128, b: v128): v128; + /** Computes which lanes of the first vector are less than or equal those of the second. */ + export function le(a: v128, b: v128): v128; + /** Computes which lanes of the first vector are greater than those of the second. */ + export function gt(a: v128, b: v128): v128; + /** Computes which lanes of the first vector are greater than or equal those of the second. */ + export function ge(a: v128, b: v128): v128; + /** Converts each lane of a vector from integer to single-precision floating point. */ + export function convert(a: v128): v128; + /** Converts the low lanes of a vector from integer to double-precision floating point. */ + export function convert_low(a: v128): v128; + /** Truncates each lane of a vector from single-precision floating point to integer with saturation. Takes the target type. */ + export function trunc_sat(a: v128): v128; + /** Truncates each lane of a vector from double-precision floating point to integer with saturation. Takes the target type. */ + export function trunc_sat_zero(a: v128): v128; + /** Narrows each lane to their respective narrower lanes. */ + export function narrow(a: v128, b: v128): v128; + /** Extends the low lanes of a vector to their respective wider lanes. */ + export function extend_low(a: v128): v128; + /** Extends the high lanes of a vector to their respective wider lanes. */ + export function extend_high(a: v128): v128; + /** Adds lanes pairwise producing twice wider extended results. */ + export function extadd_pairwise(a: v128): v128; + /** Demotes each float lane to lower precision. The higher lanes of the result are initialized to zero. */ + export function demote_zero(a: v128): v128; + /** Promotes the lower float lanes to higher precision. */ + export function promote_low(a: v128): v128; + /** Performs the line-wise saturating rounding multiplication in Q15 format (\`(a[i] * b[i] + (1 << (Q - 1))) >> Q\` where \`Q=15\`). */ + export function q15mulr_sat(a: v128, b: v128): v128; + /** Performs the lane-wise integer extended multiplication of the lower lanes producing a twice wider result than the inputs. */ + export function extmul_low(a: v128, b: v128): v128; + /** Performs the lane-wise integer extended multiplication of the higher lanes producing a twice wider result than the inputs. */ + export function extmul_high(a: v128, b: v128): v128; + /** + * Selects 8-bit lanes from \`a\` using indices in \`s\`. Indices in the range [0-15] select the i-th element of \`a\`. + * + * Unlike {@link v128.swizzle}, the result of an out of bounds index is implementation-defined, depending on hardware + * capabilities: Either \`0\` or \`a[s[i]%16]\`. + */ + export function relaxed_swizzle(a: v128, s: v128): v128; + /** + * Truncates each lane of a vector from 32-bit floating point to a 32-bit signed or unsigned integer as indicated by + * \`T\`. + * + * Unlike {@link v128.trunc_sat}, the result of lanes out of bounds of the target type is implementation defined, + * depending on hardware capabilities: + * - If the input lane contains \`NaN\`, the result is either \`0\` or the respective maximum integer value. + * - If the input lane contains a value otherwise out of bounds of the target type, the result is either the + * saturatated result or maximum integer value. + */ + export function relaxed_trunc(a: v128): v128; + /** + * Truncates each lane of a vector from 64-bit floating point to a 32-bit signed or unsigned integer as indicated by + * \`T\`. Unused higher integer lanes of the result are initialized to zero. + * + * Unlike {@link v128.trunc_sat_zero}, the result of lanes out of bounds of the target type is implementation defined, + * depending on hardware capabilities: + * - If the input lane contains \`NaN\`, the result is either \`0\` or the respective maximum integer value. + * - If the input lane contains a value otherwise out of bounds of the target type, the result is either the + * saturatated result or maximum integer value. + */ + export function relaxed_trunc_zero(a: v128): v128; + /** + * Performs the fused multiply-add operation (\`a * b + c\`) on 32- or 64-bit floating point lanes as indicated by + * \`T\`. + * + * The result is implementation defined, depending on hardware capabilities: + * - Either \`a * b\` is rounded once and the final result rounded again, or + * - The expression is evaluated with higher precision and only rounded once + */ + export function relaxed_madd(a: v128, b: v128, c: v128): v128; + /** + * Performs the fused negative multiply-add operation (\`-(a * b) + c\`) on 32- or 64-bit floating point lanes as + * indicated by \`T\`. + * + * The result is implementation defined, depending on hardware capabilities: + * - Either \`a * b\` is rounded once and the final result rounded again, or + * - The expression is evaluated with higher precision and only rounded once + */ + export function relaxed_nmadd(a: v128, b: v128, c: v128): v128; + /** + * Selects 8-, 16-, 32- or 64-bit integer lanes as indicated by \`T\` from \`a\` or \`b\` based on masks in \`m\`. + * + * Behaves like {@link v128.bitselect} if masks in \`m\` do have all bits either set (result is \`a[i]\`) or unset (result + * is \`b[i]\`). Otherwise the result is implementation-defined, depending on hardware capabilities: If the most + * significant bit of \`m\` is set, the result is either \`bitselect(a[i], b[i], mask)\` or \`a[i]\`, otherwise the result + * is \`b[i]\`. + */ + export function relaxed_laneselect(a: v128, b: v128, m: v128): v128; + /** + * Computes the minimum of each 32- or 64-bit floating point lane as indicated by \`T\`. + * + * Unlike {@link v128.min}, the result is implementation-defined if either value is \`NaN\` or both are \`-0.0\` and + * \`+0.0\`, depending on hardware capabilities: Either \`a[i]\` or \`b[i]\`. + */ + export function relaxed_min(a: v128, b: v128): v128; + /** + * Computes the maximum of each 32- or 64-bit floating point lane as indicated by \`T\`. + * + * Unlike {@link v128.max}, the result is implementation-defined if either value is \`NaN\` or both are \`-0.0\` and + * \`+0.0\`, depending on hardware capabilities: Either \`a[i]\` or \`b[i]\`. + */ + export function relaxed_max(a: v128, b: v128): v128; + /** + * Performs the lane-wise rounding multiplication in Q15 format (\`(a[i] * b[i] + (1 << (Q - 1))) >> Q\` where \`Q=15\`). + * + * Unlike {@link v128.q15mulr_sat}, the result is implementation-defined if both inputs are the minimum signed value: + * Either the minimum or maximum signed value. + */ + export function relaxed_q15mulr(a: v128, b: v128): v128; + /** + * Computes the dot product of two 8-bit integer lanes each, yielding lanes one size wider than the input. + * + * Unlike {@link v128.dot}, if the most significant bit of \`b[i]\` is set, whether \`b[i]\` is interpreted as signed or + * unsigned is implementation-defined. + */ + export function relaxed_dot(a: v128, b: v128): v128; + /** + * Computes the dot product of two 8-bit integer lanes each, yielding lanes two sizes wider than the input with the + * lanes of \`c\` accumulated into the result. + * + * Unlike {@link v128.dot}, if the most significant bit of \`b[i]\` is set, whether \`b[i]\` is interpreted as signed or + * unsigned by the intermediate multiplication is implementation-defined. + */ + export function relaxed_dot_add(a: v128, b: v128, c: v128): v128; +} +/** Initializes a 128-bit vector from sixteen 8-bit integer values. Arguments must be compile-time constants. */ +declare function i8x16(a: i8, b: i8, c: i8, d: i8, e: i8, f: i8, g: i8, h: i8, i: i8, j: i8, k: i8, l: i8, m: i8, n: i8, o: i8, p: i8): v128; +declare namespace i8x16 { + /** Creates a vector with sixteen identical 8-bit integer lanes. */ + export function splat(x: i8): v128; + /** Extracts one 8-bit integer lane as a signed scalar. */ + export function extract_lane_s(x: v128, idx: u8): i8; + /** Extracts one 8-bit integer lane as an unsigned scalar. */ + export function extract_lane_u(x: v128, idx: u8): u8; + /** Replaces one 8-bit integer lane. */ + export function replace_lane(x: v128, idx: u8, value: i8): v128; + /** Adds each 8-bit integer lane. */ + export function add(a: v128, b: v128): v128; + /** Subtracts each 8-bit integer lane. */ + export function sub(a: v128, b: v128): v128; + /** Computes the signed minimum of each 8-bit integer lane. */ + export function min_s(a: v128, b: v128): v128; + /** Computes the unsigned minimum of each 8-bit integer lane. */ + export function min_u(a: v128, b: v128): v128; + /** Computes the signed maximum of each 8-bit integer lane. */ + export function max_s(a: v128, b: v128): v128; + /** Computes the unsigned maximum of each 8-bit integer lane. */ + export function max_u(a: v128, b: v128): v128; + /** Computes the unsigned average of each 8-bit integer lane. */ + export function avgr_u(a: v128, b: v128): v128; + /** Computes the absolute value of each 8-bit integer lane. */ + export function abs(a: v128): v128; + /** Negates each 8-bit integer lane. */ + export function neg(a: v128): v128; + /** Adds each 8-bit integer lane using signed saturation. */ + export function add_sat_s(a: v128, b: v128): v128; + /** Adds each 8-bit integer lane using unsigned saturation. */ + export function add_sat_u(a: v128, b: v128): v128; + /** Subtracts each 8-bit integer lane using signed saturation. */ + export function sub_sat_s(a: v128, b: v128): v128; + /** Subtracts each 8-bit integer lane using unsigned saturation. */ + export function sub_sat_u(a: v128, b: v128): v128; + /** Performs a bitwise left shift on each 8-bit integer lane by a scalar. */ + export function shl(a: v128, b: i32): v128; + /** Performs a bitwise arithmetic right shift on each 8-bit integer lane by a scalar. */ + export function shr_s(a: v128, b: i32): v128; + /** Performs a bitwise logical right shift on each 8-bit integer lane by a scalar. */ + export function shr_u(a: v128, b: i32): v128; + /** Reduces a vector to a scalar indicating whether all 8-bit integer lanes are considered \`true\`. */ + export function all_true(a: v128): bool; + /** Extracts the high bit of each 8-bit integer lane and produces a scalar mask with all bits concatenated. */ + export function bitmask(a: v128): i32; + /** Counts the number of bits set to one within each 8-bit integer lane. */ + export function popcnt(a: v128): v128; + /** Computes which 8-bit integer lanes are equal. */ + export function eq(a: v128, b: v128): v128; + /** Computes which 8-bit integer lanes are not equal. */ + export function ne(a: v128, b: v128): v128; + /** Computes which 8-bit signed integer lanes of the first vector are less than those of the second. */ + export function lt_s(a: v128, b: v128): v128; + /** Computes which 8-bit unsigned integer lanes of the first vector are less than those of the second. */ + export function lt_u(a: v128, b: v128): v128; + /** Computes which 8-bit signed integer lanes of the first vector are less than or equal those of the second. */ + export function le_s(a: v128, b: v128): v128; + /** Computes which 8-bit unsigned integer lanes of the first vector are less than or equal those of the second. */ + export function le_u(a: v128, b: v128): v128; + /** Computes which 8-bit signed integer lanes of the first vector are greater than those of the second. */ + export function gt_s(a: v128, b: v128): v128; + /** Computes which 8-bit unsigned integer lanes of the first vector are greater than those of the second. */ + export function gt_u(a: v128, b: v128): v128; + /** Computes which 8-bit signed integer lanes of the first vector are greater than or equal those of the second. */ + export function ge_s(a: v128, b: v128): v128; + /** Computes which 8-bit unsigned integer lanes of the first vector are greater than or equal those of the second. */ + export function ge_u(a: v128, b: v128): v128; + /** Narrows each 16-bit signed integer lane to 8-bit signed integer lanes. */ + export function narrow_i16x8_s(a: v128, b: v128): v128; + /** Narrows each 16-bit signed integer lane to 8-bit unsigned integer lanes. */ + export function narrow_i16x8_u(a: v128, b: v128): v128; + /** Selects 8-bit lanes from either vector according to the specified [0-15] respectively [16-31] lane indexes. */ + export function shuffle(a: v128, b: v128, l0: u8, l1: u8, l2: u8, l3: u8, l4: u8, l5: u8, l6: u8, l7: u8, l8: u8, l9: u8, l10: u8, l11: u8, l12: u8, l13: u8, l14: u8, l15: u8): v128; + /** Selects 8-bit lanes from the first vector according to the indexes [0-15] specified by the 8-bit lanes of the second vector. */ + export function swizzle(a: v128, s: v128): v128; + /** + * Selects 8-bit integer lanes from \`a\` using indices in \`s\`. Indices in the range [0-15] select the i-th element of + * \`a\`. + * + * Unlike {@link i8x16.swizzle}, the result of an out of bounds index is implementation-defined, depending on hardware + * capabilities: Either \`0\` or \`a[s[i]%16]\`. + */ + export function relaxed_swizzle(a: v128, s: v128): v128; + /** + * Selects 8-bit integer lanes from \`a\` or \`b\` based on masks in \`m\`. + * + * Behaves like {@link v128.bitselect} if masks in \`m\` do have all bits either set (result is \`a[i]\`) or unset (result + * is \`b[i]\`). Otherwise the result is implementation-defined, depending on hardware capabilities: If the most + * significant bit of \`m\` is set, the result is either \`bitselect(a[i], b[i], mask)\` or \`a[i]\`, otherwise the result + * is \`b[i]\`. + */ + export function relaxed_laneselect(a: v128, b: v128, m: v128): v128; +} +/** Initializes a 128-bit vector from eight 16-bit integer values. Arguments must be compile-time constants. */ +declare function i16x8(a: i16, b: i16, c: i16, d: i16, e: i16, f: i16, g: i16, h: i16): v128; +declare namespace i16x8 { + /** Creates a vector with eight identical 16-bit integer lanes. */ + export function splat(x: i16): v128; + /** Extracts one 16-bit integer lane as a signed scalar. */ + export function extract_lane_s(x: v128, idx: u8): i16; + /** Extracts one 16-bit integer lane as an unsigned scalar. */ + export function extract_lane_u(x: v128, idx: u8): u16; + /** Replaces one 16-bit integer lane. */ + export function replace_lane(x: v128, idx: u8, value: i16): v128; + /** Adds each 16-bit integer lane. */ + export function add(a: v128, b: v128): v128; + /** Subtracts each 16-bit integer lane. */ + export function sub(a: v128, b: v128): v128; + /** Multiplies each 16-bit integer lane. */ + export function mul(a: v128, b: v128): v128; + /** Computes the signed minimum of each 16-bit integer lane. */ + export function min_s(a: v128, b: v128): v128; + /** Computes the unsigned minimum of each 16-bit integer lane. */ + export function min_u(a: v128, b: v128): v128; + /** Computes the signed maximum of each 16-bit integer lane. */ + export function max_s(a: v128, b: v128): v128; + /** Computes the unsigned maximum of each 16-bit integer lane. */ + export function max_u(a: v128, b: v128): v128; + /** Computes the unsigned average of each 16-bit integer lane. */ + export function avgr_u(a: v128, b: v128): v128; + /** Computes the absolute value of each 16-bit integer lane. */ + export function abs(a: v128): v128; + /** Negates each 16-bit integer lane. */ + export function neg(a: v128): v128; + /** Adds each 16-bit integer lane using signed saturation. */ + export function add_sat_s(a: v128, b: v128): v128; + /** Adds each 16-bit integer lane using unsigned saturation. */ + export function add_sat_u(a: v128, b: v128): v128; + /** Subtracts each 16-bit integer lane using signed saturation. */ + export function sub_sat_s(a: v128, b: v128): v128; + /** Subtracts each 16-bit integer lane using unsigned saturation. */ + export function sub_sat_u(a: v128, b: v128): v128; + /** Performs a bitwise left shift on each 16-bit integer lane by a scalar. */ + export function shl(a: v128, b: i32): v128; + /** Performs a bitwise arithmetic right shift each 16-bit integer lane by a scalar. */ + export function shr_s(a: v128, b: i32): v128; + /** Performs a bitwise logical right shift on each 16-bit integer lane by a scalar. */ + export function shr_u(a: v128, b: i32): v128; + /** Reduces a vector to a scalar indicating whether all 16-bit integer lanes are considered \`true\`. */ + export function all_true(a: v128): bool; + /** Extracts the high bit of each 16-bit integer lane and produces a scalar mask with all bits concatenated. */ + export function bitmask(a: v128): i32; + /** Computes which 16-bit integer lanes are equal. */ + export function eq(a: v128, b: v128): v128; + /** Computes which 16-bit integer lanes are not equal. */ + export function ne(a: v128, b: v128): v128; + /** Computes which 16-bit signed integer lanes of the first vector are less than those of the second. */ + export function lt_s(a: v128, b: v128): v128; + /** Computes which 16-bit unsigned integer lanes of the first vector are less than those of the second. */ + export function lt_u(a: v128, b: v128): v128; + /** Computes which 16-bit signed integer lanes of the first vector are less than or equal those of the second. */ + export function le_s(a: v128, b: v128): v128; + /** Computes which 16-bit unsigned integer lanes of the first vector are less than or equal those of the second. */ + export function le_u(a: v128, b: v128): v128; + /** Computes which 16-bit signed integer lanes of the first vector are greater than those of the second. */ + export function gt_s(a: v128, b: v128): v128; + /** Computes which 16-bit unsigned integer lanes of the first vector are greater than those of the second. */ + export function gt_u(a: v128, b: v128): v128; + /** Computes which 16-bit signed integer lanes of the first vector are greater than or equal those of the second. */ + export function ge_s(a: v128, b: v128): v128; + /** Computes which 16-bit unsigned integer lanes of the first vector are greater than or equal those of the second. */ + export function ge_u(a: v128, b: v128): v128; + /** Narrows each 32-bit signed integer lane to 16-bit signed integer lanes. */ + export function narrow_i32x4_s(a: v128, b: v128): v128; + /** Narrows each 32-bit signed integer lane to 16-bit unsigned integer lanes. */ + export function narrow_i32x4_u(a: v128, b: v128): v128; + /** Extends the low 8-bit signed integer lanes to 16-bit signed integer lanes. */ + export function extend_low_i8x16_s(a: v128): v128; + /** Extends the low 8-bit unsigned integer lanes to 16-bit unsigned integer lanes. */ + export function extend_low_i8x16_u(a: v128): v128; + /** Extends the high 8-bit signed integer lanes to 16-bit signed integer lanes. */ + export function extend_high_i8x16_s(a: v128): v128; + /** Extends the high 8-bit unsigned integer lanes to 16-bit unsigned integer lanes. */ + export function extend_high_i8x16_u(a: v128): v128; + /** Adds the sixteen 8-bit signed integer lanes pairwise producing eight 16-bit signed integer results. */ + export function extadd_pairwise_i8x16_s(a: v128): v128; + /** Adds the sixteen 8-bit unsigned integer lanes pairwise producing eight 16-bit unsigned integer results. */ + export function extadd_pairwise_i8x16_u(a: v128): v128; + /** Performs the line-wise 16-bit signed integer saturating rounding multiplication in Q15 format. */ + export function q15mulr_sat_s(a: v128, b: v128): v128; + /** Performs the lane-wise 8-bit signed integer extended multiplication of the eight lower lanes producing twice wider 16-bit integer results. */ + export function extmul_low_i8x16_s(a: v128, b: v128): v128; + /** Performs the lane-wise 8-bit unsigned integer extended multiplication of the eight lower lanes producing twice wider 16-bit integer results. */ + export function extmul_low_i8x16_u(a: v128, b: v128): v128; + /** Performs the lane-wise 8-bit signed integer extended multiplication of the eight higher lanes producing twice wider 16-bit integer results. */ + export function extmul_high_i8x16_s(a: v128, b: v128): v128; + /** Performs the lane-wise 8-bit unsigned integer extended multiplication of the eight higher lanes producing twice wider 16-bit integer results. */ + export function extmul_high_i8x16_u(a: v128, b: v128): v128; + /** Selects 16-bit lanes from either vector according to the specified [0-7] respectively [8-15] lane indexes. */ + export function shuffle(a: v128, b: v128, l0: u8, l1: u8, l2: u8, l3: u8, l4: u8, l5: u8, l6: u8, l7: u8): v128; + /** + * Selects 16-bit integer lanes from \`a\` or \`b\` based on masks in \`m\`. + * + * Behaves like {@link v128.bitselect} if masks in \`m\` do have all bits either set (result is \`a[i]\`) or unset (result + * is \`b[i]\`). Otherwise the result is implementation-defined, depending on hardware capabilities: If the most + * significant bit of \`m\` is set, the result is either \`bitselect(a[i], b[i], mask)\` or \`a[i]\`, otherwise the result + * is \`b[i]\`. + */ + export function relaxed_laneselect(a: v128, b: v128, m: v128): v128; + /** + * Performs the line-wise rounding multiplication in Q15 format (\`(a[i] * b[i] + (1 << (Q - 1))) >> Q\` where \`Q=15\`). + * + * Some results are implementation-defined: If both inputs are \`i16.MIN_VALUE\`, the value of the respective + * resulting lane may be either \`i16.MIN_VALUE\` or \`i16.MAX_VALUE\`. + */ + export function relaxed_q15mulr_s(a: v128, b: v128): v128; + /** + * Computes the dot product of two 8-bit integer lanes each, yielding lanes one size wider than the input. + * + * Some results are implementation-defined: If the most significant bit of \`b[i]\` is set, the intermediate + * multiplication may interpret \`b[i]\` as either signed or unsigned. + */ + export function relaxed_dot_i8x16_i7x16_s(a: v128, b: v128): v128; +} +/** Initializes a 128-bit vector from four 32-bit integer values. Arguments must be compile-time constants. */ +declare function i32x4(a: i32, b: i32, c: i32, d: i32): v128; +declare namespace i32x4 { + /** Creates a vector with four identical 32-bit integer lanes. */ + export function splat(x: i32): v128; + /** Extracts one 32-bit integer lane as a scalar. */ + export function extract_lane(x: v128, idx: u8): i32; + /** Replaces one 32-bit integer lane. */ + export function replace_lane(x: v128, idx: u8, value: i32): v128; + /** Adds each 32-bit integer lane. */ + export function add(a: v128, b: v128): v128; + /** Subtracts each 32-bit integer lane. */ + export function sub(a: v128, b: v128): v128; + /** Multiplies each 32-bit integer lane. */ + export function mul(a: v128, b: v128): v128; + /** Computes the signed minimum of each 32-bit integer lane. */ + export function min_s(a: v128, b: v128): v128; + /** Computes the unsigned minimum of each 32-bit integer lane. */ + export function min_u(a: v128, b: v128): v128; + /** Computes the signed maximum of each 32-bit integer lane. */ + export function max_s(a: v128, b: v128): v128; + /** Computes the unsigned maximum of each 32-bit integer lane. */ + export function max_u(a: v128, b: v128): v128; + /** Computes the dot product of two 16-bit integer lanes each, yielding 32-bit integer lanes. */ + export function dot_i16x8_s(a: v128, b: v128): v128; + /** Computes the absolute value of each 32-bit integer lane. */ + export function abs(a: v128): v128; + /** Negates each 32-bit integer lane. */ + export function neg(a: v128): v128; + /** Performs a bitwise left shift on each 32-bit integer lane by a scalar. */ + export function shl(a: v128, b: i32): v128; + /** Performs a bitwise arithmetic right shift on each 32-bit integer lane by a scalar. */ + export function shr_s(a: v128, b: i32): v128; + /** Performs a bitwise logical right shift on each 32-bit integer lane by a scalar. */ + export function shr_u(a: v128, b: i32): v128; + /** Reduces a vector to a scalar indicating whether all 32-bit integer lanes are considered \`true\`. */ + export function all_true(a: v128): bool; + /** Extracts the high bit of each 32-bit integer lane and produces a scalar mask with all bits concatenated. */ + export function bitmask(a: v128): i32; + /** Computes which 32-bit integer lanes are equal. */ + export function eq(a: v128, b: v128): v128; + /** Computes which 32-bit integer lanes are not equal. */ + export function ne(a: v128, b: v128): v128; + /** Computes which 32-bit signed integer lanes of the first vector are less than those of the second. */ + export function lt_s(a: v128, b: v128): v128; + /** Computes which 32-bit unsigned integer lanes of the first vector are less than those of the second. */ + export function lt_u(a: v128, b: v128): v128; + /** Computes which 32-bit signed integer lanes of the first vector are less than or equal those of the second. */ + export function le_s(a: v128, b: v128): v128; + /** Computes which 32-bit unsigned integer lanes of the first vector are less than or equal those of the second. */ + export function le_u(a: v128, b: v128): v128; + /** Computes which 32-bit signed integer lanes of the first vector are greater than those of the second. */ + export function gt_s(a: v128, b: v128): v128; + /** Computes which 32-bit unsigned integer lanes of the first vector are greater than those of the second. */ + export function gt_u(a: v128, b: v128): v128; + /** Computes which 32-bit signed integer lanes of the first vector are greater than or equal those of the second. */ + export function ge_s(a: v128, b: v128): v128; + /** Computes which 32-bit unsigned integer lanes of the first vector are greater than or equal those of the second. */ + export function ge_u(a: v128, b: v128): v128; + /** Truncates each 32-bit float lane to a signed integer with saturation. */ + export function trunc_sat_f32x4_s(a: v128): v128; + /** Truncates each 32-bit float lane to an unsigned integer with saturation. */ + export function trunc_sat_f32x4_u(a: v128): v128; + /** Truncates the two 64-bit float lanes to the two lower signed integer lanes with saturation. The two higher integer lanes of the result are initialized to zero. */ + export function trunc_sat_f64x2_s_zero(a: v128): v128; + /** Truncates the two 64-bit float lanes to the two lower unsigned integer lanes with saturation. The two higher integer lanes of the result are initialized to zero. */ + export function trunc_sat_f64x2_u_zero(a: v128): v128; + /** Extends the low 16-bit signed integer lanes to 32-bit signed integer lanes. */ + export function extend_low_i16x8_s(a: v128): v128; + /** Extends the low 16-bit unsigned integer lane to 32-bit unsigned integer lanes. */ + export function extend_low_i16x8_u(a: v128): v128; + /** Extends the high 16-bit signed integer lanes to 32-bit signed integer lanes. */ + export function extend_high_i16x8_s(a: v128): v128; + /** Extends the high 16-bit unsigned integer lanes to 32-bit unsigned integer lanes. */ + export function extend_high_i16x8_u(a: v128): v128; + /** Adds the eight 16-bit signed integer lanes pairwise producing four 32-bit signed integer results. */ + export function extadd_pairwise_i16x8_s(a: v128): v128; + /** Adds the eight 16-bit unsigned integer lanes pairwise producing four 32-bit unsigned integer results. */ + export function extadd_pairwise_i16x8_u(a: v128): v128; + /** Performs the lane-wise 16-bit signed integer extended multiplication of the four lower lanes producing twice wider 32-bit integer results. */ + export function extmul_low_i16x8_s(a: v128, b: v128): v128; + /** Performs the lane-wise 16-bit unsigned integer extended multiplication of the four lower lanes producing twice wider 32-bit integer results. */ + export function extmul_low_i16x8_u(a: v128, b: v128): v128; + /** Performs the lane-wise 16-bit signed integer extended multiplication of the four higher lanes producing twice wider 32-bit integer results. */ + export function extmul_high_i16x8_s(a: v128, b: v128): v128; + /** Performs the lane-wise 16-bit unsigned integer extended multiplication of the four higher lanes producing twice wider 32-bit integer results. */ + export function extmul_high_i16x8_u(a: v128, b: v128): v128; + /** Selects 32-bit lanes from either vector according to the specified [0-3] respectively [4-7] lane indexes. */ + export function shuffle(a: v128, b: v128, l0: u8, l1: u8, l2: u8, l3: u8): v128; + /** + * Truncates each lane of a vector from 32-bit floating point to a signed 32-bit integer. + * + * Unlike {@link i32x4.trunc_sat_f32x4_s}, the result of lanes out of bounds of the target type is implementation + * defined, depending on hardware capabilities: + * - If the input lane contains \`NaN\`, the result is either \`0\` or the respective maximum integer value. + * - If the input lane contains a value otherwise out of bounds of the target type, the result is either the + * saturatated result or maximum integer value. + */ + export function relaxed_trunc_f32x4_s(a: v128): v128; + /** + * Truncates each lane of a vector from 32-bit floating point to an unsigned 32-bit integer. + * + * Unlike {@link i32x4.trunc_sat_f32x4_u}, the result of lanes out of bounds of the target type is implementation + * defined, depending on hardware capabilities: + * - If the input lane contains \`NaN\`, the result is either \`0\` or the respective maximum integer value. + * - If the input lane contains a value otherwise out of bounds of the target type, the result is either the + * saturatated result or maximum integer value. + */ + export function relaxed_trunc_f32x4_u(a: v128): v128; + /** + * Truncates each lane of a vector from 64-bit floating point to a signed 32-bit integer. The two higher + * integer lanes of the result are initialized to zero. + * + * Unlike {@link i32x4.trunc_sat_f64x2_s_zero}, the result of lanes out of bounds of the target type is implementation + * defined, depending on hardware capabilities: + * - If the input lane contains \`NaN\`, the result is either \`0\` or the respective maximum integer value. + * - If the input lane contains a value otherwise out of bounds of the target type, the result is either the + * saturatated result or maximum integer value. + */ + export function relaxed_trunc_f64x2_s_zero(a: v128): v128; + /** + * Truncates each lane of a vector from 64-bit floating point to an unsigned 32-bit integer. The two higher + * integer lanes of the result are initialized to zero. + * + * Unlike {@link i32x4.trunc_sat_f64x2_u_zero}, the result of lanes out of bounds of the target type is implementation + * defined, depending on hardware capabilities: + * - If the input lane contains \`NaN\`, the result is either \`0\` or the respective maximum integer value. + * - If the input lane contains a value otherwise out of bounds of the target type, the result is either the + * saturatated result or maximum integer value. + */ + export function relaxed_trunc_f64x2_u_zero(a: v128): v128; + /** + * Selects 32-bit integer lanes from \`a\` or \`b\` based on masks in \`m\`. + * + * Behaves like {@link v128.bitselect} if masks in \`m\` do have all bits either set (result is \`a[i]\`) or unset (result + * is \`b[i]\`). Otherwise the result is implementation-defined, depending on hardware capabilities: If the most + * significant bit of \`m\` is set, the result is either \`bitselect(a[i], b[i], mask)\` or \`a[i]\`, otherwise the result + * is \`b[i]\`. + */ + export function relaxed_laneselect(a: v128, b: v128, m: v128): v128; + /** + * Computes the dot product of two 8-bit lanes each, yielding lanes two sizes wider than the input with the lanes of + * \`c\` accumulated into the result. + * + * Unlike {@link v128.dot}, if the most significant bit of \`b[i]\` is set, whether \`b[i]\` is interpreted as signed or + * unsigned by the intermediate multiplication is implementation-defined. + */ + export function relaxed_dot_i8x16_i7x16_add_s(a: v128, b: v128, c: v128): v128; +} +/** Initializes a 128-bit vector from two 64-bit integer values. Arguments must be compile-time constants. */ +declare function i64x2(a: i64, b: i64): v128; +declare namespace i64x2 { + /** Creates a vector with two identical 64-bit integer lanes. */ + export function splat(x: i64): v128; + /** Extracts one 64-bit integer lane as a scalar. */ + export function extract_lane(x: v128, idx: u8): i64; + /** Replaces one 64-bit integer lane. */ + export function replace_lane(x: v128, idx: u8, value: i64): v128; + /** Adds each 64-bit integer lane. */ + export function add(a: v128, b: v128): v128; + /** Subtracts each 64-bit integer lane. */ + export function sub(a: v128, b: v128): v128; + /** Multiplies each 64-bit integer lane. */ + export function mul(a: v128, b: v128): v128; + /** Computes the absolute value of each 64-bit integer lane. */ + export function abs(a: v128): v128; + /** Negates each 64-bit integer lane. */ + export function neg(a: v128): v128; + /** Performs a bitwise left shift on each 64-bit integer lane by a scalar. */ + export function shl(a: v128, b: i32): v128; + /** Performs a bitwise arithmetic right shift on each 64-bit integer lane by a scalar. */ + export function shr_s(a: v128, b: i32): v128; + /** Performs a bitwise logical right shift on each 64-bit integer lane by a scalar. */ + export function shr_u(a: v128, b: i32): v128; + /** Reduces a vector to a scalar indicating whether all 64-bit integer lanes are considered \`true\`. */ + export function all_true(a: v128): bool; + /** Extracts the high bit of each 64-bit integer lane and produces a scalar mask with all bits concatenated. */ + export function bitmask(a: v128): i32; + /** Computes which 64-bit integer lanes are equal. */ + export function eq(a: v128, b: v128): v128; + /** Computes which 64-bit integer lanes are not equal. */ + export function ne(a: v128, b: v128): v128; + /** Computes which 64-bit signed integer lanes of the first vector are less than those of the second. */ + export function lt_s(a: v128, b: v128): v128; + /** Computes which 64-bit signed integer lanes of the first vector are less than or equal those of the second. */ + export function le_s(a: v128, b: v128): v128; + /** Computes which 64-bit signed integer lanes of the first vector are greater than those of the second. */ + export function gt_s(a: v128, b: v128): v128; + /** Computes which 64-bit signed integer lanes of the first vector are greater than or equal those of the second. */ + export function ge_s(a: v128, b: v128): v128; + /** Extends the low 32-bit signed integer lanes to 64-bit signed integer lanes. */ + export function extend_low_i32x4_s(a: v128): v128; + /** Extends the low 32-bit unsigned integer lane to 64-bit unsigned integer lanes. */ + export function extend_low_i32x4_u(a: v128): v128; + /** Extends the high 32-bit signed integer lanes to 64-bit signed integer lanes. */ + export function extend_high_i32x4_s(a: v128): v128; + /** Extends the high 32-bit unsigned integer lanes to 64-bit unsigned integer lanes. */ + export function extend_high_i32x4_u(a: v128): v128; + /** Performs the lane-wise 32-bit signed integer extended multiplication of the two lower lanes producing twice wider 64-bit integer results. */ + export function extmul_low_i32x4_s(a: v128, b: v128): v128; + /** Performs the lane-wise 32-bit unsigned integer extended multiplication of the two lower lanes producing twice wider 64-bit integer results. */ + export function extmul_low_i32x4_u(a: v128, b: v128): v128; + /** Performs the lane-wise 32-bit signed integer extended multiplication of the two higher lanes producing twice wider 64-bit integer results. */ + export function extmul_high_i32x4_s(a: v128, b: v128): v128; + /** Performs the lane-wise 32-bit unsigned integer extended multiplication of the two higher lanes producing twice wider 64-bit integer results. */ + export function extmul_high_i32x4_u(a: v128, b: v128): v128; + /** Selects 64-bit lanes from either vector according to the specified [0-1] respectively [2-3] lane indexes. */ + export function shuffle(a: v128, b: v128, l0: u8, l1: u8): v128; + /** + * Selects 64-bit integer lanes from \`a\` or \`b\` based on masks in \`m\`. + * + * Behaves like {@link v128.bitselect} if masks in \`m\` do have all bits either set (result is \`a[i]\`) or unset (result + * is \`b[i]\`). Otherwise the result is implementation-defined, depending on hardware capabilities: If the most + * significant bit of \`m\` is set, the result is either \`bitselect(a[i], b[i], mask)\` or \`a[i]\`, otherwise the result + * is \`b[i]\`. + */ + export function relaxed_laneselect(a: v128, b: v128, m: v128): v128; +} +/** Initializes a 128-bit vector from four 32-bit float values. Arguments must be compile-time constants. */ +declare function f32x4(a: f32, b: f32, c: f32, d: f32): v128; +declare namespace f32x4 { + /** Creates a vector with four identical 32-bit float lanes. */ + export function splat(x: f32): v128; + /** Extracts one 32-bit float lane as a scalar. */ + export function extract_lane(x: v128, idx: u8): f32; + /** Replaces one 32-bit float lane. */ + export function replace_lane(x: v128, idx: u8, value: f32): v128; + /** Adds each 32-bit float lane. */ + export function add(a: v128, b: v128): v128; + /** Subtracts each 32-bit float lane. */ + export function sub(a: v128, b: v128): v128; + /** Multiplies each 32-bit float lane. */ + export function mul(a: v128, b: v128): v128; + /** Divides each 32-bit float lane. */ + export function div(a: v128, b: v128): v128; + /** Negates each 32-bit float lane. */ + export function neg(a: v128): v128; + /** Computes the minimum of each 32-bit float lane. */ + export function min(a: v128, b: v128): v128; + /** Computes the maximum of each 32-bit float lane. */ + export function max(a: v128, b: v128): v128; + /** Computes the pseudo-minimum of each 32-bit float lane. */ + export function pmin(a: v128, b: v128): v128; + /** Computes the pseudo-maximum of each 32-bit float lane. */ + export function pmax(a: v128, b: v128): v128; + /** Computes the absolute value of each 32-bit float lane. */ + export function abs(a: v128): v128; + /** Computes the square root of each 32-bit float lane. */ + export function sqrt(a: v128): v128; + /** Performs the ceiling operation on each 32-bit float lane. */ + export function ceil(a: v128): v128; + /** Performs the floor operation on each each 32-bit float lane. */ + export function floor(a: v128): v128; + /** Rounds to the nearest integer towards zero of each 32-bit float lane. */ + export function trunc(a: v128): v128; + /** Rounds to the nearest integer tied to even of each 32-bit float lane. */ + export function nearest(a: v128): v128; + /** Computes which 32-bit float lanes are equal. */ + export function eq(a: v128, b: v128): v128; + /** Computes which 32-bit float lanes are not equal. */ + export function ne(a: v128, b: v128): v128; + /** Computes which 32-bit float lanes of the first vector are less than those of the second. */ + export function lt(a: v128, b: v128): v128; + /** Computes which 32-bit float lanes of the first vector are less than or equal those of the second. */ + export function le(a: v128, b: v128): v128; + /** Computes which 32-bit float lanes of the first vector are greater than those of the second. */ + export function gt(a: v128, b: v128): v128; + /** Computes which 32-bit float lanes of the first vector are greater than or equal those of the second. */ + export function ge(a: v128, b: v128): v128; + /** Converts each 32-bit signed integer lane of a vector to single-precision floating point. */ + export function convert_i32x4_s(a: v128): v128; + /** Converts each 32-bit unsigned integer lane of a vector to single-precision floating point. */ + export function convert_i32x4_u(a: v128): v128; + /** Demotes each 64-bit float lane of a vector to single-precision. The higher lanes of the result are initialized to zero. */ + export function demote_f64x2_zero(a: v128): v128; + /** Selects 32-bit lanes from either vector according to the specified [0-3] respectively [4-7] lane indexes. */ + export function shuffle(a: v128, b: v128, l0: u8, l1: u8, l2: u8, l3: u8): v128; + /** + * Performs the fused multiply-add operation (\`a * b + c\`) on all 32-bit floating point lanes. + * + * The result is implementation defined, depending on hardware capabilities: + * - Either \`a * b\` is rounded once and the final result rounded again, or + * - The expression is evaluated with higher precision and only rounded once + */ + export function relaxed_madd(a: v128, b: v128, c: v128): v128; + /** + * Performs the fused negative multiply-add operation (\`-(a * b) + c\`) on all 32-bit floating point lanes. + * + * The result is implementation defined, depending on hardware capabilities: + * - Either \`a * b\` is rounded once and the final result rounded again, or + * - The expression is evaluated with higher precision and only rounded once + */ + export function relaxed_nmadd(a: v128, b: v128, c: v128): v128; + /** + * Computes the minimum of each 32-bit floating point lane. + * + * Unlike {@link f32x4.min}, the result is implementation-defined if either value is \`NaN\`, \`-0.0\` or \`+0.0\`, + * depending on hardware capabilities: Either \`a[i]\` or \`b[i]\`. + */ + export function relaxed_min(a: v128, b: v128): v128; + /** + * Computes the maximum of each 32-bit floating point lane. + * + * Unlike {@link f32x4.max}, the result is implementation-defined if either value is \`NaN\`, \`-0.0\` or \`+0.0\`, + * depending on hardware capabilities: Either \`a[i]\` or \`b[i]\`. + */ + export function relaxed_max(a: v128, b: v128): v128; +} +/** Initializes a 128-bit vector from two 64-bit float values. Arguments must be compile-time constants. */ +declare function f64x2(a: f64, b: f64): v128; +declare namespace f64x2 { + /** Creates a vector with two identical 64-bit float lanes. */ + export function splat(x: f64): v128; + /** Extracts one 64-bit float lane as a scalar. */ + export function extract_lane(x: v128, idx: u8): f64; + /** Replaces one 64-bit float lane. */ + export function replace_lane(x: v128, idx: u8, value: f64): v128; + /** Adds each 64-bit float lane. */ + export function add(a: v128, b: v128): v128; + /** Subtracts each 64-bit float lane. */ + export function sub(a: v128, b: v128): v128; + /** Multiplies each 64-bit float lane. */ + export function mul(a: v128, b: v128): v128; + /** Divides each 64-bit float lane. */ + export function div(a: v128, b: v128): v128; + /** Negates each 64-bit float lane. */ + export function neg(a: v128): v128; + /** Computes the minimum of each 64-bit float lane. */ + export function min(a: v128, b: v128): v128; + /** Computes the maximum of each 64-bit float lane. */ + export function max(a: v128, b: v128): v128; + /** Computes the pseudo-minimum of each 64-bit float lane. */ + export function pmin(a: v128, b: v128): v128; + /** Computes the pseudo-maximum of each 64-bit float lane. */ + export function pmax(a: v128, b: v128): v128; + /** Computes the absolute value of each 64-bit float lane. */ + export function abs(a: v128): v128; + /** Computes the square root of each 64-bit float lane. */ + export function sqrt(a: v128): v128; + /** Performs the ceiling operation on each 64-bit float lane. */ + export function ceil(a: v128): v128; + /** Performs the floor operation on each each 64-bit float lane. */ + export function floor(a: v128): v128; + /** Rounds to the nearest integer towards zero of each 64-bit float lane. */ + export function trunc(a: v128): v128; + /** Rounds to the nearest integer tied to even of each 64-bit float lane. */ + export function nearest(a: v128): v128; + /** Computes which 64-bit float lanes are equal. */ + export function eq(a: v128, b: v128): v128; + /** Computes which 64-bit float lanes are not equal. */ + export function ne(a: v128, b: v128): v128; + /** Computes which 64-bit float lanes of the first vector are less than those of the second. */ + export function lt(a: v128, b: v128): v128; + /** Computes which 64-bit float lanes of the first vector are less than or equal those of the second. */ + export function le(a: v128, b: v128): v128; + /** Computes which 64-bit float lanes of the first vector are greater than those of the second. */ + export function gt(a: v128, b: v128): v128; + /** Computes which 64-bit float lanes of the first vector are greater than or equal those of the second. */ + export function ge(a: v128, b: v128): v128; + /** Converts the low 32-bit signed integer lanes of a vector to double-precision floating point. */ + export function convert_low_i32x4_s(a: v128): v128; + /** Converts the low 32-bit unsigned integer lanes of a vector to double-precision floating point. */ + export function convert_low_i32x4_u(a: v128): v128; + /** Promotes the low 32-bit float lanes of a vector to double-precision. */ + export function promote_low_f32x4(a: v128): v128; + /** Selects 64-bit lanes from either vector according to the specified [0-1] respectively [2-3] lane indexes. */ + export function shuffle(a: v128, b: v128, l0: u8, l1: u8): v128; + /** + * Performs the fused multiply-add operation (\`a * b + c\`) on all 64-bit floating point lanes. + * + * The result is implementation defined, depending on hardware capabilities: + * - Either \`a * b\` is rounded once and the final result rounded again, or + * - The expression is evaluated with higher precision and only rounded once + */ + export function relaxed_madd(a: v128, b: v128, c: v128): v128; + /** + * Performs the fused negative multiply-add operation (\`-(a * b) + c\`) on all 64-bit floating point lanes. + * + * The result is implementation defined, depending on hardware capabilities: + * - Either \`a * b\` is rounded once and the final result rounded again, or + * - The expression is evaluated with higher precision and only rounded once + */ + export function relaxed_nmadd(a: v128, b: v128, c: v128): v128; + /** + * Computes the minimum of each 64-bit floating point lane. + * + * Unlike {@link f64x2.min}, the result is implementation-defined if either value is \`NaN\`, \`-0.0\` or \`+0.0\`, + * depending on hardware capabilities: Either \`a[i]\` or \`b[i]\`. + */ + export function relaxed_min(a: v128, b: v128): v128; + /** + * Computes the maximum of each 64-bit floating point lane. + * + * Unlike {@link f64x2.max}, the result is implementation-defined if either value is \`NaN\`, \`-0.0\` or \`+0.0\`, + * depending on hardware capabilities: Either \`a[i]\` or \`b[i]\`. + */ + export function relaxed_max(a: v128, b: v128): v128; +} + +declare abstract class i31 { + /** Creates a new 31-bit integer reference from the specified integer value. */ + static new(value: i32): ref_i31; + /** Gets the integer value of an 31-bit integer reference. */ + static get(i31expr: ref_i31 | null): i32; +} + +/** Macro type evaluating to the underlying native WebAssembly type. */ +declare type native = T; +/** Special type evaluating the indexed access index type. */ +declare type indexof> = keyof T; +/** Special type evaluating the indexed access value type. */ +declare type valueof> = T[0]; +/** A special type evaluated to the return type of T if T is a callable function. */ +declare type ReturnType any> = T extends (...args: any) => infer R ? R : any; +/** A special type evaluated to the return type of T if T is a callable function. */ +declare type returnof any> = ReturnType; +/** A special type that excludes null and undefined from T. */ +declare type NonNullable = T extends null | undefined ? never : T; +/** A special type that excludes null and undefined from T. */ +declare type nonnull = NonNullable; + +/** Pseudo-class representing the backing class of integer types. */ +/** @internal */ +declare class _Integer { + /** Smallest representable value. */ + static readonly MIN_VALUE: number; + /** Largest representable value. */ + static readonly MAX_VALUE: number; + /** @deprecated Converts a string to an integer of this type. Please use "i32.parse" method. */ + static parseInt(value: string, radix?: number): number; + /** Converts this integer to a string. */ + toString(radix?: number): string; +} + +/** Pseudo-class representing the backing class of floating-point types. */ +/** @internal */ +declare class _Float { + /** Difference between 1 and the smallest representable value greater than 1. */ + static readonly EPSILON: f32 | f64; + /** Smallest representable value. */ + static readonly MIN_VALUE: f32 | f64; + /** Largest representable value. */ + static readonly MAX_VALUE: f32 | f64; + /** Smallest safely representable integer value. */ + static readonly MIN_SAFE_INTEGER: f32 | f64; + /** Largest safely representable integer value. */ + static readonly MAX_SAFE_INTEGER: f32 | f64; + /** Value representing positive infinity. */ + static readonly POSITIVE_INFINITY: f32 | f64; + /** Value representing negative infinity. */ + static readonly NEGATIVE_INFINITY: f32 | f64; + /** Value representing 'not a number'. */ + static readonly NaN: f32 | f64; + /** Returns a boolean value that indicates whether a value is the reserved value NaN (not a number). */ + static isNaN(value: f32 | f64): bool; + /** Returns true if passed value is finite. */ + static isFinite(value: f32 | f64): bool; + /** Returns true if the value passed is a safe integer. */ + static isSafeInteger(value: f32 | f64): bool; + /** Returns true if the value passed is an integer, false otherwise. */ + static isInteger(value: f32 | f64): bool; + /** @deprecated Converts a string to an integer. Please use "i32.parse" / "i64.parse" methods. */ + static parseInt(value: string, radix?: i32): f32 | f64; + /** @deprecated Converts a string to a floating-point number. Please use "f32.parse" / "f64.parse" methods. */ + static parseFloat(value: string): f32 | f64; + /** Converts this floating-point number to a string. */ + toString(radix?: number): string; +} + +declare class Boolean { + toString(radix?: number): string; +} + +/** Backing class of signed 8-bit integers. */ +declare const I8: typeof _Integer; +/** Backing class of signed 16-bit integers. */ +declare const I16: typeof _Integer; +/** Backing class of signed 32-bit integers. */ +declare const I32: typeof _Integer; +/** Backing class of signed 64-bit integers. */ +declare const I64: typeof _Integer; +/** Backing class of signed size integers. */ +declare const Isize: typeof _Integer; +/** Backing class of unsigned 8-bit integers. */ +declare const U8: typeof _Integer; +/** Backing class of unsigned 16-bit integers. */ +declare const U16: typeof _Integer; +/** Backing class of unsigned 32-bit integers. */ +declare const U32: typeof _Integer; +/** Backing class of unsigned 64-bit integers. */ +declare const U64: typeof _Integer; +/** Backing class of unsigned size integers. */ +declare const Usize: typeof _Integer; +/** Backing class of 32-bit floating-point values. */ +declare const F32: typeof _Float; +/** Backing class of 64-bit floating-point values. */ +declare const F64: typeof _Float; +/** Alias of F64. */ +declare const Number: typeof F64; +declare type Number = _Float; + +// User-defined diagnostic macros + +/** Emits a user-defined diagnostic error when encountered. */ +declare function ERROR(message?: any): never; +/** Emits a user-defined diagnostic warning when encountered. */ +declare function WARNING(message?: any): void; +/** Emits a user-defined diagnostic info when encountered. */ +declare function INFO(message?: any): void; + +// Standard library + +/** Memory operations. */ +declare namespace memory { + /** Whether the memory managed interface is implemented. */ + export const implemented: bool; + /** Returns the current memory size in units of pages. One page is 64kb. */ + export function size(): i32; + /** Grows linear memory by a given unsigned delta of pages. One page is 64kb. Returns the previous memory size in units of pages or \`-1\` on failure. */ + export function grow(value: i32): i32; + /** Sets n bytes beginning at the specified destination in memory to the specified byte value. */ + export function fill(dst: usize, value: u8, count: usize): void; + /** Copies n bytes from the specified source to the specified destination in memory. These regions may overlap. */ + export function copy(dst: usize, src: usize, n: usize): void; + /** Repeats \`src\` of length \`srcLength\` \`count\` times at \`dst\`. */ + export function repeat(dst: usize, src: usize, srcLength: usize, count: usize): void; + /** Copies elements from a passive element segment to a table. */ + export function init(segmentIndex: u32, srcOffset: usize, dstOffset: usize, n: usize): void; + /** Prevents further use of a passive element segment. */ + export function drop(segmentIndex: u32): void; + /** Compares two chunks of memory. Returns \`0\` if equal, otherwise the difference of the first differing bytes. */ + export function compare(vl: usize, vr: usize, n: usize): i32; + /** Gets a pointer to a zeroed static chunk of memory of the given size. Alignment defaults to \`16\`. Arguments must be compile-time constants. */ + export function data(size: i32, align?: i32): usize; + /** Gets a pointer to a pre-initialized static chunk of memory. Alignment defaults to the size of \`T\`. Arguments must be compile-time constants. */ + export function data(values: T[], align?: i32): usize; + + export namespace atomic { + /** Performs a wait operation on a 32-bit integer value in memory suspending this agent if the condition is met. */ + export function wait32(ptr: usize, expected: i32, timeout?: i64): AtomicWaitResult; + /** Performs a wait operation on a 64-bit integer value in memory suspending this agent if the condition is met. */ + export function wait64(ptr: usize, expected: i64, timeout?: i64): AtomicWaitResult; + } +} + +/** Heap memory interface. */ +declare namespace heap { + /** Allocates a chunk of memory of at least the specified size. */ + export function alloc(size: usize): usize; + /** Reallocates a chunk of memory to have at least the specified size. */ + export function realloc(ptr: usize, size: usize): usize; + /** Frees a chunk of memory. Does hardly anything (most recent block only) with the stub/none runtime. */ + export function free(ptr: usize): void; +} + +/** Table operations. */ +declare namespace table { + /** Copies elements from a passive element segment to a table. */ + export function init(elementIndex: u32, srcOffset: u32, dstOffset: u32, n: u32): void; + /** Prevents further use of a passive element segment. */ + export function drop(elementIndex: u32): void; + /** Copies elements from one region of a table to another region. */ + export function copy(dest: u32, src: u32, n: u32): void; +} + +declare namespace Atomics { + export function load(array: TypedArray, index: i32): T; + export function store(array: TypedArray, index: i32, value: T): void; + export function add(array: TypedArray, index: i32, value: T): T; + export function sub(array: TypedArray, index: i32, value: T): T; + export function and(array: TypedArray, index: i32, value: T): T; + export function or(array: TypedArray, index: i32, value: T): T; + export function xor(array: TypedArray, index: i32, value: T): T; + export function exchange(array: TypedArray, index: i32, value: T): T; + export function compareExchange(array: TypedArray, index: i32, expectedValue: T, replacementValue: T): T; + export function wait(array: TypedArray, value: T, timeout?: i64): AtomicWaitResult; + export function notify(array: TypedArray, index: i32, count?: i32): i32; + /** The static Atomics.isLockFree() method is used to determine whether to use locks or atomic operations. It returns true, if the given size is one of the BYTES_PER_ELEMENT */ + export function isLockFree(size: usize): bool; +} + +/** Class representing a generic, fixed-length raw binary data buffer. */ +declare class ArrayBuffer { + /** The size, in bytes, of the array. */ + readonly byteLength: i32; + /** Returns true if value is one of the ArrayBuffer views, such as typed array or a DataView **/ + static isView(value: T): bool; + /** Constructs a new array buffer of the given length in bytes. */ + constructor(length: i32); + /** Returns a copy of this array buffer's bytes from begin, inclusive, up to end, exclusive. */ + slice(begin?: i32, end?: i32): ArrayBuffer; + /** Returns a string representation of ArrayBuffer. */ + toString(): string; +} + +/** The \`DataView\` view provides a low-level interface for reading and writing multiple number types in a binary \`ArrayBuffer\`, without having to care about the platform's endianness. */ +declare class DataView { + /** The \`buffer\` accessor property represents the \`ArrayBuffer\` or \`SharedArrayBuffer\` referenced by the \`DataView\` at construction time. */ + readonly buffer: ArrayBuffer; + /** Returns raw pointer to data storage including offset (unsafe). */ + readonly dataStart: usize; + /** The \`byteLength\` accessor property represents the length (in bytes) of this view from the start of its \`ArrayBuffer\` or \`SharedArrayBuffer\`. */ + readonly byteLength: i32; + /** The \`byteOffset\` accessor property represents the offset (in bytes) of this view from the start of its \`ArrayBuffer\` or \`SharedArrayBuffer\`. */ + readonly byteOffset: i32; + /** Constructs a new \`DataView\` with the given properties */ + constructor(buffer: ArrayBuffer, byteOffset?: i32, byteLength?: i32); + /** The \`getFloat32()\` method gets a signed 32-bit float (float) at the specified byte offset from the start of the \`DataView\`. */ + getFloat32(byteOffset: i32, littleEndian?: bool): f32; + /** The \`getFloat64()\` method gets a signed 64-bit float (double) at the specified byte offset from the start of the \`DataView\`. */ + getFloat64(byteOffset: i32, littleEndian?: bool): f64; + /** The \`getInt8()\` method gets a signed 8-bit integer (byte) at the specified byte offset from the start of the \`DataView\`. */ + getInt8(byteOffset: i32): i8; + /** The \`getInt16()\` method gets a signed 16-bit integer (short) at the specified byte offset from the start of the \`DataView\`. */ + getInt16(byteOffset: i32, littleEndian?: bool): i16; + /** The \`getInt32()\` method gets a signed 32-bit integer (long) at the specified byte offset from the start of the \`DataView\`. */ + getInt32(byteOffset: i32, littleEndian?: bool): i32; + /** The \`getInt64()\` method gets a signed 64-bit integer (long long) at the specified byte offset from the start of the \`DataView\`. */ + getInt64(byteOffset: i32, littleEndian?: bool): i64; + /** The \`getUint8()\` method gets an unsigned 8-bit integer (unsigned byte) at the specified byte offset from the start of the \`DataView\`. */ + getUint8(byteOffset: i32): u8; + /** The \`getUint16()\` method gets an unsigned 16-bit integer (unsigned short) at the specified byte offset from the start of the \`DataView\`. */ + getUint16(byteOffset: i32, littleEndian?: bool): u16; + /** The \`getUint32()\` method gets an unsigned 32-bit integer (unsigned long) at the specified byte offset from the start of the \`DataView\`. */ + getUint32(byteOffset: i32, littleEndian?: bool): u32; + /** The \`getUint64()\` method gets an unsigned 64-bit integer (unsigned long long) at the specified byte offset from the start of the \`DataView\`. */ + getUint64(byteOffset: i32, littleEndian?: bool): u64; + /** The \`setFloat32()\` method stores a signed 32-bit float (float) value at the specified byte offset from the start of the \`DataView\`. */ + setFloat32(byteOffset: i32, value: f32, littleEndian?: bool): void; + /** The \`setFloat64()\` method stores a signed 64-bit float (double) value at the specified byte offset from the start of the \`DataView\`. */ + setFloat64(byteOffset: i32, value: f64, littleEndian?: bool): void; + /** The \`setInt8()\` method stores a signed 8-bit integer (byte) value at the specified byte offset from the start of the \`DataView\`. */ + setInt8(byteOffset: i32, value: i8): void; + /** The \`setInt16()\` method stores a signed 16-bit integer (short) value at the specified byte offset from the start of the \`DataView\`. */ + setInt16(byteOffset: i32, value: i16, littleEndian?: bool): void; + /** The \`setInt32()\` method stores a signed 32-bit integer (long) value at the specified byte offset from the start of the \`DataView\`. */ + setInt32(byteOffset: i32, value: i32, littleEndian?: bool): void; + /** The \`setInt64()\` method stores a signed 64-bit integer (long long) value at the specified byte offset from the start of the \`DataView\`. */ + setInt64(byteOffset: i32, value: i64, littleEndian?: bool): void; + /** The \`setUint8()\` method stores an unsigned 8-bit integer (byte) value at the specified byte offset from the start of the \`DataView\`. */ + setUint8(byteOffset: i32, value: u8): void; + /** The \`setUint16()\` method stores an unsigned 16-bit integer (unsigned short) value at the specified byte offset from the start of the \`DataView\`. */ + setUint16(byteOffset: i32, value: u16, littleEndian?: bool): void; + /** The \`setUint32()\` method stores an unsigned 32-bit integer (unsigned long) value at the specified byte offset from the start of the \`DataView\`. */ + setUint32(byteOffset: i32, value: u32, littleEndian?: bool): void; + /** The \`setUint64()\` method stores an unsigned 64-bit integer (unsigned long long) value at the specified byte offset from the start of the \`DataView\`. */ + setUint64(byteOffset: i32, value: u64, littleEndian?: bool): void; + /** Returns a string representation of DataView. */ + toString(): string; +} + +interface ArrayLike { + [key: number]: T; + length: i32; +} + +/** Interface for a typed view on an array buffer. */ +interface ArrayBufferView { + /** The {@link ArrayBuffer} referenced by this view. */ + readonly buffer: ArrayBuffer; + /** The offset in bytes from the start of the referenced {@link ArrayBuffer}. */ + readonly byteOffset: i32; + /** The length in bytes from the start of the referenced {@link ArrayBuffer}. */ + readonly byteLength: i32; + /** Returns raw pointer to data storage including offset (unsafe). */ + readonly dataStart: usize; +} + +/** @internal */ +declare abstract class TypedArray implements ArrayBufferView { + [key: number]: T; + /** Number of bytes per element. */ + static readonly BYTES_PER_ELEMENT: usize; + /** Constructs a new typed array. */ + constructor(length: i32); + /** The {@link ArrayBuffer} referenced by this view. */ + readonly buffer: ArrayBuffer; + /** The offset in bytes from the start of the referenced {@link ArrayBuffer}. */ + readonly byteOffset: i32; + /** The length in bytes from the start of the referenced {@link ArrayBuffer}. */ + readonly byteLength: i32; + /** Returns raw pointer to data storage including offset (unsafe). */ + readonly dataStart: usize; + /** The length (in elements). */ + readonly length: i32; + /** Returns value using relative indexing. Index may be negative */ + at(index: i32): T; + /** The includes() method determines whether a typed array includes a certain element, returning true or false as appropriate. */ + includes(searchElement: T, fromIndex?: i32): bool; + /** The indexOf() method returns the first index at which a given element can be found in the typed array, or -1 if it is not present. */ + indexOf(searchElement: T, fromIndex?: i32): i32; + /** The lastIndexOf() method returns the last index at which a given element can be found in the typed array, or -1 if it is not present. The typed array is searched backwards, starting at fromIndex. */ + lastIndexOf(searchElement: T, fromIndex?: i32): i32; + /** Returns copied section of an TypedArray from begin inclusive to end exclusive */ + slice(begin?: i32, end?: i32): TypedArray; + /** Returns a new TypedArray of this type on the same ArrayBuffer from begin inclusive to end exclusive. */ + subarray(begin?: i32, end?: i32): TypedArray; + /** The copyWithin() method copies the sequence of array elements within the array to the position starting at target. The copy is taken from the index positions of the second and third arguments start and end. The end argument is optional and defaults to the length of the array. */ + copyWithin(target: i32, start: i32, end?: i32): this; + /** The reduce() method applies a function against an accumulator and each value of the typed array (from left-to-right) has to reduce it to a single value. This method has the same algorithm as Array.prototype.reduce(). */ + reduce(callbackfn: (accumulator: U, value: T, index: i32, self: this) => U, initialValue: U): U; + /** The reduceRight() method applies a function against an accumulator and each value of the typed array (from left-to-right) has to reduce it to a single value, starting from the end of the array. This method has the same algorithm as Array.prototype.reduceRight(). */ + reduceRight(callbackfn: (accumulator: U, value: T, index: i32, self: this) => U, initialValue: U): U; + /** The some() method tests whether some element in the typed array passes the test implemented by the provided function. This method has the same algorithm as Array.prototype.some().*/ + some(callbackfn: (value: T, index: i32, self: this) => bool): bool; + /** The map() method creates a new typed array with the results of calling a provided function on every element in this typed array. This method has the same algorithm as Array.prototype.map().*/ + map(callbackfn: (value: T, index: i32, self: this) => T): TypedArray; + /** The filter() method creates a new typed array with all elements that pass the test implemented by the provided function. This method has the same algorithm as Array.prototype.filter(). */ + filter(callbackfn: (value: T, index: i32, self: this) => bool): TypedArray; + /** The sort() method sorts the elements of a typed array numerically in place and returns the typed array. This method has the same algorithm as Array.prototype.sort(), except that sorts the values numerically instead of as strings. TypedArray is one of the typed array types here. */ + sort(callback?: (a: T, b: T) => i32): this; + /** The fill() method fills all the elements of a typed array from a start index to an end index with a static value. This method has the same algorithm as Array.prototype.fill(). */ + fill(value: T, start?: i32, end?: i32): this; + /** The findIndex() method returns an index in the typed array, if an element in the typed array satisfies the provided testing function. Otherwise -1 is returned. See also the find() [not implemented] method, which returns the value of a found element in the typed array instead of its index. */ + findIndex(callbackfn: (value: T, index: i32, self: this) => bool): i32; + /** The findLastIndex() method returns an index start searching from the end in the typed array, if an element in the typed array satisfies the provided testing function. Otherwise -1 is returned. See also the find() [not implemented] method, which returns the value of a found element in the typed array instead of its index. */ + findLastIndex(callbackfn: (value: T, index: i32, self: this) => bool): i32; + /** The every() method tests whether all elements in the typed array pass the test implemented by the provided function. This method has the same algorithm as Array.prototype.every(). */ + every(callbackfn: (value: T, index: i32, self: this) => bool): bool; + /** The forEach() method executes a provided function once per array element. This method has the same algorithm as Array.prototype.forEach().*/ + forEach(callbackfn: (value: T, index: i32, self: this) => void): void; + /** The reverse() method reverses a typed array in place. The first typed array element becomes the last and the last becomes the first. This method has the same algorithm as Array.prototype.reverse(). */ + reverse(): this; + /** The join() method joins all elements of an array into a string. This method has the same algorithm as Array.prototype.join(). */ + join(separator?: string): string; + /** The set() method stores multiple values in the typed array, reading input values from a specified array. */ + set>(source: U, offset?: i32): void + /** The toString() method returns a string representing the specified array and its elements. This method has the same algorithm as Array.prototype.toString() */ + toString(): string; +} + +/** An array of twos-complement 8-bit signed integers. */ +declare class Int8Array extends TypedArray { + /** Wrap an ArrayBuffer */ + static wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Int8Array; +} +/** An array of 8-bit unsigned integers. */ +declare class Uint8Array extends TypedArray { + /** Wrap an ArrayBuffer */ + static wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Uint8Array; +} +/** A clamped array of 8-bit unsigned integers. */ +declare class Uint8ClampedArray extends TypedArray { + /** Wrap an ArrayBuffer */ + static wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Uint8ClampedArray; +} +/** An array of twos-complement 16-bit signed integers. */ +declare class Int16Array extends TypedArray { + /** Wrap an ArrayBuffer */ + static wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Int16Array; +} +/** An array of 16-bit unsigned integers. */ +declare class Uint16Array extends TypedArray { + /** Wrap an ArrayBuffer */ + static wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Uint16Array; +} +/** An array of twos-complement 32-bit signed integers. */ +declare class Int32Array extends TypedArray { + /** Wrap an ArrayBuffer */ + static wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Int32Array; +} +/** An array of 32-bit unsigned integers. */ +declare class Uint32Array extends TypedArray { + /** Wrap an ArrayBuffer */ + static wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Uint32Array; +} +/** An array of twos-complement 64-bit signed integers. */ +declare class Int64Array extends TypedArray { + /** Wrap an ArrayBuffer */ + static wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Int64Array; +} +/** An array of 64-bit unsigned integers. */ +declare class Uint64Array extends TypedArray { + /** Wrap an ArrayBuffer */ + static wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Uint64Array; +} +/** An array of 32-bit floating point numbers. */ +declare class Float32Array extends TypedArray { + /** Wrap an ArrayBuffer */ + static wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Float32Array; +} +/** An array of 64-bit floating point numbers. */ +declare class Float64Array extends TypedArray { + /** Wrap an ArrayBuffer */ + static wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Float64Array; +} + +/** Class representing a sequence of values of type \`T\`. */ +declare class Array { + + /** Tests if a value is an array. */ + static isArray(value: any): value is Array; + + [key: number]: T; + /** Current length of the array. */ + length: i32; + /** Returns raw pointer to data storage (unsafe). */ + readonly dataStart: usize; + /** Constructs a new array. */ + constructor(length?: i32); + at(index: i32): T; + fill(value: T, start?: i32, end?: i32): this; + findIndex(callbackfn: (value: T, index: i32, array: Array) => bool): i32; + findLastIndex(callbackfn: (value: T, index: i32, array: Array) => bool): i32; + includes(searchElement: T, fromIndex?: i32): bool; + indexOf(searchElement: T, fromIndex?: i32): i32; + lastIndexOf(searchElement: T, fromIndex?: i32): i32; + push(element: T): i32; + concat(items: T[]): T[]; + copyWithin(target: i32, start: i32, end?: i32): this; + pop(): T; + forEach(callbackfn: (value: T, index: i32, array: Array) => void): void; + map(callbackfn: (value: T, index: i32, array: Array) => U): Array; + filter(callbackfn: (value: T, index: i32, array: Array) => bool): Array; + reduce(callbackfn: (previousValue: U, currentValue: T, currentIndex: i32, array: Array) => U, initialValue: U): U; + reduceRight(callbackfn: (previousValue: U, currentValue: T, currentIndex: i32, array: Array) => U, initialValue: U): U; + every(callbackfn: (value: T, index: i32, array: Array) => bool): bool; + some(callbackfn: (value: T, index: i32, array: Array) => bool): bool; + shift(): T; + unshift(element: T): i32; + slice(from?: i32, to?: i32): Array; + splice(start: i32, deleteCount?: i32): Array; + sort(comparator?: (a: T, b: T) => i32): this; + join(separator?: string): string; + reverse(): this; + /** Flattens an array of arrays. If any null entries exist in the array, they are ignored, unlike JavaScript's version of Array#flat(). */ + flat(): T extends unknown[] ? T : never; + toString(): string; +} + +/** Class representing a static (not resizable) sequence of values of type \`T\`. This class is @final. */ +declare class StaticArray { + [key: number]: T; + static fromArray(source: Array): StaticArray; + /** @deprecated */ + static concat(source: StaticArray, other: StaticArray): StaticArray; + /** @deprecated */ + static slice(source: StaticArray, start?: i32, end?: i32): StaticArray; + readonly length: i32; + constructor(length?: i32); + at(index: i32): T; + fill(value: T, start?: i32, end?: i32): this; + findIndex(callbackfn: (value: T, index: i32, array: StaticArray) => bool): i32; + findLastIndex(callbackfn: (value: T, index: i32, array: StaticArray) => bool): i32; + copyWithin(target: i32, start: i32, end?: i32): this; + includes(searchElement: T, fromIndex?: i32): bool; + indexOf(searchElement: T, fromIndex?: i32): i32; + lastIndexOf(searchElement: T, fromIndex?: i32): i32; + forEach(callbackfn: (value: T, index: i32, array: StaticArray) => void): void; + map(callbackfn: (value: T, index: i32, array: StaticArray) => U): Array; + filter(callbackfn: (value: T, index: i32, array: StaticArray) => bool): Array; + reduce(callbackfn: (previousValue: U, currentValue: T, currentIndex: i32, array: StaticArray) => U, initialValue: U): U; + reduceRight(callbackfn: (previousValue: U, currentValue: T, currentIndex: i32, array: StaticArray) => U, initialValue: U): U; + every(callbackfn: (value: T, index: i32, array: StaticArray) => bool): bool; + some(callbackfn: (value: T, index: i32, array: StaticArray) => bool): bool; + concat(items: Array): Array; + concat>(other: U): U; + slice(from?: i32, to?: i32): Array; + slice>(from?: i32, to?: i32): U; + sort(comparator?: (a: T, b: T) => i32): this; + join(separator?: string): string; + reverse(): this; + toString(): string; +} + +/** Class representing a sequence of characters. */ +declare class String { + static fromCharCode(ls: i32, hs?: i32): string; + static fromCharCodes(arr: i32[]): string; + static fromCodePoint(code: i32): string; + static fromCodePoints(arr: i32[]): string; + static raw(parts: TemplateStringsArray, ...args: any[]): string; + readonly length: i32; + at(index: i32): string; + charAt(index: i32): string; + charCodeAt(index: i32): i32; + codePointAt(index: i32): i32; + concat(other: string): string; + endsWith(other: string): bool; + indexOf(other: string, fromIndex?: i32): i32; + lastIndexOf(other: string, fromIndex?: i32): i32; + localeCompare(other: string): i32; + includes(other: string): bool; + startsWith(other: string): bool; + substr(start: i32, length?: i32): string; + substring(start: i32, end?: i32): string; + trim(): string; + trimLeft(): string; + trimRight(): string; + trimStart(): string; + trimEnd(): string; + padStart(targetLength: i32, padString?: string): string; + padEnd(targetLength: i32, padString?: string): string; + repeat(count?: i32): string; + replace(search: string, replacement: string): string; + replaceAll(search: string, replacement: string): string; + slice(beginIndex: i32, endIndex?: i32): string; + split(separator?: string, limit?: i32): string[]; + toLowerCase(): string; + toUpperCase(): string; + toString(): string; +} + +declare namespace String { + /** Encoding helpers for UTF-8. */ + export namespace UTF8 { + /** UTF-8 encoding error modes. */ + export const enum ErrorMode { + /** Keeps unpaired surrogates as of WTF-8. This is the default. */ + WTF8, + /** Replaces unpaired surrogates with the replacement character (U+FFFD). */ + REPLACE, + /** Throws an error on unpaired surrogates. */ + ERROR + } + /** Calculates the byte length of the specified string when encoded as UTF-8, optionally null terminated. */ + export function byteLength(str: string, nullTerminated?: bool): i32; + /** Encodes the specified string to UTF-8 bytes, optionally null terminated. ErrorMode defaults to WTF-8. */ + export function encode(str: string, nullTerminated?: bool, errorMode?: ErrorMode): ArrayBuffer; + /** Encodes the specified raw string to UTF-8 bytes, opionally null terminated. ErrorMode defaults to WTF-8. Returns the number of bytes written. */ + export function encodeUnsafe(str: usize, len: i32, buf: usize, nullTerminated?: bool, errorMode?: ErrorMode): usize; + /** Decodes the specified buffer from UTF-8 bytes to a string, optionally null terminated. */ + export function decode(buf: ArrayBuffer, nullTerminated?: bool): string; + /** Decodes raw UTF-8 bytes to a string, optionally null terminated. */ + export function decodeUnsafe(buf: usize, len: usize, nullTerminated?: bool): string; + } + /** Encoding helpers for UTF-16. */ + export namespace UTF16 { + /** Calculates the byte length of the specified string when encoded as UTF-16. */ + export function byteLength(str: string): i32; + /** Encodes the specified string to UTF-16 bytes. */ + export function encode(str: string): ArrayBuffer; + /** Encodes the specified raw string to UTF-16 bytes. Returns the number of bytes written. */ + export function encodeUnsafe(str: usize, len: i32, buf: usize): usize; + /** Decodes the specified buffer from UTF-16 bytes to a string. */ + export function decode(buf: ArrayBuffer): string; + /** Decodes raw UTF-16 bytes to a string. */ + export function decodeUnsafe(buf: usize, len: usize): string; + } +} + +declare class TemplateStringsArray extends Array { + readonly raw: string[]; +} + +declare class Object { + /** The Object.is() method determines whether two values are the same value. */ + static is(value1: T, value2: T): bool; +} + +declare namespace performance { + /** Gets a high resolution timestamp measured in milliseconds. */ + export function now(): f64; +} + +declare class Date { + /** Returns the UTC timestamp in milliseconds of the specified date. */ + static UTC( + year: i32, + month: i32, + day: i32, + hour: i32, + minute: i32, + second: i32, + millisecond: i32 + ): i64; + /** Returns the current UTC timestamp in milliseconds. */ + static now(): i64; + /** Parses a string representation of a date, and returns the number of milliseconds since January 1, 1970, 00:00:00 UTC. */ + static parse(dateString: string): Date; + static fromString(dateString: string): Date; + /** Constructs a new date object from an UTC timestamp in milliseconds. */ + constructor(value: i64); + /** Returns the UTC timestamp of this date in milliseconds. */ + getTime(): i64; + /** Sets the UTC timestamp of this date in milliseconds. */ + setTime(value: i64): i64; + + getUTCFullYear(): i32; + getUTCMonth(): i32; + getUTCDate(): i32; + getUTCDay(): i32; + getUTCHours(): i32; + getUTCMinutes(): i32; + getUTCSeconds(): i32; + getUTCMilliseconds(): i32; + + setUTCFullYear(value: i32): void; + setUTCMonth(value: i32, day?: i32): void; + setUTCDate(value: i32): void; + setUTCHours(value: i32): void; + setUTCMinutes(value: i32): void; + setUTCSeconds(value: i32): void; + setUTCMilliseconds(value: i32): void; + + toString(): string; + toISOString(): string; + toUTCString(): string; + toDateString(): string; + toTimeString(): string; +} + +/** Class for representing a runtime error. Base class of all errors. */ +declare class Error { + + /** Error name. */ + name: string; + + /** Message provided on construction. */ + message: string; + + /** Stack trace. */ + stack?: string; + + /** Constructs a new error, optionally with a message. */ + constructor(message?: string); + + /** Method returns a string representing the specified Error class. */ + toString(): string; +} + +/** Class for indicating an error when a value is not in the set or range of allowed values. */ +declare class RangeError extends Error { } + +/** Class for indicating an error when a value is not of the expected type. */ +declare class TypeError extends Error { } + +/** Class for indicating an error when trying to interpret syntactically invalid code. */ +declare class SyntaxError extends Error { } + +/** Class for indicating an error when a global URI handling function was used in a wrong way. */ +declare class URIError extends Error { } + +interface Function { + /** Function table index. */ + readonly index: u32; + /** Function name. Always an empty string. */ + readonly name: string; + /** Number of expected parameters. */ + readonly length: u32; + /** Calls this function indirectly with the specified arguments. */ + call(thisArg: unknown, ...args: unknown[]): any; + /** Returns a string representation of this function. */ + toString(): string; +} + +/** + * Extracts the type of the 'this' parameter of a function type, or 'unknown' if the function type has no 'this' parameter. + */ +type ThisParameterType = T extends (this: infer U, ...args: never) => any ? U : unknown; + +/** + * Removes the 'this' parameter from a function type. + */ +type OmitThisParameter = unknown extends ThisParameterType ? T : T extends (...args: infer A) => infer R ? (...args: A) => R : T; + +interface CallableFunction extends Function { + /** + * Calls the function with the specified object as the this value and the elements of specified array as the arguments. + * @param thisArg The object to be used as the this object. + */ + apply(this: (this: T) => R, thisArg: T): R; + + /** + * Calls the function with the specified object as the this value and the elements of specified array as the arguments. + * @param thisArg The object to be used as the this object. + * @param args An array of argument values to be passed to the function. + */ + apply(this: (this: T, ...args: A) => R, thisArg: T, args: A): R; + + /** + * Calls the function with the specified object as the this value and the specified rest arguments as the arguments. + * @param thisArg The object to be used as the this object. + * @param args Argument values to be passed to the function. + */ + call(this: (this: T, ...args: A) => R, thisArg: T, ...args: A): R; + + /** + * For a given function, creates a bound function that has the same body as the original function. + * The this object of the bound function is associated with the specified object, and has the specified initial parameters. + * @param thisArg The object to be used as the this object. + */ + bind(this: T, thisArg: ThisParameterType): OmitThisParameter; + + /** + * For a given function, creates a bound function that has the same body as the original function. + * The this object of the bound function is associated with the specified object, and has the specified initial parameters. + * @param thisArg The object to be used as the this object. + * @param args Arguments to bind to the parameters of the function. + */ + bind(this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; +} + +interface NewableFunction extends Function { + /** + * Calls the function with the specified object as the this value and the elements of specified array as the arguments. + * @param thisArg The object to be used as the this object. + */ + apply(this: new () => T, thisArg: T): void; + /** + * Calls the function with the specified object as the this value and the elements of specified array as the arguments. + * @param thisArg The object to be used as the this object. + * @param args An array of argument values to be passed to the function. + */ + apply(this: new (...args: A) => T, thisArg: T, args: A): void; + + /** + * Calls the function with the specified object as the this value and the specified rest arguments as the arguments. + * @param thisArg The object to be used as the this object. + * @param args Argument values to be passed to the function. + */ + call(this: new (...args: A) => T, thisArg: T, ...args: A): void; + + /** + * For a given function, creates a bound function that has the same body as the original function. + * The this object of the bound function is associated with the specified object, and has the specified initial parameters. + * @param thisArg The object to be used as the this object. + */ + bind(this: T, thisArg: any): T; + + /** + * For a given function, creates a bound function that has the same body as the original function. + * The this object of the bound function is associated with the specified object, and has the specified initial parameters. + * @param thisArg The object to be used as the this object. + * @param args Arguments to bind to the parameters of the function. + */ + bind(this: new (...args: [...A, ...B]) => R, thisArg: any, ...args: A): new (...args: B) => R; +} + +interface IArguments {} +interface RegExp {} + +declare class Map { + readonly size: i32; + has(key: K): bool; + set(key: K, value: V): this; + get(key: K): V; + delete(key: K): bool; + clear(): void; + keys(): K[]; // preliminary + values(): V[]; // preliminary + toString(): string; +} + +declare class Set { + readonly size: i32; + has(value: K): bool; + add(value: K): this; + delete(value: K): bool; + clear(): void; + values(): K[]; // preliminary + toString(): string; +} + +interface SymbolConstructor { + readonly hasInstance: symbol; + readonly isConcatSpreadable: symbol; + readonly isRegExp: symbol; + readonly iterator: symbol; + readonly match: symbol; + readonly replace: symbol; + readonly search: symbol; + readonly species: symbol; + readonly split: symbol; + readonly toPrimitive: symbol; + readonly toStringTag: symbol; + readonly unscopables: symbol; + (description?: string | null): symbol; + for(key: string): symbol; + keyFor(sym: symbol): string | null; +} + +declare const Symbol: SymbolConstructor; + +/** @internal */ +interface IMath { + /** The base of natural logarithms, e, approximately 2.718. */ + readonly E: T; + /** The natural logarithm of 2, approximately 0.693. */ + readonly LN2: T; + /** The natural logarithm of 10, approximately 2.302. */ + readonly LN10: T; + /** The base 2 logarithm of e, approximately 1.442. */ + readonly LOG2E: T; + /** The base 10 logarithm of e, approximately 0.434. */ + readonly LOG10E: T; + /** The ratio of the circumference of a circle to its diameter, approximately 3.14159. */ + readonly PI: T; + /** The square root of 1/2, approximately 0.707. */ + readonly SQRT1_2: T; + /** The square root of 2, approximately 1.414. */ + readonly SQRT2: T; + /** Returns the absolute value of \`x\`. */ + abs(x: T): T; + /** Returns the arccosine (in radians) of \`x\`. */ + acos(x: T): T; + /** Returns the hyperbolic arc-cosine of \`x\`. */ + acosh(x: T): T; + /** Returns the arcsine (in radians) of \`x\`. */ + asin(x: T): T; + /** Returns the hyperbolic arcsine of \`x\`. */ + asinh(x: T): T; + /** Returns the arctangent (in radians) of \`x\`. */ + atan(x: T): T; + /** Returns the arctangent of the quotient of its arguments. */ + atan2(y: T, x: T): T; + /** Returns the hyperbolic arctangent of \`x\`. */ + atanh(x: T): T; + /** Returns the cube root of \`x\`. */ + cbrt(x: T): T; + /** Returns the smallest integer greater than or equal to \`x\`. */ + ceil(x: T): T; + /** Returns the number of leading zero bits in the 32-bit binary representation of \`x\`. */ + clz32(x: T): T; + /** Returns the cosine (in radians) of \`x\`. */ + cos(x: T): T; + /** Returns the hyperbolic cosine of \`x\`. */ + cosh(x: T): T; + /** Returns e to the power of \`x\`. */ + exp(x: T): T; + /** Returns e to the power of \`x\`, minus 1. */ + expm1(x: T): T; + /** Returns the largest integer less than or equal to \`x\`. */ + floor(x: T): T; + /** Returns the nearest 32-bit single precision float representation of \`x\`. */ + fround(x: T): T; + /** Returns the square root of the sum of squares of its arguments. */ + hypot(value1: T, value2: T): T; // TODO: rest + /** Returns the result of the C-like 32-bit multiplication of \`a\` and \`b\`. */ + imul(a: T, b: T): T; + /** Returns the natural logarithm (base e) of \`x\`. */ + log(x: T): T; + /** Returns the base 10 logarithm of \`x\`. */ + log10(x: T): T; + /** Returns the natural logarithm (base e) of 1 + \`x\`. */ + log1p(x: T): T; + /** Returns the base 2 logarithm of \`x\`. */ + log2(x: T): T; + /** Returns the largest-valued number of its arguments. */ + max(value1: T, value2: T): T; // TODO: rest + /** Returns the lowest-valued number of its arguments. */ + min(value1: T, value2: T): T; // TODO: rest + /** Returns \`base\` to the power of \`exponent\`. */ + pow(base: T, exponent: T): T; + /** Returns a pseudo-random number in the range from 0.0 inclusive up to but not including 1.0. */ + random(): T; + /** Returns the value of \`x\` rounded to the nearest integer. */ + round(x: T): T; + /** Returns the sign of \`x\`, indicating whether the number is positive, negative or zero. */ + sign(x: T): T; + /** Returns whether the sign bit of \`x\` is set. */ + signbit(x: T): bool; + /** Returns the sine of \`x\`. */ + sin(x: T): T; + /** Returns the hyperbolic sine of \`x\`. */ + sinh(x: T): T; + /** Returns the square root of \`x\`. */ + sqrt(x: T): T; + /** Returns the tangent of \`x\`. */ + tan(x: T): T; + /** Returns the hyperbolic tangent of \`x\`. */ + tanh(x: T): T; + /** Returns the integer part of \`x\` by removing any fractional digits. */ + trunc(x: T): T; +} + +/** @internal */ +interface INativeMath extends IMath { + /** Contains sin value produced after Math/Mathf.sincos */ + sincos_sin: T; + /** Contains cos value produced after Math/Mathf.sincos */ + sincos_cos: T; + /** Seeds the random number generator. */ + seedRandom(value: i64): void; + /** Multiplies a floating point \`x\` by 2 raised to power exp \`n\`. */ + scalbn(x: T, n: i32): T; + /** Returns the floating-point remainder of \`x / y\` (rounded towards zero). */ + mod(x: T, y: T): T; + /** Returns the floating-point remainder of \`x / y\` (rounded to nearest). */ + rem(x: T, y: T): T; + /** Returns sin and cos simultaneously for same angle. Results stored to \`sincos_s32/64\` and \`sincos_c32/64\` globals */ + sincos(x: T): void; + /** Returns 2 raised to the given power x. Equivalent to 2 ** x. */ + exp2(x: T): T; +} + +/** Double precision math imported from JavaScript. */ +declare const JSMath: IMath; +/** Double precision math implemented natively. */ +declare const NativeMath: INativeMath; +/** Single precision math implemented natively. */ +declare const NativeMathf: INativeMath; +/** Alias of {@link NativeMath} or {@link JSMath} respectively. Defaults to \`NativeMath\`. */ +declare const Math: IMath; +/** Alias of {@link NativeMathf} or {@link JSMath} respectively. Defaults to \`NativeMathf\`. */ +declare const Mathf: IMath; + +/** Environmental abort function. */ +declare function abort(msg?: string | null, fileName?: string | null, lineNumber?: i32, columnNumber?: i32): never; +/** Environmental tracing function. */ +declare function trace(msg: string, n?: i32, a0?: f64, a1?: f64, a2?: f64, a3?: f64, a4?: f64): void; +/** Environmental seeding function. */ +declare function seed(): f64; + +/** Node-like process. */ +declare namespace process { + /** String representing the CPU architecture for which the binary was compiled. Either \`wasm32\` or \`wasm64\`. */ + export const arch: string; + /** String representing the operating system platform for which the binary was compiled. Always \`wasm\`. */ + export const platform: string; + /** Array of command line arguments passed to the binary upon instantiation. */ + export const argv: string[]; + /** Map of variables in the binary's user environment. */ + export const env: Map; + /** Terminates the process with either the given exit code, or \`process.exitCode\` if omitted. */ + export function exit(code?: i32): void; + /** \`exit()\`\u2019s default value. Defaults to \`0\`. */ + export let exitCode: i32; + /** Stream connected to \`stdin\` (fd \`0\`). */ + export const stdin: ReadableStream; + /** Stream connected to \`stdout\` (fd \`1\`). */ + export const stdout: WritableStream; + /** Stream connected to \`stderr\` (fd \`2\`). */ + export const stderr: WritableStream; + /** Obtains the system's current time of day, in milliseconds since Unix epoch. */ + export function time(): i64; + /** Obtains the system's monotonic high resolution time, in nanoseconds since an arbitrary time in the past. */ + export function hrtime(): u64; + + interface Stream { + /** Closes the stream. Throws if already closed or if the stream cannot be closed. */ + close(): void; + } + interface ReadableStream extends Stream { + /** Reads available data from the stream, into \`buffer\` at offset \`offset\`, returning the number of bytes read. */ + read(buffer: ArrayBuffer, offset?: isize): i32; + } + interface WritableStream extends Stream { + /** Writes string or buffer to the stream. */ + write(data: T): void; + } +} + +/** Browser-like console. */ +declare namespace console { + /** Logs \`message\` to console if \`assertion\` is false-ish. */ + export function assert(assertion: T, message?: string): void; + /** Outputs \`message\` to the console. */ + export function log(message?: string): void; + /** Outputs \`message\` to the console, prefixed with "Debug:". */ + export function debug(message?: string): void; + /** Outputs \`message\` to the console, prefixed with "Info:". */ + export function info(message?: string): void; + /** Outputs \`message\` to the console, prefixed with "Warning:". */ + export function warn(message?: string): void; + /** Outputs \`message\` to the console, prefixed with "Error:". */ + export function error(message?: string): void; + /** Starts a new timer using the specified \`label\`. */ + export function time(label?: string): void; + /** Logs the current value of a timer previously started with \`console.time\`. */ + export function timeLog(label?: string): void; + /** Logs the current value of a timer previously started with \`console.time\` and discards the timer. */ + export function timeEnd(label?: string): void; +} + +/** Browser-like crypto utilities. */ +declare namespace crypto { + /** Fills \`array\` with cryptographically strong random values. */ + export function getRandomValues(array: Uint8Array): void; +} + +// Decorators + +interface TypedPropertyDescriptor { + configurable?: boolean; + enumerable?: boolean; + writable?: boolean; + value?: T; + get?(): T; + set?(value: T): void; +} + +type Constructor = + (new (...args: any[]) => unknown) + | (abstract new (...args: any[]) => unknown); + +/** Annotates a method as a binary operator overload for the specified \`token\`. */ +declare function operator(token: + "[]" | "[]=" | "{}" | "{}=" | "==" | "!=" | ">" | "<" | "<=" | ">=" | + ">>" | ">>>" | "<<" | "&" | "|" | "^" | "+" | "-" | "*" | "**" | "/" | "%" +): ( + target: any, + propertyKey: string, + descriptor: TypedPropertyDescriptor +) => TypedPropertyDescriptor | void; + +declare namespace operator { + /** Annotates a method as a binary operator overload for the specified \`token\`. */ + export function binary(token: + "[]" | "[]=" | "{}" | "{}=" | "==" | "!=" | ">" | "<" | "<=" | ">=" | + ">>" | ">>>" | "<<" | "&" | "|" | "^" | "+" | "-" | "*" | "**" | "/" | "%" + ): ( + target: any, + propertyKey: string, + descriptor: TypedPropertyDescriptor + ) => TypedPropertyDescriptor | void; + /** Annotates a method as an unary prefix operator overload for the specified \`token\`. */ + export function prefix(token: "!" | "~" | "+" | "-" | "++" | "--"): ( + target: any, + propertyKey: string, + descriptor: TypedPropertyDescriptor + ) => TypedPropertyDescriptor | void; + /** Annotates a method as an unary postfix operator overload for the specified \`token\`. */ + export function postfix(token: "++" | "--"): ( + target: any, + propertyKey: string, + descriptor: TypedPropertyDescriptor + ) => TypedPropertyDescriptor | void; +} + +/** Annotates an element as a program global. */ +declare function global(...args: any[]): any; + +/** Annotates a class as being unmanaged with limited capabilities. */ +declare function unmanaged(constructor: Constructor): void; + +/** Annotates a class as being final / non-derivable. */ +declare function final(constructor: Constructor): void; + +/** Annotates a method, function or constant global as always inlined. */ +declare function inline(...args: any[]): any; + +/** Annotates a method, function or constant global as unsafe. */ +declare function unsafe(...args: any[]): any; + +/** Annotates an explicit external name of a function or global. */ +declare function external(name: string): any; +declare function external(moduleName: string, name: string): any; +declare namespace external { + function js(code: string): any; +} + +/** Annotates a global for lazy compilation. */ +declare function lazy(...args: any[]): any; +`,portable:`/** + * Environment definitions for compiling AssemblyScript to JavaScript using tsc. + * + * Note that semantic differences require additional explicit conversions for full compatibility. + * For example, when casting an i32 to an u8, doing \`(someI32 & 0xff)\` will yield the same + * result when compiling to WebAssembly or JS while \`someI32\` alone does nothing in JS. + * + * Note that i64's are not portable (JS numbers are IEEE754 doubles with a maximum safe integer + * value of 2^53-1) and instead require a compatibility layer to work in JS as well, as for example + * {@link glue/js/i64} respectively {@link glue/wasm/i64}. + * + * @module std/portable + *//***/ + +// Types + +declare type bool = boolean; +declare type i8 = number; +declare type i16 = number; +declare type i32 = number; +declare type isize = number; +declare type u8 = number; +declare type u16 = number; +declare type u32 = number; +declare type usize = number; +declare type f32 = number; +declare type f64 = number; + +/** Special type evaluating the indexed access index type. */ +declare type indexof = keyof T; +/** Special type evaluating the indexed access value type. */ +declare type valueof = T[0]; + +// Compiler hints + +/** Compiler target. 0 = JS, 1 = WASM32, 2 = WASM64. */ +declare const ASC_TARGET: i32; +/** Runtime type. 0 = Stub, 1 = Minimal, 2 = Incremental. */ +declare const ASC_RUNTIME: i32; +/** Provided noAssert option. */ +declare const ASC_NO_ASSERT: bool; +/** Provided memoryBase option. */ +declare const ASC_MEMORY_BASE: i32; +/** Provided optimizeLevel option. */ +declare const ASC_OPTIMIZE_LEVEL: i32; +/** Provided shrinkLevel option. */ +declare const ASC_SHRINK_LEVEL: i32; +/** Whether the mutable global feature is enabled. */ +declare const ASC_FEATURE_MUTABLE_GLOBAL: bool; +/** Whether the sign extension feature is enabled. */ +declare const ASC_FEATURE_SIGN_EXTENSION: bool; + +// Builtins + +/** Performs the sign-agnostic reverse bytes **/ +declare function bswap(value: T): T; +/** Performs the sign-agnostic count leading zero bits operation on a 32-bit integer. All zero bits are considered leading if the value is zero. */ +declare function clz(value: T): T; +/** Performs the sign-agnostic count tailing zero bits operation on a 32-bit integer. All zero bits are considered trailing if the value is zero. */ +declare function ctz(value: T): T; +/** Performs the sign-agnostic count number of one bits operation on a 32-bit integer. */ +declare function popcnt(value: T): T; +/** Performs the sign-agnostic rotate left operation on a 32-bit integer. */ +declare function rotl(value: T, shift: T): T; +/** Performs the sign-agnostic rotate right operation on a 32-bit integer. */ +declare function rotr(value: T, shift: T): T; +/** Computes the absolute value of an integer or float. */ +declare function abs(value: T): T; +/** Determines the maximum of two integers or floats. If either operand is \`NaN\`, returns \`NaN\`. */ +declare function max(left: T, right: T): T; +/** Determines the minimum of two integers or floats. If either operand is \`NaN\`, returns \`NaN\`. */ +declare function min(left: T, right: T): T; +/** Composes a 32-bit or 64-bit float from the magnitude of \`x\` and the sign of \`y\`. */ +declare function copysign(x: T, y: T): T; +/** Performs the ceiling operation on a 32-bit or 64-bit float. */ +declare function ceil(value: T): T; +/** Performs the floor operation on a 32-bit or 64-bit float. */ +declare function floor(value: T): T; +/** Rounds to the nearest integer tied to even of a 32-bit or 64-bit float. */ +declare function nearest(value: T): T; +/** Selects one of two pre-evaluated values depending on the condition. */ +declare function select(ifTrue: T, ifFalse: T, condition: bool): T; +/** Calculates the square root of a 32-bit or 64-bit float. */ +declare function sqrt(value: T): T; +/** Rounds to the nearest integer towards zero of a 32-bit or 64-bit float. */ +declare function trunc(value: T): T; +/** Emits an unreachable operation that results in a runtime error when executed. */ +declare function unreachable(): any; // sic + +/** Changes the type of any value of \`usize\` kind to another one of \`usize\` kind. Useful for casting class instances to their pointer values and vice-versa. Beware that this is unsafe.*/ +declare function changetype(value: any): T; +/** Explicitly requests no bounds checks on the provided expression. Useful for array accesses. */ +declare function unchecked(value: T): T; +/** Tests if the specified value is a valid integer. Can't distinguish an integer from an integral float. */ +declare function isInteger(value: any): value is number; +/** Tests if the specified value is a valid float. Can't distinguish a float from an integer. */ +declare function isFloat(value: any): value is number; +/** Tests if the specified value is of a nullable reference type. */ +declare function isNullable(value: any): bool; +/** Tests if the specified value is of a reference type. */ +declare function isReference(value: any): value is object | string; +/** Tests if the specified value is of a function type */ +declare function isFunction(value: any): value is Function; +/** Tests if the specified value can be used as a string. */ +declare function isString(value: any): value is string | String; +/** Tests if the specified value can be used as an array. */ +declare function isArray(value: any): value is Array; +/** Tests if the specified type *or* expression can be used as an array like object. */ +declare function isArrayLike(value: any): value is ArrayLike; +/** Tests if the specified expression resolves to a defined element. */ +declare function isDefined(expression: any): bool; +/** Tests if the specified expression evaluates to a constant value. */ +declare function isConstant(expression: any): bool; +/** Traps if the specified value is not true-ish, otherwise returns the value. */ +declare function assert(isTrueish: T, message?: string): T & (object | string | number); // any better way to model \`: T != null\`? +/** Parses an integer string to a 64-bit float. */ +declare function parseInt(str: string, radix?: i32): f64; +/** Parses a floating point string to a 64-bit float. */ +declare function parseFloat(str: string): f64; +/** Returns the 64-bit floating-point remainder of \`x/y\`. */ +declare function fmod(x: f64, y: f64): f64; +/** Returns the 32-bit floating-point remainder of \`x/y\`. */ +declare function fmodf(x: f32, y: f32): f32; + +/** Converts any other numeric value to an 8-bit signed integer. */ +declare function i8(value: any): i8; +declare namespace i8 { + /** Smallest representable value. */ + export const MIN_VALUE: i8; + /** Largest representable value. */ + export const MAX_VALUE: i8; + /** Converts a string to a floating-point number and cast to target integer after. */ + export function parseFloat(string: string): i8; + /** Parses a string as an integer. */ + export function parseInt(string: string, radix?: i32): i8; + /** Parses a string as an i8. */ + export function parse(value: string, radix?: i32): i8; +} +/** Converts any other numeric value to a 16-bit signed integer. */ +declare function i16(value: any): i16; +declare namespace i16 { + /** Smallest representable value. */ + export const MIN_VALUE: i16; + /** Largest representable value. */ + export const MAX_VALUE: i16; + /** Converts a string to a floating-point number and cast to target integer after. */ + export function parseFloat(string: string): i16; + /** Parses a string as an integer. */ + export function parseInt(string: string, radix?: i32): i16; + /** Parses a string as an i16. */ + export function parse(value: string, radix?: i32): i16; +} +/** Converts any other numeric value to a 32-bit signed integer. */ +declare function i32(value: any): i32; +declare namespace i32 { + /** Smallest representable value. */ + export const MIN_VALUE: i32; + /** Largest representable value. */ + export const MAX_VALUE: i32; + /** Converts a string to a floating-point number and cast to target integer after. */ + export function parseFloat(string: string): i32; + /** Parses a string as an integer. */ + export function parseInt(string: string, radix?: i32): i32; + /** Parses a string as an i32. */ + export function parse(value: string, radix?: i32): i32; +} +/** Converts any other numeric value to a 32-bit (in WASM32) respectivel 64-bit (in WASM64) signed integer. */ +declare function isize(value: any): isize; +declare namespace isize { + /** Smallest representable value. */ + export const MIN_VALUE: isize; + /** Largest representable value. */ + export const MAX_VALUE: isize; + /** Converts a string to a floating-point number and cast to target integer after. */ + export function parseFloat(string: string): isize; + /** Parses a string as an integer. */ + export function parseInt(string: string, radix?: i32): isize; + /** Parses a string as an iszie. */ + export function parse(value: string, radix?: i32): isize; +} +/** Converts any other numeric value to an 8-bit unsigned integer. */ +declare function u8(value: any): u8; +declare namespace u8 { + /** Smallest representable value. */ + export const MIN_VALUE: u8; + /** Largest representable value. */ + export const MAX_VALUE: u8; + /** Converts a string to a floating-point number and cast to target integer after. */ + export function parseFloat(string: string): u8; + /** Parses a string as an integer. */ + export function parseInt(string: string, radix?: i32): u8; + /** Parses a string as an u8. */ + export function parse(value: string, radix?: i32): u8; +} +/** Converts any other numeric value to a 16-bit unsigned integer. */ +declare function u16(value: any): u16; +declare namespace u16 { + /** Smallest representable value. */ + export const MIN_VALUE: u16; + /** Largest representable value. */ + export const MAX_VALUE: u16; + /** Converts a string to a floating-point number and cast to target integer after. */ + export function parseFloat(string: string): u16; + /** Parses a string as an integer. */ + export function parseInt(string: string, radix?: i32): u16; + /** Parses a string as an u16. */ + export function parse(value: string, radix?: i32): u16; +} +/** Converts any other numeric value to a 32-bit unsigned integer. */ +declare function u32(value: any): u32; +declare namespace u32 { + /** Smallest representable value. */ + export const MIN_VALUE: u32; + /** Largest representable value. */ + export const MAX_VALUE: u32; + /** Converts a string to a floating-point number and cast to target integer after. */ + export function parseFloat(string: string): u32; + /** Parses a string as an integer. */ + export function parseInt(string: string, radix?: i32): u32; + /** Parses a string as an u32. */ + export function parse(value: string, radix?: i32): u32; +} +/** Converts any other numeric value to a 32-bit (in WASM32) respectivel 64-bit (in WASM64) unsigned integer. */ +declare function usize(value: any): isize; +declare namespace usize { + /** Smallest representable value. */ + export const MIN_VALUE: usize; + /** Largest representable value. */ + export const MAX_VALUE: usize; + /** Converts a string to a floating-point number and cast to target integer after. */ + export function parseFloat(string: string): usize; + /** Parses a string as an integer. */ + export function parseInt(string: string, radix?: i32): usize; + /** Parses a string as an usize. */ + export function parse(value: string, radix?: i32): usize; +} +/** Converts any other numeric value to a 1-bit unsigned integer. */ +declare function bool(value: any): bool; +declare namespace bool { + /** Smallest representable value. */ + export const MIN_VALUE: bool; + /** Largest representable value. */ + export const MAX_VALUE: bool; + /** Parses a string as a bool. */ + export function parse(value: string): bool; +} +/** Converts any other numeric value to a 32-bit float. */ +declare function f32(value: any): f32; +declare namespace f32 { + /** Smallest representable value. */ + export const MIN_VALUE: f32; + /** Largest representable value. */ + export const MAX_VALUE: f32; + /** Smallest normalized positive value. */ + export const MIN_NORMAL_VALUE: f32; + /** Smallest safely representable integer value. */ + export const MIN_SAFE_INTEGER: f32; + /** Largest safely representable integer value. */ + export const MAX_SAFE_INTEGER: f32; + /** Positive infinity value. */ + export const POSITIVE_INFINITY: f32; + /** Negative infinity value. */ + export const NEGATIVE_INFINITY: f32; + /** Not a number value. */ + /* eslint no-shadow-restricted-names: "off" */ + export const NaN: f32; + /** Difference between 1 and the smallest representable value greater than 1. */ + export const EPSILON: f32; + /** Returns a boolean value that indicates whether a value is the reserved value NaN (not a number). */ + export function isNaN(value: f32): bool; + /** Returns true if passed value is finite. */ + export function isFinite(value: f32): bool; + /** Returns true if the value passed is a safe integer. */ + export function isSafeInteger(value: f32): bool; + /** Returns true if the value passed is an integer, false otherwise. */ + export function isInteger(value: f32): bool; + /** Converts a string to a floating-point number. */ + export function parseFloat(string: string): f32; + /** Parses a string as an integer and convert to an f32. */ + export function parseInt(string: string, radix?: i32): f32; + /** Parses a string as an f32. */ + export function parse(value: string): f32; +} +/** Converts any other numeric value to a 64-bit float. */ +declare function f64(value: any): f64; +declare namespace f64 { + /** Smallest representable value. */ + export const MIN_VALUE: f64; + /** Largest representable value. */ + export const MAX_VALUE: f64; + /** Smallest normalized positive value. */ + export const MIN_NORMAL_VALUE: f64; + /** Smallest safely representable integer value. */ + export const MIN_SAFE_INTEGER: f64; + /** Largest safely representable integer value. */ + export const MAX_SAFE_INTEGER: f64; + /** Positive infinity value. */ + export const POSITIVE_INFINITY: f64; + /** Negative infinity value. */ + export const NEGATIVE_INFINITY: f64; + /** Not a number value. */ + /* eslint no-shadow-restricted-names: "off" */ + export const NaN: f64; + /** Difference between 1 and the smallest representable value greater than 1. */ + export const EPSILON: f64; + /** Returns a boolean value that indicates whether a value is the reserved value NaN (not a number). */ + export function isNaN(value: f32): bool; + /** Returns true if passed value is finite. */ + export function isFinite(value: f32): bool; + /** Returns true if the value passed is a safe integer. */ + export function isSafeInteger(value: f64): bool; + /** Returns true if the value passed is an integer, false otherwise. */ + export function isInteger(value: f64): bool; + /** Converts a string to a floating-point number. */ + export function parseFloat(string: string): f64; + /** Parses a string as an integer and convert to an f64. */ + export function parseInt(string: string, radix?: i32): f64; + /** Parses a string as an f64. */ + export function parse(value: string): f64; +} + +// Standard library + +declare const Mathf: typeof Math; +declare const JSMath: typeof Math; + +declare interface StringConstructor { + /** Equivalent to calling \`String.fromCharCode\` with multiple arguments. */ + fromCharCodes(arr: i32[]): string; + /** Equivalent to calling \`String.fromCodePoint\` with multiple arguments. */ + fromCodePoints(arr: i32[]): string; +} + +declare interface String { + /** Returns value using relative indexing. Index may be negative */ + at(index: i32): string; +} + +/** Annotates a class as being unmanaged with limited capabilities. */ +declare function unmanaged(constructor: Function): void; + +/** Environmental tracing function. */ +declare function trace(msg: string, n?: i32, a0?: f64, a1?: f64, a2?: f64, a3?: f64, a4?: f64): void; + +declare interface Array { + /** Returns value using relative indexing. Index may be negative */ + at(index: i32): T; + /** Returns an index start searching from the end in the array */ + findLastIndex(callbackfn: (value: T, index: i32, self: Array) => bool): i32; +} + +declare interface Int8ArrayConstructor { + /** Equivalent to calling \`new Int8Array\` with multiple arguments. */ + wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Int8Array; +} + +declare interface Int8Array { + /** Returns value using relative indexing. Index may be negative */ + at(index: i32): i8; + /** Returns an index start searching from the end in the typedarray */ + findLastIndex(callbackfn: (value: i8, index: i32, self: Int8Array) => bool): i32; +} + +declare interface Uint8ArrayConstructor { + /** Equivalent to calling \`new Uint8Array\` with multiple arguments. */ + wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Uint8Array; +} + +declare interface Uint8Array { + /** Returns value using relative indexing. Index may be negative */ + at(index: i32): u8; + /** Returns an index start searching from the end in the typedarray */ + findLastIndex(callbackfn: (value: u8, index: i32, self: Uint8Array) => bool): i32; +} + +declare interface Uint8ClampedArrayConstructor { + /** Equivalent to calling \`new Uint8ClampedArray\` with multiple arguments. */ + wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Uint8ClampedArray; +} + +declare interface Uint8ClampedArray { + /** Returns value using relative indexing. Index may be negative */ + at(index: i32): u8; + /** Returns an index start searching from the end in the typedarray */ + findLastIndex(callbackfn: (value: u8, index: i32, self: Uint8ClampedArray) => bool): i32; +} + +declare interface Int16ArrayConstructor { + /** Equivalent to calling \`new Int16Array\` with multiple arguments. */ + wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Int16Array; +} + +declare interface Int16Array { + /** Returns value using relative indexing. Index may be negative */ + at(index: i32): i16; + /** Returns an index start searching from the end in the typedarray */ + findLastIndex(callbackfn: (value: i16, index: i32, self: Int16Array) => bool): i32; +} + +declare interface Uint16ArrayConstructor { + /** Equivalent to calling \`new Uint16Array\` with multiple arguments. */ + wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Uint16Array; +} + +declare interface Uint16Array { + /** Returns value using relative indexing. Index may be negative */ + at(index: i32): u16; + /** Returns an index start searching from the end in the typedarray */ + findLastIndex(callbackfn: (value: u16, index: i32, self: Uint16Array) => bool): i32; +} + +declare interface Int32ArrayConstructor { + /** Equivalent to calling \`new Int32Array\` with multiple arguments. */ + wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Int32Array; +} + +declare interface Int32Array { + /** Returns value using relative indexing. Index may be negative */ + at(index: i32): i32; + /** Returns an index start searching from the end in the typedarray */ + findLastIndex(callbackfn: (value: i32, index: i32, self: Int32Array) => bool): i32; +} + +declare interface Uint32ArrayConstructor { + /** Equivalent to calling \`new Uint32Array\` with multiple arguments. */ + wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Uint32Array; +} + +declare interface Uint32Array { + /** Returns value using relative indexing. Index may be negative */ + at(index: i32): u32; + /** Returns an index start searching from the end in the typedarray */ + findLastIndex(callbackfn: (value: u32, index: i32, self: Uint32Array) => bool): i32; +} + +declare interface Float32ArrayConstructor { + /** Equivalent to calling \`new Float32Array\` with multiple arguments. */ + wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Float32Array; +} + +declare interface Float32Array { + /** Returns value using relative indexing. Index may be negative */ + at(index: i32): f32; + /** Returns an index start searching from the end in the typedarray */ + findLastIndex(callbackfn: (value: f32, index: i32, self: Float32Array) => bool): i32; +} + +declare interface Float64ArrayConstructor { + /** Equivalent to calling \`new Float64Array\` with multiple arguments. */ + wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Float64Array; +} + +declare interface Float64Array { + /** Returns value using relative indexing. Index may be negative */ + at(index: i32): f64; + /** Returns an index start searching from the end in the typedarray */ + findLastIndex(callbackfn: (value: f64, index: i32, self: Float64Array) => bool): i32; +} + +// FIXME: remove +declare function offsetof(fieldName?: string): usize; +declare function idof(): u32; +`};var bn={};rn(bn,{default:()=>Sn});Rn(bn,ti);import*as ti from"binaryen";import{default as Sn}from"binaryen";import*as Ut from"assemblyscript";var b=Ut,qn=j.argv.indexOf("--wasm");if(~qn){let t=String(j.argv[qn+1]);j.argv.splice(qn,2),b=await import(new URL(t,hn.pathToFileURL(j.cwd()+"/")))}var Wn=fn.createRequire(import.meta.url),Qn=j.platform==="win32",E=Qn?`\r +`:` +`,Yn=Qn?"\\":"/",_=".ts",Mt=`.d${_}`,Fn=new RegExp("\\"+_+"$"),Pt=new RegExp("^(?!.*\\.d\\"+_+"$).*\\"+_+"$");function Le(t){return t.replace(/-/g,"_").toUpperCase()}function Vt(t){return typeof t=="string"&&t!==""}var Zn=Se,jt=Q,G=De,q=Ie,Gt=Oe,Ne=3,Ue=0;function ne(t,n=[]){return Object.keys(t||{}).forEach(e=>{let i=t[e],o=Q[e];o&&o.type==="b"?i&&n.push(`--${e}`):Array.isArray(i)?i.forEach(r=>{n.push(`--${e}`,String(r))}):n.push(`--${e}`,String(i))}),n}async function Ht(t,n={}){typeof t=="string"&&(t={[`input${_}`]:t});let e=["--outFile","binary","--textFile","text"];ne(n,e);let i={},o=await Me(e.concat(Object.keys(t)),{readFile:r=>Object.prototype.hasOwnProperty.call(t,r)?t[r]:null,writeFile:(r,l)=>{i[r]=l},listFiles:()=>[]});return Object.assign(o,i)}async function Me(t,n){Array.isArray(t)||(t=ne(t)),n||(n={});let e=n.stats||new In,i=e.begin(),o=0,r=0,l=0,u=(Zn||"").split(".");u.length===3&&(r=parseInt(u[0])|0,o=parseInt(u[1])|0,l=parseInt(u[2])|0);let f=n.stdout||Jn(),x=n.stderr||Jn(),c=n.readFile||ae,g=n.writeFile||se,F=n.listFiles||le,m=Be(t,Q,!1),a=m.options;t=m.arguments;let B=new on(f),I=new on(x);a.noColors&&(B.enabled=!1,I.enabled=!1);let W=m.unknown;W.length&&W.forEach(s=>{x.write(`${I.yellow("WARNING ")}Unknown option '${s}'${E}`)});let Y=m.trailing;Y.length&&x.write(`${I.yellow("WARNING ")}Unsupported trailing arguments: ${Y.join(" ")}${E}`);let N=null,O=null,z=(s,d={})=>(s&&x.write(`${I.red("FAILURE ")}${s.stack.replace(/^ERROR: /i,"")}${E}`),O&&O.dispose(),e.total||(e.total=e.end(i)),Object.assign({error:s,stdout:f,stderr:x,stats:e},d));if(a.version)return f.write(`Version ${Zn}${E}`),z(null);let w=v.normalize(a.baseDir||"."),$=an(a.config||"asconfig.json",w),On=v.basename($),nn=v.dirname($),M=await ke(On,nn,c),Pe=M!=null&&Array.isArray(M.entries)&&M.entries.length;if(a.help||!t.length&&!Pe){let s=a.help?f:x,d=a.help?B:I;return s.write([d.white("SYNTAX")," "+d.cyan("asc")+" [entryFile ...] [options]","",d.white("EXAMPLES")," "+d.cyan("asc")+" hello"+_," "+d.cyan("asc")+" hello"+_+" -o hello.wasm -t hello.wat"," "+d.cyan("asc")+" hello1"+_+" hello2"+_+" -o -O > hello.wasm"," "+d.cyan("asc")+" --config asconfig.json --target release","",d.white("OPTIONS")].concat(we(Q,24,E)).join(E)+E),z(null)}if(!(X.promises&&X.promises.readFile)){if(c===ae)throw Error("'options.readFile' must be specified");if(g===se)throw Error("'options.writeFile' must be specified");if(F===le)throw Error("'options.listFiles' must be specified")}let Ln=new Set;Ln.add($);let Ve=a.target||"release";for(;M;){if(M.targets){let d=M.targets[Ve];d&&(a=Xn(Q,a,d,nn))}let s=M.options;if(s&&(a=Xn(Q,a,s,nn)),M.entries)for(let d of M.entries)t.push(an(d,nn));if(M.extends){if($=an(M.extends,nn,!0),On=v.basename($),nn=v.dirname($),Ln.has($))break;Ln.add($),M=await ke(On,nn,c)}else break}if(Kn(Q,a),a.showConfig)return x.write(JSON.stringify({options:a,entries:t},null,2)),z(null);function te(s){return[...new Set(s)]}let D,cn,yn,T=b.newOptions();switch(a.runtime){case"stub":cn=0;break;case"minimal":cn=1;break;default:cn=2;break}switch(a.uncheckedBehavior){default:yn=0;break;case"never":yn=1;break;case"always":yn=2;break}if(b.setTarget(T,0),b.setDebugInfo(T,!!a.debug),b.setRuntime(T,cn),b.setNoAssert(T,a.noAssert),b.setExportMemory(T,!a.noExportMemory),b.setImportMemory(T,a.importMemory),b.setInitialMemory(T,a.initialMemory>>>0),b.setMaximumMemory(T,a.maximumMemory>>>0),b.setSharedMemory(T,a.sharedMemory),b.setImportTable(T,a.importTable),b.setExportTable(T,a.exportTable),a.exportStart!=null&&b.setExportStart(T,Vt(a.exportStart)?a.exportStart:"_start"),b.setMemoryBase(T,a.memoryBase>>>0),b.setTableBase(T,a.tableBase>>>0),b.setSourceMap(T,a.sourceMap!=null),b.setUncheckedBehavior(T,yn),b.setNoUnsafe(T,a.noUnsafe),b.setPedantic(T,a.pedantic),b.setLowMemoryLimit(T,a.lowMemoryLimit>>>0),b.setExportRuntime(T,a.exportRuntime),b.setBundleVersion(T,r,o,l),!a.stackSize&&cn===2&&(a.stackSize=b.DEFAULT_STACK_SIZE),b.setStackSize(T,a.stackSize),b.setBindingsHint(T,a.bindings&&a.bindings.length>0),a.use){let s=a.use;for(let d=0,p=s.length;d(typeof s=="function"&&(Object.assign(s.prototype,{program:D,binaryen:Sn,baseDir:w,stdout:f,stderr:x,log:console.error,readFile:c,writeFile:g,listFiles:F}),s=new s),s))}catch(s){return z(s)}async function kn(s,...d){for(let p=0,h=sn.length;p{if(s.includes("/"))return;let d=e.begin();e.parseCount++,b.parse(D,q[s],G+s+_,!1),e.parseTime+=e.end(d)});let ln=[];if(a.lib){let s=a.lib;typeof s=="string"&&(s=s.split(",")),ln.push(...s.map(d=>d.trim())),ln=te(ln);for(let d=0,p=ln.length;d=R;--S)k[S-1]!=="node_modules"&&V.push(`${k.slice(0,S).join(Yn)}${Yn}node_modules`);V.push(...a.path);for(let S of V.map(R=>v.relative(w,R))){let R=Z;if((p=await c(v.join(S,L,R+_),w))!=null){h=`${G}${L}/${R}${_}`,vn.set(h.replace(Fn,""),v.join(S,L));break}let xn=`${Z}/index`;if((p=await c(v.join(S,L,xn+_),w))!=null){h=`${G}${L}/${xn}${_}`,vn.set(h.replace(Fn,""),v.join(S,L));break}}}}}}return p==null?null:{sourceText:p,sourcePath:h}}function Ge(s=[]){do{let d=b.nextFile(D);if(d==null)break;s.push(d)}while(!0);return s}async function ie(){let s;for(;(s=Ge()).length;){let p=[];for(let h of s){let A=b.getDependee(D,h);p.push(je(h,A))}p=await Promise.all(p);for(let h=0,A=s.length;h{En.includes(s=s.trim())||En.push(s)}));{let s=e.begin();try{e.optimizeCount++,b.optimize(N,en,tn,re,oe)}catch(d){U("optimize",d)}try{O.runPasses(En)}catch(d){U("runPasses",d)}if(He){let d;try{let p=e.begin();e.emitCount++,d=O.emitBinary(),e.emitTime+=e.end(p)}catch(p){U("emitBinary (converge)",p)}do{try{e.optimizeCount++,b.optimize(N,en,tn,re,oe)}catch(h){U("optimize (converge)",h)}try{O.runPasses(En)}catch(h){U("runPasses (converge)",h)}let p;try{let h=e.begin();e.emitCount++,p=O.emitBinary(),e.emitTime+=e.end(h)}catch(h){U("emitBinary (converge)",h)}if(p.length>=d.length){p.length>d.length&&x.write(`Last converge was suboptimal.${E}`);break}d=p}while(!0)}e.optimizeTime+=e.end(s)}let un=[];if(!a.noEmit){if(a.binaryFile)return z(Error("Usage of the --binaryFile compiler option is no longer supported. Use --outFile instead."));let s=a.bindings||[],d=!1,p=a.outFile!=null,h=a.textFile!=null,A=p||h,y=p&&a.outFile.length>0||h&&a.textFile.length>0,C=y?(a.outFile||a.textFile).replace(/\.\w+$/,""):null,L=y?v.basename(C):"output";if(b.setBasenameHint(T,L),a.outFile!=null){let V=a.sourceMap!=null?a.sourceMap.length?a.sourceMap:`./${L}.wasm.map`:null,k=e.begin();e.emitCount++;let S;try{S=O.emitBinary(V)}catch(R){U("emitBinary",R)}if(e.emitTime+=e.end(k),a.outFile.length?un.push(g(a.outFile,S.binary,w)):(d=!0,An(S.binary)),S.sourceMap!="")if(a.outFile.length){let R=JSON.parse(S.sourceMap);R.sourceRoot=`./${L}`;let xn=[];for(let Tn=0,Xe=R.sources.length;TnPt.test(p))}catch{return null}}function An(s){An.used||(An.used=!0,e.writeCount++),f.write(s)}function U(s,d){let p=B.red("\u258C ");console.error([E,p,"Whoops, the AssemblyScript compiler has crashed during ",s," :-(",E,p,E,(typeof d.stack=="string"?[p,"Here is the stack trace hinting at the problem, perhaps it's useful?",E,p,E,d.stack.replace(/^/mg,p),E]:[p,"There is no stack trace. Perhaps a Binaryen exception above / in console?",E,p,E,p,"> "+d.stack,E]).join(""),p,E,p,"If you see where the error is, feel free to send us a pull request. If not,",E,p,"please let us know: https://github.com/AssemblyScript/assemblyscript/issues",E,p,E,p,"Thank you!",E].join("")),j.exit(1)}}function $n(t){return Object.prototype.toString.call(t)==="[object Object]"}async function ke(t,n,e){let i=await e(t,n),o=v.join(n,t);if(!i)return null;let r;try{r=JSON.parse(i)}catch{throw new Error(`Asconfig is not valid json: ${o}`)}if(r.options&&!$n(r.options))throw new Error(`Asconfig.options is not an object: ${o}`);if(r.include&&!Array.isArray(r.include))throw new Error(`Asconfig.include is not an array: ${o}`);if(r.targets){if(!$n(r.targets))throw new Error(`Asconfig.targets is not an object: ${o}`);let l=Object.keys(r.targets);for(let u=0;u"u"&&n&&(o=n.isTTY);let r=0;do{let f=b.nextDiagnostic(t);if(!f)break;if(n){let x=c=>{if(e==null)return!1;if(!e.length)return!0;let g=b.getDiagnosticCode(c);return e.includes(g)};(b.isError(f)||!x(f))&&n.write(b.formatDiagnostic(f,o,!0)+E+E)}if(i){let x=function(g){return g&&{start:b.getRangeStart(g),end:b.getRangeEnd(g),source:c(b.getRangeSource(g))}||null},c=function(g){return g&&{normalizedPath:b.getSourceNormalizedPath(g)}||null};var l=x,u=c;i({message:b.getDiagnosticMessage(f),code:b.getDiagnosticCode(f),category:b.getDiagnosticCategory(f),range:x(b.getDiagnosticRange(f)),relatedRange:x(b.getDiagnosticRelatedRange(f))})}b.isError(f)&&++r}while(!0);return r}var In=class{readCount=0;writeCount=0;parseTime=0;parseCount=0;initializeTime=0;initializeCount=0;compileTime=0;compileCount=0;emitTime=0;emitCount=0;validateTime=0;validateCount=0;optimizeTime=0;optimizeCount=0;transformTime=0;transformCount=0;begin(){return j.hrtime()}end(n){let e=j.hrtime(n);return e[0]*1e9+e[1]}toString(){let n=m=>m?`${(m/1e6).toFixed(3)} ms`:"n/a",e=Object.keys(this).filter(m=>m.endsWith("Time")).map(m=>m.substring(0,m.length-4)),i=e.map(m=>n(this[`${m}Time`])),o=e.map(m=>this[`${m}Count`].toString()),r=e.reduce((m,a)=>Math.max(a.length,m),0),l=i.reduce((m,a)=>Math.max(a.length,m),0),u=o.reduce((m,a)=>Math.max(a.length,m),0),f=r+l+u+6,x=[];x.push(`\u256D\u2500${"\u2500".repeat(f)}\u2500\u256E${E}`);let c="Stats";x.push(`\u2502 ${c}${" ".repeat(f-c.length)} \u2502${E}`),x.push(`\u255E\u2550${"\u2550".repeat(r)}\u2550\u2564\u2550${"\u2550".repeat(l)}\u2550\u2564\u2550${"\u2550".repeat(u)}\u2550\u2561${E}`);for(let m=0,a=e.length;mnew global.Buffer(t)):t=>new Uint8Array(t);function Jn(t){let n=[];return n.write=function(e){if(t&&t(e),typeof e=="string"){let i=Re(wn.length(e));wn.write(e,i,0),e=i}this.push(e)},n.reset=function(){n.length=0},n.toBuffer=function(){let e=0,i=0,o=this.length;for(;i 2) {\n var lastSlashIndex = res.lastIndexOf('/');\n if (lastSlashIndex !== res.length - 1) {\n if (lastSlashIndex === -1) {\n res = '';\n lastSegmentLength = 0;\n } else {\n res = res.slice(0, lastSlashIndex);\n lastSegmentLength = res.length - 1 - res.lastIndexOf('/');\n }\n lastSlash = i;\n dots = 0;\n continue;\n }\n } else if (res.length === 2 || res.length === 1) {\n res = '';\n lastSegmentLength = 0;\n lastSlash = i;\n dots = 0;\n continue;\n }\n }\n if (allowAboveRoot) {\n if (res.length > 0)\n res += '/..';\n else\n res = '..';\n lastSegmentLength = 2;\n }\n } else {\n if (res.length > 0)\n res += '/' + path.slice(lastSlash + 1, i);\n else\n res = path.slice(lastSlash + 1, i);\n lastSegmentLength = i - lastSlash - 1;\n }\n lastSlash = i;\n dots = 0;\n } else if (code === 46 && dots !== -1) {\n ++dots;\n } else {\n dots = -1;\n }\n }\n return res;\n}\n\nfunction _format(sep, pathObject) {\n var dir = pathObject.dir || pathObject.root;\n var base = pathObject.base || (pathObject.name || '') + (pathObject.ext || '');\n if (!dir) {\n return base;\n }\n if (dir === pathObject.root) {\n return dir + base;\n }\n return dir + sep + base;\n}\n\n// path.resolve([from ...], to)\nexport function resolve() {\n var resolvedPath = '';\n var resolvedAbsolute = false;\n var cwd;\n\n for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {\n var path;\n if (i >= 0)\n path = arguments[i];\n else {\n if (cwd === undefined)\n cwd = process.cwd();\n path = cwd;\n }\n\n assertPath(path);\n\n // Skip empty entries\n if (path.length === 0) {\n continue;\n }\n\n resolvedPath = path + '/' + resolvedPath;\n resolvedAbsolute = path.charCodeAt(0) === 47 /*/*/;\n }\n\n // At this point the path should be resolved to a full absolute path, but\n // handle relative paths to be safe (might happen when process.cwd() fails)\n\n // Normalize the path\n resolvedPath = normalizeStringPosix(resolvedPath, !resolvedAbsolute);\n\n if (resolvedAbsolute) {\n if (resolvedPath.length > 0)\n return '/' + resolvedPath;\n else\n return '/';\n } else if (resolvedPath.length > 0) {\n return resolvedPath;\n } else {\n return '.';\n }\n}\n\nexport function normalize(path) {\n assertPath(path);\n\n if (path.length === 0) return '.';\n\n var isAbsolute = path.charCodeAt(0) === 47 /*/*/;\n var trailingSeparator = path.charCodeAt(path.length - 1) === 47 /*/*/;\n\n // Normalize the path\n path = normalizeStringPosix(path, !isAbsolute);\n\n if (path.length === 0 && !isAbsolute) path = '.';\n if (path.length > 0 && trailingSeparator) path += '/';\n\n if (isAbsolute) return '/' + path;\n return path;\n}\n\nexport function isAbsolute(path) {\n assertPath(path);\n return path.length > 0 && path.charCodeAt(0) === 47 /*/*/;\n}\n\nexport function join() {\n if (arguments.length === 0)\n return '.';\n var joined;\n for (var i = 0; i < arguments.length; ++i) {\n var arg = arguments[i];\n assertPath(arg);\n if (arg.length > 0) {\n if (joined === undefined)\n joined = arg;\n else\n joined += '/' + arg;\n }\n }\n if (joined === undefined)\n return '.';\n return normalize(joined);\n}\n\nexport function relative(from, to) {\n assertPath(from);\n assertPath(to);\n\n if (from === to) return '';\n\n from = resolve(from);\n to = resolve(to);\n\n if (from === to) return '';\n\n if (from === \".\") return to; // FIX for 'odule.ts' (see issue #1398)\n\n // Trim any leading backslashes\n var fromStart = 1;\n for (; fromStart < from.length; ++fromStart) {\n if (from.charCodeAt(fromStart) !== 47 /*/*/)\n break;\n }\n var fromEnd = from.length;\n var fromLen = fromEnd - fromStart;\n\n // Trim any leading backslashes\n var toStart = 1;\n for (; toStart < to.length; ++toStart) {\n if (to.charCodeAt(toStart) !== 47 /*/*/)\n break;\n }\n var toEnd = to.length;\n var toLen = toEnd - toStart;\n\n // Compare paths to find the longest common path from root\n var length = fromLen < toLen ? fromLen : toLen;\n var lastCommonSep = -1;\n var i = 0;\n for (; i <= length; ++i) {\n if (i === length) {\n if (toLen > length) {\n if (to.charCodeAt(toStart + i) === 47 /*/*/) {\n // We get here if `from` is the exact base path for `to`.\n // For example: from='/foo/bar'; to='/foo/bar/baz'\n return to.slice(toStart + i + 1);\n } else if (i === 0) {\n // We get here if `from` is the root\n // For example: from='/'; to='/foo'\n return to.slice(toStart + i);\n }\n } else if (fromLen > length) {\n if (from.charCodeAt(fromStart + i) === 47 /*/*/) {\n // We get here if `to` is the exact base path for `from`.\n // For example: from='/foo/bar/baz'; to='/foo/bar'\n lastCommonSep = i;\n } else if (i === 0) {\n // We get here if `to` is the root.\n // For example: from='/foo'; to='/'\n lastCommonSep = 0;\n }\n }\n break;\n }\n var fromCode = from.charCodeAt(fromStart + i);\n var toCode = to.charCodeAt(toStart + i);\n if (fromCode !== toCode)\n break;\n else if (fromCode === 47 /*/*/)\n lastCommonSep = i;\n }\n\n var out = '';\n // Generate the relative path based on the path difference between `to`\n // and `from`\n for (i = fromStart + lastCommonSep + 1; i <= fromEnd; ++i) {\n if (i === fromEnd || from.charCodeAt(i) === 47 /*/*/) {\n if (out.length === 0)\n out += '..';\n else\n out += '/..';\n }\n }\n\n // Lastly, append the rest of the destination (`to`) path that comes after\n // the common path parts\n if (out.length > 0)\n return out + to.slice(toStart + lastCommonSep);\n else {\n toStart += lastCommonSep;\n if (to.charCodeAt(toStart) === 47 /*/*/)\n ++toStart;\n return to.slice(toStart);\n }\n}\n\nexport function dirname(path) {\n assertPath(path);\n if (path.length === 0) return '.';\n var code = path.charCodeAt(0);\n var hasRoot = code === 47 /*/*/;\n var end = -1;\n var matchedSlash = true;\n for (var i = path.length - 1; i >= 1; --i) {\n code = path.charCodeAt(i);\n if (code === 47 /*/*/) {\n if (!matchedSlash) {\n end = i;\n break;\n }\n } else {\n // We saw the first non-path separator\n matchedSlash = false;\n }\n }\n\n if (end === -1) return hasRoot ? '/' : '.';\n if (hasRoot && end === 1) return '//';\n return path.slice(0, end);\n}\n\nexport function basename(path, ext) {\n if (ext !== undefined && typeof ext !== 'string') throw new TypeError('\"ext\" argument must be a string');\n assertPath(path);\n\n var start = 0;\n var end = -1;\n var matchedSlash = true;\n var i;\n\n if (ext !== undefined && ext.length > 0 && ext.length <= path.length) {\n if (ext.length === path.length && ext === path) return '';\n var extIdx = ext.length - 1;\n var firstNonSlashEnd = -1;\n for (i = path.length - 1; i >= 0; --i) {\n var code = path.charCodeAt(i);\n if (code === 47 /*/*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n start = i + 1;\n break;\n }\n } else {\n if (firstNonSlashEnd === -1) {\n // We saw the first non-path separator, remember this index in case\n // we need it if the extension ends up not matching\n matchedSlash = false;\n firstNonSlashEnd = i + 1;\n }\n if (extIdx >= 0) {\n // Try to match the explicit extension\n if (code === ext.charCodeAt(extIdx)) {\n if (--extIdx === -1) {\n // We matched the extension, so mark this as the end of our path\n // component\n end = i;\n }\n } else {\n // Extension does not match, so our result is the entire path\n // component\n extIdx = -1;\n end = firstNonSlashEnd;\n }\n }\n }\n }\n\n if (start === end) end = firstNonSlashEnd;else if (end === -1) end = path.length;\n return path.slice(start, end);\n } else {\n for (i = path.length - 1; i >= 0; --i) {\n if (path.charCodeAt(i) === 47 /*/*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n start = i + 1;\n break;\n }\n } else if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // path component\n matchedSlash = false;\n end = i + 1;\n }\n }\n\n if (end === -1) return '';\n return path.slice(start, end);\n }\n}\n\nexport function extname(path) {\n assertPath(path);\n var startDot = -1;\n var startPart = 0;\n var end = -1;\n var matchedSlash = true;\n // Track the state of characters (if any) we see before our first dot and\n // after any path separator we find\n var preDotState = 0;\n for (var i = path.length - 1; i >= 0; --i) {\n var code = path.charCodeAt(i);\n if (code === 47 /*/*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n startPart = i + 1;\n break;\n }\n continue;\n }\n if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // extension\n matchedSlash = false;\n end = i + 1;\n }\n if (code === 46) {\n // If this is our first dot, mark it as the start of our extension\n if (startDot === -1)\n startDot = i;\n else if (preDotState !== 1)\n preDotState = 1;\n } else if (startDot !== -1) {\n // We saw a non-dot and non-path separator before our dot, so we should\n // have a good chance at having a non-empty extension\n preDotState = -1;\n }\n }\n\n if (startDot === -1 || end === -1 ||\n // We saw a non-dot character immediately before the dot\n preDotState === 0 ||\n // The (right-most) trimmed path component is exactly '..'\n preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) {\n return '';\n }\n return path.slice(startDot, end);\n}\n\nexport function format(pathObject) {\n if (pathObject === null || typeof pathObject !== 'object') {\n throw new TypeError('The \"pathObject\" argument must be of type Object. Received type ' + typeof pathObject);\n }\n return _format('/', pathObject);\n}\n\nexport function parse(path) {\n assertPath(path);\n\n var ret = { root: '', dir: '', base: '', ext: '', name: '' };\n if (path.length === 0) return ret;\n var code = path.charCodeAt(0);\n var isAbsolute = code === 47 /*/*/;\n var start;\n if (isAbsolute) {\n ret.root = '/';\n start = 1;\n } else {\n start = 0;\n }\n var startDot = -1;\n var startPart = 0;\n var end = -1;\n var matchedSlash = true;\n var i = path.length - 1;\n\n // Track the state of characters (if any) we see before our first dot and\n // after any path separator we find\n var preDotState = 0;\n\n // Get non-dir info\n for (; i >= start; --i) {\n code = path.charCodeAt(i);\n if (code === 47 /*/*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n startPart = i + 1;\n break;\n }\n continue;\n }\n if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // extension\n matchedSlash = false;\n end = i + 1;\n }\n if (code === 46) {\n // If this is our first dot, mark it as the start of our extension\n if (startDot === -1) startDot = i;else if (preDotState !== 1) preDotState = 1;\n } else if (startDot !== -1) {\n // We saw a non-dot and non-path separator before our dot, so we should\n // have a good chance at having a non-empty extension\n preDotState = -1;\n }\n }\n\n if (startDot === -1 || end === -1 ||\n // We saw a non-dot character immediately before the dot\n preDotState === 0 ||\n // The (right-most) trimmed path component is exactly '..'\n preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) {\n if (end !== -1) {\n if (startPart === 0 && isAbsolute) ret.base = ret.name = path.slice(1, end);else ret.base = ret.name = path.slice(startPart, end);\n }\n } else {\n if (startPart === 0 && isAbsolute) {\n ret.name = path.slice(1, startDot);\n ret.base = path.slice(1, end);\n } else {\n ret.name = path.slice(startPart, startDot);\n ret.base = path.slice(startPart, end);\n }\n ret.ext = path.slice(startDot, end);\n }\n\n if (startPart > 0) ret.dir = path.slice(0, startPart - 1);else if (isAbsolute) ret.dir = '/';\n\n return ret;\n}\n\nexport const sep = '/';\nexport const delimiter = ':';\nexport const win32 = null;\n", "import * as path from \"./path.js\";\n\nfunction encodePathChars(filepath) {\n return filepath\n .replace(/%/g, \"%25\")\n .replace(/\\\\/g, \"%5C\")\n .replace(/\\n/g, \"%0A\")\n .replace(/\\r/g, \"%0D\")\n .replace(/\\t/g, \"%09\");\n}\n\nexport function pathToFileURL(filepath) {\n let resolved = path.resolve(filepath);\n if (\n filepath.charCodeAt(filepath.length - 1) === /* SLASH */ 47 &&\n resolved[resolved.length - 1] !== path.sep\n ) {\n resolved += \"/\";\n }\n const url = new URL(\"file://\");\n url.pathname = encodePathChars(resolved);\n return url;\n}\n", "/**\n * @license\n * Copyright 2020 Daniel Wirtz / The AssemblyScript Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\n/**\n * @fileoverview Compiler frontend for node.js\n *\n * Uses the low-level API exported from src/index.ts so it works with the compiler compiled to\n * JavaScript as well as the compiler compiled to WebAssembly (eventually).\n *\n * Can also be packaged as a bundle suitable for in-browser use with the standard library injected\n * in the build step. See dist/asc.js for the bundle.\n */\n\nimport { fs, module, path, process, url } from \"../util/node.js\";\nimport { Colors } from \"../util/terminal.js\";\nimport { utf8 } from \"../util/text.js\";\nimport * as optionsUtil from \"../util/options.js\";\nimport * as generated from \"./index.generated.js\";\n\nimport binaryen from \"../lib/binaryen.js\";\nimport * as assemblyscriptJS from \"assemblyscript\";\n\n// Use the TS->JS variant by default\nlet assemblyscript = assemblyscriptJS;\n\n// Use the AS->Wasm variant as an option (experimental)\nconst wasmPos = process.argv.indexOf(\"--wasm\");\nif (~wasmPos) {\n const wasmPath = String(process.argv[wasmPos + 1]);\n process.argv.splice(wasmPos, 2);\n assemblyscript = await import(new URL(wasmPath, url.pathToFileURL(process.cwd() + \"/\")));\n}\n\nconst require = module.createRequire(import.meta.url);\n\nconst WIN = process.platform === \"win32\";\nconst EOL = WIN ? \"\\r\\n\" : \"\\n\";\nconst SEP = WIN ? \"\\\\\" : \"/\";\n\nconst extension = \".ts\";\nconst extension_d = `.d${extension}`;\nconst extension_re = new RegExp(\"\\\\\" + extension + \"$\");\nconst extension_re_except_d = new RegExp(\"^(?!.*\\\\.d\\\\\" + extension + \"$).*\\\\\" + extension + \"$\");\n\nfunction toUpperSnakeCase(str) {\n return str.replace(/-/g, \"_\").toUpperCase();\n}\n\nfunction isNonEmptyString(value) {\n return typeof value === \"string\" && value !== \"\";\n}\n\n/** Ensures that an object is a wrapper class instead of just a pointer. */\n// function __wrap(ptrOrObj, wrapperClass) {\n// if (typeof ptrOrObj === \"number\") {\n// return ptrOrObj === 0 ? null : wrapperClass.wrap(ptrOrObj);\n// }\n// return ptrOrObj;\n// }\n\n/** AssemblyScript version. */\nexport const version = generated.version;\n\n/** Available CLI options. */\nexport const options = generated.options;\n\n/** Prefix used for library files. */\nexport const libraryPrefix = generated.libraryPrefix;\n\n/** Bundled library files. */\nexport const libraryFiles = generated.libraryFiles;\n\n/** Bundled definition files. */\nexport const definitionFiles = generated.definitionFiles;\n\n/** Default Binaryen optimization level. */\nexport const defaultOptimizeLevel = 3;\n\n/** Default Binaryen shrink level. */\nexport const defaultShrinkLevel = 0;\n\n/** Converts a configuration object to an arguments array. */\nexport function configToArguments(options, argv = []) {\n Object.keys(options || {}).forEach(key => {\n const val = options[key];\n const opt = generated.options[key];\n if (opt && opt.type === \"b\") {\n if (val) argv.push(`--${key}`);\n } else {\n if (Array.isArray(val)) {\n val.forEach(val => { argv.push(`--${key}`, String(val)); });\n }\n else argv.push(`--${key}`, String(val));\n }\n });\n return argv;\n}\n\n/** Convenience function that parses and compiles source strings directly. */\nexport async function compileString(sources, config = {}) {\n if (typeof sources === \"string\") sources = { [`input${extension}`]: sources };\n let argv = [\n \"--outFile\", \"binary\",\n \"--textFile\", \"text\",\n ];\n configToArguments(config, argv);\n const output = {};\n const result = await main(argv.concat(Object.keys(sources)), {\n readFile: name => Object.prototype.hasOwnProperty.call(sources, name) ? sources[name] : null,\n writeFile: (name, contents) => { output[name] = contents; },\n listFiles: () => []\n });\n return Object.assign(result, output);\n}\n\n/** Runs the command line utility using the specified arguments array. */\nexport async function main(argv, options) {\n if (!Array.isArray(argv)) argv = configToArguments(argv);\n if (!options) options = {};\n\n const stats = options.stats || new Stats();\n const statsBegin = stats.begin();\n\n // Bundle semantic version\n let bundleMinorVersion = 0, bundleMajorVersion = 0, bundlePatchVersion = 0;\n const versionParts = (version || \"\").split(\".\");\n if (versionParts.length === 3) {\n bundleMajorVersion = parseInt(versionParts[0]) | 0;\n bundleMinorVersion = parseInt(versionParts[1]) | 0;\n bundlePatchVersion = parseInt(versionParts[2]) | 0;\n }\n\n const stdout = options.stdout || createMemoryStream();\n const stderr = options.stderr || createMemoryStream();\n const readFile = options.readFile || readFileNode;\n const writeFile = options.writeFile || writeFileNode;\n const listFiles = options.listFiles || listFilesNode;\n\n // Parse command line options but do not populate option defaults yet\n const optionsResult = optionsUtil.parse(argv, generated.options, false);\n let opts = optionsResult.options;\n argv = optionsResult.arguments;\n\n const stdoutColors = new Colors(stdout);\n const stderrColors = new Colors(stderr);\n if (opts.noColors) {\n stdoutColors.enabled = false;\n stderrColors.enabled = false;\n }\n\n // Check for unknown options\n const unknownOpts = optionsResult.unknown;\n if (unknownOpts.length) {\n unknownOpts.forEach(arg => {\n stderr.write(\n `${stderrColors.yellow(\"WARNING \")}Unknown option '${arg}'${EOL}`\n );\n });\n }\n\n // Check for trailing arguments\n const trailingArgv = optionsResult.trailing;\n if (trailingArgv.length) {\n stderr.write(\n `${stderrColors.yellow(\"WARNING \")}Unsupported trailing arguments: ${trailingArgv.join(\" \")}${EOL}`\n );\n }\n\n let module = null;\n let binaryenModule = null;\n\n // Prepares the result object\n let prepareResult = (error, result = {}) => {\n if (error) {\n stderr.write(`${stderrColors.red(\"FAILURE \")}${error.stack.replace(/^ERROR: /i, \"\")}${EOL}`);\n }\n if (binaryenModule) binaryenModule.dispose();\n if (!stats.total) stats.total = stats.end(statsBegin);\n return Object.assign({ error, stdout, stderr, stats }, result);\n };\n\n // Just print the version if requested\n if (opts.version) {\n stdout.write(`Version ${version}${EOL}`);\n return prepareResult(null);\n }\n\n // Set up base directory\n const baseDir = path.normalize(opts.baseDir || \".\");\n\n // Check if a config file is present\n let configPath = optionsUtil.resolvePath(opts.config || \"asconfig.json\", baseDir);\n let configFile = path.basename(configPath);\n let configDir = path.dirname(configPath);\n let config = await getConfig(configFile, configDir, readFile);\n let configHasEntries = config != null && Array.isArray(config.entries) && config.entries.length;\n\n // Print the help message if requested or no source files are provided\n if (opts.help || (!argv.length && !configHasEntries)) {\n let out = opts.help ? stdout : stderr;\n let colors = opts.help ? stdoutColors : stderrColors;\n out.write([\n colors.white(\"SYNTAX\"),\n \" \" + colors.cyan(\"asc\") + \" [entryFile ...] [options]\",\n \"\",\n colors.white(\"EXAMPLES\"),\n \" \" + colors.cyan(\"asc\") + \" hello\" + extension,\n \" \" + colors.cyan(\"asc\") + \" hello\" + extension + \" -o hello.wasm -t hello.wat\",\n \" \" + colors.cyan(\"asc\") + \" hello1\" + extension + \" hello2\" + extension + \" -o -O > hello.wasm\",\n \" \" + colors.cyan(\"asc\") + \" --config asconfig.json --target release\",\n \"\",\n colors.white(\"OPTIONS\"),\n ].concat(\n optionsUtil.help(generated.options, 24, EOL)\n ).join(EOL) + EOL);\n return prepareResult(null);\n }\n\n // I/O must be specified if not present in the environment\n if (!(fs.promises && fs.promises.readFile)) {\n if (readFile === readFileNode) throw Error(\"'options.readFile' must be specified\");\n if (writeFile === writeFileNode) throw Error(\"'options.writeFile' must be specified\");\n if (listFiles === listFilesNode) throw Error(\"'options.listFiles' must be specified\");\n }\n\n // Load additional options from asconfig.json\n const seenAsconfig = new Set();\n seenAsconfig.add(configPath);\n const target = opts.target || \"release\";\n while (config) {\n // Merge target first\n if (config.targets) {\n const targetOptions = config.targets[target];\n if (targetOptions) {\n opts = optionsUtil.merge(generated.options, opts, targetOptions, configDir);\n }\n }\n // Merge general options\n const generalOptions = config.options;\n if (generalOptions) {\n opts = optionsUtil.merge(generated.options, opts, generalOptions, configDir);\n }\n\n // Append entries\n if (config.entries) {\n for (let entry of config.entries) {\n argv.push(optionsUtil.resolvePath(entry, configDir));\n }\n }\n\n // Look up extended asconfig and repeat\n if (config.extends) {\n configPath = optionsUtil.resolvePath(config.extends, configDir, true);\n configFile = path.basename(configPath);\n configDir = path.dirname(configPath);\n if (seenAsconfig.has(configPath)) break;\n seenAsconfig.add(configPath);\n config = await getConfig(configFile, configDir, readFile);\n } else {\n break;\n }\n }\n\n // Populate option defaults once user-defined options are set\n optionsUtil.addDefaults(generated.options, opts);\n\n // If showConfig print options and exit\n if (opts.showConfig) {\n stderr.write(JSON.stringify({\n options: opts,\n entries: argv\n }, null, 2));\n return prepareResult(null);\n }\n\n // create a unique set of values\n function unique(values) {\n return [...new Set(values)];\n }\n\n // Set up options\n let program, runtime, uncheckedBehavior;\n const compilerOptions = assemblyscript.newOptions();\n switch (opts.runtime) {\n case \"stub\": runtime = 0; break;\n case \"minimal\": runtime = 1; break;\n /* incremental */\n default: runtime = 2; break;\n }\n switch (opts.uncheckedBehavior) {\n /* default */\n default: uncheckedBehavior = 0; break;\n case \"never\": uncheckedBehavior = 1; break;\n case \"always\": uncheckedBehavior = 2; break;\n }\n assemblyscript.setTarget(compilerOptions, 0);\n assemblyscript.setDebugInfo(compilerOptions, !!opts.debug);\n assemblyscript.setRuntime(compilerOptions, runtime);\n assemblyscript.setNoAssert(compilerOptions, opts.noAssert);\n assemblyscript.setExportMemory(compilerOptions, !opts.noExportMemory);\n assemblyscript.setImportMemory(compilerOptions, opts.importMemory);\n assemblyscript.setInitialMemory(compilerOptions, opts.initialMemory >>> 0);\n assemblyscript.setMaximumMemory(compilerOptions, opts.maximumMemory >>> 0);\n assemblyscript.setSharedMemory(compilerOptions, opts.sharedMemory);\n assemblyscript.setImportTable(compilerOptions, opts.importTable);\n assemblyscript.setExportTable(compilerOptions, opts.exportTable);\n if (opts.exportStart != null) {\n assemblyscript.setExportStart(compilerOptions, isNonEmptyString(opts.exportStart) ? opts.exportStart : \"_start\");\n }\n assemblyscript.setMemoryBase(compilerOptions, opts.memoryBase >>> 0);\n assemblyscript.setTableBase(compilerOptions, opts.tableBase >>> 0);\n assemblyscript.setSourceMap(compilerOptions, opts.sourceMap != null);\n assemblyscript.setUncheckedBehavior(compilerOptions, uncheckedBehavior);\n assemblyscript.setNoUnsafe(compilerOptions, opts.noUnsafe);\n assemblyscript.setPedantic(compilerOptions, opts.pedantic);\n assemblyscript.setLowMemoryLimit(compilerOptions, opts.lowMemoryLimit >>> 0);\n assemblyscript.setExportRuntime(compilerOptions, opts.exportRuntime);\n assemblyscript.setBundleVersion(compilerOptions, bundleMajorVersion, bundleMinorVersion, bundlePatchVersion);\n if (!opts.stackSize && runtime === 2 /* incremental */) {\n opts.stackSize = assemblyscript.DEFAULT_STACK_SIZE;\n }\n assemblyscript.setStackSize(compilerOptions, opts.stackSize);\n assemblyscript.setBindingsHint(compilerOptions, opts.bindings && opts.bindings.length > 0);\n\n // Instrument callback to perform GC\n // prepareResult = (original => {\n // return function gcBeforePrepareResult(err) {\n // __unpin(compilerOptions);\n // if (program) __unpin(program);\n // __collect();\n // return original(err);\n // };\n // })(prepareResult);\n\n // Add or override aliases if specified\n if (opts.use) {\n let aliases = opts.use;\n for (let i = 0, k = aliases.length; i < k; ++i) {\n let part = aliases[i];\n let p = part.indexOf(\"=\");\n if (p < 0) return prepareResult(Error(`Global alias '${part}' is invalid.`));\n let alias = part.substring(0, p).trim();\n let name = part.substring(p + 1).trim();\n if (!alias.length) {\n return prepareResult(Error(`Global alias '${part}' is invalid.`));\n }\n assemblyscript.addGlobalAlias(compilerOptions, alias, name);\n }\n }\n\n // Disable default features if specified\n let features;\n if ((features = opts.disable) != null) {\n if (typeof features === \"string\") features = features.split(\",\");\n for (let i = 0, k = features.length; i < k; ++i) {\n let name = features[i].trim();\n let flag = assemblyscript[`FEATURE_${toUpperSnakeCase(name)}`];\n if (!flag) return prepareResult(Error(`Feature '${name}' is unknown.`));\n assemblyscript.setFeature(compilerOptions, flag, false);\n }\n }\n\n // Enable experimental features if specified\n if ((features = opts.enable) != null) {\n if (typeof features === \"string\") features = features.split(\",\");\n for (let i = 0, k = features.length; i < k; ++i) {\n let name = features[i].trim();\n let flag = assemblyscript[`FEATURE_${toUpperSnakeCase(name)}`];\n if (!flag) return prepareResult(Error(`Feature '${name}' is unknown.`));\n assemblyscript.setFeature(compilerOptions, flag, true);\n }\n }\n\n // Set up optimization levels\n let optimizeLevel = 0;\n let shrinkLevel = 0;\n if (opts.optimize) {\n optimizeLevel = defaultOptimizeLevel;\n shrinkLevel = defaultShrinkLevel;\n }\n if (typeof opts.optimizeLevel === \"number\") optimizeLevel = opts.optimizeLevel;\n if (typeof opts.shrinkLevel === \"number\") shrinkLevel = opts.shrinkLevel;\n optimizeLevel = Math.min(Math.max(optimizeLevel, 0), 3);\n shrinkLevel = Math.min(Math.max(shrinkLevel, 0), 2);\n assemblyscript.setOptimizeLevelHints(compilerOptions, optimizeLevel, shrinkLevel);\n\n // Initialize the program\n program = assemblyscript.newProgram(compilerOptions);\n\n // Collect transforms *constructors* from the `--transform` CLI flag as well\n // as the `transform` option into the `transforms` array.\n let transforms = [];\n // `transform` option from `main()`\n if (Array.isArray(options.transforms)) {\n transforms.push(...options.transforms);\n }\n // `--transform` CLI flag\n if (opts.transform) {\n let transformArgs = unique(opts.transform);\n for (let i = 0, k = transformArgs.length; i < k; ++i) {\n let filename = transformArgs[i].trim();\n let resolved;\n let transform;\n if (require.resolve) {\n try {\n resolved = require.resolve(filename, { paths: [process.cwd(), baseDir] });\n transform = await import(url.pathToFileURL(resolved));\n if (transform.default) transform = transform.default;\n } catch (e1) {\n try {\n transform = require(resolved);\n } catch (e2) {\n return prepareResult(e1);\n }\n }\n } else {\n try {\n transform = await import(new URL(filename, import.meta.url));\n if (transform.default) transform = transform.default;\n } catch (e) {\n return prepareResult(e);\n }\n }\n if (!transform || (typeof transform !== \"function\" && typeof transform !== \"object\")) {\n return prepareResult(Error(\"not a transform: \" + transformArgs[i]));\n }\n transforms.push(transform);\n }\n }\n\n // Fix up the prototype of the transforms\u2019 constructors and instantiate them.\n try {\n transforms = transforms.map(transform => {\n if (typeof transform === \"function\") {\n Object.assign(transform.prototype, {\n program,\n binaryen,\n baseDir,\n stdout,\n stderr,\n log: console.error,\n readFile,\n writeFile,\n listFiles\n });\n transform = new transform();\n }\n return transform;\n });\n } catch (e) {\n return prepareResult(e);\n }\n\n async function applyTransform(name, ...args) {\n for (let i = 0, k = transforms.length; i < k; ++i) {\n let transform = transforms[i];\n if (typeof transform[name] === \"function\") {\n try {\n let start = stats.begin();\n stats.transformCount++;\n await transform[name](...args);\n stats.transformTime += stats.end(start);\n } catch (e) {\n return e;\n }\n }\n }\n }\n\n // Parse library files\n Object.keys(libraryFiles).forEach(libPath => {\n if (libPath.includes(\"/\")) return; // in sub-directory: imported on demand\n let begin = stats.begin();\n stats.parseCount++;\n assemblyscript.parse(program, libraryFiles[libPath], libraryPrefix + libPath + extension, false);\n stats.parseTime += stats.end(begin);\n });\n let customLibDirs = [];\n if (opts.lib) {\n let lib = opts.lib;\n if (typeof lib === \"string\") lib = lib.split(\",\");\n customLibDirs.push(...lib.map(p => p.trim()));\n customLibDirs = unique(customLibDirs); // `lib` and `customLibDirs` may include duplicates\n for (let i = 0, k = customLibDirs.length; i < k; ++i) { // custom\n let libDir = customLibDirs[i];\n let libFiles;\n if (libDir.endsWith(extension)) {\n libFiles = [ path.basename(libDir) ];\n libDir = path.dirname(libDir);\n } else {\n libFiles = await listFiles(libDir, baseDir) || [];\n }\n for (let libPath of libFiles) {\n let libText = await readFile(libPath, libDir);\n if (libText == null) {\n return prepareResult(Error(`Library file '${libPath}' not found.`));\n }\n libraryFiles[libPath.replace(extension_re, \"\")] = libText;\n let begin = stats.begin();\n stats.parseCount++;\n assemblyscript.parse(program, libText, libraryPrefix + libPath, false);\n stats.parseTime += stats.end(begin);\n }\n }\n }\n opts.path = opts.path || [];\n\n // Maps package names to parent directory\n const packageBases = new Map();\n\n // Gets the file matching the specified source path, imported at the given dependee path\n async function getFile(internalPath, dependeePath) {\n let sourceText = null; // text reported back to the compiler\n let sourcePath = null; // path reported back to the compiler\n\n // Try file.ext, file/index.ext, file.d.ext\n if (!internalPath.startsWith(libraryPrefix)) {\n if ((sourceText = await readFile(sourcePath = internalPath + extension, baseDir)) == null) {\n if ((sourceText = await readFile(sourcePath = internalPath + \"/index\" + extension, baseDir)) == null) {\n // portable d.ext: uses the .js file next to it in JS or becomes an import in Wasm\n sourcePath = internalPath + extension;\n sourceText = await readFile(internalPath + extension_d, baseDir);\n }\n }\n\n // Search library in this order: stdlib, custom lib dirs, paths\n } else {\n const plainName = internalPath.substring(libraryPrefix.length);\n const indexName = `${plainName}/index`;\n if (Object.prototype.hasOwnProperty.call(libraryFiles, plainName)) {\n sourceText = libraryFiles[plainName];\n sourcePath = libraryPrefix + plainName + extension;\n } else if (Object.prototype.hasOwnProperty.call(libraryFiles, indexName)) {\n sourceText = libraryFiles[indexName];\n sourcePath = libraryPrefix + indexName + extension;\n } else { // custom lib dirs\n for (const libDir of customLibDirs) {\n if ((sourceText = await readFile(plainName + extension, libDir)) != null) {\n sourcePath = libraryPrefix + plainName + extension;\n break;\n } else {\n if ((sourceText = await readFile(indexName + extension, libDir)) != null) {\n sourcePath = libraryPrefix + indexName + extension;\n break;\n }\n }\n }\n if (sourceText == null) { // paths\n const match = internalPath.match(/^~lib\\/((?:@[^/]+\\/)?[^/]+)(?:\\/(.+))?/); // ~lib/(pkg)/(path), ~lib/(@org/pkg)/(path)\n if (match) {\n const packageName = match[1];\n const filePath = match[2] || \"index\";\n const basePath = packageBases.has(dependeePath) ? packageBases.get(dependeePath) : \".\";\n const paths = [];\n const parts = path.resolve(baseDir, basePath).split(SEP);\n for (let i = parts.length, k = WIN ? 1 : 0; i >= k; --i) {\n if (parts[i - 1] !== \"node_modules\") {\n paths.push(`${parts.slice(0, i).join(SEP)}${SEP}node_modules`);\n }\n }\n paths.push(...opts.path);\n for (const currentDir of paths.map(p => path.relative(baseDir, p))) {\n const plainName = filePath;\n if ((sourceText = await readFile(path.join(currentDir, packageName, plainName + extension), baseDir)) != null) {\n sourcePath = `${libraryPrefix}${packageName}/${plainName}${extension}`;\n packageBases.set(sourcePath.replace(extension_re, \"\"), path.join(currentDir, packageName));\n break;\n }\n const indexName = `${filePath}/index`;\n if ((sourceText = await readFile(path.join(currentDir, packageName, indexName + extension), baseDir)) != null) {\n sourcePath = `${libraryPrefix}${packageName}/${indexName}${extension}`;\n packageBases.set(sourcePath.replace(extension_re, \"\"), path.join(currentDir, packageName));\n break;\n }\n }\n }\n }\n }\n }\n // No such file\n if (sourceText == null) return null;\n return { sourceText, sourcePath };\n }\n\n // Gets all pending imported files from the the backlog\n function getBacklog(paths = []) {\n do {\n let internalPath = assemblyscript.nextFile(program);\n if (internalPath == null) break;\n paths.push(internalPath);\n } while (true);\n return paths;\n }\n\n // Parses the backlog of imported files after including entry files\n async function parseBacklog() {\n let backlog;\n while ((backlog = getBacklog()).length) {\n let files = [];\n for (let internalPath of backlog) {\n const dependee = assemblyscript.getDependee(program, internalPath);\n files.push(getFile(internalPath, dependee)); // queue\n }\n files = await Promise.all(files); // parallel\n for (let i = 0, k = backlog.length; i < k; ++i) {\n const internalPath = backlog[i];\n const file = files[i];\n const begin = stats.begin();\n stats.parseCount++;\n if (file) {\n assemblyscript.parse(program, file.sourceText, file.sourcePath, false);\n } else {\n assemblyscript.parse(program, null, internalPath + extension, false);\n }\n stats.parseTime += stats.end(begin);\n }\n }\n const numErrors = checkDiagnostics(program, stderr, opts.disableWarning, options.reportDiagnostic, stderrColors.enabled);\n if (numErrors) {\n const err = Error(`${numErrors} parse error(s)`);\n err.stack = err.message; // omit stack\n return prepareResult(err);\n }\n }\n\n // Include runtime before entry files so its setup runs first\n {\n let runtimeName = String(opts.runtime);\n let runtimePath = `rt/index-${runtimeName}`;\n let runtimeText = libraryFiles[runtimePath];\n if (runtimeText == null) {\n runtimePath = runtimeName;\n runtimeText = await readFile(runtimePath + extension, baseDir);\n if (runtimeText == null) return prepareResult(Error(`Runtime '${path.resolve(baseDir, runtimePath + extension)}' is not found.`));\n } else {\n runtimePath = `~lib/${runtimePath}`;\n }\n let begin = stats.begin();\n stats.parseCount++;\n assemblyscript.parse(program, runtimeText, runtimePath + extension, true);\n stats.parseTime += stats.end(begin);\n }\n\n // Include entry files\n for (let i = 0, k = argv.length; i < k; ++i) {\n const filename = String(argv[i]);\n\n // Setting the path to relative path\n let sourcePath = path.isAbsolute(filename)\n ? path.relative(baseDir, filename)\n : path.normalize(filename);\n\n sourcePath = sourcePath\n .replace(/\\\\/g, \"/\")\n .replace(extension_re, \"\")\n .replace(/\\/$/, \"\");\n \n // Try entryPath.ext, then entryPath/index.ext\n let sourceText = await readFile(sourcePath + extension, baseDir);\n if (sourceText == null) {\n const path = `${sourcePath}/index${extension}`;\n sourceText = await readFile(path, baseDir);\n if (sourceText != null) sourcePath = path;\n else sourcePath += extension;\n } else {\n sourcePath += extension;\n }\n\n let begin = stats.begin();\n stats.parseCount++;\n assemblyscript.parse(program, sourceText, sourcePath, true);\n stats.parseTime += stats.end(begin);\n }\n\n // Parse entry files\n {\n let code = await parseBacklog();\n if (code) return code;\n }\n\n // Call afterParse transform hook\n {\n let error = await applyTransform(\"afterParse\", program.parser);\n if (error) return prepareResult(error);\n }\n\n // Parse additional files, if any\n {\n let code = await parseBacklog();\n if (code) return code;\n }\n\n // Pre-emptively initialize the program\n {\n let begin = stats.begin();\n stats.initializeCount++;\n try {\n assemblyscript.initializeProgram(program);\n } catch (e) {\n crash(\"initialize\", e);\n }\n stats.initializeTime += stats.end(begin);\n }\n\n // Call afterInitialize transform hook\n {\n let error = await applyTransform(\"afterInitialize\", program);\n if (error) return prepareResult(error);\n }\n\n // Compile the program\n {\n let begin = stats.begin();\n stats.compileCount++;\n try {\n module = assemblyscript.compile(program);\n } catch (e) {\n crash(\"compile\", e);\n }\n stats.compileTime += stats.end(begin);\n }\n // From here on we are going to use Binaryen.js\n binaryenModule = binaryen.wrapModule(\n typeof module === \"number\" || module instanceof Number\n ? assemblyscript.getBinaryenModuleRef(module)\n : module.ref\n );\n let numErrors = checkDiagnostics(program, stderr, opts.disableWarning, options.reportDiagnostic, stderrColors.enabled);\n if (numErrors) {\n const err = Error(`${numErrors} compile error(s)`);\n err.stack = err.message; // omit stack\n return prepareResult(err);\n }\n\n // Call afterCompile transform hook\n {\n let error = await applyTransform(\"afterCompile\", binaryenModule);\n if (error) return prepareResult(error);\n }\n\n numErrors = checkDiagnostics(program, stderr, opts.disableWarning, options.reportDiagnostic, stderrColors.enabled);\n if (numErrors) {\n const err = Error(`${numErrors} afterCompile error(s)`);\n err.stack = err.message; // omit stack\n return prepareResult(err);\n }\n\n // Validate the module if requested\n if (!opts.noValidate) {\n let begin = stats.begin();\n stats.validateCount++;\n let isValid = assemblyscript.validate(module);\n stats.validateTime += stats.end(begin);\n if (!isValid) {\n return prepareResult(Error(\"validate error\"));\n }\n }\n\n // Set Binaryen-specific options\n if (opts.trapMode === \"clamp\" || opts.trapMode === \"js\") {\n let begin = stats.begin();\n try {\n binaryenModule.runPasses([`trap-mode-${opts.trapMode}`]);\n } catch (e) {\n crash(\"runPasses\", e);\n }\n stats.compileTime += stats.end(begin);\n } else if (opts.trapMode !== \"allow\") {\n return prepareResult(Error(\"Unsupported trap mode\"));\n }\n\n // Optimize the module\n const debugInfo = opts.debug;\n const converge = opts.converge;\n const zeroFilledMemory = opts.importMemory\n ? opts.zeroFilledMemory\n : false;\n\n const runPasses = [];\n if (opts.runPasses) {\n if (typeof opts.runPasses === \"string\") {\n opts.runPasses = opts.runPasses.split(\",\");\n }\n if (opts.runPasses.length) {\n opts.runPasses.forEach(pass => {\n if (!runPasses.includes(pass = pass.trim())) {\n runPasses.push(pass);\n }\n });\n }\n }\n\n {\n let begin = stats.begin();\n try {\n stats.optimizeCount++;\n assemblyscript.optimize(module, optimizeLevel, shrinkLevel, debugInfo, zeroFilledMemory);\n } catch (e) {\n crash(\"optimize\", e);\n }\n try {\n binaryenModule.runPasses(runPasses);\n } catch (e) {\n crash(\"runPasses\", e);\n }\n if (converge) {\n let last;\n try {\n let begin = stats.begin();\n stats.emitCount++;\n last = binaryenModule.emitBinary();\n stats.emitTime += stats.end(begin);\n } catch (e) {\n crash(\"emitBinary (converge)\", e);\n }\n do {\n try {\n stats.optimizeCount++;\n assemblyscript.optimize(module, optimizeLevel, shrinkLevel, debugInfo, zeroFilledMemory);\n } catch (e) {\n crash(\"optimize (converge)\", e);\n }\n try {\n binaryenModule.runPasses(runPasses);\n } catch (e) {\n crash(\"runPasses (converge)\", e);\n }\n let next;\n try {\n let begin = stats.begin();\n stats.emitCount++;\n next = binaryenModule.emitBinary();\n stats.emitTime += stats.end(begin);\n } catch (e) {\n crash(\"emitBinary (converge)\", e);\n }\n if (next.length >= last.length) {\n if (next.length > last.length) {\n stderr.write(`Last converge was suboptimal.${EOL}`);\n }\n break;\n }\n last = next;\n } while (true);\n }\n stats.optimizeTime += stats.end(begin);\n }\n\n const pending = [];\n\n // Prepare output\n if (!opts.noEmit) {\n if (opts.binaryFile) {\n // We catched lagacy field for binary output (before 0.20)\n return prepareResult(Error(\"Usage of the --binaryFile compiler option is no longer supported. Use --outFile instead.\"));\n }\n let bindings = opts.bindings || [];\n let hasStdout = false;\n let hasOutFile = opts.outFile != null;\n let hasTextFile = opts.textFile != null;\n let hasOutput = hasOutFile || hasTextFile;\n let hasFileOutput = (hasOutFile && opts.outFile.length > 0) || (hasTextFile && opts.textFile.length > 0);\n let basepath = hasFileOutput\n ? (opts.outFile || opts.textFile).replace(/\\.\\w+$/, \"\")\n : null;\n let basename = hasFileOutput\n ? path.basename(basepath)\n : \"output\";\n\n assemblyscript.setBasenameHint(compilerOptions, basename);\n\n // Write binary\n if (opts.outFile != null) {\n let sourceMapURL = opts.sourceMap != null\n ? opts.sourceMap.length\n ? opts.sourceMap\n : `./${basename}.wasm.map`\n : null;\n\n let begin = stats.begin();\n stats.emitCount++;\n let wasm;\n try {\n wasm = binaryenModule.emitBinary(sourceMapURL);\n } catch (e) {\n crash(\"emitBinary\", e);\n }\n stats.emitTime += stats.end(begin);\n\n if (opts.outFile.length) {\n pending.push(\n writeFile(opts.outFile, wasm.binary, baseDir)\n );\n } else {\n hasStdout = true;\n writeStdout(wasm.binary);\n }\n\n // Post-process source map\n if (wasm.sourceMap != \"\") {\n if (opts.outFile.length) {\n let map = JSON.parse(wasm.sourceMap);\n map.sourceRoot = `./${basename}`;\n let contents = [];\n for (let i = 0, k = map.sources.length; i < k; ++i) {\n let name = map.sources[i];\n let text = assemblyscript.getSource(program, name.replace(extension_re, \"\"));\n if (text == null) return prepareResult(Error(`Source of file '${name}' not found.`));\n contents[i] = text;\n }\n map.sourcesContent = contents;\n pending.push(\n writeFile(path.join(\n path.dirname(opts.outFile),\n path.basename(sourceMapURL)\n ).replace(/^\\.\\//, \"\"), JSON.stringify(map), baseDir)\n );\n } else {\n stderr.write(`Skipped source map (no output path)${EOL}`);\n }\n }\n }\n\n // Write text (also fallback)\n if (opts.textFile != null || !hasOutput) {\n let begin = stats.begin();\n stats.emitCount++;\n let out;\n try {\n // use superset text format when extension is `.wast`.\n // Otherwise use official stack IR format (wat).\n out = opts.textFile?.endsWith(\".wast\")\n ? binaryenModule.emitText()\n : binaryenModule.emitStackIR(true);\n } catch (e) {\n crash(\"emitText\", e);\n }\n stats.emitTime += stats.end(begin);\n\n if (opts.textFile != null && opts.textFile.length) {\n pending.push(\n writeFile(opts.textFile, out, baseDir)\n );\n } else if (!hasStdout) {\n hasStdout = true;\n writeStdout(out);\n }\n }\n\n // Write TypeScript definition\n const bindingsEsm = bindings.includes(\"esm\");\n const bindingsRaw = !bindingsEsm && bindings.includes(\"raw\");\n if (bindingsEsm || bindingsRaw) {\n if (basepath) {\n let begin = stats.begin();\n stats.emitCount++;\n let source;\n try {\n source = assemblyscript.buildTSD(program, bindingsEsm);\n } catch (e) {\n crash(\"buildTSD\", e);\n }\n stats.emitTime += stats.end(begin);\n pending.push(\n writeFile(basepath + \".d.ts\", source, baseDir)\n );\n } else {\n stderr.write(`Skipped TypeScript binding (no output path)${EOL}`);\n }\n }\n\n // Write JavaScript bindings\n if (bindingsEsm || bindingsRaw) {\n if (basepath) {\n let begin = stats.begin();\n stats.emitCount++;\n let source;\n try {\n source = assemblyscript.buildJS(program, bindingsEsm);\n } catch (e) {\n crash(\"buildJS\", e);\n }\n stats.emitTime += stats.end(begin);\n pending.push(\n writeFile(basepath + \".js\", source, baseDir)\n );\n } else {\n stderr.write(`Skipped JavaScript binding (no output path)${EOL}`);\n }\n }\n }\n\n try {\n await Promise.all(pending);\n } catch (err) {\n return prepareResult(err);\n }\n\n stats.total = stats.end(statsBegin);\n if (opts.stats) stderr.write(stats.toString());\n\n return prepareResult(null);\n\n // Default implementation to read files on node\n async function readFileNode(filename, baseDir) {\n let name = path.resolve(baseDir, filename);\n try {\n stats.readCount++;\n return await fs.promises.readFile(name, \"utf8\");\n } catch (e) {\n return null;\n }\n }\n\n // Default implementation to write files on node\n async function writeFileNode(filename, contents, baseDir) {\n try {\n stats.writeCount++;\n const dirPath = path.resolve(baseDir, path.dirname(filename));\n const filePath = path.join(dirPath, path.basename(filename));\n await fs.promises.mkdir(dirPath, { recursive: true });\n await fs.promises.writeFile(filePath, contents);\n return true;\n } catch (e) {\n return false;\n }\n }\n\n // Default implementation to list files on node\n async function listFilesNode(dirname, baseDir) {\n try {\n stats.readCount++;\n return (await fs.promises.readdir(path.join(baseDir, dirname)))\n .filter(file => extension_re_except_d.test(file));\n } catch (e) {\n return null;\n }\n }\n\n // Writes to stdout\n function writeStdout(contents) {\n if (!writeStdout.used) {\n writeStdout.used = true;\n stats.writeCount++;\n }\n stdout.write(contents);\n }\n\n // Crash handler\n function crash(stage, e) {\n const BAR = stdoutColors.red(\"\u258C \");\n console.error([\n EOL,\n BAR, \"Whoops, the AssemblyScript compiler has crashed during \", stage, \" :-(\", EOL,\n BAR, EOL,\n (typeof e.stack === \"string\"\n ? [\n BAR, \"Here is the stack trace hinting at the problem, perhaps it's useful?\", EOL,\n BAR, EOL,\n e.stack.replace(/^/mg, BAR), EOL\n ]\n : [\n BAR, \"There is no stack trace. Perhaps a Binaryen exception above / in console?\", EOL,\n BAR, EOL,\n BAR, \"> \" + e.stack, EOL\n ]\n ).join(\"\"),\n BAR, EOL,\n BAR, \"If you see where the error is, feel free to send us a pull request. If not,\", EOL,\n BAR, \"please let us know: https://github.com/AssemblyScript/assemblyscript/issues\", EOL,\n BAR, EOL,\n BAR, \"Thank you!\", EOL\n ].join(\"\"));\n process.exit(1);\n }\n}\n\nfunction isObject(arg) {\n return Object.prototype.toString.call(arg) === \"[object Object]\";\n}\n\nasync function getConfig(file, baseDir, readFile) {\n const contents = await readFile(file, baseDir);\n const location = path.join(baseDir, file);\n if (!contents) return null;\n\n // obtain the configuration\n let config;\n try {\n config = JSON.parse(contents);\n } catch(ex) {\n throw new Error(`Asconfig is not valid json: ${location}`);\n }\n\n // validate asconfig shape\n if (config.options && !isObject(config.options)) {\n throw new Error(`Asconfig.options is not an object: ${location}`);\n }\n\n if (config.include && !Array.isArray(config.include)) {\n throw new Error(`Asconfig.include is not an array: ${location}`);\n }\n\n if (config.targets) {\n if (!isObject(config.targets)) {\n throw new Error(`Asconfig.targets is not an object: ${location}`);\n }\n const targets = Object.keys(config.targets);\n for (let i = 0; i < targets.length; i++) {\n const target = targets[i];\n if (!isObject(config.targets[target])) {\n throw new Error(`Asconfig.targets.${target} is not an object: ${location}`);\n }\n }\n }\n\n if (config.extends && typeof config.extends !== \"string\") {\n throw new Error(`Asconfig.extends is not a string: ${location}`);\n }\n\n return config;\n}\n\n/** Checks diagnostics emitted so far for errors. */\nexport function checkDiagnostics(program, stderr, disableWarning, reportDiagnostic, useColors) {\n if (typeof useColors === \"undefined\" && stderr) useColors = stderr.isTTY;\n let numErrors = 0;\n do {\n let diagnostic = assemblyscript.nextDiagnostic(program);\n if (!diagnostic) break;\n if (stderr) {\n const isDisabledWarning = (diagnostic) => {\n if (disableWarning == null) return false;\n if (!disableWarning.length) return true;\n const code = assemblyscript.getDiagnosticCode(diagnostic);\n return disableWarning.includes(code);\n };\n if (assemblyscript.isError(diagnostic) || !isDisabledWarning(diagnostic)) {\n stderr.write(assemblyscript.formatDiagnostic(diagnostic, useColors, true) + EOL + EOL);\n }\n }\n if (reportDiagnostic) {\n function wrapRange(range) {\n return range && {\n start: assemblyscript.getRangeStart(range),\n end: assemblyscript.getRangeEnd(range),\n source: wrapSource(assemblyscript.getRangeSource(range))\n } || null;\n }\n function wrapSource(source) {\n return source && {\n normalizedPath: assemblyscript.getSourceNormalizedPath(source)\n } || null;\n }\n reportDiagnostic({\n message: assemblyscript.getDiagnosticMessage(diagnostic),\n code: assemblyscript.getDiagnosticCode(diagnostic),\n category: assemblyscript.getDiagnosticCategory(diagnostic),\n range: wrapRange(assemblyscript.getDiagnosticRange(diagnostic)),\n relatedRange: wrapRange(assemblyscript.getDiagnosticRelatedRange(diagnostic))\n });\n }\n if (assemblyscript.isError(diagnostic)) ++numErrors;\n } while (true);\n return numErrors;\n}\n\nexport class Stats {\n readCount = 0;\n writeCount = 0;\n parseTime = 0;\n parseCount = 0;\n initializeTime = 0;\n initializeCount = 0;\n compileTime = 0;\n compileCount = 0;\n emitTime = 0;\n emitCount = 0;\n validateTime = 0;\n validateCount = 0;\n optimizeTime = 0;\n optimizeCount = 0;\n transformTime = 0;\n transformCount = 0;\n begin() {\n return process.hrtime();\n }\n end(begin) {\n const hrtime = process.hrtime(begin);\n return hrtime[0] * 1e9 + hrtime[1];\n }\n toString() {\n const formatTime = time => time ? `${(time / 1e6).toFixed(3)} ms` : \"n/a\";\n const keys = Object.keys(this).filter(key => key.endsWith(\"Time\")).map(key => key.substring(0, key.length - 4));\n const times = keys.map(key => formatTime(this[`${key}Time`]));\n const counts = keys.map(key => this[`${key}Count`].toString());\n const keysLen = keys.reduce((current, key) => Math.max(key.length, current), 0);\n const timesLen = times.reduce((current, time) => Math.max(time.length, current), 0);\n const countsLen = counts.reduce((current, count) => Math.max(count.length, current), 0);\n const totalLen = keysLen + timesLen + countsLen + 6;\n const out = [];\n out.push(`\u256D\u2500${\"\u2500\".repeat(totalLen)}\u2500\u256E${EOL}`);\n const header = `Stats`;\n out.push(`\u2502 ${header}${\" \".repeat(totalLen - header.length)} \u2502${EOL}`);\n out.push(`\u255E\u2550${\"\u2550\".repeat(keysLen)}\u2550\u2564\u2550${\"\u2550\".repeat(timesLen)}\u2550\u2564\u2550${\"\u2550\".repeat(countsLen)}\u2550\u2561${EOL}`);\n for (let i = 0, k = keys.length; i < k; ++i) {\n out.push(`\u2502 ${keys[i].padEnd(keysLen)} \u2502 ${times[i].padStart(timesLen)} \u2502 ${counts[i].padStart(countsLen)} \u2502${EOL}`);\n }\n out.push(`\u251C\u2500${\"\u2500\".repeat(keysLen)}\u2500\u2534\u2500${\"\u2500\".repeat(timesLen)}\u2500\u2534\u2500${\"\u2500\".repeat(countsLen)}\u2500\u2524${EOL}`);\n const totalTime = `Took ${formatTime(this.total)}`;\n out.push(`\u2502 ${totalTime}${\" \".repeat(totalLen - totalTime.length)} \u2502${EOL}`);\n const readsWrites = `${this.readCount} reads, ${this.writeCount} writes`;\n out.push(`\u2502 ${readsWrites}${\" \".repeat(totalLen - readsWrites.length)} \u2502${EOL}`);\n out.push(`\u2570\u2500${\"\u2500\".repeat(totalLen)}\u2500\u256F${EOL}`);\n return out.join(\"\");\n }\n}\n\nlet allocBuffer = typeof global !== \"undefined\" && global.Buffer\n ? global.Buffer.allocUnsafe || (len => new global.Buffer(len))\n : len => new Uint8Array(len);\n\n/** Creates a memory stream that can be used in place of stdout/stderr. */\nexport function createMemoryStream(fn) {\n let stream = [];\n stream.write = function(chunk) {\n if (fn) fn(chunk);\n if (typeof chunk === \"string\") {\n let buffer = allocBuffer(utf8.length(chunk));\n utf8.write(chunk, buffer, 0);\n chunk = buffer;\n }\n this.push(chunk);\n };\n stream.reset = function() {\n stream.length = 0;\n };\n stream.toBuffer = function() {\n let offset = 0, i = 0, k = this.length;\n while (i < k) offset += this[i++].length;\n let buffer = allocBuffer(offset);\n offset = i = 0;\n while (i < k) {\n buffer.set(this[i], offset);\n offset += this[i].length;\n ++i;\n }\n return buffer;\n };\n stream.toString = function() {\n let buffer = this.toBuffer();\n return utf8.read(buffer, 0, buffer.length);\n };\n return stream;\n}\n\n/** Compatible TypeScript compiler options for syntax highlighting etc. */\nexport const tscOptions = {\n alwaysStrict: true,\n strictNullChecks: true,\n noImplicitAny: true,\n noImplicitReturns: true,\n noImplicitThis: true,\n noEmitOnError: true,\n noPropertyAccessFromIndexSignature: true,\n experimentalDecorators: true,\n target: \"esnext\",\n noLib: true,\n types: [],\n allowJs: false\n};\n\nexport * as default from \"./index.js\";\n", "/**\n * @fileoverview Node.js polyfills.\n * @license Apache-2.0\n */\n\nexport const isNode = Object.prototype.toString.call(typeof globalThis.process !== 'undefined' ? globalThis.process : 0) === '[object process]';\n\nvar fs;\nvar module;\nvar path;\nvar process;\nvar url;\n\nif (isNode) {\n fs = await import(\"fs\");\n module = await import(\"module\");\n path = await import(\"path\");\n process = globalThis.process;\n url = await import(\"url\");\n} else {\n fs = await import(\"./browser/fs.js\");\n module = await import(\"./browser/module.js\");\n path = await import(\"./browser/path.js\");\n process = await import(\"./browser/process.js\");\n url = await import(\"./browser/url.js\");\n}\n\nexport {\n fs,\n module,\n path,\n process,\n url\n};\n", "/**\n * @fileoverview Terminal utility.\n * @license Apache-2.0\n */\n\nvar proc = typeof process !== \"undefined\" && process || {};\nvar isCI = proc.env && \"CI\" in proc.env;\n\nexport const GRAY = \"\\u001b[90m\";\nexport const RED = \"\\u001b[91m\";\nexport const GREEN = \"\\u001b[92m\";\nexport const YELLOW = \"\\u001b[93m\";\nexport const BLUE = \"\\u001b[94m\";\nexport const MAGENTA = \"\\u001b[95m\";\nexport const CYAN = \"\\u001b[96m\";\nexport const WHITE = \"\\u001b[97m\";\nexport const RESET = \"\\u001b[0m\";\n\nexport class Colors {\n constructor(stream) {\n this.stream = stream;\n this.enabled = Boolean((this.stream && this.stream.isTTY) || isCI);\n }\n gray(text) { return this.enabled ? GRAY + text + RESET : text; }\n red(text) { return this.enabled ? RED + text + RESET : text; }\n green(text) { return this.enabled ? GREEN + text + RESET : text; }\n yellow(text) { return this.enabled ? YELLOW + text + RESET : text; }\n blue(text) { return this.enabled ? BLUE + text + RESET : text; }\n magenta(text) { return this.enabled ? MAGENTA + text + RESET : text; }\n cyan(text) { return this.enabled ? CYAN + text + RESET : text; }\n white(text) { return this.enabled ? WHITE + text + RESET : text; }\n}\n\nexport const stdoutColors = new Colors(proc.stdout);\nexport const stderrColors = new Colors(proc.stderr);\n", "function Diff() {}\nDiff.prototype = {\n diff: function diff(oldString, newString) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var callback = options.callback;\n\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n\n this.options = options;\n var self = this;\n\n function done(value) {\n if (callback) {\n setTimeout(function () {\n callback(undefined, value);\n }, 0);\n return true;\n } else {\n return value;\n }\n } // Allow subclasses to massage the input prior to running\n\n\n oldString = this.castInput(oldString);\n newString = this.castInput(newString);\n oldString = this.removeEmpty(this.tokenize(oldString));\n newString = this.removeEmpty(this.tokenize(newString));\n var newLen = newString.length,\n oldLen = oldString.length;\n var editLength = 1;\n var maxEditLength = newLen + oldLen;\n\n if (options.maxEditLength) {\n maxEditLength = Math.min(maxEditLength, options.maxEditLength);\n }\n\n var bestPath = [{\n newPos: -1,\n components: []\n }]; // Seed editLength = 0, i.e. the content starts with the same values\n\n var oldPos = this.extractCommon(bestPath[0], newString, oldString, 0);\n\n if (bestPath[0].newPos + 1 >= newLen && oldPos + 1 >= oldLen) {\n // Identity per the equality and tokenizer\n return done([{\n value: this.join(newString),\n count: newString.length\n }]);\n } // Main worker method. checks all permutations of a given edit length for acceptance.\n\n\n function execEditLength() {\n for (var diagonalPath = -1 * editLength; diagonalPath <= editLength; diagonalPath += 2) {\n var basePath = void 0;\n\n var addPath = bestPath[diagonalPath - 1],\n removePath = bestPath[diagonalPath + 1],\n _oldPos = (removePath ? removePath.newPos : 0) - diagonalPath;\n\n if (addPath) {\n // No one else is going to attempt to use this value, clear it\n bestPath[diagonalPath - 1] = undefined;\n }\n\n var canAdd = addPath && addPath.newPos + 1 < newLen,\n canRemove = removePath && 0 <= _oldPos && _oldPos < oldLen;\n\n if (!canAdd && !canRemove) {\n // If this path is a terminal then prune\n bestPath[diagonalPath] = undefined;\n continue;\n } // Select the diagonal that we want to branch from. We select the prior\n // path whose position in the new string is the farthest from the origin\n // and does not pass the bounds of the diff graph\n\n\n if (!canAdd || canRemove && addPath.newPos < removePath.newPos) {\n basePath = clonePath(removePath);\n self.pushComponent(basePath.components, undefined, true);\n } else {\n basePath = addPath; // No need to clone, we've pulled it from the list\n\n basePath.newPos++;\n self.pushComponent(basePath.components, true, undefined);\n }\n\n _oldPos = self.extractCommon(basePath, newString, oldString, diagonalPath); // If we have hit the end of both strings, then we are done\n\n if (basePath.newPos + 1 >= newLen && _oldPos + 1 >= oldLen) {\n return done(buildValues(self, basePath.components, newString, oldString, self.useLongestToken));\n } else {\n // Otherwise track this path as a potential candidate and continue.\n bestPath[diagonalPath] = basePath;\n }\n }\n\n editLength++;\n } // Performs the length of edit iteration. Is a bit fugly as this has to support the\n // sync and async mode which is never fun. Loops over execEditLength until a value\n // is produced, or until the edit length exceeds options.maxEditLength (if given),\n // in which case it will return undefined.\n\n\n if (callback) {\n (function exec() {\n setTimeout(function () {\n if (editLength > maxEditLength) {\n return callback();\n }\n\n if (!execEditLength()) {\n exec();\n }\n }, 0);\n })();\n } else {\n while (editLength <= maxEditLength) {\n var ret = execEditLength();\n\n if (ret) {\n return ret;\n }\n }\n }\n },\n pushComponent: function pushComponent(components, added, removed) {\n var last = components[components.length - 1];\n\n if (last && last.added === added && last.removed === removed) {\n // We need to clone here as the component clone operation is just\n // as shallow array clone\n components[components.length - 1] = {\n count: last.count + 1,\n added: added,\n removed: removed\n };\n } else {\n components.push({\n count: 1,\n added: added,\n removed: removed\n });\n }\n },\n extractCommon: function extractCommon(basePath, newString, oldString, diagonalPath) {\n var newLen = newString.length,\n oldLen = oldString.length,\n newPos = basePath.newPos,\n oldPos = newPos - diagonalPath,\n commonCount = 0;\n\n while (newPos + 1 < newLen && oldPos + 1 < oldLen && this.equals(newString[newPos + 1], oldString[oldPos + 1])) {\n newPos++;\n oldPos++;\n commonCount++;\n }\n\n if (commonCount) {\n basePath.components.push({\n count: commonCount\n });\n }\n\n basePath.newPos = newPos;\n return oldPos;\n },\n equals: function equals(left, right) {\n if (this.options.comparator) {\n return this.options.comparator(left, right);\n } else {\n return left === right || this.options.ignoreCase && left.toLowerCase() === right.toLowerCase();\n }\n },\n removeEmpty: function removeEmpty(array) {\n var ret = [];\n\n for (var i = 0; i < array.length; i++) {\n if (array[i]) {\n ret.push(array[i]);\n }\n }\n\n return ret;\n },\n castInput: function castInput(value) {\n return value;\n },\n tokenize: function tokenize(value) {\n return value.split('');\n },\n join: function join(chars) {\n return chars.join('');\n }\n};\n\nfunction buildValues(diff, components, newString, oldString, useLongestToken) {\n var componentPos = 0,\n componentLen = components.length,\n newPos = 0,\n oldPos = 0;\n\n for (; componentPos < componentLen; componentPos++) {\n var component = components[componentPos];\n\n if (!component.removed) {\n if (!component.added && useLongestToken) {\n var value = newString.slice(newPos, newPos + component.count);\n value = value.map(function (value, i) {\n var oldValue = oldString[oldPos + i];\n return oldValue.length > value.length ? oldValue : value;\n });\n component.value = diff.join(value);\n } else {\n component.value = diff.join(newString.slice(newPos, newPos + component.count));\n }\n\n newPos += component.count; // Common case\n\n if (!component.added) {\n oldPos += component.count;\n }\n } else {\n component.value = diff.join(oldString.slice(oldPos, oldPos + component.count));\n oldPos += component.count; // Reverse add and remove so removes are output first to match common convention\n // The diffing algorithm is tied to add then remove output and this is the simplest\n // route to get the desired output with minimal overhead.\n\n if (componentPos && components[componentPos - 1].added) {\n var tmp = components[componentPos - 1];\n components[componentPos - 1] = components[componentPos];\n components[componentPos] = tmp;\n }\n }\n } // Special case handle for when one terminal is ignored (i.e. whitespace).\n // For this case we merge the terminal into the prior string and drop the change.\n // This is only available for string mode.\n\n\n var lastComponent = components[componentLen - 1];\n\n if (componentLen > 1 && typeof lastComponent.value === 'string' && (lastComponent.added || lastComponent.removed) && diff.equals('', lastComponent.value)) {\n components[componentLen - 2].value += lastComponent.value;\n components.pop();\n }\n\n return components;\n}\n\nfunction clonePath(path) {\n return {\n newPos: path.newPos,\n components: path.components.slice(0)\n };\n}\n\nvar characterDiff = new Diff();\nfunction diffChars(oldStr, newStr, options) {\n return characterDiff.diff(oldStr, newStr, options);\n}\n\nfunction generateOptions(options, defaults) {\n if (typeof options === 'function') {\n defaults.callback = options;\n } else if (options) {\n for (var name in options) {\n /* istanbul ignore else */\n if (options.hasOwnProperty(name)) {\n defaults[name] = options[name];\n }\n }\n }\n\n return defaults;\n}\n\n//\n// Ranges and exceptions:\n// Latin-1 Supplement, 0080\u201300FF\n// - U+00D7 \u00D7 Multiplication sign\n// - U+00F7 \u00F7 Division sign\n// Latin Extended-A, 0100\u2013017F\n// Latin Extended-B, 0180\u2013024F\n// IPA Extensions, 0250\u201302AF\n// Spacing Modifier Letters, 02B0\u201302FF\n// - U+02C7 \u02C7 ˇ Caron\n// - U+02D8 \u02D8 ˘ Breve\n// - U+02D9 \u02D9 ˙ Dot Above\n// - U+02DA \u02DA ˚ Ring Above\n// - U+02DB \u02DB ˛ Ogonek\n// - U+02DC \u02DC ˜ Small Tilde\n// - U+02DD \u02DD ˝ Double Acute Accent\n// Latin Extended Additional, 1E00\u20131EFF\n\nvar extendedWordChars = /^[A-Za-z\\xC0-\\u02C6\\u02C8-\\u02D7\\u02DE-\\u02FF\\u1E00-\\u1EFF]+$/;\nvar reWhitespace = /\\S/;\nvar wordDiff = new Diff();\n\nwordDiff.equals = function (left, right) {\n if (this.options.ignoreCase) {\n left = left.toLowerCase();\n right = right.toLowerCase();\n }\n\n return left === right || this.options.ignoreWhitespace && !reWhitespace.test(left) && !reWhitespace.test(right);\n};\n\nwordDiff.tokenize = function (value) {\n // All whitespace symbols except newline group into one token, each newline - in separate token\n var tokens = value.split(/([^\\S\\r\\n]+|[()[\\]{}'\"\\r\\n]|\\b)/); // Join the boundary splits that we do not consider to be boundaries. This is primarily the extended Latin character set.\n\n for (var i = 0; i < tokens.length - 1; i++) {\n // If we have an empty string in the next field and we have only word chars before and after, merge\n if (!tokens[i + 1] && tokens[i + 2] && extendedWordChars.test(tokens[i]) && extendedWordChars.test(tokens[i + 2])) {\n tokens[i] += tokens[i + 2];\n tokens.splice(i + 1, 2);\n i--;\n }\n }\n\n return tokens;\n};\n\nfunction diffWords(oldStr, newStr, options) {\n options = generateOptions(options, {\n ignoreWhitespace: true\n });\n return wordDiff.diff(oldStr, newStr, options);\n}\nfunction diffWordsWithSpace(oldStr, newStr, options) {\n return wordDiff.diff(oldStr, newStr, options);\n}\n\nvar lineDiff = new Diff();\n\nlineDiff.tokenize = function (value) {\n var retLines = [],\n linesAndNewlines = value.split(/(\\n|\\r\\n)/); // Ignore the final empty token that occurs if the string ends with a new line\n\n if (!linesAndNewlines[linesAndNewlines.length - 1]) {\n linesAndNewlines.pop();\n } // Merge the content and line separators into single tokens\n\n\n for (var i = 0; i < linesAndNewlines.length; i++) {\n var line = linesAndNewlines[i];\n\n if (i % 2 && !this.options.newlineIsToken) {\n retLines[retLines.length - 1] += line;\n } else {\n if (this.options.ignoreWhitespace) {\n line = line.trim();\n }\n\n retLines.push(line);\n }\n }\n\n return retLines;\n};\n\nfunction diffLines(oldStr, newStr, callback) {\n return lineDiff.diff(oldStr, newStr, callback);\n}\nfunction diffTrimmedLines(oldStr, newStr, callback) {\n var options = generateOptions(callback, {\n ignoreWhitespace: true\n });\n return lineDiff.diff(oldStr, newStr, options);\n}\n\nvar sentenceDiff = new Diff();\n\nsentenceDiff.tokenize = function (value) {\n return value.split(/(\\S.+?[.!?])(?=\\s+|$)/);\n};\n\nfunction diffSentences(oldStr, newStr, callback) {\n return sentenceDiff.diff(oldStr, newStr, callback);\n}\n\nvar cssDiff = new Diff();\n\ncssDiff.tokenize = function (value) {\n return value.split(/([{}:;,]|\\s+)/);\n};\n\nfunction diffCss(oldStr, newStr, callback) {\n return cssDiff.diff(oldStr, newStr, callback);\n}\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n}\n\nfunction _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter);\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n return arr2;\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nvar objectPrototypeToString = Object.prototype.toString;\nvar jsonDiff = new Diff(); // Discriminate between two lines of pretty-printed, serialized JSON where one of them has a\n// dangling comma and the other doesn't. Turns out including the dangling comma yields the nicest output:\n\njsonDiff.useLongestToken = true;\njsonDiff.tokenize = lineDiff.tokenize;\n\njsonDiff.castInput = function (value) {\n var _this$options = this.options,\n undefinedReplacement = _this$options.undefinedReplacement,\n _this$options$stringi = _this$options.stringifyReplacer,\n stringifyReplacer = _this$options$stringi === void 0 ? function (k, v) {\n return typeof v === 'undefined' ? undefinedReplacement : v;\n } : _this$options$stringi;\n return typeof value === 'string' ? value : JSON.stringify(canonicalize(value, null, null, stringifyReplacer), stringifyReplacer, ' ');\n};\n\njsonDiff.equals = function (left, right) {\n return Diff.prototype.equals.call(jsonDiff, left.replace(/,([\\r\\n])/g, '$1'), right.replace(/,([\\r\\n])/g, '$1'));\n};\n\nfunction diffJson(oldObj, newObj, options) {\n return jsonDiff.diff(oldObj, newObj, options);\n} // This function handles the presence of circular references by bailing out when encountering an\n// object that is already on the \"stack\" of items being processed. Accepts an optional replacer\n\nfunction canonicalize(obj, stack, replacementStack, replacer, key) {\n stack = stack || [];\n replacementStack = replacementStack || [];\n\n if (replacer) {\n obj = replacer(key, obj);\n }\n\n var i;\n\n for (i = 0; i < stack.length; i += 1) {\n if (stack[i] === obj) {\n return replacementStack[i];\n }\n }\n\n var canonicalizedObj;\n\n if ('[object Array]' === objectPrototypeToString.call(obj)) {\n stack.push(obj);\n canonicalizedObj = new Array(obj.length);\n replacementStack.push(canonicalizedObj);\n\n for (i = 0; i < obj.length; i += 1) {\n canonicalizedObj[i] = canonicalize(obj[i], stack, replacementStack, replacer, key);\n }\n\n stack.pop();\n replacementStack.pop();\n return canonicalizedObj;\n }\n\n if (obj && obj.toJSON) {\n obj = obj.toJSON();\n }\n\n if (_typeof(obj) === 'object' && obj !== null) {\n stack.push(obj);\n canonicalizedObj = {};\n replacementStack.push(canonicalizedObj);\n\n var sortedKeys = [],\n _key;\n\n for (_key in obj) {\n /* istanbul ignore else */\n if (obj.hasOwnProperty(_key)) {\n sortedKeys.push(_key);\n }\n }\n\n sortedKeys.sort();\n\n for (i = 0; i < sortedKeys.length; i += 1) {\n _key = sortedKeys[i];\n canonicalizedObj[_key] = canonicalize(obj[_key], stack, replacementStack, replacer, _key);\n }\n\n stack.pop();\n replacementStack.pop();\n } else {\n canonicalizedObj = obj;\n }\n\n return canonicalizedObj;\n}\n\nvar arrayDiff = new Diff();\n\narrayDiff.tokenize = function (value) {\n return value.slice();\n};\n\narrayDiff.join = arrayDiff.removeEmpty = function (value) {\n return value;\n};\n\nfunction diffArrays(oldArr, newArr, callback) {\n return arrayDiff.diff(oldArr, newArr, callback);\n}\n\nfunction parsePatch(uniDiff) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var diffstr = uniDiff.split(/\\r\\n|[\\n\\v\\f\\r\\x85]/),\n delimiters = uniDiff.match(/\\r\\n|[\\n\\v\\f\\r\\x85]/g) || [],\n list = [],\n i = 0;\n\n function parseIndex() {\n var index = {};\n list.push(index); // Parse diff metadata\n\n while (i < diffstr.length) {\n var line = diffstr[i]; // File header found, end parsing diff metadata\n\n if (/^(\\-\\-\\-|\\+\\+\\+|@@)\\s/.test(line)) {\n break;\n } // Diff index\n\n\n var header = /^(?:Index:|diff(?: -r \\w+)+)\\s+(.+?)\\s*$/.exec(line);\n\n if (header) {\n index.index = header[1];\n }\n\n i++;\n } // Parse file headers if they are defined. Unified diff requires them, but\n // there's no technical issues to have an isolated hunk without file header\n\n\n parseFileHeader(index);\n parseFileHeader(index); // Parse hunks\n\n index.hunks = [];\n\n while (i < diffstr.length) {\n var _line = diffstr[i];\n\n if (/^(Index:|diff|\\-\\-\\-|\\+\\+\\+)\\s/.test(_line)) {\n break;\n } else if (/^@@/.test(_line)) {\n index.hunks.push(parseHunk());\n } else if (_line && options.strict) {\n // Ignore unexpected content unless in strict mode\n throw new Error('Unknown line ' + (i + 1) + ' ' + JSON.stringify(_line));\n } else {\n i++;\n }\n }\n } // Parses the --- and +++ headers, if none are found, no lines\n // are consumed.\n\n\n function parseFileHeader(index) {\n var fileHeader = /^(---|\\+\\+\\+)\\s+(.*)$/.exec(diffstr[i]);\n\n if (fileHeader) {\n var keyPrefix = fileHeader[1] === '---' ? 'old' : 'new';\n var data = fileHeader[2].split('\\t', 2);\n var fileName = data[0].replace(/\\\\\\\\/g, '\\\\');\n\n if (/^\".*\"$/.test(fileName)) {\n fileName = fileName.substr(1, fileName.length - 2);\n }\n\n index[keyPrefix + 'FileName'] = fileName;\n index[keyPrefix + 'Header'] = (data[1] || '').trim();\n i++;\n }\n } // Parses a hunk\n // This assumes that we are at the start of a hunk.\n\n\n function parseHunk() {\n var chunkHeaderIndex = i,\n chunkHeaderLine = diffstr[i++],\n chunkHeader = chunkHeaderLine.split(/@@ -(\\d+)(?:,(\\d+))? \\+(\\d+)(?:,(\\d+))? @@/);\n var hunk = {\n oldStart: +chunkHeader[1],\n oldLines: typeof chunkHeader[2] === 'undefined' ? 1 : +chunkHeader[2],\n newStart: +chunkHeader[3],\n newLines: typeof chunkHeader[4] === 'undefined' ? 1 : +chunkHeader[4],\n lines: [],\n linedelimiters: []\n }; // Unified Diff Format quirk: If the chunk size is 0,\n // the first number is one lower than one would expect.\n // https://www.artima.com/weblogs/viewpost.jsp?thread=164293\n\n if (hunk.oldLines === 0) {\n hunk.oldStart += 1;\n }\n\n if (hunk.newLines === 0) {\n hunk.newStart += 1;\n }\n\n var addCount = 0,\n removeCount = 0;\n\n for (; i < diffstr.length; i++) {\n // Lines starting with '---' could be mistaken for the \"remove line\" operation\n // But they could be the header for the next file. Therefore prune such cases out.\n if (diffstr[i].indexOf('--- ') === 0 && i + 2 < diffstr.length && diffstr[i + 1].indexOf('+++ ') === 0 && diffstr[i + 2].indexOf('@@') === 0) {\n break;\n }\n\n var operation = diffstr[i].length == 0 && i != diffstr.length - 1 ? ' ' : diffstr[i][0];\n\n if (operation === '+' || operation === '-' || operation === ' ' || operation === '\\\\') {\n hunk.lines.push(diffstr[i]);\n hunk.linedelimiters.push(delimiters[i] || '\\n');\n\n if (operation === '+') {\n addCount++;\n } else if (operation === '-') {\n removeCount++;\n } else if (operation === ' ') {\n addCount++;\n removeCount++;\n }\n } else {\n break;\n }\n } // Handle the empty block count case\n\n\n if (!addCount && hunk.newLines === 1) {\n hunk.newLines = 0;\n }\n\n if (!removeCount && hunk.oldLines === 1) {\n hunk.oldLines = 0;\n } // Perform optional sanity checking\n\n\n if (options.strict) {\n if (addCount !== hunk.newLines) {\n throw new Error('Added line count did not match for hunk at line ' + (chunkHeaderIndex + 1));\n }\n\n if (removeCount !== hunk.oldLines) {\n throw new Error('Removed line count did not match for hunk at line ' + (chunkHeaderIndex + 1));\n }\n }\n\n return hunk;\n }\n\n while (i < diffstr.length) {\n parseIndex();\n }\n\n return list;\n}\n\n// Iterator that traverses in the range of [min, max], stepping\n// by distance from a given start position. I.e. for [0, 4], with\n// start of 2, this will iterate 2, 3, 1, 4, 0.\nfunction distanceIterator (start, minLine, maxLine) {\n var wantForward = true,\n backwardExhausted = false,\n forwardExhausted = false,\n localOffset = 1;\n return function iterator() {\n if (wantForward && !forwardExhausted) {\n if (backwardExhausted) {\n localOffset++;\n } else {\n wantForward = false;\n } // Check if trying to fit beyond text length, and if not, check it fits\n // after offset location (or desired location on first iteration)\n\n\n if (start + localOffset <= maxLine) {\n return localOffset;\n }\n\n forwardExhausted = true;\n }\n\n if (!backwardExhausted) {\n if (!forwardExhausted) {\n wantForward = true;\n } // Check if trying to fit before text beginning, and if not, check it fits\n // before offset location\n\n\n if (minLine <= start - localOffset) {\n return -localOffset++;\n }\n\n backwardExhausted = true;\n return iterator();\n } // We tried to fit hunk before text beginning and beyond text length, then\n // hunk can't fit on the text. Return undefined\n\n };\n}\n\nfunction applyPatch(source, uniDiff) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n if (typeof uniDiff === 'string') {\n uniDiff = parsePatch(uniDiff);\n }\n\n if (Array.isArray(uniDiff)) {\n if (uniDiff.length > 1) {\n throw new Error('applyPatch only works with a single input.');\n }\n\n uniDiff = uniDiff[0];\n } // Apply the diff to the input\n\n\n var lines = source.split(/\\r\\n|[\\n\\v\\f\\r\\x85]/),\n delimiters = source.match(/\\r\\n|[\\n\\v\\f\\r\\x85]/g) || [],\n hunks = uniDiff.hunks,\n compareLine = options.compareLine || function (lineNumber, line, operation, patchContent) {\n return line === patchContent;\n },\n errorCount = 0,\n fuzzFactor = options.fuzzFactor || 0,\n minLine = 0,\n offset = 0,\n removeEOFNL,\n addEOFNL;\n /**\n * Checks if the hunk exactly fits on the provided location\n */\n\n\n function hunkFits(hunk, toPos) {\n for (var j = 0; j < hunk.lines.length; j++) {\n var line = hunk.lines[j],\n operation = line.length > 0 ? line[0] : ' ',\n content = line.length > 0 ? line.substr(1) : line;\n\n if (operation === ' ' || operation === '-') {\n // Context sanity check\n if (!compareLine(toPos + 1, lines[toPos], operation, content)) {\n errorCount++;\n\n if (errorCount > fuzzFactor) {\n return false;\n }\n }\n\n toPos++;\n }\n }\n\n return true;\n } // Search best fit offsets for each hunk based on the previous ones\n\n\n for (var i = 0; i < hunks.length; i++) {\n var hunk = hunks[i],\n maxLine = lines.length - hunk.oldLines,\n localOffset = 0,\n toPos = offset + hunk.oldStart - 1;\n var iterator = distanceIterator(toPos, minLine, maxLine);\n\n for (; localOffset !== undefined; localOffset = iterator()) {\n if (hunkFits(hunk, toPos + localOffset)) {\n hunk.offset = offset += localOffset;\n break;\n }\n }\n\n if (localOffset === undefined) {\n return false;\n } // Set lower text limit to end of the current hunk, so next ones don't try\n // to fit over already patched text\n\n\n minLine = hunk.offset + hunk.oldStart + hunk.oldLines;\n } // Apply patch hunks\n\n\n var diffOffset = 0;\n\n for (var _i = 0; _i < hunks.length; _i++) {\n var _hunk = hunks[_i],\n _toPos = _hunk.oldStart + _hunk.offset + diffOffset - 1;\n\n diffOffset += _hunk.newLines - _hunk.oldLines;\n\n for (var j = 0; j < _hunk.lines.length; j++) {\n var line = _hunk.lines[j],\n operation = line.length > 0 ? line[0] : ' ',\n content = line.length > 0 ? line.substr(1) : line,\n delimiter = _hunk.linedelimiters[j];\n\n if (operation === ' ') {\n _toPos++;\n } else if (operation === '-') {\n lines.splice(_toPos, 1);\n delimiters.splice(_toPos, 1);\n /* istanbul ignore else */\n } else if (operation === '+') {\n lines.splice(_toPos, 0, content);\n delimiters.splice(_toPos, 0, delimiter);\n _toPos++;\n } else if (operation === '\\\\') {\n var previousOperation = _hunk.lines[j - 1] ? _hunk.lines[j - 1][0] : null;\n\n if (previousOperation === '+') {\n removeEOFNL = true;\n } else if (previousOperation === '-') {\n addEOFNL = true;\n }\n }\n }\n } // Handle EOFNL insertion/removal\n\n\n if (removeEOFNL) {\n while (!lines[lines.length - 1]) {\n lines.pop();\n delimiters.pop();\n }\n } else if (addEOFNL) {\n lines.push('');\n delimiters.push('\\n');\n }\n\n for (var _k = 0; _k < lines.length - 1; _k++) {\n lines[_k] = lines[_k] + delimiters[_k];\n }\n\n return lines.join('');\n} // Wrapper that supports multiple file patches via callbacks.\n\nfunction applyPatches(uniDiff, options) {\n if (typeof uniDiff === 'string') {\n uniDiff = parsePatch(uniDiff);\n }\n\n var currentIndex = 0;\n\n function processIndex() {\n var index = uniDiff[currentIndex++];\n\n if (!index) {\n return options.complete();\n }\n\n options.loadFile(index, function (err, data) {\n if (err) {\n return options.complete(err);\n }\n\n var updatedContent = applyPatch(data, index, options);\n options.patched(index, updatedContent, function (err) {\n if (err) {\n return options.complete(err);\n }\n\n processIndex();\n });\n });\n }\n\n processIndex();\n}\n\nfunction structuredPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, newHeader, options) {\n if (!options) {\n options = {};\n }\n\n if (typeof options.context === 'undefined') {\n options.context = 4;\n }\n\n var diff = diffLines(oldStr, newStr, options);\n\n if (!diff) {\n return;\n }\n\n diff.push({\n value: '',\n lines: []\n }); // Append an empty value to make cleanup easier\n\n function contextLines(lines) {\n return lines.map(function (entry) {\n return ' ' + entry;\n });\n }\n\n var hunks = [];\n var oldRangeStart = 0,\n newRangeStart = 0,\n curRange = [],\n oldLine = 1,\n newLine = 1;\n\n var _loop = function _loop(i) {\n var current = diff[i],\n lines = current.lines || current.value.replace(/\\n$/, '').split('\\n');\n current.lines = lines;\n\n if (current.added || current.removed) {\n var _curRange;\n\n // If we have previous context, start with that\n if (!oldRangeStart) {\n var prev = diff[i - 1];\n oldRangeStart = oldLine;\n newRangeStart = newLine;\n\n if (prev) {\n curRange = options.context > 0 ? contextLines(prev.lines.slice(-options.context)) : [];\n oldRangeStart -= curRange.length;\n newRangeStart -= curRange.length;\n }\n } // Output our changes\n\n\n (_curRange = curRange).push.apply(_curRange, _toConsumableArray(lines.map(function (entry) {\n return (current.added ? '+' : '-') + entry;\n }))); // Track the updated file position\n\n\n if (current.added) {\n newLine += lines.length;\n } else {\n oldLine += lines.length;\n }\n } else {\n // Identical context lines. Track line changes\n if (oldRangeStart) {\n // Close out any changes that have been output (or join overlapping)\n if (lines.length <= options.context * 2 && i < diff.length - 2) {\n var _curRange2;\n\n // Overlapping\n (_curRange2 = curRange).push.apply(_curRange2, _toConsumableArray(contextLines(lines)));\n } else {\n var _curRange3;\n\n // end the range and output\n var contextSize = Math.min(lines.length, options.context);\n\n (_curRange3 = curRange).push.apply(_curRange3, _toConsumableArray(contextLines(lines.slice(0, contextSize))));\n\n var hunk = {\n oldStart: oldRangeStart,\n oldLines: oldLine - oldRangeStart + contextSize,\n newStart: newRangeStart,\n newLines: newLine - newRangeStart + contextSize,\n lines: curRange\n };\n\n if (i >= diff.length - 2 && lines.length <= options.context) {\n // EOF is inside this hunk\n var oldEOFNewline = /\\n$/.test(oldStr);\n var newEOFNewline = /\\n$/.test(newStr);\n var noNlBeforeAdds = lines.length == 0 && curRange.length > hunk.oldLines;\n\n if (!oldEOFNewline && noNlBeforeAdds && oldStr.length > 0) {\n // special case: old has no eol and no trailing context; no-nl can end up before adds\n // however, if the old file is empty, do not output the no-nl line\n curRange.splice(hunk.oldLines, 0, '\\\\ No newline at end of file');\n }\n\n if (!oldEOFNewline && !noNlBeforeAdds || !newEOFNewline) {\n curRange.push('\\\\ No newline at end of file');\n }\n }\n\n hunks.push(hunk);\n oldRangeStart = 0;\n newRangeStart = 0;\n curRange = [];\n }\n }\n\n oldLine += lines.length;\n newLine += lines.length;\n }\n };\n\n for (var i = 0; i < diff.length; i++) {\n _loop(i);\n }\n\n return {\n oldFileName: oldFileName,\n newFileName: newFileName,\n oldHeader: oldHeader,\n newHeader: newHeader,\n hunks: hunks\n };\n}\nfunction formatPatch(diff) {\n var ret = [];\n\n if (diff.oldFileName == diff.newFileName) {\n ret.push('Index: ' + diff.oldFileName);\n }\n\n ret.push('===================================================================');\n ret.push('--- ' + diff.oldFileName + (typeof diff.oldHeader === 'undefined' ? '' : '\\t' + diff.oldHeader));\n ret.push('+++ ' + diff.newFileName + (typeof diff.newHeader === 'undefined' ? '' : '\\t' + diff.newHeader));\n\n for (var i = 0; i < diff.hunks.length; i++) {\n var hunk = diff.hunks[i]; // Unified Diff Format quirk: If the chunk size is 0,\n // the first number is one lower than one would expect.\n // https://www.artima.com/weblogs/viewpost.jsp?thread=164293\n\n if (hunk.oldLines === 0) {\n hunk.oldStart -= 1;\n }\n\n if (hunk.newLines === 0) {\n hunk.newStart -= 1;\n }\n\n ret.push('@@ -' + hunk.oldStart + ',' + hunk.oldLines + ' +' + hunk.newStart + ',' + hunk.newLines + ' @@');\n ret.push.apply(ret, hunk.lines);\n }\n\n return ret.join('\\n') + '\\n';\n}\nfunction createTwoFilesPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, newHeader, options) {\n return formatPatch(structuredPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, newHeader, options));\n}\nfunction createPatch(fileName, oldStr, newStr, oldHeader, newHeader, options) {\n return createTwoFilesPatch(fileName, fileName, oldStr, newStr, oldHeader, newHeader, options);\n}\n\nfunction arrayEqual(a, b) {\n if (a.length !== b.length) {\n return false;\n }\n\n return arrayStartsWith(a, b);\n}\nfunction arrayStartsWith(array, start) {\n if (start.length > array.length) {\n return false;\n }\n\n for (var i = 0; i < start.length; i++) {\n if (start[i] !== array[i]) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction calcLineCount(hunk) {\n var _calcOldNewLineCount = calcOldNewLineCount(hunk.lines),\n oldLines = _calcOldNewLineCount.oldLines,\n newLines = _calcOldNewLineCount.newLines;\n\n if (oldLines !== undefined) {\n hunk.oldLines = oldLines;\n } else {\n delete hunk.oldLines;\n }\n\n if (newLines !== undefined) {\n hunk.newLines = newLines;\n } else {\n delete hunk.newLines;\n }\n}\nfunction merge(mine, theirs, base) {\n mine = loadPatch(mine, base);\n theirs = loadPatch(theirs, base);\n var ret = {}; // For index we just let it pass through as it doesn't have any necessary meaning.\n // Leaving sanity checks on this to the API consumer that may know more about the\n // meaning in their own context.\n\n if (mine.index || theirs.index) {\n ret.index = mine.index || theirs.index;\n }\n\n if (mine.newFileName || theirs.newFileName) {\n if (!fileNameChanged(mine)) {\n // No header or no change in ours, use theirs (and ours if theirs does not exist)\n ret.oldFileName = theirs.oldFileName || mine.oldFileName;\n ret.newFileName = theirs.newFileName || mine.newFileName;\n ret.oldHeader = theirs.oldHeader || mine.oldHeader;\n ret.newHeader = theirs.newHeader || mine.newHeader;\n } else if (!fileNameChanged(theirs)) {\n // No header or no change in theirs, use ours\n ret.oldFileName = mine.oldFileName;\n ret.newFileName = mine.newFileName;\n ret.oldHeader = mine.oldHeader;\n ret.newHeader = mine.newHeader;\n } else {\n // Both changed... figure it out\n ret.oldFileName = selectField(ret, mine.oldFileName, theirs.oldFileName);\n ret.newFileName = selectField(ret, mine.newFileName, theirs.newFileName);\n ret.oldHeader = selectField(ret, mine.oldHeader, theirs.oldHeader);\n ret.newHeader = selectField(ret, mine.newHeader, theirs.newHeader);\n }\n }\n\n ret.hunks = [];\n var mineIndex = 0,\n theirsIndex = 0,\n mineOffset = 0,\n theirsOffset = 0;\n\n while (mineIndex < mine.hunks.length || theirsIndex < theirs.hunks.length) {\n var mineCurrent = mine.hunks[mineIndex] || {\n oldStart: Infinity\n },\n theirsCurrent = theirs.hunks[theirsIndex] || {\n oldStart: Infinity\n };\n\n if (hunkBefore(mineCurrent, theirsCurrent)) {\n // This patch does not overlap with any of the others, yay.\n ret.hunks.push(cloneHunk(mineCurrent, mineOffset));\n mineIndex++;\n theirsOffset += mineCurrent.newLines - mineCurrent.oldLines;\n } else if (hunkBefore(theirsCurrent, mineCurrent)) {\n // This patch does not overlap with any of the others, yay.\n ret.hunks.push(cloneHunk(theirsCurrent, theirsOffset));\n theirsIndex++;\n mineOffset += theirsCurrent.newLines - theirsCurrent.oldLines;\n } else {\n // Overlap, merge as best we can\n var mergedHunk = {\n oldStart: Math.min(mineCurrent.oldStart, theirsCurrent.oldStart),\n oldLines: 0,\n newStart: Math.min(mineCurrent.newStart + mineOffset, theirsCurrent.oldStart + theirsOffset),\n newLines: 0,\n lines: []\n };\n mergeLines(mergedHunk, mineCurrent.oldStart, mineCurrent.lines, theirsCurrent.oldStart, theirsCurrent.lines);\n theirsIndex++;\n mineIndex++;\n ret.hunks.push(mergedHunk);\n }\n }\n\n return ret;\n}\n\nfunction loadPatch(param, base) {\n if (typeof param === 'string') {\n if (/^@@/m.test(param) || /^Index:/m.test(param)) {\n return parsePatch(param)[0];\n }\n\n if (!base) {\n throw new Error('Must provide a base reference or pass in a patch');\n }\n\n return structuredPatch(undefined, undefined, base, param);\n }\n\n return param;\n}\n\nfunction fileNameChanged(patch) {\n return patch.newFileName && patch.newFileName !== patch.oldFileName;\n}\n\nfunction selectField(index, mine, theirs) {\n if (mine === theirs) {\n return mine;\n } else {\n index.conflict = true;\n return {\n mine: mine,\n theirs: theirs\n };\n }\n}\n\nfunction hunkBefore(test, check) {\n return test.oldStart < check.oldStart && test.oldStart + test.oldLines < check.oldStart;\n}\n\nfunction cloneHunk(hunk, offset) {\n return {\n oldStart: hunk.oldStart,\n oldLines: hunk.oldLines,\n newStart: hunk.newStart + offset,\n newLines: hunk.newLines,\n lines: hunk.lines\n };\n}\n\nfunction mergeLines(hunk, mineOffset, mineLines, theirOffset, theirLines) {\n // This will generally result in a conflicted hunk, but there are cases where the context\n // is the only overlap where we can successfully merge the content here.\n var mine = {\n offset: mineOffset,\n lines: mineLines,\n index: 0\n },\n their = {\n offset: theirOffset,\n lines: theirLines,\n index: 0\n }; // Handle any leading content\n\n insertLeading(hunk, mine, their);\n insertLeading(hunk, their, mine); // Now in the overlap content. Scan through and select the best changes from each.\n\n while (mine.index < mine.lines.length && their.index < their.lines.length) {\n var mineCurrent = mine.lines[mine.index],\n theirCurrent = their.lines[their.index];\n\n if ((mineCurrent[0] === '-' || mineCurrent[0] === '+') && (theirCurrent[0] === '-' || theirCurrent[0] === '+')) {\n // Both modified ...\n mutualChange(hunk, mine, their);\n } else if (mineCurrent[0] === '+' && theirCurrent[0] === ' ') {\n var _hunk$lines;\n\n // Mine inserted\n (_hunk$lines = hunk.lines).push.apply(_hunk$lines, _toConsumableArray(collectChange(mine)));\n } else if (theirCurrent[0] === '+' && mineCurrent[0] === ' ') {\n var _hunk$lines2;\n\n // Theirs inserted\n (_hunk$lines2 = hunk.lines).push.apply(_hunk$lines2, _toConsumableArray(collectChange(their)));\n } else if (mineCurrent[0] === '-' && theirCurrent[0] === ' ') {\n // Mine removed or edited\n removal(hunk, mine, their);\n } else if (theirCurrent[0] === '-' && mineCurrent[0] === ' ') {\n // Their removed or edited\n removal(hunk, their, mine, true);\n } else if (mineCurrent === theirCurrent) {\n // Context identity\n hunk.lines.push(mineCurrent);\n mine.index++;\n their.index++;\n } else {\n // Context mismatch\n conflict(hunk, collectChange(mine), collectChange(their));\n }\n } // Now push anything that may be remaining\n\n\n insertTrailing(hunk, mine);\n insertTrailing(hunk, their);\n calcLineCount(hunk);\n}\n\nfunction mutualChange(hunk, mine, their) {\n var myChanges = collectChange(mine),\n theirChanges = collectChange(their);\n\n if (allRemoves(myChanges) && allRemoves(theirChanges)) {\n // Special case for remove changes that are supersets of one another\n if (arrayStartsWith(myChanges, theirChanges) && skipRemoveSuperset(their, myChanges, myChanges.length - theirChanges.length)) {\n var _hunk$lines3;\n\n (_hunk$lines3 = hunk.lines).push.apply(_hunk$lines3, _toConsumableArray(myChanges));\n\n return;\n } else if (arrayStartsWith(theirChanges, myChanges) && skipRemoveSuperset(mine, theirChanges, theirChanges.length - myChanges.length)) {\n var _hunk$lines4;\n\n (_hunk$lines4 = hunk.lines).push.apply(_hunk$lines4, _toConsumableArray(theirChanges));\n\n return;\n }\n } else if (arrayEqual(myChanges, theirChanges)) {\n var _hunk$lines5;\n\n (_hunk$lines5 = hunk.lines).push.apply(_hunk$lines5, _toConsumableArray(myChanges));\n\n return;\n }\n\n conflict(hunk, myChanges, theirChanges);\n}\n\nfunction removal(hunk, mine, their, swap) {\n var myChanges = collectChange(mine),\n theirChanges = collectContext(their, myChanges);\n\n if (theirChanges.merged) {\n var _hunk$lines6;\n\n (_hunk$lines6 = hunk.lines).push.apply(_hunk$lines6, _toConsumableArray(theirChanges.merged));\n } else {\n conflict(hunk, swap ? theirChanges : myChanges, swap ? myChanges : theirChanges);\n }\n}\n\nfunction conflict(hunk, mine, their) {\n hunk.conflict = true;\n hunk.lines.push({\n conflict: true,\n mine: mine,\n theirs: their\n });\n}\n\nfunction insertLeading(hunk, insert, their) {\n while (insert.offset < their.offset && insert.index < insert.lines.length) {\n var line = insert.lines[insert.index++];\n hunk.lines.push(line);\n insert.offset++;\n }\n}\n\nfunction insertTrailing(hunk, insert) {\n while (insert.index < insert.lines.length) {\n var line = insert.lines[insert.index++];\n hunk.lines.push(line);\n }\n}\n\nfunction collectChange(state) {\n var ret = [],\n operation = state.lines[state.index][0];\n\n while (state.index < state.lines.length) {\n var line = state.lines[state.index]; // Group additions that are immediately after subtractions and treat them as one \"atomic\" modify change.\n\n if (operation === '-' && line[0] === '+') {\n operation = '+';\n }\n\n if (operation === line[0]) {\n ret.push(line);\n state.index++;\n } else {\n break;\n }\n }\n\n return ret;\n}\n\nfunction collectContext(state, matchChanges) {\n var changes = [],\n merged = [],\n matchIndex = 0,\n contextChanges = false,\n conflicted = false;\n\n while (matchIndex < matchChanges.length && state.index < state.lines.length) {\n var change = state.lines[state.index],\n match = matchChanges[matchIndex]; // Once we've hit our add, then we are done\n\n if (match[0] === '+') {\n break;\n }\n\n contextChanges = contextChanges || change[0] !== ' ';\n merged.push(match);\n matchIndex++; // Consume any additions in the other block as a conflict to attempt\n // to pull in the remaining context after this\n\n if (change[0] === '+') {\n conflicted = true;\n\n while (change[0] === '+') {\n changes.push(change);\n change = state.lines[++state.index];\n }\n }\n\n if (match.substr(1) === change.substr(1)) {\n changes.push(change);\n state.index++;\n } else {\n conflicted = true;\n }\n }\n\n if ((matchChanges[matchIndex] || '')[0] === '+' && contextChanges) {\n conflicted = true;\n }\n\n if (conflicted) {\n return changes;\n }\n\n while (matchIndex < matchChanges.length) {\n merged.push(matchChanges[matchIndex++]);\n }\n\n return {\n merged: merged,\n changes: changes\n };\n}\n\nfunction allRemoves(changes) {\n return changes.reduce(function (prev, change) {\n return prev && change[0] === '-';\n }, true);\n}\n\nfunction skipRemoveSuperset(state, removeChanges, delta) {\n for (var i = 0; i < delta; i++) {\n var changeContent = removeChanges[removeChanges.length - delta + i].substr(1);\n\n if (state.lines[state.index + i] !== ' ' + changeContent) {\n return false;\n }\n }\n\n state.index += delta;\n return true;\n}\n\nfunction calcOldNewLineCount(lines) {\n var oldLines = 0;\n var newLines = 0;\n lines.forEach(function (line) {\n if (typeof line !== 'string') {\n var myCount = calcOldNewLineCount(line.mine);\n var theirCount = calcOldNewLineCount(line.theirs);\n\n if (oldLines !== undefined) {\n if (myCount.oldLines === theirCount.oldLines) {\n oldLines += myCount.oldLines;\n } else {\n oldLines = undefined;\n }\n }\n\n if (newLines !== undefined) {\n if (myCount.newLines === theirCount.newLines) {\n newLines += myCount.newLines;\n } else {\n newLines = undefined;\n }\n }\n } else {\n if (newLines !== undefined && (line[0] === '+' || line[0] === ' ')) {\n newLines++;\n }\n\n if (oldLines !== undefined && (line[0] === '-' || line[0] === ' ')) {\n oldLines++;\n }\n }\n });\n return {\n oldLines: oldLines,\n newLines: newLines\n };\n}\n\n// See: http://code.google.com/p/google-diff-match-patch/wiki/API\nfunction convertChangesToDMP(changes) {\n var ret = [],\n change,\n operation;\n\n for (var i = 0; i < changes.length; i++) {\n change = changes[i];\n\n if (change.added) {\n operation = 1;\n } else if (change.removed) {\n operation = -1;\n } else {\n operation = 0;\n }\n\n ret.push([operation, change.value]);\n }\n\n return ret;\n}\n\nfunction convertChangesToXML(changes) {\n var ret = [];\n\n for (var i = 0; i < changes.length; i++) {\n var change = changes[i];\n\n if (change.added) {\n ret.push('');\n } else if (change.removed) {\n ret.push('');\n }\n\n ret.push(escapeHTML(change.value));\n\n if (change.added) {\n ret.push('');\n } else if (change.removed) {\n ret.push('');\n }\n }\n\n return ret.join('');\n}\n\nfunction escapeHTML(s) {\n var n = s;\n n = n.replace(/&/g, '&');\n n = n.replace(//g, '>');\n n = n.replace(/\"/g, '"');\n return n;\n}\n\nexport { Diff, applyPatch, applyPatches, canonicalize, convertChangesToDMP, convertChangesToXML, createPatch, createTwoFilesPatch, diffArrays, diffChars, diffCss, diffJson, diffLines, diffSentences, diffTrimmedLines, diffWords, diffWordsWithSpace, merge, parsePatch, structuredPatch };\n", "/**\n * @fileoverview Text utility.\n * @license Apache-2.0\n */\n\nimport * as Diff from \"diff\";\nimport { stdoutColors } from \"./terminal.js\";\n\nexport function utf8Length(string) {\n var len = 0;\n for (var i = 0, k = string.length; i < k; ++i) {\n let c = string.charCodeAt(i);\n if (c < 128) {\n len += 1;\n } else if (c < 2048) {\n len += 2;\n } else if ((c & 0xFC00) === 0xD800 && i + 1 < k && (string.charCodeAt(i + 1) & 0xFC00) === 0xDC00) {\n ++i;\n len += 4;\n } else {\n len += 3;\n }\n }\n return len;\n}\n\nexport function utf8Read(buffer, start, end) {\n var len = end - start;\n if (len < 1) return \"\";\n var parts = null,\n chunk = [],\n i = 0, // char offset\n t; // temporary\n while (start < end) {\n t = buffer[start++];\n if (t < 128) {\n chunk[i++] = t;\n } else if (t > 191 && t < 224) {\n chunk[i++] = (t & 31) << 6 | buffer[start++] & 63;\n } else if (t > 239 && t < 365) {\n t = ((t & 7) << 18 | (buffer[start++] & 63) << 12 | (buffer[start++] & 63) << 6 | buffer[start++] & 63) - 0x10000;\n chunk[i++] = 0xD800 + (t >> 10);\n chunk[i++] = 0xDC00 + (t & 1023);\n } else {\n chunk[i++] = (t & 15) << 12 | (buffer[start++] & 63) << 6 | buffer[start++] & 63;\n }\n if (i >= 8192) {\n (parts || (parts = [])).push(String.fromCharCode(...chunk));\n i = 0;\n }\n }\n if (parts) {\n if (i) parts.push(String.fromCharCode(...chunk.slice(0, i)));\n return parts.join(\"\");\n }\n return String.fromCharCode(...chunk.slice(0, i));\n}\n\nexport function utf8Write(string, buffer, offset) {\n var start = offset;\n for (var i = 0, k = string.length; i < k; ++i) {\n let c1 = string.charCodeAt(i), c2;\n if (c1 < 128) {\n buffer[offset++] = c1;\n } else if (c1 < 2048) {\n buffer[offset++] = c1 >> 6 | 192;\n buffer[offset++] = c1 & 63 | 128;\n } else if ((c1 & 0xFC00) === 0xD800 && i + 1 < k && ((c2 = string.charCodeAt(i + 1)) & 0xFC00) === 0xDC00) {\n c1 = 0x10000 + ((c1 & 0x03FF) << 10) + (c2 & 0x03FF);\n ++i;\n buffer[offset++] = c1 >> 18 | 240;\n buffer[offset++] = c1 >> 12 & 63 | 128;\n buffer[offset++] = c1 >> 6 & 63 | 128;\n buffer[offset++] = c1 & 63 | 128;\n } else {\n buffer[offset++] = c1 >> 12 | 224;\n buffer[offset++] = c1 >> 6 & 63 | 128;\n buffer[offset++] = c1 & 63 | 128;\n }\n }\n return offset - start;\n}\n\nexport const utf8 = {\n length: utf8Length,\n read: utf8Read,\n write: utf8Write\n};\n\nexport function diff(filename, expected, actual) {\n const diff = Diff.structuredPatch(filename, filename, expected, actual, \"expected\", \"actual\", { context: 5 });\n if (!diff.hunks.length) return null;\n\n const out = [\n '--- ' + diff.oldHeader,\n '+++ ' + diff.newHeader\n ];\n for (const hunk of diff.hunks) {\n out.push(\n '@@ -' + hunk.oldStart + ',' + hunk.oldLines\n + ' +' + hunk.newStart + ',' + hunk.newLines\n + ' @@'\n );\n out.push(...hunk.lines.map(line =>\n line.charAt(0) === \"+\"\n ? stdoutColors.green(line)\n : line.charAt(0) === \"-\"\n ? line = stdoutColors.red(line)\n : line\n ));\n }\n\n return out.join('\\n') + '\\n';\n}\n", "/**\n * @fileoverview Command line options utility.\n * @license Apache-2.0\n */\n\nimport { path, module } from \"./node.js\";\nimport { stdoutColors } from \"./terminal.js\";\n\nconst require = module.createRequire(import.meta.url);\n\n// type | meaning\n// -----|---------------\n// b | boolean\n// i | integer\n// f | float\n// s | string\n// I | integer array\n// F | float array\n// S | string array\n\n/** Parses the specified command line arguments according to the given configuration. */\nexport function parse(argv, config, propagateDefaults = true) {\n var options = {};\n var unknown = [];\n var args = [];\n var trailing = [];\n\n // make an alias map and initialize defaults\n var aliases = {};\n Object.keys(config).forEach(key => {\n if (key.startsWith(\" \")) return;\n var option = config[key];\n if (option.alias != null) {\n if (typeof option.alias === \"string\") aliases[option.alias] = key;\n else if (Array.isArray(option.alias)) option.alias.forEach(alias => aliases[alias] = key);\n }\n if (propagateDefaults && option.default != null) options[key] = option.default;\n });\n\n // iterate over argv\n for (var i = 0, k = (argv = argv.slice()).length; i < k; ++i) {\n let arg = argv[i];\n if (arg == \"--\") { ++i; break; }\n let match = /^(?:(-\\w)(?:=(.*))?|(--\\w{2,})(?:=(.*))?)$/.exec(arg), option, key;\n if (match) {\n if (config[arg]) option = config[key = arg]; // exact\n else if (match[1] != null) { // alias\n option = config[key = aliases[match[1].substring(1)]];\n if (option && match[2] != null) argv[i--] = match[2];\n } else if (match[3] != null) { // full\n option = config[key = match[3].substring(2)];\n if (option && match[4] != null) argv[i--] = match[4];\n }\n } else {\n if (arg.charCodeAt(0) == 45) option = config[key = arg]; // exact\n else { args.push(arg); continue; } // argument\n }\n if (option) {\n if (option.value) {\n // alias setting fixed values\n Object.keys(option.value).forEach(k => options[k] = option.value[k]);\n } else if (option.type == null || option.type === \"b\") {\n // boolean flag not taking a value\n options[key] = true;\n } else {\n if (i + 1 < argv.length && argv[i + 1].charCodeAt(0) != 45) {\n // non-boolean with given value\n switch (option.type) {\n case \"i\": options[key] = parseInt(argv[++i], 10); break;\n case \"I\": options[key] = (options[key] || []).concat(parseInt(argv[++i], 10)); break;\n case \"f\": options[key] = parseFloat(argv[++i]); break;\n case \"F\": options[key] = (options[key] || []).concat(parseFloat(argv[++i])); break;\n case \"s\": options[key] = String(argv[++i]); break;\n case \"S\": options[key] = (options[key] || []).concat(argv[++i].split(\",\")); break;\n default: unknown.push(arg); --i;\n }\n } else {\n // non-boolean with omitted value\n switch (option.type) {\n case \"i\":\n case \"f\": options[key] = option.default || 0; break;\n case \"s\": options[key] = option.default || \"\"; break;\n case \"I\":\n case \"F\":\n case \"S\": options[key] = option.default || []; break;\n default: unknown.push(arg);\n }\n }\n }\n } else unknown.push(arg);\n }\n while (i < k) trailing.push(argv[i++]); // trailing\n if (propagateDefaults) addDefaults(config, options);\n\n return { options, unknown, arguments: args, trailing };\n}\n\n/** Generates the help text for the specified configuration. */\nexport function help(config, options) {\n if (!options) options = {};\n var indent = options.indent || 2;\n var padding = options.padding || 24;\n var eol = options.eol || \"\\n\";\n var sbCategories = {};\n var sbOther = [];\n Object.keys(config).forEach(key => {\n var option = config[key];\n if (option.description == null) return;\n var text = \"\";\n while (text.length < indent) text += \" \";\n text += \"--\" + key;\n if (option.alias) text += \", -\" + option.alias;\n while (text.length < padding) text += \" \";\n var sb;\n if (!options.noCategories && option.category) {\n if (!(sb = sbCategories[option.category])) {\n sbCategories[option.category] = sb = [];\n }\n } else {\n sb = sbOther;\n }\n if (Array.isArray(option.description)) {\n sb.push(text + option.description[0] + option.description.slice(1).map(line => {\n for (let i = 0; i < padding; ++i) line = \" \" + line;\n return eol + line;\n }).join(\"\"));\n } else sb.push(text + option.description);\n });\n var sb = [];\n var hasCategories = false;\n Object.keys(sbCategories).forEach(category => {\n hasCategories = true;\n sb.push(eol + \" \" + stdoutColors.gray(category) + eol);\n sb.push(sbCategories[category].join(eol));\n });\n if (hasCategories && sbOther.length) {\n sb.push(eol + \" \" + stdoutColors.gray(\"Other\") + eol);\n }\n sb.push(sbOther.join(eol));\n return sb.join(eol);\n}\n\n/** Sanitizes an option value to be a valid value of the option's type. */\nfunction sanitizeValue(value, type) {\n if (value != null) {\n switch (type) {\n case undefined:\n case \"b\": return Boolean(value);\n case \"i\": return Math.trunc(value) || 0;\n case \"f\": return Number(value) || 0;\n case \"s\": {\n if (value === true) return \"\";\n if (value === false) return null;\n return String(value);\n }\n case \"I\": {\n if (!Array.isArray(value)) value = [ value ];\n return value.map(v => Math.trunc(v) || 0);\n }\n case \"F\": {\n if (!Array.isArray(value)) value = [ value ];\n return value.map(v => Number(v) || 0);\n }\n case \"S\": {\n if (!Array.isArray(value)) value = [ value ];\n return value.map(String);\n }\n }\n }\n return undefined;\n}\n\n/** Merges two sets of options into one, preferring the current over the parent set. */\nexport function merge(config, currentOptions, parentOptions, parentBaseDir) {\n const mergedOptions = {};\n for (const [key, { type, mutuallyExclusive, isPath, useNodeResolution, cliOnly }] of Object.entries(config)) {\n let currentValue = sanitizeValue(currentOptions[key], type);\n let parentValue = sanitizeValue(parentOptions[key], type);\n if (currentValue == null) {\n if (parentValue != null) {\n // only parent value present\n if (cliOnly) continue;\n if (Array.isArray(parentValue)) {\n let exclude;\n if (isPath) {\n parentValue = parentValue.map(value => resolvePath(value, parentBaseDir, useNodeResolution));\n }\n if (mutuallyExclusive != null && (exclude = currentOptions[mutuallyExclusive])) {\n mergedOptions[key] = parentValue.filter(value => !exclude.includes(value));\n } else {\n mergedOptions[key] = parentValue.slice();\n }\n } else {\n if (isPath) {\n parentValue = resolvePath(parentValue, parentBaseDir, useNodeResolution);\n }\n mergedOptions[key] = parentValue;\n }\n }\n } else if (parentValue == null) {\n // only current value present\n if (Array.isArray(currentValue)) {\n mergedOptions[key] = currentValue.slice();\n } else {\n mergedOptions[key] = currentValue;\n }\n } else {\n // both current and parent values present\n if (Array.isArray(currentValue)) {\n if (cliOnly) {\n mergedOptions[key] = currentValue.slice();\n continue;\n }\n let exclude;\n if (isPath) {\n parentValue = parentValue.map(value => resolvePath(value, parentBaseDir, useNodeResolution));\n }\n if (mutuallyExclusive != null && (exclude = currentOptions[mutuallyExclusive])) {\n mergedOptions[key] = [\n ...currentValue,\n ...parentValue.filter(value => !currentValue.includes(value) && !exclude.includes(value))\n ];\n } else {\n mergedOptions[key] = [\n ...currentValue,\n ...parentValue.filter(value => !currentValue.includes(value)) // dedup\n ];\n }\n } else {\n mergedOptions[key] = currentValue;\n }\n }\n }\n return mergedOptions;\n}\n\n/** Normalizes a path. */\nexport function normalizePath(p) {\n const parsed = path.parse(p);\n if (!parsed.root) {\n parsed.root = \"./\";\n }\n return path.format(parsed);\n}\n\n/** Resolves a single possibly relative path. Keeps absolute paths, otherwise prepends baseDir. */\nexport function resolvePath(p, baseDir, useNodeResolution = false) {\n if (path.isAbsolute(p)) return p;\n if (useNodeResolution && !p.startsWith(\".\") && require.resolve) {\n return require.resolve(p, { paths: [ baseDir ] });\n }\n return normalizePath(path.join(baseDir, p));\n}\n\n/** Populates default values on a parsed options result. */\nexport function addDefaults(config, options) {\n for (const [key, { default: defaultValue }] of Object.entries(config)) {\n if (options[key] == null && defaultValue != null) {\n options[key] = defaultValue;\n }\n }\n}\n", "// GENERATED FILE. DO NOT EDIT.\n\nexport const version = \"0.27.29\";\nexport const options = {\n \"version\": {\n \"category\": \"General\",\n \"description\": \"Prints just the compiler's version and exits.\",\n \"type\": \"b\",\n \"alias\": \"v\"\n },\n \"help\": {\n \"category\": \"General\",\n \"description\": \"Prints this message and exits.\",\n \"type\": \"b\",\n \"alias\": \"h\"\n },\n \"config\": {\n \"category\": \"General\",\n \"description\": \"Configuration file to apply. CLI arguments take precedence.\",\n \"type\": \"s\",\n \"cliOnly\": true\n },\n \"target\": {\n \"category\": \"General\",\n \"description\": \"Configuration file target to use. Defaults to 'release'.\",\n \"type\": \"s\",\n \"cliOnly\": true\n },\n \"optimize\": {\n \"category\": \"Optimization\",\n \"description\": [\n \"Optimizes the module. Typical shorthands are:\",\n \"\",\n \" Default optimizations -O\",\n \" Make a release build -O --noAssert\",\n \" Make a debug build --debug\",\n \" Optimize for speed -Ospeed\",\n \" Optimize for size -Osize\",\n \"\"\n ],\n \"type\": \"b\",\n \"alias\": \"O\"\n },\n \"optimizeLevel\": {\n \"category\": \"Optimization\",\n \"description\": \"How much to focus on optimizing code. [0-3]\",\n \"type\": \"i\"\n },\n \"shrinkLevel\": {\n \"category\": \"Optimization\",\n \"description\": \"How much to focus on shrinking code size. [0-2, s=1, z=2]\",\n \"type\": \"i\"\n },\n \"converge\": {\n \"category\": \"Optimization\",\n \"description\": \"Re-optimizes until no further improvements can be made.\",\n \"type\": \"b\",\n \"default\": false\n },\n \"noAssert\": {\n \"category\": \"Optimization\",\n \"description\": \"Replaces assertions with just their value without trapping.\",\n \"type\": \"b\",\n \"default\": false\n },\n \"outFile\": {\n \"category\": \"Output\",\n \"description\": \"Specifies the WebAssembly output file (.wasm).\",\n \"type\": \"s\",\n \"alias\": \"o\",\n \"isPath\": true\n },\n \"textFile\": {\n \"category\": \"Output\",\n \"description\": \"Specifies the WebAssembly text output file (.wat).\",\n \"type\": \"s\",\n \"alias\": \"t\",\n \"isPath\": true\n },\n \"bindings\": {\n \"category\": \"Output\",\n \"description\": [\n \"Specifies the bindings to generate (.js + .d.ts).\",\n \"\",\n \" esm JavaScript bindings & typings for ESM integration.\",\n \" raw Like esm, but exports just the instantiate function.\",\n \" Useful where modules are meant to be instantiated\",\n \" multiple times or non-ESM imports must be provided.\"\n ],\n \"type\": \"S\",\n \"alias\": \"b\"\n },\n \"sourceMap\": {\n \"category\": \"Debugging\",\n \"description\": [\n \"Enables source map generation. Optionally takes the URL\",\n \"used to reference the source map from the binary file.\"\n ],\n \"type\": \"s\"\n },\n \"uncheckedBehavior\": {\n \"category\": \"Debugging\",\n \"description\": [\n \"Changes the behavior of unchecked() expressions.\",\n \"Using this option can potentially cause breakage.\",\n \"\",\n \" default The default behavior: unchecked operations are\",\n \" only used inside of unchecked().\",\n \" never Unchecked operations are never used, even when\",\n \" inside of unchecked().\",\n \" always Unchecked operations are always used if possible,\",\n \" whether or not unchecked() is used.\"\n ],\n \"type\": \"s\",\n \"default\": \"default\"\n },\n \"debug\": {\n \"category\": \"Debugging\",\n \"description\": \"Enables debug information in emitted binaries.\",\n \"type\": \"b\",\n \"default\": false\n },\n \"importMemory\": {\n \"category\": \"Features\",\n \"description\": \"Imports the memory from 'env.memory'.\",\n \"type\": \"b\",\n \"default\": false\n },\n \"noExportMemory\": {\n \"category\": \"Features\",\n \"description\": \"Does not export the memory as 'memory'.\",\n \"type\": \"b\",\n \"default\": false\n },\n \"initialMemory\": {\n \"category\": \"Features\",\n \"description\": \"Sets the initial memory size in pages.\",\n \"type\": \"i\",\n \"default\": 0\n },\n \"maximumMemory\": {\n \"category\": \"Features\",\n \"description\": \"Sets the maximum memory size in pages.\",\n \"type\": \"i\",\n \"default\": 0\n },\n \"sharedMemory\": {\n \"category\": \"Features\",\n \"description\": \"Declare memory as shared. Requires maximumMemory.\",\n \"type\": \"b\",\n \"default\": false\n },\n \"zeroFilledMemory\": {\n \"category\": \"Features\",\n \"description\": \"Assume imported memory is zeroed. Requires importMemory.\",\n \"type\": \"b\",\n \"default\": false\n },\n \"importTable\": {\n \"category\": \"Features\",\n \"description\": \"Imports the function table from 'env.table'.\",\n \"type\": \"b\",\n \"default\": false\n },\n \"exportTable\": {\n \"category\": \"Features\",\n \"description\": \"Exports the function table as 'table'.\",\n \"type\": \"b\",\n \"default\": false\n },\n \"exportStart\": {\n \"category\": \"Features\",\n \"description\": [\n \"Exports the start function using the specified name instead\",\n \"of calling it implicitly. Useful to obtain the exported memory\",\n \"before executing any code accessing it.\"\n ],\n \"type\": \"s\"\n },\n \"runtime\": {\n \"category\": \"Features\",\n \"description\": [\n \"Specifies the runtime variant to include in the program.\",\n \"\",\n \" incremental TLSF + incremental GC (default)\",\n \" minimal TLSF + lightweight GC invoked externally\",\n \" stub Minimal runtime stub (never frees)\",\n \" ... Path to a custom runtime implementation\",\n \"\"\n ],\n \"type\": \"s\",\n \"default\": \"incremental\"\n },\n \"exportRuntime\": {\n \"category\": \"Features\",\n \"description\": [\n \"Always exports the runtime helpers (__new, __collect, __pin etc.).\",\n \"Automatically determined when generation of --bindings is enabled.\"\n ],\n \"type\": \"b\",\n \"default\": false\n },\n \"stackSize\": {\n \"category\": \"Features\",\n \"description\": [\n \"Overrides the stack size. Only relevant for incremental GC\",\n \"or when using a custom runtime that requires stack space.\",\n \"Defaults to 0 without and to 32768 with incremental GC.\"\n ],\n \"default\": 0,\n \"type\": \"i\"\n },\n \"enable\": {\n \"category\": \"Features\",\n \"description\": [\n \"Enables WebAssembly features being disabled by default.\",\n \"\",\n \" threads Threading and atomic operations.\",\n \" simd SIMD types and operations.\",\n \" reference-types Reference types and operations.\",\n \" gc Garbage collection (WIP).\",\n \" stringref String reference types.\",\n \" relaxed-simd Relaxed SIMD operations.\",\n \"\"\n ],\n \"TODO_doesNothingYet\": [\n \" exception-handling Exception handling.\",\n \" tail-calls Tail call operations.\",\n \" multi-value Multi value types.\",\n \" memory64 Memory64 operations.\",\n \" extended-const Extended const expressions.\"\n ],\n \"type\": \"S\",\n \"mutuallyExclusive\": \"disable\"\n },\n \"disable\": {\n \"category\": \"Features\",\n \"description\": [\n \"Disables WebAssembly features being enabled by default.\",\n \"\",\n \" mutable-globals Mutable global imports and exports.\",\n \" sign-extension Sign-extension operations\",\n \" nontrapping-f2i Non-trapping float to integer ops.\",\n \" bulk-memory Bulk memory operations.\",\n \"\"\n ],\n \"type\": \"S\",\n \"mutuallyExclusive\": \"enable\"\n },\n \"use\": {\n \"category\": \"Features\",\n \"description\": [\n \"Aliases a global object under another name, e.g., to switch\",\n \"the default 'Math' implementation used: --use Math=JSMath\",\n \"Can also be used to introduce an integer constant.\"\n ],\n \"type\": \"S\",\n \"alias\": \"u\"\n },\n \"lowMemoryLimit\": {\n \"category\": \"Features\",\n \"description\": \"Enforces very low (<64k) memory constraints.\",\n \"default\": 0,\n \"type\": \"i\"\n },\n \"memoryBase\": {\n \"category\": \"Linking\",\n \"description\": \"Sets the start offset of emitted memory segments.\",\n \"type\": \"i\",\n \"default\": 0\n },\n \"tableBase\": {\n \"category\": \"Linking\",\n \"description\": \"Sets the start offset of emitted table elements.\",\n \"type\": \"i\",\n \"default\": 0\n },\n \"transform\": {\n \"category\": \"API\",\n \"description\": \"Specifies the path to a custom transform to load.\",\n \"type\": \"S\",\n \"isPath\": true,\n \"useNodeResolution\": true\n },\n \"trapMode\": {\n \"category\": \"Binaryen\",\n \"description\": [\n \"Sets the trap mode to use.\",\n \"\",\n \" allow Allow trapping operations. This is the default.\",\n \" clamp Replace trapping operations with clamping semantics.\",\n \" js Replace trapping operations with JS semantics.\",\n \"\"\n ],\n \"type\": \"s\",\n \"default\": \"allow\"\n },\n \"runPasses\": {\n \"category\": \"Binaryen\",\n \"description\": [\n \"Specifies additional Binaryen passes to run after other\",\n \"optimizations, if any. See: Binaryen/src/passes/pass.cpp\"\n ],\n \"type\": \"s\"\n },\n \"noValidate\": {\n \"category\": \"Binaryen\",\n \"description\": \"Skips validating the module using Binaryen.\",\n \"type\": \"b\",\n \"default\": false\n },\n \"baseDir\": {\n \"description\": \"Specifies the base directory of input and output files.\",\n \"type\": \"s\",\n \"default\": \".\"\n },\n \"noColors\": {\n \"description\": \"Disables terminal colors.\",\n \"type\": \"b\",\n \"default\": false\n },\n \"noUnsafe\": {\n \"description\": [\n \"Disallows the use of unsafe features in user code.\",\n \"Does not affect library files and external modules.\"\n ],\n \"type\": \"b\",\n \"default\": false\n },\n \"disableWarning\": {\n \"description\": [\n \"Disables warnings matching the given diagnostic code.\",\n \"If no diagnostic code is given, all warnings are disabled.\"\n ],\n \"type\": \"I\"\n },\n \"noEmit\": {\n \"description\": \"Performs compilation as usual but does not emit code.\",\n \"type\": \"b\",\n \"default\": false\n },\n \"showConfig\": {\n \"description\": \"Print computed compiler options and exit.\",\n \"type\": \"b\",\n \"default\": false\n },\n \"stats\": {\n \"description\": \"Prints statistics on I/O and compile times.\",\n \"type\": \"b\",\n \"default\": false\n },\n \"pedantic\": {\n \"description\": \"Make yourself sad for no good reason.\",\n \"type\": \"b\",\n \"default\": false\n },\n \"lib\": {\n \"description\": [\n \"Adds one or multiple paths to custom library components and\",\n \"uses exports of all top-level files at this path as globals.\"\n ],\n \"type\": \"S\",\n \"isPath\": true\n },\n \"path\": {\n \"description\": [\n \"Adds one or multiple paths to package resolution, similar\",\n \"to node_modules. Prefers an 'ascMain' entry in a package's\",\n \"package.json and falls back to an inner 'assembly/' folder.\"\n ],\n \"type\": \"S\",\n \"isPath\": true\n },\n \"wasm\": {\n \"description\": \"Uses the specified Wasm binary of the compiler.\",\n \"type\": \"s\"\n },\n \" ...\": {\n \"description\": \"Specifies node.js options (CLI only). See: node --help\"\n },\n \"-Os\": {\n \"value\": {\n \"optimizeLevel\": 0,\n \"shrinkLevel\": 1\n }\n },\n \"-Oz\": {\n \"value\": {\n \"optimizeLevel\": 0,\n \"shrinkLevel\": 2\n }\n },\n \"-O0\": {\n \"value\": {\n \"optimizeLevel\": 0,\n \"shrinkLevel\": 0\n }\n },\n \"-O1\": {\n \"value\": {\n \"optimizeLevel\": 1,\n \"shrinkLevel\": 0\n }\n },\n \"-O2\": {\n \"value\": {\n \"optimizeLevel\": 2,\n \"shrinkLevel\": 0\n }\n },\n \"-O3\": {\n \"value\": {\n \"optimizeLevel\": 3,\n \"shrinkLevel\": 0\n }\n },\n \"-O0s\": {\n \"value\": {\n \"optimizeLevel\": 0,\n \"shrinkLevel\": 1\n }\n },\n \"-O1s\": {\n \"value\": {\n \"optimizeLevel\": 1,\n \"shrinkLevel\": 1\n }\n },\n \"-O2s\": {\n \"value\": {\n \"optimizeLevel\": 2,\n \"shrinkLevel\": 1\n }\n },\n \"-O3s\": {\n \"value\": {\n \"optimizeLevel\": 3,\n \"shrinkLevel\": 1\n }\n },\n \"-O0z\": {\n \"value\": {\n \"optimizeLevel\": 0,\n \"shrinkLevel\": 2\n }\n },\n \"-O1z\": {\n \"value\": {\n \"optimizeLevel\": 1,\n \"shrinkLevel\": 2\n }\n },\n \"-O2z\": {\n \"value\": {\n \"optimizeLevel\": 2,\n \"shrinkLevel\": 2\n }\n },\n \"-O3z\": {\n \"value\": {\n \"optimizeLevel\": 3,\n \"shrinkLevel\": 2\n }\n },\n \"-Ospeed\": {\n \"value\": {\n \"optimizeLevel\": 3,\n \"shrinkLevel\": 0\n }\n },\n \"-Osize\": {\n \"value\": {\n \"optimizeLevel\": 0,\n \"shrinkLevel\": 2,\n \"converge\": true\n }\n },\n \"--measure\": {\n \"value\": {\n \"stats\": true\n }\n }\n};\nexport const libraryPrefix = \"~lib/\";\nexport const libraryFiles = {\n \"array\": \"/// \\n\\nimport { BLOCK_MAXSIZE } from \\\"./rt/common\\\";\\nimport { Runtime } from \\\"shared/runtime\\\";\\nimport { COMPARATOR, SORT } from \\\"./util/sort\\\";\\nimport { REVERSE, FILL } from \\\"./util/bytes\\\";\\nimport { joinBooleanArray, joinIntegerArray, joinFloatArray, joinStringArray, joinReferenceArray } from \\\"./util/string\\\";\\nimport { idof, isArray as builtin_isArray } from \\\"./builtins\\\";\\nimport { E_INDEXOUTOFRANGE, E_INVALIDLENGTH, E_EMPTYARRAY, E_HOLEYARRAY } from \\\"./util/error\\\";\\n\\n// @ts-ignore: decorator\\n@inline @lazy const MIN_SIZE: usize = 8;\\n\\n/** Ensures that the given array has _at least_ the specified backing size. */\\nfunction ensureCapacity(array: usize, newSize: usize, alignLog2: u32, canGrow: bool = true): void {\\n // Depends on the fact that Arrays mimic ArrayBufferView\\n let oldCapacity = changetype(array).byteLength;\\n if (newSize > oldCapacity >>> alignLog2) {\\n if (newSize > BLOCK_MAXSIZE >>> alignLog2) throw new RangeError(E_INVALIDLENGTH);\\n let oldData = changetype(changetype(array).buffer);\\n // Grows old capacity by factor of two.\\n // Make sure we don't reach BLOCK_MAXSIZE for new growed capacity.\\n let newCapacity = max(newSize, MIN_SIZE) << alignLog2;\\n if (canGrow) newCapacity = max(min(oldCapacity << 1, BLOCK_MAXSIZE), newCapacity);\\n let newData = __renew(oldData, newCapacity);\\n // __new / __renew already init memory range as zeros in Incremental runtime.\\n // So try to avoid this.\\n if (ASC_RUNTIME != Runtime.Incremental) {\\n memory.fill(newData + oldCapacity, 0, newCapacity - oldCapacity);\\n }\\n if (newData != oldData) { // oldData has been free'd\\n store(array, newData, offsetof(\\\"buffer\\\"));\\n store(array, newData, offsetof(\\\"dataStart\\\"));\\n __link(array, changetype(newData), false);\\n }\\n store(array, newCapacity, offsetof(\\\"byteLength\\\"));\\n }\\n}\\n\\nexport class Array {\\n [key: number]: T;\\n\\n // Mimicking ArrayBufferView isn't strictly necessary here but is done to allow glue code\\n // to work with typed and normal arrays interchangeably. Technically, normal arrays do not need\\n // `dataStart` (equals `buffer`) and `byteLength` (equals computed `buffer.byteLength`), but the\\n // block is 16 bytes anyway so it's fine to have a couple extra fields in there.\\n\\n private buffer: ArrayBuffer;\\n @unsafe readonly dataStart: usize;\\n private byteLength: i32; // Uses here as capacity\\n\\n // Also note that Array with non-nullable T must guard against uninitialized null values\\n // whenever an element is accessed. Otherwise, the compiler wouldn't be able to guarantee\\n // type-safety anymore. For lack of a better word, such an array is \\\"holey\\\".\\n\\n private length_: i32;\\n\\n static isArray(value: U): bool {\\n return isReference() ? changetype(value) != 0 && builtin_isArray(value) : false;\\n }\\n\\n static create(capacity: i32 = 0): Array {\\n WARNING(\\\"'Array.create' is deprecated. Use 'new Array' instead, making sure initial elements are initialized.\\\");\\n let array = new Array(capacity);\\n array.length = 0;\\n return array;\\n }\\n\\n constructor(length: i32 = 0) {\\n if (length > BLOCK_MAXSIZE >>> alignof()) throw new RangeError(E_INVALIDLENGTH);\\n // reserve capacity for at least MIN_SIZE elements\\n let bufferSize = max(length, MIN_SIZE) << alignof();\\n let buffer = changetype(__new(bufferSize, idof()));\\n if (ASC_RUNTIME != Runtime.Incremental) {\\n memory.fill(changetype(buffer), 0, bufferSize);\\n }\\n this.buffer = buffer; // links\\n this.dataStart = changetype(buffer);\\n this.byteLength = bufferSize;\\n this.length_ = length;\\n }\\n\\n get length(): i32 {\\n return this.length_;\\n }\\n\\n set length(newLength: i32) {\\n ensureCapacity(changetype(this), newLength, alignof(), false);\\n this.length_ = newLength;\\n }\\n\\n every(fn: (value: T, index: i32, array: Array) => bool): bool {\\n for (let i = 0, len = this.length_; i < min(len, this.length_); ++i) {\\n if (!fn(load(this.dataStart + (i << alignof())), i, this)) return false;\\n }\\n return true;\\n }\\n\\n findIndex(fn: (value: T, index: i32, array: Array) => bool): i32 {\\n for (let i = 0, len = this.length_; i < min(len, this.length_); ++i) {\\n if (fn(load(this.dataStart + (i << alignof())), i, this)) return i;\\n }\\n return -1;\\n }\\n\\n findLastIndex(fn: (value: T, index: i32, array: Array) => bool): i32 {\\n for (let i = this.length_ - 1; i >= 0; --i) {\\n if (fn(load(this.dataStart + (i << alignof())), i, this)) return i;\\n }\\n return -1;\\n }\\n\\n @operator(\\\"[]\\\") private __get(index: i32): T {\\n if (index >= this.length_) throw new RangeError(E_INDEXOUTOFRANGE);\\n let value = load(this.dataStart + (index << alignof()));\\n if (isReference()) {\\n if (!isNullable()) {\\n if (!changetype(value)) throw new Error(E_HOLEYARRAY);\\n }\\n }\\n return value;\\n }\\n\\n @unsafe @operator(\\\"{}\\\") private __uget(index: i32): T {\\n return load(this.dataStart + (index << alignof()));\\n }\\n\\n @operator(\\\"[]=\\\") private __set(index: i32, value: T): void {\\n if (index >= this.length_) {\\n if (index < 0) throw new RangeError(E_INDEXOUTOFRANGE);\\n ensureCapacity(changetype(this), index + 1, alignof());\\n this.length_ = index + 1;\\n }\\n store(this.dataStart + (index << alignof()), value);\\n if (isManaged()) {\\n __link(changetype(this), changetype(value), true);\\n }\\n }\\n\\n at(index: i32): T {\\n let len = this.length_;\\n index += select(0, len, index >= 0);\\n if (index >= len) throw new RangeError(E_INDEXOUTOFRANGE);\\n let value = load(this.dataStart + (index << alignof()));\\n if (isReference()) {\\n if (!isNullable()) {\\n if (!changetype(value)) throw new Error(E_HOLEYARRAY);\\n }\\n }\\n return value;\\n }\\n\\n fill(value: T, start: i32 = 0, end: i32 = i32.MAX_VALUE): Array {\\n if (isManaged()) {\\n FILL(this.dataStart, this.length_, changetype(value), start, end);\\n __link(changetype(this), changetype(value), false);\\n } else {\\n FILL(this.dataStart, this.length_, value, start, end);\\n }\\n return this;\\n }\\n\\n includes(value: T, fromIndex: i32 = 0): bool {\\n if (isFloat()) {\\n let len = this.length_;\\n if (len == 0 || fromIndex >= len) return false;\\n if (fromIndex < 0) fromIndex = max(len + fromIndex, 0);\\n let ptr = this.dataStart;\\n while (fromIndex < len) {\\n let elem = load(ptr + (fromIndex << alignof()));\\n // @ts-ignore\\n if (elem == value || isNaN(elem) & isNaN(value)) return true;\\n ++fromIndex;\\n }\\n return false;\\n } else {\\n return this.indexOf(value, fromIndex) >= 0;\\n }\\n }\\n\\n indexOf(value: T, fromIndex: i32 = 0): i32 {\\n let len = this.length_;\\n if (len == 0 || fromIndex >= len) return -1;\\n if (fromIndex < 0) fromIndex = max(len + fromIndex, 0);\\n let ptr = this.dataStart;\\n while (fromIndex < len) {\\n if (load(ptr + (fromIndex << alignof())) == value) return fromIndex;\\n ++fromIndex;\\n }\\n return -1;\\n }\\n\\n lastIndexOf(value: T, fromIndex: i32 = this.length_): i32 {\\n let len = this.length_;\\n if (len == 0) return -1;\\n if (fromIndex < 0) fromIndex = len + fromIndex;\\n else if (fromIndex >= len) fromIndex = len - 1;\\n let ptr = this.dataStart;\\n while (fromIndex >= 0) {\\n if (load(ptr + (fromIndex << alignof())) == value) return fromIndex;\\n --fromIndex;\\n }\\n return -1;\\n }\\n\\n push(value: T): i32 {\\n let oldLen = this.length_;\\n let len = oldLen + 1;\\n ensureCapacity(changetype(this), len, alignof());\\n if (isManaged()) {\\n store(this.dataStart + (oldLen << alignof()), changetype(value));\\n __link(changetype(this), changetype(value), true);\\n } else {\\n store(this.dataStart + (oldLen << alignof()), value);\\n }\\n this.length_ = len;\\n return len;\\n }\\n\\n concat(other: Array): Array {\\n let thisLen = this.length_;\\n let otherLen = other.length_;\\n let outLen = thisLen + otherLen;\\n if (outLen > BLOCK_MAXSIZE >>> alignof()) throw new Error(E_INVALIDLENGTH);\\n let out = changetype>(__newArray(outLen, alignof(), idof>()));\\n let outStart = out.dataStart;\\n let thisSize = thisLen << alignof();\\n if (isManaged()) {\\n let thisStart = this.dataStart;\\n for (let offset: usize = 0; offset < thisSize; offset += sizeof()) {\\n let ref = load(thisStart + offset);\\n store(outStart + offset, ref);\\n __link(changetype(out), ref, true);\\n }\\n outStart += thisSize;\\n let otherStart = other.dataStart;\\n let otherSize = otherLen << alignof();\\n for (let offset: usize = 0; offset < otherSize; offset += sizeof()) {\\n let ref = load(otherStart + offset);\\n store(outStart + offset, ref);\\n __link(changetype(out), ref, true);\\n }\\n } else {\\n memory.copy(outStart, this.dataStart, thisSize);\\n memory.copy(outStart + thisSize, other.dataStart, otherLen << alignof());\\n }\\n return out;\\n }\\n\\n copyWithin(target: i32, start: i32, end: i32 = i32.MAX_VALUE): Array {\\n let ptr = this.dataStart;\\n let len = this.length_;\\n\\n end = min(end, len);\\n\\n let to = target < 0 ? max(len + target, 0) : min(target, len);\\n let from = start < 0 ? max(len + start, 0) : min(start, len);\\n let last = end < 0 ? max(len + end, 0) : min(end, len);\\n let count = min(last - from, len - to);\\n\\n memory.copy( // is memmove\\n ptr + (to << alignof()),\\n ptr + (from << alignof()),\\n count << alignof()\\n );\\n return this;\\n }\\n\\n pop(): T {\\n let len = this.length_;\\n if (len < 1) throw new RangeError(E_EMPTYARRAY);\\n let val = load(this.dataStart + ((--len) << alignof()));\\n this.length_ = len;\\n return val;\\n }\\n\\n forEach(fn: (value: T, index: i32, array: Array) => void): void {\\n for (let i = 0, len = this.length_; i < min(len, this.length_); ++i) {\\n fn(load(this.dataStart + (i << alignof())), i, this);\\n }\\n }\\n\\n map(fn: (value: T, index: i32, array: Array) => U): Array {\\n let len = this.length_;\\n let out = changetype>(__newArray(len, alignof(), idof>()));\\n let outStart = out.dataStart;\\n for (let i = 0; i < min(len, this.length_); ++i) {\\n let result = fn(load(this.dataStart + (i << alignof())), i, this);\\n store(outStart + (i << alignof()), result);\\n if (isManaged()) {\\n __link(changetype(out), changetype(result), true);\\n }\\n }\\n return out;\\n }\\n\\n filter(fn: (value: T, index: i32, array: Array) => bool): Array {\\n let result = changetype>(__newArray(0, alignof(), idof>()));\\n for (let i = 0, len = this.length_; i < min(len, this.length_); ++i) {\\n let value = load(this.dataStart + (i << alignof()));\\n if (fn(value, i, this)) result.push(value);\\n }\\n return result;\\n }\\n\\n reduce(\\n fn: (previousValue: U, currentValue: T, currentIndex: i32, array: Array) => U,\\n initialValue: U\\n ): U {\\n let acc = initialValue;\\n for (let i = 0, len = this.length_; i < min(len, this.length_); ++i) {\\n acc = fn(acc, load(this.dataStart + (i << alignof())), i, this);\\n }\\n return acc;\\n }\\n\\n reduceRight(\\n fn: (previousValue: U, currentValue: T, currentIndex: i32, array: Array) => U,\\n initialValue: U\\n ): U {\\n let acc = initialValue;\\n for (let i = this.length_ - 1; i >= 0; --i) {\\n acc = fn(acc, load(this.dataStart + (i << alignof())), i, this);\\n }\\n return acc;\\n }\\n\\n shift(): T {\\n let len = this.length_;\\n if (len < 1) throw new RangeError(E_EMPTYARRAY);\\n let base = this.dataStart;\\n let element = load(base);\\n let lastIndex = len - 1;\\n memory.copy(\\n base,\\n base + sizeof(),\\n lastIndex << alignof()\\n );\\n if (isReference()) {\\n store(base + (lastIndex << alignof()), 0);\\n } else {\\n // @ts-ignore\\n store(base + (lastIndex << alignof()), 0);\\n }\\n this.length_ = lastIndex;\\n return element;\\n }\\n\\n some(fn: (value: T, index: i32, array: Array) => bool): bool {\\n for (let i = 0, len = this.length_; i < min(len, this.length_); ++i) {\\n if (fn(load(this.dataStart + (i << alignof())), i, this)) return true;\\n }\\n return false;\\n }\\n\\n unshift(value: T): i32 {\\n let len = this.length_ + 1;\\n ensureCapacity(changetype(this), len, alignof());\\n let ptr = this.dataStart;\\n memory.copy(\\n ptr + sizeof(),\\n ptr,\\n (len - 1) << alignof()\\n );\\n store(ptr, value);\\n if (isManaged()) {\\n __link(changetype(this), changetype(value), true);\\n }\\n this.length_ = len;\\n return len;\\n }\\n\\n slice(start: i32 = 0, end: i32 = i32.MAX_VALUE): Array {\\n let len = this.length_;\\n start = start < 0 ? max(start + len, 0) : min(start, len);\\n end = end < 0 ? max(end + len, 0) : min(end , len);\\n len = max(end - start, 0);\\n let slice = changetype>(__newArray(len, alignof(), idof>()));\\n let sliceBase = slice.dataStart;\\n let thisBase = this.dataStart + (start << alignof());\\n if (isManaged()) {\\n let off = 0;\\n let end = len << alignof();\\n while (off < end) {\\n let ref = load(thisBase + off);\\n store(sliceBase + off, ref);\\n __link(changetype(slice), ref, true);\\n off += sizeof();\\n }\\n } else {\\n memory.copy(sliceBase, thisBase, len << alignof());\\n }\\n return slice;\\n }\\n\\n splice(start: i32, deleteCount: i32 = i32.MAX_VALUE): Array {\\n let len = this.length_;\\n start = start < 0 ? max(len + start, 0) : min(start, len);\\n deleteCount = max(min(deleteCount, len - start), 0);\\n let result = changetype>(__newArray(deleteCount, alignof(), idof>()));\\n let resultStart = result.dataStart;\\n let thisStart = this.dataStart;\\n let thisBase = thisStart + (start << alignof());\\n memory.copy(\\n resultStart,\\n thisBase,\\n deleteCount << alignof()\\n );\\n let offset = start + deleteCount;\\n if (len != offset) {\\n memory.copy(\\n thisBase,\\n thisStart + (offset << alignof()),\\n (len - offset) << alignof()\\n );\\n }\\n this.length_ = len - deleteCount;\\n return result;\\n }\\n\\n reverse(): Array {\\n REVERSE(this.dataStart, this.length_);\\n return this;\\n }\\n\\n sort(comparator: (a: T, b: T) => i32 = COMPARATOR()): Array {\\n SORT(this.dataStart, this.length_, comparator);\\n return this;\\n }\\n\\n join(separator: string = \\\",\\\"): string {\\n let ptr = this.dataStart;\\n let len = this.length_;\\n if (isBoolean()) return joinBooleanArray(ptr, len, separator);\\n if (isInteger()) return joinIntegerArray(ptr, len, separator);\\n if (isFloat()) return joinFloatArray(ptr, len, separator);\\n\\n if (ASC_SHRINK_LEVEL < 1) {\\n if (isString()) return joinStringArray(ptr, len, separator);\\n }\\n // For rest objects and arrays use general join routine\\n if (isReference()) return joinReferenceArray(ptr, len, separator);\\n ERROR(\\\"unspported element type\\\");\\n return unreachable();\\n }\\n\\n flat(): T {\\n if (!isArray()) {\\n ERROR(\\\"Cannot call flat() on Array where T is not an Array.\\\");\\n }\\n // Get the length and data start values\\n let ptr = this.dataStart;\\n let len = this.length_;\\n\\n // calculate the end size with an initial pass\\n let size = 0;\\n for (let i = 0; i < len; ++i) {\\n let child = load(ptr + (i << alignof()));\\n size += child == 0 ? 0 : load(child, offsetof(\\\"length_\\\"));\\n }\\n\\n // calculate the byteLength of the resulting backing ArrayBuffer\\n const align = alignof>();\\n let byteLength = size << align;\\n let outBuffer = changetype(__new(byteLength, idof()));\\n\\n // create the return value and initialize it\\n let outArray = changetype(__new(offsetof(), idof()));\\n store(changetype(outArray), size, offsetof(\\\"length_\\\"));\\n\\n // byteLength, dataStart, and buffer are all readonly\\n store(changetype(outArray), byteLength, offsetof(\\\"byteLength\\\"));\\n store(changetype(outArray), changetype(outBuffer), offsetof(\\\"dataStart\\\"));\\n store(changetype(outArray), changetype(outBuffer), offsetof(\\\"buffer\\\"));\\n __link(changetype(outArray), changetype(outBuffer), false);\\n\\n // set the elements\\n let resultOffset: usize = 0;\\n for (let i = 0; i < len; ++i) { // for each child\\n let child = load(ptr + (i << alignof()));\\n\\n // ignore null arrays\\n if (!child) continue;\\n\\n // copy the underlying buffer data to the result buffer\\n let childDataLength = load(child, offsetof(\\\"length_\\\")) << align;\\n memory.copy(\\n changetype(outBuffer) + resultOffset,\\n load(child, offsetof(\\\"dataStart\\\")),\\n childDataLength\\n );\\n\\n // advance the result length\\n resultOffset += childDataLength;\\n }\\n\\n // if the `valueof` type is managed, we must link each reference\\n if (isManaged>()) {\\n for (let i = 0; i < size; ++i) {\\n let ref = load(changetype(outBuffer) + (i << usize(alignof>())));\\n __link(changetype(outBuffer), ref, true);\\n }\\n }\\n\\n return outArray;\\n }\\n\\n toString(): string {\\n return this.join();\\n }\\n\\n // RT integration\\n\\n @unsafe private __visit(cookie: u32): void {\\n if (isManaged()) {\\n let cur = this.dataStart;\\n let end = cur + (this.length_ << alignof());\\n while (cur < end) {\\n let val = load(cur);\\n if (val) __visit(val, cookie);\\n cur += sizeof();\\n }\\n }\\n __visit(changetype(this.buffer), cookie);\\n }\\n}\\n\",\n \"arraybuffer\": \"/// \\n\\nimport { OBJECT, BLOCK_MAXSIZE, TOTAL_OVERHEAD } from \\\"./rt/common\\\";\\nimport { Runtime } from \\\"shared/runtime\\\";\\nimport { idof } from \\\"./builtins\\\";\\nimport { E_INVALIDLENGTH } from \\\"./util/error\\\";\\n\\nexport abstract class ArrayBufferView {\\n\\n readonly buffer: ArrayBuffer;\\n @unsafe readonly dataStart: usize;\\n readonly byteLength: i32;\\n\\n get byteOffset(): i32 {\\n return (this.dataStart - changetype(this.buffer));\\n }\\n\\n protected constructor(length: i32, alignLog2: i32) {\\n if (length > BLOCK_MAXSIZE >>> alignLog2) throw new RangeError(E_INVALIDLENGTH);\\n let buffer = changetype(__new(length = length << alignLog2, idof()));\\n if (ASC_RUNTIME != Runtime.Incremental) {\\n memory.fill(changetype(buffer), 0, length);\\n }\\n this.buffer = buffer; // links\\n this.dataStart = changetype(buffer);\\n this.byteLength = length;\\n }\\n}\\n\\n@final export class ArrayBuffer {\\n\\n static isView(value: T): bool {\\n if (isNullable()) {\\n if (changetype(value) == 0) return false;\\n }\\n if (value instanceof Int8Array) return true;\\n if (value instanceof Uint8Array) return true;\\n if (value instanceof Uint8ClampedArray) return true;\\n if (value instanceof Int16Array) return true;\\n if (value instanceof Uint16Array) return true;\\n if (value instanceof Int32Array) return true;\\n if (value instanceof Uint32Array) return true;\\n if (value instanceof Int64Array) return true;\\n if (value instanceof Uint64Array) return true;\\n if (value instanceof Float32Array) return true;\\n if (value instanceof Float64Array) return true;\\n if (value instanceof DataView) return true;\\n return false;\\n }\\n\\n constructor(length: i32) {\\n if (length > BLOCK_MAXSIZE) throw new RangeError(E_INVALIDLENGTH);\\n let buffer = changetype(__new(length, idof()));\\n if (ASC_RUNTIME != Runtime.Incremental) {\\n memory.fill(changetype(buffer), 0, length);\\n }\\n return buffer;\\n }\\n\\n get byteLength(): i32 {\\n return changetype(changetype(this) - TOTAL_OVERHEAD).rtSize;\\n }\\n\\n slice(begin: i32 = 0, end: i32 = BLOCK_MAXSIZE): ArrayBuffer {\\n let length = this.byteLength;\\n begin = begin < 0 ? max(length + begin, 0) : min(begin, length);\\n end = end < 0 ? max(length + end , 0) : min(end , length);\\n let outSize = max(end - begin, 0);\\n let out = changetype(__new(outSize, idof()));\\n memory.copy(changetype(out), changetype(this) + begin, outSize);\\n return out;\\n }\\n\\n toString(): string {\\n return \\\"[object ArrayBuffer]\\\";\\n }\\n}\\n\",\n \"atomics\": \"import { ArrayBufferView } from \\\"./arraybuffer\\\";\\nimport { E_INDEXOUTOFRANGE } from \\\"./util/error\\\";\\n\\nexport namespace Atomics {\\n\\n // @ts-ignore: decorator\\n @inline\\n export function load(array: T, index: i32): valueof {\\n const align = alignof>();\\n if (index < 0 || (index << align) >= array.byteLength) throw new RangeError(E_INDEXOUTOFRANGE);\\n return atomic.load>(\\n changetype(array.buffer) + (index << align) + array.byteOffset\\n );\\n }\\n\\n // @ts-ignore: decorator\\n @inline\\n export function store(array: T, index: i32, value: valueof): void {\\n const align = alignof>();\\n if (index < 0 || (index << align) >= array.byteLength) throw new RangeError(E_INDEXOUTOFRANGE);\\n atomic.store>(\\n changetype(array.buffer) + (index << align) + array.byteOffset,\\n value\\n );\\n }\\n\\n // @ts-ignore: decorator\\n @inline\\n export function add(array: T, index: i32, value: valueof): valueof {\\n const align = alignof>();\\n if (index < 0 || (index << align) >= array.byteLength) throw new RangeError(E_INDEXOUTOFRANGE);\\n return atomic.add>(\\n changetype(array.buffer) + (index << align) + array.byteOffset,\\n value\\n );\\n }\\n\\n // @ts-ignore: decorator\\n @inline\\n export function sub(array: T, index: i32, value: valueof): valueof {\\n const align = alignof>();\\n if (index < 0 || (index << align) >= array.byteLength) throw new RangeError(E_INDEXOUTOFRANGE);\\n return atomic.sub>(\\n changetype(array.buffer) + (index << align) + array.byteOffset,\\n value\\n );\\n }\\n\\n // @ts-ignore: decorator\\n @inline\\n export function and(array: T, index: i32, value: valueof): valueof {\\n const align = alignof>();\\n if (index < 0 || (index << align) >= array.byteLength) throw new RangeError(E_INDEXOUTOFRANGE);\\n return atomic.and>(\\n changetype(array.buffer) + (index << align) + array.byteOffset,\\n value\\n );\\n }\\n\\n // @ts-ignore: decorator\\n @inline\\n export function or(array: T, index: i32, value: valueof): valueof {\\n const align = alignof>();\\n if (index < 0 || (index << align) >= array.byteLength) throw new RangeError(E_INDEXOUTOFRANGE);\\n return atomic.or>(\\n changetype(array.buffer) + (index << align) + array.byteOffset,\\n value\\n );\\n }\\n\\n // @ts-ignore: decorator\\n @inline\\n export function xor(array: T, index: i32, value: valueof): valueof {\\n const align = alignof>();\\n if (index < 0 || (index << align) >= array.byteLength) throw new RangeError(E_INDEXOUTOFRANGE);\\n return atomic.xor>(\\n changetype(array.buffer) + (index << align) + array.byteOffset,\\n value\\n );\\n }\\n\\n // @ts-ignore: decorator\\n @inline\\n export function exchange(array: T, index: i32, value: valueof): valueof {\\n const align = alignof>();\\n if (index < 0 || (index << align) >= array.byteLength) throw new RangeError(E_INDEXOUTOFRANGE);\\n return atomic.xchg>(\\n changetype(array.buffer) + (index << align) + array.byteOffset,\\n value\\n );\\n }\\n\\n // @ts-ignore: decorator\\n @inline\\n export function compareExchange(\\n array: T,\\n index: i32,\\n expectedValue: valueof,\\n replacementValue: valueof\\n ): valueof {\\n const align = alignof>();\\n if (index < 0 || (index << align) >= array.byteLength) throw new RangeError(E_INDEXOUTOFRANGE);\\n return atomic.cmpxchg>(\\n changetype(array.buffer) + (index << align) + array.byteOffset,\\n expectedValue,\\n replacementValue\\n );\\n }\\n\\n // @ts-ignore: decorator\\n @inline\\n export function wait(array: T, value: valueof, timeout: i64 = -1): AtomicWaitResult {\\n return atomic.wait>(changetype(array.buffer) + array.byteOffset, value, timeout);\\n }\\n\\n // @ts-ignore: decorator\\n @inline\\n export function notify(array: T, index: i32, count: i32 = -1): i32 {\\n const align = alignof>();\\n if (index < 0 || (index << align) >= array.byteLength) throw new RangeError(E_INDEXOUTOFRANGE);\\n return atomic.notify(changetype(array.buffer) + (index << align) + array.byteOffset, count);\\n }\\n\\n export function isLockFree(size: usize): bool {\\n return size == 1 || size == 2 || size == 4;\\n }\\n}\\n\",\n \"bindings/asyncify\": \"@unmanaged\\nexport class StackDescriptor {\\n /** The index in linear memory of the start of the \u201Casyncify stack\u201D. */\\n stackStart: usize;\\n /** The index of the end of that stack region, which implies how big it is. */\\n stackEnd: usize;\\n}\\n\\n/** Starts to unwind the call stack. */\\nexport declare function start_unwind(data: StackDescriptor): void;\\n/** Stops unwinding the call stack. */\\nexport declare function stop_unwind(): void;\\n/** Starts to rewind the call stack. */\\nexport declare function start_rewind(data: StackDescriptor): void;\\n/** Stops rewinding the call stack. */\\nexport declare function stop_rewind(): void;\\n\",\n \"bindings/dom\": \"@external(\\\"env\\\", \\\"globalThis\\\")\\nexport declare const globalThis: externref;\\n\\nexport declare namespace Math {\\n @external(\\\"env\\\", \\\"Math.E\\\")\\n export const E: f64;\\n @external(\\\"env\\\", \\\"Math.LN2\\\")\\n export const LN2: f64;\\n @external(\\\"env\\\", \\\"Math.LN10\\\")\\n export const LN10: f64;\\n @external(\\\"env\\\", \\\"Math.LOG2E\\\")\\n export const LOG2E: f64;\\n @external(\\\"env\\\", \\\"Math.LOG10E\\\")\\n export const LOG10E: f64;\\n @external(\\\"env\\\", \\\"Math.PI\\\")\\n export const PI: f64;\\n @external(\\\"env\\\", \\\"Math.SQRT1_2\\\")\\n export const SQRT1_2: f64;\\n @external(\\\"env\\\", \\\"Math.SQRT2\\\")\\n export const SQRT2: f64;\\n @external(\\\"env\\\", \\\"Math.abs\\\")\\n export function abs(x: f64): f64;\\n @external(\\\"env\\\", \\\"Math.acos\\\")\\n export function acos(x: f64): f64;\\n @external(\\\"env\\\", \\\"Math.acosh\\\")\\n export function acosh(x: f64): f64;\\n @external(\\\"env\\\", \\\"Math.asin\\\")\\n export function asin(x: f64): f64;\\n @external(\\\"env\\\", \\\"Math.asinh\\\")\\n export function asinh(x: f64): f64;\\n @external(\\\"env\\\", \\\"Math.atan\\\")\\n export function atan(x: f64): f64;\\n @external(\\\"env\\\", \\\"Math.atan2\\\")\\n export function atan2(y: f64, x: f64): f64;\\n @external(\\\"env\\\", \\\"Math.atanh\\\")\\n export function atanh(x: f64): f64;\\n @external(\\\"env\\\", \\\"Math.cbrt\\\")\\n export function cbrt(x: f64): f64;\\n @external(\\\"env\\\", \\\"Math.ceil\\\")\\n export function ceil(x: f64): f64;\\n @external(\\\"env\\\", \\\"Math.clz32\\\")\\n export function clz32(x: f64): f64;\\n @external(\\\"env\\\", \\\"Math.cos\\\")\\n export function cos(x: f64): f64;\\n @external(\\\"env\\\", \\\"Math.cosh\\\")\\n export function cosh(x: f64): f64;\\n @external(\\\"env\\\", \\\"Math.exp\\\")\\n export function exp(x: f64): f64;\\n @external(\\\"env\\\", \\\"Math.expm1\\\")\\n export function expm1(x: f64): f64;\\n @external(\\\"env\\\", \\\"Math.floor\\\")\\n export function floor(x: f64): f64;\\n @external(\\\"env\\\", \\\"Math.fround\\\")\\n export function fround(x: f64): f32;\\n @external(\\\"env\\\", \\\"Math.hypot\\\")\\n export function hypot(value1: f64, value2: f64): f64; // TODO: rest\\n @external(\\\"env\\\", \\\"Math.imul\\\")\\n export function imul(a: f64, b: f64): f64;\\n @external(\\\"env\\\", \\\"Math.log\\\")\\n export function log(x: f64): f64;\\n @external(\\\"env\\\", \\\"Math.log10\\\")\\n export function log10(x: f64): f64;\\n @external(\\\"env\\\", \\\"Math.log1p\\\")\\n export function log1p(x: f64): f64;\\n @external(\\\"env\\\", \\\"Math.log2\\\")\\n export function log2(x: f64): f64;\\n @external(\\\"env\\\", \\\"Math.max\\\")\\n export function max(value1: f64, value2: f64): f64; // TODO: rest\\n @external(\\\"env\\\", \\\"Math.min\\\")\\n export function min(value1: f64, value2: f64): f64; // TODO: rest\\n @external(\\\"env\\\", \\\"Math.pow\\\")\\n export function pow(base: f64, exponent: f64): f64;\\n @external(\\\"env\\\", \\\"Math.random\\\")\\n export function random(): f64;\\n @external(\\\"env\\\", \\\"Math.round\\\")\\n export function round(x: f64): f64;\\n @external(\\\"env\\\", \\\"Math.sign\\\")\\n export function sign(x: f64): f64;\\n @external(\\\"env\\\", \\\"Math.sin\\\")\\n export function sin(x: f64): f64;\\n @external(\\\"env\\\", \\\"Math.sinh\\\")\\n export function sinh(x: f64): f64;\\n @external(\\\"env\\\", \\\"Math.sqrt\\\")\\n export function sqrt(x: f64): f64;\\n @external(\\\"env\\\", \\\"Math.tan\\\")\\n export function tan(x: f64): f64;\\n @external(\\\"env\\\", \\\"Math.tanh\\\")\\n export function tanh(x: f64): f64;\\n @external(\\\"env\\\", \\\"Math.trunc\\\")\\n export function trunc(x: f64): f64;\\n}\\n\\nexport declare namespace Reflect {\\n @external(\\\"env\\\", \\\"Reflect.get\\\")\\n export function get(target: externref, propertyKey: string): externref;\\n @external(\\\"env\\\", \\\"Reflect.getWithReceiver\\\")\\n @external.js(\\\"return Reflect.get(target, propertyKey, receiver);\\\")\\n export function getWithReceiver(target: externref, propertyKey: string, receiver: externref): externref;\\n @external(\\\"env\\\", \\\"Reflect.has\\\")\\n export function has(target: externref, propertyKey: string): bool;\\n @external(\\\"env\\\", \\\"Reflect.set\\\")\\n export function set(target: externref, propertyKey: string, value: externref): externref;\\n @external(\\\"env\\\", \\\"Reflect.setWithReceiver\\\")\\n @external.js(\\\"return Reflect.set(target, propertyKey, value, receiver);\\\")\\n export function setWithReceiver(target: externref, propertyKey: string, value: externref , receiver: externref): externref;\\n @external(\\\"env\\\", \\\"Reflect.apply\\\")\\n export function apply(target: externref, thisArgument: externref, argumentsList: externref): externref;\\n}\\n\\nexport declare namespace String {\\n @external(\\\"env\\\", \\\"String.fromCodePoint\\\")\\n export function fromCodePoint(codepoint: i32): externref;\\n @external(\\\"env\\\", \\\"String.fromCodePoints\\\")\\n @external.js(\\\"return String.fromCodePoint(...codepoints);\\\")\\n export function fromCodePoints(codepoints: i32[]): externref;\\n}\\n\\nexport declare namespace Object {\\n @external(\\\"env\\\", \\\"Object.is\\\")\\n export function is(a: externref, b: externref): bool;\\n @external(\\\"env\\\", \\\"Object.hasOwn\\\")\\n export function hasOwn(target: externref, propertyKey: string): bool;\\n @external(\\\"env\\\", \\\"Object.assign\\\")\\n export function assign(target: externref, source: externref): externref;\\n @external(\\\"env\\\", \\\"Object.keys\\\")\\n export function keys(target: externref): externref;\\n @external(\\\"env\\\", \\\"Object.values\\\")\\n export function values(target: externref): externref;\\n @external(\\\"env\\\", \\\"Object.entries\\\")\\n export function entries(target: externref): externref;\\n @external(\\\"env\\\", \\\"Object.getOwnPropertyNames\\\")\\n export function getOwnPropertyNames(target: externref): externref;\\n}\\n\\nexport declare namespace Date {\\n @external(\\\"env\\\", \\\"Date.now\\\")\\n export function now(): f64;\\n}\\n\\nexport declare namespace console {\\n @external(\\\"env\\\", \\\"console.assert\\\")\\n export function assert(condition: bool, message: string): void;\\n @external(\\\"env\\\", \\\"console.log\\\")\\n export function log(text: string): void;\\n @external(\\\"env\\\", \\\"console.debug\\\")\\n export function debug(text: string): void;\\n @external(\\\"env\\\", \\\"console.info\\\")\\n export function info(text: string): void;\\n @external(\\\"env\\\", \\\"console.warn\\\")\\n export function warn(text: string): void;\\n @external(\\\"env\\\", \\\"console.error\\\")\\n export function error(text: string): void;\\n @external(\\\"env\\\", \\\"console.time\\\")\\n export function time(label: string): void;\\n @external(\\\"env\\\", \\\"console.timeLog\\\")\\n export function timeLog(label: string): void;\\n @external(\\\"env\\\", \\\"console.timeEnd\\\")\\n export function timeEnd(label: string): void;\\n}\\n\\nexport declare namespace document {\\n /** Returns document's encoding. */\\n @external(\\\"env\\\", \\\"document.characterSet\\\")\\n export const characterSet: string;\\n /** Returns a value that indicates whether standards-compliant mode is switched on for the object. */\\n @external(\\\"env\\\", \\\"document.compatMode\\\")\\n export const compatMode: string;\\n /** Returns document's content type. */\\n @external(\\\"env\\\", \\\"document.contentType\\\")\\n export const contentType: string;\\n /** Returns a reference to the root node of the document. */\\n @external(\\\"env\\\", \\\"document.documentElement\\\")\\n export const documentElement: externref;\\n /** Returns document's URL. */\\n @external(\\\"env\\\", \\\"document.documentURI\\\")\\n export const documentURI: string;\\n /** Returns the URL of the location that referred the user to the current page. */\\n @external(\\\"env\\\", \\\"document.referrer\\\")\\n export const referrer: string;\\n /** Returns true if document has the ability of fullscreen mode, or false otherwise. */\\n @external(\\\"env\\\", \\\"document.pictureInPictureEnabled\\\")\\n export const fullscreenEnabled: bool;\\n /** Returns true if document has the ability of picture-in-picture mode, or false otherwise. */\\n @external(\\\"env\\\", \\\"document.pictureInPictureEnabled\\\")\\n export const pictureInPictureEnabled: bool;\\n\\n /** Returns the number of child elements. */\\n @external(\\\"env\\\", \\\"document.childElementCount\\\")\\n export const childElementCount: i32;\\n /** Returns the child elements. */\\n @external(\\\"env\\\", \\\"document.children\\\")\\n export const children: externref;\\n /** Returns the first child that is an element, and null otherwise. */\\n @external(\\\"env\\\", \\\"document.firstElementChild\\\")\\n export const firstElementChild: externref;\\n /** Returns the last child that is an element, and null otherwise. */\\n @external(\\\"env\\\", \\\"document.lastElementChild\\\")\\n export const lastElementChild: externref;\\n\\n /**\\n * Returns the HTTP cookies that apply to the Document. If there are no cookies or cookies can't be applied\\n * to this resource, the empty string will be returned.\\n *\\n * Can be set, to add a new cookie to the element's set of HTTP cookies.\\n *\\n * If the contents are sandboxed into a unique origin (e.g. in an iframe with the sandbox attribute),\\n * a \\\"SecurityError\\\" DOMException will be thrown on getting and setting.\\n */\\n @external(\\\"env\\\", \\\"document.cookie\\\")\\n export let cookie: string;\\n /** Represents the or node of the current document, or null if no such element exists. */\\n @external(\\\"env\\\", \\\"document.body\\\")\\n export let body: externref;\\n /** Sets or gets the security domain of the document. */\\n @external(\\\"env\\\", \\\"document.domain\\\")\\n export let domain: string;\\n /** Sets or gets the title of the document. */\\n @external(\\\"env\\\", \\\"document.title\\\")\\n export let title: string;\\n /** Sets or gets information about the current Location. */\\n @external(\\\"env\\\", \\\"document.location\\\")\\n export let location: externref;\\n /** Sets or gets the URL for the current document. */\\n @external(\\\"env\\\", \\\"document.URL\\\")\\n export let URL: string;\\n\\n /**\\n * Creates an instance of the element for the specified tag.\\n * @param tagName The name of an element.\\n */\\n @external(\\\"env\\\", \\\"document.createElement\\\")\\n export function createElement(tagName: string /* , options?: ElementCreationOptions */): externref;\\n /**\\n * Returns a reference to the first HTMLElement object with the specified value of the ID attribute.\\n * @param id String that specifies the ID value.\\n */\\n @external(\\\"env\\\", \\\"document.getElementById\\\")\\n export function getElementById(id: string): externref;\\n /**\\n * Returns a HTMLCollection of the elements in the object on which the method was invoked that have all the classes\\n * given by classNames. The classNames argument is interpreted as a space-separated list of classes.\\n * @param classNames Gets a collection of objects based on the value of the CLASS attribute.\\n */\\n @external(\\\"env\\\", \\\"document.getElementsByClassName\\\")\\n export function getElementsByClassName(classNames: string): externref;\\n /**\\n * Gets a collection of HTMLElement objects based on the value of the NAME or ID attribute.\\n * @param elementName Gets a collection of objects based on the value of the NAME or ID attribute.\\n */\\n @external(\\\"env\\\", \\\"document.getElementsByName\\\")\\n export function getElementsByName(elementName: string): externref;\\n /** Gets a value indicating whether the object currently has focus. */\\n @external(\\\"env\\\", \\\"document.hasFocus\\\")\\n export function hasFocus(): bool;\\n /** Inserts nodes after the last child of node, while replacing strings in nodes with equivalent Text nodes. */\\n @external(\\\"env\\\", \\\"document.append\\\")\\n export function append(node: externref): void;\\n /** Inserts nodes before the first child of node, while replacing strings in nodes with equivalent Text nodes. */\\n @external(\\\"env\\\", \\\"document.prepend\\\")\\n export function prepend(node: externref): void;\\n /** Replace all children of node with nodes, while replacing strings in nodes with equivalent Text nodes. */\\n @external(\\\"env\\\", \\\"document.replaceChildren\\\")\\n export function replaceChildren(node: externref): void;\\n /**\\n * Writes one or more HTML expressions to a document in the specified window.\\n * @param content Specifies the text and HTML tags to write.\\n */\\n @external(\\\"env\\\", \\\"document.write\\\")\\n export function write(content: string): void;\\n /**\\n * Writes one or more HTML expressions, followed by a carriage return, to a document in the specified window.\\n * @param content Specifies the text and HTML tags to write.\\n */\\n @external(\\\"env\\\", \\\"document.writeln\\\")\\n export function writeln(content: string): void;\\n}\\n\\nexport declare namespace performance {\\n @external(\\\"env\\\", \\\"performance.now\\\")\\n export function now(): f64;\\n}\\n\\nexport namespace crypto {\\n export function getRandomValues(array: Uint8Array): void {\\n let values = getRandomValuesN(array.length);\\n array.set(values);\\n }\\n @external(\\\"env\\\", \\\"crypto.getRandomValuesN\\\")\\n @external.js(\\\"let a = new Uint8Array(n); crypto.getRandomValues(a); return a;\\\")\\n export declare function getRandomValuesN(n: u32): Uint8Array;\\n}\\n\",\n \"bindings/node\": \"export declare namespace process {\\n @external(\\\"env\\\", \\\"process.argv\\\")\\n export const argv: string[];\\n @external(\\\"env\\\", \\\"process.exit\\\")\\n export function exit(code: i32): void;\\n}\\n\",\n \"builtins\": \"import { strtol, strtod, strtob } from \\\"./util/string\\\";\\n\\ntype auto = i32;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function isBoolean(value?: T): bool;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function isInteger(value?: T): bool;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function isSigned(value?: T): bool;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function isFloat(value?: T): bool;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function isVector(value?: T): bool;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function isReference(value?: T): bool;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function isString(value?: T): bool;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function isArray(value?: T): bool;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function isArrayLike(value?: T): bool;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function isFunction(value?: T): bool;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function isNullable(value?: T): bool;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function isDefined(expression: auto): bool;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function isConstant(expression: auto): bool;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function isManaged(value?: T): bool;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function isVoid(): bool;\\n\\n// @ts-ignore\\n@builtin\\nexport declare function lengthof(func?: T): i32;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function clz(value: T): T;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function ctz(value: T): T;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function popcnt(value: T): T;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function rotl(value: T, shift: T): T;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function rotr(value: T, shift: T): T;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function abs(value: T): T;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function max(left: T, right: T): T;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function min(left: T, right: T): T;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function ceil(value: T): T;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function floor(value: T): T;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function copysign(left: T, right: T): T;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function nearest(value: T): T;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function reinterpret(value: number): T;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function sqrt(value: T): T;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function trunc(value: T): T;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function add(left: T, right: T): T;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function sub(left: T, right: T): T;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function mul(left: T, right: T): T;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function div(left: T, right: T): T;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function eq(left: T, right: T): i32;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function ne(left: T, right: T): i32;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function rem(left: T, right: T): T;\\n\\n// @ts-ignore: decorator\\n@unsafe @builtin\\nexport declare function load(ptr: usize, immOffset?: usize, immAlign?: usize): T;\\n\\n// @ts-ignore: decorator\\n@unsafe @builtin\\nexport declare function store(ptr: usize, value: auto, immOffset?: usize, immAlign?: usize): void;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function sizeof(): usize; // | u32 / u64\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function alignof(): usize; // | u32 / u64\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function offsetof(fieldName?: string): usize; // | u32 / u64\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function idof(): u32;\\n\\n// @ts-ignore\\n@builtin\\nexport declare function nameof(): string;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function select(ifTrue: T, ifFalse: T, condition: bool): T;\\n\\n// @ts-ignore: decorator\\n@unsafe @builtin\\nexport declare function unreachable(): auto;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function changetype(value: auto): T;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function assert(isTrueish: T, message?: string): T;\\n\\n// @ts-ignore: decorator\\n@unsafe @builtin\\nexport declare function unchecked(expr: T): T;\\n\\n// @ts-ignore: decorator\\n@unsafe @builtin\\nexport declare function call_indirect(index: u32, ...args: auto[]): T;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function instantiate(...args: auto[]): T;\\n\\nexport namespace atomic {\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function load(ptr: usize, immOffset?: usize): T;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function store(ptr: usize, value: T, immOffset?: usize): void;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function add(ptr: usize, value: T, immOffset?: usize): T;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function sub(ptr: usize, value: T, immOffset?: usize): T;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function and(ptr: usize, value: T, immOffset?: usize): T;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function or(ptr: usize, value: T, immOffset?: usize): T;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function xor(ptr: usize, value: T, immOffset?: usize): T;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function xchg(ptr: usize, value: T, immOffset?: usize): T;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function cmpxchg(ptr: usize, expected: T, replacement: T, immOffset?: usize): T;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function wait(ptr: usize, expected: T, timeout: i64): AtomicWaitResult;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function notify(ptr: usize, count: i32): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function fence(): void;\\n}\\n\\n// @ts-ignore: decorator\\n@lazy\\nexport const enum AtomicWaitResult {\\n OK = 0,\\n NOT_EQUAL = 1,\\n TIMED_OUT = 2\\n}\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function i8(value: auto): i8;\\n\\nexport namespace i8 {\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const MIN_VALUE: i8 = -128;\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const MAX_VALUE: i8 = 127;\\n\\n // @ts-ignore: decorator\\n @inline\\n export function parse(value: string, radix: i32 = 0): i8 {\\n return strtol(value, radix);\\n }\\n}\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function i16(value: auto): i16;\\n\\nexport namespace i16 {\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const MIN_VALUE: i16 = -32768;\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const MAX_VALUE: i16 = 32767;\\n\\n // @ts-ignore: decorator\\n @inline\\n export function parse(value: string, radix: i32 = 0): i16 {\\n return strtol(value, radix);\\n }\\n}\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function i32(value: auto): i32;\\n\\nexport namespace i32 {\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const MIN_VALUE: i32 = -2147483648;\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const MAX_VALUE: i32 = 2147483647;\\n\\n // @ts-ignore: decorator\\n @inline\\n export function parse(value: string, radix: i32 = 0): i32 {\\n return strtol(value, radix);\\n }\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function clz(value: i32): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function ctz(value: i32): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function popcnt(value: i32): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function add(left: i32, right:i32): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function sub(left: i32, right:i32): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function mul(left: i32, right:i32): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function div_s(left: i32, right:i32): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function div_u(left: i32, right:i32): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function rotl(value: i32, shift: i32): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function rotr(value: i32, shift: i32): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function eq(left: i32, right:i32): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function ne(left: i32, right:i32): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function rem_s(left: i32, right: i32): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function rem_u(left: u32, right: u32): u32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function reinterpret_f32(value: f32): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function load8_s(ptr: usize, immOffset?: usize, immAlign?: usize): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function load8_u(ptr: usize, immOffset?: usize, immAlign?: usize): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function load16_s(ptr: usize, immOffset?: usize, immAlign?: usize): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function load16_u(ptr: usize, immOffset?: usize, immAlign?: usize): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function load(ptr: usize, immOffset?: usize, immAlign?: usize): i32;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function store8(ptr: usize, value: i32, immOffset?: usize, immAlign?: usize): void;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function store16(ptr: usize, value: i32, immOffset?: usize, immAlign?: usize): void;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function store(ptr: usize, value: i32, immOffset?: usize, immAlign?: usize): void;\\n\\n export namespace atomic {\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function load8_u(ptr: usize, immOffset?: usize): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function load16_u(ptr: usize, immOffset?: usize): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function load(ptr: usize, immOffset?: usize): i32;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function store8(ptr: usize, value: i32, immOffset?: usize): void;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function store16(ptr: usize, value: i32, immOffset?: usize): void;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function store(ptr: usize, value: i32, immOffset?: usize): void;\\n\\n export namespace rmw8 {\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function add_u(ptr: usize, value: i32, immOffset?: usize): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function sub_u(ptr: usize, value: i32, immOffset?: usize): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function and_u(ptr: usize, value: i32, immOffset?: usize): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function or_u(ptr: usize, value: i32, immOffset?: usize): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function xor_u(ptr: usize, value: i32, immOffset?: usize): i32;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function xchg_u(ptr: usize, value: i32, immOffset?: usize): i32;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function cmpxchg_u(ptr: usize, expected: i32, replacement: i32, immOffset?: usize): i32;\\n }\\n\\n export namespace rmw16 {\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function add_u(ptr: usize, value: i32, immOffset?: usize): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function sub_u(ptr: usize, value: i32, immOffset?: usize): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function and_u(ptr: usize, value: i32, immOffset?: usize): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function or_u(ptr: usize, value: i32, immOffset?: usize): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function xor_u(ptr: usize, value: i32, immOffset?: usize): i32;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function xchg_u(ptr: usize, value: i32, immOffset?: usize): i32;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function cmpxchg_u(ptr: usize, expected: i32, replacement: i32, immOffset?: usize): i32;\\n }\\n\\n export namespace rmw {\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function add(ptr: usize, value: i32, immOffset?: usize): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function sub(ptr: usize, value: i32, immOffset?: usize): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function and(ptr: usize, value: i32, immOffset?: usize): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function or(ptr: usize, value: i32, immOffset?: usize): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function xor(ptr: usize, value: i32, immOffset?: usize): i32;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function xchg(ptr: usize, value: i32, immOffset?: usize): i32;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function cmpxchg(ptr: usize, expected: i32, replacement: i32, immOffset?: usize): i32;\\n }\\n }\\n}\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function i64(value: auto): i64;\\n\\nexport namespace i64 {\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const MIN_VALUE: i64 = -9223372036854775808;\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const MAX_VALUE: i64 = 9223372036854775807;\\n\\n // @ts-ignore: decorator\\n @inline\\n export function parse(value: string, radix: i32 = 0): i64 {\\n return strtol(value, radix);\\n }\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function clz(value: i64): i64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function ctz(value: i64): i64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function add(left: i64, right:i64): i64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function sub(left: i64, right:i64): i64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function mul(left: i64, right:i64): i64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function div_s(left: i64, right:i64): i64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function div_u(left: i64, right:i64): i64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function load8_s(ptr: usize, immOffset?: usize, immAlign?: usize): i64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function load8_u(ptr: usize, immOffset?: usize, immAlign?: usize): i64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function load16_s(ptr: usize, immOffset?: usize, immAlign?: usize): i64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function load16_u(ptr: usize, immOffset?: usize, immAlign?: usize): i64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function load32_s(ptr: usize, immOffset?: usize, immAlign?: usize): i64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function load32_u(ptr: usize, immOffset?: usize, immAlign?: usize): i64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function load(ptr: usize, immOffset?: usize): i64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function popcnt(value: i64): i64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function rotl(value: i64, shift: i64): i64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function rotr(value: i64, shift: i64): i64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function eq(left: i64, right:i64): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function ne(left: i64, right:i64): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function rem_s(left: i64, right: i64): i64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function rem_u(left: u64, right: u64): u64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function reinterpret_f64(value: f64): i64;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function store8(ptr: usize, value: i64, immOffset?: usize, immAlign?: usize): void;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function store16(ptr: usize, value: i64, immOffset?: usize, immAlign?: usize): void;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function store32(ptr: usize, value: i64, immOffset?: usize, immAlign?: usize): void;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function store(ptr: usize, value: i64, immOffset?: usize, immAlign?: usize): void;\\n\\n export namespace atomic {\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function load8_u(ptr: usize, immOffset?: usize): i64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function load16_u(ptr: usize, immOffset?: usize): i64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function load32_u(ptr: usize, immOffset?: usize): i64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function load(ptr: usize, immOffset?: usize): i64;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function store8(ptr: usize, value: i64, immOffset?: usize): void;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function store16(ptr: usize, value: i64, immOffset?: usize): void;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function store32(ptr: usize, value: i64, immOffset?: usize): void;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function store(ptr: usize, value: i64, immOffset?: usize): void;\\n\\n export namespace rmw8 {\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function add_u(ptr: usize, value: i64, immOffset?: usize): i64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function sub_u(ptr: usize, value: i64, immOffset?: usize): i64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function and_u(ptr: usize, value: i64, immOffset?: usize): i64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function or_u(ptr: usize, value: i64, immOffset?: usize): i64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function xor_u(ptr: usize, value: i64, immOffset?: usize): i64;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function xchg_u(ptr: usize, value: i64, immOffset?: usize): i64;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function cmpxchg_u(ptr: usize, expected: i64, replacement: i64, immOffset?: usize): i64;\\n }\\n\\n export namespace rmw16 {\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function add_u(ptr: usize, value: i64, immOffset?: usize): i64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function sub_u(ptr: usize, value: i64, immOffset?: usize): i64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function and_u(ptr: usize, value: i64, immOffset?: usize): i64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function or_u(ptr: usize, value: i64, immOffset?: usize): i64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function xor_u(ptr: usize, value: i64, immOffset?: usize): i64;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function xchg_u(ptr: usize, value: i64, immOffset?: usize): i64;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function cmpxchg_u(ptr: usize, expected: i64, replacement: i64, immOffset?: usize): i64;\\n }\\n\\n export namespace rmw32 {\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function add_u(ptr: usize, value: i64, immOffset?: usize): i64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function sub_u(ptr: usize, value: i64, immOffset?: usize): i64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function and_u(ptr: usize, value: i64, immOffset?: usize): i64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function or_u(ptr: usize, value: i64, immOffset?: usize): i64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function xor_u(ptr: usize, value: i64, immOffset?: usize): i64;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function xchg_u(ptr: usize, value: i64, immOffset?: usize): i64;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function cmpxchg_u(ptr: usize, expected: i64, replacement: i64, immOffset?: usize): i64;\\n }\\n\\n export namespace rmw {\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function add(ptr: usize, value: i64, immOffset?: usize): i64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function sub(ptr: usize, value: i64, immOffset?: usize): i64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function and(ptr: usize, value: i64, immOffset?: usize): i64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function or(ptr: usize, value: i64, immOffset?: usize): i64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function xor(ptr: usize, value: i64, immOffset?: usize): i64;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function xchg(ptr: usize, value: i64, immOffset?: usize): i64;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function cmpxchg(ptr: usize, expected: i64, replacement: i64, immOffset?: usize): i64;\\n }\\n }\\n}\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function isize(value: auto): isize;\\n\\nexport namespace isize {\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const MIN_VALUE: isize = sizeof() == sizeof()\\n ? -2147483648\\n : -9223372036854775808;\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const MAX_VALUE: isize = sizeof() == sizeof()\\n ? 2147483647\\n : 9223372036854775807;\\n\\n // @ts-ignore: decorator\\n @inline\\n export function parse(value: string, radix: i32 = 0): isize {\\n return strtol(value, radix);\\n }\\n}\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function u8(value: auto): u8;\\n\\nexport namespace u8 {\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const MIN_VALUE: u8 = 0;\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const MAX_VALUE: u8 = 255;\\n\\n // @ts-ignore: decorator\\n @inline\\n export function parse(value: string, radix: i32 = 0): u8 {\\n return strtol(value, radix);\\n }\\n}\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function u16(value: auto): u16;\\n\\nexport namespace u16 {\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const MIN_VALUE: u16 = 0;\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const MAX_VALUE: u16 = 65535;\\n\\n // @ts-ignore: decorator\\n @inline\\n export function parse(value: string, radix: i32 = 0): u16 {\\n return strtol(value, radix);\\n }\\n}\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function u32(value: auto): u32;\\n\\nexport namespace u32 {\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const MIN_VALUE: u32 = 0;\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const MAX_VALUE: u32 = 4294967295;\\n\\n // @ts-ignore: decorator\\n @inline\\n export function parse(value: string, radix: i32 = 0): u32 {\\n return strtol(value, radix);\\n }\\n}\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function u64(value: auto): u64;\\n\\nexport namespace u64 {\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const MIN_VALUE: u64 = 0;\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const MAX_VALUE: u64 = 18446744073709551615;\\n\\n // @ts-ignore: decorator\\n @inline\\n export function parse(value: string, radix: i32 = 0): u64 {\\n return strtol(value, radix);\\n }\\n}\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function usize(value: auto): usize;\\n\\nexport namespace usize {\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const MIN_VALUE: usize = 0;\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const MAX_VALUE: usize = sizeof() == sizeof()\\n ? 4294967295\\n : 18446744073709551615;\\n\\n // @ts-ignore: decorator\\n @inline\\n export function parse(value: string, radix: i32 = 0): usize {\\n return strtol(value, radix);\\n }\\n}\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function bool(value: auto): bool;\\n\\nexport namespace bool {\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const MIN_VALUE: bool = false;\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const MAX_VALUE: bool = true;\\n\\n // @ts-ignore: decorator\\n @inline\\n export function parse(value: string): bool {\\n return strtob(value);\\n }\\n}\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function f32(value: auto): f32;\\n\\nexport namespace f32 {\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const EPSILON = reinterpret(0x34000000); // 0x1p-23f\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const MIN_VALUE = reinterpret(0x00000001); // 0x0.000001p+0f\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const MAX_VALUE = reinterpret(0x7F7FFFFF); // 0x1.fffffep+127f\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const MIN_NORMAL_VALUE = reinterpret(0x00800000); // 0x1p-126f\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const MIN_SAFE_INTEGER: f32 = -16777215;\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const MAX_SAFE_INTEGER: f32 = 16777215;\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const POSITIVE_INFINITY: f32 = Infinity;\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const NEGATIVE_INFINITY: f32 = -Infinity;\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const NaN: f32 = 0.0 / 0.0;\\n\\n // @ts-ignore: decorator\\n @inline\\n export function parse(value: string): f32 {\\n return strtod(value);\\n }\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function abs(value: f32): f32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function ceil(value: f32): f32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function copysign(x: f32, y: f32): f32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function floor(value: f32): f32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function load(ptr: usize, immOffset?: usize, immAlign?: usize): f32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function max(left: f32, right: f32): f32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function min(left: f32, right: f32): f32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function nearest(value: f32): f32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function reinterpret_i32(value: i32): f32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function sqrt(value: f32): f32;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function store(ptr: usize, value: f32, immOffset?: usize, immAlign?: usize): void;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function trunc(value: f32): f32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function add(left: f32, right: f32): f32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function sub(left: f32, right: f32): f32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function mul(left: f32, right: f32): f32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function div(left: f32, right: f32): f32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function eq(left: f32, right: f32): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function ne(left: f32, right: f32): i32;\\n}\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function f64(value: auto): f64;\\n\\nexport namespace f64 {\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const EPSILON = reinterpret(0x3CB0000000000000); // 0x1p-52\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const MIN_VALUE = reinterpret(0x0000000000000001); // 0x0.0000000000001p+0\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const MAX_VALUE = reinterpret(0x7FEFFFFFFFFFFFFF); // 0x1.fffffffffffffp+1023\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const MIN_NORMAL_VALUE = reinterpret(0x0010000000000000); // 0x1p-1022\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const MIN_SAFE_INTEGER: f64 = -9007199254740991;\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const MAX_SAFE_INTEGER: f64 = 9007199254740991;\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const POSITIVE_INFINITY: f64 = Infinity;\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const NEGATIVE_INFINITY: f64 = -Infinity;\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const NaN: f64 = 0.0 / 0.0;\\n\\n // @ts-ignore: decorator\\n @inline\\n export function parse(value: string): f64 {\\n return strtod(value);\\n }\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function abs(value: f64): f64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function ceil(value: f64): f64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function copysign(x: f64, y: f64): f64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function floor(value: f64): f64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function load(ptr: usize, immOffset?: usize, immAlign?: usize): f64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function max(left: f64, right: f64): f64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function min(left: f64, right: f64): f64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function nearest(value: f64): f64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function reinterpret_i64(value: i64): f64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function sqrt(value: f64): f64;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function store(ptr: usize, value: f64, immOffset?: usize, immAlign?: usize): void;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function trunc(value: f64): f64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function add(left: f64, right: f64): f64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function sub(left: f64, right: f64): f64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function mul(left: f64, right: f64): f64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function div(left: f64, right: f64): f64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function eq(left: f64, right: f64): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function ne(left: f64, right: f64): i32;\\n}\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function v128(\\n a: i8, b: i8, c: i8, d: i8, e: i8, f: i8, g: i8, h: i8,\\n i: i8, j: i8, k: i8, l: i8, m: i8, n: i8, o: i8, p: i8\\n): v128;\\n\\nexport namespace v128 {\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function splat(x: T): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extract_lane(x: v128, idx: u8): T;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function replace_lane(x: v128, idx: u8, value: T): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function shuffle(a: v128, b: v128, ...lanes: u8[]): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function swizzle(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function load(ptr: usize, immOffset?: usize, immAlign?: usize): v128;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function load_ext(ptr: usize, immOffset?: usize, immAlign?: usize): v128;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function load_zero(ptr: usize, immOffset?: usize, immAlign?: usize): v128;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function load_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): v128;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function store_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): void;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function load8x8_s(ptr: usize, immOffset?: u32, immAlign?: u32): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function load8x8_u(ptr: usize, immOffset?: u32, immAlign?: u32): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function load16x4_s(ptr: usize, immOffset?: u32, immAlign?: u32): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function load16x4_u(ptr: usize, immOffset?: u32, immAlign?: u32): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function load32x2_s(ptr: usize, immOffset?: u32, immAlign?: u32): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function load32x2_u(ptr: usize, immOffset?: u32, immAlign?: u32): v128;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function load_splat(ptr: usize, immOffset?: usize, immAlign?: usize): v128;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function load8_splat(ptr: usize, immOffset?: u32, immAlign?: u32): v128;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function load16_splat(ptr: usize, immOffset?: u32, immAlign?: u32): v128;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function load32_splat(ptr: usize, immOffset?: u32, immAlign?: u32): v128;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function load64_splat(ptr: usize, immOffset?: u32, immAlign?: u32): v128;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function load32_zero(ptr: usize, immOffset?: u32, immAlign?: u32): v128;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function load64_zero(ptr: usize, immOffset?: u32, immAlign?: u32): v128;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function load8_lane(ptr: usize, vec: v128, idx: u8, immOffset?: u32, immAlign?: u32): v128;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function load16_lane(ptr: usize, vec: v128, idx: u8, immOffset?: u32, immAlign?: u32): v128;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function load32_lane(ptr: usize, vec: v128, idx: u8, immOffset?: u32, immAlign?: u32): v128;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function load64_lane(ptr: usize, vec: v128, idx: u8, immOffset?: u32, immAlign?: u32): v128;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function store8_lane(ptr: usize, vec: v128, idx: u8, immOffset?: u32, immAlign?: u32): void;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function store16_lane(ptr: usize, vec: v128, idx: u8, immOffset?: u32, immAlign?: u32): void;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function store32_lane(ptr: usize, vec: v128, idx: u8, immOffset?: u32, immAlign?: u32): void;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function store64_lane(ptr: usize, vec: v128, idx: u8, immOffset?: u32, immAlign?: u32): void;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function store(ptr: usize, value: v128, immOffset?: usize, immAlign?: usize): void;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function add(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function sub(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function mul(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function div(a: v128, b: v128): v128; // f32, f64 only\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function neg(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function add_sat(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function sub_sat(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function shl(a: v128, b: i32): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function shr(a: v128, b: i32): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function and(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function or(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function xor(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function andnot(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function not(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function bitselect(v1: v128, v2: v128, c: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function any_true(a: v128): bool;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function all_true(a: v128): bool;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function bitmask(a: v128): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function popcnt(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function min(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function max(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function pmin(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function pmax(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function dot(a: v128, b: v128): v128; // i16 only\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function avgr(a: v128, b: v128): v128; // u8, u16 only\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function abs(a: v128): v128; // f32, f64 only\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function sqrt(a: v128): v128; // f32, f64 only\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function ceil(a: v128): v128; // f32, f64 only\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function floor(a: v128): v128; // f32, f64 only\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function trunc(a: v128): v128; // f32, f64 only\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function nearest(a: v128): v128; // f32, f64 only\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function eq(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function ne(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function lt(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function le(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function gt(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function ge(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function convert(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function convert_low(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function trunc_sat(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function trunc_sat_zero(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function narrow(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extend_low(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extend_high(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extadd_pairwise(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function demote_zero(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function promote_low(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function q15mulr_sat(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extmul_low(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extmul_high(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function relaxed_swizzle(a: v128, s: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function relaxed_trunc(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function relaxed_trunc_zero(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function relaxed_madd(a: v128, b: v128, c: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function relaxed_nmadd(a: v128, b: v128, c: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function relaxed_laneselect(a: v128, b: v128, m: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function relaxed_min(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function relaxed_max(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function relaxed_q15mulr(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function relaxed_dot(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function relaxed_dot_add(a: v128, b: v128, c: v128): v128;\\n}\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function i8x16(\\n a: i8, b: i8, c: i8, d: i8, e: i8, f: i8, g: i8, h: i8,\\n i: i8, j: i8, k: i8, l: i8, m: i8, n: i8, o: i8, p: i8\\n): v128;\\n\\nexport namespace i8x16 {\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function splat(x: i8): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extract_lane_s(x: v128, idx: u8): i8;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extract_lane_u(x: v128, idx: u8): u8;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function replace_lane(x: v128, idx: u8, value: i8): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function add(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function sub(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function min_s(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function min_u(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function max_s(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function max_u(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function avgr_u(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function abs(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function neg(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function add_sat_s(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function add_sat_u(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function sub_sat_s(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function sub_sat_u(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function shl(a: v128, b: i32): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function shr_s(a: v128, b: i32): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function shr_u(a: v128, b: i32): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function all_true(a: v128): bool;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function bitmask(a: v128): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function popcnt(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function eq(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function ne(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function lt_s(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function lt_u(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function le_s(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function le_u(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function gt_s(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function gt_u(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function ge_s(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function ge_u(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function narrow_i16x8_s(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function narrow_i16x8_u(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function shuffle(\\n a: v128, b: v128,\\n l0: u8, l1: u8, l2: u8, l3: u8, l4: u8, l5: u8, l6: u8, l7: u8,\\n l8: u8, l9: u8, l10: u8, l11: u8, l12: u8, l13: u8, l14: u8, l15: u8\\n ): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function swizzle(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function relaxed_swizzle(a: v128, s: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function relaxed_laneselect(a: v128, b: v128, m: v128): v128;\\n}\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function i16x8(a: i16, b: i16, c: i16, d: i16, e: i16, f: i16, g: i16, h: i16): v128;\\n\\nexport namespace i16x8 {\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function splat(x: i16): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extract_lane_s(x: v128, idx: u8): i16;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extract_lane_u(x: v128, idx: u8): u16;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function replace_lane(x: v128, idx: u8, value: i16): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function add(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function sub(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function mul(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function min_s(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function min_u(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function max_s(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function max_u(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function avgr_u(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function abs(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function neg(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function add_sat_s(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function add_sat_u(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function sub_sat_s(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function sub_sat_u(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function shl(a: v128, b: i32): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function shr_s(a: v128, b: i32): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function shr_u(a: v128, b: i32): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function all_true(a: v128): bool;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function bitmask(a: v128): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function eq(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function ne(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function lt_s(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function lt_u(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function le_s(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function le_u(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function gt_s(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function gt_u(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function ge_s(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function ge_u(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function narrow_i32x4_s(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function narrow_i32x4_u(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extend_low_i8x16_s(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extend_low_i8x16_u(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extend_high_i8x16_s(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extend_high_i8x16_u(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extadd_pairwise_i8x16_s(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extadd_pairwise_i8x16_u(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function q15mulr_sat_s(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extmul_low_i8x16_s(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extmul_low_i8x16_u(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extmul_high_i8x16_s(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extmul_high_i8x16_u(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function shuffle(\\n a: v128, b: v128,\\n l0: u8, l1: u8, l2: u8, l3: u8, l4: u8, l5: u8, l6: u8, l7: u8\\n ): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function relaxed_laneselect(a: v128, b: v128, m: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function relaxed_q15mulr_s(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function relaxed_dot_i8x16_i7x16_s(a: v128, b: v128, c: v128): v128;\\n}\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function i32x4(a: i32, b: i32, c: i32, d: i32): v128;\\n\\nexport namespace i32x4 {\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function splat(x: i32): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extract_lane(x: v128, idx: u8): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function replace_lane(x: v128, idx: u8, value: i32): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function add(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function sub(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function mul(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function min_s(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function min_u(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function max_s(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function max_u(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function dot_i16x8_s(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function abs(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function neg(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function shl(a: v128, b: i32): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function shr_s(a: v128, b: i32): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function shr_u(a: v128, b: i32): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function all_true(a: v128): bool;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function bitmask(a: v128): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function eq(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function ne(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function lt_s(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function lt_u(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function le_s(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function le_u(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function gt_s(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function gt_u(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function ge_s(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function ge_u(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function trunc_sat_f32x4_s(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function trunc_sat_f32x4_u(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function trunc_sat_f64x2_s_zero(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function trunc_sat_f64x2_u_zero(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extend_low_i16x8_s(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extend_low_i16x8_u(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extend_high_i16x8_s(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extend_high_i16x8_u(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extadd_pairwise_i16x8_s(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extadd_pairwise_i16x8_u(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extmul_low_i16x8_s(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extmul_low_i16x8_u(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extmul_high_i16x8_s(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extmul_high_i16x8_u(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function shuffle(a: v128, b: v128, l0: u8, l1: u8, l2: u8, l3: u8): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function relaxed_trunc_f32x4_s(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function relaxed_trunc_f32x4_u(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function relaxed_trunc_f64x2_s_zero(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function relaxed_trunc_f64x2_u_zero(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function relaxed_laneselect(a: v128, b: v128, m: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function relaxed_dot_i8x16_i7x16_add_s(a: v128, b: v128, c: v128): v128;\\n}\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function i64x2(a: i64, b: i64): v128;\\n\\nexport namespace i64x2 {\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function splat(x: i64): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extract_lane(x: v128, idx: u8): i64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function replace_lane(x: v128, idx: u8, value: i64): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function add(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function sub(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function mul(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function abs(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function neg(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function shl(a: v128, b: i32): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function shr_s(a: v128, b: i32): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function shr_u(a: v128, b: i32): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function all_true(a: v128): bool;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function bitmask(a: v128): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function eq(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function ne(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function lt_s(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function le_s(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function gt_s(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function ge_s(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extend_low_i32x4_s(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extend_low_i32x4_u(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extend_high_i32x4_s(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extend_high_i32x4_u(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extmul_low_i32x4_s(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extmul_low_i32x4_u(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extmul_high_i32x4_s(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extmul_high_i32x4_u(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function shuffle(a: v128, b: v128, l0: u8, l1: u8): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function relaxed_laneselect(a: v128, b: v128, m: v128): v128;\\n}\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function f32x4(a: f32, b: f32, c: f32, d: f32): v128;\\n\\nexport namespace f32x4 {\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function splat(x: f32): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extract_lane(x: v128, idx: u8): f32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function replace_lane(x: v128, idx: u8, value: f32): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function add(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function sub(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function mul(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function div(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function neg(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function min(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function max(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function pmin(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function pmax(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function abs(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function sqrt(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function ceil(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function floor(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function trunc(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function nearest(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function eq(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function ne(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function lt(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function le(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function gt(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function ge(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function convert_i32x4_s(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function convert_i32x4_u(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function demote_f64x2_zero(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function shuffle(a: v128, b: v128, l0: u8, l1: u8, l2: u8, l3: u8): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function relaxed_madd(a: v128, b: v128, c: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function relaxed_nmadd(a: v128, b: v128, c: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function relaxed_min(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function relaxed_max(a: v128, b: v128): v128;\\n}\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function f64x2(a: f64, b: f64): v128;\\n\\nexport namespace f64x2 {\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function splat(x: f64): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extract_lane(x: v128, idx: u8): f64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function replace_lane(x: v128, idx: u8, value: f64): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function add(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function sub(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function mul(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function div(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function neg(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function min(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function max(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function pmin(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function pmax(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function abs(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function sqrt(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function ceil(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function floor(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function trunc(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function nearest(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function eq(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function ne(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function lt(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function le(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function gt(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function ge(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function convert_low_i32x4_s(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function convert_low_i32x4_u(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function promote_low_f32x4(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function shuffle(a: v128, b: v128, l0: u8, l1: u8): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function relaxed_madd(a: v128, b: v128, c: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function relaxed_nmadd(a: v128, b: v128, c: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function relaxed_min(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function relaxed_max(a: v128, b: v128): v128;\\n}\\n\\n@final\\nexport abstract class i31 { // FIXME: usage of 'new' requires a class :(\\n\\n // @ts-ignore: decorator\\n @builtin\\n static new(value: i32): i31ref { return changetype(unreachable()); }\\n\\n // @ts-ignore: decorator\\n @builtin\\n static get(i31expr: i31ref): i32 { return unreachable(); }\\n}\\n\\n/* eslint-disable @typescript-eslint/no-unused-vars */\\n\\n// @ts-ignore: decorator\\n@external(\\\"env\\\", \\\"abort\\\")\\n@external.js(\\\"throw Error(`${message} in ${fileName}:${lineNumber}:${columnNumber}`);\\\")\\ndeclare function abort(\\n message?: string | null,\\n fileName?: string | null,\\n lineNumber?: u32,\\n columnNumber?: u32\\n): void;\\n\\n// @ts-ignore: decorator\\n@external(\\\"env\\\", \\\"trace\\\")\\n@external.js(\\\"console.log(message, ...[a0, a1, a2, a3, a4].slice(0, n));\\\")\\ndeclare function trace(\\n message: string,\\n n?: i32,\\n a0?: f64,\\n a1?: f64,\\n a2?: f64,\\n a3?: f64,\\n a4?: f64\\n): void;\\n\\n// @ts-ignore: decorator\\n@external(\\\"env\\\", \\\"seed\\\")\\n@external.js(\\\"return Date.now() * Math.random();\\\")\\ndeclare function seed(): f64;\\n\\n/* eslint-enable @typescript-eslint/no-unused-vars */\\n\",\n \"compat\": \"export type ReturnType = returnof;\\nexport type NonNullable = nonnull;\\n\",\n \"console\": \"import {\\n console as binding\\n} from \\\"./bindings/dom\\\";\\n\\nexport namespace console {\\n\\n export function assert(condition: T, message: string = \\\"\\\"): void {\\n binding.assert(!!condition, message);\\n }\\n\\n export function log(message: string = \\\"\\\"): void {\\n binding.log(message);\\n }\\n\\n export function debug(message: string = \\\"\\\"): void {\\n binding.debug(message);\\n }\\n\\n export function info(message: string = \\\"\\\"): void {\\n binding.info(message);\\n }\\n\\n export function warn(message: string = \\\"\\\"): void {\\n binding.warn(message);\\n }\\n\\n export function error(message: string = \\\"\\\"): void {\\n binding.error(message);\\n }\\n\\n export function time(label: string = \\\"default\\\"): void {\\n binding.time(label);\\n }\\n\\n export function timeLog(label: string = \\\"default\\\"): void {\\n binding.timeLog(label);\\n }\\n\\n export function timeEnd(label: string = \\\"default\\\"): void {\\n binding.timeEnd(label);\\n }\\n}\\n\",\n \"crypto\": \"import {\\n crypto as crypto_binding\\n} from \\\"bindings/dom\\\";\\n\\nexport namespace crypto {\\n export function getRandomValues(array: Uint8Array): void {\\n crypto_binding.getRandomValues(array);\\n }\\n}\\n\",\n \"dataview\": \"import { BLOCK_MAXSIZE } from \\\"./rt/common\\\";\\nimport { ArrayBuffer } from \\\"./arraybuffer\\\";\\nimport { E_INDEXOUTOFRANGE, E_INVALIDLENGTH } from \\\"./util/error\\\";\\n\\n// TODO: there is probably a smarter way to check byteOffset for accesses larger than 1 byte\\n\\nexport class DataView {\\n\\n readonly buffer: ArrayBuffer;\\n @unsafe readonly dataStart: usize;\\n readonly byteLength: i32;\\n\\n get byteOffset(): i32 {\\n return (this.dataStart - changetype(this.buffer));\\n }\\n\\n constructor(\\n buffer: ArrayBuffer,\\n byteOffset: i32 = 0,\\n byteLength: i32 = buffer.byteLength\\n ) {\\n if (\\n i32(byteLength > BLOCK_MAXSIZE) |\\n i32(byteOffset + byteLength > buffer.byteLength)\\n ) throw new RangeError(E_INVALIDLENGTH);\\n this.buffer = buffer; // links\\n let dataStart = changetype(buffer) + byteOffset;\\n this.dataStart = dataStart;\\n this.byteLength = byteLength;\\n }\\n\\n getFloat32(byteOffset: i32, littleEndian: bool = false): f32 {\\n if (\\n (byteOffset >>> 31) | i32(byteOffset + 4 > this.byteLength)\\n ) throw new RangeError(E_INDEXOUTOFRANGE);\\n return littleEndian\\n ? load(this.dataStart + byteOffset)\\n : reinterpret(bswap(load(this.dataStart + byteOffset)));\\n }\\n\\n getFloat64(byteOffset: i32, littleEndian: bool = false): f64 {\\n if (\\n (byteOffset >>> 31) | i32(byteOffset + 8 > this.byteLength)\\n ) throw new RangeError(E_INDEXOUTOFRANGE);\\n return littleEndian\\n ? load(this.dataStart + byteOffset)\\n : reinterpret(bswap(load(this.dataStart + byteOffset)));\\n }\\n\\n getInt8(byteOffset: i32): i8 {\\n if (byteOffset >= this.byteLength) throw new RangeError(E_INDEXOUTOFRANGE);\\n return load(this.dataStart + byteOffset);\\n }\\n\\n getInt16(byteOffset: i32, littleEndian: bool = false): i16 {\\n if (\\n (byteOffset >>> 31) | i32(byteOffset + 2 > this.byteLength)\\n ) throw new RangeError(E_INDEXOUTOFRANGE);\\n let result: i16 = load(this.dataStart + byteOffset);\\n return littleEndian ? result : bswap(result);\\n }\\n\\n getInt32(byteOffset: i32, littleEndian: bool = false): i32 {\\n if (\\n (byteOffset >>> 31) | i32(byteOffset + 4 > this.byteLength)\\n ) throw new RangeError(E_INDEXOUTOFRANGE);\\n let result: i32 = load(this.dataStart + byteOffset);\\n return littleEndian ? result : bswap(result);\\n }\\n\\n getUint8(byteOffset: i32): u8 {\\n if (byteOffset >= this.byteLength) throw new RangeError(E_INDEXOUTOFRANGE);\\n return load(this.dataStart + byteOffset);\\n }\\n\\n getUint16(byteOffset: i32, littleEndian: bool = false): u16 {\\n if (\\n (byteOffset >>> 31) | i32(byteOffset + 2 > this.byteLength)\\n ) throw new RangeError(E_INDEXOUTOFRANGE);\\n let result: u16 = load(this.dataStart + byteOffset);\\n return littleEndian ? result : bswap(result);\\n }\\n\\n getUint32(byteOffset: i32, littleEndian: bool = false): u32 {\\n if (\\n (byteOffset >>> 31) | i32(byteOffset + 4 > this.byteLength)\\n ) throw new RangeError(E_INDEXOUTOFRANGE);\\n let result: u32 = load(this.dataStart + byteOffset);\\n return littleEndian ? result : bswap(result);\\n }\\n\\n setFloat32(byteOffset: i32, value: f32, littleEndian: bool = false): void {\\n if (\\n (byteOffset >>> 31) | i32(byteOffset + 4 > this.byteLength)\\n ) throw new RangeError(E_INDEXOUTOFRANGE);\\n if (littleEndian) store(this.dataStart + byteOffset, value);\\n else store(this.dataStart + byteOffset, bswap(reinterpret(value)));\\n }\\n\\n setFloat64(byteOffset: i32, value: f64, littleEndian: bool = false): void {\\n if (\\n (byteOffset >>> 31) | i32(byteOffset + 8 > this.byteLength)\\n ) throw new RangeError(E_INDEXOUTOFRANGE);\\n if (littleEndian) store(this.dataStart + byteOffset, value);\\n else store(this.dataStart + byteOffset, bswap(reinterpret(value)));\\n }\\n\\n setInt8(byteOffset: i32, value: i8): void {\\n if (byteOffset >= this.byteLength) throw new RangeError(E_INDEXOUTOFRANGE);\\n store(this.dataStart + byteOffset, value);\\n }\\n\\n setInt16(byteOffset: i32, value: i16, littleEndian: bool = false): void {\\n if (\\n (byteOffset >>> 31) | i32(byteOffset + 2 > this.byteLength)\\n ) throw new RangeError(E_INDEXOUTOFRANGE);\\n store(this.dataStart + byteOffset, littleEndian ? value : bswap(value));\\n }\\n\\n setInt32(byteOffset: i32, value: i32, littleEndian: bool = false): void {\\n if (\\n (byteOffset >>> 31) | i32(byteOffset + 4 > this.byteLength)\\n ) throw new RangeError(E_INDEXOUTOFRANGE);\\n store(this.dataStart + byteOffset, littleEndian ? value : bswap(value));\\n }\\n\\n setUint8(byteOffset: i32, value: u8): void {\\n if (byteOffset >= this.byteLength) throw new RangeError(E_INDEXOUTOFRANGE);\\n store(this.dataStart + byteOffset, value);\\n }\\n\\n setUint16(byteOffset: i32, value: u16, littleEndian: bool = false): void {\\n if (\\n (byteOffset >>> 31) | i32(byteOffset + 2 > this.byteLength)\\n ) throw new RangeError(E_INDEXOUTOFRANGE);\\n store(this.dataStart + byteOffset, littleEndian ? value : bswap(value));\\n }\\n\\n setUint32(byteOffset: i32, value: u32, littleEndian: bool = false): void {\\n if (\\n (byteOffset >>> 31) | i32(byteOffset + 4 > this.byteLength)\\n ) throw new RangeError(E_INDEXOUTOFRANGE);\\n store(this.dataStart + byteOffset, littleEndian ? value : bswap(value));\\n }\\n\\n // Non-standard additions that make sense in WebAssembly, but won't work in JS:\\n\\n getInt64(byteOffset: i32, littleEndian: bool = false): i64 {\\n if (\\n (byteOffset >>> 31) | i32(byteOffset + 8 > this.byteLength)\\n ) throw new RangeError(E_INDEXOUTOFRANGE);\\n let result: i64 = load(this.dataStart + byteOffset);\\n return littleEndian ? result : bswap(result);\\n }\\n\\n getUint64(byteOffset: i32, littleEndian: bool = false): u64 {\\n if (\\n (byteOffset >>> 31) | i32(byteOffset + 8 > this.byteLength)\\n ) throw new RangeError(E_INDEXOUTOFRANGE);\\n let result = load(this.dataStart + byteOffset);\\n return littleEndian ? result : bswap(result);\\n }\\n\\n setInt64(byteOffset: i32, value: i64, littleEndian: bool = false): void {\\n if (\\n (byteOffset >>> 31) | i32(byteOffset + 8 > this.byteLength)\\n ) throw new RangeError(E_INDEXOUTOFRANGE);\\n store(this.dataStart + byteOffset, littleEndian ? value : bswap(value));\\n }\\n\\n setUint64(byteOffset: i32, value: u64, littleEndian: bool = false): void {\\n if (\\n (byteOffset >>> 31) | i32(byteOffset + 8 > this.byteLength)\\n ) throw new RangeError(E_INDEXOUTOFRANGE);\\n store(this.dataStart + byteOffset, littleEndian ? value : bswap(value));\\n }\\n\\n toString(): string {\\n return \\\"[object DataView]\\\";\\n }\\n}\\n\",\n \"date\": \"import { E_INVALIDDATE } from \\\"util/error\\\";\\nimport { Date as Date_binding } from \\\"./bindings/dom\\\";\\n\\n// @ts-ignore: decorator\\n@inline const\\n MILLIS_PER_DAY = 1000 * 60 * 60 * 24,\\n MILLIS_PER_HOUR = 1000 * 60 * 60,\\n MILLIS_PER_MINUTE = 1000 * 60,\\n MILLIS_PER_SECOND = 1000,\\n\\n YEARS_PER_EPOCH = 400,\\n DAYS_PER_EPOCH = 146097,\\n EPOCH_OFFSET = 719468, // Jan 1, 1970\\n MILLIS_LIMIT = 8640000000000000;\\n\\n// ymdFromEpochDays returns values via globals to avoid allocations\\n// @ts-ignore: decorator\\n@lazy let _month: i32, _day: i32;\\n\\nexport class Date {\\n private year: i32 = 0;\\n private month: i32 = 0;\\n private day: i32 = 0;\\n\\n @inline static UTC(\\n year: i32,\\n month: i32 = 0,\\n day: i32 = 1,\\n hour: i32 = 0,\\n minute: i32 = 0,\\n second: i32 = 0,\\n millisecond: i32 = 0\\n ): i64 {\\n if (year >= 0 && year <= 99) year += 1900;\\n let ms = epochMillis(year, month + 1, day, hour, minute, second, millisecond);\\n if (invalidDate(ms)) throw new RangeError(E_INVALIDDATE);\\n return ms;\\n }\\n\\n @inline static now(): i64 {\\n return Date_binding.now();\\n }\\n\\n // It can parse only ISO 8601 inputs like YYYY-MM-DDTHH:MM:SS.000Z\\n @inline static parse(dateString: string): Date {\\n return this.fromString(dateString);\\n }\\n\\n static fromString(dateTimeString: string): Date {\\n if (!dateTimeString.length) throw new RangeError(E_INVALIDDATE);\\n var\\n hour: i32 = 0,\\n min: i32 = 0,\\n sec: i32 = 0,\\n ms: i32 = 0,\\n offsetMs: i32 = 0;\\n\\n let dateString = dateTimeString;\\n let posT = dateTimeString.indexOf(\\\"T\\\");\\n if (~posT) {\\n // includes a time component\\n let timeString: string;\\n dateString = dateTimeString.substring(0, posT);\\n timeString = dateTimeString.substring(posT + 1);\\n \\n // might end with an offset (\\\"Z\\\", \\\"+05:30\\\", \\\"-08:00\\\", etc.)\\n for (let i = timeString.length - 1; i >= 0; i--) {\\n let c = timeString.charCodeAt(i);\\n if (c == 90) { // Z\\n timeString = timeString.substring(0, i);\\n break;\\n } else if (c == 43 || c == 45) { // + or -\\n if (i == timeString.length - 1) {\\n throw new RangeError(E_INVALIDDATE);\\n }\\n\\n let posColon = timeString.indexOf(\\\":\\\", i + 1);\\n if (~posColon) {\\n let offsetHours = i32.parse(timeString.substring(i + 1, posColon));\\n let offsetMinutes = i32.parse(timeString.substring(posColon + 1));\\n offsetMs = (offsetHours * 60 + offsetMinutes) * MILLIS_PER_MINUTE;\\n } else {\\n let offsetHours = i32.parse(timeString.substring(i + 1));\\n offsetMs = offsetHours * MILLIS_PER_HOUR;\\n } \\n \\n if (c == 45) offsetMs = -offsetMs; // negative offset\\n timeString = timeString.substring(0, i);\\n break;\\n }\\n }\\n\\n // parse the HH:MM:SS component\\n let timeParts = timeString.split(\\\":\\\");\\n let len = timeParts.length;\\n if (len <= 1) throw new RangeError(E_INVALIDDATE);\\n\\n hour = i32.parse(timeParts[0]);\\n min = i32.parse(timeParts[1]);\\n if (len >= 3) {\\n let secAndFrac = timeParts[2];\\n let posDot = secAndFrac.indexOf(\\\".\\\");\\n if (~posDot) {\\n // includes fractional seconds (truncate to milliseconds)\\n sec = i32.parse(secAndFrac.substring(0, posDot));\\n ms = i32.parse(secAndFrac.substr(posDot + 1, 3).padEnd(3, \\\"0\\\"));\\n } else {\\n sec = i32.parse(secAndFrac);\\n }\\n }\\n }\\n\\n // parse the YYYY-MM-DD component\\n let parts = dateString.split(\\\"-\\\");\\n let year = i32.parse(parts[0]);\\n let month = 1, day = 1;\\n let len = parts.length;\\n if (len >= 2) {\\n month = i32.parse(parts[1]);\\n if (len >= 3) {\\n day = i32.parse(parts[2]);\\n }\\n }\\n\\n return new Date(epochMillis(year, month, day, hour, min, sec, ms) - offsetMs);\\n }\\n\\n constructor(private epochMillis: i64) {\\n // this differs from JavaScript which prefer return NaN or \\\"Invalid Date\\\" string\\n // instead throwing exception.\\n if (invalidDate(epochMillis)) throw new RangeError(E_INVALIDDATE);\\n\\n this.year = dateFromEpoch(epochMillis);\\n this.month = _month;\\n this.day = _day;\\n }\\n\\n @inline getTime(): i64 {\\n return this.epochMillis;\\n }\\n\\n setTime(time: i64): i64 {\\n if (invalidDate(time)) throw new RangeError(E_INVALIDDATE);\\n\\n this.epochMillis = time;\\n this.year = dateFromEpoch(time);\\n this.month = _month;\\n this.day = _day;\\n\\n return time;\\n }\\n\\n @inline getUTCFullYear(): i32 {\\n return this.year;\\n }\\n\\n @inline getUTCMonth(): i32 {\\n return this.month - 1;\\n }\\n\\n @inline getUTCDate(): i32 {\\n return this.day;\\n }\\n\\n @inline getUTCDay(): i32 {\\n return dayOfWeek(this.year, this.month, this.day);\\n }\\n\\n getUTCHours(): i32 {\\n return i32(euclidRem(this.epochMillis, MILLIS_PER_DAY)) / MILLIS_PER_HOUR;\\n }\\n\\n getUTCMinutes(): i32 {\\n return i32(euclidRem(this.epochMillis, MILLIS_PER_HOUR)) / MILLIS_PER_MINUTE;\\n }\\n\\n getUTCSeconds(): i32 {\\n return i32(euclidRem(this.epochMillis, MILLIS_PER_MINUTE)) / MILLIS_PER_SECOND;\\n }\\n\\n getUTCMilliseconds(): i32 {\\n return i32(euclidRem(this.epochMillis, MILLIS_PER_SECOND));\\n }\\n\\n setUTCMilliseconds(millis: i32): void {\\n this.setTime(this.epochMillis + (millis - this.getUTCMilliseconds()));\\n }\\n\\n setUTCSeconds(seconds: i32): void {\\n this.setTime(this.epochMillis + (seconds - this.getUTCSeconds()) * MILLIS_PER_SECOND);\\n }\\n\\n setUTCMinutes(minutes: i32): void {\\n this.setTime(this.epochMillis + (minutes - this.getUTCMinutes()) * MILLIS_PER_MINUTE);\\n }\\n\\n setUTCHours(hours: i32): void {\\n this.setTime(this.epochMillis + (hours - this.getUTCHours()) * MILLIS_PER_HOUR);\\n }\\n\\n setUTCDate(day: i32): void {\\n if (this.day == day) return;\\n this.setTime(join(this.year, this.month, day, this.epochMillis));\\n }\\n\\n setUTCMonth(month: i32, day: i32 = this.day): void {\\n if (this.month == month + 1) return;\\n this.setTime(join(this.year, month + 1, day, this.epochMillis));\\n }\\n\\n setUTCFullYear(year: i32): void {\\n if (this.year == year) return;\\n this.setTime(join(year, this.month, this.day, this.epochMillis));\\n }\\n\\n toISOString(): string {\\n // TODO: add more low-level helper which combine toString and padStart without extra allocation\\n\\n let yr = this.year;\\n let isNeg = yr < 0;\\n let year = (isNeg || yr >= 10000)\\n ? (isNeg ? \\\"-\\\" : \\\"+\\\") + stringify(abs(yr), 6)\\n : stringify(yr, 4);\\n let month = stringify(this.month, 2);\\n let day = stringify(this.day);\\n let hours = stringify(this.getUTCHours());\\n let mins = stringify(this.getUTCMinutes());\\n let secs = stringify(this.getUTCSeconds());\\n let ms = stringify(this.getUTCMilliseconds(), 3);\\n\\n return `${year}-${month}-${day}T${hours}:${mins}:${secs}.${ms}Z`;\\n }\\n\\n toUTCString(): string {\\n const\\n weeks: StaticArray = [\\n \\\"Sun, \\\", \\\"Mon, \\\", \\\"Tue, \\\", \\\"Wed, \\\", \\\"Thu, \\\", \\\"Fri, \\\", \\\"Sat, \\\"\\n ],\\n months: StaticArray = [\\n \\\" Jan \\\", \\\" Feb \\\", \\\" Mar \\\", \\\" Apr \\\", \\\" May \\\", \\\" Jun \\\",\\n \\\" Jul \\\", \\\" Aug \\\", \\\" Sep \\\", \\\" Oct \\\", \\\" Nov \\\", \\\" Dec \\\"\\n ];\\n\\n let mo = this.month;\\n let da = this.day;\\n let yr = this.year;\\n let wd = dayOfWeek(yr, mo, da);\\n let year = stringify(abs(yr), 4);\\n let month = unchecked(months[mo - 1]);\\n let week = unchecked(weeks[wd]);\\n let day = stringify(da);\\n let hours = stringify(this.getUTCHours());\\n let mins = stringify(this.getUTCMinutes());\\n let secs = stringify(this.getUTCSeconds());\\n\\n return `${week}${day}${month}${yr < 0 ? \\\"-\\\" : \\\"\\\"}${year} ${hours}:${mins}:${secs} GMT`;\\n }\\n\\n toDateString(): string {\\n // TODO: use u64 static data instead 4 chars\\n // also use stream itoa variants.\\n const\\n weeks: StaticArray = [\\n \\\"Sun \\\", \\\"Mon \\\", \\\"Tue \\\", \\\"Wed \\\", \\\"Thu \\\", \\\"Fri \\\", \\\"Sat \\\"\\n ],\\n months: StaticArray = [\\n \\\"Jan \\\", \\\"Feb \\\", \\\"Mar \\\", \\\"Apr \\\", \\\"May \\\", \\\"Jun \\\",\\n \\\"Jul \\\", \\\"Aug \\\", \\\"Sep \\\", \\\"Oct \\\", \\\"Nov \\\", \\\"Dec \\\"\\n ];\\n\\n let mo = this.month;\\n let da = this.day;\\n let yr = this.year;\\n let wd = dayOfWeek(yr, mo, da);\\n let year = stringify(abs(yr), 4);\\n let month = unchecked(months[mo - 1]);\\n let week = unchecked(weeks[wd]);\\n let day = stringify(da);\\n\\n return `${week}${month}${day}${yr < 0 ? \\\" -\\\" : \\\" \\\"}${year}`;\\n }\\n\\n // Note: it uses UTC time instead local time (without timezone offset)\\n toTimeString(): string {\\n let hours = stringify(this.getUTCHours());\\n let mins = stringify(this.getUTCMinutes());\\n let secs = stringify(this.getUTCSeconds());\\n // TODO: add timezone\\n return `${hours}:${mins}:${secs}`;\\n }\\n\\n // Note: it uses UTC datetime instead local datetime (without timezone offset)\\n toString(): string {\\n return `${this.toDateString()} ${this.toTimeString()}`;\\n }\\n}\\n\\nfunction epochMillis(\\n year: i32,\\n month: i32,\\n day: i32,\\n hour: i32,\\n minute: i32,\\n second: i32,\\n milliseconds: i32\\n): i64 {\\n return (\\n daysSinceEpoch(year, month, day) * MILLIS_PER_DAY +\\n hour * MILLIS_PER_HOUR +\\n minute * MILLIS_PER_MINUTE +\\n second * MILLIS_PER_SECOND +\\n milliseconds\\n );\\n}\\n\\n// @ts-ignore: decorator\\n@inline function floorDiv(a: T, b: T): T {\\n return (a - (a < 0 ? b - 1 : 0)) / b as T;\\n}\\n\\n// @ts-ignore: decorator\\n@inline function euclidRem(a: T, b: T): T {\\n let m = a % b;\\n return m + (m < 0 ? b : 0) as T;\\n}\\n\\nfunction invalidDate(millis: i64): bool {\\n // @ts-ignore\\n return (millis < -MILLIS_LIMIT) | (millis > MILLIS_LIMIT);\\n}\\n\\n// Based on \\\"Euclidean Affine Functions and Applications to Calendar Algorithms\\\"\\n// Paper: https://arxiv.org/pdf/2102.06959.pdf\\nfunction dateFromEpoch(ms: i64): i32 {\\n let da = (floorDiv(ms, MILLIS_PER_DAY) * 4 + EPOCH_OFFSET * 4) | 3;\\n let q0 = floorDiv(da, DAYS_PER_EPOCH); // [0, 146096]\\n let r1 = da - q0 * DAYS_PER_EPOCH;\\n let u1 = u64(r1 | 3) * 2939745;\\n let dm1 = u1 / 11758980;\\n let n1 = 2141 * dm1 + 197913;\\n let year = 100 * q0 + i32(u1 >>> 32);\\n let mo = n1 >>> 16;\\n _day = (n1 & 0xFFFF) / 2141 + 1; // [1, 31]\\n if (dm1 >= 306) { mo -= 12; ++year; }\\n _month = mo; // [1, 12]\\n return year;\\n}\\n\\n// http://howardhinnant.github.io/date_algorithms.html#days_from_civil\\nfunction daysSinceEpoch(y: i32, m: i32, d: i32): i64 {\\n y -= i32(m <= 2);\\n let era = floorDiv(y, YEARS_PER_EPOCH);\\n let yoe = y - era * YEARS_PER_EPOCH; // [0, 399]\\n let doy = (153 * (m + (m > 2 ? -3 : 9)) + 2) / 5 + d - 1; // [0, 365]\\n let doe = yoe * 365 + yoe / 4 - yoe / 100 + doy; // [0, 146096]\\n return (era * 146097 + doe - EPOCH_OFFSET);\\n}\\n\\n// TomohikoSakamoto algorithm from https://en.wikipedia.org/wiki/Determination_of_the_day_of_the_week\\nfunction dayOfWeek(year: i32, month: i32, day: i32): i32 {\\n const tab = memory.data([0, 3, 2, 5, 0, 3, 5, 1, 4, 6, 2, 4]);\\n\\n year -= i32(month < 3);\\n year += floorDiv(year, 4) - floorDiv(year, 100) + floorDiv(year, YEARS_PER_EPOCH);\\n month = load(tab + month - 1);\\n return euclidRem(year + month + day, 7);\\n}\\n\\nfunction stringify(value: i32, padding: i32 = 2): string {\\n return value.toString().padStart(padding, \\\"0\\\");\\n}\\n\\nfunction join(year: i32, month: i32, day: i32, ms: i64): i64 {\\n return daysSinceEpoch(year, month, day) * MILLIS_PER_DAY + euclidRem(ms, MILLIS_PER_DAY);\\n}\\n\",\n \"diagnostics\": \"// @ts-ignore: decorator\\n@builtin\\nexport declare function ERROR(message?: string): void;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function WARNING(message?: string): void;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function INFO(message?: string): void;\\n\",\n \"error\": \"export class Error {\\n\\n name: string = \\\"Error\\\";\\n stack: string = \\\"\\\"; // TODO\\n\\n constructor(\\n public message: string = \\\"\\\"\\n ) {}\\n\\n toString(): string {\\n let message = this.message;\\n return message.length\\n ? this.name + \\\": \\\" + message\\n : this.name;\\n }\\n}\\n\\nexport class RangeError extends Error {\\n constructor(message: string = \\\"\\\") {\\n super(message);\\n this.name = \\\"RangeError\\\";\\n }\\n}\\n\\nexport class TypeError extends Error {\\n constructor(message: string = \\\"\\\") {\\n super(message);\\n this.name = \\\"TypeError\\\";\\n }\\n}\\n\\nexport class SyntaxError extends Error {\\n constructor(message: string = \\\"\\\") {\\n super(message);\\n this.name = \\\"SyntaxError\\\";\\n }\\n}\\n\\nexport class URIError extends Error {\\n constructor(message: string = \\\"\\\") {\\n super(message);\\n this.name = \\\"URIError\\\";\\n }\\n}\\n\",\n \"function\": \"type auto = i32;\\n\\n@final export abstract class Function {\\n private _index: u32;\\n private _env: usize;\\n\\n // @ts-ignore: this on getter\\n get index(this: T): u32 {\\n return load(changetype(this), offsetof>(\\\"_index\\\"));\\n }\\n\\n // @ts-ignore: this on getter\\n get name(this: T): string {\\n return \\\"\\\";\\n }\\n\\n // @ts-ignore: this on getter\\n get length(this: T): i32 {\\n // @ts-ignore: T is function\\n return lengthof();\\n }\\n\\n // @ts-ignore: T is function\\n @builtin call(thisArg: thisof | null, ...args: auto[]): returnof {\\n return unreachable();\\n }\\n\\n toString(this: T): string {\\n return \\\"function() { [native code] }\\\";\\n }\\n\\n // RT integration\\n\\n @unsafe private __visit(cookie: u32): void {\\n // Env is either `null` (nop) or compiler-generated\\n __visit(this._env, cookie);\\n }\\n}\\n\",\n \"iterator\": \"export abstract class Iterable {\\n // ?\\n}\\n\\n@final\\nexport abstract class Iterator {\\n\\n // private constructor(iterable: Iterable) {\\n // }\\n\\n // TODO: these need to evaluate the classId at the respective reference in order to obtain the\\n // next value, i.e. arrays work differently than maps. we'd then have:\\n //\\n // \u2552\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 Iterator layout (32-bit) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2555\\n // 3 2 1\\n // 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 bits\\n // \u251C\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2524\\n // \u2502 index \u2502\\n // \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252C\u2500\u2500\u2500\u252C\u2500\u2524\\n // \u2502 reference \u2502 0 \u2502D\u2502\\n // \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2534\u2500\u2518\\n // D: Done flag\\n\\n // get value(this: u64): T {\\n // ?\\n // }\\n\\n // next(this: u64): Iterator {\\n // ?\\n // }\\n\\n done(this: u64): bool {\\n return (this & 1);\\n }\\n}\\n\",\n \"map\": \"/// \\n\\nimport { HASH } from \\\"./util/hash\\\";\\nimport { E_KEYNOTFOUND } from \\\"./util/error\\\";\\n\\n// A deterministic hash map based on CloseTable from https://github.com/jorendorff/dht\\n\\n// @ts-ignore: decorator\\n@inline const INITIAL_CAPACITY = 4;\\n\\n// @ts-ignore: decorator\\n@inline const FILL_FACTOR_N = 8;\\n\\n// @ts-ignore: decorator\\n@inline const FILL_FACTOR_D = 3;\\n\\n// @ts-ignore: decorator\\n@inline const FREE_FACTOR_N = 3;\\n\\n// @ts-ignore: decorator\\n@inline const FREE_FACTOR_D = 4;\\n\\n/** Structure of a map entry. */\\n@unmanaged class MapEntry {\\n key: K;\\n value: V;\\n taggedNext: usize; // LSB=1 indicates EMPTY\\n}\\n\\n/** Empty bit. */\\n// @ts-ignore: decorator\\n@inline const EMPTY: usize = 1 << 0;\\n\\n/** Size of a bucket. */\\n// @ts-ignore: decorator\\n@inline const BUCKET_SIZE = sizeof();\\n\\n/** Computes the alignment of an entry. */\\n// @ts-ignore: decorator\\n@inline\\nfunction ENTRY_ALIGN(): usize {\\n // can align to 4 instead of 8 if 32-bit and K/V is <= 32-bits\\n const maxkv = sizeof() > sizeof() ? sizeof() : sizeof();\\n const align = (maxkv > sizeof() ? maxkv : sizeof()) - 1;\\n return align;\\n}\\n\\n/** Computes the aligned size of an entry. */\\n// @ts-ignore: decorator\\n@inline\\nfunction ENTRY_SIZE(): usize {\\n const align = ENTRY_ALIGN();\\n const size = (offsetof>() + align) & ~align;\\n return size;\\n}\\n\\nexport class Map {\\n\\n // buckets referencing their respective first entry, usize[bucketsMask + 1]\\n private buckets: ArrayBuffer = new ArrayBuffer(INITIAL_CAPACITY * BUCKET_SIZE);\\n private bucketsMask: u32 = INITIAL_CAPACITY - 1;\\n\\n // entries in insertion order, MapEntry[entriesCapacity]\\n private entries: ArrayBuffer = new ArrayBuffer(INITIAL_CAPACITY * ENTRY_SIZE());\\n private entriesCapacity: i32 = INITIAL_CAPACITY;\\n private entriesOffset: i32 = 0;\\n private entriesCount: i32 = 0;\\n\\n constructor() {\\n /* nop */\\n }\\n\\n get size(): i32 {\\n return this.entriesCount;\\n }\\n\\n clear(): void {\\n this.buckets = new ArrayBuffer(INITIAL_CAPACITY * BUCKET_SIZE);\\n this.bucketsMask = INITIAL_CAPACITY - 1;\\n this.entries = new ArrayBuffer(INITIAL_CAPACITY * ENTRY_SIZE());\\n this.entriesCapacity = INITIAL_CAPACITY;\\n this.entriesOffset = 0;\\n this.entriesCount = 0;\\n }\\n\\n private find(key: K, hashCode: u32): MapEntry | null {\\n let entry = load>( // unmanaged!\\n changetype(this.buckets) + (hashCode & this.bucketsMask) * BUCKET_SIZE\\n );\\n while (entry) {\\n let taggedNext = entry.taggedNext;\\n if (!(taggedNext & EMPTY) && entry.key == key) return entry;\\n entry = changetype>(taggedNext & ~EMPTY);\\n }\\n return null;\\n }\\n\\n has(key: K): bool {\\n return this.find(key, HASH(key)) != null;\\n }\\n\\n @operator(\\\"[]\\\")\\n get(key: K): V {\\n let entry = this.find(key, HASH(key));\\n if (!entry) throw new Error(E_KEYNOTFOUND); // cannot represent `undefined`\\n return entry.value;\\n }\\n\\n @operator(\\\"[]=\\\")\\n set(key: K, value: V): this {\\n let hashCode = HASH(key);\\n let entry = this.find(key, hashCode); // unmanaged!\\n if (entry) {\\n entry.value = value;\\n if (isManaged()) {\\n __link(changetype(this), changetype(value), true);\\n }\\n } else {\\n // check if rehashing is necessary\\n if (this.entriesOffset == this.entriesCapacity) {\\n this.rehash(\\n this.entriesCount < this.entriesCapacity * FREE_FACTOR_N / FREE_FACTOR_D\\n ? this.bucketsMask // just rehash if 1/4+ entries are empty\\n : (this.bucketsMask << 1) | 1 // grow capacity to next 2^N\\n );\\n }\\n // append new entry\\n let entries = this.entries;\\n entry = changetype>(changetype(entries) + (this.entriesOffset++) * ENTRY_SIZE());\\n // link with the map\\n entry.key = key;\\n if (isManaged()) {\\n __link(changetype(this), changetype(key), true);\\n }\\n entry.value = value;\\n if (isManaged()) {\\n __link(changetype(this), changetype(value), true);\\n }\\n ++this.entriesCount;\\n // link with previous entry in bucket\\n let bucketPtrBase = changetype(this.buckets) + (hashCode & this.bucketsMask) * BUCKET_SIZE;\\n entry.taggedNext = load(bucketPtrBase);\\n store(bucketPtrBase, changetype(entry));\\n }\\n return this;\\n }\\n\\n delete(key: K): bool {\\n let entry = this.find(key, HASH(key));\\n if (!entry) return false;\\n entry.taggedNext |= EMPTY;\\n --this.entriesCount;\\n // check if rehashing is appropriate\\n let halfBucketsMask = this.bucketsMask >> 1;\\n if (\\n halfBucketsMask + 1 >= max(INITIAL_CAPACITY, this.entriesCount) &&\\n this.entriesCount < this.entriesCapacity * FREE_FACTOR_N / FREE_FACTOR_D\\n ) this.rehash(halfBucketsMask);\\n return true;\\n }\\n\\n private rehash(newBucketsMask: u32): void {\\n let newBucketsCapacity = (newBucketsMask + 1);\\n let newBuckets = new ArrayBuffer(newBucketsCapacity * BUCKET_SIZE);\\n let newEntriesCapacity = newBucketsCapacity * FILL_FACTOR_N / FILL_FACTOR_D;\\n let newEntries = new ArrayBuffer(newEntriesCapacity * ENTRY_SIZE());\\n\\n // copy old entries to new entries\\n let oldPtr = changetype(this.entries);\\n let oldEnd = oldPtr + this.entriesOffset * ENTRY_SIZE();\\n let newPtr = changetype(newEntries);\\n while (oldPtr != oldEnd) {\\n let oldEntry = changetype>(oldPtr);\\n if (!(oldEntry.taggedNext & EMPTY)) {\\n let newEntry = changetype>(newPtr);\\n let oldEntryKey = oldEntry.key;\\n newEntry.key = oldEntryKey;\\n newEntry.value = oldEntry.value;\\n let newBucketIndex = HASH(oldEntryKey) & newBucketsMask;\\n let newBucketPtrBase = changetype(newBuckets) + newBucketIndex * BUCKET_SIZE;\\n newEntry.taggedNext = load(newBucketPtrBase);\\n store(newBucketPtrBase, newPtr);\\n newPtr += ENTRY_SIZE();\\n }\\n oldPtr += ENTRY_SIZE();\\n }\\n\\n this.buckets = newBuckets;\\n this.bucketsMask = newBucketsMask;\\n this.entries = newEntries;\\n this.entriesCapacity = newEntriesCapacity;\\n this.entriesOffset = this.entriesCount;\\n }\\n\\n keys(): K[] {\\n // FIXME: this is preliminary, needs iterators/closures\\n let start = changetype(this.entries);\\n let size = this.entriesOffset;\\n let keys = new Array(size);\\n let length = 0;\\n for (let i = 0; i < size; ++i) {\\n let entry = changetype>(start + i * ENTRY_SIZE());\\n if (!(entry.taggedNext & EMPTY)) {\\n unchecked(keys[length++] = entry.key);\\n }\\n }\\n keys.length = length;\\n return keys;\\n }\\n\\n values(): V[] {\\n // FIXME: this is preliminary, needs iterators/closures\\n let start = changetype(this.entries);\\n let size = this.entriesOffset;\\n let values = new Array(size);\\n let length = 0;\\n for (let i = 0; i < size; ++i) {\\n let entry = changetype>(start + i * ENTRY_SIZE());\\n if (!(entry.taggedNext & EMPTY)) {\\n unchecked(values[length++] = entry.value);\\n }\\n }\\n values.length = length;\\n return values;\\n }\\n\\n toString(): string {\\n return \\\"[object Map]\\\";\\n }\\n\\n // RT integration\\n\\n @unsafe private __visit(cookie: u32): void {\\n __visit(changetype(this.buckets), cookie);\\n let entries = changetype(this.entries);\\n if (isManaged() || isManaged()) {\\n let cur = entries;\\n let end = cur + this.entriesOffset * ENTRY_SIZE();\\n while (cur < end) {\\n let entry = changetype>(cur);\\n if (!(entry.taggedNext & EMPTY)) {\\n if (isManaged()) {\\n let val = changetype(entry.key);\\n if (isNullable()) {\\n if (val) __visit(val, cookie);\\n } else __visit(val, cookie);\\n }\\n if (isManaged()) {\\n let val = changetype(entry.value);\\n if (isNullable()) {\\n if (val) __visit(val, cookie);\\n } else __visit(val, cookie);\\n }\\n }\\n cur += ENTRY_SIZE();\\n }\\n }\\n __visit(entries, cookie);\\n }\\n}\\n\",\n \"math\": \"import { Math as JSMath } from \\\"./bindings/dom\\\";\\nexport { JSMath };\\n\\nimport {\\n pow_lut, exp_lut, exp2_lut, log_lut, log2_lut,\\n powf_lut, expf_lut, exp2f_lut, logf_lut, log2f_lut\\n} from \\\"./util/math\\\";\\n\\nimport {\\n abs as builtin_abs,\\n ceil as builtin_ceil,\\n clz as builtin_clz,\\n copysign as builtin_copysign,\\n floor as builtin_floor,\\n max as builtin_max,\\n min as builtin_min,\\n sqrt as builtin_sqrt,\\n trunc as builtin_trunc\\n} from \\\"./builtins\\\";\\n\\n// SUN COPYRIGHT NOTICE\\n//\\n// Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.\\n// Developed at SunPro, a Sun Microsystems, Inc. business.\\n// Permission to use, copy, modify, and distribute this software\\n// is freely granted, provided that this notice is preserved.\\n//\\n// Applies to all functions marked with a comment referring here.\\n\\n/** @internal */\\n// @ts-ignore: decorator\\n@lazy let rempio2_y0: f64, rempio2_y1: f64, res128_hi: u64;\\n\\n/** @internal */\\n// @ts-ignore: decorator\\n@lazy @inline const PIO2_TABLE = memory.data([\\n 0x00000000A2F9836E, 0x4E441529FC2757D1, 0xF534DDC0DB629599, 0x3C439041FE5163AB,\\n 0xDEBBC561B7246E3A, 0x424DD2E006492EEA, 0x09D1921CFE1DEB1C, 0xB129A73EE88235F5,\\n 0x2EBB4484E99C7026, 0xB45F7E413991D639, 0x835339F49C845F8B, 0xBDF9283B1FF897FF,\\n 0xDE05980FEF2F118B, 0x5A0A6D1F6D367ECF, 0x27CB09B74F463F66, 0x9E5FEA2D7527BAC7,\\n 0xEBE5F17B3D0739F7, 0x8A5292EA6BFB5FB1, 0x1F8D5D0856033046, 0xFC7B6BABF0CFBC20,\\n 0x9AF4361DA9E39161, 0x5EE61B086599855F, 0x14A068408DFFD880, 0x4D73273106061557\\n]);\\n\\n/** @internal */\\nfunction R(z: f64): f64 { // Rational approximation of (asin(x)-x)/x^3\\n const // see: musl/src/math/asin.c and SUN COPYRIGHT NOTICE above\\n pS0 = reinterpret(0x3FC5555555555555), // 1.66666666666666657415e-01\\n pS1 = reinterpret(0xBFD4D61203EB6F7D), // -3.25565818622400915405e-01\\n pS2 = reinterpret(0x3FC9C1550E884455), // 2.01212532134862925881e-01\\n pS3 = reinterpret(0xBFA48228B5688F3B), // -4.00555345006794114027e-02\\n pS4 = reinterpret(0x3F49EFE07501B288), // 7.91534994289814532176e-04\\n pS5 = reinterpret(0x3F023DE10DFDF709), // 3.47933107596021167570e-05\\n qS1 = reinterpret(0xC0033A271C8A2D4B), // -2.40339491173441421878e+00\\n qS2 = reinterpret(0x40002AE59C598AC8), // 2.02094576023350569471e+00\\n qS3 = reinterpret(0xBFE6066C1B8D0159), // -6.88283971605453293030e-01\\n qS4 = reinterpret(0x3FB3B8C5B12E9282); // 7.70381505559019352791e-02\\n\\n let p = z * (pS0 + z * (pS1 + z * (pS2 + z * (pS3 + z * (pS4 + z * pS5)))));\\n let q = 1.0 + z * (qS1 + z * (qS2 + z * (qS3 + z * qS4)));\\n return p / q;\\n}\\n\\n/** @internal */\\n// @ts-ignore: decorator\\n@inline\\nfunction expo2(x: f64, sign: f64): f64 { // exp(x)/2 for x >= log(DBL_MAX)\\n const // see: musl/src/math/__expo2.c\\n k = 2043,\\n kln2 = reinterpret(0x40962066151ADD8B); // 0x1.62066151add8bp+10\\n let scale = reinterpret(((0x3FF + k / 2) << 20) << 32);\\n // in directed rounding correct sign before rounding or overflow is important\\n return NativeMath.exp(x - kln2) * (sign * scale) * scale;\\n}\\n\\n/** @internal */\\n/* Helper function to eventually get bits of \u03C0/2 * |x|\\n *\\n * y = \u03C0/4 * (frac << clz(frac) >> 11)\\n * return clz(frac)\\n *\\n * Right shift 11 bits to make upper half fit in `double`\\n */\\n// @ts-ignore: decorator\\n@inline\\nfunction pio2_right(q0: u64, q1: u64): u64 { // see: jdh8/metallic/blob/master/src/math/double/rem_pio2.c\\n // Bits of \u03C0/4\\n const p0: u64 = 0xC4C6628B80DC1CD1;\\n const p1: u64 = 0xC90FDAA22168C234;\\n\\n const Ox1p_64 = reinterpret(0x3BF0000000000000); // 0x1p-64\\n const Ox1p_75 = reinterpret(0x3B40000000000000); // 0x1p-75\\n\\n let shift = clz(q1);\\n\\n q1 = q1 << shift | q0 >> (64 - shift);\\n q0 <<= shift;\\n\\n let lo = umuldi(p1, q1);\\n let hi = res128_hi;\\n\\n let ahi = hi >> 11;\\n let alo = lo >> 11 | hi << 53;\\n let blo = (Ox1p_75 * p0 * q1 + Ox1p_75 * p1 * q0);\\n\\n rempio2_y0 = (ahi + u64(lo < blo));\\n rempio2_y1 = Ox1p_64 * (alo + blo);\\n\\n return shift;\\n}\\n\\n/** @internal */\\n// @ts-ignore: decorator\\n@inline\\nfunction umuldi(u: u64, v: u64): u64 {\\n let u1: u64 , v1: u64, w0: u64, w1: u64, t: u64;\\n\\n u1 = u & 0xFFFFFFFF;\\n v1 = v & 0xFFFFFFFF;\\n\\n u >>= 32;\\n v >>= 32;\\n\\n t = u1 * v1;\\n w0 = t & 0xFFFFFFFF;\\n t = u * v1 + (t >> 32);\\n w1 = t >> 32;\\n t = u1 * v + (t & 0xFFFFFFFF);\\n\\n res128_hi = u * v + w1 + (t >> 32);\\n return (t << 32) + w0;\\n}\\n\\n/** @internal */\\nfunction pio2_large_quot(x: f64, u: i64): i32 { // see: jdh8/metallic/blob/master/src/math/double/rem_pio2.c\\n let magnitude = u & 0x7FFFFFFFFFFFFFFF;\\n let offset = (magnitude >> 52) - 1045;\\n let shift = offset & 63;\\n let tblPtr = PIO2_TABLE + ((offset >> 6) << 3);\\n let s0: u64, s1: u64, s2: u64;\\n\\n let b0 = load(tblPtr, 0 << 3);\\n let b1 = load(tblPtr, 1 << 3);\\n let b2 = load(tblPtr, 2 << 3);\\n\\n // Get 192 bits of 0x1p-31 / \u03C0 with `offset` bits skipped\\n if (shift) {\\n let rshift = 64 - shift;\\n let b3 = load(tblPtr, 3 << 3);\\n s0 = b1 >> rshift | b0 << shift;\\n s1 = b2 >> rshift | b1 << shift;\\n s2 = b3 >> rshift | b2 << shift;\\n } else {\\n s0 = b0;\\n s1 = b1;\\n s2 = b2;\\n }\\n\\n let significand = (u & 0x000FFFFFFFFFFFFF) | 0x0010000000000000;\\n\\n // First 128 bits of fractional part of x/(2\u03C0)\\n let blo = umuldi(s1, significand);\\n let bhi = res128_hi;\\n\\n let ahi = s0 * significand;\\n let clo = (s2 >> 32) * (significand >> 32);\\n let plo = blo + clo;\\n let phi = ahi + bhi + u64(plo < clo);\\n\\n // r: u128 = p << 2\\n let rlo = plo << 2;\\n let rhi = phi << 2 | plo >> 62;\\n\\n // s: i128 = r >> 127\\n let slo = rhi >> 63;\\n let shi = slo >> 1;\\n let q = (phi >> 62) - slo;\\n\\n let shifter = 0x3CB0000000000000 - (pio2_right(rlo ^ slo, rhi ^ shi) << 52);\\n let signbit = (u ^ rhi) & 0x8000000000000000;\\n let coeff = reinterpret(shifter | signbit);\\n\\n rempio2_y0 *= coeff;\\n rempio2_y1 *= coeff;\\n\\n return q;\\n}\\n\\n/** @internal */\\n// @ts-ignore: decorator\\n@inline\\nfunction rempio2(x: f64, u: u64, sign: i32): i32 {\\n const\\n pio2_1 = reinterpret(0x3FF921FB54400000), // 1.57079632673412561417e+00\\n pio2_1t = reinterpret(0x3DD0B4611A626331), // 6.07710050650619224932e-11\\n pio2_2 = reinterpret(0x3DD0B4611A600000), // 6.07710050630396597660e-11\\n pio2_2t = reinterpret(0x3BA3198A2E037073), // 2.02226624879595063154e-21\\n pio2_3 = reinterpret(0x3BA3198A2E000000), // 2.02226624871116645580e-21\\n pio2_3t = reinterpret(0x397B839A252049C1), // 8.47842766036889956997e-32\\n invpio2 = reinterpret(0x3FE45F306DC9C883); // 0.63661977236758134308\\n\\n let ix = (u >> 32) & 0x7FFFFFFF;\\n\\n if (ASC_SHRINK_LEVEL < 1) {\\n if (ix < 0x4002D97C) { // |x| < 3pi/4, special case with n=+-1\\n let q = 1, z: f64, y0: f64, y1: f64;\\n if (!sign) {\\n z = x - pio2_1;\\n if (ix != 0x3FF921FB) { // 33+53 bit pi is good enough\\n y0 = z - pio2_1t;\\n y1 = (z - y0) - pio2_1t;\\n } else { // near pi/2, use 33+33+53 bit pi\\n z -= pio2_2;\\n y0 = z - pio2_2t;\\n y1 = (z - y0) - pio2_2t;\\n }\\n } else { // negative x\\n z = x + pio2_1;\\n if (ix != 0x3FF921FB) { // 33+53 bit pi is good enough\\n y0 = z + pio2_1t;\\n y1 = (z - y0) + pio2_1t;\\n } else { // near pi/2, use 33+33+53 bit pi\\n z += pio2_2;\\n y0 = z + pio2_2t;\\n y1 = (z - y0) + pio2_2t;\\n }\\n q = -1;\\n }\\n rempio2_y0 = y0;\\n rempio2_y1 = y1;\\n return q;\\n }\\n }\\n\\n if (ix < 0x413921FB) { // |x| ~< 2^20*pi/2 (1647099)\\n // Use precise Cody Waite scheme\\n let q = nearest(x * invpio2);\\n let r = x - q * pio2_1;\\n let w = q * pio2_1t; // 1st round good to 85 bit\\n let j = ix >> 20;\\n let y0 = r - w;\\n let hi = (reinterpret(y0) >> 32);\\n let i = j - ((hi >> 20) & 0x7FF);\\n\\n if (i > 16) { // 2nd iteration needed, good to 118\\n let t = r;\\n w = q * pio2_2;\\n r = t - w;\\n w = q * pio2_2t - ((t - r) - w);\\n y0 = r - w;\\n hi = (reinterpret(y0) >> 32);\\n i = j - ((hi >> 20) & 0x7FF);\\n if (i > 49) { // 3rd iteration need, 151 bits acc\\n let t = r;\\n w = q * pio2_3;\\n r = t - w;\\n w = q * pio2_3t - ((t - r) - w);\\n y0 = r - w;\\n }\\n }\\n let y1 = (r - y0) - w;\\n rempio2_y0 = y0;\\n rempio2_y1 = y1;\\n return q;\\n }\\n let q = pio2_large_quot(x, u);\\n return select(-q, q, sign);\\n}\\n\\n/** @internal */\\n// @ts-ignore: decorator\\n@inline\\nfunction sin_kern(x: f64, y: f64, iy: i32): f64 { // see: musl/tree/src/math/__sin.c\\n const\\n S1 = reinterpret(0xBFC5555555555549), // -1.66666666666666324348e-01\\n S2 = reinterpret(0x3F8111111110F8A6), // 8.33333333332248946124e-03\\n S3 = reinterpret(0xBF2A01A019C161D5), // -1.98412698298579493134e-04\\n S4 = reinterpret(0x3EC71DE357B1FE7D), // 2.75573137070700676789e-06\\n S5 = reinterpret(0xBE5AE5E68A2B9CEB), // -2.50507602534068634195e-08\\n S6 = reinterpret(0x3DE5D93A5ACFD57C); // 1.58969099521155010221e-10\\n\\n let z = x * x;\\n let w = z * z;\\n let r = S2 + z * (S3 + z * S4) + z * w * (S5 + z * S6);\\n let v = z * x;\\n if (!iy) {\\n return x + v * (S1 + z * r);\\n } else {\\n return x - ((z * (0.5 * y - v * r) - y) - v * S1);\\n }\\n}\\n\\n/** @internal */\\n// @ts-ignore: decorator\\n@inline\\nfunction cos_kern(x: f64, y: f64): f64 { // see: musl/tree/src/math/__cos.c\\n const\\n C1 = reinterpret(0x3FA555555555554C), // 4.16666666666666019037e-02\\n C2 = reinterpret(0xBF56C16C16C15177), // -1.38888888888741095749e-03\\n C3 = reinterpret(0x3EFA01A019CB1590), // 2.48015872894767294178e-05\\n C4 = reinterpret(0xBE927E4F809C52AD), // -2.75573143513906633035e-07\\n C5 = reinterpret(0x3E21EE9EBDB4B1C4), // 2.08757232129817482790e-09\\n C6 = reinterpret(0xBDA8FAE9BE8838D4); // -1.13596475577881948265e-11\\n\\n let z = x * x;\\n let w = z * z;\\n let r = z * (C1 + z * (C2 + z * C3)) + w * w * (C4 + z * (C5 + z * C6));\\n let hz = 0.5 * z;\\n w = 1.0 - hz;\\n return w + (((1.0 - w) - hz) + (z * r - x * y));\\n}\\n\\n/** @internal */\\nfunction tan_kern(x: f64, y: f64, iy: i32): f64 { // see: src/lib/msun/src/k_tan.c\\n const\\n T0 = reinterpret(0x3FD5555555555563), // 3.33333333333334091986e-01\\n T1 = reinterpret(0x3FC111111110FE7A), // 1.33333333333201242699e-01\\n T2 = reinterpret(0x3FABA1BA1BB341FE), // 5.39682539762260521377e-02\\n T3 = reinterpret(0x3F9664F48406D637), // 2.18694882948595424599e-02\\n T4 = reinterpret(0x3F8226E3E96E8493), // 8.86323982359930005737e-03\\n T5 = reinterpret(0x3F6D6D22C9560328), // 3.59207910759131235356e-03\\n T6 = reinterpret(0x3F57DBC8FEE08315), // 1.45620945432529025516e-03\\n T7 = reinterpret(0x3F4344D8F2F26501), // 5.88041240820264096874e-04\\n T8 = reinterpret(0x3F3026F71A8D1068), // 2.46463134818469906812e-04\\n T9 = reinterpret(0x3F147E88A03792A6), // 7.81794442939557092300e-05\\n T10 = reinterpret(0x3F12B80F32F0A7E9), // 7.14072491382608190305e-05\\n T11 = reinterpret(0xBEF375CBDB605373), // -1.85586374855275456654e-05\\n T12 = reinterpret(0x3EFB2A7074BF7AD4); // 2.59073051863633712884e-05\\n\\n const\\n one = reinterpret(0x3FF0000000000000), // 1.00000000000000000000e+00\\n pio4 = reinterpret(0x3FE921FB54442D18), // 7.85398163397448278999e-01\\n pio4lo = reinterpret(0x3C81A62633145C07); // 3.06161699786838301793e-17\\n\\n let z: f64, r: f64, v: f64, w: f64, s: f64;\\n let hx = (reinterpret(x) >> 32); // high word of x\\n let ix = hx & 0x7FFFFFFF; // high word of |x|\\n let big = ix >= 0x3FE59428;\\n if (big) { // |x| >= 0.6744\\n if (hx < 0) { x = -x, y = -y; }\\n z = pio4 - x;\\n w = pio4lo - y;\\n x = z + w;\\n y = 0.0;\\n }\\n z = x * x;\\n w = z * z;\\n r = T1 + w * (T3 + w * (T5 + w * (T7 + w * (T9 + w * T11))));\\n v = z * (T2 + w * (T4 + w * (T6 + w * (T8 + w * (T10 + w * T12)))));\\n s = z * x;\\n r = y + z * (s * (r + v) + y);\\n r += T0 * s;\\n w = x + r;\\n if (big) {\\n v = iy;\\n return (1 - ((hx >> 30) & 2)) * (v - 2.0 * (x - (w * w / (w + v) - r)));\\n }\\n if (iy == 1) return w;\\n let a: f64, t: f64;\\n z = w;\\n z = reinterpret(reinterpret(z) & 0xFFFFFFFF00000000);\\n v = r - (z - x); // z + v = r + x\\n t = a = -one / w; // a = -1.0 / w\\n t = reinterpret(reinterpret(t) & 0xFFFFFFFF00000000);\\n s = one + t * z;\\n return t + a * (s + t * v);\\n}\\n\\n/** @internal */\\nfunction dtoi32(x: f64): i32 {\\n if (ASC_SHRINK_LEVEL > 0) {\\n const inv32 = 1.0 / 4294967296;\\n return (x - 4294967296 * floor(x * inv32));\\n } else {\\n let result = 0;\\n let u = reinterpret(x);\\n let e = (u >> 52) & 0x7FF;\\n if (e <= 1023 + 30) {\\n result = x;\\n } else if (e <= 1023 + 30 + 53) {\\n let v = (u & ((1 << 52) - 1)) | (1 << 52);\\n v = v << e - 1023 - 52 + 32;\\n result = (v >> 32);\\n result = select(-result, result, u < 0);\\n }\\n return result;\\n }\\n}\\n\\n// @ts-ignore: decorator\\n@lazy let random_seeded = false;\\n\\n// @ts-ignore: decorator\\n@lazy let random_state0_64: u64, random_state1_64: u64;\\n\\n// @ts-ignore: decorator\\n@lazy let random_state0_32: u32, random_state1_32: u32;\\n\\nfunction murmurHash3(h: u64): u64 { // Force all bits of a hash block to avalanche\\n h ^= h >> 33; // see: https://github.com/aappleby/smhasher\\n h *= 0xFF51AFD7ED558CCD;\\n h ^= h >> 33;\\n h *= 0xC4CEB9FE1A85EC53;\\n h ^= h >> 33;\\n return h;\\n}\\n\\nfunction splitMix32(h: u32): u32 {\\n h += 0x6D2B79F5;\\n h = (h ^ (h >> 15)) * (h | 1);\\n h ^= h + (h ^ (h >> 7)) * (h | 61);\\n return h ^ (h >> 14);\\n}\\n\\nexport namespace NativeMath {\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const E = reinterpret(0x4005BF0A8B145769); // 2.7182818284590452354\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const LN2 = reinterpret(0x3FE62E42FEFA39EF); // 0.69314718055994530942\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const LN10 = reinterpret(0x40026BB1BBB55516); // 2.30258509299404568402\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const LOG2E = reinterpret(0x3FF71547652B82FE); // 1.4426950408889634074\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const LOG10E = reinterpret(0x3FDBCB7B1526E50E); // 0.43429448190325182765\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const PI = reinterpret(0x400921FB54442D18); // 3.14159265358979323846\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const SQRT1_2 = reinterpret(0x3FE6A09E667F3BCD); // 0.70710678118654752440\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const SQRT2 = reinterpret(0x3FF6A09E667F3BCD); // 1.41421356237309504880\\n\\n // @ts-ignore: decorator\\n @lazy\\n export let sincos_sin: f64 = 0;\\n\\n // @ts-ignore: decorator\\n @lazy\\n export let sincos_cos: f64 = 0;\\n\\n // @ts-ignore: decorator\\n @inline export function abs(x: f64): f64 {\\n return builtin_abs(x);\\n }\\n\\n export function acos(x: f64): f64 { // see: musl/src/math/acos.c and SUN COPYRIGHT NOTICE above\\n const\\n pio2_hi = reinterpret(0x3FF921FB54442D18), // 1.57079632679489655800e+00\\n pio2_lo = reinterpret(0x3C91A62633145C07), // 6.12323399573676603587e-17\\n Ox1p_120f = reinterpret(0x03800000);\\n\\n let hx = (reinterpret(x) >> 32);\\n let ix = hx & 0x7FFFFFFF;\\n if (ix >= 0x3FF00000) {\\n let lx = reinterpret(x);\\n if ((ix - 0x3FF00000 | lx) == 0) {\\n if (hx < 0) return 2 * pio2_hi + Ox1p_120f;\\n return 0;\\n }\\n return 0 / (x - x);\\n }\\n if (ix < 0x3FE00000) {\\n if (ix <= 0x3C600000) return pio2_hi + Ox1p_120f;\\n return pio2_hi - (x - (pio2_lo - x * R(x * x)));\\n }\\n let s: f64, w: f64, z: f64;\\n if (hx < 0) {\\n // z = (1.0 + x) * 0.5;\\n z = 0.5 + x * 0.5;\\n s = builtin_sqrt(z);\\n w = R(z) * s - pio2_lo;\\n return 2 * (pio2_hi - (s + w));\\n }\\n // z = (1.0 - x) * 0.5;\\n z = 0.5 - x * 0.5;\\n s = builtin_sqrt(z);\\n let df = reinterpret(reinterpret(s) & 0xFFFFFFFF00000000);\\n let c = (z - df * df) / (s + df);\\n w = R(z) * s + c;\\n return 2 * (df + w);\\n }\\n\\n export function acosh(x: f64): f64 { // see: musl/src/math/acosh.c\\n const s = reinterpret(0x3FE62E42FEFA39EF);\\n let u = reinterpret(x);\\n // Prevent propagation for all input values less than 1.0.\\n // Note musl lib didn't fix this yet.\\n if (u < 0x3FF0000000000000) return (x - x) / 0.0;\\n let e = u >> 52 & 0x7FF;\\n if (e < 0x3FF + 1) return log1p(x - 1 + builtin_sqrt((x - 1) * (x - 1) + 2 * (x - 1)));\\n if (e < 0x3FF + 26) return log(2 * x - 1 / (x + builtin_sqrt(x * x - 1)));\\n return log(x) + s;\\n }\\n\\n export function asin(x: f64): f64 { // see: musl/src/math/asin.c and SUN COPYRIGHT NOTICE above\\n const\\n pio2_hi = reinterpret(0x3FF921FB54442D18), // 1.57079632679489655800e+00\\n pio2_lo = reinterpret(0x3C91A62633145C07), // 6.12323399573676603587e-17\\n Ox1p_120f = reinterpret(0x03800000);\\n\\n let hx = (reinterpret(x) >> 32);\\n let ix = hx & 0x7FFFFFFF;\\n if (ix >= 0x3FF00000) {\\n let lx = reinterpret(x);\\n if ((ix - 0x3FF00000 | lx) == 0) return x * pio2_hi + Ox1p_120f;\\n return 0 / (x - x);\\n }\\n if (ix < 0x3FE00000) {\\n if (ix < 0x3E500000 && ix >= 0x00100000) return x;\\n return x + x * R(x * x);\\n }\\n // let z = (1.0 - builtin_abs(x)) * 0.5;\\n let z = 0.5 - builtin_abs(x) * 0.5;\\n let s = builtin_sqrt(z);\\n let r = R(z);\\n if (ix >= 0x3FEF3333) x = pio2_hi - (2 * (s + s * r) - pio2_lo);\\n else {\\n let f = reinterpret(reinterpret(s) & 0xFFFFFFFF00000000);\\n let c = (z - f * f) / (s + f);\\n x = 0.5 * pio2_hi - (2 * s * r - (pio2_lo - 2 * c) - (0.5 * pio2_hi - 2 * f));\\n }\\n return select(-x, x, hx < 0);\\n }\\n\\n export function asinh(x: f64): f64 { // see: musl/src/math/asinh.c\\n const c = reinterpret(0x3FE62E42FEFA39EF); // 0.693147180559945309417232121458176568\\n let u = reinterpret(x);\\n let e = u >> 52 & 0x7FF;\\n let y = reinterpret(u & 0x7FFFFFFFFFFFFFFF);\\n if (e >= 0x3FF + 26) y = log(y) + c;\\n else if (e >= 0x3FF + 1) y = log(2 * y + 1 / (builtin_sqrt(y * y + 1) + y));\\n else if (e >= 0x3FF - 26) y = log1p(y + y * y / (builtin_sqrt(y * y + 1) + 1));\\n return builtin_copysign(y, x);\\n }\\n\\n export function atan(x: f64): f64 { // see musl/src/math/atan.c and SUN COPYRIGHT NOTICE above\\n const\\n atanhi0 = reinterpret(0x3FDDAC670561BB4F), // 4.63647609000806093515e-01\\n atanhi1 = reinterpret(0x3FE921FB54442D18), // 7.85398163397448278999e-01\\n atanhi2 = reinterpret(0x3FEF730BD281F69B), // 9.82793723247329054082e-01\\n atanhi3 = reinterpret(0x3FF921FB54442D18), // 1.57079632679489655800e+00\\n atanlo0 = reinterpret(0x3C7A2B7F222F65E2), // 2.26987774529616870924e-17\\n atanlo1 = reinterpret(0x3C81A62633145C07), // 3.06161699786838301793e-17\\n atanlo2 = reinterpret(0x3C7007887AF0CBBD), // 1.39033110312309984516e-17\\n atanlo3 = reinterpret(0x3C91A62633145C07), // 6.12323399573676603587e-17\\n aT0 = reinterpret(0x3FD555555555550D), // 3.33333333333329318027e-01\\n aT1 = reinterpret(0xBFC999999998EBC4), // -1.99999999998764832476e-01\\n aT2 = reinterpret(0x3FC24924920083FF), // 1.42857142725034663711e-01\\n aT3 = reinterpret(0xBFBC71C6FE231671), // -1.11111104054623557880e-01,\\n aT4 = reinterpret(0x3FB745CDC54C206E), // 9.09088713343650656196e-02\\n aT5 = reinterpret(0xBFB3B0F2AF749A6D), // -7.69187620504482999495e-02\\n aT6 = reinterpret(0x3FB10D66A0D03D51), // 6.66107313738753120669e-02\\n aT7 = reinterpret(0xBFADDE2D52DEFD9A), // -5.83357013379057348645e-02\\n aT8 = reinterpret(0x3FA97B4B24760DEB), // 4.97687799461593236017e-02\\n aT9 = reinterpret(0xBFA2B4442C6A6C2F), // -3.65315727442169155270e-02\\n aT10 = reinterpret(0x3F90AD3AE322DA11), // 1.62858201153657823623e-02\\n Ox1p_120f = reinterpret(0x03800000);\\n\\n let ix = (reinterpret(x) >> 32);\\n let sx = x;\\n ix &= 0x7FFFFFFF;\\n let z: f64;\\n if (ix >= 0x44100000) {\\n if (isNaN(x)) return x;\\n z = atanhi3 + Ox1p_120f;\\n return builtin_copysign(z, sx);\\n }\\n let id: i32;\\n if (ix < 0x3FDC0000) {\\n if (ix < 0x3E400000) return x;\\n id = -1;\\n } else {\\n x = builtin_abs(x);\\n if (ix < 0x3FF30000) {\\n if (ix < 0x3FE60000) {\\n id = 0;\\n x = (2.0 * x - 1.0) / (2.0 + x);\\n } else {\\n id = 1;\\n x = (x - 1.0) / (x + 1.0);\\n }\\n } else {\\n if (ix < 0x40038000) {\\n id = 2;\\n x = (x - 1.5) / (1.0 + 1.5 * x);\\n } else {\\n id = 3;\\n x = -1.0 / x;\\n }\\n }\\n }\\n z = x * x;\\n let w = z * z;\\n let s1 = z * (aT0 + w * (aT2 + w * (aT4 + w * (aT6 + w * (aT8 + w * aT10)))));\\n let s2 = w * (aT1 + w * (aT3 + w * (aT5 + w * (aT7 + w * aT9))));\\n let s3 = x * (s1 + s2);\\n if (id < 0) return x - s3;\\n switch (id) {\\n case 0: { z = atanhi0 - ((s3 - atanlo0) - x); break; }\\n case 1: { z = atanhi1 - ((s3 - atanlo1) - x); break; }\\n case 2: { z = atanhi2 - ((s3 - atanlo2) - x); break; }\\n case 3: { z = atanhi3 - ((s3 - atanlo3) - x); break; }\\n default: unreachable();\\n }\\n return builtin_copysign(z, sx);\\n }\\n\\n export function atanh(x: f64): f64 { // see: musl/src/math/atanh.c\\n let u = reinterpret(x);\\n let e = u >> 52 & 0x7FF;\\n let y = builtin_abs(x);\\n if (e < 0x3FF - 1) {\\n if (e >= 0x3FF - 32) y = 0.5 * log1p(2 * y + 2 * y * y / (1 - y));\\n } else {\\n y = 0.5 * log1p(2 * (y / (1 - y)));\\n }\\n return builtin_copysign(y, x);\\n }\\n\\n export function atan2(y: f64, x: f64): f64 { // see: musl/src/math/atan2.c and SUN COPYRIGHT NOTICE above\\n const pi_lo = reinterpret(0x3CA1A62633145C07); // 1.2246467991473531772E-16\\n if (isNaN(x) || isNaN(y)) return x + y;\\n let u = reinterpret(x);\\n let ix = (u >> 32);\\n let lx = u;\\n u = reinterpret(y);\\n let iy = (u >> 32);\\n let ly = u;\\n if ((ix - 0x3FF00000 | lx) == 0) return atan(y);\\n let m = ((iy >> 31) & 1) | ((ix >> 30) & 2);\\n ix = ix & 0x7FFFFFFF;\\n iy = iy & 0x7FFFFFFF;\\n if ((iy | ly) == 0) {\\n switch (m) {\\n case 0:\\n case 1: return y;\\n case 2: return PI;\\n case 3: return -PI;\\n }\\n }\\n if ((ix | lx) == 0) return m & 1 ? -PI / 2 : PI / 2;\\n if (ix == 0x7FF00000) {\\n if (iy == 0x7FF00000) {\\n let t = m & 2 ? 3 * PI / 4 : PI / 4;\\n return m & 1 ? -t : t;\\n } else {\\n let t = m & 2 ? PI : 0;\\n return m & 1 ? -t : t;\\n }\\n }\\n let z: f64;\\n if (ix + (64 << 20) < iy || iy == 0x7FF00000) return m & 1 ? -PI / 2 : PI / 2;\\n if ((m & 2) && iy + (64 << 20) < ix) z = 0;\\n else z = atan(builtin_abs(y / x));\\n switch (m) {\\n case 0: return z;\\n case 1: return -z;\\n case 2: return PI - (z - pi_lo);\\n case 3: return (z - pi_lo) - PI;\\n }\\n unreachable();\\n return 0;\\n }\\n\\n export function cbrt(x: f64): f64 { // see: musl/src/math/cbrt.c and SUN COPYRIGHT NOTICE above\\n const\\n B1 = 715094163,\\n B2 = 696219795,\\n P0 = reinterpret(0x3FFE03E60F61E692), // 1.87595182427177009643\\n P1 = reinterpret(0xBFFE28E092F02420), // -1.88497979543377169875\\n P2 = reinterpret(0x3FF9F1604A49D6C2), // 1.621429720105354466140\\n P3 = reinterpret(0xBFE844CBBEE751D9), // -0.758397934778766047437\\n P4 = reinterpret(0x3FC2B000D4E4EDD7), // 0.145996192886612446982\\n Ox1p54 = reinterpret(0x4350000000000000); // 0x1p54\\n\\n let u = reinterpret(x);\\n let hx = (u >> 32) & 0x7FFFFFFF;\\n if (hx >= 0x7FF00000) return x + x;\\n if (hx < 0x00100000) {\\n u = reinterpret(x * Ox1p54);\\n hx = (u >> 32) & 0x7FFFFFFF;\\n if (hx == 0) return x;\\n hx = hx / 3 + B2;\\n } else {\\n hx = hx / 3 + B1;\\n }\\n u &= 1 << 63;\\n u |= hx << 32;\\n let t = reinterpret(u);\\n let r = (t * t) * (t / x);\\n t = t * ((P0 + r * (P1 + r * P2)) + ((r * r) * r) * (P3 + r * P4));\\n t = reinterpret((reinterpret(t) + 0x80000000) & 0xFFFFFFFFC0000000);\\n let s = t * t;\\n r = x / s;\\n r = (r - t) / (2 * t + r);\\n t = t + t * r;\\n return t;\\n }\\n\\n // @ts-ignore: decorator\\n @inline\\n export function ceil(x: f64): f64 {\\n return builtin_ceil(x);\\n }\\n\\n export function clz32(x: f64): f64 {\\n if (!isFinite(x)) return 32;\\n /*\\n * Wasm (MVP) and JS have different approaches for double->int conversions.\\n *\\n * For emulate JS conversion behavior and avoid trapping from wasm we should modulate by MAX_INT\\n * our float-point arguments before actual convertion to integers.\\n */\\n return builtin_clz(dtoi32(x));\\n }\\n\\n export function cos(x: f64): f64 { // see: musl/src/math/cos.c\\n let u = reinterpret(x);\\n let ux = u32(u >> 32);\\n let sign = ux >> 31;\\n\\n ux &= 0x7FFFFFFF;\\n\\n // |x| ~< pi/4\\n if (ux <= 0x3FE921FB) {\\n if (ux < 0x3E46A09E) { // |x| < 2**-27 * sqrt(2)\\n return 1.0;\\n }\\n return cos_kern(x, 0);\\n }\\n\\n // sin(Inf or NaN) is NaN\\n if (ux >= 0x7FF00000) return x - x;\\n\\n // argument reduction needed\\n let n = rempio2(x, u, sign);\\n let y0 = rempio2_y0;\\n let y1 = rempio2_y1;\\n\\n x = n & 1 ? sin_kern(y0, y1, 1) : cos_kern(y0, y1);\\n return (n + 1) & 2 ? -x : x;\\n }\\n\\n export function cosh(x: f64): f64 { // see: musl/src/math/cosh.c\\n let u = reinterpret(x);\\n u &= 0x7FFFFFFFFFFFFFFF;\\n x = reinterpret(u);\\n let w = (u >> 32);\\n let t: f64;\\n if (w < 0x3FE62E42) {\\n if (w < 0x3FF00000 - (26 << 20)) return 1;\\n t = expm1(x);\\n // return 1 + t * t / (2 * (1 + t));\\n return 1 + t * t / (2 + 2 * t);\\n }\\n if (w < 0x40862E42) {\\n t = exp(x);\\n return 0.5 * (t + 1 / t);\\n }\\n t = expo2(x, 1);\\n return t;\\n }\\n\\n export function exp(x: f64): f64 { // see: musl/src/math/exp.c and SUN COPYRIGHT NOTICE above\\n if (ASC_SHRINK_LEVEL < 1) {\\n return exp_lut(x);\\n } else {\\n const\\n ln2hi = reinterpret(0x3FE62E42FEE00000), // 6.93147180369123816490e-01\\n ln2lo = reinterpret(0x3DEA39EF35793C76), // 1.90821492927058770002e-10\\n invln2 = reinterpret(0x3FF71547652B82FE), // 1.44269504088896338700e+00\\n P1 = reinterpret(0x3FC555555555553E), // 1.66666666666666019037e-01\\n P2 = reinterpret(0xBF66C16C16BEBD93), // -2.77777777770155933842e-03\\n P3 = reinterpret(0x3F11566AAF25DE2C), // 6.61375632143793436117e-05\\n P4 = reinterpret(0xBEBBBD41C5D26BF1), // -1.65339022054652515390e-06\\n P5 = reinterpret(0x3E66376972BEA4D0), // 4.13813679705723846039e-08\\n overflow = reinterpret(0x40862E42FEFA39EF), // 709.782712893383973096\\n underflow = reinterpret(0xC0874910D52D3051), // -745.13321910194110842\\n Ox1p1023 = reinterpret(0x7FE0000000000000); // 0x1p1023\\n\\n let hx = u32(reinterpret(x) >> 32);\\n let sign = hx >> 31;\\n hx &= 0x7FFFFFFF;\\n if (hx >= 0x4086232B) {\\n if (isNaN(x)) return x;\\n if (x > overflow) return x * Ox1p1023;\\n if (x < underflow) return 0;\\n }\\n let hi: f64, lo: f64 = 0;\\n let k = 0;\\n if (hx > 0x3FD62E42) {\\n if (hx >= 0x3FF0A2B2) {\\n k = i32(invln2 * x + builtin_copysign(0.5, x));\\n } else {\\n k = 1 - (sign << 1);\\n }\\n hi = x - k * ln2hi;\\n lo = k * ln2lo;\\n x = hi - lo;\\n } else if (hx > 0x3E300000) {\\n hi = x;\\n } else return 1.0 + x;\\n let xs = x * x;\\n // let c = x - xp2 * (P1 + xp2 * (P2 + xp2 * (P3 + xp2 * (P4 + xp2 * P5))));\\n let xq = xs * xs;\\n let c = x - (xs * P1 + xq * ((P2 + xs * P3) + xq * (P4 + xs * P5)));\\n let y = 1.0 + (x * c / (2 - c) - lo + hi);\\n return k == 0 ? y : scalbn(y, k);\\n }\\n }\\n\\n export function exp2(x: f64): f64 {\\n return exp2_lut(x);\\n }\\n\\n export function expm1(x: f64): f64 { // see: musl/src/math/expm1.c and SUN COPYRIGHT NOTICE above\\n const\\n o_threshold = reinterpret(0x40862E42FEFA39EF), // 7.09782712893383973096e+02\\n ln2_hi = reinterpret(0x3FE62E42FEE00000), // 6.93147180369123816490e-01\\n ln2_lo = reinterpret(0x3DEA39EF35793C76), // 1.90821492927058770002e-10\\n invln2 = reinterpret(0x3FF71547652B82FE), // 1.44269504088896338700e+00\\n Q1 = reinterpret(0xBFA11111111110F4), // -3.33333333333331316428e-02\\n Q2 = reinterpret(0x3F5A01A019FE5585), // 1.58730158725481460165e-03\\n Q3 = reinterpret(0xBF14CE199EAADBB7), // -7.93650757867487942473e-05\\n Q4 = reinterpret(0x3ED0CFCA86E65239), // 4.00821782732936239552e-06\\n Q5 = reinterpret(0xBE8AFDB76E09C32D), // -2.01099218183624371326e-07\\n Ox1p1023 = reinterpret(0x7FE0000000000000); // 0x1p1023\\n\\n let u = reinterpret(x);\\n let hx = u32(u >> 32) & 0x7FFFFFFF;\\n let sign = u32(u >> 63);\\n let k = 0;\\n if (hx >= 0x4043687A) {\\n if (isNaN(x)) return x;\\n if (sign) return -1;\\n if (x > o_threshold) return x * Ox1p1023;\\n }\\n let c = 0.0, t: f64;\\n if (hx > 0x3FD62E42) {\\n k = select(\\n 1 - (sign << 1),\\n i32(invln2 * x + builtin_copysign(0.5, x)),\\n hx < 0x3FF0A2B2\\n );\\n t = k;\\n let hi = x - t * ln2_hi;\\n let lo = t * ln2_lo;\\n x = hi - lo;\\n c = (hi - x) - lo;\\n } else if (hx < 0x3C900000) return x;\\n let hfx = 0.5 * x;\\n let hxs = x * hfx;\\n // let r1 = 1.0 + hxs * (Q1 + hxs * (Q2 + hxs * (Q3 + hxs * (Q4 + hxs * Q5))));\\n let hxq = hxs * hxs;\\n let r1 = (1.0 + hxs * Q1) + hxq * ((Q2 + hxs * Q3) + hxq * (Q4 + hxs * Q5));\\n t = 3.0 - r1 * hfx;\\n let e = hxs * ((r1 - t) / (6.0 - x * t));\\n if (k == 0) return x - (x * e - hxs);\\n e = x * (e - c) - c;\\n e -= hxs;\\n if (k == -1) return 0.5 * (x - e) - 0.5;\\n if (k == 1) {\\n if (x < -0.25) return -2.0 * (e - (x + 0.5));\\n return 1.0 + 2.0 * (x - e);\\n }\\n u = (0x3FF + k) << 52;\\n let twopk = reinterpret(u);\\n let y: f64;\\n if (k < 0 || k > 56) {\\n y = x - e + 1.0;\\n if (k == 1024) y = y * 2.0 * Ox1p1023;\\n else y = y * twopk;\\n return y - 1.0;\\n }\\n u = (0x3FF - k) << 52;\\n y = reinterpret(u);\\n if (k < 20) y = (1 - y) - e;\\n else y = 1 - (e + y);\\n return (x + y) * twopk;\\n }\\n\\n // @ts-ignore: decorator\\n @inline\\n export function floor(x: f64): f64 {\\n return builtin_floor(x);\\n }\\n\\n // @ts-ignore: decorator\\n @inline\\n export function fround(x: f64): f64 {\\n return x;\\n }\\n\\n export function hypot(x: f64, y: f64): f64 { // see: musl/src/math/hypot.c\\n const\\n SPLIT = reinterpret(0x41A0000000000000) + 1, // 0x1p27 + 1\\n Ox1p700 = reinterpret(0x6BB0000000000000),\\n Ox1p_700 = reinterpret(0x1430000000000000);\\n\\n let ux = reinterpret(x);\\n let uy = reinterpret(y);\\n ux &= 0x7FFFFFFFFFFFFFFF;\\n uy &= 0x7FFFFFFFFFFFFFFF;\\n if (ux < uy) {\\n let ut = ux;\\n ux = uy;\\n uy = ut;\\n }\\n let ex = i32(ux >> 52);\\n let ey = i32(uy >> 52);\\n y = reinterpret(uy);\\n if (ey == 0x7FF) return y;\\n x = reinterpret(ux);\\n if (ex == 0x7FF || uy == 0) return x;\\n if (ex - ey > 64) return x + y;\\n let z = 1.0;\\n if (ex > 0x3FF + 510) {\\n z = Ox1p700;\\n x *= Ox1p_700;\\n y *= Ox1p_700;\\n } else if (ey < 0x3FF - 450) {\\n z = Ox1p_700;\\n x *= Ox1p700;\\n y *= Ox1p700;\\n }\\n let c = x * SPLIT;\\n let h = x - c + c;\\n let l = x - h;\\n let hx = x * x;\\n let lx = h * h - hx + (2 * h + l) * l;\\n c = y * SPLIT;\\n h = y - c + c;\\n l = y - h;\\n let hy = y * y;\\n let ly = h * h - hy + (2 * h + l) * l;\\n return z * builtin_sqrt(ly + lx + hy + hx);\\n }\\n\\n export function imul(x: f64, y: f64): f64 {\\n /*\\n * Wasm (MVP) and JS have different approaches for double->int conversions.\\n *\\n * For emulate JS conversion behavior and avoid trapping from wasm we should modulate by MAX_INT\\n * our float-point arguments before actual convertion to integers.\\n */\\n if (!isFinite(x + y)) return 0;\\n return dtoi32(x) * dtoi32(y);\\n }\\n\\n export function log(x: f64): f64 { // see: musl/src/math/log.c and SUN COPYRIGHT NOTICE above\\n if (ASC_SHRINK_LEVEL < 1) {\\n return log_lut(x);\\n } else {\\n const\\n ln2_hi = reinterpret(0x3FE62E42FEE00000), // 6.93147180369123816490e-01\\n ln2_lo = reinterpret(0x3DEA39EF35793C76), // 1.90821492927058770002e-10\\n Lg1 = reinterpret(0x3FE5555555555593), // 6.666666666666735130e-01\\n Lg2 = reinterpret(0x3FD999999997FA04), // 3.999999999940941908e-01\\n Lg3 = reinterpret(0x3FD2492494229359), // 2.857142874366239149e-01\\n Lg4 = reinterpret(0x3FCC71C51D8E78AF), // 2.222219843214978396e-01\\n Lg5 = reinterpret(0x3FC7466496CB03DE), // 1.818357216161805012e-01\\n Lg6 = reinterpret(0x3FC39A09D078C69F), // 1.531383769920937332e-01\\n Lg7 = reinterpret(0x3FC2F112DF3E5244), // 1.479819860511658591e-01\\n Ox1p54 = reinterpret(0x4350000000000000); // 0x1p54\\n\\n let u = reinterpret(x);\\n let hx = u32(u >> 32);\\n let k = 0;\\n let sign = hx >> 31;\\n if (sign || hx < 0x00100000) {\\n if (u << 1 == 0) return -1 / (x * x);\\n if (sign) return (x - x) / 0.0;\\n k -= 54;\\n x *= Ox1p54;\\n u = reinterpret(x);\\n hx = u32(u >> 32);\\n } else if (hx >= 0x7FF00000) {\\n return x;\\n } else if (hx == 0x3FF00000 && u << 32 == 0) {\\n return 0;\\n }\\n hx += 0x3FF00000 - 0x3FE6A09E;\\n k += (hx >> 20) - 0x3FF;\\n hx = (hx & 0x000FFFFF) + 0x3FE6A09E;\\n u = hx << 32 | (u & 0xFFFFFFFF);\\n x = reinterpret(u);\\n let f = x - 1.0;\\n let hfsq = 0.5 * f * f;\\n let s = f / (2.0 + f);\\n let z = s * s;\\n let w = z * z;\\n let t1 = w * (Lg2 + w * (Lg4 + w * Lg6));\\n let t2 = z * (Lg1 + w * (Lg3 + w * (Lg5 + w * Lg7)));\\n let r = t2 + t1;\\n let dk = k;\\n return s * (hfsq + r) + dk * ln2_lo - hfsq + f + dk * ln2_hi;\\n }\\n }\\n\\n export function log10(x: f64): f64 { // see: musl/src/math/log10.c and SUN COPYRIGHT NOTICE above\\n const\\n ivln10hi = reinterpret(0x3FDBCB7B15200000), // 4.34294481878168880939e-01\\n ivln10lo = reinterpret(0x3DBB9438CA9AADD5), // 2.50829467116452752298e-11\\n log10_2hi = reinterpret(0x3FD34413509F6000), // 3.01029995663611771306e-01\\n log10_2lo = reinterpret(0x3D59FEF311F12B36), // 3.69423907715893078616e-13\\n Lg1 = reinterpret(0x3FE5555555555593), // 6.666666666666735130e-01\\n Lg2 = reinterpret(0x3FD999999997FA04), // 3.999999999940941908e-01\\n Lg3 = reinterpret(0x3FD2492494229359), // 2.857142874366239149e-01\\n Lg4 = reinterpret(0x3FCC71C51D8E78AF), // 2.222219843214978396e-01\\n Lg5 = reinterpret(0x3FC7466496CB03DE), // 1.818357216161805012e-01\\n Lg6 = reinterpret(0x3FC39A09D078C69F), // 1.531383769920937332e-01\\n Lg7 = reinterpret(0x3FC2F112DF3E5244), // 1.479819860511658591e-01\\n Ox1p54 = reinterpret(0x4350000000000000); // 0x1p54\\n\\n let u = reinterpret(x);\\n let hx = u32(u >> 32);\\n let k = 0;\\n let sign = hx >> 31;\\n if (sign || hx < 0x00100000) {\\n if (u << 1 == 0) return -1 / (x * x);\\n if (sign) return (x - x) / 0.0;\\n k -= 54;\\n x *= Ox1p54;\\n u = reinterpret(x);\\n hx = u32(u >> 32);\\n } else if (hx >= 0x7FF00000) {\\n return x;\\n } else if (hx == 0x3FF00000 && u << 32 == 0) {\\n return 0;\\n }\\n hx += 0x3FF00000 - 0x3FE6A09E;\\n k += i32(hx >> 20) - 0x3FF;\\n hx = (hx & 0x000FFFFF) + 0x3FE6A09E;\\n u = hx << 32 | (u & 0xFFFFFFFF);\\n x = reinterpret(u);\\n let f = x - 1.0;\\n let hfsq = 0.5 * f * f;\\n let s = f / (2.0 + f);\\n let z = s * s;\\n let w = z * z;\\n let t1 = w * (Lg2 + w * (Lg4 + w * Lg6));\\n let t2 = z * (Lg1 + w * (Lg3 + w * (Lg5 + w * Lg7)));\\n let r = t2 + t1;\\n let hi = f - hfsq;\\n u = reinterpret(hi);\\n u &= 0xFFFFFFFF00000000;\\n hi = reinterpret(u);\\n let lo = f - hi - hfsq + s * (hfsq + r);\\n let val_hi = hi * ivln10hi;\\n let dk = k;\\n let y = dk * log10_2hi;\\n let val_lo = dk * log10_2lo + (lo + hi) * ivln10lo + lo * ivln10hi;\\n w = y + val_hi;\\n val_lo += (y - w) + val_hi;\\n return val_lo + w;\\n }\\n\\n export function log1p(x: f64): f64 { // see: musl/src/math/log1p.c and SUN COPYRIGHT NOTICE above\\n const\\n ln2_hi = reinterpret(0x3FE62E42FEE00000), // 6.93147180369123816490e-01\\n ln2_lo = reinterpret(0x3DEA39EF35793C76), // 1.90821492927058770002e-10\\n Lg1 = reinterpret(0x3FE5555555555593), // 6.666666666666735130e-01\\n Lg2 = reinterpret(0x3FD999999997FA04), // 3.999999999940941908e-01\\n Lg3 = reinterpret(0x3FD2492494229359), // 2.857142874366239149e-01\\n Lg4 = reinterpret(0x3FCC71C51D8E78AF), // 2.222219843214978396e-01\\n Lg5 = reinterpret(0x3FC7466496CB03DE), // 1.818357216161805012e-01\\n Lg6 = reinterpret(0x3FC39A09D078C69F), // 1.531383769920937332e-01\\n Lg7 = reinterpret(0x3FC2F112DF3E5244); // 1.479819860511658591e-01\\n\\n let u = reinterpret(x);\\n let hx = u32(u >> 32);\\n let k = 1;\\n let c = 0.0, f = 0.0;\\n if (hx < 0x3FDA827A || bool(hx >> 31)) {\\n if (hx >= 0xBFF00000) {\\n if (x == -1) return x / 0.0;\\n return (x - x) / 0.0;\\n }\\n if (hx << 1 < 0x3CA00000 << 1) return x;\\n if (hx <= 0xBFD2BEC4) {\\n k = 0;\\n c = 0;\\n f = x;\\n }\\n } else if (hx >= 0x7FF00000) return x;\\n if (k) {\\n u = reinterpret(1 + x);\\n let hu = u32(u >> 32);\\n hu += 0x3FF00000 - 0x3FE6A09E;\\n k = i32(hu >> 20) - 0x3FF;\\n if (k < 54) {\\n let uf = reinterpret(u);\\n c = k >= 2 ? 1 - (uf - x) : x - (uf - 1);\\n c /= uf;\\n } else c = 0;\\n hu = (hu & 0x000FFFFF) + 0x3FE6A09E;\\n u = hu << 32 | (u & 0xFFFFFFFF);\\n f = reinterpret(u) - 1;\\n }\\n let hfsq = 0.5 * f * f;\\n let s = f / (2.0 + f);\\n let z = s * s;\\n let w = z * z;\\n let t1 = w * (Lg2 + w * (Lg4 + w * Lg6));\\n let t2 = z * (Lg1 + w * (Lg3 + w * (Lg5 + w * Lg7)));\\n let r = t2 + t1;\\n let dk = k;\\n return s * (hfsq + r) + (dk * ln2_lo + c) - hfsq + f + dk * ln2_hi;\\n }\\n\\n export function log2(x: f64): f64 { // see: musl/src/math/log2.c and SUN COPYRIGHT NOTICE above\\n if (ASC_SHRINK_LEVEL < 1) {\\n return log2_lut(x);\\n } else {\\n const\\n ivln2hi = reinterpret(0x3FF7154765200000), // 1.44269504072144627571e+00\\n ivln2lo = reinterpret(0x3DE705FC2EEFA200), // 1.67517131648865118353e-10\\n Lg1 = reinterpret(0x3FE5555555555593), // 6.666666666666735130e-01\\n Lg2 = reinterpret(0x3FD999999997FA04), // 3.999999999940941908e-01\\n Lg3 = reinterpret(0x3FD2492494229359), // 2.857142874366239149e-01\\n Lg4 = reinterpret(0x3FCC71C51D8E78AF), // 2.222219843214978396e-01\\n Lg5 = reinterpret(0x3FC7466496CB03DE), // 1.818357216161805012e-01\\n Lg6 = reinterpret(0x3FC39A09D078C69F), // 1.531383769920937332e-01\\n Lg7 = reinterpret(0x3FC2F112DF3E5244), // 1.479819860511658591e-01\\n Ox1p54 = reinterpret(0x4350000000000000); // 1p54\\n\\n let u = reinterpret(x);\\n let hx = u32(u >> 32);\\n let k = 0;\\n let sign = hx >> 31;\\n if (sign || hx < 0x00100000) {\\n if (u << 1 == 0) return -1 / (x * x);\\n if (sign) return (x - x) / 0.0;\\n k -= 54;\\n x *= Ox1p54;\\n u = reinterpret(x);\\n hx = u32(u >> 32);\\n } else if (hx >= 0x7FF00000) {\\n return x;\\n } else if (hx == 0x3FF00000 && u << 32 == 0) {\\n return 0;\\n }\\n hx += 0x3FF00000 - 0x3FE6A09E;\\n k += i32(hx >> 20) - 0x3FF;\\n hx = (hx & 0x000FFFFF) + 0x3FE6A09E;\\n u = hx << 32 | (u & 0xFFFFFFFF);\\n x = reinterpret(u);\\n let f = x - 1.0;\\n let hfsq = 0.5 * f * f;\\n let s = f / (2.0 + f);\\n let z = s * s;\\n let w = z * z;\\n let t1 = w * (Lg2 + w * (Lg4 + w * Lg6));\\n let t2 = z * (Lg1 + w * (Lg3 + w * (Lg5 + w * Lg7)));\\n let r = t2 + t1;\\n let hi = f - hfsq;\\n u = reinterpret(hi);\\n u &= 0xFFFFFFFF00000000;\\n hi = reinterpret(u);\\n let lo = f - hi - hfsq + s * (hfsq + r);\\n let val_hi = hi * ivln2hi;\\n let val_lo = (lo + hi) * ivln2lo + lo * ivln2hi;\\n let y = k;\\n w = y + val_hi;\\n val_lo += (y - w) + val_hi;\\n val_hi = w;\\n return val_lo + val_hi;\\n }\\n }\\n\\n // @ts-ignore: decorator\\n @inline\\n export function max(value1: f64, value2: f64): f64 {\\n return builtin_max(value1, value2);\\n }\\n\\n // @ts-ignore: decorator\\n @inline\\n export function min(value1: f64, value2: f64): f64 {\\n return builtin_min(value1, value2);\\n }\\n\\n export function pow(x: f64, y: f64): f64 { // see: musl/src/math/pow.c and SUN COPYRIGHT NOTICE above\\n // TODO: remove this fast pathes after introduced own mid-end IR with \\\"stdlib call simplify\\\" transforms\\n if (builtin_abs(y) <= 2) {\\n if (y == 2.0) return x * x;\\n if (y == 0.5) {\\n return select(\\n builtin_abs(builtin_sqrt(x)),\\n Infinity,\\n x != -Infinity\\n );\\n }\\n if (y == -1.0) return 1 / x;\\n if (y == 1.0) return x;\\n if (y == 0.0) return 1.0;\\n }\\n if (ASC_SHRINK_LEVEL < 1) {\\n return pow_lut(x, y);\\n } else {\\n const\\n dp_h1 = reinterpret(0x3FE2B80340000000), // 5.84962487220764160156e-01\\n dp_l1 = reinterpret(0x3E4CFDEB43CFD006), // 1.35003920212974897128e-08\\n two53 = reinterpret(0x4340000000000000), // 9007199254740992.0\\n huge = reinterpret(0x7E37E43C8800759C), // 1e+300\\n tiny = reinterpret(0x01A56E1FC2F8F359), // 1e-300\\n L1 = reinterpret(0x3FE3333333333303), // 5.99999999999994648725e-01\\n L2 = reinterpret(0x3FDB6DB6DB6FABFF), // 4.28571428578550184252e-01\\n L3 = reinterpret(0x3FD55555518F264D), // 3.33333329818377432918e-01\\n L4 = reinterpret(0x3FD17460A91D4101), // 2.72728123808534006489e-01\\n L5 = reinterpret(0x3FCD864A93C9DB65), // 2.30660745775561754067e-01\\n L6 = reinterpret(0x3FCA7E284A454EEF), // 2.06975017800338417784e-01\\n P1 = reinterpret(0x3FC555555555553E), // 1.66666666666666019037e-01\\n P2 = reinterpret(0xBF66C16C16BEBD93), // -2.77777777770155933842e-03\\n P3 = reinterpret(0x3F11566AAF25DE2C), // 6.61375632143793436117e-05\\n P4 = reinterpret(0xBEBBBD41C5D26BF1), // -1.65339022054652515390e-06\\n P5 = reinterpret(0x3E66376972BEA4D0), // 4.13813679705723846039e-08\\n lg2 = reinterpret(0x3FE62E42FEFA39EF), // 6.93147180559945286227e-01\\n lg2_h = reinterpret(0x3FE62E4300000000), // 6.93147182464599609375e-01\\n lg2_l = reinterpret(0xBE205C610CA86C39), // -1.90465429995776804525e-09\\n ovt = reinterpret(0x3C971547652B82FE), // 8.0085662595372944372e-017\\n cp = reinterpret(0x3FEEC709DC3A03FD), // 9.61796693925975554329e-01\\n cp_h = reinterpret(0x3FEEC709E0000000), // 9.61796700954437255859e-01\\n cp_l = reinterpret(0xBE3E2FE0145B01F5), // -7.02846165095275826516e-09\\n ivln2 = reinterpret(0x3FF71547652B82FE), // 1.44269504088896338700e+00\\n ivln2_h = reinterpret(0x3FF7154760000000), // 1.44269502162933349609e+00\\n ivln2_l = reinterpret(0x3E54AE0BF85DDF44), // 1.92596299112661746887e-08\\n inv3 = reinterpret(0x3FD5555555555555); // 0.3333333333333333333333\\n\\n let u_ = reinterpret(x);\\n let hx = i32(u_ >> 32);\\n let lx = u_;\\n u_ = reinterpret(y);\\n let hy = i32(u_ >> 32);\\n let ly = u_;\\n let ix = hx & 0x7FFFFFFF;\\n let iy = hy & 0x7FFFFFFF;\\n if ((iy | ly) == 0) return 1.0; // x**0 = 1, even if x is NaN\\n // if (hx == 0x3FF00000 && lx == 0) return 1.0; // C: 1**y = 1, even if y is NaN, JS: NaN\\n if ( // NaN if either arg is NaN\\n ix > 0x7FF00000 || (ix == 0x7FF00000 && lx != 0) ||\\n iy > 0x7FF00000 || (iy == 0x7FF00000 && ly != 0)\\n ) return x + y;\\n let yisint = 0, k: i32;\\n if (hx < 0) {\\n if (iy >= 0x43400000) yisint = 2;\\n else if (iy >= 0x3FF00000) {\\n k = (iy >> 20) - 0x3FF;\\n let offset = select(52, 20, k > 20) - k;\\n let Ly = select(ly, iy, k > 20);\\n let jj = Ly >> offset;\\n if ((jj << offset) == Ly) yisint = 2 - (jj & 1);\\n }\\n }\\n if (ly == 0) {\\n if (iy == 0x7FF00000) { // y is +-inf\\n if (((ix - 0x3FF00000) | lx) == 0) return NaN; // C: (-1)**+-inf is 1, JS: NaN\\n else if (ix >= 0x3FF00000) return hy >= 0 ? y : 0.0; // (|x|>1)**+-inf = inf,0\\n else return hy >= 0 ? 0.0 : -y; // (|x|<1)**+-inf = 0,inf\\n }\\n if (iy == 0x3FF00000) {\\n if (hy >= 0) return x;\\n return 1 / x;\\n }\\n if (hy == 0x40000000) return x * x;\\n if (hy == 0x3FE00000) {\\n if (hx >= 0) return builtin_sqrt(x);\\n }\\n }\\n let ax = builtin_abs(x), z: f64;\\n if (lx == 0) {\\n if (ix == 0 || ix == 0x7FF00000 || ix == 0x3FF00000) {\\n z = ax;\\n if (hy < 0) z = 1.0 / z;\\n if (hx < 0) {\\n if (((ix - 0x3FF00000) | yisint) == 0) {\\n let d = z - z;\\n z = d / d;\\n } else if (yisint == 1) z = -z;\\n }\\n return z;\\n }\\n }\\n let s = 1.0;\\n if (hx < 0) {\\n if (yisint == 0) {\\n let d = x - x;\\n return d / d;\\n }\\n if (yisint == 1) s = -1.0;\\n }\\n let t1: f64, t2: f64, p_h: f64, p_l: f64, r: f64, t: f64, u: f64, v: f64, w: f64;\\n let j: i32, n: i32;\\n if (iy > 0x41E00000) {\\n if (iy > 0x43F00000) {\\n if (ix <= 0x3FEFFFFF) return hy < 0 ? huge * huge : tiny * tiny;\\n if (ix >= 0x3FF00000) return hy > 0 ? huge * huge : tiny * tiny;\\n }\\n if (ix < 0x3FEFFFFF) return hy < 0 ? s * huge * huge : s * tiny * tiny;\\n if (ix > 0x3FF00000) return hy > 0 ? s * huge * huge : s * tiny * tiny;\\n t = ax - 1.0;\\n w = (t * t) * (0.5 - t * (inv3 - t * 0.25));\\n u = ivln2_h * t;\\n v = t * ivln2_l - w * ivln2;\\n t1 = u + v;\\n t1 = reinterpret(reinterpret(t1) & 0xFFFFFFFF00000000);\\n t2 = v - (t1 - u);\\n } else {\\n let ss: f64, s2: f64, s_h: f64, s_l: f64, t_h: f64, t_l: f64;\\n n = 0;\\n if (ix < 0x00100000) {\\n ax *= two53;\\n n -= 53;\\n ix = (reinterpret(ax) >> 32);\\n }\\n n += (ix >> 20) - 0x3FF;\\n j = ix & 0x000FFFFF;\\n ix = j | 0x3FF00000;\\n if (j <= 0x3988E) k = 0;\\n else if (j < 0xBB67A) k = 1;\\n else {\\n k = 0;\\n n += 1;\\n ix -= 0x00100000;\\n }\\n ax = reinterpret(reinterpret(ax) & 0xFFFFFFFF | (ix << 32));\\n let bp = select(1.5, 1.0, k); // k ? 1.5 : 1.0\\n u = ax - bp;\\n v = 1.0 / (ax + bp);\\n ss = u * v;\\n s_h = ss;\\n s_h = reinterpret(reinterpret(s_h) & 0xFFFFFFFF00000000);\\n t_h = reinterpret(u64(((ix >> 1) | 0x20000000) + 0x00080000 + (k << 18)) << 32);\\n t_l = ax - (t_h - bp);\\n s_l = v * ((u - s_h * t_h) - s_h * t_l);\\n s2 = ss * ss;\\n r = s2 * s2 * (L1 + s2 * (L2 + s2 * (L3 + s2 * (L4 + s2 * (L5 + s2 * L6)))));\\n r += s_l * (s_h + ss);\\n s2 = s_h * s_h;\\n t_h = 3.0 + s2 + r;\\n t_h = reinterpret(reinterpret(t_h) & 0xFFFFFFFF00000000);\\n t_l = r - ((t_h - 3.0) - s2);\\n u = s_h * t_h;\\n v = s_l * t_h + t_l * ss;\\n p_h = u + v;\\n p_h = reinterpret(reinterpret(p_h) & 0xFFFFFFFF00000000);\\n p_l = v - (p_h - u);\\n let z_h = cp_h * p_h;\\n let dp_l = select(dp_l1, 0.0, k);\\n let z_l = cp_l * p_h + p_l * cp + dp_l;\\n t = n;\\n let dp_h = select(dp_h1, 0.0, k);\\n t1 = ((z_h + z_l) + dp_h) + t;\\n t1 = reinterpret(reinterpret(t1) & 0xFFFFFFFF00000000);\\n t2 = z_l - (((t1 - t) - dp_h) - z_h);\\n }\\n let y1 = y;\\n y1 = reinterpret(reinterpret(y1) & 0xFFFFFFFF00000000);\\n p_l = (y - y1) * t1 + y * t2;\\n p_h = y1 * t1;\\n z = p_l + p_h;\\n u_ = reinterpret(z);\\n j = u32(u_ >> 32);\\n let i = u_;\\n if (j >= 0x40900000) {\\n if (((j - 0x40900000) | i) != 0) return s * huge * huge;\\n if (p_l + ovt > z - p_h) return s * huge * huge;\\n } else if ((j & 0x7FFFFFFF) >= 0x4090CC00) {\\n if (((j - 0xC090CC00) | i) != 0) return s * tiny * tiny;\\n if (p_l <= z - p_h) return s * tiny * tiny;\\n }\\n i = j & 0x7FFFFFFF;\\n k = (i >> 20) - 0x3FF;\\n n = 0;\\n if (i > 0x3FE00000) {\\n n = j + (0x00100000 >> (k + 1));\\n k = ((n & 0x7FFFFFFF) >> 20) - 0x3FF;\\n t = 0.0;\\n t = reinterpret(u64(n & ~(0x000FFFFF >> k)) << 32);\\n n = ((n & 0x000FFFFF) | 0x00100000) >> (20 - k);\\n if (j < 0) n = -n;\\n p_h -= t;\\n }\\n t = p_l + p_h;\\n t = reinterpret(reinterpret(t) & 0xFFFFFFFF00000000);\\n u = t * lg2_h;\\n v = (p_l - (t - p_h)) * lg2 + t * lg2_l;\\n z = u + v;\\n w = v - (z - u);\\n t = z * z;\\n t1 = z - t * (P1 + t * (P2 + t * (P3 + t * (P4 + t * P5))));\\n r = (z * t1) / (t1 - 2.0) - (w + z * w);\\n z = 1.0 - (r - z);\\n j = u32(reinterpret(z) >> 32);\\n j += n << 20;\\n if ((j >> 20) <= 0) z = scalbn(z, n);\\n else z = reinterpret(reinterpret(z) & 0xFFFFFFFF | (j << 32));\\n return s * z;\\n }\\n }\\n\\n export function seedRandom(value: i64): void {\\n // Instead zero seed use golden ratio:\\n // phi = (1 + sqrt(5)) / 2\\n // trunc(2^64 / phi) = 0x9e3779b97f4a7c15\\n if (value == 0) value = 0x9e3779b97f4a7c15;\\n random_state0_64 = murmurHash3(value);\\n random_state1_64 = murmurHash3(~random_state0_64);\\n random_state0_32 = splitMix32(value);\\n random_state1_32 = splitMix32(random_state0_32);\\n random_seeded = true;\\n }\\n\\n export function random(): f64 { // see: v8/src/base/utils/random-number-generator.cc\\n if (!random_seeded) seedRandom(reinterpret(seed()));\\n let s1 = random_state0_64;\\n let s0 = random_state1_64;\\n random_state0_64 = s0;\\n s1 ^= s1 << 23;\\n s1 ^= s1 >> 17;\\n s1 ^= s0;\\n s1 ^= s0 >> 26;\\n random_state1_64 = s1;\\n let r = (s0 >> 12) | 0x3FF0000000000000;\\n return reinterpret(r) - 1;\\n }\\n\\n export function round(x: f64): f64 {\\n if (ASC_SHRINK_LEVEL > 0) {\\n return builtin_ceil(x) - f64(builtin_ceil(x) - 0.5 > x);\\n } else {\\n let roundUp = builtin_ceil(x);\\n return select(roundUp, roundUp - 1.0, roundUp - 0.5 <= x);\\n }\\n }\\n\\n export function sign(x: f64): f64 {\\n if (ASC_SHRINK_LEVEL > 0) {\\n return select(builtin_copysign(1, x), x, builtin_abs(x) > 0);\\n } else {\\n return select(1, select(-1, x, x < 0), x > 0);\\n }\\n }\\n\\n // @ts-ignore: decorator\\n @inline\\n export function signbit(x: f64): bool {\\n return bool(reinterpret(x) >>> 63);\\n }\\n\\n export function sin(x: f64): f64 { // see: musl/src/math/sin.c\\n let u = reinterpret(x);\\n let ux = u32(u >> 32);\\n let sign = ux >> 31;\\n\\n ux &= 0x7FFFFFFF;\\n\\n // |x| ~< pi/4\\n if (ux <= 0x3FE921FB) {\\n if (ux < 0x3E500000) { // |x| < 2**-26\\n return x;\\n }\\n return sin_kern(x, 0.0, 0);\\n }\\n\\n // sin(Inf or NaN) is NaN\\n if (ux >= 0x7FF00000) return x - x;\\n\\n // argument reduction needed\\n let n = rempio2(x, u, sign);\\n let y0 = rempio2_y0;\\n let y1 = rempio2_y1;\\n\\n x = n & 1 ? cos_kern(y0, y1) : sin_kern(y0, y1, 1);\\n return n & 2 ? -x : x;\\n }\\n\\n export function sinh(x: f64): f64 { // see: musl/src/math/sinh.c\\n let u = reinterpret(x) & 0x7FFFFFFFFFFFFFFF;\\n let a = reinterpret(u);\\n let w = u32(u >> 32);\\n let h = builtin_copysign(0.5, x);\\n if (w < 0x40862E42) {\\n let t = expm1(a);\\n if (w < 0x3FF00000) {\\n if (w < 0x3FF00000 - (26 << 20)) return x;\\n return h * (2 * t - t * t / (t + 1));\\n }\\n return h * (t + t / (t + 1));\\n }\\n return expo2(a, 2 * h);\\n }\\n\\n // @ts-ignore: decorator\\n @inline\\n export function sqrt(x: f64): f64 {\\n return builtin_sqrt(x);\\n }\\n\\n export function tan(x: f64): f64 { // see: musl/src/math/tan.c\\n let u = reinterpret(x);\\n let ux = u32(u >> 32);\\n let sign = ux >>> 31;\\n\\n ux &= 0x7FFFFFFF;\\n\\n // |x| ~< pi/4\\n if (ux <= 0x3FE921FB) {\\n if (ux < 0x3E400000) { // |x| < 2**-27\\n return x;\\n }\\n return tan_kern(x, 0.0, 1);\\n }\\n\\n // tan(Inf or NaN) is NaN\\n if (ux >= 0x7FF00000) return x - x;\\n\\n let n = rempio2(x, u, sign);\\n return tan_kern(rempio2_y0, rempio2_y1, 1 - ((n & 1) << 1));\\n }\\n\\n export function tanh(x: f64): f64 { // see: musl/src/math/tanh.c\\n let u = reinterpret(x);\\n u &= 0x7FFFFFFFFFFFFFFF;\\n let y = reinterpret(u);\\n let w = u32(u >> 32);\\n let t: f64;\\n if (w > 0x3FE193EA) {\\n if (w > 0x40340000) {\\n t = 1 - 0 / y;\\n } else {\\n t = expm1(2 * y);\\n t = 1 - 2 / (t + 2);\\n }\\n } else if (w > 0x3FD058AE) {\\n t = expm1(2 * y);\\n t = t / (t + 2);\\n } else if (w >= 0x00100000) {\\n t = expm1(-2 * y);\\n t = -t / (t + 2);\\n } else t = y;\\n return builtin_copysign(t, x);\\n }\\n\\n // @ts-ignore: decorator\\n @inline\\n export function trunc(x: f64): f64 {\\n return builtin_trunc(x);\\n }\\n\\n export function scalbn(x: f64, n: i32): f64 { // see: https://git.musl-libc.org/cgit/musl/tree/src/math/scalbn.c\\n const\\n Ox1p53 = reinterpret(0x4340000000000000),\\n Ox1p1023 = reinterpret(0x7FE0000000000000),\\n Ox1p_1022 = reinterpret(0x0010000000000000);\\n\\n let y = x;\\n if (n > 1023) {\\n y *= Ox1p1023;\\n n -= 1023;\\n if (n > 1023) {\\n y *= Ox1p1023;\\n n = builtin_min(n - 1023, 1023);\\n }\\n } else if (n < -1022) {\\n // make sure final n < -53 to avoid double\\n // rounding in the subnormal range\\n y *= Ox1p_1022 * Ox1p53;\\n n += 1022 - 53;\\n if (n < -1022) {\\n y *= Ox1p_1022 * Ox1p53;\\n n = builtin_max(n + 1022 - 53, -1022);\\n }\\n }\\n return y * reinterpret((0x3FF + n) << 52);\\n }\\n\\n export function mod(x: f64, y: f64): f64 { // see: musl/src/math/fmod.c\\n if (builtin_abs(y) == 1.0) {\\n // x % 1, x % -1 ==> sign(x) * abs(x - 1.0 * trunc(x / 1.0))\\n // TODO: move this rule to compiler's optimization pass.\\n // It could be apply for any x % C_pot, where \\\"C_pot\\\" is pow of two const.\\n return builtin_copysign(x - builtin_trunc(x), x);\\n }\\n let ux = reinterpret(x);\\n let uy = reinterpret(y);\\n let ex = i64(ux >> 52 & 0x7FF);\\n let ey = i64(uy >> 52 & 0x7FF);\\n let sx = ux >> 63;\\n let uy1 = uy << 1;\\n if (uy1 == 0 || ex == 0x7FF || isNaN(y)) {\\n let m = x * y;\\n return m / m;\\n }\\n let ux1 = ux << 1;\\n if (ux1 <= uy1) {\\n return x * f64(ux1 != uy1);\\n }\\n if (!ex) {\\n ex -= builtin_clz(ux << 12);\\n ux <<= 1 - ex;\\n } else {\\n ux &= u64(-1) >> 12;\\n ux |= 1 << 52;\\n }\\n if (!ey) {\\n ey -= builtin_clz(uy << 12);\\n uy <<= 1 - ey;\\n } else {\\n uy &= u64(-1) >> 12;\\n uy |= 1 << 52;\\n }\\n while (ex > ey) {\\n if (ux >= uy) {\\n if (ux == uy) return 0 * x;\\n ux -= uy;\\n }\\n ux <<= 1;\\n --ex;\\n }\\n if (ux >= uy) {\\n if (ux == uy) return 0 * x;\\n ux -= uy;\\n }\\n // for (; !(ux >> 52); ux <<= 1) --ex;\\n let shift = builtin_clz(ux << 11);\\n ex -= shift;\\n ux <<= shift;\\n if (ex > 0) {\\n ux -= 1 << 52;\\n ux |= ex << 52;\\n } else {\\n ux >>= -ex + 1;\\n }\\n return reinterpret(ux | (sx << 63));\\n }\\n\\n export function rem(x: f64, y: f64): f64 { // see: musl/src/math/remquo.c\\n let ux = reinterpret(x);\\n let uy = reinterpret(y);\\n let ex = i64(ux >> 52 & 0x7FF);\\n let ey = i64(uy >> 52 & 0x7FF);\\n if (uy << 1 == 0 || ex == 0x7FF || isNaN(y)) {\\n let m = x * y;\\n return m / m;\\n }\\n if (ux << 1 == 0) return x;\\n let uxi = ux;\\n if (!ex) {\\n ex -= builtin_clz(uxi << 12);\\n uxi <<= 1 - ex;\\n } else {\\n uxi &= u64(-1) >> 12;\\n uxi |= 1 << 52;\\n }\\n if (!ey) {\\n ey -= builtin_clz(uy << 12);\\n uy <<= 1 - ey;\\n } else {\\n uy &= u64(-1) >> 12;\\n uy |= 1 << 52;\\n }\\n let q: u32 = 0;\\n do {\\n if (ex < ey) {\\n if (ex + 1 == ey) break; // goto end\\n return x;\\n }\\n while (ex > ey) {\\n if (uxi >= uy) {\\n uxi -= uy;\\n ++q;\\n }\\n uxi <<= 1;\\n q <<= 1;\\n --ex;\\n }\\n if (uxi >= uy) {\\n uxi -= uy;\\n ++q;\\n }\\n if (uxi == 0) ex = -60;\\n else {\\n let shift = builtin_clz(uxi << 11);\\n ex -= shift;\\n uxi <<= shift;\\n }\\n break;\\n } while (false);\\n // end:\\n if (ex > 0) {\\n uxi -= 1 << 52;\\n uxi |= ex << 52;\\n } else {\\n uxi >>= -ex + 1;\\n }\\n x = reinterpret(uxi);\\n y = builtin_abs(y);\\n let x2 = x + x;\\n if (ex == ey || (ex + 1 == ey && (x2 > y || (x2 == y && (q & 1))))) {\\n x -= y;\\n // ++q;\\n }\\n return ux < 0 ? -x : x;\\n }\\n\\n export function sincos(x: f64): void { // see: musl/tree/src/math/sincos.c\\n let u = reinterpret(x);\\n let ux = u32(u >> 32);\\n let sign = ux >> 31;\\n ux &= 0x7FFFFFFF;\\n\\n if (ux <= 0x3FE921FB) { // |x| ~<= \u03C0/4\\n if (ux < 0x3E46A09E) { // if |x| < 2**-27 * sqrt(2)\\n sincos_sin = x;\\n sincos_cos = 1;\\n return;\\n }\\n sincos_sin = sin_kern(x, 0, 0);\\n sincos_cos = cos_kern(x, 0);\\n return;\\n }\\n // sin(Inf or NaN) is NaN\\n if (ux >= 0x7F800000) {\\n let xx = x - x;\\n sincos_sin = xx;\\n sincos_cos = xx;\\n return;\\n }\\n // general argument reduction needed\\n let n = rempio2(x, u, sign);\\n let y0 = rempio2_y0;\\n let y1 = rempio2_y1;\\n let s = sin_kern(y0, y1, 1);\\n let c = cos_kern(y0, y1);\\n let sin = s, cos = c;\\n if (n & 1) {\\n sin = c;\\n cos = -s;\\n }\\n if (n & 2) {\\n sin = -sin;\\n cos = -cos;\\n }\\n sincos_sin = sin;\\n sincos_cos = cos;\\n }\\n}\\n\\n// @ts-ignore: decorator\\n@lazy let rempio2f_y: f64;\\n\\n// @ts-ignore: decorator\\n@lazy @inline const PIO2F_TABLE = memory.data([\\n 0xA2F9836E4E441529,\\n 0xFC2757D1F534DDC0,\\n 0xDB6295993C439041,\\n 0xFE5163ABDEBBC561\\n]);\\n\\nfunction Rf(z: f32): f32 { // Rational approximation of (asin(x)-x)/x^3\\n const // see: musl/src/math/asinf.c and SUN COPYRIGHT NOTICE above\\n pS0 = reinterpret(0x3E2AAA75), // 1.6666586697e-01f\\n pS1 = reinterpret(0xBD2F13BA), // -4.2743422091e-02f\\n pS2 = reinterpret(0xBC0DD36B), // -8.6563630030e-03f\\n qS1 = reinterpret(0xBF34E5AE); // -7.0662963390e-01f\\n\\n let p = z * (pS0 + z * (pS1 + z * pS2));\\n let q: f32 = 1 + z * qS1;\\n return p / q;\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction expo2f(x: f32, sign: f32): f32 { // exp(x)/2 for x >= log(DBL_MAX)\\n const // see: musl/src/math/__expo2f.c\\n k = 235,\\n kln2 = reinterpret(0x4322E3BC); // 0x1.45c778p+7f\\n let scale = reinterpret(u32(0x7F + (k >> 1)) << 23);\\n // in directed rounding correct sign before rounding or overflow is important\\n return NativeMathf.exp(x - kln2) * (sign * scale) * scale;\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction pio2f_large_quot(x: f32, u: i32): i32 { // see: jdh8/metallic/blob/master/src/math/float/rem_pio2f.c\\n const coeff = reinterpret(0x3BF921FB54442D18); // \u03C0 * 0x1p-65 = 8.51530395021638647334e-20\\n\\n let offset = (u >> 23) - 152;\\n let shift = u64(offset & 63);\\n let tblPtr = PIO2F_TABLE + (offset >> 6 << 3);\\n\\n let b0 = load(tblPtr, 0 << 3);\\n let b1 = load(tblPtr, 1 << 3);\\n let lo: u64;\\n\\n if (shift > 32) {\\n let b2 = load(tblPtr, 2 << 3);\\n lo = b2 >> (96 - shift);\\n lo |= b1 << (shift - 32);\\n } else {\\n lo = b1 >> (32 - shift);\\n }\\n\\n let hi = (b1 >> (64 - shift)) | (b0 << shift);\\n let mantissa: u64 = (u & 0x007FFFFF) | 0x00800000;\\n let product = mantissa * hi + (mantissa * lo >> 32);\\n let r: i64 = product << 2;\\n let q = i32((product >> 62) + (r >>> 63));\\n rempio2f_y = copysign(coeff, x) * r;\\n return q;\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction rempio2f(x: f32, u: u32, sign: i32): i32 { // see: jdh8/metallic/blob/master/src/math/float/rem_pio2f.c\\n const\\n pi2hi = reinterpret(0x3FF921FB50000000), // 1.57079631090164184570\\n pi2lo = reinterpret(0x3E5110B4611A6263), // 1.58932547735281966916e-8\\n _2_pi = reinterpret(0x3FE45F306DC9C883); // 0.63661977236758134308\\n\\n if (u < 0x4DC90FDB) { // \u03C0 * 0x1p28\\n let q = nearest(x * _2_pi);\\n rempio2f_y = x - q * pi2hi - q * pi2lo;\\n return q;\\n }\\n\\n let q = pio2f_large_quot(x, u);\\n return select(-q, q, sign);\\n}\\n\\n// |sin(x)/x - s(x)| < 2**-37.5 (~[-4.89e-12, 4.824e-12]).\\n// @ts-ignore: decorator\\n@inline\\nfunction sin_kernf(x: f64): f32 { // see: musl/tree/src/math/__sindf.c\\n const\\n S1 = reinterpret(0xBFC5555554CBAC77), // -0x15555554cbac77.0p-55\\n S2 = reinterpret(0x3F811110896EFBB2), // 0x111110896efbb2.0p-59\\n S3 = reinterpret(0xBF2A00F9E2CAE774), // -0x1a00f9e2cae774.0p-65\\n S4 = reinterpret(0x3EC6CD878C3B46A7); // 0x16cd878c3b46a7.0p-71\\n\\n let z = x * x;\\n let w = z * z;\\n let r = S3 + z * S4;\\n let s = z * x;\\n return f32((x + s * (S1 + z * S2)) + s * w * r);\\n}\\n\\n// |cos(x) - c(x)| < 2**-34.1 (~[-5.37e-11, 5.295e-11]).\\n// @ts-ignore: decorator\\n@inline\\nfunction cos_kernf(x: f64): f32 { // see: musl/tree/src/math/__cosdf.c\\n const\\n C0 = reinterpret(0xBFDFFFFFFD0C5E81), // -0x1ffffffd0c5e81.0p-54\\n C1 = reinterpret(0x3FA55553E1053A42), // 0x155553e1053a42.0p-57\\n C2 = reinterpret(0xBF56C087E80F1E27), // -0x16c087e80f1e27.0p-62\\n C3 = reinterpret(0x3EF99342E0EE5069); // 0x199342e0ee5069.0p-68\\n\\n let z = x * x;\\n let w = z * z;\\n let r = C2 + z * C3;\\n return f32(((1 + z * C0) + w * C1) + (w * z) * r);\\n}\\n\\n// |tan(x)/x - t(x)| < 2**-25.5 (~[-2e-08, 2e-08]).\\n// @ts-ignore: decorator\\n@inline\\nfunction tan_kernf(x: f64, odd: i32): f32 { // see: musl/tree/src/math/__tandf.c\\n const\\n T0 = reinterpret(0x3FD5554D3418C99F), // 0x15554d3418c99f.0p-54\\n T1 = reinterpret(0x3FC112FD38999F72), // 0x1112fd38999f72.0p-55\\n T2 = reinterpret(0x3FAB54C91D865AFE), // 0x1b54c91d865afe.0p-57\\n T3 = reinterpret(0x3F991DF3908C33CE), // 0x191df3908c33ce.0p-58\\n T4 = reinterpret(0x3F685DADFCECF44E), // 0x185dadfcecf44e.0p-61\\n T5 = reinterpret(0x3F8362B9BF971BCD); // 0x1362b9bf971bcd.0p-59\\n\\n let z = x * x;\\n let r = T4 + z * T5;\\n let t = T2 + z * T3;\\n let w = z * z;\\n let s = z * x;\\n let u = T0 + z * T1;\\n\\n r = (x + s * u) + (s * w) * (t + w * r);\\n return f32(odd ? -1 / r : r);\\n}\\n\\n// See: jdh8/metallic/src/math/float/log2f.c and jdh8/metallic/src/math/float/kernel/atanh.h\\n// @ts-ignore: decorator\\n@inline\\nfunction log2f(x: f64): f64 {\\n const\\n log2e = reinterpret(0x3FF71547652B82FE), // 1.44269504088896340736\\n c0 = reinterpret(0x3FD555554FD9CAEF), // 0.33333332822728226129\\n c1 = reinterpret(0x3FC999A7A8AF4132), // 0.20000167595436263505\\n c2 = reinterpret(0x3FC2438D79437030), // 0.14268654271188685375\\n c3 = reinterpret(0x3FBE2F663B001C97); // 0.11791075649681414150\\n\\n let i = reinterpret(x);\\n let exponent = (i - 0x3FE6A09E667F3BCD) >> 52;\\n x = reinterpret(i - (exponent << 52));\\n x = (x - 1) / (x + 1);\\n let xx = x * x;\\n let y = x + x * xx * (c0 + c1 * xx + (c2 + c3 * xx) * (xx * xx));\\n return (2 * log2e) * y + exponent;\\n}\\n\\n// See: jdh8/metallic/src/math/float/exp2f.h and jdh8/metallic/blob/master/src/math/float/kernel/exp2f.h\\n// @ts-ignore: decorator\\n@inline\\nfunction exp2f(x: f64): f64 {\\n const\\n c0 = reinterpret(0x3FE62E4302FCC24A), // 6.931471880289532425e-1\\n c1 = reinterpret(0x3FCEBFBE07D97B91), // 2.402265108421173406e-1\\n c2 = reinterpret(0x3FAC6AF6CCFC1A65), // 5.550357105498874537e-2\\n c3 = reinterpret(0x3F83B29E3CE9AEF6), // 9.618030771171497658e-3\\n c4 = reinterpret(0x3F55F0896145A89F), // 1.339086685300950937e-3\\n c5 = reinterpret(0x3F2446C81E384864); // 1.546973499989028719e-4\\n\\n if (x < -1022) return 0;\\n if (x >= 1024) return Infinity;\\n\\n let n = nearest(x);\\n x -= n;\\n let xx = x * x;\\n let y = 1 + x * (c0 + c1 * x + (c2 + c3 * x) * xx + (c4 + c5 * x) * (xx * xx));\\n return reinterpret(reinterpret(y) + (n << 52));\\n}\\n\\nexport namespace NativeMathf {\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const E = NativeMath.E;\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const LN2 = NativeMath.LN2;\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const LN10 = NativeMath.LN10;\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const LOG2E = NativeMath.LOG2E;\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const LOG10E = NativeMath.LOG10E;\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const PI = NativeMath.PI;\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const SQRT1_2 = NativeMath.SQRT1_2;\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const SQRT2 = NativeMath.SQRT2;\\n\\n // @ts-ignore: decorator\\n @lazy\\n export let sincos_sin: f32 = 0;\\n\\n // @ts-ignore: decorator\\n @lazy\\n export let sincos_cos: f32 = 0;\\n\\n // @ts-ignore: decorator\\n @inline\\n export function abs(x: f32): f32 {\\n return builtin_abs(x);\\n }\\n\\n export function acos(x: f32): f32 { // see: musl/src/math/acosf.c and SUN COPYRIGHT NOTICE above\\n const\\n pio2_hi = reinterpret(0x3FC90FDA), // 1.5707962513e+00f\\n pio2_lo = reinterpret(0x33A22168), // 7.5497894159e-08f\\n Ox1p_120f = reinterpret(0x03800000); // 0x1p-120f\\n\\n let hx = reinterpret(x);\\n let ix = hx & 0x7FFFFFFF;\\n if (ix >= 0x3F800000) {\\n if (ix == 0x3F800000) {\\n return select(2 * pio2_hi + Ox1p_120f, 0, hx < 0);\\n }\\n return 0 / (x - x);\\n }\\n if (ix < 0x3F000000) {\\n if (ix <= 0x32800000) return pio2_hi + Ox1p_120f;\\n return pio2_hi - (x - (pio2_lo - x * Rf(x * x)));\\n }\\n let z: f32, w: f32, s: f32;\\n if (hx < 0) {\\n // z = (1 + x) * 0.5;\\n z = 0.5 + x * 0.5;\\n s = builtin_sqrt(z);\\n w = Rf(z) * s - pio2_lo;\\n return 2 * (pio2_hi - (s + w));\\n }\\n // z = (1 - x) * 0.5;\\n z = 0.5 - x * 0.5;\\n s = builtin_sqrt(z);\\n hx = reinterpret(s);\\n let df = reinterpret(hx & 0xFFFFF000);\\n let c = (z - df * df) / (s + df);\\n w = Rf(z) * s + c;\\n return 2 * (df + w);\\n }\\n\\n export function acosh(x: f32): f32 { // see: musl/src/math/acoshf.c\\n const s = reinterpret(0x3F317218); // 0.693147180559945309417232121458176568f\\n let u = reinterpret(x);\\n let a = u & 0x7FFFFFFF;\\n if (a < 0x3F800000 + (1 << 23)) { // |x| < 2, invalid if x < 1\\n let xm1 = x - 1;\\n return log1p(xm1 + builtin_sqrt(xm1 * (xm1 + 2)));\\n }\\n if (u < 0x3F800000 + (12 << 23)) { // 2 <= x < 0x1p12\\n return log(2 * x - 1 / (x + builtin_sqrt(x * x - 1)));\\n }\\n // x >= 0x1p12 or x <= -2 or NaN\\n return log(x) + s;\\n }\\n\\n export function asin(x: f32): f32 { // see: musl/src/math/asinf.c and SUN COPYRIGHT NOTICE above\\n const\\n pio2 = reinterpret(0x3FC90FDB), // 1.570796326794896558e+00f\\n Ox1p_120f = reinterpret(0x03800000); // 0x1p-120f\\n\\n let sx = x;\\n let hx = reinterpret(x) & 0x7FFFFFFF;\\n if (hx >= 0x3F800000) {\\n if (hx == 0x3F800000) return x * pio2 + Ox1p_120f;\\n return 0 / (x - x);\\n }\\n if (hx < 0x3F000000) {\\n if (hx < 0x39800000 && hx >= 0x00800000) return x;\\n return x + x * Rf(x * x);\\n }\\n // let z: f32 = (1 - builtin_abs(x)) * 0.5;\\n let z: f32 = 0.5 - builtin_abs(x) * 0.5;\\n let s = builtin_sqrt(z); // sic\\n x = f32(pio2 - 2 * (s + s * Rf(z)));\\n return builtin_copysign(x, sx);\\n }\\n\\n export function asinh(x: f32): f32 { // see: musl/src/math/asinhf.c\\n const c = reinterpret(0x3F317218); // 0.693147180559945309417232121458176568f\\n let u = reinterpret(x) & 0x7FFFFFFF;\\n let y = reinterpret(u);\\n if (u >= 0x3F800000 + (12 << 23)) y = log(y) + c;\\n else if (u >= 0x3F800000 + (1 << 23)) y = log(2 * y + 1 / (builtin_sqrt(y * y + 1) + y));\\n else if (u >= 0x3F800000 - (12 << 23)) y = log1p(y + y * y / (builtin_sqrt(y * y + 1) + 1));\\n return builtin_copysign(y, x);\\n }\\n\\n export function atan(x: f32): f32 { // see: musl/src/math/atanf.c and SUN COPYRIGHT NOTICE above\\n const\\n atanhi0 = reinterpret(0x3EED6338), // 4.6364760399e-01f\\n atanhi1 = reinterpret(0x3F490FDA), // 7.8539812565e-01f\\n atanhi2 = reinterpret(0x3F7B985E), // 9.8279368877e-01f\\n atanhi3 = reinterpret(0x3FC90FDA), // 1.5707962513e+00f\\n atanlo0 = reinterpret(0x31AC3769), // 5.0121582440e-09f\\n atanlo1 = reinterpret(0x33222168), // 3.7748947079e-08f\\n atanlo2 = reinterpret(0x33140FB4), // 3.4473217170e-08f\\n atanlo3 = reinterpret(0x33A22168), // 7.5497894159e-08f\\n aT0 = reinterpret(0x3EAAAAA9), // 3.3333328366e-01f\\n aT1 = reinterpret(0xBE4CCA98), // -1.9999158382e-01f\\n aT2 = reinterpret(0x3E11F50D), // 1.4253635705e-01f\\n aT3 = reinterpret(0xBDDA1247), // -1.0648017377e-01f\\n aT4 = reinterpret(0x3D7CAC25), // 6.1687607318e-02f\\n Ox1p_120f = reinterpret(0x03800000); // 0x1p-120f\\n\\n let ix = reinterpret(x);\\n let sx = x;\\n ix &= 0x7FFFFFFF;\\n let z: f32;\\n if (ix >= 0x4C800000) {\\n if (isNaN(x)) return x;\\n z = atanhi3 + Ox1p_120f;\\n return builtin_copysign(z, sx);\\n }\\n let id: i32;\\n if (ix < 0x3EE00000) {\\n if (ix < 0x39800000) return x;\\n id = -1;\\n } else {\\n x = builtin_abs(x);\\n if (ix < 0x3F980000) {\\n if (ix < 0x3F300000) {\\n id = 0;\\n x = (2.0 * x - 1.0) / (2.0 + x);\\n } else {\\n id = 1;\\n x = (x - 1.0) / (x + 1.0);\\n }\\n } else {\\n if (ix < 0x401C0000) {\\n id = 2;\\n x = (x - 1.5) / (1.0 + 1.5 * x);\\n } else {\\n id = 3;\\n x = -1.0 / x;\\n }\\n }\\n }\\n z = x * x;\\n let w = z * z;\\n let s1 = z * (aT0 + w * (aT2 + w * aT4));\\n let s2 = w * (aT1 + w * aT3);\\n let s3 = x * (s1 + s2);\\n if (id < 0) return x - s3;\\n switch (id) {\\n case 0: { z = atanhi0 - ((s3 - atanlo0) - x); break; }\\n case 1: { z = atanhi1 - ((s3 - atanlo1) - x); break; }\\n case 2: { z = atanhi2 - ((s3 - atanlo2) - x); break; }\\n case 3: { z = atanhi3 - ((s3 - atanlo3) - x); break; }\\n default: unreachable();\\n }\\n return builtin_copysign(z, sx);\\n }\\n\\n export function atanh(x: f32): f32 { // see: musl/src/math/atanhf.c\\n let u = reinterpret(x);\\n let y = builtin_abs(x);\\n if (u < 0x3F800000 - (1 << 23)) {\\n if (u >= 0x3F800000 - (32 << 23)) y = 0.5 * log1p(2 * y * (1.0 + y / (1 - y)));\\n } else y = 0.5 * log1p(2 * (y / (1 - y)));\\n return builtin_copysign(y, x);\\n }\\n\\n export function atan2(y: f32, x: f32): f32 { // see: musl/src/math/atan2f.c and SUN COPYRIGHT NOTICE above\\n const\\n pi = reinterpret(0x40490FDB), // 3.1415927410e+00f\\n pi_lo = reinterpret(0xB3BBBD2E); // -8.7422776573e-08f\\n\\n if (isNaN(x) || isNaN(y)) return x + y;\\n let ix = reinterpret(x);\\n let iy = reinterpret(y);\\n if (ix == 0x3F800000) return atan(y);\\n let m = u32(((iy >> 31) & 1) | ((ix >> 30) & 2));\\n ix &= 0x7FFFFFFF;\\n iy &= 0x7FFFFFFF;\\n if (iy == 0) {\\n switch (m) {\\n case 0:\\n case 1: return y;\\n case 2: return pi;\\n case 3: return -pi;\\n }\\n }\\n if (ix == 0) return m & 1 ? -pi / 2 : pi / 2;\\n if (ix == 0x7F800000) {\\n if (iy == 0x7F800000) {\\n let t: f32 = m & 2 ? 3 * pi / 4 : pi / 4;\\n return m & 1 ? -t : t;\\n } else {\\n let t: f32 = m & 2 ? pi : 0.0;\\n return m & 1 ? -t : t;\\n }\\n }\\n if (ix + (26 << 23) < iy || iy == 0x7F800000) return m & 1 ? -pi / 2 : pi / 2;\\n let z: f32;\\n if ((m & 2) && iy + (26 << 23) < ix) z = 0.0;\\n else z = atan(builtin_abs(y / x));\\n switch (m) {\\n case 0: return z;\\n case 1: return -z;\\n case 2: return pi - (z - pi_lo);\\n case 3: return (z - pi_lo) - pi;\\n }\\n unreachable();\\n return 0;\\n }\\n\\n export function cbrt(x: f32): f32 { // see: musl/src/math/cbrtf.c and SUN COPYRIGHT NOTICE above\\n const\\n B1 = 709958130,\\n B2 = 642849266,\\n Ox1p24f = reinterpret(0x4B800000);\\n\\n let u = reinterpret(x);\\n let hx = u & 0x7FFFFFFF;\\n if (hx >= 0x7F800000) return x + x;\\n if (hx < 0x00800000) {\\n if (hx == 0) return x;\\n u = reinterpret(x * Ox1p24f);\\n hx = u & 0x7FFFFFFF;\\n hx = hx / 3 + B2;\\n } else {\\n hx = hx / 3 + B1;\\n }\\n u &= 0x80000000;\\n u |= hx;\\n let t = reinterpret(u);\\n let r = t * t * t;\\n t = t * (x + x + r) / (x + r + r);\\n r = t * t * t;\\n t = t * (x + x + r) / (x + r + r);\\n return t;\\n }\\n\\n // @ts-ignore: decorator\\n @inline\\n export function ceil(x: f32): f32 {\\n return builtin_ceil(x);\\n }\\n\\n export function clz32(x: f32): f32 {\\n if (!isFinite(x)) return 32;\\n return builtin_clz(dtoi32(x));\\n }\\n\\n export function cos(x: f32): f32 { // see: musl/src/math/cosf.c\\n const\\n c1pio2 = reinterpret(0x3FF921FB54442D18), // M_PI_2 * 1\\n c2pio2 = reinterpret(0x400921FB54442D18), // M_PI_2 * 2\\n c3pio2 = reinterpret(0x4012D97C7F3321D2), // M_PI_2 * 3\\n c4pio2 = reinterpret(0x401921FB54442D18); // M_PI_2 * 4\\n\\n let ux = reinterpret(x);\\n let sign = ux >> 31;\\n ux &= 0x7FFFFFFF;\\n\\n if (ux <= 0x3F490FDA) { // |x| ~<= \u03C0/4\\n if (ux < 0x39800000) { // |x| < 2**-12\\n // raise inexact if x != 0\\n return 1;\\n }\\n return cos_kernf(x);\\n }\\n\\n if (ASC_SHRINK_LEVEL < 1) {\\n if (ux <= 0x407B53D1) { // |x| ~<= 5\u03C0/4\\n if (ux > 0x4016CBE3) { // |x| ~> 3\u03C0/4\\n return -cos_kernf(sign ? x + c2pio2 : x - c2pio2);\\n } else {\\n return sign ? sin_kernf(x + c1pio2) : sin_kernf(c1pio2 - x);\\n }\\n }\\n if (ux <= 0x40E231D5) { // |x| ~<= 9\u03C0/4\\n if (ux > 0x40AFEDDF) { // |x| ~> 7\u03C0/4\\n return cos_kernf(sign ? x + c4pio2 : x - c4pio2);\\n } else {\\n return sign ? sin_kernf(-x - c3pio2) : sin_kernf(x - c3pio2);\\n }\\n }\\n }\\n\\n // cos(Inf or NaN) is NaN\\n if (ux >= 0x7F800000) return x - x;\\n\\n // general argument reduction needed\\n let n = rempio2f(x, ux, sign);\\n let y = rempio2f_y;\\n\\n let t = n & 1 ? sin_kernf(y) : cos_kernf(y);\\n return (n + 1) & 2 ? -t : t;\\n }\\n\\n export function cosh(x: f32): f32 { // see: musl/src/math/coshf.c\\n let u = reinterpret(x);\\n u &= 0x7FFFFFFF;\\n x = reinterpret(u);\\n if (u < 0x3F317217) {\\n if (u < 0x3F800000 - (12 << 23)) return 1;\\n let t = expm1(x);\\n // return 1 + t * t / (2 * (1 + t));\\n return 1 + t * t / (2 + 2 * t);\\n }\\n if (u < 0x42B17217) {\\n let t = exp(x);\\n // return 0.5 * (t + 1 / t);\\n return 0.5 * t + 0.5 / t;\\n }\\n return expo2f(x, 1);\\n }\\n\\n // @ts-ignore: decorator\\n @inline\\n export function floor(x: f32): f32 {\\n return builtin_floor(x);\\n }\\n\\n export function exp(x: f32): f32 { // see: musl/src/math/expf.c and SUN COPYRIGHT NOTICE above\\n if (ASC_SHRINK_LEVEL < 1) {\\n return expf_lut(x);\\n } else {\\n const\\n ln2hi = reinterpret(0x3F317200), // 6.9314575195e-1f\\n ln2lo = reinterpret(0x35BFBE8E), // 1.4286067653e-6f\\n invln2 = reinterpret(0x3FB8AA3B), // 1.4426950216e+0f\\n P1 = reinterpret(0x3E2AAA8F), // 1.6666625440e-1f\\n P2 = reinterpret(0xBB355215), // -2.7667332906e-3f\\n Ox1p127f = reinterpret(0x7F000000); // 0x1p+127f\\n\\n let hx = reinterpret(x);\\n let sign = hx >> 31;\\n hx &= 0x7FFFFFFF;\\n if (hx >= 0x42AEAC50) {\\n if (hx > 0x7F800000) return x; // NaN\\n if (hx >= 0x42B17218) {\\n if (!sign) return x * Ox1p127f;\\n else if (hx >= 0x42CFF1B5) return 0;\\n }\\n }\\n let hi: f32, lo: f32;\\n let k: i32;\\n if (hx > 0x3EB17218) {\\n if (hx > 0x3F851592) {\\n k = i32(invln2 * x + builtin_copysign(0.5, x));\\n } else {\\n k = 1 - (sign << 1);\\n }\\n hi = x - k * ln2hi;\\n lo = k * ln2lo;\\n x = hi - lo;\\n } else if (hx > 0x39000000) {\\n k = 0;\\n hi = x;\\n lo = 0;\\n } else {\\n return 1 + x;\\n }\\n let xx = x * x;\\n let c = x - xx * (P1 + xx * P2);\\n let y: f32 = 1 + (x * c / (2 - c) - lo + hi);\\n return k == 0 ? y : scalbn(y, k);\\n }\\n }\\n\\n export function exp2(x: f32): f32 {\\n return exp2f_lut(x);\\n }\\n\\n export function expm1(x: f32): f32 { // see: musl/src/math/expm1f.c and SUN COPYRIGHT NOTICE above\\n const\\n ln2_hi = reinterpret(0x3F317180), // 6.9313812256e-01f\\n ln2_lo = reinterpret(0x3717F7D1), // 9.0580006145e-06f\\n invln2 = reinterpret(0x3FB8AA3B), // 1.4426950216e+00f\\n Q1 = reinterpret(0xBD088868), // -3.3333212137e-02f\\n Q2 = reinterpret(0x3ACF3010), // 1.5807170421e-03f\\n Ox1p127f = reinterpret(0x7F000000); // 0x1p+127f\\n\\n let u = reinterpret(x);\\n let hx = u & 0x7FFFFFFF;\\n let sign = u >> 31;\\n if (hx >= 0x4195B844) {\\n if (hx > 0x7F800000) return x;\\n if (sign) return -1;\\n if (hx > 0x42B17217) { // x > log(FLT_MAX)\\n x *= Ox1p127f;\\n return x;\\n }\\n }\\n let c: f32 = 0.0, t: f32, k: i32;\\n if (hx > 0x3EB17218) {\\n k = select(\\n 1 - (sign << 1),\\n i32(invln2 * x + builtin_copysign(0.5, x)),\\n hx < 0x3F851592\\n );\\n t = k;\\n let hi = x - t * ln2_hi;\\n let lo = t * ln2_lo;\\n x = hi - lo;\\n c = (hi - x) - lo;\\n } else if (hx < 0x33000000) {\\n return x;\\n } else k = 0;\\n let hfx: f32 = 0.5 * x;\\n let hxs: f32 = x * hfx;\\n let r1: f32 = 1.0 + hxs * (Q1 + hxs * Q2);\\n t = 3.0 - r1 * hfx;\\n let e = hxs * ((r1 - t) / (6.0 - x * t));\\n if (k == 0) return x - (x * e - hxs);\\n e = x * (e - c) - c;\\n e -= hxs;\\n if (k == -1) return 0.5 * (x - e) - 0.5;\\n if (k == 1) {\\n if (x < -0.25) return -2.0 * (e - (x + 0.5));\\n return 1.0 + 2.0 * (x - e);\\n }\\n u = (0x7F + k) << 23;\\n let twopk = reinterpret(u);\\n let y: f32;\\n if (k < 0 || k > 56) {\\n y = x - e + 1.0;\\n if (k == 128) y = y * 2.0 * Ox1p127f;\\n else y = y * twopk;\\n return y - 1.0;\\n }\\n u = (0x7F - k) << 23;\\n y = reinterpret(u);\\n if (k < 20) y = (1 - y) - e;\\n else y = 1 - (e + y);\\n return (x + y) * twopk;\\n }\\n\\n // @ts-ignore: decorator\\n @inline\\n export function fround(x: f32): f32 {\\n return x;\\n }\\n\\n export function hypot(x: f32, y: f32): f32 { // see: musl/src/math/hypotf.c\\n const\\n Ox1p90f = reinterpret(0x6C800000),\\n Ox1p_90f = reinterpret(0x12800000);\\n\\n let ux = reinterpret(x);\\n let uy = reinterpret(y);\\n ux &= 0x7FFFFFFF;\\n uy &= 0x7FFFFFFF;\\n if (ux < uy) {\\n let ut = ux;\\n ux = uy;\\n uy = ut;\\n }\\n x = reinterpret(ux);\\n y = reinterpret(uy);\\n if (uy == 0xFF << 23) return y;\\n if (ux >= 0xFF << 23 || uy == 0 || ux - uy >= 25 << 23) return x + y;\\n let z: f32 = 1;\\n if (ux >= (0x7F + 60) << 23) {\\n z = Ox1p90f;\\n x *= Ox1p_90f;\\n y *= Ox1p_90f;\\n } else if (uy < (0x7F - 60) << 23) {\\n z = Ox1p_90f;\\n x *= Ox1p90f;\\n y *= Ox1p90f;\\n }\\n return z * builtin_sqrt(f32(x * x + y * y));\\n }\\n\\n // @ts-ignore: decorator\\n @inline\\n export function imul(x: f32, y: f32): f32 {\\n /*\\n * Wasm (MVP) and JS have different approaches for double->int conversions.\\n *\\n * For emulate JS conversion behavior and avoid trapping from wasm we should modulate by MAX_INT\\n * our float-point arguments before actual convertion to integers.\\n */\\n if (!isFinite(x + y)) return 0;\\n return (dtoi32(x) * dtoi32(y));\\n }\\n\\n export function log(x: f32): f32 { // see: musl/src/math/logf.c and SUN COPYRIGHT NOTICE above\\n if (ASC_SHRINK_LEVEL < 1) {\\n return logf_lut(x);\\n } else {\\n const\\n ln2_hi = reinterpret(0x3F317180), // 6.9313812256e-01f\\n ln2_lo = reinterpret(0x3717F7D1), // 9.0580006145e-06f\\n Lg1 = reinterpret(0x3F2AAAAA), // 0xaaaaaa.0p-24f\\n Lg2 = reinterpret(0x3ECCCE13), // 0xccce13.0p-25f\\n Lg3 = reinterpret(0x3E91E9EE), // 0x91e9ee.0p-25f\\n Lg4 = reinterpret(0x3E789E26), // 0xf89e26.0p-26f\\n Ox1p25f = reinterpret(0x4C000000);\\n\\n let u = reinterpret(x);\\n let k = 0;\\n let sign = u >> 31;\\n if (sign || u < 0x00800000) {\\n if (u << 1 == 0) return -1 / (x * x);\\n if (sign) return (x - x) / 0;\\n k -= 25;\\n x *= Ox1p25f;\\n u = reinterpret(x);\\n } else if (u >= 0x7F800000) {\\n return x;\\n } else if (u == 0x3F800000) {\\n return 0;\\n }\\n u += 0x3F800000 - 0x3F3504F3;\\n k += i32(u >> 23) - 0x7F;\\n u = (u & 0x007FFFFF) + 0x3F3504F3;\\n x = reinterpret(u);\\n let f = x - 1.0;\\n let s = f / (2.0 + f);\\n let z = s * s;\\n let w = z * z;\\n let t1 = w * (Lg2 + w * Lg4);\\n let t2 = z * (Lg1 + w * Lg3);\\n let r = t2 + t1;\\n let hfsq = 0.5 * f * f;\\n let dk = k;\\n return s * (hfsq + r) + dk * ln2_lo - hfsq + f + dk * ln2_hi;\\n }\\n }\\n\\n export function log10(x: f32): f32 { // see: musl/src/math/log10f.c and SUN COPYRIGHT NOTICE above\\n const\\n ivln10hi = reinterpret(0x3EDE6000), // 4.3432617188e-01f\\n ivln10lo = reinterpret(0xB804EAD9), // -3.1689971365e-05f\\n log10_2hi = reinterpret(0x3E9A2080), // 3.0102920532e-01f\\n log10_2lo = reinterpret(0x355427DB), // 7.9034151668e-07f\\n Lg1 = reinterpret(0x3F2AAAAA), // 0xaaaaaa.0p-24f, 0.66666662693f\\n Lg2 = reinterpret(0x3ECCCE13), // 0xccce13.0p-25f, 0.40000972152f\\n Lg3 = reinterpret(0x3E91E9EE), // 0x91e9ee.0p-25f, 0.28498786688f\\n Lg4 = reinterpret(0x3E789E26), // 0xf89e26.0p-26f, 0.24279078841f\\n Ox1p25f = reinterpret(0x4C000000); // 0x1p25f\\n\\n let ux = reinterpret(x);\\n let k = 0;\\n let sign = ux >> 31;\\n if (sign || ux < 0x00800000) {\\n if (ux << 1 == 0) return -1 / (x * x);\\n if (sign) return (x - x) / 0.0;\\n k -= 25;\\n x *= Ox1p25f;\\n ux = reinterpret(x);\\n } else if (ux >= 0x7F800000) {\\n return x;\\n } else if (ux == 0x3F800000) {\\n return 0;\\n }\\n ux += 0x3F800000 - 0x3F3504F3;\\n k += i32(ux >> 23) - 0x7F;\\n ux = (ux & 0x007FFFFF) + 0x3F3504F3;\\n x = reinterpret(ux);\\n let f = x - 1.0;\\n let s = f / (2.0 + f);\\n let z = s * s;\\n let w = z * z;\\n let t1 = w * (Lg2 + w * Lg4);\\n let t2 = z * (Lg1 + w * Lg3);\\n let r = t2 + t1;\\n let hfsq: f32 = 0.5 * f * f;\\n let hi = f - hfsq;\\n ux = reinterpret(hi);\\n ux &= 0xFFFFF000;\\n hi = reinterpret(ux);\\n let lo = f - hi - hfsq + s * (hfsq + r);\\n let dk = k;\\n return dk * log10_2lo + (lo + hi) * ivln10lo + lo * ivln10hi + hi * ivln10hi + dk * log10_2hi;\\n }\\n\\n export function log1p(x: f32): f32 { // see: musl/src/math/log1pf.c and SUN COPYRIGHT NOTICE above\\n const\\n ln2_hi = reinterpret(0x3F317180), // 6.9313812256e-01\\n ln2_lo = reinterpret(0x3717F7D1), // 9.0580006145e-06\\n Lg1 = reinterpret(0x3F2AAAAA), // 0xaaaaaa.0p-24f, 0.66666662693f\\n Lg2 = reinterpret(0x3ECCCE13), // 0xccce13.0p-25f, 0.40000972152f\\n Lg3 = reinterpret(0x3E91E9EE), // 0x91e9ee.0p-25f, 0.28498786688f\\n Lg4 = reinterpret(0x3E789E26); // 0xf89e26.0p-26f, 0.24279078841f\\n\\n let ix = reinterpret(x);\\n let c: f32 = 0;\\n let f: f32 = 0;\\n let k = 1;\\n if (ix < 0x3ED413D0 || bool(ix >> 31)) {\\n if (ix >= 0xBF800000) {\\n if (x == -1) return x / 0.0;\\n return (x - x) / 0.0;\\n }\\n if (ix << 1 < 0x33800000 << 1) return x;\\n if (ix <= 0xBE95F619) {\\n k = 0;\\n c = 0;\\n f = x;\\n }\\n } else if (ix >= 0x7F800000) return x;\\n if (k) {\\n let uf: f32 = 1 + x;\\n let iu = reinterpret(uf);\\n iu += 0x3F800000 - 0x3F3504F3;\\n k = i32(iu >> 23) - 0x7F;\\n if (k < 25) {\\n c = k >= 2 ? 1 - (uf - x) : x - (uf - 1);\\n c /= uf;\\n } else c = 0;\\n iu = (iu & 0x007FFFFF) + 0x3F3504F3;\\n f = reinterpret(iu) - 1;\\n }\\n let s = f / (2.0 + f);\\n let z = s * s;\\n let w = z * z;\\n let t1 = w * (Lg2 + w * Lg4);\\n let t2 = z * (Lg1 + w * Lg3);\\n let r = t2 + t1;\\n let hfsq: f32 = 0.5 * f * f;\\n let dk = k;\\n return s * (hfsq + r) + (dk * ln2_lo + c) - hfsq + f + dk * ln2_hi;\\n }\\n\\n export function log2(x: f32): f32 { // see: musl/src/math/log2f.c and SUN COPYRIGHT NOTICE above\\n if (ASC_SHRINK_LEVEL < 1) {\\n return log2f_lut(x);\\n } else {\\n const\\n ivln2hi = reinterpret(0x3FB8B000), // 1.4428710938e+00f\\n ivln2lo = reinterpret(0xB9389AD4), // -1.7605285393e-04\\n Lg1 = reinterpret(0x3F2AAAAA), // 0xaaaaaa.0p-24f, 0.66666662693f\\n Lg2 = reinterpret(0x3ECCCE13), // 0xccce13.0p-25f, 0.40000972152f\\n Lg3 = reinterpret(0x3E91E9EE), // 0x91e9ee.0p-25f, 0.28498786688f\\n Lg4 = reinterpret(0x3E789E26), // 0xf89e26.0p-26f, 0.24279078841f\\n Ox1p25f = reinterpret(0x4C000000); // 0x1p25f\\n\\n let ux = reinterpret(x);\\n let k = 0;\\n let sign = ux >> 31;\\n if (sign || ux < 0x00800000) {\\n if (ux << 1 == 0) return -1 / (x * x);\\n if (sign) return (x - x) / 0.0;\\n k -= 25;\\n x *= Ox1p25f;\\n ux = reinterpret(x);\\n } else if (ux >= 0x7F800000) {\\n return x;\\n } else if (ux == 0x3F800000) {\\n return 0;\\n }\\n ux += 0x3F800000 - 0x3F3504F3;\\n k += i32(ux >> 23) - 0x7F;\\n ux = (ux & 0x007FFFFF) + 0x3F3504F3;\\n x = reinterpret(ux);\\n let f = x - 1.0;\\n let s = f / (2.0 + f);\\n let z = s * s;\\n let w = z * z;\\n let t1 = w * (Lg2 + w * Lg4);\\n let t2 = z * (Lg1 + w * Lg3);\\n let r = t2 + t1;\\n let hfsq: f32 = 0.5 * f * f;\\n let hi = f - hfsq;\\n let u = reinterpret(hi);\\n u &= 0xFFFFF000;\\n hi = reinterpret(u);\\n let lo: f32 = f - hi - hfsq + s * (hfsq + r);\\n let dk = k;\\n return (lo + hi) * ivln2lo + lo * ivln2hi + hi * ivln2hi + dk;\\n }\\n }\\n\\n // @ts-ignore: decorator\\n @inline\\n export function max(value1: f32, value2: f32): f32 {\\n return builtin_max(value1, value2);\\n }\\n\\n // @ts-ignore: decorator\\n @inline\\n export function min(value1: f32, value2: f32): f32 {\\n return builtin_min(value1, value2);\\n }\\n\\n export function pow(x: f32, y: f32): f32 {\\n // TODO: remove this fast pathes after introduced own mid-end IR with \\\"stdlib call simplify\\\" transforms\\n if (builtin_abs(y) <= 2) {\\n if (y == 2.0) return x * x;\\n if (y == 0.5) {\\n return select(\\n builtin_abs(builtin_sqrt(x)),\\n Infinity,\\n x != -Infinity\\n );\\n }\\n if (y == -1.0) return 1 / x;\\n if (y == 1.0) return x;\\n if (y == 0.0) return 1.0;\\n }\\n if (ASC_SHRINK_LEVEL < 1) {\\n // see: musl/src/math/powf.c\\n return powf_lut(x, y);\\n } else {\\n // based on: jdh8/metallic/src/math/float/powf.c\\n if (y == 0) return 1;\\n // @ts-ignore: cast\\n if (isNaN(x) | isNaN(y)) {\\n return NaN;\\n }\\n let sign: u32 = 0;\\n let uy = reinterpret(y);\\n let ux = reinterpret(x);\\n let sx = ux >> 31;\\n ux &= 0x7FFFFFFF;\\n if (sx && nearest(y) == y) {\\n x = -x;\\n sx = 0;\\n sign = u32(nearest(y * 0.5) != y * 0.5) << 31;\\n }\\n let m: u32;\\n if (ux == 0x3F800000) { // x == 1\\n m = sx | u32((uy & 0x7FFFFFFF) == 0x7F800000) ? 0x7FC00000 : 0x3F800000;\\n } else if (ux == 0) {\\n m = uy < 0 ? 0x7F800000 : 0;\\n } else if (ux == 0x7F800000) {\\n m = uy < 0 ? 0 : 0x7F800000;\\n } else if (sx) {\\n m = 0x7FC00000;\\n } else {\\n m = reinterpret(exp2f(y * log2f(x)));\\n }\\n return reinterpret(m | sign);\\n }\\n }\\n\\n // @ts-ignore: decorator\\n @inline\\n export function seedRandom(value: i64): void {\\n NativeMath.seedRandom(value);\\n }\\n\\n // Using xoroshiro64starstar from http://xoshiro.di.unimi.it/xoroshiro64starstar.c\\n export function random(): f32 {\\n if (!random_seeded) seedRandom(reinterpret(seed()));\\n\\n let s0 = random_state0_32;\\n let s1 = random_state1_32;\\n let r = rotl(s0 * 0x9E3779BB, 5) * 5;\\n\\n s1 ^= s0;\\n random_state0_32 = rotl(s0, 26) ^ s1 ^ (s1 << 9);\\n random_state1_32 = rotl(s1, 13);\\n\\n return reinterpret((r >> 9) | (127 << 23)) - 1.0;\\n }\\n\\n export function round(x: f32): f32 {\\n if (ASC_SHRINK_LEVEL > 0) {\\n return builtin_ceil(x) - f32(builtin_ceil(x) - 0.5 > x);\\n } else {\\n let roundUp = builtin_ceil(x);\\n return select(roundUp, roundUp - 1.0, roundUp - 0.5 <= x);\\n }\\n }\\n\\n export function sign(x: f32): f32 {\\n if (ASC_SHRINK_LEVEL > 0) {\\n return select(builtin_copysign(1, x), x, builtin_abs(x) > 0);\\n } else {\\n return select(1, select(-1, x, x < 0), x > 0);\\n }\\n }\\n\\n // @ts-ignore: decorator\\n @inline\\n export function signbit(x: f32): bool {\\n return (reinterpret(x) >>> 31);\\n }\\n\\n export function sin(x: f32): f32 { // see: musl/src/math/sinf.c\\n const\\n s1pio2 = reinterpret(0x3FF921FB54442D18), // M_PI_2 * 1\\n s2pio2 = reinterpret(0x400921FB54442D18), // M_PI_2 * 2\\n s3pio2 = reinterpret(0x4012D97C7F3321D2), // M_PI_2 * 3\\n s4pio2 = reinterpret(0x401921FB54442D18); // M_PI_2 * 4\\n\\n let ux = reinterpret(x);\\n let sign = ux >> 31;\\n ux &= 0x7FFFFFFF;\\n\\n if (ux <= 0x3F490FDA) { // |x| ~<= \u03C0/4\\n if (ux < 0x39800000) { // |x| < 2**-12\\n return x;\\n }\\n return sin_kernf(x);\\n }\\n\\n if (ASC_SHRINK_LEVEL < 1) {\\n if (ux <= 0x407B53D1) { // |x| ~<= 5\u03C0/4\\n if (ux <= 0x4016CBE3) { // |x| ~<= 3\u03C0/4\\n return sign ? -cos_kernf(x + s1pio2) : cos_kernf(x - s1pio2);\\n }\\n return sin_kernf(-(sign ? x + s2pio2 : x - s2pio2));\\n }\\n\\n if (ux <= 0x40E231D5) { // |x| ~<= 9\u03C0/4\\n if (ux <= 0x40AFEDDF) { // |x| ~<= 7\u03C0/4\\n return sign ? cos_kernf(x + s3pio2) : -cos_kernf(x - s3pio2);\\n }\\n return sin_kernf(sign ? x + s4pio2 : x - s4pio2);\\n }\\n }\\n\\n // sin(Inf or NaN) is NaN\\n if (ux >= 0x7F800000) return x - x;\\n\\n let n = rempio2f(x, ux, sign);\\n let y = rempio2f_y;\\n\\n let t = n & 1 ? cos_kernf(y) : sin_kernf(y);\\n return n & 2 ? -t : t;\\n }\\n\\n export function sinh(x: f32): f32 { // see: musl/src/math/sinhf.c\\n let u = reinterpret(x) & 0x7FFFFFFF;\\n let a = reinterpret(u);\\n let h = builtin_copysign(0.5, x);\\n if (u < 0x42B17217) {\\n let t = expm1(a);\\n if (u < 0x3F800000) {\\n if (u < 0x3F800000 - (12 << 23)) return x;\\n return h * (2 * t - t * t / (t + 1));\\n }\\n return h * (t + t / (t + 1));\\n }\\n return expo2f(a, 2 * h);\\n }\\n\\n // @ts-ignore: decorator\\n @inline\\n export function sqrt(x: f32): f32 {\\n return builtin_sqrt(x);\\n }\\n\\n export function tan(x: f32): f32 { // see: musl/src/math/tanf.c\\n const\\n t1pio2 = reinterpret(0x3FF921FB54442D18), // 1 * M_PI_2\\n t2pio2 = reinterpret(0x400921FB54442D18), // 2 * M_PI_2\\n t3pio2 = reinterpret(0x4012D97C7F3321D2), // 3 * M_PI_2\\n t4pio2 = reinterpret(0x401921FB54442D18); // 4 * M_PI_2\\n\\n let ux = reinterpret(x);\\n let sign = ux >> 31;\\n ux &= 0x7FFFFFFF;\\n\\n if (ux <= 0x3F490FDA) { // |x| ~<= \u03C0/4\\n if (ux < 0x39800000) { // |x| < 2**-12\\n return x;\\n }\\n return tan_kernf(x, 0);\\n }\\n\\n if (ASC_SHRINK_LEVEL < 1) {\\n if (ux <= 0x407B53D1) { // |x| ~<= 5\u03C0/4\\n if (ux <= 0x4016CBE3) { // |x| ~<= 3\u03C0/4\\n return tan_kernf((sign ? x + t1pio2 : x - t1pio2), 1);\\n } else {\\n return tan_kernf((sign ? x + t2pio2 : x - t2pio2), 0);\\n }\\n }\\n if (ux <= 0x40E231D5) { // |x| ~<= 9\u03C0/4\\n if (ux <= 0x40AFEDDF) { // |x| ~<= 7\u03C0/4\\n return tan_kernf((sign ? x + t3pio2 : x - t3pio2), 1);\\n } else {\\n return tan_kernf((sign ? x + t4pio2 : x - t4pio2), 0);\\n }\\n }\\n }\\n\\n // tan(Inf or NaN) is NaN\\n if (ux >= 0x7F800000) return x - x;\\n\\n // argument reduction\\n let n = rempio2f(x, ux, sign);\\n let y = rempio2f_y;\\n return tan_kernf(y, n & 1);\\n }\\n\\n export function tanh(x: f32): f32 { // see: musl/src/math/tanhf.c\\n let u = reinterpret(x);\\n u &= 0x7FFFFFFF;\\n let y = reinterpret(u);\\n let t: f32;\\n if (u > 0x3F0C9F54) {\\n if (u > 0x41200000) t = 1 + 0 / y;\\n else {\\n t = expm1(2 * y);\\n t = 1 - 2 / (t + 2);\\n }\\n } else if (u > 0x3E82C578) {\\n t = expm1(2 * y);\\n t = t / (t + 2);\\n } else if (u >= 0x00800000) {\\n t = expm1(-2 * y);\\n t = -t / (t + 2);\\n } else t = y;\\n return builtin_copysign(t, x);\\n }\\n\\n // @ts-ignore: decorator\\n @inline\\n export function trunc(x: f32): f32 {\\n return builtin_trunc(x);\\n }\\n\\n export function scalbn(x: f32, n: i32): f32 { // see: https://git.musl-libc.org/cgit/musl/tree/src/math/scalbnf.c\\n const\\n Ox1p24f = reinterpret(0x4B800000),\\n Ox1p127f = reinterpret(0x7F000000),\\n Ox1p_126f = reinterpret(0x00800000);\\n\\n let y = x;\\n if (n > 127) {\\n y *= Ox1p127f;\\n n -= 127;\\n if (n > 127) {\\n y *= Ox1p127f;\\n n = builtin_min(n - 127, 127);\\n }\\n } else if (n < -126) {\\n y *= Ox1p_126f * Ox1p24f;\\n n += 126 - 24;\\n if (n < -126) {\\n y *= Ox1p_126f * Ox1p24f;\\n n = builtin_max(n + 126 - 24, -126);\\n }\\n }\\n return y * reinterpret((0x7F + n) << 23);\\n }\\n\\n export function mod(x: f32, y: f32): f32 { // see: musl/src/math/fmodf.c\\n if (builtin_abs(y) == 1.0) {\\n // x % 1, x % -1 ==> sign(x) * abs(x - 1.0 * trunc(x / 1.0))\\n // TODO: move this rule to compiler's optimization pass.\\n // It could be apply for any x % C_pot, where \\\"C_pot\\\" is pow of two const.\\n return builtin_copysign(x - builtin_trunc(x), x);\\n }\\n let ux = reinterpret(x);\\n let uy = reinterpret(y);\\n let ex = i32(ux >> 23 & 0xFF);\\n let ey = i32(uy >> 23 & 0xFF);\\n let sm = ux & 0x80000000;\\n let uy1 = uy << 1;\\n if (uy1 == 0 || ex == 0xFF || isNaN(y)) {\\n let m = x * y;\\n return m / m;\\n }\\n let ux1 = ux << 1;\\n if (ux1 <= uy1) {\\n return x * f32(ux1 != uy1);\\n }\\n if (!ex) {\\n ex -= builtin_clz(ux << 9);\\n ux <<= 1 - ex;\\n } else {\\n ux &= -1 >> 9;\\n ux |= 1 << 23;\\n }\\n if (!ey) {\\n ey -= builtin_clz(uy << 9);\\n uy <<= 1 - ey;\\n } else {\\n uy &= u32(-1) >> 9;\\n uy |= 1 << 23;\\n }\\n while (ex > ey) {\\n if (ux >= uy) {\\n if (ux == uy) return 0 * x;\\n ux -= uy;\\n }\\n ux <<= 1;\\n --ex;\\n }\\n if (ux >= uy) {\\n if (ux == uy) return 0 * x;\\n ux -= uy;\\n }\\n // for (; !(ux >> 23); ux <<= 1) --ex;\\n let shift = builtin_clz(ux << 8);\\n ex -= shift;\\n ux <<= shift;\\n if (ex > 0) {\\n ux -= 1 << 23;\\n ux |= ex << 23;\\n } else {\\n ux >>= -ex + 1;\\n }\\n return reinterpret(ux | sm);\\n }\\n\\n export function rem(x: f32, y: f32): f32 { // see: musl/src/math/remquof.c\\n let ux = reinterpret(x);\\n let uy = reinterpret(y);\\n let ex = i32(ux >> 23 & 0xFF);\\n let ey = i32(uy >> 23 & 0xFF);\\n let uxi = ux;\\n if (uy << 1 == 0 || ex == 0xFF || isNaN(y)) return (x * y) / (x * y);\\n if (ux << 1 == 0) return x;\\n if (!ex) {\\n ex -= builtin_clz(uxi << 9);\\n uxi <<= 1 - ex;\\n } else {\\n uxi &= u32(-1) >> 9;\\n uxi |= 1 << 23;\\n }\\n if (!ey) {\\n ey -= builtin_clz(uy << 9);\\n uy <<= 1 - ey;\\n } else {\\n uy &= u32(-1) >> 9;\\n uy |= 1 << 23;\\n }\\n let q = 0;\\n do {\\n if (ex < ey) {\\n if (ex + 1 == ey) break; // goto end\\n return x;\\n }\\n while (ex > ey) {\\n if (uxi >= uy) {\\n uxi -= uy;\\n ++q;\\n }\\n uxi <<= 1;\\n q <<= 1;\\n --ex;\\n }\\n if (uxi >= uy) {\\n uxi -= uy;\\n ++q;\\n }\\n if (uxi == 0) ex = -30;\\n else {\\n let shift = builtin_clz(uxi << 8);\\n ex -= shift;\\n uxi <<= shift;\\n }\\n break;\\n } while (false);\\n // end:\\n if (ex > 0) {\\n uxi -= 1 << 23;\\n uxi |= ex << 23;\\n } else {\\n uxi >>= -ex + 1;\\n }\\n x = reinterpret(uxi);\\n y = builtin_abs(y);\\n let x2 = x + x;\\n if (ex == ey || (ex + 1 == ey && (x2 > y || (x2 == y && bool(q & 1))))) {\\n x -= y;\\n // q++;\\n }\\n return ux < 0 ? -x : x;\\n }\\n\\n export function sincos(x: f32): void { // see: musl/tree/src/math/sincosf.c\\n const\\n s1pio2 = reinterpret(0x3FF921FB54442D18), // 1 * M_PI_2\\n s2pio2 = reinterpret(0x400921FB54442D18), // 2 * M_PI_2\\n s3pio2 = reinterpret(0x4012D97C7F3321D2), // 3 * M_PI_2\\n s4pio2 = reinterpret(0x401921FB54442D18); // 4 * M_PI_2\\n\\n let ux = reinterpret(x);\\n let sign = ux >> 31;\\n ux &= 0x7FFFFFFF;\\n\\n if (ux <= 0x3F490FDA) { // |x| ~<= \u03C0/4\\n if (ux < 0x39800000) { // |x| < 2**-12\\n sincos_sin = x;\\n sincos_cos = 1;\\n return;\\n }\\n sincos_sin = sin_kernf(x);\\n sincos_cos = cos_kernf(x);\\n return;\\n }\\n if (ASC_SHRINK_LEVEL < 1) {\\n if (ux <= 0x407B53D1) { // |x| ~<= 5\u03C0/4\\n if (ux <= 0x4016CBE3) { // |x| ~<= 3\u03C0/4\\n if (sign) {\\n sincos_sin = -cos_kernf(x + s1pio2);\\n sincos_cos = sin_kernf(x + s1pio2);\\n } else {\\n sincos_sin = cos_kernf(s1pio2 - x);\\n sincos_cos = sin_kernf(s1pio2 - x);\\n }\\n return;\\n }\\n // -sin(x + c) is not correct if x+c could be 0: -0 vs +0\\n sincos_sin = -sin_kernf(sign ? x + s2pio2 : x - s2pio2);\\n sincos_cos = -cos_kernf(sign ? x + s2pio2 : x - s2pio2);\\n return;\\n }\\n if (ux <= 0x40E231D5) { // |x| ~<= 9\u03C0/4\\n if (ux <= 0x40AFEDDF) { // |x| ~<= 7\u03C0/4\\n if (sign) {\\n sincos_sin = cos_kernf(x + s3pio2);\\n sincos_cos = -sin_kernf(x + s3pio2);\\n } else {\\n sincos_sin = -cos_kernf(x - s3pio2);\\n sincos_cos = sin_kernf(x - s3pio2);\\n }\\n return;\\n }\\n sincos_sin = sin_kernf(sign ? x + s4pio2 : x - s4pio2);\\n sincos_cos = cos_kernf(sign ? x + s4pio2 : x - s4pio2);\\n return;\\n }\\n }\\n // sin(Inf or NaN) is NaN\\n if (ux >= 0x7F800000) {\\n let xx = x - x;\\n sincos_sin = xx;\\n sincos_cos = xx;\\n return;\\n }\\n // general argument reduction needed\\n let n = rempio2f(x, ux, sign);\\n let y = rempio2f_y;\\n let s = sin_kernf(y);\\n let c = cos_kernf(y);\\n let sin = s, cos = c;\\n if (n & 1) {\\n sin = c;\\n cos = -s;\\n }\\n if (n & 2) {\\n sin = -sin;\\n cos = -cos;\\n }\\n sincos_sin = sin;\\n sincos_cos = cos;\\n }\\n}\\n\\nexport function ipow32(x: i32, e: i32): i32 {\\n let out = 1;\\n if (ASC_SHRINK_LEVEL < 1) {\\n if (x == 2) {\\n return select(1 << e, 0, e < 32);\\n }\\n if (e <= 0) {\\n if (x == -1) return select(-1, 1, e & 1);\\n return i32(e == 0) | i32(x == 1);\\n }\\n else if (e == 1) return x;\\n else if (e == 2) return x * x;\\n else if (e < 32) {\\n let log = 32 - clz(e);\\n // 32 = 2 ^ 5, so need only five cases.\\n // But some extra cases needs for properly overflowing\\n switch (log) {\\n case 5: {\\n if (e & 1) out *= x;\\n e >>>= 1;\\n x *= x;\\n }\\n case 4: {\\n if (e & 1) out *= x;\\n e >>>= 1;\\n x *= x;\\n }\\n case 3: {\\n if (e & 1) out *= x;\\n e >>>= 1;\\n x *= x;\\n }\\n case 2: {\\n if (e & 1) out *= x;\\n e >>>= 1;\\n x *= x;\\n }\\n case 1: {\\n if (e & 1) out *= x;\\n }\\n }\\n return out;\\n }\\n }\\n while (e) {\\n if (e & 1) out *= x;\\n e >>>= 1;\\n x *= x;\\n }\\n return out;\\n}\\n\\nexport function ipow64(x: i64, e: i64): i64 {\\n let out: i64 = 1;\\n if (ASC_SHRINK_LEVEL < 1) {\\n if (x == 2) {\\n return select(1 << e, 0, e < 64);\\n }\\n if (e <= 0) {\\n if (x == -1) return select(-1, 1, e & 1);\\n return i64(e == 0) | i64(x == 1);\\n }\\n else if (e == 1) return x;\\n else if (e == 2) return x * x;\\n else if (e < 64) {\\n let log = 64 - clz(e);\\n // 64 = 2 ^ 6, so need only six cases.\\n // But some extra cases needs for properly overflowing\\n switch (log) {\\n case 6: {\\n if (e & 1) out *= x;\\n e >>>= 1;\\n x *= x;\\n }\\n case 5: {\\n if (e & 1) out *= x;\\n e >>>= 1;\\n x *= x;\\n }\\n case 4: {\\n if (e & 1) out *= x;\\n e >>>= 1;\\n x *= x;\\n }\\n case 3: {\\n if (e & 1) out *= x;\\n e >>>= 1;\\n x *= x;\\n }\\n case 2: {\\n if (e & 1) out *= x;\\n e >>>= 1;\\n x *= x;\\n }\\n case 1: {\\n if (e & 1) out *= x;\\n }\\n }\\n return out;\\n }\\n }\\n while (e) {\\n if (e & 1) out *= x;\\n e >>>= 1;\\n x *= x;\\n }\\n return out;\\n}\\n\\n/*\\nTODO:\\nIn compile time if only exponent is constant we could replace ipow32/ipow64 by shortest addition chains\\nwhich usually faster than exponentiation by squaring\\n\\nfor ipow32 and e < 32:\\n\\nlet b: i32, c: i32, d: i32, h: i32, k: i32, g: i32;\\nswitch (e) {\\n case 1: return x;\\n case 2: return x * x;\\n case 3: return x * x * x;\\n case 4: return (b = x * x) * b;\\n case 5: return (b = x * x) * b * x;\\n case 6: return (b = x * x) * b * b;\\n case 7: return (b = x * x) * b * b * x;\\n case 8: return (d = (b = x * x) * b) * d;\\n case 9: return (c = x * x * x) * c * c;\\n case 10: return (d = (b = x * x) * b) * d * b;\\n case 11: return (d = (b = x * x) * b) * d * b * x;\\n case 12: return (d = (b = x * x) * b) * d * d;\\n case 13: return (d = (b = x * x) * b) * d * d * x;\\n case 14: return (d = (b = x * x) * b) * d * d * b;\\n case 15: return (k = (b = x * x) * b * x) * k * k;\\n case 16: return (h = (d = (b = x * x) * b) * d) * h;\\n case 17: return (h = (d = (b = x * x) * b) * d) * h * x;\\n case 18: return (h = (d = (b = x * x) * b) * d * x) * h;\\n case 19: return (h = (d = (b = x * x) * b) * d * x) * h * x;\\n case 20: return (h = (k = (b = x * x) * b * x) * k) * h;\\n case 21: return (h = (k = (b = x * x) * b * x) * k) * h * x;\\n case 22: return (g = (h = (k = (b = x * x) * b * x) * k) * x) * g;\\n case 23: return (h = (d = (c = (b = x * x) * x) * b) * d) * h * c;\\n case 24: return (h = (d = (c = x * x * x) * c) * d) * h;\\n case 25: return (h = (d = (c = x * x * x) * c) * d) * h * x;\\n case 26: return (g = (h = (d = (c = x * x * x) * c) * d) * x) * g;\\n case 27: return (h = (d = (c = x * x * x) * c) * d) * h * c;\\n case 28: return (h = (d = (c = x * x * x) * c * x) * d) * h;\\n case 29: return (h = (d = (c = x * x * x) * c * x) * d) * h * x;\\n case 30: return (h = (d = (c = x * x * x) * c) * d * c) * h;\\n case 31: return (h = (d = (c = x * x * x) * c) * d * c) * h * x;\\n}\\n\\nfor ipow64: TODO\\nswitch (e) {\\n case 32:\\n ...\\n case 63:\\n}\\n*/\\n\",\n \"memory\": \"import { memcmp, memmove, memset } from \\\"./util/memory\\\";\\nimport { E_NOTIMPLEMENTED } from \\\"./util/error\\\";\\n\\n/** Memory manager interface. */\\nexport namespace memory {\\n\\n /** Gets the size of the memory in pages. */\\n // @ts-ignore: decorator\\n @builtin\\n export declare function size(): i32;\\n\\n /** Grows the memory by the given size in pages and returns the previous size in pages. */\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function grow(pages: i32): i32;\\n\\n /** Fills a section in memory with the specified byte value. */\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export function fill(dst: usize, c: u8, n: usize): void {\\n memset(dst, c, n); // fallback if \\\"bulk-memory\\\" isn't enabled\\n }\\n\\n /** Copies a section of memory to another. Has move semantics. */\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export function copy(dst: usize, src: usize, n: usize): void {\\n memmove(dst, src, n); // fallback if \\\"bulk-memory\\\" isn't enabled\\n }\\n\\n export namespace atomic {\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function wait32(ptr: usize, expected: i32, timeout: i64): AtomicWaitResult;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function wait64(ptr: usize, expected: i64, timeout: i64): AtomicWaitResult;\\n }\\n\\n /** Initializes a memory segment. */\\n // @ts-ignore: decorator\\n @unsafe\\n export function init(segmentIndex: u32, srcOffset: usize, dstOffset: usize, n: usize): void {\\n throw new Error(E_NOTIMPLEMENTED);\\n }\\n\\n /** Drops a memory segment. */\\n // @ts-ignore: decorator\\n @unsafe\\n export function drop(segmentIndex: u32): void {\\n throw new Error(E_NOTIMPLEMENTED);\\n }\\n\\n /** Repeats a section of memory at a specific address. */\\n // @ts-ignore: decorator\\n @unsafe\\n export function repeat(dst: usize, src: usize, srcLength: usize, count: usize): void {\\n let index: usize = 0;\\n let total = srcLength * count;\\n while (index < total) {\\n memory.copy(dst + index, src, srcLength);\\n index += srcLength;\\n }\\n }\\n\\n /** Compares a section of memory to another. */\\n // @ts-ignore: decorator\\n @inline\\n export function compare(vl: usize, vr: usize, n: usize): i32 {\\n return memcmp(vl, vr, n);\\n }\\n\\n /** Gets a pointer to a static chunk of memory of the given size. */\\n // @ts-ignore: decorator\\n @builtin\\n export declare function data(size: T, align?: i32): usize;\\n}\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare const __data_end: usize;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare let __stack_pointer: usize;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare const __heap_base: usize;\\n\\n/** Heap memory interface. */\\nexport namespace heap {\\n\\n /** Allocates a chunk of memory of at least the specified size. */\\n // @ts-ignore: decorator\\n @unsafe export function alloc(size: usize): usize {\\n return __alloc(size);\\n }\\n\\n /** Reallocates a chunk of memory to have at least the specified size. */\\n // @ts-ignore: decorator\\n @unsafe export function realloc(ptr: usize, size: usize): usize {\\n return __realloc(ptr, size);\\n }\\n\\n /** Frees a chunk of memory. Does hardly anything (most recent block only) with the stub runtime. */\\n // @ts-ignore: decorator\\n @unsafe export function free(ptr: usize): void {\\n __free(ptr);\\n }\\n\\n /** Dangerously resets the entire heap. Specific to the stub runtime. */\\n // @ts-ignore: decorator\\n @unsafe export function reset(): void {\\n if (isDefined(__reset)) {\\n __reset();\\n } else {\\n throw new Error(E_NOTIMPLEMENTED);\\n }\\n }\\n}\\n\",\n \"number\": \"import { itoa32, utoa32, itoa64, utoa64, dtoa } from \\\"./util/number\\\";\\nimport { strtol, strtod } from \\\"./util/string\\\";\\n\\n// @ts-ignore: decorator\\n@builtin @inline\\nexport const NaN: f64 = 0 / 0; // context-aware\\n\\n// @ts-ignore: decorator\\n@builtin @inline\\nexport const Infinity: f64 = 1 / 0; // context-aware\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function isNaN(value: T): bool;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function isFinite(value: T): bool;\\n\\n@final @unmanaged\\nexport abstract class I8 {\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly MIN_VALUE: i8 = i8.MIN_VALUE;\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly MAX_VALUE: i8 = i8.MAX_VALUE;\\n\\n /** @deprecated */\\n static parseInt(value: string, radix: i32 = 0): i8 {\\n return strtol(value, radix);\\n }\\n\\n toString(this: i8, radix: i32 = 10): String {\\n return itoa32(this, radix);\\n }\\n}\\n\\n@final @unmanaged\\nexport abstract class I16 {\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly MIN_VALUE: i16 = i16.MIN_VALUE;\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly MAX_VALUE: i16 = i16.MAX_VALUE;\\n\\n /** @deprecated */\\n static parseInt(value: string, radix: i32 = 0): i16 {\\n return strtol(value, radix);\\n }\\n\\n toString(this: i16, radix: i32 = 10): String {\\n return itoa32(this, radix);\\n }\\n}\\n\\n@final @unmanaged\\nexport abstract class I32 {\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly MIN_VALUE: i32 = i32.MIN_VALUE;\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly MAX_VALUE: i32 = i32.MAX_VALUE;\\n\\n /** @deprecated */\\n static parseInt(value: string, radix: i32 = 0): i32 {\\n return strtol(value, radix);\\n }\\n\\n toString(this: i32, radix: i32 = 10): String {\\n return itoa32(this, radix);\\n }\\n}\\n\\n@final @unmanaged\\nexport abstract class I64 {\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly MIN_VALUE: i64 = i64.MIN_VALUE;\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly MAX_VALUE: i64 = i64.MAX_VALUE;\\n\\n /** @deprecated */\\n static parseInt(value: string, radix: i32 = 0): i64 {\\n return strtol(value, radix);\\n }\\n\\n toString(this: i64, radix: i32 = 10): String {\\n return itoa64(this, radix);\\n }\\n}\\n\\n@final @unmanaged\\nexport abstract class Isize {\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly MIN_VALUE: isize = isize.MIN_VALUE;\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly MAX_VALUE: isize = isize.MAX_VALUE;\\n\\n /** @deprecated */\\n static parseInt(value: string, radix: i32 = 0): isize {\\n return strtol(value, radix);\\n }\\n\\n toString(this: isize, radix: i32 = 10): String {\\n if (sizeof() == 4) {\\n return itoa32(this, radix);\\n } else {\\n return itoa64(this, radix);\\n }\\n }\\n}\\n\\n@final @unmanaged\\nexport abstract class U8 {\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly MIN_VALUE: u8 = u8.MIN_VALUE;\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly MAX_VALUE: u8 = u8.MAX_VALUE;\\n\\n /** @deprecated */\\n static parseInt(value: string, radix: i32 = 0): u8 {\\n return strtol(value, radix);\\n }\\n\\n toString(this: u8, radix: i32 = 10): String {\\n return utoa32(this, radix);\\n }\\n}\\n\\n@final @unmanaged\\nexport abstract class U16 {\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly MIN_VALUE: u16 = u16.MIN_VALUE;\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly MAX_VALUE: u16 = u16.MAX_VALUE;\\n\\n /** @deprecated */\\n static parseInt(value: string, radix: i32 = 0): u16 {\\n return strtol(value, radix);\\n }\\n\\n toString(this: u16, radix: i32 = 10): String {\\n return utoa32(this, radix);\\n }\\n}\\n\\n@final @unmanaged\\nexport abstract class U32 {\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly MIN_VALUE: u32 = u32.MIN_VALUE;\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly MAX_VALUE: u32 = u32.MAX_VALUE;\\n\\n /** @deprecated */\\n static parseInt(value: string, radix: i32 = 0): u32 {\\n return strtol(value, radix);\\n }\\n\\n toString(this: u32, radix: i32 = 10): String {\\n return utoa32(this, radix);\\n }\\n}\\n\\n@final @unmanaged\\nexport abstract class U64 {\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly MIN_VALUE: u64 = u64.MIN_VALUE;\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly MAX_VALUE: u64 = u64.MAX_VALUE;\\n\\n /** @deprecated */\\n static parseInt(value: string, radix: i32 = 0): u64 {\\n return strtol(value, radix);\\n }\\n\\n toString(this: u64, radix: i32 = 10): String {\\n return utoa64(this, radix);\\n }\\n}\\n\\n@final @unmanaged\\nexport abstract class Usize {\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly MIN_VALUE: usize = usize.MIN_VALUE;\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly MAX_VALUE: usize = usize.MAX_VALUE;\\n\\n /** @deprecated */\\n static parseInt(value: string, radix: i32 = 0): usize {\\n return strtol(value, radix);\\n }\\n\\n toString(this: usize, radix: i32 = 10): String {\\n if (sizeof() == 4) {\\n return utoa32(this, radix);\\n } else {\\n return utoa64(this, radix);\\n }\\n }\\n}\\n\\n@final @unmanaged\\nexport abstract class Bool {\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly MIN_VALUE: bool = bool.MIN_VALUE;\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly MAX_VALUE: bool = bool.MAX_VALUE;\\n\\n toString(this: bool, radix: i32 = 0): String {\\n return this ? \\\"true\\\" : \\\"false\\\";\\n }\\n}\\n\\nexport { Bool as Boolean };\\n\\n@final @unmanaged\\nexport abstract class F32 {\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly EPSILON: f32 = f32.EPSILON;\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly MIN_VALUE: f32 = f32.MIN_VALUE;\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly MAX_VALUE: f32 = f32.MAX_VALUE;\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly MIN_SAFE_INTEGER: f32 = f32.MIN_SAFE_INTEGER;\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly MAX_SAFE_INTEGER: f32 = f32.MAX_SAFE_INTEGER;\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly POSITIVE_INFINITY: f32 = f32.POSITIVE_INFINITY;\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly NEGATIVE_INFINITY: f32 = f32.NEGATIVE_INFINITY;\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly NaN: f32 = f32.NaN;\\n\\n static isNaN(value: f32): bool {\\n return isNaN(value);\\n }\\n\\n static isFinite(value: f32): bool {\\n return isFinite(value);\\n }\\n\\n static isSafeInteger(value: f32): bool {\\n return abs(value) <= f32.MAX_SAFE_INTEGER && trunc(value) == value;\\n }\\n\\n static isInteger(value: f32): bool {\\n return isFinite(value) && trunc(value) == value;\\n }\\n\\n /** @deprecated */\\n static parseInt(value: string, radix: i32 = 0): f32 {\\n return strtol(value, radix);\\n }\\n\\n /** @deprecated */\\n static parseFloat(value: string): f32 {\\n return strtod(value);\\n }\\n\\n toString(this: f32, radix: i32 = 0): String {\\n return dtoa(this);\\n }\\n}\\n\\n@final @unmanaged\\nexport abstract class F64 {\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly EPSILON: f64 = f64.EPSILON;\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly MIN_VALUE: f64 = f64.MIN_VALUE;\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly MAX_VALUE: f64 = f64.MAX_VALUE;\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly MIN_SAFE_INTEGER: f64 = f64.MIN_SAFE_INTEGER;\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly MAX_SAFE_INTEGER: f64 = f64.MAX_SAFE_INTEGER;\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly POSITIVE_INFINITY: f64 = f64.POSITIVE_INFINITY;\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly NEGATIVE_INFINITY: f64 = f64.NEGATIVE_INFINITY;\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly NaN: f64 = f64.NaN;\\n\\n static isNaN(value: f64): bool {\\n return isNaN(value);\\n }\\n\\n static isFinite(value: f64): bool {\\n return isFinite(value);\\n }\\n\\n static isSafeInteger(value: f64): bool {\\n return abs(value) <= f64.MAX_SAFE_INTEGER && trunc(value) == value;\\n }\\n\\n static isInteger(value: f64): bool {\\n return isFinite(value) && trunc(value) == value;\\n }\\n\\n /** @deprecated */\\n static parseInt(value: string, radix: i32 = 0): f64 {\\n return strtol(value, radix);\\n }\\n\\n /** @deprecated */\\n static parseFloat(value: string): f64 {\\n return strtod(value);\\n }\\n\\n toString(this: f64, radix: i32 = 0): String {\\n return dtoa(this);\\n }\\n}\\n\\nexport { F64 as Number };\\n\",\n \"object\": \"export abstract class Object {\\n static is(x: T, y: T): bool {\\n if (isFloat()) {\\n // Float pointing is special we shoulr presere following identities:\\n // 0.0 !=-0.0\\n // NaN == NaN\\n if (sizeof() == 8) {\\n return (\\n bool(u32(x != x) & u32(y != y) |\\n u32(reinterpret(f64(x)) == reinterpret(f64(y))))\\n );\\n } else {\\n return (\\n bool(u32(x != x) & u32(y != y) |\\n u32(reinterpret(f32(x)) == reinterpret(f32(y))))\\n );\\n }\\n }\\n // For references, strings, integers and booleans\\n return x == y;\\n }\\n\\n // TODO: Wrapper classes like `Function` override the `this` type of\\n // `toString`, which is covariant and hence fails to overload. Wrapper classes\\n // might need a different mechanism to indicate such special `this` types.\\n // toString(): string {\\n // return \\\"[object Object]\\\";\\n // }\\n}\\n\\n// TODO: The types `Object` and `object` differ in TypeScript, in that the\\n// latter indicates any non-primitive type, not including `string` for example.\\n// The `object` type hence remains reserved for now, also to potentially address\\n// the above `toString` TODO in alternative ways.\\n// @ts-ignore: nolib\\n// export type object = Object;\\n\",\n \"performance\": \"import {\\n performance as performance_binding\\n} from \\\"bindings/dom\\\";\\n\\nexport namespace performance {\\n export function now(): f64 {\\n return performance_binding.now();\\n }\\n}\\n\",\n \"polyfills\": \"export function bswap(value: T): T {\\n if (isInteger()) {\\n if (sizeof() == 1) {\\n return value;\\n }\\n if (sizeof() == 2) {\\n return (value << 8 | (value >> 8));\\n }\\n if (sizeof() == 4) {\\n return (\\n rotl(value & 0xFF00FF00, 8) |\\n rotr(value & 0x00FF00FF, 8)\\n );\\n }\\n if (sizeof() == 8) {\\n let a = (value >> 8) & 0x00FF00FF00FF00FF;\\n let b = (value & 0x00FF00FF00FF00FF) << 8;\\n let v = a | b;\\n\\n a = (v >>> 16) & 0x0000FFFF0000FFFF;\\n b = (v & 0x0000FFFF0000FFFF) << 16;\\n\\n return rotr(a | b, 32);\\n }\\n }\\n ERROR(\\\"Unsupported generic type\\\");\\n}\\n\",\n \"process\": \"import {\\n Date as Date_binding,\\n performance as performance_binding\\n} from \\\"bindings/dom\\\";\\n\\nimport {\\n process as process_binding\\n} from \\\"bindings/node\\\";\\n\\nexport namespace process {\\n\\n // @ts-ignore: decorator\\n @lazy export const arch = sizeof() == 4 ? \\\"wasm32\\\" : \\\"wasm64\\\";\\n\\n // @ts-ignore: decorator\\n @lazy export const platform = \\\"wasm\\\";\\n\\n // @ts-ignore: decorator\\n @lazy export const argv = lazyArgv();\\n\\n // @ts-ignore: decorator\\n @lazy export const env = lazyEnv();\\n\\n // @ts-ignore: decorator\\n @lazy export let exitCode = 0;\\n\\n export function exit(code: i32 = exitCode): void {\\n process_binding.exit(code);\\n }\\n\\n export function time(): i64 {\\n return Date_binding.now();\\n }\\n\\n export function hrtime(): u64 {\\n let now = performance_binding.now();\\n let millis = now;\\n let fraction = now - millis;\\n return millis * 1000000 + (fraction * 1000000);\\n }\\n}\\n\\nfunction lazyArgv(): string[] {\\n return process_binding.argv;\\n}\\n\\nfunction lazyEnv(): Map {\\n // TODO: What about Node?\\n return new Map();\\n}\\n\",\n \"reference\": \"// Canonical aliases\\nexport type funcref = ref_func | null;\\nexport type externref = ref_extern | null;\\nexport type anyref = ref_any | null;\\nexport type eqref = ref_eq | null;\\nexport type i31ref = ref_i31 | null;\\nexport type structref = ref_struct | null;\\nexport type arrayref = ref_array | null;\\nexport type stringref = ref_string | null;\\nexport type stringview_wtf8 = ref_stringview_wtf8 | null;\\nexport type stringview_wtf16 = ref_stringview_wtf16 | null;\\nexport type stringview_iter = ref_stringview_iter | null;\\n\\n@unmanaged\\nabstract class Ref {\\n}\\n\\n@final @unmanaged\\nexport abstract class RefFunc extends Ref {\\n}\\n\\n@final @unmanaged\\nexport abstract class RefExtern extends Ref {\\n}\\n\\n@final @unmanaged\\nexport abstract class RefAny extends Ref {\\n}\\n\\n@final @unmanaged\\nexport abstract class RefEq extends Ref {\\n}\\n\\n@final @unmanaged\\nexport abstract class RefI31 extends Ref {\\n}\\n\\n@final @unmanaged\\nexport abstract class RefStruct extends Ref {\\n}\\n\\n@final @unmanaged\\nexport abstract class RefArray extends Ref {\\n}\\n\\n@final @unmanaged\\nexport abstract class RefString extends Ref {\\n}\\n\",\n \"regexp\": \"export class RegExp {\\n\\n // @binding(CALL_NEW, [ STRING, STRING], OBJECT_HANDLE)\\n constructor(pattern: string, flags: string = \\\"\\\") { throw new Error(\\\"unreachable\\\"); }\\n\\n // @binding(CALL_THIS, [ STRING ], PASS_THRU)\\n test(search: string): bool { throw new Error(\\\"unreachable\\\"); }\\n\\n // @binding(CALL_THIS, [], STRING)\\n toString(): string { throw new Error(\\\"unreachable\\\"); }\\n\\n}\\n\",\n \"rt\": \"import { Typeinfo, TypeinfoFlags } from \\\"./shared/typeinfo\\\";\\nimport { E_INDEXOUTOFRANGE } from \\\"./util/error\\\";\\nimport { ArrayBufferView } from \\\"./arraybuffer\\\";\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare const __rtti_base: usize;\\n\\n// @ts-ignore: decorator\\n@builtin @unsafe\\nexport declare function __visit_globals(cookie: u32): void;\\n\\n// @ts-ignore: decorator\\n@builtin @unsafe\\nexport declare function __visit_members(ref: usize, cookie: u32): void;\\n\\n// @ts-ignore: decorator\\n@unsafe\\nexport function __typeinfo(id: u32): TypeinfoFlags {\\n let ptr = __rtti_base;\\n if (id > load(ptr)) throw new Error(E_INDEXOUTOFRANGE);\\n return changetype(ptr + sizeof() + id * offsetof()).flags;\\n}\\n\\n// @ts-ignore: decorator\\n@unsafe\\nexport function __newBuffer(size: usize, id: u32, data: usize = 0): usize {\\n let buffer = __new(size, id);\\n if (data) memory.copy(buffer, data, size);\\n return buffer;\\n}\\n\\n// @ts-ignore: decorator\\n@unsafe\\nexport function __newArray(length: i32, alignLog2: usize, id: u32, data: usize = 0): usize {\\n let bufferSize = length << alignLog2;\\n // make sure `buffer` is tracked by the shadow stack\\n let buffer = changetype(__newBuffer(bufferSize, idof(), data));\\n // ...since allocating the array may trigger GC steps\\n let array = __new(offsetof(), id);\\n store(array, changetype(buffer), offsetof(\\\"buffer\\\"));\\n __link(array, changetype(buffer), false);\\n store(array, changetype(buffer), offsetof(\\\"dataStart\\\"));\\n store(array, bufferSize, offsetof(\\\"byteLength\\\"));\\n store(array, length, offsetof(\\\"length_\\\"));\\n return array;\\n}\\n\\n// @ts-ignore: decorator\\n@global @unsafe\\nfunction __tostack(ptr: usize): usize { // eslint-disable-line\\n return ptr;\\n}\\n\\n// These are provided by the respective implementation, included as another entry file by asc:\\n\\n// // @ts-ignore: decorator\\n// @builtin @unsafe\\n// export declare function __alloc(size: usize): usize;\\n\\n// // @ts-ignore: decorator\\n// @builtin @unsafe\\n// export declare function __realloc(ptr: usize, size: usize): usize;\\n\\n// // @ts-ignore: decorator\\n// @builtin @unsafe\\n// export declare function __free(ptr: usize): void;\\n\\n// // @ts-ignore: decorator\\n// @builtin @unsafe\\n// export declare function __new(size: usize, id: u32): usize;\\n\\n// // @ts-ignore: decorator\\n// @builtin @unsafe\\n// export declare function __renew(ptr: usize, size: usize): usize;\\n\\n// // @ts-ignore: decorator\\n// @builtin @unsafe\\n// export declare function __link(parentPtr: usize, childPtr: usize, expectMultiple: bool): void;\\n\\n// // @ts-ignore: decorator\\n// @builtin @unsafe\\n// export declare function __collect(): void;\\n\\n// // @ts-ignore: decorator\\n// @builtin @unsafe\\n// export declare function __visit(ptr: usize, cookie: u32): void;\\n\",\n \"rt/common\": \"// Alignment guarantees\\n\\n// @ts-ignore: decorator\\n@inline export const AL_BITS: u32 = 4; // 16 bytes to fit up to v128\\n// @ts-ignore: decorator\\n@inline export const AL_SIZE: usize = 1 << AL_BITS;\\n// @ts-ignore: decorator\\n@inline export const AL_MASK: usize = AL_SIZE - 1;\\n\\n// Extra debugging\\n\\n// @ts-ignore: decorator\\n@inline export const DEBUG = true;\\n// @ts-ignore: decorator\\n@inline export const TRACE = false;\\n// @ts-ignore: decorator\\n@inline export const RTRACE = isDefined(ASC_RTRACE);\\n// @ts-ignore: decorator\\n@inline export const PROFILE = isDefined(ASC_PROFILE);\\n\\n// Memory manager\\n\\n// \u2552\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 Memory manager block layout (32-bit) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2555\\n// 3 2 1\\n// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 bits\\n// \u251C\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2524\\n// \u2502 MM info \u2502 -4\\n// \u255E>ptr\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2561\\n// \u2502 ... \u2502\\n@unmanaged export class BLOCK {\\n /** Memory manager info. */\\n mmInfo: usize;\\n}\\n\\n/** Overhead of a memory manager block. */\\n// @ts-ignore: decorator\\n@inline export const BLOCK_OVERHEAD: usize = offsetof();\\n\\n/** Maximum size of a memory manager block's payload. */\\n// @ts-ignore: decorator\\n@inline export const BLOCK_MAXSIZE: usize = (1 << 30) - BLOCK_OVERHEAD;\\n\\n// Garbage collector\\n\\n// \u2552\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 Garbage collector object layout (32-bit) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2555\\n// 3 2 1\\n// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 bits\\n// \u251C\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2524\\n// \u2502 Memory manager block \u2502 -20\\n// \u255E\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2561\\n// \u2502 GC info \u2502 -16\\n// \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524\\n// \u2502 GC info \u2502 -12\\n// \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524\\n// \u2502 RT id \u2502 -8\\n// \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524\\n// \u2502 RT size \u2502 -4\\n// \u255E>ptr\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2561\\n// \u2502 ... \u2502\\n@unmanaged export class OBJECT extends BLOCK {\\n /** Garbage collector info. */\\n gcInfo: u32;\\n /** Garbage collector info. */\\n gcInfo2: u32;\\n /** Runtime class id. */\\n rtId: u32;\\n /** Runtime object size. */\\n rtSize: u32;\\n}\\n\\n/** Overhead of a garbage collector object. Excludes memory manager block overhead. */\\n// @ts-ignore: decorator\\n@inline export const OBJECT_OVERHEAD: usize = (offsetof() - BLOCK_OVERHEAD + AL_MASK) & ~AL_MASK;\\n\\n/** Maximum size of a garbage collector object's payload. */\\n// @ts-ignore: decorator\\n@inline export const OBJECT_MAXSIZE: usize = BLOCK_MAXSIZE - OBJECT_OVERHEAD;\\n\\n/** Total of memory manager and garbage collector overhead. */\\n// @ts-ignore: decorator\\n@inline export const TOTAL_OVERHEAD: usize = BLOCK_OVERHEAD + OBJECT_OVERHEAD;\\n\",\n \"rt/index-incremental\": \"import \\\"rt/tlsf\\\";\\nimport \\\"rt/itcms\\\";\\n\",\n \"rt/index-minimal\": \"import \\\"rt/tlsf\\\";\\nimport \\\"rt/tcms\\\";\\n\",\n \"rt/index-stub\": \"import \\\"rt/stub\\\";\\n\",\n \"rt/itcms\": \"import { BLOCK, BLOCK_OVERHEAD, OBJECT_OVERHEAD, OBJECT_MAXSIZE, TOTAL_OVERHEAD, DEBUG, TRACE, RTRACE, PROFILE } from \\\"./common\\\";\\nimport { onvisit, oncollect, oninterrupt, onyield } from \\\"./rtrace\\\";\\nimport { TypeinfoFlags } from \\\"../shared/typeinfo\\\";\\nimport { E_ALLOCATION_TOO_LARGE, E_ALREADY_PINNED, E_NOT_PINNED } from \\\"../util/error\\\";\\n\\n// === ITCMS: An incremental Tri-Color Mark & Sweep garbage collector ===\\n// Adapted from Bach Le's \u03BCgc, see: https://github.com/bullno1/ugc\\n\\n// \u2552\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2564\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 Colors \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2555\\n// \u2502 Color \u2502 Meaning \u2502\\n// \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524\\n// \u2502 WHITE* \u2502 Unprocessed \u2502\\n// \u2502 BLACK* \u2502 Processed \u2502\\n// \u2502 GRAY \u2502 Processed with unprocessed children \u2502\\n// \u2502 TRANSPARENT \u2502 Manually pinned (always reachable) \u2502\\n// \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\\n// * flipped between cycles\\n\\n// @ts-ignore: decorator\\n@lazy let white = 0;\\n// @ts-ignore: decorator\\n@inline const gray = 2;\\n// @ts-ignore: decorator\\n@inline const transparent = 3;\\n// @ts-ignore: decorator\\n@inline const COLOR_MASK = 3;\\n\\n/** Size in memory of all objects currently managed by the GC. */\\n// @ts-ignore: decorator\\n@lazy let total: usize = 0;\\n\\n/** Currently transitioning from SWEEP to MARK state. */\\n// @ts-ignore: decorator\\n@inline const STATE_IDLE = 0;\\n/** Currently marking reachable objects. */\\n// @ts-ignore: decorator\\n@inline const STATE_MARK = 1;\\n/** Currently sweeping unreachable objects. */\\n// @ts-ignore: decorator\\n@inline const STATE_SWEEP = 2;\\n/** Current collector state. */\\n// @ts-ignore: decorator\\n@lazy let state = STATE_IDLE;\\n\\n// @ts-ignore: decorator\\n@lazy let fromSpace = initLazy(changetype(memory.data(offsetof())));\\n// @ts-ignore: decorator\\n@lazy let toSpace = initLazy(changetype(memory.data(offsetof())));\\n// @ts-ignore: decorator\\n@lazy let pinSpace = initLazy(changetype(memory.data(offsetof())));\\n// @ts-ignore: decorator\\n@lazy let iter: Object = changetype(0); // unsafe initializion below\\n\\nfunction initLazy(space: Object): Object {\\n space.nextWithColor = changetype(space);\\n space.prev = space;\\n return space;\\n}\\n\\n/** Visit cookie indicating scanning of an object. */\\n// @ts-ignore: decorator\\n@inline const VISIT_SCAN = 0;\\n\\n// \u2552\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 Managed object layout (32-bit) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2555\\n// 3 2 1\\n// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 bits\\n// \u251C\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2524\\n// \u2502 Memory manager block \u2502\\n// \u255E\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2564\u2550\u2550\u2550\u2561\\n// \u2502 next \u2502 C \u2502 = nextWithColor\\n// \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2524\\n// \u2502 prev \u2502\\n// \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524\\n// \u2502 rtId \u2502\\n// \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524\\n// \u2502 rtSize \u2502\\n// \u255E>ptr\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2561\\n// \u2502 ... \u2502\\n// C: color\\n\\n/** Represents a managed object in memory, consisting of a header followed by the object's data. */\\n@unmanaged class Object extends BLOCK {\\n /** Pointer to the next object with color flags stored in the alignment bits. */\\n nextWithColor: usize; // *u32\\n /** Pointer to the previous object. */\\n prev: Object; // *u32\\n /** Runtime id. */\\n rtId: u32;\\n /** Runtime size. */\\n rtSize: u32;\\n\\n /** Gets the pointer to the next object. */\\n get next(): Object {\\n return changetype(this.nextWithColor & ~COLOR_MASK);\\n }\\n\\n /** Sets the pointer to the next object. */\\n set next(obj: Object) {\\n this.nextWithColor = changetype(obj) | (this.nextWithColor & COLOR_MASK);\\n }\\n\\n /** Gets this object's color. */\\n get color(): i32 {\\n return i32(this.nextWithColor & COLOR_MASK);\\n }\\n\\n /** Sets this object's color. */\\n set color(color: i32) {\\n this.nextWithColor = (this.nextWithColor & ~COLOR_MASK) | color;\\n }\\n\\n /** Gets the size of this object in memory. */\\n get size(): usize {\\n return BLOCK_OVERHEAD + (this.mmInfo & ~3);\\n }\\n\\n /** Tests if this object is pointerfree. */\\n get isPointerfree(): bool {\\n let rtId = this.rtId;\\n // 0: Object, 1: ArrayBuffer, 2: String\\n return rtId <= idof() || (__typeinfo(rtId) & TypeinfoFlags.POINTERFREE) != 0;\\n }\\n\\n /** Unlinks this object from its list. */\\n unlink(): void {\\n let next = this.next;\\n if (next == null) {\\n if (DEBUG) assert(this.prev == null && changetype(this) < __heap_base);\\n return; // static data not yet linked\\n }\\n let prev = this.prev;\\n if (DEBUG) assert(prev);\\n next.prev = prev;\\n prev.next = next;\\n }\\n\\n /** Links this object to the specified list, with the given color. */\\n linkTo(list: Object, withColor: i32): void {\\n let prev = list.prev;\\n this.nextWithColor = changetype(list) | withColor;\\n this.prev = prev;\\n prev.next = this;\\n list.prev = this;\\n }\\n\\n /** Marks this object as gray, that is reachable with unscanned children. */\\n makeGray(): void {\\n if (this == iter) iter = assert(this.prev);\\n this.unlink();\\n this.linkTo(toSpace, this.isPointerfree ? i32(!white) : gray);\\n }\\n}\\n\\n/** Visits all objects considered to be program roots. */\\nfunction visitRoots(cookie: u32): void {\\n __visit_globals(cookie);\\n let pn = pinSpace;\\n let iter = pn.next;\\n while (iter != pn) {\\n if (DEBUG) assert(iter.color == transparent);\\n __visit_members(changetype(iter) + TOTAL_OVERHEAD, cookie);\\n iter = iter.next;\\n }\\n}\\n\\n/** Visits all objects on the stack. */\\nfunction visitStack(cookie: u32): void {\\n let ptr = __stack_pointer;\\n while (ptr < __heap_base) {\\n __visit(load(ptr), cookie);\\n ptr += sizeof();\\n }\\n}\\n\\n/** Performs a single step according to the current state. */\\nfunction step(): usize {\\n // Magic constants responsible for pause times. Obtained experimentally\\n // using the compiler compiling itself. 2048 budget pro run by default.\\n const MARKCOST = isDefined(ASC_GC_MARKCOST) ? ASC_GC_MARKCOST : 1;\\n const SWEEPCOST = isDefined(ASC_GC_SWEEPCOST) ? ASC_GC_SWEEPCOST : 10;\\n let obj: Object;\\n switch (state) {\\n case STATE_IDLE: {\\n state = STATE_MARK;\\n visitCount = 0;\\n visitRoots(VISIT_SCAN);\\n iter = toSpace;\\n return visitCount * MARKCOST;\\n }\\n case STATE_MARK: {\\n let black = i32(!white);\\n obj = iter.next;\\n while (obj != toSpace) {\\n iter = obj;\\n if (obj.color != black) { // skip already-blacks (pointerfree)\\n obj.color = black;\\n visitCount = 0;\\n __visit_members(changetype(obj) + TOTAL_OVERHEAD, VISIT_SCAN);\\n return visitCount * MARKCOST;\\n }\\n obj = obj.next;\\n }\\n visitCount = 0;\\n visitRoots(VISIT_SCAN);\\n obj = iter.next;\\n if (obj == toSpace) {\\n visitStack(VISIT_SCAN);\\n obj = iter.next;\\n while (obj != toSpace) {\\n if (obj.color != black) {\\n obj.color = black;\\n __visit_members(changetype(obj) + TOTAL_OVERHEAD, VISIT_SCAN);\\n }\\n obj = obj.next;\\n }\\n let from = fromSpace;\\n fromSpace = toSpace;\\n toSpace = from;\\n white = black;\\n iter = from.next;\\n state = STATE_SWEEP;\\n }\\n return visitCount * MARKCOST;\\n }\\n case STATE_SWEEP: {\\n obj = iter;\\n if (obj != toSpace) {\\n iter = obj.next;\\n if (DEBUG) assert(obj.color == i32(!white)); // old white\\n free(obj);\\n return SWEEPCOST;\\n }\\n toSpace.nextWithColor = changetype(toSpace);\\n toSpace.prev = toSpace;\\n state = STATE_IDLE;\\n break;\\n }\\n }\\n return 0;\\n}\\n\\n/** Frees an object. */\\nfunction free(obj: Object): void {\\n if (changetype(obj) < __heap_base) {\\n obj.nextWithColor = 0; // may become linked again\\n obj.prev = changetype(0);\\n } else {\\n total -= obj.size;\\n if (isDefined(__finalize)) {\\n __finalize(changetype(obj) + TOTAL_OVERHEAD);\\n }\\n __free(changetype(obj) + BLOCK_OVERHEAD);\\n }\\n}\\n\\n// Garbage collector interface\\n\\n// @ts-ignore: decorator\\n@global @unsafe\\nexport function __new(size: usize, id: i32): usize {\\n if (size >= OBJECT_MAXSIZE) throw new Error(E_ALLOCATION_TOO_LARGE);\\n if (total >= threshold) interrupt();\\n let obj = changetype(__alloc(OBJECT_OVERHEAD + size) - BLOCK_OVERHEAD);\\n obj.rtId = id;\\n obj.rtSize = size;\\n obj.linkTo(fromSpace, white); // inits next/prev\\n total += obj.size;\\n let ptr = changetype(obj) + TOTAL_OVERHEAD;\\n // may be visited before being fully initialized, so must fill\\n memory.fill(ptr, 0, size);\\n return ptr;\\n}\\n\\n// @ts-ignore: decorator\\n@global @unsafe\\nexport function __renew(oldPtr: usize, size: usize): usize {\\n let oldObj = changetype(oldPtr - TOTAL_OVERHEAD);\\n // Update object size if its block is large enough\\n if (size <= (oldObj.mmInfo & ~3) - OBJECT_OVERHEAD) {\\n oldObj.rtSize = size;\\n return oldPtr;\\n }\\n // If not the same object anymore, we have to move it move it due to the\\n // shadow stack potentially still referencing the old object\\n let newPtr = __new(size, oldObj.rtId);\\n memory.copy(newPtr, oldPtr, min(size, oldObj.rtSize));\\n return newPtr;\\n}\\n\\n// @ts-ignore: decorator\\n@global @unsafe\\nexport function __link(parentPtr: usize, childPtr: usize, expectMultiple: bool): void {\\n // Write barrier is unnecessary if non-incremental\\n if (!childPtr) return;\\n if (DEBUG) assert(parentPtr);\\n let child = changetype(childPtr - TOTAL_OVERHEAD);\\n if (child.color == white) {\\n let parent = changetype(parentPtr - TOTAL_OVERHEAD);\\n let parentColor = parent.color;\\n if (parentColor == i32(!white)) {\\n // Maintain the invariant that no black object may point to a white object.\\n if (expectMultiple) {\\n // Move the barrier \\\"backward\\\". Suitable for containers receiving multiple stores.\\n // Avoids a barrier for subsequent objects stored into the same container.\\n parent.makeGray();\\n } else {\\n // Move the barrier \\\"forward\\\". Suitable for objects receiving isolated stores.\\n child.makeGray();\\n }\\n } else if (parentColor == transparent && state == STATE_MARK) {\\n // Pinned objects are considered 'black' during the mark phase.\\n child.makeGray();\\n }\\n }\\n}\\n\\n// @ts-ignore: decorator\\n@lazy let visitCount = 0;\\n\\n// @ts-ignore: decorator\\n@global @unsafe\\nexport function __visit(ptr: usize, cookie: i32): void {\\n if (!ptr) return;\\n let obj = changetype(ptr - TOTAL_OVERHEAD);\\n if (RTRACE) if (!onvisit(obj)) return;\\n if (obj.color == white) {\\n obj.makeGray();\\n ++visitCount;\\n }\\n}\\n\\n// @ts-ignore: decorator\\n@global @unsafe\\nexport function __pin(ptr: usize): usize {\\n if (ptr) {\\n let obj = changetype(ptr - TOTAL_OVERHEAD);\\n if (obj.color == transparent) {\\n throw new Error(E_ALREADY_PINNED);\\n }\\n obj.unlink(); // from fromSpace\\n obj.linkTo(pinSpace, transparent);\\n }\\n return ptr;\\n}\\n\\n// @ts-ignore: decorator\\n@global @unsafe\\nexport function __unpin(ptr: usize): void {\\n if (!ptr) return;\\n let obj = changetype(ptr - TOTAL_OVERHEAD);\\n if (obj.color != transparent) {\\n throw new Error(E_NOT_PINNED);\\n }\\n if (state == STATE_MARK) {\\n // We may be right at the point after marking roots for the second time and\\n // entering the sweep phase, in which case the object would be missed if it\\n // is not only pinned but also a root. Make sure it isn't missed.\\n obj.makeGray();\\n } else {\\n obj.unlink();\\n obj.linkTo(fromSpace, white);\\n }\\n}\\n\\n// @ts-ignore: decorator\\n@global @unsafe\\nexport function __collect(): void {\\n if (TRACE) trace(\\\"GC (full) at\\\", 1, total);\\n if (state > STATE_IDLE) {\\n // finish current cycle\\n while (state != STATE_IDLE) step();\\n }\\n // perform a full cycle\\n step();\\n while (state != STATE_IDLE) step();\\n threshold = (total * IDLEFACTOR / 100) + GRANULARITY;\\n if (TRACE) trace(\\\"GC (full) done at cur/max\\\", 2, total, memory.size() << 16);\\n if (RTRACE || PROFILE) oncollect(total);\\n}\\n\\n// Garbage collector automation\\n\\n/** How often to interrupt. The default of 1024 means \\\"interrupt each 1024 bytes allocated\\\". */\\n// @ts-ignore: decorator\\n@inline const GRANULARITY: usize = isDefined(ASC_GC_GRANULARITY) ? ASC_GC_GRANULARITY : 1024;\\n/** How long to interrupt. The default of 200% means \\\"run at double the speed of allocations\\\". */\\n// @ts-ignore: decorator\\n@inline const STEPFACTOR: usize = isDefined(ASC_GC_SWEEPFACTOR) ? ASC_GC_SWEEPFACTOR : 200;\\n/** How long to idle. The default of 200% means \\\"wait for memory to double before kicking in again\\\". */\\n// @ts-ignore: decorator\\n@inline const IDLEFACTOR: usize = isDefined(ASC_GC_IDLEFACTOR) ? ASC_GC_IDLEFACTOR : 200;\\n\\n/** Threshold of memory used by objects to exceed before interrupting again. */\\n// @ts-ignore: decorator\\n@lazy let threshold: usize = ((memory.size() << 16) - __heap_base) >> 1;\\n\\n/** Performs a reasonable amount of incremental GC steps. */\\nfunction interrupt(): void {\\n if (PROFILE) oninterrupt(total);\\n if (TRACE) trace(\\\"GC (auto) at\\\", 1, total);\\n let budget: isize = GRANULARITY * STEPFACTOR / 100;\\n do {\\n budget -= step();\\n if (state == STATE_IDLE) {\\n if (TRACE) trace(\\\"\u2514 GC (auto) done at cur/max\\\", 2, total, memory.size() << 16);\\n threshold = (total * IDLEFACTOR / 100) + GRANULARITY;\\n if (PROFILE) onyield(total);\\n return;\\n }\\n } while (budget > 0);\\n if (TRACE) trace(\\\"\u2514 GC (auto) ongoing at\\\", 1, total);\\n threshold = total + GRANULARITY * usize(total - threshold < GRANULARITY);\\n if (PROFILE) onyield(total);\\n}\\n\",\n \"rt/rtrace\": \"import { BLOCK } from \\\"./common\\\";\\n\\nexport declare function oninit(heapBase: usize): void;\\n\\n// Memory Allocator\\nexport declare function onalloc(block: BLOCK): void;\\nexport declare function onresize(block: BLOCK, oldSizeInclOverhead: usize): void;\\nexport declare function onmove(oldBlock: BLOCK, newBlock: BLOCK): void;\\nexport declare function onfree(block: BLOCK): void;\\n\\n// Garbage collector\\nexport declare function onvisit(block: BLOCK): bool;\\nexport declare function oncollect(total: usize): void;\\nexport declare function oninterrupt(total: usize): void;\\nexport declare function onyield(total: usize): void;\\n\",\n \"rt/stub\": \"import { AL_MASK, OBJECT, OBJECT_OVERHEAD, BLOCK_MAXSIZE, BLOCK_OVERHEAD, BLOCK, OBJECT_MAXSIZE } from \\\"./common\\\";\\nimport { E_ALLOCATION_TOO_LARGE } from \\\"../util/error\\\";\\n\\n// === A minimal runtime stub ===\\n\\n// @ts-ignore: decorator\\n@lazy let startOffset: usize = ((__heap_base + BLOCK_OVERHEAD + AL_MASK) & ~AL_MASK) - BLOCK_OVERHEAD;\\n// @ts-ignore: decorator\\n@lazy let offset: usize = startOffset;\\n\\nfunction maybeGrowMemory(newOffset: usize): void {\\n // assumes newOffset is aligned\\n let pagesBefore = memory.size();\\n let maxOffset = ((pagesBefore << 16) + AL_MASK) & ~AL_MASK;\\n if (newOffset > maxOffset) {\\n let pagesNeeded = (((newOffset - maxOffset + 0xffff) & ~0xffff) >>> 16);\\n let pagesWanted = max(pagesBefore, pagesNeeded); // double memory\\n if (memory.grow(pagesWanted) < 0) {\\n if (memory.grow(pagesNeeded) < 0) unreachable(); // out of memory\\n }\\n }\\n offset = newOffset;\\n}\\n\\n// @ts-ignore: decorator\\n@inline function computeSize(size: usize): usize {\\n return ((size + BLOCK_OVERHEAD + AL_MASK) & ~AL_MASK) - BLOCK_OVERHEAD;\\n}\\n\\n// @ts-ignore: decorator\\n@unsafe @global\\nexport function __alloc(size: usize): usize {\\n if (size > BLOCK_MAXSIZE) throw new Error(E_ALLOCATION_TOO_LARGE);\\n let block = changetype(offset);\\n let ptr = offset + BLOCK_OVERHEAD;\\n let payloadSize = computeSize(size);\\n maybeGrowMemory(ptr + payloadSize);\\n block.mmInfo = payloadSize;\\n return ptr;\\n}\\n\\n// @ts-ignore: decorator\\n@unsafe @global\\nexport function __realloc(ptr: usize, size: usize): usize {\\n assert(ptr != 0 && !(ptr & AL_MASK)); // must exist and be aligned\\n let block = changetype(ptr - BLOCK_OVERHEAD);\\n let actualSize = block.mmInfo;\\n let isLast = ptr + actualSize == offset;\\n let payloadSize = computeSize(size);\\n if (size > actualSize) {\\n if (isLast) { // last block: grow\\n if (size > BLOCK_MAXSIZE) throw new Error(E_ALLOCATION_TOO_LARGE);\\n maybeGrowMemory(ptr + payloadSize);\\n block.mmInfo = payloadSize;\\n } else { // copy to new block at least double the size\\n let newPtr = __alloc(max(payloadSize, actualSize << 1));\\n memory.copy(newPtr, ptr, actualSize);\\n block = changetype((ptr = newPtr) - BLOCK_OVERHEAD);\\n }\\n } else if (isLast) { // last block: shrink\\n offset = ptr + payloadSize;\\n block.mmInfo = payloadSize;\\n }\\n return ptr;\\n}\\n\\n// @ts-ignore: decorator\\n@unsafe @global\\nexport function __free(ptr: usize): void {\\n assert(ptr != 0 && !(ptr & AL_MASK)); // must exist and be aligned\\n let block = changetype(ptr - BLOCK_OVERHEAD);\\n if (ptr + block.mmInfo == offset) { // last block: discard\\n offset = changetype(block);\\n }\\n}\\n\\n// @ts-ignore: decorator\\n@unsafe @global\\nexport function __reset(): void { // special\\n offset = startOffset;\\n}\\n\\n// @ts-ignore: decorator\\n@unsafe @global\\nexport function __new(size: usize, id: u32): usize {\\n if (size > OBJECT_MAXSIZE) throw new Error(E_ALLOCATION_TOO_LARGE);\\n let ptr = __alloc(OBJECT_OVERHEAD + size);\\n let object = changetype(ptr - BLOCK_OVERHEAD);\\n object.gcInfo = 0;\\n object.gcInfo2 = 0;\\n object.rtId = id;\\n object.rtSize = size;\\n return ptr + OBJECT_OVERHEAD;\\n}\\n\\n// @ts-ignore: decorator\\n@unsafe @global\\nexport function __renew(oldPtr: usize, size: usize): usize {\\n if (size > OBJECT_MAXSIZE) throw new Error(E_ALLOCATION_TOO_LARGE);\\n let newPtr = __realloc(oldPtr - OBJECT_OVERHEAD, OBJECT_OVERHEAD + size);\\n changetype(newPtr - BLOCK_OVERHEAD).rtSize = size;\\n return newPtr + OBJECT_OVERHEAD;\\n}\\n\\n// @ts-ignore: decorator\\n@global @unsafe\\nexport function __link(parentPtr: usize, childPtr: usize, expectMultiple: bool): void {\\n // nop\\n}\\n\\n// @ts-ignore: decorator\\n@global @unsafe\\nexport function __pin(ptr: usize): usize {\\n return ptr;\\n}\\n\\n// @ts-ignore: decorator\\n@global @unsafe\\nexport function __unpin(ptr: usize): void {\\n // nop\\n}\\n\\n// @ts-ignore: decorator\\n@global @unsafe\\nfunction __visit(ptr: usize, cookie: u32): void { // eslint-disable-line @typescript-eslint/no-unused-vars\\n // nop\\n}\\n\\n// @ts-ignore: decorator\\n@global @unsafe\\nexport function __collect(): void {\\n // nop\\n}\\n\",\n \"rt/tcms\": \"import { BLOCK, BLOCK_OVERHEAD, OBJECT_OVERHEAD, OBJECT_MAXSIZE, TOTAL_OVERHEAD, DEBUG, TRACE, RTRACE } from \\\"./common\\\";\\nimport { onvisit, oncollect } from \\\"./rtrace\\\";\\nimport { E_ALLOCATION_TOO_LARGE, E_ALREADY_PINNED, E_NOT_PINNED } from \\\"../util/error\\\";\\n\\n// === TCMS: A Two-Color Mark & Sweep garbage collector ===\\n\\n// \u2552\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2564\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 Colors \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2555\\n// \u2502 Color \u2502 Meaning \u2502\\n// \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524\\n// \u2502 WHITE* \u2502 Unreachable \u2502\\n// \u2502 BLACK* \u2502 Reachable \u2502\\n// \u2502 TRANSPARENT \u2502 Manually pinned (always reachable) \u2502\\n// \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\\n// * flipped between cycles\\n\\n// @ts-ignore: decorator\\n@lazy let white = 0;\\n// @ts-ignore: decorator\\n@inline const transparent = 3;\\n// @ts-ignore: decorator\\n@inline const COLOR_MASK = 3;\\n\\n/** Size in memory of all objects currently managed by the GC. */\\n// @ts-ignore: decorator\\n@lazy let total: usize = 0;\\n\\n// @ts-ignore: decorator\\n@lazy let fromSpace = initLazy(changetype(memory.data(offsetof())));\\n// @ts-ignore: decorator\\n@lazy let toSpace = initLazy(changetype(memory.data(offsetof())));\\n// @ts-ignore: decorator\\n@lazy let pinSpace = initLazy(changetype(memory.data(offsetof())));\\n\\nfunction initLazy(space: Object): Object {\\n space.nextWithColor = changetype(space);\\n space.prev = space;\\n return space;\\n}\\n\\n/** Visit cookie indicating scanning of an object. */\\n// @ts-ignore: decorator\\n@inline const VISIT_SCAN = 0;\\n\\n// \u2552\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 Managed object layout (32-bit) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2555\\n// 3 2 1\\n// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 bits\\n// \u251C\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2524\\n// \u2502 Memory manager block \u2502\\n// \u255E\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2564\u2550\u2550\u2550\u2561\\n// \u2502 next \u2502 C \u2502 = nextWithColor\\n// \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2524\\n// \u2502 prev \u2502\\n// \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524\\n// \u2502 rtId \u2502\\n// \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524\\n// \u2502 rtSize \u2502\\n// \u255E>ptr\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2561\\n// \u2502 ... \u2502\\n// C: color\\n\\n/** Represents a managed object in memory, consisting of a header followed by the object's data. */\\n@unmanaged class Object extends BLOCK {\\n /** Pointer to the next object with color flags stored in the alignment bits. */\\n nextWithColor: usize; // *u32\\n /** Pointer to the previous object. */\\n prev: Object; // *u32\\n /** Runtime id. */\\n rtId: u32;\\n /** Runtime size. */\\n rtSize: u32;\\n\\n /** Gets the pointer to the next object. */\\n get next(): Object {\\n return changetype(this.nextWithColor & ~COLOR_MASK);\\n }\\n\\n /** Sets the pointer to the next object. */\\n set next(obj: Object) {\\n this.nextWithColor = changetype(obj) | (this.nextWithColor & COLOR_MASK);\\n }\\n\\n /** Gets this object's color. */\\n get color(): i32 {\\n return i32(this.nextWithColor & COLOR_MASK);\\n }\\n\\n /** Sets this object's color. */\\n set color(color: i32) {\\n this.nextWithColor = (this.nextWithColor & ~COLOR_MASK) | color;\\n }\\n\\n /** Gets the size of this object in memory. */\\n get size(): usize {\\n return BLOCK_OVERHEAD + (this.mmInfo & ~3);\\n }\\n\\n /** Unlinks this object from its list. */\\n unlink(): void {\\n let next = this.next;\\n if (next == null) {\\n if (DEBUG) assert(this.prev == null && changetype(this) < __heap_base);\\n return; // static data not yet linked\\n }\\n let prev = this.prev;\\n if (DEBUG) assert(prev);\\n next.prev = prev;\\n prev.next = next;\\n }\\n\\n /** Links this object to the specified list, with the given color. */\\n linkTo(list: Object, withColor: i32): void {\\n let prev = list.prev;\\n this.nextWithColor = changetype(list) | withColor;\\n this.prev = prev;\\n prev.next = this;\\n list.prev = this;\\n }\\n}\\n\\n// Garbage collector interface\\n\\n// @ts-ignore: decorator\\n@global @unsafe\\nexport function __new(size: usize, id: i32): usize {\\n if (size > OBJECT_MAXSIZE) throw new Error(E_ALLOCATION_TOO_LARGE);\\n let obj = changetype(__alloc(OBJECT_OVERHEAD + size) - BLOCK_OVERHEAD);\\n obj.rtId = id;\\n obj.rtSize = size;\\n obj.linkTo(fromSpace, white);\\n total += obj.size;\\n return changetype(obj) + TOTAL_OVERHEAD;\\n}\\n\\n// @ts-ignore: decorator\\n@global @unsafe\\nexport function __renew(oldPtr: usize, size: usize): usize {\\n let oldObj = changetype(oldPtr - TOTAL_OVERHEAD);\\n if (oldPtr < __heap_base) { // move to heap for simplicity\\n let newPtr = __new(size, oldObj.rtId);\\n memory.copy(newPtr, oldPtr, min(size, oldObj.rtSize));\\n return newPtr;\\n }\\n if (size > OBJECT_MAXSIZE) throw new Error(E_ALLOCATION_TOO_LARGE);\\n total -= oldObj.size;\\n let newPtr = __realloc(oldPtr - OBJECT_OVERHEAD, OBJECT_OVERHEAD + size) + OBJECT_OVERHEAD;\\n let newObj = changetype(newPtr - TOTAL_OVERHEAD);\\n newObj.rtSize = size;\\n\\n // Replace with new object\\n newObj.next.prev = newObj;\\n newObj.prev.next = newObj;\\n\\n total += newObj.size;\\n return newPtr;\\n}\\n\\n// @ts-ignore: decorator\\n@global @unsafe\\nexport function __link(parentPtr: usize, childPtr: usize, expectMultiple: bool): void {\\n // nop\\n}\\n\\n// @ts-ignore: decorator\\n@global @unsafe\\nexport function __visit(ptr: usize, cookie: i32): void {\\n if (!ptr) return;\\n let obj = changetype(ptr - TOTAL_OVERHEAD);\\n if (RTRACE) if (!onvisit(obj)) return;\\n if (obj.color == white) {\\n obj.unlink(); // from fromSpace\\n obj.linkTo(toSpace, i32(!white));\\n }\\n}\\n\\n// @ts-ignore: decorator\\n@global @unsafe\\nexport function __pin(ptr: usize): usize {\\n if (ptr) {\\n let obj = changetype(ptr - TOTAL_OVERHEAD);\\n if (obj.color == transparent) {\\n throw new Error(E_ALREADY_PINNED);\\n }\\n obj.unlink(); // from fromSpace\\n obj.linkTo(pinSpace, transparent);\\n }\\n return ptr;\\n}\\n\\n// @ts-ignore: decorator\\n@global @unsafe\\nexport function __unpin(ptr: usize): void {\\n if (!ptr) return;\\n let obj = changetype(ptr - TOTAL_OVERHEAD);\\n if (obj.color != transparent) {\\n throw new Error(E_NOT_PINNED);\\n }\\n obj.unlink(); // from pinSpace\\n obj.linkTo(fromSpace, white);\\n}\\n\\n// @ts-ignore: decorator\\n@global @unsafe\\nexport function __collect(): void {\\n if (TRACE) trace(\\\"GC at\\\", 1, total);\\n\\n // Mark roots (add to toSpace)\\n __visit_globals(VISIT_SCAN);\\n\\n // Mark direct members of pinned objects (add to toSpace)\\n let pn = pinSpace;\\n let iter = pn.next;\\n while (iter != pn) {\\n if (DEBUG) assert(iter.color == transparent);\\n __visit_members(changetype(iter) + TOTAL_OVERHEAD, VISIT_SCAN);\\n iter = iter.next;\\n }\\n\\n // Mark what's reachable from toSpace\\n let black = i32(!white);\\n let to = toSpace;\\n iter = to.next;\\n while (iter != to) {\\n if (DEBUG) assert(iter.color == black);\\n __visit_members(changetype(iter) + TOTAL_OVERHEAD, VISIT_SCAN);\\n iter = iter.next;\\n }\\n\\n // Sweep what's left in fromSpace\\n let from = fromSpace;\\n iter = from.next;\\n while (iter != from) {\\n if (DEBUG) assert(iter.color == white);\\n let newNext = iter.next;\\n if (changetype(iter) < __heap_base) {\\n iter.nextWithColor = 0; // may become linked again\\n iter.prev = changetype(0);\\n } else {\\n total -= iter.size;\\n if (isDefined(__finalize)) __finalize(changetype(iter) + TOTAL_OVERHEAD);\\n __free(changetype(iter) + BLOCK_OVERHEAD);\\n }\\n iter = newNext;\\n }\\n from.nextWithColor = changetype(from);\\n from.prev = from;\\n\\n // Flip spaces and colors\\n fromSpace = to;\\n toSpace = from;\\n white = black;\\n\\n if (TRACE) trace(\\\"GC done at\\\", 1, total);\\n if (RTRACE) oncollect(total);\\n}\\n\",\n \"rt/tlsf\": \"import { AL_BITS, AL_SIZE, AL_MASK, DEBUG, BLOCK, BLOCK_OVERHEAD, BLOCK_MAXSIZE } from \\\"./common\\\";\\nimport { oninit, onalloc, onresize, onmove, onfree } from \\\"./rtrace\\\";\\nimport { E_ALLOCATION_TOO_LARGE } from \\\"../util/error\\\";\\n\\n// === The TLSF (Two-Level Segregate Fit) memory allocator ===\\n// see: http://www.gii.upv.es/tlsf/\\n\\n// - `ffs(x)` is equivalent to `ctz(x)` with x != 0\\n// - `fls(x)` is equivalent to `sizeof(x) * 8 - clz(x) - 1`\\n\\n// \u2552\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 Block size interpretation (32-bit) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2555\\n// 3 2 1\\n// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 bits\\n// \u251C\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u253C\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u256B\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2524\\n// \u2502 | FL \u2502 SB = SL + AL \u2502 \u25C4\u2500 usize\\n// \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2568\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\\n// FL: first level, SL: second level, AL: alignment, SB: small block\\n\\n// @ts-ignore: decorator\\n@inline const SL_BITS: u32 = 4;\\n// @ts-ignore: decorator\\n@inline const SL_SIZE: u32 = 1 << SL_BITS;\\n\\n// @ts-ignore: decorator\\n@inline const SB_BITS: u32 = SL_BITS + AL_BITS;\\n// @ts-ignore: decorator\\n@inline const SB_SIZE: u32 = 1 << SB_BITS;\\n\\n// @ts-ignore: decorator\\n@inline const FL_BITS: u32 = 31 - SB_BITS;\\n\\n// [00]: < 256B (SB) [12]: < 1M\\n// [01]: < 512B [13]: < 2M\\n// [02]: < 1K [14]: < 4M\\n// [03]: < 2K [15]: < 8M\\n// [04]: < 4K [16]: < 16M\\n// [05]: < 8K [17]: < 32M\\n// [06]: < 16K [18]: < 64M\\n// [07]: < 32K [19]: < 128M\\n// [08]: < 64K [20]: < 256M\\n// [09]: < 128K [21]: < 512M\\n// [10]: < 256K [22]: <= 1G - OVERHEAD\\n// [11]: < 512K\\n// VMs limit to 2GB total (currently), making one 1G block max (or three 512M etc.) due to block overhead\\n\\n// Tags stored in otherwise unused alignment bits\\n\\n// @ts-ignore: decorator\\n@inline const FREE: usize = 1 << 0;\\n// @ts-ignore: decorator\\n@inline const LEFTFREE: usize = 1 << 1;\\n// @ts-ignore: decorator\\n@inline const TAGS_MASK: usize = FREE | LEFTFREE; // <= AL_MASK\\n\\n// \u2552\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 Block layout (32-bit) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2555\\n// 3 2 1\\n// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 bits\\n// \u251C\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u253C\u2500\u253C\u2500\u2524 \u2510\\n// \u2502 size \u2502L\u2502F\u2502 \u25C4\u2500\u2510 info overhead\\n// \u255E>ptr\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2567\u2550\u2567\u2550\u2561 \u2502 \u2518\\n// \u2502 if free: \u25C4 prev \u2502 \u25C4\u2500\u2524 usize\\n// \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524 \u2502\\n// \u2502 if free: next \u25BA \u2502 \u25C4\u2500\u2524\\n// \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524 \u2502\\n// \u2502 ... \u2502 \u2502 >= 0\\n// \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524 \u2502\\n// \u2502 if free: back \u25B2 \u2502 \u25C4\u2500\u2518\\n// \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 >= MIN SIZE\\n// F: FREE, L: LEFTFREE\\n@unmanaged export class Block extends BLOCK {\\n\\n /** Previous free block, if any. Only valid if free, otherwise part of payload. */\\n prev: Block | null;\\n /** Next free block, if any. Only valid if free, otherwise part of payload. */\\n next: Block | null;\\n\\n // If the block is free, there is a 'back'reference at its end pointing at its start.\\n}\\n\\n// Block constants. A block must have a minimum size of three pointers so it can hold `prev`,\\n// `next` and `back` if free.\\n\\n// @ts-ignore: decorator\\n@inline const BLOCK_MINSIZE: usize = ((3 * sizeof() + BLOCK_OVERHEAD + AL_MASK) & ~AL_MASK) - BLOCK_OVERHEAD; // prev + next + back\\n// @ts-ignore: decorator\\n// @inline const BLOCK_MAXSIZE: usize = 1 << (FL_BITS + SB_BITS - 1); // exclusive, lives in common.ts\\n\\n/** Gets the left block of a block. Only valid if the left block is free. */\\n// @ts-ignore: decorator\\n@inline function GETFREELEFT(block: Block): Block {\\n return load(changetype(block) - sizeof());\\n}\\n\\n/** Gets the right block of a block by advancing to the right by its size. */\\n// @ts-ignore: decorator\\n@inline function GETRIGHT(block: Block): Block {\\n return changetype(changetype(block) + BLOCK_OVERHEAD + (block.mmInfo & ~TAGS_MASK));\\n}\\n\\n// \u2552\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 Root layout (32-bit) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2555\\n// 3 2 1\\n// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 bits\\n// \u251C\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2524 \u2510\\n// \u2502 0 | flMap S\u2502 \u25C4\u2500\u2500\u2500\u2500\u2510\\n// \u255E\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2561 \u2502\\n// \u2502 slMap[0] S \u2502 \u25C4\u2500\u2510 \u2502\\n// \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524 \u2502 \u2502\\n// \u2502 slMap[1] \u2502 \u25C4\u2500\u2524 \u2502\\n// \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524 u32 \u2502\\n// \u2502 slMap[22] \u2502 \u25C4\u2500\u2518 \u2502\\n// \u255E\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2561 usize\\n// \u2502 head[0] \u2502 \u25C4\u2500\u2500\u2500\u2500\u2524\\n// \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524 \u2502\\n// \u2502 ... \u2502 \u25C4\u2500\u2500\u2500\u2500\u2524\\n// \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524 \u2502\\n// \u2502 head[367] \u2502 \u25C4\u2500\u2500\u2500\u2500\u2524\\n// \u255E\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2561 \u2502\\n// \u2502 tail \u2502 \u25C4\u2500\u2500\u2500\u2500\u2518\\n// \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 SIZE \u2518\\n// S: Small blocks map\\n@unmanaged class Root {\\n /** First level bitmap. */\\n flMap: usize;\\n}\\n\\n// Root constants. Where stuff is stored inside of the root structure.\\n\\n// @ts-ignore: decorator\\n@inline const SL_START: usize = sizeof();\\n// @ts-ignore: decorator\\n@inline const SL_END: usize = SL_START + (FL_BITS << alignof());\\n// @ts-ignore: decorator\\n@inline const HL_START: usize = (SL_END + AL_MASK) & ~AL_MASK;\\n// @ts-ignore: decorator\\n@inline const HL_END: usize = HL_START + FL_BITS * SL_SIZE * sizeof();\\n// @ts-ignore: decorator\\n@inline const ROOT_SIZE: usize = HL_END + sizeof();\\n\\n// @ts-ignore: decorator\\n@lazy export let ROOT: Root = changetype(0); // unsafe initializion below\\n\\n/** Gets the second level map of the specified first level. */\\n// @ts-ignore: decorator\\n@inline function GETSL(root: Root, fl: usize): u32 {\\n return load(\\n changetype(root) + (fl << alignof()),\\n SL_START\\n );\\n}\\n\\n/** Sets the second level map of the specified first level. */\\n// @ts-ignore: decorator\\n@inline function SETSL(root: Root, fl: usize, slMap: u32): void {\\n store(\\n changetype(root) + (fl << alignof()),\\n slMap,\\n SL_START\\n );\\n}\\n\\n/** Gets the head of the free list for the specified combination of first and second level. */\\n// @ts-ignore: decorator\\n@inline function GETHEAD(root: Root, fl: usize, sl: u32): Block | null {\\n return load(\\n changetype(root) + (((fl << SL_BITS) + sl) << alignof()),\\n HL_START\\n );\\n}\\n\\n/** Sets the head of the free list for the specified combination of first and second level. */\\n// @ts-ignore: decorator\\n@inline function SETHEAD(root: Root, fl: usize, sl: u32, head: Block | null): void {\\n store(\\n changetype(root) + (((fl << SL_BITS) + sl) << alignof()),\\n head,\\n HL_START\\n );\\n}\\n\\n/** Gets the tail block.. */\\n// @ts-ignore: decorator\\n@inline function GETTAIL(root: Root): Block {\\n return load(\\n changetype(root),\\n HL_END\\n );\\n}\\n\\n/** Sets the tail block. */\\n// @ts-ignore: decorator\\n@inline function SETTAIL(root: Root, tail: Block): void {\\n store(\\n changetype(root),\\n tail,\\n HL_END\\n );\\n}\\n\\n/** Inserts a previously used block back into the free list. */\\nfunction insertBlock(root: Root, block: Block): void {\\n if (DEBUG) assert(block); // cannot be null\\n let blockInfo = block.mmInfo;\\n if (DEBUG) assert(blockInfo & FREE); // must be free\\n\\n let right = GETRIGHT(block);\\n let rightInfo = right.mmInfo;\\n\\n // merge with right block if also free\\n if (rightInfo & FREE) {\\n removeBlock(root, right);\\n block.mmInfo = blockInfo = blockInfo + BLOCK_OVERHEAD + (rightInfo & ~TAGS_MASK); // keep block tags\\n right = GETRIGHT(block);\\n rightInfo = right.mmInfo;\\n // 'back' is set below\\n }\\n\\n // merge with left block if also free\\n if (blockInfo & LEFTFREE) {\\n let left = GETFREELEFT(block);\\n let leftInfo = left.mmInfo;\\n if (DEBUG) assert(leftInfo & FREE); // must be free according to right tags\\n removeBlock(root, left);\\n block = left;\\n block.mmInfo = blockInfo = leftInfo + BLOCK_OVERHEAD + (blockInfo & ~TAGS_MASK); // keep left tags\\n // 'back' is set below\\n }\\n\\n right.mmInfo = rightInfo | LEFTFREE;\\n // reference to right is no longer used now, hence rightInfo is not synced\\n\\n // we now know the size of the block\\n let size = blockInfo & ~TAGS_MASK;\\n if (DEBUG) assert(size >= BLOCK_MINSIZE); // must be a valid size\\n if (DEBUG) assert(changetype(block) + BLOCK_OVERHEAD + size == changetype(right)); // must match\\n\\n // set 'back' to itself at the end of block\\n store(changetype(right) - sizeof(), block);\\n\\n // mapping_insert\\n let fl: usize, sl: u32;\\n if (size < SB_SIZE) {\\n fl = 0;\\n sl = (size >> AL_BITS);\\n } else {\\n const inv: usize = sizeof() * 8 - 1;\\n let boundedSize = min(size, BLOCK_MAXSIZE);\\n fl = inv - clz(boundedSize);\\n sl = ((boundedSize >> (fl - SL_BITS)) ^ (1 << SL_BITS));\\n fl -= SB_BITS - 1;\\n }\\n if (DEBUG) assert(fl < FL_BITS && sl < SL_SIZE); // fl/sl out of range\\n\\n // perform insertion\\n let head = GETHEAD(root, fl, sl);\\n block.prev = null;\\n block.next = head;\\n if (head) head.prev = block;\\n SETHEAD(root, fl, sl, block);\\n\\n // update first and second level maps\\n root.flMap |= (1 << fl);\\n SETSL(root, fl, GETSL(root, fl) | (1 << sl));\\n}\\n\\n/** Removes a free block from internal lists. */\\nfunction removeBlock(root: Root, block: Block): void {\\n let blockInfo = block.mmInfo;\\n if (DEBUG) assert(blockInfo & FREE); // must be free\\n let size = blockInfo & ~TAGS_MASK;\\n if (DEBUG) assert(size >= BLOCK_MINSIZE); // must be valid\\n\\n // mapping_insert\\n let fl: usize, sl: u32;\\n if (size < SB_SIZE) {\\n fl = 0;\\n sl = (size >> AL_BITS);\\n } else {\\n const inv: usize = sizeof() * 8 - 1;\\n let boundedSize = min(size, BLOCK_MAXSIZE);\\n fl = inv - clz(boundedSize);\\n sl = ((boundedSize >> (fl - SL_BITS)) ^ (1 << SL_BITS));\\n fl -= SB_BITS - 1;\\n }\\n if (DEBUG) assert(fl < FL_BITS && sl < SL_SIZE); // fl/sl out of range\\n\\n // link previous and next free block\\n let prev = block.prev;\\n let next = block.next;\\n if (prev) prev.next = next;\\n if (next) next.prev = prev;\\n\\n // update head if we are removing it\\n if (block == GETHEAD(root, fl, sl)) {\\n SETHEAD(root, fl, sl, next);\\n\\n // clear second level map if head is empty now\\n if (!next) {\\n let slMap = GETSL(root, fl);\\n SETSL(root, fl, slMap &= ~(1 << sl));\\n\\n // clear first level map if second level is empty now\\n if (!slMap) root.flMap &= ~(1 << fl);\\n }\\n }\\n // note: does not alter left/back because it is likely that splitting\\n // is performed afterwards, invalidating those changes. so, the caller\\n // must perform those updates.\\n}\\n\\nfunction roundSize(size: usize): usize {\\n const halfMaxSize = BLOCK_MAXSIZE >> 1; // don't round last fl\\n const inv: usize = sizeof() * 8 - 1;\\n const invRound = inv - SL_BITS;\\n return size < halfMaxSize\\n ? size + (1 << (invRound - clz(size))) - 1\\n : size;\\n}\\n\\n/** Searches for a free block of at least the specified size. */\\nfunction searchBlock(root: Root, size: usize): Block | null {\\n // size was already asserted by caller\\n\\n // mapping_search\\n let fl: usize, sl: u32;\\n if (size < SB_SIZE) {\\n fl = 0;\\n sl = (size >> AL_BITS);\\n } else {\\n const requestSize = roundSize(size);\\n fl = sizeof() * 8 - 1 - clz(requestSize);\\n sl = ((requestSize >> (fl - SL_BITS)) ^ (1 << SL_BITS));\\n fl -= SB_BITS - 1;\\n }\\n if (DEBUG) assert(fl < FL_BITS && sl < SL_SIZE); // fl/sl out of range\\n\\n // search second level\\n let slMap = GETSL(root, fl) & (~0 << sl);\\n let head: Block | null = null;\\n if (!slMap) {\\n // search next larger first level\\n let flMap = root.flMap & (~0 << (fl + 1));\\n if (!flMap) {\\n head = null;\\n } else {\\n fl = ctz(flMap);\\n slMap = GETSL(root, fl);\\n if (DEBUG) assert(slMap); // can't be zero if fl points here\\n head = GETHEAD(root, fl, ctz(slMap));\\n }\\n } else {\\n head = GETHEAD(root, fl, ctz(slMap));\\n }\\n return head;\\n}\\n\\n/** Prepares the specified block before (re-)use, possibly splitting it. */\\nfunction prepareBlock(root: Root, block: Block, size: usize): void {\\n // size was already asserted by caller\\n\\n let blockInfo = block.mmInfo;\\n if (DEBUG) assert(!((size + BLOCK_OVERHEAD) & AL_MASK)); // size must be aligned so the new block is\\n\\n // split if the block can hold another MINSIZE block incl. overhead\\n let remaining = (blockInfo & ~TAGS_MASK) - size;\\n if (remaining >= BLOCK_OVERHEAD + BLOCK_MINSIZE) {\\n block.mmInfo = size | (blockInfo & LEFTFREE); // also discards FREE\\n\\n let spare = changetype(changetype(block) + BLOCK_OVERHEAD + size);\\n spare.mmInfo = (remaining - BLOCK_OVERHEAD) | FREE; // not LEFTFREE\\n insertBlock(root, spare); // also sets 'back'\\n\\n // otherwise tag block as no longer FREE and right as no longer LEFTFREE\\n } else {\\n block.mmInfo = blockInfo & ~FREE;\\n GETRIGHT(block).mmInfo &= ~LEFTFREE;\\n }\\n}\\n\\n/** Adds more memory to the pool. */\\nfunction addMemory(root: Root, start: usize, endU64: u64): bool {\\n let end = endU64;\\n if (DEBUG) assert(start <= endU64); // must be valid\\n start = ((start + BLOCK_OVERHEAD + AL_MASK) & ~AL_MASK) - BLOCK_OVERHEAD;\\n end &= ~AL_MASK;\\n\\n let tail = GETTAIL(root);\\n let tailInfo: usize = 0;\\n if (tail) { // more memory\\n if (DEBUG) assert(start >= changetype(tail) + BLOCK_OVERHEAD);\\n\\n // merge with current tail if adjacent\\n const offsetToTail = AL_SIZE;\\n if (start - offsetToTail == changetype(tail)) {\\n start -= offsetToTail;\\n tailInfo = tail.mmInfo;\\n } else {\\n // We don't do this, but a user might `memory.grow` manually\\n // leading to non-adjacent pages managed by TLSF.\\n }\\n\\n } else if (DEBUG) { // first memory\\n assert(start >= changetype(root) + ROOT_SIZE); // starts after root\\n }\\n\\n // check if size is large enough for a free block and the tail block\\n let size = end - start;\\n if (size < BLOCK_OVERHEAD + BLOCK_MINSIZE + BLOCK_OVERHEAD) {\\n return false;\\n }\\n\\n // left size is total minus its own and the zero-length tail's header\\n let leftSize = size - 2 * BLOCK_OVERHEAD;\\n let left = changetype(start);\\n left.mmInfo = leftSize | FREE | (tailInfo & LEFTFREE);\\n left.prev = null;\\n left.next = null;\\n\\n // tail is a zero-length used block\\n tail = changetype(start + BLOCK_OVERHEAD + leftSize);\\n tail.mmInfo = 0 | LEFTFREE;\\n SETTAIL(root, tail);\\n\\n insertBlock(root, left); // also merges with free left before tail / sets 'back'\\n\\n return true;\\n}\\n\\n/** Grows memory to fit at least another block of the specified size. */\\nfunction growMemory(root: Root, size: usize): void {\\n if (ASC_LOW_MEMORY_LIMIT) {\\n unreachable();\\n return;\\n }\\n // Here, both rounding performed in searchBlock ...\\n if (size >= SB_SIZE) {\\n size = roundSize(size);\\n }\\n // and additional BLOCK_OVERHEAD must be taken into account. If we are going\\n // to merge with the tail block, that's one time, otherwise it's two times.\\n let pagesBefore = memory.size();\\n size += BLOCK_OVERHEAD << usize((pagesBefore << 16) - BLOCK_OVERHEAD != changetype(GETTAIL(root)));\\n let pagesNeeded = (((size + 0xffff) & ~0xffff) >>> 16);\\n let pagesWanted = max(pagesBefore, pagesNeeded); // double memory\\n if (memory.grow(pagesWanted) < 0) {\\n if (memory.grow(pagesNeeded) < 0) unreachable();\\n }\\n let pagesAfter = memory.size();\\n addMemory(root, pagesBefore << 16, pagesAfter << 16);\\n}\\n\\n/** Computes the size (excl. header) of a block. */\\nfunction computeSize(size: usize): usize {\\n // Size must be large enough and aligned minus preceeding overhead\\n return size <= BLOCK_MINSIZE\\n ? BLOCK_MINSIZE\\n : ((size + BLOCK_OVERHEAD + AL_MASK) & ~AL_MASK) - BLOCK_OVERHEAD;\\n}\\n\\n/** Prepares and checks an allocation size. */\\nfunction prepareSize(size: usize): usize {\\n if (size > BLOCK_MAXSIZE) throw new Error(E_ALLOCATION_TOO_LARGE);\\n return computeSize(size);\\n}\\n\\n/** Initializes the root structure. */\\nfunction initialize(): void {\\n if (isDefined(ASC_RTRACE)) oninit(__heap_base);\\n let rootOffset = (__heap_base + AL_MASK) & ~AL_MASK;\\n let pagesBefore = memory.size();\\n let pagesNeeded = ((((rootOffset + ROOT_SIZE) + 0xffff) & ~0xffff) >>> 16);\\n if (pagesNeeded > pagesBefore && memory.grow(pagesNeeded - pagesBefore) < 0) unreachable();\\n let root = changetype(rootOffset);\\n root.flMap = 0;\\n SETTAIL(root, changetype(0));\\n for (let fl: usize = 0; fl < FL_BITS; ++fl) {\\n SETSL(root, fl, 0);\\n for (let sl: u32 = 0; sl < SL_SIZE; ++sl) {\\n SETHEAD(root, fl, sl, null);\\n }\\n }\\n let memStart = rootOffset + ROOT_SIZE;\\n if (ASC_LOW_MEMORY_LIMIT) {\\n const memEnd = ASC_LOW_MEMORY_LIMIT & ~AL_MASK;\\n if (memStart <= memEnd) addMemory(root, memStart, memEnd);\\n else unreachable(); // low memory limit already exceeded\\n } else {\\n addMemory(root, memStart, memory.size() << 16);\\n }\\n ROOT = root;\\n}\\n\\n/** Allocates a block of the specified size. */\\nexport function allocateBlock(root: Root, size: usize): Block {\\n let payloadSize = prepareSize(size);\\n let block = searchBlock(root, payloadSize);\\n if (!block) {\\n growMemory(root, payloadSize);\\n block = changetype(searchBlock(root, payloadSize));\\n if (DEBUG) assert(block); // must be found now\\n }\\n if (DEBUG) assert((block.mmInfo & ~TAGS_MASK) >= payloadSize); // must fit\\n removeBlock(root, block);\\n prepareBlock(root, block, payloadSize);\\n if (isDefined(ASC_RTRACE)) onalloc(block);\\n return block;\\n}\\n\\n/** Reallocates a block to the specified size. */\\nexport function reallocateBlock(root: Root, block: Block, size: usize): Block {\\n let payloadSize = prepareSize(size);\\n let blockInfo = block.mmInfo;\\n let blockSize = blockInfo & ~TAGS_MASK;\\n\\n // possibly split and update runtime size if it still fits\\n if (payloadSize <= blockSize) {\\n prepareBlock(root, block, payloadSize);\\n if (isDefined(ASC_RTRACE)) {\\n if (payloadSize != blockSize) onresize(block, BLOCK_OVERHEAD + blockSize);\\n }\\n return block;\\n }\\n\\n // merge with right free block if merger is large enough\\n let right = GETRIGHT(block);\\n let rightInfo = right.mmInfo;\\n if (rightInfo & FREE) {\\n let mergeSize = blockSize + BLOCK_OVERHEAD + (rightInfo & ~TAGS_MASK);\\n if (mergeSize >= payloadSize) {\\n removeBlock(root, right);\\n block.mmInfo = (blockInfo & TAGS_MASK) | mergeSize;\\n prepareBlock(root, block, payloadSize);\\n if (isDefined(ASC_RTRACE)) onresize(block, BLOCK_OVERHEAD + blockSize);\\n return block;\\n }\\n }\\n\\n // otherwise move the block\\n return moveBlock(root, block, size);\\n}\\n\\n/** Moves a block to a new one of the specified size. */\\nfunction moveBlock(root: Root, block: Block, newSize: usize): Block {\\n let newBlock = allocateBlock(root, newSize);\\n memory.copy(changetype(newBlock) + BLOCK_OVERHEAD, changetype(block) + BLOCK_OVERHEAD, block.mmInfo & ~TAGS_MASK);\\n if (changetype(block) >= __heap_base) {\\n if (isDefined(ASC_RTRACE)) onmove(block, newBlock);\\n freeBlock(root, block);\\n }\\n return newBlock;\\n}\\n\\n/** Frees a block. */\\nexport function freeBlock(root: Root, block: Block): void {\\n if (isDefined(ASC_RTRACE)) onfree(block);\\n block.mmInfo = block.mmInfo | FREE;\\n insertBlock(root, block);\\n}\\n\\n/** Checks that a used block is valid to be freed or reallocated. */\\nfunction checkUsedBlock(ptr: usize): Block {\\n let block = changetype(ptr - BLOCK_OVERHEAD);\\n assert(\\n ptr != 0 && !(ptr & AL_MASK) && // must exist and be aligned\\n !(block.mmInfo & FREE) // must be used\\n );\\n return block;\\n}\\n\\n// @ts-ignore: decorator\\n@global @unsafe\\nexport function __alloc(size: usize): usize {\\n if (!ROOT) initialize();\\n return changetype(allocateBlock(ROOT, size)) + BLOCK_OVERHEAD;\\n}\\n\\n// @ts-ignore: decorator\\n@global @unsafe\\nexport function __realloc(ptr: usize, size: usize): usize {\\n if (!ROOT) initialize();\\n return (ptr < __heap_base\\n ? changetype(moveBlock(ROOT, checkUsedBlock(ptr), size))\\n : changetype(reallocateBlock(ROOT, checkUsedBlock(ptr), size))\\n ) + BLOCK_OVERHEAD;\\n}\\n\\n// @ts-ignore: decorator\\n@global @unsafe\\nexport function __free(ptr: usize): void {\\n if (ptr < __heap_base) return;\\n if (!ROOT) initialize();\\n freeBlock(ROOT, checkUsedBlock(ptr));\\n}\\n\",\n \"set\": \"/// \\n\\nimport { HASH } from \\\"./util/hash\\\";\\n\\n// A deterministic hash set based on CloseTable from https://github.com/jorendorff/dht\\n\\n// @ts-ignore: decorator\\n@inline const INITIAL_CAPACITY = 4;\\n\\n// @ts-ignore: decorator\\n@inline const FILL_FACTOR_N = 8;\\n\\n// @ts-ignore: decorator\\n@inline const FILL_FACTOR_D = 3;\\n\\n// @ts-ignore: decorator\\n@inline const FREE_FACTOR_N = 3;\\n\\n// @ts-ignore: decorator\\n@inline const FREE_FACTOR_D = 4;\\n\\n/** Structure of a set entry. */\\n@unmanaged class SetEntry {\\n key: K;\\n taggedNext: usize; // LSB=1 indicates EMPTY\\n}\\n\\n/** Empty bit. */\\n// @ts-ignore: decorator\\n@inline const EMPTY: usize = 1 << 0;\\n\\n/** Size of a bucket. */\\n// @ts-ignore: decorator\\n@inline const BUCKET_SIZE = sizeof();\\n\\n/** Computes the alignment of an entry. */\\n// @ts-ignore: decorator\\n@inline\\nfunction ENTRY_ALIGN(): usize {\\n // can align to 4 instead of 8 if 32-bit and K is <= 32-bits\\n const align = (sizeof() > sizeof() ? sizeof() : sizeof()) - 1;\\n return align;\\n}\\n\\n/** Computes the aligned size of an entry. */\\n// @ts-ignore: decorator\\n@inline\\nfunction ENTRY_SIZE(): usize {\\n const align = ENTRY_ALIGN();\\n const size = (offsetof>() + align) & ~align;\\n return size;\\n}\\n\\nexport class Set {\\n\\n // buckets referencing their respective first entry, usize[bucketsMask + 1]\\n private buckets: ArrayBuffer = new ArrayBuffer(INITIAL_CAPACITY * BUCKET_SIZE);\\n private bucketsMask: u32 = INITIAL_CAPACITY - 1;\\n\\n // entries in insertion order, SetEntry[entriesCapacity]\\n private entries: ArrayBuffer = new ArrayBuffer(INITIAL_CAPACITY * ENTRY_SIZE());\\n private entriesCapacity: i32 = INITIAL_CAPACITY;\\n private entriesOffset: i32 = 0;\\n private entriesCount: i32 = 0;\\n\\n constructor() {\\n /* nop */\\n }\\n\\n get size(): i32 {\\n return this.entriesCount;\\n }\\n\\n clear(): void {\\n this.buckets = new ArrayBuffer(INITIAL_CAPACITY * BUCKET_SIZE);\\n this.bucketsMask = INITIAL_CAPACITY - 1;\\n this.entries = new ArrayBuffer(INITIAL_CAPACITY * ENTRY_SIZE());\\n this.entriesCapacity = INITIAL_CAPACITY;\\n this.entriesOffset = 0;\\n this.entriesCount = 0;\\n }\\n\\n private find(key: T, hashCode: u32): SetEntry | null {\\n let entry = load>( // unmanaged!\\n changetype(this.buckets) + (hashCode & this.bucketsMask) * BUCKET_SIZE\\n );\\n while (entry) {\\n let taggedNext = entry.taggedNext;\\n if (!(taggedNext & EMPTY) && entry.key == key) return entry;\\n entry = changetype>(taggedNext & ~EMPTY);\\n }\\n return null;\\n }\\n\\n @operator(\\\"[]\\\")\\n has(key: T): bool {\\n return this.find(key, HASH(key)) != null;\\n }\\n\\n add(key: T): this {\\n let hashCode = HASH(key);\\n let entry = this.find(key, hashCode); // unmanaged!\\n if (!entry) {\\n // check if rehashing is necessary\\n if (this.entriesOffset == this.entriesCapacity) {\\n this.rehash(\\n this.entriesCount < this.entriesCapacity * FREE_FACTOR_N / FREE_FACTOR_D\\n ? this.bucketsMask // just rehash if 1/4+ entries are empty\\n : (this.bucketsMask << 1) | 1 // grow capacity to next 2^N\\n );\\n }\\n // append new entry\\n entry = changetype>(changetype(this.entries) + (this.entriesOffset++) * ENTRY_SIZE());\\n entry.key = key;\\n if (isManaged()) {\\n __link(changetype(this), changetype(key), true);\\n }\\n ++this.entriesCount;\\n // link with previous entry in bucket\\n let bucketPtrBase = changetype(this.buckets) + (hashCode & this.bucketsMask) * BUCKET_SIZE;\\n entry.taggedNext = load(bucketPtrBase);\\n store(bucketPtrBase, changetype(entry));\\n }\\n return this;\\n }\\n\\n @operator(\\\"[]=\\\")\\n private __set(key: T, value: bool): void {\\n if (value) this.add(key);\\n else this.delete(key);\\n }\\n\\n delete(key: T): bool {\\n let entry = this.find(key, HASH(key)); // unmanaged!\\n if (!entry) return false;\\n entry.taggedNext |= EMPTY;\\n --this.entriesCount;\\n // check if rehashing is appropriate\\n let halfBucketsMask = this.bucketsMask >> 1;\\n if (\\n halfBucketsMask + 1 >= max(INITIAL_CAPACITY, this.entriesCount) &&\\n this.entriesCount < this.entriesCapacity * FREE_FACTOR_N / FREE_FACTOR_D\\n ) this.rehash(halfBucketsMask);\\n return true;\\n }\\n\\n private rehash(newBucketsMask: u32): void {\\n let newBucketsCapacity = (newBucketsMask + 1);\\n let newBuckets = new ArrayBuffer(newBucketsCapacity * BUCKET_SIZE);\\n let newEntriesCapacity = newBucketsCapacity * FILL_FACTOR_N / FILL_FACTOR_D;\\n let newEntries = new ArrayBuffer(newEntriesCapacity * ENTRY_SIZE());\\n\\n // copy old entries to new entries\\n let oldPtr = changetype(this.entries);\\n let oldEnd = oldPtr + this.entriesOffset * ENTRY_SIZE();\\n let newPtr = changetype(newEntries);\\n while (oldPtr != oldEnd) {\\n let oldEntry = changetype>(oldPtr); // unmanaged!\\n if (!(oldEntry.taggedNext & EMPTY)) {\\n let newEntry = changetype>(newPtr); // unmanaged!\\n let oldEntryKey = oldEntry.key;\\n newEntry.key = oldEntryKey;\\n let newBucketIndex = HASH(oldEntryKey) & newBucketsMask;\\n let newBucketPtrBase = changetype(newBuckets) + newBucketIndex * BUCKET_SIZE;\\n newEntry.taggedNext = load(newBucketPtrBase);\\n store(newBucketPtrBase, newPtr);\\n newPtr += ENTRY_SIZE();\\n }\\n oldPtr += ENTRY_SIZE();\\n }\\n\\n this.buckets = newBuckets;\\n this.bucketsMask = newBucketsMask;\\n this.entries = newEntries;\\n this.entriesCapacity = newEntriesCapacity;\\n this.entriesOffset = this.entriesCount;\\n }\\n\\n values(): T[] {\\n // FIXME: this is preliminary, needs iterators/closures\\n let start = changetype(this.entries);\\n let size = this.entriesOffset;\\n let values = new Array(size);\\n let length = 0;\\n for (let i = 0; i < size; ++i) {\\n let entry = changetype>(start + i * ENTRY_SIZE());\\n if (!(entry.taggedNext & EMPTY)) {\\n unchecked(values[length++] = entry.key);\\n }\\n }\\n values.length = length;\\n return values;\\n }\\n\\n toString(): string {\\n return \\\"[object Set]\\\";\\n }\\n\\n // RT integration\\n\\n @unsafe private __visit(cookie: u32): void {\\n __visit(changetype(this.buckets), cookie);\\n let entries = changetype(this.entries);\\n if (isManaged()) {\\n let cur = entries;\\n let end = cur + this.entriesOffset * ENTRY_SIZE();\\n while (cur < end) {\\n let entry = changetype>(cur);\\n if (!(entry.taggedNext & EMPTY)) {\\n let val = changetype(entry.key);\\n if (isNullable()) {\\n if (val) __visit(val, cookie);\\n } else __visit(val, cookie);\\n }\\n cur += ENTRY_SIZE();\\n }\\n }\\n __visit(entries, cookie);\\n }\\n}\\n\",\n \"shared/feature\": \"// This file is shared with the compiler and must remain portable\\n\\n/** Indicates specific features to activate. */\\nexport const enum Feature {\\n /** No additional features. */\\n None = 0,\\n /** Sign extension operations. */\\n SignExtension = 1 << 0, // see: https://github.com/WebAssembly/sign-extension-ops\\n /** Mutable global imports and exports. */\\n MutableGlobals = 1 << 1, // see: https://github.com/WebAssembly/mutable-global\\n /** Non-trapping float to integer operations. */\\n NontrappingF2I = 1 << 2, // see: https://github.com/WebAssembly/nontrapping-float-to-int-conversions\\n /** Bulk memory operations. */\\n BulkMemory = 1 << 3, // see: https://github.com/WebAssembly/bulk-memory-operations\\n /** SIMD types and operations. */\\n Simd = 1 << 4, // see: https://github.com/WebAssembly/simd\\n /** Threading and atomic operations. */\\n Threads = 1 << 5, // see: https://github.com/WebAssembly/threads\\n /** Exception handling operations. */\\n ExceptionHandling = 1 << 6, // see: https://github.com/WebAssembly/exception-handling\\n /** Tail call operations. */\\n TailCalls = 1 << 7, // see: https://github.com/WebAssembly/tail-call\\n /** Reference types. */\\n ReferenceTypes = 1 << 8, // see: https://github.com/WebAssembly/reference-types\\n /** Multi value types. */\\n MultiValue = 1 << 9, // see: https://github.com/WebAssembly/multi-value\\n /** Garbage collection. */\\n GC = 1 << 10, // see: https://github.com/WebAssembly/gc\\n /** Memory64. */\\n Memory64 = 1 << 11, // see: https://github.com/WebAssembly/memory64\\n /** Relaxed SIMD. */\\n RelaxedSimd = 1 << 12, // see: https://github.com/WebAssembly/relaxed-simd\\n /** Extended const expressions. */\\n ExtendedConst = 1 << 13, // see: https://github.com/WebAssembly/extended-const\\n /** Reference typed strings. */\\n Stringref = 1 << 14, // see: https://github.com/WebAssembly/stringref\\n /** All features. */\\n All = (1 << 15) - 1\\n}\\n\\n/** Gets the name of the specified feature one would specify on the command line. */\\nexport function featureToString(feature: Feature): string {\\n switch (feature) {\\n case Feature.SignExtension: return \\\"sign-extension\\\";\\n case Feature.MutableGlobals: return \\\"mutable-globals\\\";\\n case Feature.NontrappingF2I: return \\\"nontrapping-f2i\\\";\\n case Feature.BulkMemory: return \\\"bulk-memory\\\";\\n case Feature.Simd: return \\\"simd\\\";\\n case Feature.Threads: return \\\"threads\\\";\\n case Feature.ExceptionHandling: return \\\"exception-handling\\\";\\n case Feature.TailCalls: return \\\"tail-calls\\\";\\n case Feature.ReferenceTypes: return \\\"reference-types\\\";\\n case Feature.MultiValue: return \\\"multi-value\\\";\\n case Feature.GC: return \\\"gc\\\";\\n case Feature.Memory64: return \\\"memory64\\\";\\n case Feature.RelaxedSimd: return \\\"relaxed-simd\\\";\\n case Feature.ExtendedConst: return \\\"extended-const\\\";\\n case Feature.Stringref: return \\\"stringref\\\";\\n }\\n assert(false);\\n return \\\"\\\";\\n}\\n\",\n \"shared/runtime\": \"// This file is shared with the compiler and must remain portable\\n\\n/** Runtime types. */\\nexport enum Runtime {\\n /** Simple bump allocator without GC. */\\n Stub = 0,\\n /** Stop the world semi-automatic GC. */\\n Minimal = 1,\\n /** incremental GC. */\\n Incremental = 2,\\n}\\n\",\n \"shared/target\": \"// This file is shared with the compiler and must remain portable\\n\\n/** Compilation target. */\\nexport enum Target {\\n /** Portable. */\\n Js = 0,\\n /** WebAssembly with 32-bit pointers. */\\n Wasm32 = 1,\\n /** WebAssembly with 64-bit pointers. Experimental and not supported by any runtime yet. */\\n Wasm64 = 2,\\n}\\n\",\n \"shared/typeinfo\": \"// This file is shared with the compiler and must remain portable\\n\\n// \u2552\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 Typeinfo interpretation \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2555\\n// 3 2 1\\n// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 bits\\n// \u251C\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2524 \u25C4\u2500 __rtti_base\\n// \u2502 count \u2502\\n// \u255E\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2561 \u2510\\n// \u2502 Typeinfo#flags [id=0] \u2502 id < count\\n// \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524\\n// \u2502 ... \u2502\\n\\n/** Runtime type information data structure. */\\n@unmanaged\\nexport class Typeinfo {\\n /** Flags describing the shape of this class type. */\\n flags: TypeinfoFlags = TypeinfoFlags.NONE;\\n}\\n\\n/** Runtime type information flags. */\\nexport const enum TypeinfoFlags {\\n /** No specific flags. */\\n NONE = 0,\\n /** Type is an `ArrayBufferView`. */\\n ARRAYBUFFERVIEW = 1 << 0,\\n /** Type is an `Array`. */\\n ARRAY = 1 << 1,\\n /** Type is a `StaticArray`. */\\n STATICARRAY = 1 << 2,\\n /** Type is a `Set`. */\\n SET = 1 << 3,\\n /** Type is a `Map`. */\\n MAP = 1 << 4,\\n /** Type has no outgoing pointers. */\\n POINTERFREE = 1 << 5,\\n /** Value alignment of 1 byte. */\\n VALUE_ALIGN_0 = 1 << 6,\\n /** Value alignment of 2 bytes. */\\n VALUE_ALIGN_1 = 1 << 7,\\n /** Value alignment of 4 bytes. */\\n VALUE_ALIGN_2 = 1 << 8,\\n /** Value alignment of 8 bytes. */\\n VALUE_ALIGN_3 = 1 << 9,\\n /** Value alignment of 16 bytes. */\\n VALUE_ALIGN_4 = 1 << 10,\\n /** Value is a signed type. */\\n VALUE_SIGNED = 1 << 11,\\n /** Value is a float type. */\\n VALUE_FLOAT = 1 << 12,\\n /** Value type is nullable. */\\n VALUE_NULLABLE = 1 << 13,\\n /** Value type is managed. */\\n VALUE_MANAGED = 1 << 14,\\n /** Key alignment of 1 byte. */\\n KEY_ALIGN_0 = 1 << 15,\\n /** Key alignment of 2 bytes. */\\n KEY_ALIGN_1 = 1 << 16,\\n /** Key alignment of 4 bytes. */\\n KEY_ALIGN_2 = 1 << 17,\\n /** Key alignment of 8 bytes. */\\n KEY_ALIGN_3 = 1 << 18,\\n /** Key alignment of 16 bytes. */\\n KEY_ALIGN_4 = 1 << 19,\\n /** Key is a signed type. */\\n KEY_SIGNED = 1 << 20,\\n /** Key is a float type. */\\n KEY_FLOAT = 1 << 21,\\n /** Key type is nullable. */\\n KEY_NULLABLE = 1 << 22,\\n /** Key type is managed. */\\n KEY_MANAGED = 1 << 23\\n}\\n\",\n \"staticarray\": \"/// \\n\\nimport { OBJECT, BLOCK_MAXSIZE, TOTAL_OVERHEAD } from \\\"./rt/common\\\";\\nimport { Runtime } from \\\"shared/runtime\\\";\\nimport { COMPARATOR, SORT } from \\\"./util/sort\\\";\\nimport { REVERSE, FILL } from \\\"./util/bytes\\\";\\nimport { idof } from \\\"./builtins\\\";\\nimport { Array } from \\\"./array\\\";\\nimport { E_INDEXOUTOFRANGE, E_INVALIDLENGTH, E_HOLEYARRAY } from \\\"./util/error\\\";\\nimport { joinBooleanArray, joinIntegerArray, joinFloatArray, joinStringArray, joinReferenceArray } from \\\"./util/string\\\";\\n\\n@final\\nexport class StaticArray {\\n [key: number]: T;\\n\\n // Note that the interface of StaticArray instances must be a semantically\\n // compatible subset of Array in order for syntax highlighting to work\\n // properly, for instance when creating static arrays from array literals.\\n // The additionally provided static methods take care of dealing with static\\n // arrays exclusively, without having to convert to Array first.\\n\\n static fromArray(source: Array): StaticArray {\\n let length = source.length;\\n let outSize = length << alignof();\\n let out = changetype>(__new(outSize, idof>()));\\n if (isManaged()) {\\n let sourcePtr = source.dataStart;\\n for (let i = 0; i < length; ++i) {\\n let off = i << alignof();\\n let ref = load(sourcePtr + off);\\n store(changetype(out) + off, ref);\\n __link(changetype(out), ref, true);\\n }\\n } else {\\n memory.copy(changetype(out), source.dataStart, outSize);\\n }\\n return out;\\n }\\n\\n /** @deprecated Please use source.concat> instead. */\\n static concat(source: StaticArray, other: StaticArray): StaticArray {\\n return source.concat>(other);\\n }\\n\\n /** @deprecated Please use source.slice> instead. */\\n static slice(source: StaticArray, start: i32 = 0, end: i32 = i32.MAX_VALUE): StaticArray {\\n return source.slice>(start, end);\\n }\\n\\n constructor(length: i32) {\\n if (length > BLOCK_MAXSIZE >>> alignof()) throw new RangeError(E_INVALIDLENGTH);\\n let outSize = length << alignof();\\n let out = changetype>(__new(outSize, idof>()));\\n if (ASC_RUNTIME != Runtime.Incremental) {\\n memory.fill(changetype(out), 0, outSize);\\n }\\n return out;\\n }\\n\\n get length(): i32 {\\n return changetype(changetype(this) - TOTAL_OVERHEAD).rtSize >>> alignof();\\n }\\n\\n at(index: i32): T {\\n let len = this.length;\\n index += select(0, len, index >= 0);\\n if (index >= len) throw new RangeError(E_INDEXOUTOFRANGE);\\n let value = load(changetype(this) + (index << alignof()));\\n if (isReference()) {\\n if (!isNullable()) {\\n if (!changetype(value)) throw new Error(E_HOLEYARRAY);\\n }\\n }\\n return value;\\n }\\n\\n @operator(\\\"[]\\\") private __get(index: i32): T {\\n if (index >= this.length) throw new RangeError(E_INDEXOUTOFRANGE);\\n let value = load(changetype(this) + (index << alignof()));\\n if (isReference()) {\\n if (!isNullable()) {\\n if (!changetype(value)) throw new Error(E_HOLEYARRAY);\\n }\\n }\\n return value;\\n }\\n\\n @unsafe @operator(\\\"{}\\\") private __uget(index: i32): T {\\n return load(changetype(this) + (index << alignof()));\\n }\\n\\n @operator(\\\"[]=\\\") private __set(index: i32, value: T): void {\\n if (index >= this.length) throw new RangeError(E_INDEXOUTOFRANGE);\\n this.__uset(index, value);\\n }\\n\\n @unsafe @operator(\\\"{}=\\\") private __uset(index: i32, value: T): void {\\n store(changetype(this) + (index << alignof()), value);\\n if (isManaged()) {\\n __link(changetype(this), changetype(value), true);\\n }\\n }\\n\\n fill(value: T, start: i32 = 0, end: i32 = i32.MAX_VALUE): StaticArray {\\n if (isManaged()) {\\n FILL(changetype(this), this.length, changetype(value), start, end);\\n __link(changetype(this), changetype(value), false);\\n } else {\\n FILL(changetype(this), this.length, value, start, end);\\n }\\n return this;\\n }\\n\\n copyWithin(target: i32, start: i32, end: i32 = i32.MAX_VALUE): StaticArray {\\n let ptr = changetype(this);\\n let len = this.length;\\n\\n end = min(end, len);\\n\\n let to = target < 0 ? max(len + target, 0) : min(target, len);\\n let from = start < 0 ? max(len + start, 0) : min(start, len);\\n let last = end < 0 ? max(len + end, 0) : min(end, len);\\n let count = min(last - from, len - to);\\n\\n memory.copy( // is memmove\\n ptr + (to << alignof()),\\n ptr + (from << alignof()),\\n count << alignof()\\n );\\n return this;\\n }\\n\\n includes(value: T, fromIndex: i32 = 0): bool {\\n if (isFloat()) {\\n let length = this.length;\\n if (length == 0 || fromIndex >= length) return false;\\n if (fromIndex < 0) fromIndex = max(length + fromIndex, 0);\\n while (fromIndex < length) {\\n let elem = load(changetype(this) + (fromIndex << alignof()));\\n // @ts-ignore\\n if (elem == value || isNaN(elem) & isNaN(value)) return true;\\n ++fromIndex;\\n }\\n return false;\\n } else {\\n return this.indexOf(value, fromIndex) >= 0;\\n }\\n }\\n\\n indexOf(value: T, fromIndex: i32 = 0): i32 {\\n let length = this.length;\\n if (length == 0 || fromIndex >= length) return -1;\\n if (fromIndex < 0) fromIndex = max(length + fromIndex, 0);\\n while (fromIndex < length) {\\n if (load(changetype(this) + (fromIndex << alignof())) == value) return fromIndex;\\n ++fromIndex;\\n }\\n return -1;\\n }\\n\\n lastIndexOf(value: T, fromIndex: i32 = this.length): i32 {\\n let length = this.length;\\n if (length == 0) return -1;\\n if (fromIndex < 0) fromIndex = length + fromIndex;\\n else if (fromIndex >= length) fromIndex = length - 1;\\n while (fromIndex >= 0) {\\n if (load(changetype(this) + (fromIndex << alignof())) == value) return fromIndex;\\n --fromIndex;\\n }\\n return -1;\\n }\\n\\n concat = Array>(other: U): U {\\n let sourceLen = this.length;\\n let otherLen = other.length;\\n let outLen = sourceLen + otherLen;\\n if (outLen > BLOCK_MAXSIZE >>> alignof()) {\\n throw new Error(E_INVALIDLENGTH);\\n }\\n let sourceSize = sourceLen << alignof();\\n let out = changetype(this); // FIXME: instanceof needs *some* value\\n\\n if (out instanceof Array) {\\n out = changetype(__newArray(outLen, alignof(), idof>()));\\n // ^ FIXME: Function returns type U, but can't __newArray(U extends Array)\\n let outStart = changetype>(out).dataStart;\\n let otherStart = changetype>(other).dataStart;\\n let thisStart = changetype(this);\\n\\n if (isManaged()) {\\n for (let offset: usize = 0; offset < sourceSize; offset += sizeof()) {\\n let ref = load(thisStart + offset);\\n store(outStart + offset, ref);\\n __link(changetype(out), ref, true);\\n }\\n outStart += sourceSize;\\n let otherSize = otherLen << alignof();\\n for (let offset: usize = 0; offset < otherSize; offset += sizeof()) {\\n let ref = load(otherStart + offset);\\n store(outStart + offset, ref);\\n __link(changetype(out), ref, true);\\n }\\n } else {\\n memory.copy(outStart, thisStart, sourceSize);\\n memory.copy(outStart + sourceSize, otherStart, otherLen << alignof());\\n }\\n } else if (out instanceof StaticArray) {\\n out = changetype(__new(outLen << alignof(), idof>()));\\n let outStart = changetype(out);\\n let otherStart = changetype(other);\\n let thisStart = changetype(this);\\n\\n if (isManaged()) {\\n for (let offset: usize = 0; offset < sourceSize; offset += sizeof()) {\\n let ref = load(thisStart + offset);\\n store(outStart + offset, ref);\\n __link(changetype(out), ref, true);\\n }\\n outStart += sourceSize;\\n let otherSize = otherLen << alignof();\\n for (let offset: usize = 0; offset < otherSize; offset += sizeof()) {\\n let ref = load(otherStart + offset);\\n store(outStart + offset, ref);\\n __link(changetype(out), ref, true);\\n }\\n } else {\\n memory.copy(outStart, thisStart, sourceSize);\\n memory.copy(outStart + sourceSize, otherStart, otherLen << alignof());\\n }\\n } else {\\n ERROR(\\\"Only Array and StaticArray accept for 'U' parameter\\\");\\n }\\n return out;\\n }\\n\\n slice = Array>(start: i32 = 0, end: i32 = i32.MAX_VALUE): U {\\n let length = this.length;\\n start = start < 0 ? max(start + length, 0) : min(start, length);\\n end = end < 0 ? max(end + length, 0) : min(end, length);\\n length = max(end - start, 0);\\n\\n let sourceStart = changetype(this) + (start << alignof());\\n let size = length << alignof();\\n let out = changetype(this); // FIXME: instanceof needs *some* value\\n\\n if (out instanceof Array) {\\n // return Array\\n out = changetype(__newArray(length, alignof(), idof>()));\\n // ^ FIXME: Function returns type U, but can't __newArray(U extends Array)\\n let outStart = changetype>(out).dataStart;\\n if (isManaged()) {\\n let off: usize = 0;\\n while (off < size) {\\n let ref = load(sourceStart + off);\\n store(outStart + off, ref);\\n __link(changetype(out), ref, true);\\n off += sizeof();\\n }\\n } else {\\n memory.copy(outStart, sourceStart, size);\\n }\\n } else if (out instanceof StaticArray) {\\n // return StaticArray\\n out = changetype(__new(size, idof>()));\\n let outStart = changetype(out);\\n if (isManaged()) {\\n let off: usize = 0;\\n while (off < size) {\\n let ref = load(sourceStart + off);\\n store(outStart + off, ref);\\n __link(outStart, ref, true);\\n off += sizeof();\\n }\\n } else {\\n memory.copy(outStart, sourceStart, size);\\n }\\n } else {\\n ERROR(\\\"Only Array and StaticArray accept for 'U' parameter\\\");\\n }\\n return out;\\n }\\n\\n findIndex(fn: (value: T, index: i32, array: StaticArray) => bool): i32 {\\n for (let i = 0, len = this.length; i < len; ++i) {\\n if (fn(load(changetype(this) + (i << alignof())), i, this)) return i;\\n }\\n return -1;\\n }\\n\\n findLastIndex(fn: (value: T, index: i32, array: StaticArray) => bool): i32 {\\n for (let i = this.length - 1; i >= 0; --i) {\\n if (fn(load(changetype(this) + (i << alignof())), i, this)) return i;\\n }\\n return -1;\\n }\\n\\n forEach(fn: (value: T, index: i32, array: StaticArray) => void): void {\\n for (let i = 0, len = this.length; i < len; ++i) {\\n fn(load(changetype(this) + (i << alignof())), i, this);\\n }\\n }\\n\\n map(fn: (value: T, index: i32, array: StaticArray) => U): Array {\\n let len = this.length;\\n let out = changetype>(__newArray(len, alignof(), idof>()));\\n let outStart = out.dataStart;\\n for (let i = 0; i < len; ++i) {\\n let result = fn(load(changetype(this) + (i << alignof())), i, this);\\n store(outStart + (i << alignof()), result);\\n if (isManaged()) {\\n __link(changetype(out), changetype(result), true);\\n }\\n }\\n return out;\\n }\\n\\n filter(fn: (value: T, index: i32, array: StaticArray) => bool): Array {\\n let result = changetype>(__newArray(0, alignof(), idof>()));\\n for (let i = 0, len = this.length; i < len; ++i) {\\n let value = load(changetype(this) + (i << alignof()));\\n if (fn(value, i, this)) result.push(value);\\n }\\n return result;\\n }\\n\\n reduce(\\n fn: (previousValue: U, currentValue: T, currentIndex: i32, array: StaticArray) => U,\\n initialValue: U\\n ): U {\\n let acc = initialValue;\\n for (let i = 0, len = this.length; i < len; ++i) {\\n acc = fn(acc, load(changetype(this) + (i << alignof())), i, this);\\n }\\n return acc;\\n }\\n\\n reduceRight(\\n fn: (previousValue: U, currentValue: T, currentIndex: i32, array: StaticArray) => U,\\n initialValue: U\\n ): U {\\n let acc = initialValue;\\n for (let i = this.length - 1; i >= 0; --i) {\\n acc = fn(acc, load(changetype(this) + (i << alignof())), i, this);\\n }\\n return acc;\\n }\\n\\n every(fn: (value: T, index: i32, array: StaticArray) => bool): bool {\\n for (let i = 0, len = this.length; i < len; ++i) {\\n if (!fn(load(changetype(this) + (i << alignof())), i, this)) return false;\\n }\\n return true;\\n }\\n\\n some(fn: (value: T, index: i32, array: StaticArray) => bool): bool {\\n for (let i = 0, len = this.length; i < len; ++i) {\\n if (fn(load(changetype(this) + (i << alignof())), i, this)) return true;\\n }\\n return false;\\n }\\n\\n sort(comparator: (a: T, b: T) => i32 = COMPARATOR()): StaticArray {\\n SORT(changetype(this), this.length, comparator);\\n return this;\\n }\\n\\n join(separator: string = \\\",\\\"): string {\\n if (isBoolean()) return joinBooleanArray(changetype(this), this.length, separator);\\n if (isInteger()) return joinIntegerArray(changetype(this), this.length, separator);\\n if (isFloat()) return joinFloatArray(changetype(this), this.length, separator);\\n if (ASC_SHRINK_LEVEL < 1) {\\n if (isString()) return joinStringArray(changetype(this), this.length, separator);\\n }\\n if (isReference()) return joinReferenceArray(changetype(this), this.length, separator);\\n ERROR(\\\"unspported element type\\\");\\n return unreachable();\\n }\\n\\n reverse(): StaticArray {\\n REVERSE(changetype(this), this.length);\\n return this;\\n }\\n\\n toString(): string {\\n return this.join();\\n }\\n\\n // RT integration\\n\\n @unsafe private __visit(cookie: u32): void {\\n if (isManaged()) {\\n let cur = changetype(this);\\n let end = cur + changetype(changetype(this) - TOTAL_OVERHEAD).rtSize;\\n while (cur < end) {\\n let val = load(cur);\\n if (val) __visit(val, cookie);\\n cur += sizeof();\\n }\\n }\\n }\\n}\\n\",\n \"string\": \"/// \\n\\nimport { OBJECT, BLOCK_MAXSIZE, TOTAL_OVERHEAD } from \\\"./rt/common\\\";\\nimport { compareImpl, strtol, strtod, isSpace, isAscii, isFinalSigma, toLower8, toUpper8 } from \\\"./util/string\\\";\\nimport { SPECIALS_UPPER, casemap, bsearch } from \\\"./util/casemap\\\";\\nimport { E_INDEXOUTOFRANGE, E_INVALIDLENGTH, E_UNPAIRED_SURROGATE } from \\\"./util/error\\\";\\nimport { idof } from \\\"./builtins\\\";\\nimport { Array } from \\\"./array\\\";\\n\\n@final export abstract class String {\\n\\n @lazy static readonly MAX_LENGTH: i32 = (BLOCK_MAXSIZE >>> alignof());\\n\\n static fromCharCode(unit: i32, surr: i32 = -1): String {\\n let hasSur = surr > 0;\\n let out = changetype(__new(2 << i32(hasSur), idof()));\\n store(changetype(out), unit);\\n if (hasSur) store(changetype(out), surr, 2);\\n return out;\\n }\\n\\n static fromCharCodes(units: Array): String {\\n let length = units.length;\\n let out = changetype(__new(length << 1, idof()));\\n let ptr = units.dataStart;\\n for (let i = 0; i < length; ++i) {\\n store(changetype(out) + (i << 1), load(ptr + (i << 2)));\\n }\\n return out;\\n }\\n\\n static fromCodePoint(code: i32): String {\\n let hasSur = code > 0xFFFF;\\n let out = changetype(__new(2 << i32(hasSur), idof()));\\n if (!hasSur) {\\n store(changetype(out), code);\\n } else {\\n // Checks valid code point range\\n assert(code <= 0x10FFFF);\\n code -= 0x10000;\\n let hi = (code & 0x03FF) | 0xDC00;\\n let lo = code >>> 10 | 0xD800;\\n store(changetype(out), lo | hi << 16);\\n }\\n return out;\\n }\\n\\n @builtin static raw(parts: TemplateStringsArray, ...args: unknown[]): string { return unreachable(); }\\n\\n get length(): i32 {\\n return changetype(changetype(this) - TOTAL_OVERHEAD).rtSize >> 1;\\n }\\n\\n at(pos: i32): String {\\n let len = this.length;\\n pos += select(0, len, pos >= 0);\\n if (pos >= len) throw new RangeError(E_INDEXOUTOFRANGE);\\n let out = __new(2, idof());\\n store(out, load(changetype(this) + (pos << 1)));\\n return changetype(out); // retains\\n }\\n\\n @operator(\\\"[]\\\") charAt(pos: i32): String {\\n if (pos >= this.length) return changetype(\\\"\\\");\\n let out = changetype(__new(2, idof()));\\n store(changetype(out), load(changetype(this) + (pos << 1)));\\n return out;\\n }\\n\\n charCodeAt(pos: i32): i32 {\\n if (pos >= this.length) return -1; // (NaN)\\n return load(changetype(this) + (pos << 1));\\n }\\n\\n codePointAt(pos: i32): i32 {\\n let len = this.length;\\n if (pos >= len) return -1; // (undefined)\\n let first = load(changetype(this) + (pos << 1));\\n if ((first & 0xFC00) != 0xD800 || pos + 1 == len) return first;\\n let second = load(changetype(this) + (pos << 1), 2);\\n if ((second & 0xFC00) != 0xDC00) return first;\\n return (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\\n }\\n\\n @operator(\\\"+\\\") private static __concat(left: String, right: String): String {\\n return left.concat(right);\\n }\\n\\n concat(other: String): String {\\n let thisSize: isize = this.length << 1;\\n let otherSize: isize = other.length << 1;\\n let outSize: usize = thisSize + otherSize;\\n if (outSize == 0) return changetype(\\\"\\\");\\n let out = changetype(__new(outSize, idof()));\\n memory.copy(changetype(out), changetype(this), thisSize);\\n memory.copy(changetype(out) + thisSize, changetype(other), otherSize);\\n return out;\\n }\\n\\n endsWith(search: String, end: i32 = String.MAX_LENGTH): bool {\\n end = min(max(end, 0), this.length);\\n let searchLength = search.length;\\n let searchStart = end - searchLength;\\n if (searchStart < 0) return false;\\n // @ts-ignore: string <-> String\\n return !compareImpl(this, searchStart, search, 0, searchLength);\\n }\\n\\n @operator(\\\"==\\\") private static __eq(left: String | null, right: String | null): bool {\\n if (changetype(left) == changetype(right)) return true;\\n if (changetype(left) == 0 || changetype(right) == 0) return false;\\n let leftLength = changetype(left).length;\\n if (leftLength != changetype(right).length) return false;\\n // @ts-ignore: string <-> String\\n return !compareImpl(left, 0, right, 0, leftLength);\\n }\\n\\n @operator.prefix(\\\"!\\\")\\n private static __not(str: String | null): bool {\\n return changetype(str) == 0 || !changetype(str).length;\\n }\\n\\n @operator(\\\"!=\\\")\\n private static __ne(left: String | null, right: String | null): bool {\\n return !this.__eq(left, right);\\n }\\n\\n @operator(\\\">\\\") private static __gt(left: String, right: String): bool {\\n if (changetype(left) == changetype(right)) return false;\\n let leftLength = left.length;\\n if (!leftLength) return false;\\n let rightLength = right.length;\\n if (!rightLength) return true;\\n // @ts-ignore: string <-> String\\n let res = compareImpl(left, 0, right, 0, min(leftLength, rightLength));\\n return res ? res > 0 : leftLength > rightLength;\\n }\\n\\n @operator(\\\">=\\\") private static __gte(left: String, right: String): bool {\\n return !this.__lt(left, right);\\n }\\n\\n @operator(\\\"<\\\") private static __lt(left: String, right: String): bool {\\n if (changetype(left) == changetype(right)) return false;\\n let rightLength = right.length;\\n if (!rightLength) return false;\\n let leftLength = left.length;\\n if (!leftLength) return true;\\n // @ts-ignore: string <-> String\\n let res = compareImpl(left, 0, right, 0, min(leftLength, rightLength));\\n return res ? res < 0 : leftLength < rightLength;\\n }\\n\\n @operator(\\\"<=\\\") private static __lte(left: String, right: String): bool {\\n return !this.__gt(left, right);\\n }\\n\\n includes(search: String, start: i32 = 0): bool {\\n return this.indexOf(search, start) != -1;\\n }\\n\\n indexOf(search: String, start: i32 = 0): i32 {\\n let searchLen = search.length;\\n if (!searchLen) return 0;\\n let len = this.length;\\n if (!len) return -1;\\n let searchStart = min(max(start, 0), len);\\n for (len -= searchLen; searchStart <= len; ++searchStart) {\\n // @ts-ignore: string <-> String\\n if (!compareImpl(this, searchStart, search, 0, searchLen)) return searchStart;\\n }\\n return -1;\\n }\\n\\n lastIndexOf(search: String, start: i32 = i32.MAX_VALUE): i32 {\\n let searchLen = search.length;\\n if (!searchLen) return this.length;\\n let len = this.length;\\n if (!len) return -1;\\n let searchStart = min(max(start, 0), len - searchLen);\\n for (; searchStart >= 0; --searchStart) {\\n // @ts-ignore: string <-> String\\n if (!compareImpl(this, searchStart, search, 0, searchLen)) return searchStart;\\n }\\n return -1;\\n }\\n\\n // TODO: implement full locale comparison with locales and Collator options\\n localeCompare(other: String): i32 {\\n if (changetype(other) == changetype(this)) return 0;\\n let alen = this.length;\\n let blen = other.length;\\n // @ts-ignore: string <-> String\\n let res = compareImpl(this, 0, other, 0, min(alen, blen));\\n res = res ? res : alen - blen;\\n // normalize to [-1, 1] range\\n return i32(res > 0) - i32(res < 0);\\n }\\n\\n startsWith(search: String, start: i32 = 0): bool {\\n let len = this.length;\\n let searchStart = min(max(start, 0), len);\\n let searchLength = search.length;\\n if (searchLength + searchStart > len) return false;\\n // @ts-ignore: string <-> String\\n return !compareImpl(this, searchStart, search, 0, searchLength);\\n }\\n\\n substr(start: i32, length: i32 = i32.MAX_VALUE): String { // legacy\\n let intStart: isize = start;\\n let end: isize = length;\\n let len: isize = this.length;\\n if (intStart < 0) intStart = max(len + intStart, 0);\\n let size = min(max(end, 0), len - intStart) << 1;\\n if (size <= 0) return changetype(\\\"\\\");\\n let out = changetype(__new(size, idof()));\\n memory.copy(changetype(out), changetype(this) + (intStart << 1), size);\\n return out;\\n }\\n\\n substring(start: i32, end: i32 = i32.MAX_VALUE): String {\\n let len: isize = this.length;\\n let finalStart = min(max(start, 0), len);\\n let finalEnd = min(max(end, 0), len);\\n let fromPos = min(finalStart, finalEnd) << 1;\\n let toPos = max(finalStart, finalEnd) << 1;\\n let size = toPos - fromPos;\\n if (!size) return changetype(\\\"\\\");\\n if (!fromPos && toPos == len << 1) return this;\\n let out = changetype(__new(size, idof()));\\n memory.copy(changetype(out), changetype(this) + fromPos, size);\\n return out;\\n }\\n\\n trim(): String {\\n let len = this.length;\\n let size: usize = len << 1;\\n while (size && isSpace(load(changetype(this) + size - 2))) {\\n size -= 2;\\n }\\n let offset: usize = 0;\\n while (offset < size && isSpace(load(changetype(this) + offset))) {\\n offset += 2; size -= 2;\\n }\\n if (!size) return changetype(\\\"\\\");\\n if (!offset && size == len << 1) return this;\\n let out = changetype(__new(size, idof()));\\n memory.copy(changetype(out), changetype(this) + offset, size);\\n return out;\\n }\\n\\n @inline\\n trimLeft(): String {\\n return this.trimStart();\\n }\\n\\n @inline\\n trimRight(): String {\\n return this.trimEnd();\\n }\\n\\n trimStart(): String {\\n let size = this.length << 1;\\n let offset: usize = 0;\\n while (offset < size && isSpace(load(changetype(this) + offset))) {\\n offset += 2;\\n }\\n if (!offset) return this;\\n size -= offset;\\n if (!size) return changetype(\\\"\\\");\\n let out = changetype(__new(size, idof()));\\n memory.copy(changetype(out), changetype(this) + offset, size);\\n return out;\\n }\\n\\n trimEnd(): String {\\n let originalSize = this.length << 1;\\n let size = originalSize;\\n while (size && isSpace(load(changetype(this) + size - 2))) {\\n size -= 2;\\n }\\n if (!size) return changetype(\\\"\\\");\\n if (size == originalSize) return this;\\n let out = changetype(__new(size, idof()));\\n memory.copy(changetype(out), changetype(this), size);\\n return out;\\n }\\n\\n padStart(length: i32, pad: string = \\\" \\\"): String {\\n let thisSize = this.length << 1;\\n let targetSize = length << 1;\\n let padSize = pad.length << 1;\\n if (targetSize < thisSize || !padSize) return this;\\n let prependSize = targetSize - thisSize;\\n let out = changetype(__new(targetSize, idof()));\\n if (prependSize > padSize) {\\n let repeatCount = (prependSize - 2) / padSize;\\n let restBase = repeatCount * padSize;\\n let restSize = prependSize - restBase;\\n memory.repeat(changetype(out), changetype(pad), padSize, repeatCount);\\n memory.copy(changetype(out) + restBase, changetype(pad), restSize);\\n } else {\\n memory.copy(changetype(out), changetype(pad), prependSize);\\n }\\n memory.copy(changetype(out) + prependSize, changetype(this), thisSize);\\n return out;\\n }\\n\\n padEnd(length: i32, pad: string = \\\" \\\"): String {\\n let thisSize = this.length << 1;\\n let targetSize = length << 1;\\n let padSize = pad.length << 1;\\n if (targetSize < thisSize || !padSize) return this;\\n let appendSize = targetSize - thisSize;\\n let out = changetype(__new(targetSize, idof()));\\n memory.copy(changetype(out), changetype(this), thisSize);\\n if (appendSize > padSize) {\\n let repeatCount = (appendSize - 2) / padSize;\\n let restBase = repeatCount * padSize;\\n let restSize = appendSize - restBase;\\n memory.repeat(changetype(out) + thisSize, changetype(pad), padSize, repeatCount);\\n memory.copy(changetype(out) + thisSize + restBase, changetype(pad), restSize);\\n } else {\\n memory.copy(changetype(out) + thisSize, changetype(pad), appendSize);\\n }\\n return out;\\n }\\n\\n repeat(count: i32 = 0): String {\\n let length = this.length;\\n\\n // Most browsers can't handle strings 1 << 28 chars or longer\\n if (count < 0 || length * count > (1 << 28)) {\\n throw new RangeError(E_INVALIDLENGTH);\\n }\\n\\n if (count == 0 || !length) return changetype(\\\"\\\");\\n if (count == 1) return this;\\n let out = changetype(__new((length * count) << 1, idof()));\\n memory.repeat(changetype(out), changetype(this), length << 1, count);\\n return out;\\n }\\n\\n replace(search: String, replacement: String): String {\\n let len: usize = this.length;\\n let slen: usize = search.length;\\n if (len <= slen) {\\n return len < slen ? this : select(replacement, this, search == this);\\n }\\n let index: isize = this.indexOf(search);\\n if (~index) {\\n let rlen: usize = replacement.length;\\n len -= slen;\\n let olen = len + rlen;\\n if (olen) {\\n let out = changetype(__new(olen << 1, idof()));\\n memory.copy(changetype(out), changetype(this), index << 1);\\n memory.copy(\\n changetype(out) + (index << 1),\\n changetype(replacement),\\n rlen << 1\\n );\\n memory.copy(\\n changetype(out) + ((index + rlen) << 1),\\n changetype(this) + ((index + slen) << 1),\\n (len - index) << 1\\n );\\n return out;\\n }\\n }\\n return this;\\n }\\n\\n replaceAll(search: String, replacement: String): String {\\n let thisLen: usize = this.length;\\n let searchLen: usize = search.length;\\n if (thisLen <= searchLen) {\\n return thisLen < searchLen\\n ? this\\n : select(replacement, this, search == this);\\n }\\n let replaceLen: usize = replacement.length;\\n if (!searchLen) {\\n if (!replaceLen) return this;\\n // Special case: 'abc'.replaceAll('', '-') -> '-a-b-c-'\\n let out = changetype(__new((thisLen + (thisLen + 1) * replaceLen) << 1, idof()));\\n memory.copy(changetype(out), changetype(replacement), replaceLen << 1);\\n let offset = replaceLen;\\n for (let i: usize = 0; i < thisLen; ++i) {\\n store(\\n changetype(out) + (offset++ << 1),\\n load(changetype(this) + (i << 1))\\n );\\n memory.copy(\\n changetype(out) + (offset << 1),\\n changetype(replacement),\\n replaceLen << 1\\n );\\n offset += replaceLen;\\n }\\n return out;\\n }\\n let prev: isize = 0, next: isize = 0;\\n if (searchLen == replaceLen) {\\n // Fast path when search and replacement have same length\\n let outSize = thisLen << 1;\\n let out = changetype(__new(outSize, idof()));\\n memory.copy(changetype(out), changetype(this), outSize);\\n while (~(next = this.indexOf(search, prev))) {\\n memory.copy(changetype(out) + (next << 1), changetype(replacement), replaceLen << 1);\\n prev = next + searchLen;\\n }\\n return out;\\n }\\n let out: String | null = null, offset: usize = 0, outSize = thisLen;\\n while (~(next = this.indexOf(search, prev))) {\\n if (!out) out = changetype(__new(thisLen << 1, idof()));\\n let chunk = next - prev;\\n if (offset + chunk + replaceLen > outSize) {\\n outSize <<= 1;\\n out = changetype(__renew(changetype(out), outSize << 1));\\n }\\n memory.copy(\\n changetype(out) + (offset << 1),\\n changetype(this) + (prev << 1),\\n chunk << 1\\n );\\n offset += chunk;\\n memory.copy(\\n changetype(out) + (offset << 1),\\n changetype(replacement),\\n replaceLen << 1\\n );\\n offset += replaceLen;\\n prev = next + searchLen;\\n }\\n if (out) {\\n let rest = thisLen - prev;\\n if (offset + rest > outSize) {\\n outSize <<= 1;\\n out = changetype(__renew(changetype(out), outSize << 1));\\n }\\n if (rest) {\\n memory.copy(\\n changetype(out) + (offset << 1),\\n changetype(this) + (prev << 1),\\n rest << 1\\n );\\n }\\n rest += offset;\\n if (outSize > rest) {\\n out = changetype(__renew(changetype(out), rest << 1));\\n }\\n return out;\\n }\\n return this;\\n }\\n\\n slice(start: i32, end: i32 = i32.MAX_VALUE): String {\\n let len = this.length;\\n start = start < 0 ? max(start + len, 0) : min(start, len);\\n end = end < 0 ? max(end + len, 0) : min(end, len);\\n len = end - start;\\n if (len <= 0) return changetype(\\\"\\\");\\n let out = changetype(__new(len << 1, idof()));\\n memory.copy(changetype(out), changetype(this) + (start << 1), len << 1);\\n return out;\\n }\\n\\n split(separator: String | null = null, limit: i32 = i32.MAX_VALUE): String[] {\\n if (!limit) return changetype(__newArray(0, alignof(), idof>()));\\n if (changetype(separator) == 0) return [ this ];\\n let length: isize = this.length;\\n let sepLen = changetype(separator).length;\\n if (limit < 0) limit = i32.MAX_VALUE;\\n if (!sepLen) {\\n if (!length) return changetype(__newArray(0, alignof(), idof>()));\\n // split by chars\\n length = min(length, limit);\\n let result = changetype(__newArray(length, alignof(), idof>()));\\n // @ts-ignore: cast\\n let resultStart = result.dataStart as usize;\\n for (let i: isize = 0; i < length; ++i) {\\n let charStr = changetype(__new(2, idof()));\\n store(changetype(charStr), load(changetype(this) + (i << 1)));\\n store(resultStart + (i << alignof()), changetype(charStr)); // result[i] = charStr\\n __link(changetype(result), changetype(charStr), true);\\n }\\n return result;\\n } else if (!length) {\\n let result = changetype(__newArray(1, alignof(), idof>()));\\n // @ts-ignore: cast\\n store(result.dataStart as usize, changetype(\\\"\\\")); // static \\\"\\\"\\n return result;\\n }\\n let result = changetype(__newArray(0, alignof(), idof>()));\\n let end = 0, start = 0, i = 0;\\n while (~(end = this.indexOf(changetype(separator), start))) {\\n let len = end - start;\\n if (len > 0) {\\n let out = changetype(__new(len << 1, idof()));\\n memory.copy(changetype(out), changetype(this) + (start << 1), len << 1);\\n result.push(out);\\n } else {\\n result.push(changetype(\\\"\\\"));\\n }\\n if (++i == limit) return result;\\n start = end + sepLen;\\n }\\n if (!start) { // also means: loop above didn't do anything\\n result.push(this);\\n return result;\\n }\\n let len = length - start;\\n if (len > 0) {\\n let out = changetype(__new(len << 1, idof()));\\n memory.copy(changetype(out), changetype(this) + (start << 1), len << 1);\\n result.push(out);\\n } else {\\n result.push(changetype(\\\"\\\")); // static \\\"\\\"\\n }\\n return result;\\n }\\n\\n toLowerCase(): String {\\n let len = this.length;\\n if (!len) return this;\\n let codes = changetype(__new(len * 2 * 2, idof()));\\n let j: usize = 0;\\n for (let i: usize = 0; i < len; ++i, ++j) {\\n let c = load(changetype(this) + (i << 1));\\n if (isAscii(c)) {\\n store(changetype(codes) + (j << 1), toLower8(c));\\n } else {\\n // check and read surrogate pair\\n if ((c - 0xD7FF < 0xDC00 - 0xD7FF) && i < len - 1) {\\n let c1 = load(changetype(this) + (i << 1), 2);\\n if (c1 - 0xDBFF < 0xE000 - 0xDBFF) {\\n let c0 = c;\\n c = (((c & 0x03FF) << 10) | (c1 & 0x03FF)) + 0x10000;\\n ++i;\\n if (c >= 0x20000) {\\n store(changetype(codes) + (j << 1), c0 | (c1 << 16));\\n ++j;\\n continue;\\n }\\n }\\n }\\n // check special casing for lower table. It has one ently so instead lookup we just inline this.\\n if (c == 0x0130) {\\n // 0x0130 -> [0x0069, 0x0307]\\n store(changetype(codes) + (j << 1), (0x0307 << 16) | 0x0069);\\n ++j;\\n } else if (c == 0x03A3) { // '\u03A3'\\n // \u03A3 maps to \u03C3 but except at the end of a word where it maps to \u03C2\\n let sigma = 0x03C3; // \u03C3\\n if (len > 1 && isFinalSigma(changetype(this), i, len)) {\\n sigma = 0x03C2; // \u03C2\\n }\\n store(changetype(codes) + (j << 1), sigma);\\n } else if (c - 0x24B6 <= 0x24CF - 0x24B6) {\\n // Range 0x24B6 <= c <= 0x24CF not covered by casemap and require special early handling\\n store(changetype(codes) + (j << 1), c + 26);\\n } else {\\n let code = casemap(c, 0) & 0x1FFFFF;\\n if (code < 0x10000) {\\n store(changetype(codes) + (j << 1), code);\\n } else {\\n // store as surrogare pair\\n code -= 0x10000;\\n let lo = (code >>> 10) | 0xD800;\\n let hi = (code & 0x03FF) | 0xDC00;\\n store(changetype(codes) + (j << 1), lo | (hi << 16));\\n ++j;\\n }\\n }\\n }\\n }\\n return changetype(__renew(changetype(codes), j << 1));\\n }\\n\\n toUpperCase(): String {\\n let len = this.length;\\n if (!len) return this;\\n let codes = changetype(__new(len * 3 * 2, idof()));\\n let specialsPtr = changetype(SPECIALS_UPPER);\\n let specialsLen = SPECIALS_UPPER.length;\\n let j: usize = 0;\\n for (let i: usize = 0; i < len; ++i, ++j) {\\n let c = load(changetype(this) + (i << 1));\\n if (isAscii(c)) {\\n store(changetype(codes) + (j << 1), toUpper8(c));\\n } else {\\n // check and read surrogate pair\\n if ((c - 0xD7FF < 0xDC00 - 0xD7FF) && i < len - 1) {\\n let c1 = load(changetype(this) + (i << 1), 2);\\n if (c1 - 0xDBFF < 0xE000 - 0xDBFF) {\\n let c0 = c;\\n c = (((c & 0x03FF) << 10) | (c1 & 0x03FF)) + 0x10000;\\n ++i;\\n if (c >= 0x20000) {\\n store(changetype(codes) + (j << 1), c0 | (c1 << 16));\\n ++j;\\n continue;\\n }\\n }\\n }\\n // Range 0x24D0 <= c <= 0x24E9 not covered by casemap and require special early handling\\n if (c - 0x24D0 <= 0x24E9 - 0x24D0) {\\n // monkey patch\\n store(changetype(codes) + (j << 1), c - 26);\\n } else {\\n let index: usize = -1;\\n // Fast range check. See first and last rows in specialsUpper table\\n if (c - 0x00DF <= 0xFB17 - 0x00DF) {\\n index = bsearch(c, specialsPtr, specialsLen);\\n }\\n if (~index) {\\n // load next 3 code points from row with `index` offset for specialsUpper table\\n let ab = load(specialsPtr + (index << 1), 2);\\n let cc = load(specialsPtr + (index << 1), 6);\\n store(changetype(codes) + (j << 1), ab, 0);\\n store(changetype(codes) + (j << 1), cc, 4);\\n j += 1 + usize(cc != 0);\\n } else {\\n let code = casemap(c, 1) & 0x1FFFFF;\\n if (code < 0x10000) {\\n store(changetype(codes) + (j << 1), code);\\n } else {\\n // store as surrogare pair\\n code -= 0x10000;\\n let lo = (code >>> 10) | 0xD800;\\n let hi = (code & 0x03FF) | 0xDC00;\\n store(changetype(codes) + (j << 1), lo | (hi << 16));\\n ++j;\\n }\\n }\\n }\\n }\\n }\\n return changetype(__renew(changetype(codes), j << 1));\\n }\\n\\n toString(): String {\\n return this;\\n }\\n}\\n\\n// @ts-ignore: nolib\\nexport type string = String;\\n\\nexport function parseInt(str: string, radix: i32 = 0): f64 {\\n return strtol(str, radix);\\n}\\n\\nexport function parseFloat(str: string): f64 {\\n return strtod(str);\\n}\\n\\n// Encoding helpers\\nexport namespace String {\\n\\n export namespace UTF8 {\\n\\n export const enum ErrorMode {\\n WTF8,\\n REPLACE,\\n ERROR\\n }\\n\\n export function byteLength(str: string, nullTerminated: bool = false): i32 {\\n let strOff = changetype(str);\\n let strEnd = strOff + changetype(changetype(str) - TOTAL_OVERHEAD).rtSize;\\n let bufLen = i32(nullTerminated);\\n while (strOff < strEnd) {\\n let c1 = load(strOff);\\n if (c1 < 128) {\\n // @ts-ignore: cast\\n if (nullTerminated & !c1) break;\\n bufLen += 1;\\n } else if (c1 < 2048) {\\n bufLen += 2;\\n } else {\\n if ((c1 & 0xFC00) == 0xD800 && strOff + 2 < strEnd) {\\n if ((load(strOff, 2) & 0xFC00) == 0xDC00) {\\n bufLen += 4; strOff += 4;\\n continue;\\n }\\n }\\n bufLen += 3;\\n }\\n strOff += 2;\\n }\\n return bufLen;\\n }\\n\\n export function encode(str: string, nullTerminated: bool = false, errorMode: ErrorMode = ErrorMode.WTF8): ArrayBuffer {\\n let buf = changetype(__new(byteLength(str, nullTerminated), idof()));\\n encodeUnsafe(changetype(str), str.length, changetype(buf), nullTerminated, errorMode);\\n return buf;\\n }\\n\\n // @ts-ignore: decorator\\n @unsafe\\n export function encodeUnsafe(str: usize, len: i32, buf: usize, nullTerminated: bool = false, errorMode: ErrorMode = ErrorMode.WTF8): usize {\\n let strEnd = str + (len << 1);\\n let bufOff = buf;\\n while (str < strEnd) {\\n let c1 = load(str);\\n if (c1 < 128) {\\n store(bufOff, c1);\\n bufOff++;\\n // @ts-ignore: cast\\n if (nullTerminated & !c1) return bufOff - buf;\\n } else if (c1 < 2048) {\\n let b0 = c1 >> 6 | 192;\\n let b1 = c1 & 63 | 128;\\n store(bufOff, b1 << 8 | b0);\\n bufOff += 2;\\n } else {\\n // D800: 11011 0 0000000000 Lead\\n // DBFF: 11011 0 1111111111\\n // DC00: 11011 1 0000000000 Trail\\n // DFFF: 11011 1 1111111111\\n // F800: 11111 0 0000000000 Mask\\n // FC00: 11111 1 0000000000\\n if ((c1 & 0xF800) == 0xD800) {\\n if (c1 < 0xDC00 && str + 2 < strEnd) {\\n let c2 = load(str, 2);\\n if ((c2 & 0xFC00) == 0xDC00) {\\n c1 = 0x10000 + ((c1 & 0x03FF) << 10) | (c2 & 0x03FF);\\n let b0 = c1 >> 18 | 240;\\n let b1 = c1 >> 12 & 63 | 128;\\n let b2 = c1 >> 6 & 63 | 128;\\n let b3 = c1 & 63 | 128;\\n store(bufOff, b3 << 24 | b2 << 16 | b1 << 8 | b0);\\n bufOff += 4; str += 4;\\n continue;\\n }\\n }\\n if (errorMode != ErrorMode.WTF8) { // unlikely\\n if (errorMode == ErrorMode.ERROR) throw new Error(E_UNPAIRED_SURROGATE);\\n c1 = 0xFFFD;\\n }\\n }\\n let b0 = c1 >> 12 | 224;\\n let b1 = c1 >> 6 & 63 | 128;\\n let b2 = c1 & 63 | 128;\\n store(bufOff, b1 << 8 | b0);\\n store(bufOff, b2, 2);\\n bufOff += 3;\\n }\\n str += 2;\\n }\\n if (nullTerminated) {\\n store(bufOff++, 0);\\n }\\n return bufOff - buf;\\n }\\n\\n export function decode(buf: ArrayBuffer, nullTerminated: bool = false): String {\\n return decodeUnsafe(changetype(buf), buf.byteLength, nullTerminated);\\n }\\n\\n // @ts-ignore: decorator\\n @unsafe\\n export function decodeUnsafe(buf: usize, len: usize, nullTerminated: bool = false): String {\\n let bufOff = buf;\\n let bufEnd = buf + len;\\n assert(bufEnd >= bufOff); // guard wraparound\\n let str = changetype(__new(len << 1, idof())); // max is one u16 char per u8 byte\\n let strOff = changetype(str);\\n while (bufOff < bufEnd) {\\n let u0 = load(bufOff); ++bufOff;\\n if (!(u0 & 128)) {\\n // @ts-ignore: cast\\n if (nullTerminated & !u0) break;\\n store(strOff, u0);\\n } else {\\n if (bufEnd == bufOff) break;\\n let u1 = load(bufOff) & 63; ++bufOff;\\n if ((u0 & 224) == 192) {\\n store(strOff, (u0 & 31) << 6 | u1);\\n } else {\\n if (bufEnd == bufOff) break;\\n let u2 = load(bufOff) & 63; ++bufOff;\\n if ((u0 & 240) == 224) {\\n u0 = (u0 & 15) << 12 | u1 << 6 | u2;\\n } else {\\n if (bufEnd == bufOff) break;\\n u0 = (u0 & 7) << 18 | u1 << 12 | u2 << 6 | load(bufOff) & 63;\\n ++bufOff;\\n }\\n if (u0 < 0x10000) {\\n store(strOff, u0);\\n } else {\\n u0 -= 0x10000;\\n let lo = u0 >> 10 | 0xD800;\\n let hi = (u0 & 0x03FF) | 0xDC00;\\n store(strOff, lo | (hi << 16));\\n strOff += 2;\\n }\\n }\\n }\\n strOff += 2;\\n }\\n return changetype(__renew(changetype(str), strOff - changetype(str)));\\n }\\n }\\n\\n export namespace UTF16 {\\n\\n export function byteLength(str: string): i32 {\\n return changetype(changetype(str) - TOTAL_OVERHEAD).rtSize;\\n }\\n\\n export function encode(str: string): ArrayBuffer {\\n let buf = changetype(__new(byteLength(str), idof()));\\n encodeUnsafe(changetype(str), str.length, changetype(buf));\\n return buf;\\n }\\n\\n // @ts-ignore: decorator\\n @unsafe\\n export function encodeUnsafe(str: usize, len: i32, buf: usize): usize {\\n let size = len << 1;\\n memory.copy(buf, changetype(str), size);\\n return size;\\n }\\n\\n export function decode(buf: ArrayBuffer): String {\\n return decodeUnsafe(changetype(buf), buf.byteLength);\\n }\\n\\n // @ts-ignore: decorator\\n @unsafe\\n export function decodeUnsafe(buf: usize, len: usize): String {\\n let str = changetype(__new(len &= ~1, idof()));\\n memory.copy(changetype(str), buf, len);\\n return str;\\n }\\n }\\n}\\n\\nexport class TemplateStringsArray extends Array {\\n readonly raw: string[];\\n}\\n\",\n \"symbol\": \"import { Map } from \\\"./map\\\";\\n\\n// @ts-ignore: decorator\\n@lazy let stringToId: Map = new Map();\\n\\n// @ts-ignore: decorator\\n@lazy let idToString: Map = new Map();\\n\\n// @ts-ignore: decorator\\n@lazy let nextId: usize = 12; // Symbol.unscopables + 1\\n\\n@unmanaged @final abstract class _Symbol {\\n\\n // TODO: all of the following default symbols are unused currently yet add to\\n // binary size if #toString becomes compiled. Ultimately we'll most likely want\\n // to remove the unsupported ones and only keep what's actually supported.\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly hasInstance: symbol = changetype(1);\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly isConcatSpreadable: symbol = changetype(2);\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly isRegExp: symbol = changetype(3);\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly iterator: symbol = changetype(3);\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly match: symbol = changetype(4);\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly replace: symbol = changetype(5);\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly search: symbol = changetype(6);\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly species: symbol = changetype(7);\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly split: symbol = changetype(8);\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly toPrimitive: symbol = changetype(9);\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly toStringTag: symbol = changetype(10);\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly unscopables: symbol = changetype(11);\\n\\n static for(key: string): symbol {\\n if (stringToId.has(key)) return changetype(stringToId.get(key));\\n let id = nextId++;\\n if (!id) unreachable(); // out of ids\\n stringToId.set(key, id);\\n idToString.set(id, key);\\n return changetype(id);\\n }\\n\\n static keyFor(sym: symbol): string | null {\\n return idToString.has(changetype(sym))\\n ? idToString.get(changetype(sym))\\n : null;\\n }\\n\\n toString(): string {\\n let id = changetype(this);\\n let str = \\\"\\\";\\n switch (id) {\\n case 1: { str = \\\"hasInstance\\\"; break; }\\n case 2: { str = \\\"isConcatSpreadable\\\"; break; }\\n case 3: { str = \\\"isRegExp\\\"; break; }\\n case 4: { str = \\\"match\\\"; break; }\\n case 5: { str = \\\"replace\\\"; break; }\\n case 6: { str = \\\"search\\\"; break; }\\n case 7: { str = \\\"species\\\"; break; }\\n case 8: { str = \\\"split\\\"; break; }\\n case 9: { str = \\\"toPrimitive\\\"; break; }\\n case 10: { str = \\\"toStringTag\\\"; break; }\\n case 11: { str = \\\"unscopables\\\"; break; }\\n default: {\\n if (idToString != null && idToString.has(id)) str = idToString.get(id);\\n break;\\n }\\n }\\n return \\\"Symbol(\\\" + str + \\\")\\\";\\n }\\n}\\n\\nexport function Symbol(description: string | null = null): symbol {\\n let id = nextId++;\\n if (!id) unreachable(); // out of ids\\n return changetype(id);\\n}\\n\\nexport type Symbol = _Symbol;\\n\\n// @ts-ignore: nolib\\nexport type symbol = _Symbol;\\n\",\n \"table\": \"import { E_NOTIMPLEMENTED } from \\\"./util/error\\\";\\n\\nexport namespace table {\\n\\n export function copy(dst: u32, src: u32, n: u32): void {\\n throw new Error(E_NOTIMPLEMENTED);\\n }\\n\\n export function init(elementIndex: u32, srcOffset: u32, dstOffset: u32, n: u32): void {\\n throw new Error(E_NOTIMPLEMENTED);\\n }\\n\\n export function drop(elementIndex: u32): void {\\n throw new Error(E_NOTIMPLEMENTED);\\n }\\n}\\n\",\n \"typedarray\": \"import { COMPARATOR, SORT } from \\\"./util/sort\\\";\\nimport { E_INDEXOUTOFRANGE, E_INVALIDLENGTH, E_NOTIMPLEMENTED } from \\\"./util/error\\\";\\nimport { joinIntegerArray, joinFloatArray } from \\\"./util/string\\\";\\nimport { REVERSE, FILL } from \\\"./util/bytes\\\";\\nimport { idof } from \\\"./builtins\\\";\\nimport { ArrayBufferView } from \\\"./arraybuffer\\\";\\n\\nexport class Int8Array extends ArrayBufferView {\\n [key: number]: i8;\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly BYTES_PER_ELEMENT: i32 = sizeof();\\n\\n constructor(length: i32) {\\n super(length, alignof());\\n }\\n\\n get length(): i32 {\\n return this.byteLength;\\n }\\n\\n @operator(\\\"[]\\\")\\n private __get(index: i32): i8 {\\n if (index >= this.byteLength) throw new RangeError(E_INDEXOUTOFRANGE);\\n return load(this.dataStart + index);\\n }\\n\\n @unsafe @operator(\\\"{}\\\")\\n private __uget(index: i32): i8 {\\n return load(this.dataStart + index);\\n }\\n\\n @operator(\\\"[]=\\\")\\n private __set(index: i32, value: native): void {\\n if (index >= this.byteLength) throw new RangeError(E_INDEXOUTOFRANGE);\\n store(this.dataStart + index, value);\\n }\\n\\n @unsafe @operator(\\\"{}=\\\")\\n private __uset(index: i32, value: native): void {\\n store(this.dataStart + index, value);\\n }\\n\\n at(index: i32): i8 {\\n let len = this.byteLength;\\n index += select(0, len, index >= 0);\\n if (index >= len) throw new RangeError(E_INDEXOUTOFRANGE);\\n return load(this.dataStart + index);\\n }\\n\\n includes(searchElement: i8, fromIndex: i32 = 0): bool {\\n return INCLUDES(this, searchElement, fromIndex);\\n }\\n\\n indexOf(searchElement: i8, fromIndex: i32 = 0): i32 {\\n return INDEX_OF(this, searchElement, fromIndex);\\n }\\n\\n lastIndexOf(searchElement: i8, fromIndex: i32 = this.length): i32 {\\n return LAST_INDEX_OF(this, searchElement, fromIndex);\\n }\\n\\n fill(value: i32, start: i32 = 0, end: i32 = i32.MAX_VALUE): Int8Array {\\n FILL(this.dataStart, this.length, u8(value), start, end);\\n return this;\\n }\\n\\n sort(comparator: (a: i8, b: i8) => i32 = COMPARATOR()): Int8Array {\\n SORT(this.dataStart, this.length, comparator);\\n return this;\\n }\\n\\n slice(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Int8Array {\\n return SLICE(this, begin, end);\\n }\\n\\n subarray(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Int8Array {\\n return SUBARRAY(this, begin, end);\\n }\\n\\n copyWithin(target: i32, start: i32, end: i32 = i32.MAX_VALUE): Int8Array {\\n return COPY_WITHIN(this, target, start, end);\\n }\\n\\n reduce(\\n fn: (accumulator: T, value: i8, index: i32, array: Int8Array) => T,\\n initialValue: T,\\n ): T {\\n return REDUCE(this, fn, initialValue);\\n }\\n\\n reduceRight(\\n fn: (accumulator: T, value: i8, index: i32, array: Int8Array) => T,\\n initialValue: T,\\n ): T {\\n return REDUCE_RIGHT(this, fn, initialValue);\\n }\\n\\n map(fn: (value: i8, index: i32, self: Int8Array) => i8): Int8Array {\\n return MAP(this, fn);\\n }\\n\\n filter(fn: (value: i8, index: i32, self: Int8Array) => bool): Int8Array {\\n return FILTER(this, fn);\\n }\\n\\n findIndex(fn: (value: i8, index: i32, self: Int8Array) => bool): i32 {\\n return FIND_INDEX(this, fn);\\n }\\n\\n findLastIndex(fn: (value: i8, index: i32, self: Int8Array) => bool): i32 {\\n return FIND_LAST_INDEX(this, fn);\\n }\\n\\n some(fn: (value: i8, index: i32, self: Int8Array) => bool): bool {\\n return SOME(this, fn);\\n }\\n\\n every(fn: (value: i8, index: i32, self: Int8Array) => bool): bool {\\n return EVERY(this, fn);\\n }\\n\\n forEach(fn: (value: i8, index: i32, self: Int8Array) => void): void {\\n FOREACH(this, fn);\\n }\\n\\n reverse(): Int8Array {\\n REVERSE(this.dataStart, this.length);\\n return this;\\n }\\n\\n join(separator: string = \\\",\\\"): string {\\n return joinIntegerArray(this.dataStart, this.length, separator);\\n }\\n\\n toString(): string {\\n return this.join();\\n }\\n\\n set>(source: U, offset: i32 = 0): void {\\n SET(this, source, offset);\\n }\\n\\n static wrap(buffer: ArrayBuffer, byteOffset: i32 = 0, length: i32 = -1): Int8Array {\\n return WRAP(buffer, byteOffset, length);\\n }\\n}\\n\\nexport class Uint8Array extends ArrayBufferView {\\n [key: number]: u8;\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly BYTES_PER_ELEMENT: i32 = sizeof();\\n\\n constructor(length: i32) {\\n super(length, alignof());\\n }\\n\\n get length(): i32 {\\n return this.byteLength;\\n }\\n\\n @operator(\\\"[]\\\")\\n private __get(index: i32): u8 {\\n if (index >= this.byteLength) throw new RangeError(E_INDEXOUTOFRANGE);\\n return load(this.dataStart + index);\\n }\\n\\n @unsafe @operator(\\\"{}\\\")\\n private __uget(index: i32): u8 {\\n return load(this.dataStart + index);\\n }\\n\\n @operator(\\\"[]=\\\")\\n private __set(index: i32, value: native): void {\\n if (index >= this.byteLength) throw new RangeError(E_INDEXOUTOFRANGE);\\n store(this.dataStart + index, value);\\n }\\n\\n @unsafe @operator(\\\"{}=\\\")\\n private __uset(index: i32, value: native): void {\\n store(this.dataStart + index, value);\\n }\\n\\n at(index: i32): u8 {\\n let len = this.byteLength;\\n index += select(0, len, index >= 0);\\n if (index >= len) throw new RangeError(E_INDEXOUTOFRANGE);\\n return load(this.dataStart + index);\\n }\\n\\n includes(searchElement: u8, fromIndex: i32 = 0): bool {\\n return INCLUDES(this, searchElement, fromIndex);\\n }\\n\\n indexOf(searchElement: u8, fromIndex: i32 = 0): i32 {\\n return INDEX_OF(this, searchElement, fromIndex);\\n }\\n\\n lastIndexOf(searchElement: u8, fromIndex: i32 = this.length): i32 {\\n return LAST_INDEX_OF(this, searchElement, fromIndex);\\n }\\n\\n fill(value: u32, start: i32 = 0, end: i32 = i32.MAX_VALUE): Uint8Array {\\n FILL(this.dataStart, this.length, u8(value), start, end);\\n return this;\\n }\\n\\n sort(comparator: (a: u8, b: u8) => i32 = COMPARATOR()): Uint8Array {\\n SORT(this.dataStart, this.length, comparator);\\n return this;\\n }\\n\\n slice(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Uint8Array {\\n return SLICE(this, begin, end);\\n }\\n\\n subarray(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Uint8Array {\\n return SUBARRAY(this, begin, end);\\n }\\n\\n copyWithin(target: i32, start: i32, end: i32 = i32.MAX_VALUE): Uint8Array {\\n return COPY_WITHIN(this, target, start, end);\\n }\\n\\n reduce(\\n fn: (accumulator: T, value: u8, index: i32, array: Uint8Array) => T,\\n initialValue: T,\\n ): T {\\n return REDUCE(this, fn, initialValue);\\n }\\n\\n reduceRight(\\n fn: (accumulator: T, value: u8, index: i32, array: Uint8Array) => T,\\n initialValue: T,\\n ): T {\\n return REDUCE_RIGHT(this, fn, initialValue);\\n }\\n\\n map(fn: (value: u8, index: i32, self: Uint8Array) => u8): Uint8Array {\\n return MAP(this, fn);\\n }\\n\\n filter(fn: (value: u8, index: i32, self: Uint8Array) => bool): Uint8Array {\\n return FILTER(this, fn);\\n }\\n\\n findIndex(fn: (value: u8, index: i32, self: Uint8Array) => bool): i32 {\\n return FIND_INDEX(this, fn);\\n }\\n\\n findLastIndex(fn: (value: u8, index: i32, self: Uint8Array) => bool): i32 {\\n return FIND_LAST_INDEX(this, fn);\\n }\\n\\n some(fn: (value: u8, index: i32, self: Uint8Array) => bool): bool {\\n return SOME(this, fn);\\n }\\n\\n every(fn: (value: u8, index: i32, self: Uint8Array) => bool): bool {\\n return EVERY(this, fn);\\n }\\n\\n forEach(fn: (value: u8, index: i32, self: Uint8Array) => void): void {\\n FOREACH(this, fn);\\n }\\n\\n reverse(): Uint8Array {\\n REVERSE(this.dataStart, this.length);\\n return this;\\n }\\n\\n join(separator: string = \\\",\\\"): string {\\n return joinIntegerArray(this.dataStart, this.length, separator);\\n }\\n\\n set>(source: U, offset: i32 = 0): void {\\n SET(this, source, offset);\\n }\\n\\n toString(): string {\\n return this.join();\\n }\\n\\n static wrap(buffer: ArrayBuffer, byteOffset: i32 = 0, length: i32 = -1): Uint8Array {\\n return WRAP(buffer, byteOffset, length);\\n }\\n}\\n\\nexport class Uint8ClampedArray extends ArrayBufferView {\\n [key: number]: u8;\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly BYTES_PER_ELEMENT: i32 = sizeof();\\n\\n constructor(length: i32) {\\n super(length, alignof());\\n }\\n\\n get length(): i32 {\\n return this.byteLength;\\n }\\n\\n @operator(\\\"[]\\\")\\n private __get(index: i32): u8 {\\n if (index >= this.byteLength) throw new RangeError(E_INDEXOUTOFRANGE);\\n return load(this.dataStart + index);\\n }\\n\\n @unsafe @operator(\\\"{}\\\")\\n private __uget(index: i32): u8 {\\n return load(this.dataStart + index);\\n }\\n\\n @operator(\\\"[]=\\\")\\n private __set(index: i32, value: native): void {\\n if (index >= this.byteLength) throw new RangeError(E_INDEXOUTOFRANGE);\\n store(this.dataStart + index, ~(value >> 31) & (((255 - value) >> 31) | value));\\n }\\n\\n @unsafe @operator(\\\"{}=\\\")\\n private __uset(index: i32, value: native): void {\\n store(this.dataStart + index, ~(value >> 31) & (((255 - value) >> 31) | value));\\n }\\n\\n at(index: i32): u8 {\\n let len = this.byteLength;\\n index += select(0, len, index >= 0);\\n if (index >= len) throw new RangeError(E_INDEXOUTOFRANGE);\\n return load(this.dataStart + index);\\n }\\n\\n includes(searchElement: u8, fromIndex: i32 = 0): bool {\\n return INCLUDES(this, searchElement, fromIndex);\\n }\\n\\n indexOf(searchElement: u8, fromIndex: i32 = 0): i32 {\\n return INDEX_OF(this, searchElement, fromIndex);\\n }\\n\\n lastIndexOf(searchElement: u8, fromIndex: i32 = this.length): i32 {\\n return LAST_INDEX_OF(this, searchElement, fromIndex);\\n }\\n\\n fill(value: i32, start: i32 = 0, end: i32 = i32.MAX_VALUE): Uint8ClampedArray {\\n value = ~(value >> 31) & (((255 - value) >> 31) | value);\\n FILL(this.dataStart, this.length, u8(value), start, end);\\n return this;\\n }\\n\\n sort(comparator: (a: u8, b: u8) => i32 = COMPARATOR()): Uint8ClampedArray {\\n SORT(this.dataStart, this.length, comparator);\\n return this;\\n }\\n\\n slice(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Uint8ClampedArray {\\n return SLICE(this, begin, end);\\n }\\n\\n subarray(start: i32 = 0, end: i32 = i32.MAX_VALUE): Uint8ClampedArray {\\n return SUBARRAY(this, start, end);\\n }\\n\\n copyWithin(target: i32, start: i32, end: i32 = i32.MAX_VALUE): Uint8ClampedArray {\\n return COPY_WITHIN(this, target, start, end);\\n }\\n\\n reduce(\\n fn: (accumulator: T, value: u8, index: i32, array: Uint8ClampedArray) => T,\\n initialValue: T,\\n ): T {\\n return REDUCE(this, fn, initialValue);\\n }\\n\\n reduceRight(\\n fn: (accumulator: T, value: u8, index: i32, array: Uint8ClampedArray) => T,\\n initialValue: T,\\n ): T {\\n return REDUCE_RIGHT(this, fn, initialValue);\\n }\\n\\n map(fn: (value: u8, index: i32, self: Uint8ClampedArray) => u8): Uint8ClampedArray {\\n return MAP(this, fn);\\n }\\n\\n filter(fn: (value: u8, index: i32, self: Uint8ClampedArray) => bool): Uint8ClampedArray {\\n return FILTER(this, fn);\\n }\\n\\n findIndex(fn: (value: u8, index: i32, self: Uint8ClampedArray) => bool): i32 {\\n return FIND_INDEX(this, fn);\\n }\\n\\n findLastIndex(fn: (value: u8, index: i32, self: Uint8ClampedArray) => bool): i32 {\\n return FIND_LAST_INDEX(this, fn);\\n }\\n\\n some(fn: (value: u8, index: i32, self: Uint8ClampedArray) => bool): bool {\\n return SOME(this, fn);\\n }\\n\\n every(fn: (value: u8, index: i32, self: Uint8ClampedArray) => bool): bool {\\n return EVERY(this, fn);\\n }\\n\\n forEach(fn: (value: u8, index: i32, self: Uint8ClampedArray) => void): void {\\n FOREACH(this, fn);\\n }\\n\\n reverse(): Uint8ClampedArray {\\n REVERSE(this.dataStart, this.length);\\n return this;\\n }\\n\\n join(separator: string = \\\",\\\"): string {\\n return joinIntegerArray(this.dataStart, this.length, separator);\\n }\\n\\n set>(source: U, offset: i32 = 0): void {\\n SET(this, source, offset);\\n }\\n\\n toString(): string {\\n return this.join();\\n }\\n\\n static wrap(buffer: ArrayBuffer, byteOffset: i32 = 0, length: i32 = -1): Uint8ClampedArray {\\n return WRAP(buffer, byteOffset, length);\\n }\\n}\\n\\nexport class Int16Array extends ArrayBufferView {\\n [key: number]: i16;\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly BYTES_PER_ELEMENT: i32 = sizeof();\\n\\n constructor(length: i32) {\\n super(length, alignof());\\n }\\n\\n get length(): i32 {\\n return this.byteLength >>> alignof();\\n }\\n\\n @operator(\\\"[]\\\")\\n private __get(index: i32): i16 {\\n if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE);\\n return load(this.dataStart + (index << alignof()));\\n }\\n\\n @unsafe @operator(\\\"{}\\\")\\n private __uget(index: i32): i16 {\\n return load(this.dataStart + (index << alignof()));\\n }\\n\\n @operator(\\\"[]=\\\")\\n private __set(index: i32, value: native): void {\\n if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE);\\n store(this.dataStart + (index << alignof()), value);\\n }\\n\\n @unsafe @operator(\\\"{}=\\\")\\n private __uset(index: i32, value: native): void {\\n store(this.dataStart + (index << alignof()), value);\\n }\\n\\n at(index: i32): i16 {\\n let len = this.byteLength >>> alignof();\\n index += select(0, len, index >= 0);\\n if (index >= len) throw new RangeError(E_INDEXOUTOFRANGE);\\n return load(this.dataStart + (index << alignof()));\\n }\\n\\n includes(searchElement: i16, fromIndex: i32 = 0): bool {\\n return INCLUDES(this, searchElement, fromIndex);\\n }\\n\\n indexOf(searchElement: i16, fromIndex: i32 = 0): i32 {\\n return INDEX_OF(this, searchElement, fromIndex);\\n }\\n\\n lastIndexOf(searchElement: i16, fromIndex: i32 = this.length): i32 {\\n return LAST_INDEX_OF(this, searchElement, fromIndex);\\n }\\n\\n fill(value: i32, start: i32 = 0, end: i32 = i32.MAX_VALUE): Int16Array {\\n FILL(this.dataStart, this.length, u16(value), start, end);\\n return this;\\n }\\n\\n sort(comparator: (a: i16, b: i16) => i32 = COMPARATOR()): Int16Array {\\n SORT(this.dataStart, this.length, comparator);\\n return this;\\n }\\n\\n slice(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Int16Array {\\n return SLICE(this, begin, end);\\n }\\n\\n subarray(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Int16Array {\\n return SUBARRAY(this, begin, end);\\n }\\n\\n copyWithin(target: i32, start: i32, end: i32 = i32.MAX_VALUE): Int16Array {\\n return COPY_WITHIN(this, target, start, end);\\n }\\n\\n reduce(\\n fn: (accumulator: T, value: i16, index: i32, array: Int16Array) => T,\\n initialValue: T,\\n ): T {\\n return REDUCE(this, fn, initialValue);\\n }\\n\\n reduceRight(\\n fn: (accumulator: T, value: i16, index: i32, array: Int16Array) => T,\\n initialValue: T,\\n ): T {\\n return REDUCE_RIGHT(this, fn, initialValue);\\n }\\n\\n map(fn: (value: i16, index: i32, self: Int16Array) => i16): Int16Array {\\n return MAP(this, fn);\\n }\\n\\n filter(fn: (value: i16, index: i32, self: Int16Array) => bool): Int16Array {\\n return FILTER(this, fn);\\n }\\n\\n findIndex(fn: (value: i16, index: i32, self: Int16Array) => bool): i32 {\\n return FIND_INDEX(this, fn);\\n }\\n\\n findLastIndex(fn: (value: i16, index: i32, self: Int16Array) => bool): i32 {\\n return FIND_LAST_INDEX(this, fn);\\n }\\n\\n some(fn: (value: i16, index: i32, self: Int16Array) => bool): bool {\\n return SOME(this, fn);\\n }\\n\\n every(fn: (value: i16, index: i32, self: Int16Array) => bool): bool {\\n return EVERY(this, fn);\\n }\\n\\n forEach(fn: (value: i16, index: i32, self: Int16Array) => void): void {\\n FOREACH(this, fn);\\n }\\n\\n reverse(): Int16Array {\\n REVERSE(this.dataStart, this.length);\\n return this;\\n }\\n\\n join(separator: string = \\\",\\\"): string {\\n return joinIntegerArray(this.dataStart, this.length, separator);\\n }\\n\\n set>(source: U, offset: i32 = 0): void {\\n SET(this, source, offset);\\n }\\n\\n toString(): string {\\n return this.join();\\n }\\n\\n static wrap(buffer: ArrayBuffer, byteOffset: i32 = 0, length: i32 = -1): Int16Array {\\n return WRAP(buffer, byteOffset, length);\\n }\\n}\\n\\nexport class Uint16Array extends ArrayBufferView {\\n [key: number]: u16;\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly BYTES_PER_ELEMENT: i32 = sizeof();\\n\\n constructor(length: i32) {\\n super(length, alignof());\\n }\\n\\n get length(): i32 {\\n return this.byteLength >>> alignof();\\n }\\n\\n @operator(\\\"[]\\\")\\n private __get(index: i32): u16 {\\n if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE);\\n return load(this.dataStart + (index << alignof()));\\n }\\n\\n @unsafe @operator(\\\"{}\\\")\\n private __uget(index: i32): u16 {\\n return load(this.dataStart + (index << alignof()));\\n }\\n\\n @operator(\\\"[]=\\\")\\n private __set(index: i32, value: native): void {\\n if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE);\\n store(this.dataStart + (index << alignof()), value);\\n }\\n\\n @unsafe @operator(\\\"{}=\\\")\\n private __uset(index: i32, value: native): void {\\n store(this.dataStart + (index << alignof()), value);\\n }\\n\\n at(index: i32): u16 {\\n let len = this.byteLength >>> alignof();\\n index += select(0, len, index >= 0);\\n if (index >= len) throw new RangeError(E_INDEXOUTOFRANGE);\\n return load(this.dataStart + (index << alignof()));\\n }\\n\\n includes(searchElement: u16, fromIndex: i32 = 0): bool {\\n return INCLUDES(this, searchElement, fromIndex);\\n }\\n\\n indexOf(searchElement: u16, fromIndex: i32 = 0): i32 {\\n return INDEX_OF(this, searchElement, fromIndex);\\n }\\n\\n lastIndexOf(searchElement: u16, fromIndex: i32 = this.length): i32 {\\n return LAST_INDEX_OF(this, searchElement, fromIndex);\\n }\\n\\n fill(value: u32, start: i32 = 0, end: i32 = i32.MAX_VALUE): Uint16Array {\\n FILL(this.dataStart, this.length, u16(value), start, end);\\n return this;\\n }\\n\\n sort(comparator: (a: u16, b: u16) => i32 = COMPARATOR()): Uint16Array {\\n SORT(this.dataStart, this.length, comparator);\\n return this;\\n }\\n\\n slice(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Uint16Array {\\n return SLICE(this, begin, end);\\n }\\n\\n subarray(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Uint16Array {\\n return SUBARRAY(this, begin, end);\\n }\\n\\n copyWithin(target: i32, start: i32, end: i32 = i32.MAX_VALUE): Uint16Array {\\n return COPY_WITHIN(this, target, start, end);\\n }\\n\\n reduce(\\n fn: (accumulator: T, value: u16, index: i32, array: Uint16Array) => T,\\n initialValue: T,\\n ): T {\\n return REDUCE(this, fn, initialValue);\\n }\\n\\n reduceRight(\\n fn: (accumulator: T, value: u16, index: i32, array: Uint16Array) => T,\\n initialValue: T,\\n ): T {\\n return REDUCE_RIGHT(this, fn, initialValue);\\n }\\n\\n map(fn: (value: u16, index: i32, self: Uint16Array) => u16): Uint16Array {\\n return MAP(this, fn);\\n }\\n\\n filter(fn: (value: u16, index: i32, self: Uint16Array) => bool): Uint16Array {\\n return FILTER(this, fn);\\n }\\n\\n findIndex(fn: (value: u16, index: i32, self: Uint16Array) => bool): i32 {\\n return FIND_INDEX(this, fn);\\n }\\n\\n findLastIndex(fn: (value: u16, index: i32, self: Uint16Array) => bool): i32 {\\n return FIND_LAST_INDEX(this, fn);\\n }\\n\\n some(fn: (value: u16, index: i32, self: Uint16Array) => bool): bool {\\n return SOME(this, fn);\\n }\\n\\n every(fn: (value: u16, index: i32, self: Uint16Array) => bool): bool {\\n return EVERY(this, fn);\\n }\\n\\n forEach(fn: (value: u16, index: i32, self: Uint16Array) => void): void {\\n FOREACH(this, fn);\\n }\\n\\n reverse(): Uint16Array {\\n REVERSE(this.dataStart, this.length);\\n return this;\\n }\\n\\n join(separator: string = \\\",\\\"): string {\\n return joinIntegerArray(this.dataStart, this.length, separator);\\n }\\n\\n set>(source: U, offset: i32 = 0): void {\\n SET(this, source, offset);\\n }\\n\\n toString(): string {\\n return this.join();\\n }\\n\\n static wrap(buffer: ArrayBuffer, byteOffset: i32 = 0, length: i32 = -1): Uint16Array {\\n return WRAP(buffer, byteOffset, length);\\n }\\n}\\n\\nexport class Int32Array extends ArrayBufferView {\\n [key: number]: i32;\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly BYTES_PER_ELEMENT: i32 = sizeof();\\n\\n constructor(length: i32) {\\n super(length, alignof());\\n }\\n\\n get length(): i32 {\\n return this.byteLength >>> alignof();\\n }\\n\\n @operator(\\\"[]\\\")\\n private __get(index: i32): i32 {\\n if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE);\\n return load(this.dataStart + (index << alignof()));\\n }\\n\\n @unsafe @operator(\\\"{}\\\")\\n private __uget(index: i32): i32 {\\n return load(this.dataStart + (index << alignof()));\\n }\\n\\n @operator(\\\"[]=\\\")\\n private __set(index: i32, value: i32): void {\\n if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE);\\n store(this.dataStart + (index << alignof()), value);\\n }\\n\\n @unsafe @operator(\\\"{}=\\\")\\n private __uset(index: i32, value: i32): void {\\n store(this.dataStart + (index << alignof()), value);\\n }\\n\\n at(index: i32): i32 {\\n let len = this.byteLength >>> alignof();\\n index += select(0, len, index >= 0);\\n if (index >= len) throw new RangeError(E_INDEXOUTOFRANGE);\\n return load(this.dataStart + (index << alignof()));\\n }\\n\\n includes(searchElement: i32, fromIndex: i32 = 0): bool {\\n return INCLUDES(this, searchElement, fromIndex);\\n }\\n\\n indexOf(searchElement: i32, fromIndex: i32 = 0): i32 {\\n return INDEX_OF(this, searchElement, fromIndex);\\n }\\n\\n lastIndexOf(searchElement: i32, fromIndex: i32 = this.length): i32 {\\n return LAST_INDEX_OF(this, searchElement, fromIndex);\\n }\\n\\n fill(value: i32, start: i32 = 0, end: i32 = i32.MAX_VALUE): Int32Array {\\n FILL(this.dataStart, this.length, u32(value), start, end);\\n return this;\\n }\\n\\n sort(comparator: (a: i32, b: i32) => i32 = COMPARATOR()): Int32Array {\\n SORT(this.dataStart, this.length, comparator);\\n return this;\\n }\\n\\n slice(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Int32Array {\\n return SLICE(this, begin, end);\\n }\\n\\n subarray(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Int32Array {\\n return SUBARRAY(this, begin, end);\\n }\\n\\n copyWithin(target: i32, start: i32, end: i32 = i32.MAX_VALUE): Int32Array {\\n return COPY_WITHIN(this, target, start, end);\\n }\\n\\n reduce(\\n fn: (accumulator: T, value: i32, index: i32, array: Int32Array) => T,\\n initialValue: T,\\n ): T {\\n return REDUCE(this, fn, initialValue);\\n }\\n\\n reduceRight(\\n fn: (accumulator: T, value: i32, index: i32, array: Int32Array) => T,\\n initialValue: T,\\n ): T {\\n return REDUCE_RIGHT(this, fn, initialValue);\\n }\\n\\n map(fn: (value: i32, index: i32, self: Int32Array) => i32): Int32Array {\\n return MAP(this, fn);\\n }\\n\\n filter(fn: (value: i32, index: i32, self: Int32Array) => bool): Int32Array {\\n return FILTER(this, fn);\\n }\\n\\n findIndex(fn: (value: i32, index: i32, self: Int32Array) => bool): i32 {\\n return FIND_INDEX(this, fn);\\n }\\n\\n findLastIndex(fn: (value: i32, index: i32, self: Int32Array) => bool): i32 {\\n return FIND_LAST_INDEX(this, fn);\\n }\\n\\n some(fn: (value: i32, index: i32, self: Int32Array) => bool): bool {\\n return SOME(this, fn);\\n }\\n\\n every(fn: (value: i32, index: i32, self: Int32Array) => bool): bool {\\n return EVERY(this, fn);\\n }\\n\\n forEach(fn: (value: i32, index: i32, self: Int32Array) => void): void {\\n FOREACH(this, fn);\\n }\\n\\n reverse(): Int32Array {\\n REVERSE(this.dataStart, this.length);\\n return this;\\n }\\n\\n join(separator: string = \\\",\\\"): string {\\n return joinIntegerArray(this.dataStart, this.length, separator);\\n }\\n\\n set>(source: U, offset: i32 = 0): void {\\n SET(this, source, offset);\\n }\\n\\n toString(): string {\\n return this.join();\\n }\\n\\n static wrap(buffer: ArrayBuffer, byteOffset: i32 = 0, length: i32 = -1): Int32Array {\\n return WRAP(buffer, byteOffset, length);\\n }\\n}\\n\\nexport class Uint32Array extends ArrayBufferView {\\n [key: number]: u32;\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly BYTES_PER_ELEMENT: i32 = sizeof();\\n\\n constructor(length: i32) {\\n super(length, alignof());\\n }\\n\\n get length(): i32 {\\n return this.byteLength >>> alignof();\\n }\\n\\n @operator(\\\"[]\\\")\\n private __get(index: i32): u32 {\\n if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE);\\n return load(this.dataStart + (index << alignof()));\\n }\\n\\n @unsafe @operator(\\\"{}\\\")\\n private __uget(index: i32): u32 {\\n return load(this.dataStart + (index << alignof()));\\n }\\n\\n @operator(\\\"[]=\\\")\\n private __set(index: i32, value: u32): void {\\n if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE);\\n store(this.dataStart + (index << alignof()), value);\\n }\\n\\n @unsafe @operator(\\\"{}=\\\")\\n private __uset(index: i32, value: u32): void {\\n store(this.dataStart + (index << alignof()), value);\\n }\\n\\n at(index: i32): u32 {\\n let len = this.byteLength >>> alignof();\\n index += select(0, len, index >= 0);\\n if (index >= len) throw new RangeError(E_INDEXOUTOFRANGE);\\n return load(this.dataStart + (index << alignof()));\\n }\\n\\n includes(searchElement: u32, fromIndex: i32 = 0): bool {\\n return INCLUDES(this, searchElement, fromIndex);\\n }\\n\\n indexOf(searchElement: u32, fromIndex: i32 = 0): i32 {\\n return INDEX_OF(this, searchElement, fromIndex);\\n }\\n\\n lastIndexOf(searchElement: u32, fromIndex: i32 = this.length): i32 {\\n return LAST_INDEX_OF(this, searchElement, fromIndex);\\n }\\n\\n fill(value: u32, start: i32 = 0, end: i32 = i32.MAX_VALUE): Uint32Array {\\n FILL(this.dataStart, this.length, value, start, end);\\n return this;\\n }\\n\\n sort(comparator: (a: u32, b: u32) => i32 = COMPARATOR()): Uint32Array {\\n SORT(this.dataStart, this.length, comparator);\\n return this;\\n }\\n\\n slice(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Uint32Array {\\n return SLICE(this, begin, end);\\n }\\n\\n subarray(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Uint32Array {\\n return SUBARRAY(this, begin, end);\\n }\\n\\n copyWithin(target: i32, start: i32, end: i32 = i32.MAX_VALUE): Uint32Array {\\n return COPY_WITHIN(this, target, start, end);\\n }\\n\\n reduce(\\n fn: (accumulator: T, value: u32, index: i32, array: Uint32Array) => T,\\n initialValue: T,\\n ): T {\\n return REDUCE(this, fn, initialValue);\\n }\\n\\n reduceRight(\\n fn: (accumulator: T, value: u32, index: i32, array: Uint32Array) => T,\\n initialValue: T,\\n ): T {\\n return REDUCE_RIGHT(this, fn, initialValue);\\n }\\n\\n map(fn: (value: u32, index: i32, self: Uint32Array) => u32): Uint32Array {\\n return MAP(this, fn);\\n }\\n\\n filter(fn: (value: u32, index: i32, self: Uint32Array) => bool): Uint32Array {\\n return FILTER(this, fn);\\n }\\n\\n findIndex(fn: (value: u32, index: i32, self: Uint32Array) => bool): i32 {\\n return FIND_INDEX(this, fn);\\n }\\n\\n findLastIndex(fn: (value: u32, index: i32, self: Uint32Array) => bool): i32 {\\n return FIND_LAST_INDEX(this, fn);\\n }\\n\\n some(fn: (value: u32, index: i32, self: Uint32Array) => bool): bool {\\n return SOME(this, fn);\\n }\\n\\n every(fn: (value: u32, index: i32, self: Uint32Array) => bool): bool {\\n return EVERY(this, fn);\\n }\\n\\n forEach(fn: (value: u32, index: i32, self: Uint32Array) => void): void {\\n FOREACH(this, fn);\\n }\\n\\n reverse(): Uint32Array {\\n REVERSE(this.dataStart, this.length);\\n return this;\\n }\\n\\n join(separator: string = \\\",\\\"): string {\\n return joinIntegerArray(this.dataStart, this.length, separator);\\n }\\n\\n set>(source: U, offset: i32 = 0): void {\\n SET(this, source, offset);\\n }\\n\\n toString(): string {\\n return this.join();\\n }\\n\\n static wrap(buffer: ArrayBuffer, byteOffset: i32 = 0, length: i32 = -1): Uint32Array {\\n return WRAP(buffer, byteOffset, length);\\n }\\n}\\n\\nexport class Int64Array extends ArrayBufferView {\\n [key: number]: i64;\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly BYTES_PER_ELEMENT: i32 = sizeof();\\n\\n constructor(length: i32) {\\n super(length, alignof());\\n }\\n\\n get length(): i32 {\\n return this.byteLength >>> alignof();\\n }\\n\\n @operator(\\\"[]\\\")\\n private __get(index: i32): i64 {\\n if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE);\\n return load(this.dataStart + (index << alignof()));\\n }\\n\\n @unsafe @operator(\\\"{}\\\")\\n private __uget(index: i32): i64 {\\n return load(this.dataStart + (index << alignof()));\\n }\\n\\n @operator(\\\"[]=\\\")\\n private __set(index: i32, value: i64): void {\\n if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE);\\n store(this.dataStart + (index << alignof()), value);\\n }\\n\\n @unsafe @operator(\\\"{}=\\\")\\n private __uset(index: i32, value: i64): void {\\n store(this.dataStart + (index << alignof()), value);\\n }\\n\\n at(index: i32): i64 {\\n let len = this.byteLength >>> alignof();\\n index += select(0, len, index >= 0);\\n if (index >= len) throw new RangeError(E_INDEXOUTOFRANGE);\\n return load(this.dataStart + (index << alignof()));\\n }\\n\\n includes(searchElement: i64, fromIndex: i32 = 0): bool {\\n return INCLUDES(this, searchElement, fromIndex);\\n }\\n\\n indexOf(searchElement: i64, fromIndex: i32 = 0): i32 {\\n return INDEX_OF(this, searchElement, fromIndex);\\n }\\n\\n lastIndexOf(searchElement: i64, fromIndex: i32 = this.length): i32 {\\n return LAST_INDEX_OF(this, searchElement, fromIndex);\\n }\\n\\n fill(value: i64, start: i32 = 0, end: i32 = i32.MAX_VALUE): Int64Array {\\n FILL(this.dataStart, this.length, u64(value), start, end);\\n return this;\\n }\\n\\n sort(comparator: (a: i64, b: i64) => i32 = COMPARATOR()): Int64Array {\\n SORT(this.dataStart, this.length, comparator);\\n return this;\\n }\\n\\n slice(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Int64Array {\\n return SLICE(this, begin, end);\\n }\\n\\n subarray(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Int64Array {\\n return SUBARRAY(this, begin, end);\\n }\\n\\n copyWithin(target: i32, start: i32, end: i32 = i32.MAX_VALUE): Int64Array {\\n return COPY_WITHIN(this, target, start, end);\\n }\\n\\n reduce(\\n fn: (accumulator: T, value: i64, index: i32, array: Int64Array) => T,\\n initialValue: T,\\n ): T {\\n return REDUCE(this, fn, initialValue);\\n }\\n\\n reduceRight(\\n fn: (accumulator: T, value: i64, index: i32, array: Int64Array) => T,\\n initialValue: T,\\n ): T {\\n return REDUCE_RIGHT(this, fn, initialValue);\\n }\\n\\n map(fn: (value: i64, index: i32, self: Int64Array) => i64): Int64Array {\\n return MAP(this, fn);\\n }\\n\\n filter(fn: (value: i64, index: i32, self: Int64Array) => bool): Int64Array {\\n return FILTER(this, fn);\\n }\\n\\n findIndex(fn: (value: i64, index: i32, self: Int64Array) => bool): i32 {\\n return FIND_INDEX(this, fn);\\n }\\n\\n findLastIndex(fn: (value: i64, index: i32, self: Int64Array) => bool): i32 {\\n return FIND_LAST_INDEX(this, fn);\\n }\\n\\n some(fn: (value: i64, index: i32, self: Int64Array) => bool): bool {\\n return SOME(this, fn);\\n }\\n\\n every(fn: (value: i64, index: i32, self: Int64Array) => bool): bool {\\n return EVERY(this, fn);\\n }\\n\\n forEach(fn: (value: i64, index: i32, self: Int64Array) => void): void {\\n FOREACH(this, fn);\\n }\\n\\n reverse(): Int64Array {\\n REVERSE(this.dataStart, this.length);\\n return this;\\n }\\n\\n join(separator: string = \\\",\\\"): string {\\n return joinIntegerArray(this.dataStart, this.length, separator);\\n }\\n\\n set>(source: U, offset: i32 = 0): void {\\n SET(this, source, offset);\\n }\\n\\n toString(): string {\\n return this.join();\\n }\\n\\n static wrap(buffer: ArrayBuffer, byteOffset: i32 = 0, length: i32 = -1): Int64Array {\\n return WRAP(buffer, byteOffset, length);\\n }\\n}\\n\\nexport class Uint64Array extends ArrayBufferView {\\n [key: number]: u64;\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly BYTES_PER_ELEMENT: i32 = sizeof();\\n\\n constructor(length: i32) {\\n super(length, alignof());\\n }\\n\\n get length(): i32 {\\n return this.byteLength >>> alignof();\\n }\\n\\n @operator(\\\"[]\\\")\\n private __get(index: i32): u64 {\\n if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE);\\n return load(this.dataStart + (index << alignof()));\\n }\\n\\n @unsafe @operator(\\\"{}\\\")\\n private __uget(index: i32): u64 {\\n return load(this.dataStart + (index << alignof()));\\n }\\n\\n @operator(\\\"[]=\\\")\\n private __set(index: i32, value: u64): void {\\n if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE);\\n store(this.dataStart + (index << alignof()), value);\\n }\\n\\n @unsafe @operator(\\\"{}=\\\")\\n private __uset(index: i32, value: u64): void {\\n store(this.dataStart + (index << alignof()), value);\\n }\\n\\n at(index: i32): u64 {\\n let len = this.byteLength >>> alignof();\\n index += select(0, len, index >= 0);\\n if (index >= len) throw new RangeError(E_INDEXOUTOFRANGE);\\n return load(this.dataStart + (index << alignof()));\\n }\\n\\n includes(searchElement: u64, fromIndex: i32 = 0): bool {\\n return INCLUDES(this, searchElement, fromIndex);\\n }\\n\\n indexOf(searchElement: u64, fromIndex: i32 = 0): i32 {\\n return INDEX_OF(this, searchElement, fromIndex);\\n }\\n\\n lastIndexOf(searchElement: u64, fromIndex: i32 = this.length): i32 {\\n return LAST_INDEX_OF(this, searchElement, fromIndex);\\n }\\n\\n fill(value: u64, start: i32 = 0, end: i32 = i32.MAX_VALUE): Uint64Array {\\n FILL(this.dataStart, this.length, value, start, end);\\n return this;\\n }\\n\\n sort(comparator: (a: u64, b: u64) => i32 = COMPARATOR()): Uint64Array {\\n SORT(this.dataStart, this.length, comparator);\\n return this;\\n }\\n\\n slice(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Uint64Array {\\n return SLICE(this, begin, end);\\n }\\n\\n subarray(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Uint64Array {\\n return SUBARRAY(this, begin, end);\\n }\\n\\n copyWithin(target: i32, start: i32, end: i32 = i32.MAX_VALUE): Uint64Array {\\n return COPY_WITHIN(this, target, start, end);\\n }\\n\\n reduce(\\n fn: (accumulator: T, value: u64, index: i32, array: Uint64Array) => T,\\n initialValue: T,\\n ): T {\\n return REDUCE(this, fn, initialValue);\\n }\\n\\n reduceRight(\\n fn: (accumulator: T, value: u64, index: i32, array: Uint64Array) => T,\\n initialValue: T,\\n ): T {\\n return REDUCE_RIGHT(this, fn, initialValue);\\n }\\n\\n map(fn: (value: u64, index: i32, self: Uint64Array) => u64): Uint64Array {\\n return MAP(this, fn);\\n }\\n\\n filter(fn: (value: u64, index: i32, self: Uint64Array) => bool): Uint64Array {\\n return FILTER(this, fn);\\n }\\n\\n findIndex(fn: (value: u64, index: i32, self: Uint64Array) => bool): i32 {\\n return FIND_INDEX(this, fn);\\n }\\n\\n findLastIndex(fn: (value: u64, index: i32, self: Uint64Array) => bool): i32 {\\n return FIND_LAST_INDEX(this, fn);\\n }\\n\\n some(fn: (value: u64, index: i32, self: Uint64Array) => bool): bool {\\n return SOME(this, fn);\\n }\\n\\n every(fn: (value: u64, index: i32, self: Uint64Array) => bool): bool {\\n return EVERY(this, fn);\\n }\\n\\n forEach(fn: (value: u64, index: i32, self: Uint64Array) => void): void {\\n FOREACH(this, fn);\\n }\\n\\n reverse(): Uint64Array {\\n REVERSE(this.dataStart, this.length);\\n return this;\\n }\\n\\n join(separator: string = \\\",\\\"): string {\\n return joinIntegerArray(this.dataStart, this.length, separator);\\n }\\n\\n set>(source: U, offset: i32 = 0): void {\\n SET(this, source, offset);\\n }\\n\\n toString(): string {\\n return this.join();\\n }\\n\\n static wrap(buffer: ArrayBuffer, byteOffset: i32 = 0, length: i32 = -1): Uint64Array {\\n return WRAP(buffer, byteOffset, length);\\n }\\n}\\n\\nexport class Float32Array extends ArrayBufferView {\\n [key: number]: f32;\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly BYTES_PER_ELEMENT: i32 = sizeof();\\n\\n constructor(length: i32) {\\n super(length, alignof());\\n }\\n\\n get length(): i32 {\\n return this.byteLength >>> alignof();\\n }\\n\\n @operator(\\\"[]\\\")\\n private __get(index: i32): f32 {\\n if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE);\\n return load(this.dataStart + (index << alignof()));\\n }\\n\\n @unsafe @operator(\\\"{}\\\")\\n private __uget(index: i32): f32 {\\n return load(this.dataStart + (index << alignof()));\\n }\\n\\n @operator(\\\"[]=\\\")\\n private __set(index: i32, value: f32): void {\\n if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE);\\n store(this.dataStart + (index << alignof()), value);\\n }\\n\\n @unsafe @operator(\\\"{}=\\\")\\n private __uset(index: i32, value: f32): void {\\n store(this.dataStart + (index << alignof()), value);\\n }\\n\\n at(index: i32): f32 {\\n let len = this.byteLength >>> alignof();\\n index += select(0, len, index >= 0);\\n if (index >= len) throw new RangeError(E_INDEXOUTOFRANGE);\\n return load(this.dataStart + (index << alignof()));\\n }\\n\\n includes(searchElement: f32, fromIndex: i32 = 0): bool {\\n return INCLUDES(this, searchElement, fromIndex);\\n }\\n\\n indexOf(searchElement: f32, fromIndex: i32 = 0): i32 {\\n return INDEX_OF(this, searchElement, fromIndex);\\n }\\n\\n lastIndexOf(searchElement: f32, fromIndex: i32 = this.length): i32 {\\n return LAST_INDEX_OF(this, searchElement, fromIndex);\\n }\\n\\n fill(value: f32, start: i32 = 0, end: i32 = i32.MAX_VALUE): Float32Array {\\n FILL(this.dataStart, this.length, value, start, end);\\n return this;\\n }\\n\\n sort(comparator: (a: f32, b: f32) => i32 = COMPARATOR()): Float32Array {\\n SORT(this.dataStart, this.length, comparator);\\n return this;\\n }\\n\\n slice(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Float32Array {\\n return SLICE(this, begin, end);\\n }\\n\\n subarray(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Float32Array {\\n return SUBARRAY(this, begin, end);\\n }\\n\\n copyWithin(target: i32, start: i32, end: i32 = i32.MAX_VALUE): Float32Array {\\n return COPY_WITHIN(this, target, start, end);\\n }\\n\\n reduce(\\n fn: (accumulator: T, value: f32, index: i32, array: Float32Array) => T,\\n initialValue: T,\\n ): T {\\n return REDUCE(this, fn, initialValue);\\n }\\n\\n reduceRight(\\n fn: (accumulator: T, value: f32, index: i32, array: Float32Array) => T,\\n initialValue: T,\\n ): T {\\n return REDUCE_RIGHT(this, fn, initialValue);\\n }\\n\\n map(fn: (value: f32, index: i32, self: Float32Array) => f32): Float32Array {\\n return MAP(this, fn);\\n }\\n\\n filter(fn: (value: f32, index: i32, self: Float32Array) => bool): Float32Array {\\n return FILTER(this, fn);\\n }\\n\\n findIndex(fn: (value: f32, index: i32, self: Float32Array) => bool): i32 {\\n return FIND_INDEX(this, fn);\\n }\\n\\n findLastIndex(fn: (value: f32, index: i32, self: Float32Array) => bool): i32 {\\n return FIND_LAST_INDEX(this, fn);\\n }\\n\\n some(fn: (value: f32, index: i32, self: Float32Array) => bool): bool {\\n return SOME(this, fn);\\n }\\n\\n every(fn: (value: f32, index: i32, self: Float32Array) => bool): bool {\\n return EVERY(this, fn);\\n }\\n\\n forEach(fn: (value: f32, index: i32, self: Float32Array) => void): void {\\n FOREACH(this, fn);\\n }\\n\\n reverse(): Float32Array {\\n REVERSE(this.dataStart, this.length);\\n return this;\\n }\\n\\n join(separator: string = \\\",\\\"): string {\\n return joinFloatArray(this.dataStart, this.length, separator);\\n }\\n\\n set>(source: U, offset: i32 = 0): void {\\n SET(this, source, offset);\\n }\\n\\n toString(): string {\\n return this.join();\\n }\\n\\n static wrap(buffer: ArrayBuffer, byteOffset: i32 = 0, length: i32 = -1): Float32Array {\\n return WRAP(buffer, byteOffset, length);\\n }\\n}\\n\\nexport class Float64Array extends ArrayBufferView {\\n [key: number]: f64;\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly BYTES_PER_ELEMENT: i32 = sizeof();\\n\\n constructor(length: i32) {\\n super(length, alignof());\\n }\\n\\n get length(): i32 {\\n return this.byteLength >>> alignof();\\n }\\n\\n @operator(\\\"[]\\\")\\n private __get(index: i32): f64 {\\n if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE);\\n return load(this.dataStart + (index << alignof()));\\n }\\n\\n @unsafe @operator(\\\"{}\\\")\\n private __uget(index: i32): f64 {\\n return load(this.dataStart + (index << alignof()));\\n }\\n\\n @operator(\\\"[]=\\\")\\n private __set(index: i32, value: f64): void {\\n if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE);\\n store(this.dataStart + (index << alignof()), value);\\n }\\n\\n @unsafe @operator(\\\"{}=\\\")\\n private __uset(index: i32, value: f64): void {\\n store(this.dataStart + (index << alignof()), value);\\n }\\n\\n at(index: i32): f64 {\\n let len = this.byteLength >>> alignof();\\n index += select(0, len, index >= 0);\\n if (index >= len) throw new RangeError(E_INDEXOUTOFRANGE);\\n return load(this.dataStart + (index << alignof()));\\n }\\n\\n includes(searchElement: f64, fromIndex: i32 = 0): bool {\\n return INCLUDES(this, searchElement, fromIndex);\\n }\\n\\n indexOf(searchElement: f64, fromIndex: i32 = 0): i32 {\\n return INDEX_OF(this, searchElement, fromIndex);\\n }\\n\\n lastIndexOf(searchElement: f64, fromIndex: i32 = this.length): i32 {\\n return LAST_INDEX_OF(this, searchElement, fromIndex);\\n }\\n\\n fill(value: f64, start: i32 = 0, end: i32 = i32.MAX_VALUE): Float64Array {\\n FILL(this.dataStart, this.length, value, start, end);\\n return this;\\n }\\n\\n sort(comparator: (a: f64, b: f64) => i32 = COMPARATOR()): Float64Array {\\n SORT(this.dataStart, this.length, comparator);\\n return this;\\n }\\n\\n slice(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Float64Array {\\n return SLICE(this, begin, end);\\n }\\n\\n subarray(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Float64Array {\\n return SUBARRAY(this, begin, end);\\n }\\n\\n copyWithin(target: i32, start: i32, end: i32 = i32.MAX_VALUE): Float64Array {\\n return COPY_WITHIN(this, target, start, end);\\n }\\n\\n reduce(\\n fn: (accumulator: T, value: f64, index: i32, array: Float64Array) => T,\\n initialValue: T,\\n ): T {\\n return REDUCE(this, fn, initialValue);\\n }\\n\\n reduceRight(\\n fn: (accumulator: T, value: f64, index: i32, array: Float64Array) => T,\\n initialValue: T,\\n ): T {\\n return REDUCE_RIGHT(this, fn, initialValue);\\n }\\n\\n map(fn: (value: f64, index: i32, self: Float64Array) => f64): Float64Array {\\n return MAP(this, fn);\\n }\\n\\n filter(fn: (value: f64, index: i32, self: Float64Array) => bool): Float64Array {\\n return FILTER(this, fn);\\n }\\n\\n findIndex(fn: (value: f64, index: i32, self: Float64Array) => bool): i32 {\\n return FIND_INDEX(this, fn);\\n }\\n\\n findLastIndex(fn: (value: f64, index: i32, self: Float64Array) => bool): i32 {\\n return FIND_LAST_INDEX(this, fn);\\n }\\n\\n some(fn: (value: f64, index: i32, self: Float64Array) => bool): bool {\\n return SOME(this, fn);\\n }\\n\\n every(fn: (value: f64, index: i32, self: Float64Array) => bool): bool {\\n return EVERY(this, fn);\\n }\\n\\n forEach(fn: (value: f64, index: i32, self: Float64Array) => void): void {\\n FOREACH(this, fn);\\n }\\n\\n reverse(): Float64Array {\\n REVERSE(this.dataStart, this.length);\\n return this;\\n }\\n\\n join(separator: string = \\\",\\\"): string {\\n return joinFloatArray(this.dataStart, this.length, separator);\\n }\\n\\n set>(source: U, offset: i32 = 0): void {\\n SET(this, source, offset);\\n }\\n\\n toString(): string {\\n return this.join();\\n }\\n\\n static wrap(buffer: ArrayBuffer, byteOffset: i32 = 0, length: i32 = -1): Float64Array {\\n return WRAP(buffer, byteOffset, length);\\n }\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction SLICE(\\n array: TArray,\\n start: i32,\\n end: i32\\n): TArray {\\n let len = array.length;\\n start = start < 0 ? max(start + len, 0) : min(start, len);\\n end = end < 0 ? max(end + len, 0) : min(end , len);\\n len = max(end - start, 0);\\n let slice = instantiate(len);\\n memory.copy(\\n slice.dataStart,\\n array.dataStart + (start << alignof()),\\n len << alignof()\\n );\\n return slice;\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction SUBARRAY(\\n array: TArray,\\n begin: i32,\\n end: i32\\n): TArray {\\n let len = array.length;\\n begin = begin < 0 ? max(len + begin, 0) : min(begin, len);\\n end = end < 0 ? max(len + end, 0) : min(end, len);\\n end = max(end, begin);\\n\\n let out = changetype(__new(offsetof(), idof()));\\n let buf = changetype(array.buffer);\\n store(changetype(out), buf, offsetof(\\\"buffer\\\"));\\n __link(changetype(out), buf, false);\\n store(changetype(out), array.dataStart + (begin << alignof()), offsetof(\\\"dataStart\\\"));\\n store(changetype(out), (end - begin) << alignof(), offsetof(\\\"byteLength\\\"));\\n return out;\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction COPY_WITHIN(\\n array: TArray,\\n target: i32,\\n start: i32,\\n end: i32\\n): TArray {\\n let len = array.length;\\n let ptr = array.dataStart;\\n\\n end = min(end, len);\\n let to = target < 0 ? max(len + target, 0) : min(target, len);\\n let from = start < 0 ? max(len + start, 0) : min(start, len);\\n let last = end < 0 ? max(len + end, 0) : min(end, len);\\n let count = min(last - from, len - to);\\n\\n memory.copy(\\n ptr + (to << alignof()),\\n ptr + (from << alignof()),\\n count << alignof()\\n );\\n return array;\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction REDUCE(\\n array: TArray,\\n fn: (accumulator: TRet, value: T, index: i32, array: TArray) => TRet,\\n initialValue: TRet\\n): TRet {\\n let ptr = array.dataStart;\\n for (let i = 0, k = array.length; i < k; i++) {\\n initialValue = fn(initialValue, load(ptr + (i << alignof())), i, array);\\n }\\n return initialValue;\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction REDUCE_RIGHT(\\n array: TArray,\\n fn: (accumulator: TRet, value: T, index: i32, array: TArray) => TRet,\\n initialValue: TRet\\n): TRet {\\n let ptr = array.dataStart;\\n for (let i = array.length - 1; i >= 0; i--) {\\n initialValue = fn(initialValue, load(ptr + (i << alignof())), i, array);\\n }\\n return initialValue;\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction MAP(\\n array: TArray,\\n fn: (value: T, index: i32, self: TArray) => T,\\n): TArray {\\n let len = array.length;\\n let ptr = array.dataStart;\\n\\n let byteLength = len << alignof();\\n let out = changetype(__new(offsetof(), idof()));\\n let buf = changetype(__new(byteLength, idof()));\\n for (let i = 0; i < len; i++) {\\n store(\\n changetype(buf) + (i << alignof()),\\n fn(load(ptr + (i << alignof())), i, array)\\n );\\n }\\n store(changetype(out), changetype(buf), offsetof(\\\"buffer\\\"));\\n __link(changetype(out), changetype(buf), false);\\n store(changetype(out), changetype(buf), offsetof(\\\"dataStart\\\"));\\n store(changetype(out), byteLength, offsetof(\\\"byteLength\\\"));\\n return out;\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction FILTER(\\n array: TArray,\\n fn: (value: T, index: i32, self: TArray) => bool,\\n): TArray {\\n let len = array.length;\\n let out = changetype(__new(offsetof(), idof()));\\n let buf = changetype(__new(len << alignof(), idof()));\\n let dataStart = array.dataStart;\\n let j: usize = 0;\\n for (let i = 0; i < len; i++) {\\n let value = load(dataStart + (i << alignof()));\\n if (fn(value, i, array)) {\\n store(\\n changetype(buf) + (j++ << alignof()),\\n value\\n );\\n }\\n }\\n // shrink output buffer\\n let byteLength = j << alignof();\\n let data = __renew(changetype(buf), byteLength);\\n store(changetype(out), data, offsetof(\\\"buffer\\\"));\\n __link(changetype(out), data, false);\\n store(changetype(out), byteLength, offsetof(\\\"byteLength\\\"));\\n store(changetype(out), data, offsetof(\\\"dataStart\\\"));\\n return out;\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction FIND_INDEX(\\n array: TArray,\\n fn: (value: T, index: i32, array: TArray) => bool,\\n): i32 {\\n let ptr = array.dataStart;\\n for (let i = 0, k = array.length; i < k; i++) {\\n if (fn(load(ptr + (i << alignof())), i, array)) return i;\\n }\\n return -1;\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction FIND_LAST_INDEX(\\n array: TArray,\\n fn: (value: T, index: i32, array: TArray) => bool,\\n): i32 {\\n let ptr = array.dataStart;\\n for (let i = array.length - 1; i >= 0; --i) {\\n if (fn(load(ptr + (i << alignof())), i, array)) return i;\\n }\\n return -1;\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction INCLUDES(\\n array: TArray,\\n searchElement: T,\\n fromIndex: i32,\\n): bool {\\n if (isFloat()) {\\n let index: isize = fromIndex;\\n let len: isize = array.length;\\n if (len == 0 || index >= len) return false;\\n if (index < 0) index = max(len + index, 0);\\n let dataStart = array.dataStart;\\n while (index < len) {\\n let elem = load(dataStart + (index << alignof()));\\n // @ts-ignore\\n if (elem == searchElement || isNaN(elem) & isNaN(searchElement)) return true;\\n ++index;\\n }\\n return false;\\n } else {\\n return INDEX_OF(array, searchElement, fromIndex) >= 0;\\n }\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction INDEX_OF(\\n array: TArray,\\n searchElement: T,\\n fromIndex: i32,\\n): i32 {\\n let index: isize = fromIndex;\\n let len: isize = array.length;\\n if (len == 0 || index >= len) return -1;\\n if (index < 0) index = max(len + index, 0);\\n let dataStart = array.dataStart;\\n while (index < len) {\\n if (load(dataStart + (index << alignof())) == searchElement) return index;\\n ++index;\\n }\\n return -1;\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction LAST_INDEX_OF(\\n array: TArray,\\n searchElement: T,\\n fromIndex: i32,\\n): i32 {\\n let index: isize = fromIndex;\\n let len: isize = array.length;\\n if (len == 0) return -1;\\n if (index < 0) index = len + index; // no need to clamp\\n else if (index >= len) index = len - 1;\\n let dataStart = array.dataStart;\\n while (index >= 0) {\\n if (load(dataStart + (index << alignof())) == searchElement) return index;\\n --index;\\n }\\n return -1;\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction SOME(\\n array: TArray,\\n fn: (value: T, index: i32, array: TArray) => bool,\\n): bool {\\n let ptr = array.dataStart;\\n for (let i = 0, k = array.length; i < k; i++) {\\n if (fn(load(ptr + (i << alignof())), i, array)) return true;\\n }\\n return false;\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction EVERY(\\n array: TArray,\\n fn: (value: T, index: i32, array: TArray) => bool,\\n): bool {\\n let ptr = array.dataStart;\\n for (let i = 0, k = array.length; i < k; i++) {\\n if (fn(load(ptr + (i << alignof())), i, array)) continue;\\n return false;\\n }\\n return true;\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction FOREACH(\\n array: TArray,\\n fn: (value: T, index: i32, array: TArray) => void,\\n): void {\\n let ptr = array.dataStart;\\n for (let i = 0, k = array.length; i < k; i++) {\\n fn(load(ptr + (i << alignof())), i, array);\\n }\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction WRAP(\\n buffer: ArrayBuffer,\\n byteOffset: i32 = 0,\\n len: i32 = -1\\n): TArray {\\n let byteLength: i32;\\n let bufferByteLength = buffer.byteLength;\\n const mask: u32 = sizeof() - 1;\\n if (i32(byteOffset > bufferByteLength) | (byteOffset & mask)) {\\n throw new RangeError(E_INDEXOUTOFRANGE);\\n }\\n if (len < 0) {\\n if (len == -1) {\\n if (bufferByteLength & mask) {\\n throw new RangeError(E_INVALIDLENGTH);\\n }\\n byteLength = bufferByteLength - byteOffset;\\n } else {\\n throw new RangeError(E_INVALIDLENGTH);\\n }\\n } else {\\n byteLength = len << alignof();\\n if (byteOffset + byteLength > bufferByteLength) {\\n throw new RangeError(E_INVALIDLENGTH);\\n }\\n }\\n let out = changetype(__new(offsetof(), idof()));\\n store(changetype(out), changetype(buffer), offsetof(\\\"buffer\\\"));\\n __link(changetype(out), changetype(buffer), false);\\n store(changetype(out), byteLength, offsetof(\\\"byteLength\\\"));\\n store(changetype(out), changetype(buffer) + byteOffset, offsetof(\\\"dataStart\\\"));\\n return out;\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction SET<\\n TArray extends ArrayLike,\\n UArray extends ArrayLike\\n>(\\n target: TArray,\\n source: UArray,\\n offset: i32 = 0\\n): void {\\n // need to assert at compile time that U is not a reference or a function\\n if (isReference>()) {\\n ERROR(E_NOTIMPLEMENTED);\\n }\\n let sourceLen = source.length;\\n if (offset < 0 || sourceLen + offset > target.length) {\\n // offset is out of bounds\\n throw new RangeError(E_INDEXOUTOFRANGE);\\n }\\n // @ts-ignore: dataStart\\n let targetStart = target.dataStart + (offset << (alignof>()));\\n // @ts-ignore: dataStart\\n let sourceStart = source.dataStart;\\n // if the types align and match, use memory.copy() instead of manual loop\\n if (\\n isInteger>() == isInteger>() &&\\n alignof>() == alignof>() &&\\n !(isSigned>() && target instanceof Uint8ClampedArray)\\n ) {\\n memory.copy(targetStart, sourceStart, sourceLen << (alignof>()));\\n } else {\\n for (let i = 0; i < sourceLen; i++) {\\n let ptr = targetStart + (i << (alignof>()));\\n let value = load>(sourceStart + (i << (alignof>())));\\n // if TArray is Uint8ClampedArray, then values must be clamped\\n if (target instanceof Uint8ClampedArray) {\\n if (isFloat>()) {\\n store>(ptr,\\n isFinite>(value)\\n ? >max>(0, min>(255, value))\\n : 0\\n );\\n } else {\\n if (!isSigned>()) {\\n store>(ptr, min>(255, value));\\n } else if (sizeof>() <= 4) {\\n store>(ptr, ~(value >> 31) & (((255 - value) >> 31) | value));\\n } else {\\n store>(ptr, ~(value >> 63) & (((255 - value) >> 63) | value));\\n }\\n }\\n } else {\\n if (isFloat>() && !isFloat>()) {\\n store>(ptr, isFinite>(value) ? >value : 0);\\n } else {\\n store>(ptr, >value);\\n }\\n }\\n }\\n }\\n}\\n\",\n \"uri\": \"import { encode, decode, URI_UNSAFE, URL_UNSAFE } from \\\"./util/uri\\\";\\n\\nexport function encodeURI(str: string): string {\\n return changetype(encode(changetype(str), str.length, URI_UNSAFE));\\n}\\n\\nexport function decodeURI(str: string): string {\\n return changetype(decode(changetype(str), str.length, false));\\n}\\n\\nexport function encodeURIComponent(str: string): string {\\n return changetype(encode(changetype(str), str.length, URL_UNSAFE));\\n}\\n\\nexport function decodeURIComponent(str: string): string {\\n return changetype(decode(changetype(str), str.length, true));\\n}\\n\",\n \"util/bytes\": \"export function REVERSE(ptr: usize, len: usize): void {\\n if (len > 1) {\\n let\\n i: usize = 0,\\n tail: usize,\\n hlen: usize = len >> 1;\\n\\n if (ASC_SHRINK_LEVEL < 1) {\\n if (sizeof() == 1) {\\n // TODO: Decide later: Does we need this fast path cases?\\n //\\n // if (len == 4) {\\n // store(ptr, bswap(load(ptr)));\\n // return;\\n // }\\n // if (len == 8) {\\n // store(ptr, bswap(load(ptr)));\\n // return;\\n // }\\n tail = len - 8;\\n while (i + 7 < hlen) {\\n let front = ptr + i;\\n let back = ptr + tail - i;\\n let temp = bswap(load(front));\\n store(front, bswap(load(back)));\\n store(back, temp);\\n i += 8;\\n }\\n }\\n\\n if (sizeof() == 2) {\\n tail = len - 2;\\n while (i + 1 < hlen) {\\n let front = ptr + (i << 1);\\n let back = ptr + (tail - i << 1);\\n let temp = rotr(load(back), 16);\\n store(back, rotr(load(front), 16));\\n store(front, temp);\\n i += 2;\\n }\\n }\\n }\\n\\n tail = len - 1;\\n while (i < hlen) {\\n let front = ptr + (i << alignof());\\n let back = ptr + (tail - i << alignof());\\n let temp = load(front);\\n store(front, load(back));\\n store(back, temp);\\n i++;\\n }\\n }\\n}\\n\\nexport function FILL(\\n ptr: usize,\\n len: usize,\\n value: T,\\n start: isize,\\n end: isize\\n): void {\\n start = start < 0 ? max(len + start, 0) : min(start, len);\\n end = end < 0 ? max(len + end, 0) : min(end, len);\\n\\n if (sizeof() == 1) {\\n if (start < end) {\\n memory.fill(\\n ptr + start,\\n u8(value),\\n (end - start)\\n );\\n }\\n } else {\\n if (ASC_SHRINK_LEVEL <= 1) {\\n if (isInteger()) {\\n // @ts-ignore\\n if (value == 0 | value == -1) {\\n if (start < end) {\\n memory.fill(\\n ptr + (start << alignof()),\\n u8(value),\\n (end - start) << alignof()\\n );\\n }\\n return;\\n }\\n } else if (isFloat()) {\\n // for floating non-negative zeros we can use fast memory.fill\\n if ((sizeof() == 4 && reinterpret(f32(value)) == 0) ||\\n (sizeof() == 8 && reinterpret(f64(value)) == 0)) {\\n if (start < end) {\\n memory.fill(\\n ptr + (start << alignof()),\\n 0,\\n (end - start) << alignof()\\n );\\n }\\n return;\\n }\\n }\\n }\\n for (; start < end; ++start) {\\n store(ptr + (start << alignof()), value);\\n }\\n }\\n}\\n\",\n \"util/casemap\": \"// Total tables size: ~5 kb (usually compressed to ~4 kb)\\n// See: https://git.musl-libc.org/cgit/musl/tree/src/ctype/casemap.h\\n\\n// @ts-ignore: decorator\\n@lazy @inline const TAB = memory.data([\\n 7, 8, 9, 10, 11, 12, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,\\n 13, 6, 6, 14, 6, 6, 6, 6, 6, 6, 6, 6, 15, 16, 17, 18,\\n 6, 19, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 20, 21, 6, 6,\\n 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,\\n 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,\\n 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,\\n 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,\\n 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,\\n 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,\\n 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,\\n 6, 6, 6, 6, 6, 6, 22, 23, 6, 6, 6, 24, 6, 6, 6, 6,\\n 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,\\n 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,\\n 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,\\n 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,\\n 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 25,\\n 6, 6, 6, 6, 26, 6, 6, 6, 6, 6, 6, 6, 27, 6, 6, 6,\\n 6, 6, 6, 6, 6, 6, 6, 6, 28, 6, 6, 6, 6, 6, 6, 6,\\n 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,\\n 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,\\n 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,\\n 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,\\n 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 29, 6,\\n 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,\\n 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,\\n 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,\\n 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,\\n 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,\\n 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,\\n 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,\\n 6, 6, 6, 6, 6, 6, 6, 6, 6, 30, 6, 6, 6, 6, 6, 6,\\n 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36,\\n 43, 43, 43, 43, 43, 43, 43, 43, 1, 0, 84, 86, 86, 86, 86, 86,\\n 86, 86, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 43, 43, 43, 43, 43, 43,\\n 43, 7, 43, 43, 91, 86, 86, 86, 86, 86, 86, 86, 74, 86, 86, 5,\\n 49, 80, 49, 80, 49, 80, 49, 80, 49, 80, 49, 80, 49, 80, 49, 80,\\n 36, 80, 121, 49, 80, 49, 80, 49, 56, 80, 49, 80, 49, 80, 49, 80,\\n 49, 80, 49, 80, 49, 80, 49, 80, 78, 49, 2, 78, 13, 13, 78, 3,\\n 78, 0, 36, 110, 0, 78, 49, 38, 110, 81, 78, 36, 80, 78, 57, 20,\\n 129, 27, 29, 29, 83, 49, 80, 49, 80, 13, 49, 80, 49, 80, 49, 80,\\n 27, 83, 36, 80, 49, 2, 92, 123, 92, 123, 92, 123, 92, 123, 92, 123,\\n 20, 121, 92, 123, 92, 123, 92, 45, 43, 73, 3, 72, 3, 120, 92, 123,\\n 20, 0, 150, 10, 1, 43, 40, 6, 6, 0, 42, 6, 42, 42, 43, 7,\\n 187, 181, 43, 30, 0, 43, 7, 43, 43, 43, 1, 43, 43, 43, 43, 43,\\n 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,\\n 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 1, 43, 43, 43, 43,\\n 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,\\n 43, 43, 43, 42, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,\\n 43, 205, 70, 205, 43, 0, 37, 43, 7, 1, 6, 1, 85, 86, 86, 86,\\n 86, 86, 85, 86, 86, 2, 36, 129, 129, 129, 129, 129, 21, 129, 129, 129,\\n 0, 0, 43, 0, 178, 209, 178, 209, 178, 209, 178, 209, 0, 0, 205, 204,\\n 1, 0, 215, 215, 215, 215, 215, 131, 129, 129, 129, 129, 129, 129, 129, 129,\\n 129, 129, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 28, 0, 0, 0,\\n 0, 0, 49, 80, 49, 80, 49, 80, 49, 80, 49, 80, 49, 2, 0, 0,\\n 49, 80, 49, 80, 49, 80, 49, 80, 49, 80, 49, 80, 49, 80, 49, 80,\\n 49, 80, 78, 49, 80, 49, 80, 78, 49, 80, 49, 80, 49, 80, 49, 80,\\n 49, 80, 49, 80, 49, 80, 49, 2, 135, 166, 135, 166, 135, 166, 135, 166,\\n 135, 166, 135, 166, 135, 166, 135, 166, 42, 43, 43, 43, 43, 43, 43, 43,\\n 43, 43, 43, 43, 43, 0, 0, 0, 84, 86, 86, 86, 86, 86, 86, 86,\\n 86, 86, 86, 86, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 84, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,\\n 12, 0, 12, 42, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,\\n 43, 7, 42, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 43, 43, 43, 43, 43, 43,\\n 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,\\n 43, 43, 43, 43, 86, 86, 108, 129, 21, 0, 43, 43, 43, 43, 43, 43,\\n 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,\\n 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,\\n 43, 43, 43, 43, 7, 108, 3, 65, 43, 43, 86, 86, 86, 86, 86, 86,\\n 86, 86, 86, 86, 86, 86, 86, 86, 44, 86, 43, 43, 43, 43, 43, 43,\\n 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 1,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 12, 108, 0, 0, 0, 0, 0, 6,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 6, 37, 6, 37, 6, 37, 6, 37, 6, 37,\\n 6, 37, 6, 37, 6, 37, 6, 37, 6, 37, 6, 37, 6, 37, 6, 37,\\n 6, 37, 6, 37, 6, 37, 6, 37, 6, 37, 6, 37, 6, 37, 6, 37,\\n 6, 37, 6, 37, 6, 37, 6, 37, 86, 122, 158, 38, 6, 37, 6, 37,\\n 6, 37, 6, 37, 6, 37, 6, 37, 6, 37, 6, 37, 6, 37, 6, 37,\\n 6, 37, 6, 37, 6, 37, 6, 37, 6, 37, 6, 1, 43, 43, 79, 86,\\n 86, 44, 43, 127, 86, 86, 57, 43, 43, 85, 86, 86, 43, 43, 79, 86,\\n 86, 44, 43, 127, 86, 86, 129, 55, 117, 91, 123, 92, 43, 43, 79, 86,\\n 86, 2, 172, 4, 0, 0, 57, 43, 43, 85, 86, 86, 43, 43, 79, 86,\\n 86, 44, 43, 43, 86, 86, 50, 19, 129, 87, 0, 111, 129, 126, 201, 215,\\n 126, 45, 129, 129, 14, 126, 57, 127, 111, 87, 0, 129, 129, 126, 21, 0,\\n 126, 3, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 7, 43,\\n 36, 43, 151, 43, 43, 43, 43, 43, 43, 43, 43, 43, 42, 43, 43, 43,\\n 43, 43, 86, 86, 86, 86, 86, 128, 129, 129, 129, 129, 57, 187, 42, 43,\\n 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,\\n 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,\\n 43, 43, 43, 43, 43, 43, 43, 1, 129, 129, 129, 129, 129, 129, 129, 129,\\n 129, 129, 129, 129, 129, 129, 129, 201, 172, 172, 172, 172, 172, 172, 172, 172,\\n 172, 172, 172, 172, 172, 172, 172, 208, 13, 0, 78, 49, 2, 180, 193, 193,\\n 215, 215, 36, 80, 49, 80, 49, 80, 49, 80, 49, 80, 49, 80, 49, 80,\\n 49, 80, 49, 80, 49, 80, 49, 80, 49, 80, 49, 80, 49, 80, 49, 80,\\n 49, 80, 49, 80, 215, 215, 83, 193, 71, 212, 215, 215, 215, 5, 43, 43,\\n 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 7, 1, 0, 1, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 78, 49, 80, 49, 80, 49, 80,\\n 49, 80, 49, 80, 49, 80, 49, 80, 13, 0, 0, 0, 0, 0, 36, 80,\\n 49, 80, 49, 80, 49, 80, 49, 80, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 43, 43, 43, 43, 43,\\n 43, 43, 43, 43, 43, 121, 92, 123, 92, 123, 79, 123, 92, 123, 92, 123,\\n 92, 123, 92, 123, 92, 123, 92, 123, 92, 123, 92, 123, 92, 123, 92, 45,\\n 43, 43, 121, 20, 92, 123, 92, 45, 121, 42, 92, 39, 92, 123, 92, 123,\\n 92, 123, 164, 0, 10, 180, 92, 123, 92, 123, 79, 3, 120, 56, 43, 43,\\n 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 79, 45, 43, 43, 1,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 42, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,\\n 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 43, 43, 43, 43, 43, 43, 43, 43, 7, 0, 72, 86, 86, 86, 86,\\n 86, 86, 86, 86, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 43, 43, 43,\\n 43, 43, 43, 43, 43, 43, 43, 43, 43, 85, 86, 86, 86, 86, 86, 86,\\n 86, 86, 86, 86, 86, 86, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 36, 43, 43, 43, 43, 43, 43, 43, 43, 43,\\n 43, 43, 7, 0, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 43, 43, 43,\\n 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 7, 0, 0,\\n 0, 0, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,\\n 86, 86, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 43, 43,\\n 43, 43, 43, 43, 43, 43, 43, 43, 86, 86, 86, 86, 86, 86, 86, 86,\\n 86, 86, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 42, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 86, 86,\\n 86, 86, 86, 86, 86, 86, 86, 86, 14, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 85,\\n 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 14, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0\\n]);\\n\\n// @ts-ignore: decorator\\n@lazy @inline const RULES = memory.data([\\n 0x0, 0x2001, -0x2000, 0x1dbf00, 0x2e700, 0x7900,\\n 0x2402, 0x101, -0x100, 0x0, 0x201, -0x200,\\n -0xc6ff, -0xe800, -0x78ff, -0x12c00, 0xc300, 0xd201,\\n 0xce01, 0xcd01, 0x4f01, 0xca01, 0xcb01, 0xcf01,\\n 0x6100, 0xd301, 0xd101, 0xa300, 0xd501, 0x8200,\\n 0xd601, 0xda01, 0xd901, 0xdb01, 0x3800, 0x3,\\n -0x4f00, -0x60ff, -0x37ff, 0x242802, 0x0, 0x101,\\n -0x100, -0xcd00, -0xda00, -0x81ff, 0x2a2b01, -0xa2ff,\\n 0x2a2801, 0x2a3f00, -0xc2ff, 0x4501, 0x4701, 0x2a1f00,\\n 0x2a1c00, 0x2a1e00, -0xd200, -0xce00, -0xca00, -0xcb00,\\n 0xa54f00, 0xa54b00, -0xcf00, 0xa52800, 0xa54400, -0xd100,\\n -0xd300, 0x29f700, 0xa54100, 0x29fd00, -0xd500, -0xd600,\\n 0x29e700, 0xa54300, 0xa52a00, -0x4500, -0xd900, -0x4700,\\n -0xdb00, 0xa51500, 0xa51200, 0x4c2402, 0x0, 0x2001,\\n -0x2000, 0x101, -0x100, 0x5400, 0x7401, 0x2601,\\n 0x2501, 0x4001, 0x3f01, -0x2600, -0x2500, -0x1f00,\\n -0x4000, -0x3f00, 0x801, -0x3e00, -0x3900, -0x2f00,\\n -0x3600, -0x800, -0x5600, -0x5000, 0x700, -0x7400,\\n -0x3bff, -0x6000, -0x6ff, 0x701a02, 0x101, -0x100,\\n 0x2001, -0x2000, 0x5001, 0xf01, -0xf00, 0x0,\\n 0x3001, -0x3000, 0x101, -0x100, 0x0, 0xbc000,\\n 0x1c6001, 0x0, 0x97d001, 0x801, -0x800, 0x8a0502,\\n 0x0, -0xbbfff, -0x186200, 0x89c200, -0x182500, -0x186e00,\\n -0x186d00, -0x186400, -0x186300, -0x185c00, 0x0, 0x8a3800,\\n 0x8a0400, 0xee600, 0x101, -0x100, 0x0, -0x3b00,\\n -0x1dbeff, 0x8f1d02, 0x800, -0x7ff, 0x0, 0x5600,\\n -0x55ff, 0x4a00, 0x6400, 0x8000, 0x7000, 0x7e00,\\n 0x900, -0x49ff, -0x8ff, -0x1c2500, -0x63ff, -0x6fff,\\n -0x7fff, -0x7dff, 0xac0502, 0x0, 0x1001, -0x1000,\\n 0x1c01, 0x101, -0x1d5cff, -0x20beff, -0x2045ff, -0x1c00,\\n 0xb10b02, 0x101, -0x100, 0x3001, -0x3000, 0x0,\\n -0x29f6ff, -0xee5ff, -0x29e6ff, -0x2a2b00, -0x2a2800, -0x2a1bff,\\n -0x29fcff, -0x2a1eff, -0x2a1dff, -0x2a3eff, 0x0, -0x1c6000,\\n 0x0, 0x101, -0x100, 0xbc0c02, 0x0, 0x101,\\n -0x100, -0xa543ff, 0x3a001, -0x8a03ff, -0xa527ff, 0x3000,\\n -0xa54eff, -0xa54aff, -0xa540ff, -0xa511ff, -0xa529ff, -0xa514ff,\\n -0x2fff, -0xa542ff, -0x8a37ff, 0x0, -0x97d000, -0x3a000,\\n 0x0, 0x2001, -0x2000, 0x0, 0x2801, -0x2800,\\n 0x0, 0x4001, -0x4000, 0x0, 0x2001, -0x2000,\\n 0x0, 0x2001, -0x2000, 0x0, 0x2201, -0x2200\\n]);\\n\\n// @ts-ignore: decorator\\n@lazy @inline const RULE_BASES = memory.data([\\n 0, 6, 39, 81, 111, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 124, 0, 0, 127, 0, 0, 0, 0, 0, 0, 0, 0, 131, 142, 146, 151,\\n 0, 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 180, 196, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 198, 201, 0, 0, 0, 219, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 222,\\n 0, 0, 0, 0, 225, 0, 0, 0, 0, 0, 0, 0, 228, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 231, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 234, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 237, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0\\n]);\\n\\n// @ts-ignore: decorator\\n@lazy @inline const EXCEPTIONS = memory.data([\\n 48, 12, 49, 13, 120, 14, 127, 15,\\n 128, 16, 129, 17, 134, 18, 137, 19,\\n 138, 19, 142, 20, 143, 21, 144, 22,\\n 147, 19, 148, 23, 149, 24, 150, 25,\\n 151, 26, 154, 27, 156, 25, 157, 28,\\n 158, 29, 159, 30, 166, 31, 169, 31,\\n 174, 31, 177, 32, 178, 32, 183, 33,\\n 191, 34, 197, 35, 200, 35, 203, 35,\\n 221, 36, 242, 35, 246, 37, 247, 38,\\n 32, 45, 58, 46, 61, 47, 62, 48,\\n 63, 49, 64, 49, 67, 50, 68, 51,\\n 69, 52, 80, 53, 81, 54, 82, 55,\\n 83, 56, 84, 57, 89, 58, 91, 59,\\n 92, 60, 97, 61, 99, 62, 101, 63,\\n 102, 64, 104, 65, 105, 66, 106, 64,\\n 107, 67, 108, 68, 111, 66, 113, 69,\\n 114, 70, 117, 71, 125, 72, 130, 73,\\n 135, 74, 137, 75, 138, 76, 139, 76,\\n 140, 77, 146, 78, 157, 79, 158, 80,\\n 69, 87, 123, 29, 124, 29, 125, 29,\\n 127, 88, 134, 89, 136, 90, 137, 90,\\n 138, 90, 140, 91, 142, 92, 143, 92,\\n 172, 93, 173, 94, 174, 94, 175, 94,\\n 194, 95, 204, 96, 205, 97, 206, 97,\\n 207, 98, 208, 99, 209, 100, 213, 101,\\n 214, 102, 215, 103, 240, 104, 241, 105,\\n 242, 106, 243, 107, 244, 108, 245, 109,\\n 249, 110, 253, 45, 254, 45, 255, 45,\\n 80, 105, 81, 105, 82, 105, 83, 105,\\n 84, 105, 85, 105, 86, 105, 87, 105,\\n 88, 105, 89, 105, 90, 105, 91, 105,\\n 92, 105, 93, 105, 94, 105, 95, 105,\\n 130, 0, 131, 0, 132, 0, 133, 0,\\n 134, 0, 135, 0, 136, 0, 137, 0,\\n 192, 117, 207, 118, 128, 137, 129, 138,\\n 130, 139, 133, 140, 134, 141, 112, 157,\\n 113, 157, 118, 158, 119, 158, 120, 159,\\n 121, 159, 122, 160, 123, 160, 124, 161,\\n 125, 161, 179, 162, 186, 163, 187, 163,\\n 188, 164, 190, 165, 195, 162, 204, 164,\\n 218, 166, 219, 166, 229, 106, 234, 167,\\n 235, 167, 236, 110, 243, 162, 248, 168,\\n 249, 168, 250, 169, 251, 169, 252, 164,\\n 38, 176, 42, 177, 43, 178, 78, 179,\\n 132, 8, 98, 186, 99, 187, 100, 188,\\n 101, 189, 102, 190, 109, 191, 110, 192,\\n 111, 193, 112, 194, 126, 195, 127, 195,\\n 125, 207, 141, 208, 148, 209, 171, 210,\\n 172, 211, 173, 212, 176, 213, 177, 214,\\n 178, 215, 196, 216, 197, 217, 198, 218\\n]);\\n\\n/* Special Case Mappings\\n * See: https://unicode.org/Public/UNIDATA/SpecialCasing.txt\\n */\\n\\n/*\\n@lazy @inline\\nconst SPECIALS_LOWER: StaticArray = [\\n 0x0130, 0x0069, 0x0307, 0x0000,\\n];\\n*/\\n\\n// @ts-ignore: decorator\\n@lazy @inlne\\nexport const SPECIALS_UPPER: StaticArray = [\\n // String#toUpperCase needs .length\\n 0x00DF, 0x0053, 0x0053, 0x0000,\\n 0x0149, 0x02BC, 0x004E, 0x0000,\\n 0x01F0, 0x004A, 0x030C, 0x0000,\\n 0x0390, 0x0399, 0x0308, 0x0301,\\n 0x03B0, 0x03A5, 0x0308, 0x0301,\\n 0x0587, 0x0535, 0x0552, 0x0000,\\n 0x1E96, 0x0048, 0x0331, 0x0000,\\n 0x1E97, 0x0054, 0x0308, 0x0000,\\n 0x1E98, 0x0057, 0x030A, 0x0000,\\n 0x1E99, 0x0059, 0x030A, 0x0000,\\n 0x1E9A, 0x0041, 0x02BE, 0x0000,\\n 0x1F50, 0x03A5, 0x0313, 0x0000,\\n 0x1F52, 0x03A5, 0x0313, 0x0300,\\n 0x1F54, 0x03A5, 0x0313, 0x0301,\\n 0x1F56, 0x03A5, 0x0313, 0x0342,\\n 0x1F80, 0x1F08, 0x0399, 0x0000,\\n 0x1F81, 0x1F09, 0x0399, 0x0000,\\n 0x1F82, 0x1F0A, 0x0399, 0x0000,\\n 0x1F83, 0x1F0B, 0x0399, 0x0000,\\n 0x1F84, 0x1F0C, 0x0399, 0x0000,\\n 0x1F85, 0x1F0D, 0x0399, 0x0000,\\n 0x1F86, 0x1F0E, 0x0399, 0x0000,\\n 0x1F87, 0x1F0F, 0x0399, 0x0000,\\n 0x1F88, 0x1F08, 0x0399, 0x0000,\\n 0x1F89, 0x1F09, 0x0399, 0x0000,\\n 0x1F8A, 0x1F0A, 0x0399, 0x0000,\\n 0x1F8B, 0x1F0B, 0x0399, 0x0000,\\n 0x1F8C, 0x1F0C, 0x0399, 0x0000,\\n 0x1F8D, 0x1F0D, 0x0399, 0x0000,\\n 0x1F8E, 0x1F0E, 0x0399, 0x0000,\\n 0x1F8F, 0x1F0F, 0x0399, 0x0000,\\n 0x1F90, 0x1F28, 0x0399, 0x0000,\\n 0x1F91, 0x1F29, 0x0399, 0x0000,\\n 0x1F92, 0x1F2A, 0x0399, 0x0000,\\n 0x1F93, 0x1F2B, 0x0399, 0x0000,\\n 0x1F94, 0x1F2C, 0x0399, 0x0000,\\n 0x1F95, 0x1F2D, 0x0399, 0x0000,\\n 0x1F96, 0x1F2E, 0x0399, 0x0000,\\n 0x1F97, 0x1F2F, 0x0399, 0x0000,\\n 0x1F98, 0x1F28, 0x0399, 0x0000,\\n 0x1F99, 0x1F29, 0x0399, 0x0000,\\n 0x1F9A, 0x1F2A, 0x0399, 0x0000,\\n 0x1F9B, 0x1F2B, 0x0399, 0x0000,\\n 0x1F9C, 0x1F2C, 0x0399, 0x0000,\\n 0x1F9D, 0x1F2D, 0x0399, 0x0000,\\n 0x1F9E, 0x1F2E, 0x0399, 0x0000,\\n 0x1F9F, 0x1F2F, 0x0399, 0x0000,\\n 0x1FA0, 0x1F68, 0x0399, 0x0000,\\n 0x1FA1, 0x1F69, 0x0399, 0x0000,\\n 0x1FA2, 0x1F6A, 0x0399, 0x0000,\\n 0x1FA3, 0x1F6B, 0x0399, 0x0000,\\n 0x1FA4, 0x1F6C, 0x0399, 0x0000,\\n 0x1FA5, 0x1F6D, 0x0399, 0x0000,\\n 0x1FA6, 0x1F6E, 0x0399, 0x0000,\\n 0x1FA7, 0x1F6F, 0x0399, 0x0000,\\n 0x1FA8, 0x1F68, 0x0399, 0x0000,\\n 0x1FA9, 0x1F69, 0x0399, 0x0000,\\n 0x1FAA, 0x1F6A, 0x0399, 0x0000,\\n 0x1FAB, 0x1F6B, 0x0399, 0x0000,\\n 0x1FAC, 0x1F6C, 0x0399, 0x0000,\\n 0x1FAD, 0x1F6D, 0x0399, 0x0000,\\n 0x1FAE, 0x1F6E, 0x0399, 0x0000,\\n 0x1FAF, 0x1F6F, 0x0399, 0x0000,\\n 0x1FB2, 0x1FBA, 0x0399, 0x0000,\\n 0x1FB3, 0x0391, 0x0399, 0x0000,\\n 0x1FB4, 0x0386, 0x0399, 0x0000,\\n 0x1FB6, 0x0391, 0x0342, 0x0000,\\n 0x1FB7, 0x0391, 0x0342, 0x0399,\\n 0x1FBC, 0x0391, 0x0399, 0x0000,\\n 0x1FC2, 0x1FCA, 0x0399, 0x0000,\\n 0x1FC3, 0x0397, 0x0399, 0x0000,\\n 0x1FC4, 0x0389, 0x0399, 0x0000,\\n 0x1FC6, 0x0397, 0x0342, 0x0000,\\n 0x1FC7, 0x0397, 0x0342, 0x0399,\\n 0x1FCC, 0x0397, 0x0399, 0x0000,\\n 0x1FD2, 0x0399, 0x0308, 0x0300,\\n 0x1FD3, 0x0399, 0x0308, 0x0301,\\n 0x1FD6, 0x0399, 0x0342, 0x0000,\\n 0x1FD7, 0x0399, 0x0308, 0x0342,\\n 0x1FE2, 0x03A5, 0x0308, 0x0300,\\n 0x1FE3, 0x03A5, 0x0308, 0x0301,\\n 0x1FE4, 0x03A1, 0x0313, 0x0000,\\n 0x1FE6, 0x03A5, 0x0342, 0x0000,\\n 0x1FE7, 0x03A5, 0x0308, 0x0342,\\n 0x1FF2, 0x1FFA, 0x0399, 0x0000,\\n 0x1FF3, 0x03A9, 0x0399, 0x0000,\\n 0x1FF4, 0x038F, 0x0399, 0x0000,\\n 0x1FF6, 0x03A9, 0x0342, 0x0000,\\n 0x1FF7, 0x03A9, 0x0342, 0x0399,\\n 0x1FFC, 0x03A9, 0x0399, 0x0000,\\n 0xFB00, 0x0046, 0x0046, 0x0000,\\n 0xFB01, 0x0046, 0x0049, 0x0000,\\n 0xFB02, 0x0046, 0x004C, 0x0000,\\n 0xFB03, 0x0046, 0x0046, 0x0049,\\n 0xFB04, 0x0046, 0x0046, 0x004C,\\n 0xFB05, 0x0053, 0x0054, 0x0000,\\n 0xFB06, 0x0053, 0x0054, 0x0000,\\n 0xFB13, 0x0544, 0x0546, 0x0000,\\n 0xFB14, 0x0544, 0x0535, 0x0000,\\n 0xFB15, 0x0544, 0x053B, 0x0000,\\n 0xFB16, 0x054E, 0x0546, 0x0000,\\n 0xFB17, 0x0544, 0x053D, 0x0000\\n];\\n\\n// @ts-ignore: decorator\\n@lazy @inline const MT = memory.data([\\n 2048, 342, 57\\n]);\\n\\n// Special binary search routine for Special Casing Tables\\n// @ts-ignore: decorator\\n@inline\\nexport function bsearch(key: u32, ptr: usize, max: i32): i32 {\\n let min = 0;\\n while (min <= max) {\\n let mid = (min + max) >>> 3 << 2;\\n let cmp = load(ptr + (mid << alignof())) - key;\\n if (cmp == 0) return mid; // found\\n else if (cmp >>> 31) min = mid + 4; // < 0\\n else max = mid - 4; // > 0\\n }\\n return -1; // not found\\n}\\n\\n// See: https://git.musl-libc.org/cgit/musl/tree/src/ctype/towctrans.c\\nexport function casemap(c: u32, dir: i32): i32 {\\n // if (c >= 0x20000) return c;\\n let c0 = c as i32;\\n let b = c >> 8;\\n c &= 255;\\n\\n let x = c / 3;\\n let y = c % 3;\\n\\n /* lookup entry in two-level base-6 table */\\n // v = tab[(tab[b] as i32) * 86 + x] as u32;\\n let v = load(TAB + load(TAB + b) * 86 + x);\\n // v = (v * mt[y] >> 11) % 6;\\n v = (v * load(MT + (y << alignof())) >> 11) % 6;\\n /* use the bit vector out of the tables as an index into\\n * a block-specific set of rules and decode the rule into\\n * a type and a case-mapping delta. */\\n // r = rules[(ruleBases[b] as u32) + v];\\n let r = load(RULES + ((load(RULE_BASES + b) + v) << alignof()));\\n let rt: u32 = r & 255;\\n let rd: i32 = r >> 8;\\n /* rules 0/1 are simple lower/upper case with a delta.\\n * apply according to desired mapping direction. */\\n if (rt < 2) return c0 + (rd & -(rt ^ dir));\\n /* binary search. endpoints of the binary search for\\n * this block are stored in the rule delta field. */\\n let xn: u32 = rd & 0xff;\\n let xb: u32 = rd >>> 8;\\n while (xn) {\\n let h = xn >> 1;\\n // let t = exceptions[(xb + h) * 2 + 0] as u32;\\n let t = load(EXCEPTIONS + (xb + h) * 2, 0);\\n if (t == c) {\\n // r = rules[exceptions[(xb + h) * 2 + 1]];\\n r = load(RULES + (load(EXCEPTIONS + (xb + h) * 2, 1) << alignof()));\\n rt = r & 255;\\n rd = r >> 8;\\n if (rt < 2) return c0 + (rd & -(rt ^ dir));\\n /* Hard-coded for the four exceptional titlecase */\\n return c0 + 1 - (dir << 1); // (dir ? -1 : 1);\\n } else if (t > c) {\\n xn = h;\\n } else {\\n xb += h;\\n xn -= h;\\n }\\n }\\n return c0;\\n}\\n\",\n \"util/error\": \"// Common error messages for use across the standard library. Keeping error messages compact\\n// and reusing them where possible ensures minimal static data in binaries.\\n\\n// @ts-ignore: decorator\\n@lazy @inline\\nexport const E_INDEXOUTOFRANGE: string = \\\"Index out of range\\\";\\n\\n// @ts-ignore: decorator\\n@lazy @inline\\nexport const E_VALUEOUTOFRANGE: string = \\\"Value out of range\\\";\\n\\n// @ts-ignore: decorator\\n@lazy @inline\\nexport const E_INVALIDLENGTH: string = \\\"Invalid length\\\";\\n\\n// @ts-ignore: decorator\\n@lazy @inline\\nexport const E_EMPTYARRAY: string = \\\"Array is empty\\\";\\n\\n// @ts-ignore: decorator\\n@lazy @inline\\nexport const E_HOLEYARRAY: string = \\\"Element type must be nullable if array is holey\\\";\\n\\n// @ts-ignore: decorator\\n@lazy @inline\\nexport const E_NOTIMPLEMENTED: string = \\\"Not implemented\\\";\\n\\n// @ts-ignore: decorator\\n@lazy @inline\\nexport const E_KEYNOTFOUND: string = \\\"Key does not exist\\\";\\n\\n// @ts-ignore: decorator\\n@lazy @inline\\nexport const E_ALLOCATION_TOO_LARGE: string = \\\"Allocation too large\\\";\\n\\n// @ts-ignore: decorator\\n@lazy @inline\\nexport const E_ALREADY_PINNED: string = \\\"Object already pinned\\\";\\n\\n// @ts-ignore: decorator\\n@lazy @inline\\nexport const E_NOT_PINNED: string = \\\"Object is not pinned\\\";\\n\\n// @ts-ignore: decorator\\n@lazy @inline\\nexport const E_URI_MALFORMED: string = \\\"URI malformed\\\";\\n\\n// @ts-ignore: decorator\\n@lazy @inline\\nexport const E_INVALIDDATE: string = \\\"Invalid Date\\\";\\n\\n// @ts-ignore: decorator\\n@lazy @inline\\nexport const E_UNPAIRED_SURROGATE: string = \\\"Unpaired surrogate\\\";\\n\",\n \"util/hash\": \"export function HASH(key: T): u32 {\\n if (isString()) {\\n return hashStr(changetype(key));\\n } else if (isReference()) {\\n if (sizeof() == 4) return hash32(changetype(key));\\n if (sizeof() == 8) return hash64(changetype(key));\\n } else if (isFloat()) {\\n if (sizeof() == 4) return hash32(reinterpret(f32(key)));\\n if (sizeof() == 8) return hash64(reinterpret(f64(key)));\\n } else {\\n if (sizeof() <= 4) return hash32(u32(key), sizeof());\\n if (sizeof() == 8) return hash64(u64(key));\\n }\\n return unreachable();\\n}\\n\\n// XXHash 32-bit as a starting point, see: https://cyan4973.github.io/xxHash\\n\\n// primes\\n// @ts-ignore: decorator\\n@inline const XXH32_P1: u32 = 2654435761;\\n// @ts-ignore: decorator\\n@inline const XXH32_P2: u32 = 2246822519;\\n// @ts-ignore: decorator\\n@inline const XXH32_P3: u32 = 3266489917;\\n// @ts-ignore: decorator\\n@inline const XXH32_P4: u32 = 668265263;\\n// @ts-ignore: decorator\\n@inline const XXH32_P5: u32 = 374761393;\\n// @ts-ignore: decorator\\n@inline const XXH32_SEED: u32 = 0;\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction hash32(key: u32, len: u32 = 4): u32 {\\n let h: u32 = XXH32_SEED + XXH32_P5 + len;\\n h += key * XXH32_P3;\\n h = rotl(h, 17) * XXH32_P4;\\n h ^= h >> 15;\\n h *= XXH32_P2;\\n h ^= h >> 13;\\n h *= XXH32_P3;\\n h ^= h >> 16;\\n return h;\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction hash64(key: u64): u32 {\\n let h: u32 = XXH32_SEED + XXH32_P5 + 8;\\n h += key * XXH32_P3;\\n h = rotl(h, 17) * XXH32_P4;\\n h += (key >> 32) * XXH32_P3;\\n h = rotl(h, 17) * XXH32_P4;\\n h ^= h >> 15;\\n h *= XXH32_P2;\\n h ^= h >> 13;\\n h *= XXH32_P3;\\n h ^= h >> 16;\\n return h;\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction mix(h: u32, key: u32): u32 {\\n return rotl(h + key * XXH32_P2, 13) * XXH32_P1;\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction hashStr(key: string): u32 {\\n if (changetype(key) == 0) return XXH32_SEED;\\n\\n let h: u32 = key.length << 1;\\n let len: usize = h;\\n let pos = changetype(key);\\n\\n if (len >= 16) {\\n let s1 = XXH32_SEED + XXH32_P1 + XXH32_P2;\\n let s2 = XXH32_SEED + XXH32_P2;\\n let s3 = XXH32_SEED;\\n let s4 = XXH32_SEED - XXH32_P1;\\n\\n let end = len + pos - 16;\\n while (pos <= end) {\\n s1 = mix(s1, load(pos ));\\n s2 = mix(s2, load(pos, 4));\\n s3 = mix(s3, load(pos, 8));\\n s4 = mix(s4, load(pos, 12));\\n pos += 16;\\n }\\n h += rotl(s1, 1) + rotl(s2, 7) + rotl(s3, 12) + rotl(s4, 18);\\n } else {\\n h += XXH32_SEED + XXH32_P5;\\n }\\n\\n let end = changetype(key) + len - 4;\\n while (pos <= end) {\\n h += load(pos) * XXH32_P3;\\n h = rotl(h, 17) * XXH32_P4;\\n pos += 4;\\n }\\n\\n end = changetype(key) + len;\\n while (pos < end) {\\n h += load(pos) * XXH32_P5;\\n h = rotl(h, 11) * XXH32_P1;\\n pos++;\\n }\\n\\n h ^= h >> 15;\\n h *= XXH32_P2;\\n h ^= h >> 13;\\n h *= XXH32_P3;\\n h ^= h >> 16;\\n return h;\\n}\\n\",\n \"util/math\": \"//\\n// Lookup data for exp2f\\n//\\n\\n// @ts-ignore: decorator\\n@inline const EXP2F_TABLE_BITS = 5;\\n\\n// @ts-ignore: decorator\\n@lazy @inline const EXP2F_DATA_TAB = memory.data([\\n // exp2f_data_tab[i] = uint(2^(i/N)) - (i << 52-BITS)\\n // used for computing 2^(k/N) for an int |k| < 150 N as\\n // double(tab[k%N] + (k << 52-BITS))\\n 0x3FF0000000000000, 0x3FEFD9B0D3158574, 0x3FEFB5586CF9890F, 0x3FEF9301D0125B51,\\n 0x3FEF72B83C7D517B, 0x3FEF54873168B9AA, 0x3FEF387A6E756238, 0x3FEF1E9DF51FDEE1,\\n 0x3FEF06FE0A31B715, 0x3FEEF1A7373AA9CB, 0x3FEEDEA64C123422, 0x3FEECE086061892D,\\n 0x3FEEBFDAD5362A27, 0x3FEEB42B569D4F82, 0x3FEEAB07DD485429, 0x3FEEA47EB03A5585,\\n 0x3FEEA09E667F3BCD, 0x3FEE9F75E8EC5F74, 0x3FEEA11473EB0187, 0x3FEEA589994CCE13,\\n 0x3FEEACE5422AA0DB, 0x3FEEB737B0CDC5E5, 0x3FEEC49182A3F090, 0x3FEED503B23E255D,\\n 0x3FEEE89F995AD3AD, 0x3FEEFF76F2FB5E47, 0x3FEF199BDD85529C, 0x3FEF3720DCEF9069,\\n 0x3FEF5818DCFBA487, 0x3FEF7C97337B9B5F, 0x3FEFA4AFA2A490DA, 0x3FEFD0765B6E4540\\n]);\\n\\n// ULP error: 0.502 (nearest rounding.)\\n// Relative error: 1.69 * 2^-34 in [-1/64, 1/64] (before rounding.)\\n// Wrong count: 168353 (all nearest rounding wrong results with fma.)\\n// @ts-ignore: decorator\\n@inline\\nexport function exp2f_lut(x: f32): f32 {\\n const\\n N = 1 << EXP2F_TABLE_BITS,\\n N_MASK = N - 1,\\n shift = reinterpret(0x4338000000000000) / N, // 0x1.8p+52\\n Ox127f = reinterpret(0x7F000000);\\n\\n const\\n C0 = reinterpret(0x3FAC6AF84B912394), // 0x1.c6af84b912394p-5\\n C1 = reinterpret(0x3FCEBFCE50FAC4F3), // 0x1.ebfce50fac4f3p-3\\n C2 = reinterpret(0x3FE62E42FF0C52D6); // 0x1.62e42ff0c52d6p-1\\n\\n let xd = x;\\n let ix = reinterpret(x);\\n let ux = ix >> 20 & 0x7FF;\\n if (ux >= 0x430) {\\n // |x| >= 128 or x is nan.\\n if (ix == 0xFF800000) return 0; // x == -Inf -> 0\\n if (ux >= 0x7F8) return x + x; // x == Inf/NaN -> Inf/NaN\\n if (x > 0) return x * Ox127f; // x > 0 -> HugeVal (Owerflow)\\n if (x <= -150) return 0; // x <= -150 -> 0 (Underflow)\\n }\\n\\n // x = k/N + r with r in [-1/(2N), 1/(2N)] and int k.\\n let kd = xd + shift;\\n let ki = reinterpret(kd);\\n let r = xd - (kd - shift);\\n let t: u64, y: f64, s: f64;\\n\\n // exp2(x) = 2^(k/N) * 2^r ~= s * (C0*r^3 + C1*r^2 + C2*r + 1)\\n t = load(EXP2F_DATA_TAB + ((ki & N_MASK) << alignof()));\\n t += ki << (52 - EXP2F_TABLE_BITS);\\n s = reinterpret(t);\\n y = C2 * r + 1;\\n y += (C0 * r + C1) * (r * r);\\n y *= s;\\n\\n return y;\\n}\\n\\n// ULP error: 0.502 (nearest rounding.)\\n// Relative error: 1.69 * 2^-34 in [-ln2/64, ln2/64] (before rounding.)\\n// Wrong count: 170635 (all nearest rounding wrong results with fma.)\\n// @ts-ignore: decorator\\n@inline\\nexport function expf_lut(x: f32): f32 {\\n const\\n N = 1 << EXP2F_TABLE_BITS,\\n N_MASK = N - 1,\\n shift = reinterpret(0x4338000000000000), // 0x1.8p+52\\n InvLn2N = reinterpret(0x3FF71547652B82FE) * N, // 0x1.71547652b82fep+0\\n Ox1p127f = reinterpret(0x7F000000);\\n\\n const\\n C0 = reinterpret(0x3FAC6AF84B912394) / N / N / N, // 0x1.c6af84b912394p-5\\n C1 = reinterpret(0x3FCEBFCE50FAC4F3) / N / N, // 0x1.ebfce50fac4f3p-3\\n C2 = reinterpret(0x3FE62E42FF0C52D6) / N; // 0x1.62e42ff0c52d6p-1\\n\\n let xd = x;\\n let ix = reinterpret(x);\\n let ux = ix >> 20 & 0x7FF;\\n if (ux >= 0x42B) {\\n // |x| >= 88 or x is nan.\\n if (ix == 0xFF800000) return 0; // x == -Inf -> 0\\n if (ux >= 0x7F8) return x + x; // x == Inf/NaN -> Inf/NaN\\n if (x > reinterpret(0x42B17217)) return x * Ox1p127f; // x > log(0x1p128) ~= 88.72 -> HugeVal (Owerflow)\\n if (x < reinterpret(0xC2CFF1B4)) return 0; // x < log(0x1p-150) ~= -103.97 -> 0 (Underflow)\\n }\\n\\n // x*N/Ln2 = k + r with r in [-1/2, 1/2] and int k.\\n let z = InvLn2N * xd;\\n\\n // Round and convert z to int, the result is in [-150*N, 128*N] and\\n // ideally ties-to-even rule is used, otherwise the magnitude of r\\n // can be bigger which gives larger approximation error.\\n let kd = (z + shift);\\n let ki = reinterpret(kd);\\n let r = z - (kd - shift);\\n let s: f64, y: f64, t: u64;\\n\\n // exp(x) = 2^(k/N) * 2^(r/N) ~= s * (C0*r^3 + C1*r^2 + C2*r + 1)\\n t = load(EXP2F_DATA_TAB + ((ki & N_MASK) << alignof()));\\n t += ki << (52 - EXP2F_TABLE_BITS);\\n s = reinterpret(t);\\n z = C0 * r + C1;\\n y = C2 * r + 1;\\n y += z * (r * r);\\n y *= s;\\n\\n return y;\\n}\\n\\n//\\n// Lookup data for log2f\\n//\\n\\n// @ts-ignore: decorator\\n@inline const LOG2F_TABLE_BITS = 4;\\n\\n// @ts-ignore: decorator\\n@lazy @inline const LOG2F_DATA_TAB = memory.data([\\n 0x3FF661EC79F8F3BE, 0xBFDEFEC65B963019, // 0x1.661ec79f8f3bep+0, -0x1.efec65b963019p-2,\\n 0x3FF571ED4AAF883D, 0xBFDB0B6832D4FCA4, // 0x1.571ed4aaf883dp+0, -0x1.b0b6832d4fca4p-2,\\n 0x3FF49539F0F010B0, 0xBFD7418B0A1FB77B, // 0x1.49539f0f010bp+0 , -0x1.7418b0a1fb77bp-2,\\n 0x3FF3C995B0B80385, 0xBFD39DE91A6DCF7B, // 0x1.3c995b0b80385p+0, -0x1.39de91a6dcf7bp-2,\\n 0x3FF30D190C8864A5, 0xBFD01D9BF3F2B631, // 0x1.30d190c8864a5p+0, -0x1.01d9bf3f2b631p-2,\\n 0x3FF25E227B0B8EA0, 0xBFC97C1D1B3B7AF0, // 0x1.25e227b0b8eap+0 , -0x1.97c1d1b3b7afp-3 ,\\n 0x3FF1BB4A4A1A343F, 0xBFC2F9E393AF3C9F, // 0x1.1bb4a4a1a343fp+0, -0x1.2f9e393af3c9fp-3,\\n 0x3FF12358F08AE5BA, 0xBFB960CBBF788D5C, // 0x1.12358f08ae5bap+0, -0x1.960cbbf788d5cp-4,\\n 0x3FF0953F419900A7, 0xBFAA6F9DB6475FCE, // 0x1.0953f419900a7p+0, -0x1.a6f9db6475fcep-5,\\n 0x3FF0000000000000, 0, // 0x1p+0, 0x0,\\n 0x3FEE608CFD9A47AC, 0x3FB338CA9F24F53D, // 0x1.e608cfd9a47acp-1, 0x1.338ca9f24f53dp-4,\\n 0x3FECA4B31F026AA0, 0x3FC476A9543891BA, // 0x1.ca4b31f026aap-1 , 0x1.476a9543891bap-3,\\n 0x3FEB2036576AFCE6, 0x3FCE840B4AC4E4D2, // 0x1.b2036576afce6p-1, 0x1.e840b4ac4e4d2p-3,\\n 0x3FE9C2D163A1AA2D, 0x3FD40645F0C6651C, // 0x1.9c2d163a1aa2dp-1, 0x1.40645f0c6651cp-2,\\n 0x3FE886E6037841ED, 0x3FD88E9C2C1B9FF8, // 0x1.886e6037841edp-1, 0x1.88e9c2c1b9ff8p-2,\\n 0x3FE767DCF5534862, 0x3FDCE0A44EB17BCC // 0x1.767dcf5534862p-1, 0x1.ce0a44eb17bccp-2\\n]);\\n\\n// ULP error: 0.752 (nearest rounding.)\\n// Relative error: 1.9 * 2^-26 (before rounding.)\\n// @ts-ignore: decorator\\n@inline\\nexport function log2f_lut(x: f32): f32 {\\n const\\n N_MASK = (1 << LOG2F_TABLE_BITS) - 1,\\n Ox1p23f = reinterpret(0x4B000000); // 0x1p23f\\n\\n const\\n A0 = reinterpret(0xBFD712B6F70A7E4D), // -0x1.712b6f70a7e4dp-2\\n A1 = reinterpret(0x3FDECABF496832E0), // 0x1.ecabf496832ep-2\\n A2 = reinterpret(0xBFE715479FFAE3DE), // -0x1.715479ffae3dep-1\\n A3 = reinterpret(0x3FF715475F35C8B8); // 0x1.715475f35c8b8p0\\n\\n let ux = reinterpret(x);\\n // Fix sign of zero with downward rounding when x==1.\\n // if (WANT_ROUNDING && predict_false(ix == 0x3f800000)) return 0;\\n if (ux - 0x00800000 >= 0x7F800000 - 0x00800000) {\\n // x < 0x1p-126 or inf or nan.\\n if (ux * 2 == 0) return -Infinity;\\n if (ux == 0x7F800000) return x; // log2(inf) == inf.\\n if ((ux >> 31) || ux * 2 >= 0xFF000000) return (x - x) / (x - x);\\n // x is subnormal, normalize it.\\n ux = reinterpret(x * Ox1p23f);\\n ux -= 23 << 23;\\n }\\n // x = 2^k z; where z is in range [OFF,2*OFF] and exact.\\n // The range is split into N subintervals.\\n // The ith subinterval contains z and c is near its center.\\n let tmp = ux - 0x3F330000;\\n let i = (tmp >> (23 - LOG2F_TABLE_BITS)) & N_MASK;\\n let top = tmp & 0xFF800000;\\n let iz = ux - top;\\n let k = tmp >> 23;\\n\\n let invc = load(LOG2F_DATA_TAB + (i << (1 + alignof())), 0 << alignof());\\n let logc = load(LOG2F_DATA_TAB + (i << (1 + alignof())), 1 << alignof());\\n let z = reinterpret(iz);\\n\\n // log2(x) = log1p(z/c-1)/ln2 + log2(c) + k\\n let r = z * invc - 1;\\n let y0 = logc + k;\\n\\n // Pipelined polynomial evaluation to approximate log1p(r)/ln2.\\n let y = A1 * r + A2;\\n let p = A3 * r + y0;\\n let r2 = r * r;\\n y += A0 * r2;\\n y = y * r2 + p;\\n\\n return y;\\n}\\n\\n//\\n// Lookup data for logf. See: https://git.musl-libc.org/cgit/musl/tree/src/math/logf.c\\n//\\n\\n// @ts-ignore: decorator\\n@inline const LOGF_TABLE_BITS = 4;\\n\\n// @ts-ignore: decorator\\n@lazy @inline const LOGF_DATA_TAB = memory.data([\\n 0x3FF661EC79F8F3BE, 0xBFD57BF7808CAADE, // 0x1.661ec79f8f3bep+0, -0x1.57bf7808caadep-2,\\n 0x3FF571ED4AAF883D, 0xBFD2BEF0A7C06DDB, // 0x1.571ed4aaf883dp+0, -0x1.2bef0a7c06ddbp-2,\\n 0x3FF49539F0F010B0, 0xBFD01EAE7F513A67, // 0x1.49539f0f010bp+0 , -0x1.01eae7f513a67p-2,\\n 0x3FF3C995B0B80385, 0xBFCB31D8A68224E9, // 0x1.3c995b0b80385p+0, -0x1.b31d8a68224e9p-3,\\n 0x3FF30D190C8864A5, 0xBFC6574F0AC07758, // 0x1.30d190c8864a5p+0, -0x1.6574f0ac07758p-3,\\n 0x3FF25E227B0B8EA0, 0xBFC1AA2BC79C8100, // 0x1.25e227b0b8eap+0 , -0x1.1aa2bc79c81p-3 ,\\n 0x3FF1BB4A4A1A343F, 0xBFBA4E76CE8C0E5E, // 0x1.1bb4a4a1a343fp+0, -0x1.a4e76ce8c0e5ep-4,\\n 0x3FF12358F08AE5BA, 0xBFB1973C5A611CCC, // 0x1.12358f08ae5bap+0, -0x1.1973c5a611cccp-4,\\n 0x3FF0953F419900A7, 0xBFA252F438E10C1E, // 0x1.0953f419900a7p+0, -0x1.252f438e10c1ep-5,\\n 0x3FF0000000000000, 0, // 0x1p+0, 0,\\n 0x3FEE608CFD9A47AC, 0x3FAAA5AA5DF25984, // 0x1.e608cfd9a47acp-1, 0x1.aa5aa5df25984p-5,\\n 0x3FECA4B31F026AA0, 0x3FBC5E53AA362EB4, // 0x1.ca4b31f026aap-1 , 0x1.c5e53aa362eb4p-4,\\n 0x3FEB2036576AFCE6, 0x3FC526E57720DB08, // 0x1.b2036576afce6p-1, 0x1.526e57720db08p-3,\\n 0x3FE9C2D163A1AA2D, 0x3FCBC2860D224770, // 0x1.9c2d163a1aa2dp-1, 0x1.bc2860d22477p-3 ,\\n 0x3FE886E6037841ED, 0x3FD1058BC8A07EE1, // 0x1.886e6037841edp-1, 0x1.1058bc8a07ee1p-2,\\n 0x3FE767DCF5534862, 0x3FD4043057B6EE09 // 0x1.767dcf5534862p-1, 0x1.4043057b6ee09p-2\\n]);\\n\\n// ULP error: 0.818 (nearest rounding.)\\n// Relative error: 1.957 * 2^-26 (before rounding.)\\n// @ts-ignore: decorator\\n@inline\\nexport function logf_lut(x: f32): f32 {\\n const\\n N_MASK = (1 << LOGF_TABLE_BITS) - 1,\\n Ox1p23f = reinterpret(0x4B000000); // 0x1p23f\\n\\n const\\n Ln2 = reinterpret(0x3FE62E42FEFA39EF), // 0x1.62e42fefa39efp-1;\\n A0 = reinterpret(0xBFD00EA348B88334), // -0x1.00ea348b88334p-2\\n A1 = reinterpret(0x3FD5575B0BE00B6A), // 0x1.5575b0be00b6ap-2\\n A2 = reinterpret(0xBFDFFFFEF20A4123); // -0x1.ffffef20a4123p-2\\n\\n let ux = reinterpret(x);\\n // Fix sign of zero with downward rounding when x==1.\\n // if (WANT_ROUNDING && ux == 0x3f800000) return 0;\\n if (ux - 0x00800000 >= 0x7F800000 - 0x00800000) {\\n // x < 0x1p-126 or inf or nan.\\n if ((ux << 1) == 0) return -Infinity;\\n if (ux == 0x7F800000) return x; // log(inf) == inf.\\n if ((ux >> 31) || (ux << 1) >= 0xFF000000) return (x - x) / (x - x);\\n // x is subnormal, normalize it.\\n ux = reinterpret(x * Ox1p23f);\\n ux -= 23 << 23;\\n }\\n // x = 2^k z; where z is in range [OFF,2*OFF] and exact.\\n // The range is split into N subintervals.\\n // The ith subinterval contains z and c is near its center.\\n let tmp = ux - 0x3F330000;\\n let i = (tmp >> (23 - LOGF_TABLE_BITS)) & N_MASK;\\n let k = tmp >> 23;\\n let iz = ux - (tmp & 0x1FF << 23);\\n\\n let invc = load(LOGF_DATA_TAB + (i << (1 + alignof())), 0 << alignof());\\n let logc = load(LOGF_DATA_TAB + (i << (1 + alignof())), 1 << alignof());\\n\\n let z = reinterpret(iz);\\n\\n // log(x) = log1p(z/c-1) + log(c) + k*Ln2\\n let r = z * invc - 1;\\n let y0 = logc + k * Ln2;\\n\\n // Pipelined polynomial evaluation to approximate log1p(r).\\n let r2 = r * r;\\n let y = A1 * r + A2;\\n y += A0 * r2;\\n y = y * r2 + (y0 + r);\\n\\n return y;\\n}\\n\\n//\\n// Lookup data for powf. See: https://git.musl-libc.org/cgit/musl/tree/src/math/powf.c\\n//\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction zeroinfnanf(ux: u32): bool {\\n return (ux << 1) - 1 >= (0x7f800000 << 1) - 1;\\n}\\n\\n// Returns 0 if not int, 1 if odd int, 2 if even int. The argument is\\n// the bit representation of a non-zero finite floating-point value.\\n// @ts-ignore: decorator\\n@inline\\nfunction checkintf(iy: u32): i32 {\\n let e = iy >> 23 & 0xFF;\\n if (e < 0x7F ) return 0;\\n if (e > 0x7F + 23) return 2;\\n e = 1 << (0x7F + 23 - e);\\n if (iy & (e - 1)) return 0;\\n if (iy & e ) return 1;\\n return 2;\\n}\\n\\n// Subnormal input is normalized so ix has negative biased exponent.\\n// Output is multiplied by N (POWF_SCALE) if TOINT_INTRINICS is set.\\n// @ts-ignore: decorator\\n@inline\\nfunction log2f_inline(ux: u32): f64 {\\n const N_MASK = (1 << LOG2F_TABLE_BITS) - 1;\\n\\n const\\n A0 = reinterpret(0x3FD27616C9496E0B), // 0x1.27616c9496e0bp-2\\n A1 = reinterpret(0xBFD71969A075C67A), // -0x1.71969a075c67ap-2\\n A2 = reinterpret(0x3FDEC70A6CA7BADD), // 0x1.ec70a6ca7baddp-2\\n A3 = reinterpret(0xBFE7154748BEF6C8), // -0x1.7154748bef6c8p-1\\n A4 = reinterpret(0x3FF71547652AB82B); // 0x1.71547652ab82bp+0\\n\\n // x = 2^k z; where z is in range [OFF,2*OFF] and exact.\\n // The range is split into N subintervals.\\n // The ith subinterval contains z and c is near its center.\\n let tmp = ux - 0x3F330000;\\n let i = usize((tmp >> (23 - LOG2F_TABLE_BITS)) & N_MASK);\\n let top = tmp & 0xFF800000;\\n let uz = ux - top;\\n let k = top >> 23;\\n\\n let invc = load(LOG2F_DATA_TAB + (i << (1 + alignof())), 0 << alignof());\\n let logc = load(LOG2F_DATA_TAB + (i << (1 + alignof())), 1 << alignof());\\n let z = reinterpret(uz);\\n\\n // log2(x) = log1p(z/c-1)/ln2 + log2(c) + k\\n let r = z * invc - 1;\\n let y0 = logc + k;\\n\\n // Pipelined polynomial evaluation to approximate log1p(r)/ln2.\\n let y = A0 * r + A1;\\n let p = A2 * r + A3;\\n let q = A4 * r + y0;\\n\\n r *= r;\\n q += p * r;\\n y = y * (r * r) + q;\\n\\n return y;\\n}\\n\\n// The output of log2 and thus the input of exp2 is either scaled by N\\n// (in case of fast toint intrinsics) or not. The unscaled xd must be\\n// in [-1021,1023], sign_bias sets the sign of the result.\\n// @ts-ignore: decorator\\n@inline\\nfunction exp2f_inline(xd: f64, signBias: u32): f32 {\\n const\\n N = 1 << EXP2F_TABLE_BITS,\\n N_MASK = N - 1,\\n shift = reinterpret(0x4338000000000000) / N; // 0x1.8p+52\\n\\n const\\n C0 = reinterpret(0x3FAC6AF84B912394), // 0x1.c6af84b912394p-5\\n C1 = reinterpret(0x3FCEBFCE50FAC4F3), // 0x1.ebfce50fac4f3p-3\\n C2 = reinterpret(0x3FE62E42FF0C52D6); // 0x1.62e42ff0c52d6p-1\\n\\n // x = k/N + r with r in [-1/(2N), 1/(2N)]\\n let kd = (xd + shift);\\n let ki = reinterpret(kd);\\n let r = xd - (kd - shift);\\n let t: u64, z: f64, y: f64, s: f64;\\n\\n // exp2(x) = 2^(k/N) * 2^r ~= s * (C0*r^3 + C1*r^2 + C2*r + 1)\\n t = load(EXP2F_DATA_TAB + ((ki & N_MASK) << alignof()));\\n t += (ki + signBias) << (52 - EXP2F_TABLE_BITS);\\n s = reinterpret(t);\\n z = C0 * r + C1;\\n y = C2 * r + 1;\\n y += z * (r * r);\\n y *= s;\\n return y;\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction xflowf(sign: u32, y: f32): f32 {\\n return select(-y, y, sign) * y;\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction oflowf(sign: u32): f32 {\\n return xflowf(sign, reinterpret(0x70000000)); // 0x1p97f\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction uflowf(sign: u32): f32 {\\n return xflowf(sign, reinterpret(0x10000000)); // 0x1p-95f\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nexport function powf_lut(x: f32, y: f32): f32 {\\n const\\n Ox1p23f = reinterpret(0x4B000000), // 0x1p23f\\n UPPER_LIMIT = reinterpret(0x405FFFFFFFD1D571), // 0x1.fffffffd1d571p+6\\n LOWER_LIMIT = -150.0,\\n SIGN_BIAS = 1 << (EXP2F_TABLE_BITS + 11);\\n\\n let signBias: u32 = 0;\\n let ix = reinterpret(x);\\n let iy = reinterpret(y);\\n let ny = 0;\\n\\n if (i32(ix - 0x00800000 >= 0x7f800000 - 0x00800000) | (ny = i32(zeroinfnanf(iy)))) {\\n // Either (x < 0x1p-126 or inf or nan) or (y is 0 or inf or nan).\\n if (ny) {\\n if ((iy << 1) == 0) return 1.0;\\n if (ix == 0x3F800000) return NaN; // original: 1.0\\n if ((ix << 1) > (0x7F800000 << 1) || (iy << 1) > (0x7F800000 << 1)) return x + y;\\n if ((ix << 1) == (0x3F800000 << 1)) return NaN; // original: 1.0\\n if (((ix << 1) < (0x3F800000 << 1)) == !(iy >> 31)) return 0; // |x| < 1 && y==inf or |x| > 1 && y==-inf.\\n return y * y;\\n }\\n if (zeroinfnanf(ix)) {\\n let x2 = x * x;\\n if ((ix >> 31) && checkintf(iy) == 1) x2 = -x2;\\n return iy < 0 ? 1 / x2 : x2;\\n }\\n // x and y are non-zero finite.\\n if (ix < 0) {\\n // Finite x < 0.\\n let yint = checkintf(iy);\\n if (yint == 0) return (x - x) / (x - x);\\n if (yint == 1) signBias = SIGN_BIAS;\\n ix &= 0x7FFFFFFF;\\n }\\n if (ix < 0x00800000) {\\n // Normalize subnormal x so exponent becomes negative.\\n ix = reinterpret(x * Ox1p23f);\\n ix &= 0x7FFFFFFF;\\n ix -= 23 << 23;\\n }\\n }\\n let logx = log2f_inline(ix);\\n let ylogx = y * logx; // cannot overflow, y is single prec.\\n if ((reinterpret(ylogx) >> 47 & 0xFFFF) >= 0x80BF) { // reinterpret(126.0) >> 47\\n // |y * log(x)| >= 126\\n if (ylogx > UPPER_LIMIT) return oflowf(signBias); // overflow\\n if (ylogx <= LOWER_LIMIT) return uflowf(signBias); // underflow\\n }\\n return exp2f_inline(ylogx, signBias);\\n}\\n\\n//\\n// Lookup data for exp. See: https://git.musl-libc.org/cgit/musl/tree/src/math/exp.c\\n//\\n\\n// @ts-ignore: decorator\\n@inline const EXP_TABLE_BITS = 7;\\n\\n// @ts-ignore: decorator\\n@lazy @inline const EXP_DATA_TAB = memory.data([\\n 0x0000000000000000, 0x3FF0000000000000,\\n 0x3C9B3B4F1A88BF6E, 0x3FEFF63DA9FB3335,\\n 0xBC7160139CD8DC5D, 0x3FEFEC9A3E778061,\\n 0xBC905E7A108766D1, 0x3FEFE315E86E7F85,\\n 0x3C8CD2523567F613, 0x3FEFD9B0D3158574,\\n 0xBC8BCE8023F98EFA, 0x3FEFD06B29DDF6DE,\\n 0x3C60F74E61E6C861, 0x3FEFC74518759BC8,\\n 0x3C90A3E45B33D399, 0x3FEFBE3ECAC6F383,\\n 0x3C979AA65D837B6D, 0x3FEFB5586CF9890F,\\n 0x3C8EB51A92FDEFFC, 0x3FEFAC922B7247F7,\\n 0x3C3EBE3D702F9CD1, 0x3FEFA3EC32D3D1A2,\\n 0xBC6A033489906E0B, 0x3FEF9B66AFFED31B,\\n 0xBC9556522A2FBD0E, 0x3FEF9301D0125B51,\\n 0xBC5080EF8C4EEA55, 0x3FEF8ABDC06C31CC,\\n 0xBC91C923B9D5F416, 0x3FEF829AAEA92DE0,\\n 0x3C80D3E3E95C55AF, 0x3FEF7A98C8A58E51,\\n 0xBC801B15EAA59348, 0x3FEF72B83C7D517B,\\n 0xBC8F1FF055DE323D, 0x3FEF6AF9388C8DEA,\\n 0x3C8B898C3F1353BF, 0x3FEF635BEB6FCB75,\\n 0xBC96D99C7611EB26, 0x3FEF5BE084045CD4,\\n 0x3C9AECF73E3A2F60, 0x3FEF54873168B9AA,\\n 0xBC8FE782CB86389D, 0x3FEF4D5022FCD91D,\\n 0x3C8A6F4144A6C38D, 0x3FEF463B88628CD6,\\n 0x3C807A05B0E4047D, 0x3FEF3F49917DDC96,\\n 0x3C968EFDE3A8A894, 0x3FEF387A6E756238,\\n 0x3C875E18F274487D, 0x3FEF31CE4FB2A63F,\\n 0x3C80472B981FE7F2, 0x3FEF2B4565E27CDD,\\n 0xBC96B87B3F71085E, 0x3FEF24DFE1F56381,\\n 0x3C82F7E16D09AB31, 0x3FEF1E9DF51FDEE1,\\n 0xBC3D219B1A6FBFFA, 0x3FEF187FD0DAD990,\\n 0x3C8B3782720C0AB4, 0x3FEF1285A6E4030B,\\n 0x3C6E149289CECB8F, 0x3FEF0CAFA93E2F56,\\n 0x3C834D754DB0ABB6, 0x3FEF06FE0A31B715,\\n 0x3C864201E2AC744C, 0x3FEF0170FC4CD831,\\n 0x3C8FDD395DD3F84A, 0x3FEEFC08B26416FF,\\n 0xBC86A3803B8E5B04, 0x3FEEF6C55F929FF1,\\n 0xBC924AEDCC4B5068, 0x3FEEF1A7373AA9CB,\\n 0xBC9907F81B512D8E, 0x3FEEECAE6D05D866,\\n 0xBC71D1E83E9436D2, 0x3FEEE7DB34E59FF7,\\n 0xBC991919B3CE1B15, 0x3FEEE32DC313A8E5,\\n 0x3C859F48A72A4C6D, 0x3FEEDEA64C123422,\\n 0xBC9312607A28698A, 0x3FEEDA4504AC801C,\\n 0xBC58A78F4817895B, 0x3FEED60A21F72E2A,\\n 0xBC7C2C9B67499A1B, 0x3FEED1F5D950A897,\\n 0x3C4363ED60C2AC11, 0x3FEECE086061892D,\\n 0x3C9666093B0664EF, 0x3FEECA41ED1D0057,\\n 0x3C6ECCE1DAA10379, 0x3FEEC6A2B5C13CD0,\\n 0x3C93FF8E3F0F1230, 0x3FEEC32AF0D7D3DE,\\n 0x3C7690CEBB7AAFB0, 0x3FEEBFDAD5362A27,\\n 0x3C931DBDEB54E077, 0x3FEEBCB299FDDD0D,\\n 0xBC8F94340071A38E, 0x3FEEB9B2769D2CA7,\\n 0xBC87DECCDC93A349, 0x3FEEB6DAA2CF6642,\\n 0xBC78DEC6BD0F385F, 0x3FEEB42B569D4F82,\\n 0xBC861246EC7B5CF6, 0x3FEEB1A4CA5D920F,\\n 0x3C93350518FDD78E, 0x3FEEAF4736B527DA,\\n 0x3C7B98B72F8A9B05, 0x3FEEAD12D497C7FD,\\n 0x3C9063E1E21C5409, 0x3FEEAB07DD485429,\\n 0x3C34C7855019C6EA, 0x3FEEA9268A5946B7,\\n 0x3C9432E62B64C035, 0x3FEEA76F15AD2148,\\n 0xBC8CE44A6199769F, 0x3FEEA5E1B976DC09,\\n 0xBC8C33C53BEF4DA8, 0x3FEEA47EB03A5585,\\n 0xBC845378892BE9AE, 0x3FEEA34634CCC320,\\n 0xBC93CEDD78565858, 0x3FEEA23882552225,\\n 0x3C5710AA807E1964, 0x3FEEA155D44CA973,\\n 0xBC93B3EFBF5E2228, 0x3FEEA09E667F3BCD,\\n 0xBC6A12AD8734B982, 0x3FEEA012750BDABF,\\n 0xBC6367EFB86DA9EE, 0x3FEE9FB23C651A2F,\\n 0xBC80DC3D54E08851, 0x3FEE9F7DF9519484,\\n 0xBC781F647E5A3ECF, 0x3FEE9F75E8EC5F74,\\n 0xBC86EE4AC08B7DB0, 0x3FEE9F9A48A58174,\\n 0xBC8619321E55E68A, 0x3FEE9FEB564267C9,\\n 0x3C909CCB5E09D4D3, 0x3FEEA0694FDE5D3F,\\n 0xBC7B32DCB94DA51D, 0x3FEEA11473EB0187,\\n 0x3C94ECFD5467C06B, 0x3FEEA1ED0130C132,\\n 0x3C65EBE1ABD66C55, 0x3FEEA2F336CF4E62,\\n 0xBC88A1C52FB3CF42, 0x3FEEA427543E1A12,\\n 0xBC9369B6F13B3734, 0x3FEEA589994CCE13,\\n 0xBC805E843A19FF1E, 0x3FEEA71A4623C7AD,\\n 0xBC94D450D872576E, 0x3FEEA8D99B4492ED,\\n 0x3C90AD675B0E8A00, 0x3FEEAAC7D98A6699,\\n 0x3C8DB72FC1F0EAB4, 0x3FEEACE5422AA0DB,\\n 0xBC65B6609CC5E7FF, 0x3FEEAF3216B5448C,\\n 0x3C7BF68359F35F44, 0x3FEEB1AE99157736,\\n 0xBC93091FA71E3D83, 0x3FEEB45B0B91FFC6,\\n 0xBC5DA9B88B6C1E29, 0x3FEEB737B0CDC5E5,\\n 0xBC6C23F97C90B959, 0x3FEEBA44CBC8520F,\\n 0xBC92434322F4F9AA, 0x3FEEBD829FDE4E50,\\n 0xBC85CA6CD7668E4B, 0x3FEEC0F170CA07BA,\\n 0x3C71AFFC2B91CE27, 0x3FEEC49182A3F090,\\n 0x3C6DD235E10A73BB, 0x3FEEC86319E32323,\\n 0xBC87C50422622263, 0x3FEECC667B5DE565,\\n 0x3C8B1C86E3E231D5, 0x3FEED09BEC4A2D33,\\n 0xBC91BBD1D3BCBB15, 0x3FEED503B23E255D,\\n 0x3C90CC319CEE31D2, 0x3FEED99E1330B358,\\n 0x3C8469846E735AB3, 0x3FEEDE6B5579FDBF,\\n 0xBC82DFCD978E9DB4, 0x3FEEE36BBFD3F37A,\\n 0x3C8C1A7792CB3387, 0x3FEEE89F995AD3AD,\\n 0xBC907B8F4AD1D9FA, 0x3FEEEE07298DB666,\\n 0xBC55C3D956DCAEBA, 0x3FEEF3A2B84F15FB,\\n 0xBC90A40E3DA6F640, 0x3FEEF9728DE5593A,\\n 0xBC68D6F438AD9334, 0x3FEEFF76F2FB5E47,\\n 0xBC91EEE26B588A35, 0x3FEF05B030A1064A,\\n 0x3C74FFD70A5FDDCD, 0x3FEF0C1E904BC1D2,\\n 0xBC91BDFBFA9298AC, 0x3FEF12C25BD71E09,\\n 0x3C736EAE30AF0CB3, 0x3FEF199BDD85529C,\\n 0x3C8EE3325C9FFD94, 0x3FEF20AB5FFFD07A,\\n 0x3C84E08FD10959AC, 0x3FEF27F12E57D14B,\\n 0x3C63CDAF384E1A67, 0x3FEF2F6D9406E7B5,\\n 0x3C676B2C6C921968, 0x3FEF3720DCEF9069,\\n 0xBC808A1883CCB5D2, 0x3FEF3F0B555DC3FA,\\n 0xBC8FAD5D3FFFFA6F, 0x3FEF472D4A07897C,\\n 0xBC900DAE3875A949, 0x3FEF4F87080D89F2,\\n 0x3C74A385A63D07A7, 0x3FEF5818DCFBA487,\\n 0xBC82919E2040220F, 0x3FEF60E316C98398,\\n 0x3C8E5A50D5C192AC, 0x3FEF69E603DB3285,\\n 0x3C843A59AC016B4B, 0x3FEF7321F301B460,\\n 0xBC82D52107B43E1F, 0x3FEF7C97337B9B5F,\\n 0xBC892AB93B470DC9, 0x3FEF864614F5A129,\\n 0x3C74B604603A88D3, 0x3FEF902EE78B3FF6,\\n 0x3C83C5EC519D7271, 0x3FEF9A51FBC74C83,\\n 0xBC8FF7128FD391F0, 0x3FEFA4AFA2A490DA,\\n 0xBC8DAE98E223747D, 0x3FEFAF482D8E67F1,\\n 0x3C8EC3BC41AA2008, 0x3FEFBA1BEE615A27,\\n 0x3C842B94C3A9EB32, 0x3FEFC52B376BBA97,\\n 0x3C8A64A931D185EE, 0x3FEFD0765B6E4540,\\n 0xBC8E37BAE43BE3ED, 0x3FEFDBFDAD9CBE14,\\n 0x3C77893B4D91CD9D, 0x3FEFE7C1819E90D8,\\n 0x3C5305C14160CC89, 0x3FEFF3C22B8F71F1\\n]);\\n\\n// Handle cases that may overflow or underflow when computing the result that\\n// is scale*(1+TMP) without intermediate rounding. The bit representation of\\n// scale is in SBITS, however it has a computed exponent that may have\\n// overflown into the sign bit so that needs to be adjusted before using it as\\n// a double. (int32_t)KI is the k used in the argument reduction and exponent\\n// adjustment of scale, positive k here means the result may overflow and\\n// negative k means the result may underflow.\\n// @ts-ignore: decorator\\n@inline\\nfunction specialcase(tmp: f64, sbits: u64, ki: u64): f64 {\\n const\\n Ox1p_1022 = reinterpret(0x0010000000000000), // 0x1p-1022\\n Ox1p1009 = reinterpret(0x7F00000000000000); // 0x1p1009\\n\\n let scale: f64;\\n if (!(ki & 0x80000000)) {\\n // k > 0, the exponent of scale might have overflowed by <= 460.\\n sbits -= u64(1009) << 52;\\n scale = reinterpret(sbits);\\n return Ox1p1009 * (scale + scale * tmp); // 0x1p1009\\n }\\n // k < 0, need special care in the subnormal range.\\n sbits += u64(1022) << 52;\\n // Note: sbits is signed scale.\\n scale = reinterpret(sbits);\\n let y = scale + scale * tmp;\\n if (abs(y) < 1.0) {\\n // Round y to the right precision before scaling it into the subnormal\\n // range to avoid double rounding that can cause 0.5+E/2 ulp error where\\n // E is the worst-case ulp error outside the subnormal range. So this\\n // is only useful if the goal is better than 1 ulp worst-case error.\\n let one = copysign(1.0, y);\\n let lo = scale - y + scale * tmp;\\n let hi = one + y;\\n lo = one - hi + y + lo;\\n y = (hi + lo) - one;\\n // Fix the sign of 0.\\n if (y == 0.0) y = reinterpret(sbits & 0x8000000000000000);\\n }\\n return y * Ox1p_1022;\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nexport function exp_lut(x: f64): f64 {\\n const\\n N = 1 << EXP_TABLE_BITS,\\n N_MASK = N - 1;\\n\\n const\\n InvLn2N = reinterpret(0x3FF71547652B82FE) * N, // 0x1.71547652b82fep0\\n NegLn2hiN = reinterpret(0xBF762E42FEFA0000), // -0x1.62e42fefa0000p-8\\n NegLn2loN = reinterpret(0xBD0CF79ABC9E3B3A), // -0x1.cf79abc9e3b3ap-47\\n shift = reinterpret(0x4338000000000000); // 0x1.8p52;\\n\\n const\\n C2 = reinterpret(0x3FDFFFFFFFFFFDBD), // __exp_data.poly[0] (0x1.ffffffffffdbdp-2)\\n C3 = reinterpret(0x3FC555555555543C), // __exp_data.poly[1] (0x1.555555555543cp-3)\\n C4 = reinterpret(0x3FA55555CF172B91), // __exp_data.poly[2] (0x1.55555cf172b91p-5)\\n C5 = reinterpret(0x3F81111167A4D017); // __exp_data.poly[3] (0x1.1111167a4d017p-7)\\n\\n let ux = reinterpret(x);\\n let abstop = u32(ux >> 52) & 0x7FF;\\n if (abstop - 0x3C9 >= 0x03F) {\\n if (abstop - 0x3C9 >= 0x80000000) return 1;\\n if (abstop >= 0x409) {\\n if (ux == 0xFFF0000000000000) return 0;\\n if (abstop >= 0x7FF) {\\n return 1.0 + x;\\n } else {\\n return select(0, Infinity, ux < 0);\\n }\\n }\\n // Large x is special cased below.\\n abstop = 0;\\n }\\n\\n // exp(x) = 2^(k/N) * exp(r), with exp(r) in [2^(-1/2N),2^(1/2N)]\\n // x = ln2/N*k + r, with int k and r in [-ln2/2N, ln2/2N]\\n let z = InvLn2N * x;\\n // #if TOINT_INTRINSICS\\n // \\tkd = roundtoint(z);\\n // \\tki = converttoint(z);\\n // #elif EXP_USE_TOINT_NARROW\\n // \\t// z - kd is in [-0.5-2^-16, 0.5] in all rounding modes.\\n // let kd = z + shift;\\n // let ki = reinterpret(kd) >> 16;\\n // let kd = ki;\\n // #else\\n // z - kd is in [-1, 1] in non-nearest rounding modes.\\n let kd = z + shift;\\n let ki = reinterpret(kd);\\n kd -= shift;\\n // #endif\\n let r = x + kd * NegLn2hiN + kd * NegLn2loN;\\n // 2^(k/N) ~= scale * (1 + tail).\\n let idx = usize((ki & N_MASK) << 1);\\n let top = ki << (52 - EXP_TABLE_BITS);\\n\\n let tail = reinterpret(load(EXP_DATA_TAB + (idx << alignof()))); // T[idx]\\n // This is only a valid scale when -1023*N < k < 1024*N\\n let sbits = load(EXP_DATA_TAB + (idx << alignof()), 1 << alignof()) + top; // T[idx + 1]\\n // exp(x) = 2^(k/N) * exp(r) ~= scale + scale * (tail + exp(r) - 1).\\n // Evaluation is optimized assuming superscalar pipelined execution.\\n let r2 = r * r;\\n // Without fma the worst case error is 0.25/N ulp larger.\\n // Worst case error is less than 0.5+1.11/N+(abs poly error * 2^53) ulp.\\n let tmp = tail + r + r2 * (C2 + r * C3) + r2 * r2 * (C4 + r * C5);\\n if (abstop == 0) return specialcase(tmp, sbits, ki);\\n let scale = reinterpret(sbits);\\n // Note: tmp == 0 or |tmp| > 2^-200 and scale > 2^-739, so there\\n // is no spurious underflow here even without fma.\\n return scale + scale * tmp;\\n}\\n\\n//\\n// Lookup data for exp2. See: https://git.musl-libc.org/cgit/musl/tree/src/math/exp2.c\\n//\\n\\n// Handle cases that may overflow or underflow when computing the result that\\n// is scale*(1+TMP) without intermediate rounding. The bit representation of\\n// scale is in SBITS, however it has a computed exponent that may have\\n// overflown into the sign bit so that needs to be adjusted before using it as\\n// a double. (int32_t)KI is the k used in the argument reduction and exponent\\n// adjustment of scale, positive k here means the result may overflow and\\n// negative k means the result may underflow.\\n// @ts-ignore: decorator\\n@inline\\nfunction specialcase2(tmp: f64, sbits: u64, ki: u64): f64 {\\n const Ox1p_1022 = reinterpret(0x10000000000000); // 0x1p-1022\\n let scale: f64;\\n if ((ki & 0x80000000) == 0) {\\n // k > 0, the exponent of scale might have overflowed by 1\\n sbits -= u64(1) << 52;\\n scale = reinterpret(sbits);\\n return 2 * (scale * tmp + scale);\\n }\\n // k < 0, need special care in the subnormal range\\n sbits += u64(1022) << 52;\\n scale = reinterpret(sbits);\\n let y = scale * tmp + scale;\\n if (y < 1.0) {\\n // Round y to the right precision before scaling it into the subnormal\\n // range to avoid double rounding that can cause 0.5+E/2 ulp error where\\n // E is the worst-case ulp error outside the subnormal range. So this\\n // is only useful if the goal is better than 1 ulp worst-case error.\\n let hi: f64, lo: f64;\\n lo = scale - y + scale * tmp;\\n hi = 1.0 + y;\\n lo = 1.0 - hi + y + lo;\\n y = (hi + lo) - 1.0;\\n }\\n return y * Ox1p_1022;\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nexport function exp2_lut(x: f64): f64 {\\n const\\n N = 1 << EXP_TABLE_BITS,\\n N_MASK = N - 1,\\n shift = reinterpret(0x4338000000000000) / N; // 0x1.8p52\\n\\n const\\n C1 = reinterpret(0x3FE62E42FEFA39EF), // 0x1.62e42fefa39efp-1\\n C2 = reinterpret(0x3FCEBFBDFF82C424), // 0x1.ebfbdff82c424p-3\\n C3 = reinterpret(0x3FAC6B08D70CF4B5), // 0x1.c6b08d70cf4b5p-5\\n C4 = reinterpret(0x3F83B2ABD24650CC), // 0x1.3b2abd24650ccp-7\\n C5 = reinterpret(0x3F55D7E09B4E3A84); // 0x1.5d7e09b4e3a84p-10\\n\\n let ux = reinterpret(x);\\n let abstop = u32(ux >> 52) & 0x7ff;\\n if (abstop - 0x3C9 >= 0x03F) {\\n if (abstop - 0x3C9 >= 0x80000000) return 1.0;\\n if (abstop >= 0x409) {\\n if (ux == 0xFFF0000000000000) return 0;\\n if (abstop >= 0x7FF) return 1.0 + x;\\n if (ux >= 0) return Infinity;\\n else if (ux >= 0xC090CC0000000000) return 0;\\n }\\n if ((ux << 1) > 0x811A000000000000) abstop = 0; // Large x is special cased below.\\n }\\n\\n // exp2(x) = 2^(k/N) * 2^r, with 2^r in [2^(-1/2N),2^(1/2N)].\\n // x = k/N + r, with int k and r in [-1/2N, 1/2N]\\n let kd = x + shift;\\n let ki = reinterpret(kd);\\n kd -= shift; // k/N for int k\\n let r = x - kd;\\n // 2^(k/N) ~= scale * (1 + tail)\\n let idx = usize((ki & N_MASK) << 1);\\n let top = ki << (52 - EXP_TABLE_BITS);\\n\\n let tail = reinterpret(load(EXP_DATA_TAB + (idx << alignof()), 0 << alignof())); // T[idx])\\n // This is only a valid scale when -1023*N < k < 1024*N\\n let sbits = load(EXP_DATA_TAB + (idx << alignof()), 1 << alignof()) + top; // T[idx + 1]\\n // exp2(x) = 2^(k/N) * 2^r ~= scale + scale * (tail + 2^r - 1).\\n // Evaluation is optimized assuming superscalar pipelined execution\\n let r2 = r * r;\\n // Without fma the worst case error is 0.5/N ulp larger.\\n // Worst case error is less than 0.5+0.86/N+(abs poly error * 2^53) ulp.\\n let tmp = tail + r * C1 + r2 * (C2 + r * C3) + r2 * r2 * (C4 + r * C5);\\n if (abstop == 0) return specialcase2(tmp, sbits, ki);\\n let scale = reinterpret(sbits);\\n // Note: tmp == 0 or |tmp| > 2^-65 and scale > 2^-928, so there\\n // is no spurious underflow here even without fma.\\n return scale * tmp + scale;\\n}\\n\\n//\\n// Lookup data for log2. See: https://git.musl-libc.org/cgit/musl/tree/src/math/log2.c\\n//\\n\\n// @ts-ignore: decorator\\n@inline const LOG2_TABLE_BITS = 6;\\n\\n/* Algorithm:\\n\\n x = 2^k z\\n log2(x) = k + log2(c) + log2(z/c)\\n log2(z/c) = poly(z/c - 1)\\n\\nwhere z is in [1.6p-1; 1.6p0] which is split into N subintervals and z falls\\ninto the ith one, then table entries are computed as\\n\\n tab[i].invc = 1/c\\n tab[i].logc = (double)log2(c)\\n tab2[i].chi = (double)c\\n tab2[i].clo = (double)(c - (double)c)\\n\\nwhere c is near the center of the subinterval and is chosen by trying +-2^29\\nfloating point invc candidates around 1/center and selecting one for which\\n\\n 1) the rounding error in 0x1.8p10 + logc is 0,\\n 2) the rounding error in z - chi - clo is < 0x1p-64 and\\n 3) the rounding error in (double)log2(c) is minimized (< 0x1p-68).\\n\\nNote: 1) ensures that k + logc can be computed without rounding error, 2)\\nensures that z/c - 1 can be computed as (z - chi - clo)*invc with close to a\\nsingle rounding error when there is no fast fma for z*invc - 1, 3) ensures\\nthat logc + poly(z/c - 1) has small error, however near x == 1 when\\n|log2(x)| < 0x1p-4, this is not enough so that is special cased. */\\n\\n// @ts-ignore: decorator\\n@lazy @inline const LOG2_DATA_TAB1 = memory.data([\\n // invc , logc\\n 0x3FF724286BB1ACF8, 0xBFE1095FEECDB000,\\n 0x3FF6E1F766D2CCA1, 0xBFE08494BD76D000,\\n 0x3FF6A13D0E30D48A, 0xBFE00143AEE8F800,\\n 0x3FF661EC32D06C85, 0xBFDEFEC5360B4000,\\n 0x3FF623FA951198F8, 0xBFDDFDD91AB7E000,\\n 0x3FF5E75BA4CF026C, 0xBFDCFFAE0CC79000,\\n 0x3FF5AC055A214FB8, 0xBFDC043811FDA000,\\n 0x3FF571ED0F166E1E, 0xBFDB0B67323AE000,\\n 0x3FF53909590BF835, 0xBFDA152F5A2DB000,\\n 0x3FF5014FED61ADDD, 0xBFD9217F5AF86000,\\n 0x3FF4CAB88E487BD0, 0xBFD8304DB0719000,\\n 0x3FF49539B4334FEE, 0xBFD74189F9A9E000,\\n 0x3FF460CBDFAFD569, 0xBFD6552BB5199000,\\n 0x3FF42D664EE4B953, 0xBFD56B23A29B1000,\\n 0x3FF3FB01111DD8A6, 0xBFD483650F5FA000,\\n 0x3FF3C995B70C5836, 0xBFD39DE937F6A000,\\n 0x3FF3991C4AB6FD4A, 0xBFD2BAA1538D6000,\\n 0x3FF3698E0CE099B5, 0xBFD1D98340CA4000,\\n 0x3FF33AE48213E7B2, 0xBFD0FA853A40E000,\\n 0x3FF30D191985BDB1, 0xBFD01D9C32E73000,\\n 0x3FF2E025CAB271D7, 0xBFCE857DA2FA6000,\\n 0x3FF2B404CF13CD82, 0xBFCCD3C8633D8000,\\n 0x3FF288B02C7CCB50, 0xBFCB26034C14A000,\\n 0x3FF25E2263944DE5, 0xBFC97C1C2F4FE000,\\n 0x3FF234563D8615B1, 0xBFC7D6023F800000,\\n 0x3FF20B46E33EAF38, 0xBFC633A71A05E000,\\n 0x3FF1E2EEFDCDA3DD, 0xBFC494F5E9570000,\\n 0x3FF1BB4A580B3930, 0xBFC2F9E424E0A000,\\n 0x3FF19453847F2200, 0xBFC162595AFDC000,\\n 0x3FF16E06C0D5D73C, 0xBFBF9C9A75BD8000,\\n 0x3FF1485F47B7E4C2, 0xBFBC7B575BF9C000,\\n 0x3FF12358AD0085D1, 0xBFB960C60FF48000,\\n 0x3FF0FEF00F532227, 0xBFB64CE247B60000,\\n 0x3FF0DB2077D03A8F, 0xBFB33F78B2014000,\\n 0x3FF0B7E6D65980D9, 0xBFB0387D1A42C000,\\n 0x3FF0953EFE7B408D, 0xBFAA6F9208B50000,\\n 0x3FF07325CAC53B83, 0xBFA47A954F770000,\\n 0x3FF05197E40D1B5C, 0xBF9D23A8C50C0000,\\n 0x3FF03091C1208EA2, 0xBF916A2629780000,\\n 0x3FF0101025B37E21, 0xBF7720F8D8E80000,\\n 0x3FEFC07EF9CAA76B, 0x3F86FE53B1500000,\\n 0x3FEF4465D3F6F184, 0x3FA11CCCE10F8000,\\n 0x3FEECC079F84107F, 0x3FAC4DFC8C8B8000,\\n 0x3FEE573A99975AE8, 0x3FB3AA321E574000,\\n 0x3FEDE5D6F0BD3DE6, 0x3FB918A0D08B8000,\\n 0x3FED77B681FF38B3, 0x3FBE72E9DA044000,\\n 0x3FED0CB5724DE943, 0x3FC1DCD2507F6000,\\n 0x3FECA4B2DC0E7563, 0x3FC476AB03DEA000,\\n 0x3FEC3F8EE8D6CB51, 0x3FC7074377E22000,\\n 0x3FEBDD2B4F020C4C, 0x3FC98EDE8BA94000,\\n 0x3FEB7D6C006015CA, 0x3FCC0DB86AD2E000,\\n 0x3FEB20366E2E338F, 0x3FCE840AAFCEE000,\\n 0x3FEAC57026295039, 0x3FD0790AB4678000,\\n 0x3FEA6D01BC2731DD, 0x3FD1AC056801C000,\\n 0x3FEA16D3BC3FF18B, 0x3FD2DB11D4FEE000,\\n 0x3FE9C2D14967FEAD, 0x3FD406464EC58000,\\n 0x3FE970E4F47C9902, 0x3FD52DBE093AF000,\\n 0x3FE920FB3982BCF2, 0x3FD651902050D000,\\n 0x3FE8D30187F759F1, 0x3FD771D2CDEAF000,\\n 0x3FE886E5EBB9F66D, 0x3FD88E9C857D9000,\\n 0x3FE83C97B658B994, 0x3FD9A80155E16000,\\n 0x3FE7F405FFC61022, 0x3FDABE186ED3D000,\\n 0x3FE7AD22181415CA, 0x3FDBD0F2AEA0E000,\\n 0x3FE767DCF99EFF8C, 0x3FDCE0A43DBF4000\\n]);\\n\\n// @ts-ignore: decorator\\n@lazy @inline const LOG2_DATA_TAB2 = memory.data([\\n // chi , clo\\n 0x3FE6200012B90A8E, 0x3C8904AB0644B605,\\n 0x3FE66000045734A6, 0x3C61FF9BEA62F7A9,\\n 0x3FE69FFFC325F2C5, 0x3C827ECFCB3C90BA,\\n 0x3FE6E00038B95A04, 0x3C88FF8856739326,\\n 0x3FE71FFFE09994E3, 0x3C8AFD40275F82B1,\\n 0x3FE7600015590E10, 0xBC72FD75B4238341,\\n 0x3FE7A00012655BD5, 0x3C7808E67C242B76,\\n 0x3FE7E0003259E9A6, 0xBC6208E426F622B7,\\n 0x3FE81FFFEDB4B2D2, 0xBC8402461EA5C92F,\\n 0x3FE860002DFAFCC3, 0x3C6DF7F4A2F29A1F,\\n 0x3FE89FFFF78C6B50, 0xBC8E0453094995FD,\\n 0x3FE8E00039671566, 0xBC8A04F3BEC77B45,\\n 0x3FE91FFFE2BF1745, 0xBC77FA34400E203C,\\n 0x3FE95FFFCC5C9FD1, 0xBC76FF8005A0695D,\\n 0x3FE9A0003BBA4767, 0x3C70F8C4C4EC7E03,\\n 0x3FE9DFFFE7B92DA5, 0x3C8E7FD9478C4602,\\n 0x3FEA1FFFD72EFDAF, 0xBC6A0C554DCDAE7E,\\n 0x3FEA5FFFDE04FF95, 0x3C867DA98CE9B26B,\\n 0x3FEA9FFFCA5E8D2B, 0xBC8284C9B54C13DE,\\n 0x3FEADFFFDDAD03EA, 0x3C5812C8EA602E3C,\\n 0x3FEB1FFFF10D3D4D, 0xBC8EFADDAD27789C,\\n 0x3FEB5FFFCE21165A, 0x3C53CB1719C61237,\\n 0x3FEB9FFFD950E674, 0x3C73F7D94194CE00,\\n 0x3FEBE000139CA8AF, 0x3C750AC4215D9BC0,\\n 0x3FEC20005B46DF99, 0x3C6BEEA653E9C1C9,\\n 0x3FEC600040B9F7AE, 0xBC7C079F274A70D6,\\n 0x3FECA0006255FD8A, 0xBC7A0B4076E84C1F,\\n 0x3FECDFFFD94C095D, 0x3C88F933F99AB5D7,\\n 0x3FED1FFFF975D6CF, 0xBC582C08665FE1BE,\\n 0x3FED5FFFA2561C93, 0xBC7B04289BD295F3,\\n 0x3FED9FFF9D228B0C, 0x3C870251340FA236,\\n 0x3FEDE00065BC7E16, 0xBC75011E16A4D80C,\\n 0x3FEE200002F64791, 0x3C89802F09EF62E0,\\n 0x3FEE600057D7A6D8, 0xBC7E0B75580CF7FA,\\n 0x3FEEA00027EDC00C, 0xBC8C848309459811,\\n 0x3FEEE0006CF5CB7C, 0xBC8F8027951576F4,\\n 0x3FEF2000782B7DCC, 0xBC8F81D97274538F,\\n 0x3FEF6000260C450A, 0xBC4071002727FFDC,\\n 0x3FEF9FFFE88CD533, 0xBC581BDCE1FDA8B0,\\n 0x3FEFDFFFD50F8689, 0x3C87F91ACB918E6E,\\n 0x3FF0200004292367, 0x3C9B7FF365324681,\\n 0x3FF05FFFE3E3D668, 0x3C86FA08DDAE957B,\\n 0x3FF0A0000A85A757, 0xBC57E2DE80D3FB91,\\n 0x3FF0E0001A5F3FCC, 0xBC91823305C5F014,\\n 0x3FF11FFFF8AFBAF5, 0xBC8BFABB6680BAC2,\\n 0x3FF15FFFE54D91AD, 0xBC9D7F121737E7EF,\\n 0x3FF1A00011AC36E1, 0x3C9C000A0516F5FF,\\n 0x3FF1E00019C84248, 0xBC9082FBE4DA5DA0,\\n 0x3FF220000FFE5E6E, 0xBC88FDD04C9CFB43,\\n 0x3FF26000269FD891, 0x3C8CFE2A7994D182,\\n 0x3FF2A00029A6E6DA, 0xBC700273715E8BC5,\\n 0x3FF2DFFFE0293E39, 0x3C9B7C39DAB2A6F9,\\n 0x3FF31FFFF7DCF082, 0x3C7DF1336EDC5254,\\n 0x3FF35FFFF05A8B60, 0xBC9E03564CCD31EB,\\n 0x3FF3A0002E0EAECC, 0x3C75F0E74BD3A477,\\n 0x3FF3E000043BB236, 0x3C9C7DCB149D8833,\\n 0x3FF4200002D187FF, 0x3C7E08AFCF2D3D28,\\n 0x3FF460000D387CB1, 0x3C820837856599A6,\\n 0x3FF4A00004569F89, 0xBC89FA5C904FBCD2,\\n 0x3FF4E000043543F3, 0xBC781125ED175329,\\n 0x3FF51FFFCC027F0F, 0x3C9883D8847754DC,\\n 0x3FF55FFFFD87B36F, 0xBC8709E731D02807,\\n 0x3FF59FFFF21DF7BA, 0x3C87F79F68727B02,\\n 0x3FF5DFFFEBFC3481, 0xBC9180902E30E93E\\n]);\\n\\n// @ts-ignore: decorator\\n@inline\\nexport function log2_lut(x: f64): f64 {\\n const N_MASK = (1 << LOG2_TABLE_BITS) - 1;\\n\\n const\\n LO: u64 = 0x3FEEA4AF00000000, // reinterpret(1.0 - 0x1.5b51p-5)\\n HI: u64 = 0x3FF0B55900000000; // reinterpret(1.0 + 0x1.6ab2p-5)\\n\\n const\\n InvLn2hi = reinterpret(0x3FF7154765200000), // 0x1.7154765200000p+0\\n InvLn2lo = reinterpret(0x3DE705FC2EEFA200), // 0x1.705fc2eefa200p-33\\n Ox1p52 = reinterpret(0x4330000000000000); // 0x1p52\\n\\n const\\n B0 = reinterpret(0xBFE71547652B82FE), // -0x1.71547652b82fep-1\\n B1 = reinterpret(0x3FDEC709DC3A03F7), // 0x1.ec709dc3a03f7p-2\\n B2 = reinterpret(0xBFD71547652B7C3F), // -0x1.71547652b7c3fp-2\\n B3 = reinterpret(0x3FD2776C50F05BE4), // 0x1.2776c50f05be4p-2\\n B4 = reinterpret(0xBFCEC709DD768FE5), // -0x1.ec709dd768fe5p-3\\n B5 = reinterpret(0x3FCA61761EC4E736), // 0x1.a61761ec4e736p-3\\n B6 = reinterpret(0xBFC7153FBC64A79B), // -0x1.7153fbc64a79bp-3\\n B7 = reinterpret(0x3FC484D154F01B4A), // 0x1.484d154f01b4ap-3\\n B8 = reinterpret(0xBFC289E4A72C383C), // -0x1.289e4a72c383cp-3\\n B9 = reinterpret(0x3FC0B32F285AEE66); // 0x1.0b32f285aee66p-3\\n\\n const\\n A0 = reinterpret(0xBFE71547652B8339), // -0x1.71547652b8339p-1\\n A1 = reinterpret(0x3FDEC709DC3A04BE), // 0x1.ec709dc3a04bep-2\\n A2 = reinterpret(0xBFD7154764702FFB), // -0x1.7154764702ffbp-2\\n A3 = reinterpret(0x3FD2776C50034C48), // 0x1.2776c50034c48p-2\\n A4 = reinterpret(0xBFCEC7B328EA92BC), // -0x1.ec7b328ea92bcp-3\\n A5 = reinterpret(0x3FCA6225E117F92E); // 0x1.a6225e117f92ep-3\\n\\n let ix = reinterpret(x);\\n if (ix - LO < HI - LO) {\\n let r = x - 1.0;\\n // #if __FP_FAST_FMA\\n // hi = r * InvLn2hi;\\n // lo = r * InvLn2lo + __builtin_fma(r, InvLn2hi, -hi);\\n // #else\\n let rhi = reinterpret(reinterpret(r) & 0xFFFFFFFF00000000);\\n let rlo = r - rhi;\\n let hi = rhi * InvLn2hi;\\n let lo = rlo * InvLn2hi + r * InvLn2lo;\\n // #endif\\n let r2 = r * r; // rounding error: 0x1p-62\\n let r4 = r2 * r2;\\n // Worst-case error is less than 0.54 ULP (0.55 ULP without fma)\\n let p = r2 * (B0 + r * B1);\\n let y = hi + p;\\n lo += hi - y + p;\\n lo += r4 * (B2 + r * B3 + r2 * (B4 + r * B5) +\\n r4 * (B6 + r * B7 + r2 * (B8 + r * B9)));\\n return y + lo;\\n }\\n let top = u32(ix >> 48);\\n if (top - 0x0010 >= 0x7ff0 - 0x0010) {\\n // x < 0x1p-1022 or inf or nan.\\n if ((ix << 1) == 0) return -1.0 / (x * x);\\n if (ix == 0x7FF0000000000000) return x; // log(inf) == inf\\n if ((top & 0x8000) || (top & 0x7FF0) == 0x7FF0) return (x - x) / (x - x);\\n // x is subnormal, normalize it.\\n ix = reinterpret(x * Ox1p52);\\n ix -= u64(52) << 52;\\n }\\n\\n // x = 2^k z; where z is in range [OFF,2*OFF) and exact.\\n // The range is split into N subintervals.\\n // The ith subinterval contains z and c is near its center.\\n let tmp = ix - 0x3FE6000000000000;\\n let i = ((tmp >> (52 - LOG2_TABLE_BITS)) & N_MASK);\\n let k = tmp >> 52;\\n let iz = ix - (tmp & 0xFFF0000000000000);\\n\\n let invc = load(LOG2_DATA_TAB1 + (i << (1 + alignof())), 0 << alignof()); // T[i].invc;\\n let logc = load(LOG2_DATA_TAB1 + (i << (1 + alignof())), 1 << alignof()); // T[i].logc;\\n let z = reinterpret(iz);\\n let kd = k;\\n\\n // log2(x) = log2(z/c) + log2(c) + k.\\n // r ~= z/c - 1, |r| < 1/(2*N).\\n // #if __FP_FAST_FMA\\n // \\t// rounding error: 0x1p-55/N.\\n // \\tr = __builtin_fma(z, invc, -1.0);\\n // \\tt1 = r * InvLn2hi;\\n // \\tt2 = r * InvLn2lo + __builtin_fma(r, InvLn2hi, -t1);\\n // #else\\n // rounding error: 0x1p-55/N + 0x1p-65.\\n let chi = load(LOG2_DATA_TAB2 + (i << (1 + alignof())), 0 << alignof()); // T[i].chi;\\n let clo = load(LOG2_DATA_TAB2 + (i << (1 + alignof())), 1 << alignof()); // T[i].clo;\\n\\n let r = (z - chi - clo) * invc;\\n let rhi = reinterpret(reinterpret(r) & 0xFFFFFFFF00000000);\\n let rlo = r - rhi;\\n let t1 = rhi * InvLn2hi;\\n let t2 = rlo * InvLn2hi + r * InvLn2lo;\\n // #endif\\n\\n // hi + lo = r/ln2 + log2(c) + k\\n let t3 = kd + logc;\\n let hi = t3 + t1;\\n let lo = t3 - hi + t1 + t2;\\n\\n // log2(r+1) = r/ln2 + r^2*poly(r)\\n // Evaluation is optimized assuming superscalar pipelined execution\\n let r2 = r * r; // rounding error: 0x1p-54/N^2\\n // Worst-case error if |y| > 0x1p-4: 0.547 ULP (0.550 ULP without fma).\\n // ~ 0.5 + 2/N/ln2 + abs-poly-error*0x1p56 ULP (+ 0.003 ULP without fma).\\n let p = A0 + r * A1 + r2 * (A2 + r * A3) + (r2 * r2) * (A4 + r * A5);\\n return lo + r2 * p + hi;\\n}\\n\\n//\\n// Lookup data for log. See: https://git.musl-libc.org/cgit/musl/tree/src/math/log.c\\n//\\n\\n// @ts-ignore: decorator\\n@inline const LOG_TABLE_BITS = 7;\\n\\n/* Algorithm:\\n\\n x = 2^k z\\n log(x) = k ln2 + log(c) + log(z/c)\\n log(z/c) = poly(z/c - 1)\\n\\nwhere z is in [1.6p-1; 1.6p0] which is split into N subintervals and z falls\\ninto the ith one, then table entries are computed as\\n\\n tab[i].invc = 1/c\\n tab[i].logc = (double)log(c)\\n tab2[i].chi = (double)c\\n tab2[i].clo = (double)(c - (double)c)\\n\\nwhere c is near the center of the subinterval and is chosen by trying +-2^29\\nfloating point invc candidates around 1/center and selecting one for which\\n\\n 1) the rounding error in 0x1.8p9 + logc is 0,\\n 2) the rounding error in z - chi - clo is < 0x1p-66 and\\n 3) the rounding error in (double)log(c) is minimized (< 0x1p-66).\\n\\nNote: 1) ensures that k*ln2hi + logc can be computed without rounding error,\\n2) ensures that z/c - 1 can be computed as (z - chi - clo)*invc with close to\\na single rounding error when there is no fast fma for z*invc - 1, 3) ensures\\nthat logc + poly(z/c - 1) has small error, however near x == 1 when\\n|log(x)| < 0x1p-4, this is not enough so that is special cased.*/\\n\\n// @ts-ignore: decorator\\n@lazy @inline const LOG_DATA_TAB1 = memory.data([\\n // invc , logc\\n 0x3FF734F0C3E0DE9F, 0xBFD7CC7F79E69000,\\n 0x3FF713786A2CE91F, 0xBFD76FEEC20D0000,\\n 0x3FF6F26008FAB5A0, 0xBFD713E31351E000,\\n 0x3FF6D1A61F138C7D, 0xBFD6B85B38287800,\\n 0x3FF6B1490BC5B4D1, 0xBFD65D5590807800,\\n 0x3FF69147332F0CBA, 0xBFD602D076180000,\\n 0x3FF6719F18224223, 0xBFD5A8CA86909000,\\n 0x3FF6524F99A51ED9, 0xBFD54F4356035000,\\n 0x3FF63356AA8F24C4, 0xBFD4F637C36B4000,\\n 0x3FF614B36B9DDC14, 0xBFD49DA7FDA85000,\\n 0x3FF5F66452C65C4C, 0xBFD445923989A800,\\n 0x3FF5D867B5912C4F, 0xBFD3EDF439B0B800,\\n 0x3FF5BABCCB5B90DE, 0xBFD396CE448F7000,\\n 0x3FF59D61F2D91A78, 0xBFD3401E17BDA000,\\n 0x3FF5805612465687, 0xBFD2E9E2EF468000,\\n 0x3FF56397CEE76BD3, 0xBFD2941B3830E000,\\n 0x3FF54725E2A77F93, 0xBFD23EC58CDA8800,\\n 0x3FF52AFF42064583, 0xBFD1E9E129279000,\\n 0x3FF50F22DBB2BDDF, 0xBFD1956D2B48F800,\\n 0x3FF4F38F4734DED7, 0xBFD141679AB9F800,\\n 0x3FF4D843CFDE2840, 0xBFD0EDD094EF9800,\\n 0x3FF4BD3EC078A3C8, 0xBFD09AA518DB1000,\\n 0x3FF4A27FC3E0258A, 0xBFD047E65263B800,\\n 0x3FF4880524D48434, 0xBFCFEB224586F000,\\n 0x3FF46DCE1B192D0B, 0xBFCF474A7517B000,\\n 0x3FF453D9D3391854, 0xBFCEA4443D103000,\\n 0x3FF43A2744B4845A, 0xBFCE020D44E9B000,\\n 0x3FF420B54115F8FB, 0xBFCD60A22977F000,\\n 0x3FF40782DA3EF4B1, 0xBFCCC00104959000,\\n 0x3FF3EE8F5D57FE8F, 0xBFCC202956891000,\\n 0x3FF3D5D9A00B4CE9, 0xBFCB81178D811000,\\n 0x3FF3BD60C010C12B, 0xBFCAE2C9CCD3D000,\\n 0x3FF3A5242B75DAB8, 0xBFCA45402E129000,\\n 0x3FF38D22CD9FD002, 0xBFC9A877681DF000,\\n 0x3FF3755BC5847A1C, 0xBFC90C6D69483000,\\n 0x3FF35DCE49AD36E2, 0xBFC87120A645C000,\\n 0x3FF34679984DD440, 0xBFC7D68FB4143000,\\n 0x3FF32F5CCEFFCB24, 0xBFC73CB83C627000,\\n 0x3FF3187775A10D49, 0xBFC6A39A9B376000,\\n 0x3FF301C8373E3990, 0xBFC60B3154B7A000,\\n 0x3FF2EB4EBB95F841, 0xBFC5737D76243000,\\n 0x3FF2D50A0219A9D1, 0xBFC4DC7B8FC23000,\\n 0x3FF2BEF9A8B7FD2A, 0xBFC4462C51D20000,\\n 0x3FF2A91C7A0C1BAB, 0xBFC3B08ABC830000,\\n 0x3FF293726014B530, 0xBFC31B996B490000,\\n 0x3FF27DFA5757A1F5, 0xBFC2875490A44000,\\n 0x3FF268B39B1D3BBF, 0xBFC1F3B9F879A000,\\n 0x3FF2539D838FF5BD, 0xBFC160C8252CA000,\\n 0x3FF23EB7AAC9083B, 0xBFC0CE7F57F72000,\\n 0x3FF22A012BA940B6, 0xBFC03CDC49FEA000,\\n 0x3FF2157996CC4132, 0xBFBF57BDBC4B8000,\\n 0x3FF201201DD2FC9B, 0xBFBE370896404000,\\n 0x3FF1ECF4494D480B, 0xBFBD17983EF94000,\\n 0x3FF1D8F5528F6569, 0xBFBBF9674ED8A000,\\n 0x3FF1C52311577E7C, 0xBFBADC79202F6000,\\n 0x3FF1B17C74CB26E9, 0xBFB9C0C3E7288000,\\n 0x3FF19E010C2C1AB6, 0xBFB8A646B372C000,\\n 0x3FF18AB07BB670BD, 0xBFB78D01B3AC0000,\\n 0x3FF1778A25EFBCB6, 0xBFB674F145380000,\\n 0x3FF1648D354C31DA, 0xBFB55E0E6D878000,\\n 0x3FF151B990275FDD, 0xBFB4485CDEA1E000,\\n 0x3FF13F0EA432D24C, 0xBFB333D94D6AA000,\\n 0x3FF12C8B7210F9DA, 0xBFB22079F8C56000,\\n 0x3FF11A3028ECB531, 0xBFB10E4698622000,\\n 0x3FF107FBDA8434AF, 0xBFAFFA6C6AD20000,\\n 0x3FF0F5EE0F4E6BB3, 0xBFADDA8D4A774000,\\n 0x3FF0E4065D2A9FCE, 0xBFABBCECE4850000,\\n 0x3FF0D244632CA521, 0xBFA9A1894012C000,\\n 0x3FF0C0A77CE2981A, 0xBFA788583302C000,\\n 0x3FF0AF2F83C636D1, 0xBFA5715E67D68000,\\n 0x3FF09DDB98A01339, 0xBFA35C8A49658000,\\n 0x3FF08CABAF52E7DF, 0xBFA149E364154000,\\n 0x3FF07B9F2F4E28FB, 0xBF9E72C082EB8000,\\n 0x3FF06AB58C358F19, 0xBF9A55F152528000,\\n 0x3FF059EEA5ECF92C, 0xBF963D62CF818000,\\n 0x3FF04949CDD12C90, 0xBF9228FB8CAA0000,\\n 0x3FF038C6C6F0ADA9, 0xBF8C317B20F90000,\\n 0x3FF02865137932A9, 0xBF8419355DAA0000,\\n 0x3FF0182427EA7348, 0xBF781203C2EC0000,\\n 0x3FF008040614B195, 0xBF60040979240000,\\n 0x3FEFE01FF726FA1A, 0x3F6FEFF384900000,\\n 0x3FEFA11CC261EA74, 0x3F87DC41353D0000,\\n 0x3FEF6310B081992E, 0x3F93CEA3C4C28000,\\n 0x3FEF25F63CEEADCD, 0x3F9B9FC114890000,\\n 0x3FEEE9C8039113E7, 0x3FA1B0D8CE110000,\\n 0x3FEEAE8078CBB1AB, 0x3FA58A5BD001C000,\\n 0x3FEE741AA29D0C9B, 0x3FA95C8340D88000,\\n 0x3FEE3A91830A99B5, 0x3FAD276AEF578000,\\n 0x3FEE01E009609A56, 0x3FB07598E598C000,\\n 0x3FEDCA01E577BB98, 0x3FB253F5E30D2000,\\n 0x3FED92F20B7C9103, 0x3FB42EDD8B380000,\\n 0x3FED5CAC66FB5CCE, 0x3FB606598757C000,\\n 0x3FED272CAA5EDE9D, 0x3FB7DA76356A0000,\\n 0x3FECF26E3E6B2CCD, 0x3FB9AB434E1C6000,\\n 0x3FECBE6DA2A77902, 0x3FBB78C7BB0D6000,\\n 0x3FEC8B266D37086D, 0x3FBD431332E72000,\\n 0x3FEC5894BD5D5804, 0x3FBF0A3171DE6000,\\n 0x3FEC26B533BB9F8C, 0x3FC067152B914000,\\n 0x3FEBF583EEECE73F, 0x3FC147858292B000,\\n 0x3FEBC4FD75DB96C1, 0x3FC2266ECDCA3000,\\n 0x3FEB951E0C864A28, 0x3FC303D7A6C55000,\\n 0x3FEB65E2C5EF3E2C, 0x3FC3DFC33C331000,\\n 0x3FEB374867C9888B, 0x3FC4BA366B7A8000,\\n 0x3FEB094B211D304A, 0x3FC5933928D1F000,\\n 0x3FEADBE885F2EF7E, 0x3FC66ACD2418F000,\\n 0x3FEAAF1D31603DA2, 0x3FC740F8EC669000,\\n 0x3FEA82E63FD358A7, 0x3FC815C0F51AF000,\\n 0x3FEA5740EF09738B, 0x3FC8E92954F68000,\\n 0x3FEA2C2A90AB4B27, 0x3FC9BB3602F84000,\\n 0x3FEA01A01393F2D1, 0x3FCA8BED1C2C0000,\\n 0x3FE9D79F24DB3C1B, 0x3FCB5B515C01D000,\\n 0x3FE9AE2505C7B190, 0x3FCC2967CCBCC000,\\n 0x3FE9852EF297CE2F, 0x3FCCF635D5486000,\\n 0x3FE95CBAEEA44B75, 0x3FCDC1BD3446C000,\\n 0x3FE934C69DE74838, 0x3FCE8C01B8CFE000,\\n 0x3FE90D4F2F6752E6, 0x3FCF5509C0179000,\\n 0x3FE8E6528EFFD79D, 0x3FD00E6C121FB800,\\n 0x3FE8BFCE9FCC007C, 0x3FD071B80E93D000,\\n 0x3FE899C0DABEC30E, 0x3FD0D46B9E867000,\\n 0x3FE87427AA2317FB, 0x3FD13687334BD000,\\n 0x3FE84F00ACB39A08, 0x3FD1980D67234800,\\n 0x3FE82A49E8653E55, 0x3FD1F8FFE0CC8000,\\n 0x3FE8060195F40260, 0x3FD2595FD7636800,\\n 0x3FE7E22563E0A329, 0x3FD2B9300914A800,\\n 0x3FE7BEB377DCB5AD, 0x3FD3187210436000,\\n 0x3FE79BAA679725C2, 0x3FD377266DEC1800,\\n 0x3FE77907F2170657, 0x3FD3D54FFBAF3000,\\n 0x3FE756CADBD6130C, 0x3FD432EEE32FE000\\n]);\\n\\n// @ts-ignore: decorator\\n@lazy @inline const LOG_DATA_TAB2 = memory.data([\\n // chi , clo\\n 0x3FE61000014FB66B, 0x3C7E026C91425B3C,\\n 0x3FE63000034DB495, 0x3C8DBFEA48005D41,\\n 0x3FE650000D94D478, 0x3C8E7FA786D6A5B7,\\n 0x3FE67000074E6FAD, 0x3C61FCEA6B54254C,\\n 0x3FE68FFFFEDF0FAE, 0xBC7C7E274C590EFD,\\n 0x3FE6B0000763C5BC, 0xBC8AC16848DCDA01,\\n 0x3FE6D0001E5CC1F6, 0x3C833F1C9D499311,\\n 0x3FE6EFFFEB05F63E, 0xBC7E80041AE22D53,\\n 0x3FE710000E869780, 0x3C7BFF6671097952,\\n 0x3FE72FFFFC67E912, 0x3C8C00E226BD8724,\\n 0x3FE74FFFDF81116A, 0xBC6E02916EF101D2,\\n 0x3FE770000F679C90, 0xBC67FC71CD549C74,\\n 0x3FE78FFFFA7EC835, 0x3C81BEC19EF50483,\\n 0x3FE7AFFFFE20C2E6, 0xBC707E1729CC6465,\\n 0x3FE7CFFFED3FC900, 0xBC808072087B8B1C,\\n 0x3FE7EFFFE9261A76, 0x3C8DC0286D9DF9AE,\\n 0x3FE81000049CA3E8, 0x3C897FD251E54C33,\\n 0x3FE8300017932C8F, 0xBC8AFEE9B630F381,\\n 0x3FE850000633739C, 0x3C89BFBF6B6535BC,\\n 0x3FE87000204289C6, 0xBC8BBF65F3117B75,\\n 0x3FE88FFFEBF57904, 0xBC89006EA23DCB57,\\n 0x3FE8B00022BC04DF, 0xBC7D00DF38E04B0A,\\n 0x3FE8CFFFE50C1B8A, 0xBC88007146FF9F05,\\n 0x3FE8EFFFFC918E43, 0x3C83817BD07A7038,\\n 0x3FE910001EFA5FC7, 0x3C893E9176DFB403,\\n 0x3FE9300013467BB9, 0x3C7F804E4B980276,\\n 0x3FE94FFFE6EE076F, 0xBC8F7EF0D9FF622E,\\n 0x3FE96FFFDE3C12D1, 0xBC7082AA962638BA,\\n 0x3FE98FFFF4458A0D, 0xBC87801B9164A8EF,\\n 0x3FE9AFFFDD982E3E, 0xBC8740E08A5A9337,\\n 0x3FE9CFFFED49FB66, 0x3C3FCE08C19BE000,\\n 0x3FE9F00020F19C51, 0xBC8A3FAA27885B0A,\\n 0x3FEA10001145B006, 0x3C74FF489958DA56,\\n 0x3FEA300007BBF6FA, 0x3C8CBEAB8A2B6D18,\\n 0x3FEA500010971D79, 0x3C88FECADD787930,\\n 0x3FEA70001DF52E48, 0xBC8F41763DD8ABDB,\\n 0x3FEA90001C593352, 0xBC8EBF0284C27612,\\n 0x3FEAB0002A4F3E4B, 0xBC69FD043CFF3F5F,\\n 0x3FEACFFFD7AE1ED1, 0xBC823EE7129070B4,\\n 0x3FEAEFFFEE510478, 0x3C6A063EE00EDEA3,\\n 0x3FEB0FFFDB650D5B, 0x3C5A06C8381F0AB9,\\n 0x3FEB2FFFFEAACA57, 0xBC79011E74233C1D,\\n 0x3FEB4FFFD995BADC, 0xBC79FF1068862A9F,\\n 0x3FEB7000249E659C, 0x3C8AFF45D0864F3E,\\n 0x3FEB8FFFF9871640, 0x3C7CFE7796C2C3F9,\\n 0x3FEBAFFFD204CB4F, 0xBC63FF27EEF22BC4,\\n 0x3FEBCFFFD2415C45, 0xBC6CFFB7EE3BEA21,\\n 0x3FEBEFFFF86309DF, 0xBC814103972E0B5C,\\n 0x3FEC0FFFE1B57653, 0x3C8BC16494B76A19,\\n 0x3FEC2FFFF1FA57E3, 0xBC64FEEF8D30C6ED,\\n 0x3FEC4FFFDCBFE424, 0xBC843F68BCEC4775,\\n 0x3FEC6FFFED54B9F7, 0x3C847EA3F053E0EC,\\n 0x3FEC8FFFEB998FD5, 0x3C7383068DF992F1,\\n 0x3FECB0002125219A, 0xBC68FD8E64180E04,\\n 0x3FECCFFFDD94469C, 0x3C8E7EBE1CC7EA72,\\n 0x3FECEFFFEAFDC476, 0x3C8EBE39AD9F88FE,\\n 0x3FED1000169AF82B, 0x3C757D91A8B95A71,\\n 0x3FED30000D0FF71D, 0x3C89C1906970C7DA,\\n 0x3FED4FFFEA790FC4, 0xBC580E37C558FE0C,\\n 0x3FED70002EDC87E5, 0xBC7F80D64DC10F44,\\n 0x3FED900021DC82AA, 0xBC747C8F94FD5C5C,\\n 0x3FEDAFFFD86B0283, 0x3C8C7F1DC521617E,\\n 0x3FEDD000296C4739, 0x3C88019EB2FFB153,\\n 0x3FEDEFFFE54490F5, 0x3C6E00D2C652CC89,\\n 0x3FEE0FFFCDABF694, 0xBC7F8340202D69D2,\\n 0x3FEE2FFFDB52C8DD, 0x3C7B00C1CA1B0864,\\n 0x3FEE4FFFF24216EF, 0x3C72FFA8B094AB51,\\n 0x3FEE6FFFE88A5E11, 0xBC57F673B1EFBE59,\\n 0x3FEE9000119EFF0D, 0xBC84808D5E0BC801,\\n 0x3FEEAFFFDFA51744, 0x3C780006D54320B5,\\n 0x3FEED0001A127FA1, 0xBC5002F860565C92,\\n 0x3FEEF00007BABCC4, 0xBC8540445D35E611,\\n 0x3FEF0FFFF57A8D02, 0xBC4FFB3139EF9105,\\n 0x3FEF30001EE58AC7, 0x3C8A81ACF2731155,\\n 0x3FEF4FFFF5823494, 0x3C8A3F41D4D7C743,\\n 0x3FEF6FFFFCA94C6B, 0xBC6202F41C987875,\\n 0x3FEF8FFFE1F9C441, 0x3C777DD1F477E74B,\\n 0x3FEFAFFFD2E0E37E, 0xBC6F01199A7CA331,\\n 0x3FEFD0001C77E49E, 0x3C7181EE4BCEACB1,\\n 0x3FEFEFFFF7E0C331, 0xBC6E05370170875A,\\n 0x3FF00FFFF465606E, 0xBC8A7EAD491C0ADA,\\n 0x3FF02FFFF3867A58, 0xBC977F69C3FCB2E0,\\n 0x3FF04FFFFDFC0D17, 0x3C97BFFE34CB945B,\\n 0x3FF0700003CD4D82, 0x3C820083C0E456CB,\\n 0x3FF08FFFF9F2CBE8, 0xBC6DFFDFBE37751A,\\n 0x3FF0B000010CDA65, 0xBC913F7FAEE626EB,\\n 0x3FF0D00001A4D338, 0x3C807DFA79489FF7,\\n 0x3FF0EFFFFADAFDFD, 0xBC77040570D66BC0,\\n 0x3FF110000BBAFD96, 0x3C8E80D4846D0B62,\\n 0x3FF12FFFFAE5F45D, 0x3C9DBFFA64FD36EF,\\n 0x3FF150000DD59AD9, 0x3C9A0077701250AE,\\n 0x3FF170000F21559A, 0x3C8DFDF9E2E3DEEE,\\n 0x3FF18FFFFC275426, 0x3C910030DC3B7273,\\n 0x3FF1B000123D3C59, 0x3C997F7980030188,\\n 0x3FF1CFFFF8299EB7, 0xBC65F932AB9F8C67,\\n 0x3FF1EFFFF48AD400, 0x3C937FBF9DA75BEB,\\n 0x3FF210000C8B86A4, 0x3C9F806B91FD5B22,\\n 0x3FF2300003854303, 0x3C93FFC2EB9FBF33,\\n 0x3FF24FFFFFBCF684, 0x3C7601E77E2E2E72,\\n 0x3FF26FFFF52921D9, 0x3C7FFCBB767F0C61,\\n 0x3FF2900014933A3C, 0xBC7202CA3C02412B,\\n 0x3FF2B00014556313, 0xBC92808233F21F02,\\n 0x3FF2CFFFEBFE523B, 0xBC88FF7E384FDCF2,\\n 0x3FF2F0000BB8AD96, 0xBC85FF51503041C5,\\n 0x3FF30FFFFB7AE2AF, 0xBC810071885E289D,\\n 0x3FF32FFFFEAC5F7F, 0xBC91FF5D3FB7B715,\\n 0x3FF350000CA66756, 0x3C957F82228B82BD,\\n 0x3FF3700011FBF721, 0x3C8000BAC40DD5CC,\\n 0x3FF38FFFF9592FB9, 0xBC943F9D2DB2A751,\\n 0x3FF3B00004DDD242, 0x3C857F6B707638E1,\\n 0x3FF3CFFFF5B2C957, 0x3C7A023A10BF1231,\\n 0x3FF3EFFFEAB0B418, 0x3C987F6D66B152B0,\\n 0x3FF410001532AFF4, 0x3C67F8375F198524,\\n 0x3FF4300017478B29, 0x3C8301E672DC5143,\\n 0x3FF44FFFE795B463, 0x3C89FF69B8B2895A,\\n 0x3FF46FFFE80475E0, 0xBC95C0B19BC2F254,\\n 0x3FF48FFFEF6FC1E7, 0x3C9B4009F23A2A72,\\n 0x3FF4AFFFE5BEA704, 0xBC94FFB7BF0D7D45,\\n 0x3FF4D000171027DE, 0xBC99C06471DC6A3D,\\n 0x3FF4F0000FF03EE2, 0x3C977F890B85531C,\\n 0x3FF5100012DC4BD1, 0x3C6004657166A436,\\n 0x3FF530001605277A, 0xBC96BFCECE233209,\\n 0x3FF54FFFECDB704C, 0xBC8902720505A1D7,\\n 0x3FF56FFFEF5F54A9, 0x3C9BBFE60EC96412,\\n 0x3FF5900017E61012, 0x3C887EC581AFEF90,\\n 0x3FF5B00003C93E92, 0xBC9F41080ABF0CC0,\\n 0x3FF5D0001D4919BC, 0xBC98812AFB254729,\\n 0x3FF5EFFFE7B87A89, 0xBC947EB780ED6904\\n]);\\n\\n// @ts-ignore: decorator\\n@inline\\nexport function log_lut(x: f64): f64 {\\n const N_MASK = (1 << LOG_TABLE_BITS) - 1;\\n\\n const\\n B0 = reinterpret(0xBFE0000000000000), // -0x1p-1\\n B1 = reinterpret(0x3FD5555555555577), // 0x1.5555555555577p-2\\n B2 = reinterpret(0xBFCFFFFFFFFFFDCB), // -0x1.ffffffffffdcbp-3\\n B3 = reinterpret(0x3FC999999995DD0C), // 0x1.999999995dd0cp-3\\n B4 = reinterpret(0xBFC55555556745A7), // -0x1.55555556745a7p-3\\n B5 = reinterpret(0x3FC24924A344DE30), // 0x1.24924a344de3p-3\\n B6 = reinterpret(0xBFBFFFFFA4423D65), // -0x1.fffffa4423d65p-4\\n B7 = reinterpret(0x3FBC7184282AD6CA), // 0x1.c7184282ad6cap-4\\n B8 = reinterpret(0xBFB999EB43B068FF), // -0x1.999eb43b068ffp-4\\n B9 = reinterpret(0x3FB78182F7AFD085), // 0x1.78182f7afd085p-4\\n B10 = reinterpret(0xBFB5521375D145CD); // -0x1.5521375d145cdp-4\\n\\n const\\n A0 = reinterpret(0xBFE0000000000001), // -0x1.0000000000001p-1\\n A1 = reinterpret(0x3FD555555551305B), // 0x1.555555551305bp-2\\n A2 = reinterpret(0xBFCFFFFFFFEB4590), // -0x1.fffffffeb459p-3\\n A3 = reinterpret(0x3FC999B324F10111), // 0x1.999b324f10111p-3\\n A4 = reinterpret(0xBFC55575E506C89F); // -0x1.55575e506c89fp-3\\n\\n const\\n LO: u64 = 0x3FEE000000000000,\\n HI: u64 = 0x3FF1090000000000;\\n\\n const\\n Ln2hi = reinterpret(0x3FE62E42FEFA3800), // 0x1.62e42fefa3800p-1\\n Ln2lo = reinterpret(0x3D2EF35793C76730), // 0x1.ef35793c76730p-45\\n Ox1p27 = reinterpret(0x41A0000000000000), // 0x1p27\\n Ox1p52 = reinterpret(0x4330000000000000); // 0x1p52\\n\\n let ix = reinterpret(x);\\n if (ix - LO < HI - LO) {\\n let r = x - 1.0;\\n let r2 = r * r;\\n let r3 = r2 * r;\\n let y =\\n r3 * (B1 + r * B2 + r2 * B3 +\\n r3 * (B4 + r * B5 + r2 * B6 +\\n r3 * (B7 + r * B8 + r2 * B9 + r3 * B10)));\\n // Worst-case error is around 0.507 ULP\\n let w = r * Ox1p27;\\n let rhi = r + w - w;\\n let rlo = r - rhi;\\n w = rhi * rhi * B0; // B[0] == -0.5\\n let hi = r + w;\\n let lo = r - hi + w;\\n lo += B0 * rlo * (rhi + r);\\n return y + lo + hi;\\n }\\n let top = u32(ix >> 48);\\n if (top - 0x0010 >= 0x7FF0 - 0x0010) {\\n // x < 0x1p-1022 or inf or nan\\n if ((ix << 1) == 0) return -1.0 / (x * x);\\n if (ix == reinterpret(Infinity)) return x; // log(inf) == inf\\n if ((top & 0x8000) || (top & 0x7FF0) == 0x7FF0) return (x - x) / (x - x);\\n // x is subnormal, normalize it\\n ix = reinterpret(x * Ox1p52);\\n ix -= u64(52) << 52;\\n }\\n\\n // x = 2^k z; where z is in range [OFF,2*OFF) and exact.\\n // The range is split into N subintervals.\\n // The ith subinterval contains z and c is near its center.\\n let tmp = ix - 0x3FE6000000000000;\\n let i = ((tmp >> (52 - LOG_TABLE_BITS)) & N_MASK);\\n let k = tmp >> 52;\\n let iz = ix - (tmp & (u64(0xFFF) << 52));\\n\\n let invc = load(LOG_DATA_TAB1 + (i << (1 + alignof())), 0 << alignof()); // T[i].invc;\\n let logc = load(LOG_DATA_TAB1 + (i << (1 + alignof())), 1 << alignof()); // T[i].logc;\\n let z = reinterpret(iz);\\n\\n // log(x) = log1p(z/c-1) + log(c) + k*Ln2.\\n // r ~= z/c - 1, |r| < 1/(2*N)\\n // #if __FP_FAST_FMA\\n // \\t// rounding error: 0x1p-55/N\\n // \\tr = __builtin_fma(z, invc, -1.0);\\n // #else\\n // rounding error: 0x1p-55/N + 0x1p-66\\n const chi = load(LOG_DATA_TAB2 + (i << (1 + alignof())), 0 << alignof()); // T2[i].chi\\n const clo = load(LOG_DATA_TAB2 + (i << (1 + alignof())), 1 << alignof()); // T2[i].clo\\n let r = (z - chi - clo) * invc;\\n // #endif\\n let kd = k;\\n\\n // hi + lo = r + log(c) + k*Ln2\\n let w = kd * Ln2hi + logc;\\n let hi = w + r;\\n let lo = w - hi + r + kd * Ln2lo;\\n\\n // log(x) = lo + (log1p(r) - r) + hi\\n let r2 = r * r; // rounding error: 0x1p-54/N^2\\n // Worst case error if |y| > 0x1p-5:\\n // 0.5 + 4.13/N + abs-poly-error*2^57 ULP (+ 0.002 ULP without fma)\\n // Worst case error if |y| > 0x1p-4:\\n // 0.5 + 2.06/N + abs-poly-error*2^56 ULP (+ 0.001 ULP without fma).\\n return lo + r2 * A0 + r * r2 * (A1 + r * A2 + r2 * (A3 + r * A4)) + hi;\\n}\\n\\n//\\n// Lookup data for pow. See: https://git.musl-libc.org/cgit/musl/tree/src/math/pow.c\\n//\\n\\n// @ts-ignore: decorator\\n@inline const POW_LOG_TABLE_BITS = 7;\\n\\n/* Algorithm:\\n\\n x = 2^k z\\n log(x) = k ln2 + log(c) + log(z/c)\\n log(z/c) = poly(z/c - 1)\\n\\nwhere z is in [0x1.69555p-1; 0x1.69555p0] which is split into N subintervals\\nand z falls into the ith one, then table entries are computed as\\n\\n tab[i].invc = 1/c\\n tab[i].logc = round(0x1p43*log(c))/0x1p43\\n tab[i].logctail = (double)(log(c) - logc)\\n\\nwhere c is chosen near the center of the subinterval such that 1/c has only a\\nfew precision bits so z/c - 1 is exactly representible as double:\\n\\n 1/c = center < 1 ? round(N/center)/N : round(2*N/center)/N/2\\n\\nNote: |z/c - 1| < 1/N for the chosen c, |log(c) - logc - logctail| < 0x1p-97,\\nthe last few bits of logc are rounded away so k*ln2hi + logc has no rounding\\nerror and the interval for z is selected such that near x == 1, where log(x)\\nis tiny, large cancellation error is avoided in logc + poly(z/c - 1). */\\n\\n// @ts-ignore: decorator\\n@lazy @inline const POW_LOG_DATA_TAB = memory.data([\\n // invc ,pad, logc , logctail\\n 0x3FF6A00000000000, 0, 0xBFD62C82F2B9C800, 0x3CFAB42428375680,\\n 0x3FF6800000000000, 0, 0xBFD5D1BDBF580800, 0xBD1CA508D8E0F720,\\n 0x3FF6600000000000, 0, 0xBFD5767717455800, 0xBD2362A4D5B6506D,\\n 0x3FF6400000000000, 0, 0xBFD51AAD872DF800, 0xBCE684E49EB067D5,\\n 0x3FF6200000000000, 0, 0xBFD4BE5F95777800, 0xBD041B6993293EE0,\\n 0x3FF6000000000000, 0, 0xBFD4618BC21C6000, 0x3D13D82F484C84CC,\\n 0x3FF5E00000000000, 0, 0xBFD404308686A800, 0x3CDC42F3ED820B3A,\\n 0x3FF5C00000000000, 0, 0xBFD3A64C55694800, 0x3D20B1C686519460,\\n 0x3FF5A00000000000, 0, 0xBFD347DD9A988000, 0x3D25594DD4C58092,\\n 0x3FF5800000000000, 0, 0xBFD2E8E2BAE12000, 0x3D267B1E99B72BD8,\\n 0x3FF5600000000000, 0, 0xBFD2895A13DE8800, 0x3D15CA14B6CFB03F,\\n 0x3FF5600000000000, 0, 0xBFD2895A13DE8800, 0x3D15CA14B6CFB03F,\\n 0x3FF5400000000000, 0, 0xBFD22941FBCF7800, 0xBD165A242853DA76,\\n 0x3FF5200000000000, 0, 0xBFD1C898C1699800, 0xBD1FAFBC68E75404,\\n 0x3FF5000000000000, 0, 0xBFD1675CABABA800, 0x3D1F1FC63382A8F0,\\n 0x3FF4E00000000000, 0, 0xBFD1058BF9AE4800, 0xBD26A8C4FD055A66,\\n 0x3FF4C00000000000, 0, 0xBFD0A324E2739000, 0xBD0C6BEE7EF4030E,\\n 0x3FF4A00000000000, 0, 0xBFD0402594B4D000, 0xBCF036B89EF42D7F,\\n 0x3FF4A00000000000, 0, 0xBFD0402594B4D000, 0xBCF036B89EF42D7F,\\n 0x3FF4800000000000, 0, 0xBFCFB9186D5E4000, 0x3D0D572AAB993C87,\\n 0x3FF4600000000000, 0, 0xBFCEF0ADCBDC6000, 0x3D2B26B79C86AF24,\\n 0x3FF4400000000000, 0, 0xBFCE27076E2AF000, 0xBD172F4F543FFF10,\\n 0x3FF4200000000000, 0, 0xBFCD5C216B4FC000, 0x3D21BA91BBCA681B,\\n 0x3FF4000000000000, 0, 0xBFCC8FF7C79AA000, 0x3D27794F689F8434,\\n 0x3FF4000000000000, 0, 0xBFCC8FF7C79AA000, 0x3D27794F689F8434,\\n 0x3FF3E00000000000, 0, 0xBFCBC286742D9000, 0x3D194EB0318BB78F,\\n 0x3FF3C00000000000, 0, 0xBFCAF3C94E80C000, 0x3CBA4E633FCD9066,\\n 0x3FF3A00000000000, 0, 0xBFCA23BC1FE2B000, 0xBD258C64DC46C1EA,\\n 0x3FF3A00000000000, 0, 0xBFCA23BC1FE2B000, 0xBD258C64DC46C1EA,\\n 0x3FF3800000000000, 0, 0xBFC9525A9CF45000, 0xBD2AD1D904C1D4E3,\\n 0x3FF3600000000000, 0, 0xBFC87FA06520D000, 0x3D2BBDBF7FDBFA09,\\n 0x3FF3400000000000, 0, 0xBFC7AB890210E000, 0x3D2BDB9072534A58,\\n 0x3FF3400000000000, 0, 0xBFC7AB890210E000, 0x3D2BDB9072534A58,\\n 0x3FF3200000000000, 0, 0xBFC6D60FE719D000, 0xBD10E46AA3B2E266,\\n 0x3FF3000000000000, 0, 0xBFC5FF3070A79000, 0xBD1E9E439F105039,\\n 0x3FF3000000000000, 0, 0xBFC5FF3070A79000, 0xBD1E9E439F105039,\\n 0x3FF2E00000000000, 0, 0xBFC526E5E3A1B000, 0xBD20DE8B90075B8F,\\n 0x3FF2C00000000000, 0, 0xBFC44D2B6CCB8000, 0x3D170CC16135783C,\\n 0x3FF2C00000000000, 0, 0xBFC44D2B6CCB8000, 0x3D170CC16135783C,\\n 0x3FF2A00000000000, 0, 0xBFC371FC201E9000, 0x3CF178864D27543A,\\n 0x3FF2800000000000, 0, 0xBFC29552F81FF000, 0xBD248D301771C408,\\n 0x3FF2600000000000, 0, 0xBFC1B72AD52F6000, 0xBD2E80A41811A396,\\n 0x3FF2600000000000, 0, 0xBFC1B72AD52F6000, 0xBD2E80A41811A396,\\n 0x3FF2400000000000, 0, 0xBFC0D77E7CD09000, 0x3D0A699688E85BF4,\\n 0x3FF2400000000000, 0, 0xBFC0D77E7CD09000, 0x3D0A699688E85BF4,\\n 0x3FF2200000000000, 0, 0xBFBFEC9131DBE000, 0xBD2575545CA333F2,\\n 0x3FF2000000000000, 0, 0xBFBE27076E2B0000, 0x3D2A342C2AF0003C,\\n 0x3FF2000000000000, 0, 0xBFBE27076E2B0000, 0x3D2A342C2AF0003C,\\n 0x3FF1E00000000000, 0, 0xBFBC5E548F5BC000, 0xBD1D0C57585FBE06,\\n 0x3FF1C00000000000, 0, 0xBFBA926D3A4AE000, 0x3D253935E85BAAC8,\\n 0x3FF1C00000000000, 0, 0xBFBA926D3A4AE000, 0x3D253935E85BAAC8,\\n 0x3FF1A00000000000, 0, 0xBFB8C345D631A000, 0x3D137C294D2F5668,\\n 0x3FF1A00000000000, 0, 0xBFB8C345D631A000, 0x3D137C294D2F5668,\\n 0x3FF1800000000000, 0, 0xBFB6F0D28AE56000, 0xBD269737C93373DA,\\n 0x3FF1600000000000, 0, 0xBFB51B073F062000, 0x3D1F025B61C65E57,\\n 0x3FF1600000000000, 0, 0xBFB51B073F062000, 0x3D1F025B61C65E57,\\n 0x3FF1400000000000, 0, 0xBFB341D7961BE000, 0x3D2C5EDACCF913DF,\\n 0x3FF1400000000000, 0, 0xBFB341D7961BE000, 0x3D2C5EDACCF913DF,\\n 0x3FF1200000000000, 0, 0xBFB16536EEA38000, 0x3D147C5E768FA309,\\n 0x3FF1000000000000, 0, 0xBFAF0A30C0118000, 0x3D2D599E83368E91,\\n 0x3FF1000000000000, 0, 0xBFAF0A30C0118000, 0x3D2D599E83368E91,\\n 0x3FF0E00000000000, 0, 0xBFAB42DD71198000, 0x3D1C827AE5D6704C,\\n 0x3FF0E00000000000, 0, 0xBFAB42DD71198000, 0x3D1C827AE5D6704C,\\n 0x3FF0C00000000000, 0, 0xBFA77458F632C000, 0xBD2CFC4634F2A1EE,\\n 0x3FF0C00000000000, 0, 0xBFA77458F632C000, 0xBD2CFC4634F2A1EE,\\n 0x3FF0A00000000000, 0, 0xBFA39E87B9FEC000, 0x3CF502B7F526FEAA,\\n 0x3FF0A00000000000, 0, 0xBFA39E87B9FEC000, 0x3CF502B7F526FEAA,\\n 0x3FF0800000000000, 0, 0xBF9F829B0E780000, 0xBD2980267C7E09E4,\\n 0x3FF0800000000000, 0, 0xBF9F829B0E780000, 0xBD2980267C7E09E4,\\n 0x3FF0600000000000, 0, 0xBF97B91B07D58000, 0xBD288D5493FAA639,\\n 0x3FF0400000000000, 0, 0xBF8FC0A8B0FC0000, 0xBCDF1E7CF6D3A69C,\\n 0x3FF0400000000000, 0, 0xBF8FC0A8B0FC0000, 0xBCDF1E7CF6D3A69C,\\n 0x3FF0200000000000, 0, 0xBF7FE02A6B100000, 0xBD19E23F0DDA40E4,\\n 0x3FF0200000000000, 0, 0xBF7FE02A6B100000, 0xBD19E23F0DDA40E4,\\n 0x3FF0000000000000, 0, 0, 0,\\n 0x3FF0000000000000, 0, 0, 0,\\n 0x3FEFC00000000000, 0, 0x3F80101575890000, 0xBD10C76B999D2BE8,\\n 0x3FEF800000000000, 0, 0x3F90205658938000, 0xBD23DC5B06E2F7D2,\\n 0x3FEF400000000000, 0, 0x3F98492528C90000, 0xBD2AA0BA325A0C34,\\n 0x3FEF000000000000, 0, 0x3FA0415D89E74000, 0x3D0111C05CF1D753,\\n 0x3FEEC00000000000, 0, 0x3FA466AED42E0000, 0xBD2C167375BDFD28,\\n 0x3FEE800000000000, 0, 0x3FA894AA149FC000, 0xBD197995D05A267D,\\n 0x3FEE400000000000, 0, 0x3FACCB73CDDDC000, 0xBD1A68F247D82807,\\n 0x3FEE200000000000, 0, 0x3FAEEA31C006C000, 0xBD0E113E4FC93B7B,\\n 0x3FEDE00000000000, 0, 0x3FB1973BD1466000, 0xBD25325D560D9E9B,\\n 0x3FEDA00000000000, 0, 0x3FB3BDF5A7D1E000, 0x3D2CC85EA5DB4ED7,\\n 0x3FED600000000000, 0, 0x3FB5E95A4D97A000, 0xBD2C69063C5D1D1E,\\n 0x3FED400000000000, 0, 0x3FB700D30AEAC000, 0x3CEC1E8DA99DED32,\\n 0x3FED000000000000, 0, 0x3FB9335E5D594000, 0x3D23115C3ABD47DA,\\n 0x3FECC00000000000, 0, 0x3FBB6AC88DAD6000, 0xBD1390802BF768E5,\\n 0x3FECA00000000000, 0, 0x3FBC885801BC4000, 0x3D2646D1C65AACD3,\\n 0x3FEC600000000000, 0, 0x3FBEC739830A2000, 0xBD2DC068AFE645E0,\\n 0x3FEC400000000000, 0, 0x3FBFE89139DBE000, 0xBD2534D64FA10AFD,\\n 0x3FEC000000000000, 0, 0x3FC1178E8227E000, 0x3D21EF78CE2D07F2,\\n 0x3FEBE00000000000, 0, 0x3FC1AA2B7E23F000, 0x3D2CA78E44389934,\\n 0x3FEBA00000000000, 0, 0x3FC2D1610C868000, 0x3D039D6CCB81B4A1,\\n 0x3FEB800000000000, 0, 0x3FC365FCB0159000, 0x3CC62FA8234B7289,\\n 0x3FEB400000000000, 0, 0x3FC4913D8333B000, 0x3D25837954FDB678,\\n 0x3FEB200000000000, 0, 0x3FC527E5E4A1B000, 0x3D2633E8E5697DC7,\\n 0x3FEAE00000000000, 0, 0x3FC6574EBE8C1000, 0x3D19CF8B2C3C2E78,\\n 0x3FEAC00000000000, 0, 0x3FC6F0128B757000, 0xBD25118DE59C21E1,\\n 0x3FEAA00000000000, 0, 0x3FC7898D85445000, 0xBD1C661070914305,\\n 0x3FEA600000000000, 0, 0x3FC8BEAFEB390000, 0xBD073D54AAE92CD1,\\n 0x3FEA400000000000, 0, 0x3FC95A5ADCF70000, 0x3D07F22858A0FF6F,\\n 0x3FEA000000000000, 0, 0x3FCA93ED3C8AE000, 0xBD28724350562169,\\n 0x3FE9E00000000000, 0, 0x3FCB31D8575BD000, 0xBD0C358D4EACE1AA,\\n 0x3FE9C00000000000, 0, 0x3FCBD087383BE000, 0xBD2D4BC4595412B6,\\n 0x3FE9A00000000000, 0, 0x3FCC6FFBC6F01000, 0xBCF1EC72C5962BD2,\\n 0x3FE9600000000000, 0, 0x3FCDB13DB0D49000, 0xBD2AFF2AF715B035,\\n 0x3FE9400000000000, 0, 0x3FCE530EFFE71000, 0x3CC212276041F430,\\n 0x3FE9200000000000, 0, 0x3FCEF5ADE4DD0000, 0xBCCA211565BB8E11,\\n 0x3FE9000000000000, 0, 0x3FCF991C6CB3B000, 0x3D1BCBECCA0CDF30,\\n 0x3FE8C00000000000, 0, 0x3FD07138604D5800, 0x3CF89CDB16ED4E91,\\n 0x3FE8A00000000000, 0, 0x3FD0C42D67616000, 0x3D27188B163CEAE9,\\n 0x3FE8800000000000, 0, 0x3FD1178E8227E800, 0xBD2C210E63A5F01C,\\n 0x3FE8600000000000, 0, 0x3FD16B5CCBACF800, 0x3D2B9ACDF7A51681,\\n 0x3FE8400000000000, 0, 0x3FD1BF99635A6800, 0x3D2CA6ED5147BDB7,\\n 0x3FE8200000000000, 0, 0x3FD214456D0EB800, 0x3D0A87DEBA46BAEA,\\n 0x3FE7E00000000000, 0, 0x3FD2BEF07CDC9000, 0x3D2A9CFA4A5004F4,\\n 0x3FE7C00000000000, 0, 0x3FD314F1E1D36000, 0xBD28E27AD3213CB8,\\n 0x3FE7A00000000000, 0, 0x3FD36B6776BE1000, 0x3D116ECDB0F177C8,\\n 0x3FE7800000000000, 0, 0x3FD3C25277333000, 0x3D183B54B606BD5C,\\n 0x3FE7600000000000, 0, 0x3FD419B423D5E800, 0x3D08E436EC90E09D,\\n 0x3FE7400000000000, 0, 0x3FD4718DC271C800, 0xBD2F27CE0967D675,\\n 0x3FE7200000000000, 0, 0x3FD4C9E09E173000, 0xBD2E20891B0AD8A4,\\n 0x3FE7000000000000, 0, 0x3FD522AE0738A000, 0x3D2EBE708164C759,\\n 0x3FE6E00000000000, 0, 0x3FD57BF753C8D000, 0x3D1FADEDEE5D40EF,\\n 0x3FE6C00000000000, 0, 0x3FD5D5BDDF596000, 0xBD0A0B2A08A465DC\\n]);\\n\\n// Returns 0 if not int, 1 if odd int, 2 if even int. The argument is\\n// the bit representation of a non-zero finite floating-point value.\\n// @ts-ignore: decorator\\n@inline\\nfunction checkint(iy: u64): i32 {\\n let e = iy >> 52 & 0x7FF;\\n if (e < 0x3FF ) return 0;\\n if (e > 0x3FF + 52) return 2;\\n e = u64(1) << (0x3FF + 52 - e);\\n if (iy & (e - 1)) return 0;\\n if (iy & e ) return 1;\\n return 2;\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction xflow(sign: u32, y: f64): f64 {\\n return select(-y, y, sign) * y;\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction uflow(sign: u32): f64 {\\n return xflow(sign, reinterpret(0x1000000000000000)); // 0x1p-767\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction oflow(sign: u32): f64 {\\n return xflow(sign, reinterpret(0x7000000000000000)); // 0x1p769\\n}\\n\\n// Returns 1 if input is the bit representation of 0, infinity or nan.\\n// @ts-ignore: decorator\\n@inline\\nfunction zeroinfnan(u: u64): bool {\\n return (u << 1) - 1 >= 0xFFE0000000000000 - 1;\\n}\\n\\n// @ts-ignore: decorator\\n@lazy let log_tail: f64 = 0;\\n\\n// Compute y+TAIL = log(x) where the rounded result is y and TAIL has about\\n// additional 15 bits precision. IX is the bit representation of x, but\\n// normalized in the subnormal range using the sign bit for the exponent.\\n// @ts-ignore: decorator\\n@inline\\nfunction log_inline(ix: u64): f64 {\\n const N = 1 << POW_LOG_TABLE_BITS;\\n const N_MASK = N - 1;\\n\\n const\\n Ln2hi = reinterpret(0x3FE62E42FEFA3800),\\n Ln2lo = reinterpret(0x3D2EF35793C76730);\\n\\n const\\n A0 = reinterpret(0xBFE0000000000000),\\n A1 = reinterpret(0xBFE5555555555560),\\n A2 = reinterpret(0x3FE0000000000006),\\n A3 = reinterpret(0x3FE999999959554E),\\n A4 = reinterpret(0xBFE555555529A47A),\\n A5 = reinterpret(0xBFF2495B9B4845E9),\\n A6 = reinterpret(0x3FF0002B8B263FC3);\\n\\n // x = 2^k z; where z is in range [OFF,2*OFF) and exact.\\n // The range is split into N subintervals.\\n // The ith subinterval contains z and c is near its center.\\n let tmp = ix - 0x3fE6955500000000;\\n let i = usize((tmp >> (52 - POW_LOG_TABLE_BITS)) & N_MASK);\\n let k = tmp >> 52;\\n let iz = ix - (tmp & u64(0xFFF) << 52);\\n let z = reinterpret(iz);\\n let kd = k;\\n\\n // log(x) = k*Ln2 + log(c) + log1p(z/c-1).\\n let invc = load(POW_LOG_DATA_TAB + (i << (2 + alignof())), 0 << alignof()); // tab[i].invc\\n let logc = load(POW_LOG_DATA_TAB + (i << (2 + alignof())), 2 << alignof()); // tab[i].logc\\n let logctail = load(POW_LOG_DATA_TAB + (i << (2 + alignof())), 3 << alignof()); // tab[i].logctail\\n\\n // Note: 1/c is j/N or j/N/2 where j is an integer in [N,2N) and\\n // |z/c - 1| < 1/N, so r = z/c - 1 is exactly representible.\\n // Split z such that rhi, rlo and rhi*rhi are exact and |rlo| <= |r|.\\n let zhi = reinterpret((iz + u64(0x80000000)) & 0xFFFFFFFF00000000);\\n let zlo = z - zhi;\\n let rhi = zhi * invc - 1.0;\\n let rlo = zlo * invc;\\n let r = rhi + rlo;\\n\\n // k * Ln2 + log(c) + r.\\n let t1 = kd * Ln2hi + logc;\\n let t2 = t1 + r;\\n let lo1 = kd * Ln2lo + logctail;\\n let lo2 = t1 - t2 + r;\\n\\n // Evaluation is optimized assuming superscalar pipelined execution.\\n let ar = A0 * r; // A[0] = -0.5\\n let ar2 = r * ar;\\n let ar3 = r * ar2;\\n // k * Ln2 + log(c) + r + A[0] * r * r.\\n let arhi = A0 * rhi;\\n let arhi2 = rhi * arhi;\\n let hi = t2 + arhi2;\\n let lo3 = rlo * (ar + arhi);\\n let lo4 = t2 - hi + arhi2;\\n\\n // p = log1p(r) - r - A[0] * r * r.\\n let p = ar3 * (A1 + r * A2 + ar2 * (A3 + r * A4 + ar2 * (A5 + r * A6)));\\n let lo = lo1 + lo2 + lo3 + lo4 + p;\\n let y = hi + lo;\\n log_tail = hi - y + lo;\\n\\n return y;\\n}\\n\\n// @ts-ignore: decorator\\n@inline const SIGN_BIAS = 0x800 << EXP_TABLE_BITS;\\n\\n// Computes sign*exp(x+xtail) where |xtail| < 2^-8/N and |xtail| <= |x|.\\n// The sign_bias argument is SIGN_BIAS or 0 and sets the sign to -1 or 1.\\n// @ts-ignore: decorator\\n@inline\\nfunction exp_inline(x: f64, xtail: f64, sign_bias: u32): f64 {\\n const N = 1 << EXP_TABLE_BITS;\\n const N_MASK = N - 1;\\n\\n const\\n InvLn2N = reinterpret(0x3FF71547652B82FE) * N, // 0x1.71547652b82fep0\\n NegLn2hiN = reinterpret(0xBF762E42FEFA0000), // -0x1.62e42fefa0000p-8\\n NegLn2loN = reinterpret(0xBD0CF79ABC9E3B3A), // -0x1.cf79abc9e3b3ap-47\\n shift = reinterpret(0x4338000000000000); // 0x1.8p52\\n\\n const\\n C2 = reinterpret(0x3FDFFFFFFFFFFDBD), // __exp_data.poly[0] (0x1.ffffffffffdbdp-2)\\n C3 = reinterpret(0x3FC555555555543C), // __exp_data.poly[1] (0x1.555555555543cp-3)\\n C4 = reinterpret(0x3FA55555CF172B91), // __exp_data.poly[2] (0x1.55555cf172b91p-5)\\n C5 = reinterpret(0x3F81111167A4D017); // __exp_data.poly[3] (0x1.1111167a4d017p-7)\\n\\n let abstop: u32;\\n let ki: u64, top: u64, sbits: u64;\\n let idx: usize;\\n // double_t for better performance on targets with FLT_EVAL_METHOD==2.\\n let kd: f64, z: f64, r: f64, r2: f64, scale: f64, tail: f64, tmp: f64;\\n\\n let ux = reinterpret(x);\\n abstop = u32(ux >> 52) & 0x7FF;\\n if (abstop - 0x3C9 >= 0x03F) {\\n if (abstop - 0x3C9 >= 0x80000000) {\\n // Avoid spurious underflow for tiny x.\\n // Note: 0 is common input.\\n return select(-1.0, 1.0, sign_bias);\\n }\\n if (abstop >= 0x409) { // top12(1024.0)\\n // Note: inf and nan are already handled.\\n return ux < 0\\n ? uflow(sign_bias)\\n : oflow(sign_bias);\\n }\\n // Large x is special cased below.\\n abstop = 0;\\n }\\n\\n // exp(x) = 2^(k/N) * exp(r), with exp(r) in [2^(-1/2N),2^(1/2N)].\\n // x = ln2/N*k + r, with int k and r in [-ln2/2N, ln2/2N].\\n z = InvLn2N * x;\\n\\n // #if TOINT_INTRINSICS\\n // kd = roundtoint(z);\\n // ki = converttoint(z);\\n // #elif EXP_USE_TOINT_NARROW\\n // // z - kd is in [-0.5-2^-16, 0.5] in all rounding modes.\\n // kd = eval_as_double(z + shift);\\n // ki = asuint64(kd) >> 16;\\n // kd = (double_t)(int32_t)ki;\\n // #else\\n // z - kd is in [-1, 1] in non-nearest rounding modes\\n kd = z + shift;\\n ki = reinterpret(kd);\\n kd -= shift;\\n // #endif\\n r = x + kd * NegLn2hiN + kd * NegLn2loN;\\n // The code assumes 2^-200 < |xtail| < 2^-8/N\\n r += xtail;\\n // 2^(k/N) ~= scale * (1 + tail)\\n idx = usize((ki & N_MASK) << 1);\\n top = (ki + sign_bias) << (52 - EXP_TABLE_BITS);\\n\\n tail = reinterpret(load(EXP_DATA_TAB + (idx << alignof())));\\n // This is only a valid scale when -1023*N < k < 1024*N\\n sbits = load(EXP_DATA_TAB + (idx << alignof()), 1 << alignof()) + top;\\n // exp(x) = 2^(k/N) * exp(r) ~= scale + scale * (tail + exp(r) - 1).\\n // Evaluation is optimized assuming superscalar pipelined execution.\\n r2 = r * r;\\n // Without fma the worst case error is 0.25/N ulp larger.\\n // Worst case error is less than 0.5+1.11/N+(abs poly error * 2^53) ulp\\n tmp = tail + r + r2 * (C2 + r * C3) + r2 * r2 * (C4 + r * C5);\\n if (abstop == 0) return specialcase(tmp, sbits, ki);\\n scale = reinterpret(sbits);\\n // Note: tmp == 0 or |tmp| > 2^-200 and scale > 2^-739, so there\\n // is no spurious underflow here even without fma.\\n return scale + scale * tmp;\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nexport function pow_lut(x: f64, y: f64): f64 {\\n const Ox1p52 = reinterpret(0x4330000000000000); // 0x1p52\\n\\n let sign_bias: u32 = 0;\\n let ix = reinterpret(x);\\n let iy = reinterpret(y);\\n let topx = ix >> 52;\\n let topy = iy >> 52;\\n\\n if (topx - 0x001 >= 0x7FF - 0x001 || (topy & 0x7FF) - 0x3BE >= 0x43e - 0x3BE) {\\n // Note: if |y| > 1075 * ln2 * 2^53 ~= 0x1.749p62 then pow(x,y) = inf/0\\n // and if |y| < 2^-54 / 1075 ~= 0x1.e7b6p-65 then pow(x,y) = +-1.\\n // Special cases: (x < 0x1p-126 or inf or nan) or\\n // (|y| < 0x1p-65 or |y| >= 0x1p63 or nan).\\n if (zeroinfnan(iy)) {\\n if ((iy << 1) == 0) return 1.0;\\n if (ix == 0x3FF0000000000000) return NaN; // original: 1.0\\n if ((ix << 1) > 0xFFE0000000000000 || (iy << 1) > 0xFFE0000000000000) return x + y;\\n if ((ix << 1) == 0x7FE0000000000000) return NaN; // original: 1.0\\n if (((ix << 1) < 0x7FE0000000000000) == !(iy >> 63)) return 0; // |x|<1 && y==inf or |x|>1 && y==-inf.\\n return y * y;\\n }\\n if (zeroinfnan(ix)) {\\n let x2 = x * x;\\n if (i32(ix >> 63) && checkint(iy) == 1) x2 = -x2;\\n return iy < 0 ? 1 / x2 : x2;\\n }\\n // Here x and y are non-zero finite\\n if (ix < 0) {\\n // Finite x < 0\\n let yint = checkint(iy);\\n if (yint == 0) return (x - x) / (x - x);\\n if (yint == 1) sign_bias = SIGN_BIAS;\\n ix &= 0x7FFFFFFFFFFFFFFF;\\n topx &= 0x7FF;\\n }\\n if ((topy & 0x7FF) - 0x3BE >= 0x43E - 0x3BE) {\\n // Note: sign_bias == 0 here because y is not odd.\\n if (ix == 0x3FF0000000000000) return 1;\\n if ((topy & 0x7FF) < 0x3BE) return 1; // |y| < 2^-65, x^y ~= 1 + y*log(x).\\n return (ix > 0x3FF0000000000000) == (topy < 0x800) ? Infinity : 0;\\n }\\n if (topx == 0) {\\n // Normalize subnormal x so exponent becomes negative.\\n ix = reinterpret(x * Ox1p52);\\n ix &= 0x7FFFFFFFFFFFFFFF;\\n ix -= u64(52) << 52;\\n }\\n }\\n\\n let hi = log_inline(ix);\\n let lo = log_tail;\\n let ehi: f64, elo: f64;\\n // #if __FP_FAST_FMA\\n // ehi = y * hi;\\n // elo = y * lo + __builtin_fma(y, hi, -ehi);\\n // #else\\n let yhi = reinterpret(iy & 0xFFFFFFFFF8000000);\\n let ylo = y - yhi;\\n let lhi = reinterpret(reinterpret(hi) & 0xFFFFFFFFF8000000);\\n let llo = hi - lhi + lo;\\n ehi = yhi * lhi;\\n elo = ylo * lhi + y * llo; // |elo| < |ehi| * 2^-25.\\n // #endif\\n return exp_inline(ehi, elo, sign_bias);\\n}\\n\",\n \"util/memory\": \"export function memcpy(dest: usize, src: usize, n: usize): void { // see: musl/src/string/memcpy.c\\n let w: u32, x: u32;\\n\\n // copy 1 byte each until src is aligned to 4 bytes\\n while (n && (src & 3)) {\\n store(dest++, load(src++));\\n n--;\\n }\\n\\n // if dst is aligned to 4 bytes as well, copy 4 bytes each\\n if ((dest & 3) == 0) {\\n while (n >= 16) {\\n store(dest , load(src ));\\n store(dest + 4, load(src + 4));\\n store(dest + 8, load(src + 8));\\n store(dest + 12, load(src + 12));\\n src += 16; dest += 16; n -= 16;\\n }\\n if (n & 8) {\\n store(dest , load(src ));\\n store(dest + 4, load(src + 4));\\n dest += 8; src += 8;\\n }\\n if (n & 4) {\\n store(dest, load(src));\\n dest += 4; src += 4;\\n }\\n if (n & 2) { // drop to 2 bytes each\\n store(dest, load(src));\\n dest += 2; src += 2;\\n }\\n if (n & 1) { // drop to 1 byte\\n store(dest++, load(src++));\\n }\\n return;\\n }\\n\\n // if dst is not aligned to 4 bytes, use alternating shifts to copy 4 bytes each\\n // doing shifts if faster when copying enough bytes (here: 32 or more)\\n if (n >= 32) {\\n switch (dest & 3) {\\n // known to be != 0\\n case 1: {\\n w = load(src);\\n store(dest++, load(src++));\\n store(dest++, load(src++));\\n store(dest++, load(src++));\\n n -= 3;\\n while (n >= 17) {\\n x = load(src + 1);\\n store(dest, w >> 24 | x << 8);\\n w = load(src + 5);\\n store(dest + 4, x >> 24 | w << 8);\\n x = load(src + 9);\\n store(dest + 8, w >> 24 | x << 8);\\n w = load(src + 13);\\n store(dest + 12, x >> 24 | w << 8);\\n src += 16; dest += 16; n -= 16;\\n }\\n break;\\n }\\n case 2: {\\n w = load(src);\\n store(dest++, load(src++));\\n store(dest++, load(src++));\\n n -= 2;\\n while (n >= 18) {\\n x = load(src + 2);\\n store(dest, w >> 16 | x << 16);\\n w = load(src + 6);\\n store(dest + 4, x >> 16 | w << 16);\\n x = load(src + 10);\\n store(dest + 8, w >> 16 | x << 16);\\n w = load(src + 14);\\n store(dest + 12, x >> 16 | w << 16);\\n src += 16; dest += 16; n -= 16;\\n }\\n break;\\n }\\n case 3: {\\n w = load(src);\\n store(dest++, load(src++));\\n n -= 1;\\n while (n >= 19) {\\n x = load(src + 3);\\n store(dest, w >> 8 | x << 24);\\n w = load(src + 7);\\n store(dest + 4, x >> 8 | w << 24);\\n x = load(src + 11);\\n store(dest + 8, w >> 8 | x << 24);\\n w = load(src + 15);\\n store(dest + 12, x >> 8 | w << 24);\\n src += 16; dest += 16; n -= 16;\\n }\\n break;\\n }\\n }\\n }\\n\\n // copy remaining bytes one by one\\n if (n & 16) {\\n store(dest++, load(src++));\\n store(dest++, load(src++));\\n store(dest++, load(src++));\\n store(dest++, load(src++));\\n store(dest++, load(src++));\\n store(dest++, load(src++));\\n store(dest++, load(src++));\\n store(dest++, load(src++));\\n store(dest++, load(src++));\\n store(dest++, load(src++));\\n store(dest++, load(src++));\\n store(dest++, load(src++));\\n store(dest++, load(src++));\\n store(dest++, load(src++));\\n store(dest++, load(src++));\\n store(dest++, load(src++));\\n }\\n if (n & 8) {\\n store(dest++, load(src++));\\n store(dest++, load(src++));\\n store(dest++, load(src++));\\n store(dest++, load(src++));\\n store(dest++, load(src++));\\n store(dest++, load(src++));\\n store(dest++, load(src++));\\n store(dest++, load(src++));\\n }\\n if (n & 4) {\\n store(dest++, load(src++));\\n store(dest++, load(src++));\\n store(dest++, load(src++));\\n store(dest++, load(src++));\\n }\\n if (n & 2) {\\n store(dest++, load(src++));\\n store(dest++, load(src++));\\n }\\n if (n & 1) {\\n store(dest++, load(src++));\\n }\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nexport function memmove(dest: usize, src: usize, n: usize): void { // see: musl/src/string/memmove.c\\n if (dest == src) return;\\n if (ASC_SHRINK_LEVEL < 1) {\\n if (src - dest - n <= -(n << 1)) {\\n memcpy(dest, src, n);\\n return;\\n }\\n }\\n if (dest < src) {\\n if (ASC_SHRINK_LEVEL < 2) {\\n if ((src & 7) == (dest & 7)) {\\n while (dest & 7) {\\n if (!n) return;\\n --n;\\n store(dest++, load(src++));\\n }\\n while (n >= 8) {\\n store(dest, load(src));\\n n -= 8;\\n dest += 8;\\n src += 8;\\n }\\n }\\n }\\n while (n) {\\n store(dest++, load(src++));\\n --n;\\n }\\n } else {\\n if (ASC_SHRINK_LEVEL < 2) {\\n if ((src & 7) == (dest & 7)) {\\n while ((dest + n) & 7) {\\n if (!n) return;\\n store(dest + --n, load(src + n));\\n }\\n while (n >= 8) {\\n n -= 8;\\n store(dest + n, load(src + n));\\n }\\n }\\n }\\n while (n) {\\n store(dest + --n, load(src + n));\\n }\\n }\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nexport function memset(dest: usize, c: u8, n: usize): void { // see: musl/src/string/memset\\n if (ASC_SHRINK_LEVEL > 1) {\\n while (n) {\\n store(dest++, c);\\n --n;\\n }\\n } else {\\n // fill head and tail with minimal branching\\n if (!n) return;\\n let dend = dest + n;\\n store(dest, c);\\n store(dend - 1, c);\\n if (n <= 2) return;\\n store(dest, c, 1);\\n store(dest, c, 2);\\n store(dend - 2, c);\\n store(dend - 3, c);\\n if (n <= 6) return;\\n store(dest, c, 3);\\n store(dend - 4, c);\\n if (n <= 8) return;\\n\\n // advance pointer to align it at 4-byte boundary\\n let k: usize = -dest & 3;\\n dest += k;\\n n -= k;\\n n &= -4;\\n\\n let c32: u32 = -1 / 255 * c;\\n\\n // fill head/tail up to 28 bytes each in preparation\\n dend = dest + n;\\n store(dest, c32);\\n store(dend - 4, c32);\\n if (n <= 8) return;\\n store(dest, c32, 4);\\n store(dest, c32, 8);\\n store(dend - 12, c32);\\n store(dend - 8, c32);\\n if (n <= 24) return;\\n store(dest, c32, 12);\\n store(dest, c32, 16);\\n store(dest, c32, 20);\\n store(dest, c32, 24);\\n store(dend - 28, c32);\\n store(dend - 24, c32);\\n store(dend - 20, c32);\\n store(dend - 16, c32);\\n\\n // align to a multiple of 8\\n k = 24 + (dest & 4);\\n dest += k;\\n n -= k;\\n\\n // copy 32 bytes each\\n let c64: u64 = c32 | (c32 << 32);\\n while (n >= 32) {\\n store(dest, c64);\\n store(dest, c64, 8);\\n store(dest, c64, 16);\\n store(dest, c64, 24);\\n n -= 32;\\n dest += 32;\\n }\\n }\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nexport function memcmp(vl: usize, vr: usize, n: usize): i32 {\\n if (vl == vr) return 0;\\n if (ASC_SHRINK_LEVEL < 2) {\\n if ((vl & 7) == (vr & 7)) {\\n while (vl & 7) {\\n if (!n) return 0;\\n let a = load(vl);\\n let b = load(vr);\\n if (a != b) return a - b;\\n n--; vl++; vr++;\\n }\\n while (n >= 8) {\\n if (load(vl) != load(vr)) break;\\n vl += 8;\\n vr += 8;\\n n -= 8;\\n }\\n }\\n }\\n while (n--) {\\n let a = load(vl);\\n let b = load(vr);\\n if (a != b) return a - b;\\n vl++; vr++;\\n }\\n return 0;\\n}\\n\",\n \"util/number\": \"/// \\n\\nimport { idof } from \\\"../builtins\\\";\\nimport { CharCode } from \\\"./string\\\";\\n\\n// @ts-ignore: decorator\\n@inline\\nexport const MAX_DOUBLE_LENGTH = 28;\\n\\n// @ts-ignore: decorator\\n@lazy @inline const POWERS10 = memory.data([\\n 1,\\n 10,\\n 100,\\n 1000,\\n 10000,\\n 100000,\\n 1000000,\\n 10000000,\\n 100000000,\\n 1000000000\\n]);\\n\\n/*\\n Lookup table for pairwise char codes in range [0-99]\\n\\n \\\"00\\\", \\\"01\\\", \\\"02\\\", \\\"03\\\", \\\"04\\\", \\\"05\\\", \\\"06\\\", \\\"07\\\", \\\"08\\\", \\\"09\\\",\\n \\\"10\\\", \\\"11\\\", \\\"12\\\", \\\"13\\\", \\\"14\\\", \\\"15\\\", \\\"16\\\", \\\"17\\\", \\\"18\\\", \\\"19\\\",\\n \\\"20\\\", \\\"21\\\", \\\"22\\\", \\\"23\\\", \\\"24\\\", \\\"25\\\", \\\"26\\\", \\\"27\\\", \\\"28\\\", \\\"29\\\",\\n \\\"30\\\", \\\"31\\\", \\\"32\\\", \\\"33\\\", \\\"34\\\", \\\"35\\\", \\\"36\\\", \\\"37\\\", \\\"38\\\", \\\"39\\\",\\n \\\"40\\\", \\\"41\\\", \\\"42\\\", \\\"43\\\", \\\"44\\\", \\\"45\\\", \\\"46\\\", \\\"47\\\", \\\"48\\\", \\\"49\\\",\\n \\\"50\\\", \\\"51\\\", \\\"52\\\", \\\"53\\\", \\\"54\\\", \\\"55\\\", \\\"56\\\", \\\"57\\\", \\\"58\\\", \\\"59\\\",\\n \\\"60\\\", \\\"61\\\", \\\"62\\\", \\\"63\\\", \\\"64\\\", \\\"65\\\", \\\"66\\\", \\\"67\\\", \\\"68\\\", \\\"69\\\",\\n \\\"70\\\", \\\"71\\\", \\\"72\\\", \\\"73\\\", \\\"74\\\", \\\"75\\\", \\\"76\\\", \\\"77\\\", \\\"78\\\", \\\"79\\\",\\n \\\"80\\\", \\\"81\\\", \\\"82\\\", \\\"83\\\", \\\"84\\\", \\\"85\\\", \\\"86\\\", \\\"87\\\", \\\"88\\\", \\\"89\\\",\\n \\\"90\\\", \\\"91\\\", \\\"92\\\", \\\"93\\\", \\\"94\\\", \\\"95\\\", \\\"96\\\", \\\"97\\\", \\\"98\\\", \\\"99\\\"\\n*/\\n// @ts-ignore: decorator\\n@lazy @inline const DIGITS = memory.data([\\n 0x00300030, 0x00310030, 0x00320030, 0x00330030, 0x00340030,\\n 0x00350030, 0x00360030, 0x00370030, 0x00380030, 0x00390030,\\n 0x00300031, 0x00310031, 0x00320031, 0x00330031, 0x00340031,\\n 0x00350031, 0x00360031, 0x00370031, 0x00380031, 0x00390031,\\n 0x00300032, 0x00310032, 0x00320032, 0x00330032, 0x00340032,\\n 0x00350032, 0x00360032, 0x00370032, 0x00380032, 0x00390032,\\n 0x00300033, 0x00310033, 0x00320033, 0x00330033, 0x00340033,\\n 0x00350033, 0x00360033, 0x00370033, 0x00380033, 0x00390033,\\n 0x00300034, 0x00310034, 0x00320034, 0x00330034, 0x00340034,\\n 0x00350034, 0x00360034, 0x00370034, 0x00380034, 0x00390034,\\n 0x00300035, 0x00310035, 0x00320035, 0x00330035, 0x00340035,\\n 0x00350035, 0x00360035, 0x00370035, 0x00380035, 0x00390035,\\n 0x00300036, 0x00310036, 0x00320036, 0x00330036, 0x00340036,\\n 0x00350036, 0x00360036, 0x00370036, 0x00380036, 0x00390036,\\n 0x00300037, 0x00310037, 0x00320037, 0x00330037, 0x00340037,\\n 0x00350037, 0x00360037, 0x00370037, 0x00380037, 0x00390037,\\n 0x00300038, 0x00310038, 0x00320038, 0x00330038, 0x00340038,\\n 0x00350038, 0x00360038, 0x00370038, 0x00380038, 0x00390038,\\n 0x00300039, 0x00310039, 0x00320039, 0x00330039, 0x00340039,\\n 0x00350039, 0x00360039, 0x00370039, 0x00380039, 0x00390039\\n]);\\n\\n// Lookup table for pairwise char codes in range [0x00-0xFF]\\n// @ts-ignore: decorator\\n@lazy @inline const HEX_DIGITS =\\n\\\"000102030405060708090a0b0c0d0e0f\\\\\\n101112131415161718191a1b1c1d1e1f\\\\\\n202122232425262728292a2b2c2d2e2f\\\\\\n303132333435363738393a3b3c3d3e3f\\\\\\n404142434445464748494a4b4c4d4e4f\\\\\\n505152535455565758595a5b5c5d5e5f\\\\\\n606162636465666768696a6b6c6d6e6f\\\\\\n707172737475767778797a7b7c7d7e7f\\\\\\n808182838485868788898a8b8c8d8e8f\\\\\\n909192939495969798999a9b9c9d9e9f\\\\\\na0a1a2a3a4a5a6a7a8a9aaabacadaeaf\\\\\\nb0b1b2b3b4b5b6b7b8b9babbbcbdbebf\\\\\\nc0c1c2c3c4c5c6c7c8c9cacbcccdcecf\\\\\\nd0d1d2d3d4d5d6d7d8d9dadbdcdddedf\\\\\\ne0e1e2e3e4e5e6e7e8e9eaebecedeeef\\\\\\nf0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\\\";\\n\\n// @ts-ignore: decorator\\n@lazy @inline const ANY_DIGITS = \\\"0123456789abcdefghijklmnopqrstuvwxyz\\\";\\n\\n// @ts-ignore: decorator\\n@lazy @inline const EXP_POWERS = memory.data([/* eslint-disable indent */\\n -1220, -1193, -1166, -1140, -1113, -1087, -1060, -1034, -1007, -980,\\n -954, -927, -901, -874, -847, -821, -794, -768, -741, -715,\\n -688, -661, -635, -608, -582, -555, -529, -502, -475, -449,\\n -422, -396, -369, -343, -316, -289, -263, -236, -210, -183,\\n -157, -130, -103, -77, -50, -24, 3, 30, 56, 83,\\n 109, 136, 162, 189, 216, 242, 269, 295, 322, 348,\\n 375, 402, 428, 455, 481, 508, 534, 561, 588, 614,\\n 641, 667, 694, 720, 747, 774, 800, 827, 853, 880,\\n 907, 933, 960, 986, 1013, 1039, 1066\\n/* eslint-enable indent */]);\\n\\n// 1e-348, 1e-340, ..., 1e340\\n// @ts-ignore: decorator\\n@lazy @inline const FRC_POWERS = memory.data([\\n 0xFA8FD5A0081C0288, 0xBAAEE17FA23EBF76, 0x8B16FB203055AC76, 0xCF42894A5DCE35EA,\\n 0x9A6BB0AA55653B2D, 0xE61ACF033D1A45DF, 0xAB70FE17C79AC6CA, 0xFF77B1FCBEBCDC4F,\\n 0xBE5691EF416BD60C, 0x8DD01FAD907FFC3C, 0xD3515C2831559A83, 0x9D71AC8FADA6C9B5,\\n 0xEA9C227723EE8BCB, 0xAECC49914078536D, 0x823C12795DB6CE57, 0xC21094364DFB5637,\\n 0x9096EA6F3848984F, 0xD77485CB25823AC7, 0xA086CFCD97BF97F4, 0xEF340A98172AACE5,\\n 0xB23867FB2A35B28E, 0x84C8D4DFD2C63F3B, 0xC5DD44271AD3CDBA, 0x936B9FCEBB25C996,\\n 0xDBAC6C247D62A584, 0xA3AB66580D5FDAF6, 0xF3E2F893DEC3F126, 0xB5B5ADA8AAFF80B8,\\n 0x87625F056C7C4A8B, 0xC9BCFF6034C13053, 0x964E858C91BA2655, 0xDFF9772470297EBD,\\n 0xA6DFBD9FB8E5B88F, 0xF8A95FCF88747D94, 0xB94470938FA89BCF, 0x8A08F0F8BF0F156B,\\n 0xCDB02555653131B6, 0x993FE2C6D07B7FAC, 0xE45C10C42A2B3B06, 0xAA242499697392D3,\\n 0xFD87B5F28300CA0E, 0xBCE5086492111AEB, 0x8CBCCC096F5088CC, 0xD1B71758E219652C,\\n 0x9C40000000000000, 0xE8D4A51000000000, 0xAD78EBC5AC620000, 0x813F3978F8940984,\\n 0xC097CE7BC90715B3, 0x8F7E32CE7BEA5C70, 0xD5D238A4ABE98068, 0x9F4F2726179A2245,\\n 0xED63A231D4C4FB27, 0xB0DE65388CC8ADA8, 0x83C7088E1AAB65DB, 0xC45D1DF942711D9A,\\n 0x924D692CA61BE758, 0xDA01EE641A708DEA, 0xA26DA3999AEF774A, 0xF209787BB47D6B85,\\n 0xB454E4A179DD1877, 0x865B86925B9BC5C2, 0xC83553C5C8965D3D, 0x952AB45CFA97A0B3,\\n 0xDE469FBD99A05FE3, 0xA59BC234DB398C25, 0xF6C69A72A3989F5C, 0xB7DCBF5354E9BECE,\\n 0x88FCF317F22241E2, 0xCC20CE9BD35C78A5, 0x98165AF37B2153DF, 0xE2A0B5DC971F303A,\\n 0xA8D9D1535CE3B396, 0xFB9B7CD9A4A7443C, 0xBB764C4CA7A44410, 0x8BAB8EEFB6409C1A,\\n 0xD01FEF10A657842C, 0x9B10A4E5E9913129, 0xE7109BFBA19C0C9D, 0xAC2820D9623BF429,\\n 0x80444B5E7AA7CF85, 0xBF21E44003ACDD2D, 0x8E679C2F5E44FF8F, 0xD433179D9C8CB841,\\n 0x9E19DB92B4E31BA9, 0xEB96BF6EBADF77D9, 0xAF87023B9BF0EE6B\\n]);\\n\\n// @ts-ignore: decorator\\n@inline\\nexport function isPowerOf2(value: T): bool {\\n return popcnt(value) == 1;\\n}\\n\\n// Count number of decimals for u32 values\\n// In our case input value always non-zero so we can simplify some parts\\nexport function decimalCount32(value: u32): u32 {\\n if (value < 100000) {\\n if (value < 100) {\\n return 1 + u32(value >= 10);\\n } else {\\n return 3 + u32(value >= 10000) + u32(value >= 1000);\\n }\\n } else {\\n if (value < 10000000) {\\n return 6 + u32(value >= 1000000);\\n } else {\\n return 8 + u32(value >= 1000000000) + u32(value >= 100000000);\\n }\\n }\\n}\\n\\n// Count number of decimals for u64 values\\n// In our case input value always greater than 2^32-1 so we can skip some parts\\nexport function decimalCount64High(value: u64): u32 {\\n if (value < 1000000000000000) {\\n if (value < 1000000000000) {\\n return 10 + u32(value >= 100000000000) + u32(value >= 10000000000);\\n } else {\\n return 13 + u32(value >= 100000000000000) + u32(value >= 10000000000000);\\n }\\n } else {\\n if (value < 100000000000000000) {\\n return 16 + u32(value >= 10000000000000000);\\n } else {\\n return 18 + u32(value >= 10000000000000000000) + u32(value >= 1000000000000000000);\\n }\\n }\\n}\\n\\nfunction ulog_base(num: u64, base: i32): u32 {\\n if (isPowerOf2(base)) {\\n return (63 - clz(num)) / (31 - clz(base)) + 1;\\n }\\n let b64 = u64(base), b = b64, e: u32 = 1;\\n while (num >= b) {\\n num /= b;\\n b *= b;\\n e <<= 1;\\n }\\n while (num >= 1) {\\n num /= b64;\\n e++;\\n }\\n return e - 1;\\n}\\n\\nfunction utoa32_dec_lut(buffer: usize, num: u32, offset: usize): void {\\n while (num >= 10000) {\\n // in most VMs i32/u32 div and modulo by constant can be shared and simplificate\\n let t = num / 10000;\\n let r = num % 10000;\\n num = t;\\n\\n let d1 = r / 100;\\n let d2 = r % 100;\\n\\n let digits1 = load(DIGITS + (d1 << alignof()));\\n let digits2 = load(DIGITS + (d2 << alignof()));\\n\\n offset -= 4;\\n store(buffer + (offset << 1), digits1 | (digits2 << 32));\\n }\\n\\n if (num >= 100) {\\n let t = num / 100;\\n let d1 = num % 100;\\n num = t;\\n offset -= 2;\\n let digits = load(DIGITS + (d1 << alignof()));\\n store(buffer + (offset << 1), digits);\\n }\\n\\n if (num >= 10) {\\n offset -= 2;\\n let digits = load(DIGITS + (num << alignof()));\\n store(buffer + (offset << 1), digits);\\n } else {\\n offset -= 1;\\n let digit = CharCode._0 + num;\\n store(buffer + (offset << 1), digit);\\n }\\n}\\n\\nfunction utoa64_dec_lut(buffer: usize, num: u64, offset: usize): void {\\n while (num >= 100000000) {\\n let t = num / 100000000;\\n let r = (num - t * 100000000);\\n num = t;\\n\\n let b = r / 10000;\\n let c = r % 10000;\\n\\n let b1 = b / 100;\\n let b2 = b % 100;\\n let c1 = c / 100;\\n let c2 = c % 100;\\n\\n let digits1 = load(DIGITS + (c1 << alignof()));\\n let digits2 = load(DIGITS + (c2 << alignof()));\\n\\n offset -= 4;\\n store(buffer + (offset << 1), digits1 | (digits2 << 32));\\n\\n digits1 = load(DIGITS + (b1 << alignof()));\\n digits2 = load(DIGITS + (b2 << alignof()));\\n\\n offset -= 4;\\n store(buffer + (offset << 1), digits1 | (digits2 << 32));\\n }\\n\\n utoa32_dec_lut(buffer, num, offset);\\n}\\n\\nfunction utoa_hex_lut(buffer: usize, num: u64, offset: usize): void {\\n const lut = changetype(HEX_DIGITS);\\n while (offset >= 2) {\\n offset -= 2;\\n store(\\n buffer + (offset << 1),\\n load(lut + ((num & 0xFF) << alignof()))\\n );\\n num >>= 8;\\n }\\n if (offset & 1) {\\n store(buffer, load(lut + (num << 6)));\\n }\\n}\\n\\nfunction utoa_dec_simple(buffer: usize, num: T, offset: usize): void {\\n do {\\n let t = num / 10;\\n let r = (num % 10);\\n num = changetype(t);\\n offset--;\\n store(buffer + (offset << 1), CharCode._0 + r);\\n } while (num);\\n}\\n\\nfunction utoa_hex_simple(buffer: usize, num: T, offset: usize): void {\\n do {\\n let d = num & 0x0F | CharCode._0;\\n d += select(0x27, 0, d > CharCode._9);\\n offset--;\\n store(buffer + (offset << 1), d);\\n // @ts-ignore: type\\n num >>= 4;\\n } while (num);\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nexport function utoa32_dec_core(buffer: usize, num: u32, offset: usize): void {\\n if (ASC_SHRINK_LEVEL >= 1) {\\n utoa_dec_simple(buffer, num, offset);\\n } else {\\n utoa32_dec_lut(buffer, num, offset);\\n }\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction utoa32_hex_core(buffer: usize, num: u32, offset: usize): void {\\n if (ASC_SHRINK_LEVEL >= 1) {\\n utoa_hex_simple(buffer, num, offset);\\n } else {\\n utoa_hex_lut(buffer, num, offset);\\n }\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction utoa64_dec_core(buffer: usize, num: u64, offset: usize): void {\\n if (ASC_SHRINK_LEVEL >= 1) {\\n utoa_dec_simple(buffer, num, offset);\\n } else {\\n utoa64_dec_lut(buffer, num, offset);\\n }\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction utoa64_hex_core(buffer: usize, num: u64, offset: usize): void {\\n if (ASC_SHRINK_LEVEL >= 1) {\\n utoa_hex_simple(buffer, num, offset);\\n } else {\\n utoa_hex_lut(buffer, num, offset);\\n }\\n}\\n\\nfunction utoa64_any_core(buffer: usize, num: u64, offset: usize, radix: i32): void {\\n const lut = changetype(ANY_DIGITS);\\n let base = u64(radix);\\n if ((radix & (radix - 1)) == 0) { // for radix which pow of two\\n let shift = u64(ctz(radix) & 7);\\n let mask = base - 1;\\n do {\\n offset--;\\n store(buffer + (offset << 1), load(lut + (usize(num & mask) << 1)));\\n num >>= shift;\\n } while (num);\\n } else {\\n do {\\n offset--;\\n let q = num / base;\\n store(buffer + (offset << 1), load(lut + (usize(num - q * base) << 1)));\\n num = q;\\n } while (num);\\n }\\n}\\n\\nexport function utoa32(value: u32, radix: i32): String {\\n if (radix < 2 || radix > 36) {\\n throw new RangeError(\\\"toString() radix argument must be between 2 and 36\\\");\\n }\\n if (!value) return \\\"0\\\";\\n let out: String;\\n\\n if (radix == 10) {\\n let decimals = decimalCount32(value);\\n out = changetype(__new(decimals << 1, idof()));\\n utoa32_dec_core(changetype(out), value, decimals);\\n } else if (radix == 16) {\\n let decimals = (31 - clz(value) >> 2) + 1;\\n out = changetype(__new(decimals << 1, idof()));\\n utoa32_hex_core(changetype(out), value, decimals);\\n } else {\\n let decimals = ulog_base(value, radix);\\n out = changetype(__new(decimals << 1, idof()));\\n utoa64_any_core(changetype(out), value, decimals, radix);\\n }\\n return out;\\n}\\n\\nexport function itoa32(value: i32, radix: i32): String {\\n if (radix < 2 || radix > 36) {\\n throw new RangeError(\\\"toString() radix argument must be between 2 and 36\\\");\\n }\\n if (!value) return \\\"0\\\";\\n\\n let sign = (value >>> 31) << 1;\\n if (sign) value = -value;\\n let out: String;\\n\\n if (radix == 10) {\\n let decimals = decimalCount32(value);\\n out = changetype(__new((decimals << 1) + sign, idof()));\\n utoa32_dec_core(changetype(out) + sign, value, decimals);\\n } else if (radix == 16) {\\n let decimals = (31 - clz(value) >> 2) + 1;\\n out = changetype(__new((decimals << 1) + sign, idof()));\\n utoa32_hex_core(changetype(out) + sign, value, decimals);\\n } else {\\n let val32 = u32(value);\\n let decimals = ulog_base(val32, radix);\\n out = changetype(__new((decimals << 1) + sign, idof()));\\n utoa64_any_core(changetype(out) + sign, val32, decimals, radix);\\n }\\n if (sign) store(changetype(out), CharCode.MINUS);\\n return out;\\n}\\n\\nexport function utoa64(value: u64, radix: i32): String {\\n if (radix < 2 || radix > 36) {\\n throw new RangeError(\\\"toString() radix argument must be between 2 and 36\\\");\\n }\\n if (!value) return \\\"0\\\";\\n let out: String;\\n\\n if (radix == 10) {\\n if (value <= u32.MAX_VALUE) {\\n let val32 = value;\\n let decimals = decimalCount32(val32);\\n out = changetype(__new(decimals << 1, idof()));\\n utoa32_dec_core(changetype(out), val32, decimals);\\n } else {\\n let decimals = decimalCount64High(value);\\n out = changetype(__new(decimals << 1, idof()));\\n utoa64_dec_core(changetype(out), value, decimals);\\n }\\n } else if (radix == 16) {\\n let decimals = (63 - u32(clz(value)) >> 2) + 1;\\n out = changetype(__new(decimals << 1, idof()));\\n utoa64_hex_core(changetype(out), value, decimals);\\n } else {\\n let decimals = ulog_base(value, radix);\\n out = changetype(__new(decimals << 1, idof()));\\n utoa64_any_core(changetype(out), value, decimals, radix);\\n }\\n return out;\\n}\\n\\nexport function itoa64(value: i64, radix: i32): String {\\n if (radix < 2 || radix > 36) {\\n throw new RangeError(\\\"toString() radix argument must be between 2 and 36\\\");\\n }\\n if (!value) return \\\"0\\\";\\n\\n let sign = u32(value >>> 63) << 1;\\n if (sign) value = -value;\\n let out: String;\\n\\n if (radix == 10) {\\n if (value <= u32.MAX_VALUE) {\\n let val32 = value;\\n let decimals = decimalCount32(val32);\\n out = changetype(__new((decimals << 1) + sign, idof()));\\n utoa32_dec_core(changetype(out) + sign, val32, decimals);\\n } else {\\n let decimals = decimalCount64High(value);\\n out = changetype(__new((decimals << 1) + sign, idof()));\\n utoa64_dec_core(changetype(out) + sign, value, decimals);\\n }\\n } else if (radix == 16) {\\n let decimals = (63 - u32(clz(value)) >> 2) + 1;\\n out = changetype(__new((decimals << 1) + sign, idof()));\\n utoa64_hex_core(changetype(out) + sign, value, decimals);\\n } else {\\n let decimals = ulog_base(value, radix);\\n out = changetype(__new((decimals << 1) + sign, idof()));\\n utoa64_any_core(changetype(out) + sign, value, decimals, radix);\\n }\\n if (sign) store(changetype(out), CharCode.MINUS);\\n return out;\\n}\\n\\n// @ts-ignore: decorator\\n@lazy let _K: i32 = 0;\\n\\n// // @ts-ignore: decorator\\n// @lazy\\n// let _frc: u64 = 0;\\n\\n// @ts-ignore: decorator\\n@lazy let _exp: i32 = 0;\\n\\n// @ts-ignore: decorator\\n@lazy let _frc_minus: u64 = 0;\\n\\n// @ts-ignore: decorator\\n@lazy let _frc_plus: u64 = 0;\\n\\n// @ts-ignore: decorator\\n@lazy let _frc_pow: u64 = 0;\\n\\n// @ts-ignore: decorator\\n@lazy let _exp_pow: i32 = 0;\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction umul64f(u: u64, v: u64): u64 {\\n let u0 = u & 0xFFFFFFFF;\\n let v0 = v & 0xFFFFFFFF;\\n\\n let u1 = u >> 32;\\n let v1 = v >> 32;\\n\\n let l = u0 * v0;\\n let t = u1 * v0 + (l >> 32);\\n let w = u0 * v1 + (t & 0xFFFFFFFF);\\n\\n w += 0x7FFFFFFF; // rounding\\n\\n t >>= 32;\\n w >>= 32;\\n\\n return u1 * v1 + t + w;\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction umul64e(e1: i32, e2: i32): i32 {\\n return e1 + e2 + 64; // where 64 is significand size\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction normalizedBoundaries(f: u64, e: i32): void {\\n let frc = (f << 1) + 1;\\n let exp = e - 1;\\n let off = clz(frc);\\n frc <<= off;\\n exp -= off;\\n\\n let m = 1 + i32(f == 0x0010000000000000);\\n\\n _frc_plus = frc;\\n _frc_minus = ((f << m) - 1) << e - m - exp;\\n _exp = exp;\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction grisuRound(buffer: usize, len: i32, delta: u64, rest: u64, ten_kappa: u64, wp_w: u64): void {\\n let lastp = buffer + ((len - 1) << 1);\\n let digit = load(lastp);\\n while (\\n rest < wp_w &&\\n delta - rest >= ten_kappa && (\\n rest + ten_kappa < wp_w ||\\n wp_w - rest > rest + ten_kappa - wp_w\\n )\\n ) {\\n --digit;\\n rest += ten_kappa;\\n }\\n store(lastp, digit);\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction getCachedPower(minExp: i32): void {\\n const c = reinterpret(0x3FD34413509F79FE); // 1 / lg(10) = 0.30102999566398114\\n let dk = (-61 - minExp) * c + 347;\\t // dk must be positive, so can do ceiling in positive\\n let k = dk;\\n k += i32(k != dk); // conversion with ceil\\n\\n let index = (k >> 3) + 1;\\n _K = 348 - (index << 3);\\t// decimal exponent no need lookup table\\n _frc_pow = load(FRC_POWERS + (index << alignof()));\\n _exp_pow = load(EXP_POWERS + (index << alignof()));\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction grisu2(value: f64, buffer: usize, sign: i32): i32 {\\n\\n // frexp routine\\n let uv = reinterpret(value);\\n let exp = i32((uv & 0x7FF0000000000000) >>> 52);\\n let sid = uv & 0x000FFFFFFFFFFFFF;\\n let frc = (u64(exp != 0) << 52) + sid;\\n exp = select(exp, 1, exp) - (0x3FF + 52);\\n\\n normalizedBoundaries(frc, exp);\\n getCachedPower(_exp);\\n\\n // normalize\\n let off = clz(frc);\\n frc <<= off;\\n exp -= off;\\n\\n let frc_pow = _frc_pow;\\n let exp_pow = _exp_pow;\\n\\n let w_frc = umul64f(frc, frc_pow);\\n let w_exp = umul64e(exp, exp_pow);\\n\\n let wp_frc = umul64f(_frc_plus, frc_pow) - 1;\\n let wp_exp = umul64e(_exp, exp_pow);\\n\\n let wm_frc = umul64f(_frc_minus, frc_pow) + 1;\\n let delta = wp_frc - wm_frc;\\n\\n return genDigits(buffer, w_frc, w_exp, wp_frc, wp_exp, delta, sign);\\n}\\n\\nfunction genDigits(buffer: usize, w_frc: u64, w_exp: i32, mp_frc: u64, mp_exp: i32, delta: u64, sign: i32): i32 {\\n let one_exp = -mp_exp;\\n let one_frc = (1) << one_exp;\\n let mask = one_frc - 1;\\n\\n let wp_w_frc = mp_frc - w_frc;\\n\\n let p1 = u32(mp_frc >> one_exp);\\n let p2 = mp_frc & mask;\\n\\n let kappa = decimalCount32(p1);\\n let len = sign;\\n\\n while (kappa > 0) {\\n let d: u32;\\n switch (kappa) {\\n case 10: { d = p1 / 1000000000; p1 %= 1000000000; break; }\\n case 9: { d = p1 / 100000000; p1 %= 100000000; break; }\\n case 8: { d = p1 / 10000000; p1 %= 10000000; break; }\\n case 7: { d = p1 / 1000000; p1 %= 1000000; break; }\\n case 6: { d = p1 / 100000; p1 %= 100000; break; }\\n case 5: { d = p1 / 10000; p1 %= 10000; break; }\\n case 4: { d = p1 / 1000; p1 %= 1000; break; }\\n case 3: { d = p1 / 100; p1 %= 100; break; }\\n case 2: { d = p1 / 10; p1 %= 10; break; }\\n case 1: { d = p1; p1 = 0; break; }\\n default: { d = 0; break; }\\n }\\n\\n if (d | len) store(buffer + (len++ << 1), CharCode._0 + d);\\n\\n --kappa;\\n let tmp = ((p1) << one_exp) + p2;\\n if (tmp <= delta) {\\n _K += kappa;\\n grisuRound(buffer, len, delta, tmp, load(POWERS10 + (kappa << alignof())) << one_exp, wp_w_frc);\\n return len;\\n }\\n }\\n\\n while (true) {\\n p2 *= 10;\\n delta *= 10;\\n\\n let d = p2 >> one_exp;\\n if (d | len) store(buffer + (len++ << 1), CharCode._0 + d);\\n\\n p2 &= mask;\\n --kappa;\\n if (p2 < delta) {\\n _K += kappa;\\n wp_w_frc *= load(POWERS10 + (-kappa << alignof()));\\n grisuRound(buffer, len, delta, p2, one_frc, wp_w_frc);\\n return len;\\n }\\n }\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction genExponent(buffer: usize, k: i32): i32 {\\n let sign = k < 0;\\n if (sign) k = -k;\\n let decimals = decimalCount32(k) + 1;\\n utoa32_dec_core(buffer, k, decimals);\\n store(buffer, select(CharCode.MINUS, CharCode.PLUS, sign));\\n return decimals;\\n}\\n\\nfunction prettify(buffer: usize, length: i32, k: i32): i32 {\\n if (!k) {\\n store(buffer + (length << 1), CharCode.DOT | (CharCode._0 << 16));\\n return length + 2;\\n }\\n\\n let kk = length + k;\\n if (length <= kk && kk <= 21) {\\n // 1234e7 -> 12340000000\\n for (let i = length; i < kk; ++i) {\\n store(buffer + (i << 1), CharCode._0);\\n }\\n store(buffer + (kk << 1), CharCode.DOT | (CharCode._0 << 16));\\n return kk + 2;\\n } else if (kk > 0 && kk <= 21) {\\n // 1234e-2 -> 12.34\\n let ptr = buffer + (kk << 1);\\n memory.copy(\\n ptr + 2,\\n ptr,\\n -k << 1\\n );\\n store(buffer + (kk << 1), CharCode.DOT);\\n return length + 1;\\n } else if (-6 < kk && kk <= 0) {\\n // 1234e-6 -> 0.001234\\n let offset = 2 - kk;\\n memory.copy(\\n buffer + (offset << 1),\\n buffer,\\n length << 1\\n );\\n store(buffer, CharCode._0 | (CharCode.DOT << 16));\\n for (let i = 2; i < offset; ++i) {\\n store(buffer + (i << 1), CharCode._0);\\n }\\n return length + offset;\\n } else if (length == 1) {\\n // 1e30\\n store(buffer, CharCode.e, 2);\\n length = genExponent(buffer + 4, kk - 1);\\n return length + 2;\\n } else {\\n let len = length << 1;\\n memory.copy(\\n buffer + 4,\\n buffer + 2,\\n len - 2\\n );\\n store(buffer, CharCode.DOT, 2);\\n store(buffer + len, CharCode.e, 2);\\n length += genExponent(buffer + len + 4, kk - 1);\\n return length + 2;\\n }\\n}\\n\\nfunction dtoa_core(buffer: usize, value: f64): i32 {\\n let sign = i32(value < 0);\\n if (sign) {\\n value = -value;\\n store(buffer, CharCode.MINUS);\\n }\\n // assert(value > 0 && value <= 1.7976931348623157e308);\\n let len = grisu2(value, buffer, sign);\\n len = prettify(buffer + (sign << 1), len - sign, _K);\\n return len + sign;\\n}\\n\\n// @ts-ignore: decorator\\n@lazy @inline const dtoa_buf = memory.data(MAX_DOUBLE_LENGTH << 1);\\n\\nexport function dtoa(value: f64): String {\\n if (value == 0) return \\\"0.0\\\";\\n if (!isFinite(value)) {\\n if (isNaN(value)) return \\\"NaN\\\";\\n return select(\\\"-Infinity\\\", \\\"Infinity\\\", value < 0);\\n }\\n let size = dtoa_core(dtoa_buf, value) << 1;\\n let result = changetype(__new(size, idof()));\\n memory.copy(changetype(result), dtoa_buf, size);\\n return result;\\n}\\n\\nexport function itoa_buffered(buffer: usize, value: T): u32 {\\n let sign: u32 = 0;\\n if (isSigned()) {\\n sign = u32(value < 0);\\n if (sign) {\\n if (sizeof() == 1) {\\n if (value == -0x80) {\\n // -0x80 -> -128\\n store(buffer,\\n CharCode.MINUS |\\n (CharCode._0 + 1) << 16 |\\n (CharCode._0 + 2) << 32 |\\n (CharCode._0 + 8) << 48\\n );\\n return 4;\\n }\\n }\\n if (sizeof() == 2) {\\n if (value == -0x8000) {\\n // -0x8000 -> -32768\\n store(buffer,\\n CharCode.MINUS |\\n (CharCode._0 + 3) << 16 |\\n (CharCode._0 + 2) << 32 |\\n (CharCode._0 + 7) << 48\\n ); // -327\\n store(buffer + 8,\\n (CharCode._0 + 6) << 0 |\\n (CharCode._0 + 8) << 16\\n ); // 68\\n return 6;\\n }\\n }\\n store(buffer, CharCode.MINUS);\\n // @ts-ignore\\n value = -value;\\n }\\n }\\n let dest = buffer + (sign << 1);\\n if (ASC_SHRINK_LEVEL <= 1) {\\n if (isSigned()) {\\n if (sizeof() <= 4) {\\n if (value < 10) {\\n store(dest, value | CharCode._0);\\n return 1 + sign;\\n }\\n } else {\\n if (value < 10) {\\n store(dest, value | CharCode._0);\\n return 1 + sign;\\n }\\n }\\n } else {\\n if (value < 10) {\\n store(buffer, value | CharCode._0);\\n return 1;\\n }\\n }\\n }\\n let decimals: u32 = 0;\\n if (sizeof() <= 4) {\\n let val32 = value;\\n decimals = decimalCount32(val32);\\n utoa32_dec_core(dest, val32, decimals);\\n } else {\\n if (value <= u32.MAX_VALUE) {\\n let val32 = value;\\n decimals = decimalCount32(val32);\\n utoa32_dec_core(dest, val32, decimals);\\n } else {\\n let val64 = value;\\n decimals = decimalCount64High(val64);\\n utoa64_dec_core(dest, val64, decimals);\\n }\\n }\\n return sign + decimals;\\n}\\n\\nexport function dtoa_buffered(buffer: usize, value: f64): u32 {\\n if (value == 0) {\\n store(buffer, CharCode._0);\\n store(buffer, CharCode.DOT, 2);\\n store(buffer, CharCode._0, 4);\\n return 3;\\n }\\n if (!isFinite(value)) {\\n if (isNaN(value)) {\\n store(buffer, CharCode.N);\\n store(buffer, CharCode.a, 2);\\n store(buffer, CharCode.N, 4);\\n return 3;\\n } else {\\n let sign = value < 0;\\n if (sign) {\\n store(buffer, CharCode.MINUS); // -\\n buffer += 2;\\n }\\n store(buffer, 0x690066006E0049, 0); // ifnI\\n store(buffer, 0x7900740069006E, 8); // ytin\\n return 8 + u32(sign);\\n }\\n }\\n return dtoa_core(buffer, value);\\n}\\n\",\n \"util/sort\": \"import { compareImpl } from \\\"./string\\\";\\n\\ntype Comparator = (a: T, b: T) => i32;\\n\\n// @ts-ignore: decorator\\n@lazy @inline const EMPTY = u32.MAX_VALUE;\\n// @ts-ignore: decorator\\n@inline const INSERTION_SORT_THRESHOLD = 48;\\n// @ts-ignore: decorator\\n@inline const MIN_RUN_LENGTH = 32;\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction log2u(n: u32): u32 {\\n return 31 - clz(n);\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nexport function COMPARATOR(): Comparator {\\n if (isInteger()) {\\n if (isSigned() && sizeof() <= 4) {\\n return (a, b) => i32(a) - i32(b);\\n } else {\\n return (a, b) => i32(a > b) - i32(a < b);\\n }\\n } else if (isFloat()) {\\n if (sizeof() == 4) {\\n return (a, b) => {\\n let ia = reinterpret(f32(a));\\n let ib = reinterpret(f32(b));\\n ia ^= ia >> 31 >>> 1;\\n ib ^= ib >> 31 >>> 1;\\n return i32(ia > ib) - i32(ia < ib);\\n };\\n } else {\\n return (a, b) => {\\n let ia = reinterpret(f64(a));\\n let ib = reinterpret(f64(b));\\n ia ^= ia >> 63 >>> 1;\\n ib ^= ib >> 63 >>> 1;\\n return i32(ia > ib) - i32(ia < ib);\\n };\\n }\\n } else if (isString()) {\\n return (a, b) => {\\n if (\\n changetype(a) == changetype(b) ||\\n changetype(a) == 0 ||\\n changetype(b) == 0\\n ) return 0;\\n let alen = changetype(a).length;\\n let blen = changetype(b).length;\\n if (!(alen | blen)) return 0;\\n if (!alen) return -1;\\n if (!blen) return 1;\\n let res = compareImpl(\\n changetype(a), 0,\\n changetype(b), 0,\\n min(alen, blen)\\n );\\n return res ? res : alen - blen;\\n };\\n } else {\\n return (a, b) => i32(a > b) - i32(a < b);\\n }\\n}\\n\\n// Power Sort implementation (stable) from paper \\\"Nearly-Optimal Mergesorts\\\"\\n// https://arxiv.org/pdf/1805.04154.pdf\\n// This method usually outperform TimSort.\\n// TODO: refactor c >>> 31 to c < 0 when binaryen will support this opt\\nexport function SORT(\\n ptr: usize,\\n len: i32,\\n comparator: Comparator\\n): void {\\n if (len <= INSERTION_SORT_THRESHOLD) {\\n if (len <= 1) return;\\n if (ASC_SHRINK_LEVEL < 1) {\\n switch (len) {\\n case 3: {\\n let a = load(ptr, 0);\\n let b = load(ptr, 1 << alignof());\\n let c = comparator(a, b) > 0;\\n store(ptr, select(b, a, c), 0);\\n a = select(a, b, c);\\n b = load(ptr, 2 << alignof());\\n c = comparator(a, b) > 0;\\n store(ptr, select(b, a, c), 1 << alignof());\\n store(ptr, select(a, b, c), 2 << alignof());\\n }\\n case 2: {\\n let a = load(ptr, 0);\\n let b = load(ptr, 1 << alignof());\\n let c = comparator(a, b) > 0;\\n store(ptr, select(b, a, c), 0);\\n store(ptr, select(a, b, c), 1 << alignof());\\n return;\\n }\\n }\\n }\\n insertionSort(ptr, 0, len - 1, 0, comparator);\\n return;\\n }\\n\\n let lgPlus2 = log2u(len) + 2;\\n let lgPlus2Size = lgPlus2 << alignof();\\n let leftRunStartBuf = __alloc(lgPlus2Size << 1);\\n let leftRunEndBuf = leftRunStartBuf + lgPlus2Size;\\n\\n for (let i: u32 = 0; i < lgPlus2; ++i) {\\n store(leftRunStartBuf + (i << alignof()), EMPTY);\\n }\\n\\n let buffer = __alloc(len << alignof());\\n\\n let hi = len - 1;\\n let endA = extendRunRight(ptr, 0, hi, comparator);\\n let lenA = endA + 1;\\n\\n if (lenA < MIN_RUN_LENGTH) {\\n endA = min(hi, MIN_RUN_LENGTH - 1);\\n insertionSort(ptr, 0, endA, lenA, comparator);\\n }\\n\\n let top: u32 = 0, startA = 0;\\n while (endA < hi) {\\n let startB = endA + 1;\\n let endB = extendRunRight(ptr, startB, hi, comparator);\\n let lenB = endB - startB + 1;\\n\\n if (lenB < MIN_RUN_LENGTH) {\\n endB = min(hi, startB + MIN_RUN_LENGTH - 1);\\n insertionSort(ptr, startB, endB, lenB, comparator);\\n }\\n\\n let k = nodePower(0, hi, startA, startB, endB);\\n\\n for (let i = top; i > k; --i) {\\n let start = load(leftRunStartBuf + (i << alignof()));\\n if (start != EMPTY) {\\n mergeRuns(\\n ptr,\\n start,\\n load(leftRunEndBuf + (i << alignof())) + 1,\\n endA,\\n buffer,\\n comparator\\n );\\n startA = start;\\n store(leftRunStartBuf + (i << alignof()), EMPTY);\\n }\\n }\\n\\n store(leftRunStartBuf + (k << alignof()), startA);\\n store(leftRunEndBuf + (k << alignof()), endA);\\n startA = startB;\\n endA = endB;\\n top = k;\\n }\\n\\n for (let i = top; i != 0; --i) {\\n let start = load(leftRunStartBuf + (i << alignof()));\\n if (start != EMPTY) {\\n mergeRuns(\\n ptr,\\n start,\\n load(leftRunEndBuf + (i << alignof())) + 1,\\n hi,\\n buffer,\\n comparator\\n );\\n }\\n }\\n // dealloc aux buffers\\n __free(buffer);\\n __free(leftRunStartBuf);\\n}\\n\\nfunction insertionSort(\\n ptr: usize,\\n left: i32,\\n right: i32,\\n presorted: i32,\\n comparator: Comparator\\n): void {\\n if (ASC_SHRINK_LEVEL >= 1) {\\n // slightly improved original insertion sort\\n for (let i = left + presorted; i <= right; ++i) {\\n let j = i - 1;\\n let a = load(ptr + (i << alignof()));\\n while (j >= left) {\\n let b = load(ptr + (j << alignof()));\\n if (comparator(a, b) < 0) {\\n store(ptr + (j << alignof()), b, 1 << alignof()); --j;\\n } else break;\\n }\\n store(ptr + (j << alignof()), a, 1 << alignof());\\n }\\n } else {\\n // even-odd two-way insertion sort which allow increase minRunLen\\n let range = right - left + 1;\\n let i = left + select(range & 1, presorted - ((range - presorted) & 1), presorted == 0);\\n for (; i <= right; i += 2) {\\n let a = load(ptr + (i << alignof()), 0);\\n let b = load(ptr + (i << alignof()), 1 << alignof());\\n let min = b, max = a;\\n if (comparator(a, b) <= 0) {\\n min = a, max = b;\\n }\\n let j = i - 1;\\n while (j >= left) {\\n a = load(ptr + (j << alignof()));\\n if (comparator(a, max) > 0) {\\n store(ptr + (j << alignof()), a, 2 << alignof()); --j;\\n } else break;\\n }\\n store(ptr + (j << alignof()), max, 2 << alignof());\\n while (j >= left) {\\n a = load(ptr + (j << alignof()));\\n if (comparator(a, min) > 0) {\\n store(ptr + (j << alignof()), a, 1 << alignof()); --j;\\n } else break;\\n }\\n store(ptr + (j << alignof()), min, 1 << alignof());\\n }\\n }\\n}\\n\\nfunction nodePower(left: u32, right: u32, startA: u32, startB: u32, endB: u32): u32 {\\n let n: u64 = right - left + 1;\\n let s = startB - (left << 1);\\n let l = startA + s;\\n let r = endB + s + 1;\\n let a = (l << 30) / n;\\n let b = (r << 30) / n;\\n return clz((a ^ b));\\n}\\n\\nfunction extendRunRight(\\n ptr: usize,\\n i: i32,\\n right: i32,\\n comparator: Comparator\\n): i32 {\\n if (i == right) return i;\\n let j = i;\\n if (comparator(\\n load(ptr + ( j << alignof())),\\n load(ptr + (++j << alignof()))\\n ) > 0) {\\n while (\\n j < right &&\\n (comparator(\\n load(ptr + (j << alignof()), 1 << alignof()),\\n load(ptr + (j << alignof()))\\n ) >>> 31) // < 0\\n ) ++j;\\n // reverse\\n let k = j;\\n while (i < k) {\\n let tmp = load(ptr + (i << alignof()));\\n store(ptr + (i << alignof()), load(ptr + (k << alignof()))); ++i;\\n store(ptr + (k << alignof()), tmp); --k;\\n }\\n } else {\\n while (\\n j < right &&\\n comparator(\\n load(ptr + (j << alignof()), 1 << alignof()),\\n load(ptr + (j << alignof()))\\n ) >= 0\\n ) ++j;\\n }\\n return j;\\n}\\n\\n// Merges arr[l..m - 1] and arr[m..r]\\nfunction mergeRuns(\\n ptr: usize,\\n l: i32,\\n m: i32,\\n r: i32,\\n buffer: usize,\\n comparator: Comparator\\n): void {\\n --m;\\n let i: i32, j: i32, t = r + m;\\n for (i = m + 1; i > l; --i) {\\n store(\\n buffer + ((i - 1) << alignof()),\\n load(ptr + ((i - 1) << alignof()))\\n );\\n }\\n for (j = m; j < r; ++j) {\\n store(\\n buffer + ((t - j) << alignof()),\\n load(ptr + (j << alignof()), 1 << alignof())\\n );\\n }\\n for (let k = l; k <= r; ++k) {\\n let a = load(buffer + (j << alignof()));\\n let b = load(buffer + (i << alignof()));\\n if (comparator(a, b) < 0) {\\n store(ptr + (k << alignof()), a);\\n --j;\\n } else {\\n store(ptr + (k << alignof()), b);\\n ++i;\\n }\\n }\\n}\\n\",\n \"util/string\": \"import {\\n itoa32,\\n utoa32,\\n itoa64,\\n utoa64,\\n dtoa,\\n itoa_buffered,\\n dtoa_buffered,\\n MAX_DOUBLE_LENGTH\\n} from \\\"./number\\\";\\n\\nimport {\\n ipow32\\n} from \\\"../math\\\";\\n\\n// All tables are stored as two staged lookup tables (static tries)\\n// because the full range of Unicode symbols can't be efficiently\\n// represented as-is in memory (see Unicode spec ch 5, p.196):\\n// https://www.unicode.org/versions/Unicode12.0.0/ch05.pdf\\n// Tables have been generated using these forked musl tools:\\n// https://github.com/MaxGraey/musl-chartable-tools/tree/case-ignorable\\n\\n// Lookup table to check if a character is alphanumeric or not\\n// See: https://git.musl-libc.org/cgit/musl/tree/src/ctype/alpha.h\\n// size: 3904 bytes\\n// @ts-ignore\\n@inline @lazy const ALPHA_TABLE = memory.data([\\n 18,17,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,17,34,35,36,17,37,38,39,40,\\n 41,42,43,44,17,45,46,47,16,16,48,16,16,16,16,16,16,16,49,50,51,16,52,53,16,16,\\n 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,54,\\n 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,\\n 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,\\n 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,\\n 17,17,17,55,17,17,17,17,56,17,57,58,59,60,61,62,17,17,17,17,17,17,17,17,17,17,\\n 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,\\n 17,17,17,17,17,17,17,63,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,17,64,65,17,66,67,\\n 68,69,70,71,72,73,74,17,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,\\n 93,94,16,95,96,97,98,17,17,17,99,100,101,16,16,16,16,16,16,16,16,16,16,17,17,\\n 17,17,102,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,17,17,103,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,17,17,104,105,16,16,106,107,17,17,17,17,17,17,17,17,17,17,17,17,17,\\n 17,17,17,17,17,17,17,17,17,17,108,17,17,17,17,109,110,16,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 17,111,112,16,16,16,16,16,16,16,16,16,113,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,114,115,116,117,16,16,16,16,16,16,16,16,118,\\n 119,120,16,16,16,16,16,121,122,16,16,16,16,123,16,16,124,16,16,16,16,16,16,16,\\n 16,16,125,16,16,16,\\n 16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,\\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\\n 255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,254,255,255,7,254,\\n 255,255,7,0,0,0,0,0,4,32,4,255,255,127,255,255,255,127,255,255,255,255,255,\\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\\n 255,195,255,3,0,31,80,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,223,188,64,215,255,255,\\n 251,255,255,255,255,255,255,255,255,255,191,255,255,255,255,255,255,255,255,\\n 255,255,255,255,255,255,255,255,255,3,252,255,255,255,255,255,255,255,255,255,\\n 255,255,255,255,255,255,255,255,255,255,255,254,255,255,255,127,2,255,255,255,\\n 255,255,1,0,0,0,0,255,191,182,0,255,255,255,135,7,0,0,0,255,7,255,255,255,255,\\n 255,255,255,254,255,195,255,255,255,255,255,255,255,255,255,255,255,255,239,\\n 31,254,225,255,\\n 159,0,0,255,255,255,255,255,255,0,224,255,255,255,255,255,255,255,255,255,255,\\n 255,255,3,0,255,255,255,255,255,7,48,4,255,255,255,252,255,31,0,0,255,255,255,\\n 1,255,7,0,0,0,0,0,0,255,255,223,255,255,0,240,255,248,3,255,255,255,255,255,\\n 255,255,255,255,239,255,223,225,255,207,255,254,255,239,159,249,255,255,253,\\n 197,227,159,89,128,176,207,255,3,16,238,135,249,255,255,253,109,195,135,25,2,\\n 94,192,255,63,0,238,191,251,255,255,253,237,227,191,27,1,0,207,255,0,30,238,\\n 159,249,255,255,253,237,227,159,25,192,176,207,255,2,0,236,199,61,214,24,199,\\n 255,195,199,29,129,0,192,255,0,0,239,223,253,255,255,253,255,227,223,29,96,7,\\n 207,255,0,0,239,223,253,255,255,253,239,227,223,29,96,64,207,255,6,0,255,223,\\n 253,255,255,255,255,231,223,93,240,128,207,255,0,252,238,255,127,252,255,255,\\n 251,47,127,128,95,255,192,255,12,0,254,255,255,255,255,127,255,7,63,32,255,3,\\n 0,0,0,0,214,247,255,255,175,255,255,59,95,32,255,243,0,0,0,\\n 0,1,0,0,0,255,3,0,0,255,254,255,255,255,31,254,255,3,255,255,254,255,255,255,\\n 31,0,0,0,0,0,0,0,0,255,255,255,255,255,255,127,249,255,3,255,255,255,255,255,\\n 255,255,255,255,63,255,255,255,255,191,32,255,255,255,255,255,247,255,255,255,\\n 255,255,255,255,255,255,61,127,61,255,255,255,255,255,61,255,255,255,255,61,\\n 127,61,255,127,255,255,255,255,255,255,255,61,255,255,255,255,255,255,255,255,\\n 7,0,0,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,63,63,254,255,\\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\\n 255,255,255,255,255,159,255,255,254,255,255,7,255,255,255,255,255,255,255,255,\\n 255,199,255,1,255,223,15,0,255,255,15,0,255,255,15,0,255,223,13,0,255,255,255,\\n 255,255,255,207,255,255,1,128,16,255,3,0,0,0,0,255,3,255,255,255,255,255,255,\\n 255,255,255,255,255,1,255,255,255,255,255,7,255,255,255,255,255,255,255,255,\\n 63,\\n 0,255,255,255,127,255,15,255,1,192,255,255,255,255,63,31,0,255,255,255,255,\\n 255,15,255,255,255,3,255,3,0,0,0,0,255,255,255,15,255,255,255,255,255,255,255,\\n 127,254,255,31,0,255,3,255,3,128,0,0,128,1,0,0,0,0,0,0,0,255,255,255,255,255,\\n 255,239,255,239,15,255,3,0,0,0,0,255,255,255,255,255,243,255,255,255,255,255,\\n 255,191,255,3,0,255,255,255,255,255,255,127,0,255,227,255,255,255,255,255,63,\\n 255,1,255,255,255,255,255,231,0,0,0,0,0,222,111,4,255,255,255,255,255,255,255,\\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,\\n 128,255,31,0,255,255,63,63,255,255,255,255,63,63,255,170,255,255,255,63,255,\\n 255,255,255,255,255,223,95,220,31,207,15,255,31,220,31,0,0,0,0,0,0,0,0,0,0,0,\\n 0,0,0,2,128,0,0,255,31,0,0,0,0,0,0,0,0,0,0,0,0,132,252,47,62,80,189,255,243,\\n 224,67,0,0,255,255,255,255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,255,255,255,255,255,255,3,0,\\n 0,255,255,255,255,255,127,255,255,255,255,255,127,255,255,255,255,255,255,255,\\n 255,255,255,255,255,255,255,255,255,31,120,12,0,255,255,255,255,191,32,255,\\n 255,255,255,255,255,255,128,0,0,255,255,127,0,127,127,127,127,127,127,127,127,\\n 255,255,255,255,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 0,0,224,0,0,0,254,3,62,31,254,255,255,255,255,255,255,255,255,255,127,224,254,\\n 255,255,255,255,255,255,255,255,255,255,247,224,255,255,255,255,255,254,255,\\n 255,255,255,255,255,255,255,255,255,127,0,0,255,255,255,255,0,0,0,0,0,0,255,\\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\\n 255,255,255,255,255,255,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,\\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\\n 255,255,255,\\n 31,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,0,0,\\n 0,0,0,0,0,0,255,255,255,255,255,63,255,31,255,255,255,15,0,0,255,255,255,255,\\n 255,127,240,143,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,\\n 0,128,255,252,255,255,255,255,255,255,255,255,255,255,255,255,249,255,255,255,\\n 255,255,255,252,7,0,0,0,0,224,255,191,255,255,255,255,0,0,0,255,255,255,255,\\n 255,255,15,0,255,255,255,255,255,255,255,255,47,0,255,3,0,0,252,232,255,255,\\n 255,255,255,7,255,255,255,255,7,0,255,255,255,31,255,255,255,255,255,255,247,\\n 255,0,128,255,3,255,255,255,127,255,255,255,255,255,255,127,0,255,63,255,3,\\n 255,255,127,252,255,255,255,255,255,255,255,127,5,0,0,56,255,255,60,0,126,126,\\n 126,0,127,127,255,255,255,255,255,247,255,3,255,255,255,255,255,255,255,255,\\n 255,255,255,255,255,255,255,7,255,3,255,255,255,255,255,255,255,255,255,255,\\n 255,255,255,255,255,255,255,255,255,255,15,0,255,255,127,248,255,255,255,255,\\n 255,\\n 15,255,255,255,255,255,255,255,255,255,255,255,255,255,63,255,255,255,255,255,\\n 255,255,255,255,255,255,255,255,3,0,0,0,0,127,0,248,224,255,253,127,95,219,\\n 255,255,255,255,255,255,255,255,255,255,255,255,255,3,0,0,0,248,255,255,255,\\n 255,255,255,255,255,255,255,255,255,63,0,0,255,255,255,255,255,255,255,255,\\n 252,255,255,255,255,255,255,0,0,0,0,0,255,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,223,\\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,0,0,255,3,\\n 254,255,255,7,254,255,255,7,192,255,255,255,255,255,255,255,255,255,255,127,\\n 252,252,252,28,0,0,0,0,255,239,255,255,127,255,255,183,255,63,255,63,0,0,0,0,\\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,7,0,0,0,0,0,0,0,0,\\n 255,255,255,255,255,255,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,0,0,255,255,255,31,255,255,255,255,255,255,1,0,0,0,0,\\n 0,255,255,255,255,0,224,255,255,255,7,255,255,255,255,255,7,255,255,255,63,\\n 255,255,255,255,15,255,62,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,\\n 255,255,255,255,255,255,255,255,255,63,255,3,255,255,255,255,15,255,255,255,\\n 255,15,255,255,255,255,255,0,255,255,255,255,255,255,15,0,0,0,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,0,0,255,255,255,255,255,255,127,0,255,255,63,0,255,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,0,0,0,0,0,0,63,253,255,255,255,255,191,145,255,255,63,0,255,255,\\n 127,0,255,255,255,127,0,0,0,0,0,0,0,0,255,255,55,0,255,255,63,0,255,255,255,3,\\n 0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,192,0,0,0,0,0,0,0,0,111,240,239,\\n 254,255,255,63,0,0,0,0,0,255,255,255,31,255,255,255,31,0,0,0,0,255,254,255,\\n 255,31,0,0,0,255,255,255,255,255,255,63,0,255,255,63,0,255,255,7,0,255,255,3,\\n 0,0,0,0,0,0,0,0,0,0,0,0,\\n 0,255,255,255,255,255,255,255,255,255,1,0,0,0,0,0,0,255,255,255,255,255,255,7,\\n 0,255,255,255,255,255,255,7,0,255,255,255,255,255,0,255,3,0,0,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,\\n 255,27,3,0,0,0,0,0,0,0,0,0,255,255,255,31,128,0,255,255,63,0,0,0,0,0,0,0,0,0,\\n 0,0,0,0,255,255,31,0,0,0,255,255,127,0,255,255,255,255,255,255,255,255,63,0,0,\\n 0,192,255,0,0,252,255,255,255,255,255,255,1,0,0,255,255,255,1,255,3,255,255,\\n 255,255,255,255,199,255,240,0,255,255,255,255,71,0,255,255,255,255,255,255,\\n 255,255,30,192,255,23,0,0,0,0,255,255,251,255,255,255,159,64,0,0,0,0,0,0,0,0,\\n 127,189,255,191,255,1,255,255,255,255,255,255,255,1,255,3,239,159,249,255,255,\\n 253,237,227,159,25,129,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 0,255,255,255,255,255,255,255,255,187,7,255,131,3,0,0,0,255,255,255,255,255,\\n 255,255,255,179,0,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,\\n 255,255,255,63,127,0,0,0,63,0,0,0,0,255,255,255,255,255,255,255,127,17,0,255,\\n 3,0,0,0,0,255,255,255,255,255,255,63,1,255,3,0,0,0,0,0,0,255,255,255,231,255,\\n 7,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,\\n 255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,3,0,128,\\n 127,242,111,255,255,255,191,153,7,0,255,3,0,0,0,0,0,0,0,0,255,252,255,255,255,\\n 255,255,252,26,0,0,0,255,255,255,255,255,255,231,127,0,0,255,255,255,255,255,\\n 255,255,255,255,32,0,0,0,0,255,255,255,255,255,255,255,1,255,253,255,255,255,\\n 255,127,127,1,0,255,3,0,0,252,255,255,255,252,255,255,254,127,0,0,0,0,0,0,0,0,\\n 0,127,251,255,255,255,255,127,180,203,0,255,3,191,253,255,255,255,127,123,1,\\n 255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 0,0,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,\\n 0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\\n 255,3,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,\\n 255,127,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\\n 255,255,255,255,255,255,255,255,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 0,0,255,255,255,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 0,255,255,255,255,255,255,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 0,0,\\n 0,255,255,255,255,255,255,255,1,255,255,255,127,255,3,0,0,0,0,0,0,0,0,0,0,0,0,\\n 255,255,255,63,0,0,255,255,255,255,255,255,0,0,15,0,255,3,248,255,255,224,255,\\n 255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,\\n 255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,135,\\n 255,255,255,255,255,255,255,128,255,255,0,0,0,0,0,0,0,0,11,0,3,0,255,255,255,\\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\\n 255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255,\\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,0,0,0,0,0,\\n 255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,\\n 127,0,0,0,0,0,0,7,0,240,0,255,255,255,255,255,255,255,255,255,255,255,255,255,\\n 255,255,255,255,\\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\\n 255,255,255,255,255,255,255,255,255,255,255,255,255,15,255,255,255,255,255,\\n 255,255,255,255,255,255,255,255,7,255,31,255,1,255,67,0,0,0,0,0,0,0,0,0,0,0,0,\\n 255,255,255,255,255,255,255,255,255,255,223,255,255,255,255,255,255,255,255,\\n 223,100,222,255,235,239,255,255,255,255,255,255,255,191,231,223,223,255,255,\\n 255,123,95,252,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\\n 255,255,255,255,255,255,255,255,63,255,255,255,253,255,255,247,255,255,255,\\n 247,255,255,223,255,255,255,223,255,255,127,255,255,255,127,255,255,255,253,\\n 255,255,255,253,255,255,247,207,255,255,255,255,255,255,127,255,255,249,219,7,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,31,\\n 128,63,255,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,15,255,\\n 3,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\\n 255,255,255,255,255,31,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,143,8,\\n 255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,239,255,255,255,150,254,247,10,\\n 132,234,150,170,150,247,247,94,255,251,255,15,238,251,255,15,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,255,255,255,3,255,255,255,3,255,255,255,3,0,0,0,0,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,3\\n]);\\n\\n// size: 1568 bytes (compressed to ~1380 bytes after binaryen)\\n// @ts-ignore: decorator\\n@lazy @inline const CASED = memory.data([\\n 18,19,20,21,22,23,16,16,16,16,16,16,16,16,16,16,\\n 24,16,16,25,16,16,16,16,16,16,16,16,26,27,17,28,\\n 29,30,16,16,31,16,16,16,16,16,16,16,32,33,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,34,35,16,16,16,36,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,37,16,16,16,38,\\n 16,16,16,16,39,16,16,16,16,16,16,16,40,16,16,16,\\n 16,16,16,16,16,16,16,16,41,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,42,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,16,43,44,45,46,16,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,47,16,16,16,16,16,16,\\n 16,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\\n 0,0,0,0,0,0,0,0,254,255,255,7,254,255,255,7,0,0,0,0,0,4,32,4,\\n 255,255,127,255,255,255,127,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\\n 255,255,255,255,255,255,255,247,240,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\\n 255,255,255,255,255,255,255,255,255,255,239,255,255,255,255,1,3,0,0,0,31,0,0,0,\\n 0,0,0,0,0,0,0,0,32,0,0,0,0,0,207,188,64,215,255,255,251,255,255,255,\\n 255,255,255,255,255,255,191,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\\n 3,252,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,255,\\n 255,255,127,0,255,255,255,255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,\\n 191,32,255,255,255,255,255,231,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 0,0,0,0,255,255,255,255,255,255,255,255,255,255,63,63,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,0,0,255,1,255,255,255,255,255,231,0,0,0,0,0,0,0,0,\\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\\n 0,0,0,0,0,0,0,0,255,255,63,63,255,255,255,255,63,63,255,170,255,255,255,63,\\n 255,255,255,255,255,255,223,95,220,31,207,15,255,31,220,31,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,2,128,0,0,255,31,0,0,0,0,0,0,0,0,0,0,0,0,\\n 132,252,47,62,80,189,31,242,224,67,0,0,255,255,255,255,24,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,192,255,255,255,255,255,255,3,0,0,255,255,255,255,255,127,255,255,\\n 255,255,255,127,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,120,12,0,\\n 255,255,255,255,191,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,63,0,0,\\n 255,255,255,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,255,255,255,\\n 255,255,255,255,255,255,255,255,255,120,255,255,255,255,255,255,252,7,0,0,0,0,96,7,\\n 0,0,0,0,0,0,255,255,255,255,255,247,255,1,255,255,255,255,255,255,255,255,255,255,\\n 0,0,0,0,0,0,0,0,127,0,248,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,255,255,7,\\n 254,255,255,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,\\n 255,255,15,255,255,255,255,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 255,255,255,255,255,255,7,0,255,255,255,255,255,255,7,0,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,\\n 0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,223,255,255,255,255,255,\\n 255,255,255,223,100,222,255,235,239,255,255,255,255,255,255,255,191,231,223,223,255,255,255,123,\\n 95,252,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,255,255,255,\\n 253,255,255,247,255,255,255,247,255,255,223,255,255,255,223,255,255,127,255,255,255,127,255,255,\\n 255,253,255,255,255,253,255,255,247,15,0,0,0,0,0,0,255,255,255,255,255,255,255,255,\\n 15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,255,255,255,3,255,255,255,3,255,255,255,3,0,0,0,0,0,0,\\n 0,0,0,0,0,0,0,0\\n]);\\n\\n// size: 2976 bytes (compressed to ~2050 bytes after binaryen)\\n// @ts-ignore: decorator\\n@lazy @inline const CASE_IGNORABLES = memory.data([\\n 18,16,19,20,21,22,23,24,25,26,27,28,29,30,31,32,\\n 33,16,16,34,16,16,16,35,36,37,38,39,40,41,16,42,\\n 43,16,16,16,16,16,16,16,16,16,16,16,44,45,46,16,\\n 47,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 48,16,16,16,49,16,50,51,52,53,54,55,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,56,16,16,57,58,\\n 16,59,60,61,16,16,16,16,16,16,62,16,16,63,64,65,\\n 66,67,68,69,70,71,72,73,74,75,76,16,77,78,79,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,16,80,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,81,82,16,16,16,83,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,84,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,85,86,16,16,16,16,16,16,16,87,16,16,16,16,16,\\n 88,89,90,16,16,16,16,16,91,92,16,16,16,16,16,16,\\n 16,16,16,93,16,16,16,16,16,16,16,16,16,16,16,16,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\\n 0,0,0,0,128,64,0,4,0,0,0,64,1,0,0,0,0,0,0,0,0,161,144,1,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\\n 255,255,255,255,255,255,48,4,176,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,3,0,0,0,0,0,0,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,130,0,0,0,0,\\n 0,0,254,255,255,255,255,191,182,0,0,0,0,0,16,0,63,0,255,23,0,0,0,0,\\n 1,248,255,255,0,0,1,0,0,0,0,0,0,0,0,0,0,0,192,191,255,61,0,0,\\n 0,128,2,0,0,0,255,255,255,7,0,0,0,0,0,0,0,0,0,0,192,255,1,0,\\n 0,0,0,0,0,248,63,36,0,0,192,255,255,63,0,0,0,0,0,14,0,0,0,0,\\n 0,0,0,0,0,0,0,0,0,0,248,255,255,255,255,255,7,0,0,0,0,0,0,20,\\n 254,33,254,0,12,0,2,0,2,0,0,0,0,0,0,16,30,32,0,0,12,0,0,64,\\n 6,0,0,0,0,0,0,16,134,57,2,0,0,0,35,0,6,0,0,0,0,0,0,16,\\n 190,33,0,0,12,0,0,252,2,0,0,0,0,0,0,144,30,32,96,0,12,0,0,0,\\n 4,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,17,0,0,0,0,0,0,192,\\n 193,61,96,0,12,0,0,0,2,0,0,0,0,0,0,144,64,48,0,0,12,0,0,0,\\n 3,0,0,0,0,0,0,24,30,32,0,0,12,0,0,0,2,0,0,0,0,0,0,0,\\n 0,4,92,0,0,0,0,0,0,0,0,0,0,0,242,7,192,127,0,0,0,0,0,0,\\n 0,0,0,0,0,0,242,31,64,63,0,0,0,0,0,0,0,0,0,3,0,0,160,2,\\n 0,0,0,0,0,0,254,127,223,224,255,254,255,255,255,31,64,0,0,0,0,0,0,0,\\n 0,0,0,0,0,224,253,102,0,0,0,195,1,0,30,0,100,32,0,32,0,0,0,0,\\n 0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,224,0,0,0,0,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,0,0,0,28,0,\\n 0,0,12,0,0,0,12,0,0,0,0,0,0,0,176,63,64,254,143,32,0,0,0,0,\\n 0,120,0,0,0,0,0,0,8,0,0,0,0,0,0,0,96,0,0,0,0,2,0,0,\\n 0,0,0,0,0,0,0,0,0,0,0,0,135,1,4,14,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,9,0,0,0,0,\\n 0,0,64,127,229,31,248,159,0,0,0,0,128,0,255,255,1,0,0,0,0,0,0,0,\\n 15,0,0,0,0,0,208,23,4,0,0,0,0,248,15,0,3,0,0,0,60,59,0,0,\\n 0,0,0,0,64,163,3,0,0,0,0,0,0,240,207,0,0,0,0,0,0,0,0,63,\\n 0,0,0,0,0,0,0,0,0,0,247,255,253,33,16,3,0,0,0,0,0,240,255,255,\\n 255,255,255,255,255,7,0,1,0,0,0,248,255,255,255,255,255,255,255,255,255,255,255,251,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,\\n 3,224,0,224,0,224,0,96,0,248,0,3,144,124,0,0,0,0,0,0,223,255,2,128,\\n 0,0,255,31,0,0,0,0,0,0,255,255,255,255,1,0,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,0,0,0,0,0,0,128,3,0,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,128,0,128,0,0,0,0,0,0,0,0,\\n 0,0,0,0,255,255,255,255,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,60,62,8,\\n 0,0,0,0,0,0,0,0,0,0,0,126,0,0,0,0,0,0,0,0,0,0,0,112,\\n 0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,0,16,0,0,0,0,0,0,\\n 0,0,0,0,0,128,247,191,0,0,0,240,0,0,0,0,0,0,0,0,0,0,3,0,\\n 255,255,255,255,3,0,0,0,0,0,0,0,0,0,1,0,0,7,0,0,0,0,0,0,\\n 0,0,0,0,0,0,0,3,68,8,0,0,96,16,0,0,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,0,0,48,0,0,0,255,255,3,128,0,0,0,0,192,63,0,0,\\n 128,255,3,0,0,0,0,0,7,0,0,0,0,0,200,51,0,128,0,0,96,0,0,0,\\n 0,0,0,0,0,126,102,0,8,16,0,0,0,0,1,16,0,0,0,0,0,0,157,193,\\n 2,0,0,32,0,48,88,0,0,0,0,0,0,0,0,0,0,0,0,248,0,14,0,0,\\n 0,0,0,0,0,0,0,0,0,0,0,0,32,33,0,0,0,0,0,64,0,0,0,0,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,255,3,0,0,0,0,0,0,0,\\n 255,255,8,0,255,255,0,0,0,0,36,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,0,128,128,64,0,4,0,0,0,64,1,0,0,0,0,0,1,0,\\n 0,0,0,192,0,0,0,0,0,0,0,0,8,0,0,14,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,7,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,110,240,0,0,0,0,0,135,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,0,0,0,\\n 0,0,0,0,240,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 192,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 2,0,0,0,0,0,0,255,127,0,0,0,0,0,0,128,3,0,0,0,0,0,120,38,\\n 0,32,0,0,0,0,0,0,7,0,0,0,128,239,31,0,0,0,0,0,0,0,8,0,\\n 3,0,0,0,0,0,192,127,0,158,0,0,0,0,0,0,0,0,0,0,0,128,211,64,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,248,7,0,0,\\n 3,0,0,0,0,0,0,24,1,0,0,0,192,31,31,0,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,92,0,0,64,0,0,0,0,\\n 0,0,0,0,0,0,248,133,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,176,1,0,0,48,0,0,0,0,\\n 0,0,0,0,0,0,248,167,1,0,0,0,0,0,0,0,0,0,0,0,0,40,191,0,\\n 0,0,0,0,0,0,0,0,0,0,0,224,188,15,0,0,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,255,6,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,0,88,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 0,0,240,12,1,0,0,0,254,7,0,0,0,0,248,121,128,0,126,14,0,0,0,0,\\n 0,252,127,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,127,191,\\n 0,0,0,0,0,0,0,0,0,0,252,255,255,252,109,0,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,126,180,191,0,0,0,0,0,0,0,0,0,163,0,0,0,0,0,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,255,1,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,31,0,0,0,0,0,0,0,127,0,15,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 0,128,0,0,0,0,0,0,0,128,255,255,0,0,0,0,0,0,0,0,27,0,0,0,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,15,0,0,0,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,3,248,255,\\n 231,15,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 255,255,255,255,255,255,127,248,255,255,255,255,255,31,32,0,16,0,0,248,254,255,0,0,\\n 0,0,0,0,0,0,0,0,127,255,255,249,219,7,0,0,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,63,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,240,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,0,0,0,0,127,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 240,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,0,248\\n]);\\n\\n// @ts-ignore: decorator\\n@lazy @inline const LOWER127 = memory.data([\\n 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,\\n 16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,\\n 32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,\\n 48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,\\n 64,\\n 97,98,99,100,101,102,103,104,105,106,107,108,109,\\n 110,111,112,113,114,115,116,117,118,119,120,121,122,\\n 91,92,93,94,95,96,\\n 97,98,99,100,101,102,103,104,105,106,107,108,109,\\n 110,111,112,113,114,115,116,117,118,119,120,121,122,\\n 123,124,125,126,127\\n]);\\n\\n// @ts-ignore: decorator\\n@lazy @inline const UPPER127 = memory.data([\\n 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,\\n 16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,\\n 32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,\\n 48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,\\n 64,\\n 65,66,67,68,69,70,71,72,73,74,75,76,77,\\n 78,79,80,81,82,83,84,85,86,87,88,89,90,\\n 91,92,93,94,95,96,\\n 65,66,67,68,69,70,71,72,73,74,75,76,77,\\n 78,79,80,81,82,83,84,85,86,87,88,89,90,\\n 123,124,125,126,127\\n]);\\n\\n// 23 * 8 = 184 bytes\\n// @ts-ignore: decorator\\n@lazy @inline const POWERS10 = memory.data([\\n 1e00, 1e01, 1e02, 1e03, 1e04, 1e05, 1e06, 1e07, 1e08, 1e09,\\n 1e10, 1e11, 1e12, 1e13, 1e14, 1e15, 1e16, 1e17, 1e18, 1e19,\\n 1e20, 1e21, 1e22\\n]);\\n\\n// @ts-ignore: decorator\\n@inline\\nexport const enum CharCode {\\n PERCENT = 0x25,\\n PLUS = 0x2B,\\n MINUS = 0x2D,\\n DOT = 0x2E,\\n _0 = 0x30,\\n _1 = 0x31,\\n _2 = 0x32,\\n _3 = 0x33,\\n _4 = 0x34,\\n _5 = 0x35,\\n _6 = 0x36,\\n _7 = 0x37,\\n _8 = 0x38,\\n _9 = 0x39,\\n A = 0x41,\\n B = 0x42,\\n E = 0x45,\\n I = 0x49,\\n N = 0x4E,\\n O = 0x4F,\\n X = 0x58,\\n Z = 0x5A,\\n a = 0x61,\\n b = 0x62,\\n e = 0x65,\\n n = 0x6E,\\n o = 0x6F,\\n u = 0x75,\\n x = 0x78,\\n z = 0x7A\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nexport function isAscii(c: u32): bool {\\n return !(c >> 7);\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nexport function isLower8(c: u32): bool {\\n return c - CharCode.a < 26;\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nexport function isUpper8(c: u32): bool {\\n return c - CharCode.A < 26;\\n}\\n\\nexport function isSpace(c: u32): bool {\\n if (c < 0x1680) { // < (1)\\n // , , , , , and \\n // (c == 0x20 || c == 0xA0) was optimized to (c | 0x80) == 0xA0\\n return ((c | 0x80) == 0xA0) || (c - 0x09 <= 0x0D - 0x09);\\n }\\n if (c - 0x2000 <= 0x200A - 0x2000) return true;\\n switch (c) {\\n case 0x1680: // (1)\\n case 0x2028: // (2)\\n case 0x2029: // \\n case 0x202F: // \\n case 0x205F: // \\n case 0x3000: // \\n case 0xFEFF: return true; // \\n }\\n return false;\\n}\\n\\nexport function isAlpha(c: u32): bool {\\n if (isAscii(c)) return (c | 32) - CharCode.a < 26;\\n if (c < 0x20000) {\\n // @ts-ignore: cast\\n return stagedBinaryLookup(ALPHA_TABLE, c);\\n }\\n return c < 0x2FFFE;\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nexport function isCased(c: u32): bool {\\n // @ts-ignore: cast\\n return c < 0x1F18A && stagedBinaryLookup(CASED, c);\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nexport function isCaseIgnorable(c: u32): bool {\\n // @ts-ignore: cast\\n return c < 0xE01F0 && stagedBinaryLookup(CASE_IGNORABLES, c);\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nexport function isFinalSigma(buffer: usize, index: isize, len: isize): bool {\\n const lookaheadLimit = 30; // max lookahead limit\\n let found = false;\\n let pos = index;\\n let minPos = max(0, pos - lookaheadLimit);\\n while (pos > minPos) {\\n let c = codePointBefore(buffer, pos);\\n if (!isCaseIgnorable(c)) {\\n if (isCased(c)) {\\n found = true;\\n } else {\\n return false;\\n }\\n }\\n pos -= isize(c >= 0x10000) + 1;\\n }\\n if (!found) return false;\\n pos = index + 1;\\n let maxPos = min(pos + lookaheadLimit, len);\\n while (pos < maxPos) {\\n let c = load(buffer + (pos << 1));\\n if (u32((c & 0xFC00) == 0xD800) & u32(pos + 1 != len)) {\\n let c1 = load(buffer + (pos << 1), 2);\\n if ((c1 & 0xFC00) == 0xDC00) {\\n c = (c - 0xD800 << 10) + (c1 - 0xDC00) + 0x10000;\\n }\\n }\\n if (!isCaseIgnorable(c)) {\\n return !isCased(c);\\n }\\n pos += isize(c >= 0x10000) + 1;\\n }\\n return true;\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction codePointBefore(buffer: usize, index: isize): i32 {\\n if (index <= 0) return -1;\\n let c = load(buffer + (index - 1 << 1));\\n if (u32((c & 0xFC00) == 0xDC00) & u32(index - 2 >= 0)) {\\n let c1 = load(buffer + (index - 2 << 1));\\n if ((c1 & 0xFC00) == 0xD800) {\\n return ((c1 & 0x3FF) << 10) + (c & 0x3FF) + 0x10000;\\n }\\n }\\n return (c & 0xF800) == 0xD800 ? 0xFFFD : c;\\n}\\n\\n// Search routine for two-staged lookup tables\\nfunction stagedBinaryLookup(table: usize, c: u32): bool {\\n return ((load(table + (load(table + (c >>> 8)) << 5) + ((c & 255) >> 3)) >>> (c & 7)) & 1);\\n}\\n\\nexport function compareImpl(str1: string, index1: usize, str2: string, index2: usize, len: usize): i32 {\\n let ptr1 = changetype(str1) + (index1 << 1);\\n let ptr2 = changetype(str2) + (index2 << 1);\\n if (ASC_SHRINK_LEVEL < 2) {\\n if (len >= 4 && !((ptr1 & 7) | (ptr2 & 7))) {\\n do {\\n if (load(ptr1) != load(ptr2)) break;\\n ptr1 += 8;\\n ptr2 += 8;\\n len -= 4;\\n } while (len >= 4);\\n }\\n }\\n while (len--) {\\n let a = load(ptr1);\\n let b = load(ptr2);\\n if (a != b) return a - b;\\n ptr1 += 2;\\n ptr2 += 2;\\n }\\n return 0;\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nexport function toLower8(c: u32): u32 {\\n if (ASC_SHRINK_LEVEL > 0) {\\n return c | u32(isUpper8(c)) << 5;\\n } else {\\n return load(LOWER127 + c);\\n }\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nexport function toUpper8(c: u32): u32 {\\n if (ASC_SHRINK_LEVEL > 0) {\\n return c & ~(u32(isLower8(c)) << 5);\\n } else {\\n return load(UPPER127 + c);\\n }\\n}\\n\\n/** Parses a string to an integer (usually), using the specified radix. */\\nexport function strtol(str: string, radix: i32 = 0): T {\\n let len = str.length;\\n if (!len) {\\n if (isFloat()) {\\n // @ts-ignore: cast\\n return NaN;\\n } else {\\n // @ts-ignore: cast\\n return 0;\\n }\\n }\\n\\n let ptr = changetype(str) /* + HEAD -> offset */;\\n let code = load(ptr);\\n\\n // trim white spaces\\n while (isSpace(code)) {\\n code = load(ptr += 2);\\n --len;\\n }\\n // determine sign\\n // @ts-ignore\\n let sign: T = 1;\\n if (code == CharCode.MINUS || code == CharCode.PLUS) {\\n if (!--len) {\\n if (isFloat()) {\\n // @ts-ignore: cast\\n return NaN;\\n } else {\\n // @ts-ignore: cast\\n return 0;\\n }\\n }\\n if (code == CharCode.MINUS) {\\n // @ts-ignore: type\\n sign = -1;\\n }\\n code = load(ptr += 2);\\n }\\n\\n // See https://tc39.es/ecma262/#sec-parseint-string-radix\\n if (radix) {\\n if (radix < 2 || radix > 36) {\\n if (isFloat()) {\\n // @ts-ignore: cast\\n return NaN;\\n } else {\\n // @ts-ignore: cast\\n return 0;\\n }\\n }\\n // handle case as parseInt(\\\"0xFF\\\", 16) by spec\\n if (radix == 16) {\\n if (\\n len > 2 &&\\n code == CharCode._0 &&\\n (load(ptr, 2) | 32) == CharCode.x\\n ) {\\n ptr += 4; len -= 2;\\n }\\n }\\n } else {\\n // determine radix by literal prefix\\n if (code == CharCode._0 && len > 2) {\\n switch (load(ptr, 2) | 32) {\\n case CharCode.b: {\\n ptr += 4; len -= 2;\\n radix = 2;\\n break;\\n }\\n case CharCode.o: {\\n ptr += 4; len -= 2;\\n radix = 8;\\n break;\\n }\\n case CharCode.x: {\\n ptr += 4; len -= 2;\\n radix = 16;\\n break;\\n }\\n }\\n }\\n if (!radix) radix = 10;\\n }\\n\\n // calculate value\\n // @ts-ignore: type\\n let num: T = 0;\\n let initial = len - 1;\\n while (len--) {\\n code = load(ptr);\\n if (code - CharCode._0 < 10) {\\n code -= CharCode._0;\\n } else if (code - CharCode.A <= (CharCode.Z - CharCode.A)) {\\n code -= CharCode.A - 10;\\n } else if (code - CharCode.a <= (CharCode.z - CharCode.a)) {\\n code -= CharCode.a - 10;\\n }\\n if (code >= radix) {\\n if (initial == len) {\\n if (isFloat()) {\\n // @ts-ignore: cast\\n return NaN;\\n } else {\\n // @ts-ignore: cast\\n return 0;\\n }\\n }\\n break;\\n }\\n // @ts-ignore: type\\n num = num * radix + code;\\n ptr += 2;\\n }\\n // @ts-ignore: type\\n return sign * num;\\n}\\n\\nexport function strtod(str: string): f64 {\\n let len = str.length;\\n if (!len) return NaN;\\n\\n let ptr = changetype(str);\\n let code = load(ptr);\\n\\n let sign = 1.0;\\n // skip white spaces\\n while (len && isSpace(code)) {\\n code = load(ptr += 2);\\n --len;\\n }\\n if (!len) return NaN;\\n\\n // try parse '-' or '+'\\n if (code == CharCode.MINUS) {\\n if (!--len) return NaN;\\n code = load(ptr += 2);\\n sign = -1;\\n } else if (code == CharCode.PLUS) {\\n if (!--len) return NaN;\\n code = load(ptr += 2);\\n }\\n\\n // try parse Infinity\\n if (len >= 8 && code == CharCode.I) {\\n if (\\n load(ptr, 0) == 0x690066006E0049 && // ifnI\\n load(ptr, 8) == 0x7900740069006E // ytin\\n ) {\\n return Infinity * sign;\\n }\\n return NaN;\\n }\\n // validate next symbol\\n if (code != CharCode.DOT && (code - CharCode._0) >= 10) {\\n return NaN;\\n }\\n let savedPtr = ptr;\\n // skip zeros\\n while (code == CharCode._0) {\\n code = load(ptr += 2);\\n --len;\\n }\\n if (len <= 0) return 0.0 * sign;\\n const capacity = 19; // int(64 * 0.3010)\\n let pointed = false;\\n let consumed = 0;\\n let position = 0;\\n let x: u64 = 0;\\n if (code == CharCode.DOT) {\\n let noDigits = !(savedPtr - ptr);\\n ptr += 2; --len;\\n if (!len && noDigits) return NaN;\\n for (pointed = true; (code = load(ptr)) == CharCode._0; --position, ptr += 2) --len;\\n if (len <= 0) return 0.0 * sign;\\n if (!position && noDigits && code - CharCode._0 >= 10) return NaN;\\n }\\n for (let digit = code - CharCode._0; digit < 10 || (code == CharCode.DOT && !pointed); digit = code - CharCode._0) {\\n if (digit < 10) {\\n x = consumed < capacity ? 10 * x + digit : x | u64(!!digit);\\n ++consumed;\\n } else {\\n position = consumed;\\n pointed = true;\\n }\\n if (!--len) break;\\n code = load(ptr += 2);\\n }\\n\\n if (!pointed) position = consumed;\\n return copysign(scientific(x, position - min(capacity, consumed) + parseExp(ptr, len)), sign);\\n}\\n\\nexport function strtob(str: string): bool {\\n let size: usize = str.length << 1;\\n let offset: usize = 0;\\n if (size > 8) {\\n // try trim end whitespaces first\\n while (size && isSpace(load(changetype(str) + size - 2))) size -= 2;\\n if (size > 8) {\\n // trim start whitespaces\\n while (offset < size && isSpace(load(changetype(str) + offset))) offset += 2;\\n size -= offset;\\n }\\n }\\n if (size != 8) return false;\\n // \\\"true\\\" represents as \\\\00\\\\e\\\\00\\\\u\\\\00\\\\e\\\\00\\\\t (00 65 00 75 00 72 00 74)\\n return load(changetype(str) + offset) == 0x0065_0075_0072_0074;\\n}\\n\\nexport function joinBooleanArray(dataStart: usize, length: i32, separator: string): string {\\n let lastIndex = length - 1;\\n if (lastIndex < 0) return \\\"\\\";\\n if (!lastIndex) return select(\\\"true\\\", \\\"false\\\", load(dataStart));\\n\\n let sepLen = separator.length;\\n let valueLen = 5; // max possible length of element len(\\\"false\\\")\\n let estLen = (valueLen + sepLen) * lastIndex + valueLen;\\n let result = changetype(__new(estLen << 1, idof()));\\n let offset = 0;\\n let value: bool;\\n for (let i = 0; i < lastIndex; ++i) {\\n value = load(dataStart + i);\\n valueLen = 4 + i32(!value);\\n memory.copy(\\n changetype(result) + (offset << 1),\\n changetype(select(\\\"true\\\", \\\"false\\\", value)),\\n valueLen << 1\\n );\\n offset += valueLen;\\n if (sepLen) {\\n memory.copy(\\n changetype(result) + (offset << 1),\\n changetype(separator),\\n sepLen << 1\\n );\\n offset += sepLen;\\n }\\n }\\n value = load(dataStart + lastIndex);\\n valueLen = 4 + i32(!value);\\n memory.copy(\\n changetype(result) + (offset << 1),\\n changetype(select(\\\"true\\\", \\\"false\\\", value)),\\n valueLen << 1\\n );\\n offset += valueLen;\\n\\n if (estLen > offset) return result.substring(0, offset);\\n return result;\\n}\\n\\nexport function joinIntegerArray(dataStart: usize, length: i32, separator: string): string {\\n let lastIndex = length - 1;\\n if (lastIndex < 0) return \\\"\\\";\\n if (!lastIndex) {\\n let value = load(dataStart);\\n if (isSigned()) {\\n if (sizeof() <= 4) {\\n // @ts-ignore: type\\n return changetype(itoa32(value, 10));\\n } else {\\n // @ts-ignore: type\\n return changetype(itoa64(value, 10));\\n }\\n } else {\\n if (sizeof() <= 4) {\\n // @ts-ignore: type\\n return changetype(utoa32(value, 10));\\n } else {\\n // @ts-ignore: type\\n return changetype(utoa64(value, 10));\\n }\\n }\\n }\\n\\n let sepLen = separator.length;\\n const valueLen = (sizeof() <= 4 ? 10 : 20) + i32(isSigned());\\n let estLen = (valueLen + sepLen) * lastIndex + valueLen;\\n let result = changetype(__new(estLen << 1, idof()));\\n let offset = 0;\\n let value: T;\\n for (let i = 0; i < lastIndex; ++i) {\\n value = load(dataStart + (i << alignof()));\\n // @ts-ignore: type\\n offset += itoa_buffered(changetype(result) + (offset << 1), value);\\n if (sepLen) {\\n memory.copy(\\n changetype(result) + (offset << 1),\\n changetype(separator),\\n sepLen << 1\\n );\\n offset += sepLen;\\n }\\n }\\n value = load(dataStart + (lastIndex << alignof()));\\n // @ts-ignore: type\\n offset += itoa_buffered(changetype(result) + (offset << 1), value);\\n if (estLen > offset) return result.substring(0, offset);\\n return result;\\n}\\n\\nexport function joinFloatArray(dataStart: usize, length: i32, separator: string): string {\\n let lastIndex = length - 1;\\n if (lastIndex < 0) return \\\"\\\";\\n if (!lastIndex) {\\n return changetype(dtoa(\\n // @ts-ignore: type\\n load(dataStart))\\n );\\n }\\n\\n const valueLen = MAX_DOUBLE_LENGTH;\\n let sepLen = separator.length;\\n let estLen = (valueLen + sepLen) * lastIndex + valueLen;\\n let result = changetype(__new(estLen << 1, idof()));\\n let offset = 0;\\n let value: T;\\n for (let i = 0; i < lastIndex; ++i) {\\n value = load(dataStart + (i << alignof()));\\n // @ts-ignore: type\\n offset += dtoa_buffered(changetype(result) + (offset << 1), value);\\n if (sepLen) {\\n memory.copy(\\n changetype(result) + (offset << 1),\\n changetype(separator),\\n sepLen << 1\\n );\\n offset += sepLen;\\n }\\n }\\n value = load(dataStart + (lastIndex << alignof()));\\n // @ts-ignore: type\\n offset += dtoa_buffered(changetype(result) + (offset << 1), value);\\n if (estLen > offset) return result.substring(0, offset);\\n return result;\\n}\\n\\nexport function joinStringArray(dataStart: usize, length: i32, separator: string): string {\\n let lastIndex = length - 1;\\n if (lastIndex < 0) return \\\"\\\";\\n if (!lastIndex) {\\n // @ts-ignore: type\\n return load(dataStart) || \\\"\\\";\\n }\\n let estLen = 0;\\n let value: string;\\n for (let i = 0; i < length; ++i) {\\n value = load(dataStart + (i << alignof()));\\n if (changetype(value) != 0) estLen += value.length;\\n }\\n let offset = 0;\\n let sepLen = separator.length;\\n let result = changetype(__new((estLen + sepLen * lastIndex) << 1, idof()));\\n for (let i = 0; i < lastIndex; ++i) {\\n value = load(dataStart + (i << alignof()));\\n if (changetype(value) != 0) {\\n let valueLen = value.length;\\n memory.copy(\\n changetype(result) + (offset << 1),\\n changetype(value),\\n valueLen << 1\\n );\\n offset += valueLen;\\n }\\n if (sepLen) {\\n memory.copy(\\n changetype(result) + (offset << 1),\\n changetype(separator),\\n sepLen << 1\\n );\\n offset += sepLen;\\n }\\n }\\n value = load(dataStart + (lastIndex << alignof()));\\n if (changetype(value) != 0) {\\n memory.copy(\\n changetype(result) + (offset << 1),\\n changetype(value),\\n value.length << 1\\n );\\n }\\n return result;\\n}\\n\\nexport function joinReferenceArray(dataStart: usize, length: i32, separator: string): string {\\n let lastIndex = length - 1;\\n if (lastIndex < 0) return \\\"\\\";\\n let value: T;\\n if (!lastIndex) {\\n value = load(dataStart);\\n // @ts-ignore: type\\n return value != null ? value.toString() : \\\"\\\";\\n }\\n let result = \\\"\\\";\\n let sepLen = separator.length;\\n for (let i = 0; i < lastIndex; ++i) {\\n value = load(dataStart + (i << alignof()));\\n // @ts-ignore: type\\n if (value != null) result += value.toString();\\n if (sepLen) result += separator;\\n }\\n value = load(dataStart + (lastIndex << alignof()));\\n // @ts-ignore: type\\n if (value != null) result += value.toString();\\n return result;\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction scientific(significand: u64, exp: i32): f64 {\\n if (!significand || exp < -342) return 0;\\n if (exp > 308) return Infinity;\\n // Try use fast path\\n // Use fast path for string-to-double conversion if possible\\n // see http://www.exploringbinary.com/fast-path-decimal-to-floating-point-conversion\\n // Simple integer\\n let significandf = significand;\\n if (!exp) return significandf;\\n if (exp > 22 && exp <= 22 + 15) {\\n significandf *= pow10(exp - 22);\\n exp = 22;\\n }\\n if (significand <= 9007199254740991 && abs(exp) <= 22) {\\n if (exp > 0) return significandf * pow10(exp);\\n return significandf / pow10(-exp);\\n } else if (exp < 0) {\\n return scaledown(significand, exp);\\n } else {\\n return scaleup(significand, exp);\\n }\\n}\\n\\n// Adopted from metallic lib:\\n// https://github.com/jdh8/metallic/blob/master/src/stdlib/parse/scientific.h\\n// @ts-ignore: decorator\\n@inline\\nfunction scaledown(significand: u64, exp: i32): f64 {\\n const denom: u64 = 6103515625; // 1e14 * 0x1p-14\\n const scale = reinterpret(0x3F06849B86A12B9B); // 1e-14 * 0x1p32\\n\\n let shift = clz(significand);\\n significand <<= shift;\\n shift = exp - shift;\\n\\n for (; exp <= -14; exp += 14) {\\n let q = significand / denom;\\n let r = significand % denom;\\n let s = clz(q);\\n significand = (q << s) + nearest(scale * (r << (s - 18)));\\n shift -= s;\\n }\\n let b = ipow32(5, -exp);\\n let q = significand / b;\\n let r = significand % b;\\n let s = clz(q);\\n significand = (q << s) + (reinterpret(reinterpret(r) + (s << 52)) / b);\\n shift -= s;\\n\\n return NativeMath.scalbn(significand, shift);\\n}\\n\\n// Adopted from metallic lib:\\n// https://github.com/jdh8/metallic/blob/master/src/stdlib/parse/scientific.h\\n// @ts-ignore: decorator\\n@inline\\nfunction scaleup(significand: u64, exp: i32): f64 {\\n const coeff: u32 = 1220703125; // 1e13 * 0x1p-13;\\n let shift = ctz(significand);\\n significand >>= shift;\\n shift += exp;\\n\\n __fixmulShift = shift;\\n for (; exp >= 13; exp -= 13) {\\n significand = fixmul(significand, coeff);\\n }\\n significand = fixmul(significand, ipow32(5, exp));\\n shift = __fixmulShift;\\n return NativeMath.scalbn(significand, shift);\\n}\\n\\n// Adopted from metallic lib:\\n// https://github.com/jdh8/metallic/blob/master/src/stdlib/parse/scientific.h\\n// @ts-ignore: decorator\\n@inline\\nfunction parseExp(ptr: usize, len: i32): i32 {\\n let sign = 1, magnitude = 0;\\n let code = load(ptr);\\n // check code is 'e' or 'E'\\n if ((code | 32) != CharCode.e) return 0;\\n\\n if (!--len) return 0;\\n code = load(ptr += 2);\\n if (code == CharCode.MINUS) {\\n if (!--len) return 0;\\n code = load(ptr += 2);\\n sign = -1;\\n } else if (code == CharCode.PLUS) {\\n if (!--len) return 0;\\n code = load(ptr += 2);\\n }\\n // skip zeros\\n while (code == CharCode._0) {\\n if (!--len) return 0;\\n code = load(ptr += 2);\\n }\\n for (let digit: u32 = code - CharCode._0; len && digit < 10; digit = code - CharCode._0) {\\n if (magnitude >= 3200) return sign * 3200;\\n magnitude = 10 * magnitude + digit;\\n code = load(ptr += 2);\\n --len;\\n }\\n return sign * magnitude;\\n}\\n\\n// @ts-ignore: decorator\\n@lazy let __fixmulShift: u64 = 0;\\n\\n// Adopted from metallic lib:\\n// https://github.com/jdh8/metallic/blob/master/src/stdlib/parse/scientific.h\\n// @ts-ignore: decorator\\n@inline\\nfunction fixmul(a: u64, b: u32): u64 {\\n let low = (a & 0xFFFFFFFF) * b;\\n let high = (a >> 32) * b + (low >> 32);\\n let overflow = (high >> 32);\\n let space = clz(overflow);\\n let revspace: u64 = 32 - space;\\n __fixmulShift += revspace;\\n return (high << space | (low & 0xFFFFFFFF) >> revspace) + (low << space >> 31 & 1);\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction pow10(n: i32): f64 {\\n // argument `n` should bounds in [0, 22] range\\n return load(POWERS10 + (n << alignof()));\\n}\\n\",\n \"util/uri\": \"import { E_URI_MALFORMED } from \\\"./error\\\";\\nimport { CharCode } from \\\"./string\\\";\\n\\n// Truncated lookup boolean table that helps us quickly determine\\n// if a char needs to be escaped for URIs (RFC 2396).\\n// @ts-ignore: decorator\\n@lazy export const URI_UNSAFE = memory.data([\\n/* skip 32 + 1 always set to '1' head slots\\n */ 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0,\\n 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, /*\\n skip 128 + 1 always set to '1' tail slots */\\n]);\\n\\n// Truncated lookup boolean table that helps us quickly determine\\n// if a char needs to be escaped for URLs (RFC 3986).\\n// @ts-ignore: decorator\\n@lazy export const URL_UNSAFE = memory.data([\\n/* skip 32 + 1 always set to '1' head slots\\n */ 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1,\\n 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0,\\n 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, /*\\n skip 128 + 1 always set to '1' tail slots */\\n]);\\n\\n// Truncated lookup boolean table for determine reserved chars: ;/?:@&=+$,#\\n// @ts-ignore: decorator\\n@lazy export const URI_RESERVED = memory.data([\\n /* skip 32 + 3 always set to '0' head slots\\n */ 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1,\\n 1, /* skip 191 always set to '0' tail slots */\\n]);\\n\\nexport function encode(src: usize, len: usize, table: usize): usize {\\n if (!len) return src;\\n\\n let i: usize = 0, offset: usize = 0, outSize = len << 1;\\n let dst = __new(outSize, idof());\\n\\n while (i < len) {\\n let org = i;\\n let c: u32, c1: u32;\\n // fast scan a check chars until it valid ASCII\\n // and safe for copying withoud escaping.\\n do {\\n c = load(src + (i << 1));\\n // is it valid ASII and safe?\\n if (c - 33 < 94) { // 127 - 33\\n if (load(table + (c - 33))) break;\\n } else break;\\n } while (++i < len);\\n\\n // if we have some safe range of sequence just copy it without encoding\\n if (i > org) {\\n let size = i - org << 1;\\n if (offset + size > outSize) {\\n outSize = offset + size;\\n dst = __renew(dst, outSize);\\n }\\n // TODO: should we optimize for short cases like 2 byte size?\\n memory.copy(\\n dst + offset,\\n src + (org << 1),\\n size\\n );\\n offset += size;\\n // return if we reach end on input string\\n if (i >= len) break;\\n }\\n\\n // decode UTF16 with checking for unpaired surrogates\\n if (c >= 0xD800) {\\n if (c >= 0xDC00 && c <= 0xDFFF) {\\n throw new URIError(E_URI_MALFORMED);\\n }\\n if (c <= 0xDBFF) {\\n if (i >= len) {\\n throw new URIError(E_URI_MALFORMED);\\n }\\n c1 = load(src + (++i << 1));\\n if (c1 < 0xDC00 || c1 > 0xDFFF) {\\n throw new URIError(E_URI_MALFORMED);\\n }\\n c = (((c & 0x3FF) << 10) | (c1 & 0x3FF)) + 0x10000;\\n }\\n }\\n\\n let estSize = offset + (c < 0x80 ? 1 * 6 : 4 * 6);\\n if (estSize > outSize) {\\n // doubling estimated size but only for greater than one\\n // input lenght due to we already estemated it for worst case\\n outSize = len > 1 ? estSize << 1 : estSize;\\n dst = __renew(dst, outSize);\\n }\\n\\n if (c < 0x80) {\\n // encode ASCII unsafe code point\\n storeHex(dst, offset, c);\\n offset += 6;\\n } else {\\n // encode UTF-8 unsafe code point\\n if (c < 0x800) {\\n storeHex(dst, offset, (c >> 6) | 0xC0);\\n offset += 6;\\n } else {\\n if (c < 0x10000) {\\n storeHex(dst, offset, (c >> 12) | 0xE0);\\n offset += 6;\\n } else {\\n storeHex(dst, offset, (c >> 18) | 0xF0);\\n offset += 6;\\n storeHex(dst, offset, (c >> 12 & 0x3F) | 0x80);\\n offset += 6;\\n }\\n storeHex(dst, offset, (c >> 6 & 0x3F) | 0x80);\\n offset += 6;\\n }\\n storeHex(dst, offset, (c & 0x3F) | 0x80);\\n offset += 6;\\n }\\n ++i;\\n }\\n // shink output string buffer if necessary\\n if (outSize > offset) {\\n dst = __renew(dst, offset);\\n }\\n return dst;\\n}\\n\\nexport function decode(src: usize, len: usize, component: bool): usize {\\n if (!len) return src;\\n\\n let i: usize = 0, offset: usize = 0, ch: u32 = 0;\\n let dst = __new(len << 1, idof());\\n\\n while (i < len) {\\n let org = i;\\n while (i < len && (ch = load(src + (i << 1))) != CharCode.PERCENT) i++;\\n\\n if (i > org) {\\n let size = i - org << 1;\\n // TODO: should we optimize for short cases like 2 byte size?\\n memory.copy(\\n dst + offset,\\n src + (org << 1),\\n size\\n );\\n offset += size;\\n if (i >= len) break;\\n }\\n\\n // decode hex\\n if (\\n i + 2 >= len ||\\n ch != CharCode.PERCENT ||\\n (ch = loadHex(src, i + 1 << 1)) == -1\\n ) throw new URIError(E_URI_MALFORMED);\\n\\n i += 3;\\n if (ch < 0x80) {\\n if (!component && isReserved(ch)) {\\n ch = CharCode.PERCENT;\\n i -= 2;\\n }\\n } else {\\n // decode UTF-8 sequence\\n let nb = utf8LenFromUpperByte(ch);\\n // minimal surrogate: 2 => 0x80, 3 => 0x800, 4 => 0x10000, _ => -1\\n let lo: u32 = 1 << (17 * nb >> 2) - 1;\\n // mask: 2 => 31, 3 => 15, 4 => 7, _ => 0\\n ch &= nb ? (0x80 >> nb) - 1 : 0;\\n\\n while (--nb != 0) {\\n let c1: u32;\\n // decode hex\\n if (\\n i + 2 >= len ||\\n load(src + (i << 1)) != CharCode.PERCENT ||\\n (c1 = loadHex(src, i + 1 << 1)) == -1\\n ) throw new URIError(E_URI_MALFORMED);\\n\\n i += 3;\\n if ((c1 & 0xC0) != 0x80) {\\n ch = 0;\\n break;\\n }\\n ch = (ch << 6) | (c1 & 0x3F);\\n }\\n\\n // check if UTF8 code point properly fit into invalid UTF16 encoding\\n if (ch < lo || lo == -1 || ch > 0x10FFFF || (ch >= 0xD800 && ch < 0xE000)) {\\n throw new URIError(E_URI_MALFORMED);\\n }\\n\\n // encode UTF16\\n if (ch >= 0x10000) {\\n ch -= 0x10000;\\n let lo = ch >> 10 | 0xD800;\\n let hi = (ch & 0x03FF) | 0xDC00;\\n store(dst + offset, lo | (hi << 16));\\n offset += 4;\\n continue;\\n }\\n }\\n store(dst + offset, ch);\\n offset += 2;\\n }\\n\\n assert(offset <= (len << 1));\\n // shink output string buffer if necessary\\n if ((len << 1) > offset) {\\n dst = __renew(dst, offset);\\n }\\n return dst;\\n}\\n\\nfunction storeHex(dst: usize, offset: usize, ch: u32): void {\\n // @ts-ignore: decorator\\n const HEX_CHARS = memory.data([\\n 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\\n 0x38, 0x39, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46\\n ]);\\n\\n store(dst + offset, CharCode.PERCENT, 0); // %\\n store(\\n dst + offset,\\n load(HEX_CHARS + (ch >> 4 & 0x0F)) |\\n load(HEX_CHARS + (ch & 0x0F)) << 16,\\n 2\\n ); // XX\\n}\\n\\nfunction loadHex(src: usize, offset: usize): u32 {\\n let c0 = load(src + offset, 0);\\n let c1 = load(src + offset, 2);\\n return isHex(c0) && isHex(c1)\\n ? fromHex(c0) << 4 | fromHex(c1)\\n : -1;\\n}\\n\\n// @ts-ignore: decorator\\n@inline function fromHex(ch: u32): u32 {\\n return (ch | 32) % 39 - 9;\\n}\\n\\n// @ts-ignore: decorator\\n@inline function utf8LenFromUpperByte(c0: u32): u32 {\\n // same as\\n // if (c0 - 0xC0 <= 0xDF - 0xC0) return 2;\\n // if (c0 - 0xE0 <= 0xEF - 0xE0) return 3;\\n // if (c0 - 0xF0 <= 0xF7 - 0xF0) return 4;\\n // return 0;\\n return c0 - 0xC0 < 56\\n ? clz(~(c0 << 24))\\n : 0;\\n}\\n\\n// @ts-ignore: decorator\\n@inline function isReserved(ch: u32): bool {\\n return ch - 35 < 30\\n ? load(URI_RESERVED + (ch - 35))\\n : false;\\n}\\n\\n// @ts-ignore: decorator\\n@inline function isHex(ch: u32): bool {\\n return (ch - CharCode._0 < 10) || ((ch | 32) - CharCode.a < 6);\\n}\\n\",\n \"vector\": \"/** Vector abstraction. */\\n@final @unmanaged\\nexport abstract class V128 {\\n}\\n\"\n};\nexport const definitionFiles = {\n \"assembly\": \"/**\\n * Environment definitions for compiling AssemblyScript to WebAssembly using asc.\\n * @module std/assembly\\n *//***/\\n\\n/// \\n\\n// Types\\n\\n/** An 8-bit signed integer. */\\ndeclare type i8 = number;\\n/** A 16-bit signed integer. */\\ndeclare type i16 = number;\\n/** A 32-bit signed integer. */\\ndeclare type i32 = number;\\n/** A 64-bit signed integer. */\\ndeclare type i64 = number;\\n/** A 32-bit signed integer when targeting 32-bit WebAssembly or a 64-bit signed integer when targeting 64-bit WebAssembly. */\\ndeclare type isize = number;\\n/** An 8-bit unsigned integer. */\\ndeclare type u8 = number;\\n/** A 16-bit unsigned integer. */\\ndeclare type u16 = number;\\n/** A 32-bit unsigned integer. */\\ndeclare type u32 = number;\\n/** A 64-bit unsigned integer. */\\ndeclare type u64 = number;\\n/** A 32-bit unsigned integer when targeting 32-bit WebAssembly or a 64-bit unsigned integer when targeting 64-bit WebAssembly. */\\ndeclare type usize = number;\\n/** A 1-bit unsigned integer. */\\ndeclare type bool = boolean | number;\\n/** A 32-bit float. */\\ndeclare type f32 = number;\\n/** A 64-bit float. */\\ndeclare type f64 = number;\\n/** A 128-bit vector. */\\ndeclare type v128 = object;\\n/** Non-nullable function reference. */\\ndeclare type ref_func = object;\\n/** Canonical nullable function reference. */\\ndeclare type funcref = ref_func | null;\\n/** Non-nullable external reference. */\\ndeclare type ref_extern = object;\\n/** Canonical nullable external reference. */\\ndeclare type externref = ref_extern | null;\\n/** Non-nullable any reference. */\\ndeclare type ref_any = object;\\n/** Canonical nullable any reference. */\\ndeclare type anyref = ref_any | null;\\n/** Non-nullable equatable reference. */\\ndeclare type ref_eq = object;\\n/** Canonical nullable equatable reference. */\\ndeclare type eqref = ref_eq | null;\\n/** Non-nullable struct reference. */\\ndeclare type ref_struct = object;\\n/** Canonical nullable struct reference. */\\ndeclare type structref = ref_struct | null;\\n/** Non-nullable array reference. */\\ndeclare type ref_array = object;\\n/** Canonical nullable array reference. */\\ndeclare type arrayref = ref_array | null;\\n/** Non-nullable 31-bit integer reference. */\\ndeclare type ref_i31 = object;\\n/** Canonical nullable 31-bit integer reference. */\\ndeclare type i31ref = ref_i31 | null;\\n/** Non-nullable string reference. */\\ndeclare type ref_string = object;\\n/** Canonical nullable string reference. */\\ndeclare type stringref = ref_string | null;\\n/** Non-nullable WTF-8 string view. */\\ndeclare type ref_stringview_wtf8 = object;\\n/** Canonical nullable WTF-8 string view. */\\ndeclare type stringview_wtf8 = ref_stringview_wtf8 | null;\\n/** Non-nullable WTF-16 string view. */\\ndeclare type ref_stringview_wtf16 = object;\\n/** Canonical nullable WTF-16 string view. */\\ndeclare type stringview_wtf16 = ref_stringview_wtf16 | null;\\n/** Non-nullable string iterator. */\\ndeclare type ref_stringview_iter = object;\\n/** Canonical nullable string iterator. */\\ndeclare type stringview_iter = ref_stringview_iter | null;\\n\\n// Compiler hints\\n\\n/** Compiler target. 0 = JS, 1 = WASM32, 2 = WASM64. */\\ndeclare const ASC_TARGET: i32;\\n/** Runtime type. 0 = Stub, 1 = Minimal, 2 = Incremental. */\\ndeclare const ASC_RUNTIME: i32;\\n/** Provided noAssert option. */\\ndeclare const ASC_NO_ASSERT: bool;\\n/** Provided memoryBase option. */\\ndeclare const ASC_MEMORY_BASE: i32;\\n/** Provided tableBase option. */\\ndeclare const ASC_TABLE_BASE: i32;\\n/** Provided optimizeLevel option. */\\ndeclare const ASC_OPTIMIZE_LEVEL: i32;\\n/** Provided shrinkLevel option. */\\ndeclare const ASC_SHRINK_LEVEL: i32;\\n/** Provided lowMemoryLimit option. */\\ndeclare const ASC_LOW_MEMORY_LIMIT: i32;\\n/** Provided noExportRuntime option. */\\ndeclare const ASC_NO_EXPORT_RUNTIME: i32;\\n/** Whether the sign extension feature is enabled. */\\ndeclare const ASC_FEATURE_SIGN_EXTENSION: bool;\\n/** Whether the mutable globals feature is enabled. */\\ndeclare const ASC_FEATURE_MUTABLE_GLOBALS: bool;\\n/** Whether the non-trapping float-to-int feature is enabled. */\\ndeclare const ASC_FEATURE_NONTRAPPING_F2I: bool;\\n/** Whether the bulk memory feature is enabled. */\\ndeclare const ASC_FEATURE_BULK_MEMORY: bool;\\n/** Whether the SIMD feature is enabled. */\\ndeclare const ASC_FEATURE_SIMD: bool;\\n/** Whether the threads feature is enabled. */\\ndeclare const ASC_FEATURE_THREADS: bool;\\n/** Whether the exception handling feature is enabled. */\\ndeclare const ASC_FEATURE_EXCEPTION_HANDLING: bool;\\n/** Whether the tail calls feature is enabled. */\\ndeclare const ASC_FEATURE_TAIL_CALLS: bool;\\n/** Whether the reference types feature is enabled. */\\ndeclare const ASC_FEATURE_REFERENCE_TYPES: bool;\\n/** Whether the multi value types feature is enabled. */\\ndeclare const ASC_FEATURE_MULTI_VALUE: bool;\\n/** Whether the garbage collection feature is enabled. */\\ndeclare const ASC_FEATURE_GC: bool;\\n/** Whether the memory64 feature is enabled. */\\ndeclare const ASC_FEATURE_MEMORY64: bool;\\n/** Whether the relaxed SIMD feature is enabled. */\\ndeclare const ASC_FEATURE_RELAXED_SIMD: bool;\\n/** Whether the extended const expression feature is enabled. */\\ndeclare const ASC_FEATURE_EXTENDED_CONST: bool;\\n/** Whether the string references feature is enabled. */\\ndeclare const ASC_FEATURE_STRINGREF: bool;\\n/** Major version of the compiler. */\\ndeclare const ASC_VERSION_MAJOR: i32;\\n/** Minor version of the compiler. */\\ndeclare const ASC_VERSION_MINOR: i32;\\n/** Patch version of the compiler. */\\ndeclare const ASC_VERSION_PATCH: i32;\\n\\n// Builtins\\n\\n/** Performs the sign-agnostic reverse bytes **/\\ndeclare function bswap(value: T): T;\\n/** Performs the sign-agnostic count leading zero bits operation on a 32-bit or 64-bit integer. All zero bits are considered leading if the value is zero. */\\ndeclare function clz(value: T): T;\\n/** Performs the sign-agnostic count tailing zero bits operation on a 32-bit or 64-bit integer. All zero bits are considered trailing if the value is zero. */\\ndeclare function ctz(value: T): T;\\n/** Performs the sign-agnostic count number of one bits operation on a 32-bit or 64-bit integer. */\\ndeclare function popcnt(value: T): T;\\n/** Performs the sign-agnostic rotate left operation on a 32-bit or 64-bit integer. */\\ndeclare function rotl(value: T, shift: T): T;\\n/** Performs the sign-agnostic rotate right operation on a 32-bit or 64-bit integer. */\\ndeclare function rotr(value: T, shift: T): T;\\n/** Computes the absolute value of an integer or float. */\\ndeclare function abs(value: T): T;\\n/** Determines the maximum of two integers or floats. If either operand is `NaN`, returns `NaN`. */\\ndeclare function max(left: T, right: T): T;\\n/** Determines the minimum of two integers or floats. If either operand is `NaN`, returns `NaN`. */\\ndeclare function min(left: T, right: T): T;\\n/** Performs the ceiling operation on a 32-bit or 64-bit float. */\\ndeclare function ceil(value: T): T;\\n/** Composes a 32-bit or 64-bit float from the magnitude of `x` and the sign of `y`. */\\ndeclare function copysign(x: T, y: T): T;\\n/** Performs the floor operation on a 32-bit or 64-bit float. */\\ndeclare function floor(value: T): T;\\n/** Rounds to the nearest integer tied to even of a 32-bit or 64-bit float. */\\ndeclare function nearest(value: T): T;\\n/** Reinterprets the bits of the specified value as type `T`. Valid reinterpretations are u32/i32 to/from f32 and u64/i64 to/from f64. */\\ndeclare function reinterpret(value: number): T;\\n/** Selects one of two pre-evaluated values depending on the condition. */\\ndeclare function select(ifTrue: T, ifFalse: T, condition: bool): T;\\n/** Calculates the square root of a 32-bit or 64-bit float. */\\ndeclare function sqrt(value: T): T;\\n/** Rounds to the nearest integer towards zero of a 32-bit or 64-bit float. */\\ndeclare function trunc(value: T): T;\\n/** Computes the sum of two integers or floats. */\\ndeclare function add(left: T, right: T): T;\\n/** Computes the difference of two integers or floats. */\\ndeclare function sub(left: T, right: T): T;\\n/** Computes the product of two integers or floats. */\\ndeclare function mul(left: T, right: T): T;\\n/** Computes the quotient of two integers or floats. */\\ndeclare function div(left: T, right: T): T;\\n/** Return 1 if two numbers are equal to each other, 0 otherwise. */\\ndeclare function eq(left: T, right: T): i32;\\n/** Return 0 if two numbers are equal to each other, 1 otherwise. */\\ndeclare function ne(left: T, right: T): i32;\\n/** Computes the remainder of two integers. */\\ndeclare function rem(left: T, right: T): T;\\n/** Loads a value of the specified type from memory. Equivalent to dereferncing a pointer in other languages. */\\ndeclare function load(ptr: usize, immOffset?: usize, immAlign?: usize): T;\\n/** Stores a value of the specified type to memory. Equivalent to dereferencing a pointer in other languages when assigning a value. */\\ndeclare function store(ptr: usize, value: T, immOffset?: usize, immAlign?: usize): void;\\n/** Emits an unreachable operation that results in a runtime error when executed. Both a statement and an expression. */\\ndeclare function unreachable(): never;\\n\\n/** NaN (not a number) as a 32-bit or 64-bit float depending on context. */\\ndeclare const NaN: f32 | f64;\\n/** Positive infinity as a 32-bit or 64-bit float depending on context. */\\ndeclare const Infinity: f32 | f64;\\n/** Data end offset. */\\ndeclare const __data_end: usize;\\n/** Stack pointer offset. */\\ndeclare let __stack_pointer: usize;\\n/** Heap base offset. */\\ndeclare const __heap_base: usize;\\n/** Determines the byte size of the specified underlying core type. Compiles to a constant. */\\ndeclare function sizeof(): usize;\\n/** Determines the alignment (log2) of the specified underlying core type. Compiles to a constant. */\\ndeclare function alignof(): usize;\\n/** Determines the end offset of the given class type. Compiles to a constant. */\\ndeclare function offsetof(): usize;\\n/** Determines the offset of the specified field within the given class type. Compiles to a constant. */\\ndeclare function offsetof(fieldName: keyof T | string): usize;\\n/** Determines the offset of the specified field within the given class type. Returns the class type's end offset if field name has been omitted. Compiles to a constant. */\\ndeclare function offsetof(fieldName?: string): usize;\\n/** Determines the name of a given type. */\\ndeclare function nameof(value?: T): string;\\n/** Determines the unique runtime id of a class type. Compiles to a constant. */\\ndeclare function idof(): u32;\\n/** Changes the type of any value of `usize` kind to another one of `usize` kind. Useful for casting class instances to their pointer values and vice-versa. Beware that this is unsafe.*/\\ndeclare function changetype(value: any): T;\\n/** Explicitly requests no bounds checks on the provided expression. Useful for array accesses. */\\ndeclare function unchecked(value: T): T;\\n/** Emits a `call_indirect` instruction, calling the specified function in the function table by index with the specified arguments. Does result in a runtime error if the arguments do not match the called function. */\\ndeclare function call_indirect(index: u32, ...args: unknown[]): T;\\n/** Instantiates a new instance of `T` using the specified constructor arguments. */\\ndeclare function instantiate(...args: any[]): T;\\n/** Tests if a 32-bit or 64-bit float is `NaN`. */\\ndeclare function isNaN(value: T): bool;\\n/** Tests if a 32-bit or 64-bit float is finite, that is not `NaN` or +/-`Infinity`. */\\ndeclare function isFinite(value: T): bool;\\n/** Tests if the specified type *or* expression is of a boolean type. */\\ndeclare function isBoolean(value?: any): value is number;\\n/** Tests if the specified type *or* expression is of an integer type and not a reference. Compiles to a constant. */\\ndeclare function isInteger(value?: any): value is number;\\n/** Tests if the specified type *or* expression can represent negative numbers. Compiles to a constant. */\\ndeclare function isSigned(value?: any): value is number;\\n/** Tests if the specified type *or* expression is of a float type. Compiles to a constant. */\\ndeclare function isFloat(value?: any): value is number;\\n/** Tests if the specified type *or* expression is of a v128 type. Compiles to a constant. */\\ndeclare function isVector(value?: any): value is v128;\\n/** Tests if the specified type *or* expression is of a reference type. Compiles to a constant. */\\ndeclare function isReference(value?: any): value is object | string;\\n/** Tests if the specified type *or* expression can be used as a string. Compiles to a constant. */\\ndeclare function isString(value?: any): value is string | String;\\n/** Tests if the specified type *or* expression can be used as an array. Compiles to a constant. */\\ndeclare function isArray(value?: any): value is Array;\\n/** Tests if the specified type *or* expression can be used as an array like object. Compiles to a constant. */\\ndeclare function isArrayLike(value?: any): value is ArrayLike;\\n/** Tests if the specified type *or* expression is of a function type. Compiles to a constant. */\\ndeclare function isFunction(value?: any): value is (...args: any) => any;\\n/** Tests if the specified type *or* expression is of a nullable reference type. Compiles to a constant. */\\ndeclare function isNullable(value?: any): bool;\\n/** Tests if the specified expression resolves to a defined element. Compiles to a constant. */\\ndeclare function isDefined(expression: any): bool;\\n/** Tests if the specified expression evaluates to a constant value. Compiles to a constant. */\\ndeclare function isConstant(expression: any): bool;\\n/** Tests if the specified type *or* expression is of a managed type. Compiles to a constant. */\\ndeclare function isManaged(value?: any): bool;\\n/** Tests if the specified type is void. Compiles to a constant. */\\ndeclare function isVoid(): bool;\\n/** Traps if the specified value is not true-ish, otherwise returns the (non-nullable) value. */\\ndeclare function assert(isTrueish: T, message?: string): T & (object | string | number); // any better way to model `: T != null`?\\n/** Parses an integer string to a 64-bit float. */\\ndeclare function parseInt(str: string, radix?: i32): f64;\\n/** Parses a string to a 64-bit float. */\\ndeclare function parseFloat(str: string): f64;\\n/** Returns the 64-bit floating-point remainder of `x/y`. */\\ndeclare function fmod(x: f64, y: f64): f64;\\n/** Returns the 32-bit floating-point remainder of `x/y`. */\\ndeclare function fmodf(x: f32, y: f32): f32;\\n/** Returns the number of parameters in the given function signature type. */\\ndeclare function lengthof any>(func?: T): i32;\\n/** Encodes a text string as a valid Uniform Resource Identifier (URI). */\\ndeclare function encodeURI(str: string): string;\\n/** Encodes a text string as a valid component of a Uniform Resource Identifier (URI). */\\ndeclare function encodeURIComponent(str: string): string;\\n/** Decodes a Uniform Resource Identifier (URI) previously created by encodeURI. */\\ndeclare function decodeURI(str: string): string;\\n/** Decodes a Uniform Resource Identifier (URI) component previously created by encodeURIComponent. */\\ndeclare function decodeURIComponent(str: string): string;\\n\\n/** Atomic operations. */\\ndeclare namespace atomic {\\n /** Atomically loads an integer value from memory and returns it. */\\n export function load(ptr: usize, immOffset?: usize): T;\\n /** Atomically stores an integer value to memory. */\\n export function store(ptr: usize, value: T, immOffset?: usize): void;\\n /** Atomically adds an integer value in memory. */\\n export function add(ptr: usize, value: T, immOffset?: usize): T;\\n /** Atomically subtracts an integer value in memory. */\\n export function sub(ptr: usize, value: T, immOffset?: usize): T;\\n /** Atomically performs a bitwise AND operation on an integer value in memory. */\\n export function and(ptr: usize, value: T, immOffset?: usize): T;\\n /** Atomically performs a bitwise OR operation on an integer value in memory. */\\n export function or(ptr: usize, value: T, immOffset?: usize): T;\\n /** Atomically performs a bitwise XOR operation on an integer value in memory. */\\n export function xor(ptr: usize, value: T, immOffset?: usize): T;\\n /** Atomically exchanges an integer value in memory. */\\n export function xchg(ptr: usize, value: T, immOffset?: usize): T;\\n /** Atomically compares and exchanges an integer value in memory if the condition is met. */\\n export function cmpxchg(ptr: usize, expected: T, replacement: T, immOffset?: usize): T;\\n /** Performs a wait operation on an address in memory suspending this agent if the integer condition is met. */\\n export function wait(ptr: usize, expected: T, timeout?: i64): AtomicWaitResult;\\n /** Performs a notify operation on an address in memory waking up suspended agents. */\\n export function notify(ptr: usize, count?: i32): i32;\\n /** Performs a fence operation, preserving synchronization guarantees of higher level languages. */\\n export function fence(): void;\\n}\\n\\n/** Describes the result of an atomic wait operation. */\\ndeclare enum AtomicWaitResult {\\n /** Woken by another agent. */\\n OK,\\n /** Loaded value did not match the expected value. */\\n NOT_EQUAL,\\n /** Not woken before the timeout expired. */\\n TIMED_OUT\\n}\\n\\n/** Converts any other numeric value to an 8-bit signed integer. */\\ndeclare function i8(value: any): i8;\\ndeclare namespace i8 {\\n /** Smallest representable value. */\\n export const MIN_VALUE: i8;\\n /** Largest representable value. */\\n export const MAX_VALUE: i8;\\n /** Parses a string as an i8. */\\n export function parse(value: string, radix?: i32): i8;\\n}\\n/** Converts any other numeric value to a 16-bit signed integer. */\\ndeclare function i16(value: any): i16;\\ndeclare namespace i16 {\\n /** Smallest representable value. */\\n export const MIN_VALUE: i16;\\n /** Largest representable value. */\\n export const MAX_VALUE: i16;\\n /** Parses a string as an i16. */\\n export function parse(value: string, radix?: i32): i16;\\n}\\n/** Converts any other numeric value to a 32-bit signed integer. */\\ndeclare function i32(value: any): i32;\\ndeclare namespace i32 {\\n /** Smallest representable value. */\\n export const MIN_VALUE: i32;\\n /** Largest representable value. */\\n export const MAX_VALUE: i32;\\n /** Parses a string as an i32. */\\n export function parse(value: string, radix?: i32): i32;\\n /** Loads an 8-bit signed integer value from memory and returns it as a 32-bit integer. */\\n export function load8_s(ptr: usize, immOffset?: usize, immAlign?: usize): i32;\\n /** Loads an 8-bit unsigned integer value from memory and returns it as a 32-bit integer. */\\n export function load8_u(ptr: usize, immOffset?: usize, immAlign?: usize): i32;\\n /** Loads a 16-bit signed integer value from memory and returns it as a 32-bit integer. */\\n export function load16_s(ptr: usize, immOffset?: usize, immAlign?: usize): i32;\\n /** Loads a 16-bit unsigned integer value from memory and returns it as a 32-bit integer. */\\n export function load16_u(ptr: usize, immOffset?: usize, immAlign?: usize): i32;\\n /** Loads a 32-bit integer value from memory. */\\n export function load(ptr: usize, immOffset?: usize, immAlign?: usize): i32;\\n /** Stores a 32-bit integer value to memory as an 8-bit integer. */\\n export function store8(ptr: usize, value: i32, immOffset?: usize, immAlign?: usize): void;\\n /** Stores a 32-bit integer value to memory as a 16-bit integer. */\\n export function store16(ptr: usize, value: i32, immOffset?: usize, immAlign?: usize): void;\\n /** Stores a 32-bit integer value to memory. */\\n export function store(ptr: usize, value: i32, immOffset?: usize, immAlign?: usize): void;\\n /** Performs the sign-agnostic count leading zero bits operation on a 32-bit integer. All zero bits are considered leading if the value is zero. */\\n export function clz(value: i32): i32;\\n /** Performs the sign-agnostic count tailing zero bits operation on a 32-bit integer. All zero bits are considered trailing if the value is zero. */\\n export function ctz(value: i32): i32;\\n /** Performs the sign-agnostic count number of one bits operation on a 32-bit integer. */\\n export function popcnt(value: i32): i32;\\n /** Performs the sign-agnostic rotate left operation on a 32-bit integer. */\\n export function rotl(value: i32, shift: i32): i32;\\n /** Performs the sign-agnostic rotate right operation on a 32-bit integer. */\\n export function rotr(value: i32, shift: i32): i32;\\n /** Reinterprets the bits of the specified 32-bit float as a 32-bit integer. */\\n export function reinterpret_f32(value: f32): i32;\\n /** Computes the sum of two 32-bit integers. */\\n export function add(left: i32, right: i32): i32;\\n /** Computes the difference of two 32-bit integers. */\\n export function sub(left: i32, right: i32): i32;\\n /** Computes the product of two 32-bit integers. */\\n export function mul(left: i32, right: i32): i32;\\n /** Computes the signed quotient of two 32-bit integers. */\\n export function div_s(left: i32, right: i32): i32;\\n /** Computes the unsigned quotient of two 32-bit integers. */\\n export function div_u(left: i32, right: i32): i32;\\n /** Return 1 if two 32-bit integers are equal to each other, 0 otherwise. */\\n export function eq(left: i32, right: i32): i32;\\n /** Return 0 if two 32-bit integers are equal to each other, 1 otherwise. */\\n export function ne(left: i32, right: i32): i32;\\n /** Computes the signed remainder of two 32-bit integers. */\\n export function rem_s(left: i32, right: i32): i32;\\n /** Computes the unsigned remainder of two 32-bit integers. */\\n export function rem_u(left: u32, right: u32): u32;\\n\\n /** Atomic 32-bit integer operations. */\\n export namespace atomic {\\n /** Atomically loads an 8-bit unsigned integer value from memory and returns it as a 32-bit integer. */\\n export function load8_u(ptr: usize, immOffset?: usize): i32;\\n /** Atomically loads a 16-bit unsigned integer value from memory and returns it as a 32-bit integer. */\\n export function load16_u(ptr: usize, immOffset?: usize): i32;\\n /** Atomically loads a 32-bit integer value from memory and returns it. */\\n export function load(ptr: usize, immOffset?: usize): i32;\\n /** Atomically stores a 32-bit integer value to memory as an 8-bit integer. */\\n export function store8(ptr: usize, value: i32, immOffset?: usize): void;\\n /** Atomically stores a 32-bit integer value to memory as a 16-bit integer. */\\n export function store16(ptr: usize, value: i32, immOffset?: usize): void;\\n /** Atomically stores a 32-bit integer value to memory. */\\n export function store(ptr: usize, value: i32, immOffset?: usize): void;\\n /** Atomic 32-bit integer read-modify-write operations on 8-bit values. */\\n export namespace rmw8 {\\n /** Atomically adds an 8-bit unsigned integer value in memory. */\\n export function add_u(ptr: usize, value: i32, immOffset?: usize): i32;\\n /** Atomically subtracts an 8-bit unsigned integer value in memory. */\\n export function sub_u(ptr: usize, value: i32, immOffset?: usize): i32;\\n /** Atomically performs a bitwise AND operation an 8-bit unsigned integer value in memory. */\\n export function and_u(ptr: usize, value: i32, immOffset?: usize): i32;\\n /** Atomically performs a bitwise OR operation an 8-bit unsigned integer value in memory. */\\n export function or_u(ptr: usize, value: i32, immOffset?: usize): i32;\\n /** Atomically performs a bitwise XOR operation an 8-bit unsigned integer value in memory. */\\n export function xor_u(ptr: usize, value: i32, immOffset?: usize): i32;\\n /** Atomically exchanges an 8-bit unsigned integer value in memory. */\\n export function xchg_u(ptr: usize, value: i32, immOffset?: usize): i32;\\n /** Atomically compares and exchanges an 8-bit unsigned integer value in memory if the condition is met. */\\n export function cmpxchg_u(ptr: usize, expected: i32, replacement: i32, immOffset?: usize): i32;\\n }\\n /** Atomic 32-bit integer read-modify-write operations on 16-bit values. */\\n export namespace rmw16 {\\n /** Atomically adds a 16-bit unsigned integer value in memory. */\\n export function add_u(ptr: usize, value: i32, immOffset?: usize): i32;\\n /** Atomically adds a 16-bit unsigned integer value in memory. */\\n export function sub_u(ptr: usize, value: i32, immOffset?: usize): i32;\\n /** Atomically performs a bitwise AND operation a 16-bit unsigned integer value in memory. */\\n export function and_u(ptr: usize, value: i32, immOffset?: usize): i32;\\n /** Atomically performs a bitwise OR operation a 16-bit unsigned integer value in memory. */\\n export function or_u(ptr: usize, value: i32, immOffset?: usize): i32;\\n /** Atomically performs a bitwise XOR operation a 16-bit unsigned integer value in memory. */\\n export function xor_u(ptr: usize, value: i32, immOffset?: usize): i32;\\n /** Atomically exchanges a 16-bit unsigned integer value in memory. */\\n export function xchg_u(ptr: usize, value: i32, immOffset?: usize): i32;\\n /** Atomically compares and exchanges a 16-bit unsigned integer value in memory if the condition is met. */\\n export function cmpxchg_u(ptr: usize, expected: i32, replacement: i32, immOffset?: usize): i32;\\n }\\n /** Atomic 32-bit integer read-modify-write operations. */\\n export namespace rmw {\\n /** Atomically adds a 32-bit integer value in memory. */\\n export function add(ptr: usize, value: i32, immOffset?: usize): i32;\\n /** Atomically subtracts a 32-bit integer value in memory. */\\n export function sub(ptr: usize, value: i32, immOffset?: usize): i32;\\n /** Atomically performs a bitwise AND operation a 32-bit integer value in memory. */\\n export function and(ptr: usize, value: i32, immOffset?: usize): i32;\\n /** Atomically performs a bitwise OR operation a 32-bit integer value in memory. */\\n export function or(ptr: usize, value: i32, immOffset?: usize): i32;\\n /** Atomically performs a bitwise XOR operation a 32-bit integer value in memory. */\\n export function xor(ptr: usize, value: i32, immOffset?: usize): i32;\\n /** Atomically exchanges a 32-bit integer value in memory. */\\n export function xchg(ptr: usize, value: i32, immOffset?: usize): i32;\\n /** Atomically compares and exchanges a 32-bit integer value in memory if the condition is met. */\\n export function cmpxchg(ptr: usize, expected: i32, replacement: i32, immOffset?: usize): i32;\\n }\\n }\\n}\\n/** Converts any other numeric value to a 64-bit signed integer. */\\ndeclare function i64(value: any): i64;\\ndeclare namespace i64 {\\n /** Smallest representable value. */\\n export const MIN_VALUE: i64;\\n /** Largest representable value. */\\n export const MAX_VALUE: i64;\\n /** Parses a string as an i64. */\\n export function parse(value: string, radix?: i32): i64;\\n /** Loads an 8-bit signed integer value from memory and returns it as a 64-bit integer. */\\n export function load8_s(ptr: usize, immOffset?: usize, immAlign?: usize): i64;\\n /** Loads an 8-bit unsigned integer value from memory and returns it as a 64-bit integer. */\\n export function load8_u(ptr: usize, immOffset?: usize, immAlign?: usize): i64;\\n /** Loads a 16-bit signed integer value from memory and returns it as a 64-bit integer. */\\n export function load16_s(ptr: usize, immOffset?: usize, immAlign?: usize): i64;\\n /** Loads a 16-bit unsigned integer value from memory and returns it as a 64-bit integer. */\\n export function load16_u(ptr: usize, immOffset?: usize, immAlign?: usize): i64;\\n /** Loads a 32-bit signed integer value from memory and returns it as a 64-bit integer. */\\n export function load32_s(ptr: usize, immOffset?: usize, immAlign?: usize): i64;\\n /** Loads a 32-bit unsigned integer value from memory and returns it as a 64-bit integer. */\\n export function load32_u(ptr: usize, immOffset?: usize, immAlign?: usize): i64;\\n /** Loads a 64-bit unsigned integer value from memory. */\\n export function load(ptr: usize, immOffset?: usize, immAlign?: usize): i64;\\n /** Stores a 64-bit integer value to memory as an 8-bit integer. */\\n export function store8(ptr: usize, value: i64, immOffset?: usize, immAlign?: usize): void;\\n /** Stores a 64-bit integer value to memory as a 16-bit integer. */\\n export function store16(ptr: usize, value: i64, immOffset?: usize, immAlign?: usize): void;\\n /** Stores a 64-bit integer value to memory as a 32-bit integer. */\\n export function store32(ptr: usize, value: i64, immOffset?: usize, immAlign?: usize): void;\\n /** Stores a 64-bit integer value to memory. */\\n export function store(ptr: usize, value: i64, immOffset?: usize, immAlign?: usize): void;\\n /** Performs the sign-agnostic count leading zero bits operation on a 64-bit integer. All zero bits are considered leading if the value is zero. */\\n export function clz(value: i64): i64;\\n /** Performs the sign-agnostic count tailing zero bits operation on a 64-bit integer. All zero bits are considered trailing if the value is zero. */\\n export function ctz(value: i64): i64;\\n /** Performs the sign-agnostic count number of one bits operation on a 64-bit integer. */\\n export function popcnt(value: i64): i64;\\n /** Performs the sign-agnostic rotate left operation on a 64-bit integer. */\\n export function rotl(value: i64, shift: i64): i64;\\n /** Performs the sign-agnostic rotate right operation on a 64-bit integer. */\\n export function rotr(value: i64, shift: i64): i64;\\n /** Reinterprets the bits of the specified 64-bit float as a 64-bit integer. */\\n export function reinterpret_f64(value: f64): i64;\\n /** Computes the sum of two 64-bit integers. */\\n export function add(left: i64, right: i64): i64;\\n /** Computes the difference of two 64-bit integers. */\\n export function sub(left: i64, right: i64): i64;\\n /** Computes the product of two 64-bit integers. */\\n export function mul(left: i64, right: i64): i64;\\n /** Computes the signed quotient of two 64-bit integers. */\\n export function div_s(left: i64, right: i64): i64;\\n /** Computes the unsigned quotient of two 64-bit integers. */\\n export function div_u(left: i64, right: i64): i64;\\n /** Return 1 if two 64-bit integers are equal to each other, 0 otherwise. */\\n export function eq(left: i64, right: i64): i32;\\n /** Return 0 if two 64-bit integers are equal to each other, 1 otherwise. */\\n export function ne(left: i64, right: i64): i32;\\n /** Computes the signed remainder of two 64-bit integers. */\\n export function rem_s(left: i64, right: i64): i64;\\n /** Computes the unsigned remainder of two 64-bit integers. */\\n export function rem_u(left: u64, right: u64): u64;\\n\\n /** Atomic 64-bit integer operations. */\\n export namespace atomic {\\n /** Atomically loads an 8-bit unsigned integer value from memory and returns it as a 64-bit integer. */\\n export function load8_u(ptr: usize, immOffset?: usize): i64;\\n /** Atomically loads a 16-bit unsigned integer value from memory and returns it as a 64-bit integer. */\\n export function load16_u(ptr: usize, immOffset?: usize): i64;\\n /** Atomically loads a 32-bit unsigned integer value from memory and returns it as a 64-bit integer. */\\n export function load32_u(ptr: usize, immOffset?: usize): i64;\\n /** Atomically loads a 64-bit integer value from memory and returns it. */\\n export function load(ptr: usize, immOffset?: usize): i64;\\n /** Atomically stores a 64-bit integer value to memory as an 8-bit integer. */\\n export function store8(ptr: usize, value: i64, immOffset?: usize): void;\\n /** Atomically stores a 64-bit integer value to memory as a 16-bit integer. */\\n export function store16(ptr: usize, value: i64, immOffset?: usize): void;\\n /** Atomically stores a 64-bit integer value to memory as a 32-bit integer. */\\n export function store32(ptr: usize, value: i64, immOffset?: usize): void;\\n /** Atomically stores a 64-bit integer value to memory. */\\n export function store(ptr: usize, value: i64, immOffset?: usize): void;\\n /** Atomic 64-bit integer read-modify-write operations on 8-bit values. */\\n export namespace rmw8 {\\n /** Atomically adds an 8-bit unsigned integer value in memory. */\\n export function add_u(ptr: usize, value: i64, immOffset?: usize): i64;\\n /** Atomically subtracts an 8-bit unsigned integer value in memory. */\\n export function sub_u(ptr: usize, value: i64, immOffset?: usize): i64;\\n /** Atomically performs a bitwise AND operation on an 8-bit unsigned integer value in memory. */\\n export function and_u(ptr: usize, value: i64, immOffset?: usize): i64;\\n /** Atomically performs a bitwise OR operation on an 8-bit unsigned integer value in memory. */\\n export function or_u(ptr: usize, value: i64, immOffset?: usize): i64;\\n /** Atomically performs a bitwise XOR operation on an 8-bit unsigned integer value in memory. */\\n export function xor_u(ptr: usize, value: i64, immOffset?: usize): i64;\\n /** Atomically exchanges an 8-bit unsigned integer value in memory. */\\n export function xchg_u(ptr: usize, value: i64, immOffset?: usize): i64;\\n /** Atomically compares and exchanges an 8-bit unsigned integer value in memory if the condition is met. */\\n export function cmpxchg_u(ptr: usize, expected: i64, replacement: i64, immOffset?: usize): i64;\\n }\\n /** Atomic 64-bit integer read-modify-write operations on 16-bit values. */\\n export namespace rmw16 {\\n /** Atomically adds a 16-bit unsigned integer value in memory. */\\n export function add_u(ptr: usize, value: i64, immOffset?: usize): i64;\\n /** Atomically subtracts a 16-bit unsigned integer value in memory. */\\n export function sub_u(ptr: usize, value: i64, immOffset?: usize): i64;\\n /** Atomically performs a bitwise AND operation on a 16-bit unsigned integer value in memory. */\\n export function and_u(ptr: usize, value: i64, immOffset?: usize): i64;\\n /** Atomically performs a bitwise OR operation on a 16-bit unsigned integer value in memory. */\\n export function or_u(ptr: usize, value: i64, immOffset?: usize): i64;\\n /** Atomically performs a bitwise XOR operation on a 16-bit unsigned integer value in memory. */\\n export function xor_u(ptr: usize, value: i64, immOffset?: usize): i64;\\n /** Atomically exchanges a 16-bit unsigned integer value in memory. */\\n export function xchg_u(ptr: usize, value: i64, immOffset?: usize): i64;\\n /** Atomically compares and exchanges a 16-bit unsigned integer value in memory if the condition is met. */\\n export function cmpxchg_u(ptr: usize, expected: i64, replacement: i64, immOffset?: usize): i64;\\n }\\n /** Atomic 64-bit integer read-modify-write operations on 32-bit values. */\\n export namespace rmw32 {\\n /** Atomically adds a 32-bit unsigned integer value in memory. */\\n export function add_u(ptr: usize, value: i64, immOffset?: usize): i64;\\n /** Atomically subtracts a 32-bit unsigned integer value in memory. */\\n export function sub_u(ptr: usize, value: i64, immOffset?: usize): i64;\\n /** Atomically performs a bitwise AND operation on a 32-bit unsigned integer value in memory. */\\n export function and_u(ptr: usize, value: i64, immOffset?: usize): i64;\\n /** Atomically performs a bitwise OR operation on a 32-bit unsigned integer value in memory. */\\n export function or_u(ptr: usize, value: i64, immOffset?: usize): i64;\\n /** Atomically performs a bitwise XOR operation on a 32-bit unsigned integer value in memory. */\\n export function xor_u(ptr: usize, value: i64, immOffset?: usize): i64;\\n /** Atomically exchanges a 32-bit unsigned integer value in memory. */\\n export function xchg_u(ptr: usize, value: i64, immOffset?: usize): i64;\\n /** Atomically compares and exchanges a 32-bit unsigned integer value in memory if the condition is met. */\\n export function cmpxchg_u(ptr: usize, expected: i64, replacement: i64, immOffset?: usize): i64;\\n }\\n /** Atomic 64-bit integer read-modify-write operations. */\\n export namespace rmw {\\n /** Atomically adds a 64-bit integer value in memory. */\\n export function add(ptr: usize, value: i64, immOffset?: usize): i64;\\n /** Atomically subtracts a 64-bit integer value in memory. */\\n export function sub(ptr: usize, value: i64, immOffset?: usize): i64;\\n /** Atomically performs a bitwise AND operation on a 64-bit integer value in memory. */\\n export function and(ptr: usize, value: i64, immOffset?: usize): i64;\\n /** Atomically performs a bitwise OR operation on a 64-bit integer value in memory. */\\n export function or(ptr: usize, value: i64, immOffset?: usize): i64;\\n /** Atomically performs a bitwise XOR operation on a 64-bit integer value in memory. */\\n export function xor(ptr: usize, value: i64, immOffset?: usize): i64;\\n /** Atomically exchanges a 64-bit integer value in memory. */\\n export function xchg(ptr: usize, value: i64, immOffset?: usize): i64;\\n /** Atomically compares and exchanges a 64-bit integer value in memory if the condition is met. */\\n export function cmpxchg(ptr: usize, expected: i64, replacement: i64, immOffset?: usize): i64;\\n }\\n }\\n}\\n/** Converts any other numeric value to a 32-bit (in WASM32) respectivel 64-bit (in WASM64) signed integer. */\\ndeclare let isize: typeof i32 | typeof i64;\\n/** Converts any other numeric value to an 8-bit unsigned integer. */\\ndeclare function u8(value: any): u8;\\ndeclare namespace u8 {\\n /** Smallest representable value. */\\n export const MIN_VALUE: u8;\\n /** Largest representable value. */\\n export const MAX_VALUE: u8;\\n /** Parses a string as an u8. */\\n export function parse(value: string, radix?: i32): u8;\\n}\\n/** Converts any other numeric value to a 16-bit unsigned integer. */\\ndeclare function u16(value: any): u16;\\ndeclare namespace u16 {\\n /** Smallest representable value. */\\n export const MIN_VALUE: u16;\\n /** Largest representable value. */\\n export const MAX_VALUE: u16;\\n /** Parses a string as an u16. */\\n export function parse(value: string, radix?: i32): u16;\\n}\\n/** Converts any other numeric value to a 32-bit unsigned integer. */\\ndeclare function u32(value: any): u32;\\ndeclare namespace u32 {\\n /** Smallest representable value. */\\n export const MIN_VALUE: u32;\\n /** Largest representable value. */\\n export const MAX_VALUE: u32;\\n /** Parses a string as an u32. */\\n export function parse(value: string, radix?: i32): u32;\\n}\\n/** Converts any other numeric value to a 64-bit unsigned integer. */\\ndeclare function u64(value: any): u64;\\ndeclare namespace u64 {\\n /** Smallest representable value. */\\n export const MIN_VALUE: u64;\\n /** Largest representable value. */\\n export const MAX_VALUE: u64;\\n /** Parses a string as an u64. */\\n export function parse(value: string, radix?: i32): u64;\\n}\\n/** Converts any other numeric value to a 32-bit (in WASM32) respectivel 64-bit (in WASM64) unsigned integer. */\\ndeclare let usize: typeof u32 | typeof u64;\\n/** Converts any other numeric value to a 1-bit unsigned integer. */\\ndeclare function bool(value: any): bool;\\ndeclare namespace bool {\\n /** Smallest representable value. */\\n export const MIN_VALUE: bool;\\n /** Largest representable value. */\\n export const MAX_VALUE: bool;\\n /** Parses a string as a bool. */\\n export function parse(value: string): bool;\\n}\\n/** Converts any other numeric value to a 32-bit float. */\\ndeclare function f32(value: any): f32;\\ndeclare namespace f32 {\\n /** Smallest representable value. */\\n export const MIN_VALUE: f32;\\n /** Largest representable value. */\\n export const MAX_VALUE: f32;\\n /** Smallest normalized positive value. */\\n export const MIN_NORMAL_VALUE: f32;\\n /** Smallest safely representable integer value. */\\n export const MIN_SAFE_INTEGER: f32;\\n /** Largest safely representable integer value. */\\n export const MAX_SAFE_INTEGER: f32;\\n /** Positive infinity value. */\\n export const POSITIVE_INFINITY: f32;\\n /** Negative infinity value. */\\n export const NEGATIVE_INFINITY: f32;\\n /** Not a number value. */\\n export const NaN: f32;\\n /** Difference between 1 and the smallest representable value greater than 1. */\\n export const EPSILON: f32;\\n /** Parses a string as an f32. */\\n export function parse(value: string): f32;\\n /** Loads a 32-bit float from memory. */\\n export function load(ptr: usize, immOffset?: usize, immAlign?: usize): f32;\\n /** Stores a 32-bit float to memory. */\\n export function store(ptr: usize, value: f32, immOffset?: usize, immAlign?: usize): void;\\n /** Computes the sum of two 32-bit floats. */\\n export function add(left: f32, right: f32): f32;\\n /** Computes the difference of two 32-bit floats. */\\n export function sub(left: f32, right: f32): f32;\\n /** Computes the product of two 32-bit floats. */\\n export function mul(left: f32, right: f32): f32;\\n /** Computes the quotient of two 32-bit floats. */\\n export function div(left: f32, right: f32): f32;\\n /** Return 1 two 32-bit floats are equal to each other, 0 otherwise. */\\n export function eq(left: f32, right: f32): i32;\\n /** Return 0 two 32-bit floats are equal to each other, 1 otherwise. */\\n export function ne(left: f32, right: f32): i32;\\n /** Computes the absolute value of a 32-bit float. */\\n export function abs(value: f32): f32;\\n /** Determines the maximum of two 32-bit floats. If either operand is `NaN`, returns `NaN`. */\\n export function max(left: f32, right: f32): f32;\\n /** Determines the minimum of two 32-bit floats. If either operand is `NaN`, returns `NaN`. */\\n export function min(left: f32, right: f32): f32;\\n /** Performs the ceiling operation on a 32-bit float. */\\n export function ceil(value: f32): f32;\\n /** Composes a 32-bit float from the magnitude of `x` and the sign of `y`. */\\n export function copysign(x: f32, y: f32): f32;\\n /** Performs the floor operation on a 32-bit float. */\\n export function floor(value: f32): f32;\\n /** Rounds to the nearest integer tied to even of a 32-bit float. */\\n export function nearest(value: f32): f32;\\n /** Reinterprets the bits of the specified 32-bit integer as a 32-bit float. */\\n export function reinterpret_i32(value: i32): f32;\\n /** Calculates the square root of a 32-bit float. */\\n export function sqrt(value: f32): f32;\\n /** Rounds to the nearest integer towards zero of a 32-bit float. */\\n export function trunc(value: f32): f32;\\n}\\n/** Converts any other numeric value to a 64-bit float. */\\ndeclare function f64(value: any): f64;\\ndeclare namespace f64 {\\n /** Smallest representable value. */\\n export const MIN_VALUE: f64;\\n /** Largest representable value. */\\n export const MAX_VALUE: f64;\\n /** Smallest normalized positive value. */\\n export const MIN_NORMAL_VALUE: f64;\\n /** Smallest safely representable integer value. */\\n export const MIN_SAFE_INTEGER: f64;\\n /** Largest safely representable integer value. */\\n export const MAX_SAFE_INTEGER: f64;\\n /** Positive infinity value. */\\n export const POSITIVE_INFINITY: f64;\\n /** Negative infinity value. */\\n export const NEGATIVE_INFINITY: f64;\\n /** Not a number value. */\\n export const NaN: f64;\\n /** Difference between 1 and the smallest representable value greater than 1. */\\n export const EPSILON: f64;\\n /** Parses a string as an f64. */\\n export function parse(value: string): f64;\\n /** Loads a 64-bit float from memory. */\\n export function load(ptr: usize, immOffset?: usize, immAlign?: usize): f64;\\n /** Stores a 64-bit float to memory. */\\n export function store(ptr: usize, value: f64, immOffset?: usize, immAlign?: usize): void;\\n /** Computes the sum of two 64-bit floats. */\\n export function add(left: f64, right: f64): f64;\\n /** Computes the difference of two 64-bit floats. */\\n export function sub(left: f64, right: f64): f64;\\n /** Computes the product of two 64-bit floats. */\\n export function mul(left: f64, right: f64): f64;\\n /** Computes the quotient of two 64-bit floats. */\\n export function div(left: f64, right: f64): f64;\\n /** Return 1 two 64-bit floats are equal to each other, 0 otherwise. */\\n export function eq(left: f64, right: f64): i32;\\n /** Return 0 two 32-bit floats are equal to each other, 1 otherwise. */\\n export function ne(left: f64, right: f64): i32;\\n /** Computes the absolute value of a 64-bit float. */\\n export function abs(value: f64): f64;\\n /** Determines the maximum of two 64-bit floats. If either operand is `NaN`, returns `NaN`. */\\n export function max(left: f64, right: f64): f64;\\n /** Determines the minimum of two 64-bit floats. If either operand is `NaN`, returns `NaN`. */\\n export function min(left: f64, right: f64): f64;\\n /** Performs the ceiling operation on a 64-bit float. */\\n export function ceil(value: f64): f64;\\n /** Composes a 64-bit float from the magnitude of `x` and the sign of `y`. */\\n export function copysign(x: f64, y: f64): f64;\\n /** Performs the floor operation on a 64-bit float. */\\n export function floor(value: f64): f64;\\n /** Rounds to the nearest integer tied to even of a 64-bit float. */\\n export function nearest(value: f64): f64;\\n /** Reinterprets the bits of the specified 64-bit integer as a 64-bit float. */\\n export function reinterpret_i64(value: i64): f64;\\n /** Calculates the square root of a 64-bit float. */\\n export function sqrt(value: f64): f64;\\n /** Rounds to the nearest integer towards zero of a 64-bit float. */\\n export function trunc(value: f64): f64;\\n}\\n/** Initializes a 128-bit vector from sixteen 8-bit integer values. Arguments must be compile-time constants. */\\ndeclare function v128(a: i8, b: i8, c: i8, d: i8, e: i8, f: i8, g: i8, h: i8, i: i8, j: i8, k: i8, l: i8, m: i8, n: i8, o: i8, p: i8): v128;\\ndeclare namespace v128 {\\n /** Creates a vector with identical lanes. */\\n export function splat(x: T): v128;\\n /** Extracts one lane as a scalar. */\\n export function extract_lane(x: v128, idx: u8): T;\\n /** Replaces one lane. */\\n export function replace_lane(x: v128, idx: u8, value: T): v128;\\n /** Selects lanes from either vector according to the specified lane indexes. */\\n export function shuffle(a: v128, b: v128, ...lanes: u8[]): v128;\\n /** Selects 8-bit lanes from the first vector according to the indexes [0-15] specified by the 8-bit lanes of the second vector. */\\n export function swizzle(a: v128, s: v128): v128;\\n /** Loads a vector from memory. */\\n export function load(ptr: usize, immOffset?: usize, immAlign?: usize): v128;\\n /** Creates a vector by loading the lanes of the specified type and extending each to the next larger type. */\\n export function load_ext(ptr: usize, immOffset?: usize, immAlign?: usize): v128;\\n /** Creates a vector by loading a value of the specified type into the lowest bits and initializing all other bits of the vector to zero. */\\n export function load_zero(ptr: usize, immOffset?: usize, immAlign?: usize): v128;\\n /** Loads a single lane from memory into the specified lane of the given vector. Other lanes are bypassed as is. */\\n export function load_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): v128;\\n /** Stores the single lane at the specified index of the given vector to memory. */\\n export function store_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): void;\\n /** Creates a vector with eight 16-bit integer lanes by loading and sign extending eight 8-bit integers. */\\n export function load8x8_s(ptr: usize, immOffset?: u32, immAlign?: u32): v128;\\n /** Creates a vector with eight 16-bit integer lanes by loading and zero extending eight 8-bit integers. */\\n export function load8x8_u(ptr: usize, immOffset?: u32, immAlign?: u32): v128;\\n /** Creates a vector with four 32-bit integer lanes by loading and sign extending four 16-bit integers. */\\n export function load16x4_s(ptr: usize, immOffset?: u32, immAlign?: u32): v128;\\n /** Creates a vector with four 32-bit integer lanes by loading and zero extending four 16-bit integers. */\\n export function load16x4_u(ptr: usize, immOffset?: u32, immAlign?: u32): v128;\\n /** Creates a vector with two 64-bit integer lanes by loading and sign extending two 32-bit integers. */\\n export function load32x2_s(ptr: usize, immOffset?: u32, immAlign?: u32): v128;\\n /** Creates a vector with two 64-bit integer lanes by loading and zero extending two 32-bit integers. */\\n export function load32x2_u(ptr: usize, immOffset?: u32, immAlign?: u32): v128;\\n /** Creates a vector with identical lanes by loading the splatted value. */\\n export function load_splat(ptr: usize, immOffset?: usize, immAlign?: usize): v128;\\n /** Loads an 8-bit integer and splats it sixteen times forming a new vector. */\\n export function load8_splat(ptr: usize, immOffset?: usize, immAlign?: usize): v128;\\n /** Loads a 16-bit integer and splats it eight times forming a new vector. */\\n export function load16_splat(ptr: usize, immOffset?: usize, immAlign?: usize): v128;\\n /** Loads a 32-bit integer and splats it four times forming a new vector. */\\n export function load32_splat(ptr: usize, immOffset?: usize, immAlign?: usize): v128;\\n /** Loads a 64-bit integer and splats it two times forming a new vector. */\\n export function load64_splat(ptr: usize, immOffset?: usize, immAlign?: usize): v128;\\n /** Creates a vector by loading a 32-bit value into the lowest bits and initializing all other bits of the vector to zero. */\\n export function load32_zero(ptr: usize, immOffset?: usize, immAlign?: usize): v128;\\n /** Creates a vector by loading a 64-bit value into the lowest bits and initializing all other bits of the vector to zero. */\\n export function load64_zero(ptr: usize, immOffset?: usize, immAlign?: usize): v128;\\n /** Loads a single 8-bit lane from memory into the specified lane of the given vector. Other lanes are bypassed as is. */\\n export function load8_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): v128;\\n /** Loads a single 16-bit lane from memory into the specified lane of the given vector. Other lanes are bypassed as is. */\\n export function load16_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): v128;\\n /** Loads a single 32-bit lane from memory into the specified lane of the given vector. Other lanes are bypassed as is. */\\n export function load32_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): v128;\\n /** Loads a single 64-bit lane from memory into the specified lane of the given vector. Other lanes are bypassed as is. */\\n export function load64_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): v128;\\n /** Stores the 8-bit lane at the specified lane of the given vector to memory. */\\n export function store8_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): void;\\n /** Stores the 16-bit lane at the specified lane of the given vector to memory. */\\n export function store16_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): void;\\n /** Stores the 32-bit lane at the specified lane of the given vector to memory. */\\n export function store32_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): void;\\n /** Stores the 64-bit lane at the specified lane of the given vector to memory. */\\n export function store64_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): void;\\n /** Stores a vector to memory. */\\n export function store(ptr: usize, value: v128, immOffset?: usize, immAlign?: usize): void;\\n /** Adds each lane. */\\n export function add(a: v128, b: v128): v128;\\n /** Subtracts each lane. */\\n export function sub(a: v128, b: v128): v128;\\n /** Multiplies each lane. */\\n export function mul(a: v128, b: v128): v128; // except i64\\n /** Divides each lane. */\\n export function div(a: v128, b: v128): v128;\\n /** Negates each lane of a vector. */\\n export function neg(a: v128): v128;\\n /** Adds each lane using saturation. */\\n export function add_sat(a: v128, b: v128): v128;\\n /** Subtracts each lane using saturation. */\\n export function sub_sat(a: v128, b: v128): v128;\\n /** Performs a bitwise left shift on each lane of a vector by a scalar. */\\n export function shl(a: v128, b: i32): v128;\\n /** Performs a bitwise right shift on each lane of a vector by a scalar. */\\n export function shr(a: v128, b: i32): v128;\\n /** Performs the bitwise AND operation on two vectors. */\\n export function and(a: v128, b: v128): v128;\\n /** Performs the bitwise OR operation on two vectors. */\\n export function or(a: v128, b: v128): v128;\\n /** Performs the bitwise XOR operation on two vectors. */\\n export function xor(a: v128, b: v128): v128;\\n /** Performs the bitwise ANDNOT operation on two vectors. */\\n export function andnot(a: v128, b: v128): v128;\\n /** Performs the bitwise NOT operation on a vector. */\\n export function not(a: v128): v128;\\n /** Selects bits of either vector according to the specified mask. Selects from `v1` if the bit in `mask` is `1`, otherwise from `v2`. */\\n export function bitselect(v1: v128, v2: v128, mask: v128): v128;\\n /** Reduces a vector to a scalar indicating whether any lane is considered `true`. */\\n export function any_true(a: v128): bool;\\n /** Reduces a vector to a scalar indicating whether all lanes are considered `true`. */\\n export function all_true(a: v128): bool;\\n /** Extracts the high bit of each lane and produces a scalar mask with all bits concatenated. */\\n export function bitmask(a: v128): i32;\\n /** Counts the number of bits set to one within each lane. */\\n export function popcnt(a: v128): v128;\\n /** Computes the minimum of each lane. */\\n export function min(a: v128, b: v128): v128;\\n /** Computes the maximum of each lane. */\\n export function max(a: v128, b: v128): v128;\\n /** Computes the pseudo-minimum of each lane. */\\n export function pmin(a: v128, b: v128): v128;\\n /** Computes the pseudo-maximum of each lane. */\\n export function pmax(a: v128, b: v128): v128;\\n /** Computes the dot product of two lanes each, yielding lanes one size wider than the input. */\\n export function dot(a: v128, b: v128): v128;\\n /** Computes the average of each lane. */\\n export function avgr(a: v128, b: v128): v128;\\n /** Computes the absolute value of each lane. */\\n export function abs(a: v128): v128;\\n /** Computes the square root of each lane. */\\n export function sqrt(a: v128): v128;\\n /** Performs the ceiling operation on each lane. */\\n export function ceil(a: v128): v128;\\n /** Performs the floor operation on each lane. */\\n export function floor(a: v128): v128;\\n /** Rounds to the nearest integer towards zero of each lane. */\\n export function trunc(a: v128): v128;\\n /** Rounds to the nearest integer tied to even of each lane. */\\n export function nearest(a: v128): v128;\\n /** Computes which lanes are equal. */\\n export function eq(a: v128, b: v128): v128;\\n /** Computes which lanes are not equal. */\\n export function ne(a: v128, b: v128): v128;\\n /** Computes which lanes of the first vector are less than those of the second. */\\n export function lt(a: v128, b: v128): v128;\\n /** Computes which lanes of the first vector are less than or equal those of the second. */\\n export function le(a: v128, b: v128): v128;\\n /** Computes which lanes of the first vector are greater than those of the second. */\\n export function gt(a: v128, b: v128): v128;\\n /** Computes which lanes of the first vector are greater than or equal those of the second. */\\n export function ge(a: v128, b: v128): v128;\\n /** Converts each lane of a vector from integer to single-precision floating point. */\\n export function convert(a: v128): v128;\\n /** Converts the low lanes of a vector from integer to double-precision floating point. */\\n export function convert_low(a: v128): v128;\\n /** Truncates each lane of a vector from single-precision floating point to integer with saturation. Takes the target type. */\\n export function trunc_sat(a: v128): v128;\\n /** Truncates each lane of a vector from double-precision floating point to integer with saturation. Takes the target type. */\\n export function trunc_sat_zero(a: v128): v128;\\n /** Narrows each lane to their respective narrower lanes. */\\n export function narrow(a: v128, b: v128): v128;\\n /** Extends the low lanes of a vector to their respective wider lanes. */\\n export function extend_low(a: v128): v128;\\n /** Extends the high lanes of a vector to their respective wider lanes. */\\n export function extend_high(a: v128): v128;\\n /** Adds lanes pairwise producing twice wider extended results. */\\n export function extadd_pairwise(a: v128): v128;\\n /** Demotes each float lane to lower precision. The higher lanes of the result are initialized to zero. */\\n export function demote_zero(a: v128): v128;\\n /** Promotes the lower float lanes to higher precision. */\\n export function promote_low(a: v128): v128;\\n /** Performs the line-wise saturating rounding multiplication in Q15 format (`(a[i] * b[i] + (1 << (Q - 1))) >> Q` where `Q=15`). */\\n export function q15mulr_sat(a: v128, b: v128): v128;\\n /** Performs the lane-wise integer extended multiplication of the lower lanes producing a twice wider result than the inputs. */\\n export function extmul_low(a: v128, b: v128): v128;\\n /** Performs the lane-wise integer extended multiplication of the higher lanes producing a twice wider result than the inputs. */\\n export function extmul_high(a: v128, b: v128): v128;\\n /**\\n * Selects 8-bit lanes from `a` using indices in `s`. Indices in the range [0-15] select the i-th element of `a`.\\n * \\n * Unlike {@link v128.swizzle}, the result of an out of bounds index is implementation-defined, depending on hardware\\n * capabilities: Either `0` or `a[s[i]%16]`.\\n */\\n export function relaxed_swizzle(a: v128, s: v128): v128;\\n /**\\n * Truncates each lane of a vector from 32-bit floating point to a 32-bit signed or unsigned integer as indicated by\\n * `T`.\\n *\\n * Unlike {@link v128.trunc_sat}, the result of lanes out of bounds of the target type is implementation defined,\\n * depending on hardware capabilities:\\n * - If the input lane contains `NaN`, the result is either `0` or the respective maximum integer value.\\n * - If the input lane contains a value otherwise out of bounds of the target type, the result is either the\\n * saturatated result or maximum integer value.\\n */\\n export function relaxed_trunc(a: v128): v128;\\n /**\\n * Truncates each lane of a vector from 64-bit floating point to a 32-bit signed or unsigned integer as indicated by\\n * `T`. Unused higher integer lanes of the result are initialized to zero.\\n * \\n * Unlike {@link v128.trunc_sat_zero}, the result of lanes out of bounds of the target type is implementation defined,\\n * depending on hardware capabilities:\\n * - If the input lane contains `NaN`, the result is either `0` or the respective maximum integer value.\\n * - If the input lane contains a value otherwise out of bounds of the target type, the result is either the\\n * saturatated result or maximum integer value.\\n */\\n export function relaxed_trunc_zero(a: v128): v128;\\n /**\\n * Performs the fused multiply-add operation (`a * b + c`) on 32- or 64-bit floating point lanes as indicated by\\n * `T`.\\n * \\n * The result is implementation defined, depending on hardware capabilities:\\n * - Either `a * b` is rounded once and the final result rounded again, or\\n * - The expression is evaluated with higher precision and only rounded once\\n */\\n export function relaxed_madd(a: v128, b: v128, c: v128): v128;\\n /**\\n * Performs the fused negative multiply-add operation (`-(a * b) + c`) on 32- or 64-bit floating point lanes as\\n * indicated by `T`.\\n * \\n * The result is implementation defined, depending on hardware capabilities:\\n * - Either `a * b` is rounded once and the final result rounded again, or\\n * - The expression is evaluated with higher precision and only rounded once\\n */\\n export function relaxed_nmadd(a: v128, b: v128, c: v128): v128;\\n /**\\n * Selects 8-, 16-, 32- or 64-bit integer lanes as indicated by `T` from `a` or `b` based on masks in `m`.\\n * \\n * Behaves like {@link v128.bitselect} if masks in `m` do have all bits either set (result is `a[i]`) or unset (result\\n * is `b[i]`). Otherwise the result is implementation-defined, depending on hardware capabilities: If the most\\n * significant bit of `m` is set, the result is either `bitselect(a[i], b[i], mask)` or `a[i]`, otherwise the result\\n * is `b[i]`.\\n */\\n export function relaxed_laneselect(a: v128, b: v128, m: v128): v128;\\n /**\\n * Computes the minimum of each 32- or 64-bit floating point lane as indicated by `T`.\\n * \\n * Unlike {@link v128.min}, the result is implementation-defined if either value is `NaN` or both are `-0.0` and\\n * `+0.0`, depending on hardware capabilities: Either `a[i]` or `b[i]`.\\n */\\n export function relaxed_min(a: v128, b: v128): v128;\\n /**\\n * Computes the maximum of each 32- or 64-bit floating point lane as indicated by `T`.\\n * \\n * Unlike {@link v128.max}, the result is implementation-defined if either value is `NaN` or both are `-0.0` and\\n * `+0.0`, depending on hardware capabilities: Either `a[i]` or `b[i]`.\\n */\\n export function relaxed_max(a: v128, b: v128): v128;\\n /**\\n * Performs the lane-wise rounding multiplication in Q15 format (`(a[i] * b[i] + (1 << (Q - 1))) >> Q` where `Q=15`).\\n * \\n * Unlike {@link v128.q15mulr_sat}, the result is implementation-defined if both inputs are the minimum signed value:\\n * Either the minimum or maximum signed value.\\n */\\n export function relaxed_q15mulr(a: v128, b: v128): v128;\\n /**\\n * Computes the dot product of two 8-bit integer lanes each, yielding lanes one size wider than the input.\\n * \\n * Unlike {@link v128.dot}, if the most significant bit of `b[i]` is set, whether `b[i]` is interpreted as signed or\\n * unsigned is implementation-defined.\\n */\\n export function relaxed_dot(a: v128, b: v128): v128;\\n /**\\n * Computes the dot product of two 8-bit integer lanes each, yielding lanes two sizes wider than the input with the\\n * lanes of `c` accumulated into the result.\\n * \\n * Unlike {@link v128.dot}, if the most significant bit of `b[i]` is set, whether `b[i]` is interpreted as signed or\\n * unsigned by the intermediate multiplication is implementation-defined.\\n */\\n export function relaxed_dot_add(a: v128, b: v128, c: v128): v128;\\n}\\n/** Initializes a 128-bit vector from sixteen 8-bit integer values. Arguments must be compile-time constants. */\\ndeclare function i8x16(a: i8, b: i8, c: i8, d: i8, e: i8, f: i8, g: i8, h: i8, i: i8, j: i8, k: i8, l: i8, m: i8, n: i8, o: i8, p: i8): v128;\\ndeclare namespace i8x16 {\\n /** Creates a vector with sixteen identical 8-bit integer lanes. */\\n export function splat(x: i8): v128;\\n /** Extracts one 8-bit integer lane as a signed scalar. */\\n export function extract_lane_s(x: v128, idx: u8): i8;\\n /** Extracts one 8-bit integer lane as an unsigned scalar. */\\n export function extract_lane_u(x: v128, idx: u8): u8;\\n /** Replaces one 8-bit integer lane. */\\n export function replace_lane(x: v128, idx: u8, value: i8): v128;\\n /** Adds each 8-bit integer lane. */\\n export function add(a: v128, b: v128): v128;\\n /** Subtracts each 8-bit integer lane. */\\n export function sub(a: v128, b: v128): v128;\\n /** Computes the signed minimum of each 8-bit integer lane. */\\n export function min_s(a: v128, b: v128): v128;\\n /** Computes the unsigned minimum of each 8-bit integer lane. */\\n export function min_u(a: v128, b: v128): v128;\\n /** Computes the signed maximum of each 8-bit integer lane. */\\n export function max_s(a: v128, b: v128): v128;\\n /** Computes the unsigned maximum of each 8-bit integer lane. */\\n export function max_u(a: v128, b: v128): v128;\\n /** Computes the unsigned average of each 8-bit integer lane. */\\n export function avgr_u(a: v128, b: v128): v128;\\n /** Computes the absolute value of each 8-bit integer lane. */\\n export function abs(a: v128): v128;\\n /** Negates each 8-bit integer lane. */\\n export function neg(a: v128): v128;\\n /** Adds each 8-bit integer lane using signed saturation. */\\n export function add_sat_s(a: v128, b: v128): v128;\\n /** Adds each 8-bit integer lane using unsigned saturation. */\\n export function add_sat_u(a: v128, b: v128): v128;\\n /** Subtracts each 8-bit integer lane using signed saturation. */\\n export function sub_sat_s(a: v128, b: v128): v128;\\n /** Subtracts each 8-bit integer lane using unsigned saturation. */\\n export function sub_sat_u(a: v128, b: v128): v128;\\n /** Performs a bitwise left shift on each 8-bit integer lane by a scalar. */\\n export function shl(a: v128, b: i32): v128;\\n /** Performs a bitwise arithmetic right shift on each 8-bit integer lane by a scalar. */\\n export function shr_s(a: v128, b: i32): v128;\\n /** Performs a bitwise logical right shift on each 8-bit integer lane by a scalar. */\\n export function shr_u(a: v128, b: i32): v128;\\n /** Reduces a vector to a scalar indicating whether all 8-bit integer lanes are considered `true`. */\\n export function all_true(a: v128): bool;\\n /** Extracts the high bit of each 8-bit integer lane and produces a scalar mask with all bits concatenated. */\\n export function bitmask(a: v128): i32;\\n /** Counts the number of bits set to one within each 8-bit integer lane. */\\n export function popcnt(a: v128): v128;\\n /** Computes which 8-bit integer lanes are equal. */\\n export function eq(a: v128, b: v128): v128;\\n /** Computes which 8-bit integer lanes are not equal. */\\n export function ne(a: v128, b: v128): v128;\\n /** Computes which 8-bit signed integer lanes of the first vector are less than those of the second. */\\n export function lt_s(a: v128, b: v128): v128;\\n /** Computes which 8-bit unsigned integer lanes of the first vector are less than those of the second. */\\n export function lt_u(a: v128, b: v128): v128;\\n /** Computes which 8-bit signed integer lanes of the first vector are less than or equal those of the second. */\\n export function le_s(a: v128, b: v128): v128;\\n /** Computes which 8-bit unsigned integer lanes of the first vector are less than or equal those of the second. */\\n export function le_u(a: v128, b: v128): v128;\\n /** Computes which 8-bit signed integer lanes of the first vector are greater than those of the second. */\\n export function gt_s(a: v128, b: v128): v128;\\n /** Computes which 8-bit unsigned integer lanes of the first vector are greater than those of the second. */\\n export function gt_u(a: v128, b: v128): v128;\\n /** Computes which 8-bit signed integer lanes of the first vector are greater than or equal those of the second. */\\n export function ge_s(a: v128, b: v128): v128;\\n /** Computes which 8-bit unsigned integer lanes of the first vector are greater than or equal those of the second. */\\n export function ge_u(a: v128, b: v128): v128;\\n /** Narrows each 16-bit signed integer lane to 8-bit signed integer lanes. */\\n export function narrow_i16x8_s(a: v128, b: v128): v128;\\n /** Narrows each 16-bit signed integer lane to 8-bit unsigned integer lanes. */\\n export function narrow_i16x8_u(a: v128, b: v128): v128;\\n /** Selects 8-bit lanes from either vector according to the specified [0-15] respectively [16-31] lane indexes. */\\n export function shuffle(a: v128, b: v128, l0: u8, l1: u8, l2: u8, l3: u8, l4: u8, l5: u8, l6: u8, l7: u8, l8: u8, l9: u8, l10: u8, l11: u8, l12: u8, l13: u8, l14: u8, l15: u8): v128;\\n /** Selects 8-bit lanes from the first vector according to the indexes [0-15] specified by the 8-bit lanes of the second vector. */\\n export function swizzle(a: v128, s: v128): v128;\\n /**\\n * Selects 8-bit integer lanes from `a` using indices in `s`. Indices in the range [0-15] select the i-th element of\\n * `a`.\\n * \\n * Unlike {@link i8x16.swizzle}, the result of an out of bounds index is implementation-defined, depending on hardware\\n * capabilities: Either `0` or `a[s[i]%16]`.\\n */\\n export function relaxed_swizzle(a: v128, s: v128): v128;\\n /**\\n * Selects 8-bit integer lanes from `a` or `b` based on masks in `m`.\\n * \\n * Behaves like {@link v128.bitselect} if masks in `m` do have all bits either set (result is `a[i]`) or unset (result\\n * is `b[i]`). Otherwise the result is implementation-defined, depending on hardware capabilities: If the most\\n * significant bit of `m` is set, the result is either `bitselect(a[i], b[i], mask)` or `a[i]`, otherwise the result\\n * is `b[i]`.\\n */\\n export function relaxed_laneselect(a: v128, b: v128, m: v128): v128;\\n}\\n/** Initializes a 128-bit vector from eight 16-bit integer values. Arguments must be compile-time constants. */\\ndeclare function i16x8(a: i16, b: i16, c: i16, d: i16, e: i16, f: i16, g: i16, h: i16): v128;\\ndeclare namespace i16x8 {\\n /** Creates a vector with eight identical 16-bit integer lanes. */\\n export function splat(x: i16): v128;\\n /** Extracts one 16-bit integer lane as a signed scalar. */\\n export function extract_lane_s(x: v128, idx: u8): i16;\\n /** Extracts one 16-bit integer lane as an unsigned scalar. */\\n export function extract_lane_u(x: v128, idx: u8): u16;\\n /** Replaces one 16-bit integer lane. */\\n export function replace_lane(x: v128, idx: u8, value: i16): v128;\\n /** Adds each 16-bit integer lane. */\\n export function add(a: v128, b: v128): v128;\\n /** Subtracts each 16-bit integer lane. */\\n export function sub(a: v128, b: v128): v128;\\n /** Multiplies each 16-bit integer lane. */\\n export function mul(a: v128, b: v128): v128;\\n /** Computes the signed minimum of each 16-bit integer lane. */\\n export function min_s(a: v128, b: v128): v128;\\n /** Computes the unsigned minimum of each 16-bit integer lane. */\\n export function min_u(a: v128, b: v128): v128;\\n /** Computes the signed maximum of each 16-bit integer lane. */\\n export function max_s(a: v128, b: v128): v128;\\n /** Computes the unsigned maximum of each 16-bit integer lane. */\\n export function max_u(a: v128, b: v128): v128;\\n /** Computes the unsigned average of each 16-bit integer lane. */\\n export function avgr_u(a: v128, b: v128): v128;\\n /** Computes the absolute value of each 16-bit integer lane. */\\n export function abs(a: v128): v128;\\n /** Negates each 16-bit integer lane. */\\n export function neg(a: v128): v128;\\n /** Adds each 16-bit integer lane using signed saturation. */\\n export function add_sat_s(a: v128, b: v128): v128;\\n /** Adds each 16-bit integer lane using unsigned saturation. */\\n export function add_sat_u(a: v128, b: v128): v128;\\n /** Subtracts each 16-bit integer lane using signed saturation. */\\n export function sub_sat_s(a: v128, b: v128): v128;\\n /** Subtracts each 16-bit integer lane using unsigned saturation. */\\n export function sub_sat_u(a: v128, b: v128): v128;\\n /** Performs a bitwise left shift on each 16-bit integer lane by a scalar. */\\n export function shl(a: v128, b: i32): v128;\\n /** Performs a bitwise arithmetic right shift each 16-bit integer lane by a scalar. */\\n export function shr_s(a: v128, b: i32): v128;\\n /** Performs a bitwise logical right shift on each 16-bit integer lane by a scalar. */\\n export function shr_u(a: v128, b: i32): v128;\\n /** Reduces a vector to a scalar indicating whether all 16-bit integer lanes are considered `true`. */\\n export function all_true(a: v128): bool;\\n /** Extracts the high bit of each 16-bit integer lane and produces a scalar mask with all bits concatenated. */\\n export function bitmask(a: v128): i32;\\n /** Computes which 16-bit integer lanes are equal. */\\n export function eq(a: v128, b: v128): v128;\\n /** Computes which 16-bit integer lanes are not equal. */\\n export function ne(a: v128, b: v128): v128;\\n /** Computes which 16-bit signed integer lanes of the first vector are less than those of the second. */\\n export function lt_s(a: v128, b: v128): v128;\\n /** Computes which 16-bit unsigned integer lanes of the first vector are less than those of the second. */\\n export function lt_u(a: v128, b: v128): v128;\\n /** Computes which 16-bit signed integer lanes of the first vector are less than or equal those of the second. */\\n export function le_s(a: v128, b: v128): v128;\\n /** Computes which 16-bit unsigned integer lanes of the first vector are less than or equal those of the second. */\\n export function le_u(a: v128, b: v128): v128;\\n /** Computes which 16-bit signed integer lanes of the first vector are greater than those of the second. */\\n export function gt_s(a: v128, b: v128): v128;\\n /** Computes which 16-bit unsigned integer lanes of the first vector are greater than those of the second. */\\n export function gt_u(a: v128, b: v128): v128;\\n /** Computes which 16-bit signed integer lanes of the first vector are greater than or equal those of the second. */\\n export function ge_s(a: v128, b: v128): v128;\\n /** Computes which 16-bit unsigned integer lanes of the first vector are greater than or equal those of the second. */\\n export function ge_u(a: v128, b: v128): v128;\\n /** Narrows each 32-bit signed integer lane to 16-bit signed integer lanes. */\\n export function narrow_i32x4_s(a: v128, b: v128): v128;\\n /** Narrows each 32-bit signed integer lane to 16-bit unsigned integer lanes. */\\n export function narrow_i32x4_u(a: v128, b: v128): v128;\\n /** Extends the low 8-bit signed integer lanes to 16-bit signed integer lanes. */\\n export function extend_low_i8x16_s(a: v128): v128;\\n /** Extends the low 8-bit unsigned integer lanes to 16-bit unsigned integer lanes. */\\n export function extend_low_i8x16_u(a: v128): v128;\\n /** Extends the high 8-bit signed integer lanes to 16-bit signed integer lanes. */\\n export function extend_high_i8x16_s(a: v128): v128;\\n /** Extends the high 8-bit unsigned integer lanes to 16-bit unsigned integer lanes. */\\n export function extend_high_i8x16_u(a: v128): v128;\\n /** Adds the sixteen 8-bit signed integer lanes pairwise producing eight 16-bit signed integer results. */\\n export function extadd_pairwise_i8x16_s(a: v128): v128;\\n /** Adds the sixteen 8-bit unsigned integer lanes pairwise producing eight 16-bit unsigned integer results. */\\n export function extadd_pairwise_i8x16_u(a: v128): v128;\\n /** Performs the line-wise 16-bit signed integer saturating rounding multiplication in Q15 format. */\\n export function q15mulr_sat_s(a: v128, b: v128): v128;\\n /** Performs the lane-wise 8-bit signed integer extended multiplication of the eight lower lanes producing twice wider 16-bit integer results. */\\n export function extmul_low_i8x16_s(a: v128, b: v128): v128;\\n /** Performs the lane-wise 8-bit unsigned integer extended multiplication of the eight lower lanes producing twice wider 16-bit integer results. */\\n export function extmul_low_i8x16_u(a: v128, b: v128): v128;\\n /** Performs the lane-wise 8-bit signed integer extended multiplication of the eight higher lanes producing twice wider 16-bit integer results. */\\n export function extmul_high_i8x16_s(a: v128, b: v128): v128;\\n /** Performs the lane-wise 8-bit unsigned integer extended multiplication of the eight higher lanes producing twice wider 16-bit integer results. */\\n export function extmul_high_i8x16_u(a: v128, b: v128): v128;\\n /** Selects 16-bit lanes from either vector according to the specified [0-7] respectively [8-15] lane indexes. */\\n export function shuffle(a: v128, b: v128, l0: u8, l1: u8, l2: u8, l3: u8, l4: u8, l5: u8, l6: u8, l7: u8): v128;\\n /**\\n * Selects 16-bit integer lanes from `a` or `b` based on masks in `m`.\\n *\\n * Behaves like {@link v128.bitselect} if masks in `m` do have all bits either set (result is `a[i]`) or unset (result\\n * is `b[i]`). Otherwise the result is implementation-defined, depending on hardware capabilities: If the most\\n * significant bit of `m` is set, the result is either `bitselect(a[i], b[i], mask)` or `a[i]`, otherwise the result\\n * is `b[i]`.\\n */\\n export function relaxed_laneselect(a: v128, b: v128, m: v128): v128;\\n /**\\n * Performs the line-wise rounding multiplication in Q15 format (`(a[i] * b[i] + (1 << (Q - 1))) >> Q` where `Q=15`).\\n *\\n * Some results are implementation-defined: If both inputs are `i16.MIN_VALUE`, the value of the respective\\n * resulting lane may be either `i16.MIN_VALUE` or `i16.MAX_VALUE`.\\n */\\n export function relaxed_q15mulr_s(a: v128, b: v128): v128;\\n /**\\n * Computes the dot product of two 8-bit integer lanes each, yielding lanes one size wider than the input.\\n * \\n * Some results are implementation-defined: If the most significant bit of `b[i]` is set, the intermediate\\n * multiplication may interpret `b[i]` as either signed or unsigned.\\n */\\n export function relaxed_dot_i8x16_i7x16_s(a: v128, b: v128): v128;\\n}\\n/** Initializes a 128-bit vector from four 32-bit integer values. Arguments must be compile-time constants. */\\ndeclare function i32x4(a: i32, b: i32, c: i32, d: i32): v128;\\ndeclare namespace i32x4 {\\n /** Creates a vector with four identical 32-bit integer lanes. */\\n export function splat(x: i32): v128;\\n /** Extracts one 32-bit integer lane as a scalar. */\\n export function extract_lane(x: v128, idx: u8): i32;\\n /** Replaces one 32-bit integer lane. */\\n export function replace_lane(x: v128, idx: u8, value: i32): v128;\\n /** Adds each 32-bit integer lane. */\\n export function add(a: v128, b: v128): v128;\\n /** Subtracts each 32-bit integer lane. */\\n export function sub(a: v128, b: v128): v128;\\n /** Multiplies each 32-bit integer lane. */\\n export function mul(a: v128, b: v128): v128;\\n /** Computes the signed minimum of each 32-bit integer lane. */\\n export function min_s(a: v128, b: v128): v128;\\n /** Computes the unsigned minimum of each 32-bit integer lane. */\\n export function min_u(a: v128, b: v128): v128;\\n /** Computes the signed maximum of each 32-bit integer lane. */\\n export function max_s(a: v128, b: v128): v128;\\n /** Computes the unsigned maximum of each 32-bit integer lane. */\\n export function max_u(a: v128, b: v128): v128;\\n /** Computes the dot product of two 16-bit integer lanes each, yielding 32-bit integer lanes. */\\n export function dot_i16x8_s(a: v128, b: v128): v128;\\n /** Computes the absolute value of each 32-bit integer lane. */\\n export function abs(a: v128): v128;\\n /** Negates each 32-bit integer lane. */\\n export function neg(a: v128): v128;\\n /** Performs a bitwise left shift on each 32-bit integer lane by a scalar. */\\n export function shl(a: v128, b: i32): v128;\\n /** Performs a bitwise arithmetic right shift on each 32-bit integer lane by a scalar. */\\n export function shr_s(a: v128, b: i32): v128;\\n /** Performs a bitwise logical right shift on each 32-bit integer lane by a scalar. */\\n export function shr_u(a: v128, b: i32): v128;\\n /** Reduces a vector to a scalar indicating whether all 32-bit integer lanes are considered `true`. */\\n export function all_true(a: v128): bool;\\n /** Extracts the high bit of each 32-bit integer lane and produces a scalar mask with all bits concatenated. */\\n export function bitmask(a: v128): i32;\\n /** Computes which 32-bit integer lanes are equal. */\\n export function eq(a: v128, b: v128): v128;\\n /** Computes which 32-bit integer lanes are not equal. */\\n export function ne(a: v128, b: v128): v128;\\n /** Computes which 32-bit signed integer lanes of the first vector are less than those of the second. */\\n export function lt_s(a: v128, b: v128): v128;\\n /** Computes which 32-bit unsigned integer lanes of the first vector are less than those of the second. */\\n export function lt_u(a: v128, b: v128): v128;\\n /** Computes which 32-bit signed integer lanes of the first vector are less than or equal those of the second. */\\n export function le_s(a: v128, b: v128): v128;\\n /** Computes which 32-bit unsigned integer lanes of the first vector are less than or equal those of the second. */\\n export function le_u(a: v128, b: v128): v128;\\n /** Computes which 32-bit signed integer lanes of the first vector are greater than those of the second. */\\n export function gt_s(a: v128, b: v128): v128;\\n /** Computes which 32-bit unsigned integer lanes of the first vector are greater than those of the second. */\\n export function gt_u(a: v128, b: v128): v128;\\n /** Computes which 32-bit signed integer lanes of the first vector are greater than or equal those of the second. */\\n export function ge_s(a: v128, b: v128): v128;\\n /** Computes which 32-bit unsigned integer lanes of the first vector are greater than or equal those of the second. */\\n export function ge_u(a: v128, b: v128): v128;\\n /** Truncates each 32-bit float lane to a signed integer with saturation. */\\n export function trunc_sat_f32x4_s(a: v128): v128;\\n /** Truncates each 32-bit float lane to an unsigned integer with saturation. */\\n export function trunc_sat_f32x4_u(a: v128): v128;\\n /** Truncates the two 64-bit float lanes to the two lower signed integer lanes with saturation. The two higher integer lanes of the result are initialized to zero. */\\n export function trunc_sat_f64x2_s_zero(a: v128): v128;\\n /** Truncates the two 64-bit float lanes to the two lower unsigned integer lanes with saturation. The two higher integer lanes of the result are initialized to zero. */\\n export function trunc_sat_f64x2_u_zero(a: v128): v128;\\n /** Extends the low 16-bit signed integer lanes to 32-bit signed integer lanes. */\\n export function extend_low_i16x8_s(a: v128): v128;\\n /** Extends the low 16-bit unsigned integer lane to 32-bit unsigned integer lanes. */\\n export function extend_low_i16x8_u(a: v128): v128;\\n /** Extends the high 16-bit signed integer lanes to 32-bit signed integer lanes. */\\n export function extend_high_i16x8_s(a: v128): v128;\\n /** Extends the high 16-bit unsigned integer lanes to 32-bit unsigned integer lanes. */\\n export function extend_high_i16x8_u(a: v128): v128;\\n /** Adds the eight 16-bit signed integer lanes pairwise producing four 32-bit signed integer results. */\\n export function extadd_pairwise_i16x8_s(a: v128): v128;\\n /** Adds the eight 16-bit unsigned integer lanes pairwise producing four 32-bit unsigned integer results. */\\n export function extadd_pairwise_i16x8_u(a: v128): v128;\\n /** Performs the lane-wise 16-bit signed integer extended multiplication of the four lower lanes producing twice wider 32-bit integer results. */\\n export function extmul_low_i16x8_s(a: v128, b: v128): v128;\\n /** Performs the lane-wise 16-bit unsigned integer extended multiplication of the four lower lanes producing twice wider 32-bit integer results. */\\n export function extmul_low_i16x8_u(a: v128, b: v128): v128;\\n /** Performs the lane-wise 16-bit signed integer extended multiplication of the four higher lanes producing twice wider 32-bit integer results. */\\n export function extmul_high_i16x8_s(a: v128, b: v128): v128;\\n /** Performs the lane-wise 16-bit unsigned integer extended multiplication of the four higher lanes producing twice wider 32-bit integer results. */\\n export function extmul_high_i16x8_u(a: v128, b: v128): v128;\\n /** Selects 32-bit lanes from either vector according to the specified [0-3] respectively [4-7] lane indexes. */\\n export function shuffle(a: v128, b: v128, l0: u8, l1: u8, l2: u8, l3: u8): v128;\\n /**\\n * Truncates each lane of a vector from 32-bit floating point to a signed 32-bit integer.\\n *\\n * Unlike {@link i32x4.trunc_sat_f32x4_s}, the result of lanes out of bounds of the target type is implementation\\n * defined, depending on hardware capabilities:\\n * - If the input lane contains `NaN`, the result is either `0` or the respective maximum integer value.\\n * - If the input lane contains a value otherwise out of bounds of the target type, the result is either the\\n * saturatated result or maximum integer value.\\n */\\n export function relaxed_trunc_f32x4_s(a: v128): v128;\\n /**\\n * Truncates each lane of a vector from 32-bit floating point to an unsigned 32-bit integer.\\n *\\n * Unlike {@link i32x4.trunc_sat_f32x4_u}, the result of lanes out of bounds of the target type is implementation\\n * defined, depending on hardware capabilities:\\n * - If the input lane contains `NaN`, the result is either `0` or the respective maximum integer value.\\n * - If the input lane contains a value otherwise out of bounds of the target type, the result is either the\\n * saturatated result or maximum integer value.\\n */\\n export function relaxed_trunc_f32x4_u(a: v128): v128;\\n /**\\n * Truncates each lane of a vector from 64-bit floating point to a signed 32-bit integer. The two higher\\n * integer lanes of the result are initialized to zero.\\n * \\n * Unlike {@link i32x4.trunc_sat_f64x2_s_zero}, the result of lanes out of bounds of the target type is implementation\\n * defined, depending on hardware capabilities:\\n * - If the input lane contains `NaN`, the result is either `0` or the respective maximum integer value.\\n * - If the input lane contains a value otherwise out of bounds of the target type, the result is either the\\n * saturatated result or maximum integer value.\\n */\\n export function relaxed_trunc_f64x2_s_zero(a: v128): v128;\\n /**\\n * Truncates each lane of a vector from 64-bit floating point to an unsigned 32-bit integer. The two higher\\n * integer lanes of the result are initialized to zero.\\n * \\n * Unlike {@link i32x4.trunc_sat_f64x2_u_zero}, the result of lanes out of bounds of the target type is implementation\\n * defined, depending on hardware capabilities:\\n * - If the input lane contains `NaN`, the result is either `0` or the respective maximum integer value.\\n * - If the input lane contains a value otherwise out of bounds of the target type, the result is either the\\n * saturatated result or maximum integer value.\\n */\\n export function relaxed_trunc_f64x2_u_zero(a: v128): v128;\\n /**\\n * Selects 32-bit integer lanes from `a` or `b` based on masks in `m`.\\n *\\n * Behaves like {@link v128.bitselect} if masks in `m` do have all bits either set (result is `a[i]`) or unset (result\\n * is `b[i]`). Otherwise the result is implementation-defined, depending on hardware capabilities: If the most\\n * significant bit of `m` is set, the result is either `bitselect(a[i], b[i], mask)` or `a[i]`, otherwise the result\\n * is `b[i]`.\\n */\\n export function relaxed_laneselect(a: v128, b: v128, m: v128): v128;\\n /**\\n * Computes the dot product of two 8-bit lanes each, yielding lanes two sizes wider than the input with the lanes of\\n * `c` accumulated into the result.\\n * \\n * Unlike {@link v128.dot}, if the most significant bit of `b[i]` is set, whether `b[i]` is interpreted as signed or\\n * unsigned by the intermediate multiplication is implementation-defined.\\n */\\n export function relaxed_dot_i8x16_i7x16_add_s(a: v128, b: v128, c: v128): v128;\\n}\\n/** Initializes a 128-bit vector from two 64-bit integer values. Arguments must be compile-time constants. */\\ndeclare function i64x2(a: i64, b: i64): v128;\\ndeclare namespace i64x2 {\\n /** Creates a vector with two identical 64-bit integer lanes. */\\n export function splat(x: i64): v128;\\n /** Extracts one 64-bit integer lane as a scalar. */\\n export function extract_lane(x: v128, idx: u8): i64;\\n /** Replaces one 64-bit integer lane. */\\n export function replace_lane(x: v128, idx: u8, value: i64): v128;\\n /** Adds each 64-bit integer lane. */\\n export function add(a: v128, b: v128): v128;\\n /** Subtracts each 64-bit integer lane. */\\n export function sub(a: v128, b: v128): v128;\\n /** Multiplies each 64-bit integer lane. */\\n export function mul(a: v128, b: v128): v128;\\n /** Computes the absolute value of each 64-bit integer lane. */\\n export function abs(a: v128): v128;\\n /** Negates each 64-bit integer lane. */\\n export function neg(a: v128): v128;\\n /** Performs a bitwise left shift on each 64-bit integer lane by a scalar. */\\n export function shl(a: v128, b: i32): v128;\\n /** Performs a bitwise arithmetic right shift on each 64-bit integer lane by a scalar. */\\n export function shr_s(a: v128, b: i32): v128;\\n /** Performs a bitwise logical right shift on each 64-bit integer lane by a scalar. */\\n export function shr_u(a: v128, b: i32): v128;\\n /** Reduces a vector to a scalar indicating whether all 64-bit integer lanes are considered `true`. */\\n export function all_true(a: v128): bool;\\n /** Extracts the high bit of each 64-bit integer lane and produces a scalar mask with all bits concatenated. */\\n export function bitmask(a: v128): i32;\\n /** Computes which 64-bit integer lanes are equal. */\\n export function eq(a: v128, b: v128): v128;\\n /** Computes which 64-bit integer lanes are not equal. */\\n export function ne(a: v128, b: v128): v128;\\n /** Computes which 64-bit signed integer lanes of the first vector are less than those of the second. */\\n export function lt_s(a: v128, b: v128): v128;\\n /** Computes which 64-bit signed integer lanes of the first vector are less than or equal those of the second. */\\n export function le_s(a: v128, b: v128): v128;\\n /** Computes which 64-bit signed integer lanes of the first vector are greater than those of the second. */\\n export function gt_s(a: v128, b: v128): v128;\\n /** Computes which 64-bit signed integer lanes of the first vector are greater than or equal those of the second. */\\n export function ge_s(a: v128, b: v128): v128;\\n /** Extends the low 32-bit signed integer lanes to 64-bit signed integer lanes. */\\n export function extend_low_i32x4_s(a: v128): v128;\\n /** Extends the low 32-bit unsigned integer lane to 64-bit unsigned integer lanes. */\\n export function extend_low_i32x4_u(a: v128): v128;\\n /** Extends the high 32-bit signed integer lanes to 64-bit signed integer lanes. */\\n export function extend_high_i32x4_s(a: v128): v128;\\n /** Extends the high 32-bit unsigned integer lanes to 64-bit unsigned integer lanes. */\\n export function extend_high_i32x4_u(a: v128): v128;\\n /** Performs the lane-wise 32-bit signed integer extended multiplication of the two lower lanes producing twice wider 64-bit integer results. */\\n export function extmul_low_i32x4_s(a: v128, b: v128): v128;\\n /** Performs the lane-wise 32-bit unsigned integer extended multiplication of the two lower lanes producing twice wider 64-bit integer results. */\\n export function extmul_low_i32x4_u(a: v128, b: v128): v128;\\n /** Performs the lane-wise 32-bit signed integer extended multiplication of the two higher lanes producing twice wider 64-bit integer results. */\\n export function extmul_high_i32x4_s(a: v128, b: v128): v128;\\n /** Performs the lane-wise 32-bit unsigned integer extended multiplication of the two higher lanes producing twice wider 64-bit integer results. */\\n export function extmul_high_i32x4_u(a: v128, b: v128): v128;\\n /** Selects 64-bit lanes from either vector according to the specified [0-1] respectively [2-3] lane indexes. */\\n export function shuffle(a: v128, b: v128, l0: u8, l1: u8): v128;\\n /**\\n * Selects 64-bit integer lanes from `a` or `b` based on masks in `m`.\\n *\\n * Behaves like {@link v128.bitselect} if masks in `m` do have all bits either set (result is `a[i]`) or unset (result\\n * is `b[i]`). Otherwise the result is implementation-defined, depending on hardware capabilities: If the most\\n * significant bit of `m` is set, the result is either `bitselect(a[i], b[i], mask)` or `a[i]`, otherwise the result\\n * is `b[i]`.\\n */\\n export function relaxed_laneselect(a: v128, b: v128, m: v128): v128;\\n}\\n/** Initializes a 128-bit vector from four 32-bit float values. Arguments must be compile-time constants. */\\ndeclare function f32x4(a: f32, b: f32, c: f32, d: f32): v128;\\ndeclare namespace f32x4 {\\n /** Creates a vector with four identical 32-bit float lanes. */\\n export function splat(x: f32): v128;\\n /** Extracts one 32-bit float lane as a scalar. */\\n export function extract_lane(x: v128, idx: u8): f32;\\n /** Replaces one 32-bit float lane. */\\n export function replace_lane(x: v128, idx: u8, value: f32): v128;\\n /** Adds each 32-bit float lane. */\\n export function add(a: v128, b: v128): v128;\\n /** Subtracts each 32-bit float lane. */\\n export function sub(a: v128, b: v128): v128;\\n /** Multiplies each 32-bit float lane. */\\n export function mul(a: v128, b: v128): v128;\\n /** Divides each 32-bit float lane. */\\n export function div(a: v128, b: v128): v128;\\n /** Negates each 32-bit float lane. */\\n export function neg(a: v128): v128;\\n /** Computes the minimum of each 32-bit float lane. */\\n export function min(a: v128, b: v128): v128;\\n /** Computes the maximum of each 32-bit float lane. */\\n export function max(a: v128, b: v128): v128;\\n /** Computes the pseudo-minimum of each 32-bit float lane. */\\n export function pmin(a: v128, b: v128): v128;\\n /** Computes the pseudo-maximum of each 32-bit float lane. */\\n export function pmax(a: v128, b: v128): v128;\\n /** Computes the absolute value of each 32-bit float lane. */\\n export function abs(a: v128): v128;\\n /** Computes the square root of each 32-bit float lane. */\\n export function sqrt(a: v128): v128;\\n /** Performs the ceiling operation on each 32-bit float lane. */\\n export function ceil(a: v128): v128;\\n /** Performs the floor operation on each each 32-bit float lane. */\\n export function floor(a: v128): v128;\\n /** Rounds to the nearest integer towards zero of each 32-bit float lane. */\\n export function trunc(a: v128): v128;\\n /** Rounds to the nearest integer tied to even of each 32-bit float lane. */\\n export function nearest(a: v128): v128;\\n /** Computes which 32-bit float lanes are equal. */\\n export function eq(a: v128, b: v128): v128;\\n /** Computes which 32-bit float lanes are not equal. */\\n export function ne(a: v128, b: v128): v128;\\n /** Computes which 32-bit float lanes of the first vector are less than those of the second. */\\n export function lt(a: v128, b: v128): v128;\\n /** Computes which 32-bit float lanes of the first vector are less than or equal those of the second. */\\n export function le(a: v128, b: v128): v128;\\n /** Computes which 32-bit float lanes of the first vector are greater than those of the second. */\\n export function gt(a: v128, b: v128): v128;\\n /** Computes which 32-bit float lanes of the first vector are greater than or equal those of the second. */\\n export function ge(a: v128, b: v128): v128;\\n /** Converts each 32-bit signed integer lane of a vector to single-precision floating point. */\\n export function convert_i32x4_s(a: v128): v128;\\n /** Converts each 32-bit unsigned integer lane of a vector to single-precision floating point. */\\n export function convert_i32x4_u(a: v128): v128;\\n /** Demotes each 64-bit float lane of a vector to single-precision. The higher lanes of the result are initialized to zero. */\\n export function demote_f64x2_zero(a: v128): v128;\\n /** Selects 32-bit lanes from either vector according to the specified [0-3] respectively [4-7] lane indexes. */\\n export function shuffle(a: v128, b: v128, l0: u8, l1: u8, l2: u8, l3: u8): v128;\\n /**\\n * Performs the fused multiply-add operation (`a * b + c`) on all 32-bit floating point lanes.\\n * \\n * The result is implementation defined, depending on hardware capabilities:\\n * - Either `a * b` is rounded once and the final result rounded again, or\\n * - The expression is evaluated with higher precision and only rounded once\\n */\\n export function relaxed_madd(a: v128, b: v128, c: v128): v128;\\n /**\\n * Performs the fused negative multiply-add operation (`-(a * b) + c`) on all 32-bit floating point lanes.\\n * \\n * The result is implementation defined, depending on hardware capabilities:\\n * - Either `a * b` is rounded once and the final result rounded again, or\\n * - The expression is evaluated with higher precision and only rounded once\\n */\\n export function relaxed_nmadd(a: v128, b: v128, c: v128): v128;\\n /**\\n * Computes the minimum of each 32-bit floating point lane.\\n * \\n * Unlike {@link f32x4.min}, the result is implementation-defined if either value is `NaN`, `-0.0` or `+0.0`,\\n * depending on hardware capabilities: Either `a[i]` or `b[i]`.\\n */\\n export function relaxed_min(a: v128, b: v128): v128;\\n /**\\n * Computes the maximum of each 32-bit floating point lane.\\n * \\n * Unlike {@link f32x4.max}, the result is implementation-defined if either value is `NaN`, `-0.0` or `+0.0`,\\n * depending on hardware capabilities: Either `a[i]` or `b[i]`.\\n */\\n export function relaxed_max(a: v128, b: v128): v128;\\n}\\n/** Initializes a 128-bit vector from two 64-bit float values. Arguments must be compile-time constants. */\\ndeclare function f64x2(a: f64, b: f64): v128;\\ndeclare namespace f64x2 {\\n /** Creates a vector with two identical 64-bit float lanes. */\\n export function splat(x: f64): v128;\\n /** Extracts one 64-bit float lane as a scalar. */\\n export function extract_lane(x: v128, idx: u8): f64;\\n /** Replaces one 64-bit float lane. */\\n export function replace_lane(x: v128, idx: u8, value: f64): v128;\\n /** Adds each 64-bit float lane. */\\n export function add(a: v128, b: v128): v128;\\n /** Subtracts each 64-bit float lane. */\\n export function sub(a: v128, b: v128): v128;\\n /** Multiplies each 64-bit float lane. */\\n export function mul(a: v128, b: v128): v128;\\n /** Divides each 64-bit float lane. */\\n export function div(a: v128, b: v128): v128;\\n /** Negates each 64-bit float lane. */\\n export function neg(a: v128): v128;\\n /** Computes the minimum of each 64-bit float lane. */\\n export function min(a: v128, b: v128): v128;\\n /** Computes the maximum of each 64-bit float lane. */\\n export function max(a: v128, b: v128): v128;\\n /** Computes the pseudo-minimum of each 64-bit float lane. */\\n export function pmin(a: v128, b: v128): v128;\\n /** Computes the pseudo-maximum of each 64-bit float lane. */\\n export function pmax(a: v128, b: v128): v128;\\n /** Computes the absolute value of each 64-bit float lane. */\\n export function abs(a: v128): v128;\\n /** Computes the square root of each 64-bit float lane. */\\n export function sqrt(a: v128): v128;\\n /** Performs the ceiling operation on each 64-bit float lane. */\\n export function ceil(a: v128): v128;\\n /** Performs the floor operation on each each 64-bit float lane. */\\n export function floor(a: v128): v128;\\n /** Rounds to the nearest integer towards zero of each 64-bit float lane. */\\n export function trunc(a: v128): v128;\\n /** Rounds to the nearest integer tied to even of each 64-bit float lane. */\\n export function nearest(a: v128): v128;\\n /** Computes which 64-bit float lanes are equal. */\\n export function eq(a: v128, b: v128): v128;\\n /** Computes which 64-bit float lanes are not equal. */\\n export function ne(a: v128, b: v128): v128;\\n /** Computes which 64-bit float lanes of the first vector are less than those of the second. */\\n export function lt(a: v128, b: v128): v128;\\n /** Computes which 64-bit float lanes of the first vector are less than or equal those of the second. */\\n export function le(a: v128, b: v128): v128;\\n /** Computes which 64-bit float lanes of the first vector are greater than those of the second. */\\n export function gt(a: v128, b: v128): v128;\\n /** Computes which 64-bit float lanes of the first vector are greater than or equal those of the second. */\\n export function ge(a: v128, b: v128): v128;\\n /** Converts the low 32-bit signed integer lanes of a vector to double-precision floating point. */\\n export function convert_low_i32x4_s(a: v128): v128;\\n /** Converts the low 32-bit unsigned integer lanes of a vector to double-precision floating point. */\\n export function convert_low_i32x4_u(a: v128): v128;\\n /** Promotes the low 32-bit float lanes of a vector to double-precision. */\\n export function promote_low_f32x4(a: v128): v128;\\n /** Selects 64-bit lanes from either vector according to the specified [0-1] respectively [2-3] lane indexes. */\\n export function shuffle(a: v128, b: v128, l0: u8, l1: u8): v128;\\n /**\\n * Performs the fused multiply-add operation (`a * b + c`) on all 64-bit floating point lanes.\\n * \\n * The result is implementation defined, depending on hardware capabilities:\\n * - Either `a * b` is rounded once and the final result rounded again, or\\n * - The expression is evaluated with higher precision and only rounded once\\n */\\n export function relaxed_madd(a: v128, b: v128, c: v128): v128;\\n /**\\n * Performs the fused negative multiply-add operation (`-(a * b) + c`) on all 64-bit floating point lanes.\\n * \\n * The result is implementation defined, depending on hardware capabilities:\\n * - Either `a * b` is rounded once and the final result rounded again, or\\n * - The expression is evaluated with higher precision and only rounded once\\n */\\n export function relaxed_nmadd(a: v128, b: v128, c: v128): v128;\\n /**\\n * Computes the minimum of each 64-bit floating point lane.\\n * \\n * Unlike {@link f64x2.min}, the result is implementation-defined if either value is `NaN`, `-0.0` or `+0.0`,\\n * depending on hardware capabilities: Either `a[i]` or `b[i]`.\\n */\\n export function relaxed_min(a: v128, b: v128): v128;\\n /**\\n * Computes the maximum of each 64-bit floating point lane.\\n * \\n * Unlike {@link f64x2.max}, the result is implementation-defined if either value is `NaN`, `-0.0` or `+0.0`,\\n * depending on hardware capabilities: Either `a[i]` or `b[i]`.\\n */\\n export function relaxed_max(a: v128, b: v128): v128;\\n}\\n\\ndeclare abstract class i31 {\\n /** Creates a new 31-bit integer reference from the specified integer value. */\\n static new(value: i32): ref_i31;\\n /** Gets the integer value of an 31-bit integer reference. */\\n static get(i31expr: ref_i31 | null): i32;\\n}\\n\\n/** Macro type evaluating to the underlying native WebAssembly type. */\\ndeclare type native = T;\\n/** Special type evaluating the indexed access index type. */\\ndeclare type indexof> = keyof T;\\n/** Special type evaluating the indexed access value type. */\\ndeclare type valueof> = T[0];\\n/** A special type evaluated to the return type of T if T is a callable function. */\\ndeclare type ReturnType any> = T extends (...args: any) => infer R ? R : any;\\n/** A special type evaluated to the return type of T if T is a callable function. */\\ndeclare type returnof any> = ReturnType;\\n/** A special type that excludes null and undefined from T. */\\ndeclare type NonNullable = T extends null | undefined ? never : T;\\n/** A special type that excludes null and undefined from T. */\\ndeclare type nonnull = NonNullable;\\n\\n/** Pseudo-class representing the backing class of integer types. */\\n/** @internal */\\ndeclare class _Integer {\\n /** Smallest representable value. */\\n static readonly MIN_VALUE: number;\\n /** Largest representable value. */\\n static readonly MAX_VALUE: number;\\n /** @deprecated Converts a string to an integer of this type. Please use \\\"i32.parse\\\" method. */\\n static parseInt(value: string, radix?: number): number;\\n /** Converts this integer to a string. */\\n toString(radix?: number): string;\\n}\\n\\n/** Pseudo-class representing the backing class of floating-point types. */\\n/** @internal */\\ndeclare class _Float {\\n /** Difference between 1 and the smallest representable value greater than 1. */\\n static readonly EPSILON: f32 | f64;\\n /** Smallest representable value. */\\n static readonly MIN_VALUE: f32 | f64;\\n /** Largest representable value. */\\n static readonly MAX_VALUE: f32 | f64;\\n /** Smallest safely representable integer value. */\\n static readonly MIN_SAFE_INTEGER: f32 | f64;\\n /** Largest safely representable integer value. */\\n static readonly MAX_SAFE_INTEGER: f32 | f64;\\n /** Value representing positive infinity. */\\n static readonly POSITIVE_INFINITY: f32 | f64;\\n /** Value representing negative infinity. */\\n static readonly NEGATIVE_INFINITY: f32 | f64;\\n /** Value representing 'not a number'. */\\n static readonly NaN: f32 | f64;\\n /** Returns a boolean value that indicates whether a value is the reserved value NaN (not a number). */\\n static isNaN(value: f32 | f64): bool;\\n /** Returns true if passed value is finite. */\\n static isFinite(value: f32 | f64): bool;\\n /** Returns true if the value passed is a safe integer. */\\n static isSafeInteger(value: f32 | f64): bool;\\n /** Returns true if the value passed is an integer, false otherwise. */\\n static isInteger(value: f32 | f64): bool;\\n /** @deprecated Converts a string to an integer. Please use \\\"i32.parse\\\" / \\\"i64.parse\\\" methods. */\\n static parseInt(value: string, radix?: i32): f32 | f64;\\n /** @deprecated Converts a string to a floating-point number. Please use \\\"f32.parse\\\" / \\\"f64.parse\\\" methods. */\\n static parseFloat(value: string): f32 | f64;\\n /** Converts this floating-point number to a string. */\\n toString(radix?: number): string;\\n}\\n\\ndeclare class Boolean {\\n toString(radix?: number): string;\\n}\\n\\n/** Backing class of signed 8-bit integers. */\\ndeclare const I8: typeof _Integer;\\n/** Backing class of signed 16-bit integers. */\\ndeclare const I16: typeof _Integer;\\n/** Backing class of signed 32-bit integers. */\\ndeclare const I32: typeof _Integer;\\n/** Backing class of signed 64-bit integers. */\\ndeclare const I64: typeof _Integer;\\n/** Backing class of signed size integers. */\\ndeclare const Isize: typeof _Integer;\\n/** Backing class of unsigned 8-bit integers. */\\ndeclare const U8: typeof _Integer;\\n/** Backing class of unsigned 16-bit integers. */\\ndeclare const U16: typeof _Integer;\\n/** Backing class of unsigned 32-bit integers. */\\ndeclare const U32: typeof _Integer;\\n/** Backing class of unsigned 64-bit integers. */\\ndeclare const U64: typeof _Integer;\\n/** Backing class of unsigned size integers. */\\ndeclare const Usize: typeof _Integer;\\n/** Backing class of 32-bit floating-point values. */\\ndeclare const F32: typeof _Float;\\n/** Backing class of 64-bit floating-point values. */\\ndeclare const F64: typeof _Float;\\n/** Alias of F64. */\\ndeclare const Number: typeof F64;\\ndeclare type Number = _Float;\\n\\n// User-defined diagnostic macros\\n\\n/** Emits a user-defined diagnostic error when encountered. */\\ndeclare function ERROR(message?: any): never;\\n/** Emits a user-defined diagnostic warning when encountered. */\\ndeclare function WARNING(message?: any): void;\\n/** Emits a user-defined diagnostic info when encountered. */\\ndeclare function INFO(message?: any): void;\\n\\n// Standard library\\n\\n/** Memory operations. */\\ndeclare namespace memory {\\n /** Whether the memory managed interface is implemented. */\\n export const implemented: bool;\\n /** Returns the current memory size in units of pages. One page is 64kb. */\\n export function size(): i32;\\n /** Grows linear memory by a given unsigned delta of pages. One page is 64kb. Returns the previous memory size in units of pages or `-1` on failure. */\\n export function grow(value: i32): i32;\\n /** Sets n bytes beginning at the specified destination in memory to the specified byte value. */\\n export function fill(dst: usize, value: u8, count: usize): void;\\n /** Copies n bytes from the specified source to the specified destination in memory. These regions may overlap. */\\n export function copy(dst: usize, src: usize, n: usize): void;\\n /** Repeats `src` of length `srcLength` `count` times at `dst`. */\\n export function repeat(dst: usize, src: usize, srcLength: usize, count: usize): void;\\n /** Copies elements from a passive element segment to a table. */\\n export function init(segmentIndex: u32, srcOffset: usize, dstOffset: usize, n: usize): void;\\n /** Prevents further use of a passive element segment. */\\n export function drop(segmentIndex: u32): void;\\n /** Compares two chunks of memory. Returns `0` if equal, otherwise the difference of the first differing bytes. */\\n export function compare(vl: usize, vr: usize, n: usize): i32;\\n /** Gets a pointer to a zeroed static chunk of memory of the given size. Alignment defaults to `16`. Arguments must be compile-time constants. */\\n export function data(size: i32, align?: i32): usize;\\n /** Gets a pointer to a pre-initialized static chunk of memory. Alignment defaults to the size of `T`. Arguments must be compile-time constants. */\\n export function data(values: T[], align?: i32): usize;\\n\\n export namespace atomic {\\n /** Performs a wait operation on a 32-bit integer value in memory suspending this agent if the condition is met. */\\n export function wait32(ptr: usize, expected: i32, timeout?: i64): AtomicWaitResult;\\n /** Performs a wait operation on a 64-bit integer value in memory suspending this agent if the condition is met. */\\n export function wait64(ptr: usize, expected: i64, timeout?: i64): AtomicWaitResult;\\n }\\n}\\n\\n/** Heap memory interface. */\\ndeclare namespace heap {\\n /** Allocates a chunk of memory of at least the specified size. */\\n export function alloc(size: usize): usize;\\n /** Reallocates a chunk of memory to have at least the specified size. */\\n export function realloc(ptr: usize, size: usize): usize;\\n /** Frees a chunk of memory. Does hardly anything (most recent block only) with the stub/none runtime. */\\n export function free(ptr: usize): void;\\n}\\n\\n/** Table operations. */\\ndeclare namespace table {\\n /** Copies elements from a passive element segment to a table. */\\n export function init(elementIndex: u32, srcOffset: u32, dstOffset: u32, n: u32): void;\\n /** Prevents further use of a passive element segment. */\\n export function drop(elementIndex: u32): void;\\n /** Copies elements from one region of a table to another region. */\\n export function copy(dest: u32, src: u32, n: u32): void;\\n}\\n\\ndeclare namespace Atomics {\\n export function load(array: TypedArray, index: i32): T;\\n export function store(array: TypedArray, index: i32, value: T): void;\\n export function add(array: TypedArray, index: i32, value: T): T;\\n export function sub(array: TypedArray, index: i32, value: T): T;\\n export function and(array: TypedArray, index: i32, value: T): T;\\n export function or(array: TypedArray, index: i32, value: T): T;\\n export function xor(array: TypedArray, index: i32, value: T): T;\\n export function exchange(array: TypedArray, index: i32, value: T): T;\\n export function compareExchange(array: TypedArray, index: i32, expectedValue: T, replacementValue: T): T;\\n export function wait(array: TypedArray, value: T, timeout?: i64): AtomicWaitResult;\\n export function notify(array: TypedArray, index: i32, count?: i32): i32;\\n /** The static Atomics.isLockFree() method is used to determine whether to use locks or atomic operations. It returns true, if the given size is one of the BYTES_PER_ELEMENT */\\n export function isLockFree(size: usize): bool;\\n}\\n\\n/** Class representing a generic, fixed-length raw binary data buffer. */\\ndeclare class ArrayBuffer {\\n /** The size, in bytes, of the array. */\\n readonly byteLength: i32;\\n /** Returns true if value is one of the ArrayBuffer views, such as typed array or a DataView **/\\n static isView(value: T): bool;\\n /** Constructs a new array buffer of the given length in bytes. */\\n constructor(length: i32);\\n /** Returns a copy of this array buffer's bytes from begin, inclusive, up to end, exclusive. */\\n slice(begin?: i32, end?: i32): ArrayBuffer;\\n /** Returns a string representation of ArrayBuffer. */\\n toString(): string;\\n}\\n\\n/** The `DataView` view provides a low-level interface for reading and writing multiple number types in a binary `ArrayBuffer`, without having to care about the platform's endianness. */\\ndeclare class DataView {\\n /** The `buffer` accessor property represents the `ArrayBuffer` or `SharedArrayBuffer` referenced by the `DataView` at construction time. */\\n readonly buffer: ArrayBuffer;\\n /** Returns raw pointer to data storage including offset (unsafe). */\\n readonly dataStart: usize;\\n /** The `byteLength` accessor property represents the length (in bytes) of this view from the start of its `ArrayBuffer` or `SharedArrayBuffer`. */\\n readonly byteLength: i32;\\n /** The `byteOffset` accessor property represents the offset (in bytes) of this view from the start of its `ArrayBuffer` or `SharedArrayBuffer`. */\\n readonly byteOffset: i32;\\n /** Constructs a new `DataView` with the given properties */\\n constructor(buffer: ArrayBuffer, byteOffset?: i32, byteLength?: i32);\\n /** The `getFloat32()` method gets a signed 32-bit float (float) at the specified byte offset from the start of the `DataView`. */\\n getFloat32(byteOffset: i32, littleEndian?: bool): f32;\\n /** The `getFloat64()` method gets a signed 64-bit float (double) at the specified byte offset from the start of the `DataView`. */\\n getFloat64(byteOffset: i32, littleEndian?: bool): f64;\\n /** The `getInt8()` method gets a signed 8-bit integer (byte) at the specified byte offset from the start of the `DataView`. */\\n getInt8(byteOffset: i32): i8;\\n /** The `getInt16()` method gets a signed 16-bit integer (short) at the specified byte offset from the start of the `DataView`. */\\n getInt16(byteOffset: i32, littleEndian?: bool): i16;\\n /** The `getInt32()` method gets a signed 32-bit integer (long) at the specified byte offset from the start of the `DataView`. */\\n getInt32(byteOffset: i32, littleEndian?: bool): i32;\\n /** The `getInt64()` method gets a signed 64-bit integer (long long) at the specified byte offset from the start of the `DataView`. */\\n getInt64(byteOffset: i32, littleEndian?: bool): i64;\\n /** The `getUint8()` method gets an unsigned 8-bit integer (unsigned byte) at the specified byte offset from the start of the `DataView`. */\\n getUint8(byteOffset: i32): u8;\\n /** The `getUint16()` method gets an unsigned 16-bit integer (unsigned short) at the specified byte offset from the start of the `DataView`. */\\n getUint16(byteOffset: i32, littleEndian?: bool): u16;\\n /** The `getUint32()` method gets an unsigned 32-bit integer (unsigned long) at the specified byte offset from the start of the `DataView`. */\\n getUint32(byteOffset: i32, littleEndian?: bool): u32;\\n /** The `getUint64()` method gets an unsigned 64-bit integer (unsigned long long) at the specified byte offset from the start of the `DataView`. */\\n getUint64(byteOffset: i32, littleEndian?: bool): u64;\\n /** The `setFloat32()` method stores a signed 32-bit float (float) value at the specified byte offset from the start of the `DataView`. */\\n setFloat32(byteOffset: i32, value: f32, littleEndian?: bool): void;\\n /** The `setFloat64()` method stores a signed 64-bit float (double) value at the specified byte offset from the start of the `DataView`. */\\n setFloat64(byteOffset: i32, value: f64, littleEndian?: bool): void;\\n /** The `setInt8()` method stores a signed 8-bit integer (byte) value at the specified byte offset from the start of the `DataView`. */\\n setInt8(byteOffset: i32, value: i8): void;\\n /** The `setInt16()` method stores a signed 16-bit integer (short) value at the specified byte offset from the start of the `DataView`. */\\n setInt16(byteOffset: i32, value: i16, littleEndian?: bool): void;\\n /** The `setInt32()` method stores a signed 32-bit integer (long) value at the specified byte offset from the start of the `DataView`. */\\n setInt32(byteOffset: i32, value: i32, littleEndian?: bool): void;\\n /** The `setInt64()` method stores a signed 64-bit integer (long long) value at the specified byte offset from the start of the `DataView`. */\\n setInt64(byteOffset: i32, value: i64, littleEndian?: bool): void;\\n /** The `setUint8()` method stores an unsigned 8-bit integer (byte) value at the specified byte offset from the start of the `DataView`. */\\n setUint8(byteOffset: i32, value: u8): void;\\n /** The `setUint16()` method stores an unsigned 16-bit integer (unsigned short) value at the specified byte offset from the start of the `DataView`. */\\n setUint16(byteOffset: i32, value: u16, littleEndian?: bool): void;\\n /** The `setUint32()` method stores an unsigned 32-bit integer (unsigned long) value at the specified byte offset from the start of the `DataView`. */\\n setUint32(byteOffset: i32, value: u32, littleEndian?: bool): void;\\n /** The `setUint64()` method stores an unsigned 64-bit integer (unsigned long long) value at the specified byte offset from the start of the `DataView`. */\\n setUint64(byteOffset: i32, value: u64, littleEndian?: bool): void;\\n /** Returns a string representation of DataView. */\\n toString(): string;\\n}\\n\\ninterface ArrayLike {\\n [key: number]: T;\\n length: i32;\\n}\\n\\n/** Interface for a typed view on an array buffer. */\\ninterface ArrayBufferView {\\n /** The {@link ArrayBuffer} referenced by this view. */\\n readonly buffer: ArrayBuffer;\\n /** The offset in bytes from the start of the referenced {@link ArrayBuffer}. */\\n readonly byteOffset: i32;\\n /** The length in bytes from the start of the referenced {@link ArrayBuffer}. */\\n readonly byteLength: i32;\\n /** Returns raw pointer to data storage including offset (unsafe). */\\n readonly dataStart: usize;\\n}\\n\\n/** @internal */\\ndeclare abstract class TypedArray implements ArrayBufferView {\\n [key: number]: T;\\n /** Number of bytes per element. */\\n static readonly BYTES_PER_ELEMENT: usize;\\n /** Constructs a new typed array. */\\n constructor(length: i32);\\n /** The {@link ArrayBuffer} referenced by this view. */\\n readonly buffer: ArrayBuffer;\\n /** The offset in bytes from the start of the referenced {@link ArrayBuffer}. */\\n readonly byteOffset: i32;\\n /** The length in bytes from the start of the referenced {@link ArrayBuffer}. */\\n readonly byteLength: i32;\\n /** Returns raw pointer to data storage including offset (unsafe). */\\n readonly dataStart: usize;\\n /** The length (in elements). */\\n readonly length: i32;\\n /** Returns value using relative indexing. Index may be negative */\\n at(index: i32): T;\\n /** The includes() method determines whether a typed array includes a certain element, returning true or false as appropriate. */\\n includes(searchElement: T, fromIndex?: i32): bool;\\n /** The indexOf() method returns the first index at which a given element can be found in the typed array, or -1 if it is not present. */\\n indexOf(searchElement: T, fromIndex?: i32): i32;\\n /** The lastIndexOf() method returns the last index at which a given element can be found in the typed array, or -1 if it is not present. The typed array is searched backwards, starting at fromIndex. */\\n lastIndexOf(searchElement: T, fromIndex?: i32): i32;\\n /** Returns copied section of an TypedArray from begin inclusive to end exclusive */\\n slice(begin?: i32, end?: i32): TypedArray;\\n /** Returns a new TypedArray of this type on the same ArrayBuffer from begin inclusive to end exclusive. */\\n subarray(begin?: i32, end?: i32): TypedArray;\\n /** The copyWithin() method copies the sequence of array elements within the array to the position starting at target. The copy is taken from the index positions of the second and third arguments start and end. The end argument is optional and defaults to the length of the array. */\\n copyWithin(target: i32, start: i32, end?: i32): this;\\n /** The reduce() method applies a function against an accumulator and each value of the typed array (from left-to-right) has to reduce it to a single value. This method has the same algorithm as Array.prototype.reduce(). */\\n reduce(callbackfn: (accumulator: U, value: T, index: i32, self: this) => U, initialValue: U): U;\\n /** The reduceRight() method applies a function against an accumulator and each value of the typed array (from left-to-right) has to reduce it to a single value, starting from the end of the array. This method has the same algorithm as Array.prototype.reduceRight(). */\\n reduceRight(callbackfn: (accumulator: U, value: T, index: i32, self: this) => U, initialValue: U): U;\\n /** The some() method tests whether some element in the typed array passes the test implemented by the provided function. This method has the same algorithm as Array.prototype.some().*/\\n some(callbackfn: (value: T, index: i32, self: this) => bool): bool;\\n /** The map() method creates a new typed array with the results of calling a provided function on every element in this typed array. This method has the same algorithm as Array.prototype.map().*/\\n map(callbackfn: (value: T, index: i32, self: this) => T): TypedArray;\\n /** The filter() method creates a new typed array with all elements that pass the test implemented by the provided function. This method has the same algorithm as Array.prototype.filter(). */\\n filter(callbackfn: (value: T, index: i32, self: this) => bool): TypedArray;\\n /** The sort() method sorts the elements of a typed array numerically in place and returns the typed array. This method has the same algorithm as Array.prototype.sort(), except that sorts the values numerically instead of as strings. TypedArray is one of the typed array types here. */\\n sort(callback?: (a: T, b: T) => i32): this;\\n /** The fill() method fills all the elements of a typed array from a start index to an end index with a static value. This method has the same algorithm as Array.prototype.fill(). */\\n fill(value: T, start?: i32, end?: i32): this;\\n /** The findIndex() method returns an index in the typed array, if an element in the typed array satisfies the provided testing function. Otherwise -1 is returned. See also the find() [not implemented] method, which returns the value of a found element in the typed array instead of its index. */\\n findIndex(callbackfn: (value: T, index: i32, self: this) => bool): i32;\\n /** The findLastIndex() method returns an index start searching from the end in the typed array, if an element in the typed array satisfies the provided testing function. Otherwise -1 is returned. See also the find() [not implemented] method, which returns the value of a found element in the typed array instead of its index. */\\n findLastIndex(callbackfn: (value: T, index: i32, self: this) => bool): i32;\\n /** The every() method tests whether all elements in the typed array pass the test implemented by the provided function. This method has the same algorithm as Array.prototype.every(). */\\n every(callbackfn: (value: T, index: i32, self: this) => bool): bool;\\n /** The forEach() method executes a provided function once per array element. This method has the same algorithm as Array.prototype.forEach().*/\\n forEach(callbackfn: (value: T, index: i32, self: this) => void): void;\\n /** The reverse() method reverses a typed array in place. The first typed array element becomes the last and the last becomes the first. This method has the same algorithm as Array.prototype.reverse(). */\\n reverse(): this;\\n /** The join() method joins all elements of an array into a string. This method has the same algorithm as Array.prototype.join(). */\\n join(separator?: string): string;\\n /** The set() method stores multiple values in the typed array, reading input values from a specified array. */\\n set>(source: U, offset?: i32): void\\n /** The toString() method returns a string representing the specified array and its elements. This method has the same algorithm as Array.prototype.toString() */\\n toString(): string;\\n}\\n\\n/** An array of twos-complement 8-bit signed integers. */\\ndeclare class Int8Array extends TypedArray {\\n /** Wrap an ArrayBuffer */\\n static wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Int8Array;\\n}\\n/** An array of 8-bit unsigned integers. */\\ndeclare class Uint8Array extends TypedArray {\\n /** Wrap an ArrayBuffer */\\n static wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Uint8Array;\\n}\\n/** A clamped array of 8-bit unsigned integers. */\\ndeclare class Uint8ClampedArray extends TypedArray {\\n /** Wrap an ArrayBuffer */\\n static wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Uint8ClampedArray;\\n}\\n/** An array of twos-complement 16-bit signed integers. */\\ndeclare class Int16Array extends TypedArray {\\n /** Wrap an ArrayBuffer */\\n static wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Int16Array;\\n}\\n/** An array of 16-bit unsigned integers. */\\ndeclare class Uint16Array extends TypedArray {\\n /** Wrap an ArrayBuffer */\\n static wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Uint16Array;\\n}\\n/** An array of twos-complement 32-bit signed integers. */\\ndeclare class Int32Array extends TypedArray {\\n /** Wrap an ArrayBuffer */\\n static wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Int32Array;\\n}\\n/** An array of 32-bit unsigned integers. */\\ndeclare class Uint32Array extends TypedArray {\\n /** Wrap an ArrayBuffer */\\n static wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Uint32Array;\\n}\\n/** An array of twos-complement 64-bit signed integers. */\\ndeclare class Int64Array extends TypedArray {\\n /** Wrap an ArrayBuffer */\\n static wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Int64Array;\\n}\\n/** An array of 64-bit unsigned integers. */\\ndeclare class Uint64Array extends TypedArray {\\n /** Wrap an ArrayBuffer */\\n static wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Uint64Array;\\n}\\n/** An array of 32-bit floating point numbers. */\\ndeclare class Float32Array extends TypedArray {\\n /** Wrap an ArrayBuffer */\\n static wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Float32Array;\\n}\\n/** An array of 64-bit floating point numbers. */\\ndeclare class Float64Array extends TypedArray {\\n /** Wrap an ArrayBuffer */\\n static wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Float64Array;\\n}\\n\\n/** Class representing a sequence of values of type `T`. */\\ndeclare class Array {\\n\\n /** Tests if a value is an array. */\\n static isArray(value: any): value is Array;\\n\\n [key: number]: T;\\n /** Current length of the array. */\\n length: i32;\\n /** Returns raw pointer to data storage (unsafe). */\\n readonly dataStart: usize;\\n /** Constructs a new array. */\\n constructor(length?: i32);\\n at(index: i32): T;\\n fill(value: T, start?: i32, end?: i32): this;\\n findIndex(callbackfn: (value: T, index: i32, array: Array) => bool): i32;\\n findLastIndex(callbackfn: (value: T, index: i32, array: Array) => bool): i32;\\n includes(searchElement: T, fromIndex?: i32): bool;\\n indexOf(searchElement: T, fromIndex?: i32): i32;\\n lastIndexOf(searchElement: T, fromIndex?: i32): i32;\\n push(element: T): i32;\\n concat(items: T[]): T[];\\n copyWithin(target: i32, start: i32, end?: i32): this;\\n pop(): T;\\n forEach(callbackfn: (value: T, index: i32, array: Array) => void): void;\\n map(callbackfn: (value: T, index: i32, array: Array) => U): Array;\\n filter(callbackfn: (value: T, index: i32, array: Array) => bool): Array;\\n reduce(callbackfn: (previousValue: U, currentValue: T, currentIndex: i32, array: Array) => U, initialValue: U): U;\\n reduceRight(callbackfn: (previousValue: U, currentValue: T, currentIndex: i32, array: Array) => U, initialValue: U): U;\\n every(callbackfn: (value: T, index: i32, array: Array) => bool): bool;\\n some(callbackfn: (value: T, index: i32, array: Array) => bool): bool;\\n shift(): T;\\n unshift(element: T): i32;\\n slice(from?: i32, to?: i32): Array;\\n splice(start: i32, deleteCount?: i32): Array;\\n sort(comparator?: (a: T, b: T) => i32): this;\\n join(separator?: string): string;\\n reverse(): this;\\n /** Flattens an array of arrays. If any null entries exist in the array, they are ignored, unlike JavaScript's version of Array#flat(). */\\n flat(): T extends unknown[] ? T : never;\\n toString(): string;\\n}\\n\\n/** Class representing a static (not resizable) sequence of values of type `T`. This class is @final. */\\ndeclare class StaticArray {\\n [key: number]: T;\\n static fromArray(source: Array): StaticArray;\\n /** @deprecated */\\n static concat(source: StaticArray, other: StaticArray): StaticArray;\\n /** @deprecated */\\n static slice(source: StaticArray, start?: i32, end?: i32): StaticArray;\\n readonly length: i32;\\n constructor(length?: i32);\\n at(index: i32): T;\\n fill(value: T, start?: i32, end?: i32): this;\\n findIndex(callbackfn: (value: T, index: i32, array: StaticArray) => bool): i32;\\n findLastIndex(callbackfn: (value: T, index: i32, array: StaticArray) => bool): i32;\\n copyWithin(target: i32, start: i32, end?: i32): this;\\n includes(searchElement: T, fromIndex?: i32): bool;\\n indexOf(searchElement: T, fromIndex?: i32): i32;\\n lastIndexOf(searchElement: T, fromIndex?: i32): i32;\\n forEach(callbackfn: (value: T, index: i32, array: StaticArray) => void): void;\\n map(callbackfn: (value: T, index: i32, array: StaticArray) => U): Array;\\n filter(callbackfn: (value: T, index: i32, array: StaticArray) => bool): Array;\\n reduce(callbackfn: (previousValue: U, currentValue: T, currentIndex: i32, array: StaticArray) => U, initialValue: U): U;\\n reduceRight(callbackfn: (previousValue: U, currentValue: T, currentIndex: i32, array: StaticArray) => U, initialValue: U): U;\\n every(callbackfn: (value: T, index: i32, array: StaticArray) => bool): bool;\\n some(callbackfn: (value: T, index: i32, array: StaticArray) => bool): bool;\\n concat(items: Array): Array;\\n concat>(other: U): U;\\n slice(from?: i32, to?: i32): Array;\\n slice>(from?: i32, to?: i32): U;\\n sort(comparator?: (a: T, b: T) => i32): this;\\n join(separator?: string): string;\\n reverse(): this;\\n toString(): string;\\n}\\n\\n/** Class representing a sequence of characters. */\\ndeclare class String {\\n static fromCharCode(ls: i32, hs?: i32): string;\\n static fromCharCodes(arr: i32[]): string;\\n static fromCodePoint(code: i32): string;\\n static fromCodePoints(arr: i32[]): string;\\n static raw(parts: TemplateStringsArray, ...args: any[]): string;\\n readonly length: i32;\\n at(index: i32): string;\\n charAt(index: i32): string;\\n charCodeAt(index: i32): i32;\\n codePointAt(index: i32): i32;\\n concat(other: string): string;\\n endsWith(other: string): bool;\\n indexOf(other: string, fromIndex?: i32): i32;\\n lastIndexOf(other: string, fromIndex?: i32): i32;\\n localeCompare(other: string): i32;\\n includes(other: string): bool;\\n startsWith(other: string): bool;\\n substr(start: i32, length?: i32): string;\\n substring(start: i32, end?: i32): string;\\n trim(): string;\\n trimLeft(): string;\\n trimRight(): string;\\n trimStart(): string;\\n trimEnd(): string;\\n padStart(targetLength: i32, padString?: string): string;\\n padEnd(targetLength: i32, padString?: string): string;\\n repeat(count?: i32): string;\\n replace(search: string, replacement: string): string;\\n replaceAll(search: string, replacement: string): string;\\n slice(beginIndex: i32, endIndex?: i32): string;\\n split(separator?: string, limit?: i32): string[];\\n toLowerCase(): string;\\n toUpperCase(): string;\\n toString(): string;\\n}\\n\\ndeclare namespace String {\\n /** Encoding helpers for UTF-8. */\\n export namespace UTF8 {\\n /** UTF-8 encoding error modes. */\\n export const enum ErrorMode {\\n /** Keeps unpaired surrogates as of WTF-8. This is the default. */\\n WTF8,\\n /** Replaces unpaired surrogates with the replacement character (U+FFFD). */\\n REPLACE,\\n /** Throws an error on unpaired surrogates. */\\n ERROR\\n }\\n /** Calculates the byte length of the specified string when encoded as UTF-8, optionally null terminated. */\\n export function byteLength(str: string, nullTerminated?: bool): i32;\\n /** Encodes the specified string to UTF-8 bytes, optionally null terminated. ErrorMode defaults to WTF-8. */\\n export function encode(str: string, nullTerminated?: bool, errorMode?: ErrorMode): ArrayBuffer;\\n /** Encodes the specified raw string to UTF-8 bytes, opionally null terminated. ErrorMode defaults to WTF-8. Returns the number of bytes written. */\\n export function encodeUnsafe(str: usize, len: i32, buf: usize, nullTerminated?: bool, errorMode?: ErrorMode): usize;\\n /** Decodes the specified buffer from UTF-8 bytes to a string, optionally null terminated. */\\n export function decode(buf: ArrayBuffer, nullTerminated?: bool): string;\\n /** Decodes raw UTF-8 bytes to a string, optionally null terminated. */\\n export function decodeUnsafe(buf: usize, len: usize, nullTerminated?: bool): string;\\n }\\n /** Encoding helpers for UTF-16. */\\n export namespace UTF16 {\\n /** Calculates the byte length of the specified string when encoded as UTF-16. */\\n export function byteLength(str: string): i32;\\n /** Encodes the specified string to UTF-16 bytes. */\\n export function encode(str: string): ArrayBuffer;\\n /** Encodes the specified raw string to UTF-16 bytes. Returns the number of bytes written. */\\n export function encodeUnsafe(str: usize, len: i32, buf: usize): usize;\\n /** Decodes the specified buffer from UTF-16 bytes to a string. */\\n export function decode(buf: ArrayBuffer): string;\\n /** Decodes raw UTF-16 bytes to a string. */\\n export function decodeUnsafe(buf: usize, len: usize): string;\\n }\\n}\\n\\ndeclare class TemplateStringsArray extends Array {\\n readonly raw: string[];\\n}\\n\\ndeclare class Object {\\n /** The Object.is() method determines whether two values are the same value. */\\n static is(value1: T, value2: T): bool;\\n}\\n\\ndeclare namespace performance {\\n /** Gets a high resolution timestamp measured in milliseconds. */\\n export function now(): f64;\\n}\\n\\ndeclare class Date {\\n /** Returns the UTC timestamp in milliseconds of the specified date. */\\n static UTC(\\n year: i32,\\n month: i32,\\n day: i32,\\n hour: i32,\\n minute: i32,\\n second: i32,\\n millisecond: i32\\n ): i64;\\n /** Returns the current UTC timestamp in milliseconds. */\\n static now(): i64;\\n /** Parses a string representation of a date, and returns the number of milliseconds since January 1, 1970, 00:00:00 UTC. */\\n static parse(dateString: string): Date;\\n static fromString(dateString: string): Date;\\n /** Constructs a new date object from an UTC timestamp in milliseconds. */\\n constructor(value: i64);\\n /** Returns the UTC timestamp of this date in milliseconds. */\\n getTime(): i64;\\n /** Sets the UTC timestamp of this date in milliseconds. */\\n setTime(value: i64): i64;\\n\\n getUTCFullYear(): i32;\\n getUTCMonth(): i32;\\n getUTCDate(): i32;\\n getUTCDay(): i32;\\n getUTCHours(): i32;\\n getUTCMinutes(): i32;\\n getUTCSeconds(): i32;\\n getUTCMilliseconds(): i32;\\n\\n setUTCFullYear(value: i32): void;\\n setUTCMonth(value: i32, day?: i32): void;\\n setUTCDate(value: i32): void;\\n setUTCHours(value: i32): void;\\n setUTCMinutes(value: i32): void;\\n setUTCSeconds(value: i32): void;\\n setUTCMilliseconds(value: i32): void;\\n\\n toString(): string;\\n toISOString(): string;\\n toUTCString(): string;\\n toDateString(): string;\\n toTimeString(): string;\\n}\\n\\n/** Class for representing a runtime error. Base class of all errors. */\\ndeclare class Error {\\n\\n /** Error name. */\\n name: string;\\n\\n /** Message provided on construction. */\\n message: string;\\n\\n /** Stack trace. */\\n stack?: string;\\n\\n /** Constructs a new error, optionally with a message. */\\n constructor(message?: string);\\n\\n /** Method returns a string representing the specified Error class. */\\n toString(): string;\\n}\\n\\n/** Class for indicating an error when a value is not in the set or range of allowed values. */\\ndeclare class RangeError extends Error { }\\n\\n/** Class for indicating an error when a value is not of the expected type. */\\ndeclare class TypeError extends Error { }\\n\\n/** Class for indicating an error when trying to interpret syntactically invalid code. */\\ndeclare class SyntaxError extends Error { }\\n\\n/** Class for indicating an error when a global URI handling function was used in a wrong way. */\\ndeclare class URIError extends Error { }\\n\\ninterface Function {\\n /** Function table index. */\\n readonly index: u32;\\n /** Function name. Always an empty string. */\\n readonly name: string;\\n /** Number of expected parameters. */\\n readonly length: u32;\\n /** Calls this function indirectly with the specified arguments. */\\n call(thisArg: unknown, ...args: unknown[]): any;\\n /** Returns a string representation of this function. */\\n toString(): string;\\n}\\n\\n/**\\n * Extracts the type of the 'this' parameter of a function type, or 'unknown' if the function type has no 'this' parameter.\\n */\\ntype ThisParameterType = T extends (this: infer U, ...args: never) => any ? U : unknown;\\n\\n/**\\n * Removes the 'this' parameter from a function type.\\n */\\ntype OmitThisParameter = unknown extends ThisParameterType ? T : T extends (...args: infer A) => infer R ? (...args: A) => R : T;\\n\\ninterface CallableFunction extends Function {\\n /**\\n * Calls the function with the specified object as the this value and the elements of specified array as the arguments.\\n * @param thisArg The object to be used as the this object.\\n */\\n apply(this: (this: T) => R, thisArg: T): R;\\n\\n /**\\n * Calls the function with the specified object as the this value and the elements of specified array as the arguments.\\n * @param thisArg The object to be used as the this object.\\n * @param args An array of argument values to be passed to the function.\\n */\\n apply(this: (this: T, ...args: A) => R, thisArg: T, args: A): R;\\n\\n /**\\n * Calls the function with the specified object as the this value and the specified rest arguments as the arguments.\\n * @param thisArg The object to be used as the this object.\\n * @param args Argument values to be passed to the function.\\n */\\n call(this: (this: T, ...args: A) => R, thisArg: T, ...args: A): R;\\n\\n /**\\n * For a given function, creates a bound function that has the same body as the original function.\\n * The this object of the bound function is associated with the specified object, and has the specified initial parameters.\\n * @param thisArg The object to be used as the this object.\\n */\\n bind(this: T, thisArg: ThisParameterType): OmitThisParameter;\\n\\n /**\\n * For a given function, creates a bound function that has the same body as the original function.\\n * The this object of the bound function is associated with the specified object, and has the specified initial parameters.\\n * @param thisArg The object to be used as the this object.\\n * @param args Arguments to bind to the parameters of the function.\\n */\\n bind(this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R;\\n}\\n\\ninterface NewableFunction extends Function {\\n /**\\n * Calls the function with the specified object as the this value and the elements of specified array as the arguments.\\n * @param thisArg The object to be used as the this object.\\n */\\n apply(this: new () => T, thisArg: T): void;\\n /**\\n * Calls the function with the specified object as the this value and the elements of specified array as the arguments.\\n * @param thisArg The object to be used as the this object.\\n * @param args An array of argument values to be passed to the function.\\n */\\n apply(this: new (...args: A) => T, thisArg: T, args: A): void;\\n\\n /**\\n * Calls the function with the specified object as the this value and the specified rest arguments as the arguments.\\n * @param thisArg The object to be used as the this object.\\n * @param args Argument values to be passed to the function.\\n */\\n call(this: new (...args: A) => T, thisArg: T, ...args: A): void;\\n\\n /**\\n * For a given function, creates a bound function that has the same body as the original function.\\n * The this object of the bound function is associated with the specified object, and has the specified initial parameters.\\n * @param thisArg The object to be used as the this object.\\n */\\n bind(this: T, thisArg: any): T;\\n\\n /**\\n * For a given function, creates a bound function that has the same body as the original function.\\n * The this object of the bound function is associated with the specified object, and has the specified initial parameters.\\n * @param thisArg The object to be used as the this object.\\n * @param args Arguments to bind to the parameters of the function.\\n */\\n bind(this: new (...args: [...A, ...B]) => R, thisArg: any, ...args: A): new (...args: B) => R;\\n}\\n\\ninterface IArguments {}\\ninterface RegExp {}\\n\\ndeclare class Map {\\n readonly size: i32;\\n has(key: K): bool;\\n set(key: K, value: V): this;\\n get(key: K): V;\\n delete(key: K): bool;\\n clear(): void;\\n keys(): K[]; // preliminary\\n values(): V[]; // preliminary\\n toString(): string;\\n}\\n\\ndeclare class Set {\\n readonly size: i32;\\n has(value: K): bool;\\n add(value: K): this;\\n delete(value: K): bool;\\n clear(): void;\\n values(): K[]; // preliminary\\n toString(): string;\\n}\\n\\ninterface SymbolConstructor {\\n readonly hasInstance: symbol;\\n readonly isConcatSpreadable: symbol;\\n readonly isRegExp: symbol;\\n readonly iterator: symbol;\\n readonly match: symbol;\\n readonly replace: symbol;\\n readonly search: symbol;\\n readonly species: symbol;\\n readonly split: symbol;\\n readonly toPrimitive: symbol;\\n readonly toStringTag: symbol;\\n readonly unscopables: symbol;\\n (description?: string | null): symbol;\\n for(key: string): symbol;\\n keyFor(sym: symbol): string | null;\\n}\\n\\ndeclare const Symbol: SymbolConstructor;\\n\\n/** @internal */\\ninterface IMath {\\n /** The base of natural logarithms, e, approximately 2.718. */\\n readonly E: T;\\n /** The natural logarithm of 2, approximately 0.693. */\\n readonly LN2: T;\\n /** The natural logarithm of 10, approximately 2.302. */\\n readonly LN10: T;\\n /** The base 2 logarithm of e, approximately 1.442. */\\n readonly LOG2E: T;\\n /** The base 10 logarithm of e, approximately 0.434. */\\n readonly LOG10E: T;\\n /** The ratio of the circumference of a circle to its diameter, approximately 3.14159. */\\n readonly PI: T;\\n /** The square root of 1/2, approximately 0.707. */\\n readonly SQRT1_2: T;\\n /** The square root of 2, approximately 1.414. */\\n readonly SQRT2: T;\\n /** Returns the absolute value of `x`. */\\n abs(x: T): T;\\n /** Returns the arccosine (in radians) of `x`. */\\n acos(x: T): T;\\n /** Returns the hyperbolic arc-cosine of `x`. */\\n acosh(x: T): T;\\n /** Returns the arcsine (in radians) of `x`. */\\n asin(x: T): T;\\n /** Returns the hyperbolic arcsine of `x`. */\\n asinh(x: T): T;\\n /** Returns the arctangent (in radians) of `x`. */\\n atan(x: T): T;\\n /** Returns the arctangent of the quotient of its arguments. */\\n atan2(y: T, x: T): T;\\n /** Returns the hyperbolic arctangent of `x`. */\\n atanh(x: T): T;\\n /** Returns the cube root of `x`. */\\n cbrt(x: T): T;\\n /** Returns the smallest integer greater than or equal to `x`. */\\n ceil(x: T): T;\\n /** Returns the number of leading zero bits in the 32-bit binary representation of `x`. */\\n clz32(x: T): T;\\n /** Returns the cosine (in radians) of `x`. */\\n cos(x: T): T;\\n /** Returns the hyperbolic cosine of `x`. */\\n cosh(x: T): T;\\n /** Returns e to the power of `x`. */\\n exp(x: T): T;\\n /** Returns e to the power of `x`, minus 1. */\\n expm1(x: T): T;\\n /** Returns the largest integer less than or equal to `x`. */\\n floor(x: T): T;\\n /** Returns the nearest 32-bit single precision float representation of `x`. */\\n fround(x: T): T;\\n /** Returns the square root of the sum of squares of its arguments. */\\n hypot(value1: T, value2: T): T; // TODO: rest\\n /** Returns the result of the C-like 32-bit multiplication of `a` and `b`. */\\n imul(a: T, b: T): T;\\n /** Returns the natural logarithm (base e) of `x`. */\\n log(x: T): T;\\n /** Returns the base 10 logarithm of `x`. */\\n log10(x: T): T;\\n /** Returns the natural logarithm (base e) of 1 + `x`. */\\n log1p(x: T): T;\\n /** Returns the base 2 logarithm of `x`. */\\n log2(x: T): T;\\n /** Returns the largest-valued number of its arguments. */\\n max(value1: T, value2: T): T; // TODO: rest\\n /** Returns the lowest-valued number of its arguments. */\\n min(value1: T, value2: T): T; // TODO: rest\\n /** Returns `base` to the power of `exponent`. */\\n pow(base: T, exponent: T): T;\\n /** Returns a pseudo-random number in the range from 0.0 inclusive up to but not including 1.0. */\\n random(): T;\\n /** Returns the value of `x` rounded to the nearest integer. */\\n round(x: T): T;\\n /** Returns the sign of `x`, indicating whether the number is positive, negative or zero. */\\n sign(x: T): T;\\n /** Returns whether the sign bit of `x` is set. */\\n signbit(x: T): bool;\\n /** Returns the sine of `x`. */\\n sin(x: T): T;\\n /** Returns the hyperbolic sine of `x`. */\\n sinh(x: T): T;\\n /** Returns the square root of `x`. */\\n sqrt(x: T): T;\\n /** Returns the tangent of `x`. */\\n tan(x: T): T;\\n /** Returns the hyperbolic tangent of `x`. */\\n tanh(x: T): T;\\n /** Returns the integer part of `x` by removing any fractional digits. */\\n trunc(x: T): T;\\n}\\n\\n/** @internal */\\ninterface INativeMath extends IMath {\\n /** Contains sin value produced after Math/Mathf.sincos */\\n sincos_sin: T;\\n /** Contains cos value produced after Math/Mathf.sincos */\\n sincos_cos: T;\\n /** Seeds the random number generator. */\\n seedRandom(value: i64): void;\\n /** Multiplies a floating point `x` by 2 raised to power exp `n`. */\\n scalbn(x: T, n: i32): T;\\n /** Returns the floating-point remainder of `x / y` (rounded towards zero). */\\n mod(x: T, y: T): T;\\n /** Returns the floating-point remainder of `x / y` (rounded to nearest). */\\n rem(x: T, y: T): T;\\n /** Returns sin and cos simultaneously for same angle. Results stored to `sincos_s32/64` and `sincos_c32/64` globals */\\n sincos(x: T): void;\\n /** Returns 2 raised to the given power x. Equivalent to 2 ** x. */\\n exp2(x: T): T;\\n}\\n\\n/** Double precision math imported from JavaScript. */\\ndeclare const JSMath: IMath;\\n/** Double precision math implemented natively. */\\ndeclare const NativeMath: INativeMath;\\n/** Single precision math implemented natively. */\\ndeclare const NativeMathf: INativeMath;\\n/** Alias of {@link NativeMath} or {@link JSMath} respectively. Defaults to `NativeMath`. */\\ndeclare const Math: IMath;\\n/** Alias of {@link NativeMathf} or {@link JSMath} respectively. Defaults to `NativeMathf`. */\\ndeclare const Mathf: IMath;\\n\\n/** Environmental abort function. */\\ndeclare function abort(msg?: string | null, fileName?: string | null, lineNumber?: i32, columnNumber?: i32): never;\\n/** Environmental tracing function. */\\ndeclare function trace(msg: string, n?: i32, a0?: f64, a1?: f64, a2?: f64, a3?: f64, a4?: f64): void;\\n/** Environmental seeding function. */\\ndeclare function seed(): f64;\\n\\n/** Node-like process. */\\ndeclare namespace process {\\n /** String representing the CPU architecture for which the binary was compiled. Either `wasm32` or `wasm64`. */\\n export const arch: string;\\n /** String representing the operating system platform for which the binary was compiled. Always `wasm`. */\\n export const platform: string;\\n /** Array of command line arguments passed to the binary upon instantiation. */\\n export const argv: string[];\\n /** Map of variables in the binary's user environment. */\\n export const env: Map;\\n /** Terminates the process with either the given exit code, or `process.exitCode` if omitted. */\\n export function exit(code?: i32): void;\\n /** `exit()`\u2019s default value. Defaults to `0`. */\\n export let exitCode: i32;\\n /** Stream connected to `stdin` (fd `0`). */\\n export const stdin: ReadableStream;\\n /** Stream connected to `stdout` (fd `1`). */\\n export const stdout: WritableStream;\\n /** Stream connected to `stderr` (fd `2`). */\\n export const stderr: WritableStream;\\n /** Obtains the system's current time of day, in milliseconds since Unix epoch. */\\n export function time(): i64;\\n /** Obtains the system's monotonic high resolution time, in nanoseconds since an arbitrary time in the past. */\\n export function hrtime(): u64;\\n\\n interface Stream {\\n /** Closes the stream. Throws if already closed or if the stream cannot be closed. */\\n close(): void;\\n }\\n interface ReadableStream extends Stream {\\n /** Reads available data from the stream, into `buffer` at offset `offset`, returning the number of bytes read. */\\n read(buffer: ArrayBuffer, offset?: isize): i32;\\n }\\n interface WritableStream extends Stream {\\n /** Writes string or buffer to the stream. */\\n write(data: T): void;\\n }\\n}\\n\\n/** Browser-like console. */\\ndeclare namespace console {\\n /** Logs `message` to console if `assertion` is false-ish. */\\n export function assert(assertion: T, message?: string): void;\\n /** Outputs `message` to the console. */\\n export function log(message?: string): void;\\n /** Outputs `message` to the console, prefixed with \\\"Debug:\\\". */\\n export function debug(message?: string): void;\\n /** Outputs `message` to the console, prefixed with \\\"Info:\\\". */\\n export function info(message?: string): void;\\n /** Outputs `message` to the console, prefixed with \\\"Warning:\\\". */\\n export function warn(message?: string): void;\\n /** Outputs `message` to the console, prefixed with \\\"Error:\\\". */\\n export function error(message?: string): void;\\n /** Starts a new timer using the specified `label`. */\\n export function time(label?: string): void;\\n /** Logs the current value of a timer previously started with `console.time`. */\\n export function timeLog(label?: string): void;\\n /** Logs the current value of a timer previously started with `console.time` and discards the timer. */\\n export function timeEnd(label?: string): void;\\n}\\n\\n/** Browser-like crypto utilities. */\\ndeclare namespace crypto {\\n /** Fills `array` with cryptographically strong random values. */\\n export function getRandomValues(array: Uint8Array): void;\\n}\\n\\n// Decorators\\n\\ninterface TypedPropertyDescriptor {\\n configurable?: boolean;\\n enumerable?: boolean;\\n writable?: boolean;\\n value?: T;\\n get?(): T;\\n set?(value: T): void;\\n}\\n\\ntype Constructor =\\n (new (...args: any[]) => unknown)\\n | (abstract new (...args: any[]) => unknown);\\n\\n/** Annotates a method as a binary operator overload for the specified `token`. */\\ndeclare function operator(token:\\n \\\"[]\\\" | \\\"[]=\\\" | \\\"{}\\\" | \\\"{}=\\\" | \\\"==\\\" | \\\"!=\\\" | \\\">\\\" | \\\"<\\\" | \\\"<=\\\" | \\\">=\\\" |\\n \\\">>\\\" | \\\">>>\\\" | \\\"<<\\\" | \\\"&\\\" | \\\"|\\\" | \\\"^\\\" | \\\"+\\\" | \\\"-\\\" | \\\"*\\\" | \\\"**\\\" | \\\"/\\\" | \\\"%\\\"\\n): (\\n target: any,\\n propertyKey: string,\\n descriptor: TypedPropertyDescriptor\\n) => TypedPropertyDescriptor | void;\\n\\ndeclare namespace operator {\\n /** Annotates a method as a binary operator overload for the specified `token`. */\\n export function binary(token:\\n \\\"[]\\\" | \\\"[]=\\\" | \\\"{}\\\" | \\\"{}=\\\" | \\\"==\\\" | \\\"!=\\\" | \\\">\\\" | \\\"<\\\" | \\\"<=\\\" | \\\">=\\\" |\\n \\\">>\\\" | \\\">>>\\\" | \\\"<<\\\" | \\\"&\\\" | \\\"|\\\" | \\\"^\\\" | \\\"+\\\" | \\\"-\\\" | \\\"*\\\" | \\\"**\\\" | \\\"/\\\" | \\\"%\\\"\\n ): (\\n target: any,\\n propertyKey: string,\\n descriptor: TypedPropertyDescriptor\\n ) => TypedPropertyDescriptor | void;\\n /** Annotates a method as an unary prefix operator overload for the specified `token`. */\\n export function prefix(token: \\\"!\\\" | \\\"~\\\" | \\\"+\\\" | \\\"-\\\" | \\\"++\\\" | \\\"--\\\"): (\\n target: any,\\n propertyKey: string,\\n descriptor: TypedPropertyDescriptor\\n ) => TypedPropertyDescriptor | void;\\n /** Annotates a method as an unary postfix operator overload for the specified `token`. */\\n export function postfix(token: \\\"++\\\" | \\\"--\\\"): (\\n target: any,\\n propertyKey: string,\\n descriptor: TypedPropertyDescriptor\\n ) => TypedPropertyDescriptor | void;\\n}\\n\\n/** Annotates an element as a program global. */\\ndeclare function global(...args: any[]): any;\\n\\n/** Annotates a class as being unmanaged with limited capabilities. */\\ndeclare function unmanaged(constructor: Constructor): void;\\n\\n/** Annotates a class as being final / non-derivable. */\\ndeclare function final(constructor: Constructor): void;\\n\\n/** Annotates a method, function or constant global as always inlined. */\\ndeclare function inline(...args: any[]): any;\\n\\n/** Annotates a method, function or constant global as unsafe. */\\ndeclare function unsafe(...args: any[]): any;\\n\\n/** Annotates an explicit external name of a function or global. */\\ndeclare function external(name: string): any;\\ndeclare function external(moduleName: string, name: string): any;\\ndeclare namespace external {\\n function js(code: string): any;\\n}\\n\\n/** Annotates a global for lazy compilation. */\\ndeclare function lazy(...args: any[]): any;\\n\",\n \"portable\": \"/**\\n * Environment definitions for compiling AssemblyScript to JavaScript using tsc.\\n *\\n * Note that semantic differences require additional explicit conversions for full compatibility.\\n * For example, when casting an i32 to an u8, doing `(someI32 & 0xff)` will yield the same\\n * result when compiling to WebAssembly or JS while `someI32` alone does nothing in JS.\\n *\\n * Note that i64's are not portable (JS numbers are IEEE754 doubles with a maximum safe integer\\n * value of 2^53-1) and instead require a compatibility layer to work in JS as well, as for example\\n * {@link glue/js/i64} respectively {@link glue/wasm/i64}.\\n *\\n * @module std/portable\\n *//***/\\n\\n// Types\\n\\ndeclare type bool = boolean;\\ndeclare type i8 = number;\\ndeclare type i16 = number;\\ndeclare type i32 = number;\\ndeclare type isize = number;\\ndeclare type u8 = number;\\ndeclare type u16 = number;\\ndeclare type u32 = number;\\ndeclare type usize = number;\\ndeclare type f32 = number;\\ndeclare type f64 = number;\\n\\n/** Special type evaluating the indexed access index type. */\\ndeclare type indexof = keyof T;\\n/** Special type evaluating the indexed access value type. */\\ndeclare type valueof = T[0];\\n\\n// Compiler hints\\n\\n/** Compiler target. 0 = JS, 1 = WASM32, 2 = WASM64. */\\ndeclare const ASC_TARGET: i32;\\n/** Runtime type. 0 = Stub, 1 = Minimal, 2 = Incremental. */\\ndeclare const ASC_RUNTIME: i32;\\n/** Provided noAssert option. */\\ndeclare const ASC_NO_ASSERT: bool;\\n/** Provided memoryBase option. */\\ndeclare const ASC_MEMORY_BASE: i32;\\n/** Provided optimizeLevel option. */\\ndeclare const ASC_OPTIMIZE_LEVEL: i32;\\n/** Provided shrinkLevel option. */\\ndeclare const ASC_SHRINK_LEVEL: i32;\\n/** Whether the mutable global feature is enabled. */\\ndeclare const ASC_FEATURE_MUTABLE_GLOBAL: bool;\\n/** Whether the sign extension feature is enabled. */\\ndeclare const ASC_FEATURE_SIGN_EXTENSION: bool;\\n\\n// Builtins\\n\\n/** Performs the sign-agnostic reverse bytes **/\\ndeclare function bswap(value: T): T;\\n/** Performs the sign-agnostic count leading zero bits operation on a 32-bit integer. All zero bits are considered leading if the value is zero. */\\ndeclare function clz(value: T): T;\\n/** Performs the sign-agnostic count tailing zero bits operation on a 32-bit integer. All zero bits are considered trailing if the value is zero. */\\ndeclare function ctz(value: T): T;\\n/** Performs the sign-agnostic count number of one bits operation on a 32-bit integer. */\\ndeclare function popcnt(value: T): T;\\n/** Performs the sign-agnostic rotate left operation on a 32-bit integer. */\\ndeclare function rotl(value: T, shift: T): T;\\n/** Performs the sign-agnostic rotate right operation on a 32-bit integer. */\\ndeclare function rotr(value: T, shift: T): T;\\n/** Computes the absolute value of an integer or float. */\\ndeclare function abs(value: T): T;\\n/** Determines the maximum of two integers or floats. If either operand is `NaN`, returns `NaN`. */\\ndeclare function max(left: T, right: T): T;\\n/** Determines the minimum of two integers or floats. If either operand is `NaN`, returns `NaN`. */\\ndeclare function min(left: T, right: T): T;\\n/** Composes a 32-bit or 64-bit float from the magnitude of `x` and the sign of `y`. */\\ndeclare function copysign(x: T, y: T): T;\\n/** Performs the ceiling operation on a 32-bit or 64-bit float. */\\ndeclare function ceil(value: T): T;\\n/** Performs the floor operation on a 32-bit or 64-bit float. */\\ndeclare function floor(value: T): T;\\n/** Rounds to the nearest integer tied to even of a 32-bit or 64-bit float. */\\ndeclare function nearest(value: T): T;\\n/** Selects one of two pre-evaluated values depending on the condition. */\\ndeclare function select(ifTrue: T, ifFalse: T, condition: bool): T;\\n/** Calculates the square root of a 32-bit or 64-bit float. */\\ndeclare function sqrt(value: T): T;\\n/** Rounds to the nearest integer towards zero of a 32-bit or 64-bit float. */\\ndeclare function trunc(value: T): T;\\n/** Emits an unreachable operation that results in a runtime error when executed. */\\ndeclare function unreachable(): any; // sic\\n\\n/** Changes the type of any value of `usize` kind to another one of `usize` kind. Useful for casting class instances to their pointer values and vice-versa. Beware that this is unsafe.*/\\ndeclare function changetype(value: any): T;\\n/** Explicitly requests no bounds checks on the provided expression. Useful for array accesses. */\\ndeclare function unchecked(value: T): T;\\n/** Tests if the specified value is a valid integer. Can't distinguish an integer from an integral float. */\\ndeclare function isInteger(value: any): value is number;\\n/** Tests if the specified value is a valid float. Can't distinguish a float from an integer. */\\ndeclare function isFloat(value: any): value is number;\\n/** Tests if the specified value is of a nullable reference type. */\\ndeclare function isNullable(value: any): bool;\\n/** Tests if the specified value is of a reference type. */\\ndeclare function isReference(value: any): value is object | string;\\n/** Tests if the specified value is of a function type */\\ndeclare function isFunction(value: any): value is Function;\\n/** Tests if the specified value can be used as a string. */\\ndeclare function isString(value: any): value is string | String;\\n/** Tests if the specified value can be used as an array. */\\ndeclare function isArray(value: any): value is Array;\\n/** Tests if the specified type *or* expression can be used as an array like object. */\\ndeclare function isArrayLike(value: any): value is ArrayLike;\\n/** Tests if the specified expression resolves to a defined element. */\\ndeclare function isDefined(expression: any): bool;\\n/** Tests if the specified expression evaluates to a constant value. */\\ndeclare function isConstant(expression: any): bool;\\n/** Traps if the specified value is not true-ish, otherwise returns the value. */\\ndeclare function assert(isTrueish: T, message?: string): T & (object | string | number); // any better way to model `: T != null`?\\n/** Parses an integer string to a 64-bit float. */\\ndeclare function parseInt(str: string, radix?: i32): f64;\\n/** Parses a floating point string to a 64-bit float. */\\ndeclare function parseFloat(str: string): f64;\\n/** Returns the 64-bit floating-point remainder of `x/y`. */\\ndeclare function fmod(x: f64, y: f64): f64;\\n/** Returns the 32-bit floating-point remainder of `x/y`. */\\ndeclare function fmodf(x: f32, y: f32): f32;\\n\\n/** Converts any other numeric value to an 8-bit signed integer. */\\ndeclare function i8(value: any): i8;\\ndeclare namespace i8 {\\n /** Smallest representable value. */\\n export const MIN_VALUE: i8;\\n /** Largest representable value. */\\n export const MAX_VALUE: i8;\\n /** Converts a string to a floating-point number and cast to target integer after. */\\n export function parseFloat(string: string): i8;\\n /** Parses a string as an integer. */\\n export function parseInt(string: string, radix?: i32): i8;\\n /** Parses a string as an i8. */\\n export function parse(value: string, radix?: i32): i8;\\n}\\n/** Converts any other numeric value to a 16-bit signed integer. */\\ndeclare function i16(value: any): i16;\\ndeclare namespace i16 {\\n /** Smallest representable value. */\\n export const MIN_VALUE: i16;\\n /** Largest representable value. */\\n export const MAX_VALUE: i16;\\n /** Converts a string to a floating-point number and cast to target integer after. */\\n export function parseFloat(string: string): i16;\\n /** Parses a string as an integer. */\\n export function parseInt(string: string, radix?: i32): i16;\\n /** Parses a string as an i16. */\\n export function parse(value: string, radix?: i32): i16;\\n}\\n/** Converts any other numeric value to a 32-bit signed integer. */\\ndeclare function i32(value: any): i32;\\ndeclare namespace i32 {\\n /** Smallest representable value. */\\n export const MIN_VALUE: i32;\\n /** Largest representable value. */\\n export const MAX_VALUE: i32;\\n /** Converts a string to a floating-point number and cast to target integer after. */\\n export function parseFloat(string: string): i32;\\n /** Parses a string as an integer. */\\n export function parseInt(string: string, radix?: i32): i32;\\n /** Parses a string as an i32. */\\n export function parse(value: string, radix?: i32): i32;\\n}\\n/** Converts any other numeric value to a 32-bit (in WASM32) respectivel 64-bit (in WASM64) signed integer. */\\ndeclare function isize(value: any): isize;\\ndeclare namespace isize {\\n /** Smallest representable value. */\\n export const MIN_VALUE: isize;\\n /** Largest representable value. */\\n export const MAX_VALUE: isize;\\n /** Converts a string to a floating-point number and cast to target integer after. */\\n export function parseFloat(string: string): isize;\\n /** Parses a string as an integer. */\\n export function parseInt(string: string, radix?: i32): isize;\\n /** Parses a string as an iszie. */\\n export function parse(value: string, radix?: i32): isize;\\n}\\n/** Converts any other numeric value to an 8-bit unsigned integer. */\\ndeclare function u8(value: any): u8;\\ndeclare namespace u8 {\\n /** Smallest representable value. */\\n export const MIN_VALUE: u8;\\n /** Largest representable value. */\\n export const MAX_VALUE: u8;\\n /** Converts a string to a floating-point number and cast to target integer after. */\\n export function parseFloat(string: string): u8;\\n /** Parses a string as an integer. */\\n export function parseInt(string: string, radix?: i32): u8;\\n /** Parses a string as an u8. */\\n export function parse(value: string, radix?: i32): u8;\\n}\\n/** Converts any other numeric value to a 16-bit unsigned integer. */\\ndeclare function u16(value: any): u16;\\ndeclare namespace u16 {\\n /** Smallest representable value. */\\n export const MIN_VALUE: u16;\\n /** Largest representable value. */\\n export const MAX_VALUE: u16;\\n /** Converts a string to a floating-point number and cast to target integer after. */\\n export function parseFloat(string: string): u16;\\n /** Parses a string as an integer. */\\n export function parseInt(string: string, radix?: i32): u16;\\n /** Parses a string as an u16. */\\n export function parse(value: string, radix?: i32): u16;\\n}\\n/** Converts any other numeric value to a 32-bit unsigned integer. */\\ndeclare function u32(value: any): u32;\\ndeclare namespace u32 {\\n /** Smallest representable value. */\\n export const MIN_VALUE: u32;\\n /** Largest representable value. */\\n export const MAX_VALUE: u32;\\n /** Converts a string to a floating-point number and cast to target integer after. */\\n export function parseFloat(string: string): u32;\\n /** Parses a string as an integer. */\\n export function parseInt(string: string, radix?: i32): u32;\\n /** Parses a string as an u32. */\\n export function parse(value: string, radix?: i32): u32;\\n}\\n/** Converts any other numeric value to a 32-bit (in WASM32) respectivel 64-bit (in WASM64) unsigned integer. */\\ndeclare function usize(value: any): isize;\\ndeclare namespace usize {\\n /** Smallest representable value. */\\n export const MIN_VALUE: usize;\\n /** Largest representable value. */\\n export const MAX_VALUE: usize;\\n /** Converts a string to a floating-point number and cast to target integer after. */\\n export function parseFloat(string: string): usize;\\n /** Parses a string as an integer. */\\n export function parseInt(string: string, radix?: i32): usize;\\n /** Parses a string as an usize. */\\n export function parse(value: string, radix?: i32): usize;\\n}\\n/** Converts any other numeric value to a 1-bit unsigned integer. */\\ndeclare function bool(value: any): bool;\\ndeclare namespace bool {\\n /** Smallest representable value. */\\n export const MIN_VALUE: bool;\\n /** Largest representable value. */\\n export const MAX_VALUE: bool;\\n /** Parses a string as a bool. */\\n export function parse(value: string): bool;\\n}\\n/** Converts any other numeric value to a 32-bit float. */\\ndeclare function f32(value: any): f32;\\ndeclare namespace f32 {\\n /** Smallest representable value. */\\n export const MIN_VALUE: f32;\\n /** Largest representable value. */\\n export const MAX_VALUE: f32;\\n /** Smallest normalized positive value. */\\n export const MIN_NORMAL_VALUE: f32;\\n /** Smallest safely representable integer value. */\\n export const MIN_SAFE_INTEGER: f32;\\n /** Largest safely representable integer value. */\\n export const MAX_SAFE_INTEGER: f32;\\n /** Positive infinity value. */\\n export const POSITIVE_INFINITY: f32;\\n /** Negative infinity value. */\\n export const NEGATIVE_INFINITY: f32;\\n /** Not a number value. */\\n /* eslint no-shadow-restricted-names: \\\"off\\\" */\\n export const NaN: f32;\\n /** Difference between 1 and the smallest representable value greater than 1. */\\n export const EPSILON: f32;\\n /** Returns a boolean value that indicates whether a value is the reserved value NaN (not a number). */\\n export function isNaN(value: f32): bool;\\n /** Returns true if passed value is finite. */\\n export function isFinite(value: f32): bool;\\n /** Returns true if the value passed is a safe integer. */\\n export function isSafeInteger(value: f32): bool;\\n /** Returns true if the value passed is an integer, false otherwise. */\\n export function isInteger(value: f32): bool;\\n /** Converts a string to a floating-point number. */\\n export function parseFloat(string: string): f32;\\n /** Parses a string as an integer and convert to an f32. */\\n export function parseInt(string: string, radix?: i32): f32;\\n /** Parses a string as an f32. */\\n export function parse(value: string): f32;\\n}\\n/** Converts any other numeric value to a 64-bit float. */\\ndeclare function f64(value: any): f64;\\ndeclare namespace f64 {\\n /** Smallest representable value. */\\n export const MIN_VALUE: f64;\\n /** Largest representable value. */\\n export const MAX_VALUE: f64;\\n /** Smallest normalized positive value. */\\n export const MIN_NORMAL_VALUE: f64;\\n /** Smallest safely representable integer value. */\\n export const MIN_SAFE_INTEGER: f64;\\n /** Largest safely representable integer value. */\\n export const MAX_SAFE_INTEGER: f64;\\n /** Positive infinity value. */\\n export const POSITIVE_INFINITY: f64;\\n /** Negative infinity value. */\\n export const NEGATIVE_INFINITY: f64;\\n /** Not a number value. */\\n /* eslint no-shadow-restricted-names: \\\"off\\\" */\\n export const NaN: f64;\\n /** Difference between 1 and the smallest representable value greater than 1. */\\n export const EPSILON: f64;\\n /** Returns a boolean value that indicates whether a value is the reserved value NaN (not a number). */\\n export function isNaN(value: f32): bool;\\n /** Returns true if passed value is finite. */\\n export function isFinite(value: f32): bool;\\n /** Returns true if the value passed is a safe integer. */\\n export function isSafeInteger(value: f64): bool;\\n /** Returns true if the value passed is an integer, false otherwise. */\\n export function isInteger(value: f64): bool;\\n /** Converts a string to a floating-point number. */\\n export function parseFloat(string: string): f64;\\n /** Parses a string as an integer and convert to an f64. */\\n export function parseInt(string: string, radix?: i32): f64;\\n /** Parses a string as an f64. */\\n export function parse(value: string): f64;\\n}\\n\\n// Standard library\\n\\ndeclare const Mathf: typeof Math;\\ndeclare const JSMath: typeof Math;\\n\\ndeclare interface StringConstructor {\\n /** Equivalent to calling `String.fromCharCode` with multiple arguments. */\\n fromCharCodes(arr: i32[]): string;\\n /** Equivalent to calling `String.fromCodePoint` with multiple arguments. */\\n fromCodePoints(arr: i32[]): string;\\n}\\n\\ndeclare interface String {\\n /** Returns value using relative indexing. Index may be negative */\\n at(index: i32): string;\\n}\\n\\n/** Annotates a class as being unmanaged with limited capabilities. */\\ndeclare function unmanaged(constructor: Function): void;\\n\\n/** Environmental tracing function. */\\ndeclare function trace(msg: string, n?: i32, a0?: f64, a1?: f64, a2?: f64, a3?: f64, a4?: f64): void;\\n\\ndeclare interface Array {\\n /** Returns value using relative indexing. Index may be negative */\\n at(index: i32): T;\\n /** Returns an index start searching from the end in the array */\\n findLastIndex(callbackfn: (value: T, index: i32, self: Array) => bool): i32;\\n}\\n\\ndeclare interface Int8ArrayConstructor {\\n /** Equivalent to calling `new Int8Array` with multiple arguments. */\\n wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Int8Array;\\n}\\n\\ndeclare interface Int8Array {\\n /** Returns value using relative indexing. Index may be negative */\\n at(index: i32): i8;\\n /** Returns an index start searching from the end in the typedarray */\\n findLastIndex(callbackfn: (value: i8, index: i32, self: Int8Array) => bool): i32;\\n}\\n\\ndeclare interface Uint8ArrayConstructor {\\n /** Equivalent to calling `new Uint8Array` with multiple arguments. */\\n wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Uint8Array;\\n}\\n\\ndeclare interface Uint8Array {\\n /** Returns value using relative indexing. Index may be negative */\\n at(index: i32): u8;\\n /** Returns an index start searching from the end in the typedarray */\\n findLastIndex(callbackfn: (value: u8, index: i32, self: Uint8Array) => bool): i32;\\n}\\n\\ndeclare interface Uint8ClampedArrayConstructor {\\n /** Equivalent to calling `new Uint8ClampedArray` with multiple arguments. */\\n wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Uint8ClampedArray;\\n}\\n\\ndeclare interface Uint8ClampedArray {\\n /** Returns value using relative indexing. Index may be negative */\\n at(index: i32): u8;\\n /** Returns an index start searching from the end in the typedarray */\\n findLastIndex(callbackfn: (value: u8, index: i32, self: Uint8ClampedArray) => bool): i32;\\n}\\n\\ndeclare interface Int16ArrayConstructor {\\n /** Equivalent to calling `new Int16Array` with multiple arguments. */\\n wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Int16Array;\\n}\\n\\ndeclare interface Int16Array {\\n /** Returns value using relative indexing. Index may be negative */\\n at(index: i32): i16;\\n /** Returns an index start searching from the end in the typedarray */\\n findLastIndex(callbackfn: (value: i16, index: i32, self: Int16Array) => bool): i32;\\n}\\n\\ndeclare interface Uint16ArrayConstructor {\\n /** Equivalent to calling `new Uint16Array` with multiple arguments. */\\n wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Uint16Array;\\n}\\n\\ndeclare interface Uint16Array {\\n /** Returns value using relative indexing. Index may be negative */\\n at(index: i32): u16;\\n /** Returns an index start searching from the end in the typedarray */\\n findLastIndex(callbackfn: (value: u16, index: i32, self: Uint16Array) => bool): i32;\\n}\\n\\ndeclare interface Int32ArrayConstructor {\\n /** Equivalent to calling `new Int32Array` with multiple arguments. */\\n wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Int32Array;\\n}\\n\\ndeclare interface Int32Array {\\n /** Returns value using relative indexing. Index may be negative */\\n at(index: i32): i32;\\n /** Returns an index start searching from the end in the typedarray */\\n findLastIndex(callbackfn: (value: i32, index: i32, self: Int32Array) => bool): i32;\\n}\\n\\ndeclare interface Uint32ArrayConstructor {\\n /** Equivalent to calling `new Uint32Array` with multiple arguments. */\\n wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Uint32Array;\\n}\\n\\ndeclare interface Uint32Array {\\n /** Returns value using relative indexing. Index may be negative */\\n at(index: i32): u32;\\n /** Returns an index start searching from the end in the typedarray */\\n findLastIndex(callbackfn: (value: u32, index: i32, self: Uint32Array) => bool): i32;\\n}\\n\\ndeclare interface Float32ArrayConstructor {\\n /** Equivalent to calling `new Float32Array` with multiple arguments. */\\n wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Float32Array;\\n}\\n\\ndeclare interface Float32Array {\\n /** Returns value using relative indexing. Index may be negative */\\n at(index: i32): f32;\\n /** Returns an index start searching from the end in the typedarray */\\n findLastIndex(callbackfn: (value: f32, index: i32, self: Float32Array) => bool): i32;\\n}\\n\\ndeclare interface Float64ArrayConstructor {\\n /** Equivalent to calling `new Float64Array` with multiple arguments. */\\n wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Float64Array;\\n}\\n\\ndeclare interface Float64Array {\\n /** Returns value using relative indexing. Index may be negative */\\n at(index: i32): f64;\\n /** Returns an index start searching from the end in the typedarray */\\n findLastIndex(callbackfn: (value: f64, index: i32, self: Float64Array) => bool): i32;\\n}\\n\\n// FIXME: remove\\ndeclare function offsetof(fieldName?: string): usize;\\ndeclare function idof(): u32;\\n\"\n};\n", "export * from \"binaryen\";\nexport { default } from \"binaryen\";\n"], + "mappings": "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CACd,SAAY,WACZ,YAAe,wCACf,KAAQ,IACR,QAAW,EACb,EACA,eAAkB,CAChB,SAAY,WACZ,YAAe,0CACf,KAAQ,IACR,QAAW,EACb,EACA,cAAiB,CACf,SAAY,WACZ,YAAe,yCACf,KAAQ,IACR,QAAW,CACb,EACA,cAAiB,CACf,SAAY,WACZ,YAAe,yCACf,KAAQ,IACR,QAAW,CACb,EACA,aAAgB,CACd,SAAY,WACZ,YAAe,oDACf,KAAQ,IACR,QAAW,EACb,EACA,iBAAoB,CAClB,SAAY,WACZ,YAAe,2DACf,KAAQ,IACR,QAAW,EACb,EACA,YAAe,CACb,SAAY,WACZ,YAAe,+CACf,KAAQ,IACR,QAAW,EACb,EACA,YAAe,CACb,SAAY,WACZ,YAAe,yCACf,KAAQ,IACR,QAAW,EACb,EACA,YAAe,CACb,SAAY,WACZ,YAAe,CACb,8DACA,iEACA,yCACF,EACA,KAAQ,GACV,EACA,QAAW,CACT,SAAY,WACZ,YAAe,CACb,2DACA,GACA,gDACA,yDACA,mDACA,wDACA,EACF,EACA,KAAQ,IACR,QAAW,aACb,EACA,cAAiB,CACf,SAAY,WACZ,YAAe,CACb,qEACA,oEACF,EACA,KAAQ,IACR,QAAW,EACb,EACA,UAAa,CACX,SAAY,WACZ,YAAe,CACb,6DACA,4DACA,yDACF,EACA,QAAW,EACX,KAAQ,GACV,EACA,OAAU,CACR,SAAY,WACZ,YAAe,CACb,0DACA,GACA,wDACA,kDACA,uDACA,iDACA,+CACA,gDACA,EACF,EACA,oBAAuB,CACrB,2CACA,6CACA,0CACA,4CACA,kDACF,EACA,KAAQ,IACR,kBAAqB,SACvB,EACA,QAAW,CACT,SAAY,WACZ,YAAe,CACb,0DACA,GACA,2DACA,iDACA,0DACA,+CACA,EACF,EACA,KAAQ,IACR,kBAAqB,QACvB,EACA,IAAO,CACL,SAAY,WACZ,YAAe,CACb,8DACA,4DACA,oDACF,EACA,KAAQ,IACR,MAAS,GACX,EACA,eAAkB,CAChB,SAAY,WACZ,YAAe,+CACf,QAAW,EACX,KAAQ,GACV,EACA,WAAc,CACZ,SAAY,UACZ,YAAe,oDA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A;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACT,YAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACf,QAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACX,oBAAqB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACrB,eAAgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAChB,gBAAiB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACjB,SAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACZ,OAAU;AAAA;AAAA,EACV,QAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACX,OAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACV,SAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACZ,KAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACR,YAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACf,MAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACT,SAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACZ,SAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACZ,IAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACP,KAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACR,OAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACV,OAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;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AAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACZ,YAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACb,UAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACX,UAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACX,UAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACX,IAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACP,iBAAkB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAClB,iBAAkB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAClB,gBAAiB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACjB,kBAAmB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACnB,YAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACf,OAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACV,OAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACV,MAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACT,WAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACd,IAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACP,aAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACd,eAAgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAChB,aAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACd,YAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACb,YAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACb,cAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACf,cAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACf,YAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACb,cAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACf,WAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACZ,OAAU;AAAA;AAAA;AAAA;AAAA,CACZ,EACaC,GAAkB,CAC7B,SAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACZ,SAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA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", + "names": ["fs_exports", "__export", "promises", "init_fs", "__esmMin", "module_exports", "__export", "createRequire", "path", "init_module", "__esmMin", "process_exports", "__export", "argv", "cwd", "exit", "hrtime", "platform", "umask", "code", "previousTimestamp", "clocktime", "performanceNow", "performance", "seconds", "nanoseconds", "init_process", "__esmMin", "path_exports", "__export", "basename", "delimiter", "dirname", "extname", "format", "isAbsolute", "join", "normalize", "parse", "relative", "resolve", "sep", "win32", "assertPath", "path", "normalizeStringPosix", "allowAboveRoot", "res", "lastSegmentLength", "lastSlash", "dots", "code", "i", "lastSlashIndex", "_format", "pathObject", "dir", "base", "resolvedPath", "resolvedAbsolute", "cwd", "trailingSeparator", "joined", "arg", "from", "to", "fromStart", "fromEnd", "fromLen", "toStart", "toEnd", "toLen", "length", "lastCommonSep", "fromCode", "toCode", "out", "hasRoot", "end", "matchedSlash", "ext", "start", "extIdx", "firstNonSlashEnd", "startDot", "startPart", "preDotState", "ret", "init_path", "__esmMin", "init_process", "url_exports", "__export", "pathToFileURL", "encodePathChars", "filepath", "resolved", "resolve", "sep", "url", "init_url", "__esmMin", "init_path", "cli_exports", "__export", "Stats", "checkDiagnostics", "compileString", "configToArguments", "createMemoryStream", "defaultOptimizeLevel", "defaultShrinkLevel", "definitionFiles", "libraryFiles", "libraryPrefix", "main", "options", "tscOptions", "version", "isNode", "fs", "module", "path", "process", "url", "proc", "isCI", "GRAY", "RED", "GREEN", "YELLOW", "BLUE", "MAGENTA", "CYAN", "WHITE", "RESET", "Colors", "stream", "text", "stdoutColors", "stderrColors", "Diff", "oldString", "newString", "options", "callback", "self", "done", "value", "newLen", "oldLen", "editLength", "maxEditLength", "bestPath", "oldPos", "execEditLength", "diagonalPath", "basePath", "addPath", "removePath", "_oldPos", "canAdd", "canRemove", "clonePath", "buildValues", "exec", "ret", "components", "added", "removed", "last", "newPos", "commonCount", "left", "right", "array", "chars", "diff", "useLongestToken", "componentPos", "componentLen", "component", "tmp", "i", "oldValue", "lastComponent", "path", "characterDiff", "extendedWordChars", "reWhitespace", "wordDiff", "Diff", "left", "right", "value", "tokens", "i", "lineDiff", "Diff", "value", "retLines", "linesAndNewlines", "line", "sentenceDiff", "Diff", "value", "cssDiff", "Diff", "value", "_typeof", "obj", "objectPrototypeToString", "jsonDiff", "Diff", "lineDiff", "value", "_this$options", "undefinedReplacement", "_this$options$stringi", "stringifyReplacer", "k", "v", "canonicalize", "left", "right", "canonicalize", "obj", "stack", "replacementStack", "replacer", "key", "i", "canonicalizedObj", "objectPrototypeToString", "_typeof", "sortedKeys", "_key", "arrayDiff", "Diff", "value", "utf8Length", "string", "len", "i", "k", "c", "utf8Read", "buffer", "start", "end", "parts", "chunk", "t", "utf8Write", "offset", "c1", "c2", "utf8", "require", "module", "parse", "argv", "config", "propagateDefaults", "options", "unknown", "args", "trailing", "aliases", "key", "option", "alias", "i", "k", "arg", "match", "addDefaults", "help", "indent", "padding", "eol", "sbCategories", "sbOther", "text", "sb", "line", "hasCategories", "category", "stdoutColors", "sanitizeValue", "value", "type", "v", "merge", "currentOptions", "parentOptions", "parentBaseDir", "mergedOptions", "mutuallyExclusive", "isPath", "useNodeResolution", "cliOnly", "currentValue", "parentValue", "exclude", "resolvePath", "normalizePath", "p", "parsed", "path", "baseDir", "defaultValue", "version", "options", "libraryPrefix", "libraryFiles", "definitionFiles", "binaryen_exports", "__export", "default", "__reExport", "binaryen_star", "assemblyscriptJS", "assemblyscript", "wasmPos", "process", "wasmPath", "url", "require", "module", "WIN", "EOL", "SEP", "extension", "extension_d", "extension_re", "extension_re_except_d", "toUpperSnakeCase", "str", "isNonEmptyString", "value", "version", "options", "libraryPrefix", "libraryFiles", "definitionFiles", "defaultOptimizeLevel", "defaultShrinkLevel", "configToArguments", "argv", "key", "val", "opt", "compileString", "sources", "config", "output", "result", "main", "name", "contents", "stats", "Stats", "statsBegin", "bundleMinorVersion", "bundleMajorVersion", "bundlePatchVersion", "versionParts", "stdout", "createMemoryStream", "stderr", "readFile", "readFileNode", "writeFile", "writeFileNode", "listFiles", "listFilesNode", "optionsResult", "parse", "opts", "stdoutColors", "Colors", "stderrColors", "unknownOpts", "arg", "trailingArgv", "binaryenModule", "prepareResult", "error", "baseDir", "path", "configPath", "resolvePath", "configFile", "configDir", "getConfig", "configHasEntries", "out", "colors", "help", "fs", "seenAsconfig", "target", "targetOptions", "merge", "generalOptions", "entry", "addDefaults", "unique", "values", "program", "runtime", "uncheckedBehavior", "compilerOptions", "aliases", "i", "k", "part", "p", "alias", "features", "flag", "optimizeLevel", "shrinkLevel", "transforms", "transformArgs", "filename", "resolved", "transform", "e1", "e", "default", "applyTransform", "args", "start", "libPath", "begin", "customLibDirs", "lib", "libDir", "libFiles", "libText", "packageBases", "getFile", "internalPath", "dependeePath", "sourceText", "sourcePath", "plainName", "indexName", "match", "packageName", "filePath", "basePath", "paths", "parts", "currentDir", "getBacklog", "parseBacklog", "backlog", "files", "dependee", "file", "numErrors", "checkDiagnostics", "err", "runtimeName", "runtimePath", "runtimeText", "code", "crash", "isValid", "debugInfo", "converge", "zeroFilledMemory", "runPasses", "pass", "last", "next", "pending", "bindings", "hasStdout", "hasOutFile", "hasTextFile", "hasOutput", "hasFileOutput", "basepath", "basename", "sourceMapURL", "wasm", "writeStdout", "map", "text", "bindingsEsm", "bindingsRaw", "source", "dirPath", "dirname", "stage", "BAR", "isObject", "location", "targets", "disableWarning", "reportDiagnostic", "useColors", "diagnostic", "isDisabledWarning", "wrapRange", "range", "wrapSource", "hrtime", "formatTime", "time", "keys", "times", "counts", "keysLen", "current", "timesLen", "countsLen", "count", "totalLen", "header", "totalTime", "readsWrites", "allocBuffer", "len", "fn", "stream", "chunk", "buffer", "utf8", "offset", "tscOptions"] +} diff --git a/platforms/Arduino/node_modules/assemblyscript/dist/assemblyscript.d.ts b/platforms/Arduino/node_modules/assemblyscript/dist/assemblyscript.d.ts new file mode 100644 index 00000000..2b2e4a44 --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/dist/assemblyscript.d.ts @@ -0,0 +1,4 @@ +/// +export * from "types:assemblyscript/src/index"; +import * as assemblyscript from "types:assemblyscript/src/index"; +export default assemblyscript; diff --git a/platforms/Arduino/node_modules/assemblyscript/dist/assemblyscript.generated.d.ts b/platforms/Arduino/node_modules/assemblyscript/dist/assemblyscript.generated.d.ts new file mode 100644 index 00000000..6163d966 --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/dist/assemblyscript.generated.d.ts @@ -0,0 +1,9138 @@ +declare module "types:assemblyscript/src/common" { + /** + * @fileoverview Common constants used by various parts of the compiler. + * @license Apache-2.0 + */ + /** Indicates traits of a {@link Node} or {@link Element}. */ + export const enum CommonFlags { + /** No flags set. */ + None = 0, + /** Has an `import` modifier. */ + Import = 1, + /** Has an `export` modifier. */ + Export = 2, + /** Has a `declare` modifier. */ + Declare = 4, + /** Has a `const` modifier. */ + Const = 8, + /** Has a `let` modifier. */ + Let = 16, + /** Has a `static` modifier. */ + Static = 32, + /** Has a `readonly` modifier. */ + Readonly = 64, + /** Has an `abstract` modifier. */ + Abstract = 128, + /** Has a `public` modifier. */ + Public = 256, + /** Has a `private` modifier. */ + Private = 512, + /** Has a `protected` modifier. */ + Protected = 1024, + /** Has a `get` modifier. */ + Get = 2048, + /** Has a `set` modifier. */ + Set = 4096, + /** Has a `override` modifier. */ + Override = 8192, + /** Has a definite assignment assertion `!` as in `x!: i32;`. */ + DefinitelyAssigned = 16384, + /** Is ambient, that is either declared or nested in a declared element. */ + Ambient = 32768, + /** Is generic. */ + Generic = 65536, + /** Is part of a generic context. */ + GenericContext = 131072, + /** Is an instance member. */ + Instance = 262144, + /** Is a constructor. */ + Constructor = 524288, + /** Is a module export. */ + ModuleExport = 1048576, + /** Is a module import. */ + ModuleImport = 2097152, + /** Is resolved. */ + Resolved = 4194304, + /** Is compiled. */ + Compiled = 8388608, + /** Did error. */ + Errored = 16777216, + /** Has a constant value and is therefore inlined. */ + Inlined = 33554432, + /** Is scoped. */ + Scoped = 67108864, + /** Is a stub. */ + Stub = 134217728, + /** Is an overridden method. */ + Overridden = 268435456, + /** Is (part of) a closure. */ + Closure = 536870912, + /** Is quoted. */ + Quoted = 1073741824, + /** Is internally nullable. */ + InternallyNullable = -2147483648 + } + /** Path delimiter inserted between file system levels. */ + export const PATH_DELIMITER = "/"; + /** Substitution used to indicate the parent directory. */ + export const PARENT_SUBST = ".."; + /** Function name prefix used for getters. */ + export const GETTER_PREFIX = "get:"; + /** Function name prefix used for setters. */ + export const SETTER_PREFIX = "set:"; + /** Delimiter used between class names and instance members. */ + export const INSTANCE_DELIMITER = "#"; + /** Delimiter used between class and namespace names and static members. */ + export const STATIC_DELIMITER = "."; + /** Delimiter used between a function and its inner elements. */ + export const INNER_DELIMITER = "~"; + /** Substitution used to indicate a library directory. */ + export const LIBRARY_SUBST = "~lib"; + /** Library directory prefix. */ + export const LIBRARY_PREFIX: string; + /** Path index suffix. */ + export const INDEX_SUFFIX: string; + /** Stub function delimiter. */ + export const STUB_DELIMITER = "@"; + /** Common names. */ + export namespace CommonNames { + const Empty = ""; + const i8 = "i8"; + const i16 = "i16"; + const i32 = "i32"; + const i64 = "i64"; + const isize = "isize"; + const u8 = "u8"; + const u16 = "u16"; + const u32 = "u32"; + const u64 = "u64"; + const usize = "usize"; + const bool = "bool"; + const f32 = "f32"; + const f64 = "f64"; + const v128 = "v128"; + const ref_func = "ref_func"; + const ref_extern = "ref_extern"; + const ref_any = "ref_any"; + const ref_eq = "ref_eq"; + const ref_struct = "ref_struct"; + const ref_array = "ref_array"; + const ref_i31 = "ref_i31"; + const ref_string = "ref_string"; + const ref_stringview_wtf8 = "ref_stringview_wtf8"; + const ref_stringview_wtf16 = "ref_stringview_wtf16"; + const ref_stringview_iter = "ref_stringview_iter"; + const i8x16 = "i8x16"; + const u8x16 = "u8x16"; + const i16x8 = "i16x8"; + const u16x8 = "u16x8"; + const i32x4 = "i32x4"; + const u32x4 = "u32x4"; + const i64x2 = "i64x2"; + const u64x2 = "u64x2"; + const f32x4 = "f32x4"; + const f64x2 = "f64x2"; + const void_ = "void"; + const number = "number"; + const boolean = "boolean"; + const string = "string"; + const native = "native"; + const indexof = "indexof"; + const valueof = "valueof"; + const returnof = "returnof"; + const nonnull = "nonnull"; + const null_ = "null"; + const true_ = "true"; + const false_ = "false"; + const this_ = "this"; + const super_ = "super"; + const constructor = "constructor"; + const ASC_TARGET = "ASC_TARGET"; + const ASC_RUNTIME = "ASC_RUNTIME"; + const ASC_NO_ASSERT = "ASC_NO_ASSERT"; + const ASC_MEMORY_BASE = "ASC_MEMORY_BASE"; + const ASC_TABLE_BASE = "ASC_TABLE_BASE"; + const ASC_OPTIMIZE_LEVEL = "ASC_OPTIMIZE_LEVEL"; + const ASC_SHRINK_LEVEL = "ASC_SHRINK_LEVEL"; + const ASC_LOW_MEMORY_LIMIT = "ASC_LOW_MEMORY_LIMIT"; + const ASC_EXPORT_RUNTIME = "ASC_EXPORT_RUNTIME"; + const ASC_FEATURE_SIGN_EXTENSION = "ASC_FEATURE_SIGN_EXTENSION"; + const ASC_FEATURE_MUTABLE_GLOBALS = "ASC_FEATURE_MUTABLE_GLOBALS"; + const ASC_FEATURE_NONTRAPPING_F2I = "ASC_FEATURE_NONTRAPPING_F2I"; + const ASC_FEATURE_BULK_MEMORY = "ASC_FEATURE_BULK_MEMORY"; + const ASC_FEATURE_SIMD = "ASC_FEATURE_SIMD"; + const ASC_FEATURE_THREADS = "ASC_FEATURE_THREADS"; + const ASC_FEATURE_EXCEPTION_HANDLING = "ASC_FEATURE_EXCEPTION_HANDLING"; + const ASC_FEATURE_TAIL_CALLS = "ASC_FEATURE_TAIL_CALLS"; + const ASC_FEATURE_REFERENCE_TYPES = "ASC_FEATURE_REFERENCE_TYPES"; + const ASC_FEATURE_MULTI_VALUE = "ASC_FEATURE_MULTI_VALUE"; + const ASC_FEATURE_GC = "ASC_FEATURE_GC"; + const ASC_FEATURE_MEMORY64 = "ASC_FEATURE_MEMORY64"; + const ASC_FEATURE_RELAXED_SIMD = "ASC_FEATURE_RELAXED_SIMD"; + const ASC_FEATURE_EXTENDED_CONST = "ASC_FEATURE_EXTENDED_CONST"; + const ASC_FEATURE_STRINGREF = "ASC_FEATURE_STRINGREF"; + const ASC_VERSION_MAJOR = "ASC_VERSION_MAJOR"; + const ASC_VERSION_MINOR = "ASC_VERSION_MINOR"; + const ASC_VERSION_PATCH = "ASC_VERSION_PATCH"; + const I8 = "I8"; + const I16 = "I16"; + const I32 = "I32"; + const I64 = "I64"; + const Isize = "Isize"; + const U8 = "U8"; + const U16 = "U16"; + const U32 = "U32"; + const U64 = "U64"; + const Usize = "Usize"; + const Bool = "Bool"; + const F32 = "F32"; + const F64 = "F64"; + const V128 = "V128"; + const RefFunc = "RefFunc"; + const RefExtern = "RefExtern"; + const RefAny = "RefAny"; + const RefEq = "RefEq"; + const RefStruct = "RefStruct"; + const RefArray = "RefArray"; + const RefI31 = "RefI31"; + const RefString = "RefString"; + const String = "String"; + const RegExp = "RegExp"; + const Object = "Object"; + const Array = "Array"; + const StaticArray = "StaticArray"; + const Set = "Set"; + const Map = "Map"; + const Function = "Function"; + const ArrayBufferView = "ArrayBufferView"; + const ArrayBuffer = "ArrayBuffer"; + const Math = "Math"; + const Mathf = "Mathf"; + const NativeMath = "NativeMath"; + const NativeMathf = "NativeMathf"; + const Int8Array = "Int8Array"; + const Int16Array = "Int16Array"; + const Int32Array = "Int32Array"; + const Int64Array = "Int64Array"; + const Uint8Array = "Uint8Array"; + const Uint8ClampedArray = "Uint8ClampedArray"; + const Uint16Array = "Uint16Array"; + const Uint32Array = "Uint32Array"; + const Uint64Array = "Uint64Array"; + const Float32Array = "Float32Array"; + const Float64Array = "Float64Array"; + const TemplateStringsArray = "TemplateStringsArray"; + const Error = "Error"; + const abort = "abort"; + const trace = "trace"; + const seed = "seed"; + const pow = "pow"; + const ipow32 = "ipow32"; + const ipow64 = "ipow64"; + const mod = "mod"; + const alloc = "__alloc"; + const realloc = "__realloc"; + const free = "__free"; + const new_ = "__new"; + const renew = "__renew"; + const link = "__link"; + const collect = "__collect"; + const visit = "__visit"; + const newBuffer = "__newBuffer"; + const newArray = "__newArray"; + const BLOCK = "~lib/rt/common/BLOCK"; + const OBJECT = "~lib/rt/common/OBJECT"; + const DefaultMemory = "0"; + const DefaultTable = "0"; + } + export { Feature, featureToString } from "types:assemblyscript/std/assembly/shared/feature"; + export { Target } from "types:assemblyscript/std/assembly/shared/target"; + export { Runtime } from "types:assemblyscript/std/assembly/shared/runtime"; + export { Typeinfo, TypeinfoFlags } from "types:assemblyscript/std/assembly/shared/typeinfo"; +} +declare module "types:assemblyscript/src/diagnosticMessages.generated" { + /** Enum of available diagnostic codes. */ + export enum DiagnosticCode { + Not_implemented_0 = 100, + Operation_is_unsafe = 101, + User_defined_0 = 102, + Feature_0_is_not_enabled = 103, + Low_memory_limit_exceeded_by_static_data_0_1 = 104, + Module_requires_at_least_0_pages_of_initial_memory = 105, + Module_requires_at_least_0_pages_of_maximum_memory = 106, + Shared_memory_requires_maximum_memory_to_be_defined = 107, + Shared_memory_requires_feature_threads_to_be_enabled = 108, + Transform_0_1 = 109, + Start_function_name_0_is_invalid_or_conflicts_with_another_export = 110, + Element_0_not_found = 111, + Exchange_of_0_values_is_not_supported_by_all_embeddings = 112, + Conversion_from_type_0_to_1_requires_an_explicit_cast = 200, + Conversion_from_type_0_to_1_will_require_an_explicit_cast_when_switching_between_32_64_bit = 201, + Type_0_cannot_be_changed_to_type_1 = 202, + Operation_0_cannot_be_applied_to_type_1 = 203, + Type_0_cannot_be_nullable = 204, + Mutable_value_cannot_be_inlined = 206, + Unmanaged_classes_cannot_extend_managed_classes_and_vice_versa = 207, + Unmanaged_classes_cannot_implement_interfaces = 208, + Invalid_regular_expression_flags = 209, + Expression_is_never_null = 210, + Class_0_is_final_and_cannot_be_extended = 211, + Decorator_0_is_not_valid_here = 212, + Duplicate_decorator = 213, + Type_0_is_illegal_in_this_context = 214, + Optional_parameter_must_have_an_initializer = 215, + Class_0_cannot_declare_a_constructor_when_instantiated_from_an_object_literal = 216, + Function_0_cannot_be_inlined_into_itself = 217, + Cannot_access_method_0_without_calling_it_as_it_requires_this_to_be_set = 218, + Optional_properties_are_not_supported = 219, + Expression_must_be_a_compile_time_constant = 220, + Type_0_is_not_a_function_index_or_function_reference = 221, + _0_must_be_a_value_between_1_and_2_inclusive = 222, + _0_must_be_a_power_of_two = 223, + _0_is_not_a_valid_operator = 224, + Expression_cannot_be_represented_by_a_type = 225, + Expression_resolves_to_unusual_type_0 = 226, + Array_literal_expected = 227, + Function_0_is_virtual_and_will_not_be_inlined = 228, + Property_0_only_has_a_setter_and_is_missing_a_getter = 229, + _0_keyword_cannot_be_used_here = 230, + A_class_with_a_constructor_explicitly_returning_something_else_than_this_must_be_final = 231, + Property_0_is_always_assigned_before_being_used = 233, + Expression_does_not_compile_to_a_value_at_runtime = 234, + Only_variables_functions_and_enums_become_WebAssembly_module_exports = 235, + Literal_0_does_not_fit_into_i64_or_u64_types = 236, + Index_signature_accessors_in_type_0_differ_in_types = 237, + Initializer_definitive_assignment_or_nullable_type_expected = 238, + Definitive_assignment_has_no_effect_on_local_variables = 239, + Importing_the_table_disables_some_indirect_call_optimizations = 901, + Exporting_the_table_disables_some_indirect_call_optimizations = 902, + Expression_compiles_to_a_dynamic_check_at_runtime = 903, + Indexed_access_may_involve_bounds_checking = 904, + Explicitly_returning_constructor_drops_this_allocation = 905, + Unnecessary_definite_assignment = 906, + _NaN_does_not_compare_equal_to_any_other_value_including_itself_Use_isNaN_x_instead = 907, + Comparison_with_0_0_is_sign_insensitive_Use_Object_is_x_0_0_if_the_sign_matters = 908, + Unterminated_string_literal = 1002, + Identifier_expected = 1003, + _0_expected = 1005, + A_file_cannot_have_a_reference_to_itself = 1006, + Trailing_comma_not_allowed = 1009, + Unexpected_token = 1012, + A_rest_parameter_must_be_last_in_a_parameter_list = 1014, + Parameter_cannot_have_question_mark_and_initializer = 1015, + A_required_parameter_cannot_follow_an_optional_parameter = 1016, + _0_modifier_cannot_appear_on_class_elements_of_this_kind = 1031, + Statements_are_not_allowed_in_ambient_contexts = 1036, + Initializers_are_not_allowed_in_ambient_contexts = 1039, + _0_modifier_cannot_be_used_here = 1042, + A_rest_parameter_cannot_be_optional = 1047, + A_rest_parameter_cannot_have_an_initializer = 1048, + A_set_accessor_must_have_exactly_one_parameter = 1049, + A_set_accessor_parameter_cannot_have_an_initializer = 1052, + A_get_accessor_cannot_have_parameters = 1054, + Enum_member_must_have_initializer = 1061, + Type_parameters_cannot_appear_on_a_constructor_declaration = 1092, + Type_annotation_cannot_appear_on_a_constructor_declaration = 1093, + An_accessor_cannot_have_type_parameters = 1094, + A_set_accessor_cannot_have_a_return_type_annotation = 1095, + Type_parameter_list_cannot_be_empty = 1098, + Type_argument_list_cannot_be_empty = 1099, + A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement = 1104, + A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement = 1105, + A_return_statement_can_only_be_used_within_a_function_body = 1108, + Expression_expected = 1109, + Type_expected = 1110, + A_default_clause_cannot_appear_more_than_once_in_a_switch_statement = 1113, + Duplicate_label_0 = 1114, + An_export_assignment_cannot_have_modifiers = 1120, + Octal_literals_are_not_allowed_in_strict_mode = 1121, + Digit_expected = 1124, + Hexadecimal_digit_expected = 1125, + Unexpected_end_of_text = 1126, + Invalid_character = 1127, + _case_or_default_expected = 1130, + _super_must_be_followed_by_an_argument_list_or_member_access = 1034, + A_declare_modifier_cannot_be_used_in_an_already_ambient_context = 1038, + Type_argument_expected = 1140, + String_literal_expected = 1141, + Line_break_not_permitted_here = 1142, + Declaration_expected = 1146, + _const_declarations_must_be_initialized = 1155, + Unterminated_regular_expression_literal = 1161, + Declarations_with_initializers_cannot_also_have_definite_assignment_assertions = 1263, + Interface_declaration_cannot_have_implements_clause = 1176, + Binary_digit_expected = 1177, + Octal_digit_expected = 1178, + An_implementation_cannot_be_declared_in_ambient_contexts = 1183, + The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer = 1190, + An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive = 1198, + Unterminated_Unicode_escape_sequence = 1199, + Decorators_are_not_valid_here = 1206, + _abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration = 1242, + Method_0_cannot_have_an_implementation_because_it_is_marked_abstract = 1245, + An_interface_property_cannot_have_an_initializer = 1246, + A_definite_assignment_assertion_is_not_permitted_in_this_context = 1255, + A_class_may_only_extend_another_class = 1311, + A_parameter_property_cannot_be_declared_using_a_rest_parameter = 1317, + A_default_export_can_only_be_used_in_a_module = 1319, + An_expression_of_type_0_cannot_be_tested_for_truthiness = 1345, + An_identifier_or_keyword_cannot_immediately_follow_a_numeric_literal = 1351, + Duplicate_identifier_0 = 2300, + Cannot_find_name_0 = 2304, + Module_0_has_no_exported_member_1 = 2305, + An_interface_can_only_extend_an_interface = 2312, + Generic_type_0_requires_1_type_argument_s = 2314, + Type_0_is_not_generic = 2315, + Type_0_is_not_assignable_to_type_1 = 2322, + Property_0_is_private_in_type_1_but_not_in_type_2 = 2325, + Index_signature_is_missing_in_type_0 = 2329, + _this_cannot_be_referenced_in_current_location = 2332, + _this_cannot_be_referenced_in_constructor_arguments = 2333, + _super_can_only_be_referenced_in_a_derived_class = 2335, + _super_cannot_be_referenced_in_constructor_arguments = 2336, + Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors = 2337, + Property_0_does_not_exist_on_type_1 = 2339, + Property_0_is_private_and_only_accessible_within_class_1 = 2341, + Cannot_invoke_an_expression_whose_type_lacks_a_call_signature_Type_0_has_no_compatible_call_signatures = 2349, + This_expression_is_not_constructable = 2351, + A_function_whose_declared_type_is_not_void_must_return_a_value = 2355, + The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access = 2357, + The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access = 2364, + Operator_0_cannot_be_applied_to_types_1_and_2 = 2365, + A_super_call_must_be_the_first_statement_in_the_constructor = 2376, + Constructors_for_derived_classes_must_contain_a_super_call = 2377, + _get_and_set_accessor_must_have_the_same_type = 2380, + Overload_signatures_must_all_be_public_private_or_protected = 2385, + Constructor_implementation_is_missing = 2390, + Function_implementation_is_missing_or_not_immediately_following_the_declaration = 2391, + Multiple_constructor_implementations_are_not_allowed = 2392, + Duplicate_function_implementation = 2393, + This_overload_signature_is_not_compatible_with_its_implementation_signature = 2394, + Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local = 2395, + Property_0_in_type_1_is_not_assignable_to_the_same_property_in_base_type_2 = 2416, + A_class_can_only_implement_an_interface = 2422, + A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged = 2434, + Types_have_separate_declarations_of_a_private_property_0 = 2442, + Property_0_is_protected_in_type_1_but_public_in_type_2 = 2444, + Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses = 2445, + Variable_0_used_before_its_declaration = 2448, + Cannot_redeclare_block_scoped_variable_0 = 2451, + The_type_argument_for_type_parameter_0_cannot_be_inferred_from_the_usage_Consider_specifying_the_type_arguments_explicitly = 2453, + Variable_0_is_used_before_being_assigned = 2454, + Type_alias_0_circularly_references_itself = 2456, + Type_0_has_no_property_1 = 2460, + The_0_operator_cannot_be_applied_to_type_1 = 2469, + In_const_enum_declarations_member_initializer_must_be_constant_expression = 2474, + Export_declaration_conflicts_with_exported_declaration_of_0 = 2484, + _0_is_referenced_directly_or_indirectly_in_its_own_base_expression = 2506, + Cannot_create_an_instance_of_an_abstract_class = 2511, + Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_2 = 2515, + Object_is_possibly_null = 2531, + Cannot_assign_to_0_because_it_is_a_constant_or_a_read_only_property = 2540, + The_target_of_an_assignment_must_be_a_variable_or_a_property_access = 2541, + Index_signature_in_type_0_only_permits_reading = 2542, + Expected_0_arguments_but_got_1 = 2554, + Expected_at_least_0_arguments_but_got_1 = 2555, + Expected_0_type_arguments_but_got_1 = 2558, + Property_0_has_no_initializer_and_is_not_assigned_in_the_constructor_before_this_is_used_or_returned = 2564, + Property_0_is_used_before_being_assigned = 2565, + _0_is_defined_as_an_accessor_in_class_1_but_is_overridden_here_in_2_as_an_instance_property = 2610, + _0_is_defined_as_a_property_in_class_1_but_is_overridden_here_in_2_as_an_accessor = 2611, + A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_members_defined_in_other_enums = 2651, + Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration = 2673, + Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration = 2674, + Cannot_extend_a_class_0_Class_constructor_is_marked_as_private = 2675, + The_this_types_of_each_signature_are_incompatible = 2685, + Namespace_0_has_no_exported_member_1 = 2694, + Namespace_can_only_have_declarations = 2695, + Required_type_parameters_may_not_follow_optional_type_parameters = 2706, + Duplicate_property_0 = 2718, + Property_0_is_missing_in_type_1_but_required_in_type_2 = 2741, + Type_0_has_no_call_signatures = 2757, + Get_accessor_0_must_be_at_least_as_accessible_as_the_setter = 2808, + This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0 = 4117, + File_0_not_found = 6054, + Numeric_separators_are_not_allowed_here = 6188, + Multiple_consecutive_numeric_separators_are_not_permitted = 6189, + This_expression_is_not_callable_because_it_is_a_get_accessor_Did_you_mean_to_use_it_without = 6234, + _super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class = 17009, + _super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class = 17011 + } + /** Translates a diagnostic code to its respective string. */ + export function diagnosticCodeToString(code: DiagnosticCode): string; +} +declare module "types:assemblyscript/src/util/binary" { + /** + * @fileoverview Various binary reading and writing utility. + * @license Apache-2.0 + */ + /** Reads an 8-bit integer from the specified buffer. */ + export function readI8(buffer: Uint8Array, offset: number): number; + /** Writes an 8-bit integer to the specified buffer. */ + export function writeI8(value: number, buffer: Uint8Array, offset: number): void; + /** Reads a 16-bit integer from the specified buffer. */ + export function readI16(buffer: Uint8Array, offset: number): number; + /** Writes a 16-bit integer to the specified buffer. */ + export function writeI16(value: number, buffer: Uint8Array, offset: number): void; + /** Reads a 32-bit integer from the specified buffer. */ + export function readI32(buffer: Uint8Array, offset: number): number; + /** Writes a 32-bit integer to the specified buffer. */ + export function writeI32(value: number, buffer: Uint8Array, offset: number): void; + /** Writes a 32-bit integer as a 64-bit integer to the specified buffer. */ + export function writeI32AsI64(value: number, buffer: Uint8Array, offset: number, unsigned?: boolean): void; + /** Reads a 64-bit integer from the specified buffer. */ + export function readI64(buffer: Uint8Array, offset: number): i64; + /** Writes a 64-bit integer to the specified buffer. */ + export function writeI64(value: i64, buffer: Uint8Array, offset: number): void; + /** Writes a 64-bit integer as a 32-bit integer to the specified buffer. */ + export function writeI64AsI32(value: i64, buffer: Uint8Array, offset: number, unsigned?: boolean): void; + /** Reads a 32-bit float from the specified buffer. */ + export function readF32(buffer: Uint8Array, offset: number): number; + /** Writes a 32-bit float to the specified buffer. */ + export function writeF32(value: number, buffer: Uint8Array, offset: number): void; + /** Reads a 64-bit float from the specified buffer. */ + export function readF64(buffer: Uint8Array, offset: number): number; + /** Writes a 64-bit float to the specified buffer. */ + export function writeF64(value: number, buffer: Uint8Array, offset: number): void; + /** Reads a 128-bit vector from the specified buffer. */ + export function readV128(buffer: Uint8Array, offset: number): Uint8Array; + /** Writes a 128-bit vector to the specified buffer. */ + export function writeV128(value: Uint8Array, buffer: Uint8Array, offset: number): void; +} +declare module "types:assemblyscript/src/util/collections" { + /** + * @fileoverview Various collections utility. + * @license Apache-2.0 + */ + /** Clone map. Typically used to track contextual type arguments. */ + export function cloneMap(map: Map | null): Map; + /** Merge two maps in into new one. */ + export function mergeMaps(map1: Map, map2: Map): Map; + /** BitSet represent growable sequence of N bits. It's faster alternative of Set when elements + * are not too much sparsed. Also it's more memory and cache efficient than Array. + * The best way to use it for short bit sequences (less than 32*(2**16)). + */ + export class BitSet { + words: Uint32Array; + constructor(); + get size(): number; + add(index: number): this; + delete(index: number): void; + has(index: number): boolean; + clear(): void; + toArray(): number[]; + toString(): string; + } +} +declare module "types:assemblyscript/src/util/math" { + /** + * @fileoverview Various math utility. + * @license Apache-2.0 + */ + /** Tests if `x` is a power of two. */ + export function isPowerOf2(x: number): boolean; + export function accuratePow64(x: number, y: number): number; +} +declare module "types:assemblyscript/src/util/text" { + /** + * @fileoverview Various character and text utility. + * @license Apache-2.0 + */ + /** An enum of named character codes. */ + export const enum CharCode { + Null = 0, + LineFeed = 10, + CarriageReturn = 13, + LineSeparator = 8232, + ParagraphSeparator = 8233, + NextLine = 133, + Space = 32, + NonBreakingSpace = 160, + EnQuad = 8192, + EmQuad = 8193, + EnSpace = 8194, + EmSpace = 8195, + ThreePerEmSpace = 8196, + FourPerEmSpace = 8197, + SixPerEmSpace = 8198, + FigureSpace = 8199, + PunctuationSpace = 8200, + ThinSpace = 8201, + HairSpace = 8202, + ZeroWidthSpace = 8203, + NarrowNoBreakSpace = 8239, + IdeographicSpace = 12288, + MathematicalSpace = 8287, + Ogham = 5760, + _ = 95, + _0 = 48, + _1 = 49, + _2 = 50, + _3 = 51, + _4 = 52, + _5 = 53, + _6 = 54, + _7 = 55, + _8 = 56, + _9 = 57, + a = 97, + b = 98, + c = 99, + d = 100, + e = 101, + f = 102, + g = 103, + h = 104, + i = 105, + j = 106, + k = 107, + l = 108, + m = 109, + n = 110, + o = 111, + p = 112, + q = 113, + r = 114, + s = 115, + t = 116, + u = 117, + v = 118, + w = 119, + x = 120, + y = 121, + z = 122, + A = 65, + B = 66, + C = 67, + D = 68, + E = 69, + F = 70, + G = 71, + H = 72, + I = 73, + J = 74, + K = 75, + L = 76, + M = 77, + N = 78, + O = 79, + P = 80, + Q = 81, + R = 82, + S = 83, + T = 84, + U = 85, + V = 86, + W = 87, + X = 88, + Y = 89, + Z = 90, + Ampersand = 38, + Asterisk = 42, + At = 64, + Backslash = 92, + Backtick = 96, + Bar = 124, + Caret = 94, + CloseBrace = 125, + CloseBracket = 93, + CloseParen = 41, + Colon = 58, + Comma = 44, + Dollar = 36, + Dot = 46, + DoubleQuote = 34, + Equals = 61, + Exclamation = 33, + GreaterThan = 62, + Hash = 35, + LessThan = 60, + Minus = 45, + OpenBrace = 123, + OpenBracket = 91, + OpenParen = 40, + Percent = 37, + Plus = 43, + Question = 63, + Semicolon = 59, + SingleQuote = 39, + Slash = 47, + Tilde = 126, + Backspace = 8, + FormFeed = 12, + ByteOrderMark = 65279, + Tab = 9, + VerticalTab = 11 + } + /** Tests if the specified character code is some sort of line break. */ + export function isLineBreak(c: number): boolean; + /** Tests if the specified character code is some sort of white space. */ + export function isWhiteSpace(c: number): boolean; + /** First high (lead) surrogate. */ + export const SURROGATE_HIGH = 55296; + /** First low (trail) surrogate. */ + export const SURROGATE_LOW = 56320; + /** Tests if a code unit or code point is a surrogate. */ + export function isSurrogate(c: number): boolean; + /** Tests if a surrogate is a high (lead) surrogate. */ + export function isSurrogateHigh(c: number): boolean; + /** Tests if a surrogate is a low (trail) surrogate. */ + export function isSurrogateLow(c: number): boolean; + /** Tests if a code unit or code point is a high (lead) surrogate. */ + export function isHighSurrogate(c: number): boolean; + /** Tests if a code unit or code point is a low (trail) surrogate. */ + export function isLowSurrogate(c: number): boolean; + /** Converts a surrogate pair to its respective code point. */ + export function combineSurrogates(hi: number, lo: number): number; + /** Gets the number of UTF-16 code units of the specified code point. */ + export function numCodeUnits(cp: number): number; + export function isAlpha(c: number): boolean; + /** Tests if the specified character code is a valid decimal digit. */ + export function isDecimal(c: number): boolean; + /** Tests if the specified character code is a valid octal digit. */ + export function isOctal(c: number): boolean; + /** Tests if the specified character code is a valid hexadecimal symbol [a-f]. */ + export function isHexBase(c: number): boolean; + /** Tests if the specified character code is a valid hexadecimal digit. */ + export function isHexOrDecimal(c: number): boolean; + /** Tests if the specified character code is trivially alphanumeric. */ + export function isAlphaOrDecimal(c: number): boolean; + /** Tests if the specified code point is a valid start of an identifier. */ + export function isIdentifierStart(cp: number): boolean; + /** Tests if the specified code point is a valid part of an identifier. */ + export function isIdentifierPart(cp: number): boolean; + /** Tests if the specified string is a valid identifer. */ + export function isIdentifier(str: string): boolean; + export function indent(sb: string[], level: number): void; + /** Escapes a string using the specified kind of quote. */ + export function escapeString(str: string, quote: CharCode): string; +} +declare module "types:assemblyscript/src/util/path" { + /** + * @fileoverview Various file path utility. + * @license Apache-2.0 + */ + /** + * Normalizes the specified path, removing interior placeholders. + * Expects a posix-compatible relative path (not Windows compatible). + */ + export function normalizePath(path: string): string; + /** Resolves the specified path relative to the specified origin. */ + export function resolvePath(normalizedPath: string, origin: string): string; + /** Obtains the directory portion of a normalized path. */ + export function dirname(normalizedPath: string): string; +} +declare module "types:assemblyscript/src/util/terminal" { + /** + * @fileoverview Terminal utility. + * @license Apache-2.0 + */ + /** Gray terminal color code. */ + export const COLOR_GRAY = "\u001B[90m"; + /** Red terminal color code. */ + export const COLOR_RED = "\u001B[91m"; + /** Green terminal color code. */ + export const COLOR_GREEN = "\u001B[92m"; + /** Yellow terminal color code. */ + export const COLOR_YELLOW = "\u001B[93m"; + /** Blue terminal color code. */ + export const COLOR_BLUE = "\u001B[94m"; + /** Magenta terminal color code. */ + export const COLOR_MAGENTA = "\u001B[95m"; + /** Cyan terminal color code. */ + export const COLOR_CYAN = "\u001B[96m"; + /** White terminal color code. */ + export const COLOR_WHITE = "\u001B[97m"; + /** Terminal color reset code. */ + export const COLOR_RESET = "\u001B[0m"; + /** Checks whether terminal colors are enabled or not. */ + export function isColorsEnabled(): boolean; + /** Sets whether terminal colors are enabled or not. */ + export function setColorsEnabled(isEnabled: boolean): boolean; + /** Wraps the specified text in the specified terminal color code. */ + export function colorize(text: string, color: string): string; +} +declare module "types:assemblyscript/src/util/vector" { + /** + * @fileoverview Various vector utility. + * @license Apache-2.0 + */ + /** v128 zero constant. */ + export const v128_zero: Uint8Array; + /** v128 all ones constant. */ + export const v128_ones: Uint8Array; +} +declare module "types:assemblyscript/src/util" { + /** + * @fileoverview Various utility. + * @license Apache-2.0 + */ + export * from "types:assemblyscript/src/util/binary"; + export * from "types:assemblyscript/src/util/collections"; + export * from "types:assemblyscript/src/util/math"; + export * from "types:assemblyscript/src/util/path"; + export * from "types:assemblyscript/src/util/terminal"; + export * from "types:assemblyscript/src/util/text"; + export * from "types:assemblyscript/src/util/vector"; +} +declare module "types:assemblyscript/src/diagnostics" { + /** + * @fileoverview Shared diagnostic handling. + * @license Apache-2.0 + */ + import { Source } from "types:assemblyscript/src/ast"; + import { DiagnosticCode } from "types:assemblyscript/src/diagnosticMessages.generated"; + export { DiagnosticCode, diagnosticCodeToString } from "types:assemblyscript/src/diagnosticMessages.generated"; + /** Indicates the category of a {@link DiagnosticMessage}. */ + export const enum DiagnosticCategory { + /** Overly pedantic message. */ + Pedantic = 0, + /** Informatory message. */ + Info = 1, + /** Warning message. */ + Warning = 2, + /** Error message. */ + Error = 3 + } + export class Range { + start: number; + end: number; + source: Source; + constructor(start: number, end: number); + static join(a: Range, b: Range): Range; + equals(other: Range): boolean; + get atStart(): Range; + get atEnd(): Range; + toString(): string; + } + /** Returns the string representation of the specified diagnostic category. */ + export function diagnosticCategoryToString(category: DiagnosticCategory): string; + /** Returns the ANSI escape sequence for the specified category. */ + export function diagnosticCategoryToColor(category: DiagnosticCategory): string; + /** Represents a diagnostic message. */ + export class DiagnosticMessage { + /** Message code. */ + code: number; + /** Message category. */ + category: DiagnosticCategory; + /** Message text. */ + message: string; + /** Respective source range, if any. */ + range: Range | null; + /** Related range, if any. */ + relatedRange: Range | null; + /** Constructs a new diagnostic message. */ + private constructor(); + /** Creates a new diagnostic message of the specified category. */ + static create(code: DiagnosticCode, category: DiagnosticCategory, arg0?: string | null, arg1?: string | null, arg2?: string | null): DiagnosticMessage; + /** Tests if this message equals the specified. */ + equals(other: DiagnosticMessage): boolean; + /** Adds a source range to this message. */ + withRange(range: Range): this; + /** Adds a related source range to this message. */ + withRelatedRange(range: Range): this; + /** Converts this message to a string. */ + toString(): string; + } + /** Formats a diagnostic message, optionally with terminal colors and source context. */ + export function formatDiagnosticMessage(message: DiagnosticMessage, useColors?: boolean, showContext?: boolean): string; + /** Base class of all diagnostic emitters. */ + export abstract class DiagnosticEmitter { + /** Diagnostic messages emitted so far. */ + diagnostics: DiagnosticMessage[]; + /** Diagnostic messages already seen, by range. */ + private seen; + /** Initializes this diagnostic emitter. */ + protected constructor(diagnostics?: DiagnosticMessage[] | null); + /** Emits a diagnostic message of the specified category. */ + emitDiagnostic(code: DiagnosticCode, category: DiagnosticCategory, range: Range | null, relatedRange: Range | null, arg0?: string | null, arg1?: string | null, arg2?: string | null): void; + /** Emits an overly pedantic diagnostic message. */ + pedantic(code: DiagnosticCode, range: Range | null, arg0?: string | null, arg1?: string | null, arg2?: string | null): void; + /** Emits an overly pedantic diagnostic message with a related range. */ + pedanticRelated(code: DiagnosticCode, range: Range, relatedRange: Range, arg0?: string | null, arg1?: string | null, arg2?: string | null): void; + /** Emits an informatory diagnostic message. */ + info(code: DiagnosticCode, range: Range | null, arg0?: string | null, arg1?: string | null, arg2?: string | null): void; + /** Emits an informatory diagnostic message with a related range. */ + infoRelated(code: DiagnosticCode, range: Range, relatedRange: Range, arg0?: string | null, arg1?: string | null, arg2?: string | null): void; + /** Emits a warning diagnostic message. */ + warning(code: DiagnosticCode, range: Range | null, arg0?: string | null, arg1?: string | null, arg2?: string | null): void; + /** Emits a warning diagnostic message with a related range. */ + warningRelated(code: DiagnosticCode, range: Range, relatedRange: Range, arg0?: string | null, arg1?: string | null, arg2?: string | null): void; + /** Emits an error diagnostic message. */ + error(code: DiagnosticCode, range: Range | null, arg0?: string | null, arg1?: string | null, arg2?: string | null): void; + /** Emits an error diagnostic message with a related range. */ + errorRelated(code: DiagnosticCode, range: Range, relatedRange: Range, arg0?: string | null, arg1?: string | null, arg2?: string | null): void; + } +} +declare module "types:assemblyscript/src/tokenizer" { + /** + * @fileoverview A TypeScript tokenizer modified for AssemblyScript. + * + * The `Tokenizer` scans over a source file and returns one syntactic token + * at a time that the parser will combine to an abstract syntax tree. + * + * It skips over trivia like comments and whitespace and provides a general + * mark/reset mechanism for the parser to utilize on ambiguous tokens, with + * one token of lookahead otherwise. + * + * @license Apache-2.0 + */ + import { Range, DiagnosticMessage, DiagnosticEmitter } from "types:assemblyscript/src/diagnostics"; + import { Source, CommentKind } from "types:assemblyscript/src/ast"; + /** Named token types. */ + export const enum Token { + Abstract = 0, + As = 1, + Async = 2, + Await = 3, + Break = 4, + Case = 5, + Catch = 6, + Class = 7, + Const = 8, + Continue = 9, + Constructor = 10, + Debugger = 11, + Declare = 12, + Default = 13, + Delete = 14, + Do = 15, + Else = 16, + Enum = 17, + Export = 18, + Extends = 19, + False = 20, + Finally = 21, + For = 22, + From = 23, + Function = 24, + Get = 25, + If = 26, + Implements = 27, + Import = 28, + In = 29, + InstanceOf = 30, + Interface = 31, + Is = 32, + KeyOf = 33, + Let = 34, + Module = 35, + Namespace = 36, + New = 37, + Null = 38, + Of = 39, + Override = 40, + Package = 41, + Private = 42, + Protected = 43, + Public = 44, + Readonly = 45, + Return = 46, + Set = 47, + Static = 48, + Super = 49, + Switch = 50, + This = 51, + Throw = 52, + True = 53, + Try = 54, + Type = 55, + TypeOf = 56, + Var = 57, + Void = 58, + While = 59, + With = 60, + Yield = 61, + OpenBrace = 62, + CloseBrace = 63, + OpenParen = 64, + CloseParen = 65, + OpenBracket = 66, + CloseBracket = 67, + Dot = 68, + Dot_Dot_Dot = 69, + Semicolon = 70, + Comma = 71, + LessThan = 72, + GreaterThan = 73, + LessThan_Equals = 74, + GreaterThan_Equals = 75, + Equals_Equals = 76, + Exclamation_Equals = 77, + Equals_Equals_Equals = 78, + Exclamation_Equals_Equals = 79, + Equals_GreaterThan = 80, + Plus = 81, + Minus = 82, + Asterisk_Asterisk = 83, + Asterisk = 84, + Slash = 85, + Percent = 86, + Plus_Plus = 87, + Minus_Minus = 88, + LessThan_LessThan = 89, + GreaterThan_GreaterThan = 90, + GreaterThan_GreaterThan_GreaterThan = 91, + Ampersand = 92, + Bar = 93, + Caret = 94, + Exclamation = 95, + Tilde = 96, + Ampersand_Ampersand = 97, + Bar_Bar = 98, + Question = 99, + Colon = 100, + Equals = 101, + Plus_Equals = 102, + Minus_Equals = 103, + Asterisk_Equals = 104, + Asterisk_Asterisk_Equals = 105, + Slash_Equals = 106, + Percent_Equals = 107, + LessThan_LessThan_Equals = 108, + GreaterThan_GreaterThan_Equals = 109, + GreaterThan_GreaterThan_GreaterThan_Equals = 110, + Ampersand_Equals = 111, + Bar_Equals = 112, + Caret_Equals = 113, + At = 114, + Identifier = 115, + StringLiteral = 116, + IntegerLiteral = 117, + FloatLiteral = 118, + TemplateLiteral = 119, + Invalid = 120, + EndOfFile = 121 + } + export const enum IdentifierHandling { + Default = 0, + Prefer = 1, + Always = 2 + } + export function tokenFromKeyword(text: string): Token; + export function tokenIsAlsoIdentifier(token: Token): boolean; + export function isIllegalVariableIdentifier(name: string): boolean; + export function operatorTokenToString(token: Token): string; + /** Handler for intercepting comments while tokenizing. */ + export type CommentHandler = (kind: CommentKind, text: string, range: Range) => void; + enum OnNewLine { + No = 0, + Yes = 1, + Unknown = 2 + } + /** Tokenizes a source to individual {@link Token}s. */ + export class Tokenizer extends DiagnosticEmitter { + source: Source; + end: number; + pos: number; + token: Token; + tokenPos: number; + nextToken: Token; + nextTokenPos: number; + nextTokenOnNewLine: OnNewLine; + onComment: CommentHandler | null; + /** Constructs a new tokenizer. */ + constructor(source: Source, diagnostics?: DiagnosticMessage[] | null); + next(identifierHandling?: IdentifierHandling): Token; + private unsafeNext; + peek(identifierHandling?: IdentifierHandling, maxCompoundLength?: number): Token; + peekOnNewLine(): boolean; + skipIdentifier(identifierHandling?: IdentifierHandling): boolean; + skip(token: Token, identifierHandling?: IdentifierHandling): boolean; + mark(): State; + discard(state: State): void; + reset(state: State): void; + clearNextToken(): void; + range(start?: number, end?: number): Range; + readIdentifier(): string; + readingTemplateString: boolean; + readStringStart: number; + readStringEnd: number; + readString(quote?: number, isTaggedTemplate?: boolean): string; + readEscapeSequence(isTaggedTemplate?: boolean): string; + readRegexpPattern(): string; + readRegexpFlags(): string; + testInteger(): boolean; + readInteger(): i64; + readHexInteger(): i64; + readDecimalInteger(): i64; + readOctalInteger(): i64; + readBinaryInteger(): i64; + readFloat(): number; + readDecimalFloat(): number; + /** Reads past one section of a decimal float literal. Returns the number of separators encountered. */ + private readDecimalFloatPartial; + readHexFloat(): number; + readHexadecimalEscape(remain?: number, startIfTaggedTemplate?: number): string; + checkForIdentifierStartAfterNumericLiteral(): void; + readUnicodeEscape(startIfTaggedTemplate?: number): string; + private readExtendedUnicodeEscape; + } + /** Tokenizer state as returned by {@link Tokenizer#mark} and consumed by {@link Tokenizer#reset}. */ + export class State { + /** Current position. */ + pos: number; + /** Current token. */ + token: Token; + /** Current token's position. */ + tokenPos: number; + constructor( + /** Current position. */ + pos: number, + /** Current token. */ + token: Token, + /** Current token's position. */ + tokenPos: number); + } + export {}; +} +declare module "types:assemblyscript/src/types" { + /** + * @fileoverview Mappings from AssemblyScript types to WebAssembly types. + * @license Apache-2.0 + */ + import { Class, Program } from "types:assemblyscript/src/program"; + import { TypeRef } from "types:assemblyscript/src/module"; + /** Indicates the kind of a type. */ + export const enum TypeKind { + /** A 1-bit unsigned integer. */ + Bool = 0, + /** An 8-bit signed integer. */ + I8 = 1, + /** A 16-bit signed integer. */ + I16 = 2, + /** A 32-bit signed integer. */ + I32 = 3, + /** A 64-bit signed integer. */ + I64 = 4, + /** A 32-bit/64-bit signed integer, depending on the target. */ + Isize = 5, + /** An 8-bit unsigned integer. */ + U8 = 6, + /** A 16-bit unsigned integer. */ + U16 = 7, + /** A 32-bit unsigned integer. Also the base of function types. */ + U32 = 8, + /** A 64-bit unsigned integer. */ + U64 = 9, + /** A 32-bit/64-bit unsigned integer, depending on the target. Also the base of class types. */ + Usize = 10, + /** A 32-bit float. */ + F32 = 11, + /** A 64-bit double. */ + F64 = 12, + /** A 128-bit vector. */ + V128 = 13, + /** External reference. */ + Extern = 14, + /** Function reference. */ + Func = 15, + /** Any reference. */ + Any = 16, + /** Equatable reference. */ + Eq = 17, + /** Struct reference. */ + Struct = 18, + /** Array reference. */ + Array = 19, + /** 31-bit integer reference. */ + I31 = 20, + /** String reference. */ + String = 21, + /** WTF8 string view. */ + StringviewWTF8 = 22, + /** WTF16 string view. */ + StringviewWTF16 = 23, + /** String iterator. */ + StringviewIter = 24, + /** No return type. */ + Void = 25 + } + /** Indicates capabilities of a type. */ + export const enum TypeFlags { + None = 0, + /** Is a signed type that can represent negative values. */ + Signed = 1, + /** Is an unsigned type that cannot represent negative values. */ + Unsigned = 2, + /** Is an integer type. */ + Integer = 4, + /** Is a floating point type. */ + Float = 8, + /** Is a varying (in size) type. */ + Varying = 16, + /** Is smaller than 32-bits. */ + Short = 32, + /** Is larger than 32-bits. */ + Long = 64, + /** Is a value type. */ + Value = 128, + /** Is a reference type (either a class or a function type). */ + Reference = 256, + /** Is a nullable type. */ + Nullable = 512, + /** Is a vector type. */ + Vector = 1024, + /** Is an external type. */ + External = 2048, + /** Is a class. */ + Class = 4096, + /** Is a function. */ + Function = 8192 + } + /** Represents a resolved type. */ + export class Type { + /** Type kind. */ + kind: TypeKind; + /** Type flags. */ + flags: TypeFlags; + /** Size in bits. */ + size: number; + /** Underlying class reference, if a class type. */ + classReference: Class | null; + /** Underlying signature reference, if a function type. */ + signatureReference: Signature | null; + /** Respective non-nullable type, if nullable. */ + private _nonNullableType; + /** Respective nullable type, if non-nullable. */ + private _nullableType; + /** Cached Binaryen type reference. */ + ref: TypeRef; + /** Constructs a new resolved type. */ + constructor(kind: TypeKind, flags: TypeFlags, size: number); + /** Returns the closest int type representing this type. */ + get intType(): Type; + /** Substitutes this type with the auto type if this type is void. */ + get exceptVoid(): Type; + /** Size in bytes. */ + get byteSize(): number; + /** Gets this type's logarithmic alignment in memory. */ + get alignLog2(): number; + /** Tests if this type represents a basic value. */ + get isValue(): boolean; + /** Tests if this type represents an integer value. */ + get isIntegerValue(): boolean; + /** Tests if this type represents a small (< 32 bits) integer value. */ + get isShortIntegerValue(): boolean; + /** Tests if this type represents a long (> 32 bits) integer value. */ + get isLongIntegerValue(): boolean; + /** Tests if this type represents a signed integer value. */ + get isSignedIntegerValue(): boolean; + /** Tests if this type represents an unsigned integer value. */ + get isUnsignedIntegerValue(): boolean; + /** Tests if this type represents a varying (in size) integer value. */ + get isVaryingIntegerValue(): boolean; + /** Tests if this type represents an integer, including references. */ + get isIntegerInclReference(): boolean; + /** Tests if this type represents a floating point value. */ + get isFloatValue(): boolean; + /** Tests if this type represents a numeric (integer or floating point) value. */ + get isNumericValue(): boolean; + /** Tests if this type represents a boolean value. */ + get isBooleanValue(): boolean; + /** Tests if this type represents a vector value. */ + get isVectorValue(): boolean; + /** Tests if this type represents an internal or external reference. */ + get isReference(): boolean; + /** Tests if this type represents a nullable internal or external reference. */ + get isNullableReference(): boolean; + /** Tests if this type represents an internal object. */ + get isInternalReference(): boolean; + /** Tests if this type represents an external object. */ + get isExternalReference(): boolean; + /** Tests if this type represents a nullable external object. */ + get isNullableExternalReference(): boolean; + /** Gets the underlying class of this type, if any. */ + getClass(): Class | null; + /** Tests if this type represents a class. */ + get isClass(): boolean; + /** Gets the underlying class or wrapper class of this type, if any. */ + getClassOrWrapper(program: Program): Class | null; + /** Gets the underlying function signature of this type, if any. */ + getSignature(): Signature | null; + /** Tests if this type represents a function. */ + get isFunction(): boolean; + /** Tests if this is a managed type that needs GC hooks. */ + get isManaged(): boolean; + /** Tests if this is a class type explicitly annotated as unmanaged. */ + get isUnmanaged(): boolean; + get isMemory(): boolean; + /** Gets the corresponding non-nullable type. */ + get nonNullableType(): Type; + /** Gets the corresponding nullable type, if applicable. */ + get nullableType(): Type | null; + /** Computes the sign-extending shift in the target type. */ + computeSmallIntegerShift(targetType: Type): number; + /** Computes the truncating mask in the target type. */ + computeSmallIntegerMask(targetType: Type): number; + /** Tests if this type has (all of) the specified flags. */ + is(flags: TypeFlags): boolean; + /** Tests if this type has any of the specified flags. */ + isAny(flags: TypeFlags): boolean; + /** Composes the respective nullable type of this type. */ + asNullable(): Type; + /** Use unsigned type for according size if possible. */ + toUnsigned(): Type; + /** Tests if this type equals the specified. */ + equals(other: Type): boolean; + /** Tests if a value of this type is assignable to the target type incl. implicit conversion. */ + isAssignableTo(target: Type, signednessIsRelevant?: boolean): boolean; + /** Tests if a value of this type is assignable to the target type excl. implicit conversion. */ + isStrictlyAssignableTo(target: Type, signednessIsRelevant?: boolean): boolean; + /** Tests if this type has a subtype assignable to the target type. */ + hasSubtypeAssignableTo(target: Type): boolean; + /** Tests if a value of this type can be changed to the target type using `changetype`. */ + isChangeableTo(target: Type): boolean; + /** Tests if this type can extend or implement the given type. */ + canExtendOrImplement(base: Type): boolean; + /** Computes the common type of a binary-like expression, if any. */ + static commonType( + /** LHS type. */ + left: Type, + /** RHS type. */ + right: Type, + /** Contextual type, if any. */ + contextualType?: Type, + /** Whether signedness is relevant. */ + signednessIsRelevant?: boolean): Type | null; + /** Converts this type's kind to a string. */ + kindToString(): string; + /** Converts this type to a string. */ + toString(validWat?: boolean): string; + /** Converts this type to its respective type reference. */ + toRef(): TypeRef; + /** An 8-bit signed integer. */ + static readonly i8: Type; + /** A 16-bit signed integer. */ + static readonly i16: Type; + /** A 32-bit signed integer. */ + static readonly i32: Type; + /** A 64-bit signed integer. */ + static readonly i64: Type; + /** A 32-bit signed size. WASM32 only. */ + static readonly isize32: Type; + /** A 64-bit signed size. WASM64 only. */ + static readonly isize64: Type; + /** An 8-bit unsigned integer. */ + static readonly u8: Type; + /** A 16-bit unsigned integer. */ + static readonly u16: Type; + /** A 32-bit unsigned integer. */ + static readonly u32: Type; + /** A 64-bit unsigned integer. */ + static readonly u64: Type; + /** A 32-bit unsigned size. WASM32 only. */ + static readonly usize32: Type; + /** A 64-bit unsigned size. WASM64 only. */ + static readonly usize64: Type; + /** A 1-bit unsigned integer. */ + static readonly bool: Type; + /** A 32-bit float. */ + static readonly f32: Type; + /** A 64-bit float. */ + static readonly f64: Type; + /** A 128-bit vector. */ + static readonly v128: Type; + /** Non-nullable function reference (`ref func`). */ + static readonly func: Type; + /** Non-nullable external reference (`ref extern`). */ + static readonly extern: Type; + /** Non-nullable any reference (`ref any`). */ + static readonly any: Type; + /** Non-nullable equatable reference (`ref eq`). */ + static readonly eq: Type; + /** Non-nullable struct reference (`ref struct`). */ + static readonly struct: Type; + /** Non-nullable array reference (`ref array`). */ + static readonly array: Type; + /** Non-nullable 31-bit integer reference (`ref i31`). */ + static readonly i31: Type; + /** Non-nullable string reference (`ref string`). */ + static readonly string: Type; + /** Non-nullable WTF8 string view reference (`ref stringview_wtf8`). */ + static readonly stringview_wtf8: Type; + /** Non-nullable WTF16 string view reference (`ref stringview_wtf16`). */ + static readonly stringview_wtf16: Type; + /** Non-nullable string iterator reference (`ref stringview_iter`). */ + static readonly stringview_iter: Type; + /** No return type. */ + static readonly void: Type; + /** Alias of i32 indicating type inference of locals and globals with just an initializer. */ + static readonly auto: Type; + } + /** Converts an array of types to an array of type references. */ + export function typesToRefs(types: Type[]): TypeRef[]; + /** Converts an array of types to its combined string representation. */ + export function typesToString(types: Type[]): string; + /** Represents a fully resolved function signature. */ + export class Signature { + /** The program that created this signature. */ + readonly program: Program; + /** Parameter types, if any, excluding `this`. */ + readonly parameterTypes: Type[]; + /** Return type. */ + readonly returnType: Type; + /** This type, if an instance signature. */ + readonly thisType: Type | null; + /** Number of required parameters excluding `this`. Other parameters are considered optional. */ + readonly requiredParameters: number; + /** Whether the last parameter is a rest parameter. */ + readonly hasRest: boolean; + /** Unique id representing this signature. */ + readonly id: number; + /** Respective function type. */ + readonly type: Type; + /** Construct a new signature. */ + static create( + /** The program that created this signature. */ + program: Program, + /** Parameter types, if any, excluding `this`. */ + parameterTypes?: Type[], + /** Return type. */ + returnType?: Type, + /** This type, if an instance signature. */ + thisType?: Type | null, + /** Number of required parameters excluding `this`. Other parameters are considered optional. */ + requiredParameters?: number, + /** Whether the last parameter is a rest parameter. */ + hasRest?: boolean): Signature; + /** Constructs a new signature. */ + private constructor(); + get paramRefs(): TypeRef; + get resultRefs(): TypeRef; + /** Tests if this signature equals the specified. */ + equals(other: Signature): boolean; + /** Tests if a value of this function type is assignable to a target of the specified function type. */ + isAssignableTo(target: Signature, checkCompatibleOverride?: boolean): boolean; + /** Tests if this signature has at least one managed operand. */ + get hasManagedOperands(): boolean; + /** Gets the indices of all managed operands. */ + getManagedOperandIndices(): number[]; + /** Tests if this signature has at least one v128 operand. */ + get hasVectorValueOperands(): boolean; + /** Gets the indices of all v128 operands. */ + getVectorValueOperandIndices(): number[]; + /** Converts this signature to a string. */ + toString(validWat?: boolean): string; + /** Creates a clone of this signature that is safe to modify. */ + clone(requiredParameters?: number, hasRest?: boolean): Signature; + } +} +declare module "types:assemblyscript/src/flow" { + /** + * @fileoverview A concurrent code flow analyzer. + * + * Flows keep track of compilation state and can be queried for various + * conditions, like whether the current branch always terminates, whether + * a local is known to be non-null or whether an expression has possibly + * overflown its value range. + * + * To accomplish this, compilation of each function begins with a clean + * flow populated with initial local states etc. While compilation + * progresses, statements and expressions update flow state while control + * constructs fork, potentially add scoped locals and later merge these + * forked branches as necessary. + * + * @license Apache-2.0 + */ + import { Type } from "types:assemblyscript/src/types"; + import { Program, Local, Function, Element, Property, TypeDefinition } from "types:assemblyscript/src/program"; + import { ExpressionRef } from "types:assemblyscript/src/module"; + import { Node } from "types:assemblyscript/src/ast"; + /** Control flow flags indicating specific conditions. */ + export const enum FlowFlags { + /** No specific conditions. */ + None = 0, + /** This flow always returns. */ + Returns = 1, + /** This flow always returns a wrapped value. */ + ReturnsWrapped = 2, + /** This flow always returns a non-null value. */ + ReturnsNonNull = 4, + /** This flow always throws. */ + Throws = 8, + /** This flow always breaks. */ + Breaks = 16, + /** This flow always continues. */ + Continues = 32, + /** This flow always accesses `this`. Constructors only. */ + AccessesThis = 64, + /** This flow always calls `super`. Constructors only. */ + CallsSuper = 128, + /** This flow always terminates (returns, throws or continues). */ + Terminates = 256, + /** This flow conditionally returns in a child flow. */ + ConditionallyReturns = 512, + /** This flow conditionally throws in a child flow. */ + ConditionallyThrows = 1024, + /** This flow conditionally breaks in a child flow. */ + ConditionallyBreaks = 2048, + /** This flow conditionally continues in a child flow. */ + ConditionallyContinues = 4096, + /** This flow conditionally accesses `this` in a child flow. Constructors only. */ + ConditionallyAccessesThis = 8192, + /** This flow may return a non-this value. Constructors only. */ + MayReturnNonThis = 16384, + /** This is a flow with explicitly disabled bounds checking. */ + UncheckedContext = 32768, + /** This is a flow compiling a constructor parameter. */ + CtorParamContext = 65536, + /** Any categorical flag. */ + AnyCategorical = 511, + /** Any conditional flag. */ + AnyConditional = 15872 + } + /** Flags indicating the current state of a local. */ + export const enum LocalFlags { + /** No specific conditions. */ + None = 0, + /** Local is constant. */ + Constant = 1, + /** Local is properly wrapped. Relevant for small integers. */ + Wrapped = 2, + /** Local is non-null. */ + NonNull = 4, + /** Local is initialized. */ + Initialized = 8 + } + /** Flags indicating the current state of a field. */ + export const enum FieldFlags { + None = 0, + Initialized = 1 + } + /** Condition kinds. */ + export const enum ConditionKind { + /** Outcome of the condition is unknown */ + Unknown = 0, + /** Condition is always true. */ + True = 1, + /** Condition is always false. */ + False = 2 + } + /** A control flow evaluator. */ + export class Flow { + /** Target function this flow generates code into. */ + targetFunction: Function; + /** Inline function this flow generates code from, if any. */ + inlineFunction: Function | null; + /** Creates the default top-level flow of the specified function. */ + static createDefault(targetFunction: Function): Flow; + /** Creates an inline flow, compiling `inlineFunction` into `targetFunction`. */ + static createInline(targetFunction: Function, inlineFunction: Function): Flow; + private constructor(); + /** Parent flow. */ + parent: Flow | null; + /** Outer flow. Only relevant for first-class functions. */ + outer: Flow | null; + /** Flow flags indicating specific conditions. */ + flags: FlowFlags; + /** The label we break to when encountering a continue statement. */ + continueLabel: string | null; + /** The label we break to when encountering a break statement. */ + breakLabel: string | null; + /** Scoped local variables. */ + scopedLocals: Map | null; + /** Scoped type alias. */ + scopedTypeAlias: Map | null; + /** Local flags. */ + localFlags: LocalFlags[]; + /** Field flags on `this`. Constructors only. */ + thisFieldFlags: Map | null; + /** The label we break to when encountering a return statement, when inlining. */ + inlineReturnLabel: string | null; + /** Alternative flows if a compound expression is true-ish. */ + trueFlows: Map | null; + /** Alternative flows if a compound expression is false-ish. */ + falseFlows: Map | null; + /** Tests if this is an inline flow. */ + get isInline(): boolean; + /** Gets the source function being compiled. Differs from target when inlining. */ + get sourceFunction(): Function; + /** Gets the program this flow belongs to. */ + get program(): Program; + /** Gets the current return type. */ + get returnType(): Type; + /** Gets the current contextual type arguments. */ + get contextualTypeArguments(): Map | null; + /** Tests if this flow has the specified flag or flags. */ + is(flag: FlowFlags): boolean; + /** Tests if this flow has one of the specified flags. */ + isAny(flag: FlowFlags): boolean; + /** Sets the specified flag or flags. */ + set(flag: FlowFlags): void; + /** Unsets the specified flag or flags. */ + unset(flag: FlowFlags): void; + deriveConditionalFlags(): FlowFlags; + /** Forks this flow to a child flow. */ + fork( + /** Whether a new break context is established, e.g. by a block. */ + newBreakContext?: boolean, + /** Whether a new continue context is established, e.g. by a loop. */ + newContinueContext?: boolean): Flow; + /** Forks this flow to a child flow where `condExpr` is true-ish. */ + forkThen( + /** Condition that turned out to be true. */ + condExpr: ExpressionRef, + /** Whether a new break context is established, e.g. by a block. */ + newBreakContext?: boolean, + /** Whether a new continue context is established, e.g. by a loop. */ + newContinueContext?: boolean): Flow; + /** Remembers the alternative flow if `condExpr` turns out `true`. */ + noteThen(condExpr: ExpressionRef, trueFlow: Flow): void; + /** Forks this flow to a child flow where `condExpr` is false-ish. */ + forkElse( + /** Condition that turned out to be false. */ + condExpr: ExpressionRef): Flow; + /** Remembers the alternative flow if `condExpr` turns out `false`. */ + noteElse(condExpr: ExpressionRef, falseFlow: Flow): void; + addScopedTypeAlias(name: string, definition: TypeDefinition): void; + lookupScopedTypeAlias(name: string): TypeDefinition | null; + lookupTypeAlias(name: string): TypeDefinition | null; + /** Gets a free temporary local of the specified type. */ + getTempLocal(type: Type): Local; + /** Gets the scoped local of the specified name. */ + getScopedLocal(name: string): Local | null; + /** Adds a new scoped local of the specified name. */ + addScopedLocal(name: string, type: Type): Local; + /** Adds a new scoped dummy local of the specified name. */ + addScopedDummyLocal(name: string, type: Type, declarationNode: Node): Local; + /** Adds a new scoped alias for the specified local. For example `super` aliased to the `this` local. */ + addScopedAlias(name: string, type: Type, index: number, reportNode?: Node | null): Local; + /** Frees a single scoped local by its name. */ + freeScopedDummyLocal(name: string): void; + /** Looks up the local of the specified name in the current scope. */ + lookupLocal(name: string): Local | null; + /** Looks up the element with the specified name relative to the scope of this flow. */ + lookup(name: string): Element | null; + /** Tests if the local at the specified index has the specified flag or flags. */ + isLocalFlag(index: number, flag: LocalFlags, defaultIfInlined?: boolean): boolean; + /** Tests if the local at the specified index has any of the specified flags. */ + isAnyLocalFlag(index: number, flag: LocalFlags, defaultIfInlined?: boolean): boolean; + /** Sets the specified flag or flags on the local at the specified index. */ + setLocalFlag(index: number, flag: LocalFlags): void; + /** Unsets the specified flag or flags on the local at the specified index. */ + unsetLocalFlag(index: number, flag: LocalFlags): void; + /** Initializes `this` field flags. */ + initThisFieldFlags(): void; + /** Tests if the specified `this` field has the specified flag or flags. */ + isThisFieldFlag(field: Property, flag: FieldFlags): boolean; + /** Sets the specified flag or flags on the given `this` field. */ + setThisFieldFlag(field: Property, flag: FieldFlags): void; + /** Pushes a new control flow label, for example when entering a loop that one can `break` from. */ + pushControlFlowLabel(): number; + /** Pops the most recent control flow label and validates that it matches. */ + popControlFlowLabel(expectedLabel: number): void; + /** Inherits flags of another flow into this one, i.e. a finished inner block. */ + inherit(other: Flow): void; + /** Merges only the side effects of a branch, i.e. when not taken. */ + mergeSideEffects(other: Flow): void; + /** Merges a branch joining again with this flow, i.e. then without else. */ + mergeBranch(other: Flow): void; + /** Inherits two alternate branches to become this flow, i.e. then with else. */ + inheritAlternatives(left: Flow, right: Flow): void; + /** Tests if recompilation is needed due to incompatible local flags between loops, and resets if necessary. */ + resetIfNeedsRecompile( + /** Resulting flow of the current compilation attempt. */ + other: Flow, + /** Number of locals before the compilation attempt. */ + numLocalsBefore: number): boolean; + /** Checks if an expression of the specified type is known to be non-null, even if the type might be nullable. */ + isNonnull(expr: ExpressionRef, type: Type): boolean; + /** Updates local states to reflect that this branch is only taken when `expr` is true-ish. */ + private inheritNonnullIfTrue; + /** Updates local states to reflect that this branch is only taken when `expr` is false-ish. */ + private inheritNonnullIfFalse; + /** + * Tests if an expression can possibly overflow in the context of this flow. Assumes that the + * expression might already have overflown and returns `false` only if the operation neglects + * any possible combination of garbage bits being present. + */ + canOverflow(expr: ExpressionRef, type: Type): boolean; + toString(): string; + } +} +declare module "types:assemblyscript/src/resolver" { + /** + * @fileoverview Resolve infrastructure to obtain types and elements. + * + * Similar to the compiler making instructions of expressions, the resolver + * obtains metadata of expressions. As such, for each `compileX` method in + * the compiler there is one `lookupX` method in the resolver returning the + * respective IR element, respectively one `resolveX` method returning the + * respective type of an expression. It is also able to make new elements, + * like instances of classes given its concrete type arguments. + * + * @license Apache-2.0 + */ + import { DiagnosticEmitter } from "types:assemblyscript/src/diagnostics"; + import { Program, Element, Class, ClassPrototype, Function, FunctionPrototype, Property, PropertyPrototype } from "types:assemblyscript/src/program"; + import { Flow } from "types:assemblyscript/src/flow"; + import { TypeNode, TypeName, TypeParameterNode, Node, IdentifierExpression, CallExpression, Expression, IntegerLiteralExpression } from "types:assemblyscript/src/ast"; + import { Type } from "types:assemblyscript/src/types"; + /** Indicates whether errors are reported or not. */ + export const enum ReportMode { + /** Report errors. */ + Report = 0, + /** Swallow errors. */ + Swallow = 1 + } + /** Provides tools to resolve types and expressions. */ + export class Resolver extends DiagnosticEmitter { + /** The program this resolver belongs to. */ + program: Program; + /** Target expression of the previously resolved property or element access. */ + currentThisExpression: Expression | null; + /** Element expression of the previously resolved element access. */ + currentElementExpression: Expression | null; + /** Whether a new override has been discovered. */ + discoveredOverride: boolean; + /** Constructs the resolver for the specified program. */ + constructor( + /** The program to construct a resolver for. */ + program: Program); + /** Resolves a {@link TypeNode} to a concrete {@link Type}. */ + resolveType( + /** The type to resolve. */ + node: TypeNode, + /** The flow */ + flow: Flow | null, + /** Contextual element. */ + ctxElement: Element, + /** Contextual types, i.e. `T`. */ + ctxTypes?: Map | null, + /** How to proceed with eventual diagnostics. */ + reportMode?: ReportMode): Type | null; + /** Resolves a {@link NamedTypeNode} to a concrete {@link Type}. */ + private resolveNamedType; + /** Resolves a {@link FunctionTypeNode} to a concrete {@link Type}. */ + private resolveFunctionType; + private resolveBuiltinNativeType; + private resolveBuiltinIndexofType; + private resolveBuiltinValueofType; + private resolveBuiltinReturnTypeType; + private resolveBuiltinNotNullableType; + /** Resolves a type name to the program element it refers to. */ + resolveTypeName( + /** The type name to resolve. */ + node: TypeName, + /** The flow */ + flow: Flow | null, + /** Contextual element. */ + ctxElement: Element, + /** How to proceed with eventual diagnostics. */ + reportMode?: ReportMode): Element | null; + /** Resolves an array of type arguments to concrete types. */ + resolveTypeArguments( + /** Type parameter nodes present. */ + typeParameters: TypeParameterNode[], + /** Type argument nodes provided. */ + typeArgumentNodes: TypeNode[] | null, + /** Flow */ + flow: Flow | null, + /** Contextual element. */ + ctxElement: Element, + /** Contextual types, i.e. `T`. Updated in place with the new set of contextual types. */ + ctxTypes?: Map, + /** Alternative report node in case of empty type arguments. */ + alternativeReportNode?: Node | null, + /** How to proceed with eventual diagnostics. */ + reportMode?: ReportMode): Type[] | null; + /** Resolves respectively infers the concrete instance of a function by call context. */ + maybeInferCall(node: CallExpression, prototype: FunctionPrototype, ctxFlow: Flow, reportMode?: ReportMode): Function | null; + /** Updates contextual types with a possibly encapsulated inferred type. */ + private propagateInferredGenericTypes; + /** Gets the concrete type of an element. */ + getTypeOfElement(element: Element): Type | null; + /** Gets the element of a concrete type. */ + getElementOfType(type: Type): Element | null; + /** Looks up the program element the specified expression refers to. */ + lookupExpression( + /** The expression to look up. */ + node: Expression, + /** Contextual flow. */ + ctxFlow: Flow, + /** Contextual type. */ + ctxType?: Type, + /** How to proceed with eventual diagnostics. */ + reportMode?: ReportMode): Element | null; + /** resolving expressions */ + private resolvingExpressions; + /** Resolves an expression to its static type. */ + resolveExpression( + /** The expression to resolve. */ + node: Expression, + /** Contextual flow. */ + ctxFlow: Flow, + /** Contextual type. */ + ctxType?: Type, + /** How to proceed with eventual diagnostics. */ + reportMode?: ReportMode): Type | null; + /** Resolves an expression to its static type. (may cause stack overflow) */ + private doResolveExpression; + /** Looks up the program element the specified identifier expression refers to. */ + lookupIdentifierExpression( + /** The expression to look up. */ + node: IdentifierExpression, + /** Flow to search for scoped locals. */ + ctxFlow: Flow, + /** Element to search. */ + ctxElement?: Element, // differs for enums and namespaces + /** How to proceed with eventual diagnostics. */ + reportMode?: ReportMode): Element | null; + /** Resolves an identifier to its static type. */ + private resolveIdentifierExpression; + /** Resolves a lazily compiled global, i.e. a static class field or annotated `@lazy`. */ + private ensureResolvedLazyGlobal; + /** Looks up the program element the specified property access expression refers to. */ + private lookupPropertyAccessExpression; + /** Resolves a property access expression to its static type. */ + private resolvePropertyAccessExpression; + /** Looks up the program element the specified element access expression refers to. */ + private lookupElementAccessExpression; + /** Resolves an element access expression to its static type. */ + private resolveElementAccessExpression; + /** Determines the final type of an integer literal given the specified contextual type. */ + determineIntegerLiteralType( + /** Integer literal value. */ + expr: IntegerLiteralExpression, + /** Has unary minus before literal. */ + negate: boolean, + /** Contextual type. */ + ctxType: Type): Type; + /** Looks up the program element the specified assertion expression refers to. */ + private lookupAssertionExpression; + /** Resolves an assertion expression to its static type. */ + private resolveAssertionExpression; + /** Looks up the program element the specified unary prefix expression refers to. */ + private lookupUnaryPrefixExpression; + /** Resolves an unary prefix expression to its static type. */ + private resolveUnaryPrefixExpression; + /** Looks up the program element the specified unary postfix expression refers to. */ + private lookupUnaryPostfixExpression; + /** Resolves an unary postfix expression to its static type. */ + private resolveUnaryPostfixExpression; + /** Looks up the program element the specified binary expression refers to. */ + private lookupBinaryExpression; + /** Resolves a binary expression to its static type. */ + private resolveBinaryExpression; + /** Looks up the program element the specified this expression refers to. */ + private lookupThisExpression; + /** Resolves a this expression to its static type. */ + private resolveThisExpression; + /** Looks up the program element the specified super expression refers to. */ + private lookupSuperExpression; + /** Resolves a super expression to its static type. */ + private resolveSuperExpression; + /** Looks up the program element the specified literal expression refers to. */ + private lookupLiteralExpression; + /** Resolves a literal expression to its static type. */ + private resolveLiteralExpression; + /** Looks up the program element the specified call expression refers to. */ + private lookupCallExpression; + /** Resolves a call expression to its static type. */ + private resolveCallExpression; + /** Looks up the program element the specified comma expression refers to. */ + private lookupCommaExpression; + /** Resolves a comma expression to its static type. */ + private resolveCommaExpression; + /** Looks up the program element the specified instanceof expression refers to. */ + private lookupInstanceOfExpression; + /** Resolves an instanceof expression to its static type. */ + private resolveInstanceOfExpression; + /** Looks up the program element the specified ternary expression refers to. */ + private lookupTernaryExpression; + /** Resolves a ternary expression to its static type. */ + private resolveTernaryExpression; + /** Looks up the program element the specified new expression refers to. */ + private lookupNewExpression; + /** Resolves a new expression to its static type. */ + private resolveNewExpression; + /** Looks up the program element the specified function expression refers to. */ + private lookupFunctionExpression; + /** Resolves a function expression to its static type. */ + private resolveFunctionExpression; + /** Resolves a function prototype using the specified concrete type arguments. */ + resolveFunction( + /** The prototype of the function. */ + prototype: FunctionPrototype, + /** Type arguments provided. */ + typeArguments: Type[] | null, + /** Contextual types, i.e. `T`. */ + ctxTypes?: Map, + /** How to proceed with eventual diagnostics. */ + reportMode?: ReportMode): Function | null; + /** Resolves a function prototypeby first resolving the specified type arguments. */ + resolveFunctionInclTypeArguments( + /** The prototype of the function. */ + prototype: FunctionPrototype, + /** Type arguments provided to be resolved. */ + typeArgumentNodes: TypeNode[] | null, + /** Contextual element. */ + ctxElement: Element, + /** Contextual types, i.e. `T`. */ + ctxTypes: Map, + /** The node to use when reporting intermediate errors. */ + reportNode: Node, + /** How to proceed with eventual diagnostics. */ + reportMode?: ReportMode): Function | null; + /** Resolves reachable overrides of the given instance method. */ + resolveOverrides(instance: Function): Function[] | null; + /** Currently resolving classes. */ + private resolveClassPending; + /** Resolves a class prototype using the specified concrete type arguments. */ + resolveClass( + /** The prototype of the class. */ + prototype: ClassPrototype, + /** Type arguments provided. */ + typeArguments: Type[] | null, + /** Contextual types, i.e. `T`. */ + ctxTypes?: Map, + /** How to proceed with eventual diagnostics. */ + reportMode?: ReportMode): Class | null; + /** Checks whether an override's visibility is valid. */ + private checkOverrideVisibility; + /** Finishes resolving the specified class. */ + private finishResolveClass; + /** Resolves a class prototype by first resolving the specified type arguments. */ + resolveClassInclTypeArguments( + /** The prototype of the class. */ + prototype: ClassPrototype, + /** Type arguments provided to be resolved. */ + typeArgumentNodes: TypeNode[] | null, + /** Flow of {@link typeArgumentNodes} */ + flow: Flow | null, + /** Contextual element. */ + ctxElement: Element, + /** Contextual types, i.e. `T`. */ + ctxTypes: Map, + /** The node to use when reporting intermediate errors. */ + reportNode: Node, + /** How to proceed with eventual diagnostics. */ + reportMode?: ReportMode): Class | null; + /** Resolves a property prototype. */ + resolveProperty( + /** The prototype of the property. */ + prototype: PropertyPrototype, + /** How to proceed with eventual diagnostics. */ + reportMode?: ReportMode): Property | null; + private ensureOneTypeArgument; + } +} +declare module "types:assemblyscript/src/parser" { + /** + * @fileoverview A TypeScript parser for the AssemblyScript subset. + * + * Takes the tokens produced by the `Tokenizer` and builds an abstract + * syntax tree composed of `Node`s wrapped in a `Source` out of it. + * + * @license Apache-2.0 + */ + import { CommonFlags } from "types:assemblyscript/src/common"; + import { Tokenizer, CommentHandler } from "types:assemblyscript/src/tokenizer"; + import { DiagnosticEmitter, DiagnosticMessage } from "types:assemblyscript/src/diagnostics"; + import { Node, Source, TypeNode, TypeName, FunctionTypeNode, Expression, ClassExpression, FunctionExpression, Statement, BlockStatement, BreakStatement, ClassDeclaration, ContinueStatement, DecoratorNode, DoStatement, EnumDeclaration, EnumValueDeclaration, ExportImportStatement, ExportMember, ExportStatement, ExpressionStatement, ForOfStatement, FunctionDeclaration, IfStatement, ImportDeclaration, ImportStatement, IndexSignatureNode, NamespaceDeclaration, ParameterNode, ReturnStatement, SwitchCase, SwitchStatement, ThrowStatement, TryStatement, TypeDeclaration, TypeParameterNode, VariableStatement, VariableDeclaration, VoidStatement, WhileStatement, ModuleDeclaration } from "types:assemblyscript/src/ast"; + class Dependee { + source: Source; + reportNode: Node; + constructor(source: Source, reportNode: Node); + } + /** Parser interface. */ + export class Parser extends DiagnosticEmitter { + /** Source file names to be requested next. */ + backlog: string[]; + /** Source file names already seen, that is processed or backlogged. */ + seenlog: Set; + /** Source file names already completely processed. */ + donelog: Set; + /** Optional handler to intercept comments while tokenizing. */ + onComment: CommentHandler | null; + /** Current file being parsed. */ + currentSource: Source | null; + /** Map of dependees being depended upon by a source, by path. */ + dependees: Map; + /** An array of parsed sources. */ + sources: Source[]; + /** Current overridden module name. */ + currentModuleName: string | null; + /** Constructs a new parser. */ + constructor(diagnostics?: DiagnosticMessage[] | null, sources?: Source[]); + /** Parses a file and adds its definitions to the program. */ + parseFile( + /** Source text of the file, or `null` to indicate not found. */ + text: string | null, + /** Normalized path of the file. */ + path: string, + /** Whether this is an entry file. */ + isEntry: boolean): void; + /** Parses a top-level statement. */ + parseTopLevelStatement(tn: Tokenizer, namespace?: NamespaceDeclaration | null): Statement | null; + /** Obtains the next file to parse. */ + nextFile(): string | null; + /** Obtains the path of the dependee of the given imported file. */ + getDependee(dependent: string): string | null; + /** Finishes parsing. */ + finish(): void; + /** Parses a type name. */ + parseTypeName(tn: Tokenizer): TypeName | null; + /** Parses a type. */ + parseType(tn: Tokenizer, acceptParenthesized?: boolean, suppressErrors?: boolean): TypeNode | null; + private tryParseSignatureIsSignature; + /** Parses a function type, as used in type declarations. */ + tryParseFunctionType(tn: Tokenizer): FunctionTypeNode | null; + parseDecorator(tn: Tokenizer): DecoratorNode | null; + parseVariable(tn: Tokenizer, flags: CommonFlags, decorators: DecoratorNode[] | null, startPos: number, isFor?: boolean): VariableStatement | null; + parseVariableDeclaration(tn: Tokenizer, parentFlags: CommonFlags, parentDecorators: DecoratorNode[] | null, isFor?: boolean): VariableDeclaration | null; + parseEnum(tn: Tokenizer, flags: CommonFlags, decorators: DecoratorNode[] | null, startPos: number): EnumDeclaration | null; + parseEnumValue(tn: Tokenizer, parentFlags: CommonFlags): EnumValueDeclaration | null; + parseReturn(tn: Tokenizer): ReturnStatement | null; + parseTypeParameters(tn: Tokenizer): TypeParameterNode[] | null; + parseTypeParameter(tn: Tokenizer): TypeParameterNode | null; + private parseParametersThis; + parseParameters(tn: Tokenizer, isConstructor?: boolean): ParameterNode[] | null; + parseParameter(tn: Tokenizer, isConstructor?: boolean): ParameterNode | null; + parseFunction(tn: Tokenizer, flags: CommonFlags, decorators: DecoratorNode[] | null, startPos: number): FunctionDeclaration | null; + parseFunctionExpression(tn: Tokenizer): FunctionExpression | null; + private parseFunctionExpressionCommon; + parseClassOrInterface(tn: Tokenizer, flags: CommonFlags, decorators: DecoratorNode[] | null, startPos: number): ClassDeclaration | null; + parseClassExpression(tn: Tokenizer): ClassExpression | null; + parseClassMember(tn: Tokenizer, parent: ClassDeclaration): Node | null; + parseIndexSignature(tn: Tokenizer, flags: CommonFlags, decorators: DecoratorNode[] | null): IndexSignatureNode | null; + parseNamespace(tn: Tokenizer, flags: CommonFlags, decorators: DecoratorNode[] | null, startPos: number): NamespaceDeclaration | null; + parseExport(tn: Tokenizer, startPos: number, isDeclare: boolean): ExportStatement | null; + parseExportMember(tn: Tokenizer): ExportMember | null; + parseExportDefaultAlias(tn: Tokenizer, startPos: number, defaultStart: number, defaultEnd: number): ExportStatement; + parseImport(tn: Tokenizer): ImportStatement | null; + parseImportDeclaration(tn: Tokenizer): ImportDeclaration | null; + parseExportImport(tn: Tokenizer, startPos: number): ExportImportStatement | null; + parseStatement(tn: Tokenizer, topLevel?: boolean): Statement | null; + parseBlockStatement(tn: Tokenizer, topLevel: boolean): BlockStatement | null; + parseBreak(tn: Tokenizer): BreakStatement | null; + parseContinue(tn: Tokenizer): ContinueStatement | null; + parseDoStatement(tn: Tokenizer): DoStatement | null; + parseExpressionStatement(tn: Tokenizer): ExpressionStatement | null; + parseForStatement(tn: Tokenizer): Statement | null; + parseForOfStatement(tn: Tokenizer, startPos: number, variable: Statement): ForOfStatement | null; + parseIfStatement(tn: Tokenizer): IfStatement | null; + parseSwitchStatement(tn: Tokenizer): SwitchStatement | null; + parseSwitchCase(tn: Tokenizer): SwitchCase | null; + parseThrowStatement(tn: Tokenizer): ThrowStatement | null; + parseTryStatement(tn: Tokenizer): TryStatement | null; + parseTypeDeclaration(tn: Tokenizer, flags: CommonFlags, decorators: DecoratorNode[] | null, startPos: number): TypeDeclaration | null; + parseModuleDeclaration(tn: Tokenizer, flags: CommonFlags): ModuleDeclaration | null; + parseVoidStatement(tn: Tokenizer): VoidStatement | null; + parseWhileStatement(tn: Tokenizer): WhileStatement | null; + parseExpressionStart(tn: Tokenizer): Expression | null; + tryParseTypeArgumentsBeforeArguments(tn: Tokenizer): TypeNode[] | null; + parseArguments(tn: Tokenizer): Expression[] | null; + parseExpression(tn: Tokenizer, precedence?: Precedence): Expression | null; + private parseTemplateLiteral; + private joinPropertyCall; + private maybeParseCallExpression; + private checkASI; + /** Skips over a statement on errors in an attempt to reduce unnecessary diagnostic noise. */ + skipStatement(tn: Tokenizer): void; + /** Skips over a block on errors in an attempt to reduce unnecessary diagnostic noise. */ + skipBlock(tn: Tokenizer): void; + } + /** Operator precedence from least to largest. */ + export const enum Precedence { + None = 0, + Comma = 1, + Spread = 2, + Yield = 3, + Assignment = 4, + Conditional = 5, + LogicalOr = 6, + LogicalAnd = 7, + BitwiseOr = 8, + BitwiseXor = 9, + BitwiseAnd = 10, + Equality = 11, + Relational = 12, + Shift = 13, + Additive = 14, + Multiplicative = 15, + Exponentiated = 16, + UnaryPrefix = 17, + UnaryPostfix = 18, + Call = 19, + MemberAccess = 20, + Grouping = 21 + } + export {}; +} +declare module "types:assemblyscript/src/program" { + /** + * @fileoverview AssemblyScript's intermediate representation. + * + * The compiler uses Binaryen IR, which is fairly low level, as its + * primary intermediate representation, with the following structures + * holding any higher level information that cannot be represented by + * Binaryen IR alone, for example higher level types. + * + * Similar to the AST being composed of `Node`s in `Source`s, the IR is + * composed of `Element`s in a `Program`. Each class or function is + * represented by a "prototype" holding all the relevant information, + * including each's concrete instances. If a class or function is not + * generic, there is exactly one instance, otherwise there is one for + * each concrete set of type arguments. + * + * @license Apache-2.0 + */ + import { CommonFlags, Feature } from "types:assemblyscript/src/common"; + import { Options } from "types:assemblyscript/src/compiler"; + import { Range, DiagnosticMessage, DiagnosticEmitter } from "types:assemblyscript/src/diagnostics"; + import { Type, Signature } from "types:assemblyscript/src/types"; + import { Token } from "types:assemblyscript/src/tokenizer"; + import { Node, Source, DecoratorNode, DecoratorKind, TypeParameterNode, TypeNode, NamedTypeNode, FunctionTypeNode, ArrowKind, Expression, IdentifierExpression, Statement, ClassDeclaration, DeclarationStatement, EnumDeclaration, EnumValueDeclaration, FieldDeclaration, FunctionDeclaration, InterfaceDeclaration, NamespaceDeclaration, TypeDeclaration, VariableDeclaration, VariableLikeDeclarationStatement } from "types:assemblyscript/src/ast"; + import { Module, ExpressionRef, FunctionRef, MemorySegment } from "types:assemblyscript/src/module"; + import { Resolver } from "types:assemblyscript/src/resolver"; + import { Flow } from "types:assemblyscript/src/flow"; + import { Parser } from "types:assemblyscript/src/parser"; + /** Represents the kind of an operator overload. */ + export enum OperatorKind { + Invalid = 0, + IndexedGet = 1, + IndexedSet = 2, + UncheckedIndexedGet = 3, + UncheckedIndexedSet = 4, + Add = 5, + Sub = 6, + Mul = 7, + Div = 8, + Rem = 9, + Pow = 10, + BitwiseAnd = 11, + BitwiseOr = 12, + BitwiseXor = 13, + BitwiseShl = 14, + BitwiseShr = 15, + BitwiseShrU = 16, + Eq = 17, + Ne = 18, + Gt = 19, + Ge = 20, + Lt = 21, + Le = 22, + Plus = 23, + Minus = 24, + Not = 25, + BitwiseNot = 26, + PrefixInc = 27, + PrefixDec = 28, + PostfixInc = 29, + PostfixDec = 30 + } + export namespace OperatorKind { + /** Returns the operator kind represented by the specified decorator and string argument. */ + function fromDecorator(decoratorKind: DecoratorKind, arg: string): OperatorKind; + /** Converts a binary operator token to the respective operator kind. */ + function fromBinaryToken(token: Token): OperatorKind; + /** Converts a unary prefix operator token to the respective operator kind. */ + function fromUnaryPrefixToken(token: Token): OperatorKind; + /** Converts a unary postfix operator token to the respective operator kind. */ + function fromUnaryPostfixToken(token: Token): OperatorKind; + } + /** Represents an AssemblyScript program. */ + export class Program extends DiagnosticEmitter { + /** Compiler options. */ + options: Options; + /** Constructs a new program, optionally inheriting parser diagnostics. */ + constructor( + /** Compiler options. */ + options: Options, + /** Shared array of diagnostic messages (emitted so far). */ + diagnostics?: DiagnosticMessage[] | null); + /** Module instance. */ + module: Module; + /** Parser instance. */ + parser: Parser; + /** Resolver instance. */ + resolver: Resolver; + /** Array of sources. */ + sources: Source[]; + /** Diagnostic offset used where successively obtaining the next diagnostic. */ + diagnosticsOffset: number; + /** Special native code file. */ + nativeFile: File; + /** Next class id. */ + nextClassId: number; + /** Next signature id. */ + nextSignatureId: number; + /** An indicator if the program has been initialized. */ + initialized: boolean; + /** Files by unique internal name. */ + filesByName: Map; + /** Elements by unique internal name in element space. */ + elementsByName: Map; + /** Elements by declaration. */ + elementsByDeclaration: Map; + /** Element instances by unique internal name. */ + instancesByName: Map; + /** Classes wrapping basic types like `i32`. */ + wrapperClasses: Map; + /** Managed classes contained in the program, by id. */ + managedClasses: Map; + /** A set of unique function signatures contained in the program, by id. */ + uniqueSignatures: Map; + /** Module imports. */ + moduleImports: Map>; + /** Gets the standard `ArrayBufferView` instance. */ + get arrayBufferViewInstance(): Class; + private _arrayBufferViewInstance; + /** Gets the standard `ArrayBuffer` instance. */ + get arrayBufferInstance(): Class; + private _arrayBufferInstance; + /** Gets the standard `Array` prototype. */ + get arrayPrototype(): ClassPrototype; + private _arrayPrototype; + /** Gets the standard `StaticArray` prototype. */ + get staticArrayPrototype(): ClassPrototype; + private _staticArrayPrototype; + /** Gets the standard `Set` prototype. */ + get setPrototype(): ClassPrototype; + private _setPrototype; + /** Gets the standard `Map` prototype. */ + get mapPrototype(): ClassPrototype; + private _mapPrototype; + /** Gets the standard `Function` prototype. */ + get functionPrototype(): ClassPrototype; + private _functionPrototype; + /** Gets the standard `Int8Array` prototype. */ + get int8ArrayPrototype(): ClassPrototype; + private _int8ArrayPrototype; + /** Gets the standard `Int16Array` prototype. */ + get int16ArrayPrototype(): ClassPrototype; + private _int16ArrayPrototype; + /** Gets the standard `Int32Array` prototype. */ + get int32ArrayPrototype(): ClassPrototype; + private _int32ArrayPrototype; + /** Gets the standard `Int64Array` prototype. */ + get int64ArrayPrototype(): ClassPrototype; + private _int64ArrayPrototype; + /** Gets the standard `Uint8Array` prototype. */ + get uint8ArrayPrototype(): ClassPrototype; + private _uint8ArrayPrototype; + /** Gets the standard `Uint8ClampedArray` prototype. */ + get uint8ClampedArrayPrototype(): ClassPrototype; + private _uint8ClampedArrayPrototype; + /** Gets the standard `Uint16Array` prototype. */ + get uint16ArrayPrototype(): ClassPrototype; + private _uint16ArrayPrototype; + /** Gets the standard `Uint32Array` prototype. */ + get uint32ArrayPrototype(): ClassPrototype; + private _uint32ArrayPrototype; + /** Gets the standard `Uint64Array` prototype. */ + get uint64ArrayPrototype(): ClassPrototype; + private _uint64ArrayPrototype; + /** Gets the standard `Float32Array` prototype. */ + get float32ArrayPrototype(): ClassPrototype; + private _float32ArrayPrototype; + /** Gets the standard `Float64Array` prototype. */ + get float64ArrayPrototype(): ClassPrototype; + private _float64ArrayPrototype; + /** Gets the standard `String` instance. */ + get stringInstance(): Class; + private _stringInstance; + /** Gets the standard `RegExp` instance. */ + get regexpInstance(): Class; + private _regexpInstance; + /** Gets the standard `Object` prototype. */ + get objectPrototype(): ClassPrototype; + private _objectPrototype; + /** Gets the standard `Object` instance. */ + get objectInstance(): Class; + private _objectInstance; + /** Gets the standard `TemplateStringsArray` instance. */ + get templateStringsArrayInstance(): Class; + private _templateStringsArrayInstance; + /** Gets the standard `abort` instance, if not explicitly disabled. */ + get abortInstance(): Function | null; + /** Gets the runtime `__alloc(size: usize): usize` instance. */ + get allocInstance(): Function; + private _allocInstance; + /** Gets the runtime `__realloc(ptr: usize, newSize: usize): usize` instance. */ + get reallocInstance(): Function; + private _reallocInstance; + /** Gets the runtime `__free(ptr: usize): void` instance. */ + get freeInstance(): Function; + private _freeInstance; + /** Gets the runtime `__new(size: usize, id: u32): usize` instance. */ + get newInstance(): Function; + private _newInstance; + /** Gets the runtime `__renew(ptr: usize, size: usize): usize` instance. */ + get renewInstance(): Function; + private _renewInstance; + /** Gets the runtime `__link(parentPtr: usize, childPtr: usize, expectMultiple: bool): void` instance. */ + get linkInstance(): Function; + private _linkInstance; + /** Gets the runtime `__collect(): void` instance. */ + get collectInstance(): Function; + private _collectInstance; + /** Gets the runtime `__visit(ptr: usize, cookie: u32): void` instance. */ + get visitInstance(): Function; + private _visitInstance; + /** Gets the runtime `__newBuffer(size: usize, id: u32, data: usize = 0): usize` instance. */ + get newBufferInstance(): Function; + private _newBufferInstance; + /** Gets the runtime `__newArray(length: i32, alignLog2: usize, id: u32, data: usize = 0): usize` instance. */ + get newArrayInstance(): Function; + private _newArrayInstance; + /** Gets the runtime's internal `BLOCK` instance. */ + get BLOCKInstance(): Class; + private _BLOCKInstance; + /** Gets the runtime's internal `OBJECT` instance. */ + get OBJECTInstance(): Class; + private _OBJECTInstance; + /** Obtains the source matching the specified internal path. */ + getSource(internalPath: string): string | null; + /** Gets the overhead of a memory manager block. */ + get blockOverhead(): number; + /** Gets the overhead of a managed object, excl. block overhead, incl. alignment. */ + get objectOverhead(): number; + /** Gets the total overhead of a managed object, incl. block overhead. */ + get totalOverhead(): number; + searchFunctionByRef(ref: FunctionRef): Function | null; + /** Computes the next properly aligned offset of a memory manager block, given the current bump offset. */ + computeBlockStart(currentOffset: number): number; + /** Computes the next properly aligned offset of a memory manager block, given the current bump offset. */ + computeBlockStart64(currentOffset: i64): i64; + /** Computes the size of a memory manager block, excl. block overhead. */ + computeBlockSize(payloadSize: number, isManaged: boolean): number; + /** Creates a native variable declaration. */ + makeNativeVariableDeclaration( + /** The simple name of the variable */ + name: string, + /** Flags indicating specific traits, e.g. `CONST`. */ + flags?: CommonFlags): VariableDeclaration; + /** Creates a native type declaration. */ + makeNativeTypeDeclaration( + /** The simple name of the type. */ + name: string, + /** Flags indicating specific traits, e.g. `GENERIC`. */ + flags?: CommonFlags): TypeDeclaration; + private nativeDummySignature; + /** Creates a native function declaration. */ + makeNativeFunctionDeclaration( + /** The simple name of the function. */ + name: string, + /** Flags indicating specific traits, e.g. `DECLARE`. */ + flags?: CommonFlags): FunctionDeclaration; + /** Creates a native namespace declaration. */ + makeNativeNamespaceDeclaration( + /** The simple name of the namespace. */ + name: string, + /** Flags indicating specific traits, e.g. `EXPORT`. */ + flags?: CommonFlags): NamespaceDeclaration; + /** Creates a native function. */ + makeNativeFunction( + /** The simple name of the function. */ + name: string, + /** Concrete function signature. */ + signature: Signature, + /** Parent element, usually a file, class or namespace. */ + parent?: Element, + /** Flags indicating specific traits, e.g. `GENERIC`. */ + flags?: CommonFlags, + /** Decorator flags representing built-in decorators. */ + decoratorFlags?: DecoratorFlags): Function; + /** Gets the (possibly merged) program element linked to the specified declaration. */ + getElementByDeclaration(declaration: DeclarationStatement): DeclaredElement | null; + /** Initializes the program and its elements prior to compilation. */ + initialize(): void; + /** Processes overridden members by this class in a base class. */ + private processOverrides; + /** Processes a single overridden member by this class in a base class. */ + private doProcessOverride; + /** Looks up the element of the specified name in the global scope. */ + lookup(name: string): Element | null; + /** Requires that a global library element of the specified kind is present and returns it. */ + private require; + /** Requires that a global variable is present and returns it. */ + requireGlobal(name: string): Global; + /** Requires that a non-generic global class is present and returns it. */ + requireClass(name: string): Class; + /** Requires that a global function is present and returns it. */ + requireFunction(name: string, typeArguments?: Type[] | null): Function; + /** Marks all exports of the specified file as module exports. */ + private markModuleExports; + /** Marks an element and its children as a module export. */ + private markModuleExport; + /** Marks an element as a module import. */ + markModuleImport(moduleName: string, name: string, element: Element): void; + /** Registers a native type with the program. */ + private registerNativeType; + /** Registers the wrapper class of a non-class type. */ + private registerWrapperClass; + /** Registers a constant integer value within the global scope. */ + registerConstantInteger(name: string, type: Type, value: i64): void; + /** Registers a constant float value within the global scope. */ + private registerConstantFloat; + /** Ensures that the given global element exists. Attempts to merge duplicates. */ + ensureGlobal(name: string, element: DeclaredElement): DeclaredElement; + /** Tries to locate a foreign file given its normalized path. */ + private lookupForeignFile; + /** Tries to locate a foreign element by traversing exports and queued exports. */ + private lookupForeign; + /** Validates that only supported decorators are present. */ + private checkDecorators; + /** Checks whether a particular feature is enabled. */ + checkFeatureEnabled(feature: Feature, reportNode: Node): boolean; + /** Checks whether a particular type is supported. */ + checkTypeSupported(type: Type, reportNode: Node): boolean; + /** Initializes a class declaration. */ + private initializeClass; + /** Initializes a field of a class or interface. */ + private initializeField; + /** Initializes a method of a class or interface. */ + private initializeMethod; + /** Checks that operator overloads are generally valid, if present. */ + private checkOperatorOverloads; + /** Ensures that the property introduced by the specified getter or setter exists.*/ + private ensureProperty; + /** Initializes a property of a class. */ + private initializeProperty; + /** Initializes an enum. */ + private initializeEnum; + /** Initializes an enum value. */ + private initializeEnumValue; + /** Initializes an `export` statement. */ + private initializeExports; + /** Initializes a single `export` member. Does not handle `export *`. */ + private initializeExport; + private initializeExportDefault; + /** Initializes an `import` statement. */ + private initializeImports; + /** Initializes a single `import` declaration. Does not handle `import *`. */ + private initializeImport; + /** Initializes a function. Does not handle methods. */ + private initializeFunction; + /** Initializes an interface. */ + private initializeInterface; + /** Initializes a field of an interface, as a property. */ + private initializeFieldAsProperty; + /** Initializes a namespace. */ + private initializeNamespace; + /** Initializes a `type` definition. */ + private initializeTypeDefinition; + /** Initializes a variable statement. */ + private initializeVariables; + } + /** Indicates the specific kind of an {@link Element}. */ + export const enum ElementKind { + /** A {@link Global}. */ + Global = 0, + /** A {@link Local}. */ + Local = 1, + /** An {@link Enum}. */ + Enum = 2, + /** An {@link EnumValue}. */ + EnumValue = 3, + /** A {@link FunctionPrototype}. */ + FunctionPrototype = 4, + /** A {@link Function}. */ + Function = 5, + /** A {@link ClassPrototype}. */ + ClassPrototype = 6, + /** A {@link Class}. */ + Class = 7, + /** An {@link InterfacePrototype}. */ + InterfacePrototype = 8, + /** An {@link Interface}. */ + Interface = 9, + /** A {@link PropertyPrototype}. */ + PropertyPrototype = 10, + /** A {@link Property}. */ + Property = 11, + /** A {@link Namespace}. */ + Namespace = 12, + /** A {@link File}. */ + File = 13, + /** A {@link TypeDefinition}. */ + TypeDefinition = 14, + /** An {@link IndexSignature}. */ + IndexSignature = 15 + } + /** Indicates built-in decorators that are present. */ + export enum DecoratorFlags { + /** No flags set. */ + None = 0, + /** Is a program global. */ + Global = 1, + /** Is a binary operator overload. */ + OperatorBinary = 2, + /** Is a unary prefix operator overload. */ + OperatorPrefix = 4, + /** Is a unary postfix operator overload. */ + OperatorPostfix = 8, + /** Is an unmanaged class. */ + Unmanaged = 16, + /** Is a final class. */ + Final = 32, + /** Is always inlined. */ + Inline = 64, + /** Is using a different external name. */ + External = 128, + /** Has external JavaScript code. */ + ExternalJs = 256, + /** Is a builtin. */ + Builtin = 512, + /** Is compiled lazily. */ + Lazy = 1024, + /** Is considered unsafe code. */ + Unsafe = 2048 + } + export namespace DecoratorFlags { + /** Translates a decorator kind to the respective decorator flag. */ + function fromKind(kind: DecoratorKind): DecoratorFlags; + } + /** Base class of all program elements. */ + export abstract class Element { + /** Specific element kind. */ + kind: ElementKind; + /** Simple name. */ + name: string; + /** Internal name referring to this element. */ + internalName: string; + /** Containing {@link Program}. */ + program: Program; + /** Parent element. */ + parent: Element; + /** Common flags indicating specific traits. */ + flags: CommonFlags; + /** Decorator flags indicating annotated traits. */ + decoratorFlags: DecoratorFlags; + /** Member elements. */ + members: Map | null; + /** Shadowing type in type space, if any. */ + shadowType: TypeDefinition | null; + /** Constructs a new program element. */ + protected constructor( + /** Specific element kind. */ + kind: ElementKind, + /** Simple name. */ + name: string, + /** Internal name referring to this element. */ + internalName: string, + /** Containing {@link Program}. */ + program: Program, + /** Parent element. */ + parent: Element | null); + /** Gets the enclosing file. */ + get file(): File; + /** Tests if this element has a specific flag or flags. */ + is(flag: CommonFlags): boolean; + /** Tests if this element has any of the specified flags. */ + isAny(flags: CommonFlags): boolean; + /** Sets a specific flag or flags. */ + set(flag: CommonFlags): void; + /** Unsets the specific flag or flags. */ + unset(flag: CommonFlags): void; + /** Tests if this element has a specific decorator flag or flags. */ + hasDecorator(flag: DecoratorFlags): boolean; + /** Tests if this element has any of the specified decorator flags. */ + hasAnyDecorator(flags: DecoratorFlags): boolean; + /** Get the member with the specified name, if any. */ + getMember(name: string): DeclaredElement | null; + /** Looks up the element with the specified name relative to this element. */ + lookup(name: string, isType?: boolean): Element | null; + /** Adds an element as a member of this one. Reports and returns `false` if a duplicate. */ + add(name: string, element: DeclaredElement, localIdentifierIfImport?: IdentifierExpression | null): boolean; + /** Checks if this element is public, explicitly or implicitly. */ + get isPublic(): boolean; + /** Checks if this element is implicitly public, i.e. not explicitly declared to be. */ + get isImplicitlyPublic(): boolean; + /** Checks if the visibility of this element equals the specified. */ + visibilityEquals(other: Element): boolean; + visibilityNoLessThan(other: Element): boolean; + /** Tests if this element is bound to a class. */ + get isBound(): boolean; + /** Gets the class or interface this element is bound to, if any. */ + getBoundClassOrInterface(): Class | null; + /** Returns a string representation of this element. */ + toString(): string; + } + /** Tests if the specified element kind indicates a declared element. */ + export function isDeclaredElement(kind: ElementKind): boolean; + /** Base class of elements with an associated declaration statement. */ + export abstract class DeclaredElement extends Element { + /** Declaration reference. */ + declaration: DeclarationStatement; + /** Constructs a new declared program element. */ + protected constructor( + /** Specific element kind. */ + kind: ElementKind, + /** Simple name. */ + name: string, + /** Internal name referring to this element. */ + internalName: string, + /** Containing {@link Program}. */ + program: Program, + /** Parent element. */ + parent: Element | null, + /** Declaration reference. */ + declaration: DeclarationStatement); + /** Tests if this element is a library element. */ + get isDeclaredInLibrary(): boolean; + /** Gets the associated identifier node. */ + get identifierNode(): IdentifierExpression; + /** Gets the signature node, if applicable, along the identifier node. */ + get identifierAndSignatureRange(): Range; + /** Gets the assiciated decorator nodes. */ + get decoratorNodes(): DecoratorNode[] | null; + } + /** Checks if the specified element kind indicates a typed element. */ + export function isTypedElement(kind: ElementKind): boolean; + /** Base class of elements that can be resolved to a concrete type. */ + export abstract class TypedElement extends DeclaredElement { + /** Resolved type. Set once `is(RESOLVED)`, otherwise void. */ + type: Type; + constructor( + /** Specific element kind. */ + kind: ElementKind, + /** Simple name. */ + name: string, + /** Internal name referring to this element. */ + internalName: string, + /** Containing {@link Program}. */ + program: Program, + /** Parent element. */ + parent: Element | null, + /** Declaration reference. */ + declaration: DeclarationStatement); + /** Sets the resolved type of this element. */ + setType(type: Type): void; + } + /** A file representing the implicit top-level namespace of a source. */ + export class File extends Element { + /** Source of this file. */ + source: Source; + /** File exports. */ + exports: Map | null; + /** File re-exports. */ + exportsStar: File[] | null; + /** Top-level start function of this file. */ + startFunction: Function; + /** Array of `import * as X` alias namespaces of this file. */ + aliasNamespaces: Array; + /** Constructs a new file. */ + constructor( + /** Program this file belongs to. */ + program: Program, + /** Source of this file. */ + source: Source); + add(name: string, element: DeclaredElement, localIdentifierIfImport?: IdentifierExpression | null): boolean; + getMember(name: string): DeclaredElement | null; + lookup(name: string, isType?: boolean): Element | null; + /** Ensures that an element is an export of this file. */ + ensureExport(name: string, element: DeclaredElement): void; + /** Ensures that another file is a re-export of this file. */ + ensureExportStar(file: File): void; + /** Looks up the export of the specified name. */ + lookupExport(name: string): DeclaredElement | null; + /** Creates an imported namespace from this file. */ + asAliasNamespace(name: string, parent: Element, localIdentifier: IdentifierExpression): Namespace; + /** Recursively copies the exports of this file to the specified namespace. */ + private copyExportsToNamespace; + } + /** A type definition. */ + export class TypeDefinition extends TypedElement { + /** Constructs a new type definition. */ + constructor( + /** Simple name. */ + name: string, + /** Parent element. */ + parent: Element, + /** Declaration reference. */ + declaration: TypeDeclaration, + /** Pre-checked flags indicating built-in decorators. */ + decoratorFlags?: DecoratorFlags); + /** Gets the associated type parameter nodes. */ + get typeParameterNodes(): TypeParameterNode[] | null; + /** Gets the associated type node. */ + get typeNode(): TypeNode; + } + /** A namespace that differs from a file in being user-declared with a name. */ + export class Namespace extends DeclaredElement { + /** Constructs a new namespace. */ + constructor( + /** Simple name. */ + name: string, + /** Parent element, usually a file or another namespace. */ + parent: Element, + /** Declaration reference. */ + declaration: NamespaceDeclaration, + /** Pre-checked flags indicating built-in decorators. */ + decoratorFlags?: DecoratorFlags); + lookup(name: string, isType?: boolean): Element | null; + } + /** An enum. */ + export class Enum extends TypedElement { + /** Constructs a new enum. */ + constructor( + /** Simple name. */ + name: string, + /** Parent element, usually a file or namespace. */ + parent: Element, + /** Declaration reference. */ + declaration: EnumDeclaration, + /** Pre-checked flags indicating built-in decorators. */ + decoratorFlags?: DecoratorFlags); + lookup(name: string, isType?: boolean): Element | null; + } + /** Indicates the kind of an inlined constant value. */ + export const enum ConstantValueKind { + /** No constant value. */ + None = 0, + /** Constant integer value. */ + Integer = 1, + /** Constant float value. */ + Float = 2 + } + /** Base class of all variable-like program elements. */ + export abstract class VariableLikeElement extends TypedElement { + /** Constant value kind. */ + constantValueKind: ConstantValueKind; + /** Constant integer value, if applicable. */ + constantIntegerValue: i64; + /** Constant float value, if applicable. */ + constantFloatValue: number; + /** Constructs a new variable-like element. */ + protected constructor( + /** Specific element kind. */ + kind: ElementKind, + /** Simple name. */ + name: string, + /** Parent element, usually a file, namespace or class. */ + parent: Element, + /** Declaration reference. Creates a native declaration if omitted. */ + declaration?: VariableLikeDeclarationStatement); + /** Gets the associated type node.s */ + get typeNode(): TypeNode | null; + /** Gets the associated initializer node. */ + get initializerNode(): Expression | null; + /** Applies a constant integer value to this element. */ + setConstantIntegerValue(value: i64, type: Type): void; + /** Applies a constant float value to this element. */ + setConstantFloatValue(value: number, type: Type): void; + } + /** An enum value. */ + export class EnumValue extends VariableLikeElement { + /** Constructs a new enum value. */ + constructor( + /** Simple name. */ + name: string, + /** Parent enum. */ + parent: Enum, + /** Declaration reference. */ + declaration: EnumValueDeclaration, + /** Pre-checked flags indicating built-in decorators. */ + decoratorFlags?: DecoratorFlags); + /** Whether this enum value is immutable. */ + isImmutable: boolean; + /** Gets the associated value node. */ + get valueNode(): Expression | null; + } + /** A global variable. */ + export class Global extends VariableLikeElement { + /** Constructs a new global variable. */ + constructor( + /** Simple name. */ + name: string, + /** Parent element, usually a file, namespace or static class. */ + parent: Element, + /** Pre-checked flags indicating built-in decorators. */ + decoratorFlags: DecoratorFlags, + /** Declaration reference. Creates a native declaration if omitted. */ + declaration?: VariableLikeDeclarationStatement); + } + /** A function parameter. */ + export class Parameter { + /** Parameter name. */ + name: string; + /** Parameter type. */ + type: Type; + /** Parameter initializer, if present. */ + initializer: Expression | null; + /** Constructs a new function parameter. */ + constructor( + /** Parameter name. */ + name: string, + /** Parameter type. */ + type: Type, + /** Parameter initializer, if present. */ + initializer?: Expression | null); + } + /** A local variable. */ + export class Local extends VariableLikeElement { + /** Zero-based index within the enclosing function. `-1` indicates a dummy local. */ + index: number; + /** Original name of the (temporary) local. */ + private originalName; + /** Constructs a new local variable. */ + constructor( + /** Simple name. */ + name: string, + /** Zero-based index within the enclosing function. `-1` indicates a dummy local. */ + index: number, + /** Resolved type. */ + type: Type, + /** Parent function. */ + parent: Function, + /** Declaration reference. */ + declaration?: VariableLikeDeclarationStatement); + declaredByFlow(flow: Flow): boolean; + } + /** A yet unresolved function prototype. */ + export class FunctionPrototype extends DeclaredElement { + /** Operator kind, if an overload. */ + operatorKind: OperatorKind; + /** Already resolved instances. */ + instances: Map | null; + /** Methods overriding this one, if any. These are unbound. */ + unboundOverrides: Set | null; + /** Clones of this prototype that are bound to specific classes. */ + private boundPrototypes; + /** Constructs a new function prototype. */ + constructor( + /** Simple name */ + name: string, + /** Parent element, usually a file, namespace or class (if a method). */ + parent: Element, + /** Declaration reference. */ + declaration: FunctionDeclaration, + /** Pre-checked flags indicating built-in decorators. */ + decoratorFlags?: DecoratorFlags); + /** Gets the associated type parameter nodes. */ + get typeParameterNodes(): TypeParameterNode[] | null; + /** Gets the associated function type node. */ + get functionTypeNode(): FunctionTypeNode; + /** Gets the associated body node. */ + get bodyNode(): Statement | null; + /** Gets the arrow function kind. */ + get arrowKind(): ArrowKind; + /** Creates a clone of this prototype that is bound to a concrete class instead. */ + toBound(classInstance: Class): FunctionPrototype; + /** Gets the resolved instance for the specified instance key, if already resolved. */ + getResolvedInstance(instanceKey: string): Function | null; + /** Sets the resolved instance for the specified instance key. */ + setResolvedInstance(instanceKey: string, instance: Function): void; + } + /** A resolved function. */ + export class Function extends TypedElement { + /** Function prototype. */ + prototype: FunctionPrototype; + /** Function signature. */ + signature: Signature; + /** Array of locals by index. */ + localsByIndex: Local[]; + /** Concrete type arguments. */ + typeArguments: Type[] | null; + /** Contextual type arguments. */ + contextualTypeArguments: Map | null; + /** Default control flow. */ + flow: Flow; + /** Ordered debug locations by Binaryen expression reference. */ + debugLocations: Map; + /** Function reference, if compiled. */ + ref: FunctionRef; + /** Varargs stub for calling with omitted arguments. */ + varargsStub: Function | null; + /** Stub for calling overrides. */ + overrideStub: Function | null; + /** Runtime memory segment, if created. */ + memorySegment: MemorySegment | null; + /** Original function, if a stub. Otherwise `this`. */ + original: Function; + /** Counting id of inline operations involving this function. */ + nextInlineId: number; + /** Counting id of anonymous inner functions. */ + nextAnonymousId: number; + /** Constructs a new concrete function. */ + constructor( + /** Name incl. type parameters, i.e. `foo`. */ + nameInclTypeParameters: string, + /** Respective function prototype. */ + prototype: FunctionPrototype, + /** Concrete type arguments. */ + typeArguments: Type[] | null, + /** Concrete signature. */ + signature: Signature, // pre-resolved + /** Contextual type arguments inherited from its parent class, if any. */ + contextualTypeArguments?: Map | null); + /** Gets the types of additional locals that are not parameters. */ + getNonParameterLocalTypes(): Type[]; + /** Gets the name of the parameter at the specified index. */ + getParameterName(index: number): string; + /** Creates a stub for use with this function, i.e. for varargs or override calls. */ + newStub(postfix: string, requiredParameters?: number): Function; + /** Adds a local of the specified type, with an optional name. */ + addLocal(type: Type, name?: string | null, declaration?: VariableDeclaration | null): Local; + lookup(name: string, isType?: boolean): Element | null; + nextBreakId: number; + breakStack: number[] | null; + /** Finalizes the function once compiled, releasing no longer needed resources. */ + finalize(module: Module, ref: FunctionRef): void; + addDebugInfo(module: Module, ref: FunctionRef): void; + } + /** A property comprised of a getter and a setter function. */ + export class PropertyPrototype extends DeclaredElement { + /** Field declaration, if a field. */ + fieldDeclaration: FieldDeclaration | null; + /** Getter prototype. */ + getterPrototype: FunctionPrototype | null; + /** Setter prototype. */ + setterPrototype: FunctionPrototype | null; + /** Property instance, if resolved. */ + instance: Property | null; + /** Clones of this prototype that are bound to specific classes. */ + private boundPrototypes; + /** Creates a property prototype representing a field. */ + static forField( + /** Simple name. */ + name: string, + /** Parent element. Always a class prototype. */ + parent: ClassPrototype, + /** Declaration of the field. */ + fieldDeclaration: FieldDeclaration, + /** Pre-checked flags indicating built-in decorators. */ + decoratorFlags: DecoratorFlags): PropertyPrototype; + /** Constructs a new property prototype. */ + constructor( + /** Simple name. */ + name: string, + /** Parent element. Either a class prototype or instance. */ + parent: Element, + /** Declaration of the getter or setter introducing the property. */ + firstDeclaration: FunctionDeclaration); + /** Tests if this property prototype represents a field. */ + get isField(): boolean; + /** Gets the associated type node. */ + get typeNode(): TypeNode | null; + /** Gets the associated initializer node. */ + get initializerNode(): Expression | null; + /** Gets the associated parameter index. Set if declared as a constructor parameter, otherwise `-1`. */ + get parameterIndex(): number; + /** Gets the respective `this` type. */ + get thisType(): Type; + /** Creates a clone of this property prototype that is bound to a concrete class. */ + toBound(classInstance: Class): PropertyPrototype; + } + /** A resolved property. */ + export class Property extends VariableLikeElement { + /** Prototype reference. */ + prototype: PropertyPrototype; + /** Getter instance. */ + getterInstance: Function | null; + /** Setter instance. */ + setterInstance: Function | null; + /** Field memory offset, if a (layed out) instance field. */ + memoryOffset: number; + /** Constructs a new property prototype. */ + constructor( + /** Respective property prototype. */ + prototype: PropertyPrototype, + /** Parent element, usually a static class prototype or class instance. */ + parent: Element); + /** Tests if this property represents a field. */ + get isField(): boolean; + checkVisibility(diag: DiagnosticEmitter): void; + } + /** A resolved index signature. */ + export class IndexSignature extends TypedElement { + /** Constructs a new index prototype. */ + constructor( + /** Parent class. */ + parent: Class); + /** Obtains the getter instance. */ + getGetterInstance(isUnchecked: boolean): Function | null; + /** Obtains the setter instance. */ + getSetterInstance(isUnchecked: boolean): Function | null; + } + /** A yet unresolved class prototype. */ + export class ClassPrototype extends DeclaredElement { + /** Instance member prototypes. */ + instanceMembers: Map | null; + /** Base class prototype, if applicable. */ + basePrototype: ClassPrototype | null; + /** Interface prototypes, if applicable. */ + interfacePrototypes: InterfacePrototype[] | null; + /** Constructor prototype. */ + constructorPrototype: FunctionPrototype | null; + /** Operator overload prototypes. */ + operatorOverloadPrototypes: Map; + /** Already resolved instances. */ + instances: Map | null; + /** Classes extending this class. */ + extenders: Set; + /** Whether this class implicitly extends `Object`. */ + implicitlyExtendsObject: boolean; + constructor( + /** Simple name. */ + name: string, + /** Parent element, usually a file or namespace. */ + parent: Element, + /** Declaration reference. */ + declaration: ClassDeclaration, + /** Pre-checked flags indicating built-in decorators. */ + decoratorFlags?: DecoratorFlags, _isInterface?: boolean); + /** Gets the associated type parameter nodes. */ + get typeParameterNodes(): TypeParameterNode[] | null; + /** Gets the associated extends node. */ + get extendsNode(): NamedTypeNode | null; + /** Gets the associated implements nodes. */ + get implementsNodes(): NamedTypeNode[] | null; + /** Tests if this prototype is of a builtin array type (Array/TypedArray). */ + get isBuiltinArray(): boolean; + /** Tests if this prototype extends the specified. */ + extends(basePtototype: ClassPrototype | null): boolean; + /** Adds an element as an instance member of this one. Returns the previous element if a duplicate. */ + addInstance(name: string, element: DeclaredElement): boolean; + /** Gets the resolved instance for the specified instance key, if already resolved. */ + getResolvedInstance(instanceKey: string): Class | null; + /** Sets the resolved instance for the specified instance key. */ + setResolvedInstance(instanceKey: string, instance: Class): void; + } + /** A resolved class. */ + export class Class extends TypedElement { + /** Class prototype. */ + prototype: ClassPrototype; + /** Resolved type arguments. */ + typeArguments: Type[] | null; + /** Base class, if any. */ + base: Class | null; + /** Directly implemented interfaces, if any. */ + interfaces: Set | null; + /** Contextual type arguments for fields and methods. */ + contextualTypeArguments: Map | null; + /** Current member memory offset. */ + nextMemoryOffset: number; + /** Constructor instance. */ + constructorInstance: Function | null; + /** Operator overloads. */ + operatorOverloads: Map | null; + /** Index signature, if present. */ + indexSignature: IndexSignature | null; + /** Unique class id. */ + private _id; + /** Runtime type information flags. */ + rttiFlags: number; + /** Wrapped type, if a wrapper for a basic type. */ + wrappedType: Type | null; + /** Classes directly or indirectly extending this class, if any. */ + extenders: Set | null; + /** Classes directly or indirectly implementing this interface, if any. */ + implementers: Set | null; + /** Whether the field initialization check has already been performed. */ + didCheckFieldInitialization: boolean; + /** Runtime visitor function reference. */ + visitRef: FunctionRef; + /** Gets the unique runtime id of this class. */ + get id(): number; + /** Tests if this class is of a builtin array type (Array/TypedArray). */ + get isBuiltinArray(): boolean; + /** Tests if this class is array-like. */ + get isArrayLike(): boolean; + /** Tests if this is an interface. */ + get isInterface(): boolean; + /** Constructs a new class. */ + constructor( + /** Name incl. type parameters, i.e. `Foo`. */ + nameInclTypeParameters: string, + /** The respective class prototype. */ + prototype: ClassPrototype, + /** Concrete type arguments, if any. */ + typeArguments?: Type[] | null, _isInterface?: boolean); + /** Computes the least upper bound of two class types. */ + static leastUpperBound(a: Class, b: Class): Class | null; + /** Sets the base class. */ + setBase(base: Class): void; + /** Propagates an extender to this class and its base classes. */ + private propagateExtenderUp; + /** Propagates an interface and its base interfaces to this class and its extenders. */ + private propagateInterfaceDown; + /** Adds an interface. */ + addInterface(iface: Interface): void; + /** Tests if a value of this class type is assignable to a target of the specified class type. */ + isAssignableTo(target: Class): boolean; + /** Tests if any subclass of this class is assignable to a target of the specified class type. */ + hasSubclassAssignableTo(target: Class): boolean; + /** Looks up the operator overload of the specified kind. */ + lookupOverload(kind: OperatorKind, unchecked?: boolean): Function | null; + /** Gets the method of the specified name, resolved with the given type arguments. */ + getMethod(name: string, typeArguments?: Type[] | null): Function | null; + /** Calculates the memory offset of the specified field. */ + offsetof(fieldName: string): number; + /** Creates a buffer suitable to hold a runtime instance of this class. */ + createBuffer(overhead?: number): Uint8Array; + /** Writes a field value to a buffer and returns the number of bytes written. */ + writeField(name: string, value: T, buffer: Uint8Array, baseOffset?: number): number; + /** Tests if this class extends the specified prototype. */ + extendsPrototype(prototype: ClassPrototype): boolean; + /** Gets the concrete type arguments to the specified extendend prototype. */ + getTypeArgumentsTo(extendedPrototype: ClassPrototype): Type[] | null; + /** Gets the value type of an array. Must be an array. */ + getArrayValueType(): Type; + /** Tests if this class is pointerfree. Useful to know for the GC. */ + get isPointerfree(): boolean; + /** Tests if this class or interface extends the given class or interface. */ + extends(other: Class): boolean; + /** Tests if this class has a direct or indirect extender matching the given class. */ + hasExtender(other: Class): boolean; + /** Tests if this class has a direct or indirect extender that implements the given interface. */ + hasExtenderImplementing(other: Interface): boolean; + /** Tests if this class directly or indirectly implements the given interface. */ + implements(other: Interface): boolean; + /** Tests if this interface has a direct or indirect implementer matching the given class. */ + hasImplementer(other: Class): boolean; + /** Tests if this interface has an implementer implementing the given interface. */ + hasImplementerImplementing(other: Interface): boolean; + } + /** A yet unresolved interface. */ + export class InterfacePrototype extends ClassPrototype { + /** Constructs a new interface prototype. */ + constructor(name: string, parent: Element, declaration: InterfaceDeclaration, decoratorFlags: DecoratorFlags); + } + /** A resolved interface. */ + export class Interface extends Class { + /** Constructs a new interface. */ + constructor( + /** Name incl. type parameters, i.e. `Foo`. */ + nameInclTypeParameters: string, + /** The respective class prototype. */ + prototype: InterfacePrototype, + /** Concrete type arguments, if any. */ + typeArguments?: Type[] | null); + } + /** Mangles the internal name of an element with the specified name that is a child of the given parent. */ + export function mangleInternalName(name: string, parent: Element, isInstance: boolean, asGlobal?: boolean): string; + /** Gets the cached default parameter name for the specified index. */ + export function getDefaultParameterName(index: number): string; +} +declare module "types:assemblyscript/src/passes/pass" { + /** + * @fileoverview Infrastructure for custom Binaryen passes. + * @license Apache-2.0 + */ + import { Module, ExpressionRef, FunctionRef, GlobalRef, Index, StringRef } from "types:assemblyscript/src/module"; + /** Base class of custom Binaryen visitors. */ + export abstract class Visitor { + /** Expression stack. */ + private stack; + /** Gets the current expression being walked. */ + get currentExpression(): ExpressionRef; + _currentExpression: ExpressionRef; + /** Gets the parent expression of the current expression being walked. Returns zero if already the top-most expression. */ + get parentExpressionOrNull(): ExpressionRef; + visitBlock(expr: ExpressionRef): void; + visitIf(expr: ExpressionRef): void; + visitLoop(expr: ExpressionRef): void; + visitBreak(expr: ExpressionRef): void; + visitSwitch(expr: ExpressionRef): void; + visitCallPre(expr: ExpressionRef): void; + visitCall(expr: ExpressionRef): void; + visitCallIndirectPre(expr: ExpressionRef): void; + visitCallIndirect(expr: ExpressionRef): void; + visitLocalGet(expr: ExpressionRef): void; + visitLocalSet(expr: ExpressionRef): void; + visitGlobalGet(expr: ExpressionRef): void; + visitGlobalSet(expr: ExpressionRef): void; + visitLoad(expr: ExpressionRef): void; + visitStore(expr: ExpressionRef): void; + visitConst(expr: ExpressionRef): void; + visitUnary(expr: ExpressionRef): void; + visitBinary(expr: ExpressionRef): void; + visitSelect(expr: ExpressionRef): void; + visitDrop(expr: ExpressionRef): void; + visitReturn(expr: ExpressionRef): void; + visitMemorySize(expr: ExpressionRef): void; + visitMemoryGrow(expr: ExpressionRef): void; + visitNop(expr: ExpressionRef): void; + visitUnreachable(expr: ExpressionRef): void; + visitAtomicRMW(expr: ExpressionRef): void; + visitAtomicCmpxchg(expr: ExpressionRef): void; + visitAtomicWait(expr: ExpressionRef): void; + visitAtomicNotify(expr: ExpressionRef): void; + visitAtomicFence(expr: ExpressionRef): void; + visitSIMDExtract(expr: ExpressionRef): void; + visitSIMDReplace(expr: ExpressionRef): void; + visitSIMDShuffle(expr: ExpressionRef): void; + visitSIMDTernary(expr: ExpressionRef): void; + visitSIMDShift(expr: ExpressionRef): void; + visitSIMDLoad(expr: ExpressionRef): void; + visitSIMDLoadStoreLane(expr: ExpressionRef): void; + visitMemoryInit(expr: ExpressionRef): void; + visitDataDrop(expr: ExpressionRef): void; + visitMemoryCopy(expr: ExpressionRef): void; + visitMemoryFill(expr: ExpressionRef): void; + visitPop(expr: ExpressionRef): void; + visitRefNull(expr: ExpressionRef): void; + visitRefIsNull(expr: ExpressionRef): void; + visitRefFunc(expr: ExpressionRef): void; + visitRefEq(expr: ExpressionRef): void; + visitTry(expr: ExpressionRef): void; + visitThrow(expr: ExpressionRef): void; + visitRethrow(expr: ExpressionRef): void; + visitTupleMake(expr: ExpressionRef): void; + visitTupleExtract(expr: ExpressionRef): void; + visitRefI31(expr: ExpressionRef): void; + visitI31Get(expr: ExpressionRef): void; + visitCallRef(expr: ExpressionRef): void; + visitRefTest(expr: ExpressionRef): void; + visitRefCast(expr: ExpressionRef): void; + visitBrOn(expr: ExpressionRef): void; + visitStructNew(expr: ExpressionRef): void; + visitStructGet(expr: ExpressionRef): void; + visitStructSet(expr: ExpressionRef): void; + visitArrayNew(expr: ExpressionRef): void; + visitArrayNewFixed(expr: ExpressionRef): void; + visitArrayGet(expr: ExpressionRef): void; + visitArraySet(expr: ExpressionRef): void; + visitArrayLen(expr: ExpressionRef): void; + visitArrayCopy(expr: ExpressionRef): void; + visitRefAs(expr: ExpressionRef): void; + visitStringNew(expr: ExpressionRef): void; + visitStringConst(expr: ExpressionRef): void; + visitStringMeasure(expr: ExpressionRef): void; + visitStringEncode(expr: ExpressionRef): void; + visitStringConcat(expr: ExpressionRef): void; + visitStringEq(expr: ExpressionRef): void; + visitStringAs(expr: ExpressionRef): void; + visitStringWTF8Advance(expr: ExpressionRef): void; + visitStringWTF16Get(expr: ExpressionRef): void; + visitStringIterNext(expr: ExpressionRef): void; + visitStringIterMove(expr: ExpressionRef): void; + visitStringSliceWTF(expr: ExpressionRef): void; + visitStringSliceIter(expr: ExpressionRef): void; + visitName(name: StringRef): void; + visitLabel(name: StringRef): void; + visitIndex(index: Index): void; + visitTag(name: StringRef): void; + /** Visits any expression, delegating to the respective visitor methods. */ + visit(expr: ExpressionRef): void; + } + /** Base class of custom Binaryen passes. */ + export abstract class Pass extends Visitor { + readonly module: Module; + /** Gets the current function being walked. */ + get currentFunction(): FunctionRef; + private _currentFunction; + /** Gets the current global being walked. */ + get currentGlobal(): GlobalRef; + private _currentGlobal; + /** Constructs a new Binaryen pass. */ + constructor(module: Module); + /** Walks the entire module. */ + walkModule(): void; + /** Walks all functions. */ + walkFunctions(): void; + /** Walks a specific function. */ + walkFunction(func: FunctionRef): void; + /** Walks all global variables. */ + walkGlobals(): void; + /** Walks a specific global variable. */ + walkGlobal(global: GlobalRef): void; + /** Replaces the current expression with the specified replacement. */ + replaceCurrent(replacement: ExpressionRef): void; + } + /** Replaces an expression within a parent expression. Returns the replaced expression on success, otherwise `0`. */ + export function replaceChild( + /** Parent expression containing `search`. */ + parent: ExpressionRef, + /** Expression to replace. */ + search: ExpressionRef, + /** Expression to replace `search` with. */ + replacement: ExpressionRef): ExpressionRef; +} +declare module "types:assemblyscript/src/passes/rtrace" { + /** + * @fileoverview A lightweight store instrumentation pass. + * + * Can be used to find rogue stores to protected memory addresses like object + * headers or similar, without going overboard with instrumentation. Also + * passes a flag whether a store originates within the runtime or other code. + * + * @license Apache-2.0 + */ + import { Pass } from "types:assemblyscript/src/passes/pass"; + import { Compiler } from "types:assemblyscript/src/compiler"; + import { ExpressionRef, TypeRef } from "types:assemblyscript/src/module"; + /** Instruments stores to also call an import. */ + export class RtraceMemory extends Pass { + /** Whether we've seen any stores. */ + seenStores: boolean; + /** Target pointer type. */ + ptrType: TypeRef; + constructor(compiler: Compiler); + checkRT(): boolean; + /** @override */ + visitStore(store: ExpressionRef): void; + /** @override */ + walkModule(): void; + } +} +declare module "types:assemblyscript/src/passes/shadowstack" { + /** + * @fileoverview Shadow stack instrumentation for a precise GC. + * + * Instruments function arguments and local assignments marked with a 'tostack' + * call to also do stores to a shadow stack of managed values only. + * + * Consider a simple call to a function looking like the following, taking + * managed arguments, plus assigning managed values to locals: + * + * function foo(a: Obj, b: Obj): Obj { + * let c = __tostack(a) // slot 2 + * __collect() + * return b + * } + * + * foo(__tostack(a), __tostack(b)) // slot 0, 1 + * + * At the call to `__collect()` the 32-bit stack frame of the function is: + * + * Offset | Value stored + * -------|---------------------------- + * 0 | First managed argument 'a' + * 4 | Second managed argument 'b' + * -------|---------------------------- + * 8 | First managed local 'c' + * + * We are splitting the frame in two halves as annotated since both halves are + * only known separately for indirect calls, with the first half becoming an + * extension of the calling function's stack frame by means of treating the + * arguments as if these were locals beyond the caller's `numLocals`. Function + * arguments stay a bit longer on the stack than usually, but we also don't have + * to modify the stack pointer pre-call at all this way. The caller's amended + * stack frame when assuming one managed local may look like this: + * + * Offset | Value stored + * -------|---------------------------- + * 0 | First managed local '?' + * 4 | Extended with first managed argument 'a' + * 8 | Extended with second managed argument 'b' + * + * with the callee's stack frame becoming just: + * + * Offset | Value stored + * -------|---------------------------- + * 0 | First managed local 'c' + * + * Instrumentation added below looks about like the following, with the stack + * growing downwards and 't' and 'r' being new temporary locals: + * + * // callee frameSize = 1 * sizeof() + * function foo(a: usize, b: usize): usize { + * memory.fill(__stack_pointer -= frameSize, 0, frameSize) + * store(__stack_pointer, c = a, 0 * sizeof()) + * __collect() + * let r = b + * __stack_pointer += frameSize + * return r + * } + * + * // caller frameSize = (numLocalSlots + 2 [by extension]) * sizeof() + * ( + * r = foo( + * ( t = a, + * store(__stack_pointer, t, (numLocalSlots + 0) * sizeof()), + * t ), + * ( t = b, + * store(__stack_pointer, t, (numLocalSlots + 1) * sizeof()), + * t ) + * ), + * r + * ) + * + * Also note that we have to `memory.fill` the second half because the first + * assignment to a local may happen at a later point within the function. The + * invariant we need to maintain for a precise GC is that it only sees zeroes + * or valid pointers, but never an invalid pointer left on the stack earlier. + * Since most frames are small, we unroll a sequence of `store`s up to a frame + * size of 16 bytes, and `memory.fill`, if available, beyond. + * + * @license Apache-2.0 + */ + import { Pass } from "types:assemblyscript/src/passes/pass"; + import { ExpressionRef, FunctionRef, Index, BinaryOp, TypeRef, ExportRef } from "types:assemblyscript/src/module"; + import { Compiler, Options } from "types:assemblyscript/src/compiler"; + type LocalIndex = Index; + type SlotIndex = Index; + type SlotMap = Map; + type TempMap = Map; + /** Instruments a module with a shadow stack for precise GC. */ + export class ShadowStackPass extends Pass { + /** Stack frame slots, per function. */ + slotMaps: Map; + /** Temporary locals, per function. */ + tempMaps: Map; + /** Exports (with managed operands) map. */ + exportMap: Map; + /** Compiler reference. */ + compiler: Compiler; + constructor(compiler: Compiler); + /** Compiler options. */ + get options(): Options; + /** Target pointer type. */ + get ptrType(): TypeRef; + /** Target pointer size. */ + get ptrSize(): number; + /** Target pointer addition operation. */ + get ptrBinaryAdd(): BinaryOp; + /** Target pointer subtraction operation. */ + get ptrBinarySub(): BinaryOp; + /** Gets a constant with the specified value of the target pointer type. */ + ptrConst(value: number): ExpressionRef; + /** Notes the presence of a slot for the specified (imaginary) local, returning the slot index. */ + noteSlot(func: FunctionRef, localIndex: Index): number; + /** Notes the presence of an exported function taking managed operands. */ + noteExport(name: string, managedOperandIndices: number[]): void; + /** Gets a shared temporary local of the given type in the specified functions. */ + getSharedTemp(func: FunctionRef, type: TypeRef): Index; + /** Makes an expression modifying the stack pointer by the given offset. */ + makeStackOffset(offset: number): ExpressionRef; + /** Makes a sequence of expressions zeroing the stack frame. */ + makeStackFill(frameSize: number, stmts: ExpressionRef[]): void; + private hasStackCheckFunction; + /** Makes a check that the current stack pointer is valid. */ + makeStackCheck(): ExpressionRef; + private updateCallOperands; + /** Slot offset accounting for nested calls. */ + private callSlotOffset; + /** Slot offset stack in nested calls. */ + private callSlotStack; + /** @override */ + visitCallPre(call: ExpressionRef): void; + /** @override */ + visitCall(call: ExpressionRef): void; + /** @override */ + visitCallIndirectPre(callIndirect: ExpressionRef): void; + /** @override */ + visitCallIndirect(callIndirect: ExpressionRef): void; + /** @override */ + visitLocalSet(localSet: ExpressionRef): void; + /** Updates a function with additional locals etc. */ + updateFunction(funcRef: FunctionRef): void; + /** Updates a function export taking managed arguments. */ + updateExport(exportRef: ExportRef, managedOperandIndices: number[]): void; + /** @override */ + walkModule(): void; + } + export {}; +} +declare module "types:assemblyscript/src/bindings/util" { + import { Element, Function, Enum, Class, Interface, File, Global, Program } from "types:assemblyscript/src/program"; + /** Walker base class. */ + export abstract class ExportsWalker { + /** Program reference. */ + program: Program; + /** Whether to include private members */ + includePrivate: boolean; + /** Already seen elements. */ + seen: Map; + /** Constructs a new Element walker. */ + constructor(program: Program, includePrivate?: boolean); + /** Walks all elements and calls the respective handlers. */ + walk(): void; + /** Visits all exported elements of a file. */ + visitFile(file: File): void; + /** Visits an element.*/ + visitElement(name: string, element: Element): void; + private visitFunctionInstances; + private visitClassInstances; + private visitInterfaceInstances; + abstract visitGlobal(name: string, element: Global): void; + abstract visitEnum(name: string, element: Enum): void; + abstract visitFunction(name: string, element: Function): void; + abstract visitClass(name: string, element: Class): void; + abstract visitInterface(name: string, element: Interface): void; + abstract visitNamespace(name: string, element: Element): void; + abstract visitAlias(name: string, element: Element, originalName: string): void; + } + /** Tests if a namespace-like element has at least one compiled member. */ + export function hasCompiledMember(element: Element): boolean; +} +declare module "types:assemblyscript/src/bindings/js" { + import { Element, Program, Function, Global, Class, Interface, Enum } from "types:assemblyscript/src/program"; + import { Type } from "types:assemblyscript/src/types"; + import { ExportsWalker } from "types:assemblyscript/src/bindings/util"; + /** A JavaScript bindings builder. */ + export class JSBuilder extends ExportsWalker { + /** Builds JavaScript bindings for the specified program. */ + static build(program: Program, esm?: boolean): string; + private esm; + private sb; + private indentLevel; + private needsLiftBuffer; + private needsLowerBuffer; + private needsLiftString; + private needsLowerString; + private needsLiftArray; + private needsLowerArray; + private needsLiftTypedArray; + private needsLowerTypedArray; + private needsLiftStaticArray; + private needsLowerStaticArray; + private needsLiftInternref; + private needsLowerInternref; + private needsRetain; + private needsRelease; + private needsNotNull; + private needsSetU8; + private needsSetU16; + private needsSetU32; + private needsSetU64; + private needsSetF32; + private needsSetF64; + private needsGetI8; + private needsGetU8; + private needsGetI16; + private needsGetU16; + private needsGetI32; + private needsGetU32; + private needsGetI64; + private needsGetU64; + private needsGetF32; + private needsGetF64; + private deferredLifts; + private deferredLowers; + private deferredCode; + private exports; + private importMappings; + /** Constructs a new JavaScript bindings builder. */ + constructor(program: Program, esm: boolean, includePrivate?: boolean); + visitGlobal(name: string, element: Global): void; + visitEnum(name: string, element: Enum): void; + makeGlobalImport(moduleName: string, name: string, element: Global): void; + makeFunctionImport(moduleName: string, name: string, element: Function, code?: string | null): void; + visitFunction(name: string, element: Function): void; + visitClass(name: string, element: Class): void; + visitInterface(name: string, element: Interface): void; + visitNamespace(name: string, element: Element): void; + visitAlias(name: string, element: Element, originalName: string): void; + getExternalCode(element: Function): string | null; + build(): string; + ensureModuleId(moduleName: string): number; + /** Lifts a WebAssembly value to a JavaScript value, as an expression. */ + makeLiftFromValue(valueExpr: string, type: Type, sb?: string[]): void; + /** Lowers a JavaScript value to a WebAssembly value, as an expression. */ + makeLowerToValue(valueExpr: string, type: Type, sb?: string[]): void; + ensureLiftFromMemoryFn(valueType: Type): string; + /** Lifts a WebAssembly memory address to a JavaScript value, as a function. */ + makeLiftFromMemoryFunc(valueType: Type, sb?: string[]): void; + /** Lifts a WebAssembly memory address to a JavaScript value, as a call. */ + makeLiftFromMemoryCall(valueType: Type, sb?: string[], pointerExpr?: string): void; + ensureLowerToMemoryFn(valueType: Type): string; + /** Lowers a JavaScript value to a WebAssembly memory address, as a function. */ + makeLowerToMemoryFunc(valueType: Type, sb?: string[]): void; + /** Lowers a JavaScript value to a WebAssembly memory address, as a call. */ + makeLowerToMemoryCall(valueType: Type, sb?: string[], pointerExpr?: string, valueExpr?: string): void; + makeLiftRecord(clazz: Class): string; + makeLowerRecord(clazz: Class): string; + } + export function liftRequiresExportRuntime(type: Type): boolean; + export function lowerRequiresExportRuntime(type: Type): boolean; +} +declare module "types:assemblyscript/src/compiler" { + /** + * @fileoverview The AssemblyScript compiler. + * @license Apache-2.0 + */ + import { Range, DiagnosticEmitter } from "types:assemblyscript/src/diagnostics"; + import { Module, MemorySegment, ExpressionRef, TypeRef, GlobalRef } from "types:assemblyscript/src/module"; + import { Feature, Target, Runtime } from "types:assemblyscript/src/common"; + import { Program, Class, Element, DeclaredElement, Enum, Function, Global, VariableLikeElement, File } from "types:assemblyscript/src/program"; + import { Flow, ConditionKind } from "types:assemblyscript/src/flow"; + import { Resolver } from "types:assemblyscript/src/resolver"; + import { Node, FunctionTypeNode, Statement, Expression } from "types:assemblyscript/src/ast"; + import { Type, Signature } from "types:assemblyscript/src/types"; + import { ShadowStackPass } from "types:assemblyscript/src/passes/shadowstack"; + /** Features enabled by default. */ + export const defaultFeatures: number; + /** Compiler options. */ + export class Options { + constructor(); + /** WebAssembly target. Defaults to {@link Target.Wasm32}. */ + target: Target; + /** Runtime type. Defaults to Incremental GC. */ + runtime: Runtime; + /** If true, indicates that debug information will be emitted by Binaryen. */ + debugInfo: boolean; + /** If true, replaces assertions with nops. */ + noAssert: boolean; + /** It true, exports the memory to the embedder. */ + exportMemory: boolean; + /** If true, imports the memory provided by the embedder. */ + importMemory: boolean; + /** Initial memory size, in pages. */ + initialMemory: number; + /** Maximum memory size, in pages. */ + maximumMemory: number; + /** If true, memory is declared as shared. */ + sharedMemory: boolean; + /** If true, imported memory is zero filled. */ + zeroFilledMemory: boolean; + /** If true, imports the function table provided by the embedder. */ + importTable: boolean; + /** If true, exports the function table. */ + exportTable: boolean; + /** If true, generates information necessary for source maps. */ + sourceMap: boolean; + /** Unchecked behavior. Defaults to only using unchecked operations inside unchecked(). */ + uncheckedBehavior: UncheckedBehavior; + /** If given, exports the start function instead of calling it implicitly. */ + exportStart: string | null; + /** Static memory start offset. */ + memoryBase: number; + /** Static table start offset. */ + tableBase: number; + /** Global aliases, mapping alias names as the key to internal names to be aliased as the value. */ + globalAliases: Map | null; + /** Features to activate by default. */ + features: Feature; + /** If true, disallows unsafe features in user code. */ + noUnsafe: boolean; + /** If true, enables pedantic diagnostics. */ + pedantic: boolean; + /** Indicates a very low (<64k) memory limit. */ + lowMemoryLimit: number; + /** If true, exports the runtime helpers. */ + exportRuntime: boolean; + /** Stack size in bytes, if using a stack. */ + stackSize: number; + /** Semantic major bundle version from root package.json */ + bundleMajorVersion: number; + /** Semantic minor bundle version from root package.json */ + bundleMinorVersion: number; + /** Semantic patch bundle version from root package.json */ + bundlePatchVersion: number; + /** Hinted optimize level. Not applied by the compiler itself. */ + optimizeLevelHint: number; + /** Hinted shrink level. Not applied by the compiler itself. */ + shrinkLevelHint: number; + /** Hinted basename. */ + basenameHint: string; + /** Hinted bindings generation. */ + bindingsHint: boolean; + /** Tests if the target is WASM64 or, otherwise, WASM32. */ + get isWasm64(): boolean; + /** Gets the unsigned size type matching the target. */ + get usizeType(): Type; + /** Gets the signed size type matching the target. */ + get isizeType(): Type; + /** Gets the size type reference matching the target. */ + get sizeTypeRef(): TypeRef; + /** Gets if any optimizations will be performed. */ + get willOptimize(): boolean; + /** Sets whether a feature is enabled. */ + setFeature(feature: Feature, on?: boolean): void; + /** Tests if a specific feature is activated. */ + hasFeature(feature: Feature): boolean; + } + /** Behaviors regarding unchecked operations. */ + export const enum UncheckedBehavior { + /** Only use unchecked operations inside unchecked(). */ + Default = 0, + /** Never use unchecked operations. */ + Never = 1, + /** Always use unchecked operations if possible. */ + Always = 2 + } + /** Various constraints in expression compilation. */ + export const enum Constraints { + None = 0, + /** Must implicitly convert to the target type. */ + ConvImplicit = 1, + /** Must explicitly convert to the target type. */ + ConvExplicit = 2, + /** Must wrap small integer values to match the target type. */ + MustWrap = 4, + /** Indicates that the value will be dropped immediately. */ + WillDrop = 8, + /** Indicates that static data is preferred. */ + PreferStatic = 16, + /** Indicates that the value will become `this` of a property access or instance call. */ + IsThis = 32 + } + /** Runtime features to be activated by the compiler. */ + export const enum RuntimeFeatures { + None = 0, + /** Requires data setup. */ + Data = 1, + /** Requires a stack. */ + Stack = 2, + /** Requires heap setup. */ + Heap = 4, + /** Requires runtime type information setup. */ + Rtti = 8, + /** Requires the built-in globals visitor. */ + visitGlobals = 16, + /** Requires the built-in members visitor. */ + visitMembers = 32, + /** Requires the setArgumentsLength export. */ + setArgumentsLength = 64 + } + /** Imported default names of compiler-generated elements. */ + export namespace ImportNames { + /** Name of the default namespace */ + const DefaultNamespace = "env"; + /** Name of the memory instance, if imported. */ + const Memory = "memory"; + /** Name of the table instance, if imported. */ + const Table = "table"; + } + /** Exported names of compiler-generated elements. */ + export namespace ExportNames { + /** Name of the memory instance, if exported. */ + const Memory = "memory"; + /** Name of the table instance, if exported. */ + const Table = "table"; + /** Name of the argumentsLength varargs helper global. */ + const argumentsLength = "__argumentsLength"; + /** Name of the alternative argumentsLength setter function. */ + const setArgumentsLength = "__setArgumentsLength"; + } + /** Functions to export if `--exportRuntime` is set. */ + export const runtimeFunctions: string[]; + /** Globals to export if `--exportRuntime` is set. */ + export const runtimeGlobals: string[]; + /** Compiler interface. */ + export class Compiler extends DiagnosticEmitter { + /** Program reference. */ + program: Program; + /** Module instance being compiled. */ + get module(): Module; + /** Provided options. */ + get options(): Options; + /** Resolver reference. */ + get resolver(): Resolver; + /** Current control flow. */ + currentFlow: Flow; + /** Current parent element if not a function, i.e. an enum or namespace. */ + currentParent: Element | null; + /** Current type in compilation. */ + currentType: Type; + /** Start function statements. */ + currentBody: ExpressionRef[]; + /** Counting memory offset. */ + memoryOffset: i64; + /** Memory segments being compiled. */ + memorySegments: MemorySegment[]; + /** Map of already compiled static string segments. */ + stringSegments: Map; + /** Function table being compiled. First elem is blank. */ + functionTable: Function[]; + /** Arguments length helper global. */ + builtinArgumentsLength: GlobalRef; + /** Requires runtime features. */ + runtimeFeatures: RuntimeFeatures; + /** Current inline functions stack. */ + inlineStack: Function[]; + /** Lazily compiled functions. */ + lazyFunctions: Set; + /** Pending instanceof helpers and their names. */ + pendingInstanceOf: Map; + /** Stubs to defer calls to overridden methods. */ + overrideStubs: Set; + /** Elements currently undergoing compilation. */ + pendingElements: Set; + /** Elements, that are module exports, already processed */ + doneModuleExports: Set; + /** Shadow stack reference. */ + shadowStack: ShadowStackPass; + /** Whether the module has custom function exports. */ + hasCustomFunctionExports: boolean; + /** Whether the module would use the exported runtime to lift/lower. */ + desiresExportRuntime: boolean; + /** Compiles a {@link Program} to a {@link Module} using the specified options. */ + static compile(program: Program): Module; + /** Constructs a new compiler for a {@link Program} using the specified options. */ + constructor(program: Program); + /** Performs compilation of the underlying {@link Program} to a {@link Module}. */ + compile(): Module; + private initDefaultMemory; + private initDefaultTable; + /** Compiles the respective module exports for the specified entry file. */ + private compileModuleExports; + /** Compiles the respective module export(s) for the specified element. */ + private compileModuleExport; + /** Compiles the file matching the specified path. */ + compileFileByPath(normalizedPathWithoutExtension: string, reportNode: Node): void; + /** Compiles the specified file. */ + compileFile(file: File): void; + /** Tries to compile a global variable lazily. */ + compileGlobalLazy(global: Global, reportNode: Node): boolean; + /** Compiles a global variable. */ + compileGlobal(global: Global): boolean; + /** Compiles an enum. */ + compileEnum(element: Enum): boolean; + /** Compiles a priorly resolved function. */ + compileFunction( + /** Function to compile. */ + instance: Function, + /** Force compilation of stdlib alternative if a builtin. */ + forceStdAlternative?: boolean): boolean; + /** Compiles the body of a function within the specified flow. */ + private compileFunctionBody; + /** Makes a built-in getter of a property that is a field. */ + private makeBuiltinFieldGetter; + /** Makes a built-in setter of a property that is a field. */ + private makeBuiltinFieldSetter; + /** Adds a static memory segment with the specified data. */ + addAlignedMemorySegment(buffer: Uint8Array, alignment?: number): MemorySegment; + /** Adds a static memory segment representing a runtime object. */ + addRuntimeMemorySegment(buffer: Uint8Array): MemorySegment; + /** Ensures that a string exists in static memory and returns a pointer expression. Deduplicates. */ + ensureStaticString(stringValue: string): ExpressionRef; + /** Ensures that a string exists in static memory and returns a pointer to it. Deduplicates. */ + ensureStaticStringPtr(stringValue: string): i64; + /** Writes a series of static values of the specified type to a buffer. */ + writeStaticBuffer(buf: Uint8Array, pos: number, elementType: Type, values: ExpressionRef[]): number; + /** Adds a buffer to static memory and returns the created segment. */ + addStaticBuffer(elementType: Type, values: ExpressionRef[], id?: number): MemorySegment; + /** Adds an array header to static memory and returns the created segment. */ + private addStaticArrayHeader; + /** Ensures that a runtime counterpart of the specified function exists and returns its address. */ + ensureRuntimeFunction(instance: Function): i64; + /** Compiles a top level statement (incl. function declarations etc.) to the specified body. */ + compileTopLevelStatement(statement: Statement, body: ExpressionRef[]): void; + /** Compiles a statement. */ + compileStatement( + /** Statement to compile. */ + statement: Statement): ExpressionRef; + /** Compiles a series of statements. */ + compileStatements( + /** Statements to compile. */ + statements: Statement[], + /** Statements to append to. Also returned, created if omitted. */ + stmts?: ExpressionRef[] | null): ExpressionRef[]; + private compileBlockStatement; + private compileTypeDeclaration; + private compileBreakStatement; + private compileContinueStatement; + private compileDoStatement; + private doCompileDoStatement; + private compileEmptyStatement; + private compileExpressionStatement; + private compileForStatement; + private doCompileForStatement; + private compileForOfStatement; + private compileIfStatement; + private compileReturnStatement; + private compileSwitchStatement; + private compileThrowStatement; + private compileTryStatement; + /** Compiles a variable statement. Returns `0` if an initializer is not necessary. */ + private compileVariableStatement; + private compileVoidStatement; + private compileWhileStatement; + private doCompileWhileStatement; + /** Compiles the value of an inlined constant element. */ + compileInlineConstant(element: VariableLikeElement, contextualType: Type, constraints: Constraints): ExpressionRef; + compileExpression(expression: Expression, contextualType: Type, constraints?: Constraints): ExpressionRef; + /** Converts an expression's result from one type to another. */ + convertExpression(expr: ExpressionRef, + /** Original type. */ + fromType: Type, + /** New type. */ + toType: Type, + /** Whether the conversion is explicit. */ + explicit: boolean, + /** Report node. */ + reportNode: Node): ExpressionRef; + private compileAssertionExpression; + private f32ModInstance; + private f64ModInstance; + private f32PowInstance; + private f64PowInstance; + private i32PowInstance; + private i64PowInstance; + private compileBinaryExpression; + makeLt(leftExpr: ExpressionRef, rightExpr: ExpressionRef, type: Type): ExpressionRef; + makeGt(leftExpr: ExpressionRef, rightExpr: ExpressionRef, type: Type): ExpressionRef; + makeLe(leftExpr: ExpressionRef, rightExpr: ExpressionRef, type: Type): ExpressionRef; + makeGe(leftExpr: ExpressionRef, rightExpr: ExpressionRef, type: Type): ExpressionRef; + makeEq(leftExpr: ExpressionRef, rightExpr: ExpressionRef, type: Type, reportNode: Node): ExpressionRef; + makeNe(leftExpr: ExpressionRef, rightExpr: ExpressionRef, type: Type, reportNode: Node): ExpressionRef; + makeAdd(leftExpr: ExpressionRef, rightExpr: ExpressionRef, type: Type): ExpressionRef; + makeSub(leftExpr: ExpressionRef, rightExpr: ExpressionRef, type: Type): ExpressionRef; + makeMul(leftExpr: ExpressionRef, rightExpr: ExpressionRef, type: Type): ExpressionRef; + makePow(leftExpr: ExpressionRef, rightExpr: ExpressionRef, type: Type, reportNode: Node): ExpressionRef; + makeDiv(leftExpr: ExpressionRef, rightExpr: ExpressionRef, type: Type): ExpressionRef; + makeRem(leftExpr: ExpressionRef, rightExpr: ExpressionRef, type: Type, reportNode: Node): ExpressionRef; + makeShl(leftExpr: ExpressionRef, rightExpr: ExpressionRef, type: Type): ExpressionRef; + makeShr(leftExpr: ExpressionRef, rightExpr: ExpressionRef, type: Type): ExpressionRef; + makeShru(leftExpr: ExpressionRef, rightExpr: ExpressionRef, type: Type): ExpressionRef; + makeAnd(leftExpr: ExpressionRef, rightExpr: ExpressionRef, type: Type): ExpressionRef; + makeOr(leftExpr: ExpressionRef, rightExpr: ExpressionRef, type: Type): ExpressionRef; + makeXor(leftExpr: ExpressionRef, rightExpr: ExpressionRef, type: Type): ExpressionRef; + private compileUnaryOverload; + private compileBinaryOverload; + private compileAssignment; + /** Makes an assignment expression or block, assigning a value to a target. */ + makeAssignment( + /** Target element, e.g. a Local. */ + target: Element, + /** Value expression that has been compiled in a previous step already. */ + valueExpr: ExpressionRef, + /** Value expression type. */ + valueType: Type, + /** Expression reference. Has already been compiled to `valueExpr`. */ + valueExpression: Expression, + /** `this` expression reference if a field or property set. */ + thisExpression: Expression | null, + /** Index expression reference if an indexed set. */ + indexExpression: Expression | null, + /** Whether to tee the value. */ + tee: boolean): ExpressionRef; + /** Makes an assignment to a local, keeping track of wrap and null states. */ + private makeLocalAssignment; + /** Makes an assignment to a global. */ + private makeGlobalAssignment; + /** Compiles a call expression according to the specified context. */ + private compileCallExpression; + /** Compiles the given arguments like a call expression according to the specified context. */ + private compileCallExpressionLike; + private _reusableCallExpression; + private compileCallExpressionBuiltin; + /** + * Checks that a call with the given number as arguments can be performed according to the + * specified signature. + */ + checkCallSignature(signature: Signature, numArguments: number, hasThis: boolean, reportNode: Node): boolean; + /** Checks that an unsafe expression is allowed. */ + private checkUnsafe; + /** Compiles a direct call to a concrete function. */ + compileCallDirect(instance: Function, argumentExpressions: Expression[], reportNode: Node, thisArg?: ExpressionRef, constraints?: Constraints): ExpressionRef; + makeCallInline(instance: Function, operands: ExpressionRef[] | null, thisArg?: ExpressionRef, immediatelyDropped?: boolean): ExpressionRef; + /** Makes sure that the arguments length helper global is present. */ + ensureArgumentsLength(): string; + /** Ensures compilation of the varargs stub for the specified function. */ + ensureVarargsStub(original: Function): Function; + /** Ensures compilation of the override stub for the specified function. */ + ensureOverrideStub(original: Function): Function; + /** Finalizes the override stub of the specified function. */ + private finalizeOverrideStub; + /** Marks managed call operands for the shadow stack. */ + private operandsTostack; + /** Creates a direct call to the specified function. */ + makeCallDirect(instance: Function, operands: ExpressionRef[] | null, reportNode: Node, immediatelyDropped?: boolean): ExpressionRef; + /** Compiles an indirect call to a first-class function. */ + compileCallIndirect(signature: Signature, functionArg: ExpressionRef, argumentExpressions: Expression[], reportNode: Node, thisArg?: ExpressionRef, immediatelyDropped?: boolean): ExpressionRef; + /** Creates an indirect call to a first-class function. */ + makeCallIndirect(signature: Signature, functionArg: ExpressionRef, reportNode: Node, operands?: ExpressionRef[] | null, immediatelyDropped?: boolean): ExpressionRef; + private compileCommaExpression; + private compileElementAccessExpression; + private compileFunctionExpression; + /** Makes sure the enclosing source file of the specified expression has been compiled. */ + private maybeCompileEnclosingSource; + private compileIdentifierExpression; + private compileIdentifierExpressionBuiltin; + private compileInstanceOfExpression; + private makeInstanceofType; + /** Prepares the instanceof helper for the given class or interface instance. */ + private prepareInstanceOf; + /** Finalizes the instanceof helper of the given class or interface instance. */ + private finalizeInstanceOf; + private makeInstanceofClass; + /** Prepares the instanceof helper for the given class or interface prototype. */ + private prepareAnyInstanceOf; + /** Finalizes the instanceof helper of the given class prototype. */ + private finalizeAnyInstanceOf; + private compileLiteralExpression; + private compileStringLiteral; + private compileTemplateLiteral; + private compileArrayLiteral; + /** Makes a new array instance from a static buffer segment. */ + private makeNewArray; + /** Compiles a special `fixed` array literal. */ + private compileStaticArrayLiteral; + private compileObjectLiteral; + private compileNewExpression; + /** Gets the compiled constructor of the specified class or generates one if none is present. */ + ensureConstructor( + /** Class wanting a constructor. */ + classInstance: Class, + /** Report node. */ + reportNode: Node): Function; + /** Checks that all class fields have been initialized. */ + checkFieldInitialization(classInstance: Class, relatedNode?: Node | null): void; + /** Checks that all class fields have been initialized in the specified flow. */ + checkFieldInitializationInFlow(classInstance: Class, flow: Flow, relatedNode?: Node | null): void; + compileInstantiate( + /** Constructor to call. */ + ctorInstance: Function, + /** Constructor arguments. */ + argumentExpressions: Expression[], + /** Contextual flags. */ + constraints: Constraints, + /** Node to report on. */ + reportNode: Node): ExpressionRef; + private compilePropertyAccessExpression; + private compileTernaryExpression; + private compileUnaryPostfixExpression; + private compileUnaryPrefixExpression; + private compileTypeof; + /** Makes sure that a 32-bit integer value is wrapped to a valid value of the specified type. */ + ensureSmallIntegerWrap(expr: ExpressionRef, type: Type): ExpressionRef; + /** Adds the debug location of the specified expression at the specified range to the source map. */ + addDebugLocation(expr: ExpressionRef, range: Range): void; + /** Checks whether a particular function signature is supported. */ + checkSignatureSupported(signature: Signature, reportNode: FunctionTypeNode): boolean; + /** Evaluates a boolean condition, determining whether it is TRUE, FALSE or UNKNOWN. */ + evaluateCondition(expr: ExpressionRef): ConditionKind; + /** Makes a constant zero of the specified type. */ + makeZero(type: Type): ExpressionRef; + /** Makes a constant one of the specified type. */ + makeOne(type: Type): ExpressionRef; + /** Makes a constant negative one of the specified type. */ + makeNegOne(type: Type): ExpressionRef; + /** Creates a comparison whether an expression is 'true' in a broader sense. */ + makeIsTrueish(expr: ExpressionRef, type: Type, reportNode: Node): ExpressionRef; + /** Makes a string conversion of the given expression. */ + makeToString(expr: ExpressionRef, type: Type, reportNode: Node): ExpressionRef; + /** Makes an allocation suitable to hold the data of an instance of the given class. */ + makeAllocation(classInstance: Class): ExpressionRef; + /** Makes a conditional allocation where `this` might not have been initialized yet. */ + makeConditionalAllocation(classInstance: Class, thisIndex: number): ExpressionRef; + /** Makes the initializers for a class's fields within the constructor. */ + makeFieldInitializationInConstructor( + /** Class being initialized. */ + classInstance: Class, + /** Statements to append to also being returned. Created if omitted. */ + stmts?: ExpressionRef[]): ExpressionRef[]; + /** Makes a call to `abort`, if present, otherwise creates a trap. */ + makeAbort( + /** Message argument of type string, if any. */ + message: Expression | null, + /** Code location to report when aborting. */ + codeLocation: Node): ExpressionRef; + /** Makes a call to `abort`, if present, otherwise creates a trap. */ + makeStaticAbort( + /** Message argument of type string. May be zero. */ + messageExpr: ExpressionRef, + /** Code location to report when aborting. */ + codeLocation: Node): ExpressionRef; + /** Makes a runtime non-null check, e.g. on `possiblyNull` or `possiblyNull!`. */ + makeRuntimeNonNullCheck( + /** Expression being checked. */ + expr: ExpressionRef, + /** Type of the expression. */ + type: Type, + /** Report node. */ + reportNode: Node): ExpressionRef; + /** Makes a runtime downcast check, e.g. on `parent`. */ + makeRuntimeDowncastCheck( + /** Expression being downcast. */ + expr: ExpressionRef, + /** Type of the expression. */ + type: Type, + /** Type casting to. */ + toType: Type, + /** Report node. */ + reportNode: Node): ExpressionRef; + } +} +declare module "types:assemblyscript/src/builtins" { + /** + * @fileoverview Built-in elements providing core WebAssembly functionality. + * + * Each builtin is linked to its definition in std/assembly/builtins.ts. + * When its prototype is called, the compiler recognizes the `@builtin` + * decorator, looks up the respective handler in the global builtins map + * and executes it, with the handler directly emitting WebAssembly code + * according to context. + * + * Builtins can be categorized into core builtins that typically are generic + * and emit code directly and aliases calling core builtins with overridden + * contexts. The latter is used by inline assembler aliases of WebAssembly + * instructions, like `i64.load8_u` deferring to `load`. + * + * The `contextIsExact` modifier is used to force a specific instruction + * family. A `i32.store8` deferring to `store` for example is + * ambiguous in that the input can still be an i32 or an i64, leading to + * either an `i32.store8` or an `i64.store8`, so `i32` is forced there. + * This behavior is indicated by `from i32/i64` in the comments below. + * + * @license Apache-2.0 + */ + import { Compiler } from "types:assemblyscript/src/compiler"; + import { Expression, CallExpression, IdentifierExpression } from "types:assemblyscript/src/ast"; + import { Type } from "types:assemblyscript/src/types"; + import { ExpressionRef } from "types:assemblyscript/src/module"; + import { FunctionPrototype, VariableLikeElement } from "types:assemblyscript/src/program"; + /** Internal names of various compiler built-ins. */ + export namespace BuiltinNames { + const start = "~start"; + const started = "~started"; + const argumentsLength = "~argumentsLength"; + const setArgumentsLength = "~setArgumentsLength"; + const abort = "~lib/builtins/abort"; + const trace = "~lib/builtins/trace"; + const seed = "~lib/builtins/seed"; + const isBoolean = "~lib/builtins/isBoolean"; + const isInteger = "~lib/builtins/isInteger"; + const isSigned = "~lib/builtins/isSigned"; + const isFloat = "~lib/builtins/isFloat"; + const isVector = "~lib/builtins/isVector"; + const isReference = "~lib/builtins/isReference"; + const isString = "~lib/builtins/isString"; + const isArray = "~lib/builtins/isArray"; + const isArrayLike = "~lib/builtins/isArrayLike"; + const isFunction = "~lib/builtins/isFunction"; + const isNullable = "~lib/builtins/isNullable"; + const isDefined = "~lib/builtins/isDefined"; + const isConstant = "~lib/builtins/isConstant"; + const isManaged = "~lib/builtins/isManaged"; + const isVoid = "~lib/builtins/isVoid"; + const add = "~lib/builtins/add"; + const sub = "~lib/builtins/sub"; + const mul = "~lib/builtins/mul"; + const div = "~lib/builtins/div"; + const clz = "~lib/builtins/clz"; + const ctz = "~lib/builtins/ctz"; + const popcnt = "~lib/builtins/popcnt"; + const rotl = "~lib/builtins/rotl"; + const rotr = "~lib/builtins/rotr"; + const abs = "~lib/builtins/abs"; + const max = "~lib/builtins/max"; + const min = "~lib/builtins/min"; + const ceil = "~lib/builtins/ceil"; + const floor = "~lib/builtins/floor"; + const copysign = "~lib/builtins/copysign"; + const nearest = "~lib/builtins/nearest"; + const reinterpret = "~lib/builtins/reinterpret"; + const sqrt = "~lib/builtins/sqrt"; + const trunc = "~lib/builtins/trunc"; + const eq = "~lib/builtins/eq"; + const ne = "~lib/builtins/ne"; + const rem = "~lib/builtins/rem"; + const load = "~lib/builtins/load"; + const store = "~lib/builtins/store"; + const atomic_load = "~lib/builtins/atomic.load"; + const atomic_store = "~lib/builtins/atomic.store"; + const atomic_add = "~lib/builtins/atomic.add"; + const atomic_sub = "~lib/builtins/atomic.sub"; + const atomic_and = "~lib/builtins/atomic.and"; + const atomic_or = "~lib/builtins/atomic.or"; + const atomic_xor = "~lib/builtins/atomic.xor"; + const atomic_xchg = "~lib/builtins/atomic.xchg"; + const atomic_cmpxchg = "~lib/builtins/atomic.cmpxchg"; + const atomic_wait = "~lib/builtins/atomic.wait"; + const atomic_notify = "~lib/builtins/atomic.notify"; + const atomic_fence = "~lib/builtins/atomic.fence"; + const sizeof = "~lib/builtins/sizeof"; + const alignof = "~lib/builtins/alignof"; + const offsetof = "~lib/builtins/offsetof"; + const nameof = "~lib/builtins/nameof"; + const lengthof = "~lib/builtins/lengthof"; + const select = "~lib/builtins/select"; + const unreachable = "~lib/builtins/unreachable"; + const changetype = "~lib/builtins/changetype"; + const assert = "~lib/builtins/assert"; + const call_indirect = "~lib/builtins/call_indirect"; + const unchecked = "~lib/builtins/unchecked"; + const instantiate = "~lib/builtins/instantiate"; + const idof = "~lib/builtins/idof"; + const i8 = "~lib/builtins/i8"; + const i16 = "~lib/builtins/i16"; + const i32 = "~lib/builtins/i32"; + const i64 = "~lib/builtins/i64"; + const isize = "~lib/builtins/isize"; + const u8 = "~lib/builtins/u8"; + const u16 = "~lib/builtins/u16"; + const u32 = "~lib/builtins/u32"; + const u64 = "~lib/builtins/u64"; + const usize = "~lib/builtins/usize"; + const bool = "~lib/builtins/bool"; + const f32 = "~lib/builtins/f32"; + const f64 = "~lib/builtins/f64"; + const v128 = "~lib/builtins/v128"; + const i32_clz = "~lib/builtins/i32.clz"; + const i64_clz = "~lib/builtins/i64.clz"; + const i32_ctz = "~lib/builtins/i32.ctz"; + const i64_ctz = "~lib/builtins/i64.ctz"; + const i32_popcnt = "~lib/builtins/i32.popcnt"; + const i64_popcnt = "~lib/builtins/i64.popcnt"; + const i32_rotl = "~lib/builtins/i32.rotl"; + const i64_rotl = "~lib/builtins/i64.rotl"; + const i32_rotr = "~lib/builtins/i32.rotr"; + const i64_rotr = "~lib/builtins/i64.rotr"; + const f32_abs = "~lib/builtins/f32.abs"; + const f64_abs = "~lib/builtins/f64.abs"; + const f32_max = "~lib/builtins/f32.max"; + const f64_max = "~lib/builtins/f64.max"; + const f32_min = "~lib/builtins/f32.min"; + const f64_min = "~lib/builtins/f64.min"; + const f32_ceil = "~lib/builtins/f32.ceil"; + const f64_ceil = "~lib/builtins/f64.ceil"; + const f32_floor = "~lib/builtins/f32.floor"; + const f64_floor = "~lib/builtins/f64.floor"; + const f32_copysign = "~lib/builtins/f32.copysign"; + const f64_copysign = "~lib/builtins/f64.copysign"; + const f32_nearest = "~lib/builtins/f32.nearest"; + const f64_nearest = "~lib/builtins/f64.nearest"; + const i32_reinterpret_f32 = "~lib/builtins/i32.reinterpret_f32"; + const i64_reinterpret_f64 = "~lib/builtins/i64.reinterpret_f64"; + const f32_reinterpret_i32 = "~lib/builtins/f32.reinterpret_i32"; + const f64_reinterpret_i64 = "~lib/builtins/f64.reinterpret_i64"; + const f32_sqrt = "~lib/builtins/f32.sqrt"; + const f64_sqrt = "~lib/builtins/f64.sqrt"; + const f32_trunc = "~lib/builtins/f32.trunc"; + const f64_trunc = "~lib/builtins/f64.trunc"; + const i32_add = "~lib/builtins/i32.add"; + const i64_add = "~lib/builtins/i64.add"; + const f32_add = "~lib/builtins/f32.add"; + const f64_add = "~lib/builtins/f64.add"; + const i32_sub = "~lib/builtins/i32.sub"; + const i64_sub = "~lib/builtins/i64.sub"; + const f32_sub = "~lib/builtins/f32.sub"; + const f64_sub = "~lib/builtins/f64.sub"; + const i32_mul = "~lib/builtins/i32.mul"; + const i64_mul = "~lib/builtins/i64.mul"; + const f32_mul = "~lib/builtins/f32.mul"; + const f64_mul = "~lib/builtins/f64.mul"; + const i32_div_s = "~lib/builtins/i32.div_s"; + const i32_div_u = "~lib/builtins/i32.div_u"; + const i64_div_s = "~lib/builtins/i64.div_s"; + const i64_div_u = "~lib/builtins/i64.div_u"; + const f32_div = "~lib/builtins/f32.div"; + const f64_div = "~lib/builtins/f64.div"; + const i32_eq = "~lib/builtins/i32.eq"; + const i64_eq = "~lib/builtins/i64.eq"; + const f32_eq = "~lib/builtins/f32.eq"; + const f64_eq = "~lib/builtins/f64.eq"; + const i32_ne = "~lib/builtins/i32.ne"; + const i64_ne = "~lib/builtins/i64.ne"; + const f32_ne = "~lib/builtins/f32.ne"; + const f64_ne = "~lib/builtins/f64.ne"; + const i32_rem_s = "~lib/builtins/i32.rem_s"; + const i32_rem_u = "~lib/builtins/i32.rem_u"; + const i64_rem_s = "~lib/builtins/i64.rem_s"; + const i64_rem_u = "~lib/builtins/i64.rem_u"; + const i32_load8_s = "~lib/builtins/i32.load8_s"; + const i32_load8_u = "~lib/builtins/i32.load8_u"; + const i32_load16_s = "~lib/builtins/i32.load16_s"; + const i32_load16_u = "~lib/builtins/i32.load16_u"; + const i32_load = "~lib/builtins/i32.load"; + const i64_load8_s = "~lib/builtins/i64.load8_s"; + const i64_load8_u = "~lib/builtins/i64.load8_u"; + const i64_load16_s = "~lib/builtins/i64.load16_s"; + const i64_load16_u = "~lib/builtins/i64.load16_u"; + const i64_load32_s = "~lib/builtins/i64.load32_s"; + const i64_load32_u = "~lib/builtins/i64.load32_u"; + const i64_load = "~lib/builtins/i64.load"; + const f32_load = "~lib/builtins/f32.load"; + const f64_load = "~lib/builtins/f64.load"; + const i32_store8 = "~lib/builtins/i32.store8"; + const i32_store16 = "~lib/builtins/i32.store16"; + const i32_store = "~lib/builtins/i32.store"; + const i64_store8 = "~lib/builtins/i64.store8"; + const i64_store16 = "~lib/builtins/i64.store16"; + const i64_store32 = "~lib/builtins/i64.store32"; + const i64_store = "~lib/builtins/i64.store"; + const f32_store = "~lib/builtins/f32.store"; + const f64_store = "~lib/builtins/f64.store"; + const i32_atomic_load8_u = "~lib/builtins/i32.atomic.load8_u"; + const i32_atomic_load16_u = "~lib/builtins/i32.atomic.load16_u"; + const i32_atomic_load = "~lib/builtins/i32.atomic.load"; + const i64_atomic_load8_u = "~lib/builtins/i64.atomic.load8_u"; + const i64_atomic_load16_u = "~lib/builtins/i64.atomic.load16_u"; + const i64_atomic_load32_u = "~lib/builtins/i64.atomic.load32_u"; + const i64_atomic_load = "~lib/builtins/i64.atomic.load"; + const i32_atomic_store8 = "~lib/builtins/i32.atomic.store8"; + const i32_atomic_store16 = "~lib/builtins/i32.atomic.store16"; + const i32_atomic_store = "~lib/builtins/i32.atomic.store"; + const i64_atomic_store8 = "~lib/builtins/i64.atomic.store8"; + const i64_atomic_store16 = "~lib/builtins/i64.atomic.store16"; + const i64_atomic_store32 = "~lib/builtins/i64.atomic.store32"; + const i64_atomic_store = "~lib/builtins/i64.atomic.store"; + const i32_atomic_rmw8_add_u = "~lib/builtins/i32.atomic.rmw8.add_u"; + const i32_atomic_rmw16_add_u = "~lib/builtins/i32.atomic.rmw16.add_u"; + const i32_atomic_rmw_add = "~lib/builtins/i32.atomic.rmw.add"; + const i64_atomic_rmw8_add_u = "~lib/builtins/i64.atomic.rmw8.add_u"; + const i64_atomic_rmw16_add_u = "~lib/builtins/i64.atomic.rmw16.add_u"; + const i64_atomic_rmw32_add_u = "~lib/builtins/i64.atomic.rmw32.add_u"; + const i64_atomic_rmw_add = "~lib/builtins/i64.atomic.rmw.add"; + const i32_atomic_rmw8_sub_u = "~lib/builtins/i32.atomic.rmw8.sub_u"; + const i32_atomic_rmw16_sub_u = "~lib/builtins/i32.atomic.rmw16.sub_u"; + const i32_atomic_rmw_sub = "~lib/builtins/i32.atomic.rmw.sub"; + const i64_atomic_rmw8_sub_u = "~lib/builtins/i64.atomic.rmw8.sub_u"; + const i64_atomic_rmw16_sub_u = "~lib/builtins/i64.atomic.rmw16.sub_u"; + const i64_atomic_rmw32_sub_u = "~lib/builtins/i64.atomic.rmw32.sub_u"; + const i64_atomic_rmw_sub = "~lib/builtins/i64.atomic.rmw.sub"; + const i32_atomic_rmw8_and_u = "~lib/builtins/i32.atomic.rmw8.and_u"; + const i32_atomic_rmw16_and_u = "~lib/builtins/i32.atomic.rmw16.and_u"; + const i32_atomic_rmw_and = "~lib/builtins/i32.atomic.rmw.and"; + const i64_atomic_rmw8_and_u = "~lib/builtins/i64.atomic.rmw8.and_u"; + const i64_atomic_rmw16_and_u = "~lib/builtins/i64.atomic.rmw16.and_u"; + const i64_atomic_rmw32_and_u = "~lib/builtins/i64.atomic.rmw32.and_u"; + const i64_atomic_rmw_and = "~lib/builtins/i64.atomic.rmw.and"; + const i32_atomic_rmw8_or_u = "~lib/builtins/i32.atomic.rmw8.or_u"; + const i32_atomic_rmw16_or_u = "~lib/builtins/i32.atomic.rmw16.or_u"; + const i32_atomic_rmw_or = "~lib/builtins/i32.atomic.rmw.or"; + const i64_atomic_rmw8_or_u = "~lib/builtins/i64.atomic.rmw8.or_u"; + const i64_atomic_rmw16_or_u = "~lib/builtins/i64.atomic.rmw16.or_u"; + const i64_atomic_rmw32_or_u = "~lib/builtins/i64.atomic.rmw32.or_u"; + const i64_atomic_rmw_or = "~lib/builtins/i64.atomic.rmw.or"; + const i32_atomic_rmw8_xor_u = "~lib/builtins/i32.atomic.rmw8.xor_u"; + const i32_atomic_rmw16_xor_u = "~lib/builtins/i32.atomic.rmw16.xor_u"; + const i32_atomic_rmw_xor = "~lib/builtins/i32.atomic.rmw.xor"; + const i64_atomic_rmw8_xor_u = "~lib/builtins/i64.atomic.rmw8.xor_u"; + const i64_atomic_rmw16_xor_u = "~lib/builtins/i64.atomic.rmw16.xor_u"; + const i64_atomic_rmw32_xor_u = "~lib/builtins/i64.atomic.rmw32.xor_u"; + const i64_atomic_rmw_xor = "~lib/builtins/i64.atomic.rmw.xor"; + const i32_atomic_rmw8_xchg_u = "~lib/builtins/i32.atomic.rmw8.xchg_u"; + const i32_atomic_rmw16_xchg_u = "~lib/builtins/i32.atomic.rmw16.xchg_u"; + const i32_atomic_rmw_xchg = "~lib/builtins/i32.atomic.rmw.xchg"; + const i64_atomic_rmw8_xchg_u = "~lib/builtins/i64.atomic.rmw8.xchg_u"; + const i64_atomic_rmw16_xchg_u = "~lib/builtins/i64.atomic.rmw16.xchg_u"; + const i64_atomic_rmw32_xchg_u = "~lib/builtins/i64.atomic.rmw32.xchg_u"; + const i64_atomic_rmw_xchg = "~lib/builtins/i64.atomic.rmw.xchg"; + const i32_atomic_rmw8_cmpxchg_u = "~lib/builtins/i32.atomic.rmw8.cmpxchg_u"; + const i32_atomic_rmw16_cmpxchg_u = "~lib/builtins/i32.atomic.rmw16.cmpxchg_u"; + const i32_atomic_rmw_cmpxchg = "~lib/builtins/i32.atomic.rmw.cmpxchg"; + const i64_atomic_rmw8_cmpxchg_u = "~lib/builtins/i64.atomic.rmw8.cmpxchg_u"; + const i64_atomic_rmw16_cmpxchg_u = "~lib/builtins/i64.atomic.rmw16.cmpxchg_u"; + const i64_atomic_rmw32_cmpxchg_u = "~lib/builtins/i64.atomic.rmw32.cmpxchg_u"; + const i64_atomic_rmw_cmpxchg = "~lib/builtins/i64.atomic.rmw.cmpxchg"; + const memory_atomic_wait32 = "~lib/memory/memory.atomic.wait32"; + const memory_atomic_wait64 = "~lib/memory/memory.atomic.wait64"; + const v128_splat = "~lib/builtins/v128.splat"; + const v128_extract_lane = "~lib/builtins/v128.extract_lane"; + const v128_replace_lane = "~lib/builtins/v128.replace_lane"; + const v128_shuffle = "~lib/builtins/v128.shuffle"; + const v128_swizzle = "~lib/builtins/v128.swizzle"; + const v128_load_splat = "~lib/builtins/v128.load_splat"; + const v128_load_ext = "~lib/builtins/v128.load_ext"; + const v128_load_zero = "~lib/builtins/v128.load_zero"; + const v128_load_lane = "~lib/builtins/v128.load_lane"; + const v128_store_lane = "~lib/builtins/v128.store_lane"; + const v128_load = "~lib/builtins/v128.load"; + const v128_load8x8_s = "~lib/builtins/v128.load8x8_s"; + const v128_load8x8_u = "~lib/builtins/v128.load8x8_u"; + const v128_load16x4_s = "~lib/builtins/v128.load16x4_s"; + const v128_load16x4_u = "~lib/builtins/v128.load16x4_u"; + const v128_load32x2_s = "~lib/builtins/v128.load32x2_s"; + const v128_load32x2_u = "~lib/builtins/v128.load32x2_u"; + const v128_load8_splat = "~lib/builtins/v128.load8_splat"; + const v128_load16_splat = "~lib/builtins/v128.load16_splat"; + const v128_load32_splat = "~lib/builtins/v128.load32_splat"; + const v128_load64_splat = "~lib/builtins/v128.load64_splat"; + const v128_load32_zero = "~lib/builtins/v128.load32_zero"; + const v128_load64_zero = "~lib/builtins/v128.load64_zero"; + const v128_load8_lane = "~lib/builtins/v128.load8_lane"; + const v128_load16_lane = "~lib/builtins/v128.load16_lane"; + const v128_load32_lane = "~lib/builtins/v128.load32_lane"; + const v128_load64_lane = "~lib/builtins/v128.load64_lane"; + const v128_store8_lane = "~lib/builtins/v128.store8_lane"; + const v128_store16_lane = "~lib/builtins/v128.store16_lane"; + const v128_store32_lane = "~lib/builtins/v128.store32_lane"; + const v128_store64_lane = "~lib/builtins/v128.store64_lane"; + const v128_store = "~lib/builtins/v128.store"; + const v128_add = "~lib/builtins/v128.add"; + const v128_sub = "~lib/builtins/v128.sub"; + const v128_mul = "~lib/builtins/v128.mul"; + const v128_div = "~lib/builtins/v128.div"; + const v128_neg = "~lib/builtins/v128.neg"; + const v128_add_sat = "~lib/builtins/v128.add_sat"; + const v128_sub_sat = "~lib/builtins/v128.sub_sat"; + const v128_shl = "~lib/builtins/v128.shl"; + const v128_shr = "~lib/builtins/v128.shr"; + const v128_and = "~lib/builtins/v128.and"; + const v128_or = "~lib/builtins/v128.or"; + const v128_xor = "~lib/builtins/v128.xor"; + const v128_andnot = "~lib/builtins/v128.andnot"; + const v128_not = "~lib/builtins/v128.not"; + const v128_bitselect = "~lib/builtins/v128.bitselect"; + const v128_any_true = "~lib/builtins/v128.any_true"; + const v128_all_true = "~lib/builtins/v128.all_true"; + const v128_bitmask = "~lib/builtins/v128.bitmask"; + const v128_popcnt = "~lib/builtins/v128.popcnt"; + const v128_min = "~lib/builtins/v128.min"; + const v128_max = "~lib/builtins/v128.max"; + const v128_pmin = "~lib/builtins/v128.pmin"; + const v128_pmax = "~lib/builtins/v128.pmax"; + const v128_dot = "~lib/builtins/v128.dot"; + const v128_avgr = "~lib/builtins/v128.avgr"; + const v128_abs = "~lib/builtins/v128.abs"; + const v128_sqrt = "~lib/builtins/v128.sqrt"; + const v128_ceil = "~lib/builtins/v128.ceil"; + const v128_floor = "~lib/builtins/v128.floor"; + const v128_trunc = "~lib/builtins/v128.trunc"; + const v128_nearest = "~lib/builtins/v128.nearest"; + const v128_eq = "~lib/builtins/v128.eq"; + const v128_ne = "~lib/builtins/v128.ne"; + const v128_lt = "~lib/builtins/v128.lt"; + const v128_le = "~lib/builtins/v128.le"; + const v128_gt = "~lib/builtins/v128.gt"; + const v128_ge = "~lib/builtins/v128.ge"; + const v128_convert = "~lib/builtins/v128.convert"; + const v128_convert_low = "~lib/builtins/v128.convert_low"; + const v128_trunc_sat = "~lib/builtins/v128.trunc_sat"; + const v128_trunc_sat_zero = "~lib/builtins/v128.trunc_sat_zero"; + const v128_narrow = "~lib/builtins/v128.narrow"; + const v128_extend_low = "~lib/builtins/v128.extend_low"; + const v128_extend_high = "~lib/builtins/v128.extend_high"; + const v128_extadd_pairwise = "~lib/builtins/v128.extadd_pairwise"; + const v128_demote_zero = "~lib/builtins/v128.demote_zero"; + const v128_promote_low = "~lib/builtins/v128.promote_low"; + const v128_q15mulr_sat = "~lib/builtins/v128.q15mulr_sat"; + const v128_extmul_low = "~lib/builtins/v128.extmul_low"; + const v128_extmul_high = "~lib/builtins/v128.extmul_high"; + const v128_relaxed_swizzle = "~lib/builtins/v128.relaxed_swizzle"; + const v128_relaxed_trunc = "~lib/builtins/v128.relaxed_trunc"; + const v128_relaxed_trunc_zero = "~lib/builtins/v128.relaxed_trunc_zero"; + const v128_relaxed_madd = "~lib/builtins/v128.relaxed_madd"; + const v128_relaxed_nmadd = "~lib/builtins/v128.relaxed_nmadd"; + const v128_relaxed_laneselect = "~lib/builtins/v128.relaxed_laneselect"; + const v128_relaxed_min = "~lib/builtins/v128.relaxed_min"; + const v128_relaxed_max = "~lib/builtins/v128.relaxed_max"; + const v128_relaxed_q15mulr = "~lib/builtins/v128.relaxed_q15mulr"; + const v128_relaxed_dot = "~lib/builtins/v128.relaxed_dot"; + const v128_relaxed_dot_add = "~lib/builtins/v128.relaxed_dot_add"; + const i8x16 = "~lib/builtins/i8x16"; + const i16x8 = "~lib/builtins/i16x8"; + const i32x4 = "~lib/builtins/i32x4"; + const i64x2 = "~lib/builtins/i64x2"; + const f32x4 = "~lib/builtins/f32x4"; + const f64x2 = "~lib/builtins/f64x2"; + const i8x16_splat = "~lib/builtins/i8x16.splat"; + const i8x16_extract_lane_s = "~lib/builtins/i8x16.extract_lane_s"; + const i8x16_extract_lane_u = "~lib/builtins/i8x16.extract_lane_u"; + const i8x16_replace_lane = "~lib/builtins/i8x16.replace_lane"; + const i8x16_add = "~lib/builtins/i8x16.add"; + const i8x16_sub = "~lib/builtins/i8x16.sub"; + const i8x16_mul = "~lib/builtins/i8x16.mul"; + const i8x16_min_s = "~lib/builtins/i8x16.min_s"; + const i8x16_min_u = "~lib/builtins/i8x16.min_u"; + const i8x16_max_s = "~lib/builtins/i8x16.max_s"; + const i8x16_max_u = "~lib/builtins/i8x16.max_u"; + const i8x16_avgr_u = "~lib/builtins/i8x16.avgr_u"; + const i8x16_abs = "~lib/builtins/i8x16.abs"; + const i8x16_neg = "~lib/builtins/i8x16.neg"; + const i8x16_add_sat_s = "~lib/builtins/i8x16.add_sat_s"; + const i8x16_add_sat_u = "~lib/builtins/i8x16.add_sat_u"; + const i8x16_sub_sat_s = "~lib/builtins/i8x16.sub_sat_s"; + const i8x16_sub_sat_u = "~lib/builtins/i8x16.sub_sat_u"; + const i8x16_shl = "~lib/builtins/i8x16.shl"; + const i8x16_shr_s = "~lib/builtins/i8x16.shr_s"; + const i8x16_shr_u = "~lib/builtins/i8x16.shr_u"; + const i8x16_all_true = "~lib/builtins/i8x16.all_true"; + const i8x16_bitmask = "~lib/builtins/i8x16.bitmask"; + const i8x16_popcnt = "~lib/builtins/i8x16.popcnt"; + const i8x16_eq = "~lib/builtins/i8x16.eq"; + const i8x16_ne = "~lib/builtins/i8x16.ne"; + const i8x16_lt_s = "~lib/builtins/i8x16.lt_s"; + const i8x16_lt_u = "~lib/builtins/i8x16.lt_u"; + const i8x16_le_s = "~lib/builtins/i8x16.le_s"; + const i8x16_le_u = "~lib/builtins/i8x16.le_u"; + const i8x16_gt_s = "~lib/builtins/i8x16.gt_s"; + const i8x16_gt_u = "~lib/builtins/i8x16.gt_u"; + const i8x16_ge_s = "~lib/builtins/i8x16.ge_s"; + const i8x16_ge_u = "~lib/builtins/i8x16.ge_u"; + const i8x16_narrow_i16x8_s = "~lib/builtins/i8x16.narrow_i16x8_s"; + const i8x16_narrow_i16x8_u = "~lib/builtins/i8x16.narrow_i16x8_u"; + const i8x16_shuffle = "~lib/builtins/i8x16.shuffle"; + const i8x16_swizzle = "~lib/builtins/i8x16.swizzle"; + const i16x8_splat = "~lib/builtins/i16x8.splat"; + const i16x8_extract_lane_s = "~lib/builtins/i16x8.extract_lane_s"; + const i16x8_extract_lane_u = "~lib/builtins/i16x8.extract_lane_u"; + const i16x8_replace_lane = "~lib/builtins/i16x8.replace_lane"; + const i16x8_add = "~lib/builtins/i16x8.add"; + const i16x8_sub = "~lib/builtins/i16x8.sub"; + const i16x8_mul = "~lib/builtins/i16x8.mul"; + const i16x8_min_s = "~lib/builtins/i16x8.min_s"; + const i16x8_min_u = "~lib/builtins/i16x8.min_u"; + const i16x8_max_s = "~lib/builtins/i16x8.max_s"; + const i16x8_max_u = "~lib/builtins/i16x8.max_u"; + const i16x8_avgr_u = "~lib/builtins/i16x8.avgr_u"; + const i16x8_abs = "~lib/builtins/i16x8.abs"; + const i16x8_neg = "~lib/builtins/i16x8.neg"; + const i16x8_add_sat_s = "~lib/builtins/i16x8.add_sat_s"; + const i16x8_add_sat_u = "~lib/builtins/i16x8.add_sat_u"; + const i16x8_sub_sat_s = "~lib/builtins/i16x8.sub_sat_s"; + const i16x8_sub_sat_u = "~lib/builtins/i16x8.sub_sat_u"; + const i16x8_shl = "~lib/builtins/i16x8.shl"; + const i16x8_shr_s = "~lib/builtins/i16x8.shr_s"; + const i16x8_shr_u = "~lib/builtins/i16x8.shr_u"; + const i16x8_all_true = "~lib/builtins/i16x8.all_true"; + const i16x8_bitmask = "~lib/builtins/i16x8.bitmask"; + const i16x8_eq = "~lib/builtins/i16x8.eq"; + const i16x8_ne = "~lib/builtins/i16x8.ne"; + const i16x8_lt_s = "~lib/builtins/i16x8.lt_s"; + const i16x8_lt_u = "~lib/builtins/i16x8.lt_u"; + const i16x8_le_s = "~lib/builtins/i16x8.le_s"; + const i16x8_le_u = "~lib/builtins/i16x8.le_u"; + const i16x8_gt_s = "~lib/builtins/i16x8.gt_s"; + const i16x8_gt_u = "~lib/builtins/i16x8.gt_u"; + const i16x8_ge_s = "~lib/builtins/i16x8.ge_s"; + const i16x8_ge_u = "~lib/builtins/i16x8.ge_u"; + const i16x8_narrow_i32x4_s = "~lib/builtins/i16x8.narrow_i32x4_s"; + const i16x8_narrow_i32x4_u = "~lib/builtins/i16x8.narrow_i32x4_u"; + const i16x8_extend_low_i8x16_s = "~lib/builtins/i16x8.extend_low_i8x16_s"; + const i16x8_extend_low_i8x16_u = "~lib/builtins/i16x8.extend_low_i8x16_u"; + const i16x8_extend_high_i8x16_s = "~lib/builtins/i16x8.extend_high_i8x16_s"; + const i16x8_extend_high_i8x16_u = "~lib/builtins/i16x8.extend_high_i8x16_u"; + const i16x8_extadd_pairwise_i8x16_s = "~lib/builtins/i16x8.extadd_pairwise_i8x16_s"; + const i16x8_extadd_pairwise_i8x16_u = "~lib/builtins/i16x8.extadd_pairwise_i8x16_u"; + const i16x8_q15mulr_sat_s = "~lib/builtins/i16x8.q15mulr_sat_s"; + const i16x8_extmul_low_i8x16_s = "~lib/builtins/i16x8.extmul_low_i8x16_s"; + const i16x8_extmul_low_i8x16_u = "~lib/builtins/i16x8.extmul_low_i8x16_u"; + const i16x8_extmul_high_i8x16_s = "~lib/builtins/i16x8.extmul_high_i8x16_s"; + const i16x8_extmul_high_i8x16_u = "~lib/builtins/i16x8.extmul_high_i8x16_u"; + const i16x8_shuffle = "~lib/builtins/i16x8.shuffle"; + const i32x4_splat = "~lib/builtins/i32x4.splat"; + const i32x4_extract_lane = "~lib/builtins/i32x4.extract_lane"; + const i32x4_replace_lane = "~lib/builtins/i32x4.replace_lane"; + const i32x4_add = "~lib/builtins/i32x4.add"; + const i32x4_sub = "~lib/builtins/i32x4.sub"; + const i32x4_mul = "~lib/builtins/i32x4.mul"; + const i32x4_min_s = "~lib/builtins/i32x4.min_s"; + const i32x4_min_u = "~lib/builtins/i32x4.min_u"; + const i32x4_max_s = "~lib/builtins/i32x4.max_s"; + const i32x4_max_u = "~lib/builtins/i32x4.max_u"; + const i32x4_dot_i16x8_s = "~lib/builtins/i32x4.dot_i16x8_s"; + const i32x4_abs = "~lib/builtins/i32x4.abs"; + const i32x4_neg = "~lib/builtins/i32x4.neg"; + const i32x4_shl = "~lib/builtins/i32x4.shl"; + const i32x4_shr_s = "~lib/builtins/i32x4.shr_s"; + const i32x4_shr_u = "~lib/builtins/i32x4.shr_u"; + const i32x4_all_true = "~lib/builtins/i32x4.all_true"; + const i32x4_bitmask = "~lib/builtins/i32x4.bitmask"; + const i32x4_eq = "~lib/builtins/i32x4.eq"; + const i32x4_ne = "~lib/builtins/i32x4.ne"; + const i32x4_lt_s = "~lib/builtins/i32x4.lt_s"; + const i32x4_lt_u = "~lib/builtins/i32x4.lt_u"; + const i32x4_le_s = "~lib/builtins/i32x4.le_s"; + const i32x4_le_u = "~lib/builtins/i32x4.le_u"; + const i32x4_gt_s = "~lib/builtins/i32x4.gt_s"; + const i32x4_gt_u = "~lib/builtins/i32x4.gt_u"; + const i32x4_ge_s = "~lib/builtins/i32x4.ge_s"; + const i32x4_ge_u = "~lib/builtins/i32x4.ge_u"; + const i32x4_trunc_sat_f32x4_s = "~lib/builtins/i32x4.trunc_sat_f32x4_s"; + const i32x4_trunc_sat_f32x4_u = "~lib/builtins/i32x4.trunc_sat_f32x4_u"; + const i32x4_trunc_sat_f64x2_s_zero = "~lib/builtins/i32x4.trunc_sat_f64x2_s_zero"; + const i32x4_trunc_sat_f64x2_u_zero = "~lib/builtins/i32x4.trunc_sat_f64x2_u_zero"; + const i32x4_extend_low_i16x8_s = "~lib/builtins/i32x4.extend_low_i16x8_s"; + const i32x4_extend_low_i16x8_u = "~lib/builtins/i32x4.extend_low_i16x8_u"; + const i32x4_extend_high_i16x8_s = "~lib/builtins/i32x4.extend_high_i16x8_s"; + const i32x4_extend_high_i16x8_u = "~lib/builtins/i32x4.extend_high_i16x8_u"; + const i32x4_extadd_pairwise_i16x8_s = "~lib/builtins/i32x4.extadd_pairwise_i16x8_s"; + const i32x4_extadd_pairwise_i16x8_u = "~lib/builtins/i32x4.extadd_pairwise_i16x8_u"; + const i32x4_extmul_low_i16x8_s = "~lib/builtins/i32x4.extmul_low_i16x8_s"; + const i32x4_extmul_low_i16x8_u = "~lib/builtins/i32x4.extmul_low_i16x8_u"; + const i32x4_extmul_high_i16x8_s = "~lib/builtins/i32x4.extmul_high_i16x8_s"; + const i32x4_extmul_high_i16x8_u = "~lib/builtins/i32x4.extmul_high_i16x8_u"; + const i32x4_shuffle = "~lib/builtins/i32x4.shuffle"; + const i64x2_splat = "~lib/builtins/i64x2.splat"; + const i64x2_extract_lane = "~lib/builtins/i64x2.extract_lane"; + const i64x2_replace_lane = "~lib/builtins/i64x2.replace_lane"; + const i64x2_add = "~lib/builtins/i64x2.add"; + const i64x2_sub = "~lib/builtins/i64x2.sub"; + const i64x2_mul = "~lib/builtins/i64x2.mul"; + const i64x2_abs = "~lib/builtins/i64x2.abs"; + const i64x2_neg = "~lib/builtins/i64x2.neg"; + const i64x2_shl = "~lib/builtins/i64x2.shl"; + const i64x2_shr_s = "~lib/builtins/i64x2.shr_s"; + const i64x2_shr_u = "~lib/builtins/i64x2.shr_u"; + const i64x2_all_true = "~lib/builtins/i64x2.all_true"; + const i64x2_bitmask = "~lib/builtins/i64x2.bitmask"; + const i64x2_eq = "~lib/builtins/i64x2.eq"; + const i64x2_ne = "~lib/builtins/i64x2.ne"; + const i64x2_lt_s = "~lib/builtins/i64x2.lt_s"; + const i64x2_lt_u = "~lib/builtins/i64x2.lt_u"; + const i64x2_le_s = "~lib/builtins/i64x2.le_s"; + const i64x2_le_u = "~lib/builtins/i64x2.le_u"; + const i64x2_gt_s = "~lib/builtins/i64x2.gt_s"; + const i64x2_gt_u = "~lib/builtins/i64x2.gt_u"; + const i64x2_ge_s = "~lib/builtins/i64x2.ge_s"; + const i64x2_ge_u = "~lib/builtins/i64x2.ge_u"; + const i64x2_extend_low_i32x4_s = "~lib/builtins/i64x2.extend_low_i32x4_s"; + const i64x2_extend_low_i32x4_u = "~lib/builtins/i64x2.extend_low_i32x4_u"; + const i64x2_extend_high_i32x4_s = "~lib/builtins/i64x2.extend_high_i32x4_s"; + const i64x2_extend_high_i32x4_u = "~lib/builtins/i64x2.extend_high_i32x4_u"; + const i64x2_extmul_low_i32x4_s = "~lib/builtins/i64x2.extmul_low_i32x4_s"; + const i64x2_extmul_low_i32x4_u = "~lib/builtins/i64x2.extmul_low_i32x4_u"; + const i64x2_extmul_high_i32x4_s = "~lib/builtins/i64x2.extmul_high_i32x4_s"; + const i64x2_extmul_high_i32x4_u = "~lib/builtins/i64x2.extmul_high_i32x4_u"; + const i64x2_shuffle = "~lib/builtins/i64x2.shuffle"; + const f32x4_splat = "~lib/builtins/f32x4.splat"; + const f32x4_extract_lane = "~lib/builtins/f32x4.extract_lane"; + const f32x4_replace_lane = "~lib/builtins/f32x4.replace_lane"; + const f32x4_add = "~lib/builtins/f32x4.add"; + const f32x4_sub = "~lib/builtins/f32x4.sub"; + const f32x4_mul = "~lib/builtins/f32x4.mul"; + const f32x4_div = "~lib/builtins/f32x4.div"; + const f32x4_neg = "~lib/builtins/f32x4.neg"; + const f32x4_min = "~lib/builtins/f32x4.min"; + const f32x4_max = "~lib/builtins/f32x4.max"; + const f32x4_pmin = "~lib/builtins/f32x4.pmin"; + const f32x4_pmax = "~lib/builtins/f32x4.pmax"; + const f32x4_abs = "~lib/builtins/f32x4.abs"; + const f32x4_sqrt = "~lib/builtins/f32x4.sqrt"; + const f32x4_ceil = "~lib/builtins/f32x4.ceil"; + const f32x4_floor = "~lib/builtins/f32x4.floor"; + const f32x4_trunc = "~lib/builtins/f32x4.trunc"; + const f32x4_nearest = "~lib/builtins/f32x4.nearest"; + const f32x4_eq = "~lib/builtins/f32x4.eq"; + const f32x4_ne = "~lib/builtins/f32x4.ne"; + const f32x4_lt = "~lib/builtins/f32x4.lt"; + const f32x4_le = "~lib/builtins/f32x4.le"; + const f32x4_gt = "~lib/builtins/f32x4.gt"; + const f32x4_ge = "~lib/builtins/f32x4.ge"; + const f32x4_convert_i32x4_s = "~lib/builtins/f32x4.convert_i32x4_s"; + const f32x4_convert_i32x4_u = "~lib/builtins/f32x4.convert_i32x4_u"; + const f32x4_demote_f64x2_zero = "~lib/builtins/f32x4.demote_f64x2_zero"; + const f32x4_shuffle = "~lib/builtins/f32x4.shuffle"; + const f64x2_splat = "~lib/builtins/f64x2.splat"; + const f64x2_extract_lane = "~lib/builtins/f64x2.extract_lane"; + const f64x2_replace_lane = "~lib/builtins/f64x2.replace_lane"; + const f64x2_add = "~lib/builtins/f64x2.add"; + const f64x2_sub = "~lib/builtins/f64x2.sub"; + const f64x2_mul = "~lib/builtins/f64x2.mul"; + const f64x2_div = "~lib/builtins/f64x2.div"; + const f64x2_neg = "~lib/builtins/f64x2.neg"; + const f64x2_min = "~lib/builtins/f64x2.min"; + const f64x2_max = "~lib/builtins/f64x2.max"; + const f64x2_pmin = "~lib/builtins/f64x2.pmin"; + const f64x2_pmax = "~lib/builtins/f64x2.pmax"; + const f64x2_abs = "~lib/builtins/f64x2.abs"; + const f64x2_sqrt = "~lib/builtins/f64x2.sqrt"; + const f64x2_ceil = "~lib/builtins/f64x2.ceil"; + const f64x2_floor = "~lib/builtins/f64x2.floor"; + const f64x2_trunc = "~lib/builtins/f64x2.trunc"; + const f64x2_nearest = "~lib/builtins/f64x2.nearest"; + const f64x2_eq = "~lib/builtins/f64x2.eq"; + const f64x2_ne = "~lib/builtins/f64x2.ne"; + const f64x2_lt = "~lib/builtins/f64x2.lt"; + const f64x2_le = "~lib/builtins/f64x2.le"; + const f64x2_gt = "~lib/builtins/f64x2.gt"; + const f64x2_ge = "~lib/builtins/f64x2.ge"; + const f64x2_convert_low_i32x4_s = "~lib/builtins/f64x2.convert_low_i32x4_s"; + const f64x2_convert_low_i32x4_u = "~lib/builtins/f64x2.convert_low_i32x4_u"; + const f64x2_promote_low_f32x4 = "~lib/builtins/f64x2.promote_low_f32x4"; + const f64x2_shuffle = "~lib/builtins/f64x2.shuffle"; + const i8x16_relaxed_swizzle = "~lib/builtins/i8x16.relaxed_swizzle"; + const i32x4_relaxed_trunc_f32x4_s = "~lib/builtins/i32x4.relaxed_trunc_f32x4_s"; + const i32x4_relaxed_trunc_f32x4_u = "~lib/builtins/i32x4.relaxed_trunc_f32x4_u"; + const i32x4_relaxed_trunc_f64x2_s_zero = "~lib/builtins/i32x4.relaxed_trunc_f64x2_s_zero"; + const i32x4_relaxed_trunc_f64x2_u_zero = "~lib/builtins/i32x4.relaxed_trunc_f64x2_u_zero"; + const f32x4_relaxed_madd = "~lib/builtins/f32x4.relaxed_madd"; + const f32x4_relaxed_nmadd = "~lib/builtins/f32x4.relaxed_nmadd"; + const f64x2_relaxed_madd = "~lib/builtins/f64x2.relaxed_madd"; + const f64x2_relaxed_nmadd = "~lib/builtins/f64x2.relaxed_nmadd"; + const i8x16_relaxed_laneselect = "~lib/builtins/i8x16.relaxed_laneselect"; + const i16x8_relaxed_laneselect = "~lib/builtins/i16x8.relaxed_laneselect"; + const i32x4_relaxed_laneselect = "~lib/builtins/i32x4.relaxed_laneselect"; + const i64x2_relaxed_laneselect = "~lib/builtins/i64x2.relaxed_laneselect"; + const f32x4_relaxed_min = "~lib/builtins/f32x4.relaxed_min"; + const f32x4_relaxed_max = "~lib/builtins/f32x4.relaxed_max"; + const f64x2_relaxed_min = "~lib/builtins/f64x2.relaxed_min"; + const f64x2_relaxed_max = "~lib/builtins/f64x2.relaxed_max"; + const i16x8_relaxed_q15mulr_s = "~lib/builtins/i16x8.relaxed_q15mulr_s"; + const i16x8_relaxed_dot_i8x16_i7x16_s = "~lib/builtins/i16x8.relaxed_dot_i8x16_i7x16_s"; + const i32x4_relaxed_dot_i8x16_i7x16_add_s = "~lib/builtins/i32x4.relaxed_dot_i8x16_i7x16_add_s"; + const i31_new = "~lib/builtins/i31.new"; + const i31_get = "~lib/builtins/i31.get"; + const data_end = "~lib/memory/__data_end"; + const stack_pointer = "~lib/memory/__stack_pointer"; + const heap_base = "~lib/memory/__heap_base"; + const rtti_base = "~lib/rt/__rtti_base"; + const visit_globals = "~lib/rt/__visit_globals"; + const visit_members = "~lib/rt/__visit_members"; + const tostack = "~lib/rt/__tostack"; + const NaN = "~lib/number/NaN"; + const Infinity = "~lib/number/Infinity"; + const isNaN = "~lib/number/isNaN"; + const isFinite = "~lib/number/isFinite"; + const ERROR = "~lib/diagnostics/ERROR"; + const WARNING = "~lib/diagnostics/WARNING"; + const INFO = "~lib/diagnostics/INFO"; + const Function = "~lib/function/Function"; + const Function_call = "~lib/function/Function#call"; + const memory_size = "~lib/memory/memory.size"; + const memory_grow = "~lib/memory/memory.grow"; + const memory_copy = "~lib/memory/memory.copy"; + const memory_fill = "~lib/memory/memory.fill"; + const memory_data = "~lib/memory/memory.data"; + const Int8Array = "~lib/typedarray/Int8Array"; + const Uint8Array = "~lib/typedarray/Uint8Array"; + const Uint8ClampedArray = "~lib/typedarray/Uint8ClampedArray"; + const Int16Array = "~lib/typedarray/Int16Array"; + const Uint16Array = "~lib/typedarray/Uint16Array"; + const Int32Array = "~lib/typedarray/Int32Array"; + const Uint32Array = "~lib/typedarray/Uint32Array"; + const Int64Array = "~lib/typedarray/Int64Array"; + const Uint64Array = "~lib/typedarray/Uint64Array"; + const Float32Array = "~lib/typedarray/Float32Array"; + const Float64Array = "~lib/typedarray/Float64Array"; + const String_raw = "~lib/string/String.raw"; + const String_eq = "~lib/string/String.__eq"; + const String_ne = "~lib/string/String.__ne"; + const String_not = "~lib/string/String.__not"; + const Object = "~lib/object/Object"; + } + /** Builtin variable compilation context. */ + export class BuiltinVariableContext { + /** Compiler reference. */ + compiler: Compiler; + /** Variable being accessed. */ + element: VariableLikeElement; + /** Contextual type. */ + contextualType: Type; + /** Respective report expression. */ + reportNode: IdentifierExpression; + constructor( + /** Compiler reference. */ + compiler: Compiler, + /** Variable being accessed. */ + element: VariableLikeElement, + /** Contextual type. */ + contextualType?: Type, + /** Respective report expression. */ + reportNode?: IdentifierExpression); + } + /** Builtin function compilation context. */ + export class BuiltinFunctionContext { + /** Compiler reference. */ + compiler: Compiler; + /** Prototype being called. */ + prototype: FunctionPrototype; + /** Provided type arguments. */ + typeArguments: Type[] | null; + /** Provided operands. */ + operands: Expression[]; + /** Provided this operand, if any. */ + thisOperand: Expression | null; + /** Contextual type. */ + contextualType: Type; + /** Respective call expression. */ + reportNode: CallExpression; + /** Whether originating from inline assembly. */ + contextIsExact: boolean; + constructor( + /** Compiler reference. */ + compiler: Compiler, + /** Prototype being called. */ + prototype: FunctionPrototype, + /** Provided type arguments. */ + typeArguments: Type[] | null, + /** Provided operands. */ + operands: Expression[], + /** Provided this operand, if any. */ + thisOperand: Expression | null, + /** Contextual type. */ + contextualType: Type, + /** Respective call expression. */ + reportNode: CallExpression, + /** Whether originating from inline assembly. */ + contextIsExact: boolean); + } + /** Builtin functions map. */ + export const builtinFunctions: Map ExpressionRef>; + /** Builtin variables map. */ + export const builtinVariables_onCompile: Map void>; + export const builtinVariables_onAccess: Map ExpressionRef>; + /** Compiles the `visit_globals` function. */ + export function compileVisitGlobals(compiler: Compiler): void; + /** Compiles the `__visit_members` function. */ + export function compileVisitMembers(compiler: Compiler): void; + /** Compiles runtime type information for use by stdlib. */ + export function compileRTTI(compiler: Compiler): void; +} +declare module "types:assemblyscript/src/module" { + /** + * @fileoverview A thin wrapper around Binaryen's C-API. + * + * The AssemblyScript compiler utilizes Binaryen's C-API directly. Even + * though it currently imports binaryen.js, none of the JS APIs it + * provides are used. + * + * @license Apache-2.0 + */ + import { Target } from "types:assemblyscript/src/common"; + import { Type } from "types:assemblyscript/src/types"; + import * as binaryen from "types:assemblyscript/src/glue/binaryen"; + /** A Binaryen-compatible index. */ + export type Index = binaryen.Index; + /** Reference to a Binaryen-compatible string. */ + export type StringRef = binaryen.StringRef; + /** Reference to a Binaryen module. */ + export type ModuleRef = binaryen.ModuleRef; + /** Reference to a Binaryen function. */ + export type FunctionRef = binaryen.FunctionRef; + /** Reference to a Binaryen expression. */ + export type ExpressionRef = binaryen.ExpressionRef; + /** Reference to a Binaryen global. */ + export type GlobalRef = binaryen.GlobalRef; + /** Reference to a Binaryen tag. */ + export type TagRef = binaryen.TagRef; + /** Reference to a Binaryen import. */ + export type ImportRef = binaryen.ImportRef; + /** Reference to a Binaryen export. */ + export type ExportRef = binaryen.ExportRef; + /** Reference to a Binaryen relooper. */ + export type RelooperRef = binaryen.RelooperRef; + /** Reference to a Binaryen relooper block. */ + export type RelooperBlockRef = binaryen.RelooperBlockRef; + /** Reference to a Binaryen type. */ + export type TypeRef = binaryen.TypeRef; + export namespace TypeRef { + const None: TypeRef; + const Unreachable: TypeRef; + const I32: TypeRef; + const I64: TypeRef; + const F32: TypeRef; + const F64: TypeRef; + const V128: TypeRef; + const Funcref: number; + const Externref: number; + const Anyref: number; + const Eqref: number; + const Structref: number; + const Arrayref: number; + const I31ref: number; + const Stringref: number; + const StringviewWTF8: number; + const StringviewWTF16: number; + const StringviewIter: number; + const Noneref: number; + const Nofuncref: number; + const Noexternref: number; + } + /** Reference to a Binaryen heap type. */ + export type HeapTypeRef = binaryen.HeapTypeRef; + export namespace HeapTypeRef { + const Extern: HeapTypeRef; + const Func: HeapTypeRef; + const Any: HeapTypeRef; + const Eq: HeapTypeRef; + const I31: HeapTypeRef; + const Struct: HeapTypeRef; + const Array: HeapTypeRef; + const Exn: HeapTypeRef; + const String: HeapTypeRef; + const StringviewWTF8: HeapTypeRef; + const StringviewWTF16: HeapTypeRef; + const StringviewIter: HeapTypeRef; + const None: HeapTypeRef; + const Noextern: HeapTypeRef; + const Nofunc: HeapTypeRef; + function isBottom(ht: HeapTypeRef): boolean; + function getBottom(ht: HeapTypeRef): HeapTypeRef; + function isSubtype(ht: HeapTypeRef, superHt: HeapTypeRef): boolean; + function leastUpperBound(a: HeapTypeRef, b: HeapTypeRef): HeapTypeRef; + } + /** Packed array element respectively struct field types. */ + export type PackedType = binaryen.PackedType; + export namespace PackedType { + const NotPacked: PackedType; + const I8: PackedType; + const I16: PackedType; + } + /** Type builder error reasons. */ + export type TypeBuilderErrorReason = binaryen.TypeBuilderErrorReason; + export namespace TypeBuilderErrorReason { + /** Indicates a cycle in the supertype relation. */ + const SelfSupertype: TypeBuilderErrorReason; + /** Indicates that the declared supertype of a type is invalid. */ + const InvalidSupertype: TypeBuilderErrorReason; + /** Indicates that the declared supertype is an invalid forward reference. */ + const ForwardSupertypeReference: TypeBuilderErrorReason; + /** Indicates that a child of a type is an invalid forward reference. */ + const ForwardChildReference: TypeBuilderErrorReason; + /** Converts a type builder error reason to a string. */ + function toString(reason: TypeBuilderErrorReason): string; + } + /** Binaryen feature constants. */ + export const enum FeatureFlags { + MVP = 0, + Atomics = 1, + MutableGlobals = 2, + TruncSat = 4, + SIMD = 8, + BulkMemory = 16, + SignExt = 32, + ExceptionHandling = 64, + TailCall = 128, + ReferenceTypes = 256, + MultiValue = 512, + GC = 1024, + Memory64 = 2048, + RelaxedSIMD = 4096, + ExtendedConst = 8192, + Stringref = 16384, + MultiMemory = 32768, + All = 131071 + } + /** Binaryen expression id constants. */ + export const enum ExpressionId { + Invalid = 0, + Block = 1, + If = 2, + Loop = 3, + Break = 4, + Switch = 5, + Call = 6, + CallIndirect = 7, + LocalGet = 8, + LocalSet = 9, + GlobalGet = 10, + GlobalSet = 11, + Load = 12, + Store = 13, + Const = 14, + Unary = 15, + Binary = 16, + Select = 17, + Drop = 18, + Return = 19, + MemorySize = 20, + MemoryGrow = 21, + Nop = 22, + Unreachable = 23, + AtomicRMW = 24, + AtomicCmpxchg = 25, + AtomicWait = 26, + AtomicNotify = 27, + AtomicFence = 28, + SIMDExtract = 29, + SIMDReplace = 30, + SIMDShuffle = 31, + SIMDTernary = 32, + SIMDShift = 33, + SIMDLoad = 34, + SIMDLoadStoreLane = 35, + MemoryInit = 36, + DataDrop = 37, + MemoryCopy = 38, + MemoryFill = 39, + Pop = 40, + RefNull = 41, + RefIsNull = 42, + RefFunc = 43, + RefEq = 44, + TableGet = 45, + TableSet = 46, + TableSize = 47, + TableGrow = 48, + TableFill = 49, + TableCopy = 50, + Try = 51, + TryTable = 52, + Throw = 53, + Rethrow = 54, + ThrowRef = 55, + TupleMake = 56, + TupleExtract = 57, + RefI31 = 58, + I31Get = 59, + CallRef = 60, + RefTest = 61, + RefCast = 62, + BrOn = 63, + StructNew = 64, + StructGet = 65, + StructSet = 66, + ArrayNew = 67, + ArrayNewData = 68, + ArrayNewElem = 69, + ArrayNewFixed = 70, + ArrayGet = 71, + ArraySet = 72, + ArrayLen = 73, + ArrayCopy = 74, + ArrayFill = 75, + ArrayInitData = 76, + ArrayInitElem = 77, + RefAs = 78, + StringNew = 79, + StringConst = 80, + StringMeasure = 81, + StringEncode = 82, + StringConcat = 83, + StringEq = 84, + StringAs = 85, + StringWTF8Advance = 86, + StringWTF16Get = 87, + StringIterNext = 88, + StringIterMove = 89, + StringSliceWTF = 90, + StringSliceIter = 91, + ResumeId = 92 + } + /** Binaryen external kind constants. */ + export const enum ExternalKind { + Function = 0, + Table = 1, + Memory = 2, + Global = 3, + Tag = 4 + } + /** Binaryen unary operation constants. */ + export const enum UnaryOp { + /** i32.clz */ + ClzI32 = 0, + /** i64.clz */ + ClzI64 = 1, + /** i32.ctz */ + CtzI32 = 2, + /** i64.ctz */ + CtzI64 = 3, + /** i32.popcnt */ + PopcntI32 = 4, + /** i64.popcnt */ + PopcntI64 = 5, + /** f32.neg */ + NegF32 = 6, + /** f64.neg */ + NegF64 = 7, + /** f32.abs */ + AbsF32 = 8, + /** f64.abs */ + AbsF64 = 9, + /** f32.ceil */ + CeilF32 = 10, + /** f64.ceil */ + CeilF64 = 11, + /** f32.floor */ + FloorF32 = 12, + /** f64.floor */ + FloorF64 = 13, + /** f32.trunc */ + TruncF32 = 14, + /** f64.trunc */ + TruncF64 = 15, + /** f32.nearest */ + NearestF32 = 16, + /** f64.nearest */ + NearestF64 = 17, + /** f32.sqrt */ + SqrtF32 = 18, + /** f64.sqrt */ + SqrtF64 = 19, + /** i32.eqz */ + EqzI32 = 20, + /** i64.eqz */ + EqzI64 = 21, + /** i64.extend_i32_s */ + ExtendI32ToI64 = 22, + /** i64.extend_i32_u */ + ExtendU32ToU64 = 23, + /** i32.wrap_i64 */ + WrapI64ToI32 = 24, + /** i32.trunc_f32_s */ + TruncF32ToI32 = 25, + /** i64.trunc_f32_s */ + TruncF32ToI64 = 26, + /** i32.trunc_f32_u */ + TruncF32ToU32 = 27, + /** i64.trunc_f32_u */ + TruncF32ToU64 = 28, + /** i32.trunc_f64_s */ + TruncF64ToI32 = 29, + /** i64.trunc_f64_s */ + TruncF64ToI64 = 30, + /** i32.trunc_f64_u */ + TruncF64ToU32 = 31, + /** i64.trunc_f64_u */ + TruncF64ToU64 = 32, + /** i32.reinterpret_f32 */ + ReinterpretF32ToI32 = 33, + /** i64.reinterpret_f64 */ + ReinterpretF64ToI64 = 34, + /** f32.convert_i32_s */ + ConvertI32ToF32 = 35, + /** f64.convert_i32_s */ + ConvertI32ToF64 = 36, + /** f32.convert_i32_u */ + ConvertU32ToF32 = 37, + /** f64.convert_i32_u */ + ConvertU32ToF64 = 38, + /** f32.convert_i64_s */ + ConvertI64ToF32 = 39, + /** f64.convert_i64_s */ + ConvertI64ToF64 = 40, + /** f32.convert_i64_u */ + ConvertU64ToF32 = 41, + /** f64.convert_i64_u */ + ConvertU64ToF64 = 42, + /** f64.promote.f32 */ + PromoteF32ToF64 = 43, + /** f32.demote_f64 */ + DemoteF64ToF32 = 44, + /** f32.reinterpret_i32 */ + ReinterpretI32ToF32 = 45, + /** f64.reinterpret_i64 */ + ReinterpretI64ToF64 = 46, + /** i32.extend8_s */ + Extend8I32 = 47, + /** i32.extend16_s */ + Extend16I32 = 48, + /** i64.extend8_s */ + Extend8I64 = 49, + /** i64.extend16_s */ + Extend16I64 = 50, + /** i64.extend32_s (i64 in, i64 out) */ + Extend32I64 = 51, + /** i32.trunc_sat_f32_s */ + TruncSatF32ToI32 = 52, + /** i32.trunc_sat_f32_u */ + TruncSatF32ToU32 = 53, + /** i32.trunc_sat_f64_s */ + TruncSatF64ToI32 = 54, + /** i32.trunc_sat_f64_u */ + TruncSatF64ToU32 = 55, + /** i64.trunc_sat_f32_s */ + TruncSatF32ToI64 = 56, + /** i64.trunc_sat_f32_u */ + TruncSatF32ToU64 = 57, + /** i64.trunc_sat_f64_s */ + TruncSatF64ToI64 = 58, + /** i64.trunc_sat_f64_u */ + TruncSatF64ToU64 = 59, + /** i8x16.splat */ + SplatI8x16 = 60, + /** i16x8.splat */ + SplatI16x8 = 61, + /** i32x4.splat */ + SplatI32x4 = 62, + /** i64x2.splat */ + SplatI64x2 = 63, + /** f32x4.splat */ + SplatF32x4 = 64, + /** f64x2.splat */ + SplatF64x2 = 65, + /** v128.not */ + NotV128 = 66, + /** v128.any_true */ + AnyTrueV128 = 67, + /** i8x16.abs */ + AbsI8x16 = 68, + /** i8x16.neg */ + NegI8x16 = 69, + /** i8x16.all_true */ + AllTrueI8x16 = 70, + /** i8x16.bitmask */ + BitmaskI8x16 = 71, + /** i8x16.popcnt */ + PopcntI8x16 = 72, + /** i16x8.abs */ + AbsI16x8 = 73, + /** i16x8.neg */ + NegI16x8 = 74, + /** i16x8.all_true */ + AllTrueI16x8 = 75, + /** i16x8.bitmask */ + BitmaskI16x8 = 76, + /** i32x4.abs */ + AbsI32x4 = 77, + /** i32x4.neg */ + NegI32x4 = 78, + /** i32x4.all_true */ + AllTrueI32x4 = 79, + /** i32x4.bitmask */ + BitmaskI32x4 = 80, + /** i64x2.abs */ + AbsI64x2 = 81, + /** i64x2.neg */ + NegI64x2 = 82, + /** i64x2.all_true */ + AllTrueI64x2 = 83, + /** i64x2.bitmask */ + BitmaskI64x2 = 84, + /** f32x4.abs */ + AbsF32x4 = 85, + /** f32x4.neg */ + NegF32x4 = 86, + /** f32x4.sqrt */ + SqrtF32x4 = 87, + /** f32x4.ceil */ + CeilF32x4 = 88, + /** f32x4.floor */ + FloorF32x4 = 89, + /** f32x4.trunc */ + TruncF32x4 = 90, + /** f32x4.nearest */ + NearestF32x4 = 91, + /** f64x2.abs */ + AbsF64x2 = 92, + /** f64x2.neg */ + NegF64x2 = 93, + /** f64x2.sqrt */ + SqrtF64x2 = 94, + /** f64x2.ceil */ + CeilF64x2 = 95, + /** f64x2.floor */ + FloorF64x2 = 96, + /** f64x2.trunc */ + TruncF64x2 = 97, + /** f64x2.nearest */ + NearestF64x2 = 98, + /** i16x8.extadd_pairwise_i8x16_s */ + ExtaddPairwiseI8x16ToI16x8 = 99, + /** i16x8.extadd_pairwise.i8x16_u */ + ExtaddPairwiseU8x16ToU16x8 = 100, + /** i32x4.extadd_pairwise.i16x8_s */ + ExtaddPairwiseI16x8ToI32x4 = 101, + /** i32x4.extadd_pairwise.i64x8_u */ + ExtaddPairwiseU16x8ToU32x4 = 102, + /** i32x4.trunc_sat_f32x4_s */ + TruncSatF32x4ToI32x4 = 103, + /** i32x4.trunc_sat_f32x4_u */ + TruncSatF32x4ToU32x4 = 104, + /** f32x4.convert_i32x4_s */ + ConvertI32x4ToF32x4 = 105, + /** f32x4.convert_i32x4_u */ + ConvertU32x4ToF32x4 = 106, + /** i16x8.extend_low_i8x16_s */ + ExtendLowI8x16ToI16x8 = 107, + /** i16x8.extend_high_i8x16_s */ + ExtendHighI8x16ToI16x8 = 108, + /** i16x8.extend_low_i8x16_u */ + ExtendLowU8x16ToU16x8 = 109, + /** i16x8.extend_high_i8x16_u */ + ExtendHighU8x16ToU16x8 = 110, + /** i32x4.extend_low_i16x8_s */ + ExtendLowI16x8ToI32x4 = 111, + /** i32x4.extend_high_i16x8_s */ + ExtendHighI16x8ToI32x4 = 112, + /** i32x4.extend_low_i16x8_u */ + ExtendLowU16x8ToU32x4 = 113, + /** i32x4.extend_high_i16x8_u */ + ExtendHighU16x8ToU32x4 = 114, + /** i64x2.extend_low_i32x4_s */ + ExtendLowI32x4ToI64x2 = 115, + /** i64x2.extend_high_i32x4_s */ + ExtendHighI32x4ToI64x2 = 116, + /** i64x2.extend_low_i32x4_u */ + ExtendLowU32x4ToU64x2 = 117, + /** i64x2.extend_high_i32x4_u */ + ExtendHighU32x4ToU64x2 = 118, + /** f32x4.convert_i32x4_s */ + ConvertLowI32x4ToF64x2 = 119, + /** f32x4.convert_i32x4_u */ + ConvertLowU32x4ToF64x2 = 120, + /** i32x4.trunc_sat_f64x2_s_zero */ + TruncSatF64x2ToI32x4Zero = 121, + /** i32x4.trunc_sat_f64x2_u_zero */ + TruncSatF64x2ToU32x4Zero = 122, + /** f32x4.demote_f64x2_zero */ + DemoteZeroF64x2ToF32x4 = 123, + /** f64x2.promote_low_f32x4 */ + PromoteLowF32x4ToF64x2 = 124, + /** i32x4.relaxed_trunc_f32x4_s */ + RelaxedTruncF32x4ToI32x4 = 125, + /** i32x4.relaxed_trunc_f32x4_u */ + RelaxedTruncF32x4ToU32x4 = 126, + /** i32x4.relaxed_trunc_f64x2_s_zero */ + RelaxedTruncF64x2ToI32x4Zero = 127, + /** i32x4.relaxed_trunc_f64x2_u_zero */ + RelaxedTruncF64x2ToU32x4Zero = 128, + _last = 128, + /** i32.clz or i64.clz, depending on target word size */ + ClzSize = 129, + /** i32.ctz or i64.ctz, depending on target word size */ + CtzSize = 130, + /** i32.popcnt or i64.popcnt, depending on target word size */ + PopcntSize = 131, + /** i32.eqz or i64.eqz, depending on target word size */ + EqzSize = 132 + } + /** Binaryen binary operation constants. */ + export const enum BinaryOp { + /** i32.add */ + AddI32 = 0, + /** i32.sub */ + SubI32 = 1, + /** i32.mul */ + MulI32 = 2, + /** i32.div_s */ + DivI32 = 3, + /** i32.div_u */ + DivU32 = 4, + /** i32.rem_s */ + RemI32 = 5, + /** i32.rem_u */ + RemU32 = 6, + /** i32.and */ + AndI32 = 7, + /** i32.or */ + OrI32 = 8, + /** i32.xor */ + XorI32 = 9, + /** i32.shl */ + ShlI32 = 10, + /** i32.shr_s */ + ShrI32 = 11, + /** i32.shr_u */ + ShrU32 = 12, + /** i32.rotl */ + RotlI32 = 13, + /** i32.rotr */ + RotrI32 = 14, + /** i32.eq */ + EqI32 = 15, + /** i32.ne */ + NeI32 = 16, + /** i32.lt_s */ + LtI32 = 17, + /** i32.lt_u */ + LtU32 = 18, + /** i32.le_s */ + LeI32 = 19, + /** i32.le_u */ + LeU32 = 20, + /** i32.gt_s */ + GtI32 = 21, + /** i32.gt_u */ + GtU32 = 22, + /** i32.ge_s */ + GeI32 = 23, + /** i32.ge_u */ + GeU32 = 24, + /** i64.add */ + AddI64 = 25, + /** i64.sub */ + SubI64 = 26, + /** i64.mul */ + MulI64 = 27, + /** i64.div_s */ + DivI64 = 28, + /** i64.div_u */ + DivU64 = 29, + /** i64.rem_s */ + RemI64 = 30, + /** i64.rem_u */ + RemU64 = 31, + /** i64.and */ + AndI64 = 32, + /** i64.or */ + OrI64 = 33, + /** i64.xor */ + XorI64 = 34, + /** i64.shl */ + ShlI64 = 35, + /** i64.shr_s */ + ShrI64 = 36, + /** i64.shr_u */ + ShrU64 = 37, + /** i64.rotl */ + RotlI64 = 38, + /** i64.rotr */ + RotrI64 = 39, + /** i64.eq */ + EqI64 = 40, + /** i64.ne */ + NeI64 = 41, + /** i64.lt_s */ + LtI64 = 42, + /** i64.lt_u */ + LtU64 = 43, + /** i64.le_s */ + LeI64 = 44, + /** i64.le_u */ + LeU64 = 45, + /** i64.gt_s */ + GtI64 = 46, + /** i64.gt_u */ + GtU64 = 47, + /** i64.ge_s */ + GeI64 = 48, + /** i64.ge_u */ + GeU64 = 49, + /** f32.add */ + AddF32 = 50, + /** f32.sub */ + SubF32 = 51, + /** f32.mul */ + MulF32 = 52, + /** f32.div */ + DivF32 = 53, + /** f32.copysign */ + CopysignF32 = 54, + /** f32.min */ + MinF32 = 55, + /** f32.max */ + MaxF32 = 56, + /** f32.eq */ + EqF32 = 57, + /** f32.ne */ + NeF32 = 58, + /** f32.lt */ + LtF32 = 59, + /** f32.le */ + LeF32 = 60, + /** f32.gt */ + GtF32 = 61, + /** f32.ge */ + GeF32 = 62, + /** f64.add */ + AddF64 = 63, + /** f64.sub */ + SubF64 = 64, + /** f64.mul */ + MulF64 = 65, + /** f64.div */ + DivF64 = 66, + /** f64.copysign */ + CopysignF64 = 67, + /** f64.min */ + MinF64 = 68, + /** f64.max */ + MaxF64 = 69, + /** f64.eq */ + EqF64 = 70, + /** f64.ne */ + NeF64 = 71, + /** f64.lt */ + LtF64 = 72, + /** f64.le */ + LeF64 = 73, + /** f64.gt */ + GtF64 = 74, + /** f64.ge */ + GeF64 = 75, + /** i8x16.eq */ + EqI8x16 = 76, + /** i8x16.he */ + NeI8x16 = 77, + /** i8x16.lt_s */ + LtI8x16 = 78, + /** i8x16.lt_u */ + LtU8x16 = 79, + /** i8x16.gt_s */ + GtI8x16 = 80, + /** i8x16.gt_u */ + GtU8x16 = 81, + /** i8x16.le_s */ + LeI8x16 = 82, + /** i8x16.le_u */ + LeU8x16 = 83, + /** i8x16.ge_s */ + GeI8x16 = 84, + /** i8x16.ge_u */ + GeU8x16 = 85, + /** i16x8.eq */ + EqI16x8 = 86, + /** i16x8.ne */ + NeI16x8 = 87, + /** i16x8.lt_s */ + LtI16x8 = 88, + /** i16x8.lt_u */ + LtU16x8 = 89, + /** i16x8.gt_s */ + GtI16x8 = 90, + /** i16x8.gt_u */ + GtU16x8 = 91, + /** i16x8.le_s */ + LeI16x8 = 92, + /** i16x8.le_u */ + LeU16x8 = 93, + /** i16x8.ge_s */ + GeI16x8 = 94, + /** i16x8.ge_u */ + GeU16x8 = 95, + /** i32x4.eq */ + EqI32x4 = 96, + /** i32x4.ne */ + NeI32x4 = 97, + /** i32x4.lt_s */ + LtI32x4 = 98, + /** i32x4.lt_u */ + LtU32x4 = 99, + /** i32x4.gt_s */ + GtI32x4 = 100, + /** i32x4.gt_u */ + GtU32x4 = 101, + /** i32x4.le_s */ + LeI32x4 = 102, + /** i32x4.le_u */ + LeU32x4 = 103, + /** i32x4.ge_s */ + GeI32x4 = 104, + /** i32x4.ge_u */ + GeU32x4 = 105, + /** i64x2.eq */ + EqI64x2 = 106, + /** i64x2.ne */ + NeI64x2 = 107, + /** i64x2.lt_s */ + LtI64x2 = 108, + /** i64x2.gt_s */ + GtI64x2 = 109, + /** i64x2.le_s */ + LeI64x2 = 110, + /** i64x2.ge_s */ + GeI64x2 = 111, + /** f32x4.eq */ + EqF32x4 = 112, + /** f32x4.ne */ + NeF32x4 = 113, + /** f32x4.lt */ + LtF32x4 = 114, + /** f32x4.gt */ + GtF32x4 = 115, + /** f32x4.le */ + LeF32x4 = 116, + /** f32x4.ge */ + GeF32x4 = 117, + /** f64x2.eq */ + EqF64x2 = 118, + /** f64x2.ne */ + NeF64x2 = 119, + /** f64x2.lt */ + LtF64x2 = 120, + /** f64x2.gt */ + GtF64x2 = 121, + /** f64x2.le */ + LeF64x2 = 122, + /** f64x2.ge */ + GeF64x2 = 123, + /** v128.and */ + AndV128 = 124, + /** v128.or */ + OrV128 = 125, + /** v128.xor */ + XorV128 = 126, + /** v128.andnot */ + AndnotV128 = 127, + /** i8x16.add */ + AddI8x16 = 128, + /** i8x16.add_sat_s */ + AddSatI8x16 = 129, + /** i8x16.add_sat_u */ + AddSatU8x16 = 130, + /** i8x16.sub */ + SubI8x16 = 131, + /** i8x16.sub_sat_s */ + SubSatI8x16 = 132, + /** i8x16.sub_sat_u */ + SubSatU8x16 = 133, + /** i8x16.min_s */ + MinI8x16 = 134, + /** i8x16.min_u */ + MinU8x16 = 135, + /** i8x16.max_s */ + MaxI8x16 = 136, + /** i8x16.max_u */ + MaxU8x16 = 137, + /** i8x16.avgr_u */ + AvgrU8x16 = 138, + /** i16x8.add */ + AddI16x8 = 139, + /** i16x8.add_sat_s */ + AddSatI16x8 = 140, + /** i16x8.add_sat_u */ + AddSatU16x8 = 141, + /** i16x8.sub */ + SubI16x8 = 142, + /** i16x8.sub_sat_s */ + SubSatI16x8 = 143, + /** i16x8.sub_sat_u */ + SubSatU16x8 = 144, + /** i16x8.mul */ + MulI16x8 = 145, + /** i16x8.min_s */ + MinI16x8 = 146, + /** i16x8.min_u */ + MinU16x8 = 147, + /** i16x8.max_s */ + MaxI16x8 = 148, + /** i16x8.max_u */ + MaxU16x8 = 149, + /** i16x8.avgr_u */ + AvgrU16x8 = 150, + /** i16x8.q15mulr_sat_s */ + Q15mulrSatI16x8 = 151, + /** i16x8.extmul_low_i8x16_s */ + ExtmulLowI16x8 = 152, + /** i16x8.extmul_high_i8x16_s */ + ExtmulHighI16x8 = 153, + /** i16x8.extmul_low_i8x16_u */ + ExtmulLowU16x8 = 154, + /** i16x8.extmul_high_i8x16_u */ + ExtmulHighU16x8 = 155, + /** i32x4.add */ + AddI32x4 = 156, + /** i32x4.sub */ + SubI32x4 = 157, + /** i32x4.mul */ + MulI32x4 = 158, + /** i32x4.min_s */ + MinI32x4 = 159, + /** i32x4.min_u */ + MinU32x4 = 160, + /** i32x4.max_s */ + MaxI32x4 = 161, + /** i32x4.max_u */ + MaxU32x4 = 162, + /** i32x4.dot_i16x8_s */ + DotI16x8 = 163, + /** i32x4.extmul_low_i16x8_s */ + ExtmulLowI32x4 = 164, + /** i32x4.extmul_high_i16x8_s */ + ExtmulHighI32x4 = 165, + /** i32x4.extmul_low_i16x8_u */ + ExtmulLowU32x4 = 166, + /** i32x4.extmul_high_i16x8_u */ + ExtmulHighU32x4 = 167, + /** i64x2.add */ + AddI64x2 = 168, + /** i64x2.sub */ + SubI64x2 = 169, + /** i64x2.mul */ + MulI64x2 = 170, + /** i64x2.extmul_low_i32x4_s */ + ExtmulLowI64x2 = 171, + /** i64x2.extmul_high_i32x4_s */ + ExtmulHighI64x2 = 172, + /** i64x2.extmul_low_i32x4_u */ + ExtmulLowU64x2 = 173, + /** i64x2.extmul_high_i32x4_u */ + ExtmulHighU64x2 = 174, + /** f32x4.add */ + AddF32x4 = 175, + /** f32x4.sub */ + SubF32x4 = 176, + /** f32x4.mul */ + MulF32x4 = 177, + /** f32x4.div */ + DivF32x4 = 178, + /** f32x4.min */ + MinF32x4 = 179, + /** f32x4.max */ + MaxF32x4 = 180, + /** f32x4.pmin */ + PminF32x4 = 181, + /** f32x4.pmax */ + PmaxF32x4 = 182, + /** f64x2.add */ + AddF64x2 = 183, + /** f64x2.sub */ + SubF64x2 = 184, + /** f64x2.mul */ + MulF64x2 = 185, + /** f64x2.div */ + DivF64x2 = 186, + /** f64x2.min */ + MinF64x2 = 187, + /** f64x2.max */ + MaxF64x2 = 188, + /** f64x2.pmin */ + PminF64x2 = 189, + /** f64x2.pmax */ + PmaxF64x2 = 190, + /** i8x16.narrow_i16x8_s */ + NarrowI16x8ToI8x16 = 191, + /** i8x16.narrow_i16x8_u */ + NarrowU16x8ToU8x16 = 192, + /** i16x8.narrow_i32x4_s */ + NarrowI32x4ToI16x8 = 193, + /** i16x8.narrow_i32x4_u */ + NarrowU32x4ToU16x8 = 194, + /** i8x16.swizzle */ + SwizzleI8x16 = 195, + /** i8x16.relaxed_swizzle */ + RelaxedSwizzleI8x16 = 196, + /** f32x4.relaxed_min */ + RelaxedMinF32x4 = 197, + /** f32x4.relaxed_max */ + RelaxedMaxF32x4 = 198, + /** f64x2.relaxed_min */ + RelaxedMinF64x2 = 199, + /** f64x2.relaxed_max */ + RelaxedMaxF64x2 = 200, + /** i16x8.relaxed_q15mulr_s */ + RelaxedQ15MulrI16x8 = 201, + /** i16x8.relaxed_dot_i8x16_i7x16_s */ + RelaxedDotI8x16I7x16ToI16x8 = 202, + _last = 202, + /** i32.add or i64.add, depending on target word size */ + AddSize = 203, + /** i32.sub or i64.sub, depending on target word size */ + SubSize = 204, + /** i32.mul or i64.mul, depending on target word size */ + MulSize = 205, + /** i32.div_s or i64.div_s, depending on target word size */ + DivISize = 206, + /** i32.div_u or i64.div_u, depending on target word size */ + DivUSize = 207, + /** i32.rem_s or i64.rem_s, depending on target word size */ + RemISize = 208, + /** i32.rem_u or i64.rem_u, depending on target word size */ + RemUSize = 209, + /** i32.and or i64.and, depending on target word size */ + AndSize = 210, + /** i32.or or i64.or, depending on target word size */ + OrSize = 211, + /** i32.xor or i64.xor, depending on target word size */ + XorSize = 212, + /** i32.shl or i64.shl, depending on target word size */ + ShlSize = 213, + /** i32.shr_s or i64.shr_s, depending on target word size */ + ShrISize = 214, + /** i32.shr_u or i64.shr_u, depending on target word size */ + ShrUSize = 215, + /** i32.rotl or i64.rotl, depending on target word size */ + RotlSize = 216, + /** i32.rotr or i64.rotr, depending on target word size */ + RotrSize = 217, + /** i32.eq or i64.eq, depending on target word size */ + EqSize = 218, + /** i32.ne or i64.ne, depending on target word size */ + NeSize = 219, + /** i32.lt_s or i64.lt_s, depending on target word size */ + LtISize = 220, + /** i32.lt_u or i64.lt_u, depending on target word size */ + LtUSize = 221, + /** i32.le_s or i64.le_s, depending on target word size */ + LeISize = 222, + /** i32.le_u or i64.le_u, depending on target word size */ + LeUSize = 223, + /** i32.gt_s or i64.gt_s, depending on target word size */ + GtISize = 224, + /** i32.gt_u or i64.gt_u, depending on target word size */ + GtUSize = 225, + /** i32.ge_s or i64.ge_s, depending on target word size */ + GeISize = 226, + /** i32.ge_u or i64.ge_u, depending on target word size */ + GeUSize = 227 + } + /** Binaryen atomic read-modify-write operation constants. */ + export const enum AtomicRMWOp { + /** i32.atomic.rmw.add, i32.atomic.rmw8.add_u, i32.atomic.rmw16.add_u, i64.atomic.rmw.add, i64.atomic.rmw8.add_u, i64.atomic.rmw16.add_u, i64.atomic.rmw32.add_u */ + Add = 0, + /** i32.atomic.rmw.sub, i32.atomic.rmw8.sub_u, i32.atomic.rmw16.sub_u, i64.atomic.rmw.sub, i64.atomic.rmw8.sub_u, i64.atomic.rmw16.sub_u, i64.atomic.rmw32.sub_u */ + Sub = 1, + /** i32.atomic.rmw.and, i32.atomic.rmw8.and_u, i32.atomic.rmw16.and_u, i64.atomic.rmw.and, i64.atomic.rmw8.and_u, i64.atomic.rmw16.and_u, i64.atomic.rmw32.and_u */ + And = 2, + /** i32.atomic.rmw.or, i32.atomic.rmw8.or_u, i32.atomic.rmw16.or_u, i64.atomic.rmw.or, i64.atomic.rmw8.or_u, i64.atomic.rmw16.or_u, i64.atomic.rmw32.or_u */ + Or = 3, + /** i32.atomic.rmw.xor, i32.atomic.rmw8.xor_u, i32.atomic.rmw16.xor_u, i64.atomic.rmw.xor, i64.atomic.rmw8.xor_u, i64.atomic.rmw16.xor_u, i64.atomic.rmw32.xor_u */ + Xor = 4, + /** i32.atomic.rmw.xchg, i32.atomic.rmw8.xchg_u, i32.atomic.rmw16.xchg_u, i64.atomic.rmw.xchg, i64.atomic.rmw8.xchg_u, i64.atomic.rmw16.xchg_u, i64.atomic.rmw32.xchg_u */ + Xchg = 5 + } + /** Binaryen SIMD extract operation constants. */ + export const enum SIMDExtractOp { + /** i8x16.extract_lane_s */ + ExtractLaneI8x16 = 0, + /** i8x16.extract_lane_u */ + ExtractLaneU8x16 = 1, + /** i16x8.extract_lane_s */ + ExtractLaneI16x8 = 2, + /** i16x8.extract_lane_u */ + ExtractLaneU16x8 = 3, + /** i32x4.extract_lane_s */ + ExtractLaneI32x4 = 4, + /** i32x4.extract_lane_u */ + ExtractLaneI64x2 = 5, + /** i64x2.extract_lane_s */ + ExtractLaneF32x4 = 6, + /** i64x2.extract_lane_u */ + ExtractLaneF64x2 = 7 + } + /** Binaryen SIMD replace operation constants. */ + export const enum SIMDReplaceOp { + /** i8x16.replace_lane */ + ReplaceLaneI8x16 = 0, + /** i16x8.replace_lane */ + ReplaceLaneI16x8 = 1, + /** i32x4.replace_lane */ + ReplaceLaneI32x4 = 2, + /** i64x2.replace_lane */ + ReplaceLaneI64x2 = 3, + /** f32x4.replace_lane */ + ReplaceLaneF32x4 = 4, + /** f64x2.replace_lane */ + ReplaceLaneF64x2 = 5 + } + /** Binaryen SIMD shift operation constants. */ + export const enum SIMDShiftOp { + /** i8x16.shl */ + ShlI8x16 = 0, + /** i8x16.shr_s */ + ShrI8x16 = 1, + /** i8x16.shr_u */ + ShrU8x16 = 2, + /** i16x8.shl */ + ShlI16x8 = 3, + /** i16x8.shr_s */ + ShrI16x8 = 4, + /** i16x8.shr_u */ + ShrU16x8 = 5, + /** i16x8.shl */ + ShlI32x4 = 6, + /** i32x4.shr_s */ + ShrI32x4 = 7, + /** i32x4.shr_u */ + ShrU32x4 = 8, + /** i64x2.shl */ + ShlI64x2 = 9, + /** i64x2.shr_u */ + ShrI64x2 = 10, + /** i64x2.shr_u */ + ShrU64x2 = 11 + } + /** Binaryen SIMD load operation constants. */ + export const enum SIMDLoadOp { + /** v128.load8_splat */ + Load8Splat = 0, + /** v128.load16_splat */ + Load16Splat = 1, + /** v128.load32_splat */ + Load32Splat = 2, + /** v128.load64_splat */ + Load64Splat = 3, + /** v128.load8x8_s */ + Load8x8S = 4, + /** v128.load8x8_u */ + Load8x8U = 5, + /** v128.load16x4_s */ + Load16x4S = 6, + /** v128.load16x4_u */ + Load16x4U = 7, + /** v128.load32x2_s */ + Load32x2S = 8, + /** v128.load32x2_u */ + Load32x2U = 9, + /** v128.load32_zero */ + Load32Zero = 10, + /** v128.load64_zero */ + Load64Zero = 11 + } + /** Binaryen SIMD load/store lane operation constants. */ + export const enum SIMDLoadStoreLaneOp { + /** v128.load8_lane */ + Load8Lane = 0, + /** v128.load16_lane */ + Load16Lane = 1, + /** v128.load32_lane */ + Load32Lane = 2, + /** v128.load64_lane */ + Load64Lane = 3, + /** v128.store8_lane */ + Store8Lane = 4, + /** v128.store16_lane */ + Store16Lane = 5, + /** v128.store32_lane */ + Store32Lane = 6, + /** v128.store64_lane */ + Store64Lane = 7 + } + /** Binaryen SIMD ternary operation constants. */ + export const enum SIMDTernaryOp { + /** v128.bitselect */ + Bitselect = 0, + /** f32x4.relaxed_madd */ + RelaxedMaddF32x4 = 1, + /** f32x4.relaxed_nmadd */ + RelaxedNmaddF32x4 = 2, + /** f64x2.relaxed_madd */ + RelaxedMaddF64x2 = 3, + /** f64x2.relaxed_nmadd */ + RelaxedNmaddF64x2 = 4, + /** i8x16.relaxed_laneselect */ + RelaxedLaneselectI8x16 = 5, + /** i16x8.relaxed_laneselect */ + RelaxedLaneselectI16x8 = 6, + /** i32x4.relaxed_laneselect */ + RelaxedLaneselectI32x4 = 7, + /** i64x2.relaxed_laneselect */ + RelaxedLaneselectI64x2 = 8, + /** i32x4.relaxed_dot_i8x16_i7x16_add_s */ + RelaxedDotI8x16I7x16AddToI32x4 = 9 + } + /** Binaryen RefAs operation constants. */ + export const enum RefAsOp { + /** ref.as_non_null */ + NonNull = 0, + /** extern.internalize */ + ExternInternalize = 1, + /** extern.externalize */ + ExternExternalize = 2 + } + /** Binaryen BrOn operation constants. */ + export const enum BrOnOp { + /** br_on_null */ + Null = 0, + /** br_on_non_null */ + NonNull = 1, + /** br_on_cast */ + Cast = 2, + /** br_on_cast_fail */ + CastFail = 3 + } + /** Binaryen StringNew operation constants. */ + export const enum StringNewOp { + /** string.new_wtf8 utf8 */ + UTF8 = 0, + /** string.new_wtf8 wtf8 */ + WTF8 = 1, + /** string.new_wtf8 replace */ + LossyUTF8 = 2, + /** string.new_wtf16 */ + WTF16 = 3, + /** string.new_wtf8_array utf8 */ + UTF8Array = 4, + /** string.new_wtf8_array wtf8 */ + WTF8Array = 5, + /** string.new_wtf8_array replace */ + LossyUTF8Array = 6, + /** string.new_wtf16_array */ + WTF16Array = 7, + /** string.from_code_point */ + FromCodePoint = 8 + } + /** Binaryen StringMeasure operation constants. */ + export const enum StringMeasureOp { + /** string.measure_wtf8 utf8 */ + UTF8 = 0, + /** string.measure_wtf8 wtf8 */ + WTF8 = 1, + /** string.measure_wtf16 */ + WTF16 = 2, + /** string.is_usv_sequence */ + IsUSV = 3, + /** stringview_wtf16.length */ + WTF16View = 4 + } + /** Binaryen StringEncode operation constants. */ + export const enum StringEncodeOp { + /** string.encode_wtf8 utf8 */ + UTF8 = 0, + /** string.encode_lossy_utf8 utf8 */ + LossyUTF8 = 1, + /** string.encode_wtf8 wtf8 */ + WTF8 = 2, + /** string.encode_wtf16 */ + WTF16 = 3, + /** string.encode_wtf8_array utf8 */ + UTF8Array = 4, + /** string.encode_lossy_utf8_array utf8 */ + LossyUTF8Array = 5, + /** string.encode_wtf8_array wtf8 */ + WTF8Array = 6, + /** string.encode_wtf16_array */ + WTF16Array = 7 + } + /** Binaryen StringEq operation constants. */ + export const enum StringEqOp { + /** string.eq */ + Equal = 0, + /** string.compare */ + Compare = 1 + } + /** Binaryen StringAs operation constants. */ + export const enum StringAsOp { + /** string.as_wtf8 */ + WTF8 = 0, + /** string.as_wtf16 */ + WTF16 = 1, + /** string.as_iter */ + Iter = 2 + } + /** Binaryen StringIterMove operation constants. */ + export const enum StringIterMoveOp { + /** stringview_iter.advance */ + Advance = 0, + /** stringview_iter.rewind */ + Rewind = 1 + } + /** Binaryen StringSlice operation constants. */ + export const enum StringSliceWTFOp { + /** stringview_wtf8.slice */ + WTF8 = 0, + /** stringview_wtf16.slice */ + WTF16 = 1 + } + /** Binaryen expression runner flags. */ + export const enum ExpressionRunnerFlags { + Default = 0, + PreserveSideeffects = 1, + TraverseCalls = 2 + } + export class MemorySegment { + /** Segment data. */ + buffer: Uint8Array; + /** Segment offset. */ + offset: i64; + constructor( + /** Segment data. */ + buffer: Uint8Array, + /** Segment offset. */ + offset: i64); + } + export class Module { + /** Binaryen module reference. */ + ref: ModuleRef; + /** Whether a shadow stack is used. */ + useShadowStack: boolean; + /** Architecture-dependent size type. */ + sizeType: TypeRef; + constructor( + /** Binaryen module reference. */ + ref: ModuleRef, + /** Whether a shadow stack is used. */ + useShadowStack: boolean, + /** Architecture-dependent size type. */ + sizeType: TypeRef); + private lit; + static create(useShadowStack: boolean, sizeType: TypeRef): Module; + static createFrom(buffer: Uint8Array, useShadowStack: boolean, sizeType: TypeRef): Module; + i32(value: number): ExpressionRef; + i64(valueLow: number, valueHigh?: number): ExpressionRef; + usize(value: T): ExpressionRef; + f32(value: number): ExpressionRef; + f64(value: number): ExpressionRef; + v128(bytes: Uint8Array): ExpressionRef; + ref_null(type: TypeRef): ExpressionRef; + ref_eq(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + string_eq(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + string_compare(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + unary(op: UnaryOp, value: ExpressionRef): ExpressionRef; + binary(op: BinaryOp, left: ExpressionRef, right: ExpressionRef): ExpressionRef; + memory_size(name?: string, is64?: boolean): ExpressionRef; + memory_grow(delta: ExpressionRef, name?: string, is64?: boolean): ExpressionRef; + table_size(name: string): ExpressionRef; + table_grow(name: string, delta: ExpressionRef, value?: ExpressionRef): ExpressionRef; + local_get(index: number, type: TypeRef): ExpressionRef; + tostack(value: ExpressionRef): ExpressionRef; + local_tee(index: number, value: ExpressionRef, isManaged: boolean, type?: TypeRef): ExpressionRef; + global_get(name: string, type: TypeRef): ExpressionRef; + table_get(name: string, index: ExpressionRef, type: TypeRef): ExpressionRef; + load(bytes: Index, signed: boolean, ptr: ExpressionRef, type: TypeRef, offset?: Index, align?: Index, // naturally aligned by default + name?: string): ExpressionRef; + store(bytes: Index, ptr: ExpressionRef, value: ExpressionRef, type: TypeRef, offset?: Index, align?: Index, // naturally aligned by default + name?: string): ExpressionRef; + atomic_load(bytes: Index, ptr: ExpressionRef, type: TypeRef, offset?: Index, name?: string): ExpressionRef; + atomic_store(bytes: Index, ptr: ExpressionRef, value: ExpressionRef, type: TypeRef, offset?: Index, name?: string): ExpressionRef; + atomic_rmw(op: AtomicRMWOp, bytes: Index, offset: Index, ptr: ExpressionRef, value: ExpressionRef, type: TypeRef, name?: string): ExpressionRef; + atomic_cmpxchg(bytes: Index, offset: Index, ptr: ExpressionRef, expected: ExpressionRef, replacement: ExpressionRef, type: TypeRef, name?: string): ExpressionRef; + atomic_wait(ptr: ExpressionRef, expected: ExpressionRef, timeout: ExpressionRef, expectedType: TypeRef, name?: string): ExpressionRef; + atomic_notify(ptr: ExpressionRef, notifyCount: ExpressionRef, name?: string): ExpressionRef; + atomic_fence(name?: string | null): ExpressionRef; + local_set(index: Index, value: ExpressionRef, isManaged: boolean): ExpressionRef; + global_set(name: string, value: ExpressionRef): ExpressionRef; + table_set(name: string, index: ExpressionRef, value: ExpressionRef): ExpressionRef; + block(label: string | null, children: ExpressionRef[], type?: TypeRef): ExpressionRef; + /** Attempts to trivially flatten a series of expressions instead of emitting a block. */ + flatten(stmts: ExpressionRef[], type?: TypeRef): ExpressionRef; + br(label: string | null, condition?: ExpressionRef, value?: ExpressionRef): ExpressionRef; + drop(expression: ExpressionRef): ExpressionRef; + /** Drops an expression if it evaluates to a value. */ + maybeDrop(expression: ExpressionRef): ExpressionRef; + maybeDropCondition(condition: ExpressionRef, result: ExpressionRef): ExpressionRef; + loop(label: string | null, body: ExpressionRef): ExpressionRef; + if(condition: ExpressionRef, ifTrue: ExpressionRef, ifFalse?: ExpressionRef): ExpressionRef; + nop(): ExpressionRef; + return(expression?: ExpressionRef): ExpressionRef; + select(ifTrue: ExpressionRef, ifFalse: ExpressionRef, condition: ExpressionRef, type: TypeRef): ExpressionRef; + switch(names: string[], defaultName: string | null, condition: ExpressionRef, value?: ExpressionRef): ExpressionRef; + call(target: string, operands: ExpressionRef[] | null, returnType: TypeRef, isReturn?: boolean): ExpressionRef; + return_call(target: string, operands: ExpressionRef[] | null, returnType: TypeRef): ExpressionRef; + call_indirect(tableName: string | null, index: ExpressionRef, operands: ExpressionRef[] | null, params: TypeRef, results: TypeRef, isReturn?: boolean): ExpressionRef; + return_call_indirect(tableName: string | null, index: ExpressionRef, operands: ExpressionRef[] | null, params: TypeRef, results: TypeRef): ExpressionRef; + unreachable(): ExpressionRef; + memory_copy(dest: ExpressionRef, source: ExpressionRef, size: ExpressionRef, destName?: string, sourceName?: string): ExpressionRef; + memory_fill(dest: ExpressionRef, value: ExpressionRef, size: ExpressionRef, name?: string): ExpressionRef; + try(name: string | null, body: ExpressionRef, catchTags: string[], catchBodies: ExpressionRef[], delegateTarget?: string | null): ExpressionRef; + throw(tagName: string, operands: ExpressionRef[]): ExpressionRef; + rethrow(target: string): ExpressionRef; + pop(type: TypeRef): ExpressionRef; + tuple_make(operands: ExpressionRef[]): ExpressionRef; + tuple_extract(tuple: ExpressionRef, index: Index): ExpressionRef; + simd_extract(op: SIMDExtractOp, vec: ExpressionRef, idx: number): ExpressionRef; + simd_replace(op: SIMDReplaceOp, vec: ExpressionRef, idx: number, value: ExpressionRef): ExpressionRef; + simd_shuffle(vec1: ExpressionRef, vec2: ExpressionRef, mask: Uint8Array): ExpressionRef; + simd_ternary(op: SIMDTernaryOp, a: ExpressionRef, b: ExpressionRef, c: ExpressionRef): ExpressionRef; + simd_shift(op: SIMDShiftOp, vec: ExpressionRef, shift: ExpressionRef): ExpressionRef; + simd_load(op: SIMDLoadOp, ptr: ExpressionRef, offset: number, align: number, name?: string): ExpressionRef; + simd_loadstorelane(op: SIMDLoadStoreLaneOp, ptr: ExpressionRef, offset: number, align: number, index: number, vec: ExpressionRef, name?: string): ExpressionRef; + ref_is_null(expr: ExpressionRef): ExpressionRef; + ref_as(op: RefAsOp, expr: ExpressionRef): ExpressionRef; + ref_as_nonnull(expr: ExpressionRef): ExpressionRef; + ref_func(name: string, type: TypeRef): ExpressionRef; + i31_new(value: ExpressionRef): ExpressionRef; + i31_get(expr: ExpressionRef, signed: boolean): ExpressionRef; + addGlobal(name: string, type: TypeRef, mutable: boolean, initializer: ExpressionRef): GlobalRef; + getGlobal(name: string): GlobalRef; + removeGlobal(name: string): boolean; + addTag(name: string, params: TypeRef, results: TypeRef): TagRef; + getTag(name: string): TagRef; + removeTag(name: string): void; + addFunction(name: string, params: TypeRef, results: TypeRef, varTypes: TypeRef[] | null, body: ExpressionRef): FunctionRef; + setLocalName(funcRef: FunctionRef, index: number, name: string): void; + getFunction(name: string): FunctionRef; + removeFunction(name: string): void; + hasFunction(name: string): boolean; + private hasTemporaryFunction; + addTemporaryFunction(result: TypeRef, paramTypes: TypeRef[] | null, body: ExpressionRef): FunctionRef; + removeTemporaryFunction(): void; + setStart(func: FunctionRef): void; + addFunctionExport(internalName: string, externalName: string): ExportRef; + addTableExport(internalName: string, externalName: string): ExportRef; + addMemoryExport(internalName: string, externalName: string): ExportRef; + addGlobalExport(internalName: string, externalName: string): ExportRef; + addTagExport(internalName: string, externalName: string): ExportRef; + removeExport(externalName: string): void; + hasExport(externalName: string): boolean; + addFunctionImport(internalName: string, externalModuleName: string, externalBaseName: string, params: TypeRef, results: TypeRef): void; + addTableImport(internalName: string, externalModuleName: string, externalBaseName: string): void; + addMemoryImport(internalName: string, externalModuleName: string, externalBaseName: string, shared?: boolean): void; + addGlobalImport(internalName: string, externalModuleName: string, externalBaseName: string, globalType: TypeRef, mutable?: boolean): void; + addTagImport(internalName: string, externalModuleName: string, externalBaseName: string, params: TypeRef, results: TypeRef): void; + /** Unlimited memory constant. */ + static readonly UNLIMITED_MEMORY: Index; + setMemory(initial: Index, maximum: Index, segments: MemorySegment[], target: Target, exportName?: string | null, name?: string, shared?: boolean): void; + /** Unlimited table constant. */ + static readonly UNLIMITED_TABLE: Index; + addFunctionTable(name: string, initial: Index, maximum: Index, funcs: string[], offset: ExpressionRef): void; + addCustomSection(name: string, contents: Uint8Array): void; + getOptimizeLevel(): number; + setOptimizeLevel(level: number): void; + getShrinkLevel(): number; + setShrinkLevel(level: number): void; + getDebugInfo(): boolean; + setDebugInfo(on: boolean): void; + getLowMemoryUnused(): boolean; + setLowMemoryUnused(on: boolean): void; + getZeroFilledMemory(): boolean; + setZeroFilledMemory(on: boolean): void; + getFastMath(): boolean; + setFastMath(on: boolean): void; + getPassArgument(key: string): string | null; + setPassArgument(key: string, value: string | null): void; + clearPassArguments(): void; + getAlwaysInlineMaxSize(): Index; + setAlwaysInlineMaxSize(size: Index): void; + getFlexibleInlineMaxSize(): Index; + setFlexibleInlineMaxSize(size: Index): void; + getOneCallerInlineMaxSize(): Index; + setOneCallerInlineMaxSize(size: Index): void; + getAllowInliningFunctionsWithLoops(): boolean; + setAllowInliningFunctionsWithLoops(enabled: boolean): void; + getFeatures(): FeatureFlags; + setFeatures(featureFlags: FeatureFlags): void; + runPasses(passes: string[], func?: FunctionRef): void; + optimize(optimizeLevel: number, shrinkLevel: number, debugInfo?: boolean, zeroFilledMemory?: boolean): void; + validate(): boolean; + interpret(): void; + toBinary(sourceMapUrl?: string | null): BinaryModule; + toText(watFormat?: boolean): string; + private cachedStringsToPointers; + private cachedPointersToStrings; + allocStringCached(str: string | null): number; + readStringCached(ptr: number): string | null; + dispose(): void; + createRelooper(): number; + /** Makes a copy of a trivial expression (doesn't contain subexpressions). Returns `0` if non-trivial. */ + tryCopyTrivialExpression(expr: ExpressionRef): ExpressionRef; + /** Makes a copy of any expression including all subexpressions. */ + copyExpression(expr: ExpressionRef): ExpressionRef; + runExpression(expr: ExpressionRef, flags: ExpressionRunnerFlags, maxDepth?: number, maxLoopIterations?: number): ExpressionRef; + isConstExpression(expr: ExpressionRef): boolean; + addDebugInfoFile(name: string): Index; + getDebugInfoFile(index: Index): string | null; + setDebugLocation(func: FunctionRef, expr: ExpressionRef, fileIndex: Index, lineNumber: Index, columnNumber: Index): void; + } + export function createType(types: TypeRef[] | null): TypeRef; + export function expandType(type: TypeRef): TypeRef[]; + export function isNullableType(type: TypeRef): boolean; + export function getExpressionId(expr: ExpressionRef): ExpressionId; + export function getExpressionType(expr: ExpressionRef): TypeRef; + export function getConstValueI32(expr: ExpressionRef): number; + export function getConstValueI64Low(expr: ExpressionRef): number; + export function getConstValueI64High(expr: ExpressionRef): number; + export function getConstValueF32(expr: ExpressionRef): number; + export function getConstValueF64(expr: ExpressionRef): number; + export function getConstValueV128(expr: ExpressionRef): Uint8Array; + export function isConstZero(expr: ExpressionRef): boolean; + export function isConstNonZero(expr: ExpressionRef): boolean; + export function isConstNegZero(expr: ExpressionRef): boolean; + export function isConstNaN(expr: ExpressionRef): boolean; + export function isConstExpressionNaN(module: Module, expr: ExpressionRef): boolean; + export function getLocalGetIndex(expr: ExpressionRef): Index; + export function getLocalSetIndex(expr: ExpressionRef): Index; + export function getLocalSetValue(expr: ExpressionRef): ExpressionRef; + export function isLocalTee(expr: ExpressionRef): boolean; + export function getGlobalGetName(expr: ExpressionRef): string | null; + export function getBinaryOp(expr: ExpressionRef): BinaryOp; + export function getBinaryLeft(expr: ExpressionRef): ExpressionRef; + export function getBinaryRight(expr: ExpressionRef): ExpressionRef; + export function getUnaryOp(expr: ExpressionRef): UnaryOp; + export function getUnaryValue(expr: ExpressionRef): ExpressionRef; + export function getLoadBytes(expr: ExpressionRef): number; + export function getLoadOffset(expr: ExpressionRef): number; + export function getLoadPtr(expr: ExpressionRef): ExpressionRef; + export function isLoadSigned(expr: ExpressionRef): boolean; + export function getStoreBytes(expr: ExpressionRef): number; + export function getStoreOffset(expr: ExpressionRef): number; + export function getStorePtr(expr: ExpressionRef): ExpressionRef; + export function getStoreValue(expr: ExpressionRef): ExpressionRef; + export function getBlockName(expr: ExpressionRef): string | null; + export function getBlockChildCount(expr: ExpressionRef): Index; + export function getBlockChildAt(expr: ExpressionRef, index: Index): ExpressionRef; + export function getIfCondition(expr: ExpressionRef): ExpressionRef; + export function getIfTrue(expr: ExpressionRef): ExpressionRef; + export function getIfFalse(expr: ExpressionRef): ExpressionRef; + export function getLoopName(expr: ExpressionRef): string | null; + export function getLoopBody(expr: ExpressionRef): ExpressionRef; + export function getBreakName(expr: ExpressionRef): string | null; + export function getBreakCondition(expr: ExpressionRef): ExpressionRef; + export function getSelectThen(expr: ExpressionRef): ExpressionRef; + export function getSelectElse(expr: ExpressionRef): ExpressionRef; + export function getSelectCondition(expr: ExpressionRef): ExpressionRef; + export function getDropValue(expr: ExpressionRef): ExpressionRef; + export function getReturnValue(expr: ExpressionRef): ExpressionRef; + export function getCallTarget(expr: ExpressionRef): string | null; + export function getCallOperandCount(expr: ExpressionRef): number; + export function getCallOperandAt(expr: ExpressionRef, index: Index): ExpressionRef; + export function getMemoryGrowDelta(expr: ExpressionRef): ExpressionRef; + export function getFunctionBody(func: FunctionRef): ExpressionRef; + export function getFunctionName(func: FunctionRef): string | null; + export function getFunctionParams(func: FunctionRef): TypeRef; + export function getFunctionResults(func: FunctionRef): TypeRef; + export function getFunctionVars(func: FunctionRef): TypeRef[]; + export function getGlobalName(global: GlobalRef): string | null; + export function getGlobalType(global: GlobalRef): TypeRef; + export function isGlobalMutable(global: GlobalRef): boolean; + export function getGlobalInit(global: GlobalRef): ExpressionRef; + export function getTagName(tag: TagRef): string | null; + export function getTagParams(tag: TagRef): TypeRef; + export function getTagResults(tag: TagRef): TypeRef; + export class Relooper { + /** Module this relooper belongs to. */ + module: Module; + /** Binaryen relooper reference. */ + ref: number; + constructor( + /** Module this relooper belongs to. */ + module: Module, + /** Binaryen relooper reference. */ + ref: number); + static create(module: Module): number; + addBlock(code: ExpressionRef): number; + addBranch(from: number, to: number, condition?: ExpressionRef, code?: ExpressionRef): void; + addBlockWithSwitch(code: ExpressionRef, condition: ExpressionRef): number; + addBranchForSwitch(from: number, to: number, indexes: number[], code?: ExpressionRef): void; + renderAndDispose(entry: number, labelHelper: Index): ExpressionRef; + } + /** Builds a switch using a sequence of `br_if`s. */ + export class SwitchBuilder { + private module; + private condition; + private values; + private indexes; + private cases; + private defaultIndex; + /** Creates a new builder using the specified i32 condition. */ + constructor(module: Module, condition: ExpressionRef); + /** Links a case to the specified branch, replace old case if it is linked. */ + addOrReplaceCase(value: number, code: ExpressionRef[]): void; + /** Links a case to the specified branch. */ + addCase(value: number, code: ExpressionRef[]): void; + private addCode; + /** Links the default branch. */ + addDefault(code: ExpressionRef[]): void; + /** Renders the switch to a block. */ + render(localIndex: number, labelPostfix?: string): ExpressionRef; + } + export const enum SideEffects { + None = 0, + Branches = 1, + Calls = 2, + ReadsLocal = 4, + WritesLocal = 8, + ReadsGlobal = 16, + WritesGlobal = 32, + ReadsMemory = 64, + WritesMemory = 128, + ReadsTable = 256, + WritesTable = 512, + ImplicitTrap = 1024, + IsAtomic = 2048, + Throws = 4096, + DanglingPop = 8192, + TrapsNeverHappen = 16384, + Any = 32767 + } + export function getSideEffects(expr: ExpressionRef, module: ModuleRef): SideEffects; + export function mustPreserveSideEffects(expr: ExpressionRef, module: ModuleRef): boolean; + export function allocPtrArray(ptrs: number[] | null): number; + export function readString(ptr: number): string | null; + /** Result structure of {@link Module#toBinary}. */ + export class BinaryModule { + /** WebAssembly binary. */ + output: Uint8Array; + /** Source map, if generated. */ + sourceMap: string | null; + constructor( + /** WebAssembly binary. */ + output: Uint8Array, + /** Source map, if generated. */ + sourceMap: string | null); + } + /** Ensures that the given potentially complex type has a corresponding GC type. */ + export function ensureType(type: Type): TypeRef; +} +declare module "types:assemblyscript/src/ast" { + /** + * @fileoverview Abstract syntax tree representing a source file once parsed. + * + * Each node in the AST is represented by an instance of a subclass of `Node`, + * with its `Node#kind` represented by one of the `NodeKind` constants, which + * dependent code typically switches over. The intended way to create a node + * is to use the respective `Node.createX` method instead of its constructor. + * + * Note that the AST does not contain any type information except type names. + * + * @license Apache-2.0 + */ + import { CommonFlags } from "types:assemblyscript/src/common"; + import { Range } from "types:assemblyscript/src/diagnostics"; + import { Token } from "types:assemblyscript/src/tokenizer"; + import { ExpressionRef } from "types:assemblyscript/src/module"; + import { Type } from "types:assemblyscript/src/types"; + /** Indicates the kind of a node. */ + export const enum NodeKind { + Source = 0, + NamedType = 1, + FunctionType = 2, + TypeName = 3, + TypeParameter = 4, + Parameter = 5, + Identifier = 6, + Assertion = 7, + Binary = 8, + Call = 9, + Class = 10, + Comma = 11, + ElementAccess = 12, + False = 13, + Function = 14, + InstanceOf = 15, + Literal = 16, + New = 17, + Null = 18, + Omitted = 19, + Parenthesized = 20, + PropertyAccess = 21, + Ternary = 22, + Super = 23, + This = 24, + True = 25, + Constructor = 26, + UnaryPostfix = 27, + UnaryPrefix = 28, + Compiled = 29, + Block = 30, + Break = 31, + Continue = 32, + Do = 33, + Empty = 34, + Export = 35, + ExportDefault = 36, + ExportImport = 37, + Expression = 38, + For = 39, + ForOf = 40, + If = 41, + Import = 42, + Return = 43, + Switch = 44, + Throw = 45, + Try = 46, + Variable = 47, + Void = 48, + While = 49, + Module = 50, + ClassDeclaration = 51, + EnumDeclaration = 52, + EnumValueDeclaration = 53, + FieldDeclaration = 54, + FunctionDeclaration = 55, + ImportDeclaration = 56, + InterfaceDeclaration = 57, + MethodDeclaration = 58, + NamespaceDeclaration = 59, + TypeDeclaration = 60, + VariableDeclaration = 61, + Decorator = 62, + ExportMember = 63, + SwitchCase = 64, + IndexSignature = 65, + Comment = 66 + } + /** Base class of all nodes. */ + export abstract class Node { + /** Kind of this node. */ + kind: NodeKind; + /** Source range. */ + range: Range; + constructor( + /** Kind of this node. */ + kind: NodeKind, + /** Source range. */ + range: Range); + static createSimpleTypeName(name: string, range: Range): TypeName; + static createNamedType(name: TypeName, typeArguments: TypeNode[] | null, isNullable: boolean, range: Range): NamedTypeNode; + static createFunctionType(parameters: ParameterNode[], returnType: TypeNode, explicitThisType: NamedTypeNode | null, isNullable: boolean, range: Range): FunctionTypeNode; + static createOmittedType(range: Range): NamedTypeNode; + static createTypeParameter(name: IdentifierExpression, extendsType: NamedTypeNode | null, defaultType: NamedTypeNode | null, range: Range): TypeParameterNode; + static createParameter(parameterKind: ParameterKind, name: IdentifierExpression, type: TypeNode, initializer: Expression | null, range: Range): ParameterNode; + static createDecorator(name: Expression, args: Expression[] | null, range: Range): DecoratorNode; + static createComment(commentKind: CommentKind, text: string, range: Range): CommentNode; + static createIdentifierExpression(text: string, range: Range, isQuoted?: boolean): IdentifierExpression; + static createEmptyIdentifierExpression(range: Range): IdentifierExpression; + static createArrayLiteralExpression(elementExpressions: Expression[], range: Range): ArrayLiteralExpression; + static createAssertionExpression(assertionKind: AssertionKind, expression: Expression, toType: TypeNode | null, range: Range): AssertionExpression; + static createBinaryExpression(operator: Token, left: Expression, right: Expression, range: Range): BinaryExpression; + static createCallExpression(expression: Expression, typeArguments: TypeNode[] | null, args: Expression[], range: Range): CallExpression; + static createClassExpression(declaration: ClassDeclaration): ClassExpression; + static createCommaExpression(expressions: Expression[], range: Range): CommaExpression; + static createConstructorExpression(range: Range): ConstructorExpression; + static createElementAccessExpression(expression: Expression, elementExpression: Expression, range: Range): ElementAccessExpression; + static createFalseExpression(range: Range): FalseExpression; + static createFloatLiteralExpression(value: number, range: Range): FloatLiteralExpression; + static createFunctionExpression(declaration: FunctionDeclaration): FunctionExpression; + static createInstanceOfExpression(expression: Expression, isType: TypeNode, range: Range): InstanceOfExpression; + static createIntegerLiteralExpression(value: i64, range: Range): IntegerLiteralExpression; + static createNewExpression(typeName: TypeName, typeArguments: TypeNode[] | null, args: Expression[], range: Range): NewExpression; + static createNullExpression(range: Range): NullExpression; + static createObjectLiteralExpression(names: IdentifierExpression[], values: Expression[], range: Range): ObjectLiteralExpression; + static createOmittedExpression(range: Range): OmittedExpression; + static createParenthesizedExpression(expression: Expression, range: Range): ParenthesizedExpression; + static createPropertyAccessExpression(expression: Expression, property: IdentifierExpression, range: Range): PropertyAccessExpression; + static createRegexpLiteralExpression(pattern: string, patternFlags: string, range: Range): RegexpLiteralExpression; + static createTernaryExpression(condition: Expression, ifThen: Expression, ifElse: Expression, range: Range): TernaryExpression; + static createStringLiteralExpression(value: string, range: Range): StringLiteralExpression; + static createSuperExpression(range: Range): SuperExpression; + static createTemplateLiteralExpression(tag: Expression | null, parts: string[], rawParts: string[], expressions: Expression[], range: Range): TemplateLiteralExpression; + static createThisExpression(range: Range): ThisExpression; + static createTrueExpression(range: Range): TrueExpression; + static createUnaryPostfixExpression(operator: Token, operand: Expression, range: Range): UnaryPostfixExpression; + static createUnaryPrefixExpression(operator: Token, operand: Expression, range: Range): UnaryPrefixExpression; + static createCompiledExpression(expr: ExpressionRef, type: Type, range: Range): Expression; + static createBlockStatement(statements: Statement[], range: Range): BlockStatement; + static createBreakStatement(label: IdentifierExpression | null, range: Range): BreakStatement; + static createClassDeclaration(name: IdentifierExpression, decorators: DecoratorNode[] | null, flags: CommonFlags, typeParameters: TypeParameterNode[] | null, extendsType: NamedTypeNode | null, implementsTypes: NamedTypeNode[] | null, members: DeclarationStatement[], range: Range): ClassDeclaration; + static createContinueStatement(label: IdentifierExpression | null, range: Range): ContinueStatement; + static createDoStatement(body: Statement, condition: Expression, range: Range): DoStatement; + static createEmptyStatement(range: Range): EmptyStatement; + static createEnumDeclaration(name: IdentifierExpression, decorators: DecoratorNode[] | null, flags: CommonFlags, values: EnumValueDeclaration[], range: Range): EnumDeclaration; + static createEnumValueDeclaration(name: IdentifierExpression, flags: CommonFlags, initializer: Expression | null, range: Range): EnumValueDeclaration; + static createExportStatement(members: ExportMember[] | null, path: StringLiteralExpression | null, isDeclare: boolean, range: Range): ExportStatement; + static createExportDefaultStatement(declaration: DeclarationStatement, range: Range): ExportDefaultStatement; + static createExportImportStatement(name: IdentifierExpression, externalName: IdentifierExpression, range: Range): ExportImportStatement; + static createExportMember(localName: IdentifierExpression, exportedName: IdentifierExpression | null, range: Range): ExportMember; + static createExpressionStatement(expression: Expression): ExpressionStatement; + static createIfStatement(condition: Expression, ifTrue: Statement, ifFalse: Statement | null, range: Range): IfStatement; + static createImportStatement(declarations: ImportDeclaration[] | null, path: StringLiteralExpression, range: Range): ImportStatement; + static createWildcardImportStatement(namespaceName: IdentifierExpression, path: StringLiteralExpression, range: Range): ImportStatement; + static createImportDeclaration(foreignName: IdentifierExpression, name: IdentifierExpression | null, range: Range): ImportDeclaration; + static createInterfaceDeclaration(name: IdentifierExpression, decorators: DecoratorNode[] | null, flags: CommonFlags, typeParameters: TypeParameterNode[] | null, extendsType: NamedTypeNode | null, implementsTypes: NamedTypeNode[] | null, members: DeclarationStatement[], range: Range): InterfaceDeclaration; + static createFieldDeclaration(name: IdentifierExpression, decorators: DecoratorNode[] | null, flags: CommonFlags, type: TypeNode | null, initializer: Expression | null, range: Range): FieldDeclaration; + static createForStatement(initializer: Statement | null, condition: Expression | null, incrementor: Expression | null, body: Statement, range: Range): ForStatement; + static createForOfStatement(variable: Statement, iterable: Expression, body: Statement, range: Range): ForOfStatement; + static createFunctionDeclaration(name: IdentifierExpression, decorators: DecoratorNode[] | null, flags: CommonFlags, typeParameters: TypeParameterNode[] | null, signature: FunctionTypeNode, body: Statement | null, arrowKind: ArrowKind, range: Range): FunctionDeclaration; + static createIndexSignature(keyType: NamedTypeNode, valueType: TypeNode, flags: CommonFlags, range: Range): IndexSignatureNode; + static createMethodDeclaration(name: IdentifierExpression, decorators: DecoratorNode[] | null, flags: CommonFlags, typeParameters: TypeParameterNode[] | null, signature: FunctionTypeNode, body: Statement | null, range: Range): MethodDeclaration; + static createNamespaceDeclaration(name: IdentifierExpression, decorators: DecoratorNode[] | null, flags: CommonFlags, members: Statement[], range: Range): NamespaceDeclaration; + static createReturnStatement(value: Expression | null, range: Range): ReturnStatement; + static createSwitchStatement(condition: Expression, cases: SwitchCase[], range: Range): SwitchStatement; + static createSwitchCase(label: Expression | null, statements: Statement[], range: Range): SwitchCase; + static createThrowStatement(value: Expression, range: Range): ThrowStatement; + static createTryStatement(bodyStatements: Statement[], catchVariable: IdentifierExpression | null, catchStatements: Statement[] | null, finallyStatements: Statement[] | null, range: Range): TryStatement; + static createTypeDeclaration(name: IdentifierExpression, decorators: DecoratorNode[] | null, flags: CommonFlags, typeParameters: TypeParameterNode[] | null, type: TypeNode, range: Range): TypeDeclaration; + static createModuleDeclaration(name: string, flags: CommonFlags, range: Range): ModuleDeclaration; + static createVariableStatement(decorators: DecoratorNode[] | null, declarations: VariableDeclaration[], range: Range): VariableStatement; + static createVariableDeclaration(name: IdentifierExpression, decorators: DecoratorNode[] | null, flags: CommonFlags, type: TypeNode | null, initializer: Expression | null, range: Range): VariableDeclaration; + static createVoidStatement(expression: Expression, range: Range): VoidStatement; + static createWhileStatement(condition: Expression, statement: Statement, range: Range): WhileStatement; + /** Tests if this node is a literal of the specified kind. */ + isLiteralKind(literalKind: LiteralKind): boolean; + /** Tests if this node is a literal of a numeric kind (float or integer). */ + get isNumericLiteral(): boolean; + /** Tests whether this node is guaranteed to compile to a constant value. */ + get compilesToConst(): boolean; + private isAccessOn; + /** Checks if this node accesses a method or property on `this`. */ + get isAccessOnThis(): boolean; + /** Checks if this node accesses a method or property on `super`. */ + get isAccessOnSuper(): boolean; + get isEmpty(): boolean; + } + export abstract class TypeNode extends Node { + /** Whether nullable or not. */ + isNullable: boolean; + constructor( + /** Kind of the type node. */ + kind: NodeKind, + /** Whether nullable or not. */ + isNullable: boolean, + /** Source range. */ + range: Range); + /** Whether this type node is currently in the process of being resolved. */ + currentlyResolving: boolean; + /** Tests if this type has a generic component matching one of the given type parameters. */ + hasGenericComponent(typeParameterNodes: TypeParameterNode[]): boolean; + } + /** Represents a type name. */ + export class TypeName extends Node { + /** Identifier of this part. */ + identifier: IdentifierExpression; + /** Next part of the type name or `null` if this is the last part. */ + next: TypeName | null; + constructor( + /** Identifier of this part. */ + identifier: IdentifierExpression, + /** Next part of the type name or `null` if this is the last part. */ + next: TypeName | null, + /** Source range. */ + range: Range); + } + /** Represents a named type. */ + export class NamedTypeNode extends TypeNode { + /** Type name. */ + name: TypeName; + /** Type argument references. */ + typeArguments: TypeNode[] | null; + constructor( + /** Type name. */ + name: TypeName, + /** Type argument references. */ + typeArguments: TypeNode[] | null, + /** Whether nullable or not. */ + isNullable: boolean, + /** Source range. */ + range: Range); + /** Checks if this type node has type arguments. */ + get hasTypeArguments(): boolean; + /** Tests if this type is "null". */ + get isNull(): boolean; + } + /** Represents a function type. */ + export class FunctionTypeNode extends TypeNode { + /** Function parameters. */ + parameters: ParameterNode[]; + /** Return type. */ + returnType: TypeNode; + /** Explicitly provided this type, if any. */ + explicitThisType: NamedTypeNode | null; + constructor( + /** Function parameters. */ + parameters: ParameterNode[], + /** Return type. */ + returnType: TypeNode, + /** Explicitly provided this type, if any. */ + explicitThisType: NamedTypeNode | null, // can't be a function + /** Whether nullable or not. */ + isNullable: boolean, + /** Source range. */ + range: Range); + } + /** Represents a type parameter. */ + export class TypeParameterNode extends Node { + /** Identifier reference. */ + name: IdentifierExpression; + /** Extended type reference, if any. */ + extendsType: NamedTypeNode | null; + /** Default type if omitted, if any. */ + defaultType: NamedTypeNode | null; + constructor( + /** Identifier reference. */ + name: IdentifierExpression, + /** Extended type reference, if any. */ + extendsType: NamedTypeNode | null, // can't be a function + /** Default type if omitted, if any. */ + defaultType: NamedTypeNode | null, // can't be a function + /** Source range. */ + range: Range); + } + /** Represents the kind of a parameter. */ + export const enum ParameterKind { + /** No specific flags. */ + Default = 0, + /** Is an optional parameter. */ + Optional = 1, + /** Is a rest parameter. */ + Rest = 2 + } + /** Represents a function parameter. */ + export class ParameterNode extends Node { + /** Parameter kind. */ + parameterKind: ParameterKind; + /** Parameter name. */ + name: IdentifierExpression; + /** Parameter type. */ + type: TypeNode; + /** Initializer expression, if any. */ + initializer: Expression | null; + constructor( + /** Parameter kind. */ + parameterKind: ParameterKind, + /** Parameter name. */ + name: IdentifierExpression, + /** Parameter type. */ + type: TypeNode, + /** Initializer expression, if any. */ + initializer: Expression | null, + /** Source range. */ + range: Range); + /** Implicit field declaration, if applicable. */ + implicitFieldDeclaration: FieldDeclaration | null; + /** Common flags indicating specific traits. */ + flags: CommonFlags; + /** Tests if this node has the specified flag or flags. */ + is(flag: CommonFlags): boolean; + /** Tests if this node has one of the specified flags. */ + isAny(flag: CommonFlags): boolean; + /** Sets a specific flag or flags. */ + set(flag: CommonFlags): void; + } + /** Built-in decorator kinds. */ + export enum DecoratorKind { + Custom = 0, + Global = 1, + Operator = 2, + OperatorBinary = 3, + OperatorPrefix = 4, + OperatorPostfix = 5, + Unmanaged = 6, + Final = 7, + Inline = 8, + External = 9, + ExternalJs = 10, + Builtin = 11, + Lazy = 12, + Unsafe = 13 + } + export namespace DecoratorKind { + /** Returns the kind of the specified decorator name node. Defaults to {@link DecoratorKind.CUSTOM}. */ + function fromNode(nameNode: Expression): DecoratorKind; + } + /** Represents a decorator. */ + export class DecoratorNode extends Node { + /** Built-in decorator kind, or custom. */ + decoratorKind: DecoratorKind; + /** Name expression. */ + name: Expression; + /** Argument expressions. */ + args: Expression[] | null; + constructor( + /** Built-in decorator kind, or custom. */ + decoratorKind: DecoratorKind, + /** Name expression. */ + name: Expression, + /** Argument expressions. */ + args: Expression[] | null, + /** Source range. */ + range: Range); + } + /** Comment kinds. */ + export const enum CommentKind { + /** Line comment. */ + Line = 0, + /** Triple-slash line comment. */ + Triple = 1, + /** Block comment. */ + Block = 2 + } + /** Represents a comment. */ + export class CommentNode extends Node { + /** Comment kind. */ + commentKind: CommentKind; + /** Comment text. */ + text: string; + constructor( + /** Comment kind. */ + commentKind: CommentKind, + /** Comment text. */ + text: string, + /** Source range. */ + range: Range); + } + /** Base class of all expression nodes. */ + export abstract class Expression extends Node { + } + /** Represents an identifier expression. */ + export class IdentifierExpression extends Expression { + /** Textual name. */ + text: string; + /** Whether quoted or not. */ + isQuoted: boolean; + constructor( + /** Textual name. */ + text: string, + /** Whether quoted or not. */ + isQuoted: boolean, + /** Source range. */ + range: Range); + } + /** Indicates the kind of a literal. */ + export const enum LiteralKind { + Float = 0, + Integer = 1, + String = 2, + Template = 3, + RegExp = 4, + Array = 5, + Object = 6 + } + /** Base class of all literal expressions. */ + export abstract class LiteralExpression extends Expression { + /** Specific literal kind. */ + literalKind: LiteralKind; + constructor( + /** Specific literal kind. */ + literalKind: LiteralKind, + /** Source range. */ + range: Range); + } + /** Represents an `[]` literal expression. */ + export class ArrayLiteralExpression extends LiteralExpression { + /** Nested element expressions. */ + elementExpressions: Expression[]; + constructor( + /** Nested element expressions. */ + elementExpressions: Expression[], + /** Source range. */ + range: Range); + } + /** Indicates the kind of an assertion. */ + export const enum AssertionKind { + /** A prefix assertion, i.e. `expr`. */ + Prefix = 0, + /** An as assertion, i.e. `expr as T`. */ + As = 1, + /** A non-null assertion, i.e. `!expr`. */ + NonNull = 2, + /** A const assertion, i.e. `expr as const`. */ + Const = 3 + } + /** Represents an assertion expression. */ + export class AssertionExpression extends Expression { + /** Specific kind of this assertion. */ + assertionKind: AssertionKind; + /** Expression being asserted. */ + expression: Expression; + /** Target type, if applicable. */ + toType: TypeNode | null; + constructor( + /** Specific kind of this assertion. */ + assertionKind: AssertionKind, + /** Expression being asserted. */ + expression: Expression, + /** Target type, if applicable. */ + toType: TypeNode | null, + /** Source range. */ + range: Range); + } + /** Represents a binary expression. */ + export class BinaryExpression extends Expression { + /** Operator token. */ + operator: Token; + /** Left-hand side expression */ + left: Expression; + /** Right-hand side expression. */ + right: Expression; + constructor( + /** Operator token. */ + operator: Token, + /** Left-hand side expression */ + left: Expression, + /** Right-hand side expression. */ + right: Expression, + /** Source range. */ + range: Range); + } + /** Represents a call expression. */ + export class CallExpression extends Expression { + /** Called expression. Usually an identifier or property access expression. */ + expression: Expression; + /** Provided type arguments. */ + typeArguments: TypeNode[] | null; + /** Provided arguments. */ + args: Expression[]; + constructor( + /** Called expression. Usually an identifier or property access expression. */ + expression: Expression, + /** Provided type arguments. */ + typeArguments: TypeNode[] | null, + /** Provided arguments. */ + args: Expression[], + /** Source range. */ + range: Range); + /** Gets the type arguments range for reporting. */ + get typeArgumentsRange(): Range; + /** Gets the arguments range for reporting. */ + get argumentsRange(): Range; + } + /** Represents a class expression using the 'class' keyword. */ + export class ClassExpression extends Expression { + /** Inline class declaration. */ + declaration: ClassDeclaration; + constructor( + /** Inline class declaration. */ + declaration: ClassDeclaration); + } + /** Represents a comma expression composed of multiple expressions. */ + export class CommaExpression extends Expression { + /** Sequential expressions. */ + expressions: Expression[]; + constructor( + /** Sequential expressions. */ + expressions: Expression[], + /** Source range. */ + range: Range); + } + /** Represents a `constructor` expression. */ + export class ConstructorExpression extends IdentifierExpression { + constructor( + /** Source range. */ + range: Range); + } + /** Represents an element access expression, e.g., array access. */ + export class ElementAccessExpression extends Expression { + /** Expression being accessed. */ + expression: Expression; + /** Element of the expression being accessed. */ + elementExpression: Expression; + constructor( + /** Expression being accessed. */ + expression: Expression, + /** Element of the expression being accessed. */ + elementExpression: Expression, + /** Source range. */ + range: Range); + } + /** Represents a float literal expression. */ + export class FloatLiteralExpression extends LiteralExpression { + /** Float value. */ + value: number; + constructor( + /** Float value. */ + value: number, + /** Source range. */ + range: Range); + } + /** Represents a function expression using the 'function' keyword. */ + export class FunctionExpression extends Expression { + /** Inline function declaration. */ + declaration: FunctionDeclaration; + constructor( + /** Inline function declaration. */ + declaration: FunctionDeclaration); + } + /** Represents an `instanceof` expression. */ + export class InstanceOfExpression extends Expression { + /** Expression being asserted. */ + expression: Expression; + /** Type to test for. */ + isType: TypeNode; + constructor( + /** Expression being asserted. */ + expression: Expression, + /** Type to test for. */ + isType: TypeNode, + /** Source range. */ + range: Range); + } + /** Represents an integer literal expression. */ + export class IntegerLiteralExpression extends LiteralExpression { + /** Integer value. */ + value: i64; + constructor( + /** Integer value. */ + value: i64, + /** Source range. */ + range: Range); + } + /** Represents a `new` expression. Like a call but with its own kind. */ + export class NewExpression extends Expression { + /** Type being constructed. */ + typeName: TypeName; + /** Provided type arguments. */ + typeArguments: TypeNode[] | null; + /** Provided arguments. */ + args: Expression[]; + constructor( + /** Type being constructed. */ + typeName: TypeName, + /** Provided type arguments. */ + typeArguments: TypeNode[] | null, + /** Provided arguments. */ + args: Expression[], + /** Source range. */ + range: Range); + /** Gets the type arguments range for reporting. */ + get typeArgumentsRange(): Range; + /** Gets the arguments range for reporting. */ + get argumentsRange(): Range; + } + /** Represents a `null` expression. */ + export class NullExpression extends IdentifierExpression { + constructor( + /** Source range. */ + range: Range); + } + /** Represents an object literal expression. */ + export class ObjectLiteralExpression extends LiteralExpression { + /** Field names. */ + names: IdentifierExpression[]; + /** Field values. */ + values: Expression[]; + constructor( + /** Field names. */ + names: IdentifierExpression[], + /** Field values. */ + values: Expression[], + /** Source range. */ + range: Range); + } + /** Represents an omitted expression, e.g. within an array literal. */ + export class OmittedExpression extends Expression { + constructor( + /** Source range. */ + range: Range); + } + /** Represents a parenthesized expression. */ + export class ParenthesizedExpression extends Expression { + /** Expression in parenthesis. */ + expression: Expression; + constructor( + /** Expression in parenthesis. */ + expression: Expression, + /** Source range. */ + range: Range); + } + /** Represents a property access expression. */ + export class PropertyAccessExpression extends Expression { + /** Expression being accessed. */ + expression: Expression; + /** Property of the expression being accessed. */ + property: IdentifierExpression; + constructor( + /** Expression being accessed. */ + expression: Expression, + /** Property of the expression being accessed. */ + property: IdentifierExpression, + /** Source range. */ + range: Range); + } + /** Represents a regular expression literal expression. */ + export class RegexpLiteralExpression extends LiteralExpression { + /** Regular expression pattern. */ + pattern: string; + /** Regular expression flags. */ + patternFlags: string; + constructor( + /** Regular expression pattern. */ + pattern: string, + /** Regular expression flags. */ + patternFlags: string, + /** Source range. */ + range: Range); + } + /** Represents a ternary expression, i.e., short if notation. */ + export class TernaryExpression extends Expression { + /** Condition expression. */ + condition: Expression; + /** Expression executed when condition is `true`. */ + ifThen: Expression; + /** Expression executed when condition is `false`. */ + ifElse: Expression; + constructor( + /** Condition expression. */ + condition: Expression, + /** Expression executed when condition is `true`. */ + ifThen: Expression, + /** Expression executed when condition is `false`. */ + ifElse: Expression, + /** Source range. */ + range: Range); + } + /** Represents a string literal expression. */ + export class StringLiteralExpression extends LiteralExpression { + /** String value without quotes. */ + value: string; + constructor( + /** String value without quotes. */ + value: string, + /** Source range. */ + range: Range); + } + /** Represents a `super` expression. */ + export class SuperExpression extends IdentifierExpression { + constructor( + /** Source range. */ + range: Range); + } + /** Represents a template literal expression. */ + export class TemplateLiteralExpression extends LiteralExpression { + /** Tag expression, if any. */ + tag: Expression | null; + /** String parts. */ + parts: string[]; + /** Raw string parts. */ + rawParts: string[]; + /** Expression parts. */ + expressions: Expression[]; + constructor( + /** Tag expression, if any. */ + tag: Expression | null, + /** String parts. */ + parts: string[], + /** Raw string parts. */ + rawParts: string[], + /** Expression parts. */ + expressions: Expression[], + /** Source range. */ + range: Range); + } + /** Represents a `this` expression. */ + export class ThisExpression extends IdentifierExpression { + constructor( + /** Source range. */ + range: Range); + } + /** Represents a `true` expression. */ + export class TrueExpression extends IdentifierExpression { + constructor( + /** Source range. */ + range: Range); + } + /** Represents a `false` expression. */ + export class FalseExpression extends IdentifierExpression { + constructor( + /** Source range. */ + range: Range); + } + /** Base class of all unary expressions. */ + export abstract class UnaryExpression extends Expression { + /** Operator token. */ + operator: Token; + /** Operand expression. */ + operand: Expression; + constructor( + /** Unary expression kind. */ + kind: NodeKind, + /** Operator token. */ + operator: Token, + /** Operand expression. */ + operand: Expression, + /** Source range. */ + range: Range); + } + /** Represents a unary postfix expression, e.g. a postfix increment. */ + export class UnaryPostfixExpression extends UnaryExpression { + constructor( + /** Operator token. */ + operator: Token, + /** Operand expression. */ + operand: Expression, + /** Source range. */ + range: Range); + } + /** Represents a unary prefix expression, e.g. a negation. */ + export class UnaryPrefixExpression extends UnaryExpression { + constructor( + /** Operator token. */ + operator: Token, + /** Operand expression. */ + operand: Expression, + /** Source range. */ + range: Range); + } + /** Represents a special pre-compiled expression. If the expression has side-effects, special care has to be taken. */ + export class CompiledExpression extends Expression { + /** Compiled expression. */ + expr: ExpressionRef; + /** Type of the compiled expression. */ + type: Type; + constructor( + /** Compiled expression. */ + expr: ExpressionRef, + /** Type of the compiled expression. */ + type: Type, + /** Source range. */ + range: Range); + } + /** Base class of all statement nodes. */ + export abstract class Statement extends Node { + } + /** Indicates the specific kind of a source. */ + export const enum SourceKind { + /** User-provided file. */ + User = 0, + /** User-provided entry file. */ + UserEntry = 1, + /** Library-provided file. */ + Library = 2, + /** Library-provided entry file. */ + LibraryEntry = 3 + } + /** A top-level source node. */ + export class Source extends Node { + /** Source kind. */ + sourceKind: SourceKind; + /** Normalized path with file extension. */ + normalizedPath: string; + /** Full source text. */ + text: string; + /** Gets the special native source. */ + static get native(): Source; + private static _native; + constructor( + /** Source kind. */ + sourceKind: SourceKind, + /** Normalized path with file extension. */ + normalizedPath: string, + /** Full source text. */ + text: string); + /** Path used internally. */ + internalPath: string; + /** Simple path (last part without extension). */ + simplePath: string; + /** Contained statements. */ + statements: Statement[]; + /** Source map index. */ + debugInfoIndex: number; + /** Re-exported sources. */ + exportPaths: string[] | null; + /** Checks if this source represents native code. */ + get isNative(): boolean; + /** Checks if this source is part of the (standard) library. */ + get isLibrary(): boolean; + /** Cached line starts. */ + private lineCache; + /** Remembered column number. */ + private lineColumn; + /** Determines the line number at the specified position. Starts at `1`. */ + lineAt(pos: number): number; + /** Gets the column number at the last position queried with `lineAt`. Starts at `1`. */ + columnAt(): number; + } + /** Base class of all declaration statements. */ + export abstract class DeclarationStatement extends Statement { + /** Simple name being declared. */ + name: IdentifierExpression; + /** Array of decorators, if any. */ + decorators: DecoratorNode[] | null; + /** Common flags indicating specific traits. */ + flags: CommonFlags; + constructor( + /** Declaration node kind. */ + kind: NodeKind, + /** Simple name being declared. */ + name: IdentifierExpression, + /** Array of decorators, if any. */ + decorators: DecoratorNode[] | null, + /** Common flags indicating specific traits. */ + flags: CommonFlags, + /** Source range. */ + range: Range); + /** Overridden module name from preceeding `module` statement. */ + overriddenModuleName: string | null; + /** Tests if this node has the specified flag or flags. */ + is(flag: CommonFlags): boolean; + /** Tests if this node has one of the specified flags. */ + isAny(flag: CommonFlags): boolean; + /** Sets a specific flag or flags. */ + set(flag: CommonFlags): void; + } + /** Represents an index signature. */ + export class IndexSignatureNode extends Node { + /** Key type. */ + keyType: NamedTypeNode; + /** Value type. */ + valueType: TypeNode; + /** Common flags indicating specific traits. */ + flags: CommonFlags; + constructor( + /** Key type. */ + keyType: NamedTypeNode, + /** Value type. */ + valueType: TypeNode, + /** Common flags indicating specific traits. */ + flags: CommonFlags, + /** Source range. */ + range: Range); + } + /** Base class of all variable-like declaration statements. */ + export abstract class VariableLikeDeclarationStatement extends DeclarationStatement { + /** Annotated type node, if any. */ + type: TypeNode | null; + /** Initializer expression, if any. */ + initializer: Expression | null; + constructor( + /** Variable-like declaration node kind. */ + kind: NodeKind, + /** Simple name being declared. */ + name: IdentifierExpression, + /** Array of decorators, if any. */ + decorators: DecoratorNode[] | null, + /** Common flags indicating specific traits. */ + flags: CommonFlags, + /** Annotated type node, if any. */ + type: TypeNode | null, + /** Initializer expression, if any. */ + initializer: Expression | null, + /** Source range. */ + range: Range); + } + /** Represents a block statement. */ + export class BlockStatement extends Statement { + /** Contained statements. */ + statements: Statement[]; + constructor( + /** Contained statements. */ + statements: Statement[], + /** Source range. */ + range: Range); + } + /** Represents a `break` statement. */ + export class BreakStatement extends Statement { + /** Target label, if any. */ + label: IdentifierExpression | null; + constructor( + /** Target label, if any. */ + label: IdentifierExpression | null, + /** Source range. */ + range: Range); + } + /** Represents a `class` declaration. */ + export class ClassDeclaration extends DeclarationStatement { + /** Accepted type parameters. */ + typeParameters: TypeParameterNode[] | null; + /** Base class type being extended, if any. */ + extendsType: NamedTypeNode | null; + /** Interface types being implemented, if any. */ + implementsTypes: NamedTypeNode[] | null; + /** Class member declarations. */ + members: DeclarationStatement[]; + constructor( + /** Simple name being declared. */ + name: IdentifierExpression, + /** Array of decorators, if any. */ + decorators: DecoratorNode[] | null, + /** Common flags indicating specific traits. */ + flags: CommonFlags, + /** Accepted type parameters. */ + typeParameters: TypeParameterNode[] | null, + /** Base class type being extended, if any. */ + extendsType: NamedTypeNode | null, // can't be a function + /** Interface types being implemented, if any. */ + implementsTypes: NamedTypeNode[] | null, // can't be functions + /** Class member declarations. */ + members: DeclarationStatement[], + /** Source range. */ + range: Range); + /** Index signature, if present. */ + indexSignature: IndexSignatureNode | null; + get isGeneric(): boolean; + } + /** Represents a `continue` statement. */ + export class ContinueStatement extends Statement { + /** Target label, if applicable. */ + label: IdentifierExpression | null; + constructor( + /** Target label, if applicable. */ + label: IdentifierExpression | null, + /** Source range. */ + range: Range); + } + /** Represents a `do` statement. */ + export class DoStatement extends Statement { + /** Body statement being looped over. */ + body: Statement; + /** Condition when to repeat. */ + condition: Expression; + constructor( + /** Body statement being looped over. */ + body: Statement, + /** Condition when to repeat. */ + condition: Expression, + /** Source range. */ + range: Range); + } + /** Represents an empty statement, i.e., a semicolon terminating nothing. */ + export class EmptyStatement extends Statement { + constructor( + /** Source range. */ + range: Range); + } + /** Represents an `enum` declaration. */ + export class EnumDeclaration extends DeclarationStatement { + /** Enum value declarations. */ + values: EnumValueDeclaration[]; + constructor( + /** Simple name being declared. */ + name: IdentifierExpression, + /** Array of decorators, if any. */ + decorators: DecoratorNode[] | null, + /** Common flags indicating specific traits. */ + flags: CommonFlags, + /** Enum value declarations. */ + values: EnumValueDeclaration[], + /** Source range. */ + range: Range); + } + /** Represents a value of an `enum` declaration. */ + export class EnumValueDeclaration extends VariableLikeDeclarationStatement { + constructor( + /** Simple name being declared. */ + name: IdentifierExpression, + /** Common flags indicating specific traits. */ + flags: CommonFlags, + /** Initializer expression, if any. */ + initializer: Expression | null, + /** Source range. */ + range: Range); + } + /** Represents an `export import` statement of an interface. */ + export class ExportImportStatement extends Statement { + /** Identifier being imported. */ + name: IdentifierExpression; + /** Identifier being exported. */ + externalName: IdentifierExpression; + constructor( + /** Identifier being imported. */ + name: IdentifierExpression, + /** Identifier being exported. */ + externalName: IdentifierExpression, + /** Source range. */ + range: Range); + } + /** Represents a member of an `export` statement. */ + export class ExportMember extends Node { + /** Local identifier. */ + localName: IdentifierExpression; + /** Exported identifier. */ + exportedName: IdentifierExpression; + constructor( + /** Local identifier. */ + localName: IdentifierExpression, + /** Exported identifier. */ + exportedName: IdentifierExpression, + /** Source range. */ + range: Range); + } + /** Represents an `export` statement. */ + export class ExportStatement extends Statement { + /** Array of members if a set of named exports, or `null` if a file export. */ + members: ExportMember[] | null; + /** Path being exported from, if applicable. */ + path: StringLiteralExpression | null; + /** Whether this is a declared export. */ + isDeclare: boolean; + constructor( + /** Array of members if a set of named exports, or `null` if a file export. */ + members: ExportMember[] | null, + /** Path being exported from, if applicable. */ + path: StringLiteralExpression | null, + /** Whether this is a declared export. */ + isDeclare: boolean, + /** Source range. */ + range: Range); + /** Internal path being referenced, if `path` is set. */ + internalPath: string | null; + } + /** Represents an `export default` statement. */ + export class ExportDefaultStatement extends Statement { + /** Declaration being exported as default. */ + declaration: DeclarationStatement; + constructor( + /** Declaration being exported as default. */ + declaration: DeclarationStatement, + /** Source range. */ + range: Range); + } + /** Represents an expression that is used as a statement. */ + export class ExpressionStatement extends Statement { + /** Expression being used as a statement.*/ + expression: Expression; + constructor( + /** Expression being used as a statement.*/ + expression: Expression); + } + /** Represents a field declaration within a `class`. */ + export class FieldDeclaration extends VariableLikeDeclarationStatement { + /** Parameter index if declared as a constructor parameter, otherwise `-1`. */ + parameterIndex: number; + constructor( + /** Simple name being declared. */ + name: IdentifierExpression, + /** Array of decorators, if any. */ + decorators: DecoratorNode[] | null, + /** Common flags indicating specific traits. */ + flags: CommonFlags, + /** Annotated type node, if any. */ + type: TypeNode | null, + /** Initializer expression, if any. */ + initializer: Expression | null, + /** Parameter index if declared as a constructor parameter, otherwise `-1`. */ + parameterIndex: number, + /** Source range. */ + range: Range); + } + /** Represents a `for` statement. */ + export class ForStatement extends Statement { + /** Initializer statement, if present. Either a `VariableStatement` or `ExpressionStatement`. */ + initializer: Statement | null; + /** Condition expression, if present. */ + condition: Expression | null; + /** Incrementor expression, if present. */ + incrementor: Expression | null; + /** Body statement being looped over. */ + body: Statement; + constructor( + /** Initializer statement, if present. Either a `VariableStatement` or `ExpressionStatement`. */ + initializer: Statement | null, + /** Condition expression, if present. */ + condition: Expression | null, + /** Incrementor expression, if present. */ + incrementor: Expression | null, + /** Body statement being looped over. */ + body: Statement, + /** Source range. */ + range: Range); + } + /** Represents a `for..of` statement. */ + export class ForOfStatement extends Statement { + /** Variable statement. Either a `VariableStatement` or `ExpressionStatement` of `IdentifierExpression`. */ + variable: Statement; + /** Iterable expression being iterated. */ + iterable: Expression; + /** Body statement being looped over. */ + body: Statement; + constructor( + /** Variable statement. Either a `VariableStatement` or `ExpressionStatement` of `IdentifierExpression`. */ + variable: Statement, + /** Iterable expression being iterated. */ + iterable: Expression, + /** Body statement being looped over. */ + body: Statement, + /** Source range. */ + range: Range); + } + /** Indicates the kind of an array function. */ + export const enum ArrowKind { + /** Not an arrow function. */ + None = 0, + /** Parenthesized parameter list. */ + Parenthesized = 1, + /** Single parameter without parenthesis. */ + Single = 2 + } + /** Represents a `function` declaration. */ + export class FunctionDeclaration extends DeclarationStatement { + /** Type parameters, if any. */ + typeParameters: TypeParameterNode[] | null; + /** Function signature. */ + signature: FunctionTypeNode; + /** Body statement. Usually a block. */ + body: Statement | null; + /** Arrow function kind, if applicable. */ + arrowKind: ArrowKind; + constructor( + /** Simple name being declared. */ + name: IdentifierExpression, + /** Array of decorators, if any. */ + decorators: DecoratorNode[] | null, + /** Common flags indicating specific traits. */ + flags: CommonFlags, + /** Type parameters, if any. */ + typeParameters: TypeParameterNode[] | null, + /** Function signature. */ + signature: FunctionTypeNode, + /** Body statement. Usually a block. */ + body: Statement | null, + /** Arrow function kind, if applicable. */ + arrowKind: ArrowKind, + /** Source range. */ + range: Range); + /** Gets if this function is generic. */ + get isGeneric(): boolean; + /** Clones this function declaration. */ + clone(): FunctionDeclaration; + } + /** Represents an `if` statement. */ + export class IfStatement extends Statement { + /** Condition. */ + condition: Expression; + /** Statement executed when condition is `true`. */ + ifTrue: Statement; + /** Statement executed when condition is `false`. */ + ifFalse: Statement | null; + constructor( + /** Condition. */ + condition: Expression, + /** Statement executed when condition is `true`. */ + ifTrue: Statement, + /** Statement executed when condition is `false`. */ + ifFalse: Statement | null, + /** Source range. */ + range: Range); + } + /** Represents an `import` declaration part of an {@link ImportStatement}. */ + export class ImportDeclaration extends DeclarationStatement { + /** Identifier being imported. */ + foreignName: IdentifierExpression; + constructor( + /** Simple name being declared. */ + name: IdentifierExpression, + /** Identifier being imported. */ + foreignName: IdentifierExpression, + /** Source range. */ + range: Range); + } + /** Represents an `import` statement. */ + export class ImportStatement extends Statement { + /** Array of member declarations or `null` if an asterisk import. */ + declarations: ImportDeclaration[] | null; + /** Name of the local namespace, if an asterisk import. */ + namespaceName: IdentifierExpression | null; + /** Path being imported from. */ + path: StringLiteralExpression; + constructor( + /** Array of member declarations or `null` if an asterisk import. */ + declarations: ImportDeclaration[] | null, + /** Name of the local namespace, if an asterisk import. */ + namespaceName: IdentifierExpression | null, + /** Path being imported from. */ + path: StringLiteralExpression, + /** Source range. */ + range: Range); + /** Internal path being referenced. */ + internalPath: string; + } + /** Represents an `interfarce` declaration. */ + export class InterfaceDeclaration extends ClassDeclaration { + constructor( + /** Simple name being declared. */ + name: IdentifierExpression, + /** Array of decorators, if any. */ + decorators: DecoratorNode[] | null, + /** Common flags indicating specific traits. */ + flags: CommonFlags, + /** Accepted type parameters. */ + typeParameters: TypeParameterNode[] | null, + /** Base class type being extended, if any. */ + extendsType: NamedTypeNode | null, // can't be a function + /** Interface types being implemented, if any. */ + implementsTypes: NamedTypeNode[] | null, // can't be functions + /** Class member declarations. */ + members: DeclarationStatement[], + /** Source range. */ + range: Range); + } + /** Represents a method declaration within a `class`. */ + export class MethodDeclaration extends FunctionDeclaration { + constructor( + /** Simple name being declared. */ + name: IdentifierExpression, + /** Array of decorators, if any. */ + decorators: DecoratorNode[] | null, + /** Common flags indicating specific traits. */ + flags: CommonFlags, + /** Type parameters, if any. */ + typeParameters: TypeParameterNode[] | null, + /** Function signature. */ + signature: FunctionTypeNode, + /** Body statement. Usually a block. */ + body: Statement | null, + /** Source range. */ + range: Range); + } + /** Represents a `namespace` declaration. */ + export class NamespaceDeclaration extends DeclarationStatement { + /** Array of namespace members. */ + members: Statement[]; + constructor( + /** Simple name being declared. */ + name: IdentifierExpression, + /** Array of decorators, if any. */ + decorators: DecoratorNode[] | null, + /** Common flags indicating specific traits. */ + flags: CommonFlags, + /** Array of namespace members. */ + members: Statement[], + /** Source range. */ + range: Range); + } + /** Represents a `return` statement. */ + export class ReturnStatement extends Statement { + /** Value expression being returned, if present. */ + value: Expression | null; + constructor( + /** Value expression being returned, if present. */ + value: Expression | null, + /** Source range. */ + range: Range); + } + /** Represents a single `case` within a `switch` statement. */ + export class SwitchCase extends Node { + /** Label expression. `null` indicates the default case. */ + label: Expression | null; + /** Contained statements. */ + statements: Statement[]; + constructor( + /** Label expression. `null` indicates the default case. */ + label: Expression | null, + /** Contained statements. */ + statements: Statement[], + /** Source range. */ + range: Range); + get isDefault(): boolean; + } + /** Represents a `switch` statement. */ + export class SwitchStatement extends Statement { + /** Condition expression. */ + condition: Expression; + /** Contained cases. */ + cases: SwitchCase[]; + constructor( + /** Condition expression. */ + condition: Expression, + /** Contained cases. */ + cases: SwitchCase[], + /** Source range. */ + range: Range); + } + /** Represents a `throw` statement. */ + export class ThrowStatement extends Statement { + /** Value expression being thrown. */ + value: Expression; + constructor( + /** Value expression being thrown. */ + value: Expression, + /** Source range. */ + range: Range); + } + /** Represents a `try` statement. */ + export class TryStatement extends Statement { + /** Contained statements. */ + bodyStatements: Statement[]; + /** Exception variable name, if a `catch` clause is present. */ + catchVariable: IdentifierExpression | null; + /** Statements being executed on catch, if a `catch` clause is present. */ + catchStatements: Statement[] | null; + /** Statements being executed afterwards, if a `finally` clause is present. */ + finallyStatements: Statement[] | null; + constructor( + /** Contained statements. */ + bodyStatements: Statement[], + /** Exception variable name, if a `catch` clause is present. */ + catchVariable: IdentifierExpression | null, + /** Statements being executed on catch, if a `catch` clause is present. */ + catchStatements: Statement[] | null, + /** Statements being executed afterwards, if a `finally` clause is present. */ + finallyStatements: Statement[] | null, + /** Source range. */ + range: Range); + } + /** Represents a `module` statement. */ + export class ModuleDeclaration extends Statement { + /** Module name. */ + moduleName: string; + /** Common flags indicating specific traits. */ + flags: CommonFlags; + constructor( + /** Module name. */ + moduleName: string, + /** Common flags indicating specific traits. */ + flags: CommonFlags, + /** Source range. */ + range: Range); + } + /** Represents a `type` declaration. */ + export class TypeDeclaration extends DeclarationStatement { + /** Type parameters, if any. */ + typeParameters: TypeParameterNode[] | null; + /** Type being aliased. */ + type: TypeNode; + constructor( + /** Simple name being declared. */ + name: IdentifierExpression, + /** Array of decorators, if any. */ + decorators: DecoratorNode[] | null, + /** Common flags indicating specific traits. */ + flags: CommonFlags, + /** Type parameters, if any. */ + typeParameters: TypeParameterNode[] | null, + /** Type being aliased. */ + type: TypeNode, + /** Source range. */ + range: Range); + } + /** Represents a variable declaration part of a {@link VariableStatement}. */ + export class VariableDeclaration extends VariableLikeDeclarationStatement { + constructor( + /** Simple name being declared. */ + name: IdentifierExpression, + /** Array of decorators, if any. */ + decorators: DecoratorNode[] | null, + /** Common flags indicating specific traits. */ + flags: CommonFlags, + /** Annotated type node, if any. */ + type: TypeNode | null, + /** Initializer expression, if any. */ + initializer: Expression | null, + /** Source range. */ + range: Range); + } + /** Represents a variable statement wrapping {@link VariableDeclaration}s. */ + export class VariableStatement extends Statement { + /** Array of decorators. */ + decorators: DecoratorNode[] | null; + /** Array of member declarations. */ + declarations: VariableDeclaration[]; + constructor( + /** Array of decorators. */ + decorators: DecoratorNode[] | null, + /** Array of member declarations. */ + declarations: VariableDeclaration[], + /** Source range. */ + range: Range); + } + /** Represents a void statement dropping an expression's value. */ + export class VoidStatement extends Statement { + /** Expression being dropped. */ + expression: Expression; + constructor( + /** Expression being dropped. */ + expression: Expression, + /** Source range. */ + range: Range); + } + /** Represents a `while` statement. */ + export class WhileStatement extends Statement { + /** Condition expression. */ + condition: Expression; + /** Body statement being looped over. */ + body: Statement; + constructor( + /** Condition expression. */ + condition: Expression, + /** Body statement being looped over. */ + body: Statement, + /** Source range. */ + range: Range); + } + /** Finds the first decorator matching the specified kind. */ + export function findDecorator(kind: DecoratorKind, decorators: DecoratorNode[] | null): DecoratorNode | null; + /** Mangles an external to an internal path. */ + export function mangleInternalPath(path: string): string; + /** Tests if the specified type node represents an omitted type. */ + export function isTypeOmitted(type: TypeNode): boolean; +} +declare module "types:assemblyscript/src/bindings/tsd" { + import { Global, Program, Function, Class, Interface, Enum, Element } from "types:assemblyscript/src/program"; + import { Type } from "types:assemblyscript/src/types"; + import { ExportsWalker } from "types:assemblyscript/src/bindings/util"; + /** A TypeScript definitions builder. */ + export class TSDBuilder extends ExportsWalker { + /** Builds TypeScript definitions for the specified program. */ + static build(program: Program, esm?: boolean): string; + private esm; + private sb; + private indentLevel; + private seenObjectTypes; + private deferredTypings; + /** Constructs a new TypeScript definitions builder. */ + constructor(program: Program, esm: boolean, includePrivate?: boolean); + visitGlobal(name: string, element: Global): void; + visitEnum(name: string, element: Enum): void; + visitFunction(name: string, element: Function): void; + visitClass(name: string, element: Class): void; + visitInterface(name: string, element: Interface): void; + visitNamespace(name: string, element: Element): void; + visitAlias(name: string, element: Element, originalName: string): void; + build(): string; + isPlainObject(clazz: Class): boolean; + toTypeScriptType(type: Type, mode: Mode): string; + makeRecordType(clazz: Class, mode: Mode): string; + fieldAcceptsUndefined(type: Type): boolean; + makeInternrefType(clazz: Class): string; + } + enum Mode { + IMPORT = 0, + EXPORT = 1 + } + export {}; +} +declare module "types:assemblyscript/src/bindings" { + /** + * @fileoverview Builders for various definitions describing a module. + * + * - JSBuilder: Creates a JavaScript glue code file (.js) + * - TSDBuilder: Creates a TypeScript definition file (.d.ts) + * + * @license Apache-2.0 + */ + export { JSBuilder } from "types:assemblyscript/src/bindings/js"; + export { TSDBuilder } from "types:assemblyscript/src/bindings/tsd"; +} +declare module "types:assemblyscript/src/index-wasm" { + /** + * @fileoverview The C-like and re-exported public compiler interface. + * + * The intended way to consume the compiler sources is to import this + * file, which again exports all relevant functions, classes and constants + * as a flat namespace. + * + * Note though that the compiler sources are written in "portable + * AssemblyScript" that can be compiled to both JavaScript with tsc and + * to WebAssembly with asc, and as such require additional glue code + * depending on the target. + * + * When compiling to JavaScript `glue/js/index.js` must be included. + * When compiling to WebAssembly `glue/wasm/index.ts` must be included. + */ + import { Target, Runtime, Feature } from "types:assemblyscript/src/common"; + import { Options, UncheckedBehavior } from "types:assemblyscript/src/compiler"; + import { Range, DiagnosticMessage, DiagnosticCategory, formatDiagnosticMessage } from "types:assemblyscript/src/diagnostics"; + import { Module } from "types:assemblyscript/src/module"; + import { Program } from "types:assemblyscript/src/program"; + import { Source } from "types:assemblyscript/src/ast"; + /** Creates a new set of compiler options. */ + export function newOptions(): Options; + /** Sets the `target` option. */ + export function setTarget(options: Options, target: Target): void; + export function setRuntime(options: Options, runtime: Runtime): void; + /** Sets the `noAssert` option. */ + export function setNoAssert(options: Options, noAssert: boolean): void; + /** Sets the `exportMemory` option. */ + export function setExportMemory(options: Options, exportMemory: boolean): void; + /** Sets the `importMemory` option. */ + export function setImportMemory(options: Options, importMemory: boolean): void; + /** Sets the `initialMemory` option. */ + export function setInitialMemory(options: Options, initialMemory: number): void; + /** Sets the `maximumMemory` option. */ + export function setMaximumMemory(options: Options, maximumMemory: number): void; + /** Sets the `sharedMemory` option. */ + export function setSharedMemory(options: Options, sharedMemory: boolean): void; + /** Sets the `importTable` option. */ + export function setImportTable(options: Options, importTable: boolean): void; + /** Sets the `exportTable` option. */ + export function setExportTable(options: Options, exportTable: boolean): void; + /** Sets the `sourceMap` option. */ + export function setSourceMap(options: Options, sourceMap: boolean): void; + /** Sets the `uncheckedBehavior` option. */ + export function setUncheckedBehavior(options: Options, uncheckedBehavior: UncheckedBehavior): void; + /** Sets the `memoryBase` option. */ + export function setMemoryBase(options: Options, memoryBase: number): void; + /** Sets the `tableBase` option. */ + export function setTableBase(options: Options, tableBase: number): void; + /** Adds a 'globalAliases' value. */ + export function addGlobalAlias(options: Options, alias: string, name: string): void; + /** Removes a 'globalAliases' value. */ + export function removeGlobalAlias(options: Options, alias: string): void; + /** Sets the `exportStart` option. */ + export function setExportStart(options: Options, exportStart: string | null): void; + /** Sets the `noUnsafe` option. */ + export function setNoUnsafe(options: Options, noUnsafe: boolean): void; + /** Sets the `lowMemoryLimit` option. */ + export function setLowMemoryLimit(options: Options, lowMemoryLimit: number): void; + /** Sets the `exportRuntime` option. */ + export function setExportRuntime(options: Options, exportRuntime: boolean): void; + /** Default stack size. */ + export const DEFAULT_STACK_SIZE = 32768; + /** Sets the `stackSize` option. */ + export function setStackSize(options: Options, stackSize: number): void; + /** Sets the bundle semantic version. */ + export function setBundleVersion(options: Options, bundleMajorVersion: number, bundleMinorVersion: number, bundlePatchVersion: number): void; + /** Sign extension operations. */ + export const FEATURE_SIGN_EXTENSION: Feature; + /** Mutable global imports and exports. */ + export const FEATURE_MUTABLE_GLOBALS: Feature; + /** Non-trapping float to int conversion operations. */ + export const FEATURE_NONTRAPPING_F2I: Feature; + /** Bulk memory operations. */ + export const FEATURE_BULK_MEMORY: Feature; + /** SIMD types and operations. */ + export const FEATURE_SIMD: Feature; + /** Threading and atomic operations. */ + export const FEATURE_THREADS: Feature; + /** Exception handling operations. */ + export const FEATURE_EXCEPTION_HANDLING: Feature; + /** Tail call operations. */ + export const FEATURE_TAIL_CALLS: Feature; + /** Reference types. */ + export const FEATURE_REFERENCE_TYPES: Feature; + /** Multi value types. */ + export const FEATURE_MULTI_VALUE: Feature; + /** Garbage collection. */ + export const FEATURE_GC: Feature; + /** Memory64. */ + export const FEATURE_MEMORY64: Feature; + /** Relaxed SIMD. */ + export const FEATURE_RELAXED_SIMD: Feature; + /** Extended const expressions. */ + export const FEATURE_EXTENDED_CONST: Feature; + /** String references. */ + export const FEATURE_STRINGREF: Feature; + /** All features. */ + export const FEATURES_ALL: Feature; + /** Default features. */ + export const FEATURES_DEFAULT: number; + /** Sets whether a specific feature is enabled. */ + export function setFeature(options: Options, feature: Feature, on: boolean): void; + /** Gives the compiler a hint at the optimize levels that will be used later on. */ + export function setOptimizeLevelHints(options: Options, optimizeLevel: number, shrinkLevel: number): void; + /** Gives the compiler a hint of the emitted module's basename. */ + export function setBasenameHint(options: Options, basename: string): void; + /** Gives the compiler a hint that bindings will be generated. */ + export function setBindingsHint(options: Options, bindings: boolean): void; + /** Sets the `pedantic` option. */ + export function setPedantic(options: Options, pedantic: boolean): void; + export function setDebugInfo(options: Options, debug: boolean): void; + /** Creates a new Program. */ + export function newProgram(options: Options): Program; + /** Obtains the next diagnostic message. Returns `null` once complete. */ + export function nextDiagnostic(program: Program): DiagnosticMessage | null; + /** Obtains the source of the given file. */ + export function getSource(program: Program, internalPath: string): string | null; + /** Formats a diagnostic message to a string. */ + export { formatDiagnosticMessage as formatDiagnostic }; + /** Gets the code of a diagnostic message. */ + export function getDiagnosticCode(diagnostic: DiagnosticMessage): number; + /** Gets the category of a diagnostic message. */ + export function getDiagnosticCategory(diagnostic: DiagnosticMessage): DiagnosticCategory; + /** Gets the textual message of a diagnostic message. */ + export function getDiagnosticMessage(diagnostic: DiagnosticMessage): string; + /** Gets the primary range, if any, of a diagnostic message. */ + export function getDiagnosticRange(diagnostic: DiagnosticMessage): Range | null; + /** Gets the related range, if any, of a diagnostic message. */ + export function getDiagnosticRelatedRange(diagnostic: DiagnosticMessage): Range | null; + /** Gets a range's start offset. */ + export function getRangeStart(range: Range): number; + /** Gets a range's end offsset. */ + export function getRangeEnd(range: Range): number; + /** Gets a range's relevant source. */ + export function getRangeSource(range: Range): Source; + /** Gets a source's normalized path. */ + export function getSourceNormalizedPath(source: Source): string; + /** Tests whether a diagnostic is informatory. */ + export function isInfo(message: DiagnosticMessage): boolean; + /** Tests whether a diagnostic is a warning. */ + export function isWarning(message: DiagnosticMessage): boolean; + /** Tests whether a diagnostic is an error. */ + export function isError(message: DiagnosticMessage): boolean; + /** Parses a source file. If `parser` has been omitted a new one is created. */ + export function parse( + /** Program reference. */ + program: Program, + /** Source text of the file, or `null` to indicate not found. */ + text: string | null, + /** Normalized path of the file. */ + path: string, + /** Whether this is an entry file. */ + isEntry?: boolean): void; + /** Obtains the next required file's path. Returns `null` once complete. */ + export function nextFile(program: Program): string | null; + /** Obtains the path of the dependee of a given imported file. */ + export function getDependee(program: Program, file: string): string | null; + /** Initializes the program pre-emptively for transform hooks. */ + export function initializeProgram(program: Program): void; + /** Compiles the parsed sources to a module. */ + export function compile(program: Program): Module; + /** Builds TypeScript definitions for the specified program. */ + export function buildTSD(program: Program, esm: boolean): string; + /** Builds JavaScript glue code for the specified program. */ + export function buildJS(program: Program, esm: boolean): string; + /** Gets the Binaryen module reference of a module. */ + export function getBinaryenModuleRef(module: Module): number; + /** Validates a module. */ + export function validate(module: Module): boolean; + /** Optimizes a module. */ + export function optimize(module: Module, optimizeLevel: number, shrinkLevel: number, debugInfo?: boolean, zeroFilledMemory?: boolean): void; +} +declare module "types:assemblyscript/src/extra/ast" { + /** + * @fileoverview Abstract Syntax Tree extras. + * + * Provides serialization of the AssemblyScript AST back to it source form. + * + * @license Apache-2.0 + */ + import { Node, Source, TypeNode, NamedTypeNode, FunctionTypeNode, TypeName, TypeParameterNode, IdentifierExpression, LiteralExpression, FloatLiteralExpression, IntegerLiteralExpression, StringLiteralExpression, TemplateLiteralExpression, RegexpLiteralExpression, ArrayLiteralExpression, AssertionExpression, BinaryExpression, CallExpression, CommaExpression, ElementAccessExpression, FunctionExpression, NewExpression, ParenthesizedExpression, PropertyAccessExpression, TernaryExpression, UnaryPostfixExpression, UnaryExpression, UnaryPrefixExpression, ClassExpression, ObjectLiteralExpression, BlockStatement, BreakStatement, ContinueStatement, DoStatement, EmptyStatement, ExportImportStatement, ExportStatement, ExportDefaultStatement, ExpressionStatement, ForStatement, ForOfStatement, IfStatement, ImportStatement, InstanceOfExpression, ReturnStatement, SwitchStatement, ThrowStatement, TryStatement, VariableStatement, WhileStatement, ModuleDeclaration, DeclarationStatement, ClassDeclaration, EnumDeclaration, EnumValueDeclaration, FieldDeclaration, FunctionDeclaration, ImportDeclaration, InterfaceDeclaration, MethodDeclaration, NamespaceDeclaration, TypeDeclaration, VariableDeclaration, DecoratorNode, ParameterNode, ExportMember, SwitchCase, IndexSignatureNode } from "types:assemblyscript/src/ast"; + /** An AST builder. */ + export class ASTBuilder { + /** Rebuilds the textual source from the specified AST, as far as possible. */ + static build(node: Node): string; + private sb; + private indentLevel; + visitNode(node: Node): void; + visitSource(source: Source): void; + visitTypeNode(node: TypeNode): void; + visitTypeName(node: TypeName): void; + visitNamedTypeNode(node: NamedTypeNode): void; + visitFunctionTypeNode(node: FunctionTypeNode): void; + visitTypeParameter(node: TypeParameterNode): void; + visitIdentifierExpression(node: IdentifierExpression): void; + visitArrayLiteralExpression(node: ArrayLiteralExpression): void; + visitObjectLiteralExpression(node: ObjectLiteralExpression): void; + visitAssertionExpression(node: AssertionExpression): void; + visitBinaryExpression(node: BinaryExpression): void; + visitCallExpression(node: CallExpression): void; + private visitArguments; + visitClassExpression(node: ClassExpression): void; + visitCommaExpression(node: CommaExpression): void; + visitElementAccessExpression(node: ElementAccessExpression): void; + visitFunctionExpression(node: FunctionExpression): void; + visitLiteralExpression(node: LiteralExpression): void; + visitFloatLiteralExpression(node: FloatLiteralExpression): void; + visitInstanceOfExpression(node: InstanceOfExpression): void; + visitIntegerLiteralExpression(node: IntegerLiteralExpression): void; + visitStringLiteral(str: string): void; + visitStringLiteralExpression(node: StringLiteralExpression): void; + visitTemplateLiteralExpression(node: TemplateLiteralExpression): void; + visitRegexpLiteralExpression(node: RegexpLiteralExpression): void; + visitNewExpression(node: NewExpression): void; + visitParenthesizedExpression(node: ParenthesizedExpression): void; + visitPropertyAccessExpression(node: PropertyAccessExpression): void; + visitTernaryExpression(node: TernaryExpression): void; + visitUnaryExpression(node: UnaryExpression): void; + visitUnaryPostfixExpression(node: UnaryPostfixExpression): void; + visitUnaryPrefixExpression(node: UnaryPrefixExpression): void; + visitNodeAndTerminate(node: Node): void; + visitBlockStatement(node: BlockStatement): void; + visitBreakStatement(node: BreakStatement): void; + visitContinueStatement(node: ContinueStatement): void; + visitClassDeclaration(node: ClassDeclaration, isDefault?: boolean): void; + visitDoStatement(node: DoStatement): void; + visitEmptyStatement(node: EmptyStatement): void; + visitEnumDeclaration(node: EnumDeclaration, isDefault?: boolean): void; + visitEnumValueDeclaration(node: EnumValueDeclaration): void; + visitExportImportStatement(node: ExportImportStatement): void; + visitExportMember(node: ExportMember): void; + visitExportStatement(node: ExportStatement): void; + visitExportDefaultStatement(node: ExportDefaultStatement): void; + visitExpressionStatement(node: ExpressionStatement): void; + visitFieldDeclaration(node: FieldDeclaration): void; + visitForStatement(node: ForStatement): void; + visitForOfStatement(node: ForOfStatement): void; + visitFunctionDeclaration(node: FunctionDeclaration, isDefault?: boolean): void; + visitFunctionCommon(node: FunctionDeclaration): void; + visitIfStatement(node: IfStatement): void; + visitImportDeclaration(node: ImportDeclaration): void; + visitImportStatement(node: ImportStatement): void; + visitIndexSignature(node: IndexSignatureNode): void; + visitInterfaceDeclaration(node: InterfaceDeclaration, isDefault?: boolean): void; + visitMethodDeclaration(node: MethodDeclaration): void; + visitNamespaceDeclaration(node: NamespaceDeclaration, isDefault?: boolean): void; + visitReturnStatement(node: ReturnStatement): void; + visitSwitchCase(node: SwitchCase): void; + visitSwitchStatement(node: SwitchStatement): void; + visitThrowStatement(node: ThrowStatement): void; + visitTryStatement(node: TryStatement): void; + visitTypeDeclaration(node: TypeDeclaration): void; + visitModuleDeclaration(node: ModuleDeclaration): void; + visitVariableDeclaration(node: VariableDeclaration): void; + visitVariableStatement(node: VariableStatement): void; + visitWhileStatement(node: WhileStatement): void; + serializeDecorator(node: DecoratorNode): void; + serializeParameter(node: ParameterNode): void; + serializeExternalModifiers(node: DeclarationStatement): void; + serializeAccessModifiers(node: DeclarationStatement): void; + finish(): string; + } +} +declare module "types:assemblyscript/src/index-js" { + import "types:assemblyscript/src/glue/js/index"; + export * from "types:assemblyscript/src/index-wasm"; + export * from "types:assemblyscript/src/ast"; + export * from "types:assemblyscript/src/common"; + export * from "types:assemblyscript/src/compiler"; + export * from "types:assemblyscript/src/bindings"; + export * from "types:assemblyscript/src/diagnostics"; + export * from "types:assemblyscript/src/flow"; + export * from "types:assemblyscript/src/module"; + export * from "types:assemblyscript/src/parser"; + export * from "types:assemblyscript/src/program"; + export * from "types:assemblyscript/src/resolver"; + export * from "types:assemblyscript/src/tokenizer"; + export * from "types:assemblyscript/src/types"; + export * from "types:assemblyscript/src/extra/ast"; + import * as util from "types:assemblyscript/src/util"; + export { util }; +} +declare module "types:assemblyscript/src/index" { + /** + * @license + * Copyright 2020 Daniel Wirtz / The AssemblyScript Authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ + export * from "types:assemblyscript/src/index-js"; + import * as assemblyscript from "types:assemblyscript/src/index-js"; + export default assemblyscript; +} +declare module "types:assemblyscript/src/passes/ministack" { + /** + * @fileoverview A potential minimalistic shadow stack. Currently not used. + * + * Instruments a module's exports to track when the execution stack is fully + * unwound, and injects a call to `__autocollect` to be invoked when it is. + * Accounts for the currently in-flight managed return value from Wasm to the + * host by pushing it to a mini stack, essentially a stack of only one value, + * while `__autocollect` is executing. + * + * @license Apache-2.0 + */ + import { Pass } from "types:assemblyscript/src/passes/pass"; + import { ExportRef, Module } from "types:assemblyscript/src/module"; + import { Program } from "types:assemblyscript/src/program"; + /** Instruments a module with a minimalistic shadow stack for precise GC. */ + export class MiniStack extends Pass { + /** Compiler reference. */ + program: Program; + /** Exported functions returning managed values. */ + managedReturns: Set; + constructor(module: Module, program: Program); + /** Notes the presence of an exported function with a managed return value. */ + noteManagedReturn(exportName: string): void; + /** Instruments a function export to also maintain stack depth. */ + instrumentFunctionExport(ref: ExportRef): void; + /** Runs the pass. Returns `true` if the mini stack has been added. */ + run(): boolean; + } +} +declare module "types:assemblyscript/std/assembly/shared/feature" { + /** Indicates specific features to activate. */ + export const enum Feature { + /** No additional features. */ + None = 0, + /** Sign extension operations. */ + SignExtension = 1, + /** Mutable global imports and exports. */ + MutableGlobals = 2, + /** Non-trapping float to integer operations. */ + NontrappingF2I = 4, + /** Bulk memory operations. */ + BulkMemory = 8, + /** SIMD types and operations. */ + Simd = 16, + /** Threading and atomic operations. */ + Threads = 32, + /** Exception handling operations. */ + ExceptionHandling = 64, + /** Tail call operations. */ + TailCalls = 128, + /** Reference types. */ + ReferenceTypes = 256, + /** Multi value types. */ + MultiValue = 512, + /** Garbage collection. */ + GC = 1024, + /** Memory64. */ + Memory64 = 2048, + /** Relaxed SIMD. */ + RelaxedSimd = 4096, + /** Extended const expressions. */ + ExtendedConst = 8192, + /** Reference typed strings. */ + Stringref = 16384, + /** All features. */ + All = 32767 + } + /** Gets the name of the specified feature one would specify on the command line. */ + export function featureToString(feature: Feature): string; +} +declare module "types:assemblyscript/std/assembly/shared/runtime" { + /** Runtime types. */ + export enum Runtime { + /** Simple bump allocator without GC. */ + Stub = 0, + /** Stop the world semi-automatic GC. */ + Minimal = 1, + /** incremental GC. */ + Incremental = 2 + } +} +declare module "types:assemblyscript/std/assembly/shared/target" { + /** Compilation target. */ + export enum Target { + /** Portable. */ + Js = 0, + /** WebAssembly with 32-bit pointers. */ + Wasm32 = 1, + /** WebAssembly with 64-bit pointers. Experimental and not supported by any runtime yet. */ + Wasm64 = 2 + } +} +declare module "types:assemblyscript/std/assembly/shared/typeinfo" { + /** Runtime type information data structure. */ + export class Typeinfo { + /** Flags describing the shape of this class type. */ + flags: TypeinfoFlags; + } + /** Runtime type information flags. */ + export const enum TypeinfoFlags { + /** No specific flags. */ + NONE = 0, + /** Type is an `ArrayBufferView`. */ + ARRAYBUFFERVIEW = 1, + /** Type is an `Array`. */ + ARRAY = 2, + /** Type is a `StaticArray`. */ + STATICARRAY = 4, + /** Type is a `Set`. */ + SET = 8, + /** Type is a `Map`. */ + MAP = 16, + /** Type has no outgoing pointers. */ + POINTERFREE = 32, + /** Value alignment of 1 byte. */ + VALUE_ALIGN_0 = 64, + /** Value alignment of 2 bytes. */ + VALUE_ALIGN_1 = 128, + /** Value alignment of 4 bytes. */ + VALUE_ALIGN_2 = 256, + /** Value alignment of 8 bytes. */ + VALUE_ALIGN_3 = 512, + /** Value alignment of 16 bytes. */ + VALUE_ALIGN_4 = 1024, + /** Value is a signed type. */ + VALUE_SIGNED = 2048, + /** Value is a float type. */ + VALUE_FLOAT = 4096, + /** Value type is nullable. */ + VALUE_NULLABLE = 8192, + /** Value type is managed. */ + VALUE_MANAGED = 16384, + /** Key alignment of 1 byte. */ + KEY_ALIGN_0 = 32768, + /** Key alignment of 2 bytes. */ + KEY_ALIGN_1 = 65536, + /** Key alignment of 4 bytes. */ + KEY_ALIGN_2 = 131072, + /** Key alignment of 8 bytes. */ + KEY_ALIGN_3 = 262144, + /** Key alignment of 16 bytes. */ + KEY_ALIGN_4 = 524288, + /** Key is a signed type. */ + KEY_SIGNED = 1048576, + /** Key is a float type. */ + KEY_FLOAT = 2097152, + /** Key type is nullable. */ + KEY_NULLABLE = 4194304, + /** Key type is managed. */ + KEY_MANAGED = 8388608 + } +} +declare module "types:assemblyscript/src/glue/binaryen" { + /** + * @fileoverview Portable definitions for Binaryen's C-API. + * + * tsc uses the .js file next to it, while asc makes it a Wasm import. + * + * See: https://github.com/WebAssembly/binaryen/blob/main/src/binaryen-c.h + * + * @license Apache-2.0 + */ + module "binaryen"; + type Ref = number; + export type Index = number; + export type ExpressionId = number; + export type FeatureFlags = number; + export type Op = number; + export type ExternalKind = number; + export type SideEffects = number; + export type ExpressionRunnerFlags = number; + export type StringRef = Ref; + export type Pointer = Ref; + export type ArrayRef = Ref; + export type TypeRef = Ref; + export type HeapTypeRef = Ref; + export type PackedType = number; + export type ModuleRef = Ref; + export type LiteralRef = Ref; + export type ExpressionRef = Ref; + export type FunctionRef = Ref; + export type ImportRef = Ref; + export type ExportRef = Ref; + export type GlobalRef = Ref; + export type TagRef = Ref; + export type TableRef = Ref; + export type ElementSegmentRef = Ref; + export type RelooperRef = Ref; + export type RelooperBlockRef = Ref; + export type ExpressionRunnerRef = Ref; + export type BinaryenModuleAllocateAndWriteResultRef = Ref; + export type TypeBuilderRef = Ref; + export type TypeBuilderErrorReason = number; + export function _BinaryenTypeCreate(types: ArrayRef, numTypes: number): TypeRef; + export function _BinaryenTypeArity(type: TypeRef): number; + export function _BinaryenTypeExpand(type: TypeRef, typesOut: ArrayRef): void; + export function _BinaryenTypeGetHeapType(type: TypeRef): HeapTypeRef; + export function _BinaryenTypeFromHeapType(heapType: HeapTypeRef, nullable: boolean): TypeRef; + export function _BinaryenTypeIsNullable(type: TypeRef): boolean; + export function _BinaryenTypeFuncref(): TypeRef; + export function _BinaryenTypeExternref(): TypeRef; + export function _BinaryenTypeAnyref(): TypeRef; + export function _BinaryenTypeEqref(): TypeRef; + export function _BinaryenTypeStructref(): TypeRef; + export function _BinaryenTypeArrayref(): TypeRef; + export function _BinaryenTypeI31ref(): TypeRef; + export function _BinaryenTypeStringref(): TypeRef; + export function _BinaryenTypeStringviewWTF8(): TypeRef; + export function _BinaryenTypeStringviewWTF16(): TypeRef; + export function _BinaryenTypeStringviewIter(): TypeRef; + export function _BinaryenTypeNullref(): TypeRef; + export function _BinaryenTypeNullExternref(): TypeRef; + export function _BinaryenTypeNullFuncref(): TypeRef; + export function _BinaryenHeapTypeFunc(): HeapTypeRef; + export function _BinaryenHeapTypeExt(): HeapTypeRef; + export function _BinaryenHeapTypeAny(): HeapTypeRef; + export function _BinaryenHeapTypeEq(): HeapTypeRef; + export function _BinaryenHeapTypeI31(): HeapTypeRef; + export function _BinaryenHeapTypeStruct(): HeapTypeRef; + export function _BinaryenHeapTypeArray(): HeapTypeRef; + export function _BinaryenHeapTypeString(): HeapTypeRef; + export function _BinaryenHeapTypeStringviewWTF8(): HeapTypeRef; + export function _BinaryenHeapTypeStringviewWTF16(): HeapTypeRef; + export function _BinaryenHeapTypeStringviewIter(): HeapTypeRef; + export function _BinaryenHeapTypeNone(): HeapTypeRef; + export function _BinaryenHeapTypeNoext(): HeapTypeRef; + export function _BinaryenHeapTypeNofunc(): HeapTypeRef; + export function _BinaryenHeapTypeIsBasic(heapType: HeapTypeRef): boolean; + export function _BinaryenHeapTypeIsSignature(heapType: HeapTypeRef): boolean; + export function _BinaryenHeapTypeIsStruct(heapType: HeapTypeRef): boolean; + export function _BinaryenHeapTypeIsArray(heapType: HeapTypeRef): boolean; + export function _BinaryenHeapTypeIsBottom(heapType: HeapTypeRef): boolean; + export function _BinaryenHeapTypeGetBottom(heapType: HeapTypeRef): HeapTypeRef; + export function _BinaryenHeapTypeIsSubType(left: HeapTypeRef, right: HeapTypeRef): boolean; + export function _BinaryenStructTypeGetNumFields(heapType: HeapTypeRef): Index; + export function _BinaryenStructTypeGetFieldType(heapType: HeapTypeRef, index: Index): TypeRef; + export function _BinaryenStructTypeGetFieldPackedType(heapType: HeapTypeRef, index: Index): PackedType; + export function _BinaryenStructTypeIsFieldMutable(heapType: HeapTypeRef, index: Index): boolean; + export function _BinaryenArrayTypeGetElementType(heapType: HeapTypeRef): TypeRef; + export function _BinaryenArrayTypeGetElementPackedType(heapType: HeapTypeRef): PackedType; + export function _BinaryenArrayTypeIsElementMutable(heapType: HeapTypeRef): boolean; + export function _BinaryenSignatureTypeGetParams(heapType: HeapTypeRef): TypeRef; + export function _BinaryenSignatureTypeGetResults(heapType: HeapTypeRef): TypeRef; + export function _BinaryenModuleCreate(): ModuleRef; + export function _BinaryenModuleDispose(module: ModuleRef): void; + export function _BinaryenSizeofLiteral(): number; + export function _BinaryenLiteralInt32(literalOut: LiteralRef, x: number): void; + export function _BinaryenLiteralInt64(literalOut: LiteralRef, x: number, y: number): void; + export function _BinaryenLiteralFloat32(literalOut: LiteralRef, x: number): void; + export function _BinaryenLiteralFloat64(literalOut: LiteralRef, x: number): void; + export function _BinaryenLiteralVec128(literalOut: LiteralRef, x: ArrayRef): void; + export function _BinaryenLiteralFloat32Bits(literalOut: LiteralRef, x: number): void; + export function _BinaryenLiteralFloat64Bits(literalOut: LiteralRef, x: number, y: number): void; + export function _BinaryenExpressionGetId(expr: ExpressionRef): ExpressionId; + export function _BinaryenExpressionGetType(expr: ExpressionRef): TypeRef; + export function _BinaryenExpressionSetType(expr: ExpressionRef, type: TypeRef): void; + export function _BinaryenExpressionPrint(expr: ExpressionRef): void; + export function _BinaryenExpressionCopy(expr: ExpressionRef, module: ModuleRef): ExpressionRef; + export function _BinaryenExpressionFinalize(expr: ExpressionRef): void; + export function _BinaryenBlock(module: ModuleRef, name: StringRef, childExprs: ArrayRef, numChildren: Index, type: TypeRef): ExpressionRef; + export function _BinaryenBlockGetName(expr: ExpressionRef): StringRef; + export function _BinaryenBlockSetName(expr: ExpressionRef, name: StringRef): void; + export function _BinaryenBlockGetNumChildren(expr: ExpressionRef): Index; + export function _BinaryenBlockGetChildAt(expr: ExpressionRef, index: Index): ExpressionRef; + export function _BinaryenBlockSetChildAt(expr: ExpressionRef, index: Index, childExpr: ExpressionRef): void; + export function _BinaryenBlockAppendChild(expr: ExpressionRef, childExpr: ExpressionRef): Index; + export function _BinaryenBlockInsertChildAt(expr: ExpressionRef, index: Index, childExpr: ExpressionRef): void; + export function _BinaryenBlockRemoveChildAt(expr: ExpressionRef, index: Index): ExpressionRef; + export function _BinaryenIf(module: ModuleRef, conditionExpr: ExpressionRef, ifTrueExpr: ExpressionRef, ifFalseExpr: ExpressionRef): ExpressionRef; + export function _BinaryenIfGetCondition(expr: ExpressionRef): ExpressionRef; + export function _BinaryenIfSetCondition(expr: ExpressionRef, conditionExpr: ExpressionRef): void; + export function _BinaryenIfGetIfTrue(expr: ExpressionRef): ExpressionRef; + export function _BinaryenIfSetIfTrue(expr: ExpressionRef, ifTrueExpr: ExpressionRef): void; + export function _BinaryenIfGetIfFalse(expr: ExpressionRef): ExpressionRef; + export function _BinaryenIfSetIfFalse(expr: ExpressionRef, ifFalseExpr: ExpressionRef): void; + export function _BinaryenLoop(module: ModuleRef, name: StringRef, bodyExpr: ExpressionRef): ExpressionRef; + export function _BinaryenLoopGetName(expr: ExpressionRef): StringRef; + export function _BinaryenLoopSetName(expr: ExpressionRef, name: StringRef): void; + export function _BinaryenLoopGetBody(expr: ExpressionRef): ExpressionRef; + export function _BinaryenLoopSetBody(expr: ExpressionRef, bodyExpr: ExpressionRef): void; + export function _BinaryenBreak(module: ModuleRef, name: StringRef, conditionExpr: ExpressionRef, valueExpr: ExpressionRef): ExpressionRef; + export function _BinaryenBreakGetName(expr: ExpressionRef): StringRef; + export function _BinaryenBreakSetName(expr: ExpressionRef, name: StringRef): void; + export function _BinaryenBreakGetCondition(expr: ExpressionRef): ExpressionRef; + export function _BinaryenBreakSetCondition(expr: ExpressionRef, conditionExpr: ExpressionRef): void; + export function _BinaryenBreakGetValue(expr: ExpressionRef): ExpressionRef; + export function _BinaryenBreakSetValue(expr: ExpressionRef, valueExpr: ExpressionRef): void; + export function _BinaryenSwitch(module: ModuleRef, names: ArrayRef, numNames: Index, defaultName: StringRef, conditionExpr: ExpressionRef, valueExpr: ExpressionRef): ExpressionRef; + export function _BinaryenSwitchGetNumNames(expr: ExpressionRef): Index; + export function _BinaryenSwitchGetNameAt(expr: ExpressionRef, index: Index): StringRef; + export function _BinaryenSwitchSetNameAt(expr: ExpressionRef, index: Index, name: StringRef): void; + export function _BinaryenSwitchAppendName(expr: ExpressionRef, name: StringRef): Index; + export function _BinaryenSwitchInsertNameAt(expr: ExpressionRef, index: Index, name: StringRef): void; + export function _BinaryenSwitchRemoveNameAt(expr: ExpressionRef, index: Index): StringRef; + export function _BinaryenSwitchGetDefaultName(expr: ExpressionRef): StringRef; + export function _BinaryenSwitchSetDefaultName(expr: ExpressionRef, defaultName: StringRef): void; + export function _BinaryenSwitchGetCondition(expr: ExpressionRef): ExpressionRef; + export function _BinaryenSwitchSetCondition(expr: ExpressionRef, conditionExpr: ExpressionRef): void; + export function _BinaryenSwitchGetValue(expr: ExpressionRef): ExpressionRef; + export function _BinaryenSwitchSetValue(expr: ExpressionRef, valueExpr: ExpressionRef): void; + export function _BinaryenCall(module: ModuleRef, targetName: StringRef, operandExprs: ArrayRef, numOperands: Index, returnType: TypeRef): ExpressionRef; + export function _BinaryenCallGetTarget(expr: ExpressionRef): StringRef; + export function _BinaryenCallSetTarget(expr: ExpressionRef, targetName: StringRef): void; + export function _BinaryenCallGetNumOperands(expr: ExpressionRef): Index; + export function _BinaryenCallGetOperandAt(expr: ExpressionRef, index: Index): ExpressionRef; + export function _BinaryenCallSetOperandAt(expr: ExpressionRef, index: Index, operandExpr: ExpressionRef): void; + export function _BinaryenCallAppendOperand(expr: ExpressionRef, operandExpr: ExpressionRef): Index; + export function _BinaryenCallInsertOperandAt(expr: ExpressionRef, index: Index, operandExpr: ExpressionRef): void; + export function _BinaryenCallRemoveOperandAt(expr: ExpressionRef, index: Index): ExpressionRef; + export function _BinaryenCallIsReturn(expr: ExpressionRef): boolean; + export function _BinaryenCallSetReturn(expr: ExpressionRef, isReturn: boolean): void; + // ^ with return = true + export function _BinaryenReturnCall(module: ModuleRef, targetName: StringRef, operandExprs: ArrayRef, numOperands: Index, returnType: TypeRef): ExpressionRef; + export function _BinaryenCallIndirect(module: ModuleRef, table: StringRef, targetExpr: ExpressionRef, operandExprs: ArrayRef, numOperands: Index, params: TypeRef, results: TypeRef): ExpressionRef; + export function _BinaryenCallIndirectGetTable(expr: ExpressionRef): StringRef; + export function _BinaryenCallIndirectSetTable(expr: ExpressionRef, table: StringRef): void; + export function _BinaryenCallIndirectGetTarget(expr: ExpressionRef): ExpressionRef; + export function _BinaryenCallIndirectSetTarget(expr: ExpressionRef, targetExpr: ExpressionRef): void; + export function _BinaryenCallIndirectGetNumOperands(expr: ExpressionRef): Index; + export function _BinaryenCallIndirectGetOperandAt(expr: ExpressionRef, index: Index): ExpressionRef; + export function _BinaryenCallIndirectSetOperandAt(expr: ExpressionRef, index: Index, operandExpr: ExpressionRef): void; + export function _BinaryenCallIndirectAppendOperand(expr: ExpressionRef, operandExpr: ExpressionRef): Index; + export function _BinaryenCallIndirectInsertOperandAt(expr: ExpressionRef, index: Index, operandExpr: ExpressionRef): void; + export function _BinaryenCallIndirectRemoveOperandAt(expr: ExpressionRef, index: Index): ExpressionRef; + export function _BinaryenCallIndirectIsReturn(expr: ExpressionRef): boolean; + export function _BinaryenCallIndirectSetReturn(expr: ExpressionRef, isReturn: boolean): void; + // ^ with return = true + export function _BinaryenReturnCallIndirect(module: ModuleRef, table: StringRef, targetExpr: ExpressionRef, operandExprs: ArrayRef, numOperands: Index, params: TypeRef, results: TypeRef): ExpressionRef; + export function _BinaryenLocalGet(module: ModuleRef, index: Index, type: TypeRef): ExpressionRef; + export function _BinaryenLocalGetGetIndex(expr: ExpressionRef): Index; + export function _BinaryenLocalGetSetIndex(expr: ExpressionRef, index: Index): void; + export function _BinaryenLocalSet(module: ModuleRef, index: Index, valueExpr: ExpressionRef): ExpressionRef; + export function _BinaryenLocalSetIsTee(expr: ExpressionRef): boolean; + export function _BinaryenLocalSetGetIndex(expr: ExpressionRef): Index; + export function _BinaryenLocalSetSetIndex(expr: ExpressionRef, index: Index): void; + export function _BinaryenLocalSetGetValue(expr: ExpressionRef): ExpressionRef; + export function _BinaryenLocalSetSetValue(expr: ExpressionRef, valueExpr: ExpressionRef): void; + // ^ with type != none + export function _BinaryenLocalTee(module: ModuleRef, index: Index, valueExpr: ExpressionRef, type: TypeRef): ExpressionRef; + export function _BinaryenGlobalGet(module: ModuleRef, name: StringRef, type: TypeRef): ExpressionRef; + export function _BinaryenGlobalGetGetName(expr: ExpressionRef): StringRef; + export function _BinaryenGlobalGetSetName(expr: ExpressionRef, name: StringRef): void; + export function _BinaryenGlobalSet(module: ModuleRef, name: StringRef, value: ExpressionRef): ExpressionRef; + export function _BinaryenGlobalSetGetName(expr: ExpressionRef): StringRef; + export function _BinaryenGlobalSetSetName(expr: ExpressionRef, name: StringRef): void; + export function _BinaryenGlobalSetGetValue(expr: ExpressionRef): ExpressionRef; + export function _BinaryenGlobalSetSetValue(expr: ExpressionRef, valueExpr: ExpressionRef): void; + export function _BinaryenMemorySize(module: ModuleRef, memoryName: StringRef, memoryIs64: boolean): ExpressionRef; + export function _BinaryenMemoryGrow(module: ModuleRef, delta: ExpressionRef, memoryName: StringRef, memoryIs64: boolean): ExpressionRef; + export function _BinaryenMemoryGrowGetDelta(expr: ExpressionRef): ExpressionRef; + export function _BinaryenMemoryGrowSetDelta(expr: ExpressionRef, delta: ExpressionRef): void; + export function _BinaryenLoad(module: ModuleRef, bytes: number, signed: boolean, offset: number, align: number, type: TypeRef, ptrExpr: ExpressionRef, memoryName: StringRef): ExpressionRef; + export function _BinaryenLoadIsAtomic(expr: ExpressionRef): boolean; + export function _BinaryenLoadSetAtomic(expr: ExpressionRef, isAtomic: boolean): void; + export function _BinaryenLoadIsSigned(expr: ExpressionRef): boolean; + export function _BinaryenLoadSetSigned(expr: ExpressionRef, isSigned: boolean): void; + export function _BinaryenLoadGetOffset(expr: ExpressionRef): number; + export function _BinaryenLoadSetOffset(expr: ExpressionRef, offset: number): void; + export function _BinaryenLoadGetBytes(expr: ExpressionRef): number; + export function _BinaryenLoadSetBytes(expr: ExpressionRef, bytes: number): void; + export function _BinaryenLoadGetAlign(expr: ExpressionRef): number; + export function _BinaryenLoadSetAlign(expr: ExpressionRef, align: number): void; + export function _BinaryenLoadGetPtr(expr: ExpressionRef): ExpressionRef; + export function _BinaryenLoadSetPtr(expr: ExpressionRef, ptrExpr: ExpressionRef): void; + // ^ with atomic = true + export function _BinaryenAtomicLoad(module: ModuleRef, bytes: Index, offset: Index, type: TypeRef, ptrExpr: ExpressionRef, memoryName: StringRef): ExpressionRef; + export function _BinaryenStore(module: ModuleRef, bytes: number, offset: number, align: number, ptrExpr: ExpressionRef, valueExpr: ExpressionRef, type: TypeRef, memoryName: StringRef): ExpressionRef; + export function _BinaryenStoreIsAtomic(expr: ExpressionRef): boolean; + export function _BinaryenStoreSetAtomic(expr: ExpressionRef, isAtomic: boolean): void; + export function _BinaryenStoreGetBytes(expr: ExpressionRef): number; + export function _BinaryenStoreSetBytes(expr: ExpressionRef, bytes: number): void; + export function _BinaryenStoreGetOffset(expr: ExpressionRef): number; + export function _BinaryenStoreSetOffset(expr: ExpressionRef, offset: number): void; + export function _BinaryenStoreGetAlign(expr: ExpressionRef): number; + export function _BinaryenStoreSetAlign(expr: ExpressionRef, align: number): void; + export function _BinaryenStoreGetPtr(expr: ExpressionRef): ExpressionRef; + export function _BinaryenStoreSetPtr(expr: ExpressionRef, ptrExpr: ExpressionRef): void; + export function _BinaryenStoreGetValue(expr: ExpressionRef): ExpressionRef; + export function _BinaryenStoreSetValue(expr: ExpressionRef, valueExpr: ExpressionRef): void; + export function _BinaryenStoreGetValueType(expr: ExpressionRef): TypeRef; + export function _BinaryenStoreSetValueType(expr: ExpressionRef, valueType: TypeRef): void; + // ^ with atomic = true + export function _BinaryenAtomicStore(module: ModuleRef, bytes: Index, offset: Index, ptrExpr: ExpressionRef, valueExpr: ExpressionRef, type: TypeRef, memoryName: StringRef): ExpressionRef; + export function _BinaryenConst(module: ModuleRef, value: LiteralRef): ExpressionRef; + export function _BinaryenConstGetValueI32(expr: ExpressionRef): number; + export function _BinaryenConstSetValueI32(expr: ExpressionRef, value: number): void; + export function _BinaryenConstGetValueI64Low(expr: ExpressionRef): number; + export function _BinaryenConstSetValueI64Low(expr: ExpressionRef, value: number): void; + export function _BinaryenConstGetValueI64High(expr: ExpressionRef): number; + export function _BinaryenConstSetValueI64High(expr: ExpressionRef, value: number): void; + export function _BinaryenConstGetValueF32(expr: ExpressionRef): number; + export function _BinaryenConstSetValueF32(expr: ExpressionRef, value: number): void; + export function _BinaryenConstGetValueF64(expr: ExpressionRef): number; + export function _BinaryenConstSetValueF64(expr: ExpressionRef, value: number): void; + export function _BinaryenConstGetValueV128(expr: ExpressionRef, valueOut: ArrayRef): void; + export function _BinaryenConstSetValueV128(expr: ExpressionRef, value: ArrayRef): void; + export function _BinaryenUnary(module: ModuleRef, op: Op, valueExpr: ExpressionRef): ExpressionRef; + export function _BinaryenUnaryGetOp(expr: ExpressionRef): Op; + export function _BinaryenUnarySetOp(expr: ExpressionRef, op: Op): void; + export function _BinaryenUnaryGetValue(expr: ExpressionRef): ExpressionRef; + export function _BinaryenUnarySetValue(expr: ExpressionRef, valueExpr: ExpressionRef): void; + export function _BinaryenBinary(module: ModuleRef, op: Op, leftExpr: ExpressionRef, rightExpr: ExpressionRef): ExpressionRef; + export function _BinaryenBinaryGetOp(expr: ExpressionRef): Op; + export function _BinaryenBinarySetOp(expr: ExpressionRef, op: Op): void; + export function _BinaryenBinaryGetLeft(expr: ExpressionRef): ExpressionRef; + export function _BinaryenBinarySetLeft(expr: ExpressionRef, leftExpr: ExpressionRef): void; + export function _BinaryenBinaryGetRight(expr: ExpressionRef): ExpressionRef; + export function _BinaryenBinarySetRight(expr: ExpressionRef, rightExpr: ExpressionRef): void; + export function _BinaryenSelect(module: ModuleRef, conditionExpr: ExpressionRef, ifTrueExpr: ExpressionRef, ifFalseExpr: ExpressionRef, type: TypeRef): ExpressionRef; + export function _BinaryenSelectGetIfTrue(expr: ExpressionRef): ExpressionRef; + export function _BinaryenSelectSetIfTrue(expr: ExpressionRef, ifTrueExpr: ExpressionRef): void; + export function _BinaryenSelectGetIfFalse(expr: ExpressionRef): ExpressionRef; + export function _BinaryenSelectSetIfFalse(expr: ExpressionRef, ifFalseExpr: ExpressionRef): void; + export function _BinaryenSelectGetCondition(expr: ExpressionRef): ExpressionRef; + export function _BinaryenSelectSetCondition(expr: ExpressionRef, conditionExpr: ExpressionRef): void; + export function _BinaryenDrop(module: ModuleRef, valueExpr: ExpressionRef): ExpressionRef; + export function _BinaryenDropGetValue(expr: ExpressionRef): ExpressionRef; + export function _BinaryenDropSetValue(expr: ExpressionRef, valueExpr: ExpressionRef): void; + export function _BinaryenReturn(module: ModuleRef, valueExpr: ExpressionRef): ExpressionRef; + export function _BinaryenReturnGetValue(expr: ExpressionRef): ExpressionRef; + export function _BinaryenReturnSetValue(expr: ExpressionRef, valueExpr: ExpressionRef): void; + export function _BinaryenNop(module: ModuleRef): ExpressionRef; + export function _BinaryenUnreachable(module: ModuleRef): ExpressionRef; + export function _BinaryenAtomicRMW(module: ModuleRef, op: Op, bytes: number, offset: number, ptrExpr: ExpressionRef, valueExpr: ExpressionRef, type: TypeRef, memoryName: StringRef): ExpressionRef; + export function _BinaryenAtomicRMWGetOp(expr: ExpressionRef): Op; + export function _BinaryenAtomicRMWSetOp(expr: ExpressionRef, op: Op): void; + export function _BinaryenAtomicRMWGetBytes(expr: ExpressionRef): number; + export function _BinaryenAtomicRMWSetBytes(expr: ExpressionRef, bytes: number): void; + export function _BinaryenAtomicRMWGetOffset(expr: ExpressionRef): number; + export function _BinaryenAtomicRMWSetOffset(expr: ExpressionRef, offset: number): void; + export function _BinaryenAtomicRMWGetPtr(expr: ExpressionRef): ExpressionRef; + export function _BinaryenAtomicRMWSetPtr(expr: ExpressionRef, ptrExpr: ExpressionRef): void; + export function _BinaryenAtomicRMWGetValue(expr: ExpressionRef): ExpressionRef; + export function _BinaryenAtomicRMWSetValue(expr: ExpressionRef, valueExpr: ExpressionRef): void; + export function _BinaryenAtomicCmpxchg(module: ModuleRef, bytes: number, offset: number, ptrExpr: ExpressionRef, expectedExpr: ExpressionRef, replacementExpr: ExpressionRef, type: TypeRef, memoryName: StringRef): ExpressionRef; + export function _BinaryenAtomicCmpxchgGetBytes(expr: ExpressionRef): number; + export function _BinaryenAtomicCmpxchgSetBytes(expr: ExpressionRef, bytes: number): void; + export function _BinaryenAtomicCmpxchgGetOffset(expr: ExpressionRef): number; + export function _BinaryenAtomicCmpxchgSetOffset(expr: ExpressionRef, offset: number): void; + export function _BinaryenAtomicCmpxchgGetPtr(expr: ExpressionRef): ExpressionRef; + export function _BinaryenAtomicCmpxchgSetPtr(expr: ExpressionRef, ptrExpr: ExpressionRef): void; + export function _BinaryenAtomicCmpxchgGetExpected(expr: ExpressionRef): ExpressionRef; + export function _BinaryenAtomicCmpxchgSetExpected(expr: ExpressionRef, expectedExpr: ExpressionRef): void; + export function _BinaryenAtomicCmpxchgGetReplacement(expr: ExpressionRef): ExpressionRef; + export function _BinaryenAtomicCmpxchgSetReplacement(expr: ExpressionRef, replacementExpr: ExpressionRef): void; + export function _BinaryenAtomicWait(module: ModuleRef, ptrExpr: ExpressionRef, expectedExpr: ExpressionRef, timeoutExpr: ExpressionRef, expectedType: TypeRef, memoryName: StringRef): ExpressionRef; + export function _BinaryenAtomicWaitGetPtr(expr: ExpressionRef): ExpressionRef; + export function _BinaryenAtomicWaitSetPtr(expr: ExpressionRef, ptrExpr: ExpressionRef): void; + export function _BinaryenAtomicWaitGetExpected(expr: ExpressionRef): ExpressionRef; + export function _BinaryenAtomicWaitSetExpected(expr: ExpressionRef, expectedExpr: ExpressionRef): void; + export function _BinaryenAtomicWaitGetTimeout(expr: ExpressionRef): ExpressionRef; + export function _BinaryenAtomicWaitSetTimeout(expr: ExpressionRef, timeoutExpr: ExpressionRef): void; + export function _BinaryenAtomicWaitGetExpectedType(expr: ExpressionRef): TypeRef; + export function _BinaryenAtomicWaitSetExpectedType(expr: ExpressionRef, expectedType: TypeRef): void; + export function _BinaryenAtomicNotify(module: ModuleRef, ptrExpr: ExpressionRef, notifyCountExpr: ExpressionRef, memoryName: StringRef): ExpressionRef; + export function _BinaryenAtomicNotifyGetPtr(expr: ExpressionRef): ExpressionRef; + export function _BinaryenAtomicNotifySetPtr(expr: ExpressionRef, ptrExpr: ExpressionRef): void; + export function _BinaryenAtomicNotifyGetNotifyCount(expr: ExpressionRef): ExpressionRef; + export function _BinaryenAtomicNotifySetNotifyCount(expr: ExpressionRef, notifyCountExpr: ExpressionRef): void; + export function _BinaryenAtomicFence(module: ModuleRef, memoryName: StringRef): ExpressionRef; + export function _BinaryenAtomicFenceGetOrder(expr: ExpressionRef): number; // unused + export function _BinaryenAtomicFenceSetOrder(expr: ExpressionRef, order: number): void; // unused + export function _BinaryenSIMDExtract(module: ModuleRef, op: Op, vecExpr: ExpressionRef, index: number): ExpressionRef; + export function _BinaryenSIMDExtractGetOp(expr: ExpressionRef): Op; + export function _BinaryenSIMDExtractSetOp(expr: ExpressionRef, op: Op): void; + export function _BinaryenSIMDExtractGetVec(expr: ExpressionRef): ExpressionRef; + export function _BinaryenSIMDExtractSetVec(expr: ExpressionRef, vecExpr: ExpressionRef): void; + export function _BinaryenSIMDExtractGetIndex(expr: ExpressionRef): number; + export function _BinaryenSIMDExtractSetIndex(expr: ExpressionRef, index: number): void; + export function _BinaryenSIMDReplace(module: ModuleRef, op: Op, vecEpr: ExpressionRef, index: number, valueExpr: ExpressionRef): ExpressionRef; + export function _BinaryenSIMDReplaceGetOp(expr: ExpressionRef): Op; + export function _BinaryenSIMDReplaceSetOp(expr: ExpressionRef, op: Op): void; + export function _BinaryenSIMDReplaceGetVec(expr: ExpressionRef): ExpressionRef; + export function _BinaryenSIMDReplaceSetVec(expr: ExpressionRef, vecExpr: ExpressionRef): void; + export function _BinaryenSIMDReplaceGetIndex(expr: ExpressionRef): number; + export function _BinaryenSIMDReplaceSetIndex(expr: ExpressionRef, index: number): void; + export function _BinaryenSIMDReplaceGetValue(expr: ExpressionRef): ExpressionRef; + export function _BinaryenSIMDReplaceSetValue(expr: ExpressionRef, valueExpr: ExpressionRef): void; + export function _BinaryenSIMDShuffle(module: ModuleRef, leftExpr: ExpressionRef, rightExpr: ExpressionRef, mask: ArrayRef): ExpressionRef; + export function _BinaryenSIMDShuffleGetLeft(expr: ExpressionRef): ExpressionRef; + export function _BinaryenSIMDShuffleSetLeft(expr: ExpressionRef, leftExpr: ExpressionRef): void; + export function _BinaryenSIMDShuffleGetRight(expr: ExpressionRef): ExpressionRef; + export function _BinaryenSIMDShuffleSetRight(expr: ExpressionRef, rightExpr: ExpressionRef): void; + export function _BinaryenSIMDShuffleGetMask(expr: ExpressionRef, maskOut: ArrayRef): void; + export function _BinaryenSIMDShuffleSetMask(expr: ExpressionRef, mask: ArrayRef): void; + export function _BinaryenSIMDTernary(module: ModuleRef, op: Op, aExpr: ExpressionRef, bExpr: ExpressionRef, cExpr: ExpressionRef): ExpressionRef; + export function _BinaryenSIMDTernaryGetOp(expr: ExpressionRef): Op; + export function _BinaryenSIMDTernarySetOp(expr: ExpressionRef, op: Op): void; + export function _BinaryenSIMDTernaryGetA(expr: ExpressionRef): ExpressionRef; + export function _BinaryenSIMDTernarySetA(expr: ExpressionRef, aExpr: ExpressionRef): void; + export function _BinaryenSIMDTernaryGetB(expr: ExpressionRef): ExpressionRef; + export function _BinaryenSIMDTernarySetB(expr: ExpressionRef, bExpr: ExpressionRef): void; + export function _BinaryenSIMDTernaryGetC(expr: ExpressionRef): ExpressionRef; + export function _BinaryenSIMDTernarySetC(expr: ExpressionRef, cExpr: ExpressionRef): void; + export function _BinaryenSIMDShift(module: ModuleRef, op: Op, vecExpr: ExpressionRef, shiftExpr: ExpressionRef): ExpressionRef; + export function _BinaryenSIMDShiftGetOp(expr: ExpressionRef): Op; + export function _BinaryenSIMDShiftSetOp(expr: ExpressionRef, op: Op): void; + export function _BinaryenSIMDShiftGetVec(expr: ExpressionRef): ExpressionRef; + export function _BinaryenSIMDShiftSetVec(expr: ExpressionRef, vecExpr: ExpressionRef): void; + export function _BinaryenSIMDShiftGetShift(expr: ExpressionRef): ExpressionRef; + export function _BinaryenSIMDShiftSetShift(expr: ExpressionRef, shiftExpr: ExpressionRef): void; + export function _BinaryenSIMDLoad(module: ModuleRef, op: Op, offset: number, align: number, ptrExpr: ExpressionRef, memoryName: StringRef): ExpressionRef; + export function _BinaryenSIMDLoadGetOp(expr: ExpressionRef): Op; + export function _BinaryenSIMDLoadSetOp(expr: ExpressionRef, op: Op): void; + export function _BinaryenSIMDLoadGetOffset(expr: ExpressionRef): number; + export function _BinaryenSIMDLoadSetOffset(expr: ExpressionRef, offset: number): void; + export function _BinaryenSIMDLoadGetAlign(expr: ExpressionRef): number; + export function _BinaryenSIMDLoadSetAlign(expr: ExpressionRef, align: number): void; + export function _BinaryenSIMDLoadGetPtr(expr: ExpressionRef): ExpressionRef; + export function _BinaryenSIMDLoadSetPtr(expr: ExpressionRef, ptrExpr: ExpressionRef): void; + export function _BinaryenSIMDLoadStoreLane(module: ModuleRef, op: Op, offset: number, align: number, index: number, ptr: ExpressionRef, vec: ExpressionRef, memoryName: StringRef): ExpressionRef; + export function _BinaryenSIMDLoadStoreLaneGetOp(expr: ExpressionRef): Op; + export function _BinaryenSIMDLoadStoreLaneSetOp(expr: ExpressionRef, op: Op): void; + export function _BinaryenSIMDLoadStoreLaneGetOffset(expr: ExpressionRef): number; + export function _BinaryenSIMDLoadStoreLaneSetOffset(expr: ExpressionRef, offset: number): void; + export function _BinaryenSIMDLoadStoreLaneGetAlign(expr: ExpressionRef): number; + export function _BinaryenSIMDLoadStoreLaneSetAlign(expr: ExpressionRef, align: number): void; + export function _BinaryenSIMDLoadStoreLaneGetIndex(expr: ExpressionRef): number; + export function _BinaryenSIMDLoadStoreLaneSetIndex(expr: ExpressionRef, index: number): void; + export function _BinaryenSIMDLoadStoreLaneGetPtr(expr: ExpressionRef): ExpressionRef; + export function _BinaryenSIMDLoadStoreLaneSetPtr(expr: ExpressionRef, ptrExpr: ExpressionRef): void; + export function _BinaryenSIMDLoadStoreLaneGetVec(expr: ExpressionRef): ExpressionRef; + export function _BinaryenSIMDLoadStoreLaneSetVec(expr: ExpressionRef, vecExpr: ExpressionRef): void; + export function _BinaryenSIMDLoadStoreLaneIsStore(expr: ExpressionRef): boolean; + export function _BinaryenMemoryInit(module: ModuleRef, segmentName: StringRef, destExpr: ExpressionRef, offsetExpr: ExpressionRef, sizeExpr: ExpressionRef, memoryName: StringRef): ExpressionRef; + export function _BinaryenMemoryInitGetSegment(expr: ExpressionRef): StringRef; + export function _BinaryenMemoryInitSetSegment(expr: ExpressionRef, segmentName: StringRef): void; + export function _BinaryenMemoryInitGetDest(expr: ExpressionRef): ExpressionRef; + export function _BinaryenMemoryInitSetDest(expr: ExpressionRef, destExpr: ExpressionRef): void; + export function _BinaryenMemoryInitGetOffset(expr: ExpressionRef): ExpressionRef; + export function _BinaryenMemoryInitSetOffset(expr: ExpressionRef, offsetExpr: ExpressionRef): void; + export function _BinaryenMemoryInitGetSize(expr: ExpressionRef): ExpressionRef; + export function _BinaryenMemoryInitSetSize(expr: ExpressionRef, sizeExpr: ExpressionRef): void; + export function _BinaryenDataDrop(module: ModuleRef, segmentName: StringRef): ExpressionRef; + export function _BinaryenDataDropGetSegment(expr: ExpressionRef): StringRef; + export function _BinaryenDataDropSetSegment(expr: ExpressionRef, segmentName: StringRef): void; + export function _BinaryenMemoryCopy(module: ModuleRef, destExpr: ExpressionRef, sourceExpr: ExpressionRef, sizeExpr: ExpressionRef, destMemoryName: StringRef, sourceMemoryName: StringRef): ExpressionRef; + export function _BinaryenMemoryCopyGetDest(expr: ExpressionRef): ExpressionRef; + export function _BinaryenMemoryCopySetDest(expr: ExpressionRef, destExpr: ExpressionRef): void; + export function _BinaryenMemoryCopyGetSource(expr: ExpressionRef): ExpressionRef; + export function _BinaryenMemoryCopySetSource(expr: ExpressionRef, sourceExpr: ExpressionRef): void; + export function _BinaryenMemoryCopyGetSize(expr: ExpressionRef): ExpressionRef; + export function _BinaryenMemoryCopySetSize(expr: ExpressionRef, sizeExpr: ExpressionRef): void; + export function _BinaryenMemoryFill(module: ModuleRef, destExpr: ExpressionRef, valueExpr: ExpressionRef, sizeExpr: ExpressionRef, memoryName: StringRef): ExpressionRef; + export function _BinaryenMemoryFillGetDest(expr: ExpressionRef): ExpressionRef; + export function _BinaryenMemoryFillSetDest(expr: ExpressionRef, destExpr: ExpressionRef): void; + export function _BinaryenMemoryFillGetValue(expr: ExpressionRef): ExpressionRef; + export function _BinaryenMemoryFillSetValue(expr: ExpressionRef, valueExpr: ExpressionRef): void; + export function _BinaryenMemoryFillGetSize(expr: ExpressionRef): ExpressionRef; + export function _BinaryenMemoryFillSetSize(expr: ExpressionRef, sizeExpr: ExpressionRef): void; + export function _BinaryenRefNull(module: ModuleRef, type: TypeRef): ExpressionRef; + export function _BinaryenRefIsNull(module: ModuleRef, valueExpr: ExpressionRef): ExpressionRef; + export function _BinaryenRefIsNullGetValue(expr: ExpressionRef): ExpressionRef; + export function _BinaryenRefIsNullSetValue(expr: ExpressionRef, valueExpr: ExpressionRef): void; + export function _BinaryenRefAs(module: ModuleRef, op: Op, valueExpr: ExpressionRef): ExpressionRef; + export function _BinaryenRefAsGetOp(expr: ExpressionRef): Op; + export function _BinaryenRefAsSetOp(expr: ExpressionRef, op: Op): void; + export function _BinaryenRefAsGetValue(expr: ExpressionRef): ExpressionRef; + export function _BinaryenRefAsSetValue(expr: ExpressionRef, valueExpr: ExpressionRef): void; + export function _BinaryenRefFunc(module: ModuleRef, funcName: StringRef, type: TypeRef): ExpressionRef; + export function _BinaryenRefFuncGetFunc(expr: ExpressionRef): StringRef; + export function _BinaryenRefFuncSetFunc(expr: ExpressionRef, funcName: StringRef): void; + export function _BinaryenRefEq(module: ModuleRef, leftExpr: ExpressionRef, rightExpr: ExpressionRef): ExpressionRef; + export function _BinaryenRefEqGetLeft(expr: ExpressionRef): ExpressionRef; + export function _BinaryenRefEqSetLeft(expr: ExpressionRef, leftExpr: ExpressionRef): void; + export function _BinaryenRefEqGetRight(expr: ExpressionRef): ExpressionRef; + export function _BinaryenRefEqSetRight(expr: ExpressionRef, rightExpr: ExpressionRef): void; + export function _BinaryenTableGet(module: ModuleRef, name: StringRef, index: ExpressionRef, type: TypeRef): ExpressionRef; + export function _BinaryenTableGetGetTable(expr: ExpressionRef): StringRef; + export function _BinaryenTableGetSetTable(expr: ExpressionRef, table: StringRef): void; + export function _BinaryenTableGetGetIndex(expr: ExpressionRef): ExpressionRef; + export function _BinaryenTableGetSetIndex(expr: ExpressionRef, index: ExpressionRef): void; + export function _BinaryenTableSet(module: ModuleRef, name: StringRef, index: ExpressionRef, value: ExpressionRef): ExpressionRef; + export function _BinaryenTableSetGetTable(expr: ExpressionRef): StringRef; + export function _BinaryenTableSetSetTable(expr: ExpressionRef, table: StringRef): void; + export function _BinaryenTableSetGetIndex(expr: ExpressionRef): ExpressionRef; + export function _BinaryenTableSetSetIndex(expr: ExpressionRef, index: ExpressionRef): void; + export function _BinaryenTableSetGetValue(expr: ExpressionRef): ExpressionRef; + export function _BinaryenTableSetSetValue(expr: ExpressionRef, value: ExpressionRef): void; + export function _BinaryenTableSize(module: ModuleRef, name: StringRef): ExpressionRef; + export function _BinaryenTableSizeGetTable(expr: ExpressionRef): StringRef; + export function _BinaryenTableSizeSetTable(expr: ExpressionRef, table: StringRef): void; + export function _BinaryenTableGrow(module: ModuleRef, name: StringRef, value: ExpressionRef, delta: ExpressionRef): ExpressionRef; + export function _BinaryenTableGrowGetTable(expr: ExpressionRef): StringRef; + export function _BinaryenTableGrowSetTable(expr: ExpressionRef, table: StringRef): void; + export function _BinaryenTableGrowGetValue(expr: ExpressionRef): ExpressionRef; + export function _BinaryenTableGrowSetValue(expr: ExpressionRef, value: ExpressionRef): void; + export function _BinaryenTableGrowGetDelta(expr: ExpressionRef): ExpressionRef; + export function _BinaryenTableGrowSetDelta(expr: ExpressionRef, delta: ExpressionRef): void; + export function _BinaryenTry(module: ModuleRef, name: StringRef, bodyExpr: ExpressionRef, catchTags: ArrayRef, numCatchTags: Index, catchBodies: ArrayRef, numCatchBodies: Index, delegateTarget: StringRef): ExpressionRef; + export function _BinaryenTryGetName(expr: ExpressionRef): StringRef; + export function _BinaryenTrySetName(expr: ExpressionRef, name: StringRef): void; + export function _BinaryenTryGetBody(expr: ExpressionRef): ExpressionRef; + export function _BinaryenTrySetBody(expr: ExpressionRef, bodyExpr: ExpressionRef): void; + export function _BinaryenTryGetNumCatchTags(expr: ExpressionRef): Index; + export function _BinaryenTryGetNumCatchBodies(expr: ExpressionRef): Index; + export function _BinaryenTryGetCatchTagAt(expr: ExpressionRef, index: Index): StringRef; + export function _BinaryenTrySetCatchTagAt(expr: ExpressionRef, index: Index, catchTag: StringRef): void; + export function _BinaryenTryAppendCatchTag(expr: ExpressionRef, catchTag: StringRef): Index; + export function _BinaryenTryInsertCatchTagAt(expr: ExpressionRef, index: Index, catchTag: StringRef): void; + export function _BinaryenTryRemoveCatchTagAt(expr: ExpressionRef, index: Index): StringRef; + export function _BinaryenTryGetCatchBodyAt(expr: ExpressionRef, index: Index): ExpressionRef; + export function _BinaryenTrySetCatchBodyAt(expr: ExpressionRef, index: Index, catchExpr: ExpressionRef): void; + export function _BinaryenTryAppendCatchBody(expr: ExpressionRef, catchExpr: ExpressionRef): Index; + export function _BinaryenTryInsertCatchBodyAt(expr: ExpressionRef, index: Index, catchExpr: ExpressionRef): void; + export function _BinaryenTryRemoveCatchBodyAt(expr: ExpressionRef, index: Index): ExpressionRef; + export function _BinaryenTryHasCatchAll(expr: ExpressionRef): boolean; + export function _BinaryenTryGetDelegateTarget(expr: ExpressionRef): StringRef; + export function _BinaryenTrySetDelegateTarget(expr: ExpressionRef, delegateTarget: StringRef): void; + export function _BinaryenTryIsDelegate(expr: ExpressionRef): boolean; + export function _BinaryenThrow(module: ModuleRef, tagName: StringRef, operands: ArrayRef, numOperands: Index): ExpressionRef; + export function _BinaryenThrowGetTag(expr: ExpressionRef): StringRef; + export function _BinaryenThrowSetTag(expr: ExpressionRef, tagName: StringRef): void; + export function _BinaryenThrowGetNumOperands(expr: ExpressionRef): Index; + export function _BinaryenThrowGetOperandAt(expr: ExpressionRef, index: Index): ExpressionRef; + export function _BinaryenThrowSetOperandAt(expr: ExpressionRef, index: Index, operandExpr: ExpressionRef): void; + export function _BinaryenThrowAppendOperand(expr: ExpressionRef, operandExpr: ExpressionRef): Index; + export function _BinaryenThrowInsertOperandAt(expr: ExpressionRef, index: Index, operandExpr: ExpressionRef): void; + export function _BinaryenThrowRemoveOperandAt(expr: ExpressionRef, index: Index): ExpressionRef; + export function _BinaryenRethrow(module: ModuleRef, target: StringRef): ExpressionRef; + export function _BinaryenRethrowGetTarget(expr: ExpressionRef): StringRef; + export function _BinaryenRethrowSetDepth(expr: ExpressionRef, target: StringRef): void; + export function _BinaryenTupleMake(module: ModuleRef, operandExprs: ArrayRef, numOperands: Index): ExpressionRef; + export function _BinaryenTupleMakeGetNumOperands(expr: ExpressionRef): Index; + export function _BinaryenTupleMakeGetOperandAt(expr: ExpressionRef, index: Index): ExpressionRef; + export function _BinaryenTupleMakeSetOperandAt(expr: ExpressionRef, index: Index, operandExpr: ExpressionRef): void; + export function _BinaryenTupleMakeAppendOperand(expr: ExpressionRef, operandExpr: ExpressionRef): Index; + export function _BinaryenTupleMakeInsertOperandAt(expr: ExpressionRef, index: Index, operandExpr: ExpressionRef): void; + export function _BinaryenTupleMakeRemoveOperandAt(expr: ExpressionRef, index: Index): ExpressionRef; + export function _BinaryenTupleExtract(module: ModuleRef, tupleExpr: ExpressionRef, index: Index): ExpressionRef; + export function _BinaryenTupleExtractGetTuple(expr: ExpressionRef): ExpressionRef; + export function _BinaryenTupleExtractSetTuple(expr: ExpressionRef, tupleExpr: ExpressionRef): void; + export function _BinaryenTupleExtractGetIndex(expr: ExpressionRef): Index; + export function _BinaryenTupleExtractSetIndex(expr: ExpressionRef, index: Index): void; + export function _BinaryenPop(module: ModuleRef, type: TypeRef): ExpressionRef; + export function _BinaryenRefI31(module: ModuleRef, value: ExpressionRef): ExpressionRef; + export function _BinaryenRefI31GetValue(expr: ExpressionRef): ExpressionRef; + export function _BinaryenRefI31SetValue(expr: ExpressionRef, valueExpr: ExpressionRef): void; + export function _BinaryenI31Get(module: ModuleRef, i31Expr: ExpressionRef, signed: boolean): ExpressionRef; + export function _BinaryenI31GetGetI31(expr: ExpressionRef): ExpressionRef; + export function _BinaryenI31GetSetI31(expr: ExpressionRef, i31Expr: ExpressionRef): void; + export function _BinaryenI31GetIsSigned(expr: ExpressionRef): boolean; + export function _BinaryenI31GetSetSigned(expr: ExpressionRef, signed: boolean): void; + export function _BinaryenCallRef(module: ModuleRef, target: ExpressionRef, operands: ArrayRef, numOperands: Index, type: TypeRef, isReturn: boolean): ExpressionRef; + export function _BinaryenCallRefGetNumOperands(expr: ExpressionRef): Index; + export function _BinaryenCallRefGetOperandAt(expr: ExpressionRef, index: Index): ExpressionRef; + export function _BinaryenCallRefSetOperandAt(expr: ExpressionRef, index: Index, operandExpr: ExpressionRef): void; + export function _BinaryenCallRefAppendOperand(expr: ExpressionRef, operandExpr: ExpressionRef): Index; + export function _BinaryenCallRefInsertOperandAt(expr: ExpressionRef, index: Index, operandExpr: ExpressionRef): void; + export function _BinaryenCallRefRemoveOperandAt(expr: ExpressionRef, index: Index): ExpressionRef; + export function _BinaryenCallRefGetTarget(expr: ExpressionRef): ExpressionRef; + export function _BinaryenCallRefSetTarget(expr: ExpressionRef, targetExpr: ExpressionRef): void; + export function _BinaryenCallRefIsReturn(expr: ExpressionRef): boolean; + export function _BinaryenCallRefSetReturn(expr: ExpressionRef, isReturn: boolean): void; + export function _BinaryenRefTest(module: ModuleRef, refExpr: ExpressionRef, castType: HeapTypeRef): ExpressionRef; + export function _BinaryenRefTestGetRef(expr: ExpressionRef): ExpressionRef; + export function _BinaryenRefTestSetRef(expr: ExpressionRef, refExpr: ExpressionRef): void; + export function _BinaryenRefTestGetCastType(expr: ExpressionRef): HeapTypeRef; + export function _BinaryenRefTestSetCastType(expr: ExpressionRef, castType: HeapTypeRef): void; + export function _BinaryenRefCast(module: ModuleRef, refExpr: ExpressionRef, intendedType: HeapTypeRef): ExpressionRef; + export function _BinaryenRefCastGetRef(expr: ExpressionRef): ExpressionRef; + export function _BinaryenRefCastSetRef(expr: ExpressionRef, refExpr: ExpressionRef): void; + export function _BinaryenBrOn(module: ModuleRef, op: Op, name: StringRef, ref: ExpressionRef, castType: HeapTypeRef): ExpressionRef; + export function _BinaryenBrOnGetOp(expr: ExpressionRef): Op; + export function _BinaryenBrOnSetOp(expr: ExpressionRef, op: Op): void; + export function _BinaryenBrOnGetName(expr: ExpressionRef): StringRef; + export function _BinaryenBrOnSetName(expr: ExpressionRef, nameStr: StringRef): void; + export function _BinaryenBrOnGetRef(expr: ExpressionRef): ExpressionRef; + export function _BinaryenBrOnSetRef(expr: ExpressionRef, refExpr: ExpressionRef): void; + export function _BinaryenBrOnGetCastType(expr: ExpressionRef): HeapTypeRef; + export function _BinaryenBrOnSetCastType(expr: ExpressionRef, castType: HeapTypeRef): void; + export function _BinaryenStructNew(module: ModuleRef, operands: ArrayRef, numOperands: Index, type: HeapTypeRef): ExpressionRef; + export function _BinaryenStructNewGetNumOperands(expr: ExpressionRef): Index; + export function _BinaryenStructNewGetOperandAt(expr: ExpressionRef, index: Index): ExpressionRef; + export function _BinaryenStructNewSetOperandAt(expr: ExpressionRef, index: Index, operandExpr: ExpressionRef): void; + export function _BinaryenStructNewAppendOperand(expr: ExpressionRef, operandExpr: ExpressionRef): Index; + export function _BinaryenStructNewInsertOperandAt(expr: ExpressionRef, index: Index, operandExpr: ExpressionRef): void; + export function _BinaryenStructNewRemoveOperandAt(expr: ExpressionRef, index: Index): ExpressionRef; + export function _BinaryenStructGet(module: ModuleRef, index: Index, ref: ExpressionRef, type: TypeRef, signed: boolean): ExpressionRef; + export function _BinaryenStructGetGetIndex(expr: ExpressionRef): Index; + export function _BinaryenStructGetSetIndex(expr: ExpressionRef, index: Index): void; + export function _BinaryenStructGetGetRef(expr: ExpressionRef): ExpressionRef; + export function _BinaryenStructGetSetRef(expr: ExpressionRef, refExpr: ExpressionRef): void; + export function _BinaryenStructGetIsSigned(expr: ExpressionRef): boolean; + export function _BinaryenStructGetSetSigned(expr: ExpressionRef, signed: boolean): void; + export function _BinaryenStructSet(module: ModuleRef, index: Index, ref: ExpressionRef, value: ExpressionRef): ExpressionRef; + export function _BinaryenStructSetGetIndex(expr: ExpressionRef): Index; + export function _BinaryenStructSetSetIndex(expr: ExpressionRef, index: Index): void; + export function _BinaryenStructSetGetRef(expr: ExpressionRef): ExpressionRef; + export function _BinaryenStructSetSetRef(expr: ExpressionRef, refExpr: ExpressionRef): void; + export function _BinaryenStructSetGetValue(expr: ExpressionRef): ExpressionRef; + export function _BinaryenStructSetSetValue(expr: ExpressionRef, valueExpr: ExpressionRef): void; + export function _BinaryenArrayNew(module: ModuleRef, type: HeapTypeRef, size: ExpressionRef, init: ExpressionRef): ExpressionRef; + export function _BinaryenArrayNewGetInit(expr: ExpressionRef): ExpressionRef; + export function _BinaryenArrayNewSetInit(expr: ExpressionRef, initExpr: ExpressionRef): void; + export function _BinaryenArrayNewGetSize(expr: ExpressionRef): ExpressionRef; + export function _BinaryenArrayNewSetSize(expr: ExpressionRef, sizeExpr: ExpressionRef): void; + // TODO: BinaryenArrayNewSeg + export function _BinaryenArrayNewFixed(module: ModuleRef, type: HeapTypeRef, values: ArrayRef, numValues: Index): ExpressionRef; + export function _BinaryenArrayNewFixedGetNumValues(expr: ExpressionRef): Index; + export function _BinaryenArrayNewFixedGetValueAt(expr: ExpressionRef, index: Index): ExpressionRef; + export function _BinaryenArrayNewFixedSetValueAt(expr: ExpressionRef, index: Index, valueExpr: ExpressionRef): void; + export function _BinaryenArrayNewFixedAppendValue(expr: ExpressionRef, valueExpr: ExpressionRef): Index; + export function _BinaryenArrayNewFixedInsertValueAt(expr: ExpressionRef, index: Index, valueExpr: ExpressionRef): void; + export function _BinaryenArrayNewFixedRemoveValueAt(expr: ExpressionRef, index: Index): ExpressionRef; + export function _BinaryenArrayGet(module: ModuleRef, ref: ExpressionRef, index: ExpressionRef, type: TypeRef, signed: boolean): ExpressionRef; + export function _BinaryenArrayGetGetRef(expr: ExpressionRef): ExpressionRef; + export function _BinaryenArrayGetSetRef(expr: ExpressionRef, refExpr: ExpressionRef): void; + export function _BinaryenArrayGetGetIndex(expr: ExpressionRef): ExpressionRef; + export function _BinaryenArrayGetSetIndex(expr: ExpressionRef, indexExpr: ExpressionRef): void; + export function _BinaryenArrayGetIsSigned(expr: ExpressionRef): boolean; + export function _BinaryenArrayGetSetSigned(expr: ExpressionRef, signed: boolean): void; + export function _BinaryenArraySet(module: ModuleRef, ref: ExpressionRef, index: ExpressionRef, value: ExpressionRef): ExpressionRef; + export function _BinaryenArraySetGetRef(expr: ExpressionRef): ExpressionRef; + export function _BinaryenArraySetSetRef(expr: ExpressionRef, refExpr: ExpressionRef): void; + export function _BinaryenArraySetGetIndex(expr: ExpressionRef): ExpressionRef; + export function _BinaryenArraySetSetIndex(expr: ExpressionRef, indexExpr: ExpressionRef): void; + export function _BinaryenArraySetGetValue(expr: ExpressionRef): ExpressionRef; + export function _BinaryenArraySetSetValue(expr: ExpressionRef, valueExpr: ExpressionRef): void; + export function _BinaryenArrayLen(module: ModuleRef, ref: ExpressionRef): ExpressionRef; + export function _BinaryenArrayLenGetRef(expr: ExpressionRef): ExpressionRef; + export function _BinaryenArrayLenSetRef(expr: ExpressionRef, refExpr: ExpressionRef): void; + export function _BinaryenArrayCopy(module: ModuleRef, destRef: ExpressionRef, destIndex: ExpressionRef, srcRef: ExpressionRef, srcIndex: ExpressionRef, length: ExpressionRef): ExpressionRef; + export function _BinaryenArrayCopyGetDestRef(expr: ExpressionRef): ExpressionRef; + export function _BinaryenArrayCopySetDestRef(expr: ExpressionRef, destRefExpr: ExpressionRef): void; + export function _BinaryenArrayCopyGetDestIndex(expr: ExpressionRef): ExpressionRef; + export function _BinaryenArrayCopySetDestIndex(expr: ExpressionRef, destIndexExpr: ExpressionRef): void; + export function _BinaryenArrayCopyGetSrcRef(expr: ExpressionRef): ExpressionRef; + export function _BinaryenArrayCopySetSrcRef(expr: ExpressionRef, srcRefExpr: ExpressionRef): void; + export function _BinaryenArrayCopyGetSrcIndex(expr: ExpressionRef): ExpressionRef; + export function _BinaryenArrayCopySetSrcIndex(expr: ExpressionRef, srcIndexExpr: ExpressionRef): void; + export function _BinaryenArrayCopyGetLength(expr: ExpressionRef): ExpressionRef; + export function _BinaryenArrayCopySetLength(expr: ExpressionRef, lengthExpr: ExpressionRef): void; + // TODO: BinaryenArrayFill + // TODO: BinaryenArrayNewFixed + export function _BinaryenStringNew(module: ModuleRef, op: Op, ptr: ExpressionRef, length: ExpressionRef, start: ExpressionRef, end: ExpressionRef, isTry: boolean): ExpressionRef; + export function _BinaryenStringNewGetOp(expr: ExpressionRef): Op; + export function _BinaryenStringNewSetOp(expr: ExpressionRef, op: Op): void; + export function _BinaryenStringNewGetPtr(expr: ExpressionRef): ExpressionRef; + export function _BinaryenStringNewSetPtr(expr: ExpressionRef, ptrExpr: ExpressionRef): void; + export function _BinaryenStringNewGetLength(expr: ExpressionRef): ExpressionRef; + export function _BinaryenStringNewSetLength(expr: ExpressionRef, lengthExpr: ExpressionRef): void; + export function _BinaryenStringNewGetStart(expr: ExpressionRef): ExpressionRef; + export function _BinaryenStringNewSetStart(expr: ExpressionRef, startExpr: ExpressionRef): void; + export function _BinaryenStringNewGetEnd(expr: ExpressionRef): ExpressionRef; + export function _BinaryenStringNewSetEnd(expr: ExpressionRef, endExpr: ExpressionRef): void; + export function _BinaryenStringNewIsTry(expr: ExpressionRef): boolean; + export function _BinaryenStringNewSetTry(expr: ExpressionRef, isTry: boolean): void; + export function _BinaryenStringConst(module: ExpressionRef, name: StringRef): ExpressionRef; + export function _BinaryenStringConstGetString(expr: ExpressionRef): StringRef; + export function _BinaryenStringConstSetString(expr: ExpressionRef, string: StringRef): void; + export function _BinaryenStringMeasure(module: ExpressionRef, op: Op, ref: ExpressionRef): ExpressionRef; + export function _BinaryenStringMeasureGetOp(expr: ExpressionRef): Op; + export function _BinaryenStringMeasureSetOp(expr: ExpressionRef, op: Op): void; + export function _BinaryenStringMeasureGetRef(expr: ExpressionRef): ExpressionRef; + export function _BinaryenStringMeasureSetRef(expr: ExpressionRef, refExpr: ExpressionRef): void; + export function _BinaryenStringEncode(module: ExpressionRef, op: Op, ref: ExpressionRef, ptr: ExpressionRef, start: ExpressionRef): ExpressionRef; + export function _BinaryenStringEncodeGetOp(expr: ExpressionRef): Op; + export function _BinaryenStringEncodeSetOp(expr: ExpressionRef, op: Op): void; + export function _BinaryenStringEncodeGetRef(expr: ExpressionRef): ExpressionRef; + export function _BinaryenStringEncodeSetRef(expr: ExpressionRef, refExpr: ExpressionRef): void; + export function _BinaryenStringEncodeGetPtr(expr: ExpressionRef): ExpressionRef; + export function _BinaryenStringEncodeSetPtr(expr: ExpressionRef, ptrExpr: ExpressionRef): void; + export function _BinaryenStringEncodeGetStart(expr: ExpressionRef): ExpressionRef; + export function _BinaryenStringEncodeSetStart(expr: ExpressionRef, startExpr: ExpressionRef): void; + export function _BinaryenStringConcat(module: ExpressionRef, left: ExpressionRef, right: ExpressionRef): ExpressionRef; + export function _BinaryenStringConcatGetLeft(expr: ExpressionRef): ExpressionRef; + export function _BinaryenStringConcatSetLeft(expr: ExpressionRef, leftExpr: ExpressionRef): void; + export function _BinaryenStringConcatGetRight(expr: ExpressionRef): ExpressionRef; + export function _BinaryenStringConcatSetRight(expr: ExpressionRef, rightExpr: ExpressionRef): void; + export function _BinaryenStringEq(module: ExpressionRef, op: Op, left: ExpressionRef, right: ExpressionRef): ExpressionRef; + export function _BinaryenStringEqGetOp(expr: ExpressionRef): Op; + export function _BinaryenStringEqSetOp(expr: ExpressionRef, op: Op): void; + export function _BinaryenStringEqGetLeft(expr: ExpressionRef): ExpressionRef; + export function _BinaryenStringEqSetLeft(expr: ExpressionRef, leftExpr: ExpressionRef): void; + export function _BinaryenStringEqGetRight(expr: ExpressionRef): ExpressionRef; + export function _BinaryenStringEqSetRight(expr: ExpressionRef, rightExpr: ExpressionRef): void; + export function _BinaryenStringAs(module: ExpressionRef, op: Op, ref: ExpressionRef): ExpressionRef; + export function _BinaryenStringAsGetOp(expr: ExpressionRef): Op; + export function _BinaryenStringAsSetOp(expr: ExpressionRef, op: Op): void; + export function _BinaryenStringAsGetRef(expr: ExpressionRef): ExpressionRef; + export function _BinaryenStringAsSetRef(expr: ExpressionRef, refExpr: ExpressionRef): void; + export function _BinaryenStringWTF8Advance(module: ExpressionRef, ref: ExpressionRef, pos: ExpressionRef, bytes: ExpressionRef): ExpressionRef; + export function _BinaryenStringWTF8AdvanceGetRef(expr: ExpressionRef): ExpressionRef; + export function _BinaryenStringWTF8AdvanceSetRef(expr: ExpressionRef, refExpr: ExpressionRef): void; + export function _BinaryenStringWTF8AdvanceGetPos(expr: ExpressionRef): ExpressionRef; + export function _BinaryenStringWTF8AdvanceSetPos(expr: ExpressionRef, posExpr: ExpressionRef): void; + export function _BinaryenStringWTF8AdvanceGetBytes(expr: ExpressionRef): ExpressionRef; + export function _BinaryenStringWTF8AdvanceSetBytes(expr: ExpressionRef, bytesExpr: ExpressionRef): void; + export function _BinaryenStringWTF16Get(module: ExpressionRef, ref: ExpressionRef, pos: ExpressionRef): ExpressionRef; + export function _BinaryenStringWTF16GetGetRef(expr: ExpressionRef): ExpressionRef; + export function _BinaryenStringWTF16GetSetRef(expr: ExpressionRef, refExpr: ExpressionRef): void; + export function _BinaryenStringWTF16GetGetPos(expr: ExpressionRef): ExpressionRef; + export function _BinaryenStringWTF16GetSetPos(expr: ExpressionRef, posExpr: ExpressionRef): void; + export function _BinaryenStringIterNext(module: ExpressionRef, ref: ExpressionRef): ExpressionRef; + export function _BinaryenStringIterNextGetRef(expr: ExpressionRef): ExpressionRef; + export function _BinaryenStringIterNextSetRef(expr: ExpressionRef, refExpr: ExpressionRef): void; + export function _BinaryenStringIterMove(module: ExpressionRef, op: Op, ref: ExpressionRef, num: ExpressionRef): ExpressionRef; + export function _BinaryenStringIterMoveGetOp(expr: ExpressionRef): Op; + export function _BinaryenStringIterMoveSetOp(expr: ExpressionRef, op: Op): void; + export function _BinaryenStringIterMoveGetRef(expr: ExpressionRef): ExpressionRef; + export function _BinaryenStringIterMoveSetRef(expr: ExpressionRef, refExpr: ExpressionRef): void; + export function _BinaryenStringIterMoveGetNum(expr: ExpressionRef): ExpressionRef; + export function _BinaryenStringIterMoveSetNum(expr: ExpressionRef, numExpr: ExpressionRef): void; + export function _BinaryenStringSliceWTF(module: ExpressionRef, op: Op, ref: ExpressionRef, start: ExpressionRef, end: ExpressionRef): ExpressionRef; + export function _BinaryenStringSliceWTFGetOp(expr: ExpressionRef): Op; + export function _BinaryenStringSliceWTFSetOp(expr: ExpressionRef, op: Op): void; + export function _BinaryenStringSliceWTFGetRef(expr: ExpressionRef): ExpressionRef; + export function _BinaryenStringSliceWTFSetRef(expr: ExpressionRef, refExpr: ExpressionRef): void; + export function _BinaryenStringSliceWTFGetStart(expr: ExpressionRef): ExpressionRef; + export function _BinaryenStringSliceWTFSetStart(expr: ExpressionRef, startExpr: ExpressionRef): void; + export function _BinaryenStringSliceWTFGetEnd(expr: ExpressionRef): ExpressionRef; + export function _BinaryenStringSliceWTFSetEnd(expr: ExpressionRef, endExpr: ExpressionRef): void; + export function _BinaryenStringSliceIter(module: ExpressionRef, ref: ExpressionRef, num: ExpressionRef): ExpressionRef; + export function _BinaryenStringSliceIterGetRef(expr: ExpressionRef): ExpressionRef; + export function _BinaryenStringSliceIterSetRef(expr: ExpressionRef, refExpr: ExpressionRef): void; + export function _BinaryenStringSliceIterGetNum(expr: ExpressionRef): ExpressionRef; + export function _BinaryenStringSliceIterSetNum(expr: ExpressionRef, numExpr: ExpressionRef): void; + export function _BinaryenAddFunction(module: ModuleRef, name: StringRef, params: TypeRef, results: TypeRef, varTypes: ArrayRef, numVarTypes: Index, body: ExpressionRef): FunctionRef; + export function _BinaryenGetFunction(module: ModuleRef, name: StringRef): FunctionRef; + export function _BinaryenRemoveFunction(module: ModuleRef, name: StringRef): void; + export function _BinaryenGetNumFunctions(module: ModuleRef): Index; + export function _BinaryenGetFunctionByIndex(module: ModuleRef, index: Index): FunctionRef; + export function _BinaryenFunctionGetName(func: FunctionRef): StringRef; + export function _BinaryenFunctionGetParams(func: FunctionRef): TypeRef; + export function _BinaryenFunctionGetResults(func: FunctionRef): TypeRef; + export function _BinaryenFunctionGetNumVars(func: FunctionRef): Index; + export function _BinaryenFunctionGetVar(func: FunctionRef, index: Index): TypeRef; + export function _BinaryenFunctionGetNumLocals(func: FunctionRef): Index; + export function _BinaryenFunctionHasLocalName(func: FunctionRef, index: Index): boolean; + export function _BinaryenFunctionGetLocalName(func: FunctionRef, index: Index): StringRef; + export function _BinaryenFunctionSetLocalName(func: FunctionRef, index: Index, name: StringRef): void; + export function _BinaryenFunctionGetBody(func: FunctionRef): ExpressionRef; + export function _BinaryenFunctionSetBody(func: FunctionRef, bodyExpr: ExpressionRef): void; + export function _BinaryenFunctionOptimize(func: FunctionRef, module: ModuleRef): void; + export function _BinaryenFunctionRunPasses(func: FunctionRef, module: ModuleRef, passes: ArrayRef, numPasses: Index): void; + export function _BinaryenFunctionSetDebugLocation(func: FunctionRef, expr: ExpressionRef, fileIndex: Index, lineNumber: Index, columnNumber: Index): void; + export function _BinaryenAddFunctionImport(module: ModuleRef, internalName: StringRef, externalModuleName: StringRef, externalBaseName: StringRef, params: TypeRef, results: TypeRef): void; + export function _BinaryenAddTableImport(module: ModuleRef, internalName: StringRef, externalModuleName: StringRef, externalBaseName: StringRef): void; + export function _BinaryenAddMemoryImport(module: ModuleRef, internalName: StringRef, externalModuleName: StringRef, externalBaseName: StringRef, shared: boolean): void; + export function _BinaryenAddGlobalImport(module: ModuleRef, internalName: StringRef, externalModuleName: StringRef, externalBaseName: StringRef, globalType: TypeRef, mutable: boolean): void; + export function _BinaryenAddTagImport(module: ModuleRef, internalName: StringRef, externalModuleName: StringRef, externalBaseName: StringRef, params: TypeRef, results: TypeRef): void; + export function _BinaryenAddFunctionExport(module: ModuleRef, internalName: StringRef, externalName: StringRef): ExportRef; + export function _BinaryenAddTableExport(module: ModuleRef, internalName: StringRef, externalName: StringRef): ExportRef; + export function _BinaryenAddMemoryExport(module: ModuleRef, internalName: StringRef, externalName: StringRef): ExportRef; + export function _BinaryenAddGlobalExport(module: ModuleRef, internalName: StringRef, externalName: StringRef): ExportRef; + export function _BinaryenAddTagExport(module: ModuleRef, internalName: StringRef, externalName: StringRef): ExportRef; + export function _BinaryenGetExport(module: ModuleRef, externalName: StringRef): ExportRef; + export function _BinaryenRemoveExport(module: ModuleRef, externalName: StringRef): void; + export function _BinaryenGetNumExports(module: ModuleRef): Index; + export function _BinaryenGetExportByIndex(module: ModuleRef, index: Index): ExportRef; + export function _BinaryenExportGetKind(ref: ExportRef): ExternalKind; + export function _BinaryenExportGetName(ref: ExportRef): StringRef; + export function _BinaryenExportGetValue(ref: ExportRef): StringRef; + export function _BinaryenAddGlobal(module: ModuleRef, name: StringRef, type: TypeRef, mutable: boolean, init: ExpressionRef): GlobalRef; + export function _BinaryenGetGlobal(module: ModuleRef, name: StringRef): GlobalRef; + export function _BinaryenRemoveGlobal(module: ModuleRef, name: StringRef): void; + export function _BinaryenGetNumGlobals(module: ModuleRef): Index; + export function _BinaryenGetGlobalByIndex(module: ModuleRef, index: Index): GlobalRef; + export function _BinaryenGlobalGetName(global: GlobalRef): StringRef; + export function _BinaryenGlobalGetType(global: GlobalRef): TypeRef; + export function _BinaryenGlobalIsMutable(global: GlobalRef): boolean; + export function _BinaryenGlobalGetInitExpr(global: GlobalRef): ExpressionRef; + export function _BinaryenAddTag(module: ModuleRef, name: StringRef, params: TypeRef, results: TypeRef): TagRef; + export function _BinaryenGetTag(module: ModuleRef, name: StringRef): TagRef; + export function _BinaryenRemoveTag(module: ModuleRef, name: StringRef): void; + export function _BinaryenTagGetName(tag: TagRef): StringRef; + export function _BinaryenTagGetParams(tag: TagRef): TypeRef; + export function _BinaryenTagGetResults(tag: TagRef): TypeRef; + export function _BinaryenAddTable(module: ModuleRef, name: StringRef, initial: Index, maximum: Index, type: TypeRef): TableRef; + export function _BinaryenRemoveTable(module: ModuleRef, table: StringRef): void; + export function _BinaryenGetNumTables(module: ModuleRef): Index; + export function _BinaryenGetTable(module: ModuleRef, name: StringRef): TableRef; + export function _BinaryenGetTableByIndex(module: ModuleRef, index: Index): TableRef; + export function _BinaryenTableGetName(table: TableRef): StringRef; + export function _BinaryenTableSetName(table: TableRef, name: StringRef): void; + export function _BinaryenTableGetInitial(table: TableRef): Index; + export function _BinaryenTableSetInitial(table: TableRef, initial: Index): void; + export function _BinaryenTableHasMax(table: TableRef): boolean; + export function _BinaryenTableGetMax(table: TableRef): Index; + export function _BinaryenTableSetMax(table: TableRef, max: Index): void; + export function _BinaryenAddActiveElementSegment(module: ModuleRef, table: StringRef, name: StringRef, funcNames: ArrayRef, numFuncNames: Index, offset: ExpressionRef): ElementSegmentRef; + export function _BinaryenAddPassiveElementSegment(module: ModuleRef, name: StringRef, funcNames: ArrayRef, numFuncNames: Index): ElementSegmentRef; + export function _BinaryenRemoveElementSegment(module: ModuleRef, name: StringRef): void; + export function _BinaryenGetNumElementSegments(module: ModuleRef, name: StringRef): Index; + export function _BinaryenGetElementSegment(module: ModuleRef, name: StringRef): ElementSegmentRef; + export function _BinaryenGetElementSegmentByIndex(module: ModuleRef, index: Index): ElementSegmentRef; + export function _BinaryenSetMemory(module: ModuleRef, initial: Index, maximum: Index, exportName: StringRef, segments: ArrayRef>, segmentPassive: ArrayRef, segmentOffsets: ArrayRef, segmentSizes: ArrayRef, numSegments: Index, shared: boolean, memory64: boolean, name: StringRef): void; + export function _BinaryenGetNumMemorySegments(module: ModuleRef): Index; + export function _BinaryenGetMemorySegmentByteOffset(module: ModuleRef, index: Index): number; + export function _BinaryenGetMemorySegmentByteLength(module: ModuleRef, id: Index): number; + export function _BinaryenCopyMemorySegmentData(module: ModuleRef, id: Index, buffer: ArrayRef): void; + export function _BinaryenSetStart(module: ModuleRef, start: FunctionRef): void; + export function _BinaryenModuleParse(text: StringRef): ModuleRef; + export function _BinaryenModulePrint(module: ModuleRef): void; + export function _BinaryenModulePrintAsmjs(module: ModuleRef): void; + export function _BinaryenModuleValidate(module: ModuleRef): number; + export function _BinaryenModuleOptimize(module: ModuleRef): void; + export function _BinaryenModuleRunPasses(module: ModuleRef, passes: ArrayRef, numPasses: Index): void; + export function _BinaryenModuleAutoDrop(module: ModuleRef): void; + export function _BinaryenSizeofAllocateAndWriteResult(): number; + export function _BinaryenModuleAllocateAndWrite(resultOut: number, module: ModuleRef, sourceMapUrl: StringRef): void; + export function _BinaryenModuleAllocateAndWriteText(module: ModuleRef): StringRef; + export function _BinaryenModuleAllocateAndWriteStackIR(module: ModuleRef, optimize: boolean): StringRef; + export function _BinaryenModuleRead(input: ArrayRef, inputSize: number): ModuleRef; + export function _BinaryenModuleInterpret(module: ModuleRef): void; + export function _BinaryenModuleAddDebugInfoFileName(module: ModuleRef, filename: StringRef): Index; + export function _BinaryenModuleGetDebugInfoFileName(module: ModuleRef, index: Index): StringRef; + export function _BinaryenModuleGetFeatures(module: ModuleRef): FeatureFlags; + export function _BinaryenModuleSetFeatures(module: ModuleRef, featureFlags: FeatureFlags): void; + export function _BinaryenAddCustomSection(module: ModuleRef, name: StringRef, contents: ArrayRef, contentsSize: Index): void; + export function _BinaryenExpressionGetSideEffects(expr: ExpressionRef, module: ModuleRef): SideEffects; + export function _RelooperCreate(module: ModuleRef): number; + export function _RelooperAddBlock(relooper: number, code: ExpressionRef): number; + export function _RelooperAddBranch(from: number, to: number, condition: ExpressionRef, code: ExpressionRef): void; + export function _RelooperAddBlockWithSwitch(relooper: number, code: ExpressionRef, condition: ExpressionRef): number; + export function _RelooperAddBranchForSwitch(from: number, to: number, indexes: ArrayRef, numIndexes: Index, code: ExpressionRef): void; + export function _RelooperRenderAndDispose(relooper: number, entry: number, labelHelper: Index): ExpressionRef; + export function _ExpressionRunnerCreate(module: ModuleRef, flags: ExpressionRunnerFlags, maxDepth: Index, maxLoopIterations: Index): ExpressionRunnerRef; + export function _ExpressionRunnerSetLocalValue(runner: ExpressionRunnerRef, index: Index, value: ExpressionRef): boolean; + export function _ExpressionRunnerSetGlobalValue(runner: ExpressionRunnerRef, name: StringRef, value: ExpressionRef): boolean; + export function _ExpressionRunnerRunAndDispose(runner: ExpressionRunnerRef, expr: ExpressionRef): ExpressionRef; + export function _TypeBuilderCreate(size: Index): TypeBuilderRef; + export function _TypeBuilderGrow(builder: TypeBuilderRef, count: Index): void; + export function _TypeBuilderGetSize(builder: TypeBuilderRef): Index; + export function _TypeBuilderSetSignatureType(builder: TypeBuilderRef, index: Index, paramTypes: TypeRef, resultTypes: TypeRef): void; + export function _TypeBuilderSetStructType(builder: TypeBuilderRef, index: Index, fieldTypes: ArrayRef, fieldPackedTypes: ArrayRef, fieldMutables: ArrayRef, numFields: number): void; + export function _TypeBuilderSetArrayType(builder: TypeBuilderRef, index: Index, elementType: TypeRef, elementPackedTyype: PackedType, elementMutable: boolean): void; + export function _TypeBuilderGetTempHeapType(builder: TypeBuilderRef, index: Index): HeapTypeRef; + export function _TypeBuilderGetTempTupleType(builder: TypeBuilderRef, types: ArrayRef, numTypes: Index): TypeRef; + export function _TypeBuilderGetTempRefType(builder: TypeBuilderRef, heapType: HeapTypeRef, nullable: boolean): TypeRef; + export function _TypeBuilderSetSubType(builder: TypeBuilderRef, index: Index, superType: HeapTypeRef): void; + export function _TypeBuilderSetOpen(builder: TypeBuilderRef, index: Index): void; + export function _TypeBuilderCreateRecGroup(builder: TypeBuilderRef, index: Index, length: Index): void; + export function _TypeBuilderBuildAndDispose(builder: TypeBuilderRef, heapTypes: ArrayRef, errorIndex: Pointer, errorReason: Pointer): boolean; + export function _BinaryenModuleSetTypeName(module: ModuleRef, heapType: HeapTypeRef, name: StringRef): void; + export function _BinaryenModuleSetFieldName(module: ModuleRef, heapType: HeapTypeRef, index: Index, name: StringRef): void; + export function _BinaryenGetOptimizeLevel(): number; + export function _BinaryenSetOptimizeLevel(level: number): void; + export function _BinaryenGetShrinkLevel(): number; + export function _BinaryenSetShrinkLevel(level: number): void; + export function _BinaryenGetDebugInfo(): boolean; + export function _BinaryenSetDebugInfo(on: boolean): void; + export function _BinaryenGetLowMemoryUnused(): boolean; + export function _BinaryenSetLowMemoryUnused(on: boolean): void; + export function _BinaryenGetZeroFilledMemory(): boolean; + export function _BinaryenSetZeroFilledMemory(on: boolean): void; + export function _BinaryenGetFastMath(): boolean; + export function _BinaryenSetFastMath(on: boolean): void; + export function _BinaryenGetPassArgument(key: StringRef): StringRef; + export function _BinaryenSetPassArgument(key: StringRef, value: StringRef): void; + export function _BinaryenClearPassArguments(): void; + export function _BinaryenGetAlwaysInlineMaxSize(): Index; + export function _BinaryenSetAlwaysInlineMaxSize(size: Index): void; + export function _BinaryenGetFlexibleInlineMaxSize(): Index; + export function _BinaryenSetFlexibleInlineMaxSize(size: Index): void; + export function _BinaryenGetOneCallerInlineMaxSize(): Index; + export function _BinaryenSetOneCallerInlineMaxSize(size: Index): void; + export function _BinaryenGetAllowInliningFunctionsWithLoops(): boolean; + export function _BinaryenSetAllowInliningFunctionsWithLoops(enabled: boolean): void; + // Helpers + export function _malloc(size: number): number; + export function _free(ptr: number): void; + export function __i32_store8(ptr: number, value: number): void; + export function __i32_store16(ptr: number, value: number): void; + export function __i32_store(ptr: number, value: number): void; + export function __f32_store(ptr: number, value: number): void; + export function __f64_store(ptr: number, value: number): void; + export function __i32_load8_s(ptr: number): number; + export function __i32_load8_u(ptr: number): number; + export function __i32_load16_s(ptr: number): number; + export function __i32_load16_u(ptr: number): number; + export function __i32_load(ptr: number): number; + export function __f32_load(ptr: number): number; + export function __f64_load(ptr: number): number; +} +/** + * @fileoverview Collections glue code for TypeScript. + * @license Apache-2.0 + */ +declare function Map_keys(map: Map): K[]; +declare function Map_values(map: Map): V[]; +declare function Set_values(set: Set): V[]; +/** + * @fileoverview Floating point glue code for TypeScript. + * @license Apache-2.0 + */ +declare function f32_as_i32(value: number): number; +declare function i32_as_f32(value: number): number; +declare function f64_as_i64(value: number): i64; +declare function i64_as_f64(value: i64): number; +/** + * @fileoverview 64-bit integer glue code for TypeScript. + * @license Apache-2.0 + */ +declare type i64 = { + __Long__: true; +}; // opaque +declare const i64_zero: i64; +declare const i64_one: i64; +declare const i64_neg_one: i64; +declare const i64_minimum: i64; +declare const i64_maximum: i64; +declare function i64_is(value: unknown): value is i64; +declare function i64_new(lo: number, hi?: number): i64; +declare function i64_low(value: i64): number; +declare function i64_high(value: i64): number; +declare function i64_not(value: i64): i64; +declare function i64_neg(value: i64): i64; +declare function i64_clz(value: i64): number; +declare function i64_ctz(value: i64): number; +declare function i64_add(left: i64, right: i64): i64; +declare function i64_sub(left: i64, right: i64): i64; +declare function i64_mul(left: i64, right: i64): i64; +declare function i64_pow(left: i64, right: i64): i64; +declare function i64_div(left: i64, right: i64): i64; +declare function i64_div_u(left: i64, right: i64): i64; +declare function i64_rem(left: i64, right: i64): i64; +declare function i64_rem_u(left: i64, right: i64): i64; +declare function i64_and(left: i64, right: i64): i64; +declare function i64_or(left: i64, right: i64): i64; +declare function i64_xor(left: i64, right: i64): i64; +declare function i64_shl(left: i64, right: i64): i64; +declare function i64_shr(left: i64, right: i64): i64; +declare function i64_shr_u(left: i64, right: i64): i64; +declare function i64_eq(left: i64, right: i64): boolean; +declare function i64_ne(left: i64, right: i64): boolean; +declare function i64_ge(left: i64, right: i64): boolean; +declare function i64_ge_u(left: i64, right: i64): boolean; +declare function i64_gt(left: i64, right: i64): boolean; +declare function i64_gt_u(left: i64, right: i64): boolean; +declare function i64_le(left: i64, right: i64): boolean; +declare function i64_le_u(left: i64, right: i64): boolean; +declare function i64_lt(left: i64, right: i64): boolean; +declare function i64_lt_u(left: i64, right: i64): boolean; +declare function i64_align(value: i64, alignment: number): i64; +declare function i64_signbit(value: i64): boolean; +declare function i64_is_i8(value: i64): boolean; +declare function i64_is_i16(value: i64): boolean; +declare function i64_is_i32(value: i64): boolean; +declare function i64_is_u8(value: i64): boolean; +declare function i64_is_u16(value: i64): boolean; +declare function i64_is_u32(value: i64): boolean; +declare function i64_is_bool(value: i64): boolean; +declare function i64_is_f32(value: i64): boolean; +declare function i64_is_f64(value: i64): boolean; +declare function i64_to_f32(value: i64): number; +declare function i64_to_f64(value: i64): number; +declare function i64_to_string(value: i64, unsigned?: boolean): string; +declare function i64_clone(value: i64): i64; diff --git a/platforms/Arduino/node_modules/assemblyscript/dist/assemblyscript.js b/platforms/Arduino/node_modules/assemblyscript/dist/assemblyscript.js new file mode 100644 index 00000000..adb78fb9 --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/dist/assemblyscript.js @@ -0,0 +1,337 @@ +/** + * @license + * The AssemblyScript compiler + * Copyright 2024 Daniel Wirtz / The AssemblyScript Authors + * SPDX-License-Identifier: Apache-2.0 + */ +var Ul=Object.defineProperty;var Pc=Object.getOwnPropertyDescriptor;var a2=Object.getOwnPropertyNames;var l2=Object.prototype.hasOwnProperty;var Vl=(t,i)=>{for(var e in i)Ul(t,e,{get:i[e],enumerable:!0})},Bc=(t,i,e,r)=>{if(i&&typeof i=="object"||typeof i=="function")for(let n of a2(i))!l2.call(t,n)&&n!==e&&Ul(t,n,{get:()=>i[n],enumerable:!(r=Pc(i,n))||r.enumerable});return t},Dl=(t,i,e)=>(Bc(t,i,"default"),e&&Bc(e,i,"default"));var Nc=(t,i,e,r)=>{for(var n=r>1?void 0:r?Pc(i,e):i,s=t.length-1,a;s>=0;s--)(a=t[s])&&(n=(r?a(i,e,n):a(n))||n);return r&&n&&Ul(i,e,n),n};var wc={};Vl(wc,{ASTBuilder:()=>Ac,ArrayLiteralExpression:()=>na,ArrowKind:()=>ci,AssertionExpression:()=>sa,AssertionKind:()=>ui,AtomicRMWOp:()=>gp,BinaryExpression:()=>aa,BinaryModule:()=>fl,BinaryOp:()=>hi,BlockStatement:()=>Na,BrOnOp:()=>Py,BreakStatement:()=>La,CallExpression:()=>la,Class:()=>Kt,ClassDeclaration:()=>mn,ClassExpression:()=>oa,ClassPrototype:()=>Hn,CommaExpression:()=>ua,CommentKind:()=>pp,CommentNode:()=>ia,CommonFlags:()=>De,CommonNames:()=>B,CompiledExpression:()=>Ba,Compiler:()=>ds,ConditionKind:()=>Lp,ConstantValueKind:()=>Up,Constraints:()=>Sc,ConstructorExpression:()=>pa,ContinueStatement:()=>Ma,DEFAULT_STACK_SIZE:()=>qI,DeclarationStatement:()=>We,DeclaredElement:()=>Ht,DecoratorFlags:()=>jt,DecoratorKind:()=>Tt,DecoratorNode:()=>ra,DiagnosticCategory:()=>ea,DiagnosticCode:()=>st,DiagnosticEmitter:()=>qe,DiagnosticMessage:()=>Js,DoStatement:()=>Ga,Element:()=>qn,ElementAccessExpression:()=>ca,ElementKind:()=>ut,EmptyStatement:()=>za,Enum:()=>kl,EnumDeclaration:()=>Ua,EnumValue:()=>Al,EnumValueDeclaration:()=>Va,ExportDefaultStatement:()=>Wa,ExportImportStatement:()=>Da,ExportMember:()=>qa,ExportNames:()=>fs,ExportStatement:()=>Oa,Expression:()=>de,ExpressionId:()=>yr,ExpressionRunnerFlags:()=>hl,ExpressionStatement:()=>Ka,ExternalKind:()=>yp,FEATURES_ALL:()=>a0,FEATURES_DEFAULT:()=>l0,FEATURE_BULK_MEMORY:()=>$I,FEATURE_EXCEPTION_HANDLING:()=>YI,FEATURE_EXTENDED_CONST:()=>n0,FEATURE_GC:()=>t0,FEATURE_MEMORY64:()=>r0,FEATURE_MULTI_VALUE:()=>e0,FEATURE_MUTABLE_GLOBALS:()=>HI,FEATURE_NONTRAPPING_F2I:()=>jI,FEATURE_REFERENCE_TYPES:()=>JI,FEATURE_RELAXED_SIMD:()=>i0,FEATURE_SIGN_EXTENSION:()=>KI,FEATURE_SIMD:()=>XI,FEATURE_STRINGREF:()=>s0,FEATURE_TAIL_CALLS:()=>QI,FEATURE_THREADS:()=>ZI,FalseExpression:()=>Aa,Feature:()=>Ut,FeatureFlags:()=>mp,FieldDeclaration:()=>Ha,FieldFlags:()=>Np,File:()=>Wn,FloatLiteralExpression:()=>_a,Flow:()=>St,FlowFlags:()=>xl,ForOfStatement:()=>$a,ForStatement:()=>ja,Function:()=>ct,FunctionDeclaration:()=>yn,FunctionExpression:()=>fa,FunctionPrototype:()=>je,FunctionTypeNode:()=>dr,GETTER_PREFIX:()=>Ds,Global:()=>br,HeapTypeRef:()=>ue,INDEX_SUFFIX:()=>Ne,INNER_DELIMITER:()=>Xu,INSTANCE_DELIMITER:()=>$u,IdentifierExpression:()=>Oe,IdentifierHandling:()=>_p,IfStatement:()=>Xa,ImportDeclaration:()=>Za,ImportNames:()=>Pi,ImportStatement:()=>gn,IndexSignature:()=>Gn,IndexSignatureNode:()=>Pa,InstanceOfExpression:()=>ha,IntegerLiteralExpression:()=>da,Interface:()=>zn,InterfaceDeclaration:()=>Ya,InterfacePrototype:()=>wl,JSBuilder:()=>ki,LIBRARY_PREFIX:()=>nt,LIBRARY_SUBST:()=>Os,LiteralExpression:()=>at,LiteralKind:()=>Dt,Local:()=>ze,LocalFlags:()=>Nn,MemorySegment:()=>fi,MethodDeclaration:()=>mr,Module:()=>Ot,ModuleDeclaration:()=>nl,NamedTypeNode:()=>hr,Namespace:()=>Kn,NamespaceDeclaration:()=>Qa,NewExpression:()=>ma,Node:()=>L,NodeKind:()=>xt,NullExpression:()=>ya,ObjectLiteralExpression:()=>ga,OmittedExpression:()=>ba,OperatorKind:()=>Ue,Options:()=>hs,PARENT_SUBST:()=>d2,PATH_DELIMITER:()=>Ye,PackedType:()=>En,Parameter:()=>zp,ParameterKind:()=>oi,ParameterNode:()=>ai,ParenthesizedExpression:()=>xa,Parser:()=>Vn,Precedence:()=>Oy,Program:()=>Dn,Property:()=>Mn,PropertyAccessExpression:()=>Ta,PropertyPrototype:()=>Ti,Range:()=>le,RefAsOp:()=>By,RegexpLiteralExpression:()=>Ea,Relooper:()=>_l,ReportMode:()=>Sl,Resolver:()=>Ln,ReturnStatement:()=>Ja,Runtime:()=>Us,RuntimeFeatures:()=>Ic,SETTER_PREFIX:()=>qs,SIMDExtractOp:()=>bp,SIMDLoadOp:()=>Ep,SIMDLoadStoreLaneOp:()=>vp,SIMDReplaceOp:()=>xp,SIMDShiftOp:()=>Tp,SIMDTernaryOp:()=>Sp,STATIC_DELIMITER:()=>on,STUB_DELIMITER:()=>Zu,SideEffects:()=>Pp,Signature:()=>Ve,Source:()=>fe,SourceKind:()=>pi,State:()=>pl,Statement:()=>oe,StringAsOp:()=>zy,StringEncodeOp:()=>My,StringEqOp:()=>Gy,StringIterMoveOp:()=>Uy,StringLiteralExpression:()=>Sa,StringMeasureOp:()=>Ly,StringNewOp:()=>Ny,StringSliceWTFOp:()=>Vy,SuperExpression:()=>Ia,SwitchBuilder:()=>vn,SwitchCase:()=>el,SwitchStatement:()=>tl,TSDBuilder:()=>Ni,Target:()=>Zr,TemplateLiteralExpression:()=>Fa,TernaryExpression:()=>va,ThisExpression:()=>Ra,ThrowStatement:()=>rl,Token:()=>_i,Tokenizer:()=>xn,TrueExpression:()=>ka,TryStatement:()=>il,Type:()=>u,TypeBuilderErrorReason:()=>dp,TypeDeclaration:()=>sl,TypeDefinition:()=>Xe,TypeFlags:()=>pt,TypeKind:()=>Wt,TypeName:()=>si,TypeNode:()=>hn,TypeParameterNode:()=>ta,TypeRef:()=>P,TypedElement:()=>Ft,Typeinfo:()=>Yr,TypeinfoFlags:()=>Vs,UnaryExpression:()=>dn,UnaryOp:()=>Sn,UnaryPostfixExpression:()=>wa,UnaryPrefixExpression:()=>Ca,UncheckedBehavior:()=>Tl,VariableDeclaration:()=>al,VariableLikeDeclarationStatement:()=>li,VariableLikeElement:()=>xr,VariableStatement:()=>ll,VoidStatement:()=>ol,WhileStatement:()=>ul,addGlobalAlias:()=>MI,allocPtrArray:()=>_e,buildJS:()=>L0,buildTSD:()=>N0,compile:()=>P0,createType:()=>Ke,defaultFeatures:()=>Ml,diagnosticCategoryToColor:()=>ky,diagnosticCategoryToString:()=>up,diagnosticCodeToString:()=>Ws,ensureType:()=>Pn,expandType:()=>Ip,featureToString:()=>Xr,findDecorator:()=>Et,formatDiagnostic:()=>Ay,formatDiagnosticMessage:()=>Ay,getBinaryLeft:()=>He,getBinaryOp:()=>yi,getBinaryRight:()=>Be,getBinaryenModuleRef:()=>M0,getBlockChildAt:()=>wn,getBlockChildCount:()=>An,getBlockName:()=>kn,getBreakCondition:()=>Z2,getBreakName:()=>X2,getCallOperandAt:()=>Ge,getCallOperandCount:()=>ot,getCallTarget:()=>Bn,getConstValueF32:()=>ge,getConstValueF64:()=>be,getConstValueI32:()=>ee,getConstValueI64High:()=>Ce,getConstValueI64Low:()=>Ee,getConstValueV128:()=>Fp,getDefaultParameterName:()=>jy,getDependee:()=>C0,getDiagnosticCategory:()=>g0,getDiagnosticCode:()=>y0,getDiagnosticMessage:()=>b0,getDiagnosticRange:()=>x0,getDiagnosticRelatedRange:()=>T0,getDropValue:()=>Q2,getExpressionId:()=>Q,getExpressionType:()=>ie,getFunctionBody:()=>tx,getFunctionName:()=>Cp,getFunctionParams:()=>rx,getFunctionResults:()=>ix,getFunctionVars:()=>nx,getGlobalGetName:()=>Fn,getGlobalInit:()=>lx,getGlobalName:()=>sx,getGlobalType:()=>ax,getIfCondition:()=>yl,getIfFalse:()=>gi,getIfTrue:()=>Cn,getLoadBytes:()=>Rp,getLoadOffset:()=>D2,getLoadPtr:()=>q2,getLocalGetIndex:()=>lt,getLocalSetIndex:()=>dl,getLocalSetValue:()=>gr,getLoopBody:()=>$2,getLoopName:()=>j2,getMemoryGrowDelta:()=>ex,getRangeEnd:()=>v0,getRangeSource:()=>S0,getRangeStart:()=>E0,getReturnValue:()=>J2,getSelectCondition:()=>Y2,getSelectElse:()=>wp,getSelectThen:()=>Ap,getSideEffects:()=>bi,getSource:()=>m0,getSourceNormalizedPath:()=>I0,getStoreBytes:()=>O2,getStoreOffset:()=>W2,getStorePtr:()=>K2,getStoreValue:()=>H2,getTagName:()=>ox,getTagParams:()=>ux,getTagResults:()=>px,getUnaryOp:()=>Rn,getUnaryValue:()=>ml,initializeProgram:()=>B0,isConstExpressionNaN:()=>mi,isConstNaN:()=>V2,isConstNegZero:()=>di,isConstNonZero:()=>et,isConstZero:()=>Fe,isDeclaredElement:()=>On,isError:()=>k0,isGlobalMutable:()=>Bp,isIllegalVariableIdentifier:()=>fp,isInfo:()=>F0,isLoadSigned:()=>kp,isLocalTee:()=>In,isNullableType:()=>Dy,isTypeOmitted:()=>Ie,isTypedElement:()=>El,isWarning:()=>R0,mangleInternalName:()=>Pe,mangleInternalPath:()=>bn,mustPreserveSideEffects:()=>gl,newOptions:()=>TI,newProgram:()=>h0,nextDiagnostic:()=>d0,nextFile:()=>w0,operatorTokenToString:()=>Te,optimize:()=>z0,parse:()=>A0,readString:()=>Me,removeGlobalAlias:()=>GI,runtimeFunctions:()=>Ai,runtimeGlobals:()=>wi,setBasenameHint:()=>p0,setBindingsHint:()=>c0,setBundleVersion:()=>WI,setDebugInfo:()=>f0,setExportMemory:()=>II,setExportRuntime:()=>DI,setExportStart:()=>zI,setExportTable:()=>CI,setFeature:()=>o0,setImportMemory:()=>FI,setImportTable:()=>wI,setInitialMemory:()=>RI,setLowMemoryLimit:()=>VI,setMaximumMemory:()=>kI,setMemoryBase:()=>NI,setNoAssert:()=>SI,setNoUnsafe:()=>UI,setOptimizeLevelHints:()=>u0,setPedantic:()=>_0,setRuntime:()=>vI,setSharedMemory:()=>AI,setSourceMap:()=>BI,setStackSize:()=>OI,setTableBase:()=>LI,setTarget:()=>EI,setUncheckedBehavior:()=>PI,tokenFromKeyword:()=>wy,tokenIsAlsoIdentifier:()=>Cy,typesToRefs:()=>Tr,typesToString:()=>vl,util:()=>op,validate:()=>G0});var Z=typeof window<"u"&&window||typeof global<"u"&&global||self;if(typeof Z.ASC_TARGET>"u"){let e=function(){Error.captureStackTrace?Error.captureStackTrace(this,e):this.stack=this.name+": "+this.message+` +`+new Error().stack},r=function(a){this.message=a||"assertion failed",Error.captureStackTrace?Error.captureStackTrace(this,r):this.stack=this.name+": "+this.message+` +`+new Error().stack},n=function(a,l){if(a==l){if(a!=0)return 0;a=1/a,l=1/l}else{let o=a!=a,p=l!=l;if(o|p)return o-p;a==null&&(a=String(a)),l==null&&(l=String(l))}return a>l?1:-1};o2=e,u2=r,p2=n,Z.ASC_TARGET=0,Z.ASC_RUNTIME=0,Z.ASC_NO_ASSERT=!1,Z.ASC_MEMORY_BASE=0,Z.ASC_OPTIMIZE_LEVEL=3,Z.ASC_SHRINK_LEVEL=0,Z.ASC_FEATURE_MUTABLE_GLOBAL=!1,Z.ASC_FEATURE_SIGN_EXTENSION=!1,Z.ASC_FEATURE_BULK_MEMORY=!1,Z.ASC_FEATURE_SIMD=!1,Z.ASC_FEATURE_THREADS=!1;let t=new Float64Array(1),i=new Uint32Array(t.buffer);Object.defineProperties(Z.i8=function(l){return l<<24>>24},{MIN_VALUE:{value:-128},MAX_VALUE:{value:127},parse(a,l){return parseInt(a,l)<<24>>24}}),Object.defineProperties(Z.i16=function(l){return l<<16>>16},{MIN_VALUE:{value:-32768},MAX_VALUE:{value:32767},parse(a,l){return parseInt(a,l)<<16>>16}}),Object.defineProperties(Z.i32=Z.isize=function(l){return l|0},{MIN_VALUE:{value:-2147483648},MAX_VALUE:{value:2147483647},parse(a,l){return parseInt(a,l)|0}}),Object.defineProperties(Z.u8=function(l){return l&255},{MIN_VALUE:{value:0},MAX_VALUE:{value:255},parse(a,l){return parseInt(a,l)&255}}),Object.defineProperties(Z.u16=function(l){return l&65535},{MIN_VALUE:{value:0},MAX_VALUE:{value:65535},parse(a,l){return parseInt(a,l)&65535}}),Object.defineProperties(Z.u32=Z.usize=function(l){return l>>>0},{MIN_VALUE:{value:0},MAX_VALUE:{value:4294967295},parse(a,l){return parseInt(a,l)>>>0}}),Object.defineProperties(Z.bool=function(l){return!!l},{MIN_VALUE:{value:!1},MAX_VALUE:{value:!0},parse(a){return a.trim()==="true"}}),Object.defineProperties(Z.f32=function(l){return Math.fround(l)},{EPSILON:{value:11920928955078125e-23},MIN_VALUE:{value:1401298464324817e-60},MAX_VALUE:{value:34028234663852886e22},MIN_NORMAL_VALUE:{value:11754943508222875e-54},MIN_SAFE_INTEGER:{value:-16777215},MAX_SAFE_INTEGER:{value:16777215},POSITIVE_INFINITY:{value:1/0},NEGATIVE_INFINITY:{value:-1/0},NaN:{value:NaN},parse(a){return Math.fround(parseFloat(a))}}),Object.defineProperties(Z.f64=function(l){return+l},{EPSILON:{value:2220446049250313e-31},MIN_VALUE:{value:5e-324},MAX_VALUE:{value:17976931348623157e292},MIN_NORMAL_VALUE:{value:22250738585072014e-324},MIN_SAFE_INTEGER:{value:-9007199254740991},MAX_SAFE_INTEGER:{value:9007199254740991},POSITIVE_INFINITY:{value:1/0},NEGATIVE_INFINITY:{value:-1/0},NaN:{value:NaN},parse(a){return parseFloat(a)}}),Z.clz=Math.clz32,Z.ctz=function(l){return 32-Math.clz32(~l&l-1)},Z.popcnt=function(l){return l-=l>>>1&1431655765,l=(l&858993459)+(l>>>2&858993459),(l+(l>>>4)&252645135)*16843009>>>24},Z.rotl=function(l,o){return o&=31,l<>>32-o},Z.rotr=function(l,o){return o&=31,l>>>o|l<<32-o},Z.abs=Math.abs,Z.max=Math.max,Z.min=Math.min,Z.ceil=Math.ceil,Z.floor=Math.floor,Z.nearest=function(l){let p=Math.abs(l);return p<4503599627370496?(p+4503599627370496-4503599627370496)*Math.sign(l):l},Z.select=function(l,o,p){return p?l:o},Z.sqrt=Math.sqrt,Z.trunc=Math.trunc,Z.copysign=function(l,o){return o?Math.abs(l)*Math.sign(o):(t[0]=o,i[1]>>>31?-1:1)},Z.bswap=function(l){let o=l>>8&16711935,p=(l&16711935)<<8;return l=o|p,o=l>>16&65535,p=(l&65535)<<16,o|p},e.prototype=Object.create(Error.prototype),e.prototype.name="UnreachableError",e.prototype.message="unreachable",Z.unreachable=function(){throw new e},r.prototype=Object.create(Error.prototype),r.prototype.name="AssertionError",Z.assert=function(l,o){if(l)return l;throw new r(o)},Z.changetype=function(l){return l},String.fromCharCodes=function(l){let p=l.length;if(p<=8192)return String.fromCharCode.apply(String,l);let c=0,_="";for(;c=0?l:l+this.length)},configurable:!0}),String.prototype.replaceAll||Object.defineProperty(String.prototype,"replaceAll",{value:function(l,o){let p=this.split(l).join(o);return l.length||(p=o+p+o),p},configurable:!0});let s=Array.prototype.sort;Array.prototype.sort=function(l){return s.call(this,l||n)},[Array,Uint8ClampedArray,Uint8Array,Int8Array,Uint16Array,Int16Array,Uint32Array,Int32Array,Float32Array,Float64Array].forEach(a=>{a.prototype.at||Object.defineProperty(a.prototype,"at",{value:function(o){return this[o>=0?o:o+this.length]},configurable:!0}),a.prototype.findLastIndex||Object.defineProperty(a.prototype,"findLastIndex",{value:function(o){for(let p=this.length-1;p>=0;--p)if(o(this[p],p,this))return p;return-1},configurable:!0}),a!=Array&&Object.defineProperty(a,"wrap",{value:function(o,p,c){return new a(o,p,c)},configurable:!0})}),Z.isInteger=Number.isInteger,Z.isFloat=function(l){return typeof l=="number"},Z.isNullable=function(l){return!0},Z.isReference=function(l){return typeof l=="object"||typeof l=="string"},Z.isFunction=function(l){return typeof l=="function"},Z.isString=function(l){return typeof l=="string"||l instanceof String},Z.isArray=Array.isArray,Z.isArrayLike=function(l){return l&&typeof l=="object"&&typeof l.length=="number"&&l.length>=0&&Math.trunc(l.length)===l.length},Z.isDefined=function(l){return typeof l<"u"},Z.isConstant=function(l){return!1},Z.unchecked=function(l){return l},Z.fmod=function(l,o){return l%o},Z.fmodf=function(l,o){return Math.fround(l%o)},Z.JSMath=Math,Object.defineProperties(Z.JSMath,{sincos_sin:{value:0,writable:!0},sincos_cos:{value:0,writable:!0},signbit:{value:function(l){return t[0]=l,!!(i[1]>>>31)}},sincos:{value:function(l){this.sincos_sin=Math.sin(l),this.sincos_cos=Math.cos(l)}},exp2:{value:function(l){return Math.pow(2,l)}}}),Z.unmanaged=function(){},Z.trace=function(a,l){l&&(a+=Array.prototype.slice.call(arguments,2,2+l)),console.error("trace: "+a)}}var o2,u2,p2;var zi={};Vl(zi,{default:()=>ql});Dl(zi,fP);import*as fP from"binaryen";import{default as ql}from"binaryen";var{_BinaryenTypeCreate:Lc,_BinaryenTypeArity:Mc,_BinaryenTypeExpand:Gc,_BinaryenTypeGetHeapType:nr,_BinaryenTypeFromHeapType:ae,_BinaryenTypeIsNullable:zc,_BinaryenTypeFuncref:Uc,_BinaryenTypeExternref:Vc,_BinaryenTypeAnyref:Dc,_BinaryenTypeEqref:qc,_BinaryenTypeI31ref:Oc,_BinaryenTypeStructref:Wc,_BinaryenTypeArrayref:Kc,_BinaryenTypeStringref:Hc,_BinaryenTypeStringviewWTF8:jc,_BinaryenTypeStringviewWTF16:$c,_BinaryenTypeStringviewIter:Xc,_BinaryenTypeNullref:Zc,_BinaryenTypeNullExternref:Yc,_BinaryenTypeNullFuncref:Qc,_BinaryenHeapTypeFunc:mP,_BinaryenHeapTypeExt:yP,_BinaryenHeapTypeAny:gP,_BinaryenHeapTypeEq:bP,_BinaryenHeapTypeI31:xP,_BinaryenHeapTypeStruct:TP,_BinaryenHeapTypeArray:EP,_BinaryenHeapTypeString:vP,_BinaryenHeapTypeStringviewWTF8:SP,_BinaryenHeapTypeStringviewWTF16:IP,_BinaryenHeapTypeStringviewIter:FP,_BinaryenHeapTypeNone:RP,_BinaryenHeapTypeNoext:kP,_BinaryenHeapTypeNofunc:AP,_BinaryenHeapTypeIsBasic:wP,_BinaryenHeapTypeIsSignature:CP,_BinaryenHeapTypeIsStruct:BP,_BinaryenHeapTypeIsArray:PP,_BinaryenHeapTypeIsBottom:Jc,_BinaryenHeapTypeGetBottom:e_,_BinaryenHeapTypeIsSubType:t_,_BinaryenStructTypeGetNumFields:r_,_BinaryenStructTypeGetFieldType:NP,_BinaryenStructTypeGetFieldPackedType:LP,_BinaryenStructTypeIsFieldMutable:MP,_BinaryenArrayTypeGetElementType:GP,_BinaryenArrayTypeGetElementPackedType:zP,_BinaryenArrayTypeIsElementMutable:UP,_BinaryenSignatureTypeGetParams:VP,_BinaryenSignatureTypeGetResults:DP,_BinaryenModuleCreate:i_,_BinaryenModuleDispose:n_,_BinaryenSizeofLiteral:Ol,_BinaryenLiteralInt32:s_,_BinaryenLiteralInt64:a_,_BinaryenLiteralFloat32:l_,_BinaryenLiteralFloat64:o_,_BinaryenLiteralVec128:u_,_BinaryenLiteralFloat32Bits:qP,_BinaryenLiteralFloat64Bits:OP,_BinaryenExpressionGetId:yt,_BinaryenExpressionGetType:Nt,_BinaryenExpressionSetType:WP,_BinaryenExpressionPrint:KP,_BinaryenExpressionCopy:p_,_BinaryenExpressionFinalize:c_,_BinaryenBlock:__,_BinaryenBlockGetName:ms,_BinaryenBlockSetName:HP,_BinaryenBlockGetNumChildren:Ui,_BinaryenBlockGetChildAt:Vi,_BinaryenBlockSetChildAt:f_,_BinaryenBlockAppendChild:jP,_BinaryenBlockInsertChildAt:$P,_BinaryenBlockRemoveChildAt:XP,_BinaryenIf:h_,_BinaryenIfGetCondition:Di,_BinaryenIfSetCondition:d_,_BinaryenIfGetIfTrue:qi,_BinaryenIfSetIfTrue:m_,_BinaryenIfGetIfFalse:Oi,_BinaryenIfSetIfFalse:y_,_BinaryenLoop:g_,_BinaryenLoopGetName:ys,_BinaryenLoopSetName:ZP,_BinaryenLoopGetBody:Wi,_BinaryenLoopSetBody:b_,_BinaryenBreak:x_,_BinaryenBreakGetName:gs,_BinaryenBreakSetName:YP,_BinaryenBreakGetCondition:Ki,_BinaryenBreakSetCondition:T_,_BinaryenBreakGetValue:Wl,_BinaryenBreakSetValue:E_,_BinaryenSwitch:v_,_BinaryenSwitchGetNumNames:S_,_BinaryenSwitchGetNameAt:I_,_BinaryenSwitchSetNameAt:QP,_BinaryenSwitchAppendName:JP,_BinaryenSwitchInsertNameAt:eN,_BinaryenSwitchRemoveNameAt:tN,_BinaryenSwitchGetDefaultName:F_,_BinaryenSwitchSetDefaultName:rN,_BinaryenSwitchGetCondition:Kl,_BinaryenSwitchSetCondition:R_,_BinaryenSwitchGetValue:Hl,_BinaryenSwitchSetValue:k_,_BinaryenCall:A_,_BinaryenCallGetTarget:Dr,_BinaryenCallSetTarget:iN,_BinaryenCallGetNumOperands:Lt,_BinaryenCallGetOperandAt:Mt,_BinaryenCallSetOperandAt:bs,_BinaryenCallAppendOperand:nN,_BinaryenCallInsertOperandAt:sN,_BinaryenCallRemoveOperandAt:aN,_BinaryenCallIsReturn:lN,_BinaryenCallSetReturn:oN,_BinaryenReturnCall:w_,_BinaryenCallIndirect:C_,_BinaryenCallIndirectGetTable:uN,_BinaryenCallIndirectSetTable:pN,_BinaryenCallIndirectGetTarget:jl,_BinaryenCallIndirectSetTarget:B_,_BinaryenCallIndirectGetNumOperands:Hi,_BinaryenCallIndirectGetOperandAt:ji,_BinaryenCallIndirectSetOperandAt:xs,_BinaryenCallIndirectAppendOperand:cN,_BinaryenCallIndirectInsertOperandAt:_N,_BinaryenCallIndirectRemoveOperandAt:fN,_BinaryenCallIndirectIsReturn:hN,_BinaryenCallIndirectSetReturn:dN,_BinaryenReturnCallIndirect:P_,_BinaryenLocalGet:N_,_BinaryenLocalGetGetIndex:Ts,_BinaryenLocalGetSetIndex:mN,_BinaryenLocalSet:L_,_BinaryenLocalSetIsTee:Es,_BinaryenLocalSetGetIndex:qr,_BinaryenLocalSetSetIndex:yN,_BinaryenLocalSetGetValue:sr,_BinaryenLocalSetSetValue:vs,_BinaryenLocalTee:M_,_BinaryenGlobalGet:G_,_BinaryenGlobalGetGetName:Ss,_BinaryenGlobalGetSetName:gN,_BinaryenGlobalSet:z_,_BinaryenGlobalSetGetName:U_,_BinaryenGlobalSetSetName:bN,_BinaryenGlobalSetGetValue:$l,_BinaryenGlobalSetSetValue:V_,_BinaryenMemorySize:D_,_BinaryenMemoryGrow:q_,_BinaryenMemoryGrowGetDelta:$i,_BinaryenMemoryGrowSetDelta:O_,_BinaryenLoad:W_,_BinaryenLoadIsAtomic:xN,_BinaryenLoadSetAtomic:TN,_BinaryenLoadIsSigned:K_,_BinaryenLoadSetSigned:EN,_BinaryenLoadGetOffset:H_,_BinaryenLoadSetOffset:vN,_BinaryenLoadGetBytes:j_,_BinaryenLoadSetBytes:SN,_BinaryenLoadGetAlign:IN,_BinaryenLoadSetAlign:FN,_BinaryenLoadGetPtr:Xi,_BinaryenLoadSetPtr:$_,_BinaryenAtomicLoad:X_,_BinaryenStore:Z_,_BinaryenStoreIsAtomic:RN,_BinaryenStoreSetAtomic:kN,_BinaryenStoreGetBytes:Is,_BinaryenStoreSetBytes:AN,_BinaryenStoreGetOffset:Fs,_BinaryenStoreSetOffset:wN,_BinaryenStoreGetAlign:CN,_BinaryenStoreSetAlign:BN,_BinaryenStoreGetPtr:ar,_BinaryenStoreSetPtr:Rs,_BinaryenStoreGetValue:Zi,_BinaryenStoreSetValue:Y_,_BinaryenStoreGetValueType:PN,_BinaryenStoreSetValueType:NN,_BinaryenAtomicStore:Q_,_BinaryenConst:Or,_BinaryenConstGetValueI32:J_,_BinaryenConstSetValueI32:LN,_BinaryenConstGetValueI64Low:ef,_BinaryenConstSetValueI64Low:MN,_BinaryenConstGetValueI64High:tf,_BinaryenConstSetValueI64High:GN,_BinaryenConstGetValueF32:rf,_BinaryenConstSetValueF32:zN,_BinaryenConstGetValueF64:nf,_BinaryenConstSetValueF64:UN,_BinaryenConstGetValueV128:sf,_BinaryenConstSetValueV128:VN,_BinaryenUnary:af,_BinaryenUnaryGetOp:lf,_BinaryenUnarySetOp:DN,_BinaryenUnaryGetValue:Yi,_BinaryenUnarySetValue:of,_BinaryenBinary:uf,_BinaryenBinaryGetOp:pf,_BinaryenBinarySetOp:qN,_BinaryenBinaryGetLeft:Qi,_BinaryenBinarySetLeft:cf,_BinaryenBinaryGetRight:Ji,_BinaryenBinarySetRight:_f,_BinaryenSelect:ff,_BinaryenSelectGetIfTrue:en,_BinaryenSelectSetIfTrue:hf,_BinaryenSelectGetIfFalse:tn,_BinaryenSelectSetIfFalse:df,_BinaryenSelectGetCondition:rn,_BinaryenSelectSetCondition:mf,_BinaryenDrop:Xl,_BinaryenDropGetValue:nn,_BinaryenDropSetValue:yf,_BinaryenReturn:gf,_BinaryenReturnGetValue:lr,_BinaryenReturnSetValue:ks,_BinaryenNop:bf,_BinaryenUnreachable:xf,_BinaryenAtomicRMW:Tf,_BinaryenAtomicRMWGetOp:ON,_BinaryenAtomicRMWSetOp:WN,_BinaryenAtomicRMWGetBytes:KN,_BinaryenAtomicRMWSetBytes:HN,_BinaryenAtomicRMWGetOffset:jN,_BinaryenAtomicRMWSetOffset:$N,_BinaryenAtomicRMWGetPtr:Zl,_BinaryenAtomicRMWSetPtr:Ef,_BinaryenAtomicRMWGetValue:Yl,_BinaryenAtomicRMWSetValue:vf,_BinaryenAtomicCmpxchg:Sf,_BinaryenAtomicCmpxchgGetBytes:XN,_BinaryenAtomicCmpxchgSetBytes:ZN,_BinaryenAtomicCmpxchgGetOffset:YN,_BinaryenAtomicCmpxchgSetOffset:QN,_BinaryenAtomicCmpxchgGetPtr:Ql,_BinaryenAtomicCmpxchgSetPtr:If,_BinaryenAtomicCmpxchgGetExpected:Jl,_BinaryenAtomicCmpxchgSetExpected:Ff,_BinaryenAtomicCmpxchgGetReplacement:eo,_BinaryenAtomicCmpxchgSetReplacement:Rf,_BinaryenAtomicWait:kf,_BinaryenAtomicWaitGetPtr:to,_BinaryenAtomicWaitSetPtr:Af,_BinaryenAtomicWaitGetExpected:ro,_BinaryenAtomicWaitSetExpected:wf,_BinaryenAtomicWaitGetTimeout:io,_BinaryenAtomicWaitSetTimeout:Cf,_BinaryenAtomicWaitGetExpectedType:JN,_BinaryenAtomicWaitSetExpectedType:eL,_BinaryenAtomicNotify:Bf,_BinaryenAtomicNotifyGetPtr:no,_BinaryenAtomicNotifySetPtr:Pf,_BinaryenAtomicNotifyGetNotifyCount:so,_BinaryenAtomicNotifySetNotifyCount:Nf,_BinaryenAtomicFence:Lf,_BinaryenAtomicFenceGetOrder:tL,_BinaryenAtomicFenceSetOrder:rL,_BinaryenSIMDExtract:Mf,_BinaryenSIMDExtractGetOp:iL,_BinaryenSIMDExtractSetOp:nL,_BinaryenSIMDExtractGetVec:ao,_BinaryenSIMDExtractSetVec:Gf,_BinaryenSIMDExtractGetIndex:sL,_BinaryenSIMDExtractSetIndex:aL,_BinaryenSIMDReplace:zf,_BinaryenSIMDReplaceGetOp:lL,_BinaryenSIMDReplaceSetOp:oL,_BinaryenSIMDReplaceGetVec:lo,_BinaryenSIMDReplaceSetVec:Uf,_BinaryenSIMDReplaceGetIndex:uL,_BinaryenSIMDReplaceSetIndex:pL,_BinaryenSIMDReplaceGetValue:oo,_BinaryenSIMDReplaceSetValue:Vf,_BinaryenSIMDShuffle:Df,_BinaryenSIMDShuffleGetLeft:uo,_BinaryenSIMDShuffleSetLeft:qf,_BinaryenSIMDShuffleGetRight:po,_BinaryenSIMDShuffleSetRight:Of,_BinaryenSIMDShuffleGetMask:cL,_BinaryenSIMDShuffleSetMask:_L,_BinaryenSIMDTernary:Wf,_BinaryenSIMDTernaryGetOp:fL,_BinaryenSIMDTernarySetOp:hL,_BinaryenSIMDTernaryGetA:co,_BinaryenSIMDTernarySetA:Kf,_BinaryenSIMDTernaryGetB:_o,_BinaryenSIMDTernarySetB:Hf,_BinaryenSIMDTernaryGetC:fo,_BinaryenSIMDTernarySetC:jf,_BinaryenSIMDShift:$f,_BinaryenSIMDShiftGetOp:dL,_BinaryenSIMDShiftSetOp:mL,_BinaryenSIMDShiftGetVec:ho,_BinaryenSIMDShiftSetVec:Xf,_BinaryenSIMDShiftGetShift:mo,_BinaryenSIMDShiftSetShift:Zf,_BinaryenSIMDLoad:Yf,_BinaryenSIMDLoadGetOp:yL,_BinaryenSIMDLoadSetOp:gL,_BinaryenSIMDLoadGetOffset:bL,_BinaryenSIMDLoadSetOffset:xL,_BinaryenSIMDLoadGetAlign:TL,_BinaryenSIMDLoadSetAlign:EL,_BinaryenSIMDLoadGetPtr:yo,_BinaryenSIMDLoadSetPtr:Qf,_BinaryenSIMDLoadStoreLane:Jf,_BinaryenSIMDLoadStoreLaneGetOp:vL,_BinaryenSIMDLoadStoreLaneSetOp:SL,_BinaryenSIMDLoadStoreLaneGetOffset:IL,_BinaryenSIMDLoadStoreLaneSetOffset:FL,_BinaryenSIMDLoadStoreLaneGetAlign:RL,_BinaryenSIMDLoadStoreLaneSetAlign:kL,_BinaryenSIMDLoadStoreLaneGetIndex:AL,_BinaryenSIMDLoadStoreLaneSetIndex:wL,_BinaryenSIMDLoadStoreLaneGetPtr:go,_BinaryenSIMDLoadStoreLaneSetPtr:eh,_BinaryenSIMDLoadStoreLaneGetVec:bo,_BinaryenSIMDLoadStoreLaneSetVec:th,_BinaryenSIMDLoadStoreLaneIsStore:CL,_BinaryenMemoryInit:BL,_BinaryenMemoryInitGetSegment:PL,_BinaryenMemoryInitSetSegment:NL,_BinaryenMemoryInitGetDest:xo,_BinaryenMemoryInitSetDest:rh,_BinaryenMemoryInitGetOffset:To,_BinaryenMemoryInitSetOffset:ih,_BinaryenMemoryInitGetSize:Eo,_BinaryenMemoryInitSetSize:nh,_BinaryenDataDrop:LL,_BinaryenDataDropGetSegment:ML,_BinaryenDataDropSetSegment:GL,_BinaryenMemoryCopy:sh,_BinaryenMemoryCopyGetDest:vo,_BinaryenMemoryCopySetDest:ah,_BinaryenMemoryCopyGetSource:So,_BinaryenMemoryCopySetSource:lh,_BinaryenMemoryCopyGetSize:Io,_BinaryenMemoryCopySetSize:oh,_BinaryenMemoryFill:uh,_BinaryenMemoryFillGetDest:Fo,_BinaryenMemoryFillSetDest:ph,_BinaryenMemoryFillGetValue:Ro,_BinaryenMemoryFillSetValue:ch,_BinaryenMemoryFillGetSize:ko,_BinaryenMemoryFillSetSize:_h,_BinaryenRefNull:fh,_BinaryenRefIsNull:hh,_BinaryenRefIsNullGetValue:Ao,_BinaryenRefIsNullSetValue:dh,_BinaryenRefAs:wo,_BinaryenRefAsGetOp:zL,_BinaryenRefAsSetOp:UL,_BinaryenRefAsGetValue:Co,_BinaryenRefAsSetValue:mh,_BinaryenRefFunc:yh,_BinaryenRefFuncGetFunc:gh,_BinaryenRefFuncSetFunc:VL,_BinaryenRefEq:bh,_BinaryenRefEqGetLeft:Bo,_BinaryenRefEqSetLeft:xh,_BinaryenRefEqGetRight:Po,_BinaryenRefEqSetRight:Th,_BinaryenTableGet:Eh,_BinaryenTableGetGetTable:DL,_BinaryenTableGetSetTable:qL,_BinaryenTableGetGetIndex:OL,_BinaryenTableGetSetIndex:WL,_BinaryenTableSet:vh,_BinaryenTableSetGetTable:KL,_BinaryenTableSetSetTable:HL,_BinaryenTableSetGetIndex:jL,_BinaryenTableSetSetIndex:$L,_BinaryenTableSetGetValue:XL,_BinaryenTableSetSetValue:ZL,_BinaryenTableSize:Sh,_BinaryenTableSizeGetTable:YL,_BinaryenTableSizeSetTable:QL,_BinaryenTableGrow:Ih,_BinaryenTableGrowGetTable:JL,_BinaryenTableGrowSetTable:eM,_BinaryenTableGrowGetValue:tM,_BinaryenTableGrowSetValue:rM,_BinaryenTableGrowGetDelta:iM,_BinaryenTableGrowSetDelta:nM,_BinaryenTry:Fh,_BinaryenTryGetName:sM,_BinaryenTrySetName:aM,_BinaryenTryGetBody:No,_BinaryenTrySetBody:Rh,_BinaryenTryGetNumCatchTags:lM,_BinaryenTryGetNumCatchBodies:Lo,_BinaryenTryGetCatchTagAt:oM,_BinaryenTrySetCatchTagAt:uM,_BinaryenTryAppendCatchTag:pM,_BinaryenTryInsertCatchTagAt:cM,_BinaryenTryRemoveCatchTagAt:_M,_BinaryenTryGetCatchBodyAt:Mo,_BinaryenTrySetCatchBodyAt:kh,_BinaryenTryAppendCatchBody:fM,_BinaryenTryInsertCatchBodyAt:hM,_BinaryenTryRemoveCatchBodyAt:dM,_BinaryenTryHasCatchAll:mM,_BinaryenTryGetDelegateTarget:yM,_BinaryenTrySetDelegateTarget:gM,_BinaryenTryIsDelegate:bM,_BinaryenThrow:Ah,_BinaryenThrowGetTag:wh,_BinaryenThrowSetTag:xM,_BinaryenThrowGetNumOperands:Go,_BinaryenThrowGetOperandAt:zo,_BinaryenThrowSetOperandAt:Ch,_BinaryenThrowAppendOperand:TM,_BinaryenThrowInsertOperandAt:EM,_BinaryenThrowRemoveOperandAt:vM,_BinaryenRethrow:Bh,_BinaryenRethrowGetTarget:SM,_BinaryenRethrowSetDepth:IM,_BinaryenTupleMake:Ph,_BinaryenTupleMakeGetNumOperands:Uo,_BinaryenTupleMakeGetOperandAt:Vo,_BinaryenTupleMakeSetOperandAt:Nh,_BinaryenTupleMakeAppendOperand:FM,_BinaryenTupleMakeInsertOperandAt:RM,_BinaryenTupleMakeRemoveOperandAt:kM,_BinaryenTupleExtract:Lh,_BinaryenTupleExtractGetTuple:Do,_BinaryenTupleExtractSetTuple:Mh,_BinaryenTupleExtractGetIndex:AM,_BinaryenTupleExtractSetIndex:wM,_BinaryenPop:Gh,_BinaryenRefI31:zh,_BinaryenRefI31GetValue:qo,_BinaryenRefI31SetValue:Uh,_BinaryenI31Get:Vh,_BinaryenI31GetGetI31:Oo,_BinaryenI31GetSetI31:Dh,_BinaryenI31GetIsSigned:CM,_BinaryenI31GetSetSigned:BM,_BinaryenCallRef:PM,_BinaryenCallRefGetNumOperands:Wo,_BinaryenCallRefGetOperandAt:Ko,_BinaryenCallRefSetOperandAt:qh,_BinaryenCallRefAppendOperand:NM,_BinaryenCallRefInsertOperandAt:LM,_BinaryenCallRefRemoveOperandAt:MM,_BinaryenCallRefGetTarget:Ho,_BinaryenCallRefSetTarget:Oh,_BinaryenCallRefIsReturn:GM,_BinaryenCallRefSetReturn:zM,_BinaryenRefTest:UM,_BinaryenRefTestGetRef:jo,_BinaryenRefTestSetRef:Wh,_BinaryenRefTestGetCastType:VM,_BinaryenRefTestSetCastType:DM,_BinaryenRefCast:qM,_BinaryenRefCastGetRef:$o,_BinaryenRefCastSetRef:Kh,_BinaryenBrOn:OM,_BinaryenBrOnGetOp:WM,_BinaryenBrOnSetOp:KM,_BinaryenBrOnGetName:Hh,_BinaryenBrOnSetName:HM,_BinaryenBrOnGetRef:Xo,_BinaryenBrOnSetRef:jh,_BinaryenBrOnGetCastType:jM,_BinaryenBrOnSetCastType:$M,_BinaryenStructNew:XM,_BinaryenStructNewGetNumOperands:Zo,_BinaryenStructNewGetOperandAt:Yo,_BinaryenStructNewSetOperandAt:$h,_BinaryenStructNewAppendOperand:ZM,_BinaryenStructNewInsertOperandAt:YM,_BinaryenStructNewRemoveOperandAt:QM,_BinaryenStructGet:JM,_BinaryenStructGetGetIndex:Xh,_BinaryenStructGetSetIndex:e7,_BinaryenStructGetGetRef:Qo,_BinaryenStructGetSetRef:Zh,_BinaryenStructGetIsSigned:t7,_BinaryenStructGetSetSigned:r7,_BinaryenStructSet:i7,_BinaryenStructSetGetIndex:Yh,_BinaryenStructSetSetIndex:n7,_BinaryenStructSetGetRef:Jo,_BinaryenStructSetSetRef:Qh,_BinaryenStructSetGetValue:eu,_BinaryenStructSetSetValue:Jh,_BinaryenArrayNew:s7,_BinaryenArrayNewGetInit:tu,_BinaryenArrayNewSetInit:ed,_BinaryenArrayNewGetSize:ru,_BinaryenArrayNewSetSize:td,_BinaryenArrayNewFixed:a7,_BinaryenArrayNewFixedGetNumValues:iu,_BinaryenArrayNewFixedGetValueAt:nu,_BinaryenArrayNewFixedSetValueAt:rd,_BinaryenArrayNewFixedAppendValue:l7,_BinaryenArrayNewFixedInsertValueAt:o7,_BinaryenArrayNewFixedRemoveValueAt:u7,_BinaryenArrayGet:p7,_BinaryenArrayGetGetRef:su,_BinaryenArrayGetSetRef:id,_BinaryenArrayGetGetIndex:au,_BinaryenArrayGetSetIndex:nd,_BinaryenArrayGetIsSigned:c7,_BinaryenArrayGetSetSigned:_7,_BinaryenArraySet:f7,_BinaryenArraySetGetRef:lu,_BinaryenArraySetSetRef:sd,_BinaryenArraySetGetIndex:ou,_BinaryenArraySetSetIndex:ad,_BinaryenArraySetGetValue:uu,_BinaryenArraySetSetValue:ld,_BinaryenArrayLen:h7,_BinaryenArrayLenGetRef:pu,_BinaryenArrayLenSetRef:od,_BinaryenArrayCopy:d7,_BinaryenArrayCopyGetDestRef:cu,_BinaryenArrayCopySetDestRef:ud,_BinaryenArrayCopyGetDestIndex:_u,_BinaryenArrayCopySetDestIndex:pd,_BinaryenArrayCopyGetSrcRef:fu,_BinaryenArrayCopySetSrcRef:cd,_BinaryenArrayCopyGetSrcIndex:hu,_BinaryenArrayCopySetSrcIndex:_d,_BinaryenArrayCopyGetLength:du,_BinaryenArrayCopySetLength:fd,_BinaryenStringNew:m7,_BinaryenStringNewGetOp:y7,_BinaryenStringNewSetOp:g7,_BinaryenStringNewGetPtr:mu,_BinaryenStringNewSetPtr:hd,_BinaryenStringNewGetLength:yu,_BinaryenStringNewSetLength:dd,_BinaryenStringNewGetStart:gu,_BinaryenStringNewSetStart:md,_BinaryenStringNewGetEnd:bu,_BinaryenStringNewSetEnd:yd,_BinaryenStringNewIsTry:b7,_BinaryenStringNewSetTry:x7,_BinaryenStringConst:T7,_BinaryenStringConstGetString:E7,_BinaryenStringConstSetString:v7,_BinaryenStringMeasure:S7,_BinaryenStringMeasureGetOp:I7,_BinaryenStringMeasureSetOp:F7,_BinaryenStringMeasureGetRef:xu,_BinaryenStringMeasureSetRef:gd,_BinaryenStringEncode:R7,_BinaryenStringEncodeGetOp:k7,_BinaryenStringEncodeSetOp:A7,_BinaryenStringEncodeGetRef:Tu,_BinaryenStringEncodeSetRef:bd,_BinaryenStringEncodeGetPtr:Eu,_BinaryenStringEncodeSetPtr:xd,_BinaryenStringEncodeGetStart:vu,_BinaryenStringEncodeSetStart:Td,_BinaryenStringConcat:w7,_BinaryenStringConcatGetLeft:Su,_BinaryenStringConcatSetLeft:Ed,_BinaryenStringConcatGetRight:Iu,_BinaryenStringConcatSetRight:vd,_BinaryenStringEq:Fu,_BinaryenStringEqGetOp:C7,_BinaryenStringEqSetOp:B7,_BinaryenStringEqGetLeft:Ru,_BinaryenStringEqSetLeft:Sd,_BinaryenStringEqGetRight:ku,_BinaryenStringEqSetRight:Id,_BinaryenStringAs:P7,_BinaryenStringAsGetOp:N7,_BinaryenStringAsSetOp:L7,_BinaryenStringAsGetRef:Au,_BinaryenStringAsSetRef:Fd,_BinaryenStringWTF8Advance:M7,_BinaryenStringWTF8AdvanceGetRef:wu,_BinaryenStringWTF8AdvanceSetRef:Rd,_BinaryenStringWTF8AdvanceGetPos:Cu,_BinaryenStringWTF8AdvanceSetPos:kd,_BinaryenStringWTF8AdvanceGetBytes:Bu,_BinaryenStringWTF8AdvanceSetBytes:Ad,_BinaryenStringWTF16Get:G7,_BinaryenStringWTF16GetGetRef:Pu,_BinaryenStringWTF16GetSetRef:wd,_BinaryenStringWTF16GetGetPos:Nu,_BinaryenStringWTF16GetSetPos:Cd,_BinaryenStringIterNext:z7,_BinaryenStringIterNextGetRef:Lu,_BinaryenStringIterNextSetRef:Bd,_BinaryenStringIterMove:U7,_BinaryenStringIterMoveGetOp:V7,_BinaryenStringIterMoveSetOp:D7,_BinaryenStringIterMoveGetRef:Mu,_BinaryenStringIterMoveSetRef:Pd,_BinaryenStringIterMoveGetNum:Gu,_BinaryenStringIterMoveSetNum:Nd,_BinaryenStringSliceWTF:q7,_BinaryenStringSliceWTFGetOp:O7,_BinaryenStringSliceWTFSetOp:W7,_BinaryenStringSliceWTFGetRef:zu,_BinaryenStringSliceWTFSetRef:Ld,_BinaryenStringSliceWTFGetStart:Uu,_BinaryenStringSliceWTFSetStart:Md,_BinaryenStringSliceWTFGetEnd:Vu,_BinaryenStringSliceWTFSetEnd:Gd,_BinaryenStringSliceIter:K7,_BinaryenStringSliceIterGetRef:Du,_BinaryenStringSliceIterSetRef:zd,_BinaryenStringSliceIterGetNum:qu,_BinaryenStringSliceIterSetNum:Ud,_BinaryenAddFunction:Wr,_BinaryenGetFunction:Kr,_BinaryenRemoveFunction:sn,_BinaryenGetNumFunctions:Vd,_BinaryenGetFunctionByIndex:Dd,_BinaryenFunctionGetName:Hr,_BinaryenFunctionGetParams:an,_BinaryenFunctionGetResults:ln,_BinaryenFunctionGetNumVars:As,_BinaryenFunctionGetVar:ws,_BinaryenFunctionGetNumLocals:Ou,_BinaryenFunctionHasLocalName:H7,_BinaryenFunctionGetLocalName:j7,_BinaryenFunctionSetLocalName:qd,_BinaryenFunctionGetBody:Gt,_BinaryenFunctionSetBody:Cs,_BinaryenFunctionOptimize:$7,_BinaryenFunctionRunPasses:Od,_BinaryenFunctionSetDebugLocation:Wd,_BinaryenAddFunctionImport:Kd,_BinaryenAddTableImport:Hd,_BinaryenAddMemoryImport:jd,_BinaryenAddGlobalImport:$d,_BinaryenAddTagImport:Xd,_BinaryenAddFunctionExport:Bs,_BinaryenAddTableExport:Zd,_BinaryenAddMemoryExport:Yd,_BinaryenAddGlobalExport:Qd,_BinaryenAddTagExport:Jd,_BinaryenGetExport:Ps,_BinaryenRemoveExport:Ns,_BinaryenGetNumExports:X7,_BinaryenGetExportByIndex:Z7,_BinaryenExportGetKind:em,_BinaryenExportGetName:tm,_BinaryenExportGetValue:rm,_BinaryenAddGlobal:im,_BinaryenGetGlobal:Wu,_BinaryenRemoveGlobal:nm,_BinaryenGetNumGlobals:sm,_BinaryenGetGlobalByIndex:am,_BinaryenGlobalGetName:lm,_BinaryenGlobalGetType:om,_BinaryenGlobalIsMutable:um,_BinaryenGlobalGetInitExpr:Ls,_BinaryenAddTag:pm,_BinaryenGetTag:cm,_BinaryenRemoveTag:_m,_BinaryenTagGetName:fm,_BinaryenTagGetParams:hm,_BinaryenTagGetResults:dm,_BinaryenAddTable:mm,_BinaryenRemoveTable:Y7,_BinaryenGetNumTables:Q7,_BinaryenGetTable:ym,_BinaryenGetTableByIndex:J7,_BinaryenTableGetName:eG,_BinaryenTableSetName:tG,_BinaryenTableGetInitial:rG,_BinaryenTableSetInitial:gm,_BinaryenTableHasMax:iG,_BinaryenTableGetMax:nG,_BinaryenTableSetMax:bm,_BinaryenAddActiveElementSegment:xm,_BinaryenAddPassiveElementSegment:sG,_BinaryenRemoveElementSegment:aG,_BinaryenGetNumElementSegments:lG,_BinaryenGetElementSegment:oG,_BinaryenGetElementSegmentByIndex:uG,_BinaryenSetMemory:Tm,_BinaryenGetNumMemorySegments:pG,_BinaryenGetMemorySegmentByteOffset:cG,_BinaryenGetMemorySegmentByteLength:_G,_BinaryenCopyMemorySegmentData:fG,_BinaryenSetStart:Em,_BinaryenModuleParse:hG,_BinaryenModulePrint:dG,_BinaryenModulePrintAsmjs:mG,_BinaryenModuleValidate:vm,_BinaryenModuleOptimize:yG,_BinaryenModuleRunPasses:Sm,_BinaryenModuleAutoDrop:gG,_BinaryenSizeofAllocateAndWriteResult:Im,_BinaryenModuleAllocateAndWrite:Fm,_BinaryenModuleAllocateAndWriteText:Rm,_BinaryenModuleAllocateAndWriteStackIR:km,_BinaryenModuleRead:Am,_BinaryenModuleInterpret:wm,_BinaryenModuleAddDebugInfoFileName:Cm,_BinaryenModuleGetDebugInfoFileName:Bm,_BinaryenModuleGetFeatures:Pm,_BinaryenModuleSetFeatures:Nm,_BinaryenAddCustomSection:Lm,_BinaryenExpressionGetSideEffects:Mm,_RelooperCreate:Gm,_RelooperAddBlock:zm,_RelooperAddBranch:Um,_RelooperAddBlockWithSwitch:Vm,_RelooperAddBranchForSwitch:Dm,_RelooperRenderAndDispose:qm,_ExpressionRunnerCreate:Om,_ExpressionRunnerSetLocalValue:bG,_ExpressionRunnerSetGlobalValue:xG,_ExpressionRunnerRunAndDispose:Wm,_TypeBuilderCreate:Km,_TypeBuilderGrow:Ku,_TypeBuilderGetSize:Ms,_TypeBuilderSetSignatureType:Hm,_TypeBuilderSetStructType:jm,_TypeBuilderSetArrayType:TG,_TypeBuilderGetTempHeapType:Hu,_TypeBuilderGetTempTupleType:ju,_TypeBuilderGetTempRefType:jr,_TypeBuilderSetSubType:$m,_TypeBuilderSetOpen:EG,_TypeBuilderCreateRecGroup:vG,_TypeBuilderBuildAndDispose:Xm,_BinaryenModuleSetTypeName:Zm,_BinaryenModuleSetFieldName:Ym,_BinaryenGetOptimizeLevel:Qm,_BinaryenSetOptimizeLevel:Jm,_BinaryenGetShrinkLevel:ey,_BinaryenSetShrinkLevel:ty,_BinaryenGetDebugInfo:ry,_BinaryenSetDebugInfo:iy,_BinaryenGetLowMemoryUnused:ny,_BinaryenSetLowMemoryUnused:sy,_BinaryenGetZeroFilledMemory:ay,_BinaryenSetZeroFilledMemory:ly,_BinaryenGetFastMath:oy,_BinaryenSetFastMath:uy,_BinaryenGetPassArgument:py,_BinaryenSetPassArgument:cy,_BinaryenClearPassArguments:_y,_BinaryenGetAlwaysInlineMaxSize:fy,_BinaryenSetAlwaysInlineMaxSize:hy,_BinaryenGetFlexibleInlineMaxSize:dy,_BinaryenSetFlexibleInlineMaxSize:my,_BinaryenGetOneCallerInlineMaxSize:yy,_BinaryenSetOneCallerInlineMaxSize:gy,_BinaryenGetAllowInliningFunctionsWithLoops:by,_BinaryenSetAllowInliningFunctionsWithLoops:xy,_malloc:it,_free:J,__i32_store8:we,__i32_store16:SG,__i32_store:Gs,__f32_store:IG,__f64_store:FG,__i32_load8_s:RG,__i32_load8_u:or,__i32_load16_s:kG,__i32_load16_u:AG,__i32_load:zt,__f32_load:wG,__f64_load:CG}=ql;var zs=new Float64Array(1),Ey=new Float32Array(zs.buffer),$r=new Int32Array(zs.buffer);globalThis.f32_as_i32=function(i){return Ey[0]=i,$r[0]};globalThis.i32_as_f32=function(i){return $r[0]=i,Ey[0]};globalThis.f64_as_i64=function(i){return zs[0]=i,i64_new($r[0],$r[1])};globalThis.i64_as_f64=function(i){return $r[0]=i64_low(i),$r[1]=i64_high(i),zs[0]};import me from"long";globalThis.i64_zero=me.ZERO;globalThis.i64_one=me.ONE;globalThis.i64_neg_one=me.fromInt(-1);globalThis.i64_minimum=me.MIN_VALUE;globalThis.i64_maximum=me.MAX_VALUE;globalThis.i64_is=function(i){return me.isLong(i)};globalThis.i64_new=function(i,e){return me.fromBits(i,e)};globalThis.i64_low=function(i){return i.low};globalThis.i64_high=function(i){return i.high};globalThis.i64_not=function(i){return i.not()};globalThis.i64_neg=function(i){return i.neg()};globalThis.i64_clz=function(i){return i.clz()};globalThis.i64_ctz=function(i){return i.ctz()};globalThis.i64_add=function(i,e){return i.add(e)};globalThis.i64_sub=function(i,e){return i.sub(e)};globalThis.i64_mul=function(i,e){return i.mul(e)};globalThis.i64_pow=function(i,e){let r=e.low,n=e.high;if(n<=0){if(n<0)return i.eq(globalThis.i64_neg_one)?r&1?i:me.ONE:i.eq(me.ONE)?i:me.ZERO;if(r==0)return me.ONE;if(r==1)return i;if(r==2)return i.mul(i)}let s=me.ONE;for(;r|n;)r&1&&(s=s.mul(i)),e=e.shru(1),i=i.mul(i),r=e.low,n=e.high;return s};globalThis.i64_div=function(i,e){return i.div(e)};globalThis.i64_div_u=function(i,e){return i.toUnsigned().div(e.toUnsigned()).toSigned()};globalThis.i64_rem=function(i,e){return i.mod(e)};globalThis.i64_rem_u=function(i,e){return i.toUnsigned().mod(e.toUnsigned()).toSigned()};globalThis.i64_and=function(i,e){return i.and(e)};globalThis.i64_or=function(i,e){return i.or(e)};globalThis.i64_xor=function(i,e){return i.xor(e)};globalThis.i64_shl=function(i,e){return i.shl(e)};globalThis.i64_shr=function(i,e){return i.shr(e)};globalThis.i64_shr_u=function(i,e){return i.shru(e)};globalThis.i64_eq=function(i,e){return i.eq(e)};globalThis.i64_ne=function(i,e){return i.ne(e)};globalThis.i64_ge=function(i,e){return i.ge(e)};globalThis.i64_ge_u=function(i,e){return i.toUnsigned().ge(e.toUnsigned())};globalThis.i64_gt=function(i,e){return i.gt(e)};globalThis.i64_gt_u=function(i,e){return i.toUnsigned().gt(e.toUnsigned())};globalThis.i64_le=function(i,e){return i.le(e)};globalThis.i64_le_u=function(i,e){return i.toUnsigned().le(e.toUnsigned())};globalThis.i64_lt=function(i,e){return i.lt(e)};globalThis.i64_lt_u=function(i,e){return i.toUnsigned().lt(e.toUnsigned())};globalThis.i64_align=function(i,e){assert(e&&(e&e-1)==0);let r=me.fromInt(e-1);return i.add(r).and(r.not())};globalThis.i64_signbit=function(i){return!!(i.high>>>31)};globalThis.i64_is_i8=function(i){return i.high===0&&i.low>=0&&i.low<=i8.MAX_VALUE||i.high===-1&&i.low>=i8.MIN_VALUE&&i.low<0};globalThis.i64_is_i16=function(i){return i.high===0&&i.low>=0&&i.low<=i16.MAX_VALUE||i.high===-1&&i.low>=i16.MIN_VALUE&&i.low<0};globalThis.i64_is_i32=function(i){return i.high===0&&i.low>=0||i.high===-1&&i.low<0};globalThis.i64_is_u8=function(i){return i.high===0&&i.low>>>0<=u8.MAX_VALUE};globalThis.i64_is_u16=function(i){return i.high===0&&i.low>>>0<=u16.MAX_VALUE};globalThis.i64_is_u32=function(i){return i.high===0};globalThis.i64_is_bool=function(i){return(i.high|i.low&-2)===0};var c2=me.fromNumber(f32.MIN_SAFE_INTEGER),_2=me.fromNumber(f32.MAX_SAFE_INTEGER);globalThis.i64_is_f32=function(i){return i.gte(c2)&&i.lte(_2)};var f2=me.fromNumber(f64.MIN_SAFE_INTEGER),h2=me.fromNumber(f64.MAX_SAFE_INTEGER);globalThis.i64_is_f64=function(i){return i.gte(f2)&&i.lte(h2)};globalThis.i64_to_f32=function(i){return globalThis.Math.fround(i.toNumber())};globalThis.i64_to_f64=function(i){return i.toNumber()};globalThis.i64_to_string=function(i,e){return e?i.toUnsigned().toString():i.toString()};globalThis.i64_clone=function(i){return me.fromBits(i.low,i.high,i.unsigned)};globalThis.Map_keys=function(i){return Array.from(i.keys())};globalThis.Map_values=function(i){return Array.from(i.values())};globalThis.Set_values=function(i){return Array.from(i.values())};var Ut=(E=>(E[E.None=0]="None",E[E.SignExtension=1]="SignExtension",E[E.MutableGlobals=2]="MutableGlobals",E[E.NontrappingF2I=4]="NontrappingF2I",E[E.BulkMemory=8]="BulkMemory",E[E.Simd=16]="Simd",E[E.Threads=32]="Threads",E[E.ExceptionHandling=64]="ExceptionHandling",E[E.TailCalls=128]="TailCalls",E[E.ReferenceTypes=256]="ReferenceTypes",E[E.MultiValue=512]="MultiValue",E[E.GC=1024]="GC",E[E.Memory64=2048]="Memory64",E[E.RelaxedSimd=4096]="RelaxedSimd",E[E.ExtendedConst=8192]="ExtendedConst",E[E.Stringref=16384]="Stringref",E[E.All=32767]="All",E))(Ut||{});function Xr(t){switch(t){case 1:return"sign-extension";case 2:return"mutable-globals";case 4:return"nontrapping-f2i";case 8:return"bulk-memory";case 16:return"simd";case 32:return"threads";case 64:return"exception-handling";case 128:return"tail-calls";case 256:return"reference-types";case 512:return"multi-value";case 1024:return"gc";case 2048:return"memory64";case 4096:return"relaxed-simd";case 8192:return"extended-const";case 16384:return"stringref"}return assert(!1),""}var Zr=(r=>(r[r.Js=0]="Js",r[r.Wasm32=1]="Wasm32",r[r.Wasm64=2]="Wasm64",r))(Zr||{});var Us=(r=>(r[r.Stub=0]="Stub",r[r.Minimal=1]="Minimal",r[r.Incremental=2]="Incremental",r))(Us||{});var Yr=class{constructor(){this.flags=0}};Yr=Nc([unmanaged],Yr);var Vs=(V=>(V[V.NONE=0]="NONE",V[V.ARRAYBUFFERVIEW=1]="ARRAYBUFFERVIEW",V[V.ARRAY=2]="ARRAY",V[V.STATICARRAY=4]="STATICARRAY",V[V.SET=8]="SET",V[V.MAP=16]="MAP",V[V.POINTERFREE=32]="POINTERFREE",V[V.VALUE_ALIGN_0=64]="VALUE_ALIGN_0",V[V.VALUE_ALIGN_1=128]="VALUE_ALIGN_1",V[V.VALUE_ALIGN_2=256]="VALUE_ALIGN_2",V[V.VALUE_ALIGN_3=512]="VALUE_ALIGN_3",V[V.VALUE_ALIGN_4=1024]="VALUE_ALIGN_4",V[V.VALUE_SIGNED=2048]="VALUE_SIGNED",V[V.VALUE_FLOAT=4096]="VALUE_FLOAT",V[V.VALUE_NULLABLE=8192]="VALUE_NULLABLE",V[V.VALUE_MANAGED=16384]="VALUE_MANAGED",V[V.KEY_ALIGN_0=32768]="KEY_ALIGN_0",V[V.KEY_ALIGN_1=65536]="KEY_ALIGN_1",V[V.KEY_ALIGN_2=131072]="KEY_ALIGN_2",V[V.KEY_ALIGN_3=262144]="KEY_ALIGN_3",V[V.KEY_ALIGN_4=524288]="KEY_ALIGN_4",V[V.KEY_SIGNED=1048576]="KEY_SIGNED",V[V.KEY_FLOAT=2097152]="KEY_FLOAT",V[V.KEY_NULLABLE=4194304]="KEY_NULLABLE",V[V.KEY_MANAGED=8388608]="KEY_MANAGED",V))(Vs||{});var De=(H=>(H[H.None=0]="None",H[H.Import=1]="Import",H[H.Export=2]="Export",H[H.Declare=4]="Declare",H[H.Const=8]="Const",H[H.Let=16]="Let",H[H.Static=32]="Static",H[H.Readonly=64]="Readonly",H[H.Abstract=128]="Abstract",H[H.Public=256]="Public",H[H.Private=512]="Private",H[H.Protected=1024]="Protected",H[H.Get=2048]="Get",H[H.Set=4096]="Set",H[H.Override=8192]="Override",H[H.DefinitelyAssigned=16384]="DefinitelyAssigned",H[H.Ambient=32768]="Ambient",H[H.Generic=65536]="Generic",H[H.GenericContext=131072]="GenericContext",H[H.Instance=262144]="Instance",H[H.Constructor=524288]="Constructor",H[H.ModuleExport=1048576]="ModuleExport",H[H.ModuleImport=2097152]="ModuleImport",H[H.Resolved=4194304]="Resolved",H[H.Compiled=8388608]="Compiled",H[H.Errored=16777216]="Errored",H[H.Inlined=33554432]="Inlined",H[H.Scoped=67108864]="Scoped",H[H.Stub=134217728]="Stub",H[H.Overridden=268435456]="Overridden",H[H.Closure=536870912]="Closure",H[H.Quoted=1073741824]="Quoted",H[H.InternallyNullable=-2147483648]="InternallyNullable",H))(De||{}),Ye="/",d2="..",Ds="get:",qs="set:",$u="#",on=".",Xu="~",Os="~lib",nt=Os+Ye,Ne=Ye+"index",Zu="@",B;(G=>(G.Empty="",G.i8="i8",G.i16="i16",G.i32="i32",G.i64="i64",G.isize="isize",G.u8="u8",G.u16="u16",G.u32="u32",G.u64="u64",G.usize="usize",G.bool="bool",G.f32="f32",G.f64="f64",G.v128="v128",G.ref_func="ref_func",G.ref_extern="ref_extern",G.ref_any="ref_any",G.ref_eq="ref_eq",G.ref_struct="ref_struct",G.ref_array="ref_array",G.ref_i31="ref_i31",G.ref_string="ref_string",G.ref_stringview_wtf8="ref_stringview_wtf8",G.ref_stringview_wtf16="ref_stringview_wtf16",G.ref_stringview_iter="ref_stringview_iter",G.i8x16="i8x16",G.u8x16="u8x16",G.i16x8="i16x8",G.u16x8="u16x8",G.i32x4="i32x4",G.u32x4="u32x4",G.i64x2="i64x2",G.u64x2="u64x2",G.f32x4="f32x4",G.f64x2="f64x2",G.void_="void",G.number="number",G.boolean="boolean",G.string="string",G.native="native",G.indexof="indexof",G.valueof="valueof",G.returnof="returnof",G.nonnull="nonnull",G.null_="null",G.true_="true",G.false_="false",G.this_="this",G.super_="super",G.constructor="constructor",G.ASC_TARGET="ASC_TARGET",G.ASC_RUNTIME="ASC_RUNTIME",G.ASC_NO_ASSERT="ASC_NO_ASSERT",G.ASC_MEMORY_BASE="ASC_MEMORY_BASE",G.ASC_TABLE_BASE="ASC_TABLE_BASE",G.ASC_OPTIMIZE_LEVEL="ASC_OPTIMIZE_LEVEL",G.ASC_SHRINK_LEVEL="ASC_SHRINK_LEVEL",G.ASC_LOW_MEMORY_LIMIT="ASC_LOW_MEMORY_LIMIT",G.ASC_EXPORT_RUNTIME="ASC_EXPORT_RUNTIME",G.ASC_FEATURE_SIGN_EXTENSION="ASC_FEATURE_SIGN_EXTENSION",G.ASC_FEATURE_MUTABLE_GLOBALS="ASC_FEATURE_MUTABLE_GLOBALS",G.ASC_FEATURE_NONTRAPPING_F2I="ASC_FEATURE_NONTRAPPING_F2I",G.ASC_FEATURE_BULK_MEMORY="ASC_FEATURE_BULK_MEMORY",G.ASC_FEATURE_SIMD="ASC_FEATURE_SIMD",G.ASC_FEATURE_THREADS="ASC_FEATURE_THREADS",G.ASC_FEATURE_EXCEPTION_HANDLING="ASC_FEATURE_EXCEPTION_HANDLING",G.ASC_FEATURE_TAIL_CALLS="ASC_FEATURE_TAIL_CALLS",G.ASC_FEATURE_REFERENCE_TYPES="ASC_FEATURE_REFERENCE_TYPES",G.ASC_FEATURE_MULTI_VALUE="ASC_FEATURE_MULTI_VALUE",G.ASC_FEATURE_GC="ASC_FEATURE_GC",G.ASC_FEATURE_MEMORY64="ASC_FEATURE_MEMORY64",G.ASC_FEATURE_RELAXED_SIMD="ASC_FEATURE_RELAXED_SIMD",G.ASC_FEATURE_EXTENDED_CONST="ASC_FEATURE_EXTENDED_CONST",G.ASC_FEATURE_STRINGREF="ASC_FEATURE_STRINGREF",G.ASC_VERSION_MAJOR="ASC_VERSION_MAJOR",G.ASC_VERSION_MINOR="ASC_VERSION_MINOR",G.ASC_VERSION_PATCH="ASC_VERSION_PATCH",G.I8="I8",G.I16="I16",G.I32="I32",G.I64="I64",G.Isize="Isize",G.U8="U8",G.U16="U16",G.U32="U32",G.U64="U64",G.Usize="Usize",G.Bool="Bool",G.F32="F32",G.F64="F64",G.V128="V128",G.RefFunc="RefFunc",G.RefExtern="RefExtern",G.RefAny="RefAny",G.RefEq="RefEq",G.RefStruct="RefStruct",G.RefArray="RefArray",G.RefI31="RefI31",G.RefString="RefString",G.String="String",G.RegExp="RegExp",G.Object="Object",G.Array="Array",G.StaticArray="StaticArray",G.Set="Set",G.Map="Map",G.Function="Function",G.ArrayBufferView="ArrayBufferView",G.ArrayBuffer="ArrayBuffer",G.Math="Math",G.Mathf="Mathf",G.NativeMath="NativeMath",G.NativeMathf="NativeMathf",G.Int8Array="Int8Array",G.Int16Array="Int16Array",G.Int32Array="Int32Array",G.Int64Array="Int64Array",G.Uint8Array="Uint8Array",G.Uint8ClampedArray="Uint8ClampedArray",G.Uint16Array="Uint16Array",G.Uint32Array="Uint32Array",G.Uint64Array="Uint64Array",G.Float32Array="Float32Array",G.Float64Array="Float64Array",G.TemplateStringsArray="TemplateStringsArray",G.Error="Error",G.abort="abort",G.trace="trace",G.seed="seed",G.pow="pow",G.ipow32="ipow32",G.ipow64="ipow64",G.mod="mod",G.alloc="__alloc",G.realloc="__realloc",G.free="__free",G.new_="__new",G.renew="__renew",G.link="__link",G.collect="__collect",G.visit="__visit",G.newBuffer="__newBuffer",G.newArray="__newArray",G.BLOCK="~lib/rt/common/BLOCK",G.OBJECT="~lib/rt/common/OBJECT",G.DefaultMemory="0",G.DefaultTable="0"))(B||={});var st=(v=>(v[v.Not_implemented_0=100]="Not_implemented_0",v[v.Operation_is_unsafe=101]="Operation_is_unsafe",v[v.User_defined_0=102]="User_defined_0",v[v.Feature_0_is_not_enabled=103]="Feature_0_is_not_enabled",v[v.Low_memory_limit_exceeded_by_static_data_0_1=104]="Low_memory_limit_exceeded_by_static_data_0_1",v[v.Module_requires_at_least_0_pages_of_initial_memory=105]="Module_requires_at_least_0_pages_of_initial_memory",v[v.Module_requires_at_least_0_pages_of_maximum_memory=106]="Module_requires_at_least_0_pages_of_maximum_memory",v[v.Shared_memory_requires_maximum_memory_to_be_defined=107]="Shared_memory_requires_maximum_memory_to_be_defined",v[v.Shared_memory_requires_feature_threads_to_be_enabled=108]="Shared_memory_requires_feature_threads_to_be_enabled",v[v.Transform_0_1=109]="Transform_0_1",v[v.Start_function_name_0_is_invalid_or_conflicts_with_another_export=110]="Start_function_name_0_is_invalid_or_conflicts_with_another_export",v[v.Element_0_not_found=111]="Element_0_not_found",v[v.Exchange_of_0_values_is_not_supported_by_all_embeddings=112]="Exchange_of_0_values_is_not_supported_by_all_embeddings",v[v.Conversion_from_type_0_to_1_requires_an_explicit_cast=200]="Conversion_from_type_0_to_1_requires_an_explicit_cast",v[v.Conversion_from_type_0_to_1_will_require_an_explicit_cast_when_switching_between_32_64_bit=201]="Conversion_from_type_0_to_1_will_require_an_explicit_cast_when_switching_between_32_64_bit",v[v.Type_0_cannot_be_changed_to_type_1=202]="Type_0_cannot_be_changed_to_type_1",v[v.Operation_0_cannot_be_applied_to_type_1=203]="Operation_0_cannot_be_applied_to_type_1",v[v.Type_0_cannot_be_nullable=204]="Type_0_cannot_be_nullable",v[v.Mutable_value_cannot_be_inlined=206]="Mutable_value_cannot_be_inlined",v[v.Unmanaged_classes_cannot_extend_managed_classes_and_vice_versa=207]="Unmanaged_classes_cannot_extend_managed_classes_and_vice_versa",v[v.Unmanaged_classes_cannot_implement_interfaces=208]="Unmanaged_classes_cannot_implement_interfaces",v[v.Invalid_regular_expression_flags=209]="Invalid_regular_expression_flags",v[v.Expression_is_never_null=210]="Expression_is_never_null",v[v.Class_0_is_final_and_cannot_be_extended=211]="Class_0_is_final_and_cannot_be_extended",v[v.Decorator_0_is_not_valid_here=212]="Decorator_0_is_not_valid_here",v[v.Duplicate_decorator=213]="Duplicate_decorator",v[v.Type_0_is_illegal_in_this_context=214]="Type_0_is_illegal_in_this_context",v[v.Optional_parameter_must_have_an_initializer=215]="Optional_parameter_must_have_an_initializer",v[v.Class_0_cannot_declare_a_constructor_when_instantiated_from_an_object_literal=216]="Class_0_cannot_declare_a_constructor_when_instantiated_from_an_object_literal",v[v.Function_0_cannot_be_inlined_into_itself=217]="Function_0_cannot_be_inlined_into_itself",v[v.Cannot_access_method_0_without_calling_it_as_it_requires_this_to_be_set=218]="Cannot_access_method_0_without_calling_it_as_it_requires_this_to_be_set",v[v.Optional_properties_are_not_supported=219]="Optional_properties_are_not_supported",v[v.Expression_must_be_a_compile_time_constant=220]="Expression_must_be_a_compile_time_constant",v[v.Type_0_is_not_a_function_index_or_function_reference=221]="Type_0_is_not_a_function_index_or_function_reference",v[v._0_must_be_a_value_between_1_and_2_inclusive=222]="_0_must_be_a_value_between_1_and_2_inclusive",v[v._0_must_be_a_power_of_two=223]="_0_must_be_a_power_of_two",v[v._0_is_not_a_valid_operator=224]="_0_is_not_a_valid_operator",v[v.Expression_cannot_be_represented_by_a_type=225]="Expression_cannot_be_represented_by_a_type",v[v.Expression_resolves_to_unusual_type_0=226]="Expression_resolves_to_unusual_type_0",v[v.Array_literal_expected=227]="Array_literal_expected",v[v.Function_0_is_virtual_and_will_not_be_inlined=228]="Function_0_is_virtual_and_will_not_be_inlined",v[v.Property_0_only_has_a_setter_and_is_missing_a_getter=229]="Property_0_only_has_a_setter_and_is_missing_a_getter",v[v._0_keyword_cannot_be_used_here=230]="_0_keyword_cannot_be_used_here",v[v.A_class_with_a_constructor_explicitly_returning_something_else_than_this_must_be_final=231]="A_class_with_a_constructor_explicitly_returning_something_else_than_this_must_be_final",v[v.Property_0_is_always_assigned_before_being_used=233]="Property_0_is_always_assigned_before_being_used",v[v.Expression_does_not_compile_to_a_value_at_runtime=234]="Expression_does_not_compile_to_a_value_at_runtime",v[v.Only_variables_functions_and_enums_become_WebAssembly_module_exports=235]="Only_variables_functions_and_enums_become_WebAssembly_module_exports",v[v.Literal_0_does_not_fit_into_i64_or_u64_types=236]="Literal_0_does_not_fit_into_i64_or_u64_types",v[v.Index_signature_accessors_in_type_0_differ_in_types=237]="Index_signature_accessors_in_type_0_differ_in_types",v[v.Initializer_definitive_assignment_or_nullable_type_expected=238]="Initializer_definitive_assignment_or_nullable_type_expected",v[v.Definitive_assignment_has_no_effect_on_local_variables=239]="Definitive_assignment_has_no_effect_on_local_variables",v[v.Importing_the_table_disables_some_indirect_call_optimizations=901]="Importing_the_table_disables_some_indirect_call_optimizations",v[v.Exporting_the_table_disables_some_indirect_call_optimizations=902]="Exporting_the_table_disables_some_indirect_call_optimizations",v[v.Expression_compiles_to_a_dynamic_check_at_runtime=903]="Expression_compiles_to_a_dynamic_check_at_runtime",v[v.Indexed_access_may_involve_bounds_checking=904]="Indexed_access_may_involve_bounds_checking",v[v.Explicitly_returning_constructor_drops_this_allocation=905]="Explicitly_returning_constructor_drops_this_allocation",v[v.Unnecessary_definite_assignment=906]="Unnecessary_definite_assignment",v[v._NaN_does_not_compare_equal_to_any_other_value_including_itself_Use_isNaN_x_instead=907]="_NaN_does_not_compare_equal_to_any_other_value_including_itself_Use_isNaN_x_instead",v[v.Comparison_with_0_0_is_sign_insensitive_Use_Object_is_x_0_0_if_the_sign_matters=908]="Comparison_with_0_0_is_sign_insensitive_Use_Object_is_x_0_0_if_the_sign_matters",v[v.Unterminated_string_literal=1002]="Unterminated_string_literal",v[v.Identifier_expected=1003]="Identifier_expected",v[v._0_expected=1005]="_0_expected",v[v.A_file_cannot_have_a_reference_to_itself=1006]="A_file_cannot_have_a_reference_to_itself",v[v.Trailing_comma_not_allowed=1009]="Trailing_comma_not_allowed",v[v.Unexpected_token=1012]="Unexpected_token",v[v.A_rest_parameter_must_be_last_in_a_parameter_list=1014]="A_rest_parameter_must_be_last_in_a_parameter_list",v[v.Parameter_cannot_have_question_mark_and_initializer=1015]="Parameter_cannot_have_question_mark_and_initializer",v[v.A_required_parameter_cannot_follow_an_optional_parameter=1016]="A_required_parameter_cannot_follow_an_optional_parameter",v[v._0_modifier_cannot_appear_on_class_elements_of_this_kind=1031]="_0_modifier_cannot_appear_on_class_elements_of_this_kind",v[v.Statements_are_not_allowed_in_ambient_contexts=1036]="Statements_are_not_allowed_in_ambient_contexts",v[v.Initializers_are_not_allowed_in_ambient_contexts=1039]="Initializers_are_not_allowed_in_ambient_contexts",v[v._0_modifier_cannot_be_used_here=1042]="_0_modifier_cannot_be_used_here",v[v.A_rest_parameter_cannot_be_optional=1047]="A_rest_parameter_cannot_be_optional",v[v.A_rest_parameter_cannot_have_an_initializer=1048]="A_rest_parameter_cannot_have_an_initializer",v[v.A_set_accessor_must_have_exactly_one_parameter=1049]="A_set_accessor_must_have_exactly_one_parameter",v[v.A_set_accessor_parameter_cannot_have_an_initializer=1052]="A_set_accessor_parameter_cannot_have_an_initializer",v[v.A_get_accessor_cannot_have_parameters=1054]="A_get_accessor_cannot_have_parameters",v[v.Enum_member_must_have_initializer=1061]="Enum_member_must_have_initializer",v[v.Type_parameters_cannot_appear_on_a_constructor_declaration=1092]="Type_parameters_cannot_appear_on_a_constructor_declaration",v[v.Type_annotation_cannot_appear_on_a_constructor_declaration=1093]="Type_annotation_cannot_appear_on_a_constructor_declaration",v[v.An_accessor_cannot_have_type_parameters=1094]="An_accessor_cannot_have_type_parameters",v[v.A_set_accessor_cannot_have_a_return_type_annotation=1095]="A_set_accessor_cannot_have_a_return_type_annotation",v[v.Type_parameter_list_cannot_be_empty=1098]="Type_parameter_list_cannot_be_empty",v[v.Type_argument_list_cannot_be_empty=1099]="Type_argument_list_cannot_be_empty",v[v.A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement=1104]="A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement",v[v.A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement=1105]="A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement",v[v.A_return_statement_can_only_be_used_within_a_function_body=1108]="A_return_statement_can_only_be_used_within_a_function_body",v[v.Expression_expected=1109]="Expression_expected",v[v.Type_expected=1110]="Type_expected",v[v.A_default_clause_cannot_appear_more_than_once_in_a_switch_statement=1113]="A_default_clause_cannot_appear_more_than_once_in_a_switch_statement",v[v.Duplicate_label_0=1114]="Duplicate_label_0",v[v.An_export_assignment_cannot_have_modifiers=1120]="An_export_assignment_cannot_have_modifiers",v[v.Octal_literals_are_not_allowed_in_strict_mode=1121]="Octal_literals_are_not_allowed_in_strict_mode",v[v.Digit_expected=1124]="Digit_expected",v[v.Hexadecimal_digit_expected=1125]="Hexadecimal_digit_expected",v[v.Unexpected_end_of_text=1126]="Unexpected_end_of_text",v[v.Invalid_character=1127]="Invalid_character",v[v._case_or_default_expected=1130]="_case_or_default_expected",v[v._super_must_be_followed_by_an_argument_list_or_member_access=1034]="_super_must_be_followed_by_an_argument_list_or_member_access",v[v.A_declare_modifier_cannot_be_used_in_an_already_ambient_context=1038]="A_declare_modifier_cannot_be_used_in_an_already_ambient_context",v[v.Type_argument_expected=1140]="Type_argument_expected",v[v.String_literal_expected=1141]="String_literal_expected",v[v.Line_break_not_permitted_here=1142]="Line_break_not_permitted_here",v[v.Declaration_expected=1146]="Declaration_expected",v[v._const_declarations_must_be_initialized=1155]="_const_declarations_must_be_initialized",v[v.Unterminated_regular_expression_literal=1161]="Unterminated_regular_expression_literal",v[v.Declarations_with_initializers_cannot_also_have_definite_assignment_assertions=1263]="Declarations_with_initializers_cannot_also_have_definite_assignment_assertions",v[v.Interface_declaration_cannot_have_implements_clause=1176]="Interface_declaration_cannot_have_implements_clause",v[v.Binary_digit_expected=1177]="Binary_digit_expected",v[v.Octal_digit_expected=1178]="Octal_digit_expected",v[v.An_implementation_cannot_be_declared_in_ambient_contexts=1183]="An_implementation_cannot_be_declared_in_ambient_contexts",v[v.The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer=1190]="The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer",v[v.An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive=1198]="An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive",v[v.Unterminated_Unicode_escape_sequence=1199]="Unterminated_Unicode_escape_sequence",v[v.Decorators_are_not_valid_here=1206]="Decorators_are_not_valid_here",v[v._abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration=1242]="_abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration",v[v.Method_0_cannot_have_an_implementation_because_it_is_marked_abstract=1245]="Method_0_cannot_have_an_implementation_because_it_is_marked_abstract",v[v.An_interface_property_cannot_have_an_initializer=1246]="An_interface_property_cannot_have_an_initializer",v[v.A_definite_assignment_assertion_is_not_permitted_in_this_context=1255]="A_definite_assignment_assertion_is_not_permitted_in_this_context",v[v.A_class_may_only_extend_another_class=1311]="A_class_may_only_extend_another_class",v[v.A_parameter_property_cannot_be_declared_using_a_rest_parameter=1317]="A_parameter_property_cannot_be_declared_using_a_rest_parameter",v[v.A_default_export_can_only_be_used_in_a_module=1319]="A_default_export_can_only_be_used_in_a_module",v[v.An_expression_of_type_0_cannot_be_tested_for_truthiness=1345]="An_expression_of_type_0_cannot_be_tested_for_truthiness",v[v.An_identifier_or_keyword_cannot_immediately_follow_a_numeric_literal=1351]="An_identifier_or_keyword_cannot_immediately_follow_a_numeric_literal",v[v.Duplicate_identifier_0=2300]="Duplicate_identifier_0",v[v.Cannot_find_name_0=2304]="Cannot_find_name_0",v[v.Module_0_has_no_exported_member_1=2305]="Module_0_has_no_exported_member_1",v[v.An_interface_can_only_extend_an_interface=2312]="An_interface_can_only_extend_an_interface",v[v.Generic_type_0_requires_1_type_argument_s=2314]="Generic_type_0_requires_1_type_argument_s",v[v.Type_0_is_not_generic=2315]="Type_0_is_not_generic",v[v.Type_0_is_not_assignable_to_type_1=2322]="Type_0_is_not_assignable_to_type_1",v[v.Property_0_is_private_in_type_1_but_not_in_type_2=2325]="Property_0_is_private_in_type_1_but_not_in_type_2",v[v.Index_signature_is_missing_in_type_0=2329]="Index_signature_is_missing_in_type_0",v[v._this_cannot_be_referenced_in_current_location=2332]="_this_cannot_be_referenced_in_current_location",v[v._this_cannot_be_referenced_in_constructor_arguments=2333]="_this_cannot_be_referenced_in_constructor_arguments",v[v._super_can_only_be_referenced_in_a_derived_class=2335]="_super_can_only_be_referenced_in_a_derived_class",v[v._super_cannot_be_referenced_in_constructor_arguments=2336]="_super_cannot_be_referenced_in_constructor_arguments",v[v.Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors=2337]="Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors",v[v.Property_0_does_not_exist_on_type_1=2339]="Property_0_does_not_exist_on_type_1",v[v.Property_0_is_private_and_only_accessible_within_class_1=2341]="Property_0_is_private_and_only_accessible_within_class_1",v[v.Cannot_invoke_an_expression_whose_type_lacks_a_call_signature_Type_0_has_no_compatible_call_signatures=2349]="Cannot_invoke_an_expression_whose_type_lacks_a_call_signature_Type_0_has_no_compatible_call_signatures",v[v.This_expression_is_not_constructable=2351]="This_expression_is_not_constructable",v[v.A_function_whose_declared_type_is_not_void_must_return_a_value=2355]="A_function_whose_declared_type_is_not_void_must_return_a_value",v[v.The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access=2357]="The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access",v[v.The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access=2364]="The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access",v[v.Operator_0_cannot_be_applied_to_types_1_and_2=2365]="Operator_0_cannot_be_applied_to_types_1_and_2",v[v.A_super_call_must_be_the_first_statement_in_the_constructor=2376]="A_super_call_must_be_the_first_statement_in_the_constructor",v[v.Constructors_for_derived_classes_must_contain_a_super_call=2377]="Constructors_for_derived_classes_must_contain_a_super_call",v[v._get_and_set_accessor_must_have_the_same_type=2380]="_get_and_set_accessor_must_have_the_same_type",v[v.Overload_signatures_must_all_be_public_private_or_protected=2385]="Overload_signatures_must_all_be_public_private_or_protected",v[v.Constructor_implementation_is_missing=2390]="Constructor_implementation_is_missing",v[v.Function_implementation_is_missing_or_not_immediately_following_the_declaration=2391]="Function_implementation_is_missing_or_not_immediately_following_the_declaration",v[v.Multiple_constructor_implementations_are_not_allowed=2392]="Multiple_constructor_implementations_are_not_allowed",v[v.Duplicate_function_implementation=2393]="Duplicate_function_implementation",v[v.This_overload_signature_is_not_compatible_with_its_implementation_signature=2394]="This_overload_signature_is_not_compatible_with_its_implementation_signature",v[v.Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local=2395]="Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local",v[v.Property_0_in_type_1_is_not_assignable_to_the_same_property_in_base_type_2=2416]="Property_0_in_type_1_is_not_assignable_to_the_same_property_in_base_type_2",v[v.A_class_can_only_implement_an_interface=2422]="A_class_can_only_implement_an_interface",v[v.A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged=2434]="A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged",v[v.Types_have_separate_declarations_of_a_private_property_0=2442]="Types_have_separate_declarations_of_a_private_property_0",v[v.Property_0_is_protected_in_type_1_but_public_in_type_2=2444]="Property_0_is_protected_in_type_1_but_public_in_type_2",v[v.Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses=2445]="Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses",v[v.Variable_0_used_before_its_declaration=2448]="Variable_0_used_before_its_declaration",v[v.Cannot_redeclare_block_scoped_variable_0=2451]="Cannot_redeclare_block_scoped_variable_0",v[v.The_type_argument_for_type_parameter_0_cannot_be_inferred_from_the_usage_Consider_specifying_the_type_arguments_explicitly=2453]="The_type_argument_for_type_parameter_0_cannot_be_inferred_from_the_usage_Consider_specifying_the_type_arguments_explicitly",v[v.Variable_0_is_used_before_being_assigned=2454]="Variable_0_is_used_before_being_assigned",v[v.Type_alias_0_circularly_references_itself=2456]="Type_alias_0_circularly_references_itself",v[v.Type_0_has_no_property_1=2460]="Type_0_has_no_property_1",v[v.The_0_operator_cannot_be_applied_to_type_1=2469]="The_0_operator_cannot_be_applied_to_type_1",v[v.In_const_enum_declarations_member_initializer_must_be_constant_expression=2474]="In_const_enum_declarations_member_initializer_must_be_constant_expression",v[v.Export_declaration_conflicts_with_exported_declaration_of_0=2484]="Export_declaration_conflicts_with_exported_declaration_of_0",v[v._0_is_referenced_directly_or_indirectly_in_its_own_base_expression=2506]="_0_is_referenced_directly_or_indirectly_in_its_own_base_expression",v[v.Cannot_create_an_instance_of_an_abstract_class=2511]="Cannot_create_an_instance_of_an_abstract_class",v[v.Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_2=2515]="Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_2",v[v.Object_is_possibly_null=2531]="Object_is_possibly_null",v[v.Cannot_assign_to_0_because_it_is_a_constant_or_a_read_only_property=2540]="Cannot_assign_to_0_because_it_is_a_constant_or_a_read_only_property",v[v.The_target_of_an_assignment_must_be_a_variable_or_a_property_access=2541]="The_target_of_an_assignment_must_be_a_variable_or_a_property_access",v[v.Index_signature_in_type_0_only_permits_reading=2542]="Index_signature_in_type_0_only_permits_reading",v[v.Expected_0_arguments_but_got_1=2554]="Expected_0_arguments_but_got_1",v[v.Expected_at_least_0_arguments_but_got_1=2555]="Expected_at_least_0_arguments_but_got_1",v[v.Expected_0_type_arguments_but_got_1=2558]="Expected_0_type_arguments_but_got_1",v[v.Property_0_has_no_initializer_and_is_not_assigned_in_the_constructor_before_this_is_used_or_returned=2564]="Property_0_has_no_initializer_and_is_not_assigned_in_the_constructor_before_this_is_used_or_returned",v[v.Property_0_is_used_before_being_assigned=2565]="Property_0_is_used_before_being_assigned",v[v._0_is_defined_as_an_accessor_in_class_1_but_is_overridden_here_in_2_as_an_instance_property=2610]="_0_is_defined_as_an_accessor_in_class_1_but_is_overridden_here_in_2_as_an_instance_property",v[v._0_is_defined_as_a_property_in_class_1_but_is_overridden_here_in_2_as_an_accessor=2611]="_0_is_defined_as_a_property_in_class_1_but_is_overridden_here_in_2_as_an_accessor",v[v.A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_members_defined_in_other_enums=2651]="A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_members_defined_in_other_enums",v[v.Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration=2673]="Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration",v[v.Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration=2674]="Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration",v[v.Cannot_extend_a_class_0_Class_constructor_is_marked_as_private=2675]="Cannot_extend_a_class_0_Class_constructor_is_marked_as_private",v[v.The_this_types_of_each_signature_are_incompatible=2685]="The_this_types_of_each_signature_are_incompatible",v[v.Namespace_0_has_no_exported_member_1=2694]="Namespace_0_has_no_exported_member_1",v[v.Namespace_can_only_have_declarations=2695]="Namespace_can_only_have_declarations",v[v.Required_type_parameters_may_not_follow_optional_type_parameters=2706]="Required_type_parameters_may_not_follow_optional_type_parameters",v[v.Duplicate_property_0=2718]="Duplicate_property_0",v[v.Property_0_is_missing_in_type_1_but_required_in_type_2=2741]="Property_0_is_missing_in_type_1_but_required_in_type_2",v[v.Type_0_has_no_call_signatures=2757]="Type_0_has_no_call_signatures",v[v.Get_accessor_0_must_be_at_least_as_accessible_as_the_setter=2808]="Get_accessor_0_must_be_at_least_as_accessible_as_the_setter",v[v.This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0=4117]="This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0",v[v.File_0_not_found=6054]="File_0_not_found",v[v.Numeric_separators_are_not_allowed_here=6188]="Numeric_separators_are_not_allowed_here",v[v.Multiple_consecutive_numeric_separators_are_not_permitted=6189]="Multiple_consecutive_numeric_separators_are_not_permitted",v[v.This_expression_is_not_callable_because_it_is_a_get_accessor_Did_you_mean_to_use_it_without=6234]="This_expression_is_not_callable_because_it_is_a_get_accessor_Did_you_mean_to_use_it_without",v[v._super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class=17009]="_super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class",v[v._super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class=17011]="_super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class",v))(st||{});function Ws(t){switch(t){case 100:return"Not implemented: {0}";case 101:return"Operation is unsafe.";case 102:return"User-defined: {0}";case 103:return"Feature '{0}' is not enabled.";case 104:return"Low memory limit exceeded by static data: {0} > {1}";case 105:return"Module requires at least '{0}' pages of initial memory.";case 106:return"Module requires at least '{0}' pages of maximum memory.";case 107:return"Shared memory requires maximum memory to be defined.";case 108:return"Shared memory requires feature 'threads' to be enabled.";case 109:return"Transform '{0}': {1}";case 110:return"Start function name '{0}' is invalid or conflicts with another export.";case 111:return"Element '{0}' not found.";case 112:return"Exchange of '{0}' values is not supported by all embeddings";case 200:return"Conversion from type '{0}' to '{1}' requires an explicit cast.";case 201:return"Conversion from type '{0}' to '{1}' will require an explicit cast when switching between 32/64-bit.";case 202:return"Type '{0}' cannot be changed to type '{1}'.";case 203:return"Operation '{0}' cannot be applied to type '{1}'.";case 204:return"Type '{0}' cannot be nullable.";case 206:return"Mutable value cannot be inlined.";case 207:return"Unmanaged classes cannot extend managed classes and vice-versa.";case 208:return"Unmanaged classes cannot implement interfaces.";case 209:return"Invalid regular expression flags.";case 210:return"Expression is never 'null'.";case 211:return"Class '{0}' is final and cannot be extended.";case 212:return"Decorator '{0}' is not valid here.";case 213:return"Duplicate decorator.";case 214:return"Type '{0}' is illegal in this context.";case 215:return"Optional parameter must have an initializer.";case 216:return"Class '{0}' cannot declare a constructor when instantiated from an object literal.";case 217:return"Function '{0}' cannot be inlined into itself.";case 218:return"Cannot access method '{0}' without calling it as it requires 'this' to be set.";case 219:return"Optional properties are not supported.";case 220:return"Expression must be a compile-time constant.";case 221:return"Type '{0}' is not a function index or function reference.";case 222:return"'{0}' must be a value between '{1}' and '{2}' inclusive.";case 223:return"'{0}' must be a power of two.";case 224:return"'{0}' is not a valid operator.";case 225:return"Expression cannot be represented by a type.";case 226:return"Expression resolves to unusual type '{0}'.";case 227:return"Array literal expected.";case 228:return"Function '{0}' is virtual and will not be inlined.";case 229:return"Property '{0}' only has a setter and is missing a getter.";case 230:return"'{0}' keyword cannot be used here.";case 231:return"A class with a constructor explicitly returning something else than 'this' must be '@final'.";case 233:return"Property '{0}' is always assigned before being used.";case 234:return"Expression does not compile to a value at runtime.";case 235:return"Only variables, functions and enums become WebAssembly module exports.";case 236:return"Literal '{0}' does not fit into 'i64' or 'u64' types.";case 237:return"Index signature accessors in type '{0}' differ in types.";case 238:return"Initializer, definitive assignment or nullable type expected.";case 239:return"Definitive assignment has no effect on local variables.";case 901:return"Importing the table disables some indirect call optimizations.";case 902:return"Exporting the table disables some indirect call optimizations.";case 903:return"Expression compiles to a dynamic check at runtime.";case 904:return"Indexed access may involve bounds checking.";case 905:return"Explicitly returning constructor drops 'this' allocation.";case 906:return"Unnecessary definite assignment.";case 907:return"'NaN' does not compare equal to any other value including itself. Use isNaN(x) instead.";case 908:return"Comparison with -0.0 is sign insensitive. Use Object.is(x, -0.0) if the sign matters.";case 1002:return"Unterminated string literal.";case 1003:return"Identifier expected.";case 1005:return"'{0}' expected.";case 1006:return"A file cannot have a reference to itself.";case 1009:return"Trailing comma not allowed.";case 1012:return"Unexpected token.";case 1014:return"A rest parameter must be last in a parameter list.";case 1015:return"Parameter cannot have question mark and initializer.";case 1016:return"A required parameter cannot follow an optional parameter.";case 1031:return"'{0}' modifier cannot appear on class elements of this kind.";case 1036:return"Statements are not allowed in ambient contexts.";case 1039:return"Initializers are not allowed in ambient contexts.";case 1042:return"'{0}' modifier cannot be used here.";case 1047:return"A rest parameter cannot be optional.";case 1048:return"A rest parameter cannot have an initializer.";case 1049:return"A 'set' accessor must have exactly one parameter.";case 1052:return"A 'set' accessor parameter cannot have an initializer.";case 1054:return"A 'get' accessor cannot have parameters.";case 1061:return"Enum member must have initializer.";case 1092:return"Type parameters cannot appear on a constructor declaration.";case 1093:return"Type annotation cannot appear on a constructor declaration.";case 1094:return"An accessor cannot have type parameters.";case 1095:return"A 'set' accessor cannot have a return type annotation.";case 1098:return"Type parameter list cannot be empty.";case 1099:return"Type argument list cannot be empty.";case 1104:return"A 'continue' statement can only be used within an enclosing iteration statement.";case 1105:return"A 'break' statement can only be used within an enclosing iteration or switch statement.";case 1108:return"A 'return' statement can only be used within a function body.";case 1109:return"Expression expected.";case 1110:return"Type expected.";case 1113:return"A 'default' clause cannot appear more than once in a 'switch' statement.";case 1114:return"Duplicate label '{0}'.";case 1120:return"An export assignment cannot have modifiers.";case 1121:return"Octal literals are not allowed in strict mode.";case 1124:return"Digit expected.";case 1125:return"Hexadecimal digit expected.";case 1126:return"Unexpected end of text.";case 1127:return"Invalid character.";case 1130:return"'case' or 'default' expected.";case 1034:return"'super' must be followed by an argument list or member access.";case 1038:return"A 'declare' modifier cannot be used in an already ambient context.";case 1140:return"Type argument expected.";case 1141:return"String literal expected.";case 1142:return"Line break not permitted here.";case 1146:return"Declaration expected.";case 1155:return"'const' declarations must be initialized.";case 1161:return"Unterminated regular expression literal.";case 1263:return"Declarations with initializers cannot also have definite assignment assertions.";case 1176:return"Interface declaration cannot have 'implements' clause.";case 1177:return"Binary digit expected.";case 1178:return"Octal digit expected.";case 1183:return"An implementation cannot be declared in ambient contexts.";case 1190:return"The variable declaration of a 'for...of' statement cannot have an initializer.";case 1198:return"An extended Unicode escape value must be between 0x0 and 0x10FFFF inclusive.";case 1199:return"Unterminated Unicode escape sequence.";case 1206:return"Decorators are not valid here.";case 1242:return"'abstract' modifier can only appear on a class, method, or property declaration.";case 1245:return"Method '{0}' cannot have an implementation because it is marked abstract.";case 1246:return"An interface property cannot have an initializer.";case 1255:return"A definite assignment assertion '!' is not permitted in this context.";case 1311:return"A class may only extend another class.";case 1317:return"A parameter property cannot be declared using a rest parameter.";case 1319:return"A default export can only be used in a module.";case 1345:return"An expression of type '{0}' cannot be tested for truthiness.";case 1351:return"An identifier or keyword cannot immediately follow a numeric literal.";case 2300:return"Duplicate identifier '{0}'.";case 2304:return"Cannot find name '{0}'.";case 2305:return"Module '{0}' has no exported member '{1}'.";case 2312:return"An interface can only extend an interface.";case 2314:return"Generic type '{0}' requires {1} type argument(s).";case 2315:return"Type '{0}' is not generic.";case 2322:return"Type '{0}' is not assignable to type '{1}'.";case 2325:return"Property '{0}' is private in type '{1}' but not in type '{2}'.";case 2329:return"Index signature is missing in type '{0}'.";case 2332:return"'this' cannot be referenced in current location.";case 2333:return"'this' cannot be referenced in constructor arguments.";case 2335:return"'super' can only be referenced in a derived class.";case 2336:return"'super' cannot be referenced in constructor arguments.";case 2337:return"Super calls are not permitted outside constructors or in nested functions inside constructors.";case 2339:return"Property '{0}' does not exist on type '{1}'.";case 2341:return"Property '{0}' is private and only accessible within class '{1}'.";case 2349:return"Cannot invoke an expression whose type lacks a call signature. Type '{0}' has no compatible call signatures.";case 2351:return"This expression is not constructable.";case 2355:return"A function whose declared type is not 'void' must return a value.";case 2357:return"The operand of an increment or decrement operator must be a variable or a property access.";case 2364:return"The left-hand side of an assignment expression must be a variable or a property access.";case 2365:return"Operator '{0}' cannot be applied to types '{1}' and '{2}'.";case 2376:return"A 'super' call must be the first statement in the constructor.";case 2377:return"Constructors for derived classes must contain a 'super' call.";case 2380:return"'get' and 'set' accessor must have the same type.";case 2385:return"Overload signatures must all be public, private or protected.";case 2390:return"Constructor implementation is missing.";case 2391:return"Function implementation is missing or not immediately following the declaration.";case 2392:return"Multiple constructor implementations are not allowed.";case 2393:return"Duplicate function implementation.";case 2394:return"This overload signature is not compatible with its implementation signature.";case 2395:return"Individual declarations in merged declaration '{0}' must be all exported or all local.";case 2416:return"Property '{0}' in type '{1}' is not assignable to the same property in base type '{2}'.";case 2422:return"A class can only implement an interface.";case 2434:return"A namespace declaration cannot be located prior to a class or function with which it is merged.";case 2442:return"Types have separate declarations of a private property '{0}'.";case 2444:return"Property '{0}' is protected in type '{1}' but public in type '{2}'.";case 2445:return"Property '{0}' is protected and only accessible within class '{1}' and its subclasses.";case 2448:return"Variable '{0}' used before its declaration.";case 2451:return"Cannot redeclare block-scoped variable '{0}'";case 2453:return"The type argument for type parameter '{0}' cannot be inferred from the usage. Consider specifying the type arguments explicitly.";case 2454:return"Variable '{0}' is used before being assigned.";case 2456:return"Type alias '{0}' circularly references itself.";case 2460:return"Type '{0}' has no property '{1}'.";case 2469:return"The '{0}' operator cannot be applied to type '{1}'.";case 2474:return"In 'const' enum declarations member initializer must be constant expression.";case 2484:return"Export declaration conflicts with exported declaration of '{0}'.";case 2506:return"'{0}' is referenced directly or indirectly in its own base expression.";case 2511:return"Cannot create an instance of an abstract class.";case 2515:return"Non-abstract class '{0}' does not implement inherited abstract member '{1}' from '{2}'.";case 2531:return"Object is possibly 'null'.";case 2540:return"Cannot assign to '{0}' because it is a constant or a read-only property.";case 2541:return"The target of an assignment must be a variable or a property access.";case 2542:return"Index signature in type '{0}' only permits reading.";case 2554:return"Expected {0} arguments, but got {1}.";case 2555:return"Expected at least {0} arguments, but got {1}.";case 2558:return"Expected {0} type arguments, but got {1}.";case 2564:return"Property '{0}' has no initializer and is not assigned in the constructor before 'this' is used or returned.";case 2565:return"Property '{0}' is used before being assigned.";case 2610:return"'{0}' is defined as an accessor in class '{1}', but is overridden here in '{2}' as an instance property.";case 2611:return"'{0}' is defined as a property in class '{1}', but is overridden here in '{2}' as an accessor.";case 2651:return"A member initializer in a enum declaration cannot reference members declared after it, including members defined in other enums.";case 2673:return"Constructor of class '{0}' is private and only accessible within the class declaration.";case 2674:return"Constructor of class '{0}' is protected and only accessible within the class declaration.";case 2675:return"Cannot extend a class '{0}'. Class constructor is marked as private.";case 2685:return"The 'this' types of each signature are incompatible.";case 2694:return"Namespace '{0}' has no exported member '{1}'.";case 2695:return"Namespace can only have declarations.";case 2706:return"Required type parameters may not follow optional type parameters.";case 2718:return"Duplicate property '{0}'.";case 2741:return"Property '{0}' is missing in type '{1}' but required in type '{2}'.";case 2757:return"Type '{0}' has no call signatures.";case 2808:return"Get accessor '{0}' must be at least as accessible as the setter.";case 4117:return"This member cannot have an 'override' modifier because it is not declared in the base class '{0}'.";case 6054:return"File '{0}' not found.";case 6188:return"Numeric separators are not allowed here.";case 6189:return"Multiple consecutive numeric separators are not permitted.";case 6234:return"This expression is not callable because it is a 'get' accessor. Did you mean to use it without '()'?";case 17009:return"'super' must be called before accessing 'this' in the constructor of a derived class.";case 17011:return"'super' must be called before accessing a property of 'super' in the constructor of a derived class.";default:return""}}var op={};Vl(op,{BitSet:()=>Ju,COLOR_BLUE:()=>G2,COLOR_CYAN:()=>np,COLOR_GRAY:()=>L2,COLOR_GREEN:()=>M2,COLOR_MAGENTA:()=>ip,COLOR_RED:()=>Ys,COLOR_RESET:()=>fn,COLOR_WHITE:()=>z2,COLOR_YELLOW:()=>rp,CharCode:()=>Qe,SURROGATE_HIGH:()=>pn,SURROGATE_LOW:()=>ei,accuratePow64:()=>Hs,cloneMap:()=>pe,colorize:()=>U2,combineSurrogates:()=>cn,dirname:()=>Fy,escapeString:()=>ye,indent:()=>U,isAlpha:()=>tp,isAlphaOrDecimal:()=>Sy,isColorsEnabled:()=>ni,isDecimal:()=>Je,isHexBase:()=>_n,isHexOrDecimal:()=>I2,isHighSurrogate:()=>ti,isIdentifier:()=>Le,isIdentifierPart:()=>ii,isIdentifierStart:()=>ri,isLineBreak:()=>bt,isLowSurrogate:()=>$s,isOctal:()=>Xs,isPowerOf2:()=>gt,isSurrogate:()=>E2,isSurrogateHigh:()=>v2,isSurrogateLow:()=>S2,isWhiteSpace:()=>un,mergeMaps:()=>T2,normalizePath:()=>fr,numCodeUnits:()=>cr,readF32:()=>g2,readF64:()=>b2,readI16:()=>y2,readI32:()=>Qr,readI64:()=>vy,readI8:()=>m2,readV128:()=>x2,resolvePath:()=>Zs,setColorsEnabled:()=>Qs,v128_ones:()=>lp,v128_zero:()=>ap,writeF32:()=>ur,writeF64:()=>pr,writeI16:()=>Vt,writeI32:()=>he,writeI32AsI64:()=>Ks,writeI64:()=>Jr,writeI64AsI32:()=>Yu,writeI8:()=>ce,writeV128:()=>Qu});function m2(t,i){return t[i]}function ce(t,i,e){i[e]=t}function y2(t,i){return i32(t[i])|i32(t[i+1])<<8}function Vt(t,i,e){i[e]=t,i[e+1]=t>>>8}function Qr(t,i){return i32(t[i])|i32(t[i+1])<<8|i32(t[i+2])<<16|i32(t[i+3])<<24}function he(t,i,e){i[e]=t,i[e+1]=t>>>8,i[e+2]=t>>>16,i[e+3]=t>>>24}function Ks(t,i,e,r=!1){he(t,i,e),he(r||t>=0?0:-1,i,e+4)}function vy(t,i){let e=Qr(t,i),r=Qr(t,i+4);return i64_new(e,r)}function Jr(t,i,e){he(i64_low(t),i,e),he(i64_high(t),i,e+4)}function Yu(t,i,e,r=!1){assert(r?i64_is_u32(t):i64_is_i32(t)),he(i64_low(t),i,e)}function g2(t,i){return i32_as_f32(Qr(t,i))}function ur(t,i,e){he(f32_as_i32(t),i,e)}function b2(t,i){return i64_as_f64(vy(t,i))}function pr(t,i,e){let r=f64_as_i64(t);he(i64_low(r),i,e),he(i64_high(r),i,e+4)}function x2(t,i){return t.slice(i,i+16)}function Qu(t,i,e){assert(t.length==16),i.set(t,e)}function pe(t){if(ASC_TARGET){let i=new Map;if(t)for(let e=Map_keys(t),r=0,n=e.length;re.set(n,r)),e}}var Ju=class{constructor(){this.clear()}get size(){let i=0,e=this.words;for(let r=0,n=e.length;r>>5,r=this.words;return e>=r.length&&(this.words=new Uint32Array(e+16),this.words.set(r),r=this.words),unchecked(r[e]|=1<>>5,r=this.words;e>=r.length||unchecked(r[e]&=~(1<>>5,r=this.words;return e>=r.length?!1:(unchecked(r[i>>>5])&1<=2&&Math.trunc(i)==i?i<0?Math.pow(t,i+.5)/Math.pow(t,.5):Math.pow(t,i-.5)*Math.pow(t,.5):Math.pow(t,i)}var Qe=(A=>(A[A.Null=0]="Null",A[A.LineFeed=10]="LineFeed",A[A.CarriageReturn=13]="CarriageReturn",A[A.LineSeparator=8232]="LineSeparator",A[A.ParagraphSeparator=8233]="ParagraphSeparator",A[A.NextLine=133]="NextLine",A[A.Space=32]="Space",A[A.NonBreakingSpace=160]="NonBreakingSpace",A[A.EnQuad=8192]="EnQuad",A[A.EmQuad=8193]="EmQuad",A[A.EnSpace=8194]="EnSpace",A[A.EmSpace=8195]="EmSpace",A[A.ThreePerEmSpace=8196]="ThreePerEmSpace",A[A.FourPerEmSpace=8197]="FourPerEmSpace",A[A.SixPerEmSpace=8198]="SixPerEmSpace",A[A.FigureSpace=8199]="FigureSpace",A[A.PunctuationSpace=8200]="PunctuationSpace",A[A.ThinSpace=8201]="ThinSpace",A[A.HairSpace=8202]="HairSpace",A[A.ZeroWidthSpace=8203]="ZeroWidthSpace",A[A.NarrowNoBreakSpace=8239]="NarrowNoBreakSpace",A[A.IdeographicSpace=12288]="IdeographicSpace",A[A.MathematicalSpace=8287]="MathematicalSpace",A[A.Ogham=5760]="Ogham",A[A._=95]="_",A[A._0=48]="_0",A[A._1=49]="_1",A[A._2=50]="_2",A[A._3=51]="_3",A[A._4=52]="_4",A[A._5=53]="_5",A[A._6=54]="_6",A[A._7=55]="_7",A[A._8=56]="_8",A[A._9=57]="_9",A[A.a=97]="a",A[A.b=98]="b",A[A.c=99]="c",A[A.d=100]="d",A[A.e=101]="e",A[A.f=102]="f",A[A.g=103]="g",A[A.h=104]="h",A[A.i=105]="i",A[A.j=106]="j",A[A.k=107]="k",A[A.l=108]="l",A[A.m=109]="m",A[A.n=110]="n",A[A.o=111]="o",A[A.p=112]="p",A[A.q=113]="q",A[A.r=114]="r",A[A.s=115]="s",A[A.t=116]="t",A[A.u=117]="u",A[A.v=118]="v",A[A.w=119]="w",A[A.x=120]="x",A[A.y=121]="y",A[A.z=122]="z",A[A.A=65]="A",A[A.B=66]="B",A[A.C=67]="C",A[A.D=68]="D",A[A.E=69]="E",A[A.F=70]="F",A[A.G=71]="G",A[A.H=72]="H",A[A.I=73]="I",A[A.J=74]="J",A[A.K=75]="K",A[A.L=76]="L",A[A.M=77]="M",A[A.N=78]="N",A[A.O=79]="O",A[A.P=80]="P",A[A.Q=81]="Q",A[A.R=82]="R",A[A.S=83]="S",A[A.T=84]="T",A[A.U=85]="U",A[A.V=86]="V",A[A.W=87]="W",A[A.X=88]="X",A[A.Y=89]="Y",A[A.Z=90]="Z",A[A.Ampersand=38]="Ampersand",A[A.Asterisk=42]="Asterisk",A[A.At=64]="At",A[A.Backslash=92]="Backslash",A[A.Backtick=96]="Backtick",A[A.Bar=124]="Bar",A[A.Caret=94]="Caret",A[A.CloseBrace=125]="CloseBrace",A[A.CloseBracket=93]="CloseBracket",A[A.CloseParen=41]="CloseParen",A[A.Colon=58]="Colon",A[A.Comma=44]="Comma",A[A.Dollar=36]="Dollar",A[A.Dot=46]="Dot",A[A.DoubleQuote=34]="DoubleQuote",A[A.Equals=61]="Equals",A[A.Exclamation=33]="Exclamation",A[A.GreaterThan=62]="GreaterThan",A[A.Hash=35]="Hash",A[A.LessThan=60]="LessThan",A[A.Minus=45]="Minus",A[A.OpenBrace=123]="OpenBrace",A[A.OpenBracket=91]="OpenBracket",A[A.OpenParen=40]="OpenParen",A[A.Percent=37]="Percent",A[A.Plus=43]="Plus",A[A.Question=63]="Question",A[A.Semicolon=59]="Semicolon",A[A.SingleQuote=39]="SingleQuote",A[A.Slash=47]="Slash",A[A.Tilde=126]="Tilde",A[A.Backspace=8]="Backspace",A[A.FormFeed=12]="FormFeed",A[A.ByteOrderMark=65279]="ByteOrderMark",A[A.Tab=9]="Tab",A[A.VerticalTab=11]="VerticalTab",A))(Qe||{});function bt(t){switch(t){case 10:case 13:case 8232:case 8233:return!0;default:return!1}}function un(t){switch(t){case 32:case 9:case 11:case 12:case 160:case 133:case 5760:case 8239:case 8287:case 12288:case 65279:return!0;default:return t>=8192&&t<=8203}}var pn=55296,ei=56320;function E2(t){return(t&63488)==pn}function v2(t){return t=ei}function ti(t){return(t&64512)==pn}function $s(t){return(t&64512)==ei}function cn(t,i){return 65536+((t&1023)<<10)|i&1023}function cr(t){return 1+i32(t>65535)}function tp(t){let i=t|32;return i>=97&&i<=122}function Je(t){return t>=48&&t<=57}function Xs(t){return t>=48&&t<=55}function _n(t){let i=t|32;return i>=97&&i<=102}function I2(t){return Je(t)||_n(t)}function Sy(t){return tp(t)||Je(t)}function ri(t){return tp(t)||t==95||t==36||t>=R2&&t<=k2&&Iy(t,F2)}function ii(t){return Sy(t)||t==95||t==36||t>=w2&&t<=C2&&Iy(t,A2)}function Le(t){let i=t.length;if(!i)return!1;let e=t.codePointAt(0);if(!ri(e))return!1;let r=cr(e);for(;r>>1);n-=n&1;let s=i[n];if(s<=t&&t<=i[n+1])return!0;tr&&e.push(t.substring(r,r=n+1)),e.push("\\0"),r=++n;break}case 8:{n>r&&e.push(t.substring(r,n)),r=++n,e.push("\\b");break}case 9:{n>r&&e.push(t.substring(r,n)),r=++n,e.push("\\t");break}case 10:{n>r&&e.push(t.substring(r,n)),r=++n,e.push("\\n");break}case 11:{n>r&&e.push(t.substring(r,n)),r=++n,e.push("\\v");break}case 12:{n>r&&e.push(t.substring(r,n)),r=++n,e.push("\\f");break}case 13:{n>r&&e.push(t.substring(r,n)),e.push("\\r"),r=++n;break}case 34:{i==34?(n>r&&e.push(t.substring(r,n)),e.push('\\"'),r=++n):++n;break}case 39:{i==39?(n>r&&e.push(t.substring(r,n)),e.push("\\'"),r=++n):++n;break}case 92:{n>r&&e.push(t.substring(r,n)),e.push("\\\\"),r=++n;break}case 96:{i==96?(n>r&&e.push(t.substring(r,n)),e.push("\\`"),r=++n):++n;break}default:{++n;break}}return n>r&&e.push(t.substring(r,n)),e.join("")}var _r=47;function fr(t){let i=0,e=t.length;for(;i+10||e=0;)if(t.charCodeAt(n)==_r){(i-n!=3||t.charCodeAt(n+1)!=46||t.charCodeAt(n+2)!=46)&&(t=r?t.substring(0,n):t.substring(0,n)+t.substring(i+3),e-=i+3-n,i=n-1);break}if(n<0&&i>0&&(i!=2||t.charCodeAt(0)!=46||t.charCodeAt(1)!=46)){t=t.substring(i+4),e=t.length;continue}}}i++}return e>0?t:"."}function Zs(t,i){return t.startsWith("std/")?t:fr(Fy(i)+Ye+t)}function Fy(t){let i=t.length;if(i<=1){if(i==0)return".";if(t.charCodeAt(0)==_r)return t}for(;--i>0;)if(t.charCodeAt(i)==_r)return t.substring(0,i);return"."}var L2="\x1B[90m",Ys="\x1B[91m",M2="\x1B[92m",rp="\x1B[93m",G2="\x1B[94m",ip="\x1B[95m",np="\x1B[96m",z2="\x1B[97m",fn="\x1B[0m",sp=!0;function ni(){return sp}function Qs(t){let i=t;return sp=t,i}function U2(t,i){return sp?i+t+fn:t}var ap=new Uint8Array(16),lp=new Uint8Array(16).fill(255);var ea=(n=>(n[n.Pedantic=0]="Pedantic",n[n.Info=1]="Info",n[n.Warning=2]="Warning",n[n.Error=3]="Error",n))(ea||{}),le=class t{constructor(i,e){this.start=i;this.end=e}static join(i,e){if(i.source!=e.source)throw new Error("source mismatch");let r=new t(i.starte.end?i.end:e.end);return r.source=i.source,r}equals(i){return this.source==i.source&&this.start==i.start&&this.end==i.end}get atStart(){let i=new t(this.start,this.start);return i.source=this.source,i}get atEnd(){let i=new t(this.end,this.end);return i.source=this.source,i}toString(){return this.source.text.substring(this.start,this.end)}};function up(t){switch(t){case 0:return"PEDANTIC";case 1:return"INFO";case 2:return"WARNING";case 3:return"ERROR";default:return assert(!1),""}}function ky(t){switch(t){case 0:return ip;case 1:return np;case 2:return rp;case 3:return Ys;default:return assert(!1),""}}var Js=class t{constructor(i,e,r){this.range=null;this.relatedRange=null;this.code=i,this.category=e,this.message=r}static create(i,e,r=null,n=null,s=null){let a=Ws(i);return r!=null&&(a=a.replace("{0}",r)),n!=null&&(a=a.replace("{1}",n)),s!=null&&(a=a.replace("{2}",s)),new t(i,e,a)}equals(i){if(this.code!=i.code)return!1;let e=this.range,r=i.range;if(e){if(!r||!e.equals(r))return!1}else if(r)return!1;let n=this.relatedRange,s=i.relatedRange;if(n){if(!s||!n.equals(s))return!1}else if(s)return!1;return this.message==i.message}withRange(i){return this.range=i,this}withRelatedRange(i){return this.relatedRange=i,this}toString(){let i=up(this.category),e=this.range,r=this.code,n=this.message;if(e){let s=e.source,a=s.normalizedPath,l=s.lineAt(e.start),o=s.columnAt(),p=e.end-e.start;return`${i} ${r}: "${n}" in ${a}(${l},${o}+${p})`}return`${i} ${r}: ${n}`}};function Ay(t,i=!1,e=!1){let r=Qs(i),n=[];ni()&&n.push(ky(t.category)),n.push(up(t.category)),ni()&&n.push(fn),n.push(t.code<1e3?" AS":" TS"),n.push(t.code.toString()),n.push(": "),n.push(t.message);let s=t.range;if(s){let a=s.source,l=t.relatedRange,o=0;if(l&&(o=max(a.lineAt(s.start),l.source.lineAt(l.start))),e?(n.push(` +`),n.push(Ry(s,o))):(n.push(` + in `),n.push(a.normalizedPath)),n.push("("),n.push(a.lineAt(s.start).toString()),n.push(","),n.push(a.columnAt().toString()),n.push(")"),l){let p=l.source;e?(n.push(` +`),n.push(Ry(l,o))):(n.push(` + in `),n.push(p.normalizedPath)),n.push("("),n.push(p.lineAt(l.start).toString()),n.push(","),n.push(p.columnAt().toString()),n.push(")")}}return Qs(r),n.join("")}function Ry(t,i=0){let e=t.source,r=e.text,n=r.length,s=t.start,a=s,l=e.lineAt(s).toString(),o=i?max(i.toString().length,l.length):l.length,p=" ".repeat(o);for(;s>0&&!bt(r.charCodeAt(s-1));)s--;for(;s(z[z.Source=0]="Source",z[z.NamedType=1]="NamedType",z[z.FunctionType=2]="FunctionType",z[z.TypeName=3]="TypeName",z[z.TypeParameter=4]="TypeParameter",z[z.Parameter=5]="Parameter",z[z.Identifier=6]="Identifier",z[z.Assertion=7]="Assertion",z[z.Binary=8]="Binary",z[z.Call=9]="Call",z[z.Class=10]="Class",z[z.Comma=11]="Comma",z[z.ElementAccess=12]="ElementAccess",z[z.False=13]="False",z[z.Function=14]="Function",z[z.InstanceOf=15]="InstanceOf",z[z.Literal=16]="Literal",z[z.New=17]="New",z[z.Null=18]="Null",z[z.Omitted=19]="Omitted",z[z.Parenthesized=20]="Parenthesized",z[z.PropertyAccess=21]="PropertyAccess",z[z.Ternary=22]="Ternary",z[z.Super=23]="Super",z[z.This=24]="This",z[z.True=25]="True",z[z.Constructor=26]="Constructor",z[z.UnaryPostfix=27]="UnaryPostfix",z[z.UnaryPrefix=28]="UnaryPrefix",z[z.Compiled=29]="Compiled",z[z.Block=30]="Block",z[z.Break=31]="Break",z[z.Continue=32]="Continue",z[z.Do=33]="Do",z[z.Empty=34]="Empty",z[z.Export=35]="Export",z[z.ExportDefault=36]="ExportDefault",z[z.ExportImport=37]="ExportImport",z[z.Expression=38]="Expression",z[z.For=39]="For",z[z.ForOf=40]="ForOf",z[z.If=41]="If",z[z.Import=42]="Import",z[z.Return=43]="Return",z[z.Switch=44]="Switch",z[z.Throw=45]="Throw",z[z.Try=46]="Try",z[z.Variable=47]="Variable",z[z.Void=48]="Void",z[z.While=49]="While",z[z.Module=50]="Module",z[z.ClassDeclaration=51]="ClassDeclaration",z[z.EnumDeclaration=52]="EnumDeclaration",z[z.EnumValueDeclaration=53]="EnumValueDeclaration",z[z.FieldDeclaration=54]="FieldDeclaration",z[z.FunctionDeclaration=55]="FunctionDeclaration",z[z.ImportDeclaration=56]="ImportDeclaration",z[z.InterfaceDeclaration=57]="InterfaceDeclaration",z[z.MethodDeclaration=58]="MethodDeclaration",z[z.NamespaceDeclaration=59]="NamespaceDeclaration",z[z.TypeDeclaration=60]="TypeDeclaration",z[z.VariableDeclaration=61]="VariableDeclaration",z[z.Decorator=62]="Decorator",z[z.ExportMember=63]="ExportMember",z[z.SwitchCase=64]="SwitchCase",z[z.IndexSignature=65]="IndexSignature",z[z.Comment=66]="Comment",z))(xt||{}),L=class t{constructor(i,e){this.kind=i;this.range=e}static createSimpleTypeName(i,e){return new si(t.createIdentifierExpression(i,e),null,e)}static createNamedType(i,e,r,n){return new hr(i,e,r,n)}static createFunctionType(i,e,r,n,s){return new dr(i,e,r,n,s)}static createOmittedType(i){return new hr(t.createSimpleTypeName("",i),null,!1,i)}static createTypeParameter(i,e,r,n){return new ta(i,e,r,n)}static createParameter(i,e,r,n,s){return new ai(i,e,r,n,s)}static createDecorator(i,e,r){return new ra(Tt.fromNode(i),i,e,r)}static createComment(i,e,r){return new ia(i,e,r)}static createIdentifierExpression(i,e,r=!1){return new Oe(i,r,e)}static createEmptyIdentifierExpression(i){return new Oe("",!1,i)}static createArrayLiteralExpression(i,e){return new na(i,e)}static createAssertionExpression(i,e,r,n){return new sa(i,e,r,n)}static createBinaryExpression(i,e,r,n){return new aa(i,e,r,n)}static createCallExpression(i,e,r,n){return new la(i,e,r,n)}static createClassExpression(i){return new oa(i)}static createCommaExpression(i,e){return new ua(i,e)}static createConstructorExpression(i){return new pa(i)}static createElementAccessExpression(i,e,r){return new ca(i,e,r)}static createFalseExpression(i){return new Aa(i)}static createFloatLiteralExpression(i,e){return new _a(i,e)}static createFunctionExpression(i){return new fa(i)}static createInstanceOfExpression(i,e,r){return new ha(i,e,r)}static createIntegerLiteralExpression(i,e){return new da(i,e)}static createNewExpression(i,e,r,n){return new ma(i,e,r,n)}static createNullExpression(i){return new ya(i)}static createObjectLiteralExpression(i,e,r){return new ga(i,e,r)}static createOmittedExpression(i){return new ba(i)}static createParenthesizedExpression(i,e){return new xa(i,e)}static createPropertyAccessExpression(i,e,r){return new Ta(i,e,r)}static createRegexpLiteralExpression(i,e,r){return new Ea(i,e,r)}static createTernaryExpression(i,e,r,n){return new va(i,e,r,n)}static createStringLiteralExpression(i,e){return new Sa(i,e)}static createSuperExpression(i){return new Ia(i)}static createTemplateLiteralExpression(i,e,r,n,s){return new Fa(i,e,r,n,s)}static createThisExpression(i){return new Ra(i)}static createTrueExpression(i){return new ka(i)}static createUnaryPostfixExpression(i,e,r){return new wa(i,e,r)}static createUnaryPrefixExpression(i,e,r){return new Ca(i,e,r)}static createCompiledExpression(i,e,r){return new Ba(i,e,r)}static createBlockStatement(i,e){return new Na(i,e)}static createBreakStatement(i,e){return new La(i,e)}static createClassDeclaration(i,e,r,n,s,a,l,o){return new mn(i,e,r,n,s,a,l,o)}static createContinueStatement(i,e){return new Ma(i,e)}static createDoStatement(i,e,r){return new Ga(i,e,r)}static createEmptyStatement(i){return new za(i)}static createEnumDeclaration(i,e,r,n,s){return new Ua(i,e,r,n,s)}static createEnumValueDeclaration(i,e,r,n){return new Va(i,e,r,n)}static createExportStatement(i,e,r,n){return new Oa(i,e,r,n)}static createExportDefaultStatement(i,e){return new Wa(i,e)}static createExportImportStatement(i,e,r){return new Da(i,e,r)}static createExportMember(i,e,r){return e||(e=i),new qa(i,e,r)}static createExpressionStatement(i){return new Ka(i)}static createIfStatement(i,e,r,n){return new Xa(i,e,r,n)}static createImportStatement(i,e,r){return new gn(i,null,e,r)}static createWildcardImportStatement(i,e,r){return new gn(null,i,e,r)}static createImportDeclaration(i,e,r){return e||(e=i),new Za(e,i,r)}static createInterfaceDeclaration(i,e,r,n,s,a,l,o){return new Ya(i,e,r,n,s,a,l,o)}static createFieldDeclaration(i,e,r,n,s,a){return new Ha(i,e,r,n,s,-1,a)}static createForStatement(i,e,r,n,s){return new ja(i,e,r,n,s)}static createForOfStatement(i,e,r,n){return new $a(i,e,r,n)}static createFunctionDeclaration(i,e,r,n,s,a,l,o){return new yn(i,e,r,n,s,a,l,o)}static createIndexSignature(i,e,r,n){return new Pa(i,e,r,n)}static createMethodDeclaration(i,e,r,n,s,a,l){return new mr(i,e,r,n,s,a,l)}static createNamespaceDeclaration(i,e,r,n,s){return new Qa(i,e,r,n,s)}static createReturnStatement(i,e){return new Ja(i,e)}static createSwitchStatement(i,e,r){return new tl(i,e,r)}static createSwitchCase(i,e,r){return new el(i,e,r)}static createThrowStatement(i,e){return new rl(i,e)}static createTryStatement(i,e,r,n,s){return new il(i,e,r,n,s)}static createTypeDeclaration(i,e,r,n,s,a){return new sl(i,e,r,n,s,a)}static createModuleDeclaration(i,e,r){return new nl(i,e,r)}static createVariableStatement(i,e,r){return new ll(i,e,r)}static createVariableDeclaration(i,e,r,n,s,a){return new al(i,e,r,n,s,a)}static createVoidStatement(i,e){return new ol(i,e)}static createWhileStatement(i,e,r){return new ul(i,e,r)}isLiteralKind(i){return this.kind==16&&changetype(this).literalKind==i}get isNumericLiteral(){if(this.kind==16)switch(changetype(this).literalKind){case 0:case 1:return!0}return!1}get compilesToConst(){switch(this.kind){case 16:{switch(changetype(this).literalKind){case 0:case 1:case 2:return!0}break}case 18:case 25:case 13:return!0}return!1}isAccessOn(i){let e=changetype(this);return e.kind==9&&(e=e.expression),e.kind==21&&e.expression.kind==i}get isAccessOnThis(){return this.isAccessOn(24)}get isAccessOnSuper(){return this.isAccessOn(23)}get isEmpty(){return this.kind==34}},hn=class extends L{constructor(e,r,n){super(e,n);this.isNullable=r;this.currentlyResolving=!1}hasGenericComponent(e){if(this.kind==1){let r=changetype(this);if(!r.name.next){let n=r.typeArguments;if(n&&n.length>0){for(let s=0,a=n.length;s0}get isNull(){return this.name.identifier.text=="null"}},dr=class extends hn{constructor(e,r,n,s,a){super(2,s,a);this.parameters=e;this.returnType=r;this.explicitThisType=n}},ta=class extends L{constructor(e,r,n,s){super(4,s);this.name=e;this.extendsType=r;this.defaultType=n}},oi=(r=>(r[r.Default=0]="Default",r[r.Optional=1]="Optional",r[r.Rest=2]="Rest",r))(oi||{}),ai=class extends L{constructor(e,r,n,s,a){super(5,a);this.parameterKind=e;this.name=r;this.type=n;this.initializer=s;this.implicitFieldDeclaration=null;this.flags=0}is(e){return(this.flags&e)==e}isAny(e){return(this.flags&e)!=0}set(e){this.flags|=e}},Tt=(g=>(g[g.Custom=0]="Custom",g[g.Global=1]="Global",g[g.Operator=2]="Operator",g[g.OperatorBinary=3]="OperatorBinary",g[g.OperatorPrefix=4]="OperatorPrefix",g[g.OperatorPostfix=5]="OperatorPostfix",g[g.Unmanaged=6]="Unmanaged",g[g.Final=7]="Final",g[g.Inline=8]="Inline",g[g.External=9]="External",g[g.ExternalJs=10]="ExternalJs",g[g.Builtin=11]="Builtin",g[g.Lazy=12]="Lazy",g[g.Unsafe=13]="Unsafe",g))(Tt||{});(i=>{function t(e){if(e.kind==6){let r=e.text;switch(assert(r.length),r.charCodeAt(0)){case 98:{if(r=="builtin")return 11;break}case 101:{if(r=="external")return 9;break}case 102:{if(r=="final")return 7;break}case 103:{if(r=="global")return 1;break}case 105:{if(r=="inline")return 8;break}case 108:{if(r=="lazy")return 12;break}case 111:{if(r=="operator")return 2;break}case 117:{if(r=="unmanaged")return 6;if(r=="unsafe")return 13;break}}}else if(e.kind==21){let r=e,n=r.expression;if(n.kind==6){let s=n.text;assert(s.length);let a=r.property.text;if(assert(a.length),s=="operator")switch(a.charCodeAt(0)){case 98:{if(a=="binary")return 3;break}case 112:{if(a=="prefix")return 4;if(a=="postfix")return 5;break}}else if(s=="external")switch(a.charCodeAt(0)){case 106:{if(a=="js")return 10;break}}}}return 0}i.fromNode=t})(Tt||={});var ra=class extends L{constructor(e,r,n,s){super(62,s);this.decoratorKind=e;this.name=r;this.args=n}},pp=(r=>(r[r.Line=0]="Line",r[r.Triple=1]="Triple",r[r.Block=2]="Block",r))(pp||{}),ia=class extends L{constructor(e,r,n){super(66,n);this.commentKind=e;this.text=r}},de=class extends L{},Oe=class extends de{constructor(e,r,n){super(6,n);this.text=e;this.isQuoted=r}},Dt=(l=>(l[l.Float=0]="Float",l[l.Integer=1]="Integer",l[l.String=2]="String",l[l.Template=3]="Template",l[l.RegExp=4]="RegExp",l[l.Array=5]="Array",l[l.Object=6]="Object",l))(Dt||{}),at=class extends de{constructor(e,r){super(16,r);this.literalKind=e}},na=class extends at{constructor(e,r){super(5,r);this.elementExpressions=e}},ui=(n=>(n[n.Prefix=0]="Prefix",n[n.As=1]="As",n[n.NonNull=2]="NonNull",n[n.Const=3]="Const",n))(ui||{}),sa=class extends de{constructor(e,r,n,s){super(7,s);this.assertionKind=e;this.expression=r;this.toType=n}},aa=class extends de{constructor(e,r,n,s){super(8,s);this.operator=e;this.left=r;this.right=n}},la=class extends de{constructor(e,r,n,s){super(9,s);this.expression=e;this.typeArguments=r;this.args=n}get typeArgumentsRange(){let e=this.typeArguments,r;return e&&(r=e.length)?le.join(e[0].range,e[r-1].range):this.expression.range}get argumentsRange(){let e=this.args,r=e.length;return r?le.join(e[0].range,e[r-1].range):this.expression.range}},oa=class extends de{constructor(e){super(10,e.range);this.declaration=e}},ua=class extends de{constructor(e,r){super(11,r);this.expressions=e}},pa=class extends Oe{constructor(i){super("constructor",!1,i),this.kind=26}},ca=class extends de{constructor(e,r,n){super(12,n);this.expression=e;this.elementExpression=r}},_a=class extends at{constructor(e,r){super(0,r);this.value=e}},fa=class extends de{constructor(e){super(14,e.range);this.declaration=e}},ha=class extends de{constructor(e,r,n){super(15,n);this.expression=e;this.isType=r}},da=class extends at{constructor(e,r){super(1,r);this.value=e}},ma=class extends de{constructor(e,r,n,s){super(17,s);this.typeName=e;this.typeArguments=r;this.args=n}get typeArgumentsRange(){let e=this.typeArguments,r;return e&&(r=e.length)>0?le.join(e[0].range,e[r-1].range):this.typeName.range}get argumentsRange(){let e=this.args,r=e.length;return r?le.join(e[0].range,e[r-1].range):this.typeName.range}},ya=class extends Oe{constructor(i){super("null",!1,i),this.kind=18}},ga=class extends at{constructor(e,r,n){super(6,n);this.names=e;this.values=r}},ba=class extends de{constructor(i){super(19,i)}},xa=class extends de{constructor(e,r){super(20,r);this.expression=e}},Ta=class extends de{constructor(e,r,n){super(21,n);this.expression=e;this.property=r}},Ea=class extends at{constructor(e,r,n){super(4,n);this.pattern=e;this.patternFlags=r}},va=class extends de{constructor(e,r,n,s){super(22,s);this.condition=e;this.ifThen=r;this.ifElse=n}},Sa=class extends at{constructor(e,r){super(2,r);this.value=e}},Ia=class extends Oe{constructor(i){super("super",!1,i),this.kind=23}},Fa=class extends at{constructor(e,r,n,s,a){super(3,a);this.tag=e;this.parts=r;this.rawParts=n;this.expressions=s}},Ra=class extends Oe{constructor(i){super("this",!1,i),this.kind=24}},ka=class extends Oe{constructor(i){super("true",!1,i),this.kind=25}},Aa=class extends Oe{constructor(i){super("false",!1,i),this.kind=13}},dn=class extends de{constructor(e,r,n,s){super(e,s);this.operator=r;this.operand=n}},wa=class extends dn{constructor(i,e,r){super(27,i,e,r)}},Ca=class extends dn{constructor(i,e,r){super(28,i,e,r)}},Ba=class extends de{constructor(e,r,n){super(29,n);this.expr=e;this.type=r}},oe=class extends L{},pi=(n=>(n[n.User=0]="User",n[n.UserEntry=1]="UserEntry",n[n.Library=2]="Library",n[n.LibraryEntry=3]="LibraryEntry",n))(pi||{}),fe=class t extends L{constructor(e,r,n){super(0,new le(0,n.length));this.sourceKind=e;this.normalizedPath=r;this.text=n;this.statements=new Array;this.debugInfoIndex=-1;this.exportPaths=null;this.lineCache=null;this.lineColumn=1;let s=bn(r);this.internalPath=s;let a=s.lastIndexOf(Ye);this.simplePath=a>=0?s.substring(a+1):s,this.range.source=this}static get native(){let e=t._native;return e||(t._native=e=new t(3,nt+"native.ts","[native code]")),e}static{this._native=null}get isNative(){return this.internalPath==Os}get isLibrary(){let e=this.sourceKind;return e==2||e==3}lineAt(e){assert(e>=0&&e<2147483647);let r=this.lineCache;if(!r){this.lineCache=r=[0];let a=this.text,l=0,o=a.length;for(;l>1),l=unchecked(r[a]);if(e0}},Ma=class extends oe{constructor(e,r){super(32,r);this.label=e}},Ga=class extends oe{constructor(e,r,n){super(33,n);this.body=e;this.condition=r}},za=class extends oe{constructor(i){super(34,i)}},Ua=class extends We{constructor(e,r,n,s,a){super(52,e,r,n,a);this.values=s}},Va=class extends li{constructor(i,e,r,n){super(53,i,null,e,null,r,n)}},Da=class extends oe{constructor(e,r,n){super(37,n);this.name=e;this.externalName=r}},qa=class extends L{constructor(e,r,n){super(63,n);this.localName=e;this.exportedName=r}},Oa=class extends oe{constructor(e,r,n,s){super(35,s);this.members=e;this.path=r;this.isDeclare=n;if(r){let a=fr(r.value);r.value.startsWith(".")?a=Zs(a,s.source.internalPath):a.startsWith(nt)||(a=nt+a),this.internalPath=a}else this.internalPath=null}},Wa=class extends oe{constructor(e,r){super(36,r);this.declaration=e}},Ka=class extends oe{constructor(e){super(38,e.range);this.expression=e}},Ha=class extends li{constructor(e,r,n,s,a,l,o){super(54,e,r,n,s,a,o);this.parameterIndex=l}},ja=class extends oe{constructor(e,r,n,s,a){super(39,a);this.initializer=e;this.condition=r;this.incrementor=n;this.body=s}},$a=class extends oe{constructor(e,r,n,s){super(40,s);this.variable=e;this.iterable=r;this.body=n}},ci=(r=>(r[r.None=0]="None",r[r.Parenthesized=1]="Parenthesized",r[r.Single=2]="Single",r))(ci||{}),yn=class t extends We{constructor(e,r,n,s,a,l,o,p){super(55,e,r,n,p);this.typeParameters=s;this.signature=a;this.body=l;this.arrowKind=o}get isGeneric(){let e=this.typeParameters;return e!=null&&e.length>0}clone(){return new t(this.name,this.decorators,this.flags,this.typeParameters,this.signature,this.body,this.arrowKind,this.range)}},Xa=class extends oe{constructor(e,r,n,s){super(41,s);this.condition=e;this.ifTrue=r;this.ifFalse=n}},Za=class extends We{constructor(e,r,n){super(56,e,null,0,n);this.foreignName=r}},gn=class extends oe{constructor(e,r,n,s){super(42,s);this.declarations=e;this.namespaceName=r;this.path=n;let a=fr(n.value);n.value.startsWith(".")?a=Zs(a,s.source.internalPath):a.startsWith(nt)||(a=nt+a),this.internalPath=bn(a)}},Ya=class extends mn{constructor(i,e,r,n,s,a,l,o){super(i,e,r,n,s,a,l,o),this.kind=57}},mr=class extends yn{constructor(i,e,r,n,s,a,l){super(i,e,r,n,s,a,0,l),this.kind=58}},Qa=class extends We{constructor(e,r,n,s,a){super(59,e,r,n,a);this.members=s}},Ja=class extends oe{constructor(e,r){super(43,r);this.value=e}},el=class extends L{constructor(e,r,n){super(64,n);this.label=e;this.statements=r}get isDefault(){return this.label==null}},tl=class extends oe{constructor(e,r,n){super(44,n);this.condition=e;this.cases=r}},rl=class extends oe{constructor(e,r){super(45,r);this.value=e}},il=class extends oe{constructor(e,r,n,s,a){super(46,a);this.bodyStatements=e;this.catchVariable=r;this.catchStatements=n;this.finallyStatements=s}},nl=class extends oe{constructor(e,r,n){super(50,n);this.moduleName=e;this.flags=r}},sl=class extends We{constructor(e,r,n,s,a,l){super(60,e,r,n,l);this.typeParameters=s;this.type=a}},al=class extends li{constructor(i,e,r,n,s,a){super(61,i,e,r,n,s,a)}},ll=class extends oe{constructor(e,r,n){super(47,n);this.decorators=e;this.declarations=r}},ol=class extends oe{constructor(e,r){super(48,r);this.expression=e}},ul=class extends oe{constructor(e,r,n){super(49,n);this.condition=e;this.body=r}};function Et(t,i){if(i)for(let e=0,r=i.length;e0)}return!1}var _i=(w=>(w[w.Abstract=0]="Abstract",w[w.As=1]="As",w[w.Async=2]="Async",w[w.Await=3]="Await",w[w.Break=4]="Break",w[w.Case=5]="Case",w[w.Catch=6]="Catch",w[w.Class=7]="Class",w[w.Const=8]="Const",w[w.Continue=9]="Continue",w[w.Constructor=10]="Constructor",w[w.Debugger=11]="Debugger",w[w.Declare=12]="Declare",w[w.Default=13]="Default",w[w.Delete=14]="Delete",w[w.Do=15]="Do",w[w.Else=16]="Else",w[w.Enum=17]="Enum",w[w.Export=18]="Export",w[w.Extends=19]="Extends",w[w.False=20]="False",w[w.Finally=21]="Finally",w[w.For=22]="For",w[w.From=23]="From",w[w.Function=24]="Function",w[w.Get=25]="Get",w[w.If=26]="If",w[w.Implements=27]="Implements",w[w.Import=28]="Import",w[w.In=29]="In",w[w.InstanceOf=30]="InstanceOf",w[w.Interface=31]="Interface",w[w.Is=32]="Is",w[w.KeyOf=33]="KeyOf",w[w.Let=34]="Let",w[w.Module=35]="Module",w[w.Namespace=36]="Namespace",w[w.New=37]="New",w[w.Null=38]="Null",w[w.Of=39]="Of",w[w.Override=40]="Override",w[w.Package=41]="Package",w[w.Private=42]="Private",w[w.Protected=43]="Protected",w[w.Public=44]="Public",w[w.Readonly=45]="Readonly",w[w.Return=46]="Return",w[w.Set=47]="Set",w[w.Static=48]="Static",w[w.Super=49]="Super",w[w.Switch=50]="Switch",w[w.This=51]="This",w[w.Throw=52]="Throw",w[w.True=53]="True",w[w.Try=54]="Try",w[w.Type=55]="Type",w[w.TypeOf=56]="TypeOf",w[w.Var=57]="Var",w[w.Void=58]="Void",w[w.While=59]="While",w[w.With=60]="With",w[w.Yield=61]="Yield",w[w.OpenBrace=62]="OpenBrace",w[w.CloseBrace=63]="CloseBrace",w[w.OpenParen=64]="OpenParen",w[w.CloseParen=65]="CloseParen",w[w.OpenBracket=66]="OpenBracket",w[w.CloseBracket=67]="CloseBracket",w[w.Dot=68]="Dot",w[w.Dot_Dot_Dot=69]="Dot_Dot_Dot",w[w.Semicolon=70]="Semicolon",w[w.Comma=71]="Comma",w[w.LessThan=72]="LessThan",w[w.GreaterThan=73]="GreaterThan",w[w.LessThan_Equals=74]="LessThan_Equals",w[w.GreaterThan_Equals=75]="GreaterThan_Equals",w[w.Equals_Equals=76]="Equals_Equals",w[w.Exclamation_Equals=77]="Exclamation_Equals",w[w.Equals_Equals_Equals=78]="Equals_Equals_Equals",w[w.Exclamation_Equals_Equals=79]="Exclamation_Equals_Equals",w[w.Equals_GreaterThan=80]="Equals_GreaterThan",w[w.Plus=81]="Plus",w[w.Minus=82]="Minus",w[w.Asterisk_Asterisk=83]="Asterisk_Asterisk",w[w.Asterisk=84]="Asterisk",w[w.Slash=85]="Slash",w[w.Percent=86]="Percent",w[w.Plus_Plus=87]="Plus_Plus",w[w.Minus_Minus=88]="Minus_Minus",w[w.LessThan_LessThan=89]="LessThan_LessThan",w[w.GreaterThan_GreaterThan=90]="GreaterThan_GreaterThan",w[w.GreaterThan_GreaterThan_GreaterThan=91]="GreaterThan_GreaterThan_GreaterThan",w[w.Ampersand=92]="Ampersand",w[w.Bar=93]="Bar",w[w.Caret=94]="Caret",w[w.Exclamation=95]="Exclamation",w[w.Tilde=96]="Tilde",w[w.Ampersand_Ampersand=97]="Ampersand_Ampersand",w[w.Bar_Bar=98]="Bar_Bar",w[w.Question=99]="Question",w[w.Colon=100]="Colon",w[w.Equals=101]="Equals",w[w.Plus_Equals=102]="Plus_Equals",w[w.Minus_Equals=103]="Minus_Equals",w[w.Asterisk_Equals=104]="Asterisk_Equals",w[w.Asterisk_Asterisk_Equals=105]="Asterisk_Asterisk_Equals",w[w.Slash_Equals=106]="Slash_Equals",w[w.Percent_Equals=107]="Percent_Equals",w[w.LessThan_LessThan_Equals=108]="LessThan_LessThan_Equals",w[w.GreaterThan_GreaterThan_Equals=109]="GreaterThan_GreaterThan_Equals",w[w.GreaterThan_GreaterThan_GreaterThan_Equals=110]="GreaterThan_GreaterThan_GreaterThan_Equals",w[w.Ampersand_Equals=111]="Ampersand_Equals",w[w.Bar_Equals=112]="Bar_Equals",w[w.Caret_Equals=113]="Caret_Equals",w[w.At=114]="At",w[w.Identifier=115]="Identifier",w[w.StringLiteral=116]="StringLiteral",w[w.IntegerLiteral=117]="IntegerLiteral",w[w.FloatLiteral=118]="FloatLiteral",w[w.TemplateLiteral=119]="TemplateLiteral",w[w.Invalid=120]="Invalid",w[w.EndOfFile=121]="EndOfFile",w))(_i||{}),_p=(r=>(r[r.Default=0]="Default",r[r.Prefer=1]="Prefer",r[r.Always=2]="Always",r))(_p||{});function wy(t){let i=t.length;switch(assert(i),t.charCodeAt(0)){case 97:{if(i==5){if(t=="async")return 2;if(t=="await")return 3;break}if(t=="as")return 1;if(t=="abstract")return 0;break}case 98:{if(t=="break")return 4;break}case 99:{if(i==5){if(t=="const")return 8;if(t=="class")return 7;if(t=="catch")return 6;break}if(t=="case")return 5;if(t=="continue")return 9;if(t=="constructor")return 10;break}case 100:{if(i==7){if(t=="default")return 13;if(t=="declare")return 12;break}if(t=="do")return 15;if(t=="delete")return 14;if(t=="debugger")return 11;break}case 101:{if(i==4){if(t=="else")return 16;if(t=="enum")return 17;break}if(t=="export")return 18;if(t=="extends")return 19;break}case 102:{if(i<=5){if(t=="false")return 20;if(t=="for")return 22;if(t=="from")return 23;break}if(t=="function")return 24;if(t=="finally")return 21;break}case 103:{if(t=="get")return 25;break}case 105:{if(i==2){if(t=="if")return 26;if(t=="in")return 29;if(t=="is")return 32;break}switch(t.charCodeAt(3)){case 108:{if(t=="implements")return 27;break}case 111:{if(t=="import")return 28;break}case 116:{if(t=="instanceof")return 30;break}case 101:{if(t=="interface")return 31;break}}break}case 107:{if(t=="keyof")return 33;break}case 108:{if(t=="let")return 34;break}case 109:{if(t=="module")return 35;break}case 110:{if(t=="new")return 37;if(t=="null")return 38;if(t=="namespace")return 36;break}case 111:{if(t=="of")return 39;if(t=="override")return 40;break}case 112:{if(i==7){if(t=="private")return 42;if(t=="package")return 41;break}if(t=="public")return 44;if(t=="protected")return 43;break}case 114:{if(t=="return")return 46;if(t=="readonly")return 45;break}case 115:{if(i==6){if(t=="switch")return 50;if(t=="static")return 48;break}if(t=="set")return 47;if(t=="super")return 49;break}case 116:{if(i==4){if(t=="true")return 53;if(t=="this")return 51;if(t=="type")return 55;break}if(t=="try")return 54;if(t=="throw")return 52;if(t=="typeof")return 56;break}case 118:{if(t=="var")return 57;if(t=="void")return 58;break}case 119:{if(t=="while")return 59;if(t=="with")return 60;break}case 121:{if(t=="yield")return 61;break}}return 120}function Cy(t){switch(t){case 0:case 1:case 10:case 12:case 14:case 23:case 22:case 25:case 30:case 32:case 33:case 35:case 36:case 38:case 45:case 47:case 55:case 58:return!0;default:return!1}}function fp(t){switch(assert(t.length),t.charCodeAt(0)){case 100:return t=="delete";case 102:return t=="for";case 105:return t=="instanceof";case 110:return t=="null";case 118:return t=="void"}return!1}function Te(t){switch(t){case 14:return"delete";case 29:return"in";case 30:return"instanceof";case 37:return"new";case 56:return"typeof";case 58:return"void";case 61:return"yield";case 69:return"...";case 71:return",";case 72:return"<";case 73:return">";case 74:return"<=";case 75:return">=";case 76:return"==";case 77:return"!=";case 78:return"===";case 79:return"!==";case 81:return"+";case 82:return"-";case 83:return"**";case 84:return"*";case 85:return"/";case 86:return"%";case 87:return"++";case 88:return"--";case 89:return"<<";case 90:return">>";case 91:return">>>";case 92:return"&";case 93:return"|";case 94:return"^";case 95:return"!";case 96:return"~";case 97:return"&&";case 98:return"||";case 101:return"=";case 102:return"+=";case 103:return"-=";case 104:return"*=";case 105:return"**=";case 106:return"/=";case 107:return"%=";case 108:return"<<=";case 109:return">>=";case 110:return">>>=";case 111:return"&=";case 112:return"|=";case 113:return"^=";default:return assert(!1),""}}var xn=class extends qe{constructor(e,r=null){super(r);this.end=0;this.pos=0;this.token=-1;this.tokenPos=0;this.nextToken=-1;this.nextTokenPos=0;this.nextTokenOnNewLine=2;this.onComment=null;this.readingTemplateString=!1;this.readStringStart=0;this.readStringEnd=0;r||(r=[]),this.diagnostics=r,this.source=e;let n=e.text,s=n.length,a=0;if(a1&&a2&&a1&&a1&&a1&&a2&&a1&&a1&&a1&&a2&&a+11&&a1&&a2&&a1&&a2&&a1&&a2&&a3&&a1&&a1&&a=s){o+=n.substring(l,a),this.error(1002,this.range(l-1,s)),this.readStringEnd=s;break}let p=n.charCodeAt(a);if(p==e){this.readStringEnd=a,o+=n.substring(l,a++);break}if(p==92){o+=n.substring(l,a),this.pos=a,o+=this.readEscapeSequence(r),a=this.pos,l=a;continue}if(e==96){if(p==36&&a+1=n)return this.error(1126,this.range(n)),"";let s=this.source.text,a=s.charCodeAt(this.pos++);switch(a){case 48:return e&&this.pos=n){this.error(1161,this.range(r,n));break}if(e.charCodeAt(this.pos)==92){++this.pos,s=!0;continue}let a=e.charCodeAt(this.pos);if(!s&&a==47)break;if(bt(a)){this.error(1161,this.range(r,this.pos));break}++this.pos,s=!1}return e.substring(r,this.pos)}readRegexpFlags(){let e=this.source.text,r=this.pos,n=this.end,s=0;for(;this.pos57))break;r++}return!0}readInteger(){let e=this.source.text,r=this.pos;if(r+21114111&&(e==-1&&this.error(1198,this.range(r,this.pos)),a=!0);let l=this.end,o=this.source.text;return this.pos>=l?(e==-1&&this.error(1126,this.range(r,l)),a=!0):o.charCodeAt(this.pos)==125?++this.pos:(e==-1&&this.error(1199,this.range(r,this.pos)),a=!0),a?~e?o.substring(e,this.pos):"":String.fromCodePoint(s)}},pl=class{constructor(i,e,r){this.pos=i;this.token=e;this.tokenPos=r}},cp=null;var P;(C=>(C.None=0,C.Unreachable=1,C.I32=2,C.I64=3,C.F32=4,C.F64=5,C.V128=6,C.Funcref=Uc(),C.Externref=Vc(),C.Anyref=Dc(),C.Eqref=qc(),C.Structref=Wc(),C.Arrayref=Kc(),C.I31ref=Oc(),C.Stringref=Hc(),C.StringviewWTF8=jc(),C.StringviewWTF16=$c(),C.StringviewIter=Xc(),C.Noneref=Zc(),C.Nofuncref=Qc(),C.Noexternref=Yc()))(P||={});var ue;(I=>{I.Extern=0,I.Func=1,I.Any=2,I.Eq=3,I.I31=4,I.Struct=5,I.Array=6,I.Exn=7,I.String=8,I.StringviewWTF8=9,I.StringviewWTF16=10,I.StringviewIter=11,I.None=12,I.Noextern=13,I.Nofunc=14;function S(R){return Jc(R)}I.isBottom=S;function T(R){return e_(R)}I.getBottom=T;function E(R,C){return t_(R,C)}I.isSubtype=E;function F(R,C){if(R==C)return R;if(T(R)!=T(C))return-1;if(S(R))return C;if(S(C))return R;if(R>C){let N=R;R=C,C=N}switch(R){case I.Extern:case I.Func:return-1;case I.Any:return R;case I.Eq:return C==I.I31||C==I.Struct||C==I.Array?I.Eq:I.Any;case I.I31:return C==I.Struct||C==I.Array?I.Eq:I.Any;case I.Struct:return C==I.Array?I.Eq:I.Any;case I.Array:case I.String:case I.StringviewWTF8:case I.StringviewWTF16:case I.StringviewIter:return I.Any}return assert(!1),-1}I.leastUpperBound=F})(ue||={});var En;(r=>(r.NotPacked=0,r.I8=1,r.I16=2))(En||={});var dp;(s=>{s.SelfSupertype=0,s.InvalidSupertype=1,s.ForwardSupertypeReference=2,s.ForwardChildReference=3;function n(a){switch(a){case 0:return"SelfSupertype";case 1:return"InvalidSupertype";case 2:return"ForwardSupertypeReference";case 3:return"ForwardChildReference"}return assert(!1),""}s.toString=n})(dp||={});var mp=(F=>(F[F.MVP=0]="MVP",F[F.Atomics=1]="Atomics",F[F.MutableGlobals=2]="MutableGlobals",F[F.TruncSat=4]="TruncSat",F[F.SIMD=8]="SIMD",F[F.BulkMemory=16]="BulkMemory",F[F.SignExt=32]="SignExt",F[F.ExceptionHandling=64]="ExceptionHandling",F[F.TailCall=128]="TailCall",F[F.ReferenceTypes=256]="ReferenceTypes",F[F.MultiValue=512]="MultiValue",F[F.GC=1024]="GC",F[F.Memory64=2048]="Memory64",F[F.RelaxedSIMD=4096]="RelaxedSIMD",F[F.ExtendedConst=8192]="ExtendedConst",F[F.Stringref=16384]="Stringref",F[F.MultiMemory=32768]="MultiMemory",F[F.All=131071]="All",F))(mp||{}),yr=(M=>(M[M.Invalid=0]="Invalid",M[M.Block=1]="Block",M[M.If=2]="If",M[M.Loop=3]="Loop",M[M.Break=4]="Break",M[M.Switch=5]="Switch",M[M.Call=6]="Call",M[M.CallIndirect=7]="CallIndirect",M[M.LocalGet=8]="LocalGet",M[M.LocalSet=9]="LocalSet",M[M.GlobalGet=10]="GlobalGet",M[M.GlobalSet=11]="GlobalSet",M[M.Load=12]="Load",M[M.Store=13]="Store",M[M.Const=14]="Const",M[M.Unary=15]="Unary",M[M.Binary=16]="Binary",M[M.Select=17]="Select",M[M.Drop=18]="Drop",M[M.Return=19]="Return",M[M.MemorySize=20]="MemorySize",M[M.MemoryGrow=21]="MemoryGrow",M[M.Nop=22]="Nop",M[M.Unreachable=23]="Unreachable",M[M.AtomicRMW=24]="AtomicRMW",M[M.AtomicCmpxchg=25]="AtomicCmpxchg",M[M.AtomicWait=26]="AtomicWait",M[M.AtomicNotify=27]="AtomicNotify",M[M.AtomicFence=28]="AtomicFence",M[M.SIMDExtract=29]="SIMDExtract",M[M.SIMDReplace=30]="SIMDReplace",M[M.SIMDShuffle=31]="SIMDShuffle",M[M.SIMDTernary=32]="SIMDTernary",M[M.SIMDShift=33]="SIMDShift",M[M.SIMDLoad=34]="SIMDLoad",M[M.SIMDLoadStoreLane=35]="SIMDLoadStoreLane",M[M.MemoryInit=36]="MemoryInit",M[M.DataDrop=37]="DataDrop",M[M.MemoryCopy=38]="MemoryCopy",M[M.MemoryFill=39]="MemoryFill",M[M.Pop=40]="Pop",M[M.RefNull=41]="RefNull",M[M.RefIsNull=42]="RefIsNull",M[M.RefFunc=43]="RefFunc",M[M.RefEq=44]="RefEq",M[M.TableGet=45]="TableGet",M[M.TableSet=46]="TableSet",M[M.TableSize=47]="TableSize",M[M.TableGrow=48]="TableGrow",M[M.TableFill=49]="TableFill",M[M.TableCopy=50]="TableCopy",M[M.Try=51]="Try",M[M.TryTable=52]="TryTable",M[M.Throw=53]="Throw",M[M.Rethrow=54]="Rethrow",M[M.ThrowRef=55]="ThrowRef",M[M.TupleMake=56]="TupleMake",M[M.TupleExtract=57]="TupleExtract",M[M.RefI31=58]="RefI31",M[M.I31Get=59]="I31Get",M[M.CallRef=60]="CallRef",M[M.RefTest=61]="RefTest",M[M.RefCast=62]="RefCast",M[M.BrOn=63]="BrOn",M[M.StructNew=64]="StructNew",M[M.StructGet=65]="StructGet",M[M.StructSet=66]="StructSet",M[M.ArrayNew=67]="ArrayNew",M[M.ArrayNewData=68]="ArrayNewData",M[M.ArrayNewElem=69]="ArrayNewElem",M[M.ArrayNewFixed=70]="ArrayNewFixed",M[M.ArrayGet=71]="ArrayGet",M[M.ArraySet=72]="ArraySet",M[M.ArrayLen=73]="ArrayLen",M[M.ArrayCopy=74]="ArrayCopy",M[M.ArrayFill=75]="ArrayFill",M[M.ArrayInitData=76]="ArrayInitData",M[M.ArrayInitElem=77]="ArrayInitElem",M[M.RefAs=78]="RefAs",M[M.StringNew=79]="StringNew",M[M.StringConst=80]="StringConst",M[M.StringMeasure=81]="StringMeasure",M[M.StringEncode=82]="StringEncode",M[M.StringConcat=83]="StringConcat",M[M.StringEq=84]="StringEq",M[M.StringAs=85]="StringAs",M[M.StringWTF8Advance=86]="StringWTF8Advance",M[M.StringWTF16Get=87]="StringWTF16Get",M[M.StringIterNext=88]="StringIterNext",M[M.StringIterMove=89]="StringIterMove",M[M.StringSliceWTF=90]="StringSliceWTF",M[M.StringSliceIter=91]="StringSliceIter",M[M.ResumeId=92]="ResumeId",M))(yr||{}),yp=(s=>(s[s.Function=0]="Function",s[s.Table=1]="Table",s[s.Memory=2]="Memory",s[s.Global=3]="Global",s[s.Tag=4]="Tag",s))(yp||{}),Sn=(k=>(k[k.ClzI32=0]="ClzI32",k[k.ClzI64=1]="ClzI64",k[k.CtzI32=2]="CtzI32",k[k.CtzI64=3]="CtzI64",k[k.PopcntI32=4]="PopcntI32",k[k.PopcntI64=5]="PopcntI64",k[k.NegF32=6]="NegF32",k[k.NegF64=7]="NegF64",k[k.AbsF32=8]="AbsF32",k[k.AbsF64=9]="AbsF64",k[k.CeilF32=10]="CeilF32",k[k.CeilF64=11]="CeilF64",k[k.FloorF32=12]="FloorF32",k[k.FloorF64=13]="FloorF64",k[k.TruncF32=14]="TruncF32",k[k.TruncF64=15]="TruncF64",k[k.NearestF32=16]="NearestF32",k[k.NearestF64=17]="NearestF64",k[k.SqrtF32=18]="SqrtF32",k[k.SqrtF64=19]="SqrtF64",k[k.EqzI32=20]="EqzI32",k[k.EqzI64=21]="EqzI64",k[k.ExtendI32ToI64=22]="ExtendI32ToI64",k[k.ExtendU32ToU64=23]="ExtendU32ToU64",k[k.WrapI64ToI32=24]="WrapI64ToI32",k[k.TruncF32ToI32=25]="TruncF32ToI32",k[k.TruncF32ToI64=26]="TruncF32ToI64",k[k.TruncF32ToU32=27]="TruncF32ToU32",k[k.TruncF32ToU64=28]="TruncF32ToU64",k[k.TruncF64ToI32=29]="TruncF64ToI32",k[k.TruncF64ToI64=30]="TruncF64ToI64",k[k.TruncF64ToU32=31]="TruncF64ToU32",k[k.TruncF64ToU64=32]="TruncF64ToU64",k[k.ReinterpretF32ToI32=33]="ReinterpretF32ToI32",k[k.ReinterpretF64ToI64=34]="ReinterpretF64ToI64",k[k.ConvertI32ToF32=35]="ConvertI32ToF32",k[k.ConvertI32ToF64=36]="ConvertI32ToF64",k[k.ConvertU32ToF32=37]="ConvertU32ToF32",k[k.ConvertU32ToF64=38]="ConvertU32ToF64",k[k.ConvertI64ToF32=39]="ConvertI64ToF32",k[k.ConvertI64ToF64=40]="ConvertI64ToF64",k[k.ConvertU64ToF32=41]="ConvertU64ToF32",k[k.ConvertU64ToF64=42]="ConvertU64ToF64",k[k.PromoteF32ToF64=43]="PromoteF32ToF64",k[k.DemoteF64ToF32=44]="DemoteF64ToF32",k[k.ReinterpretI32ToF32=45]="ReinterpretI32ToF32",k[k.ReinterpretI64ToF64=46]="ReinterpretI64ToF64",k[k.Extend8I32=47]="Extend8I32",k[k.Extend16I32=48]="Extend16I32",k[k.Extend8I64=49]="Extend8I64",k[k.Extend16I64=50]="Extend16I64",k[k.Extend32I64=51]="Extend32I64",k[k.TruncSatF32ToI32=52]="TruncSatF32ToI32",k[k.TruncSatF32ToU32=53]="TruncSatF32ToU32",k[k.TruncSatF64ToI32=54]="TruncSatF64ToI32",k[k.TruncSatF64ToU32=55]="TruncSatF64ToU32",k[k.TruncSatF32ToI64=56]="TruncSatF32ToI64",k[k.TruncSatF32ToU64=57]="TruncSatF32ToU64",k[k.TruncSatF64ToI64=58]="TruncSatF64ToI64",k[k.TruncSatF64ToU64=59]="TruncSatF64ToU64",k[k.SplatI8x16=60]="SplatI8x16",k[k.SplatI16x8=61]="SplatI16x8",k[k.SplatI32x4=62]="SplatI32x4",k[k.SplatI64x2=63]="SplatI64x2",k[k.SplatF32x4=64]="SplatF32x4",k[k.SplatF64x2=65]="SplatF64x2",k[k.NotV128=66]="NotV128",k[k.AnyTrueV128=67]="AnyTrueV128",k[k.AbsI8x16=68]="AbsI8x16",k[k.NegI8x16=69]="NegI8x16",k[k.AllTrueI8x16=70]="AllTrueI8x16",k[k.BitmaskI8x16=71]="BitmaskI8x16",k[k.PopcntI8x16=72]="PopcntI8x16",k[k.AbsI16x8=73]="AbsI16x8",k[k.NegI16x8=74]="NegI16x8",k[k.AllTrueI16x8=75]="AllTrueI16x8",k[k.BitmaskI16x8=76]="BitmaskI16x8",k[k.AbsI32x4=77]="AbsI32x4",k[k.NegI32x4=78]="NegI32x4",k[k.AllTrueI32x4=79]="AllTrueI32x4",k[k.BitmaskI32x4=80]="BitmaskI32x4",k[k.AbsI64x2=81]="AbsI64x2",k[k.NegI64x2=82]="NegI64x2",k[k.AllTrueI64x2=83]="AllTrueI64x2",k[k.BitmaskI64x2=84]="BitmaskI64x2",k[k.AbsF32x4=85]="AbsF32x4",k[k.NegF32x4=86]="NegF32x4",k[k.SqrtF32x4=87]="SqrtF32x4",k[k.CeilF32x4=88]="CeilF32x4",k[k.FloorF32x4=89]="FloorF32x4",k[k.TruncF32x4=90]="TruncF32x4",k[k.NearestF32x4=91]="NearestF32x4",k[k.AbsF64x2=92]="AbsF64x2",k[k.NegF64x2=93]="NegF64x2",k[k.SqrtF64x2=94]="SqrtF64x2",k[k.CeilF64x2=95]="CeilF64x2",k[k.FloorF64x2=96]="FloorF64x2",k[k.TruncF64x2=97]="TruncF64x2",k[k.NearestF64x2=98]="NearestF64x2",k[k.ExtaddPairwiseI8x16ToI16x8=99]="ExtaddPairwiseI8x16ToI16x8",k[k.ExtaddPairwiseU8x16ToU16x8=100]="ExtaddPairwiseU8x16ToU16x8",k[k.ExtaddPairwiseI16x8ToI32x4=101]="ExtaddPairwiseI16x8ToI32x4",k[k.ExtaddPairwiseU16x8ToU32x4=102]="ExtaddPairwiseU16x8ToU32x4",k[k.TruncSatF32x4ToI32x4=103]="TruncSatF32x4ToI32x4",k[k.TruncSatF32x4ToU32x4=104]="TruncSatF32x4ToU32x4",k[k.ConvertI32x4ToF32x4=105]="ConvertI32x4ToF32x4",k[k.ConvertU32x4ToF32x4=106]="ConvertU32x4ToF32x4",k[k.ExtendLowI8x16ToI16x8=107]="ExtendLowI8x16ToI16x8",k[k.ExtendHighI8x16ToI16x8=108]="ExtendHighI8x16ToI16x8",k[k.ExtendLowU8x16ToU16x8=109]="ExtendLowU8x16ToU16x8",k[k.ExtendHighU8x16ToU16x8=110]="ExtendHighU8x16ToU16x8",k[k.ExtendLowI16x8ToI32x4=111]="ExtendLowI16x8ToI32x4",k[k.ExtendHighI16x8ToI32x4=112]="ExtendHighI16x8ToI32x4",k[k.ExtendLowU16x8ToU32x4=113]="ExtendLowU16x8ToU32x4",k[k.ExtendHighU16x8ToU32x4=114]="ExtendHighU16x8ToU32x4",k[k.ExtendLowI32x4ToI64x2=115]="ExtendLowI32x4ToI64x2",k[k.ExtendHighI32x4ToI64x2=116]="ExtendHighI32x4ToI64x2",k[k.ExtendLowU32x4ToU64x2=117]="ExtendLowU32x4ToU64x2",k[k.ExtendHighU32x4ToU64x2=118]="ExtendHighU32x4ToU64x2",k[k.ConvertLowI32x4ToF64x2=119]="ConvertLowI32x4ToF64x2",k[k.ConvertLowU32x4ToF64x2=120]="ConvertLowU32x4ToF64x2",k[k.TruncSatF64x2ToI32x4Zero=121]="TruncSatF64x2ToI32x4Zero",k[k.TruncSatF64x2ToU32x4Zero=122]="TruncSatF64x2ToU32x4Zero",k[k.DemoteZeroF64x2ToF32x4=123]="DemoteZeroF64x2ToF32x4",k[k.PromoteLowF32x4ToF64x2=124]="PromoteLowF32x4ToF64x2",k[k.RelaxedTruncF32x4ToI32x4=125]="RelaxedTruncF32x4ToI32x4",k[k.RelaxedTruncF32x4ToU32x4=126]="RelaxedTruncF32x4ToU32x4",k[k.RelaxedTruncF64x2ToI32x4Zero=127]="RelaxedTruncF64x2ToI32x4Zero",k[k.RelaxedTruncF64x2ToU32x4Zero=128]="RelaxedTruncF64x2ToU32x4Zero",k[k._last=128]="_last",k[k.ClzSize=129]="ClzSize",k[k.CtzSize=130]="CtzSize",k[k.PopcntSize=131]="PopcntSize",k[k.EqzSize=132]="EqzSize",k))(Sn||{}),hi=(b=>(b[b.AddI32=0]="AddI32",b[b.SubI32=1]="SubI32",b[b.MulI32=2]="MulI32",b[b.DivI32=3]="DivI32",b[b.DivU32=4]="DivU32",b[b.RemI32=5]="RemI32",b[b.RemU32=6]="RemU32",b[b.AndI32=7]="AndI32",b[b.OrI32=8]="OrI32",b[b.XorI32=9]="XorI32",b[b.ShlI32=10]="ShlI32",b[b.ShrI32=11]="ShrI32",b[b.ShrU32=12]="ShrU32",b[b.RotlI32=13]="RotlI32",b[b.RotrI32=14]="RotrI32",b[b.EqI32=15]="EqI32",b[b.NeI32=16]="NeI32",b[b.LtI32=17]="LtI32",b[b.LtU32=18]="LtU32",b[b.LeI32=19]="LeI32",b[b.LeU32=20]="LeU32",b[b.GtI32=21]="GtI32",b[b.GtU32=22]="GtU32",b[b.GeI32=23]="GeI32",b[b.GeU32=24]="GeU32",b[b.AddI64=25]="AddI64",b[b.SubI64=26]="SubI64",b[b.MulI64=27]="MulI64",b[b.DivI64=28]="DivI64",b[b.DivU64=29]="DivU64",b[b.RemI64=30]="RemI64",b[b.RemU64=31]="RemU64",b[b.AndI64=32]="AndI64",b[b.OrI64=33]="OrI64",b[b.XorI64=34]="XorI64",b[b.ShlI64=35]="ShlI64",b[b.ShrI64=36]="ShrI64",b[b.ShrU64=37]="ShrU64",b[b.RotlI64=38]="RotlI64",b[b.RotrI64=39]="RotrI64",b[b.EqI64=40]="EqI64",b[b.NeI64=41]="NeI64",b[b.LtI64=42]="LtI64",b[b.LtU64=43]="LtU64",b[b.LeI64=44]="LeI64",b[b.LeU64=45]="LeU64",b[b.GtI64=46]="GtI64",b[b.GtU64=47]="GtU64",b[b.GeI64=48]="GeI64",b[b.GeU64=49]="GeU64",b[b.AddF32=50]="AddF32",b[b.SubF32=51]="SubF32",b[b.MulF32=52]="MulF32",b[b.DivF32=53]="DivF32",b[b.CopysignF32=54]="CopysignF32",b[b.MinF32=55]="MinF32",b[b.MaxF32=56]="MaxF32",b[b.EqF32=57]="EqF32",b[b.NeF32=58]="NeF32",b[b.LtF32=59]="LtF32",b[b.LeF32=60]="LeF32",b[b.GtF32=61]="GtF32",b[b.GeF32=62]="GeF32",b[b.AddF64=63]="AddF64",b[b.SubF64=64]="SubF64",b[b.MulF64=65]="MulF64",b[b.DivF64=66]="DivF64",b[b.CopysignF64=67]="CopysignF64",b[b.MinF64=68]="MinF64",b[b.MaxF64=69]="MaxF64",b[b.EqF64=70]="EqF64",b[b.NeF64=71]="NeF64",b[b.LtF64=72]="LtF64",b[b.LeF64=73]="LeF64",b[b.GtF64=74]="GtF64",b[b.GeF64=75]="GeF64",b[b.EqI8x16=76]="EqI8x16",b[b.NeI8x16=77]="NeI8x16",b[b.LtI8x16=78]="LtI8x16",b[b.LtU8x16=79]="LtU8x16",b[b.GtI8x16=80]="GtI8x16",b[b.GtU8x16=81]="GtU8x16",b[b.LeI8x16=82]="LeI8x16",b[b.LeU8x16=83]="LeU8x16",b[b.GeI8x16=84]="GeI8x16",b[b.GeU8x16=85]="GeU8x16",b[b.EqI16x8=86]="EqI16x8",b[b.NeI16x8=87]="NeI16x8",b[b.LtI16x8=88]="LtI16x8",b[b.LtU16x8=89]="LtU16x8",b[b.GtI16x8=90]="GtI16x8",b[b.GtU16x8=91]="GtU16x8",b[b.LeI16x8=92]="LeI16x8",b[b.LeU16x8=93]="LeU16x8",b[b.GeI16x8=94]="GeI16x8",b[b.GeU16x8=95]="GeU16x8",b[b.EqI32x4=96]="EqI32x4",b[b.NeI32x4=97]="NeI32x4",b[b.LtI32x4=98]="LtI32x4",b[b.LtU32x4=99]="LtU32x4",b[b.GtI32x4=100]="GtI32x4",b[b.GtU32x4=101]="GtU32x4",b[b.LeI32x4=102]="LeI32x4",b[b.LeU32x4=103]="LeU32x4",b[b.GeI32x4=104]="GeI32x4",b[b.GeU32x4=105]="GeU32x4",b[b.EqI64x2=106]="EqI64x2",b[b.NeI64x2=107]="NeI64x2",b[b.LtI64x2=108]="LtI64x2",b[b.GtI64x2=109]="GtI64x2",b[b.LeI64x2=110]="LeI64x2",b[b.GeI64x2=111]="GeI64x2",b[b.EqF32x4=112]="EqF32x4",b[b.NeF32x4=113]="NeF32x4",b[b.LtF32x4=114]="LtF32x4",b[b.GtF32x4=115]="GtF32x4",b[b.LeF32x4=116]="LeF32x4",b[b.GeF32x4=117]="GeF32x4",b[b.EqF64x2=118]="EqF64x2",b[b.NeF64x2=119]="NeF64x2",b[b.LtF64x2=120]="LtF64x2",b[b.GtF64x2=121]="GtF64x2",b[b.LeF64x2=122]="LeF64x2",b[b.GeF64x2=123]="GeF64x2",b[b.AndV128=124]="AndV128",b[b.OrV128=125]="OrV128",b[b.XorV128=126]="XorV128",b[b.AndnotV128=127]="AndnotV128",b[b.AddI8x16=128]="AddI8x16",b[b.AddSatI8x16=129]="AddSatI8x16",b[b.AddSatU8x16=130]="AddSatU8x16",b[b.SubI8x16=131]="SubI8x16",b[b.SubSatI8x16=132]="SubSatI8x16",b[b.SubSatU8x16=133]="SubSatU8x16",b[b.MinI8x16=134]="MinI8x16",b[b.MinU8x16=135]="MinU8x16",b[b.MaxI8x16=136]="MaxI8x16",b[b.MaxU8x16=137]="MaxU8x16",b[b.AvgrU8x16=138]="AvgrU8x16",b[b.AddI16x8=139]="AddI16x8",b[b.AddSatI16x8=140]="AddSatI16x8",b[b.AddSatU16x8=141]="AddSatU16x8",b[b.SubI16x8=142]="SubI16x8",b[b.SubSatI16x8=143]="SubSatI16x8",b[b.SubSatU16x8=144]="SubSatU16x8",b[b.MulI16x8=145]="MulI16x8",b[b.MinI16x8=146]="MinI16x8",b[b.MinU16x8=147]="MinU16x8",b[b.MaxI16x8=148]="MaxI16x8",b[b.MaxU16x8=149]="MaxU16x8",b[b.AvgrU16x8=150]="AvgrU16x8",b[b.Q15mulrSatI16x8=151]="Q15mulrSatI16x8",b[b.ExtmulLowI16x8=152]="ExtmulLowI16x8",b[b.ExtmulHighI16x8=153]="ExtmulHighI16x8",b[b.ExtmulLowU16x8=154]="ExtmulLowU16x8",b[b.ExtmulHighU16x8=155]="ExtmulHighU16x8",b[b.AddI32x4=156]="AddI32x4",b[b.SubI32x4=157]="SubI32x4",b[b.MulI32x4=158]="MulI32x4",b[b.MinI32x4=159]="MinI32x4",b[b.MinU32x4=160]="MinU32x4",b[b.MaxI32x4=161]="MaxI32x4",b[b.MaxU32x4=162]="MaxU32x4",b[b.DotI16x8=163]="DotI16x8",b[b.ExtmulLowI32x4=164]="ExtmulLowI32x4",b[b.ExtmulHighI32x4=165]="ExtmulHighI32x4",b[b.ExtmulLowU32x4=166]="ExtmulLowU32x4",b[b.ExtmulHighU32x4=167]="ExtmulHighU32x4",b[b.AddI64x2=168]="AddI64x2",b[b.SubI64x2=169]="SubI64x2",b[b.MulI64x2=170]="MulI64x2",b[b.ExtmulLowI64x2=171]="ExtmulLowI64x2",b[b.ExtmulHighI64x2=172]="ExtmulHighI64x2",b[b.ExtmulLowU64x2=173]="ExtmulLowU64x2",b[b.ExtmulHighU64x2=174]="ExtmulHighU64x2",b[b.AddF32x4=175]="AddF32x4",b[b.SubF32x4=176]="SubF32x4",b[b.MulF32x4=177]="MulF32x4",b[b.DivF32x4=178]="DivF32x4",b[b.MinF32x4=179]="MinF32x4",b[b.MaxF32x4=180]="MaxF32x4",b[b.PminF32x4=181]="PminF32x4",b[b.PmaxF32x4=182]="PmaxF32x4",b[b.AddF64x2=183]="AddF64x2",b[b.SubF64x2=184]="SubF64x2",b[b.MulF64x2=185]="MulF64x2",b[b.DivF64x2=186]="DivF64x2",b[b.MinF64x2=187]="MinF64x2",b[b.MaxF64x2=188]="MaxF64x2",b[b.PminF64x2=189]="PminF64x2",b[b.PmaxF64x2=190]="PmaxF64x2",b[b.NarrowI16x8ToI8x16=191]="NarrowI16x8ToI8x16",b[b.NarrowU16x8ToU8x16=192]="NarrowU16x8ToU8x16",b[b.NarrowI32x4ToI16x8=193]="NarrowI32x4ToI16x8",b[b.NarrowU32x4ToU16x8=194]="NarrowU32x4ToU16x8",b[b.SwizzleI8x16=195]="SwizzleI8x16",b[b.RelaxedSwizzleI8x16=196]="RelaxedSwizzleI8x16",b[b.RelaxedMinF32x4=197]="RelaxedMinF32x4",b[b.RelaxedMaxF32x4=198]="RelaxedMaxF32x4",b[b.RelaxedMinF64x2=199]="RelaxedMinF64x2",b[b.RelaxedMaxF64x2=200]="RelaxedMaxF64x2",b[b.RelaxedQ15MulrI16x8=201]="RelaxedQ15MulrI16x8",b[b.RelaxedDotI8x16I7x16ToI16x8=202]="RelaxedDotI8x16I7x16ToI16x8",b[b._last=202]="_last",b[b.AddSize=203]="AddSize",b[b.SubSize=204]="SubSize",b[b.MulSize=205]="MulSize",b[b.DivISize=206]="DivISize",b[b.DivUSize=207]="DivUSize",b[b.RemISize=208]="RemISize",b[b.RemUSize=209]="RemUSize",b[b.AndSize=210]="AndSize",b[b.OrSize=211]="OrSize",b[b.XorSize=212]="XorSize",b[b.ShlSize=213]="ShlSize",b[b.ShrISize=214]="ShrISize",b[b.ShrUSize=215]="ShrUSize",b[b.RotlSize=216]="RotlSize",b[b.RotrSize=217]="RotrSize",b[b.EqSize=218]="EqSize",b[b.NeSize=219]="NeSize",b[b.LtISize=220]="LtISize",b[b.LtUSize=221]="LtUSize",b[b.LeISize=222]="LeISize",b[b.LeUSize=223]="LeUSize",b[b.GtISize=224]="GtISize",b[b.GtUSize=225]="GtUSize",b[b.GeISize=226]="GeISize",b[b.GeUSize=227]="GeUSize",b))(hi||{}),gp=(a=>(a[a.Add=0]="Add",a[a.Sub=1]="Sub",a[a.And=2]="And",a[a.Or=3]="Or",a[a.Xor=4]="Xor",a[a.Xchg=5]="Xchg",a))(gp||{}),bp=(o=>(o[o.ExtractLaneI8x16=0]="ExtractLaneI8x16",o[o.ExtractLaneU8x16=1]="ExtractLaneU8x16",o[o.ExtractLaneI16x8=2]="ExtractLaneI16x8",o[o.ExtractLaneU16x8=3]="ExtractLaneU16x8",o[o.ExtractLaneI32x4=4]="ExtractLaneI32x4",o[o.ExtractLaneI64x2=5]="ExtractLaneI64x2",o[o.ExtractLaneF32x4=6]="ExtractLaneF32x4",o[o.ExtractLaneF64x2=7]="ExtractLaneF64x2",o))(bp||{}),xp=(a=>(a[a.ReplaceLaneI8x16=0]="ReplaceLaneI8x16",a[a.ReplaceLaneI16x8=1]="ReplaceLaneI16x8",a[a.ReplaceLaneI32x4=2]="ReplaceLaneI32x4",a[a.ReplaceLaneI64x2=3]="ReplaceLaneI64x2",a[a.ReplaceLaneF32x4=4]="ReplaceLaneF32x4",a[a.ReplaceLaneF64x2=5]="ReplaceLaneF64x2",a))(xp||{}),Tp=(f=>(f[f.ShlI8x16=0]="ShlI8x16",f[f.ShrI8x16=1]="ShrI8x16",f[f.ShrU8x16=2]="ShrU8x16",f[f.ShlI16x8=3]="ShlI16x8",f[f.ShrI16x8=4]="ShrI16x8",f[f.ShrU16x8=5]="ShrU16x8",f[f.ShlI32x4=6]="ShlI32x4",f[f.ShrI32x4=7]="ShrI32x4",f[f.ShrU32x4=8]="ShrU32x4",f[f.ShlI64x2=9]="ShlI64x2",f[f.ShrI64x2=10]="ShrI64x2",f[f.ShrU64x2=11]="ShrU64x2",f))(Tp||{}),Ep=(f=>(f[f.Load8Splat=0]="Load8Splat",f[f.Load16Splat=1]="Load16Splat",f[f.Load32Splat=2]="Load32Splat",f[f.Load64Splat=3]="Load64Splat",f[f.Load8x8S=4]="Load8x8S",f[f.Load8x8U=5]="Load8x8U",f[f.Load16x4S=6]="Load16x4S",f[f.Load16x4U=7]="Load16x4U",f[f.Load32x2S=8]="Load32x2S",f[f.Load32x2U=9]="Load32x2U",f[f.Load32Zero=10]="Load32Zero",f[f.Load64Zero=11]="Load64Zero",f))(Ep||{}),vp=(o=>(o[o.Load8Lane=0]="Load8Lane",o[o.Load16Lane=1]="Load16Lane",o[o.Load32Lane=2]="Load32Lane",o[o.Load64Lane=3]="Load64Lane",o[o.Store8Lane=4]="Store8Lane",o[o.Store16Lane=5]="Store16Lane",o[o.Store32Lane=6]="Store32Lane",o[o.Store64Lane=7]="Store64Lane",o))(vp||{}),Sp=(c=>(c[c.Bitselect=0]="Bitselect",c[c.RelaxedMaddF32x4=1]="RelaxedMaddF32x4",c[c.RelaxedNmaddF32x4=2]="RelaxedNmaddF32x4",c[c.RelaxedMaddF64x2=3]="RelaxedMaddF64x2",c[c.RelaxedNmaddF64x2=4]="RelaxedNmaddF64x2",c[c.RelaxedLaneselectI8x16=5]="RelaxedLaneselectI8x16",c[c.RelaxedLaneselectI16x8=6]="RelaxedLaneselectI16x8",c[c.RelaxedLaneselectI32x4=7]="RelaxedLaneselectI32x4",c[c.RelaxedLaneselectI64x2=8]="RelaxedLaneselectI64x2",c[c.RelaxedDotI8x16I7x16AddToI32x4=9]="RelaxedDotI8x16I7x16AddToI32x4",c))(Sp||{}),By=(r=>(r[r.NonNull=0]="NonNull",r[r.ExternInternalize=1]="ExternInternalize",r[r.ExternExternalize=2]="ExternExternalize",r))(By||{}),Py=(n=>(n[n.Null=0]="Null",n[n.NonNull=1]="NonNull",n[n.Cast=2]="Cast",n[n.CastFail=3]="CastFail",n))(Py||{}),Ny=(p=>(p[p.UTF8=0]="UTF8",p[p.WTF8=1]="WTF8",p[p.LossyUTF8=2]="LossyUTF8",p[p.WTF16=3]="WTF16",p[p.UTF8Array=4]="UTF8Array",p[p.WTF8Array=5]="WTF8Array",p[p.LossyUTF8Array=6]="LossyUTF8Array",p[p.WTF16Array=7]="WTF16Array",p[p.FromCodePoint=8]="FromCodePoint",p))(Ny||{}),Ly=(s=>(s[s.UTF8=0]="UTF8",s[s.WTF8=1]="WTF8",s[s.WTF16=2]="WTF16",s[s.IsUSV=3]="IsUSV",s[s.WTF16View=4]="WTF16View",s))(Ly||{}),My=(o=>(o[o.UTF8=0]="UTF8",o[o.LossyUTF8=1]="LossyUTF8",o[o.WTF8=2]="WTF8",o[o.WTF16=3]="WTF16",o[o.UTF8Array=4]="UTF8Array",o[o.LossyUTF8Array=5]="LossyUTF8Array",o[o.WTF8Array=6]="WTF8Array",o[o.WTF16Array=7]="WTF16Array",o))(My||{}),Gy=(e=>(e[e.Equal=0]="Equal",e[e.Compare=1]="Compare",e))(Gy||{}),zy=(r=>(r[r.WTF8=0]="WTF8",r[r.WTF16=1]="WTF16",r[r.Iter=2]="Iter",r))(zy||{}),Uy=(e=>(e[e.Advance=0]="Advance",e[e.Rewind=1]="Rewind",e))(Uy||{}),Vy=(e=>(e[e.WTF8=0]="WTF8",e[e.WTF16=1]="WTF16",e))(Vy||{}),hl=(r=>(r[r.Default=0]="Default",r[r.PreserveSideeffects=1]="PreserveSideeffects",r[r.TraverseCalls=2]="TraverseCalls",r))(hl||{}),fi=class{constructor(i,e){this.buffer=i;this.offset=e}},Ot=class t{constructor(i,e,r){this.ref=i;this.useShadowStack=e;this.sizeType=r;this.hasTemporaryFunction=!1;this.cachedStringsToPointers=new Map;this.cachedPointersToStrings=new Map;assert(r==P.I32||r==P.I64),this.lit=it(Ol())}static create(i,e){return new t(i_(),i,e)}static createFrom(i,e,r){let n=Tn(i),s=new t(Am(n,i.length),e,r);return J(changetype(n)),s}i32(i){let e=this.lit;return s_(e,i),Or(this.ref,e)}i64(i,e=0){let r=this.lit;return a_(r,i,e),Or(this.ref,r)}usize(i){return i64_is(i)?this.sizeType==P.I64?this.i64(i64_low(i),i64_high(i)):(assert(i64_is_u32(i)),this.i32(i64_low(i))):this.sizeType==P.I64?this.i64(i32(i)):this.i32(i32(i))}f32(i){let e=this.lit;return l_(e,i),Or(this.ref,e)}f64(i){let e=this.lit;return o_(e,i),Or(this.ref,e)}v128(i){assert(i.length==16);let e=this.lit;for(let r=0;r<16;++r)we(e+r,unchecked(i[r]));return u_(e,e),Or(this.ref,e)}ref_null(i){return fh(this.ref,i)}ref_eq(i,e){return bh(this.ref,i,e)}string_eq(i,e){return Fu(this.ref,0,i,e)}string_compare(i,e){return Fu(this.ref,1,i,e)}unary(i,e){if(i>128){let r=this.sizeType==P.I64;switch(i){case 129:i=r?1:0;break;case 130:i=r?3:2;break;case 131:i=r?5:4;break;case 132:i=r?21:20;break;default:assert(!1)}}return af(this.ref,i,e)}binary(i,e,r){if(i>202){let n=this.sizeType==P.I64;switch(i){case 203:i=n?25:0;break;case 204:i=n?26:1;break;case 205:i=n?27:2;break;case 206:i=n?28:3;break;case 207:i=n?29:4;break;case 208:i=n?30:5;break;case 209:i=n?31:6;break;case 210:i=n?32:7;break;case 211:i=n?33:8;break;case 212:i=n?34:9;break;case 213:i=n?35:10;break;case 214:i=n?36:11;break;case 215:i=n?37:12;break;case 216:i=n?38:13;break;case 217:i=n?39:14;break;case 218:i=n?40:15;break;case 219:i=n?41:16;break;case 220:i=n?42:17;break;case 221:i=n?43:18;break;case 222:i=n?44:19;break;case 223:i=n?45:20;break;case 224:i=n?46:21;break;case 225:i=n?47:22;break;case 226:i=n?48:23;break;case 227:i=n?49:24;break;default:assert(!1)}}return uf(this.ref,i,e,r)}memory_size(i=B.DefaultMemory,e=!1){let r=this.allocStringCached(i);return D_(this.ref,r,e)}memory_grow(i,e=B.DefaultMemory,r=!1){let n=this.allocStringCached(e);return q_(this.ref,i,n,r)}table_size(i){let e=this.allocStringCached(i);return Sh(this.ref,e)}table_grow(i,e,r=0){let n=this.allocStringCached(i);return Ih(this.ref,n,r,e)}local_get(i,e){return N_(this.ref,i,e)}tostack(i){if(this.useShadowStack){let e=Nt(i);return assert(e==P.I32||e==P.Unreachable),this.call(h.tostack,[i],e)}return i}local_tee(i,e,r,n=-1){return n==-1&&(n=Nt(e)),r&&this.useShadowStack&&(e=this.tostack(e)),M_(this.ref,i,e,n)}global_get(i,e){let r=this.allocStringCached(i);return G_(this.ref,r,e)}table_get(i,e,r){let n=this.allocStringCached(i);return Eh(this.ref,n,e,r)}load(i,e,r,n,s=0,a=i,l=B.DefaultMemory){let o=this.allocStringCached(l);return W_(this.ref,i,e,s,a,n,r,o)}store(i,e,r,n,s=0,a=i,l=B.DefaultMemory){let o=this.allocStringCached(l);return Z_(this.ref,i,s,a,e,r,n,o)}atomic_load(i,e,r,n=0,s=B.DefaultMemory){let a=this.allocStringCached(s);return X_(this.ref,i,n,r,e,a)}atomic_store(i,e,r,n,s=0,a=B.DefaultMemory){let l=this.allocStringCached(a);return Q_(this.ref,i,s,e,r,n,l)}atomic_rmw(i,e,r,n,s,a,l=B.DefaultMemory){let o=this.allocStringCached(l);return Tf(this.ref,i,e,r,n,s,a,o)}atomic_cmpxchg(i,e,r,n,s,a,l=B.DefaultMemory){let o=this.allocStringCached(l);return Sf(this.ref,i,e,r,n,s,a,o)}atomic_wait(i,e,r,n,s=B.DefaultMemory){let a=this.allocStringCached(s);return kf(this.ref,i,e,r,n,a)}atomic_notify(i,e,r=B.DefaultMemory){let n=this.allocStringCached(r);return Bf(this.ref,i,e,n)}atomic_fence(i=null){let e=this.allocStringCached(i);return Lf(this.ref,e)}local_set(i,e,r){return r&&this.useShadowStack&&(e=this.tostack(e)),L_(this.ref,i,e)}global_set(i,e){let r=this.allocStringCached(i);return z_(this.ref,r,e)}table_set(i,e,r){let n=this.allocStringCached(i);return vh(this.ref,n,e,r)}block(i,e,r=P.None){let n=this.allocStringCached(i),s=_e(e),a=__(this.ref,n,s,e.length,r);return J(s),a}flatten(i,e=P.None){let r=i.length;if(r==0)return this.nop();if(r==1){let n=i[0];switch(Q(n)){case 19:case 53:case 23:return n}let s=ie(n);return s!=P.Unreachable&&s!=e?this.unreachable():n}return this.block(null,i,e)}br(i,e=0,r=0){let n=this.allocStringCached(i);return x_(this.ref,n,e,r)}drop(i){return Xl(this.ref,i)}maybeDrop(i){let e=Nt(i);return e!=P.None&&e!=P.Unreachable?Xl(this.ref,i):i}maybeDropCondition(i,e){return bi(i,this.ref)&-21?this.block(null,[this.drop(i),e],ie(e)):e}loop(i,e){let r=this.allocStringCached(i);return g_(this.ref,r,e)}if(i,e,r=0){return h_(this.ref,i,e,r)}nop(){return bf(this.ref)}return(i=0){return gf(this.ref,i)}select(i,e,r,n){return ff(this.ref,r,i,e,n)}switch(i,e,r,n=0){let s=i.length,a=new Array(s);for(let c=0;c=0;--I)J(unchecked(_[I]))}static{this.UNLIMITED_TABLE=-1}addFunctionTable(i,e,r,n,s){let a=this.allocStringCached(i),l=n.length,o=new Array(l);for(let _=0;_=0;--a)J(n[a])}optimize(i,e,r=!1,n=!1){if((i>=3||e>=2)&&(i=4),this.setOptimizeLevel(i),this.setShrinkLevel(e),this.setDebugInfo(r),this.setZeroFilledMemory(n),this.setFastMath(!0),this.clearPassArguments(),i>=2&&e==0?(this.setAlwaysInlineMaxSize(12),this.setFlexibleInlineMaxSize(70),this.setOneCallerInlineMaxSize(200),this.setAllowInliningFunctionsWithLoops(i>=3)):(this.setAlwaysInlineMaxSize(i<=1||e>=2?2:6),this.setFlexibleInlineMaxSize(65),this.setOneCallerInlineMaxSize(80),this.setAllowInliningFunctionsWithLoops(!1)),i>0||e>0){let s=new Array;s.push("duplicate-function-elimination"),s.push("remove-unused-module-elements"),i>=2&&(s.push("once-reduction"),s.push("inlining"),s.push("simplify-globals-optimizing")),(i>=3||e>=1)&&(s.push("rse"),s.push("vacuum"),s.push("code-folding"),s.push("ssa-nomerge"),s.push("local-cse"),s.push("remove-unused-brs"),s.push("remove-unused-names"),s.push("merge-blocks"),s.push("precompute-propagate"),s.push("simplify-globals-optimizing"),s.push("gufa-optimizing"),s.push("dae-optimizing")),i>=3&&(s.push("simplify-locals-nostructure"),s.push("flatten"),s.push("vacuum"),s.push("simplify-locals-notee-nostructure"),s.push("vacuum"),s.push("licm"),s.push("merge-locals"),s.push("reorder-locals")),s.push("optimize-instructions"),(i>=3||e>=1)&&s.push("dce"),s.push("remove-unused-brs"),s.push("remove-unused-names"),i>=3||e>=2?(s.push("inlining"),s.push("precompute-propagate"),s.push("simplify-globals-optimizing")):s.push("precompute"),(i>=2||e>=1)&&s.push("pick-load-signs"),s.push("simplify-locals-notee-nostructure"),s.push("vacuum"),(i>=2||e>=1)&&s.push("local-cse"),s.push("reorder-locals"),s.push("coalesce-locals"),s.push("simplify-locals"),s.push("coalesce-locals"),s.push("reorder-locals"),s.push("vacuum"),(i>=2||e>=1)&&(s.push("rse"),s.push("vacuum")),(i>=3||e>=1)&&(s.push("merge-locals"),s.push("vacuum")),(i>=2||e>=1)&&(s.push("simplify-globals-optimizing"),s.push("simplify-globals-optimizing")),s.push("remove-unused-brs"),s.push("remove-unused-names"),s.push("merge-blocks"),i>=3&&s.push("optimize-instructions"),(i>=2||e>=1)&&(s.push("simplify-globals-optimizing"),s.push("dae-optimizing")),(i>=2||e>=2)&&s.push("inlining-optimizing"),this.getLowMemoryUnused()&&(i>=3||e>=1?s.push("optimize-added-constants-propagate"):s.push("optimize-added-constants")),s.push("duplicate-import-elimination"),i>=2||e>=2?s.push("simplify-globals-optimizing"):(s.push("simplify-globals"),s.push("vacuum")),i>=2&&this.getFeatures()&1024&&(s.push("heap2local"),s.push("merge-locals"),s.push("local-subtyping")),i>=2||e>=1?(s.push("precompute-propagate"),s.push("simplify-globals-optimizing"),s.push("simplify-globals-optimizing")):s.push("precompute"),s.push("directize"),s.push("dae-optimizing"),s.push("inlining-optimizing"),(i>=2||e>=1)&&(s.push("code-folding"),s.push("ssa-nomerge"),s.push("rse"),s.push("code-pushing"),i>=3&&(s.push("simplify-globals"),s.push("vacuum"),s.push("precompute-propagate"),s.push("inlining-optimizing"),s.push("directize"),s.push("dae-optimizing"),s.push("local-cse"),s.push("merge-locals"),s.push("coalesce-locals"),s.push("simplify-locals"),s.push("vacuum"),s.push("inlining"),s.push("precompute-propagate"),s.push("rse"),s.push("vacuum"),s.push("ssa-nomerge"),s.push("simplify-locals"),s.push("coalesce-locals")),s.push("optimize-instructions"),s.push("remove-unused-brs"),s.push("remove-unused-names"),s.push("merge-blocks"),s.push("vacuum"),s.push("simplify-globals-optimizing"),s.push("reorder-globals"),s.push("remove-unused-brs"),s.push("optimize-instructions")),s.push("duplicate-function-elimination"),e>=2&&s.push("merge-similar-functions"),s.push("memory-packing"),s.push("remove-unused-module-elements"),this.runPasses(s)}}validate(){return vm(this.ref)==1}interpret(){wm(this.ref)}toBinary(i=null){assert(Ol()>=Im());let e=this.lit,r=cl(i);Fm(e,this.ref,r);let n=zt(e+0),s=zt(e+4),a=zt(e+8),l=new fl(fx(assert(n),s),Me(a));return r&&J(r),a&&J(a),J(n),l}toText(i=!0){let e=i?km(this.ref,!0):Rm(this.ref),r=Me(e);return e&&J(e),r||""}allocStringCached(i){if(i==null)return 0;let e=this.cachedStringsToPointers;if(e.has(i))return changetype(e.get(i));let r=cl(i);return e.set(i,r),r}readStringCached(i){if(i==0)return null;let e=this.cachedPointersToStrings;if(e.has(i))return changetype(e.get(i));let r=Me(i);return e.set(i,r),r}dispose(){assert(this.ref);for(let i=Map_values(this.cachedStringsToPointers),e=0,r=i.length;e=0?this.indexes[r]=n:(this.values.push(i),this.indexes.push(n))}addCase(i,e){this.values.push(i),this.indexes.push(this.addCode(e))}addCode(i){let e=this.cases,r=e.indexOf(i);return r<0&&(r=e.length,e.push(i)),r}addDefault(i){assert(this.defaultIndex==-1);let e=this.cases;this.defaultIndex=e.length,e.push(i)}render(i,e=""){let r=this.module,n=this.cases,s=n.length;if(!s)return r.drop(this.condition);let a=this.values,l=a.length,o=this.indexes,p=new Array(1+l+1),c=new Array(s);for(let S=0;S(E[E.None=0]="None",E[E.Branches=1]="Branches",E[E.Calls=2]="Calls",E[E.ReadsLocal=4]="ReadsLocal",E[E.WritesLocal=8]="WritesLocal",E[E.ReadsGlobal=16]="ReadsGlobal",E[E.WritesGlobal=32]="WritesGlobal",E[E.ReadsMemory=64]="ReadsMemory",E[E.WritesMemory=128]="WritesMemory",E[E.ReadsTable=256]="ReadsTable",E[E.WritesTable=512]="WritesTable",E[E.ImplicitTrap=1024]="ImplicitTrap",E[E.IsAtomic=2048]="IsAtomic",E[E.Throws=4096]="Throws",E[E.DanglingPop=8192]="DanglingPop",E[E.TrapsNeverHappen=16384]="TrapsNeverHappen",E[E.Any=32767]="Any",E))(Pp||{});function bi(t,i){return Mm(t,i)}function gl(t,i){return(bi(t,i)&-21)!=0}function Tn(t){if(!t)return 0;let i=t.length,e=it(i);for(let r=0;r>>0;n<=127?i+=1:n<=2047?i+=2:ti(n)&&e+1>>0,r=e;if(i==t.length)for(let n=0,s=t.length;n>>0;we(r++,a)}else for(let n=0,s=t.length;n>>0,l;a<=127?we(r++,a):a<=2047?(we(r++,192|a>>>6),we(r++,128|a&63)):ti(a)&&n+1>>18),we(r++,128|a>>>12&63),we(r++,128|a>>>6&63),we(r++,128|a&63)):(we(r++,224|a>>>12),we(r++,128|a>>>6&63),we(r++,128|a&63))}return we(r,0),e}function fx(t,i){let e=new Uint8Array(i);for(let r=0;r>>10),i.push(ei|a&1023)}}return String.fromCharCodes(i)}var fl=class{constructor(i,e){this.output=i;this.sourceMap=e}},vt=!1;function Pn(t){if(t==u.void)return P.None;let i=qy(t);if(i)return i;let e=t;if(t=t.nonNullableType,i=t.ref)return ae(nr(i),e.is(512));ASC_TARGET&&assert(sizeof()==4);let r=Km(0),n=new Map;qt(r,n,t);let s=Ms(r),a=it(max(4*s,8));if(!Xm(r,a,a,a+4)){let l=zt(a),o=zt(a+4);throw J(a),new Error(`type builder error at index ${l}: ${dp.toString(o)}`)}for(let l=Map_keys(n),o=0,p=l.length;o1){let g=_e(o);f=ju(t,g,o.length),J(g)}else f=o.length?o[0]:P.None;let d;if(p.length>1){let g=_e(p);d=ju(t,g,p.length),J(g)}else d=p[0];return vt&&console.log(` concretize [${a}]: ${e.toString()}`),Hm(t,a,f,d),l}throw new Error(`unexpected complex type: ${e.toString()}`)}var xl=(R=>(R[R.None=0]="None",R[R.Returns=1]="Returns",R[R.ReturnsWrapped=2]="ReturnsWrapped",R[R.ReturnsNonNull=4]="ReturnsNonNull",R[R.Throws=8]="Throws",R[R.Breaks=16]="Breaks",R[R.Continues=32]="Continues",R[R.AccessesThis=64]="AccessesThis",R[R.CallsSuper=128]="CallsSuper",R[R.Terminates=256]="Terminates",R[R.ConditionallyReturns=512]="ConditionallyReturns",R[R.ConditionallyThrows=1024]="ConditionallyThrows",R[R.ConditionallyBreaks=2048]="ConditionallyBreaks",R[R.ConditionallyContinues=4096]="ConditionallyContinues",R[R.ConditionallyAccessesThis=8192]="ConditionallyAccessesThis",R[R.MayReturnNonThis=16384]="MayReturnNonThis",R[R.UncheckedContext=32768]="UncheckedContext",R[R.CtorParamContext=65536]="CtorParamContext",R[R.AnyCategorical=511]="AnyCategorical",R[R.AnyConditional=15872]="AnyConditional",R))(xl||{}),Nn=(s=>(s[s.None=0]="None",s[s.Constant=1]="Constant",s[s.Wrapped=2]="Wrapped",s[s.NonNull=4]="NonNull",s[s.Initialized=8]="Initialized",s))(Nn||{}),Np=(e=>(e[e.None=0]="None",e[e.Initialized=1]="Initialized",e))(Np||{}),Lp=(r=>(r[r.Unknown=0]="Unknown",r[r.True=1]="True",r[r.False=2]="False",r))(Lp||{}),St=class t{constructor(i,e=null){this.targetFunction=i;this.inlineFunction=e;this.parent=null;this.outer=null;this.flags=0;this.continueLabel=null;this.breakLabel=null;this.scopedLocals=null;this.scopedTypeAlias=null;this.localFlags=[];this.thisFieldFlags=null;this.inlineReturnLabel=null;this.trueFlows=null;this.falseFlows=null}static createDefault(i){let e=new t(i);return i.is(524288)&&e.initThisFieldFlags(),i.program.options.uncheckedBehavior===2&&e.set(32768),e}static createInline(i,e){let r=new t(i,e);return r.inlineReturnLabel=`${e.internalName}|inlined.${e.nextInlineId++}`,e.is(524288)&&r.initThisFieldFlags(),i.program.options.uncheckedBehavior===2&&r.set(32768),r}get isInline(){return this.inlineFunction!=null}get sourceFunction(){let i=this.inlineFunction;return i||this.targetFunction}get program(){return this.targetFunction.program}get returnType(){return this.sourceFunction.signature.returnType}get contextualTypeArguments(){return this.sourceFunction.contextualTypeArguments}is(i){return(this.flags&i)==i}isAny(i){return(this.flags&i)!=0}set(i){this.flags|=i}unset(i){this.flags&=~i}deriveConditionalFlags(){let i=this.flags&15872;return this.is(1)&&(i|=512),this.is(8)&&(i|=1024),this.is(16)&&(i|=2048),this.is(32)&&(i|=4096),this.is(64)&&(i|=8192),i}fork(i=!1,e=i){let r=new t(this.targetFunction,this.inlineFunction);if(r.parent=this,r.flags=this.flags,r.outer=this.outer,i?r.flags&=-2065:r.breakLabel=this.breakLabel,e?r.flags&=-4129:r.continueLabel=this.continueLabel,r.localFlags=this.localFlags.slice(),this.sourceFunction.is(524288)){let n=assert(this.thisFieldFlags);r.thisFieldFlags=pe(n)}else assert(!this.thisFieldFlags);return r.inlineReturnLabel=this.inlineReturnLabel,r}forkThen(i,e=!1,r=e){let n=this.fork(e,r),s=this.trueFlows;return s&&s.has(i)&&n.inherit(changetype(s.get(i))),n.inheritNonnullIfTrue(i),n}noteThen(i,e){let r=this.trueFlows;r||(this.trueFlows=r=new Map),r.set(i,e)}forkElse(i){let e=this.fork(),r=this.falseFlows;return r&&r.has(i)&&e.inherit(changetype(r.get(i))),e.inheritNonnullIfFalse(i),e}noteElse(i,e){let r=this.falseFlows;r||(this.falseFlows=r=new Map),r.set(i,e)}addScopedTypeAlias(i,e){let r=this.scopedTypeAlias;r||(this.scopedTypeAlias=r=new Map),r.set(i,e)}lookupScopedTypeAlias(i){let e=this;do{let r=e.scopedTypeAlias;if(r&&r.has(i))return assert(r.get(i));e=e.parent}while(e);return null}lookupTypeAlias(i){let e=null;if(e=this.lookupScopedTypeAlias(i))return e;let r=this.sourceFunction.parent;return r.kind==5?r.flow.lookupTypeAlias(i):null}getTempLocal(i){let e=this.targetFunction.addLocal(i);return this.unsetLocalFlag(e.index,-1),e}getScopedLocal(i){let e=this.scopedLocals;return e&&e.has(i)?assert(e.get(i)):null}addScopedLocal(i,e){let r=this.getTempLocal(e);r.name=i,r.internalName=Pe(i,r.parent,!1);let n=this.scopedLocals;return n?assert(!n.has(i)):this.scopedLocals=n=new Map,r.set(67108864),n.set(i,r),r}addScopedDummyLocal(i,e,r){let n=new ze(i,-1,e,this.targetFunction),s=this.scopedLocals;return s?s.has(i)&&this.program.error(2451,r.range,i):this.scopedLocals=s=new Map,n.set(67108864),s.set(i,n),n}addScopedAlias(i,e,r,n=null){let s=this.scopedLocals;if(!s)this.scopedLocals=s=new Map;else if(s.has(i)){let l=assert(s.get(i));return n&&(l.declaration.range.source.isNative?this.program.error(2300,n.range,i):this.program.errorRelated(2300,n.range,l.declaration.name.range,i)),l}assert(r=e),a.length=e,this.localFlags.length>e&&(this.localFlags.length=e)),l}isNonnull(i,e){if(!e.isNullableReference)return!0;switch(Q(i)){case 9:{if(!In(i))break;let r=this.targetFunction.localsByIndex[dl(i)];return!r.type.isNullableReference||this.isLocalFlag(r.index,4,!1)}case 8:{let r=this.targetFunction.localsByIndex[lt(i)];return!r.type.isNullableReference||this.isLocalFlag(r.index,4,!1)}}return!1}inheritNonnullIfTrue(i,e=null){switch(Q(i)){case 9:{if(!In(i))break;let r=this.targetFunction.localsByIndex[dl(i)];(!e||e.isLocalFlag(r.index,4))&&this.setLocalFlag(r.index,4),this.inheritNonnullIfTrue(gr(i),e);break}case 8:{let r=this.targetFunction.localsByIndex[lt(i)];(!e||e.isLocalFlag(r.index,4))&&this.setLocalFlag(r.index,4);break}case 2:{let r=gi(i);r&&Fe(r)&&(this.inheritNonnullIfTrue(yl(i),e),this.inheritNonnullIfTrue(Cn(i),e));break}case 15:{switch(Rn(i)){case 20:case 21:{this.inheritNonnullIfFalse(ml(i),e);break}}break}case 16:{switch(yi(i)){case 15:case 40:{let r=He(i),n=Be(i);et(r)?this.inheritNonnullIfTrue(n,e):et(n)&&this.inheritNonnullIfTrue(r,e);break}case 16:case 41:{let r=He(i),n=Be(i);Fe(r)?this.inheritNonnullIfTrue(n,e):Fe(n)&&this.inheritNonnullIfTrue(r,e);break}}break}case 6:{let r=Bn(i);if(r==h.String_eq){assert(ot(i)==2);let n=Ge(i,0),s=Ge(i,1);et(n)?this.inheritNonnullIfTrue(s,e):et(s)&&this.inheritNonnullIfTrue(n,e)}else if(r==h.String_ne){assert(ot(i)==2);let n=Ge(i,0),s=Ge(i,1);Fe(n)?this.inheritNonnullIfTrue(s,e):Fe(s)&&this.inheritNonnullIfTrue(n,e)}else r==h.String_not?(assert(ot(i)==1),this.inheritNonnullIfFalse(Ge(i,0),e)):r==h.tostack&&(assert(ot(i)==1),this.inheritNonnullIfTrue(Ge(i,0),e));break}}}inheritNonnullIfFalse(i,e=null){switch(Q(i)){case 15:{switch(Rn(i)){case 20:case 21:{this.inheritNonnullIfTrue(ml(i),e);break}}break}case 2:{let r=Cn(i);gi(i)&&et(r)&&(this.inheritNonnullIfFalse(yl(i),e),this.inheritNonnullIfFalse(gi(i),e));break}case 16:{switch(yi(i)){case 15:case 40:{let r=He(i),n=Be(i);Fe(r)?this.inheritNonnullIfTrue(n,e):Fe(n)&&this.inheritNonnullIfTrue(r,e);break}case 16:case 41:{let r=He(i),n=Be(i);et(r)?this.inheritNonnullIfTrue(n,e):et(n)&&this.inheritNonnullIfTrue(r,e);break}}break}case 6:{let r=Bn(i);if(r==h.String_eq){assert(ot(i)==2);let n=Ge(i,0),s=Ge(i,1);Fe(n)?this.inheritNonnullIfTrue(s,e):Fe(s)&&this.inheritNonnullIfTrue(n,e)}else if(r==h.String_ne){assert(ot(i)==2);let n=Ge(i,0),s=Ge(i,1);et(n)?this.inheritNonnullIfTrue(s,e):et(s)&&this.inheritNonnullIfTrue(n,e)}else r==h.String_not?(assert(ot(i)==1),this.inheritNonnullIfTrue(Ge(i,0),e)):r==h.tostack&&(assert(ot(i)==1),this.inheritNonnullIfFalse(Ge(i,0),e));break}}}canOverflow(i,e){if(!e.isShortIntegerValue)return!1;let r;switch(Q(i)){case 8:{let n=this.targetFunction.localsByIndex[lt(i)];return!this.isLocalFlag(n.index,2,!0)||bl(n.type,e)}case 9:return assert(In(i)),this.canOverflow(gr(i),e);case 10:{let n=assert(this.program.elementsByName.get(assert(Fn(i))));return assert(n.kind==0||n.kind==3),bl(n.type,e)}case 16:{switch(yi(i)){case 15:case 40:case 57:case 70:case 16:case 41:case 58:case 71:case 17:case 18:case 42:case 43:case 59:case 72:case 19:case 20:case 44:case 45:case 60:case 73:case 21:case 22:case 46:case 47:case 61:case 74:case 23:case 24:case 48:case 49:case 62:case 75:return!1;case 2:return!(Q(r=He(i))==14&&(ee(r)==0||ee(r)==1&&!this.canOverflow(Be(i),e))||Q(r=Be(i))==14&&(ee(r)==0||ee(r)==1&&!this.canOverflow(He(i),e)));case 7:return!(Q(r=He(i))==14&&ee(r)<=e.computeSmallIntegerMask(u.i32)||!this.canOverflow(r,e)||Q(r=Be(i))==14&&ee(r)<=e.computeSmallIntegerMask(u.i32)||!this.canOverflow(r,e));case 10:{let n=32-e.size;return Q(r=Be(i))!=14||ee(r)n):this.canOverflow(He(i),e)&&!(Q(r=Be(i))==14&&ee(r)>=n)}case 4:case 5:case 6:return this.canOverflow(He(i),e)||this.canOverflow(Be(i),e)}break}case 15:{switch(Rn(i)){case 20:case 21:return!1;case 0:case 2:case 4:return e.size<7;case 47:return e.size<(e.isUnsignedIntegerValue?32:8);case 49:return e.size<(e.isUnsignedIntegerValue?64:8);case 48:return e.size<(e.isUnsignedIntegerValue?32:16);case 50:return e.size<(e.isUnsignedIntegerValue?64:16);case 51:return e.size<(e.isUnsignedIntegerValue?64:32)}break}case 14:{let n=0;switch(ie(i)){case P.I32:{n=ee(i);break}case P.I64:{n=Ee(i);break}case P.F32:{n=i32(ge(i));break}case P.F64:{n=i32(be(i));break}case P.V128:return!1;default:assert(!1)}switch(e.kind){case 0:return(n&-2)!=0;case 1:return ni8.MAX_VALUE;case 2:return ni16.MAX_VALUE;case 6:return n<0||n>u8.MAX_VALUE;case 7:return n<0||n>u16.MAX_VALUE}break}case 12:{let n,s=kp(i);switch(Rp(i)){case 1:{n=s?u.i8:u.u8;break}case 2:{n=s?u.i16:u.u16;break}default:{n=s?u.i32:u.u32;break}}return bl(n,e)}case 1:{if(!kn(i)){let n=assert(An(i)),s=wn(i,n-1);return this.canOverflow(s,e)}break}case 2:return this.canOverflow(Cn(i),e)||this.canOverflow(assert(gi(i)),e);case 17:return this.canOverflow(Ap(i),e)||this.canOverflow(wp(i),e);case 6:{let s=this.program.instancesByName,a=assert(Bn(i));if(s.has(a)){let l=assert(s.get(a));assert(l.kind==5);let o=l,p=o.signature.returnType;return!o.flow.is(2)||bl(p,e)}return!1}case 23:return!1}return!0}toString(){let i=0,e=this.parent;for(;e;)e=e.parent,++i;let r=new Array;return this.is(1)&&r.push("RETURNS"),this.is(2)&&r.push("RETURNS_WRAPPED"),this.is(4)&&r.push("RETURNS_NONNULL"),this.is(8)&&r.push("THROWS"),this.is(16)&&r.push("BREAKS"),this.is(32)&&r.push("CONTINUES"),this.is(64)&&r.push("ACCESSES_THIS"),this.is(128)&&r.push("CALLS_SUPER"),this.is(256)&&r.push("TERMINATES"),this.is(512)&&r.push("CONDITIONALLY_RETURNS"),this.is(1024)&&r.push("CONDITIONALLY_THROWS"),this.is(2048)&&r.push("CONDITIONALLY_BREAKS"),this.is(4096)&&r.push("CONDITIONALLY_CONTINUES"),this.is(8192)&&r.push("CONDITIONALLY_ACCESSES_THIS"),this.is(16384)&&r.push("MAY_RETURN_NONTHIS"),`Flow(${this.sourceFunction})[${i}] ${r.join(" ")}`}};function bl(t,i){return i.isShortIntegerValue&&(!t.isIntegerValue||t.size>i.size||t.isSignedIntegerValue!=i.isSignedIntegerValue)}var Sl=(e=>(e[e.Report=0]="Report",e[e.Swallow=1]="Swallow",e))(Sl||{}),Ln=class extends qe{constructor(e){super(e.diagnostics);this.currentThisExpression=null;this.currentElementExpression=null;this.discoveredOverride=!1;this.resolvingExpressions=new Set;this.resolveClassPending=new Set;this.program=e}resolveType(e,r,n,s=null,a=0){if(e.currentlyResolving)return this.error(100,e.range,"Recursive types"),null;e.currentlyResolving=!0;let l=null;switch(e.kind){case 1:{l=this.resolveNamedType(e,r,n,s,a);break}case 2:{l=this.resolveFunctionType(e,r,n,s,a);break}default:assert(!1)}return e.currentlyResolving=!1,l}resolveNamedType(e,r,n,s=null,a=0){let l=e.name,o=e.typeArguments,p=!l.next;if(p){let f=l.identifier.text;if(s&&s.has(f)){let d=assert(s.get(f));if(o&&o.length>0&&a==0&&this.error(2315,e.range,d.toString()),e.isNullable){if(d.isReference)return d.asNullable();a==0&&this.error(204,e.range,d.toString())}return d}}let c=this.resolveTypeName(l,r,n,a);if(!c)return null;let _=c.shadowType;if(_)c=_;else{if(c.kind==2)return o&&o.length>0&&a==0&&this.error(2315,e.range,c.internalName),e.isNullable&&a==0&&this.error(204,e.range,`${c.name}/i32`),u.i32;if(c.kind==6||c.kind==8){let f=this.resolveClassInclTypeArguments(c,o,r,n,pe(s),e,a);return f?e.isNullable?f.type.asNullable():f.type:null}}if(c.kind==14){let f=c;if(c.is(4194304)){o&&o.length>0&&a==0&&this.error(2315,e.range,c.internalName);let T=f.type;if(e.isNullable){if(T.isReference)return T.asNullable();a==0&&this.error(204,l.range,l.identifier.text)}return T}if(p){let T=l.identifier.text;if(T==B.native)return this.resolveBuiltinNativeType(e,n,s,a);if(T==B.indexof)return this.resolveBuiltinIndexofType(e,n,s,a);if(T==B.valueof)return this.resolveBuiltinValueofType(e,n,s,a);if(T==B.returnof)return this.resolveBuiltinReturnTypeType(e,n,s,a);if(T==B.nonnull)return this.resolveBuiltinNotNullableType(e,n,s,a)}let d=f.typeParameterNodes,g=null;if(d){if(g=this.resolveTypeArguments(d,o,r,n,s=pe(s),e,a),!g)return null}else o&&o.length>0&&this.error(2315,e.range,l.identifier.text);let S=this.resolveType(f.typeNode,r,c,s,a);if(!S)return null;if(e.isNullable){if(S.isReference)return S.asNullable();a==0&&this.error(204,l.range,l.identifier.text)}return S}return a==0&&this.error(2304,l.range,l.identifier.text),null}resolveFunctionType(e,r,n,s=null,a=0){let l=e.explicitThisType,o=null;if(l&&(o=this.resolveType(l,r,n,s,a),!o))return null;let p=e.parameters,c=p.length,_=new Array(c),f=0,d=!1;for(let E=0;Ec)return o==0&&this.error(2558,_?le.join(r[0].range,r[_-1].range):l.range,(_0){let p=r.classReference;if(p){let c=this.resolveTypeName(l.name,null,n);if(!c||c.kind!=6)return;if(p.prototype==c){let _=p.typeArguments;if(_&&_.length==o.length){for(let f=0,d=_.length;f1)++c;else{let g=this.resolveExpression(d,r,p);if(!g)return null;if(p==u.auto)p=g;else if(g!=p){let S=u.commonType(p,g,p);S&&(p=S)}}}if(p==u.auto)if(c==o)p=this.program.options.usizeType;else return s==0&&this.error(2453,e.range,"T"),null;return c>0&&p.isInternalReference&&(p=p.asNullable()),assert(this.resolveClass(this.program.arrayPrototype,[p]))}case 6:return n.isClass?n.classReference:(s==0&&this.error(225,e.range),null)}return assert(!1),null}resolveLiteralExpression(e,r,n=u.auto,s=0){let a=this.lookupLiteralExpression(e,r,n,s);if(!a)return null;let l=this.getTypeOfElement(a);return l||s==0&&this.error(225,e.range),l}lookupCallExpression(e,r,n=u.void,s=0){let a=this.resolveCallExpression(e,r,n,s);if(!a)return null;let l=this.getElementOfType(a);return l||s==0&&this.error(214,e.range,a.toString()),l}resolveCallExpression(e,r,n=u.void,s=0){let a=e.expression,l=this.lookupExpression(a,r,n,s);if(!l)return null;switch(l.kind){case 4:{let o=l;if(o.internalName==h.unchecked&&e.args.length>0)return this.resolveExpression(e.args[0],r,n,s);let p=this.maybeInferCall(e,o,r,s);if(!p)return null;l=p}case 5:return l.signature.returnType;case 10:{let o=this.resolveProperty(l,s);if(!o)return null;l=o}default:{if(!El(l.kind))break;let o=this.getElementOfType(l.type);if(!o||o.kind!=7)break;l=o}case 7:{let o=l.getTypeArgumentsTo(this.program.functionPrototype);if(!(o&&o.length))break;return assert(o[0].getSignature()).returnType}}return s==0&&this.error(2349,a.range,l.internalName),null}lookupCommaExpression(e,r,n=u.auto,s=0){let a=e.expressions;return this.lookupExpression(a[assert(a.length)-1],r,n,s)}resolveCommaExpression(e,r,n=u.auto,s=0){let a=e.expressions;return this.resolveExpression(a[assert(a.length)-1],r,n,s)}lookupInstanceOfExpression(e,r,n=u.auto,s=0){return assert(u.bool.getClassOrWrapper(this.program))}resolveInstanceOfExpression(e,r,n=u.auto,s=0){return u.bool}lookupTernaryExpression(e,r,n,s=0){let a=this.resolveTernaryExpression(e,r,n,s);if(!a)return null;let l=this.getElementOfType(a);return l||s==0&&this.error(214,e.range,a.toString()),l}resolveTernaryExpression(e,r,n,s=0){let a=this.resolveExpression(e.ifThen,r,n,s);if(!a)return null;let l=this.resolveExpression(e.ifElse,r,a,s);if(!l)return null;let o=u.commonType(a,l,n);return o||s==0&&this.error(2365,e.range,"?:",a.toString(),l.toString()),o}lookupNewExpression(e,r,n,s=0){let a=this.resolveTypeName(e.typeName,r,r.sourceFunction,s);return a?a.kind==6?this.resolveClassInclTypeArguments(a,e.typeArguments,r,r.sourceFunction,pe(r.contextualTypeArguments),e,s):(s==0&&this.error(2351,e.range),null):null}resolveNewExpression(e,r,n,s=0){let a=this.lookupNewExpression(e,r,n,s);if(!a)return null;let l=this.getTypeOfElement(a);return l||s==0&&this.error(225,e.range),l}lookupFunctionExpression(e,r,n,s=0){let a=this.resolveFunctionExpression(e,r,n,s);if(!a)return null;let l=this.getElementOfType(a);return l||s==0&&this.error(214,e.range,a.toString()),l}resolveFunctionExpression(e,r,n,s=0){let a=e.declaration,l=a.signature,o=a.body,p=this.resolveType(l,null,r.sourceFunction,r.contextualTypeArguments,s);if(p&&a.arrowKind!=0&&o&&o.kind==38&&Ie(l.returnType)){let c=o.expression,_=assert(p.getSignature()),f=St.createDefault(r.sourceFunction),d=l.parameters;assert(_.parameterTypes.length==d.length);for(let S=0,T=d.length;S0){assert(p&&c==p.length);for(let C=0;C`);let R=new ct(I,e,r,F,n);if(e.setResolvedInstance(l,R),a){let C=R.declaration.name.text,N=a.base;if(N){let D=N.getMember(C);if(D){this.discoveredOverride=!0;let K=!0;if(R.isAny(6144)){if(D.kind==10){let V=this.resolveProperty(D,s);if(V)if(R.is(2048)){let O=V.getterInstance;O&&R.signature.isAssignableTo(O.signature,!0)&&(K=!1)}else{assert(R.is(4096));let O=V.setterInstance;O&&R.signature.isAssignableTo(O.signature,!0)&&(K=!1)}}}else if(R.is(524288))K=!1;else if(D.kind==4){let V=D,O=this.resolveFunction(V,r,new Map,1);O&&R.signature.isAssignableTo(O.signature,!0)&&(K=!1)}K&&this.errorRelated(2394,R.identifierAndSignatureRange,D.identifierAndSignatureRange)}}}return R}resolveFunctionInclTypeArguments(e,r,n,s,a,l=0){let o=null;if(e.is(65536)){if(e.is(262144)){let p=assert(e.getBoundClassOrInterface()),c=p.typeArguments;if(c){let _=assert(p.prototype.typeParameterNodes),f=c.length;assert(f==_.length);for(let d=0;d0)return l==0&&this.error(2315,a.range,e.internalName),null;return this.resolveFunction(e,o,s,l)}resolveOverrides(e){let r=e.prototype.unboundOverrides;if(!r)return null;let n=assert(e.getBoundClassOrInterface()),s=new Set;for(let a=Set_values(r),l=0,o=a.length;l`),e.kind==8?l=new zn(o,e,r):l=new Kt(o,e,r),e.setResolvedInstance(a,l);let p=this.resolveClassPending;if(p.add(l),r){let d=assert(e.typeParameterNodes),g=d.length,S=r.length;assert(S==g);for(let T=0;T0))}l.contextualTypeArguments=n;let c=!1,_=e.basePrototype;if(_){let d=_;do{if(d==e)return this.error(2506,e.identifierNode.range,e.internalName),null;d=d.basePrototype}while(d);let g=assert(e.extendsNode),S=this.resolveClassInclTypeArguments(_,g.typeArguments,null,e.parent,pe(n),g,s);if(!S)return null;l.setBase(S),p.has(S)&&(c=!0)}else e.implicitlyExtendsObject&&l.setBase(this.program.objectInstance);let f=e.interfacePrototypes;if(f)for(let d=0,g=f.length;d0)for(let d=Map_keys(a),g=0,S=d.length;g0)return o==0&&this.error(2315,l.range,e.internalName),null;return this.resolveClass(e,p,a,o)}resolveProperty(e,r=0){let n=e.instance;if(n)return n;e.instance=n=new Mn(e,e.parent);let s=e.getterPrototype;if(s){let l=this.resolveFunction(s,null,new Map,r);l&&(n.getterInstance=l,n.setType(l.signature.returnType))}let a=e.setterPrototype;if(a){let l=this.resolveFunction(a,null,new Map,r);l&&(n.setterInstance=l,n.is(4194304)||(assert(l.signature.parameterTypes.length==1),n.setType(l.signature.parameterTypes[0])))}return n.checkVisibility(this),n}ensureOneTypeArgument(e,r=0){let n=e.typeArguments,s=0;return!n||(s=n.length)!=1?(r==0&&this.error(2558,e.range,"1",s.toString()),null):n[0]}};var Un=class{constructor(i,e){this.source=i;this.reportNode=e}},Vn=class extends qe{constructor(e=null,r=[]){super(e);this.backlog=new Array;this.seenlog=new Set;this.donelog=new Set;this.onComment=null;this.currentSource=null;this.dependees=new Map;this.currentModuleName=null;this.tryParseSignatureIsSignature=!1;this.parseParametersThis=null;this.sources=r}parseFile(e,r,n){let s=fr(r),a=bn(s);if(this.donelog.has(a))return;if(this.donelog.add(a),this.seenlog.add(a),e==null){let c=this.dependees,_=null;c.has(a)&&(_=assert(c.get(a))),this.error(6054,_?_.reportNode.range:null,r);return}let l=new fe(n?1:r.startsWith(nt)?r.indexOf(Ye,nt.length)<0?3:2:0,s,e);this.sources.push(l),this.currentSource=l,this.currentModuleName=null;let o=new xn(l,this.diagnostics);o.onComment=this.onComment;let p=l.statements;for(;!o.skip(121);){let c=this.parseTopLevelStatement(o,null);c?p.push(c):this.skipStatement(o)}}parseTopLevelStatement(e,r=null){let n=r?r.flags&32768:0,s=-1,a=null;for(;e.skip(114);){s<0&&(s=e.tokenPos);let T=this.parseDecorator(e);if(!T){this.skipStatement(e);continue}a?a.push(T):a=[T]}let l=0,o=0,p=0,c=0;e.skip(18)&&(s<0&&(s=e.tokenPos),n|=2,l=e.tokenPos,o=e.pos,e.skip(13)&&(p=e.tokenPos,c=e.pos));let _=0,f=0,d=r!=null&&r.is(32768);e.skip(12)?d?this.error(1038,e.range()):(s<0&&(s=e.tokenPos),_=s,f=e.pos,n|=32772):d&&(n|=32768);let g=null,S=e.peek();switch(s<0&&(s=e.nextTokenPos),S){case 8:{e.next(),n|=8,e.skip(17)?g=this.parseEnum(e,n,a,s):g=this.parseVariable(e,n,a,s),a=null;break}case 34:n|=16;case 57:{e.next(),g=this.parseVariable(e,n,a,s),a=null;break}case 17:{e.next(),g=this.parseEnum(e,n,a,s),a=null;break}case 24:{e.next(),g=this.parseFunction(e,n,a,s),a=null;break}case 0:{let T=e.mark();e.next();let E=e.tokenPos,F=e.pos;if(e.peekOnNewLine()){e.reset(T),g=this.parseStatement(e,!0);break}let I=e.peek();if(I!=7){I==31&&this.error(1242,e.range(E,F)),e.reset(T),g=this.parseStatement(e,!0);break}else e.discard(T);n|=128}case 7:case 31:{e.next(),g=this.parseClassOrInterface(e,n,a,s),a=null;break}case 36:{let T=e.mark();e.next(),e.peek(1)==115?(e.discard(T),g=this.parseNamespace(e,n,a,s),a=null):(e.reset(T),g=this.parseStatement(e,!0));break}case 28:{e.next(),n|=1,n&2?g=this.parseExportImport(e,s):g=this.parseImport(e);break}case 55:{let T=e.mark();e.next(),e.peek(1)==115?(e.discard(T),g=this.parseTypeDeclaration(e,n,a,s),a=null):(e.reset(T),g=this.parseStatement(e,!0));break}case 35:{let T=e.mark();e.next(),e.peek()==116&&!e.peekOnNewLine()?(e.discard(T),g=this.parseModuleDeclaration(e,n)):(e.reset(T),g=this.parseStatement(e,!0));break}default:{n&2?c&&e.skipIdentifier(1)?(f&&this.error(1120,e.range(_,f)),g=this.parseExportDefaultAlias(e,s,p,c),p=c=0):g=this.parseExport(e,s,(n&4)!=0):(o&&this.error(1042,e.range(l,o),"export"),f&&this.error(1042,e.range(_,f),"declare"),r?this.error(2695,e.range(s)):g=this.parseStatement(e,!0));break}}if(a)for(let T=0,E=a.length;T"),null}p||(p=[]),l=L.createNamedType(o,p,!1,e.range(a,e.pos))}else return n||this.error(1110,e.range()),null;for(;e.skip(93);){let o=this.parseType(e,!1,!0);if(!o)return null;let p=l.kind==1&&l.isNull,c=o.kind==1&&o.isNull;if(!p&&!c)return n||this.error(100,o.range,"union types"),null;c?(l.isNullable=!0,l.range.end=o.range.end):p?(o.range.start=l.range.start,o.isNullable=!0,l=o):l.range.end=o.range.end}for(;e.skip(66);){let o=e.tokenPos;if(!e.skip(67))return n||this.error(1005,e.range(),"]"),null;let p=e.range(o,e.pos),c=!1;if(e.skip(93))if(e.skip(38))c=!0;else return n||this.error(100,e.range(),"union types"),null;if(l=L.createNamedType(L.createSimpleTypeName("Array",p),[l],c,e.range(a,e.pos)),c)break}return l}tryParseFunctionType(e){let r=e.mark(),n=e.tokenPos,s=null,a=null,l=!1,o=null,p=0;if(e.skip(65))l=!0,e.discard(r),s=[];else{l=!1;do{let _=-1,f=0;if(e.skip(69)&&(_=e.tokenPos,l=!0,e.discard(r),f=2),e.skip(51))if(_<0&&(_=e.tokenPos),e.skip(100)){l=!0,e.discard(r);let d=this.parseType(e,!1);if(!d)return null;if(d.kind!=1)return this.error(1003,d.range),this.tryParseSignatureIsSignature=!0,null;a=d}else return e.reset(r),this.tryParseSignatureIsSignature=!1,null;else if(e.skipIdentifier()){_<0&&(_=e.tokenPos);let d=L.createIdentifierExpression(e.readIdentifier(),e.range(e.tokenPos,e.pos));if(e.skip(99)&&(l=!0,e.discard(r),f==2?this.error(1047,e.range()):f=1),e.skip(100)){l=!0,e.discard(r);let g=this.parseType(e);if(!g)return this.tryParseSignatureIsSignature=l,null;let S=L.createParameter(f,d,g,null,e.range(_,e.pos));s?s.push(S):s=[S]}else if(l||e.peek()==71&&(l=!0,e.discard(r)),l){let g=L.createParameter(f,d,L.createOmittedType(e.range(e.pos)),null,e.range(_,e.pos));s?s.push(g):s=[g],this.error(1110,g.type.range)}else s||(o=d,p=f)}else{if(l){if(e.peek()==65)break;this.error(1003,e.range())}else e.reset(r);return this.tryParseSignatureIsSignature=l,null}}while(e.skip(71));if(!e.skip(65))return l?this.error(1005,e.range(),")"):e.reset(r),this.tryParseSignatureIsSignature=l,null}let c;if(e.skip(80)){if(!l&&(l=!0,e.discard(r),o)){let _=L.createParameter(p,o,L.createOmittedType(o.range.atEnd),null,o.range);s?s.push(_):s=[_],this.error(1110,_.type.range)}if(c=this.parseType(e),!c)return this.tryParseSignatureIsSignature=l,null}else return l?this.error(1005,e.range(),"=>"):e.reset(r),this.tryParseSignatureIsSignature=l,null;return this.tryParseSignatureIsSignature=!0,s||(s=[]),L.createFunctionType(s,c,a,!1,e.range(n,e.pos))}parseDecorator(e){let r=e.tokenPos;if(e.skipIdentifier()){let n=e.readIdentifier(),s=L.createIdentifierExpression(n,e.range(r,e.pos));for(;e.skip(68);)if(e.skipIdentifier(1))n=e.readIdentifier(),s=L.createPropertyAccessExpression(s,L.createIdentifierExpression(n,e.range()),e.range(r,e.pos));else return this.error(1003,e.range()),null;let a;if(e.skip(64)){if(a=this.parseArguments(e),a)return L.createDecorator(s,a,e.range(r,e.pos))}else return L.createDecorator(s,null,e.range(r,e.pos))}else this.error(1003,e.range());return null}parseVariable(e,r,n,s,a=!1){let l=new Array;do{let p=this.parseVariableDeclaration(e,r,n,a);if(!p)return null;p.overriddenModuleName=this.currentModuleName,l.push(p)}while(e.skip(71));let o=L.createVariableStatement(n,l,e.range(s,e.pos));return!e.skip(70)&&!a&&this.checkASI(e),o}parseVariableDeclaration(e,r,n,s=!1){if(!e.skipIdentifier())return this.error(1003,e.range()),null;let a=L.createIdentifierExpression(e.readIdentifier(),e.range());fp(a.text)&&this.error(1003,a.range);let l=r;e.skip(95)&&(l|=16384);let o=null;e.skip(100)&&(o=this.parseType(e,!0));let p=null;if(e.skip(101)){if(l&32768&&this.error(1039,e.range()),p=this.parseExpression(e,1+1),!p)return null;l&16384&&this.error(1263,p.range)}else s||(l&8?l&32768||this.error(1155,a.range):o||this.error(1110,e.range(e.pos)));let c=le.join(a.range,e.range());return l&16384&&l&32768&&this.error(1255,c),L.createVariableDeclaration(a,n,l,o,p,c)}parseEnum(e,r,n,s){if(e.next()!=115)return this.error(1003,e.range()),null;let a=L.createIdentifierExpression(e.readIdentifier(),e.range());if(e.next()!=62)return this.error(1005,e.range(),"{"),null;let l=new Array;for(;!e.skip(63);){let p=this.parseEnumValue(e,0);if(!p)return null;if(l.push(p),!e.skip(71)){if(e.skip(63))break;return this.error(1005,e.range(),"}"),null}}let o=L.createEnumDeclaration(a,n,r,l,e.range(s,e.pos));return o.overriddenModuleName=this.currentModuleName,e.skip(70),o}parseEnumValue(e,r){if(!e.skipIdentifier())return this.error(1003,e.range()),null;let n=L.createIdentifierExpression(e.readIdentifier(),e.range()),s=null;return e.skip(101)&&(s=this.parseExpression(e,1+1),!s)?null:L.createEnumValueDeclaration(n,r,s,le.join(n.range,e.range()))}parseReturn(e){let r=e.tokenPos,n=null,s=e.peek();if(s!=70&&s!=63&&!e.peekOnNewLine()&&!(n=this.parseExpression(e)))return null;let a=L.createReturnStatement(n,e.range(r,e.pos));return e.skip(70)||this.checkASI(e),a}parseTypeParameters(e){let r=new Array,n=!1,s=e.tokenPos;for(;!e.skip(73);){let a=this.parseTypeParameter(e);if(!a)return null;if(a.defaultType?n=!0:n&&(this.error(2706,a.range),a.defaultType=null),r.push(a),!e.skip(71)){if(e.skip(73))break;return this.error(1005,e.range(),">"),null}}return r.length||this.error(1098,e.range(s,e.pos)),r}parseTypeParameter(e){if(e.next()==115){let r=L.createIdentifierExpression(e.readIdentifier(),e.range()),n=null;if(e.skip(19)){let a=this.parseType(e);if(!a)return null;if(a.kind!=1)return this.error(1003,a.range),null;n=a}let s=null;if(e.skip(101)){let a=this.parseType(e);if(!a)return null;if(a.kind!=1)return this.error(1003,a.range),null;s=a}return L.createTypeParameter(r,n,s,le.join(r.range,e.range()))}else this.error(1003,e.range());return null}parseParameters(e,r=!1){let n=new Array,s=null,a=!1,l=!1,o=null;if(this.parseParametersThis=null,e.skip(51)){if(e.skip(100)){if(o=this.parseType(e),!o)return null;o.kind==1?this.parseParametersThis=o:this.error(1003,o.range)}else return this.error(1005,e.range(),":"),null;if(!e.skip(71))return e.skip(65)?n:(this.error(1005,e.range(),")"),null)}for(;!e.skip(65);){let p=this.parseParameter(e,r);if(!p)return null;switch(s&&!l&&(this.error(1014,s.name.range),l=!0),p.parameterKind){default:{a&&this.error(1016,p.name.range);break}case 1:{a=!0;break}case 2:{s=p;break}}if(n.push(p),!e.skip(71)){if(e.skip(65))break;return this.error(1005,e.range(),")"),null}}return n}parseParameter(e,r=!1){let n=!1,s=!1,a=null,l=0;if(r&&(e.skip(44)?(a=e.range(),l|=256):e.skip(43)?(a=e.range(),l|=1024):e.skip(42)&&(a=e.range(),l|=512),e.peek()==45)){let o=e.mark();e.next(),e.peek()!=100?(e.discard(o),a||(a=e.range()),l|=64):e.reset(o)}if(e.skip(69)&&(l?this.error(1317,e.range()):a=e.range(),n=!0),e.skipIdentifier()){n||(a=e.range());let o=L.createIdentifierExpression(e.readIdentifier(),e.range()),p=null;if((s=e.skip(99))&&n&&this.error(1047,o.range),e.skip(100)){if(p=this.parseType(e),!p)return null}else p=L.createOmittedType(e.range(e.pos));let c=null;if(e.skip(101)&&(n&&this.error(1048,o.range),s?this.error(1015,o.range):s=!0,c=this.parseExpression(e,1+1),!c))return null;let _=L.createParameter(n?2:s?1:0,o,p,c,le.join(assert(a),e.range()));return _.flags|=l,_}else this.error(1003,e.range());return null}parseFunction(e,r,n,s){if(!e.skipIdentifier())return this.error(1003,e.range(e.pos)),null;let a=L.createIdentifierExpression(e.readIdentifier(),e.range()),l=-1,o=null;if(e.skip(72)){if(l=e.tokenPos,o=this.parseTypeParameters(e),!o)return null;r|=65536}if(!e.skip(64))return this.error(1005,e.range(e.pos),"("),null;l<0&&(l=e.tokenPos);let p=this.parseParameters(e);if(!p)return null;let c=this.parseParametersThis,_=(r&4096)!=0;_&&(p.length!=1&&this.error(1049,a.range),p.length>0&&p[0].initializer&&this.error(1052,a.range)),r&2048&&p.length&&this.error(1054,a.range);let f=null;if(e.skip(100)&&(f=this.parseType(e,!0,_),!f))return null;f||(f=L.createOmittedType(e.range(e.pos)),_||this.error(1110,f.range));let d=L.createFunctionType(p,f,c,!1,e.range(l,e.pos)),g=null;if(e.skip(62)){if(r&32768&&this.error(1183,e.range()),g=this.parseBlockStatement(e,!1),!g)return null}else r&32768||this.error(2391,e.range(e.pos));let S=L.createFunctionDeclaration(a,n,r,o,d,g,0,e.range(s,e.pos));return S.overriddenModuleName=this.currentModuleName,e.skip(70),S}parseFunctionExpression(e){let r=e.tokenPos,n,s=0;if(e.token==24){if(e.skipIdentifier()?n=L.createIdentifierExpression(e.readIdentifier(),e.range()):n=L.createEmptyIdentifierExpression(e.range(e.pos)),!e.skip(64))return this.error(1005,e.range(e.pos),"("),null}else s=1,assert(e.token==64),n=L.createEmptyIdentifierExpression(e.range(e.tokenPos));let a=e.pos,l=this.parseParameters(e);return l?this.parseFunctionExpressionCommon(e,n,l,this.parseParametersThis,s,r,a):null}parseFunctionExpressionCommon(e,r,n,s,a,l=-1,o=-1){l<0&&(l=r.range.start),o<0&&(o=l);let p=null;if(a!=2&&e.skip(100)){if(p=this.parseType(e),!p)return null}else p=L.createOmittedType(e.range(e.pos));if(a&&!e.skip(80))return this.error(1005,e.range(e.pos),"=>"),null;let c=L.createFunctionType(n,p,s,!1,e.range(o,e.pos)),_=null;if(a)if(e.skip(62))_=this.parseBlockStatement(e,!1);else{let d=this.parseExpression(e,2);d&&(_=L.createExpressionStatement(d))}else{if(!e.skip(62))return this.error(1005,e.range(e.pos),"{"),null;_=this.parseBlockStatement(e,!1)}if(!_)return null;let f=L.createFunctionDeclaration(r,null,0,null,c,_,a,e.range(l,e.pos));return L.createFunctionExpression(f)}parseClassOrInterface(e,r,n,s){let a=e.token==31;if(!e.skipIdentifier())return this.error(1003,e.range()),null;let l=L.createIdentifierExpression(e.readIdentifier(),e.range()),o=null;if(e.skip(72)){if(o=this.parseTypeParameters(e),!o)return null;r|=65536}let p=null;if(e.skip(19)){let d=this.parseType(e);if(!d)return null;if(d.kind!=1)return this.error(1003,d.range),null;p=d}let c=null;if(e.skip(27)){a&&this.error(1176,e.range());do{let d=this.parseType(e);if(!d)return null;if(d.kind!=1)return this.error(1003,d.range),null;a||(c||(c=[]),c.push(d))}while(e.skip(71))}if(!e.skip(62))return this.error(1005,e.range(),"{"),null;let _=new Array,f;if(a?(assert(!c),f=L.createInterfaceDeclaration(l,n,r,o,p,null,_,e.range(s,e.pos))):f=L.createClassDeclaration(l,n,r,o,p,c,_,e.range(s,e.pos)),!e.skip(63))do{let d=this.parseClassMember(e,f);if(d)d.kind==65?f.indexSignature=d:(assert(d instanceof We),_.push(d));else if(this.skipStatement(e),e.skip(121))return this.error(1005,e.range(),"}"),null}while(!e.skip(63));return f.range.end=e.pos,f.overriddenModuleName=this.currentModuleName,f}parseClassExpression(e){let r=e.tokenPos,n;if(e.skipIdentifier()?n=L.createIdentifierExpression(e.readIdentifier(),e.range()):n=L.createEmptyIdentifierExpression(e.range(e.pos)),!e.skip(62))return this.error(1005,e.range(e.pos),"{"),null;let s=new Array,a=L.createClassDeclaration(n,null,0,null,null,null,s,e.range(r,e.pos));if(!e.skip(63))do{let l=this.parseClassMember(e,a);if(l)l.kind==65?a.indexSignature=l:(assert(a instanceof We),s.push(l));else if(this.skipStatement(e),e.skip(121))return this.error(1005,e.range(),"}"),null}while(!e.skip(63));return a.range.end=e.pos,L.createClassExpression(a)}parseClassMember(e,r){let n=r.kind==57,s=0,a=null;if(e.skip(114)){s=e.tokenPos;do{let se=this.parseDecorator(e);if(!se)break;a||(a=new Array),a.push(se)}while(e.skip(114));n&&a&&this.error(1206,le.join(a[0].range,a[a.length-1].range))}let l=r.flags&32768;n&&(l|=268435456);let o=0,p=0,c=r.is(32768);e.skip(12)?(n?this.error(1042,e.range(),"declare"):c?this.error(1038,e.range()):(l|=32772,o=e.tokenPos,p=e.pos),s||(s=e.tokenPos)):c&&(l|=32768);let _=0,f=0;e.skip(44)?(n?this.error(1042,e.range(),"public"):(l|=256,_=e.tokenPos,f=e.pos),s||(s=e.tokenPos)):e.skip(42)?(n?this.error(1042,e.range(),"private"):(l|=512,_=e.tokenPos,f=e.pos),s||(s=e.tokenPos)):e.skip(43)&&(n?this.error(1042,e.range(),"protected"):(l|=1024,_=e.tokenPos,f=e.pos),s||(s=e.tokenPos));let d=0,g=0,S=0,T=0;e.skip(48)?(n?this.error(1042,e.range(),"static"):(l|=32,d=e.tokenPos,g=e.pos),s||(s=e.tokenPos)):(l|=262144,e.skip(0)&&(n||!r.is(128)?this.error(1042,e.range(),"abstract"):(l|=128,S=e.tokenPos,T=e.pos),s||(s=e.tokenPos)),r.flags&65536&&(l|=131072));let E=0,F=0;e.skip(40)&&(n||r.extendsType==null?this.error(1042,e.range(),"override"):(l|=8192,E=e.tokenPos,F=e.pos),s||(s=e.tokenPos));let I=0,R=0;if(e.peek()==45){let se=e.mark();e.next(),e.peek()!=100?(e.discard(se),l|=64,I=e.tokenPos,R=e.pos,s||(s=I)):e.reset(se)}let C=e.mark(),N=!1,D=!1,K=0,V=0,O=!1,X=0,te=0;n||(e.skip(25)?e.peek(1)==115&&!e.peekOnNewLine()?(l|=2048,D=!0,K=e.tokenPos,V=e.pos,s||(s=K),l&64&&this.error(1042,e.range(I,R),"readonly")):e.reset(C):e.skip(47)?e.peek(1)==115&&!e.peekOnNewLine()?(l|=4096,O=!0,X=e.tokenPos,te=e.pos,s||(s=X),l&64&&this.error(1042,e.range(I,R),"readonly")):e.reset(C):e.skip(10)&&(l|=524288,N=!0,s||(s=e.tokenPos),l&32&&this.error(1042,e.range(d,g),"static"),l&128&&this.error(1042,e.range(S,T),"abstract"),l&64&&this.error(1042,e.range(I,R),"readonly")));let Y=D||O,re;if(N)re=L.createConstructorExpression(e.range());else{if(!Y&&e.skip(66)){s||(s=e.tokenPos),l&256?this.error(1042,e.range(_,f),"public"):l&1024?this.error(1042,e.range(_,f),"protected"):l&512&&this.error(1042,e.range(_,f),"private"),l&32&&this.error(1042,e.range(d,g),"static"),l&8192&&this.error(1042,e.range(E,F),"override"),l&128&&this.error(1042,e.range(S,T),"abstract");let se=this.parseIndexSignature(e,l,a);return se?(e.skip(70),se):(l&64&&this.error(1042,e.range(I,R),"readonly"),null)}if(!e.skipIdentifier(2))return this.error(1003,e.range()),null;s||(s=e.tokenPos),re=L.createIdentifierExpression(e.readIdentifier(),e.range())}let W=null;if(e.skip(72)){let se=e.tokenPos;if(W=this.parseTypeParameters(e),!W)return null;N?this.error(1092,e.range(se,e.pos)):Y?this.error(1094,e.range(se,e.pos)):l|=65536}if(e.skip(64)){l&4&&this.error(1031,e.range(o,p),"declare");let se=e.tokenPos,H=this.parseParameters(e,N);if(!H)return null;let Se=this.parseParametersThis;if(N)for(let Vr=0,zl=H.length;Vr0&&H[0].initializer&&this.error(1052,re.range)):re.text=="constructor"&&this.error(230,re.range,"constructor");let Ae=null;if(e.skip(100)){if(re.kind==26?this.error(1093,e.range()):O&&this.error(1095,e.range()),Ae=this.parseType(e,O||re.kind==26),!Ae)return null}else Ae=L.createOmittedType(e.range(e.pos)),!O&&re.kind!=26&&this.error(1110,Ae.range);let Li=L.createFunctionType(H,Ae,Se,!1,e.range(se,e.pos)),Mi=null;if(e.skip(62)){if(l&32768?this.error(1183,e.range()):l&128?this.error(1245,e.range(),re.text):n&&this.error(1005,e.range(),";"),Mi=this.parseBlockStatement(e,!1),!Mi)return null}else!n&&!(l&32896)&&this.error(2391,e.range());let Gl=L.createMethodDeclaration(re,a,l,W,Li,Mi,e.range(s,e.pos));return n&&e.skip(71)||e.skip(70),Gl}else if(N)this.error(2390,re.range);else if(Y)this.error(2391,re.range);else{l&4&&this.error(100,e.range(o,p),"Ambient fields"),l&128&&this.error(1042,e.range(S,T),"abstract"),l&2048&&this.error(1042,e.range(K,V),"get"),l&4096&&this.error(1042,e.range(X,te),"set");let se=null;if(e.skip(99)&&this.error(219,e.range(s,e.pos)),e.skip(95)&&(l|=16384),e.skip(100)){if(se=this.parseType(e),!se)return null}else this.error(1110,e.range());let H=null;if(e.skip(101)){if(l&32768&&this.error(1039,e.range()),H=this.parseExpression(e),!H)return null;l&16384&&this.error(1263,re.range)}let Se=e.range(s,e.pos);l&16384&&(n||l&32768)&&this.error(1255,Se);let Ae=L.createFieldDeclaration(re,a,l,se,H,Se);return n&&e.skip(71)||e.skip(70),Ae}return null}parseIndexSignature(e,r,n){n&&n.length>0&&this.error(1206,le.join(n[0].range,n[n.length-1].range));let s=e.tokenPos;if(e.skipIdentifier())if(e.readIdentifier()=="key")if(e.skip(100)){let l=this.parseType(e);if(!l)return null;if(l.kind!=1)return this.error(1110,e.range()),null;if(e.skip(67))if(e.skip(100)){let o=this.parseType(e);return o?o.kind!=1?(this.error(1003,o.range),null):L.createIndexSignature(l,o,r,e.range(s,e.pos)):null}else this.error(1005,e.range(),":");else this.error(1005,e.range(),"]")}else this.error(1005,e.range(),":");else this.error(1005,e.range(),"key");else this.error(1003,e.range());return null}parseNamespace(e,r,n,s){if(e.skipIdentifier()){let a=L.createIdentifierExpression(e.readIdentifier(),e.range());if(e.skip(62)){let l=new Array,o=L.createNamespaceDeclaration(a,n,r,l,e.range(s,e.pos));for(;!e.skip(63);){let p=this.parseTopLevelStatement(e,o);if(p){if(p.kind==35)return this.error(1319,p.range),null;l.push(p)}else if(this.skipStatement(e),e.skip(121))return this.error(1005,e.range(),"}"),null}return o.range.end=e.pos,o.overriddenModuleName=this.currentModuleName,e.skip(70),o}else this.error(1005,e.range(),"{")}else this.error(1003,e.range());return null}parseExport(e,r,n){let s=null,a=assert(this.currentSource);if(e.skip(62)){let l=new Array;for(;!e.skip(63);){let p=this.parseExportMember(e);if(!p)return null;if(l.push(p),!e.skip(71)){if(e.skip(63))break;return this.error(1005,e.range(),"}"),null}}if(e.skip(23))if(e.skip(116))s=L.createStringLiteralExpression(e.readString(),e.range());else return this.error(1141,e.range()),null;let o=L.createExportStatement(l,s,n,e.range(r,e.pos));if(s){let p=assert(o.internalPath);this.seenlog.has(p)||(this.dependees.set(p,new Un(a,s)),this.backlog.push(p),this.seenlog.add(p))}return e.skip(70),o}else if(e.skip(84))if(e.skip(23))if(e.skip(116)){s=L.createStringLiteralExpression(e.readString(),e.range());let l=L.createExportStatement(null,s,n,e.range(r,e.pos)),o=assert(l.internalPath),p=e.source,c=p.exportPaths;return c?c.includes(o)||c.push(o):p.exportPaths=[o],this.seenlog.has(o)||(this.dependees.set(o,new Un(a,s)),this.backlog.push(o)),e.skip(70),l}else this.error(1141,e.range());else this.error(1005,e.range(),"from");else this.error(1005,e.range(),"{");return null}parseExportMember(e){if(e.skipIdentifier(2)){let r=L.createIdentifierExpression(e.readIdentifier(),e.range()),n=null;if(e.skip(1))if(e.skipIdentifier(2))n=L.createIdentifierExpression(e.readIdentifier(),e.range());else return this.error(1003,e.range()),null;return n?L.createExportMember(r,n,le.join(r.range,n.range)):L.createExportMember(r,null,r.range)}else this.error(1003,e.range());return null}parseExportDefaultAlias(e,r,n,s){let a=e.readIdentifier(),l=e.range(),o=L.createExportStatement([L.createExportMember(L.createIdentifierExpression(a,l),L.createIdentifierExpression("default",e.range(n,s)),l)],null,!1,e.range(r,e.pos));return e.skip(70),o}parseImport(e){let r=e.tokenPos,n=null,s=null,a=!1;if(e.skip(62))for(n=new Array;!e.skip(63);){let l=this.parseImportDeclaration(e);if(!l)return null;if(n.push(l),!e.skip(71)){if(e.skip(63))break;return this.error(1005,e.range(),"}"),null}}else if(e.skip(84))if(e.skip(1))if(e.skipIdentifier())s=L.createIdentifierExpression(e.readIdentifier(),e.range());else return this.error(1003,e.range()),null;else return this.error(1005,e.range(),"as"),null;else if(e.skip(115,1)){let l=e.readIdentifier(),o=e.range();if(n=[L.createImportDeclaration(L.createIdentifierExpression("default",o),L.createIdentifierExpression(l,o),o)],e.skip(71))return this.error(100,e.range(),"Mixed default and named imports"),null}else a=!0;if(a||e.skip(23))if(e.skip(116)){let l=L.createStringLiteralExpression(e.readString(),e.range()),o;s?(assert(!n),o=L.createWildcardImportStatement(s,l,e.range(r,e.pos))):o=L.createImportStatement(n,l,e.range(r,e.pos));let p=o.internalPath;return this.seenlog.has(p)||(this.dependees.set(p,new Un(assert(this.currentSource),l)),this.backlog.push(p)),e.skip(70),o}else this.error(1141,e.range());else this.error(1005,e.range(),"from");return null}parseImportDeclaration(e){if(e.skipIdentifier(2)){let r=L.createIdentifierExpression(e.readIdentifier(),e.range()),n=null;if(e.skip(1))if(e.skipIdentifier())n=L.createIdentifierExpression(e.readIdentifier(),e.range());else return this.error(1003,e.range()),null;return n?L.createImportDeclaration(r,n,le.join(r.range,n.range)):L.createImportDeclaration(r,null,r.range)}else this.error(1003,e.range());return null}parseExportImport(e,r){if(e.skipIdentifier()){let n=L.createIdentifierExpression(e.readIdentifier(),e.range());if(e.skip(101))if(e.skipIdentifier()){let s=L.createIdentifierExpression(e.readIdentifier(),e.range()),a=L.createExportImportStatement(s,n,e.range(r,e.pos));return e.skip(70),a}else this.error(1003,e.range());else this.error(1005,e.range(),"=")}else this.error(1003,e.range());return null}parseStatement(e,r=!1){let n=e.mark(),s=e.next(),a=null;switch(s){case 4:{a=this.parseBreak(e);break}case 8:{a=this.parseVariable(e,8,null,e.tokenPos);break}case 9:{a=this.parseContinue(e);break}case 15:{a=this.parseDoStatement(e);break}case 22:{a=this.parseForStatement(e);break}case 26:{a=this.parseIfStatement(e);break}case 34:{a=this.parseVariable(e,16,null,e.tokenPos);break}case 57:{a=this.parseVariable(e,0,null,e.tokenPos);break}case 62:{a=this.parseBlockStatement(e,r);break}case 46:{r&&this.error(1108,e.range()),a=this.parseReturn(e);break}case 70:return L.createEmptyStatement(e.range(e.tokenPos));case 50:{a=this.parseSwitchStatement(e);break}case 52:{a=this.parseThrowStatement(e);break}case 54:{a=this.parseTryStatement(e);break}case 58:{a=this.parseVoidStatement(e);break}case 59:{a=this.parseWhileStatement(e);break}case 55:if(e.peek(1)==115){a=this.parseTypeDeclaration(e,0,null,e.tokenPos);break}default:{e.reset(n),a=this.parseExpressionStatement(e);break}}return a?e.discard(n):(e.reset(n),this.skipStatement(e)),a}parseBlockStatement(e,r){let n=e.tokenPos,s=new Array;for(;!e.skip(63);){let l=e.mark(),o=this.parseStatement(e,r);if(o)e.discard(l),s.push(o);else{if(e.token==121)return null;e.reset(l),this.skipStatement(e)}}let a=L.createBlockStatement(s,e.range(n,e.pos));return r&&e.skip(70),a}parseBreak(e){let r=null;e.peek()==115&&!e.peekOnNewLine()&&(e.next(1),r=L.createIdentifierExpression(e.readIdentifier(),e.range()));let n=L.createBreakStatement(r,e.range());return e.skip(70),n}parseContinue(e){let r=null;e.peek()==115&&!e.peekOnNewLine()&&(e.next(1),r=L.createIdentifierExpression(e.readIdentifier(),e.range()));let n=L.createContinueStatement(r,e.range());return e.skip(70),n}parseDoStatement(e){let r=e.tokenPos,n=this.parseStatement(e);if(!n)return null;if(e.skip(59))if(e.skip(64)){let s=this.parseExpression(e);if(!s)return null;if(e.skip(65)){let a=L.createDoStatement(n,s,e.range(r,e.pos));return e.skip(70),a}else this.error(1005,e.range(),")")}else this.error(1005,e.range(),"(");else this.error(1005,e.range(),"while");return null}parseExpressionStatement(e){let r=this.parseExpression(e);if(!r)return null;let n=L.createExpressionStatement(r);return e.skip(70),n}parseForStatement(e){let r=e.tokenPos;if(e.skip(64)){let n=null;if(e.skip(8))n=this.parseVariable(e,8,null,e.tokenPos,!0);else if(e.skip(34))n=this.parseVariable(e,16,null,e.tokenPos,!0);else if(e.skip(57))n=this.parseVariable(e,0,null,e.tokenPos,!0);else if(!e.skip(70)&&(n=this.parseExpressionStatement(e),!n))return null;if(n){if(e.skip(39)){if(n.kind==38)return n.expression.kind!=6?(this.error(1003,n.range),null):this.parseForOfStatement(e,r,n);if(n.kind==47){let s=n.declarations;for(let a=0,l=s.length;a"),null;let a=this.parseExpression(e,19);return a?L.createAssertionExpression(0,a,s,e.range(n,e.pos)):null}case 115:{let s=e.readIdentifier();if(s=="null")return L.createNullExpression(e.range());let a=L.createIdentifierExpression(s,e.range(n,e.pos));return e.skip(119)?this.parseTemplateLiteral(e,a):e.peek()==80&&!e.peekOnNewLine()?this.parseFunctionExpressionCommon(e,L.createEmptyIdentifierExpression(e.range(n)),[L.createParameter(0,a,L.createOmittedType(a.range.atEnd),null,a.range)],null,2,n):this.maybeParseCallExpression(e,a,!0)}case 49:{e.peek()!=68&&e.nextToken!=64&&this.error(1034,e.range());let s=L.createSuperExpression(e.range(n,e.pos));return this.maybeParseCallExpression(e,s)}case 116:return L.createStringLiteralExpression(e.readString(),e.range(n,e.pos));case 119:return this.parseTemplateLiteral(e);case 117:{let s=e.readInteger();return e.checkForIdentifierStartAfterNumericLiteral(),L.createIntegerLiteralExpression(s,e.range(n,e.pos))}case 118:{let s=e.readFloat();return e.checkForIdentifierStartAfterNumericLiteral(),L.createFloatLiteralExpression(s,e.range(n,e.pos))}case 85:{let s=e.readRegexpPattern();return e.skip(85)?L.createRegexpLiteralExpression(s,e.readRegexpFlags(),e.range(n,e.pos)):(this.error(1005,e.range(),"/"),null)}case 24:{let s=this.parseFunctionExpression(e);return s?this.maybeParseCallExpression(e,s):null}case 7:return this.parseClassExpression(e);default:return r==121?this.error(1126,e.range(n)):this.error(1109,e.range()),null}}tryParseTypeArgumentsBeforeArguments(e){let r=e.mark();if(!e.skip(72))return null;let n=e.tokenPos,s=null;do{if(e.peek()==73)break;let a=this.parseType(e,!0,!0);if(!a)return e.reset(r),null;s?s.push(a):s=[a]}while(e.skip(71));if(e.skip(73)){let a=e.pos;if(e.skip(64))return s||this.error(1099,e.range(n,a)),s}return e.reset(r),null}parseArguments(e){let r=new Array;for(;!e.skip(65);){let n=this.parseExpression(e,2);if(!n)return null;if(r.push(n),!e.skip(71)){if(e.skip(65))break;return this.error(1005,e.range(),")"),null}}return r}parseExpression(e,r=1){assert(r!=0);let n=this.parseExpressionStart(e);if(!n)return null;let s=n.range.start,a;for(;(a=dx(e.peek()))>=r;){let l=e.next();switch(l){case 1:{if(e.skip(8))n=L.createAssertionExpression(3,n,null,e.range(s,e.pos));else{let o=this.parseType(e);if(!o)return null;n=L.createAssertionExpression(1,n,o,e.range(s,e.pos))}break}case 95:{n=L.createAssertionExpression(2,n,null,e.range(s,e.pos)),n=this.maybeParseCallExpression(e,n);break}case 30:{let o=this.parseType(e);if(!o)return null;n=L.createInstanceOfExpression(n,o,e.range(s,e.pos));break}case 66:{let o=this.parseExpression(e);if(!o)return null;if(!e.skip(67))return this.error(1005,e.range(),"]"),null;n=L.createElementAccessExpression(n,o,e.range(s,e.pos)),n=this.maybeParseCallExpression(e,n);break}case 87:case 88:{n.kind!=6&&n.kind!=12&&n.kind!=21&&this.error(2357,n.range),n=L.createUnaryPostfixExpression(l,n,e.range(s,e.pos));break}case 99:{let o=this.parseExpression(e);if(!o)return null;if(!e.skip(100))return this.error(1005,e.range(),":"),null;let p=this.parseExpression(e,r>1?1+1:1);if(!p)return null;n=L.createTernaryExpression(n,o,p,e.range(s,e.pos));break}case 71:{let o=[n];do{if(n=this.parseExpression(e,1+1),!n)return null;o.push(n)}while(e.skip(71));n=L.createCommaExpression(o,e.range(s,e.pos));break}case 68:{if(e.skipIdentifier(2)){let o=L.createIdentifierExpression(e.readIdentifier(),e.range());n=L.createPropertyAccessExpression(n,o,e.range(s,e.pos))}else{let o=this.parseExpression(e,a+1);if(!o)return null;if(o.kind==9){if(n=this.joinPropertyCall(e,s,n,o),!n)return null}else return this.error(1003,o.range),null}if(e.skip(119)){if(n=this.parseTemplateLiteral(e,n),!n)return null}else n=this.maybeParseCallExpression(e,n,!0);break}case 101:case 102:case 103:case 105:case 104:case 106:case 107:case 108:case 109:case 110:case 111:case 113:case 112:case 83:{let o=this.parseExpression(e,a);if(!o)return null;n=L.createBinaryExpression(l,n,o,e.range(s,e.pos));break}case 72:case 73:case 74:case 75:case 76:case 78:case 79:case 77:case 81:case 82:case 84:case 85:case 86:case 89:case 90:case 91:case 92:case 93:case 94:case 97:case 98:case 29:{let o=this.parseExpression(e,a+1);if(!o)return null;n=L.createBinaryExpression(l,n,o,e.range(s,e.pos));break}default:assert(!1)}}return n}parseTemplateLiteral(e,r=null){let n=r?r.range.start:e.tokenPos,s=new Array,a=new Array,l=new Array;for(s.push(e.readString(0,r!=null)),a.push(e.source.text.substring(e.readStringStart,e.readStringEnd));e.readingTemplateString;){let o=this.parseExpression(e);if(!o)return null;if(l.push(o),!e.skip(63))return this.error(1005,e.range(),"}"),null;s.push(e.readString(96,r!=null)),a.push(e.source.text.substring(e.readStringStart,e.readStringEnd))}return L.createTemplateLiteralExpression(r,s,a,l,e.range(n,e.pos))}joinPropertyCall(e,r,n,s){let a=s.expression;switch(a.kind){case 6:{s.expression=L.createPropertyAccessExpression(n,a,e.range(r,e.pos));break}case 9:{let l=this.joinPropertyCall(e,r,n,a);if(!l)return null;s.expression=l,s.range=e.range(r,e.pos);break}default:return this.error(1003,s.range),null}return s}maybeParseCallExpression(e,r,n=!1){let s=null;for(;e.skip(64)||n&&(s=this.tryParseTypeArgumentsBeforeArguments(e));){let a=this.parseArguments(e);if(!a)break;r=L.createCallExpression(r,s,a,e.range(r.range.start,e.pos)),n=!1}return r}checkASI(e){let r=e.peek();r==121||r==63||e.peekOnNewLine()||this.error(1012,e.range(e.nextTokenPos))}skipStatement(e){e.peekOnNewLine()&&e.next();do{let r=e.peek();if(r==121||r==70){e.next();break}if(e.peekOnNewLine())break;switch(e.next()){case 115:{e.readIdentifier();break}case 116:case 119:{e.readString();break}case 117:{e.readInteger(),e.checkForIdentifierStartAfterNumericLiteral();break}case 118:{e.readFloat(),e.checkForIdentifierStartAfterNumericLiteral();break}case 62:{this.skipBlock(e);break}}}while(!0);e.readingTemplateString=!1}skipBlock(e){let r=1,n=!0;do switch(e.next()){case 121:{this.error(1005,e.range(),"}"),n=!1;break}case 62:{++r;break}case 63:{--r,r||(n=!1);break}case 115:{e.readIdentifier();break}case 116:{e.readString();break}case 119:{for(e.readString();e.readingTemplateString;)this.skipBlock(e),e.readString(96);break}case 117:{e.readInteger(),e.checkForIdentifierStartAfterNumericLiteral();break}case 118:{e.readFloat(),e.checkForIdentifierStartAfterNumericLiteral();break}}while(n)}},Oy=(N=>(N[N.None=0]="None",N[N.Comma=1]="Comma",N[N.Spread=2]="Spread",N[N.Yield=3]="Yield",N[N.Assignment=4]="Assignment",N[N.Conditional=5]="Conditional",N[N.LogicalOr=6]="LogicalOr",N[N.LogicalAnd=7]="LogicalAnd",N[N.BitwiseOr=8]="BitwiseOr",N[N.BitwiseXor=9]="BitwiseXor",N[N.BitwiseAnd=10]="BitwiseAnd",N[N.Equality=11]="Equality",N[N.Relational=12]="Relational",N[N.Shift=13]="Shift",N[N.Additive=14]="Additive",N[N.Multiplicative=15]="Multiplicative",N[N.Exponentiated=16]="Exponentiated",N[N.UnaryPrefix=17]="UnaryPrefix",N[N.UnaryPostfix=18]="UnaryPostfix",N[N.Call=19]="Call",N[N.MemberAccess=20]="MemberAccess",N[N.Grouping=21]="Grouping",N))(Oy||{});function dx(t){switch(t){case 71:return 1;case 101:case 102:case 103:case 105:case 104:case 106:case 107:case 108:case 109:case 110:case 111:case 113:case 112:return 4;case 99:return 5;case 98:return 6;case 97:return 7;case 93:return 8;case 94:return 9;case 92:return 10;case 76:case 77:case 78:case 79:return 11;case 1:case 29:case 30:case 72:case 73:case 74:case 75:return 12;case 89:case 90:case 91:return 13;case 81:case 82:return 14;case 84:case 85:case 86:return 15;case 83:return 16;case 87:case 88:return 18;case 68:case 66:case 95:return 20}return 0}function Il(t,i){switch(i.kind){case 1:{if(i.name.identifier.text==t)return!0;let e=i.typeArguments;if(e){for(let r=0,n=e.length;r(W[W.Invalid=0]="Invalid",W[W.IndexedGet=1]="IndexedGet",W[W.IndexedSet=2]="IndexedSet",W[W.UncheckedIndexedGet=3]="UncheckedIndexedGet",W[W.UncheckedIndexedSet=4]="UncheckedIndexedSet",W[W.Add=5]="Add",W[W.Sub=6]="Sub",W[W.Mul=7]="Mul",W[W.Div=8]="Div",W[W.Rem=9]="Rem",W[W.Pow=10]="Pow",W[W.BitwiseAnd=11]="BitwiseAnd",W[W.BitwiseOr=12]="BitwiseOr",W[W.BitwiseXor=13]="BitwiseXor",W[W.BitwiseShl=14]="BitwiseShl",W[W.BitwiseShr=15]="BitwiseShr",W[W.BitwiseShrU=16]="BitwiseShrU",W[W.Eq=17]="Eq",W[W.Ne=18]="Ne",W[W.Gt=19]="Gt",W[W.Ge=20]="Ge",W[W.Lt=21]="Lt",W[W.Le=22]="Le",W[W.Plus=23]="Plus",W[W.Minus=24]="Minus",W[W.Not=25]="Not",W[W.BitwiseNot=26]="BitwiseNot",W[W.PrefixInc=27]="PrefixInc",W[W.PrefixDec=28]="PrefixDec",W[W.PostfixInc=29]="PostfixInc",W[W.PostfixDec=30]="PostfixDec",W))(Ue||{});(n=>{function t(s,a){switch(assert(a.length),s){case 2:case 3:{switch(a.charCodeAt(0)){case 91:{if(a=="[]")return 1;if(a=="[]=")return 2;break}case 123:{if(a=="{}")return 3;if(a=="{}=")return 4;break}case 43:{if(a=="+")return 5;break}case 45:{if(a=="-")return 6;break}case 42:{if(a=="*")return 7;if(a=="**")return 10;break}case 47:{if(a=="/")return 8;break}case 37:{if(a=="%")return 9;break}case 38:{if(a=="&")return 11;break}case 124:{if(a=="|")return 12;break}case 94:{if(a=="^")return 13;break}case 61:{if(a=="==")return 17;break}case 33:{if(a=="!=")return 18;break}case 62:{if(a==">")return 19;if(a==">=")return 20;if(a==">>")return 15;if(a==">>>")return 16;break}case 60:{if(a=="<")return 21;if(a=="<=")return 22;if(a=="<<")return 14;break}}break}case 4:{switch(a.charCodeAt(0)){case 43:{if(a=="+")return 23;if(a=="++")return 27;break}case 45:{if(a=="-")return 24;if(a=="--")return 28;break}case 33:{if(a=="!")return 25;break}case 126:{if(a=="~")return 26;break}}break}case 5:{switch(a.charCodeAt(0)){case 43:{if(a=="++")return 29;break}case 45:{if(a=="--")return 30;break}}break}}return 0}n.fromDecorator=t;function i(s){switch(s){case 81:case 102:return 5;case 82:case 103:return 6;case 84:case 104:return 7;case 85:case 106:return 8;case 86:case 107:return 9;case 83:case 105:return 10;case 92:case 111:return 11;case 93:case 112:return 12;case 94:case 113:return 13;case 89:case 108:return 14;case 90:case 109:return 15;case 91:case 110:return 16;case 76:return 17;case 77:return 18;case 73:return 19;case 75:return 20;case 72:return 21;case 74:return 22}return 0}n.fromBinaryToken=i;function e(s){switch(s){case 81:return 23;case 82:return 24;case 95:return 25;case 96:return 26;case 87:return 27;case 88:return 28}return 0}n.fromUnaryPrefixToken=e;function r(s){switch(s){case 87:return 29;case 88:return 30}return 0}n.fromUnaryPostfixToken=r})(Ue||={});var Dn=class extends qe{constructor(e,r=null){super(r);this.options=e;this.sources=[];this.diagnosticsOffset=0;this.nextClassId=0;this.nextSignatureId=0;this.initialized=!1;this.filesByName=new Map;this.elementsByName=new Map;this.elementsByDeclaration=new Map;this.instancesByName=new Map;this.wrapperClasses=new Map;this.managedClasses=new Map;this.uniqueSignatures=new Map;this.moduleImports=new Map;this._arrayBufferViewInstance=null;this._arrayBufferInstance=null;this._arrayPrototype=null;this._staticArrayPrototype=null;this._setPrototype=null;this._mapPrototype=null;this._functionPrototype=null;this._int8ArrayPrototype=null;this._int16ArrayPrototype=null;this._int32ArrayPrototype=null;this._int64ArrayPrototype=null;this._uint8ArrayPrototype=null;this._uint8ClampedArrayPrototype=null;this._uint16ArrayPrototype=null;this._uint32ArrayPrototype=null;this._uint64ArrayPrototype=null;this._float32ArrayPrototype=null;this._float64ArrayPrototype=null;this._stringInstance=null;this._regexpInstance=null;this._objectPrototype=null;this._objectInstance=null;this._templateStringsArrayInstance=null;this._allocInstance=null;this._reallocInstance=null;this._freeInstance=null;this._newInstance=null;this._renewInstance=null;this._linkInstance=null;this._collectInstance=null;this._visitInstance=null;this._newBufferInstance=null;this._newArrayInstance=null;this._BLOCKInstance=null;this._OBJECTInstance=null;this.nativeDummySignature=null;this.module=Ot.create(e.stackSize>0,e.sizeTypeRef),this.parser=new Vn(this.diagnostics,this.sources),this.resolver=new Ln(this);let n=new Wn(this,fe.native);this.nativeFile=n,this.filesByName.set(n.internalName,n)}get arrayBufferViewInstance(){let e=this._arrayBufferViewInstance;return e||(this._arrayBufferViewInstance=e=this.requireClass(B.ArrayBufferView)),e}get arrayBufferInstance(){let e=this._arrayBufferInstance;return e||(this._arrayBufferInstance=e=this.requireClass(B.ArrayBuffer)),e}get arrayPrototype(){let e=this._arrayPrototype;return e||(this._arrayPrototype=e=this.require(B.Array,6)),e}get staticArrayPrototype(){let e=this._staticArrayPrototype;return e||(this._staticArrayPrototype=e=this.require(B.StaticArray,6)),e}get setPrototype(){let e=this._setPrototype;return e||(this._setPrototype=e=this.require(B.Set,6)),e}get mapPrototype(){let e=this._mapPrototype;return e||(this._mapPrototype=e=this.require(B.Map,6)),e}get functionPrototype(){let e=this._functionPrototype;return e||(this._functionPrototype=e=this.require(B.Function,6)),e}get int8ArrayPrototype(){let e=this._int8ArrayPrototype;return e||(this._int8ArrayPrototype=e=this.require(B.Int8Array,6)),e}get int16ArrayPrototype(){let e=this._int16ArrayPrototype;return e||(this._int16ArrayPrototype=e=this.require(B.Int16Array,6)),e}get int32ArrayPrototype(){let e=this._int32ArrayPrototype;return e||(this._int32ArrayPrototype=e=this.require(B.Int32Array,6)),e}get int64ArrayPrototype(){let e=this._int64ArrayPrototype;return e||(this._int64ArrayPrototype=e=this.require(B.Int64Array,6)),e}get uint8ArrayPrototype(){let e=this._uint8ArrayPrototype;return e||(this._uint8ArrayPrototype=e=this.require(B.Uint8Array,6)),e}get uint8ClampedArrayPrototype(){let e=this._uint8ClampedArrayPrototype;return e||(this._uint8ClampedArrayPrototype=e=this.require(B.Uint8ClampedArray,6)),e}get uint16ArrayPrototype(){let e=this._uint16ArrayPrototype;return e||(this._uint16ArrayPrototype=e=this.require(B.Uint16Array,6)),e}get uint32ArrayPrototype(){let e=this._uint32ArrayPrototype;return e||(this._uint32ArrayPrototype=e=this.require(B.Uint32Array,6)),e}get uint64ArrayPrototype(){let e=this._uint64ArrayPrototype;return e||(this._uint64ArrayPrototype=e=this.require(B.Uint64Array,6)),e}get float32ArrayPrototype(){let e=this._float32ArrayPrototype;return e||(this._float32ArrayPrototype=e=this.require(B.Float32Array,6)),e}get float64ArrayPrototype(){let e=this._float64ArrayPrototype;return e||(this._float64ArrayPrototype=e=this.require(B.Float64Array,6)),e}get stringInstance(){let e=this._stringInstance;return e||(this._stringInstance=e=this.requireClass(B.String)),e}get regexpInstance(){let e=this._regexpInstance;return e||(this._regexpInstance=e=this.requireClass(B.RegExp)),e}get objectPrototype(){let e=this._objectPrototype;return e||(this._objectPrototype=e=this.require(B.Object,6)),e}get objectInstance(){let e=this._objectInstance;return e||(this._objectInstance=e=this.requireClass(B.Object)),e}get templateStringsArrayInstance(){let e=this._templateStringsArrayInstance;return e||(this._templateStringsArrayInstance=e=this.requireClass(B.TemplateStringsArray)),e}get abortInstance(){let e=this.lookup(B.abort);return!e||e.kind!=4?null:this.resolver.resolveFunction(e,null)}get allocInstance(){let e=this._allocInstance;return e||(this._allocInstance=e=this.requireFunction(B.alloc)),e}get reallocInstance(){let e=this._reallocInstance;return e||(this._reallocInstance=e=this.requireFunction(B.realloc)),e}get freeInstance(){let e=this._freeInstance;return e||(this._freeInstance=e=this.requireFunction(B.free)),e}get newInstance(){let e=this._newInstance;return e||(this._newInstance=e=this.requireFunction(B.new_)),e}get renewInstance(){let e=this._renewInstance;return e||(this._renewInstance=e=this.requireFunction(B.renew)),e}get linkInstance(){let e=this._linkInstance;return e||(this._linkInstance=e=this.requireFunction(B.link)),e}get collectInstance(){let e=this._collectInstance;return e||(this._collectInstance=e=this.requireFunction(B.collect)),e}get visitInstance(){let e=this._visitInstance;return e||(this._visitInstance=e=this.requireFunction(B.visit)),e}get newBufferInstance(){let e=this._newBufferInstance;return e||(this._newBufferInstance=e=this.requireFunction(B.newBuffer)),e}get newArrayInstance(){let e=this._newArrayInstance;return e||(this._newArrayInstance=e=this.requireFunction(B.newArray)),e}get BLOCKInstance(){let e=this._BLOCKInstance;return e||(this._BLOCKInstance=e=this.requireClass(B.BLOCK)),e}get OBJECTInstance(){let e=this._OBJECTInstance;return e||(this._OBJECTInstance=e=this.requireClass(B.OBJECT)),e}getSource(e){let r=this.sources;for(let n=0;n=l||n&o)throw new Error("invalid block size");return n}makeNativeVariableDeclaration(e,r=0){let n=fe.native.range;return L.createVariableDeclaration(L.createIdentifierExpression(e,n),null,r,null,null,n)}makeNativeTypeDeclaration(e,r=0){let n=fe.native.range,s=L.createIdentifierExpression(e,n);return L.createTypeDeclaration(s,null,r,null,L.createOmittedType(n),n)}makeNativeFunctionDeclaration(e,r=0){let n=fe.native.range,s=this.nativeDummySignature;return s||(this.nativeDummySignature=s=L.createFunctionType([],L.createNamedType(L.createSimpleTypeName(B.void_,n),null,!1,n),null,!1,n)),L.createFunctionDeclaration(L.createIdentifierExpression(e,n),null,r,null,s,null,0,n)}makeNativeNamespaceDeclaration(e,r=0){let n=fe.native.range;return L.createNamespaceDeclaration(L.createIdentifierExpression(e,n),null,r,[],n)}makeNativeFunction(e,r,n=this.nativeFile,s=0,a=0){return new ct(e,new je(e,n,this.makeNativeFunctionDeclaration(e,s),a),null,r)}getElementByDeclaration(e){let r=this.elementsByDeclaration;return r.has(e)?assert(r.get(e)):null}initialize(){if(this.initialized)return;this.initialized=!0;let e=this.options;this.registerNativeType(B.i8,u.i8),this.registerNativeType(B.i16,u.i16),this.registerNativeType(B.i32,u.i32),this.registerNativeType(B.i64,u.i64),this.registerNativeType(B.isize,e.isizeType),this.registerNativeType(B.u8,u.u8),this.registerNativeType(B.u16,u.u16),this.registerNativeType(B.u32,u.u32),this.registerNativeType(B.u64,u.u64),this.registerNativeType(B.usize,e.usizeType),this.registerNativeType(B.bool,u.bool),this.registerNativeType(B.f32,u.f32),this.registerNativeType(B.f64,u.f64),this.registerNativeType(B.void_,u.void),this.registerNativeType(B.number,u.f64),this.registerNativeType(B.boolean,u.bool),this.nativeFile.add(B.native,new Xe(B.native,this.nativeFile,this.makeNativeTypeDeclaration(B.native,65538),512)),this.nativeFile.add(B.indexof,new Xe(B.indexof,this.nativeFile,this.makeNativeTypeDeclaration(B.indexof,65538),512)),this.nativeFile.add(B.valueof,new Xe(B.valueof,this.nativeFile,this.makeNativeTypeDeclaration(B.valueof,65538),512)),this.nativeFile.add(B.returnof,new Xe(B.returnof,this.nativeFile,this.makeNativeTypeDeclaration(B.returnof,65538),512)),this.nativeFile.add(B.nonnull,new Xe(B.nonnull,this.nativeFile,this.makeNativeTypeDeclaration(B.nonnull,65538),512)),this.registerNativeType(B.v128,u.v128),this.registerNativeType(B.ref_func,u.func),this.registerNativeType(B.ref_extern,u.extern),this.registerNativeType(B.ref_any,u.any),this.registerNativeType(B.ref_eq,u.eq),this.registerNativeType(B.ref_struct,u.struct),this.registerNativeType(B.ref_array,u.array),this.registerNativeType(B.ref_i31,u.i31),this.registerNativeType(B.ref_string,u.string),this.registerNativeType(B.ref_stringview_wtf8,u.stringview_wtf8),this.registerNativeType(B.ref_stringview_wtf16,u.stringview_wtf16),this.registerNativeType(B.ref_stringview_iter,u.stringview_iter),this.registerConstantInteger(B.ASC_TARGET,u.i32,i64_new(e.isWasm64?2:1)),this.registerConstantInteger(B.ASC_RUNTIME,u.i32,i64_new(e.runtime)),this.registerConstantInteger(B.ASC_NO_ASSERT,u.bool,i64_new(e.noAssert?1:0,0)),this.registerConstantInteger(B.ASC_MEMORY_BASE,u.i32,i64_new(e.memoryBase,0)),this.registerConstantInteger(B.ASC_TABLE_BASE,u.i32,i64_new(e.tableBase,0)),this.registerConstantInteger(B.ASC_OPTIMIZE_LEVEL,u.i32,i64_new(e.optimizeLevelHint,0)),this.registerConstantInteger(B.ASC_SHRINK_LEVEL,u.i32,i64_new(e.shrinkLevelHint,0)),this.registerConstantInteger(B.ASC_LOW_MEMORY_LIMIT,u.i32,i64_new(e.lowMemoryLimit,0)),this.registerConstantInteger(B.ASC_EXPORT_RUNTIME,u.bool,i64_new(e.exportRuntime?1:0,0)),this.registerConstantInteger(B.ASC_VERSION_MAJOR,u.i32,i64_new(e.bundleMajorVersion)),this.registerConstantInteger(B.ASC_VERSION_MINOR,u.i32,i64_new(e.bundleMinorVersion)),this.registerConstantInteger(B.ASC_VERSION_PATCH,u.i32,i64_new(e.bundlePatchVersion)),this.registerConstantInteger(B.ASC_FEATURE_SIGN_EXTENSION,u.bool,i64_new(e.hasFeature(1)?1:0,0)),this.registerConstantInteger(B.ASC_FEATURE_MUTABLE_GLOBALS,u.bool,i64_new(e.hasFeature(2)?1:0,0)),this.registerConstantInteger(B.ASC_FEATURE_NONTRAPPING_F2I,u.bool,i64_new(e.hasFeature(4)?1:0,0)),this.registerConstantInteger(B.ASC_FEATURE_BULK_MEMORY,u.bool,i64_new(e.hasFeature(8)?1:0,0)),this.registerConstantInteger(B.ASC_FEATURE_SIMD,u.bool,i64_new(e.hasFeature(16)?1:0,0)),this.registerConstantInteger(B.ASC_FEATURE_THREADS,u.bool,i64_new(e.hasFeature(32)?1:0,0)),this.registerConstantInteger(B.ASC_FEATURE_EXCEPTION_HANDLING,u.bool,i64_new(e.hasFeature(64)?1:0,0)),this.registerConstantInteger(B.ASC_FEATURE_TAIL_CALLS,u.bool,i64_new(e.hasFeature(128)?1:0,0)),this.registerConstantInteger(B.ASC_FEATURE_REFERENCE_TYPES,u.bool,i64_new(e.hasFeature(256)?1:0,0)),this.registerConstantInteger(B.ASC_FEATURE_MULTI_VALUE,u.bool,i64_new(e.hasFeature(512)?1:0,0)),this.registerConstantInteger(B.ASC_FEATURE_GC,u.bool,i64_new(e.hasFeature(1024)?1:0,0)),this.registerConstantInteger(B.ASC_FEATURE_MEMORY64,u.bool,i64_new(e.hasFeature(2048)?1:0,0)),this.registerConstantInteger(B.ASC_FEATURE_RELAXED_SIMD,u.bool,i64_new(e.hasFeature(4096)?1:0,0)),this.registerConstantInteger(B.ASC_FEATURE_EXTENDED_CONST,u.bool,i64_new(e.hasFeature(8192)?1:0,0)),this.registerConstantInteger(B.ASC_FEATURE_STRINGREF,u.bool,i64_new(e.hasFeature(16384)?1:0,0));let r=new Array,n=new Map,s=new Map,a=new Array,l=new Array;for(let p=0,c=this.sources.length;p=48&&S<=57)this.registerConstantInteger(d,u.i32,i64_new(parseInt(g,10)));else{let T=this.elementsByName;T.has(g)?T.set(d,assert(T.get(g))):this.error(111,null,g)}}}for(let p=Map_values(this.filesByName),c=0,_=p.length;c<_;++c){let f=unchecked(p[c]);f.source.sourceKind==1&&this.markModuleExports(f)}}processOverrides(e,r){let n=e.instanceMembers;if(n){let s=Map_values(n),a=null;do{let l=r.instanceMembers;if(l)for(let c=0,_=s.length;c<_;++c){let f=s[c];if(l.has(f.name)){let d=assert(l.get(f.name));this.doProcessOverride(e,f,r,d)}}let o=r.interfacePrototypes;if(o)for(let c=0,_=o.length;c<_;++c){let f=o[c];f!=r&&this.processOverrides(e,f)}let p=r.basePrototype;if(!p||(a||(a=new Set),a.add(r),a.has(p)))break;r=p}while(!0)}}doProcessOverride(e,r,n,s){if(!r.isAny(524800))if(r.kind==4&&s.kind==4){let a=r,l=s;a.visibilityEquals(l)||this.errorRelated(2385,a.identifierNode.range,l.identifierNode.range),s.set(268435456);let o=l.unboundOverrides;o||(l.unboundOverrides=o=new Set),o.add(r);let p=l.instances;if(p)for(let c=Map_values(p),_=0,f=c.length;_(T[T.Global=0]="Global",T[T.Local=1]="Local",T[T.Enum=2]="Enum",T[T.EnumValue=3]="EnumValue",T[T.FunctionPrototype=4]="FunctionPrototype",T[T.Function=5]="Function",T[T.ClassPrototype=6]="ClassPrototype",T[T.Class=7]="Class",T[T.InterfacePrototype=8]="InterfacePrototype",T[T.Interface=9]="Interface",T[T.PropertyPrototype=10]="PropertyPrototype",T[T.Property=11]="Property",T[T.Namespace=12]="Namespace",T[T.File=13]="File",T[T.TypeDefinition=14]="TypeDefinition",T[T.IndexSignature=15]="IndexSignature",T))(ut||{}),jt=(d=>(d[d.None=0]="None",d[d.Global=1]="Global",d[d.OperatorBinary=2]="OperatorBinary",d[d.OperatorPrefix=4]="OperatorPrefix",d[d.OperatorPostfix=8]="OperatorPostfix",d[d.Unmanaged=16]="Unmanaged",d[d.Final=32]="Final",d[d.Inline=64]="Inline",d[d.External=128]="External",d[d.ExternalJs=256]="ExternalJs",d[d.Builtin=512]="Builtin",d[d.Lazy=1024]="Lazy",d[d.Unsafe=2048]="Unsafe",d))(jt||{});(i=>{function t(e){switch(e){case 1:return 1;case 2:case 3:return 2;case 4:return 4;case 5:return 8;case 6:return 16;case 7:return 32;case 8:return 64;case 9:return 128;case 10:return 256;case 11:return 512;case 12:return 1024;case 13:return 2048;default:return 0}}i.fromKind=t})(jt||={});var qn=class{constructor(i,e,r,n,s){this.kind=i;this.name=e;this.internalName=r;this.program=n;this.flags=0;this.decoratorFlags=0;this.members=null;this.shadowType=null;this.program=n,this.name=e,this.internalName=r,s?this.parent=s:(assert(this.kind==13),this.parent=this)}get file(){let i=this;do if(i=i.parent,i.kind==13)return i;while(!0)}is(i){return(this.flags&i)==i}isAny(i){return(this.flags&i)!=0}set(i){this.flags|=i}unset(i){this.flags&=~i}hasDecorator(i){return(this.decoratorFlags&i)==i}hasAnyDecorator(i){return(this.decoratorFlags&i)!=0}getMember(i){let e=this.members;return e&&e.has(i)?assert(e.get(i)):null}lookup(i,e=!1){return this.parent.lookup(i,e)}add(i,e,r=null){let n=e.declaration,s=this.members;if(!s)this.members=s=new Map;else if(s.has(i)){let l=assert(s.get(i));if(l.parent==this){let o=Dp(l,e);if(o)e=o;else{let p=r||e.identifierNode;return On(l.kind)?this.program.errorRelated(2300,p.range,l.identifierNode.range,p.text):this.program.error(2300,p.range,p.text),!1}}}s.set(i,e);let a=this.program;return(e.kind!=4||!e.isBound)&&(a.elementsByName.set(e.internalName,e),a.elementsByDeclaration.set(n,e)),!0}get isPublic(){return!this.isAny(1536)}get isImplicitlyPublic(){return this.isPublic&&!this.is(256)}visibilityEquals(i){if(this.isPublic==i.isPublic)return!0;let e=1536;return(this.flags&e)==(i.flags&e)}visibilityNoLessThan(i){return this.isPublic?!0:this.is(512)?i.is(512):this.is(1024)?i.isAny(1536):assert(!1)}get isBound(){switch(this.parent.kind){case 7:case 9:return!0}return!1}getBoundClassOrInterface(){let i=this.parent;switch(i.kind){case 7:case 9:return i}return null}toString(){return`${this.internalName}, kind=${this.kind}`}},Ky=new Set;function On(t){return Ky.has(t)}var Ht=class extends qn{constructor(e,r,n,s,a,l){super(e,r,n,s,a);this.declaration=l;Ky.add(e),this.declaration=l,this.flags=l.flags}get isDeclaredInLibrary(){return this.declaration.range.source.isLibrary}get identifierNode(){return this.declaration.name}get identifierAndSignatureRange(){let e=this.declaration,r=e.name;if(e.kind==55||e.kind==58){let n=e.signature;if(r.range.source==n.range.source)return le.join(r.range,n.range)}return r.range}get decoratorNodes(){return this.declaration.decorators}},Hy=new Set;function El(t){return Hy.has(t)}var Ft=class extends Ht{constructor(e,r,n,s,a,l){super(e,r,n,s,a,l);this.type=u.void;Hy.add(e)}setType(e){assert(!this.is(4194304)),this.type=e,this.set(4194304)}},Wn=class extends qn{constructor(e,r){super(13,r.normalizedPath,r.internalPath,e,null);this.source=r;this.exports=null;this.exportsStar=null;this.aliasNamespaces=new Array;this.source=r,assert(!e.filesByName.has(this.internalName)),e.filesByName.set(this.internalName,this);let n=this.program.makeNativeFunction(`start:${this.internalName}`,Ve.create(e,[],u.void),this);n.internalName=n.name,this.startFunction=n}add(e,r,n=null){return r.hasDecorator(1)&&(r=this.program.ensureGlobal(e,r)),super.add(e,r,n)?(r=assert(this.getMember(e)),r.is(2)&&!n&&this.ensureExport(r.name,r),!0):!1}getMember(e){let r=super.getMember(e);if(r)return r;let n=this.exportsStar;if(n){for(let s=0,a=n.length;s(r[r.None=0]="None",r[r.Integer=1]="Integer",r[r.Float=2]="Float",r))(Up||{}),xr=class extends Ft{constructor(e,r,n,s=n.program.makeNativeVariableDeclaration(r)){super(e,r,Pe(r,n,s.is(262144)),n.program,n,s);this.constantValueKind=0;this.constantIntegerValue=i64_zero;this.constantFloatValue=0;this.flags=s.flags}get typeNode(){return this.declaration.type}get initializerNode(){return this.declaration.initializer}setConstantIntegerValue(e,r){assert(r.isIntegerInclReference),this.type=r,this.constantValueKind=1,this.constantIntegerValue=e,this.set(37748744)}setConstantFloatValue(e,r){assert(r.isFloatValue),this.type=r,this.constantValueKind=2,this.constantFloatValue=e,this.set(37748744)}},Al=class extends xr{constructor(e,r,n,s=0){super(3,e,r,n);this.isImmutable=!1;this.decoratorFlags=s,this.setType(u.i32)}get valueNode(){return this.declaration.initializer}},br=class extends xr{constructor(i,e,r,n=e.program.makeNativeVariableDeclaration(i)){super(0,i,e,n),this.decoratorFlags=r}},zp=class{constructor(i,e,r=null){this.name=i;this.type=e;this.initializer=r}},ze=class extends xr{constructor(e,r,n,s,a=s.program.makeNativeVariableDeclaration(e)){super(1,e,s,a);this.index=r;this.originalName=e,this.index=r,assert(n!=u.void),this.setType(n)}declaredByFlow(e){return this.parent==e.targetFunction}},je=class t extends Ht{constructor(e,r,n,s=0){super(4,e,Pe(e,r,n.is(262144)),r.program,r,n);this.operatorKind=0;this.instances=null;this.unboundOverrides=null;this.boundPrototypes=null;this.decoratorFlags=s}get typeParameterNodes(){return this.declaration.typeParameters}get functionTypeNode(){return this.declaration.signature}get bodyNode(){return this.declaration.body}get arrowKind(){return this.declaration.arrowKind}toBound(e){assert(this.is(262144)),assert(!this.isBound);let r=this.boundPrototypes;if(!r)this.boundPrototypes=r=new Map;else if(r.has(e))return assert(r.get(e));let n=this.declaration;assert(n.kind==58);let s=new t(this.name,e,n,this.decoratorFlags);return s.flags=this.flags,s.operatorKind=this.operatorKind,s.unboundOverrides=this.unboundOverrides,r.set(e,s),s}getResolvedInstance(e){let r=this.instances;return r&&r.has(e)?assert(r.get(e)):null}setResolvedInstance(e,r){let n=this.instances;n?assert(!n.has(e)):this.instances=n=new Map,n.set(e,r)}},ct=class t extends Ft{constructor(e,r,n,s,a=null){super(5,e,Pe(e,r.parent,r.is(262144)),r.program,r.parent,r.declaration);this.localsByIndex=[];this.debugLocations=new Map;this.ref=0;this.varargsStub=null;this.overrideStub=null;this.memorySegment=null;this.nextInlineId=0;this.nextAnonymousId=0;this.nextBreakId=0;this.breakStack=null;this.prototype=r,this.typeArguments=n,this.signature=s,this.flags=r.flags|4194304,this.decoratorFlags=r.decoratorFlags,this.contextualTypeArguments=a,this.original=this;let l=r.program;this.type=s.type;let o=St.createDefault(this);if(this.flow=o,!r.is(32768)){let p=0,c=s.thisType;if(c){let f=new ze(B.this_,p++,c,this),d=this.flow.scopedLocals;d||(this.flow.scopedLocals=d=new Map),d.set(B.this_,f),this.localsByIndex[f.index]=f,o.setLocalFlag(f.index,8)}let _=s.parameterTypes;for(let f=0,d=_.length;fe?r[e].name.text:jy(e)}newStub(e,r=this.signature.requiredParameters){let n=new t(this.original.name+Zu+e,this.prototype,this.typeArguments,this.signature.clone(r),this.contextualTypeArguments);return n.original=this.original,n.set(this.flags&-8388609|134217728),n}addLocal(e,r=null,n=null){let s=this.localsByIndex,a=s.length,l=r??a.toString();n||(n=this.program.makeNativeVariableDeclaration(l));let o=new ze(l,a,e,this,n);if(r){let p=this.flow,c=p.scopedLocals;if(c||(p.scopedLocals=c=new Map),c.has(r))throw new Error("duplicate local name");c.set(r,o)}return s[a]=o,o}lookup(e,r=!1){if(!r){let n=this.flow.scopedLocals;if(n&&n.has(e))return assert(n.get(e))}return super.lookup(e,r)}finalize(e,r){this.ref=r;let n=this.breakStack;assert(!n||!n.length),this.breakStack=null,this.addDebugInfo(e,r)}addDebugInfo(e,r){if(this.program.options.sourceMap){let n=this.debugLocations;for(let s=Map_keys(n),a=0,l=s.length;a0)throw new Error("type argument count mismatch");Vp(a,this)}get id(){return this._id}get isBuiltinArray(){return this.prototype.isBuiltinArray}get isArrayLike(){if(this.isBuiltinArray)return!0;let e=this.getMember("length");return e?(e.kind==11&&e.getterInstance!=null||e.kind==10&&e.getterPrototype!=null)&&(this.lookupOverload(1)!=null||this.lookupOverload(3)!=null):!1}get isInterface(){return this.kind==9}static leastUpperBound(e,r){if(e==r)return e;let n=new Set;for(n.add(e),n.add(r);;){let s=e.base,a=r.base;if(!s&&!a)return null;if(s){if(n.has(s))return s;n.add(e=s)}if(a){if(n.has(a))return a;n.add(r=a)}}}setBase(e){assert(!this.base),this.base=e;let r=e.contextualTypeArguments;if(r){let a=this.contextualTypeArguments;for(let l=Map_keys(r),o=0,p=l.length;o=0),s.memoryOffset):0}createBuffer(e=0){let r=this.program,n=this.nextMemoryOffset+e,s=r.computeBlockSize(n,!0),a=new Uint8Array(r.blockOverhead+s),l=r.OBJECTInstance;return l.writeField("mmInfo",s,a,0),l.writeField("gcInfo",0,a,0),l.writeField("gcInfo2",0,a,0),l.writeField("rtId",this.id,a,0),l.writeField("rtSize",n,a,0),a}writeField(e,r,n,s=this.program.totalOverhead){let a=this.getMember(e);if(a&&a.kind==10){let o=a.instance;if(!o)return 0;assert(o.isField&&o.memoryOffset>=0);let p=s+o.memoryOffset,c=o.type.kind;switch(c){case 1:case 6:return assert(!i64_is(r)),ce(i32(r),n,p),1;case 2:case 7:return assert(!i64_is(r)),Vt(i32(r),n,p),2;case 3:case 8:return assert(!i64_is(r)),he(i32(r),n,p),4;case 5:case 10:return this.program.options.isWasm64?(i64_is(r)?Jr(r,n,p):Ks(i32(r),n,p,c==10),8):(i64_is(r)?Yu(r,n,p,c==10):he(i32(r),n,p),4);case 4:case 9:return i64_is(r)?Jr(r,n,p):Ks(i32(r),n,p,c==9),8;case 11:return assert(!i64_is(r)),ur(f32(r),n,p),4;case 12:return assert(!i64_is(r)),pr(f64(r),n,p),8}}return assert(!1),0}extendsPrototype(e){return this.prototype.extends(e)}getTypeArgumentsTo(e){let r=this;do{if(r.prototype==e)return r.typeArguments;r=r.base}while(r);return null}getArrayValueType(){let e=this,r=this.program,n=r.arrayPrototype;if(this.extendsPrototype(n))return this.getTypeArgumentsTo(n)[0];let s=r.staticArrayPrototype;if(this.extendsPrototype(s))return this.getTypeArgumentsTo(s)[0];let a=r.arrayBufferViewInstance;for(;e.base!=a;)e=assert(e.base);let l=e.prototype;switch(l.name.charCodeAt(0)){case 70:{if(l==r.float32ArrayPrototype)return u.f32;if(l==r.float64ArrayPrototype)return u.f64;break}case 73:{if(l==r.int8ArrayPrototype)return u.i8;if(l==r.int16ArrayPrototype)return u.i16;if(l==r.int32ArrayPrototype)return u.i32;if(l==r.int64ArrayPrototype)return u.i64;break}case 85:{if(l==r.uint8ArrayPrototype)return u.u8;if(l==r.uint8ClampedArrayPrototype)return u.u8;if(l==r.uint16ArrayPrototype)return u.u16;if(l==r.uint32ArrayPrototype)return u.u32;if(l==r.uint64ArrayPrototype)return u.u64;break}}return assert(!1),u.void}get isPointerfree(){let e=this.program,r=this.members;if(r){for(let n=Map_values(r),s=0,a=n.length;s(O[O.Bool=0]="Bool",O[O.I8=1]="I8",O[O.I16=2]="I16",O[O.I32=3]="I32",O[O.I64=4]="I64",O[O.Isize=5]="Isize",O[O.U8=6]="U8",O[O.U16=7]="U16",O[O.U32=8]="U32",O[O.U64=9]="U64",O[O.Usize=10]="Usize",O[O.F32=11]="F32",O[O.F64=12]="F64",O[O.V128=13]="V128",O[O.Extern=14]="Extern",O[O.Func=15]="Func",O[O.Any=16]="Any",O[O.Eq=17]="Eq",O[O.Struct=18]="Struct",O[O.Array=19]="Array",O[O.I31=20]="I31",O[O.String=21]="String",O[O.StringviewWTF8=22]="StringviewWTF8",O[O.StringviewWTF16=23]="StringviewWTF16",O[O.StringviewIter=24]="StringviewIter",O[O.Void=25]="Void",O))(Wt||{}),pt=(S=>(S[S.None=0]="None",S[S.Signed=1]="Signed",S[S.Unsigned=2]="Unsigned",S[S.Integer=4]="Integer",S[S.Float=8]="Float",S[S.Varying=16]="Varying",S[S.Short=32]="Short",S[S.Long=64]="Long",S[S.Value=128]="Value",S[S.Reference=256]="Reference",S[S.Nullable=512]="Nullable",S[S.Vector=1024]="Vector",S[S.External=2048]="External",S[S.Class=4096]="Class",S[S.Function=8192]="Function",S))(pt||{}),u=class t{constructor(i,e,r){this.classReference=null;this.signatureReference=null;this._nonNullableType=null;this._nullableType=null;this.ref=0;this.kind=i,this.flags=e,this.size=r,e&512?this._nullableType=this:this._nonNullableType=this}get intType(){if(this==t.auto)return this;switch(this.kind){case 0:case 3:case 11:return t.i32;case 1:return t.i8;case 2:return t.i16;case 12:case 4:return t.i64;case 5:return this.size==64?t.isize64:t.isize32;case 6:return t.u8;case 7:return t.u16;case 8:return t.u32;case 9:return t.u64;case 10:return this.size==64?t.usize64:t.usize32;default:return t.i32}}get exceptVoid(){return this.kind==25?t.auto:this}get byteSize(){return this.size+7>>>3}get alignLog2(){return 31-clz(this.byteSize)}get isValue(){return this.is(128)}get isIntegerValue(){return this.is(132)}get isShortIntegerValue(){return this.is(164)}get isLongIntegerValue(){return this.is(196)}get isSignedIntegerValue(){return this.is(133)}get isUnsignedIntegerValue(){return this.is(134)}get isVaryingIntegerValue(){return this.is(148)}get isIntegerInclReference(){return this.is(4)}get isFloatValue(){return this.is(136)}get isNumericValue(){return this.isIntegerValue||this.isFloatValue}get isBooleanValue(){return this==t.bool}get isVectorValue(){return this.is(1152)}get isReference(){return this.is(256)}get isNullableReference(){return this.is(768)}get isInternalReference(){return this.is(260)}get isExternalReference(){return this.is(2304)}get isNullableExternalReference(){return this.is(2816)}getClass(){return this.isInternalReference?this.classReference:null}get isClass(){return this.getClass()!=null}getClassOrWrapper(i){let e=this.getClass();if(e)return e;{let r=this.getSignature();if(r){let n=r.type,s=assert(i.resolver.resolveClass(i.functionPrototype,[n]));return s.wrappedType=n,s}else{let n=i.wrapperClasses;if(n.has(this))return assert(n.get(this))}}return null}getSignature(){return this.isInternalReference?this.signatureReference:null}get isFunction(){return this.getSignature()!=null}get isManaged(){if(this.isInternalReference){let i=this.classReference;return i?!i.hasDecorator(16):this.signatureReference!=null}return!1}get isUnmanaged(){let i=this.classReference;return i!=null&&i.hasDecorator(16)}get isMemory(){switch(this.kind){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:return!0}return!1}get nonNullableType(){return assert(this._nonNullableType)}get nullableType(){return this.isReference?this.asNullable():null}computeSmallIntegerShift(i){return i.size-this.size}computeSmallIntegerMask(i){let e=this.size;return this.is(2)||(e-=1),-1>>>i.size-e}is(i){return(this.flags&i)==i}isAny(i){return(this.flags&i)!=0}asNullable(){assert(this.isReference);let i=this._nullableType;return i||(assert(!this.isNullableReference),this._nullableType=i=new t(this.kind,this.flags|512,this.size),i.classReference=this.classReference,i.signatureReference=this.signatureReference,i._nonNullableType=this),i}toUnsigned(){switch(this.kind){case 1:return t.u8;case 2:return t.u16;case 3:return t.u32;case 4:return t.u64;case 5:return this.size==64?t.usize64:t.usize32}return this}equals(i){if(this.kind!=i.kind)return!1;if(this.isReference){let e=this.signatureReference,r=i.signatureReference;return this.classReference==i.classReference&&e==r&&this.isNullableReference==i.isNullableReference}return!0}isAssignableTo(i,e=!1){let r,n,s,a;if(this.isReference){if(i.isReference&&(!this.isNullableReference||i.isNullableReference)){if(r=this.getClass()){if(n=i.getClass())return r.isAssignableTo(n)}else if(s=this.getSignature()){if(a=i.getSignature())return s.isAssignableTo(a)}else if(this.isExternalReference&&(this.kind==i.kind||i.kind==16&&this.kind!=14))return!0}}else if(!i.isReference){if(this.isIntegerValue)if(i.isIntegerValue){if(!e||this.isBooleanValue||this.isSignedIntegerValue==i.isSignedIntegerValue)return this.size<=i.size}else{if(i.kind==11)return this.size<=23;if(i.kind==12)return this.size<=52}else if(this.isFloatValue){if(i.isFloatValue)return this.size<=i.size}else if(this.isVectorValue&&i.isVectorValue)return this.size==i.size}return!1}isStrictlyAssignableTo(i,e=!1){return this.isReference?this.isAssignableTo(i):i.isReference?!1:this.isIntegerValue?i.isIntegerValue&&i.size==this.size&&(!e||this.isSignedIntegerValue==i.isSignedIntegerValue):this.kind==i.kind}hasSubtypeAssignableTo(i){let e=this.getClass(),r=i.getClass();return!e||!r?!1:e.hasSubclassAssignableTo(r)}isChangeableTo(i){if(this.is(4)&&i.is(4)){let e=this.size;return e==i.size&&(e>=32||this.is(1)==i.is(1))}return this.kind==i.kind}canExtendOrImplement(i){let e=this.getClass(),r=i.getClass();if(!e||!r||this.isManaged!=i.isManaged)return!1;if(this.isInternalReference){if(!i.isInternalReference)return!1}else if(this.isExternalReference){if(!i.isExternalReference)return!1}else return!1;return!0}static commonType(i,e,r=t.auto,n=!1){if(i.isInternalReference){if(!e.isInternalReference)return null;if(r!=t.void&&i.isAssignableTo(r)&&e.isAssignableTo(r))return r;let s=i.getClass(),a=e.getClass();if(s&&a){let l=Kt.leastUpperBound(s,a);if(l)return i.is(512)||e.is(512)?l.type.asNullable():l.type}}else if(e.isInternalReference)return null;return e.isAssignableTo(i,n)?i:i.isAssignableTo(e,n)?e:null}kindToString(){switch(this.kind){case 0:return B.bool;case 1:return B.i8;case 2:return B.i16;case 3:return B.i32;case 4:return B.i64;case 5:return B.isize;case 6:return B.u8;case 7:return B.u16;case 8:return B.u32;case 9:return B.u64;case 10:return B.usize;case 11:return B.f32;case 12:return B.f64;case 13:return B.v128;case 15:return B.ref_func;case 14:return B.ref_extern;case 16:return B.ref_any;case 17:return B.ref_eq;case 18:return B.ref_struct;case 19:return B.ref_array;case 20:return B.ref_i31;case 21:return B.ref_string;case 22:return B.ref_stringview_wtf8;case 23:return B.ref_stringview_wtf16;case 24:return B.ref_stringview_iter;default:assert(!1);case 25:return B.void_}}toString(i=!1){let e=i?"|null":" | null";if(this.isReference){let r=this.getClass();if(r)return this.isNullableReference?r.internalName+e:r.internalName;{let n=this.getSignature();return n?this.isNullableReference?`(${n.toString(i)})${e}`:n.toString(i):this.isNullableReference?`${this.kindToString()}${e}`:this.kindToString()}}return this.kindToString()}toRef(){switch(this.kind){case 0:case 1:case 2:case 3:case 6:case 7:case 8:return P.I32;case 5:case 10:if(this.size!=64)return P.I32;case 4:case 9:return P.I64;case 11:return P.F32;case 12:return P.F64;case 13:return P.V128;case 15:return ae(ue.Func,this.is(512));case 14:return ae(ue.Extern,this.is(512));case 16:return ae(ue.Any,this.is(512));case 17:return ae(ue.Eq,this.is(512));case 18:return ae(ue.Struct,this.is(512));case 19:return ae(ue.Array,this.is(512));case 20:return ae(ue.I31,this.is(512));case 21:return ae(ue.String,this.is(512));case 22:return ae(ue.StringviewWTF8,this.is(512));case 23:return ae(ue.StringviewWTF16,this.is(512));case 24:return ae(ue.StringviewIter,this.is(512));case 25:return P.None}return assert(!1),Pn(this)}static{this.i8=new t(1,165,8)}static{this.i16=new t(2,165,16)}static{this.i32=new t(3,133,32)}static{this.i64=new t(4,197,64)}static{this.isize32=new t(5,149,32)}static{this.isize64=new t(5,213,64)}static{this.u8=new t(6,166,8)}static{this.u16=new t(7,166,16)}static{this.u32=new t(8,134,32)}static{this.u64=new t(9,198,64)}static{this.usize32=new t(10,150,32)}static{this.usize64=new t(10,214,64)}static{this.bool=new t(0,166,1)}static{this.f32=new t(11,137,32)}static{this.f64=new t(12,201,64)}static{this.v128=new t(13,1152,128)}static{this.func=new t(15,2304,0)}static{this.extern=new t(14,2304,0)}static{this.any=new t(16,2304,0)}static{this.eq=new t(17,2304,0)}static{this.struct=new t(18,2304,0)}static{this.array=new t(19,2304,0)}static{this.i31=new t(20,2304,0)}static{this.string=new t(21,2304,0)}static{this.stringview_wtf8=new t(22,2304,0)}static{this.stringview_wtf16=new t(23,2304,0)}static{this.stringview_iter=new t(24,2304,0)}static{this.void=new t(25,0,0)}static{this.auto=new t(t.i32.kind,t.i32.flags,t.i32.size)}};function Tr(t){let i=t.length,e=new Array(i);for(let r=0;r=l&&p!=o&&e.push("?")}return e.push(i?"%29=>":") => "),e.push(this.returnType.toString(i)),e.join("")}clone(i=this.requiredParameters,e=this.hasRest){let r=this.parameterTypes,n=r.length,s=new Array(n);for(let a=0;a(m.start="~start",m.started="~started",m.argumentsLength="~argumentsLength",m.setArgumentsLength="~setArgumentsLength",m.abort="~lib/builtins/abort",m.trace="~lib/builtins/trace",m.seed="~lib/builtins/seed",m.isBoolean="~lib/builtins/isBoolean",m.isInteger="~lib/builtins/isInteger",m.isSigned="~lib/builtins/isSigned",m.isFloat="~lib/builtins/isFloat",m.isVector="~lib/builtins/isVector",m.isReference="~lib/builtins/isReference",m.isString="~lib/builtins/isString",m.isArray="~lib/builtins/isArray",m.isArrayLike="~lib/builtins/isArrayLike",m.isFunction="~lib/builtins/isFunction",m.isNullable="~lib/builtins/isNullable",m.isDefined="~lib/builtins/isDefined",m.isConstant="~lib/builtins/isConstant",m.isManaged="~lib/builtins/isManaged",m.isVoid="~lib/builtins/isVoid",m.add="~lib/builtins/add",m.sub="~lib/builtins/sub",m.mul="~lib/builtins/mul",m.div="~lib/builtins/div",m.clz="~lib/builtins/clz",m.ctz="~lib/builtins/ctz",m.popcnt="~lib/builtins/popcnt",m.rotl="~lib/builtins/rotl",m.rotr="~lib/builtins/rotr",m.abs="~lib/builtins/abs",m.max="~lib/builtins/max",m.min="~lib/builtins/min",m.ceil="~lib/builtins/ceil",m.floor="~lib/builtins/floor",m.copysign="~lib/builtins/copysign",m.nearest="~lib/builtins/nearest",m.reinterpret="~lib/builtins/reinterpret",m.sqrt="~lib/builtins/sqrt",m.trunc="~lib/builtins/trunc",m.eq="~lib/builtins/eq",m.ne="~lib/builtins/ne",m.rem="~lib/builtins/rem",m.load="~lib/builtins/load",m.store="~lib/builtins/store",m.atomic_load="~lib/builtins/atomic.load",m.atomic_store="~lib/builtins/atomic.store",m.atomic_add="~lib/builtins/atomic.add",m.atomic_sub="~lib/builtins/atomic.sub",m.atomic_and="~lib/builtins/atomic.and",m.atomic_or="~lib/builtins/atomic.or",m.atomic_xor="~lib/builtins/atomic.xor",m.atomic_xchg="~lib/builtins/atomic.xchg",m.atomic_cmpxchg="~lib/builtins/atomic.cmpxchg",m.atomic_wait="~lib/builtins/atomic.wait",m.atomic_notify="~lib/builtins/atomic.notify",m.atomic_fence="~lib/builtins/atomic.fence",m.sizeof="~lib/builtins/sizeof",m.alignof="~lib/builtins/alignof",m.offsetof="~lib/builtins/offsetof",m.nameof="~lib/builtins/nameof",m.lengthof="~lib/builtins/lengthof",m.select="~lib/builtins/select",m.unreachable="~lib/builtins/unreachable",m.changetype="~lib/builtins/changetype",m.assert="~lib/builtins/assert",m.call_indirect="~lib/builtins/call_indirect",m.unchecked="~lib/builtins/unchecked",m.instantiate="~lib/builtins/instantiate",m.idof="~lib/builtins/idof",m.i8="~lib/builtins/i8",m.i16="~lib/builtins/i16",m.i32="~lib/builtins/i32",m.i64="~lib/builtins/i64",m.isize="~lib/builtins/isize",m.u8="~lib/builtins/u8",m.u16="~lib/builtins/u16",m.u32="~lib/builtins/u32",m.u64="~lib/builtins/u64",m.usize="~lib/builtins/usize",m.bool="~lib/builtins/bool",m.f32="~lib/builtins/f32",m.f64="~lib/builtins/f64",m.v128="~lib/builtins/v128",m.i32_clz="~lib/builtins/i32.clz",m.i64_clz="~lib/builtins/i64.clz",m.i32_ctz="~lib/builtins/i32.ctz",m.i64_ctz="~lib/builtins/i64.ctz",m.i32_popcnt="~lib/builtins/i32.popcnt",m.i64_popcnt="~lib/builtins/i64.popcnt",m.i32_rotl="~lib/builtins/i32.rotl",m.i64_rotl="~lib/builtins/i64.rotl",m.i32_rotr="~lib/builtins/i32.rotr",m.i64_rotr="~lib/builtins/i64.rotr",m.f32_abs="~lib/builtins/f32.abs",m.f64_abs="~lib/builtins/f64.abs",m.f32_max="~lib/builtins/f32.max",m.f64_max="~lib/builtins/f64.max",m.f32_min="~lib/builtins/f32.min",m.f64_min="~lib/builtins/f64.min",m.f32_ceil="~lib/builtins/f32.ceil",m.f64_ceil="~lib/builtins/f64.ceil",m.f32_floor="~lib/builtins/f32.floor",m.f64_floor="~lib/builtins/f64.floor",m.f32_copysign="~lib/builtins/f32.copysign",m.f64_copysign="~lib/builtins/f64.copysign",m.f32_nearest="~lib/builtins/f32.nearest",m.f64_nearest="~lib/builtins/f64.nearest",m.i32_reinterpret_f32="~lib/builtins/i32.reinterpret_f32",m.i64_reinterpret_f64="~lib/builtins/i64.reinterpret_f64",m.f32_reinterpret_i32="~lib/builtins/f32.reinterpret_i32",m.f64_reinterpret_i64="~lib/builtins/f64.reinterpret_i64",m.f32_sqrt="~lib/builtins/f32.sqrt",m.f64_sqrt="~lib/builtins/f64.sqrt",m.f32_trunc="~lib/builtins/f32.trunc",m.f64_trunc="~lib/builtins/f64.trunc",m.i32_add="~lib/builtins/i32.add",m.i64_add="~lib/builtins/i64.add",m.f32_add="~lib/builtins/f32.add",m.f64_add="~lib/builtins/f64.add",m.i32_sub="~lib/builtins/i32.sub",m.i64_sub="~lib/builtins/i64.sub",m.f32_sub="~lib/builtins/f32.sub",m.f64_sub="~lib/builtins/f64.sub",m.i32_mul="~lib/builtins/i32.mul",m.i64_mul="~lib/builtins/i64.mul",m.f32_mul="~lib/builtins/f32.mul",m.f64_mul="~lib/builtins/f64.mul",m.i32_div_s="~lib/builtins/i32.div_s",m.i32_div_u="~lib/builtins/i32.div_u",m.i64_div_s="~lib/builtins/i64.div_s",m.i64_div_u="~lib/builtins/i64.div_u",m.f32_div="~lib/builtins/f32.div",m.f64_div="~lib/builtins/f64.div",m.i32_eq="~lib/builtins/i32.eq",m.i64_eq="~lib/builtins/i64.eq",m.f32_eq="~lib/builtins/f32.eq",m.f64_eq="~lib/builtins/f64.eq",m.i32_ne="~lib/builtins/i32.ne",m.i64_ne="~lib/builtins/i64.ne",m.f32_ne="~lib/builtins/f32.ne",m.f64_ne="~lib/builtins/f64.ne",m.i32_rem_s="~lib/builtins/i32.rem_s",m.i32_rem_u="~lib/builtins/i32.rem_u",m.i64_rem_s="~lib/builtins/i64.rem_s",m.i64_rem_u="~lib/builtins/i64.rem_u",m.i32_load8_s="~lib/builtins/i32.load8_s",m.i32_load8_u="~lib/builtins/i32.load8_u",m.i32_load16_s="~lib/builtins/i32.load16_s",m.i32_load16_u="~lib/builtins/i32.load16_u",m.i32_load="~lib/builtins/i32.load",m.i64_load8_s="~lib/builtins/i64.load8_s",m.i64_load8_u="~lib/builtins/i64.load8_u",m.i64_load16_s="~lib/builtins/i64.load16_s",m.i64_load16_u="~lib/builtins/i64.load16_u",m.i64_load32_s="~lib/builtins/i64.load32_s",m.i64_load32_u="~lib/builtins/i64.load32_u",m.i64_load="~lib/builtins/i64.load",m.f32_load="~lib/builtins/f32.load",m.f64_load="~lib/builtins/f64.load",m.i32_store8="~lib/builtins/i32.store8",m.i32_store16="~lib/builtins/i32.store16",m.i32_store="~lib/builtins/i32.store",m.i64_store8="~lib/builtins/i64.store8",m.i64_store16="~lib/builtins/i64.store16",m.i64_store32="~lib/builtins/i64.store32",m.i64_store="~lib/builtins/i64.store",m.f32_store="~lib/builtins/f32.store",m.f64_store="~lib/builtins/f64.store",m.i32_atomic_load8_u="~lib/builtins/i32.atomic.load8_u",m.i32_atomic_load16_u="~lib/builtins/i32.atomic.load16_u",m.i32_atomic_load="~lib/builtins/i32.atomic.load",m.i64_atomic_load8_u="~lib/builtins/i64.atomic.load8_u",m.i64_atomic_load16_u="~lib/builtins/i64.atomic.load16_u",m.i64_atomic_load32_u="~lib/builtins/i64.atomic.load32_u",m.i64_atomic_load="~lib/builtins/i64.atomic.load",m.i32_atomic_store8="~lib/builtins/i32.atomic.store8",m.i32_atomic_store16="~lib/builtins/i32.atomic.store16",m.i32_atomic_store="~lib/builtins/i32.atomic.store",m.i64_atomic_store8="~lib/builtins/i64.atomic.store8",m.i64_atomic_store16="~lib/builtins/i64.atomic.store16",m.i64_atomic_store32="~lib/builtins/i64.atomic.store32",m.i64_atomic_store="~lib/builtins/i64.atomic.store",m.i32_atomic_rmw8_add_u="~lib/builtins/i32.atomic.rmw8.add_u",m.i32_atomic_rmw16_add_u="~lib/builtins/i32.atomic.rmw16.add_u",m.i32_atomic_rmw_add="~lib/builtins/i32.atomic.rmw.add",m.i64_atomic_rmw8_add_u="~lib/builtins/i64.atomic.rmw8.add_u",m.i64_atomic_rmw16_add_u="~lib/builtins/i64.atomic.rmw16.add_u",m.i64_atomic_rmw32_add_u="~lib/builtins/i64.atomic.rmw32.add_u",m.i64_atomic_rmw_add="~lib/builtins/i64.atomic.rmw.add",m.i32_atomic_rmw8_sub_u="~lib/builtins/i32.atomic.rmw8.sub_u",m.i32_atomic_rmw16_sub_u="~lib/builtins/i32.atomic.rmw16.sub_u",m.i32_atomic_rmw_sub="~lib/builtins/i32.atomic.rmw.sub",m.i64_atomic_rmw8_sub_u="~lib/builtins/i64.atomic.rmw8.sub_u",m.i64_atomic_rmw16_sub_u="~lib/builtins/i64.atomic.rmw16.sub_u",m.i64_atomic_rmw32_sub_u="~lib/builtins/i64.atomic.rmw32.sub_u",m.i64_atomic_rmw_sub="~lib/builtins/i64.atomic.rmw.sub",m.i32_atomic_rmw8_and_u="~lib/builtins/i32.atomic.rmw8.and_u",m.i32_atomic_rmw16_and_u="~lib/builtins/i32.atomic.rmw16.and_u",m.i32_atomic_rmw_and="~lib/builtins/i32.atomic.rmw.and",m.i64_atomic_rmw8_and_u="~lib/builtins/i64.atomic.rmw8.and_u",m.i64_atomic_rmw16_and_u="~lib/builtins/i64.atomic.rmw16.and_u",m.i64_atomic_rmw32_and_u="~lib/builtins/i64.atomic.rmw32.and_u",m.i64_atomic_rmw_and="~lib/builtins/i64.atomic.rmw.and",m.i32_atomic_rmw8_or_u="~lib/builtins/i32.atomic.rmw8.or_u",m.i32_atomic_rmw16_or_u="~lib/builtins/i32.atomic.rmw16.or_u",m.i32_atomic_rmw_or="~lib/builtins/i32.atomic.rmw.or",m.i64_atomic_rmw8_or_u="~lib/builtins/i64.atomic.rmw8.or_u",m.i64_atomic_rmw16_or_u="~lib/builtins/i64.atomic.rmw16.or_u",m.i64_atomic_rmw32_or_u="~lib/builtins/i64.atomic.rmw32.or_u",m.i64_atomic_rmw_or="~lib/builtins/i64.atomic.rmw.or",m.i32_atomic_rmw8_xor_u="~lib/builtins/i32.atomic.rmw8.xor_u",m.i32_atomic_rmw16_xor_u="~lib/builtins/i32.atomic.rmw16.xor_u",m.i32_atomic_rmw_xor="~lib/builtins/i32.atomic.rmw.xor",m.i64_atomic_rmw8_xor_u="~lib/builtins/i64.atomic.rmw8.xor_u",m.i64_atomic_rmw16_xor_u="~lib/builtins/i64.atomic.rmw16.xor_u",m.i64_atomic_rmw32_xor_u="~lib/builtins/i64.atomic.rmw32.xor_u",m.i64_atomic_rmw_xor="~lib/builtins/i64.atomic.rmw.xor",m.i32_atomic_rmw8_xchg_u="~lib/builtins/i32.atomic.rmw8.xchg_u",m.i32_atomic_rmw16_xchg_u="~lib/builtins/i32.atomic.rmw16.xchg_u",m.i32_atomic_rmw_xchg="~lib/builtins/i32.atomic.rmw.xchg",m.i64_atomic_rmw8_xchg_u="~lib/builtins/i64.atomic.rmw8.xchg_u",m.i64_atomic_rmw16_xchg_u="~lib/builtins/i64.atomic.rmw16.xchg_u",m.i64_atomic_rmw32_xchg_u="~lib/builtins/i64.atomic.rmw32.xchg_u",m.i64_atomic_rmw_xchg="~lib/builtins/i64.atomic.rmw.xchg",m.i32_atomic_rmw8_cmpxchg_u="~lib/builtins/i32.atomic.rmw8.cmpxchg_u",m.i32_atomic_rmw16_cmpxchg_u="~lib/builtins/i32.atomic.rmw16.cmpxchg_u",m.i32_atomic_rmw_cmpxchg="~lib/builtins/i32.atomic.rmw.cmpxchg",m.i64_atomic_rmw8_cmpxchg_u="~lib/builtins/i64.atomic.rmw8.cmpxchg_u",m.i64_atomic_rmw16_cmpxchg_u="~lib/builtins/i64.atomic.rmw16.cmpxchg_u",m.i64_atomic_rmw32_cmpxchg_u="~lib/builtins/i64.atomic.rmw32.cmpxchg_u",m.i64_atomic_rmw_cmpxchg="~lib/builtins/i64.atomic.rmw.cmpxchg",m.memory_atomic_wait32="~lib/memory/memory.atomic.wait32",m.memory_atomic_wait64="~lib/memory/memory.atomic.wait64",m.v128_splat="~lib/builtins/v128.splat",m.v128_extract_lane="~lib/builtins/v128.extract_lane",m.v128_replace_lane="~lib/builtins/v128.replace_lane",m.v128_shuffle="~lib/builtins/v128.shuffle",m.v128_swizzle="~lib/builtins/v128.swizzle",m.v128_load_splat="~lib/builtins/v128.load_splat",m.v128_load_ext="~lib/builtins/v128.load_ext",m.v128_load_zero="~lib/builtins/v128.load_zero",m.v128_load_lane="~lib/builtins/v128.load_lane",m.v128_store_lane="~lib/builtins/v128.store_lane",m.v128_load="~lib/builtins/v128.load",m.v128_load8x8_s="~lib/builtins/v128.load8x8_s",m.v128_load8x8_u="~lib/builtins/v128.load8x8_u",m.v128_load16x4_s="~lib/builtins/v128.load16x4_s",m.v128_load16x4_u="~lib/builtins/v128.load16x4_u",m.v128_load32x2_s="~lib/builtins/v128.load32x2_s",m.v128_load32x2_u="~lib/builtins/v128.load32x2_u",m.v128_load8_splat="~lib/builtins/v128.load8_splat",m.v128_load16_splat="~lib/builtins/v128.load16_splat",m.v128_load32_splat="~lib/builtins/v128.load32_splat",m.v128_load64_splat="~lib/builtins/v128.load64_splat",m.v128_load32_zero="~lib/builtins/v128.load32_zero",m.v128_load64_zero="~lib/builtins/v128.load64_zero",m.v128_load8_lane="~lib/builtins/v128.load8_lane",m.v128_load16_lane="~lib/builtins/v128.load16_lane",m.v128_load32_lane="~lib/builtins/v128.load32_lane",m.v128_load64_lane="~lib/builtins/v128.load64_lane",m.v128_store8_lane="~lib/builtins/v128.store8_lane",m.v128_store16_lane="~lib/builtins/v128.store16_lane",m.v128_store32_lane="~lib/builtins/v128.store32_lane",m.v128_store64_lane="~lib/builtins/v128.store64_lane",m.v128_store="~lib/builtins/v128.store",m.v128_add="~lib/builtins/v128.add",m.v128_sub="~lib/builtins/v128.sub",m.v128_mul="~lib/builtins/v128.mul",m.v128_div="~lib/builtins/v128.div",m.v128_neg="~lib/builtins/v128.neg",m.v128_add_sat="~lib/builtins/v128.add_sat",m.v128_sub_sat="~lib/builtins/v128.sub_sat",m.v128_shl="~lib/builtins/v128.shl",m.v128_shr="~lib/builtins/v128.shr",m.v128_and="~lib/builtins/v128.and",m.v128_or="~lib/builtins/v128.or",m.v128_xor="~lib/builtins/v128.xor",m.v128_andnot="~lib/builtins/v128.andnot",m.v128_not="~lib/builtins/v128.not",m.v128_bitselect="~lib/builtins/v128.bitselect",m.v128_any_true="~lib/builtins/v128.any_true",m.v128_all_true="~lib/builtins/v128.all_true",m.v128_bitmask="~lib/builtins/v128.bitmask",m.v128_popcnt="~lib/builtins/v128.popcnt",m.v128_min="~lib/builtins/v128.min",m.v128_max="~lib/builtins/v128.max",m.v128_pmin="~lib/builtins/v128.pmin",m.v128_pmax="~lib/builtins/v128.pmax",m.v128_dot="~lib/builtins/v128.dot",m.v128_avgr="~lib/builtins/v128.avgr",m.v128_abs="~lib/builtins/v128.abs",m.v128_sqrt="~lib/builtins/v128.sqrt",m.v128_ceil="~lib/builtins/v128.ceil",m.v128_floor="~lib/builtins/v128.floor",m.v128_trunc="~lib/builtins/v128.trunc",m.v128_nearest="~lib/builtins/v128.nearest",m.v128_eq="~lib/builtins/v128.eq",m.v128_ne="~lib/builtins/v128.ne",m.v128_lt="~lib/builtins/v128.lt",m.v128_le="~lib/builtins/v128.le",m.v128_gt="~lib/builtins/v128.gt",m.v128_ge="~lib/builtins/v128.ge",m.v128_convert="~lib/builtins/v128.convert",m.v128_convert_low="~lib/builtins/v128.convert_low",m.v128_trunc_sat="~lib/builtins/v128.trunc_sat",m.v128_trunc_sat_zero="~lib/builtins/v128.trunc_sat_zero",m.v128_narrow="~lib/builtins/v128.narrow",m.v128_extend_low="~lib/builtins/v128.extend_low",m.v128_extend_high="~lib/builtins/v128.extend_high",m.v128_extadd_pairwise="~lib/builtins/v128.extadd_pairwise",m.v128_demote_zero="~lib/builtins/v128.demote_zero",m.v128_promote_low="~lib/builtins/v128.promote_low",m.v128_q15mulr_sat="~lib/builtins/v128.q15mulr_sat",m.v128_extmul_low="~lib/builtins/v128.extmul_low",m.v128_extmul_high="~lib/builtins/v128.extmul_high",m.v128_relaxed_swizzle="~lib/builtins/v128.relaxed_swizzle",m.v128_relaxed_trunc="~lib/builtins/v128.relaxed_trunc",m.v128_relaxed_trunc_zero="~lib/builtins/v128.relaxed_trunc_zero",m.v128_relaxed_madd="~lib/builtins/v128.relaxed_madd",m.v128_relaxed_nmadd="~lib/builtins/v128.relaxed_nmadd",m.v128_relaxed_laneselect="~lib/builtins/v128.relaxed_laneselect",m.v128_relaxed_min="~lib/builtins/v128.relaxed_min",m.v128_relaxed_max="~lib/builtins/v128.relaxed_max",m.v128_relaxed_q15mulr="~lib/builtins/v128.relaxed_q15mulr",m.v128_relaxed_dot="~lib/builtins/v128.relaxed_dot",m.v128_relaxed_dot_add="~lib/builtins/v128.relaxed_dot_add",m.i8x16="~lib/builtins/i8x16",m.i16x8="~lib/builtins/i16x8",m.i32x4="~lib/builtins/i32x4",m.i64x2="~lib/builtins/i64x2",m.f32x4="~lib/builtins/f32x4",m.f64x2="~lib/builtins/f64x2",m.i8x16_splat="~lib/builtins/i8x16.splat",m.i8x16_extract_lane_s="~lib/builtins/i8x16.extract_lane_s",m.i8x16_extract_lane_u="~lib/builtins/i8x16.extract_lane_u",m.i8x16_replace_lane="~lib/builtins/i8x16.replace_lane",m.i8x16_add="~lib/builtins/i8x16.add",m.i8x16_sub="~lib/builtins/i8x16.sub",m.i8x16_mul="~lib/builtins/i8x16.mul",m.i8x16_min_s="~lib/builtins/i8x16.min_s",m.i8x16_min_u="~lib/builtins/i8x16.min_u",m.i8x16_max_s="~lib/builtins/i8x16.max_s",m.i8x16_max_u="~lib/builtins/i8x16.max_u",m.i8x16_avgr_u="~lib/builtins/i8x16.avgr_u",m.i8x16_abs="~lib/builtins/i8x16.abs",m.i8x16_neg="~lib/builtins/i8x16.neg",m.i8x16_add_sat_s="~lib/builtins/i8x16.add_sat_s",m.i8x16_add_sat_u="~lib/builtins/i8x16.add_sat_u",m.i8x16_sub_sat_s="~lib/builtins/i8x16.sub_sat_s",m.i8x16_sub_sat_u="~lib/builtins/i8x16.sub_sat_u",m.i8x16_shl="~lib/builtins/i8x16.shl",m.i8x16_shr_s="~lib/builtins/i8x16.shr_s",m.i8x16_shr_u="~lib/builtins/i8x16.shr_u",m.i8x16_all_true="~lib/builtins/i8x16.all_true",m.i8x16_bitmask="~lib/builtins/i8x16.bitmask",m.i8x16_popcnt="~lib/builtins/i8x16.popcnt",m.i8x16_eq="~lib/builtins/i8x16.eq",m.i8x16_ne="~lib/builtins/i8x16.ne",m.i8x16_lt_s="~lib/builtins/i8x16.lt_s",m.i8x16_lt_u="~lib/builtins/i8x16.lt_u",m.i8x16_le_s="~lib/builtins/i8x16.le_s",m.i8x16_le_u="~lib/builtins/i8x16.le_u",m.i8x16_gt_s="~lib/builtins/i8x16.gt_s",m.i8x16_gt_u="~lib/builtins/i8x16.gt_u",m.i8x16_ge_s="~lib/builtins/i8x16.ge_s",m.i8x16_ge_u="~lib/builtins/i8x16.ge_u",m.i8x16_narrow_i16x8_s="~lib/builtins/i8x16.narrow_i16x8_s",m.i8x16_narrow_i16x8_u="~lib/builtins/i8x16.narrow_i16x8_u",m.i8x16_shuffle="~lib/builtins/i8x16.shuffle",m.i8x16_swizzle="~lib/builtins/i8x16.swizzle",m.i16x8_splat="~lib/builtins/i16x8.splat",m.i16x8_extract_lane_s="~lib/builtins/i16x8.extract_lane_s",m.i16x8_extract_lane_u="~lib/builtins/i16x8.extract_lane_u",m.i16x8_replace_lane="~lib/builtins/i16x8.replace_lane",m.i16x8_add="~lib/builtins/i16x8.add",m.i16x8_sub="~lib/builtins/i16x8.sub",m.i16x8_mul="~lib/builtins/i16x8.mul",m.i16x8_min_s="~lib/builtins/i16x8.min_s",m.i16x8_min_u="~lib/builtins/i16x8.min_u",m.i16x8_max_s="~lib/builtins/i16x8.max_s",m.i16x8_max_u="~lib/builtins/i16x8.max_u",m.i16x8_avgr_u="~lib/builtins/i16x8.avgr_u",m.i16x8_abs="~lib/builtins/i16x8.abs",m.i16x8_neg="~lib/builtins/i16x8.neg",m.i16x8_add_sat_s="~lib/builtins/i16x8.add_sat_s",m.i16x8_add_sat_u="~lib/builtins/i16x8.add_sat_u",m.i16x8_sub_sat_s="~lib/builtins/i16x8.sub_sat_s",m.i16x8_sub_sat_u="~lib/builtins/i16x8.sub_sat_u",m.i16x8_shl="~lib/builtins/i16x8.shl",m.i16x8_shr_s="~lib/builtins/i16x8.shr_s",m.i16x8_shr_u="~lib/builtins/i16x8.shr_u",m.i16x8_all_true="~lib/builtins/i16x8.all_true",m.i16x8_bitmask="~lib/builtins/i16x8.bitmask",m.i16x8_eq="~lib/builtins/i16x8.eq",m.i16x8_ne="~lib/builtins/i16x8.ne",m.i16x8_lt_s="~lib/builtins/i16x8.lt_s",m.i16x8_lt_u="~lib/builtins/i16x8.lt_u",m.i16x8_le_s="~lib/builtins/i16x8.le_s",m.i16x8_le_u="~lib/builtins/i16x8.le_u",m.i16x8_gt_s="~lib/builtins/i16x8.gt_s",m.i16x8_gt_u="~lib/builtins/i16x8.gt_u",m.i16x8_ge_s="~lib/builtins/i16x8.ge_s",m.i16x8_ge_u="~lib/builtins/i16x8.ge_u",m.i16x8_narrow_i32x4_s="~lib/builtins/i16x8.narrow_i32x4_s",m.i16x8_narrow_i32x4_u="~lib/builtins/i16x8.narrow_i32x4_u",m.i16x8_extend_low_i8x16_s="~lib/builtins/i16x8.extend_low_i8x16_s",m.i16x8_extend_low_i8x16_u="~lib/builtins/i16x8.extend_low_i8x16_u",m.i16x8_extend_high_i8x16_s="~lib/builtins/i16x8.extend_high_i8x16_s",m.i16x8_extend_high_i8x16_u="~lib/builtins/i16x8.extend_high_i8x16_u",m.i16x8_extadd_pairwise_i8x16_s="~lib/builtins/i16x8.extadd_pairwise_i8x16_s",m.i16x8_extadd_pairwise_i8x16_u="~lib/builtins/i16x8.extadd_pairwise_i8x16_u",m.i16x8_q15mulr_sat_s="~lib/builtins/i16x8.q15mulr_sat_s",m.i16x8_extmul_low_i8x16_s="~lib/builtins/i16x8.extmul_low_i8x16_s",m.i16x8_extmul_low_i8x16_u="~lib/builtins/i16x8.extmul_low_i8x16_u",m.i16x8_extmul_high_i8x16_s="~lib/builtins/i16x8.extmul_high_i8x16_s",m.i16x8_extmul_high_i8x16_u="~lib/builtins/i16x8.extmul_high_i8x16_u",m.i16x8_shuffle="~lib/builtins/i16x8.shuffle",m.i32x4_splat="~lib/builtins/i32x4.splat",m.i32x4_extract_lane="~lib/builtins/i32x4.extract_lane",m.i32x4_replace_lane="~lib/builtins/i32x4.replace_lane",m.i32x4_add="~lib/builtins/i32x4.add",m.i32x4_sub="~lib/builtins/i32x4.sub",m.i32x4_mul="~lib/builtins/i32x4.mul",m.i32x4_min_s="~lib/builtins/i32x4.min_s",m.i32x4_min_u="~lib/builtins/i32x4.min_u",m.i32x4_max_s="~lib/builtins/i32x4.max_s",m.i32x4_max_u="~lib/builtins/i32x4.max_u",m.i32x4_dot_i16x8_s="~lib/builtins/i32x4.dot_i16x8_s",m.i32x4_abs="~lib/builtins/i32x4.abs",m.i32x4_neg="~lib/builtins/i32x4.neg",m.i32x4_shl="~lib/builtins/i32x4.shl",m.i32x4_shr_s="~lib/builtins/i32x4.shr_s",m.i32x4_shr_u="~lib/builtins/i32x4.shr_u",m.i32x4_all_true="~lib/builtins/i32x4.all_true",m.i32x4_bitmask="~lib/builtins/i32x4.bitmask",m.i32x4_eq="~lib/builtins/i32x4.eq",m.i32x4_ne="~lib/builtins/i32x4.ne",m.i32x4_lt_s="~lib/builtins/i32x4.lt_s",m.i32x4_lt_u="~lib/builtins/i32x4.lt_u",m.i32x4_le_s="~lib/builtins/i32x4.le_s",m.i32x4_le_u="~lib/builtins/i32x4.le_u",m.i32x4_gt_s="~lib/builtins/i32x4.gt_s",m.i32x4_gt_u="~lib/builtins/i32x4.gt_u",m.i32x4_ge_s="~lib/builtins/i32x4.ge_s",m.i32x4_ge_u="~lib/builtins/i32x4.ge_u",m.i32x4_trunc_sat_f32x4_s="~lib/builtins/i32x4.trunc_sat_f32x4_s",m.i32x4_trunc_sat_f32x4_u="~lib/builtins/i32x4.trunc_sat_f32x4_u",m.i32x4_trunc_sat_f64x2_s_zero="~lib/builtins/i32x4.trunc_sat_f64x2_s_zero",m.i32x4_trunc_sat_f64x2_u_zero="~lib/builtins/i32x4.trunc_sat_f64x2_u_zero",m.i32x4_extend_low_i16x8_s="~lib/builtins/i32x4.extend_low_i16x8_s",m.i32x4_extend_low_i16x8_u="~lib/builtins/i32x4.extend_low_i16x8_u",m.i32x4_extend_high_i16x8_s="~lib/builtins/i32x4.extend_high_i16x8_s",m.i32x4_extend_high_i16x8_u="~lib/builtins/i32x4.extend_high_i16x8_u",m.i32x4_extadd_pairwise_i16x8_s="~lib/builtins/i32x4.extadd_pairwise_i16x8_s",m.i32x4_extadd_pairwise_i16x8_u="~lib/builtins/i32x4.extadd_pairwise_i16x8_u",m.i32x4_extmul_low_i16x8_s="~lib/builtins/i32x4.extmul_low_i16x8_s",m.i32x4_extmul_low_i16x8_u="~lib/builtins/i32x4.extmul_low_i16x8_u",m.i32x4_extmul_high_i16x8_s="~lib/builtins/i32x4.extmul_high_i16x8_s",m.i32x4_extmul_high_i16x8_u="~lib/builtins/i32x4.extmul_high_i16x8_u",m.i32x4_shuffle="~lib/builtins/i32x4.shuffle",m.i64x2_splat="~lib/builtins/i64x2.splat",m.i64x2_extract_lane="~lib/builtins/i64x2.extract_lane",m.i64x2_replace_lane="~lib/builtins/i64x2.replace_lane",m.i64x2_add="~lib/builtins/i64x2.add",m.i64x2_sub="~lib/builtins/i64x2.sub",m.i64x2_mul="~lib/builtins/i64x2.mul",m.i64x2_abs="~lib/builtins/i64x2.abs",m.i64x2_neg="~lib/builtins/i64x2.neg",m.i64x2_shl="~lib/builtins/i64x2.shl",m.i64x2_shr_s="~lib/builtins/i64x2.shr_s",m.i64x2_shr_u="~lib/builtins/i64x2.shr_u",m.i64x2_all_true="~lib/builtins/i64x2.all_true",m.i64x2_bitmask="~lib/builtins/i64x2.bitmask",m.i64x2_eq="~lib/builtins/i64x2.eq",m.i64x2_ne="~lib/builtins/i64x2.ne",m.i64x2_lt_s="~lib/builtins/i64x2.lt_s",m.i64x2_lt_u="~lib/builtins/i64x2.lt_u",m.i64x2_le_s="~lib/builtins/i64x2.le_s",m.i64x2_le_u="~lib/builtins/i64x2.le_u",m.i64x2_gt_s="~lib/builtins/i64x2.gt_s",m.i64x2_gt_u="~lib/builtins/i64x2.gt_u",m.i64x2_ge_s="~lib/builtins/i64x2.ge_s",m.i64x2_ge_u="~lib/builtins/i64x2.ge_u",m.i64x2_extend_low_i32x4_s="~lib/builtins/i64x2.extend_low_i32x4_s",m.i64x2_extend_low_i32x4_u="~lib/builtins/i64x2.extend_low_i32x4_u",m.i64x2_extend_high_i32x4_s="~lib/builtins/i64x2.extend_high_i32x4_s",m.i64x2_extend_high_i32x4_u="~lib/builtins/i64x2.extend_high_i32x4_u",m.i64x2_extmul_low_i32x4_s="~lib/builtins/i64x2.extmul_low_i32x4_s",m.i64x2_extmul_low_i32x4_u="~lib/builtins/i64x2.extmul_low_i32x4_u",m.i64x2_extmul_high_i32x4_s="~lib/builtins/i64x2.extmul_high_i32x4_s",m.i64x2_extmul_high_i32x4_u="~lib/builtins/i64x2.extmul_high_i32x4_u",m.i64x2_shuffle="~lib/builtins/i64x2.shuffle",m.f32x4_splat="~lib/builtins/f32x4.splat",m.f32x4_extract_lane="~lib/builtins/f32x4.extract_lane",m.f32x4_replace_lane="~lib/builtins/f32x4.replace_lane",m.f32x4_add="~lib/builtins/f32x4.add",m.f32x4_sub="~lib/builtins/f32x4.sub",m.f32x4_mul="~lib/builtins/f32x4.mul",m.f32x4_div="~lib/builtins/f32x4.div",m.f32x4_neg="~lib/builtins/f32x4.neg",m.f32x4_min="~lib/builtins/f32x4.min",m.f32x4_max="~lib/builtins/f32x4.max",m.f32x4_pmin="~lib/builtins/f32x4.pmin",m.f32x4_pmax="~lib/builtins/f32x4.pmax",m.f32x4_abs="~lib/builtins/f32x4.abs",m.f32x4_sqrt="~lib/builtins/f32x4.sqrt",m.f32x4_ceil="~lib/builtins/f32x4.ceil",m.f32x4_floor="~lib/builtins/f32x4.floor",m.f32x4_trunc="~lib/builtins/f32x4.trunc",m.f32x4_nearest="~lib/builtins/f32x4.nearest",m.f32x4_eq="~lib/builtins/f32x4.eq",m.f32x4_ne="~lib/builtins/f32x4.ne",m.f32x4_lt="~lib/builtins/f32x4.lt",m.f32x4_le="~lib/builtins/f32x4.le",m.f32x4_gt="~lib/builtins/f32x4.gt",m.f32x4_ge="~lib/builtins/f32x4.ge",m.f32x4_convert_i32x4_s="~lib/builtins/f32x4.convert_i32x4_s",m.f32x4_convert_i32x4_u="~lib/builtins/f32x4.convert_i32x4_u",m.f32x4_demote_f64x2_zero="~lib/builtins/f32x4.demote_f64x2_zero",m.f32x4_shuffle="~lib/builtins/f32x4.shuffle",m.f64x2_splat="~lib/builtins/f64x2.splat",m.f64x2_extract_lane="~lib/builtins/f64x2.extract_lane",m.f64x2_replace_lane="~lib/builtins/f64x2.replace_lane",m.f64x2_add="~lib/builtins/f64x2.add",m.f64x2_sub="~lib/builtins/f64x2.sub",m.f64x2_mul="~lib/builtins/f64x2.mul",m.f64x2_div="~lib/builtins/f64x2.div",m.f64x2_neg="~lib/builtins/f64x2.neg",m.f64x2_min="~lib/builtins/f64x2.min",m.f64x2_max="~lib/builtins/f64x2.max",m.f64x2_pmin="~lib/builtins/f64x2.pmin",m.f64x2_pmax="~lib/builtins/f64x2.pmax",m.f64x2_abs="~lib/builtins/f64x2.abs",m.f64x2_sqrt="~lib/builtins/f64x2.sqrt",m.f64x2_ceil="~lib/builtins/f64x2.ceil",m.f64x2_floor="~lib/builtins/f64x2.floor",m.f64x2_trunc="~lib/builtins/f64x2.trunc",m.f64x2_nearest="~lib/builtins/f64x2.nearest",m.f64x2_eq="~lib/builtins/f64x2.eq",m.f64x2_ne="~lib/builtins/f64x2.ne",m.f64x2_lt="~lib/builtins/f64x2.lt",m.f64x2_le="~lib/builtins/f64x2.le",m.f64x2_gt="~lib/builtins/f64x2.gt",m.f64x2_ge="~lib/builtins/f64x2.ge",m.f64x2_convert_low_i32x4_s="~lib/builtins/f64x2.convert_low_i32x4_s",m.f64x2_convert_low_i32x4_u="~lib/builtins/f64x2.convert_low_i32x4_u",m.f64x2_promote_low_f32x4="~lib/builtins/f64x2.promote_low_f32x4",m.f64x2_shuffle="~lib/builtins/f64x2.shuffle",m.i8x16_relaxed_swizzle="~lib/builtins/i8x16.relaxed_swizzle",m.i32x4_relaxed_trunc_f32x4_s="~lib/builtins/i32x4.relaxed_trunc_f32x4_s",m.i32x4_relaxed_trunc_f32x4_u="~lib/builtins/i32x4.relaxed_trunc_f32x4_u",m.i32x4_relaxed_trunc_f64x2_s_zero="~lib/builtins/i32x4.relaxed_trunc_f64x2_s_zero",m.i32x4_relaxed_trunc_f64x2_u_zero="~lib/builtins/i32x4.relaxed_trunc_f64x2_u_zero",m.f32x4_relaxed_madd="~lib/builtins/f32x4.relaxed_madd",m.f32x4_relaxed_nmadd="~lib/builtins/f32x4.relaxed_nmadd",m.f64x2_relaxed_madd="~lib/builtins/f64x2.relaxed_madd",m.f64x2_relaxed_nmadd="~lib/builtins/f64x2.relaxed_nmadd",m.i8x16_relaxed_laneselect="~lib/builtins/i8x16.relaxed_laneselect",m.i16x8_relaxed_laneselect="~lib/builtins/i16x8.relaxed_laneselect",m.i32x4_relaxed_laneselect="~lib/builtins/i32x4.relaxed_laneselect",m.i64x2_relaxed_laneselect="~lib/builtins/i64x2.relaxed_laneselect",m.f32x4_relaxed_min="~lib/builtins/f32x4.relaxed_min",m.f32x4_relaxed_max="~lib/builtins/f32x4.relaxed_max",m.f64x2_relaxed_min="~lib/builtins/f64x2.relaxed_min",m.f64x2_relaxed_max="~lib/builtins/f64x2.relaxed_max",m.i16x8_relaxed_q15mulr_s="~lib/builtins/i16x8.relaxed_q15mulr_s",m.i16x8_relaxed_dot_i8x16_i7x16_s="~lib/builtins/i16x8.relaxed_dot_i8x16_i7x16_s",m.i32x4_relaxed_dot_i8x16_i7x16_add_s="~lib/builtins/i32x4.relaxed_dot_i8x16_i7x16_add_s",m.i31_new="~lib/builtins/i31.new",m.i31_get="~lib/builtins/i31.get",m.data_end="~lib/memory/__data_end",m.stack_pointer="~lib/memory/__stack_pointer",m.heap_base="~lib/memory/__heap_base",m.rtti_base="~lib/rt/__rtti_base",m.visit_globals="~lib/rt/__visit_globals",m.visit_members="~lib/rt/__visit_members",m.tostack="~lib/rt/__tostack",m.NaN="~lib/number/NaN",m.Infinity="~lib/number/Infinity",m.isNaN="~lib/number/isNaN",m.isFinite="~lib/number/isFinite",m.ERROR="~lib/diagnostics/ERROR",m.WARNING="~lib/diagnostics/WARNING",m.INFO="~lib/diagnostics/INFO",m.Function="~lib/function/Function",m.Function_call="~lib/function/Function#call",m.memory_size="~lib/memory/memory.size",m.memory_grow="~lib/memory/memory.grow",m.memory_copy="~lib/memory/memory.copy",m.memory_fill="~lib/memory/memory.fill",m.memory_data="~lib/memory/memory.data",m.Int8Array="~lib/typedarray/Int8Array",m.Uint8Array="~lib/typedarray/Uint8Array",m.Uint8ClampedArray="~lib/typedarray/Uint8ClampedArray",m.Int16Array="~lib/typedarray/Int16Array",m.Uint16Array="~lib/typedarray/Uint16Array",m.Int32Array="~lib/typedarray/Int32Array",m.Uint32Array="~lib/typedarray/Uint32Array",m.Int64Array="~lib/typedarray/Int64Array",m.Uint64Array="~lib/typedarray/Uint64Array",m.Float32Array="~lib/typedarray/Float32Array",m.Float64Array="~lib/typedarray/Float64Array",m.String_raw="~lib/string/String.raw",m.String_eq="~lib/string/String.__eq",m.String_ne="~lib/string/String.__ne",m.String_not="~lib/string/String.__not",m.Object="~lib/object/Object"))(h||={});var jn=class{constructor(i,e,r=e.type,n=e.identifierNode){this.compiler=i;this.element=e;this.contextualType=r;this.reportNode=n}},Cl=class{constructor(i,e,r,n,s,a,l,o){this.compiler=i;this.prototype=e;this.typeArguments=r;this.operands=n;this.thisOperand=s;this.contextualType=a;this.reportNode=l;this.contextIsExact=o}},y=new Map,kt=new Map,tt=new Map,vi=0;function mx(t){let i=t.compiler,e=i.module,r=ke(t);return i.currentType=u.bool,r?ve(t,e.i32(r.isBooleanValue?1:0)):e.unreachable()}y.set(h.isBoolean,mx);function yx(t){let i=t.compiler,e=i.module,r=ke(t);return i.currentType=u.bool,r?ve(t,e.i32(r.isIntegerValue?1:0)):e.unreachable()}y.set(h.isInteger,yx);function gx(t){let i=t.compiler,e=i.module,r=ke(t);return i.currentType=u.bool,r?ve(t,e.i32(r.isSignedIntegerValue?1:0)):e.unreachable()}y.set(h.isSigned,gx);function bx(t){let i=t.compiler,e=i.module,r=ke(t);return i.currentType=u.bool,r?ve(t,e.i32(r.isFloatValue?1:0)):e.unreachable()}y.set(h.isFloat,bx);function xx(t){let i=t.compiler,e=i.module,r=ke(t);return i.currentType=u.bool,r?ve(t,e.i32(r.isVectorValue?1:0)):e.unreachable()}y.set(h.isVector,xx);function Tx(t){let i=t.compiler,e=i.module,r=ke(t);return i.currentType=u.bool,r?ve(t,e.i32(r.isReference?1:0)):e.unreachable()}y.set(h.isReference,Tx);function Ex(t){let i=t.compiler,e=i.module,r=ke(t);if(i.currentType=u.bool,!r)return e.unreachable();let n=r.getClass();return ve(t,e.i32(n&&n.isAssignableTo(i.program.stringInstance)?1:0))}y.set(h.isString,Ex);function vx(t){let i=t.compiler,e=i.module,r=ke(t);if(i.currentType=u.bool,!r)return e.unreachable();let n=r.getClass();return ve(t,e.i32(n&&n.extendsPrototype(i.program.arrayPrototype)?1:0))}y.set(h.isArray,vx);function Sx(t){let i=t.compiler,e=i.module,r=ke(t);if(i.currentType=u.bool,!r)return e.unreachable();let n=r.getClass();return ve(t,e.i32(n&&n.isArrayLike?1:0))}y.set(h.isArrayLike,Sx);function Ix(t){let i=t.compiler,e=i.module,r=ke(t);return i.currentType=u.bool,r?ve(t,e.i32(r.isFunction?1:0)):e.unreachable()}y.set(h.isFunction,Ix);function Fx(t){let i=t.compiler,e=i.module,r=ke(t);return i.currentType=u.bool,r?ve(t,e.i32(r.isNullableReference?1:0)):e.unreachable()}y.set(h.isNullable,Fx);function Rx(t){let i=t.compiler,e=i.module;if(i.currentType=u.bool,x(t)|q(t,1))return e.unreachable();let r=i.resolver.lookupExpression(t.operands[0],i.currentFlow,u.auto,1);return e.i32(r?1:0)}y.set(h.isDefined,Rx);function kx(t){let i=t.compiler,e=i.module;if(i.currentType=u.bool,x(t)|q(t,1))return e.unreachable();let r=i.compileExpression(t.operands[0],u.auto);return i.currentType=u.bool,gl(r,e.ref)?e.block(null,[e.maybeDrop(r),e.i32(0)],ie(r)):e.i32(e.isConstExpression(r)?1:0)}y.set(h.isConstant,kx);function Ax(t){let i=t.compiler,e=i.module,r=ke(t);return i.currentType=u.bool,r?ve(t,e.i32(r.isManaged?1:0)):e.unreachable()}y.set(h.isManaged,Ax);function wx(t){let i=t.compiler,e=i.module,r=ke(t);return i.currentType=u.bool,r?ve(t,e.i32(r.kind==25?1:0)):e.unreachable()}y.set(h.isVoid,wx);function Cx(t){let i=t.compiler,e=i.module,r=ke(t);if(i.currentType=u.i32,!r)return e.unreachable();let n=r.signatureReference;return n?ve(t,e.i32(n.parameterTypes.length)):(i.error(2757,t.reportNode.range,r.toString()),e.unreachable())}y.set(h.lengthof,Cx);function Bx(t){let i=t.compiler,e=i.module;if(i.currentType=i.options.usizeType,$(t)|q(t,0))return e.unreachable();let r=t.typeArguments[0],n=r.byteSize;return n?Bl(i,i64_new(n),t.contextualType):(i.error(203,t.reportNode.typeArgumentsRange,"sizeof",r.toString()),e.unreachable())}y.set(h.sizeof,Bx);function Px(t){let i=t.compiler,e=i.module;if(i.currentType=i.options.usizeType,$(t)|q(t,0))return e.unreachable();let r=t.typeArguments[0],n=r.byteSize;return gt(n)?Bl(i,i64_new(ctz(n)),t.contextualType):(i.error(203,t.reportNode.typeArgumentsRange,"alignof",r.toString()),e.unreachable())}y.set(h.alignof,Px);function Nx(t){let i=t.compiler,e=i.module;if(i.currentType=i.options.usizeType,$(t)|xe(t,0,1))return e.unreachable();let r=t.operands,n=t.contextualType,s=t.typeArguments[0],a=s.getClassOrWrapper(i.program);if(!a)return i.error(203,t.reportNode.typeArgumentsRange,"offsetof",s.toString()),i.options.isWasm64?n.isIntegerValue&&n.size<=32&&(i.currentType=u.u32):n.isIntegerValue&&n.size==64&&(i.currentType=u.u64),e.unreachable();if(r.length){let l=r[0];if(!l.isLiteralKind(2))return i.error(1141,r[0].range),e.unreachable();let o=l.value,p=a.getMember(o);if(p&&p.kind==10){let c=p.instance;if(c&&c.isField)return assert(c.memoryOffset>=0),Bl(i,i64_new(c.memoryOffset),n)}return i.error(2460,l.range,a.internalName,o),e.unreachable()}return Bl(i,i64_new(a.nextMemoryOffset),n)}y.set(h.offsetof,Nx);function Lx(t){let i=t.compiler,e=i.module,r=ke(t);if(!r)return i.currentType=i.program.stringInstance.type,e.unreachable();let n;if(r.isInternalReference){let s=r.getClass();s?n=s.name:(assert(r.getSignature()),n="Function")}else n=r.toString();return ve(t,i.ensureStaticString(n))}y.set(h.nameof,Lx);function Mx(t){let i=t.compiler,e=i.module,r=ke(t);if(i.currentType=u.u32,!r)return e.unreachable();let n=r.getSignature();if(n)return ve(t,e.i32(n.id));let s=r.getClassOrWrapper(i.program);return s&&!s.hasDecorator(16)?ve(t,e.i32(s.id)):(i.error(203,t.reportNode.typeArgumentsRange,"idof",r.toString()),e.unreachable())}y.set(h.idof,Mx);function Gx(t){let i=t.element;if(i.is(1048576)){let e=t.compiler.module;e.addGlobal(i.internalName,P.F64,!1,e.f64(NaN))}}kt.set(h.NaN,Gx);function zx(t){let i=t.compiler,e=i.module;return t.contextualType==u.f32?(i.currentType=u.f32,e.f32(NaN)):(i.currentType=u.f64,e.f64(NaN))}tt.set(h.NaN,zx);function Ux(t){let i=t.element;if(i.is(1048576)){let e=t.compiler.module;e.addGlobal(i.internalName,P.F64,!1,e.f64(1/0))}}kt.set(h.Infinity,Ux);function Vx(t){let i=t.compiler,e=i.module;return t.contextualType==u.f32?(i.currentType=u.f32,e.f32(1/0)):(i.currentType=u.f64,e.f64(1/0))}tt.set(h.Infinity,Vx);function qp(t){let i=t.compiler,e=i.module;if(ne(t,!0)|q(t,1))return e.unreachable();let r=t.typeArguments,n=r?i.compileExpression(t.operands[0],r[0],5):i.compileExpression(t.operands[0],u.i32,4),s=i.currentType;if(s.isValue)switch(s.kind){case 0:case 1:case 6:case 2:case 7:case 3:case 8:return e.unary(0,n);case 5:case 10:return e.unary(129,n);case 4:case 9:return e.unary(1,n)}return i.error(203,t.reportNode.typeArgumentsRange,"clz",s.toString()),e.unreachable()}y.set(h.clz,qp);function Op(t){let i=t.compiler,e=i.module;if(ne(t,!0)|q(t,1))return e.unreachable();let r=t.operands,n=t.typeArguments,s=n?i.compileExpression(r[0],n[0],5):i.compileExpression(r[0],u.i32,4),a=i.currentType;if(a.isValue)switch(a.kind){case 0:case 1:case 6:case 2:case 7:case 3:case 8:return e.unary(2,s);case 5:case 10:return e.unary(130,s);case 4:case 9:return e.unary(3,s)}return i.error(203,t.reportNode.typeArgumentsRange,"ctz",a.toString()),e.unreachable()}y.set(h.ctz,Op);function Wp(t){let i=t.compiler,e=i.module;if(ne(t,!0)|q(t,1))return e.unreachable();let r=t.operands,n=t.typeArguments,s=n?i.compileExpression(r[0],n[0],5):i.compileExpression(r[0],u.i32,4),a=i.currentType;if(a.isValue)switch(i.currentType.kind){case 0:return s;case 1:case 6:case 2:case 7:case 3:case 8:return e.unary(4,s);case 4:case 9:return e.unary(5,s);case 5:case 10:return e.unary(131,s)}return i.error(203,t.reportNode.typeArgumentsRange,"popcnt",a.toString()),e.unreachable()}y.set(h.popcnt,Wp);function Kp(t){let i=t.compiler,e=i.module;if(ne(t,!0)|q(t,2))return e.unreachable();let r=t.operands,n=t.typeArguments,s=n?i.compileExpression(r[0],n[0],5):i.compileExpression(r[0],u.i32,4),a=i.currentType;if(a.isValue){let l=i.compileExpression(r[1],a,1);switch(a.kind){case 0:return s;case 1:case 2:case 6:case 7:{let o=i.currentFlow,p=o.getTempLocal(a);o.setLocalFlag(p.index,2);let c=o.getTempLocal(a);return o.setLocalFlag(c.index,2),e.binary(8,e.binary(10,e.local_tee(p.index,s,!1),e.binary(7,e.local_tee(c.index,l,!1),e.i32(a.size-1))),e.binary(12,e.local_get(p.index,P.I32),e.binary(7,e.binary(1,e.i32(0),e.local_get(c.index,P.I32)),e.i32(a.size-1))))}case 3:case 8:return e.binary(13,s,l);case 4:case 9:return e.binary(38,s,l);case 5:case 10:return e.binary(216,s,l)}}return i.error(203,t.reportNode.typeArgumentsRange,"rotl",a.toString()),e.unreachable()}y.set(h.rotl,Kp);function Hp(t){let i=t.compiler,e=i.module;if(ne(t,!0)|q(t,2))return e.unreachable();let r=t.operands,n=t.typeArguments,s=n?i.compileExpression(r[0],n[0],5):i.compileExpression(r[0],u.i32,4),a=i.currentType;if(a.isValue){let l=i.compileExpression(r[1],a,1);switch(a.kind){case 0:return s;case 1:case 2:case 6:case 7:{let o=i.currentFlow,p=o.getTempLocal(a);o.setLocalFlag(p.index,2);let c=o.getTempLocal(a);return o.setLocalFlag(c.index,2),e.binary(8,e.binary(12,e.local_tee(p.index,s,!1),e.binary(7,e.local_tee(c.index,l,!1),e.i32(a.size-1))),e.binary(10,e.local_get(p.index,P.I32),e.binary(7,e.binary(1,e.i32(0),e.local_get(c.index,P.I32)),e.i32(a.size-1))))}case 3:case 8:return e.binary(14,s,l);case 4:case 9:return e.binary(39,s,l);case 5:case 10:return e.binary(217,s,l)}}return i.error(203,t.reportNode.typeArgumentsRange,"rotr",a.toString()),e.unreachable()}y.set(h.rotr,Hp);function jp(t){let i=t.compiler,e=i.module;if(ne(t,!0)|q(t,1))return e.unreachable();let r=t.operands,n=t.typeArguments,s=n?i.compileExpression(r[0],n[0],5):i.compileExpression(r[0],u.auto,4),a=i.currentType;if(a.isValue)switch(a.kind){case 0:case 6:case 7:case 8:case 9:case 10:return s;case 1:case 2:case 3:{let l=i.currentFlow,o=l.getTempLocal(u.i32),p=l.getTempLocal(u.i32);return e.binary(9,e.binary(0,e.local_tee(p.index,e.binary(11,e.local_tee(o.index,s,!1),e.i32(31)),!1),e.local_get(o.index,P.I32)),e.local_get(p.index,P.I32))}case 5:{let l=i.options,o=i.currentFlow,p=o.getTempLocal(l.usizeType),c=o.getTempLocal(l.usizeType);return e.binary(212,e.binary(203,e.local_tee(c.index,e.binary(214,e.local_tee(p.index,s,!1),i.options.isWasm64?e.i64(63):e.i32(31)),!1),e.local_get(p.index,l.sizeTypeRef)),e.local_get(c.index,l.sizeTypeRef))}case 4:{let l=i.currentFlow,o=l.getTempLocal(u.i64),p=l.getTempLocal(u.i64);return e.binary(34,e.binary(25,e.local_tee(p.index,e.binary(36,e.local_tee(o.index,s,!1),e.i64(63)),!1),e.local_get(o.index,P.I64)),e.local_get(p.index,P.I64))}case 11:return e.unary(8,s);case 12:return e.unary(9,s)}return i.error(203,t.reportNode.typeArgumentsRange,"abs",a.toString()),e.unreachable()}y.set(h.abs,jp);function $p(t){let i=t.compiler,e=i.module;if(ne(t,!0)|q(t,2))return e.unreachable();let r=t.operands,n=t.typeArguments,s=r[0],a=n?i.compileExpression(s,n[0],5):i.compileExpression(r[0],u.auto,4),l=i.currentType;if(l.isValue){let o;!n&&s.isNumericLiteral?(o=i.compileExpression(r[1],l,4),i.currentType!=l&&(a=i.compileExpression(s,l=i.currentType,5))):o=i.compileExpression(r[1],l,5);let p=-1;switch(l.kind){case 1:case 2:case 3:{p=21;break}case 0:case 6:case 7:case 8:{p=22;break}case 4:{p=46;break}case 9:{p=47;break}case 5:{p=224;break}case 10:{p=225;break}case 11:return e.binary(56,a,o);case 12:return e.binary(69,a,o)}if(p!=-1){let c=i.currentFlow,_=l.toRef(),f=c.getTempLocal(l);c.setLocalFlag(f.index,2);let d=c.getTempLocal(l);return c.setLocalFlag(d.index,2),e.select(e.local_tee(f.index,a,!1),e.local_tee(d.index,o,!1),e.binary(p,e.local_get(f.index,_),e.local_get(d.index,_)),_)}}return i.error(203,t.reportNode.typeArgumentsRange,"max",l.toString()),e.unreachable()}y.set(h.max,$p);function Xp(t){let i=t.compiler,e=i.module;if(ne(t,!0)|q(t,2))return e.unreachable();let r=t.operands,n=t.typeArguments,s=r[0],a=n?i.compileExpression(s,n[0],5):i.compileExpression(r[0],u.auto,4),l=i.currentType;if(l.isValue){let o;!n&&s.isNumericLiteral?(o=i.compileExpression(r[1],l,4),i.currentType!=l&&(a=i.compileExpression(s,l=i.currentType,5))):o=i.compileExpression(r[1],l,5);let p=-1;switch(l.kind){case 1:case 2:case 3:{p=17;break}case 0:case 6:case 7:case 8:{p=18;break}case 4:{p=42;break}case 9:{p=43;break}case 5:{p=220;break}case 10:{p=221;break}case 11:return e.binary(55,a,o);case 12:return e.binary(68,a,o)}if(p!=-1){let c=i.currentFlow,_=l.toRef(),f=c.getTempLocal(l);c.setLocalFlag(f.index,2);let d=c.getTempLocal(l);return c.setLocalFlag(d.index,2),e.select(e.local_tee(f.index,a,!1),e.local_tee(d.index,o,!1),e.binary(p,e.local_get(f.index,_),e.local_get(d.index,_)),_)}}return i.error(203,t.reportNode.typeArgumentsRange,"min",l.toString()),e.unreachable()}y.set(h.min,Xp);function Zp(t){let i=t.compiler,e=i.module;if(ne(t,!0)|q(t,1))return e.unreachable();let r=t.operands,n=t.typeArguments,s=n?i.compileExpression(r[0],n[0],1):i.compileExpression(r[0],u.auto,0),a=i.currentType;if(a.isValue)switch(a.kind){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:return s;case 11:return e.unary(10,s);case 12:return e.unary(11,s)}return i.error(203,t.reportNode.typeArgumentsRange,"ceil",a.toString()),e.unreachable()}y.set(h.ceil,Zp);function Yp(t){let i=t.compiler,e=i.module;if(ne(t,!0)|q(t,1))return e.unreachable();let r=t.operands,n=t.typeArguments,s=n?i.compileExpression(r[0],n[0],1):i.compileExpression(r[0],u.auto,0),a=i.currentType;if(a.isValue)switch(a.kind){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:return s;case 11:return e.unary(12,s);case 12:return e.unary(13,s)}return i.error(203,t.reportNode.typeArgumentsRange,"floor",a.toString()),e.unreachable()}y.set(h.floor,Yp);function Qp(t){let i=t.compiler,e=i.module;if(ne(t,!0)|q(t,2))return e.unreachable();let r=t.operands,n=t.typeArguments,s=n?i.compileExpression(r[0],n[0],1):i.compileExpression(r[0],u.f64,0),a=i.currentType;if(a.isValue){let l=i.compileExpression(r[1],a,1);switch(a.kind){case 11:return e.binary(54,s,l);case 12:return e.binary(67,s,l)}}return i.error(203,t.reportNode.typeArgumentsRange,"copysign",a.toString()),e.unreachable()}y.set(h.copysign,Qp);function Jp(t){let i=t.compiler,e=i.module;if(ne(t,!0)|q(t,1))return e.unreachable();let r=t.operands,n=t.typeArguments,s=n?i.compileExpression(r[0],n[0],1):i.compileExpression(r[0],u.auto,0),a=i.currentType;if(a.isValue)switch(a.kind){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:return s;case 11:return e.unary(16,s);case 12:return e.unary(17,s)}return i.error(203,t.reportNode.typeArgumentsRange,"nearest",a.toString()),e.unreachable()}y.set(h.nearest,Jp);function $n(t){let i=t.compiler,e=i.module;if($(t,!0)|q(t,1))return e.unreachable();let r=t.operands,s=t.typeArguments[0];if(s.isValue)switch(s.kind){case 3:case 8:{let a=i.compileExpression(r[0],u.f32,1);return i.currentType=s,e.unary(33,a)}case 4:case 9:{let a=i.compileExpression(r[0],u.f64,1);return i.currentType=s,e.unary(34,a)}case 5:case 10:{let a=i.options.isWasm64,l=i.compileExpression(r[0],a?u.f64:u.f32,1);return i.currentType=s,e.unary(a?34:33,l)}case 11:{let a=i.compileExpression(r[0],u.i32,1);return i.currentType=u.f32,e.unary(45,a)}case 12:{let a=i.compileExpression(r[0],u.i64,1);return i.currentType=u.f64,e.unary(46,a)}}return i.error(203,t.reportNode.typeArgumentsRange,"reinterpret",s.toString()),e.unreachable()}y.set(h.reinterpret,$n);function ec(t){let i=t.compiler,e=i.module;if(ne(t,!0)|q(t,1))return e.unreachable();let r=t.operands,n=t.typeArguments,s=n?i.compileExpression(r[0],n[0],1):i.compileExpression(r[0],u.f64,0),a=i.currentType;if(a.isValue)switch(a.kind){case 11:return e.unary(18,s);case 12:return e.unary(19,s)}return i.error(203,t.reportNode.typeArgumentsRange,"sqrt",a.toString()),e.unreachable()}y.set(h.sqrt,ec);function tc(t){let i=t.compiler,e=i.module;if(ne(t,!0)|q(t,1))return e.unreachable();let r=t.operands,n=t.typeArguments,s=n?i.compileExpression(r[0],n[0],1):i.compileExpression(r[0],u.auto,0),a=i.currentType;if(a.isValue)switch(a.kind){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:return s;case 11:return e.unary(14,s);case 12:return e.unary(15,s)}return i.error(203,t.reportNode.typeArgumentsRange,"trunc",a.toString()),e.unreachable()}y.set(h.trunc,tc);function Dx(t){let i=t.compiler,e=i.module;if(ne(t)|q(t,1))return i.currentType=u.bool,e.unreachable();let r=t.operands,n=t.typeArguments,s=n?i.compileExpression(r[0],n[0],1):i.compileExpression(r[0],u.auto),a=i.currentType;if(i.currentType=u.bool,a.isValue)switch(a.kind){case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:return e.maybeDropCondition(s,e.i32(0));case 11:{if(Q(s)==8)return e.binary(58,s,e.local_get(lt(s),P.F32));let o=i.currentFlow.getTempLocal(u.f32);return e.binary(58,e.local_tee(o.index,s,!1),e.local_get(o.index,P.F32))}case 12:{if(Q(s)==8)return e.binary(71,s,e.local_get(lt(s),P.F64));let o=i.currentFlow.getTempLocal(u.f64);return e.binary(71,e.local_tee(o.index,s,!1),e.local_get(o.index,P.F64))}}return i.error(203,t.reportNode.typeArgumentsRange,"isNaN",a.toString()),e.unreachable()}y.set(h.isNaN,Dx);function qx(t){let i=t.compiler,e=i.module;if(ne(t)|q(t,1))return i.currentType=u.bool,e.unreachable();let r=t.operands,n=t.typeArguments,s=n?i.compileExpression(r[0],n[0],1):i.compileExpression(r[0],u.auto),a=i.currentType;if(i.currentType=u.bool,a.isValue)switch(a.kind){case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:return e.maybeDropCondition(s,e.i32(1));case 11:{if(Q(s)==8)return e.binary(57,e.binary(51,s,e.local_get(lt(s),P.F32)),e.f32(0));let o=i.currentFlow.getTempLocal(u.f32);return e.binary(57,e.binary(51,e.local_tee(o.index,s,!1),e.local_get(o.index,P.F32)),e.f32(0))}case 12:{if(Q(s)==8)return e.binary(70,e.binary(64,s,e.local_get(lt(s),P.F64)),e.f64(0));let o=i.currentFlow.getTempLocal(u.f64);return e.binary(70,e.binary(64,e.local_tee(o.index,s,!1),e.local_get(o.index,P.F64)),e.f64(0))}}return i.error(203,t.reportNode.typeArgumentsRange,"isFinite",a.toString()),e.unreachable()}y.set(h.isFinite,qx);function Ox(t){let i=t.compiler,e=i.module,r=t.element,n=r.type;i.runtimeFeatures|=4,e.addGlobal(r.internalName,n.toRef(),!0,i.makeZero(n))}kt.set(h.heap_base,Ox);function Wx(t){let i=t.compiler,e=i.module,r=t.element,n=r.type;return i.runtimeFeatures|=4,i.currentType=n,e.global_get(r.internalName,n.toRef())}tt.set(h.heap_base,Wx);function Kx(t){let i=t.compiler,e=i.module,r=t.element,n=r.type;i.runtimeFeatures|=1,e.addGlobal(r.internalName,n.toRef(),!0,i.makeZero(n))}kt.set(h.data_end,Kx);function Hx(t){let i=t.compiler,e=i.module,r=t.element,n=r.type;return i.runtimeFeatures|=1,i.currentType=n,e.global_get(r.internalName,n.toRef())}tt.set(h.data_end,Hx);function jx(t){let i=t.compiler,e=i.module,r=t.element,n=r.type;i.runtimeFeatures|=2,e.addGlobal(r.internalName,n.toRef(),!0,i.makeZero(n))}kt.set(h.stack_pointer,jx);function $x(t){let i=t.compiler,e=i.module,r=t.element,n=r.type;return i.runtimeFeatures|=2,i.currentType=n,e.global_get(r.internalName,n.toRef())}tt.set(h.stack_pointer,$x);function Xx(t){let i=t.compiler,e=i.module,r=t.element,n=r.type;i.runtimeFeatures|=8,e.addGlobal(r.internalName,n.toRef(),!0,i.makeZero(n))}kt.set(h.rtti_base,Xx);function Zx(t){let i=t.compiler,e=i.module,r=t.element,n=r.type;return i.runtimeFeatures|=8,i.currentType=n,e.global_get(r.internalName,n.toRef())}tt.set(h.rtti_base,Zx);function Re(t){let i=t.compiler,e=i.module;if($(t,!0)|xe(t,1,3))return e.unreachable();let r=t.operands,n=t.typeArguments,s=t.contextualType,a=n[0],l=s!=u.auto&&a.isIntegerValue&&s.isIntegerValue&&s.size>a.size?s:a;if(!l.isMemory)return i.error(203,t.reportNode.typeArgumentsRange,"load",l.toString()),i.currentType=u.void,e.unreachable();let o=i.compileExpression(r[0],i.options.usizeType,1),p=r.length,c=0,_=a.byteSize;return p>=2&&(c=Ze(r[1],i),c<0||p==3&&(_=Rt(r[2],_,i),_<0))?(i.currentType=l,e.unreachable()):(i.currentType=l,e.load(a.byteSize,a.isSignedIntegerValue,o,l.toRef(),c,_))}y.set(h.load,Re);function rt(t){let i=t.compiler,e=i.module;if(i.currentType=u.void,$(t)|xe(t,2,4))return e.unreachable();let r=t.operands,n=r.length,s=t.typeArguments,a=t.contextualType,l=s[0],o=i.compileExpression(r[0],i.options.usizeType,1),p=t.contextIsExact?i.compileExpression(r[1],a,1):i.compileExpression(r[1],l,l.isIntegerValue?0:1),c=i.currentType;if(!c.isMemory)return i.error(203,t.reportNode.typeArgumentsRange,"store",c.toString()),i.currentType=u.void,e.unreachable();l.isIntegerValue&&(!c.isIntegerValue||c.size=3){if(_=Ze(r[2],i),_<0)return i.currentType=u.void,e.unreachable();if(n==4&&(f=Rt(r[3],f,i),f<0))return i.currentType=u.void,e.unreachable()}return i.currentType=u.void,e.store(l.byteSize,o,p,c.toRef(),_,f)}y.set(h.store,rt);function Xn(t){let i=t.compiler,e=i.module;if(ne(t,!0)|q(t,2))return e.unreachable();let r=t.operands,n=t.typeArguments,s=r[0],a=n?i.compileExpression(s,n[0],1):i.compileExpression(r[0],u.auto),l=i.currentType;if(l.isIntegerValue){let o;if(!n&&s.isNumericLiteral?(o=i.compileExpression(r[1],l),i.currentType!=l&&(a=i.compileExpression(s,l=i.currentType,1))):o=i.compileExpression(r[1],l,1),l.isIntegerValue)return i.makeRem(a,o,l,t.reportNode)}return i.error(203,t.reportNode.typeArgumentsRange,"rem",l.toString()),e.unreachable()}y.set(h.rem,Xn);function Zn(t){let i=t.compiler,e=i.module;if(ne(t,!0)|q(t,2))return e.unreachable();let r=t.operands,n=t.typeArguments,s=r[0],a=n?i.compileExpression(s,n[0],1):i.compileExpression(r[0],u.auto),l=i.currentType;if(l.isValue){let o;if(!n&&s.isNumericLiteral?(o=i.compileExpression(r[1],l),i.currentType!=l&&(a=i.compileExpression(s,l=i.currentType,1))):o=i.compileExpression(r[1],l,1),l.isNumericValue)return i.makeAdd(a,o,l)}return i.error(203,t.reportNode.typeArgumentsRange,"add",l.toString()),e.unreachable()}y.set(h.add,Zn);function Yn(t){let i=t.compiler,e=i.module;if(ne(t,!0)|q(t,2))return e.unreachable();let r=t.operands,n=t.typeArguments,s=r[0],a=n?i.compileExpression(s,n[0],1):i.compileExpression(r[0],u.auto),l=i.currentType;if(l.isValue){let o;if(!n&&s.isNumericLiteral?(o=i.compileExpression(r[1],l),i.currentType!=l&&(a=i.compileExpression(s,l=i.currentType,1))):o=i.compileExpression(r[1],l,1),l.isNumericValue)return i.makeSub(a,o,l)}return i.error(203,t.reportNode.typeArgumentsRange,"sub",l.toString()),e.unreachable()}y.set(h.sub,Yn);function Qn(t){let i=t.compiler,e=i.module;if(ne(t,!0)|q(t,2))return e.unreachable();let r=t.operands,n=t.typeArguments,s=r[0],a=n?i.compileExpression(s,n[0],1):i.compileExpression(r[0],u.auto),l=i.currentType;if(l.isValue){let o;if(!n&&s.isNumericLiteral?(o=i.compileExpression(r[1],l),i.currentType!=l&&(a=i.compileExpression(s,l=i.currentType,1))):o=i.compileExpression(r[1],l,1),l.isNumericValue)return i.makeMul(a,o,l)}return i.error(203,t.reportNode.typeArgumentsRange,"mul",l.toString()),e.unreachable()}y.set(h.mul,Qn);function Er(t){let i=t.compiler,e=i.module;if(ne(t,!0)|q(t,2))return e.unreachable();let r=t.operands,n=t.typeArguments,s=r[0],a=n?i.compileExpression(s,n[0],1):i.compileExpression(r[0],u.auto),l=i.currentType;if(l.isValue){let o;if(!n&&s.isNumericLiteral?(o=i.compileExpression(r[1],l),i.currentType!=l&&(a=i.compileExpression(s,l=i.currentType,1))):o=i.compileExpression(r[1],l,1),l.isNumericValue)return i.makeDiv(a,o,l)}return i.error(203,t.reportNode.typeArgumentsRange,"div",l.toString()),e.unreachable()}y.set(h.div,Er);function Jn(t){let i=t.compiler,e=i.module;if(ne(t,!0)|q(t,2))return e.unreachable();let r=t.operands,n=t.typeArguments,s=r[0],a=n?i.compileExpression(s,n[0],1):i.compileExpression(r[0],u.auto),l=i.currentType;if(l.isValue){let o;if(!n&&s.isNumericLiteral?(o=i.compileExpression(r[1],l),i.currentType!=l&&(a=i.compileExpression(s,l=i.currentType,1))):o=i.compileExpression(r[1],l,1),l.isNumericValue)return i.currentType=u.i32,i.makeEq(a,o,l,t.reportNode)}return i.error(203,t.reportNode.typeArgumentsRange,"eq",l.toString()),e.unreachable()}y.set(h.eq,Jn);function es(t){let i=t.compiler,e=i.module;if(ne(t,!0)|q(t,2))return e.unreachable();let r=t.operands,n=t.typeArguments,s=r[0],a=n?i.compileExpression(s,n[0],1):i.compileExpression(r[0],u.auto),l=i.currentType;if(l.isValue){let o;if(!n&&s.isNumericLiteral?(o=i.compileExpression(r[1],l),i.currentType!=l&&(a=i.compileExpression(s,l=i.currentType,1))):o=i.compileExpression(r[1],l,1),l.isNumericValue)return i.currentType=u.i32,i.makeNe(a,o,l,t.reportNode)}return i.error(203,t.reportNode.typeArgumentsRange,"ne",l.toString()),e.unreachable()}y.set(h.ne,es);function $t(t){let i=t.compiler,e=i.module;if(j(t,32)|$(t,!0)|xe(t,1,2))return e.unreachable();let r=t.operands,n=t.typeArguments,s=t.contextualType,a=n[0],l=a.isIntegerValue&&s.isIntegerValue&&s.size>a.size?s:a;if(!a.isIntegerValue)return i.error(203,t.reportNode.typeArgumentsRange,"atomic.load",a.toString()),i.currentType=l,e.unreachable();let o=i.compileExpression(r[0],i.options.usizeType,1),p=r.length==2?Ze(r[1],i):0;return p<0?(i.currentType=l,e.unreachable()):(i.currentType=l,e.atomic_load(a.byteSize,o,l.toRef(),p))}y.set(h.atomic_load,$t);function Xt(t){let i=t.compiler,e=i.module;if(j(t,32)|$(t)|xe(t,2,3))return e.unreachable();let r=t.operands,n=t.typeArguments,s=t.contextualType,a=n[0];if(!a.isIntegerValue)return i.error(203,t.reportNode.typeArgumentsRange,"atomic.store",a.toString()),i.currentType=u.void,e.unreachable();let l=i.compileExpression(r[0],i.options.usizeType,1),o=t.contextIsExact?i.compileExpression(r[1],s,1):i.compileExpression(r[1],a,a.isIntegerValue?0:1),p=i.currentType;a.isIntegerValue&&(!p.isIntegerValue||p.size0){let o=r[0];if(!o.isValue)return i.error(203,t.reportNode.typeArgumentsRange,"memory.data",o.toString()),i.currentType=a,e.unreachable();let p=n[0];if(p.kind!=16||p.literalKind!=5)return i.error(227,n[0].range),i.currentType=a,e.unreachable();let c=p.elementExpressions,_=c.length,f=new Array(_),d=!0;for(let T=0;T<_;++T){let E=c[T];if(E.kind!=19){let F=i.compileExpression(E,o,1),I=e.runExpression(F,1);I?F=I:d=!1,f[T]=F}else f[T]=i.makeZero(o)}if(!d)return i.error(220,p.range),i.currentType=a,e.unreachable();let g=o.byteSize;if(s==2&&(g=Rt(n[1],g,i),g<0))return i.currentType=a,e.unreachable();let S=new Uint8Array(_*o.byteSize);assert(i.writeStaticBuffer(S,0,o,f)==S.byteLength),l=i.addAlignedMemorySegment(S,g).offset}else{let o=i.compileExpression(n[0],u.i32,1),p=e.runExpression(o,1);if(!p)return i.error(220,n[0].range),i.currentType=a,e.unreachable();let c=ee(p);if(c<1)return i.error(222,n[0].range,"1",i32.MAX_VALUE.toString()),i.currentType=a,e.unreachable();let _=16;if(s==2&&(_=Rt(n[1],_,i),_<0))return i.currentType=a,e.unreachable();l=i.addAlignedMemorySegment(new Uint8Array(c),_).offset}return i.currentType=a,a==u.usize32?(assert(!i64_high(l)),e.i32(i64_low(l))):e.i64(i64_low(l),i64_high(l))}y.set(h.memory_data,s1);function a1(t){let i=t.compiler,e=i.module;if(x(t)|q(t,1))return e.unreachable();let r=t.operands,n=i.compileExpression(r[0],u.i32,1);return i.currentType=u.i31,e.i31_new(n)}y.set(h.i31_new,a1);function l1(t){let i=t.compiler,e=i.module;if(x(t)|q(t,1))return e.unreachable();let r=t.operands,n=i.compileExpression(r[0],u.i31.asNullable(),1);return t.contextualType.is(2)?(i.currentType=u.u32,e.i31_get(n,!1)):(i.currentType=u.i32,e.i31_get(n,!0))}y.set(h.i31_get,l1);function o1(t){let i=t.compiler,e=i.module;if($(t,!0)|q(t,1))return e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.auto),l=i.currentType;return i.currentType=s,l.isChangeableTo(s)?a:(i.error(202,t.reportNode.range,l.toString(),s.toString()),e.unreachable())}y.set(h.changetype,o1);function u1(t){let i=t.compiler,e=i.module,r=t.typeArguments;if(ne(t,!0)|xe(t,1,2))return r&&(assert(r.length),i.currentType=r[0].nonNullableType),e.unreachable();let n=t.operands,s=t.contextualType,a=r?i.compileExpression(n[0],r[0],5):i.compileExpression(n[0],u.bool,4),l=i.currentType;if(i.currentType=l.nonNullableType,i.options.noAssert)return a;let o=e.runExpression(a,0);if(o)switch(ie(o)){case P.I32:{if(ee(o))return a;break}case P.I64:{if(Ee(o)|Ce(o))return a;break}case P.F32:{if(ge(o))return a;break}case P.F64:{if(be(o))return a;break}}let p=i.makeAbort(n.length==2?n[1]:null,t.reportNode);if(i.currentType=l.nonNullableType,s==u.void)switch(i.currentType=u.void,l.kind){case 0:case 1:case 2:case 3:case 6:case 7:case 8:return e.if(e.unary(20,a),p);case 4:case 9:return e.if(e.unary(21,a),p);case 5:case 10:return e.if(e.unary(132,a),p);case 11:return e.if(e.binary(57,a,e.f32(0)),p);case 12:return e.if(e.binary(70,a,e.f64(0)),p);case 15:case 14:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:case 24:return e.if(e.ref_is_null(a),p)}else{i.currentType=l.nonNullableType;let c=i.currentFlow;switch(i.currentType.kind){case 0:case 1:case 2:case 3:case 6:case 7:case 8:{let _=c.getTempLocal(l);return c.setLocalFlag(_.index,2),e.if(e.local_tee(_.index,a,!1),e.local_get(_.index,P.I32),p)}case 4:case 9:{let _=c.getTempLocal(u.i64);return e.if(e.unary(21,e.local_tee(_.index,a,!1)),p,e.local_get(_.index,P.I64))}case 5:case 10:{let _=c.getTempLocal(i.options.usizeType);return e.if(e.unary(132,e.local_tee(_.index,a,l.isManaged)),p,e.local_get(_.index,i.options.sizeTypeRef))}case 11:{let _=c.getTempLocal(u.f32);return e.if(e.binary(57,e.local_tee(_.index,a,!1),e.f32(0)),p,e.local_get(_.index,P.F32))}case 12:{let _=c.getTempLocal(u.f64);return e.if(e.binary(70,e.local_tee(_.index,a,!1),e.f64(0)),p,e.local_get(_.index,P.F64))}case 15:case 14:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:case 24:{let _=c.getTempLocal(l);return e.if(e.ref_is_null(e.local_tee(_.index,a,!1)),p,e.local_get(_.index,l.toRef()))}}}return i.error(203,t.reportNode.typeArgumentsRange,"assert",i.currentType.toString()),p}y.set(h.assert,u1);function p1(t){let i=t.compiler,e=i.module;if(x(t)|q(t,1))return e.unreachable();let r=i.currentFlow,n=i.options.uncheckedBehavior===1,s=r.is(32768);n?assert(!s):r.set(32768);let a=i.compileExpression(t.operands[0],t.contextualType);return s||r.unset(32768),a}y.set(h.unchecked,p1);function c1(t){let i=t.compiler,e=i.module;if(ne(t,!0)|xe(t,1,i32.MAX_VALUE))return e.unreachable();let r=t.operands,n=t.typeArguments,s;n?(assert(n.length),s=n[0]):s=t.contextualType;let a=i.compileExpression(r[0],u.u32,1),l=r.length-1,o=new Array(l),p=new Array(l);for(let c=0;cc)&&(i.error(222,r[1].range,"Lane index","0",c.toString()),o=0),s.kind){case 1:return e.simd_extract(0,a,o);case 6:return e.simd_extract(1,a,o);case 2:return e.simd_extract(2,a,o);case 7:return e.simd_extract(3,a,o);case 3:case 8:return e.simd_extract(4,a,o);case 4:case 9:return e.simd_extract(5,a,o);case 5:case 10:return e.simd_extract(i.options.isWasm64?5:4,a,o);case 11:return e.simd_extract(6,a,o);case 12:return e.simd_extract(7,a,o)}}return i.error(203,t.reportNode.typeArgumentsRange,"v128.extract_lane",s.toString()),e.unreachable()}y.set(h.v128_extract_lane,At);function Sr(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,3))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1),l=i.compileExpression(r[1],u.u8,1),o=i.compileExpression(r[2],s,1);i.currentType=u.v128;let p=0,c=e.runExpression(l,1);if(c?p=ee(c):i.error(220,r[1].range),s.isValue){let _=16/assert(s.byteSize)-1;switch((p<0||p>_)&&(i.error(222,r[1].range,"Lane index","0",_.toString()),p=0),s.kind){case 1:case 6:return e.simd_replace(0,a,p,o);case 2:case 7:return e.simd_replace(1,a,p,o);case 3:case 8:return e.simd_replace(2,a,p,o);case 4:case 9:return e.simd_replace(3,a,p,o);case 5:case 10:return e.simd_replace(i.options.isWasm64?3:2,a,p,o);case 11:return e.simd_replace(4,a,p,o);case 12:return e.simd_replace(5,a,p,o)}}return i.error(203,t.reportNode.typeArgumentsRange,"v128.replace_lane",s.toString()),e.unreachable()}y.set(h.v128_replace_lane,Sr);function Ir(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0];if(s.isValue){let a=s.byteSize,l=16/a;if(assert(Number.isInteger(l)&>(l)),q(t,2+l))return i.currentType=u.v128,e.unreachable();let o=i.compileExpression(r[0],u.v128,1),p=i.compileExpression(r[1],u.v128,1);switch(s.kind){case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:{let c=new Uint8Array(16),_=(l<<1)-1;for(let f=0;f_)&&(i.error(222,d.range,"Lane index","0",_.toString()),T=0)):i.error(220,d.range),a){case 1:{ce(T,c,f);break}case 2:{let E=f<<1,F=T<<1;ce(F,c,E),ce(F+1,c,E+1);break}case 4:{let E=f<<2,F=T<<2;ce(F,c,E),ce(F+1,c,E+1),ce(F+2,c,E+2),ce(F+3,c,E+3);break}case 8:{let E=f<<3,F=T<<3;ce(F,c,E),ce(F+1,c,E+1),ce(F+2,c,E+2),ce(F+3,c,E+3),ce(F+4,c,E+4),ce(F+5,c,E+5),ce(F+6,c,E+6),ce(F+7,c,E+7);break}default:assert(!1)}}return i.currentType=u.v128,e.simd_shuffle(o,p,c)}}}return i.error(203,t.reportNode.typeArgumentsRange,"v128.shuffle",s.toString()),i.currentType=u.v128,e.unreachable()}y.set(h.v128_shuffle,Ir);function Xy(t){let i=t.compiler,e=i.module;if(j(t,16)|x(t)|q(t,2))return i.currentType=u.v128,e.unreachable();let r=t.operands,n=i.compileExpression(r[0],u.v128,1),s=i.compileExpression(r[1],u.v128,1);return e.binary(195,n,s)}y.set(h.v128_swizzle,Xy);function ts(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t,!0)|xe(t,1,3))return e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],i.options.usizeType,1),l=r.length,o=0,p=s.byteSize;if(l>=2){if(o=Ze(r[1],i),o<0)return i.currentType=u.v128,e.unreachable();if(l==3&&(p=Rt(r[2],p,i),p<0))return i.currentType=u.v128,e.unreachable()}if(i.currentType=u.v128,s.isValue)switch(s.kind){case 1:case 6:return e.simd_load(0,a,o,p);case 2:case 7:return e.simd_load(1,a,o,p);case 3:case 8:case 11:return e.simd_load(2,a,o,p);case 5:case 10:if(!i.options.isWasm64)return e.simd_load(2,a,o,p);case 4:case 9:case 12:return e.simd_load(3,a,o,p)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.load_splat",s.toString()),e.unreachable()}y.set(h.v128_load_splat,ts);function Fr(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t,!0)|xe(t,1,3))return e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],i.options.usizeType,1),l=r.length,o=0,p=s.byteSize;if(l>=2){if(o=Ze(r[1],i),o<0)return i.currentType=u.v128,e.unreachable();if(l==3&&(p=Rt(r[2],p,i),p<0))return i.currentType=u.v128,e.unreachable()}if(i.currentType=u.v128,s.isValue)switch(s.kind){case 1:return e.simd_load(4,a,o,p);case 6:return e.simd_load(5,a,o,p);case 2:return e.simd_load(6,a,o,p);case 7:return e.simd_load(7,a,o,p);case 5:if(i.options.isWasm64)break;case 3:return e.simd_load(8,a,o,p);case 10:if(i.options.isWasm64)break;case 8:return e.simd_load(9,a,o,p)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.load_ext",s.toString()),e.unreachable()}y.set(h.v128_load_ext,Fr);function nc(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t,!0)|xe(t,1,3))return e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],i.options.usizeType,1),l=r.length,o=0,p=s.byteSize;if(l>=2){if(o=Ze(r[1],i),o<0)return i.currentType=u.v128,e.unreachable();if(l==3&&(p=Rt(r[2],p,i),p<0))return i.currentType=u.v128,e.unreachable()}if(i.currentType=u.v128,s.isValue)switch(s.kind){case 3:case 8:case 11:return e.simd_load(10,a,o,p);case 4:case 9:case 12:return e.simd_load(11,a,o,p);case 5:case 10:return e.simd_load(i.options.isWasm64?11:10,a,o,p)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.load_zero",s.toString()),e.unreachable()}y.set(h.v128_load_zero,nc);function rs(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t,!0)|xe(t,3,5))return e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],i.options.usizeType,1),l=i.compileExpression(r[1],u.v128,1),o=i.compileExpression(r[2],u.u8,1),p=0,c=e.runExpression(o,1);c?p=ee(c):i.error(220,r[2].range);let _=r.length,f=0,d=s.byteSize;if(_>=4){if(f=Ze(r[3],i),f<0)return i.currentType=u.v128,e.unreachable();if(_==5&&(d=Rt(r[4],d,i),d<0))return i.currentType=u.v128,e.unreachable()}if(i.currentType=u.v128,s.isValue){let g=16/assert(s.byteSize)-1;switch((p<0||p>g)&&(i.error(222,r[1].range,"Lane index","0",g.toString()),p=0),s.kind){case 1:case 6:return e.simd_loadstorelane(0,a,f,d,p,l);case 2:case 7:return e.simd_loadstorelane(1,a,f,d,p,l);case 3:case 8:case 11:return e.simd_loadstorelane(2,a,f,d,p,l);case 4:case 9:case 12:return e.simd_loadstorelane(3,a,f,d,p,l);case 5:case 10:return e.simd_loadstorelane(i.options.isWasm64?3:2,a,f,d,p,l)}}return i.error(203,t.reportNode.typeArgumentsRange,"v128.load_lane",s.toString()),e.unreachable()}y.set(h.v128_load_lane,rs);function is(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t,!0)|xe(t,3,5))return e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],i.options.usizeType,1),l=i.compileExpression(r[1],u.v128,1),o=i.compileExpression(r[2],u.u8,1),p=0,c=e.runExpression(o,1);c?p=ee(c):i.error(220,r[2].range);let _=r.length,f=0,d=s.byteSize;if(_>=4){if(f=Ze(r[3],i),f<0)return i.currentType=u.v128,e.unreachable();if(_==5&&(d=Rt(r[4],d,i),d<0))return i.currentType=u.v128,e.unreachable()}if(i.currentType=u.void,s.isValue){let g=16/assert(s.byteSize)-1;switch((p<0||p>g)&&(i.error(222,r[1].range,"Lane index","0",g.toString()),p=0),s.kind){case 1:case 6:return e.simd_loadstorelane(4,a,f,d,p,l);case 2:case 7:return e.simd_loadstorelane(5,a,f,d,p,l);case 3:case 8:case 11:return e.simd_loadstorelane(6,a,f,d,p,l);case 4:case 9:case 12:return e.simd_loadstorelane(7,a,f,d,p,l);case 5:case 10:return e.simd_loadstorelane(i.options.isWasm64?7:6,a,f,d,p,l)}}return i.error(203,t.reportNode.typeArgumentsRange,"v128.store_lane",s.toString()),e.unreachable()}y.set(h.v128_store_lane,is);function Rr(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,2))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1),l=i.compileExpression(r[1],u.v128,1);if(s.isValue)switch(s.kind){case 1:case 6:return e.binary(128,a,l);case 2:case 7:return e.binary(139,a,l);case 3:case 8:return e.binary(156,a,l);case 4:case 9:return e.binary(168,a,l);case 5:case 10:return e.binary(i.options.isWasm64?168:156,a,l);case 11:return e.binary(175,a,l);case 12:return e.binary(183,a,l)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.add",s.toString()),e.unreachable()}y.set(h.v128_add,Rr);function kr(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,2))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1),l=i.compileExpression(r[1],u.v128,1);if(s.isValue)switch(s.kind){case 1:case 6:return e.binary(131,a,l);case 2:case 7:return e.binary(142,a,l);case 3:case 8:return e.binary(157,a,l);case 4:case 9:return e.binary(169,a,l);case 5:case 10:return e.binary(i.options.isWasm64?169:157,a,l);case 11:return e.binary(176,a,l);case 12:return e.binary(184,a,l)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.sub",s.toString()),e.unreachable()}y.set(h.v128_sub,kr);function Ii(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,2))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1),l=i.compileExpression(r[1],u.v128,1);if(s.isValue)switch(s.kind){case 2:case 7:return e.binary(145,a,l);case 3:case 8:return e.binary(158,a,l);case 4:case 9:return e.binary(170,a,l);case 5:case 10:return e.binary(i.options.isWasm64?170:158,a,l);case 11:return e.binary(177,a,l);case 12:return e.binary(185,a,l)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.mul",s.toString()),e.unreachable()}y.set(h.v128_mul,Ii);function sc(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,2))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1),l=i.compileExpression(r[1],u.v128,1);if(s.isValue)switch(s.kind){case 11:return e.binary(178,a,l);case 12:return e.binary(186,a,l)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.div",s.toString()),e.unreachable()}y.set(h.v128_div,sc);function ns(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,2))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1),l=i.compileExpression(r[1],u.v128,1);if(s.isValue)switch(s.kind){case 1:return e.binary(129,a,l);case 6:return e.binary(130,a,l);case 2:return e.binary(140,a,l);case 7:return e.binary(141,a,l)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.add_sat",s.toString()),e.unreachable()}y.set(h.v128_add_sat,ns);function ss(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,2))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1),l=i.compileExpression(r[1],u.v128,1);if(s.isValue)switch(s.kind){case 1:return e.binary(132,a,l);case 6:return e.binary(133,a,l);case 2:return e.binary(143,a,l);case 7:return e.binary(144,a,l)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.sub_sat",s.toString()),e.unreachable()}y.set(h.v128_sub_sat,ss);function wt(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,2))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1),l=i.compileExpression(r[1],u.v128,1);if(s.isValue)switch(s.kind){case 1:return e.binary(134,a,l);case 6:return e.binary(135,a,l);case 2:return e.binary(146,a,l);case 7:return e.binary(147,a,l);case 5:if(i.options.isWasm64)break;case 3:return e.binary(159,a,l);case 10:if(i.options.isWasm64)break;case 8:return e.binary(160,a,l);case 11:return e.binary(179,a,l);case 12:return e.binary(187,a,l)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.min",s.toString()),e.unreachable()}y.set(h.v128_min,wt);function Ct(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,2))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1),l=i.compileExpression(r[1],u.v128,1);if(s.isValue)switch(s.kind){case 1:return e.binary(136,a,l);case 6:return e.binary(137,a,l);case 2:return e.binary(148,a,l);case 7:return e.binary(149,a,l);case 5:if(i.options.isWasm64)break;case 3:return e.binary(161,a,l);case 10:if(i.options.isWasm64)break;case 8:return e.binary(162,a,l);case 11:return e.binary(180,a,l);case 12:return e.binary(188,a,l)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.max",s.toString()),e.unreachable()}y.set(h.v128_max,Ct);function ac(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,2))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1),l=i.compileExpression(r[1],u.v128,1);if(s.isValue)switch(s.kind){case 11:return e.binary(181,a,l);case 12:return e.binary(189,a,l)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.pmin",s.toString()),e.unreachable()}y.set(h.v128_pmin,ac);function lc(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,2))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1),l=i.compileExpression(r[1],u.v128,1);if(s.isValue)switch(s.kind){case 11:return e.binary(182,a,l);case 12:return e.binary(190,a,l)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.pmax",s.toString()),e.unreachable()}y.set(h.v128_pmax,lc);function Zy(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,2))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1),l=i.compileExpression(r[1],u.v128,1);if(s.isValue)switch(s.kind){case 2:return e.binary(163,a,l)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.dot",s.toString()),e.unreachable()}y.set(h.v128_dot,Zy);function oc(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,2))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1),l=i.compileExpression(r[1],u.v128,1);if(s.isValue)switch(s.kind){case 6:return e.binary(138,a,l);case 7:return e.binary(150,a,l)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.avgr",s.toString()),e.unreachable()}y.set(h.v128_avgr,oc);function Ar(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,2))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1),l=i.compileExpression(r[1],u.v128,1);if(s.isValue)switch(s.kind){case 1:case 6:return e.binary(76,a,l);case 2:case 7:return e.binary(86,a,l);case 3:case 8:return e.binary(96,a,l);case 4:case 9:return e.binary(106,a,l);case 5:case 10:return e.binary(i.options.isWasm64?106:96,a,l);case 11:return e.binary(112,a,l);case 12:return e.binary(118,a,l)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.eq",s.toString()),e.unreachable()}y.set(h.v128_eq,Ar);function wr(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,2))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1),l=i.compileExpression(r[1],u.v128,1);if(s.isValue)switch(s.kind){case 1:case 6:return e.binary(77,a,l);case 2:case 7:return e.binary(87,a,l);case 3:case 8:return e.binary(97,a,l);case 4:case 9:return e.binary(107,a,l);case 5:case 10:return e.binary(i.options.isWasm64?107:97,a,l);case 11:return e.binary(113,a,l);case 12:return e.binary(119,a,l)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.ne",s.toString()),e.unreachable()}y.set(h.v128_ne,wr);function _t(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,2))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1),l=i.compileExpression(r[1],u.v128,1);if(s.isValue)switch(s.kind){case 1:return e.binary(78,a,l);case 6:return e.binary(79,a,l);case 2:return e.binary(88,a,l);case 7:return e.binary(89,a,l);case 3:return e.binary(98,a,l);case 8:return e.binary(99,a,l);case 4:return e.binary(108,a,l);case 5:return e.binary(i.options.isWasm64?108:98,a,l);case 10:{if(i.options.isWasm64)break;return e.binary(99,a,l)}case 11:return e.binary(114,a,l);case 12:return e.binary(120,a,l)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.lt",s.toString()),e.unreachable()}y.set(h.v128_lt,_t);function ft(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,2))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1),l=i.compileExpression(r[1],u.v128,1);if(s.isValue)switch(s.kind){case 1:return e.binary(82,a,l);case 6:return e.binary(83,a,l);case 2:return e.binary(92,a,l);case 7:return e.binary(93,a,l);case 3:return e.binary(102,a,l);case 8:return e.binary(103,a,l);case 4:return e.binary(110,a,l);case 5:return e.binary(i.options.isWasm64?110:102,a,l);case 10:{if(i.options.isWasm64)break;return e.binary(103,a,l)}case 11:return e.binary(116,a,l);case 12:return e.binary(122,a,l)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.le",s.toString()),e.unreachable()}y.set(h.v128_le,ft);function ht(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,2))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1),l=i.compileExpression(r[1],u.v128,1);if(s.isValue)switch(s.kind){case 1:return e.binary(80,a,l);case 6:return e.binary(81,a,l);case 2:return e.binary(90,a,l);case 7:return e.binary(91,a,l);case 3:return e.binary(100,a,l);case 8:return e.binary(101,a,l);case 4:return e.binary(109,a,l);case 5:return e.binary(i.options.isWasm64?109:100,a,l);case 10:{if(i.options.isWasm64)break;return e.binary(101,a,l)}case 11:return e.binary(115,a,l);case 12:return e.binary(121,a,l)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.gt",s.toString()),e.unreachable()}y.set(h.v128_gt,ht);function dt(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,2))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1),l=i.compileExpression(r[1],u.v128,1);if(s.isValue)switch(s.kind){case 1:return e.binary(84,a,l);case 6:return e.binary(85,a,l);case 2:return e.binary(94,a,l);case 7:return e.binary(95,a,l);case 3:return e.binary(104,a,l);case 8:return e.binary(105,a,l);case 4:return e.binary(111,a,l);case 5:return e.binary(i.options.isWasm64?111:104,a,l);case 10:{if(i.options.isWasm64)break;return e.binary(105,a,l)}case 11:return e.binary(117,a,l);case 12:return e.binary(123,a,l)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.ge",s.toString()),e.unreachable()}y.set(h.v128_ge,dt);function as(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,2))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1),l=i.compileExpression(r[1],u.v128,1);if(s.isValue)switch(s.kind){case 2:return e.binary(191,a,l);case 7:return e.binary(192,a,l);case 3:return e.binary(193,a,l);case 8:return e.binary(194,a,l)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.narrow",s.toString()),e.unreachable()}y.set(h.v128_narrow,as);function Cr(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,1))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1);if(s.isValue)switch(s.kind){case 1:case 6:return e.unary(69,a);case 2:case 7:return e.unary(74,a);case 3:case 8:return e.unary(78,a);case 4:case 9:return e.unary(82,a);case 5:case 10:return e.unary(i.options.isWasm64?82:78,a);case 11:return e.unary(86,a);case 12:return e.unary(93,a)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.neg",s.toString()),e.unreachable()}y.set(h.v128_neg,Cr);function Br(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,1))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1);if(s.isValue)switch(s.kind){case 1:return e.unary(68,a);case 2:return e.unary(73,a);case 3:return e.unary(77,a);case 4:return e.unary(81,a);case 5:return e.unary(i.options.isWasm64?81:77,a);case 6:case 7:case 8:case 9:case 10:return a;case 11:return e.unary(85,a);case 12:return e.unary(92,a)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.abs",s.toString()),e.unreachable()}y.set(h.v128_abs,Br);function uc(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,1))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1);if(s.isValue)switch(s.kind){case 11:return e.unary(87,a);case 12:return e.unary(94,a)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.sqrt",s.toString()),e.unreachable()}y.set(h.v128_sqrt,uc);function pc(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,1))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1);if(s.isValue)switch(s.kind){case 11:return e.unary(88,a);case 12:return e.unary(95,a)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.ceil",s.toString()),e.unreachable()}y.set(h.v128_ceil,pc);function cc(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,1))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1);if(s.isValue)switch(s.kind){case 11:return e.unary(89,a);case 12:return e.unary(96,a)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.floor",s.toString()),e.unreachable()}y.set(h.v128_floor,cc);function _c(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,1))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1);if(s.isValue)switch(s.kind){case 11:return e.unary(90,a);case 12:return e.unary(97,a)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.trunc",s.toString()),e.unreachable()}y.set(h.v128_trunc,_c);function fc(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,1))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1);if(s.isValue)switch(s.kind){case 11:return e.unary(91,a);case 12:return e.unary(98,a)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.nearest",s.toString()),e.unreachable()}y.set(h.v128_nearest,fc);function hc(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,1))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1);if(s.isValue)switch(s.kind){case 5:if(i.options.isWasm64)break;case 3:return e.unary(105,a);case 10:if(i.options.isWasm64)break;case 8:return e.unary(106,a)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.convert",s.toString()),e.unreachable()}y.set(h.v128_convert,hc);function dc(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,1))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1);if(s.isValue)switch(s.kind){case 5:if(i.options.isWasm64)break;case 3:return e.unary(119,a);case 10:if(i.options.isWasm64)break;case 8:return e.unary(120,a)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.convert_low",s.toString()),e.unreachable()}y.set(h.v128_convert_low,dc);function mc(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,1))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1);if(s.isValue)switch(s.kind){case 5:if(i.options.isWasm64)break;case 3:return e.unary(103,a);case 10:if(i.options.isWasm64)break;case 8:return e.unary(104,a)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.trunc_sat",s.toString()),e.unreachable()}y.set(h.v128_trunc_sat,mc);function yc(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,1))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1);if(s.isValue)switch(s.kind){case 5:if(i.options.isWasm64)break;case 3:return e.unary(121,a);case 10:if(i.options.isWasm64)break;case 8:return e.unary(122,a)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.trunc_sat_zero",s.toString()),e.unreachable()}y.set(h.v128_trunc_sat_zero,yc);function Pr(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,1))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1);if(s.isValue)switch(s.kind){case 1:return e.unary(107,a);case 6:return e.unary(109,a);case 2:return e.unary(111,a);case 7:return e.unary(113,a);case 5:if(i.options.isWasm64)break;case 3:return e.unary(115,a);case 10:if(i.options.isWasm64)break;case 8:return e.unary(117,a)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.extend_low",s.toString()),e.unreachable()}y.set(h.v128_extend_low,Pr);function Nr(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,1))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1);if(s.isValue)switch(s.kind){case 1:return e.unary(108,a);case 6:return e.unary(110,a);case 2:return e.unary(112,a);case 7:return e.unary(114,a);case 5:if(i.options.isWasm64)break;case 3:return e.unary(116,a);case 10:if(i.options.isWasm64)break;case 8:return e.unary(118,a)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.extend_high",s.toString()),e.unreachable()}y.set(h.v128_extend_high,Nr);function ls(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,2))return i.currentType=u.v128,e.unreachable();let r=t.operands,n=t.typeArguments[0],s=i.compileExpression(r[0],u.v128,1),a=i.compileExpression(r[1],u.i32,1);if(i.currentType=u.v128,n.isValue)switch(n.kind){case 1:case 6:return e.simd_shift(0,s,a);case 2:case 7:return e.simd_shift(3,s,a);case 3:case 8:return e.simd_shift(6,s,a);case 4:case 9:return e.simd_shift(9,s,a);case 5:case 10:return e.simd_shift(i.options.isWasm64?9:6,s,a)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.shl",n.toString()),e.unreachable()}y.set(h.v128_shl,ls);function Bt(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,2))return i.currentType=u.v128,e.unreachable();let r=t.operands,n=t.typeArguments[0],s=i.compileExpression(r[0],u.v128,1),a=i.compileExpression(r[1],u.i32,1);if(i.currentType=u.v128,n.isValue)switch(n.kind){case 1:return e.simd_shift(1,s,a);case 6:return e.simd_shift(2,s,a);case 2:return e.simd_shift(4,s,a);case 7:return e.simd_shift(5,s,a);case 3:return e.simd_shift(7,s,a);case 8:return e.simd_shift(8,s,a);case 4:return e.simd_shift(10,s,a);case 9:return e.simd_shift(11,s,a);case 5:return e.simd_shift(i.options.isWasm64?10:7,s,a);case 10:return e.simd_shift(i.options.isWasm64?11:8,s,a)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.shr",n.toString()),e.unreachable()}y.set(h.v128_shr,Bt);function Pl(t,i){let e=t.compiler,r=e.module;if(j(t,16)|x(t)|q(t,2))return e.currentType=u.v128,r.unreachable();let n=t.operands,s=e.compileExpression(n[0],u.v128,1),a=e.compileExpression(n[1],u.v128,1);return r.binary(i,s,a)}function G1(t){return Pl(t,124)}y.set(h.v128_and,G1);function z1(t){return Pl(t,125)}y.set(h.v128_or,z1);function U1(t){return Pl(t,126)}y.set(h.v128_xor,U1);function V1(t){return Pl(t,127)}y.set(h.v128_andnot,V1);function D1(t,i){let e=t.compiler,r=e.module;if(j(t,16)|x(t)|q(t,1))return e.currentType=u.v128,r.unreachable();let n=t.operands,s=e.compileExpression(n[0],u.v128,1);return r.unary(i,s)}function q1(t){return D1(t,66)}y.set(h.v128_not,q1);function O1(t){let i=t.compiler,e=i.module;if(j(t,16)|x(t)|q(t,3))return i.currentType=u.v128,e.unreachable();let r=t.operands,n=i.compileExpression(r[0],u.v128,1),s=i.compileExpression(r[1],u.v128,1),a=i.compileExpression(r[2],u.v128,1);return e.simd_ternary(0,n,s,a)}y.set(h.v128_bitselect,O1);function W1(t){let i=t.compiler,e=i.module;if(j(t,16)|x(t)|q(t,1))return i.currentType=u.bool,e.unreachable();let r=t.operands,n=i.compileExpression(r[0],u.v128,1);return i.currentType=u.bool,e.unary(67,n)}y.set(h.v128_any_true,W1);function os(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,1))return i.currentType=u.bool,e.unreachable();let r=t.operands,n=t.typeArguments[0],s=i.compileExpression(r[0],u.v128,1);if(i.currentType=u.bool,n.isValue)switch(n.kind){case 1:case 6:return e.unary(70,s);case 2:case 7:return e.unary(75,s);case 3:case 8:return e.unary(79,s);case 4:case 9:return e.unary(83,s);case 5:case 10:return e.unary(i.options.isWasm64?83:79,s)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.all_true",n.toString()),e.unreachable()}y.set(h.v128_all_true,os);function us(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,1))return i.currentType=u.i32,e.unreachable();let r=t.operands,n=t.typeArguments[0],s=i.compileExpression(r[0],u.v128,1);if(i.currentType=u.i32,n.isValue)switch(n.kind){case 1:case 6:return e.unary(71,s);case 2:case 7:return e.unary(76,s);case 3:case 8:return e.unary(80,s);case 4:case 9:return e.unary(84,s);case 5:case 10:return e.unary(i.options.isWasm64?84:80,s)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.bitmask",n.toString()),e.unreachable()}y.set(h.v128_bitmask,us);function Yy(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,1))return i.currentType=u.v128,e.unreachable();let r=t.operands,n=t.typeArguments[0],s=i.compileExpression(r[0],u.v128,1);if(i.currentType=u.v128,n.isValue)switch(n.kind){case 1:case 6:return e.unary(72,s)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.popcnt",n.toString()),e.unreachable()}y.set(h.v128_popcnt,Yy);function ps(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,1))return i.currentType=u.v128,e.unreachable();let r=t.operands,n=t.typeArguments[0],s=i.compileExpression(r[0],u.v128,1);if(i.currentType=u.v128,n.isValue)switch(n.kind){case 1:return e.unary(99,s);case 6:return e.unary(100,s);case 2:return e.unary(101,s);case 7:return e.unary(102,s)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.extadd_pairwise",n.toString()),e.unreachable()}y.set(h.v128_extadd_pairwise,ps);function Qy(t){let i=t.compiler,e=i.module;if(j(t,16)|ne(t)|q(t,1))return i.currentType=u.v128,e.unreachable();let r=t.operands,n=t.typeArguments,s=n?n[0]:u.f64,a=i.compileExpression(r[0],u.v128,1);if(i.currentType=u.v128,s.isValue)switch(s.kind){case 12:return e.unary(123,a)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.demote_zero",s.toString()),e.unreachable()}y.set(h.v128_demote_zero,Qy);function Jy(t){let i=t.compiler,e=i.module;if(j(t,16)|ne(t)|q(t,1))return i.currentType=u.v128,e.unreachable();let r=t.operands,n=t.typeArguments,s=n?n[0]:u.f32,a=i.compileExpression(r[0],u.v128,1);if(i.currentType=u.v128,s.isValue)switch(s.kind){case 11:return e.unary(124,a)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.promote_low",s.toString()),e.unreachable()}y.set(h.v128_promote_low,Jy);function eg(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,2))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1),l=i.compileExpression(r[1],u.v128,1);if(s.isValue)switch(s.kind){case 2:return e.binary(151,a,l)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.q15mulr_sat",s.toString()),e.unreachable()}y.set(h.v128_q15mulr_sat,eg);function Lr(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,2))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1),l=i.compileExpression(r[1],u.v128,1);if(s.isValue)switch(s.kind){case 1:return e.binary(152,a,l);case 6:return e.binary(154,a,l);case 2:return e.binary(164,a,l);case 7:return e.binary(166,a,l);case 3:return e.binary(171,a,l);case 8:return e.binary(173,a,l)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.extmul_low",s.toString()),e.unreachable()}y.set(h.v128_extmul_low,Lr);function Mr(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,2))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1),l=i.compileExpression(r[1],u.v128,1);if(s.isValue)switch(s.kind){case 1:return e.binary(153,a,l);case 6:return e.binary(155,a,l);case 2:return e.binary(165,a,l);case 7:return e.binary(167,a,l);case 3:return e.binary(172,a,l);case 8:return e.binary(174,a,l)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.extmul_high",s.toString()),e.unreachable()}y.set(h.v128_extmul_high,Mr);function tg(t){let i=t.compiler,e=i.module;if(j(t,4096)|x(t)|q(t,2))return i.currentType=u.v128,e.unreachable();let r=t.operands,n=i.compileExpression(r[0],u.v128,1),s=i.compileExpression(r[1],u.v128,1);return e.binary(196,n,s)}y.set(h.v128_relaxed_swizzle,tg);function gc(t){let i=t.compiler,e=i.module;if(j(t,4096)|$(t)|q(t,1))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1);if(s.isValue)switch(s.kind){case 5:if(i.options.isWasm64)break;case 3:return e.unary(125,a);case 10:if(i.options.isWasm64)break;case 8:return e.unary(126,a)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.relaxed_trunc",s.toString()),e.unreachable()}y.set(h.v128_relaxed_trunc,gc);function bc(t){let i=t.compiler,e=i.module;if(j(t,4096)|$(t)|q(t,1))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1);if(s.isValue)switch(s.kind){case 5:if(i.options.isWasm64)break;case 3:return e.unary(127,a);case 10:if(i.options.isWasm64)break;case 8:return e.unary(128,a)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.relaxed_trunc_zero",s.toString()),e.unreachable()}y.set(h.v128_relaxed_trunc_zero,bc);function xc(t){let i=t.compiler,e=i.module;if(j(t,4096)|$(t)|q(t,3))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1),l=i.compileExpression(r[1],u.v128,1),o=i.compileExpression(r[2],u.v128,1);if(s.isValue)switch(s.kind){case 11:return e.simd_ternary(1,a,l,o);case 12:return e.simd_ternary(3,a,l,o)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.relaxed_madd",s.toString()),e.unreachable()}y.set(h.v128_relaxed_madd,xc);function Tc(t){let i=t.compiler,e=i.module;if(j(t,4096)|$(t)|q(t,3))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1),l=i.compileExpression(r[1],u.v128,1),o=i.compileExpression(r[2],u.v128,1);if(s.isValue)switch(s.kind){case 11:return e.simd_ternary(2,a,l,o);case 12:return e.simd_ternary(4,a,l,o)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.relaxed_nmadd",s.toString()),e.unreachable()}y.set(h.v128_relaxed_nmadd,Tc);function cs(t){let i=t.compiler,e=i.module;if(j(t,4096)|$(t)|q(t,3))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1),l=i.compileExpression(r[1],u.v128,1),o=i.compileExpression(r[2],u.v128,1);if(s.isValue)switch(s.kind){case 1:case 6:return e.simd_ternary(5,a,l,o);case 2:case 7:return e.simd_ternary(6,a,l,o);case 3:case 8:return e.simd_ternary(7,a,l,o);case 4:case 9:return e.simd_ternary(8,a,l,o);case 5:case 10:return e.simd_ternary(i.options.isWasm64?8:7,a,l,o)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.relaxed_laneselect",s.toString()),e.unreachable()}y.set(h.v128_relaxed_laneselect,cs);function Ec(t){let i=t.compiler,e=i.module;if(j(t,4096)|$(t)|q(t,2))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1),l=i.compileExpression(r[1],u.v128,1);if(s.isValue)switch(s.kind){case 11:return e.binary(197,a,l);case 12:return e.binary(199,a,l)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.relaxed_min",s.toString()),e.unreachable()}y.set(h.v128_relaxed_min,Ec);function vc(t){let i=t.compiler,e=i.module;if(j(t,4096)|$(t)|q(t,2))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1),l=i.compileExpression(r[1],u.v128,1);if(s.isValue)switch(s.kind){case 11:return e.binary(198,a,l);case 12:return e.binary(200,a,l)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.relaxed_max",s.toString()),e.unreachable()}y.set(h.v128_relaxed_max,vc);function rg(t){let i=t.compiler,e=i.module;if(j(t,4096)|$(t)|q(t,2))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1),l=i.compileExpression(r[1],u.v128,1);if(s.isValue)switch(s.kind){case 2:return e.binary(201,a,l)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.relaxed_q15mulr",s.toString()),e.unreachable()}y.set(h.v128_relaxed_q15mulr,rg);function ig(t){let i=t.compiler,e=i.module;if(j(t,4096)|q(t,2)|$(t))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1),l=i.compileExpression(r[1],u.v128,1);switch(s.kind){case 2:return e.binary(202,a,l)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.relaxed_dot",s.toString()),e.unreachable()}y.set(h.v128_relaxed_dot,ig);function ng(t){let i=t.compiler,e=i.module;if(j(t,4096)|q(t,3)|$(t))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1),l=i.compileExpression(r[1],u.v128,1),o=i.compileExpression(r[2],u.v128,1);switch(s.kind){case 5:if(i.options.isWasm64)break;case 3:return e.simd_ternary(9,a,l,o)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.relaxed_dot_add",s.toString()),e.unreachable()}y.set(h.v128_relaxed_dot_add,ng);function K1(t){let i=t.compiler,e=i.module;if(x(t)|q(t,1))return i.currentType=u.void,e.unreachable();let r=t.operands,n=i.compileExpression(r[0],u.u32,1);return i.runtimeFeatures|=16,i.currentType=u.void,e.call(h.visit_globals,[n],P.None)}y.set(h.visit_globals,K1);function H1(t){let i=t.compiler,e=i.module;if(x(t)|q(t,2))return i.currentType=u.void,e.unreachable();let r=t.operands,n=i.compileExpression(r[0],i.options.usizeType,1),s=i.compileExpression(r[1],u.u32,1);return i.runtimeFeatures|=32,i.currentType=u.void,e.call(h.visit_members,[n,s],P.None)}y.set(h.visit_members,H1);function j1(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.i32,qp(t)}y.set(h.i32_clz,j1);function $1(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.i64,qp(t)}y.set(h.i64_clz,$1);function X1(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.i32,Op(t)}y.set(h.i32_ctz,X1);function Z1(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.i64,Op(t)}y.set(h.i64_ctz,Z1);function Y1(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.i32,Wp(t)}y.set(h.i32_popcnt,Y1);function Q1(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.i64,Wp(t)}y.set(h.i64_popcnt,Q1);function J1(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.i32,Kp(t)}y.set(h.i32_rotl,J1);function e6(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.i64,Kp(t)}y.set(h.i64_rotl,e6);function t6(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.i32,Hp(t)}y.set(h.i32_rotr,t6);function r6(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.i64,Hp(t)}y.set(h.i64_rotr,r6);function i6(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.f32,jp(t)}y.set(h.f32_abs,i6);function n6(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.f64,jp(t)}y.set(h.f64_abs,n6);function s6(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.f32,$p(t)}y.set(h.f32_max,s6);function a6(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.f64,$p(t)}y.set(h.f64_max,a6);function l6(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.f32,Xp(t)}y.set(h.f32_min,l6);function o6(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.f64,Xp(t)}y.set(h.f64_min,o6);function u6(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.f32,Zp(t)}y.set(h.f32_ceil,u6);function p6(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.f64,Zp(t)}y.set(h.f64_ceil,p6);function c6(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.f32,Yp(t)}y.set(h.f32_floor,c6);function _6(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.f64,Yp(t)}y.set(h.f64_floor,_6);function f6(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.f32,Qp(t)}y.set(h.f32_copysign,f6);function h6(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.f64,Qp(t)}y.set(h.f64_copysign,h6);function d6(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.f32,Jp(t)}y.set(h.f32_nearest,d6);function m6(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.f64,Jp(t)}y.set(h.f64_nearest,m6);function y6(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.f32,$n(t)}y.set(h.i32_reinterpret_f32,y6);function g6(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.f64,$n(t)}y.set(h.i64_reinterpret_f64,g6);function b6(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.i32,$n(t)}y.set(h.f32_reinterpret_i32,b6);function x6(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.i64,$n(t)}y.set(h.f64_reinterpret_i64,x6);function T6(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.f32,ec(t)}y.set(h.f32_sqrt,T6);function E6(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.f64,ec(t)}y.set(h.f64_sqrt,E6);function v6(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.f32,tc(t)}y.set(h.f32_trunc,v6);function S6(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.f64,tc(t)}y.set(h.f64_trunc,S6);function I6(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.i32,Xn(t)}y.set(h.i32_rem_s,I6);function F6(t){return x(t),t.typeArguments=[u.u32],t.contextualType=u.u32,Xn(t)}y.set(h.i32_rem_u,F6);function R6(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.i64,Xn(t)}y.set(h.i64_rem_s,R6);function k6(t){return x(t),t.typeArguments=[u.u64],t.contextualType=u.u64,Xn(t)}y.set(h.i64_rem_u,k6);function A6(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.i32,Zn(t)}y.set(h.i32_add,A6);function w6(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.i64,Zn(t)}y.set(h.i64_add,w6);function C6(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.f32,Zn(t)}y.set(h.f32_add,C6);function B6(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.f64,Zn(t)}y.set(h.f64_add,B6);function P6(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.i32,Yn(t)}y.set(h.i32_sub,P6);function N6(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.i64,Yn(t)}y.set(h.i64_sub,N6);function L6(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.f32,Yn(t)}y.set(h.f32_sub,L6);function M6(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.f64,Yn(t)}y.set(h.f64_sub,M6);function G6(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.i32,Qn(t)}y.set(h.i32_mul,G6);function z6(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.i64,Qn(t)}y.set(h.i64_mul,z6);function U6(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.f32,Qn(t)}y.set(h.f32_mul,U6);function V6(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.f64,Qn(t)}y.set(h.f64_mul,V6);function D6(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.i32,Er(t)}y.set(h.i32_div_s,D6);function q6(t){return x(t),t.typeArguments=[u.u32],t.contextualType=u.u32,Er(t)}y.set(h.i32_div_u,q6);function O6(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.i64,Er(t)}y.set(h.i64_div_s,O6);function W6(t){return x(t),t.typeArguments=[u.u64],t.contextualType=u.u64,Er(t)}y.set(h.i64_div_u,W6);function K6(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.f32,Er(t)}y.set(h.f32_div,K6);function H6(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.f64,Er(t)}y.set(h.f64_div,H6);function j6(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.i32,Jn(t)}y.set(h.i32_eq,j6);function $6(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.i32,Jn(t)}y.set(h.i64_eq,$6);function X6(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.i32,Jn(t)}y.set(h.f32_eq,X6);function Z6(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.i32,Jn(t)}y.set(h.f64_eq,Z6);function Y6(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.i32,es(t)}y.set(h.i32_ne,Y6);function Q6(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.i32,es(t)}y.set(h.i64_ne,Q6);function J6(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.i32,es(t)}y.set(h.f32_ne,J6);function eT(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.i32,es(t)}y.set(h.f64_ne,eT);function tT(t){return x(t),t.typeArguments=[u.i8],t.contextualType=u.i32,Re(t)}y.set(h.i32_load8_s,tT);function rT(t){return x(t),t.typeArguments=[u.u8],t.contextualType=u.i32,Re(t)}y.set(h.i32_load8_u,rT);function iT(t){return x(t),t.typeArguments=[u.i16],t.contextualType=u.i32,Re(t)}y.set(h.i32_load16_s,iT);function nT(t){return x(t),t.typeArguments=[u.u16],t.contextualType=u.i32,Re(t)}y.set(h.i32_load16_u,nT);function sT(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.i32,Re(t)}y.set(h.i32_load,sT);function aT(t){return x(t),t.typeArguments=[u.i8],t.contextualType=u.i64,Re(t)}y.set(h.i64_load8_s,aT);function lT(t){return x(t),t.typeArguments=[u.u8],t.contextualType=u.i64,Re(t)}y.set(h.i64_load8_u,lT);function oT(t){return x(t),t.typeArguments=[u.i16],t.contextualType=u.i64,Re(t)}y.set(h.i64_load16_s,oT);function uT(t){return x(t),t.typeArguments=[u.u16],t.contextualType=u.i64,Re(t)}y.set(h.i64_load16_u,uT);function pT(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.i64,Re(t)}y.set(h.i64_load32_s,pT);function cT(t){return x(t),t.typeArguments=[u.u32],t.contextualType=u.i64,Re(t)}y.set(h.i64_load32_u,cT);function _T(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.i64,Re(t)}y.set(h.i64_load,_T);function fT(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.f32,Re(t)}y.set(h.f32_load,fT);function hT(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.f64,Re(t)}y.set(h.f64_load,hT);function dT(t){return x(t),t.typeArguments=[u.i8],t.contextualType=u.i32,t.contextIsExact=!0,rt(t)}y.set(h.i32_store8,dT);function mT(t){return x(t),t.typeArguments=[u.i16],t.contextualType=u.i32,t.contextIsExact=!0,rt(t)}y.set(h.i32_store16,mT);function yT(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.i32,t.contextIsExact=!0,rt(t)}y.set(h.i32_store,yT);function gT(t){return x(t),t.typeArguments=[u.i8],t.contextualType=u.i64,t.contextIsExact=!0,rt(t)}y.set(h.i64_store8,gT);function bT(t){return x(t),t.typeArguments=[u.i16],t.contextualType=u.i64,t.contextIsExact=!0,rt(t)}y.set(h.i64_store16,bT);function xT(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.i64,t.contextIsExact=!0,rt(t)}y.set(h.i64_store32,xT);function TT(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.i64,t.contextIsExact=!0,rt(t)}y.set(h.i64_store,TT);function ET(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.f32,t.contextIsExact=!0,rt(t)}y.set(h.f32_store,ET);function vT(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.f64,t.contextIsExact=!0,rt(t)}y.set(h.f64_store,vT);function ST(t){return x(t),t.typeArguments=[u.u8],t.contextualType=u.i32,$t(t)}y.set(h.i32_atomic_load8_u,ST);function IT(t){return x(t),t.typeArguments=[u.u16],t.contextualType=u.i32,$t(t)}y.set(h.i32_atomic_load16_u,IT);function FT(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.i32,$t(t)}y.set(h.i32_atomic_load,FT);function RT(t){return x(t),t.typeArguments=[u.u8],t.contextualType=u.i64,$t(t)}y.set(h.i64_atomic_load8_u,RT);function kT(t){return x(t),t.typeArguments=[u.u16],t.contextualType=u.i64,$t(t)}y.set(h.i64_atomic_load16_u,kT);function AT(t){return x(t),t.typeArguments=[u.u32],t.contextualType=u.i64,$t(t)}y.set(h.i64_atomic_load32_u,AT);function wT(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.i64,$t(t)}y.set(h.i64_atomic_load,wT);function CT(t){return x(t),t.typeArguments=[u.i8],t.contextualType=u.i32,t.contextIsExact=!0,Xt(t)}y.set(h.i32_atomic_store8,CT);function BT(t){return x(t),t.typeArguments=[u.i16],t.contextualType=u.i32,t.contextIsExact=!0,Xt(t)}y.set(h.i32_atomic_store16,BT);function PT(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.i32,t.contextIsExact=!0,Xt(t)}y.set(h.i32_atomic_store,PT);function NT(t){return x(t),t.typeArguments=[u.i8],t.contextualType=u.i64,t.contextIsExact=!0,Xt(t)}y.set(h.i64_atomic_store8,NT);function LT(t){return x(t),t.typeArguments=[u.u16],t.contextualType=u.i64,t.contextIsExact=!0,Xt(t)}y.set(h.i64_atomic_store16,LT);function MT(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.i64,t.contextIsExact=!0,Xt(t)}y.set(h.i64_atomic_store32,MT);function GT(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.i64,t.contextIsExact=!0,Xt(t)}y.set(h.i64_atomic_store,GT);function zT(t){return x(t),t.typeArguments=[u.u8],t.contextualType=u.i32,t.contextIsExact=!0,Zt(t)}y.set(h.i32_atomic_rmw8_add_u,zT);function UT(t){return x(t),t.typeArguments=[u.u16],t.contextualType=u.i32,t.contextIsExact=!0,Zt(t)}y.set(h.i32_atomic_rmw16_add_u,UT);function VT(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.i32,t.contextIsExact=!0,Zt(t)}y.set(h.i32_atomic_rmw_add,VT);function DT(t){return x(t),t.typeArguments=[u.u8],t.contextualType=u.i64,t.contextIsExact=!0,Zt(t)}y.set(h.i64_atomic_rmw8_add_u,DT);function qT(t){return x(t),t.typeArguments=[u.u16],t.contextualType=u.i64,t.contextIsExact=!0,Zt(t)}y.set(h.i64_atomic_rmw16_add_u,qT);function OT(t){return x(t),t.typeArguments=[u.u32],t.contextualType=u.i64,t.contextIsExact=!0,Zt(t)}y.set(h.i64_atomic_rmw32_add_u,OT);function WT(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.i64,t.contextIsExact=!0,Zt(t)}y.set(h.i64_atomic_rmw_add,WT);function KT(t){return x(t),t.typeArguments=[u.u8],t.contextualType=u.i32,t.contextIsExact=!0,Yt(t)}y.set(h.i32_atomic_rmw8_sub_u,KT);function HT(t){return x(t),t.typeArguments=[u.u16],t.contextualType=u.i32,t.contextIsExact=!0,Yt(t)}y.set(h.i32_atomic_rmw16_sub_u,HT);function jT(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.i32,t.contextIsExact=!0,Yt(t)}y.set(h.i32_atomic_rmw_sub,jT);function $T(t){return x(t),t.typeArguments=[u.u8],t.contextualType=u.i64,t.contextIsExact=!0,Yt(t)}y.set(h.i64_atomic_rmw8_sub_u,$T);function XT(t){return x(t),t.typeArguments=[u.u16],t.contextualType=u.i64,t.contextIsExact=!0,Yt(t)}y.set(h.i64_atomic_rmw16_sub_u,XT);function ZT(t){return x(t),t.typeArguments=[u.u32],t.contextualType=u.i64,t.contextIsExact=!0,Yt(t)}y.set(h.i64_atomic_rmw32_sub_u,ZT);function YT(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.i64,t.contextIsExact=!0,Yt(t)}y.set(h.i64_atomic_rmw_sub,YT);function QT(t){return x(t),t.typeArguments=[u.u8],t.contextualType=u.i32,t.contextIsExact=!0,Qt(t)}y.set(h.i32_atomic_rmw8_and_u,QT);function JT(t){return x(t),t.typeArguments=[u.u16],t.contextualType=u.i32,t.contextIsExact=!0,Qt(t)}y.set(h.i32_atomic_rmw16_and_u,JT);function e4(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.i32,t.contextIsExact=!0,Qt(t)}y.set(h.i32_atomic_rmw_and,e4);function t4(t){return x(t),t.typeArguments=[u.u8],t.contextualType=u.i64,t.contextIsExact=!0,Qt(t)}y.set(h.i64_atomic_rmw8_and_u,t4);function r4(t){return x(t),t.typeArguments=[u.u16],t.contextualType=u.i64,t.contextIsExact=!0,Qt(t)}y.set(h.i64_atomic_rmw16_and_u,r4);function i4(t){return x(t),t.typeArguments=[u.u32],t.contextualType=u.i64,t.contextIsExact=!0,Qt(t)}y.set(h.i64_atomic_rmw32_and_u,i4);function n4(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.i64,t.contextIsExact=!0,Qt(t)}y.set(h.i64_atomic_rmw_and,n4);function s4(t){return x(t),t.typeArguments=[u.u8],t.contextualType=u.i32,t.contextIsExact=!0,Jt(t)}y.set(h.i32_atomic_rmw8_or_u,s4);function a4(t){return x(t),t.typeArguments=[u.u16],t.contextualType=u.i32,t.contextIsExact=!0,Jt(t)}y.set(h.i32_atomic_rmw16_or_u,a4);function l4(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.i32,t.contextIsExact=!0,Jt(t)}y.set(h.i32_atomic_rmw_or,l4);function o4(t){return x(t),t.typeArguments=[u.u8],t.contextualType=u.i64,t.contextIsExact=!0,Jt(t)}y.set(h.i64_atomic_rmw8_or_u,o4);function u4(t){return x(t),t.typeArguments=[u.u16],t.contextualType=u.i64,t.contextIsExact=!0,Jt(t)}y.set(h.i64_atomic_rmw16_or_u,u4);function p4(t){return x(t),t.typeArguments=[u.u32],t.contextualType=u.i64,t.contextIsExact=!0,Jt(t)}y.set(h.i64_atomic_rmw32_or_u,p4);function c4(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.i64,t.contextIsExact=!0,Jt(t)}y.set(h.i64_atomic_rmw_or,c4);function _4(t){return x(t),t.typeArguments=[u.u8],t.contextualType=u.i32,t.contextIsExact=!0,er(t)}y.set(h.i32_atomic_rmw8_xor_u,_4);function f4(t){return x(t),t.typeArguments=[u.u16],t.contextualType=u.i32,t.contextIsExact=!0,er(t)}y.set(h.i32_atomic_rmw16_xor_u,f4);function h4(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.i32,t.contextIsExact=!0,er(t)}y.set(h.i32_atomic_rmw_xor,h4);function d4(t){return x(t),t.typeArguments=[u.u8],t.contextualType=u.i64,t.contextIsExact=!0,er(t)}y.set(h.i64_atomic_rmw8_xor_u,d4);function m4(t){return x(t),t.typeArguments=[u.u16],t.contextualType=u.i64,t.contextIsExact=!0,er(t)}y.set(h.i64_atomic_rmw16_xor_u,m4);function y4(t){return x(t),t.typeArguments=[u.u32],t.contextualType=u.i64,t.contextIsExact=!0,er(t)}y.set(h.i64_atomic_rmw32_xor_u,y4);function g4(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.i64,t.contextIsExact=!0,er(t)}y.set(h.i64_atomic_rmw_xor,g4);function b4(t){return x(t),t.typeArguments=[u.u8],t.contextualType=u.i32,t.contextIsExact=!0,tr(t)}y.set(h.i32_atomic_rmw8_xchg_u,b4);function x4(t){return x(t),t.typeArguments=[u.u16],t.contextualType=u.i32,t.contextIsExact=!0,tr(t)}y.set(h.i32_atomic_rmw16_xchg_u,x4);function T4(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.i32,t.contextIsExact=!0,tr(t)}y.set(h.i32_atomic_rmw_xchg,T4);function E4(t){return x(t),t.typeArguments=[u.u8],t.contextualType=u.i64,t.contextIsExact=!0,tr(t)}y.set(h.i64_atomic_rmw8_xchg_u,E4);function v4(t){return x(t),t.typeArguments=[u.u16],t.contextualType=u.i64,t.contextIsExact=!0,tr(t)}y.set(h.i64_atomic_rmw16_xchg_u,v4);function S4(t){return x(t),t.typeArguments=[u.u32],t.contextualType=u.i64,t.contextIsExact=!0,tr(t)}y.set(h.i64_atomic_rmw32_xchg_u,S4);function I4(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.i64,t.contextIsExact=!0,tr(t)}y.set(h.i64_atomic_rmw_xchg,I4);function F4(t){return x(t),t.typeArguments=[u.u8],t.contextualType=u.i32,t.contextIsExact=!0,rr(t)}y.set(h.i32_atomic_rmw8_cmpxchg_u,F4);function R4(t){return x(t),t.typeArguments=[u.u16],t.contextualType=u.i32,t.contextIsExact=!0,rr(t)}y.set(h.i32_atomic_rmw16_cmpxchg_u,R4);function k4(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.i32,t.contextIsExact=!0,rr(t)}y.set(h.i32_atomic_rmw_cmpxchg,k4);function A4(t){return x(t),t.typeArguments=[u.u8],t.contextualType=u.i64,t.contextIsExact=!0,rr(t)}y.set(h.i64_atomic_rmw8_cmpxchg_u,A4);function w4(t){return x(t),t.typeArguments=[u.u16],t.contextualType=u.i64,t.contextIsExact=!0,rr(t)}y.set(h.i64_atomic_rmw16_cmpxchg_u,w4);function C4(t){return x(t),t.typeArguments=[u.u32],t.contextualType=u.i64,t.contextIsExact=!0,rr(t)}y.set(h.i64_atomic_rmw32_cmpxchg_u,C4);function B4(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.i64,t.contextIsExact=!0,rr(t)}y.set(h.i64_atomic_rmw_cmpxchg,B4);function P4(t){return x(t),t.typeArguments=[u.i32],rc(t)}y.set(h.memory_atomic_wait32,P4);function N4(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.i32,rc(t)}y.set(h.memory_atomic_wait64,N4);function L4(t){return x(t),t.typeArguments=[u.v128],t.contextualType=u.v128,Re(t)}y.set(h.v128_load,L4);function M4(t){return x(t),t.typeArguments=[u.i8],t.contextualType=u.v128,Fr(t)}y.set(h.v128_load8x8_s,M4);function G4(t){return x(t),t.typeArguments=[u.u8],t.contextualType=u.v128,Fr(t)}y.set(h.v128_load8x8_u,G4);function z4(t){return x(t),t.typeArguments=[u.i16],t.contextualType=u.v128,Fr(t)}y.set(h.v128_load16x4_s,z4);function U4(t){return x(t),t.typeArguments=[u.u16],t.contextualType=u.v128,Fr(t)}y.set(h.v128_load16x4_u,U4);function V4(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.v128,Fr(t)}y.set(h.v128_load32x2_s,V4);function D4(t){return x(t),t.typeArguments=[u.u32],t.contextualType=u.v128,Fr(t)}y.set(h.v128_load32x2_u,D4);function q4(t){return x(t),t.typeArguments=[u.u8],t.contextualType=u.v128,ts(t)}y.set(h.v128_load8_splat,q4);function O4(t){return x(t),t.typeArguments=[u.u16],t.contextualType=u.v128,ts(t)}y.set(h.v128_load16_splat,O4);function W4(t){return x(t),t.typeArguments=[u.u32],t.contextualType=u.v128,ts(t)}y.set(h.v128_load32_splat,W4);function K4(t){return x(t),t.typeArguments=[u.u64],t.contextualType=u.v128,ts(t)}y.set(h.v128_load64_splat,K4);function H4(t){return x(t),t.typeArguments=[u.u32],t.contextualType=u.v128,nc(t)}y.set(h.v128_load32_zero,H4);function j4(t){return x(t),t.typeArguments=[u.u64],t.contextualType=u.v128,nc(t)}y.set(h.v128_load64_zero,j4);function $4(t){return x(t),t.typeArguments=[u.u8],t.contextualType=u.v128,rs(t)}y.set(h.v128_load8_lane,$4);function X4(t){return x(t),t.typeArguments=[u.u16],t.contextualType=u.v128,rs(t)}y.set(h.v128_load16_lane,X4);function Z4(t){return x(t),t.typeArguments=[u.u32],t.contextualType=u.v128,rs(t)}y.set(h.v128_load32_lane,Z4);function Y4(t){return x(t),t.typeArguments=[u.u64],t.contextualType=u.v128,rs(t)}y.set(h.v128_load64_lane,Y4);function Q4(t){return x(t),t.typeArguments=[u.u8],t.contextualType=u.v128,is(t)}y.set(h.v128_store8_lane,Q4);function J4(t){return x(t),t.typeArguments=[u.u16],t.contextualType=u.v128,is(t)}y.set(h.v128_store16_lane,J4);function eE(t){return x(t),t.typeArguments=[u.u32],t.contextualType=u.v128,is(t)}y.set(h.v128_store32_lane,eE);function tE(t){return x(t),t.typeArguments=[u.u64],t.contextualType=u.v128,is(t)}y.set(h.v128_store64_lane,tE);function rE(t){return x(t),t.typeArguments=[u.v128],t.contextualType=u.v128,t.contextIsExact=!0,rt(t)}y.set(h.v128_store,rE);function iE(t){return x(t),t.typeArguments=[u.i8],t.contextualType=u.v128,vr(t)}y.set(h.i8x16_splat,iE);function nE(t){return x(t),t.typeArguments=[u.i8],t.contextualType=u.i32,At(t)}y.set(h.i8x16_extract_lane_s,nE);function sE(t){return x(t),t.typeArguments=[u.u8],t.contextualType=u.i32,At(t)}y.set(h.i8x16_extract_lane_u,sE);function aE(t){return x(t),t.typeArguments=[u.i8],t.contextualType=u.v128,Sr(t)}y.set(h.i8x16_replace_lane,aE);function lE(t){return x(t),t.typeArguments=[u.i8],t.contextualType=u.v128,Rr(t)}y.set(h.i8x16_add,lE);function oE(t){return x(t),t.typeArguments=[u.i8],t.contextualType=u.v128,kr(t)}y.set(h.i8x16_sub,oE);function uE(t){return x(t),t.typeArguments=[u.i8],t.contextualType=u.v128,wt(t)}y.set(h.i8x16_min_s,uE);function pE(t){return x(t),t.typeArguments=[u.u8],t.contextualType=u.v128,wt(t)}y.set(h.i8x16_min_u,pE);function cE(t){return x(t),t.typeArguments=[u.i8],t.contextualType=u.v128,Ct(t)}y.set(h.i8x16_max_s,cE);function _E(t){return x(t),t.typeArguments=[u.u8],t.contextualType=u.v128,Ct(t)}y.set(h.i8x16_max_u,_E);function fE(t){return x(t),t.typeArguments=[u.u8],t.contextualType=u.v128,oc(t)}y.set(h.i8x16_avgr_u,fE);function hE(t){return x(t),t.typeArguments=[u.i8],t.contextualType=u.v128,Br(t)}y.set(h.i8x16_abs,hE);function dE(t){return x(t),t.typeArguments=[u.i8],t.contextualType=u.v128,Cr(t)}y.set(h.i8x16_neg,dE);function mE(t){return x(t),t.typeArguments=[u.i8],t.contextualType=u.v128,ns(t)}y.set(h.i8x16_add_sat_s,mE);function yE(t){return x(t),t.typeArguments=[u.u8],t.contextualType=u.v128,ns(t)}y.set(h.i8x16_add_sat_u,yE);function gE(t){return x(t),t.typeArguments=[u.i8],t.contextualType=u.v128,ss(t)}y.set(h.i8x16_sub_sat_s,gE);function bE(t){return x(t),t.typeArguments=[u.u8],t.contextualType=u.v128,ss(t)}y.set(h.i8x16_sub_sat_u,bE);function xE(t){return x(t),t.typeArguments=[u.i8],t.contextualType=u.v128,ls(t)}y.set(h.i8x16_shl,xE);function TE(t){return x(t),t.typeArguments=[u.i8],t.contextualType=u.v128,Bt(t)}y.set(h.i8x16_shr_s,TE);function EE(t){return x(t),t.typeArguments=[u.u8],t.contextualType=u.v128,Bt(t)}y.set(h.i8x16_shr_u,EE);function vE(t){return x(t),t.typeArguments=[u.i8],t.contextualType=u.i32,os(t)}y.set(h.i8x16_all_true,vE);function SE(t){return x(t),t.typeArguments=[u.i8],t.contextualType=u.i32,us(t)}y.set(h.i8x16_bitmask,SE);function IE(t){return x(t),t.typeArguments=[u.i8],t.contextualType=u.v128,Yy(t)}y.set(h.i8x16_popcnt,IE);function FE(t){return x(t),t.typeArguments=[u.i8],t.contextualType=u.v128,Ar(t)}y.set(h.i8x16_eq,FE);function RE(t){return x(t),t.typeArguments=[u.i8],t.contextualType=u.v128,wr(t)}y.set(h.i8x16_ne,RE);function kE(t){return x(t),t.typeArguments=[u.i8],t.contextualType=u.v128,_t(t)}y.set(h.i8x16_lt_s,kE);function AE(t){return x(t),t.typeArguments=[u.u8],t.contextualType=u.v128,_t(t)}y.set(h.i8x16_lt_u,AE);function wE(t){return x(t),t.typeArguments=[u.i8],t.contextualType=u.v128,ft(t)}y.set(h.i8x16_le_s,wE);function CE(t){return x(t),t.typeArguments=[u.u8],t.contextualType=u.v128,ft(t)}y.set(h.i8x16_le_u,CE);function BE(t){return x(t),t.typeArguments=[u.i8],t.contextualType=u.v128,ht(t)}y.set(h.i8x16_gt_s,BE);function PE(t){return x(t),t.typeArguments=[u.u8],t.contextualType=u.v128,ht(t)}y.set(h.i8x16_gt_u,PE);function NE(t){return x(t),t.typeArguments=[u.i8],t.contextualType=u.v128,dt(t)}y.set(h.i8x16_ge_s,NE);function LE(t){return x(t),t.typeArguments=[u.u8],t.contextualType=u.v128,dt(t)}y.set(h.i8x16_ge_u,LE);function ME(t){return x(t),t.typeArguments=[u.i16],t.contextualType=u.v128,as(t)}y.set(h.i8x16_narrow_i16x8_s,ME);function GE(t){return x(t),t.typeArguments=[u.u16],t.contextualType=u.v128,as(t)}y.set(h.i8x16_narrow_i16x8_u,GE);function zE(t){return x(t),t.typeArguments=[u.i8],t.contextualType=u.v128,Ir(t)}y.set(h.i8x16_shuffle,zE);function UE(t){return x(t),t.typeArguments=null,t.contextualType=u.v128,Xy(t)}y.set(h.i8x16_swizzle,UE);function VE(t){return x(t),t.typeArguments=[u.i16],t.contextualType=u.v128,vr(t)}y.set(h.i16x8_splat,VE);function DE(t){return x(t),t.typeArguments=[u.i16],t.contextualType=u.i32,At(t)}y.set(h.i16x8_extract_lane_s,DE);function qE(t){return x(t),t.typeArguments=[u.u16],t.contextualType=u.i32,At(t)}y.set(h.i16x8_extract_lane_u,qE);function OE(t){return x(t),t.typeArguments=[u.i16],t.contextualType=u.v128,Sr(t)}y.set(h.i16x8_replace_lane,OE);function WE(t){return x(t),t.typeArguments=[u.i16],t.contextualType=u.v128,Rr(t)}y.set(h.i16x8_add,WE);function KE(t){return x(t),t.typeArguments=[u.i16],t.contextualType=u.v128,kr(t)}y.set(h.i16x8_sub,KE);function HE(t){return x(t),t.typeArguments=[u.i16],t.contextualType=u.v128,Ii(t)}y.set(h.i16x8_mul,HE);function jE(t){return x(t),t.typeArguments=[u.i16],t.contextualType=u.v128,wt(t)}y.set(h.i16x8_min_s,jE);function $E(t){return x(t),t.typeArguments=[u.u16],t.contextualType=u.v128,wt(t)}y.set(h.i16x8_min_u,$E);function XE(t){return x(t),t.typeArguments=[u.i16],t.contextualType=u.v128,Ct(t)}y.set(h.i16x8_max_s,XE);function ZE(t){return x(t),t.typeArguments=[u.u16],t.contextualType=u.v128,Ct(t)}y.set(h.i16x8_max_u,ZE);function YE(t){return x(t),t.typeArguments=[u.u16],t.contextualType=u.v128,oc(t)}y.set(h.i16x8_avgr_u,YE);function QE(t){return x(t),t.typeArguments=[u.i16],t.contextualType=u.v128,Br(t)}y.set(h.i16x8_abs,QE);function JE(t){return x(t),t.typeArguments=[u.i16],t.contextualType=u.v128,Cr(t)}y.set(h.i16x8_neg,JE);function e3(t){return x(t),t.typeArguments=[u.i16],t.contextualType=u.v128,ns(t)}y.set(h.i16x8_add_sat_s,e3);function t3(t){return x(t),t.typeArguments=[u.u16],t.contextualType=u.v128,ns(t)}y.set(h.i16x8_add_sat_u,t3);function r3(t){return x(t),t.typeArguments=[u.i16],t.contextualType=u.v128,ss(t)}y.set(h.i16x8_sub_sat_s,r3);function i3(t){return x(t),t.typeArguments=[u.u16],t.contextualType=u.v128,ss(t)}y.set(h.i16x8_sub_sat_u,i3);function n3(t){return x(t),t.typeArguments=[u.i16],t.contextualType=u.v128,ls(t)}y.set(h.i16x8_shl,n3);function s3(t){return x(t),t.typeArguments=[u.i16],t.contextualType=u.v128,Bt(t)}y.set(h.i16x8_shr_s,s3);function a3(t){return x(t),t.typeArguments=[u.u16],t.contextualType=u.v128,Bt(t)}y.set(h.i16x8_shr_u,a3);function l3(t){return x(t),t.typeArguments=[u.i16],t.contextualType=u.i32,os(t)}y.set(h.i16x8_all_true,l3);function o3(t){return x(t),t.typeArguments=[u.i16],t.contextualType=u.i32,us(t)}y.set(h.i16x8_bitmask,o3);function u3(t){return x(t),t.typeArguments=[u.i16],t.contextualType=u.v128,Ar(t)}y.set(h.i16x8_eq,u3);function p3(t){return x(t),t.typeArguments=[u.i16],t.contextualType=u.v128,wr(t)}y.set(h.i16x8_ne,p3);function c3(t){return x(t),t.typeArguments=[u.i16],t.contextualType=u.v128,_t(t)}y.set(h.i16x8_lt_s,c3);function _3(t){return x(t),t.typeArguments=[u.u16],t.contextualType=u.v128,_t(t)}y.set(h.i16x8_lt_u,_3);function f3(t){return x(t),t.typeArguments=[u.i16],t.contextualType=u.v128,ft(t)}y.set(h.i16x8_le_s,f3);function h3(t){return x(t),t.typeArguments=[u.u16],t.contextualType=u.v128,ft(t)}y.set(h.i16x8_le_u,h3);function d3(t){return x(t),t.typeArguments=[u.i16],t.contextualType=u.v128,ht(t)}y.set(h.i16x8_gt_s,d3);function m3(t){return x(t),t.typeArguments=[u.u16],t.contextualType=u.v128,ht(t)}y.set(h.i16x8_gt_u,m3);function y3(t){return x(t),t.typeArguments=[u.i16],t.contextualType=u.v128,dt(t)}y.set(h.i16x8_ge_s,y3);function g3(t){return x(t),t.typeArguments=[u.u16],t.contextualType=u.v128,dt(t)}y.set(h.i16x8_ge_u,g3);function b3(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.v128,as(t)}y.set(h.i16x8_narrow_i32x4_s,b3);function x3(t){return x(t),t.typeArguments=[u.u32],t.contextualType=u.v128,as(t)}y.set(h.i16x8_narrow_i32x4_u,x3);function T3(t){return x(t),t.typeArguments=[u.i8],t.contextualType=u.v128,Pr(t)}y.set(h.i16x8_extend_low_i8x16_s,T3);function E3(t){return x(t),t.typeArguments=[u.u8],t.contextualType=u.v128,Pr(t)}y.set(h.i16x8_extend_low_i8x16_u,E3);function v3(t){return x(t),t.typeArguments=[u.i8],t.contextualType=u.v128,Nr(t)}y.set(h.i16x8_extend_high_i8x16_s,v3);function S3(t){return x(t),t.typeArguments=[u.u8],t.contextualType=u.v128,Nr(t)}y.set(h.i16x8_extend_high_i8x16_u,S3);function I3(t){return x(t),t.typeArguments=[u.i8],t.contextualType=u.v128,ps(t)}y.set(h.i16x8_extadd_pairwise_i8x16_s,I3);function F3(t){return x(t),t.typeArguments=[u.u8],t.contextualType=u.v128,ps(t)}y.set(h.i16x8_extadd_pairwise_i8x16_u,F3);function R3(t){return x(t),t.typeArguments=[u.i16],t.contextualType=u.v128,eg(t)}y.set(h.i16x8_q15mulr_sat_s,R3);function k3(t){return x(t),t.typeArguments=[u.i8],t.contextualType=u.v128,Lr(t)}y.set(h.i16x8_extmul_low_i8x16_s,k3);function A3(t){return x(t),t.typeArguments=[u.u8],t.contextualType=u.v128,Lr(t)}y.set(h.i16x8_extmul_low_i8x16_u,A3);function w3(t){return x(t),t.typeArguments=[u.i8],t.contextualType=u.v128,Mr(t)}y.set(h.i16x8_extmul_high_i8x16_s,w3);function C3(t){return x(t),t.typeArguments=[u.u8],t.contextualType=u.v128,Mr(t)}y.set(h.i16x8_extmul_high_i8x16_u,C3);function B3(t){return x(t),t.typeArguments=[u.i16],t.contextualType=u.v128,Ir(t)}y.set(h.i16x8_shuffle,B3);function P3(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.v128,vr(t)}y.set(h.i32x4_splat,P3);function N3(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.i32,At(t)}y.set(h.i32x4_extract_lane,N3);function L3(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.v128,Sr(t)}y.set(h.i32x4_replace_lane,L3);function M3(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.v128,Rr(t)}y.set(h.i32x4_add,M3);function G3(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.v128,kr(t)}y.set(h.i32x4_sub,G3);function z3(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.v128,Ii(t)}y.set(h.i32x4_mul,z3);function U3(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.v128,wt(t)}y.set(h.i32x4_min_s,U3);function V3(t){return x(t),t.typeArguments=[u.u32],t.contextualType=u.v128,wt(t)}y.set(h.i32x4_min_u,V3);function D3(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.v128,Ct(t)}y.set(h.i32x4_max_s,D3);function q3(t){return x(t),t.typeArguments=[u.u32],t.contextualType=u.v128,Ct(t)}y.set(h.i32x4_max_u,q3);function O3(t){return x(t),t.typeArguments=[u.i16],t.contextualType=u.v128,Zy(t)}y.set(h.i32x4_dot_i16x8_s,O3);function W3(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.v128,Br(t)}y.set(h.i32x4_abs,W3);function K3(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.v128,Cr(t)}y.set(h.i32x4_neg,K3);function H3(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.v128,ls(t)}y.set(h.i32x4_shl,H3);function j3(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.v128,Bt(t)}y.set(h.i32x4_shr_s,j3);function $3(t){return x(t),t.typeArguments=[u.u32],t.contextualType=u.v128,Bt(t)}y.set(h.i32x4_shr_u,$3);function X3(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.i32,os(t)}y.set(h.i32x4_all_true,X3);function Z3(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.i32,us(t)}y.set(h.i32x4_bitmask,Z3);function Y3(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.v128,Ar(t)}y.set(h.i32x4_eq,Y3);function Q3(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.v128,wr(t)}y.set(h.i32x4_ne,Q3);function J3(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.v128,_t(t)}y.set(h.i32x4_lt_s,J3);function ev(t){return x(t),t.typeArguments=[u.u32],t.contextualType=u.v128,_t(t)}y.set(h.i32x4_lt_u,ev);function tv(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.v128,ft(t)}y.set(h.i32x4_le_s,tv);function rv(t){return x(t),t.typeArguments=[u.u32],t.contextualType=u.v128,ft(t)}y.set(h.i32x4_le_u,rv);function iv(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.v128,ht(t)}y.set(h.i32x4_gt_s,iv);function nv(t){return x(t),t.typeArguments=[u.u32],t.contextualType=u.v128,ht(t)}y.set(h.i32x4_gt_u,nv);function sv(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.v128,dt(t)}y.set(h.i32x4_ge_s,sv);function av(t){return x(t),t.typeArguments=[u.u32],t.contextualType=u.v128,dt(t)}y.set(h.i32x4_ge_u,av);function lv(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.v128,mc(t)}y.set(h.i32x4_trunc_sat_f32x4_s,lv);function ov(t){return x(t),t.typeArguments=[u.u32],t.contextualType=u.v128,mc(t)}y.set(h.i32x4_trunc_sat_f32x4_u,ov);function uv(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.v128,yc(t)}y.set(h.i32x4_trunc_sat_f64x2_s_zero,uv);function pv(t){return x(t),t.typeArguments=[u.u32],t.contextualType=u.v128,yc(t)}y.set(h.i32x4_trunc_sat_f64x2_u_zero,pv);function cv(t){return x(t),t.typeArguments=[u.i16],t.contextualType=u.v128,Pr(t)}y.set(h.i32x4_extend_low_i16x8_s,cv);function _v(t){return x(t),t.typeArguments=[u.u16],t.contextualType=u.v128,Pr(t)}y.set(h.i32x4_extend_low_i16x8_u,_v);function fv(t){return x(t),t.typeArguments=[u.i16],t.contextualType=u.v128,Nr(t)}y.set(h.i32x4_extend_high_i16x8_s,fv);function hv(t){return x(t),t.typeArguments=[u.u16],t.contextualType=u.v128,Nr(t)}y.set(h.i32x4_extend_high_i16x8_u,hv);function dv(t){return x(t),t.typeArguments=[u.i16],t.contextualType=u.v128,ps(t)}y.set(h.i32x4_extadd_pairwise_i16x8_s,dv);function mv(t){return x(t),t.typeArguments=[u.u16],t.contextualType=u.v128,ps(t)}y.set(h.i32x4_extadd_pairwise_i16x8_u,mv);function yv(t){return x(t),t.typeArguments=[u.i16],t.contextualType=u.v128,Lr(t)}y.set(h.i32x4_extmul_low_i16x8_s,yv);function gv(t){return x(t),t.typeArguments=[u.u16],t.contextualType=u.v128,Lr(t)}y.set(h.i32x4_extmul_low_i16x8_u,gv);function bv(t){return x(t),t.typeArguments=[u.i16],t.contextualType=u.v128,Mr(t)}y.set(h.i32x4_extmul_high_i16x8_s,bv);function xv(t){return x(t),t.typeArguments=[u.u16],t.contextualType=u.v128,Mr(t)}y.set(h.i32x4_extmul_high_i16x8_u,xv);function Tv(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.v128,Ir(t)}y.set(h.i32x4_shuffle,Tv);function Ev(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.v128,vr(t)}y.set(h.i64x2_splat,Ev);function vv(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.i64,At(t)}y.set(h.i64x2_extract_lane,vv);function Sv(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.v128,Sr(t)}y.set(h.i64x2_replace_lane,Sv);function Iv(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.v128,Rr(t)}y.set(h.i64x2_add,Iv);function Fv(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.v128,kr(t)}y.set(h.i64x2_sub,Fv);function Rv(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.v128,Ii(t)}y.set(h.i64x2_mul,Rv);function kv(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.v128,Br(t)}y.set(h.i64x2_abs,kv);function Av(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.v128,Cr(t)}y.set(h.i64x2_neg,Av);function wv(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.v128,ls(t)}y.set(h.i64x2_shl,wv);function Cv(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.v128,Bt(t)}y.set(h.i64x2_shr_s,Cv);function Bv(t){return x(t),t.typeArguments=[u.u64],t.contextualType=u.v128,Bt(t)}y.set(h.i64x2_shr_u,Bv);function Pv(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.i32,os(t)}y.set(h.i64x2_all_true,Pv);function Nv(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.i32,us(t)}y.set(h.i64x2_bitmask,Nv);function Lv(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.v128,Ar(t)}y.set(h.i64x2_eq,Lv);function Mv(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.v128,wr(t)}y.set(h.i64x2_ne,Mv);function Gv(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.v128,_t(t)}y.set(h.i64x2_lt_s,Gv);function zv(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.v128,ft(t)}y.set(h.i64x2_le_s,zv);function Uv(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.v128,ht(t)}y.set(h.i64x2_gt_s,Uv);function Vv(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.v128,dt(t)}y.set(h.i64x2_ge_s,Vv);function Dv(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.v128,Pr(t)}y.set(h.i64x2_extend_low_i32x4_s,Dv);function qv(t){return x(t),t.typeArguments=[u.u32],t.contextualType=u.v128,Pr(t)}y.set(h.i64x2_extend_low_i32x4_u,qv);function Ov(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.v128,Nr(t)}y.set(h.i64x2_extend_high_i32x4_s,Ov);function Wv(t){return x(t),t.typeArguments=[u.u32],t.contextualType=u.v128,Nr(t)}y.set(h.i64x2_extend_high_i32x4_u,Wv);function Kv(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.v128,Lr(t)}y.set(h.i64x2_extmul_low_i32x4_s,Kv);function Hv(t){return x(t),t.typeArguments=[u.u32],t.contextualType=u.v128,Lr(t)}y.set(h.i64x2_extmul_low_i32x4_u,Hv);function jv(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.v128,Mr(t)}y.set(h.i64x2_extmul_high_i32x4_s,jv);function $v(t){return x(t),t.typeArguments=[u.u32],t.contextualType=u.v128,Mr(t)}y.set(h.i64x2_extmul_high_i32x4_u,$v);function Xv(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.v128,Ir(t)}y.set(h.i64x2_shuffle,Xv);function Zv(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.v128,vr(t)}y.set(h.f32x4_splat,Zv);function Yv(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.f32,At(t)}y.set(h.f32x4_extract_lane,Yv);function Qv(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.v128,Sr(t)}y.set(h.f32x4_replace_lane,Qv);function Jv(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.v128,Rr(t)}y.set(h.f32x4_add,Jv);function eS(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.v128,kr(t)}y.set(h.f32x4_sub,eS);function tS(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.v128,Ii(t)}y.set(h.f32x4_mul,tS);function rS(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.v128,sc(t)}y.set(h.f32x4_div,rS);function iS(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.v128,Cr(t)}y.set(h.f32x4_neg,iS);function nS(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.v128,wt(t)}y.set(h.f32x4_min,nS);function sS(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.v128,Ct(t)}y.set(h.f32x4_max,sS);function aS(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.v128,ac(t)}y.set(h.f32x4_pmin,aS);function lS(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.v128,lc(t)}y.set(h.f32x4_pmax,lS);function oS(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.v128,Br(t)}y.set(h.f32x4_abs,oS);function uS(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.v128,uc(t)}y.set(h.f32x4_sqrt,uS);function pS(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.v128,pc(t)}y.set(h.f32x4_ceil,pS);function cS(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.v128,cc(t)}y.set(h.f32x4_floor,cS);function _S(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.v128,_c(t)}y.set(h.f32x4_trunc,_S);function fS(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.v128,fc(t)}y.set(h.f32x4_nearest,fS);function hS(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.v128,Ar(t)}y.set(h.f32x4_eq,hS);function dS(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.v128,wr(t)}y.set(h.f32x4_ne,dS);function mS(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.v128,_t(t)}y.set(h.f32x4_lt,mS);function yS(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.v128,ft(t)}y.set(h.f32x4_le,yS);function gS(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.v128,ht(t)}y.set(h.f32x4_gt,gS);function bS(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.v128,dt(t)}y.set(h.f32x4_ge,bS);function xS(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.v128,hc(t)}y.set(h.f32x4_convert_i32x4_s,xS);function TS(t){return x(t),t.typeArguments=[u.u32],t.contextualType=u.v128,hc(t)}y.set(h.f32x4_convert_i32x4_u,TS);function ES(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.v128,Qy(t)}y.set(h.f32x4_demote_f64x2_zero,ES);function vS(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.v128,Ir(t)}y.set(h.f32x4_shuffle,vS);function SS(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.v128,vr(t)}y.set(h.f64x2_splat,SS);function IS(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.f64,At(t)}y.set(h.f64x2_extract_lane,IS);function FS(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.v128,Sr(t)}y.set(h.f64x2_replace_lane,FS);function RS(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.v128,Rr(t)}y.set(h.f64x2_add,RS);function kS(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.v128,kr(t)}y.set(h.f64x2_sub,kS);function AS(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.v128,Ii(t)}y.set(h.f64x2_mul,AS);function wS(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.v128,sc(t)}y.set(h.f64x2_div,wS);function CS(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.v128,Cr(t)}y.set(h.f64x2_neg,CS);function BS(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.v128,wt(t)}y.set(h.f64x2_min,BS);function PS(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.v128,Ct(t)}y.set(h.f64x2_max,PS);function NS(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.v128,ac(t)}y.set(h.f64x2_pmin,NS);function LS(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.v128,lc(t)}y.set(h.f64x2_pmax,LS);function MS(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.v128,Br(t)}y.set(h.f64x2_abs,MS);function GS(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.v128,uc(t)}y.set(h.f64x2_sqrt,GS);function zS(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.v128,pc(t)}y.set(h.f64x2_ceil,zS);function US(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.v128,cc(t)}y.set(h.f64x2_floor,US);function VS(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.v128,_c(t)}y.set(h.f64x2_trunc,VS);function DS(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.v128,fc(t)}y.set(h.f64x2_nearest,DS);function qS(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.v128,Ar(t)}y.set(h.f64x2_eq,qS);function OS(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.v128,wr(t)}y.set(h.f64x2_ne,OS);function WS(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.v128,_t(t)}y.set(h.f64x2_lt,WS);function KS(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.v128,ft(t)}y.set(h.f64x2_le,KS);function HS(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.v128,ht(t)}y.set(h.f64x2_gt,HS);function jS(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.v128,dt(t)}y.set(h.f64x2_ge,jS);function $S(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.v128,dc(t)}y.set(h.f64x2_convert_low_i32x4_s,$S);function XS(t){return x(t),t.typeArguments=[u.u32],t.contextualType=u.v128,dc(t)}y.set(h.f64x2_convert_low_i32x4_u,XS);function ZS(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.v128,Jy(t)}y.set(h.f64x2_promote_low_f32x4,ZS);function YS(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.v128,Ir(t)}y.set(h.f64x2_shuffle,YS);function QS(t){return x(t),t.typeArguments=null,t.contextualType=u.v128,tg(t)}y.set(h.i8x16_relaxed_swizzle,QS);function JS(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.v128,gc(t)}y.set(h.i32x4_relaxed_trunc_f32x4_s,JS);function eI(t){return x(t),t.typeArguments=[u.u32],t.contextualType=u.v128,gc(t)}y.set(h.i32x4_relaxed_trunc_f32x4_u,eI);function tI(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.v128,bc(t)}y.set(h.i32x4_relaxed_trunc_f64x2_s_zero,tI);function rI(t){return x(t),t.typeArguments=[u.u32],t.contextualType=u.v128,bc(t)}y.set(h.i32x4_relaxed_trunc_f64x2_u_zero,rI);function iI(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.v128,xc(t)}y.set(h.f32x4_relaxed_madd,iI);function nI(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.v128,Tc(t)}y.set(h.f32x4_relaxed_nmadd,nI);function sI(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.v128,xc(t)}y.set(h.f64x2_relaxed_madd,sI);function aI(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.v128,Tc(t)}y.set(h.f64x2_relaxed_nmadd,aI);function lI(t){return x(t),t.typeArguments=[u.i8],t.contextualType=u.v128,cs(t)}y.set(h.i8x16_relaxed_laneselect,lI);function oI(t){return x(t),t.typeArguments=[u.i16],t.contextualType=u.v128,cs(t)}y.set(h.i16x8_relaxed_laneselect,oI);function uI(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.v128,cs(t)}y.set(h.i32x4_relaxed_laneselect,uI);function pI(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.v128,cs(t)}y.set(h.i64x2_relaxed_laneselect,pI);function cI(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.v128,Ec(t)}y.set(h.f32x4_relaxed_min,cI);function _I(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.v128,vc(t)}y.set(h.f32x4_relaxed_max,_I);function fI(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.v128,Ec(t)}y.set(h.f64x2_relaxed_min,fI);function hI(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.v128,vc(t)}y.set(h.f64x2_relaxed_max,hI);function dI(t){return x(t),t.typeArguments=[u.i16],t.contextualType=u.v128,rg(t)}y.set(h.i16x8_relaxed_q15mulr_s,dI);function mI(t){return x(t),t.typeArguments=[u.i16],t.contextualType=u.v128,ig(t)}y.set(h.i16x8_relaxed_dot_i8x16_i7x16_s,mI);function yI(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.v128,ng(t)}y.set(h.i32x4_relaxed_dot_i8x16_i7x16_add_s,yI);function sg(t){let i=t.module,e=new Array,r=t.options.sizeTypeRef,n=assert(t.program.visitInstance);t.compileFunction(n,!0);for(let s=Map_values(t.program.elementsByName),a=0,l=s.length;a=0),_=!0,o.push(r.if(r.local_tee(2,r.load(a,!1,r.local_get(0,s),s,I),!1),r.call(l.internalName,[r.local_get(2,s),r.local_get(1,P.I32)],P.None)))}}i.visitRef=r.addFunction(`${i.internalName}~visit`,Ke([s,P.I32]),P.None,_?[s]:null,r.flatten(o,P.None)),p&&p.type.isManaged&&ag(t,p)}function lg(t){let i=t.program,e=t.module,n=i.options.usizeType.toRef(),s=i.managedClasses,a=assert(i.visitInstance);t.compileFunction(a,!0);let l=new Array,o=new Array,p=0;for(let _=Map_keys(s),f=0,d=_.length;f0){if(r.length>1)return i.error(2558,t.reportNode.typeArgumentsRange,"1",r.length.toString()),null;vi=i.compileExpression(e[0],r[0],1)}else vi=i.compileExpression(e[0],u.auto);return i.currentType}return r&&r.length>1&&i.error(2558,t.reportNode.typeArgumentsRange,"1",r.length.toString()),i.error(2554,t.reportNode.argumentsRange,"1",e.length.toString()),null}function ve(t,i){let e=t.compiler.module;return vi&&gl(vi,e.ref)&&(i=e.block(null,[e.maybeDrop(vi),i],ie(i))),i}function Ze(t,i){let e=i.module,r;if(i.options.isWasm64){let n=i.compileExpression(t,u.usize64,1),s=e.runExpression(n,1);s?(assert(Ce(s)==0),r=Ee(s)):(i.error(220,t.range),r=-1)}else{let n=i.compileExpression(t,u.usize32,1),s=e.runExpression(n,1);s?r=ee(s):(i.error(220,t.range),r=-1)}return r}function Rt(t,i,e){let r=Ze(t,e);return r<0?r:r<1||i>16?(e.error(222,t.range,"Alignment","1",i.toString()),-1):gt(r)?r:(e.error(223,t.range,"Alignment"),-1)}function j(t,i){let e=t.compiler;return e.options.hasFeature(i)?0:(e.error(103,t.reportNode.range,Xr(i)),1)}function $(t,i=!1){let e=t.compiler,r=t.typeArguments;if(r){let n=r.length;if(n==1)return 0;assert(n),i&&(e.currentType=r[0]),e.error(2558,t.reportNode.typeArgumentsRange,"1",n.toString())}else e.error(2558,t.reportNode.range,"1","0");return 1}function ne(t,i=!1){let e=t.typeArguments;if(e){let r=t.compiler,n=e.length;return n==1?0:(assert(n),i&&(r.currentType=e[0]),r.error(2558,t.reportNode.typeArgumentsRange,"1",n.toString()),1)}return 0}function x(t){if(t.typeArguments){let e=t.prototype;return e.program.error(2315,t.reportNode.typeArgumentsRange,e.internalName),1}return 0}function q(t,i){let e=t.operands;return e.length!=i?(t.compiler.error(2554,t.reportNode.range,i.toString(),e.length.toString()),1):0}function xe(t,i,e){let n=t.operands.length;return ne?(t.compiler.error(2554,t.reportNode.range,e.toString(),n.toString()),1):0}function Bl(t,i,e){let r=t.module;if(e!=u.auto&&e.isIntegerValue)switch(e.kind){case 3:{if(i64_is_i32(i))return t.currentType=u.i32,r.i32(i64_low(i));break}case 8:{if(i64_is_u32(i))return t.currentType=u.u32,r.i32(i64_low(i));break}case 4:case 9:return t.currentType=e,r.i64(i64_low(i),i64_high(i))}return t.options.isWasm64?(t.currentType=u.usize64,r.i64(i64_low(i),i64_high(i))):(t.currentType=u.usize32,assert(!i64_high(i)),r.i32(i64_low(i)))}var Fc=class{constructor(){this.stack=new Array;this._currentExpression=0}get currentExpression(){let i=this._currentExpression;if(!i)throw new Error("not walking expressions");return i}get parentExpressionOrNull(){let i=this.stack,e=i.length;return e?i[e-1]:0}visitBlock(i){}visitIf(i){}visitLoop(i){}visitBreak(i){}visitSwitch(i){}visitCallPre(i){}visitCall(i){}visitCallIndirectPre(i){}visitCallIndirect(i){}visitLocalGet(i){}visitLocalSet(i){}visitGlobalGet(i){}visitGlobalSet(i){}visitLoad(i){}visitStore(i){}visitConst(i){}visitUnary(i){}visitBinary(i){}visitSelect(i){}visitDrop(i){}visitReturn(i){}visitMemorySize(i){}visitMemoryGrow(i){}visitNop(i){}visitUnreachable(i){}visitAtomicRMW(i){}visitAtomicCmpxchg(i){}visitAtomicWait(i){}visitAtomicNotify(i){}visitAtomicFence(i){}visitSIMDExtract(i){}visitSIMDReplace(i){}visitSIMDShuffle(i){}visitSIMDTernary(i){}visitSIMDShift(i){}visitSIMDLoad(i){}visitSIMDLoadStoreLane(i){}visitMemoryInit(i){}visitDataDrop(i){}visitMemoryCopy(i){}visitMemoryFill(i){}visitPop(i){}visitRefNull(i){}visitRefIsNull(i){}visitRefFunc(i){}visitRefEq(i){}visitTry(i){}visitThrow(i){}visitRethrow(i){}visitTupleMake(i){}visitTupleExtract(i){}visitRefI31(i){}visitI31Get(i){}visitCallRef(i){}visitRefTest(i){}visitRefCast(i){}visitBrOn(i){}visitStructNew(i){}visitStructGet(i){}visitStructSet(i){}visitArrayNew(i){}visitArrayNewFixed(i){}visitArrayGet(i){}visitArraySet(i){}visitArrayLen(i){}visitArrayCopy(i){}visitRefAs(i){}visitStringNew(i){}visitStringConst(i){}visitStringMeasure(i){}visitStringEncode(i){}visitStringConcat(i){}visitStringEq(i){}visitStringAs(i){}visitStringWTF8Advance(i){}visitStringWTF16Get(i){}visitStringIterNext(i){}visitStringIterMove(i){}visitStringSliceWTF(i){}visitStringSliceIter(i){}visitName(i){}visitLabel(i){}visitIndex(i){}visitTag(i){}visit(i){let e=this._currentExpression;switch(this._currentExpression=assert(i),yt(i)){case 1:{this.stack.push(i);let r=ms(i);r&&this.visitLabel(r);for(let n=0,s=Ui(i);n=0?this.ptrBinaryAdd:this.ptrBinarySub,r.global_get(h.stack_pointer,this.ptrType),this.ptrConst(abs(e))));return e>0?n:r.block(null,[n,this.makeStackCheck()],P.None)}makeStackFill(e,r){assert(e>0);let n=this.module;if(this.options.hasFeature(8)&&e>16)r.push(n.memory_fill(n.global_get(h.stack_pointer,this.ptrType),n.i32(0),this.ptrConst(e)));else{let s=e;for(;s>=8;)r.push(n.store(8,n.global_get(h.stack_pointer,this.ptrType),n.i64(0),P.I64,e-s)),s-=8;s&&(assert(s==4),r.push(n.store(4,n.global_get(h.stack_pointer,this.ptrType),n.i32(0),P.I32,e-s)))}}makeStackCheck(){let e=this.module;return this.hasStackCheckFunction||(this.hasStackCheckFunction=!0,e.addFunction("~stack_check",P.None,P.None,null,e.if(e.binary(17,e.global_get(h.stack_pointer,this.ptrType),e.global_get(h.data_end,this.ptrType)),this.compiler.makeStaticAbort(this.compiler.ensureStaticString("stack overflow"),fe.native)))),e.call("~stack_check",null,P.None)}updateCallOperands(e){let r=this.module,n=0;for(let s=0,a=e.length;s ( +`),U(n,++this.indentLevel),n.push("// "),n.push(r.internalName),n.push(` +`);let s=r.members;if(s)for(let a=Map_values(s),l=0,o=a.length;l { +`),U(c,1),c.push(`// @external.js +`),_g(s,1,c),c.push(` +})()`)):(e!="env"&&(c.push("__module"),c.push(_.toString()),c.push(".")),c.push(r),c.push("("),c.push(p.join(", ")),c.push(")")),s=c.join(""),c.length=0,_g(s,this.indentLevel,c,!0),s=c.join(""),U(a,this.indentLevel),l.returnType!=u.void?(a.push("return "),this.makeLowerToValue(s,l.returnType,a),a.push(`; +`)):(a.push(s),a.push(`; +`)),U(a,--this.indentLevel),a.push("}")}a.push(`, +`)}visitFunction(e,r){if(r.is(512))return;let n=this.sb,s=r.signature;if(this.exports.push(e),!kc(s,1)){U(n,this.indentLevel),n.push(e),n.push("(");let a=s.parameterTypes,l=0;for(let c=0,_=a.length;c<_;++c)a[c].isInternalReference&&l++,c>0&&n.push(", "),n.push(r.getParameterName(c));n.push(`) { +`),U(n,++this.indentLevel),n.push("// "),n.push(r.internalName),n.push(s.toString()),n.push(` +`);let o=new Array;for(let c=0,_=a.length;c<_;++c){let f=a[c];if(!zr(f,0)){let d=r.getParameterName(c);U(n,this.indentLevel),n.push(d),n.push(" = ");let g=f.isInternalReference&&--l>0;g&&(this.needsRetain=!0,this.needsRelease=!0,n.push("__retain("),o.push(d)),this.makeLowerToValue(d,f,n),g&&n.push(")"),n.push(`; +`)}}o.length&&(U(n,this.indentLevel++),n.push(`try { +`)),s.requiredParameters0&&p.push(", "),p.push(r.getParameterName(c));if(p.push(")"),s.returnType!=u.void?(U(n,this.indentLevel),n.push("return "),this.makeLiftFromValue(p.join(""),s.returnType,n)):(U(n,this.indentLevel),n.push(p.join(""))),n.push(`; +`),o.length){U(n,this.indentLevel-1),n.push(`} finally { +`);for(let c=0,_=o.length;c<_;++c)U(n,this.indentLevel),n.push("__release("),n.push(o[c]),n.push(`); +`);U(n,--this.indentLevel),n.push(`} +`)}U(n,--this.indentLevel),n.push(`}, +`)}this.visitNamespace(e,r)}visitClass(e,r){}visitInterface(e,r){this.visitClass(e,r)}visitNamespace(e,r){}visitAlias(e,r,n){}getExternalCode(e){let r=Et(10,e.decoratorNodes);if(r){let n=r.args;if(n&&n.length==1){let s=n[0];if(s.kind==16){let a=s;if(a.literalKind==2)return a.value;if(a.literalKind==3){let l=a.parts;if(l.length==1)return l[0]}}}}return null}build(){let e=this.exports,r=this.program.moduleImports,n=this.program,s=n.options,a=this.sb;a.push(""),U(a,this.indentLevel++),this.esm||a.push("export "),a.push(`async function instantiate(module, imports = {}) { +`);let l=a.push("")-1;U(a,this.indentLevel++),a.push(`const adaptedImports = { +`);let o=a.length;for(let S=Map_keys(r),T=0,E=S.length;To;p?(U(a,this.indentLevel),a.push(`}; +`)):a.length=o-2;let c=this.importMappings,_=new Array;for(let S=Map_keys(c),T=0,E=S.length;T { +`),_.push(` delete imports.rtrace; +`),_.push(" new rtrace.Rtrace({ getMemory() { return memory; }, onerror(err) { console.log(`RTRACE: ${err.stack}`); } }).install(imports);\n"),_.push(` })(imports.rtrace); +`)),_.push(" const __module"),_.push(I.toString()),_.push(" = imports"),Le(F)?(_.push("."),_.push(F)):(_.push('["'),_.push(ye(F,34)),_.push('"]')),_.push(`; +`)}}a[l]=_.join(""),U(a,this.indentLevel),a.push("const { exports } = await WebAssembly.instantiate(module"),p?a.push(`, adaptedImports); +`):a.push(`, imports); +`),U(a,this.indentLevel),a.push(`const memory = exports.memory || imports.env.memory; +`),U(a,this.indentLevel++),a.push(`const adaptedExports = Object.setPrototypeOf({ +`),o=a.length,this.walk(),--this.indentLevel;let f=a.length>o;f?(U(a,this.indentLevel),a.push(`}, exports); +`)):this.needsLiftBuffer||this.needsLowerBuffer||this.needsLiftString||this.needsLowerString||this.needsLiftArray||this.needsLowerArray||this.needsLiftTypedArray||this.needsLowerTypedArray||this.needsLiftStaticArray?a.length=o-2:a.length=o-4;let d=this.deferredCode;if(d.length)for(let S=0,T=d.length;S>> 2]); + } +`)}if(this.needsLowerBuffer){let S=n.arrayBufferInstance.id;a.push(` function __lowerBuffer(value) { + if (value == null) return 0; + const pointer = exports.__new(value.byteLength, ${S}) >>> 0; + new Uint8Array(memory.buffer).set(new Uint8Array(value), pointer); + return pointer; + } +`)}if(this.needsLiftString){let S=n.OBJECTInstance,T=S.offsetof("rtSize")-S.nextMemoryOffset,E=1024;a.push(` function __liftString(pointer) { + if (!pointer) return null; + const + end = pointer + new Uint32Array(memory.buffer)[pointer - ${-T} >>> 2] >>> 1, + memoryU16 = new Uint16Array(memory.buffer); + let + start = pointer >>> 1, + string = ""; + while (end - start > ${E}) string += String.fromCharCode(...memoryU16.subarray(start, start += ${E})); + return string + String.fromCharCode(...memoryU16.subarray(start, end)); + } +`)}if(this.needsLowerString){let S=n.stringInstance.id;a.push(` function __lowerString(value) { + if (value == null) return 0; + const + length = value.length, + pointer = exports.__new(length << 1, ${S}) >>> 0, + memoryU16 = new Uint16Array(memory.buffer); + for (let i = 0; i < length; ++i) memoryU16[(pointer >>> 1) + i] = value.charCodeAt(i); + return pointer; + } +`)}if(this.needsLiftArray){let S=n.arrayBufferViewInstance.offsetof("dataStart"),T=n.arrayBufferViewInstance.nextMemoryOffset;this.needsGetU32=!0,a.push(` function __liftArray(liftElement, align, pointer) { + if (!pointer) return null; + const + dataStart = __getU32(pointer + ${S}), + length = __dataview.getUint32(pointer + ${T}, true), + values = new Array(length); + for (let i = 0; i < length; ++i) values[i] = liftElement(dataStart + (i << align >>> 0)); + return values; + } +`)}if(this.needsLowerArray){let S=n.arrayBufferInstance.id,T=n.arrayBufferViewInstance,E=T.nextMemoryOffset+4,F=T.offsetof("buffer"),I=T.offsetof("dataStart"),R=T.offsetof("byteLength"),C=R+4;this.needsSetU32=!0,a.push(` function __lowerArray(lowerElement, id, align, values) { + if (values == null) return 0; + const + length = values.length, + buffer = exports.__pin(exports.__new(length << align, ${S})) >>> 0, + header = exports.__pin(exports.__new(${E}, id)) >>> 0; + __setU32(header + ${F}, buffer); + __dataview.setUint32(header + ${I}, buffer, true); + __dataview.setUint32(header + ${R}, length << align, true); + __dataview.setUint32(header + ${C}, length, true); + for (let i = 0; i < length; ++i) lowerElement(buffer + (i << align >>> 0), values[i]); + exports.__unpin(buffer); + exports.__unpin(header); + return header; + } +`)}if(this.needsLiftTypedArray){let S=n.arrayBufferViewInstance,T=S.offsetof("dataStart"),E=S.offsetof("byteLength");this.needsGetU32=!0,a.push(` function __liftTypedArray(constructor, pointer) { + if (!pointer) return null; + return new constructor( + memory.buffer, + __getU32(pointer + ${T}), + __dataview.getUint32(pointer + ${E}, true) / constructor.BYTES_PER_ELEMENT + ).slice(); + } +`)}if(this.needsLowerTypedArray){let S=n.arrayBufferInstance.id,T=n.arrayBufferViewInstance,E=T.nextMemoryOffset,F=T.offsetof("buffer"),I=T.offsetof("dataStart"),R=T.offsetof("byteLength");this.needsSetU32=!0,a.push(` function __lowerTypedArray(constructor, id, align, values) { + if (values == null) return 0; + const + length = values.length, + buffer = exports.__pin(exports.__new(length << align, ${S})) >>> 0, + header = exports.__new(${E}, id) >>> 0; + __setU32(header + ${F}, buffer); + __dataview.setUint32(header + ${I}, buffer, true); + __dataview.setUint32(header + ${R}, length << align, true); + new constructor(memory.buffer, buffer, length).set(values); + exports.__unpin(buffer); + return header; + } +`)}if(this.needsLiftStaticArray){let S=n.OBJECTInstance,T=S.offsetof("rtSize")-S.nextMemoryOffset;this.needsGetU32=!0,a.push(` function __liftStaticArray(liftElement, align, pointer) { + if (!pointer) return null; + const + length = __getU32(pointer - ${-T}) >>> align, + values = new Array(length); + for (let i = 0; i < length; ++i) values[i] = liftElement(pointer + (i << align >>> 0)); + return values; + } +`)}this.needsLowerStaticArray&&a.push(` function __lowerStaticArray(lowerElement, id, align, values, typedConstructor) { + if (values == null) return 0; + const + length = values.length, + buffer = exports.__pin(exports.__new(length << align, id)) >>> 0; + if (typedConstructor) { + new typedConstructor(memory.buffer, buffer, length).set(values); + } else { + for (let i = 0; i < length; i++) lowerElement(buffer + (i << align >>> 0), values[i]); + } + exports.__unpin(buffer); + return buffer; + } +`),(this.needsLiftInternref||this.needsLowerInternref)&&a.push(` class Internref extends Number {} +`),this.needsLiftInternref&&(this.needsRetain=!0,this.needsRelease=!0,a.push(` const registry = new FinalizationRegistry(__release); + function __liftInternref(pointer) { + if (!pointer) return null; + const sentinel = new Internref(__retain(pointer)); + registry.register(sentinel, pointer); + return sentinel; + } +`)),this.needsLowerInternref&&a.push(` function __lowerInternref(value) { + if (value == null) return 0; + if (value instanceof Internref) return value.valueOf(); + throw TypeError("internref expected"); + } +`),(this.needsRetain||this.needsRelease)&&a.push(` const refcounts = new Map(); +`),this.needsRetain&&a.push(` function __retain(pointer) { + if (pointer) { + const refcount = refcounts.get(pointer); + if (refcount) refcounts.set(pointer, refcount + 1); + else refcounts.set(exports.__pin(pointer), 1); + } + return pointer; + } +`),this.needsRelease&&a.push(` function __release(pointer) { + if (pointer) { + const refcount = refcounts.get(pointer); + if (refcount === 1) exports.__unpin(pointer), refcounts.delete(pointer); + else if (refcount) refcounts.set(pointer, refcount - 1); + else throw Error(\`invalid refcount '\${refcount}' for reference '\${pointer}'\`); + } + } +`),this.needsNotNull&&a.push(` function __notnull() { + throw TypeError("value must not be null"); + } +`),(this.needsSetU8||this.needsSetU16||this.needsSetU32||this.needsSetU64||this.needsSetF32||this.needsSetF64||this.needsGetI8||this.needsGetU8||this.needsGetI16||this.needsGetU16||this.needsGetI32||this.needsGetU32||this.needsGetI64||this.needsGetU64||this.needsGetF32||this.needsGetF64)&&a.push(` let __dataview = new DataView(memory.buffer); +`),this.needsSetU8&&a.push(Ri("U8","setUint8")),this.needsSetU16&&a.push(Ri("U16","setUint16")),this.needsSetU32&&a.push(Ri("U32","setUint32")),this.needsSetU64&&a.push(Ri("U64","setBigUint64")),this.needsSetF32&&a.push(Ri("F32","setFloat32")),this.needsSetF64&&a.push(Ri("F64","setFloat64")),this.needsGetI8&&a.push(mt("I8","getInt8")),this.needsGetU8&&a.push(mt("U8","getUint8")),this.needsGetI16&&a.push(mt("I16","getInt16")),this.needsGetU16&&a.push(mt("U16","getUint16")),this.needsGetI32&&a.push(mt("I32","getInt32")),this.needsGetU32&&a.push(mt("U32","getUint32")),this.needsGetI64&&a.push(mt("I64","getBigInt64")),this.needsGetU64&&a.push(mt("U64","getBigUint64")),this.needsGetF32&&a.push(mt("F32","getFloat32")),this.needsGetF64&&a.push(mt("F64","getFloat64"));let g=s.exportStart;if(g&&a.push(` exports.${g}(); +`),f?a.push(` return adaptedExports; +} +`):a.push(` return exports; +} +`),--this.indentLevel,assert(this.indentLevel==0),this.esm){if(a.push(`export const { +`),this.program.options.exportMemory&&a.push(` memory, +`),this.program.options.exportTable&&a.push(` table, +`),this.program.options.exportRuntime){for(let E=0,F=Ai.length;E instantiate( + await (async () => { + const isNodeOrBun = typeof process != "undefined" && process.versions != null && (process.versions.node != null || process.versions.bun != null); + if (isNodeOrBun) { return globalThis.WebAssembly.compile(await (await import("node:fs/promises")).readFile(url)); } + else { return await globalThis.WebAssembly.compileStreaming(globalThis.fetch(url)); } + })(), { +`);let S=!1,T=new Array;for(let E=Map_keys(c),F=0,I=E.length;F>> 0"),n.push(")")}else r==u.bool?n.push(`${e} != 0`):r.isUnsignedIntegerValue&&r.size>=32?r.size==64?n.push(`BigInt.asUintN(64, ${e})`):n.push(`${e} >>> 0`):n.push(e)}makeLowerToValue(e,r,n=this.sb){if(r.isInternalReference){let s=assert(r.getClassOrWrapper(this.program));if(s.extendsPrototype(this.program.arrayBufferInstance.prototype))n.push("__lowerBuffer("),this.needsLowerBuffer=!0;else if(s.extendsPrototype(this.program.stringInstance.prototype))n.push("__lowerString("),this.needsLowerString=!0;else if(s.extendsPrototype(this.program.arrayPrototype)){let a=s.getArrayValueType();n.push("__lowerArray("),this.makeLowerToMemoryFunc(a,n),n.push(", "),n.push(s.id.toString()),n.push(", "),n.push(s.getArrayValueType().alignLog2.toString()),n.push(", "),this.needsLowerArray=!0}else if(s.extendsPrototype(this.program.staticArrayPrototype)){let a=s.getArrayValueType();n.push("__lowerStaticArray("),this.makeLowerToMemoryFunc(a,n),n.push(", "),n.push(s.id.toString()),n.push(", "),n.push(a.alignLog2.toString()),n.push(", "),this.needsLowerStaticArray=!0}else if(s.extendsPrototype(this.program.arrayBufferViewInstance.prototype)){let a=s.getArrayValueType();n.push("__lowerTypedArray("),a==u.u64?n.push("BigUint64Array"):a==u.i64?n.push("BigInt64Array"):n.push(s.name),n.push(", "),n.push(s.id.toString()),n.push(", "),n.push(s.getArrayValueType().alignLog2.toString()),n.push(", "),this.needsLowerTypedArray=!0}else if(_s(s)){if(n.push("__lowerRecord"),n.push(s.id.toString()),n.push("("),!this.deferredLowers.has(s)){this.deferredLowers.add(s);let a=this.indentLevel;this.indentLevel=1,this.deferredCode.push(this.makeLowerRecord(s)),this.indentLevel=a}}else n.push("__lowerInternref("),this.needsLowerInternref=!0;if(n.push(e),s.extendsPrototype(this.program.staticArrayPrototype)){let a=s.getArrayValueType();a.isNumericValue&&(n.push(", "),a==u.u8||a==u.bool?n.push("Uint8Array"):a==u.i8?n.push("Int8Array"):a==u.u16?n.push("Uint16Array"):a==u.i16?n.push("Int16Array"):a==u.u32||a==u.usize32?n.push("Uint32Array"):a==u.i32||a==u.isize32?n.push("Int32Array"):a==u.u64||a==u.usize64?n.push("BigUint64Array"):a==u.i64||a==u.isize64?n.push("BigInt64Array"):a==u.f32?n.push("Float32Array"):a==u.f64?n.push("Float64Array"):assert(!1))}n.push(")"),r.is(512)||(this.needsNotNull=!0,n.push(" || __notnull()"))}else n.push(e),r.isIntegerValue&&r.size==64?n.push(" || 0n"):r==u.bool&&n.push(" ? 1 : 0")}ensureLiftFromMemoryFn(e){return e.isInternalReference?this.program.options.isWasm64?(this.needsGetU64=!0,"__getU64"):(this.needsGetU32=!0,"__getU32"):e==u.i8?(this.needsGetI8=!0,"__getI8"):e==u.u8||e==u.bool?(this.needsGetU8=!0,"__getU8"):e==u.i16?(this.needsGetI16=!0,"__getI16"):e==u.u16?(this.needsGetU16=!0,"__getU16"):e==u.i32||e==u.isize32?(this.needsGetI32=!0,"__getI32"):e==u.u32||e==u.usize32?(this.needsGetU32=!0,"__getU32"):e==u.i64||e==u.isize64?(this.needsGetI64=!0,"__getI64"):e==u.u64||e==u.usize64?(this.needsGetU64=!0,"__getU64"):e==u.f32?(this.needsGetF32=!0,"__getF32"):e==u.f64?(this.needsGetF64=!0,"__getF64"):'(() => { throw Error("unsupported type"); })'}makeLiftFromMemoryFunc(e,r=this.sb){let n=this.ensureLiftFromMemoryFn(e);e.isInternalReference||e==u.bool||e.isUnsignedIntegerValue&&e.size>=32?(r.push("pointer => "),this.makeLiftFromValue(`${n}(pointer)`,e,r)):r.push(n)}makeLiftFromMemoryCall(e,r=this.sb,n="pointer"){let s=this.ensureLiftFromMemoryFn(e);e.isInternalReference?this.makeLiftFromValue(`${s}(${n})`,e,r):(r.push(s),r.push("("),r.push(n),r.push(")"),e==u.bool&&r.push(" != 0"))}ensureLowerToMemoryFn(e){return e.isInternalReference?this.program.options.isWasm64?(this.needsSetU64=!0,"__setU64"):(this.needsSetU32=!0,"__setU32"):e==u.i8||e==u.u8||e==u.bool?(this.needsSetU8=!0,"__setU8"):e==u.i16||e==u.u16?(this.needsSetU16=!0,"__setU16"):e==u.i32||e==u.u32||e==u.isize32||e==u.usize32?(this.needsSetU32=!0,"__setU32"):e==u.i64||e==u.u64||e==u.isize64||e==u.usize64?(this.needsSetU64=!0,"__setU64"):e==u.f32?(this.needsSetF32=!0,"__setF32"):e==u.f64?(this.needsSetF64=!0,"__setF64"):'(() => { throw Error("unsupported type") })'}makeLowerToMemoryFunc(e,r=this.sb){let n=this.ensureLowerToMemoryFn(e);e.isInternalReference?(r.push("(pointer, value) => { "),r.push(n),r.push("(pointer, "),this.makeLowerToValue("value",e,r),r.push("); }")):r.push(n)}makeLowerToMemoryCall(e,r=this.sb,n="pointer",s="value"){let a=this.ensureLowerToMemoryFn(e);r.push(a),r.push("("),r.push(n),r.push(", "),this.makeLowerToValue(s,e,r),r.push(")")}makeLiftRecord(e){assert(_s(e));let r=new Array;U(r,this.indentLevel),r.push("function __liftRecord"),r.push(e.id.toString()),r.push(`(pointer) { +`),U(r,++this.indentLevel),r.push("// "),r.push(e.type.toString()),r.push(` +`),U(r,this.indentLevel),r.push(`// Hint: Opt-out from lifting as a record by providing an empty constructor +`),U(r,this.indentLevel),r.push(`if (!pointer) return null; +`),U(r,this.indentLevel++),r.push(`return { +`);let n=e.members;if(n)for(let s=Map_keys(n),a=0,l=s.length;a=0),U(r,this.indentLevel),r.push(c.name),r.push(": "),this.makeLiftFromMemoryCall(c.type,r,`pointer + ${c.memoryOffset}`),r.push(`, +`))}return U(r,--this.indentLevel),r.push(`}; +`),U(r,--this.indentLevel),r.push(`} +`),r.join("")}makeLowerRecord(e){assert(_s(e));let r=new Array;U(r,this.indentLevel),r.push("function __lowerRecord"),r.push(e.id.toString()),r.push(`(value) { +`),U(r,++this.indentLevel),r.push("// "),r.push(e.type.toString()),r.push(` +`),U(r,this.indentLevel),r.push(`// Hint: Opt-out from lowering as a record by providing an empty constructor +`),U(r,this.indentLevel),r.push(`if (value == null) return 0; +`),U(r,this.indentLevel),r.push("const pointer = exports.__pin(exports.__new("),r.push(e.nextMemoryOffset.toString()),r.push(", "),r.push(e.id.toString()),r.push(`)); +`);let n=e.members;if(n)for(let s=Map_keys(n),a=0,l=s.length;a=0),U(r,this.indentLevel),this.makeLowerToMemoryCall(c.type,r,`pointer + ${c.memoryOffset}`,`value.${o}`),r.push(`; +`))}return U(r,this.indentLevel),r.push(`exports.__unpin(pointer); +`),U(r,this.indentLevel),r.push(`return pointer; +`),U(r,--this.indentLevel),r.push(`} +`),r.join("")}};function zr(t,i){if(i==0){if(t==u.bool||t.isIntegerValue&&t.size==64)return!1}else if(t==u.bool||t.isUnsignedIntegerValue&&t.size>=32)return!1;return!t.isInternalReference}function kc(t,i){let e=t.parameterTypes,r=i==0?1:0;if(!zr(t.returnType,i))return!1;for(let n=0,s=e.length;n0||this.shrinkLevelHint>0}setFeature(i,e=!0){e?(i&16384&&(i|=1024),i&1024&&(i|=256),i&4096&&(i|=16),this.features|=i):(i&256&&(i|=1024),i&1024&&(i|=16384),i&16&&(i|=4096),this.features&=~i)}hasFeature(i){return(this.features&i)!=0}},Tl=(r=>(r[r.Default=0]="Default",r[r.Never=1]="Never",r[r.Always=2]="Always",r))(Tl||{}),Sc=(l=>(l[l.None=0]="None",l[l.ConvImplicit=1]="ConvImplicit",l[l.ConvExplicit=2]="ConvExplicit",l[l.MustWrap=4]="MustWrap",l[l.WillDrop=8]="WillDrop",l[l.PreferStatic=16]="PreferStatic",l[l.IsThis=32]="IsThis",l))(Sc||{}),Ic=(o=>(o[o.None=0]="None",o[o.Data=1]="Data",o[o.Stack=2]="Stack",o[o.Heap=4]="Heap",o[o.Rtti=8]="Rtti",o[o.visitGlobals=16]="visitGlobals",o[o.visitMembers=32]="visitMembers",o[o.setArgumentsLength=64]="setArgumentsLength",o))(Ic||{}),Pi;(r=>(r.DefaultNamespace="env",r.Memory="memory",r.Table="table"))(Pi||={});var fs;(n=>(n.Memory="memory",n.Table="table",n.argumentsLength="__argumentsLength",n.setArgumentsLength="__setArgumentsLength"))(fs||={});var Ai=["__new","__pin","__unpin","__collect"],wi=["__rtti_base"],ds=class t extends qe{constructor(e){super(e.diagnostics);this.currentParent=null;this.currentType=u.void;this.memorySegments=[];this.stringSegments=new Map;this.functionTable=[];this.builtinArgumentsLength=0;this.runtimeFeatures=0;this.inlineStack=[];this.lazyFunctions=new Set;this.pendingInstanceOf=new Map;this.overrideStubs=new Set;this.pendingElements=new Set;this.doneModuleExports=new Set;this.hasCustomFunctionExports=!1;this.desiresExportRuntime=!1;this.f32ModInstance=null;this.f64ModInstance=null;this.f32PowInstance=null;this.f64PowInstance=null;this.i32PowInstance=null;this.i64PowInstance=null;this._reusableCallExpression=null;this.program=e;let r=e.module,n=e.options;n.memoryBase?(this.memoryOffset=i64_new(n.memoryBase),r.setLowMemoryUnused(!1)):!n.lowMemoryLimit&&n.optimizeLevelHint>=2?(this.memoryOffset=i64_new(1024),r.setLowMemoryUnused(!0)):(this.memoryOffset=i64_new(8),r.setLowMemoryUnused(!1));let s=0;n.hasFeature(1)&&(s|=32),n.hasFeature(2)&&(s|=2),n.hasFeature(4)&&(s|=4),n.hasFeature(8)&&(s|=16),n.hasFeature(16)&&(s|=8),n.hasFeature(32)&&(s|=1),n.hasFeature(64)&&(s|=64),n.hasFeature(128)&&(s|=128),n.hasFeature(256)&&(s|=256),n.hasFeature(512)&&(s|=512),n.hasFeature(1024)&&(s|=1024),n.hasFeature(2048)&&(s|=2048),n.hasFeature(4096)&&(s|=4096),n.hasFeature(8192)&&(s|=8192),n.hasFeature(16384)&&(s|=16384),r.setFeatures(s);let a=e.makeNativeFunction(h.start,Ve.create(e,[],u.void));a.internalName=h.start,this.currentFlow=a.flow,this.currentBody=new Array,this.shadowStack=new Ll(this)}get module(){return this.program.module}get options(){return this.program.options}get resolver(){return this.program.resolver}static compile(e){return new t(e).compile()}compile(){let e=this.options,r=this.module,n=this.program,s=this.resolver,a=e.stackSize>0;this.program.initialize();let l=this.currentFlow.targetFunction;assert(l.internalName==h.start);let o=this.currentBody;assert(o.length==0);let p=n.filesByName;for(let E=Map_values(p),F=0,I=E.length;Fd.size||s.discoveredOverride);d.clear();for(let E=Set_values(f),F=0,I=E.length;F"),e.set(16777216),r.delete(e),!1;e.setType(this.currentType)}else return this.error(1110,e.identifierNode.range.atEnd),e.set(16777216),r.delete(e),!1;if(e.hasDecorator(512)){let g=e.internalName;return kt.has(g)&&assert(kt.get(g))(new jn(this,e)),r.delete(e),!0}let o=e.type;!l&&!e.is(16384)&&o.isReference&&!o.isNullableReference&&this.error(238,e.identifierNode.range);let p=o.toRef(),c=e.is(8)||e.is(96),_=e.hasDecorator(64);if(e.is(32768))return c||this.options.hasFeature(2)?(fg(e,e.declaration),this.program.markModuleImport(Ur,ir,e),n.addGlobalImport(e.internalName,Ur,ir,p,!c),r.delete(e),!this.desiresExportRuntime&&Bi(o)&&(this.desiresExportRuntime=!0),!0):(this.error(103,e.declaration.range,"mutable-globals"),e.set(16777216),r.delete(e),!1);let f=!1;if(l){if(!s){let g=this.currentFlow;e.hasDecorator(1024)&&(this.currentFlow=e.file.startFunction.flow),s=this.compileExpression(l,o,21),this.currentFlow=g}if(!n.isConstExpression(s))if(c){let g=n.runExpression(s,1);g?s=g:f=!0}else f=!0;if(f&&Q(s)==10){let g=assert(Fn(s));if(!Bp(n.getGlobal(g))){let S=this.program.elementsByName;S.has(g)&&assert(S.get(g)).is(32768)&&(f=!1)}}if(_)if(f)this.warning(206,l.range);else{switch(assert(Q(s)==14),ie(s)){case P.I32:{e.constantValueKind=1,e.constantIntegerValue=i64_new(ee(s),0);break}case P.I64:{e.constantValueKind=1,e.constantIntegerValue=i64_new(Ee(s),Ce(s));break}case P.F32:{e.constantValueKind=2,e.constantFloatValue=ge(s);break}case P.F64:{e.constantValueKind=2,e.constantFloatValue=be(s);break}default:return assert(!1),e.set(16777216),r.delete(e),!1}e.set(33554432)}}else e.is(33554432)?s=this.compileInlineConstant(e,e.type,16):s=this.makeZero(o);let d=e.internalName;if(f){_&&this.error(212,Et(8,e.decoratorNodes).range,"inline");let g=o;o.isExternalReference&&!o.is(512)&&(e.set(-2147483648),g=o.asNullable()),n.addGlobal(d,g.toRef(),!0,this.makeZero(g)),this.currentBody.push(n.global_set(d,s))}else _||n.addGlobal(d,p,!c,s);return r.delete(e),!0}compileEnum(e){if(e.is(8388608))return!e.is(16777216);e.set(8388608);let r=this.pendingElements;r.add(e);let n=this.module,s=this.currentParent;this.currentParent=e;let a=null,l=!1,o=e.is(8)||e.hasDecorator(64),p=e.members;if(p)for(let c=Map_values(p),_=0,f=c.length;_=2){let d=new Set;d.add(n[0].name.text);for(let g=1;g=p;--d)r[d+1]=r[d];r[p]=n.flatten(f,P.None),l.is(16384)&&this.options.pedantic&&this.pedantic(905,e.identifierNode.range)}l.is(16384)&&!_.hasDecorator(32)&&this.error(231,_.identifierNode.range),l.is(256)||(r.push(n.local_get(o.index,o.type.toRef())),l.set(261)),_.base&&!_.prototype.implicitlyExtendsObject&&!l.is(128)&&this.error(2377,e.prototype.declaration.range)}else if(a!=u.void&&!l.is(256))return this.error(2355,e.prototype.functionTypeNode.returnType.range),!1;return!0}makeBuiltinFieldGetter(e){let r=assert(e.getterInstance),n=this.module,s=e.type,a=s.toRef(),l=this.options.sizeTypeRef;r.set(8388608);let o=n.load(s.byteSize,s.isSignedIntegerValue,n.local_get(0,l),a,e.memoryOffset),p=this.currentFlow,c=r.flow;return this.currentFlow=c,e.is(16384)&&s.isReference&&!s.isNullableReference&&(o=this.makeRuntimeNonNullCheck(o,s,r.identifierNode)),this.currentFlow=p,n.addFunction(r.internalName,l,a,Tr(r.getNonParameterLocalTypes()),o)}makeBuiltinFieldSetter(e){let r=assert(e.setterInstance),n=this.module,s=e.type,a=this.options.sizeTypeRef,l=s.toRef(),o=n.store(s.byteSize,n.local_get(0,a),n.local_get(1,l),l,e.memoryOffset);if(s.isManaged){let p=r.parent;if(assert(p.kind==7),p.type.isManaged){let c=this.program.linkInstance;this.compileFunction(c),o=n.block(null,[o,n.call(c.internalName,[n.local_get(0,a),n.local_get(1,l),n.i32(0)],P.None)],P.None)}}return r.set(8388608),n.addFunction(r.internalName,Ke([a,l]),P.None,null,o)}addAlignedMemorySegment(e,r=16){assert(gt(r));let n=i64_align(this.memoryOffset,r),s=new fi(e,n);return this.memorySegments.push(s),this.memoryOffset=i64_add(n,i64_new(e.length)),s}addRuntimeMemorySegment(e){let r=this.program.computeBlockStart64(this.memoryOffset),n=new fi(e,r);return this.memorySegments.push(n),this.memoryOffset=i64_add(r,i64_new(e.length)),n}ensureStaticString(e){let r=this.ensureStaticStringPtr(e);return this.currentType=this.program.stringInstance.type,this.module.usize(r)}ensureStaticStringPtr(e){let r=this.program,n=r.totalOverhead,s=assert(r.stringInstance),a,l=this.stringSegments;if(l.has(e))a=assert(l.get(e));else{let o=e.length,p=s.createBuffer(o<<1);for(let c=0;c=0?`case${f}|${d}`:`break|${d}`);let g=r.block(`case0|${d}`,c,P.None),S=null,T=null;for(let E=0;E=0?T?l.inherit(T):l.set(256):T&&l.mergeBranch(T),this.currentFlow=l,g}compileThrowStatement(e){this.currentFlow.set(264);let n=new Array,s=e.value,a=null;if(s.kind==17){let l=s.args;l.length&&(a=l[0])}return n.push(this.makeAbort(a,e)),this.module.flatten(n)}compileTryStatement(e){return this.error(100,e.range,"Exceptions"),this.module.unreachable()}compileVariableStatement(e){let r=this.module,n=e.declarations,s=n.length,a=this.currentFlow,l=new Array,o=this.resolver;for(let p=0;p");continue}f=g}else{this.error(1110,c.name.range.atEnd);continue}let E=c.is(8),F=!1;if(E)if(d){let I=r.runExpression(d,1);if(I){d=I;let R=null;switch(ie(d)){case P.I32:{R=new ze(_,-1,f,a.targetFunction),R.setConstantIntegerValue(i64_new(ee(d),0),f);break}case P.I64:{R=new ze(_,-1,f,a.targetFunction),R.setConstantIntegerValue(i64_new(Ee(d),Ce(d)),f);break}case P.F32:{R=new ze(_,-1,f,a.targetFunction),R.setConstantFloatValue(ge(d),f);break}case P.F64:{R=new ze(_,-1,f,a.targetFunction),R.setConstantFloatValue(be(d),f);break}}if(R){let C=a.scopedLocals;if(!C)a.scopedLocals=C=new Map;else if(C.has(_)){let N=assert(C.get(_));return this.errorRelated(2300,c.name.range,N.declaration.name.range,_),this.module.unreachable()}C.set(_,R),F=!0}}}else this.error(1155,c.range);if(!F){let I;if(c.isAny(24)||a.isInline){let R=a.getScopedLocal(_);R?(R.declaration.range.source.isNative?this.error(2300,c.name.range,_):this.errorRelated(2300,c.name.range,R.declaration.name.range,_),I=R):I=a.addScopedLocal(_,f),E&&a.setLocalFlag(I.index,1)}else{let R=a.lookupLocal(_);if(R){this.errorRelated(2300,c.name.range,R.declaration.name.range,_);continue}I=a.targetFunction.addLocal(f,_,c),a.unsetLocalFlag(I.index,-1),E&&a.setLocalFlag(I.index,1)}d?l.push(this.makeLocalAssignment(I,d,g||f,!1)):I.type.isShortIntegerValue&&a.setLocalFlag(I.index,2)}}return this.currentType=u.void,l.length==0?0:r.flatten(l)}compileVoidStatement(e){return this.compileExpression(e.expression,u.void,10)}compileWhileStatement(e){return this.doCompileWhileStatement(e)}doCompileWhileStatement(e){let r=this.module,n=this.currentFlow,s=n.targetFunction.localsByIndex.length,a=this.compileExpression(e.condition,u.bool),l=this.makeIsTrueish(a,this.currentType,e.condition),o=this.evaluateCondition(l);if(o==2)return r.drop(l);let p=n.forkThen(a,!0),c=p.pushControlFlowLabel(),_=`while-break|${c}`;p.breakLabel=_;let f=`while-continue|${c}`;p.continueLabel=f,this.currentFlow=p;let d=new Array,g=e.body;g.kind==30?this.compileStatements(g.statements,d):d.push(this.compileStatement(g)),d.push(r.br(f)),p.popControlFlowLabel(c);let S=p.isAny(4128),T=p.isAny(2064),E=!p.isAny(272);if((S||E)&&n.resetIfNeedsRecompile(p,s))return this.currentFlow=n,this.doCompileWhileStatement(e);let I=!1;if(o==1)n.inherit(p),T||(I=!0,n.set(256));else{let C=n.forkElse(a);!E&&!T?(n.inherit(C),n.mergeSideEffects(p)):n.inheritAlternatives(p,C)}this.currentFlow=n;let R=[r.loop(f,r.if(l,r.flatten(d)))];return I&&R.push(r.unreachable()),r.block(_,R)}compileInlineConstant(e,r,n){assert(e.is(37748736));let s=e.type;switch(this.currentType=s,s.kind){case 0:return this.module.i32(e.constantValueKind==1?i64_ne(e.constantIntegerValue,i64_zero):0);case 1:case 2:{let a=s.computeSmallIntegerShift(u.i32);return this.module.i32(e.constantValueKind==1?i64_low(e.constantIntegerValue)<>a:0)}case 6:case 7:{let a=e.type.computeSmallIntegerMask(u.i32);return this.module.i32(e.constantValueKind==1?i64_low(e.constantIntegerValue)&a:0)}case 3:case 8:return this.module.i32(e.constantValueKind==1?i64_low(e.constantIntegerValue):0);case 5:case 10:if(!e.program.options.isWasm64)return this.module.i32(e.constantValueKind==1?i64_low(e.constantIntegerValue):0);case 4:case 9:return e.constantValueKind==1?this.module.i64(i64_low(e.constantIntegerValue),i64_high(e.constantIntegerValue)):this.module.i64(0);case 12:{if(!(e.hasDecorator(512)&&r==u.f32))return this.module.f64(e.constantFloatValue);this.currentType=u.f32}case 11:return this.module.f32(e.constantFloatValue);default:return assert(!1),this.module.unreachable()}}compileExpression(e,r,n=0){for(;e.kind==20;)e=e.expression;this.currentType=r,r==u.void&&(n|=8);let s;switch(e.kind){case 7:{s=this.compileAssertionExpression(e,r,n);break}case 8:{s=this.compileBinaryExpression(e,r,n);break}case 9:{s=this.compileCallExpression(e,r,n);break}case 11:{s=this.compileCommaExpression(e,r,n);break}case 12:{s=this.compileElementAccessExpression(e,r,n);break}case 14:{s=this.compileFunctionExpression(e,r,n);break}case 6:case 13:case 18:case 24:case 23:case 25:{s=this.compileIdentifierExpression(e,r,n);break}case 15:{s=this.compileInstanceOfExpression(e,r,n);break}case 16:{s=this.compileLiteralExpression(e,r,n);break}case 17:{s=this.compileNewExpression(e,r,n);break}case 21:{s=this.compilePropertyAccessExpression(e,r,n);break}case 22:{s=this.compileTernaryExpression(e,r,n);break}case 27:{s=this.compileUnaryPostfixExpression(e,r,n);break}case 28:{s=this.compileUnaryPrefixExpression(e,r,n);break}case 29:{let o=e;s=o.expr,this.currentType=o.type;break}case 10:{this.error(100,e.range,"Block-scoped class declarations or expressions"),s=this.module.unreachable();break}default:assert(!1),s=this.module.unreachable()}let a=this.currentType,l=(n&4)!=0;return a!=r.nonNullableType&&(n&2?(s=this.convertExpression(s,a,r,!0,e),this.currentType=a=r):n&1&&(s=this.convertExpression(s,a,r,!1,e),this.currentType=a=r)),l&&(s=this.ensureSmallIntegerWrap(s,a)),this.options.sourceMap&&this.addDebugLocation(s,e.range),s}convertExpression(e,r,n,s,a){let l=this.module;if(r.kind==25)return n.kind==25?e:(this.error(2322,a.range,r.toString(),n.toString()),l.unreachable());if(n.kind==25)return l.drop(e);if(r.isReference||n.isReference)return this.currentFlow.isNonnull(e,r)?r=r.nonNullableType:s&&r.isNullableReference&&!n.isNullableReference&&(this.options.noAssert||(e=this.makeRuntimeNonNullCheck(e,r,a)),r=r.nonNullableType),r.isAssignableTo(n)?(assert(n.isExternalReference||r.kind==n.kind),this.currentType=n,e):s&&n.nonNullableType.isAssignableTo(r)?n.isExternalReference?(this.error(100,a.range,"ref.cast"),this.currentType=n,l.unreachable()):(assert(r.kind==n.kind),this.options.noAssert||(e=this.makeRuntimeDowncastCheck(e,r,n,a)),this.currentType=n,e):(this.error(2322,a.range,r.toString(),n.toString()),this.currentType=n,l.unreachable());if(assert(!r.isReference&&!n.isReference),n.kind==r.kind)return this.currentType=n,e;if(!n.isBooleanValue&&(n.isVectorValue||r.isVectorValue))return this.error(2322,a.range,r.toString(),n.toString()),l.unreachable();if(r.isAssignableTo(n)||s||this.error(200,a.range,r.toString(),n.toString()),r.isFloatValue)if(n.isFloatValue)r.kind==11?n.kind==12&&(e=l.unary(43,e)):n.kind==11&&(e=l.unary(44,e));else if(n.isIntegerValue)if(r.kind==11)if(n.isBooleanValue)e=this.makeIsTrueish(e,u.f32,a);else if(n.isSignedIntegerValue){let o=this.options.hasFeature(4);n.isLongIntegerValue?e=l.unary(o?56:26,e):e=l.unary(o?52:25,e)}else{let o=this.options.hasFeature(4);n.isLongIntegerValue?e=l.unary(o?57:28,e):e=l.unary(o?53:27,e)}else if(n.isBooleanValue)e=this.makeIsTrueish(e,u.f64,a);else if(n.isSignedIntegerValue){let o=this.options.hasFeature(4);n.isLongIntegerValue?e=l.unary(o?58:30,e):e=l.unary(o?54:29,e)}else{let o=this.options.hasFeature(4);n.isLongIntegerValue?e=l.unary(o?59:32,e):e=l.unary(o?55:31,e)}else assert(n.flags==0,"void type expected"),e=l.drop(e);else if(r.isIntegerValue&&n.isFloatValue){e=this.ensureSmallIntegerWrap(e,r);let o;n.kind==11?r.isLongIntegerValue?r.isSignedIntegerValue?o=39:o=41:r.isSignedIntegerValue?o=35:o=37:r.isLongIntegerValue?r.isSignedIntegerValue?o=40:o=42:r.isSignedIntegerValue?o=36:o=38,e=l.unary(o,e)}else r==u.v128&&n.isBooleanValue?e=this.makeIsTrueish(e,u.v128,a):r.isLongIntegerValue?n.isBooleanValue?e=l.binary(41,e,l.i64(0)):n.isLongIntegerValue||(e=l.unary(24,e)):n.isLongIntegerValue?e=l.unary(r.isSignedIntegerValue?22:23,this.ensureSmallIntegerWrap(e,r)):r.isShortIntegerValue?r.size",p.toString(),_.toString()),this.currentType=r,s.unreachable();o=this.convertExpression(o,p,f,!1,a),p=f,c=this.convertExpression(c,_,f,!1,l),_=f,d=this.makeGt(o,c,f),this.currentType=u.bool;break}case 74:{o=this.compileExpression(a,r),p=this.currentType;let I=p.getClassOrWrapper(this.program);if(I){let R=I.lookupOverload(22);if(R){d=this.compileBinaryOverload(R,a,o,p,l,e);break}}if(c=this.compileExpression(l,p),_=this.currentType,f=u.commonType(p,_,r,!0),!f||!f.isNumericValue)return this.error(2365,e.range,"<=",p.toString(),_.toString()),this.currentType=r,s.unreachable();o=this.convertExpression(o,p,f,!1,a),p=f,c=this.convertExpression(c,_,f,!1,l),_=f,d=this.makeLe(o,c,f),this.currentType=u.bool;break}case 75:{o=this.compileExpression(a,r),p=this.currentType;let I=p.getClassOrWrapper(this.program);if(I){let R=I.lookupOverload(20);if(R){d=this.compileBinaryOverload(R,a,o,p,l,e);break}}if(c=this.compileExpression(l,p),_=this.currentType,f=u.commonType(p,_,r,!0),!f||!f.isNumericValue)return this.error(2365,e.range,">=",p.toString(),_.toString()),this.currentType=r,s.unreachable();o=this.convertExpression(o,p,f,!1,a),p=f,c=this.convertExpression(c,_,f,!1,l),_=f,d=this.makeGe(o,c,f),this.currentType=u.bool;break}case 78:case 76:{o=this.compileExpression(a,r),p=this.currentType;let I=p.getClassOrWrapper(this.program);if(I){let R=I.lookupOverload(17);if(R){d=this.compileBinaryOverload(R,a,o,p,l,e);break}}if(c=this.compileExpression(l,p),_=this.currentType,f=u.commonType(p,_,r),!f)return this.error(2365,e.range,Te(e.operator),p.toString(),_.toString()),this.currentType=r,s.unreachable();f.isFloatValue&&((mi(s,c)||mi(s,o))&&this.warning(907,e.range),(di(c)||di(o))&&this.warning(908,e.range)),o=this.convertExpression(o,p,f,!1,a),p=f,c=this.convertExpression(c,_,f,!1,l),_=f,d=this.makeEq(o,c,f,e),this.currentType=u.bool;break}case 79:case 77:{o=this.compileExpression(a,r),p=this.currentType;let I=p.getClass();if(I){let R=I.lookupOverload(18);if(R){d=this.compileBinaryOverload(R,a,o,p,l,e);break}}if(c=this.compileExpression(l,p),_=this.currentType,f=u.commonType(p,_,r),!f)return this.error(2365,e.range,Te(e.operator),p.toString(),_.toString()),this.currentType=r,s.unreachable();f.isFloatValue&&((mi(s,c)||mi(s,o))&&this.warning(907,e.range),(di(c)||di(o))&&this.warning(908,e.range)),o=this.convertExpression(o,p,f,!1,a),p=f,c=this.convertExpression(c,_,f,!1,l),_=f,d=this.makeNe(o,c,f,e),this.currentType=u.bool;break}case 101:return this.compileAssignment(a,l,r);case 102:g=!0;case 81:{o=this.compileExpression(a,r),p=this.currentType;let I=p.getClassOrWrapper(this.program);if(I){let R=I.lookupOverload(5);if(R){d=this.compileBinaryOverload(R,a,o,p,l,e);break}}if(g){if(!p.isNumericValue)return this.error(2469,e.range,"+",p.toString()),s.unreachable();c=this.compileExpression(l,p,1),_=f=this.currentType}else{if(c=this.compileExpression(l,p),_=this.currentType,f=u.commonType(p,_,r),!f||!f.isNumericValue)return this.error(2365,e.range,"+",p.toString(),_.toString()),this.currentType=r,s.unreachable();o=this.convertExpression(o,p,f,!1,a),p=f,c=this.convertExpression(c,_,f,!1,l),_=f}d=this.makeAdd(o,c,f);break}case 103:g=!0;case 82:{o=this.compileExpression(a,r),p=this.currentType;let I=p.getClassOrWrapper(this.program);if(I){let R=I.lookupOverload(6);if(R){d=this.compileBinaryOverload(R,a,o,p,l,e);break}}if(g){if(!p.isNumericValue)return this.error(2469,e.range,"-",p.toString()),s.unreachable();c=this.compileExpression(l,p,1),_=f=this.currentType}else{if(c=this.compileExpression(l,p),_=this.currentType,f=u.commonType(p,_,r),!f||!p.isNumericValue)return this.error(2365,e.range,"-",p.toString(),_.toString()),this.currentType=r,s.unreachable();o=this.convertExpression(o,p,f,!1,a),p=f,c=this.convertExpression(c,_,f,!1,l),_=f}d=this.makeSub(o,c,f);break}case 104:g=!0;case 84:{o=this.compileExpression(a,r),p=this.currentType;let I=p.getClassOrWrapper(this.program);if(I){let R=I.lookupOverload(7);if(R){d=this.compileBinaryOverload(R,a,o,p,l,e);break}}if(g){if(!p.isNumericValue)return this.error(2469,e.range,"*",p.toString()),s.unreachable();c=this.compileExpression(l,p,1),_=f=this.currentType}else{if(c=this.compileExpression(l,p),_=this.currentType,f=u.commonType(p,_,r),!f||!f.isNumericValue)return this.error(2365,e.range,"*",p.toString(),_.toString()),this.currentType=r,s.unreachable();o=this.convertExpression(o,p,f,!1,a),p=f,c=this.convertExpression(c,_,f,!1,l),_=f}d=this.makeMul(o,c,f);break}case 105:g=!0;case 83:{o=this.compileExpression(a,r),p=this.currentType;let I=p.getClassOrWrapper(this.program);if(I){let R=I.lookupOverload(10);if(R){d=this.compileBinaryOverload(R,a,o,p,l,e);break}}if(g){if(!p.isNumericValue)return this.error(2469,e.range,"**",p.toString()),s.unreachable();c=this.compileExpression(l,p,1),_=f=this.currentType}else{if(c=this.compileExpression(l,p),_=this.currentType,f=u.commonType(p,_,r),!f||!f.isNumericValue)return this.error(2365,e.range,"**",p.toString(),_.toString()),this.currentType=r,s.unreachable();o=this.convertExpression(o,p,f,!1,a),p=f,c=this.convertExpression(c,_,f,!1,l),_=f}d=this.makePow(o,c,f,e);break}case 106:g=!0;case 85:{o=this.compileExpression(a,r),p=this.currentType;let I=p.getClassOrWrapper(this.program);if(I){let R=I.lookupOverload(8);if(R){d=this.compileBinaryOverload(R,a,o,p,l,e);break}}if(g){if(!p.isNumericValue)return this.error(2469,e.range,"/",p.toString()),s.unreachable();c=this.compileExpression(l,p,1),_=f=this.currentType}else{if(c=this.compileExpression(l,p),_=this.currentType,f=u.commonType(p,_,r),!f||!f.isNumericValue)return this.error(2365,e.range,"/",p.toString(),_.toString()),this.currentType=r,s.unreachable();o=this.convertExpression(o,p,f,!1,a),p=f,c=this.convertExpression(c,_,f,!1,l),_=f}d=this.makeDiv(o,c,f);break}case 107:g=!0;case 86:{o=this.compileExpression(a,r),p=this.currentType;let I=p.getClassOrWrapper(this.program);if(I){let R=I.lookupOverload(9);if(R){d=this.compileBinaryOverload(R,a,o,p,l,e);break}}if(g){if(!p.isNumericValue)return this.error(2469,e.range,"%",p.toString()),s.unreachable();c=this.compileExpression(l,p,1),_=f=this.currentType}else{if(c=this.compileExpression(l,p),_=this.currentType,f=u.commonType(p,_,r),!f||!f.isNumericValue)return this.error(2365,e.range,"%",p.toString(),_.toString()),this.currentType=r,s.unreachable();o=this.convertExpression(o,p,f,!1,a),p=f,c=this.convertExpression(c,_,f,!1,l),_=f}d=this.makeRem(o,c,f,e);break}case 108:g=!0;case 89:{o=this.compileExpression(a,r.intType),p=this.currentType;let I=p.getClassOrWrapper(this.program);if(I){let R=I.lookupOverload(14);if(R){d=this.compileBinaryOverload(R,a,o,p,l,e);break}}if(!p.isIntegerValue)return this.error(2469,e.range,"<<",p.toString()),s.unreachable();c=this.compileExpression(l,p,1),_=this.currentType,d=this.makeShl(o,c,_);break}case 109:g=!0;case 90:{o=this.compileExpression(a,r.intType),p=this.currentType;let I=p.getClassOrWrapper(this.program);if(I){let R=I.lookupOverload(15);if(R){d=this.compileBinaryOverload(R,a,o,p,l,e);break}}if(!p.isIntegerValue)return this.error(2469,e.range,">>",p.toString()),this.module.unreachable();c=this.compileExpression(l,p,1),_=this.currentType,d=this.makeShr(o,c,_);break}case 110:g=!0;case 91:{o=this.compileExpression(a,r.intType),p=this.currentType;let I=p.getClassOrWrapper(this.program);if(I){let R=I.lookupOverload(16);if(R){d=this.compileBinaryOverload(R,a,o,p,l,e);break}}if(!p.isIntegerValue)return this.error(2469,e.range,">>>",p.toString()),s.unreachable();c=this.compileExpression(l,p,1),_=this.currentType,d=this.makeShru(o,c,_);break}case 111:g=!0;case 92:{o=this.compileExpression(a,r.intType),p=this.currentType;let I=p.getClassOrWrapper(this.program);if(I){let R=I.lookupOverload(11);if(R){d=this.compileBinaryOverload(R,a,o,p,l,e);break}}if(g){if(!p.isIntegerValue)return this.error(2469,e.range,"&",p.toString()),s.unreachable();c=this.compileExpression(l,p,1),_=f=this.currentType}else{if(c=this.compileExpression(l,p),_=this.currentType,f=u.commonType(p,_,r),!f||!f.isIntegerValue)return this.error(2365,e.range,"&",p.toString(),_.toString()),this.currentType=r,s.unreachable();o=this.convertExpression(o,p,f,!1,a),p=f,c=this.convertExpression(c,_,f,!1,l),_=f}d=this.makeAnd(o,c,f);break}case 112:g=!0;case 93:{o=this.compileExpression(a,r.intType),p=this.currentType;let I=p.getClassOrWrapper(this.program);if(I){let R=I.lookupOverload(12);if(R){d=this.compileBinaryOverload(R,a,o,p,l,e);break}}if(g){if(!p.isIntegerValue)return this.error(2469,e.range,"|",p.toString()),s.unreachable();c=this.compileExpression(l,p,1),_=f=this.currentType}else{if(c=this.compileExpression(l,p),_=this.currentType,f=u.commonType(p,_,r),!f||!f.isIntegerValue)return this.error(2365,e.range,"|",p.toString(),_.toString()),this.currentType=r,s.unreachable();o=this.convertExpression(o,p,f,!1,a),p=f,c=this.convertExpression(c,_,f,!1,l),_=f}d=this.makeOr(o,c,f);break}case 113:g=!0;case 94:{o=this.compileExpression(a,r.intType),p=this.currentType;let I=p.getClassOrWrapper(this.program);if(I){let R=I.lookupOverload(13);if(R){d=this.compileBinaryOverload(R,a,o,p,l,e);break}}if(g){if(!p.isIntegerValue)return this.error(2469,e.range,"^",p.toString()),s.unreachable();c=this.compileExpression(l,p,1),_=f=this.currentType}else{if(c=this.compileExpression(l,p),_=this.currentType,f=u.commonType(p,_,r),!f||!f.isIntegerValue)return this.error(2365,e.range,"^",p.toString(),_.toString()),this.currentType=r,s.unreachable();o=this.convertExpression(o,p,f,!1,a),p=f,c=this.convertExpression(c,_,f,!1,l),_=f}d=this.makeXor(o,c,f);break}case 97:{let I=this.currentFlow,R=n&4;o=this.compileExpression(a,r.exceptVoid,R),p=this.currentType;let C=I.forkThen(o);if(this.currentFlow=C,r==u.bool||r==u.void){o=this.makeIsTrueish(o,p,a);let N=this.evaluateCondition(o);N==2?d=o:(c=this.compileExpression(l,p,R),_=this.currentType,c=this.makeIsTrueish(c,_,l),N==1?(d=c,I.inherit(C)):(d=s.if(o,c,s.i32(0)),I.mergeBranch(C),I.noteThen(d,C))),this.currentFlow=I,this.currentType=u.bool}else{if(c=this.compileExpression(l,p,R),_=this.currentType,f=u.commonType(p,_,r),!f)return this.error(2365,e.range,"&&",p.toString(),_.toString()),this.currentType=r,s.unreachable();if(o=this.convertExpression(o,p,f,!1,a),p=f,c=this.convertExpression(c,_,f,!1,l),_=f,d=s.tryCopyTrivialExpression(o))d=s.if(this.makeIsTrueish(o,this.currentType,a),c,d);else{let N=I.getTempLocal(p);I.canOverflow(o,p)||I.setLocalFlag(N.index,2),I.isNonnull(o,p)&&I.setLocalFlag(N.index,4),d=s.if(this.makeIsTrueish(s.local_tee(N.index,o,p.isManaged),p,a),c,s.local_get(N.index,p.toRef()))}I.mergeBranch(C),I.noteThen(d,C),this.currentFlow=I,this.currentType=f}break}case 98:{let I=this.currentFlow,R=n&4;o=this.compileExpression(a,r.exceptVoid,R),p=this.currentType;let C=I.forkElse(o);if(this.currentFlow=C,r==u.bool||r==u.void){o=this.makeIsTrueish(o,p,a);let N=this.evaluateCondition(o);N==1?d=o:(c=this.compileExpression(l,p,R),_=this.currentType,c=this.makeIsTrueish(c,_,l),N==2?(d=c,I.inherit(C)):(d=s.if(o,s.i32(1),c),I.mergeBranch(C),I.noteElse(d,C))),this.currentFlow=I,this.currentType=u.bool}else{if(c=this.compileExpression(l,p,R),_=this.currentType,f=u.commonType(p,_,r),!f)return this.error(2365,e.range,"||",p.toString(),_.toString()),this.currentType=r,s.unreachable();let N=p.is(512)&&_.is(512);if(o=this.convertExpression(o,p,f,!1,a),p=f,c=this.convertExpression(c,_,f,!1,l),_=f,d=s.tryCopyTrivialExpression(o))d=s.if(this.makeIsTrueish(o,p,a),d,c);else{let K=I.getTempLocal(p).index;I.canOverflow(o,p)||I.setLocalFlag(K,2),I.isNonnull(o,p)&&I.setLocalFlag(K,4),d=s.if(this.makeIsTrueish(s.local_tee(K,o,p.isManaged),p,a),s.local_get(K,p.toRef()),c)}I.mergeBranch(C),I.noteElse(d,C),this.currentFlow=I,this.currentType=N?f:f.nonNullableType}break}case 29:return this.error(100,e.range,"'in' operator"),this.currentType=u.bool,s.unreachable();default:assert(!1),d=this.module.unreachable()}if(!g)return d;let T=this.resolver,E=T.lookupExpression(a,this.currentFlow);if(!E)return s.unreachable();let F=T.getTypeOfElement(E);return F||(F=u.void),this.currentType.isStrictlyAssignableTo(F)?this.makeAssignment(E,d,this.currentType,l,T.currentThisExpression,T.currentElementExpression,r!=u.void):(this.error(2322,e.range,this.currentType.toString(),F.toString()),s.unreachable())}makeLt(e,r,n){let s=this.module;switch(n.kind){case 1:case 2:e=this.ensureSmallIntegerWrap(e,n),r=this.ensureSmallIntegerWrap(r,n);case 3:return s.binary(17,e,r);case 4:return s.binary(42,e,r);case 5:return s.binary(220,e,r);case 0:case 6:case 7:e=this.ensureSmallIntegerWrap(e,n),r=this.ensureSmallIntegerWrap(r,n);case 8:return s.binary(18,e,r);case 9:return s.binary(43,e,r);case 10:return s.binary(221,e,r);case 11:return s.binary(59,e,r);case 12:return s.binary(72,e,r)}return assert(!1),s.unreachable()}makeGt(e,r,n){let s=this.module;switch(n.kind){case 1:case 2:e=this.ensureSmallIntegerWrap(e,n),r=this.ensureSmallIntegerWrap(r,n);case 3:return s.binary(21,e,r);case 4:return s.binary(46,e,r);case 5:return s.binary(224,e,r);case 0:case 6:case 7:e=this.ensureSmallIntegerWrap(e,n),r=this.ensureSmallIntegerWrap(r,n);case 8:return s.binary(22,e,r);case 9:return s.binary(47,e,r);case 10:return s.binary(225,e,r);case 11:return s.binary(61,e,r);case 12:return s.binary(74,e,r)}return assert(!1),s.unreachable()}makeLe(e,r,n){let s=this.module;switch(n.kind){case 1:case 2:e=this.ensureSmallIntegerWrap(e,n),r=this.ensureSmallIntegerWrap(r,n);case 3:return s.binary(19,e,r);case 4:return s.binary(44,e,r);case 5:return s.binary(222,e,r);case 0:case 6:case 7:e=this.ensureSmallIntegerWrap(e,n),r=this.ensureSmallIntegerWrap(r,n);case 8:return s.binary(20,e,r);case 9:return s.binary(45,e,r);case 10:return s.binary(223,e,r);case 11:return s.binary(60,e,r);case 12:return s.binary(73,e,r)}return assert(!1),s.unreachable()}makeGe(e,r,n){let s=this.module;switch(n.kind){case 1:case 2:e=this.ensureSmallIntegerWrap(e,n),r=this.ensureSmallIntegerWrap(r,n);case 3:return s.binary(23,e,r);case 4:return s.binary(48,e,r);case 5:return s.binary(226,e,r);case 0:case 6:case 7:e=this.ensureSmallIntegerWrap(e,n),r=this.ensureSmallIntegerWrap(r,n);case 8:return s.binary(24,e,r);case 9:return s.binary(49,e,r);case 10:return s.binary(227,e,r);case 11:return s.binary(62,e,r);case 12:return s.binary(75,e,r)}return assert(!1),s.unreachable()}makeEq(e,r,n,s){let a=this.module;switch(n.kind){case 0:case 1:case 2:case 6:case 7:e=this.ensureSmallIntegerWrap(e,n),r=this.ensureSmallIntegerWrap(r,n);case 3:case 8:return a.binary(15,e,r);case 4:case 9:return a.binary(40,e,r);case 5:case 10:return a.binary(218,e,r);case 11:return a.binary(57,e,r);case 12:return a.binary(70,e,r);case 13:return a.unary(70,a.binary(76,e,r));case 17:case 18:case 19:case 20:return a.ref_eq(e,r);case 21:return a.string_eq(e,r);case 22:case 23:case 24:case 15:case 14:case 16:return this.error(203,s.range,"ref.eq",n.toString()),a.unreachable()}return assert(!1),a.unreachable()}makeNe(e,r,n,s){let a=this.module;switch(n.kind){case 0:case 1:case 2:case 6:case 7:e=this.ensureSmallIntegerWrap(e,n),r=this.ensureSmallIntegerWrap(r,n);case 3:case 8:return a.binary(16,e,r);case 4:case 9:return a.binary(41,e,r);case 5:case 10:return a.binary(219,e,r);case 11:return a.binary(58,e,r);case 12:return a.binary(71,e,r);case 13:return a.unary(67,a.binary(77,e,r));case 17:case 18:case 19:case 20:return a.unary(20,a.ref_eq(e,r));case 21:return a.unary(20,a.string_eq(e,r));case 22:case 23:case 24:case 15:case 14:case 16:return this.error(203,s.range,"ref.eq",n.toString()),a.unreachable()}return assert(!1),a.unreachable()}makeAdd(e,r,n){let s=this.module;switch(n.kind){case 0:case 1:case 2:case 6:case 7:case 3:case 8:return s.binary(0,e,r);case 4:case 9:return s.binary(25,e,r);case 5:case 10:return s.binary(203,e,r);case 11:return s.binary(50,e,r);case 12:return s.binary(63,e,r)}return assert(!1),s.unreachable()}makeSub(e,r,n){let s=this.module;switch(n.kind){case 0:case 1:case 2:case 6:case 7:case 3:case 8:return s.binary(1,e,r);case 4:case 9:return s.binary(26,e,r);case 5:case 10:return s.binary(204,e,r);case 11:return s.binary(51,e,r);case 12:return s.binary(64,e,r)}return assert(!1),s.unreachable()}makeMul(e,r,n){let s=this.module;switch(n.kind){case 0:case 1:case 2:case 6:case 7:case 3:case 8:return s.binary(2,e,r);case 4:case 9:return s.binary(27,e,r);case 5:case 10:return s.binary(205,e,r);case 11:return s.binary(52,e,r);case 12:return s.binary(65,e,r)}return assert(!1),s.unreachable()}makePow(e,r,n,s){let a=this.module;switch(n.kind){case 0:return a.select(a.i32(1),a.binary(15,r,a.i32(0)),e,P.I32);case 1:case 6:case 2:case 7:e=this.ensureSmallIntegerWrap(e,n),r=this.ensureSmallIntegerWrap(r,n);case 3:case 8:{if(this.options.willOptimize&&Q(e)==14&&Q(r)==14){let p=ee(e),c=ee(r);return this.currentType=n,a.i32(i64_low(i64_pow(i64_new(p),i64_new(c))))}let l=this.i32PowInstance;if(!l){let p=this.program.lookup(B.ipow32);if(!p)return this.error(2304,s.range,"ipow32"),a.unreachable();assert(p.kind==4),this.i32PowInstance=l=this.resolver.resolveFunction(p,null)}if(!l||!this.compileFunction(l))return a.unreachable();let o=this.makeCallDirect(l,[e,r],s);return n.size<32&&(o=this.ensureSmallIntegerWrap(o,n)),o}case 4:case 9:{if(this.options.willOptimize&&Q(e)==14&&Q(r)==14){let o=i64_new(Ee(e),Ce(e)),p=i64_new(Ee(r),Ce(r)),c=i64_pow(o,p);return this.currentType=n,a.i64(i64_low(c),i64_high(c))}let l=this.i64PowInstance;if(!l){let o=this.program.lookup(B.ipow64);if(!o)return this.error(2304,s.range,"ipow64"),a.unreachable();assert(o.kind==4),this.i64PowInstance=l=this.resolver.resolveFunction(o,null)}return!l||!this.compileFunction(l)?a.unreachable():this.makeCallDirect(l,[e,r],s)}case 5:case 10:{let l=this.options.isWasm64;if(this.options.willOptimize&&Q(e)==14&&Q(r)==14)if(l){let p=i64_new(Ee(e),Ce(e)),c=i64_new(Ee(r),Ce(r)),_=i64_pow(p,c);return this.currentType=n,a.i64(i64_low(_),i64_high(_))}else{let p=ee(e),c=ee(r);return this.currentType=n,a.i32(i64_low(i64_pow(i64_new(p),i64_new(c))))}let o=l?this.i64PowInstance:this.i32PowInstance;if(!o){let p=this.program.lookup(l?B.ipow64:B.ipow32);if(!p)return this.error(2304,s.range,l?"ipow64":"ipow32"),a.unreachable();assert(p.kind==4),o=this.resolver.resolveFunction(p,null),l?this.i64PowInstance=o:this.i32PowInstance=o}return!o||!this.compileFunction(o)?a.unreachable():this.makeCallDirect(o,[e,r],s)}case 11:{if(this.options.willOptimize&&Q(e)==14&&Q(r)==14){let o=ge(e),p=ge(r);return this.currentType=n,a.f32(f32(Hs(o,p)))}let l=this.f32PowInstance;if(!l){let o=this.program.lookup(B.Mathf);if(!o)return this.error(2304,s.range,"Mathf"),a.unreachable();let p=o.getMember(B.pow);if(!p)return this.error(2304,s.range,"Mathf.pow"),a.unreachable();assert(p.kind==4),this.f32PowInstance=l=this.resolver.resolveFunction(p,null)}return!l||!this.compileFunction(l)?a.unreachable():this.makeCallDirect(l,[e,r],s)}case 12:{if(this.options.willOptimize&&Q(e)==14&&Q(r)==14){let o=be(e),p=be(r);return this.currentType=n,a.f64(Hs(o,p))}let l=this.f64PowInstance;if(!l){let o=this.program.lookup(B.Math);if(!o)return this.error(2304,s.range,"Math"),a.unreachable();let p=o.getMember(B.pow);if(!p)return this.error(2304,s.range,"Math.pow"),a.unreachable();assert(p.kind==4),this.f64PowInstance=l=this.resolver.resolveFunction(p,null)}return!l||!this.compileFunction(l)?a.unreachable():this.makeCallDirect(l,[e,r],s)}}return assert(!1),a.unreachable()}makeDiv(e,r,n){let s=this.module;switch(n.kind){case 1:case 2:e=this.ensureSmallIntegerWrap(e,n),r=this.ensureSmallIntegerWrap(r,n);case 3:return s.binary(3,e,r);case 4:return s.binary(28,e,r);case 5:return s.binary(206,e,r);case 0:case 6:case 7:e=this.ensureSmallIntegerWrap(e,n),r=this.ensureSmallIntegerWrap(r,n);case 8:return s.binary(4,e,r);case 9:return s.binary(29,e,r);case 10:return s.binary(207,e,r);case 11:return s.binary(53,e,r);case 12:return s.binary(66,e,r)}return assert(!1),s.unreachable()}makeRem(e,r,n,s){let a=this.module;switch(n.kind){case 1:case 2:e=this.ensureSmallIntegerWrap(e,n),r=this.ensureSmallIntegerWrap(r,n);case 3:return a.binary(5,e,r);case 4:return a.binary(30,e,r);case 5:return a.binary(208,e,r);case 0:case 6:case 7:e=this.ensureSmallIntegerWrap(e,n),r=this.ensureSmallIntegerWrap(r,n);case 8:return a.binary(6,e,r);case 9:return a.binary(31,e,r);case 10:return a.binary(209,e,r);case 11:{let l=this.f32ModInstance;if(!l){let o=this.program.lookup(B.Mathf);if(!o)return this.error(2304,s.range,"Mathf"),a.unreachable();let p=o.getMember(B.mod);if(!p)return this.error(2304,s.range,"Mathf.mod"),a.unreachable();assert(p.kind==4),this.f32ModInstance=l=this.resolver.resolveFunction(p,null)}return!l||!this.compileFunction(l)?a.unreachable():this.makeCallDirect(l,[e,r],s)}case 12:{let l=this.f64ModInstance;if(!l){let o=this.program.lookup(B.Math);if(!o)return this.error(2304,s.range,"Math"),a.unreachable();let p=o.getMember(B.mod);if(!p)return this.error(2304,s.range,"Math.mod"),a.unreachable();assert(p.kind==4),this.f64ModInstance=l=this.resolver.resolveFunction(p,null)}return!l||!this.compileFunction(l)?a.unreachable():this.makeCallDirect(l,[e,r],s)}}return assert(!1),a.unreachable()}makeShl(e,r,n){let s=this.module;switch(n.kind){case 0:return e;case 1:case 2:case 6:case 7:return s.binary(10,e,s.binary(7,r,s.i32(n.size-1)));case 3:case 8:return s.binary(10,e,r);case 4:case 9:return s.binary(35,e,r);case 5:case 10:return s.binary(213,e,r)}return assert(!1),s.unreachable()}makeShr(e,r,n){let s=this.module;switch(n.kind){case 0:return e;case 1:case 2:return s.binary(11,this.ensureSmallIntegerWrap(e,n),s.binary(7,r,s.i32(n.size-1)));case 6:case 7:return s.binary(12,this.ensureSmallIntegerWrap(e,n),s.binary(7,r,s.i32(n.size-1)));case 3:return s.binary(11,e,r);case 4:return s.binary(36,e,r);case 5:return s.binary(214,e,r);case 8:return s.binary(12,e,r);case 9:return s.binary(37,e,r);case 10:return s.binary(215,e,r)}return assert(!1),s.unreachable()}makeShru(e,r,n){let s=this.module;switch(n.kind){case 0:return e;case 1:case 2:case 6:case 7:return s.binary(12,this.ensureSmallIntegerWrap(e,n),s.binary(7,r,s.i32(n.size-1)));case 3:case 8:return s.binary(12,e,r);case 4:case 9:return s.binary(37,e,r);case 5:case 10:return s.binary(215,e,r)}return assert(!1),s.unreachable()}makeAnd(e,r,n){let s=this.module;switch(n.kind){case 0:case 1:case 2:case 3:case 6:case 7:case 8:return s.binary(7,e,r);case 4:case 9:return s.binary(32,e,r);case 5:case 10:return s.binary(210,e,r)}return assert(!1),s.unreachable()}makeOr(e,r,n){let s=this.module;switch(n.kind){case 0:case 1:case 2:case 6:case 7:return s.binary(8,e,r);case 3:case 8:return s.binary(8,e,r);case 4:case 9:return s.binary(33,e,r);case 5:case 10:return s.binary(211,e,r)}return assert(!1),s.unreachable()}makeXor(e,r,n){let s=this.module;switch(n.kind){case 0:case 1:case 2:case 6:case 7:return s.binary(9,e,r);case 3:case 8:return s.binary(9,e,r);case 4:case 9:return s.binary(34,e,r);case 5:case 10:return s.binary(212,e,r)}return assert(!1),s.unreachable()}compileUnaryOverload(e,r,n,s){return this.makeCallDirect(e,[n],s,!1)}compileBinaryOverload(e,r,n,s,a,l){let o,p=e.signature,c=p.parameterTypes;e.is(262144)?(n=this.convertExpression(n,s,assert(p.thisType),!1,r),o=c[0]):(n=this.convertExpression(n,s,c[0],!1,r),o=c[1]);let _=this.compileExpression(a,o,1);return this.makeCallDirect(e,[n,_],l)}compileAssignment(e,r,n){let a=this.program.resolver,l=this.currentFlow,o=a.lookupExpression(e,l);if(!o)return this.module.unreachable();let p=a.currentThisExpression,c=a.currentElementExpression,_;switch(o.kind){case 0:case 1:{if(o.kind==0){if(!this.compileGlobalLazy(o,e))return this.module.unreachable()}else if(!o.declaredByFlow(l))return this.error(100,e.range,"Closures"),this.module.unreachable();if(this.pendingElements.has(o))return this.error(2448,e.range,o.internalName),this.module.unreachable();_=o.type,o.hasDecorator(2048)&&this.checkUnsafe(e);break}case 10:{let g=o,S=a.resolveProperty(g);if(!S)return this.module.unreachable();o=S}case 11:{let g=o;if(g.isField&&this.pendingElements.has(o))return this.error(2448,e.range,o.internalName),this.module.unreachable();let S=g.setterInstance;if(!S)return this.error(2540,e.range,g.internalName),this.module.unreachable();assert(S.signature.parameterTypes.length==1),_=S.signature.parameterTypes[0],S.hasDecorator(2048)&&this.checkUnsafe(e);break}case 15:{let g=o.parent;assert(g.kind==7);let S=g,T=l.is(32768),E=S.lookupOverload(2,T);if(!E)return S.lookupOverload(1,T)?this.error(2542,e.range,S.internalName):this.error(2329,e.range,S.internalName),this.module.unreachable();let F=E.signature.parameterTypes;assert(F.length==2),_=F[1],E.hasDecorator(2048)&&this.checkUnsafe(e),!T&&this.options.pedantic&&this.pedantic(904,e.range);break}default:return this.error(2540,e.range,o.internalName),this.module.unreachable()}assert(_!=u.void);let f=this.compileExpression(r,_),d=this.currentType;return _.isNullableReference&&this.currentFlow.isNonnull(f,d)&&(_=_.nonNullableType),this.makeAssignment(o,this.convertExpression(f,d,_,!1,r),_,r,p,c,n!=u.void)}makeAssignment(e,r,n,s,a,l,o){let p=this.module,c=this.currentFlow;switch(e.kind){case 1:{let _=e;return c.isLocalFlag(_.index,1,!0)?(this.error(2540,s.range,e.internalName),this.currentType=o?_.type:u.void,p.unreachable()):this.makeLocalAssignment(_,r,n,o)}case 0:{let _=e;return this.compileGlobalLazy(_,s)?e.isAny(72)?(this.error(2540,s.range,e.internalName),this.currentType=o?_.type:u.void,p.unreachable()):this.makeGlobalAssignment(_,r,n,o):p.unreachable()}case 10:{let _=this.resolver.resolveProperty(e);if(!_)return p.unreachable();e=_}case 11:{let _=e;if(_.isField){let d=c.sourceFunction.is(524288);if(_.is(64)){let g=_.initializerNode;if(!d||g)return this.error(2540,s.range,_.internalName),p.unreachable()}a=assert(a),d&&a.kind==24&&c.setThisFieldFlag(_,1)}let f=_.setterInstance;if(!f)return this.error(2540,s.range,e.internalName),p.unreachable();if(assert(f.signature.parameterTypes.length==1),assert(f.signature.returnType==u.void),_.is(262144)){let d=assert(f.signature.thisType),g=this.compileExpression(assert(a),d,33);if(!o)return this.makeCallDirect(f,[g,r],s);let S=c.getTempLocal(n),T=n.toRef(),E=p.block(null,[this.makeCallDirect(f,[g,p.local_tee(S.index,r,n.isManaged,T)],s),p.local_get(S.index,T)],T);return this.currentType=n,E}else{if(!o)return this.makeCallDirect(f,[r],s);let d=c.getTempLocal(n),g=n.toRef(),S=p.block(null,[this.makeCallDirect(f,[p.local_tee(d.index,r,n.isManaged,g)],s),p.local_get(d.index,g)],g);return this.currentType=n,S}}case 15:{let f=e.parent;assert(f.kind==7);let d=f;assert(d.kind==7);let g=c.is(32768),S=d.lookupOverload(1,g);if(!S)return this.error(2329,s.range,d.internalName),p.unreachable();let T=d.lookupOverload(2,g);if(!T)return this.error(2542,s.range,d.internalName),this.currentType=o?S.signature.returnType:u.void,p.unreachable();assert(T.signature.parameterTypes.length==2);let E=d.type,F=this.compileExpression(assert(a),E,33),I=T.signature.parameterTypes[0],R=S.signature.parameterTypes[0];if(!I.equals(R))return this.errorRelated(237,S.identifierAndSignatureRange,T.identifierAndSignatureRange,d.internalName),this.currentType=o?S.signature.returnType:u.void,p.unreachable();let C=this.compileExpression(assert(l),I,1),N=this.currentType;if(o){let D=c.getTempLocal(E),K=c.getTempLocal(N),V=S.signature.returnType;return p.block(null,[this.makeCallDirect(T,[p.local_tee(D.index,F,E.isManaged),p.local_tee(K.index,C,N.isManaged),r],s),this.makeCallDirect(S,[p.local_get(D.index,D.type.toRef()),p.local_get(K.index,K.type.toRef())],s)],V.toRef())}else return this.makeCallDirect(T,[F,C,r],s)}default:this.error(2541,s.range)}return p.unreachable()}makeLocalAssignment(e,r,n,s){let a=this.module,l=this.currentFlow,o=e.type;assert(o!=u.void);let p=e.index;return o.isNullableReference&&(!n.isNullableReference||l.isNonnull(r,o)?l.setLocalFlag(p,4):l.unsetLocalFlag(p,4)),l.setLocalFlag(p,8),o.isShortIntegerValue&&(l.canOverflow(r,o)?l.unsetLocalFlag(p,2):l.setLocalFlag(p,2)),s?(this.currentType=o,a.local_tee(p,r,o.isManaged)):(this.currentType=u.void,a.local_set(p,r,o.isManaged))}makeGlobalAssignment(e,r,n,s){let a=this.module,l=e.type;assert(l!=u.void);let o=l.toRef();return r=this.ensureSmallIntegerWrap(r,l),s?(this.currentType=l,a.block(null,[a.global_set(e.internalName,r),a.global_get(e.internalName,o)],o)):(this.currentType=u.void,a.global_set(e.internalName,r))}compileCallExpression(e,r,n){let s=this.module,a=this.currentFlow;if(e.expression.kind==23){let _=this.currentFlow,f=_.sourceFunction;if(!f.is(524288))return this.error(2337,e.range),s.unreachable();let d=assert(f.parent);assert(d.kind==7);let g=d,S=g.base;if(!S||g.prototype.implicitlyExtendsObject)return this.error(2335,e.expression.range),s.unreachable();let T=assert(_.lookupLocal(B.this_)),E=this.options.sizeTypeRef,F=this.ensureConstructor(S,e);this.checkFieldInitialization(S,e);let I=this.compileCallDirect(F,e.args,e,s.local_get(T.index,E));return _.isAny(8256)?(this.error(17009,e.range),s.unreachable()):(_.set(192),this.currentType=u.void,s.local_set(T.index,I,g.type.isManaged))}let l=this.resolver.lookupExpression(e.expression,a);if(!l)return s.unreachable();let o=this.resolver.currentThisExpression;switch(l.kind){case 4:{let _=l;if(_.hasDecorator(512))return this.compileCallExpressionBuiltin(_,e,r);let f=this.resolver.maybeInferCall(e,_,a);if(!f)return this.module.unreachable();l=f}case 5:{let _=l,f=0;return _.is(262144)&&(f=this.compileExpression(assert(o),assert(_.signature.thisType),33)),this.compileCallDirect(_,e.args,e,f,n)}}let p=this.compileExpression(e.expression,u.auto),c=this.currentType.getSignature();if(c)return this.compileCallIndirect(c,p,e.args,e,0,r==u.void);if(this.error(2349,e.range,this.currentType.toString()),l.kind==10){let _=l.getterPrototype;_&&this.infoRelated(6234,e.range,_.identifierNode.range)}return s.unreachable()}compileCallExpressionLike(e,r,n,s,a,l=0){let o=this._reusableCallExpression;return o?(o.expression=e,o.typeArguments=r,o.args=n,o.range=s):this._reusableCallExpression=o=L.createCallExpression(e,r,n,s),this.compileCallExpression(o,a,l)}compileCallExpressionBuiltin(e,r,n){e.hasDecorator(2048)&&this.checkUnsafe(r);let s=null,a=e.typeParameterNodes,l=r.typeArguments;r.typeArguments&&(e.is(65536)||this.error(2315,r.range,e.internalName),s=this.resolver.resolveTypeArguments(assert(a),l,this.currentFlow,this.currentFlow.sourceFunction.parent,pe(this.currentFlow.contextualTypeArguments),r));let o=r.expression,p=new Cl(this,e,s,r.args,o.kind==21?o.expression:null,n,r,!1),c;return e.is(262144)?c=`${assert(e.getBoundClassOrInterface()).prototype.internalName}#${e.name}`:c=e.internalName,assert(y.has(c)),assert(y.get(c))(p)}checkCallSignature(e,r,n,s){let a=e.thisType;if(n!=(a!=null))return this.error(2685,s.range),!1;let l=e.hasRest;if(l)return this.error(100,s.range,"Rest parameters"),!1;let o=e.requiredParameters,p=e.parameterTypes.length;return rp&&!l?(this.error(2554,s.range,p.toString(),r.toString()),!1):!0}checkUnsafe(e,r=null){this.options.noUnsafe&&!e.range.source.isLibrary&&(r?this.errorRelated(101,e.range,r.range):this.error(101,e.range))}compileCallDirect(e,r,n,s=0,a=0){let l=r.length,o=e.signature;if(!this.checkCallSignature(o,l,s!=0,n))return this.currentType=o.returnType,this.module.unreachable();e.hasDecorator(2048)&&this.checkUnsafe(n);let p=this.currentFlow.sourceFunction;if(p.is(524288)&&n.isAccessOnThis){let g=p.parent;assert(g.kind==7),this.checkFieldInitialization(g,n)}if(e.hasDecorator(64)&&(!e.is(268435456)||n.isAccessOnSuper)){assert(!e.is(134217728));let g=this.inlineStack;if(g.includes(e))this.warning(217,n.range,e.internalName);else{let S=o.parameterTypes;assert(l<=S.length);let T=new Array(l);for(let F=0;F=r.length-s);s=c),!this.compileFunction(e))return a.unreachable();let g=e.signature.returnType;if(l=_),o0,p=!o||r!=u.void,c=new je(p?`${o?s.name.text:"anonymous"}|${l.nextAnonymousId++}`:s.name.text,l,s,0),_,f=pe(a.contextualTypeArguments),d=this.module,g=r.signatureReference;if(g){let E=c.functionTypeNode,F=E.parameters,I=F.length,R=g.parameterTypes,C=R.length;if(I>C)return this.error(2554,e.range,C.toString(),I.toString()),d.unreachable();for(let X=0;X=0);let d=a.isLocalFlag(f,4,!1);if(_.isNullableReference&&d&&(!_.isExternalReference||this.options.hasFeature(1024))?this.currentType=_.nonNullableType:this.currentType=_,!c.declaredByFlow(a))return this.error(100,e.range,"Closures"),s.unreachable();let g=s.local_get(f,_.toRef());return d&&_.isNullableExternalReference&&this.options.hasFeature(1024)&&(g=s.ref_as_nonnull(g)),g}case 0:{let c=p;if(!this.compileGlobalLazy(c,e))return s.unreachable();let _=c.type;if(this.pendingElements.has(c))return this.error(2448,e.range,c.internalName),this.currentType=_,s.unreachable();if(assert(_!=u.void),c.hasDecorator(512))return this.compileIdentifierExpressionBuiltin(c,e,r);if(c.is(33554432))return this.compileInlineConstant(c,r,n);let f=s.global_get(c.internalName,_.toRef());return c.is(16384)&&_.isReference&&!_.isNullableReference&&(f=this.makeRuntimeNonNullCheck(f,_,e)),this.currentType=_,f}case 3:{let c=p;return p.is(8388608)?(this.currentType=u.i32,c.is(33554432)?(assert(c.constantValueKind==1),s.i32(i64_low(c.constantIntegerValue))):s.global_get(c.internalName,P.I32)):(this.error(2651,e.range),this.currentType=u.i32,s.unreachable())}case 4:{let c=p,_=c.typeParameterNodes;if(_&&_.length!=0){this.error(1140,e.range);break}let f=this.resolver.resolveFunction(c,null,pe(a.contextualTypeArguments));if(!f||!this.compileFunction(f))return s.unreachable();if(f.hasDecorator(512))return this.error(100,e.range,"First-class built-ins"),this.currentType=f.type,s.unreachable();if(r.isExternalReference)return this.currentType=u.func,s.ref_func(f.internalName,Pn(f.type));let d=this.ensureRuntimeFunction(f);return this.currentType=f.signature.type,this.options.isWasm64?s.i64(i64_low(d),i64_high(d)):s.i32(i64_low(d))}}return this.error(234,e.range),s.unreachable()}compileIdentifierExpressionBuiltin(e,r,n){e.hasDecorator(2048)&&this.checkUnsafe(r,e.identifierNode);let s=e.internalName;return assert(tt.has(s)),assert(tt.get(s))(new jn(this,e,n,r))}compileInstanceOfExpression(e,r,n){let s=this.currentFlow,a=e.isType;if(a.kind==1){let o=a;if(!(o.isNullable||o.hasTypeArguments)){let p=this.resolver.resolveTypeName(o.name,s,s.sourceFunction,1);if(p&&p.kind==6){let c=p;if(c.is(65536))return this.makeInstanceofClass(e,c)}}}let l=this.resolver.resolveType(e.isType,s,s.sourceFunction,pe(s.contextualTypeArguments));return l?this.makeInstanceofType(e,l):(this.currentType=u.bool,this.module.unreachable())}makeInstanceofType(e,r){let n=this.module,s=this.currentFlow,a=this.compileExpression(e.expression,r),l=this.currentType;if(this.currentType=u.bool,r.isValue)return n.maybeDropCondition(a,n.i32(l==r?1:0));if(l.isValue)return n.maybeDropCondition(a,n.i32(0));let o=l.toRef();if(l.isNullableReference&&!r.isNullableReference){if(l.nonNullableType.isAssignableTo(r))return n.binary(o==P.I64?41:16,a,this.makeZero(l));if(l.nonNullableType.hasSubtypeAssignableTo(r))if(l.isUnmanaged||r.isUnmanaged)this.error(2365,e.range,"instanceof",l.toString(),r.toString());else{this.options.pedantic&&this.pedantic(903,e.range);let c=s.getTempLocal(l).index;return n.if(n.unary(o==P.I64?21:20,n.local_tee(c,a,l.isManaged)),n.i32(0),n.call(this.prepareInstanceOf(r.classReference),[n.local_get(c,o)],P.I32))}}else{if(l.isAssignableTo(r))return n.maybeDropCondition(a,n.i32(1));if(l.hasSubtypeAssignableTo(r))if(l.isUnmanaged||r.isUnmanaged)this.error(2365,e.range,"instanceof",l.toString(),r.toString());else{let c=s.getTempLocal(l).index;return n.if(n.unary(o==P.I64?21:20,n.local_tee(c,a,l.isManaged)),n.i32(0),n.call(this.prepareInstanceOf(r.classReference),[n.local_get(c,o)],P.I32))}}return n.maybeDropCondition(a,n.i32(0))}prepareInstanceOf(e){let r=`~instanceof|${e.internalName}`,n=this.pendingInstanceOf;if(n.has(e))return assert(n.get(e));n.set(e,r);let s=this.module;return s.addFunction(r,this.options.sizeTypeRef,P.I32,null,s.unreachable()),r}finalizeInstanceOf(e,r){let n=this.program,s=this.module,a=this.options.sizeTypeRef,l=new Array;l.push(s.local_set(1,s.load(4,!1,s.binary(a==P.I64?26:1,s.local_get(0,a),s.i32(n.totalOverhead-n.OBJECTInstance.offsetof("rtId"))),P.I32),!1));let o;if(e.isInterface)o=e.implementers;else{o=new Set,o.add(e);let p=e.extenders;if(p)for(let c=Set_values(p),_=0,f=c.length;_0&&R.push(this.ensureStaticString(s[0]));for(let Y=1;Y0&&R.push(this.ensureStaticString(s[Y]));let C=assert(this.resolver.resolveClass(this.program.staticArrayPrototype,[_])),N=this.addStaticBuffer(_,R,C.id);this.program.OBJECTInstance.writeField("gcInfo",3,N.buffer,0);let D=i64_add(N.offset,i64_new(this.program.totalOverhead)),K=assert(C.getMethod("join")),V=assert(C.lookupOverload(2,!0)),O=new Array(2*o+1),X=new Array(o),te=this.currentFlow;for(let Y=0;Y=0),N.push(s.local_set(S.index,s.load(_.byteSize,!1,s.local_get(g.index,C),C,K.memoryOffset),!0));for(let V=0;V",r.toString()),n.unreachable();let a=s.type;if(this.currentType=a.nonNullableType,s.kind==9)return this.error(100,e.range,"Interface hidden classes"),n.unreachable();if(s.is(128))return this.error(2511,e.range),n.unreachable();let l=s.prototype.constructorPrototype;if(l)return this.errorRelated(216,e.range,l.identifierNode.range,a.toString()),n.unreachable();a.isManaged||this.checkUnsafe(e,Et(6,s.decoratorNodes));let p=e.names,c=p.length,_=e.values,f=s.members,d=!1,g=new Array,T=this.currentFlow.getTempLocal(a),E=a.toRef();assert(c==_.length);let F=new Set;if(f)for(let C=Map_keys(f),N=0,D=C.length;N",a.toString()),d=!0;continue}switch(V.kind){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:{g.push(n.store(V.byteSize,n.local_get(T.index,E),this.makeZero(V),V.toRef(),K.memoryOffset));continue}}this.error(2741,e.range,K.name,"",a.toString()),d=!0}}if(d)return n.unreachable();let R=this.ensureConstructor(s,e);return g.unshift(n.local_set(T.index,this.compileInstantiate(R,[],0,e),a.isManaged)),g.push(n.local_get(T.index,E)),this.currentType=a.nonNullableType,n.flatten(g,E)}compileNewExpression(e,r,n){let s=this.module,a=this.currentFlow,l=this.resolver.resolveTypeName(e.typeName,a,a.sourceFunction);if(!l)return s.unreachable();if(l.kind!=6)return this.error(2351,e.typeName.range),this.module.unreachable();if(l.is(128))return this.error(2511,e.typeName.range),this.module.unreachable();let o=l,p=null,c=e.typeArguments,_;if(!c&&(_=r.classReference)&&_.prototype==o&&_.is(65536)?p=this.resolver.resolveClass(o,_.typeArguments,pe(a.contextualTypeArguments)):p=this.resolver.resolveClassInclTypeArguments(o,c,a,a.sourceFunction.parent,pe(a.contextualTypeArguments),e),!p)return s.unreachable();r==u.void&&(n|=8);let f=this.ensureConstructor(p,e);return f.hasDecorator(64)||this.checkFieldInitialization(p,e),this.compileInstantiate(f,e.args,n,e)}ensureConstructor(e,r){let n=e.constructorInstance;if(n){if(n.is(8388608))return n;n.hasDecorator(64)||this.compileFunction(n)}else{let s=e.base,a=pe(e.contextualTypeArguments);if(s){let I=this.ensureConstructor(s,r);this.checkFieldInitialization(s,r),n=new ct(B.constructor,new je(B.constructor,e,I.declaration.clone()),null,Ve.create(this.program,I.signature.parameterTypes,e.type,e.type,I.signature.requiredParameters,I.signature.hasRest),a)}else n=new ct(B.constructor,new je(B.constructor,e,this.program.makeNativeFunctionDeclaration(B.constructor,786432)),null,Ve.create(this.program,[],e.type,e.type),a);n.set(8388608),n.prototype.setResolvedInstance("",n),e.is(1048576)&&n.set(1048576),e.constructorInstance=n;let l=e.members;l||(e.members=l=new Map),l.set("constructor",n.prototype);let o=this.currentFlow,p=n.flow;this.currentFlow=p;let c=n.signature,_=this.module,f=this.options.sizeTypeRef,d=new Array;if(d.push(this.makeConditionalAllocation(e,0)),s){let I=c.parameterTypes,R=I.length,C=new Array(1+R);C[0]=_.local_get(0,f);for(let N=1;N<=R;++N)C[N]=_.local_get(N,I[N-1].toRef());d.push(_.local_set(0,this.makeCallDirect(assert(s.constructorInstance),C,r,!1),s.type.isManaged))}this.makeFieldInitializationInConstructor(e,d),d.push(_.local_get(0,f)),this.currentFlow=o;let g=n.localsByIndex,S=new Array,T=1+c.parameterTypes.length,E=g.length;if(E>T)for(let I=T;Io?c=l[o]:c=r,this.program.checkTypeSupported(a[o],c)||(n=!1)}return this.program.checkTypeSupported(e.returnType,r.returnType)||(n=!1),n}evaluateCondition(e){let r=ie(e);if(r==P.Unreachable)return 0;assert(r==P.I32);let s=this.module.runExpression(e,0);return s?ee(s)?1:2:0}makeZero(e){let r=this.module;switch(e.kind){default:assert(!1);case 0:case 1:case 2:case 3:case 6:case 7:case 8:return r.i32(0);case 5:case 10:if(e.size!=64)return r.i32(0);case 4:case 9:return r.i64(0);case 11:return r.f32(0);case 12:return r.f64(0);case 13:return r.v128(ap);case 15:case 14:case 16:case 17:case 18:case 19:case 21:case 22:case 23:case 24:return e.is(512)?r.ref_null(e.toRef()):(assert(!1),r.unreachable());case 20:return e.is(512)?r.ref_null(e.toRef()):r.i31_new(r.i32(0))}}makeOne(e){let r=this.module;switch(e.kind){default:assert(!1);case 0:case 1:case 2:case 3:case 6:case 7:case 8:return r.i32(1);case 5:case 10:if(e.size!=64)return r.i32(1);case 4:case 9:return r.i64(1);case 11:return r.f32(1);case 12:return r.f64(1);case 20:return r.i31_new(r.i32(1))}}makeNegOne(e){let r=this.module;switch(e.kind){default:assert(!1);case 1:case 2:case 3:case 6:case 7:case 8:return r.i32(-1);case 5:case 10:if(e.size!=64)return r.i32(-1);case 4:case 9:return r.i64(-1,-1);case 11:return r.f32(-1);case 12:return r.f64(-1);case 13:return r.v128(lp);case 20:return r.i31_new(r.i32(-1))}}makeIsTrueish(e,r,n){let s=this.module;switch(r.kind){case 1:case 2:case 6:case 7:e=this.ensureSmallIntegerWrap(e,r);case 0:case 3:case 8:return e;case 4:case 9:return s.binary(41,e,s.i64(0));case 5:case 10:return r.size==64?s.binary(41,e,s.i64(0)):e;case 11:{let a=this.options;return a.shrinkLevelHint>1&&a.hasFeature(4)?s.unary(20,s.unary(20,s.unary(53,s.unary(10,s.unary(8,e))))):s.binary(20,s.binary(1,s.binary(10,s.unary(33,e),s.i32(1)),s.i32(2)),s.i32(4278190078))}case 12:{let a=this.options;return a.shrinkLevelHint>1&&a.hasFeature(4)?s.unary(20,s.unary(20,s.unary(55,s.unary(11,s.unary(9,e))))):s.binary(45,s.binary(26,s.binary(35,s.unary(34,e),s.i64(1)),s.i64(2)),s.i64(4294967294,4292870143))}case 13:return s.unary(67,e);case 15:case 14:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:case 24:return s.unary(20,s.ref_is_null(e));case 25:default:return this.error(1345,n.range,r.toString()),s.i32(0)}}makeToString(e,r,n){let s=this.program.stringInstance.type;if(r==s)return e;let a=r.getClassOrWrapper(this.program);if(a){let l=a.getMethod("toString");if(l){let o=l.signature;if(!this.checkCallSignature(o,0,!0,n))return this.currentType=s,this.module.unreachable();if(!r.isStrictlyAssignableTo(assert(o.thisType)))return this.errorRelated(2685,n.range,l.identifierAndSignatureRange),this.currentType=s,this.module.unreachable();let p=o.returnType;return p.isStrictlyAssignableTo(s)?this.makeCallDirect(l,[e],n):(this.errorRelated(2322,n.range,l.identifierAndSignatureRange,p.toString(),s.toString()),this.currentType=s,this.module.unreachable())}}return this.error(2322,n.range,r.toString(),s.toString()),this.currentType=s,this.module.unreachable()}makeAllocation(e){let r=this.program;assert(e.program==r);let n=this.module,s=this.options;if(this.currentType=e.type,e.hasDecorator(16)){let a=r.allocInstance;return this.compileFunction(a),n.call(a.internalName,[s.isWasm64?n.i64(e.nextMemoryOffset):n.i32(e.nextMemoryOffset)],s.sizeTypeRef)}else{let a=r.newInstance;return this.compileFunction(a),n.call(a.internalName,[s.isWasm64?n.i64(e.nextMemoryOffset):n.i32(e.nextMemoryOffset),n.i32(e.id)],s.sizeTypeRef)}}makeConditionalAllocation(e,r){let n=this.module,a=e.type.toRef();return assert(a==this.options.sizeTypeRef),n.if(n.unary(a==P.I64?21:20,n.local_get(r,a)),n.local_set(r,this.makeAllocation(e),e.type.isManaged))}makeFieldInitializationInConstructor(e,r=[]){let n=e.members;if(!n)return r;let s=this.module,a=this.currentFlow,l=a.isInline,o=l?a.lookupLocal(B.this_).index:0,p=this.options.sizeTypeRef,c=null;for(let _=Map_values(n),f=0,d=_.length;f0){let a=s[0];a.isLiteralKind(2)?(ir=a.value,s.length>=2&&(a=s[1],a.isLiteralKind(2)?(Ur=ir,ir=a.value,s.length>2&&r.error(2554,n.range,"2",s.length.toString())):r.error(1141,a.range))):r.error(1141,a.range)}else r.error(2555,n.range,"1","0")}var Ni=class t extends Fi{constructor(e,r,n=!1){super(e,n);this.sb=[];this.indentLevel=0;this.seenObjectTypes=new Map;this.deferredTypings=new Array;this.esm=r}static build(e,r=!0){return new t(e,r).build()}visitGlobal(e,r){let n=this.sb,s=r.type,a=this.toTypeScriptType(s,1);U(n,this.indentLevel),n.push("/** "),n.push(r.internalName),n.push(` */ +`),U(n,this.indentLevel),n.push("export "),this.esm&&n.push("declare "),n.push("const "),n.push(e),n.push(`: { +`),U(n,++this.indentLevel),n.push("/** @type `"),n.push(s.toString()),n.push("` */\n"),U(n,this.indentLevel),n.push("get value(): "),n.push(a),r.is(8)?n.push(` +`):(n.push(`; +`),U(n,this.indentLevel),n.push("set value(value: "),n.push(a),n.push(`); +`)),U(n,--this.indentLevel),n.push(`}; +`)}visitEnum(e,r){let n=this.sb;U(n,this.indentLevel),n.push("/** "),n.push(r.internalName),n.push(` */ +`),U(n,this.indentLevel++),n.push("export "),this.esm&&n.push("declare "),n.push("enum "),n.push(e),n.push(` { +`);let s=r.members;if(s)for(let a=Map_keys(s),l=0,o=a.length;l=p&&n.push("?"),n.push(": "),n.push(this.toTypeScriptType(a[c],0));n.push("): "),n.push(this.toTypeScriptType(o,1)),n.push(`; +`)}visitClass(e,r){}visitInterface(e,r){}visitNamespace(e,r){}visitAlias(e,r,n){}build(){let e=this.sb;this.esm||(e.push(`declare namespace __AdaptedExports { +`),++this.indentLevel),this.program.options.exportMemory&&(U(e,this.indentLevel),e.push(`/** Exported memory */ +`),U(e,this.indentLevel),e.push(`export ${this.esm?"declare ":""}const memory: WebAssembly.Memory; +`)),this.program.options.exportTable&&(U(e,this.indentLevel),e.push(`/** Exported table */ +`),U(e,this.indentLevel),e.push(`export ${this.esm?"declare ":""}const table: WebAssembly.Table; +`)),this.program.options.exportRuntime&&(U(e,this.indentLevel),e.push(`// Exported runtime interface +`),U(e,this.indentLevel),e.push(`export ${this.esm?"declare ":""}function __new(size: number, id: number): number; +`),U(e,this.indentLevel),e.push(`export ${this.esm?"declare ":""}function __pin(ptr: number): number; +`),U(e,this.indentLevel),e.push(`export ${this.esm?"declare ":""}function __unpin(ptr: number): void; +`),U(e,this.indentLevel),e.push(`export ${this.esm?"declare ":""}function __collect(): void; +`),U(e,this.indentLevel),e.push(`export ${this.esm?"declare ":""}const __rtti_base: number; +`)),this.walk(),this.esm||(--this.indentLevel,e.push(`} +`));let r=this.deferredTypings;for(let n=0,s=r.length;n; +`)}return e.join("")}isPlainObject(e){if(e.base&&!e.prototype.implicitlyExtendsObject)return!1;let r=e.members;if(r)for(let n=Map_values(r),s=0,a=n.length;s")}else if(s.extendsPrototype(this.program.staticArrayPrototype)){let a=s.getArrayValueType();n.push("ArrayLike<"),n.push(this.toTypeScriptType(a,r)),n.push(">")}else if(s.extendsPrototype(this.program.arrayBufferViewInstance.prototype)){let a=s.getArrayValueType();a==u.i8?n.push("Int8Array"):a==u.u8?s.extendsPrototype(this.program.uint8ClampedArrayPrototype)?n.push("Uint8ClampedArray"):n.push("Uint8Array"):a==u.i16?n.push("Int16Array"):a==u.u16?n.push("Uint16Array"):a==u.i32?n.push("Int32Array"):a==u.u32?n.push("Uint32Array"):a==u.i64?n.push("BigInt64Array"):a==u.u64?n.push("BigUint64Array"):a==u.f32?n.push("Float32Array"):a==u.f64?n.push("Float64Array"):n.push("unknown")}else{let a=this.seenObjectTypes,l;if(a.has(s))l=assert(a.get(s)),n.push(l),this.isPlainObject(s)&&n.push(r==1?"":"");else{let o=this.isPlainObject(s);l=`${o?"__Record":"__Internref"}${s.id}`,n.push(l),a.set(s,l),o?(n.push(r==1?"":""),this.deferredTypings.push(this.makeRecordType(s,r))):this.deferredTypings.push(this.makeInternrefType(s))}}return e.is(512)&&n.push(" | null"),n.join("")}else{if(e==u.bool)return"boolean";if(e==u.void)return"void";if(e.isNumericValue)return e.isLongIntegerValue?"bigint":"number"}return"unknown"}makeRecordType(e,r){let n=new Array,s=e.members;if(n.push("/** "),n.push(e.internalName),n.push(` */ +declare interface __Record`),n.push(e.id.toString()),n.push(` { +`),s)for(let a=Map_keys(s),l=0,o=a.length;l")}i.isNullable&&n.push(" | null")}}visitFunctionTypeNode(i){let e=i.isNullable,r=this.sb;r.push(e?"((":"(");let n=i.explicitThisType;n&&(r.push("this: "),this.visitTypeNode(n));let s=i.parameters,a=s.length;if(a){n&&r.push(", "),this.serializeParameter(s[0]);for(let o=1;o "),this.visitTypeNode(l)):r.push(") => void"),e&&r.push(") | null")}visitTypeParameter(i){this.visitIdentifierExpression(i.name);let e=i.extendsType;e&&(this.sb.push(" extends "),this.visitTypeNode(e));let r=i.defaultType;r&&(this.sb.push("="),this.visitTypeNode(r))}visitIdentifierExpression(i){i.isQuoted?this.visitStringLiteral(i.text):this.sb.push(i.text)}visitArrayLiteralExpression(i){let e=this.sb;e.push("[");let r=i.elementExpressions,n=r.length;if(n){let s=r[0];s&&this.visitNode(s);for(let a=1;a"),this.visitNode(i.expression);break}case 1:{this.visitNode(i.expression),e.push(" as "),this.visitTypeNode(assert(i.toType));break}case 2:{this.visitNode(i.expression),e.push("!");break}case 3:{this.visitNode(i.expression),e.push(" as const");break}default:assert(!1)}}visitBinaryExpression(i){let e=this.sb;this.visitNode(i.left),e.push(" "),e.push(Te(i.operator)),e.push(" "),this.visitNode(i.right)}visitCallExpression(i){this.visitNode(i.expression),this.visitArguments(i.typeArguments,i.args)}visitArguments(i,e){let r=this.sb;if(i){let s=i.length;if(s){r.push("<"),this.visitTypeNode(i[0]);for(let a=1;a(")}}else r.push("(");let n=e.length;if(n){this.visitNode(e[0]);for(let s=1;s=0&&(r.charCodeAt(n)==125||r.charCodeAt(n)==59)?e.push(` +`):e.push(`; +`)}}visitBlockStatement(i){let e=this.sb,r=i.statements,n=r.length;if(n){e.push(`{ +`);let s=++this.indentLevel;for(let a=0;a0){n.push("<"),this.visitTypeParameter(s[0]);for(let _=1,f=s.length;_")}let a=i.extendsType;a&&(n.push(" extends "),this.visitTypeNode(a));let l=i.implementsTypes;if(l){let _=l.length;if(_){n.push(" implements "),this.visitTypeNode(l[0]);for(let f=1;f<_;++f)n.push(", "),this.visitTypeNode(l[f])}}let o=i.indexSignature,p=i.members,c=p.length;if(o||c){n.push(` { +`);let _=++this.indentLevel;o&&(U(n,_),this.visitNodeAndTerminate(o));for(let f=0,d=p.length;f0){let s=r.length;e.push(`export { +`);let a=++this.indentLevel;U(e,a),this.visitExportMember(r[0]);for(let l=1;l")}}if(i.arrowKind==2){let l=r.parameters;assert(l.length==1),assert(!r.explicitThisType),this.serializeParameter(l[0])}else{e.push("(");let l=r.parameters,o=l.length,p=r.explicitThisType;if(p&&(e.push("this: "),this.visitTypeNode(p)),o){p&&e.push(", "),this.serializeParameter(l[0]);for(let c=1;c "),this.visitNode(s)):(assert(!Ie(a)),e.push(" => "),this.visitTypeNode(a)):(!Ie(a)&&!i.isAny(528384)?(e.push("): "),this.visitTypeNode(a)):e.push(")"),s&&(e.push(" "),this.visitNode(s)))}visitIfStatement(i){let e=this.sb;e.push("if ("),this.visitNode(i.condition),e.push(") ");let r=i.ifTrue;this.visitNode(r),r.kind!=30&&e.push(`; +`);let n=i.ifFalse;n&&(r.kind==30?e.push(" else "):e.push("else "),this.visitNode(n))}visitImportDeclaration(i){let e=i.foreignName,r=i.name;this.visitIdentifierExpression(e),e.text!=r.text&&(this.sb.push(" as "),this.visitIdentifierExpression(r))}visitImportStatement(i){let e=this.sb;e.push("import ");let r=i.declarations,n=i.namespaceName;if(r){let s=r.length;if(s){e.push(`{ +`);let a=++this.indentLevel;U(e,a),this.visitImportDeclaration(r[0]);for(let l=1;l0){n.push("<"),this.visitTypeParameter(s[0]);for(let p=1,c=s.length;p")}let a=i.extendsType;a&&(n.push(" extends "),this.visitTypeNode(a)),n.push(` { +`);let l=++this.indentLevel,o=i.members;for(let p=0,c=o.length;p")}}r.push(" = "),this.visitTypeNode(i.type)}visitModuleDeclaration(i){let e=this.sb;i.flags&4&&e.push("declare "),e.push('module "'),e.push(ye(i.moduleName,34)),e.push('"')}visitVariableDeclaration(i){this.visitIdentifierExpression(i.name);let e=i.type,r=this.sb;i.flags&16384&&r.push("!"),e&&(r.push(": "),this.visitTypeNode(e));let n=i.initializer;n&&(r.push(" = "),this.visitNode(n))}visitVariableStatement(i){let e=i.decorators;if(e)for(let l=0,o=e.length;l> 24; },\n {\n \"MIN_VALUE\": { value: -128 },\n \"MAX_VALUE\": { value: 127 },\n\n parse(str, radix) { return parseInt(str, radix) << 24 >> 24; }\n }\n );\n\n Object.defineProperties(\n globalScope[\"i16\"] = function i16(value) { return value << 16 >> 16; },\n {\n \"MIN_VALUE\": { value: -32768 },\n \"MAX_VALUE\": { value: 32767 },\n\n parse(str, radix) { return parseInt(str, radix) << 16 >> 16; }\n }\n );\n\n Object.defineProperties(\n globalScope[\"i32\"] = globalScope[\"isize\"] = function i32(value) { return value | 0; },\n {\n \"MIN_VALUE\": { value: -2147483648 },\n \"MAX_VALUE\": { value: 2147483647 },\n\n parse(str, radix) { return parseInt(str, radix) | 0; }\n }\n );\n\n Object.defineProperties(\n globalScope[\"u8\"] = function u8(value) { return value & 0xff; },\n {\n \"MIN_VALUE\": { value: 0 },\n \"MAX_VALUE\": { value: 255 },\n\n parse(str, radix) { return parseInt(str, radix) & 0xff; }\n }\n );\n\n Object.defineProperties(\n globalScope[\"u16\"] = function u16(value) { return value & 0xffff; },\n {\n \"MIN_VALUE\": { value: 0 },\n \"MAX_VALUE\": { value: 65535 },\n\n parse(str, radix) { return parseInt(str, radix) & 0xffff; }\n }\n );\n\n Object.defineProperties(\n globalScope[\"u32\"] = globalScope[\"usize\"] = function u32(value) { return value >>> 0; },\n {\n \"MIN_VALUE\": { value: 0 },\n \"MAX_VALUE\": { value: 4294967295 },\n\n parse(str, radix) { return parseInt(str, radix) >>> 0; }\n }\n );\n\n Object.defineProperties(\n globalScope[\"bool\"] = function bool(value) { return !!value; },\n {\n \"MIN_VALUE\": { value: false },\n \"MAX_VALUE\": { value: true },\n\n parse(str) { return str.trim() === \"true\"; }\n }\n );\n\n Object.defineProperties(\n globalScope[\"f32\"] = function f32(value) { return Math.fround(value); },\n {\n \"EPSILON\": { value: 1.1920928955078125e-07 },\n \"MIN_VALUE\": { value: 1.401298464324817e-45 },\n \"MAX_VALUE\": { value: 3.4028234663852886e+38 },\n \"MIN_NORMAL_VALUE\": { value: 1.1754943508222875e-38 },\n \"MIN_SAFE_INTEGER\": { value: -16777215 },\n \"MAX_SAFE_INTEGER\": { value: 16777215 },\n \"POSITIVE_INFINITY\": { value: Infinity },\n \"NEGATIVE_INFINITY\": { value: -Infinity },\n \"NaN\": { value: NaN },\n\n parse(str) { return Math.fround(parseFloat(str)); }\n }\n );\n\n Object.defineProperties(\n globalScope[\"f64\"] = function f64(value) { return +value; },\n {\n \"EPSILON\": { value: 2.2204460492503131e-016 },\n \"MIN_VALUE\": { value: 5e-324 },\n \"MAX_VALUE\": { value: 1.7976931348623157e+308 },\n \"MIN_NORMAL_VALUE\": { value: 2.2250738585072014e-308 },\n \"MIN_SAFE_INTEGER\": { value: -9007199254740991 },\n \"MAX_SAFE_INTEGER\": { value: 9007199254740991 },\n \"POSITIVE_INFINITY\": { value: Infinity },\n \"NEGATIVE_INFINITY\": { value: -Infinity },\n \"NaN\": { value: NaN },\n\n parse(str) { return parseFloat(str); }\n }\n );\n\n globalScope[\"clz\"] = Math.clz32;\n\n globalScope[\"ctz\"] = function ctz(value) {\n return 32 - Math.clz32(~value & (value - 1));\n };\n\n globalScope[\"popcnt\"] = function popcnt(value) {\n value -= value >>> 1 & 0x55555555;\n value = (value & 0x33333333) + (value >>> 2 & 0x33333333);\n return (((value + (value >>> 4)) & 0x0F0F0F0F) * 0x01010101) >>> 24;\n };\n\n globalScope[\"rotl\"] = function rotl(value, shift) {\n shift &= 31;\n return (value << shift) | (value >>> (32 - shift));\n };\n\n globalScope[\"rotr\"] = function rotr(value, shift) {\n shift &= 31;\n return (value >>> shift) | (value << (32 - shift));\n };\n\n globalScope[\"abs\"] = Math.abs;\n\n globalScope[\"max\"] = Math.max;\n\n globalScope[\"min\"] = Math.min;\n\n globalScope[\"ceil\"] = Math.ceil;\n\n globalScope[\"floor\"] = Math.floor;\n\n globalScope[\"nearest\"] = function nearest(value) {\n const INV_EPS64 = 4503599627370496.0;\n const y = Math.abs(value);\n return y < INV_EPS64\n ? (y + INV_EPS64 - INV_EPS64) * Math.sign(value)\n : value;\n };\n\n globalScope[\"select\"] = function select(ifTrue, ifFalse, condition) {\n return condition ? ifTrue : ifFalse;\n };\n\n globalScope[\"sqrt\"] = Math.sqrt;\n\n globalScope[\"trunc\"] = Math.trunc;\n\n globalScope[\"copysign\"] = function copysign(x, y) {\n return y\n ? Math.abs(x) * Math.sign(y)\n : (F64[0] = y, U64[1] >>> 31 ? -1 : 1); // +0, -0, -NaN, +NaN\n };\n\n globalScope[\"bswap\"] = function bswap(value) {\n let a = value >> 8 & 0x00FF00FF;\n let b = (value & 0x00FF00FF) << 8;\n value = a | b;\n a = value >> 16 & 0x0000FFFF;\n b = (value & 0x0000FFFF) << 16;\n return a | b;\n };\n\n function UnreachableError() {\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, UnreachableError);\n } else {\n this.stack = this.name + \": \" + this.message + \"\\n\" + new Error().stack;\n }\n }\n UnreachableError.prototype = Object.create(Error.prototype);\n UnreachableError.prototype.name = \"UnreachableError\";\n UnreachableError.prototype.message = \"unreachable\";\n\n globalScope[\"unreachable\"] = function unreachable() {\n throw new UnreachableError();\n };\n\n function AssertionError(message) {\n this.message = message || \"assertion failed\";\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, AssertionError);\n } else {\n this.stack = this.name + \": \" + this.message + \"\\n\" + new Error().stack;\n }\n }\n AssertionError.prototype = Object.create(Error.prototype);\n AssertionError.prototype.name = \"AssertionError\";\n\n globalScope[\"assert\"] = function assert(isTrueish, message) {\n if (isTrueish) return isTrueish;\n throw new AssertionError(message);\n };\n\n globalScope[\"changetype\"] = function changetype(value) {\n return value;\n };\n\n String[\"fromCharCodes\"] = function fromCharCodes(arr) {\n const CHUNKSIZE = 1 << 13;\n const len = arr.length;\n if (len <= CHUNKSIZE) {\n return String.fromCharCode.apply(String, arr);\n }\n let index = 0;\n let parts = '';\n while (index < len) {\n parts += String.fromCharCode.apply(\n String,\n arr.slice(index, Math.min(index + CHUNKSIZE, len))\n );\n index += CHUNKSIZE;\n }\n return parts;\n };\n\n String[\"fromCodePoints\"] = function fromCodePoints(arr) {\n const CHUNKSIZE = 1 << 13;\n const len = arr.length;\n if (len <= CHUNKSIZE) {\n return String.fromCodePoint.apply(String, arr);\n }\n let index = 0;\n let parts = '';\n while (index < len) {\n parts += String.fromCodePoint.apply(\n String,\n arr.slice(index, Math.min(index + CHUNKSIZE, len))\n );\n index += CHUNKSIZE;\n }\n return parts;\n };\n\n if (!String.prototype.at) {\n Object.defineProperty(String.prototype, \"at\", {\n value: function at(index) {\n return this.charAt(index >= 0 ? index : index + this.length);\n },\n configurable: true\n });\n }\n\n if (!String.prototype.replaceAll) {\n Object.defineProperty(String.prototype, \"replaceAll\", {\n value: function replaceAll(search, replacment) {\n let res = this.split(search).join(replacment);\n if (!search.length) res = replacment + res + replacment;\n return res;\n },\n configurable: true\n });\n }\n\n function defaultComparator(a, b) {\n if (a == b) {\n if (a != 0) return 0;\n a = 1 / a, b = 1 / b;\n } else {\n let nanA = a != a, nanB = b != b;\n if (nanA | nanB) return nanA - nanB;\n if (a == null) a = String(a);\n if (b == null) b = String(b);\n }\n return a > b ? 1 : -1;\n }\n\n const arraySort = Array.prototype.sort;\n Array.prototype.sort = function sort(comparator) {\n return arraySort.call(this, comparator || defaultComparator);\n };\n\n [ Array,\n Uint8ClampedArray,\n Uint8Array, Int8Array,\n Uint16Array, Int16Array,\n Uint32Array, Int32Array,\n Float32Array, Float64Array\n ].forEach(Ctr => {\n if (!Ctr.prototype.at) {\n Object.defineProperty(Ctr.prototype, \"at\", {\n value: function at(index) {\n return this[index >= 0 ? index : index + this.length];\n },\n configurable: true\n });\n }\n\n if (!Ctr.prototype.findLastIndex) {\n Object.defineProperty(Ctr.prototype, \"findLastIndex\", {\n value: function findLastIndex(fn) {\n for (let i = this.length - 1; i >= 0; --i) {\n if (fn(this[i], i, this)) return i;\n }\n return -1;\n },\n configurable: true\n });\n }\n\n if (Ctr != Array) {\n Object.defineProperty(Ctr, \"wrap\", {\n value: function wrap(buffer, byteOffset, length) {\n return new Ctr(buffer, byteOffset, length);\n },\n configurable: true\n });\n }\n });\n\n globalScope[\"isInteger\"] = Number.isInteger;\n\n globalScope[\"isFloat\"] = function isFloat(arg) {\n return typeof arg === \"number\";\n };\n\n globalScope[\"isNullable\"] = function isNullable(arg) {\n return true;\n };\n\n globalScope[\"isReference\"] = function isReference(arg) {\n return typeof arg === \"object\" || typeof arg === \"string\";\n };\n\n globalScope[\"isFunction\"] = function isFunction(arg) {\n return typeof arg === \"function\";\n };\n\n globalScope[\"isString\"] = function isString(arg) {\n return typeof arg === \"string\" || arg instanceof String;\n };\n\n globalScope[\"isArray\"] = Array.isArray;\n globalScope[\"isArrayLike\"] = function isArrayLike(expr) {\n return expr\n && typeof expr === 'object'\n && typeof expr.length === 'number'\n && expr.length >= 0\n && Math.trunc(expr.length) === expr.length;\n };\n\n globalScope[\"isDefined\"] = function isDefined(expr) {\n return typeof expr !== \"undefined\";\n };\n\n globalScope[\"isConstant\"] = function isConstant(expr) {\n return false;\n };\n\n globalScope[\"unchecked\"] = function unchecked(expr) {\n return expr;\n };\n\n globalScope[\"fmod\"] = function fmod(x, y) {\n return x % y;\n };\n\n globalScope[\"fmodf\"] = function fmodf(x, y) {\n return Math.fround(x % y);\n };\n\n globalScope[\"JSMath\"] = Math;\n\n Object.defineProperties(globalScope[\"JSMath\"], {\n sincos_sin: { value: 0.0, writable: true },\n sincos_cos: { value: 0.0, writable: true },\n signbit: {\n value: function signbit(x) {\n F64[0] = x; return Boolean(U64[1] >>> 31);\n }\n },\n sincos: {\n value: function sincos(x) {\n this.sincos_sin = Math.sin(x);\n this.sincos_cos = Math.cos(x);\n }\n },\n exp2: {\n value: function exp2(x) {\n return Math.pow(2, x);\n }\n }\n });\n\n globalScope[\"unmanaged\"] = function() { /* nop */ };\n\n globalScope[\"trace\"] = function(message, n) {\n if (n) message += Array.prototype.slice.call(arguments, 2, 2 + n);\n console.error(\"trace: \" + message);\n };\n}", "export * from \"binaryen\";\nexport { default } from \"binaryen\";\n", "/**\n * @fileoverview Binaryen glue code for JavaScript.\n * @license Apache-2.0\n */\n\nimport binaryen from \"../../lib/binaryen.js\";\n\nexport const {\n _BinaryenTypeCreate,\n _BinaryenTypeArity,\n _BinaryenTypeExpand,\n _BinaryenTypeGetHeapType,\n _BinaryenTypeFromHeapType,\n _BinaryenTypeIsNullable,\n\n _BinaryenTypeFuncref,\n _BinaryenTypeExternref,\n _BinaryenTypeAnyref,\n _BinaryenTypeEqref,\n _BinaryenTypeI31ref,\n _BinaryenTypeStructref,\n _BinaryenTypeArrayref,\n _BinaryenTypeStringref,\n _BinaryenTypeStringviewWTF8,\n _BinaryenTypeStringviewWTF16,\n _BinaryenTypeStringviewIter,\n _BinaryenTypeNullref,\n _BinaryenTypeNullExternref,\n _BinaryenTypeNullFuncref,\n\n _BinaryenHeapTypeFunc,\n _BinaryenHeapTypeExt,\n _BinaryenHeapTypeAny,\n _BinaryenHeapTypeEq,\n _BinaryenHeapTypeI31,\n _BinaryenHeapTypeStruct,\n _BinaryenHeapTypeArray,\n // _BinaryenHeapTypeExn,\n _BinaryenHeapTypeString,\n _BinaryenHeapTypeStringviewWTF8,\n _BinaryenHeapTypeStringviewWTF16,\n _BinaryenHeapTypeStringviewIter,\n _BinaryenHeapTypeNone,\n _BinaryenHeapTypeNoext,\n _BinaryenHeapTypeNofunc,\n\n _BinaryenHeapTypeIsBasic,\n _BinaryenHeapTypeIsSignature,\n _BinaryenHeapTypeIsStruct,\n _BinaryenHeapTypeIsArray,\n _BinaryenHeapTypeIsBottom,\n _BinaryenHeapTypeGetBottom,\n _BinaryenHeapTypeIsSubType,\n _BinaryenStructTypeGetNumFields,\n _BinaryenStructTypeGetFieldType,\n _BinaryenStructTypeGetFieldPackedType,\n _BinaryenStructTypeIsFieldMutable,\n _BinaryenArrayTypeGetElementType,\n _BinaryenArrayTypeGetElementPackedType,\n _BinaryenArrayTypeIsElementMutable,\n _BinaryenSignatureTypeGetParams,\n _BinaryenSignatureTypeGetResults,\n\n _BinaryenModuleCreate,\n _BinaryenModuleDispose,\n\n _BinaryenSizeofLiteral,\n _BinaryenLiteralInt32,\n _BinaryenLiteralInt64,\n _BinaryenLiteralFloat32,\n _BinaryenLiteralFloat64,\n _BinaryenLiteralVec128,\n _BinaryenLiteralFloat32Bits,\n _BinaryenLiteralFloat64Bits,\n\n _BinaryenExpressionGetId,\n _BinaryenExpressionGetType,\n _BinaryenExpressionSetType,\n _BinaryenExpressionPrint,\n _BinaryenExpressionCopy,\n _BinaryenExpressionFinalize,\n\n _BinaryenBlock,\n _BinaryenBlockGetName,\n _BinaryenBlockSetName,\n _BinaryenBlockGetNumChildren,\n _BinaryenBlockGetChildAt,\n _BinaryenBlockSetChildAt,\n _BinaryenBlockAppendChild,\n _BinaryenBlockInsertChildAt,\n _BinaryenBlockRemoveChildAt,\n\n _BinaryenIf,\n _BinaryenIfGetCondition,\n _BinaryenIfSetCondition,\n _BinaryenIfGetIfTrue,\n _BinaryenIfSetIfTrue,\n _BinaryenIfGetIfFalse,\n _BinaryenIfSetIfFalse,\n\n _BinaryenLoop,\n _BinaryenLoopGetName,\n _BinaryenLoopSetName,\n _BinaryenLoopGetBody,\n _BinaryenLoopSetBody,\n\n _BinaryenBreak,\n _BinaryenBreakGetName,\n _BinaryenBreakSetName,\n _BinaryenBreakGetCondition,\n _BinaryenBreakSetCondition,\n _BinaryenBreakGetValue,\n _BinaryenBreakSetValue,\n\n _BinaryenSwitch,\n _BinaryenSwitchGetNumNames,\n _BinaryenSwitchGetNameAt,\n _BinaryenSwitchSetNameAt,\n _BinaryenSwitchAppendName,\n _BinaryenSwitchInsertNameAt,\n _BinaryenSwitchRemoveNameAt,\n _BinaryenSwitchGetDefaultName,\n _BinaryenSwitchSetDefaultName,\n _BinaryenSwitchGetCondition,\n _BinaryenSwitchSetCondition,\n _BinaryenSwitchGetValue,\n _BinaryenSwitchSetValue,\n\n _BinaryenCall,\n _BinaryenCallGetTarget,\n _BinaryenCallSetTarget,\n _BinaryenCallGetNumOperands,\n _BinaryenCallGetOperandAt,\n _BinaryenCallSetOperandAt,\n _BinaryenCallAppendOperand,\n _BinaryenCallInsertOperandAt,\n _BinaryenCallRemoveOperandAt,\n _BinaryenCallIsReturn,\n _BinaryenCallSetReturn,\n _BinaryenReturnCall,\n\n _BinaryenCallIndirect,\n _BinaryenCallIndirectGetTable,\n _BinaryenCallIndirectSetTable,\n _BinaryenCallIndirectGetTarget,\n _BinaryenCallIndirectSetTarget,\n _BinaryenCallIndirectGetNumOperands,\n _BinaryenCallIndirectGetOperandAt,\n _BinaryenCallIndirectSetOperandAt,\n _BinaryenCallIndirectAppendOperand,\n _BinaryenCallIndirectInsertOperandAt,\n _BinaryenCallIndirectRemoveOperandAt,\n _BinaryenCallIndirectIsReturn,\n _BinaryenCallIndirectSetReturn,\n _BinaryenReturnCallIndirect,\n\n _BinaryenLocalGet,\n _BinaryenLocalGetGetIndex,\n _BinaryenLocalGetSetIndex,\n\n _BinaryenLocalSet,\n _BinaryenLocalSetIsTee,\n _BinaryenLocalSetGetIndex,\n _BinaryenLocalSetSetIndex,\n _BinaryenLocalSetGetValue,\n _BinaryenLocalSetSetValue,\n _BinaryenLocalTee,\n\n _BinaryenGlobalGet,\n _BinaryenGlobalGetGetName,\n _BinaryenGlobalGetSetName,\n\n _BinaryenGlobalSet,\n _BinaryenGlobalSetGetName,\n _BinaryenGlobalSetSetName,\n _BinaryenGlobalSetGetValue,\n _BinaryenGlobalSetSetValue,\n\n _BinaryenMemorySize,\n\n _BinaryenMemoryGrow,\n _BinaryenMemoryGrowGetDelta,\n _BinaryenMemoryGrowSetDelta,\n\n _BinaryenLoad,\n _BinaryenLoadIsAtomic,\n _BinaryenLoadSetAtomic,\n _BinaryenLoadIsSigned,\n _BinaryenLoadSetSigned,\n _BinaryenLoadGetOffset,\n _BinaryenLoadSetOffset,\n _BinaryenLoadGetBytes,\n _BinaryenLoadSetBytes,\n _BinaryenLoadGetAlign,\n _BinaryenLoadSetAlign,\n _BinaryenLoadGetPtr,\n _BinaryenLoadSetPtr,\n _BinaryenAtomicLoad,\n\n _BinaryenStore,\n _BinaryenStoreIsAtomic,\n _BinaryenStoreSetAtomic,\n _BinaryenStoreGetBytes,\n _BinaryenStoreSetBytes,\n _BinaryenStoreGetOffset,\n _BinaryenStoreSetOffset,\n _BinaryenStoreGetAlign,\n _BinaryenStoreSetAlign,\n _BinaryenStoreGetPtr,\n _BinaryenStoreSetPtr,\n _BinaryenStoreGetValue,\n _BinaryenStoreSetValue,\n _BinaryenStoreGetValueType,\n _BinaryenStoreSetValueType,\n _BinaryenAtomicStore,\n\n _BinaryenConst,\n _BinaryenConstGetValueI32,\n _BinaryenConstSetValueI32,\n _BinaryenConstGetValueI64Low,\n _BinaryenConstSetValueI64Low,\n _BinaryenConstGetValueI64High,\n _BinaryenConstSetValueI64High,\n _BinaryenConstGetValueF32,\n _BinaryenConstSetValueF32,\n _BinaryenConstGetValueF64,\n _BinaryenConstSetValueF64,\n _BinaryenConstGetValueV128,\n _BinaryenConstSetValueV128,\n\n _BinaryenUnary,\n _BinaryenUnaryGetOp,\n _BinaryenUnarySetOp,\n _BinaryenUnaryGetValue,\n _BinaryenUnarySetValue,\n\n _BinaryenBinary,\n _BinaryenBinaryGetOp,\n _BinaryenBinarySetOp,\n _BinaryenBinaryGetLeft,\n _BinaryenBinarySetLeft,\n _BinaryenBinaryGetRight,\n _BinaryenBinarySetRight,\n\n _BinaryenSelect,\n _BinaryenSelectGetIfTrue,\n _BinaryenSelectSetIfTrue,\n _BinaryenSelectGetIfFalse,\n _BinaryenSelectSetIfFalse,\n _BinaryenSelectGetCondition,\n _BinaryenSelectSetCondition,\n\n _BinaryenDrop,\n _BinaryenDropGetValue,\n _BinaryenDropSetValue,\n\n _BinaryenReturn,\n _BinaryenReturnGetValue,\n _BinaryenReturnSetValue,\n\n _BinaryenNop,\n\n _BinaryenUnreachable,\n\n _BinaryenAtomicRMW,\n _BinaryenAtomicRMWGetOp,\n _BinaryenAtomicRMWSetOp,\n _BinaryenAtomicRMWGetBytes,\n _BinaryenAtomicRMWSetBytes,\n _BinaryenAtomicRMWGetOffset,\n _BinaryenAtomicRMWSetOffset,\n _BinaryenAtomicRMWGetPtr,\n _BinaryenAtomicRMWSetPtr,\n _BinaryenAtomicRMWGetValue,\n _BinaryenAtomicRMWSetValue,\n\n _BinaryenAtomicCmpxchg,\n _BinaryenAtomicCmpxchgGetBytes,\n _BinaryenAtomicCmpxchgSetBytes,\n _BinaryenAtomicCmpxchgGetOffset,\n _BinaryenAtomicCmpxchgSetOffset,\n _BinaryenAtomicCmpxchgGetPtr,\n _BinaryenAtomicCmpxchgSetPtr,\n _BinaryenAtomicCmpxchgGetExpected,\n _BinaryenAtomicCmpxchgSetExpected,\n _BinaryenAtomicCmpxchgGetReplacement,\n _BinaryenAtomicCmpxchgSetReplacement,\n\n _BinaryenAtomicWait,\n _BinaryenAtomicWaitGetPtr,\n _BinaryenAtomicWaitSetPtr,\n _BinaryenAtomicWaitGetExpected,\n _BinaryenAtomicWaitSetExpected,\n _BinaryenAtomicWaitGetTimeout,\n _BinaryenAtomicWaitSetTimeout,\n _BinaryenAtomicWaitGetExpectedType,\n _BinaryenAtomicWaitSetExpectedType,\n\n _BinaryenAtomicNotify,\n _BinaryenAtomicNotifyGetPtr,\n _BinaryenAtomicNotifySetPtr,\n _BinaryenAtomicNotifyGetNotifyCount,\n _BinaryenAtomicNotifySetNotifyCount,\n\n _BinaryenAtomicFence,\n _BinaryenAtomicFenceGetOrder,\n _BinaryenAtomicFenceSetOrder,\n\n _BinaryenSIMDExtract,\n _BinaryenSIMDExtractGetOp,\n _BinaryenSIMDExtractSetOp,\n _BinaryenSIMDExtractGetVec,\n _BinaryenSIMDExtractSetVec,\n _BinaryenSIMDExtractGetIndex,\n _BinaryenSIMDExtractSetIndex,\n\n _BinaryenSIMDReplace,\n _BinaryenSIMDReplaceGetOp,\n _BinaryenSIMDReplaceSetOp,\n _BinaryenSIMDReplaceGetVec,\n _BinaryenSIMDReplaceSetVec,\n _BinaryenSIMDReplaceGetIndex,\n _BinaryenSIMDReplaceSetIndex,\n _BinaryenSIMDReplaceGetValue,\n _BinaryenSIMDReplaceSetValue,\n\n _BinaryenSIMDShuffle,\n _BinaryenSIMDShuffleGetLeft,\n _BinaryenSIMDShuffleSetLeft,\n _BinaryenSIMDShuffleGetRight,\n _BinaryenSIMDShuffleSetRight,\n _BinaryenSIMDShuffleGetMask,\n _BinaryenSIMDShuffleSetMask,\n\n _BinaryenSIMDTernary,\n _BinaryenSIMDTernaryGetOp,\n _BinaryenSIMDTernarySetOp,\n _BinaryenSIMDTernaryGetA,\n _BinaryenSIMDTernarySetA,\n _BinaryenSIMDTernaryGetB,\n _BinaryenSIMDTernarySetB,\n _BinaryenSIMDTernaryGetC,\n _BinaryenSIMDTernarySetC,\n\n _BinaryenSIMDShift,\n _BinaryenSIMDShiftGetOp,\n _BinaryenSIMDShiftSetOp,\n _BinaryenSIMDShiftGetVec,\n _BinaryenSIMDShiftSetVec,\n _BinaryenSIMDShiftGetShift,\n _BinaryenSIMDShiftSetShift,\n\n _BinaryenSIMDLoad,\n _BinaryenSIMDLoadGetOp,\n _BinaryenSIMDLoadSetOp,\n _BinaryenSIMDLoadGetOffset,\n _BinaryenSIMDLoadSetOffset,\n _BinaryenSIMDLoadGetAlign,\n _BinaryenSIMDLoadSetAlign,\n _BinaryenSIMDLoadGetPtr,\n _BinaryenSIMDLoadSetPtr,\n\n _BinaryenSIMDLoadStoreLane,\n _BinaryenSIMDLoadStoreLaneGetOp,\n _BinaryenSIMDLoadStoreLaneSetOp,\n _BinaryenSIMDLoadStoreLaneGetOffset,\n _BinaryenSIMDLoadStoreLaneSetOffset,\n _BinaryenSIMDLoadStoreLaneGetAlign,\n _BinaryenSIMDLoadStoreLaneSetAlign,\n _BinaryenSIMDLoadStoreLaneGetIndex,\n _BinaryenSIMDLoadStoreLaneSetIndex,\n _BinaryenSIMDLoadStoreLaneGetPtr,\n _BinaryenSIMDLoadStoreLaneSetPtr,\n _BinaryenSIMDLoadStoreLaneGetVec,\n _BinaryenSIMDLoadStoreLaneSetVec,\n _BinaryenSIMDLoadStoreLaneIsStore,\n\n _BinaryenMemoryInit,\n _BinaryenMemoryInitGetSegment,\n _BinaryenMemoryInitSetSegment,\n _BinaryenMemoryInitGetDest,\n _BinaryenMemoryInitSetDest,\n _BinaryenMemoryInitGetOffset,\n _BinaryenMemoryInitSetOffset,\n _BinaryenMemoryInitGetSize,\n _BinaryenMemoryInitSetSize,\n\n _BinaryenDataDrop,\n _BinaryenDataDropGetSegment,\n _BinaryenDataDropSetSegment,\n\n _BinaryenMemoryCopy,\n _BinaryenMemoryCopyGetDest,\n _BinaryenMemoryCopySetDest,\n _BinaryenMemoryCopyGetSource,\n _BinaryenMemoryCopySetSource,\n _BinaryenMemoryCopyGetSize,\n _BinaryenMemoryCopySetSize,\n\n _BinaryenMemoryFill,\n _BinaryenMemoryFillGetDest,\n _BinaryenMemoryFillSetDest,\n _BinaryenMemoryFillGetValue,\n _BinaryenMemoryFillSetValue,\n _BinaryenMemoryFillGetSize,\n _BinaryenMemoryFillSetSize,\n\n _BinaryenRefNull,\n\n _BinaryenRefIsNull,\n _BinaryenRefIsNullGetValue,\n _BinaryenRefIsNullSetValue,\n\n _BinaryenRefAs,\n _BinaryenRefAsGetOp,\n _BinaryenRefAsSetOp,\n _BinaryenRefAsGetValue,\n _BinaryenRefAsSetValue,\n\n _BinaryenRefFunc,\n _BinaryenRefFuncGetFunc,\n _BinaryenRefFuncSetFunc,\n\n _BinaryenRefEq,\n _BinaryenRefEqGetLeft,\n _BinaryenRefEqSetLeft,\n _BinaryenRefEqGetRight,\n _BinaryenRefEqSetRight,\n\n _BinaryenTableGet,\n _BinaryenTableGetGetTable,\n _BinaryenTableGetSetTable,\n _BinaryenTableGetGetIndex,\n _BinaryenTableGetSetIndex,\n\n _BinaryenTableSet,\n _BinaryenTableSetGetTable,\n _BinaryenTableSetSetTable,\n _BinaryenTableSetGetIndex,\n _BinaryenTableSetSetIndex,\n _BinaryenTableSetGetValue,\n _BinaryenTableSetSetValue,\n\n _BinaryenTableSize,\n _BinaryenTableSizeGetTable,\n _BinaryenTableSizeSetTable,\n\n _BinaryenTableGrow,\n _BinaryenTableGrowGetTable,\n _BinaryenTableGrowSetTable,\n _BinaryenTableGrowGetValue,\n _BinaryenTableGrowSetValue,\n _BinaryenTableGrowGetDelta,\n _BinaryenTableGrowSetDelta,\n\n _BinaryenTry,\n _BinaryenTryGetName,\n _BinaryenTrySetName,\n _BinaryenTryGetBody,\n _BinaryenTrySetBody,\n _BinaryenTryGetNumCatchTags,\n _BinaryenTryGetNumCatchBodies,\n _BinaryenTryGetCatchTagAt,\n _BinaryenTrySetCatchTagAt,\n _BinaryenTryAppendCatchTag,\n _BinaryenTryInsertCatchTagAt,\n _BinaryenTryRemoveCatchTagAt,\n _BinaryenTryGetCatchBodyAt,\n _BinaryenTrySetCatchBodyAt,\n _BinaryenTryAppendCatchBody,\n _BinaryenTryInsertCatchBodyAt,\n _BinaryenTryRemoveCatchBodyAt,\n _BinaryenTryHasCatchAll,\n _BinaryenTryGetDelegateTarget,\n _BinaryenTrySetDelegateTarget,\n _BinaryenTryIsDelegate,\n\n _BinaryenThrow,\n _BinaryenThrowGetTag,\n _BinaryenThrowSetTag,\n _BinaryenThrowGetNumOperands,\n _BinaryenThrowGetOperandAt,\n _BinaryenThrowSetOperandAt,\n _BinaryenThrowAppendOperand,\n _BinaryenThrowInsertOperandAt,\n _BinaryenThrowRemoveOperandAt,\n\n _BinaryenRethrow,\n _BinaryenRethrowGetTarget,\n _BinaryenRethrowSetDepth,\n\n _BinaryenTupleMake,\n _BinaryenTupleMakeGetNumOperands,\n _BinaryenTupleMakeGetOperandAt,\n _BinaryenTupleMakeSetOperandAt,\n _BinaryenTupleMakeAppendOperand,\n _BinaryenTupleMakeInsertOperandAt,\n _BinaryenTupleMakeRemoveOperandAt,\n\n _BinaryenTupleExtract,\n _BinaryenTupleExtractGetTuple,\n _BinaryenTupleExtractSetTuple,\n _BinaryenTupleExtractGetIndex,\n _BinaryenTupleExtractSetIndex,\n\n _BinaryenPop,\n\n _BinaryenRefI31,\n _BinaryenRefI31GetValue,\n _BinaryenRefI31SetValue,\n\n _BinaryenI31Get,\n _BinaryenI31GetGetI31,\n _BinaryenI31GetSetI31,\n _BinaryenI31GetIsSigned,\n _BinaryenI31GetSetSigned,\n\n _BinaryenCallRef,\n _BinaryenCallRefGetNumOperands,\n _BinaryenCallRefGetOperandAt,\n _BinaryenCallRefSetOperandAt,\n _BinaryenCallRefAppendOperand,\n _BinaryenCallRefInsertOperandAt,\n _BinaryenCallRefRemoveOperandAt,\n _BinaryenCallRefGetTarget,\n _BinaryenCallRefSetTarget,\n _BinaryenCallRefIsReturn,\n _BinaryenCallRefSetReturn,\n\n _BinaryenRefTest,\n _BinaryenRefTestGetRef,\n _BinaryenRefTestSetRef,\n _BinaryenRefTestGetCastType,\n _BinaryenRefTestSetCastType,\n\n _BinaryenRefCast,\n _BinaryenRefCastGetRef,\n _BinaryenRefCastSetRef,\n\n _BinaryenBrOn,\n _BinaryenBrOnGetOp,\n _BinaryenBrOnSetOp,\n _BinaryenBrOnGetName,\n _BinaryenBrOnSetName,\n _BinaryenBrOnGetRef,\n _BinaryenBrOnSetRef,\n _BinaryenBrOnGetCastType,\n _BinaryenBrOnSetCastType,\n\n _BinaryenStructNew,\n _BinaryenStructNewGetNumOperands,\n _BinaryenStructNewGetOperandAt,\n _BinaryenStructNewSetOperandAt,\n _BinaryenStructNewAppendOperand,\n _BinaryenStructNewInsertOperandAt,\n _BinaryenStructNewRemoveOperandAt,\n\n _BinaryenStructGet,\n _BinaryenStructGetGetIndex,\n _BinaryenStructGetSetIndex,\n _BinaryenStructGetGetRef,\n _BinaryenStructGetSetRef,\n _BinaryenStructGetIsSigned,\n _BinaryenStructGetSetSigned,\n\n _BinaryenStructSet,\n _BinaryenStructSetGetIndex,\n _BinaryenStructSetSetIndex,\n _BinaryenStructSetGetRef,\n _BinaryenStructSetSetRef,\n _BinaryenStructSetGetValue,\n _BinaryenStructSetSetValue,\n\n _BinaryenArrayNew,\n _BinaryenArrayNewGetInit,\n _BinaryenArrayNewSetInit,\n _BinaryenArrayNewGetSize,\n _BinaryenArrayNewSetSize,\n\n _BinaryenArrayNewFixed,\n _BinaryenArrayNewFixedGetNumValues,\n _BinaryenArrayNewFixedGetValueAt,\n _BinaryenArrayNewFixedSetValueAt,\n _BinaryenArrayNewFixedAppendValue,\n _BinaryenArrayNewFixedInsertValueAt,\n _BinaryenArrayNewFixedRemoveValueAt,\n\n _BinaryenArrayGet,\n _BinaryenArrayGetGetRef,\n _BinaryenArrayGetSetRef,\n _BinaryenArrayGetGetIndex,\n _BinaryenArrayGetSetIndex,\n _BinaryenArrayGetIsSigned,\n _BinaryenArrayGetSetSigned,\n\n _BinaryenArraySet,\n _BinaryenArraySetGetRef,\n _BinaryenArraySetSetRef,\n _BinaryenArraySetGetIndex,\n _BinaryenArraySetSetIndex,\n _BinaryenArraySetGetValue,\n _BinaryenArraySetSetValue,\n\n _BinaryenArrayLen,\n _BinaryenArrayLenGetRef,\n _BinaryenArrayLenSetRef,\n\n _BinaryenArrayCopy,\n _BinaryenArrayCopyGetDestRef,\n _BinaryenArrayCopySetDestRef,\n _BinaryenArrayCopyGetDestIndex,\n _BinaryenArrayCopySetDestIndex,\n _BinaryenArrayCopyGetSrcRef,\n _BinaryenArrayCopySetSrcRef,\n _BinaryenArrayCopyGetSrcIndex,\n _BinaryenArrayCopySetSrcIndex,\n _BinaryenArrayCopyGetLength,\n _BinaryenArrayCopySetLength,\n\n _BinaryenStringNew,\n _BinaryenStringNewGetOp,\n _BinaryenStringNewSetOp,\n _BinaryenStringNewGetPtr,\n _BinaryenStringNewSetPtr,\n _BinaryenStringNewGetLength,\n _BinaryenStringNewSetLength,\n _BinaryenStringNewGetStart,\n _BinaryenStringNewSetStart,\n _BinaryenStringNewGetEnd,\n _BinaryenStringNewSetEnd,\n _BinaryenStringNewIsTry,\n _BinaryenStringNewSetTry,\n\n _BinaryenStringConst,\n _BinaryenStringConstGetString,\n _BinaryenStringConstSetString,\n\n _BinaryenStringMeasure,\n _BinaryenStringMeasureGetOp,\n _BinaryenStringMeasureSetOp,\n _BinaryenStringMeasureGetRef,\n _BinaryenStringMeasureSetRef,\n\n _BinaryenStringEncode,\n _BinaryenStringEncodeGetOp,\n _BinaryenStringEncodeSetOp,\n _BinaryenStringEncodeGetRef,\n _BinaryenStringEncodeSetRef,\n _BinaryenStringEncodeGetPtr,\n _BinaryenStringEncodeSetPtr,\n _BinaryenStringEncodeGetStart,\n _BinaryenStringEncodeSetStart,\n\n _BinaryenStringConcat,\n _BinaryenStringConcatGetLeft,\n _BinaryenStringConcatSetLeft,\n _BinaryenStringConcatGetRight,\n _BinaryenStringConcatSetRight,\n\n _BinaryenStringEq,\n _BinaryenStringEqGetOp,\n _BinaryenStringEqSetOp,\n _BinaryenStringEqGetLeft,\n _BinaryenStringEqSetLeft,\n _BinaryenStringEqGetRight,\n _BinaryenStringEqSetRight,\n\n _BinaryenStringAs,\n _BinaryenStringAsGetOp,\n _BinaryenStringAsSetOp,\n _BinaryenStringAsGetRef,\n _BinaryenStringAsSetRef,\n\n _BinaryenStringWTF8Advance,\n _BinaryenStringWTF8AdvanceGetRef,\n _BinaryenStringWTF8AdvanceSetRef,\n _BinaryenStringWTF8AdvanceGetPos,\n _BinaryenStringWTF8AdvanceSetPos,\n _BinaryenStringWTF8AdvanceGetBytes,\n _BinaryenStringWTF8AdvanceSetBytes,\n\n _BinaryenStringWTF16Get,\n _BinaryenStringWTF16GetGetRef,\n _BinaryenStringWTF16GetSetRef,\n _BinaryenStringWTF16GetGetPos,\n _BinaryenStringWTF16GetSetPos,\n\n _BinaryenStringIterNext,\n _BinaryenStringIterNextGetRef,\n _BinaryenStringIterNextSetRef,\n\n _BinaryenStringIterMove,\n _BinaryenStringIterMoveGetOp,\n _BinaryenStringIterMoveSetOp,\n _BinaryenStringIterMoveGetRef,\n _BinaryenStringIterMoveSetRef,\n _BinaryenStringIterMoveGetNum,\n _BinaryenStringIterMoveSetNum,\n\n _BinaryenStringSliceWTF,\n _BinaryenStringSliceWTFGetOp,\n _BinaryenStringSliceWTFSetOp,\n _BinaryenStringSliceWTFGetRef,\n _BinaryenStringSliceWTFSetRef,\n _BinaryenStringSliceWTFGetStart,\n _BinaryenStringSliceWTFSetStart,\n _BinaryenStringSliceWTFGetEnd,\n _BinaryenStringSliceWTFSetEnd,\n\n _BinaryenStringSliceIter,\n _BinaryenStringSliceIterGetRef,\n _BinaryenStringSliceIterSetRef,\n _BinaryenStringSliceIterGetNum,\n _BinaryenStringSliceIterSetNum,\n\n _BinaryenAddFunction,\n _BinaryenGetFunction,\n _BinaryenRemoveFunction,\n _BinaryenGetNumFunctions,\n _BinaryenGetFunctionByIndex,\n\n _BinaryenFunctionGetName,\n _BinaryenFunctionGetParams,\n _BinaryenFunctionGetResults,\n _BinaryenFunctionGetNumVars,\n _BinaryenFunctionGetVar,\n _BinaryenFunctionGetNumLocals,\n _BinaryenFunctionHasLocalName,\n _BinaryenFunctionGetLocalName,\n _BinaryenFunctionSetLocalName,\n _BinaryenFunctionGetBody,\n _BinaryenFunctionSetBody,\n _BinaryenFunctionOptimize,\n _BinaryenFunctionRunPasses,\n _BinaryenFunctionSetDebugLocation,\n\n _BinaryenAddFunctionImport,\n _BinaryenAddTableImport,\n _BinaryenAddMemoryImport,\n _BinaryenAddGlobalImport,\n _BinaryenAddTagImport,\n\n _BinaryenAddFunctionExport,\n _BinaryenAddTableExport,\n _BinaryenAddMemoryExport,\n _BinaryenAddGlobalExport,\n _BinaryenAddTagExport,\n _BinaryenGetExport,\n _BinaryenRemoveExport,\n _BinaryenGetNumExports,\n _BinaryenGetExportByIndex,\n _BinaryenExportGetKind,\n _BinaryenExportGetName,\n _BinaryenExportGetValue,\n\n _BinaryenAddGlobal,\n _BinaryenGetGlobal,\n _BinaryenRemoveGlobal,\n _BinaryenGetNumGlobals,\n _BinaryenGetGlobalByIndex,\n\n _BinaryenGlobalGetName,\n _BinaryenGlobalGetType,\n _BinaryenGlobalIsMutable,\n _BinaryenGlobalGetInitExpr,\n\n _BinaryenAddTag,\n _BinaryenGetTag,\n _BinaryenRemoveTag,\n\n _BinaryenTagGetName,\n _BinaryenTagGetParams,\n _BinaryenTagGetResults,\n\n _BinaryenAddTable,\n _BinaryenRemoveTable,\n _BinaryenGetNumTables,\n _BinaryenGetTable,\n _BinaryenGetTableByIndex,\n\n _BinaryenTableGetName,\n _BinaryenTableSetName,\n _BinaryenTableGetInitial,\n _BinaryenTableSetInitial,\n _BinaryenTableHasMax,\n _BinaryenTableGetMax,\n _BinaryenTableSetMax,\n\n _BinaryenAddActiveElementSegment,\n _BinaryenAddPassiveElementSegment,\n _BinaryenRemoveElementSegment,\n _BinaryenGetNumElementSegments,\n _BinaryenGetElementSegment,\n _BinaryenGetElementSegmentByIndex,\n\n _BinaryenSetMemory,\n _BinaryenGetNumMemorySegments,\n _BinaryenGetMemorySegmentByteOffset,\n _BinaryenGetMemorySegmentByteLength,\n _BinaryenCopyMemorySegmentData,\n\n _BinaryenSetStart,\n\n _BinaryenModuleParse,\n _BinaryenModulePrint,\n _BinaryenModulePrintAsmjs,\n _BinaryenModuleValidate,\n _BinaryenModuleOptimize,\n _BinaryenModuleRunPasses,\n _BinaryenModuleAutoDrop,\n _BinaryenSizeofAllocateAndWriteResult,\n _BinaryenModuleAllocateAndWrite,\n _BinaryenModuleAllocateAndWriteText,\n _BinaryenModuleAllocateAndWriteStackIR,\n _BinaryenModuleRead,\n _BinaryenModuleInterpret,\n _BinaryenModuleAddDebugInfoFileName,\n _BinaryenModuleGetDebugInfoFileName,\n _BinaryenModuleGetFeatures,\n _BinaryenModuleSetFeatures,\n\n _BinaryenAddCustomSection,\n\n _BinaryenExpressionGetSideEffects,\n\n _RelooperCreate,\n _RelooperAddBlock,\n _RelooperAddBranch,\n _RelooperAddBlockWithSwitch,\n _RelooperAddBranchForSwitch,\n _RelooperRenderAndDispose,\n\n _ExpressionRunnerCreate,\n _ExpressionRunnerSetLocalValue,\n _ExpressionRunnerSetGlobalValue,\n _ExpressionRunnerRunAndDispose,\n\n _TypeBuilderCreate,\n _TypeBuilderGrow,\n _TypeBuilderGetSize,\n _TypeBuilderSetSignatureType,\n _TypeBuilderSetStructType,\n _TypeBuilderSetArrayType,\n _TypeBuilderGetTempHeapType,\n _TypeBuilderGetTempTupleType,\n _TypeBuilderGetTempRefType,\n _TypeBuilderSetSubType,\n _TypeBuilderSetOpen,\n _TypeBuilderCreateRecGroup,\n _TypeBuilderBuildAndDispose,\n _BinaryenModuleSetTypeName,\n _BinaryenModuleSetFieldName,\n\n _BinaryenGetOptimizeLevel,\n _BinaryenSetOptimizeLevel,\n _BinaryenGetShrinkLevel,\n _BinaryenSetShrinkLevel,\n _BinaryenGetDebugInfo,\n _BinaryenSetDebugInfo,\n _BinaryenGetLowMemoryUnused,\n _BinaryenSetLowMemoryUnused,\n _BinaryenGetZeroFilledMemory,\n _BinaryenSetZeroFilledMemory,\n _BinaryenGetFastMath,\n _BinaryenSetFastMath,\n _BinaryenGetPassArgument,\n _BinaryenSetPassArgument,\n _BinaryenClearPassArguments,\n _BinaryenGetAlwaysInlineMaxSize,\n _BinaryenSetAlwaysInlineMaxSize,\n _BinaryenGetFlexibleInlineMaxSize,\n _BinaryenSetFlexibleInlineMaxSize,\n _BinaryenGetOneCallerInlineMaxSize,\n _BinaryenSetOneCallerInlineMaxSize,\n _BinaryenGetAllowInliningFunctionsWithLoops,\n _BinaryenSetAllowInliningFunctionsWithLoops,\n\n // Helpers\n\n _malloc,\n _free,\n __i32_store8,\n __i32_store16,\n __i32_store,\n __f32_store,\n __f64_store,\n __i32_load8_s,\n __i32_load8_u,\n __i32_load16_s,\n __i32_load16_u,\n __i32_load,\n __f32_load,\n __f64_load\n\n} = binaryen;\n\nexport default binaryen;\n", "/**\n * @fileoverview Floating point glue code for JavaScript.\n * @license Apache-2.0\n */\n\n/* eslint-disable no-undef */\n\nconst F64 = new Float64Array(1);\nconst F32 = new Float32Array(F64.buffer);\nconst I32 = new Int32Array(F64.buffer);\n\nglobalThis.f32_as_i32 = function f32_as_i32(value) {\n F32[0] = value;\n return I32[0];\n};\n\nglobalThis.i32_as_f32 = function i32_as_f32(value) {\n I32[0] = value;\n return F32[0];\n};\n\nglobalThis.f64_as_i64 = function f64_as_i64(value) {\n F64[0] = value;\n return i64_new(I32[0], I32[1]);\n};\n\nglobalThis.i64_as_f64 = function i64_as_f64(value) {\n I32[0] = i64_low(value);\n I32[1] = i64_high(value);\n return F64[0];\n};\n", "/**\n * @fileoverview 64-bit integer glue code for JavaScript.\n * @license Apache-2.0\n */\n\n/* eslint-disable no-undef */\n\nimport Long from \"long\";\n\nglobalThis.i64_zero = Long.ZERO;\nglobalThis.i64_one = Long.ONE;\nglobalThis.i64_neg_one = Long.fromInt(-1);\nglobalThis.i64_minimum = Long.MIN_VALUE;\nglobalThis.i64_maximum = Long.MAX_VALUE;\n\nglobalThis.i64_is = function i64_is(value) {\n return Long.isLong(value);\n};\n\nglobalThis.i64_new = function i64_new(lo, hi) {\n return Long.fromBits(lo, hi);\n};\n\nglobalThis.i64_low = function i64_low(value) {\n return value.low;\n};\n\nglobalThis.i64_high = function i64_high(value) {\n return value.high;\n};\n\nglobalThis.i64_not = function i64_not(value) {\n return value.not();\n};\n\nglobalThis.i64_neg = function i64_neg(value) {\n return value.neg();\n};\n\nglobalThis.i64_clz = function i64_clz(value) {\n return value.clz();\n};\n\nglobalThis.i64_ctz = function i64_ctz(value) {\n return value.ctz();\n};\n\nglobalThis.i64_add = function i64_add(left, right) {\n return left.add(right);\n};\n\nglobalThis.i64_sub = function i64_sub(left, right) {\n return left.sub(right);\n};\n\nglobalThis.i64_mul = function i64_mul(left, right) {\n return left.mul(right);\n};\n\nglobalThis.i64_pow = function i64_pow(left, right) {\n let rightLo = right.low;\n let rightHi = right.high;\n if (rightHi <= 0) {\n if (rightHi < 0) {\n if (left.eq(globalThis.i64_neg_one)) {\n return rightLo & 1 ? left : Long.ONE;\n }\n return left.eq(Long.ONE) ? left : Long.ZERO;\n }\n if (rightLo == 0) return Long.ONE;\n if (rightLo == 1) return left;\n if (rightLo == 2) return left.mul(left);\n }\n let result = Long.ONE;\n while (rightLo | rightHi) {\n if (rightLo & 1) result = result.mul(left);\n right = right.shru(1);\n left = left.mul(left);\n rightLo = right.low;\n rightHi = right.high;\n }\n return result;\n};\n\nglobalThis.i64_div = function i64_div(left, right) {\n return left.div(right);\n};\n\nglobalThis.i64_div_u = function i64_div_u(left, right) {\n return left.toUnsigned().div(right.toUnsigned()).toSigned();\n};\n\nglobalThis.i64_rem = function i64_rem(left, right) {\n return left.mod(right);\n};\n\nglobalThis.i64_rem_u = function i64_rem_u(left, right) {\n return left.toUnsigned().mod(right.toUnsigned()).toSigned();\n};\n\nglobalThis.i64_and = function i64_and(left, right) {\n return left.and(right);\n};\n\nglobalThis.i64_or = function i64_or(left, right) {\n return left.or(right);\n};\n\nglobalThis.i64_xor = function i64_xor(left, right) {\n return left.xor(right);\n};\n\nglobalThis.i64_shl = function i64_shl(left, right) {\n return left.shl(right);\n};\n\nglobalThis.i64_shr = function i64_shr(left, right) {\n return left.shr(right);\n};\n\nglobalThis.i64_shr_u = function i64_shr_u(left, right) {\n return left.shru(right);\n};\n\nglobalThis.i64_eq = function i64_eq(left, right) {\n return left.eq(right);\n};\n\nglobalThis.i64_ne = function i64_ne(left, right) {\n return left.ne(right);\n};\n\nglobalThis.i64_ge = function i64_ge(left, right) {\n return left.ge(right);\n};\n\nglobalThis.i64_ge_u = function i64_ge_u(left, right) {\n return left.toUnsigned().ge(right.toUnsigned());\n};\n\nglobalThis.i64_gt = function i64_gt(left, right) {\n return left.gt(right);\n};\n\nglobalThis.i64_gt_u = function i64_gt_u(left, right) {\n return left.toUnsigned().gt(right.toUnsigned());\n};\n\nglobalThis.i64_le = function i64_le(left, right) {\n return left.le(right);\n};\n\nglobalThis.i64_le_u = function i64_le_u(left, right) {\n return left.toUnsigned().le(right.toUnsigned());\n};\n\nglobalThis.i64_lt = function i64_lt(left, right) {\n return left.lt(right);\n};\n\nglobalThis.i64_lt_u = function i64_lt_u(left, right) {\n return left.toUnsigned().lt(right.toUnsigned());\n};\n\nglobalThis.i64_align = function i64_align(value, alignment) {\n assert(alignment && (alignment & (alignment - 1)) == 0);\n let mask = Long.fromInt(alignment - 1);\n return value.add(mask).and(mask.not());\n};\n\nglobalThis.i64_signbit = function i64_signbit(value) {\n return Boolean(value.high >>> 31);\n};\n\nglobalThis.i64_is_i8 = function i64_is_i8(value) {\n return value.high === 0 && (value.low >= 0 && value.low <= i8.MAX_VALUE)\n || value.high === -1 && (value.low >= i8.MIN_VALUE && value.low < 0);\n};\n\nglobalThis.i64_is_i16 = function i64_is_i16(value) {\n return value.high === 0 && (value.low >= 0 && value.low <= i16.MAX_VALUE)\n || value.high === -1 && (value.low >= i16.MIN_VALUE && value.low < 0);\n};\n\nglobalThis.i64_is_i32 = function i64_is_i32(value) {\n return (value.high === 0 && value.low >= 0)\n || (value.high === -1 && value.low < 0);\n};\n\nglobalThis.i64_is_u8 = function i64_is_u8(value) {\n return value.high === 0 && (value.low >>> 0) <= u8.MAX_VALUE;\n};\n\nglobalThis.i64_is_u16 = function i64_is_u16(value) {\n return value.high === 0 && (value.low >>> 0) <= u16.MAX_VALUE;\n};\n\nglobalThis.i64_is_u32 = function i64_is_u32(value) {\n return value.high === 0;\n};\n\nglobalThis.i64_is_bool = function i64_is_bool(value) {\n return (value.high | (value.low & ~1)) === 0;\n};\n\nconst minSafeF32 = Long.fromNumber(f32.MIN_SAFE_INTEGER);\nconst maxSafeF32 = Long.fromNumber(f32.MAX_SAFE_INTEGER);\n\nglobalThis.i64_is_f32 = function i64_is_f32(value) {\n return value.gte(minSafeF32) && value.lte(maxSafeF32);\n};\n\nconst minSafeF64 = Long.fromNumber(f64.MIN_SAFE_INTEGER);\nconst maxSafeF64 = Long.fromNumber(f64.MAX_SAFE_INTEGER);\n\nglobalThis.i64_is_f64 = function i64_is_f64(value) {\n return value.gte(minSafeF64) && value.lte(maxSafeF64);\n};\n\nglobalThis.i64_to_f32 = function i64_to_f32(value) {\n return globalThis.Math.fround(value.toNumber());\n};\n\nglobalThis.i64_to_f64 = function i64_to_f64(value) {\n return value.toNumber();\n};\n\nglobalThis.i64_to_string = function i64_to_string(value, unsigned) {\n return unsigned ? value.toUnsigned().toString() : value.toString();\n};\n\nglobalThis.i64_clone = function i64_clone(value) {\n return Long.fromBits(value.low, value.high, value.unsigned);\n};\n", "/**\n * @fileoverview Collections glue code for JavaScript.\n * @license Apache-2.0\n */\n\nglobalThis.Map_keys = function Map_keys(map) {\n return Array.from(map.keys());\n};\n\nglobalThis.Map_values = function Map_values(map) {\n return Array.from(map.values());\n};\n\nglobalThis.Set_values = function Set_values(set) {\n return Array.from(set.values());\n};\n", "// This file is shared with the compiler and must remain portable\n\n/** Indicates specific features to activate. */\nexport const enum Feature {\n /** No additional features. */\n None = 0,\n /** Sign extension operations. */\n SignExtension = 1 << 0, // see: https://github.com/WebAssembly/sign-extension-ops\n /** Mutable global imports and exports. */\n MutableGlobals = 1 << 1, // see: https://github.com/WebAssembly/mutable-global\n /** Non-trapping float to integer operations. */\n NontrappingF2I = 1 << 2, // see: https://github.com/WebAssembly/nontrapping-float-to-int-conversions\n /** Bulk memory operations. */\n BulkMemory = 1 << 3, // see: https://github.com/WebAssembly/bulk-memory-operations\n /** SIMD types and operations. */\n Simd = 1 << 4, // see: https://github.com/WebAssembly/simd\n /** Threading and atomic operations. */\n Threads = 1 << 5, // see: https://github.com/WebAssembly/threads\n /** Exception handling operations. */\n ExceptionHandling = 1 << 6, // see: https://github.com/WebAssembly/exception-handling\n /** Tail call operations. */\n TailCalls = 1 << 7, // see: https://github.com/WebAssembly/tail-call\n /** Reference types. */\n ReferenceTypes = 1 << 8, // see: https://github.com/WebAssembly/reference-types\n /** Multi value types. */\n MultiValue = 1 << 9, // see: https://github.com/WebAssembly/multi-value\n /** Garbage collection. */\n GC = 1 << 10, // see: https://github.com/WebAssembly/gc\n /** Memory64. */\n Memory64 = 1 << 11, // see: https://github.com/WebAssembly/memory64\n /** Relaxed SIMD. */\n RelaxedSimd = 1 << 12, // see: https://github.com/WebAssembly/relaxed-simd\n /** Extended const expressions. */\n ExtendedConst = 1 << 13, // see: https://github.com/WebAssembly/extended-const\n /** Reference typed strings. */\n Stringref = 1 << 14, // see: https://github.com/WebAssembly/stringref\n /** All features. */\n All = (1 << 15) - 1\n}\n\n/** Gets the name of the specified feature one would specify on the command line. */\nexport function featureToString(feature: Feature): string {\n switch (feature) {\n case Feature.SignExtension: return \"sign-extension\";\n case Feature.MutableGlobals: return \"mutable-globals\";\n case Feature.NontrappingF2I: return \"nontrapping-f2i\";\n case Feature.BulkMemory: return \"bulk-memory\";\n case Feature.Simd: return \"simd\";\n case Feature.Threads: return \"threads\";\n case Feature.ExceptionHandling: return \"exception-handling\";\n case Feature.TailCalls: return \"tail-calls\";\n case Feature.ReferenceTypes: return \"reference-types\";\n case Feature.MultiValue: return \"multi-value\";\n case Feature.GC: return \"gc\";\n case Feature.Memory64: return \"memory64\";\n case Feature.RelaxedSimd: return \"relaxed-simd\";\n case Feature.ExtendedConst: return \"extended-const\";\n case Feature.Stringref: return \"stringref\";\n }\n assert(false);\n return \"\";\n}\n", "// This file is shared with the compiler and must remain portable\n\n/** Compilation target. */\nexport enum Target {\n /** Portable. */\n Js = 0,\n /** WebAssembly with 32-bit pointers. */\n Wasm32 = 1,\n /** WebAssembly with 64-bit pointers. Experimental and not supported by any runtime yet. */\n Wasm64 = 2,\n}\n", "// This file is shared with the compiler and must remain portable\n\n/** Runtime types. */\nexport enum Runtime {\n /** Simple bump allocator without GC. */\n Stub = 0,\n /** Stop the world semi-automatic GC. */\n Minimal = 1,\n /** incremental GC. */\n Incremental = 2,\n}\n", "// This file is shared with the compiler and must remain portable\n\n// \u2552\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 Typeinfo interpretation \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2555\n// 3 2 1\n// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 bits\n// \u251C\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2524 \u25C4\u2500 __rtti_base\n// \u2502 count \u2502\n// \u255E\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2561 \u2510\n// \u2502 Typeinfo#flags [id=0] \u2502 id < count\n// \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524\n// \u2502 ... \u2502\n\n/** Runtime type information data structure. */\n@unmanaged\nexport class Typeinfo {\n /** Flags describing the shape of this class type. */\n flags: TypeinfoFlags = TypeinfoFlags.NONE;\n}\n\n/** Runtime type information flags. */\nexport const enum TypeinfoFlags {\n /** No specific flags. */\n NONE = 0,\n /** Type is an `ArrayBufferView`. */\n ARRAYBUFFERVIEW = 1 << 0,\n /** Type is an `Array`. */\n ARRAY = 1 << 1,\n /** Type is a `StaticArray`. */\n STATICARRAY = 1 << 2,\n /** Type is a `Set`. */\n SET = 1 << 3,\n /** Type is a `Map`. */\n MAP = 1 << 4,\n /** Type has no outgoing pointers. */\n POINTERFREE = 1 << 5,\n /** Value alignment of 1 byte. */\n VALUE_ALIGN_0 = 1 << 6,\n /** Value alignment of 2 bytes. */\n VALUE_ALIGN_1 = 1 << 7,\n /** Value alignment of 4 bytes. */\n VALUE_ALIGN_2 = 1 << 8,\n /** Value alignment of 8 bytes. */\n VALUE_ALIGN_3 = 1 << 9,\n /** Value alignment of 16 bytes. */\n VALUE_ALIGN_4 = 1 << 10,\n /** Value is a signed type. */\n VALUE_SIGNED = 1 << 11,\n /** Value is a float type. */\n VALUE_FLOAT = 1 << 12,\n /** Value type is nullable. */\n VALUE_NULLABLE = 1 << 13,\n /** Value type is managed. */\n VALUE_MANAGED = 1 << 14,\n /** Key alignment of 1 byte. */\n KEY_ALIGN_0 = 1 << 15,\n /** Key alignment of 2 bytes. */\n KEY_ALIGN_1 = 1 << 16,\n /** Key alignment of 4 bytes. */\n KEY_ALIGN_2 = 1 << 17,\n /** Key alignment of 8 bytes. */\n KEY_ALIGN_3 = 1 << 18,\n /** Key alignment of 16 bytes. */\n KEY_ALIGN_4 = 1 << 19,\n /** Key is a signed type. */\n KEY_SIGNED = 1 << 20,\n /** Key is a float type. */\n KEY_FLOAT = 1 << 21,\n /** Key type is nullable. */\n KEY_NULLABLE = 1 << 22,\n /** Key type is managed. */\n KEY_MANAGED = 1 << 23\n}\n", "/**\n * @fileoverview Common constants used by various parts of the compiler.\n * @license Apache-2.0\n */\n\n/** Indicates traits of a {@link Node} or {@link Element}. */\nexport const enum CommonFlags {\n /** No flags set. */\n None = 0,\n\n // Basic modifiers\n\n /** Has an `import` modifier. */\n Import = 1 << 0,\n /** Has an `export` modifier. */\n Export = 1 << 1,\n /** Has a `declare` modifier. */\n Declare = 1 << 2,\n /** Has a `const` modifier. */\n Const = 1 << 3,\n /** Has a `let` modifier. */\n Let = 1 << 4,\n /** Has a `static` modifier. */\n Static = 1 << 5,\n /** Has a `readonly` modifier. */\n Readonly = 1 << 6,\n /** Has an `abstract` modifier. */\n Abstract = 1 << 7,\n /** Has a `public` modifier. */\n Public = 1 << 8,\n /** Has a `private` modifier. */\n Private = 1 << 9,\n /** Has a `protected` modifier. */\n Protected = 1 << 10,\n /** Has a `get` modifier. */\n Get = 1 << 11,\n /** Has a `set` modifier. */\n Set = 1 << 12,\n /** Has a `override` modifier. */\n Override = 1 << 13,\n\n /** Has a definite assignment assertion `!` as in `x!: i32;`. */\n DefinitelyAssigned = 1 << 14,\n\n // Extended modifiers usually derived from basic modifiers\n\n /** Is ambient, that is either declared or nested in a declared element. */\n Ambient = 1 << 15,\n /** Is generic. */\n Generic = 1 << 16,\n /** Is part of a generic context. */\n GenericContext = 1 << 17,\n /** Is an instance member. */\n Instance = 1 << 18,\n /** Is a constructor. */\n Constructor = 1 << 19,\n /** Is a module export. */\n ModuleExport = 1 << 20,\n /** Is a module import. */\n ModuleImport = 1 << 21,\n\n // Compilation states\n\n /** Is resolved. */\n Resolved = 1 << 22,\n /** Is compiled. */\n Compiled = 1 << 23,\n /** Did error. */\n Errored = 1 << 24,\n /** Has a constant value and is therefore inlined. */\n Inlined = 1 << 25,\n /** Is scoped. */\n Scoped = 1 << 26,\n /** Is a stub. */\n Stub = 1 << 27,\n /** Is an overridden method. */\n Overridden = 1 << 28,\n /** Is (part of) a closure. */\n Closure = 1 << 29,\n\n // Other\n\n /** Is quoted. */\n Quoted = 1 << 30,\n /** Is internally nullable. */\n InternallyNullable = 1 << 31\n}\n\n/** Path delimiter inserted between file system levels. */\nexport const PATH_DELIMITER = \"/\";\n/** Substitution used to indicate the parent directory. */\nexport const PARENT_SUBST = \"..\";\n/** Function name prefix used for getters. */\nexport const GETTER_PREFIX = \"get:\";\n/** Function name prefix used for setters. */\nexport const SETTER_PREFIX = \"set:\";\n/** Delimiter used between class names and instance members. */\nexport const INSTANCE_DELIMITER = \"#\";\n/** Delimiter used between class and namespace names and static members. */\nexport const STATIC_DELIMITER = \".\";\n/** Delimiter used between a function and its inner elements. */\nexport const INNER_DELIMITER = \"~\";\n/** Substitution used to indicate a library directory. */\nexport const LIBRARY_SUBST = \"~lib\";\n/** Library directory prefix. */\nexport const LIBRARY_PREFIX = LIBRARY_SUBST + PATH_DELIMITER;\n/** Path index suffix. */\nexport const INDEX_SUFFIX = PATH_DELIMITER + \"index\";\n/** Stub function delimiter. */\nexport const STUB_DELIMITER = \"@\";\n\n/** Common names. */\nexport namespace CommonNames {\n // special\n export const Empty = \"\";\n // types\n export const i8 = \"i8\";\n export const i16 = \"i16\";\n export const i32 = \"i32\";\n export const i64 = \"i64\";\n export const isize = \"isize\";\n export const u8 = \"u8\";\n export const u16 = \"u16\";\n export const u32 = \"u32\";\n export const u64 = \"u64\";\n export const usize = \"usize\";\n export const bool = \"bool\";\n export const f32 = \"f32\";\n export const f64 = \"f64\";\n export const v128 = \"v128\";\n export const ref_func = \"ref_func\";\n export const ref_extern = \"ref_extern\";\n export const ref_any = \"ref_any\";\n export const ref_eq = \"ref_eq\";\n export const ref_struct = \"ref_struct\";\n export const ref_array = \"ref_array\";\n export const ref_i31 = \"ref_i31\";\n export const ref_string = \"ref_string\";\n export const ref_stringview_wtf8 = \"ref_stringview_wtf8\";\n export const ref_stringview_wtf16 = \"ref_stringview_wtf16\";\n export const ref_stringview_iter = \"ref_stringview_iter\";\n export const i8x16 = \"i8x16\";\n export const u8x16 = \"u8x16\";\n export const i16x8 = \"i16x8\";\n export const u16x8 = \"u16x8\";\n export const i32x4 = \"i32x4\";\n export const u32x4 = \"u32x4\";\n export const i64x2 = \"i64x2\";\n export const u64x2 = \"u64x2\";\n export const f32x4 = \"f32x4\";\n export const f64x2 = \"f64x2\";\n export const void_ = \"void\";\n export const number = \"number\";\n export const boolean = \"boolean\";\n export const string = \"string\";\n export const native = \"native\";\n export const indexof = \"indexof\";\n export const valueof = \"valueof\";\n export const returnof = \"returnof\";\n export const nonnull = \"nonnull\";\n // aliases\n export const null_ = \"null\";\n export const true_ = \"true\";\n export const false_ = \"false\";\n // objects\n export const this_ = \"this\";\n export const super_ = \"super\";\n export const constructor = \"constructor\";\n // constants\n export const ASC_TARGET = \"ASC_TARGET\";\n export const ASC_RUNTIME = \"ASC_RUNTIME\";\n export const ASC_NO_ASSERT = \"ASC_NO_ASSERT\";\n export const ASC_MEMORY_BASE = \"ASC_MEMORY_BASE\";\n export const ASC_TABLE_BASE = \"ASC_TABLE_BASE\";\n export const ASC_OPTIMIZE_LEVEL = \"ASC_OPTIMIZE_LEVEL\";\n export const ASC_SHRINK_LEVEL = \"ASC_SHRINK_LEVEL\";\n export const ASC_LOW_MEMORY_LIMIT = \"ASC_LOW_MEMORY_LIMIT\";\n export const ASC_EXPORT_RUNTIME = \"ASC_EXPORT_RUNTIME\";\n export const ASC_FEATURE_SIGN_EXTENSION = \"ASC_FEATURE_SIGN_EXTENSION\";\n export const ASC_FEATURE_MUTABLE_GLOBALS = \"ASC_FEATURE_MUTABLE_GLOBALS\";\n export const ASC_FEATURE_NONTRAPPING_F2I = \"ASC_FEATURE_NONTRAPPING_F2I\";\n export const ASC_FEATURE_BULK_MEMORY = \"ASC_FEATURE_BULK_MEMORY\";\n export const ASC_FEATURE_SIMD = \"ASC_FEATURE_SIMD\";\n export const ASC_FEATURE_THREADS = \"ASC_FEATURE_THREADS\";\n export const ASC_FEATURE_EXCEPTION_HANDLING = \"ASC_FEATURE_EXCEPTION_HANDLING\";\n export const ASC_FEATURE_TAIL_CALLS = \"ASC_FEATURE_TAIL_CALLS\";\n export const ASC_FEATURE_REFERENCE_TYPES = \"ASC_FEATURE_REFERENCE_TYPES\";\n export const ASC_FEATURE_MULTI_VALUE = \"ASC_FEATURE_MULTI_VALUE\";\n export const ASC_FEATURE_GC = \"ASC_FEATURE_GC\";\n export const ASC_FEATURE_MEMORY64 = \"ASC_FEATURE_MEMORY64\";\n export const ASC_FEATURE_RELAXED_SIMD = \"ASC_FEATURE_RELAXED_SIMD\";\n export const ASC_FEATURE_EXTENDED_CONST = \"ASC_FEATURE_EXTENDED_CONST\";\n export const ASC_FEATURE_STRINGREF = \"ASC_FEATURE_STRINGREF\";\n export const ASC_VERSION_MAJOR = \"ASC_VERSION_MAJOR\";\n export const ASC_VERSION_MINOR = \"ASC_VERSION_MINOR\";\n export const ASC_VERSION_PATCH = \"ASC_VERSION_PATCH\";\n // classes\n export const I8 = \"I8\";\n export const I16 = \"I16\";\n export const I32 = \"I32\";\n export const I64 = \"I64\";\n export const Isize = \"Isize\";\n export const U8 = \"U8\";\n export const U16 = \"U16\";\n export const U32 = \"U32\";\n export const U64 = \"U64\";\n export const Usize = \"Usize\";\n export const Bool = \"Bool\";\n export const F32 = \"F32\";\n export const F64 = \"F64\";\n export const V128 = \"V128\";\n export const RefFunc = \"RefFunc\";\n export const RefExtern = \"RefExtern\";\n export const RefAny = \"RefAny\";\n export const RefEq = \"RefEq\";\n export const RefStruct = \"RefStruct\";\n export const RefArray = \"RefArray\";\n export const RefI31 = \"RefI31\";\n export const RefString = \"RefString\";\n export const String = \"String\";\n export const RegExp = \"RegExp\";\n export const Object = \"Object\";\n export const Array = \"Array\";\n export const StaticArray = \"StaticArray\";\n export const Set = \"Set\";\n export const Map = \"Map\";\n export const Function = \"Function\";\n export const ArrayBufferView = \"ArrayBufferView\";\n export const ArrayBuffer = \"ArrayBuffer\";\n export const Math = \"Math\";\n export const Mathf = \"Mathf\";\n export const NativeMath = \"NativeMath\";\n export const NativeMathf = \"NativeMathf\";\n export const Int8Array = \"Int8Array\";\n export const Int16Array = \"Int16Array\";\n export const Int32Array = \"Int32Array\";\n export const Int64Array = \"Int64Array\";\n export const Uint8Array = \"Uint8Array\";\n export const Uint8ClampedArray = \"Uint8ClampedArray\";\n export const Uint16Array = \"Uint16Array\";\n export const Uint32Array = \"Uint32Array\";\n export const Uint64Array = \"Uint64Array\";\n export const Float32Array = \"Float32Array\";\n export const Float64Array = \"Float64Array\";\n export const TemplateStringsArray = \"TemplateStringsArray\";\n export const Error = \"Error\";\n // runtime\n export const abort = \"abort\";\n export const trace = \"trace\";\n export const seed = \"seed\";\n export const pow = \"pow\";\n export const ipow32 = \"ipow32\";\n export const ipow64 = \"ipow64\";\n export const mod = \"mod\";\n export const alloc = \"__alloc\";\n export const realloc = \"__realloc\";\n export const free = \"__free\";\n export const new_ = \"__new\";\n export const renew = \"__renew\";\n export const link = \"__link\";\n export const collect = \"__collect\";\n export const visit = \"__visit\";\n export const newBuffer = \"__newBuffer\";\n export const newArray = \"__newArray\";\n export const BLOCK = \"~lib/rt/common/BLOCK\";\n export const OBJECT = \"~lib/rt/common/OBJECT\";\n // memory & table\n export const DefaultMemory = \"0\";\n export const DefaultTable = \"0\";\n}\n\n// shared\nexport { Feature, featureToString } from \"../std/assembly/shared/feature\";\nexport { Target } from \"../std/assembly/shared/target\";\nexport { Runtime } from \"../std/assembly/shared/runtime\";\nexport { Typeinfo, TypeinfoFlags } from \"../std/assembly/shared/typeinfo\";\n", "// GENERATED FILE. DO NOT EDIT.\n\n/** Enum of available diagnostic codes. */\nexport enum DiagnosticCode {\n Not_implemented_0 = 100,\n Operation_is_unsafe = 101,\n User_defined_0 = 102,\n Feature_0_is_not_enabled = 103,\n Low_memory_limit_exceeded_by_static_data_0_1 = 104,\n Module_requires_at_least_0_pages_of_initial_memory = 105,\n Module_requires_at_least_0_pages_of_maximum_memory = 106,\n Shared_memory_requires_maximum_memory_to_be_defined = 107,\n Shared_memory_requires_feature_threads_to_be_enabled = 108,\n Transform_0_1 = 109,\n Start_function_name_0_is_invalid_or_conflicts_with_another_export = 110,\n Element_0_not_found = 111,\n Exchange_of_0_values_is_not_supported_by_all_embeddings = 112,\n Conversion_from_type_0_to_1_requires_an_explicit_cast = 200,\n Conversion_from_type_0_to_1_will_require_an_explicit_cast_when_switching_between_32_64_bit = 201,\n Type_0_cannot_be_changed_to_type_1 = 202,\n Operation_0_cannot_be_applied_to_type_1 = 203,\n Type_0_cannot_be_nullable = 204,\n Mutable_value_cannot_be_inlined = 206,\n Unmanaged_classes_cannot_extend_managed_classes_and_vice_versa = 207,\n Unmanaged_classes_cannot_implement_interfaces = 208,\n Invalid_regular_expression_flags = 209,\n Expression_is_never_null = 210,\n Class_0_is_final_and_cannot_be_extended = 211,\n Decorator_0_is_not_valid_here = 212,\n Duplicate_decorator = 213,\n Type_0_is_illegal_in_this_context = 214,\n Optional_parameter_must_have_an_initializer = 215,\n Class_0_cannot_declare_a_constructor_when_instantiated_from_an_object_literal = 216,\n Function_0_cannot_be_inlined_into_itself = 217,\n Cannot_access_method_0_without_calling_it_as_it_requires_this_to_be_set = 218,\n Optional_properties_are_not_supported = 219,\n Expression_must_be_a_compile_time_constant = 220,\n Type_0_is_not_a_function_index_or_function_reference = 221,\n _0_must_be_a_value_between_1_and_2_inclusive = 222,\n _0_must_be_a_power_of_two = 223,\n _0_is_not_a_valid_operator = 224,\n Expression_cannot_be_represented_by_a_type = 225,\n Expression_resolves_to_unusual_type_0 = 226,\n Array_literal_expected = 227,\n Function_0_is_virtual_and_will_not_be_inlined = 228,\n Property_0_only_has_a_setter_and_is_missing_a_getter = 229,\n _0_keyword_cannot_be_used_here = 230,\n A_class_with_a_constructor_explicitly_returning_something_else_than_this_must_be_final = 231,\n Property_0_is_always_assigned_before_being_used = 233,\n Expression_does_not_compile_to_a_value_at_runtime = 234,\n Only_variables_functions_and_enums_become_WebAssembly_module_exports = 235,\n Literal_0_does_not_fit_into_i64_or_u64_types = 236,\n Index_signature_accessors_in_type_0_differ_in_types = 237,\n Initializer_definitive_assignment_or_nullable_type_expected = 238,\n Definitive_assignment_has_no_effect_on_local_variables = 239,\n Importing_the_table_disables_some_indirect_call_optimizations = 901,\n Exporting_the_table_disables_some_indirect_call_optimizations = 902,\n Expression_compiles_to_a_dynamic_check_at_runtime = 903,\n Indexed_access_may_involve_bounds_checking = 904,\n Explicitly_returning_constructor_drops_this_allocation = 905,\n Unnecessary_definite_assignment = 906,\n _NaN_does_not_compare_equal_to_any_other_value_including_itself_Use_isNaN_x_instead = 907,\n Comparison_with_0_0_is_sign_insensitive_Use_Object_is_x_0_0_if_the_sign_matters = 908,\n Unterminated_string_literal = 1002,\n Identifier_expected = 1003,\n _0_expected = 1005,\n A_file_cannot_have_a_reference_to_itself = 1006,\n Trailing_comma_not_allowed = 1009,\n Unexpected_token = 1012,\n A_rest_parameter_must_be_last_in_a_parameter_list = 1014,\n Parameter_cannot_have_question_mark_and_initializer = 1015,\n A_required_parameter_cannot_follow_an_optional_parameter = 1016,\n _0_modifier_cannot_appear_on_class_elements_of_this_kind = 1031,\n Statements_are_not_allowed_in_ambient_contexts = 1036,\n Initializers_are_not_allowed_in_ambient_contexts = 1039,\n _0_modifier_cannot_be_used_here = 1042,\n A_rest_parameter_cannot_be_optional = 1047,\n A_rest_parameter_cannot_have_an_initializer = 1048,\n A_set_accessor_must_have_exactly_one_parameter = 1049,\n A_set_accessor_parameter_cannot_have_an_initializer = 1052,\n A_get_accessor_cannot_have_parameters = 1054,\n Enum_member_must_have_initializer = 1061,\n Type_parameters_cannot_appear_on_a_constructor_declaration = 1092,\n Type_annotation_cannot_appear_on_a_constructor_declaration = 1093,\n An_accessor_cannot_have_type_parameters = 1094,\n A_set_accessor_cannot_have_a_return_type_annotation = 1095,\n Type_parameter_list_cannot_be_empty = 1098,\n Type_argument_list_cannot_be_empty = 1099,\n A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement = 1104,\n A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement = 1105,\n A_return_statement_can_only_be_used_within_a_function_body = 1108,\n Expression_expected = 1109,\n Type_expected = 1110,\n A_default_clause_cannot_appear_more_than_once_in_a_switch_statement = 1113,\n Duplicate_label_0 = 1114,\n An_export_assignment_cannot_have_modifiers = 1120,\n Octal_literals_are_not_allowed_in_strict_mode = 1121,\n Digit_expected = 1124,\n Hexadecimal_digit_expected = 1125,\n Unexpected_end_of_text = 1126,\n Invalid_character = 1127,\n _case_or_default_expected = 1130,\n _super_must_be_followed_by_an_argument_list_or_member_access = 1034,\n A_declare_modifier_cannot_be_used_in_an_already_ambient_context = 1038,\n Type_argument_expected = 1140,\n String_literal_expected = 1141,\n Line_break_not_permitted_here = 1142,\n Declaration_expected = 1146,\n _const_declarations_must_be_initialized = 1155,\n Unterminated_regular_expression_literal = 1161,\n Declarations_with_initializers_cannot_also_have_definite_assignment_assertions = 1263,\n Interface_declaration_cannot_have_implements_clause = 1176,\n Binary_digit_expected = 1177,\n Octal_digit_expected = 1178,\n An_implementation_cannot_be_declared_in_ambient_contexts = 1183,\n The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer = 1190,\n An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive = 1198,\n Unterminated_Unicode_escape_sequence = 1199,\n Decorators_are_not_valid_here = 1206,\n _abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration = 1242,\n Method_0_cannot_have_an_implementation_because_it_is_marked_abstract = 1245,\n An_interface_property_cannot_have_an_initializer = 1246,\n A_definite_assignment_assertion_is_not_permitted_in_this_context = 1255,\n A_class_may_only_extend_another_class = 1311,\n A_parameter_property_cannot_be_declared_using_a_rest_parameter = 1317,\n A_default_export_can_only_be_used_in_a_module = 1319,\n An_expression_of_type_0_cannot_be_tested_for_truthiness = 1345,\n An_identifier_or_keyword_cannot_immediately_follow_a_numeric_literal = 1351,\n Duplicate_identifier_0 = 2300,\n Cannot_find_name_0 = 2304,\n Module_0_has_no_exported_member_1 = 2305,\n An_interface_can_only_extend_an_interface = 2312,\n Generic_type_0_requires_1_type_argument_s = 2314,\n Type_0_is_not_generic = 2315,\n Type_0_is_not_assignable_to_type_1 = 2322,\n Property_0_is_private_in_type_1_but_not_in_type_2 = 2325,\n Index_signature_is_missing_in_type_0 = 2329,\n _this_cannot_be_referenced_in_current_location = 2332,\n _this_cannot_be_referenced_in_constructor_arguments = 2333,\n _super_can_only_be_referenced_in_a_derived_class = 2335,\n _super_cannot_be_referenced_in_constructor_arguments = 2336,\n Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors = 2337,\n Property_0_does_not_exist_on_type_1 = 2339,\n Property_0_is_private_and_only_accessible_within_class_1 = 2341,\n Cannot_invoke_an_expression_whose_type_lacks_a_call_signature_Type_0_has_no_compatible_call_signatures = 2349,\n This_expression_is_not_constructable = 2351,\n A_function_whose_declared_type_is_not_void_must_return_a_value = 2355,\n The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access = 2357,\n The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access = 2364,\n Operator_0_cannot_be_applied_to_types_1_and_2 = 2365,\n A_super_call_must_be_the_first_statement_in_the_constructor = 2376,\n Constructors_for_derived_classes_must_contain_a_super_call = 2377,\n _get_and_set_accessor_must_have_the_same_type = 2380,\n Overload_signatures_must_all_be_public_private_or_protected = 2385,\n Constructor_implementation_is_missing = 2390,\n Function_implementation_is_missing_or_not_immediately_following_the_declaration = 2391,\n Multiple_constructor_implementations_are_not_allowed = 2392,\n Duplicate_function_implementation = 2393,\n This_overload_signature_is_not_compatible_with_its_implementation_signature = 2394,\n Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local = 2395,\n Property_0_in_type_1_is_not_assignable_to_the_same_property_in_base_type_2 = 2416,\n A_class_can_only_implement_an_interface = 2422,\n A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged = 2434,\n Types_have_separate_declarations_of_a_private_property_0 = 2442,\n Property_0_is_protected_in_type_1_but_public_in_type_2 = 2444,\n Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses = 2445,\n Variable_0_used_before_its_declaration = 2448,\n Cannot_redeclare_block_scoped_variable_0 = 2451,\n The_type_argument_for_type_parameter_0_cannot_be_inferred_from_the_usage_Consider_specifying_the_type_arguments_explicitly = 2453,\n Variable_0_is_used_before_being_assigned = 2454,\n Type_alias_0_circularly_references_itself = 2456,\n Type_0_has_no_property_1 = 2460,\n The_0_operator_cannot_be_applied_to_type_1 = 2469,\n In_const_enum_declarations_member_initializer_must_be_constant_expression = 2474,\n Export_declaration_conflicts_with_exported_declaration_of_0 = 2484,\n _0_is_referenced_directly_or_indirectly_in_its_own_base_expression = 2506,\n Cannot_create_an_instance_of_an_abstract_class = 2511,\n Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_2 = 2515,\n Object_is_possibly_null = 2531,\n Cannot_assign_to_0_because_it_is_a_constant_or_a_read_only_property = 2540,\n The_target_of_an_assignment_must_be_a_variable_or_a_property_access = 2541,\n Index_signature_in_type_0_only_permits_reading = 2542,\n Expected_0_arguments_but_got_1 = 2554,\n Expected_at_least_0_arguments_but_got_1 = 2555,\n Expected_0_type_arguments_but_got_1 = 2558,\n Property_0_has_no_initializer_and_is_not_assigned_in_the_constructor_before_this_is_used_or_returned = 2564,\n Property_0_is_used_before_being_assigned = 2565,\n _0_is_defined_as_an_accessor_in_class_1_but_is_overridden_here_in_2_as_an_instance_property = 2610,\n _0_is_defined_as_a_property_in_class_1_but_is_overridden_here_in_2_as_an_accessor = 2611,\n A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_members_defined_in_other_enums = 2651,\n Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration = 2673,\n Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration = 2674,\n Cannot_extend_a_class_0_Class_constructor_is_marked_as_private = 2675,\n The_this_types_of_each_signature_are_incompatible = 2685,\n Namespace_0_has_no_exported_member_1 = 2694,\n Namespace_can_only_have_declarations = 2695,\n Required_type_parameters_may_not_follow_optional_type_parameters = 2706,\n Duplicate_property_0 = 2718,\n Property_0_is_missing_in_type_1_but_required_in_type_2 = 2741,\n Type_0_has_no_call_signatures = 2757,\n Get_accessor_0_must_be_at_least_as_accessible_as_the_setter = 2808,\n This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0 = 4117,\n File_0_not_found = 6054,\n Numeric_separators_are_not_allowed_here = 6188,\n Multiple_consecutive_numeric_separators_are_not_permitted = 6189,\n This_expression_is_not_callable_because_it_is_a_get_accessor_Did_you_mean_to_use_it_without = 6234,\n _super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class = 17009,\n _super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class = 17011\n}\n\n/** Translates a diagnostic code to its respective string. */\nexport function diagnosticCodeToString(code: DiagnosticCode): string {\n switch (code) {\n case 100: return \"Not implemented: {0}\";\n case 101: return \"Operation is unsafe.\";\n case 102: return \"User-defined: {0}\";\n case 103: return \"Feature '{0}' is not enabled.\";\n case 104: return \"Low memory limit exceeded by static data: {0} > {1}\";\n case 105: return \"Module requires at least '{0}' pages of initial memory.\";\n case 106: return \"Module requires at least '{0}' pages of maximum memory.\";\n case 107: return \"Shared memory requires maximum memory to be defined.\";\n case 108: return \"Shared memory requires feature 'threads' to be enabled.\";\n case 109: return \"Transform '{0}': {1}\";\n case 110: return \"Start function name '{0}' is invalid or conflicts with another export.\";\n case 111: return \"Element '{0}' not found.\";\n case 112: return \"Exchange of '{0}' values is not supported by all embeddings\";\n case 200: return \"Conversion from type '{0}' to '{1}' requires an explicit cast.\";\n case 201: return \"Conversion from type '{0}' to '{1}' will require an explicit cast when switching between 32/64-bit.\";\n case 202: return \"Type '{0}' cannot be changed to type '{1}'.\";\n case 203: return \"Operation '{0}' cannot be applied to type '{1}'.\";\n case 204: return \"Type '{0}' cannot be nullable.\";\n case 206: return \"Mutable value cannot be inlined.\";\n case 207: return \"Unmanaged classes cannot extend managed classes and vice-versa.\";\n case 208: return \"Unmanaged classes cannot implement interfaces.\";\n case 209: return \"Invalid regular expression flags.\";\n case 210: return \"Expression is never 'null'.\";\n case 211: return \"Class '{0}' is final and cannot be extended.\";\n case 212: return \"Decorator '{0}' is not valid here.\";\n case 213: return \"Duplicate decorator.\";\n case 214: return \"Type '{0}' is illegal in this context.\";\n case 215: return \"Optional parameter must have an initializer.\";\n case 216: return \"Class '{0}' cannot declare a constructor when instantiated from an object literal.\";\n case 217: return \"Function '{0}' cannot be inlined into itself.\";\n case 218: return \"Cannot access method '{0}' without calling it as it requires 'this' to be set.\";\n case 219: return \"Optional properties are not supported.\";\n case 220: return \"Expression must be a compile-time constant.\";\n case 221: return \"Type '{0}' is not a function index or function reference.\";\n case 222: return \"'{0}' must be a value between '{1}' and '{2}' inclusive.\";\n case 223: return \"'{0}' must be a power of two.\";\n case 224: return \"'{0}' is not a valid operator.\";\n case 225: return \"Expression cannot be represented by a type.\";\n case 226: return \"Expression resolves to unusual type '{0}'.\";\n case 227: return \"Array literal expected.\";\n case 228: return \"Function '{0}' is virtual and will not be inlined.\";\n case 229: return \"Property '{0}' only has a setter and is missing a getter.\";\n case 230: return \"'{0}' keyword cannot be used here.\";\n case 231: return \"A class with a constructor explicitly returning something else than 'this' must be '@final'.\";\n case 233: return \"Property '{0}' is always assigned before being used.\";\n case 234: return \"Expression does not compile to a value at runtime.\";\n case 235: return \"Only variables, functions and enums become WebAssembly module exports.\";\n case 236: return \"Literal '{0}' does not fit into 'i64' or 'u64' types.\";\n case 237: return \"Index signature accessors in type '{0}' differ in types.\";\n case 238: return \"Initializer, definitive assignment or nullable type expected.\";\n case 239: return \"Definitive assignment has no effect on local variables.\";\n case 901: return \"Importing the table disables some indirect call optimizations.\";\n case 902: return \"Exporting the table disables some indirect call optimizations.\";\n case 903: return \"Expression compiles to a dynamic check at runtime.\";\n case 904: return \"Indexed access may involve bounds checking.\";\n case 905: return \"Explicitly returning constructor drops 'this' allocation.\";\n case 906: return \"Unnecessary definite assignment.\";\n case 907: return \"'NaN' does not compare equal to any other value including itself. Use isNaN(x) instead.\";\n case 908: return \"Comparison with -0.0 is sign insensitive. Use Object.is(x, -0.0) if the sign matters.\";\n case 1002: return \"Unterminated string literal.\";\n case 1003: return \"Identifier expected.\";\n case 1005: return \"'{0}' expected.\";\n case 1006: return \"A file cannot have a reference to itself.\";\n case 1009: return \"Trailing comma not allowed.\";\n case 1012: return \"Unexpected token.\";\n case 1014: return \"A rest parameter must be last in a parameter list.\";\n case 1015: return \"Parameter cannot have question mark and initializer.\";\n case 1016: return \"A required parameter cannot follow an optional parameter.\";\n case 1031: return \"'{0}' modifier cannot appear on class elements of this kind.\";\n case 1036: return \"Statements are not allowed in ambient contexts.\";\n case 1039: return \"Initializers are not allowed in ambient contexts.\";\n case 1042: return \"'{0}' modifier cannot be used here.\";\n case 1047: return \"A rest parameter cannot be optional.\";\n case 1048: return \"A rest parameter cannot have an initializer.\";\n case 1049: return \"A 'set' accessor must have exactly one parameter.\";\n case 1052: return \"A 'set' accessor parameter cannot have an initializer.\";\n case 1054: return \"A 'get' accessor cannot have parameters.\";\n case 1061: return \"Enum member must have initializer.\";\n case 1092: return \"Type parameters cannot appear on a constructor declaration.\";\n case 1093: return \"Type annotation cannot appear on a constructor declaration.\";\n case 1094: return \"An accessor cannot have type parameters.\";\n case 1095: return \"A 'set' accessor cannot have a return type annotation.\";\n case 1098: return \"Type parameter list cannot be empty.\";\n case 1099: return \"Type argument list cannot be empty.\";\n case 1104: return \"A 'continue' statement can only be used within an enclosing iteration statement.\";\n case 1105: return \"A 'break' statement can only be used within an enclosing iteration or switch statement.\";\n case 1108: return \"A 'return' statement can only be used within a function body.\";\n case 1109: return \"Expression expected.\";\n case 1110: return \"Type expected.\";\n case 1113: return \"A 'default' clause cannot appear more than once in a 'switch' statement.\";\n case 1114: return \"Duplicate label '{0}'.\";\n case 1120: return \"An export assignment cannot have modifiers.\";\n case 1121: return \"Octal literals are not allowed in strict mode.\";\n case 1124: return \"Digit expected.\";\n case 1125: return \"Hexadecimal digit expected.\";\n case 1126: return \"Unexpected end of text.\";\n case 1127: return \"Invalid character.\";\n case 1130: return \"'case' or 'default' expected.\";\n case 1034: return \"'super' must be followed by an argument list or member access.\";\n case 1038: return \"A 'declare' modifier cannot be used in an already ambient context.\";\n case 1140: return \"Type argument expected.\";\n case 1141: return \"String literal expected.\";\n case 1142: return \"Line break not permitted here.\";\n case 1146: return \"Declaration expected.\";\n case 1155: return \"'const' declarations must be initialized.\";\n case 1161: return \"Unterminated regular expression literal.\";\n case 1263: return \"Declarations with initializers cannot also have definite assignment assertions.\";\n case 1176: return \"Interface declaration cannot have 'implements' clause.\";\n case 1177: return \"Binary digit expected.\";\n case 1178: return \"Octal digit expected.\";\n case 1183: return \"An implementation cannot be declared in ambient contexts.\";\n case 1190: return \"The variable declaration of a 'for...of' statement cannot have an initializer.\";\n case 1198: return \"An extended Unicode escape value must be between 0x0 and 0x10FFFF inclusive.\";\n case 1199: return \"Unterminated Unicode escape sequence.\";\n case 1206: return \"Decorators are not valid here.\";\n case 1242: return \"'abstract' modifier can only appear on a class, method, or property declaration.\";\n case 1245: return \"Method '{0}' cannot have an implementation because it is marked abstract.\";\n case 1246: return \"An interface property cannot have an initializer.\";\n case 1255: return \"A definite assignment assertion '!' is not permitted in this context.\";\n case 1311: return \"A class may only extend another class.\";\n case 1317: return \"A parameter property cannot be declared using a rest parameter.\";\n case 1319: return \"A default export can only be used in a module.\";\n case 1345: return \"An expression of type '{0}' cannot be tested for truthiness.\";\n case 1351: return \"An identifier or keyword cannot immediately follow a numeric literal.\";\n case 2300: return \"Duplicate identifier '{0}'.\";\n case 2304: return \"Cannot find name '{0}'.\";\n case 2305: return \"Module '{0}' has no exported member '{1}'.\";\n case 2312: return \"An interface can only extend an interface.\";\n case 2314: return \"Generic type '{0}' requires {1} type argument(s).\";\n case 2315: return \"Type '{0}' is not generic.\";\n case 2322: return \"Type '{0}' is not assignable to type '{1}'.\";\n case 2325: return \"Property '{0}' is private in type '{1}' but not in type '{2}'.\";\n case 2329: return \"Index signature is missing in type '{0}'.\";\n case 2332: return \"'this' cannot be referenced in current location.\";\n case 2333: return \"'this' cannot be referenced in constructor arguments.\";\n case 2335: return \"'super' can only be referenced in a derived class.\";\n case 2336: return \"'super' cannot be referenced in constructor arguments.\";\n case 2337: return \"Super calls are not permitted outside constructors or in nested functions inside constructors.\";\n case 2339: return \"Property '{0}' does not exist on type '{1}'.\";\n case 2341: return \"Property '{0}' is private and only accessible within class '{1}'.\";\n case 2349: return \"Cannot invoke an expression whose type lacks a call signature. Type '{0}' has no compatible call signatures.\";\n case 2351: return \"This expression is not constructable.\";\n case 2355: return \"A function whose declared type is not 'void' must return a value.\";\n case 2357: return \"The operand of an increment or decrement operator must be a variable or a property access.\";\n case 2364: return \"The left-hand side of an assignment expression must be a variable or a property access.\";\n case 2365: return \"Operator '{0}' cannot be applied to types '{1}' and '{2}'.\";\n case 2376: return \"A 'super' call must be the first statement in the constructor.\";\n case 2377: return \"Constructors for derived classes must contain a 'super' call.\";\n case 2380: return \"'get' and 'set' accessor must have the same type.\";\n case 2385: return \"Overload signatures must all be public, private or protected.\";\n case 2390: return \"Constructor implementation is missing.\";\n case 2391: return \"Function implementation is missing or not immediately following the declaration.\";\n case 2392: return \"Multiple constructor implementations are not allowed.\";\n case 2393: return \"Duplicate function implementation.\";\n case 2394: return \"This overload signature is not compatible with its implementation signature.\";\n case 2395: return \"Individual declarations in merged declaration '{0}' must be all exported or all local.\";\n case 2416: return \"Property '{0}' in type '{1}' is not assignable to the same property in base type '{2}'.\";\n case 2422: return \"A class can only implement an interface.\";\n case 2434: return \"A namespace declaration cannot be located prior to a class or function with which it is merged.\";\n case 2442: return \"Types have separate declarations of a private property '{0}'.\";\n case 2444: return \"Property '{0}' is protected in type '{1}' but public in type '{2}'.\";\n case 2445: return \"Property '{0}' is protected and only accessible within class '{1}' and its subclasses.\";\n case 2448: return \"Variable '{0}' used before its declaration.\";\n case 2451: return \"Cannot redeclare block-scoped variable '{0}'\";\n case 2453: return \"The type argument for type parameter '{0}' cannot be inferred from the usage. Consider specifying the type arguments explicitly.\";\n case 2454: return \"Variable '{0}' is used before being assigned.\";\n case 2456: return \"Type alias '{0}' circularly references itself.\";\n case 2460: return \"Type '{0}' has no property '{1}'.\";\n case 2469: return \"The '{0}' operator cannot be applied to type '{1}'.\";\n case 2474: return \"In 'const' enum declarations member initializer must be constant expression.\";\n case 2484: return \"Export declaration conflicts with exported declaration of '{0}'.\";\n case 2506: return \"'{0}' is referenced directly or indirectly in its own base expression.\";\n case 2511: return \"Cannot create an instance of an abstract class.\";\n case 2515: return \"Non-abstract class '{0}' does not implement inherited abstract member '{1}' from '{2}'.\";\n case 2531: return \"Object is possibly 'null'.\";\n case 2540: return \"Cannot assign to '{0}' because it is a constant or a read-only property.\";\n case 2541: return \"The target of an assignment must be a variable or a property access.\";\n case 2542: return \"Index signature in type '{0}' only permits reading.\";\n case 2554: return \"Expected {0} arguments, but got {1}.\";\n case 2555: return \"Expected at least {0} arguments, but got {1}.\";\n case 2558: return \"Expected {0} type arguments, but got {1}.\";\n case 2564: return \"Property '{0}' has no initializer and is not assigned in the constructor before 'this' is used or returned.\";\n case 2565: return \"Property '{0}' is used before being assigned.\";\n case 2610: return \"'{0}' is defined as an accessor in class '{1}', but is overridden here in '{2}' as an instance property.\";\n case 2611: return \"'{0}' is defined as a property in class '{1}', but is overridden here in '{2}' as an accessor.\";\n case 2651: return \"A member initializer in a enum declaration cannot reference members declared after it, including members defined in other enums.\";\n case 2673: return \"Constructor of class '{0}' is private and only accessible within the class declaration.\";\n case 2674: return \"Constructor of class '{0}' is protected and only accessible within the class declaration.\";\n case 2675: return \"Cannot extend a class '{0}'. Class constructor is marked as private.\";\n case 2685: return \"The 'this' types of each signature are incompatible.\";\n case 2694: return \"Namespace '{0}' has no exported member '{1}'.\";\n case 2695: return \"Namespace can only have declarations.\";\n case 2706: return \"Required type parameters may not follow optional type parameters.\";\n case 2718: return \"Duplicate property '{0}'.\";\n case 2741: return \"Property '{0}' is missing in type '{1}' but required in type '{2}'.\";\n case 2757: return \"Type '{0}' has no call signatures.\";\n case 2808: return \"Get accessor '{0}' must be at least as accessible as the setter.\";\n case 4117: return \"This member cannot have an 'override' modifier because it is not declared in the base class '{0}'.\";\n case 6054: return \"File '{0}' not found.\";\n case 6188: return \"Numeric separators are not allowed here.\";\n case 6189: return \"Multiple consecutive numeric separators are not permitted.\";\n case 6234: return \"This expression is not callable because it is a 'get' accessor. Did you mean to use it without '()'?\";\n case 17009: return \"'super' must be called before accessing 'this' in the constructor of a derived class.\";\n case 17011: return \"'super' must be called before accessing a property of 'super' in the constructor of a derived class.\";\n default: return \"\";\n }\n}\n", "/**\n * @fileoverview Various utility.\n * @license Apache-2.0\n */\n\nexport * from \"./util/binary\";\nexport * from \"./util/collections\";\nexport * from \"./util/math\";\nexport * from \"./util/path\";\nexport * from \"./util/terminal\";\nexport * from \"./util/text\";\nexport * from \"./util/vector\";\n", "/**\n * @fileoverview Various binary reading and writing utility.\n * @license Apache-2.0\n */\n\n/** Reads an 8-bit integer from the specified buffer. */\nexport function readI8(buffer: Uint8Array, offset: i32): i32 {\n return buffer[offset];\n}\n\n/** Writes an 8-bit integer to the specified buffer. */\nexport function writeI8(value: i32, buffer: Uint8Array, offset: i32): void {\n buffer[offset] = value;\n}\n\n/** Reads a 16-bit integer from the specified buffer. */\nexport function readI16(buffer: Uint8Array, offset: i32): i32 {\n return i32(buffer[offset ])\n | i32(buffer[offset + 1]) << 8;\n}\n\n/** Writes a 16-bit integer to the specified buffer. */\nexport function writeI16(value: i32, buffer: Uint8Array, offset: i32): void {\n buffer[offset ] = value;\n buffer[offset + 1] = value >>> 8;\n}\n\n/** Reads a 32-bit integer from the specified buffer. */\nexport function readI32(buffer: Uint8Array, offset: i32): i32 {\n return i32(buffer[offset ])\n | i32(buffer[offset + 1]) << 8\n | i32(buffer[offset + 2]) << 16\n | i32(buffer[offset + 3]) << 24;\n}\n\n/** Writes a 32-bit integer to the specified buffer. */\nexport function writeI32(value: i32, buffer: Uint8Array, offset: i32): void {\n buffer[offset ] = value;\n buffer[offset + 1] = value >>> 8;\n buffer[offset + 2] = value >>> 16;\n buffer[offset + 3] = value >>> 24;\n}\n\n/** Writes a 32-bit integer as a 64-bit integer to the specified buffer. */\nexport function writeI32AsI64(value: i32, buffer: Uint8Array, offset: i32, unsigned: bool = false): void {\n writeI32(value, buffer, offset);\n writeI32(unsigned || value >= 0 ? 0 : -1, buffer, offset + 4);\n}\n\n/** Reads a 64-bit integer from the specified buffer. */\nexport function readI64(buffer: Uint8Array, offset: i32): i64 {\n let lo = readI32(buffer, offset);\n let hi = readI32(buffer, offset + 4);\n return i64_new(lo, hi);\n}\n\n/** Writes a 64-bit integer to the specified buffer. */\nexport function writeI64(value: i64, buffer: Uint8Array, offset: i32): void {\n writeI32(i64_low(value), buffer, offset);\n writeI32(i64_high(value), buffer, offset + 4);\n}\n\n/** Writes a 64-bit integer as a 32-bit integer to the specified buffer. */\nexport function writeI64AsI32(value: i64, buffer: Uint8Array, offset: i32, unsigned: bool = false): void {\n assert(unsigned ? i64_is_u32(value) : i64_is_i32(value));\n writeI32(i64_low(value), buffer, offset);\n}\n\n/** Reads a 32-bit float from the specified buffer. */\nexport function readF32(buffer: Uint8Array, offset: i32): f32 {\n return i32_as_f32(readI32(buffer, offset));\n}\n\n/** Writes a 32-bit float to the specified buffer. */\nexport function writeF32(value: f32, buffer: Uint8Array, offset: i32): void {\n writeI32(f32_as_i32(value), buffer, offset);\n}\n\n/** Reads a 64-bit float from the specified buffer. */\nexport function readF64(buffer: Uint8Array, offset: i32): f64 {\n return i64_as_f64(readI64(buffer, offset));\n}\n\n/** Writes a 64-bit float to the specified buffer. */\nexport function writeF64(value: f64, buffer: Uint8Array, offset: i32): void {\n let valueI64 = f64_as_i64(value);\n writeI32(i64_low(valueI64), buffer, offset);\n writeI32(i64_high(valueI64), buffer, offset + 4);\n}\n\n/** Reads a 128-bit vector from the specified buffer. */\nexport function readV128(buffer: Uint8Array, offset: i32): Uint8Array {\n return buffer.slice(offset, offset + 16);\n}\n\n/** Writes a 128-bit vector to the specified buffer. */\nexport function writeV128(value: Uint8Array, buffer: Uint8Array, offset: i32): void {\n assert(value.length == 16);\n buffer.set(value, offset);\n}\n", "/**\n * @fileoverview Various collections utility.\n * @license Apache-2.0\n */\n\n/** Clone map. Typically used to track contextual type arguments. */\nexport function cloneMap(map: Map | null): Map {\n if (!ASC_TARGET) { // JS\n // fast path for js target\n return new Map(map);\n } else {\n let out = new Map();\n if (map) {\n // TODO: for (let [k, v] of map) {\n for (let _keys = Map_keys(map), i = 0, k = _keys.length; i < k; ++i) {\n let k = unchecked(_keys[i]);\n let v = assert(map.get(k));\n out.set(k, v);\n }\n }\n return out;\n }\n}\n\n/** Merge two maps in into new one. */\nexport function mergeMaps(map1: Map, map2: Map): Map {\n if (!ASC_TARGET) { // JS\n let out = new Map(map1);\n map2.forEach((v, k) => out.set(k, v));\n return out;\n } else {\n let out = new Map();\n // TODO: for (let [k, v] of map1) {\n for (let _keys = Map_keys(map1), i = 0, k = _keys.length; i < k; ++i) {\n let k = unchecked(_keys[i]);\n let v = assert(map1.get(k));\n out.set(k, v);\n }\n // TODO: for (let [k, v] of map2) {\n for (let _keys = Map_keys(map2), i = 0, k = _keys.length; i < k; ++i) {\n let k = unchecked(_keys[i]);\n let v = assert(map2.get(k));\n out.set(k, v);\n }\n return out;\n }\n}\n\n/** BitSet represent growable sequence of N bits. It's faster alternative of Set when elements\n * are not too much sparsed. Also it's more memory and cache efficient than Array.\n * The best way to use it for short bit sequences (less than 32*(2**16)).\n */\nexport class BitSet {\n words!: Uint32Array;\n\n constructor() {\n this.clear();\n }\n\n get size(): i32 {\n let count = 0;\n let words = this.words;\n for (let i = 0, len = words.length; i < len; i++) {\n let word = unchecked(words[i]);\n if (word) count += popcnt(word);\n }\n return count;\n }\n\n add(index: i32): this {\n let idx = index >>> 5;\n let words = this.words;\n if (idx >= words.length) { // resize\n this.words = new Uint32Array(idx + 16);\n this.words.set(words);\n words = this.words;\n }\n unchecked(words[idx] |= 1 << index);\n return this;\n }\n\n delete(index: i32): void {\n let idx = index >>> 5;\n let words = this.words;\n if (idx >= words.length) return;\n unchecked(words[idx] &= ~(1 << index));\n }\n\n has(index: i32): bool {\n let idx = index >>> 5;\n let words = this.words;\n if (idx >= words.length) return false;\n return (unchecked(words[index >>> 5]) & (1 << index)) !== 0;\n }\n\n clear(): void {\n this.words = new Uint32Array(16);\n }\n\n toArray(): i32[] {\n let res = new Array(this.size);\n for (let i = 0, p = 0, len = this.words.length; i < len; ++i) {\n let word = unchecked(this.words[i]);\n while (word) {\n let mask = word & -word;\n unchecked(res[p++] = (i << 5) + popcnt(mask - 1));\n word ^= mask;\n }\n }\n return res;\n }\n\n toString(): string {\n return `BitSet { ${this.toArray()} }`;\n }\n}\n", "/**\n * @fileoverview Various math utility.\n * @license Apache-2.0\n */\n\n/** Tests if `x` is a power of two. */\nexport function isPowerOf2(x: i32): bool {\n return x != 0 && (x & (x - 1)) == 0;\n}\n\nexport function accuratePow64(x: f64, y: f64): f64 {\n if (!ASC_TARGET) { // ASC_TARGET == JS\n // Engines like V8, WebKit and SpiderMonkey uses powi fast path if exponent is integer\n // This speculative optimization leads to loose precisions like 10 ** 208 != 1e208\n // or/and 10 ** -5 != 1e-5 anymore. For avoid this behaviour we are forcing exponent\n // to fractional form and compensate this afterwards.\n if (isFinite(y) && Math.abs(y) >= 2 && Math.trunc(y) == y) {\n if (y < 0) {\n return Math.pow(x, y + 0.5) / Math.pow(x, 0.5);\n } else {\n return Math.pow(x, y - 0.5) * Math.pow(x, 0.5);\n }\n }\n }\n return Math.pow(x, y);\n}\n", "/**\n * @fileoverview Various character and text utility.\n * @license Apache-2.0\n */\n\n/** An enum of named character codes. */\nexport const enum CharCode {\n\n Null = 0,\n LineFeed = 0x0A,\n CarriageReturn = 0x0D,\n LineSeparator = 0x2028,\n ParagraphSeparator = 0x2029,\n NextLine = 0x0085,\n\n Space = 0x20,\n NonBreakingSpace = 0xA0,\n EnQuad = 0x2000,\n EmQuad = 0x2001,\n EnSpace = 0x2002,\n EmSpace = 0x2003,\n ThreePerEmSpace = 0x2004,\n FourPerEmSpace = 0x2005,\n SixPerEmSpace = 0x2006,\n FigureSpace = 0x2007,\n PunctuationSpace = 0x2008,\n ThinSpace = 0x2009,\n HairSpace = 0x200A,\n ZeroWidthSpace = 0x200B,\n NarrowNoBreakSpace = 0x202F,\n IdeographicSpace = 0x3000,\n MathematicalSpace = 0x205F,\n Ogham = 0x1680,\n\n _ = 0x5F,\n\n _0 = 0x30,\n _1 = 0x31,\n _2 = 0x32,\n _3 = 0x33,\n _4 = 0x34,\n _5 = 0x35,\n _6 = 0x36,\n _7 = 0x37,\n _8 = 0x38,\n _9 = 0x39,\n\n a = 0x61,\n b = 0x62,\n c = 0x63,\n d = 0x64,\n e = 0x65,\n f = 0x66,\n g = 0x67,\n h = 0x68,\n i = 0x69,\n j = 0x6A,\n k = 0x6B,\n l = 0x6C,\n m = 0x6D,\n n = 0x6E,\n o = 0x6F,\n p = 0x70,\n q = 0x71,\n r = 0x72,\n s = 0x73,\n t = 0x74,\n u = 0x75,\n v = 0x76,\n w = 0x77,\n x = 0x78,\n y = 0x79,\n z = 0x7A,\n\n A = 0x41,\n B = 0x42,\n C = 0x43,\n D = 0x44,\n E = 0x45,\n F = 0x46,\n G = 0x47,\n H = 0x48,\n I = 0x49,\n J = 0x4A,\n K = 0x4B,\n L = 0x4C,\n M = 0x4D,\n N = 0x4E,\n O = 0x4F,\n P = 0x50,\n Q = 0x51,\n R = 0x52,\n S = 0x53,\n T = 0x54,\n U = 0x55,\n V = 0x56,\n W = 0x57,\n X = 0x58,\n Y = 0x59,\n Z = 0x5a,\n\n Ampersand = 0x26,\n Asterisk = 0x2A,\n At = 0x40,\n Backslash = 0x5C,\n Backtick = 0x60,\n Bar = 0x7C,\n Caret = 0x5E,\n CloseBrace = 0x7D,\n CloseBracket = 0x5D,\n CloseParen = 0x29,\n Colon = 0x3A,\n Comma = 0x2C,\n Dollar = 0x24,\n Dot = 0x2E,\n DoubleQuote = 0x22,\n Equals = 0x3D,\n Exclamation = 0x21,\n GreaterThan = 0x3E,\n Hash = 0x23,\n LessThan = 0x3C,\n Minus = 0x2D,\n OpenBrace = 0x7B,\n OpenBracket = 0x5B,\n OpenParen = 0x28,\n Percent = 0x25,\n Plus = 0x2B,\n Question = 0x3F,\n Semicolon = 0x3B,\n SingleQuote = 0x27,\n Slash = 0x2F,\n Tilde = 0x7E,\n\n Backspace = 0x08,\n FormFeed = 0x0C,\n ByteOrderMark = 0xFEFF,\n Tab = 0x09,\n VerticalTab = 0x0B\n}\n\n/** Tests if the specified character code is some sort of line break. */\nexport function isLineBreak(c: i32): bool {\n switch (c) {\n case CharCode.LineFeed:\n case CharCode.CarriageReturn:\n case CharCode.LineSeparator:\n case CharCode.ParagraphSeparator: {\n return true;\n }\n default: {\n return false;\n }\n }\n}\n\n/** Tests if the specified character code is some sort of white space. */\nexport function isWhiteSpace(c: i32): bool {\n // NOTE: Calling code assumes that there are no supplementary whitespaces.\n // If Unicode ever adds one, uses of this function must be updated to\n // conditionally advance by two code units, i.e. using `numCodeUnits`.\n switch (c) {\n case CharCode.Space:\n case CharCode.Tab:\n case CharCode.VerticalTab:\n case CharCode.FormFeed:\n case CharCode.NonBreakingSpace:\n case CharCode.NextLine:\n case CharCode.Ogham:\n case CharCode.NarrowNoBreakSpace:\n case CharCode.MathematicalSpace:\n case CharCode.IdeographicSpace:\n case CharCode.ByteOrderMark: {\n return true;\n }\n default: {\n return c >= CharCode.EnQuad && c <= CharCode.ZeroWidthSpace;\n }\n }\n}\n\n/** First high (lead) surrogate. */\nexport const SURROGATE_HIGH = 0xD800;\n\n/** First low (trail) surrogate. */\nexport const SURROGATE_LOW = 0xDC00;\n\n/** Tests if a code unit or code point is a surrogate. */\nexport function isSurrogate(c: i32): bool {\n // F800: 11111 0 0000000000 Mask\n // D800: 11011 X XXXXXXXXXX Any surrogate\n return (c & 0xF800) == SURROGATE_HIGH;\n}\n\n/** Tests if a surrogate is a high (lead) surrogate. */\nexport function isSurrogateHigh(c: i32): bool {\n // D800-DBFF\n return c < SURROGATE_LOW;\n}\n\n/** Tests if a surrogate is a low (trail) surrogate. */\nexport function isSurrogateLow(c: i32): bool {\n // DC00-DFFF\n return c >= SURROGATE_LOW;\n}\n\n/** Tests if a code unit or code point is a high (lead) surrogate. */\nexport function isHighSurrogate(c: i32): bool {\n // FC00: 11111 1 0000000000 Mask\n // D800: 11011 0 XXXXXXXXXX High/Lead surrogate\n return (c & 0xFC00) == SURROGATE_HIGH;\n}\n\n/** Tests if a code unit or code point is a low (trail) surrogate. */\nexport function isLowSurrogate(c: i32): bool {\n // FC00: 11111 1 0000000000 Mask\n // DC00: 11011 1 XXXXXXXXXX Low/Trail surrogate\n return (c & 0xFC00) == SURROGATE_LOW;\n}\n\n/** Converts a surrogate pair to its respective code point. */\nexport function combineSurrogates(hi: i32, lo: i32): i32 {\n return 0x10000 + ((hi & 0x3FF) << 10) | (lo & 0x3FF);\n}\n\n/** Gets the number of UTF-16 code units of the specified code point. */\nexport function numCodeUnits(cp: i32): i32 {\n return 1 + i32(cp > 0xffff);\n}\n\nexport function isAlpha(c: i32): bool {\n let c0 = c | 32; // unify uppercases and lowercases a|A - z|Z\n return c0 >= CharCode.a && c0 <= CharCode.z;\n}\n\n/** Tests if the specified character code is a valid decimal digit. */\nexport function isDecimal(c: i32): bool {\n return c >= CharCode._0 && c <= CharCode._9;\n}\n\n/** Tests if the specified character code is a valid octal digit. */\nexport function isOctal(c: i32): bool {\n return c >= CharCode._0 && c <= CharCode._7;\n}\n\n/** Tests if the specified character code is a valid hexadecimal symbol [a-f]. */\nexport function isHexBase(c: i32): bool {\n let c0 = c | 32; // unify uppercases and lowercases a|A - f|F\n return c0 >= CharCode.a && c0 <= CharCode.f;\n}\n\n/** Tests if the specified character code is a valid hexadecimal digit. */\nexport function isHexOrDecimal(c: i32): bool {\n return isDecimal(c) || isHexBase(c);\n}\n\n/** Tests if the specified character code is trivially alphanumeric. */\nexport function isAlphaOrDecimal(c: i32): bool {\n return isAlpha(c) || isDecimal(c);\n}\n\n/** Tests if the specified code point is a valid start of an identifier. */\nexport function isIdentifierStart(cp: i32): bool {\n return isAlpha(cp)\n || cp == CharCode._\n || cp == CharCode.Dollar\n || cp >= unicodeIdentifierStartMin && cp <= unicodeIdentifierStartMax\n && lookupInUnicodeMap(cp, unicodeIdentifierStart);\n}\n\n/** Tests if the specified code point is a valid part of an identifier. */\nexport function isIdentifierPart(cp: i32): bool {\n return isAlphaOrDecimal(cp)\n || cp == CharCode._\n || cp == CharCode.Dollar\n || cp >= unicodeIdentifierPartMin && cp <= unicodeIdentifierPartMax\n && lookupInUnicodeMap(cp, unicodeIdentifierPart);\n}\n\n/** Tests if the specified string is a valid identifer. */\nexport function isIdentifier(str: string): bool {\n let len = str.length;\n if (!len) return false;\n let cp = str.codePointAt(0);\n if (!isIdentifierStart(cp)) return false;\n let i = numCodeUnits(cp);\n while (i < len) {\n cp = str.codePointAt(i);\n if (!isIdentifierPart(cp)) return false;\n i += numCodeUnits(cp);\n }\n return true;\n}\n\n/** Unicode 14.0 ID_Start/Other_ID_Start ranges */\nconst unicodeIdentifierStart: i32[] = [/*\n| from ... to | from ... to | from ... to | from ... to |*/\n 170 , 170 , 181 , 181 , 186 , 186 , 192 , 214 ,\n 216 , 246 , 248 , 705 , 710 , 721 , 736 , 740 ,\n 748 , 748 , 750 , 750 , 880 , 884 , 886 , 887 ,\n 890 , 893 , 895 , 895 , 902 , 902 , 904 , 906 ,\n 908 , 908 , 910 , 929 , 931 , 1013 , 1015 , 1153 ,\n 1162 , 1327 , 1329 , 1366 , 1369 , 1369 , 1376 , 1416 ,\n 1488 , 1514 , 1519 , 1522 , 1568 , 1610 , 1646 , 1647 ,\n 1649 , 1747 , 1749 , 1749 , 1765 , 1766 , 1774 , 1775 ,\n 1786 , 1788 , 1791 , 1791 , 1808 , 1808 , 1810 , 1839 ,\n 1869 , 1957 , 1969 , 1969 , 1994 , 2026 , 2036 , 2037 ,\n 2042 , 2042 , 2048 , 2069 , 2074 , 2074 , 2084 , 2084 ,\n 2088 , 2088 , 2112 , 2136 , 2144 , 2154 , 2160 , 2183 ,\n 2185 , 2190 , 2208 , 2249 , 2308 , 2361 , 2365 , 2365 ,\n 2384 , 2384 , 2392 , 2401 , 2417 , 2432 , 2437 , 2444 ,\n 2447 , 2448 , 2451 , 2472 , 2474 , 2480 , 2482 , 2482 ,\n 2486 , 2489 , 2493 , 2493 , 2510 , 2510 , 2524 , 2525 ,\n 2527 , 2529 , 2544 , 2545 , 2556 , 2556 , 2565 , 2570 ,\n 2575 , 2576 , 2579 , 2600 , 2602 , 2608 , 2610 , 2611 ,\n 2613 , 2614 , 2616 , 2617 , 2649 , 2652 , 2654 , 2654 ,\n 2674 , 2676 , 2693 , 2701 , 2703 , 2705 , 2707 , 2728 ,\n 2730 , 2736 , 2738 , 2739 , 2741 , 2745 , 2749 , 2749 ,\n 2768 , 2768 , 2784 , 2785 , 2809 , 2809 , 2821 , 2828 ,\n 2831 , 2832 , 2835 , 2856 , 2858 , 2864 , 2866 , 2867 ,\n 2869 , 2873 , 2877 , 2877 , 2908 , 2909 , 2911 , 2913 ,\n 2929 , 2929 , 2947 , 2947 , 2949 , 2954 , 2958 , 2960 ,\n 2962 , 2965 , 2969 , 2970 , 2972 , 2972 , 2974 , 2975 ,\n 2979 , 2980 , 2984 , 2986 , 2990 , 3001 , 3024 , 3024 ,\n 3077 , 3084 , 3086 , 3088 , 3090 , 3112 , 3114 , 3129 ,\n 3133 , 3133 , 3160 , 3162 , 3165 , 3165 , 3168 , 3169 ,\n 3200 , 3200 , 3205 , 3212 , 3214 , 3216 , 3218 , 3240 ,\n 3242 , 3251 , 3253 , 3257 , 3261 , 3261 , 3293 , 3294 ,\n 3296 , 3297 , 3313 , 3314 , 3332 , 3340 , 3342 , 3344 ,\n 3346 , 3386 , 3389 , 3389 , 3406 , 3406 , 3412 , 3414 ,\n 3423 , 3425 , 3450 , 3455 , 3461 , 3478 , 3482 , 3505 ,\n 3507 , 3515 , 3517 , 3517 , 3520 , 3526 , 3585 , 3632 ,\n 3634 , 3635 , 3648 , 3654 , 3713 , 3714 , 3716 , 3716 ,\n 3718 , 3722 , 3724 , 3747 , 3749 , 3749 , 3751 , 3760 ,\n 3762 , 3763 , 3773 , 3773 , 3776 , 3780 , 3782 , 3782 ,\n 3804 , 3807 , 3840 , 3840 , 3904 , 3911 , 3913 , 3948 ,\n 3976 , 3980 , 4096 , 4138 , 4159 , 4159 , 4176 , 4181 ,\n 4186 , 4189 , 4193 , 4193 , 4197 , 4198 , 4206 , 4208 ,\n 4213 , 4225 , 4238 , 4238 , 4256 , 4293 , 4295 , 4295 ,\n 4301 , 4301 , 4304 , 4346 , 4348 , 4680 , 4682 , 4685 ,\n 4688 , 4694 , 4696 , 4696 , 4698 , 4701 , 4704 , 4744 ,\n 4746 , 4749 , 4752 , 4784 , 4786 , 4789 , 4792 , 4798 ,\n 4800 , 4800 , 4802 , 4805 , 4808 , 4822 , 4824 , 4880 ,\n 4882 , 4885 , 4888 , 4954 , 4992 , 5007 , 5024 , 5109 ,\n 5112 , 5117 , 5121 , 5740 , 5743 , 5759 , 5761 , 5786 ,\n 5792 , 5866 , 5870 , 5880 , 5888 , 5905 , 5919 , 5937 ,\n 5952 , 5969 , 5984 , 5996 , 5998 , 6000 , 6016 , 6067 ,\n 6103 , 6103 , 6108 , 6108 , 6176 , 6264 , 6272 , 6312 ,\n 6314 , 6314 , 6320 , 6389 , 6400 , 6430 , 6480 , 6509 ,\n 6512 , 6516 , 6528 , 6571 , 6576 , 6601 , 6656 , 6678 ,\n 6688 , 6740 , 6823 , 6823 , 6917 , 6963 , 6981 , 6988 ,\n 7043 , 7072 , 7086 , 7087 , 7098 , 7141 , 7168 , 7203 ,\n 7245 , 7247 , 7258 , 7293 , 7296 , 7304 , 7312 , 7354 ,\n 7357 , 7359 , 7401 , 7404 , 7406 , 7411 , 7413 , 7414 ,\n 7418 , 7418 , 7424 , 7615 , 7680 , 7957 , 7960 , 7965 ,\n 7968 , 8005 , 8008 , 8013 , 8016 , 8023 , 8025 , 8025 ,\n 8027 , 8027 , 8029 , 8029 , 8031 , 8061 , 8064 , 8116 ,\n 8118 , 8124 , 8126 , 8126 , 8130 , 8132 , 8134 , 8140 ,\n 8144 , 8147 , 8150 , 8155 , 8160 , 8172 , 8178 , 8180 ,\n 8182 , 8188 , 8305 , 8305 , 8319 , 8319 , 8336 , 8348 ,\n 8450 , 8450 , 8455 , 8455 , 8458 , 8467 , 8469 , 8469 ,\n 8472 , 8477 , 8484 , 8484 , 8486 , 8486 , 8488 , 8488 ,\n 8490 , 8505 , 8508 , 8511 , 8517 , 8521 , 8526 , 8526 ,\n 8544 , 8584 , 11264 , 11492 , 11499 , 11502 , 11506 , 11507 ,\n 11520 , 11557 , 11559 , 11559 , 11565 , 11565 , 11568 , 11623 ,\n 11631 , 11631 , 11648 , 11670 , 11680 , 11686 , 11688 , 11694 ,\n 11696 , 11702 , 11704 , 11710 , 11712 , 11718 , 11720 , 11726 ,\n 11728 , 11734 , 11736 , 11742 , 12293 , 12295 , 12321 , 12329 ,\n 12337 , 12341 , 12344 , 12348 , 12353 , 12438 , 12443 , 12447 ,\n 12449 , 12538 , 12540 , 12543 , 12549 , 12591 , 12593 , 12686 ,\n 12704 , 12735 , 12784 , 12799 , 13312 , 19903 , 19968 , 42124 ,\n 42192 , 42237 , 42240 , 42508 , 42512 , 42527 , 42538 , 42539 ,\n 42560 , 42606 , 42623 , 42653 , 42656 , 42735 , 42775 , 42783 ,\n 42786 , 42888 , 42891 , 42954 , 42960 , 42961 , 42963 , 42963 ,\n 42965 , 42969 , 42994 , 43009 , 43011 , 43013 , 43015 , 43018 ,\n 43020 , 43042 , 43072 , 43123 , 43138 , 43187 , 43250 , 43255 ,\n 43259 , 43259 , 43261 , 43262 , 43274 , 43301 , 43312 , 43334 ,\n 43360 , 43388 , 43396 , 43442 , 43471 , 43471 , 43488 , 43492 ,\n 43494 , 43503 , 43514 , 43518 , 43520 , 43560 , 43584 , 43586 ,\n 43588 , 43595 , 43616 , 43638 , 43642 , 43642 , 43646 , 43695 ,\n 43697 , 43697 , 43701 , 43702 , 43705 , 43709 , 43712 , 43712 ,\n 43714 , 43714 , 43739 , 43741 , 43744 , 43754 , 43762 , 43764 ,\n 43777 , 43782 , 43785 , 43790 , 43793 , 43798 , 43808 , 43814 ,\n 43816 , 43822 , 43824 , 43866 , 43868 , 43881 , 43888 , 44002 ,\n 44032 , 55203 , 55216 , 55238 , 55243 , 55291 , 63744 , 64109 ,\n 64112 , 64217 , 64256 , 64262 , 64275 , 64279 , 64285 , 64285 ,\n 64287 , 64296 , 64298 , 64310 , 64312 , 64316 , 64318 , 64318 ,\n 64320 , 64321 , 64323 , 64324 , 64326 , 64433 , 64467 , 64829 ,\n 64848 , 64911 , 64914 , 64967 , 65008 , 65019 , 65136 , 65140 ,\n 65142 , 65276 , 65313 , 65338 , 65345 , 65370 , 65382 , 65470 ,\n 65474 , 65479 , 65482 , 65487 , 65490 , 65495 , 65498 , 65500 ,\n 65536 , 65547 , 65549 , 65574 , 65576 , 65594 , 65596 , 65597 ,\n 65599 , 65613 , 65616 , 65629 , 65664 , 65786 , 65856 , 65908 ,\n 66176 , 66204 , 66208 , 66256 , 66304 , 66335 , 66349 , 66378 ,\n 66384 , 66421 , 66432 , 66461 , 66464 , 66499 , 66504 , 66511 ,\n 66513 , 66517 , 66560 , 66717 , 66736 , 66771 , 66776 , 66811 ,\n 66816 , 66855 , 66864 , 66915 , 66928 , 66938 , 66940 , 66954 ,\n 66956 , 66962 , 66964 , 66965 , 66967 , 66977 , 66979 , 66993 ,\n 66995 , 67001 , 67003 , 67004 , 67072 , 67382 , 67392 , 67413 ,\n 67424 , 67431 , 67456 , 67461 , 67463 , 67504 , 67506 , 67514 ,\n 67584 , 67589 , 67592 , 67592 , 67594 , 67637 , 67639 , 67640 ,\n 67644 , 67644 , 67647 , 67669 , 67680 , 67702 , 67712 , 67742 ,\n 67808 , 67826 , 67828 , 67829 , 67840 , 67861 , 67872 , 67897 ,\n 67968 , 68023 , 68030 , 68031 , 68096 , 68096 , 68112 , 68115 ,\n 68117 , 68119 , 68121 , 68149 , 68192 , 68220 , 68224 , 68252 ,\n 68288 , 68295 , 68297 , 68324 , 68352 , 68405 , 68416 , 68437 ,\n 68448 , 68466 , 68480 , 68497 , 68608 , 68680 , 68736 , 68786 ,\n 68800 , 68850 , 68864 , 68899 , 69248 , 69289 , 69296 , 69297 ,\n 69376 , 69404 , 69415 , 69415 , 69424 , 69445 , 69488 , 69505 ,\n 69552 , 69572 , 69600 , 69622 , 69635 , 69687 , 69745 , 69746 ,\n 69749 , 69749 , 69763 , 69807 , 69840 , 69864 , 69891 , 69926 ,\n 69956 , 69956 , 69959 , 69959 , 69968 , 70002 , 70006 , 70006 ,\n 70019 , 70066 , 70081 , 70084 , 70106 , 70106 , 70108 , 70108 ,\n 70144 , 70161 , 70163 , 70187 , 70272 , 70278 , 70280 , 70280 ,\n 70282 , 70285 , 70287 , 70301 , 70303 , 70312 , 70320 , 70366 ,\n 70405 , 70412 , 70415 , 70416 , 70419 , 70440 , 70442 , 70448 ,\n 70450 , 70451 , 70453 , 70457 , 70461 , 70461 , 70480 , 70480 ,\n 70493 , 70497 , 70656 , 70708 , 70727 , 70730 , 70751 , 70753 ,\n 70784 , 70831 , 70852 , 70853 , 70855 , 70855 , 71040 , 71086 ,\n 71128 , 71131 , 71168 , 71215 , 71236 , 71236 , 71296 , 71338 ,\n 71352 , 71352 , 71424 , 71450 , 71488 , 71494 , 71680 , 71723 ,\n 71840 , 71903 , 71935 , 71942 , 71945 , 71945 , 71948 , 71955 ,\n 71957 , 71958 , 71960 , 71983 , 71999 , 71999 , 72001 , 72001 ,\n 72096 , 72103 , 72106 , 72144 , 72161 , 72161 , 72163 , 72163 ,\n 72192 , 72192 , 72203 , 72242 , 72250 , 72250 , 72272 , 72272 ,\n 72284 , 72329 , 72349 , 72349 , 72368 , 72440 , 72704 , 72712 ,\n 72714 , 72750 , 72768 , 72768 , 72818 , 72847 , 72960 , 72966 ,\n 72968 , 72969 , 72971 , 73008 , 73030 , 73030 , 73056 , 73061 ,\n 73063 , 73064 , 73066 , 73097 , 73112 , 73112 , 73440 , 73458 ,\n 73648 , 73648 , 73728 , 74649 , 74752 , 74862 , 74880 , 75075 ,\n 77712 , 77808 , 77824 , 78894 , 82944 , 83526 , 92160 , 92728 ,\n 92736 , 92766 , 92784 , 92862 , 92880 , 92909 , 92928 , 92975 ,\n 92992 , 92995 , 93027 , 93047 , 93053 , 93071 , 93760 , 93823 ,\n 93952 , 94026 , 94032 , 94032 , 94099 , 94111 , 94176 , 94177 ,\n 94179 , 94179 , 94208 , 100343, 100352, 101589, 101632, 101640,\n 110576, 110579, 110581, 110587, 110589, 110590, 110592, 110882,\n 110928, 110930, 110948, 110951, 110960, 111355, 113664, 113770,\n 113776, 113788, 113792, 113800, 113808, 113817, 119808, 119892,\n 119894, 119964, 119966, 119967, 119970, 119970, 119973, 119974,\n 119977, 119980, 119982, 119993, 119995, 119995, 119997, 120003,\n 120005, 120069, 120071, 120074, 120077, 120084, 120086, 120092,\n 120094, 120121, 120123, 120126, 120128, 120132, 120134, 120134,\n 120138, 120144, 120146, 120485, 120488, 120512, 120514, 120538,\n 120540, 120570, 120572, 120596, 120598, 120628, 120630, 120654,\n 120656, 120686, 120688, 120712, 120714, 120744, 120746, 120770,\n 120772, 120779, 122624, 122654, 123136, 123180, 123191, 123197,\n 123214, 123214, 123536, 123565, 123584, 123627, 124896, 124902,\n 124904, 124907, 124909, 124910, 124912, 124926, 124928, 125124,\n 125184, 125251, 125259, 125259, 126464, 126467, 126469, 126495,\n 126497, 126498, 126500, 126500, 126503, 126503, 126505, 126514,\n 126516, 126519, 126521, 126521, 126523, 126523, 126530, 126530,\n 126535, 126535, 126537, 126537, 126539, 126539, 126541, 126543,\n 126545, 126546, 126548, 126548, 126551, 126551, 126553, 126553,\n 126555, 126555, 126557, 126557, 126559, 126559, 126561, 126562,\n 126564, 126564, 126567, 126570, 126572, 126578, 126580, 126583,\n 126585, 126588, 126590, 126590, 126592, 126601, 126603, 126619,\n 126625, 126627, 126629, 126633, 126635, 126651, 131072, 173791,\n 173824, 177976, 177984, 178205, 178208, 183969, 183984, 191456,\n 194560, 195101, 196608, 201546,\n];\nconst unicodeIdentifierStartMin = 170;\nconst unicodeIdentifierStartMax = 201546;\n\n/** Unicode 14.0 ID_Continue/Other_ID_Continue + ID_Start/Other_ID_Start ranges*/\nconst unicodeIdentifierPart: i32[] = [/*\n| from ... to | from ... to | from ... to | from ... to |*/\n 170 , 170 , 181 , 181 , 183 , 183 , 186 , 186 ,\n 192 , 214 , 216 , 246 , 248 , 705 , 710 , 721 ,\n 736 , 740 , 748 , 748 , 750 , 750 , 768 , 884 ,\n 886 , 887 , 890 , 893 , 895 , 895 , 902 , 906 ,\n 908 , 908 , 910 , 929 , 931 , 1013 , 1015 , 1153 ,\n 1155 , 1159 , 1162 , 1327 , 1329 , 1366 , 1369 , 1369 ,\n 1376 , 1416 , 1425 , 1469 , 1471 , 1471 , 1473 , 1474 ,\n 1476 , 1477 , 1479 , 1479 , 1488 , 1514 , 1519 , 1522 ,\n 1552 , 1562 , 1568 , 1641 , 1646 , 1747 , 1749 , 1756 ,\n 1759 , 1768 , 1770 , 1788 , 1791 , 1791 , 1808 , 1866 ,\n 1869 , 1969 , 1984 , 2037 , 2042 , 2042 , 2045 , 2045 ,\n 2048 , 2093 , 2112 , 2139 , 2144 , 2154 , 2160 , 2183 ,\n 2185 , 2190 , 2200 , 2273 , 2275 , 2403 , 2406 , 2415 ,\n 2417 , 2435 , 2437 , 2444 , 2447 , 2448 , 2451 , 2472 ,\n 2474 , 2480 , 2482 , 2482 , 2486 , 2489 , 2492 , 2500 ,\n 2503 , 2504 , 2507 , 2510 , 2519 , 2519 , 2524 , 2525 ,\n 2527 , 2531 , 2534 , 2545 , 2556 , 2556 , 2558 , 2558 ,\n 2561 , 2563 , 2565 , 2570 , 2575 , 2576 , 2579 , 2600 ,\n 2602 , 2608 , 2610 , 2611 , 2613 , 2614 , 2616 , 2617 ,\n 2620 , 2620 , 2622 , 2626 , 2631 , 2632 , 2635 , 2637 ,\n 2641 , 2641 , 2649 , 2652 , 2654 , 2654 , 2662 , 2677 ,\n 2689 , 2691 , 2693 , 2701 , 2703 , 2705 , 2707 , 2728 ,\n 2730 , 2736 , 2738 , 2739 , 2741 , 2745 , 2748 , 2757 ,\n 2759 , 2761 , 2763 , 2765 , 2768 , 2768 , 2784 , 2787 ,\n 2790 , 2799 , 2809 , 2815 , 2817 , 2819 , 2821 , 2828 ,\n 2831 , 2832 , 2835 , 2856 , 2858 , 2864 , 2866 , 2867 ,\n 2869 , 2873 , 2876 , 2884 , 2887 , 2888 , 2891 , 2893 ,\n 2901 , 2903 , 2908 , 2909 , 2911 , 2915 , 2918 , 2927 ,\n 2929 , 2929 , 2946 , 2947 , 2949 , 2954 , 2958 , 2960 ,\n 2962 , 2965 , 2969 , 2970 , 2972 , 2972 , 2974 , 2975 ,\n 2979 , 2980 , 2984 , 2986 , 2990 , 3001 , 3006 , 3010 ,\n 3014 , 3016 , 3018 , 3021 , 3024 , 3024 , 3031 , 3031 ,\n 3046 , 3055 , 3072 , 3084 , 3086 , 3088 , 3090 , 3112 ,\n 3114 , 3129 , 3132 , 3140 , 3142 , 3144 , 3146 , 3149 ,\n 3157 , 3158 , 3160 , 3162 , 3165 , 3165 , 3168 , 3171 ,\n 3174 , 3183 , 3200 , 3203 , 3205 , 3212 , 3214 , 3216 ,\n 3218 , 3240 , 3242 , 3251 , 3253 , 3257 , 3260 , 3268 ,\n 3270 , 3272 , 3274 , 3277 , 3285 , 3286 , 3293 , 3294 ,\n 3296 , 3299 , 3302 , 3311 , 3313 , 3314 , 3328 , 3340 ,\n 3342 , 3344 , 3346 , 3396 , 3398 , 3400 , 3402 , 3406 ,\n 3412 , 3415 , 3423 , 3427 , 3430 , 3439 , 3450 , 3455 ,\n 3457 , 3459 , 3461 , 3478 , 3482 , 3505 , 3507 , 3515 ,\n 3517 , 3517 , 3520 , 3526 , 3530 , 3530 , 3535 , 3540 ,\n 3542 , 3542 , 3544 , 3551 , 3558 , 3567 , 3570 , 3571 ,\n 3585 , 3642 , 3648 , 3662 , 3664 , 3673 , 3713 , 3714 ,\n 3716 , 3716 , 3718 , 3722 , 3724 , 3747 , 3749 , 3749 ,\n 3751 , 3773 , 3776 , 3780 , 3782 , 3782 , 3784 , 3789 ,\n 3792 , 3801 , 3804 , 3807 , 3840 , 3840 , 3864 , 3865 ,\n 3872 , 3881 , 3893 , 3893 , 3895 , 3895 , 3897 , 3897 ,\n 3902 , 3911 , 3913 , 3948 , 3953 , 3972 , 3974 , 3991 ,\n 3993 , 4028 , 4038 , 4038 , 4096 , 4169 , 4176 , 4253 ,\n 4256 , 4293 , 4295 , 4295 , 4301 , 4301 , 4304 , 4346 ,\n 4348 , 4680 , 4682 , 4685 , 4688 , 4694 , 4696 , 4696 ,\n 4698 , 4701 , 4704 , 4744 , 4746 , 4749 , 4752 , 4784 ,\n 4786 , 4789 , 4792 , 4798 , 4800 , 4800 , 4802 , 4805 ,\n 4808 , 4822 , 4824 , 4880 , 4882 , 4885 , 4888 , 4954 ,\n 4957 , 4959 , 4969 , 4977 , 4992 , 5007 , 5024 , 5109 ,\n 5112 , 5117 , 5121 , 5740 , 5743 , 5759 , 5761 , 5786 ,\n 5792 , 5866 , 5870 , 5880 , 5888 , 5909 , 5919 , 5940 ,\n 5952 , 5971 , 5984 , 5996 , 5998 , 6000 , 6002 , 6003 ,\n 6016 , 6099 , 6103 , 6103 , 6108 , 6109 , 6112 , 6121 ,\n 6155 , 6157 , 6159 , 6169 , 6176 , 6264 , 6272 , 6314 ,\n 6320 , 6389 , 6400 , 6430 , 6432 , 6443 , 6448 , 6459 ,\n 6470 , 6509 , 6512 , 6516 , 6528 , 6571 , 6576 , 6601 ,\n 6608 , 6618 , 6656 , 6683 , 6688 , 6750 , 6752 , 6780 ,\n 6783 , 6793 , 6800 , 6809 , 6823 , 6823 , 6832 , 6845 ,\n 6847 , 6862 , 6912 , 6988 , 6992 , 7001 , 7019 , 7027 ,\n 7040 , 7155 , 7168 , 7223 , 7232 , 7241 , 7245 , 7293 ,\n 7296 , 7304 , 7312 , 7354 , 7357 , 7359 , 7376 , 7378 ,\n 7380 , 7418 , 7424 , 7957 , 7960 , 7965 , 7968 , 8005 ,\n 8008 , 8013 , 8016 , 8023 , 8025 , 8025 , 8027 , 8027 ,\n 8029 , 8029 , 8031 , 8061 , 8064 , 8116 , 8118 , 8124 ,\n 8126 , 8126 , 8130 , 8132 , 8134 , 8140 , 8144 , 8147 ,\n 8150 , 8155 , 8160 , 8172 , 8178 , 8180 , 8182 , 8188 ,\n 8255 , 8256 , 8276 , 8276 , 8305 , 8305 , 8319 , 8319 ,\n 8336 , 8348 , 8400 , 8412 , 8417 , 8417 , 8421 , 8432 ,\n 8450 , 8450 , 8455 , 8455 , 8458 , 8467 , 8469 , 8469 ,\n 8472 , 8477 , 8484 , 8484 , 8486 , 8486 , 8488 , 8488 ,\n 8490 , 8505 , 8508 , 8511 , 8517 , 8521 , 8526 , 8526 ,\n 8544 , 8584 , 11264 , 11492 , 11499 , 11507 , 11520 , 11557 ,\n 11559 , 11559 , 11565 , 11565 , 11568 , 11623 , 11631 , 11631 ,\n 11647 , 11670 , 11680 , 11686 , 11688 , 11694 , 11696 , 11702 ,\n 11704 , 11710 , 11712 , 11718 , 11720 , 11726 , 11728 , 11734 ,\n 11736 , 11742 , 11744 , 11775 , 12293 , 12295 , 12321 , 12335 ,\n 12337 , 12341 , 12344 , 12348 , 12353 , 12438 , 12441 , 12447 ,\n 12449 , 12538 , 12540 , 12543 , 12549 , 12591 , 12593 , 12686 ,\n 12704 , 12735 , 12784 , 12799 , 13312 , 19903 , 19968 , 42124 ,\n 42192 , 42237 , 42240 , 42508 , 42512 , 42539 , 42560 , 42607 ,\n 42612 , 42621 , 42623 , 42737 , 42775 , 42783 , 42786 , 42888 ,\n 42891 , 42954 , 42960 , 42961 , 42963 , 42963 , 42965 , 42969 ,\n 42994 , 43047 , 43052 , 43052 , 43072 , 43123 , 43136 , 43205 ,\n 43216 , 43225 , 43232 , 43255 , 43259 , 43259 , 43261 , 43309 ,\n 43312 , 43347 , 43360 , 43388 , 43392 , 43456 , 43471 , 43481 ,\n 43488 , 43518 , 43520 , 43574 , 43584 , 43597 , 43600 , 43609 ,\n 43616 , 43638 , 43642 , 43714 , 43739 , 43741 , 43744 , 43759 ,\n 43762 , 43766 , 43777 , 43782 , 43785 , 43790 , 43793 , 43798 ,\n 43808 , 43814 , 43816 , 43822 , 43824 , 43866 , 43868 , 43881 ,\n 43888 , 44010 , 44012 , 44013 , 44016 , 44025 , 44032 , 55203 ,\n 55216 , 55238 , 55243 , 55291 , 63744 , 64109 , 64112 , 64217 ,\n 64256 , 64262 , 64275 , 64279 , 64285 , 64296 , 64298 , 64310 ,\n 64312 , 64316 , 64318 , 64318 , 64320 , 64321 , 64323 , 64324 ,\n 64326 , 64433 , 64467 , 64829 , 64848 , 64911 , 64914 , 64967 ,\n 65008 , 65019 , 65024 , 65039 , 65056 , 65071 , 65075 , 65076 ,\n 65101 , 65103 , 65136 , 65140 , 65142 , 65276 , 65296 , 65305 ,\n 65313 , 65338 , 65343 , 65343 , 65345 , 65370 , 65382 , 65470 ,\n 65474 , 65479 , 65482 , 65487 , 65490 , 65495 , 65498 , 65500 ,\n 65536 , 65547 , 65549 , 65574 , 65576 , 65594 , 65596 , 65597 ,\n 65599 , 65613 , 65616 , 65629 , 65664 , 65786 , 65856 , 65908 ,\n 66045 , 66045 , 66176 , 66204 , 66208 , 66256 , 66272 , 66272 ,\n 66304 , 66335 , 66349 , 66378 , 66384 , 66426 , 66432 , 66461 ,\n 66464 , 66499 , 66504 , 66511 , 66513 , 66517 , 66560 , 66717 ,\n 66720 , 66729 , 66736 , 66771 , 66776 , 66811 , 66816 , 66855 ,\n 66864 , 66915 , 66928 , 66938 , 66940 , 66954 , 66956 , 66962 ,\n 66964 , 66965 , 66967 , 66977 , 66979 , 66993 , 66995 , 67001 ,\n 67003 , 67004 , 67072 , 67382 , 67392 , 67413 , 67424 , 67431 ,\n 67456 , 67461 , 67463 , 67504 , 67506 , 67514 , 67584 , 67589 ,\n 67592 , 67592 , 67594 , 67637 , 67639 , 67640 , 67644 , 67644 ,\n 67647 , 67669 , 67680 , 67702 , 67712 , 67742 , 67808 , 67826 ,\n 67828 , 67829 , 67840 , 67861 , 67872 , 67897 , 67968 , 68023 ,\n 68030 , 68031 , 68096 , 68099 , 68101 , 68102 , 68108 , 68115 ,\n 68117 , 68119 , 68121 , 68149 , 68152 , 68154 , 68159 , 68159 ,\n 68192 , 68220 , 68224 , 68252 , 68288 , 68295 , 68297 , 68326 ,\n 68352 , 68405 , 68416 , 68437 , 68448 , 68466 , 68480 , 68497 ,\n 68608 , 68680 , 68736 , 68786 , 68800 , 68850 , 68864 , 68903 ,\n 68912 , 68921 , 69248 , 69289 , 69291 , 69292 , 69296 , 69297 ,\n 69376 , 69404 , 69415 , 69415 , 69424 , 69456 , 69488 , 69509 ,\n 69552 , 69572 , 69600 , 69622 , 69632 , 69702 , 69734 , 69749 ,\n 69759 , 69818 , 69826 , 69826 , 69840 , 69864 , 69872 , 69881 ,\n 69888 , 69940 , 69942 , 69951 , 69956 , 69959 , 69968 , 70003 ,\n 70006 , 70006 , 70016 , 70084 , 70089 , 70092 , 70094 , 70106 ,\n 70108 , 70108 , 70144 , 70161 , 70163 , 70199 , 70206 , 70206 ,\n 70272 , 70278 , 70280 , 70280 , 70282 , 70285 , 70287 , 70301 ,\n 70303 , 70312 , 70320 , 70378 , 70384 , 70393 , 70400 , 70403 ,\n 70405 , 70412 , 70415 , 70416 , 70419 , 70440 , 70442 , 70448 ,\n 70450 , 70451 , 70453 , 70457 , 70459 , 70468 , 70471 , 70472 ,\n 70475 , 70477 , 70480 , 70480 , 70487 , 70487 , 70493 , 70499 ,\n 70502 , 70508 , 70512 , 70516 , 70656 , 70730 , 70736 , 70745 ,\n 70750 , 70753 , 70784 , 70853 , 70855 , 70855 , 70864 , 70873 ,\n 71040 , 71093 , 71096 , 71104 , 71128 , 71133 , 71168 , 71232 ,\n 71236 , 71236 , 71248 , 71257 , 71296 , 71352 , 71360 , 71369 ,\n 71424 , 71450 , 71453 , 71467 , 71472 , 71481 , 71488 , 71494 ,\n 71680 , 71738 , 71840 , 71913 , 71935 , 71942 , 71945 , 71945 ,\n 71948 , 71955 , 71957 , 71958 , 71960 , 71989 , 71991 , 71992 ,\n 71995 , 72003 , 72016 , 72025 , 72096 , 72103 , 72106 , 72151 ,\n 72154 , 72161 , 72163 , 72164 , 72192 , 72254 , 72263 , 72263 ,\n 72272 , 72345 , 72349 , 72349 , 72368 , 72440 , 72704 , 72712 ,\n 72714 , 72758 , 72760 , 72768 , 72784 , 72793 , 72818 , 72847 ,\n 72850 , 72871 , 72873 , 72886 , 72960 , 72966 , 72968 , 72969 ,\n 72971 , 73014 , 73018 , 73018 , 73020 , 73021 , 73023 , 73031 ,\n 73040 , 73049 , 73056 , 73061 , 73063 , 73064 , 73066 , 73102 ,\n 73104 , 73105 , 73107 , 73112 , 73120 , 73129 , 73440 , 73462 ,\n 73648 , 73648 , 73728 , 74649 , 74752 , 74862 , 74880 , 75075 ,\n 77712 , 77808 , 77824 , 78894 , 82944 , 83526 , 92160 , 92728 ,\n 92736 , 92766 , 92768 , 92777 , 92784 , 92862 , 92864 , 92873 ,\n 92880 , 92909 , 92912 , 92916 , 92928 , 92982 , 92992 , 92995 ,\n 93008 , 93017 , 93027 , 93047 , 93053 , 93071 , 93760 , 93823 ,\n 93952 , 94026 , 94031 , 94087 , 94095 , 94111 , 94176 , 94177 ,\n 94179 , 94180 , 94192 , 94193 , 94208 , 100343, 100352, 101589,\n 101632, 101640, 110576, 110579, 110581, 110587, 110589, 110590,\n 110592, 110882, 110928, 110930, 110948, 110951, 110960, 111355,\n 113664, 113770, 113776, 113788, 113792, 113800, 113808, 113817,\n 113821, 113822, 118528, 118573, 118576, 118598, 119141, 119145,\n 119149, 119154, 119163, 119170, 119173, 119179, 119210, 119213,\n 119362, 119364, 119808, 119892, 119894, 119964, 119966, 119967,\n 119970, 119970, 119973, 119974, 119977, 119980, 119982, 119993,\n 119995, 119995, 119997, 120003, 120005, 120069, 120071, 120074,\n 120077, 120084, 120086, 120092, 120094, 120121, 120123, 120126,\n 120128, 120132, 120134, 120134, 120138, 120144, 120146, 120485,\n 120488, 120512, 120514, 120538, 120540, 120570, 120572, 120596,\n 120598, 120628, 120630, 120654, 120656, 120686, 120688, 120712,\n 120714, 120744, 120746, 120770, 120772, 120779, 120782, 120831,\n 121344, 121398, 121403, 121452, 121461, 121461, 121476, 121476,\n 121499, 121503, 121505, 121519, 122624, 122654, 122880, 122886,\n 122888, 122904, 122907, 122913, 122915, 122916, 122918, 122922,\n 123136, 123180, 123184, 123197, 123200, 123209, 123214, 123214,\n 123536, 123566, 123584, 123641, 124896, 124902, 124904, 124907,\n 124909, 124910, 124912, 124926, 124928, 125124, 125136, 125142,\n 125184, 125259, 125264, 125273, 126464, 126467, 126469, 126495,\n 126497, 126498, 126500, 126500, 126503, 126503, 126505, 126514,\n 126516, 126519, 126521, 126521, 126523, 126523, 126530, 126530,\n 126535, 126535, 126537, 126537, 126539, 126539, 126541, 126543,\n 126545, 126546, 126548, 126548, 126551, 126551, 126553, 126553,\n 126555, 126555, 126557, 126557, 126559, 126559, 126561, 126562,\n 126564, 126564, 126567, 126570, 126572, 126578, 126580, 126583,\n 126585, 126588, 126590, 126590, 126592, 126601, 126603, 126619,\n 126625, 126627, 126629, 126633, 126635, 126651, 130032, 130041,\n 131072, 173791, 173824, 177976, 177984, 178205, 178208, 183969,\n 183984, 191456, 194560, 195101, 196608, 201546, 917760, 917999,\n];\nconst unicodeIdentifierPartMin = 170;\nconst unicodeIdentifierPartMax = 917999;\n\nfunction lookupInUnicodeMap(code: i32, map: i32[]): bool {\n let lo = 0;\n let hi = map.length;\n while (lo + 1 < hi) {\n let mid = lo + ((hi - lo) >>> 1);\n mid -= (mid & 1);\n let midVal = map[mid];\n if (midVal <= code && code <= map[mid + 1]) {\n return true;\n }\n if (code < midVal) {\n hi = mid;\n } else {\n lo = mid + 2;\n }\n }\n return false;\n}\n\n/** Creates an indentation matching the number of specified levels. */\nconst indentX1 = \" \";\nconst indentX2 = \" \";\nconst indentX3 = \" \";\nconst indentX4 = \" \";\nconst indentCache = new Map();\n\nexport function indent(sb: string[], level: i32): void {\n if (level <= 4) {\n switch (level) {\n case 1: sb.push(indentX1); break;\n case 2: sb.push(indentX2); break;\n case 3: sb.push(indentX3); break;\n case 4: sb.push(indentX4); break;\n }\n } else {\n let indents: string;\n // Limit number of indent entries to 1024 for avoiding unnecessary\n // memory consumetion\n if (indentCache.size <= 1024) {\n if (indentCache.has(level)) {\n indents = assert(indentCache.get(level));\n } else {\n indentCache.set(level, (indents = indentX1.repeat(level)));\n }\n } else {\n indents = indentX1.repeat(level);\n }\n sb.push(indents);\n }\n}\n\n/** Escapes a string using the specified kind of quote. */\nexport function escapeString(str: string, quote: CharCode): string {\n let sb = new Array();\n let off = 0;\n let i = 0;\n for (let k = str.length; i < k;) {\n switch (str.charCodeAt(i)) {\n case CharCode.Null: {\n if (i > off) sb.push(str.substring(off, off = i + 1));\n sb.push(\"\\\\0\");\n off = ++i;\n break;\n }\n case CharCode.Backspace: {\n if (i > off) sb.push(str.substring(off, i));\n off = ++i;\n sb.push(\"\\\\b\");\n break;\n }\n case CharCode.Tab: {\n if (i > off) sb.push(str.substring(off, i));\n off = ++i;\n sb.push(\"\\\\t\");\n break;\n }\n case CharCode.LineFeed: {\n if (i > off) sb.push(str.substring(off, i));\n off = ++i;\n sb.push(\"\\\\n\");\n break;\n }\n case CharCode.VerticalTab: {\n if (i > off) sb.push(str.substring(off, i));\n off = ++i;\n sb.push(\"\\\\v\");\n break;\n }\n case CharCode.FormFeed: {\n if (i > off) sb.push(str.substring(off, i));\n off = ++i;\n sb.push(\"\\\\f\");\n break;\n }\n case CharCode.CarriageReturn: {\n if (i > off) sb.push(str.substring(off, i));\n sb.push(\"\\\\r\");\n off = ++i;\n break;\n }\n case CharCode.DoubleQuote: {\n if (quote == CharCode.DoubleQuote) {\n if (i > off) sb.push(str.substring(off, i));\n sb.push(\"\\\\\\\"\");\n off = ++i;\n } else {\n ++i;\n }\n break;\n }\n case CharCode.SingleQuote: {\n if (quote == CharCode.SingleQuote) {\n if (i > off) sb.push(str.substring(off, i));\n sb.push(\"\\\\'\");\n off = ++i;\n } else {\n ++i;\n }\n break;\n }\n case CharCode.Backslash: {\n if (i > off) sb.push(str.substring(off, i));\n sb.push(\"\\\\\\\\\");\n off = ++i;\n break;\n }\n case CharCode.Backtick: {\n if (quote == CharCode.Backtick) {\n if (i > off) sb.push(str.substring(off, i));\n sb.push(\"\\\\`\");\n off = ++i;\n } else {\n ++i;\n }\n break;\n }\n default: {\n ++i;\n break;\n }\n }\n }\n if (i > off) sb.push(str.substring(off, i));\n return sb.join(\"\");\n}\n", "/**\n * @fileoverview Various file path utility.\n * @license Apache-2.0\n */\n\nimport {\n CharCode\n} from \"./text\";\n\nimport {\n PATH_DELIMITER\n} from \"../common\";\n\nconst separator = CharCode.Slash;\n\n/**\n * Normalizes the specified path, removing interior placeholders.\n * Expects a posix-compatible relative path (not Windows compatible).\n */\nexport function normalizePath(path: string): string {\n let pos = 0;\n let len = path.length;\n\n // trim leading './'\n while (pos + 1 < len &&\n path.charCodeAt(pos) == CharCode.Dot &&\n path.charCodeAt(pos + 1) == separator\n ) {\n pos += 2;\n }\n\n if (pos > 0 || len < path.length) {\n path = path.substring(pos, len);\n len -= pos;\n pos = 0;\n }\n\n let atEnd: bool;\n while (pos + 1 < len) {\n atEnd = false;\n\n // we are only interested in '/.' sequences ...\n if (\n path.charCodeAt(pos) == separator &&\n path.charCodeAt(pos + 1) == CharCode.Dot\n ) {\n // '/.' ( '/' | $ )\n atEnd = pos + 2 == len;\n if (atEnd ||\n pos + 2 < len &&\n path.charCodeAt(pos + 2) == separator\n ) {\n path = atEnd\n ? path.substring(0, pos)\n : path.substring(0, pos) + path.substring(pos + 2);\n len -= 2;\n continue;\n }\n\n // '/.' ( './' | '.' $ )\n atEnd = pos + 3 == len;\n if (atEnd && path.charCodeAt(pos + 2) == CharCode.Dot ||\n pos + 3 < len &&\n path.charCodeAt(pos + 2) == CharCode.Dot &&\n path.charCodeAt(pos + 3) == separator\n ) {\n // find preceeding '/'\n let ipos = pos;\n while (--ipos >= 0) {\n if (path.charCodeAt(ipos) == separator) {\n if (pos - ipos != 3 ||\n path.charCodeAt(ipos + 1) != CharCode.Dot ||\n path.charCodeAt(ipos + 2) != CharCode.Dot\n ) { // exclude '..' itself\n path = atEnd\n ? path.substring(0, ipos)\n : path.substring(0, ipos) + path.substring(pos + 3);\n len -= pos + 3 - ipos;\n pos = ipos - 1; // incremented again at end of loop\n }\n break;\n }\n }\n\n // if there's no preceeding '/', trim start if non-empty\n if (ipos < 0 && pos > 0) {\n if (pos != 2 ||\n path.charCodeAt(0) != CharCode.Dot ||\n path.charCodeAt(1) != CharCode.Dot\n ) { // exclude '..' itself\n path = path.substring(pos + 4);\n len = path.length;\n continue;\n }\n }\n }\n }\n pos++;\n }\n return len > 0 ? path : \".\";\n}\n\n/** Resolves the specified path relative to the specified origin. */\nexport function resolvePath(normalizedPath: string, origin: string): string {\n if (normalizedPath.startsWith(\"std/\")) {\n return normalizedPath;\n }\n return normalizePath(\n dirname(origin) + PATH_DELIMITER + normalizedPath\n );\n}\n\n/** Obtains the directory portion of a normalized path. */\nexport function dirname(normalizedPath: string): string {\n let pos = normalizedPath.length;\n if (pos <= 1) {\n if (pos == 0) return \".\";\n if (normalizedPath.charCodeAt(0) == separator) {\n return normalizedPath;\n }\n }\n while (--pos > 0) {\n if (normalizedPath.charCodeAt(pos) == separator) {\n return normalizedPath.substring(0, pos);\n }\n }\n return \".\";\n}\n", "/**\n * @fileoverview Terminal utility.\n * @license Apache-2.0\n */\n\n/** Gray terminal color code. */\nexport const COLOR_GRAY = \"\\u001b[90m\";\n/** Red terminal color code. */\nexport const COLOR_RED = \"\\u001b[91m\";\n/** Green terminal color code. */\nexport const COLOR_GREEN = \"\\u001b[92m\";\n/** Yellow terminal color code. */\nexport const COLOR_YELLOW = \"\\u001b[93m\";\n/** Blue terminal color code. */\nexport const COLOR_BLUE = \"\\u001b[94m\";\n/** Magenta terminal color code. */\nexport const COLOR_MAGENTA = \"\\u001b[95m\";\n/** Cyan terminal color code. */\nexport const COLOR_CYAN = \"\\u001b[96m\";\n/** White terminal color code. */\nexport const COLOR_WHITE = \"\\u001b[97m\";\n/** Terminal color reset code. */\nexport const COLOR_RESET = \"\\u001b[0m\";\n\n/** Whether terminal colors are enabled or not. */\nlet colorsEnabled = true;\n\n/** Checks whether terminal colors are enabled or not. */\nexport function isColorsEnabled(): bool {\n return colorsEnabled;\n}\n\n/** Sets whether terminal colors are enabled or not. */\nexport function setColorsEnabled(isEnabled: bool): bool {\n let wasEnabled = isEnabled;\n colorsEnabled = isEnabled;\n return wasEnabled;\n}\n\n/** Wraps the specified text in the specified terminal color code. */\nexport function colorize(text: string, color: string): string {\n return colorsEnabled ? color + text + COLOR_RESET : text;\n}\n", "/**\n * @fileoverview Various vector utility.\n * @license Apache-2.0\n */\n\n/** v128 zero constant. */\nexport const v128_zero = new Uint8Array(16);\n/** v128 all ones constant. */\nexport const v128_ones = new Uint8Array(16).fill(0xFF);\n", "/**\n * @fileoverview Shared diagnostic handling.\n * @license Apache-2.0\n */\n\nimport {\n Source\n} from \"./ast\";\n\nimport {\n DiagnosticCode,\n diagnosticCodeToString\n} from \"./diagnosticMessages.generated\";\n\nimport {\n isLineBreak,\n isWhiteSpace,\n COLOR_CYAN,\n COLOR_YELLOW,\n COLOR_RED,\n COLOR_MAGENTA,\n COLOR_RESET,\n isColorsEnabled,\n setColorsEnabled,\n CharCode\n} from \"./util\";\n\nexport {\n DiagnosticCode,\n diagnosticCodeToString\n} from \"./diagnosticMessages.generated\";\n\n/** Indicates the category of a {@link DiagnosticMessage}. */\nexport const enum DiagnosticCategory {\n /** Overly pedantic message. */\n Pedantic,\n /** Informatory message. */\n Info,\n /** Warning message. */\n Warning,\n /** Error message. */\n Error\n}\n\nexport class Range {\n\n source!: Source;\n\n constructor(public start: i32, public end: i32) {}\n\n static join(a: Range, b: Range): Range {\n if (a.source != b.source) throw new Error(\"source mismatch\");\n let range = new Range(\n a.start < b.start ? a.start : b.start,\n a.end > b.end ? a.end : b.end\n );\n range.source = a.source;\n return range;\n }\n\n equals(other: Range): bool {\n return (\n this.source == other.source &&\n this.start == other.start &&\n this.end == other.end\n );\n }\n\n get atStart(): Range {\n let range = new Range(this.start, this.start);\n range.source = this.source;\n return range;\n }\n\n get atEnd(): Range {\n let range = new Range(this.end, this.end);\n range.source = this.source;\n return range;\n }\n\n toString(): string {\n return this.source.text.substring(this.start, this.end);\n }\n}\n\n/** Returns the string representation of the specified diagnostic category. */\nexport function diagnosticCategoryToString(category: DiagnosticCategory): string {\n switch (category) {\n case DiagnosticCategory.Pedantic: return \"PEDANTIC\";\n case DiagnosticCategory.Info: return \"INFO\";\n case DiagnosticCategory.Warning: return \"WARNING\";\n case DiagnosticCategory.Error: return \"ERROR\";\n default: {\n assert(false);\n return \"\";\n }\n }\n}\n\n/** Returns the ANSI escape sequence for the specified category. */\nexport function diagnosticCategoryToColor(category: DiagnosticCategory): string {\n switch (category) {\n case DiagnosticCategory.Pedantic: return COLOR_MAGENTA;\n case DiagnosticCategory.Info: return COLOR_CYAN;\n case DiagnosticCategory.Warning: return COLOR_YELLOW;\n case DiagnosticCategory.Error: return COLOR_RED;\n default: {\n assert(false);\n return \"\";\n }\n }\n}\n\n/** Represents a diagnostic message. */\nexport class DiagnosticMessage {\n\n /** Message code. */\n code: i32;\n /** Message category. */\n category: DiagnosticCategory;\n /** Message text. */\n message: string;\n /** Respective source range, if any. */\n range: Range | null = null;\n /** Related range, if any. */\n relatedRange: Range | null = null; // TODO: Make this a related message for chains?\n\n /** Constructs a new diagnostic message. */\n private constructor(code: i32, category: DiagnosticCategory, message: string) {\n this.code = code;\n this.category = category;\n this.message = message;\n }\n\n /** Creates a new diagnostic message of the specified category. */\n static create(\n code: DiagnosticCode,\n category: DiagnosticCategory,\n arg0: string | null = null,\n arg1: string | null = null,\n arg2: string | null = null\n ): DiagnosticMessage {\n let message = diagnosticCodeToString(code);\n if (arg0 != null) message = message.replace(\"{0}\", arg0);\n if (arg1 != null) message = message.replace(\"{1}\", arg1);\n if (arg2 != null) message = message.replace(\"{2}\", arg2);\n return new DiagnosticMessage(code, category, message);\n }\n\n /** Tests if this message equals the specified. */\n equals(other: DiagnosticMessage): bool {\n if (this.code != other.code) return false;\n let thisRange = this.range;\n let otherRange = other.range;\n if (thisRange) {\n if (!otherRange || !thisRange.equals(otherRange)) return false;\n } else if (otherRange) {\n return false;\n }\n let thisRelatedRange = this.relatedRange;\n let otherRelatedRange = other.relatedRange;\n if (thisRelatedRange) {\n if (!otherRelatedRange || !thisRelatedRange.equals(otherRelatedRange)) return false;\n } else if (otherRelatedRange) {\n return false;\n }\n return this.message == other.message;\n }\n\n /** Adds a source range to this message. */\n withRange(range: Range): this {\n this.range = range;\n return this;\n }\n\n /** Adds a related source range to this message. */\n withRelatedRange(range: Range): this {\n this.relatedRange = range;\n return this;\n }\n\n /** Converts this message to a string. */\n toString(): string {\n let category = diagnosticCategoryToString(this.category);\n let range = this.range;\n let code = this.code;\n let message = this.message;\n if (range) {\n let source = range.source;\n let path = source.normalizedPath;\n let line = source.lineAt(range.start);\n let column = source.columnAt();\n let len = range.end - range.start;\n return `${category} ${code}: \"${message}\" in ${path}(${line},${column}+${len})`;\n }\n return `${category} ${code}: ${message}`;\n }\n}\n\n/** Formats a diagnostic message, optionally with terminal colors and source context. */\nexport function formatDiagnosticMessage(\n message: DiagnosticMessage,\n useColors: bool = false,\n showContext: bool = false\n): string {\n let wasColorsEnabled = setColorsEnabled(useColors);\n\n // general information\n let sb: string[] = [];\n if (isColorsEnabled()) sb.push(diagnosticCategoryToColor(message.category));\n sb.push(diagnosticCategoryToString(message.category));\n if (isColorsEnabled()) sb.push(COLOR_RESET);\n sb.push(message.code < 1000 ? \" AS\" : \" TS\");\n sb.push(message.code.toString());\n sb.push(\": \");\n sb.push(message.message);\n\n // include range information if available\n let range = message.range;\n if (range) {\n let source = range.source;\n let relatedRange = message.relatedRange;\n let minLine = 0;\n if (relatedRange) {\n // Justify context indentation when multiple ranges are present\n minLine = max(source.lineAt(range.start), relatedRange.source.lineAt(relatedRange.start));\n }\n\n // include context information if requested\n if (showContext) {\n sb.push(\"\\n\");\n sb.push(formatDiagnosticContext(range, minLine));\n } else {\n sb.push(\"\\n in \");\n sb.push(source.normalizedPath);\n }\n sb.push(\"(\");\n sb.push(source.lineAt(range.start).toString());\n sb.push(\",\");\n sb.push(source.columnAt().toString());\n sb.push(\")\");\n\n if (relatedRange) {\n let relatedSource = relatedRange.source;\n if (showContext) {\n sb.push(\"\\n\");\n sb.push(formatDiagnosticContext(relatedRange, minLine));\n } else {\n sb.push(\"\\n in \");\n sb.push(relatedSource.normalizedPath);\n }\n sb.push(\"(\");\n sb.push(relatedSource.lineAt(relatedRange.start).toString());\n sb.push(\",\");\n sb.push(relatedSource.columnAt().toString());\n sb.push(\")\");\n }\n }\n setColorsEnabled(wasColorsEnabled);\n return sb.join(\"\");\n}\n\n/** Formats the diagnostic context for the specified range, optionally with terminal colors. */\nfunction formatDiagnosticContext(range: Range, minLine: i32 = 0): string {\n let source = range.source;\n let text = source.text;\n let len = text.length;\n let start = range.start;\n let end = start;\n let lineNumber = source.lineAt(start).toString();\n let lineNumberLength = minLine\n ? max(minLine.toString().length, lineNumber.length)\n : lineNumber.length;\n let lineSpace = \" \".repeat(lineNumberLength);\n // Find preceeding line break\n while (start > 0 && !isLineBreak(text.charCodeAt(start - 1))) start--;\n // Skip leading whitespace (assume no supplementary whitespaces)\n while (start < len && isWhiteSpace(text.charCodeAt(start))) start++;\n // Find next line break\n while (end < len && !isLineBreak(text.charCodeAt(end))) end++;\n let sb: string[] = [\n lineSpace,\n \" :\\n \",\n \" \".repeat(lineNumberLength - lineNumber.length),\n lineNumber,\n \" \u2502 \",\n text.substring(start, end).replaceAll(\"\\t\", \" \"),\n \"\\n \",\n lineSpace,\n \" \u2502 \"\n ];\n while (start < range.start) {\n if (text.charCodeAt(start) == CharCode.Tab) {\n sb.push(\" \");\n start += 2;\n } else {\n sb.push(\" \");\n start++;\n }\n }\n if (isColorsEnabled()) sb.push(COLOR_RED);\n if (range.start == range.end) {\n sb.push(\"^\");\n } else {\n while (start++ < range.end) {\n let cc = text.charCodeAt(start);\n if (cc == CharCode.Tab) {\n sb.push(\"~~\");\n } else if (isLineBreak(cc)) {\n sb.push(start == range.start + 1 ? \"^\" : \"~\");\n break;\n } else {\n sb.push(\"~\");\n }\n }\n }\n if (isColorsEnabled()) sb.push(COLOR_RESET);\n sb.push(\"\\n \");\n sb.push(lineSpace);\n sb.push(\" \u2514\u2500 in \");\n sb.push(source.normalizedPath);\n return sb.join(\"\");\n}\n\n/** Base class of all diagnostic emitters. */\nexport abstract class DiagnosticEmitter {\n\n /** Diagnostic messages emitted so far. */\n diagnostics: DiagnosticMessage[];\n /** Diagnostic messages already seen, by range. */\n private seen: Map> = new Map();\n\n /** Initializes this diagnostic emitter. */\n protected constructor(diagnostics: DiagnosticMessage[] | null = null) {\n if (!diagnostics) diagnostics = [];\n this.diagnostics = diagnostics;\n }\n\n /** Emits a diagnostic message of the specified category. */\n emitDiagnostic(\n code: DiagnosticCode,\n category: DiagnosticCategory,\n range: Range | null,\n relatedRange: Range | null,\n arg0: string | null = null,\n arg1: string | null = null,\n arg2: string | null = null\n ): void {\n let message = DiagnosticMessage.create(code, category, arg0, arg1, arg2);\n if (range) message = message.withRange(range);\n if (relatedRange) message.relatedRange = relatedRange;\n // It is possible that the same diagnostic is emitted twice, for example\n // when compiling generics with different types or when recompiling a loop\n // because our initial assumptions didn't hold. It is even possible to get\n // multiple instances of the same range during parsing. Deduplicate these.\n if (range) {\n let seen = this.seen;\n if (seen.has(range.source)) {\n let seenInSource = assert(seen.get(range.source));\n if (seenInSource.has(range.start)) {\n let seenMessagesAtPos = assert(seenInSource.get(range.start));\n for (let i = 0, k = seenMessagesAtPos.length; i < k; ++i) {\n if (seenMessagesAtPos[i].equals(message)) return;\n }\n seenMessagesAtPos.push(message);\n } else {\n seenInSource.set(range.start, [ message ]);\n }\n } else {\n let seenInSource = new Map();\n seenInSource.set(range.start, [ message ]);\n seen.set(range.source, seenInSource);\n }\n }\n this.diagnostics.push(message);\n // console.log(formatDiagnosticMessage(message, true, true) + \"\\n\"); // temporary\n // console.log(new Error(\"stack\").stack);\n }\n\n /** Emits an overly pedantic diagnostic message. */\n pedantic(\n code: DiagnosticCode,\n range: Range | null,\n arg0: string | null = null,\n arg1: string | null = null,\n arg2: string | null = null\n ): void {\n this.emitDiagnostic(code, DiagnosticCategory.Pedantic, range, null, arg0, arg1, arg2);\n }\n\n /** Emits an overly pedantic diagnostic message with a related range. */\n pedanticRelated(\n code: DiagnosticCode,\n range: Range,\n relatedRange: Range,\n arg0: string | null = null,\n arg1: string | null = null,\n arg2: string | null = null\n ): void {\n this.emitDiagnostic(code, DiagnosticCategory.Pedantic, range, relatedRange, arg0, arg1, arg2);\n }\n\n /** Emits an informatory diagnostic message. */\n info(\n code: DiagnosticCode,\n range: Range | null,\n arg0: string | null = null,\n arg1: string | null = null,\n arg2: string | null = null\n ): void {\n this.emitDiagnostic(code, DiagnosticCategory.Info, range, null, arg0, arg1, arg2);\n }\n\n /** Emits an informatory diagnostic message with a related range. */\n infoRelated(\n code: DiagnosticCode,\n range: Range,\n relatedRange: Range,\n arg0: string | null = null,\n arg1: string | null = null,\n arg2: string | null = null\n ): void {\n this.emitDiagnostic(code, DiagnosticCategory.Info, range, relatedRange, arg0, arg1, arg2);\n }\n\n /** Emits a warning diagnostic message. */\n warning(\n code: DiagnosticCode,\n range: Range | null,\n arg0: string | null = null,\n arg1: string | null = null,\n arg2: string | null = null\n ): void {\n this.emitDiagnostic(code, DiagnosticCategory.Warning, range, null, arg0, arg1, arg2);\n }\n\n /** Emits a warning diagnostic message with a related range. */\n warningRelated(\n code: DiagnosticCode,\n range: Range,\n relatedRange: Range,\n arg0: string | null = null,\n arg1: string | null = null,\n arg2: string | null = null\n ): void {\n this.emitDiagnostic(code, DiagnosticCategory.Warning, range, relatedRange, arg0, arg1, arg2);\n }\n\n /** Emits an error diagnostic message. */\n error(\n code: DiagnosticCode,\n range: Range | null,\n arg0: string | null = null,\n arg1: string | null = null,\n arg2: string | null = null\n ): void {\n this.emitDiagnostic(code, DiagnosticCategory.Error, range, null, arg0, arg1, arg2);\n }\n\n /** Emits an error diagnostic message with a related range. */\n errorRelated(\n code: DiagnosticCode,\n range: Range,\n relatedRange: Range,\n arg0: string | null = null,\n arg1: string | null = null,\n arg2: string | null = null\n ): void {\n this.emitDiagnostic(code, DiagnosticCategory.Error, range, relatedRange, arg0, arg1, arg2);\n }\n}\n", "/**\n * @fileoverview Abstract syntax tree representing a source file once parsed.\n *\n * Each node in the AST is represented by an instance of a subclass of `Node`,\n * with its `Node#kind` represented by one of the `NodeKind` constants, which\n * dependent code typically switches over. The intended way to create a node\n * is to use the respective `Node.createX` method instead of its constructor.\n *\n * Note that the AST does not contain any type information except type names.\n *\n * @license Apache-2.0\n */\n\n// TODO: Make the AST more easily serializable by refactoring `Node#range` so\n// it doesn't reference the non-serializable `Source` object.\n\nimport {\n CommonFlags,\n PATH_DELIMITER,\n LIBRARY_PREFIX,\n LIBRARY_SUBST\n} from \"./common\";\n\nimport {\n Range\n} from \"./diagnostics\";\n\nimport {\n Token\n} from \"./tokenizer\";\n\nimport {\n normalizePath,\n resolvePath,\n CharCode\n} from \"./util\";\n\nimport {\n ExpressionRef\n} from \"./module\";\n\nimport {\n Type\n} from \"./types\";\n\n/** Indicates the kind of a node. */\nexport const enum NodeKind {\n\n Source,\n\n // types\n NamedType,\n FunctionType,\n TypeName,\n TypeParameter,\n Parameter,\n\n // expressions\n Identifier,\n Assertion,\n Binary,\n Call,\n Class,\n Comma,\n ElementAccess,\n False,\n Function,\n InstanceOf,\n Literal,\n New,\n Null,\n Omitted,\n Parenthesized,\n PropertyAccess,\n Ternary,\n Super,\n This,\n True,\n Constructor,\n UnaryPostfix,\n UnaryPrefix,\n Compiled,\n\n // statements\n Block,\n Break,\n Continue,\n Do,\n Empty,\n Export,\n ExportDefault,\n ExportImport,\n Expression,\n For,\n ForOf,\n If,\n Import,\n Return,\n Switch,\n Throw,\n Try,\n Variable,\n Void,\n While,\n Module,\n\n // declaration statements\n ClassDeclaration,\n EnumDeclaration,\n EnumValueDeclaration,\n FieldDeclaration,\n FunctionDeclaration,\n ImportDeclaration,\n InterfaceDeclaration,\n MethodDeclaration,\n NamespaceDeclaration,\n TypeDeclaration,\n VariableDeclaration,\n\n // special\n Decorator,\n ExportMember,\n SwitchCase,\n IndexSignature,\n Comment\n}\n\n/** Base class of all nodes. */\nexport abstract class Node {\n constructor(\n /** Kind of this node. */\n public kind: NodeKind,\n /** Source range. */\n public range: Range\n ) {}\n\n // types\n\n static createSimpleTypeName(\n name: string,\n range: Range\n ): TypeName {\n return new TypeName(Node.createIdentifierExpression(name, range), null, range);\n }\n\n static createNamedType(\n name: TypeName,\n typeArguments: TypeNode[] | null,\n isNullable: bool,\n range: Range\n ): NamedTypeNode {\n return new NamedTypeNode(name, typeArguments, isNullable, range);\n }\n\n static createFunctionType(\n parameters: ParameterNode[],\n returnType: TypeNode,\n explicitThisType: NamedTypeNode | null,\n isNullable: bool,\n range: Range\n ): FunctionTypeNode {\n return new FunctionTypeNode(parameters, returnType, explicitThisType, isNullable, range);\n }\n\n static createOmittedType(\n range: Range\n ): NamedTypeNode {\n return new NamedTypeNode(Node.createSimpleTypeName(\"\", range), null, false, range);\n }\n\n static createTypeParameter(\n name: IdentifierExpression,\n extendsType: NamedTypeNode | null,\n defaultType: NamedTypeNode | null,\n range: Range\n ): TypeParameterNode {\n return new TypeParameterNode(name, extendsType, defaultType, range);\n }\n\n static createParameter(\n parameterKind: ParameterKind,\n name: IdentifierExpression,\n type: TypeNode,\n initializer: Expression | null,\n range: Range\n ): ParameterNode {\n return new ParameterNode(parameterKind, name, type, initializer, range);\n }\n\n // special\n\n static createDecorator(\n name: Expression,\n args: Expression[] | null,\n range: Range\n ): DecoratorNode {\n return new DecoratorNode(DecoratorKind.fromNode(name), name, args, range);\n }\n\n static createComment(\n commentKind: CommentKind,\n text: string,\n range: Range\n ): CommentNode {\n return new CommentNode(commentKind, text, range);\n }\n\n // expressions\n\n static createIdentifierExpression(\n text: string,\n range: Range,\n isQuoted: bool = false\n ): IdentifierExpression {\n return new IdentifierExpression(text, isQuoted, range);\n }\n\n static createEmptyIdentifierExpression(\n range: Range\n ): IdentifierExpression {\n return new IdentifierExpression(\"\", false, range);\n }\n\n static createArrayLiteralExpression(\n elementExpressions: Expression[],\n range: Range\n ): ArrayLiteralExpression {\n return new ArrayLiteralExpression(elementExpressions, range);\n }\n\n static createAssertionExpression(\n assertionKind: AssertionKind,\n expression: Expression,\n toType: TypeNode | null,\n range: Range\n ): AssertionExpression {\n return new AssertionExpression(assertionKind, expression, toType, range);\n }\n\n static createBinaryExpression(\n operator: Token,\n left: Expression,\n right: Expression,\n range: Range\n ): BinaryExpression {\n return new BinaryExpression(operator, left, right, range);\n }\n\n static createCallExpression(\n expression: Expression,\n typeArguments: TypeNode[] | null,\n args: Expression[],\n range: Range\n ): CallExpression {\n return new CallExpression(expression, typeArguments, args, range);\n }\n\n static createClassExpression(\n declaration: ClassDeclaration\n ): ClassExpression {\n return new ClassExpression(declaration);\n }\n\n static createCommaExpression(\n expressions: Expression[],\n range: Range\n ): CommaExpression {\n return new CommaExpression(expressions, range);\n }\n\n static createConstructorExpression(\n range: Range\n ): ConstructorExpression {\n return new ConstructorExpression(range);\n }\n\n static createElementAccessExpression(\n expression: Expression,\n elementExpression: Expression,\n range: Range\n ): ElementAccessExpression {\n return new ElementAccessExpression(expression, elementExpression, range);\n }\n\n static createFalseExpression(\n range: Range\n ): FalseExpression {\n return new FalseExpression(range);\n }\n\n static createFloatLiteralExpression(\n value: f64,\n range: Range\n ): FloatLiteralExpression {\n return new FloatLiteralExpression(value, range);\n }\n\n static createFunctionExpression(\n declaration: FunctionDeclaration\n ): FunctionExpression {\n return new FunctionExpression(declaration);\n }\n\n static createInstanceOfExpression(\n expression: Expression,\n isType: TypeNode,\n range: Range\n ): InstanceOfExpression {\n return new InstanceOfExpression(expression, isType, range);\n }\n\n static createIntegerLiteralExpression(\n value: i64,\n range: Range\n ): IntegerLiteralExpression {\n return new IntegerLiteralExpression(value, range);\n }\n\n static createNewExpression(\n typeName: TypeName,\n typeArguments: TypeNode[] | null,\n args: Expression[],\n range: Range\n ): NewExpression {\n return new NewExpression(typeName, typeArguments, args, range);\n }\n\n static createNullExpression(\n range: Range\n ): NullExpression {\n return new NullExpression(range);\n }\n\n static createObjectLiteralExpression(\n names: IdentifierExpression[],\n values: Expression[],\n range: Range\n ): ObjectLiteralExpression {\n return new ObjectLiteralExpression(names, values, range);\n }\n\n static createOmittedExpression(\n range: Range\n ): OmittedExpression {\n return new OmittedExpression(range);\n }\n\n static createParenthesizedExpression(\n expression: Expression,\n range: Range\n ): ParenthesizedExpression {\n return new ParenthesizedExpression(expression, range);\n }\n\n static createPropertyAccessExpression(\n expression: Expression,\n property: IdentifierExpression,\n range: Range\n ): PropertyAccessExpression {\n return new PropertyAccessExpression(expression, property, range);\n }\n\n static createRegexpLiteralExpression(\n pattern: string,\n patternFlags: string,\n range: Range\n ): RegexpLiteralExpression {\n return new RegexpLiteralExpression(pattern, patternFlags, range);\n }\n\n static createTernaryExpression(\n condition: Expression,\n ifThen: Expression,\n ifElse: Expression,\n range: Range\n ): TernaryExpression {\n return new TernaryExpression(condition, ifThen, ifElse, range);\n }\n\n static createStringLiteralExpression(\n value: string,\n range: Range\n ): StringLiteralExpression {\n return new StringLiteralExpression(value, range);\n }\n\n static createSuperExpression(\n range: Range\n ): SuperExpression {\n return new SuperExpression(range);\n }\n\n static createTemplateLiteralExpression(\n tag: Expression | null,\n parts: string[],\n rawParts: string[],\n expressions: Expression[],\n range: Range\n ): TemplateLiteralExpression {\n return new TemplateLiteralExpression(tag, parts, rawParts, expressions, range);\n }\n\n static createThisExpression(\n range: Range\n ): ThisExpression {\n return new ThisExpression(range);\n }\n\n static createTrueExpression(\n range: Range\n ): TrueExpression {\n return new TrueExpression(range);\n }\n\n static createUnaryPostfixExpression(\n operator: Token,\n operand: Expression,\n range: Range\n ): UnaryPostfixExpression {\n return new UnaryPostfixExpression(operator, operand, range);\n }\n\n static createUnaryPrefixExpression(\n operator: Token,\n operand: Expression,\n range: Range\n ): UnaryPrefixExpression {\n return new UnaryPrefixExpression(operator, operand, range);\n }\n\n static createCompiledExpression(\n expr: ExpressionRef,\n type: Type,\n range: Range\n ): Expression {\n return new CompiledExpression(expr, type, range);\n }\n\n // statements\n\n static createBlockStatement(\n statements: Statement[],\n range: Range\n ): BlockStatement {\n return new BlockStatement(statements, range);\n }\n\n static createBreakStatement(\n label: IdentifierExpression | null,\n range: Range\n ): BreakStatement {\n return new BreakStatement(label, range);\n }\n\n static createClassDeclaration(\n name: IdentifierExpression,\n decorators: DecoratorNode[] | null,\n flags: CommonFlags,\n typeParameters: TypeParameterNode[] | null,\n extendsType: NamedTypeNode | null,\n implementsTypes: NamedTypeNode[] | null,\n members: DeclarationStatement[],\n range: Range\n ): ClassDeclaration {\n return new ClassDeclaration(name, decorators, flags, typeParameters, extendsType, implementsTypes, members, range);\n }\n\n static createContinueStatement(\n label: IdentifierExpression | null,\n range: Range\n ): ContinueStatement {\n return new ContinueStatement(label, range);\n }\n\n static createDoStatement(\n body: Statement,\n condition: Expression,\n range: Range\n ): DoStatement {\n return new DoStatement(body, condition, range);\n }\n\n static createEmptyStatement(\n range: Range\n ): EmptyStatement {\n return new EmptyStatement(range);\n }\n\n static createEnumDeclaration(\n name: IdentifierExpression,\n decorators: DecoratorNode[] | null,\n flags: CommonFlags,\n values: EnumValueDeclaration[],\n range: Range\n ): EnumDeclaration {\n return new EnumDeclaration(name, decorators, flags, values, range);\n }\n\n static createEnumValueDeclaration(\n name: IdentifierExpression,\n flags: CommonFlags,\n initializer: Expression | null,\n range: Range\n ): EnumValueDeclaration {\n return new EnumValueDeclaration(name, flags, initializer, range);\n }\n\n static createExportStatement(\n members: ExportMember[] | null,\n path: StringLiteralExpression | null,\n isDeclare: bool,\n range: Range\n ): ExportStatement {\n return new ExportStatement(members, path, isDeclare, range);\n }\n\n static createExportDefaultStatement(\n declaration: DeclarationStatement,\n range: Range\n ): ExportDefaultStatement {\n return new ExportDefaultStatement(declaration, range);\n }\n\n static createExportImportStatement(\n name: IdentifierExpression,\n externalName: IdentifierExpression,\n range: Range\n ): ExportImportStatement {\n return new ExportImportStatement(name, externalName, range);\n }\n\n static createExportMember(\n localName: IdentifierExpression,\n exportedName: IdentifierExpression | null,\n range: Range\n ): ExportMember {\n if (!exportedName) exportedName = localName;\n return new ExportMember(localName, exportedName, range);\n }\n\n static createExpressionStatement(\n expression: Expression\n ): ExpressionStatement {\n return new ExpressionStatement(expression);\n }\n\n static createIfStatement(\n condition: Expression,\n ifTrue: Statement,\n ifFalse: Statement | null,\n range: Range\n ): IfStatement {\n return new IfStatement(condition, ifTrue, ifFalse, range);\n }\n\n static createImportStatement(\n declarations: ImportDeclaration[] | null,\n path: StringLiteralExpression,\n range: Range\n ): ImportStatement {\n return new ImportStatement(declarations, null, path, range);\n }\n\n static createWildcardImportStatement(\n namespaceName: IdentifierExpression,\n path: StringLiteralExpression,\n range: Range\n ): ImportStatement {\n return new ImportStatement(null, namespaceName, path, range);\n }\n\n static createImportDeclaration(\n foreignName: IdentifierExpression,\n name: IdentifierExpression | null,\n range: Range\n ): ImportDeclaration {\n if (!name) name = foreignName;\n return new ImportDeclaration(name, foreignName, range);\n }\n\n static createInterfaceDeclaration(\n name: IdentifierExpression,\n decorators: DecoratorNode[] | null,\n flags: CommonFlags,\n typeParameters: TypeParameterNode[] | null,\n extendsType: NamedTypeNode | null,\n implementsTypes: NamedTypeNode[] | null,\n members: DeclarationStatement[],\n range: Range\n ): InterfaceDeclaration {\n return new InterfaceDeclaration(name, decorators, flags, typeParameters, extendsType, implementsTypes, members, range);\n }\n\n static createFieldDeclaration(\n name: IdentifierExpression,\n decorators: DecoratorNode[] | null,\n flags: CommonFlags,\n type: TypeNode | null,\n initializer: Expression | null,\n range: Range\n ): FieldDeclaration {\n return new FieldDeclaration(name, decorators, flags, type, initializer, -1, range);\n }\n\n static createForStatement(\n initializer: Statement | null,\n condition: Expression | null,\n incrementor: Expression | null,\n body: Statement,\n range: Range\n ): ForStatement {\n return new ForStatement(initializer, condition, incrementor, body, range);\n }\n\n static createForOfStatement(\n variable: Statement,\n iterable: Expression,\n body: Statement,\n range: Range\n ): ForOfStatement {\n return new ForOfStatement(variable, iterable, body, range);\n }\n\n static createFunctionDeclaration(\n name: IdentifierExpression,\n decorators: DecoratorNode[] | null,\n flags: CommonFlags,\n typeParameters: TypeParameterNode[] | null,\n signature: FunctionTypeNode,\n body: Statement | null,\n arrowKind: ArrowKind,\n range: Range\n ): FunctionDeclaration {\n return new FunctionDeclaration(name, decorators, flags, typeParameters, signature, body, arrowKind, range);\n }\n\n static createIndexSignature(\n keyType: NamedTypeNode,\n valueType: TypeNode,\n flags: CommonFlags,\n range: Range\n ): IndexSignatureNode {\n return new IndexSignatureNode(keyType, valueType, flags, range);\n }\n\n static createMethodDeclaration(\n name: IdentifierExpression,\n decorators: DecoratorNode[] | null,\n flags: CommonFlags,\n typeParameters: TypeParameterNode[] | null,\n signature: FunctionTypeNode,\n body: Statement | null,\n range: Range\n ): MethodDeclaration {\n return new MethodDeclaration(name, decorators, flags, typeParameters, signature, body, range);\n }\n\n static createNamespaceDeclaration(\n name: IdentifierExpression,\n decorators: DecoratorNode[] | null,\n flags: CommonFlags,\n members: Statement[],\n range: Range\n ): NamespaceDeclaration {\n return new NamespaceDeclaration(name, decorators, flags, members, range);\n }\n\n static createReturnStatement(\n value: Expression | null,\n range: Range\n ): ReturnStatement {\n return new ReturnStatement(value, range);\n }\n\n static createSwitchStatement(\n condition: Expression,\n cases: SwitchCase[],\n range: Range\n ): SwitchStatement {\n return new SwitchStatement(condition, cases, range);\n }\n\n static createSwitchCase(\n label: Expression | null,\n statements: Statement[],\n range: Range\n ): SwitchCase {\n return new SwitchCase(label, statements, range);\n }\n\n static createThrowStatement(\n value: Expression,\n range: Range\n ): ThrowStatement {\n return new ThrowStatement(value, range);\n }\n\n static createTryStatement(\n bodyStatements: Statement[],\n catchVariable: IdentifierExpression | null,\n catchStatements: Statement[] | null,\n finallyStatements: Statement[] | null,\n range: Range\n ): TryStatement {\n return new TryStatement(bodyStatements, catchVariable, catchStatements, finallyStatements, range);\n }\n\n static createTypeDeclaration(\n name: IdentifierExpression,\n decorators: DecoratorNode[] | null,\n flags: CommonFlags,\n typeParameters: TypeParameterNode[] | null,\n type: TypeNode,\n range: Range\n ): TypeDeclaration {\n return new TypeDeclaration(name, decorators, flags, typeParameters, type, range);\n }\n\n static createModuleDeclaration(\n name: string,\n flags: CommonFlags,\n range: Range\n ): ModuleDeclaration {\n return new ModuleDeclaration(name, flags, range);\n }\n\n static createVariableStatement(\n decorators: DecoratorNode[] | null,\n declarations: VariableDeclaration[],\n range: Range\n ): VariableStatement {\n return new VariableStatement(decorators, declarations, range);\n }\n\n static createVariableDeclaration(\n name: IdentifierExpression,\n decorators: DecoratorNode[] | null,\n flags: CommonFlags,\n type: TypeNode | null,\n initializer: Expression | null,\n range: Range\n ): VariableDeclaration {\n return new VariableDeclaration(name, decorators, flags, type, initializer, range);\n }\n\n static createVoidStatement(\n expression: Expression,\n range: Range\n ): VoidStatement {\n return new VoidStatement(expression, range);\n }\n\n static createWhileStatement(\n condition: Expression,\n statement: Statement,\n range: Range\n ): WhileStatement {\n return new WhileStatement(condition, statement, range);\n }\n\n /** Tests if this node is a literal of the specified kind. */\n isLiteralKind(literalKind: LiteralKind): bool {\n return this.kind == NodeKind.Literal\n && (changetype(this)).literalKind == literalKind; // TS\n }\n\n /** Tests if this node is a literal of a numeric kind (float or integer). */\n get isNumericLiteral(): bool {\n if (this.kind == NodeKind.Literal) {\n switch ((changetype(this)).literalKind) { // TS\n case LiteralKind.Float:\n case LiteralKind.Integer: return true;\n }\n }\n return false;\n }\n\n /** Tests whether this node is guaranteed to compile to a constant value. */\n get compilesToConst(): bool {\n switch (this.kind) {\n case NodeKind.Literal: {\n switch ((changetype(this)).literalKind) { // TS\n case LiteralKind.Float:\n case LiteralKind.Integer:\n case LiteralKind.String: return true;\n }\n break;\n }\n case NodeKind.Null:\n case NodeKind.True:\n case NodeKind.False: return true;\n }\n return false;\n }\n\n private isAccessOn(kind: NodeKind): bool {\n let node = changetype(this);\n if (node.kind == NodeKind.Call) {\n node = (node).expression;\n }\n if (node.kind == NodeKind.PropertyAccess) {\n let target = (node).expression;\n if (target.kind == kind) return true;\n }\n return false;\n }\n\n /** Checks if this node accesses a method or property on `this`. */\n get isAccessOnThis(): bool {\n return this.isAccessOn(NodeKind.This);\n }\n\n /** Checks if this node accesses a method or property on `super`. */\n get isAccessOnSuper(): bool {\n return this.isAccessOn(NodeKind.Super);\n }\n\n get isEmpty(): bool {\n return this.kind == NodeKind.Empty;\n }\n}\n\n// types\n\nexport abstract class TypeNode extends Node {\n constructor(\n /** Kind of the type node. */\n kind: NodeKind,\n /** Whether nullable or not. */\n public isNullable: bool,\n /** Source range. */\n range: Range\n ) {\n super(kind, range);\n }\n\n /** Whether this type node is currently in the process of being resolved. */\n currentlyResolving: bool = false;\n\n /** Tests if this type has a generic component matching one of the given type parameters. */\n hasGenericComponent(typeParameterNodes: TypeParameterNode[]): bool {\n if (this.kind == NodeKind.NamedType) {\n let namedTypeNode = changetype(this); // TS\n if (!namedTypeNode.name.next) {\n let typeArgumentNodes = namedTypeNode.typeArguments;\n if (typeArgumentNodes && typeArgumentNodes.length > 0) {\n for (let i = 0, k = typeArgumentNodes.length; i < k; ++i) {\n if (typeArgumentNodes[i].hasGenericComponent(typeParameterNodes)) return true;\n }\n } else {\n let name = namedTypeNode.name.identifier.text;\n for (let i = 0, k = typeParameterNodes.length; i < k; ++i) {\n if (typeParameterNodes[i].name.text == name) return true;\n }\n }\n }\n } else if (this.kind == NodeKind.FunctionType) {\n let functionTypeNode = changetype(this); // TS\n let parameterNodes = functionTypeNode.parameters;\n for (let i = 0, k = parameterNodes.length; i < k; ++i) {\n if (parameterNodes[i].type.hasGenericComponent(typeParameterNodes)) return true;\n }\n if (functionTypeNode.returnType.hasGenericComponent(typeParameterNodes)) return true;\n let explicitThisType = functionTypeNode.explicitThisType;\n if (explicitThisType && explicitThisType.hasGenericComponent(typeParameterNodes)) return true;\n } else {\n assert(false);\n }\n return false;\n }\n}\n\n/** Represents a type name. */\nexport class TypeName extends Node {\n constructor(\n /** Identifier of this part. */\n public identifier: IdentifierExpression,\n /** Next part of the type name or `null` if this is the last part. */\n public next: TypeName | null,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.TypeName, range);\n }\n}\n\n/** Represents a named type. */\nexport class NamedTypeNode extends TypeNode {\n constructor(\n /** Type name. */\n public name: TypeName,\n /** Type argument references. */\n public typeArguments: TypeNode[] | null,\n /** Whether nullable or not. */\n isNullable: bool,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.NamedType, isNullable, range);\n }\n\n /** Checks if this type node has type arguments. */\n get hasTypeArguments(): bool {\n let typeArguments = this.typeArguments;\n return typeArguments != null && typeArguments.length > 0;\n }\n\n /** Tests if this type is \"null\". */\n get isNull(): bool {\n return this.name.identifier.text == \"null\";\n }\n}\n\n/** Represents a function type. */\nexport class FunctionTypeNode extends TypeNode {\n constructor(\n /** Function parameters. */\n public parameters: ParameterNode[],\n /** Return type. */\n public returnType: TypeNode,\n /** Explicitly provided this type, if any. */\n public explicitThisType: NamedTypeNode | null, // can't be a function\n /** Whether nullable or not. */\n isNullable: bool,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.FunctionType, isNullable, range);\n }\n}\n\n/** Represents a type parameter. */\nexport class TypeParameterNode extends Node {\n constructor(\n /** Identifier reference. */\n public name: IdentifierExpression,\n /** Extended type reference, if any. */\n public extendsType: NamedTypeNode | null, // can't be a function\n /** Default type if omitted, if any. */\n public defaultType: NamedTypeNode | null, // can't be a function\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.TypeParameter, range);\n }\n}\n\n/** Represents the kind of a parameter. */\nexport const enum ParameterKind {\n /** No specific flags. */\n Default,\n /** Is an optional parameter. */\n Optional,\n /** Is a rest parameter. */\n Rest\n}\n\n/** Represents a function parameter. */\nexport class ParameterNode extends Node {\n constructor(\n /** Parameter kind. */\n public parameterKind: ParameterKind,\n /** Parameter name. */\n public name: IdentifierExpression,\n /** Parameter type. */\n public type: TypeNode,\n /** Initializer expression, if any. */\n public initializer: Expression | null,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.Parameter, range);\n }\n\n /** Implicit field declaration, if applicable. */\n implicitFieldDeclaration: FieldDeclaration | null = null;\n /** Common flags indicating specific traits. */\n flags: CommonFlags = CommonFlags.None;\n\n /** Tests if this node has the specified flag or flags. */\n is(flag: CommonFlags): bool { return (this.flags & flag) == flag; }\n /** Tests if this node has one of the specified flags. */\n isAny(flag: CommonFlags): bool { return (this.flags & flag) != 0; }\n /** Sets a specific flag or flags. */\n set(flag: CommonFlags): void { this.flags |= flag; }\n}\n\n// special\n\n/** Built-in decorator kinds. */\nexport enum DecoratorKind {\n Custom,\n Global,\n Operator,\n OperatorBinary,\n OperatorPrefix,\n OperatorPostfix,\n Unmanaged,\n Final,\n Inline,\n External,\n ExternalJs,\n Builtin,\n Lazy,\n Unsafe\n}\n\nexport namespace DecoratorKind {\n\n /** Returns the kind of the specified decorator name node. Defaults to {@link DecoratorKind.CUSTOM}. */\n export function fromNode(nameNode: Expression): DecoratorKind {\n if (nameNode.kind == NodeKind.Identifier) {\n let nameStr = (nameNode).text;\n assert(nameStr.length);\n switch (nameStr.charCodeAt(0)) {\n case CharCode.b: {\n if (nameStr == \"builtin\") return DecoratorKind.Builtin;\n break;\n }\n case CharCode.e: {\n if (nameStr == \"external\") return DecoratorKind.External;\n break;\n }\n case CharCode.f: {\n if (nameStr == \"final\") return DecoratorKind.Final;\n break;\n }\n case CharCode.g: {\n if (nameStr == \"global\") return DecoratorKind.Global;\n break;\n }\n case CharCode.i: {\n if (nameStr == \"inline\") return DecoratorKind.Inline;\n break;\n }\n case CharCode.l: {\n if (nameStr == \"lazy\") return DecoratorKind.Lazy;\n break;\n }\n case CharCode.o: {\n if (nameStr == \"operator\") return DecoratorKind.Operator;\n break;\n }\n case CharCode.u: {\n if (nameStr == \"unmanaged\") return DecoratorKind.Unmanaged;\n if (nameStr == \"unsafe\") return DecoratorKind.Unsafe;\n break;\n }\n }\n } else if (nameNode.kind == NodeKind.PropertyAccess) {\n let propertyAccessNode = nameNode;\n let expression = propertyAccessNode.expression;\n if (expression.kind == NodeKind.Identifier) {\n let nameStr = (expression).text;\n assert(nameStr.length);\n let propStr = propertyAccessNode.property.text;\n assert(propStr.length);\n if (nameStr == \"operator\") {\n switch (propStr.charCodeAt(0)) {\n case CharCode.b: {\n if (propStr == \"binary\") return DecoratorKind.OperatorBinary;\n break;\n }\n case CharCode.p: {\n if (propStr == \"prefix\") return DecoratorKind.OperatorPrefix;\n if (propStr == \"postfix\") return DecoratorKind.OperatorPostfix;\n break;\n }\n }\n } else if (nameStr == \"external\") {\n switch (propStr.charCodeAt(0)) {\n case CharCode.j: {\n if (propStr == \"js\") return DecoratorKind.ExternalJs;\n break;\n }\n }\n }\n }\n }\n return DecoratorKind.Custom;\n }\n}\n\n/** Represents a decorator. */\nexport class DecoratorNode extends Node {\n constructor(\n /** Built-in decorator kind, or custom. */\n public decoratorKind: DecoratorKind,\n /** Name expression. */\n public name: Expression,\n /** Argument expressions. */\n public args: Expression[] | null,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.Decorator, range);\n }\n}\n\n/** Comment kinds. */\nexport const enum CommentKind {\n /** Line comment. */\n Line,\n /** Triple-slash line comment. */\n Triple,\n /** Block comment. */\n Block\n}\n\n/** Represents a comment. */\nexport class CommentNode extends Node {\n constructor(\n /** Comment kind. */\n public commentKind: CommentKind,\n /** Comment text. */\n public text: string,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.Comment, range);\n }\n}\n\n// expressions\n\n/** Base class of all expression nodes. */\nexport abstract class Expression extends Node { }\n\n/** Represents an identifier expression. */\nexport class IdentifierExpression extends Expression {\n constructor(\n /** Textual name. */\n public text: string,\n /** Whether quoted or not. */\n public isQuoted: bool,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.Identifier, range);\n }\n}\n\n/** Indicates the kind of a literal. */\nexport const enum LiteralKind {\n Float,\n Integer,\n String,\n Template,\n RegExp,\n Array,\n Object\n}\n\n/** Base class of all literal expressions. */\nexport abstract class LiteralExpression extends Expression {\n constructor(\n /** Specific literal kind. */\n public literalKind: LiteralKind,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.Literal, range);\n }\n}\n\n/** Represents an `[]` literal expression. */\nexport class ArrayLiteralExpression extends LiteralExpression {\n constructor(\n /** Nested element expressions. */\n public elementExpressions: Expression[],\n /** Source range. */\n range: Range\n ) {\n super(LiteralKind.Array, range);\n }\n}\n\n/** Indicates the kind of an assertion. */\nexport const enum AssertionKind {\n /** A prefix assertion, i.e. `expr`. */\n Prefix,\n /** An as assertion, i.e. `expr as T`. */\n As,\n /** A non-null assertion, i.e. `!expr`. */\n NonNull,\n /** A const assertion, i.e. `expr as const`. */\n Const\n}\n\n/** Represents an assertion expression. */\nexport class AssertionExpression extends Expression {\n constructor(\n /** Specific kind of this assertion. */\n public assertionKind: AssertionKind,\n /** Expression being asserted. */\n public expression: Expression,\n /** Target type, if applicable. */\n public toType: TypeNode | null,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.Assertion, range);\n }\n}\n\n/** Represents a binary expression. */\nexport class BinaryExpression extends Expression {\n constructor(\n /** Operator token. */\n public operator: Token,\n /** Left-hand side expression */\n public left: Expression,\n /** Right-hand side expression. */\n public right: Expression,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.Binary, range);\n }\n}\n\n/** Represents a call expression. */\nexport class CallExpression extends Expression {\n constructor(\n /** Called expression. Usually an identifier or property access expression. */\n public expression: Expression,\n /** Provided type arguments. */\n public typeArguments: TypeNode[] | null,\n /** Provided arguments. */\n public args: Expression[],\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.Call, range);\n }\n\n /** Gets the type arguments range for reporting. */\n get typeArgumentsRange(): Range {\n let typeArguments = this.typeArguments;\n let numTypeArguments: i32;\n if (typeArguments) {\n if (numTypeArguments = typeArguments.length) {\n return Range.join(typeArguments[0].range, typeArguments[numTypeArguments - 1].range);\n }\n }\n return this.expression.range;\n }\n\n /** Gets the arguments range for reporting. */\n get argumentsRange(): Range {\n let args = this.args;\n let numArguments = args.length;\n if (numArguments) {\n return Range.join(args[0].range, args[numArguments - 1].range);\n }\n return this.expression.range;\n }\n}\n\n/** Represents a class expression using the 'class' keyword. */\nexport class ClassExpression extends Expression {\n constructor(\n /** Inline class declaration. */\n public declaration: ClassDeclaration\n ) {\n super(NodeKind.Class, declaration.range);\n }\n}\n\n/** Represents a comma expression composed of multiple expressions. */\nexport class CommaExpression extends Expression {\n constructor(\n /** Sequential expressions. */\n public expressions: Expression[],\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.Comma, range);\n }\n}\n\n/** Represents a `constructor` expression. */\nexport class ConstructorExpression extends IdentifierExpression {\n constructor(\n /** Source range. */\n range: Range\n ) {\n super(\"constructor\", false, range);\n this.kind = NodeKind.Constructor;\n }\n}\n\n/** Represents an element access expression, e.g., array access. */\nexport class ElementAccessExpression extends Expression {\n constructor(\n /** Expression being accessed. */\n public expression: Expression,\n /** Element of the expression being accessed. */\n public elementExpression: Expression,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.ElementAccess, range);\n }\n}\n\n/** Represents a float literal expression. */\nexport class FloatLiteralExpression extends LiteralExpression {\n constructor(\n /** Float value. */\n public value: f64,\n /** Source range. */\n range: Range\n ) {\n super(LiteralKind.Float, range);\n }\n}\n\n/** Represents a function expression using the 'function' keyword. */\nexport class FunctionExpression extends Expression {\n constructor(\n /** Inline function declaration. */\n public declaration: FunctionDeclaration\n ) {\n super(NodeKind.Function, declaration.range);\n }\n}\n\n/** Represents an `instanceof` expression. */\nexport class InstanceOfExpression extends Expression {\n constructor(\n /** Expression being asserted. */\n public expression: Expression,\n /** Type to test for. */\n public isType: TypeNode,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.InstanceOf, range);\n }\n}\n\n/** Represents an integer literal expression. */\nexport class IntegerLiteralExpression extends LiteralExpression {\n constructor(\n /** Integer value. */\n public value: i64,\n /** Source range. */\n range: Range\n ) {\n super(LiteralKind.Integer, range);\n }\n}\n\n/** Represents a `new` expression. Like a call but with its own kind. */\nexport class NewExpression extends Expression {\n constructor(\n /** Type being constructed. */\n public typeName: TypeName,\n /** Provided type arguments. */\n public typeArguments: TypeNode[] | null,\n /** Provided arguments. */\n public args: Expression[],\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.New, range);\n }\n\n /** Gets the type arguments range for reporting. */\n get typeArgumentsRange(): Range {\n let typeArguments = this.typeArguments;\n let numTypeArguments: i32;\n if (typeArguments && (numTypeArguments = typeArguments.length) > 0) {\n return Range.join(typeArguments[0].range, typeArguments[numTypeArguments - 1].range);\n }\n return this.typeName.range;\n }\n\n /** Gets the arguments range for reporting. */\n get argumentsRange(): Range {\n let args = this.args;\n let numArguments = args.length;\n if (numArguments) {\n return Range.join(args[0].range, args[numArguments - 1].range);\n }\n return this.typeName.range;\n }\n}\n\n/** Represents a `null` expression. */\nexport class NullExpression extends IdentifierExpression {\n constructor(\n /** Source range. */\n range: Range\n ) {\n super(\"null\", false, range);\n this.kind = NodeKind.Null;\n }\n}\n\n/** Represents an object literal expression. */\nexport class ObjectLiteralExpression extends LiteralExpression {\n constructor(\n /** Field names. */\n public names: IdentifierExpression[],\n /** Field values. */\n public values: Expression[],\n /** Source range. */\n range: Range\n ) {\n super(LiteralKind.Object, range);\n }\n}\n\n/** Represents an omitted expression, e.g. within an array literal. */\nexport class OmittedExpression extends Expression {\n constructor(\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.Omitted, range);\n }\n}\n\n/** Represents a parenthesized expression. */\nexport class ParenthesizedExpression extends Expression {\n constructor(\n /** Expression in parenthesis. */\n public expression: Expression,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.Parenthesized, range);\n }\n}\n\n/** Represents a property access expression. */\nexport class PropertyAccessExpression extends Expression {\n constructor(\n /** Expression being accessed. */\n public expression: Expression,\n /** Property of the expression being accessed. */\n public property: IdentifierExpression,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.PropertyAccess, range);\n }\n}\n\n/** Represents a regular expression literal expression. */\nexport class RegexpLiteralExpression extends LiteralExpression {\n constructor(\n /** Regular expression pattern. */\n public pattern: string,\n /** Regular expression flags. */\n public patternFlags: string,\n /** Source range. */\n range: Range\n ) {\n super(LiteralKind.RegExp, range);\n }\n}\n\n/** Represents a ternary expression, i.e., short if notation. */\nexport class TernaryExpression extends Expression {\n constructor(\n /** Condition expression. */\n public condition: Expression,\n /** Expression executed when condition is `true`. */\n public ifThen: Expression,\n /** Expression executed when condition is `false`. */\n public ifElse: Expression,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.Ternary, range);\n }\n}\n\n/** Represents a string literal expression. */\nexport class StringLiteralExpression extends LiteralExpression {\n constructor(\n /** String value without quotes. */\n public value: string,\n /** Source range. */\n range: Range\n ) {\n super(LiteralKind.String, range);\n }\n}\n\n/** Represents a `super` expression. */\nexport class SuperExpression extends IdentifierExpression {\n constructor(\n /** Source range. */\n range: Range\n ) {\n super(\"super\", false, range);\n this.kind = NodeKind.Super;\n }\n}\n\n/** Represents a template literal expression. */\nexport class TemplateLiteralExpression extends LiteralExpression {\n constructor(\n /** Tag expression, if any. */\n public tag: Expression | null,\n /** String parts. */\n public parts: string[],\n /** Raw string parts. */\n public rawParts: string[],\n /** Expression parts. */\n public expressions: Expression[],\n /** Source range. */\n range: Range\n ) {\n super(LiteralKind.Template, range);\n }\n}\n\n/** Represents a `this` expression. */\nexport class ThisExpression extends IdentifierExpression {\n constructor(\n /** Source range. */\n range: Range\n ) {\n super(\"this\", false, range);\n this.kind = NodeKind.This;\n }\n}\n\n/** Represents a `true` expression. */\nexport class TrueExpression extends IdentifierExpression {\n constructor(\n /** Source range. */\n range: Range\n ) {\n super(\"true\", false, range);\n this.kind = NodeKind.True;\n }\n}\n\n/** Represents a `false` expression. */\nexport class FalseExpression extends IdentifierExpression {\n constructor(\n /** Source range. */\n range: Range\n ) {\n super(\"false\", false, range);\n this.kind = NodeKind.False;\n }\n}\n\n/** Base class of all unary expressions. */\nexport abstract class UnaryExpression extends Expression {\n constructor(\n /** Unary expression kind. */\n kind: NodeKind,\n /** Operator token. */\n public operator: Token,\n /** Operand expression. */\n public operand: Expression,\n /** Source range. */\n range: Range\n ) {\n super(kind, range);\n }\n}\n\n/** Represents a unary postfix expression, e.g. a postfix increment. */\nexport class UnaryPostfixExpression extends UnaryExpression {\n constructor(\n /** Operator token. */\n operator: Token,\n /** Operand expression. */\n operand: Expression,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.UnaryPostfix, operator, operand, range);\n }\n}\n\n/** Represents a unary prefix expression, e.g. a negation. */\nexport class UnaryPrefixExpression extends UnaryExpression {\n constructor(\n /** Operator token. */\n operator: Token,\n /** Operand expression. */\n operand: Expression,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.UnaryPrefix, operator, operand, range);\n }\n}\n\n/** Represents a special pre-compiled expression. If the expression has side-effects, special care has to be taken. */\nexport class CompiledExpression extends Expression {\n constructor(\n /** Compiled expression. */\n public expr: ExpressionRef,\n /** Type of the compiled expression. */\n public type: Type,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.Compiled, range);\n }\n}\n\n// statements\n\n/** Base class of all statement nodes. */\nexport abstract class Statement extends Node { }\n\n/** Indicates the specific kind of a source. */\nexport const enum SourceKind {\n /** User-provided file. */\n User = 0,\n /** User-provided entry file. */\n UserEntry = 1,\n /** Library-provided file. */\n Library = 2,\n /** Library-provided entry file. */\n LibraryEntry = 3\n}\n\n/** A top-level source node. */\nexport class Source extends Node {\n\n /** Gets the special native source. */\n static get native(): Source {\n let source = Source._native;\n if (!source) Source._native = source = new Source(SourceKind.LibraryEntry, LIBRARY_PREFIX + \"native.ts\", \"[native code]\");\n return source;\n }\n private static _native: Source | null = null;\n\n constructor(\n /** Source kind. */\n public sourceKind: SourceKind,\n /** Normalized path with file extension. */\n public normalizedPath: string,\n /** Full source text. */\n public text: string\n ) {\n super(NodeKind.Source, new Range(0, text.length));\n let internalPath = mangleInternalPath(normalizedPath);\n this.internalPath = internalPath;\n let pos = internalPath.lastIndexOf(PATH_DELIMITER);\n this.simplePath = pos >= 0 ? internalPath.substring(pos + 1) : internalPath;\n this.range.source = this;\n }\n\n /** Path used internally. */\n internalPath: string;\n /** Simple path (last part without extension). */\n simplePath: string;\n /** Contained statements. */\n statements: Statement[] = new Array();\n /** Source map index. */\n debugInfoIndex: i32 = -1;\n /** Re-exported sources. */\n exportPaths: string[] | null = null;\n\n /** Checks if this source represents native code. */\n get isNative(): bool {\n return this.internalPath == LIBRARY_SUBST;\n }\n\n /** Checks if this source is part of the (standard) library. */\n get isLibrary(): bool {\n let kind = this.sourceKind;\n return kind == SourceKind.Library || kind == SourceKind.LibraryEntry;\n }\n\n /** Cached line starts. */\n private lineCache: i32[] | null = null;\n\n /** Remembered column number. */\n private lineColumn: i32 = 1;\n\n /** Determines the line number at the specified position. Starts at `1`. */\n lineAt(pos: i32): i32 {\n assert(pos >= 0 && pos < 0x7fffffff);\n let lineCache = this.lineCache;\n if (!lineCache) {\n this.lineCache = lineCache = [0];\n let text = this.text;\n let off = 0;\n let end = text.length;\n while (off < end) {\n if (text.charCodeAt(off++) == CharCode.LineFeed) lineCache.push(off);\n }\n lineCache.push(0x7fffffff);\n }\n let l = 0;\n let r = lineCache.length - 1;\n while (l < r) {\n let m = l + ((r - l) >> 1);\n let s = unchecked(lineCache[m]);\n if (pos < s) r = m;\n else if (pos < unchecked(lineCache[m + 1])) {\n this.lineColumn = pos - s + 1;\n return m + 1;\n }\n else l = m + 1;\n }\n return assert(0);\n }\n\n /** Gets the column number at the last position queried with `lineAt`. Starts at `1`. */\n columnAt(): i32 {\n return this.lineColumn;\n }\n}\n\n/** Base class of all declaration statements. */\nexport abstract class DeclarationStatement extends Statement {\n constructor(\n /** Declaration node kind. */\n kind: NodeKind,\n /** Simple name being declared. */\n public name: IdentifierExpression,\n /** Array of decorators, if any. */\n public decorators: DecoratorNode[] | null,\n /** Common flags indicating specific traits. */\n public flags: CommonFlags,\n /** Source range. */\n range: Range\n ) {\n super(kind, range);\n }\n /** Overridden module name from preceeding `module` statement. */\n public overriddenModuleName: string | null = null;\n\n /** Tests if this node has the specified flag or flags. */\n is(flag: CommonFlags): bool { return (this.flags & flag) == flag; }\n /** Tests if this node has one of the specified flags. */\n isAny(flag: CommonFlags): bool { return (this.flags & flag) != 0; }\n /** Sets a specific flag or flags. */\n set(flag: CommonFlags): void { this.flags |= flag; }\n}\n\n/** Represents an index signature. */\nexport class IndexSignatureNode extends Node {\n constructor(\n /** Key type. */\n public keyType: NamedTypeNode,\n /** Value type. */\n public valueType: TypeNode,\n /** Common flags indicating specific traits. */\n public flags: CommonFlags,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.IndexSignature, range);\n }\n}\n\n/** Base class of all variable-like declaration statements. */\nexport abstract class VariableLikeDeclarationStatement extends DeclarationStatement {\n constructor(\n /** Variable-like declaration node kind. */\n kind: NodeKind,\n /** Simple name being declared. */\n name: IdentifierExpression,\n /** Array of decorators, if any. */\n decorators: DecoratorNode[] | null,\n /** Common flags indicating specific traits. */\n flags: CommonFlags,\n /** Annotated type node, if any. */\n public type: TypeNode | null,\n /** Initializer expression, if any. */\n public initializer: Expression | null,\n /** Source range. */\n range: Range\n ) {\n super(kind, name, decorators, flags, range);\n }\n}\n\n/** Represents a block statement. */\nexport class BlockStatement extends Statement {\n constructor(\n /** Contained statements. */\n public statements: Statement[],\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.Block, range);\n }\n}\n\n/** Represents a `break` statement. */\nexport class BreakStatement extends Statement {\n constructor(\n /** Target label, if any. */\n public label: IdentifierExpression | null,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.Break, range);\n }\n}\n\n/** Represents a `class` declaration. */\nexport class ClassDeclaration extends DeclarationStatement {\n constructor(\n /** Simple name being declared. */\n name: IdentifierExpression,\n /** Array of decorators, if any. */\n decorators: DecoratorNode[] | null,\n /** Common flags indicating specific traits. */\n flags: CommonFlags,\n /** Accepted type parameters. */\n public typeParameters: TypeParameterNode[] | null,\n /** Base class type being extended, if any. */\n public extendsType: NamedTypeNode | null, // can't be a function\n /** Interface types being implemented, if any. */\n public implementsTypes: NamedTypeNode[] | null, // can't be functions\n /** Class member declarations. */\n public members: DeclarationStatement[],\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.ClassDeclaration, name, decorators, flags, range);\n }\n\n /** Index signature, if present. */\n indexSignature: IndexSignatureNode | null = null;\n\n get isGeneric(): bool {\n let typeParameters = this.typeParameters;\n return typeParameters != null && typeParameters.length > 0;\n }\n}\n\n/** Represents a `continue` statement. */\nexport class ContinueStatement extends Statement {\n constructor(\n /** Target label, if applicable. */\n public label: IdentifierExpression | null,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.Continue, range);\n }\n}\n\n/** Represents a `do` statement. */\nexport class DoStatement extends Statement {\n constructor(\n /** Body statement being looped over. */\n public body: Statement,\n /** Condition when to repeat. */\n public condition: Expression,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.Do, range);\n }\n}\n\n/** Represents an empty statement, i.e., a semicolon terminating nothing. */\nexport class EmptyStatement extends Statement {\n constructor(\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.Empty, range);\n }\n}\n\n/** Represents an `enum` declaration. */\nexport class EnumDeclaration extends DeclarationStatement {\n constructor(\n /** Simple name being declared. */\n name: IdentifierExpression,\n /** Array of decorators, if any. */\n decorators: DecoratorNode[] | null,\n /** Common flags indicating specific traits. */\n flags: CommonFlags,\n /** Enum value declarations. */\n public values: EnumValueDeclaration[],\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.EnumDeclaration, name, decorators, flags, range);\n }\n}\n\n/** Represents a value of an `enum` declaration. */\nexport class EnumValueDeclaration extends VariableLikeDeclarationStatement {\n constructor(\n /** Simple name being declared. */\n name: IdentifierExpression,\n /** Common flags indicating specific traits. */\n flags: CommonFlags,\n /** Initializer expression, if any. */\n initializer: Expression | null,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.EnumValueDeclaration, name, null, flags, null, initializer, range);\n }\n}\n\n/** Represents an `export import` statement of an interface. */\nexport class ExportImportStatement extends Statement {\n constructor(\n /** Identifier being imported. */\n public name: IdentifierExpression,\n /** Identifier being exported. */\n public externalName: IdentifierExpression,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.ExportImport, range);\n }\n}\n\n/** Represents a member of an `export` statement. */\nexport class ExportMember extends Node {\n constructor(\n /** Local identifier. */\n public localName: IdentifierExpression,\n /** Exported identifier. */\n public exportedName: IdentifierExpression,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.ExportMember, range);\n }\n}\n\n/** Represents an `export` statement. */\nexport class ExportStatement extends Statement {\n constructor(\n /** Array of members if a set of named exports, or `null` if a file export. */\n public members: ExportMember[] | null,\n /** Path being exported from, if applicable. */\n public path: StringLiteralExpression | null,\n /** Whether this is a declared export. */\n public isDeclare: bool,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.Export, range);\n if (path) {\n let normalizedPath = normalizePath(path.value);\n if (path.value.startsWith(\".\")) { // relative\n normalizedPath = resolvePath(normalizedPath, range.source.internalPath);\n } else { // absolute\n if (!normalizedPath.startsWith(LIBRARY_PREFIX)) normalizedPath = LIBRARY_PREFIX + normalizedPath;\n }\n this.internalPath = normalizedPath;\n } else {\n this.internalPath = null;\n }\n }\n\n /** Internal path being referenced, if `path` is set. */\n internalPath: string | null;\n}\n\n/** Represents an `export default` statement. */\nexport class ExportDefaultStatement extends Statement {\n constructor(\n /** Declaration being exported as default. */\n public declaration: DeclarationStatement,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.ExportDefault, range);\n }\n}\n\n/** Represents an expression that is used as a statement. */\nexport class ExpressionStatement extends Statement {\n constructor(\n /** Expression being used as a statement.*/\n public expression: Expression\n ) {\n super(NodeKind.Expression, expression.range);\n }\n}\n\n/** Represents a field declaration within a `class`. */\nexport class FieldDeclaration extends VariableLikeDeclarationStatement {\n constructor(\n /** Simple name being declared. */\n name: IdentifierExpression,\n /** Array of decorators, if any. */\n decorators: DecoratorNode[] | null,\n /** Common flags indicating specific traits. */\n flags: CommonFlags,\n /** Annotated type node, if any. */\n type: TypeNode | null,\n /** Initializer expression, if any. */\n initializer: Expression | null,\n /** Parameter index if declared as a constructor parameter, otherwise `-1`. */\n public parameterIndex: i32,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.FieldDeclaration, name, decorators, flags, type, initializer, range);\n }\n}\n\n/** Represents a `for` statement. */\nexport class ForStatement extends Statement {\n constructor(\n /** Initializer statement, if present. Either a `VariableStatement` or `ExpressionStatement`. */\n public initializer: Statement | null,\n /** Condition expression, if present. */\n public condition: Expression | null,\n /** Incrementor expression, if present. */\n public incrementor: Expression | null,\n /** Body statement being looped over. */\n public body: Statement,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.For, range);\n }\n}\n\n/** Represents a `for..of` statement. */\nexport class ForOfStatement extends Statement {\n constructor(\n /** Variable statement. Either a `VariableStatement` or `ExpressionStatement` of `IdentifierExpression`. */\n public variable: Statement,\n /** Iterable expression being iterated. */\n public iterable: Expression,\n /** Body statement being looped over. */\n public body: Statement,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.ForOf, range);\n }\n}\n\n/** Indicates the kind of an array function. */\nexport const enum ArrowKind {\n /** Not an arrow function. */\n None,\n /** Parenthesized parameter list. */\n Parenthesized,\n /** Single parameter without parenthesis. */\n Single\n}\n\n/** Represents a `function` declaration. */\nexport class FunctionDeclaration extends DeclarationStatement {\n constructor(\n /** Simple name being declared. */\n name: IdentifierExpression,\n /** Array of decorators, if any. */\n decorators: DecoratorNode[] | null,\n /** Common flags indicating specific traits. */\n flags: CommonFlags,\n /** Type parameters, if any. */\n public typeParameters: TypeParameterNode[] | null,\n /** Function signature. */\n public signature: FunctionTypeNode,\n /** Body statement. Usually a block. */\n public body: Statement | null,\n /** Arrow function kind, if applicable. */\n public arrowKind: ArrowKind,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.FunctionDeclaration, name, decorators, flags, range);\n }\n\n /** Gets if this function is generic. */\n get isGeneric(): bool {\n let typeParameters = this.typeParameters;\n return typeParameters != null && typeParameters.length > 0;\n }\n\n /** Clones this function declaration. */\n clone(): FunctionDeclaration {\n return new FunctionDeclaration(\n this.name,\n this.decorators,\n this.flags,\n this.typeParameters,\n this.signature,\n this.body,\n this.arrowKind,\n this.range\n );\n }\n}\n\n/** Represents an `if` statement. */\nexport class IfStatement extends Statement {\n constructor(\n /** Condition. */\n public condition: Expression,\n /** Statement executed when condition is `true`. */\n public ifTrue: Statement,\n /** Statement executed when condition is `false`. */\n public ifFalse: Statement | null,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.If, range);\n }\n}\n\n/** Represents an `import` declaration part of an {@link ImportStatement}. */\nexport class ImportDeclaration extends DeclarationStatement {\n constructor(\n /** Simple name being declared. */\n name: IdentifierExpression,\n /** Identifier being imported. */\n public foreignName: IdentifierExpression,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.ImportDeclaration, name, null, CommonFlags.None, range);\n }\n}\n\n/** Represents an `import` statement. */\nexport class ImportStatement extends Statement {\n constructor(\n /** Array of member declarations or `null` if an asterisk import. */\n public declarations: ImportDeclaration[] | null,\n /** Name of the local namespace, if an asterisk import. */\n public namespaceName: IdentifierExpression | null,\n /** Path being imported from. */\n public path: StringLiteralExpression,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.Import, range);\n let normalizedPath = normalizePath(path.value);\n if (path.value.startsWith(\".\")) { // relative in project\n normalizedPath = resolvePath(normalizedPath, range.source.internalPath);\n } else { // absolute in library\n if (!normalizedPath.startsWith(LIBRARY_PREFIX)) normalizedPath = LIBRARY_PREFIX + normalizedPath;\n }\n this.internalPath = mangleInternalPath(normalizedPath);\n }\n\n /** Internal path being referenced. */\n internalPath: string;\n}\n\n/** Represents an `interfarce` declaration. */\nexport class InterfaceDeclaration extends ClassDeclaration {\n constructor(\n /** Simple name being declared. */\n name: IdentifierExpression,\n /** Array of decorators, if any. */\n decorators: DecoratorNode[] | null,\n /** Common flags indicating specific traits. */\n flags: CommonFlags,\n /** Accepted type parameters. */\n typeParameters: TypeParameterNode[] | null,\n /** Base class type being extended, if any. */\n extendsType: NamedTypeNode | null, // can't be a function\n /** Interface types being implemented, if any. */\n implementsTypes: NamedTypeNode[] | null, // can't be functions\n /** Class member declarations. */\n members: DeclarationStatement[],\n /** Source range. */\n range: Range\n ) {\n super(name, decorators, flags, typeParameters, extendsType, implementsTypes, members, range);\n this.kind = NodeKind.InterfaceDeclaration;\n }\n}\n\n/** Represents a method declaration within a `class`. */\nexport class MethodDeclaration extends FunctionDeclaration {\n constructor(\n /** Simple name being declared. */\n name: IdentifierExpression,\n /** Array of decorators, if any. */\n decorators: DecoratorNode[] | null,\n /** Common flags indicating specific traits. */\n flags: CommonFlags,\n /** Type parameters, if any. */\n typeParameters: TypeParameterNode[] | null,\n /** Function signature. */\n signature: FunctionTypeNode,\n /** Body statement. Usually a block. */\n body: Statement | null,\n /** Source range. */\n range: Range\n ) {\n super(name, decorators, flags, typeParameters, signature, body, ArrowKind.None, range);\n this.kind = NodeKind.MethodDeclaration;\n }\n}\n\n/** Represents a `namespace` declaration. */\nexport class NamespaceDeclaration extends DeclarationStatement {\n constructor(\n /** Simple name being declared. */\n name: IdentifierExpression,\n /** Array of decorators, if any. */\n decorators: DecoratorNode[] | null,\n /** Common flags indicating specific traits. */\n flags: CommonFlags,\n /** Array of namespace members. */\n public members: Statement[],\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.NamespaceDeclaration, name, decorators, flags, range);\n }\n}\n\n/** Represents a `return` statement. */\nexport class ReturnStatement extends Statement {\n constructor(\n /** Value expression being returned, if present. */\n public value: Expression | null,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.Return, range);\n }\n}\n\n/** Represents a single `case` within a `switch` statement. */\nexport class SwitchCase extends Node {\n constructor(\n /** Label expression. `null` indicates the default case. */\n public label: Expression | null,\n /** Contained statements. */\n public statements: Statement[],\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.SwitchCase, range);\n }\n\n get isDefault(): bool {\n return this.label == null;\n }\n}\n\n/** Represents a `switch` statement. */\nexport class SwitchStatement extends Statement {\n constructor(\n /** Condition expression. */\n public condition: Expression,\n /** Contained cases. */\n public cases: SwitchCase[],\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.Switch, range);\n }\n}\n\n/** Represents a `throw` statement. */\nexport class ThrowStatement extends Statement {\n constructor(\n /** Value expression being thrown. */\n public value: Expression,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.Throw, range);\n }\n}\n\n/** Represents a `try` statement. */\nexport class TryStatement extends Statement {\n constructor(\n /** Contained statements. */\n public bodyStatements: Statement[],\n /** Exception variable name, if a `catch` clause is present. */\n public catchVariable: IdentifierExpression | null,\n /** Statements being executed on catch, if a `catch` clause is present. */\n public catchStatements: Statement[] | null,\n /** Statements being executed afterwards, if a `finally` clause is present. */\n public finallyStatements: Statement[] | null,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.Try, range);\n }\n}\n\n/** Represents a `module` statement. */\nexport class ModuleDeclaration extends Statement {\n constructor(\n /** Module name. */\n public moduleName: string,\n /** Common flags indicating specific traits. */\n public flags: CommonFlags,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.Module, range);\n }\n}\n\n/** Represents a `type` declaration. */\nexport class TypeDeclaration extends DeclarationStatement {\n constructor(\n /** Simple name being declared. */\n name: IdentifierExpression,\n /** Array of decorators, if any. */\n decorators: DecoratorNode[] | null,\n /** Common flags indicating specific traits. */\n flags: CommonFlags,\n /** Type parameters, if any. */\n public typeParameters: TypeParameterNode[] | null,\n /** Type being aliased. */\n public type: TypeNode,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.TypeDeclaration, name, decorators, flags, range);\n }\n}\n\n/** Represents a variable declaration part of a {@link VariableStatement}. */\nexport class VariableDeclaration extends VariableLikeDeclarationStatement {\n constructor(\n /** Simple name being declared. */\n name: IdentifierExpression,\n /** Array of decorators, if any. */\n decorators: DecoratorNode[] | null,\n /** Common flags indicating specific traits. */\n flags: CommonFlags,\n /** Annotated type node, if any. */\n type: TypeNode | null,\n /** Initializer expression, if any. */\n initializer: Expression | null,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.VariableDeclaration, name, decorators, flags, type, initializer, range);\n }\n}\n\n/** Represents a variable statement wrapping {@link VariableDeclaration}s. */\nexport class VariableStatement extends Statement {\n constructor(\n /** Array of decorators. */\n public decorators: DecoratorNode[] | null,\n /** Array of member declarations. */\n public declarations: VariableDeclaration[],\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.Variable, range);\n }\n}\n\n/** Represents a void statement dropping an expression's value. */\nexport class VoidStatement extends Statement {\n constructor(\n /** Expression being dropped. */\n public expression: Expression,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.Void, range);\n }\n}\n\n/** Represents a `while` statement. */\nexport class WhileStatement extends Statement {\n constructor(\n /** Condition expression. */\n public condition: Expression,\n /** Body statement being looped over. */\n public body: Statement,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.While, range);\n }\n}\n\n/** Finds the first decorator matching the specified kind. */\nexport function findDecorator(kind: DecoratorKind, decorators: DecoratorNode[] | null): DecoratorNode | null {\n if (decorators) {\n for (let i = 0, k = decorators.length; i < k; ++i) {\n let decorator = decorators[i];\n if (decorator.decoratorKind == kind) return decorator;\n }\n }\n return null;\n}\n\n/** Mangles an external to an internal path. */\nexport function mangleInternalPath(path: string): string {\n if (path.endsWith(\"/\")) {\n path += \"index\";\n } else if (path.endsWith(\".ts\")) {\n path = path.substring(0, path.length - 3);\n }\n return path;\n}\n\n/** Tests if the specified type node represents an omitted type. */\nexport function isTypeOmitted(type: TypeNode): bool {\n if (type.kind == NodeKind.NamedType) {\n let name = (type).name;\n return !(name.next || name.identifier.text.length > 0);\n }\n return false;\n}\n", "/**\n * @fileoverview A TypeScript tokenizer modified for AssemblyScript.\n *\n * The `Tokenizer` scans over a source file and returns one syntactic token\n * at a time that the parser will combine to an abstract syntax tree.\n *\n * It skips over trivia like comments and whitespace and provides a general\n * mark/reset mechanism for the parser to utilize on ambiguous tokens, with\n * one token of lookahead otherwise.\n *\n * @license Apache-2.0\n */\n\nimport {\n Range,\n DiagnosticCode,\n DiagnosticMessage,\n DiagnosticEmitter\n} from \"./diagnostics\";\n\nimport {\n Source,\n CommentKind\n} from \"./ast\";\n\nimport {\n CharCode,\n isLineBreak,\n isWhiteSpace,\n isIdentifierStart,\n isIdentifierPart,\n isDecimal,\n isOctal,\n isHexBase,\n isHighSurrogate,\n combineSurrogates,\n numCodeUnits\n} from \"./util\";\n\n/** Named token types. */\nexport const enum Token {\n\n // keywords\n // discarded: ANY, BOOLEAN, NEVER, NUMBER, STRING, SYMBOL, UNDEFINED, LESSTHAN_SLASH\n\n Abstract,\n As,\n Async,\n Await, // ES2017\n Break, // ES2017\n Case, // ES2017\n Catch, // ES2017\n Class, // ES2017\n Const, // ES2017\n Continue, // ES2017\n Constructor,\n Debugger, // ES2017\n Declare,\n Default, // ES2017\n Delete, // ES2017\n Do, // ES2017\n Else, // ES2017\n Enum, // ES2017 future\n Export, // ES2017\n Extends, // ES2017\n False, // ES\n Finally, // ES2017\n For, // ES2017\n From, // AS possible identifier\n Function, // ES2017\n Get,\n If, // ES2017\n Implements, // ES2017 non-lexical\n Import, // ES2017\n In, // ES2017\n InstanceOf, // ES2017\n Interface, // ES2017 non-lexical\n Is,\n KeyOf,\n Let, // ES2017 non-lexical\n Module, // AS possible identifier\n Namespace, // AS possible identifier\n New, // ES2017\n Null, // ES\n Of,\n Override,\n Package, // ES2017 non-lexical\n Private, // ES2017 non-lexical\n Protected, // ES2017 non-lexical\n Public, // ES2017 non-lexical\n Readonly,\n Return, // ES2017\n Set,\n Static, // ES2017 non-lexical\n Super, // ES2017\n Switch, // ES2017\n This, // ES2017\n Throw, // ES2017\n True, // ES\n Try, // ES2017\n Type, // AS possible identifier\n TypeOf, // ES2017\n Var, // ES2017\n Void, // ES2017\n While, // ES2017\n With, // ES2017\n Yield, // ES2017\n\n // punctuation\n\n OpenBrace,\n CloseBrace,\n OpenParen,\n CloseParen,\n OpenBracket,\n CloseBracket,\n Dot,\n Dot_Dot_Dot,\n Semicolon,\n Comma,\n LessThan,\n GreaterThan,\n LessThan_Equals,\n GreaterThan_Equals,\n Equals_Equals,\n Exclamation_Equals,\n Equals_Equals_Equals,\n Exclamation_Equals_Equals,\n Equals_GreaterThan,\n Plus,\n Minus,\n Asterisk_Asterisk,\n Asterisk,\n Slash,\n Percent,\n Plus_Plus,\n Minus_Minus,\n LessThan_LessThan,\n GreaterThan_GreaterThan,\n GreaterThan_GreaterThan_GreaterThan,\n Ampersand,\n Bar,\n Caret,\n Exclamation,\n Tilde,\n Ampersand_Ampersand,\n Bar_Bar,\n Question,\n Colon,\n Equals,\n Plus_Equals,\n Minus_Equals,\n Asterisk_Equals,\n Asterisk_Asterisk_Equals,\n Slash_Equals,\n Percent_Equals,\n LessThan_LessThan_Equals,\n GreaterThan_GreaterThan_Equals,\n GreaterThan_GreaterThan_GreaterThan_Equals,\n Ampersand_Equals,\n Bar_Equals,\n Caret_Equals,\n At,\n\n // literals\n\n Identifier,\n StringLiteral,\n IntegerLiteral,\n FloatLiteral,\n TemplateLiteral,\n\n // meta\n\n Invalid,\n EndOfFile\n}\n\nexport const enum IdentifierHandling {\n Default,\n Prefer,\n Always\n}\n\nexport function tokenFromKeyword(text: string): Token {\n let len = text.length;\n assert(len);\n switch (text.charCodeAt(0)) {\n case CharCode.a: {\n if (len == 5) {\n if (text == \"async\") return Token.Async;\n if (text == \"await\") return Token.Await;\n break;\n }\n if (text == \"as\") return Token.As;\n if (text == \"abstract\") return Token.Abstract;\n break;\n }\n case CharCode.b: {\n if (text == \"break\") return Token.Break;\n break;\n }\n case CharCode.c: {\n if (len == 5) {\n if (text == \"const\") return Token.Const;\n if (text == \"class\") return Token.Class;\n if (text == \"catch\") return Token.Catch;\n break;\n }\n if (text == \"case\") return Token.Case;\n if (text == \"continue\") return Token.Continue;\n if (text == \"constructor\") return Token.Constructor;\n break;\n }\n case CharCode.d: {\n if (len == 7) {\n if (text == \"default\") return Token.Default;\n if (text == \"declare\") return Token.Declare;\n break;\n }\n if (text == \"do\") return Token.Do;\n if (text == \"delete\") return Token.Delete;\n if (text == \"debugger\") return Token.Debugger;\n break;\n }\n case CharCode.e: {\n if (len == 4) {\n if (text == \"else\") return Token.Else;\n if (text == \"enum\") return Token.Enum;\n break;\n }\n if (text == \"export\") return Token.Export;\n if (text == \"extends\") return Token.Extends;\n break;\n }\n case CharCode.f: {\n if (len <= 5) {\n if (text == \"false\") return Token.False;\n if (text == \"for\") return Token.For;\n if (text == \"from\") return Token.From;\n break;\n }\n if (text == \"function\") return Token.Function;\n if (text == \"finally\") return Token.Finally;\n break;\n }\n case CharCode.g: {\n if (text == \"get\") return Token.Get;\n break;\n }\n case CharCode.i: {\n if (len == 2) {\n if (text == \"if\") return Token.If;\n if (text == \"in\") return Token.In;\n if (text == \"is\") return Token.Is;\n break;\n }\n switch (text.charCodeAt(3)) {\n case CharCode.l: {\n if (text == \"implements\") return Token.Implements;\n break;\n }\n case CharCode.o: {\n if (text == \"import\") return Token.Import;\n break;\n }\n case CharCode.t: {\n if (text == \"instanceof\") return Token.InstanceOf;\n break;\n }\n case CharCode.e: {\n if (text == \"interface\") return Token.Interface;\n break;\n }\n }\n break;\n }\n case CharCode.k: {\n if (text == \"keyof\") return Token.KeyOf;\n break;\n }\n case CharCode.l: {\n if (text == \"let\") return Token.Let;\n break;\n }\n case CharCode.m: {\n if (text == \"module\") return Token.Module;\n break;\n }\n case CharCode.n: {\n if (text == \"new\") return Token.New;\n if (text == \"null\") return Token.Null;\n if (text == \"namespace\") return Token.Namespace;\n break;\n }\n case CharCode.o: {\n if (text == \"of\") return Token.Of;\n if (text == \"override\") return Token.Override;\n break;\n }\n case CharCode.p: {\n if (len == 7) {\n if (text == \"private\") return Token.Private;\n if (text == \"package\") return Token.Package;\n break;\n }\n if (text == \"public\") return Token.Public;\n if (text == \"protected\") return Token.Protected;\n break;\n }\n case CharCode.r: {\n if (text == \"return\") return Token.Return;\n if (text == \"readonly\") return Token.Readonly;\n break;\n }\n case CharCode.s: {\n if (len == 6) {\n if (text == \"switch\") return Token.Switch;\n if (text == \"static\") return Token.Static;\n break;\n }\n if (text == \"set\") return Token.Set;\n if (text == \"super\") return Token.Super;\n break;\n }\n case CharCode.t: {\n if (len == 4) {\n if (text == \"true\") return Token.True;\n if (text == \"this\") return Token.This;\n if (text == \"type\") return Token.Type;\n break;\n }\n if (text == \"try\") return Token.Try;\n if (text == \"throw\") return Token.Throw;\n if (text == \"typeof\") return Token.TypeOf;\n break;\n }\n case CharCode.v: {\n if (text == \"var\") return Token.Var;\n if (text == \"void\") return Token.Void;\n break;\n }\n case CharCode.w: {\n if (text == \"while\") return Token.While;\n if (text == \"with\") return Token.With;\n break;\n }\n case CharCode.y: {\n if (text == \"yield\") return Token.Yield;\n break;\n }\n }\n return Token.Invalid;\n}\n\nexport function tokenIsAlsoIdentifier(token: Token): bool {\n switch (token) {\n case Token.Abstract:\n case Token.As:\n case Token.Constructor:\n case Token.Declare:\n case Token.Delete:\n case Token.From:\n case Token.For:\n case Token.Get:\n case Token.InstanceOf:\n case Token.Is:\n case Token.KeyOf:\n case Token.Module:\n case Token.Namespace:\n case Token.Null:\n case Token.Readonly:\n case Token.Set:\n case Token.Type:\n case Token.Void: return true;\n default: return false;\n }\n}\n\nexport function isIllegalVariableIdentifier(name: string): bool {\n assert(name.length);\n switch (name.charCodeAt(0)) {\n case CharCode.d: return name == \"delete\";\n case CharCode.f: return name == \"for\";\n case CharCode.i: return name == \"instanceof\";\n case CharCode.n: return name == \"null\";\n case CharCode.v: return name == \"void\";\n }\n return false;\n}\n\nexport function operatorTokenToString(token: Token): string {\n switch (token) {\n case Token.Delete: return \"delete\";\n case Token.In: return \"in\";\n case Token.InstanceOf: return \"instanceof\";\n case Token.New: return \"new\";\n case Token.TypeOf: return \"typeof\";\n case Token.Void: return \"void\";\n case Token.Yield: return \"yield\";\n case Token.Dot_Dot_Dot: return \"...\";\n case Token.Comma: return \",\";\n case Token.LessThan: return \"<\";\n case Token.GreaterThan: return \">\";\n case Token.LessThan_Equals: return \"<=\";\n case Token.GreaterThan_Equals: return \">=\";\n case Token.Equals_Equals: return \"==\";\n case Token.Exclamation_Equals: return \"!=\";\n case Token.Equals_Equals_Equals: return \"===\";\n case Token.Exclamation_Equals_Equals: return \"!==\";\n case Token.Plus: return \"+\";\n case Token.Minus: return \"-\";\n case Token.Asterisk_Asterisk: return \"**\";\n case Token.Asterisk: return \"*\";\n case Token.Slash: return \"/\";\n case Token.Percent: return \"%\";\n case Token.Plus_Plus: return \"++\";\n case Token.Minus_Minus: return \"--\";\n case Token.LessThan_LessThan: return \"<<\";\n case Token.GreaterThan_GreaterThan: return \">>\";\n case Token.GreaterThan_GreaterThan_GreaterThan: return \">>>\";\n case Token.Ampersand: return \"&\";\n case Token.Bar: return \"|\";\n case Token.Caret: return \"^\";\n case Token.Exclamation: return \"!\";\n case Token.Tilde: return \"~\";\n case Token.Ampersand_Ampersand: return \"&&\";\n case Token.Bar_Bar: return \"||\";\n case Token.Equals: return \"=\";\n case Token.Plus_Equals: return \"+=\";\n case Token.Minus_Equals: return \"-=\";\n case Token.Asterisk_Equals: return \"*=\";\n case Token.Asterisk_Asterisk_Equals: return \"**=\";\n case Token.Slash_Equals: return \"/=\";\n case Token.Percent_Equals: return \"%=\";\n case Token.LessThan_LessThan_Equals: return \"<<=\";\n case Token.GreaterThan_GreaterThan_Equals: return \">>=\";\n case Token.GreaterThan_GreaterThan_GreaterThan_Equals: return \">>>=\";\n case Token.Ampersand_Equals: return \"&=\";\n case Token.Bar_Equals: return \"|=\";\n case Token.Caret_Equals: return \"^=\";\n default: {\n assert(false);\n return \"\";\n }\n }\n}\n\n/** Handler for intercepting comments while tokenizing. */\nexport type CommentHandler = (kind: CommentKind, text: string, range: Range) => void;\n\n/** Whether a token begins on a new line, if known. */\nenum OnNewLine {\n No,\n Yes,\n Unknown\n}\n\n/** Tokenizes a source to individual {@link Token}s. */\nexport class Tokenizer extends DiagnosticEmitter {\n\n source: Source;\n end: i32 = 0;\n\n pos: i32 = 0;\n token: Token = -1;\n tokenPos: i32 = 0;\n\n nextToken: Token = -1;\n nextTokenPos: i32 = 0;\n nextTokenOnNewLine: OnNewLine = OnNewLine.Unknown;\n\n onComment: CommentHandler | null = null;\n\n /** Constructs a new tokenizer. */\n constructor(source: Source, diagnostics: DiagnosticMessage[] | null = null) {\n super(diagnostics);\n\n if (!diagnostics) diagnostics = [];\n this.diagnostics = diagnostics;\n this.source = source;\n\n let text = source.text;\n let end = text.length;\n let pos = 0;\n // skip bom\n if (\n pos < end &&\n text.charCodeAt(pos) == CharCode.ByteOrderMark\n ) {\n ++pos;\n }\n\n // skip shebang\n if (\n pos + 1 < end &&\n text.charCodeAt(pos) == CharCode.Hash &&\n text.charCodeAt(pos + 1) == CharCode.Exclamation\n ) {\n pos += 2;\n while (\n pos < end &&\n text.charCodeAt(pos) != CharCode.LineFeed\n ) {\n ++pos;\n }\n // 'next' now starts at lf or eof\n }\n this.pos = pos;\n this.end = end;\n }\n\n next(identifierHandling: IdentifierHandling = IdentifierHandling.Default): Token {\n this.clearNextToken();\n let token: Token;\n do token = this.unsafeNext(identifierHandling);\n while (token == Token.Invalid);\n this.token = token;\n return token;\n }\n\n private unsafeNext(\n identifierHandling: IdentifierHandling = IdentifierHandling.Default,\n maxTokenLength: i32 = i32.MAX_VALUE\n ): Token {\n let text = this.source.text;\n let end = this.end;\n let pos = this.pos;\n while (pos < end) {\n this.tokenPos = pos;\n let c = text.charCodeAt(pos);\n switch (c) {\n case CharCode.CarriageReturn: {\n if (!(\n ++pos < end &&\n text.charCodeAt(pos) == CharCode.LineFeed\n )) break;\n // otherwise fall-through\n }\n case CharCode.LineFeed:\n case CharCode.Tab:\n case CharCode.VerticalTab:\n case CharCode.FormFeed:\n case CharCode.Space: {\n ++pos;\n break;\n }\n case CharCode.Exclamation: {\n ++pos;\n if (\n maxTokenLength > 1 && pos < end &&\n text.charCodeAt(pos) == CharCode.Equals\n ) {\n ++pos;\n if (\n maxTokenLength > 2 && pos < end &&\n text.charCodeAt(pos) == CharCode.Equals\n ) {\n this.pos = pos + 1;\n return Token.Exclamation_Equals_Equals;\n }\n this.pos = pos;\n return Token.Exclamation_Equals;\n }\n this.pos = pos;\n return Token.Exclamation;\n }\n case CharCode.DoubleQuote:\n case CharCode.SingleQuote: {\n this.pos = pos;\n return Token.StringLiteral;\n }\n case CharCode.Backtick: {\n this.pos = pos;\n return Token.TemplateLiteral;\n }\n case CharCode.Percent: {\n ++pos;\n if (\n maxTokenLength > 1 && pos < end &&\n text.charCodeAt(pos) == CharCode.Equals\n ) {\n this.pos = pos + 1;\n return Token.Percent_Equals;\n }\n this.pos = pos;\n return Token.Percent;\n }\n case CharCode.Ampersand: {\n ++pos;\n if (maxTokenLength > 1 && pos < end) {\n let chr = text.charCodeAt(pos);\n if (chr == CharCode.Ampersand) {\n this.pos = pos + 1;\n return Token.Ampersand_Ampersand;\n }\n if (chr == CharCode.Equals) {\n this.pos = pos + 1;\n return Token.Ampersand_Equals;\n }\n }\n this.pos = pos;\n return Token.Ampersand;\n }\n case CharCode.OpenParen: {\n this.pos = pos + 1;\n return Token.OpenParen;\n }\n case CharCode.CloseParen: {\n this.pos = pos + 1;\n return Token.CloseParen;\n }\n case CharCode.Asterisk: {\n ++pos;\n if (maxTokenLength > 1 && pos < end) {\n let chr = text.charCodeAt(pos);\n if (chr == CharCode.Equals) {\n this.pos = pos + 1;\n return Token.Asterisk_Equals;\n }\n if (chr == CharCode.Asterisk) {\n ++pos;\n if (\n maxTokenLength > 2 && pos < end &&\n text.charCodeAt(pos) == CharCode.Equals\n ) {\n this.pos = pos + 1;\n return Token.Asterisk_Asterisk_Equals;\n }\n this.pos = pos;\n return Token.Asterisk_Asterisk;\n }\n }\n this.pos = pos;\n return Token.Asterisk;\n }\n case CharCode.Plus: {\n ++pos;\n if (maxTokenLength > 1 && pos < end) {\n let chr = text.charCodeAt(pos);\n if (chr == CharCode.Plus) {\n this.pos = pos + 1;\n return Token.Plus_Plus;\n }\n if (chr == CharCode.Equals) {\n this.pos = pos + 1;\n return Token.Plus_Equals;\n }\n }\n this.pos = pos;\n return Token.Plus;\n }\n case CharCode.Comma: {\n this.pos = pos + 1;\n return Token.Comma;\n }\n case CharCode.Minus: {\n ++pos;\n if (maxTokenLength > 1 && pos < end) {\n let chr = text.charCodeAt(pos);\n if (chr == CharCode.Minus) {\n this.pos = pos + 1;\n return Token.Minus_Minus;\n }\n if (chr == CharCode.Equals) {\n this.pos = pos + 1;\n return Token.Minus_Equals;\n }\n }\n this.pos = pos;\n return Token.Minus;\n }\n case CharCode.Dot: {\n ++pos;\n if (maxTokenLength > 1 && pos < end) {\n let chr = text.charCodeAt(pos);\n if (isDecimal(chr)) {\n this.pos = pos - 1;\n return Token.FloatLiteral; // expects a call to readFloat\n }\n if (\n maxTokenLength > 2 && pos + 1 < end &&\n chr == CharCode.Dot &&\n text.charCodeAt(pos + 1) == CharCode.Dot\n ) {\n this.pos = pos + 2;\n return Token.Dot_Dot_Dot;\n }\n }\n this.pos = pos;\n return Token.Dot;\n }\n case CharCode.Slash: {\n let commentStartPos = pos;\n ++pos;\n if (maxTokenLength > 1 && pos < end) {\n let chr = text.charCodeAt(pos);\n if (chr == CharCode.Slash) { // single-line\n let commentKind = CommentKind.Line;\n if (\n pos + 1 < end &&\n text.charCodeAt(pos + 1) == CharCode.Slash\n ) {\n ++pos;\n commentKind = CommentKind.Triple;\n }\n while (++pos < end) {\n if (text.charCodeAt(pos) == CharCode.LineFeed) {\n ++pos;\n break;\n }\n }\n if (this.onComment) {\n this.onComment(\n commentKind,\n text.substring(commentStartPos, pos),\n this.range(commentStartPos, pos)\n );\n }\n break;\n }\n if (chr == CharCode.Asterisk) { // multi-line\n let closed = false;\n while (++pos < end) {\n c = text.charCodeAt(pos);\n if (\n c == CharCode.Asterisk &&\n pos + 1 < end &&\n text.charCodeAt(pos + 1) == CharCode.Slash\n ) {\n pos += 2;\n closed = true;\n break;\n }\n }\n if (!closed) {\n this.error(\n DiagnosticCode._0_expected,\n this.range(pos), \"*/\"\n );\n } else if (this.onComment) {\n this.onComment(\n CommentKind.Block,\n text.substring(commentStartPos, pos),\n this.range(commentStartPos, pos)\n );\n }\n break;\n }\n if (chr == CharCode.Equals) {\n this.pos = pos + 1;\n return Token.Slash_Equals;\n }\n }\n this.pos = pos;\n return Token.Slash;\n }\n case CharCode._0:\n case CharCode._1:\n case CharCode._2:\n case CharCode._3:\n case CharCode._4:\n case CharCode._5:\n case CharCode._6:\n case CharCode._7:\n case CharCode._8:\n case CharCode._9: {\n this.pos = pos;\n return this.testInteger()\n ? Token.IntegerLiteral // expects a call to readInteger\n : Token.FloatLiteral; // expects a call to readFloat\n }\n case CharCode.Colon: {\n this.pos = pos + 1;\n return Token.Colon;\n }\n case CharCode.Semicolon: {\n this.pos = pos + 1;\n return Token.Semicolon;\n }\n case CharCode.LessThan: {\n ++pos;\n if (maxTokenLength > 1 && pos < end) {\n let chr = text.charCodeAt(pos);\n if (chr == CharCode.LessThan) {\n ++pos;\n if (\n maxTokenLength > 2 &&\n pos < end &&\n text.charCodeAt(pos) == CharCode.Equals\n ) {\n this.pos = pos + 1;\n return Token.LessThan_LessThan_Equals;\n }\n this.pos = pos;\n return Token.LessThan_LessThan;\n }\n if (chr == CharCode.Equals) {\n this.pos = pos + 1;\n return Token.LessThan_Equals;\n }\n }\n this.pos = pos;\n return Token.LessThan;\n }\n case CharCode.Equals: {\n ++pos;\n if (maxTokenLength > 1 && pos < end) {\n let chr = text.charCodeAt(pos);\n if (chr == CharCode.Equals) {\n ++pos;\n if (\n maxTokenLength > 2 &&\n pos < end &&\n text.charCodeAt(pos) == CharCode.Equals\n ) {\n this.pos = pos + 1;\n return Token.Equals_Equals_Equals;\n }\n this.pos = pos;\n return Token.Equals_Equals;\n }\n if (chr == CharCode.GreaterThan) {\n this.pos = pos + 1;\n return Token.Equals_GreaterThan;\n }\n }\n this.pos = pos;\n return Token.Equals;\n }\n case CharCode.GreaterThan: {\n ++pos;\n if (maxTokenLength > 1 && pos < end) {\n let chr = text.charCodeAt(pos);\n if (chr == CharCode.GreaterThan) {\n ++pos;\n if (maxTokenLength > 2 && pos < end) {\n chr = text.charCodeAt(pos);\n if (chr == CharCode.GreaterThan) {\n ++pos;\n if (\n maxTokenLength > 3 && pos < end &&\n text.charCodeAt(pos) == CharCode.Equals\n ) {\n this.pos = pos + 1;\n return Token.GreaterThan_GreaterThan_GreaterThan_Equals;\n }\n this.pos = pos;\n return Token.GreaterThan_GreaterThan_GreaterThan;\n }\n if (chr == CharCode.Equals) {\n this.pos = pos + 1;\n return Token.GreaterThan_GreaterThan_Equals;\n }\n }\n this.pos = pos;\n return Token.GreaterThan_GreaterThan;\n }\n if (chr == CharCode.Equals) {\n this.pos = pos + 1;\n return Token.GreaterThan_Equals;\n }\n }\n this.pos = pos;\n return Token.GreaterThan;\n }\n case CharCode.Question: {\n this.pos = pos + 1;\n return Token.Question;\n }\n case CharCode.OpenBracket: {\n this.pos = pos + 1;\n return Token.OpenBracket;\n }\n case CharCode.CloseBracket: {\n this.pos = pos + 1;\n return Token.CloseBracket;\n }\n case CharCode.Caret: {\n ++pos;\n if (\n maxTokenLength > 1 && pos < end &&\n text.charCodeAt(pos) == CharCode.Equals\n ) {\n this.pos = pos + 1;\n return Token.Caret_Equals;\n }\n this.pos = pos;\n return Token.Caret;\n }\n case CharCode.OpenBrace: {\n this.pos = pos + 1;\n return Token.OpenBrace;\n }\n case CharCode.Bar: {\n ++pos;\n if (maxTokenLength > 1 && pos < end) {\n let chr = text.charCodeAt(pos);\n if (chr == CharCode.Bar) {\n this.pos = pos + 1;\n return Token.Bar_Bar;\n }\n if (chr == CharCode.Equals) {\n this.pos = pos + 1;\n return Token.Bar_Equals;\n }\n }\n this.pos = pos;\n return Token.Bar;\n }\n case CharCode.CloseBrace: {\n this.pos = pos + 1;\n return Token.CloseBrace;\n }\n case CharCode.Tilde: {\n this.pos = pos + 1;\n return Token.Tilde;\n }\n case CharCode.At: {\n this.pos = pos + 1;\n return Token.At;\n }\n default: {\n // Unicode-aware from here on\n if (isHighSurrogate(c) && pos + 1 < end) {\n c = combineSurrogates(c, text.charCodeAt(pos + 1));\n }\n if (isIdentifierStart(c)) {\n let posBefore = pos;\n while (\n (pos += numCodeUnits(c)) < end &&\n isIdentifierPart(c = text.codePointAt(pos))\n ) { /* nop */ }\n if (identifierHandling != IdentifierHandling.Always) {\n let maybeKeywordToken = tokenFromKeyword(text.substring(posBefore, pos));\n if (\n maybeKeywordToken != Token.Invalid &&\n !(\n identifierHandling == IdentifierHandling.Prefer &&\n tokenIsAlsoIdentifier(maybeKeywordToken)\n )\n ) {\n this.pos = pos;\n return maybeKeywordToken;\n }\n }\n this.pos = posBefore;\n return Token.Identifier;\n } else if (isWhiteSpace(c)) {\n ++pos; // assume no supplementary whitespaces\n break;\n }\n let start = pos;\n pos += numCodeUnits(c);\n this.error(\n DiagnosticCode.Invalid_character,\n this.range(start, pos)\n );\n this.pos = pos;\n return Token.Invalid;\n }\n }\n }\n this.pos = pos;\n return Token.EndOfFile;\n }\n\n peek(\n identifierHandling: IdentifierHandling = IdentifierHandling.Default,\n maxCompoundLength: i32 = i32.MAX_VALUE\n ): Token {\n let nextToken = this.nextToken;\n if (nextToken < 0) {\n let posBefore = this.pos;\n let tokenBefore = this.token;\n let tokenPosBefore = this.tokenPos;\n do nextToken = this.unsafeNext(identifierHandling, maxCompoundLength);\n while (nextToken == Token.Invalid);\n this.nextToken = nextToken;\n this.nextTokenPos = this.tokenPos;\n this.nextTokenOnNewLine = OnNewLine.Unknown;\n this.pos = posBefore;\n this.token = tokenBefore;\n this.tokenPos = tokenPosBefore;\n }\n return nextToken;\n }\n\n peekOnNewLine(): bool {\n switch (this.nextTokenOnNewLine) {\n case OnNewLine.No: return false;\n case OnNewLine.Yes: return true;\n }\n this.peek();\n let text = this.source.text;\n for (let pos = this.pos, end = this.nextTokenPos; pos < end; ++pos) {\n if (isLineBreak(text.charCodeAt(pos))) {\n this.nextTokenOnNewLine = OnNewLine.Yes;\n return true;\n }\n }\n this.nextTokenOnNewLine = OnNewLine.No;\n return false;\n }\n\n skipIdentifier(identifierHandling: IdentifierHandling = IdentifierHandling.Prefer): bool {\n return this.skip(Token.Identifier, identifierHandling);\n }\n\n skip(token: Token, identifierHandling: IdentifierHandling = IdentifierHandling.Default): bool {\n let posBefore = this.pos;\n let tokenBefore = this.token;\n let tokenPosBefore = this.tokenPos;\n let maxCompoundLength = i32.MAX_VALUE;\n if (token == Token.GreaterThan) { // where parsing type arguments\n maxCompoundLength = 1;\n }\n let nextToken: Token;\n do nextToken = this.unsafeNext(identifierHandling, maxCompoundLength);\n while (nextToken == Token.Invalid);\n if (nextToken == token) {\n this.token = token;\n this.clearNextToken();\n return true;\n } else {\n this.pos = posBefore;\n this.token = tokenBefore;\n this.tokenPos = tokenPosBefore;\n return false;\n }\n }\n\n mark(): State {\n let state = reusableState;\n if (state) {\n reusableState = null;\n state.pos = this.pos;\n state.token = this.token;\n state.tokenPos = this.tokenPos;\n } else {\n state = new State(this.pos, this.token, this.tokenPos);\n }\n return state;\n }\n\n discard(state: State): void {\n reusableState = state;\n }\n\n reset(state: State): void {\n this.pos = state.pos;\n this.token = state.token;\n this.tokenPos = state.tokenPos;\n this.clearNextToken();\n }\n\n clearNextToken(): void {\n this.nextToken = -1;\n this.nextTokenPos = 0;\n this.nextTokenOnNewLine = OnNewLine.Unknown;\n }\n\n range(start: i32 = -1, end: i32 = -1): Range {\n if (start < 0) {\n start = this.tokenPos;\n end = this.pos;\n } else if (end < 0) {\n end = start;\n }\n let range = new Range(start, end);\n range.source = this.source;\n return range;\n }\n\n readIdentifier(): string {\n let text = this.source.text;\n let end = this.end;\n let pos = this.pos;\n let start = pos;\n let c = text.codePointAt(pos);\n assert(isIdentifierStart(c));\n while (\n (pos += numCodeUnits(c)) < end &&\n isIdentifierPart(c = text.codePointAt(pos))\n );\n this.pos = pos;\n return text.substring(start, pos);\n }\n\n readingTemplateString: bool = false;\n readStringStart: i32 = 0;\n readStringEnd: i32 = 0;\n\n readString(quote: i32 = 0, isTaggedTemplate: bool = false): string {\n let text = this.source.text;\n let end = this.end;\n let pos = this.pos;\n if (!quote) quote = text.charCodeAt(pos++);\n let start = pos;\n this.readStringStart = start;\n let result = \"\";\n\n while (true) {\n if (pos >= end) {\n result += text.substring(start, pos);\n this.error(\n DiagnosticCode.Unterminated_string_literal,\n this.range(start - 1, end)\n );\n this.readStringEnd = end;\n break;\n }\n let c = text.charCodeAt(pos);\n if (c == quote) {\n this.readStringEnd = pos;\n result += text.substring(start, pos++);\n break;\n }\n if (c == CharCode.Backslash) {\n result += text.substring(start, pos);\n this.pos = pos; // save\n result += this.readEscapeSequence(isTaggedTemplate);\n pos = this.pos; // restore\n start = pos;\n continue;\n }\n if (quote == CharCode.Backtick) {\n if (c == CharCode.Dollar && pos + 1 < end && text.charCodeAt(pos + 1) == CharCode.OpenBrace) {\n result += text.substring(start, pos);\n this.readStringEnd = pos;\n this.pos = pos + 2;\n this.readingTemplateString = true;\n return result;\n }\n } else if (isLineBreak(c)) {\n result += text.substring(start, pos);\n this.error(\n DiagnosticCode.Unterminated_string_literal,\n this.range(start - 1, pos)\n );\n this.readStringEnd = pos;\n break;\n }\n ++pos;\n }\n this.pos = pos;\n this.readingTemplateString = false;\n return result;\n }\n\n readEscapeSequence(isTaggedTemplate: bool = false): string {\n // for context on isTaggedTemplate, see: https://tc39.es/proposal-template-literal-revision/\n let start = this.pos;\n let end = this.end;\n if (++this.pos >= end) {\n this.error(\n DiagnosticCode.Unexpected_end_of_text,\n this.range(end)\n );\n return \"\";\n }\n\n let text = this.source.text;\n let c = text.charCodeAt(this.pos++);\n switch (c) {\n case CharCode._0: {\n if (isTaggedTemplate && this.pos < end && isDecimal(text.charCodeAt(this.pos))) {\n ++this.pos;\n return text.substring(start, this.pos);\n }\n return \"\\0\";\n }\n case CharCode.b: return \"\\b\";\n case CharCode.t: return \"\\t\";\n case CharCode.n: return \"\\n\";\n case CharCode.v: return \"\\v\";\n case CharCode.f: return \"\\f\";\n case CharCode.r: return \"\\r\";\n case CharCode.SingleQuote: return \"'\";\n case CharCode.DoubleQuote: return \"\\\"\";\n case CharCode.u: {\n if (\n this.pos < end &&\n text.charCodeAt(this.pos) == CharCode.OpenBrace\n ) {\n ++this.pos;\n return this.readExtendedUnicodeEscape(isTaggedTemplate ? start : -1); // \\u{DDDDDDDD}\n }\n return this.readUnicodeEscape(isTaggedTemplate ? start : -1); // \\uDDDD\n }\n case CharCode.x: {\n return this.readHexadecimalEscape(2, isTaggedTemplate ? start : - 1); // \\xDD\n }\n case CharCode.CarriageReturn: {\n if (\n this.pos < end &&\n text.charCodeAt(this.pos) == CharCode.LineFeed\n ) {\n ++this.pos;\n }\n // fall through\n }\n case CharCode.LineFeed:\n case CharCode.LineSeparator:\n case CharCode.ParagraphSeparator: return \"\";\n default: return String.fromCodePoint(c);\n }\n }\n\n readRegexpPattern(): string {\n let text = this.source.text;\n let start = this.pos;\n let end = this.end;\n let escaped = false;\n while (true) {\n if (this.pos >= end) {\n this.error(\n DiagnosticCode.Unterminated_regular_expression_literal,\n this.range(start, end)\n );\n break;\n }\n if (text.charCodeAt(this.pos) == CharCode.Backslash) {\n ++this.pos;\n escaped = true;\n continue;\n }\n let c = text.charCodeAt(this.pos);\n if (!escaped && c == CharCode.Slash) break;\n if (isLineBreak(c)) {\n this.error(\n DiagnosticCode.Unterminated_regular_expression_literal,\n this.range(start, this.pos)\n );\n break;\n }\n ++this.pos;\n escaped = false;\n }\n return text.substring(start, this.pos);\n }\n\n readRegexpFlags(): string {\n let text = this.source.text;\n let start = this.pos;\n let end = this.end;\n let flags = 0;\n while (this.pos < end) {\n let c: i32 = text.charCodeAt(this.pos);\n if (!isIdentifierPart(c)) break;\n ++this.pos;\n\n // make sure each supported flag is unique\n switch (c) {\n case CharCode.g: {\n flags |= flags & 1 ? -1 : 1;\n break;\n }\n case CharCode.i: {\n flags |= flags & 2 ? -1 : 2;\n break;\n }\n case CharCode.m: {\n flags |= flags & 4 ? -1 : 4;\n break;\n }\n default: {\n flags = -1;\n break;\n }\n }\n }\n if (flags == -1) {\n this.error(\n DiagnosticCode.Invalid_regular_expression_flags,\n this.range(start, this.pos)\n );\n }\n return text.substring(start, this.pos);\n }\n\n testInteger(): bool {\n let text = this.source.text;\n let pos = this.pos;\n let end = this.end;\n if (pos + 1 < end && text.charCodeAt(pos) == CharCode._0) {\n switch (text.charCodeAt(pos + 2) | 32) {\n case CharCode.x:\n case CharCode.b:\n case CharCode.o: return true;\n }\n }\n while (pos < end) {\n let c = text.charCodeAt(pos);\n if (c == CharCode.Dot || (c | 32) == CharCode.e) return false;\n if (c != CharCode._ && (c < CharCode._0 || c > CharCode._9)) break;\n // does not validate separator placement (this is done in readXYInteger)\n pos++;\n }\n return true;\n }\n\n readInteger(): i64 {\n let text = this.source.text;\n let pos = this.pos;\n if (pos + 2 < this.end && text.charCodeAt(pos) == CharCode._0) {\n switch (text.charCodeAt(pos + 1) | 32) {\n case CharCode.x: {\n this.pos = pos + 2;\n return this.readHexInteger();\n }\n case CharCode.b: {\n this.pos = pos + 2;\n return this.readBinaryInteger();\n }\n case CharCode.o: {\n this.pos = pos + 2;\n return this.readOctalInteger();\n }\n }\n if (isOctal(text.charCodeAt(pos + 1))) {\n let start = pos;\n this.pos = pos + 1;\n let value = this.readOctalInteger();\n this.error(\n DiagnosticCode.Octal_literals_are_not_allowed_in_strict_mode,\n this.range(start, this.pos)\n );\n return value;\n }\n }\n return this.readDecimalInteger();\n }\n\n readHexInteger(): i64 {\n let text = this.source.text;\n let pos = this.pos;\n let end = this.end;\n let start = pos;\n let sepEnd = start;\n let value = i64_zero;\n let i64_4 = i64_new(4);\n let nextValue = value;\n let overflowOccurred = false;\n\n while (pos < end) {\n let c = text.charCodeAt(pos);\n if (isDecimal(c)) {\n // (value << 4) + c - CharCode._0\n nextValue = i64_add(\n i64_shl(value, i64_4),\n i64_new(c - CharCode._0)\n );\n } else if (isHexBase(c)) {\n // (value << 4) + (c | 32) + (10 - CharCode.a)\n nextValue = i64_add(\n i64_shl(value, i64_4),\n i64_new((c | 32) + (10 - CharCode.a))\n );\n } else if (c == CharCode._) {\n if (sepEnd == pos) {\n this.error(\n sepEnd == start\n ? DiagnosticCode.Numeric_separators_are_not_allowed_here\n : DiagnosticCode.Multiple_consecutive_numeric_separators_are_not_permitted,\n this.range(pos)\n );\n }\n sepEnd = pos + 1;\n } else {\n break;\n }\n if (i64_gt_u(value, nextValue)) {\n // Unsigned overflow occurred\n overflowOccurred = true;\n }\n value = nextValue;\n ++pos;\n }\n if (pos == start) {\n this.error(\n DiagnosticCode.Hexadecimal_digit_expected,\n this.range(start)\n );\n } else if (sepEnd == pos) {\n this.error(\n DiagnosticCode.Numeric_separators_are_not_allowed_here,\n this.range(sepEnd - 1)\n );\n }\n if (overflowOccurred) {\n this.error(\n DiagnosticCode.Literal_0_does_not_fit_into_i64_or_u64_types,\n this.range(start - 2, pos),\n this.source.text.substring(start - 2, pos)\n );\n }\n this.pos = pos;\n return value;\n }\n\n readDecimalInteger(): i64 {\n let text = this.source.text;\n let pos = this.pos;\n let end = this.end;\n let start = pos;\n let sepEnd = start;\n let value = i64_zero;\n let i64_10 = i64_new(10);\n let nextValue = value;\n let overflowOccurred = false;\n\n while (pos < end) {\n let c = text.charCodeAt(pos);\n if (isDecimal(c)) {\n // value = value * 10 + c - CharCode._0;\n nextValue = i64_add(\n i64_mul(value, i64_10),\n i64_new(c - CharCode._0)\n );\n } else if (c == CharCode._) {\n if (sepEnd == pos) {\n this.error(\n sepEnd == start\n ? DiagnosticCode.Numeric_separators_are_not_allowed_here\n : DiagnosticCode.Multiple_consecutive_numeric_separators_are_not_permitted,\n this.range(pos)\n );\n } else if (pos - 1 == start && text.charCodeAt(pos - 1) == CharCode._0) {\n this.error(\n DiagnosticCode.Numeric_separators_are_not_allowed_here,\n this.range(pos)\n );\n }\n sepEnd = pos + 1;\n } else {\n break;\n }\n if (i64_gt_u(value, nextValue)) {\n // Unsigned overflow occurred\n overflowOccurred = true;\n }\n value = nextValue;\n ++pos;\n }\n if (pos == start) {\n this.error(\n DiagnosticCode.Digit_expected,\n this.range(start)\n );\n } else if (sepEnd == pos) {\n this.error(\n DiagnosticCode.Numeric_separators_are_not_allowed_here,\n this.range(sepEnd - 1)\n );\n } else if (overflowOccurred) {\n this.error(\n DiagnosticCode.Literal_0_does_not_fit_into_i64_or_u64_types,\n this.range(start, pos),\n this.source.text.substring(start, pos)\n );\n }\n this.pos = pos;\n return value;\n }\n\n readOctalInteger(): i64 {\n let text = this.source.text;\n let pos = this.pos;\n let end = this.end;\n let start = pos;\n let sepEnd = start;\n let value = i64_zero;\n let i64_3 = i64_new(3);\n let nextValue = value;\n let overflowOccurred = false;\n\n while (pos < end) {\n let c = text.charCodeAt(pos);\n if (isOctal(c)) {\n // (value << 3) + c - CharCode._0\n nextValue = i64_add(\n i64_shl(value, i64_3),\n i64_new(c - CharCode._0)\n );\n } else if (c == CharCode._) {\n if (sepEnd == pos) {\n this.error(\n sepEnd == start\n ? DiagnosticCode.Numeric_separators_are_not_allowed_here\n : DiagnosticCode.Multiple_consecutive_numeric_separators_are_not_permitted,\n this.range(pos)\n );\n }\n sepEnd = pos + 1;\n } else {\n break;\n }\n if (i64_gt_u(value, nextValue)) {\n // Unsigned overflow occurred\n overflowOccurred = true;\n }\n value = nextValue;\n ++pos;\n }\n if (pos == start) {\n this.error(\n DiagnosticCode.Octal_digit_expected,\n this.range(start)\n );\n } else if (sepEnd == pos) {\n this.error(\n DiagnosticCode.Numeric_separators_are_not_allowed_here,\n this.range(sepEnd - 1)\n );\n } else if (overflowOccurred) {\n this.error(\n DiagnosticCode.Literal_0_does_not_fit_into_i64_or_u64_types,\n this.range(start - 2, pos),\n this.source.text.substring(start - 2, pos)\n );\n }\n this.pos = pos;\n return value;\n }\n\n readBinaryInteger(): i64 {\n let text = this.source.text;\n let pos = this.pos;\n let end = this.end;\n let start = pos;\n let sepEnd = start;\n let value = i64_zero;\n let nextValue = value;\n let overflowOccurred = false;\n\n while (pos < end) {\n let c = text.charCodeAt(pos);\n if (c == CharCode._0) {\n // value << 1 | 0\n nextValue = i64_shl(value, i64_one);\n } else if (c == CharCode._1) {\n // value << 1 | 1\n nextValue = i64_or(\n i64_shl(value, i64_one),\n i64_one\n );\n } else if (c == CharCode._) {\n if (sepEnd == pos) {\n this.error(\n sepEnd == start\n ? DiagnosticCode.Numeric_separators_are_not_allowed_here\n : DiagnosticCode.Multiple_consecutive_numeric_separators_are_not_permitted,\n this.range(pos)\n );\n }\n sepEnd = pos + 1;\n } else {\n break;\n }\n if (i64_gt(value, nextValue)) {\n // Overflow occurred\n overflowOccurred = true;\n }\n value = nextValue;\n ++pos;\n }\n if (pos == start) {\n this.error(\n DiagnosticCode.Binary_digit_expected,\n this.range(start)\n );\n } else if (sepEnd == pos) {\n this.error(\n DiagnosticCode.Numeric_separators_are_not_allowed_here,\n this.range(sepEnd - 1)\n );\n } else if (overflowOccurred) {\n this.error(\n DiagnosticCode.Literal_0_does_not_fit_into_i64_or_u64_types,\n this.range(start - 2, pos),\n this.source.text.substring(start - 2, pos)\n );\n }\n this.pos = pos;\n return value;\n }\n\n readFloat(): f64 {\n // let text = this.source.text;\n // if (text.charCodeAt(this.pos) == CharCode._0 && this.pos + 2 < this.end) {\n // switch (text.charCodeAt(this.pos + 1)) {\n // case CharCode.X:\n // case CharCode.x: {\n // this.pos += 2;\n // return this.readHexFloat();\n // }\n // }\n // }\n return this.readDecimalFloat();\n }\n\n readDecimalFloat(): f64 {\n let text = this.source.text;\n let end = this.end;\n let start = this.pos;\n let sepCount = this.readDecimalFloatPartial(false);\n if (this.pos < end && text.charCodeAt(this.pos) == CharCode.Dot) {\n ++this.pos;\n sepCount += this.readDecimalFloatPartial();\n }\n if (this.pos < end) {\n let c = text.charCodeAt(this.pos);\n if ((c | 32) == CharCode.e) {\n if (\n ++this.pos < end &&\n (c = text.charCodeAt(this.pos)) == CharCode.Minus || c == CharCode.Plus &&\n isDecimal(text.charCodeAt(this.pos + 1))\n ) {\n ++this.pos;\n }\n sepCount += this.readDecimalFloatPartial();\n }\n }\n let result = text.substring(start, this.pos);\n if (sepCount) result = result.replaceAll(\"_\", \"\");\n return parseFloat(result);\n }\n\n /** Reads past one section of a decimal float literal. Returns the number of separators encountered. */\n private readDecimalFloatPartial(allowLeadingZeroSep: bool = true): u32 {\n let text = this.source.text;\n let pos = this.pos;\n let start = pos;\n let end = this.end;\n let sepEnd = start;\n let sepCount = 0;\n\n while (pos < end) {\n let c = text.charCodeAt(pos);\n\n if (c == CharCode._) {\n if (sepEnd == pos) {\n this.error(\n sepEnd == start\n ? DiagnosticCode.Numeric_separators_are_not_allowed_here\n : DiagnosticCode.Multiple_consecutive_numeric_separators_are_not_permitted,\n this.range(pos)\n );\n } else if (!allowLeadingZeroSep && pos - 1 == start && text.charCodeAt(pos - 1) == CharCode._0) {\n this.error(\n DiagnosticCode.Numeric_separators_are_not_allowed_here,\n this.range(pos)\n );\n }\n sepEnd = pos + 1;\n ++sepCount;\n } else if (!isDecimal(c)) {\n break;\n }\n ++pos;\n }\n\n if (pos != start && sepEnd == pos) {\n this.error(\n DiagnosticCode.Numeric_separators_are_not_allowed_here,\n this.range(sepEnd - 1)\n );\n }\n\n this.pos = pos;\n return sepCount;\n }\n\n readHexFloat(): f64 {\n throw new Error(\"not implemented\"); // TBD\n }\n\n readHexadecimalEscape(remain: i32 = 2, startIfTaggedTemplate: i32 = -1): string {\n let value = 0;\n let text = this.source.text;\n let pos = this.pos;\n let end = this.end;\n while (pos < end) {\n let c = text.charCodeAt(pos++);\n if (isDecimal(c)) {\n value = (value << 4) + c - CharCode._0;\n } else if (isHexBase(c)) {\n value = (value << 4) + (c | 32) + (10 - CharCode.a);\n } else if (~startIfTaggedTemplate) {\n this.pos = --pos;\n return text.substring(startIfTaggedTemplate, pos);\n } else {\n this.pos = pos;\n this.error(\n DiagnosticCode.Hexadecimal_digit_expected,\n this.range(pos - 1, pos)\n );\n return \"\";\n }\n if (--remain == 0) break;\n }\n if (remain) { // invalid\n this.pos = pos;\n if (~startIfTaggedTemplate) {\n return text.substring(startIfTaggedTemplate, pos);\n }\n this.error(\n DiagnosticCode.Unexpected_end_of_text,\n this.range(pos)\n );\n return \"\";\n }\n this.pos = pos;\n return String.fromCodePoint(value);\n }\n\n checkForIdentifierStartAfterNumericLiteral(): void {\n // TODO: BigInt n\n let pos = this.pos;\n if (pos < this.end && isIdentifierStart(this.source.text.charCodeAt(pos))) {\n this.error(\n DiagnosticCode.An_identifier_or_keyword_cannot_immediately_follow_a_numeric_literal,\n this.range(pos)\n );\n }\n }\n\n readUnicodeEscape(startIfTaggedTemplate: i32 = -1): string {\n return this.readHexadecimalEscape(4, startIfTaggedTemplate);\n }\n\n private readExtendedUnicodeEscape(startIfTaggedTemplate: i32 = -1): string {\n let start = this.pos;\n let value = this.readHexInteger();\n let value32 = i64_low(value);\n let invalid = false;\n\n assert(!i64_high(value));\n if (value32 > 0x10FFFF) {\n if (startIfTaggedTemplate == -1) {\n this.error(\n DiagnosticCode.An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive,\n this.range(start, this.pos)\n );\n }\n invalid = true;\n }\n\n let end = this.end;\n let text = this.source.text;\n if (this.pos >= end) {\n if (startIfTaggedTemplate == -1) {\n this.error(\n DiagnosticCode.Unexpected_end_of_text,\n this.range(start, end)\n );\n }\n invalid = true;\n } else if (text.charCodeAt(this.pos) == CharCode.CloseBrace) {\n ++this.pos;\n } else {\n if (startIfTaggedTemplate == -1) {\n this.error(\n DiagnosticCode.Unterminated_Unicode_escape_sequence,\n this.range(start, this.pos)\n );\n }\n invalid = true;\n }\n\n if (invalid) {\n return ~startIfTaggedTemplate\n ? text.substring(startIfTaggedTemplate, this.pos)\n : \"\";\n }\n return String.fromCodePoint(value32);\n }\n}\n\n/** Tokenizer state as returned by {@link Tokenizer#mark} and consumed by {@link Tokenizer#reset}. */\nexport class State {\n constructor(\n /** Current position. */\n public pos: i32,\n /** Current token. */\n public token: Token,\n /** Current token's position. */\n public tokenPos: i32\n ) {}\n}\n\n// Reusable state object to reduce allocations\nlet reusableState: State | null = null;\n", "/**\n * @fileoverview A thin wrapper around Binaryen's C-API.\n *\n * The AssemblyScript compiler utilizes Binaryen's C-API directly. Even\n * though it currently imports binaryen.js, none of the JS APIs it\n * provides are used.\n *\n * @license Apache-2.0\n */\n\nimport { BuiltinNames } from \"./builtins\";\nimport { CommonNames, Target } from \"./common\";\nimport {\n isHighSurrogate,\n isLowSurrogate,\n combineSurrogates,\n SURROGATE_HIGH,\n SURROGATE_LOW\n} from \"./util\";\nimport {\n Type,\n TypeFlags,\n TypeKind\n} from \"./types\";\nimport {\n ElementKind,\n PropertyPrototype\n} from \"./program\";\nimport * as binaryen from \"./glue/binaryen\";\n\n/** A Binaryen-compatible index. */\nexport type Index = binaryen.Index;\n/** Reference to a Binaryen-compatible string. */\nexport type StringRef = binaryen.StringRef;\n/** Reference to a Binaryen module. */\nexport type ModuleRef = binaryen.ModuleRef;\n/** Reference to a Binaryen function. */\nexport type FunctionRef = binaryen.FunctionRef;\n/** Reference to a Binaryen expression. */\nexport type ExpressionRef = binaryen.ExpressionRef;\n/** Reference to a Binaryen global. */\nexport type GlobalRef = binaryen.GlobalRef;\n/** Reference to a Binaryen tag. */\nexport type TagRef = binaryen.TagRef;\n/** Reference to a Binaryen import. */\nexport type ImportRef = binaryen.ImportRef;\n/** Reference to a Binaryen export. */\nexport type ExportRef = binaryen.ExportRef;\n/** Reference to a Binaryen relooper. */\nexport type RelooperRef = binaryen.RelooperRef;\n/** Reference to a Binaryen relooper block. */\nexport type RelooperBlockRef = binaryen.RelooperBlockRef;\n\n// The following constants must be updated by running scripts/update-constants.\n// This is necessary because the functions are not yet callable with Binaryen\n// compiled to WebAssembly, requiring awaiting the ready promise first. Note\n// that this essentially fixes the compiler to specific versions of Binaryen\n// sometimes, because these constants can differ between Binaryen versions.\n\n/** Reference to a Binaryen type. */\nexport type TypeRef = binaryen.TypeRef;\nexport namespace TypeRef {\n // special types\n export const None: TypeRef = 0 /* _BinaryenTypeNone */;\n export const Unreachable: TypeRef = 1 /* _BinaryenTypeUnreachable */;\n // value types\n export const I32: TypeRef = 2 /* _BinaryenTypeInt32 */;\n export const I64: TypeRef = 3 /* _BinaryenTypeInt64 */;\n export const F32: TypeRef = 4 /* _BinaryenTypeFloat32 */;\n export const F64: TypeRef = 5 /* _BinaryenTypeFloat64 */;\n export const V128: TypeRef = 6 /* _BinaryenTypeVec128 */;\n // reference/gc types\n export const Funcref = binaryen._BinaryenTypeFuncref();\n export const Externref = binaryen._BinaryenTypeExternref();\n export const Anyref = binaryen._BinaryenTypeAnyref();\n export const Eqref = binaryen._BinaryenTypeEqref();\n export const Structref = binaryen._BinaryenTypeStructref();\n export const Arrayref = binaryen._BinaryenTypeArrayref();\n export const I31ref = binaryen._BinaryenTypeI31ref();\n export const Stringref = binaryen._BinaryenTypeStringref();\n export const StringviewWTF8 = binaryen._BinaryenTypeStringviewWTF8();\n export const StringviewWTF16 = binaryen._BinaryenTypeStringviewWTF16();\n export const StringviewIter = binaryen._BinaryenTypeStringviewIter();\n export const Noneref = binaryen._BinaryenTypeNullref();\n export const Nofuncref = binaryen._BinaryenTypeNullFuncref();\n export const Noexternref = binaryen._BinaryenTypeNullExternref();\n}\n\n/** Reference to a Binaryen heap type. */\nexport type HeapTypeRef = binaryen.HeapTypeRef;\nexport namespace HeapTypeRef {\n\n // any extern func\n // | | |\n // __ eq __ ? noextern (...)\n // / | \\ | |\n // i31 struct array string nofunc\n // | | | |\n // none (...) (...) ?\n // | |\n // none none\n //\n // where (...) represents the concrete subtypes\n\n export const Extern: HeapTypeRef = 0 /* _BinaryenHeapTypeExt */;\n export const Func: HeapTypeRef = 1 /* _BinaryenHeapTypeFunc */;\n export const Any: HeapTypeRef = 2 /* _BinaryenHeapTypeAny */;\n export const Eq: HeapTypeRef = 3 /* _BinaryenHeapTypeEq */;\n export const I31: HeapTypeRef = 4 /* _BinaryenHeapTypeI31 */;\n export const Struct: HeapTypeRef = 5 /* _BinaryenHeapTypeStruct */;\n export const Array: HeapTypeRef = 6 /* _BinaryenHeapTypeArray */;\n export const Exn: HeapTypeRef = 7 /* TODO: BinaryenHeapTypeExn */;\n export const String: HeapTypeRef = 8 /* _BinaryenHeapTypeString */;\n export const StringviewWTF8: HeapTypeRef = 9 /* _BinaryenHeapTypeStringviewWTF8 */;\n export const StringviewWTF16: HeapTypeRef = 10 /* _BinaryenHeapTypeStringviewWTF16 */;\n export const StringviewIter: HeapTypeRef = 11 /* _BinaryenHeapTypeStringviewIter */;\n export const None: HeapTypeRef = 12 /* _BinaryenHeapTypeNone */;\n export const Noextern: HeapTypeRef = 13 /* _BinaryenHeapTypeNoext */;\n export const Nofunc: HeapTypeRef = 14 /* _BinaryenHeapTypeNofunc */;\n\n export function isBottom(ht: HeapTypeRef): bool {\n return binaryen._BinaryenHeapTypeIsBottom(ht);\n }\n\n export function getBottom(ht: HeapTypeRef): HeapTypeRef {\n return binaryen._BinaryenHeapTypeGetBottom(ht);\n }\n\n export function isSubtype(ht: HeapTypeRef, superHt: HeapTypeRef): bool {\n return binaryen._BinaryenHeapTypeIsSubType(ht, superHt);\n }\n\n export function leastUpperBound(a: HeapTypeRef, b: HeapTypeRef): HeapTypeRef {\n // see binaryen/src/wasm/wasm-type.cpp\n if (a == b) return a;\n if (getBottom(a) != getBottom(b)) return -1;\n if (isBottom(a)) return b;\n if (isBottom(b)) return a;\n if (a > b) {\n let t = a;\n a = b;\n b = t;\n }\n switch (a) {\n case HeapTypeRef.Extern:\n case HeapTypeRef.Func: return -1;\n case HeapTypeRef.Any: return a;\n case HeapTypeRef.Eq: {\n return b == HeapTypeRef.I31 || b == HeapTypeRef.Struct || b == HeapTypeRef.Array\n ? HeapTypeRef.Eq\n : HeapTypeRef.Any;\n }\n case HeapTypeRef.I31: {\n return b == HeapTypeRef.Struct || b == HeapTypeRef.Array\n ? HeapTypeRef.Eq\n : HeapTypeRef.Any;\n }\n case HeapTypeRef.Struct: {\n return b == HeapTypeRef.Array\n ? HeapTypeRef.Eq\n : HeapTypeRef.Any;\n }\n case HeapTypeRef.Array:\n case HeapTypeRef.String:\n case HeapTypeRef.StringviewWTF8:\n case HeapTypeRef.StringviewWTF16:\n case HeapTypeRef.StringviewIter: return HeapTypeRef.Any;\n }\n assert(false);\n return -1;\n }\n}\n\n/** Packed array element respectively struct field types. */\nexport type PackedType = binaryen.PackedType;\nexport namespace PackedType {\n export const NotPacked: PackedType = 0 /* _BinaryenPackedTypeNotPacked */;\n export const I8: PackedType = 1 /* _BinaryenPackedTypeInt8 */;\n export const I16: PackedType = 2 /* _BinaryenPackedTypeInt16 */;\n}\n\n/** Type builder error reasons. */\nexport type TypeBuilderErrorReason = binaryen.TypeBuilderErrorReason;\nexport namespace TypeBuilderErrorReason {\n /** Indicates a cycle in the supertype relation. */\n export const SelfSupertype: TypeBuilderErrorReason = 0 /* _TypeBuilderErrorReasonSelfSupertype */;\n /** Indicates that the declared supertype of a type is invalid. */\n export const InvalidSupertype: TypeBuilderErrorReason = 1 /* _TypeBuilderErrorReasonInvalidSupertype */;\n /** Indicates that the declared supertype is an invalid forward reference. */\n export const ForwardSupertypeReference: TypeBuilderErrorReason = 2 /* _TypeBuilderErrorReasonForwardSupertypeReference */;\n /** Indicates that a child of a type is an invalid forward reference. */\n export const ForwardChildReference: TypeBuilderErrorReason = 3 /* _TypeBuilderErrorReasonForwardChildReference */;\n /** Converts a type builder error reason to a string. */\n export function toString(reason: TypeBuilderErrorReason): string {\n switch (reason) {\n case SelfSupertype: return \"SelfSupertype\";\n case InvalidSupertype: return \"InvalidSupertype\";\n case ForwardSupertypeReference: return \"ForwardSupertypeReference\";\n case ForwardChildReference: return \"ForwardChildReference\";\n }\n assert(false);\n return \"\";\n }\n}\n\n/** Binaryen feature constants. */\nexport const enum FeatureFlags {\n MVP = 0 /* _BinaryenFeatureMVP */,\n Atomics = 1 /* _BinaryenFeatureAtomics */,\n MutableGlobals = 2 /* _BinaryenFeatureMutableGlobals */,\n TruncSat = 4 /* _BinaryenFeatureNontrappingFPToInt */,\n SIMD = 8 /* _BinaryenFeatureSIMD128 */,\n BulkMemory = 16 /* _BinaryenFeatureBulkMemory */,\n SignExt = 32 /* _BinaryenFeatureSignExt */,\n ExceptionHandling = 64 /* _BinaryenFeatureExceptionHandling */,\n TailCall = 128 /* _BinaryenFeatureTailCall */,\n ReferenceTypes = 256 /* _BinaryenFeatureReferenceTypes */,\n MultiValue = 512 /* _BinaryenFeatureMultivalue */,\n GC = 1024 /* _BinaryenFeatureGC */,\n Memory64 = 2048 /* _BinaryenFeatureMemory64 */,\n RelaxedSIMD = 4096 /* _BinaryenFeatureRelaxedSIMD */,\n ExtendedConst = 8192 /* _BinaryenFeatureExtendedConst */,\n Stringref = 16384 /* _BinaryenFeatureStrings */,\n MultiMemory = 32768 /* _BinaryenFeatureMultiMemory */,\n All = 131071 /* _BinaryenFeatureAll */\n}\n\n/** Binaryen expression id constants. */\nexport const enum ExpressionId {\n Invalid = 0 /* _BinaryenInvalidId */,\n Block = 1 /* _BinaryenBlockId */,\n If = 2 /* _BinaryenIfId */,\n Loop = 3 /* _BinaryenLoopId */,\n Break = 4 /* _BinaryenBreakId */,\n Switch = 5 /* _BinaryenSwitchId */,\n Call = 6 /* _BinaryenCallId */,\n CallIndirect = 7 /* _BinaryenCallIndirectId */,\n LocalGet = 8 /* _BinaryenLocalGetId */,\n LocalSet = 9 /* _BinaryenLocalSetId */,\n GlobalGet = 10 /* _BinaryenGlobalGetId */,\n GlobalSet = 11 /* _BinaryenGlobalSetId */,\n Load = 12 /* _BinaryenLoadId */,\n Store = 13 /* _BinaryenStoreId */,\n Const = 14 /* _BinaryenConstId */,\n Unary = 15 /* _BinaryenUnaryId */,\n Binary = 16 /* _BinaryenBinaryId */,\n Select = 17 /* _BinaryenSelectId */,\n Drop = 18 /* _BinaryenDropId */,\n Return = 19 /* _BinaryenReturnId */,\n MemorySize = 20 /* _BinaryenMemorySizeId */,\n MemoryGrow = 21 /* _BinaryenMemoryGrowId */,\n Nop = 22 /* _BinaryenNopId */,\n Unreachable = 23 /* _BinaryenUnreachableId */,\n AtomicRMW = 24 /* _BinaryenAtomicRMWId */,\n AtomicCmpxchg = 25 /* _BinaryenAtomicCmpxchgId */,\n AtomicWait = 26 /* _BinaryenAtomicWaitId */,\n AtomicNotify = 27 /* _BinaryenAtomicNotifyId */,\n AtomicFence = 28 /* _BinaryenAtomicFenceId */,\n SIMDExtract = 29 /* _BinaryenSIMDExtractId */,\n SIMDReplace = 30 /* _BinaryenSIMDReplaceId */,\n SIMDShuffle = 31 /* _BinaryenSIMDShuffleId */,\n SIMDTernary = 32 /* _BinaryenSIMDTernaryId */,\n SIMDShift = 33 /* _BinaryenSIMDShiftId */,\n SIMDLoad = 34 /* _BinaryenSIMDLoadId */,\n SIMDLoadStoreLane = 35 /* _BinaryenSIMDLoadStoreLaneId */,\n MemoryInit = 36 /* _BinaryenMemoryInitId */,\n DataDrop = 37 /* _BinaryenDataDropId */,\n MemoryCopy = 38 /* _BinaryenMemoryCopyId */,\n MemoryFill = 39 /* _BinaryenMemoryFillId */,\n Pop = 40 /* _BinaryenPopId */,\n RefNull = 41 /* _BinaryenRefNullId */,\n RefIsNull = 42 /* _BinaryenRefIsNullId */,\n RefFunc = 43 /* _BinaryenRefFuncId */,\n RefEq = 44 /* _BinaryenRefEqId */,\n TableGet = 45 /* _BinaryenTableGetId */,\n TableSet = 46 /* _BinaryenTableSetId */,\n TableSize = 47 /* _BinaryenTableSizeId */,\n TableGrow = 48 /* _BinaryenTableGrowId */,\n TableFill = 49 /* _BinaryenTableFillId */,\n TableCopy = 50 /* _BinaryenTableCopyId */,\n Try = 51 /* _BinaryenTryId */,\n TryTable = 52 /* _BinaryenTryTableId */,\n Throw = 53 /* _BinaryenThrowId */,\n Rethrow = 54 /* _BinaryenRethrowId */,\n ThrowRef = 55 /* _BinaryenThrowRefId */,\n TupleMake = 56 /* _BinaryenTupleMakeId */,\n TupleExtract = 57 /* _BinaryenTupleExtractId */,\n RefI31 = 58 /* _BinaryenRefI31Id */,\n I31Get = 59 /* _BinaryenI31GetId */,\n CallRef = 60 /* _BinaryenCallRefId */,\n RefTest = 61 /* _BinaryenRefTestId */,\n RefCast = 62 /* _BinaryenRefCastId */,\n BrOn = 63 /* _BinaryenBrOnId */,\n StructNew = 64 /* _BinaryenStructNewId */,\n StructGet = 65 /* _BinaryenStructGetId */,\n StructSet = 66 /* _BinaryenStructSetId */,\n ArrayNew = 67 /* _BinaryenArrayNewId */,\n ArrayNewData = 68 /* _BinaryenArrayNewDataId */,\n ArrayNewElem = 69 /* _BinaryenArrayNewElemId */,\n ArrayNewFixed = 70 /* _BinaryenArrayNewFixedId */,\n ArrayGet = 71 /* _BinaryenArrayGetId */,\n ArraySet = 72 /* _BinaryenArraySetId */,\n ArrayLen = 73 /* _BinaryenArrayLenId */,\n ArrayCopy = 74 /* _BinaryenArrayCopyId */,\n ArrayFill = 75 /* _BinaryenArrayFillId */,\n ArrayInitData = 76 /* _BinaryenArrayInitDataId */,\n ArrayInitElem = 77 /* _BinaryenArrayInitElemId */,\n RefAs = 78 /* _BinaryenRefAsId */,\n StringNew = 79 /* _BinaryenStringNewId */,\n StringConst = 80 /* _BinaryenStringConstId */,\n StringMeasure = 81 /* _BinaryenStringMeasureId */,\n StringEncode = 82 /* _BinaryenStringEncodeId */,\n StringConcat = 83 /* _BinaryenStringConcatId */,\n StringEq = 84 /* _BinaryenStringEqId */,\n StringAs = 85 /* _BinaryenStringAsId */,\n StringWTF8Advance = 86 /* _BinaryenStringWTF8AdvanceId */,\n StringWTF16Get = 87 /* _BinaryenStringWTF16GetId */,\n StringIterNext = 88 /* _BinaryenStringIterNextId */,\n StringIterMove = 89 /* _BinaryenStringIterMoveId */,\n StringSliceWTF = 90 /* _BinaryenStringSliceWTFId */,\n StringSliceIter = 91 /* _BinaryenStringSliceIterId */,\n ResumeId = 92 /* _BinaryenResumeId */\n}\n\n/** Binaryen external kind constants. */\nexport const enum ExternalKind {\n Function = 0 /* _BinaryenExternalFunction */,\n Table = 1 /* _BinaryenExternalTable */,\n Memory = 2 /* _BinaryenExternalMemory */,\n Global = 3 /* _BinaryenExternalGlobal */,\n Tag = 4 /* _BinaryenExternalTag */\n}\n\n/** Binaryen unary operation constants. */\nexport const enum UnaryOp {\n /** i32.clz */\n ClzI32 = 0 /* _BinaryenClzInt32 */,\n /** i64.clz */\n ClzI64 = 1 /* _BinaryenClzInt64 */,\n /** i32.ctz */\n CtzI32 = 2 /* _BinaryenCtzInt32 */,\n /** i64.ctz */\n CtzI64 = 3 /* _BinaryenCtzInt64 */,\n /** i32.popcnt */\n PopcntI32 = 4 /* _BinaryenPopcntInt32 */,\n /** i64.popcnt */\n PopcntI64 = 5 /* _BinaryenPopcntInt64 */,\n /** f32.neg */\n NegF32 = 6 /* _BinaryenNegFloat32 */,\n /** f64.neg */\n NegF64 = 7 /* _BinaryenNegFloat64 */,\n /** f32.abs */\n AbsF32 = 8 /* _BinaryenAbsFloat32 */,\n /** f64.abs */\n AbsF64 = 9 /* _BinaryenAbsFloat64 */,\n /** f32.ceil */\n CeilF32 = 10 /* _BinaryenCeilFloat32 */,\n /** f64.ceil */\n CeilF64 = 11 /* _BinaryenCeilFloat64 */,\n /** f32.floor */\n FloorF32 = 12 /* _BinaryenFloorFloat32 */,\n /** f64.floor */\n FloorF64 = 13 /* _BinaryenFloorFloat64 */,\n /** f32.trunc */\n TruncF32 = 14 /* _BinaryenTruncFloat32 */,\n /** f64.trunc */\n TruncF64 = 15 /* _BinaryenTruncFloat64 */,\n /** f32.nearest */\n NearestF32 = 16 /* _BinaryenNearestFloat32 */,\n /** f64.nearest */\n NearestF64 = 17 /* _BinaryenNearestFloat64 */,\n /** f32.sqrt */\n SqrtF32 = 18 /* _BinaryenSqrtFloat32 */,\n /** f64.sqrt */\n SqrtF64 = 19 /* _BinaryenSqrtFloat64 */,\n /** i32.eqz */\n EqzI32 = 20 /* _BinaryenEqZInt32 */,\n /** i64.eqz */\n EqzI64 = 21 /* _BinaryenEqZInt64 */,\n /** i64.extend_i32_s */\n ExtendI32ToI64 = 22 /* _BinaryenExtendSInt32 */,\n /** i64.extend_i32_u */\n ExtendU32ToU64 = 23 /* _BinaryenExtendUInt32 */,\n /** i32.wrap_i64 */\n WrapI64ToI32 = 24 /* _BinaryenWrapInt64 */,\n /** i32.trunc_f32_s */\n TruncF32ToI32 = 25 /* _BinaryenTruncSFloat32ToInt32 */,\n /** i64.trunc_f32_s */\n TruncF32ToI64 = 26 /* _BinaryenTruncSFloat32ToInt64 */,\n /** i32.trunc_f32_u */\n TruncF32ToU32 = 27 /* _BinaryenTruncUFloat32ToInt32 */,\n /** i64.trunc_f32_u */\n TruncF32ToU64 = 28 /* _BinaryenTruncUFloat32ToInt64 */,\n /** i32.trunc_f64_s */\n TruncF64ToI32 = 29 /* _BinaryenTruncSFloat64ToInt32 */,\n /** i64.trunc_f64_s */\n TruncF64ToI64 = 30 /* _BinaryenTruncSFloat64ToInt64 */,\n /** i32.trunc_f64_u */\n TruncF64ToU32 = 31 /* _BinaryenTruncUFloat64ToInt32 */,\n /** i64.trunc_f64_u */\n TruncF64ToU64 = 32 /* _BinaryenTruncUFloat64ToInt64 */,\n /** i32.reinterpret_f32 */\n ReinterpretF32ToI32 = 33 /* _BinaryenReinterpretFloat32 */,\n /** i64.reinterpret_f64 */\n ReinterpretF64ToI64 = 34 /* _BinaryenReinterpretFloat64 */,\n /** f32.convert_i32_s */\n ConvertI32ToF32 = 35 /* _BinaryenConvertSInt32ToFloat32 */,\n /** f64.convert_i32_s */\n ConvertI32ToF64 = 36 /* _BinaryenConvertSInt32ToFloat64 */,\n /** f32.convert_i32_u */\n ConvertU32ToF32 = 37 /* _BinaryenConvertUInt32ToFloat32 */,\n /** f64.convert_i32_u */\n ConvertU32ToF64 = 38 /* _BinaryenConvertUInt32ToFloat64 */,\n /** f32.convert_i64_s */\n ConvertI64ToF32 = 39 /* _BinaryenConvertSInt64ToFloat32 */,\n /** f64.convert_i64_s */\n ConvertI64ToF64 = 40 /* _BinaryenConvertSInt64ToFloat64 */,\n /** f32.convert_i64_u */\n ConvertU64ToF32 = 41 /* _BinaryenConvertUInt64ToFloat32 */,\n /** f64.convert_i64_u */\n ConvertU64ToF64 = 42 /* _BinaryenConvertUInt64ToFloat64 */,\n /** f64.promote.f32 */\n PromoteF32ToF64 = 43 /* _BinaryenPromoteFloat32 */,\n /** f32.demote_f64 */\n DemoteF64ToF32 = 44 /* _BinaryenDemoteFloat64 */,\n /** f32.reinterpret_i32 */\n ReinterpretI32ToF32 = 45 /* _BinaryenReinterpretInt32 */,\n /** f64.reinterpret_i64 */\n ReinterpretI64ToF64 = 46 /* _BinaryenReinterpretInt64 */,\n\n // see: https://github.com/WebAssembly/sign-extension-ops\n\n /** i32.extend8_s */\n Extend8I32 = 47 /* _BinaryenExtendS8Int32 */,\n /** i32.extend16_s */\n Extend16I32 = 48 /* _BinaryenExtendS16Int32 */,\n /** i64.extend8_s */\n Extend8I64 = 49 /* _BinaryenExtendS8Int64 */,\n /** i64.extend16_s */\n Extend16I64 = 50 /* _BinaryenExtendS16Int64 */,\n /** i64.extend32_s (i64 in, i64 out) */\n Extend32I64 = 51 /* _BinaryenExtendS32Int64 */,\n\n // see: https://github.com/WebAssembly/nontrapping-float-to-int-conversions\n\n /** i32.trunc_sat_f32_s */\n TruncSatF32ToI32 = 52 /* _BinaryenTruncSatSFloat32ToInt32 */,\n /** i32.trunc_sat_f32_u */\n TruncSatF32ToU32 = 53 /* _BinaryenTruncSatUFloat32ToInt32 */,\n /** i32.trunc_sat_f64_s */\n TruncSatF64ToI32 = 54 /* _BinaryenTruncSatSFloat64ToInt32 */,\n /** i32.trunc_sat_f64_u */\n TruncSatF64ToU32 = 55 /* _BinaryenTruncSatUFloat64ToInt32 */,\n /** i64.trunc_sat_f32_s */\n TruncSatF32ToI64 = 56 /* _BinaryenTruncSatSFloat32ToInt64 */,\n /** i64.trunc_sat_f32_u */\n TruncSatF32ToU64 = 57 /* _BinaryenTruncSatUFloat32ToInt64 */,\n /** i64.trunc_sat_f64_s */\n TruncSatF64ToI64 = 58 /* _BinaryenTruncSatSFloat64ToInt64 */,\n /** i64.trunc_sat_f64_u */\n TruncSatF64ToU64 = 59 /* _BinaryenTruncSatUFloat64ToInt64 */,\n\n // see: https://github.com/WebAssembly/simd\n\n /** i8x16.splat */\n SplatI8x16 = 60 /* _BinaryenSplatVecI8x16 */,\n /** i16x8.splat */\n SplatI16x8 = 61 /* _BinaryenSplatVecI16x8 */,\n /** i32x4.splat */\n SplatI32x4 = 62 /* _BinaryenSplatVecI32x4 */,\n /** i64x2.splat */\n SplatI64x2 = 63 /* _BinaryenSplatVecI64x2 */,\n /** f32x4.splat */\n SplatF32x4 = 64 /* _BinaryenSplatVecF32x4 */,\n /** f64x2.splat */\n SplatF64x2 = 65 /* _BinaryenSplatVecF64x2 */,\n /** v128.not */\n NotV128 = 66 /* _BinaryenNotVec128 */,\n /** v128.any_true */\n AnyTrueV128 = 67 /* _BinaryenAnyTrueVec128 */,\n /** i8x16.abs */\n AbsI8x16 = 68 /* _BinaryenAbsVecI8x16 */,\n /** i8x16.neg */\n NegI8x16 = 69 /* _BinaryenNegVecI8x16 */,\n /** i8x16.all_true */\n AllTrueI8x16 = 70 /* _BinaryenAllTrueVecI8x16 */,\n /** i8x16.bitmask */\n BitmaskI8x16 = 71 /* _BinaryenBitmaskVecI8x16 */,\n /** i8x16.popcnt */\n PopcntI8x16 = 72 /* _BinaryenPopcntVecI8x16 */,\n /** i16x8.abs */\n AbsI16x8 = 73 /* _BinaryenAbsVecI16x8 */,\n /** i16x8.neg */\n NegI16x8 = 74 /* _BinaryenNegVecI16x8 */,\n /** i16x8.all_true */\n AllTrueI16x8 = 75 /* _BinaryenAllTrueVecI16x8 */,\n /** i16x8.bitmask */\n BitmaskI16x8 = 76 /* _BinaryenBitmaskVecI16x8 */,\n /** i32x4.abs */\n AbsI32x4 = 77 /* _BinaryenAbsVecI32x4 */,\n /** i32x4.neg */\n NegI32x4 = 78 /* _BinaryenNegVecI32x4 */,\n /** i32x4.all_true */\n AllTrueI32x4 = 79 /* _BinaryenAllTrueVecI32x4 */,\n /** i32x4.bitmask */\n BitmaskI32x4 = 80 /* _BinaryenBitmaskVecI32x4 */,\n /** i64x2.abs */\n AbsI64x2 = 81 /* _BinaryenAbsVecI64x2 */,\n /** i64x2.neg */\n NegI64x2 = 82 /* _BinaryenNegVecI64x2 */,\n /** i64x2.all_true */\n AllTrueI64x2 = 83 /* _BinaryenAllTrueVecI64x2 */,\n /** i64x2.bitmask */\n BitmaskI64x2 = 84 /* _BinaryenBitmaskVecI64x2 */,\n /** f32x4.abs */\n AbsF32x4 = 85 /* _BinaryenAbsVecF32x4 */,\n /** f32x4.neg */\n NegF32x4 = 86 /* _BinaryenNegVecF32x4 */,\n /** f32x4.sqrt */\n SqrtF32x4 = 87 /* _BinaryenSqrtVecF32x4 */,\n /** f32x4.ceil */\n CeilF32x4 = 88 /* _BinaryenCeilVecF32x4 */,\n /** f32x4.floor */\n FloorF32x4 = 89 /* _BinaryenFloorVecF32x4 */,\n /** f32x4.trunc */\n TruncF32x4 = 90 /* BinaryenTruncVecF32x4 */,\n /** f32x4.nearest */\n NearestF32x4 = 91 /* BinaryenNearestVecF32x4 */,\n /** f64x2.abs */\n AbsF64x2 = 92 /* _BinaryenAbsVecF64x2 */,\n /** f64x2.neg */\n NegF64x2 = 93 /* _BinaryenNegVecF64x2 */,\n /** f64x2.sqrt */\n SqrtF64x2 = 94 /* _BinaryenSqrtVecF64x2 */,\n /** f64x2.ceil */\n CeilF64x2 = 95 /* _BinaryenCeilVecF64x2 */,\n /** f64x2.floor */\n FloorF64x2 = 96 /* _BinaryenFloorVecF64x2 */,\n /** f64x2.trunc */\n TruncF64x2 = 97 /* _BinaryenTruncVecF64x2 */,\n /** f64x2.nearest */\n NearestF64x2 = 98 /* _BinaryenNearestVecF64x2 */,\n /** i16x8.extadd_pairwise_i8x16_s */\n ExtaddPairwiseI8x16ToI16x8 = 99 /* _BinaryenExtAddPairwiseSVecI8x16ToI16x8 */,\n /** i16x8.extadd_pairwise.i8x16_u */\n ExtaddPairwiseU8x16ToU16x8 = 100 /* _BinaryenExtAddPairwiseUVecI8x16ToI16x8 */,\n /** i32x4.extadd_pairwise.i16x8_s */\n ExtaddPairwiseI16x8ToI32x4 = 101 /* _BinaryenExtAddPairwiseSVecI16x8ToI32x4 */,\n /** i32x4.extadd_pairwise.i64x8_u */\n ExtaddPairwiseU16x8ToU32x4 = 102 /* _BinaryenExtAddPairwiseUVecI16x8ToI32x4 */,\n /** i32x4.trunc_sat_f32x4_s */\n TruncSatF32x4ToI32x4 = 103 /* _BinaryenTruncSatSVecF32x4ToVecI32x4 */,\n /** i32x4.trunc_sat_f32x4_u */\n TruncSatF32x4ToU32x4 = 104 /* _BinaryenTruncSatUVecF32x4ToVecI32x4 */,\n /** f32x4.convert_i32x4_s */\n ConvertI32x4ToF32x4 = 105 /* _BinaryenConvertSVecI32x4ToVecF32x4 */,\n /** f32x4.convert_i32x4_u */\n ConvertU32x4ToF32x4 = 106 /* _BinaryenConvertUVecI32x4ToVecF32x4 */,\n /** i16x8.extend_low_i8x16_s */\n ExtendLowI8x16ToI16x8 = 107 /* _BinaryenExtendLowSVecI8x16ToVecI16x8 */,\n /** i16x8.extend_high_i8x16_s */\n ExtendHighI8x16ToI16x8 = 108 /* _BinaryenExtendHighSVecI8x16ToVecI16x8 */,\n /** i16x8.extend_low_i8x16_u */\n ExtendLowU8x16ToU16x8 = 109 /* _BinaryenExtendLowUVecI8x16ToVecI16x8 */,\n /** i16x8.extend_high_i8x16_u */\n ExtendHighU8x16ToU16x8 = 110 /* _BinaryenExtendHighUVecI8x16ToVecI16x8 */,\n /** i32x4.extend_low_i16x8_s */\n ExtendLowI16x8ToI32x4 = 111 /* _BinaryenExtendLowSVecI16x8ToVecI32x4 */,\n /** i32x4.extend_high_i16x8_s */\n ExtendHighI16x8ToI32x4 = 112 /* _BinaryenExtendHighSVecI16x8ToVecI32x4 */,\n /** i32x4.extend_low_i16x8_u */\n ExtendLowU16x8ToU32x4 = 113 /* _BinaryenExtendLowUVecI16x8ToVecI32x4 */,\n /** i32x4.extend_high_i16x8_u */\n ExtendHighU16x8ToU32x4 = 114 /* _BinaryenExtendHighUVecI16x8ToVecI32x4 */,\n /** i64x2.extend_low_i32x4_s */\n ExtendLowI32x4ToI64x2 = 115 /* _BinaryenExtendLowSVecI32x4ToVecI64x2 */,\n /** i64x2.extend_high_i32x4_s */\n ExtendHighI32x4ToI64x2 = 116 /* _BinaryenExtendHighSVecI32x4ToVecI64x2 */,\n /** i64x2.extend_low_i32x4_u */\n ExtendLowU32x4ToU64x2 = 117 /* _BinaryenExtendLowUVecI32x4ToVecI64x2 */,\n /** i64x2.extend_high_i32x4_u */\n ExtendHighU32x4ToU64x2 = 118 /* _BinaryenExtendHighUVecI32x4ToVecI64x2 */,\n /** f32x4.convert_i32x4_s */\n ConvertLowI32x4ToF64x2 = 119 /* _BinaryenConvertLowSVecI32x4ToVecF64x2 */,\n /** f32x4.convert_i32x4_u */\n ConvertLowU32x4ToF64x2 = 120 /* _BinaryenConvertLowUVecI32x4ToVecF64x2 */,\n /** i32x4.trunc_sat_f64x2_s_zero */\n TruncSatF64x2ToI32x4Zero = 121 /* _BinaryenTruncSatZeroSVecF64x2ToVecI32x4 */,\n /** i32x4.trunc_sat_f64x2_u_zero */\n TruncSatF64x2ToU32x4Zero = 122 /* _BinaryenTruncSatZeroUVecF64x2ToVecI32x4 */,\n /** f32x4.demote_f64x2_zero */\n DemoteZeroF64x2ToF32x4 = 123 /* _BinaryenDemoteZeroVecF64x2ToVecF32x4 */,\n /** f64x2.promote_low_f32x4 */\n PromoteLowF32x4ToF64x2 = 124 /* _BinaryenPromoteLowVecF32x4ToVecF64x2 */,\n\n // see: https://github.com/WebAssembly/relaxed-simd\n\n /** i32x4.relaxed_trunc_f32x4_s */\n RelaxedTruncF32x4ToI32x4 = 125 /* TODO_BinaryenRelaxedTruncSVecF32x4ToVecI32x4 */,\n /** i32x4.relaxed_trunc_f32x4_u */\n RelaxedTruncF32x4ToU32x4 = 126 /* TODO_BinaryenRelaxedTruncUVecF32x4ToVecI32x4 */,\n /** i32x4.relaxed_trunc_f64x2_s_zero */\n RelaxedTruncF64x2ToI32x4Zero = 127 /* TODO_BinaryenRelaxedTruncZeroSVecF64x2ToVecI32x4 */,\n /** i32x4.relaxed_trunc_f64x2_u_zero */\n RelaxedTruncF64x2ToU32x4Zero = 128 /* TODO_BinaryenRelaxedTruncZeroUVecF64x2ToVecI32x4 */,\n\n _last = RelaxedTruncF64x2ToU32x4Zero,\n\n // Target dependent\n\n /** i32.clz or i64.clz, depending on target word size */\n ClzSize,\n /** i32.ctz or i64.ctz, depending on target word size */\n CtzSize,\n /** i32.popcnt or i64.popcnt, depending on target word size */\n PopcntSize,\n /** i32.eqz or i64.eqz, depending on target word size */\n EqzSize\n}\n\n/** Binaryen binary operation constants. */\nexport const enum BinaryOp {\n /** i32.add */\n AddI32 = 0 /* _BinaryenAddInt32 */,\n /** i32.sub */\n SubI32 = 1 /* _BinaryenSubInt32 */,\n /** i32.mul */\n MulI32 = 2 /* _BinaryenMulInt32 */,\n /** i32.div_s */\n DivI32 = 3 /* _BinaryenDivSInt32 */,\n /** i32.div_u */\n DivU32 = 4 /* _BinaryenDivUInt32 */,\n /** i32.rem_s */\n RemI32 = 5 /* _BinaryenRemSInt32 */,\n /** i32.rem_u */\n RemU32 = 6 /* _BinaryenRemUInt32 */,\n /** i32.and */\n AndI32 = 7 /* _BinaryenAndInt32 */,\n /** i32.or */\n OrI32 = 8 /* _BinaryenOrInt32 */,\n /** i32.xor */\n XorI32 = 9 /* _BinaryenXorInt32 */,\n /** i32.shl */\n ShlI32 = 10 /* _BinaryenShlInt32 */,\n /** i32.shr_s */\n ShrI32 = 11 /* _BinaryenShrSInt32 */,\n /** i32.shr_u */\n ShrU32 = 12 /* _BinaryenShrUInt32 */,\n /** i32.rotl */\n RotlI32 = 13 /* _BinaryenRotLInt32 */,\n /** i32.rotr */\n RotrI32 = 14 /* _BinaryenRotRInt32 */,\n /** i32.eq */\n EqI32 = 15 /* _BinaryenEqInt32 */,\n /** i32.ne */\n NeI32 = 16 /* _BinaryenNeInt32 */,\n /** i32.lt_s */\n LtI32 = 17 /* _BinaryenLtSInt32 */,\n /** i32.lt_u */\n LtU32 = 18 /* _BinaryenLtUInt32 */,\n /** i32.le_s */\n LeI32 = 19 /* _BinaryenLeSInt32 */,\n /** i32.le_u */\n LeU32 = 20 /* _BinaryenLeUInt32 */,\n /** i32.gt_s */\n GtI32 = 21 /* _BinaryenGtSInt32 */,\n /** i32.gt_u */\n GtU32 = 22 /* _BinaryenGtUInt32 */,\n /** i32.ge_s */\n GeI32 = 23 /* _BinaryenGeSInt32 */,\n /** i32.ge_u */\n GeU32 = 24 /* _BinaryenGeUInt32 */,\n /** i64.add */\n AddI64 = 25 /* _BinaryenAddInt64 */,\n /** i64.sub */\n SubI64 = 26 /* _BinaryenSubInt64 */,\n /** i64.mul */\n MulI64 = 27 /* _BinaryenMulInt64 */,\n /** i64.div_s */\n DivI64 = 28 /* _BinaryenDivSInt64 */,\n /** i64.div_u */\n DivU64 = 29 /* _BinaryenDivUInt64 */,\n /** i64.rem_s */\n RemI64 = 30 /* _BinaryenRemSInt64 */,\n /** i64.rem_u */\n RemU64 = 31 /* _BinaryenRemUInt64 */,\n /** i64.and */\n AndI64 = 32 /* _BinaryenAndInt64 */,\n /** i64.or */\n OrI64 = 33 /* _BinaryenOrInt64 */,\n /** i64.xor */\n XorI64 = 34 /* _BinaryenXorInt64 */,\n /** i64.shl */\n ShlI64 = 35 /* _BinaryenShlInt64 */,\n /** i64.shr_s */\n ShrI64 = 36 /* _BinaryenShrSInt64 */,\n /** i64.shr_u */\n ShrU64 = 37 /* _BinaryenShrUInt64 */,\n /** i64.rotl */\n RotlI64 = 38 /* _BinaryenRotLInt64 */,\n /** i64.rotr */\n RotrI64 = 39 /* _BinaryenRotRInt64 */,\n /** i64.eq */\n EqI64 = 40 /* _BinaryenEqInt64 */,\n /** i64.ne */\n NeI64 = 41 /* _BinaryenNeInt64 */,\n /** i64.lt_s */\n LtI64 = 42 /* _BinaryenLtSInt64 */,\n /** i64.lt_u */\n LtU64 = 43 /* _BinaryenLtUInt64 */,\n /** i64.le_s */\n LeI64 = 44 /* _BinaryenLeSInt64 */,\n /** i64.le_u */\n LeU64 = 45 /* _BinaryenLeUInt64 */,\n /** i64.gt_s */\n GtI64 = 46 /* _BinaryenGtSInt64 */,\n /** i64.gt_u */\n GtU64 = 47 /* _BinaryenGtUInt64 */,\n /** i64.ge_s */\n GeI64 = 48 /* _BinaryenGeSInt64 */,\n /** i64.ge_u */\n GeU64 = 49 /* _BinaryenGeUInt64 */,\n /** f32.add */\n AddF32 = 50 /* _BinaryenAddFloat32 */,\n /** f32.sub */\n SubF32 = 51 /* _BinaryenSubFloat32 */,\n /** f32.mul */\n MulF32 = 52 /* _BinaryenMulFloat32 */,\n /** f32.div */\n DivF32 = 53 /* _BinaryenDivFloat32 */,\n /** f32.copysign */\n CopysignF32 = 54 /* _BinaryenCopySignFloat32 */,\n /** f32.min */\n MinF32 = 55 /* _BinaryenMinFloat32 */,\n /** f32.max */\n MaxF32 = 56 /* _BinaryenMaxFloat32 */,\n /** f32.eq */\n EqF32 = 57 /* _BinaryenEqFloat32 */,\n /** f32.ne */\n NeF32 = 58 /* _BinaryenNeFloat32 */,\n /** f32.lt */\n LtF32 = 59 /* _BinaryenLtFloat32 */,\n /** f32.le */\n LeF32 = 60 /* _BinaryenLeFloat32 */,\n /** f32.gt */\n GtF32 = 61 /* _BinaryenGtFloat32 */,\n /** f32.ge */\n GeF32 = 62 /* _BinaryenGeFloat32 */,\n /** f64.add */\n AddF64 = 63 /* _BinaryenAddFloat64 */,\n /** f64.sub */\n SubF64 = 64 /* _BinaryenSubFloat64 */,\n /** f64.mul */\n MulF64 = 65 /* _BinaryenMulFloat64 */,\n /** f64.div */\n DivF64 = 66 /* _BinaryenDivFloat64 */,\n /** f64.copysign */\n CopysignF64 = 67 /* _BinaryenCopySignFloat64 */,\n /** f64.min */\n MinF64 = 68 /* _BinaryenMinFloat64 */,\n /** f64.max */\n MaxF64 = 69 /* _BinaryenMaxFloat64 */,\n /** f64.eq */\n EqF64 = 70 /* _BinaryenEqFloat64 */,\n /** f64.ne */\n NeF64 = 71 /* _BinaryenNeFloat64 */,\n /** f64.lt */\n LtF64 = 72 /* _BinaryenLtFloat64 */,\n /** f64.le */\n LeF64 = 73 /* _BinaryenLeFloat64 */,\n /** f64.gt */\n GtF64 = 74 /* _BinaryenGtFloat64 */,\n /** f64.ge */\n GeF64 = 75 /* _BinaryenGeFloat64 */,\n\n // see: https://github.com/WebAssembly/simd\n\n /** i8x16.eq */\n EqI8x16 = 76 /* _BinaryenEqVecI8x16 */,\n /** i8x16.he */\n NeI8x16 = 77 /* _BinaryenNeVecI8x16 */,\n /** i8x16.lt_s */\n LtI8x16 = 78 /* _BinaryenLtSVecI8x16 */,\n /** i8x16.lt_u */\n LtU8x16 = 79 /* _BinaryenLtUVecI8x16 */,\n /** i8x16.gt_s */\n GtI8x16 = 80 /* _BinaryenGtSVecI8x16 */,\n /** i8x16.gt_u */\n GtU8x16 = 81 /* _BinaryenGtUVecI8x16 */,\n /** i8x16.le_s */\n LeI8x16 = 82 /* _BinaryenLeSVecI8x16 */,\n /** i8x16.le_u */\n LeU8x16 = 83 /* _BinaryenLeUVecI8x16 */,\n /** i8x16.ge_s */\n GeI8x16 = 84 /* _BinaryenGeSVecI8x16 */,\n /** i8x16.ge_u */\n GeU8x16 = 85 /* _BinaryenGeUVecI8x16 */,\n /** i16x8.eq */\n EqI16x8 = 86 /* _BinaryenEqVecI16x8 */,\n /** i16x8.ne */\n NeI16x8 = 87 /* _BinaryenNeVecI16x8 */,\n /** i16x8.lt_s */\n LtI16x8 = 88 /* _BinaryenLtSVecI16x8 */,\n /** i16x8.lt_u */\n LtU16x8 = 89 /* _BinaryenLtUVecI16x8 */,\n /** i16x8.gt_s */\n GtI16x8 = 90 /* _BinaryenGtSVecI16x8 */,\n /** i16x8.gt_u */\n GtU16x8 = 91 /* _BinaryenGtUVecI16x8 */,\n /** i16x8.le_s */\n LeI16x8 = 92 /* _BinaryenLeSVecI16x8 */,\n /** i16x8.le_u */\n LeU16x8 = 93 /* _BinaryenLeUVecI16x8 */,\n /** i16x8.ge_s */\n GeI16x8 = 94 /* _BinaryenGeSVecI16x8 */,\n /** i16x8.ge_u */\n GeU16x8 = 95 /* _BinaryenGeUVecI16x8 */,\n /** i32x4.eq */\n EqI32x4 = 96 /* _BinaryenEqVecI32x4 */,\n /** i32x4.ne */\n NeI32x4 = 97 /* _BinaryenNeVecI32x4 */,\n /** i32x4.lt_s */\n LtI32x4 = 98 /* _BinaryenLtSVecI32x4 */,\n /** i32x4.lt_u */\n LtU32x4 = 99 /* _BinaryenLtUVecI32x4 */,\n /** i32x4.gt_s */\n GtI32x4 = 100 /* _BinaryenGtSVecI32x4 */,\n /** i32x4.gt_u */\n GtU32x4 = 101 /* _BinaryenGtUVecI32x4 */,\n /** i32x4.le_s */\n LeI32x4 = 102 /* _BinaryenLeSVecI32x4 */,\n /** i32x4.le_u */\n LeU32x4 = 103 /* _BinaryenLeUVecI32x4 */,\n /** i32x4.ge_s */\n GeI32x4 = 104 /* _BinaryenGeSVecI32x4 */,\n /** i32x4.ge_u */\n GeU32x4 = 105 /* _BinaryenGeUVecI32x4 */,\n /** i64x2.eq */\n EqI64x2 = 106 /* _BinaryenEqVecI64x2 */,\n /** i64x2.ne */\n NeI64x2 = 107 /* _BinaryenNeVecI64x2 */,\n /** i64x2.lt_s */\n LtI64x2 = 108 /* _BinaryenLtSVecI64x2 */,\n /** i64x2.gt_s */\n GtI64x2 = 109 /* _BinaryenGtSVecI64x2 */,\n /** i64x2.le_s */\n LeI64x2 = 110 /* _BinaryenLeSVecI64x2 */,\n /** i64x2.ge_s */\n GeI64x2 = 111 /* _BinaryenGeSVecI64x2 */,\n /** f32x4.eq */\n EqF32x4 = 112 /* _BinaryenEqVecF32x4 */,\n /** f32x4.ne */\n NeF32x4 = 113 /* _BinaryenNeVecF32x4 */,\n /** f32x4.lt */\n LtF32x4 = 114 /* _BinaryenLtVecF32x4 */,\n /** f32x4.gt */\n GtF32x4 = 115 /* _BinaryenGtVecF32x4 */,\n /** f32x4.le */\n LeF32x4 = 116 /* _BinaryenLeVecF32x4 */,\n /** f32x4.ge */\n GeF32x4 = 117 /* _BinaryenGeVecF32x4 */,\n /** f64x2.eq */\n EqF64x2 = 118 /* _BinaryenEqVecF64x2 */,\n /** f64x2.ne */\n NeF64x2 = 119 /* _BinaryenNeVecF64x2 */,\n /** f64x2.lt */\n LtF64x2 = 120 /* _BinaryenLtVecF64x2 */,\n /** f64x2.gt */\n GtF64x2 = 121 /* _BinaryenGtVecF64x2 */,\n /** f64x2.le */\n LeF64x2 = 122 /* _BinaryenLeVecF64x2 */,\n /** f64x2.ge */\n GeF64x2 = 123 /* _BinaryenGeVecF64x2 */,\n /** v128.and */\n AndV128 = 124 /* _BinaryenAndVec128 */,\n /** v128.or */\n OrV128 = 125 /* _BinaryenOrVec128 */,\n /** v128.xor */\n XorV128 = 126 /* _BinaryenXorVec128 */,\n /** v128.andnot */\n AndnotV128 = 127 /* _BinaryenAndNotVec128 */,\n /** i8x16.add */\n AddI8x16 = 128 /* _BinaryenAddVecI8x16 */,\n /** i8x16.add_sat_s */\n AddSatI8x16 = 129 /* _BinaryenAddSatSVecI8x16 */,\n /** i8x16.add_sat_u */\n AddSatU8x16 = 130 /* _BinaryenAddSatUVecI8x16 */,\n /** i8x16.sub */\n SubI8x16 = 131 /* _BinaryenSubVecI8x16 */,\n /** i8x16.sub_sat_s */\n SubSatI8x16 = 132 /* _BinaryenSubSatSVecI8x16 */,\n /** i8x16.sub_sat_u */\n SubSatU8x16 = 133 /* _BinaryenSubSatUVecI8x16 */,\n /** i8x16.min_s */\n MinI8x16 = 134 /* _BinaryenMinSVecI8x16 */,\n /** i8x16.min_u */\n MinU8x16 = 135 /* _BinaryenMinUVecI8x16 */,\n /** i8x16.max_s */\n MaxI8x16 = 136 /* _BinaryenMaxSVecI8x16 */,\n /** i8x16.max_u */\n MaxU8x16 = 137 /* _BinaryenMaxUVecI8x16 */,\n /** i8x16.avgr_u */\n AvgrU8x16 = 138 /* _BinaryenAvgrUVecI8x16 */,\n /** i16x8.add */\n AddI16x8 = 139 /* _BinaryenAddVecI16x8 */,\n /** i16x8.add_sat_s */\n AddSatI16x8 = 140 /* _BinaryenAddSatSVecI16x8 */,\n /** i16x8.add_sat_u */\n AddSatU16x8 = 141 /* _BinaryenAddSatUVecI16x8 */,\n /** i16x8.sub */\n SubI16x8 = 142 /* _BinaryenSubVecI16x8 */,\n /** i16x8.sub_sat_s */\n SubSatI16x8 = 143 /* _BinaryenSubSatSVecI16x8 */,\n /** i16x8.sub_sat_u */\n SubSatU16x8 = 144 /* _BinaryenSubSatUVecI16x8 */,\n /** i16x8.mul */\n MulI16x8 = 145 /* _BinaryenMulVecI16x8 */,\n /** i16x8.min_s */\n MinI16x8 = 146 /* _BinaryenMinSVecI16x8 */,\n /** i16x8.min_u */\n MinU16x8 = 147 /* _BinaryenMinUVecI16x8 */,\n /** i16x8.max_s */\n MaxI16x8 = 148 /* _BinaryenMaxSVecI16x8 */,\n /** i16x8.max_u */\n MaxU16x8 = 149 /* _BinaryenMaxUVecI16x8 */,\n /** i16x8.avgr_u */\n AvgrU16x8 = 150 /* _BinaryenAvgrUVecI16x8 */,\n /** i16x8.q15mulr_sat_s */\n Q15mulrSatI16x8 = 151 /* _BinaryenQ15MulrSatSVecI16x8 */,\n /** i16x8.extmul_low_i8x16_s */\n ExtmulLowI16x8 = 152 /* _BinaryenExtMulLowSVecI16x8 */,\n /** i16x8.extmul_high_i8x16_s */\n ExtmulHighI16x8 = 153 /* _BinaryenExtMulHighSVecI16x8 */,\n /** i16x8.extmul_low_i8x16_u */\n ExtmulLowU16x8 = 154 /* _BinaryenExtMulLowUVecI16x8 */,\n /** i16x8.extmul_high_i8x16_u */\n ExtmulHighU16x8 = 155 /* _BinaryenExtMulHighUVecI16x8 */,\n /** i32x4.add */\n AddI32x4 = 156 /* _BinaryenAddVecI32x4 */,\n /** i32x4.sub */\n SubI32x4 = 157 /* _BinaryenSubVecI32x4 */,\n /** i32x4.mul */\n MulI32x4 = 158 /* _BinaryenMulVecI32x4 */,\n /** i32x4.min_s */\n MinI32x4 = 159 /* _BinaryenMinSVecI32x4 */,\n /** i32x4.min_u */\n MinU32x4 = 160 /* _BinaryenMinUVecI32x4 */,\n /** i32x4.max_s */\n MaxI32x4 = 161 /* _BinaryenMaxSVecI32x4 */,\n /** i32x4.max_u */\n MaxU32x4 = 162 /* _BinaryenMaxUVecI32x4 */,\n /** i32x4.dot_i16x8_s */\n DotI16x8 = 163 /* _BinaryenDotSVecI16x8ToVecI32x4 */,\n /** i32x4.extmul_low_i16x8_s */\n ExtmulLowI32x4 = 164 /* _BinaryenExtMulLowSVecI32x4 */,\n /** i32x4.extmul_high_i16x8_s */\n ExtmulHighI32x4 = 165 /* _BinaryenExtMulHighSVecI32x4 */,\n /** i32x4.extmul_low_i16x8_u */\n ExtmulLowU32x4 = 166 /* _BinaryenExtMulLowUVecI32x4 */,\n /** i32x4.extmul_high_i16x8_u */\n ExtmulHighU32x4 = 167 /* _BinaryenExtMulHighUVecI32x4 */,\n /** i64x2.add */\n AddI64x2 = 168 /* _BinaryenAddVecI64x2 */,\n /** i64x2.sub */\n SubI64x2 = 169 /* _BinaryenSubVecI64x2 */,\n /** i64x2.mul */\n MulI64x2 = 170 /* _BinaryenMulVecI64x2 */,\n /** i64x2.extmul_low_i32x4_s */\n ExtmulLowI64x2 = 171 /* _BinaryenExtMulLowSVecI64x2 */,\n /** i64x2.extmul_high_i32x4_s */\n ExtmulHighI64x2 = 172 /* _BinaryenExtMulHighSVecI64x2 */,\n /** i64x2.extmul_low_i32x4_u */\n ExtmulLowU64x2 = 173 /* _BinaryenExtMulLowUVecI64x2 */,\n /** i64x2.extmul_high_i32x4_u */\n ExtmulHighU64x2 = 174 /* _BinaryenExtMulHighUVecI64x2 */,\n /** f32x4.add */\n AddF32x4 = 175 /* _BinaryenAddVecF32x4 */,\n /** f32x4.sub */\n SubF32x4 = 176 /* _BinaryenSubVecF32x4 */,\n /** f32x4.mul */\n MulF32x4 = 177 /* _BinaryenMulVecF32x4 */,\n /** f32x4.div */\n DivF32x4 = 178 /* _BinaryenDivVecF32x4 */,\n /** f32x4.min */\n MinF32x4 = 179 /* _BinaryenMinVecF32x4 */,\n /** f32x4.max */\n MaxF32x4 = 180 /* _BinaryenMaxVecF32x4 */,\n /** f32x4.pmin */\n PminF32x4 = 181 /* _BinaryenPMinVecF32x4 */,\n /** f32x4.pmax */\n PmaxF32x4 = 182 /* _BinaryenPMaxVecF32x4 */,\n /** f64x2.add */\n AddF64x2 = 183 /* _BinaryenAddVecF64x2 */,\n /** f64x2.sub */\n SubF64x2 = 184 /* _BinaryenSubVecF64x2 */,\n /** f64x2.mul */\n MulF64x2 = 185 /* _BinaryenMulVecF64x2 */,\n /** f64x2.div */\n DivF64x2 = 186 /* _BinaryenDivVecF64x2 */,\n /** f64x2.min */\n MinF64x2 = 187 /* _BinaryenMinVecF64x2 */,\n /** f64x2.max */\n MaxF64x2 = 188 /* _BinaryenMaxVecF64x2 */,\n /** f64x2.pmin */\n PminF64x2 = 189 /* _BinaryenPMinVecF64x2 */,\n /** f64x2.pmax */\n PmaxF64x2 = 190 /* _BinaryenPMaxVecF64x2 */,\n /** i8x16.narrow_i16x8_s */\n NarrowI16x8ToI8x16 = 191 /* _BinaryenNarrowSVecI16x8ToVecI8x16 */,\n /** i8x16.narrow_i16x8_u */\n NarrowU16x8ToU8x16 = 192 /* _BinaryenNarrowUVecI16x8ToVecI8x16 */,\n /** i16x8.narrow_i32x4_s */\n NarrowI32x4ToI16x8 = 193 /* _BinaryenNarrowSVecI32x4ToVecI16x8 */,\n /** i16x8.narrow_i32x4_u */\n NarrowU32x4ToU16x8 = 194 /* _BinaryenNarrowUVecI32x4ToVecI16x8 */,\n /** i8x16.swizzle */\n SwizzleI8x16 = 195 /* _BinaryenSwizzleVecI8x16 */,\n\n // see: https://github.com/WebAssembly/relaxed-simd\n\n /** i8x16.relaxed_swizzle */\n RelaxedSwizzleI8x16 = 196 /* TODO_BinaryenRelaxedSwizzleVecI8x16 */,\n /** f32x4.relaxed_min */\n RelaxedMinF32x4 = 197 /* TODO_BinaryenRelaxedMinVecF32x4 */,\n /** f32x4.relaxed_max */\n RelaxedMaxF32x4 = 198 /* TODO_BinaryenRelaxedMaxVecF32x4 */,\n /** f64x2.relaxed_min */\n RelaxedMinF64x2 = 199 /* TODO_BinaryenRelaxedMinVecF64x2 */,\n /** f64x2.relaxed_max */\n RelaxedMaxF64x2 = 200 /* TODO_BinaryenRelaxedMaxVecF64x2 */,\n /** i16x8.relaxed_q15mulr_s */\n RelaxedQ15MulrI16x8 = 201 /* TODO_BinaryenRelaxedQ15MulrSVecI16x8 */,\n /** i16x8.relaxed_dot_i8x16_i7x16_s */\n RelaxedDotI8x16I7x16ToI16x8 = 202 /* TODO_BinaryenDotI8x16I7x16SToVecI16x8 */,\n\n _last = RelaxedDotI8x16I7x16ToI16x8,\n\n // Target dependent\n\n /** i32.add or i64.add, depending on target word size */\n AddSize,\n /** i32.sub or i64.sub, depending on target word size */\n SubSize,\n /** i32.mul or i64.mul, depending on target word size */\n MulSize,\n /** i32.div_s or i64.div_s, depending on target word size */\n DivISize,\n /** i32.div_u or i64.div_u, depending on target word size */\n DivUSize,\n /** i32.rem_s or i64.rem_s, depending on target word size */\n RemISize,\n /** i32.rem_u or i64.rem_u, depending on target word size */\n RemUSize,\n /** i32.and or i64.and, depending on target word size */\n AndSize,\n /** i32.or or i64.or, depending on target word size */\n OrSize,\n /** i32.xor or i64.xor, depending on target word size */\n XorSize,\n /** i32.shl or i64.shl, depending on target word size */\n ShlSize,\n /** i32.shr_s or i64.shr_s, depending on target word size */\n ShrISize,\n /** i32.shr_u or i64.shr_u, depending on target word size */\n ShrUSize,\n /** i32.rotl or i64.rotl, depending on target word size */\n RotlSize,\n /** i32.rotr or i64.rotr, depending on target word size */\n RotrSize,\n /** i32.eq or i64.eq, depending on target word size */\n EqSize,\n /** i32.ne or i64.ne, depending on target word size */\n NeSize,\n /** i32.lt_s or i64.lt_s, depending on target word size */\n LtISize,\n /** i32.lt_u or i64.lt_u, depending on target word size */\n LtUSize,\n /** i32.le_s or i64.le_s, depending on target word size */\n LeISize,\n /** i32.le_u or i64.le_u, depending on target word size */\n LeUSize,\n /** i32.gt_s or i64.gt_s, depending on target word size */\n GtISize,\n /** i32.gt_u or i64.gt_u, depending on target word size */\n GtUSize,\n /** i32.ge_s or i64.ge_s, depending on target word size */\n GeISize,\n /** i32.ge_u or i64.ge_u, depending on target word size */\n GeUSize\n}\n\n/** Binaryen atomic read-modify-write operation constants. */\nexport const enum AtomicRMWOp {\n /** i32.atomic.rmw.add, i32.atomic.rmw8.add_u, i32.atomic.rmw16.add_u, i64.atomic.rmw.add, i64.atomic.rmw8.add_u, i64.atomic.rmw16.add_u, i64.atomic.rmw32.add_u */\n Add = 0 /* _BinaryenAtomicRMWAdd */,\n /** i32.atomic.rmw.sub, i32.atomic.rmw8.sub_u, i32.atomic.rmw16.sub_u, i64.atomic.rmw.sub, i64.atomic.rmw8.sub_u, i64.atomic.rmw16.sub_u, i64.atomic.rmw32.sub_u */\n Sub = 1 /* _BinaryenAtomicRMWSub */,\n /** i32.atomic.rmw.and, i32.atomic.rmw8.and_u, i32.atomic.rmw16.and_u, i64.atomic.rmw.and, i64.atomic.rmw8.and_u, i64.atomic.rmw16.and_u, i64.atomic.rmw32.and_u */\n And = 2 /* _BinaryenAtomicRMWAnd */,\n /** i32.atomic.rmw.or, i32.atomic.rmw8.or_u, i32.atomic.rmw16.or_u, i64.atomic.rmw.or, i64.atomic.rmw8.or_u, i64.atomic.rmw16.or_u, i64.atomic.rmw32.or_u */\n Or = 3 /* _BinaryenAtomicRMWOr */,\n /** i32.atomic.rmw.xor, i32.atomic.rmw8.xor_u, i32.atomic.rmw16.xor_u, i64.atomic.rmw.xor, i64.atomic.rmw8.xor_u, i64.atomic.rmw16.xor_u, i64.atomic.rmw32.xor_u */\n Xor = 4 /* _BinaryenAtomicRMWXor */,\n /** i32.atomic.rmw.xchg, i32.atomic.rmw8.xchg_u, i32.atomic.rmw16.xchg_u, i64.atomic.rmw.xchg, i64.atomic.rmw8.xchg_u, i64.atomic.rmw16.xchg_u, i64.atomic.rmw32.xchg_u */\n Xchg = 5 /* _BinaryenAtomicRMWXchg */\n}\n\n/** Binaryen SIMD extract operation constants. */\nexport const enum SIMDExtractOp {\n /** i8x16.extract_lane_s */\n ExtractLaneI8x16 = 0 /* _BinaryenExtractLaneSVecI8x16 */,\n /** i8x16.extract_lane_u */\n ExtractLaneU8x16 = 1 /* _BinaryenExtractLaneUVecI8x16 */,\n /** i16x8.extract_lane_s */\n ExtractLaneI16x8 = 2 /* _BinaryenExtractLaneSVecI16x8 */,\n /** i16x8.extract_lane_u */\n ExtractLaneU16x8 = 3 /* _BinaryenExtractLaneUVecI16x8 */,\n /** i32x4.extract_lane_s */\n ExtractLaneI32x4 = 4 /* _BinaryenExtractLaneVecI32x4 */,\n /** i32x4.extract_lane_u */\n ExtractLaneI64x2 = 5 /* _BinaryenExtractLaneVecI64x2 */,\n /** i64x2.extract_lane_s */\n ExtractLaneF32x4 = 6 /* _BinaryenExtractLaneVecF32x4 */,\n /** i64x2.extract_lane_u */\n ExtractLaneF64x2 = 7 /* _BinaryenExtractLaneVecF64x2 */,\n}\n\n/** Binaryen SIMD replace operation constants. */\nexport const enum SIMDReplaceOp {\n /** i8x16.replace_lane */\n ReplaceLaneI8x16 = 0 /* _BinaryenReplaceLaneVecI8x16 */,\n /** i16x8.replace_lane */\n ReplaceLaneI16x8 = 1 /* _BinaryenReplaceLaneVecI16x8 */,\n /** i32x4.replace_lane */\n ReplaceLaneI32x4 = 2 /* _BinaryenReplaceLaneVecI32x4 */,\n /** i64x2.replace_lane */\n ReplaceLaneI64x2 = 3 /* _BinaryenReplaceLaneVecI64x2 */,\n /** f32x4.replace_lane */\n ReplaceLaneF32x4 = 4 /* _BinaryenReplaceLaneVecF32x4 */,\n /** f64x2.replace_lane */\n ReplaceLaneF64x2 = 5 /* _BinaryenReplaceLaneVecF64x2 */\n}\n\n/** Binaryen SIMD shift operation constants. */\nexport const enum SIMDShiftOp {\n /** i8x16.shl */\n ShlI8x16 = 0 /* _BinaryenShlVecI8x16 */,\n /** i8x16.shr_s */\n ShrI8x16 = 1 /* _BinaryenShrSVecI8x16 */,\n /** i8x16.shr_u */\n ShrU8x16 = 2 /* _BinaryenShrUVecI8x16 */,\n /** i16x8.shl */\n ShlI16x8 = 3 /* _BinaryenShlVecI16x8 */,\n /** i16x8.shr_s */\n ShrI16x8 = 4 /* _BinaryenShrSVecI16x8 */,\n /** i16x8.shr_u */\n ShrU16x8 = 5 /* _BinaryenShrUVecI16x8 */,\n /** i16x8.shl */\n ShlI32x4 = 6 /* _BinaryenShlVecI32x4 */,\n /** i32x4.shr_s */\n ShrI32x4 = 7 /* _BinaryenShrSVecI32x4 */,\n /** i32x4.shr_u */\n ShrU32x4 = 8 /* _BinaryenShrUVecI32x4 */,\n /** i64x2.shl */\n ShlI64x2 = 9 /* _BinaryenShlVecI64x2 */,\n /** i64x2.shr_u */\n ShrI64x2 = 10 /* _BinaryenShrSVecI64x2 */,\n /** i64x2.shr_u */\n ShrU64x2 = 11 /* _BinaryenShrUVecI64x2 */\n}\n\n/** Binaryen SIMD load operation constants. */\nexport const enum SIMDLoadOp {\n /** v128.load8_splat */\n Load8Splat = 0 /* _BinaryenLoad8SplatVec128 */,\n /** v128.load16_splat */\n Load16Splat = 1 /* _BinaryenLoad16SplatVec128 */,\n /** v128.load32_splat */\n Load32Splat = 2 /* _BinaryenLoad32SplatVec128 */,\n /** v128.load64_splat */\n Load64Splat = 3 /* _BinaryenLoad64SplatVec128 */,\n /** v128.load8x8_s */\n Load8x8S = 4 /* _BinaryenLoad8x8SVec128 */,\n /** v128.load8x8_u */\n Load8x8U = 5 /* _BinaryenLoad8x8UVec128 */,\n /** v128.load16x4_s */\n Load16x4S = 6 /* _BinaryenLoad16x4SVec128 */,\n /** v128.load16x4_u */\n Load16x4U = 7 /* _BinaryenLoad16x4UVec128 */,\n /** v128.load32x2_s */\n Load32x2S = 8 /* _BinaryenLoad32x2SVec128 */,\n /** v128.load32x2_u */\n Load32x2U = 9 /* _BinaryenLoad32x2UVec128 */,\n /** v128.load32_zero */\n Load32Zero = 10 /* _BinaryenLoad32ZeroVec128 */,\n /** v128.load64_zero */\n Load64Zero = 11 /* _BinaryenLoad64ZeroVec128 */,\n}\n\n/** Binaryen SIMD load/store lane operation constants. */\nexport const enum SIMDLoadStoreLaneOp {\n /** v128.load8_lane */\n Load8Lane = 0 /* _BinaryenLoad8LaneVec128 */,\n /** v128.load16_lane */\n Load16Lane = 1 /* _BinaryenLoad16LaneVec128 */,\n /** v128.load32_lane */\n Load32Lane = 2 /* _BinaryenLoad32LaneVec128 */,\n /** v128.load64_lane */\n Load64Lane = 3 /* _BinaryenLoad64LaneVec128 */,\n /** v128.store8_lane */\n Store8Lane = 4 /* _BinaryenStore8LaneVec128 */,\n /** v128.store16_lane */\n Store16Lane = 5 /* _BinaryenStore16LaneVec128 */,\n /** v128.store32_lane */\n Store32Lane = 6 /* _BinaryenStore32LaneVec128 */,\n /** v128.store64_lane */\n Store64Lane = 7 /* _BinaryenStore64LaneVec128 */,\n}\n\n/** Binaryen SIMD ternary operation constants. */\nexport const enum SIMDTernaryOp {\n /** v128.bitselect */\n Bitselect = 0 /* _BinaryenBitselectVec128 */,\n\n // see: https://github.com/WebAssembly/relaxed-simd\n\n /** f32x4.relaxed_madd */\n RelaxedMaddF32x4 = 1 /* TODO_BinaryenRelaxedFmaVecF32x4 */,\n /** f32x4.relaxed_nmadd */\n RelaxedNmaddF32x4 = 2 /* TODO_BinaryenRelaxedFmsVecF32x4 */,\n /** f64x2.relaxed_madd */\n RelaxedMaddF64x2 = 3 /* TODO_BinaryenRelaxedFmaVecF64x2 */,\n /** f64x2.relaxed_nmadd */\n RelaxedNmaddF64x2 = 4 /* TODO_BinaryenRelaxedFmsVecF64x2 */,\n /** i8x16.relaxed_laneselect */\n RelaxedLaneselectI8x16 = 5 /* TODO_BinaryenLaneselectI8x16 */,\n /** i16x8.relaxed_laneselect */\n RelaxedLaneselectI16x8 = 6 /* TODO_BinaryenLaneselectI16x8 */,\n /** i32x4.relaxed_laneselect */\n RelaxedLaneselectI32x4 = 7 /* TODO_BinaryenLaneselectI32x4 */,\n /** i64x2.relaxed_laneselect */\n RelaxedLaneselectI64x2 = 8 /* TODO_BinaryenLaneselectI64x2 */,\n /** i32x4.relaxed_dot_i8x16_i7x16_add_s */\n RelaxedDotI8x16I7x16AddToI32x4 = 9 /* TODO_BinaryenDotI8x16I7x16AddSToVecI32x4 */,\n}\n\n/** Binaryen RefAs operation constants. */\nexport const enum RefAsOp {\n /** ref.as_non_null */\n NonNull = 0 /* _BinaryenRefAsNonNull */,\n /** extern.internalize */\n ExternInternalize = 1 /* _BinaryenRefAsExternInternalize */,\n /** extern.externalize */\n ExternExternalize = 2 /* _BinaryenRefAsExternExternalize */\n}\n\n/** Binaryen BrOn operation constants. */\nexport const enum BrOnOp {\n /** br_on_null */\n Null = 0 /* _BinaryenBrOnNull */,\n /** br_on_non_null */\n NonNull = 1 /* _BinaryenBrOnNonNull */,\n /** br_on_cast */\n Cast = 2 /* _BinaryenBrOnCast */,\n /** br_on_cast_fail */\n CastFail = 3 /* _BinaryenBrOnCastFail */\n}\n\n/** Binaryen StringNew operation constants. */\nexport const enum StringNewOp {\n /** string.new_wtf8 utf8 */\n UTF8 = 0 /* _BinaryenStringNewUTF8 */,\n /** string.new_wtf8 wtf8 */\n WTF8 = 1 /* _BinaryenStringNewWTF8 */,\n /** string.new_wtf8 replace */\n LossyUTF8 = 2 /* _BinaryenStringNewLossyUTF8 */,\n /** string.new_wtf16 */\n WTF16 = 3 /* _BinaryenStringNewWTF16 */,\n /** string.new_wtf8_array utf8 */\n UTF8Array = 4 /* _BinaryenStringNewUTF8Array */,\n /** string.new_wtf8_array wtf8 */\n WTF8Array = 5 /* _BinaryenStringNewWTF8Array */,\n /** string.new_wtf8_array replace */\n LossyUTF8Array = 6 /* _BinaryenStringNewLossyUTF8Array */,\n /** string.new_wtf16_array */\n WTF16Array = 7 /* _BinaryenStringNewWTF16Array */,\n /** string.from_code_point */\n FromCodePoint = 8 /* _BinaryenStringNewFromCodePoint */\n}\n\n/** Binaryen StringMeasure operation constants. */\nexport const enum StringMeasureOp {\n /** string.measure_wtf8 utf8 */\n UTF8 = 0 /* _BinaryenStringMeasureUTF8 */,\n /** string.measure_wtf8 wtf8 */\n WTF8 = 1 /* _BinaryenStringMeasureWTF8 */,\n /** string.measure_wtf16 */\n WTF16 = 2 /* _BinaryenStringMeasureWTF16 */,\n /** string.is_usv_sequence */\n IsUSV = 3 /* _BinaryenStringMeasureIsUSV */,\n /** stringview_wtf16.length */\n WTF16View = 4 /* _BinaryenStringMeasureWTF16View */\n}\n\n/** Binaryen StringEncode operation constants. */\nexport const enum StringEncodeOp {\n /** string.encode_wtf8 utf8 */\n UTF8 = 0 /* _BinaryenStringEncodeUTF8 */,\n /** string.encode_lossy_utf8 utf8 */\n LossyUTF8 = 1 /* _BinaryenStringEncodeLossyUTF8 */,\n /** string.encode_wtf8 wtf8 */\n WTF8 = 2 /* _BinaryenStringEncodeWTF8 */,\n /** string.encode_wtf16 */\n WTF16 = 3 /* _BinaryenStringEncodeWTF16 */,\n /** string.encode_wtf8_array utf8 */\n UTF8Array = 4 /* _BinaryenStringEncodeUTF8Array */,\n /** string.encode_lossy_utf8_array utf8 */\n LossyUTF8Array = 5 /* _BinaryenStringEncodeLossyUTF8Array */,\n /** string.encode_wtf8_array wtf8 */\n WTF8Array = 6 /* _BinaryenStringEncodeWTF8Array */,\n /** string.encode_wtf16_array */\n WTF16Array = 7 /* _BinaryenStringEncodeWTF16Array */\n}\n\n/** Binaryen StringEq operation constants. */\nexport const enum StringEqOp {\n /** string.eq */\n Equal = 0 /* _BinaryenStringEqEqual */,\n /** string.compare */\n Compare = 1 /* _BinaryenStringEqCompare */\n}\n\n/** Binaryen StringAs operation constants. */\nexport const enum StringAsOp {\n /** string.as_wtf8 */\n WTF8 = 0 /* _BinaryenStringAsWTF8 */,\n /** string.as_wtf16 */\n WTF16 = 1 /* _BinaryenStringAsWTF16 */,\n /** string.as_iter */\n Iter = 2 /* _BinaryenStringAsIter */\n}\n\n/** Binaryen StringIterMove operation constants. */\nexport const enum StringIterMoveOp {\n /** stringview_iter.advance */\n Advance = 0 /* _BinaryenStringIterMoveAdvance */,\n /** stringview_iter.rewind */\n Rewind = 1 /* _BinaryenStringIterMoveRewind */\n}\n\n/** Binaryen StringSlice operation constants. */\nexport const enum StringSliceWTFOp {\n /** stringview_wtf8.slice */\n WTF8 = 0 /* _BinaryenStringSliceWTF8 */,\n /** stringview_wtf16.slice */\n WTF16 = 1 /* _BinaryenStringSliceWTF16 */\n}\n\n/** Binaryen expression runner flags. */\nexport const enum ExpressionRunnerFlags {\n Default = 0 /* _ExpressionRunnerFlagsDefault */,\n PreserveSideeffects = 1 /* _ExpressionRunnerFlagsPreserveSideeffects */,\n TraverseCalls = 2 /* _ExpressionRunnerFlagsTraverseCalls */\n}\n\nexport class MemorySegment {\n constructor(\n /** Segment data. */\n public buffer: Uint8Array,\n /** Segment offset. */\n public offset: i64\n ) {}\n}\n\nexport class Module {\n constructor(\n /** Binaryen module reference. */\n public ref: ModuleRef,\n /** Whether a shadow stack is used. */\n public useShadowStack: bool,\n /** Architecture-dependent size type. */\n public sizeType: TypeRef\n ) {\n assert(sizeType == TypeRef.I32 || sizeType == TypeRef.I64);\n this.lit = binaryen._malloc(binaryen._BinaryenSizeofLiteral());\n }\n\n private lit: usize;\n\n static create(useShadowStack: bool, sizeType: TypeRef): Module {\n return new Module(binaryen._BinaryenModuleCreate(), useShadowStack, sizeType);\n }\n\n static createFrom(buffer: Uint8Array, useShadowStack: bool, sizeType: TypeRef): Module {\n let cArr = allocU8Array(buffer);\n let module = new Module(binaryen._BinaryenModuleRead(cArr, buffer.length), useShadowStack, sizeType);\n binaryen._free(changetype(cArr));\n return module;\n }\n\n // constants\n\n i32(value: i32): ExpressionRef {\n let out = this.lit;\n binaryen._BinaryenLiteralInt32(out, value);\n return binaryen._BinaryenConst(this.ref, out);\n }\n\n i64(valueLow: i32, valueHigh: i32 = 0): ExpressionRef {\n let out = this.lit;\n binaryen._BinaryenLiteralInt64(out, valueLow, valueHigh);\n return binaryen._BinaryenConst(this.ref, out);\n }\n\n // isize(value: T): ExpressionRef {\n // if (i64_is(value)) {\n // if (this.sizeType == TypeRef.I64) {\n // return this.i64(i64_low(value), i64_high(value));\n // }\n // assert(i64_is_i32(value));\n // return this.i32(i64_low(value));\n // }\n // return this.sizeType == TypeRef.I64\n // ? this.i64(i32(value), i32(value) < 0 ? -1 : 0)\n // : this.i32(i32(value));\n // }\n\n usize(value: T): ExpressionRef {\n if (i64_is(value)) {\n if (this.sizeType == TypeRef.I64) {\n return this.i64(i64_low(value), i64_high(value));\n }\n assert(i64_is_u32(value));\n return this.i32(i64_low(value));\n }\n return this.sizeType == TypeRef.I64\n ? this.i64(i32(value))\n : this.i32(i32(value));\n }\n\n f32(value: f32): ExpressionRef {\n let out = this.lit;\n binaryen._BinaryenLiteralFloat32(out, value);\n return binaryen._BinaryenConst(this.ref, out);\n }\n\n f64(value: f64): ExpressionRef {\n let out = this.lit;\n binaryen._BinaryenLiteralFloat64(out, value);\n return binaryen._BinaryenConst(this.ref, out);\n }\n\n v128(bytes: Uint8Array): ExpressionRef {\n assert(bytes.length == 16);\n let out = this.lit;\n for (let i = 0; i < 16; ++i) {\n binaryen.__i32_store8(out + i, unchecked(bytes[i]));\n }\n binaryen._BinaryenLiteralVec128(out, out);\n return binaryen._BinaryenConst(this.ref, out);\n }\n\n ref_null(type: TypeRef): ExpressionRef {\n // TODO: Provide the desired bottom type directly? Currently, Binaryen does\n // this under the hood, but this API could change to take a heap type.\n // type = binaryen._BinaryenTypeFromHeapType(\n // binaryen._BinaryenHeapTypeGetBottom(\n // binaryen._BinaryenTypeGetHeapType(type)\n // ),\n // true\n // );\n return binaryen._BinaryenRefNull(this.ref, type);\n }\n\n ref_eq(left: ExpressionRef, right: ExpressionRef): ExpressionRef {\n return binaryen._BinaryenRefEq(this.ref, left, right);\n }\n\n string_eq(left: ExpressionRef, right: ExpressionRef): ExpressionRef {\n return binaryen._BinaryenStringEq(this.ref, StringEqOp.Equal, left, right);\n }\n\n string_compare(left: ExpressionRef, right: ExpressionRef): ExpressionRef {\n return binaryen._BinaryenStringEq(this.ref, StringEqOp.Compare, left, right);\n }\n\n // expressions\n\n unary(\n op: UnaryOp,\n value: ExpressionRef\n ): ExpressionRef {\n if (op > UnaryOp._last) {\n let isWam64 = this.sizeType == TypeRef.I64;\n switch (op) {\n case UnaryOp.ClzSize: op = isWam64 ? UnaryOp.ClzI64 : UnaryOp.ClzI32; break;\n case UnaryOp.CtzSize: op = isWam64 ? UnaryOp.CtzI64 : UnaryOp.CtzI32; break;\n case UnaryOp.PopcntSize: op = isWam64 ? UnaryOp.PopcntI64 : UnaryOp.PopcntI32; break;\n case UnaryOp.EqzSize: op = isWam64 ? UnaryOp.EqzI64 : UnaryOp.EqzI32; break;\n default: assert(false);\n }\n }\n return binaryen._BinaryenUnary(this.ref, op, value);\n }\n\n binary(\n op: BinaryOp,\n left: ExpressionRef,\n right: ExpressionRef\n ): ExpressionRef {\n if (op > BinaryOp._last) {\n let isWasm64 = this.sizeType == TypeRef.I64;\n switch (op) {\n case BinaryOp.AddSize: op = isWasm64 ? BinaryOp.AddI64 : BinaryOp.AddI32; break;\n case BinaryOp.SubSize: op = isWasm64 ? BinaryOp.SubI64 : BinaryOp.SubI32; break;\n case BinaryOp.MulSize: op = isWasm64 ? BinaryOp.MulI64 : BinaryOp.MulI32; break;\n case BinaryOp.DivISize: op = isWasm64 ? BinaryOp.DivI64 : BinaryOp.DivI32; break;\n case BinaryOp.DivUSize: op = isWasm64 ? BinaryOp.DivU64 : BinaryOp.DivU32; break;\n case BinaryOp.RemISize: op = isWasm64 ? BinaryOp.RemI64 : BinaryOp.RemI32; break;\n case BinaryOp.RemUSize: op = isWasm64 ? BinaryOp.RemU64 : BinaryOp.RemU32; break;\n case BinaryOp.AndSize: op = isWasm64 ? BinaryOp.AndI64 : BinaryOp.AndI32; break;\n case BinaryOp.OrSize: op = isWasm64 ? BinaryOp.OrI64 : BinaryOp.OrI32; break;\n case BinaryOp.XorSize: op = isWasm64 ? BinaryOp.XorI64 : BinaryOp.XorI32; break;\n case BinaryOp.ShlSize: op = isWasm64 ? BinaryOp.ShlI64 : BinaryOp.ShlI32; break;\n case BinaryOp.ShrISize: op = isWasm64 ? BinaryOp.ShrI64 : BinaryOp.ShrI32; break;\n case BinaryOp.ShrUSize: op = isWasm64 ? BinaryOp.ShrU64 : BinaryOp.ShrU32; break;\n case BinaryOp.RotlSize: op = isWasm64 ? BinaryOp.RotlI64 : BinaryOp.RotlI32; break;\n case BinaryOp.RotrSize: op = isWasm64 ? BinaryOp.RotrI64 : BinaryOp.RotrI32; break;\n case BinaryOp.EqSize: op = isWasm64 ? BinaryOp.EqI64 : BinaryOp.EqI32; break;\n case BinaryOp.NeSize: op = isWasm64 ? BinaryOp.NeI64 : BinaryOp.NeI32; break;\n case BinaryOp.LtISize: op = isWasm64 ? BinaryOp.LtI64 : BinaryOp.LtI32; break;\n case BinaryOp.LtUSize: op = isWasm64 ? BinaryOp.LtU64 : BinaryOp.LtU32; break;\n case BinaryOp.LeISize: op = isWasm64 ? BinaryOp.LeI64 : BinaryOp.LeI32; break;\n case BinaryOp.LeUSize: op = isWasm64 ? BinaryOp.LeU64 : BinaryOp.LeU32; break;\n case BinaryOp.GtISize: op = isWasm64 ? BinaryOp.GtI64 : BinaryOp.GtI32; break;\n case BinaryOp.GtUSize: op = isWasm64 ? BinaryOp.GtU64 : BinaryOp.GtU32; break;\n case BinaryOp.GeISize: op = isWasm64 ? BinaryOp.GeI64 : BinaryOp.GeI32; break;\n case BinaryOp.GeUSize: op = isWasm64 ? BinaryOp.GeU64 : BinaryOp.GeU32; break;\n default: assert(false);\n }\n }\n return binaryen._BinaryenBinary(this.ref, op, left, right);\n }\n\n memory_size(name: string = CommonNames.DefaultMemory, is64: bool = false): ExpressionRef {\n let cStr = this.allocStringCached(name);\n return binaryen._BinaryenMemorySize(this.ref, cStr, is64);\n }\n\n memory_grow(delta: ExpressionRef, name: string = CommonNames.DefaultMemory, is64: bool = false): ExpressionRef {\n let cStr = this.allocStringCached(name);\n return binaryen._BinaryenMemoryGrow(this.ref, delta, cStr, is64);\n }\n\n table_size(name: string): ExpressionRef {\n let cStr = this.allocStringCached(name);\n return binaryen._BinaryenTableSize(this.ref, cStr);\n }\n\n table_grow(name: string, delta: ExpressionRef, value: ExpressionRef = 0): ExpressionRef {\n let cStr = this.allocStringCached(name);\n return binaryen._BinaryenTableGrow(this.ref, cStr, value, delta);\n }\n\n local_get(\n index: i32,\n type: TypeRef\n ): ExpressionRef {\n return binaryen._BinaryenLocalGet(this.ref, index, type);\n }\n\n tostack(value: ExpressionRef): ExpressionRef {\n if (this.useShadowStack) {\n let type = binaryen._BinaryenExpressionGetType(value);\n assert(type == TypeRef.I32 || type == TypeRef.Unreachable);\n return this.call(BuiltinNames.tostack, [ value ], type);\n }\n return value;\n }\n\n local_tee(\n index: i32,\n value: ExpressionRef,\n isManaged: bool,\n type: TypeRef = -1,\n ): ExpressionRef {\n if (type == -1) type = binaryen._BinaryenExpressionGetType(value);\n if (isManaged && this.useShadowStack) {\n value = this.tostack(value);\n }\n return binaryen._BinaryenLocalTee(this.ref, index, value, type);\n }\n\n global_get(\n name: string,\n type: TypeRef\n ): ExpressionRef {\n let cStr = this.allocStringCached(name);\n return binaryen._BinaryenGlobalGet(this.ref, cStr, type);\n }\n\n table_get(\n name: string,\n index: ExpressionRef,\n type: TypeRef\n ): ExpressionRef {\n let cStr = this.allocStringCached(name);\n return binaryen._BinaryenTableGet(this.ref, cStr, index, type);\n }\n\n load(\n bytes: Index,\n signed: bool,\n ptr: ExpressionRef,\n type: TypeRef,\n offset: Index = 0,\n align: Index = bytes, // naturally aligned by default\n name: string = CommonNames.DefaultMemory\n ): ExpressionRef {\n let cStr = this.allocStringCached(name);\n return binaryen._BinaryenLoad(this.ref, bytes, signed, offset, align, type, ptr, cStr);\n }\n\n store(\n bytes: Index,\n ptr: ExpressionRef,\n value: ExpressionRef,\n type: TypeRef,\n offset: Index = 0,\n align: Index = bytes, // naturally aligned by default\n name: string = CommonNames.DefaultMemory\n ): ExpressionRef {\n let cStr = this.allocStringCached(name);\n return binaryen._BinaryenStore(this.ref, bytes, offset, align, ptr, value, type, cStr);\n }\n\n atomic_load(\n bytes: Index,\n ptr: ExpressionRef,\n type: TypeRef,\n offset: Index = 0,\n name: string = CommonNames.DefaultMemory\n ): ExpressionRef {\n let cStr = this.allocStringCached(name);\n return binaryen._BinaryenAtomicLoad(this.ref, bytes, offset, type, ptr, cStr);\n }\n\n atomic_store(\n bytes: Index,\n ptr: ExpressionRef,\n value: ExpressionRef,\n type: TypeRef,\n offset: Index = 0,\n name: string = CommonNames.DefaultMemory\n ): ExpressionRef {\n let cStr = this.allocStringCached(name);\n return binaryen._BinaryenAtomicStore(this.ref, bytes, offset, ptr, value, type, cStr);\n }\n\n atomic_rmw(\n op: AtomicRMWOp,\n bytes: Index,\n offset: Index,\n ptr: ExpressionRef,\n value: ExpressionRef,\n type: TypeRef,\n name: string = CommonNames.DefaultMemory\n ): ExpressionRef {\n let cStr = this.allocStringCached(name);\n return binaryen._BinaryenAtomicRMW(this.ref, op, bytes, offset, ptr, value, type, cStr);\n }\n\n atomic_cmpxchg(\n bytes: Index,\n offset: Index,\n ptr: ExpressionRef,\n expected: ExpressionRef,\n replacement: ExpressionRef,\n type: TypeRef,\n name: string = CommonNames.DefaultMemory\n ): ExpressionRef {\n let cStr = this.allocStringCached(name);\n return binaryen._BinaryenAtomicCmpxchg(this.ref, bytes, offset, ptr, expected, replacement, type, cStr);\n }\n\n atomic_wait(\n ptr: ExpressionRef,\n expected: ExpressionRef,\n timeout: ExpressionRef,\n expectedType: TypeRef,\n name: string = CommonNames.DefaultMemory\n ): ExpressionRef {\n let cStr = this.allocStringCached(name);\n return binaryen._BinaryenAtomicWait(this.ref, ptr, expected, timeout, expectedType, cStr);\n }\n\n atomic_notify(\n ptr: ExpressionRef,\n notifyCount: ExpressionRef,\n name: string = CommonNames.DefaultMemory\n ): ExpressionRef {\n let cStr = this.allocStringCached(name);\n return binaryen._BinaryenAtomicNotify(this.ref, ptr, notifyCount, cStr);\n }\n\n atomic_fence(name: string | null = null): ExpressionRef {\n let cStr = this.allocStringCached(name);\n return binaryen._BinaryenAtomicFence(this.ref, cStr);\n }\n\n // statements\n\n local_set(\n index: Index,\n value: ExpressionRef,\n isManaged: bool\n ): ExpressionRef {\n if (isManaged && this.useShadowStack) {\n value = this.tostack(value);\n }\n return binaryen._BinaryenLocalSet(this.ref, index, value);\n }\n\n global_set(\n name: string,\n value: ExpressionRef\n ): ExpressionRef {\n let cStr = this.allocStringCached(name);\n return binaryen._BinaryenGlobalSet(this.ref, cStr, value);\n }\n\n table_set(\n name: string,\n index: ExpressionRef,\n value: ExpressionRef\n ): ExpressionRef {\n let cStr = this.allocStringCached(name);\n return binaryen._BinaryenTableSet(this.ref, cStr, index, value);\n }\n\n block(\n label: string | null,\n children: ExpressionRef[],\n type: TypeRef = TypeRef.None\n ): ExpressionRef {\n let cStr = this.allocStringCached(label);\n let cArr = allocPtrArray(children);\n let ret = binaryen._BinaryenBlock(this.ref, cStr, cArr, children.length, type);\n binaryen._free(cArr);\n return ret;\n }\n\n /** Attempts to trivially flatten a series of expressions instead of emitting a block. */\n flatten(\n stmts: ExpressionRef[],\n type: TypeRef = TypeRef.None\n ): ExpressionRef {\n let length = stmts.length;\n if (length == 0) return this.nop(); // usually filtered out again\n if (length == 1) {\n let single = stmts[0];\n switch (getExpressionId(single)) {\n case ExpressionId.Return:\n case ExpressionId.Throw:\n case ExpressionId.Unreachable: {\n // type does no matter, terminates anyway\n return single;\n }\n }\n let singleType = getExpressionType(single);\n if (singleType != TypeRef.Unreachable && singleType != type) {\n // can happen when there was a diagnostic prior\n return this.unreachable();\n }\n return single;\n }\n return this.block(null, stmts, type);\n }\n\n br(\n label: string | null,\n condition: ExpressionRef = 0,\n value: ExpressionRef = 0\n ): ExpressionRef {\n let cStr = this.allocStringCached(label);\n return binaryen._BinaryenBreak(this.ref, cStr, condition, value);\n }\n\n drop(\n expression: ExpressionRef\n ): ExpressionRef {\n return binaryen._BinaryenDrop(this.ref, expression);\n }\n\n /** Drops an expression if it evaluates to a value. */\n maybeDrop(\n expression: ExpressionRef\n ): ExpressionRef {\n let type = binaryen._BinaryenExpressionGetType(expression);\n if (type != TypeRef.None && type != TypeRef.Unreachable) {\n return binaryen._BinaryenDrop(this.ref, expression);\n }\n return expression;\n }\n\n maybeDropCondition(condition: ExpressionRef, result: ExpressionRef): ExpressionRef {\n // FIXME: This is necessary because Binaryen's ExpressionRunner bails early\n // when encountering a local with an unknown value. This helper only drops\n // the pre-evaluated condition if it has relevant side effects.\n // see WebAssembly/binaryen#1237\n if ((getSideEffects(condition, this.ref) & ~(SideEffects.ReadsLocal | SideEffects.ReadsGlobal)) != 0) {\n return this.block(null, [\n this.drop(condition),\n result\n ], getExpressionType(result));\n }\n return result;\n }\n\n loop(\n label: string | null,\n body: ExpressionRef\n ): ExpressionRef {\n let cStr = this.allocStringCached(label);\n return binaryen._BinaryenLoop(this.ref, cStr, body);\n }\n\n if(\n condition: ExpressionRef,\n ifTrue: ExpressionRef,\n ifFalse: ExpressionRef = 0\n ): ExpressionRef {\n return binaryen._BinaryenIf(this.ref, condition, ifTrue, ifFalse);\n }\n\n nop(): ExpressionRef {\n return binaryen._BinaryenNop(this.ref);\n }\n\n return(\n expression: ExpressionRef = 0\n ): ExpressionRef {\n return binaryen._BinaryenReturn(this.ref, expression);\n }\n\n select(\n ifTrue: ExpressionRef,\n ifFalse: ExpressionRef,\n condition: ExpressionRef,\n type: TypeRef\n ): ExpressionRef {\n return binaryen._BinaryenSelect(this.ref, condition, ifTrue, ifFalse, type);\n }\n\n switch(\n names: string[],\n defaultName: string | null,\n condition: ExpressionRef,\n value: ExpressionRef = 0\n ): ExpressionRef {\n let numNames = names.length;\n let strs = new Array(numNames);\n for (let i = 0; i < numNames; ++i) {\n unchecked(strs[i] = this.allocStringCached(names[i]));\n }\n let cArr = allocPtrArray(strs);\n let cStr = this.allocStringCached(defaultName);\n let ret = binaryen._BinaryenSwitch(this.ref, cArr, numNames, cStr, condition, value);\n binaryen._free(cArr);\n return ret;\n }\n\n call(\n target: string,\n operands: ExpressionRef[] | null,\n returnType: TypeRef,\n isReturn: bool = false\n ): ExpressionRef {\n let cStr = this.allocStringCached(target);\n let cArr = allocPtrArray(operands);\n let ret = isReturn\n ? binaryen._BinaryenReturnCall(\n this.ref, cStr, cArr, operands ? operands.length : 0, returnType\n )\n : binaryen._BinaryenCall(\n this.ref, cStr, cArr, operands ? operands.length : 0, returnType\n );\n binaryen._free(cArr);\n return ret;\n }\n\n return_call(\n target: string,\n operands: ExpressionRef[] | null,\n returnType: TypeRef\n ): ExpressionRef {\n return this.call(target, operands, returnType, true);\n }\n\n call_indirect(\n tableName: string | null,\n index: ExpressionRef,\n operands: ExpressionRef[] | null,\n params: TypeRef,\n results: TypeRef,\n isReturn: bool = false\n ): ExpressionRef {\n let cStr = this.allocStringCached(tableName != null\n ? tableName\n : CommonNames.DefaultTable\n );\n let cArr = allocPtrArray(operands);\n let ret = isReturn\n ? binaryen._BinaryenReturnCallIndirect(\n this.ref, cStr, index, cArr, operands ? operands.length : 0, params, results\n )\n : binaryen._BinaryenCallIndirect(\n this.ref, cStr, index, cArr, operands ? operands.length : 0, params, results\n );\n binaryen._free(cArr);\n return ret;\n }\n\n return_call_indirect(\n tableName: string | null,\n index: ExpressionRef,\n operands: ExpressionRef[] | null,\n params: TypeRef,\n results: TypeRef\n ): ExpressionRef {\n return this.call_indirect(tableName, index, operands, params, results, true);\n }\n\n unreachable(): ExpressionRef {\n return binaryen._BinaryenUnreachable(this.ref);\n }\n\n // bulk memory\n\n memory_copy(\n dest: ExpressionRef,\n source: ExpressionRef,\n size: ExpressionRef,\n destName: string = CommonNames.DefaultMemory,\n sourceName: string = CommonNames.DefaultMemory\n ): ExpressionRef {\n let cStr1 = this.allocStringCached(destName);\n let cStr2 = this.allocStringCached(sourceName);\n return binaryen._BinaryenMemoryCopy(this.ref, dest, source, size, cStr1, cStr2);\n }\n\n memory_fill(\n dest: ExpressionRef,\n value: ExpressionRef,\n size: ExpressionRef,\n name: string = CommonNames.DefaultMemory\n ): ExpressionRef {\n let cStr = this.allocStringCached(name);\n return binaryen._BinaryenMemoryFill(this.ref, dest, value, size, cStr);\n }\n\n // exception handling\n\n try(\n name: string | null,\n body: ExpressionRef,\n catchTags: string[],\n catchBodies: ExpressionRef[],\n delegateTarget: string | null = null\n ): ExpressionRef {\n let numCatchTags = catchTags.length;\n let strs = new Array(numCatchTags);\n for (let i = 0; i < numCatchTags; ++i) {\n strs[i] = this.allocStringCached(catchTags[i]);\n }\n let cArr1 = allocPtrArray(strs);\n let cArr2 = allocPtrArray(catchBodies);\n let cStr1 = this.allocStringCached(name);\n let cStr2 = this.allocStringCached(delegateTarget);\n let ret = binaryen._BinaryenTry(\n this.ref, cStr1, body, cArr1, numCatchTags, cArr2, catchBodies.length, cStr2\n );\n binaryen._free(cArr2);\n binaryen._free(cArr1);\n return ret;\n }\n\n throw(\n tagName: string,\n operands: ExpressionRef[]\n ): ExpressionRef {\n let cStr = this.allocStringCached(tagName);\n let cArr = allocPtrArray(operands);\n let ret = binaryen._BinaryenThrow(this.ref, cStr, cArr, operands.length);\n binaryen._free(cArr);\n return ret;\n }\n\n rethrow(\n target: string\n ): ExpressionRef {\n let cStr = this.allocStringCached(target);\n return binaryen._BinaryenRethrow(this.ref, cStr);\n }\n\n // multi value (pseudo instructions)\n\n pop(\n type: TypeRef\n ): ExpressionRef {\n return binaryen._BinaryenPop(this.ref, type);\n }\n\n tuple_make(operands: ExpressionRef[]): ExpressionRef {\n let cArr = allocPtrArray(operands);\n let ret = binaryen._BinaryenTupleMake(this.ref, cArr, operands.length);\n binaryen._free(cArr);\n return ret;\n }\n\n tuple_extract(tuple: ExpressionRef, index: Index): ExpressionRef {\n return binaryen._BinaryenTupleExtract(this.ref, tuple, index);\n }\n\n // simd\n\n simd_extract(\n op: SIMDExtractOp,\n vec: ExpressionRef,\n idx: u8\n ): ExpressionRef {\n return binaryen._BinaryenSIMDExtract(this.ref, op, vec, idx);\n }\n\n simd_replace(\n op: SIMDReplaceOp,\n vec: ExpressionRef,\n idx: u8,\n value: ExpressionRef\n ): ExpressionRef {\n return binaryen._BinaryenSIMDReplace(this.ref, op, vec, idx, value);\n }\n\n simd_shuffle(\n vec1: ExpressionRef,\n vec2: ExpressionRef,\n mask: Uint8Array\n ): ExpressionRef {\n assert(mask.length == 16);\n let cArr = allocU8Array(mask);\n let ret = binaryen._BinaryenSIMDShuffle(this.ref, vec1, vec2, cArr);\n binaryen._free(cArr);\n return ret;\n }\n\n simd_ternary(\n op: SIMDTernaryOp,\n a: ExpressionRef,\n b: ExpressionRef,\n c: ExpressionRef\n ): ExpressionRef {\n return binaryen._BinaryenSIMDTernary(this.ref, op, a, b, c);\n }\n\n simd_shift(\n op: SIMDShiftOp,\n vec: ExpressionRef,\n shift: ExpressionRef\n ): ExpressionRef {\n return binaryen._BinaryenSIMDShift(this.ref, op, vec, shift);\n }\n\n simd_load(\n op: SIMDLoadOp,\n ptr: ExpressionRef,\n offset: u32,\n align: u32,\n name: string = CommonNames.DefaultMemory\n ): ExpressionRef {\n let cStr = this.allocStringCached(name);\n return binaryen._BinaryenSIMDLoad(this.ref, op, offset, align, ptr, cStr);\n }\n\n simd_loadstorelane(\n op: SIMDLoadStoreLaneOp,\n ptr: ExpressionRef,\n offset: u32,\n align: u32,\n index: u8,\n vec: ExpressionRef,\n name: string = CommonNames.DefaultMemory\n ): ExpressionRef {\n let cStr = this.allocStringCached(name);\n return binaryen._BinaryenSIMDLoadStoreLane(this.ref, op, offset, align, index, ptr, vec, cStr);\n }\n\n // reference types / gc\n\n ref_is_null(\n expr: ExpressionRef\n ): ExpressionRef {\n return binaryen._BinaryenRefIsNull(this.ref, expr);\n }\n\n ref_as(\n op: RefAsOp,\n expr: ExpressionRef\n ): ExpressionRef {\n return binaryen._BinaryenRefAs(this.ref, op, expr);\n }\n\n ref_as_nonnull(\n expr: ExpressionRef\n ): ExpressionRef {\n if (isNullableType(getExpressionType(expr))) {\n return binaryen._BinaryenRefAs(this.ref, RefAsOp.NonNull, expr);\n } else {\n return expr;\n }\n }\n\n ref_func(\n name: string,\n type: TypeRef\n ): ExpressionRef {\n let cStr = this.allocStringCached(name);\n return binaryen._BinaryenRefFunc(this.ref, cStr, type);\n }\n\n i31_new(\n value: ExpressionRef\n ): ExpressionRef {\n return binaryen._BinaryenRefI31(this.ref, value);\n }\n\n i31_get(\n expr: ExpressionRef,\n signed: bool\n ): ExpressionRef {\n return binaryen._BinaryenI31Get(this.ref, expr, signed);\n }\n\n // globals\n\n addGlobal(\n name: string,\n type: TypeRef,\n mutable: bool,\n initializer: ExpressionRef\n ): GlobalRef {\n let cStr = this.allocStringCached(name);\n return binaryen._BinaryenAddGlobal(this.ref, cStr, type, mutable, initializer);\n }\n\n getGlobal(\n name: string\n ): GlobalRef {\n let cStr = this.allocStringCached(name);\n return binaryen._BinaryenGetGlobal(this.ref, cStr);\n }\n\n removeGlobal(\n name: string\n ): bool {\n let cStr = this.allocStringCached(name);\n if (!binaryen._BinaryenGetGlobal(this.ref, cStr)) return false;\n binaryen._BinaryenRemoveGlobal(this.ref, cStr);\n return true;\n }\n\n // tags\n\n addTag(\n name: string,\n params: TypeRef,\n results: TypeRef\n ): TagRef {\n let cStr = this.allocStringCached(name);\n return binaryen._BinaryenAddTag(this.ref, cStr, params, results);\n }\n\n getTag(\n name: string\n ): TagRef {\n let cStr = this.allocStringCached(name);\n return binaryen._BinaryenGetTag(this.ref, cStr);\n }\n\n removeTag(\n name: string\n ): void {\n let cStr = this.allocStringCached(name);\n binaryen._BinaryenRemoveTag(this.ref, cStr);\n }\n\n // functions\n\n addFunction(\n name: string,\n params: TypeRef,\n results: TypeRef,\n varTypes: TypeRef[] | null,\n body: ExpressionRef\n ): FunctionRef {\n let cStr = this.allocStringCached(name);\n let cArr = allocPtrArray(varTypes);\n let ret = binaryen._BinaryenAddFunction(\n this.ref,\n cStr,\n params,\n results,\n cArr,\n varTypes ? varTypes.length : 0,\n body\n );\n binaryen._free(cArr);\n return ret;\n }\n\n setLocalName(funcRef: FunctionRef, index: u32, name: string): void {\n binaryen._BinaryenFunctionSetLocalName(funcRef, index, this.allocStringCached(name));\n }\n\n getFunction(\n name: string\n ): FunctionRef {\n let cStr = this.allocStringCached(name);\n return binaryen._BinaryenGetFunction(this.ref, cStr);\n }\n\n removeFunction(name: string): void {\n let cStr = this.allocStringCached(name);\n binaryen._BinaryenRemoveFunction(this.ref, cStr);\n }\n\n hasFunction(name: string): bool {\n let cStr = this.allocStringCached(name);\n return binaryen._BinaryenGetFunction(this.ref, cStr) != 0;\n }\n\n private hasTemporaryFunction: bool = false;\n\n addTemporaryFunction(\n result: TypeRef,\n paramTypes: TypeRef[] | null,\n body: ExpressionRef\n ): FunctionRef {\n this.hasTemporaryFunction = assert(!this.hasTemporaryFunction);\n let tempName = this.allocStringCached(\"\");\n let cArr = allocPtrArray(paramTypes);\n let ret = binaryen._BinaryenAddFunction(this.ref,\n tempName,\n createType(paramTypes),\n result,\n 0, 0,\n body\n );\n binaryen._free(cArr);\n return ret;\n }\n\n removeTemporaryFunction(): void {\n this.hasTemporaryFunction = !assert(this.hasTemporaryFunction);\n let tempName = this.allocStringCached(\"\");\n binaryen._BinaryenRemoveFunction(this.ref, tempName);\n }\n\n setStart(func: FunctionRef): void {\n binaryen._BinaryenSetStart(this.ref, func);\n }\n\n // exports\n\n addFunctionExport(\n internalName: string,\n externalName: string\n ): ExportRef {\n let cStr1 = this.allocStringCached(internalName);\n let cStr2 = this.allocStringCached(externalName);\n return binaryen._BinaryenAddFunctionExport(this.ref, cStr1, cStr2);\n }\n\n addTableExport(\n internalName: string,\n externalName: string\n ): ExportRef {\n let cStr1 = this.allocStringCached(internalName);\n let cStr2 = this.allocStringCached(externalName);\n return binaryen._BinaryenAddTableExport(this.ref, cStr1, cStr2);\n }\n\n addMemoryExport(\n internalName: string,\n externalName: string\n ): ExportRef {\n let cStr1 = this.allocStringCached(internalName);\n let cStr2 = this.allocStringCached(externalName);\n return binaryen._BinaryenAddMemoryExport(this.ref, cStr1, cStr2);\n }\n\n addGlobalExport(\n internalName: string,\n externalName: string\n ): ExportRef {\n let cStr1 = this.allocStringCached(internalName);\n let cStr2 = this.allocStringCached(externalName);\n return binaryen._BinaryenAddGlobalExport(this.ref, cStr1, cStr2);\n }\n\n addTagExport(\n internalName: string,\n externalName: string\n ): ExportRef {\n let cStr1 = this.allocStringCached(internalName);\n let cStr2 = this.allocStringCached(externalName);\n return binaryen._BinaryenAddTagExport(this.ref, cStr1, cStr2);\n }\n\n removeExport(externalName: string): void {\n let cStr = this.allocStringCached(externalName);\n binaryen._BinaryenRemoveExport(this.ref, cStr);\n }\n\n hasExport(externalName: string): bool {\n let cStr = this.allocStringCached(externalName);\n return binaryen._BinaryenGetExport(this.ref, cStr) != 0;\n }\n\n // imports\n\n addFunctionImport(\n internalName: string,\n externalModuleName: string,\n externalBaseName: string,\n params: TypeRef,\n results: TypeRef\n ): void {\n let cStr1 = this.allocStringCached(internalName);\n let cStr2 = this.allocStringCached(externalModuleName);\n let cStr3 = this.allocStringCached(externalBaseName);\n binaryen._BinaryenAddFunctionImport(this.ref, cStr1, cStr2, cStr3, params, results);\n }\n\n addTableImport(\n internalName: string,\n externalModuleName: string,\n externalBaseName: string\n ): void {\n let cStr1 = this.allocStringCached(internalName);\n let cStr2 = this.allocStringCached(externalModuleName);\n let cStr3 = this.allocStringCached(externalBaseName);\n binaryen._BinaryenAddTableImport(this.ref, cStr1, cStr2, cStr3);\n }\n\n addMemoryImport(\n internalName: string,\n externalModuleName: string,\n externalBaseName: string,\n shared: bool = false,\n ): void {\n let cStr1 = this.allocStringCached(internalName);\n let cStr2 = this.allocStringCached(externalModuleName);\n let cStr3 = this.allocStringCached(externalBaseName);\n binaryen._BinaryenAddMemoryImport(this.ref, cStr1, cStr2, cStr3, shared);\n }\n\n addGlobalImport(\n internalName: string,\n externalModuleName: string,\n externalBaseName: string,\n globalType: TypeRef,\n mutable: bool = false\n ): void {\n let cStr1 = this.allocStringCached(internalName);\n let cStr2 = this.allocStringCached(externalModuleName);\n let cStr3 = this.allocStringCached(externalBaseName);\n binaryen._BinaryenAddGlobalImport(this.ref, cStr1, cStr2, cStr3, globalType, mutable);\n }\n\n addTagImport(\n internalName: string,\n externalModuleName: string,\n externalBaseName: string,\n params: TypeRef,\n results: TypeRef\n ): void {\n let cStr1 = this.allocStringCached(internalName);\n let cStr2 = this.allocStringCached(externalModuleName);\n let cStr3 = this.allocStringCached(externalBaseName);\n binaryen._BinaryenAddTagImport(\n this.ref, cStr1, cStr2, cStr3, params, results\n );\n }\n\n // memory\n\n /** Unlimited memory constant. */\n static readonly UNLIMITED_MEMORY: Index = -1;\n\n setMemory(\n initial: Index,\n maximum: Index,\n segments: MemorySegment[],\n target: Target,\n exportName: string | null = null,\n name: string = CommonNames.DefaultMemory,\n shared: bool = false\n ): void {\n let cStr1 = this.allocStringCached(exportName);\n let cStr2 = this.allocStringCached(name);\n let k = segments.length;\n let segs = new Array(k);\n let psvs = new Uint8Array(k);\n let offs = new Array(k);\n let sizs = new Array(k);\n for (let i = 0; i < k; ++i) {\n let segment = unchecked(segments[i]);\n let buffer = segment.buffer;\n let offset = segment.offset;\n unchecked(segs[i] = allocU8Array(buffer));\n unchecked(psvs[i] = 0); // no passive segments currently\n unchecked(offs[i] = target == Target.Wasm64\n ? this.i64(i64_low(offset), i64_high(offset))\n : this.i32(i64_low(offset))\n );\n unchecked(sizs[i] = buffer.length);\n }\n let cArr1 = allocPtrArray(segs);\n let cArr2 = allocU8Array(psvs);\n let cArr3 = allocPtrArray(offs);\n let cArr4 = allocU32Array(sizs);\n binaryen._BinaryenSetMemory(\n this.ref, initial, maximum, cStr1, cArr1, cArr2, cArr3, cArr4, k, shared, false, cStr2\n );\n binaryen._free(cArr4);\n binaryen._free(cArr3);\n binaryen._free(cArr2);\n binaryen._free(cArr1);\n for (let i = k - 1; i >= 0; --i) {\n binaryen._free(unchecked(segs[i]));\n }\n }\n\n // table\n\n /** Unlimited table constant. */\n static readonly UNLIMITED_TABLE: Index = -1;\n\n addFunctionTable(\n name: string,\n initial: Index,\n maximum: Index,\n funcs: string[],\n offset: ExpressionRef\n ): void {\n let cStr = this.allocStringCached(name);\n let numNames = funcs.length;\n let names = new Array(numNames);\n for (let i = 0; i < numNames; ++i) {\n unchecked(names[i] = this.allocStringCached(funcs[i]));\n }\n let cArr = allocPtrArray(names);\n let tableRef = binaryen._BinaryenGetTable(this.ref, cStr);\n if (!tableRef) {\n tableRef = binaryen._BinaryenAddTable(this.ref, cStr, initial, maximum, TypeRef.Funcref);\n } else {\n binaryen._BinaryenTableSetInitial(tableRef, initial);\n binaryen._BinaryenTableSetMax(tableRef, maximum);\n }\n binaryen._BinaryenAddActiveElementSegment(this.ref, cStr, cStr, cArr, numNames, offset);\n binaryen._free(cArr);\n }\n\n /* setFunctionTable(\n initial: Index,\n maximum: Index,\n funcs: string[],\n offset: ExpressionRef\n ): void {\n let numNames = funcs.length;\n let names = new Array(numNames);\n for (let i = 0; i < numNames; ++i) {\n names[i] = this.allocStringCached(funcs[i]);\n }\n let cArr = allocPtrArray(names);\n binaryen._BinaryenSetFunctionTable(\n this.ref, initial, maximum, cArr, numNames, offset\n );\n binaryen._free(cArr);\n } */\n\n // sections\n\n addCustomSection(name: string, contents: Uint8Array): void {\n let cStr = this.allocStringCached(name);\n let cArr = allocU8Array(contents);\n binaryen._BinaryenAddCustomSection(this.ref, cStr, cArr, contents.length);\n binaryen._free(cArr);\n }\n\n // meta (global)\n\n getOptimizeLevel(): i32 {\n return binaryen._BinaryenGetOptimizeLevel();\n }\n\n setOptimizeLevel(level: i32): void {\n binaryen._BinaryenSetOptimizeLevel(level);\n }\n\n getShrinkLevel(): i32 {\n return binaryen._BinaryenGetShrinkLevel();\n }\n\n setShrinkLevel(level: i32): void {\n binaryen._BinaryenSetShrinkLevel(level);\n }\n\n getDebugInfo(): boolean {\n return binaryen._BinaryenGetDebugInfo();\n }\n\n setDebugInfo(on: bool): void {\n binaryen._BinaryenSetDebugInfo(on);\n }\n\n getLowMemoryUnused(): bool {\n return binaryen._BinaryenGetLowMemoryUnused();\n }\n\n setLowMemoryUnused(on: bool): void {\n binaryen._BinaryenSetLowMemoryUnused(on);\n }\n\n getZeroFilledMemory(): bool {\n return binaryen._BinaryenGetZeroFilledMemory();\n }\n\n setZeroFilledMemory(on: bool): void {\n binaryen._BinaryenSetZeroFilledMemory(on);\n }\n\n getFastMath(): bool {\n return binaryen._BinaryenGetFastMath();\n }\n\n setFastMath(on: bool): void {\n binaryen._BinaryenSetFastMath(on);\n }\n\n getPassArgument(key: string): string | null {\n let cStr = this.allocStringCached(key);\n let ptr = binaryen._BinaryenGetPassArgument(cStr);\n return ptr ? readString(ptr) : null;\n }\n\n setPassArgument(key: string, value: string | null): void {\n let cStr1 = this.allocStringCached(key);\n let cStr2 = this.allocStringCached(value);\n binaryen._BinaryenSetPassArgument(cStr1, cStr2);\n }\n\n clearPassArguments(): void {\n binaryen._BinaryenClearPassArguments();\n }\n\n getAlwaysInlineMaxSize(): Index {\n return binaryen._BinaryenGetAlwaysInlineMaxSize();\n }\n\n setAlwaysInlineMaxSize(size: Index): void {\n binaryen._BinaryenSetAlwaysInlineMaxSize(size);\n }\n\n getFlexibleInlineMaxSize(): Index {\n return binaryen._BinaryenGetFlexibleInlineMaxSize();\n }\n\n setFlexibleInlineMaxSize(size: Index): void {\n binaryen._BinaryenSetFlexibleInlineMaxSize(size);\n }\n\n getOneCallerInlineMaxSize(): Index {\n return binaryen._BinaryenGetOneCallerInlineMaxSize();\n }\n\n setOneCallerInlineMaxSize(size: Index): void {\n binaryen._BinaryenSetOneCallerInlineMaxSize(size);\n }\n\n getAllowInliningFunctionsWithLoops(): bool {\n return binaryen._BinaryenGetAllowInliningFunctionsWithLoops();\n }\n\n setAllowInliningFunctionsWithLoops(enabled: bool): void {\n binaryen._BinaryenSetAllowInliningFunctionsWithLoops(enabled);\n }\n\n // meta (module)\n\n getFeatures(): FeatureFlags {\n return binaryen._BinaryenModuleGetFeatures(this.ref);\n }\n\n setFeatures(featureFlags: FeatureFlags): void {\n binaryen._BinaryenModuleSetFeatures(this.ref, featureFlags);\n }\n\n runPasses(passes: string[], func: FunctionRef = 0): void {\n let numNames = passes.length;\n let cStrs = new Array(numNames);\n for (let i = 0; i < numNames; ++i) {\n cStrs[i] = allocString(passes[i]);\n }\n let cArr = allocPtrArray(cStrs);\n if (func) {\n binaryen._BinaryenFunctionRunPasses(func, this.ref, cArr, numNames);\n } else {\n binaryen._BinaryenModuleRunPasses(this.ref, cArr, numNames);\n }\n binaryen._free(cArr);\n for (let i = numNames - 1; i >= 0; --i) binaryen._free(cStrs[i]);\n }\n\n optimize(\n optimizeLevel: i32,\n shrinkLevel: i32,\n debugInfo: bool = false,\n zeroFilledMemory: bool = false\n ): void {\n // Implicitly run costly non-LLVM optimizations on -O3 or -Oz\n if (optimizeLevel >= 3 || shrinkLevel >= 2) optimizeLevel = 4;\n\n this.setOptimizeLevel(optimizeLevel);\n this.setShrinkLevel(shrinkLevel);\n this.setDebugInfo(debugInfo);\n this.setZeroFilledMemory(zeroFilledMemory);\n this.setFastMath(true);\n this.clearPassArguments();\n\n // Tweak inlining limits based on optimization levels\n if (optimizeLevel >= 2 && shrinkLevel == 0) {\n this.setAlwaysInlineMaxSize(12);\n this.setFlexibleInlineMaxSize(70);\n this.setOneCallerInlineMaxSize(200);\n this.setAllowInliningFunctionsWithLoops(optimizeLevel >= 3);\n } else {\n this.setAlwaysInlineMaxSize(\n optimizeLevel <= 1 || shrinkLevel >= 2\n ? 2\n : 6\n );\n this.setFlexibleInlineMaxSize(65);\n this.setOneCallerInlineMaxSize(80);\n this.setAllowInliningFunctionsWithLoops(false);\n }\n\n // Pass order here differs substantially from Binaryen's defaults\n // see: Binaryen/src/pass.cpp\n if (optimizeLevel > 0 || shrinkLevel > 0) {\n let passes = new Array();\n\n // --- PassRunner::addDefaultGlobalOptimizationPrePasses ---\n\n passes.push(\"duplicate-function-elimination\");\n passes.push(\"remove-unused-module-elements\"); // +\n\n // --- PassRunner::addDefaultFunctionOptimizationPasses ---\n if (optimizeLevel >= 2) {\n passes.push(\"once-reduction\");\n passes.push(\"inlining\");\n passes.push(\"simplify-globals-optimizing\");\n }\n if (optimizeLevel >= 3 || shrinkLevel >= 1) {\n passes.push(\"rse\");\n passes.push(\"vacuum\");\n passes.push(\"code-folding\");\n passes.push(\"ssa-nomerge\");\n passes.push(\"local-cse\");\n passes.push(\"remove-unused-brs\");\n passes.push(\"remove-unused-names\");\n passes.push(\"merge-blocks\");\n passes.push(\"precompute-propagate\");\n passes.push(\"simplify-globals-optimizing\");\n passes.push(\"gufa-optimizing\");\n passes.push(\"dae-optimizing\");\n }\n if (optimizeLevel >= 3) {\n passes.push(\"simplify-locals-nostructure\");\n passes.push(\"flatten\");\n passes.push(\"vacuum\");\n passes.push(\"simplify-locals-notee-nostructure\");\n passes.push(\"vacuum\");\n passes.push(\"licm\");\n passes.push(\"merge-locals\");\n passes.push(\"reorder-locals\");\n }\n passes.push(\"optimize-instructions\");\n if (optimizeLevel >= 3 || shrinkLevel >= 1) {\n passes.push(\"dce\");\n }\n passes.push(\"remove-unused-brs\");\n passes.push(\"remove-unused-names\");\n if (optimizeLevel >= 3 || shrinkLevel >= 2) {\n passes.push(\"inlining\");\n passes.push(\"precompute-propagate\");\n passes.push(\"simplify-globals-optimizing\");\n } else {\n passes.push(\"precompute\");\n }\n if (optimizeLevel >= 2 || shrinkLevel >= 1) {\n passes.push(\"pick-load-signs\");\n }\n passes.push(\"simplify-locals-notee-nostructure\");\n passes.push(\"vacuum\");\n if (optimizeLevel >= 2 || shrinkLevel >= 1) {\n passes.push(\"local-cse\");\n }\n passes.push(\"reorder-locals\");\n passes.push(\"coalesce-locals\");\n passes.push(\"simplify-locals\");\n passes.push(\"coalesce-locals\");\n passes.push(\"reorder-locals\");\n passes.push(\"vacuum\");\n if (optimizeLevel >= 2 || shrinkLevel >= 1) {\n passes.push(\"rse\");\n passes.push(\"vacuum\");\n }\n if (optimizeLevel >= 3 || shrinkLevel >= 1) {\n passes.push(\"merge-locals\");\n passes.push(\"vacuum\");\n }\n if (optimizeLevel >= 2 || shrinkLevel >= 1) {\n passes.push(\"simplify-globals-optimizing\");\n passes.push(\"simplify-globals-optimizing\");\n }\n passes.push(\"remove-unused-brs\");\n passes.push(\"remove-unused-names\");\n passes.push(\"merge-blocks\");\n if (optimizeLevel >= 3) {\n passes.push(\"optimize-instructions\");\n }\n\n // --- PassRunner::addDefaultGlobalOptimizationPostPasses ---\n\n if (optimizeLevel >= 2 || shrinkLevel >= 1) {\n passes.push(\"simplify-globals-optimizing\");\n passes.push(\"dae-optimizing\");\n }\n if (optimizeLevel >= 2 || shrinkLevel >= 2) {\n passes.push(\"inlining-optimizing\");\n }\n if (this.getLowMemoryUnused()) {\n if (optimizeLevel >= 3 || shrinkLevel >= 1) {\n passes.push(\"optimize-added-constants-propagate\");\n } else {\n passes.push(\"optimize-added-constants\");\n }\n }\n passes.push(\"duplicate-import-elimination\");\n if (optimizeLevel >= 2 || shrinkLevel >= 2) {\n passes.push(\"simplify-globals-optimizing\");\n } else {\n passes.push(\"simplify-globals\");\n passes.push(\"vacuum\");\n }\n if (optimizeLevel >= 2 && (this.getFeatures() & FeatureFlags.GC) != 0) {\n passes.push(\"heap2local\");\n passes.push(\"merge-locals\");\n passes.push(\"local-subtyping\");\n }\n // precompute works best after global optimizations\n if (optimizeLevel >= 2 || shrinkLevel >= 1) {\n passes.push(\"precompute-propagate\");\n passes.push(\"simplify-globals-optimizing\");\n passes.push(\"simplify-globals-optimizing\");\n } else {\n passes.push(\"precompute\");\n }\n passes.push(\"directize\"); // replace indirect with direct calls\n passes.push(\"dae-optimizing\"); // reduce arity\n passes.push(\"inlining-optimizing\"); // and inline if possible\n if (optimizeLevel >= 2 || shrinkLevel >= 1) {\n passes.push(\"code-folding\");\n passes.push(\"ssa-nomerge\");\n passes.push(\"rse\");\n // move code on early return (after CFG cleanup)\n passes.push(\"code-pushing\");\n if (optimizeLevel >= 3) {\n // very expensive, so O3 only\n passes.push(\"simplify-globals\");\n passes.push(\"vacuum\");\n\n passes.push(\"precompute-propagate\");\n\n // replace indirect with direct calls again and inline\n passes.push(\"inlining-optimizing\");\n passes.push(\"directize\");\n passes.push(\"dae-optimizing\");\n passes.push(\"local-cse\");\n\n passes.push(\"merge-locals\");\n passes.push(\"coalesce-locals\");\n passes.push(\"simplify-locals\");\n passes.push(\"vacuum\");\n\n passes.push(\"inlining\");\n passes.push(\"precompute-propagate\");\n passes.push(\"rse\");\n passes.push(\"vacuum\");\n passes.push(\"ssa-nomerge\");\n passes.push(\"simplify-locals\");\n passes.push(\"coalesce-locals\");\n }\n passes.push(\"optimize-instructions\");\n passes.push(\"remove-unused-brs\");\n passes.push(\"remove-unused-names\");\n passes.push(\"merge-blocks\");\n passes.push(\"vacuum\");\n\n passes.push(\"simplify-globals-optimizing\");\n passes.push(\"reorder-globals\");\n passes.push(\"remove-unused-brs\");\n passes.push(\"optimize-instructions\");\n }\n // clean up\n passes.push(\"duplicate-function-elimination\");\n if (shrinkLevel >= 2) {\n passes.push(\"merge-similar-functions\");\n }\n passes.push(\"memory-packing\");\n passes.push(\"remove-unused-module-elements\");\n\n this.runPasses(passes);\n }\n }\n\n validate(): bool {\n return binaryen._BinaryenModuleValidate(this.ref) == 1;\n }\n\n interpret(): void {\n binaryen._BinaryenModuleInterpret(this.ref);\n }\n\n toBinary(sourceMapUrl: string | null = null): BinaryModule {\n assert(\n binaryen._BinaryenSizeofLiteral() >=\n binaryen._BinaryenSizeofAllocateAndWriteResult()\n );\n\n // now safely reuse lit buffer for BinaryenModuleAllocateAndWriteResult\n let resPtr = this.lit;\n let urlPtr = allocString(sourceMapUrl);\n\n binaryen._BinaryenModuleAllocateAndWrite(resPtr, this.ref, urlPtr);\n\n // read BinaryenModuleAllocateAndWriteResult struct\n let binaryPtr = binaryen.__i32_load(resPtr + 0) as usize; // non-nullabe\n let binaryLen = binaryen.__i32_load(resPtr + 4);\n let srcMapPtr = binaryen.__i32_load(resPtr + 8) as usize; // nullable\n\n let binary = new BinaryModule(\n readBuffer(assert(binaryPtr), binaryLen),\n readString(srcMapPtr)\n );\n\n if (urlPtr) binaryen._free(urlPtr);\n if (srcMapPtr) binaryen._free(srcMapPtr);\n binaryen._free(binaryPtr);\n\n return binary;\n }\n\n toText(watFormat: bool = true): string {\n let textPtr = watFormat\n ? binaryen._BinaryenModuleAllocateAndWriteStackIR(this.ref, true)\n : binaryen._BinaryenModuleAllocateAndWriteText(this.ref);\n let text = readString(textPtr);\n if (textPtr) binaryen._free(textPtr);\n return text || \"\";\n }\n\n private cachedStringsToPointers: Map = new Map();\n private cachedPointersToStrings: Map = new Map();\n\n allocStringCached(str: string | null): usize {\n if (str == null) return 0;\n let cached = this.cachedStringsToPointers;\n if (cached.has(str)) return changetype(cached.get(str));\n let ptr = allocString(str);\n cached.set(str, ptr);\n return ptr;\n }\n\n readStringCached(ptr: usize): string | null {\n // Binaryen internalizes names, so using this method where it's safe can\n // avoid quite a bit of unnecessary garbage.\n if (ptr == 0) return null;\n let cached = this.cachedPointersToStrings;\n if (cached.has(ptr)) return changetype(cached.get(ptr));\n let str = readString(ptr);\n cached.set(ptr, str);\n return str;\n }\n\n dispose(): void {\n assert(this.ref);\n // TODO: for (let ptr of this.cachedStrings.values()) {\n for (let _values = Map_values(this.cachedStringsToPointers), i = 0, k = _values.length; i < k; ++i) {\n let ptr = unchecked(_values[i]);\n binaryen._free(ptr);\n }\n this.cachedStringsToPointers.clear();\n this.cachedPointersToStrings.clear();\n binaryen._free(this.lit);\n binaryen._BinaryenModuleDispose(this.ref);\n this.ref = 0;\n }\n\n createRelooper(): Relooper {\n return Relooper.create(this);\n }\n\n /** Makes a copy of a trivial expression (doesn't contain subexpressions). Returns `0` if non-trivial. */\n tryCopyTrivialExpression(expr: ExpressionRef): ExpressionRef {\n switch (binaryen._BinaryenExpressionGetId(expr)) {\n case ExpressionId.LocalGet:\n case ExpressionId.GlobalGet:\n case ExpressionId.Const:\n case ExpressionId.MemorySize:\n case ExpressionId.Nop:\n case ExpressionId.Unreachable:\n case ExpressionId.DataDrop:\n case ExpressionId.RefNull: return this.copyExpression(expr);\n }\n return 0;\n }\n\n /** Makes a copy of any expression including all subexpressions. */\n copyExpression(expr: ExpressionRef): ExpressionRef {\n // TODO: Copy debug location as well (needs Binaryen support)\n return binaryen._BinaryenExpressionCopy(expr, this.ref);\n }\n\n runExpression(\n expr: ExpressionRef,\n flags: ExpressionRunnerFlags,\n maxDepth: i32 = 50,\n maxLoopIterations: i32 = 1\n ): ExpressionRef {\n let runner = binaryen._ExpressionRunnerCreate(this.ref, flags, maxDepth, maxLoopIterations);\n let precomp = binaryen._ExpressionRunnerRunAndDispose(runner, expr);\n if (precomp) {\n if (!this.isConstExpression(precomp)) return 0;\n assert(getExpressionType(precomp) == getExpressionType(expr));\n }\n return precomp;\n }\n\n isConstExpression(expr: ExpressionRef): bool {\n switch (getExpressionId(expr)) {\n case ExpressionId.Const:\n case ExpressionId.RefNull:\n case ExpressionId.RefFunc:\n case ExpressionId.RefI31: return true;\n case ExpressionId.Binary: {\n if (this.getFeatures() & FeatureFlags.ExtendedConst) {\n switch (getBinaryOp(expr)) {\n case BinaryOp.AddI32:\n case BinaryOp.SubI32:\n case BinaryOp.MulI32:\n case BinaryOp.AddI64:\n case BinaryOp.SubI64:\n case BinaryOp.MulI64:\n return (\n this.isConstExpression(getBinaryLeft(expr)) &&\n this.isConstExpression(getBinaryRight(expr))\n );\n }\n }\n break;\n }\n }\n return false;\n }\n\n // source map generation\n\n addDebugInfoFile(name: string): Index {\n let cStr = allocString(name);\n let ret = binaryen._BinaryenModuleAddDebugInfoFileName(this.ref, cStr);\n binaryen._free(cStr);\n return ret;\n }\n\n getDebugInfoFile(index: Index): string | null {\n return readString(binaryen._BinaryenModuleGetDebugInfoFileName(this.ref, index));\n }\n\n setDebugLocation(\n func: FunctionRef,\n expr: ExpressionRef,\n fileIndex: Index,\n lineNumber: Index,\n columnNumber: Index\n ): void {\n binaryen._BinaryenFunctionSetDebugLocation(func, expr, fileIndex, lineNumber, columnNumber);\n }\n}\n\n// types\n\nexport function createType(types: TypeRef[] | null): TypeRef {\n if (!types) return TypeRef.None;\n switch (types.length) {\n case 0: return TypeRef.None;\n case 1: return types[0];\n }\n let cArr = allocPtrArray(types);\n let ret = binaryen._BinaryenTypeCreate(cArr, types.length);\n binaryen._free(cArr);\n return ret;\n}\n\nexport function expandType(type: TypeRef): TypeRef[] {\n let arity = binaryen._BinaryenTypeArity(type);\n let cArr = binaryen._malloc(arity << 2);\n binaryen._BinaryenTypeExpand(type, cArr);\n let types = new Array(arity);\n for (let i: u32 = 0; i < arity; ++i) {\n unchecked(types[i] = binaryen.__i32_load(cArr + (i << 2)));\n }\n binaryen._free(cArr);\n return types;\n}\n\nexport function isNullableType(type: TypeRef): bool {\n return binaryen._BinaryenTypeIsNullable(type);\n}\n\n// expressions\n\nexport function getExpressionId(expr: ExpressionRef): ExpressionId {\n return binaryen._BinaryenExpressionGetId(expr);\n}\n\nexport function getExpressionType(expr: ExpressionRef): TypeRef {\n return binaryen._BinaryenExpressionGetType(expr);\n}\n\nexport function getConstValueI32(expr: ExpressionRef): i32 {\n return binaryen._BinaryenConstGetValueI32(expr);\n}\n\nexport function getConstValueI64Low(expr: ExpressionRef): i32 {\n return binaryen._BinaryenConstGetValueI64Low(expr);\n}\n\nexport function getConstValueI64High(expr: ExpressionRef): i32 {\n return binaryen._BinaryenConstGetValueI64High(expr);\n}\n\nexport function getConstValueF32(expr: ExpressionRef): f32 {\n return binaryen._BinaryenConstGetValueF32(expr);\n}\n\nexport function getConstValueF64(expr: ExpressionRef): f64 {\n return binaryen._BinaryenConstGetValueF64(expr);\n}\n\nexport function getConstValueV128(expr: ExpressionRef): Uint8Array {\n let cArr = binaryen._malloc(16);\n binaryen._BinaryenConstGetValueV128(expr, cArr);\n let out = new Uint8Array(16);\n for (let i = 0; i < 16; ++i) {\n out[i] = binaryen.__i32_load8_u(cArr + i);\n }\n binaryen._free(cArr);\n return out;\n}\n\nexport function isConstZero(expr: ExpressionRef): bool {\n if (getExpressionId(expr) != ExpressionId.Const) return false;\n let type = getExpressionType(expr);\n if (type == TypeRef.I32) return getConstValueI32(expr) == 0;\n if (type == TypeRef.I64) return (getConstValueI64Low(expr) | getConstValueI64High(expr)) == 0;\n if (type == TypeRef.F32) return getConstValueF32(expr) == 0;\n if (type == TypeRef.F64) return getConstValueF64(expr) == 0;\n return false;\n}\n\nexport function isConstNonZero(expr: ExpressionRef): bool {\n if (getExpressionId(expr) != ExpressionId.Const) return false;\n let type = getExpressionType(expr);\n if (type == TypeRef.I32) return getConstValueI32(expr) != 0;\n if (type == TypeRef.I64) return (getConstValueI64Low(expr) | getConstValueI64High(expr)) != 0;\n if (type == TypeRef.F32) return getConstValueF32(expr) != 0;\n if (type == TypeRef.F64) return getConstValueF64(expr) != 0;\n return false;\n}\n\nexport function isConstNegZero(expr: ExpressionRef): bool {\n if (getExpressionId(expr) != ExpressionId.Const) return false;\n let type = getExpressionType(expr);\n if (type == TypeRef.F32) {\n let d = getConstValueF32(expr);\n return d == 0 && f32_as_i32(d) < 0;\n }\n if (type == TypeRef.F64) {\n let d = getConstValueF64(expr);\n return d == 0 && i64_signbit(f64_as_i64(d));\n }\n return false;\n}\n\nexport function isConstNaN(expr: ExpressionRef): bool {\n if (getExpressionId(expr) != ExpressionId.Const) return false;\n let type = getExpressionType(expr);\n if (type == TypeRef.F32) return isNaN(getConstValueF32(expr));\n if (type == TypeRef.F64) return isNaN(getConstValueF64(expr));\n return false;\n}\n\nexport function isConstExpressionNaN(module: Module, expr: ExpressionRef): bool {\n let id = getExpressionId(expr);\n let type = getExpressionType(expr);\n if (type == TypeRef.F32 || type == TypeRef.F64) {\n if (id == ExpressionId.Const) {\n return isNaN(\n type == TypeRef.F32\n ? getConstValueF32(expr)\n : getConstValueF64(expr)\n );\n } else if (id == ExpressionId.GlobalGet) {\n let precomp = module.runExpression(expr, ExpressionRunnerFlags.Default, 8);\n if (precomp) {\n return isNaN(\n type == TypeRef.F32\n ? getConstValueF32(precomp)\n : getConstValueF64(precomp)\n );\n }\n }\n }\n return false;\n}\n\nexport function getLocalGetIndex(expr: ExpressionRef): Index {\n return binaryen._BinaryenLocalGetGetIndex(expr);\n}\n\nexport function getLocalSetIndex(expr: ExpressionRef): Index {\n return binaryen._BinaryenLocalSetGetIndex(expr);\n}\n\nexport function getLocalSetValue(expr: ExpressionRef): ExpressionRef {\n return binaryen._BinaryenLocalSetGetValue(expr);\n}\n\nexport function isLocalTee(expr: ExpressionRef): bool {\n return binaryen._BinaryenLocalSetIsTee(expr);\n}\n\nexport function getGlobalGetName(expr: ExpressionRef): string | null {\n return readString(binaryen._BinaryenGlobalGetGetName(expr));\n}\n\nexport function getBinaryOp(expr: ExpressionRef): BinaryOp {\n return binaryen._BinaryenBinaryGetOp(expr);\n}\n\nexport function getBinaryLeft(expr: ExpressionRef): ExpressionRef {\n return binaryen._BinaryenBinaryGetLeft(expr);\n}\n\nexport function getBinaryRight(expr: ExpressionRef): ExpressionRef {\n return binaryen._BinaryenBinaryGetRight(expr);\n}\n\nexport function getUnaryOp(expr: ExpressionRef): UnaryOp {\n return binaryen._BinaryenUnaryGetOp(expr);\n}\n\nexport function getUnaryValue(expr: ExpressionRef): ExpressionRef {\n return binaryen._BinaryenUnaryGetValue(expr);\n}\n\nexport function getLoadBytes(expr: ExpressionRef): u32 {\n return binaryen._BinaryenLoadGetBytes(expr);\n}\n\nexport function getLoadOffset(expr: ExpressionRef): u32 {\n return binaryen._BinaryenLoadGetOffset(expr);\n}\n\nexport function getLoadPtr(expr: ExpressionRef): ExpressionRef {\n return binaryen._BinaryenLoadGetPtr(expr);\n}\n\nexport function isLoadSigned(expr: ExpressionRef): bool {\n return binaryen._BinaryenLoadIsSigned(expr);\n}\n\nexport function getStoreBytes(expr: ExpressionRef): u32 {\n return binaryen._BinaryenStoreGetBytes(expr);\n}\n\nexport function getStoreOffset(expr: ExpressionRef): u32 {\n return binaryen._BinaryenStoreGetOffset(expr);\n}\n\nexport function getStorePtr(expr: ExpressionRef): ExpressionRef {\n return binaryen._BinaryenStoreGetPtr(expr);\n}\n\nexport function getStoreValue(expr: ExpressionRef): ExpressionRef {\n return binaryen._BinaryenStoreGetValue(expr);\n}\n\nexport function getBlockName(expr: ExpressionRef): string | null {\n return readString(binaryen._BinaryenBlockGetName(expr));\n}\n\nexport function getBlockChildCount(expr: ExpressionRef): Index {\n return binaryen._BinaryenBlockGetNumChildren(expr);\n}\n\nexport function getBlockChildAt(expr: ExpressionRef, index: Index): ExpressionRef {\n return binaryen._BinaryenBlockGetChildAt(expr, index);\n}\n\nexport function getIfCondition(expr: ExpressionRef): ExpressionRef {\n return binaryen._BinaryenIfGetCondition(expr);\n}\n\nexport function getIfTrue(expr: ExpressionRef): ExpressionRef {\n return binaryen._BinaryenIfGetIfTrue(expr);\n}\n\nexport function getIfFalse(expr: ExpressionRef): ExpressionRef {\n return binaryen._BinaryenIfGetIfFalse(expr);\n}\n\nexport function getLoopName(expr: ExpressionRef): string | null {\n return readString(binaryen._BinaryenLoopGetName(expr));\n}\n\nexport function getLoopBody(expr: ExpressionRef): ExpressionRef {\n return binaryen._BinaryenLoopGetBody(expr);\n}\n\nexport function getBreakName(expr: ExpressionRef): string | null {\n return readString(binaryen._BinaryenBreakGetName(expr));\n}\n\nexport function getBreakCondition(expr: ExpressionRef): ExpressionRef {\n return binaryen._BinaryenBreakGetCondition(expr);\n}\n\nexport function getSelectThen(expr: ExpressionRef): ExpressionRef {\n return binaryen._BinaryenSelectGetIfTrue(expr);\n}\n\nexport function getSelectElse(expr: ExpressionRef): ExpressionRef {\n return binaryen._BinaryenSelectGetIfFalse(expr);\n}\n\nexport function getSelectCondition(expr: ExpressionRef): ExpressionRef {\n return binaryen._BinaryenSelectGetCondition(expr);\n}\n\nexport function getDropValue(expr: ExpressionRef): ExpressionRef {\n return binaryen._BinaryenDropGetValue(expr);\n}\n\nexport function getReturnValue(expr: ExpressionRef): ExpressionRef {\n return binaryen._BinaryenReturnGetValue(expr);\n}\n\nexport function getCallTarget(expr: ExpressionRef): string | null {\n return readString(binaryen._BinaryenCallGetTarget(expr));\n}\n\nexport function getCallOperandCount(expr: ExpressionRef): i32 {\n return binaryen._BinaryenCallGetNumOperands(expr);\n}\n\nexport function getCallOperandAt(expr: ExpressionRef, index: Index): ExpressionRef {\n return binaryen._BinaryenCallGetOperandAt(expr, index);\n}\n\nexport function getMemoryGrowDelta(expr: ExpressionRef): ExpressionRef {\n return binaryen._BinaryenMemoryGrowGetDelta(expr);\n}\n\n// functions\n\nexport function getFunctionBody(func: FunctionRef): ExpressionRef {\n return binaryen._BinaryenFunctionGetBody(func);\n}\n\nexport function getFunctionName(func: FunctionRef): string | null {\n return readString(binaryen._BinaryenFunctionGetName(func));\n}\n\nexport function getFunctionParams(func: FunctionRef): TypeRef {\n return binaryen._BinaryenFunctionGetParams(func);\n}\n\nexport function getFunctionResults(func: FunctionRef): TypeRef {\n return binaryen._BinaryenFunctionGetResults(func);\n}\n\nexport function getFunctionVars(func: FunctionRef): TypeRef[] {\n let count = binaryen._BinaryenFunctionGetNumVars(func);\n let types = new Array(count);\n for (let i: Index = 0; i < count; ++i) {\n unchecked(types[i] = binaryen._BinaryenFunctionGetVar(func, i));\n }\n return types;\n}\n\n// globals\n\nexport function getGlobalName(global: GlobalRef): string | null {\n return readString(binaryen._BinaryenGlobalGetName(global));\n}\n\nexport function getGlobalType(global: GlobalRef): TypeRef {\n return binaryen._BinaryenGlobalGetType(global);\n}\n\nexport function isGlobalMutable(global: GlobalRef): bool {\n return binaryen._BinaryenGlobalIsMutable(global);\n}\n\nexport function getGlobalInit(global: GlobalRef): ExpressionRef {\n return binaryen._BinaryenGlobalGetInitExpr(global);\n}\n\n// tags\n\nexport function getTagName(tag: TagRef): string | null {\n return readString(binaryen._BinaryenTagGetName(tag));\n}\n\nexport function getTagParams(tag: TagRef): TypeRef {\n return binaryen._BinaryenTagGetParams(tag);\n}\n\nexport function getTagResults(tag: TagRef): TypeRef {\n return binaryen._BinaryenTagGetResults(tag);\n}\n\nexport class Relooper {\n constructor(\n /** Module this relooper belongs to. */\n public module: Module,\n /** Binaryen relooper reference. */\n public ref: RelooperRef\n ) {}\n\n static create(module: Module): Relooper {\n return new Relooper(module, binaryen._RelooperCreate(module.ref));\n }\n\n addBlock(code: ExpressionRef): RelooperBlockRef {\n return binaryen._RelooperAddBlock(this.ref, code);\n }\n\n addBranch(\n from: RelooperBlockRef,\n to: RelooperBlockRef,\n condition: ExpressionRef = 0,\n code: ExpressionRef = 0\n ): void {\n binaryen._RelooperAddBranch(from, to, condition, code);\n }\n\n addBlockWithSwitch(code: ExpressionRef, condition: ExpressionRef): RelooperBlockRef {\n return binaryen._RelooperAddBlockWithSwitch(this.ref, code, condition);\n }\n\n addBranchForSwitch(\n from: RelooperBlockRef,\n to: RelooperBlockRef,\n indexes: i32[],\n code: ExpressionRef = 0\n ): void {\n let cArr = allocI32Array(indexes);\n binaryen._RelooperAddBranchForSwitch(from, to, cArr, indexes.length, code);\n binaryen._free(cArr);\n }\n\n renderAndDispose(entry: RelooperBlockRef, labelHelper: Index): ExpressionRef {\n return binaryen._RelooperRenderAndDispose(this.ref, entry, labelHelper);\n }\n}\n\n/** Builds a switch using a sequence of `br_if`s. */\nexport class SwitchBuilder {\n // This is useful because Binaryen understands sequences of `br_if`s and\n // knows how to make a `br_table` from such a sequence if switched over\n // values are considered dense enough, respectively a size-efficient sequence\n // of `if`s if not, depending on optimization levels.\n\n private module: Module;\n private condition: ExpressionRef;\n private values: i32[] = new Array();\n private indexes: i32[] = new Array();\n private cases: ExpressionRef[][] = new Array();\n private defaultIndex: i32 = -1;\n\n /** Creates a new builder using the specified i32 condition. */\n constructor(module: Module, condition: ExpressionRef) {\n this.module = module;\n this.condition = condition;\n }\n\n /** Links a case to the specified branch, replace old case if it is linked. */\n addOrReplaceCase(value: i32, code: ExpressionRef[]): void {\n const valueIndex = this.values.indexOf(value);\n const codeIndex = this.addCode(code);\n if (valueIndex >= 0) {\n this.indexes[valueIndex] = codeIndex;\n } else {\n this.values.push(value);\n this.indexes.push(codeIndex);\n }\n }\n\n /** Links a case to the specified branch. */\n addCase(value: i32, code: ExpressionRef[]): void {\n this.values.push(value);\n this.indexes.push(this.addCode(code));\n }\n\n private addCode(code: ExpressionRef[]): i32 {\n let cases = this.cases;\n let index = cases.indexOf(code);\n if (index < 0) {\n index = cases.length;\n cases.push(code);\n }\n return index;\n }\n\n /** Links the default branch. */\n addDefault(code: ExpressionRef[]): void {\n assert(this.defaultIndex == -1);\n let cases = this.cases;\n this.defaultIndex = cases.length;\n cases.push(code);\n }\n\n /** Renders the switch to a block. */\n render(localIndex: i32, labelPostfix: string = \"\"): ExpressionRef {\n let module = this.module;\n let cases = this.cases;\n let numCases = cases.length;\n if (!numCases) {\n return module.drop(this.condition);\n }\n let values = this.values;\n let numValues = values.length;\n let indexes = this.indexes;\n let entry = new Array(1 + numValues + 1);\n let labels = new Array(numCases);\n for (let i = 0; i < numCases; ++i) {\n unchecked(labels[i] = `case${i}${labelPostfix}`);\n }\n entry[0] = module.local_set(localIndex, this.condition, false); // u32\n for (let i = 0; i < numValues; ++i) {\n let index = unchecked(indexes[i]);\n unchecked(entry[1 + i] = module.br(labels[index],\n module.binary(BinaryOp.EqI32,\n module.local_get(localIndex, TypeRef.I32),\n module.i32(values[i])\n )\n ));\n }\n let defaultIndex = this.defaultIndex;\n let defaultLabel = `default${labelPostfix}`;\n entry[1 + numValues] = module.br(\n ~defaultIndex\n ? labels[defaultIndex]\n : defaultLabel\n );\n let current = module.block(labels[0], entry);\n for (let i = 1; i < numCases; ++i) {\n let block = cases[i - 1];\n block.unshift(current);\n current = module.block(unchecked(labels[i]), block);\n }\n let lastCase = cases[numCases - 1];\n lastCase.unshift(current);\n return module.block(\n ~defaultIndex\n ? null\n : defaultLabel,\n lastCase\n );\n }\n}\n\nexport const enum SideEffects {\n None = 0 /* _BinaryenSideEffectNone */,\n Branches = 1 /* _BinaryenSideEffectBranches */,\n Calls = 2 /* _BinaryenSideEffectCalls */,\n ReadsLocal = 4 /* _BinaryenSideEffectReadsLocal */,\n WritesLocal = 8 /* _BinaryenSideEffectWritesLocal */,\n ReadsGlobal = 16 /* _BinaryenSideEffectReadsGlobal */,\n WritesGlobal = 32 /* _BinaryenSideEffectWritesGlobal */,\n ReadsMemory = 64 /* _BinaryenSideEffectReadsMemory */,\n WritesMemory = 128 /* _BinaryenSideEffectWritesMemory */,\n ReadsTable = 256 /* _BinaryenSideEffectReadsTable */,\n WritesTable = 512 /* _BinaryenSideEffectWritesTable */,\n ImplicitTrap = 1024 /* _BinaryenSideEffectImplicitTrap */,\n IsAtomic = 2048 /* _BinaryenSideEffectIsAtomic */,\n Throws = 4096 /* _BinaryenSideEffectThrows */,\n DanglingPop = 8192 /* _BinaryenSideEffectDanglingPop */,\n TrapsNeverHappen = 16384 /* _BinaryenSideEffectTrapsNeverHappen */,\n Any = 32767 /* _BinaryenSideEffectAny */\n}\n\nexport function getSideEffects(expr: ExpressionRef, module: ModuleRef): SideEffects {\n return binaryen._BinaryenExpressionGetSideEffects(expr, module);\n}\n\nexport function mustPreserveSideEffects(expr: ExpressionRef, module: ModuleRef): bool {\n return (getSideEffects(expr, module) & ~(SideEffects.ReadsLocal | SideEffects.ReadsGlobal)) != SideEffects.None;\n}\n\n// helpers\n// can't do stack allocation here: STACKTOP is a global in WASM but a hidden variable in asm.js\n\nfunction allocU8Array(u8s: Uint8Array | null): usize {\n if (!u8s) return 0;\n let len = u8s.length;\n let ptr = binaryen._malloc(len);\n for (let i = 0; i < len; ++i) {\n binaryen.__i32_store8(ptr + i, unchecked(u8s[i]));\n }\n return ptr;\n}\n\nfunction allocI32Array(i32s: i32[] | null): usize {\n if (!i32s) return 0;\n let len = i32s.length;\n let ptr = binaryen._malloc(len << 2);\n let idx = ptr;\n for (let i = 0; i < len; ++i) {\n let val = unchecked(i32s[i]);\n binaryen.__i32_store(idx, val);\n idx += 4;\n }\n return ptr;\n}\n\nfunction allocU32Array(u32s: u32[] | null): usize {\n if (!u32s) return 0;\n let len = u32s.length;\n let ptr = binaryen._malloc(len << 2);\n let idx = ptr;\n for (let i = 0; i < len; ++i) {\n let val = unchecked(u32s[i]);\n binaryen.__i32_store(idx, val);\n idx += 4;\n }\n return ptr;\n}\n\nexport function allocPtrArray(ptrs: usize[] | null): usize {\n if (!ptrs) return 0;\n // TODO: WASM64\n assert(ASC_TARGET != Target.Wasm64);\n let len = ptrs.length;\n let ptr = binaryen._malloc(len << 2);\n let idx = ptr;\n for (let i = 0, k = len; i < k; ++i) {\n let val = unchecked(ptrs[i]);\n binaryen.__i32_store(idx, val);\n idx += 4;\n }\n return ptr;\n}\n\nfunction stringLengthUTF8(str: string): usize {\n let len = 0;\n for (let i = 0, k = str.length; i < k; ++i) {\n let c1 = str.charCodeAt(i) >>> 0;\n if (c1 <= 0x7F) {\n len += 1;\n } else if (c1 <= 0x7FF) {\n len += 2;\n } else if (\n isHighSurrogate(c1) && i + 1 < k &&\n isLowSurrogate(str.charCodeAt(i + 1))\n ) {\n i++;\n len += 4;\n } else {\n len += 3;\n }\n }\n return len;\n}\n\nfunction allocString(str: string | null): usize {\n if (str == null) return 0;\n let len = stringLengthUTF8(str);\n let ptr = binaryen._malloc(len + 1) >>> 0;\n let idx = ptr;\n if (len == str.length) {\n // fast path when all chars are ascii\n for (let i = 0, k = str.length; i < k; ++i) {\n let u = str.charCodeAt(i) >>> 0;\n binaryen.__i32_store8(idx++, u as u8);\n }\n } else {\n for (let i = 0, k = str.length; i < k; ++i) {\n let c1 = str.charCodeAt(i) >>> 0, c2: i32;\n if (c1 <= 0x7F) {\n binaryen.__i32_store8(idx++, c1 as u8);\n } else if (c1 <= 0x7FF) {\n binaryen.__i32_store8(idx++, (0xC0 | (c1 >>> 6) ) as u8);\n binaryen.__i32_store8(idx++, (0x80 | ( c1 & 63)) as u8);\n } else if (\n isHighSurrogate(c1) && i + 1 < k &&\n isLowSurrogate(c2 = str.charCodeAt(i + 1))\n ) {\n c1 = combineSurrogates(c1, c2);\n ++i;\n binaryen.__i32_store8(idx++, (0xF0 | (c1 >>> 18) ) as u8);\n binaryen.__i32_store8(idx++, (0x80 | ((c1 >>> 12) & 63)) as u8);\n binaryen.__i32_store8(idx++, (0x80 | ((c1 >>> 6) & 63)) as u8);\n binaryen.__i32_store8(idx++, (0x80 | ( c1 & 63)) as u8);\n } else {\n binaryen.__i32_store8(idx++, (0xE0 | (c1 >>> 12) ) as u8);\n binaryen.__i32_store8(idx++, (0x80 | ((c1 >>> 6) & 63)) as u8);\n binaryen.__i32_store8(idx++, (0x80 | ( c1 & 63)) as u8);\n }\n }\n }\n binaryen.__i32_store8(idx, 0); // \\0\n return ptr;\n}\n\nfunction readBuffer(ptr: usize, len: i32): Uint8Array {\n let ret = new Uint8Array(len);\n for (let i = 0; i < len; ++i) {\n unchecked(ret[i] = binaryen.__i32_load8_u(ptr + i));\n }\n return ret;\n}\n\nexport function readString(ptr: usize): string | null {\n if (!ptr) return null;\n let arr = new Array();\n // the following is based on Emscripten's UTF8ArrayToString\n let cp: u32;\n let u1: u32, u2: u32, u3: u32;\n while (cp = binaryen.__i32_load8_u(ptr++)) {\n if (!(cp & 0x80)) {\n arr.push(cp);\n continue;\n }\n u1 = binaryen.__i32_load8_u(ptr++) & 63;\n if ((cp & 0xE0) == 0xC0) {\n arr.push(((cp & 31) << 6) | u1);\n continue;\n }\n u2 = binaryen.__i32_load8_u(ptr++) & 63;\n if ((cp & 0xF0) == 0xE0) {\n cp = ((cp & 15) << 12) | (u1 << 6) | u2;\n } else {\n u3 = binaryen.__i32_load8_u(ptr++) & 63;\n if ((cp & 0xF8) == 0xF0) {\n cp = ((cp & 7) << 18) | (u1 << 12) | (u2 << 6) | u3;\n } else {\n assert(false, \"Invalid UTF8 sequence during readString\");\n }\n }\n if (cp < 0x10000) {\n arr.push(cp);\n } else {\n let ch = cp - 0x10000;\n arr.push(SURROGATE_HIGH | (ch >>> 10));\n arr.push(SURROGATE_LOW | (ch & 0x3FF));\n }\n }\n // TODO: implement and use String.fromCodePoints\n return String.fromCharCodes(arr);\n}\n\n/** Result structure of {@link Module#toBinary}. */\nexport class BinaryModule {\n constructor(\n /** WebAssembly binary. */\n public output: Uint8Array,\n /** Source map, if generated. */\n public sourceMap: string | null\n ) {}\n}\n\n// TypeBuilder\n\nconst DEBUG_TYPEBUILDER = false;\n\n/** Ensures that the given potentially complex type has a corresponding GC type. */\nexport function ensureType(type: Type): TypeRef {\n // Obtain basic type if applicable\n if (type == Type.void) return TypeRef.None;\n let typeRef = tryEnsureBasicType(type);\n if (typeRef) return typeRef;\n\n // From here on we are dealing with heap types independent of nullability.\n // Nullability is applied again when returning the final type.\n let originalType = type;\n type = type.nonNullableType;\n\n // Obtain cached type if already built. Guaranteed to be not a temp type.\n if (typeRef = type.ref) {\n return binaryen._BinaryenTypeFromHeapType(\n binaryen._BinaryenTypeGetHeapType(typeRef),\n originalType.is(TypeFlags.Nullable) // apply nullability\n );\n }\n\n // Otherwise use a type builder\n if (ASC_TARGET) {\n // @ts-ignore: Wasm only\n assert(sizeof() == 4); // ABI code below assumes 32-bit pointers\n }\n let builder = binaryen._TypeBuilderCreate(0);\n let seen = new Map();\n prepareType(builder, seen, type); // drop temp return\n let size = binaryen._TypeBuilderGetSize(builder);\n let out = binaryen._malloc(max(4 * size, 8)); // either each heap type or index + reason\n if (!binaryen._TypeBuilderBuildAndDispose(builder, out, out, out + 4)) {\n let errorIndex = binaryen.__i32_load(out);\n let errorReason = binaryen.__i32_load(out + 4);\n binaryen._free(out);\n throw new Error(`type builder error at index ${errorIndex}: ${TypeBuilderErrorReason.toString(errorReason)}`);\n }\n\n // Assign all the built types to their respective non-nullable type\n for (let _keys = Map_keys(seen), i = 0, k = _keys.length; i < k; ++i) {\n let seenType = _keys[i];\n assert(!seenType.is(TypeFlags.Nullable)); // non-nullable only\n let heapType = binaryen.__i32_load(out + 4 * i);\n let fullType = binaryen._BinaryenTypeFromHeapType(heapType, false);\n assert(!seenType.ref);\n seenType.ref = fullType;\n if (DEBUG_TYPEBUILDER) {\n console.log(` set ${seenType.toString()}`);\n }\n let classInstance = seenType.getClass();\n if (classInstance) {\n let module = classInstance.program.module;\n binaryen._BinaryenModuleSetTypeName(module.ref, heapType, module.allocStringCached(classInstance.internalName));\n let members = classInstance.members;\n if (members) {\n let numFieldsInType = binaryen._BinaryenStructTypeGetNumFields(heapType);\n let numFieldsInClass = 0;\n for (let _values = Map_values(members), i = 0, k = _values.length; i < k; ++i) {\n let member = _values[i];\n if (member.kind != ElementKind.PropertyPrototype) continue;\n // only interested in fields (resolved during class finalization)\n let property = (member).instance;\n if (!property || !property.isField) continue;\n binaryen._BinaryenModuleSetFieldName(module.ref, heapType, numFieldsInClass++, module.allocStringCached(property.name));\n }\n assert(numFieldsInType == numFieldsInClass);\n }\n }\n }\n binaryen._free(out);\n\n // Initial type should now exist in its non-nullable variant\n if (DEBUG_TYPEBUILDER) {\n console.log(` finalize ${type.toString()}`);\n }\n typeRef = assert(type.ref);\n return binaryen._BinaryenTypeFromHeapType(\n binaryen._BinaryenTypeGetHeapType(typeRef),\n originalType.is(TypeFlags.Nullable) // apply nullability\n );\n}\n\n/** Obtains the basic type of the given type, if any. */\nfunction tryEnsureBasicType(type: Type): TypeRef {\n switch (type.kind) {\n case TypeKind.Bool:\n case TypeKind.I8:\n case TypeKind.U8:\n case TypeKind.I16:\n case TypeKind.U16:\n case TypeKind.I32:\n case TypeKind.U32: return TypeRef.I32;\n case TypeKind.I64:\n case TypeKind.U64: return TypeRef.I64;\n case TypeKind.Isize:\n case TypeKind.Usize: {\n if (type.isInternalReference) break; // non-basic\n return type.size == 64 ? TypeRef.I64 : TypeRef.I32;\n }\n case TypeKind.F32: return TypeRef.F32;\n case TypeKind.F64: return TypeRef.F64;\n case TypeKind.V128: return TypeRef.V128;\n case TypeKind.Func: {\n return binaryen._BinaryenTypeFromHeapType(HeapTypeRef.Func, type.is(TypeFlags.Nullable));\n }\n case TypeKind.Extern: {\n return binaryen._BinaryenTypeFromHeapType(HeapTypeRef.Extern, type.is(TypeFlags.Nullable));\n }\n case TypeKind.Any: {\n return binaryen._BinaryenTypeFromHeapType(HeapTypeRef.Any, type.is(TypeFlags.Nullable));\n }\n case TypeKind.Eq: {\n return binaryen._BinaryenTypeFromHeapType(HeapTypeRef.Eq, type.is(TypeFlags.Nullable));\n }\n case TypeKind.Struct: {\n return binaryen._BinaryenTypeFromHeapType(HeapTypeRef.Struct, type.is(TypeFlags.Nullable));\n }\n case TypeKind.Array: {\n return binaryen._BinaryenTypeFromHeapType(HeapTypeRef.Array, type.is(TypeFlags.Nullable));\n }\n case TypeKind.I31: {\n return binaryen._BinaryenTypeFromHeapType(HeapTypeRef.I31, type.is(TypeFlags.Nullable));\n }\n case TypeKind.String: {\n return binaryen._BinaryenTypeFromHeapType(HeapTypeRef.String, type.is(TypeFlags.Nullable));\n }\n case TypeKind.StringviewWTF8: {\n return binaryen._BinaryenTypeFromHeapType(HeapTypeRef.StringviewWTF8, type.is(TypeFlags.Nullable));\n }\n case TypeKind.StringviewWTF16: {\n return binaryen._BinaryenTypeFromHeapType(HeapTypeRef.StringviewWTF16, type.is(TypeFlags.Nullable));\n }\n case TypeKind.StringviewIter: {\n return binaryen._BinaryenTypeFromHeapType(HeapTypeRef.StringviewIter, type.is(TypeFlags.Nullable));\n }\n case TypeKind.Void: assert(false); // invalid here\n }\n return 0; // non-basic\n}\n\n/** Determines the packed GC type of the given type, if applicable. */\nfunction determinePackedType(type: Type): PackedType {\n switch (type.kind) {\n case TypeKind.Bool:\n case TypeKind.I8:\n case TypeKind.U8: return PackedType.I8;\n case TypeKind.I16:\n case TypeKind.U16: return PackedType.I16;\n }\n return PackedType.NotPacked;\n}\n\n/** Recursively prepares the given GC type, potentially returning a temporary type. */\nfunction prepareType(builder: binaryen.TypeBuilderRef, seen: Map, type: Type): TypeRef {\n // Obtain basic type if applicable\n if (type == Type.void) return TypeRef.None;\n let typeRef = tryEnsureBasicType(type);\n if (typeRef) return typeRef;\n\n assert(!type.is(TypeFlags.Nullable)); // operating on non-nullable types only\n\n // Reuse existing type\n if (typeRef = type.ref) return typeRef;\n\n // Reuse seen temporary type if it exists\n if (seen.has(type)) {\n if (DEBUG_TYPEBUILDER) {\n console.log(` prepare ${type.toString()} (seen)`);\n }\n return changetype(seen.get(type));\n }\n\n if (DEBUG_TYPEBUILDER) {\n console.log(`prepare ${type.toString()}`);\n }\n\n // Otherwise construct a new class type. Note that arrays are not supported, as these would\n // have to involve a Wasm-level `array`, either wrapped in `Array` or `Uint8Array` etc., or\n // directly representing an `ArrayBuffer` or `StaticArray`. TBD.\n let classReference = type.getClass();\n if (classReference) {\n // Make sure the base type has been built prior, at a lower index\n let base = classReference.base;\n let baseRef: HeapTypeRef = 0;\n if (base) baseRef = prepareType(builder, seen, base.type); // might be temporary, is non-nullable\n\n // Block this index with a temporary type and cache\n let index = binaryen._TypeBuilderGetSize(builder);\n binaryen._TypeBuilderGrow(builder, 1);\n if (DEBUG_TYPEBUILDER) {\n console.log(` block [${index}]: ${type.toString()}`);\n }\n let heapTypeRef = binaryen._TypeBuilderGetTempHeapType(builder, index);\n typeRef = binaryen._TypeBuilderGetTempRefType(builder, heapTypeRef, false);\n seen.set(type, typeRef);\n\n // Populate the struct type (TODO: names)\n let fieldTypes = new Array();\n let packedTypes = new Array();\n let fieldMutables = new Array();\n let members = classReference.members;\n if (members) {\n for (let _values = Map_values(members), i = 0, k = _values.length; i < k; ++i) {\n let member = _values[i];\n if (member.kind != ElementKind.PropertyPrototype) continue;\n // only interested in fields (resolved during class finalization)\n let property = (member).instance;\n if (!property || !property.isField) continue;\n let fieldType = property.type;\n if (DEBUG_TYPEBUILDER) {\n console.log(` field ${fieldType.toString()}`);\n }\n if (fieldType.is(TypeFlags.Nullable)) {\n fieldTypes.push(\n binaryen._TypeBuilderGetTempRefType(\n builder,\n binaryen._BinaryenTypeGetHeapType(\n prepareType(builder, seen, fieldType.nonNullableType)\n ),\n true\n )\n );\n } else {\n fieldTypes.push(prepareType(builder, seen, fieldType));\n }\n packedTypes.push(determinePackedType(fieldType));\n fieldMutables.push(1);\n }\n }\n let cArrFT = allocPtrArray(fieldTypes);\n let cArrPT = allocU32Array(packedTypes);\n let cArrFM = allocU32Array(fieldMutables);\n if (DEBUG_TYPEBUILDER) {\n console.log(` concretize [${index}]: ${type.toString()}`);\n }\n binaryen._TypeBuilderSetStructType(builder, index, cArrFT, cArrPT, cArrFM, fieldTypes.length);\n if (base) {\n if (DEBUG_TYPEBUILDER) {\n console.log(` set super [${index}]: ${type.toString()} <: ${base.type.toString()} ${baseRef == base.type.ref ? \" (known)\" : \"\"}`);\n }\n binaryen._TypeBuilderSetSubType(builder, index, binaryen._BinaryenTypeGetHeapType(baseRef));\n }\n binaryen._free(cArrFM);\n binaryen._free(cArrPT);\n binaryen._free(cArrFT);\n return typeRef;\n }\n\n // Respectively a new signature type\n let signatureReference = type.getSignature();\n if (signatureReference) {\n\n // Block this index with a temporary type and cache\n let index = binaryen._TypeBuilderGetSize(builder);\n binaryen._TypeBuilderGrow(builder, 1);\n let tempTypeRef = binaryen._TypeBuilderGetTempRefType(\n builder,\n binaryen._TypeBuilderGetTempHeapType(builder, index),\n false\n );\n seen.set(type, tempTypeRef);\n\n let paramTypes = new Array();\n let resultTypes = new Array();\n let parameterTypes = signatureReference.parameterTypes;\n for (let i = 0, k = parameterTypes.length; i < k; ++i) {\n let paramType = parameterTypes[i];\n if (paramType.is(TypeFlags.Nullable)) {\n paramTypes.push(\n binaryen._TypeBuilderGetTempRefType(\n builder,\n binaryen._BinaryenTypeGetHeapType(\n prepareType(builder, seen, paramType.nonNullableType)\n ),\n true\n )\n );\n } else {\n paramTypes.push(prepareType(builder, seen, paramType));\n }\n }\n let returnType = signatureReference.returnType;\n resultTypes.push(\n returnType == Type.void\n ? TypeRef.None\n : returnType.is(TypeFlags.Nullable)\n ? binaryen._TypeBuilderGetTempRefType(\n builder,\n binaryen._BinaryenTypeGetHeapType(\n prepareType(builder, seen, returnType.nonNullableType)\n ),\n true\n )\n : prepareType(builder, seen, returnType)\n );\n let tempParamType: TypeRef;\n if (paramTypes.length > 1) {\n let cArrPT = allocPtrArray(paramTypes);\n tempParamType = binaryen._TypeBuilderGetTempTupleType(builder, cArrPT, paramTypes.length);\n binaryen._free(cArrPT);\n } else {\n tempParamType = paramTypes.length ? paramTypes[0] : TypeRef.None;\n }\n let tempResultType: TypeRef;\n if (resultTypes.length > 1) {\n let cArrRT = allocPtrArray(resultTypes);\n tempResultType = binaryen._TypeBuilderGetTempTupleType(builder, cArrRT, resultTypes.length);\n binaryen._free(cArrRT);\n } else {\n tempResultType = resultTypes[0];\n }\n if (DEBUG_TYPEBUILDER) {\n console.log(` concretize [${index}]: ${type.toString()}`);\n }\n binaryen._TypeBuilderSetSignatureType(builder, index, tempParamType, tempResultType);\n return tempTypeRef;\n }\n\n throw new Error(`unexpected complex type: ${type.toString()}`);\n}\n", "/**\n * @fileoverview A concurrent code flow analyzer.\n *\n * Flows keep track of compilation state and can be queried for various\n * conditions, like whether the current branch always terminates, whether\n * a local is known to be non-null or whether an expression has possibly\n * overflown its value range.\n *\n * To accomplish this, compilation of each function begins with a clean\n * flow populated with initial local states etc. While compilation\n * progresses, statements and expressions update flow state while control\n * constructs fork, potentially add scoped locals and later merge these\n * forked branches as necessary.\n *\n * @license Apache-2.0\n */\n\nimport {\n Type,\n TypeFlags,\n TypeKind\n} from \"./types\";\n\nimport {\n Program,\n Local,\n Function,\n Element,\n ElementKind,\n Class,\n TypedElement,\n mangleInternalName,\n Property,\n PropertyPrototype,\n TypeDefinition\n} from \"./program\";\n\nimport {\n TypeRef,\n ExpressionId,\n ExpressionRef,\n BinaryOp,\n UnaryOp,\n\n getExpressionId,\n getLocalGetIndex,\n isLocalTee,\n getLocalSetValue,\n getGlobalGetName,\n getBinaryOp,\n getBinaryLeft,\n getConstValueI32,\n getBinaryRight,\n getUnaryOp,\n getExpressionType,\n getConstValueI64Low,\n getConstValueF32,\n getConstValueF64,\n getLoadBytes,\n isLoadSigned,\n getBlockName,\n getBlockChildCount,\n getBlockChildAt,\n getIfTrue,\n getIfFalse,\n getSelectThen,\n getSelectElse,\n getCallTarget,\n getLocalSetIndex,\n getIfCondition,\n getUnaryValue,\n getCallOperandAt,\n getCallOperandCount,\n isConstZero,\n isConstNonZero\n} from \"./module\";\n\nimport {\n CommonFlags\n} from \"./common\";\n\nimport {\n UncheckedBehavior\n} from \"./compiler\";\n\nimport {\n DiagnosticCode\n} from \"./diagnostics\";\n\nimport {\n Node\n} from \"./ast\";\n\nimport {\n cloneMap\n} from \"./util\";\n\nimport {\n BuiltinNames\n} from \"./builtins\";\n\n/** Control flow flags indicating specific conditions. */\nexport const enum FlowFlags {\n /** No specific conditions. */\n None = 0,\n\n // categorical\n\n /** This flow always returns. */\n Returns = 1 << 0,\n /** This flow always returns a wrapped value. */\n ReturnsWrapped = 1 << 1,\n /** This flow always returns a non-null value. */\n ReturnsNonNull = 1 << 2,\n /** This flow always throws. */\n Throws = 1 << 3,\n /** This flow always breaks. */\n Breaks = 1 << 4,\n /** This flow always continues. */\n Continues = 1 << 5,\n /** This flow always accesses `this`. Constructors only. */\n AccessesThis = 1 << 6,\n /** This flow always calls `super`. Constructors only. */\n CallsSuper = 1 << 7,\n /** This flow always terminates (returns, throws or continues). */\n Terminates = 1 << 8, // Note that this doesn't cover BREAKS, which is separate\n\n // conditional\n\n /** This flow conditionally returns in a child flow. */\n ConditionallyReturns = 1 << 9,\n /** This flow conditionally throws in a child flow. */\n ConditionallyThrows = 1 << 10,\n /** This flow conditionally breaks in a child flow. */\n ConditionallyBreaks = 1 << 11,\n /** This flow conditionally continues in a child flow. */\n ConditionallyContinues = 1 << 12,\n /** This flow conditionally accesses `this` in a child flow. Constructors only. */\n ConditionallyAccessesThis = 1 << 13,\n /** This flow may return a non-this value. Constructors only. */\n MayReturnNonThis = 1 << 14,\n\n // other\n\n /** This is a flow with explicitly disabled bounds checking. */\n UncheckedContext = 1 << 15,\n /** This is a flow compiling a constructor parameter. */\n CtorParamContext = 1 << 16,\n\n // masks\n\n /** Any categorical flag. */\n AnyCategorical = FlowFlags.Returns\n | FlowFlags.ReturnsWrapped\n | FlowFlags.ReturnsNonNull\n | FlowFlags.Throws\n | FlowFlags.Breaks\n | FlowFlags.Continues\n | FlowFlags.AccessesThis\n | FlowFlags.CallsSuper\n | FlowFlags.Terminates,\n\n /** Any conditional flag. */\n AnyConditional = FlowFlags.ConditionallyReturns\n | FlowFlags.ConditionallyThrows\n | FlowFlags.ConditionallyBreaks\n | FlowFlags.ConditionallyContinues\n | FlowFlags.ConditionallyAccessesThis\n}\n\n/** Flags indicating the current state of a local. */\nexport const enum LocalFlags {\n /** No specific conditions. */\n None = 0,\n\n /** Local is constant. */\n Constant = 1 << 0,\n /** Local is properly wrapped. Relevant for small integers. */\n Wrapped = 1 << 1,\n /** Local is non-null. */\n NonNull = 1 << 2,\n /** Local is initialized. */\n Initialized = 1 << 3\n}\n\n/** Flags indicating the current state of a field. */\nexport const enum FieldFlags {\n None = 0,\n Initialized = 1 << 0\n}\n\n/** Condition kinds. */\nexport const enum ConditionKind {\n /** Outcome of the condition is unknown */\n Unknown,\n /** Condition is always true. */\n True,\n /** Condition is always false. */\n False\n}\n\n/** A control flow evaluator. */\nexport class Flow {\n\n /** Creates the default top-level flow of the specified function. */\n static createDefault(targetFunction: Function): Flow {\n let flow = new Flow(targetFunction);\n if (targetFunction.is(CommonFlags.Constructor)) {\n flow.initThisFieldFlags();\n }\n if (targetFunction.program.options.uncheckedBehavior === UncheckedBehavior.Always) {\n flow.set(FlowFlags.UncheckedContext);\n }\n return flow;\n }\n\n /** Creates an inline flow, compiling `inlineFunction` into `targetFunction`. */\n static createInline(targetFunction: Function, inlineFunction: Function): Flow {\n // Note that `targetFunction` and `inlineFunction` can be the same function\n // when it is inlined into itself.\n let flow = new Flow(targetFunction, inlineFunction);\n flow.inlineReturnLabel = `${inlineFunction.internalName}|inlined.${(inlineFunction.nextInlineId++)}`;\n if (inlineFunction.is(CommonFlags.Constructor)) {\n flow.initThisFieldFlags();\n }\n if (targetFunction.program.options.uncheckedBehavior === UncheckedBehavior.Always) {\n flow.set(FlowFlags.UncheckedContext);\n }\n return flow;\n }\n\n private constructor(\n /** Target function this flow generates code into. */\n public targetFunction: Function,\n /** Inline function this flow generates code from, if any. */\n public inlineFunction: Function | null = null\n ) {\n // Setup is performed above so inline ids and field flags are not reset\n // when forking flows, which also uses the constructor.\n }\n\n /** Parent flow. */\n parent: Flow | null = null;\n /** Outer flow. Only relevant for first-class functions. */\n outer: Flow | null = null;\n /** Flow flags indicating specific conditions. */\n flags: FlowFlags = FlowFlags.None;\n /** The label we break to when encountering a continue statement. */\n continueLabel: string | null = null;\n /** The label we break to when encountering a break statement. */\n breakLabel: string | null = null;\n /** Scoped local variables. */\n scopedLocals: Map | null = null;\n /** Scoped type alias. */\n scopedTypeAlias: Map | null = null;\n /** Local flags. */\n localFlags: LocalFlags[] = [];\n /** Field flags on `this`. Constructors only. */\n thisFieldFlags: Map | null = null;\n /** The label we break to when encountering a return statement, when inlining. */\n inlineReturnLabel: string | null = null;\n /** Alternative flows if a compound expression is true-ish. */\n trueFlows: Map | null = null;\n /** Alternative flows if a compound expression is false-ish. */\n falseFlows: Map | null = null;\n\n /** Tests if this is an inline flow. */\n get isInline(): bool {\n return this.inlineFunction != null;\n }\n\n /** Gets the source function being compiled. Differs from target when inlining. */\n get sourceFunction(): Function {\n // Obtaining the source function is useful when resolving elements relative\n // to their source location. Note that the source function does not necessarily\n // materialize in the binary, as it might be inlined. Code, locals, etc. must\n // always be added to / maintained in the materializing target function instead.\n let inlineFunction = this.inlineFunction;\n if (inlineFunction) return inlineFunction;\n return this.targetFunction;\n }\n\n /** Gets the program this flow belongs to. */\n get program(): Program {\n return this.targetFunction.program;\n }\n\n /** Gets the current return type. */\n get returnType(): Type {\n return this.sourceFunction.signature.returnType;\n }\n\n /** Gets the current contextual type arguments. */\n get contextualTypeArguments(): Map | null {\n return this.sourceFunction.contextualTypeArguments;\n }\n\n /** Tests if this flow has the specified flag or flags. */\n is(flag: FlowFlags): bool { return (this.flags & flag) == flag; }\n /** Tests if this flow has one of the specified flags. */\n isAny(flag: FlowFlags): bool { return (this.flags & flag) != 0; }\n /** Sets the specified flag or flags. */\n set(flag: FlowFlags): void { this.flags |= flag; }\n /** Unsets the specified flag or flags. */\n unset(flag: FlowFlags): void { this.flags &= ~flag; }\n\n deriveConditionalFlags(): FlowFlags {\n let condiFlags = this.flags & FlowFlags.AnyConditional;\n if (this.is(FlowFlags.Returns)) {\n condiFlags |= FlowFlags.ConditionallyReturns;\n }\n if (this.is(FlowFlags.Throws)) {\n condiFlags |= FlowFlags.ConditionallyThrows;\n }\n if (this.is(FlowFlags.Breaks)) {\n condiFlags |= FlowFlags.ConditionallyBreaks;\n }\n if (this.is(FlowFlags.Continues)) {\n condiFlags |= FlowFlags.ConditionallyContinues;\n }\n if (this.is(FlowFlags.AccessesThis)) {\n condiFlags |= FlowFlags.ConditionallyAccessesThis;\n }\n return condiFlags;\n }\n\n /** Forks this flow to a child flow. */\n fork(\n /** Whether a new break context is established, e.g. by a block. */\n newBreakContext: bool = false,\n /** Whether a new continue context is established, e.g. by a loop. */\n newContinueContext: bool = newBreakContext\n ): Flow {\n let branch = new Flow(this.targetFunction, this.inlineFunction);\n branch.parent = this;\n branch.flags = this.flags;\n branch.outer = this.outer;\n if (newBreakContext) {\n branch.flags &= ~(\n FlowFlags.Breaks |\n FlowFlags.ConditionallyBreaks\n );\n } else {\n branch.breakLabel = this.breakLabel;\n }\n if (newContinueContext) {\n branch.flags &= ~(\n FlowFlags.Continues |\n FlowFlags.ConditionallyContinues\n );\n } else {\n branch.continueLabel = this.continueLabel;\n }\n branch.localFlags = this.localFlags.slice();\n if (this.sourceFunction.is(CommonFlags.Constructor)) {\n let thisFieldFlags = assert(this.thisFieldFlags);\n branch.thisFieldFlags = cloneMap(thisFieldFlags);\n } else {\n assert(!this.thisFieldFlags);\n }\n branch.inlineReturnLabel = this.inlineReturnLabel;\n return branch;\n }\n\n /** Forks this flow to a child flow where `condExpr` is true-ish. */\n forkThen(\n /** Condition that turned out to be true. */\n condExpr: ExpressionRef,\n /** Whether a new break context is established, e.g. by a block. */\n newBreakContext: bool = false,\n /** Whether a new continue context is established, e.g. by a loop. */\n newContinueContext: bool = newBreakContext\n ): Flow {\n let flow = this.fork(newBreakContext, newContinueContext);\n let trueFlows = this.trueFlows;\n if (trueFlows && trueFlows.has(condExpr)) {\n flow.inherit(changetype(trueFlows.get(condExpr)));\n }\n flow.inheritNonnullIfTrue(condExpr);\n return flow;\n }\n\n /** Remembers the alternative flow if `condExpr` turns out `true`. */\n noteThen(condExpr: ExpressionRef, trueFlow: Flow): void {\n let trueFlows = this.trueFlows;\n if (!trueFlows) this.trueFlows = trueFlows = new Map();\n trueFlows.set(condExpr, trueFlow);\n }\n\n /** Forks this flow to a child flow where `condExpr` is false-ish. */\n forkElse(\n /** Condition that turned out to be false. */\n condExpr: ExpressionRef\n ): Flow {\n let flow = this.fork();\n let falseFlows = this.falseFlows;\n if (falseFlows && falseFlows.has(condExpr)) {\n flow.inherit(changetype(falseFlows.get(condExpr)));\n }\n flow.inheritNonnullIfFalse(condExpr);\n return flow;\n }\n\n /** Remembers the alternative flow if `condExpr` turns out `false`. */\n noteElse(condExpr: ExpressionRef, falseFlow: Flow): void {\n let falseFlows = this.falseFlows;\n if (!falseFlows) this.falseFlows = falseFlows = new Map();\n falseFlows.set(condExpr, falseFlow);\n }\n\n addScopedTypeAlias(name: string, definition: TypeDefinition): void {\n let scopedTypeAlias = this.scopedTypeAlias;\n if (!scopedTypeAlias) this.scopedTypeAlias = scopedTypeAlias = new Map();\n scopedTypeAlias.set(name, definition);\n }\n\n lookupScopedTypeAlias(name: string): TypeDefinition | null {\n let current: Flow | null = this;\n do {\n let scopedTypeAlias = current.scopedTypeAlias;\n if (scopedTypeAlias && scopedTypeAlias.has(name)) {\n return assert(scopedTypeAlias.get(name));\n }\n current = current.parent;\n } while (current);\n return null;\n }\n\n lookupTypeAlias(name: string): TypeDefinition | null {\n let definition: TypeDefinition | null = null;\n if (definition = this.lookupScopedTypeAlias(name)) return definition;\n\n let sourceParent = this.sourceFunction.parent;\n if (sourceParent.kind == ElementKind.Function) {\n // lookup parent function.\n let parentFunction = sourceParent;\n return parentFunction.flow.lookupTypeAlias(name);\n }\n \n return null;\n }\n\n /** Gets a free temporary local of the specified type. */\n getTempLocal(type: Type): Local {\n let local = this.targetFunction.addLocal(type);\n this.unsetLocalFlag(local.index, ~0);\n return local;\n }\n\n /** Gets the scoped local of the specified name. */\n getScopedLocal(name: string): Local | null {\n let scopedLocals = this.scopedLocals;\n if (scopedLocals && scopedLocals.has(name)) return assert(scopedLocals.get(name));\n return null;\n }\n\n /** Adds a new scoped local of the specified name. */\n addScopedLocal(name: string, type: Type): Local {\n let scopedLocal = this.getTempLocal(type);\n scopedLocal.name = name;\n scopedLocal.internalName = mangleInternalName(name, scopedLocal.parent, false);\n let scopedLocals = this.scopedLocals;\n if (!scopedLocals) this.scopedLocals = scopedLocals = new Map();\n else assert(!scopedLocals.has(name));\n scopedLocal.set(CommonFlags.Scoped);\n scopedLocals.set(name, scopedLocal);\n return scopedLocal;\n }\n\n /** Adds a new scoped dummy local of the specified name. */\n addScopedDummyLocal(name: string, type: Type, declarationNode: Node): Local {\n let scopedDummy = new Local(name, -1, type, this.targetFunction);\n let scopedLocals = this.scopedLocals;\n if (!scopedLocals) this.scopedLocals = scopedLocals = new Map();\n else if (scopedLocals.has(name)) {\n this.program.error(\n DiagnosticCode.Cannot_redeclare_block_scoped_variable_0,\n declarationNode.range, name\n );\n }\n scopedDummy.set(CommonFlags.Scoped);\n scopedLocals.set(name, scopedDummy);\n return scopedDummy;\n }\n\n /** Adds a new scoped alias for the specified local. For example `super` aliased to the `this` local. */\n addScopedAlias(name: string, type: Type, index: i32, reportNode: Node | null = null): Local {\n let scopedLocals = this.scopedLocals;\n if (!scopedLocals) {\n this.scopedLocals = scopedLocals = new Map();\n } else if (scopedLocals.has(name)) {\n let existingLocal = assert(scopedLocals.get(name));\n if (reportNode) {\n if (!existingLocal.declaration.range.source.isNative) {\n this.program.errorRelated(\n DiagnosticCode.Duplicate_identifier_0,\n reportNode.range,\n existingLocal.declaration.name.range,\n name\n );\n } else {\n this.program.error(\n DiagnosticCode.Duplicate_identifier_0,\n reportNode.range, name\n );\n }\n }\n return existingLocal;\n }\n assert(index < this.targetFunction.localsByIndex.length);\n let scopedAlias = new Local(name, index, type, this.targetFunction);\n scopedAlias.set(CommonFlags.Scoped);\n scopedLocals.set(name, scopedAlias);\n return scopedAlias;\n }\n\n /** Frees a single scoped local by its name. */\n freeScopedDummyLocal(name: string): void {\n let scopedLocals = assert(this.scopedLocals);\n assert(scopedLocals.has(name));\n let local = assert(scopedLocals.get(name));\n assert(local.index == -1);\n scopedLocals.delete(name);\n }\n\n /** Looks up the local of the specified name in the current scope. */\n lookupLocal(name: string): Local | null {\n let current: Flow | null = this;\n do {\n let scope = current.scopedLocals;\n if (scope && scope.has(name)) return assert(scope.get(name));\n current = current.parent;\n } while (current);\n return null;\n }\n\n /** Looks up the element with the specified name relative to the scope of this flow. */\n lookup(name: string): Element | null {\n let element = this.lookupLocal(name);\n if (element) return element;\n return this.sourceFunction.lookup(name);\n }\n\n /** Tests if the local at the specified index has the specified flag or flags. */\n isLocalFlag(index: i32, flag: LocalFlags, defaultIfInlined: bool = true): bool {\n if (index < 0) return defaultIfInlined;\n let localFlags = this.localFlags;\n return index < localFlags.length && (unchecked(localFlags[index]) & flag) == flag;\n }\n\n /** Tests if the local at the specified index has any of the specified flags. */\n isAnyLocalFlag(index: i32, flag: LocalFlags, defaultIfInlined: bool = true): bool {\n if (index < 0) return defaultIfInlined;\n let localFlags = this.localFlags;\n return index < localFlags.length && (unchecked(localFlags[index]) & flag) != 0;\n }\n\n /** Sets the specified flag or flags on the local at the specified index. */\n setLocalFlag(index: i32, flag: LocalFlags): void {\n if (index < 0) return;\n let localFlags = this.localFlags;\n let flags = index < localFlags.length ? unchecked(localFlags[index]) : 0;\n localFlags[index] = flags | flag;\n }\n\n /** Unsets the specified flag or flags on the local at the specified index. */\n unsetLocalFlag(index: i32, flag: LocalFlags): void {\n if (index < 0) return;\n let localFlags = this.localFlags;\n let flags = index < localFlags.length ? unchecked(localFlags[index]) : 0;\n localFlags[index] = flags & ~flag;\n }\n\n /** Initializes `this` field flags. */\n initThisFieldFlags(): void {\n let sourceFunction = this.sourceFunction;\n assert(sourceFunction.is(CommonFlags.Constructor));\n let parent = sourceFunction.parent;\n assert(parent.kind == ElementKind.Class);\n let classInstance = parent;\n this.thisFieldFlags = new Map();\n let members = classInstance.members;\n if (members) {\n for (let _values = Map_values(members), i = 0, k = _values.length; i < k; ++i) {\n let member = _values[i];\n if (member.kind != ElementKind.PropertyPrototype) continue;\n // only interested in fields (resolved during class finalization)\n let property = (member).instance;\n if (!property || !property.isField) continue;\n if (\n // guaranteed by super\n property.prototype.parent != classInstance ||\n // has field initializer\n property.initializerNode ||\n // is initialized as a ctor parameter\n property.prototype.parameterIndex != -1 ||\n // is safe to initialize with zero\n property.type.isAny(TypeFlags.Value | TypeFlags.Nullable)\n ) {\n this.setThisFieldFlag(property, FieldFlags.Initialized);\n }\n }\n }\n }\n\n /** Tests if the specified `this` field has the specified flag or flags. */\n isThisFieldFlag(field: Property, flag: FieldFlags): bool {\n let fieldFlags = this.thisFieldFlags;\n if (fieldFlags != null && fieldFlags.has(field)) {\n return (changetype(fieldFlags.get(field)) & flag) == flag;\n }\n return false;\n }\n\n /** Sets the specified flag or flags on the given `this` field. */\n setThisFieldFlag(field: Property, flag: FieldFlags): void {\n let fieldFlags = this.thisFieldFlags;\n if (fieldFlags) {\n assert(this.sourceFunction.is(CommonFlags.Constructor));\n if (fieldFlags.has(field)) {\n let flags = changetype(fieldFlags.get(field));\n fieldFlags.set(field, flags | flag);\n } else {\n fieldFlags.set(field, flag);\n }\n } else {\n assert(!this.sourceFunction.is(CommonFlags.Constructor));\n }\n }\n\n /** Pushes a new control flow label, for example when entering a loop that one can `break` from. */\n pushControlFlowLabel(): i32 {\n let targetFunction = this.targetFunction;\n let id = targetFunction.nextBreakId++;\n let stack = targetFunction.breakStack;\n if (!stack) targetFunction.breakStack = [ id ];\n else stack.push(id);\n return id;\n }\n\n /** Pops the most recent control flow label and validates that it matches. */\n popControlFlowLabel(expectedLabel: i32): void {\n let targetFunction = this.targetFunction;\n let stack = assert(targetFunction.breakStack); // should exist\n assert(stack.length); // should not be empty\n assert(stack.pop() == expectedLabel); // should match\n }\n\n /** Inherits flags of another flow into this one, i.e. a finished inner block. */\n inherit(other: Flow): void {\n assert(other.targetFunction == this.targetFunction);\n let otherFlags = other.flags;\n\n // respective inner flags are irrelevant if contexts differ\n if (this.breakLabel != other.breakLabel) {\n if (otherFlags & (FlowFlags.Breaks | FlowFlags.ConditionallyBreaks)) {\n otherFlags &= ~FlowFlags.Terminates;\n }\n otherFlags &= ~(FlowFlags.Breaks | FlowFlags.ConditionallyBreaks);\n }\n if (this.continueLabel != other.continueLabel) {\n otherFlags &= ~(FlowFlags.Continues | FlowFlags.ConditionallyContinues);\n }\n\n this.flags = this.flags | otherFlags; // what happens before is still true\n this.localFlags = other.localFlags;\n this.thisFieldFlags = other.thisFieldFlags;\n }\n\n\n /** Merges only the side effects of a branch, i.e. when not taken. */\n mergeSideEffects(other: Flow): void {\n assert(other.targetFunction == this.targetFunction);\n\n let thisFlags = this.flags;\n let otherFlags = other.flags;\n let newFlags = FlowFlags.None;\n\n if (thisFlags & FlowFlags.Returns) { // nothing can change that\n newFlags |= FlowFlags.Returns;\n } else if (otherFlags & FlowFlags.Returns) {\n newFlags |= FlowFlags.ConditionallyReturns;\n } else {\n newFlags |= (thisFlags | otherFlags) & FlowFlags.ConditionallyReturns;\n }\n\n // must be the case in both\n newFlags |= thisFlags & otherFlags & FlowFlags.ReturnsWrapped;\n newFlags |= thisFlags & otherFlags & FlowFlags.ReturnsNonNull;\n\n if (thisFlags & FlowFlags.Throws) { // nothing can change that\n newFlags |= FlowFlags.Throws;\n } else if (otherFlags & FlowFlags.Throws) {\n newFlags |= FlowFlags.ConditionallyThrows;\n } else {\n newFlags |= (thisFlags | otherFlags) & FlowFlags.ConditionallyThrows;\n }\n\n if (thisFlags & FlowFlags.Breaks) { // nothing can change that\n newFlags |= FlowFlags.Breaks;\n } else if (other.breakLabel == this.breakLabel) {\n if (otherFlags & FlowFlags.Breaks) {\n newFlags |= FlowFlags.ConditionallyBreaks;\n } else {\n newFlags |= (thisFlags | otherFlags) & FlowFlags.ConditionallyBreaks;\n }\n } else {\n newFlags |= thisFlags & FlowFlags.ConditionallyBreaks;\n }\n\n if (thisFlags & FlowFlags.Continues) { // nothing can change that\n newFlags |= FlowFlags.Continues;\n } else if (other.continueLabel == this.continueLabel) {\n if (otherFlags & FlowFlags.Continues) {\n newFlags |= FlowFlags.ConditionallyContinues;\n } else {\n newFlags |= (thisFlags | otherFlags) & FlowFlags.ConditionallyContinues;\n }\n } else {\n newFlags |= thisFlags & FlowFlags.ConditionallyContinues;\n }\n\n if (thisFlags & FlowFlags.AccessesThis) { // can become conditional\n if (otherFlags & FlowFlags.AccessesThis) {\n newFlags |= FlowFlags.AccessesThis;\n } else {\n newFlags |= FlowFlags.ConditionallyAccessesThis;\n }\n } else if (otherFlags & FlowFlags.AccessesThis) {\n newFlags |= FlowFlags.ConditionallyAccessesThis;\n }\n\n // may be the case in any\n newFlags |= (thisFlags | otherFlags) & FlowFlags.MayReturnNonThis;\n\n // must be the case in both\n newFlags |= thisFlags & otherFlags & FlowFlags.CallsSuper;\n\n if (thisFlags & FlowFlags.Terminates) { // nothing can change that\n newFlags |= FlowFlags.Terminates;\n }\n\n this.flags = newFlags | (thisFlags & (FlowFlags.UncheckedContext | FlowFlags.CtorParamContext));\n }\n\n /** Merges a branch joining again with this flow, i.e. then without else. */\n mergeBranch(other: Flow): void {\n this.mergeSideEffects(other);\n\n // Local flags matter if the branch does not terminate\n let thisLocalFlags = this.localFlags;\n let numThisLocalFlags = thisLocalFlags.length;\n let otherLocalFlags = other.localFlags;\n let numOtherLocalFlags = otherLocalFlags.length;\n let maxLocalFlags = max(numThisLocalFlags, numOtherLocalFlags);\n for (let i = 0; i < maxLocalFlags; ++i) {\n let thisFlags = i < numThisLocalFlags ? thisLocalFlags[i] : 0;\n let otherFlags = i < numOtherLocalFlags ? otherLocalFlags[i] : 0;\n thisLocalFlags[i] = thisFlags & otherFlags & (\n LocalFlags.Constant |\n LocalFlags.Wrapped |\n LocalFlags.NonNull |\n LocalFlags.Initialized\n );\n }\n\n // field flags do not matter here since there's only INITIALIZED, which can\n // only be set if it has been observed prior to entering the branch.\n }\n\n /** Inherits two alternate branches to become this flow, i.e. then with else. */\n inheritAlternatives(left: Flow, right: Flow): void {\n assert(left.targetFunction == right.targetFunction);\n assert(left.targetFunction == this.targetFunction);\n // Differs from `mergeBranch` in that the alternatives are intersected to\n // then become this branch.\n\n let leftFlags = left.flags;\n let rightFlags = right.flags;\n let newFlags = FlowFlags.None;\n\n if (leftFlags & FlowFlags.Returns) {\n if (rightFlags & FlowFlags.Returns) {\n newFlags |= FlowFlags.Returns;\n } else {\n newFlags |= FlowFlags.ConditionallyReturns;\n }\n } else if (rightFlags & FlowFlags.Returns) {\n newFlags |= FlowFlags.ConditionallyReturns;\n } else {\n newFlags |= (leftFlags | rightFlags) & FlowFlags.ConditionallyReturns;\n }\n\n if ((leftFlags & FlowFlags.ReturnsWrapped) && (rightFlags & FlowFlags.ReturnsWrapped)) {\n newFlags |= FlowFlags.ReturnsWrapped;\n }\n\n if ((leftFlags & FlowFlags.ReturnsNonNull) && (rightFlags & FlowFlags.ReturnsNonNull)) {\n newFlags |= FlowFlags.ReturnsNonNull;\n }\n\n if (leftFlags & FlowFlags.Throws) {\n if (rightFlags & FlowFlags.Throws) {\n newFlags |= FlowFlags.Throws;\n } else {\n newFlags |= FlowFlags.ConditionallyThrows;\n }\n } else if (rightFlags & FlowFlags.Throws) {\n newFlags |= FlowFlags.ConditionallyThrows;\n } else {\n newFlags |= (leftFlags | rightFlags) & FlowFlags.ConditionallyThrows;\n }\n\n if (leftFlags & FlowFlags.Breaks) {\n if (rightFlags & FlowFlags.Breaks) {\n newFlags |= FlowFlags.Breaks;\n } else {\n newFlags |= FlowFlags.ConditionallyBreaks;\n }\n } else if (rightFlags & FlowFlags.Breaks) {\n newFlags |= FlowFlags.ConditionallyBreaks;\n } else {\n newFlags |= (leftFlags | rightFlags) & FlowFlags.ConditionallyBreaks;\n }\n\n if (leftFlags & FlowFlags.Continues) {\n if (rightFlags & FlowFlags.Continues) {\n newFlags |= FlowFlags.Continues;\n } else {\n newFlags |= FlowFlags.ConditionallyContinues;\n }\n } else if (rightFlags & FlowFlags.Continues) {\n newFlags |= FlowFlags.ConditionallyContinues;\n } else {\n newFlags |= (leftFlags | rightFlags) & FlowFlags.ConditionallyContinues;\n }\n\n if (leftFlags & FlowFlags.AccessesThis) {\n if (rightFlags & FlowFlags.AccessesThis) {\n newFlags |= FlowFlags.AccessesThis;\n } else {\n newFlags |= FlowFlags.ConditionallyAccessesThis;\n }\n } else if (rightFlags & FlowFlags.AccessesThis) {\n newFlags |= FlowFlags.ConditionallyAccessesThis;\n } else {\n newFlags |= (leftFlags | rightFlags) & FlowFlags.ConditionallyAccessesThis;\n }\n\n newFlags |= (leftFlags | rightFlags) & FlowFlags.MayReturnNonThis;\n\n if ((leftFlags & FlowFlags.CallsSuper) && (rightFlags & FlowFlags.CallsSuper)) {\n newFlags |= FlowFlags.CallsSuper;\n }\n\n if ((leftFlags & FlowFlags.Terminates) && (rightFlags & FlowFlags.Terminates)) {\n newFlags |= FlowFlags.Terminates;\n }\n\n this.flags = newFlags | (this.flags & (FlowFlags.UncheckedContext | FlowFlags.CtorParamContext));\n\n // local flags\n let thisLocalFlags = this.localFlags;\n if (leftFlags & FlowFlags.Terminates) {\n if (!(rightFlags & FlowFlags.Terminates)) {\n let rightLocalFlags = right.localFlags;\n for (let i = 0, k = rightLocalFlags.length; i < k; ++i) {\n thisLocalFlags[i] = rightLocalFlags[i];\n }\n }\n } else if (rightFlags & FlowFlags.Terminates) {\n let leftLocalFlags = left.localFlags;\n for (let i = 0, k = leftLocalFlags.length; i < k; ++i) {\n thisLocalFlags[i] = leftLocalFlags[i];\n }\n } else {\n let leftLocalFlags = left.localFlags;\n let numLeftLocalFlags = leftLocalFlags.length;\n let rightLocalFlags = right.localFlags;\n let numRightLocalFlags = rightLocalFlags.length;\n let maxLocalFlags = max(numLeftLocalFlags, numRightLocalFlags);\n for (let i = 0; i < maxLocalFlags; ++i) {\n let leftFlags = i < numLeftLocalFlags ? leftLocalFlags[i] : 0;\n let rightFlags = i < numRightLocalFlags ? rightLocalFlags[i] : 0;\n thisLocalFlags[i] = leftFlags & rightFlags & (\n LocalFlags.Constant |\n LocalFlags.Wrapped |\n LocalFlags.NonNull |\n LocalFlags.Initialized\n );\n }\n }\n\n // field flags (currently only INITIALIZED, so can simplify)\n let leftFieldFlags = left.thisFieldFlags;\n if (leftFieldFlags) {\n let newFieldFlags = new Map();\n let rightFieldFlags = assert(right.thisFieldFlags);\n for (let _keys = Map_keys(leftFieldFlags), i = 0, k = _keys.length; i < k; ++i) {\n let key = _keys[i];\n let leftFlags = changetype(leftFieldFlags.get(key));\n if (\n (leftFlags & FieldFlags.Initialized) != 0 && rightFieldFlags.has(key) &&\n (changetype(rightFieldFlags.get(key)) & FieldFlags.Initialized)\n ) {\n newFieldFlags.set(key, FieldFlags.Initialized);\n }\n }\n this.thisFieldFlags = newFieldFlags;\n } else {\n assert(!right.thisFieldFlags);\n }\n }\n\n /** Tests if recompilation is needed due to incompatible local flags between loops, and resets if necessary. */\n resetIfNeedsRecompile(\n /** Resulting flow of the current compilation attempt. */\n other: Flow,\n /** Number of locals before the compilation attempt. */\n numLocalsBefore: i32\n ): bool {\n let numThisLocalFlags = this.localFlags.length;\n let numOtherLocalFlags = other.localFlags.length;\n let targetFunction = this.targetFunction;\n assert(targetFunction == other.targetFunction);\n let localsByIndex = targetFunction.localsByIndex;\n assert(localsByIndex == other.targetFunction.localsByIndex);\n let needsRecompile = false;\n for (let i = 0, k = min(numThisLocalFlags, numOtherLocalFlags); i < k; ++i) {\n let local = localsByIndex[i];\n let type = local.type;\n if (type.isShortIntegerValue) {\n if (this.isLocalFlag(i, LocalFlags.Wrapped) && !other.isLocalFlag(i, LocalFlags.Wrapped)) {\n this.unsetLocalFlag(i, LocalFlags.Wrapped); // assume not wrapped\n needsRecompile = true;\n }\n }\n if (type.isNullableReference) {\n if (this.isLocalFlag(i, LocalFlags.NonNull) && !other.isLocalFlag(i, LocalFlags.NonNull)) {\n this.unsetLocalFlag(i, LocalFlags.NonNull); // assume possibly null\n needsRecompile = true;\n }\n }\n }\n if (needsRecompile) {\n // Reset function locals to state before the compilation attempt\n assert(localsByIndex.length >= numLocalsBefore);\n localsByIndex.length = numLocalsBefore;\n if (this.localFlags.length > numLocalsBefore) {\n this.localFlags.length = numLocalsBefore;\n }\n }\n return needsRecompile;\n }\n\n /** Checks if an expression of the specified type is known to be non-null, even if the type might be nullable. */\n isNonnull(expr: ExpressionRef, type: Type): bool {\n if (!type.isNullableReference) return true;\n // below, only teeLocal/getLocal are relevant because these are the only expressions that\n // depend on a dynamic nullable state (flag = LocalFlags.NonNull), while everything else\n // has already been handled by the nullable type check above.\n switch (getExpressionId(expr)) {\n case ExpressionId.LocalSet: {\n if (!isLocalTee(expr)) break;\n let local = this.targetFunction.localsByIndex[getLocalSetIndex(expr)];\n return !local.type.isNullableReference || this.isLocalFlag(local.index, LocalFlags.NonNull, false);\n }\n case ExpressionId.LocalGet: {\n let local = this.targetFunction.localsByIndex[getLocalGetIndex(expr)];\n return !local.type.isNullableReference || this.isLocalFlag(local.index, LocalFlags.NonNull, false);\n }\n }\n return false;\n }\n\n /** Updates local states to reflect that this branch is only taken when `expr` is true-ish. */\n private inheritNonnullIfTrue(\n /** Expression being true. */\n expr: ExpressionRef,\n /** If specified, only set the flag if also nonnull in this flow. */\n iff: Flow | null = null\n ): void {\n // A: `expr` is true-ish -> Q: how did that happen?\n\n // The iff argument is useful in situations like\n //\n // if (!ref) {\n // ref = new Ref();\n // }\n // // inheritNonnullIfFalse(`!ref`, thenFlow) -> ref != null\n //\n\n switch (getExpressionId(expr)) {\n case ExpressionId.LocalSet: {\n if (!isLocalTee(expr)) break;\n let local = this.targetFunction.localsByIndex[getLocalSetIndex(expr)];\n if (!iff || iff.isLocalFlag(local.index, LocalFlags.NonNull)) {\n this.setLocalFlag(local.index, LocalFlags.NonNull);\n }\n this.inheritNonnullIfTrue(getLocalSetValue(expr), iff); // must have been true-ish as well\n break;\n }\n case ExpressionId.LocalGet: {\n let local = this.targetFunction.localsByIndex[getLocalGetIndex(expr)];\n if (!iff || iff.isLocalFlag(local.index, LocalFlags.NonNull)) {\n this.setLocalFlag(local.index, LocalFlags.NonNull);\n }\n break;\n }\n case ExpressionId.If: {\n let ifFalse = getIfFalse(expr);\n if (ifFalse && isConstZero(ifFalse)) {\n // Logical AND: (if (condition ifTrue 0))\n // the only way this had become true is if condition and ifTrue are true\n this.inheritNonnullIfTrue(getIfCondition(expr), iff);\n this.inheritNonnullIfTrue(getIfTrue(expr), iff);\n }\n break;\n }\n case ExpressionId.Unary: {\n switch (getUnaryOp(expr)) {\n case UnaryOp.EqzI32:\n case UnaryOp.EqzI64: {\n this.inheritNonnullIfFalse(getUnaryValue(expr), iff); // !value -> value must have been false\n break;\n }\n }\n break;\n }\n case ExpressionId.Binary: {\n switch (getBinaryOp(expr)) {\n case BinaryOp.EqI32:\n case BinaryOp.EqI64: {\n let left = getBinaryLeft(expr);\n let right = getBinaryRight(expr);\n if (isConstNonZero(left)) {\n this.inheritNonnullIfTrue(right, iff); // TRUE == right -> right must have been true\n } else if (isConstNonZero(right)) {\n this.inheritNonnullIfTrue(left, iff); // left == TRUE -> left must have been true\n }\n break;\n }\n case BinaryOp.NeI32:\n case BinaryOp.NeI64: {\n let left = getBinaryLeft(expr);\n let right = getBinaryRight(expr);\n if (isConstZero(left)) {\n this.inheritNonnullIfTrue(right, iff); // FALSE != right -> right must have been true\n } else if (isConstZero(right)) {\n this.inheritNonnullIfTrue(left, iff); // left != FALSE -> left must have been true\n }\n break;\n }\n }\n break;\n }\n case ExpressionId.Call: {\n // handle string eq/ne/not overloads\n let name = getCallTarget(expr);\n if (name == BuiltinNames.String_eq) {\n assert(getCallOperandCount(expr) == 2);\n let left = getCallOperandAt(expr, 0);\n let right = getCallOperandAt(expr, 1);\n if (isConstNonZero(left)) {\n this.inheritNonnullIfTrue(right, iff); // TRUE == right -> right must have been true\n } else if (isConstNonZero(right)) {\n this.inheritNonnullIfTrue(left, iff); // left == TRUE -> left must have been true\n }\n } else if (name == BuiltinNames.String_ne) {\n assert(getCallOperandCount(expr) == 2);\n let left = getCallOperandAt(expr, 0);\n let right = getCallOperandAt(expr, 1);\n if (isConstZero(left)) {\n this.inheritNonnullIfTrue(right, iff); // FALSE != right -> right must have been true\n } else if (isConstZero(right)) {\n this.inheritNonnullIfTrue(left, iff); // left != FALSE -> left must have been true\n }\n } else if (name == BuiltinNames.String_not) {\n assert(getCallOperandCount(expr) == 1);\n this.inheritNonnullIfFalse(getCallOperandAt(expr, 0), iff); // !value -> value must have been false\n } else if (name == BuiltinNames.tostack) {\n assert(getCallOperandCount(expr) == 1);\n this.inheritNonnullIfTrue(getCallOperandAt(expr, 0), iff);\n }\n break;\n }\n }\n }\n\n /** Updates local states to reflect that this branch is only taken when `expr` is false-ish. */\n private inheritNonnullIfFalse(\n /** Expression being false. */\n expr: ExpressionRef,\n /** If specified, only set the flag if also nonnull in this flow. */\n iff: Flow | null = null\n ): void {\n // A: `expr` is false-ish -> Q: how did that happen?\n switch (getExpressionId(expr)) {\n case ExpressionId.Unary: {\n switch (getUnaryOp(expr)) {\n case UnaryOp.EqzI32:\n case UnaryOp.EqzI64: {\n this.inheritNonnullIfTrue(getUnaryValue(expr), iff); // !value -> value must have been true\n break;\n }\n }\n break;\n }\n case ExpressionId.If: {\n let ifTrue = getIfTrue(expr);\n let ifFalse = getIfFalse(expr);\n if (ifFalse && isConstNonZero(ifTrue)) {\n // Logical OR: (if (condition 1 ifFalse))\n // the only way this had become false is if condition and ifFalse are false\n this.inheritNonnullIfFalse(getIfCondition(expr), iff);\n this.inheritNonnullIfFalse(getIfFalse(expr), iff);\n }\n break;\n }\n case ExpressionId.Binary: {\n switch (getBinaryOp(expr)) {\n // remember: we want to know how the _entire_ expression became FALSE (!)\n case BinaryOp.EqI32:\n case BinaryOp.EqI64: {\n let left = getBinaryLeft(expr);\n let right = getBinaryRight(expr);\n if (isConstZero(left)) {\n this.inheritNonnullIfTrue(right, iff); // !(FALSE == right) -> right must have been true\n } else if (isConstZero(right)) {\n this.inheritNonnullIfTrue(left, iff); // !(left == FALSE) -> left must have been true\n }\n break;\n }\n case BinaryOp.NeI32:\n case BinaryOp.NeI64: {\n let left = getBinaryLeft(expr);\n let right = getBinaryRight(expr);\n if (isConstNonZero(left)) {\n this.inheritNonnullIfTrue(right, iff); // !(TRUE != right) -> right must have been true\n } else if (isConstNonZero(right)) {\n this.inheritNonnullIfTrue(left, iff); // !(left != TRUE) -> left must have been true\n }\n break;\n }\n }\n break;\n }\n case ExpressionId.Call: {\n // handle string eq/ne/not overloads\n let name = getCallTarget(expr);\n if (name == BuiltinNames.String_eq) {\n assert(getCallOperandCount(expr) == 2);\n let left = getCallOperandAt(expr, 0);\n let right = getCallOperandAt(expr, 1);\n if (isConstZero(left)) {\n this.inheritNonnullIfTrue(right, iff); // !(FALSE == right) -> right must have been true\n } else if (isConstZero(right)) {\n this.inheritNonnullIfTrue(left, iff); // !(left == FALSE) -> left must have been true\n }\n } else if (name == BuiltinNames.String_ne) {\n assert(getCallOperandCount(expr) == 2);\n let left = getCallOperandAt(expr, 0);\n let right = getCallOperandAt(expr, 1);\n if (isConstNonZero(left)) {\n this.inheritNonnullIfTrue(right, iff); // !(TRUE != right) -> right must have been true\n } else if (isConstNonZero(right)) {\n this.inheritNonnullIfTrue(left, iff); // !(left != TRUE) -> left must have been true\n }\n } else if (name == BuiltinNames.String_not) {\n assert(getCallOperandCount(expr) == 1);\n this.inheritNonnullIfTrue(getCallOperandAt(expr, 0), iff); // !(!value) -> value must have been true\n } else if (name == BuiltinNames.tostack) {\n assert(getCallOperandCount(expr) == 1);\n this.inheritNonnullIfFalse(getCallOperandAt(expr, 0), iff);\n }\n break;\n }\n }\n }\n\n /**\n * Tests if an expression can possibly overflow in the context of this flow. Assumes that the\n * expression might already have overflown and returns `false` only if the operation neglects\n * any possible combination of garbage bits being present.\n */\n canOverflow(expr: ExpressionRef, type: Type): bool {\n // TODO: the following catches most common and a few uncommon cases, but there are additional\n // opportunities here, obviously.\n\n // types other than i8, u8, i16, u16 and bool do not overflow\n if (!type.isShortIntegerValue) return false;\n\n let operand: ExpressionRef;\n switch (getExpressionId(expr)) {\n\n // overflows if the local isn't wrapped or the conversion does\n case ExpressionId.LocalGet: {\n let local = this.targetFunction.localsByIndex[getLocalGetIndex(expr)];\n return !this.isLocalFlag(local.index, LocalFlags.Wrapped, true)\n || canConversionOverflow(local.type, type);\n }\n\n // overflows if the value does\n case ExpressionId.LocalSet: { // tee\n assert(isLocalTee(expr));\n return this.canOverflow(getLocalSetValue(expr), type);\n }\n\n // overflows if the conversion does (globals are wrapped on set)\n case ExpressionId.GlobalGet: {\n // TODO: this is inefficient because it has to read a string\n let global = assert(this.program.elementsByName.get(assert(getGlobalGetName(expr))));\n assert(global.kind == ElementKind.Global || global.kind == ElementKind.EnumValue);\n return canConversionOverflow((global).type, type);\n }\n\n case ExpressionId.Binary: {\n switch (getBinaryOp(expr)) {\n\n // comparisons do not overflow (result is 0 or 1)\n case BinaryOp.EqI32:\n case BinaryOp.EqI64:\n case BinaryOp.EqF32:\n case BinaryOp.EqF64:\n case BinaryOp.NeI32:\n case BinaryOp.NeI64:\n case BinaryOp.NeF32:\n case BinaryOp.NeF64:\n case BinaryOp.LtI32:\n case BinaryOp.LtU32:\n case BinaryOp.LtI64:\n case BinaryOp.LtU64:\n case BinaryOp.LtF32:\n case BinaryOp.LtF64:\n case BinaryOp.LeI32:\n case BinaryOp.LeU32:\n case BinaryOp.LeI64:\n case BinaryOp.LeU64:\n case BinaryOp.LeF32:\n case BinaryOp.LeF64:\n case BinaryOp.GtI32:\n case BinaryOp.GtU32:\n case BinaryOp.GtI64:\n case BinaryOp.GtU64:\n case BinaryOp.GtF32:\n case BinaryOp.GtF64:\n case BinaryOp.GeI32:\n case BinaryOp.GeU32:\n case BinaryOp.GeI64:\n case BinaryOp.GeU64:\n case BinaryOp.GeF32:\n case BinaryOp.GeF64: return false;\n\n // result won't overflow if one side is 0 or if one side is 1 and the other wrapped\n case BinaryOp.MulI32: {\n return !(\n (\n getExpressionId(operand = getBinaryLeft(expr)) == ExpressionId.Const &&\n (\n getConstValueI32(operand) == 0 ||\n (\n getConstValueI32(operand) == 1 &&\n !this.canOverflow(getBinaryRight(expr), type)\n )\n )\n ) || (\n getExpressionId(operand = getBinaryRight(expr)) == ExpressionId.Const &&\n (\n getConstValueI32(operand) == 0 ||\n (\n getConstValueI32(operand) == 1 &&\n !this.canOverflow(getBinaryLeft(expr), type)\n )\n )\n )\n );\n }\n\n // result won't overflow if one side is a constant less than this type's mask or one side\n // is wrapped\n case BinaryOp.AndI32: {\n // note that computeSmallIntegerMask returns the mask minus the MSB for signed types\n // because signed value garbage bits must be guaranteed to be equal to the MSB.\n return !(\n (\n (\n getExpressionId(operand = getBinaryLeft(expr)) == ExpressionId.Const &&\n getConstValueI32(operand) <= type.computeSmallIntegerMask(Type.i32)\n ) || !this.canOverflow(operand, type)\n ) || (\n (\n getExpressionId(operand = getBinaryRight(expr)) == ExpressionId.Const &&\n getConstValueI32(operand) <= type.computeSmallIntegerMask(Type.i32)\n ) || !this.canOverflow(operand, type)\n )\n );\n }\n\n // overflows if the shift doesn't clear potential garbage bits\n case BinaryOp.ShlI32: {\n let shift = 32 - type.size;\n return getExpressionId(operand = getBinaryRight(expr)) != ExpressionId.Const\n || getConstValueI32(operand) < shift;\n }\n\n // overflows if the value does and the shift doesn't clear potential garbage bits\n case BinaryOp.ShrI32: {\n let shift = 32 - type.size;\n return this.canOverflow(getBinaryLeft(expr), type) && (\n getExpressionId(operand = getBinaryRight(expr)) != ExpressionId.Const ||\n getConstValueI32(operand) < shift\n );\n }\n\n // overflows if the shift does not clear potential garbage bits. if an unsigned value is\n // wrapped, it can't overflow.\n case BinaryOp.ShrU32: {\n let shift = 32 - type.size;\n return type.isSignedIntegerValue\n ? !(\n getExpressionId(operand = getBinaryRight(expr)) == ExpressionId.Const &&\n getConstValueI32(operand) > shift // must clear MSB\n )\n : this.canOverflow(getBinaryLeft(expr), type) &&\n !(\n getExpressionId(operand = getBinaryRight(expr)) == ExpressionId.Const &&\n getConstValueI32(operand) >= shift // can leave MSB\n );\n }\n\n // overflows if any side does\n case BinaryOp.DivU32:\n case BinaryOp.RemI32:\n case BinaryOp.RemU32: {\n return this.canOverflow(getBinaryLeft(expr), type)\n || this.canOverflow(getBinaryRight(expr), type);\n }\n }\n break;\n }\n\n case ExpressionId.Unary: {\n switch (getUnaryOp(expr)) {\n\n // comparisons do not overflow (result is 0 or 1)\n case UnaryOp.EqzI32:\n case UnaryOp.EqzI64: return false;\n\n // overflow if the maximum result (32) cannot be represented in the target type\n case UnaryOp.ClzI32:\n case UnaryOp.CtzI32:\n case UnaryOp.PopcntI32: return type.size < 7;\n\n // sign extensions overflow if result can have high garbage bits in the target type\n case UnaryOp.Extend8I32: return type.size < (type.isUnsignedIntegerValue ? 32 : 8);\n case UnaryOp.Extend8I64: return type.size < (type.isUnsignedIntegerValue ? 64 : 8);\n case UnaryOp.Extend16I32: return type.size < (type.isUnsignedIntegerValue ? 32 : 16);\n case UnaryOp.Extend16I64: return type.size < (type.isUnsignedIntegerValue ? 64 : 16);\n case UnaryOp.Extend32I64: return type.size < (type.isUnsignedIntegerValue ? 64 : 32);\n }\n break;\n }\n\n // overflows if the value cannot be represented in the target type\n case ExpressionId.Const: {\n let value: i32 = 0;\n switch (getExpressionType(expr)) {\n case TypeRef.I32: { value = getConstValueI32(expr); break; }\n case TypeRef.I64: { value = getConstValueI64Low(expr); break; } // discards upper bits\n case TypeRef.F32: { value = i32(getConstValueF32(expr)); break; }\n case TypeRef.F64: { value = i32(getConstValueF64(expr)); break; }\n case TypeRef.V128: return false;\n default: assert(false);\n }\n switch (type.kind) {\n case TypeKind.Bool: return (value & ~1) != 0;\n case TypeKind.I8: return value < i8.MIN_VALUE || value > i8.MAX_VALUE;\n case TypeKind.I16: return value < i16.MIN_VALUE || value > i16.MAX_VALUE;\n case TypeKind.U8: return value < 0 || value > u8.MAX_VALUE;\n case TypeKind.U16: return value < 0 || value > u16.MAX_VALUE;\n }\n break;\n }\n\n // overflows if the conversion does\n case ExpressionId.Load: {\n let fromType: Type;\n let signed = isLoadSigned(expr);\n switch (getLoadBytes(expr)) {\n case 1: { fromType = signed ? Type.i8 : Type.u8; break; }\n case 2: { fromType = signed ? Type.i16 : Type.u16; break; }\n default: { fromType = signed ? Type.i32 : Type.u32; break; }\n }\n return canConversionOverflow(fromType, type);\n }\n\n // overflows if the result does, which is either\n // - the last expression of the block, by contract, if the block doesn't have a label\n // - the last expression or the value of an inner br if the block has a label (TODO)\n case ExpressionId.Block: {\n if (!getBlockName(expr)) {\n let size = assert(getBlockChildCount(expr));\n let last = getBlockChildAt(expr, size - 1);\n return this.canOverflow(last, type);\n }\n break;\n }\n\n // overflows if either side does\n case ExpressionId.If: {\n return this.canOverflow(getIfTrue(expr), type)\n || this.canOverflow(assert(getIfFalse(expr)), type);\n }\n\n // overflows if either side does\n case ExpressionId.Select: {\n return this.canOverflow(getSelectThen(expr), type)\n || this.canOverflow(getSelectElse(expr), type);\n }\n\n // overflows if the call does not return a wrapped value or the conversion does\n case ExpressionId.Call: {\n let program = this.program;\n let instancesByName = program.instancesByName;\n let instanceName = assert(getCallTarget(expr));\n if (instancesByName.has(instanceName)) {\n let instance = assert(instancesByName.get(instanceName));\n assert(instance.kind == ElementKind.Function);\n let functionInstance = instance;\n let returnType = functionInstance.signature.returnType;\n return !functionInstance.flow.is(FlowFlags.ReturnsWrapped)\n || canConversionOverflow(returnType, type);\n }\n return false; // assume no overflow for builtins\n }\n\n // doesn't technically overflow\n case ExpressionId.Unreachable: return false;\n }\n return true;\n }\n\n toString(): string {\n let levels = 0;\n let parent = this.parent;\n while (parent) {\n parent = parent.parent;\n ++levels;\n }\n let sb = new Array();\n if (this.is(FlowFlags.Returns)) sb.push(\"RETURNS\");\n if (this.is(FlowFlags.ReturnsWrapped)) sb.push(\"RETURNS_WRAPPED\");\n if (this.is(FlowFlags.ReturnsNonNull)) sb.push(\"RETURNS_NONNULL\");\n if (this.is(FlowFlags.Throws)) sb.push(\"THROWS\");\n if (this.is(FlowFlags.Breaks)) sb.push(\"BREAKS\");\n if (this.is(FlowFlags.Continues)) sb.push(\"CONTINUES\");\n if (this.is(FlowFlags.AccessesThis)) sb.push(\"ACCESSES_THIS\");\n if (this.is(FlowFlags.CallsSuper)) sb.push(\"CALLS_SUPER\");\n if (this.is(FlowFlags.Terminates)) sb.push(\"TERMINATES\");\n if (this.is(FlowFlags.ConditionallyReturns)) sb.push(\"CONDITIONALLY_RETURNS\");\n if (this.is(FlowFlags.ConditionallyThrows)) sb.push(\"CONDITIONALLY_THROWS\");\n if (this.is(FlowFlags.ConditionallyBreaks)) sb.push(\"CONDITIONALLY_BREAKS\");\n if (this.is(FlowFlags.ConditionallyContinues)) sb.push(\"CONDITIONALLY_CONTINUES\");\n if (this.is(FlowFlags.ConditionallyAccessesThis)) sb.push(\"CONDITIONALLY_ACCESSES_THIS\");\n if (this.is(FlowFlags.MayReturnNonThis)) sb.push(\"MAY_RETURN_NONTHIS\");\n return `Flow(${this.sourceFunction})[${levels}] ${sb.join(\" \")}`;\n }\n}\n\n/** Tests if a conversion from one type to another can technically overflow. */\nfunction canConversionOverflow(fromType: Type, toType: Type): bool {\n return toType.isShortIntegerValue && (\n !fromType.isIntegerValue || // i.e. float to small int\n fromType.size > toType.size || // larger int to small int\n fromType.isSignedIntegerValue != toType.isSignedIntegerValue // signedness mismatch\n );\n}\n", "/**\n * @fileoverview Resolve infrastructure to obtain types and elements.\n *\n * Similar to the compiler making instructions of expressions, the resolver\n * obtains metadata of expressions. As such, for each `compileX` method in\n * the compiler there is one `lookupX` method in the resolver returning the\n * respective IR element, respectively one `resolveX` method returning the\n * respective type of an expression. It is also able to make new elements,\n * like instances of classes given its concrete type arguments.\n *\n * @license Apache-2.0\n */\n\nimport {\n Range,\n DiagnosticEmitter,\n DiagnosticCode\n} from \"./diagnostics\";\n\nimport {\n Program,\n ElementKind,\n OperatorKind,\n Element,\n Class,\n ClassPrototype,\n Interface,\n Function,\n FunctionPrototype,\n VariableLikeElement,\n Property,\n PropertyPrototype,\n Global,\n TypeDefinition,\n TypedElement,\n IndexSignature,\n isTypedElement,\n InterfacePrototype,\n DeclaredElement\n} from \"./program\";\n\nimport {\n Flow\n} from \"./flow\";\n\nimport {\n FunctionTypeNode,\n ParameterKind,\n TypeNode,\n NodeKind,\n NamedTypeNode,\n TypeName,\n TypeParameterNode,\n Node,\n IdentifierExpression,\n CallExpression,\n ElementAccessExpression,\n PropertyAccessExpression,\n LiteralExpression,\n LiteralKind,\n ParenthesizedExpression,\n AssertionExpression,\n Expression,\n IntegerLiteralExpression,\n UnaryPrefixExpression,\n UnaryPostfixExpression,\n AssertionKind,\n BinaryExpression,\n ThisExpression,\n SuperExpression,\n CommaExpression,\n InstanceOfExpression,\n TernaryExpression,\n isTypeOmitted,\n FunctionExpression,\n NewExpression,\n ArrayLiteralExpression,\n ArrowKind,\n ExpressionStatement\n} from \"./ast\";\n\nimport {\n Type,\n Signature,\n typesToString,\n TypeKind,\n TypeFlags\n} from \"./types\";\n\nimport {\n CommonFlags,\n CommonNames\n} from \"./common\";\n\nimport {\n cloneMap,\n isPowerOf2\n} from \"./util\";\n\nimport {\n Token,\n operatorTokenToString\n} from \"./tokenizer\";\n\nimport {\n BuiltinNames\n} from \"./builtins\";\n\n/** Indicates whether errors are reported or not. */\nexport const enum ReportMode {\n /** Report errors. */\n Report,\n /** Swallow errors. */\n Swallow\n}\n\n/** Provides tools to resolve types and expressions. */\nexport class Resolver extends DiagnosticEmitter {\n\n /** The program this resolver belongs to. */\n program: Program;\n\n /** Target expression of the previously resolved property or element access. */\n currentThisExpression: Expression | null = null;\n /** Element expression of the previously resolved element access. */\n currentElementExpression : Expression | null = null;\n /** Whether a new override has been discovered. */\n discoveredOverride: bool = false;\n\n /** Constructs the resolver for the specified program. */\n constructor(\n /** The program to construct a resolver for. */\n program: Program\n ) {\n super(program.diagnostics);\n this.program = program;\n }\n\n // ====================================================== Types ======================================================\n\n /** Resolves a {@link TypeNode} to a concrete {@link Type}. */\n resolveType(\n /** The type to resolve. */\n node: TypeNode,\n /** The flow */\n flow: Flow | null,\n /** Contextual element. */\n ctxElement: Element,\n /** Contextual types, i.e. `T`. */\n ctxTypes: Map | null = null,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Type | null {\n if (node.currentlyResolving) {\n this.error(\n DiagnosticCode.Not_implemented_0,\n node.range, \"Recursive types\"\n );\n return null;\n }\n node.currentlyResolving = true;\n let resolved: Type | null = null;\n switch (node.kind) {\n case NodeKind.NamedType: {\n resolved = this.resolveNamedType(node, flow, ctxElement, ctxTypes, reportMode);\n break;\n }\n case NodeKind.FunctionType: {\n resolved = this.resolveFunctionType(node, flow, ctxElement, ctxTypes, reportMode);\n break;\n }\n default: assert(false);\n }\n node.currentlyResolving = false;\n return resolved;\n }\n\n /** Resolves a {@link NamedTypeNode} to a concrete {@link Type}. */\n private resolveNamedType(\n /** The type to resolve. */\n node: NamedTypeNode,\n /** The flow */\n flow: Flow | null,\n /** Contextual element. */\n ctxElement: Element,\n /** Contextual types, i.e. `T`. */\n ctxTypes: Map | null = null,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Type | null {\n let nameNode = node.name;\n let typeArgumentNodes = node.typeArguments;\n let isSimpleType = !nameNode.next;\n\n // Look up in contextual types if a simple type\n if (isSimpleType) {\n let simpleName = nameNode.identifier.text;\n if (ctxTypes && ctxTypes.has(simpleName)) {\n let type = assert(ctxTypes.get(simpleName));\n if (typeArgumentNodes && typeArgumentNodes.length > 0) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Type_0_is_not_generic,\n node.range, type.toString()\n );\n }\n }\n if (node.isNullable) {\n if (type.isReference) return type.asNullable();\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Type_0_cannot_be_nullable,\n node.range, type.toString()\n );\n }\n }\n return type;\n }\n }\n\n // Look up in context\n let element = this.resolveTypeName(nameNode, flow, ctxElement, reportMode);\n if (!element) return null;\n\n // Use shadow type if present (i.e. namespace sharing a type)\n let shadowType = element.shadowType;\n if (shadowType) {\n element = shadowType;\n\n } else {\n\n // Handle enums (become i32)\n if (element.kind == ElementKind.Enum) {\n if (typeArgumentNodes && typeArgumentNodes.length > 0) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Type_0_is_not_generic,\n node.range, element.internalName\n );\n }\n }\n if (node.isNullable) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Type_0_cannot_be_nullable,\n node.range, `${element.name}/i32`\n );\n }\n }\n return Type.i32;\n }\n\n // Handle classes and interfaces\n if (\n element.kind == ElementKind.ClassPrototype ||\n element.kind == ElementKind.InterfacePrototype\n ) {\n let instance = this.resolveClassInclTypeArguments(\n element,\n typeArgumentNodes,\n flow,\n ctxElement,\n cloneMap(ctxTypes), // don't inherit\n node,\n reportMode\n );\n if (!instance) return null;\n return node.isNullable ? instance.type.asNullable() : instance.type;\n }\n }\n\n // Handle type definitions\n if (element.kind == ElementKind.TypeDefinition) {\n let typeDefinition = element;\n\n // Shortcut already resolved (mostly builtins)\n if (element.is(CommonFlags.Resolved)) {\n if (typeArgumentNodes && typeArgumentNodes.length > 0) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Type_0_is_not_generic,\n node.range, element.internalName\n );\n }\n }\n let type = typeDefinition.type;\n if (node.isNullable) {\n if (type.isReference) return type.asNullable();\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Type_0_cannot_be_nullable,\n nameNode.range, nameNode.identifier.text\n );\n }\n }\n return type;\n }\n\n // Handle special built-in types\n if (isSimpleType) {\n let text = nameNode.identifier.text;\n if (text == CommonNames.native) return this.resolveBuiltinNativeType(node, ctxElement, ctxTypes, reportMode);\n if (text == CommonNames.indexof) return this.resolveBuiltinIndexofType(node, ctxElement, ctxTypes, reportMode);\n if (text == CommonNames.valueof) return this.resolveBuiltinValueofType(node, ctxElement, ctxTypes, reportMode);\n if (text == CommonNames.returnof) return this.resolveBuiltinReturnTypeType(node, ctxElement, ctxTypes, reportMode);\n if (text == CommonNames.nonnull) return this.resolveBuiltinNotNullableType(node, ctxElement, ctxTypes, reportMode);\n }\n\n // Resolve normally\n let typeParameterNodes = typeDefinition.typeParameterNodes;\n let typeArguments: Type[] | null = null;\n if (typeParameterNodes) {\n typeArguments = this.resolveTypeArguments(\n typeParameterNodes,\n typeArgumentNodes,\n flow,\n ctxElement,\n ctxTypes = cloneMap(ctxTypes), // update\n node,\n reportMode\n );\n if (!typeArguments) return null;\n } else if (typeArgumentNodes && typeArgumentNodes.length > 0) {\n this.error(\n DiagnosticCode.Type_0_is_not_generic,\n node.range, nameNode.identifier.text\n );\n }\n let type = this.resolveType(\n typeDefinition.typeNode,\n flow,\n element,\n ctxTypes,\n reportMode\n );\n if (!type) return null;\n if (node.isNullable) {\n if (type.isReference) return type.asNullable();\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Type_0_cannot_be_nullable,\n nameNode.range, nameNode.identifier.text\n );\n }\n }\n return type;\n }\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Cannot_find_name_0,\n nameNode.range, nameNode.identifier.text\n );\n }\n return null;\n }\n\n /** Resolves a {@link FunctionTypeNode} to a concrete {@link Type}. */\n private resolveFunctionType(\n /** The type to resolve. */\n node: FunctionTypeNode,\n /** The flow */\n flow: Flow | null,\n /** Contextual element. */\n ctxElement: Element,\n /** Contextual types, i.e. `T`. */\n ctxTypes: Map | null = null,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Type | null {\n let explicitThisType = node.explicitThisType;\n let thisType: Type | null = null;\n if (explicitThisType) {\n thisType = this.resolveType(\n explicitThisType,\n flow,\n ctxElement,\n ctxTypes,\n reportMode\n );\n if (!thisType) return null;\n }\n let parameterNodes = node.parameters;\n let numParameters = parameterNodes.length;\n let parameterTypes = new Array(numParameters);\n let requiredParameters = 0;\n let hasRest = false;\n for (let i = 0; i < numParameters; ++i) {\n let parameterNode = parameterNodes[i];\n switch (parameterNode.parameterKind) {\n case ParameterKind.Default: {\n requiredParameters = i + 1;\n break;\n }\n case ParameterKind.Rest: {\n assert(i == numParameters - 1);\n hasRest = true;\n break;\n }\n }\n let parameterTypeNode = parameterNode.type;\n if (isTypeOmitted(parameterTypeNode)) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Type_expected,\n parameterTypeNode.range\n );\n }\n return null;\n }\n let parameterType = this.resolveType(\n parameterTypeNode,\n flow,\n ctxElement,\n ctxTypes,\n reportMode\n );\n if (!parameterType) return null;\n parameterTypes[i] = parameterType;\n }\n let returnTypeNode = node.returnType;\n let returnType: Type | null;\n if (isTypeOmitted(returnTypeNode)) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Type_expected,\n returnTypeNode.range\n );\n }\n returnType = Type.void;\n } else {\n returnType = this.resolveType(\n returnTypeNode,\n flow,\n ctxElement,\n ctxTypes,\n reportMode\n );\n if (!returnType) return null;\n }\n let signature = Signature.create(this.program, parameterTypes, returnType, thisType, requiredParameters, hasRest);\n return node.isNullable ? signature.type.asNullable() : signature.type;\n }\n\n private resolveBuiltinNativeType(\n /** The type to resolve. */\n node: NamedTypeNode,\n /** Contextual element. */\n ctxElement: Element,\n /** Contextual types, i.e. `T`. */\n ctxTypes: Map | null = null,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Type | null {\n const typeArgumentNode = this.ensureOneTypeArgument(node, reportMode);\n if (!typeArgumentNode) return null;\n let typeArgument = this.resolveType(typeArgumentNode, null, ctxElement, ctxTypes, reportMode);\n if (!typeArgument) return null;\n switch (typeArgument.kind) {\n case TypeKind.I8:\n case TypeKind.I16:\n case TypeKind.I32: return Type.i32;\n case TypeKind.Isize: if (!this.program.options.isWasm64) return Type.i32;\n case TypeKind.I64: return Type.i64;\n case TypeKind.U8:\n case TypeKind.U16:\n case TypeKind.U32:\n case TypeKind.Bool: return Type.u32;\n case TypeKind.Usize: if (!this.program.options.isWasm64) return Type.u32;\n case TypeKind.U64: return Type.u64;\n case TypeKind.F32: return Type.f32;\n case TypeKind.F64: return Type.f64;\n case TypeKind.V128: return Type.v128;\n case TypeKind.Void: return Type.void;\n default: assert(false);\n }\n return null;\n }\n\n private resolveBuiltinIndexofType(\n /** The type to resolve. */\n node: NamedTypeNode,\n /** Contextual element. */\n ctxElement: Element,\n /** Contextual types, i.e. `T`. */\n ctxTypes: Map | null = null,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Type | null {\n const typeArgumentNode = this.ensureOneTypeArgument(node, reportMode);\n if (!typeArgumentNode) return null;\n let typeArgument = this.resolveType(typeArgumentNode, null, ctxElement, ctxTypes, reportMode);\n if (!typeArgument) return null;\n let classReference = typeArgument.classReference;\n if (!classReference) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Index_signature_is_missing_in_type_0,\n typeArgumentNode.range, typeArgument.toString()\n );\n }\n return null;\n }\n let overload = classReference.lookupOverload(OperatorKind.IndexedGet);\n if (overload) {\n let parameterTypes = overload.signature.parameterTypes;\n if (overload.is(CommonFlags.Static)) {\n assert(parameterTypes.length == 2);\n return parameterTypes[1];\n } else {\n assert(parameterTypes.length == 1);\n return parameterTypes[0];\n }\n }\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Index_signature_is_missing_in_type_0,\n typeArgumentNode.range, typeArgument.toString()\n );\n }\n return null;\n }\n\n private resolveBuiltinValueofType(\n /** The type to resolve. */\n node: NamedTypeNode,\n /** Contextual element. */\n ctxElement: Element,\n /** Contextual types, i.e. `T`. */\n ctxTypes: Map | null = null,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Type | null {\n const typeArgumentNode = this.ensureOneTypeArgument(node, reportMode);\n if (!typeArgumentNode) return null;\n let typeArgument = this.resolveType(typeArgumentNode, null, ctxElement, ctxTypes, reportMode);\n if (!typeArgument) return null;\n let classReference = typeArgument.getClassOrWrapper(this.program);\n if (classReference) {\n let overload = classReference.lookupOverload(OperatorKind.IndexedGet);\n if (overload) return overload.signature.returnType;\n }\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Index_signature_is_missing_in_type_0,\n typeArgumentNode.range, typeArgument.toString()\n );\n }\n return null;\n }\n\n private resolveBuiltinReturnTypeType(\n /** The type to resolve. */\n node: NamedTypeNode,\n /** Contextual element. */\n ctxElement: Element,\n /** Contextual types, i.e. `T`. */\n ctxTypes: Map | null = null,\n /** How to proceed with eventualy diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Type | null {\n const typeArgumentNode = this.ensureOneTypeArgument(node, reportMode);\n if (!typeArgumentNode) return null;\n let typeArgument = this.resolveType(typeArgumentNode, null, ctxElement, ctxTypes, reportMode);\n if (!typeArgument) return null;\n let signatureReference = typeArgument.getSignature();\n if (signatureReference) return signatureReference.returnType;\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Type_0_has_no_call_signatures,\n typeArgumentNode.range, typeArgument.toString()\n );\n }\n return null;\n }\n\n private resolveBuiltinNotNullableType(\n /** The type to resolve. */\n node: NamedTypeNode,\n /** Contextual element. */\n ctxElement: Element,\n /** Contextual types, i.e. `T`. */\n ctxTypes: Map | null = null,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Type | null {\n const typeArgumentNode = this.ensureOneTypeArgument(node, reportMode);\n if (!typeArgumentNode) return null;\n let typeArgument = this.resolveType(typeArgumentNode, null, ctxElement, ctxTypes, reportMode);\n if (!typeArgument) return null;\n if (!typeArgument.isNullableReference) return typeArgument;\n return typeArgument.nonNullableType;\n }\n\n /** Resolves a type name to the program element it refers to. */\n resolveTypeName(\n /** The type name to resolve. */\n node: TypeName,\n /** The flow */\n flow: Flow | null,\n /** Contextual element. */\n ctxElement: Element,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Element | null {\n let element: Element | null = null;\n if (flow) element = flow.lookupTypeAlias(node.identifier.text);\n if (!element) element = ctxElement.lookup(node.identifier.text, true);\n if (!element) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Cannot_find_name_0,\n node.range, node.identifier.text\n );\n }\n return null;\n }\n let prev = node;\n let next = node.next;\n while (next) {\n if (!(element = element.getMember(next.identifier.text))) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Property_0_does_not_exist_on_type_1,\n next.range, next.identifier.text, prev.identifier.text\n );\n }\n return null;\n }\n prev = next;\n next = next.next;\n }\n return element;\n }\n\n /** Resolves an array of type arguments to concrete types. */\n resolveTypeArguments(\n /** Type parameter nodes present. */\n typeParameters: TypeParameterNode[],\n /** Type argument nodes provided. */\n typeArgumentNodes: TypeNode[] | null,\n /** Flow */\n flow: Flow | null,\n /** Contextual element. */\n ctxElement: Element,\n /** Contextual types, i.e. `T`. Updated in place with the new set of contextual types. */\n ctxTypes: Map = new Map(),\n /** Alternative report node in case of empty type arguments. */\n alternativeReportNode: Node | null = null,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Type[] | null {\n let minParameterCount = 0;\n let maxParameterCount = 0;\n for (let i = 0, k = typeParameters.length; i < k; ++i) {\n if (!typeParameters[i].defaultType) ++minParameterCount;\n ++maxParameterCount;\n }\n let argumentCount = typeArgumentNodes ? typeArgumentNodes.length : 0;\n if (argumentCount < minParameterCount || argumentCount > maxParameterCount) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Expected_0_type_arguments_but_got_1,\n argumentCount\n ? Range.join(\n typeArgumentNodes![0].range,\n typeArgumentNodes![argumentCount - 1].range\n )\n : alternativeReportNode!.range,\n (argumentCount < minParameterCount ? minParameterCount : maxParameterCount).toString(),\n argumentCount.toString()\n );\n }\n return null;\n }\n let typeArguments = new Array(maxParameterCount);\n let oldCtxTypes = cloneMap(ctxTypes);\n ctxTypes.clear();\n for (let i = 0; i < maxParameterCount; ++i) {\n let type = i < argumentCount\n ? this.resolveType( // reports\n typeArgumentNodes![i],\n flow,\n ctxElement,\n oldCtxTypes, // update\n reportMode\n )\n : this.resolveType( // reports\n assert(typeParameters[i].defaultType),\n flow,\n ctxElement,\n cloneMap(ctxTypes), // don't update\n reportMode\n );\n if (!type) return null;\n // TODO: check extendsType\n ctxTypes.set(typeParameters[i].name.text, type);\n typeArguments[i] = type;\n }\n return typeArguments;\n }\n\n /** Resolves respectively infers the concrete instance of a function by call context. */\n maybeInferCall(\n node: CallExpression,\n prototype: FunctionPrototype,\n ctxFlow: Flow,\n reportMode: ReportMode = ReportMode.Report\n ): Function | null {\n let typeArguments = node.typeArguments;\n\n // resolve generic call if type arguments have been provided\n if (typeArguments) {\n if (!prototype.is(CommonFlags.Generic)) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Type_0_is_not_generic,\n node.expression.range, prototype.internalName\n );\n }\n return null;\n }\n return this.resolveFunctionInclTypeArguments(\n prototype,\n typeArguments,\n ctxFlow.sourceFunction,\n cloneMap(ctxFlow.contextualTypeArguments), // don't inherit\n node,\n reportMode\n );\n }\n\n // infer generic call if type arguments have been omitted\n if (prototype.is(CommonFlags.Generic)) {\n let contextualTypeArguments = cloneMap(ctxFlow.contextualTypeArguments);\n\n // fill up contextual types with auto for each generic component\n let typeParameterNodes = assert(prototype.typeParameterNodes);\n let numTypeParameters = typeParameterNodes.length;\n let typeParameterNames = new Set();\n for (let i = 0; i < numTypeParameters; ++i) {\n let name = typeParameterNodes[i].name.text;\n contextualTypeArguments.set(name, Type.auto);\n typeParameterNames.add(name);\n }\n\n let parameterNodes = prototype.functionTypeNode.parameters;\n let numParameters = parameterNodes.length;\n let argumentNodes = node.args;\n let numArguments = argumentNodes.length;\n\n // infer types with generic components while updating contextual types\n for (let i = 0; i < numParameters; ++i) {\n let argumentExpression = i < numArguments\n ? argumentNodes[i]\n : parameterNodes[i].initializer;\n if (!argumentExpression) {\n // optional but not have initializer should be handled in the other place\n if (parameterNodes[i].parameterKind == ParameterKind.Optional) {\n continue;\n }\n // missing initializer -> too few arguments\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Expected_0_arguments_but_got_1,\n node.range, numParameters.toString(), numArguments.toString()\n );\n }\n return null;\n }\n let typeNode = parameterNodes[i].type;\n if (typeNode.hasGenericComponent(typeParameterNodes)) {\n let type = this.resolveExpression(argumentExpression, ctxFlow, Type.auto, ReportMode.Swallow);\n if (type) {\n this.propagateInferredGenericTypes(\n typeNode,\n type,\n prototype,\n contextualTypeArguments,\n typeParameterNames\n );\n }\n }\n }\n\n // apply concrete types to the generic function signature\n let resolvedTypeArguments = new Array(numTypeParameters);\n for (let i = 0; i < numTypeParameters; ++i) {\n let typeParameterNode = typeParameterNodes[i];\n let name = typeParameterNode.name.text;\n if (contextualTypeArguments.has(name)) {\n let inferredType = assert(contextualTypeArguments.get(name));\n if (inferredType != Type.auto) {\n resolvedTypeArguments[i] = inferredType;\n continue;\n }\n let defaultType = typeParameterNode.defaultType;\n if (defaultType) {\n // Default parameters are resolved in context of the called function, not the calling function\n let parent = prototype.parent;\n let defaultTypeContextualTypeArguments: Map | null = null;\n if (parent.kind == ElementKind.Class) {\n defaultTypeContextualTypeArguments = (parent).contextualTypeArguments;\n } else if (parent.kind == ElementKind.Function) {\n defaultTypeContextualTypeArguments = (parent).contextualTypeArguments;\n }\n let resolvedDefaultType = this.resolveType(\n defaultType,\n null,\n prototype,\n defaultTypeContextualTypeArguments,\n reportMode\n );\n if (!resolvedDefaultType) return null;\n resolvedTypeArguments[i] = resolvedDefaultType;\n continue;\n }\n }\n // unused template, e.g. `function test(): void {...}` called as `test()`\n // invalid because the type is effectively unknown inside the function body\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Type_argument_expected,\n node.expression.range.atEnd\n );\n }\n return null;\n }\n return this.resolveFunction(\n prototype,\n resolvedTypeArguments,\n cloneMap(ctxFlow.contextualTypeArguments),\n reportMode\n );\n }\n\n // otherwise resolve the non-generic call as usual\n return this.resolveFunction(prototype, null, new Map(), reportMode);\n }\n\n /** Updates contextual types with a possibly encapsulated inferred type. */\n private propagateInferredGenericTypes(\n /** The inferred type node. */\n node: TypeNode,\n /** The inferred type. */\n type: Type,\n /** Contextual element. */\n ctxElement: Element,\n /** Contextual types, i.e. `T`, with unknown types initialized to `auto`. */\n ctxTypes: Map,\n /** The names of the type parameters being inferred. */\n typeParameterNames: Set\n ): void {\n if (node.kind == NodeKind.NamedType) {\n let namedTypeNode = node;\n let typeArgumentNodes = namedTypeNode.typeArguments;\n if (typeArgumentNodes && typeArgumentNodes.length > 0) { // foo(bar: Array)\n let classReference = type.classReference;\n if (classReference) {\n let classPrototype = this.resolveTypeName(namedTypeNode.name, null, ctxElement);\n if (!classPrototype || classPrototype.kind != ElementKind.ClassPrototype) return;\n if (classReference.prototype == classPrototype) {\n let typeArguments = classReference.typeArguments;\n if (typeArguments && typeArguments.length == typeArgumentNodes.length) {\n for (let i = 0, k = typeArguments.length; i < k; ++i) {\n this.propagateInferredGenericTypes(\n typeArgumentNodes[i],\n typeArguments[i],\n ctxElement,\n ctxTypes,\n typeParameterNames\n );\n }\n return;\n }\n }\n }\n } else { // foo(bar: T)\n let name = namedTypeNode.name.identifier.text;\n if (ctxTypes.has(name)) {\n let currentType = assert(ctxTypes.get(name));\n if (\n currentType == Type.auto ||\n (typeParameterNames.has(name) && currentType.isAssignableTo(type))\n ) ctxTypes.set(name, type);\n }\n }\n } else if (node.kind == NodeKind.FunctionType) { // foo(bar: (baz: T) => i32))\n let functionTypeNode = node;\n let parameterNodes = functionTypeNode.parameters;\n let signatureReference = type.signatureReference;\n if (signatureReference) {\n let parameterTypes = signatureReference.parameterTypes;\n for (let i = 0, k = min(parameterTypes.length, parameterNodes.length) ; i < k; ++i) {\n this.propagateInferredGenericTypes(\n parameterNodes[i].type,\n parameterTypes[i],\n ctxElement,\n ctxTypes,\n typeParameterNames\n );\n }\n let returnType = signatureReference.returnType;\n if (returnType != Type.void) {\n this.propagateInferredGenericTypes(\n functionTypeNode.returnType,\n returnType,\n ctxElement,\n ctxTypes,\n typeParameterNames\n );\n }\n let thisType = signatureReference.thisType;\n let explicitThisType = functionTypeNode.explicitThisType;\n if (thisType && explicitThisType) {\n this.propagateInferredGenericTypes(\n explicitThisType,\n thisType,\n ctxElement,\n ctxTypes,\n typeParameterNames\n );\n }\n return;\n }\n }\n }\n\n /** Gets the concrete type of an element. */\n getTypeOfElement(element: Element): Type | null {\n let kind = element.kind;\n if (kind == ElementKind.Global) {\n if (!this.ensureResolvedLazyGlobal(element, ReportMode.Swallow)) return null;\n }\n if (isTypedElement(kind)) {\n let type = (element).type;\n let classReference = type.getClassOrWrapper(this.program);\n if (classReference) {\n let wrappedType = classReference.wrappedType;\n if (wrappedType) type = wrappedType;\n }\n return type;\n }\n return null;\n }\n\n /** Gets the element of a concrete type. */\n getElementOfType(type: Type): Element | null {\n let classReference = type.getClassOrWrapper(this.program);\n if (classReference) return classReference;\n return null;\n }\n\n // =================================================== Expressions ===================================================\n\n /** Looks up the program element the specified expression refers to. */\n lookupExpression(\n /** The expression to look up. */\n node: Expression,\n /** Contextual flow. */\n ctxFlow: Flow,\n /** Contextual type. */\n ctxType: Type = Type.auto,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Element | null {\n while (node.kind == NodeKind.Parenthesized) { // skip\n node = (node).expression;\n }\n switch (node.kind) {\n case NodeKind.Assertion: {\n return this.lookupAssertionExpression(\n node,\n ctxFlow, ctxType, reportMode\n );\n }\n case NodeKind.Binary: {\n return this.lookupBinaryExpression(\n node,\n ctxFlow, ctxType, reportMode\n );\n }\n case NodeKind.Call: {\n return this.lookupCallExpression(\n node,\n ctxFlow, ctxType, reportMode\n );\n }\n case NodeKind.Comma: {\n return this.lookupCommaExpression(\n node,\n ctxFlow, ctxType, reportMode\n );\n }\n case NodeKind.ElementAccess: {\n return this.lookupElementAccessExpression(\n node,\n ctxFlow, ctxType, reportMode\n );\n }\n case NodeKind.Function: {\n return this.lookupFunctionExpression(\n node,\n ctxFlow, ctxType, reportMode\n );\n }\n case NodeKind.Identifier:\n case NodeKind.False:\n case NodeKind.Null:\n case NodeKind.True: {\n return this.lookupIdentifierExpression(\n node,\n ctxFlow, ctxFlow.sourceFunction, reportMode\n );\n }\n case NodeKind.This: {\n return this.lookupThisExpression(\n node,\n ctxFlow, ctxType, reportMode\n );\n }\n case NodeKind.Super: {\n return this.lookupSuperExpression(\n node,\n ctxFlow, ctxType, reportMode\n );\n }\n case NodeKind.InstanceOf: {\n return this.lookupInstanceOfExpression(\n node,\n ctxFlow, ctxType, reportMode\n );\n }\n case NodeKind.Literal: {\n return this.lookupLiteralExpression(\n node,\n ctxFlow, ctxType, reportMode\n );\n }\n case NodeKind.New: {\n return this.lookupNewExpression(\n node,\n ctxFlow, ctxType, reportMode\n );\n }\n case NodeKind.PropertyAccess: {\n return this.lookupPropertyAccessExpression(\n node,\n ctxFlow, ctxType, reportMode\n );\n }\n case NodeKind.Ternary: {\n return this.lookupTernaryExpression(\n node,\n ctxFlow, ctxType, reportMode\n );\n }\n case NodeKind.UnaryPostfix: {\n return this.lookupUnaryPostfixExpression(\n node,\n ctxFlow, ctxType, reportMode\n );\n }\n case NodeKind.UnaryPrefix: {\n return this.lookupUnaryPrefixExpression(\n node,\n ctxFlow, ctxType, reportMode\n );\n }\n }\n assert(false);\n return null;\n }\n\n /** resolving expressions */\n private resolvingExpressions: Set = new Set();\n\n /** Resolves an expression to its static type. */\n resolveExpression(\n /** The expression to resolve. */\n node: Expression,\n /** Contextual flow. */\n ctxFlow: Flow,\n /** Contextual type. */\n ctxType: Type = Type.auto,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Type | null {\n const resolvingExpressions = this.resolvingExpressions;\n if (resolvingExpressions.has(node)) return null;\n resolvingExpressions.add(node);\n const resolved = this.doResolveExpression(node, ctxFlow, ctxType, reportMode);\n resolvingExpressions.delete(node);\n return resolved;\n }\n\n /** Resolves an expression to its static type. (may cause stack overflow) */\n private doResolveExpression(\n node: Expression,\n ctxFlow: Flow,\n ctxType: Type = Type.auto,\n reportMode: ReportMode = ReportMode.Report\n ): Type | null {\n while (node.kind == NodeKind.Parenthesized) { // skip\n node = (node).expression;\n }\n switch (node.kind) {\n case NodeKind.Assertion: {\n return this.resolveAssertionExpression(\n node,\n ctxFlow, ctxType, reportMode\n );\n }\n case NodeKind.Binary: {\n return this.resolveBinaryExpression(\n node,\n ctxFlow, ctxType, reportMode\n );\n }\n case NodeKind.Call: {\n return this.resolveCallExpression(\n node,\n ctxFlow, ctxType, reportMode\n );\n }\n case NodeKind.Comma: {\n return this.resolveCommaExpression(\n node,\n ctxFlow, ctxType, reportMode\n );\n }\n case NodeKind.ElementAccess: {\n return this.resolveElementAccessExpression(\n node,\n ctxFlow, ctxType, reportMode\n );\n }\n case NodeKind.Function: {\n return this.resolveFunctionExpression(\n node,\n ctxFlow, ctxType, reportMode\n );\n }\n case NodeKind.Identifier:\n case NodeKind.False:\n case NodeKind.Null:\n case NodeKind.True: {\n return this.resolveIdentifierExpression(\n node,\n ctxFlow, ctxType, ctxFlow.sourceFunction, reportMode\n );\n }\n case NodeKind.This: {\n return this.resolveThisExpression(\n node,\n ctxFlow, ctxType, reportMode\n );\n }\n case NodeKind.Super: {\n return this.resolveSuperExpression(\n node,\n ctxFlow, ctxType, reportMode\n );\n }\n case NodeKind.InstanceOf: {\n return this.resolveInstanceOfExpression(\n node,\n ctxFlow, ctxType, reportMode\n );\n }\n case NodeKind.Literal: {\n return this.resolveLiteralExpression(\n node,\n ctxFlow, ctxType, reportMode\n );\n }\n case NodeKind.New: {\n return this.resolveNewExpression(\n node,\n ctxFlow, ctxType, reportMode\n );\n }\n case NodeKind.PropertyAccess: {\n return this.resolvePropertyAccessExpression(\n node,\n ctxFlow, ctxType, reportMode\n );\n }\n case NodeKind.Ternary: {\n return this.resolveTernaryExpression(\n node,\n ctxFlow, ctxType, reportMode\n );\n }\n case NodeKind.UnaryPostfix: {\n return this.resolveUnaryPostfixExpression(\n node,\n ctxFlow, ctxType, reportMode\n );\n }\n case NodeKind.UnaryPrefix: {\n return this.resolveUnaryPrefixExpression(\n node,\n ctxFlow, ctxType, reportMode\n );\n }\n }\n assert(false);\n return null;\n }\n\n /** Looks up the program element the specified identifier expression refers to. */\n lookupIdentifierExpression(\n /** The expression to look up. */\n node: IdentifierExpression,\n /** Flow to search for scoped locals. */\n ctxFlow: Flow,\n /** Element to search. */\n ctxElement: Element = ctxFlow.sourceFunction, // differs for enums and namespaces\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Element | null {\n switch (node.kind) {\n case NodeKind.True:\n case NodeKind.False:\n case NodeKind.Null: {\n let type = this.resolveIdentifierExpression(node, ctxFlow, Type.auto, ctxElement, reportMode);\n return type ? this.getElementOfType(type) : null;\n }\n }\n let name = node.text;\n let element: Element | null;\n if (element = ctxFlow.lookup(name)) {\n this.currentThisExpression = null;\n this.currentElementExpression = null;\n return element;\n }\n let outerFlow = ctxFlow.outer;\n if (outerFlow) {\n if (element = outerFlow.lookup(name)) {\n this.currentThisExpression = null;\n this.currentElementExpression = null;\n return element;\n }\n }\n if (element = ctxElement.lookup(name)) {\n this.currentThisExpression = null;\n this.currentElementExpression = null;\n return element;\n }\n if (element = this.program.lookup(name)) {\n this.currentThisExpression = null;\n this.currentElementExpression = null;\n return element;\n }\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Cannot_find_name_0,\n node.range, name\n );\n }\n return null;\n }\n\n /** Resolves an identifier to its static type. */\n private resolveIdentifierExpression(\n /** The expression to resolve. */\n node: IdentifierExpression,\n /** Flow to search for scoped locals. */\n ctxFlow: Flow,\n /** Contextual type. */\n ctxType: Type = Type.auto,\n /** Element to search. */\n ctxElement: Element = ctxFlow.sourceFunction, // differs for enums and namespaces\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Type | null {\n switch (node.kind) {\n case NodeKind.True:\n case NodeKind.False: return Type.bool;\n case NodeKind.Null: {\n let classReference = ctxType.getClass();\n if (classReference) {\n return classReference.type.asNullable();\n } else {\n let signatureReference = ctxType.getSignature();\n if (signatureReference) {\n return signatureReference.type.asNullable();\n } else if (ctxType.isExternalReference) {\n return ctxType; // TODO: nullable?\n }\n }\n return this.program.options.usizeType;\n }\n }\n let element = this.lookupIdentifierExpression(node, ctxFlow, ctxElement, reportMode);\n if (!element) return null;\n if (element.kind == ElementKind.FunctionPrototype) {\n let instance = this.resolveFunction(element, null, new Map(), reportMode);\n if (!instance) return null;\n element = instance;\n }\n let type = this.getTypeOfElement(element);\n if (!type) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Expression_cannot_be_represented_by_a_type,\n node.range\n );\n }\n }\n return type;\n }\n\n /** Resolves a lazily compiled global, i.e. a static class field or annotated `@lazy`. */\n private ensureResolvedLazyGlobal(global: Global, reportMode: ReportMode = ReportMode.Report): bool {\n if (global.is(CommonFlags.Resolved)) return true;\n let typeNode = global.typeNode;\n let type = typeNode\n ? this.resolveType(typeNode, null, global.parent, null, reportMode)\n : this.resolveExpression(\n assert(global.initializerNode),\n global.file.startFunction.flow,\n Type.auto,\n reportMode\n );\n if (!type) return false;\n global.setType(type); // also sets resolved\n return true;\n }\n\n /** Looks up the program element the specified property access expression refers to. */\n private lookupPropertyAccessExpression(\n /** The expression to look up. */\n node: PropertyAccessExpression,\n /** Contextual flow. */\n ctxFlow: Flow,\n /** Contextual type. */\n ctxType: Type,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Element | null {\n let targetNode = node.expression;\n let target = this.lookupExpression(targetNode, ctxFlow, ctxType, reportMode); // reports\n if (!target) return null;\n let propertyName = node.property.text;\n\n // Resolve variable-likes to their class type first\n switch (target.kind) {\n case ElementKind.Global: if (!this.ensureResolvedLazyGlobal(target, reportMode)) return null;\n case ElementKind.EnumValue:\n case ElementKind.Local: { // someVar.prop\n let variableLikeElement = target;\n let type = variableLikeElement.type;\n if (type == Type.void) return null; // errored earlier\n let classReference = type.getClassOrWrapper(this.program);\n if (!classReference) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Property_0_does_not_exist_on_type_1,\n node.property.range, propertyName, variableLikeElement.type.toString()\n );\n }\n return null;\n }\n target = classReference;\n break;\n }\n case ElementKind.PropertyPrototype: { // SomeClass.prop\n let propertyInstance = this.resolveProperty(target, reportMode);\n if (!propertyInstance) return null;\n target = propertyInstance;\n // fall-through\n }\n case ElementKind.Property: { // someInstance.prop\n let propertyInstance = target;\n let getterInstance = propertyInstance.getterInstance;\n if (!getterInstance) {\n // In TS, getters without setters return `undefined`. Since AS doesn't have\n // undefined, we instead diagnose it at compile time, but this isn't\n // compatible with TS.\n let setterInstance = assert(propertyInstance.setterInstance);\n this.errorRelated(\n DiagnosticCode.Property_0_only_has_a_setter_and_is_missing_a_getter,\n targetNode.range, setterInstance.declaration.range, propertyInstance.name\n );\n return null;\n }\n let type = getterInstance.signature.returnType;\n let classReference = type.getClassOrWrapper(this.program);\n if (!classReference) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Property_0_does_not_exist_on_type_1,\n node.property.range, propertyName, type.toString()\n );\n }\n return null;\n }\n target = classReference;\n break;\n }\n case ElementKind.IndexSignature: { // someInstance[x].prop\n let indexSignature = target;\n let parent = indexSignature.parent;\n assert(parent.kind == ElementKind.Class);\n let classInstance = parent;\n let elementExpression = assert(this.currentElementExpression);\n let indexedGet = classInstance.lookupOverload(OperatorKind.IndexedGet);\n if (!indexedGet) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Index_signature_is_missing_in_type_0,\n elementExpression.range, parent.internalName\n );\n }\n return null;\n }\n let returnType = indexedGet.signature.returnType;\n let classReference = returnType.getClassOrWrapper(this.program);\n if (!classReference) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Property_0_does_not_exist_on_type_1,\n node.property.range, propertyName, returnType.toString()\n );\n }\n return null;\n }\n target = classReference;\n break;\n }\n case ElementKind.FunctionPrototype: {\n // Function with shadow type, i.e. function Symbol() + type Symbol = _Symbol\n let shadowType = target.shadowType;\n if (shadowType) {\n if (!shadowType.is(CommonFlags.Resolved)) {\n let resolvedType = this.resolveType(shadowType.typeNode, null, shadowType.parent, null, reportMode);\n if (resolvedType) shadowType.setType(resolvedType);\n }\n let classReference = shadowType.type.classReference;\n if (classReference) target = classReference.prototype;\n break;\n } else if (!target.is(CommonFlags.Generic)) {\n // Inherit from 'Function' if not overridden, i.e. fn.call\n let ownMember = target.getMember(propertyName);\n if (!ownMember) {\n let functionInstance = this.resolveFunction(target, null, new Map(), ReportMode.Swallow);\n if (functionInstance) {\n let wrapper = functionInstance.type.getClassOrWrapper(this.program);\n if (wrapper) target = wrapper;\n }\n }\n }\n break;\n }\n }\n\n // Look up the member within\n switch (target.kind) {\n case ElementKind.ClassPrototype:\n case ElementKind.InterfacePrototype:\n case ElementKind.Class:\n case ElementKind.Interface: {\n let classLikeTarget = target;\n let findBase = false; \n do {\n let member = classLikeTarget.getMember(propertyName);\n if (member) {\n if (member.kind == ElementKind.PropertyPrototype) {\n let propertyInstance = this.resolveProperty(member, reportMode);\n if (!propertyInstance) return null;\n member = propertyInstance;\n if (propertyInstance.is(CommonFlags.Static)) {\n this.currentThisExpression = null;\n } else {\n this.currentThisExpression = targetNode;\n }\n } else {\n this.currentThisExpression = targetNode;\n }\n this.currentElementExpression = null;\n return member; // instance FIELD, static GLOBAL, FUNCTION_PROTOTYPE, PROPERTY...\n }\n findBase = false;\n switch (classLikeTarget.kind) {\n case ElementKind.ClassPrototype:\n case ElementKind.InterfacePrototype: {\n // traverse inherited static members on the base prototype if target is a class prototype\n let classPrototype = classLikeTarget;\n let basePrototype = classPrototype.basePrototype;\n if (basePrototype) {\n findBase = true;\n classLikeTarget = basePrototype;\n }\n break;\n }\n case ElementKind.Class:\n case ElementKind.Interface: {\n // traverse inherited instance members on the base class if target is a class instance\n let classInstance = classLikeTarget;\n let baseInstance = classInstance.base;\n if (baseInstance) {\n findBase = true;\n classLikeTarget = baseInstance;\n }\n break;\n }\n }\n } while (findBase);\n break;\n }\n default: { // enums or other namespace-like elements\n let member = target.getMember(propertyName);\n if (member) {\n this.currentThisExpression = targetNode;\n this.currentElementExpression = null;\n return member; // static ENUMVALUE, static GLOBAL, static FUNCTION_PROTOTYPE...\n }\n break;\n }\n }\n\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Property_0_does_not_exist_on_type_1,\n node.property.range, propertyName, target.internalName\n );\n }\n return null;\n }\n\n /** Resolves a property access expression to its static type. */\n private resolvePropertyAccessExpression(\n /** The expression to resolve. */\n node: PropertyAccessExpression,\n /** Contextual flow. */\n ctxFlow: Flow,\n /** Contextual type. */\n ctxType: Type,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Type | null {\n let element = this.lookupPropertyAccessExpression(node, ctxFlow, ctxType, reportMode);\n if (!element) return null;\n let type = this.getTypeOfElement(element);\n if (!type) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Expression_cannot_be_represented_by_a_type,\n node.range\n );\n }\n }\n return type;\n }\n\n /** Looks up the program element the specified element access expression refers to. */\n private lookupElementAccessExpression(\n /** The expression to look up. */\n node: ElementAccessExpression,\n /** Contextual flow. */\n ctxFlow: Flow,\n /** Contextual type. */\n ctxType: Type,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Element | null {\n let targetExpression = node.expression;\n let targetType = this.resolveExpression(targetExpression, ctxFlow, ctxType, reportMode);\n if (!targetType) return null;\n let classReference = targetType.getClassOrWrapper(this.program);\n if (classReference) {\n do {\n let indexSignature = classReference.indexSignature;\n if (indexSignature) {\n this.currentThisExpression = targetExpression;\n this.currentElementExpression = node.elementExpression;\n return indexSignature;\n }\n classReference = classReference.base;\n } while(classReference);\n }\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Index_signature_is_missing_in_type_0,\n targetExpression.range, targetType.toString()\n );\n }\n return null;\n }\n\n /** Resolves an element access expression to its static type. */\n private resolveElementAccessExpression(\n /** The expression to resolve. */\n node: ElementAccessExpression,\n /** Contextual flow. */\n ctxFlow: Flow,\n /** Contextual type. */\n ctxType: Type,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Type | null {\n let element = this.lookupElementAccessExpression(node, ctxFlow, ctxType, reportMode);\n if (!element) return null;\n let type = this.getTypeOfElement(element);\n if (!type) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Expression_cannot_be_represented_by_a_type,\n node.range\n );\n }\n }\n return type;\n }\n\n /** Determines the final type of an integer literal given the specified contextual type. */\n determineIntegerLiteralType(\n /** Integer literal value. */\n expr: IntegerLiteralExpression,\n /** Has unary minus before literal. */\n negate: bool,\n /** Contextual type. */\n ctxType: Type\n ): Type {\n let intValue = expr.value;\n if (negate) {\n // x + i64.min > 0 -> underflow\n if (i64_gt(i64_add(intValue, i64_minimum), i64_zero)) {\n let range = expr.range;\n this.error(\n DiagnosticCode.Literal_0_does_not_fit_into_i64_or_u64_types,\n range, range.source.text.substring(range.start - 1, range.end)\n );\n } else if (i64_eq(intValue, i64_zero)) {\n // Special handling for -0\n if (ctxType.isFloatValue) {\n return ctxType.kind == TypeKind.F32\n ? Type.f32\n : Type.f64;\n } else if (!ctxType.isIntegerValue) {\n // If it's unknown just always assume this is f64\n return Type.f64;\n }\n }\n intValue = i64_neg(intValue);\n }\n if (ctxType.isValue) {\n // compile to contextual type if matching\n switch (ctxType.kind) {\n case TypeKind.Bool: {\n if (i64_is_bool(intValue)) return Type.bool;\n break;\n }\n case TypeKind.I8: {\n if (i64_is_i8(intValue)) return Type.i8;\n break;\n }\n case TypeKind.U8: {\n if (i64_is_u8(intValue)) return Type.u8;\n break;\n }\n case TypeKind.I16: {\n if (i64_is_i16(intValue)) return Type.i16;\n break;\n }\n case TypeKind.U16: {\n if (i64_is_u16(intValue)) return Type.u16;\n break;\n }\n case TypeKind.I32: {\n if (i64_is_i32(intValue)) return Type.i32;\n break;\n }\n case TypeKind.U32: {\n if (i64_is_u32(intValue)) return Type.u32;\n break;\n }\n case TypeKind.Isize: {\n if (!this.program.options.isWasm64) {\n if (i64_is_i32(intValue)) return Type.isize32;\n break;\n }\n return Type.isize64;\n }\n case TypeKind.Usize: {\n if (!this.program.options.isWasm64) {\n if (i64_is_u32(intValue)) return Type.usize32;\n break;\n }\n return Type.usize64;\n }\n case TypeKind.I64: return Type.i64;\n case TypeKind.U64: return Type.u64;\n case TypeKind.F32: return Type.f32;\n case TypeKind.F64: return Type.f64;\n }\n }\n // otherwise compile to best fitting type\n if (i64_is_i32(intValue)) return Type.i32;\n if (i64_is_u32(intValue)) return Type.u32;\n return Type.i64; // TODO: u64 if positive and larger than i64?\n }\n\n /** Looks up the program element the specified assertion expression refers to. */\n private lookupAssertionExpression(\n /** The expression to look up. */\n node: AssertionExpression,\n /** Contextual flow. */\n ctxFlow: Flow,\n /** Contextual type. */\n ctxType: Type = Type.auto,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Element | null {\n switch (node.assertionKind) {\n case AssertionKind.As:\n case AssertionKind.Prefix: {\n let type = this.resolveType(\n assert(node.toType), // must be set if not NONNULL\n null,\n ctxFlow.sourceFunction,\n ctxFlow.contextualTypeArguments,\n reportMode\n );\n if (!type) return null;\n let element = this.getElementOfType(type);\n if (element) return element;\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Type_0_is_illegal_in_this_context,\n node.range, type.toString()\n );\n }\n this.currentThisExpression = null;\n this.currentElementExpression = null;\n return null;\n }\n case AssertionKind.NonNull: {\n return this.lookupExpression(node.expression, ctxFlow, ctxType, reportMode);\n }\n case AssertionKind.Const: {\n // TODO: decide on the layout of ReadonlyArray first\n // let element = this.lookupExpression(node.expression, ctxFlow, ctxType, reportMode);\n // if (!element) return null;\n // if (element.kind == ElementKind.Class && (element).extends(this.program.arrayPrototype)) {\n // let elementType = assert((element).getTypeArgumentsTo(this.program.arrayPrototype))[0];\n // return this.resolveClass(this.program.readonlyArrayPrototype, [ elementType ]);\n // }\n this.error(\n DiagnosticCode.Not_implemented_0,\n node.range,\n \"Const assertion\"\n );\n return null;\n }\n }\n assert(false);\n return null;\n }\n\n /** Resolves an assertion expression to its static type. */\n private resolveAssertionExpression(\n /** The expression to resolve. */\n node: AssertionExpression,\n /** Contextual flow. */\n ctxFlow: Flow,\n /** Contextual type. */\n ctxType: Type = Type.auto,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Type | null {\n switch (node.assertionKind) {\n case AssertionKind.As:\n case AssertionKind.Prefix: {\n return this.resolveType(\n assert(node.toType),\n null,\n ctxFlow.sourceFunction,\n ctxFlow.contextualTypeArguments,\n reportMode\n );\n }\n case AssertionKind.NonNull: {\n let type = this.resolveExpression(node.expression, ctxFlow, ctxType, reportMode);\n return type ? type.nonNullableType : null;\n }\n case AssertionKind.Const: {\n let element = this.lookupExpression(node, ctxFlow, ctxType, reportMode);\n if (!element) return null;\n let type = this.getTypeOfElement(element);\n if (!type) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Expression_cannot_be_represented_by_a_type,\n node.range\n );\n }\n }\n return type;\n }\n default: assert(false);\n }\n return null;\n }\n\n /** Looks up the program element the specified unary prefix expression refers to. */\n private lookupUnaryPrefixExpression(\n /** The expression to look up. */\n node: UnaryPrefixExpression,\n /** Contextual flow. */\n ctxFlow: Flow,\n /** Contextual type. */\n ctxType: Type = Type.auto,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Element | null {\n let type = this.resolveUnaryPrefixExpression(node, ctxFlow, ctxType, reportMode);\n if (!type) return null;\n let element = this.getElementOfType(type);\n if (!element) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.The_0_operator_cannot_be_applied_to_type_1,\n node.range, operatorTokenToString(node.operator), type.toString()\n );\n }\n }\n return element;\n }\n\n /** Resolves an unary prefix expression to its static type. */\n private resolveUnaryPrefixExpression(\n /** The expression to resolve. */\n node: UnaryPrefixExpression,\n /** Contextual flow. */\n ctxFlow: Flow,\n /** Contextual type. */\n ctxType: Type = Type.auto,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Type | null {\n let operand = node.operand;\n let operator = node.operator;\n switch (operator) {\n case Token.Minus: {\n // implicitly negate if an integer literal to distinguish between i32/u32/i64\n if (operand.isLiteralKind(LiteralKind.Integer)) {\n return this.determineIntegerLiteralType(\n operand,\n true,\n ctxType\n );\n }\n // fall-through\n }\n case Token.Plus:\n case Token.Plus_Plus:\n case Token.Minus_Minus: {\n let type = this.resolveExpression(operand, ctxFlow, ctxType, reportMode);\n if (!type) return null;\n let classReference = type.getClassOrWrapper(this.program);\n if (classReference) {\n let overload = classReference.lookupOverload(OperatorKind.fromUnaryPrefixToken(operator));\n if (overload) return overload.signature.returnType;\n }\n if (!type.isNumericValue) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.The_0_operator_cannot_be_applied_to_type_1,\n node.range, operatorTokenToString(operator), type.toString()\n );\n }\n return null;\n }\n return type;\n }\n case Token.Exclamation: {\n let type = this.resolveExpression(operand, ctxFlow, ctxType, reportMode);\n if (!type) return null;\n let classReference = type.getClassOrWrapper(this.program);\n if (classReference) {\n let overload = classReference.lookupOverload(OperatorKind.Not);\n if (overload) return overload.signature.returnType;\n }\n return Type.bool; // incl. references\n }\n case Token.Tilde: {\n let type = this.resolveExpression(operand, ctxFlow, ctxType, reportMode);\n if (!type) return null;\n let classReference = type.getClassOrWrapper(this.program);\n if (classReference) {\n let overload = classReference.lookupOverload(OperatorKind.BitwiseNot);\n if (overload) return overload.signature.returnType;\n }\n if (!type.isNumericValue) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.The_0_operator_cannot_be_applied_to_type_1,\n node.range, \"~\", type.toString()\n );\n }\n return null;\n }\n return type.intType;\n }\n case Token.Dot_Dot_Dot: {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Not_implemented_0,\n node.range, \"Spread operator\"\n );\n }\n return null;\n }\n case Token.TypeOf: {\n return this.program.stringInstance.type;\n }\n default: assert(false);\n }\n return null;\n }\n\n /** Looks up the program element the specified unary postfix expression refers to. */\n private lookupUnaryPostfixExpression(\n /** The expression to resolve. */\n node: UnaryPostfixExpression,\n /** Contextual flow. */\n ctxFlow: Flow,\n /** Contextual type. */\n ctxType: Type = Type.auto,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Element | null {\n let type = this.resolveUnaryPostfixExpression(node, ctxFlow, ctxType, reportMode);\n if (!type) return null;\n let element = this.getElementOfType(type);\n if (!element) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.The_0_operator_cannot_be_applied_to_type_1,\n node.range, operatorTokenToString(node.operator), type.toString()\n );\n }\n }\n return element;\n }\n\n /** Resolves an unary postfix expression to its static type. */\n private resolveUnaryPostfixExpression(\n /** The expression to resolve. */\n node: UnaryPostfixExpression,\n /** Contextual flow. */\n ctxFlow: Flow,\n /** Contextual type. */\n ctxType: Type = Type.auto,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Type | null {\n let operator = node.operator;\n switch (operator) {\n case Token.Plus_Plus:\n case Token.Minus_Minus: {\n let type = this.resolveExpression(node.operand, ctxFlow, ctxType, reportMode);\n if (!type) return null;\n let classReference = type.getClassOrWrapper(this.program);\n if (classReference) {\n let overload = classReference.lookupOverload(OperatorKind.fromUnaryPostfixToken(operator));\n if (overload) return overload.signature.returnType;\n }\n if (!type.isNumericValue) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.The_0_operator_cannot_be_applied_to_type_1,\n node.range, operatorTokenToString(operator), type.toString()\n );\n }\n return null;\n }\n return type;\n }\n }\n assert(false);\n return null;\n }\n\n /** Looks up the program element the specified binary expression refers to. */\n private lookupBinaryExpression(\n /** The expression to look up. */\n node: BinaryExpression,\n /** Contextual flow. */\n ctxFlow: Flow,\n /** Contextual type. */\n ctxType: Type = Type.auto,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Element | null {\n let type = this.resolveBinaryExpression(node, ctxFlow, ctxType, reportMode);\n if (!type) return null;\n let element = this.getElementOfType(type);\n if (element) return element; // otherwise void\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Type_0_is_illegal_in_this_context,\n node.range, type.toString()\n );\n }\n return null;\n }\n\n /** Resolves a binary expression to its static type. */\n private resolveBinaryExpression(\n /** The expression to resolve. */\n node: BinaryExpression,\n /** Contextual flow. */\n ctxFlow: Flow,\n /** Contextual type. */\n ctxType: Type = Type.auto,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Type | null {\n let left = node.left;\n let right = node.right;\n let operator = node.operator;\n\n switch (operator) {\n\n // assignment: result is the target's type\n\n case Token.Equals:\n case Token.Plus_Equals:\n case Token.Minus_Equals:\n case Token.Asterisk_Equals:\n case Token.Asterisk_Asterisk_Equals:\n case Token.Slash_Equals:\n case Token.Percent_Equals:\n case Token.LessThan_LessThan_Equals:\n case Token.GreaterThan_GreaterThan_Equals:\n case Token.GreaterThan_GreaterThan_GreaterThan_Equals:\n case Token.Ampersand_Equals:\n case Token.Bar_Equals:\n case Token.Caret_Equals: {\n return this.resolveExpression(left, ctxFlow, ctxType, reportMode);\n }\n\n // comparison: result is Bool, preferring overloads, integer/float only\n\n case Token.LessThan:\n case Token.GreaterThan:\n case Token.LessThan_Equals:\n case Token.GreaterThan_Equals: {\n let leftType = this.resolveExpression(left, ctxFlow, ctxType, reportMode);\n if (!leftType) return null;\n let classReference = leftType.getClassOrWrapper(this.program);\n if (classReference) {\n let overload = classReference.lookupOverload(OperatorKind.fromBinaryToken(operator));\n if (overload) return overload.signature.returnType;\n }\n if (!leftType.isNumericValue) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.The_0_operator_cannot_be_applied_to_type_1,\n node.range, operatorTokenToString(operator), leftType.toString()\n );\n }\n return null;\n }\n return Type.bool;\n }\n\n // equality: result is Bool, preferring overloads, incl. references\n\n case Token.Equals_Equals:\n case Token.Exclamation_Equals: {\n let leftType = this.resolveExpression(left, ctxFlow, ctxType, reportMode);\n if (!leftType) return null;\n let classReference = leftType.getClassOrWrapper(this.program);\n if (classReference) {\n let overload = classReference.lookupOverload(OperatorKind.fromBinaryToken(operator));\n if (overload) return overload.signature.returnType;\n }\n return Type.bool;\n }\n\n // identity: result is Bool, not supporting overloads\n\n case Token.Equals_Equals_Equals:\n case Token.Exclamation_Equals_Equals: {\n return Type.bool;\n }\n\n // in operator\n\n case Token.In: {\n return Type.bool;\n }\n\n // arithmetics: result is common type of LHS and RHS, preferring overloads\n\n case Token.Plus:\n case Token.Minus:\n case Token.Asterisk:\n case Token.Slash:\n case Token.Percent: // mod has special logic, but also behaves like this\n case Token.Asterisk_Asterisk: {\n let leftType = this.resolveExpression(left, ctxFlow, ctxType, reportMode);\n if (!leftType) return null;\n let classReference = leftType.getClassOrWrapper(this.program);\n if (classReference) {\n let overload = classReference.lookupOverload(OperatorKind.fromBinaryToken(operator));\n if (overload) return overload.signature.returnType;\n }\n let rightType = this.resolveExpression(right, ctxFlow, leftType, reportMode);\n if (!rightType) return null;\n let commonType = Type.commonType(leftType, rightType, ctxType);\n if (!commonType) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Operator_0_cannot_be_applied_to_types_1_and_2,\n node.range, operatorTokenToString(operator), leftType.toString(), rightType.toString()\n );\n }\n }\n return commonType;\n }\n\n // shift: result is LHS (RHS is converted to LHS), preferring overloads\n\n case Token.LessThan_LessThan:\n case Token.GreaterThan_GreaterThan:\n case Token.GreaterThan_GreaterThan_GreaterThan: {\n let leftType = this.resolveExpression(left, ctxFlow, ctxType, reportMode);\n if (!leftType) return null;\n let classReference = leftType.getClassOrWrapper(this.program);\n if (classReference) {\n let overload = classReference.lookupOverload(OperatorKind.fromBinaryToken(operator));\n if (overload) return overload.signature.returnType;\n }\n if (!leftType.isIntegerValue) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.The_0_operator_cannot_be_applied_to_type_1,\n node.range, operatorTokenToString(operator), leftType.toString()\n );\n }\n return null;\n }\n return leftType;\n }\n\n // bitwise: result is common type of LHS and RHS with floats not being supported, preferring overloads\n\n case Token.Ampersand:\n case Token.Bar:\n case Token.Caret: {\n let leftType = this.resolveExpression(left, ctxFlow, ctxType, reportMode);\n if (!leftType) return null;\n let classReference = leftType.getClassOrWrapper(this.program);\n if (classReference) {\n let overload = classReference.lookupOverload(OperatorKind.fromBinaryToken(operator));\n if (overload) return overload.signature.returnType;\n }\n let rightType = this.resolveExpression(right, ctxFlow, ctxType, reportMode);\n if (!rightType) return null;\n let commonType = Type.commonType(leftType, rightType, ctxType);\n if (!commonType || !commonType.isIntegerValue) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Operator_0_cannot_be_applied_to_types_1_and_2,\n node.range, operatorTokenToString(operator), leftType.toString(), rightType.toString()\n );\n }\n }\n return commonType;\n }\n\n // logical\n\n case Token.Ampersand_Ampersand: {\n let leftType = this.resolveExpression(left, ctxFlow, ctxType, reportMode);\n if (!leftType) return null;\n let rightType = this.resolveExpression(right, ctxFlow, leftType, reportMode);\n if (!rightType) return null;\n let commonType = Type.commonType(leftType, rightType, ctxType);\n if (!commonType) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Operator_0_cannot_be_applied_to_types_1_and_2,\n node.range, \"&&\", leftType.toString(), rightType.toString()\n );\n }\n }\n return commonType;\n }\n case Token.Bar_Bar: {\n let leftType = this.resolveExpression(left, ctxFlow, ctxType, reportMode);\n if (!leftType) return null;\n let rightType = this.resolveExpression(right, ctxFlow, leftType, reportMode);\n if (!rightType) return null;\n let commonType = Type.commonType(leftType, rightType, ctxType);\n if (!commonType) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Operator_0_cannot_be_applied_to_types_1_and_2,\n node.range, \"||\", leftType.toString(), rightType.toString()\n );\n }\n return null;\n }\n // `LHS || RHS` can only be null if both LHS and RHS are null\n return leftType.is(TypeFlags.Nullable) && rightType.is(TypeFlags.Nullable)\n ? commonType\n : commonType.nonNullableType;\n }\n }\n assert(false);\n return null;\n }\n\n /** Looks up the program element the specified this expression refers to. */\n private lookupThisExpression(\n /** The expression to look up. */\n node: ThisExpression,\n /** Contextual flow. */\n ctxFlow: Flow,\n /** Contextual type. */\n ctxType: Type = Type.auto,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Element | null {\n if (ctxFlow.isInline) {\n let thisLocal = ctxFlow.lookupLocal(CommonNames.this_);\n if (thisLocal) {\n this.currentThisExpression = null;\n this.currentElementExpression = null;\n return thisLocal;\n }\n }\n let parent = ctxFlow.sourceFunction.parent;\n if (parent) {\n this.currentThisExpression = null;\n this.currentElementExpression = null;\n return parent;\n }\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode._this_cannot_be_referenced_in_current_location,\n node.range\n );\n }\n return null;\n }\n\n /** Resolves a this expression to its static type. */\n private resolveThisExpression(\n /** The expression to resolve. */\n node: ThisExpression,\n /** Contextual flow. */\n ctxFlow: Flow,\n /** Contextual type. */\n ctxType: Type = Type.auto,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Type | null {\n let element = this.lookupThisExpression(node, ctxFlow, ctxType, reportMode);\n if (!element) return null;\n let type = this.getTypeOfElement(element);\n if (!type) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Expression_cannot_be_represented_by_a_type,\n node.range\n );\n }\n }\n return type;\n }\n\n /** Looks up the program element the specified super expression refers to. */\n private lookupSuperExpression(\n /** The expression to look up. */\n node: SuperExpression,\n /** Contextual flow. */\n ctxFlow: Flow,\n /** Contextual type. */\n ctxType: Type = Type.auto,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Element | null {\n if (ctxFlow.isInline) {\n let superLocal = ctxFlow.lookupLocal(CommonNames.super_);\n if (superLocal) {\n this.currentThisExpression = null;\n this.currentElementExpression = null;\n return superLocal;\n }\n }\n let parent: Element | null = ctxFlow.sourceFunction.parent;\n if (parent && parent.kind == ElementKind.Class) {\n let base = (parent).base;\n if (base) {\n this.currentThisExpression = null;\n this.currentElementExpression = null;\n return base;\n }\n }\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode._super_can_only_be_referenced_in_a_derived_class,\n node.range\n );\n }\n return null;\n }\n\n /** Resolves a super expression to its static type. */\n private resolveSuperExpression(\n /** The expression to resolve. */\n node: SuperExpression,\n /** Contextual flow. */\n ctxFlow: Flow,\n /** Contextual type. */\n ctxType: Type = Type.auto,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Type | null {\n let element = this.lookupSuperExpression(node, ctxFlow, ctxType, reportMode);\n if (!element) return null;\n let type = this.getTypeOfElement(element);\n if (!type) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Expression_cannot_be_represented_by_a_type,\n node.range\n );\n }\n }\n return type;\n }\n\n /** Looks up the program element the specified literal expression refers to. */\n private lookupLiteralExpression(\n /** The expression to look up. */\n node: LiteralExpression,\n /** Contextual flow. */\n ctxFlow: Flow,\n /** Contextual type. */\n ctxType: Type = Type.auto,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Element | null {\n this.currentThisExpression = node;\n this.currentElementExpression = null;\n switch (node.literalKind) {\n case LiteralKind.Integer: {\n let intType = this.determineIntegerLiteralType(\n node,\n false,\n ctxType\n );\n return assert(intType.getClassOrWrapper(this.program));\n }\n case LiteralKind.Float: {\n let fltType = ctxType == Type.f32 ? Type.f32 : Type.f64;\n return assert(fltType.getClassOrWrapper(this.program));\n }\n case LiteralKind.String:\n case LiteralKind.Template: {\n return this.program.stringInstance;\n }\n case LiteralKind.RegExp: {\n return this.program.regexpInstance;\n }\n case LiteralKind.Array: {\n let classReference = ctxType.getClass();\n if (classReference && classReference.prototype == this.program.arrayPrototype) {\n return this.getElementOfType(ctxType);\n }\n // otherwise infer, ignoring ctxType\n let expressions = (node).elementExpressions;\n let length = expressions.length;\n let elementType = Type.auto;\n let numNullLiterals = 0;\n for (let i = 0, k = length; i < k; ++i) {\n let expression = expressions[i];\n if (expression) {\n if (expression.kind == NodeKind.Null && length > 1) {\n ++numNullLiterals;\n } else {\n let currentType = this.resolveExpression(expression, ctxFlow, elementType);\n if (!currentType) return null;\n if (elementType == Type.auto) elementType = currentType;\n else if (currentType != elementType) {\n let commonType = Type.commonType(elementType, currentType, elementType);\n if (commonType) elementType = commonType;\n // otherwise triggers error on compilation\n }\n }\n }\n }\n if (elementType /* still */ == Type.auto) {\n if (numNullLiterals == length) { // all nulls infers as usize\n elementType = this.program.options.usizeType;\n } else {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.The_type_argument_for_type_parameter_0_cannot_be_inferred_from_the_usage_Consider_specifying_the_type_arguments_explicitly,\n node.range, \"T\"\n );\n }\n return null;\n }\n }\n if (\n numNullLiterals > 0 &&\n elementType.isInternalReference\n ) {\n elementType = elementType.asNullable();\n }\n return assert(this.resolveClass(this.program.arrayPrototype, [ elementType ]));\n }\n case LiteralKind.Object: {\n if (ctxType.isClass) return ctxType.classReference;\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Expression_cannot_be_represented_by_a_type,\n node.range\n );\n }\n return null;\n }\n }\n assert(false);\n return null;\n }\n\n /** Resolves a literal expression to its static type. */\n private resolveLiteralExpression(\n /** The expression to resolve. */\n node: LiteralExpression,\n /** Contextual flow. */\n ctxFlow: Flow,\n /** Contextual type. */\n ctxType: Type = Type.auto,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Type | null {\n let element = this.lookupLiteralExpression(node, ctxFlow, ctxType, reportMode);\n if (!element) return null;\n let type = this.getTypeOfElement(element);\n if (!type) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Expression_cannot_be_represented_by_a_type,\n node.range\n );\n }\n }\n return type;\n }\n\n /** Looks up the program element the specified call expression refers to. */\n private lookupCallExpression(\n /** The expression to look up. */\n node: CallExpression,\n /** Contextual flow. */\n ctxFlow: Flow,\n /** Contextual type. */\n ctxType: Type = Type.void,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Element | null {\n let type = this.resolveCallExpression(node, ctxFlow, ctxType, reportMode);\n if (!type) return null;\n let element = this.getElementOfType(type);\n if (!element) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Type_0_is_illegal_in_this_context,\n node.range, type.toString()\n );\n }\n }\n return element;\n }\n\n /** Resolves a call expression to its static type. */\n private resolveCallExpression(\n /** The expression to resolve. */\n node: CallExpression,\n /** Contextual flow. */\n ctxFlow: Flow,\n /** Contextual type. */\n ctxType: Type = Type.void,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Type | null {\n let targetExpression = node.expression;\n let target = this.lookupExpression( // reports\n targetExpression,\n ctxFlow,\n ctxType,\n reportMode\n );\n if (!target) return null;\n switch (target.kind) {\n case ElementKind.FunctionPrototype: {\n let functionPrototype = target;\n // `unchecked` behaves like parenthesized\n if (\n functionPrototype.internalName == BuiltinNames.unchecked &&\n node.args.length > 0\n ) {\n return this.resolveExpression(node.args[0], ctxFlow, ctxType, reportMode);\n }\n let functionInstance = this.maybeInferCall(node, functionPrototype, ctxFlow, reportMode);\n if (!functionInstance) return null;\n target = functionInstance;\n // fall-through\n }\n case ElementKind.Function: {\n return (target).signature.returnType;\n }\n case ElementKind.PropertyPrototype: {\n let propertyInstance = this.resolveProperty(target, reportMode);\n if (!propertyInstance) return null;\n target = propertyInstance;\n // fall-through\n }\n default: {\n if (!isTypedElement(target.kind)) break;\n let targetElement = this.getElementOfType((target).type);\n if (!targetElement || targetElement.kind != ElementKind.Class) break;\n target = targetElement;\n // fall-through\n }\n case ElementKind.Class: {\n let typeArguments = (target).getTypeArgumentsTo(this.program.functionPrototype);\n if (!(typeArguments && typeArguments.length)) break;\n let signature = assert(typeArguments[0].getSignature());\n return signature.returnType;\n }\n }\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Cannot_invoke_an_expression_whose_type_lacks_a_call_signature_Type_0_has_no_compatible_call_signatures,\n targetExpression.range, target.internalName\n );\n }\n return null;\n }\n\n /** Looks up the program element the specified comma expression refers to. */\n private lookupCommaExpression(\n /** The expression to look up. */\n node: CommaExpression,\n /** Flow to search for scoped locals. */\n ctxFlow: Flow,\n /** Contextual type. */\n ctxType: Type = Type.auto,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Element | null {\n let expressions = node.expressions;\n return this.lookupExpression(expressions[assert(expressions.length) - 1], ctxFlow, ctxType, reportMode);\n }\n\n /** Resolves a comma expression to its static type. */\n private resolveCommaExpression(\n /** The expression to resolve. */\n node: CommaExpression,\n /** Flow to search for scoped locals. */\n ctxFlow: Flow,\n /** Contextual type. */\n ctxType: Type = Type.auto,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Type | null {\n let expressions = node.expressions;\n return this.resolveExpression(expressions[assert(expressions.length) - 1], ctxFlow, ctxType, reportMode);\n }\n\n /** Looks up the program element the specified instanceof expression refers to. */\n private lookupInstanceOfExpression(\n /** The expression to look up. */\n node: InstanceOfExpression,\n /** Flow to search for scoped locals. */\n ctxFlow: Flow,\n /** Contextual type. */\n ctxType: Type = Type.auto,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Element | null {\n return assert(Type.bool.getClassOrWrapper(this.program));\n }\n\n /** Resolves an instanceof expression to its static type. */\n private resolveInstanceOfExpression(\n /** The expression to resolve. */\n node: InstanceOfExpression,\n /** Flow to search for scoped locals. */\n ctxFlow: Flow,\n /** Contextual type. */\n ctxType: Type = Type.auto,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Type | null {\n return Type.bool;\n }\n\n /** Looks up the program element the specified ternary expression refers to. */\n private lookupTernaryExpression(\n /** The expression to look up. */\n node: TernaryExpression,\n /** Contextual flow. */\n ctxFlow: Flow,\n /** Contextual type. */\n ctxType: Type,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Element | null {\n let type = this.resolveTernaryExpression(node, ctxFlow, ctxType, reportMode);\n if (!type) return null;\n let element = this.getElementOfType(type);\n if (!element) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Type_0_is_illegal_in_this_context,\n node.range, type.toString()\n );\n }\n }\n return element;\n }\n\n /** Resolves a ternary expression to its static type. */\n private resolveTernaryExpression(\n /** The expression to resolve. */\n node: TernaryExpression,\n /** Contextual flow. */\n ctxFlow: Flow,\n /** Contextual type. */\n ctxType: Type,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Type | null {\n let thenType = this.resolveExpression(node.ifThen, ctxFlow, ctxType, reportMode);\n if (!thenType) return null;\n let elseType = this.resolveExpression(node.ifElse, ctxFlow, thenType, reportMode);\n if (!elseType) return null;\n let commonType = Type.commonType(thenType, elseType, ctxType);\n if (!commonType) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Operator_0_cannot_be_applied_to_types_1_and_2,\n node.range, \"?:\", thenType.toString(), elseType.toString()\n );\n }\n }\n return commonType;\n }\n\n /** Looks up the program element the specified new expression refers to. */\n private lookupNewExpression(\n /** The expression to look up. */\n node: NewExpression,\n /** Contextual flow. */\n ctxFlow: Flow,\n /** Contextual type. */\n ctxType: Type,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Element | null {\n let element = this.resolveTypeName(node.typeName, ctxFlow, ctxFlow.sourceFunction, reportMode);\n if (!element) return null;\n if (element.kind == ElementKind.ClassPrototype) {\n return this.resolveClassInclTypeArguments(\n element,\n node.typeArguments,\n ctxFlow,\n ctxFlow.sourceFunction,\n cloneMap(ctxFlow.contextualTypeArguments),\n node,\n reportMode\n );\n }\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.This_expression_is_not_constructable,\n node.range\n );\n }\n return null;\n }\n\n /** Resolves a new expression to its static type. */\n private resolveNewExpression(\n /** The expression to resolve. */\n node: NewExpression,\n /** Contextual flow. */\n ctxFlow: Flow,\n /** Contextual type. */\n ctxType: Type,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Type | null {\n let element = this.lookupNewExpression(node, ctxFlow, ctxType, reportMode);\n if (!element) return null;\n let type = this.getTypeOfElement(element);\n if (!type) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Expression_cannot_be_represented_by_a_type,\n node.range\n );\n }\n }\n return type;\n }\n\n /** Looks up the program element the specified function expression refers to. */\n private lookupFunctionExpression(\n /** The expression to look up. */\n node: FunctionExpression,\n /** Contextual flow. */\n ctxFlow: Flow,\n /** Contextual type. */\n ctxType: Type,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Element | null {\n let type = this.resolveFunctionExpression(node, ctxFlow, ctxType, reportMode);\n if (!type) return null;\n let element = this.getElementOfType(type);\n if (!element) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Type_0_is_illegal_in_this_context,\n node.range, type.toString()\n );\n }\n }\n return element;\n }\n\n /** Resolves a function expression to its static type. */\n private resolveFunctionExpression(\n /** The expression to resolve. */\n node: FunctionExpression,\n /** Contextual flow. */\n ctxFlow: Flow,\n /** Contextual type. */\n ctxType: Type,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Type | null {\n const declaration = node.declaration;\n const signature = declaration.signature;\n const body = declaration.body;\n let functionType = this.resolveType(signature, null, ctxFlow.sourceFunction, ctxFlow.contextualTypeArguments, reportMode);\n if (\n functionType &&\n declaration.arrowKind != ArrowKind.None &&\n body && body.kind == NodeKind.Expression &&\n isTypeOmitted(signature.returnType)\n ) {\n // (x) => ret, infer return type accordingt to `ret`\n const expr = (body).expression;\n let signatureReference = assert(functionType.getSignature());\n // create a temp flow to resolve expression\n let tempFlow = Flow.createDefault(ctxFlow.sourceFunction);\n let parameters = signature.parameters;\n // return type of resolveFunctionType should have same parameter length with signature\n assert(signatureReference.parameterTypes.length == parameters.length);\n for (let i = 0, k = parameters.length; i < k; i++) {\n const parameter = parameters[i];\n const type = signatureReference.parameterTypes[i];\n tempFlow.addScopedDummyLocal(parameter.name.text, type, parameter);\n }\n const type = this.resolveExpression(expr, tempFlow, ctxType, reportMode);\n if (type) {\n functionType.signatureReference = Signature.create(\n this.program,\n signatureReference.parameterTypes,\n type,\n signatureReference.thisType,\n signatureReference.requiredParameters,\n signatureReference.hasRest,\n );\n }\n }\n return functionType;\n }\n\n // ==================================================== Elements =====================================================\n\n /** Resolves a function prototype using the specified concrete type arguments. */\n resolveFunction(\n /** The prototype of the function. */\n prototype: FunctionPrototype,\n /** Type arguments provided. */\n typeArguments: Type[] | null,\n /** Contextual types, i.e. `T`. */\n ctxTypes: Map = new Map(),\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Function | null {\n let classInstance: Class | null = null; // if an instance method\n let instanceKey = typeArguments ? typesToString(typeArguments) : \"\";\n\n // Instance method prototypes are pre-bound to their concrete class as their parent\n if (prototype.is(CommonFlags.Instance)) {\n classInstance = assert(prototype.getBoundClassOrInterface());\n\n // check if this exact concrete class and function combination is known already\n let resolvedInstance = prototype.getResolvedInstance(instanceKey);\n if (resolvedInstance) return resolvedInstance;\n\n // inherit class specific type arguments\n let classTypeArguments = classInstance.typeArguments;\n if (classTypeArguments) {\n let classTypeParameters = assert(classInstance.prototype.typeParameterNodes);\n let numClassTypeArguments = classTypeParameters.length;\n assert(numClassTypeArguments == classTypeParameters.length);\n for (let i = 0; i < numClassTypeArguments; ++i) {\n let classTypeParameterName = classTypeParameters[i].name.text;\n // override contextual\n ctxTypes.set(classTypeParameterName, classTypeArguments[i]);\n }\n }\n } else {\n assert(!prototype.isBound);\n let resolvedInstance = prototype.getResolvedInstance(instanceKey);\n if (resolvedInstance) return resolvedInstance;\n }\n\n // override whatever is contextual with actual function type arguments\n let signatureNode = prototype.functionTypeNode;\n let typeParameterNodes = prototype.typeParameterNodes;\n let numFunctionTypeArguments: i32;\n if (typeArguments && (numFunctionTypeArguments = typeArguments.length) > 0) {\n assert(typeParameterNodes && numFunctionTypeArguments == typeParameterNodes.length);\n for (let i = 0; i < numFunctionTypeArguments; ++i) {\n ctxTypes.set(\n (typeParameterNodes)[i].name.text,\n typeArguments[i]\n );\n }\n } else {\n assert(!typeParameterNodes || typeParameterNodes.length == 0);\n }\n\n // resolve `this` type if applicable\n let thisType: Type | null = null;\n let explicitThisType = signatureNode.explicitThisType;\n if (explicitThisType) {\n thisType = this.resolveType(\n explicitThisType,\n null,\n prototype.parent, // relative to function\n ctxTypes,\n reportMode\n );\n if (!thisType) return null;\n ctxTypes.set(CommonNames.this_, thisType);\n } else if (classInstance) {\n thisType = classInstance.type;\n ctxTypes.set(CommonNames.this_, thisType);\n }\n\n // resolve parameter types\n let signatureParameters = signatureNode.parameters;\n let numSignatureParameters = signatureParameters.length;\n let parameterTypes = new Array(numSignatureParameters);\n let requiredParameters = 0;\n for (let i = 0; i < numSignatureParameters; ++i) {\n let parameterDeclaration = signatureParameters[i];\n if (parameterDeclaration.parameterKind == ParameterKind.Default) {\n requiredParameters = i + 1;\n }\n let typeNode = parameterDeclaration.type;\n if (isTypeOmitted(typeNode)) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Type_expected,\n typeNode.range\n );\n }\n return null;\n }\n let parameterType = this.resolveType(\n typeNode,\n null,\n prototype.parent, // relative to function\n ctxTypes,\n reportMode\n );\n if (!parameterType) return null;\n if (parameterType == Type.void) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Type_expected,\n typeNode.range\n );\n }\n return null;\n }\n parameterTypes[i] = parameterType;\n }\n\n // resolve return type\n let returnType: Type;\n if (prototype.is(CommonFlags.Set)) {\n returnType = Type.void; // not annotated\n } else if (prototype.is(CommonFlags.Constructor)) {\n returnType = classInstance!.type; // not annotated\n } else {\n let typeNode = signatureNode.returnType;\n if (isTypeOmitted(typeNode)) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Type_expected,\n typeNode.range\n );\n }\n return null;\n }\n let type = this.resolveType(\n typeNode,\n null,\n prototype.parent, // relative to function\n ctxTypes,\n reportMode\n );\n if (!type) return null;\n returnType = type;\n }\n\n let signature = Signature.create(this.program, parameterTypes, returnType, thisType, requiredParameters);\n\n let nameInclTypeParameters = prototype.name;\n if (instanceKey.length) nameInclTypeParameters += `<${instanceKey}>`;\n let instance = new Function(\n nameInclTypeParameters,\n prototype,\n typeArguments,\n signature,\n ctxTypes\n );\n prototype.setResolvedInstance(instanceKey, instance);\n\n // check against overridden base member\n if (classInstance) {\n let methodOrPropertyName = instance.declaration.name.text;\n let baseClass = classInstance.base;\n if (baseClass) {\n let baseMember = baseClass.getMember(methodOrPropertyName);\n if (baseMember) {\n // note override discovery (used by stub finalization)\n this.discoveredOverride = true;\n // verify that this is a compatible override\n let incompatibleOverride = true;\n if (instance.isAny(CommonFlags.Get | CommonFlags.Set)) {\n if (baseMember.kind == ElementKind.PropertyPrototype) {\n let baseProperty = this.resolveProperty(baseMember, reportMode);\n if (baseProperty) {\n if (instance.is(CommonFlags.Get)) {\n let baseGetter = baseProperty.getterInstance;\n if (baseGetter && instance.signature.isAssignableTo(baseGetter.signature, true)) {\n incompatibleOverride = false;\n }\n } else {\n assert(instance.is(CommonFlags.Set));\n let baseSetter = baseProperty.setterInstance;\n if (baseSetter && instance.signature.isAssignableTo(baseSetter.signature, true)) {\n incompatibleOverride = false;\n }\n }\n }\n }\n } else if (instance.is(CommonFlags.Constructor)) {\n incompatibleOverride = false;\n } else {\n if (baseMember.kind == ElementKind.FunctionPrototype) {\n // Possibly generic. Resolve with same type arguments to obtain the correct one.\n let basePrototype = baseMember;\n let baseFunction = this.resolveFunction(basePrototype, typeArguments, new Map(), ReportMode.Swallow);\n if (baseFunction && instance.signature.isAssignableTo(baseFunction.signature, true)) {\n incompatibleOverride = false;\n }\n }\n }\n if (incompatibleOverride) {\n this.errorRelated(\n DiagnosticCode.This_overload_signature_is_not_compatible_with_its_implementation_signature,\n instance.identifierAndSignatureRange, baseMember.identifierAndSignatureRange\n );\n }\n }\n }\n }\n return instance;\n }\n\n /** Resolves a function prototypeby first resolving the specified type arguments. */\n resolveFunctionInclTypeArguments(\n /** The prototype of the function. */\n prototype: FunctionPrototype,\n /** Type arguments provided to be resolved. */\n typeArgumentNodes: TypeNode[] | null,\n /** Contextual element. */\n ctxElement: Element,\n /** Contextual types, i.e. `T`. */\n ctxTypes: Map,\n /** The node to use when reporting intermediate errors. */\n reportNode: Node,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Function | null {\n let resolvedTypeArguments: Type[] | null = null;\n\n // Resolve type arguments if generic\n if (prototype.is(CommonFlags.Generic)) {\n\n // If this is an instance method, first apply the class's type arguments\n if (prototype.is(CommonFlags.Instance)) {\n let classInstance = assert(prototype.getBoundClassOrInterface());\n let classTypeArguments = classInstance.typeArguments;\n if (classTypeArguments) {\n let typeParameterNodes = assert(classInstance.prototype.typeParameterNodes);\n let numClassTypeArguments = classTypeArguments.length;\n assert(numClassTypeArguments == typeParameterNodes.length);\n for (let i = 0; i < numClassTypeArguments; ++i) {\n ctxTypes.set(\n typeParameterNodes[i].name.text,\n classTypeArguments[i]\n );\n }\n }\n }\n\n resolvedTypeArguments = this.resolveTypeArguments( // reports\n assert(prototype.typeParameterNodes),\n typeArgumentNodes,\n null,\n ctxElement,\n ctxTypes, // update\n reportNode,\n reportMode\n );\n if (!resolvedTypeArguments) return null;\n\n // Otherwise make sure that no type arguments have been specified\n } else {\n if (typeArgumentNodes && typeArgumentNodes.length > 0) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Type_0_is_not_generic,\n reportNode.range, prototype.internalName\n );\n }\n return null;\n }\n }\n\n // Continue with concrete types\n return this.resolveFunction(\n prototype,\n resolvedTypeArguments,\n ctxTypes,\n reportMode\n );\n }\n\n /** Resolves reachable overrides of the given instance method. */\n resolveOverrides(instance: Function): Function[] | null {\n let overridePrototypes = instance.prototype.unboundOverrides;\n if (!overridePrototypes) return null;\n\n let parentClassInstance = assert(instance.getBoundClassOrInterface());\n let overrides = new Set();\n\n // A method's `overrides` property contains its unbound override prototypes\n // so we first have to find the concrete classes it became bound to, obtain\n // their bound prototypes and make sure these are resolved.\n for (let _values = Set_values(overridePrototypes), i = 0, k = _values.length; i < k; ++i) {\n let unboundOverridePrototype = _values[i];\n assert(!unboundOverridePrototype.isBound);\n let unboundOverrideParent = unboundOverridePrototype.parent;\n let classInstances: Map | null;\n assert(unboundOverrideParent.kind == ElementKind.ClassPrototype || unboundOverrideParent.kind == ElementKind.InterfacePrototype);\n classInstances = (unboundOverrideParent).instances;\n if (!classInstances) continue;\n for (let _values = Map_values(classInstances), j = 0, l = _values.length; j < l; ++j) {\n let classInstance = _values[j];\n // Check if the parent class is a subtype of instance's class\n if (!classInstance.isAssignableTo(parentClassInstance)) continue;\n let overrideInstance: Function | null = null;\n if (instance.isAny(CommonFlags.Get | CommonFlags.Set)) {\n let propertyName = instance.declaration.name.text;\n let boundPropertyPrototype = assert(classInstance.getMember(propertyName));\n assert(boundPropertyPrototype.kind == ElementKind.PropertyPrototype);\n let boundPropertyInstance = this.resolveProperty(boundPropertyPrototype);\n if (!boundPropertyInstance) continue;\n if (instance.is(CommonFlags.Get)) {\n overrideInstance = boundPropertyInstance.getterInstance;\n } else {\n assert(instance.is(CommonFlags.Set));\n overrideInstance = boundPropertyInstance.setterInstance;\n }\n } else {\n let boundPrototype = classInstance.getMember(unboundOverridePrototype.name);\n if (boundPrototype) { // might have errored earlier and wasn't added\n assert(boundPrototype.kind == ElementKind.FunctionPrototype);\n overrideInstance = this.resolveFunction(boundPrototype, instance.typeArguments);\n }\n }\n if (overrideInstance) overrides.add(overrideInstance);\n }\n }\n return Set_values(overrides);\n }\n\n /** Currently resolving classes. */\n private resolveClassPending: Set = new Set();\n\n /** Resolves a class prototype using the specified concrete type arguments. */\n resolveClass(\n /** The prototype of the class. */\n prototype: ClassPrototype,\n /** Type arguments provided. */\n typeArguments: Type[] | null,\n /** Contextual types, i.e. `T`. */\n ctxTypes: Map = new Map(),\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Class | null {\n let instanceKey = typeArguments ? typesToString(typeArguments) : \"\";\n\n // Do not attempt to resolve the same class twice. This can return a class\n // that isn't fully resolved yet, but only on deeper levels of recursion.\n let instance = prototype.getResolvedInstance(instanceKey);\n if (instance) return instance;\n\n // Otherwise create\n let nameInclTypeParameters = prototype.name;\n if (instanceKey.length) nameInclTypeParameters += `<${instanceKey}>`;\n if (prototype.kind == ElementKind.InterfacePrototype) {\n instance = new Interface(nameInclTypeParameters, prototype, typeArguments);\n } else {\n instance = new Class(nameInclTypeParameters, prototype, typeArguments);\n }\n prototype.setResolvedInstance(instanceKey, instance);\n let pendingClasses = this.resolveClassPending;\n pendingClasses.add(instance);\n\n // Insert contextual type arguments for this operation. Internally, this method is always\n // called with matching type parameter / argument counts.\n if (typeArguments) {\n let typeParameterNodes = assert(prototype.typeParameterNodes);\n let numTypeParameters = typeParameterNodes.length;\n let numTypeArguments = typeArguments.length;\n assert(numTypeArguments == numTypeParameters);\n for (let i = 0; i < numTypeArguments; ++i) {\n ctxTypes.set(typeParameterNodes[i].name.text, typeArguments[i]);\n }\n } else {\n let typeParameterNodes = prototype.typeParameterNodes;\n assert(!(typeParameterNodes && typeParameterNodes.length > 0));\n }\n instance.contextualTypeArguments = ctxTypes;\n\n let anyPending = false;\n\n // Resolve base class if applicable\n let basePrototype = prototype.basePrototype;\n if (basePrototype) {\n let current: ClassPrototype | null = basePrototype;\n do {\n if (current == prototype) {\n this.error(\n DiagnosticCode._0_is_referenced_directly_or_indirectly_in_its_own_base_expression,\n prototype.identifierNode.range,\n prototype.internalName\n );\n return null;\n }\n current = current.basePrototype;\n } while (current);\n let extendsNode = assert(prototype.extendsNode); // must be present if it has a base prototype\n let base = this.resolveClassInclTypeArguments(\n basePrototype,\n extendsNode.typeArguments,\n null,\n prototype.parent, // relative to derived class\n cloneMap(ctxTypes), // don't inherit\n extendsNode,\n reportMode\n );\n if (!base) return null;\n instance.setBase(base);\n\n // If the base class is still pending, yield here and instead resolve any\n // derived classes once the base class's `finishResolveClass` is done.\n // This is guaranteed to never happen at the entry of the recursion, i.e.\n // where `resolveClass` is called from other code.\n if (pendingClasses.has(base)) anyPending = true;\n\n // Implicitly extend `Object` if a derived object\n } else if (prototype.implicitlyExtendsObject) {\n instance.setBase(this.program.objectInstance);\n }\n\n // Resolve interfaces if applicable\n let interfacePrototypes = prototype.interfacePrototypes;\n if (interfacePrototypes) {\n for (let i = 0, k = interfacePrototypes.length; i < k; ++i) {\n let interfacePrototype = interfacePrototypes[i];\n let current: ClassPrototype | null = interfacePrototype;\n do {\n if (current == prototype) {\n this.error(\n DiagnosticCode._0_is_referenced_directly_or_indirectly_in_its_own_base_expression,\n prototype.identifierNode.range,\n prototype.internalName\n );\n return null;\n }\n current = current.basePrototype;\n } while (current);\n let implementsNode = assert(prototype.implementsNodes![i]);\n let iface = this.resolveClassInclTypeArguments(\n interfacePrototype,\n implementsNode.typeArguments,\n null,\n prototype.parent,\n cloneMap(ctxTypes),\n implementsNode,\n reportMode\n );\n if (!iface) return null;\n assert(iface.kind == ElementKind.Interface);\n instance.addInterface(iface);\n\n // Like above, if any implemented interface is still pending, yield\n if (pendingClasses.has(iface)) anyPending = true;\n }\n }\n if (anyPending) return instance;\n\n // We only get here if the base class has been fully resolved already.\n this.finishResolveClass(instance, reportMode);\n return instance;\n }\n\n /** Checks whether an override's visibility is valid. */\n private checkOverrideVisibility(\n /** Name to report. */\n name: string,\n /** Overriding member. */\n thisMember: DeclaredElement,\n /** Overriding class. */\n thisClass: Class,\n /** Overridden member. */\n baseMember: DeclaredElement,\n /** Overridden class. */\n baseClass: Class,\n /** Report mode. */\n reportMode: ReportMode\n ): bool {\n let hasErrors = false;\n if (thisMember.is(CommonFlags.Constructor)) {\n assert(baseMember.is(CommonFlags.Constructor));\n if (baseMember.is(CommonFlags.Private)) {\n if (reportMode == ReportMode.Report) {\n this.errorRelated(\n DiagnosticCode.Cannot_extend_a_class_0_Class_constructor_is_marked_as_private,\n thisMember.identifierNode.range, baseMember.identifierNode.range,\n baseClass.internalName\n );\n }\n hasErrors = true;\n }\n } else if (thisMember.is(CommonFlags.Private)) {\n if (baseMember.is(CommonFlags.Private)) {\n if (reportMode == ReportMode.Report) {\n this.errorRelated(\n DiagnosticCode.Types_have_separate_declarations_of_a_private_property_0,\n thisMember.identifierNode.range, baseMember.identifierNode.range,\n name\n );\n }\n hasErrors = true;\n } else {\n if (reportMode == ReportMode.Report) {\n this.errorRelated(\n DiagnosticCode.Property_0_is_private_in_type_1_but_not_in_type_2,\n thisMember.identifierNode.range, baseMember.identifierNode.range,\n name, thisClass.internalName, baseClass.internalName\n );\n }\n hasErrors = true;\n }\n } else if (thisMember.is(CommonFlags.Protected)) {\n if (baseMember.is(CommonFlags.Private)) {\n if (reportMode == ReportMode.Report) {\n this.errorRelated(\n DiagnosticCode.Property_0_is_private_in_type_1_but_not_in_type_2,\n thisMember.identifierNode.range, baseMember.identifierNode.range,\n name, baseClass.internalName, thisClass.internalName\n );\n }\n hasErrors = true;\n } else if (baseMember.isPublic) {\n if (reportMode == ReportMode.Report) {\n this.errorRelated(\n DiagnosticCode.Property_0_is_protected_in_type_1_but_public_in_type_2,\n thisMember.identifierNode.range, baseMember.identifierNode.range,\n name, thisClass.internalName, baseClass.internalName\n );\n }\n hasErrors = true;\n } else {\n assert(baseMember.is(CommonFlags.Protected));\n }\n } else if (thisMember.isPublic) {\n if (baseMember.is(CommonFlags.Private)) {\n if (reportMode == ReportMode.Report) {\n this.errorRelated(\n DiagnosticCode.Property_0_is_private_in_type_1_but_not_in_type_2,\n thisMember.identifierNode.range, baseMember.identifierNode.range,\n name, baseClass.internalName, thisClass.internalName\n );\n }\n hasErrors = true;\n } else if (baseMember.is(CommonFlags.Protected)) {\n if (reportMode == ReportMode.Report) {\n this.errorRelated(\n DiagnosticCode.Property_0_is_protected_in_type_1_but_public_in_type_2,\n thisMember.identifierNode.range, baseMember.identifierNode.range,\n name, baseClass.internalName, thisClass.internalName\n );\n }\n hasErrors = true;\n } else {\n assert(baseMember.isPublic);\n }\n }\n return !hasErrors;\n }\n\n /** Finishes resolving the specified class. */\n private finishResolveClass(\n /** Class to finish resolving. */\n instance: Class,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode\n ): void {\n let members = instance.members;\n if (!members) instance.members = members = new Map();\n\n let pendingClasses = this.resolveClassPending;\n let unimplemented = new Map();\n // Alias implemented interface members\n let interfaces = instance.interfaces;\n if (interfaces) {\n for (let _values = Set_values(interfaces), i = 0, k = _values.length; i < k; ++i) {\n let iface = _values[i];\n assert(!pendingClasses.has(iface));\n let ifaceMembers = iface.members;\n if (ifaceMembers) {\n for (let _keys = Map_keys(ifaceMembers), i = 0, k = _keys.length; i < k; ++i) {\n let memberName = unchecked(_keys[i]);\n let ifaceMember = assert(ifaceMembers.get(memberName));\n let existingMember = instance.getMember(memberName);\n if (existingMember && !this.checkOverrideVisibility(memberName, existingMember, instance, ifaceMember, iface, reportMode)) {\n continue; // keep previous\n }\n members.set(memberName, ifaceMember);\n unimplemented.set(memberName, ifaceMember);\n }\n }\n }\n }\n\n // Alias base members\n let memoryOffset: u32 = 0;\n let base = instance.base;\n if (base) {\n let implicitlyExtendsObject = instance.prototype.implicitlyExtendsObject;\n assert(!pendingClasses.has(base));\n let baseMembers = base.members;\n if (baseMembers) {\n // TODO: for (let [baseMemberName, baseMember] of baseMembers) {\n for (let _keys = Map_keys(baseMembers), i = 0, k = _keys.length; i < k; ++i) {\n let memberName = unchecked(_keys[i]);\n let baseMember = assert(baseMembers.get(memberName));\n if (implicitlyExtendsObject && baseMember.is(CommonFlags.Static)) continue;\n let existingMember = instance.getMember(memberName);\n if (existingMember && !this.checkOverrideVisibility(memberName, existingMember, instance, baseMember, base, reportMode)) {\n continue; // keep previous\n }\n members.set(memberName, baseMember);\n if (baseMember.is(CommonFlags.Abstract)) {\n unimplemented.set(memberName, baseMember);\n } else {\n unimplemented.delete(memberName);\n }\n }\n }\n memoryOffset = base.nextMemoryOffset;\n }\n\n // Resolve instance members\n let prototype = instance.prototype;\n let instanceMemberPrototypes = prototype.instanceMembers;\n if (instanceMemberPrototypes) {\n // TODO: for (let member of instanceMemberPrototypes.values()) {\n for (let _values = Map_values(instanceMemberPrototypes), i = 0, k = _values.length; i < k; ++i) {\n let member = unchecked(_values[i]);\n let memberName = member.name;\n if (base) {\n let baseMember = base.getMember(memberName);\n if (baseMember) this.checkOverrideVisibility(memberName, member, instance, baseMember, base, reportMode);\n }\n switch (member.kind) {\n case ElementKind.FunctionPrototype: {\n let boundPrototype = (member).toBound(instance);\n instance.add(boundPrototype.name, boundPrototype); // reports\n break;\n }\n case ElementKind.PropertyPrototype: {\n let boundPrototype = (member).toBound(instance);\n if (boundPrototype.isField) { // resolve and lay out\n let boundInstance = this.resolveProperty(boundPrototype, reportMode);\n if (boundInstance) {\n let fieldType = boundInstance.type;\n if (fieldType == Type.void) break; // failed to resolve earlier\n if (fieldType.isExternalReference) {\n this.error(\n DiagnosticCode.Not_implemented_0,\n assert(boundPrototype.typeNode).range,\n \"Reference typed fields\"\n );\n break;\n }\n let needsLayout = true;\n if (base) {\n let existingMember = base.getMember(boundPrototype.name);\n if (existingMember && existingMember.kind == ElementKind.PropertyPrototype) {\n let existingPrototype = existingMember;\n let existingProperty = this.resolveProperty(existingPrototype, reportMode);\n if (existingProperty && existingProperty.isField) {\n if (existingProperty.type != boundInstance.type) {\n // make sure fields are invariant (Binaryen would otherwise error)\n this.errorRelated(\n DiagnosticCode.Property_0_in_type_1_is_not_assignable_to_the_same_property_in_base_type_2,\n boundInstance.identifierNode.range, existingProperty.identifierNode.range,\n boundInstance.name, instance.internalName, base.internalName\n );\n break; // keep existing\n }\n boundInstance.memoryOffset = existingProperty.memoryOffset;\n needsLayout = false;\n }\n }\n }\n if (needsLayout) {\n let byteSize = fieldType.byteSize;\n assert(isPowerOf2(byteSize));\n let mask = byteSize - 1;\n if (memoryOffset & mask) memoryOffset = (memoryOffset | mask) + 1;\n boundInstance.memoryOffset = memoryOffset;\n memoryOffset += byteSize;\n }\n boundPrototype.instance = boundInstance;\n instance.add(boundPrototype.name, boundPrototype); // reports\n // field materializes here, so check for supported type early\n // (other checks are performed once an element is compiled)\n let typeNode = assert(boundPrototype.fieldDeclaration).type;\n if (typeNode) this.program.checkTypeSupported(fieldType, typeNode);\n }\n } else {\n instance.add(boundPrototype.name, boundPrototype); // reports\n }\n break;\n }\n default: assert(false);\n }\n if (!member.is(CommonFlags.Abstract)) {\n unimplemented.delete(memberName);\n }\n }\n }\n\n if (instance.kind != ElementKind.Interface) {\n\n // Check that all required members are implemented\n if (!instance.is(CommonFlags.Abstract) && unimplemented.size > 0) {\n for (let _keys = Map_keys(unimplemented), i = 0, k = _keys.length; i < k; ++i) {\n let memberName = _keys[i];\n let member = assert(unimplemented.get(memberName));\n this.errorRelated(\n DiagnosticCode.Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_2,\n instance.identifierNode.range, member.identifierNode.range,\n instance.internalName, memberName, member.parent.internalName\n );\n }\n }\n\n // Finalize memory offset\n instance.nextMemoryOffset = memoryOffset;\n\n // Link _own_ constructor if present\n {\n let ctorPrototype = instance.getMember(CommonNames.constructor);\n if (ctorPrototype && ctorPrototype.parent == instance) {\n assert(ctorPrototype.kind == ElementKind.FunctionPrototype);\n let ctorInstance = this.resolveFunction(\n ctorPrototype,\n null,\n assert(instance.contextualTypeArguments),\n reportMode\n );\n if (ctorInstance) instance.constructorInstance = ctorInstance;\n }\n }\n }\n\n // Fully resolve operator overloads (don't have type parameters on their own)\n let overloadPrototypes = prototype.operatorOverloadPrototypes;\n // TODO: for (let [overloadKind, overloadPrototype] of overloadPrototypes) {\n for (let _keys = Map_keys(overloadPrototypes), i = 0, k = _keys.length; i < k; ++i) {\n let overloadKind = unchecked(_keys[i]);\n let overloadPrototype = assert(overloadPrototypes.get(overloadKind));\n assert(overloadKind != OperatorKind.Invalid);\n if (overloadPrototype.is(CommonFlags.Generic)) {\n // Already errored during initialization: AS212: Decorator '@operator' is not valid here\n continue;\n }\n let operatorInstance: Function | null;\n if (overloadPrototype.is(CommonFlags.Instance)) {\n let boundPrototype = overloadPrototype.toBound(instance);\n operatorInstance = this.resolveFunction(\n boundPrototype,\n null,\n new Map(),\n reportMode\n );\n } else {\n operatorInstance = this.resolveFunction(\n overloadPrototype,\n null,\n new Map(),\n reportMode\n );\n }\n if (!operatorInstance) continue;\n let overloads = instance.operatorOverloads;\n if (!overloads) instance.operatorOverloads = overloads = new Map();\n // inc/dec are special in that an instance overload attempts to re-assign\n // the corresponding value, thus requiring a matching return type, while a\n // static overload works like any other overload.\n if (operatorInstance.is(CommonFlags.Instance)) {\n switch (overloadKind) {\n case OperatorKind.PrefixInc:\n case OperatorKind.PrefixDec:\n case OperatorKind.PostfixInc:\n case OperatorKind.PostfixDec: {\n let returnType = operatorInstance.signature.returnType;\n if (!returnType.isAssignableTo(instance.type)) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Type_0_is_not_assignable_to_type_1,\n overloadPrototype.functionTypeNode.returnType.range, returnType.toString(), instance.type.toString()\n );\n }\n }\n }\n }\n }\n if (!overloads.has(overloadKind)) {\n overloads.set(overloadKind, operatorInstance);\n if (overloadKind == OperatorKind.IndexedGet || overloadKind == OperatorKind.IndexedSet) {\n let index = instance.indexSignature;\n if (!index) instance.indexSignature = index = new IndexSignature(instance);\n if (overloadKind == OperatorKind.IndexedGet) {\n index.setType(operatorInstance.signature.returnType);\n }\n }\n } else {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Duplicate_decorator,\n operatorInstance.declaration.range\n );\n }\n }\n }\n\n // Remove this class from pending\n assert(pendingClasses.has(instance)); // must be pending\n pendingClasses.delete(instance);\n\n // Finish derived classes that we postponed in `resolveClass` due to the\n // base class still being pending, again triggering `finishResolveClass`\n // of any classes derived from those classes, ultimately leading to all\n // pending classes being resolved.\n for (let _values = Set_values(pendingClasses), i = 0, k = _values.length; i < k; ++i) {\n let pending = _values[i];\n let dependsOnInstance = pending.base == instance;\n let interfaces = pending.interfaces;\n if (interfaces) {\n let anyPending = false;\n for (let _values2 = Set_values(interfaces), j = 0, l = _values2.length; j < l; ++j) {\n let iface = _values2[j];\n if (iface == instance) dependsOnInstance = true;\n else if (pendingClasses.has(iface)) anyPending = true;\n }\n if (anyPending) continue;\n }\n if (dependsOnInstance) this.finishResolveClass(pending, reportMode);\n }\n }\n\n /** Resolves a class prototype by first resolving the specified type arguments. */\n resolveClassInclTypeArguments(\n /** The prototype of the class. */\n prototype: ClassPrototype,\n /** Type arguments provided to be resolved. */\n typeArgumentNodes: TypeNode[] | null,\n /** Flow of {@link typeArgumentNodes} */\n flow: Flow | null,\n /** Contextual element. */\n ctxElement: Element,\n /** Contextual types, i.e. `T`. */\n ctxTypes: Map,\n /** The node to use when reporting intermediate errors. */\n reportNode: Node,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Class | null {\n let resolvedTypeArguments: Type[] | null = null;\n\n // Resolve type arguments if generic\n if (prototype.is(CommonFlags.Generic)) {\n resolvedTypeArguments = this.resolveTypeArguments( // reports\n assert(prototype.typeParameterNodes), // must be present if generic\n typeArgumentNodes,\n flow,\n ctxElement,\n ctxTypes, // update\n reportNode,\n reportMode\n );\n if (!resolvedTypeArguments) return null;\n\n // Otherwise make sure that no type arguments have been specified\n } else {\n if (typeArgumentNodes && typeArgumentNodes.length > 0) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Type_0_is_not_generic,\n reportNode.range, prototype.internalName\n );\n }\n return null;\n }\n }\n\n // Continue with concrete types\n return this.resolveClass(\n prototype,\n resolvedTypeArguments,\n ctxTypes,\n reportMode\n );\n }\n\n /** Resolves a property prototype. */\n resolveProperty(\n /** The prototype of the property. */\n prototype: PropertyPrototype,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Property | null {\n let instance = prototype.instance;\n if (instance) return instance;\n prototype.instance = instance = new Property(\n prototype,\n prototype.parent // same level as prototype\n );\n let getterPrototype = prototype.getterPrototype;\n if (getterPrototype) {\n let getterInstance = this.resolveFunction(\n getterPrototype,\n null,\n new Map(),\n reportMode\n );\n if (getterInstance) {\n instance.getterInstance = getterInstance;\n instance.setType(getterInstance.signature.returnType);\n }\n }\n let setterPrototype = prototype.setterPrototype;\n if (setterPrototype) {\n let setterInstance = this.resolveFunction(\n setterPrototype,\n null,\n new Map(),\n reportMode\n );\n if (setterInstance) {\n instance.setterInstance = setterInstance;\n if (!instance.is(CommonFlags.Resolved)) {\n assert(setterInstance.signature.parameterTypes.length == 1);\n instance.setType(setterInstance.signature.parameterTypes[0]);\n }\n }\n }\n instance.checkVisibility(this);\n return instance;\n }\n\n private ensureOneTypeArgument(\n /** The type to resolve. */\n node: NamedTypeNode,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): TypeNode | null {\n let typeArgumentNodes = node.typeArguments;\n let numTypeArguments = 0;\n if (!typeArgumentNodes || (numTypeArguments = typeArgumentNodes.length) != 1) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Expected_0_type_arguments_but_got_1,\n node.range, \"1\", numTypeArguments.toString()\n );\n }\n return null;\n }\n return typeArgumentNodes[0];\n }\n}\n", "/**\n * @fileoverview A TypeScript parser for the AssemblyScript subset.\n *\n * Takes the tokens produced by the `Tokenizer` and builds an abstract\n * syntax tree composed of `Node`s wrapped in a `Source` out of it.\n *\n * @license Apache-2.0\n */\n\nimport {\n CommonFlags,\n LIBRARY_PREFIX,\n PATH_DELIMITER\n} from \"./common\";\n\nimport {\n Tokenizer,\n Token,\n CommentHandler,\n IdentifierHandling,\n isIllegalVariableIdentifier\n} from \"./tokenizer\";\n\nimport {\n Range,\n DiagnosticCode,\n DiagnosticEmitter,\n DiagnosticMessage\n} from \"./diagnostics\";\n\nimport {\n CharCode,\n normalizePath\n} from \"./util\";\n\nimport {\n Node,\n NodeKind,\n Source,\n SourceKind,\n TypeNode,\n TypeName,\n NamedTypeNode,\n FunctionTypeNode,\n ArrowKind,\n\n Expression,\n AssertionKind,\n CallExpression,\n ClassExpression,\n FunctionExpression,\n IdentifierExpression,\n StringLiteralExpression,\n\n Statement,\n BlockStatement,\n BreakStatement,\n ClassDeclaration,\n ContinueStatement,\n DeclarationStatement,\n DecoratorNode,\n DoStatement,\n EnumDeclaration,\n EnumValueDeclaration,\n ExportImportStatement,\n ExportMember,\n ExportStatement,\n ExpressionStatement,\n ForOfStatement,\n FunctionDeclaration,\n IfStatement,\n ImportDeclaration,\n ImportStatement,\n IndexSignatureNode,\n NamespaceDeclaration,\n ParameterNode,\n ParameterKind,\n ReturnStatement,\n SwitchCase,\n SwitchStatement,\n ThrowStatement,\n TryStatement,\n TypeDeclaration,\n TypeParameterNode,\n VariableStatement,\n VariableDeclaration,\n VoidStatement,\n WhileStatement,\n ModuleDeclaration,\n\n mangleInternalPath\n} from \"./ast\";\n\n/** Represents a dependee. */\nclass Dependee {\n constructor(\n public source: Source,\n public reportNode: Node\n ) {}\n}\n\n/** Parser interface. */\nexport class Parser extends DiagnosticEmitter {\n\n /** Source file names to be requested next. */\n backlog: string[] = new Array();\n /** Source file names already seen, that is processed or backlogged. */\n seenlog: Set = new Set();\n /** Source file names already completely processed. */\n donelog: Set = new Set();\n /** Optional handler to intercept comments while tokenizing. */\n onComment: CommentHandler | null = null;\n /** Current file being parsed. */\n currentSource: Source | null = null;\n /** Map of dependees being depended upon by a source, by path. */\n dependees: Map = new Map();\n /** An array of parsed sources. */\n sources: Source[];\n /** Current overridden module name. */\n currentModuleName: string | null = null;\n\n /** Constructs a new parser. */\n constructor(\n diagnostics: DiagnosticMessage[] | null = null,\n sources: Source[] = []\n ) {\n super(diagnostics);\n this.sources = sources;\n }\n\n /** Parses a file and adds its definitions to the program. */\n parseFile(\n /** Source text of the file, or `null` to indicate not found. */\n text: string | null,\n /** Normalized path of the file. */\n path: string,\n /** Whether this is an entry file. */\n isEntry: bool\n ): void {\n // the frontend gives us paths with file extensions\n let normalizedPath = normalizePath(path);\n let internalPath = mangleInternalPath(normalizedPath);\n\n // check if already processed\n if (this.donelog.has(internalPath)) return;\n this.donelog.add(internalPath); // do not parse again\n this.seenlog.add(internalPath); // do not request again\n\n // check if this is an error\n if (text == null) {\n let dependees = this.dependees;\n let dependee: Dependee | null = null;\n if (dependees.has(internalPath)) dependee = assert(dependees.get(internalPath));\n this.error(\n DiagnosticCode.File_0_not_found,\n dependee\n ? dependee.reportNode.range\n : null,\n path\n );\n return;\n }\n\n // create the source element\n let source = new Source(\n isEntry\n ? SourceKind.UserEntry\n : path.startsWith(LIBRARY_PREFIX)\n ? path.indexOf(PATH_DELIMITER, LIBRARY_PREFIX.length) < 0\n ? SourceKind.LibraryEntry\n : SourceKind.Library\n : SourceKind.User,\n normalizedPath,\n text\n );\n\n this.sources.push(source);\n this.currentSource = source;\n this.currentModuleName = null;\n\n // tokenize and parse\n let tn = new Tokenizer(source, this.diagnostics);\n tn.onComment = this.onComment;\n let statements = source.statements;\n while (!tn.skip(Token.EndOfFile)) {\n let statement = this.parseTopLevelStatement(tn, null);\n if (statement) {\n statements.push(statement);\n } else {\n this.skipStatement(tn);\n }\n }\n }\n\n /** Parses a top-level statement. */\n parseTopLevelStatement(\n tn: Tokenizer,\n namespace: NamespaceDeclaration | null = null\n ): Statement | null {\n let flags = namespace ? namespace.flags & CommonFlags.Ambient : CommonFlags.None;\n let startPos = -1;\n\n // check decorators\n let decorators: DecoratorNode[] | null = null;\n while (tn.skip(Token.At)) {\n if (startPos < 0) startPos = tn.tokenPos;\n let decorator = this.parseDecorator(tn);\n if (!decorator) {\n this.skipStatement(tn);\n continue;\n }\n if (!decorators) decorators = [decorator];\n else decorators.push(decorator);\n }\n\n // check modifiers\n let exportStart = 0;\n let exportEnd = 0;\n let defaultStart = 0;\n let defaultEnd = 0;\n if (tn.skip(Token.Export)) {\n if (startPos < 0) startPos = tn.tokenPos;\n flags |= CommonFlags.Export;\n exportStart = tn.tokenPos;\n exportEnd = tn.pos;\n if (tn.skip(Token.Default)) {\n defaultStart = tn.tokenPos;\n defaultEnd = tn.pos;\n }\n }\n\n let declareStart = 0;\n let declareEnd = 0;\n let contextIsAmbient = namespace != null && namespace.is(CommonFlags.Ambient);\n if (tn.skip(Token.Declare)) {\n if (contextIsAmbient) {\n this.error(\n DiagnosticCode.A_declare_modifier_cannot_be_used_in_an_already_ambient_context,\n tn.range()\n ); // recoverable\n } else {\n if (startPos < 0) startPos = tn.tokenPos;\n declareStart = startPos;\n declareEnd = tn.pos;\n flags |= CommonFlags.Declare | CommonFlags.Ambient;\n }\n } else if (contextIsAmbient) {\n flags |= CommonFlags.Ambient;\n }\n\n // parse the statement\n let statement: Statement | null = null;\n\n // handle declarations\n let first = tn.peek();\n if (startPos < 0) startPos = tn.nextTokenPos;\n switch (first) {\n case Token.Const: {\n tn.next();\n flags |= CommonFlags.Const;\n if (tn.skip(Token.Enum)) {\n statement = this.parseEnum(tn, flags, decorators, startPos);\n } else {\n statement = this.parseVariable(tn, flags, decorators, startPos);\n }\n decorators = null;\n break;\n }\n case Token.Let: flags |= CommonFlags.Let;\n case Token.Var: {\n tn.next();\n statement = this.parseVariable(tn, flags, decorators, startPos);\n decorators = null;\n break;\n }\n case Token.Enum: {\n tn.next();\n statement = this.parseEnum(tn, flags, decorators, startPos);\n decorators = null;\n break;\n }\n case Token.Function: {\n tn.next();\n statement = this.parseFunction(tn, flags, decorators, startPos);\n decorators = null;\n break;\n }\n case Token.Abstract: {\n let state = tn.mark();\n tn.next();\n let abstractStart = tn.tokenPos;\n let abstractEnd = tn.pos;\n if (tn.peekOnNewLine()) {\n tn.reset(state);\n statement = this.parseStatement(tn, true);\n break;\n }\n let next = tn.peek();\n if (next != Token.Class) {\n if (next == Token.Interface) {\n this.error(\n DiagnosticCode._abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration,\n tn.range(abstractStart, abstractEnd)\n );\n }\n tn.reset(state);\n statement = this.parseStatement(tn, true);\n break;\n } else {\n tn.discard(state);\n }\n flags |= CommonFlags.Abstract;\n // fall through\n }\n case Token.Class:\n case Token.Interface: {\n tn.next();\n statement = this.parseClassOrInterface(tn, flags, decorators, startPos);\n decorators = null;\n break;\n }\n case Token.Namespace: {\n let state = tn.mark();\n tn.next();\n if (tn.peek(IdentifierHandling.Prefer) == Token.Identifier) {\n tn.discard(state);\n statement = this.parseNamespace(tn, flags, decorators, startPos);\n decorators = null;\n } else {\n tn.reset(state);\n statement = this.parseStatement(tn, true);\n }\n break;\n }\n case Token.Import: {\n tn.next();\n flags |= CommonFlags.Import;\n if (flags & CommonFlags.Export) {\n statement = this.parseExportImport(tn, startPos);\n } else {\n statement = this.parseImport(tn);\n }\n break;\n }\n case Token.Type: { // also identifier\n let state = tn.mark();\n tn.next();\n if (tn.peek(IdentifierHandling.Prefer) == Token.Identifier) {\n tn.discard(state);\n statement = this.parseTypeDeclaration(tn, flags, decorators, startPos);\n decorators = null;\n } else {\n tn.reset(state);\n statement = this.parseStatement(tn, true);\n }\n break;\n }\n case Token.Module: { // also identifier\n let state = tn.mark();\n tn.next();\n if (tn.peek() == Token.StringLiteral && !tn.peekOnNewLine()) {\n tn.discard(state);\n statement = this.parseModuleDeclaration(tn, flags);\n } else {\n tn.reset(state);\n statement = this.parseStatement(tn, true);\n }\n break;\n }\n default: {\n\n // handle plain exports\n if (flags & CommonFlags.Export) {\n if (defaultEnd && tn.skipIdentifier(IdentifierHandling.Prefer)) {\n if (declareEnd) {\n this.error(\n DiagnosticCode.An_export_assignment_cannot_have_modifiers,\n tn.range(declareStart, declareEnd)\n );\n }\n statement = this.parseExportDefaultAlias(tn, startPos, defaultStart, defaultEnd);\n defaultStart = defaultEnd = 0; // consume\n } else {\n statement = this.parseExport(tn, startPos, (flags & CommonFlags.Declare) != 0);\n }\n\n // handle non-declaration statements\n } else {\n if (exportEnd) {\n this.error(\n DiagnosticCode._0_modifier_cannot_be_used_here,\n tn.range(exportStart, exportEnd), \"export\"\n ); // recoverable\n }\n if (declareEnd) {\n this.error(\n DiagnosticCode._0_modifier_cannot_be_used_here,\n tn.range(declareStart, declareEnd), \"declare\"\n ); // recoverable\n }\n if (namespace) {\n this.error(\n DiagnosticCode.Namespace_can_only_have_declarations,\n tn.range(startPos)\n );\n } else {\n statement = this.parseStatement(tn, true);\n }\n }\n break;\n }\n }\n\n // check for decorators that weren't consumed\n if (decorators) {\n for (let i = 0, k = decorators.length; i < k; ++i) {\n this.error(\n DiagnosticCode.Decorators_are_not_valid_here,\n decorators[i].range\n );\n }\n }\n\n // check if this an `export default` declaration\n if (defaultEnd && statement != null) {\n switch (statement.kind) {\n case NodeKind.EnumDeclaration:\n case NodeKind.FunctionDeclaration:\n case NodeKind.ClassDeclaration:\n case NodeKind.InterfaceDeclaration:\n case NodeKind.NamespaceDeclaration: {\n return Node.createExportDefaultStatement(statement, tn.range(startPos, tn.pos));\n }\n default: {\n this.error(\n DiagnosticCode._0_modifier_cannot_be_used_here,\n tn.range(defaultStart, defaultEnd), \"default\"\n );\n }\n }\n }\n return statement;\n }\n\n /** Obtains the next file to parse. */\n nextFile(): string | null {\n let backlog = this.backlog;\n return backlog.length ? assert(backlog.shift()) : null;\n }\n\n /** Obtains the path of the dependee of the given imported file. */\n getDependee(dependent: string): string | null {\n let dependees = this.dependees;\n if (dependees.has(dependent)) {\n let dependee = assert(dependees.get(dependent));\n return dependee.source.internalPath;\n }\n return null;\n }\n\n /** Finishes parsing. */\n finish(): void {\n if (this.backlog.length) throw new Error(\"backlog is not empty\");\n this.backlog = [];\n this.seenlog.clear();\n this.donelog.clear();\n this.dependees.clear();\n }\n\n // types\n\n /** Parses a type name. */\n parseTypeName(\n tn: Tokenizer\n ): TypeName | null {\n\n // at: Identifier ('.' Identifier)*\n\n let first = Node.createSimpleTypeName(tn.readIdentifier(), tn.range());\n let current = first;\n while (tn.skip(Token.Dot)) {\n if (tn.skip(Token.Identifier)) {\n let next = Node.createSimpleTypeName(tn.readIdentifier(), tn.range());\n current.next = next;\n current = next;\n } else {\n this.error(\n DiagnosticCode.Identifier_expected,\n tn.range(tn.pos)\n );\n return null;\n }\n }\n return first;\n }\n\n /** Parses a type. */\n parseType(\n tn: Tokenizer,\n acceptParenthesized: bool = true,\n suppressErrors: bool = false\n ): TypeNode | null {\n\n // before: Type\n\n // NOTE: this parses our limited subset\n let token = tn.next();\n let startPos = tn.tokenPos;\n\n let type: TypeNode;\n\n // '(' ...\n if (token == Token.OpenParen) {\n\n // '(' FunctionSignature ')'\n let isInnerParenthesized = tn.skip(Token.OpenParen);\n // FunctionSignature?\n let signature = this.tryParseFunctionType(tn);\n if (signature) {\n if (isInnerParenthesized) {\n if (!tn.skip(Token.CloseParen)) {\n if (!suppressErrors) {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \")\"\n );\n }\n return null;\n }\n }\n type = signature;\n } else if (isInnerParenthesized || this.tryParseSignatureIsSignature) {\n if (!suppressErrors) {\n this.error(\n DiagnosticCode.Unexpected_token,\n tn.range()\n );\n }\n return null;\n // Type (',' Type)* ')'\n } else if (acceptParenthesized) {\n let innerType = this.parseType(tn, false, suppressErrors);\n if (!innerType) return null;\n if (!tn.skip(Token.CloseParen)) {\n if (!suppressErrors) {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(tn.pos), \")\"\n );\n }\n return null;\n }\n type = innerType;\n type.range.start = startPos;\n type.range.end = tn.pos;\n } else {\n if (!suppressErrors) {\n this.error(\n DiagnosticCode.Unexpected_token,\n tn.range()\n );\n }\n return null;\n }\n\n // 'void'\n } else if (token == Token.Void) {\n type = Node.createNamedType(\n Node.createSimpleTypeName(\"void\", tn.range()), [], false, tn.range(startPos, tn.pos)\n );\n\n // 'this'\n } else if (token == Token.This) {\n type = Node.createNamedType(\n Node.createSimpleTypeName(\"this\", tn.range()), [], false, tn.range(startPos, tn.pos)\n );\n\n // 'true'\n } else if (token == Token.True || token == Token.False) {\n type = Node.createNamedType(\n Node.createSimpleTypeName(\"bool\", tn.range()), [], false, tn.range(startPos, tn.pos)\n );\n\n // 'null'\n } else if (token == Token.Null) {\n type = Node.createNamedType(\n Node.createSimpleTypeName(\"null\", tn.range()), [], false, tn.range(startPos, tn.pos)\n );\n\n // StringLiteral\n } else if (token == Token.StringLiteral) {\n tn.readString();\n type = Node.createNamedType(\n Node.createSimpleTypeName(\"string\", tn.range()), [], false, tn.range(startPos, tn.pos)\n );\n\n // Identifier\n } else if (token == Token.Identifier) {\n let name = this.parseTypeName(tn);\n if (!name) return null;\n let parameters: TypeNode[] | null = null;\n\n // Name\n if (tn.skip(Token.LessThan)) {\n do {\n let parameter = this.parseType(tn, true, suppressErrors);\n if (!parameter) return null;\n if (!parameters) parameters = [ parameter ];\n else parameters.push(parameter);\n } while (tn.skip(Token.Comma));\n if (!tn.skip(Token.GreaterThan)) {\n if (!suppressErrors) {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(tn.pos), \">\"\n );\n }\n return null;\n }\n }\n if (!parameters) parameters = [];\n type = Node.createNamedType(name, parameters, false, tn.range(startPos, tn.pos));\n } else {\n if (!suppressErrors) {\n this.error(\n DiagnosticCode.Type_expected,\n tn.range()\n );\n }\n return null;\n }\n // ... | type\n while (tn.skip(Token.Bar)) {\n let nextType = this.parseType(tn, false, true);\n if (!nextType) return null;\n let typeIsNull = type.kind == NodeKind.NamedType && (type).isNull;\n let nextTypeIsNull = nextType.kind == NodeKind.NamedType && (nextType).isNull;\n if (!typeIsNull && !nextTypeIsNull) {\n if (!suppressErrors) {\n this.error(\n DiagnosticCode.Not_implemented_0, nextType.range, \"union types\"\n );\n }\n return null;\n } else if (nextTypeIsNull) {\n type.isNullable = true;\n type.range.end = nextType.range.end;\n } else if (typeIsNull) {\n nextType.range.start = type.range.start;\n nextType.isNullable = true;\n type = nextType;\n } else {\n // `null | null` still `null`\n type.range.end = nextType.range.end;\n }\n }\n // ... [][]\n while (tn.skip(Token.OpenBracket)) {\n let bracketStart = tn.tokenPos;\n if (!tn.skip(Token.CloseBracket)) {\n if (!suppressErrors) {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \"]\"\n );\n }\n return null;\n }\n let bracketRange = tn.range(bracketStart, tn.pos);\n\n // ...[] | null\n let nullable = false;\n if (tn.skip(Token.Bar)) {\n if (tn.skip(Token.Null)) {\n nullable = true;\n } else {\n if (!suppressErrors) {\n this.error(\n DiagnosticCode.Not_implemented_0,\n tn.range(), \"union types\"\n );\n }\n return null;\n }\n }\n type = Node.createNamedType(\n Node.createSimpleTypeName(\"Array\", bracketRange),\n [ type ],\n nullable,\n tn.range(startPos, tn.pos)\n );\n if (nullable) break;\n }\n\n return type;\n }\n\n // Indicates whether tryParseSignature determined that it is handling a Signature\n private tryParseSignatureIsSignature: bool = false;\n\n /** Parses a function type, as used in type declarations. */\n tryParseFunctionType(\n tn: Tokenizer\n ): FunctionTypeNode | null {\n\n // at '(': ('...'? Identifier '?'? ':' Type (',' '...'? Identifier '?'? ':' Type)* )? ')' '=>' Type\n\n let state = tn.mark();\n let startPos = tn.tokenPos;\n let parameters: ParameterNode[] | null = null;\n let thisType: NamedTypeNode | null = null;\n let isSignature: bool = false;\n let firstParamNameNoType: IdentifierExpression | null = null;\n let firstParamKind: ParameterKind = ParameterKind.Default;\n\n if (tn.skip(Token.CloseParen)) {\n isSignature = true;\n tn.discard(state);\n parameters = [];\n\n } else {\n isSignature = false; // not yet known\n do {\n let paramStart = -1;\n let kind = ParameterKind.Default;\n if (tn.skip(Token.Dot_Dot_Dot)) {\n paramStart = tn.tokenPos;\n isSignature = true;\n tn.discard(state);\n kind = ParameterKind.Rest;\n }\n if (tn.skip(Token.This)) {\n if (paramStart < 0) paramStart = tn.tokenPos;\n if (tn.skip(Token.Colon)) {\n isSignature = true;\n tn.discard(state);\n let type = this.parseType(tn, false);\n if (!type) return null;\n if (type.kind != NodeKind.NamedType) {\n this.error(\n DiagnosticCode.Identifier_expected,\n type.range\n );\n this.tryParseSignatureIsSignature = true;\n return null;\n }\n thisType = type;\n } else {\n tn.reset(state);\n this.tryParseSignatureIsSignature = false;\n return null;\n }\n } else if (tn.skipIdentifier()) {\n if (paramStart < 0) paramStart = tn.tokenPos;\n let name = Node.createIdentifierExpression(tn.readIdentifier(), tn.range(tn.tokenPos, tn.pos));\n if (tn.skip(Token.Question)) {\n isSignature = true;\n tn.discard(state);\n if (kind == ParameterKind.Rest) {\n this.error(\n DiagnosticCode.A_rest_parameter_cannot_be_optional,\n tn.range()\n ); // recoverable\n } else {\n kind = ParameterKind.Optional;\n }\n }\n if (tn.skip(Token.Colon)) {\n isSignature = true;\n tn.discard(state);\n let type = this.parseType(tn); // not suppressing errors because known\n if (!type) {\n this.tryParseSignatureIsSignature = isSignature;\n return null;\n }\n let param = Node.createParameter(kind, name, type, null, tn.range(paramStart, tn.pos));\n if (!parameters) parameters = [ param ];\n else parameters.push(param);\n } else {\n if (!isSignature) {\n if (tn.peek() == Token.Comma) {\n isSignature = true;\n tn.discard(state);\n }\n }\n if (isSignature) {\n let param = Node.createParameter(kind, name, Node.createOmittedType(tn.range(tn.pos)), null, tn.range(paramStart, tn.pos));\n if (!parameters) parameters = [ param ];\n else parameters.push(param);\n this.error(\n DiagnosticCode.Type_expected,\n param.type.range\n ); // recoverable\n } else if (!parameters) {\n // on '(' Identifier ^',' we don't yet know whether this is a\n // parenthesized or a function type, hence we have to delay the\n // respective diagnostic until we know for sure.\n firstParamNameNoType = name;\n firstParamKind = kind;\n }\n }\n } else {\n if (isSignature) {\n if (tn.peek() == Token.CloseParen) break; // allow trailing comma\n this.error(\n DiagnosticCode.Identifier_expected,\n tn.range()\n );\n } else {\n tn.reset(state);\n }\n this.tryParseSignatureIsSignature = isSignature;\n return null;\n }\n } while (tn.skip(Token.Comma));\n if (!tn.skip(Token.CloseParen)) {\n if (isSignature) {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \")\"\n );\n } else {\n tn.reset(state);\n }\n this.tryParseSignatureIsSignature = isSignature;\n return null;\n }\n }\n\n let returnType: TypeNode | null;\n if (tn.skip(Token.Equals_GreaterThan)) {\n if (!isSignature) {\n isSignature = true;\n tn.discard(state);\n if (firstParamNameNoType) { // now we know\n let param = Node.createParameter(\n firstParamKind,\n firstParamNameNoType,\n Node.createOmittedType(firstParamNameNoType.range.atEnd),\n null,\n firstParamNameNoType.range\n );\n if (!parameters) parameters = [ param ];\n else parameters.push(param);\n this.error(\n DiagnosticCode.Type_expected,\n param.type.range\n ); // recoverable\n }\n }\n returnType = this.parseType(tn);\n if (!returnType) {\n this.tryParseSignatureIsSignature = isSignature;\n return null;\n }\n } else {\n if (isSignature) {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \"=>\"\n );\n } else {\n tn.reset(state);\n }\n this.tryParseSignatureIsSignature = isSignature;\n return null;\n }\n this.tryParseSignatureIsSignature = true;\n\n if (!parameters) parameters = [];\n\n return Node.createFunctionType(\n parameters,\n returnType,\n thisType,\n false,\n tn.range(startPos, tn.pos)\n );\n }\n\n // statements\n\n parseDecorator(\n tn: Tokenizer\n ): DecoratorNode | null {\n\n // at '@': Identifier ('.' Identifier)* '(' Arguments\n\n let startPos = tn.tokenPos;\n if (tn.skipIdentifier()) {\n let name = tn.readIdentifier();\n let expression: Expression = Node.createIdentifierExpression(name, tn.range(startPos, tn.pos));\n while (tn.skip(Token.Dot)) {\n if (tn.skipIdentifier(IdentifierHandling.Prefer)) {\n name = tn.readIdentifier();\n expression = Node.createPropertyAccessExpression(\n expression,\n Node.createIdentifierExpression(name, tn.range()),\n tn.range(startPos, tn.pos)\n );\n } else {\n this.error(\n DiagnosticCode.Identifier_expected,\n tn.range()\n );\n return null;\n }\n }\n let args: Expression[] | null;\n if (tn.skip(Token.OpenParen)) {\n args = this.parseArguments(tn);\n if (args) {\n return Node.createDecorator(expression, args, tn.range(startPos, tn.pos));\n }\n } else {\n return Node.createDecorator(expression, null, tn.range(startPos, tn.pos));\n }\n } else {\n this.error(\n DiagnosticCode.Identifier_expected,\n tn.range()\n );\n }\n return null;\n }\n\n parseVariable(\n tn: Tokenizer,\n flags: CommonFlags,\n decorators: DecoratorNode[] | null,\n startPos: i32,\n isFor: bool = false\n ): VariableStatement | null {\n\n // at ('const' | 'let' | 'var'): VariableDeclaration (',' VariableDeclaration)* ';'?\n\n let declarations = new Array();\n do {\n let declaration = this.parseVariableDeclaration(tn, flags, decorators, isFor);\n if (!declaration) return null;\n declaration.overriddenModuleName = this.currentModuleName;\n declarations.push(declaration);\n } while (tn.skip(Token.Comma));\n\n let ret = Node.createVariableStatement(decorators, declarations, tn.range(startPos, tn.pos));\n if (!tn.skip(Token.Semicolon) && !isFor) this.checkASI(tn);\n return ret;\n }\n\n parseVariableDeclaration(\n tn: Tokenizer,\n parentFlags: CommonFlags,\n parentDecorators: DecoratorNode[] | null,\n isFor: bool = false\n ): VariableDeclaration | null {\n\n // before: Identifier (':' Type)? ('=' Expression)?\n\n if (!tn.skipIdentifier()) {\n this.error(\n DiagnosticCode.Identifier_expected,\n tn.range()\n );\n return null;\n }\n let identifier = Node.createIdentifierExpression(tn.readIdentifier(), tn.range());\n if (isIllegalVariableIdentifier(identifier.text)) {\n this.error(\n DiagnosticCode.Identifier_expected,\n identifier.range\n );\n }\n let flags = parentFlags;\n if (tn.skip(Token.Exclamation)) {\n flags |= CommonFlags.DefinitelyAssigned;\n }\n\n let type: TypeNode | null = null;\n if (tn.skip(Token.Colon)) {\n type = this.parseType(tn, true);\n }\n\n let initializer: Expression | null = null;\n if (tn.skip(Token.Equals)) {\n if (flags & CommonFlags.Ambient) {\n this.error(\n DiagnosticCode.Initializers_are_not_allowed_in_ambient_contexts,\n tn.range()\n ); // recoverable\n }\n initializer = this.parseExpression(tn, Precedence.Comma + 1);\n if (!initializer) return null;\n if (flags & CommonFlags.DefinitelyAssigned) {\n this.error(\n DiagnosticCode.Declarations_with_initializers_cannot_also_have_definite_assignment_assertions,\n initializer.range\n );\n }\n } else if (!isFor) {\n if (flags & CommonFlags.Const) {\n if (!(flags & CommonFlags.Ambient)) {\n this.error(\n DiagnosticCode._const_declarations_must_be_initialized,\n identifier.range\n ); // recoverable\n }\n } else if (!type) { // neither type nor initializer\n this.error(\n DiagnosticCode.Type_expected,\n tn.range(tn.pos)\n ); // recoverable\n }\n }\n let range = Range.join(identifier.range, tn.range());\n if ((flags & CommonFlags.DefinitelyAssigned) != 0 && (flags & CommonFlags.Ambient) != 0) {\n this.error(\n DiagnosticCode.A_definite_assignment_assertion_is_not_permitted_in_this_context,\n range\n );\n }\n return Node.createVariableDeclaration(\n identifier,\n parentDecorators,\n flags,\n type,\n initializer,\n range\n );\n }\n\n parseEnum(\n tn: Tokenizer,\n flags: CommonFlags,\n decorators: DecoratorNode[] | null,\n startPos: i32\n ): EnumDeclaration | null {\n\n // at 'enum': Identifier '{' (EnumValueDeclaration (',' EnumValueDeclaration )*)? '}' ';'?\n\n if (tn.next() != Token.Identifier) {\n this.error(\n DiagnosticCode.Identifier_expected,\n tn.range()\n );\n return null;\n }\n let identifier = Node.createIdentifierExpression(tn.readIdentifier(), tn.range());\n if (tn.next() != Token.OpenBrace) {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \"{\"\n );\n return null;\n }\n let members = new Array();\n while (!tn.skip(Token.CloseBrace)) {\n let member = this.parseEnumValue(tn, CommonFlags.None);\n if (!member) return null;\n members.push(member);\n if (!tn.skip(Token.Comma)) {\n if (tn.skip(Token.CloseBrace)) {\n break;\n } else {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \"}\"\n );\n return null;\n }\n }\n }\n let ret = Node.createEnumDeclaration(\n identifier,\n decorators,\n flags,\n members,\n tn.range(startPos, tn.pos)\n );\n ret.overriddenModuleName = this.currentModuleName;\n tn.skip(Token.Semicolon);\n return ret;\n }\n\n parseEnumValue(\n tn: Tokenizer,\n parentFlags: CommonFlags\n ): EnumValueDeclaration | null {\n\n // before: Identifier ('=' Expression)?\n\n if (!tn.skipIdentifier()) {\n this.error(\n DiagnosticCode.Identifier_expected,\n tn.range()\n );\n return null;\n }\n let identifier = Node.createIdentifierExpression(tn.readIdentifier(), tn.range());\n let value: Expression | null = null;\n if (tn.skip(Token.Equals)) {\n value = this.parseExpression(tn, Precedence.Comma + 1);\n if (!value) return null;\n }\n return Node.createEnumValueDeclaration(\n identifier,\n parentFlags,\n value,\n Range.join(identifier.range, tn.range())\n );\n }\n\n parseReturn(\n tn: Tokenizer\n ): ReturnStatement | null {\n\n // at 'return': Expression | (';' | '}' | ...'\\n')\n\n let startPos = tn.tokenPos;\n let expr: Expression | null = null;\n let nextToken = tn.peek();\n if (\n nextToken != Token.Semicolon &&\n nextToken != Token.CloseBrace &&\n !tn.peekOnNewLine()\n ) {\n if (!(expr = this.parseExpression(tn))) return null;\n }\n\n let ret = Node.createReturnStatement(expr, tn.range(startPos, tn.pos));\n if (!tn.skip(Token.Semicolon)) this.checkASI(tn);\n return ret;\n }\n\n parseTypeParameters(\n tn: Tokenizer\n ): TypeParameterNode[] | null {\n\n // at '<': TypeParameter (',' TypeParameter)* '>'\n\n let typeParameters = new Array();\n let seenOptional = false;\n let start = tn.tokenPos;\n while (!tn.skip(Token.GreaterThan)) {\n let typeParameter = this.parseTypeParameter(tn);\n if (!typeParameter) return null;\n if (typeParameter.defaultType) {\n seenOptional = true;\n } else if (seenOptional) {\n this.error(\n DiagnosticCode.Required_type_parameters_may_not_follow_optional_type_parameters,\n typeParameter.range\n );\n typeParameter.defaultType = null;\n }\n typeParameters.push(typeParameter);\n if (!tn.skip(Token.Comma)) {\n if (tn.skip(Token.GreaterThan)) {\n break;\n } else {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \">\"\n );\n return null;\n }\n }\n }\n if (!typeParameters.length) {\n this.error(\n DiagnosticCode.Type_parameter_list_cannot_be_empty,\n tn.range(start, tn.pos)\n ); // recoverable\n }\n return typeParameters;\n }\n\n parseTypeParameter(\n tn: Tokenizer\n ): TypeParameterNode | null {\n\n // before: Identifier ('extends' Type)? ('=' Type)?\n\n if (tn.next() == Token.Identifier) {\n let identifier = Node.createIdentifierExpression(\n tn.readIdentifier(),\n tn.range()\n );\n let extendsType: NamedTypeNode | null = null;\n if (tn.skip(Token.Extends)) {\n let type = this.parseType(tn);\n if (!type) return null;\n if (type.kind != NodeKind.NamedType) {\n this.error(\n DiagnosticCode.Identifier_expected,\n type.range\n );\n return null;\n }\n extendsType = type;\n }\n let defaultType: NamedTypeNode | null = null;\n if (tn.skip(Token.Equals)) {\n let type = this.parseType(tn);\n if (!type) return null;\n if (type.kind != NodeKind.NamedType) {\n this.error(\n DiagnosticCode.Identifier_expected,\n type.range\n );\n return null;\n }\n defaultType = type;\n }\n return Node.createTypeParameter(\n identifier,\n extendsType,\n defaultType,\n Range.join(identifier.range, tn.range())\n );\n } else {\n this.error(\n DiagnosticCode.Identifier_expected,\n tn.range()\n );\n }\n return null;\n }\n\n private parseParametersThis: NamedTypeNode | null = null;\n\n parseParameters(\n tn: Tokenizer,\n isConstructor: bool = false\n ): ParameterNode[] | null {\n\n // at '(': (Parameter (',' Parameter)*)? ')'\n\n let parameters = new Array();\n let seenRest: ParameterNode | null = null;\n let seenOptional = false;\n let reportedRest = false;\n let thisType: TypeNode | null = null;\n\n // check if there is a leading `this` parameter\n this.parseParametersThis = null;\n if (tn.skip(Token.This)) {\n if (tn.skip(Token.Colon)) {\n thisType = this.parseType(tn); // reports\n if (!thisType) return null;\n if (thisType.kind == NodeKind.NamedType) {\n this.parseParametersThis = thisType;\n } else {\n this.error(\n DiagnosticCode.Identifier_expected,\n thisType.range\n );\n }\n } else {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \":\"\n );\n return null;\n }\n if (!tn.skip(Token.Comma)) {\n if (tn.skip(Token.CloseParen)) {\n return parameters;\n } else {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \")\"\n );\n return null;\n }\n }\n }\n\n while (!tn.skip(Token.CloseParen)) {\n let param = this.parseParameter(tn, isConstructor); // reports\n if (!param) return null;\n if (seenRest && !reportedRest) {\n this.error(\n DiagnosticCode.A_rest_parameter_must_be_last_in_a_parameter_list,\n seenRest.name.range\n );\n reportedRest = true;\n }\n switch (param.parameterKind) {\n default: {\n if (seenOptional) {\n this.error(\n DiagnosticCode.A_required_parameter_cannot_follow_an_optional_parameter,\n param.name.range\n );\n }\n break;\n }\n case ParameterKind.Optional: {\n seenOptional = true;\n break;\n }\n case ParameterKind.Rest: {\n seenRest = param;\n break;\n }\n }\n parameters.push(param);\n if (!tn.skip(Token.Comma)) {\n if (tn.skip(Token.CloseParen)) {\n break;\n } else {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \")\"\n );\n return null;\n }\n }\n }\n return parameters;\n }\n\n parseParameter(\n tn: Tokenizer,\n isConstructor: bool = false\n ): ParameterNode | null {\n\n // before: ('public' | 'private' | 'protected' | '...')? Identifier '?'? (':' Type)? ('=' Expression)?\n\n let isRest = false;\n let isOptional = false;\n let startRange: Range | null = null;\n let accessFlags: CommonFlags = CommonFlags.None;\n if (isConstructor) {\n if (tn.skip(Token.Public)) {\n startRange = tn.range();\n accessFlags |= CommonFlags.Public;\n } else if (tn.skip(Token.Protected)) {\n startRange = tn.range();\n accessFlags |= CommonFlags.Protected;\n } else if (tn.skip(Token.Private)) {\n startRange = tn.range();\n accessFlags |= CommonFlags.Private;\n }\n if (tn.peek() == Token.Readonly) {\n let state = tn.mark();\n tn.next();\n if (tn.peek() != Token.Colon) { // modifier\n tn.discard(state);\n if (!startRange) startRange = tn.range();\n accessFlags |= CommonFlags.Readonly;\n } else { // identifier\n tn.reset(state);\n }\n }\n }\n if (tn.skip(Token.Dot_Dot_Dot)) {\n if (accessFlags) {\n this.error(\n DiagnosticCode.A_parameter_property_cannot_be_declared_using_a_rest_parameter,\n tn.range()\n );\n } else {\n startRange = tn.range();\n }\n isRest = true;\n }\n if (tn.skipIdentifier()) {\n if (!isRest) startRange = tn.range();\n let identifier = Node.createIdentifierExpression(tn.readIdentifier(), tn.range());\n let type: TypeNode | null = null;\n if (isOptional = tn.skip(Token.Question)) {\n if (isRest) {\n this.error(\n DiagnosticCode.A_rest_parameter_cannot_be_optional,\n identifier.range\n );\n }\n }\n if (tn.skip(Token.Colon)) {\n type = this.parseType(tn);\n if (!type) return null;\n } else {\n type = Node.createOmittedType(tn.range(tn.pos));\n }\n let initializer: Expression | null = null;\n if (tn.skip(Token.Equals)) {\n if (isRest) {\n this.error(\n DiagnosticCode.A_rest_parameter_cannot_have_an_initializer,\n identifier.range\n );\n }\n if (isOptional) {\n this.error(\n DiagnosticCode.Parameter_cannot_have_question_mark_and_initializer,\n identifier.range\n );\n } else {\n isOptional = true;\n }\n initializer = this.parseExpression(tn, Precedence.Comma + 1);\n if (!initializer) return null;\n }\n let param = Node.createParameter(\n isRest\n ? ParameterKind.Rest\n : isOptional\n ? ParameterKind.Optional\n : ParameterKind.Default,\n identifier,\n type,\n initializer,\n Range.join(assert(startRange), tn.range())\n );\n param.flags |= accessFlags;\n return param;\n } else {\n this.error(\n DiagnosticCode.Identifier_expected,\n tn.range()\n );\n }\n return null;\n }\n\n parseFunction(\n tn: Tokenizer,\n flags: CommonFlags,\n decorators: DecoratorNode[] | null,\n startPos: i32\n ): FunctionDeclaration | null {\n\n // at 'function':\n // Identifier\n // ('<' TypeParameters)?\n // '(' Parameters (':' Type)?\n // '{' Statement* '}'\n // ';'?\n\n if (!tn.skipIdentifier()) {\n this.error(\n DiagnosticCode.Identifier_expected,\n tn.range(tn.pos)\n );\n return null;\n }\n\n let name = Node.createIdentifierExpression(tn.readIdentifier(), tn.range());\n let signatureStart = -1;\n\n let typeParameters: TypeParameterNode[] | null = null;\n if (tn.skip(Token.LessThan)) {\n signatureStart = tn.tokenPos;\n typeParameters = this.parseTypeParameters(tn);\n if (!typeParameters) return null;\n flags |= CommonFlags.Generic;\n }\n\n if (!tn.skip(Token.OpenParen)) {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(tn.pos), \"(\"\n );\n return null;\n }\n\n if (signatureStart < 0) {\n signatureStart = tn.tokenPos;\n }\n\n let parameters = this.parseParameters(tn);\n if (!parameters) return null;\n let thisType = this.parseParametersThis;\n\n let isSetter = (flags & CommonFlags.Set) != 0;\n if (isSetter) {\n if (parameters.length != 1) {\n this.error(\n DiagnosticCode.A_set_accessor_must_have_exactly_one_parameter,\n name.range\n ); // recoverable\n }\n if (parameters.length > 0 && parameters[0].initializer) {\n this.error(\n DiagnosticCode.A_set_accessor_parameter_cannot_have_an_initializer,\n name.range\n ); // recoverable\n }\n }\n\n if (flags & CommonFlags.Get) {\n if (parameters.length) {\n this.error(\n DiagnosticCode.A_get_accessor_cannot_have_parameters,\n name.range\n ); // recoverable\n }\n }\n\n let returnType: TypeNode | null = null;\n if (tn.skip(Token.Colon)) {\n returnType = this.parseType(tn, true, isSetter);\n if (!returnType) return null;\n }\n\n if (!returnType) {\n returnType = Node.createOmittedType(\n tn.range(tn.pos)\n );\n if (!isSetter) {\n this.error(\n DiagnosticCode.Type_expected,\n returnType.range\n ); // recoverable\n }\n }\n\n let signature = Node.createFunctionType(\n parameters,\n returnType,\n thisType,\n false,\n tn.range(signatureStart, tn.pos)\n );\n\n let body: Statement | null = null;\n if (tn.skip(Token.OpenBrace)) {\n if (flags & CommonFlags.Ambient) {\n this.error(\n DiagnosticCode.An_implementation_cannot_be_declared_in_ambient_contexts,\n tn.range()\n ); // recoverable\n }\n\n body = this.parseBlockStatement(tn, false);\n if (!body) return null;\n } else if (!(flags & CommonFlags.Ambient)) {\n this.error(\n DiagnosticCode.Function_implementation_is_missing_or_not_immediately_following_the_declaration,\n tn.range(tn.pos)\n );\n }\n\n let ret = Node.createFunctionDeclaration(\n name,\n decorators,\n flags,\n typeParameters,\n signature,\n body,\n ArrowKind.None,\n tn.range(startPos, tn.pos)\n );\n ret.overriddenModuleName = this.currentModuleName;\n tn.skip(Token.Semicolon);\n return ret;\n }\n\n parseFunctionExpression(tn: Tokenizer): FunctionExpression | null {\n let startPos = tn.tokenPos;\n let name: IdentifierExpression;\n let arrowKind = ArrowKind.None;\n\n // either at 'function':\n // Identifier?\n // '(' Parameters (':' Type)?\n // Statement\n\n if (tn.token == Token.Function) {\n if (tn.skipIdentifier()) {\n name = Node.createIdentifierExpression(tn.readIdentifier(), tn.range());\n } else { // empty name\n name = Node.createEmptyIdentifierExpression(tn.range(tn.pos));\n }\n if (!tn.skip(Token.OpenParen)) {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(tn.pos), \"(\"\n );\n return null;\n }\n\n // or at '(' of arrow function:\n // Parameters (':' Type)?\n // Statement\n\n } else {\n arrowKind = ArrowKind.Parenthesized;\n assert(tn.token == Token.OpenParen);\n name = Node.createEmptyIdentifierExpression(tn.range(tn.tokenPos));\n }\n\n // TODO: type parameters? doesn't seem worth it.\n\n let signatureStart = tn.pos;\n let parameters = this.parseParameters(tn);\n if (!parameters) return null;\n\n return this.parseFunctionExpressionCommon(tn, name, parameters, this.parseParametersThis, arrowKind, startPos, signatureStart);\n }\n\n private parseFunctionExpressionCommon(\n tn: Tokenizer,\n name: IdentifierExpression,\n parameters: ParameterNode[],\n explicitThis: NamedTypeNode | null,\n arrowKind: ArrowKind,\n startPos: i32 = -1,\n signatureStart: i32 = -1\n ): FunctionExpression | null {\n if (startPos < 0) startPos = name.range.start;\n if (signatureStart < 0) signatureStart = startPos;\n\n let returnType: TypeNode | null = null;\n if (arrowKind != ArrowKind.Single && tn.skip(Token.Colon)) {\n returnType = this.parseType(tn);\n if (!returnType) return null;\n } else {\n returnType = Node.createOmittedType(tn.range(tn.pos));\n }\n\n if (arrowKind) {\n if (!tn.skip(Token.Equals_GreaterThan)) {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(tn.pos), \"=>\"\n );\n return null;\n }\n }\n\n let signature = Node.createFunctionType(\n parameters,\n returnType,\n explicitThis,\n false,\n tn.range(signatureStart, tn.pos)\n );\n\n let body: Statement | null = null;\n if (arrowKind) {\n if (tn.skip(Token.OpenBrace)) {\n body = this.parseBlockStatement(tn, false);\n } else {\n let bodyExpression = this.parseExpression(tn, Precedence.Comma + 1);\n if (bodyExpression) body = Node.createExpressionStatement(bodyExpression);\n }\n } else {\n if (!tn.skip(Token.OpenBrace)) {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(tn.pos), \"{\"\n );\n return null;\n }\n body = this.parseBlockStatement(tn, false);\n }\n if (!body) return null;\n\n let declaration = Node.createFunctionDeclaration(\n name,\n null,\n CommonFlags.None,\n null,\n signature,\n body,\n arrowKind,\n tn.range(startPos, tn.pos)\n );\n return Node.createFunctionExpression(declaration);\n }\n\n parseClassOrInterface(\n tn: Tokenizer,\n flags: CommonFlags,\n decorators: DecoratorNode[] | null,\n startPos: i32\n ): ClassDeclaration | null {\n\n // at ('class' | 'interface'):\n // Identifier\n // ('<' TypeParameters)?\n // ('extends' Type)?\n // ('implements' Type (',' Type)*)?\n // '{' ClassMember* '}'\n\n let isInterface = tn.token == Token.Interface;\n\n if (!tn.skipIdentifier()) {\n this.error(\n DiagnosticCode.Identifier_expected,\n tn.range()\n );\n return null;\n }\n\n let identifier = Node.createIdentifierExpression(\n tn.readIdentifier(),\n tn.range()\n );\n\n let typeParameters: TypeParameterNode[] | null = null;\n if (tn.skip(Token.LessThan)) {\n typeParameters = this.parseTypeParameters(tn);\n if (!typeParameters) return null;\n flags |= CommonFlags.Generic;\n }\n\n let extendsType: NamedTypeNode | null = null;\n if (tn.skip(Token.Extends)) {\n let type = this.parseType(tn);\n if (!type) return null;\n if (type.kind != NodeKind.NamedType) {\n this.error(\n DiagnosticCode.Identifier_expected,\n type.range\n );\n return null;\n }\n extendsType = type;\n }\n\n let implementsTypes: NamedTypeNode[] | null = null;\n if (tn.skip(Token.Implements)) {\n if (isInterface) {\n this.error(\n DiagnosticCode.Interface_declaration_cannot_have_implements_clause,\n tn.range()\n ); // recoverable\n }\n do {\n let type = this.parseType(tn);\n if (!type) return null;\n if (type.kind != NodeKind.NamedType) {\n this.error(\n DiagnosticCode.Identifier_expected,\n type.range\n );\n return null;\n }\n if (!isInterface) {\n if (!implementsTypes) implementsTypes = [];\n implementsTypes.push(type);\n }\n } while (tn.skip(Token.Comma));\n }\n\n if (!tn.skip(Token.OpenBrace)) {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \"{\"\n );\n return null;\n }\n\n let members = new Array();\n let declaration: ClassDeclaration;\n if (isInterface) {\n assert(!implementsTypes);\n declaration = Node.createInterfaceDeclaration(\n identifier,\n decorators,\n flags,\n typeParameters,\n extendsType,\n null,\n members,\n tn.range(startPos, tn.pos)\n );\n } else {\n declaration = Node.createClassDeclaration(\n identifier,\n decorators,\n flags,\n typeParameters,\n extendsType,\n implementsTypes,\n members,\n tn.range(startPos, tn.pos)\n );\n }\n if (!tn.skip(Token.CloseBrace)) {\n do {\n let member = this.parseClassMember(tn, declaration);\n if (member) {\n if (member.kind == NodeKind.IndexSignature) {\n declaration.indexSignature = member;\n } else {\n assert(member instanceof DeclarationStatement);\n members.push(member);\n }\n } else {\n this.skipStatement(tn);\n if (tn.skip(Token.EndOfFile)) {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \"}\"\n );\n return null;\n }\n }\n } while (!tn.skip(Token.CloseBrace));\n }\n declaration.range.end = tn.pos;\n declaration.overriddenModuleName = this.currentModuleName;\n return declaration;\n }\n\n parseClassExpression(tn: Tokenizer): ClassExpression | null {\n\n // at 'class': Identifier? '{' ... '}'\n\n let startPos = tn.tokenPos;\n let name: IdentifierExpression;\n\n if (tn.skipIdentifier()) {\n name = Node.createIdentifierExpression(tn.readIdentifier(), tn.range());\n } else {\n name = Node.createEmptyIdentifierExpression(tn.range(tn.pos));\n }\n\n if (!tn.skip(Token.OpenBrace)) {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(tn.pos), \"{\"\n );\n return null;\n }\n\n let members = new Array();\n let declaration = Node.createClassDeclaration(\n name,\n null,\n CommonFlags.None,\n null,\n null,\n null,\n members,\n tn.range(startPos, tn.pos)\n );\n if (!tn.skip(Token.CloseBrace)) {\n do {\n let member = this.parseClassMember(tn, declaration);\n if (member) {\n if (member.kind == NodeKind.IndexSignature) {\n declaration.indexSignature = member;\n } else {\n assert(declaration instanceof DeclarationStatement);\n members.push(member);\n }\n } else {\n this.skipStatement(tn);\n if (tn.skip(Token.EndOfFile)) {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \"}\"\n );\n return null;\n }\n }\n } while (!tn.skip(Token.CloseBrace));\n }\n declaration.range.end = tn.pos;\n return Node.createClassExpression(declaration);\n }\n\n parseClassMember(\n tn: Tokenizer,\n parent: ClassDeclaration\n ): Node | null {\n\n // before:\n // 'declare'?\n // ('public' | 'private' | 'protected')?\n // ('static' | 'abstract')?\n // 'override'?\n // 'readonly'?\n // ('get' | 'set')?\n // Identifier ...\n\n let isInterface = parent.kind == NodeKind.InterfaceDeclaration;\n let startPos = 0;\n let decorators: DecoratorNode[] | null = null;\n if (tn.skip(Token.At)) {\n startPos = tn.tokenPos;\n do {\n let decorator = this.parseDecorator(tn);\n if (!decorator) break;\n if (!decorators) decorators = new Array();\n decorators.push(decorator);\n } while (tn.skip(Token.At));\n if (isInterface && decorators) {\n this.error(\n DiagnosticCode.Decorators_are_not_valid_here,\n Range.join(decorators[0].range, decorators[decorators.length - 1].range)\n );\n }\n }\n\n // inherit ambient status\n let flags = parent.flags & CommonFlags.Ambient;\n\n // interface methods are always overridden if used\n if (isInterface) flags |= CommonFlags.Overridden;\n\n let declareStart = 0;\n let declareEnd = 0;\n let contextIsAmbient = parent.is(CommonFlags.Ambient);\n if (tn.skip(Token.Declare)) {\n if (isInterface) {\n this.error(\n DiagnosticCode._0_modifier_cannot_be_used_here,\n tn.range(), \"declare\"\n );\n } else {\n if (contextIsAmbient) {\n this.error(\n DiagnosticCode.A_declare_modifier_cannot_be_used_in_an_already_ambient_context,\n tn.range()\n ); // recoverable\n } else {\n flags |= CommonFlags.Declare | CommonFlags.Ambient;\n declareStart = tn.tokenPos;\n declareEnd = tn.pos;\n }\n }\n if (!startPos) startPos = tn.tokenPos;\n } else if (contextIsAmbient) {\n flags |= CommonFlags.Ambient;\n }\n\n let accessStart = 0;\n let accessEnd = 0;\n if (tn.skip(Token.Public)) {\n if (isInterface) {\n this.error(\n DiagnosticCode._0_modifier_cannot_be_used_here,\n tn.range(), \"public\"\n );\n } else {\n flags |= CommonFlags.Public;\n accessStart = tn.tokenPos;\n accessEnd = tn.pos;\n }\n if (!startPos) startPos = tn.tokenPos;\n } else if (tn.skip(Token.Private)) {\n if (isInterface) {\n this.error(\n DiagnosticCode._0_modifier_cannot_be_used_here,\n tn.range(), \"private\"\n );\n } else {\n flags |= CommonFlags.Private;\n accessStart = tn.tokenPos;\n accessEnd = tn.pos;\n }\n if (!startPos) startPos = tn.tokenPos;\n } else if (tn.skip(Token.Protected)) {\n if (isInterface) {\n this.error(\n DiagnosticCode._0_modifier_cannot_be_used_here,\n tn.range(), \"protected\"\n );\n } else {\n flags |= CommonFlags.Protected;\n accessStart = tn.tokenPos;\n accessEnd = tn.pos;\n }\n if (!startPos) startPos = tn.tokenPos;\n }\n\n let staticStart = 0;\n let staticEnd = 0;\n let abstractStart = 0;\n let abstractEnd = 0;\n if (tn.skip(Token.Static)) {\n if (isInterface) {\n this.error(\n DiagnosticCode._0_modifier_cannot_be_used_here,\n tn.range(), \"static\"\n );\n } else {\n flags |= CommonFlags.Static;\n staticStart = tn.tokenPos;\n staticEnd = tn.pos;\n }\n if (!startPos) startPos = tn.tokenPos;\n } else {\n flags |= CommonFlags.Instance;\n if (tn.skip(Token.Abstract)) {\n if (isInterface || !parent.is(CommonFlags.Abstract)) {\n this.error(\n DiagnosticCode._0_modifier_cannot_be_used_here,\n tn.range(), \"abstract\"\n );\n } else {\n flags |= CommonFlags.Abstract;\n abstractStart = tn.tokenPos;\n abstractEnd = tn.pos;\n }\n if (!startPos) startPos = tn.tokenPos;\n }\n if (parent.flags & CommonFlags.Generic) flags |= CommonFlags.GenericContext;\n }\n\n let overrideStart = 0;\n let overrideEnd = 0;\n if (tn.skip(Token.Override)) {\n if (isInterface || parent.extendsType == null) {\n this.error(\n DiagnosticCode._0_modifier_cannot_be_used_here,\n tn.range(), \"override\"\n );\n } else {\n flags |= CommonFlags.Override;\n overrideStart = tn.tokenPos;\n overrideEnd = tn.pos;\n }\n if (!startPos) startPos = tn.tokenPos;\n }\n\n let readonlyStart = 0;\n let readonlyEnd = 0;\n if (tn.peek() == Token.Readonly) {\n let state = tn.mark();\n tn.next();\n if (tn.peek() != Token.Colon) { // modifier\n tn.discard(state);\n flags |= CommonFlags.Readonly;\n readonlyStart = tn.tokenPos;\n readonlyEnd = tn.pos;\n if (!startPos) startPos = readonlyStart;\n } else { // identifier\n tn.reset(state);\n }\n }\n\n // check if accessor: ('get' | 'set') ^\\n Identifier\n let state = tn.mark();\n let isConstructor = false;\n let isGetter = false;\n let getStart = 0;\n let getEnd = 0;\n let isSetter = false;\n let setStart = 0;\n let setEnd = 0;\n if (!isInterface) {\n if (tn.skip(Token.Get)) {\n if (tn.peek(IdentifierHandling.Prefer) == Token.Identifier && !tn.peekOnNewLine()) {\n flags |= CommonFlags.Get;\n isGetter = true;\n getStart = tn.tokenPos;\n getEnd = tn.pos;\n if (!startPos) startPos = getStart;\n if (flags & CommonFlags.Readonly) {\n this.error(\n DiagnosticCode._0_modifier_cannot_be_used_here,\n tn.range(readonlyStart, readonlyEnd), \"readonly\"\n ); // recoverable\n }\n } else {\n tn.reset(state);\n }\n } else if (tn.skip(Token.Set)) {\n if (tn.peek(IdentifierHandling.Prefer) == Token.Identifier && !tn.peekOnNewLine()) {\n flags |= CommonFlags.Set;\n isSetter = true;\n setStart = tn.tokenPos;\n setEnd = tn.pos;\n if (!startPos) startPos = setStart;\n if (flags & CommonFlags.Readonly) {\n this.error(\n DiagnosticCode._0_modifier_cannot_be_used_here,\n tn.range(readonlyStart, readonlyEnd), \"readonly\"\n ); // recoverable\n }\n } else {\n tn.reset(state);\n }\n } else if (tn.skip(Token.Constructor)) {\n flags |= CommonFlags.Constructor;\n isConstructor = true;\n if (!startPos) startPos = tn.tokenPos;\n if (flags & CommonFlags.Static) {\n this.error(\n DiagnosticCode._0_modifier_cannot_be_used_here,\n tn.range(staticStart, staticEnd), \"static\"\n ); // recoverable\n }\n if (flags & CommonFlags.Abstract) {\n this.error(\n DiagnosticCode._0_modifier_cannot_be_used_here,\n tn.range(abstractStart, abstractEnd), \"abstract\"\n ); // recoverable\n }\n if (flags & CommonFlags.Readonly) {\n this.error(\n DiagnosticCode._0_modifier_cannot_be_used_here,\n tn.range(readonlyStart, readonlyEnd), \"readonly\"\n ); // recoverable\n }\n }\n }\n\n let isGetterOrSetter = isGetter || isSetter;\n let name: IdentifierExpression;\n if (isConstructor) {\n name = Node.createConstructorExpression(tn.range());\n } else {\n if (!isGetterOrSetter && tn.skip(Token.OpenBracket)) {\n if (!startPos) startPos = tn.tokenPos;\n // TODO: also handle symbols, which might have some of these modifiers\n if (flags & CommonFlags.Public) {\n this.error(\n DiagnosticCode._0_modifier_cannot_be_used_here,\n tn.range(accessStart, accessEnd), \"public\"\n ); // recoverable\n } else if (flags & CommonFlags.Protected) {\n this.error(\n DiagnosticCode._0_modifier_cannot_be_used_here,\n tn.range(accessStart, accessEnd), \"protected\"\n ); // recoverable\n } else if (flags & CommonFlags.Private) {\n this.error(\n DiagnosticCode._0_modifier_cannot_be_used_here,\n tn.range(accessStart, accessEnd), \"private\"\n ); // recoverable\n }\n if (flags & CommonFlags.Static) {\n this.error(\n DiagnosticCode._0_modifier_cannot_be_used_here,\n tn.range(staticStart, staticEnd), \"static\"\n ); // recoverable\n }\n if (flags & CommonFlags.Override) {\n this.error(\n DiagnosticCode._0_modifier_cannot_be_used_here,\n tn.range(overrideStart, overrideEnd), \"override\"\n );\n }\n if (flags & CommonFlags.Abstract) {\n this.error(\n DiagnosticCode._0_modifier_cannot_be_used_here,\n tn.range(abstractStart, abstractEnd), \"abstract\"\n ); // recoverable\n }\n let retIndex = this.parseIndexSignature(tn, flags, decorators);\n if (!retIndex) {\n if (flags & CommonFlags.Readonly) {\n this.error(\n DiagnosticCode._0_modifier_cannot_be_used_here,\n tn.range(readonlyStart, readonlyEnd), \"readonly\"\n ); // recoverable\n }\n return null;\n }\n tn.skip(Token.Semicolon);\n return retIndex;\n }\n if (!tn.skipIdentifier(IdentifierHandling.Always)) {\n this.error(\n DiagnosticCode.Identifier_expected,\n tn.range()\n );\n return null;\n }\n if (!startPos) startPos = tn.tokenPos;\n name = Node.createIdentifierExpression(tn.readIdentifier(), tn.range());\n }\n let typeParameters: TypeParameterNode[] | null = null;\n if (tn.skip(Token.LessThan)) {\n let typeParametersStart = tn.tokenPos;\n typeParameters = this.parseTypeParameters(tn);\n if (!typeParameters) return null;\n if (isConstructor) {\n this.error(\n DiagnosticCode.Type_parameters_cannot_appear_on_a_constructor_declaration,\n tn.range(typeParametersStart, tn.pos)\n ); // recoverable\n } else if (isGetterOrSetter) {\n this.error(\n DiagnosticCode.An_accessor_cannot_have_type_parameters,\n tn.range(typeParametersStart, tn.pos)\n ); // recoverable\n } else {\n flags |= CommonFlags.Generic;\n }\n }\n\n // method: '(' Parameters (':' Type)? '{' Statement* '}' ';'?\n if (tn.skip(Token.OpenParen)) {\n if (flags & CommonFlags.Declare) {\n this.error(\n DiagnosticCode._0_modifier_cannot_appear_on_class_elements_of_this_kind,\n tn.range(declareStart, declareEnd), \"declare\"\n ); // recoverable\n }\n\n let signatureStart = tn.tokenPos;\n let parameters = this.parseParameters(tn, isConstructor);\n if (!parameters) return null;\n let thisType = this.parseParametersThis;\n if (isConstructor) {\n for (let i = 0, k = parameters.length; i < k; ++i) {\n let parameter = parameters[i];\n if (parameter.isAny(\n CommonFlags.Public |\n CommonFlags.Protected |\n CommonFlags.Private |\n CommonFlags.Readonly\n )) {\n let implicitFieldDeclaration = Node.createFieldDeclaration(\n parameter.name,\n null,\n parameter.flags | CommonFlags.Instance,\n parameter.type,\n null, // initialized via parameter\n parameter.range\n );\n implicitFieldDeclaration.parameterIndex = i;\n parameter.implicitFieldDeclaration = implicitFieldDeclaration;\n parent.members.push(implicitFieldDeclaration);\n }\n }\n } else if (isGetter) {\n if (parameters.length) {\n this.error(\n DiagnosticCode.A_get_accessor_cannot_have_parameters,\n name.range\n );\n }\n } else if (isSetter) {\n if (parameters.length != 1) {\n this.error(\n DiagnosticCode.A_set_accessor_must_have_exactly_one_parameter,\n name.range\n );\n }\n if (parameters.length > 0 && parameters[0].initializer) {\n this.error(\n DiagnosticCode.A_set_accessor_parameter_cannot_have_an_initializer,\n name.range\n );\n }\n } else if (name.text == \"constructor\") {\n this.error(\n DiagnosticCode._0_keyword_cannot_be_used_here,\n name.range, \"constructor\"\n );\n }\n\n let returnType: TypeNode | null = null;\n if (tn.skip(Token.Colon)) {\n if (name.kind == NodeKind.Constructor) {\n this.error(\n DiagnosticCode.Type_annotation_cannot_appear_on_a_constructor_declaration,\n tn.range()\n );\n } else if (isSetter) {\n this.error(\n DiagnosticCode.A_set_accessor_cannot_have_a_return_type_annotation,\n tn.range()\n );\n }\n returnType = this.parseType(tn, isSetter || name.kind == NodeKind.Constructor);\n if (!returnType) return null;\n } else {\n returnType = Node.createOmittedType(tn.range(tn.pos));\n if (!isSetter && name.kind != NodeKind.Constructor) {\n this.error(\n DiagnosticCode.Type_expected,\n returnType.range\n ); // recoverable\n }\n }\n\n let signature = Node.createFunctionType(\n parameters,\n returnType,\n thisType,\n false,\n tn.range(signatureStart, tn.pos)\n );\n\n let body: Statement | null = null;\n if (tn.skip(Token.OpenBrace)) {\n if (flags & CommonFlags.Ambient) {\n this.error(\n DiagnosticCode.An_implementation_cannot_be_declared_in_ambient_contexts,\n tn.range()\n ); // recoverable\n } else if (flags & CommonFlags.Abstract) {\n this.error(\n DiagnosticCode.Method_0_cannot_have_an_implementation_because_it_is_marked_abstract,\n tn.range(), name.text\n ); // recoverable\n } else if (isInterface) {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \";\"\n ); // recoverable\n }\n body = this.parseBlockStatement(tn, false);\n if (!body) return null;\n } else if (!isInterface && !(flags & (CommonFlags.Ambient | CommonFlags.Abstract))) {\n this.error(\n DiagnosticCode.Function_implementation_is_missing_or_not_immediately_following_the_declaration,\n tn.range()\n ); // recoverable\n }\n\n let retMethod = Node.createMethodDeclaration(\n name,\n decorators,\n flags,\n typeParameters,\n signature,\n body,\n tn.range(startPos, tn.pos)\n );\n if (!(isInterface && tn.skip(Token.Comma))) {\n tn.skip(Token.Semicolon);\n }\n return retMethod;\n\n } else if (isConstructor) {\n this.error(\n DiagnosticCode.Constructor_implementation_is_missing,\n name.range\n );\n\n } else if (isGetterOrSetter) {\n this.error(\n DiagnosticCode.Function_implementation_is_missing_or_not_immediately_following_the_declaration,\n name.range\n );\n\n // field: (':' Type)? ('=' Expression)? ';'?\n } else {\n if (flags & CommonFlags.Declare) {\n this.error(\n DiagnosticCode.Not_implemented_0,\n tn.range(declareStart, declareEnd), \"Ambient fields\"\n ); // recoverable\n }\n\n if (flags & CommonFlags.Abstract) {\n this.error(\n DiagnosticCode._0_modifier_cannot_be_used_here,\n tn.range(abstractStart, abstractEnd), \"abstract\"\n ); // recoverable\n }\n\n if (flags & CommonFlags.Get) {\n this.error(\n DiagnosticCode._0_modifier_cannot_be_used_here,\n tn.range(getStart, getEnd), \"get\"\n ); // recoverable\n }\n\n if (flags & CommonFlags.Set) {\n this.error(\n DiagnosticCode._0_modifier_cannot_be_used_here,\n tn.range(setStart, setEnd), \"set\"\n ); // recoverable\n }\n\n let type: TypeNode | null = null;\n if (tn.skip(Token.Question)) {\n this.error(\n DiagnosticCode.Optional_properties_are_not_supported,\n tn.range(startPos, tn.pos)\n );\n }\n if (tn.skip(Token.Exclamation)) {\n flags |= CommonFlags.DefinitelyAssigned;\n }\n if (tn.skip(Token.Colon)) {\n type = this.parseType(tn);\n if (!type) return null;\n } else {\n this.error(\n DiagnosticCode.Type_expected,\n tn.range()\n ); // recoverable\n }\n let initializer: Expression | null = null;\n if (tn.skip(Token.Equals)) {\n if (flags & CommonFlags.Ambient) {\n this.error(\n DiagnosticCode.Initializers_are_not_allowed_in_ambient_contexts,\n tn.range()\n ); // recoverable\n }\n initializer = this.parseExpression(tn);\n if (!initializer) return null;\n if (flags & CommonFlags.DefinitelyAssigned) {\n this.error(\n DiagnosticCode.Declarations_with_initializers_cannot_also_have_definite_assignment_assertions,\n name.range\n );\n }\n }\n let range = tn.range(startPos, tn.pos);\n if ((flags & CommonFlags.DefinitelyAssigned) != 0 && (isInterface || (flags & CommonFlags.Ambient) != 0)) {\n this.error(\n DiagnosticCode.A_definite_assignment_assertion_is_not_permitted_in_this_context,\n range\n );\n }\n let retField = Node.createFieldDeclaration(\n name,\n decorators,\n flags,\n type,\n initializer,\n range\n );\n if (!(isInterface && tn.skip(Token.Comma))) {\n tn.skip(Token.Semicolon);\n }\n return retField;\n }\n return null;\n }\n\n parseIndexSignature(\n tn: Tokenizer,\n flags: CommonFlags,\n decorators: DecoratorNode[] | null,\n ): IndexSignatureNode | null {\n\n // at: '[': 'key' ':' Type ']' ':' Type\n\n if (decorators && decorators.length > 0) {\n this.error(\n DiagnosticCode.Decorators_are_not_valid_here,\n Range.join(decorators[0].range, decorators[decorators.length - 1].range)\n ); // recoverable\n }\n\n let start = tn.tokenPos;\n if (tn.skipIdentifier()) {\n let id = tn.readIdentifier();\n if (id == \"key\") {\n if (tn.skip(Token.Colon)) {\n let keyType = this.parseType(tn);\n if (!keyType) return null;\n if (keyType.kind != NodeKind.NamedType) {\n this.error(\n DiagnosticCode.Type_expected,\n tn.range()\n );\n return null;\n }\n if (tn.skip(Token.CloseBracket)) {\n if (tn.skip(Token.Colon)) {\n let valueType = this.parseType(tn);\n if (!valueType) return null;\n if (valueType.kind != NodeKind.NamedType) {\n this.error(\n DiagnosticCode.Identifier_expected,\n valueType.range\n );\n return null;\n }\n return Node.createIndexSignature(keyType, valueType, flags, tn.range(start, tn.pos));\n } else {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \":\"\n );\n }\n } else {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \"]\"\n );\n }\n } else {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \":\"\n );\n }\n } else {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \"key\"\n );\n }\n } else {\n this.error(\n DiagnosticCode.Identifier_expected,\n tn.range()\n );\n }\n return null;\n }\n\n parseNamespace(\n tn: Tokenizer,\n flags: CommonFlags,\n decorators: DecoratorNode[] | null,\n startPos: i32\n ): NamespaceDeclaration | null {\n\n // at 'namespace': Identifier '{' (Variable | Function)* '}'\n\n if (tn.skipIdentifier()) {\n let identifier = Node.createIdentifierExpression(tn.readIdentifier(), tn.range());\n if (tn.skip(Token.OpenBrace)) {\n let members = new Array();\n let declaration = Node.createNamespaceDeclaration(\n identifier,\n decorators,\n flags,\n members,\n tn.range(startPos, tn.pos)\n );\n while (!tn.skip(Token.CloseBrace)) {\n let member = this.parseTopLevelStatement(tn, declaration);\n if (member) {\n if (member.kind == NodeKind.Export) {\n this.error(\n DiagnosticCode.A_default_export_can_only_be_used_in_a_module,\n member.range,\n );\n return null;\n }\n members.push(member);\n } else {\n this.skipStatement(tn);\n if (tn.skip(Token.EndOfFile)) {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \"}\"\n );\n return null;\n }\n }\n }\n declaration.range.end = tn.pos;\n declaration.overriddenModuleName = this.currentModuleName;\n tn.skip(Token.Semicolon);\n return declaration;\n } else {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \"{\"\n );\n }\n } else {\n this.error(\n DiagnosticCode.Identifier_expected,\n tn.range()\n );\n }\n return null;\n }\n\n parseExport(\n tn: Tokenizer,\n startPos: i32,\n isDeclare: bool\n ): ExportStatement | null {\n\n // at 'export': '{' ExportMember (',' ExportMember)* }' ('from' StringLiteral)? ';'?\n\n let path: StringLiteralExpression | null = null;\n let currentSource = assert(this.currentSource);\n if (tn.skip(Token.OpenBrace)) {\n let members = new Array();\n while (!tn.skip(Token.CloseBrace)) {\n let member = this.parseExportMember(tn);\n if (!member) return null;\n members.push(member);\n if (!tn.skip(Token.Comma)) {\n if (tn.skip(Token.CloseBrace)) {\n break;\n } else {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \"}\"\n );\n return null;\n }\n }\n }\n if (tn.skip(Token.From)) {\n if (tn.skip(Token.StringLiteral)) {\n path = Node.createStringLiteralExpression(tn.readString(), tn.range());\n } else {\n this.error(\n DiagnosticCode.String_literal_expected,\n tn.range()\n );\n return null;\n }\n }\n let ret = Node.createExportStatement(members, path, isDeclare, tn.range(startPos, tn.pos));\n if (path) {\n let internalPath = assert(ret.internalPath);\n if (!this.seenlog.has(internalPath)) {\n this.dependees.set(internalPath, new Dependee(currentSource, path));\n this.backlog.push(internalPath);\n this.seenlog.add(internalPath);\n }\n }\n tn.skip(Token.Semicolon);\n return ret;\n } else if (tn.skip(Token.Asterisk)) {\n if (tn.skip(Token.From)) {\n if (tn.skip(Token.StringLiteral)) {\n path = Node.createStringLiteralExpression(tn.readString(), tn.range());\n let ret = Node.createExportStatement(null, path, isDeclare, tn.range(startPos, tn.pos));\n let internalPath = assert(ret.internalPath);\n let source = tn.source;\n let exportPaths = source.exportPaths;\n if (!exportPaths) source.exportPaths = [ internalPath ];\n else if (!exportPaths.includes(internalPath)) exportPaths.push(internalPath);\n if (!this.seenlog.has(internalPath)) {\n this.dependees.set(internalPath, new Dependee(currentSource, path));\n this.backlog.push(internalPath);\n }\n tn.skip(Token.Semicolon);\n return ret;\n } else {\n this.error(\n DiagnosticCode.String_literal_expected,\n tn.range()\n );\n }\n } else {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \"from\"\n );\n }\n } else {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \"{\"\n );\n }\n return null;\n }\n\n parseExportMember(\n tn: Tokenizer\n ): ExportMember | null {\n\n // before: Identifier ('as' Identifier)?\n\n if (tn.skipIdentifier(IdentifierHandling.Always)) {\n let identifier = Node.createIdentifierExpression(tn.readIdentifier(), tn.range());\n let asIdentifier: IdentifierExpression | null = null;\n if (tn.skip(Token.As)) {\n if (tn.skipIdentifier(IdentifierHandling.Always)) {\n asIdentifier = Node.createIdentifierExpression(tn.readIdentifier(), tn.range());\n } else {\n this.error(\n DiagnosticCode.Identifier_expected,\n tn.range()\n );\n return null;\n }\n }\n if (asIdentifier) {\n return Node.createExportMember(\n identifier,\n asIdentifier,\n Range.join(identifier.range, asIdentifier.range)\n );\n }\n return Node.createExportMember(\n identifier,\n null,\n identifier.range\n );\n } else {\n this.error(\n DiagnosticCode.Identifier_expected,\n tn.range()\n );\n }\n return null;\n }\n\n parseExportDefaultAlias(\n tn: Tokenizer,\n startPos: i32,\n defaultStart: i32,\n defaultEnd: i32\n ): ExportStatement {\n\n // at 'export' 'default': [Known-To-Be-]Identifier\n\n let name = tn.readIdentifier();\n let range = tn.range();\n let ret = Node.createExportStatement([\n Node.createExportMember(\n Node.createIdentifierExpression(name, range),\n Node.createIdentifierExpression(\"default\", tn.range(defaultStart, defaultEnd)),\n range\n )\n ], null, false, tn.range(startPos, tn.pos));\n tn.skip(Token.Semicolon);\n return ret;\n }\n\n parseImport(\n tn: Tokenizer\n ): ImportStatement | null {\n\n // at 'import':\n // ('{' (ImportMember (',' ImportMember)* '}') | ('*' 'as' Identifier)?\n // 'from' StringLiteral ';'?\n\n let startPos = tn.tokenPos;\n let members: ImportDeclaration[] | null = null;\n let namespaceName: IdentifierExpression | null = null;\n let skipFrom = false;\n if (tn.skip(Token.OpenBrace)) { // import { ... } from \"file\"\n members = new Array();\n while (!tn.skip(Token.CloseBrace)) {\n let member = this.parseImportDeclaration(tn);\n if (!member) return null;\n members.push(member);\n if (!tn.skip(Token.Comma)) {\n if (tn.skip(Token.CloseBrace)) {\n break;\n } else {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \"}\"\n );\n return null;\n }\n }\n }\n } else if (tn.skip(Token.Asterisk)) { // import * from \"file\"\n if (tn.skip(Token.As)) {\n if (tn.skipIdentifier()) {\n namespaceName = Node.createIdentifierExpression(tn.readIdentifier(), tn.range());\n } else {\n this.error(\n DiagnosticCode.Identifier_expected,\n tn.range()\n );\n return null;\n }\n } else {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \"as\"\n );\n return null;\n }\n } else if (tn.skip(Token.Identifier, IdentifierHandling.Prefer)) { // import Name from \"file\"\n let name = tn.readIdentifier();\n let range = tn.range();\n members = [\n Node.createImportDeclaration(\n Node.createIdentifierExpression(\"default\", range),\n Node.createIdentifierExpression(name, range),\n range\n )\n ];\n if (tn.skip(Token.Comma)) {\n // TODO: default + star, default + members\n this.error(\n DiagnosticCode.Not_implemented_0,\n tn.range(),\n \"Mixed default and named imports\"\n );\n return null;\n }\n } else { // import \"file\"\n skipFrom = true;\n }\n\n if (skipFrom || tn.skip(Token.From)) {\n if (tn.skip(Token.StringLiteral)) {\n let path = Node.createStringLiteralExpression(tn.readString(), tn.range());\n let ret: ImportStatement;\n if (namespaceName) {\n assert(!members);\n ret = Node.createWildcardImportStatement(namespaceName, path, tn.range(startPos, tn.pos));\n } else {\n ret = Node.createImportStatement(members, path, tn.range(startPos, tn.pos));\n }\n let internalPath = ret.internalPath;\n if (!this.seenlog.has(internalPath)) {\n this.dependees.set(internalPath, new Dependee(assert(this.currentSource), path));\n this.backlog.push(internalPath);\n }\n tn.skip(Token.Semicolon);\n return ret;\n } else {\n this.error(\n DiagnosticCode.String_literal_expected,\n tn.range()\n );\n }\n } else {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \"from\"\n );\n }\n return null;\n }\n\n parseImportDeclaration(\n tn: Tokenizer\n ): ImportDeclaration | null {\n\n // before: Identifier ('as' Identifier)?\n\n if (tn.skipIdentifier(IdentifierHandling.Always)) {\n let identifier = Node.createIdentifierExpression(tn.readIdentifier(), tn.range());\n let asIdentifier: IdentifierExpression | null = null;\n if (tn.skip(Token.As)) {\n if (tn.skipIdentifier()) {\n asIdentifier = Node.createIdentifierExpression(tn.readIdentifier(), tn.range());\n } else {\n this.error(\n DiagnosticCode.Identifier_expected,\n tn.range()\n );\n return null;\n }\n }\n if (asIdentifier) {\n return Node.createImportDeclaration(\n identifier,\n asIdentifier,\n Range.join(identifier.range, asIdentifier.range)\n );\n }\n return Node.createImportDeclaration(\n identifier,\n null,\n identifier.range\n );\n } else {\n this.error(\n DiagnosticCode.Identifier_expected,\n tn.range()\n );\n }\n return null;\n }\n\n parseExportImport(\n tn: Tokenizer,\n startPos: i32\n ): ExportImportStatement | null {\n\n // at 'export' 'import': Identifier ('=' Identifier)? ';'?\n\n if (tn.skipIdentifier()) {\n let asIdentifier = Node.createIdentifierExpression(tn.readIdentifier(), tn.range());\n if (tn.skip(Token.Equals)) {\n if (tn.skipIdentifier()) {\n let identifier = Node.createIdentifierExpression(tn.readIdentifier(), tn.range());\n let ret = Node.createExportImportStatement(identifier, asIdentifier, tn.range(startPos, tn.pos));\n tn.skip(Token.Semicolon);\n return ret;\n } else {\n this.error(\n DiagnosticCode.Identifier_expected,\n tn.range()\n );\n }\n } else {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \"=\"\n );\n }\n } else {\n this.error(\n DiagnosticCode.Identifier_expected,\n tn.range()\n );\n }\n return null;\n }\n\n parseStatement(\n tn: Tokenizer,\n topLevel: bool = false\n ): Statement | null {\n\n // at previous token\n\n let state = tn.mark();\n let token = tn.next();\n let statement: Statement | null = null;\n switch (token) {\n case Token.Break: {\n statement = this.parseBreak(tn);\n break;\n }\n case Token.Const: {\n statement = this.parseVariable(tn, CommonFlags.Const, null, tn.tokenPos);\n break;\n }\n case Token.Continue: {\n statement = this.parseContinue(tn);\n break;\n }\n case Token.Do: {\n statement = this.parseDoStatement(tn);\n break;\n }\n case Token.For: {\n statement = this.parseForStatement(tn);\n break;\n }\n case Token.If: {\n statement = this.parseIfStatement(tn);\n break;\n }\n case Token.Let: {\n statement = this.parseVariable(tn, CommonFlags.Let, null, tn.tokenPos);\n break;\n }\n case Token.Var: {\n statement = this.parseVariable(tn, CommonFlags.None, null, tn.tokenPos);\n break;\n }\n case Token.OpenBrace: {\n statement = this.parseBlockStatement(tn, topLevel);\n break;\n }\n case Token.Return: {\n if (topLevel) {\n this.error(\n DiagnosticCode.A_return_statement_can_only_be_used_within_a_function_body,\n tn.range()\n ); // recoverable\n }\n statement = this.parseReturn(tn);\n break;\n }\n case Token.Semicolon: {\n return Node.createEmptyStatement(tn.range(tn.tokenPos));\n }\n case Token.Switch: {\n statement = this.parseSwitchStatement(tn);\n break;\n }\n case Token.Throw: {\n statement = this.parseThrowStatement(tn);\n break;\n }\n case Token.Try: {\n statement = this.parseTryStatement(tn);\n break;\n }\n case Token.Void: {\n statement = this.parseVoidStatement(tn);\n break;\n }\n case Token.While: {\n statement = this.parseWhileStatement(tn);\n break;\n }\n case Token.Type: { // also identifier\n if (tn.peek(IdentifierHandling.Prefer) == Token.Identifier) {\n statement = this.parseTypeDeclaration(tn, CommonFlags.None, null, tn.tokenPos);\n break;\n }\n // fall-through\n }\n default: {\n tn.reset(state);\n statement = this.parseExpressionStatement(tn);\n break;\n }\n }\n if (!statement) { // has been reported\n tn.reset(state);\n this.skipStatement(tn);\n } else {\n tn.discard(state);\n }\n return statement;\n }\n\n parseBlockStatement(\n tn: Tokenizer,\n topLevel: bool\n ): BlockStatement | null {\n\n // at '{': Statement* '}' ';'?\n\n let startPos = tn.tokenPos;\n let statements = new Array();\n while (!tn.skip(Token.CloseBrace)) {\n let state = tn.mark();\n let statement = this.parseStatement(tn, topLevel);\n if (!statement) {\n if (tn.token == Token.EndOfFile) return null;\n tn.reset(state);\n this.skipStatement(tn);\n } else {\n tn.discard(state);\n statements.push(statement);\n }\n }\n let ret = Node.createBlockStatement(statements, tn.range(startPos, tn.pos));\n if (topLevel) tn.skip(Token.Semicolon);\n return ret;\n }\n\n parseBreak(\n tn: Tokenizer\n ): BreakStatement | null {\n\n // at 'break': Identifier? ';'?\n\n let identifier: IdentifierExpression | null = null;\n if (tn.peek() == Token.Identifier && !tn.peekOnNewLine()) {\n tn.next(IdentifierHandling.Prefer);\n identifier = Node.createIdentifierExpression(tn.readIdentifier(), tn.range());\n }\n let ret = Node.createBreakStatement(identifier, tn.range());\n tn.skip(Token.Semicolon);\n return ret;\n }\n\n parseContinue(\n tn: Tokenizer\n ): ContinueStatement | null {\n\n // at 'continue': Identifier? ';'?\n\n let identifier: IdentifierExpression | null = null;\n if (tn.peek() == Token.Identifier && !tn.peekOnNewLine()) {\n tn.next(IdentifierHandling.Prefer);\n identifier = Node.createIdentifierExpression(tn.readIdentifier(), tn.range());\n }\n let ret = Node.createContinueStatement(identifier, tn.range());\n tn.skip(Token.Semicolon);\n return ret;\n }\n\n parseDoStatement(\n tn: Tokenizer\n ): DoStatement | null {\n\n // at 'do': Statement 'while' '(' Expression ')' ';'?\n\n let startPos = tn.tokenPos;\n let statement = this.parseStatement(tn);\n if (!statement) return null;\n\n if (tn.skip(Token.While)) {\n\n if (tn.skip(Token.OpenParen)) {\n let condition = this.parseExpression(tn);\n if (!condition) return null;\n\n if (tn.skip(Token.CloseParen)) {\n let ret = Node.createDoStatement(statement, condition, tn.range(startPos, tn.pos));\n tn.skip(Token.Semicolon);\n return ret;\n } else {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \")\"\n );\n }\n } else {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \"(\"\n );\n }\n } else {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \"while\"\n );\n }\n return null;\n }\n\n parseExpressionStatement(\n tn: Tokenizer\n ): ExpressionStatement | null {\n\n // at previous token\n\n let expr = this.parseExpression(tn);\n if (!expr) return null;\n\n let ret = Node.createExpressionStatement(expr);\n tn.skip(Token.Semicolon);\n return ret;\n }\n\n parseForStatement(\n tn: Tokenizer\n ): Statement | null {\n\n // at 'for': '(' Statement? Expression? ';' Expression? ')' Statement\n\n let startPos = tn.tokenPos;\n\n if (tn.skip(Token.OpenParen)) {\n let initializer: Statement | null = null;\n\n if (tn.skip(Token.Const)) {\n initializer = this.parseVariable(tn, CommonFlags.Const, null, tn.tokenPos, true);\n } else if (tn.skip(Token.Let)) {\n initializer = this.parseVariable(tn, CommonFlags.Let, null, tn.tokenPos, true);\n } else if (tn.skip(Token.Var)) {\n initializer = this.parseVariable(tn, CommonFlags.None, null, tn.tokenPos, true);\n\n } else if (!tn.skip(Token.Semicolon)) {\n initializer = this.parseExpressionStatement(tn);\n if (!initializer) return null;\n }\n\n if (initializer) {\n if (tn.skip(Token.Of)) {\n // TODO: for (let [key, val] of ...)\n if (initializer.kind == NodeKind.Expression) {\n if ((initializer).expression.kind != NodeKind.Identifier) {\n this.error(\n DiagnosticCode.Identifier_expected,\n initializer.range\n );\n return null;\n }\n return this.parseForOfStatement(tn, startPos, initializer);\n }\n if (initializer.kind == NodeKind.Variable) {\n let declarations = (initializer).declarations;\n for (let i = 0, k = declarations.length; i < k; ++i) {\n let declaration = declarations[i];\n let initializer = declaration.initializer;\n if (initializer) {\n this.error(\n DiagnosticCode.The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer,\n initializer.range\n ); // recoverable\n }\n }\n return this.parseForOfStatement(tn, startPos, initializer);\n }\n this.error(\n DiagnosticCode.Identifier_expected,\n initializer.range\n );\n return null;\n }\n // non-for..of needs type or initializer\n if (initializer.kind == NodeKind.Variable) {\n let declarations = (initializer).declarations;\n for (let i = 0, k = declarations.length; i < k; ++i) {\n let declaration = declarations[i];\n if (!declaration.initializer) {\n if (declaration.flags & CommonFlags.Const) {\n this.error(\n DiagnosticCode._const_declarations_must_be_initialized,\n declaration.name.range\n );\n } else if (!declaration.type) {\n this.error(\n DiagnosticCode.Type_expected,\n declaration.name.range.atEnd\n );\n }\n }\n }\n }\n }\n\n if (tn.token == Token.Semicolon) {\n let condition: ExpressionStatement | null = null;\n if (!tn.skip(Token.Semicolon)) {\n condition = this.parseExpressionStatement(tn);\n if (!condition) return null;\n }\n\n if (tn.token == Token.Semicolon) {\n let incrementor: Expression | null = null;\n if (!tn.skip(Token.CloseParen)) {\n incrementor = this.parseExpression(tn);\n if (!incrementor) return null;\n\n if (!tn.skip(Token.CloseParen)) {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \")\"\n );\n return null;\n }\n }\n\n let statement = this.parseStatement(tn);\n if (!statement) return null;\n\n return Node.createForStatement(\n initializer,\n condition\n ? condition.expression\n : null,\n incrementor,\n statement,\n tn.range(startPos, tn.pos)\n );\n\n } else {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \";\"\n );\n }\n } else {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \";\"\n );\n }\n } else {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \"(\"\n );\n }\n return null;\n }\n\n parseForOfStatement(\n tn: Tokenizer,\n startPos: i32,\n variable: Statement,\n ): ForOfStatement | null {\n\n // at 'of': Expression ')' Statement\n\n let iterable = this.parseExpression(tn);\n if (!iterable) return null;\n\n if (!tn.skip(Token.CloseParen)) {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \")\"\n );\n return null;\n }\n\n let statement = this.parseStatement(tn);\n if (!statement) return null;\n\n return Node.createForOfStatement(\n variable,\n iterable,\n statement,\n tn.range(startPos, tn.pos)\n );\n }\n\n parseIfStatement(\n tn: Tokenizer\n ): IfStatement | null {\n\n // at 'if': '(' Expression ')' Statement ('else' Statement)?\n\n let startPos = tn.tokenPos;\n if (tn.skip(Token.OpenParen)) {\n let condition = this.parseExpression(tn);\n if (!condition) return null;\n if (tn.skip(Token.CloseParen)) {\n let statement = this.parseStatement(tn);\n if (!statement) return null;\n let elseStatement: Statement | null = null;\n if (tn.skip(Token.Else)) {\n elseStatement = this.parseStatement(tn);\n if (!elseStatement) return null;\n }\n return Node.createIfStatement(\n condition,\n statement,\n elseStatement,\n tn.range(startPos, tn.pos)\n );\n } else {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \")\"\n );\n }\n } else {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \"(\"\n );\n }\n return null;\n }\n\n parseSwitchStatement(\n tn: Tokenizer\n ): SwitchStatement | null {\n\n // at 'switch': '(' Expression ')' '{' SwitchCase* '}' ';'?\n\n let startPos = tn.tokenPos;\n if (tn.skip(Token.OpenParen)) {\n let condition = this.parseExpression(tn);\n if (!condition) return null;\n if (tn.skip(Token.CloseParen)) {\n if (tn.skip(Token.OpenBrace)) {\n let switchCases = new Array();\n while (!tn.skip(Token.CloseBrace)) {\n let switchCase = this.parseSwitchCase(tn);\n if (!switchCase) return null;\n switchCases.push(switchCase);\n }\n let ret = Node.createSwitchStatement(condition, switchCases, tn.range(startPos, tn.pos));\n tn.skip(Token.Semicolon);\n return ret;\n } else {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \"{\"\n );\n }\n } else {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \")\"\n );\n }\n } else {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \"(\"\n );\n }\n return null;\n }\n\n parseSwitchCase(\n tn: Tokenizer\n ): SwitchCase | null {\n\n let startPos = tn.tokenPos;\n let statements: Statement[],\n statement: Statement | null;\n\n // 'case' Expression ':' Statement*\n\n if (tn.skip(Token.Case)) {\n let label = this.parseExpression(tn);\n if (!label) return null;\n if (tn.skip(Token.Colon)) {\n statements = new Array();\n while (\n tn.peek() != Token.Case &&\n tn.nextToken != Token.Default &&\n tn.nextToken != Token.CloseBrace\n ) {\n statement = this.parseStatement(tn);\n if (!statement) return null;\n statements.push(statement);\n }\n return Node.createSwitchCase(label, statements, tn.range(startPos, tn.pos));\n } else {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \":\"\n );\n }\n\n // 'default' ':' Statement*\n\n } else if (tn.skip(Token.Default)) {\n if (tn.skip(Token.Colon)) {\n statements = new Array();\n while (\n tn.peek() != Token.Case &&\n tn.nextToken != Token.Default &&\n tn.nextToken != Token.CloseBrace\n ) {\n statement = this.parseStatement(tn);\n if (!statement) return null;\n statements.push(statement);\n }\n return Node.createSwitchCase(null, statements, tn.range(startPos, tn.pos));\n } else {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \":\"\n );\n }\n } else {\n this.error(\n DiagnosticCode._case_or_default_expected,\n tn.range()\n );\n }\n return null;\n }\n\n parseThrowStatement(\n tn: Tokenizer\n ): ThrowStatement | null {\n\n // at 'throw': Expression ';'?\n\n let startPos = tn.tokenPos;\n let expression = this.parseExpression(tn);\n if (!expression) return null;\n let ret = Node.createThrowStatement(expression, tn.range(startPos, tn.pos));\n if (!tn.skip(Token.Semicolon)) this.checkASI(tn);\n return ret;\n }\n\n parseTryStatement(\n tn: Tokenizer\n ): TryStatement | null {\n\n // at 'try':\n // '{' Statement* '}'\n // ('catch' '(' VariableMember ')' '{' Statement* '}')?\n // ('finally' '{' Statement* '}'? ';'?\n\n let startPos = tn.tokenPos;\n let stmt: Statement | null;\n if (tn.skip(Token.OpenBrace)) {\n let bodyStatements = new Array();\n while (!tn.skip(Token.CloseBrace)) {\n stmt = this.parseStatement(tn);\n if (!stmt) return null;\n bodyStatements.push(stmt);\n }\n let catchVariable: IdentifierExpression | null = null;\n let catchStatements: Statement[] | null = null;\n let finallyStatements: Statement[] | null = null;\n if (tn.skip(Token.Catch)) {\n if (!tn.skip(Token.OpenParen)) {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \"(\"\n );\n return null;\n }\n if (!tn.skipIdentifier()) {\n this.error(\n DiagnosticCode.Identifier_expected,\n tn.range()\n );\n return null;\n }\n catchVariable = Node.createIdentifierExpression(tn.readIdentifier(), tn.range());\n if (!tn.skip(Token.CloseParen)) {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \")\"\n );\n return null;\n }\n if (!tn.skip(Token.OpenBrace)) {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \"{\"\n );\n return null;\n }\n catchStatements = [];\n while (!tn.skip(Token.CloseBrace)) {\n stmt = this.parseStatement(tn);\n if (!stmt) return null;\n catchStatements.push(stmt);\n }\n }\n if (tn.skip(Token.Finally)) {\n if (!tn.skip(Token.OpenBrace)) {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \"{\"\n );\n return null;\n }\n finallyStatements = [];\n while (!tn.skip(Token.CloseBrace)) {\n stmt = this.parseStatement(tn);\n if (!stmt) return null;\n finallyStatements.push(stmt);\n }\n }\n if (!(catchStatements || finallyStatements)) {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \"catch\"\n );\n return null;\n }\n let ret = Node.createTryStatement(\n bodyStatements,\n catchVariable,\n catchStatements,\n finallyStatements,\n tn.range(startPos, tn.pos)\n );\n tn.skip(Token.Semicolon);\n return ret;\n } else {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \"{\"\n );\n }\n return null;\n }\n\n parseTypeDeclaration(\n tn: Tokenizer,\n flags: CommonFlags,\n decorators: DecoratorNode[] | null,\n startPos: i32\n ): TypeDeclaration | null {\n\n // at 'type': Identifier ('<' TypeParameters '>')? '=' '|'? Type ';'?\n\n if (tn.skipIdentifier()) {\n let name = Node.createIdentifierExpression(tn.readIdentifier(), tn.range());\n let typeParameters: TypeParameterNode[] | null = null;\n if (tn.skip(Token.LessThan)) {\n typeParameters = this.parseTypeParameters(tn);\n if (!typeParameters) return null;\n flags |= CommonFlags.Generic;\n }\n if (tn.skip(Token.Equals)) {\n tn.skip(Token.Bar);\n let type = this.parseType(tn);\n if (!type) return null;\n if (isCircularTypeAlias(name.text, type)) {\n this.error(\n DiagnosticCode.Type_alias_0_circularly_references_itself,\n name.range, name.text\n );\n return null;\n }\n let ret = Node.createTypeDeclaration(\n name,\n decorators,\n flags,\n typeParameters,\n type,\n tn.range(startPos, tn.pos)\n );\n tn.skip(Token.Semicolon);\n ret.overriddenModuleName = this.currentModuleName;\n return ret;\n } else {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \"=\"\n );\n }\n } else {\n this.error(\n DiagnosticCode.Identifier_expected,\n tn.range()\n );\n }\n return null;\n }\n\n parseModuleDeclaration(\n tn: Tokenizer,\n flags: CommonFlags\n ): ModuleDeclaration | null {\n\n // at 'module': StringLiteral ';'?\n\n let startPos = tn.tokenPos;\n assert(tn.next() == Token.StringLiteral); // checked earlier\n let moduleName = tn.readString();\n let ret = Node.createModuleDeclaration(moduleName, flags, tn.range(startPos, tn.pos));\n this.currentModuleName = moduleName;\n tn.skip(Token.Semicolon);\n return ret;\n }\n\n parseVoidStatement(\n tn: Tokenizer\n ): VoidStatement | null {\n\n // at 'void': Expression ';'?\n\n let startPos = tn.tokenPos;\n let expression = this.parseExpression(tn, Precedence.Grouping);\n if (!expression) return null;\n let ret = Node.createVoidStatement(expression, tn.range(startPos, tn.pos));\n tn.skip(Token.Semicolon);\n return ret;\n }\n\n parseWhileStatement(\n tn: Tokenizer\n ): WhileStatement | null {\n\n // at 'while': '(' Expression ')' Statement ';'?\n\n let startPos = tn.tokenPos;\n if (tn.skip(Token.OpenParen)) {\n let expression = this.parseExpression(tn);\n if (!expression) return null;\n if (tn.skip(Token.CloseParen)) {\n let statement = this.parseStatement(tn);\n if (!statement) return null;\n let ret = Node.createWhileStatement(expression, statement, tn.range(startPos, tn.pos));\n tn.skip(Token.Semicolon);\n return ret;\n } else {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \")\"\n );\n }\n } else {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \"(\"\n );\n }\n return null;\n }\n\n // expressions\n\n parseExpressionStart(\n tn: Tokenizer\n ): Expression | null {\n let token = tn.next(IdentifierHandling.Prefer);\n let startPos = tn.tokenPos;\n switch (token) {\n\n // TODO: SpreadExpression, YieldExpression\n case Token.Dot_Dot_Dot:\n case Token.Yield: // fallthrough to unsupported UnaryPrefixExpression\n\n // UnaryPrefixExpression\n case Token.Exclamation:\n case Token.Tilde:\n case Token.Plus:\n case Token.Minus:\n case Token.TypeOf:\n case Token.Void:\n case Token.Delete: {\n let operand = this.parseExpression(tn, Precedence.UnaryPrefix);\n if (!operand) return null;\n return Node.createUnaryPrefixExpression(token, operand, tn.range(startPos, tn.pos));\n }\n case Token.Plus_Plus:\n case Token.Minus_Minus: {\n let operand = this.parseExpression(tn, Precedence.UnaryPrefix);\n if (!operand) return null;\n switch (operand.kind) {\n case NodeKind.Identifier:\n case NodeKind.ElementAccess:\n case NodeKind.PropertyAccess: break;\n default: {\n this.error(\n DiagnosticCode.The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access,\n operand.range\n );\n }\n }\n return Node.createUnaryPrefixExpression(token, operand, tn.range(startPos, tn.pos));\n }\n\n // NewExpression\n case Token.New: {\n if (!tn.skipIdentifier()) {\n this.error(\n DiagnosticCode.Identifier_expected,\n tn.range()\n );\n return null;\n }\n let typeName = this.parseTypeName(tn);\n if (!typeName) return null;\n let typeArguments: TypeNode[] | null = null;\n let arguments_: Expression[] | null = null;\n if (\n tn.skip(Token.OpenParen) ||\n (typeArguments = this.tryParseTypeArgumentsBeforeArguments(tn))\n ) {\n arguments_ = this.parseArguments(tn);\n if (!arguments_) return null;\n } else {\n arguments_ = []; // new Type;\n }\n return Node.createNewExpression(\n typeName,\n typeArguments,\n arguments_,\n tn.range(startPos, tn.pos)\n );\n }\n\n // Special IdentifierExpression\n case Token.Null: return Node.createNullExpression(tn.range());\n case Token.True: return Node.createTrueExpression(tn.range());\n case Token.False: return Node.createFalseExpression(tn.range());\n case Token.This: return Node.createThisExpression(tn.range());\n case Token.Constructor: return Node.createConstructorExpression(tn.range());\n\n // ParenthesizedExpression or FunctionExpression\n case Token.OpenParen: {\n\n // determine whether this is a function expression\n if (tn.skip(Token.CloseParen)) { // must be a function expression (fast route)\n return this.parseFunctionExpressionCommon(\n tn,\n Node.createEmptyIdentifierExpression(tn.range(startPos)),\n [],\n null,\n ArrowKind.Parenthesized\n );\n }\n let state = tn.mark();\n let again = true;\n do {\n switch (tn.next(IdentifierHandling.Prefer)) {\n\n // function expression\n case Token.Dot_Dot_Dot: {\n tn.reset(state);\n return this.parseFunctionExpression(tn);\n }\n // can be both\n case Token.Identifier: {\n tn.readIdentifier();\n switch (tn.next()) {\n\n // if we got here, check for arrow\n case Token.CloseParen: {\n // `Identifier):Type =>` is function expression\n if (tn.skip(Token.Colon)) {\n let type = this.parseType(tn, true, true);\n if (type == null) {\n again = false;\n break;\n }\n }\n if (!tn.skip(Token.Equals_GreaterThan)) {\n again = false;\n break;\n }\n // fall-through\n }\n // function expression\n case Token.Colon: { // type annotation\n tn.reset(state);\n return this.parseFunctionExpression(tn);\n }\n // optional parameter or parenthesized\n case Token.Question: {\n if (\n tn.skip(Token.Colon) || // optional parameter with type\n tn.skip(Token.Comma) || // optional parameter without type\n tn.skip(Token.CloseParen) // last optional parameter without type\n ) {\n tn.reset(state);\n return this.parseFunctionExpression(tn);\n }\n again = false; // parenthesized\n break;\n }\n case Token.Comma: {\n break; // continue\n }\n // parenthesized expression\n // case Token.EQUALS: // missing type annotation for simplicity\n default: {\n again = false;\n break;\n }\n }\n break;\n }\n // parenthesized expression\n default: {\n again = false;\n break;\n }\n }\n } while (again);\n tn.reset(state);\n\n // parse parenthesized\n let inner = this.parseExpression(tn);\n if (!inner) return null;\n if (!tn.skip(Token.CloseParen)) {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \")\"\n );\n return null;\n }\n inner = Node.createParenthesizedExpression(inner, tn.range(startPos, tn.pos));\n return this.maybeParseCallExpression(tn, inner);\n }\n // ArrayLiteralExpression\n case Token.OpenBracket: {\n let elementExpressions = new Array();\n while (!tn.skip(Token.CloseBracket)) {\n let expr: Expression | null;\n if (tn.peek() == Token.Comma) {\n expr = Node.createOmittedExpression(tn.range(tn.pos));\n } else {\n expr = this.parseExpression(tn, Precedence.Comma + 1);\n if (!expr) return null;\n }\n elementExpressions.push(expr);\n if (!tn.skip(Token.Comma)) {\n if (tn.skip(Token.CloseBracket)) {\n break;\n } else {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \"]\"\n );\n return null;\n }\n }\n }\n return Node.createArrayLiteralExpression(elementExpressions, tn.range(startPos, tn.pos));\n }\n // ObjectLiteralExpression\n case Token.OpenBrace: {\n let startPos = tn.tokenPos;\n let names = new Array();\n let values = new Array();\n let name: IdentifierExpression;\n while (!tn.skip(Token.CloseBrace)) {\n if (!tn.skipIdentifier()) {\n if (!tn.skip(Token.StringLiteral)) {\n this.error(\n DiagnosticCode.Identifier_expected,\n tn.range(),\n );\n return null;\n }\n name = Node.createIdentifierExpression(tn.readString(), tn.range());\n name.isQuoted = true;\n } else {\n name = Node.createIdentifierExpression(tn.readIdentifier(), tn.range());\n }\n names.push(name);\n if (tn.skip(Token.Colon)) {\n let value = this.parseExpression(tn, Precedence.Comma + 1);\n if (!value) return null;\n values.push(value);\n } else if (!name.isQuoted) {\n values.push(name);\n } else {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \":\"\n );\n return null;\n }\n if (!tn.skip(Token.Comma)) {\n if (tn.skip(Token.CloseBrace)) {\n break;\n } else {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \"}\"\n );\n return null;\n }\n }\n }\n return Node.createObjectLiteralExpression(names, values, tn.range(startPos, tn.pos));\n }\n // AssertionExpression (unary prefix)\n case Token.LessThan: {\n let toType = this.parseType(tn);\n if (!toType) return null;\n if (!tn.skip(Token.GreaterThan)) {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \">\"\n );\n return null;\n }\n let expr = this.parseExpression(tn, Precedence.Call);\n if (!expr) return null;\n return Node.createAssertionExpression(\n AssertionKind.Prefix,\n expr,\n toType,\n tn.range(startPos, tn.pos)\n );\n }\n case Token.Identifier: {\n let identifierText = tn.readIdentifier();\n if (identifierText == \"null\") return Node.createNullExpression(tn.range()); // special\n let identifier = Node.createIdentifierExpression(identifierText, tn.range(startPos, tn.pos));\n if (tn.skip(Token.TemplateLiteral)) {\n return this.parseTemplateLiteral(tn, identifier);\n }\n if (tn.peek() == Token.Equals_GreaterThan && !tn.peekOnNewLine()) {\n return this.parseFunctionExpressionCommon(\n tn,\n Node.createEmptyIdentifierExpression(tn.range(startPos)),\n [\n Node.createParameter(\n ParameterKind.Default,\n identifier,\n Node.createOmittedType(identifier.range.atEnd),\n null,\n identifier.range\n )\n ],\n null,\n ArrowKind.Single,\n startPos\n );\n }\n return this.maybeParseCallExpression(tn, identifier, true);\n }\n case Token.Super: {\n if (tn.peek() != Token.Dot && tn.nextToken != Token.OpenParen) {\n this.error(\n DiagnosticCode._super_must_be_followed_by_an_argument_list_or_member_access,\n tn.range()\n );\n }\n let expr = Node.createSuperExpression(tn.range(startPos, tn.pos));\n return this.maybeParseCallExpression(tn, expr);\n }\n case Token.StringLiteral: {\n return Node.createStringLiteralExpression(tn.readString(), tn.range(startPos, tn.pos));\n }\n case Token.TemplateLiteral: {\n return this.parseTemplateLiteral(tn);\n }\n case Token.IntegerLiteral: {\n let value = tn.readInteger();\n tn.checkForIdentifierStartAfterNumericLiteral();\n return Node.createIntegerLiteralExpression(value, tn.range(startPos, tn.pos));\n }\n case Token.FloatLiteral: {\n let value = tn.readFloat();\n tn.checkForIdentifierStartAfterNumericLiteral();\n return Node.createFloatLiteralExpression(value, tn.range(startPos, tn.pos));\n }\n // RegexpLiteralExpression\n // note that this also continues on invalid ones so the surrounding AST remains intact\n case Token.Slash: {\n let regexpPattern = tn.readRegexpPattern(); // also reports\n if (!tn.skip(Token.Slash)) {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \"/\"\n );\n return null;\n }\n return Node.createRegexpLiteralExpression(\n regexpPattern,\n tn.readRegexpFlags(), // also reports\n tn.range(startPos, tn.pos)\n );\n }\n case Token.Function: {\n let expr = this.parseFunctionExpression(tn);\n if (!expr) return null;\n return this.maybeParseCallExpression(tn, expr);\n }\n case Token.Class: {\n return this.parseClassExpression(tn);\n }\n default: {\n if (token == Token.EndOfFile) {\n this.error(\n DiagnosticCode.Unexpected_end_of_text,\n tn.range(startPos)\n );\n } else {\n this.error(\n DiagnosticCode.Expression_expected,\n tn.range()\n );\n }\n return null;\n }\n }\n }\n\n tryParseTypeArgumentsBeforeArguments(\n tn: Tokenizer\n ): TypeNode[] | null {\n\n // at '<': Type (',' Type)* '>' '('\n\n let state = tn.mark();\n if (!tn.skip(Token.LessThan)) return null;\n let start = tn.tokenPos;\n let typeArguments: TypeNode[] | null = null;\n do {\n if (tn.peek() == Token.GreaterThan) {\n break;\n }\n let type = this.parseType(tn, true, true);\n if (!type) {\n tn.reset(state);\n return null;\n }\n if (!typeArguments) typeArguments = [ type ];\n else typeArguments.push(type);\n } while (tn.skip(Token.Comma));\n if (tn.skip(Token.GreaterThan)) {\n let end = tn.pos;\n if (tn.skip(Token.OpenParen)) {\n if (!typeArguments) {\n this.error(\n DiagnosticCode.Type_argument_list_cannot_be_empty,\n tn.range(start, end)\n );\n }\n return typeArguments;\n }\n }\n tn.reset(state);\n return null;\n }\n\n parseArguments(\n tn: Tokenizer\n ): Expression[] | null {\n\n // at '(': (Expression (',' Expression)*)? ')'\n\n let args = new Array();\n while (!tn.skip(Token.CloseParen)) {\n let expr = this.parseExpression(tn, Precedence.Comma + 1);\n if (!expr) return null;\n args.push(expr);\n if (!tn.skip(Token.Comma)) {\n if (tn.skip(Token.CloseParen)) {\n break;\n } else {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \")\"\n );\n return null;\n }\n }\n }\n return args;\n }\n\n parseExpression(\n tn: Tokenizer,\n precedence: Precedence = Precedence.Comma\n ): Expression | null {\n assert(precedence != Precedence.None);\n let expr = this.parseExpressionStart(tn);\n if (!expr) return null;\n let startPos = expr.range.start;\n\n // precedence climbing\n // see: http://www.engr.mun.ca/~theo/Misc/exp_parsing.htm#climbing\n let nextPrecedence: Precedence;\n while (\n (nextPrecedence = determinePrecedence(tn.peek())) >= precedence\n ) {\n let token = tn.next();\n switch (token) {\n\n // AssertionExpression\n case Token.As: {\n if (tn.skip(Token.Const)) {\n expr = Node.createAssertionExpression(\n AssertionKind.Const,\n expr,\n null,\n tn.range(startPos, tn.pos)\n );\n } else {\n let toType = this.parseType(tn); // reports\n if (!toType) return null;\n expr = Node.createAssertionExpression(\n AssertionKind.As,\n expr,\n toType,\n tn.range(startPos, tn.pos)\n );\n }\n break;\n }\n case Token.Exclamation: {\n expr = Node.createAssertionExpression(\n AssertionKind.NonNull,\n expr,\n null,\n tn.range(startPos, tn.pos)\n );\n expr = this.maybeParseCallExpression(tn, expr);\n break;\n }\n // InstanceOfExpression\n case Token.InstanceOf: {\n let isType = this.parseType(tn); // reports\n if (!isType) return null;\n expr = Node.createInstanceOfExpression(\n expr,\n isType,\n tn.range(startPos, tn.pos)\n );\n break;\n }\n // ElementAccessExpression\n case Token.OpenBracket: {\n let next = this.parseExpression(tn); // reports\n if (!next) return null;\n if (!tn.skip(Token.CloseBracket)) {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \"]\"\n );\n return null;\n }\n expr = Node.createElementAccessExpression(\n expr,\n next,\n tn.range(startPos, tn.pos)\n );\n expr = this.maybeParseCallExpression(tn, expr);\n break;\n }\n // UnaryPostfixExpression\n case Token.Plus_Plus:\n case Token.Minus_Minus: {\n if (\n expr.kind != NodeKind.Identifier &&\n expr.kind != NodeKind.ElementAccess &&\n expr.kind != NodeKind.PropertyAccess\n ) {\n this.error(\n DiagnosticCode.The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access,\n expr.range\n );\n }\n expr = Node.createUnaryPostfixExpression(\n token,\n expr,\n tn.range(startPos, tn.pos)\n );\n break;\n }\n // TernaryExpression\n case Token.Question: {\n let ifThen = this.parseExpression(tn);\n if (!ifThen) return null;\n if (!tn.skip(Token.Colon)) {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \":\"\n );\n return null;\n }\n let ifElse = this.parseExpression(tn, precedence > Precedence.Comma\n ? Precedence.Comma + 1\n : Precedence.Comma\n );\n if (!ifElse) return null;\n expr = Node.createTernaryExpression(\n expr,\n ifThen,\n ifElse,\n tn.range(startPos, tn.pos)\n );\n break;\n }\n // CommaExpression\n case Token.Comma: {\n let commaExprs: Expression[] = [ expr ];\n do {\n expr = this.parseExpression(tn, Precedence.Comma + 1);\n if (!expr) return null;\n commaExprs.push(expr);\n } while (tn.skip(Token.Comma));\n expr = Node.createCommaExpression(commaExprs, tn.range(startPos, tn.pos));\n break;\n }\n // PropertyAccessExpression\n case Token.Dot: {\n if (tn.skipIdentifier(IdentifierHandling.Always)) { // expr '.' Identifier\n let next = Node.createIdentifierExpression(tn.readIdentifier(), tn.range());\n expr = Node.createPropertyAccessExpression(\n expr,\n next,\n tn.range(startPos, tn.pos)\n );\n } else {\n let next = this.parseExpression(tn, nextPrecedence + 1);\n if (!next) return null;\n if (next.kind == NodeKind.Call) { // expr '.' CallExpression\n expr = this.joinPropertyCall(tn, startPos, expr, next);\n if (!expr) return null;\n } else {\n this.error(\n DiagnosticCode.Identifier_expected,\n next.range\n );\n return null;\n }\n }\n if (tn.skip(Token.TemplateLiteral)) {\n expr = this.parseTemplateLiteral(tn, expr);\n if (!expr) return null;\n } else {\n expr = this.maybeParseCallExpression(tn, expr, true);\n }\n break;\n }\n // BinaryExpression (right associative)\n case Token.Equals:\n case Token.Plus_Equals:\n case Token.Minus_Equals:\n case Token.Asterisk_Asterisk_Equals:\n case Token.Asterisk_Equals:\n case Token.Slash_Equals:\n case Token.Percent_Equals:\n case Token.LessThan_LessThan_Equals:\n case Token.GreaterThan_GreaterThan_Equals:\n case Token.GreaterThan_GreaterThan_GreaterThan_Equals:\n case Token.Ampersand_Equals:\n case Token.Caret_Equals:\n case Token.Bar_Equals:\n case Token.Asterisk_Asterisk: {\n let next = this.parseExpression(tn, nextPrecedence);\n if (!next) return null;\n expr = Node.createBinaryExpression(token, expr, next, tn.range(startPos, tn.pos));\n break;\n }\n // BinaryExpression\n case Token.LessThan:\n case Token.GreaterThan:\n case Token.LessThan_Equals:\n case Token.GreaterThan_Equals:\n case Token.Equals_Equals:\n case Token.Equals_Equals_Equals:\n case Token.Exclamation_Equals_Equals:\n case Token.Exclamation_Equals:\n case Token.Plus:\n case Token.Minus:\n case Token.Asterisk:\n case Token.Slash:\n case Token.Percent:\n case Token.LessThan_LessThan:\n case Token.GreaterThan_GreaterThan:\n case Token.GreaterThan_GreaterThan_GreaterThan:\n case Token.Ampersand:\n case Token.Bar:\n case Token.Caret:\n case Token.Ampersand_Ampersand:\n case Token.Bar_Bar:\n case Token.In: {\n let next = this.parseExpression(tn, nextPrecedence + 1);\n if (!next) return null;\n expr = Node.createBinaryExpression(token, expr, next, tn.range(startPos, tn.pos));\n break;\n }\n default: assert(false); // filtered by determinePrecedence\n }\n }\n return expr;\n }\n\n private parseTemplateLiteral(tn: Tokenizer, tag: Expression | null = null): Expression | null {\n // at '`': ... '`'\n let startPos = tag ? tag.range.start : tn.tokenPos;\n let parts = new Array();\n let rawParts = new Array();\n let exprs = new Array();\n parts.push(tn.readString(0, tag != null));\n rawParts.push(tn.source.text.substring(tn.readStringStart, tn.readStringEnd));\n while (tn.readingTemplateString) {\n let expr = this.parseExpression(tn);\n if (!expr) return null;\n exprs.push(expr);\n if (!tn.skip(Token.CloseBrace)) {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \"}\"\n );\n return null;\n }\n parts.push(tn.readString(CharCode.Backtick, tag != null));\n rawParts.push(tn.source.text.substring(tn.readStringStart, tn.readStringEnd));\n }\n return Node.createTemplateLiteralExpression(tag, parts, rawParts, exprs, tn.range(startPos, tn.pos));\n }\n\n private joinPropertyCall(\n tn: Tokenizer,\n startPos: i32,\n expr: Expression,\n call: CallExpression\n ): Expression | null {\n let callee = call.expression;\n switch (callee.kind) {\n case NodeKind.Identifier: { // join property access and use as call target\n call.expression = Node.createPropertyAccessExpression(\n expr,\n callee,\n tn.range(startPos, tn.pos)\n );\n break;\n }\n case NodeKind.Call: { // join call target und wrap the original call around it\n let inner = this.joinPropertyCall(tn, startPos, expr, callee);\n if (!inner) return null;\n call.expression = inner;\n call.range = tn.range(startPos, tn.pos);\n break;\n }\n default: {\n this.error(\n DiagnosticCode.Identifier_expected,\n call.range\n );\n return null;\n }\n }\n return call;\n }\n\n private maybeParseCallExpression(\n tn: Tokenizer,\n expr: Expression,\n potentiallyGeneric: bool = false\n ): Expression {\n let typeArguments: TypeNode[] | null = null;\n while (\n tn.skip(Token.OpenParen) ||\n potentiallyGeneric &&\n (typeArguments = this.tryParseTypeArgumentsBeforeArguments(tn))\n ) {\n let args = this.parseArguments(tn);\n if (!args) break;\n expr = Node.createCallExpression( // is again callable\n expr,\n typeArguments,\n args,\n tn.range(expr.range.start, tn.pos)\n );\n potentiallyGeneric = false;\n }\n return expr;\n }\n\n private checkASI(\n tn: Tokenizer\n ): void {\n // see: https://tc39.es/ecma262/#sec-automatic-semicolon-insertion\n let nextToken = tn.peek();\n if (nextToken == Token.EndOfFile || nextToken == Token.CloseBrace || tn.peekOnNewLine()) return;\n this.error(\n DiagnosticCode.Unexpected_token,\n tn.range(tn.nextTokenPos)\n );\n }\n\n /** Skips over a statement on errors in an attempt to reduce unnecessary diagnostic noise. */\n skipStatement(tn: Tokenizer): void {\n if (tn.peekOnNewLine()) tn.next(); // if reset() to the previous line\n do {\n let nextToken = tn.peek();\n if (\n nextToken == Token.EndOfFile || // next step should handle this\n nextToken == Token.Semicolon // end of the statement for sure\n ) {\n tn.next();\n break;\n }\n if (tn.peekOnNewLine()) break; // end of the statement maybe\n switch (tn.next()) {\n case Token.Identifier: {\n tn.readIdentifier();\n break;\n }\n case Token.StringLiteral:\n case Token.TemplateLiteral: {\n tn.readString();\n break;\n }\n case Token.IntegerLiteral: {\n tn.readInteger();\n tn.checkForIdentifierStartAfterNumericLiteral();\n break;\n }\n case Token.FloatLiteral: {\n tn.readFloat();\n tn.checkForIdentifierStartAfterNumericLiteral();\n break;\n }\n case Token.OpenBrace: {\n this.skipBlock(tn);\n break;\n }\n }\n } while (true);\n tn.readingTemplateString = false;\n }\n\n /** Skips over a block on errors in an attempt to reduce unnecessary diagnostic noise. */\n skipBlock(tn: Tokenizer): void {\n // at '{': ... '}'\n let depth = 1;\n let again = true;\n do {\n switch (tn.next()) {\n case Token.EndOfFile: {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \"}\"\n );\n again = false;\n break;\n }\n case Token.OpenBrace: {\n ++depth;\n break;\n }\n case Token.CloseBrace: {\n --depth;\n if (!depth) again = false;\n break;\n }\n case Token.Identifier: {\n tn.readIdentifier();\n break;\n }\n case Token.StringLiteral:{\n tn.readString();\n break;\n }\n case Token.TemplateLiteral: {\n tn.readString();\n while(tn.readingTemplateString){\n this.skipBlock(tn);\n tn.readString(CharCode.Backtick);\n }\n break;\n }\n case Token.IntegerLiteral: {\n tn.readInteger();\n tn.checkForIdentifierStartAfterNumericLiteral();\n break;\n }\n case Token.FloatLiteral: {\n tn.readFloat();\n tn.checkForIdentifierStartAfterNumericLiteral();\n break;\n }\n }\n } while (again);\n }\n}\n\n/** Operator precedence from least to largest. */\nexport const enum Precedence {\n None,\n Comma,\n Spread,\n Yield,\n Assignment,\n Conditional,\n LogicalOr,\n LogicalAnd,\n BitwiseOr,\n BitwiseXor,\n BitwiseAnd,\n Equality,\n Relational,\n Shift,\n Additive,\n Multiplicative,\n Exponentiated,\n UnaryPrefix,\n UnaryPostfix,\n Call,\n MemberAccess,\n Grouping\n}\n\n/** Determines the precedence of a non-starting token. */\nfunction determinePrecedence(kind: Token): Precedence {\n switch (kind) {\n case Token.Comma: return Precedence.Comma;\n case Token.Equals:\n case Token.Plus_Equals:\n case Token.Minus_Equals:\n case Token.Asterisk_Asterisk_Equals:\n case Token.Asterisk_Equals:\n case Token.Slash_Equals:\n case Token.Percent_Equals:\n case Token.LessThan_LessThan_Equals:\n case Token.GreaterThan_GreaterThan_Equals:\n case Token.GreaterThan_GreaterThan_GreaterThan_Equals:\n case Token.Ampersand_Equals:\n case Token.Caret_Equals:\n case Token.Bar_Equals: return Precedence.Assignment;\n case Token.Question: return Precedence.Conditional;\n case Token.Bar_Bar: return Precedence.LogicalOr;\n case Token.Ampersand_Ampersand: return Precedence.LogicalAnd;\n case Token.Bar: return Precedence.BitwiseOr;\n case Token.Caret: return Precedence.BitwiseXor;\n case Token.Ampersand: return Precedence.BitwiseAnd;\n case Token.Equals_Equals:\n case Token.Exclamation_Equals:\n case Token.Equals_Equals_Equals:\n case Token.Exclamation_Equals_Equals: return Precedence.Equality;\n case Token.As:\n case Token.In:\n case Token.InstanceOf:\n case Token.LessThan:\n case Token.GreaterThan:\n case Token.LessThan_Equals:\n case Token.GreaterThan_Equals: return Precedence.Relational;\n case Token.LessThan_LessThan:\n case Token.GreaterThan_GreaterThan:\n case Token.GreaterThan_GreaterThan_GreaterThan: return Precedence.Shift;\n case Token.Plus:\n case Token.Minus: return Precedence.Additive;\n case Token.Asterisk:\n case Token.Slash:\n case Token.Percent: return Precedence.Multiplicative;\n case Token.Asterisk_Asterisk: return Precedence.Exponentiated;\n case Token.Plus_Plus:\n case Token.Minus_Minus: return Precedence.UnaryPostfix;\n case Token.Dot:\n case Token.OpenBracket:\n case Token.Exclamation: return Precedence.MemberAccess;\n }\n return Precedence.None;\n}\n\n/** Checks if the type alias of the given name and type is circular. */\nfunction isCircularTypeAlias(name: string, type: TypeNode): bool {\n switch (type.kind) {\n case NodeKind.NamedType: {\n if ((type).name.identifier.text == name) {\n return true;\n }\n let typeArguments = (type).typeArguments;\n if (typeArguments) {\n for (let i = 0, k = typeArguments.length; i < k; i++) {\n if (isCircularTypeAlias(name, typeArguments[i])) return true;\n }\n }\n break;\n }\n case NodeKind.FunctionType: {\n let functionType = type;\n if (isCircularTypeAlias(name, functionType.returnType)) return true;\n let parameters = functionType.parameters;\n for (let i = 0, k = parameters.length; i < k; i++) {\n if (isCircularTypeAlias(name, parameters[i].type)) return true;\n }\n break;\n }\n default: assert(false);\n }\n return false;\n}\n", "/**\n * @fileoverview AssemblyScript's intermediate representation.\n *\n * The compiler uses Binaryen IR, which is fairly low level, as its\n * primary intermediate representation, with the following structures\n * holding any higher level information that cannot be represented by\n * Binaryen IR alone, for example higher level types.\n *\n * Similar to the AST being composed of `Node`s in `Source`s, the IR is\n * composed of `Element`s in a `Program`. Each class or function is\n * represented by a \"prototype\" holding all the relevant information,\n * including each's concrete instances. If a class or function is not\n * generic, there is exactly one instance, otherwise there is one for\n * each concrete set of type arguments.\n *\n * @license Apache-2.0\n */\n\n// Element Base class of all elements\n// \u251C\u2500DeclaredElement Base class of elements with a declaration\n// \u2502 \u251C\u2500TypedElement Base class of elements resolving to a type\n// \u2502 \u2502 \u251C\u2500TypeDefinition Type alias declaration\n// \u2502 \u2502 \u251C\u2500VariableLikeElement Base class of all variable-like elements\n// \u2502 \u2502 \u2502 \u251C\u2500EnumValue Enum value\n// \u2502 \u2502 \u2502 \u251C\u2500Global File global\n// \u2502 \u2502 \u2502 \u251C\u2500Local Function local\n// \u2502 \u2502 \u2502 \u2514\u2500Property Class property (incl. instance fields)\n// \u2502 \u2502 \u251C\u2500IndexSignature Class index signature\n// \u2502 \u2502 \u251C\u2500Function Concrete function instance\n// \u2502 \u2502 \u2514\u2500Class Concrete class instance\n// \u2502 \u251C\u2500Namespace Namespace with static members\n// \u2502 \u251C\u2500FunctionPrototype Prototype of concrete function instances\n// \u2502 \u251C\u2500PropertyPrototype Prototype of concrete property instances\n// \u2502 \u2514\u2500ClassPrototype Prototype of concrete class instances\n// \u2514\u2500File File, analogous to Source in the AST\n\nimport {\n CommonFlags,\n PATH_DELIMITER,\n STATIC_DELIMITER,\n INSTANCE_DELIMITER,\n GETTER_PREFIX,\n SETTER_PREFIX,\n INNER_DELIMITER,\n INDEX_SUFFIX,\n STUB_DELIMITER,\n CommonNames,\n Feature,\n Target,\n featureToString\n} from \"./common\";\n\nimport {\n Options\n} from \"./compiler\";\n\nimport {\n Range,\n DiagnosticCode,\n DiagnosticMessage,\n DiagnosticEmitter\n} from \"./diagnostics\";\n\nimport {\n Type,\n TypeKind,\n Signature,\n TypeFlags\n} from \"./types\";\n\nimport {\n Token\n} from \"./tokenizer\";\n\nimport {\n Node,\n NodeKind,\n Source,\n SourceKind,\n DecoratorNode,\n DecoratorKind,\n TypeParameterNode,\n TypeNode,\n NamedTypeNode,\n FunctionTypeNode,\n ArrowKind,\n\n Expression,\n IdentifierExpression,\n LiteralKind,\n StringLiteralExpression,\n\n Statement,\n ClassDeclaration,\n DeclarationStatement,\n EnumDeclaration,\n EnumValueDeclaration,\n ExportMember,\n ExportDefaultStatement,\n ExportStatement,\n FieldDeclaration,\n FunctionDeclaration,\n ImportDeclaration,\n ImportStatement,\n InterfaceDeclaration,\n MethodDeclaration,\n NamespaceDeclaration,\n TypeDeclaration,\n VariableDeclaration,\n VariableLikeDeclarationStatement,\n VariableStatement,\n ParameterKind,\n ParameterNode,\n TypeName\n} from \"./ast\";\n\nimport {\n Module,\n ExpressionRef,\n FunctionRef,\n MemorySegment,\n getFunctionName\n} from \"./module\";\n\nimport {\n CharCode,\n writeI8,\n writeI16,\n writeI32,\n writeF32,\n writeF64,\n writeI64,\n writeI32AsI64,\n writeI64AsI32\n} from \"./util\";\n\nimport {\n Resolver\n} from \"./resolver\";\n\nimport {\n Flow,\n LocalFlags\n} from \"./flow\";\n\nimport {\n Parser\n} from \"./parser\";\n\nimport {\n BuiltinNames,\n builtinFunctions,\n builtinVariables_onAccess\n} from \"./builtins\";\n\n// Memory manager constants\nconst AL_SIZE = 16;\nconst AL_MASK = AL_SIZE - 1;\n\n/** Represents a yet unresolved `import`. */\nclass QueuedImport {\n constructor(\n /** File being imported into. */\n public localFile: File,\n /** Identifier within the local file. */\n public localIdentifier: IdentifierExpression,\n /** Identifier within the other file. Is an `import *` if not set. */\n public foreignIdentifier: IdentifierExpression | null,\n /** Path to the other file. */\n public foreignPath: string,\n /** Alternative path to the other file. */\n public foreignPathAlt: string\n ) {}\n}\n\n/** Represents a yet unresolved `export`. */\nclass QueuedExport {\n constructor(\n /** Identifier within the local file. */\n public localIdentifier: IdentifierExpression,\n /** Identifier within the other file. */\n public foreignIdentifier: IdentifierExpression,\n /** Path to the other file if a re-export. */\n public foreignPath: string | null,\n /** Alternative path to the other file if a re-export. */\n public foreignPathAlt: string | null\n ) {}\n}\n\n/** Represents a yet unresolved `export *`. */\nclass QueuedExportStar {\n // stored in a map with localFile as the key\n constructor(\n /** Path to the other file. */\n public foreignPath: string,\n /** Alternative path to the other file. */\n public foreignPathAlt: string,\n /** Reference to the path literal for reporting. */\n public pathLiteral: StringLiteralExpression\n ) {}\n}\n\n/** Represents the kind of an operator overload. */\nexport enum OperatorKind {\n Invalid,\n\n // indexed access\n IndexedGet, // a[]\n IndexedSet, // a[]=b\n UncheckedIndexedGet, // unchecked(a[])\n UncheckedIndexedSet, // unchecked(a[]=b)\n\n // binary\n Add, // a + b\n Sub, // a - b\n Mul, // a * b\n Div, // a / b\n Rem, // a % b\n Pow, // a ** b\n BitwiseAnd, // a & b\n BitwiseOr, // a | b\n BitwiseXor, // a ^ b\n BitwiseShl, // a << b\n BitwiseShr, // a >> b\n BitwiseShrU, // a >>> b\n Eq, // a == b, a === b\n Ne, // a != b, a !== b\n Gt, // a > b\n Ge, // a >= b\n Lt, // a < b\n Le, // a <= b\n\n // unary prefix\n Plus, // +a\n Minus, // -a\n Not, // !a\n BitwiseNot, // ~a\n PrefixInc, // ++a\n PrefixDec, // --a\n\n // unary postfix\n PostfixInc, // a++\n PostfixDec // a--\n\n // not overridable:\n // LogicalAnd // a && b\n // LogicalOr // a || b\n}\n\nexport namespace OperatorKind {\n\n /** Returns the operator kind represented by the specified decorator and string argument. */\n export function fromDecorator(decoratorKind: DecoratorKind, arg: string): OperatorKind {\n assert(arg.length);\n switch (decoratorKind) {\n case DecoratorKind.Operator:\n case DecoratorKind.OperatorBinary: {\n switch (arg.charCodeAt(0)) {\n case CharCode.OpenBracket: {\n if (arg == \"[]\") return OperatorKind.IndexedGet;\n if (arg == \"[]=\") return OperatorKind.IndexedSet;\n break;\n }\n case CharCode.OpenBrace: {\n if (arg == \"{}\") return OperatorKind.UncheckedIndexedGet;\n if (arg == \"{}=\") return OperatorKind.UncheckedIndexedSet;\n break;\n }\n case CharCode.Plus: {\n if (arg == \"+\") return OperatorKind.Add;\n break;\n }\n case CharCode.Minus: {\n if (arg == \"-\") return OperatorKind.Sub;\n break;\n }\n case CharCode.Asterisk: {\n if (arg == \"*\") return OperatorKind.Mul;\n if (arg == \"**\") return OperatorKind.Pow;\n break;\n }\n case CharCode.Slash: {\n if (arg == \"/\") return OperatorKind.Div;\n break;\n }\n case CharCode.Percent: {\n if (arg == \"%\") return OperatorKind.Rem;\n break;\n }\n case CharCode.Ampersand: {\n if (arg == \"&\") return OperatorKind.BitwiseAnd;\n break;\n }\n case CharCode.Bar: {\n if (arg == \"|\") return OperatorKind.BitwiseOr;\n break;\n }\n case CharCode.Caret: {\n if (arg == \"^\") return OperatorKind.BitwiseXor;\n break;\n }\n case CharCode.Equals: {\n if (arg == \"==\") return OperatorKind.Eq;\n break;\n }\n case CharCode.Exclamation: {\n if (arg == \"!=\") return OperatorKind.Ne;\n break;\n }\n case CharCode.GreaterThan: {\n if (arg == \">\") return OperatorKind.Gt;\n if (arg == \">=\") return OperatorKind.Ge;\n if (arg == \">>\") return OperatorKind.BitwiseShr;\n if (arg == \">>>\") return OperatorKind.BitwiseShrU;\n break;\n }\n case CharCode.LessThan: {\n if (arg == \"<\") return OperatorKind.Lt;\n if (arg == \"<=\") return OperatorKind.Le;\n if (arg == \"<<\") return OperatorKind.BitwiseShl;\n break;\n }\n }\n break;\n }\n case DecoratorKind.OperatorPrefix: {\n switch (arg.charCodeAt(0)) {\n case CharCode.Plus: {\n if (arg == \"+\") return OperatorKind.Plus;\n if (arg == \"++\") return OperatorKind.PrefixInc;\n break;\n }\n case CharCode.Minus: {\n if (arg == \"-\") return OperatorKind.Minus;\n if (arg == \"--\") return OperatorKind.PrefixDec;\n break;\n }\n case CharCode.Exclamation: {\n if (arg == \"!\") return OperatorKind.Not;\n break;\n }\n case CharCode.Tilde: {\n if (arg == \"~\") return OperatorKind.BitwiseNot;\n break;\n }\n }\n break;\n }\n case DecoratorKind.OperatorPostfix: {\n switch (arg.charCodeAt(0)) {\n case CharCode.Plus: {\n if (arg == \"++\") return OperatorKind.PostfixInc;\n break;\n }\n case CharCode.Minus: {\n if (arg == \"--\") return OperatorKind.PostfixDec;\n break;\n }\n }\n break;\n }\n }\n return OperatorKind.Invalid;\n }\n\n /** Converts a binary operator token to the respective operator kind. */\n export function fromBinaryToken(token: Token): OperatorKind {\n switch (token) {\n case Token.Plus:\n case Token.Plus_Equals: return OperatorKind.Add;\n case Token.Minus:\n case Token.Minus_Equals: return OperatorKind.Sub;\n case Token.Asterisk:\n case Token.Asterisk_Equals: return OperatorKind.Mul;\n case Token.Slash:\n case Token.Slash_Equals: return OperatorKind.Div;\n case Token.Percent:\n case Token.Percent_Equals: return OperatorKind.Rem;\n case Token.Asterisk_Asterisk:\n case Token.Asterisk_Asterisk_Equals: return OperatorKind.Pow;\n case Token.Ampersand:\n case Token.Ampersand_Equals: return OperatorKind.BitwiseAnd;\n case Token.Bar:\n case Token.Bar_Equals: return OperatorKind.BitwiseOr;\n case Token.Caret:\n case Token.Caret_Equals: return OperatorKind.BitwiseXor;\n case Token.LessThan_LessThan:\n case Token.LessThan_LessThan_Equals: return OperatorKind.BitwiseShl;\n case Token.GreaterThan_GreaterThan:\n case Token.GreaterThan_GreaterThan_Equals: return OperatorKind.BitwiseShr;\n case Token.GreaterThan_GreaterThan_GreaterThan:\n case Token.GreaterThan_GreaterThan_GreaterThan_Equals: return OperatorKind.BitwiseShrU;\n case Token.Equals_Equals: return OperatorKind.Eq;\n case Token.Exclamation_Equals: return OperatorKind.Ne;\n case Token.GreaterThan: return OperatorKind.Gt;\n case Token.GreaterThan_Equals: return OperatorKind.Ge;\n case Token.LessThan: return OperatorKind.Lt;\n case Token.LessThan_Equals: return OperatorKind.Le;\n }\n return OperatorKind.Invalid;\n }\n\n /** Converts a unary prefix operator token to the respective operator kind. */\n export function fromUnaryPrefixToken(token: Token): OperatorKind {\n switch (token) {\n case Token.Plus: return OperatorKind.Plus;\n case Token.Minus: return OperatorKind.Minus;\n case Token.Exclamation: return OperatorKind.Not;\n case Token.Tilde: return OperatorKind.BitwiseNot;\n case Token.Plus_Plus: return OperatorKind.PrefixInc;\n case Token.Minus_Minus: return OperatorKind.PrefixDec;\n }\n return OperatorKind.Invalid;\n }\n\n /** Converts a unary postfix operator token to the respective operator kind. */\n export function fromUnaryPostfixToken(token: Token): OperatorKind {\n switch (token) {\n case Token.Plus_Plus: return OperatorKind.PostfixInc;\n case Token.Minus_Minus: return OperatorKind.PostfixDec;\n }\n return OperatorKind.Invalid;\n }\n}\n\n/** Represents an AssemblyScript program. */\nexport class Program extends DiagnosticEmitter {\n\n /** Constructs a new program, optionally inheriting parser diagnostics. */\n constructor(\n /** Compiler options. */\n public options: Options,\n /** Shared array of diagnostic messages (emitted so far). */\n diagnostics: DiagnosticMessage[] | null = null\n ) {\n super(diagnostics);\n this.module = Module.create(options.stackSize > 0, options.sizeTypeRef); \n this.parser = new Parser(this.diagnostics, this.sources);\n this.resolver = new Resolver(this);\n let nativeFile = new File(this, Source.native);\n this.nativeFile = nativeFile;\n this.filesByName.set(nativeFile.internalName, nativeFile);\n }\n\n /** Module instance. */\n module: Module;\n /** Parser instance. */\n parser!: Parser;\n /** Resolver instance. */\n resolver!: Resolver;\n /** Array of sources. */\n sources: Source[] = [];\n /** Diagnostic offset used where successively obtaining the next diagnostic. */\n diagnosticsOffset: i32 = 0;\n /** Special native code file. */\n nativeFile!: File;\n /** Next class id. */\n nextClassId: u32 = 0;\n /** Next signature id. */\n nextSignatureId: i32 = 0;\n /** An indicator if the program has been initialized. */\n initialized: bool = false;\n\n // Lookup maps\n\n /** Files by unique internal name. */\n filesByName: Map = new Map();\n /** Elements by unique internal name in element space. */\n elementsByName: Map = new Map();\n /** Elements by declaration. */\n elementsByDeclaration: Map = new Map();\n /** Element instances by unique internal name. */\n instancesByName: Map = new Map();\n /** Classes wrapping basic types like `i32`. */\n wrapperClasses: Map = new Map();\n /** Managed classes contained in the program, by id. */\n managedClasses: Map = new Map();\n /** A set of unique function signatures contained in the program, by id. */\n uniqueSignatures: Map = new Map();\n /** Module imports. */\n moduleImports: Map> = new Map();\n\n // Standard library\n\n /** Gets the standard `ArrayBufferView` instance. */\n get arrayBufferViewInstance(): Class {\n let cached = this._arrayBufferViewInstance;\n if (!cached) this._arrayBufferViewInstance = cached = this.requireClass(CommonNames.ArrayBufferView);\n return cached;\n }\n private _arrayBufferViewInstance: Class | null = null;\n\n /** Gets the standard `ArrayBuffer` instance. */\n get arrayBufferInstance(): Class {\n let cached = this._arrayBufferInstance;\n if (!cached) this._arrayBufferInstance = cached = this.requireClass(CommonNames.ArrayBuffer);\n return cached;\n }\n private _arrayBufferInstance: Class | null = null;\n\n /** Gets the standard `Array` prototype. */\n get arrayPrototype(): ClassPrototype {\n let cached = this._arrayPrototype;\n if (!cached) this._arrayPrototype = cached = this.require(CommonNames.Array, ElementKind.ClassPrototype);\n return cached;\n }\n private _arrayPrototype: ClassPrototype | null = null;\n\n /** Gets the standard `StaticArray` prototype. */\n get staticArrayPrototype(): ClassPrototype {\n let cached = this._staticArrayPrototype;\n if (!cached) this._staticArrayPrototype = cached = this.require(CommonNames.StaticArray, ElementKind.ClassPrototype);\n return cached;\n }\n private _staticArrayPrototype: ClassPrototype | null = null;\n\n /** Gets the standard `Set` prototype. */\n get setPrototype(): ClassPrototype {\n let cached = this._setPrototype;\n if (!cached) this._setPrototype = cached = this.require(CommonNames.Set, ElementKind.ClassPrototype);\n return cached;\n }\n private _setPrototype: ClassPrototype | null = null;\n\n /** Gets the standard `Map` prototype. */\n get mapPrototype(): ClassPrototype {\n let cached = this._mapPrototype;\n if (!cached) this._mapPrototype = cached = this.require(CommonNames.Map, ElementKind.ClassPrototype);\n return cached;\n }\n private _mapPrototype: ClassPrototype | null = null;\n\n /** Gets the standard `Function` prototype. */\n get functionPrototype(): ClassPrototype {\n let cached = this._functionPrototype;\n if (!cached) this._functionPrototype = cached = this.require(CommonNames.Function, ElementKind.ClassPrototype);\n return cached;\n }\n private _functionPrototype: ClassPrototype | null = null;\n\n /** Gets the standard `Int8Array` prototype. */\n get int8ArrayPrototype(): ClassPrototype {\n let cached = this._int8ArrayPrototype;\n if (!cached) this._int8ArrayPrototype = cached = this.require(CommonNames.Int8Array, ElementKind.ClassPrototype);\n return cached;\n }\n private _int8ArrayPrototype: ClassPrototype | null = null;\n\n /** Gets the standard `Int16Array` prototype. */\n get int16ArrayPrototype(): ClassPrototype {\n let cached = this._int16ArrayPrototype;\n if (!cached) this._int16ArrayPrototype = cached = this.require(CommonNames.Int16Array, ElementKind.ClassPrototype);\n return cached;\n }\n private _int16ArrayPrototype: ClassPrototype | null = null;\n\n /** Gets the standard `Int32Array` prototype. */\n get int32ArrayPrototype(): ClassPrototype {\n let cached = this._int32ArrayPrototype;\n if (!cached) this._int32ArrayPrototype = cached = this.require(CommonNames.Int32Array, ElementKind.ClassPrototype);\n return cached;\n }\n private _int32ArrayPrototype: ClassPrototype | null = null;\n\n /** Gets the standard `Int64Array` prototype. */\n get int64ArrayPrototype(): ClassPrototype {\n let cached = this._int64ArrayPrototype;\n if (!cached) this._int64ArrayPrototype = cached = this.require(CommonNames.Int64Array, ElementKind.ClassPrototype);\n return cached;\n }\n private _int64ArrayPrototype: ClassPrototype | null = null;\n\n /** Gets the standard `Uint8Array` prototype. */\n get uint8ArrayPrototype(): ClassPrototype {\n let cached = this._uint8ArrayPrototype;\n if (!cached) this._uint8ArrayPrototype = cached = this.require(CommonNames.Uint8Array, ElementKind.ClassPrototype);\n return cached;\n }\n private _uint8ArrayPrototype: ClassPrototype | null = null;\n\n /** Gets the standard `Uint8ClampedArray` prototype. */\n get uint8ClampedArrayPrototype(): ClassPrototype {\n let cached = this._uint8ClampedArrayPrototype;\n if (!cached) this._uint8ClampedArrayPrototype = cached = this.require(CommonNames.Uint8ClampedArray, ElementKind.ClassPrototype);\n return cached;\n }\n private _uint8ClampedArrayPrototype: ClassPrototype | null = null;\n\n /** Gets the standard `Uint16Array` prototype. */\n get uint16ArrayPrototype(): ClassPrototype {\n let cached = this._uint16ArrayPrototype;\n if (!cached) this._uint16ArrayPrototype = cached = this.require(CommonNames.Uint16Array, ElementKind.ClassPrototype);\n return cached;\n }\n private _uint16ArrayPrototype: ClassPrototype | null = null;\n\n /** Gets the standard `Uint32Array` prototype. */\n get uint32ArrayPrototype(): ClassPrototype {\n let cached = this._uint32ArrayPrototype;\n if (!cached) this._uint32ArrayPrototype = cached = this.require(CommonNames.Uint32Array, ElementKind.ClassPrototype);\n return cached;\n }\n private _uint32ArrayPrototype: ClassPrototype | null = null;\n\n /** Gets the standard `Uint64Array` prototype. */\n get uint64ArrayPrototype(): ClassPrototype {\n let cached = this._uint64ArrayPrototype;\n if (!cached) this._uint64ArrayPrototype = cached = this.require(CommonNames.Uint64Array, ElementKind.ClassPrototype);\n return cached;\n }\n private _uint64ArrayPrototype: ClassPrototype | null = null;\n\n /** Gets the standard `Float32Array` prototype. */\n get float32ArrayPrototype(): ClassPrototype {\n let cached = this._float32ArrayPrototype;\n if (!cached) this._float32ArrayPrototype = cached = this.require(CommonNames.Float32Array, ElementKind.ClassPrototype);\n return cached;\n }\n private _float32ArrayPrototype: ClassPrototype | null = null;\n\n /** Gets the standard `Float64Array` prototype. */\n get float64ArrayPrototype(): ClassPrototype {\n let cached = this._float64ArrayPrototype;\n if (!cached) this._float64ArrayPrototype = cached = this.require(CommonNames.Float64Array, ElementKind.ClassPrototype);\n return cached;\n }\n private _float64ArrayPrototype: ClassPrototype | null = null;\n\n /** Gets the standard `String` instance. */\n get stringInstance(): Class {\n let cached = this._stringInstance;\n if (!cached) this._stringInstance = cached = this.requireClass(CommonNames.String);\n return cached;\n }\n private _stringInstance: Class | null = null;\n\n /** Gets the standard `RegExp` instance. */\n get regexpInstance(): Class {\n let cached = this._regexpInstance;\n if (!cached) this._regexpInstance = cached = this.requireClass(CommonNames.RegExp);\n return cached;\n }\n private _regexpInstance: Class | null = null;\n\n /** Gets the standard `Object` prototype. */\n get objectPrototype(): ClassPrototype {\n let cached = this._objectPrototype;\n if (!cached) this._objectPrototype = cached = this.require(CommonNames.Object, ElementKind.ClassPrototype);\n return cached;\n }\n private _objectPrototype: ClassPrototype | null = null;\n\n /** Gets the standard `Object` instance. */\n get objectInstance(): Class {\n let cached = this._objectInstance;\n if (!cached) this._objectInstance = cached = this.requireClass(CommonNames.Object);\n return cached;\n }\n private _objectInstance: Class | null = null;\n\n /** Gets the standard `TemplateStringsArray` instance. */\n get templateStringsArrayInstance(): Class {\n let cached = this._templateStringsArrayInstance;\n if (!cached) this._templateStringsArrayInstance = cached = this.requireClass(CommonNames.TemplateStringsArray);\n return cached;\n }\n private _templateStringsArrayInstance: Class | null = null;\n\n /** Gets the standard `abort` instance, if not explicitly disabled. */\n get abortInstance(): Function | null {\n let prototype = this.lookup(CommonNames.abort);\n if (!prototype || prototype.kind != ElementKind.FunctionPrototype) return null;\n return this.resolver.resolveFunction(prototype, null);\n }\n\n // Runtime interface\n\n /** Gets the runtime `__alloc(size: usize): usize` instance. */\n get allocInstance(): Function {\n let cached = this._allocInstance;\n if (!cached) this._allocInstance = cached = this.requireFunction(CommonNames.alloc);\n return cached;\n }\n private _allocInstance: Function | null = null;\n\n /** Gets the runtime `__realloc(ptr: usize, newSize: usize): usize` instance. */\n get reallocInstance(): Function {\n let cached = this._reallocInstance;\n if (!cached) this._reallocInstance = cached = this.requireFunction(CommonNames.realloc);\n return cached;\n }\n private _reallocInstance: Function | null = null;\n\n /** Gets the runtime `__free(ptr: usize): void` instance. */\n get freeInstance(): Function {\n let cached = this._freeInstance;\n if (!cached) this._freeInstance = cached = this.requireFunction(CommonNames.free);\n return cached;\n }\n private _freeInstance: Function | null = null;\n\n /** Gets the runtime `__new(size: usize, id: u32): usize` instance. */\n get newInstance(): Function {\n let cached = this._newInstance;\n if (!cached) this._newInstance = cached = this.requireFunction(CommonNames.new_);\n return cached;\n }\n private _newInstance: Function | null = null;\n\n /** Gets the runtime `__renew(ptr: usize, size: usize): usize` instance. */\n get renewInstance(): Function {\n let cached = this._renewInstance;\n if (!cached) this._renewInstance = cached = this.requireFunction(CommonNames.renew);\n return cached;\n }\n private _renewInstance: Function | null = null;\n\n /** Gets the runtime `__link(parentPtr: usize, childPtr: usize, expectMultiple: bool): void` instance. */\n get linkInstance(): Function {\n let cached = this._linkInstance;\n if (!cached) this._linkInstance = cached = this.requireFunction(CommonNames.link);\n return cached;\n }\n private _linkInstance: Function | null = null;\n\n /** Gets the runtime `__collect(): void` instance. */\n get collectInstance(): Function {\n let cached = this._collectInstance;\n if (!cached) this._collectInstance = cached = this.requireFunction(CommonNames.collect);\n return cached;\n }\n private _collectInstance: Function | null = null;\n\n /** Gets the runtime `__visit(ptr: usize, cookie: u32): void` instance. */\n get visitInstance(): Function {\n let cached = this._visitInstance;\n if (!cached) this._visitInstance = cached = this.requireFunction(CommonNames.visit);\n return cached;\n }\n private _visitInstance: Function | null = null;\n\n /** Gets the runtime `__newBuffer(size: usize, id: u32, data: usize = 0): usize` instance. */\n get newBufferInstance(): Function {\n let cached = this._newBufferInstance;\n if (!cached) this._newBufferInstance = cached = this.requireFunction(CommonNames.newBuffer);\n return cached;\n }\n private _newBufferInstance: Function | null = null;\n\n /** Gets the runtime `__newArray(length: i32, alignLog2: usize, id: u32, data: usize = 0): usize` instance. */\n get newArrayInstance(): Function {\n let cached = this._newArrayInstance;\n if (!cached) this._newArrayInstance = cached = this.requireFunction(CommonNames.newArray);\n return cached;\n }\n private _newArrayInstance: Function | null = null;\n\n /** Gets the runtime's internal `BLOCK` instance. */\n get BLOCKInstance(): Class {\n let cached = this._BLOCKInstance;\n if (!cached) this._BLOCKInstance = cached = this.requireClass(CommonNames.BLOCK);\n return cached;\n }\n private _BLOCKInstance: Class | null = null;\n\n /** Gets the runtime's internal `OBJECT` instance. */\n get OBJECTInstance(): Class {\n let cached = this._OBJECTInstance;\n if (!cached) this._OBJECTInstance = cached = this.requireClass(CommonNames.OBJECT);\n return cached;\n }\n private _OBJECTInstance: Class | null = null;\n\n // Utility\n\n /** Obtains the source matching the specified internal path. */\n getSource(internalPath: string): string | null {\n let sources = this.sources;\n for (let i = 0; i < sources.length; ++i) {\n let source = sources[i];\n if (source.internalPath == internalPath) return source.text;\n }\n return null;\n }\n\n /** Gets the overhead of a memory manager block. */\n get blockOverhead(): i32 {\n // BLOCK | data...\n // ^ 16b alignment\n return this.BLOCKInstance.nextMemoryOffset;\n }\n\n /** Gets the overhead of a managed object, excl. block overhead, incl. alignment. */\n get objectOverhead(): i32 {\n // OBJECT+align | data...\n // \u2514 0 \u2518 ^ 16b alignment\n return (this.OBJECTInstance.nextMemoryOffset - this.blockOverhead + AL_MASK) & ~AL_MASK;\n }\n\n /** Gets the total overhead of a managed object, incl. block overhead. */\n get totalOverhead(): i32 {\n // BLOCK | OBJECT+align | data...\n // \u2514 = TOTAL \u2518 ^ 16b alignment\n return this.blockOverhead + this.objectOverhead;\n }\n\n searchFunctionByRef(ref: FunctionRef): Function | null {\n const modifiedFunctionName = getFunctionName(ref);\n if (modifiedFunctionName) {\n const instancesByName = this.instancesByName;\n if (instancesByName.has(modifiedFunctionName)) {\n const element = assert(instancesByName.get(modifiedFunctionName));\n if (element.kind == ElementKind.Function) {\n return element;\n }\n }\n }\n return null;\n }\n\n /** Computes the next properly aligned offset of a memory manager block, given the current bump offset. */\n computeBlockStart(currentOffset: i32): i32 {\n let blockOverhead = this.blockOverhead;\n return ((currentOffset + blockOverhead + AL_MASK) & ~AL_MASK) - blockOverhead;\n }\n\n /** Computes the next properly aligned offset of a memory manager block, given the current bump offset. */\n computeBlockStart64(currentOffset: i64): i64 {\n let blockOverhead = i64_new(this.blockOverhead);\n return i64_sub(i64_align(i64_add(currentOffset, blockOverhead), AL_SIZE), blockOverhead);\n }\n\n /** Computes the size of a memory manager block, excl. block overhead. */\n computeBlockSize(payloadSize: i32, isManaged: bool): i32 {\n // see: std/rt/tlsf.ts, computeSize; becomes mmInfo\n if (isManaged) payloadSize += this.objectOverhead;\n // we know that payload must be aligned, and that block sizes must be chosen\n // so that blocks are adjacent with the next payload aligned. hence, block\n // size is payloadSize rounded up to where the next block would start:\n let blockSize = this.computeBlockStart(payloadSize);\n // make sure that block size is valid according to TLSF requirements\n let blockOverhead = this.blockOverhead;\n let blockMinsize = ((3 * this.options.usizeType.byteSize + blockOverhead + AL_MASK) & ~AL_MASK) - blockOverhead;\n if (blockSize < blockMinsize) blockSize = blockMinsize;\n const blockMaxsize = 1 << 30; // 1 << (FL_BITS + SB_BITS - 1), exclusive\n const tagsMask = 3;\n if (blockSize >= blockMaxsize || (blockSize & tagsMask) != 0) {\n throw new Error(\"invalid block size\");\n }\n return blockSize;\n }\n\n /** Creates a native variable declaration. */\n makeNativeVariableDeclaration(\n /** The simple name of the variable */\n name: string,\n /** Flags indicating specific traits, e.g. `CONST`. */\n flags: CommonFlags = CommonFlags.None\n ): VariableDeclaration {\n let range = Source.native.range;\n return Node.createVariableDeclaration(\n Node.createIdentifierExpression(name, range),\n null, flags, null, null, range\n );\n }\n\n /** Creates a native type declaration. */\n makeNativeTypeDeclaration(\n /** The simple name of the type. */\n name: string,\n /** Flags indicating specific traits, e.g. `GENERIC`. */\n flags: CommonFlags = CommonFlags.None\n ): TypeDeclaration {\n let range = Source.native.range;\n let identifier = Node.createIdentifierExpression(name, range);\n return Node.createTypeDeclaration(\n identifier,\n null, flags, null,\n Node.createOmittedType(range),\n range\n );\n }\n\n // a dummy signature for programmatically generated native functions\n private nativeDummySignature: FunctionTypeNode | null = null;\n\n /** Creates a native function declaration. */\n makeNativeFunctionDeclaration(\n /** The simple name of the function. */\n name: string,\n /** Flags indicating specific traits, e.g. `DECLARE`. */\n flags: CommonFlags = CommonFlags.None\n ): FunctionDeclaration {\n let range = Source.native.range;\n let signature = this.nativeDummySignature;\n if (!signature) {\n this.nativeDummySignature = signature = Node.createFunctionType([],\n Node.createNamedType( // ^ AST signature doesn't really matter, is overridden anyway\n Node.createSimpleTypeName(CommonNames.void_, range),\n null, false, range\n ),\n null, false, range\n );\n }\n return Node.createFunctionDeclaration(\n Node.createIdentifierExpression(name, range),\n null, flags, null, signature, null, ArrowKind.None, range\n );\n }\n\n /** Creates a native namespace declaration. */\n makeNativeNamespaceDeclaration(\n /** The simple name of the namespace. */\n name: string,\n /** Flags indicating specific traits, e.g. `EXPORT`. */\n flags: CommonFlags = CommonFlags.None\n ): NamespaceDeclaration {\n let range = Source.native.range;\n return Node.createNamespaceDeclaration(\n Node.createIdentifierExpression(name, range),\n null, flags, [], range\n );\n }\n\n /** Creates a native function. */\n makeNativeFunction(\n /** The simple name of the function. */\n name: string,\n /** Concrete function signature. */\n signature: Signature,\n /** Parent element, usually a file, class or namespace. */\n parent: Element = this.nativeFile,\n /** Flags indicating specific traits, e.g. `GENERIC`. */\n flags: CommonFlags = CommonFlags.None,\n /** Decorator flags representing built-in decorators. */\n decoratorFlags: DecoratorFlags = DecoratorFlags.None\n ): Function {\n return new Function(\n name,\n new FunctionPrototype(\n name,\n parent,\n this.makeNativeFunctionDeclaration(name, flags),\n decoratorFlags\n ),\n null,\n signature\n );\n }\n\n /** Gets the (possibly merged) program element linked to the specified declaration. */\n getElementByDeclaration(declaration: DeclarationStatement): DeclaredElement | null {\n let elementsByDeclaration = this.elementsByDeclaration;\n return elementsByDeclaration.has(declaration)\n ? assert(elementsByDeclaration.get(declaration))\n : null;\n }\n\n /** Initializes the program and its elements prior to compilation. */\n initialize(): void {\n if (this.initialized) return;\n this.initialized = true;\n\n let options = this.options;\n\n // register native types\n this.registerNativeType(CommonNames.i8, Type.i8);\n this.registerNativeType(CommonNames.i16, Type.i16);\n this.registerNativeType(CommonNames.i32, Type.i32);\n this.registerNativeType(CommonNames.i64, Type.i64);\n this.registerNativeType(CommonNames.isize, options.isizeType);\n this.registerNativeType(CommonNames.u8, Type.u8);\n this.registerNativeType(CommonNames.u16, Type.u16);\n this.registerNativeType(CommonNames.u32, Type.u32);\n this.registerNativeType(CommonNames.u64, Type.u64);\n this.registerNativeType(CommonNames.usize, options.usizeType);\n this.registerNativeType(CommonNames.bool, Type.bool);\n this.registerNativeType(CommonNames.f32, Type.f32);\n this.registerNativeType(CommonNames.f64, Type.f64);\n this.registerNativeType(CommonNames.void_, Type.void);\n this.registerNativeType(CommonNames.number, Type.f64); // alias\n this.registerNativeType(CommonNames.boolean, Type.bool); // alias\n this.nativeFile.add(CommonNames.native, new TypeDefinition(\n CommonNames.native,\n this.nativeFile,\n this.makeNativeTypeDeclaration(CommonNames.native, CommonFlags.Export | CommonFlags.Generic),\n DecoratorFlags.Builtin\n ));\n this.nativeFile.add(CommonNames.indexof, new TypeDefinition(\n CommonNames.indexof,\n this.nativeFile,\n this.makeNativeTypeDeclaration(CommonNames.indexof, CommonFlags.Export | CommonFlags.Generic),\n DecoratorFlags.Builtin\n ));\n this.nativeFile.add(CommonNames.valueof, new TypeDefinition(\n CommonNames.valueof,\n this.nativeFile,\n this.makeNativeTypeDeclaration(CommonNames.valueof, CommonFlags.Export | CommonFlags.Generic),\n DecoratorFlags.Builtin\n ));\n this.nativeFile.add(CommonNames.returnof, new TypeDefinition(\n CommonNames.returnof,\n this.nativeFile,\n this.makeNativeTypeDeclaration(CommonNames.returnof, CommonFlags.Export | CommonFlags.Generic),\n DecoratorFlags.Builtin\n ));\n this.nativeFile.add(CommonNames.nonnull, new TypeDefinition(\n CommonNames.nonnull,\n this.nativeFile,\n this.makeNativeTypeDeclaration(CommonNames.nonnull, CommonFlags.Export | CommonFlags.Generic),\n DecoratorFlags.Builtin\n ));\n\n // The following types might not be enabled by compiler options, so the\n // compiler needs to check this condition whenever such a value is created\n // respectively stored or loaded.\n this.registerNativeType(CommonNames.v128, Type.v128);\n this.registerNativeType(CommonNames.ref_func, Type.func);\n this.registerNativeType(CommonNames.ref_extern, Type.extern);\n this.registerNativeType(CommonNames.ref_any, Type.any);\n this.registerNativeType(CommonNames.ref_eq, Type.eq);\n this.registerNativeType(CommonNames.ref_struct, Type.struct);\n this.registerNativeType(CommonNames.ref_array, Type.array);\n this.registerNativeType(CommonNames.ref_i31, Type.i31);\n this.registerNativeType(CommonNames.ref_string, Type.string);\n this.registerNativeType(CommonNames.ref_stringview_wtf8, Type.stringview_wtf8);\n this.registerNativeType(CommonNames.ref_stringview_wtf16, Type.stringview_wtf16);\n this.registerNativeType(CommonNames.ref_stringview_iter, Type.stringview_iter);\n\n // register compiler hints\n this.registerConstantInteger(CommonNames.ASC_TARGET, Type.i32,\n i64_new(options.isWasm64 ? Target.Wasm64 : Target.Wasm32));\n this.registerConstantInteger(CommonNames.ASC_RUNTIME, Type.i32,\n i64_new(options.runtime));\n this.registerConstantInteger(CommonNames.ASC_NO_ASSERT, Type.bool,\n i64_new(options.noAssert ? 1 : 0, 0));\n this.registerConstantInteger(CommonNames.ASC_MEMORY_BASE, Type.i32,\n i64_new(options.memoryBase, 0));\n this.registerConstantInteger(CommonNames.ASC_TABLE_BASE, Type.i32,\n i64_new(options.tableBase, 0));\n this.registerConstantInteger(CommonNames.ASC_OPTIMIZE_LEVEL, Type.i32,\n i64_new(options.optimizeLevelHint, 0));\n this.registerConstantInteger(CommonNames.ASC_SHRINK_LEVEL, Type.i32,\n i64_new(options.shrinkLevelHint, 0));\n this.registerConstantInteger(CommonNames.ASC_LOW_MEMORY_LIMIT, Type.i32,\n i64_new(options.lowMemoryLimit, 0));\n this.registerConstantInteger(CommonNames.ASC_EXPORT_RUNTIME, Type.bool,\n i64_new(options.exportRuntime ? 1 : 0, 0));\n this.registerConstantInteger(CommonNames.ASC_VERSION_MAJOR, Type.i32,\n i64_new(options.bundleMajorVersion));\n this.registerConstantInteger(CommonNames.ASC_VERSION_MINOR, Type.i32,\n i64_new(options.bundleMinorVersion));\n this.registerConstantInteger(CommonNames.ASC_VERSION_PATCH, Type.i32,\n i64_new(options.bundlePatchVersion));\n\n // register feature hints\n this.registerConstantInteger(CommonNames.ASC_FEATURE_SIGN_EXTENSION, Type.bool,\n i64_new(options.hasFeature(Feature.SignExtension) ? 1 : 0, 0));\n this.registerConstantInteger(CommonNames.ASC_FEATURE_MUTABLE_GLOBALS, Type.bool,\n i64_new(options.hasFeature(Feature.MutableGlobals) ? 1 : 0, 0));\n this.registerConstantInteger(CommonNames.ASC_FEATURE_NONTRAPPING_F2I, Type.bool,\n i64_new(options.hasFeature(Feature.NontrappingF2I) ? 1 : 0, 0));\n this.registerConstantInteger(CommonNames.ASC_FEATURE_BULK_MEMORY, Type.bool,\n i64_new(options.hasFeature(Feature.BulkMemory) ? 1 : 0, 0));\n this.registerConstantInteger(CommonNames.ASC_FEATURE_SIMD, Type.bool,\n i64_new(options.hasFeature(Feature.Simd) ? 1 : 0, 0));\n this.registerConstantInteger(CommonNames.ASC_FEATURE_THREADS, Type.bool,\n i64_new(options.hasFeature(Feature.Threads) ? 1 : 0, 0));\n this.registerConstantInteger(CommonNames.ASC_FEATURE_EXCEPTION_HANDLING, Type.bool,\n i64_new(options.hasFeature(Feature.ExceptionHandling) ? 1 : 0, 0));\n this.registerConstantInteger(CommonNames.ASC_FEATURE_TAIL_CALLS, Type.bool,\n i64_new(options.hasFeature(Feature.TailCalls) ? 1 : 0, 0));\n this.registerConstantInteger(CommonNames.ASC_FEATURE_REFERENCE_TYPES, Type.bool,\n i64_new(options.hasFeature(Feature.ReferenceTypes) ? 1 : 0, 0));\n this.registerConstantInteger(CommonNames.ASC_FEATURE_MULTI_VALUE, Type.bool,\n i64_new(options.hasFeature(Feature.MultiValue) ? 1 : 0, 0));\n this.registerConstantInteger(CommonNames.ASC_FEATURE_GC, Type.bool,\n i64_new(options.hasFeature(Feature.GC) ? 1 : 0, 0));\n this.registerConstantInteger(CommonNames.ASC_FEATURE_MEMORY64, Type.bool,\n i64_new(options.hasFeature(Feature.Memory64) ? 1 : 0, 0));\n this.registerConstantInteger(CommonNames.ASC_FEATURE_RELAXED_SIMD, Type.bool,\n i64_new(options.hasFeature(Feature.RelaxedSimd) ? 1 : 0, 0));\n this.registerConstantInteger(CommonNames.ASC_FEATURE_EXTENDED_CONST, Type.bool,\n i64_new(options.hasFeature(Feature.ExtendedConst) ? 1 : 0, 0));\n this.registerConstantInteger(CommonNames.ASC_FEATURE_STRINGREF, Type.bool,\n i64_new(options.hasFeature(Feature.Stringref) ? 1 : 0, 0));\n\n // remember deferred elements\n let queuedImports = new Array();\n let queuedExports = new Map>();\n let queuedExportsStar = new Map();\n let queuedExtends = new Array();\n let queuedImplements = new Array();\n\n // initialize relevant declaration-like statements of the entire program\n for (let i = 0, k = this.sources.length; i < k; ++i) {\n let source = this.sources[i];\n let file = new File(this, source);\n this.filesByName.set(file.internalName, file);\n let statements = source.statements;\n for (let j = 0, l = statements.length; j < l; ++j) {\n let statement = statements[j];\n switch (statement.kind) {\n case NodeKind.Export: {\n this.initializeExports(statement, file, queuedExports, queuedExportsStar);\n break;\n }\n case NodeKind.ExportDefault: {\n this.initializeExportDefault(statement, file, queuedExtends, queuedImplements);\n break;\n }\n case NodeKind.Import: {\n this.initializeImports(statement, file, queuedImports, queuedExports);\n break;\n }\n case NodeKind.Variable: {\n this.initializeVariables(statement, file);\n break;\n }\n case NodeKind.ClassDeclaration: {\n this.initializeClass(statement, file, queuedExtends, queuedImplements);\n break;\n }\n case NodeKind.EnumDeclaration: {\n this.initializeEnum(statement, file);\n break;\n }\n case NodeKind.FunctionDeclaration: {\n this.initializeFunction(statement, file);\n break;\n }\n case NodeKind.InterfaceDeclaration: {\n this.initializeInterface(statement, file, queuedExtends);\n break;\n }\n case NodeKind.NamespaceDeclaration: {\n this.initializeNamespace(statement, file, queuedExtends, queuedImplements);\n break;\n }\n case NodeKind.TypeDeclaration: {\n this.initializeTypeDefinition(statement, file);\n break;\n }\n }\n }\n }\n\n // queued exports * should be linkable now that all files have been processed\n // TODO: for (let [file, starExports] of queuedExportsStar) {\n for (let _keys = Map_keys(queuedExportsStar), i = 0, k = _keys.length; i < k; ++i) {\n let file = _keys[i];\n let starExports = assert(queuedExportsStar.get(file));\n for (let j = 0, l = starExports.length; j < l; ++j) {\n let exportStar = unchecked(starExports[j]);\n let foreignFile = this.lookupForeignFile(exportStar.foreignPath, exportStar.foreignPathAlt);\n if (!foreignFile) {\n this.error(\n DiagnosticCode.File_0_not_found,\n exportStar.pathLiteral.range, exportStar.pathLiteral.value\n );\n continue;\n }\n file.ensureExportStar(foreignFile);\n }\n }\n\n // queued imports should be resolvable now through traversing exports and queued exports.\n // note that imports may depend upon imports, so repeat until there's no more progress.\n do {\n let i = 0, madeProgress = false;\n while (i < queuedImports.length) {\n let queuedImport = queuedImports[i];\n let localIdentifier = queuedImport.localIdentifier;\n let foreignIdentifier = queuedImport.foreignIdentifier;\n // File must be found here, as it would otherwise already have been reported by the parser\n let foreignFile = assert(this.lookupForeignFile(queuedImport.foreignPath, queuedImport.foreignPathAlt));\n if (foreignIdentifier) { // i.e. import { foo [as bar] } from \"./baz\"\n let element = this.lookupForeign(\n foreignIdentifier.text,\n foreignFile,\n queuedExports\n );\n if (element) {\n queuedImport.localFile.add(\n localIdentifier.text,\n element,\n localIdentifier // isImport\n );\n queuedImports.splice(i, 1);\n madeProgress = true;\n } else {\n ++i;\n }\n } else { // i.e. import * as bar from \"./bar\"\n let localFile = queuedImport.localFile;\n let localName = localIdentifier.text;\n localFile.add(\n localName,\n foreignFile.asAliasNamespace(\n localName,\n localFile,\n localIdentifier\n ),\n localIdentifier // isImport\n );\n queuedImports.splice(i, 1);\n madeProgress = true;\n }\n }\n if (!madeProgress) {\n // report queued imports we were unable to resolve\n for (let j = 0, l = queuedImports.length; j < l; ++j) {\n let queuedImport = queuedImports[j];\n let foreignIdentifier = queuedImport.foreignIdentifier;\n if (foreignIdentifier) {\n this.error(\n DiagnosticCode.Module_0_has_no_exported_member_1,\n foreignIdentifier.range, queuedImport.foreignPath, foreignIdentifier.text\n );\n }\n }\n break;\n }\n } while (true);\n\n // queued exports should be resolvable now that imports are finalized\n // TODO: for (let [file, exports] of queuedExports) {\n for (let _keys = Map_keys(queuedExports), i = 0, k = _keys.length; i < k; ++i) {\n let file = unchecked(_keys[i]);\n let exports = assert(queuedExports.get(file));\n // TODO: for (let [exportName, queuedExport] of exports) {\n for (let exportNames = Map_keys(exports), j = 0, l = exportNames.length; j < l; ++j) {\n let exportName = unchecked(exportNames[j]);\n let queuedExport = assert(exports.get(exportName));\n let localName = queuedExport.localIdentifier.text;\n let foreignPath = queuedExport.foreignPath;\n if (foreignPath) { // i.e. export { foo [as bar] } from \"./baz\"\n // File must be found here, as it would otherwise already have been reported by the parser\n let foreignFile = assert(this.lookupForeignFile(foreignPath, assert(queuedExport.foreignPathAlt)));\n let element = this.lookupForeign(localName, foreignFile, queuedExports);\n if (element) {\n file.ensureExport(exportName, element);\n } else {\n this.error(\n DiagnosticCode.Module_0_has_no_exported_member_1,\n queuedExport.localIdentifier.range,\n foreignPath, localName\n );\n }\n } else { // i.e. export { foo [as bar] }\n let element = file.getMember(localName);\n if (element) {\n file.ensureExport(exportName, element);\n } else {\n let globalElement = this.lookup(localName);\n if (globalElement && isDeclaredElement(globalElement.kind)) { // export { memory }\n file.ensureExport(exportName, globalElement);\n } else {\n this.error(\n DiagnosticCode.Module_0_has_no_exported_member_1,\n queuedExport.foreignIdentifier.range,\n file.internalName, queuedExport.foreignIdentifier.text\n );\n }\n }\n }\n }\n }\n\n // register foundational classes with fixed ids\n assert(this.objectInstance.id == 0);\n assert(this.arrayBufferInstance.id == 1);\n assert(this.stringInstance.id == 2);\n assert(this.arrayBufferViewInstance.id == 3);\n\n // register classes backing basic types\n this.registerWrapperClass(Type.i8, CommonNames.I8);\n this.registerWrapperClass(Type.i16, CommonNames.I16);\n this.registerWrapperClass(Type.i32, CommonNames.I32);\n this.registerWrapperClass(Type.i64, CommonNames.I64);\n this.registerWrapperClass(options.isizeType, CommonNames.Isize);\n this.registerWrapperClass(Type.u8, CommonNames.U8);\n this.registerWrapperClass(Type.u16, CommonNames.U16);\n this.registerWrapperClass(Type.u32, CommonNames.U32);\n this.registerWrapperClass(Type.u64, CommonNames.U64);\n this.registerWrapperClass(options.usizeType, CommonNames.Usize);\n this.registerWrapperClass(Type.bool, CommonNames.Bool);\n this.registerWrapperClass(Type.f32, CommonNames.F32);\n this.registerWrapperClass(Type.f64, CommonNames.F64);\n if (options.hasFeature(Feature.Simd)) this.registerWrapperClass(Type.v128, CommonNames.V128);\n if (options.hasFeature(Feature.ReferenceTypes)) {\n this.registerWrapperClass(Type.func, CommonNames.RefFunc);\n this.registerWrapperClass(Type.extern, CommonNames.RefExtern);\n if (options.hasFeature(Feature.GC)) {\n this.registerWrapperClass(Type.any, CommonNames.RefAny);\n this.registerWrapperClass(Type.eq, CommonNames.RefEq);\n this.registerWrapperClass(Type.struct, CommonNames.RefStruct);\n this.registerWrapperClass(Type.array, CommonNames.RefArray);\n this.registerWrapperClass(Type.i31, CommonNames.RefI31);\n }\n if (options.hasFeature(Feature.Stringref)) {\n this.registerWrapperClass(Type.string, CommonNames.RefString);\n }\n }\n\n // resolve prototypes of extended classes or interfaces\n let resolver = this.resolver;\n for (let i = 0, k = queuedExtends.length; i < k; ++i) {\n let thisPrototype = queuedExtends[i];\n let extendsNode = assert(thisPrototype.extendsNode); // must be present if in queuedExtends\n let baseElement = resolver.resolveTypeName(extendsNode.name, null, thisPrototype.parent);\n if (!baseElement) continue;\n if (thisPrototype.kind == ElementKind.ClassPrototype) {\n if (baseElement.kind == ElementKind.ClassPrototype) {\n let basePrototype = baseElement;\n if (basePrototype.hasDecorator(DecoratorFlags.Final)) {\n this.error(\n DiagnosticCode.Class_0_is_final_and_cannot_be_extended,\n extendsNode.range, basePrototype.identifierNode.text\n );\n }\n if (\n basePrototype.hasDecorator(DecoratorFlags.Unmanaged) !=\n thisPrototype.hasDecorator(DecoratorFlags.Unmanaged)\n ) {\n this.error(\n DiagnosticCode.Unmanaged_classes_cannot_extend_managed_classes_and_vice_versa,\n Range.join(thisPrototype.identifierNode.range, extendsNode.range)\n );\n }\n if (!thisPrototype.extends(basePrototype)) {\n thisPrototype.basePrototype = basePrototype;\n } else {\n this.error(\n DiagnosticCode._0_is_referenced_directly_or_indirectly_in_its_own_base_expression,\n basePrototype.identifierNode.range,\n basePrototype.identifierNode.text,\n );\n }\n } else {\n this.error(\n DiagnosticCode.A_class_may_only_extend_another_class,\n extendsNode.range\n );\n }\n } else if (thisPrototype.kind == ElementKind.InterfacePrototype) {\n if (baseElement.kind == ElementKind.InterfacePrototype) {\n const basePrototype = baseElement;\n if (!thisPrototype.extends(basePrototype)) {\n thisPrototype.basePrototype = basePrototype;\n } else {\n this.error(\n DiagnosticCode._0_is_referenced_directly_or_indirectly_in_its_own_base_expression,\n basePrototype.identifierNode.range,\n basePrototype.identifierNode.text,\n );\n }\n } else {\n this.error(\n DiagnosticCode.An_interface_can_only_extend_an_interface,\n extendsNode.range\n );\n }\n }\n }\n\n // check override\n for (let i = 0, k = queuedExtends.length; i < k; i++) {\n let prototype = queuedExtends[i];\n let instanesMembers = prototype.instanceMembers;\n if (instanesMembers) {\n let members = Map_values(instanesMembers);\n for (let j = 0, k = members.length; j < k; j++) {\n let member = members[j];\n let declaration = member.declaration;\n if (declaration.is(CommonFlags.Override)) {\n let basePrototype = prototype.basePrototype;\n let hasOverride = false;\n while (basePrototype) {\n let instanceMembers = basePrototype.instanceMembers;\n if (instanceMembers) {\n if (instanceMembers.has(member.name)) {\n hasOverride = true;\n break;\n }\n }\n basePrototype = basePrototype.basePrototype;\n }\n if (!hasOverride) {\n let basePrototype = assert(prototype.basePrototype);\n this.error(\n DiagnosticCode.This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0,\n declaration.name.range,\n basePrototype.name\n );\n }\n }\n }\n }\n }\n\n // resolve prototypes of implemented interfaces\n for (let i = 0, k = queuedImplements.length; i < k; ++i) {\n let thisPrototype = queuedImplements[i];\n let implementsNodes = assert(thisPrototype.implementsNodes); // must be present if in queuedImplements\n for (let j = 0, l = implementsNodes.length; j < l; ++j) {\n let implementsNode = implementsNodes[j];\n let interfaceElement = resolver.resolveTypeName(implementsNode.name, null, thisPrototype.parent);\n if (!interfaceElement) continue;\n if (interfaceElement.kind == ElementKind.InterfacePrototype) {\n let interfacePrototype = interfaceElement;\n let interfacePrototypes = thisPrototype.interfacePrototypes;\n if (!interfacePrototypes) thisPrototype.interfacePrototypes = interfacePrototypes = new Array();\n interfacePrototypes.push(interfacePrototype);\n } else {\n this.error(\n DiagnosticCode.A_class_can_only_implement_an_interface,\n implementsNode.range\n );\n }\n }\n }\n\n // process overrides in extended classes and implemented interfaces\n for (let i = 0, k = queuedExtends.length; i < k; ++i) {\n let thisPrototype = queuedExtends[i];\n let basePrototype = thisPrototype.basePrototype;\n if (basePrototype) {\n this.processOverrides(thisPrototype, basePrototype);\n }\n }\n for (let i = 0, k = queuedImplements.length; i < k; ++i) {\n let thisPrototype = queuedImplements[i];\n let basePrototype = thisPrototype.basePrototype;\n let interfacePrototypes = thisPrototype.interfacePrototypes;\n if (basePrototype) {\n this.processOverrides(thisPrototype, basePrototype);\n }\n if (interfacePrototypes) {\n for (let j = 0, l = interfacePrototypes.length; j < l; ++j) {\n this.processOverrides(thisPrototype, interfacePrototypes[j]);\n }\n }\n }\n\n // set up global aliases\n {\n let globalAliases = options.globalAliases;\n if (!globalAliases) globalAliases = new Map();\n if (!globalAliases.has(CommonNames.abort)) {\n globalAliases.set(CommonNames.abort, BuiltinNames.abort);\n }\n if (!globalAliases.has(CommonNames.trace)) {\n globalAliases.set(CommonNames.trace, BuiltinNames.trace);\n }\n if (!globalAliases.has(CommonNames.seed)) {\n globalAliases.set(CommonNames.seed, BuiltinNames.seed);\n }\n if (!globalAliases.has(CommonNames.Math)) {\n globalAliases.set(CommonNames.Math, CommonNames.NativeMath);\n }\n if (!globalAliases.has(CommonNames.Mathf)) {\n globalAliases.set(CommonNames.Mathf, CommonNames.NativeMathf);\n }\n // TODO: for (let [alias, name] of globalAliases) {\n for (let _keys = Map_keys(globalAliases), i = 0, k = _keys.length; i < k; ++i) {\n let alias = unchecked(_keys[i]);\n let name = changetype(globalAliases.get(alias));\n assert(name != null);\n if (!name.length) {\n this.elementsByName.delete(alias);\n continue;\n }\n let firstChar = name.charCodeAt(0);\n if (firstChar >= CharCode._0 && firstChar <= CharCode._9) {\n this.registerConstantInteger(alias, Type.i32, i64_new(parseInt(name, 10)));\n } else {\n let elementsByName = this.elementsByName;\n if (elementsByName.has(name)) {\n elementsByName.set(alias, assert(elementsByName.get(name)));\n } else {\n this.error(DiagnosticCode.Element_0_not_found, null, name);\n }\n }\n }\n }\n\n // mark module exports, i.e. to apply proper wrapping behavior on the boundaries\n // TODO: for (let file of this.filesByName.values()) {\n for (let _values = Map_values(this.filesByName), i = 0, k = _values.length; i < k; ++i) {\n let file = unchecked(_values[i]);\n if (file.source.sourceKind == SourceKind.UserEntry) {\n this.markModuleExports(file);\n }\n }\n }\n\n /** Processes overridden members by this class in a base class. */\n private processOverrides(\n thisPrototype: ClassPrototype,\n basePrototype: ClassPrototype,\n ): void {\n // Note that we don't know concrete instances of class members, yet. Type\n // checking of concrete (generic) instances happens upon resolve.\n let thisInstanceMembers = thisPrototype.instanceMembers;\n if (thisInstanceMembers) {\n let thisMembers = Map_values(thisInstanceMembers);\n let seen: Set | null = null;\n do {\n let baseInstanceMembers = basePrototype.instanceMembers;\n if (baseInstanceMembers) {\n for (let j = 0, l = thisMembers.length; j < l; ++j) {\n let thisMember = thisMembers[j];\n if (baseInstanceMembers.has(thisMember.name)) {\n let baseMember = assert(baseInstanceMembers.get(thisMember.name));\n this.doProcessOverride(thisPrototype, thisMember, basePrototype, baseMember);\n }\n }\n }\n // A class can have a base class and multiple interfaces, but from the\n // base member alone we only get one. Make sure we don't miss any.\n let baseInterfacePrototypes = basePrototype.interfacePrototypes;\n if (baseInterfacePrototypes) {\n for (let i = 0, k = baseInterfacePrototypes.length; i < k; ++i) {\n let baseInterfacePrototype = baseInterfacePrototypes[i];\n if (baseInterfacePrototype != basePrototype) {\n this.processOverrides(thisPrototype, baseInterfacePrototype);\n }\n }\n }\n let nextPrototype = basePrototype.basePrototype;\n if (!nextPrototype) break;\n // Break on circular inheritance. Is diagnosed later, when resolved.\n if (!seen) seen = new Set();\n seen.add(basePrototype);\n if (seen.has(nextPrototype)) break;\n // Otherwise traverse to next base prototype.\n basePrototype = nextPrototype;\n } while (true);\n }\n }\n\n /** Processes a single overridden member by this class in a base class. */\n private doProcessOverride(\n thisClass: ClassPrototype,\n thisMember: DeclaredElement,\n baseClass: ClassPrototype,\n baseMember: DeclaredElement\n ): void {\n // Constructors and private members do not override\n if (thisMember.isAny(CommonFlags.Constructor | CommonFlags.Private)) return;\n if (\n thisMember.kind == ElementKind.FunctionPrototype &&\n baseMember.kind == ElementKind.FunctionPrototype\n ) {\n let thisMethod = thisMember;\n let baseMethod = baseMember;\n if (!thisMethod.visibilityEquals(baseMethod)) {\n this.errorRelated(\n DiagnosticCode.Overload_signatures_must_all_be_public_private_or_protected,\n thisMethod.identifierNode.range, baseMethod.identifierNode.range\n );\n }\n baseMember.set(CommonFlags.Overridden);\n let overrides = baseMethod.unboundOverrides;\n if (!overrides) baseMethod.unboundOverrides = overrides = new Set();\n overrides.add(thisMember);\n let baseMethodInstances = baseMethod.instances;\n if (baseMethodInstances) {\n for (let _values = Map_values(baseMethodInstances), a = 0, b = _values.length; a < b; ++a) {\n let baseMethodInstance = _values[a];\n baseMethodInstance.set(CommonFlags.Overridden);\n }\n }\n } else if (\n thisMember.kind == ElementKind.PropertyPrototype &&\n baseMember.kind == ElementKind.PropertyPrototype\n ) {\n let thisProperty = thisMember;\n let baseProperty = baseMember;\n if (!thisProperty.visibilityEquals(baseProperty)) {\n this.errorRelated(\n DiagnosticCode.Overload_signatures_must_all_be_public_private_or_protected,\n thisProperty.identifierNode.range, baseProperty.identifierNode.range\n );\n }\n if (baseProperty.parent.kind != ElementKind.InterfacePrototype) {\n // Interface fields/properties can be implemented by either, but other\n // members must match to retain compatiblity with TS/JS.\n let thisIsField = thisProperty.isField;\n if (thisIsField != baseProperty.isField) {\n if (thisIsField) { // base is property\n this.errorRelated(\n DiagnosticCode._0_is_defined_as_an_accessor_in_class_1_but_is_overridden_here_in_2_as_an_instance_property,\n thisProperty.identifierNode.range, baseProperty.identifierNode.range,\n thisProperty.name, baseClass.internalName, thisClass.internalName\n );\n } else { // this is property, base is field\n this.errorRelated(\n DiagnosticCode._0_is_defined_as_a_property_in_class_1_but_is_overridden_here_in_2_as_an_accessor,\n thisProperty.identifierNode.range, baseProperty.identifierNode.range,\n thisProperty.name, baseClass.internalName, thisClass.internalName\n );\n }\n return;\n } else if (thisIsField) { // base is also field\n // Fields don't override other fields and can only be redeclared\n return;\n }\n }\n baseProperty.set(CommonFlags.Overridden);\n let baseGetter = baseProperty.getterPrototype;\n if (baseGetter) {\n baseGetter.set(CommonFlags.Overridden);\n let thisGetter = thisProperty.getterPrototype;\n if (thisGetter) {\n let overrides = baseGetter.unboundOverrides;\n if (!overrides) baseGetter.unboundOverrides = overrides = new Set();\n overrides.add(thisGetter);\n }\n let baseGetterInstances = baseGetter.instances;\n if (baseGetterInstances) {\n for (let _values = Map_values(baseGetterInstances), a = 0, b = _values.length; a < b; ++a) {\n let baseGetterInstance = _values[a];\n baseGetterInstance.set(CommonFlags.Overridden);\n }\n }\n }\n let baseSetter = baseProperty.setterPrototype;\n if (baseSetter && thisProperty.setterPrototype) {\n baseSetter.set(CommonFlags.Overridden);\n let thisSetter = thisProperty.setterPrototype;\n if (thisSetter) {\n let overrides = baseSetter.unboundOverrides;\n if (!overrides) baseSetter.unboundOverrides = overrides = new Set();\n overrides.add(thisSetter);\n }\n let baseSetterInstances = baseSetter.instances;\n if (baseSetterInstances) {\n for (let _values = Map_values(baseSetterInstances), a = 0, b = _values.length; a < b; ++a) {\n let baseSetterInstance = _values[a];\n baseSetterInstance.set(CommonFlags.Overridden);\n }\n }\n }\n } else {\n this.errorRelated(\n DiagnosticCode.Property_0_in_type_1_is_not_assignable_to_the_same_property_in_base_type_2,\n thisMember.identifierNode.range, baseMember.identifierNode.range,\n thisMember.name, thisClass.internalName, baseClass.internalName\n );\n }\n }\n\n /** Looks up the element of the specified name in the global scope. */\n lookup(name: string): Element | null {\n let elements = this.elementsByName;\n if (elements.has(name)) return assert(elements.get(name));\n return null;\n }\n\n /** Requires that a global library element of the specified kind is present and returns it. */\n private require(name: string, kind: ElementKind): Element {\n let element = this.lookup(name);\n if (!element) throw new Error(`Missing standard library component: ${name}`);\n if (element.kind != kind) throw Error(`Invalid standard library component kind: ${name}`);\n return element;\n }\n\n /** Requires that a global variable is present and returns it. */\n requireGlobal(name: string): Global {\n return this.require(name, ElementKind.Global);\n }\n\n /** Requires that a non-generic global class is present and returns it. */\n requireClass(name: string): Class {\n let prototype = this.require(name, ElementKind.ClassPrototype);\n let resolved = this.resolver.resolveClass(prototype, null);\n if (!resolved) throw new Error(`Invalid standard library class: ${name}`);\n return resolved;\n }\n\n /** Requires that a global function is present and returns it. */\n requireFunction(name: string, typeArguments: Type[] | null = null): Function {\n let prototype = this.require(name, ElementKind.FunctionPrototype);\n let resolved = this.resolver.resolveFunction(prototype, typeArguments);\n if (!resolved) throw new Error(`Invalid standard library function: ${name}`);\n return resolved;\n }\n\n /** Marks all exports of the specified file as module exports. */\n private markModuleExports(file: File): void {\n let exports = file.exports;\n if (exports) {\n // TODO: for (let element of exports.values()) {\n for (let _values = Map_values(exports), j = 0, l = _values.length; j < l; ++j) {\n let element = unchecked(_values[j]);\n this.markModuleExport(element);\n }\n }\n let exportsStar = file.exportsStar;\n if (exportsStar) {\n for (let i = 0, k = exportsStar.length; i < k; ++i) {\n this.markModuleExports(exportsStar[i]);\n }\n }\n }\n\n /** Marks an element and its children as a module export. */\n private markModuleExport(element: Element): void {\n element.set(CommonFlags.ModuleExport);\n switch (element.kind) {\n case ElementKind.ClassPrototype: {\n let instanceMembers = (element).instanceMembers;\n if (instanceMembers) {\n // TODO: for (let member of instanceMembers.values()) {\n for (let _values = Map_values(instanceMembers), i = 0, k = _values.length; i < k; ++i) {\n let member = unchecked(_values[i]);\n this.markModuleExport(member);\n }\n }\n break;\n }\n case ElementKind.PropertyPrototype: {\n let propertyPrototype = element;\n let getterPrototype = propertyPrototype.getterPrototype;\n if (getterPrototype) this.markModuleExport(getterPrototype);\n let setterPrototype = propertyPrototype.setterPrototype;\n if (setterPrototype) this.markModuleExport(setterPrototype);\n break;\n }\n case ElementKind.Property:\n case ElementKind.Function:\n case ElementKind.Class: assert(false); // assumes that there are no instances yet\n }\n let staticMembers = element.members;\n if (staticMembers) {\n // TODO: for (let member of staticMembers.values()) {\n for (let _values = Map_values(staticMembers), i = 0, k = _values.length; i < k; ++i) {\n let member = unchecked(_values[i]);\n this.markModuleExport(member);\n }\n }\n }\n\n /** Marks an element as a module import. */\n markModuleImport(moduleName: string, name: string, element: Element): void {\n element.set(CommonFlags.ModuleImport);\n let moduleImports = this.moduleImports;\n let module: Map;\n if (moduleImports.has(moduleName)) {\n module = assert(moduleImports.get(moduleName));\n } else {\n module = new Map();\n moduleImports.set(moduleName, module);\n }\n module.set(name, element);\n }\n\n /** Registers a native type with the program. */\n private registerNativeType(name: string, type: Type): void {\n let element = new TypeDefinition(\n name,\n this.nativeFile,\n this.makeNativeTypeDeclaration(name, CommonFlags.Export),\n DecoratorFlags.Builtin\n );\n element.setType(type);\n this.nativeFile.add(name, element);\n }\n\n /** Registers the wrapper class of a non-class type. */\n private registerWrapperClass(type: Type, className: string): void {\n let wrapperClasses = this.wrapperClasses;\n assert(!type.isInternalReference && !wrapperClasses.has(type));\n let element = assert(this.lookup(className));\n assert(element.kind == ElementKind.ClassPrototype);\n let classElement = assert(this.resolver.resolveClass(element, null));\n classElement.wrappedType = type;\n wrapperClasses.set(type, classElement);\n }\n\n /** Registers a constant integer value within the global scope. */\n registerConstantInteger(name: string, type: Type, value: i64): void {\n assert(type.isIntegerInclReference);\n let global = new Global(\n name,\n this.nativeFile,\n DecoratorFlags.Lazy,\n this.makeNativeVariableDeclaration(name, CommonFlags.Const | CommonFlags.Export)\n );\n global.setConstantIntegerValue(value, type);\n this.nativeFile.add(name, global);\n }\n\n /** Registers a constant float value within the global scope. */\n private registerConstantFloat(name: string, type: Type, value: f64): void {\n assert(type.isFloatValue);\n let global = new Global(\n name,\n this.nativeFile,\n DecoratorFlags.Lazy,\n this.makeNativeVariableDeclaration(name, CommonFlags.Const | CommonFlags.Export)\n );\n global.setConstantFloatValue(value, type);\n this.nativeFile.add(name, global);\n }\n\n /** Ensures that the given global element exists. Attempts to merge duplicates. */\n ensureGlobal(name: string, element: DeclaredElement): DeclaredElement {\n let elementsByName = this.elementsByName;\n if (elementsByName.has(name)) {\n let existing = assert(elementsByName.get(name));\n // NOTE: this is effectively only performed when merging native types with\n // their respective namespaces in std/builtins, but can also trigger when a\n // user has multiple global elements of the same name in different files,\n // which might result in unexpected shared symbols accross files. considering\n // this a wonky feature for now that we might want to revisit later.\n if (existing != element) {\n let merged = tryMerge(existing, element);\n if (!merged) {\n if (isDeclaredElement(existing.kind)) {\n this.errorRelated(\n DiagnosticCode.Duplicate_identifier_0,\n element.identifierNode.range,\n (existing).declaration.name.range,\n name\n );\n } else {\n this.error(\n DiagnosticCode.Duplicate_identifier_0,\n element.identifierNode.range, name\n );\n }\n return element;\n }\n element = merged;\n }\n }\n elementsByName.set(name, element);\n return element;\n }\n\n /** Tries to locate a foreign file given its normalized path. */\n private lookupForeignFile(\n /** Normalized path to the other file. */\n foreignPath: string,\n /** Alternative normalized path to the other file. */\n foreignPathAlt: string\n ): File | null {\n let filesByName = this.filesByName;\n return filesByName.has(foreignPath)\n ? assert(filesByName.get(foreignPath))\n : filesByName.has(foreignPathAlt)\n ? assert(filesByName.get(foreignPathAlt))\n : null;\n }\n\n /** Tries to locate a foreign element by traversing exports and queued exports. */\n private lookupForeign(\n /** Identifier within the other file. */\n foreignName: string,\n /** The other file. */\n foreignFile: File,\n /** So far queued exports. */\n queuedExports: Map>\n ): DeclaredElement | null {\n do {\n // check if already resolved\n let element = foreignFile.lookupExport(foreignName);\n if (element) return element;\n\n // follow queued exports\n if (queuedExports.has(foreignFile)) {\n let fileQueuedExports = assert(queuedExports.get(foreignFile));\n if (fileQueuedExports.has(foreignName)) {\n let queuedExport = assert(fileQueuedExports.get(foreignName));\n let queuedExportForeignPath = queuedExport.foreignPath;\n\n // re-exported from another file\n if (queuedExportForeignPath) {\n let otherFile = this.lookupForeignFile(queuedExportForeignPath, assert(queuedExport.foreignPathAlt));\n if (!otherFile) return null;\n foreignName = queuedExport.localIdentifier.text;\n foreignFile = otherFile;\n continue;\n }\n\n // exported from this file\n element = foreignFile.getMember(queuedExport.localIdentifier.text);\n if (element) return element;\n }\n }\n break;\n } while (true);\n\n // follow star exports\n let exportsStar = foreignFile.exportsStar;\n if (exportsStar) {\n for (let i = 0, k = exportsStar.length; i < k; ++i) {\n let element = this.lookupForeign(foreignName, exportsStar[i], queuedExports);\n if (element) return element;\n }\n }\n return null;\n }\n\n /** Validates that only supported decorators are present. */\n private checkDecorators(\n /** Decorators present on an element. */\n decorators: DecoratorNode[] | null,\n /** Accepted decorator flags. Emits diagnostics if any other decorators are present. */\n acceptedFlags: DecoratorFlags\n ): DecoratorFlags {\n let flags = DecoratorFlags.None;\n if (decorators) {\n for (let i = 0, k = decorators.length; i < k; ++i) {\n let decorator = decorators[i];\n let kind = DecoratorKind.fromNode(decorator.name);\n let flag = DecoratorFlags.fromKind(kind);\n if (flag) {\n if (!(acceptedFlags & flag)) {\n this.error(\n DiagnosticCode.Decorator_0_is_not_valid_here,\n decorator.range, decorator.name.range.toString()\n );\n } else if (flags & flag) {\n this.error(\n DiagnosticCode.Duplicate_decorator,\n decorator.range\n );\n } else {\n flags |= flag;\n }\n }\n }\n }\n return flags;\n }\n\n /** Checks whether a particular feature is enabled. */\n checkFeatureEnabled(feature: Feature, reportNode: Node): bool {\n if (!this.options.hasFeature(feature)) {\n this.error(\n DiagnosticCode.Feature_0_is_not_enabled,\n reportNode.range, featureToString(feature)\n );\n return false;\n }\n return true;\n }\n\n /** Checks whether a particular type is supported. */\n checkTypeSupported(type: Type, reportNode: Node): bool {\n switch (type.kind) {\n case TypeKind.V128: return this.checkFeatureEnabled(Feature.Simd, reportNode);\n case TypeKind.Func:\n case TypeKind.Extern:\n // Non-nullability is introduced by typed function references (here part of GC)\n if (!type.is(TypeFlags.Nullable)) return this.checkFeatureEnabled(Feature.GC, reportNode);\n return this.checkFeatureEnabled(Feature.ReferenceTypes, reportNode);\n case TypeKind.Any:\n case TypeKind.Eq:\n case TypeKind.Struct:\n case TypeKind.Array:\n case TypeKind.I31: {\n return this.checkFeatureEnabled(Feature.ReferenceTypes, reportNode)\n && this.checkFeatureEnabled(Feature.GC, reportNode);\n }\n case TypeKind.String:\n case TypeKind.StringviewWTF8:\n case TypeKind.StringviewWTF16:\n case TypeKind.StringviewIter: {\n return this.checkFeatureEnabled(Feature.ReferenceTypes, reportNode)\n && this.checkFeatureEnabled(Feature.Stringref, reportNode);\n }\n }\n let classReference = type.getClass();\n if (classReference) {\n do {\n let typeArguments = classReference.typeArguments;\n if (typeArguments) {\n for (let i = 0, k = typeArguments.length; i < k; ++i) {\n if (!this.checkTypeSupported(typeArguments[i], reportNode)) {\n return false;\n }\n }\n }\n classReference = classReference.base;\n } while (classReference);\n } else {\n let signatureReference = type.getSignature();\n if (signatureReference) {\n let thisType = signatureReference.thisType;\n if (thisType) {\n if (!this.checkTypeSupported(thisType, reportNode)) {\n return false;\n }\n }\n let parameterTypes = signatureReference.parameterTypes;\n for (let i = 0, k = parameterTypes.length; i < k; ++i) {\n if (!this.checkTypeSupported(parameterTypes[i], reportNode)) {\n return false;\n }\n }\n let returnType = signatureReference.returnType;\n if (!this.checkTypeSupported(returnType, reportNode)) {\n return false;\n }\n }\n }\n return true;\n }\n\n /** Initializes a class declaration. */\n private initializeClass(\n /** The declaration to initialize. */\n declaration: ClassDeclaration,\n /** Parent element, usually a file or namespace. */\n parent: Element,\n /** So far queued `extends` clauses. */\n queuedExtends: ClassPrototype[],\n /** So far queued `implements` clauses. */\n queuedImplements: ClassPrototype[]\n ): ClassPrototype | null {\n let name = declaration.name.text;\n let element = new ClassPrototype(\n name,\n parent,\n declaration,\n this.checkDecorators(declaration.decorators,\n DecoratorFlags.Global |\n DecoratorFlags.Final |\n DecoratorFlags.Unmanaged\n )\n );\n if (!parent.add(name, element)) return null;\n\n // remember classes that implement interfaces\n let implementsTypes = declaration.implementsTypes;\n if (implementsTypes) {\n let numImplementsTypes = implementsTypes.length;\n if (numImplementsTypes) {\n // cannot implement interfaces when unmanaged\n if (element.hasDecorator(DecoratorFlags.Unmanaged)) {\n this.error(\n DiagnosticCode.Unmanaged_classes_cannot_implement_interfaces,\n Range.join(\n declaration.name.range,\n implementsTypes[numImplementsTypes - 1].range\n )\n );\n } else {\n queuedImplements.push(element);\n }\n }\n }\n\n // remember classes that extend another class\n if (declaration.extendsType) {\n queuedExtends.push(element);\n } else if (\n !element.hasDecorator(DecoratorFlags.Unmanaged) &&\n element.internalName != BuiltinNames.Object\n ) {\n element.implicitlyExtendsObject = true;\n }\n\n // initialize members\n let memberDeclarations = declaration.members;\n for (let i = 0, k = memberDeclarations.length; i < k; ++i) {\n let memberDeclaration = memberDeclarations[i];\n switch (memberDeclaration.kind) {\n case NodeKind.FieldDeclaration: {\n this.initializeField(memberDeclaration, element);\n break;\n }\n case NodeKind.MethodDeclaration: {\n let methodDeclaration = memberDeclaration;\n if (memberDeclaration.isAny(CommonFlags.Get | CommonFlags.Set)) {\n this.initializeProperty(methodDeclaration, element);\n } else {\n let method = this.initializeMethod(methodDeclaration, element);\n if (method && methodDeclaration.name.kind == NodeKind.Constructor) {\n element.constructorPrototype = method;\n }\n }\n break;\n }\n case NodeKind.IndexSignature: break; // ignored for now\n default: assert(false); // class member expected\n }\n }\n return element;\n }\n\n /** Initializes a field of a class or interface. */\n private initializeField(\n /** The declaration to initialize. */\n declaration: FieldDeclaration,\n /** Parent class. */\n parent: ClassPrototype\n ): void {\n let name = declaration.name.text;\n let decorators = declaration.decorators;\n let element: DeclaredElement;\n let acceptedFlags: DecoratorFlags = DecoratorFlags.Unsafe;\n if (parent.is(CommonFlags.Ambient)) {\n acceptedFlags |= DecoratorFlags.External;\n }\n if (declaration.is(CommonFlags.Static)) { // global variable\n assert(parent.kind != ElementKind.InterfacePrototype);\n acceptedFlags |= DecoratorFlags.Lazy;\n if (declaration.is(CommonFlags.Readonly)) {\n acceptedFlags |= DecoratorFlags.Inline;\n }\n element = new Global(\n name,\n parent,\n this.checkDecorators(decorators, acceptedFlags),\n declaration\n );\n if (!parent.add(name, element)) return;\n } else { // actual instance field\n assert(!declaration.isAny(CommonFlags.Abstract | CommonFlags.Get | CommonFlags.Set));\n element = PropertyPrototype.forField(\n name,\n parent,\n declaration,\n this.checkDecorators(decorators, acceptedFlags)\n );\n if (!parent.addInstance(name, element)) return;\n }\n }\n\n /** Initializes a method of a class or interface. */\n private initializeMethod(\n /** The declaration to initialize. */\n declaration: MethodDeclaration,\n /** Parent class. */\n parent: ClassPrototype\n ): FunctionPrototype | null {\n let name = declaration.name.text;\n let isStatic = declaration.is(CommonFlags.Static);\n let acceptedFlags = DecoratorFlags.Inline | DecoratorFlags.Unsafe;\n if (!declaration.is(CommonFlags.Generic)) {\n acceptedFlags |= DecoratorFlags.OperatorBinary\n | DecoratorFlags.OperatorPrefix\n | DecoratorFlags.OperatorPostfix;\n }\n if (parent.is(CommonFlags.Ambient)) {\n acceptedFlags |= DecoratorFlags.External;\n }\n if (declaration.range.source.isLibrary) {\n acceptedFlags |= DecoratorFlags.Builtin;\n }\n let element = new FunctionPrototype(\n name,\n parent,\n declaration,\n this.checkDecorators(declaration.decorators, acceptedFlags)\n );\n if (element.hasDecorator(DecoratorFlags.Builtin) && !builtinFunctions.has(element.internalName)) {\n this.error(\n DiagnosticCode.Not_implemented_0,\n declaration.range, `Builtin '${element.internalName}'`\n );\n }\n if (isStatic) { // global function\n assert(declaration.name.kind != NodeKind.Constructor);\n if (!parent.add(name, element)) return null;\n } else { // actual instance method\n if (!parent.addInstance(name, element)) return null;\n }\n this.checkOperatorOverloads(declaration.decorators, element, parent);\n return element;\n }\n\n /** Checks that operator overloads are generally valid, if present. */\n private checkOperatorOverloads(\n /** Decorators to check. */\n decorators: DecoratorNode[] | null,\n /** Decorated method. */\n prototype: FunctionPrototype,\n /** Parent class. */\n classPrototype: ClassPrototype\n ): void {\n if (decorators) {\n for (let i = 0, k = decorators.length; i < k; ++i) {\n let decorator: DecoratorNode = decorators[i]; // FIXME: why does tsc want a type here?\n switch (decorator.decoratorKind) {\n case DecoratorKind.Operator:\n case DecoratorKind.OperatorBinary:\n case DecoratorKind.OperatorPrefix:\n case DecoratorKind.OperatorPostfix: {\n let args = decorator.args;\n let numArgs = args ? args.length : 0;\n if (numArgs == 1) {\n let firstArg = (decorator.args)[0];\n if (firstArg.isLiteralKind(LiteralKind.String)) {\n let text = (firstArg).value;\n let kind = OperatorKind.fromDecorator(decorator.decoratorKind, text);\n if (kind == OperatorKind.Invalid) {\n this.error(\n DiagnosticCode._0_is_not_a_valid_operator,\n firstArg.range, text\n );\n } else {\n let overloads = classPrototype.operatorOverloadPrototypes;\n if (overloads.has(kind)) {\n this.error(\n DiagnosticCode.Duplicate_function_implementation,\n firstArg.range\n );\n } else {\n prototype.operatorKind = kind;\n overloads.set(kind, prototype);\n }\n }\n } else {\n this.error(\n DiagnosticCode.String_literal_expected,\n firstArg.range\n );\n }\n } else {\n this.error(\n DiagnosticCode.Expected_0_arguments_but_got_1,\n decorator.range, \"1\", numArgs.toString()\n );\n }\n }\n }\n }\n }\n }\n\n /** Ensures that the property introduced by the specified getter or setter exists.*/\n private ensureProperty(\n /** The declaration of the getter or setter introducing the property. */\n declaration: MethodDeclaration,\n /** Parent class. */\n parent: ClassPrototype\n ): PropertyPrototype | null {\n let name = declaration.name.text;\n if (declaration.is(CommonFlags.Static)) {\n let parentMembers = parent.members;\n if (parentMembers && parentMembers.has(name)) {\n let element = assert(parentMembers.get(name));\n if (element.kind == ElementKind.PropertyPrototype) return element;\n } else {\n let element = new PropertyPrototype(name, parent, declaration);\n if (!parent.add(name, element)) return null;\n return element;\n }\n } else {\n let parentMembers = parent.instanceMembers;\n if (parentMembers && parentMembers.has(name)) {\n let element = assert(parentMembers.get(name));\n if (element.kind == ElementKind.PropertyPrototype) return element;\n } else {\n let element = new PropertyPrototype(name, parent, declaration);\n if (!parent.addInstance(name, element)) return null;\n return element;\n }\n }\n this.error(\n DiagnosticCode.Duplicate_property_0,\n declaration.name.range, name\n );\n return null;\n }\n\n /** Initializes a property of a class. */\n private initializeProperty(\n /** The declaration of the getter or setter. */\n declaration: MethodDeclaration,\n /** Parent class. */\n parent: ClassPrototype\n ): void {\n let property = this.ensureProperty(declaration, parent);\n if (!property) return;\n let name = declaration.name.text;\n let isGetter = declaration.is(CommonFlags.Get);\n if (isGetter) {\n if (property.getterPrototype) {\n this.error(\n DiagnosticCode.Duplicate_property_0,\n declaration.name.range, name\n );\n return;\n }\n } else {\n if (property.setterPrototype) {\n this.error(\n DiagnosticCode.Duplicate_property_0,\n declaration.name.range, name\n );\n return;\n }\n }\n let element = new FunctionPrototype(\n (isGetter ? GETTER_PREFIX : SETTER_PREFIX) + name,\n property.parent, // same level as property\n declaration,\n this.checkDecorators(declaration.decorators,\n DecoratorFlags.Inline | DecoratorFlags.Unsafe\n )\n );\n if (isGetter) {\n property.getterPrototype = element;\n } else {\n property.setterPrototype = element;\n }\n }\n\n /** Initializes an enum. */\n private initializeEnum(\n /** The declaration to initialize. */\n declaration: EnumDeclaration,\n /** Parent element, usually a file or namespace. */\n parent: Element\n ): Enum | null {\n let name = declaration.name.text;\n let element = new Enum(\n name,\n parent,\n declaration,\n this.checkDecorators(declaration.decorators,\n DecoratorFlags.Global |\n DecoratorFlags.Inline |\n DecoratorFlags.Lazy\n )\n );\n if (!parent.add(name, element)) return null;\n let values = declaration.values;\n for (let i = 0, k = values.length; i < k; ++i) {\n this.initializeEnumValue(values[i], element);\n }\n return element;\n }\n\n /** Initializes an enum value. */\n private initializeEnumValue(\n /** The declaration to initialize. */\n declaration: EnumValueDeclaration,\n /** Parent enum. */\n parent: Enum\n ): void {\n let name = declaration.name.text;\n let element = new EnumValue(\n name,\n parent,\n declaration,\n this.checkDecorators(declaration.decorators,\n DecoratorFlags.None\n )\n );\n if (!parent.add(name, element)) return;\n }\n\n /** Initializes an `export` statement. */\n private initializeExports(\n /** The statement to initialize. */\n statement: ExportStatement,\n /** Parent file. */\n parent: File,\n /** So far queued `export`s. */\n queuedExports: Map>,\n /** So far queued `export *`s. */\n queuedExportsStar: Map\n ): void {\n let members = statement.members;\n if (members) { // export { foo, bar } [from \"./baz\"]\n for (let i = 0, k = members.length; i < k; ++i) {\n this.initializeExport(members[i], parent, statement.internalPath, queuedExports);\n }\n } else { // export * from \"./baz\"\n let queued: QueuedExportStar[];\n if (queuedExportsStar.has(parent)) queued = assert(queuedExportsStar.get(parent));\n else queuedExportsStar.set(parent, queued = []);\n let foreignPath = statement.internalPath!; // must be set for export *\n queued.push(new QueuedExportStar(\n foreignPath,\n foreignPath.endsWith(INDEX_SUFFIX) // strip or add index depending on what's already present\n ? foreignPath.substring(0, foreignPath.length - INDEX_SUFFIX.length)\n : foreignPath + INDEX_SUFFIX,\n assert(statement.path)\n ));\n }\n }\n\n /** Initializes a single `export` member. Does not handle `export *`. */\n private initializeExport(\n /** The member to initialize. */\n member: ExportMember,\n /** Local file. */\n localFile: File,\n /** Path to the other file, if present. */\n foreignPath: string | null,\n /** So far queued `export`s. */\n queuedExports: Map>\n ): void {\n let localName = member.localName.text;\n let foreignName = member.exportedName.text;\n\n // check for duplicates\n let element = localFile.lookupExport(foreignName);\n if (element) {\n this.error(\n DiagnosticCode.Export_declaration_conflicts_with_exported_declaration_of_0,\n member.exportedName.range, foreignName\n );\n return;\n }\n // local element, i.e. export { foo [as bar] }\n if (foreignPath == null) {\n\n // resolve right away if the local element already exists\n if (element = localFile.getMember(localName)) {\n localFile.ensureExport(foreignName, element);\n\n // otherwise queue it\n } else {\n let queued: Map;\n if (queuedExports.has(localFile)) queued = assert(queuedExports.get(localFile));\n else queuedExports.set(localFile, queued = new Map());\n queued.set(foreignName, new QueuedExport(\n member.localName,\n member.exportedName,\n null, null\n ));\n }\n\n // foreign element, i.e. export { foo } from \"./bar\"\n } else {\n let queued: Map;\n if (queuedExports.has(localFile)) queued = assert(queuedExports.get(localFile));\n else queuedExports.set(localFile, queued = new Map());\n queued.set(foreignName, new QueuedExport(\n member.localName,\n member.exportedName,\n foreignPath,\n foreignPath.endsWith(INDEX_SUFFIX) // strip or add index depending on what's already present\n ? foreignPath.substring(0, foreignPath.length - INDEX_SUFFIX.length)\n : foreignPath + INDEX_SUFFIX\n ));\n }\n }\n\n private initializeExportDefault(\n /** The statement to initialize. */\n statement: ExportDefaultStatement,\n /** Parent file. */\n parent: File,\n /** So far queued `extends` clauses. */\n queuedExtends: Array,\n /** So far queued `implements` clauses. */\n queuedImplements: ClassPrototype[]\n ): void {\n let declaration = statement.declaration;\n let element: DeclaredElement | null = null;\n switch (declaration.kind) {\n case NodeKind.EnumDeclaration: {\n element = this.initializeEnum(declaration, parent);\n break;\n }\n case NodeKind.FunctionDeclaration: {\n element = this.initializeFunction(declaration, parent);\n break;\n }\n case NodeKind.ClassDeclaration: {\n element = this.initializeClass(declaration, parent, queuedExtends, queuedImplements);\n break;\n }\n case NodeKind.InterfaceDeclaration: {\n element = this.initializeInterface(declaration, parent, queuedExtends);\n break;\n }\n case NodeKind.NamespaceDeclaration: {\n element = this.initializeNamespace(declaration, parent, queuedExtends, queuedImplements);\n break;\n }\n default: assert(false);\n }\n if (element) {\n let exports = parent.exports;\n if (!exports) parent.exports = exports = new Map();\n else {\n if (exports.has(\"default\")) {\n let existing = assert(exports.get(\"default\"));\n this.errorRelated(\n DiagnosticCode.Duplicate_identifier_0,\n declaration.name.range,\n existing.declaration.name.range,\n \"default\"\n );\n return;\n }\n }\n exports.set(\"default\", element);\n }\n }\n\n /** Initializes an `import` statement. */\n private initializeImports(\n /** The statement to initialize. */\n statement: ImportStatement,\n /** Parent file. */\n parent: File,\n /** So far queued `import`s. */\n queuedImports: QueuedImport[],\n /** So far queued `export`s. */\n queuedExports: Map>\n ): void {\n let declarations = statement.declarations;\n if (declarations) { // import { foo [as bar] } from \"./baz\"\n for (let i = 0, k = declarations.length; i < k; ++i) {\n this.initializeImport(\n declarations[i],\n parent,\n statement.internalPath,\n queuedImports,\n queuedExports\n );\n }\n } else {\n let namespaceName = statement.namespaceName;\n if (namespaceName) { // import * as foo from \"./bar\"\n queuedImports.push(new QueuedImport(\n parent,\n namespaceName,\n null, // indicates import *\n statement.internalPath,\n statement.internalPath + INDEX_SUFFIX\n ));\n } else {\n // import \"./foo\"\n }\n }\n }\n\n /** Initializes a single `import` declaration. Does not handle `import *`. */\n private initializeImport( // { foo [as bar] }\n /** The declaration to initialize. */\n declaration: ImportDeclaration,\n /** Parent file. */\n parent: File,\n /** Path to the other file. */\n foreignPath: string,\n /** So far queued `import`s. */\n queuedImports: QueuedImport[],\n /** So far queued `export`s. */\n queuedExports: Map>\n ): void {\n let foreignPathAlt = foreignPath.endsWith(INDEX_SUFFIX) // strip or add index depending on what's already present\n ? foreignPath.substring(0, foreignPath.length - INDEX_SUFFIX.length)\n : foreignPath + INDEX_SUFFIX;\n\n // resolve right away if the element exists\n let foreignFile = this.lookupForeignFile(foreignPath, foreignPathAlt);\n if (foreignFile) {\n let element = this.lookupForeign(declaration.foreignName.text, foreignFile, queuedExports);\n if (element) {\n parent.add(declaration.name.text, element, declaration.name /* isImport */);\n return;\n }\n }\n\n // otherwise queue it\n queuedImports.push(new QueuedImport(\n parent,\n declaration.name,\n declaration.foreignName,\n foreignPath,\n foreignPathAlt\n ));\n }\n\n /** Initializes a function. Does not handle methods. */\n private initializeFunction(\n /** The declaration to initialize. */\n declaration: FunctionDeclaration,\n /** Parent element, usually a file or namespace. */\n parent: Element\n ): FunctionPrototype | null {\n let name = declaration.name.text;\n let validDecorators = DecoratorFlags.Unsafe;\n if (declaration.is(CommonFlags.Ambient)) {\n validDecorators |= DecoratorFlags.External | DecoratorFlags.ExternalJs;\n } else {\n validDecorators |= DecoratorFlags.Inline;\n if (declaration.range.source.isLibrary || declaration.is(CommonFlags.Export)) {\n validDecorators |= DecoratorFlags.Lazy;\n }\n }\n if (!declaration.is(CommonFlags.Instance)) {\n if (parent.kind != ElementKind.ClassPrototype) {\n validDecorators |= DecoratorFlags.Global;\n }\n }\n if (declaration.range.source.isLibrary) {\n validDecorators |= DecoratorFlags.Builtin;\n }\n let element = new FunctionPrototype(\n name,\n parent,\n declaration,\n this.checkDecorators(declaration.decorators, validDecorators)\n );\n if (element.hasDecorator(DecoratorFlags.Builtin) && !builtinFunctions.has(element.internalName)) {\n this.error(\n DiagnosticCode.Not_implemented_0,\n declaration.range, `Builtin '${element.internalName}'`\n );\n }\n if (!parent.add(name, element)) return null;\n return element;\n }\n\n /** Initializes an interface. */\n private initializeInterface(\n /** The declaration to initialize. */\n declaration: InterfaceDeclaration,\n /** Parent element, usually a file or namespace. */\n parent: Element,\n /** So far queued `extends` clauses. */\n queuedExtends: ClassPrototype[],\n ): InterfacePrototype | null {\n let name = declaration.name.text;\n let element = new InterfacePrototype(\n name,\n parent,\n declaration,\n this.checkDecorators(declaration.decorators,\n DecoratorFlags.Global\n )\n );\n if (!parent.add(name, element)) return null;\n\n // remember interfaces that extend another interface\n if (declaration.extendsType) queuedExtends.push(element);\n\n let memberDeclarations = declaration.members;\n for (let i = 0, k = memberDeclarations.length; i < k; ++i) {\n let memberDeclaration = memberDeclarations[i];\n switch (memberDeclaration.kind) {\n case NodeKind.FieldDeclaration: {\n this.initializeFieldAsProperty(memberDeclaration, element);\n break;\n }\n case NodeKind.MethodDeclaration: {\n let methodDeclaration = memberDeclaration;\n if (memberDeclaration.isAny(CommonFlags.Get | CommonFlags.Set)) {\n this.initializeProperty(methodDeclaration, element);\n } else {\n this.initializeMethod(methodDeclaration, element);\n }\n break;\n }\n default: assert(false); // interface member expected\n }\n }\n return element;\n }\n\n /** Initializes a field of an interface, as a property. */\n private initializeFieldAsProperty(\n /** Field declaration. */\n declaration: FieldDeclaration,\n /** Parent interface. */\n parent: InterfacePrototype\n ): void {\n let initializer = declaration.initializer;\n if (initializer) {\n this.error(DiagnosticCode.An_interface_property_cannot_have_an_initializer, initializer.range);\n }\n let typeNode = declaration.type;\n if (!typeNode) typeNode = Node.createOmittedType(declaration.name.range.atEnd);\n this.initializeProperty(\n Node.createMethodDeclaration(\n declaration.name,\n declaration.decorators,\n declaration.flags | CommonFlags.Get,\n null,\n Node.createFunctionType(\n [],\n typeNode,\n null,\n false,\n declaration.range\n ),\n null,\n declaration.range\n ),\n parent\n );\n if (!declaration.is(CommonFlags.Readonly)) {\n this.initializeProperty(\n Node.createMethodDeclaration(\n declaration.name,\n declaration.decorators,\n declaration.flags | CommonFlags.Set,\n null,\n Node.createFunctionType(\n [\n Node.createParameter(\n ParameterKind.Default,\n declaration.name,\n typeNode,\n null,\n declaration.name.range\n )\n ],\n Node.createOmittedType(declaration.name.range.atEnd),\n null,\n false,\n declaration.range\n ),\n null,\n declaration.range\n ),\n parent\n );\n }\n }\n\n /** Initializes a namespace. */\n private initializeNamespace(\n /** The declaration to initialize. */\n declaration: NamespaceDeclaration,\n /** Parent element, usually a file or another namespace. */\n parent: Element,\n /** So far queued `extends` clauses. */\n queuedExtends: ClassPrototype[],\n /** So far queued `implements` clauses. */\n queuedImplements: ClassPrototype[]\n ): DeclaredElement | null {\n let name = declaration.name.text;\n let original = new Namespace(\n name,\n parent,\n declaration,\n this.checkDecorators(declaration.decorators, DecoratorFlags.Global)\n );\n if (!parent.add(name, original)) return null;\n let element = assert(parent.getMember(name)); // possibly merged\n let members = declaration.members;\n for (let i = 0, k = members.length; i < k; ++i) {\n let member = members[i];\n switch (member.kind) {\n case NodeKind.ClassDeclaration: {\n this.initializeClass(member, original, queuedExtends, queuedImplements);\n break;\n }\n case NodeKind.EnumDeclaration: {\n this.initializeEnum(member, original);\n break;\n }\n case NodeKind.FunctionDeclaration: {\n this.initializeFunction(member, original);\n break;\n }\n case NodeKind.InterfaceDeclaration: {\n this.initializeInterface(member, original, queuedExtends);\n break;\n }\n case NodeKind.NamespaceDeclaration: {\n this.initializeNamespace(member, original, queuedExtends, queuedImplements);\n break;\n }\n case NodeKind.TypeDeclaration: {\n this.initializeTypeDefinition(member, original);\n break;\n }\n case NodeKind.Variable: {\n this.initializeVariables(member, original);\n break;\n }\n default: assert(false); // namespace member expected\n }\n }\n if (original != element) copyMembers(original, element); // keep original parent\n return element;\n }\n\n /** Initializes a `type` definition. */\n private initializeTypeDefinition(\n /** The declaration to initialize. */\n declaration: TypeDeclaration,\n /** Parent element, usually a file or namespace. */\n parent: Element\n ): void {\n let name = declaration.name.text;\n let element = new TypeDefinition(\n name,\n parent,\n declaration,\n this.checkDecorators(declaration.decorators, DecoratorFlags.None)\n );\n parent.add(name, element); // reports\n }\n\n /** Initializes a variable statement. */\n private initializeVariables(\n /** The statement to initialize. */\n statement: VariableStatement,\n /** Parent element, usually a file or namespace. */\n parent: Element\n ): void {\n let declarations = statement.declarations;\n for (let i = 0, k = declarations.length; i < k; ++i) {\n let declaration = declarations[i];\n let name = declaration.name.text;\n let acceptedFlags = DecoratorFlags.Global | DecoratorFlags.Lazy;\n if (declaration.is(CommonFlags.Ambient)) {\n acceptedFlags |= DecoratorFlags.External;\n }\n if (declaration.is(CommonFlags.Const)) {\n acceptedFlags |= DecoratorFlags.Inline;\n }\n if (declaration.range.source.isLibrary) {\n acceptedFlags |= DecoratorFlags.Builtin;\n }\n let element = new Global(\n name,\n parent,\n this.checkDecorators(declaration.decorators, acceptedFlags),\n declaration\n );\n if (element.hasDecorator(DecoratorFlags.Builtin) && !builtinVariables_onAccess.has(element.internalName)) {\n this.error(\n DiagnosticCode.Not_implemented_0,\n declaration.range, `Builtin '${element.internalName}'`\n );\n }\n if (!parent.add(name, element)) continue; // reports\n }\n }\n\n /** Determines the element type of a built-in array. */\n // determineBuiltinArrayType(target: Class): Type | null {\n // switch (target.internalName) {\n // case BuiltinSymbols.Int8Array: return Type.i8;\n // case BuiltinSymbols.Uint8ClampedArray:\n // case BuiltinSymbols.Uint8Array: return Type.u8;\n // case BuiltinSymbols.Int16Array: return Type.i16;\n // case BuiltinSymbols.Uint16Array: return Type.u16;\n // case BuiltinSymbols.Int32Array: return Type.i32;\n // case BuiltinSymbols.Uint32Array: return Type.u32;\n // case BuiltinSymbols.Int64Array: return Type.i64;\n // case BuiltinSymbols.Uint64Array: return Type.u64;\n // case BuiltinSymbols.Float32Array: return Type.f32;\n // case BuiltinSymbols.Float64Array: return Type.f64;\n // }\n // let current: Class | null = target;\n // let arrayPrototype = this.arrayPrototype;\n // do {\n // if (current.prototype == arrayPrototype) { // Array\n // let typeArguments = assert(current.typeArguments);\n // assert(typeArguments.length == 1);\n // return typeArguments[0];\n // }\n // } while (current = current.base);\n // return null;\n // }\n}\n\n/** Indicates the specific kind of an {@link Element}. */\nexport const enum ElementKind {\n /** A {@link Global}. */\n Global,\n /** A {@link Local}. */\n Local,\n /** An {@link Enum}. */\n Enum,\n /** An {@link EnumValue}. */\n EnumValue,\n /** A {@link FunctionPrototype}. */\n FunctionPrototype,\n /** A {@link Function}. */\n Function,\n /** A {@link ClassPrototype}. */\n ClassPrototype,\n /** A {@link Class}. */\n Class,\n /** An {@link InterfacePrototype}. */\n InterfacePrototype,\n /** An {@link Interface}. */\n Interface,\n /** A {@link PropertyPrototype}. */\n PropertyPrototype,\n /** A {@link Property}. */\n Property,\n /** A {@link Namespace}. */\n Namespace,\n /** A {@link File}. */\n File,\n /** A {@link TypeDefinition}. */\n TypeDefinition,\n /** An {@link IndexSignature}. */\n IndexSignature\n}\n\n/** Indicates built-in decorators that are present. */\nexport enum DecoratorFlags {\n /** No flags set. */\n None = 0,\n /** Is a program global. */\n Global = 1 << 0,\n /** Is a binary operator overload. */\n OperatorBinary = 1 << 1,\n /** Is a unary prefix operator overload. */\n OperatorPrefix = 1 << 2,\n /** Is a unary postfix operator overload. */\n OperatorPostfix = 1 << 3,\n /** Is an unmanaged class. */\n Unmanaged = 1 << 4,\n /** Is a final class. */\n Final = 1 << 5,\n /** Is always inlined. */\n Inline = 1 << 6,\n /** Is using a different external name. */\n External = 1 << 7,\n /** Has external JavaScript code. */\n ExternalJs = 1 << 8,\n /** Is a builtin. */\n Builtin = 1 << 9,\n /** Is compiled lazily. */\n Lazy = 1 << 10,\n /** Is considered unsafe code. */\n Unsafe = 1 << 11\n}\n\nexport namespace DecoratorFlags {\n\n /** Translates a decorator kind to the respective decorator flag. */\n export function fromKind(kind: DecoratorKind): DecoratorFlags {\n switch (kind) {\n case DecoratorKind.Global: return DecoratorFlags.Global;\n case DecoratorKind.Operator:\n case DecoratorKind.OperatorBinary: return DecoratorFlags.OperatorBinary;\n case DecoratorKind.OperatorPrefix: return DecoratorFlags.OperatorPrefix;\n case DecoratorKind.OperatorPostfix: return DecoratorFlags.OperatorPostfix;\n case DecoratorKind.Unmanaged: return DecoratorFlags.Unmanaged;\n case DecoratorKind.Final: return DecoratorFlags.Final;\n case DecoratorKind.Inline: return DecoratorFlags.Inline;\n case DecoratorKind.External: return DecoratorFlags.External;\n case DecoratorKind.ExternalJs: return DecoratorFlags.ExternalJs;\n case DecoratorKind.Builtin: return DecoratorFlags.Builtin;\n case DecoratorKind.Lazy: return DecoratorFlags.Lazy;\n case DecoratorKind.Unsafe: return DecoratorFlags.Unsafe;\n default: return DecoratorFlags.None;\n }\n }\n}\n\n/** Base class of all program elements. */\nexport abstract class Element {\n\n /** Parent element. */\n parent!: Element;\n /** Common flags indicating specific traits. */\n flags: CommonFlags = CommonFlags.None;\n /** Decorator flags indicating annotated traits. */\n decoratorFlags: DecoratorFlags = DecoratorFlags.None;\n /** Member elements. */\n members: Map | null = null;\n /** Shadowing type in type space, if any. */\n shadowType: TypeDefinition | null = null;\n\n /** Constructs a new program element. */\n protected constructor(\n /** Specific element kind. */\n public kind: ElementKind,\n /** Simple name. */\n public name: string,\n /** Internal name referring to this element. */\n public internalName: string,\n /** Containing {@link Program}. */\n public program: Program,\n /** Parent element. */\n parent: Element | null\n ) {\n this.program = program;\n this.name = name;\n this.internalName = internalName;\n if (parent) {\n this.parent = parent;\n } else {\n assert(this.kind == ElementKind.File);\n this.parent = this; // special case to keep this.parent non-nullable\n }\n }\n\n /** Gets the enclosing file. */\n get file(): File {\n let current: Element = this;\n do {\n current = current.parent;\n if (current.kind == ElementKind.File) return current;\n } while (true);\n }\n\n /** Tests if this element has a specific flag or flags. */\n is(flag: CommonFlags): bool { return (this.flags & flag) == flag; }\n /** Tests if this element has any of the specified flags. */\n isAny(flags: CommonFlags): bool { return (this.flags & flags) != 0; }\n /** Sets a specific flag or flags. */\n set(flag: CommonFlags): void { this.flags |= flag; }\n /** Unsets the specific flag or flags. */\n unset(flag: CommonFlags): void {this.flags &= ~flag; }\n /** Tests if this element has a specific decorator flag or flags. */\n hasDecorator(flag: DecoratorFlags): bool { return (this.decoratorFlags & flag) == flag; }\n /** Tests if this element has any of the specified decorator flags. */\n hasAnyDecorator(flags: DecoratorFlags): bool { return (this.decoratorFlags & flags) != 0; }\n\n /** Get the member with the specified name, if any. */\n getMember(name: string): DeclaredElement | null {\n let members = this.members;\n if (members && members.has(name)) return assert(members.get(name));\n return null;\n }\n\n /** Looks up the element with the specified name relative to this element. */\n lookup(name: string, isType: bool = false): Element | null {\n return this.parent.lookup(name, isType);\n }\n\n /** Adds an element as a member of this one. Reports and returns `false` if a duplicate. */\n add(name: string, element: DeclaredElement, localIdentifierIfImport: IdentifierExpression | null = null): bool {\n let originalDeclaration = element.declaration;\n let members = this.members;\n if (!members) this.members = members = new Map();\n else if (members.has(name)) {\n let existing = assert(members.get(name));\n if (existing.parent != this) {\n // override non-own element\n } else {\n let merged = tryMerge(existing, element);\n if (merged) {\n element = merged; // use merged element\n } else {\n let reportedIdentifier = localIdentifierIfImport\n ? localIdentifierIfImport\n : element.identifierNode;\n if (isDeclaredElement(existing.kind)) {\n this.program.errorRelated(\n DiagnosticCode.Duplicate_identifier_0,\n reportedIdentifier.range,\n (existing).identifierNode.range,\n reportedIdentifier.text\n );\n } else {\n this.program.error(\n DiagnosticCode.Duplicate_identifier_0,\n reportedIdentifier.range, reportedIdentifier.text\n );\n }\n return false;\n }\n }\n }\n members.set(name, element);\n let program = this.program;\n if (element.kind != ElementKind.FunctionPrototype || !(element).isBound) {\n // prefer unbound prototypes in global lookup maps\n program.elementsByName.set(element.internalName, element);\n program.elementsByDeclaration.set(originalDeclaration, element);\n }\n return true;\n }\n\n /** Checks if this element is public, explicitly or implicitly. */\n get isPublic(): bool {\n return !this.isAny(CommonFlags.Private | CommonFlags.Protected);\n }\n\n /** Checks if this element is implicitly public, i.e. not explicitly declared to be. */\n get isImplicitlyPublic(): bool {\n return this.isPublic && !this.is(CommonFlags.Public);\n }\n\n /** Checks if the visibility of this element equals the specified. */\n visibilityEquals(other: Element): bool {\n if (this.isPublic == other.isPublic) return true;\n const vis = CommonFlags.Private | CommonFlags.Protected;\n return (this.flags & vis) == (other.flags & vis);\n }\n\n visibilityNoLessThan(other: Element): bool {\n if (this.isPublic) return true; // public is a most frequent case\n if (this.is(CommonFlags.Private)) return other.is(CommonFlags.Private);\n if (this.is(CommonFlags.Protected)) return other.isAny(CommonFlags.Private | CommonFlags.Protected);\n return assert(false);\n }\n\n /** Tests if this element is bound to a class. */\n get isBound(): bool {\n let parent = this.parent;\n switch (parent.kind) {\n case ElementKind.Class:\n case ElementKind.Interface: return true;\n }\n return false;\n }\n\n /** Gets the class or interface this element is bound to, if any. */\n getBoundClassOrInterface(): Class | null {\n let parent = this.parent;\n switch (parent.kind) {\n case ElementKind.Class:\n case ElementKind.Interface: return parent;\n }\n return null;\n }\n\n /** Returns a string representation of this element. */\n toString(): string {\n return `${this.internalName}, kind=${this.kind}`;\n }\n}\n\n// Kinds of all declared elements\nlet declaredElements = new Set();\n\n/** Tests if the specified element kind indicates a declared element. */\nexport function isDeclaredElement(kind: ElementKind): bool {\n return declaredElements.has(kind);\n}\n\n/** Base class of elements with an associated declaration statement. */\nexport abstract class DeclaredElement extends Element {\n\n /** Constructs a new declared program element. */\n protected constructor(\n /** Specific element kind. */\n kind: ElementKind,\n /** Simple name. */\n name: string,\n /** Internal name referring to this element. */\n internalName: string,\n /** Containing {@link Program}. */\n program: Program,\n /** Parent element. */\n parent: Element | null,\n /** Declaration reference. */\n public declaration: DeclarationStatement\n ) {\n super(kind, name, internalName, program, parent);\n declaredElements.add(kind);\n // It is necessary to have access to identifiers of all members and exports\n // for reporting purposes and this is the lowest common denominator. Comes\n // at the expense of not having more specific type information in derived\n // classes, though. Instead, derived classes implement getters for other\n // important AST nodes directly through manual casting, allowing the resolver\n // etc. to not worry about actual declarations.\n this.declaration = declaration;\n this.flags = declaration.flags; // inherit\n }\n\n /** Tests if this element is a library element. */\n get isDeclaredInLibrary(): bool {\n return this.declaration.range.source.isLibrary;\n }\n\n /** Gets the associated identifier node. */\n get identifierNode(): IdentifierExpression {\n return this.declaration.name;\n }\n\n /** Gets the signature node, if applicable, along the identifier node. */\n get identifierAndSignatureRange(): Range {\n let declaration = this.declaration;\n let identifierNode = declaration.name;\n if (declaration.kind == NodeKind.FunctionDeclaration || declaration.kind == NodeKind.MethodDeclaration) {\n let signatureNode = (declaration).signature;\n if (identifierNode.range.source == signatureNode.range.source) {\n return Range.join(identifierNode.range, signatureNode.range);\n }\n }\n return identifierNode.range;\n }\n\n /** Gets the assiciated decorator nodes. */\n get decoratorNodes(): DecoratorNode[] | null {\n return this.declaration.decorators;\n }\n}\n\n// Kinds of all typed elements\nlet typedElements = new Set();\n\n/** Checks if the specified element kind indicates a typed element. */\nexport function isTypedElement(kind: ElementKind): bool {\n return typedElements.has(kind);\n}\n\n/** Base class of elements that can be resolved to a concrete type. */\nexport abstract class TypedElement extends DeclaredElement {\n\n /** Resolved type. Set once `is(RESOLVED)`, otherwise void. */\n type: Type = Type.void;\n\n constructor(\n /** Specific element kind. */\n kind: ElementKind,\n /** Simple name. */\n name: string,\n /** Internal name referring to this element. */\n internalName: string,\n /** Containing {@link Program}. */\n program: Program,\n /** Parent element. */\n parent: Element | null,\n /** Declaration reference. */\n declaration: DeclarationStatement\n ) {\n super(kind, name, internalName, program, parent, declaration);\n typedElements.add(kind);\n }\n\n /** Sets the resolved type of this element. */\n setType(type: Type): void {\n assert(!this.is(CommonFlags.Resolved));\n this.type = type;\n this.set(CommonFlags.Resolved);\n }\n}\n\n/** A file representing the implicit top-level namespace of a source. */\nexport class File extends Element {\n\n /** File exports. */\n exports: Map | null = null;\n /** File re-exports. */\n exportsStar: File[] | null = null;\n /** Top-level start function of this file. */\n startFunction!: Function;\n /** Array of `import * as X` alias namespaces of this file. */\n aliasNamespaces: Array = new Array();\n\n /** Constructs a new file. */\n constructor(\n /** Program this file belongs to. */\n program: Program,\n /** Source of this file. */\n public source: Source\n ) {\n super(\n ElementKind.File,\n source.normalizedPath,\n source.internalPath,\n program,\n null // special case for files\n );\n this.source = source;\n assert(!program.filesByName.has(this.internalName));\n program.filesByName.set(this.internalName, this);\n let startFunction = this.program.makeNativeFunction(\n `start:${this.internalName}`,\n Signature.create(program, [], Type.void),\n this\n );\n startFunction.internalName = startFunction.name;\n this.startFunction = startFunction;\n }\n\n /* @override */\n add(name: string, element: DeclaredElement, localIdentifierIfImport: IdentifierExpression | null = null): bool {\n if (element.hasDecorator(DecoratorFlags.Global)) {\n element = this.program.ensureGlobal(name, element); // possibly merged globally\n }\n if (!super.add(name, element, localIdentifierIfImport)) return false;\n element = assert(this.getMember(name)); // possibly merged locally\n if (element.is(CommonFlags.Export) && !localIdentifierIfImport) {\n this.ensureExport(\n element.name,\n element\n );\n }\n return true;\n }\n\n /* @override */\n getMember(name: string): DeclaredElement | null {\n let element = super.getMember(name);\n if (element) return element;\n let exportsStar = this.exportsStar;\n if (exportsStar) {\n for (let i = 0, k = exportsStar.length; i < k; ++i) {\n if (element = exportsStar[i].getMember(name)) return element;\n }\n }\n return null;\n }\n\n /* @override */\n lookup(name: string, isType: bool = false): Element | null {\n let element = this.getMember(name);\n if (element) return element;\n return this.program.lookup(name); // has no meaningful parent\n }\n\n /** Ensures that an element is an export of this file. */\n ensureExport(name: string, element: DeclaredElement): void {\n let exports = this.exports;\n if (!exports) this.exports = exports = new Map();\n exports.set(name, element);\n if (this.source.sourceKind == SourceKind.LibraryEntry) this.program.ensureGlobal(name, element);\n\n // Also, add to the namespaces that capture our exports\n for(let i = 0; i < this.aliasNamespaces.length; i++) {\n let ns = this.aliasNamespaces[i];\n ns.add(name, element);\n }\n }\n\n /** Ensures that another file is a re-export of this file. */\n ensureExportStar(file: File): void {\n let exportsStar = this.exportsStar;\n if (!exportsStar) this.exportsStar = exportsStar = [];\n else if (exportsStar.includes(file)) return;\n exportsStar.push(file);\n }\n\n /** Looks up the export of the specified name. */\n lookupExport(name: string): DeclaredElement | null {\n let exports = this.exports;\n if (exports && exports.has(name)) return assert(exports.get(name));\n let exportsStar = this.exportsStar;\n if (exportsStar) {\n for (let i = 0, k = exportsStar.length; i < k; ++i) {\n let element = exportsStar[i].lookupExport(name);\n if (element) return element;\n }\n }\n return null;\n }\n\n /** Creates an imported namespace from this file. */\n asAliasNamespace(\n name: string,\n parent: Element,\n localIdentifier: IdentifierExpression\n ): Namespace {\n let declaration = this.program.makeNativeNamespaceDeclaration(name);\n declaration.name = localIdentifier;\n let ns = new Namespace(name, parent, declaration);\n ns.set(CommonFlags.Scoped);\n this.copyExportsToNamespace(ns);\n // NOTE: Some exports are still queued, and can't yet be added here,\n // so we remember all the alias namespaces and add to them as well\n // when adding an element to the file.\n this.aliasNamespaces.push(ns);\n return ns;\n }\n\n /** Recursively copies the exports of this file to the specified namespace. */\n private copyExportsToNamespace(ns: Namespace): void {\n let exports = this.exports;\n if (exports) {\n // TODO: for (let [memberName, member] of exports) {\n for (let _keys = Map_keys(exports), i = 0, k = _keys.length; i < k; ++i) {\n let memberName = unchecked(_keys[i]);\n let member = assert(exports.get(memberName));\n ns.add(memberName, member);\n }\n }\n let exportsStar = this.exportsStar;\n if (exportsStar) {\n for (let i = 0, k = exportsStar.length; i < k; ++i) {\n exportsStar[i].copyExportsToNamespace(ns);\n }\n }\n }\n}\n\n/** A type definition. */\nexport class TypeDefinition extends TypedElement {\n\n /** Constructs a new type definition. */\n constructor(\n /** Simple name. */\n name: string,\n /** Parent element. */\n parent: Element,\n /** Declaration reference. */\n declaration: TypeDeclaration,\n /** Pre-checked flags indicating built-in decorators. */\n decoratorFlags: DecoratorFlags = DecoratorFlags.None\n ) {\n super(\n ElementKind.TypeDefinition,\n name,\n mangleInternalName(name, parent, false),\n parent.program,\n parent,\n declaration\n );\n this.decoratorFlags = decoratorFlags;\n }\n\n /** Gets the associated type parameter nodes. */\n get typeParameterNodes(): TypeParameterNode[] | null {\n return (this.declaration).typeParameters;\n }\n\n /** Gets the associated type node. */\n get typeNode(): TypeNode {\n return (this.declaration).type;\n }\n}\n\n/** A namespace that differs from a file in being user-declared with a name. */\nexport class Namespace extends DeclaredElement {\n\n /** Constructs a new namespace. */\n constructor(\n /** Simple name. */\n name: string,\n /** Parent element, usually a file or another namespace. */\n parent: Element,\n /** Declaration reference. */\n declaration: NamespaceDeclaration,\n /** Pre-checked flags indicating built-in decorators. */\n decoratorFlags: DecoratorFlags = DecoratorFlags.None\n ) {\n super(\n ElementKind.Namespace,\n name,\n mangleInternalName(name, parent, false),\n parent.program,\n parent,\n declaration\n );\n this.decoratorFlags = decoratorFlags;\n }\n\n /* @override */\n lookup(name: string, isType: bool = false): Element | null {\n let member = this.getMember(name);\n if (member) return member;\n return super.lookup(name, isType);\n }\n}\n\n/** An enum. */\nexport class Enum extends TypedElement {\n\n /** Constructs a new enum. */\n constructor(\n /** Simple name. */\n name: string,\n /** Parent element, usually a file or namespace. */\n parent: Element,\n /** Declaration reference. */\n declaration: EnumDeclaration,\n /** Pre-checked flags indicating built-in decorators. */\n decoratorFlags: DecoratorFlags = DecoratorFlags.None\n ) {\n super(\n ElementKind.Enum,\n name,\n mangleInternalName(name, parent, false),\n parent.program,\n parent,\n declaration\n );\n this.decoratorFlags = decoratorFlags;\n this.setType(Type.i32);\n }\n\n /* @override */\n lookup(name: string, isType: bool = false): Element | null {\n let member = this.getMember(name);\n if (member) return member;\n return super.lookup(name, isType);\n }\n}\n\n/** Indicates the kind of an inlined constant value. */\nexport const enum ConstantValueKind {\n /** No constant value. */\n None,\n /** Constant integer value. */\n Integer,\n /** Constant float value. */\n Float\n}\n\n/** Base class of all variable-like program elements. */\nexport abstract class VariableLikeElement extends TypedElement {\n\n /** Constant value kind. */\n constantValueKind: ConstantValueKind = ConstantValueKind.None;\n /** Constant integer value, if applicable. */\n constantIntegerValue: i64 = i64_zero;\n /** Constant float value, if applicable. */\n constantFloatValue: f64 = 0;\n\n /** Constructs a new variable-like element. */\n protected constructor(\n /** Specific element kind. */\n kind: ElementKind,\n /** Simple name. */\n name: string,\n /** Parent element, usually a file, namespace or class. */\n parent: Element,\n /** Declaration reference. Creates a native declaration if omitted. */\n declaration: VariableLikeDeclarationStatement = parent.program.makeNativeVariableDeclaration(name)\n ) {\n super(\n kind,\n name,\n mangleInternalName(name, parent, declaration.is(CommonFlags.Instance)),\n parent.program,\n parent,\n declaration\n );\n this.flags = declaration.flags;\n }\n\n /** Gets the associated type node.s */\n get typeNode(): TypeNode | null {\n return (this.declaration).type;\n }\n\n /** Gets the associated initializer node. */\n get initializerNode(): Expression | null {\n return (this.declaration).initializer;\n }\n\n /** Applies a constant integer value to this element. */\n setConstantIntegerValue(value: i64, type: Type): void {\n assert(type.isIntegerInclReference);\n this.type = type;\n this.constantValueKind = ConstantValueKind.Integer;\n this.constantIntegerValue = value;\n this.set(CommonFlags.Const | CommonFlags.Inlined | CommonFlags.Resolved);\n }\n\n /** Applies a constant float value to this element. */\n setConstantFloatValue(value: f64, type: Type): void {\n assert(type.isFloatValue);\n this.type = type;\n this.constantValueKind = ConstantValueKind.Float;\n this.constantFloatValue = value;\n this.set(CommonFlags.Const | CommonFlags.Inlined | CommonFlags.Resolved);\n }\n}\n\n/** An enum value. */\nexport class EnumValue extends VariableLikeElement {\n\n /** Constructs a new enum value. */\n constructor(\n /** Simple name. */\n name: string,\n /** Parent enum. */\n parent: Enum,\n /** Declaration reference. */\n declaration: EnumValueDeclaration,\n /** Pre-checked flags indicating built-in decorators. */\n decoratorFlags: DecoratorFlags = DecoratorFlags.None\n ) {\n super(\n ElementKind.EnumValue,\n name,\n parent,\n declaration\n );\n this.decoratorFlags = decoratorFlags;\n this.setType(Type.i32);\n }\n\n /** Whether this enum value is immutable. */\n isImmutable: bool = false;\n\n /** Gets the associated value node. */\n get valueNode(): Expression | null {\n return (this.declaration).initializer;\n }\n}\n\n/** A global variable. */\nexport class Global extends VariableLikeElement {\n\n /** Constructs a new global variable. */\n constructor(\n /** Simple name. */\n name: string,\n /** Parent element, usually a file, namespace or static class. */\n parent: Element,\n /** Pre-checked flags indicating built-in decorators. */\n decoratorFlags: DecoratorFlags,\n /** Declaration reference. Creates a native declaration if omitted. */\n declaration: VariableLikeDeclarationStatement = parent.program.makeNativeVariableDeclaration(name)\n ) {\n super(\n ElementKind.Global,\n name,\n parent,\n declaration\n );\n this.decoratorFlags = decoratorFlags;\n }\n}\n\n/** A function parameter. */\nexport class Parameter {\n /** Constructs a new function parameter. */\n constructor(\n /** Parameter name. */\n public name: string,\n /** Parameter type. */\n public type: Type,\n /** Parameter initializer, if present. */\n public initializer: Expression | null = null\n ) {}\n}\n\n/** A local variable. */\nexport class Local extends VariableLikeElement {\n\n /** Original name of the (temporary) local. */\n private originalName: string;\n\n /** Constructs a new local variable. */\n constructor(\n /** Simple name. */\n name: string,\n /** Zero-based index within the enclosing function. `-1` indicates a dummy local. */\n public index: i32,\n /** Resolved type. */\n type: Type,\n /** Parent function. */\n parent: Function,\n /** Declaration reference. */\n declaration: VariableLikeDeclarationStatement = parent.program.makeNativeVariableDeclaration(name)\n ) {\n super(\n ElementKind.Local,\n name,\n parent,\n declaration\n );\n this.originalName = name;\n this.index = index;\n assert(type != Type.void);\n this.setType(type);\n }\n\n declaredByFlow(flow: Flow): bool {\n return this.parent == flow.targetFunction;\n }\n}\n\n/** A yet unresolved function prototype. */\nexport class FunctionPrototype extends DeclaredElement {\n\n /** Operator kind, if an overload. */\n operatorKind: OperatorKind = OperatorKind.Invalid;\n /** Already resolved instances. */\n instances: Map | null = null;\n /** Methods overriding this one, if any. These are unbound. */\n unboundOverrides: Set | null = null;\n\n /** Clones of this prototype that are bound to specific classes. */\n private boundPrototypes: Map | null = null;\n\n /** Constructs a new function prototype. */\n constructor(\n /** Simple name */\n name: string,\n /** Parent element, usually a file, namespace or class (if a method). */\n parent: Element,\n /** Declaration reference. */\n declaration: FunctionDeclaration,\n /** Pre-checked flags indicating built-in decorators. */\n decoratorFlags: DecoratorFlags = DecoratorFlags.None\n ) {\n super(\n ElementKind.FunctionPrototype,\n name,\n mangleInternalName(name, parent, declaration.is(CommonFlags.Instance)),\n parent.program,\n parent,\n declaration\n );\n this.decoratorFlags = decoratorFlags;\n }\n\n /** Gets the associated type parameter nodes. */\n get typeParameterNodes(): TypeParameterNode[] | null {\n return (this.declaration).typeParameters;\n }\n\n /** Gets the associated function type node. */\n get functionTypeNode(): FunctionTypeNode {\n return (this.declaration).signature;\n }\n\n /** Gets the associated body node. */\n get bodyNode(): Statement | null {\n return (this.declaration).body;\n }\n\n /** Gets the arrow function kind. */\n get arrowKind(): ArrowKind {\n return (this.declaration).arrowKind;\n }\n\n /** Creates a clone of this prototype that is bound to a concrete class instead. */\n toBound(classInstance: Class): FunctionPrototype {\n assert(this.is(CommonFlags.Instance));\n assert(!this.isBound);\n let boundPrototypes = this.boundPrototypes;\n if (!boundPrototypes) this.boundPrototypes = boundPrototypes = new Map();\n else if (boundPrototypes.has(classInstance)) return assert(boundPrototypes.get(classInstance));\n let declaration = this.declaration;\n assert(declaration.kind == NodeKind.MethodDeclaration);\n let bound = new FunctionPrototype(\n this.name,\n classInstance, // now bound\n declaration,\n this.decoratorFlags\n );\n bound.flags = this.flags;\n bound.operatorKind = this.operatorKind;\n bound.unboundOverrides = this.unboundOverrides;\n // NOTE: this.instances holds instances per bound class / unbound\n boundPrototypes.set(classInstance, bound);\n return bound;\n }\n\n /** Gets the resolved instance for the specified instance key, if already resolved. */\n getResolvedInstance(instanceKey: string): Function | null {\n let instances = this.instances;\n if (instances && instances.has(instanceKey)) return assert(instances.get(instanceKey));\n return null;\n }\n\n /** Sets the resolved instance for the specified instance key. */\n setResolvedInstance(instanceKey: string, instance: Function): void {\n let instances = this.instances;\n if (!instances) this.instances = instances = new Map();\n else assert(!instances.has(instanceKey));\n instances.set(instanceKey, instance);\n }\n}\n\n/** A resolved function. */\nexport class Function extends TypedElement {\n\n /** Function prototype. */\n prototype: FunctionPrototype;\n /** Function signature. */\n signature: Signature;\n /** Array of locals by index. */\n localsByIndex: Local[] = [];\n /** Concrete type arguments. */\n typeArguments: Type[] | null;\n /** Contextual type arguments. */\n contextualTypeArguments: Map | null;\n /** Default control flow. */\n flow!: Flow;\n /** Ordered debug locations by Binaryen expression reference. */\n debugLocations: Map = new Map();\n /** Function reference, if compiled. */\n ref: FunctionRef = 0;\n /** Varargs stub for calling with omitted arguments. */\n varargsStub: Function | null = null;\n /** Stub for calling overrides. */\n overrideStub: Function | null = null;\n /** Runtime memory segment, if created. */\n memorySegment: MemorySegment | null = null;\n /** Original function, if a stub. Otherwise `this`. */\n original!: Function;\n\n /** Counting id of inline operations involving this function. */\n nextInlineId: i32 = 0;\n /** Counting id of anonymous inner functions. */\n nextAnonymousId: i32 = 0;\n\n /** Constructs a new concrete function. */\n constructor(\n /** Name incl. type parameters, i.e. `foo`. */\n nameInclTypeParameters: string,\n /** Respective function prototype. */\n prototype: FunctionPrototype,\n /** Concrete type arguments. */\n typeArguments: Type[] | null,\n /** Concrete signature. */\n signature: Signature, // pre-resolved\n /** Contextual type arguments inherited from its parent class, if any. */\n contextualTypeArguments: Map | null = null\n ) {\n super(\n ElementKind.Function,\n nameInclTypeParameters,\n mangleInternalName(nameInclTypeParameters, prototype.parent, prototype.is(CommonFlags.Instance)),\n prototype.program,\n prototype.parent,\n prototype.declaration\n );\n this.prototype = prototype;\n this.typeArguments = typeArguments;\n this.signature = signature;\n this.flags = prototype.flags | CommonFlags.Resolved;\n this.decoratorFlags = prototype.decoratorFlags;\n this.contextualTypeArguments = contextualTypeArguments;\n this.original = this;\n let program = prototype.program;\n this.type = signature.type;\n let flow = Flow.createDefault(this);\n this.flow = flow;\n if (!prototype.is(CommonFlags.Ambient)) {\n let localIndex = 0;\n let thisType = signature.thisType;\n if (thisType) {\n let local = new Local(\n CommonNames.this_,\n localIndex++,\n thisType,\n this\n );\n let scopedLocals = this.flow.scopedLocals;\n if (!scopedLocals) this.flow.scopedLocals = scopedLocals = new Map();\n scopedLocals.set(CommonNames.this_, local);\n this.localsByIndex[local.index] = local;\n flow.setLocalFlag(local.index, LocalFlags.Initialized);\n }\n let parameterTypes = signature.parameterTypes;\n for (let i = 0, k = parameterTypes.length; i < k; ++i) {\n let parameterType = parameterTypes[i];\n let parameterName = this.getParameterName(i);\n let local = new Local(\n parameterName,\n localIndex++,\n parameterType,\n this\n );\n let scopedLocals = this.flow.scopedLocals;\n if (!scopedLocals) this.flow.scopedLocals = scopedLocals = new Map();\n scopedLocals.set(parameterName, local);\n this.localsByIndex[local.index] = local;\n flow.setLocalFlag(local.index, LocalFlags.Initialized);\n }\n }\n registerConcreteElement(program, this);\n }\n\n /** Gets the types of additional locals that are not parameters. */\n getNonParameterLocalTypes(): Type[] {\n let localsByIndex = this.localsByIndex;\n let signature = this.signature;\n let numTotal = localsByIndex.length;\n let numFixed = signature.parameterTypes.length;\n if (signature.thisType) ++numFixed;\n let numAdditional = numTotal - numFixed;\n let types = new Array(numAdditional);\n for (let i = 0; i < numAdditional; ++i) {\n types[i] = localsByIndex[numFixed + i].type;\n }\n return types;\n }\n\n /** Gets the name of the parameter at the specified index. */\n getParameterName(index: i32): string {\n let parameters = (this.declaration).signature.parameters;\n return parameters.length > index\n ? parameters[index].name.text\n : getDefaultParameterName(index);\n }\n\n /** Creates a stub for use with this function, i.e. for varargs or override calls. */\n newStub(postfix: string, requiredParameters: i32 = this.signature.requiredParameters): Function {\n let stub = new Function(\n this.original.name + STUB_DELIMITER + postfix,\n this.prototype,\n this.typeArguments,\n this.signature.clone(requiredParameters),\n this.contextualTypeArguments\n );\n stub.original = this.original;\n stub.set(this.flags & ~CommonFlags.Compiled | CommonFlags.Stub);\n return stub;\n }\n\n /** Adds a local of the specified type, with an optional name. */\n addLocal(type: Type, name: string | null = null, declaration: VariableDeclaration | null = null): Local {\n // if it has a name, check previously as this method will throw otherwise\n let localsByIndex = this.localsByIndex;\n let localIndex = localsByIndex.length;\n let localName = name != null ? name : localIndex.toString();\n if (!declaration) declaration = this.program.makeNativeVariableDeclaration(localName);\n let local = new Local(localName, localIndex, type, this, declaration);\n if (name) {\n let defaultFlow = this.flow;\n let scopedLocals = defaultFlow.scopedLocals;\n if (!scopedLocals) defaultFlow.scopedLocals = scopedLocals = new Map();\n if (scopedLocals.has(name)) throw new Error(\"duplicate local name\");\n scopedLocals.set(name, local);\n }\n localsByIndex[localIndex] = local;\n return local;\n }\n\n /* @override */\n lookup(name: string, isType: bool = false): Element | null {\n if (!isType) {\n let scopedLocals = this.flow.scopedLocals;\n if (scopedLocals && scopedLocals.has(name)) {\n return assert(scopedLocals.get(name));\n }\n }\n return super.lookup(name, isType);\n }\n\n // used by flows to keep track of break labels\n nextBreakId: i32 = 0;\n breakStack: i32[] | null = null;\n\n /** Finalizes the function once compiled, releasing no longer needed resources. */\n finalize(module: Module, ref: FunctionRef): void {\n this.ref = ref;\n let breakStack = this.breakStack;\n assert(!breakStack || !breakStack.length); // should be empty\n this.breakStack = null;\n this.addDebugInfo(module, ref);\n }\n\n addDebugInfo(module: Module, ref: FunctionRef): void {\n if (this.program.options.sourceMap) {\n let debugLocations = this.debugLocations;\n for (let _keys = Map_keys(debugLocations), i = 0, k = _keys.length; i < k; ++i) {\n let expressionRef = _keys[i];\n let range = assert(debugLocations.get(expressionRef));\n let source = range.source;\n module.setDebugLocation(\n ref,\n expressionRef,\n source.debugInfoIndex,\n source.lineAt(range.start),\n source.columnAt() - 1 // source maps are 0-based\n );\n }\n }\n if (this.program.options.debugInfo) {\n let localNameMap = new Set();\n let localsByIndex = this.localsByIndex;\n for (let i = 0, k = localsByIndex.length; i < k; i++) {\n let localName = localsByIndex[i].name;\n if (localNameMap.has(localName)) {\n localName = `${localName}|${i}`;\n }\n localNameMap.add(localName);\n module.setLocalName(ref, i, localName);\n }\n }\n }\n}\n\n/** A property comprised of a getter and a setter function. */\nexport class PropertyPrototype extends DeclaredElement {\n\n /** Field declaration, if a field. */\n fieldDeclaration: FieldDeclaration | null = null;\n /** Getter prototype. */\n getterPrototype: FunctionPrototype | null = null;\n /** Setter prototype. */\n setterPrototype: FunctionPrototype | null = null;\n /** Property instance, if resolved. */\n instance: Property | null = null;\n\n /** Clones of this prototype that are bound to specific classes. */\n private boundPrototypes: Map | null = null;\n\n /** Creates a property prototype representing a field. */\n static forField(\n /** Simple name. */\n name: string,\n /** Parent element. Always a class prototype. */\n parent: ClassPrototype,\n /** Declaration of the field. */\n fieldDeclaration: FieldDeclaration,\n /** Pre-checked flags indicating built-in decorators. */\n decoratorFlags: DecoratorFlags,\n ): PropertyPrototype {\n // A field is a property with an attached memory offset. Unlike normal\n // properties, accessors for fields are not explicitly declared, so we\n // declare them implicitly here and compile them as built-ins when used.\n // As a result, explicit and implicit accessors can override each other,\n // which is useful when implementing interfaces declaring \"fields\". Such\n // fields are satisfied by either a field or a normal property, so the\n // override stub at the interface needs to handle both interchangeably.\n let nativeRange = Source.native.range;\n let typeNode = fieldDeclaration.type;\n if (!typeNode) typeNode = Node.createOmittedType(fieldDeclaration.name.range.atEnd);\n let getterDeclaration = new MethodDeclaration( // get name(): type\n fieldDeclaration.name,\n fieldDeclaration.decorators,\n fieldDeclaration.flags | CommonFlags.Instance | CommonFlags.Get,\n null,\n new FunctionTypeNode([], typeNode, null, false, nativeRange),\n null,\n nativeRange\n );\n let setterDeclaration = new MethodDeclaration( // set name(name: type)\n fieldDeclaration.name,\n fieldDeclaration.decorators,\n fieldDeclaration.flags | CommonFlags.Instance | CommonFlags.Set,\n null,\n new FunctionTypeNode(\n [\n new ParameterNode(\n ParameterKind.Default,\n fieldDeclaration.name,\n typeNode, null, nativeRange\n )\n ],\n new NamedTypeNode(\n new TypeName(\n new IdentifierExpression(\"\", false, nativeRange),\n null, nativeRange\n ),\n null, false, nativeRange\n ),\n null, false, nativeRange\n ),\n null, nativeRange\n );\n let prototype = new PropertyPrototype(name, parent, getterDeclaration);\n prototype.fieldDeclaration = fieldDeclaration;\n prototype.decoratorFlags = decoratorFlags;\n prototype.getterPrototype = new FunctionPrototype(GETTER_PREFIX + name, parent, getterDeclaration, decoratorFlags);\n prototype.setterPrototype = new FunctionPrototype(SETTER_PREFIX + name, parent, setterDeclaration, decoratorFlags);\n return prototype;\n }\n\n /** Constructs a new property prototype. */\n constructor(\n /** Simple name. */\n name: string,\n /** Parent element. Either a class prototype or instance. */\n parent: Element,\n /** Declaration of the getter or setter introducing the property. */\n firstDeclaration: FunctionDeclaration\n ) {\n super(\n ElementKind.PropertyPrototype,\n name,\n mangleInternalName(name, parent, firstDeclaration.is(CommonFlags.Instance)),\n parent.program,\n parent,\n firstDeclaration\n );\n this.flags &= ~(CommonFlags.Get | CommonFlags.Set);\n }\n\n /** Tests if this property prototype represents a field. */\n get isField(): bool {\n return this.fieldDeclaration != null;\n }\n\n /** Gets the associated type node. */\n get typeNode(): TypeNode | null {\n let fieldDeclaration = this.fieldDeclaration;\n if (fieldDeclaration) return fieldDeclaration.type;\n let getterPrototype = this.getterPrototype;\n if (getterPrototype) {\n let getterDeclaration = getterPrototype.declaration;\n if (getterDeclaration.kind == NodeKind.FunctionDeclaration) {\n return (getterDeclaration).signature.returnType;\n }\n }\n let setterPrototype = this.setterPrototype;\n if (setterPrototype) {\n let setterDeclaration = setterPrototype.declaration;\n if (setterDeclaration.kind == NodeKind.FunctionDeclaration) {\n let setterParameters = (setterDeclaration).signature.parameters;\n if (setterParameters.length) return setterParameters[0].type;\n }\n }\n return null;\n }\n\n /** Gets the associated initializer node. */\n get initializerNode(): Expression | null {\n let fieldDeclaration = this.fieldDeclaration;\n if (fieldDeclaration) return fieldDeclaration.initializer;\n return null;\n }\n\n /** Gets the associated parameter index. Set if declared as a constructor parameter, otherwise `-1`. */\n get parameterIndex(): i32 {\n let fieldDeclaration = this.fieldDeclaration;\n if (fieldDeclaration) return fieldDeclaration.parameterIndex;\n return -1;\n }\n\n /** Gets the respective `this` type. */\n get thisType(): Type {\n let parent = this.parent;\n assert(parent.kind == ElementKind.Class);\n return (parent).type;\n }\n\n /** Creates a clone of this property prototype that is bound to a concrete class. */\n toBound(classInstance: Class): PropertyPrototype {\n assert(this.is(CommonFlags.Instance));\n assert(!this.isBound);\n let boundPrototypes = this.boundPrototypes;\n if (!boundPrototypes) this.boundPrototypes = boundPrototypes = new Map();\n else if (boundPrototypes.has(classInstance)) return assert(boundPrototypes.get(classInstance));\n let firstDeclaration = this.declaration;\n assert(firstDeclaration.kind == NodeKind.MethodDeclaration);\n let bound = new PropertyPrototype(\n this.name,\n classInstance, // now bound\n firstDeclaration\n );\n bound.flags = this.flags;\n bound.fieldDeclaration = this.fieldDeclaration;\n let getterPrototype = this.getterPrototype;\n if (getterPrototype) {\n bound.getterPrototype = getterPrototype.toBound(classInstance);\n }\n let setterPrototype = this.setterPrototype;\n if (setterPrototype) {\n bound.setterPrototype = setterPrototype.toBound(classInstance);\n }\n boundPrototypes.set(classInstance, bound);\n return bound;\n }\n}\n\n/** A resolved property. */\nexport class Property extends VariableLikeElement {\n\n /** Prototype reference. */\n prototype: PropertyPrototype;\n /** Getter instance. */\n getterInstance: Function | null = null;\n /** Setter instance. */\n setterInstance: Function | null = null;\n /** Field memory offset, if a (layed out) instance field. */\n memoryOffset: i32 = -1;\n\n /** Constructs a new property prototype. */\n constructor(\n /** Respective property prototype. */\n prototype: PropertyPrototype,\n /** Parent element, usually a static class prototype or class instance. */\n parent: Element\n ) {\n super(\n ElementKind.Property,\n prototype.name,\n parent,\n prototype.isField\n ? assert(prototype.fieldDeclaration)\n : Node.createVariableDeclaration(\n prototype.identifierNode,\n null,\n prototype.flags & CommonFlags.Instance,\n null, null,\n prototype.identifierNode.range\n )\n );\n this.prototype = prototype;\n this.flags = prototype.flags;\n this.decoratorFlags = prototype.decoratorFlags;\n if (this.is(CommonFlags.Instance)) {\n registerConcreteElement(this.program, this);\n }\n }\n\n /** Tests if this property represents a field. */\n get isField(): bool {\n return this.prototype.isField;\n }\n\n checkVisibility(diag: DiagnosticEmitter): void {\n let propertyGetter = this.getterInstance;\n let propertySetter = this.setterInstance;\n if (propertyGetter && propertySetter && !propertyGetter.visibilityNoLessThan(propertySetter)) {\n diag.errorRelated(\n DiagnosticCode.Get_accessor_0_must_be_at_least_as_accessible_as_the_setter,\n propertyGetter.identifierNode.range, propertySetter.identifierNode.range, propertyGetter.identifierNode.text\n );\n }\n }\n}\n\n/** A resolved index signature. */\nexport class IndexSignature extends TypedElement {\n\n /** Constructs a new index prototype. */\n constructor(\n /** Parent class. */\n parent: Class\n ) {\n super(\n ElementKind.IndexSignature,\n \"[]\",\n parent.internalName + \"[]\",\n parent.program,\n parent,\n parent.program.makeNativeVariableDeclaration(\"[]\") // is fine\n );\n }\n\n /** Obtains the getter instance. */\n getGetterInstance(isUnchecked: bool): Function | null {\n return (this.parent).lookupOverload(OperatorKind.IndexedGet, isUnchecked);\n }\n\n /** Obtains the setter instance. */\n getSetterInstance(isUnchecked: bool): Function | null {\n return (this.parent).lookupOverload(OperatorKind.IndexedSet, isUnchecked);\n }\n}\n\n/** A yet unresolved class prototype. */\nexport class ClassPrototype extends DeclaredElement {\n\n /** Instance member prototypes. */\n instanceMembers: Map | null = null;\n /** Base class prototype, if applicable. */\n basePrototype: ClassPrototype | null = null;\n /** Interface prototypes, if applicable. */\n interfacePrototypes: InterfacePrototype[] | null = null;\n /** Constructor prototype. */\n constructorPrototype: FunctionPrototype | null = null;\n /** Operator overload prototypes. */\n operatorOverloadPrototypes: Map = new Map();\n /** Already resolved instances. */\n instances: Map | null = null;\n /** Classes extending this class. */\n extenders: Set = new Set();\n /** Whether this class implicitly extends `Object`. */\n implicitlyExtendsObject: bool = false;\n\n constructor(\n /** Simple name. */\n name: string,\n /** Parent element, usually a file or namespace. */\n parent: Element,\n /** Declaration reference. */\n declaration: ClassDeclaration,\n /** Pre-checked flags indicating built-in decorators. */\n decoratorFlags: DecoratorFlags = DecoratorFlags.None,\n _isInterface: bool = false // FIXME\n ) {\n super(\n _isInterface ? ElementKind.InterfacePrototype : ElementKind.ClassPrototype,\n name,\n mangleInternalName(name, parent, declaration.is(CommonFlags.Instance)),\n parent.program,\n parent,\n declaration\n );\n this.decoratorFlags = decoratorFlags;\n }\n\n /** Gets the associated type parameter nodes. */\n get typeParameterNodes(): TypeParameterNode[] | null {\n return (this.declaration).typeParameters;\n }\n /** Gets the associated extends node. */\n get extendsNode(): NamedTypeNode | null {\n return (this.declaration).extendsType;\n }\n /** Gets the associated implements nodes. */\n get implementsNodes(): NamedTypeNode[] | null {\n return (this.declaration).implementsTypes;\n }\n\n /** Tests if this prototype is of a builtin array type (Array/TypedArray). */\n get isBuiltinArray(): bool {\n let arrayBufferViewInstance = this.program.arrayBufferViewInstance;\n return arrayBufferViewInstance && this.extends(arrayBufferViewInstance.prototype);\n }\n\n /** Tests if this prototype extends the specified. */\n extends(basePtototype: ClassPrototype | null): bool {\n let current: ClassPrototype | null = this;\n let seen = new Set();\n do {\n // cannot directly or indirectly extend itself\n if (seen.has(current)) break;\n seen.add(current);\n if (current == basePtototype) return true;\n current = current.basePrototype;\n } while (current);\n return false;\n }\n\n /** Adds an element as an instance member of this one. Returns the previous element if a duplicate. */\n addInstance(name: string, element: DeclaredElement): bool {\n let originalDeclaration = element.declaration;\n let instanceMembers = this.instanceMembers;\n if (!instanceMembers) this.instanceMembers = instanceMembers = new Map();\n else if (instanceMembers.has(name)) {\n let existing = assert(instanceMembers.get(name));\n let merged = tryMerge(existing, element);\n if (!merged) {\n if (isDeclaredElement(existing.kind)) {\n this.program.errorRelated(\n DiagnosticCode.Duplicate_identifier_0,\n element.identifierNode.range,\n (existing).declaration.name.range,\n element.identifierNode.text\n );\n } else {\n this.program.error(\n DiagnosticCode.Duplicate_identifier_0,\n element.identifierNode.range, element.identifierNode.text\n );\n }\n return false;\n }\n element = merged;\n }\n instanceMembers.set(name, element);\n if (element.is(CommonFlags.Export) && this.is(CommonFlags.ModuleExport)) {\n element.set(CommonFlags.ModuleExport); // propagate\n }\n this.program.elementsByDeclaration.set(originalDeclaration, element);\n return true;\n }\n\n /** Gets the resolved instance for the specified instance key, if already resolved. */\n getResolvedInstance(instanceKey: string): Class | null {\n let instances = this.instances;\n if (instances && instances.has(instanceKey)) return instances.get(instanceKey);\n return null;\n }\n\n /** Sets the resolved instance for the specified instance key. */\n setResolvedInstance(instanceKey: string, instance: Class): void {\n let instances = this.instances;\n if (!instances) this.instances = instances = new Map();\n else assert(!instances.has(instanceKey));\n instances.set(instanceKey, instance);\n }\n}\n\n/** A resolved class. */\nexport class Class extends TypedElement {\n\n /** Class prototype. */\n prototype: ClassPrototype;\n /** Resolved type arguments. */\n typeArguments: Type[] | null;\n /** Base class, if any. */\n base: Class | null = null;\n /** Directly implemented interfaces, if any. */\n interfaces: Set | null = null;\n /** Contextual type arguments for fields and methods. */\n contextualTypeArguments: Map | null = null;\n /** Current member memory offset. */\n nextMemoryOffset: u32 = 0;\n /** Constructor instance. */\n constructorInstance: Function | null = null;\n /** Operator overloads. */\n operatorOverloads: Map | null = null;\n /** Index signature, if present. */\n indexSignature: IndexSignature | null = null;\n /** Unique class id. */\n private _id: u32 = 0;\n /** Runtime type information flags. */\n rttiFlags: u32 = 0;\n /** Wrapped type, if a wrapper for a basic type. */\n wrappedType: Type | null = null;\n /** Classes directly or indirectly extending this class, if any. */\n extenders: Set | null = null;\n /** Classes directly or indirectly implementing this interface, if any. */\n implementers: Set | null = null;\n /** Whether the field initialization check has already been performed. */\n didCheckFieldInitialization: bool = false;\n /** Runtime visitor function reference. */\n visitRef: FunctionRef = 0;\n\n /** Gets the unique runtime id of this class. */\n get id(): u32 {\n return this._id; // unmanaged remains 0 (=ArrayBuffer)\n }\n\n /** Tests if this class is of a builtin array type (Array/TypedArray). */\n get isBuiltinArray(): bool {\n return this.prototype.isBuiltinArray;\n }\n\n /** Tests if this class is array-like. */\n get isArrayLike(): bool {\n if (this.isBuiltinArray) return true;\n let lengthField = this.getMember(\"length\");\n if (!lengthField) return false;\n return (\n (\n lengthField.kind == ElementKind.Property &&\n (lengthField).getterInstance != null\n ) || (\n lengthField.kind == ElementKind.PropertyPrototype &&\n (lengthField).getterPrototype != null // TODO: resolve & check type?\n )\n ) && (\n this.lookupOverload(OperatorKind.IndexedGet) != null ||\n this.lookupOverload(OperatorKind.UncheckedIndexedGet) != null\n );\n }\n\n /** Tests if this is an interface. */\n get isInterface(): bool {\n return this.kind == ElementKind.Interface;\n }\n\n /** Constructs a new class. */\n constructor(\n /** Name incl. type parameters, i.e. `Foo`. */\n nameInclTypeParameters: string,\n /** The respective class prototype. */\n prototype: ClassPrototype,\n /** Concrete type arguments, if any. */\n typeArguments: Type[] | null = null,\n _isInterface: bool = false // FIXME\n ) {\n super(\n _isInterface ? ElementKind.Interface : ElementKind.Class,\n nameInclTypeParameters,\n mangleInternalName(nameInclTypeParameters, prototype.parent, prototype.is(CommonFlags.Instance)),\n prototype.program,\n prototype.parent,\n prototype.declaration\n );\n this.prototype = prototype;\n this.flags = prototype.flags;\n this.decoratorFlags = prototype.decoratorFlags;\n this.typeArguments = typeArguments;\n let program = this.program;\n let usizeType = program.options.usizeType;\n let type = new Type(usizeType.kind, usizeType.flags & ~TypeFlags.Value | TypeFlags.Reference, usizeType.size);\n type.classReference = this;\n this.setType(type);\n\n if (!this.hasDecorator(DecoratorFlags.Unmanaged)) {\n let id = program.nextClassId++;\n this._id = id;\n program.managedClasses.set(id, this);\n }\n\n // apply pre-checked instance-specific contextual type arguments\n let typeParameters = prototype.typeParameterNodes;\n if (typeArguments) {\n let numTypeArguments = typeArguments.length;\n if (!typeParameters || numTypeArguments != typeParameters.length) {\n throw new Error(\"type argument count mismatch\");\n }\n if (numTypeArguments) {\n let contextualTypeArguments = this.contextualTypeArguments;\n if (!contextualTypeArguments) this.contextualTypeArguments = contextualTypeArguments = new Map();\n for (let i = 0; i < numTypeArguments; ++i) {\n contextualTypeArguments.set(typeParameters[i].name.text, typeArguments[i]);\n }\n }\n } else if (typeParameters && typeParameters.length > 0) {\n throw new Error(\"type argument count mismatch\");\n }\n registerConcreteElement(program, this);\n }\n\n /** Computes the least upper bound of two class types. */\n static leastUpperBound(a: Class, b: Class): Class | null {\n if (a == b) return a;\n let candidates = new Set();\n candidates.add(a);\n candidates.add(b);\n while (true) {\n let aBase = a.base;\n let bBase = b.base;\n if (!aBase && !bBase) return null; // none\n if (aBase) {\n if (candidates.has(aBase)) return aBase;\n candidates.add(a = aBase);\n }\n if (bBase) {\n if (candidates.has(bBase)) return bBase;\n candidates.add(b = bBase);\n }\n }\n }\n\n /** Sets the base class. */\n setBase(base: Class): void {\n assert(!this.base);\n this.base = base;\n\n // Inherit contextual type arguments from base class\n let inheritedTypeArguments = base.contextualTypeArguments;\n if (inheritedTypeArguments) {\n let contextualTypeArguments = this.contextualTypeArguments;\n // TODO: for (let [baseName, baseType] of inheritedTypeArguments) {\n for (let _keys = Map_keys(inheritedTypeArguments), i = 0, k = _keys.length; i < k; ++i) {\n let baseName = unchecked(_keys[i]);\n let baseType = assert(inheritedTypeArguments.get(baseName));\n if (!contextualTypeArguments) {\n this.contextualTypeArguments = contextualTypeArguments = new Map();\n contextualTypeArguments.set(baseName, baseType);\n } else if (!contextualTypeArguments.has(baseName)) {\n contextualTypeArguments.set(baseName, baseType);\n }\n }\n }\n\n // This class and its extenders now extend each direct or indirect base class\n base.propagateExtenderUp(this);\n let extenders = this.extenders;\n if (extenders) {\n for (let _values = Set_values(extenders), i = 0, k = _values.length; i < k; ++i) {\n let extender = _values[i];\n base.propagateExtenderUp(extender);\n }\n }\n\n // Direct or indirect base interfaces are now implemented by this class and its extenders\n let nextBase: Class | null = base;\n do {\n let baseInterfaces = nextBase.interfaces;\n if (baseInterfaces) {\n for (let _values = Set_values(baseInterfaces), i = 0, k = _values.length; i < k; ++i) {\n let baseInterface = _values[i];\n this.propagateInterfaceDown(baseInterface);\n }\n }\n nextBase = nextBase.base;\n } while (nextBase);\n }\n\n /** Propagates an extender to this class and its base classes. */\n private propagateExtenderUp(extender: Class): void {\n // Start with this class, adding the extender to it. Repeat for the class's\n // bases that are indirectly extended by the extender.\n let nextBase: Class | null = this;\n do {\n let extenders = nextBase.extenders;\n if (!extenders) nextBase.extenders = extenders = new Set();\n extenders.add(extender);\n nextBase = nextBase.base;\n } while (nextBase);\n }\n\n /** Propagates an interface and its base interfaces to this class and its extenders. */\n private propagateInterfaceDown(iface: Interface): void {\n // Start with the interface itself, adding this class and its extenders to\n // its implementers. Repeat for the interface's bases that are indirectly\n // implemented by means of being extended by the interface.\n let nextIface: Interface | null = iface;\n let extenders = this.extenders;\n do {\n let implementers = nextIface.implementers;\n if (!implementers) nextIface.implementers = implementers = new Set();\n implementers.add(this);\n if (extenders) {\n for (let _values = Set_values(extenders), i = 0, k = _values.length; i < k; ++i) {\n let extender = _values[i];\n implementers.add(extender);\n }\n }\n nextIface = nextIface.base;\n } while (nextIface);\n }\n\n /** Adds an interface. */\n addInterface(iface: Interface): void {\n let interfaces = this.interfaces;\n if (!interfaces) this.interfaces = interfaces = new Set();\n interfaces.add(iface);\n\n // This class and its extenders now implement the interface and its bases\n this.propagateInterfaceDown(iface);\n }\n\n /** Tests if a value of this class type is assignable to a target of the specified class type. */\n isAssignableTo(target: Class): bool {\n // Q: When does the assignment in the comment below succeed?\n if (target.isInterface) {\n if (this.isInterface) {\n // targetInterface = thisInterface\n return this == target || this.extends(target);\n } else {\n // targetInterface = thisClass\n return this.implements(target);\n }\n } else {\n if (this.isInterface) {\n // targetClass = thisInterface\n return target == this.program.objectInstance;\n } else {\n // targetClass = thisClass\n return this == target || this.extends(target);\n }\n }\n }\n\n /** Tests if any subclass of this class is assignable to a target of the specified class type. */\n hasSubclassAssignableTo(target: Class): bool {\n // Q: When can the cast in the comment below succeed? (while an assignment would not)\n if (target.isInterface) {\n if (this.isInterface) {\n // thisInterface\n return this.hasImplementerImplementing(target);\n } else {\n // thisClass\n return this.hasExtenderImplementing(target);\n }\n } else {\n if (this.isInterface) {\n // thisInterface\n return this.hasImplementer(target);\n } else {\n // thisClass\n return this.hasExtender(target);\n }\n }\n }\n\n /** Looks up the operator overload of the specified kind. */\n lookupOverload(kind: OperatorKind, unchecked: bool = false): Function | null {\n if (unchecked) {\n switch (kind) {\n case OperatorKind.IndexedGet: {\n let uncheckedOverload = this.lookupOverload(OperatorKind.UncheckedIndexedGet);\n if (uncheckedOverload) return uncheckedOverload;\n break;\n }\n case OperatorKind.IndexedSet: {\n let uncheckedOverload = this.lookupOverload(OperatorKind.UncheckedIndexedSet);\n if (uncheckedOverload) return uncheckedOverload;\n break;\n }\n default: assert(false);\n }\n }\n let instance: Class | null = this;\n do {\n let overloads = instance.operatorOverloads;\n if (overloads != null && overloads.has(kind)) {\n return assert(overloads.get(kind));\n }\n instance = instance.base;\n } while (instance);\n return null;\n }\n\n /** Gets the method of the specified name, resolved with the given type arguments. */\n getMethod(name: string, typeArguments: Type[] | null = null): Function | null {\n let member = this.getMember(name);\n if (member && member.kind == ElementKind.FunctionPrototype) {\n return this.program.resolver.resolveFunction(member, typeArguments);\n }\n return null;\n }\n\n /** Calculates the memory offset of the specified field. */\n offsetof(fieldName: string): u32 {\n let member = assert(this.getMember(fieldName));\n assert(member.kind == ElementKind.PropertyPrototype);\n let prototype = member;\n let property = prototype.instance;\n if (property) { // would have failed before\n assert(property.isField && property.memoryOffset >= 0);\n return property.memoryOffset;\n }\n return 0;\n }\n\n /** Creates a buffer suitable to hold a runtime instance of this class. */\n createBuffer(overhead: i32 = 0): Uint8Array {\n let program = this.program;\n let payloadSize = this.nextMemoryOffset + overhead;\n let blockSize = program.computeBlockSize(payloadSize, true); // excl. overhead\n let buffer = new Uint8Array(program.blockOverhead + blockSize);\n let OBJECT = program.OBJECTInstance;\n OBJECT.writeField(\"mmInfo\", blockSize, buffer, 0);\n OBJECT.writeField(\"gcInfo\", 0, buffer, 0);\n OBJECT.writeField(\"gcInfo2\", 0, buffer, 0);\n OBJECT.writeField(\"rtId\", this.id, buffer, 0);\n OBJECT.writeField(\"rtSize\", payloadSize, buffer, 0);\n return buffer;\n }\n\n /** Writes a field value to a buffer and returns the number of bytes written. */\n writeField(name: string, value: T, buffer: Uint8Array, baseOffset: i32 = this.program.totalOverhead): i32 {\n let member = this.getMember(name);\n if (member && member.kind == ElementKind.PropertyPrototype) {\n let prototype = member;\n let property = prototype.instance; // resolved during class finalization\n if (!property) return 0; // failed before\n assert(property.isField && property.memoryOffset >= 0);\n let offset = baseOffset + property.memoryOffset;\n let typeKind = property.type.kind;\n switch (typeKind) {\n case TypeKind.I8:\n case TypeKind.U8: {\n assert(!i64_is(value));\n writeI8(i32(value), buffer, offset);\n return 1;\n }\n case TypeKind.I16:\n case TypeKind.U16: {\n assert(!i64_is(value));\n writeI16(i32(value), buffer, offset);\n return 2;\n }\n case TypeKind.I32:\n case TypeKind.U32: {\n assert(!i64_is(value));\n writeI32(i32(value), buffer, offset);\n return 4;\n }\n case TypeKind.Isize:\n case TypeKind.Usize: {\n if (this.program.options.isWasm64) {\n if (i64_is(value)) {\n writeI64(value, buffer, offset);\n } else {\n writeI32AsI64(i32(value), buffer, offset, typeKind == TypeKind.Usize);\n }\n return 8;\n } else {\n if (i64_is(value)) {\n writeI64AsI32(value, buffer, offset, typeKind == TypeKind.Usize);\n } else {\n writeI32(i32(value), buffer, offset);\n }\n return 4;\n }\n }\n case TypeKind.I64:\n case TypeKind.U64: {\n if (i64_is(value)) {\n writeI64(value, buffer, offset);\n } else {\n writeI32AsI64(i32(value), buffer, offset, typeKind == TypeKind.U64);\n }\n return 8;\n }\n case TypeKind.F32: {\n assert(!i64_is(value));\n writeF32(f32(value), buffer, offset);\n return 4;\n }\n case TypeKind.F64: {\n assert(!i64_is(value));\n writeF64(f64(value), buffer, offset);\n return 8;\n }\n }\n }\n assert(false);\n return 0;\n }\n\n /** Tests if this class extends the specified prototype. */\n extendsPrototype(prototype: ClassPrototype): bool {\n return this.prototype.extends(prototype);\n }\n\n /** Gets the concrete type arguments to the specified extendend prototype. */\n getTypeArgumentsTo(extendedPrototype: ClassPrototype): Type[] | null {\n let current: Class | null = this;\n do {\n if (current.prototype == extendedPrototype) return current.typeArguments;\n current = current.base;\n } while (current);\n return null;\n }\n\n /** Gets the value type of an array. Must be an array. */\n getArrayValueType(): Type {\n let current: Class = this;\n let program = this.program;\n let arrayPrototype = program.arrayPrototype;\n if (this.extendsPrototype(arrayPrototype)) {\n return this.getTypeArgumentsTo(arrayPrototype)![0];\n }\n let staticArrayPrototype = program.staticArrayPrototype;\n if (this.extendsPrototype(staticArrayPrototype)) {\n return this.getTypeArgumentsTo(staticArrayPrototype)![0];\n }\n let abvInstance = program.arrayBufferViewInstance;\n while (current.base != abvInstance) {\n current = assert(current.base);\n }\n let prototype = current.prototype;\n switch (prototype.name.charCodeAt(0)) {\n case CharCode.F: {\n if (prototype == program.float32ArrayPrototype) return Type.f32;\n if (prototype == program.float64ArrayPrototype) return Type.f64;\n break;\n }\n case CharCode.I: {\n if (prototype == program.int8ArrayPrototype) return Type.i8;\n if (prototype == program.int16ArrayPrototype) return Type.i16;\n if (prototype == program.int32ArrayPrototype) return Type.i32;\n if (prototype == program.int64ArrayPrototype) return Type.i64;\n break;\n }\n case CharCode.U: {\n if (prototype == program.uint8ArrayPrototype) return Type.u8;\n if (prototype == program.uint8ClampedArrayPrototype) return Type.u8;\n if (prototype == program.uint16ArrayPrototype) return Type.u16;\n if (prototype == program.uint32ArrayPrototype) return Type.u32;\n if (prototype == program.uint64ArrayPrototype) return Type.u64;\n break;\n }\n }\n assert(false);\n return Type.void;\n }\n\n /** Tests if this class is pointerfree. Useful to know for the GC. */\n get isPointerfree(): bool {\n let program = this.program;\n\n let instanceMembers = this.members;\n if (instanceMembers) {\n\n // Check that there are no managed instance fields\n for (let _values = Map_values(instanceMembers), i = 0, k = _values.length; i < k; ++i) {\n let member = unchecked(_values[i]);\n if (member.kind == ElementKind.PropertyPrototype) {\n let prototype = member;\n let property = prototype.instance; // resolved during class finalization\n if (!property) continue; // failed earlier\n if (property.isField && property.type.isManaged) return false;\n }\n }\n\n // Check that this isn't a managed collection\n if (instanceMembers.has(CommonNames.visit)) {\n let prototype = this.prototype;\n if (\n prototype == program.arrayPrototype ||\n prototype == program.staticArrayPrototype ||\n prototype == program.setPrototype ||\n prototype == program.mapPrototype\n ) {\n // Note that we cannot know for sure anymore as soon as the collection\n // is extended, because user code may implement a custom visitor.\n let typeArguments = assert(this.getTypeArgumentsTo(prototype));\n for (let i = 0, k = typeArguments.length; i < k; ++i) {\n if (typeArguments[i].isManaged) return false;\n }\n return true;\n }\n return false; // has a custom __visit\n }\n }\n return true;\n }\n\n /** Tests if this class or interface extends the given class or interface. */\n extends(other: Class): bool {\n return other.hasExtender(this);\n }\n\n /** Tests if this class has a direct or indirect extender matching the given class. */\n hasExtender(other: Class): bool {\n let extenders = this.extenders;\n return extenders != null && extenders.has(other);\n }\n\n /** Tests if this class has a direct or indirect extender that implements the given interface. */\n hasExtenderImplementing(other: Interface): bool {\n let extenders = this.extenders;\n if (extenders) {\n for (let _values = Set_values(extenders), i = 0, k = _values.length; i < k; ++i) {\n let extender = _values[i];\n if (extender.implements(other)) return true;\n }\n }\n return false;\n }\n\n /** Tests if this class directly or indirectly implements the given interface. */\n implements(other: Interface): bool {\n return other.hasImplementer(this);\n }\n\n /** Tests if this interface has a direct or indirect implementer matching the given class. */\n hasImplementer(other: Class): bool {\n let implementers = this.implementers;\n return implementers != null && implementers.has(other);\n }\n\n /** Tests if this interface has an implementer implementing the given interface. */\n hasImplementerImplementing(other: Interface): bool {\n let implementers = this.implementers;\n if (implementers) {\n for (let _values = Set_values(implementers), i = 0, k = _values.length; i < k; ++i) {\n let implementer = _values[i];\n if (implementer.implements(other)) return true;\n }\n }\n return false;\n }\n}\n\n/** A yet unresolved interface. */\nexport class InterfacePrototype extends ClassPrototype {\n\n /** Constructs a new interface prototype. */\n constructor(\n name: string,\n parent: Element,\n declaration: InterfaceDeclaration,\n decoratorFlags: DecoratorFlags\n ) {\n super(\n name,\n parent,\n declaration,\n decoratorFlags,\n true\n );\n }\n}\n\n/** A resolved interface. */\nexport class Interface extends Class { // FIXME\n\n /** Constructs a new interface. */\n constructor(\n /** Name incl. type parameters, i.e. `Foo`. */\n nameInclTypeParameters: string,\n /** The respective class prototype. */\n prototype: InterfacePrototype,\n /** Concrete type arguments, if any. */\n typeArguments: Type[] | null = null,\n ) {\n super(\n nameInclTypeParameters,\n prototype,\n typeArguments,\n true\n );\n }\n}\n\n/** Registers a concrete element with a program. */\nfunction registerConcreteElement(program: Program, element: Element): void {\n assert(!program.instancesByName.has(element.internalName));\n program.instancesByName.set(element.internalName, element);\n}\n\n/** Attempts to merge two elements. Returns the merged element on success. */\nfunction tryMerge(older: Element, newer: Element): DeclaredElement | null {\n // NOTE: some of the following cases are not supported by TS, not sure why exactly.\n // suggesting to just merge what seems to be possible for now and revisit later.\n assert(older.program == newer.program);\n if (newer.members) return null;\n let merged: DeclaredElement | null = null;\n switch (older.kind) {\n case ElementKind.FunctionPrototype: {\n switch (newer.kind) {\n case ElementKind.Namespace: {\n copyMembers(newer, older);\n merged = older;\n break;\n }\n case ElementKind.TypeDefinition: {\n if (!older.shadowType) {\n older.shadowType = newer;\n copyMembers(newer, older);\n merged = older;\n }\n break;\n }\n }\n break;\n }\n case ElementKind.ClassPrototype:\n case ElementKind.Enum: {\n if (newer.kind == ElementKind.Namespace) {\n copyMembers(newer, older);\n merged = older;\n break;\n }\n break;\n }\n case ElementKind.Namespace: {\n switch (newer.kind) {\n case ElementKind.Enum:\n case ElementKind.ClassPrototype: // TS2434\n case ElementKind.FunctionPrototype: { // TS2434\n copyMembers(older, newer);\n merged = newer;\n break;\n }\n case ElementKind.Namespace: {\n copyMembers(newer, older);\n merged = older;\n break;\n }\n case ElementKind.TypeDefinition: {\n if (!older.shadowType) {\n older.shadowType = newer;\n copyMembers(newer, older);\n merged = older;\n }\n break;\n }\n }\n break;\n }\n case ElementKind.Global: {\n if (newer.kind == ElementKind.TypeDefinition) {\n if (!older.shadowType) {\n older.shadowType = newer;\n copyMembers(newer, older);\n merged = older;\n }\n }\n break;\n }\n case ElementKind.TypeDefinition: {\n switch (newer.kind) {\n case ElementKind.Global:\n case ElementKind.FunctionPrototype:\n case ElementKind.Namespace: {\n if (!newer.shadowType) {\n newer.shadowType = older;\n copyMembers(older, newer);\n merged = newer;\n }\n break;\n }\n }\n break;\n }\n }\n if (merged) {\n let olderIsExport = older.is(CommonFlags.Export) || older.hasDecorator(DecoratorFlags.Global);\n let newerIsExport = newer.is(CommonFlags.Export) || newer.hasDecorator(DecoratorFlags.Global);\n if (olderIsExport != newerIsExport) {\n older.program.error(\n DiagnosticCode.Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local,\n merged.identifierNode.range, merged.identifierNode.text\n );\n }\n }\n return merged;\n}\n\n/** Copies the members of `src` to `dest`. */\nfunction copyMembers(src: Element, dest: Element): void {\n let srcMembers = src.members;\n if (srcMembers) {\n let destMembers = dest.members;\n if (!destMembers) dest.members = destMembers = new Map();\n // TODO: for (let [memberName, member] of srcMembers) {\n for (let _keys = Map_keys(srcMembers), i = 0, k = _keys.length; i < k; ++i) {\n let memberName = unchecked(_keys[i]);\n let member = assert(srcMembers.get(memberName));\n destMembers.set(memberName, member);\n }\n }\n}\n\n/** Mangles the internal name of an element with the specified name that is a child of the given parent. */\nexport function mangleInternalName(\n name: string,\n parent: Element,\n isInstance: bool,\n asGlobal: bool = false\n): string {\n switch (parent.kind) {\n case ElementKind.File: {\n if (asGlobal) return name;\n return parent.internalName + PATH_DELIMITER + name;\n }\n case ElementKind.Function: {\n if (asGlobal) return name;\n assert(!isInstance);\n return parent.internalName + INNER_DELIMITER + name;\n }\n case ElementKind.PropertyPrototype: // properties are just containers\n case ElementKind.Property: { //\n parent = parent.parent;\n // fall-through\n }\n default: {\n return (\n mangleInternalName(parent.name, parent.parent, parent.is(CommonFlags.Instance), asGlobal) +\n (isInstance ? INSTANCE_DELIMITER : STATIC_DELIMITER) + name\n );\n }\n }\n}\n\n// Cached default parameter names used where names are unknown.\nlet cachedDefaultParameterNames: string[] = [];\n\n/** Gets the cached default parameter name for the specified index. */\nexport function getDefaultParameterName(index: i32): string {\n for (let i = cachedDefaultParameterNames.length; i <= index; ++i) {\n cachedDefaultParameterNames.push(`$${i}`);\n }\n return cachedDefaultParameterNames[index];\n}\n", "/**\n * @fileoverview Mappings from AssemblyScript types to WebAssembly types.\n * @license Apache-2.0\n */\n\nimport {\n CommonNames\n} from \"./common\";\n\nimport {\n Class,\n Program,\n DecoratorFlags\n} from \"./program\";\n\nimport {\n TypeRef,\n createType,\n HeapTypeRef,\n ensureType\n} from \"./module\";\n\nimport * as binaryen from \"./glue/binaryen\";\n\n/** Indicates the kind of a type. */\nexport const enum TypeKind {\n /** A 1-bit unsigned integer. */\n Bool,\n\n // signed integers\n\n /** An 8-bit signed integer. */\n I8,\n /** A 16-bit signed integer. */\n I16,\n /** A 32-bit signed integer. */\n I32,\n /** A 64-bit signed integer. */\n I64,\n /** A 32-bit/64-bit signed integer, depending on the target. */\n Isize,\n\n // unsigned integers\n\n /** An 8-bit unsigned integer. */\n U8,\n /** A 16-bit unsigned integer. */\n U16,\n /** A 32-bit unsigned integer. Also the base of function types. */\n U32,\n /** A 64-bit unsigned integer. */\n U64,\n /** A 32-bit/64-bit unsigned integer, depending on the target. Also the base of class types. */\n Usize,\n\n // floats\n\n /** A 32-bit float. */\n F32,\n /** A 64-bit double. */\n F64,\n\n // vectors\n\n /** A 128-bit vector. */\n V128,\n\n // references (keep in same order as in Binaryen)\n\n /** External reference. */\n Extern,\n /** Function reference. */\n Func,\n /** Any reference. */\n Any,\n /** Equatable reference. */\n Eq,\n /** Struct reference. */\n Struct,\n /** Array reference. */\n Array,\n /** 31-bit integer reference. */\n I31,\n /** String reference. */\n String,\n /** WTF8 string view. */\n StringviewWTF8,\n /** WTF16 string view. */\n StringviewWTF16,\n /** String iterator. */\n StringviewIter,\n\n // other\n\n /** No return type. */\n Void\n}\n\n/** Indicates capabilities of a type. */\nexport const enum TypeFlags {\n None = 0,\n /** Is a signed type that can represent negative values. */\n Signed = 1 << 0,\n /** Is an unsigned type that cannot represent negative values. */\n Unsigned = 1 << 1,\n /** Is an integer type. */\n Integer = 1 << 2,\n /** Is a floating point type. */\n Float = 1 << 3,\n /** Is a varying (in size) type. */\n Varying = 1 << 4,\n /** Is smaller than 32-bits. */\n Short = 1 << 5,\n /** Is larger than 32-bits. */\n Long = 1 << 6,\n /** Is a value type. */\n Value = 1 << 7,\n /** Is a reference type (either a class or a function type). */\n Reference = 1 << 8,\n /** Is a nullable type. */\n Nullable = 1 << 9,\n /** Is a vector type. */\n Vector = 1 << 10,\n /** Is an external type. */\n External = 1 << 11,\n /** Is a class. */\n Class = 1 << 12,\n /** Is a function. */\n Function = 1 << 13\n}\n\n/** Represents a resolved type. */\nexport class Type {\n\n /** Type kind. */\n kind: TypeKind;\n /** Type flags. */\n flags: TypeFlags;\n /** Size in bits. */\n size: i32;\n /** Underlying class reference, if a class type. */\n classReference: Class | null = null;\n /** Underlying signature reference, if a function type. */\n signatureReference: Signature | null = null;\n /** Respective non-nullable type, if nullable. */\n private _nonNullableType: Type | null = null;\n /** Respective nullable type, if non-nullable. */\n private _nullableType: Type | null = null;\n /** Cached Binaryen type reference. */\n ref: TypeRef = 0;\n\n /** Constructs a new resolved type. */\n constructor(kind: TypeKind, flags: TypeFlags, size: u32) {\n this.kind = kind;\n this.flags = flags;\n this.size = size;\n if (!(flags & TypeFlags.Nullable)) {\n this._nonNullableType = this;\n } else {\n this._nullableType = this;\n }\n }\n\n /** Returns the closest int type representing this type. */\n get intType(): Type {\n if (this == Type.auto) return this; // keep auto as a hint\n switch (this.kind) {\n case TypeKind.Bool:\n case TypeKind.I32:\n case TypeKind.F32: return Type.i32;\n case TypeKind.I8: return Type.i8;\n case TypeKind.I16: return Type.i16;\n case TypeKind.F64:\n case TypeKind.I64: return Type.i64;\n case TypeKind.Isize: return this.size == 64 ? Type.isize64 : Type.isize32;\n case TypeKind.U8: return Type.u8;\n case TypeKind.U16: return Type.u16;\n case TypeKind.U32: return Type.u32;\n case TypeKind.U64: return Type.u64;\n case TypeKind.Usize: return this.size == 64 ? Type.usize64 : Type.usize32;\n default: return Type.i32;\n }\n }\n\n /** Substitutes this type with the auto type if this type is void. */\n get exceptVoid(): Type {\n return this.kind == TypeKind.Void ? Type.auto : this;\n }\n\n /** Size in bytes. */\n get byteSize(): i32 {\n // ceiled div by 8\n return this.size + 7 >>> 3;\n }\n\n /** Gets this type's logarithmic alignment in memory. */\n get alignLog2(): i32 {\n return 31 - clz(this.byteSize);\n }\n\n /** Tests if this type represents a basic value. */\n get isValue(): bool {\n return this.is(TypeFlags.Value);\n }\n\n /** Tests if this type represents an integer value. */\n get isIntegerValue(): bool {\n return this.is(TypeFlags.Integer | TypeFlags.Value);\n }\n\n /** Tests if this type represents a small (< 32 bits) integer value. */\n get isShortIntegerValue(): bool {\n return this.is(TypeFlags.Short | TypeFlags.Integer | TypeFlags.Value);\n }\n\n /** Tests if this type represents a long (> 32 bits) integer value. */\n get isLongIntegerValue(): bool {\n return this.is(TypeFlags.Long | TypeFlags.Integer | TypeFlags.Value);\n }\n\n /** Tests if this type represents a signed integer value. */\n get isSignedIntegerValue(): bool {\n return this.is(TypeFlags.Signed | TypeFlags.Integer | TypeFlags.Value);\n }\n\n /** Tests if this type represents an unsigned integer value. */\n get isUnsignedIntegerValue(): bool {\n return this.is(TypeFlags.Unsigned | TypeFlags.Integer | TypeFlags.Value);\n }\n\n /** Tests if this type represents a varying (in size) integer value. */\n get isVaryingIntegerValue(): bool {\n return this.is(TypeFlags.Varying | TypeFlags.Integer | TypeFlags.Value);\n }\n\n /** Tests if this type represents an integer, including references. */\n get isIntegerInclReference(): bool {\n return this.is(TypeFlags.Integer);\n }\n\n /** Tests if this type represents a floating point value. */\n get isFloatValue(): bool {\n return this.is(TypeFlags.Float | TypeFlags.Value);\n }\n\n /** Tests if this type represents a numeric (integer or floating point) value. */\n get isNumericValue(): bool {\n return this.isIntegerValue || this.isFloatValue;\n }\n\n /** Tests if this type represents a boolean value. */\n get isBooleanValue(): bool {\n return this == Type.bool;\n }\n\n /** Tests if this type represents a vector value. */\n get isVectorValue(): bool {\n return this.is(TypeFlags.Vector | TypeFlags.Value);\n }\n\n /** Tests if this type represents an internal or external reference. */\n get isReference(): bool {\n return this.is(TypeFlags.Reference);\n }\n\n /** Tests if this type represents a nullable internal or external reference. */\n get isNullableReference(): bool {\n return this.is(TypeFlags.Nullable | TypeFlags.Reference);\n }\n\n /** Tests if this type represents an internal object. */\n get isInternalReference(): bool {\n return this.is(TypeFlags.Integer | TypeFlags.Reference);\n }\n\n /** Tests if this type represents an external object. */\n get isExternalReference(): bool {\n return this.is(TypeFlags.External | TypeFlags.Reference);\n }\n\n /** Tests if this type represents a nullable external object. */\n get isNullableExternalReference(): bool {\n return this.is(TypeFlags.Nullable | TypeFlags.External | TypeFlags.Reference);\n }\n\n /** Gets the underlying class of this type, if any. */\n getClass(): Class | null {\n return this.isInternalReference\n ? this.classReference\n : null;\n }\n\n /** Tests if this type represents a class. */\n get isClass(): bool {\n return this.getClass() != null;\n }\n\n /** Gets the underlying class or wrapper class of this type, if any. */\n getClassOrWrapper(program: Program): Class | null {\n let classReference = this.getClass();\n if (classReference) {\n // typical class\n return classReference;\n } else {\n let signatureReference = this.getSignature();\n if (signatureReference) {\n // function wrapper\n let type = signatureReference.type;\n let wrapper = assert(program.resolver.resolveClass(program.functionPrototype, [ type ]));\n wrapper.wrappedType = type;\n return wrapper;\n } else {\n let wrapperClasses = program.wrapperClasses;\n if (wrapperClasses.has(this)) {\n // value wrapper\n return assert(wrapperClasses.get(this));\n }\n }\n }\n return null;\n }\n\n /** Gets the underlying function signature of this type, if any. */\n getSignature(): Signature | null {\n return this.isInternalReference\n ? this.signatureReference\n : null;\n }\n\n /** Tests if this type represents a function. */\n get isFunction(): bool {\n return this.getSignature() != null;\n }\n\n /** Tests if this is a managed type that needs GC hooks. */\n get isManaged(): bool {\n if (this.isInternalReference) {\n let classReference = this.classReference;\n if (classReference) return !classReference.hasDecorator(DecoratorFlags.Unmanaged);\n return this.signatureReference != null; // function references are managed\n }\n return false;\n }\n\n /** Tests if this is a class type explicitly annotated as unmanaged. */\n get isUnmanaged(): bool {\n let classReference = this.classReference;\n return classReference != null && classReference.hasDecorator(DecoratorFlags.Unmanaged);\n }\n\n get isMemory(): bool {\n switch (this.kind) {\n case TypeKind.Bool:\n case TypeKind.I8:\n case TypeKind.I16:\n case TypeKind.I32:\n case TypeKind.I64:\n case TypeKind.Isize:\n case TypeKind.U8:\n case TypeKind.U16:\n case TypeKind.U32:\n case TypeKind.U64:\n case TypeKind.Usize:\n case TypeKind.F32:\n case TypeKind.F64:\n case TypeKind.V128: return true;\n }\n return false;\n }\n\n /** Gets the corresponding non-nullable type. */\n get nonNullableType(): Type {\n // Every type has a corresponding non-nullable type\n return assert(this._nonNullableType);\n }\n\n /** Gets the corresponding nullable type, if applicable. */\n get nullableType(): Type | null {\n return this.isReference\n ? this.asNullable() // Every reference type has a corresponding nullable type\n : null; // Other types do not have a nullable type\n }\n\n /** Computes the sign-extending shift in the target type. */\n computeSmallIntegerShift(targetType: Type): i32 {\n return targetType.size - this.size;\n }\n\n /** Computes the truncating mask in the target type. */\n computeSmallIntegerMask(targetType: Type): i32 {\n let size = this.size;\n if (!this.is(TypeFlags.Unsigned)) size -= 1;\n return ~0 >>> (targetType.size - size);\n }\n\n /** Tests if this type has (all of) the specified flags. */\n is(flags: TypeFlags): bool { return (this.flags & flags) == flags; }\n /** Tests if this type has any of the specified flags. */\n isAny(flags: TypeFlags): bool { return (this.flags & flags) != 0; }\n\n /** Composes the respective nullable type of this type. */\n asNullable(): Type {\n assert(this.isReference);\n let nullableType = this._nullableType;\n if (!nullableType) {\n assert(!this.isNullableReference);\n this._nullableType = nullableType = new Type(this.kind, this.flags | TypeFlags.Nullable, this.size);\n nullableType.classReference = this.classReference;\n nullableType.signatureReference = this.signatureReference;\n nullableType._nonNullableType = this;\n }\n return nullableType;\n }\n\n /** Use unsigned type for according size if possible. */\n toUnsigned(): Type {\n switch (this.kind) {\n case TypeKind.I8: return Type.u8;\n case TypeKind.I16: return Type.u16;\n case TypeKind.I32: return Type.u32;\n case TypeKind.I64: return Type.u64;\n case TypeKind.Isize: return this.size == 64 ? Type.usize64 : Type.usize32;\n }\n return this;\n }\n\n /** Tests if this type equals the specified. */\n equals(other: Type): bool {\n if (this.kind != other.kind) {\n return false;\n }\n if (this.isReference) {\n let selfSignatureReference = this.signatureReference;\n let otherSignatureReference = other.signatureReference;\n\n return (\n this.classReference == other.classReference\n && selfSignatureReference == otherSignatureReference\n && this.isNullableReference == other.isNullableReference\n );\n }\n return true;\n }\n\n /** Tests if a value of this type is assignable to the target type incl. implicit conversion. */\n isAssignableTo(target: Type, signednessIsRelevant: bool = false): bool {\n let currentClass: Class | null;\n let targetClass: Class | null;\n let currentFunction: Signature | null;\n let targetFunction: Signature | null;\n if (this.isReference) {\n if (target.isReference) {\n if (!this.isNullableReference || target.isNullableReference) {\n if (currentClass = this.getClass()) {\n if (targetClass = target.getClass()) {\n return currentClass.isAssignableTo(targetClass);\n }\n } else if (currentFunction = this.getSignature()) {\n if (targetFunction = target.getSignature()) {\n return currentFunction.isAssignableTo(targetFunction);\n }\n } else if (this.isExternalReference) {\n if (\n this.kind == target.kind ||\n (target.kind == TypeKind.Any && this.kind != TypeKind.Extern)\n ) {\n return true;\n }\n }\n }\n }\n } else if (!target.isReference) {\n if (this.isIntegerValue) {\n if (target.isIntegerValue) {\n if (\n !signednessIsRelevant ||\n this.isBooleanValue || // a bool (0 or 1) can be safely assigned to all sorts of integers\n this.isSignedIntegerValue == target.isSignedIntegerValue\n ) {\n return this.size <= target.size;\n }\n } else if (target.kind == TypeKind.F32) {\n return this.size <= 23; // mantissa bits\n } else if (target.kind == TypeKind.F64) {\n return this.size <= 52; // ^\n }\n } else if (this.isFloatValue) {\n if (target.isFloatValue) {\n return this.size <= target.size;\n }\n } else if (this.isVectorValue) {\n if (target.isVectorValue) {\n return this.size == target.size;\n }\n }\n }\n return false;\n }\n\n /** Tests if a value of this type is assignable to the target type excl. implicit conversion. */\n isStrictlyAssignableTo(target: Type, signednessIsRelevant: bool = false): bool {\n if (this.isReference) return this.isAssignableTo(target);\n else if (target.isReference) return false;\n // not dealing with references from here on\n if (this.isIntegerValue) {\n return target.isIntegerValue && target.size == this.size && (\n !signednessIsRelevant ||\n this.isSignedIntegerValue == target.isSignedIntegerValue\n );\n }\n return this.kind == target.kind;\n }\n\n /** Tests if this type has a subtype assignable to the target type. */\n hasSubtypeAssignableTo(target: Type): bool {\n let thisClass = this.getClass();\n let targetClass = target.getClass();\n if (!thisClass || !targetClass) return false; // TODO: what about basic types?\n return thisClass.hasSubclassAssignableTo(targetClass);\n }\n\n /** Tests if a value of this type can be changed to the target type using `changetype`. */\n isChangeableTo(target: Type): bool {\n // special in that it allows integer references as well\n if (this.is(TypeFlags.Integer) && target.is(TypeFlags.Integer)) {\n let size = this.size;\n return size == target.size && (\n size >= 32 ||\n this.is(TypeFlags.Signed) == target.is(TypeFlags.Signed)\n );\n }\n return this.kind == target.kind;\n }\n\n /** Tests if this type can extend or implement the given type. */\n canExtendOrImplement(base: Type): bool {\n // Both must be class types\n let thisClass = this.getClass();\n let baseClass = base.getClass();\n if (!thisClass || !baseClass) return false;\n // Both types must be either managed or unmanaged\n if (this.isManaged != base.isManaged) return false;\n // Both types must be either internal or external references\n if (this.isInternalReference) {\n if (!base.isInternalReference) return false;\n } else if (this.isExternalReference) {\n if (!base.isExternalReference) return false;\n } else {\n return false;\n }\n return true;\n }\n\n /** Computes the common type of a binary-like expression, if any. */\n static commonType(\n /** LHS type. */\n left: Type,\n /** RHS type. */\n right: Type,\n /** Contextual type, if any. */\n contextualType: Type = Type.auto,\n /** Whether signedness is relevant. */\n signednessIsRelevant: bool = false\n ): Type | null {\n // Compute LUB of internal reference types (classes)\n if (left.isInternalReference) {\n if (!right.isInternalReference) return null;\n // Prefer contextual type if meaningful\n if (contextualType != Type.void && left.isAssignableTo(contextualType) && right.isAssignableTo(contextualType)) {\n return contextualType;\n }\n let leftClass = left.getClass();\n let rightClass = right.getClass();\n if (leftClass && rightClass) {\n let lubClass = Class.leastUpperBound(leftClass, rightClass);\n if (lubClass) {\n let ret = left.is(TypeFlags.Nullable) || right.is(TypeFlags.Nullable) ? lubClass.type.asNullable() : lubClass.type;\n return ret;\n }\n }\n } else if (right.isInternalReference) {\n return null;\n }\n // TODO: External reference types (needs nullability)\n // Otherwise do a trivial check\n if (right.isAssignableTo(left, signednessIsRelevant)) return left;\n else if (left.isAssignableTo(right, signednessIsRelevant)) return right;\n return null;\n }\n\n /** Converts this type's kind to a string. */\n kindToString(): string {\n switch (this.kind) {\n case TypeKind.Bool: return CommonNames.bool;\n case TypeKind.I8: return CommonNames.i8;\n case TypeKind.I16: return CommonNames.i16;\n case TypeKind.I32: return CommonNames.i32;\n case TypeKind.I64: return CommonNames.i64;\n case TypeKind.Isize: return CommonNames.isize;\n case TypeKind.U8: return CommonNames.u8;\n case TypeKind.U16: return CommonNames.u16;\n case TypeKind.U32: return CommonNames.u32;\n case TypeKind.U64: return CommonNames.u64;\n case TypeKind.Usize: return CommonNames.usize;\n case TypeKind.F32: return CommonNames.f32;\n case TypeKind.F64: return CommonNames.f64;\n case TypeKind.V128: return CommonNames.v128;\n case TypeKind.Func: return CommonNames.ref_func;\n case TypeKind.Extern: return CommonNames.ref_extern;\n case TypeKind.Any: return CommonNames.ref_any;\n case TypeKind.Eq: return CommonNames.ref_eq;\n case TypeKind.Struct: return CommonNames.ref_struct;\n case TypeKind.Array: return CommonNames.ref_array;\n case TypeKind.I31: return CommonNames.ref_i31;\n case TypeKind.String: return CommonNames.ref_string;\n case TypeKind.StringviewWTF8: return CommonNames.ref_stringview_wtf8;\n case TypeKind.StringviewWTF16: return CommonNames.ref_stringview_wtf16;\n case TypeKind.StringviewIter: return CommonNames.ref_stringview_iter;\n default: assert(false);\n case TypeKind.Void: return CommonNames.void_;\n }\n }\n\n /** Converts this type to a string. */\n toString(validWat: bool = false): string {\n const nullablePostfix = validWat ? \"|null\" : \" | null\";\n if (this.isReference) {\n let classReference = this.getClass();\n if (classReference) {\n return this.isNullableReference\n ? classReference.internalName + nullablePostfix\n : classReference.internalName;\n } else {\n let signatureReference = this.getSignature();\n if (signatureReference) {\n return this.isNullableReference\n ? `(${signatureReference.toString(validWat)})${nullablePostfix}`\n : signatureReference.toString(validWat);\n } else {\n return this.isNullableReference\n ? `${this.kindToString()}${nullablePostfix}`\n : this.kindToString();\n }\n }\n }\n return this.kindToString();\n }\n\n // Binaryen specific\n\n /** Converts this type to its respective type reference. */\n toRef(): TypeRef {\n switch (this.kind) {\n case TypeKind.Bool:\n case TypeKind.I8:\n case TypeKind.I16:\n case TypeKind.I32:\n case TypeKind.U8:\n case TypeKind.U16:\n case TypeKind.U32: return TypeRef.I32;\n case TypeKind.Isize:\n case TypeKind.Usize: if (this.size != 64) return TypeRef.I32;\n case TypeKind.I64:\n case TypeKind.U64: return TypeRef.I64;\n case TypeKind.F32: return TypeRef.F32;\n case TypeKind.F64: return TypeRef.F64;\n case TypeKind.V128: return TypeRef.V128;\n case TypeKind.Func: {\n return binaryen._BinaryenTypeFromHeapType(HeapTypeRef.Func, this.is(TypeFlags.Nullable));\n }\n case TypeKind.Extern: {\n return binaryen._BinaryenTypeFromHeapType(HeapTypeRef.Extern, this.is(TypeFlags.Nullable));\n }\n case TypeKind.Any: {\n return binaryen._BinaryenTypeFromHeapType(HeapTypeRef.Any, this.is(TypeFlags.Nullable));\n }\n case TypeKind.Eq: {\n return binaryen._BinaryenTypeFromHeapType(HeapTypeRef.Eq, this.is(TypeFlags.Nullable));\n }\n case TypeKind.Struct: {\n return binaryen._BinaryenTypeFromHeapType(HeapTypeRef.Struct, this.is(TypeFlags.Nullable));\n }\n case TypeKind.Array: {\n return binaryen._BinaryenTypeFromHeapType(HeapTypeRef.Array, this.is(TypeFlags.Nullable));\n }\n case TypeKind.I31: {\n return binaryen._BinaryenTypeFromHeapType(HeapTypeRef.I31, this.is(TypeFlags.Nullable));\n }\n case TypeKind.String: {\n return binaryen._BinaryenTypeFromHeapType(HeapTypeRef.String, this.is(TypeFlags.Nullable));\n }\n case TypeKind.StringviewWTF8: {\n return binaryen._BinaryenTypeFromHeapType(HeapTypeRef.StringviewWTF8, this.is(TypeFlags.Nullable));\n }\n case TypeKind.StringviewWTF16: {\n return binaryen._BinaryenTypeFromHeapType(HeapTypeRef.StringviewWTF16, this.is(TypeFlags.Nullable));\n }\n case TypeKind.StringviewIter: {\n return binaryen._BinaryenTypeFromHeapType(HeapTypeRef.StringviewIter, this.is(TypeFlags.Nullable));\n }\n case TypeKind.Void: return TypeRef.None;\n }\n // TODO: not used yet\n assert(false);\n return ensureType(this);\n }\n\n // Types\n\n /** An 8-bit signed integer. */\n static readonly i8: Type = new Type(TypeKind.I8,\n TypeFlags.Signed |\n TypeFlags.Short |\n TypeFlags.Integer |\n TypeFlags.Value, 8\n );\n\n /** A 16-bit signed integer. */\n static readonly i16: Type = new Type(TypeKind.I16,\n TypeFlags.Signed |\n TypeFlags.Short |\n TypeFlags.Integer |\n TypeFlags.Value, 16\n );\n\n /** A 32-bit signed integer. */\n static readonly i32: Type = new Type(TypeKind.I32,\n TypeFlags.Signed |\n TypeFlags.Integer |\n TypeFlags.Value, 32\n );\n\n /** A 64-bit signed integer. */\n static readonly i64: Type = new Type(TypeKind.I64,\n TypeFlags.Signed |\n TypeFlags.Long |\n TypeFlags.Integer |\n TypeFlags.Value, 64\n );\n\n /** A 32-bit signed size. WASM32 only. */\n static readonly isize32: Type = new Type(TypeKind.Isize,\n TypeFlags.Signed |\n TypeFlags.Integer |\n TypeFlags.Varying |\n TypeFlags.Value, 32\n );\n\n /** A 64-bit signed size. WASM64 only. */\n static readonly isize64: Type = new Type(TypeKind.Isize,\n TypeFlags.Signed |\n TypeFlags.Long |\n TypeFlags.Integer |\n TypeFlags.Varying |\n TypeFlags.Value, 64\n );\n\n /** An 8-bit unsigned integer. */\n static readonly u8: Type = new Type(TypeKind.U8,\n TypeFlags.Unsigned |\n TypeFlags.Short |\n TypeFlags.Integer |\n TypeFlags.Value, 8\n );\n\n /** A 16-bit unsigned integer. */\n static readonly u16: Type = new Type(TypeKind.U16,\n TypeFlags.Unsigned |\n TypeFlags.Short |\n TypeFlags.Integer |\n TypeFlags.Value, 16\n );\n\n /** A 32-bit unsigned integer. */\n static readonly u32: Type = new Type(TypeKind.U32,\n TypeFlags.Unsigned |\n TypeFlags.Integer |\n TypeFlags.Value, 32\n );\n\n /** A 64-bit unsigned integer. */\n static readonly u64: Type = new Type(TypeKind.U64,\n TypeFlags.Unsigned |\n TypeFlags.Long |\n TypeFlags.Integer |\n TypeFlags.Value, 64\n );\n\n /** A 32-bit unsigned size. WASM32 only. */\n static readonly usize32: Type = new Type(TypeKind.Usize,\n TypeFlags.Unsigned |\n TypeFlags.Integer |\n TypeFlags.Varying |\n TypeFlags.Value, 32\n );\n\n /** A 64-bit unsigned size. WASM64 only. */\n static readonly usize64: Type = new Type(TypeKind.Usize,\n TypeFlags.Unsigned |\n TypeFlags.Long |\n TypeFlags.Integer |\n TypeFlags.Varying |\n TypeFlags.Value, 64\n );\n\n /** A 1-bit unsigned integer. */\n static readonly bool: Type = new Type(TypeKind.Bool,\n TypeFlags.Unsigned |\n TypeFlags.Short |\n TypeFlags.Integer |\n TypeFlags.Value, 1\n );\n\n /** A 32-bit float. */\n static readonly f32: Type = new Type(TypeKind.F32,\n TypeFlags.Signed |\n TypeFlags.Float |\n TypeFlags.Value, 32\n );\n\n /** A 64-bit float. */\n static readonly f64: Type = new Type(TypeKind.F64,\n TypeFlags.Signed |\n TypeFlags.Long |\n TypeFlags.Float |\n TypeFlags.Value, 64\n );\n\n /** A 128-bit vector. */\n static readonly v128: Type = new Type(TypeKind.V128,\n TypeFlags.Vector |\n TypeFlags.Value, 128\n );\n\n /** Non-nullable function reference (`ref func`). */\n static readonly func: Type = new Type(TypeKind.Func,\n TypeFlags.External |\n TypeFlags.Reference, 0\n );\n\n /** Non-nullable external reference (`ref extern`). */\n static readonly extern: Type = new Type(TypeKind.Extern,\n TypeFlags.External |\n TypeFlags.Reference, 0\n );\n\n /** Non-nullable any reference (`ref any`). */\n static readonly any: Type = new Type(TypeKind.Any,\n TypeFlags.External |\n TypeFlags.Reference, 0\n );\n\n /** Non-nullable equatable reference (`ref eq`). */\n static readonly eq: Type = new Type(TypeKind.Eq,\n TypeFlags.External |\n TypeFlags.Reference, 0\n );\n\n /** Non-nullable struct reference (`ref struct`). */\n static readonly struct: Type = new Type(TypeKind.Struct,\n TypeFlags.External |\n TypeFlags.Reference, 0\n );\n\n /** Non-nullable array reference (`ref array`). */\n static readonly array: Type = new Type(TypeKind.Array,\n TypeFlags.External |\n TypeFlags.Reference, 0\n );\n\n /** Non-nullable 31-bit integer reference (`ref i31`). */\n static readonly i31: Type = new Type(TypeKind.I31,\n TypeFlags.External |\n TypeFlags.Reference, 0\n );\n\n /** Non-nullable string reference (`ref string`). */\n static readonly string: Type = new Type(TypeKind.String,\n TypeFlags.External |\n TypeFlags.Reference, 0\n );\n\n /** Non-nullable WTF8 string view reference (`ref stringview_wtf8`). */\n static readonly stringview_wtf8: Type = new Type(TypeKind.StringviewWTF8,\n TypeFlags.External |\n TypeFlags.Reference, 0\n );\n\n /** Non-nullable WTF16 string view reference (`ref stringview_wtf16`). */\n static readonly stringview_wtf16: Type = new Type(TypeKind.StringviewWTF16,\n TypeFlags.External |\n TypeFlags.Reference, 0\n );\n\n /** Non-nullable string iterator reference (`ref stringview_iter`). */\n static readonly stringview_iter: Type = new Type(TypeKind.StringviewIter,\n TypeFlags.External |\n TypeFlags.Reference, 0\n );\n\n /** No return type. */\n static readonly void: Type = new Type(TypeKind.Void, TypeFlags.None, 0);\n\n /** Alias of i32 indicating type inference of locals and globals with just an initializer. */\n static readonly auto: Type = new Type(Type.i32.kind, Type.i32.flags, Type.i32.size);\n}\n\n/** Converts an array of types to an array of type references. */\nexport function typesToRefs(types: Type[]): TypeRef[] {\n let numTypes = types.length;\n let ret = new Array(numTypes);\n for (let i = 0; i < numTypes; ++i) {\n unchecked(ret[i] = types[i].toRef());\n }\n return ret;\n}\n\n/** Converts an array of types to its combined string representation. */\nexport function typesToString(types: Type[]): string {\n let numTypes = types.length;\n if (!numTypes) return \"\";\n let sb = new Array(numTypes);\n for (let i = 0; i < numTypes; ++i) {\n unchecked(sb[i] = types[i].toString(true));\n }\n return sb.join(\",\");\n}\n\n/** Represents a fully resolved function signature. */\nexport class Signature {\n /** Construct a new signature. */\n public static create(\n /** The program that created this signature. */\n program: Program,\n /** Parameter types, if any, excluding `this`. */\n parameterTypes: Type[] = [],\n /** Return type. */\n returnType: Type = Type.void,\n /** This type, if an instance signature. */\n thisType: Type | null = null,\n /** Number of required parameters excluding `this`. Other parameters are considered optional. */\n requiredParameters: i32 = parameterTypes ? parameterTypes.length : 0,\n /** Whether the last parameter is a rest parameter. */\n hasRest: bool = false,\n ): Signature {\n // get the usize type, and the type of the signature\n let usizeType = program.options.usizeType;\n let type = new Type(\n usizeType.kind,\n usizeType.flags & ~TypeFlags.Value | TypeFlags.Reference,\n usizeType.size\n );\n\n // calculate the properties\n let signatureTypes = program.uniqueSignatures;\n let nextId = program.nextSignatureId;\n \n // construct the signature and calculate it's unique key\n let signature = new Signature(program, parameterTypes, returnType, thisType, requiredParameters, hasRest, nextId, type);\n let uniqueKey = signature.toString();\n\n // check if it exists, and return it\n if (signatureTypes.has(uniqueKey)) {\n let existing = assert(signatureTypes.get(uniqueKey));\n assert(signature.equals(existing));\n return existing;\n }\n\n // otherwise increment the program's signature id, set the signature reference of the type, and memoize the signature\n program.nextSignatureId = nextId + 1;\n type.signatureReference = signature;\n signatureTypes.set(uniqueKey, signature);\n return signature;\n }\n\n /** Constructs a new signature. */\n private constructor(\n /** The program that created this signature. */\n public readonly program: Program,\n /** Parameter types, if any, excluding `this`. */\n public readonly parameterTypes: Type[],\n /** Return type. */\n public readonly returnType: Type,\n /** This type, if an instance signature. */\n public readonly thisType: Type | null,\n /** Number of required parameters excluding `this`. Other parameters are considered optional. */\n public readonly requiredParameters: i32,\n /** Whether the last parameter is a rest parameter. */\n public readonly hasRest: bool,\n /** Unique id representing this signature. */\n public readonly id: u32,\n /** Respective function type. */\n public readonly type: Type,\n ) {}\n\n get paramRefs(): TypeRef {\n let thisType = this.thisType;\n let parameterTypes = this.parameterTypes;\n let numParameterTypes = parameterTypes.length;\n if (!numParameterTypes) {\n return thisType ? thisType.toRef() : TypeRef.None;\n }\n if (thisType) {\n let typeRefs = new Array(1 + numParameterTypes);\n unchecked(typeRefs[0] = thisType.toRef());\n for (let i = 0; i < numParameterTypes; ++i) {\n unchecked(typeRefs[i + 1] = parameterTypes[i].toRef());\n }\n return createType(typeRefs);\n }\n return createType(typesToRefs(parameterTypes));\n }\n\n get resultRefs(): TypeRef {\n return this.returnType.toRef();\n }\n\n /** Tests if this signature equals the specified. */\n equals(other: Signature): bool {\n\n // check `this` type\n let thisThisType = this.thisType;\n let otherThisType = other.thisType;\n if (thisThisType) {\n if (!otherThisType || !thisThisType.equals(otherThisType)) return false;\n } else if (otherThisType) {\n return false;\n }\n\n // check rest parameter\n if (this.hasRest != other.hasRest) return false;\n\n // check return type\n if (!this.returnType.equals(other.returnType)) return false;\n\n // check parameter types\n let selfParameterTypes = this.parameterTypes;\n let otherParameterTypes = other.parameterTypes;\n let numParameters = selfParameterTypes.length;\n if (numParameters != otherParameterTypes.length) return false;\n\n for (let i = 0; i < numParameters; ++i) {\n let selfParameterType = unchecked(selfParameterTypes[i]);\n let otherParameterType = unchecked(otherParameterTypes[i]);\n if (!selfParameterType.equals(otherParameterType)) return false;\n }\n return true;\n }\n\n /** Tests if a value of this function type is assignable to a target of the specified function type. */\n isAssignableTo(target: Signature, checkCompatibleOverride: bool = false): bool {\n let thisThisType = this.thisType;\n let targetThisType = target.thisType;\n\n if (thisThisType && targetThisType) {\n const compatibleThisType = checkCompatibleOverride \n ? thisThisType.canExtendOrImplement(targetThisType)\n : targetThisType.isAssignableTo(thisThisType);\n if (!compatibleThisType) return false; \n } else if (thisThisType || targetThisType) {\n return false;\n }\n\n // check rest parameter\n if (this.hasRest != target.hasRest) return false; // TODO\n\n // check return type (covariant)\n let thisReturnType = this.returnType;\n let targetReturnType = target.returnType;\n if (!(thisReturnType == targetReturnType || thisReturnType.isAssignableTo(targetReturnType))) {\n return false;\n }\n // check parameter types (invariant)\n let thisParameterTypes = this.parameterTypes;\n let targetParameterTypes = target.parameterTypes;\n let numParameters = thisParameterTypes.length;\n if (numParameters != targetParameterTypes.length) return false; // TODO\n\n for (let i = 0; i < numParameters; ++i) {\n let thisParameterType = unchecked(thisParameterTypes[i]);\n let targetParameterType = unchecked(targetParameterTypes[i]);\n if (thisParameterType != targetParameterType) return false;\n }\n return true;\n }\n\n /** Tests if this signature has at least one managed operand. */\n get hasManagedOperands(): bool {\n let thisType = this.thisType;\n if (thisType && thisType.isManaged) {\n return true;\n }\n let parameterTypes = this.parameterTypes;\n for (let i = 0, k = parameterTypes.length; i < k; ++i) {\n if (unchecked(parameterTypes[i]).isManaged) return true;\n }\n return false;\n }\n\n /** Gets the indices of all managed operands. */\n getManagedOperandIndices(): i32[] {\n let indices = new Array();\n let index = 0;\n let thisType = this.thisType;\n if (thisType) {\n if (thisType.isManaged) indices.push(index);\n ++index;\n }\n let parameterTypes = this.parameterTypes;\n for (let i = 0, k = parameterTypes.length; i < k; ++i) {\n if (unchecked(parameterTypes[i]).isManaged) {\n indices.push(index);\n }\n ++index;\n }\n return indices;\n }\n\n /** Tests if this signature has at least one v128 operand. */\n get hasVectorValueOperands(): bool {\n let thisType = this.thisType;\n if (thisType && thisType.isVectorValue) {\n return true;\n }\n let parameterTypes = this.parameterTypes;\n for (let i = 0, k = parameterTypes.length; i < k; ++i) {\n if (unchecked(parameterTypes[i]).isVectorValue) return true;\n }\n return false;\n }\n\n /** Gets the indices of all v128 operands. */\n getVectorValueOperandIndices(): i32[] {\n let indices = new Array();\n let index = 0;\n let thisType = this.thisType;\n if (thisType) {\n if (thisType.isVectorValue) indices.push(index);\n ++index;\n }\n let parameterTypes = this.parameterTypes;\n for (let i = 0, k = parameterTypes.length; i < k; ++i) {\n if (unchecked(parameterTypes[i]).isVectorValue) {\n indices.push(index);\n }\n ++index;\n }\n return indices;\n }\n\n /** Converts this signature to a string. */\n toString(validWat: bool = false): string {\n let sb = new Array();\n sb.push(validWat ? \"%28\" : \"(\");\n let index = 0;\n let thisType = this.thisType;\n if (thisType) {\n sb.push(validWat ? \"this:\" : \"this: \");\n sb.push(thisType.toString(validWat));\n index = 1;\n }\n let parameters = this.parameterTypes;\n let numParameters = parameters.length;\n if (numParameters) {\n let optionalStart = this.requiredParameters;\n let restIndex = this.hasRest ? numParameters - 1 : -1;\n for (let i = 0; i < numParameters; ++i, ++index) {\n if (index) sb.push(validWat ? \"%2C\" : \", \");\n if (i == restIndex) sb.push(\"...\");\n sb.push(parameters[i].toString(validWat));\n if (i >= optionalStart && i != restIndex) sb.push(\"?\");\n }\n }\n sb.push(validWat ? \"%29=>\" : \") => \");\n sb.push(this.returnType.toString(validWat));\n return sb.join(\"\");\n }\n\n /** Creates a clone of this signature that is safe to modify. */\n clone(requiredParameters: i32 = this.requiredParameters, hasRest: bool = this.hasRest): Signature {\n let parameterTypes = this.parameterTypes;\n let numParameterTypes = parameterTypes.length;\n let cloneParameterTypes = new Array(numParameterTypes);\n for (let i = 0; i < numParameterTypes; ++i) {\n unchecked(cloneParameterTypes[i] = parameterTypes[i]);\n }\n return Signature.create(\n this.program,\n cloneParameterTypes,\n this.returnType,\n this.thisType,\n requiredParameters,\n hasRest\n );\n }\n}\n", "/**\n * @fileoverview Built-in elements providing core WebAssembly functionality.\n *\n * Each builtin is linked to its definition in std/assembly/builtins.ts.\n * When its prototype is called, the compiler recognizes the `@builtin`\n * decorator, looks up the respective handler in the global builtins map\n * and executes it, with the handler directly emitting WebAssembly code\n * according to context.\n *\n * Builtins can be categorized into core builtins that typically are generic\n * and emit code directly and aliases calling core builtins with overridden\n * contexts. The latter is used by inline assembler aliases of WebAssembly\n * instructions, like `i64.load8_u` deferring to `load`.\n *\n * The `contextIsExact` modifier is used to force a specific instruction\n * family. A `i32.store8` deferring to `store` for example is\n * ambiguous in that the input can still be an i32 or an i64, leading to\n * either an `i32.store8` or an `i64.store8`, so `i32` is forced there.\n * This behavior is indicated by `from i32/i64` in the comments below.\n *\n * @license Apache-2.0\n */\n\n// TODO: Add builtins for `i32.add` etc. that do not have a core builtin.\n\nimport {\n Compiler,\n Constraints,\n RuntimeFeatures,\n UncheckedBehavior\n} from \"./compiler\";\n\nimport {\n DiagnosticCode,\n DiagnosticCategory\n} from \"./diagnostics\";\n\nimport {\n Expression,\n LiteralKind,\n StringLiteralExpression,\n CallExpression,\n NodeKind,\n LiteralExpression,\n ArrayLiteralExpression,\n IdentifierExpression\n} from \"./ast\";\n\nimport {\n Type,\n TypeKind,\n TypeFlags\n} from \"./types\";\n\nimport {\n BinaryOp,\n UnaryOp,\n AtomicRMWOp,\n SIMDExtractOp,\n SIMDReplaceOp,\n SIMDShiftOp,\n SIMDTernaryOp,\n SIMDLoadOp,\n SIMDLoadStoreLaneOp,\n TypeRef,\n ExpressionRef,\n ExpressionId,\n getExpressionId,\n getExpressionType,\n getConstValueI64High,\n getConstValueI64Low,\n getConstValueI32,\n getConstValueF32,\n getConstValueF64,\n getLocalGetIndex,\n createType,\n ExpressionRunnerFlags,\n mustPreserveSideEffects\n} from \"./module\";\n\nimport {\n ElementKind,\n FunctionPrototype,\n Global,\n DecoratorFlags,\n Class,\n PropertyPrototype,\n VariableLikeElement\n} from \"./program\";\n\nimport {\n FlowFlags,\n LocalFlags\n} from \"./flow\";\n\nimport {\n ReportMode\n} from \"./resolver\";\n\nimport {\n CommonFlags,\n Feature,\n featureToString,\n TypeinfoFlags\n} from \"./common\";\n\nimport {\n writeI8,\n writeI16,\n writeI32,\n writeF32,\n writeF64,\n isPowerOf2\n} from \"./util\";\n\n/** Internal names of various compiler built-ins. */\nexport namespace BuiltinNames {\n\n // compiler-generated\n export const start = \"~start\";\n export const started = \"~started\";\n export const argumentsLength = \"~argumentsLength\";\n export const setArgumentsLength = \"~setArgumentsLength\";\n\n // std/builtins.ts\n export const abort = \"~lib/builtins/abort\";\n export const trace = \"~lib/builtins/trace\";\n export const seed = \"~lib/builtins/seed\";\n\n export const isBoolean = \"~lib/builtins/isBoolean\";\n export const isInteger = \"~lib/builtins/isInteger\";\n export const isSigned = \"~lib/builtins/isSigned\";\n export const isFloat = \"~lib/builtins/isFloat\";\n export const isVector = \"~lib/builtins/isVector\";\n export const isReference = \"~lib/builtins/isReference\";\n export const isString = \"~lib/builtins/isString\";\n export const isArray = \"~lib/builtins/isArray\";\n export const isArrayLike = \"~lib/builtins/isArrayLike\";\n export const isFunction = \"~lib/builtins/isFunction\";\n export const isNullable = \"~lib/builtins/isNullable\";\n export const isDefined = \"~lib/builtins/isDefined\";\n export const isConstant = \"~lib/builtins/isConstant\";\n export const isManaged = \"~lib/builtins/isManaged\";\n export const isVoid = \"~lib/builtins/isVoid\";\n\n export const add = \"~lib/builtins/add\";\n export const sub = \"~lib/builtins/sub\";\n export const mul = \"~lib/builtins/mul\";\n export const div = \"~lib/builtins/div\";\n export const clz = \"~lib/builtins/clz\";\n export const ctz = \"~lib/builtins/ctz\";\n export const popcnt = \"~lib/builtins/popcnt\";\n export const rotl = \"~lib/builtins/rotl\";\n export const rotr = \"~lib/builtins/rotr\";\n export const abs = \"~lib/builtins/abs\";\n export const max = \"~lib/builtins/max\";\n export const min = \"~lib/builtins/min\";\n export const ceil = \"~lib/builtins/ceil\";\n export const floor = \"~lib/builtins/floor\";\n export const copysign = \"~lib/builtins/copysign\";\n export const nearest = \"~lib/builtins/nearest\";\n export const reinterpret = \"~lib/builtins/reinterpret\";\n export const sqrt = \"~lib/builtins/sqrt\";\n export const trunc = \"~lib/builtins/trunc\";\n export const eq = \"~lib/builtins/eq\";\n export const ne = \"~lib/builtins/ne\";\n export const rem = \"~lib/builtins/rem\";\n export const load = \"~lib/builtins/load\";\n export const store = \"~lib/builtins/store\";\n export const atomic_load = \"~lib/builtins/atomic.load\";\n export const atomic_store = \"~lib/builtins/atomic.store\";\n export const atomic_add = \"~lib/builtins/atomic.add\";\n export const atomic_sub = \"~lib/builtins/atomic.sub\";\n export const atomic_and = \"~lib/builtins/atomic.and\";\n export const atomic_or = \"~lib/builtins/atomic.or\";\n export const atomic_xor = \"~lib/builtins/atomic.xor\";\n export const atomic_xchg = \"~lib/builtins/atomic.xchg\";\n export const atomic_cmpxchg = \"~lib/builtins/atomic.cmpxchg\";\n export const atomic_wait = \"~lib/builtins/atomic.wait\";\n export const atomic_notify = \"~lib/builtins/atomic.notify\";\n export const atomic_fence = \"~lib/builtins/atomic.fence\";\n\n export const sizeof = \"~lib/builtins/sizeof\";\n export const alignof = \"~lib/builtins/alignof\";\n export const offsetof = \"~lib/builtins/offsetof\";\n export const nameof = \"~lib/builtins/nameof\";\n export const lengthof = \"~lib/builtins/lengthof\";\n export const select = \"~lib/builtins/select\";\n export const unreachable = \"~lib/builtins/unreachable\";\n export const changetype = \"~lib/builtins/changetype\";\n export const assert = \"~lib/builtins/assert\";\n export const call_indirect = \"~lib/builtins/call_indirect\";\n export const unchecked = \"~lib/builtins/unchecked\";\n export const instantiate = \"~lib/builtins/instantiate\";\n export const idof = \"~lib/builtins/idof\";\n\n export const i8 = \"~lib/builtins/i8\";\n export const i16 = \"~lib/builtins/i16\";\n export const i32 = \"~lib/builtins/i32\";\n export const i64 = \"~lib/builtins/i64\";\n export const isize = \"~lib/builtins/isize\";\n export const u8 = \"~lib/builtins/u8\";\n export const u16 = \"~lib/builtins/u16\";\n export const u32 = \"~lib/builtins/u32\";\n export const u64 = \"~lib/builtins/u64\";\n export const usize = \"~lib/builtins/usize\";\n export const bool = \"~lib/builtins/bool\";\n export const f32 = \"~lib/builtins/f32\";\n export const f64 = \"~lib/builtins/f64\";\n export const v128 = \"~lib/builtins/v128\";\n\n export const i32_clz = \"~lib/builtins/i32.clz\";\n export const i64_clz = \"~lib/builtins/i64.clz\";\n export const i32_ctz = \"~lib/builtins/i32.ctz\";\n export const i64_ctz = \"~lib/builtins/i64.ctz\";\n export const i32_popcnt = \"~lib/builtins/i32.popcnt\";\n export const i64_popcnt = \"~lib/builtins/i64.popcnt\";\n export const i32_rotl = \"~lib/builtins/i32.rotl\";\n export const i64_rotl = \"~lib/builtins/i64.rotl\";\n export const i32_rotr = \"~lib/builtins/i32.rotr\";\n export const i64_rotr = \"~lib/builtins/i64.rotr\";\n\n export const f32_abs = \"~lib/builtins/f32.abs\";\n export const f64_abs = \"~lib/builtins/f64.abs\";\n export const f32_max = \"~lib/builtins/f32.max\";\n export const f64_max = \"~lib/builtins/f64.max\";\n export const f32_min = \"~lib/builtins/f32.min\";\n export const f64_min = \"~lib/builtins/f64.min\";\n export const f32_ceil = \"~lib/builtins/f32.ceil\";\n export const f64_ceil = \"~lib/builtins/f64.ceil\";\n export const f32_floor = \"~lib/builtins/f32.floor\";\n export const f64_floor = \"~lib/builtins/f64.floor\";\n export const f32_copysign = \"~lib/builtins/f32.copysign\";\n export const f64_copysign = \"~lib/builtins/f64.copysign\";\n export const f32_nearest = \"~lib/builtins/f32.nearest\";\n export const f64_nearest = \"~lib/builtins/f64.nearest\";\n export const i32_reinterpret_f32 = \"~lib/builtins/i32.reinterpret_f32\";\n export const i64_reinterpret_f64 = \"~lib/builtins/i64.reinterpret_f64\";\n export const f32_reinterpret_i32 = \"~lib/builtins/f32.reinterpret_i32\";\n export const f64_reinterpret_i64 = \"~lib/builtins/f64.reinterpret_i64\";\n export const f32_sqrt = \"~lib/builtins/f32.sqrt\";\n export const f64_sqrt = \"~lib/builtins/f64.sqrt\";\n export const f32_trunc = \"~lib/builtins/f32.trunc\";\n export const f64_trunc = \"~lib/builtins/f64.trunc\";\n\n export const i32_add = \"~lib/builtins/i32.add\";\n export const i64_add = \"~lib/builtins/i64.add\";\n export const f32_add = \"~lib/builtins/f32.add\";\n export const f64_add = \"~lib/builtins/f64.add\";\n export const i32_sub = \"~lib/builtins/i32.sub\";\n export const i64_sub = \"~lib/builtins/i64.sub\";\n export const f32_sub = \"~lib/builtins/f32.sub\";\n export const f64_sub = \"~lib/builtins/f64.sub\";\n export const i32_mul = \"~lib/builtins/i32.mul\";\n export const i64_mul = \"~lib/builtins/i64.mul\";\n export const f32_mul = \"~lib/builtins/f32.mul\";\n export const f64_mul = \"~lib/builtins/f64.mul\";\n export const i32_div_s = \"~lib/builtins/i32.div_s\";\n export const i32_div_u = \"~lib/builtins/i32.div_u\";\n export const i64_div_s = \"~lib/builtins/i64.div_s\";\n export const i64_div_u = \"~lib/builtins/i64.div_u\";\n export const f32_div = \"~lib/builtins/f32.div\";\n export const f64_div = \"~lib/builtins/f64.div\";\n\n export const i32_eq = \"~lib/builtins/i32.eq\";\n export const i64_eq = \"~lib/builtins/i64.eq\";\n export const f32_eq = \"~lib/builtins/f32.eq\";\n export const f64_eq = \"~lib/builtins/f64.eq\";\n export const i32_ne = \"~lib/builtins/i32.ne\";\n export const i64_ne = \"~lib/builtins/i64.ne\";\n export const f32_ne = \"~lib/builtins/f32.ne\";\n export const f64_ne = \"~lib/builtins/f64.ne\";\n\n export const i32_rem_s = \"~lib/builtins/i32.rem_s\";\n export const i32_rem_u = \"~lib/builtins/i32.rem_u\";\n export const i64_rem_s = \"~lib/builtins/i64.rem_s\";\n export const i64_rem_u = \"~lib/builtins/i64.rem_u\";\n\n export const i32_load8_s = \"~lib/builtins/i32.load8_s\";\n export const i32_load8_u = \"~lib/builtins/i32.load8_u\";\n export const i32_load16_s = \"~lib/builtins/i32.load16_s\";\n export const i32_load16_u = \"~lib/builtins/i32.load16_u\";\n export const i32_load = \"~lib/builtins/i32.load\";\n export const i64_load8_s = \"~lib/builtins/i64.load8_s\";\n export const i64_load8_u = \"~lib/builtins/i64.load8_u\";\n export const i64_load16_s = \"~lib/builtins/i64.load16_s\";\n export const i64_load16_u = \"~lib/builtins/i64.load16_u\";\n export const i64_load32_s = \"~lib/builtins/i64.load32_s\";\n export const i64_load32_u = \"~lib/builtins/i64.load32_u\";\n export const i64_load = \"~lib/builtins/i64.load\";\n export const f32_load = \"~lib/builtins/f32.load\";\n export const f64_load = \"~lib/builtins/f64.load\";\n export const i32_store8 = \"~lib/builtins/i32.store8\";\n export const i32_store16 = \"~lib/builtins/i32.store16\";\n export const i32_store = \"~lib/builtins/i32.store\";\n export const i64_store8 = \"~lib/builtins/i64.store8\";\n export const i64_store16 = \"~lib/builtins/i64.store16\";\n export const i64_store32 = \"~lib/builtins/i64.store32\";\n export const i64_store = \"~lib/builtins/i64.store\";\n export const f32_store = \"~lib/builtins/f32.store\";\n export const f64_store = \"~lib/builtins/f64.store\";\n\n export const i32_atomic_load8_u = \"~lib/builtins/i32.atomic.load8_u\";\n export const i32_atomic_load16_u = \"~lib/builtins/i32.atomic.load16_u\";\n export const i32_atomic_load = \"~lib/builtins/i32.atomic.load\";\n export const i64_atomic_load8_u = \"~lib/builtins/i64.atomic.load8_u\";\n export const i64_atomic_load16_u = \"~lib/builtins/i64.atomic.load16_u\";\n export const i64_atomic_load32_u = \"~lib/builtins/i64.atomic.load32_u\";\n export const i64_atomic_load = \"~lib/builtins/i64.atomic.load\";\n export const i32_atomic_store8 = \"~lib/builtins/i32.atomic.store8\";\n export const i32_atomic_store16 = \"~lib/builtins/i32.atomic.store16\";\n export const i32_atomic_store = \"~lib/builtins/i32.atomic.store\";\n export const i64_atomic_store8 = \"~lib/builtins/i64.atomic.store8\";\n export const i64_atomic_store16 = \"~lib/builtins/i64.atomic.store16\";\n export const i64_atomic_store32 = \"~lib/builtins/i64.atomic.store32\";\n export const i64_atomic_store = \"~lib/builtins/i64.atomic.store\";\n export const i32_atomic_rmw8_add_u = \"~lib/builtins/i32.atomic.rmw8.add_u\";\n export const i32_atomic_rmw16_add_u = \"~lib/builtins/i32.atomic.rmw16.add_u\";\n export const i32_atomic_rmw_add = \"~lib/builtins/i32.atomic.rmw.add\";\n export const i64_atomic_rmw8_add_u = \"~lib/builtins/i64.atomic.rmw8.add_u\";\n export const i64_atomic_rmw16_add_u = \"~lib/builtins/i64.atomic.rmw16.add_u\";\n export const i64_atomic_rmw32_add_u = \"~lib/builtins/i64.atomic.rmw32.add_u\";\n export const i64_atomic_rmw_add = \"~lib/builtins/i64.atomic.rmw.add\";\n export const i32_atomic_rmw8_sub_u = \"~lib/builtins/i32.atomic.rmw8.sub_u\";\n export const i32_atomic_rmw16_sub_u = \"~lib/builtins/i32.atomic.rmw16.sub_u\";\n export const i32_atomic_rmw_sub = \"~lib/builtins/i32.atomic.rmw.sub\";\n export const i64_atomic_rmw8_sub_u = \"~lib/builtins/i64.atomic.rmw8.sub_u\";\n export const i64_atomic_rmw16_sub_u = \"~lib/builtins/i64.atomic.rmw16.sub_u\";\n export const i64_atomic_rmw32_sub_u = \"~lib/builtins/i64.atomic.rmw32.sub_u\";\n export const i64_atomic_rmw_sub = \"~lib/builtins/i64.atomic.rmw.sub\";\n export const i32_atomic_rmw8_and_u = \"~lib/builtins/i32.atomic.rmw8.and_u\";\n export const i32_atomic_rmw16_and_u = \"~lib/builtins/i32.atomic.rmw16.and_u\";\n export const i32_atomic_rmw_and = \"~lib/builtins/i32.atomic.rmw.and\";\n export const i64_atomic_rmw8_and_u = \"~lib/builtins/i64.atomic.rmw8.and_u\";\n export const i64_atomic_rmw16_and_u = \"~lib/builtins/i64.atomic.rmw16.and_u\";\n export const i64_atomic_rmw32_and_u = \"~lib/builtins/i64.atomic.rmw32.and_u\";\n export const i64_atomic_rmw_and = \"~lib/builtins/i64.atomic.rmw.and\";\n export const i32_atomic_rmw8_or_u = \"~lib/builtins/i32.atomic.rmw8.or_u\";\n export const i32_atomic_rmw16_or_u = \"~lib/builtins/i32.atomic.rmw16.or_u\";\n export const i32_atomic_rmw_or = \"~lib/builtins/i32.atomic.rmw.or\";\n export const i64_atomic_rmw8_or_u = \"~lib/builtins/i64.atomic.rmw8.or_u\";\n export const i64_atomic_rmw16_or_u = \"~lib/builtins/i64.atomic.rmw16.or_u\";\n export const i64_atomic_rmw32_or_u = \"~lib/builtins/i64.atomic.rmw32.or_u\";\n export const i64_atomic_rmw_or = \"~lib/builtins/i64.atomic.rmw.or\";\n export const i32_atomic_rmw8_xor_u = \"~lib/builtins/i32.atomic.rmw8.xor_u\";\n export const i32_atomic_rmw16_xor_u = \"~lib/builtins/i32.atomic.rmw16.xor_u\";\n export const i32_atomic_rmw_xor = \"~lib/builtins/i32.atomic.rmw.xor\";\n export const i64_atomic_rmw8_xor_u = \"~lib/builtins/i64.atomic.rmw8.xor_u\";\n export const i64_atomic_rmw16_xor_u = \"~lib/builtins/i64.atomic.rmw16.xor_u\";\n export const i64_atomic_rmw32_xor_u = \"~lib/builtins/i64.atomic.rmw32.xor_u\";\n export const i64_atomic_rmw_xor = \"~lib/builtins/i64.atomic.rmw.xor\";\n export const i32_atomic_rmw8_xchg_u = \"~lib/builtins/i32.atomic.rmw8.xchg_u\";\n export const i32_atomic_rmw16_xchg_u = \"~lib/builtins/i32.atomic.rmw16.xchg_u\";\n export const i32_atomic_rmw_xchg = \"~lib/builtins/i32.atomic.rmw.xchg\";\n export const i64_atomic_rmw8_xchg_u = \"~lib/builtins/i64.atomic.rmw8.xchg_u\";\n export const i64_atomic_rmw16_xchg_u = \"~lib/builtins/i64.atomic.rmw16.xchg_u\";\n export const i64_atomic_rmw32_xchg_u = \"~lib/builtins/i64.atomic.rmw32.xchg_u\";\n export const i64_atomic_rmw_xchg = \"~lib/builtins/i64.atomic.rmw.xchg\";\n export const i32_atomic_rmw8_cmpxchg_u = \"~lib/builtins/i32.atomic.rmw8.cmpxchg_u\";\n export const i32_atomic_rmw16_cmpxchg_u = \"~lib/builtins/i32.atomic.rmw16.cmpxchg_u\";\n export const i32_atomic_rmw_cmpxchg = \"~lib/builtins/i32.atomic.rmw.cmpxchg\";\n export const i64_atomic_rmw8_cmpxchg_u = \"~lib/builtins/i64.atomic.rmw8.cmpxchg_u\";\n export const i64_atomic_rmw16_cmpxchg_u = \"~lib/builtins/i64.atomic.rmw16.cmpxchg_u\";\n export const i64_atomic_rmw32_cmpxchg_u = \"~lib/builtins/i64.atomic.rmw32.cmpxchg_u\";\n export const i64_atomic_rmw_cmpxchg = \"~lib/builtins/i64.atomic.rmw.cmpxchg\";\n export const memory_atomic_wait32 = \"~lib/memory/memory.atomic.wait32\";\n export const memory_atomic_wait64 = \"~lib/memory/memory.atomic.wait64\";\n\n export const v128_splat = \"~lib/builtins/v128.splat\";\n export const v128_extract_lane = \"~lib/builtins/v128.extract_lane\";\n export const v128_replace_lane = \"~lib/builtins/v128.replace_lane\";\n export const v128_shuffle = \"~lib/builtins/v128.shuffle\";\n export const v128_swizzle = \"~lib/builtins/v128.swizzle\";\n export const v128_load_splat = \"~lib/builtins/v128.load_splat\";\n export const v128_load_ext = \"~lib/builtins/v128.load_ext\";\n export const v128_load_zero = \"~lib/builtins/v128.load_zero\";\n export const v128_load_lane = \"~lib/builtins/v128.load_lane\";\n export const v128_store_lane = \"~lib/builtins/v128.store_lane\";\n export const v128_load = \"~lib/builtins/v128.load\";\n export const v128_load8x8_s = \"~lib/builtins/v128.load8x8_s\";\n export const v128_load8x8_u = \"~lib/builtins/v128.load8x8_u\";\n export const v128_load16x4_s = \"~lib/builtins/v128.load16x4_s\";\n export const v128_load16x4_u = \"~lib/builtins/v128.load16x4_u\";\n export const v128_load32x2_s = \"~lib/builtins/v128.load32x2_s\";\n export const v128_load32x2_u = \"~lib/builtins/v128.load32x2_u\";\n export const v128_load8_splat = \"~lib/builtins/v128.load8_splat\";\n export const v128_load16_splat = \"~lib/builtins/v128.load16_splat\";\n export const v128_load32_splat = \"~lib/builtins/v128.load32_splat\";\n export const v128_load64_splat = \"~lib/builtins/v128.load64_splat\";\n export const v128_load32_zero = \"~lib/builtins/v128.load32_zero\";\n export const v128_load64_zero = \"~lib/builtins/v128.load64_zero\";\n export const v128_load8_lane = \"~lib/builtins/v128.load8_lane\";\n export const v128_load16_lane = \"~lib/builtins/v128.load16_lane\";\n export const v128_load32_lane = \"~lib/builtins/v128.load32_lane\";\n export const v128_load64_lane = \"~lib/builtins/v128.load64_lane\";\n export const v128_store8_lane = \"~lib/builtins/v128.store8_lane\";\n export const v128_store16_lane = \"~lib/builtins/v128.store16_lane\";\n export const v128_store32_lane = \"~lib/builtins/v128.store32_lane\";\n export const v128_store64_lane = \"~lib/builtins/v128.store64_lane\";\n export const v128_store = \"~lib/builtins/v128.store\";\n export const v128_add = \"~lib/builtins/v128.add\";\n export const v128_sub = \"~lib/builtins/v128.sub\";\n export const v128_mul = \"~lib/builtins/v128.mul\";\n export const v128_div = \"~lib/builtins/v128.div\";\n export const v128_neg = \"~lib/builtins/v128.neg\";\n export const v128_add_sat = \"~lib/builtins/v128.add_sat\";\n export const v128_sub_sat = \"~lib/builtins/v128.sub_sat\";\n export const v128_shl = \"~lib/builtins/v128.shl\";\n export const v128_shr = \"~lib/builtins/v128.shr\";\n export const v128_and = \"~lib/builtins/v128.and\";\n export const v128_or = \"~lib/builtins/v128.or\";\n export const v128_xor = \"~lib/builtins/v128.xor\";\n export const v128_andnot = \"~lib/builtins/v128.andnot\";\n export const v128_not = \"~lib/builtins/v128.not\";\n export const v128_bitselect = \"~lib/builtins/v128.bitselect\";\n export const v128_any_true = \"~lib/builtins/v128.any_true\";\n export const v128_all_true = \"~lib/builtins/v128.all_true\";\n export const v128_bitmask = \"~lib/builtins/v128.bitmask\";\n export const v128_popcnt = \"~lib/builtins/v128.popcnt\";\n export const v128_min = \"~lib/builtins/v128.min\";\n export const v128_max = \"~lib/builtins/v128.max\";\n export const v128_pmin = \"~lib/builtins/v128.pmin\";\n export const v128_pmax = \"~lib/builtins/v128.pmax\";\n export const v128_dot = \"~lib/builtins/v128.dot\";\n export const v128_avgr = \"~lib/builtins/v128.avgr\";\n export const v128_abs = \"~lib/builtins/v128.abs\";\n export const v128_sqrt = \"~lib/builtins/v128.sqrt\";\n export const v128_ceil = \"~lib/builtins/v128.ceil\";\n export const v128_floor = \"~lib/builtins/v128.floor\";\n export const v128_trunc = \"~lib/builtins/v128.trunc\";\n export const v128_nearest = \"~lib/builtins/v128.nearest\";\n export const v128_eq = \"~lib/builtins/v128.eq\";\n export const v128_ne = \"~lib/builtins/v128.ne\";\n export const v128_lt = \"~lib/builtins/v128.lt\";\n export const v128_le = \"~lib/builtins/v128.le\";\n export const v128_gt = \"~lib/builtins/v128.gt\";\n export const v128_ge = \"~lib/builtins/v128.ge\";\n export const v128_convert = \"~lib/builtins/v128.convert\";\n export const v128_convert_low = \"~lib/builtins/v128.convert_low\";\n export const v128_trunc_sat = \"~lib/builtins/v128.trunc_sat\";\n export const v128_trunc_sat_zero = \"~lib/builtins/v128.trunc_sat_zero\";\n export const v128_narrow = \"~lib/builtins/v128.narrow\";\n export const v128_extend_low = \"~lib/builtins/v128.extend_low\";\n export const v128_extend_high = \"~lib/builtins/v128.extend_high\";\n export const v128_extadd_pairwise = \"~lib/builtins/v128.extadd_pairwise\";\n export const v128_demote_zero = \"~lib/builtins/v128.demote_zero\";\n export const v128_promote_low = \"~lib/builtins/v128.promote_low\";\n export const v128_q15mulr_sat = \"~lib/builtins/v128.q15mulr_sat\";\n export const v128_extmul_low = \"~lib/builtins/v128.extmul_low\";\n export const v128_extmul_high = \"~lib/builtins/v128.extmul_high\";\n export const v128_relaxed_swizzle = \"~lib/builtins/v128.relaxed_swizzle\";\n export const v128_relaxed_trunc = \"~lib/builtins/v128.relaxed_trunc\";\n export const v128_relaxed_trunc_zero = \"~lib/builtins/v128.relaxed_trunc_zero\";\n export const v128_relaxed_madd = \"~lib/builtins/v128.relaxed_madd\";\n export const v128_relaxed_nmadd = \"~lib/builtins/v128.relaxed_nmadd\";\n export const v128_relaxed_laneselect = \"~lib/builtins/v128.relaxed_laneselect\";\n export const v128_relaxed_min = \"~lib/builtins/v128.relaxed_min\";\n export const v128_relaxed_max = \"~lib/builtins/v128.relaxed_max\";\n export const v128_relaxed_q15mulr = \"~lib/builtins/v128.relaxed_q15mulr\";\n export const v128_relaxed_dot = \"~lib/builtins/v128.relaxed_dot\";\n export const v128_relaxed_dot_add = \"~lib/builtins/v128.relaxed_dot_add\";\n\n export const i8x16 = \"~lib/builtins/i8x16\";\n export const i16x8 = \"~lib/builtins/i16x8\";\n export const i32x4 = \"~lib/builtins/i32x4\";\n export const i64x2 = \"~lib/builtins/i64x2\";\n export const f32x4 = \"~lib/builtins/f32x4\";\n export const f64x2 = \"~lib/builtins/f64x2\";\n\n export const i8x16_splat = \"~lib/builtins/i8x16.splat\";\n export const i8x16_extract_lane_s = \"~lib/builtins/i8x16.extract_lane_s\";\n export const i8x16_extract_lane_u = \"~lib/builtins/i8x16.extract_lane_u\";\n export const i8x16_replace_lane = \"~lib/builtins/i8x16.replace_lane\";\n export const i8x16_add = \"~lib/builtins/i8x16.add\";\n export const i8x16_sub = \"~lib/builtins/i8x16.sub\";\n export const i8x16_mul = \"~lib/builtins/i8x16.mul\";\n export const i8x16_min_s = \"~lib/builtins/i8x16.min_s\";\n export const i8x16_min_u = \"~lib/builtins/i8x16.min_u\";\n export const i8x16_max_s = \"~lib/builtins/i8x16.max_s\";\n export const i8x16_max_u = \"~lib/builtins/i8x16.max_u\";\n export const i8x16_avgr_u = \"~lib/builtins/i8x16.avgr_u\";\n export const i8x16_abs = \"~lib/builtins/i8x16.abs\";\n export const i8x16_neg = \"~lib/builtins/i8x16.neg\";\n export const i8x16_add_sat_s = \"~lib/builtins/i8x16.add_sat_s\";\n export const i8x16_add_sat_u = \"~lib/builtins/i8x16.add_sat_u\";\n export const i8x16_sub_sat_s = \"~lib/builtins/i8x16.sub_sat_s\";\n export const i8x16_sub_sat_u = \"~lib/builtins/i8x16.sub_sat_u\";\n export const i8x16_shl = \"~lib/builtins/i8x16.shl\";\n export const i8x16_shr_s = \"~lib/builtins/i8x16.shr_s\";\n export const i8x16_shr_u = \"~lib/builtins/i8x16.shr_u\";\n export const i8x16_all_true = \"~lib/builtins/i8x16.all_true\";\n export const i8x16_bitmask = \"~lib/builtins/i8x16.bitmask\";\n export const i8x16_popcnt = \"~lib/builtins/i8x16.popcnt\";\n export const i8x16_eq = \"~lib/builtins/i8x16.eq\";\n export const i8x16_ne = \"~lib/builtins/i8x16.ne\";\n export const i8x16_lt_s = \"~lib/builtins/i8x16.lt_s\";\n export const i8x16_lt_u = \"~lib/builtins/i8x16.lt_u\";\n export const i8x16_le_s = \"~lib/builtins/i8x16.le_s\";\n export const i8x16_le_u = \"~lib/builtins/i8x16.le_u\";\n export const i8x16_gt_s = \"~lib/builtins/i8x16.gt_s\";\n export const i8x16_gt_u = \"~lib/builtins/i8x16.gt_u\";\n export const i8x16_ge_s = \"~lib/builtins/i8x16.ge_s\";\n export const i8x16_ge_u = \"~lib/builtins/i8x16.ge_u\";\n export const i8x16_narrow_i16x8_s = \"~lib/builtins/i8x16.narrow_i16x8_s\";\n export const i8x16_narrow_i16x8_u = \"~lib/builtins/i8x16.narrow_i16x8_u\";\n export const i8x16_shuffle = \"~lib/builtins/i8x16.shuffle\";\n export const i8x16_swizzle = \"~lib/builtins/i8x16.swizzle\";\n\n export const i16x8_splat = \"~lib/builtins/i16x8.splat\";\n export const i16x8_extract_lane_s = \"~lib/builtins/i16x8.extract_lane_s\";\n export const i16x8_extract_lane_u = \"~lib/builtins/i16x8.extract_lane_u\";\n export const i16x8_replace_lane = \"~lib/builtins/i16x8.replace_lane\";\n export const i16x8_add = \"~lib/builtins/i16x8.add\";\n export const i16x8_sub = \"~lib/builtins/i16x8.sub\";\n export const i16x8_mul = \"~lib/builtins/i16x8.mul\";\n export const i16x8_min_s = \"~lib/builtins/i16x8.min_s\";\n export const i16x8_min_u = \"~lib/builtins/i16x8.min_u\";\n export const i16x8_max_s = \"~lib/builtins/i16x8.max_s\";\n export const i16x8_max_u = \"~lib/builtins/i16x8.max_u\";\n export const i16x8_avgr_u = \"~lib/builtins/i16x8.avgr_u\";\n export const i16x8_abs = \"~lib/builtins/i16x8.abs\";\n export const i16x8_neg = \"~lib/builtins/i16x8.neg\";\n export const i16x8_add_sat_s = \"~lib/builtins/i16x8.add_sat_s\";\n export const i16x8_add_sat_u = \"~lib/builtins/i16x8.add_sat_u\";\n export const i16x8_sub_sat_s = \"~lib/builtins/i16x8.sub_sat_s\";\n export const i16x8_sub_sat_u = \"~lib/builtins/i16x8.sub_sat_u\";\n export const i16x8_shl = \"~lib/builtins/i16x8.shl\";\n export const i16x8_shr_s = \"~lib/builtins/i16x8.shr_s\";\n export const i16x8_shr_u = \"~lib/builtins/i16x8.shr_u\";\n export const i16x8_all_true = \"~lib/builtins/i16x8.all_true\";\n export const i16x8_bitmask = \"~lib/builtins/i16x8.bitmask\";\n export const i16x8_eq = \"~lib/builtins/i16x8.eq\";\n export const i16x8_ne = \"~lib/builtins/i16x8.ne\";\n export const i16x8_lt_s = \"~lib/builtins/i16x8.lt_s\";\n export const i16x8_lt_u = \"~lib/builtins/i16x8.lt_u\";\n export const i16x8_le_s = \"~lib/builtins/i16x8.le_s\";\n export const i16x8_le_u = \"~lib/builtins/i16x8.le_u\";\n export const i16x8_gt_s = \"~lib/builtins/i16x8.gt_s\";\n export const i16x8_gt_u = \"~lib/builtins/i16x8.gt_u\";\n export const i16x8_ge_s = \"~lib/builtins/i16x8.ge_s\";\n export const i16x8_ge_u = \"~lib/builtins/i16x8.ge_u\";\n export const i16x8_narrow_i32x4_s = \"~lib/builtins/i16x8.narrow_i32x4_s\";\n export const i16x8_narrow_i32x4_u = \"~lib/builtins/i16x8.narrow_i32x4_u\";\n export const i16x8_extend_low_i8x16_s = \"~lib/builtins/i16x8.extend_low_i8x16_s\";\n export const i16x8_extend_low_i8x16_u = \"~lib/builtins/i16x8.extend_low_i8x16_u\";\n export const i16x8_extend_high_i8x16_s = \"~lib/builtins/i16x8.extend_high_i8x16_s\";\n export const i16x8_extend_high_i8x16_u = \"~lib/builtins/i16x8.extend_high_i8x16_u\";\n export const i16x8_extadd_pairwise_i8x16_s = \"~lib/builtins/i16x8.extadd_pairwise_i8x16_s\";\n export const i16x8_extadd_pairwise_i8x16_u = \"~lib/builtins/i16x8.extadd_pairwise_i8x16_u\";\n export const i16x8_q15mulr_sat_s = \"~lib/builtins/i16x8.q15mulr_sat_s\";\n export const i16x8_extmul_low_i8x16_s = \"~lib/builtins/i16x8.extmul_low_i8x16_s\";\n export const i16x8_extmul_low_i8x16_u = \"~lib/builtins/i16x8.extmul_low_i8x16_u\";\n export const i16x8_extmul_high_i8x16_s = \"~lib/builtins/i16x8.extmul_high_i8x16_s\";\n export const i16x8_extmul_high_i8x16_u = \"~lib/builtins/i16x8.extmul_high_i8x16_u\";\n export const i16x8_shuffle = \"~lib/builtins/i16x8.shuffle\";\n\n export const i32x4_splat = \"~lib/builtins/i32x4.splat\";\n export const i32x4_extract_lane = \"~lib/builtins/i32x4.extract_lane\";\n export const i32x4_replace_lane = \"~lib/builtins/i32x4.replace_lane\";\n export const i32x4_add = \"~lib/builtins/i32x4.add\";\n export const i32x4_sub = \"~lib/builtins/i32x4.sub\";\n export const i32x4_mul = \"~lib/builtins/i32x4.mul\";\n export const i32x4_min_s = \"~lib/builtins/i32x4.min_s\";\n export const i32x4_min_u = \"~lib/builtins/i32x4.min_u\";\n export const i32x4_max_s = \"~lib/builtins/i32x4.max_s\";\n export const i32x4_max_u = \"~lib/builtins/i32x4.max_u\";\n export const i32x4_dot_i16x8_s = \"~lib/builtins/i32x4.dot_i16x8_s\";\n export const i32x4_abs = \"~lib/builtins/i32x4.abs\";\n export const i32x4_neg = \"~lib/builtins/i32x4.neg\";\n export const i32x4_shl = \"~lib/builtins/i32x4.shl\";\n export const i32x4_shr_s = \"~lib/builtins/i32x4.shr_s\";\n export const i32x4_shr_u = \"~lib/builtins/i32x4.shr_u\";\n export const i32x4_all_true = \"~lib/builtins/i32x4.all_true\";\n export const i32x4_bitmask = \"~lib/builtins/i32x4.bitmask\";\n export const i32x4_eq = \"~lib/builtins/i32x4.eq\";\n export const i32x4_ne = \"~lib/builtins/i32x4.ne\";\n export const i32x4_lt_s = \"~lib/builtins/i32x4.lt_s\";\n export const i32x4_lt_u = \"~lib/builtins/i32x4.lt_u\";\n export const i32x4_le_s = \"~lib/builtins/i32x4.le_s\";\n export const i32x4_le_u = \"~lib/builtins/i32x4.le_u\";\n export const i32x4_gt_s = \"~lib/builtins/i32x4.gt_s\";\n export const i32x4_gt_u = \"~lib/builtins/i32x4.gt_u\";\n export const i32x4_ge_s = \"~lib/builtins/i32x4.ge_s\";\n export const i32x4_ge_u = \"~lib/builtins/i32x4.ge_u\";\n export const i32x4_trunc_sat_f32x4_s = \"~lib/builtins/i32x4.trunc_sat_f32x4_s\";\n export const i32x4_trunc_sat_f32x4_u = \"~lib/builtins/i32x4.trunc_sat_f32x4_u\";\n export const i32x4_trunc_sat_f64x2_s_zero = \"~lib/builtins/i32x4.trunc_sat_f64x2_s_zero\";\n export const i32x4_trunc_sat_f64x2_u_zero = \"~lib/builtins/i32x4.trunc_sat_f64x2_u_zero\";\n export const i32x4_extend_low_i16x8_s = \"~lib/builtins/i32x4.extend_low_i16x8_s\";\n export const i32x4_extend_low_i16x8_u = \"~lib/builtins/i32x4.extend_low_i16x8_u\";\n export const i32x4_extend_high_i16x8_s = \"~lib/builtins/i32x4.extend_high_i16x8_s\";\n export const i32x4_extend_high_i16x8_u = \"~lib/builtins/i32x4.extend_high_i16x8_u\";\n export const i32x4_extadd_pairwise_i16x8_s = \"~lib/builtins/i32x4.extadd_pairwise_i16x8_s\";\n export const i32x4_extadd_pairwise_i16x8_u = \"~lib/builtins/i32x4.extadd_pairwise_i16x8_u\";\n export const i32x4_extmul_low_i16x8_s = \"~lib/builtins/i32x4.extmul_low_i16x8_s\";\n export const i32x4_extmul_low_i16x8_u = \"~lib/builtins/i32x4.extmul_low_i16x8_u\";\n export const i32x4_extmul_high_i16x8_s = \"~lib/builtins/i32x4.extmul_high_i16x8_s\";\n export const i32x4_extmul_high_i16x8_u = \"~lib/builtins/i32x4.extmul_high_i16x8_u\";\n export const i32x4_shuffle = \"~lib/builtins/i32x4.shuffle\";\n\n export const i64x2_splat = \"~lib/builtins/i64x2.splat\";\n export const i64x2_extract_lane = \"~lib/builtins/i64x2.extract_lane\";\n export const i64x2_replace_lane = \"~lib/builtins/i64x2.replace_lane\";\n export const i64x2_add = \"~lib/builtins/i64x2.add\";\n export const i64x2_sub = \"~lib/builtins/i64x2.sub\";\n export const i64x2_mul = \"~lib/builtins/i64x2.mul\";\n export const i64x2_abs = \"~lib/builtins/i64x2.abs\";\n export const i64x2_neg = \"~lib/builtins/i64x2.neg\";\n export const i64x2_shl = \"~lib/builtins/i64x2.shl\";\n export const i64x2_shr_s = \"~lib/builtins/i64x2.shr_s\";\n export const i64x2_shr_u = \"~lib/builtins/i64x2.shr_u\";\n export const i64x2_all_true = \"~lib/builtins/i64x2.all_true\";\n export const i64x2_bitmask = \"~lib/builtins/i64x2.bitmask\";\n export const i64x2_eq = \"~lib/builtins/i64x2.eq\";\n export const i64x2_ne = \"~lib/builtins/i64x2.ne\";\n export const i64x2_lt_s = \"~lib/builtins/i64x2.lt_s\";\n export const i64x2_lt_u = \"~lib/builtins/i64x2.lt_u\";\n export const i64x2_le_s = \"~lib/builtins/i64x2.le_s\";\n export const i64x2_le_u = \"~lib/builtins/i64x2.le_u\";\n export const i64x2_gt_s = \"~lib/builtins/i64x2.gt_s\";\n export const i64x2_gt_u = \"~lib/builtins/i64x2.gt_u\";\n export const i64x2_ge_s = \"~lib/builtins/i64x2.ge_s\";\n export const i64x2_ge_u = \"~lib/builtins/i64x2.ge_u\";\n export const i64x2_extend_low_i32x4_s = \"~lib/builtins/i64x2.extend_low_i32x4_s\";\n export const i64x2_extend_low_i32x4_u = \"~lib/builtins/i64x2.extend_low_i32x4_u\";\n export const i64x2_extend_high_i32x4_s = \"~lib/builtins/i64x2.extend_high_i32x4_s\";\n export const i64x2_extend_high_i32x4_u = \"~lib/builtins/i64x2.extend_high_i32x4_u\";\n export const i64x2_extmul_low_i32x4_s = \"~lib/builtins/i64x2.extmul_low_i32x4_s\";\n export const i64x2_extmul_low_i32x4_u = \"~lib/builtins/i64x2.extmul_low_i32x4_u\";\n export const i64x2_extmul_high_i32x4_s = \"~lib/builtins/i64x2.extmul_high_i32x4_s\";\n export const i64x2_extmul_high_i32x4_u = \"~lib/builtins/i64x2.extmul_high_i32x4_u\";\n export const i64x2_shuffle = \"~lib/builtins/i64x2.shuffle\";\n\n export const f32x4_splat = \"~lib/builtins/f32x4.splat\";\n export const f32x4_extract_lane = \"~lib/builtins/f32x4.extract_lane\";\n export const f32x4_replace_lane = \"~lib/builtins/f32x4.replace_lane\";\n export const f32x4_add = \"~lib/builtins/f32x4.add\";\n export const f32x4_sub = \"~lib/builtins/f32x4.sub\";\n export const f32x4_mul = \"~lib/builtins/f32x4.mul\";\n export const f32x4_div = \"~lib/builtins/f32x4.div\";\n export const f32x4_neg = \"~lib/builtins/f32x4.neg\";\n export const f32x4_min = \"~lib/builtins/f32x4.min\";\n export const f32x4_max = \"~lib/builtins/f32x4.max\";\n export const f32x4_pmin = \"~lib/builtins/f32x4.pmin\";\n export const f32x4_pmax = \"~lib/builtins/f32x4.pmax\";\n export const f32x4_abs = \"~lib/builtins/f32x4.abs\";\n export const f32x4_sqrt = \"~lib/builtins/f32x4.sqrt\";\n export const f32x4_ceil = \"~lib/builtins/f32x4.ceil\";\n export const f32x4_floor = \"~lib/builtins/f32x4.floor\";\n export const f32x4_trunc = \"~lib/builtins/f32x4.trunc\";\n export const f32x4_nearest = \"~lib/builtins/f32x4.nearest\";\n export const f32x4_eq = \"~lib/builtins/f32x4.eq\";\n export const f32x4_ne = \"~lib/builtins/f32x4.ne\";\n export const f32x4_lt = \"~lib/builtins/f32x4.lt\";\n export const f32x4_le = \"~lib/builtins/f32x4.le\";\n export const f32x4_gt = \"~lib/builtins/f32x4.gt\";\n export const f32x4_ge = \"~lib/builtins/f32x4.ge\";\n export const f32x4_convert_i32x4_s = \"~lib/builtins/f32x4.convert_i32x4_s\";\n export const f32x4_convert_i32x4_u = \"~lib/builtins/f32x4.convert_i32x4_u\";\n export const f32x4_demote_f64x2_zero = \"~lib/builtins/f32x4.demote_f64x2_zero\";\n export const f32x4_shuffle = \"~lib/builtins/f32x4.shuffle\";\n\n export const f64x2_splat = \"~lib/builtins/f64x2.splat\";\n export const f64x2_extract_lane = \"~lib/builtins/f64x2.extract_lane\";\n export const f64x2_replace_lane = \"~lib/builtins/f64x2.replace_lane\";\n export const f64x2_add = \"~lib/builtins/f64x2.add\";\n export const f64x2_sub = \"~lib/builtins/f64x2.sub\";\n export const f64x2_mul = \"~lib/builtins/f64x2.mul\";\n export const f64x2_div = \"~lib/builtins/f64x2.div\";\n export const f64x2_neg = \"~lib/builtins/f64x2.neg\";\n export const f64x2_min = \"~lib/builtins/f64x2.min\";\n export const f64x2_max = \"~lib/builtins/f64x2.max\";\n export const f64x2_pmin = \"~lib/builtins/f64x2.pmin\";\n export const f64x2_pmax = \"~lib/builtins/f64x2.pmax\";\n export const f64x2_abs = \"~lib/builtins/f64x2.abs\";\n export const f64x2_sqrt = \"~lib/builtins/f64x2.sqrt\";\n export const f64x2_ceil = \"~lib/builtins/f64x2.ceil\";\n export const f64x2_floor = \"~lib/builtins/f64x2.floor\";\n export const f64x2_trunc = \"~lib/builtins/f64x2.trunc\";\n export const f64x2_nearest = \"~lib/builtins/f64x2.nearest\";\n export const f64x2_eq = \"~lib/builtins/f64x2.eq\";\n export const f64x2_ne = \"~lib/builtins/f64x2.ne\";\n export const f64x2_lt = \"~lib/builtins/f64x2.lt\";\n export const f64x2_le = \"~lib/builtins/f64x2.le\";\n export const f64x2_gt = \"~lib/builtins/f64x2.gt\";\n export const f64x2_ge = \"~lib/builtins/f64x2.ge\";\n export const f64x2_convert_low_i32x4_s = \"~lib/builtins/f64x2.convert_low_i32x4_s\";\n export const f64x2_convert_low_i32x4_u = \"~lib/builtins/f64x2.convert_low_i32x4_u\";\n export const f64x2_promote_low_f32x4 = \"~lib/builtins/f64x2.promote_low_f32x4\";\n export const f64x2_shuffle = \"~lib/builtins/f64x2.shuffle\";\n\n export const i8x16_relaxed_swizzle = \"~lib/builtins/i8x16.relaxed_swizzle\";\n export const i32x4_relaxed_trunc_f32x4_s = \"~lib/builtins/i32x4.relaxed_trunc_f32x4_s\";\n export const i32x4_relaxed_trunc_f32x4_u = \"~lib/builtins/i32x4.relaxed_trunc_f32x4_u\";\n export const i32x4_relaxed_trunc_f64x2_s_zero = \"~lib/builtins/i32x4.relaxed_trunc_f64x2_s_zero\";\n export const i32x4_relaxed_trunc_f64x2_u_zero = \"~lib/builtins/i32x4.relaxed_trunc_f64x2_u_zero\";\n export const f32x4_relaxed_madd = \"~lib/builtins/f32x4.relaxed_madd\";\n export const f32x4_relaxed_nmadd = \"~lib/builtins/f32x4.relaxed_nmadd\";\n export const f64x2_relaxed_madd = \"~lib/builtins/f64x2.relaxed_madd\";\n export const f64x2_relaxed_nmadd = \"~lib/builtins/f64x2.relaxed_nmadd\";\n export const i8x16_relaxed_laneselect = \"~lib/builtins/i8x16.relaxed_laneselect\";\n export const i16x8_relaxed_laneselect = \"~lib/builtins/i16x8.relaxed_laneselect\";\n export const i32x4_relaxed_laneselect = \"~lib/builtins/i32x4.relaxed_laneselect\";\n export const i64x2_relaxed_laneselect = \"~lib/builtins/i64x2.relaxed_laneselect\";\n export const f32x4_relaxed_min = \"~lib/builtins/f32x4.relaxed_min\";\n export const f32x4_relaxed_max = \"~lib/builtins/f32x4.relaxed_max\";\n export const f64x2_relaxed_min = \"~lib/builtins/f64x2.relaxed_min\";\n export const f64x2_relaxed_max = \"~lib/builtins/f64x2.relaxed_max\";\n export const i16x8_relaxed_q15mulr_s = \"~lib/builtins/i16x8.relaxed_q15mulr_s\";\n export const i16x8_relaxed_dot_i8x16_i7x16_s = \"~lib/builtins/i16x8.relaxed_dot_i8x16_i7x16_s\";\n export const i32x4_relaxed_dot_i8x16_i7x16_add_s = \"~lib/builtins/i32x4.relaxed_dot_i8x16_i7x16_add_s\";\n\n export const i31_new = \"~lib/builtins/i31.new\";\n export const i31_get = \"~lib/builtins/i31.get\";\n\n // internals\n export const data_end = \"~lib/memory/__data_end\";\n export const stack_pointer = \"~lib/memory/__stack_pointer\";\n export const heap_base = \"~lib/memory/__heap_base\";\n export const rtti_base = \"~lib/rt/__rtti_base\";\n export const visit_globals = \"~lib/rt/__visit_globals\";\n export const visit_members = \"~lib/rt/__visit_members\";\n export const tostack = \"~lib/rt/__tostack\";\n\n // std/number.ts\n export const NaN = \"~lib/number/NaN\";\n export const Infinity = \"~lib/number/Infinity\";\n export const isNaN = \"~lib/number/isNaN\";\n export const isFinite = \"~lib/number/isFinite\";\n\n // std/diagnostics.ts\n export const ERROR = \"~lib/diagnostics/ERROR\";\n export const WARNING = \"~lib/diagnostics/WARNING\";\n export const INFO = \"~lib/diagnostics/INFO\";\n\n // std/function.ts\n export const Function = \"~lib/function/Function\";\n export const Function_call = \"~lib/function/Function#call\";\n\n // std/memory.ts\n export const memory_size = \"~lib/memory/memory.size\";\n export const memory_grow = \"~lib/memory/memory.grow\";\n export const memory_copy = \"~lib/memory/memory.copy\";\n export const memory_fill = \"~lib/memory/memory.fill\";\n export const memory_data = \"~lib/memory/memory.data\";\n\n // std/typedarray.ts\n export const Int8Array = \"~lib/typedarray/Int8Array\";\n export const Uint8Array = \"~lib/typedarray/Uint8Array\";\n export const Uint8ClampedArray = \"~lib/typedarray/Uint8ClampedArray\";\n export const Int16Array = \"~lib/typedarray/Int16Array\";\n export const Uint16Array = \"~lib/typedarray/Uint16Array\";\n export const Int32Array = \"~lib/typedarray/Int32Array\";\n export const Uint32Array = \"~lib/typedarray/Uint32Array\";\n export const Int64Array = \"~lib/typedarray/Int64Array\";\n export const Uint64Array = \"~lib/typedarray/Uint64Array\";\n export const Float32Array = \"~lib/typedarray/Float32Array\";\n export const Float64Array = \"~lib/typedarray/Float64Array\";\n\n // std/string.ts\n export const String_raw = \"~lib/string/String.raw\";\n export const String_eq = \"~lib/string/String.__eq\";\n export const String_ne = \"~lib/string/String.__ne\";\n export const String_not = \"~lib/string/String.__not\";\n\n // std/object.ts\n export const Object = \"~lib/object/Object\";\n}\n\n/** Builtin variable compilation context. */\nexport class BuiltinVariableContext {\n constructor(\n /** Compiler reference. */\n public compiler: Compiler,\n /** Variable being accessed. */\n public element: VariableLikeElement,\n /** Contextual type. */\n public contextualType: Type = element.type,\n /** Respective report expression. */\n public reportNode: IdentifierExpression = element.identifierNode\n ) {}\n}\n\n/** Builtin function compilation context. */\nexport class BuiltinFunctionContext {\n constructor(\n /** Compiler reference. */\n public compiler: Compiler,\n /** Prototype being called. */\n public prototype: FunctionPrototype,\n /** Provided type arguments. */\n public typeArguments: Type[] | null,\n /** Provided operands. */\n public operands: Expression[],\n /** Provided this operand, if any. */\n public thisOperand: Expression | null,\n /** Contextual type. */\n public contextualType: Type,\n /** Respective call expression. */\n public reportNode: CallExpression,\n /** Whether originating from inline assembly. */\n public contextIsExact: bool\n ) {}\n}\n\n/** Builtin functions map. */\nexport const builtinFunctions = new Map ExpressionRef>();\n\n/** Builtin variables map. */\nexport const builtinVariables_onCompile = new Map void>();\nexport const builtinVariables_onAccess = new Map ExpressionRef>();\n\n// === Static type evaluation =================================================================\n\n// helper global used by checkConstantType\nlet checkConstantType_expr: ExpressionRef = 0;\n\n// isBoolean() / isBoolean(value: T) -> bool\nfunction builtin_isBoolean(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n let type = checkConstantType(ctx);\n compiler.currentType = Type.bool;\n if (!type) return module.unreachable();\n return reifyConstantType(ctx, module.i32(type.isBooleanValue ? 1 : 0));\n}\nbuiltinFunctions.set(BuiltinNames.isBoolean, builtin_isBoolean);\n\n// isInteger() / isInteger(value: T) -> bool\nfunction builtin_isInteger(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n let type = checkConstantType(ctx);\n compiler.currentType = Type.bool;\n if (!type) return module.unreachable();\n return reifyConstantType(ctx, module.i32(type.isIntegerValue ? 1 : 0));\n}\nbuiltinFunctions.set(BuiltinNames.isInteger, builtin_isInteger);\n\n// isSigned() / isSigned(value: T) -> bool\nfunction builtin_isSigned(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n let type = checkConstantType(ctx);\n compiler.currentType = Type.bool;\n if (!type) return module.unreachable();\n return reifyConstantType(ctx, module.i32(type.isSignedIntegerValue ? 1 : 0));\n}\nbuiltinFunctions.set(BuiltinNames.isSigned, builtin_isSigned);\n\n// isFloat() / isFloat(value: T) -> bool\nfunction builtin_isFloat(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n let type = checkConstantType(ctx);\n compiler.currentType = Type.bool;\n if (!type) return module.unreachable();\n return reifyConstantType(ctx, module.i32(type.isFloatValue ? 1 : 0));\n}\nbuiltinFunctions.set(BuiltinNames.isFloat, builtin_isFloat);\n\n// isVector() / isVector(value: T) -> bool\nfunction builtin_isVector(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n let type = checkConstantType(ctx);\n compiler.currentType = Type.bool;\n if (!type) return module.unreachable();\n return reifyConstantType(ctx, module.i32(type.isVectorValue ? 1 : 0));\n}\nbuiltinFunctions.set(BuiltinNames.isVector, builtin_isVector);\n\n// isReference() / isReference(value: T) -> bool\nfunction builtin_isReference(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n let type = checkConstantType(ctx);\n compiler.currentType = Type.bool;\n if (!type) return module.unreachable();\n return reifyConstantType(ctx, module.i32(type.isReference ? 1 : 0));\n}\nbuiltinFunctions.set(BuiltinNames.isReference, builtin_isReference);\n\n// isString() / isString(value: T) -> bool\nfunction builtin_isString(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n let type = checkConstantType(ctx);\n compiler.currentType = Type.bool;\n if (!type) return module.unreachable();\n let classReference = type.getClass();\n return reifyConstantType(ctx,\n module.i32(\n classReference && classReference.isAssignableTo(compiler.program.stringInstance)\n ? 1\n : 0\n )\n );\n}\nbuiltinFunctions.set(BuiltinNames.isString, builtin_isString);\n\n// isArray() / isArray(value: T) -> bool\nfunction builtin_isArray(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n let type = checkConstantType(ctx);\n compiler.currentType = Type.bool;\n if (!type) return module.unreachable();\n let classReference = type.getClass();\n return reifyConstantType(ctx,\n module.i32(\n classReference && classReference.extendsPrototype(compiler.program.arrayPrototype)\n ? 1\n : 0\n )\n );\n}\nbuiltinFunctions.set(BuiltinNames.isArray, builtin_isArray);\n\n// isArrayLike() / isArrayLike(value: T) -> bool\nfunction builtin_isArrayLike(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n let type = checkConstantType(ctx);\n compiler.currentType = Type.bool;\n if (!type) return module.unreachable();\n let classReference = type.getClass();\n return reifyConstantType(ctx,\n module.i32(\n classReference && classReference.isArrayLike\n ? 1\n : 0\n )\n );\n}\nbuiltinFunctions.set(BuiltinNames.isArrayLike, builtin_isArrayLike);\n\n// isFunction / isFunction(value: T) -> bool\nfunction builtin_isFunction(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n let type = checkConstantType(ctx);\n compiler.currentType = Type.bool;\n if (!type) return module.unreachable();\n return reifyConstantType(ctx, module.i32(type.isFunction ? 1 : 0));\n}\nbuiltinFunctions.set(BuiltinNames.isFunction, builtin_isFunction);\n\n// isNullable / isNullable(value: T) -> bool\nfunction builtin_isNullable(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n let type = checkConstantType(ctx);\n compiler.currentType = Type.bool;\n if (!type) return module.unreachable();\n return reifyConstantType(ctx, module.i32(type.isNullableReference ? 1 : 0));\n}\nbuiltinFunctions.set(BuiltinNames.isNullable, builtin_isNullable);\n\n// isDefined(expression) -> bool\nfunction builtin_isDefined(ctx: BuiltinFunctionContext): ExpressionRef {\n // Note that `isDefined` neither compiles nor evaluates the given expression\n // but exclusively performs a check whether it can be compiled in theory.\n // This is not exactly unsafe due to only seemingly having side effects which\n // actually never happen, but may confuse tooling unaware of its semantics.\n let compiler = ctx.compiler;\n let module = compiler.module;\n compiler.currentType = Type.bool;\n if (\n checkTypeAbsent(ctx) |\n checkArgsRequired(ctx, 1)\n ) return module.unreachable();\n let element = compiler.resolver.lookupExpression(\n ctx.operands[0],\n compiler.currentFlow,\n Type.auto,\n ReportMode.Swallow\n );\n return module.i32(element ? 1 : 0);\n}\nbuiltinFunctions.set(BuiltinNames.isDefined, builtin_isDefined);\n\n// isConstant(expression) -> bool\nfunction builtin_isConstant(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n compiler.currentType = Type.bool;\n if (\n checkTypeAbsent(ctx) |\n checkArgsRequired(ctx, 1)\n ) return module.unreachable();\n let expr = compiler.compileExpression(ctx.operands[0], Type.auto);\n compiler.currentType = Type.bool;\n if (!mustPreserveSideEffects(expr, module.ref)) {\n return module.i32(module.isConstExpression(expr) ? 1 : 0);\n }\n return module.block(null, [\n module.maybeDrop(expr),\n module.i32(0)\n ], getExpressionType(expr));\n}\nbuiltinFunctions.set(BuiltinNames.isConstant, builtin_isConstant);\n\n// isManaged() -> bool\nfunction builtin_isManaged(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n let type = checkConstantType(ctx);\n compiler.currentType = Type.bool;\n if (!type) return module.unreachable();\n return reifyConstantType(ctx, module.i32(type.isManaged ? 1 : 0));\n}\nbuiltinFunctions.set(BuiltinNames.isManaged, builtin_isManaged);\n\n// isVoid() -> bool\nfunction builtin_isVoid(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n let type = checkConstantType(ctx);\n compiler.currentType = Type.bool;\n if (!type) return module.unreachable();\n return reifyConstantType(ctx, module.i32(type.kind == TypeKind.Void ? 1 : 0));\n}\nbuiltinFunctions.set(BuiltinNames.isVoid, builtin_isVoid);\n\n// lengthof() -> i32\nfunction builtin_lengthof(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n let type = checkConstantType(ctx);\n compiler.currentType = Type.i32;\n if (!type) return module.unreachable();\n let signatureReference = type.signatureReference;\n if (!signatureReference) {\n compiler.error(\n DiagnosticCode.Type_0_has_no_call_signatures,\n ctx.reportNode.range, type.toString()\n );\n return module.unreachable();\n }\n return reifyConstantType(ctx, module.i32(signatureReference.parameterTypes.length));\n}\nbuiltinFunctions.set(BuiltinNames.lengthof, builtin_lengthof);\n\n// sizeof() -> usize*\nfunction builtin_sizeof(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n compiler.currentType = compiler.options.usizeType;\n if (\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 0)\n ) return module.unreachable();\n let type = ctx.typeArguments![0];\n let byteSize = type.byteSize;\n if (!byteSize) {\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"sizeof\", type.toString()\n );\n return module.unreachable();\n }\n return contextualUsize(compiler, i64_new(byteSize), ctx.contextualType);\n}\nbuiltinFunctions.set(BuiltinNames.sizeof, builtin_sizeof);\n\n// alignof() -> usize*\nfunction builtin_alignof(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n compiler.currentType = compiler.options.usizeType;\n if (\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 0)\n ) return module.unreachable();\n let type = ctx.typeArguments![0];\n let byteSize = type.byteSize;\n if (!isPowerOf2(byteSize)) { // implies == 0\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"alignof\", type.toString()\n );\n return module.unreachable();\n }\n return contextualUsize(compiler, i64_new(ctz(byteSize)), ctx.contextualType);\n}\nbuiltinFunctions.set(BuiltinNames.alignof, builtin_alignof);\n\n// offsetof(fieldName?: string) -> usize*\nfunction builtin_offsetof(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n compiler.currentType = compiler.options.usizeType;\n if (\n checkTypeRequired(ctx) |\n checkArgsOptional(ctx, 0, 1)\n ) return module.unreachable();\n let operands = ctx.operands;\n let contextualType = ctx.contextualType;\n let type = ctx.typeArguments![0];\n let classReference = type.getClassOrWrapper(compiler.program);\n if (!classReference) {\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"offsetof\", type.toString()\n );\n if (compiler.options.isWasm64) {\n if (contextualType.isIntegerValue && contextualType.size <= 32) {\n compiler.currentType = Type.u32;\n }\n } else {\n if (contextualType.isIntegerValue && contextualType.size == 64) {\n compiler.currentType = Type.u64;\n }\n }\n return module.unreachable();\n }\n if (operands.length) {\n let firstOperand = operands[0];\n if (!firstOperand.isLiteralKind(LiteralKind.String)) {\n compiler.error(\n DiagnosticCode.String_literal_expected,\n operands[0].range\n );\n return module.unreachable();\n }\n let fieldName = (firstOperand).value;\n let fieldMember = classReference.getMember(fieldName);\n if (fieldMember && fieldMember.kind == ElementKind.PropertyPrototype) {\n let property = (fieldMember).instance;\n if (property && property.isField) {\n assert(property.memoryOffset >= 0);\n return contextualUsize(compiler, i64_new(property.memoryOffset), contextualType);\n }\n }\n compiler.error(\n DiagnosticCode.Type_0_has_no_property_1,\n firstOperand.range, classReference.internalName, fieldName\n );\n return module.unreachable();\n }\n return contextualUsize(compiler, i64_new(classReference.nextMemoryOffset), contextualType);\n}\nbuiltinFunctions.set(BuiltinNames.offsetof, builtin_offsetof);\n\n// nameof -> string\nfunction builtin_nameof(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n let resultType = checkConstantType(ctx);\n if (!resultType) {\n compiler.currentType = compiler.program.stringInstance.type;\n return module.unreachable();\n }\n let value: string;\n if (resultType.isInternalReference) {\n let classReference = resultType.getClass();\n if (classReference) {\n value = classReference.name;\n } else {\n assert(resultType.getSignature());\n value = \"Function\";\n }\n } else {\n value = resultType.toString();\n }\n return reifyConstantType(ctx, compiler.ensureStaticString(value));\n}\nbuiltinFunctions.set(BuiltinNames.nameof, builtin_nameof);\n\n// idof -> u32\nfunction builtin_idof(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n let type = checkConstantType(ctx);\n compiler.currentType = Type.u32;\n if (!type) return module.unreachable();\n let signatureReference = type.getSignature();\n if (signatureReference) {\n return reifyConstantType(ctx, module.i32(signatureReference.id));\n }\n let classReference = type.getClassOrWrapper(compiler.program);\n if (classReference && !classReference.hasDecorator(DecoratorFlags.Unmanaged)) {\n return reifyConstantType(ctx, module.i32(classReference.id));\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"idof\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.idof, builtin_idof);\n\n// === Math ===================================================================================\n\n// NaN\nfunction builtin_NaN_compile(ctx: BuiltinVariableContext): void {\n let element = ctx.element;\n if (element.is(CommonFlags.ModuleExport)) {\n let module = ctx.compiler.module;\n module.addGlobal(element.internalName, TypeRef.F64, false, module.f64(NaN));\n }\n}\nbuiltinVariables_onCompile.set(BuiltinNames.NaN, builtin_NaN_compile);\n\n// NaN -> f32 | f64\nfunction builtin_NaN_access(ctx: BuiltinVariableContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (ctx.contextualType == Type.f32) {\n compiler.currentType = Type.f32;\n return module.f32(NaN);\n }\n compiler.currentType = Type.f64;\n return module.f64(NaN);\n}\nbuiltinVariables_onAccess.set(BuiltinNames.NaN, builtin_NaN_access);\n\n// Infinity\nfunction builtin_Infinity_compile(ctx: BuiltinVariableContext): void {\n let element = ctx.element;\n if (element.is(CommonFlags.ModuleExport)) {\n let module = ctx.compiler.module;\n module.addGlobal(element.internalName, TypeRef.F64, false, module.f64(Infinity));\n }\n}\nbuiltinVariables_onCompile.set(BuiltinNames.Infinity, builtin_Infinity_compile);\n\n// Infinity -> f32 | f64\nfunction builtin_Infinity_access(ctx: BuiltinVariableContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (ctx.contextualType == Type.f32) {\n compiler.currentType = Type.f32;\n return module.f32(Infinity);\n }\n compiler.currentType = Type.f64;\n return module.f64(Infinity);\n}\nbuiltinVariables_onAccess.set(BuiltinNames.Infinity, builtin_Infinity_access);\n\n// clz(value: T) -> T\nfunction builtin_clz(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkTypeOptional(ctx, true) |\n checkArgsRequired(ctx, 1)\n ) return module.unreachable();\n let typeArguments = ctx.typeArguments;\n let arg0 = typeArguments\n ? compiler.compileExpression(ctx.operands[0], typeArguments[0], Constraints.ConvImplicit | Constraints.MustWrap)\n : compiler.compileExpression(ctx.operands[0], Type.i32, Constraints.MustWrap);\n let type = compiler.currentType;\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.Bool: // not wrapped\n case TypeKind.I8:\n case TypeKind.U8:\n case TypeKind.I16:\n case TypeKind.U16:\n case TypeKind.I32:\n case TypeKind.U32: return module.unary(UnaryOp.ClzI32, arg0);\n case TypeKind.Isize:\n case TypeKind.Usize: return module.unary(UnaryOp.ClzSize, arg0);\n case TypeKind.I64:\n case TypeKind.U64: return module.unary(UnaryOp.ClzI64, arg0);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"clz\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.clz, builtin_clz);\n\n// ctz(value: T) -> T\nfunction builtin_ctz(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkTypeOptional(ctx, true) |\n checkArgsRequired(ctx, 1)\n ) return module.unreachable();\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments;\n let arg0 = typeArguments\n ? compiler.compileExpression(operands[0], typeArguments[0], Constraints.ConvImplicit | Constraints.MustWrap)\n : compiler.compileExpression(operands[0], Type.i32, Constraints.MustWrap);\n let type = compiler.currentType;\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.Bool: // not wrapped\n case TypeKind.I8:\n case TypeKind.U8:\n case TypeKind.I16:\n case TypeKind.U16:\n case TypeKind.I32:\n case TypeKind.U32: return module.unary(UnaryOp.CtzI32, arg0);\n case TypeKind.Isize:\n case TypeKind.Usize: return module.unary(UnaryOp.CtzSize, arg0);\n case TypeKind.I64:\n case TypeKind.U64: return module.unary(UnaryOp.CtzI64, arg0);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"ctz\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.ctz, builtin_ctz);\n\n// popcnt(value: T) -> T\nfunction builtin_popcnt(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkTypeOptional(ctx, true) |\n checkArgsRequired(ctx, 1)\n ) return module.unreachable();\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments;\n let arg0 = typeArguments\n ? compiler.compileExpression(operands[0], typeArguments[0], Constraints.ConvImplicit | Constraints.MustWrap)\n : compiler.compileExpression(operands[0], Type.i32, Constraints.MustWrap);\n let type = compiler.currentType;\n if (type.isValue) {\n switch (compiler.currentType.kind) {\n case TypeKind.Bool: return arg0;\n case TypeKind.I8: // not wrapped\n case TypeKind.U8:\n case TypeKind.I16:\n case TypeKind.U16:\n case TypeKind.I32:\n case TypeKind.U32: return module.unary(UnaryOp.PopcntI32, arg0);\n case TypeKind.I64:\n case TypeKind.U64: return module.unary(UnaryOp.PopcntI64, arg0);\n case TypeKind.Isize:\n case TypeKind.Usize: return module.unary(UnaryOp.PopcntSize, arg0);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"popcnt\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.popcnt, builtin_popcnt);\n\n// rotl(value: T, shift: T) -> T\nfunction builtin_rotl(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkTypeOptional(ctx, true) |\n checkArgsRequired(ctx, 2)\n ) return module.unreachable();\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments;\n let arg0 = typeArguments\n ? compiler.compileExpression(operands[0], typeArguments[0], Constraints.ConvImplicit | Constraints.MustWrap)\n : compiler.compileExpression(operands[0], Type.i32, Constraints.MustWrap);\n let type = compiler.currentType;\n if (type.isValue) {\n let arg1 = compiler.compileExpression(operands[1], type, Constraints.ConvImplicit);\n switch (type.kind) {\n case TypeKind.Bool: return arg0;\n case TypeKind.I8:\n case TypeKind.I16:\n case TypeKind.U8:\n case TypeKind.U16: {\n // (value << (shift & mask)) | (value >>> ((0 - shift) & mask))\n let flow = compiler.currentFlow;\n let temp1 = flow.getTempLocal(type);\n flow.setLocalFlag(temp1.index, LocalFlags.Wrapped);\n let temp2 = flow.getTempLocal(type);\n flow.setLocalFlag(temp2.index, LocalFlags.Wrapped);\n\n let ret = module.binary(BinaryOp.OrI32,\n module.binary(\n BinaryOp.ShlI32,\n module.local_tee(temp1.index, arg0, false), // i32\n module.binary(\n BinaryOp.AndI32,\n module.local_tee(temp2.index, arg1, false), // i32\n module.i32(type.size - 1)\n )\n ),\n module.binary(\n BinaryOp.ShrU32,\n module.local_get(temp1.index, TypeRef.I32),\n module.binary(\n BinaryOp.AndI32,\n module.binary(\n BinaryOp.SubI32,\n module.i32(0),\n module.local_get(temp2.index, TypeRef.I32)\n ),\n module.i32(type.size - 1)\n )\n )\n );\n\n return ret;\n }\n case TypeKind.I32:\n case TypeKind.U32: return module.binary(BinaryOp.RotlI32, arg0, arg1);\n case TypeKind.I64:\n case TypeKind.U64: return module.binary(BinaryOp.RotlI64, arg0, arg1);\n case TypeKind.Isize:\n case TypeKind.Usize: return module.binary(BinaryOp.RotlSize, arg0, arg1);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"rotl\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.rotl, builtin_rotl);\n\n// rotr(value: T, shift: T) -> T\nfunction builtin_rotr(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkTypeOptional(ctx, true) |\n checkArgsRequired(ctx, 2)\n ) return module.unreachable();\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments;\n let arg0 = typeArguments\n ? compiler.compileExpression(operands[0], typeArguments[0], Constraints.ConvImplicit | Constraints.MustWrap)\n : compiler.compileExpression(operands[0], Type.i32, Constraints.MustWrap);\n let type = compiler.currentType;\n if (type.isValue) {\n let arg1 = compiler.compileExpression(operands[1], type, Constraints.ConvImplicit);\n switch (type.kind) {\n case TypeKind.Bool: return arg0;\n case TypeKind.I8:\n case TypeKind.I16:\n case TypeKind.U8:\n case TypeKind.U16: {\n // (value >>> (shift & mask)) | (value << ((0 - shift) & mask))\n let flow = compiler.currentFlow;\n let temp1 = flow.getTempLocal(type);\n flow.setLocalFlag(temp1.index, LocalFlags.Wrapped);\n let temp2 = flow.getTempLocal(type);\n flow.setLocalFlag(temp2.index, LocalFlags.Wrapped);\n\n let ret = module.binary(BinaryOp.OrI32,\n module.binary(\n BinaryOp.ShrU32,\n module.local_tee(temp1.index, arg0, false), // i32\n module.binary(\n BinaryOp.AndI32,\n module.local_tee(temp2.index, arg1, false), // i32\n module.i32(type.size - 1)\n )\n ),\n module.binary(\n BinaryOp.ShlI32,\n module.local_get(temp1.index, TypeRef.I32),\n module.binary(\n BinaryOp.AndI32,\n module.binary(\n BinaryOp.SubI32,\n module.i32(0),\n module.local_get(temp2.index, TypeRef.I32)\n ),\n module.i32(type.size - 1)\n )\n )\n );\n\n return ret;\n }\n case TypeKind.I32:\n case TypeKind.U32: return module.binary(BinaryOp.RotrI32, arg0, arg1);\n case TypeKind.I64:\n case TypeKind.U64: return module.binary(BinaryOp.RotrI64, arg0, arg1);\n case TypeKind.Isize:\n case TypeKind.Usize: return module.binary(BinaryOp.RotrSize, arg0, arg1);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"rotr\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.rotr, builtin_rotr);\n\n// abs(value: T) -> T\nfunction builtin_abs(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkTypeOptional(ctx, true) |\n checkArgsRequired(ctx, 1)\n ) return module.unreachable();\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments;\n let arg0 = typeArguments\n ? compiler.compileExpression(operands[0], typeArguments[0], Constraints.ConvImplicit | Constraints.MustWrap)\n : compiler.compileExpression(operands[0], Type.auto, Constraints.MustWrap);\n let type = compiler.currentType;\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.Bool:\n case TypeKind.U8:\n case TypeKind.U16:\n case TypeKind.U32:\n case TypeKind.U64:\n case TypeKind.Usize: return arg0;\n case TypeKind.I8:\n case TypeKind.I16:\n case TypeKind.I32: {\n let flow = compiler.currentFlow;\n\n // possibly overflows, e.g. abs(-128) == 128\n let temp1 = flow.getTempLocal(Type.i32);\n let temp2 = flow.getTempLocal(Type.i32);\n // (x + (x >> 31)) ^ (x >> 31)\n let ret = module.binary(BinaryOp.XorI32,\n module.binary(BinaryOp.AddI32,\n module.local_tee(\n temp2.index,\n module.binary(BinaryOp.ShrI32,\n module.local_tee(temp1.index, arg0, false), // i32\n module.i32(31)\n ),\n false // i32\n ),\n module.local_get(temp1.index, TypeRef.I32)\n ),\n module.local_get(temp2.index, TypeRef.I32)\n );\n return ret;\n }\n case TypeKind.Isize: {\n let options = compiler.options;\n let flow = compiler.currentFlow;\n\n let temp1 = flow.getTempLocal(options.usizeType);\n let temp2 = flow.getTempLocal(options.usizeType);\n let ret = module.binary(BinaryOp.XorSize,\n module.binary(BinaryOp.AddSize,\n module.local_tee(\n temp2.index,\n module.binary(BinaryOp.ShrISize,\n module.local_tee(temp1.index, arg0, false), // i32/i64\n compiler.options.isWasm64\n ? module.i64(63)\n : module.i32(31)\n ),\n false // i32/i64\n ),\n module.local_get(temp1.index, options.sizeTypeRef)\n ),\n module.local_get(temp2.index, options.sizeTypeRef)\n );\n return ret;\n }\n case TypeKind.I64: {\n let flow = compiler.currentFlow;\n\n let temp1 = flow.getTempLocal(Type.i64);\n let temp2 = flow.getTempLocal(Type.i64);\n // (x + (x >> 63)) ^ (x >> 63)\n let ret = module.binary(BinaryOp.XorI64,\n module.binary(BinaryOp.AddI64,\n module.local_tee(\n temp2.index,\n module.binary(BinaryOp.ShrI64,\n module.local_tee(temp1.index, arg0, false), // i64\n module.i64(63)\n ),\n false // i64\n ),\n module.local_get(temp1.index, TypeRef.I64)\n ),\n module.local_get(temp2.index, TypeRef.I64)\n );\n return ret;\n }\n case TypeKind.F32: return module.unary(UnaryOp.AbsF32, arg0);\n case TypeKind.F64: return module.unary(UnaryOp.AbsF64, arg0);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"abs\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.abs, builtin_abs);\n\n// max(left: T, right: T) -> T\nfunction builtin_max(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkTypeOptional(ctx, true) |\n checkArgsRequired(ctx, 2)\n ) return module.unreachable();\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments;\n let left = operands[0];\n let arg0 = typeArguments\n ? compiler.compileExpression(left, typeArguments[0], Constraints.ConvImplicit | Constraints.MustWrap)\n : compiler.compileExpression(operands[0], Type.auto, Constraints.MustWrap);\n let type = compiler.currentType;\n if (type.isValue) {\n let arg1: ExpressionRef;\n if (!typeArguments && left.isNumericLiteral) { // prefer right type\n arg1 = compiler.compileExpression(operands[1], type, Constraints.MustWrap);\n if (compiler.currentType != type) {\n arg0 = compiler.compileExpression(left, type = compiler.currentType, Constraints.ConvImplicit | Constraints.MustWrap);\n }\n } else {\n arg1 = compiler.compileExpression(operands[1], type, Constraints.ConvImplicit | Constraints.MustWrap);\n }\n let op: BinaryOp = -1;\n switch (type.kind) {\n case TypeKind.I8:\n case TypeKind.I16:\n case TypeKind.I32: { op = BinaryOp.GtI32; break; }\n case TypeKind.Bool:\n case TypeKind.U8:\n case TypeKind.U16:\n case TypeKind.U32: { op = BinaryOp.GtU32; break; }\n case TypeKind.I64: { op = BinaryOp.GtI64; break; }\n case TypeKind.U64: { op = BinaryOp.GtU64; break; }\n case TypeKind.Isize: { op = BinaryOp.GtISize; break; }\n case TypeKind.Usize: { op = BinaryOp.GtUSize; break; }\n case TypeKind.F32: return module.binary(BinaryOp.MaxF32, arg0, arg1);\n case TypeKind.F64: return module.binary(BinaryOp.MaxF64, arg0, arg1);\n }\n if (op as i32 != -1) {\n let flow = compiler.currentFlow;\n let typeRef = type.toRef();\n let temp1 = flow.getTempLocal(type);\n flow.setLocalFlag(temp1.index, LocalFlags.Wrapped);\n let temp2 = flow.getTempLocal(type);\n flow.setLocalFlag(temp2.index, LocalFlags.Wrapped);\n let ret = module.select(\n module.local_tee(temp1.index, arg0, false), // numeric\n module.local_tee(temp2.index, arg1, false), // numeric\n module.binary(op,\n module.local_get(temp1.index, typeRef),\n module.local_get(temp2.index, typeRef)\n ),\n typeRef\n );\n return ret;\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"max\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.max, builtin_max);\n\n// min(left: T, right: T) -> T\nfunction builtin_min(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkTypeOptional(ctx, true) |\n checkArgsRequired(ctx, 2)\n ) return module.unreachable();\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments;\n let left = operands[0];\n let arg0 = typeArguments\n ? compiler.compileExpression(left, typeArguments[0], Constraints.ConvImplicit | Constraints.MustWrap)\n : compiler.compileExpression(operands[0], Type.auto, Constraints.MustWrap);\n let type = compiler.currentType;\n if (type.isValue) {\n let arg1: ExpressionRef;\n if (!typeArguments && left.isNumericLiteral) { // prefer right type\n arg1 = compiler.compileExpression(operands[1], type, Constraints.MustWrap);\n if (compiler.currentType != type) {\n arg0 = compiler.compileExpression(left, type = compiler.currentType, Constraints.ConvImplicit | Constraints.MustWrap);\n }\n } else {\n arg1 = compiler.compileExpression(operands[1], type, Constraints.ConvImplicit | Constraints.MustWrap);\n }\n let op: BinaryOp = -1;\n switch (type.kind) {\n case TypeKind.I8:\n case TypeKind.I16:\n case TypeKind.I32: { op = BinaryOp.LtI32; break; }\n case TypeKind.Bool:\n case TypeKind.U8:\n case TypeKind.U16:\n case TypeKind.U32: { op = BinaryOp.LtU32; break; }\n case TypeKind.I64: { op = BinaryOp.LtI64; break; }\n case TypeKind.U64: { op = BinaryOp.LtU64; break; }\n case TypeKind.Isize: { op = BinaryOp.LtISize; break; }\n case TypeKind.Usize: { op = BinaryOp.LtUSize; break; }\n case TypeKind.F32: return module.binary(BinaryOp.MinF32, arg0, arg1);\n case TypeKind.F64: return module.binary(BinaryOp.MinF64, arg0, arg1);\n }\n if (op as i32 != -1) {\n let flow = compiler.currentFlow;\n let typeRef = type.toRef();\n let temp1 = flow.getTempLocal(type);\n flow.setLocalFlag(temp1.index, LocalFlags.Wrapped);\n let temp2 = flow.getTempLocal(type);\n flow.setLocalFlag(temp2.index, LocalFlags.Wrapped);\n let ret = module.select(\n module.local_tee(temp1.index, arg0, false), // numeric\n module.local_tee(temp2.index, arg1, false), // numeric\n module.binary(op,\n module.local_get(temp1.index, typeRef),\n module.local_get(temp2.index, typeRef)\n ),\n typeRef\n );\n return ret;\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"min\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.min, builtin_min);\n\n// ceil(value: T) -> T\nfunction builtin_ceil(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkTypeOptional(ctx, true) |\n checkArgsRequired(ctx, 1)\n ) return module.unreachable();\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments;\n let arg0 = typeArguments\n ? compiler.compileExpression(operands[0], typeArguments[0], Constraints.ConvImplicit)\n : compiler.compileExpression(operands[0], Type.auto, Constraints.None);\n let type = compiler.currentType;\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.Bool:\n case TypeKind.I8:\n case TypeKind.I16:\n case TypeKind.I32:\n case TypeKind.I64:\n case TypeKind.Isize:\n case TypeKind.U8:\n case TypeKind.U16:\n case TypeKind.U32:\n case TypeKind.U64:\n case TypeKind.Usize: return arg0; // considered rounded\n case TypeKind.F32: return module.unary(UnaryOp.CeilF32, arg0);\n case TypeKind.F64: return module.unary(UnaryOp.CeilF64, arg0);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"ceil\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.ceil, builtin_ceil);\n\n// floor(value: T) -> T\nfunction builtin_floor(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkTypeOptional(ctx, true) |\n checkArgsRequired(ctx, 1)\n ) return module.unreachable();\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments;\n let arg0 = typeArguments\n ? compiler.compileExpression(operands[0], typeArguments[0], Constraints.ConvImplicit)\n : compiler.compileExpression(operands[0], Type.auto, Constraints.None);\n let type = compiler.currentType;\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.Bool:\n case TypeKind.I8:\n case TypeKind.I16:\n case TypeKind.I32:\n case TypeKind.I64:\n case TypeKind.Isize:\n case TypeKind.U8:\n case TypeKind.U16:\n case TypeKind.U32:\n case TypeKind.U64:\n case TypeKind.Usize: return arg0; // considered rounded\n case TypeKind.F32: return module.unary(UnaryOp.FloorF32, arg0);\n case TypeKind.F64: return module.unary(UnaryOp.FloorF64, arg0);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"floor\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.floor, builtin_floor);\n\n// copysign(left: T, right: T) -> T\nfunction builtin_copysign(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkTypeOptional(ctx, true) |\n checkArgsRequired(ctx, 2)\n ) return module.unreachable();\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments;\n let arg0 = typeArguments\n ? compiler.compileExpression(operands[0], typeArguments[0], Constraints.ConvImplicit)\n : compiler.compileExpression(operands[0], Type.f64, Constraints.None);\n let type = compiler.currentType;\n if (type.isValue) {\n let arg1 = compiler.compileExpression(operands[1], type, Constraints.ConvImplicit);\n switch (type.kind) {\n // TODO: does an integer version make sense?\n case TypeKind.F32: return module.binary(BinaryOp.CopysignF32, arg0, arg1);\n case TypeKind.F64: return module.binary(BinaryOp.CopysignF64, arg0, arg1);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"copysign\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.copysign, builtin_copysign);\n\n// nearest(value: T) -> T\nfunction builtin_nearest(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkTypeOptional(ctx, true) |\n checkArgsRequired(ctx, 1)\n ) return module.unreachable();\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments;\n let arg0 = typeArguments\n ? compiler.compileExpression(operands[0], typeArguments[0], Constraints.ConvImplicit)\n : compiler.compileExpression(operands[0], Type.auto, Constraints.None);\n let type = compiler.currentType;\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.Bool:\n case TypeKind.I8:\n case TypeKind.I16:\n case TypeKind.I32:\n case TypeKind.I64:\n case TypeKind.Isize:\n case TypeKind.U8:\n case TypeKind.U16:\n case TypeKind.U32:\n case TypeKind.U64:\n case TypeKind.Usize: return arg0;\n case TypeKind.F32: return module.unary(UnaryOp.NearestF32, arg0);\n case TypeKind.F64: return module.unary(UnaryOp.NearestF64, arg0);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"nearest\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.nearest, builtin_nearest);\n\n// reinterpret(value: *) -> T\nfunction builtin_reinterpret(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkTypeRequired(ctx, true) |\n checkArgsRequired(ctx, 1)\n ) return module.unreachable();\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments;\n let type = typeArguments![0];\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.I32:\n case TypeKind.U32: {\n let arg0 = compiler.compileExpression(operands[0], Type.f32, Constraints.ConvImplicit);\n compiler.currentType = type;\n return module.unary(UnaryOp.ReinterpretF32ToI32, arg0);\n }\n case TypeKind.I64:\n case TypeKind.U64: {\n let arg0 = compiler.compileExpression(operands[0], Type.f64, Constraints.ConvImplicit);\n compiler.currentType = type;\n return module.unary(UnaryOp.ReinterpretF64ToI64, arg0);\n }\n case TypeKind.Isize:\n case TypeKind.Usize: {\n let isWasm64 = compiler.options.isWasm64;\n let arg0 = compiler.compileExpression(operands[0],\n isWasm64 ? Type.f64 : Type.f32,\n Constraints.ConvImplicit\n );\n compiler.currentType = type;\n return module.unary(\n isWasm64\n ? UnaryOp.ReinterpretF64ToI64\n : UnaryOp.ReinterpretF32ToI32,\n arg0\n );\n }\n case TypeKind.F32: {\n let arg0 = compiler.compileExpression(operands[0], Type.i32, Constraints.ConvImplicit);\n compiler.currentType = Type.f32;\n return module.unary(UnaryOp.ReinterpretI32ToF32, arg0);\n }\n case TypeKind.F64: {\n let arg0 = compiler.compileExpression(operands[0], Type.i64, Constraints.ConvImplicit);\n compiler.currentType = Type.f64;\n return module.unary(UnaryOp.ReinterpretI64ToF64, arg0);\n }\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"reinterpret\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.reinterpret, builtin_reinterpret);\n\n// sqrt(value: T) -> T\nfunction builtin_sqrt(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkTypeOptional(ctx, true) |\n checkArgsRequired(ctx, 1)\n ) return module.unreachable();\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments;\n let arg0 = typeArguments\n ? compiler.compileExpression(operands[0], typeArguments[0], Constraints.ConvImplicit)\n : compiler.compileExpression(operands[0], Type.f64, Constraints.None);\n let type = compiler.currentType;\n if (type.isValue) {\n switch (type.kind) {\n // TODO: integer versions (that return f64 or convert)?\n case TypeKind.F32: return module.unary(UnaryOp.SqrtF32, arg0);\n case TypeKind.F64: return module.unary(UnaryOp.SqrtF64, arg0);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"sqrt\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.sqrt, builtin_sqrt);\n\n// trunc(value: T) -> T\nfunction builtin_trunc(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkTypeOptional(ctx, true) |\n checkArgsRequired(ctx, 1)\n ) return module.unreachable();\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments;\n let arg0 = typeArguments\n ? compiler.compileExpression(operands[0], typeArguments[0], Constraints.ConvImplicit)\n : compiler.compileExpression(operands[0], Type.auto, Constraints.None);\n let type = compiler.currentType;\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.Bool:\n case TypeKind.I8:\n case TypeKind.I16:\n case TypeKind.I32:\n case TypeKind.I64:\n case TypeKind.Isize:\n case TypeKind.U8:\n case TypeKind.U16:\n case TypeKind.U32:\n case TypeKind.U64:\n case TypeKind.Usize: return arg0; // considered truncated\n case TypeKind.F32: return module.unary(UnaryOp.TruncF32, arg0);\n case TypeKind.F64: return module.unary(UnaryOp.TruncF64, arg0);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"trunc\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.trunc, builtin_trunc);\n\n// isNaN(value: T) -> bool\nfunction builtin_isNaN(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkTypeOptional(ctx) |\n checkArgsRequired(ctx, 1)\n ) {\n compiler.currentType = Type.bool;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments;\n let arg0 = typeArguments\n ? compiler.compileExpression(operands[0], typeArguments[0], Constraints.ConvImplicit)\n : compiler.compileExpression(operands[0], Type.auto);\n let type = compiler.currentType;\n compiler.currentType = Type.bool;\n if (type.isValue) {\n switch (type.kind) {\n // never NaN\n case TypeKind.I8:\n case TypeKind.I16:\n case TypeKind.I32:\n case TypeKind.I64:\n case TypeKind.Isize:\n case TypeKind.U8:\n case TypeKind.U16:\n case TypeKind.U32:\n case TypeKind.U64:\n case TypeKind.Usize: {\n return module.maybeDropCondition(arg0, module.i32(0));\n }\n // (t = arg0) != t\n case TypeKind.F32: {\n if (getExpressionId(arg0) == ExpressionId.LocalGet) {\n return module.binary(BinaryOp.NeF32,\n arg0,\n module.local_get(getLocalGetIndex(arg0), TypeRef.F32)\n );\n }\n let flow = compiler.currentFlow;\n let temp = flow.getTempLocal(Type.f32);\n let ret = module.binary(BinaryOp.NeF32,\n module.local_tee(temp.index, arg0, false), // f32\n module.local_get(temp.index, TypeRef.F32)\n );\n return ret;\n }\n case TypeKind.F64: {\n if (getExpressionId(arg0) == ExpressionId.LocalGet) {\n return module.binary(BinaryOp.NeF64,\n arg0,\n module.local_get(getLocalGetIndex(arg0), TypeRef.F64)\n );\n }\n let flow = compiler.currentFlow;\n let temp = flow.getTempLocal(Type.f64);\n let ret = module.binary(BinaryOp.NeF64,\n module.local_tee(temp.index, arg0, false), // f64\n module.local_get(temp.index, TypeRef.F64)\n );\n return ret;\n }\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"isNaN\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.isNaN, builtin_isNaN);\n\n// isFinite(value: T) -> bool\nfunction builtin_isFinite(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkTypeOptional(ctx) |\n checkArgsRequired(ctx, 1)\n ) {\n compiler.currentType = Type.bool;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments;\n let arg0 = typeArguments\n ? compiler.compileExpression(operands[0], typeArguments[0], Constraints.ConvImplicit)\n : compiler.compileExpression(operands[0], Type.auto);\n let type = compiler.currentType;\n compiler.currentType = Type.bool;\n if (type.isValue) {\n switch (type.kind) {\n // always finite\n case TypeKind.I8:\n case TypeKind.I16:\n case TypeKind.I32:\n case TypeKind.I64:\n case TypeKind.Isize:\n case TypeKind.U8:\n case TypeKind.U16:\n case TypeKind.U32:\n case TypeKind.U64:\n case TypeKind.Usize: {\n return module.maybeDropCondition(arg0, module.i32(1));\n }\n // (t = arg0) - t == 0\n case TypeKind.F32: {\n if (getExpressionId(arg0) == ExpressionId.LocalGet) {\n return module.binary(BinaryOp.EqF32,\n module.binary(BinaryOp.SubF32,\n arg0,\n module.local_get(getLocalGetIndex(arg0), TypeRef.F32)\n ),\n module.f32(0)\n );\n }\n let flow = compiler.currentFlow;\n let temp = flow.getTempLocal(Type.f32);\n let ret = module.binary(BinaryOp.EqF32,\n module.binary(BinaryOp.SubF32,\n module.local_tee(temp.index, arg0, false), // f32\n module.local_get(temp.index, TypeRef.F32)\n ),\n module.f32(0)\n );\n return ret;\n }\n case TypeKind.F64: {\n if (getExpressionId(arg0) == ExpressionId.LocalGet) {\n return module.binary(BinaryOp.EqF64,\n module.binary(BinaryOp.SubF64,\n arg0,\n module.local_get(getLocalGetIndex(arg0), TypeRef.F64)\n ),\n module.f64(0)\n );\n }\n let flow = compiler.currentFlow;\n let temp = flow.getTempLocal(Type.f64);\n let ret = module.binary(BinaryOp.EqF64,\n module.binary(BinaryOp.SubF64,\n module.local_tee(temp.index, arg0, false), // f64\n module.local_get(temp.index, TypeRef.F64)\n ),\n module.f64(0)\n );\n return ret;\n }\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"isFinite\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.isFinite, builtin_isFinite);\n\n// === Memory access ==========================================================================\n\n// __heap_base\nfunction builtin_heap_base_compile(ctx: BuiltinVariableContext): void {\n let compiler = ctx.compiler;\n let module = compiler.module;\n let element = ctx.element;\n let type = element.type;\n compiler.runtimeFeatures |= RuntimeFeatures.Heap;\n module.addGlobal(element.internalName, type.toRef(), true, compiler.makeZero(type)); // dummy\n}\nbuiltinVariables_onCompile.set(BuiltinNames.heap_base, builtin_heap_base_compile);\n\n// __heap_base -> usize\nfunction builtin_heap_base_access(ctx: BuiltinVariableContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n let element = ctx.element;\n let type = element.type;\n compiler.runtimeFeatures |= RuntimeFeatures.Heap;\n compiler.currentType = type;\n return module.global_get(element.internalName, type.toRef());\n}\nbuiltinVariables_onAccess.set(BuiltinNames.heap_base, builtin_heap_base_access);\n\n// __data_end\nfunction builtin_data_end_compile(ctx: BuiltinVariableContext): void {\n let compiler = ctx.compiler;\n let module = compiler.module;\n let element = ctx.element;\n let type = element.type;\n compiler.runtimeFeatures |= RuntimeFeatures.Data;\n module.addGlobal(element.internalName, type.toRef(), true, compiler.makeZero(type)); // dummy\n}\nbuiltinVariables_onCompile.set(BuiltinNames.data_end, builtin_data_end_compile);\n\n// __data_end -> usize\nfunction builtin_data_end_access(ctx: BuiltinVariableContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n let element = ctx.element;\n let type = element.type;\n compiler.runtimeFeatures |= RuntimeFeatures.Data;\n compiler.currentType = type;\n return module.global_get(element.internalName, type.toRef());\n}\nbuiltinVariables_onAccess.set(BuiltinNames.data_end, builtin_data_end_access);\n\n// __stack_pointer\nfunction builtin_stack_pointer_compile(ctx: BuiltinVariableContext): void {\n let compiler = ctx.compiler;\n let module = compiler.module;\n let element = ctx.element;\n let type = element.type;\n compiler.runtimeFeatures |= RuntimeFeatures.Stack;\n module.addGlobal(element.internalName, type.toRef(), true, compiler.makeZero(type)); // dummy\n}\nbuiltinVariables_onCompile.set(BuiltinNames.stack_pointer, builtin_stack_pointer_compile);\n\n// __stack_pointer -> usize\nfunction builtin_stack_pointer_access(ctx: BuiltinVariableContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n let element = ctx.element;\n let type = element.type;\n compiler.runtimeFeatures |= RuntimeFeatures.Stack;\n compiler.currentType = type;\n return module.global_get(element.internalName, type.toRef());\n}\nbuiltinVariables_onAccess.set(BuiltinNames.stack_pointer, builtin_stack_pointer_access);\n\n// __rtti_base\nfunction builtin_rtti_base_compile(ctx: BuiltinVariableContext): void {\n let compiler = ctx.compiler;\n let module = compiler.module;\n let element = ctx.element;\n let type = element.type;\n compiler.runtimeFeatures |= RuntimeFeatures.Rtti;\n module.addGlobal(element.internalName, type.toRef(), true, compiler.makeZero(type)); // dummy\n}\nbuiltinVariables_onCompile.set(BuiltinNames.rtti_base, builtin_rtti_base_compile);\n\n// __rtti_base -> usize\nfunction builtin_rtti_base_access(ctx: BuiltinVariableContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n let element = ctx.element;\n let type = element.type;\n compiler.runtimeFeatures |= RuntimeFeatures.Rtti;\n compiler.currentType = type;\n return module.global_get(element.internalName, type.toRef());\n}\nbuiltinVariables_onAccess.set(BuiltinNames.rtti_base, builtin_rtti_base_access);\n\n// load(offset: usize, immOffset?: usize, immAlign?: usize) -> T*\nfunction builtin_load(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkTypeRequired(ctx, true) |\n checkArgsOptional(ctx, 1, 3)\n ) return module.unreachable();\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments;\n let contextualType = ctx.contextualType;\n let type = typeArguments![0];\n\n let outType = (\n contextualType != Type.auto &&\n type.isIntegerValue &&\n contextualType.isIntegerValue &&\n contextualType.size > type.size\n ) ? contextualType : type;\n\n if (!outType.isMemory) {\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"load\", outType.toString()\n );\n compiler.currentType = Type.void;\n return module.unreachable();\n }\n\n let arg0 = compiler.compileExpression(operands[0], compiler.options.usizeType, Constraints.ConvImplicit);\n let numOperands = operands.length;\n let immOffset = 0;\n let immAlign = type.byteSize;\n if (numOperands >= 2) {\n immOffset = evaluateImmediateOffset(operands[1], compiler); // reports\n if (immOffset < 0) {\n compiler.currentType = outType;\n return module.unreachable();\n }\n if (numOperands == 3) {\n immAlign = evaluateImmediateAlign(operands[2], immAlign, compiler); // reports\n if (immAlign < 0) {\n compiler.currentType = outType;\n return module.unreachable();\n }\n }\n }\n compiler.currentType = outType;\n return module.load(\n type.byteSize,\n type.isSignedIntegerValue,\n arg0,\n outType.toRef(),\n immOffset,\n immAlign\n );\n}\nbuiltinFunctions.set(BuiltinNames.load, builtin_load);\n\n// store(ptr: usize, value: T*, immOffset?: usize, immAlign?: usize) -> void\nfunction builtin_store(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n compiler.currentType = Type.void;\n if (\n checkTypeRequired(ctx) |\n checkArgsOptional(ctx, 2, 4)\n ) return module.unreachable();\n let operands = ctx.operands;\n let numOperands = operands.length;\n let typeArguments = ctx.typeArguments;\n let contextualType = ctx.contextualType;\n let type = typeArguments![0];\n let arg0 = compiler.compileExpression(operands[0], compiler.options.usizeType, Constraints.ConvImplicit);\n let arg1 = ctx.contextIsExact\n ? compiler.compileExpression(operands[1],\n contextualType,\n Constraints.ConvImplicit\n )\n : compiler.compileExpression(\n operands[1],\n type,\n type.isIntegerValue\n ? Constraints.None // no need to convert to small int (but now might result in a float)\n : Constraints.ConvImplicit\n );\n let inType = compiler.currentType;\n if (!inType.isMemory) {\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"store\", inType.toString()\n );\n compiler.currentType = Type.void;\n return module.unreachable();\n }\n if (\n type.isIntegerValue &&\n (\n !inType.isIntegerValue || // float to int\n inType.size < type.size // int to larger int (clear garbage bits)\n )\n ) {\n // either conversion or memory operation clears garbage bits\n arg1 = compiler.convertExpression(arg1, inType, type, false, operands[1]);\n inType = type;\n }\n let immOffset = 0;\n let immAlign = type.byteSize;\n if (numOperands >= 3) {\n immOffset = evaluateImmediateOffset(operands[2], compiler); // reports\n if (immOffset < 0) {\n compiler.currentType = Type.void;\n return module.unreachable();\n }\n if (numOperands == 4) {\n immAlign = evaluateImmediateAlign(operands[3], immAlign, compiler); // reports\n if (immAlign < 0) {\n compiler.currentType = Type.void;\n return module.unreachable();\n }\n }\n }\n compiler.currentType = Type.void;\n return module.store(type.byteSize, arg0, arg1, inType.toRef(), immOffset, immAlign);\n}\nbuiltinFunctions.set(BuiltinNames.store, builtin_store);\n\n// rem(left: T, right: T) -> T\nfunction builtin_rem(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (checkTypeOptional(ctx, true) | checkArgsRequired(ctx, 2)) {\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments;\n let left = operands[0];\n let arg0 = typeArguments\n ? compiler.compileExpression(\n left,\n typeArguments[0],\n Constraints.ConvImplicit\n )\n : compiler.compileExpression(operands[0], Type.auto);\n let type = compiler.currentType;\n if (type.isIntegerValue) {\n let arg1: ExpressionRef;\n if (!typeArguments && left.isNumericLiteral) {\n // prefer right type\n arg1 = compiler.compileExpression(\n operands[1],\n type\n );\n if (compiler.currentType != type) {\n arg0 = compiler.compileExpression(\n left,\n (type = compiler.currentType),\n Constraints.ConvImplicit\n );\n }\n } else {\n arg1 = compiler.compileExpression(\n operands[1],\n type,\n Constraints.ConvImplicit\n );\n }\n if (type.isIntegerValue) {\n return compiler.makeRem(arg0, arg1, type, ctx.reportNode);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange,\n \"rem\",\n type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.rem, builtin_rem);\n\n// add(left: T, right: T) -> T\nfunction builtin_add(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (checkTypeOptional(ctx, true) | checkArgsRequired(ctx, 2)) {\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments;\n let left = operands[0];\n let arg0 = typeArguments\n ? compiler.compileExpression(\n left,\n typeArguments[0],\n Constraints.ConvImplicit\n )\n : compiler.compileExpression(operands[0], Type.auto);\n let type = compiler.currentType;\n if (type.isValue) {\n let arg1: ExpressionRef;\n if (!typeArguments && left.isNumericLiteral) {\n // prefer right type\n arg1 = compiler.compileExpression(\n operands[1],\n type\n );\n if (compiler.currentType != type) {\n arg0 = compiler.compileExpression(\n left,\n (type = compiler.currentType),\n Constraints.ConvImplicit\n );\n }\n } else {\n arg1 = compiler.compileExpression(\n operands[1],\n type,\n Constraints.ConvImplicit\n );\n }\n if (type.isNumericValue) {\n return compiler.makeAdd(arg0, arg1, type);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange,\n \"add\",\n type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.add, builtin_add);\n\n// sub(left: T, right: T) -> T\nfunction builtin_sub(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (checkTypeOptional(ctx, true) | checkArgsRequired(ctx, 2)) {\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments;\n let left = operands[0];\n let arg0 = typeArguments\n ? compiler.compileExpression(\n left,\n typeArguments[0],\n Constraints.ConvImplicit\n )\n : compiler.compileExpression(operands[0], Type.auto);\n let type = compiler.currentType;\n if (type.isValue) {\n let arg1: ExpressionRef;\n if (!typeArguments && left.isNumericLiteral) {\n // prefer right type\n arg1 = compiler.compileExpression(\n operands[1],\n type\n );\n if (compiler.currentType != type) {\n arg0 = compiler.compileExpression(\n left,\n (type = compiler.currentType),\n Constraints.ConvImplicit\n );\n }\n } else {\n arg1 = compiler.compileExpression(\n operands[1],\n type,\n Constraints.ConvImplicit\n );\n }\n if (type.isNumericValue) {\n return compiler.makeSub(arg0, arg1, type);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange,\n \"sub\",\n type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.sub, builtin_sub);\n\n// mul(left: T, right: T) -> T\nfunction builtin_mul(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (checkTypeOptional(ctx, true) | checkArgsRequired(ctx, 2)) {\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments;\n let left = operands[0];\n let arg0 = typeArguments\n ? compiler.compileExpression(\n left,\n typeArguments[0],\n Constraints.ConvImplicit\n )\n : compiler.compileExpression(operands[0], Type.auto);\n let type = compiler.currentType;\n if (type.isValue) {\n let arg1: ExpressionRef;\n if (!typeArguments && left.isNumericLiteral) {\n // prefer right type\n arg1 = compiler.compileExpression(\n operands[1],\n type\n );\n if (compiler.currentType != type) {\n arg0 = compiler.compileExpression(\n left,\n (type = compiler.currentType),\n Constraints.ConvImplicit\n );\n }\n } else {\n arg1 = compiler.compileExpression(\n operands[1],\n type,\n Constraints.ConvImplicit\n );\n }\n if (type.isNumericValue) {\n return compiler.makeMul(arg0, arg1, type);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange,\n \"mul\",\n type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.mul, builtin_mul);\n\n// div(left: T, right: T) -> T\nfunction builtin_div(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (checkTypeOptional(ctx, true) | checkArgsRequired(ctx, 2)) {\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments;\n let left = operands[0];\n let arg0 = typeArguments\n ? compiler.compileExpression(\n left,\n typeArguments[0],\n Constraints.ConvImplicit\n )\n : compiler.compileExpression(operands[0], Type.auto);\n let type = compiler.currentType;\n if (type.isValue) {\n let arg1: ExpressionRef;\n if (!typeArguments && left.isNumericLiteral) {\n // prefer right type\n arg1 = compiler.compileExpression(\n operands[1],\n type\n );\n if (compiler.currentType != type) {\n arg0 = compiler.compileExpression(\n left,\n (type = compiler.currentType),\n Constraints.ConvImplicit\n );\n }\n } else {\n arg1 = compiler.compileExpression(\n operands[1],\n type,\n Constraints.ConvImplicit\n );\n }\n if (type.isNumericValue) {\n return compiler.makeDiv(arg0, arg1, type);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange,\n \"div\",\n type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.div, builtin_div);\n\n// eq(left: T, right: T) -> i32\nfunction builtin_eq(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (checkTypeOptional(ctx, true) | checkArgsRequired(ctx, 2)) {\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments;\n let left = operands[0];\n let arg0 = typeArguments\n ? compiler.compileExpression(\n left,\n typeArguments[0],\n Constraints.ConvImplicit\n )\n : compiler.compileExpression(operands[0], Type.auto);\n let type = compiler.currentType;\n if (type.isValue) {\n let arg1: ExpressionRef;\n if (!typeArguments && left.isNumericLiteral) {\n // prefer right type\n arg1 = compiler.compileExpression(\n operands[1],\n type\n );\n if (compiler.currentType != type) {\n arg0 = compiler.compileExpression(\n left,\n (type = compiler.currentType),\n Constraints.ConvImplicit\n );\n }\n } else {\n arg1 = compiler.compileExpression(\n operands[1],\n type,\n Constraints.ConvImplicit\n );\n }\n if (type.isNumericValue) {\n compiler.currentType = Type.i32;\n return compiler.makeEq(arg0, arg1, type, ctx.reportNode);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange,\n \"eq\",\n type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.eq, builtin_eq);\n\n// ne(left: T, right: T) -> i32\nfunction builtin_ne(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (checkTypeOptional(ctx, true) | checkArgsRequired(ctx, 2)) {\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments;\n let left = operands[0];\n let arg0 = typeArguments\n ? compiler.compileExpression(\n left,\n typeArguments[0],\n Constraints.ConvImplicit\n )\n : compiler.compileExpression(operands[0], Type.auto);\n let type = compiler.currentType;\n if (type.isValue) {\n let arg1: ExpressionRef;\n if (!typeArguments && left.isNumericLiteral) {\n // prefer right type\n arg1 = compiler.compileExpression(\n operands[1],\n type\n );\n if (compiler.currentType != type) {\n arg0 = compiler.compileExpression(\n left,\n (type = compiler.currentType),\n Constraints.ConvImplicit\n );\n }\n } else {\n arg1 = compiler.compileExpression(\n operands[1],\n type,\n Constraints.ConvImplicit\n );\n }\n if (type.isNumericValue) {\n compiler.currentType = Type.i32;\n return compiler.makeNe(arg0, arg1, type, ctx.reportNode);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange,\n \"ne\",\n type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.ne, builtin_ne);\n\n// === Atomics ================================================================================\n\n// atomic.load(offset: usize, immOffset?: usize) -> T*\nfunction builtin_atomic_load(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Threads) |\n checkTypeRequired(ctx, true) |\n checkArgsOptional(ctx, 1, 2)\n ) return module.unreachable();\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments;\n let contextualType = ctx.contextualType;\n let type = typeArguments![0];\n let outType = (\n type.isIntegerValue &&\n contextualType.isIntegerValue &&\n contextualType.size > type.size\n ) ? contextualType : type;\n if (!type.isIntegerValue) {\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"atomic.load\", type.toString()\n );\n compiler.currentType = outType;\n return module.unreachable();\n }\n let arg0 = compiler.compileExpression(operands[0], compiler.options.usizeType, Constraints.ConvImplicit);\n let immOffset = operands.length == 2 ? evaluateImmediateOffset(operands[1], compiler) : 0; // reports\n if (immOffset < 0) {\n compiler.currentType = outType;\n return module.unreachable();\n }\n compiler.currentType = outType;\n return module.atomic_load(\n type.byteSize,\n arg0,\n outType.toRef(),\n immOffset\n );\n}\nbuiltinFunctions.set(BuiltinNames.atomic_load, builtin_atomic_load);\n\n// atomic.store(offset: usize, value: T*, immOffset?: usize) -> void\nfunction builtin_atomic_store(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Threads) |\n checkTypeRequired(ctx) |\n checkArgsOptional(ctx, 2, 3)\n ) return module.unreachable();\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments;\n let contextualType = ctx.contextualType;\n let type = typeArguments![0];\n if (!type.isIntegerValue) {\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"atomic.store\", type.toString()\n );\n compiler.currentType = Type.void;\n return module.unreachable();\n }\n let arg0 = compiler.compileExpression(operands[0], compiler.options.usizeType, Constraints.ConvImplicit);\n let arg1 = ctx.contextIsExact\n ? compiler.compileExpression(\n operands[1],\n contextualType,\n Constraints.ConvImplicit\n )\n : compiler.compileExpression(\n operands[1],\n type,\n type.isIntegerValue\n ? Constraints.None // no need to convert to small int (but now might result in a float)\n : Constraints.ConvImplicit\n );\n let inType = compiler.currentType;\n if (\n type.isIntegerValue &&\n (\n !inType.isIntegerValue|| // float to int\n inType.size < type.size // int to larger int (clear garbage bits)\n )\n ) {\n // either conversion or memory operation clears garbage bits\n arg1 = compiler.convertExpression(arg1, inType, type, false, operands[1]);\n inType = type;\n }\n let immOffset = operands.length == 3 ? evaluateImmediateOffset(operands[2], compiler) : 0; // reports\n if (immOffset < 0) {\n compiler.currentType = Type.void;\n return module.unreachable();\n }\n compiler.currentType = Type.void;\n return module.atomic_store(type.byteSize, arg0, arg1, inType.toRef(), immOffset);\n}\nbuiltinFunctions.set(BuiltinNames.atomic_store, builtin_atomic_store);\n\n// any_atomic_binary(ptr, value: T, immOffset?: usize) -> T\nfunction builtin_atomic_binary(ctx: BuiltinFunctionContext, op: AtomicRMWOp, opName: string): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Threads) |\n checkTypeRequired(ctx, true) |\n checkArgsOptional(ctx, 2, 3)\n ) return module.unreachable();\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments;\n let contextualType = ctx.contextualType;\n let type = typeArguments![0];\n if (!type.isIntegerValue || type.size < 8) {\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, opName, type.toString()\n );\n return module.unreachable();\n }\n let arg0 = compiler.compileExpression(operands[0],\n compiler.options.usizeType,\n Constraints.ConvImplicit\n );\n let arg1 = ctx.contextIsExact\n ? compiler.compileExpression(operands[1],\n contextualType,\n Constraints.ConvImplicit\n )\n : compiler.compileExpression(\n operands[1],\n type,\n type.isIntegerValue\n ? Constraints.None // no need to convert to small int (but now might result in a float)\n : Constraints.ConvImplicit\n );\n let inType = compiler.currentType;\n if (\n type.isIntegerValue &&\n (\n !inType.isIntegerValue || // float to int\n inType.size < type.size // int to larger int (clear garbage bits)\n )\n ) {\n // either conversion or memory operation clears garbage bits\n arg1 = compiler.convertExpression(arg1, inType, type, false, operands[1]);\n inType = type;\n }\n let immOffset = operands.length == 3 ? evaluateImmediateOffset(operands[2], compiler) : 0; // reports\n if (immOffset < 0) {\n compiler.currentType = inType;\n return module.unreachable();\n }\n compiler.currentType = inType;\n return module.atomic_rmw(op, type.byteSize, immOffset, arg0, arg1, inType.toRef());\n}\n\n// atomic.add(ptr, value: T, immOffset?: usize) -> T\nfunction builtin_atomic_add(ctx: BuiltinFunctionContext): ExpressionRef {\n return builtin_atomic_binary(ctx, AtomicRMWOp.Add, \"atomic.add\");\n}\nbuiltinFunctions.set(BuiltinNames.atomic_add, builtin_atomic_add);\n\n// atomic.sub(ptr, value: T, immOffset?: usize) -> T\nfunction builtin_atomic_sub(ctx: BuiltinFunctionContext): ExpressionRef {\n return builtin_atomic_binary(ctx, AtomicRMWOp.Sub, \"atomic.sub\");\n}\nbuiltinFunctions.set(BuiltinNames.atomic_sub, builtin_atomic_sub);\n\n// atomic.and(ptr, value: T, immOffset?: usize) -> T\nfunction builtin_atomic_and(ctx: BuiltinFunctionContext): ExpressionRef {\n return builtin_atomic_binary(ctx, AtomicRMWOp.And, \"atomic.and\");\n}\nbuiltinFunctions.set(BuiltinNames.atomic_and, builtin_atomic_and);\n\n// atomic.or(ptr, value: T, immOffset?: usize) -> T\nfunction builtin_atomic_or(ctx: BuiltinFunctionContext): ExpressionRef {\n return builtin_atomic_binary(ctx, AtomicRMWOp.Or, \"atomic.or\");\n}\nbuiltinFunctions.set(BuiltinNames.atomic_or, builtin_atomic_or);\n\n// atomic.xor(ptr, value: T, immOffset?: usize) -> T\nfunction builtin_atomic_xor(ctx: BuiltinFunctionContext): ExpressionRef {\n return builtin_atomic_binary(ctx, AtomicRMWOp.Xor, \"atomic.xor\");\n}\nbuiltinFunctions.set(BuiltinNames.atomic_xor, builtin_atomic_xor);\n\n// atomic.xchg(ptr, value: T, immOffset?: usize) -> T\nfunction builtin_atomic_xchg(ctx: BuiltinFunctionContext): ExpressionRef {\n return builtin_atomic_binary(ctx, AtomicRMWOp.Xchg, \"atomic.xchg\");\n}\nbuiltinFunctions.set(BuiltinNames.atomic_xchg, builtin_atomic_xchg);\n\n// atomic.cmpxchg(ptr: usize, expected: T, replacement: T, off?: usize) -> T\nfunction builtin_atomic_cmpxchg(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Threads) |\n checkTypeRequired(ctx, true) |\n checkArgsOptional(ctx, 3, 4)\n ) return module.unreachable();\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments;\n let contextualType = ctx.contextualType;\n let type = typeArguments![0];\n if (!type.isIntegerValue || type.size < 8) {\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"atomic.cmpxchg\", type.toString()\n );\n return module.unreachable();\n }\n let arg0 = compiler.compileExpression(operands[0],\n compiler.options.usizeType,\n Constraints.ConvImplicit\n );\n let arg1 = ctx.contextIsExact\n ? compiler.compileExpression(operands[1],\n contextualType,\n Constraints.ConvImplicit\n )\n : compiler.compileExpression(\n operands[1],\n type,\n type.isIntegerValue\n ? Constraints.None // no need to convert to small int (but now might result in a float)\n : Constraints.ConvImplicit\n );\n let inType = compiler.currentType;\n let arg2 = compiler.compileExpression(operands[2],\n inType,\n Constraints.ConvImplicit\n );\n if (\n type.isIntegerValue &&\n (\n !inType.isIntegerValue || // float to int\n inType.size < type.size // int to larger int (clear garbage bits)\n )\n ) {\n // either conversion or memory operation clears garbage bits\n arg1 = compiler.convertExpression(arg1, inType, type, false, operands[1]);\n arg2 = compiler.convertExpression(arg2, inType, type, false, operands[2]);\n inType = type;\n }\n let immOffset = operands.length == 4 ? evaluateImmediateOffset(operands[3], compiler) : 0; // reports\n if (immOffset < 0) {\n compiler.currentType = inType;\n return module.unreachable();\n }\n compiler.currentType = inType;\n return module.atomic_cmpxchg(type.byteSize, immOffset, arg0, arg1, arg2, inType.toRef());\n}\nbuiltinFunctions.set(BuiltinNames.atomic_cmpxchg, builtin_atomic_cmpxchg);\n\n// atomic.wait(ptr: usize, expected: T, timeout?: i64) -> i32\nfunction builtin_atomic_wait(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Threads) |\n checkTypeRequired(ctx) |\n checkArgsOptional(ctx, 2, 3)\n ) {\n compiler.currentType = Type.i32;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments;\n let type = typeArguments![0];\n let arg0 = compiler.compileExpression(operands[0], compiler.options.usizeType, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], type, Constraints.ConvImplicit);\n let arg2 = operands.length == 3\n ? compiler.compileExpression(operands[2], Type.i64, Constraints.ConvImplicit)\n : module.i64(-1, -1); // Infinite timeout\n compiler.currentType = Type.i32;\n switch (type.kind) {\n case TypeKind.I32:\n case TypeKind.I64:\n case TypeKind.Isize:\n case TypeKind.U32:\n case TypeKind.U64:\n case TypeKind.Usize: return module.atomic_wait(arg0, arg1, arg2, type.toRef());\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"atomic.wait\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.atomic_wait, builtin_atomic_wait);\n\n// atomic.notify(ptr: usize, count?: i32) -> i32\nfunction builtin_atomic_notify(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Threads) |\n checkTypeAbsent(ctx) |\n checkArgsOptional(ctx, 1, 2)\n ) {\n compiler.currentType = Type.i32;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let arg0 = compiler.compileExpression(operands[0], compiler.options.usizeType, Constraints.ConvImplicit);\n let arg1 = operands.length == 2\n ? compiler.compileExpression(operands[1], Type.i32, Constraints.ConvImplicit)\n : module.i32(-1); // Inifinity count of waiters\n compiler.currentType = Type.i32;\n return module.atomic_notify(arg0, arg1);\n}\nbuiltinFunctions.set(BuiltinNames.atomic_notify, builtin_atomic_notify);\n\n// atomic.fence() -> void\nfunction builtin_atomic_fence(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n compiler.currentType = Type.void;\n if (\n checkFeatureEnabled(ctx, Feature.Threads) |\n checkTypeAbsent(ctx) |\n checkArgsRequired(ctx, 0)\n ) return module.unreachable();\n return module.atomic_fence();\n}\nbuiltinFunctions.set(BuiltinNames.atomic_fence, builtin_atomic_fence);\n\n// === Control flow ===========================================================================\n\n// select(ifTrue: T, ifFalse: T, condition: bool) -> T\nfunction builtin_select(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkTypeOptional(ctx, true) |\n checkArgsRequired(ctx, 3)\n ) return module.unreachable();\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments;\n let arg0 = typeArguments\n ? compiler.compileExpression(operands[0], typeArguments[0], Constraints.ConvImplicit)\n : compiler.compileExpression(operands[0], Type.auto);\n let type = compiler.currentType;\n if (!type.isAny(TypeFlags.Value | TypeFlags.Reference)) {\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"select\", type.toString()\n );\n return module.unreachable();\n }\n let arg1 = compiler.compileExpression(operands[1], type, Constraints.ConvImplicit);\n let arg2 = compiler.makeIsTrueish(\n compiler.compileExpression(operands[2], Type.bool),\n compiler.currentType, // ^\n operands[2]\n );\n compiler.currentType = type;\n return module.select(arg0, arg1, arg2, type.toRef());\n}\nbuiltinFunctions.set(BuiltinNames.select, builtin_select);\n\n// unreachable() -> *\nfunction builtin_unreachable(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n checkArgsRequired(ctx, 0);\n return ctx.compiler.module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.unreachable, builtin_unreachable);\n\n// === Memory =================================================================================\n\n// memory.size() -> i32\nfunction builtin_memory_size(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n compiler.currentType = Type.i32;\n if (\n checkTypeAbsent(ctx) |\n checkArgsRequired(ctx, 0)\n ) return module.unreachable();\n return module.memory_size();\n}\nbuiltinFunctions.set(BuiltinNames.memory_size, builtin_memory_size);\n\n// memory.grow(pages: i32) -> i32\nfunction builtin_memory_grow(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n compiler.currentType = Type.i32;\n if (\n checkTypeAbsent(ctx) |\n checkArgsRequired(ctx, 1)\n ) return module.unreachable();\n return module.memory_grow(compiler.compileExpression(ctx.operands[0], Type.i32, Constraints.ConvImplicit));\n}\nbuiltinFunctions.set(BuiltinNames.memory_grow, builtin_memory_grow);\n\n// memory.copy(dest: usize, src: usize: n: usize) -> void\nfunction builtin_memory_copy(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n compiler.currentType = Type.void;\n if (\n checkTypeAbsent(ctx) |\n checkArgsRequired(ctx, 3)\n ) return module.unreachable();\n let operands = ctx.operands;\n if (!compiler.options.hasFeature(Feature.BulkMemory)) {\n // use stdlib alternative if not supported\n let instance = compiler.resolver.resolveFunction(ctx.prototype, null); // reports\n compiler.currentType = Type.void;\n if (!instance || !compiler.compileFunction(instance, true)) return module.unreachable();\n return compiler.compileCallDirect(instance, operands, ctx.reportNode);\n }\n let usizeType = compiler.options.usizeType;\n let arg0 = compiler.compileExpression(operands[0], usizeType, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], usizeType, Constraints.ConvImplicit);\n let arg2 = compiler.compileExpression(operands[2], usizeType, Constraints.ConvImplicit);\n compiler.currentType = Type.void;\n return module.memory_copy(arg0, arg1, arg2);\n}\nbuiltinFunctions.set(BuiltinNames.memory_copy, builtin_memory_copy);\n\n// memory.fill(dest: usize, value: u8, n: usize) -> void\nfunction builtin_memory_fill(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n compiler.currentType = Type.void;\n if (\n checkTypeAbsent(ctx) |\n checkArgsRequired(ctx, 3)\n ) return module.unreachable();\n let operands = ctx.operands;\n if (!compiler.options.hasFeature(Feature.BulkMemory)) {\n // use stdlib alternative if not supported\n let instance = compiler.resolver.resolveFunction(ctx.prototype, null); // reports\n compiler.currentType = Type.void;\n if (!instance || !compiler.compileFunction(instance, true)) return module.unreachable();\n return compiler.compileCallDirect(instance, operands, ctx.reportNode);\n }\n let usizeType = compiler.options.usizeType;\n let arg0 = compiler.compileExpression(operands[0], usizeType, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.u8, Constraints.ConvImplicit);\n let arg2 = compiler.compileExpression(operands[2], usizeType, Constraints.ConvImplicit);\n compiler.currentType = Type.void;\n return module.memory_fill(arg0, arg1, arg2);\n}\nbuiltinFunctions.set(BuiltinNames.memory_fill, builtin_memory_fill);\n\n// memory.data(size[, align]) -> usize\n// memory.data(values[, align]) -> usize\nfunction builtin_memory_data(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n compiler.currentType = Type.i32;\n if (\n checkTypeOptional(ctx) |\n checkArgsOptional(ctx, 1, 2)\n ) return module.unreachable();\n let typeArguments = ctx.typeArguments;\n let operands = ctx.operands;\n let numOperands = operands.length;\n let usizeType = compiler.options.usizeType;\n let offset: i64;\n if (typeArguments && typeArguments.length > 0) { // data(values[, align])\n let elementType = typeArguments[0];\n if (!elementType.isValue) {\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"memory.data\", elementType.toString()\n );\n compiler.currentType = usizeType;\n return module.unreachable();\n }\n let valuesOperand = operands[0];\n if (valuesOperand.kind != NodeKind.Literal || (valuesOperand).literalKind != LiteralKind.Array) {\n compiler.error(\n DiagnosticCode.Array_literal_expected,\n operands[0].range\n );\n compiler.currentType = usizeType;\n return module.unreachable();\n }\n let expressions = (valuesOperand).elementExpressions;\n let numElements = expressions.length;\n let exprs = new Array(numElements);\n let isStatic = true;\n for (let i = 0; i < numElements; ++i) {\n let elementExpression = expressions[i];\n if (elementExpression.kind != NodeKind.Omitted) {\n let expr = compiler.compileExpression(elementExpression, elementType, Constraints.ConvImplicit);\n let precomp = module.runExpression(expr, ExpressionRunnerFlags.PreserveSideeffects);\n if (precomp) {\n expr = precomp;\n } else {\n isStatic = false;\n }\n exprs[i] = expr;\n } else {\n exprs[i] = compiler.makeZero(elementType);\n }\n }\n if (!isStatic) {\n compiler.error(\n DiagnosticCode.Expression_must_be_a_compile_time_constant,\n valuesOperand.range\n );\n compiler.currentType = usizeType;\n return module.unreachable();\n }\n let align = elementType.byteSize;\n if (numOperands == 2) {\n align = evaluateImmediateAlign(operands[1], align, compiler); // reports\n if (align < 0) {\n compiler.currentType = usizeType;\n return module.unreachable();\n }\n }\n let buf = new Uint8Array(numElements * elementType.byteSize);\n assert(compiler.writeStaticBuffer(buf, 0, elementType, exprs) == buf.byteLength);\n offset = compiler.addAlignedMemorySegment(buf, align).offset;\n } else { // data(size[, align])\n let arg0 = compiler.compileExpression(operands[0], Type.i32, Constraints.ConvImplicit);\n let precomp = module.runExpression(arg0, ExpressionRunnerFlags.PreserveSideeffects);\n if (!precomp) {\n compiler.error(\n DiagnosticCode.Expression_must_be_a_compile_time_constant,\n operands[0].range\n );\n compiler.currentType = usizeType;\n return module.unreachable();\n }\n let size = getConstValueI32(precomp);\n if (size < 1) {\n compiler.error(\n DiagnosticCode._0_must_be_a_value_between_1_and_2_inclusive,\n operands[0].range, \"1\", i32.MAX_VALUE.toString()\n );\n compiler.currentType = usizeType;\n return module.unreachable();\n }\n let align = 16;\n if (numOperands == 2) {\n align = evaluateImmediateAlign(operands[1], align, compiler); // reports\n if (align < 0) {\n compiler.currentType = usizeType;\n return module.unreachable();\n }\n }\n offset = compiler.addAlignedMemorySegment(new Uint8Array(size), align).offset;\n }\n // FIXME: what if recompiles happen? recompiles are bad.\n compiler.currentType = usizeType;\n if (usizeType == Type.usize32) {\n assert(!i64_high(offset));\n return module.i32(i64_low(offset));\n } else {\n return module.i64(i64_low(offset), i64_high(offset));\n }\n}\nbuiltinFunctions.set(BuiltinNames.memory_data, builtin_memory_data);\n\n// === GC =====================================================================================\n\nfunction builtin_i31_new(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkTypeAbsent(ctx) |\n checkArgsRequired(ctx, 1)\n ) return module.unreachable();\n let operands = ctx.operands;\n let arg0 = compiler.compileExpression(operands[0], Type.i32, Constraints.ConvImplicit);\n compiler.currentType = Type.i31;\n return module.i31_new(arg0);\n}\nbuiltinFunctions.set(BuiltinNames.i31_new, builtin_i31_new);\n\nfunction builtin_i31_get(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkTypeAbsent(ctx) |\n checkArgsRequired(ctx, 1)\n ) return module.unreachable();\n let operands = ctx.operands;\n let arg0 = compiler.compileExpression(operands[0], Type.i31.asNullable(), Constraints.ConvImplicit);\n if (ctx.contextualType.is(TypeFlags.Unsigned)) {\n compiler.currentType = Type.u32;\n return module.i31_get(arg0, false);\n } else {\n compiler.currentType = Type.i32;\n return module.i31_get(arg0, true);\n }\n}\nbuiltinFunctions.set(BuiltinNames.i31_get, builtin_i31_get);\n\n// === Helpers ================================================================================\n\n// changetype(value: *) -> T\nfunction builtin_changetype(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkTypeRequired(ctx, true) |\n checkArgsRequired(ctx, 1)\n ) return module.unreachable();\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let toType = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.auto);\n let fromType = compiler.currentType;\n compiler.currentType = toType;\n if (!fromType.isChangeableTo(toType)) {\n compiler.error(\n DiagnosticCode.Type_0_cannot_be_changed_to_type_1,\n ctx.reportNode.range, fromType.toString(), toType.toString()\n );\n return module.unreachable();\n }\n return arg0;\n}\nbuiltinFunctions.set(BuiltinNames.changetype, builtin_changetype);\n\n// assert(isTrueish: T, message?: string) -> T{!= null}\nfunction builtin_assert(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n let typeArguments = ctx.typeArguments;\n if (\n checkTypeOptional(ctx, true) |\n checkArgsOptional(ctx, 1, 2)\n ) {\n if (typeArguments) {\n assert(typeArguments.length); // otherwise invalid, should not been set at all\n compiler.currentType = typeArguments[0].nonNullableType;\n }\n return module.unreachable();\n }\n let operands = ctx.operands;\n let contextualType = ctx.contextualType;\n let arg0 = typeArguments\n ? compiler.compileExpression(operands[0], typeArguments[0], Constraints.ConvImplicit | Constraints.MustWrap)\n : compiler.compileExpression(operands[0], Type.bool, Constraints.MustWrap);\n let type = compiler.currentType;\n compiler.currentType = type.nonNullableType;\n\n // omit if assertions are disabled\n if (compiler.options.noAssert) {\n return arg0;\n }\n\n // omit if the assertion can be proven statically\n let evaled = module.runExpression(arg0, ExpressionRunnerFlags.Default);\n if (evaled) {\n switch (getExpressionType(evaled)) {\n case TypeRef.I32: {\n if (getConstValueI32(evaled)) {\n return arg0;\n }\n break;\n }\n case TypeRef.I64: {\n if (getConstValueI64Low(evaled) | getConstValueI64High(evaled)) {\n return arg0;\n }\n break;\n }\n case TypeRef.F32: {\n if (getConstValueF32(evaled)) {\n return arg0;\n }\n break;\n }\n case TypeRef.F64: {\n if (getConstValueF64(evaled)) {\n return arg0;\n }\n break;\n }\n }\n }\n\n // otherwise call abort if the assertion is false-ish\n let abort = compiler.makeAbort(operands.length == 2 ? operands[1] : null, ctx.reportNode);\n compiler.currentType = type.nonNullableType;\n if (contextualType == Type.void) { // simplify if dropped anyway\n compiler.currentType = Type.void;\n switch (type.kind) {\n case TypeKind.Bool:\n case TypeKind.I8:\n case TypeKind.I16:\n case TypeKind.I32:\n case TypeKind.U8:\n case TypeKind.U16:\n case TypeKind.U32: return module.if(module.unary(UnaryOp.EqzI32, arg0), abort);\n case TypeKind.I64:\n case TypeKind.U64: return module.if(module.unary(UnaryOp.EqzI64, arg0), abort);\n case TypeKind.Isize:\n case TypeKind.Usize: return module.if(module.unary(UnaryOp.EqzSize, arg0), abort);\n // TODO: also check for NaN in float assertions, as in `Boolean(NaN) -> false`?\n case TypeKind.F32: return module.if(module.binary(BinaryOp.EqF32, arg0, module.f32(0)), abort);\n case TypeKind.F64: return module.if(module.binary(BinaryOp.EqF64, arg0, module.f64(0)), abort);\n case TypeKind.Func:\n case TypeKind.Extern:\n case TypeKind.Any:\n case TypeKind.Eq:\n case TypeKind.Struct:\n case TypeKind.Array:\n case TypeKind.I31:\n case TypeKind.String:\n case TypeKind.StringviewWTF8:\n case TypeKind.StringviewWTF16:\n case TypeKind.StringviewIter: return module.if(module.ref_is_null(arg0), abort);\n }\n } else {\n compiler.currentType = type.nonNullableType;\n let flow = compiler.currentFlow;\n switch (compiler.currentType.kind) {\n case TypeKind.Bool:\n case TypeKind.I8:\n case TypeKind.I16:\n case TypeKind.I32:\n case TypeKind.U8:\n case TypeKind.U16:\n case TypeKind.U32: {\n let temp = flow.getTempLocal(type);\n flow.setLocalFlag(temp.index, LocalFlags.Wrapped); // arg0 is wrapped\n let ret = module.if(\n module.local_tee(temp.index, arg0, false), // numeric\n module.local_get(temp.index, TypeRef.I32),\n abort\n );\n return ret;\n }\n case TypeKind.I64:\n case TypeKind.U64: {\n let temp = flow.getTempLocal(Type.i64);\n let ret = module.if(\n module.unary(UnaryOp.EqzI64,\n module.local_tee(temp.index, arg0, false) // i64\n ),\n abort,\n module.local_get(temp.index, TypeRef.I64)\n );\n return ret;\n }\n case TypeKind.Isize:\n case TypeKind.Usize: {\n let temp = flow.getTempLocal(compiler.options.usizeType);\n let ret = module.if(\n module.unary(\n UnaryOp.EqzSize,\n module.local_tee(temp.index, arg0, type.isManaged)\n ),\n abort,\n module.local_get(temp.index, compiler.options.sizeTypeRef)\n );\n return ret;\n }\n case TypeKind.F32: {\n let temp = flow.getTempLocal(Type.f32);\n let ret = module.if(\n module.binary(BinaryOp.EqF32,\n module.local_tee(temp.index, arg0, false), // f32\n module.f32(0)\n ),\n abort,\n module.local_get(temp.index, TypeRef.F32)\n );\n return ret;\n }\n case TypeKind.F64: {\n let temp = flow.getTempLocal(Type.f64);\n let ret = module.if(\n module.binary(BinaryOp.EqF64,\n module.local_tee(temp.index, arg0, false), // f64\n module.f64(0)\n ),\n abort,\n module.local_get(temp.index, TypeRef.F64)\n );\n return ret;\n }\n case TypeKind.Func:\n case TypeKind.Extern:\n case TypeKind.Any:\n case TypeKind.Eq:\n case TypeKind.Struct:\n case TypeKind.Array:\n case TypeKind.I31:\n case TypeKind.String:\n case TypeKind.StringviewWTF8:\n case TypeKind.StringviewWTF16:\n case TypeKind.StringviewIter: {\n let temp = flow.getTempLocal(type);\n let ret = module.if(\n module.ref_is_null(\n module.local_tee(temp.index, arg0, false) // ref\n ),\n abort,\n module.local_get(temp.index, type.toRef())\n );\n return ret;\n }\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange,\n \"assert\", compiler.currentType.toString()\n );\n return abort;\n}\nbuiltinFunctions.set(BuiltinNames.assert, builtin_assert);\n\n// unchecked(expr: *) -> *\nfunction builtin_unchecked(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkTypeAbsent(ctx) |\n checkArgsRequired(ctx, 1)\n ) return module.unreachable();\n let flow = compiler.currentFlow;\n let ignoreUnchecked = compiler.options.uncheckedBehavior === UncheckedBehavior.Never;\n let alreadyUnchecked = flow.is(FlowFlags.UncheckedContext);\n if (ignoreUnchecked) assert(!alreadyUnchecked);\n else flow.set(FlowFlags.UncheckedContext);\n // eliminate unnecessary tees by preferring contextualType(=void)\n let expr = compiler.compileExpression(ctx.operands[0], ctx.contextualType);\n if (!alreadyUnchecked) flow.unset(FlowFlags.UncheckedContext);\n return expr;\n}\nbuiltinFunctions.set(BuiltinNames.unchecked, builtin_unchecked);\n\n// call_indirect(index: u32, ...args: *[]) -> T\nfunction builtin_call_indirect(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkTypeOptional(ctx, true) |\n checkArgsOptional(ctx, 1, i32.MAX_VALUE)\n ) return module.unreachable();\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments;\n let returnType: Type;\n if (typeArguments) {\n assert(typeArguments.length);\n returnType = typeArguments[0];\n } else {\n returnType = ctx.contextualType;\n }\n let indexArg = compiler.compileExpression(operands[0], Type.u32, Constraints.ConvImplicit);\n let numOperands = operands.length - 1;\n let operandExprs = new Array(numOperands);\n let paramTypeRefs = new Array(numOperands);\n for (let i = 0; i < numOperands; ++i) {\n operandExprs[i] = compiler.compileExpression(operands[1 + i], Type.auto);\n paramTypeRefs[i] = compiler.currentType.toRef();\n }\n compiler.currentType = returnType;\n return module.call_indirect(null /* TODO */, indexArg, operandExprs, createType(paramTypeRefs), returnType.toRef());\n}\nbuiltinFunctions.set(BuiltinNames.call_indirect, builtin_call_indirect);\n\n// instantiate(...args: *[]) -> T\nfunction builtin_instantiate(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkTypeRequired(ctx, true)\n ) return module.unreachable();\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let typeArgument = typeArguments[0];\n let classInstance = typeArgument.getClass();\n if (!classInstance) {\n compiler.error(\n DiagnosticCode.This_expression_is_not_constructable,\n ctx.reportNode.expression.range\n );\n return module.unreachable();\n }\n compiler.currentType = classInstance.type;\n let ctor = compiler.ensureConstructor(classInstance, ctx.reportNode);\n compiler.checkFieldInitialization(classInstance, ctx.reportNode);\n return compiler.compileInstantiate(ctor, operands, Constraints.None, ctx.reportNode);\n}\nbuiltinFunctions.set(BuiltinNames.instantiate, builtin_instantiate);\n\n// === User-defined diagnostics ===============================================================\n\nfunction builtin_diagnostic(ctx: BuiltinFunctionContext, category: DiagnosticCategory): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n checkTypeAbsent(ctx);\n let operands = ctx.operands;\n let reportNode = ctx.reportNode;\n compiler.emitDiagnostic(\n DiagnosticCode.User_defined_0,\n category,\n reportNode.range,\n null,\n operands.length\n ? operands[0].range.toString()\n : reportNode.range.toString()\n );\n return category == DiagnosticCategory.Error\n ? module.unreachable()\n : module.nop();\n}\n\n// ERROR(message?)\nfunction builtin_error(ctx: BuiltinFunctionContext): ExpressionRef {\n return builtin_diagnostic(ctx, DiagnosticCategory.Error);\n}\nbuiltinFunctions.set(BuiltinNames.ERROR, builtin_error);\n\n// WARNING(message?)\nfunction builtin_warning(ctx: BuiltinFunctionContext): ExpressionRef {\n return builtin_diagnostic(ctx, DiagnosticCategory.Warning);\n}\nbuiltinFunctions.set(BuiltinNames.WARNING, builtin_warning);\n\n// INFO(message?)\nfunction builtin_info(ctx: BuiltinFunctionContext): ExpressionRef {\n return builtin_diagnostic(ctx, DiagnosticCategory.Info);\n}\nbuiltinFunctions.set(BuiltinNames.INFO, builtin_info);\n\n// === Function builtins ======================================================================\n\n// Function#call(thisArg: thisof | null, ...args: *[]) -> returnof\nfunction builtin_function_call(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let parent = ctx.prototype.parent;\n assert(parent.kind == ElementKind.Class);\n let classInstance = parent;\n assert(classInstance.prototype == compiler.program.functionPrototype);\n let typeArguments = assert(classInstance.typeArguments);\n assert(typeArguments.length == 1);\n let ftype = typeArguments[0];\n let signature = assert(ftype.getSignature());\n let returnType = signature.returnType;\n if (\n checkTypeAbsent(ctx) |\n checkArgsOptional(ctx, 1 + signature.requiredParameters, 1 + signature.parameterTypes.length)\n ) {\n compiler.currentType = returnType;\n return compiler.module.unreachable();\n }\n let functionArg = compiler.compileExpression(assert(ctx.thisOperand), ftype, Constraints.ConvImplicit);\n let thisOperand = assert(ctx.operands.shift());\n let thisType = signature.thisType;\n let thisArg: usize = 0;\n if (thisType) {\n thisArg = compiler.compileExpression(thisOperand, thisType, Constraints.ConvImplicit);\n } else if (thisOperand.kind != NodeKind.Null) {\n compiler.error(\n DiagnosticCode._this_cannot_be_referenced_in_current_location,\n thisOperand.range\n );\n return compiler.module.unreachable();\n }\n return compiler.compileCallIndirect(signature, functionArg, ctx.operands, ctx.reportNode, thisArg, ctx.contextualType == Type.void);\n}\nbuiltinFunctions.set(BuiltinNames.Function_call, builtin_function_call);\n\n// String.raw(parts: TemplateStringsArray, ...values: unknown[]): string\nfunction builtin_string_raw(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n compiler.currentType = ctx.compiler.program.stringInstance.type;\n compiler.error(\n DiagnosticCode.Not_implemented_0,\n ctx.reportNode.range, \"String.raw\"\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.String_raw, builtin_string_raw);\n\n// === Portable type conversions ==============================================================\n\nfunction builtin_conversion(ctx: BuiltinFunctionContext, toType: Type): ExpressionRef {\n let compiler = ctx.compiler;\n if (\n checkTypeAbsent(ctx) |\n checkArgsRequired(ctx, 1)\n ) {\n compiler.currentType = toType;\n return compiler.module.unreachable();\n }\n return compiler.compileExpression(ctx.operands[0], toType, Constraints.ConvExplicit);\n}\n\n// i8(*) -> i8\nfunction builtin_i8(ctx: BuiltinFunctionContext): ExpressionRef {\n return builtin_conversion(ctx, Type.i8);\n}\nbuiltinFunctions.set(BuiltinNames.i8, builtin_i8);\n\n// i16(*) -> i16\nfunction builtin_i16(ctx: BuiltinFunctionContext): ExpressionRef {\n return builtin_conversion(ctx, Type.i16);\n}\nbuiltinFunctions.set(BuiltinNames.i16, builtin_i16);\n\n// i32(*) -> i32\nfunction builtin_i32(ctx: BuiltinFunctionContext): ExpressionRef {\n return builtin_conversion(ctx, Type.i32);\n}\nbuiltinFunctions.set(BuiltinNames.i32, builtin_i32);\n\n// i64(*) -> i64\nfunction builtin_i64(ctx: BuiltinFunctionContext): ExpressionRef {\n return builtin_conversion(ctx, Type.i64);\n}\nbuiltinFunctions.set(BuiltinNames.i64, builtin_i64);\n\n// isize(*) -> isize\nfunction builtin_isize(ctx: BuiltinFunctionContext): ExpressionRef {\n return builtin_conversion(ctx, ctx.compiler.options.isizeType);\n}\nbuiltinFunctions.set(BuiltinNames.isize, builtin_isize);\n\n// u8(*) -> u8\nfunction builtin_u8(ctx: BuiltinFunctionContext): ExpressionRef {\n return builtin_conversion(ctx, Type.u8);\n}\nbuiltinFunctions.set(BuiltinNames.u8, builtin_u8);\n\n// u16(*) -> u16\nfunction builtin_u16(ctx: BuiltinFunctionContext): ExpressionRef {\n return builtin_conversion(ctx, Type.u16);\n}\nbuiltinFunctions.set(BuiltinNames.u16, builtin_u16);\n\n// u32(*) -> u32\nfunction builtin_u32(ctx: BuiltinFunctionContext): ExpressionRef {\n return builtin_conversion(ctx, Type.u32);\n}\nbuiltinFunctions.set(BuiltinNames.u32, builtin_u32);\n\n// u64(*) -> u64\nfunction builtin_u64(ctx: BuiltinFunctionContext): ExpressionRef {\n return builtin_conversion(ctx, Type.u64);\n}\nbuiltinFunctions.set(BuiltinNames.u64, builtin_u64);\n\n// usize(*) -> usize\nfunction builtin_usize(ctx: BuiltinFunctionContext): ExpressionRef {\n return builtin_conversion(ctx, ctx.compiler.options.usizeType);\n}\nbuiltinFunctions.set(BuiltinNames.usize, builtin_usize);\n\n// bool(*) -> bool\nfunction builtin_bool(ctx: BuiltinFunctionContext): ExpressionRef {\n return builtin_conversion(ctx, Type.bool);\n}\nbuiltinFunctions.set(BuiltinNames.bool, builtin_bool);\n\n// f32(*) -> f32\nfunction builtin_f32(ctx: BuiltinFunctionContext): ExpressionRef {\n return builtin_conversion(ctx, Type.f32);\n}\nbuiltinFunctions.set(BuiltinNames.f32, builtin_f32);\n\n// f64(*) -> f64\nfunction builtin_f64(ctx: BuiltinFunctionContext): ExpressionRef {\n return builtin_conversion(ctx, Type.f64);\n}\nbuiltinFunctions.set(BuiltinNames.f64, builtin_f64);\n\n// TODO: alias for now, splat input integer perhaps?\nfunction builtin_v128(ctx: BuiltinFunctionContext): ExpressionRef {\n return builtin_i8x16(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.v128, builtin_v128);\n\n// === SIMD ===================================================================================\n\n// i8x16(...values: i8[16]) -> v128\nfunction builtin_i8x16(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeAbsent(ctx) |\n checkArgsRequired(ctx, 16)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let bytes = new Uint8Array(16);\n let vars = new Array(16);\n let numVars = 0;\n\n for (let i = 0; i < 16; ++i) {\n let expr = compiler.compileExpression(operands[i], Type.i8, Constraints.ConvImplicit);\n let precomp = module.runExpression(expr, ExpressionRunnerFlags.PreserveSideeffects);\n if (precomp) {\n writeI8(getConstValueI32(precomp), bytes, i);\n } else {\n vars[i] = expr;\n numVars++;\n }\n }\n compiler.currentType = Type.v128;\n if (numVars == 0) {\n // all constants\n return module.v128(bytes);\n } else {\n let vec: ExpressionRef;\n let fullVars = numVars == 16;\n if (fullVars) {\n // all variants\n vec = module.unary(UnaryOp.SplatI8x16, vars[0]);\n } else {\n // mixed constants / variants\n vec = module.v128(bytes);\n }\n for (let i = i32(fullVars); i < 16; i++) {\n let expr = vars[i];\n if (expr) vec = module.simd_replace(SIMDReplaceOp.ReplaceLaneI8x16, vec, i, expr);\n }\n return vec;\n }\n}\nbuiltinFunctions.set(BuiltinNames.i8x16, builtin_i8x16);\n\n// i16x8(...values: i16[8]) -> v128\nfunction builtin_i16x8(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeAbsent(ctx) |\n checkArgsRequired(ctx, 8)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let bytes = new Uint8Array(16);\n let vars = new Array(8);\n let numVars = 0;\n\n for (let i = 0; i < 8; ++i) {\n let expr = compiler.compileExpression(operands[i], Type.i16, Constraints.ConvImplicit);\n let precomp = module.runExpression(expr, ExpressionRunnerFlags.PreserveSideeffects);\n if (precomp) {\n writeI16(getConstValueI32(precomp), bytes, i << 1);\n } else {\n vars[i] = expr;\n numVars++;\n }\n }\n compiler.currentType = Type.v128;\n if (numVars == 0) {\n // all constants\n return module.v128(bytes);\n } else {\n let vec: ExpressionRef;\n let fullVars = numVars == 8;\n if (fullVars) {\n // all variants\n vec = module.unary(UnaryOp.SplatI16x8, vars[0]);\n } else {\n // mixed constants / variants\n vec = module.v128(bytes);\n }\n for (let i = i32(fullVars); i < 8; i++) {\n let expr = vars[i];\n if (expr) vec = module.simd_replace(SIMDReplaceOp.ReplaceLaneI16x8, vec, i, expr);\n }\n return vec;\n }\n}\nbuiltinFunctions.set(BuiltinNames.i16x8, builtin_i16x8);\n\n// i32x4(...values: i32[4]) -> v128\nfunction builtin_i32x4(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeAbsent(ctx) |\n checkArgsRequired(ctx, 4)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let bytes = new Uint8Array(16);\n let vars = new Array(4);\n let numVars = 0;\n\n for (let i = 0; i < 4; ++i) {\n let expr = compiler.compileExpression(operands[i], Type.i32, Constraints.ConvImplicit);\n let precomp = module.runExpression(expr, ExpressionRunnerFlags.PreserveSideeffects);\n if (precomp) {\n writeI32(getConstValueI32(precomp), bytes, i << 2);\n } else {\n vars[i] = expr;\n numVars++;\n }\n }\n compiler.currentType = Type.v128;\n if (numVars == 0) {\n // all constants\n return module.v128(bytes);\n } else {\n let vec: ExpressionRef;\n let fullVars = numVars == 4;\n if (fullVars) {\n // all variants\n vec = module.unary(UnaryOp.SplatI32x4, vars[0]);\n } else {\n // mixed constants / variants\n vec = module.v128(bytes);\n }\n for (let i = i32(fullVars); i < 4; i++) {\n let expr = vars[i];\n if (expr) vec = module.simd_replace(SIMDReplaceOp.ReplaceLaneI32x4, vec, i, expr);\n }\n return vec;\n }\n}\nbuiltinFunctions.set(BuiltinNames.i32x4, builtin_i32x4);\n\n// i64x2(...values: i64[2]) -> v128\nfunction builtin_i64x2(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeAbsent(ctx) |\n checkArgsRequired(ctx, 2)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let bytes = new Uint8Array(16);\n let vars = new Array(2);\n let numVars = 0;\n\n for (let i = 0; i < 2; ++i) {\n let expr = compiler.compileExpression(operands[i], Type.i64, Constraints.ConvImplicit);\n let precomp = module.runExpression(expr, ExpressionRunnerFlags.PreserveSideeffects);\n if (precomp) {\n let off = i << 3;\n writeI32(getConstValueI64Low(precomp), bytes, off + 0);\n writeI32(getConstValueI64High(precomp), bytes, off + 4);\n } else {\n vars[i] = expr;\n numVars++;\n }\n }\n compiler.currentType = Type.v128;\n if (numVars == 0) {\n // all constants\n return module.v128(bytes);\n } else {\n let vec: ExpressionRef;\n let fullVars = numVars == 2;\n if (fullVars) {\n // all variants\n vec = module.unary(UnaryOp.SplatI64x2, vars[0]);\n } else {\n // mixed constants / variants\n vec = module.v128(bytes);\n }\n for (let i = i32(fullVars); i < 2; i++) {\n let expr = vars[i];\n if (expr) vec = module.simd_replace(SIMDReplaceOp.ReplaceLaneI64x2, vec, i, expr);\n }\n return vec;\n }\n}\nbuiltinFunctions.set(BuiltinNames.i64x2, builtin_i64x2);\n\n// f32x4(...values: f32[4]) -> v128\nfunction builtin_f32x4(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeAbsent(ctx) |\n checkArgsRequired(ctx, 4)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let bytes = new Uint8Array(16);\n let vars = new Array(4);\n let numVars = 0;\n\n for (let i = 0; i < 4; ++i) {\n let expr = compiler.compileExpression(operands[i], Type.f32, Constraints.ConvImplicit);\n let precomp = module.runExpression(expr, ExpressionRunnerFlags.PreserveSideeffects);\n if (precomp) {\n writeF32(getConstValueF32(precomp), bytes, i << 2);\n } else {\n vars[i] = expr;\n numVars++;\n }\n }\n compiler.currentType = Type.v128;\n if (numVars == 0) {\n // all constants\n return module.v128(bytes);\n } else {\n let vec: ExpressionRef;\n let fullVars = numVars == 4;\n if (fullVars) {\n // all variants\n vec = module.unary(UnaryOp.SplatF32x4, vars[0]);\n } else {\n // mixed constants / variants\n vec = module.v128(bytes);\n }\n for (let i = i32(fullVars); i < 4; i++) {\n let expr = vars[i];\n if (expr) vec = module.simd_replace(SIMDReplaceOp.ReplaceLaneF32x4, vec, i, expr);\n }\n return vec;\n }\n}\nbuiltinFunctions.set(BuiltinNames.f32x4, builtin_f32x4);\n\n// f64x2(...values: f64[2]) -> v128\nfunction builtin_f64x2(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeAbsent(ctx) |\n checkArgsRequired(ctx, 2)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let bytes = new Uint8Array(16);\n let vars = new Array(2);\n let numVars = 0;\n\n for (let i = 0; i < 2; ++i) {\n let expr = compiler.compileExpression(operands[i], Type.f64, Constraints.ConvImplicit);\n let precomp = module.runExpression(expr, ExpressionRunnerFlags.PreserveSideeffects);\n if (precomp) {\n writeF64(getConstValueF64(precomp), bytes, i << 3);\n } else {\n vars[i] = expr;\n numVars++;\n }\n }\n compiler.currentType = Type.v128;\n if (numVars == 0) {\n // all constants\n return module.v128(bytes);\n } else {\n let vec: ExpressionRef;\n let fullVars = numVars == 2;\n if (fullVars) {\n // all variants\n vec = module.unary(UnaryOp.SplatF64x2, vars[0]);\n } else {\n // mixed constants / variants\n vec = module.v128(bytes);\n }\n for (let i = i32(fullVars); i < 2; i++) {\n let expr = vars[i];\n if (expr) vec = module.simd_replace(SIMDReplaceOp.ReplaceLaneF64x2, vec, i, expr);\n }\n return vec;\n }\n}\nbuiltinFunctions.set(BuiltinNames.f64x2, builtin_f64x2);\n\n// v128.splat(x: T) -> v128\nfunction builtin_v128_splat(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 1)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], type, Constraints.ConvImplicit);\n compiler.currentType = Type.v128;\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.I8:\n case TypeKind.U8: return module.unary(UnaryOp.SplatI8x16, arg0);\n case TypeKind.I16:\n case TypeKind.U16: return module.unary(UnaryOp.SplatI16x8, arg0);\n case TypeKind.I32:\n case TypeKind.U32: return module.unary(UnaryOp.SplatI32x4, arg0);\n case TypeKind.I64:\n case TypeKind.U64: return module.unary(UnaryOp.SplatI64x2, arg0);\n case TypeKind.Isize:\n case TypeKind.Usize: {\n return module.unary(\n compiler.options.isWasm64\n ? UnaryOp.SplatI64x2\n : UnaryOp.SplatI32x4,\n arg0\n );\n }\n case TypeKind.F32: return module.unary(UnaryOp.SplatF32x4, arg0);\n case TypeKind.F64: return module.unary(UnaryOp.SplatF64x2, arg0);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.splat\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_splat, builtin_v128_splat);\n\n// v128.extract_lane(x: v128, idx: u8) -> T\nfunction builtin_v128_extract_lane(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx, true) |\n checkArgsRequired(ctx, 2)\n ) return module.unreachable();\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.u8, Constraints.ConvImplicit);\n compiler.currentType = type;\n let idx = 0;\n let precomp = module.runExpression(arg1, ExpressionRunnerFlags.PreserveSideeffects);\n if (precomp) {\n idx = getConstValueI32(precomp);\n } else {\n compiler.error(\n DiagnosticCode.Expression_must_be_a_compile_time_constant,\n operands[1].range\n );\n }\n if (type.isValue) {\n let maxIdx = (16 / assert(type.byteSize)) - 1;\n if (idx < 0 || idx > maxIdx) {\n compiler.error(\n DiagnosticCode._0_must_be_a_value_between_1_and_2_inclusive,\n operands[1].range, \"Lane index\", \"0\", maxIdx.toString()\n );\n idx = 0;\n }\n switch (type.kind) {\n case TypeKind.I8: return module.simd_extract(SIMDExtractOp.ExtractLaneI8x16, arg0, idx);\n case TypeKind.U8: return module.simd_extract(SIMDExtractOp.ExtractLaneU8x16, arg0, idx);\n case TypeKind.I16: return module.simd_extract(SIMDExtractOp.ExtractLaneI16x8, arg0, idx);\n case TypeKind.U16: return module.simd_extract(SIMDExtractOp.ExtractLaneU16x8, arg0, idx);\n case TypeKind.I32:\n case TypeKind.U32: return module.simd_extract(SIMDExtractOp.ExtractLaneI32x4, arg0, idx);\n case TypeKind.I64:\n case TypeKind.U64: return module.simd_extract(SIMDExtractOp.ExtractLaneI64x2, arg0, idx);\n case TypeKind.Isize:\n case TypeKind.Usize: {\n return module.simd_extract(\n compiler.options.isWasm64\n ? SIMDExtractOp.ExtractLaneI64x2\n : SIMDExtractOp.ExtractLaneI32x4,\n arg0, idx\n );\n }\n case TypeKind.F32: return module.simd_extract(SIMDExtractOp.ExtractLaneF32x4, arg0, idx);\n case TypeKind.F64: return module.simd_extract(SIMDExtractOp.ExtractLaneF64x2, arg0, idx);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.extract_lane\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_extract_lane, builtin_v128_extract_lane);\n\n// v128.replace_lane(x: v128, idx: u8, value: T) -> v128\nfunction builtin_v128_replace_lane(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 3)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.u8, Constraints.ConvImplicit);\n let arg2 = compiler.compileExpression(operands[2], type, Constraints.ConvImplicit);\n compiler.currentType = Type.v128;\n let idx = 0;\n let precomp = module.runExpression(arg1, ExpressionRunnerFlags.PreserveSideeffects);\n if (precomp) {\n idx = getConstValueI32(precomp);\n } else {\n compiler.error(\n DiagnosticCode.Expression_must_be_a_compile_time_constant,\n operands[1].range\n );\n }\n if (type.isValue) {\n let maxIdx = (16 / assert(type.byteSize)) - 1;\n if (idx < 0 || idx > maxIdx) {\n compiler.error(\n DiagnosticCode._0_must_be_a_value_between_1_and_2_inclusive,\n operands[1].range, \"Lane index\", \"0\", maxIdx.toString()\n );\n idx = 0;\n }\n switch (type.kind) {\n case TypeKind.I8:\n case TypeKind.U8: return module.simd_replace(SIMDReplaceOp.ReplaceLaneI8x16, arg0, idx, arg2);\n case TypeKind.I16:\n case TypeKind.U16: return module.simd_replace(SIMDReplaceOp.ReplaceLaneI16x8, arg0, idx, arg2);\n case TypeKind.I32:\n case TypeKind.U32: return module.simd_replace(SIMDReplaceOp.ReplaceLaneI32x4, arg0, idx, arg2);\n case TypeKind.I64:\n case TypeKind.U64: return module.simd_replace(SIMDReplaceOp.ReplaceLaneI64x2, arg0, idx, arg2);\n case TypeKind.Isize:\n case TypeKind.Usize: {\n return module.simd_replace(\n compiler.options.isWasm64\n ? SIMDReplaceOp.ReplaceLaneI64x2\n : SIMDReplaceOp.ReplaceLaneI32x4,\n arg0, idx, arg2\n );\n }\n case TypeKind.F32: return module.simd_replace(SIMDReplaceOp.ReplaceLaneF32x4, arg0, idx, arg2);\n case TypeKind.F64: return module.simd_replace(SIMDReplaceOp.ReplaceLaneF64x2, arg0, idx, arg2);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.replace_lane\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_replace_lane, builtin_v128_replace_lane);\n\n// v128.shuffle(a: v128, b: v128, ...lanes: u8[]) -> v128\nfunction builtin_v128_shuffle(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n if (type.isValue) {\n let laneWidth = type.byteSize;\n let laneCount = 16 / laneWidth;\n assert(Number.isInteger(laneCount) && isPowerOf2(laneCount));\n if (\n checkArgsRequired(ctx, 2 + laneCount)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit);\n switch (type.kind) {\n case TypeKind.I8:\n case TypeKind.I16:\n case TypeKind.I32:\n case TypeKind.I64:\n case TypeKind.Isize:\n case TypeKind.U8:\n case TypeKind.U16:\n case TypeKind.U32:\n case TypeKind.U64:\n case TypeKind.Usize:\n case TypeKind.F32:\n case TypeKind.F64: {\n let mask = new Uint8Array(16);\n let maxIdx = (laneCount << 1) - 1;\n for (let i = 0; i < laneCount; ++i) {\n let operand = operands[2 + i];\n let argN = compiler.compileExpression(operand, Type.u8, Constraints.ConvImplicit);\n let precomp = module.runExpression(argN, ExpressionRunnerFlags.PreserveSideeffects);\n let idx = 0;\n if (precomp) {\n idx = getConstValueI32(precomp);\n if (idx < 0 || idx > maxIdx) {\n compiler.error(\n DiagnosticCode._0_must_be_a_value_between_1_and_2_inclusive,\n operand.range, \"Lane index\", \"0\", maxIdx.toString()\n );\n idx = 0;\n }\n } else {\n compiler.error(\n DiagnosticCode.Expression_must_be_a_compile_time_constant,\n operand.range\n );\n }\n switch (laneWidth) {\n case 1: {\n writeI8(idx, mask, i);\n break;\n }\n case 2: {\n let off8 = i << 1;\n let idx8 = idx << 1;\n writeI8(idx8 , mask, off8);\n writeI8(idx8 + 1, mask, off8 + 1);\n break;\n }\n case 4: {\n let off8 = i << 2;\n let idx8 = idx << 2;\n writeI8(idx8 , mask, off8);\n writeI8(idx8 + 1, mask, off8 + 1);\n writeI8(idx8 + 2, mask, off8 + 2);\n writeI8(idx8 + 3, mask, off8 + 3);\n break;\n }\n case 8: {\n let off8 = i << 3;\n let idx8 = idx << 3;\n writeI8(idx8 , mask, off8);\n writeI8(idx8 + 1, mask, off8 + 1);\n writeI8(idx8 + 2, mask, off8 + 2);\n writeI8(idx8 + 3, mask, off8 + 3);\n writeI8(idx8 + 4, mask, off8 + 4);\n writeI8(idx8 + 5, mask, off8 + 5);\n writeI8(idx8 + 6, mask, off8 + 6);\n writeI8(idx8 + 7, mask, off8 + 7);\n break;\n }\n default: assert(false);\n }\n }\n compiler.currentType = Type.v128;\n return module.simd_shuffle(arg0, arg1, mask);\n }\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.shuffle\", type.toString()\n );\n compiler.currentType = Type.v128;\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_shuffle, builtin_v128_shuffle);\n\n// v128.swizzle(a: v128, b: v128) -> v128\nfunction builtin_v128_swizzle(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeAbsent(ctx) |\n checkArgsRequired(ctx, 2)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit);\n return module.binary(BinaryOp.SwizzleI8x16, arg0, arg1);\n}\nbuiltinFunctions.set(BuiltinNames.v128_swizzle, builtin_v128_swizzle);\n\n// v128.load_splat(ptr: usize, immOffset?: usize, immAlign?: usize) -> v128\nfunction builtin_v128_load_splat(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx, true) |\n checkArgsOptional(ctx, 1, 3)\n ) return module.unreachable();\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], compiler.options.usizeType, Constraints.ConvImplicit);\n let numOperands = operands.length;\n let immOffset = 0;\n let immAlign = type.byteSize;\n if (numOperands >= 2) {\n immOffset = evaluateImmediateOffset(operands[1], compiler); // reports\n if (immOffset < 0) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n if (numOperands == 3) {\n immAlign = evaluateImmediateAlign(operands[2], immAlign, compiler); // reports\n if (immAlign < 0) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n }\n }\n compiler.currentType = Type.v128;\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.I8:\n case TypeKind.U8: {\n return module.simd_load(SIMDLoadOp.Load8Splat, arg0, immOffset, immAlign);\n }\n case TypeKind.I16:\n case TypeKind.U16: {\n return module.simd_load(SIMDLoadOp.Load16Splat, arg0, immOffset, immAlign);\n }\n case TypeKind.I32:\n case TypeKind.U32:\n case TypeKind.F32: {\n return module.simd_load(SIMDLoadOp.Load32Splat, arg0, immOffset, immAlign);\n }\n case TypeKind.Isize:\n case TypeKind.Usize: {\n if (!compiler.options.isWasm64) {\n return module.simd_load(SIMDLoadOp.Load32Splat, arg0, immOffset, immAlign);\n }\n // fall-through\n }\n case TypeKind.I64:\n case TypeKind.U64:\n case TypeKind.F64: {\n return module.simd_load(SIMDLoadOp.Load64Splat, arg0, immOffset, immAlign);\n }\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.load_splat\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_load_splat, builtin_v128_load_splat);\n\n// v128.load_ext(ptr: usize, immOffset?: usize, immAlign?: usize) -> v128\nfunction builtin_v128_load_ext(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx, true) |\n checkArgsOptional(ctx, 1, 3)\n ) return module.unreachable();\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], compiler.options.usizeType, Constraints.ConvImplicit);\n let numOperands = operands.length;\n let immOffset = 0;\n let immAlign = type.byteSize;\n if (numOperands >= 2) {\n immOffset = evaluateImmediateOffset(operands[1], compiler); // reports\n if (immOffset < 0) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n if (numOperands == 3) {\n immAlign = evaluateImmediateAlign(operands[2], immAlign, compiler); // reports\n if (immAlign < 0) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n }\n }\n compiler.currentType = Type.v128;\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.I8: return module.simd_load(SIMDLoadOp.Load8x8S, arg0, immOffset, immAlign);\n case TypeKind.U8: return module.simd_load(SIMDLoadOp.Load8x8U, arg0, immOffset, immAlign);\n case TypeKind.I16: return module.simd_load(SIMDLoadOp.Load16x4S, arg0, immOffset, immAlign);\n case TypeKind.U16: return module.simd_load(SIMDLoadOp.Load16x4U, arg0, immOffset, immAlign);\n case TypeKind.Isize: {\n if (compiler.options.isWasm64) break;\n // fall-through\n }\n case TypeKind.I32: return module.simd_load(SIMDLoadOp.Load32x2S, arg0, immOffset, immAlign);\n case TypeKind.Usize: {\n if (compiler.options.isWasm64) break;\n // fall-through\n }\n case TypeKind.U32: return module.simd_load(SIMDLoadOp.Load32x2U, arg0, immOffset, immAlign);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.load_ext\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_load_ext, builtin_v128_load_ext);\n\n// v128.load_zero(ptr: usize, immOffset?: usize, immAlign?: usize) -> v128\nfunction builtin_v128_load_zero(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx, true) |\n checkArgsOptional(ctx, 1, 3)\n ) return module.unreachable();\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], compiler.options.usizeType, Constraints.ConvImplicit);\n let numOperands = operands.length;\n let immOffset = 0;\n let immAlign = type.byteSize;\n if (numOperands >= 2) {\n immOffset = evaluateImmediateOffset(operands[1], compiler); // reports\n if (immOffset < 0) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n if (numOperands == 3) {\n immAlign = evaluateImmediateAlign(operands[2], immAlign, compiler); // reports\n if (immAlign < 0) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n }\n }\n compiler.currentType = Type.v128;\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.I32:\n case TypeKind.U32:\n case TypeKind.F32: return module.simd_load(SIMDLoadOp.Load32Zero, arg0, immOffset, immAlign);\n case TypeKind.I64:\n case TypeKind.U64:\n case TypeKind.F64: return module.simd_load(SIMDLoadOp.Load64Zero, arg0, immOffset, immAlign);\n case TypeKind.Isize:\n case TypeKind.Usize: {\n return module.simd_load(\n compiler.options.isWasm64\n ? SIMDLoadOp.Load64Zero\n : SIMDLoadOp.Load32Zero,\n arg0,\n immOffset,\n immAlign\n );\n }\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.load_zero\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_load_zero, builtin_v128_load_zero);\n\n// v128.load_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize) -> v128\nfunction builtin_v128_load_lane(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx, true) |\n checkArgsOptional(ctx, 3, 5)\n ) return module.unreachable();\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], compiler.options.usizeType, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit);\n let arg2 = compiler.compileExpression(operands[2], Type.u8, Constraints.ConvImplicit);\n let idx = 0;\n let precomp = module.runExpression(arg2, ExpressionRunnerFlags.PreserveSideeffects);\n if (precomp) {\n idx = getConstValueI32(precomp);\n } else {\n compiler.error(\n DiagnosticCode.Expression_must_be_a_compile_time_constant,\n operands[2].range\n );\n }\n let numOperands = operands.length;\n let immOffset = 0;\n let immAlign = type.byteSize;\n if (numOperands >= 4) {\n immOffset = evaluateImmediateOffset(operands[3], compiler); // reports\n if (immOffset < 0) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n if (numOperands == 5) {\n immAlign = evaluateImmediateAlign(operands[4], immAlign, compiler); // reports\n if (immAlign < 0) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n }\n }\n compiler.currentType = Type.v128;\n if (type.isValue) {\n let maxIdx = (16 / assert(type.byteSize)) - 1;\n if (idx < 0 || idx > maxIdx) {\n compiler.error(\n DiagnosticCode._0_must_be_a_value_between_1_and_2_inclusive,\n operands[1].range, \"Lane index\", \"0\", maxIdx.toString()\n );\n idx = 0;\n }\n switch (type.kind) {\n case TypeKind.I8:\n case TypeKind.U8: return module.simd_loadstorelane(SIMDLoadStoreLaneOp.Load8Lane, arg0, immOffset, immAlign, idx, arg1);\n case TypeKind.I16:\n case TypeKind.U16: return module.simd_loadstorelane(SIMDLoadStoreLaneOp.Load16Lane, arg0, immOffset, immAlign, idx, arg1);\n case TypeKind.I32:\n case TypeKind.U32:\n case TypeKind.F32: return module.simd_loadstorelane(SIMDLoadStoreLaneOp.Load32Lane, arg0, immOffset, immAlign, idx, arg1);\n case TypeKind.I64:\n case TypeKind.U64:\n case TypeKind.F64: return module.simd_loadstorelane(SIMDLoadStoreLaneOp.Load64Lane, arg0, immOffset, immAlign, idx, arg1);\n case TypeKind.Isize:\n case TypeKind.Usize: {\n return module.simd_loadstorelane(\n compiler.options.isWasm64\n ? SIMDLoadStoreLaneOp.Load64Lane\n : SIMDLoadStoreLaneOp.Load32Lane,\n arg0,\n immOffset,\n immAlign,\n idx,\n arg1\n );\n }\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.load_lane\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_load_lane, builtin_v128_load_lane);\n\n// v128.store_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize) -> void\nfunction builtin_v128_store_lane(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx, true) |\n checkArgsOptional(ctx, 3, 5)\n ) return module.unreachable();\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], compiler.options.usizeType, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit);\n let arg2 = compiler.compileExpression(operands[2], Type.u8, Constraints.ConvImplicit);\n let idx = 0;\n let precomp = module.runExpression(arg2, ExpressionRunnerFlags.PreserveSideeffects);\n if (precomp) {\n idx = getConstValueI32(precomp);\n } else {\n compiler.error(\n DiagnosticCode.Expression_must_be_a_compile_time_constant,\n operands[2].range\n );\n }\n let numOperands = operands.length;\n let immOffset = 0;\n let immAlign = type.byteSize;\n if (numOperands >= 4) {\n immOffset = evaluateImmediateOffset(operands[3], compiler); // reports\n if (immOffset < 0) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n if (numOperands == 5) {\n immAlign = evaluateImmediateAlign(operands[4], immAlign, compiler); // reports\n if (immAlign < 0) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n }\n }\n compiler.currentType = Type.void;\n if (type.isValue) {\n let maxIdx = (16 / assert(type.byteSize)) - 1;\n if (idx < 0 || idx > maxIdx) {\n compiler.error(\n DiagnosticCode._0_must_be_a_value_between_1_and_2_inclusive,\n operands[1].range, \"Lane index\", \"0\", maxIdx.toString()\n );\n idx = 0;\n }\n switch (type.kind) {\n case TypeKind.I8:\n case TypeKind.U8: return module.simd_loadstorelane(SIMDLoadStoreLaneOp.Store8Lane, arg0, immOffset, immAlign, idx, arg1);\n case TypeKind.I16:\n case TypeKind.U16: return module.simd_loadstorelane(SIMDLoadStoreLaneOp.Store16Lane, arg0, immOffset, immAlign, idx, arg1);\n case TypeKind.I32:\n case TypeKind.U32:\n case TypeKind.F32: return module.simd_loadstorelane(SIMDLoadStoreLaneOp.Store32Lane, arg0, immOffset, immAlign, idx, arg1);\n case TypeKind.I64:\n case TypeKind.U64:\n case TypeKind.F64: return module.simd_loadstorelane(SIMDLoadStoreLaneOp.Store64Lane, arg0, immOffset, immAlign, idx, arg1);\n case TypeKind.Isize:\n case TypeKind.Usize: {\n return module.simd_loadstorelane(\n compiler.options.isWasm64\n ? SIMDLoadStoreLaneOp.Store64Lane\n : SIMDLoadStoreLaneOp.Store32Lane,\n arg0,\n immOffset,\n immAlign,\n idx,\n arg1\n );\n }\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.store_lane\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_store_lane, builtin_v128_store_lane);\n\n// v128.add(a: v128, b: v128) -> v128\nfunction builtin_v128_add(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 2)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.I8:\n case TypeKind.U8: return module.binary(BinaryOp.AddI8x16, arg0, arg1);\n case TypeKind.I16:\n case TypeKind.U16: return module.binary(BinaryOp.AddI16x8, arg0, arg1);\n case TypeKind.I32:\n case TypeKind.U32: return module.binary(BinaryOp.AddI32x4, arg0, arg1);\n case TypeKind.I64:\n case TypeKind.U64: return module.binary(BinaryOp.AddI64x2, arg0, arg1);\n case TypeKind.Isize:\n case TypeKind.Usize: {\n return module.binary(\n compiler.options.isWasm64\n ? BinaryOp.AddI64x2\n : BinaryOp.AddI32x4,\n arg0, arg1\n );\n }\n case TypeKind.F32: return module.binary(BinaryOp.AddF32x4, arg0, arg1);\n case TypeKind.F64: return module.binary(BinaryOp.AddF64x2, arg0, arg1);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.add\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_add, builtin_v128_add);\n\n// v128.sub(a: v128, b: v128) -> v128\nfunction builtin_v128_sub(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 2)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.I8:\n case TypeKind.U8: return module.binary(BinaryOp.SubI8x16, arg0, arg1);\n case TypeKind.I16:\n case TypeKind.U16: return module.binary(BinaryOp.SubI16x8, arg0, arg1);\n case TypeKind.I32:\n case TypeKind.U32: return module.binary(BinaryOp.SubI32x4, arg0, arg1);\n case TypeKind.I64:\n case TypeKind.U64: return module.binary(BinaryOp.SubI64x2, arg0, arg1);\n case TypeKind.Isize:\n case TypeKind.Usize: {\n return module.binary(\n compiler.options.isWasm64\n ? BinaryOp.SubI64x2\n : BinaryOp.SubI32x4,\n arg0, arg1\n );\n }\n case TypeKind.F32: return module.binary(BinaryOp.SubF32x4, arg0, arg1);\n case TypeKind.F64: return module.binary(BinaryOp.SubF64x2, arg0, arg1);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.sub\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_sub, builtin_v128_sub);\n\n// v128.mul(a: v128, b: v128) -> v128\nfunction builtin_v128_mul(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 2)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.I16:\n case TypeKind.U16: return module.binary(BinaryOp.MulI16x8, arg0, arg1);\n case TypeKind.I32:\n case TypeKind.U32: return module.binary(BinaryOp.MulI32x4, arg0, arg1);\n case TypeKind.I64:\n case TypeKind.U64: return module.binary(BinaryOp.MulI64x2, arg0, arg1);\n case TypeKind.Isize:\n case TypeKind.Usize: return module.binary(compiler.options.isWasm64 ? BinaryOp.MulI64x2 : BinaryOp.MulI32x4, arg0, arg1);\n case TypeKind.F32: return module.binary(BinaryOp.MulF32x4, arg0, arg1);\n case TypeKind.F64: return module.binary(BinaryOp.MulF64x2, arg0, arg1);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.mul\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_mul, builtin_v128_mul);\n\n// v128.div(a: v128, b: v128) -> v128\nfunction builtin_v128_div(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 2)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.F32: return module.binary(BinaryOp.DivF32x4, arg0, arg1);\n case TypeKind.F64: return module.binary(BinaryOp.DivF64x2, arg0, arg1);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.div\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_div, builtin_v128_div);\n\n// v128.add_sat(a: v128, b: v128) -> v128\nfunction builtin_v128_add_sat(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 2)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.I8: return module.binary(BinaryOp.AddSatI8x16, arg0, arg1);\n case TypeKind.U8: return module.binary(BinaryOp.AddSatU8x16, arg0, arg1);\n case TypeKind.I16: return module.binary(BinaryOp.AddSatI16x8, arg0, arg1);\n case TypeKind.U16: return module.binary(BinaryOp.AddSatU16x8, arg0, arg1);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.add_sat\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_add_sat, builtin_v128_add_sat);\n\n// v128.sub_sat(a: v128, b: v128) -> v128\nfunction builtin_v128_sub_sat(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 2)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.I8: return module.binary(BinaryOp.SubSatI8x16, arg0, arg1);\n case TypeKind.U8: return module.binary(BinaryOp.SubSatU8x16, arg0, arg1);\n case TypeKind.I16: return module.binary(BinaryOp.SubSatI16x8, arg0, arg1);\n case TypeKind.U16: return module.binary(BinaryOp.SubSatU16x8, arg0, arg1);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.sub_sat\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_sub_sat, builtin_v128_sub_sat);\n\n// v128.min(a: v128, b: v128) -> v128\nfunction builtin_v128_min(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 2)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.I8: return module.binary(BinaryOp.MinI8x16, arg0, arg1);\n case TypeKind.U8: return module.binary(BinaryOp.MinU8x16, arg0, arg1);\n case TypeKind.I16: return module.binary(BinaryOp.MinI16x8, arg0, arg1);\n case TypeKind.U16: return module.binary(BinaryOp.MinU16x8, arg0, arg1);\n case TypeKind.Isize: {\n if (compiler.options.isWasm64) break;\n // fall-through\n }\n case TypeKind.I32: return module.binary(BinaryOp.MinI32x4, arg0, arg1);\n case TypeKind.Usize: {\n if (compiler.options.isWasm64) break;\n // fall-through\n }\n case TypeKind.U32: return module.binary(BinaryOp.MinU32x4, arg0, arg1);\n case TypeKind.F32: return module.binary(BinaryOp.MinF32x4, arg0, arg1);\n case TypeKind.F64: return module.binary(BinaryOp.MinF64x2, arg0, arg1);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.min\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_min, builtin_v128_min);\n\n// v128.max(a: v128, b: v128) -> v128\nfunction builtin_v128_max(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 2)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.I8: return module.binary(BinaryOp.MaxI8x16, arg0, arg1);\n case TypeKind.U8: return module.binary(BinaryOp.MaxU8x16, arg0, arg1);\n case TypeKind.I16: return module.binary(BinaryOp.MaxI16x8, arg0, arg1);\n case TypeKind.U16: return module.binary(BinaryOp.MaxU16x8, arg0, arg1);\n case TypeKind.Isize: {\n if (compiler.options.isWasm64) break;\n // fall-through\n }\n case TypeKind.I32: return module.binary(BinaryOp.MaxI32x4, arg0, arg1);\n case TypeKind.Usize: {\n if (compiler.options.isWasm64) break;\n // fall-through\n }\n case TypeKind.U32: return module.binary(BinaryOp.MaxU32x4, arg0, arg1);\n case TypeKind.F32: return module.binary(BinaryOp.MaxF32x4, arg0, arg1);\n case TypeKind.F64: return module.binary(BinaryOp.MaxF64x2, arg0, arg1);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.max\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_max, builtin_v128_max);\n\n// v128.pmin(a: v128, b: v128) -> v128\nfunction builtin_v128_pmin(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 2)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.F32: return module.binary(BinaryOp.PminF32x4, arg0, arg1);\n case TypeKind.F64: return module.binary(BinaryOp.PminF64x2, arg0, arg1);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.pmin\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_pmin, builtin_v128_pmin);\n\n// v128.pmax(a: v128, b: v128) -> v128\nfunction builtin_v128_pmax(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 2)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.F32: return module.binary(BinaryOp.PmaxF32x4, arg0, arg1);\n case TypeKind.F64: return module.binary(BinaryOp.PmaxF64x2, arg0, arg1);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.pmax\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_pmax, builtin_v128_pmax);\n\n// v128.dot(a: v128, b: v128) -> v128\nfunction builtin_v128_dot(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 2)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.I16: return module.binary(BinaryOp.DotI16x8, arg0, arg1);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.dot\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_dot, builtin_v128_dot);\n\n// v128.avgr(a: v128, b: v128) -> v128\nfunction builtin_v128_avgr(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 2)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.U8: return module.binary(BinaryOp.AvgrU8x16, arg0, arg1);\n case TypeKind.U16: return module.binary(BinaryOp.AvgrU16x8, arg0, arg1);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.avgr\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_avgr, builtin_v128_avgr);\n\n// v128.eq(a: v128, b: v128) -> v128\nfunction builtin_v128_eq(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 2)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.I8:\n case TypeKind.U8: return module.binary(BinaryOp.EqI8x16, arg0, arg1);\n case TypeKind.I16:\n case TypeKind.U16: return module.binary(BinaryOp.EqI16x8, arg0, arg1);\n case TypeKind.I32:\n case TypeKind.U32: return module.binary(BinaryOp.EqI32x4, arg0, arg1);\n case TypeKind.I64:\n case TypeKind.U64: return module.binary(BinaryOp.EqI64x2, arg0, arg1);\n case TypeKind.Isize:\n case TypeKind.Usize: return module.binary(compiler.options.isWasm64 ? BinaryOp.EqI64x2 : BinaryOp.EqI32x4, arg0, arg1);\n case TypeKind.F32: return module.binary(BinaryOp.EqF32x4, arg0, arg1);\n case TypeKind.F64: return module.binary(BinaryOp.EqF64x2, arg0, arg1);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.eq\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_eq, builtin_v128_eq);\n\n// v128.ne(a: v128, b: v128) -> v128\nfunction builtin_v128_ne(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 2)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.I8:\n case TypeKind.U8: return module.binary(BinaryOp.NeI8x16, arg0, arg1);\n case TypeKind.I16:\n case TypeKind.U16: return module.binary(BinaryOp.NeI16x8, arg0, arg1);\n case TypeKind.I32:\n case TypeKind.U32: return module.binary(BinaryOp.NeI32x4, arg0, arg1);\n case TypeKind.I64:\n case TypeKind.U64: return module.binary(BinaryOp.NeI64x2, arg0, arg1);\n case TypeKind.Isize:\n case TypeKind.Usize: return module.binary(compiler.options.isWasm64 ? BinaryOp.NeI64x2 : BinaryOp.NeI32x4, arg0, arg1);\n case TypeKind.F32: return module.binary(BinaryOp.NeF32x4, arg0, arg1);\n case TypeKind.F64: return module.binary(BinaryOp.NeF64x2, arg0, arg1);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.ne\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_ne, builtin_v128_ne);\n\n// v128.lt(a: v128, b: v128) -> v128\nfunction builtin_v128_lt(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 2)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.I8: return module.binary(BinaryOp.LtI8x16, arg0, arg1);\n case TypeKind.U8: return module.binary(BinaryOp.LtU8x16, arg0, arg1);\n case TypeKind.I16: return module.binary(BinaryOp.LtI16x8, arg0, arg1);\n case TypeKind.U16: return module.binary(BinaryOp.LtU16x8, arg0, arg1);\n case TypeKind.I32: return module.binary(BinaryOp.LtI32x4, arg0, arg1);\n case TypeKind.U32: return module.binary(BinaryOp.LtU32x4, arg0, arg1);\n case TypeKind.I64: return module.binary(BinaryOp.LtI64x2, arg0, arg1);\n // no LtU64x2\n case TypeKind.Isize: return module.binary(compiler.options.isWasm64 ? BinaryOp.LtI64x2 : BinaryOp.LtI32x4, arg0, arg1);\n case TypeKind.Usize: {\n if (compiler.options.isWasm64) break;\n return module.binary(BinaryOp.LtU32x4, arg0, arg1);\n }\n case TypeKind.F32: return module.binary(BinaryOp.LtF32x4, arg0, arg1);\n case TypeKind.F64: return module.binary(BinaryOp.LtF64x2, arg0, arg1);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.lt\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_lt, builtin_v128_lt);\n\n// v128.le(a: v128, b: v128) -> v128\nfunction builtin_v128_le(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 2)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.I8: return module.binary(BinaryOp.LeI8x16, arg0, arg1);\n case TypeKind.U8: return module.binary(BinaryOp.LeU8x16, arg0, arg1);\n case TypeKind.I16: return module.binary(BinaryOp.LeI16x8, arg0, arg1);\n case TypeKind.U16: return module.binary(BinaryOp.LeU16x8, arg0, arg1);\n case TypeKind.I32: return module.binary(BinaryOp.LeI32x4, arg0, arg1);\n case TypeKind.U32: return module.binary(BinaryOp.LeU32x4, arg0, arg1);\n case TypeKind.I64: return module.binary(BinaryOp.LeI64x2, arg0, arg1);\n // no LeU64x2\n case TypeKind.Isize: return module.binary(compiler.options.isWasm64 ? BinaryOp.LeI64x2 : BinaryOp.LeI32x4, arg0, arg1);\n case TypeKind.Usize: {\n if (compiler.options.isWasm64) break;\n return module.binary(BinaryOp.LeU32x4, arg0, arg1);\n }\n case TypeKind.F32: return module.binary(BinaryOp.LeF32x4, arg0, arg1);\n case TypeKind.F64: return module.binary(BinaryOp.LeF64x2, arg0, arg1);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.le\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_le, builtin_v128_le);\n\n// v128.gt(a: v128, b: v128) -> v128\nfunction builtin_v128_gt(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 2)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.I8: return module.binary(BinaryOp.GtI8x16, arg0, arg1);\n case TypeKind.U8: return module.binary(BinaryOp.GtU8x16, arg0, arg1);\n case TypeKind.I16: return module.binary(BinaryOp.GtI16x8, arg0, arg1);\n case TypeKind.U16: return module.binary(BinaryOp.GtU16x8, arg0, arg1);\n case TypeKind.I32: return module.binary(BinaryOp.GtI32x4, arg0, arg1);\n case TypeKind.U32: return module.binary(BinaryOp.GtU32x4, arg0, arg1);\n case TypeKind.I64: return module.binary(BinaryOp.GtI64x2, arg0, arg1);\n // no GtU64x2\n case TypeKind.Isize: return module.binary(compiler.options.isWasm64 ? BinaryOp.GtI64x2 : BinaryOp.GtI32x4, arg0, arg1);\n case TypeKind.Usize: {\n if (compiler.options.isWasm64) break;\n return module.binary(BinaryOp.GtU32x4, arg0, arg1);\n }\n case TypeKind.F32: return module.binary(BinaryOp.GtF32x4, arg0, arg1);\n case TypeKind.F64: return module.binary(BinaryOp.GtF64x2, arg0, arg1);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.gt\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_gt, builtin_v128_gt);\n\n// v128.ge(a: v128, b: v128) -> v128\nfunction builtin_v128_ge(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 2)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.I8: return module.binary(BinaryOp.GeI8x16, arg0, arg1);\n case TypeKind.U8: return module.binary(BinaryOp.GeU8x16, arg0, arg1);\n case TypeKind.I16: return module.binary(BinaryOp.GeI16x8, arg0, arg1);\n case TypeKind.U16: return module.binary(BinaryOp.GeU16x8, arg0, arg1);\n case TypeKind.I32: return module.binary(BinaryOp.GeI32x4, arg0, arg1);\n case TypeKind.U32: return module.binary(BinaryOp.GeU32x4, arg0, arg1);\n case TypeKind.I64: return module.binary(BinaryOp.GeI64x2, arg0, arg1);\n // no GeU64x2\n case TypeKind.Isize: return module.binary(compiler.options.isWasm64 ? BinaryOp.GeI64x2 : BinaryOp.GeI32x4, arg0, arg1);\n case TypeKind.Usize: {\n if (compiler.options.isWasm64) break;\n return module.binary(BinaryOp.GeU32x4, arg0, arg1);\n }\n case TypeKind.F32: return module.binary(BinaryOp.GeF32x4, arg0, arg1);\n case TypeKind.F64: return module.binary(BinaryOp.GeF64x2, arg0, arg1);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.ge\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_ge, builtin_v128_ge);\n\n// v128.narrow(a: v128, b: v128) -> v128\nfunction builtin_v128_narrow(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 2)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.I16: return module.binary(BinaryOp.NarrowI16x8ToI8x16, arg0, arg1);\n case TypeKind.U16: return module.binary(BinaryOp.NarrowU16x8ToU8x16, arg0, arg1);\n case TypeKind.I32: return module.binary(BinaryOp.NarrowI32x4ToI16x8, arg0, arg1);\n case TypeKind.U32: return module.binary(BinaryOp.NarrowU32x4ToU16x8, arg0, arg1);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.narrow\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_narrow, builtin_v128_narrow);\n\n// v128.neg(a: v128) -> v128\nfunction builtin_v128_neg(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 1)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.I8:\n case TypeKind.U8: return module.unary(UnaryOp.NegI8x16, arg0);\n case TypeKind.I16:\n case TypeKind.U16: return module.unary(UnaryOp.NegI16x8, arg0);\n case TypeKind.I32:\n case TypeKind.U32: return module.unary(UnaryOp.NegI32x4, arg0);\n case TypeKind.I64:\n case TypeKind.U64: return module.unary(UnaryOp.NegI64x2, arg0);\n case TypeKind.Isize:\n case TypeKind.Usize: {\n return module.unary(\n compiler.options.isWasm64\n ? UnaryOp.NegI64x2\n : UnaryOp.NegI32x4,\n arg0\n );\n }\n case TypeKind.F32: return module.unary(UnaryOp.NegF32x4, arg0);\n case TypeKind.F64: return module.unary(UnaryOp.NegF64x2, arg0);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.neg\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_neg, builtin_v128_neg);\n\n// v128.abs(a: v128) -> v128\nfunction builtin_v128_abs(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 1)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.I8: return module.unary(UnaryOp.AbsI8x16, arg0);\n case TypeKind.I16: return module.unary(UnaryOp.AbsI16x8, arg0);\n case TypeKind.I32: return module.unary(UnaryOp.AbsI32x4, arg0);\n case TypeKind.I64: return module.unary(UnaryOp.AbsI64x2, arg0);\n case TypeKind.Isize: return module.unary(compiler.options.isWasm64 ? UnaryOp.AbsI64x2 : UnaryOp.AbsI32x4, arg0);\n case TypeKind.U8:\n case TypeKind.U16:\n case TypeKind.U32:\n case TypeKind.U64:\n case TypeKind.Usize: return arg0;\n case TypeKind.F32: return module.unary(UnaryOp.AbsF32x4, arg0);\n case TypeKind.F64: return module.unary(UnaryOp.AbsF64x2, arg0);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.abs\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_abs, builtin_v128_abs);\n\n// v128.sqrt(a: v128) -> v128\nfunction builtin_v128_sqrt(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 1)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.F32: return module.unary(UnaryOp.SqrtF32x4, arg0);\n case TypeKind.F64: return module.unary(UnaryOp.SqrtF64x2, arg0);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.sqrt\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_sqrt, builtin_v128_sqrt);\n\n// v128.ceil(a: v128) -> v128\nfunction builtin_v128_ceil(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 1)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.F32: return module.unary(UnaryOp.CeilF32x4, arg0);\n case TypeKind.F64: return module.unary(UnaryOp.CeilF64x2, arg0);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.ceil\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_ceil, builtin_v128_ceil);\n\n// v128.floor(a: v128) -> v128\nfunction builtin_v128_floor(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 1)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.F32: return module.unary(UnaryOp.FloorF32x4, arg0);\n case TypeKind.F64: return module.unary(UnaryOp.FloorF64x2, arg0);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.floor\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_floor, builtin_v128_floor);\n\n// v128.trunc(a: v128) -> v128\nfunction builtin_v128_trunc(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 1)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.F32: return module.unary(UnaryOp.TruncF32x4, arg0);\n case TypeKind.F64: return module.unary(UnaryOp.TruncF64x2, arg0);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.trunc\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_trunc, builtin_v128_trunc);\n\n// v128.nearest(a: v128) -> v128\nfunction builtin_v128_nearest(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 1)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.F32: return module.unary(UnaryOp.NearestF32x4, arg0);\n case TypeKind.F64: return module.unary(UnaryOp.NearestF64x2, arg0);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.nearest\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_nearest, builtin_v128_nearest);\n\n// v128.convert(a: v128) -> v128\nfunction builtin_v128_convert(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 1)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.Isize: {\n if (compiler.options.isWasm64) break;\n // fall-through\n }\n case TypeKind.I32: return module.unary(UnaryOp.ConvertI32x4ToF32x4, arg0);\n case TypeKind.Usize: {\n if (compiler.options.isWasm64) break;\n // fall-through\n }\n case TypeKind.U32: return module.unary(UnaryOp.ConvertU32x4ToF32x4, arg0);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.convert\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_convert, builtin_v128_convert);\n\n// v128.convert_low(a: v128) -> v128\nfunction builtin_v128_convert_low(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 1)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.Isize: {\n if (compiler.options.isWasm64) break;\n // fall-through\n }\n case TypeKind.I32: return module.unary(UnaryOp.ConvertLowI32x4ToF64x2, arg0);\n case TypeKind.Usize: {\n if (compiler.options.isWasm64) break;\n // fall-through\n }\n case TypeKind.U32: return module.unary(UnaryOp.ConvertLowU32x4ToF64x2, arg0);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.convert_low\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_convert_low, builtin_v128_convert_low);\n\n// v128.trunc_sat(a: v128) -> v128\nfunction builtin_v128_trunc_sat(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 1)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.Isize: {\n if (compiler.options.isWasm64) break;\n // fall-through\n }\n case TypeKind.I32: return module.unary(UnaryOp.TruncSatF32x4ToI32x4, arg0);\n case TypeKind.Usize: {\n if (compiler.options.isWasm64) break;\n // fall-through\n }\n case TypeKind.U32: return module.unary(UnaryOp.TruncSatF32x4ToU32x4, arg0);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.trunc_sat\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_trunc_sat, builtin_v128_trunc_sat);\n\n// v128.trunc_sat_zero(a: v128) -> v128\nfunction builtin_v128_trunc_sat_zero(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 1)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.Isize: {\n if (compiler.options.isWasm64) break;\n // fall-through\n }\n case TypeKind.I32: return module.unary(UnaryOp.TruncSatF64x2ToI32x4Zero, arg0);\n case TypeKind.Usize: {\n if (compiler.options.isWasm64) break;\n // fall-through\n }\n case TypeKind.U32: return module.unary(UnaryOp.TruncSatF64x2ToU32x4Zero, arg0);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.trunc_sat_zero\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_trunc_sat_zero, builtin_v128_trunc_sat_zero);\n\n// v128.extend_low(a: v128) -> v128\nfunction builtin_v128_extend_low(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 1)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.I8: return module.unary(UnaryOp.ExtendLowI8x16ToI16x8, arg0);\n case TypeKind.U8: return module.unary(UnaryOp.ExtendLowU8x16ToU16x8, arg0);\n case TypeKind.I16: return module.unary(UnaryOp.ExtendLowI16x8ToI32x4, arg0);\n case TypeKind.U16: return module.unary(UnaryOp.ExtendLowU16x8ToU32x4, arg0);\n case TypeKind.Isize: {\n if (compiler.options.isWasm64) break;\n // fall-through\n }\n case TypeKind.I32: return module.unary(UnaryOp.ExtendLowI32x4ToI64x2, arg0);\n case TypeKind.Usize: {\n if (compiler.options.isWasm64) break;\n // fall-through\n }\n case TypeKind.U32: return module.unary(UnaryOp.ExtendLowU32x4ToU64x2, arg0);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.extend_low\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_extend_low, builtin_v128_extend_low);\n\n// v128.extend_high(a: v128) -> v128\nfunction builtin_v128_extend_high(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 1)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.I8: return module.unary(UnaryOp.ExtendHighI8x16ToI16x8, arg0);\n case TypeKind.U8: return module.unary(UnaryOp.ExtendHighU8x16ToU16x8, arg0);\n case TypeKind.I16: return module.unary(UnaryOp.ExtendHighI16x8ToI32x4, arg0);\n case TypeKind.U16: return module.unary(UnaryOp.ExtendHighU16x8ToU32x4, arg0);\n case TypeKind.Isize: {\n if (compiler.options.isWasm64) break;\n // fall-through\n }\n case TypeKind.I32: return module.unary(UnaryOp.ExtendHighI32x4ToI64x2, arg0);\n case TypeKind.Usize: {\n if (compiler.options.isWasm64) break;\n // fall-through\n }\n case TypeKind.U32: return module.unary(UnaryOp.ExtendHighU32x4ToU64x2, arg0);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.extend_high\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_extend_high, builtin_v128_extend_high);\n\n// v128.shl(a: v128, b: i32) -> v128\nfunction builtin_v128_shl(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 2)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let type = ctx.typeArguments![0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.i32, Constraints.ConvImplicit);\n compiler.currentType = Type.v128;\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.I8:\n case TypeKind.U8: return module.simd_shift(SIMDShiftOp.ShlI8x16, arg0, arg1);\n case TypeKind.I16:\n case TypeKind.U16: return module.simd_shift(SIMDShiftOp.ShlI16x8, arg0, arg1);\n case TypeKind.I32:\n case TypeKind.U32: return module.simd_shift(SIMDShiftOp.ShlI32x4, arg0, arg1);\n case TypeKind.I64:\n case TypeKind.U64: return module.simd_shift(SIMDShiftOp.ShlI64x2, arg0, arg1);\n case TypeKind.Isize:\n case TypeKind.Usize: {\n return module.simd_shift(\n compiler.options.isWasm64\n ? SIMDShiftOp.ShlI64x2\n : SIMDShiftOp.ShlI32x4,\n arg0, arg1\n );\n }\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.shl\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_shl, builtin_v128_shl);\n\n// v128.shr(a: v128, b: i32) -> v128\nfunction builtin_v128_shr(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 2)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let type = ctx.typeArguments![0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.i32, Constraints.ConvImplicit);\n compiler.currentType = Type.v128;\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.I8: return module.simd_shift(SIMDShiftOp.ShrI8x16, arg0, arg1);\n case TypeKind.U8: return module.simd_shift(SIMDShiftOp.ShrU8x16, arg0, arg1);\n case TypeKind.I16: return module.simd_shift(SIMDShiftOp.ShrI16x8, arg0, arg1);\n case TypeKind.U16: return module.simd_shift(SIMDShiftOp.ShrU16x8, arg0, arg1);\n case TypeKind.I32: return module.simd_shift(SIMDShiftOp.ShrI32x4, arg0, arg1);\n case TypeKind.U32: return module.simd_shift(SIMDShiftOp.ShrU32x4, arg0, arg1);\n case TypeKind.I64: return module.simd_shift(SIMDShiftOp.ShrI64x2, arg0, arg1);\n case TypeKind.U64: return module.simd_shift(SIMDShiftOp.ShrU64x2, arg0, arg1);\n case TypeKind.Isize: {\n return module.simd_shift(\n compiler.options.isWasm64\n ? SIMDShiftOp.ShrI64x2\n : SIMDShiftOp.ShrI32x4,\n arg0, arg1\n );\n }\n case TypeKind.Usize: {\n return module.simd_shift(\n compiler.options.isWasm64\n ? SIMDShiftOp.ShrU64x2\n : SIMDShiftOp.ShrU32x4,\n arg0, arg1\n );\n }\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.shr\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_shr, builtin_v128_shr);\n\nfunction builtin_v128_bitwise_binary(ctx: BuiltinFunctionContext, op: BinaryOp): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeAbsent(ctx) |\n checkArgsRequired(ctx, 2)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit);\n return module.binary(op, arg0, arg1);\n}\n\n// v128.and(a: v128, b: v128) -> v128\nfunction builtin_v128_and(ctx: BuiltinFunctionContext): ExpressionRef {\n return builtin_v128_bitwise_binary(ctx, BinaryOp.AndV128);\n}\nbuiltinFunctions.set(BuiltinNames.v128_and, builtin_v128_and);\n\n// v128.or(a: v128, b: v128) -> v128\nfunction builtin_v128_or(ctx: BuiltinFunctionContext): ExpressionRef {\n return builtin_v128_bitwise_binary(ctx, BinaryOp.OrV128);\n}\nbuiltinFunctions.set(BuiltinNames.v128_or, builtin_v128_or);\n\n// v128.xor(a: v128, b: v128) -> v128\nfunction builtin_v128_xor(ctx: BuiltinFunctionContext): ExpressionRef {\n return builtin_v128_bitwise_binary(ctx, BinaryOp.XorV128);\n}\nbuiltinFunctions.set(BuiltinNames.v128_xor, builtin_v128_xor);\n\n// v128.andnot(a: v128, b: v128) -> v128\nfunction builtin_v128_andnot(ctx: BuiltinFunctionContext): ExpressionRef {\n return builtin_v128_bitwise_binary(ctx, BinaryOp.AndnotV128);\n}\nbuiltinFunctions.set(BuiltinNames.v128_andnot, builtin_v128_andnot);\n\nfunction builtin_v128_bitwise_unary(ctx: BuiltinFunctionContext, op: UnaryOp): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeAbsent(ctx) |\n checkArgsRequired(ctx, 1)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n return module.unary(op, arg0);\n}\n\n// v128.not(a: v128) -> v128\nfunction builtin_v128_not(ctx: BuiltinFunctionContext): ExpressionRef {\n return builtin_v128_bitwise_unary(ctx, UnaryOp.NotV128);\n}\nbuiltinFunctions.set(BuiltinNames.v128_not, builtin_v128_not);\n\n// v128.bitselect(v1: v128, v2: v128, c: v128) -> v128\nfunction builtin_v128_bitselect(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeAbsent(ctx) |\n checkArgsRequired(ctx, 3)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit);\n let arg2 = compiler.compileExpression(operands[2], Type.v128, Constraints.ConvImplicit);\n return module.simd_ternary(SIMDTernaryOp.Bitselect, arg0, arg1, arg2);\n}\nbuiltinFunctions.set(BuiltinNames.v128_bitselect, builtin_v128_bitselect);\n\n// v128.any_true(a: v128) -> bool\nfunction builtin_v128_any_true(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeAbsent(ctx) |\n checkArgsRequired(ctx, 1)\n ) {\n compiler.currentType = Type.bool;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n compiler.currentType = Type.bool;\n return module.unary(UnaryOp.AnyTrueV128, arg0);\n}\nbuiltinFunctions.set(BuiltinNames.v128_any_true, builtin_v128_any_true);\n\n// v128.all_true(a: v128) -> bool\nfunction builtin_v128_all_true(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 1)\n ) {\n compiler.currentType = Type.bool;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let type = ctx.typeArguments![0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n compiler.currentType = Type.bool;\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.I8:\n case TypeKind.U8: return module.unary(UnaryOp.AllTrueI8x16, arg0);\n case TypeKind.I16:\n case TypeKind.U16: return module.unary(UnaryOp.AllTrueI16x8, arg0);\n case TypeKind.I32:\n case TypeKind.U32: return module.unary(UnaryOp.AllTrueI32x4, arg0);\n case TypeKind.I64:\n case TypeKind.U64: return module.unary(UnaryOp.AllTrueI64x2, arg0);\n case TypeKind.Isize:\n case TypeKind.Usize: {\n return module.unary(\n compiler.options.isWasm64\n ? UnaryOp.AllTrueI64x2\n : UnaryOp.AllTrueI32x4,\n arg0\n );\n }\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.all_true\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_all_true, builtin_v128_all_true);\n\n// v128.bitmask(a: v128) -> i32\nfunction builtin_v128_bitmask(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 1)\n ) {\n compiler.currentType = Type.i32;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let type = ctx.typeArguments![0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n compiler.currentType = Type.i32;\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.I8:\n case TypeKind.U8: return module.unary(UnaryOp.BitmaskI8x16, arg0);\n case TypeKind.I16:\n case TypeKind.U16: return module.unary(UnaryOp.BitmaskI16x8, arg0);\n case TypeKind.I32:\n case TypeKind.U32: return module.unary(UnaryOp.BitmaskI32x4, arg0);\n case TypeKind.I64:\n case TypeKind.U64: return module.unary(UnaryOp.BitmaskI64x2, arg0);\n case TypeKind.Isize:\n case TypeKind.Usize: {\n return module.unary(\n compiler.options.isWasm64\n ? UnaryOp.BitmaskI64x2\n : UnaryOp.BitmaskI32x4,\n arg0\n );\n }\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.bitmask\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_bitmask, builtin_v128_bitmask);\n\n// v128.popcnt(a: v128) -> v128\nfunction builtin_v128_popcnt(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 1)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let type = ctx.typeArguments![0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n compiler.currentType = Type.v128;\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.I8:\n case TypeKind.U8: return module.unary(UnaryOp.PopcntI8x16, arg0);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.popcnt\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_popcnt, builtin_v128_popcnt);\n\n// v128.extadd_pairwise(a: v128) -> v128\nfunction builtin_v128_extadd_pairwise(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 1)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let type = ctx.typeArguments![0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n compiler.currentType = Type.v128;\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.I8: return module.unary(UnaryOp.ExtaddPairwiseI8x16ToI16x8, arg0);\n case TypeKind.U8: return module.unary(UnaryOp.ExtaddPairwiseU8x16ToU16x8, arg0);\n case TypeKind.I16: return module.unary(UnaryOp.ExtaddPairwiseI16x8ToI32x4, arg0);\n case TypeKind.U16: return module.unary(UnaryOp.ExtaddPairwiseU16x8ToU32x4, arg0);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.extadd_pairwise\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_extadd_pairwise, builtin_v128_extadd_pairwise);\n\n// v128.demote_zero(a: v128) -> v128\nfunction builtin_v128_demote_zero(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeOptional(ctx) |\n checkArgsRequired(ctx, 1)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments;\n let type = typeArguments ? typeArguments[0] : Type.f64;\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n compiler.currentType = Type.v128;\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.F64: return module.unary(UnaryOp.DemoteZeroF64x2ToF32x4, arg0);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.demote_zero\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_demote_zero, builtin_v128_demote_zero);\n\n// v128.promote_low(a: v128) -> v128\nfunction builtin_v128_promote_low(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeOptional(ctx) |\n checkArgsRequired(ctx, 1)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments;\n let type = typeArguments ? typeArguments[0] : Type.f32;\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n compiler.currentType = Type.v128;\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.F32: return module.unary(UnaryOp.PromoteLowF32x4ToF64x2, arg0);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.promote_low\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_promote_low, builtin_v128_promote_low);\n\n// v128.q15mulr_sat(a: v128, b: v128) -> v128\nfunction builtin_v128_q15mulr_sat(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 2)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.I16: return module.binary(BinaryOp.Q15mulrSatI16x8, arg0, arg1);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.q15mulr_sat\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_q15mulr_sat, builtin_v128_q15mulr_sat);\n\n// v128.extmul_low(a: v128, b: v128) -> v128\nfunction builtin_v128_extmul_low(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 2)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.I8: return module.binary(BinaryOp.ExtmulLowI16x8, arg0, arg1);\n case TypeKind.U8: return module.binary(BinaryOp.ExtmulLowU16x8, arg0, arg1);\n case TypeKind.I16: return module.binary(BinaryOp.ExtmulLowI32x4, arg0, arg1);\n case TypeKind.U16: return module.binary(BinaryOp.ExtmulLowU32x4, arg0, arg1);\n case TypeKind.I32: return module.binary(BinaryOp.ExtmulLowI64x2, arg0, arg1);\n case TypeKind.U32: return module.binary(BinaryOp.ExtmulLowU64x2, arg0, arg1);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.extmul_low\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_extmul_low, builtin_v128_extmul_low);\n\n// v128.extmul_high(a: v128, b: v128) -> v128\nfunction builtin_v128_extmul_high(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 2)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.I8: return module.binary(BinaryOp.ExtmulHighI16x8, arg0, arg1);\n case TypeKind.U8: return module.binary(BinaryOp.ExtmulHighU16x8, arg0, arg1);\n case TypeKind.I16: return module.binary(BinaryOp.ExtmulHighI32x4, arg0, arg1);\n case TypeKind.U16: return module.binary(BinaryOp.ExtmulHighU32x4, arg0, arg1);\n case TypeKind.I32: return module.binary(BinaryOp.ExtmulHighI64x2, arg0, arg1);\n case TypeKind.U32: return module.binary(BinaryOp.ExtmulHighU64x2, arg0, arg1);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.extmul_high\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_extmul_high, builtin_v128_extmul_high);\n\n// === Relaxed SIMD ===========================================================================\n\n// v128.relaxed_swizzle(a: v128, s: v128) -> v128\nfunction builtin_v128_relaxed_swizzle(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.RelaxedSimd) |\n checkTypeAbsent(ctx) |\n checkArgsRequired(ctx, 2)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit);\n return module.binary(BinaryOp.RelaxedSwizzleI8x16, arg0, arg1);\n}\nbuiltinFunctions.set(BuiltinNames.v128_relaxed_swizzle, builtin_v128_relaxed_swizzle);\n\n// v128.relaxed_trunc(a: v128) -> v128\nfunction builtin_v128_relaxed_trunc(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.RelaxedSimd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 1)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.Isize: {\n if (compiler.options.isWasm64) break;\n // fall-through\n }\n case TypeKind.I32: return module.unary(UnaryOp.RelaxedTruncF32x4ToI32x4, arg0);\n case TypeKind.Usize: {\n if (compiler.options.isWasm64) break;\n // fall-through\n }\n case TypeKind.U32: return module.unary(UnaryOp.RelaxedTruncF32x4ToU32x4, arg0);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.relaxed_trunc\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_relaxed_trunc, builtin_v128_relaxed_trunc);\n\n// v128.relaxed_trunc_zero(a: v128) -> v128\nfunction builtin_v128_relaxed_trunc_zero(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.RelaxedSimd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 1)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.Isize: {\n if (compiler.options.isWasm64) break;\n // fall-through\n }\n case TypeKind.I32: return module.unary(UnaryOp.RelaxedTruncF64x2ToI32x4Zero, arg0);\n case TypeKind.Usize: {\n if (compiler.options.isWasm64) break;\n // fall-through\n }\n case TypeKind.U32: return module.unary(UnaryOp.RelaxedTruncF64x2ToU32x4Zero, arg0);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.relaxed_trunc_zero\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_relaxed_trunc_zero, builtin_v128_relaxed_trunc_zero);\n\n// v128.relaxed_madd(a: v128, b: v128, c: v128) -> v128\nfunction builtin_v128_relaxed_madd(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.RelaxedSimd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 3)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit);\n let arg2 = compiler.compileExpression(operands[2], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.F32: return module.simd_ternary(SIMDTernaryOp.RelaxedMaddF32x4, arg0, arg1, arg2);\n case TypeKind.F64: return module.simd_ternary(SIMDTernaryOp.RelaxedMaddF64x2, arg0, arg1, arg2);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.relaxed_madd\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_relaxed_madd, builtin_v128_relaxed_madd);\n\n// v128.relaxed_nmadd(a: v128, b: v128, c: v128) -> v128\nfunction builtin_v128_relaxed_nmadd(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.RelaxedSimd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 3)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit);\n let arg2 = compiler.compileExpression(operands[2], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.F32: return module.simd_ternary(SIMDTernaryOp.RelaxedNmaddF32x4, arg0, arg1, arg2);\n case TypeKind.F64: return module.simd_ternary(SIMDTernaryOp.RelaxedNmaddF64x2, arg0, arg1, arg2);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.relaxed_nmadd\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_relaxed_nmadd, builtin_v128_relaxed_nmadd);\n\n// v128.relaxed_laneselect(a: v128, b: v128, m: v128) -> v128\nfunction builtin_v128_relaxed_laneselect(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.RelaxedSimd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 3)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit);\n let arg2 = compiler.compileExpression(operands[2], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.I8:\n case TypeKind.U8: return module.simd_ternary(SIMDTernaryOp.RelaxedLaneselectI8x16, arg0, arg1, arg2);\n case TypeKind.I16:\n case TypeKind.U16: return module.simd_ternary(SIMDTernaryOp.RelaxedLaneselectI16x8, arg0, arg1, arg2);\n case TypeKind.I32:\n case TypeKind.U32: return module.simd_ternary(SIMDTernaryOp.RelaxedLaneselectI32x4, arg0, arg1, arg2);\n case TypeKind.I64:\n case TypeKind.U64: return module.simd_ternary(SIMDTernaryOp.RelaxedLaneselectI64x2, arg0, arg1, arg2);\n case TypeKind.Isize:\n case TypeKind.Usize: {\n return module.simd_ternary(\n compiler.options.isWasm64\n ? SIMDTernaryOp.RelaxedLaneselectI64x2\n : SIMDTernaryOp.RelaxedLaneselectI32x4,\n arg0, arg1, arg2\n );\n }\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.relaxed_laneselect\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_relaxed_laneselect, builtin_v128_relaxed_laneselect);\n\n// v128.relaxed_min(a: v128, b: v128) -> v128\nfunction builtin_v128_relaxed_min(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.RelaxedSimd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 2)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.F32: return module.binary(BinaryOp.RelaxedMinF32x4, arg0, arg1);\n case TypeKind.F64: return module.binary(BinaryOp.RelaxedMinF64x2, arg0, arg1);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.relaxed_min\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_relaxed_min, builtin_v128_relaxed_min);\n\n// v128.relaxed_max(a: v128, b: v128) -> v128\nfunction builtin_v128_relaxed_max(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.RelaxedSimd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 2)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.F32: return module.binary(BinaryOp.RelaxedMaxF32x4, arg0, arg1);\n case TypeKind.F64: return module.binary(BinaryOp.RelaxedMaxF64x2, arg0, arg1);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.relaxed_max\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_relaxed_max, builtin_v128_relaxed_max);\n\n// v128.relaxed_q15mulr(a: v128, b: v128) -> v128\nfunction builtin_v128_relaxed_q15mulr(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.RelaxedSimd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 2)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.I16: return module.binary(BinaryOp.RelaxedQ15MulrI16x8, arg0, arg1);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.relaxed_q15mulr\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_relaxed_q15mulr, builtin_v128_relaxed_q15mulr);\n\n// v128.relaxed_dot(a: v128, b: v128) -> v128\nfunction builtin_v128_relaxed_dot(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.RelaxedSimd) |\n checkArgsRequired(ctx, 2) |\n checkTypeRequired(ctx)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit);\n switch (type.kind) {\n case TypeKind.I16: return module.binary(BinaryOp.RelaxedDotI8x16I7x16ToI16x8, arg0, arg1);\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.relaxed_dot\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_relaxed_dot, builtin_v128_relaxed_dot);\n\n// v128.relaxed_dot_add(a: v128, b: v128, c: v128) -> v128\nfunction builtin_v128_relaxed_dot_add(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.RelaxedSimd) |\n checkArgsRequired(ctx, 3) |\n checkTypeRequired(ctx)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit);\n let arg2 = compiler.compileExpression(operands[2], Type.v128, Constraints.ConvImplicit);\n switch (type.kind) {\n // TOOD: emulate relaxed_dot_add of i16 with multiple instructions?\n case TypeKind.Isize: {\n if (compiler.options.isWasm64) break;\n // fall-through\n }\n case TypeKind.I32: return module.simd_ternary(SIMDTernaryOp.RelaxedDotI8x16I7x16AddToI32x4, arg0, arg1, arg2);\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.relaxed_dot_add\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_relaxed_dot_add, builtin_v128_relaxed_dot_add);\n\n// === Internal runtime =======================================================================\n\n// __visit_globals(cookie: u32) -> void\nfunction builtin_visit_globals(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkTypeAbsent(ctx) |\n checkArgsRequired(ctx, 1) // cookie\n ) {\n compiler.currentType = Type.void;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let arg0 = compiler.compileExpression(operands[0], Type.u32, Constraints.ConvImplicit);\n compiler.runtimeFeatures |= RuntimeFeatures.visitGlobals;\n compiler.currentType = Type.void;\n return module.call(BuiltinNames.visit_globals, [ arg0 ], TypeRef.None);\n}\nbuiltinFunctions.set(BuiltinNames.visit_globals, builtin_visit_globals);\n\n// __visit_members(ref: usize, cookie: u32) -> void\nfunction builtin_visit_members(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkTypeAbsent(ctx) |\n checkArgsRequired(ctx, 2) // ref, cookie\n ) {\n compiler.currentType = Type.void;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let arg0 = compiler.compileExpression(operands[0], compiler.options.usizeType, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.u32, Constraints.ConvImplicit);\n compiler.runtimeFeatures |= RuntimeFeatures.visitMembers;\n compiler.currentType = Type.void;\n return module.call(BuiltinNames.visit_members, [ arg0, arg1 ], TypeRef.None);\n}\nbuiltinFunctions.set(BuiltinNames.visit_members, builtin_visit_members);\n\n// === Inline assembler =======================================================================\n\n// TODO: Operators can't be just deferred (don't have a corresponding generic built-in)\n// add, sub, mul, div_s, div_u, rem_s, rem_u\n// and, or, xor, shl, shr_u, shr_s\n// eq, eqz, ne, lt_s, lt_u, le_s, le_u, gt_s, gt_u, ge_s, ge_u\n\n// i32.clz -> clz\nfunction builtin_i32_clz(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.i32;\n return builtin_clz(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_clz, builtin_i32_clz);\n\n// i64.clz -> clz\nfunction builtin_i64_clz(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.i64;\n return builtin_clz(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_clz, builtin_i64_clz);\n\n// i32.ctz -> ctz\nfunction builtin_i32_ctz(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.i32;\n return builtin_ctz(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_ctz, builtin_i32_ctz);\n\n// i64.ctz -> ctz\nfunction builtin_i64_ctz(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.i64;\n return builtin_ctz(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_ctz, builtin_i64_ctz);\n\n// i32.popcnt -> popcnt\nfunction builtin_i32_popcnt(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.i32;\n return builtin_popcnt(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_popcnt, builtin_i32_popcnt);\n\n// i64.popcnt -> popcnt\nfunction builtin_i64_popcnt(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.i64;\n return builtin_popcnt(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_popcnt, builtin_i64_popcnt);\n\n// i32.rotl -> rotl\nfunction builtin_i32_rotl(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.i32;\n return builtin_rotl(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_rotl, builtin_i32_rotl);\n\n// i64.rotl -> rotl\nfunction builtin_i64_rotl(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.i64;\n return builtin_rotl(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_rotl, builtin_i64_rotl);\n\n// i32.rotr -> rotr\nfunction builtin_i32_rotr(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.i32;\n return builtin_rotr(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_rotr, builtin_i32_rotr);\n\n// i64.rotr -> rotr\nfunction builtin_i64_rotr(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.i64;\n return builtin_rotr(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_rotr, builtin_i64_rotr);\n\n// f32.abs -> abs\nfunction builtin_f32_abs(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.f32;\n return builtin_abs(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32_abs, builtin_f32_abs);\n\n// f64.abs -> abs\nfunction builtin_f64_abs(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.f64;\n return builtin_abs(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64_abs, builtin_f64_abs);\n\n// f32.max -> max\nfunction builtin_f32_max(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.f32;\n return builtin_max(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32_max, builtin_f32_max);\n\n// f64.max -> max\nfunction builtin_f64_max(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.f64;\n return builtin_max(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64_max, builtin_f64_max);\n\n// f32.min -> min\nfunction builtin_f32_min(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.f32;\n return builtin_min(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32_min, builtin_f32_min);\n\n// f64.min -> min\nfunction builtin_f64_min(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.f64;\n return builtin_min(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64_min, builtin_f64_min);\n\n// f32.ceil -> ceil\nfunction builtin_f32_ceil(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.f32;\n return builtin_ceil(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32_ceil, builtin_f32_ceil);\n\n// f64.ceil -> ceil\nfunction builtin_f64_ceil(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.f64;\n return builtin_ceil(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64_ceil, builtin_f64_ceil);\n\n// f32.floor -> floor\nfunction builtin_f32_floor(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.f32;\n return builtin_floor(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32_floor, builtin_f32_floor);\n\n// f64.floor -> floor\nfunction builtin_f64_floor(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.f64;\n return builtin_floor(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64_floor, builtin_f64_floor);\n\n// f32.copysign -> copysign\nfunction builtin_f32_copysign(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.f32;\n return builtin_copysign(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32_copysign, builtin_f32_copysign);\n\n// f64.copysign -> copysign\nfunction builtin_f64_copysign(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.f64;\n return builtin_copysign(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64_copysign, builtin_f64_copysign);\n\n// f32.nearest -> nearest\nfunction builtin_f32_nearest(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.f32;\n return builtin_nearest(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32_nearest, builtin_f32_nearest);\n\n// f64.nearest -> nearest\nfunction builtin_f64_nearest(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.f64;\n return builtin_nearest(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64_nearest, builtin_f64_nearest);\n\n// i32.reinterpret_f32 -> reinterpret\nfunction builtin_i32_reinterpret_f32(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.f32;\n return builtin_reinterpret(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_reinterpret_f32, builtin_i32_reinterpret_f32);\n\n// i64.reinterpret_f64 -> reinterpret\nfunction builtin_i64_reinterpret_f64(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.f64;\n return builtin_reinterpret(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_reinterpret_f64, builtin_i64_reinterpret_f64);\n\n// f32.reinterpret_i32 -> reinterpret\nfunction builtin_f32_reinterpret_i32(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.i32;\n return builtin_reinterpret(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32_reinterpret_i32, builtin_f32_reinterpret_i32);\n\n// f64.reinterpret_i64 -> reinterpret\nfunction builtin_f64_reinterpret_i64(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.i64;\n return builtin_reinterpret(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64_reinterpret_i64, builtin_f64_reinterpret_i64);\n\n// f32.sqrt -> sqrt\nfunction builtin_f32_sqrt(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.f32;\n return builtin_sqrt(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32_sqrt, builtin_f32_sqrt);\n\n// f64.sqrt -> sqrt\nfunction builtin_f64_sqrt(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.f64;\n return builtin_sqrt(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64_sqrt, builtin_f64_sqrt);\n\n// f32.trunc -> trunc\nfunction builtin_f32_trunc(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.f32;\n return builtin_trunc(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32_trunc, builtin_f32_trunc);\n\n// f64.trunc -> trunc\nfunction builtin_f64_trunc(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.f64;\n return builtin_trunc(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64_trunc, builtin_f64_trunc);\n\n// i32.rem_s -> rem\nfunction builtin_i32_rem_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.i32;\n return builtin_rem(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_rem_s, builtin_i32_rem_s);\n\n// i32.rem_u -> rem\nfunction builtin_i32_rem_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u32 ];\n ctx.contextualType = Type.u32;\n return builtin_rem(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_rem_u, builtin_i32_rem_u);\n\n// i64.rem_s -> rem\nfunction builtin_i64_rem_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.i64;\n return builtin_rem(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_rem_s, builtin_i64_rem_s);\n\n// i64.rem_u -> rem\nfunction builtin_i64_rem_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u64 ];\n ctx.contextualType = Type.u64;\n return builtin_rem(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_rem_u, builtin_i64_rem_u);\n\n// i32.add -> add\nfunction builtin_i32_add(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.i32;\n return builtin_add(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_add, builtin_i32_add);\n\n// i64.add -> add\nfunction builtin_i64_add(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.i64;\n return builtin_add(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_add, builtin_i64_add);\n\n// f32.add -> add\nfunction builtin_f32_add(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.f32;\n return builtin_add(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32_add, builtin_f32_add);\n\n// f64.add -> add\nfunction builtin_f64_add(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.f64;\n return builtin_add(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64_add, builtin_f64_add);\n\n// i32.sub -> sub\nfunction builtin_i32_sub(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.i32;\n return builtin_sub(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_sub, builtin_i32_sub);\n\n// i64.sub -> sub\nfunction builtin_i64_sub(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.i64;\n return builtin_sub(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_sub, builtin_i64_sub);\n\n// f32.sub -> sub\nfunction builtin_f32_sub(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.f32;\n return builtin_sub(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32_sub, builtin_f32_sub);\n\n// f64.sub -> sub\nfunction builtin_f64_sub(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.f64;\n return builtin_sub(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64_sub, builtin_f64_sub);\n\n// i32.mul -> mul\nfunction builtin_i32_mul(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.i32;\n return builtin_mul(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_mul, builtin_i32_mul);\n\n// i64.mul -> mul\nfunction builtin_i64_mul(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.i64;\n return builtin_mul(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_mul, builtin_i64_mul);\n\n// f32.mul -> mul\nfunction builtin_f32_mul(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.f32;\n return builtin_mul(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32_mul, builtin_f32_mul);\n\n// f64.mul -> mul\nfunction builtin_f64_mul(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.f64;\n return builtin_mul(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64_mul, builtin_f64_mul);\n\n// i32.div_s -> div\nfunction builtin_i32_div_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.i32;\n return builtin_div(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_div_s, builtin_i32_div_s);\n\n// i32.div_u -> div\nfunction builtin_i32_div_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u32 ];\n ctx.contextualType = Type.u32;\n return builtin_div(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_div_u, builtin_i32_div_u);\n\n// i64.div_s -> div_s\nfunction builtin_i64_div_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.i64;\n return builtin_div(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_div_s, builtin_i64_div_s);\n\n// i64.div_u -> div_u\nfunction builtin_i64_div_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u64 ];\n ctx.contextualType = Type.u64;\n return builtin_div(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_div_u, builtin_i64_div_u);\n\n// f32.div -> div\nfunction builtin_f32_div(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.f32;\n return builtin_div(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32_div, builtin_f32_div);\n\n// f64.div -> div\nfunction builtin_f64_div(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.f64;\n return builtin_div(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64_div, builtin_f64_div);\n\n// i32.eq -> eq\nfunction builtin_i32_eq(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.i32;\n return builtin_eq(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_eq, builtin_i32_eq);\n\n// i64.eq -> eq\nfunction builtin_i64_eq(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.i32;\n return builtin_eq(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_eq, builtin_i64_eq);\n\n// f32.eq -> eq\nfunction builtin_f32_eq(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.i32;\n return builtin_eq(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32_eq, builtin_f32_eq);\n\n// f64.eq -> eq\nfunction builtin_f64_eq(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.i32;\n return builtin_eq(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64_eq, builtin_f64_eq);\n\n// i32.ne -> ne\nfunction builtin_i32_ne(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.i32;\n return builtin_ne(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_ne, builtin_i32_ne);\n\n// i64.ne -> ne\nfunction builtin_i64_ne(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.i32;\n return builtin_ne(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_ne, builtin_i64_ne);\n\n// f32.ne -> ne\nfunction builtin_f32_ne(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.i32;\n return builtin_ne(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32_ne, builtin_f32_ne);\n\n// f64.ne-> ne\nfunction builtin_f64_ne(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.i32;\n return builtin_ne(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64_ne, builtin_f64_ne);\n\n// i32.load8_s -> load\nfunction builtin_i32_load8_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i8 ];\n ctx.contextualType = Type.i32;\n return builtin_load(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_load8_s, builtin_i32_load8_s);\n\n// i32.load8_u -> load\nfunction builtin_i32_load8_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u8 ];\n ctx.contextualType = Type.i32;\n return builtin_load(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_load8_u, builtin_i32_load8_u);\n\n// i32.load16_s -> load\nfunction builtin_i32_load16_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i16 ];\n ctx.contextualType = Type.i32;\n return builtin_load(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_load16_s, builtin_i32_load16_s);\n\n// i32.load16_u -> load\nfunction builtin_i32_load16_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u16 ];\n ctx.contextualType = Type.i32;\n return builtin_load(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_load16_u, builtin_i32_load16_u);\n\n// i32.load -> load\nfunction builtin_i32_load(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.i32;\n return builtin_load(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_load, builtin_i32_load);\n\n// i64.load8_s -> load\nfunction builtin_i64_load8_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i8 ];\n ctx.contextualType = Type.i64;\n return builtin_load(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_load8_s, builtin_i64_load8_s);\n\n// i64.load8_u -> load\nfunction builtin_i64_load8_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u8 ];\n ctx.contextualType = Type.i64;\n return builtin_load(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_load8_u, builtin_i64_load8_u);\n\n// i64.load16_s -> load\nfunction builtin_i64_load16_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i16 ];\n ctx.contextualType = Type.i64;\n return builtin_load(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_load16_s, builtin_i64_load16_s);\n\n// i64.load16_u -> load\nfunction builtin_i64_load16_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u16 ];\n ctx.contextualType = Type.i64;\n return builtin_load(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_load16_u, builtin_i64_load16_u);\n\n// i64.load32_s -> load\nfunction builtin_i64_load32_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.i64;\n return builtin_load(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_load32_s, builtin_i64_load32_s);\n\n// i64.load32_u -> load\nfunction builtin_i64_load32_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u32 ];\n ctx.contextualType = Type.i64;\n return builtin_load(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_load32_u, builtin_i64_load32_u);\n\n// i64.load -> load\nfunction builtin_i64_load(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.i64;\n return builtin_load(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_load, builtin_i64_load);\n\n// f32.load -> load\nfunction builtin_f32_load(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.f32;\n return builtin_load(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32_load, builtin_f32_load);\n\n// f64.load -> load\nfunction builtin_f64_load(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.f64;\n return builtin_load(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64_load, builtin_f64_load);\n\n// i32.store8 -> store\nfunction builtin_i32_store8(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i8 ];\n ctx.contextualType = Type.i32;\n ctx.contextIsExact = true;\n return builtin_store(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_store8, builtin_i32_store8);\n\n// i32.store16 -> store\nfunction builtin_i32_store16(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i16 ];\n ctx.contextualType = Type.i32;\n ctx.contextIsExact = true;\n return builtin_store(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_store16, builtin_i32_store16);\n\n// i32.store -> store\nfunction builtin_i32_store(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.i32;\n ctx.contextIsExact = true;\n return builtin_store(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_store, builtin_i32_store);\n\n// i64.store8 -> store\nfunction builtin_i64_store8(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i8 ];\n ctx.contextualType = Type.i64;\n ctx.contextIsExact = true;\n return builtin_store(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_store8, builtin_i64_store8);\n\n// i64.store16 -> store\nfunction builtin_i64_store16(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i16 ];\n ctx.contextualType = Type.i64;\n ctx.contextIsExact = true;\n return builtin_store(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_store16, builtin_i64_store16);\n\n// i64.store32 -> store\nfunction builtin_i64_store32(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.i64;\n ctx.contextIsExact = true;\n return builtin_store(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_store32, builtin_i64_store32);\n\n// i64.store -> store\nfunction builtin_i64_store(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.i64;\n ctx.contextIsExact = true;\n return builtin_store(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_store, builtin_i64_store);\n\n// f32.store -> store\nfunction builtin_f32_store(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.f32;\n ctx.contextIsExact = true;\n return builtin_store(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32_store, builtin_f32_store);\n\n// f64.store -> store\nfunction builtin_f64_store(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.f64;\n ctx.contextIsExact = true;\n return builtin_store(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64_store, builtin_f64_store);\n\n// i32.atomic.load8_u -> atomic.load\nfunction builtin_i32_atomic_load8_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u8 ];\n ctx.contextualType = Type.i32;\n return builtin_atomic_load(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_atomic_load8_u, builtin_i32_atomic_load8_u);\n\n// i32.atomic.load16_u -> atomic.load\nfunction builtin_i32_atomic_load16_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u16 ];\n ctx.contextualType = Type.i32;\n return builtin_atomic_load(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_atomic_load16_u, builtin_i32_atomic_load16_u);\n\n// i32.atomic.load -> atomic.load\nfunction builtin_i32_atomic_load(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.i32;\n return builtin_atomic_load(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_atomic_load, builtin_i32_atomic_load);\n\n// i64.atomic.load8_u -> atomic.load\nfunction builtin_i64_atomic_load8_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u8 ];\n ctx.contextualType = Type.i64;\n return builtin_atomic_load(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_atomic_load8_u, builtin_i64_atomic_load8_u);\n\n// i64.atomic.load16_u -> atomic.load\nfunction builtin_i64_atomic_load16_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u16 ];\n ctx.contextualType = Type.i64;\n return builtin_atomic_load(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_atomic_load16_u, builtin_i64_atomic_load16_u);\n\n// i64.atomic.load32_u -> atomic.load\nfunction builtin_i64_atomic_load32_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u32 ];\n ctx.contextualType = Type.i64;\n return builtin_atomic_load(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_atomic_load32_u, builtin_i64_atomic_load32_u);\n\n// i64.atomic.load -> atomic.load\nfunction builtin_i64_atomic_load(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.i64;\n return builtin_atomic_load(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_atomic_load, builtin_i64_atomic_load);\n\n// i32.atomic.store8 -> atomic.store\nfunction builtin_i32_atomic_store8(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i8 ];\n ctx.contextualType = Type.i32;\n ctx.contextIsExact = true;\n return builtin_atomic_store(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_atomic_store8, builtin_i32_atomic_store8);\n\n// i32.atomic.store16 -> atomic.store\nfunction builtin_i32_atomic_store16(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i16 ];\n ctx.contextualType = Type.i32;\n ctx.contextIsExact = true;\n return builtin_atomic_store(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_atomic_store16, builtin_i32_atomic_store16);\n\n// i32.atomic.store -> atomic.store\nfunction builtin_i32_atomic_store(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.i32;\n ctx.contextIsExact = true;\n return builtin_atomic_store(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_atomic_store, builtin_i32_atomic_store);\n\n// i64.atomic.store8 -> atomic.store\nfunction builtin_i64_atomic_store8(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i8 ];\n ctx.contextualType = Type.i64;\n ctx.contextIsExact = true;\n return builtin_atomic_store(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_atomic_store8, builtin_i64_atomic_store8);\n\n// i64.atomic.store16 -> atomic.store\nfunction builtin_i64_atomic_store16(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u16 ];\n ctx.contextualType = Type.i64;\n ctx.contextIsExact = true;\n return builtin_atomic_store(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_atomic_store16, builtin_i64_atomic_store16);\n\n// i64.atomic.store32 -> atomic.store\nfunction builtin_i64_atomic_store32(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.i64;\n ctx.contextIsExact = true;\n return builtin_atomic_store(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_atomic_store32, builtin_i64_atomic_store32);\n\n// i64.atomic.store -> atomic.store\nfunction builtin_i64_atomic_store(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.i64;\n ctx.contextIsExact = true;\n return builtin_atomic_store(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_atomic_store, builtin_i64_atomic_store);\n\n// i32.atomic.rmw8.add_u -> atomic.add\nfunction builtin_i32_atomic_rmw8_add_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u8 ];\n ctx.contextualType = Type.i32;\n ctx.contextIsExact = true;\n return builtin_atomic_add(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_atomic_rmw8_add_u, builtin_i32_atomic_rmw8_add_u);\n\n// i32.atomic.rmw16.add_u -> atomic.add\nfunction builtin_i32_atomic_rmw16_add_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u16 ];\n ctx.contextualType = Type.i32;\n ctx.contextIsExact = true;\n return builtin_atomic_add(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_atomic_rmw16_add_u, builtin_i32_atomic_rmw16_add_u);\n\n// i32.atomic.rmw.add -> atomic.add\nfunction builtin_i32_atomic_rmw_add(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.i32;\n ctx.contextIsExact = true;\n return builtin_atomic_add(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_atomic_rmw_add, builtin_i32_atomic_rmw_add);\n\n// i64.atomic.rmw8.add_u -> atomic.add\nfunction builtin_i64_atomic_rmw8_add_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u8 ];\n ctx.contextualType = Type.i64;\n ctx.contextIsExact = true;\n return builtin_atomic_add(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_atomic_rmw8_add_u, builtin_i64_atomic_rmw8_add_u);\n\n// i64.atomic.rmw16.add_u -> atomic.add\nfunction builtin_i64_atomic_rmw16_add_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u16 ];\n ctx.contextualType = Type.i64;\n ctx.contextIsExact = true;\n return builtin_atomic_add(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_atomic_rmw16_add_u, builtin_i64_atomic_rmw16_add_u);\n\n// i64.atomic.rmw32.add_u -> atomic.add\nfunction builtin_i64_atomic_rmw32_add_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u32 ];\n ctx.contextualType = Type.i64;\n ctx.contextIsExact = true;\n return builtin_atomic_add(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_atomic_rmw32_add_u, builtin_i64_atomic_rmw32_add_u);\n\n// i64.atomic.rmw.add -> atomic.add\nfunction builtin_i64_atomic_rmw_add(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.i64;\n ctx.contextIsExact = true;\n return builtin_atomic_add(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_atomic_rmw_add, builtin_i64_atomic_rmw_add);\n\n// i32.atomic.rmw8.sub_u -> atomic.sub\nfunction builtin_i32_atomic_rmw8_sub_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u8 ];\n ctx.contextualType = Type.i32;\n ctx.contextIsExact = true;\n return builtin_atomic_sub(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_atomic_rmw8_sub_u, builtin_i32_atomic_rmw8_sub_u);\n\n// i32.atomic.rmw16.sub_u -> atomic.sub\nfunction builtin_i32_atomic_rmw16_sub_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u16 ];\n ctx.contextualType = Type.i32;\n ctx.contextIsExact = true;\n return builtin_atomic_sub(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_atomic_rmw16_sub_u, builtin_i32_atomic_rmw16_sub_u);\n\n// i32.atomic.rmw.sub -> atomic.sub\nfunction builtin_i32_atomic_rmw_sub(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.i32;\n ctx.contextIsExact = true;\n return builtin_atomic_sub(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_atomic_rmw_sub, builtin_i32_atomic_rmw_sub);\n\n// i64.atomic.rmw8.sub_u -> atomic.sub\nfunction builtin_i64_atomic_rmw8_sub_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u8 ];\n ctx.contextualType = Type.i64;\n ctx.contextIsExact = true;\n return builtin_atomic_sub(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_atomic_rmw8_sub_u, builtin_i64_atomic_rmw8_sub_u);\n\n// i64.atomic.rmw16.sub_u -> atomic.sub\nfunction builtin_i64_atomic_rmw16_sub_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u16 ];\n ctx.contextualType = Type.i64;\n ctx.contextIsExact = true;\n return builtin_atomic_sub(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_atomic_rmw16_sub_u, builtin_i64_atomic_rmw16_sub_u);\n\n// i64.atomic.rmw32.sub_u -> atomic.sub\nfunction builtin_i64_atomic_rmw32_sub_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u32 ];\n ctx.contextualType = Type.i64;\n ctx.contextIsExact = true;\n return builtin_atomic_sub(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_atomic_rmw32_sub_u, builtin_i64_atomic_rmw32_sub_u);\n\n// i64.atomic.rmw.sub -> atomic.sub\nfunction builtin_i64_atomic_rmw_sub(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.i64;\n ctx.contextIsExact = true;\n return builtin_atomic_sub(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_atomic_rmw_sub, builtin_i64_atomic_rmw_sub);\n\n// i32.atomic.rmw8.and_u -> atomic.and\nfunction builtin_i32_atomic_rmw8_and_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u8 ];\n ctx.contextualType = Type.i32;\n ctx.contextIsExact = true;\n return builtin_atomic_and(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_atomic_rmw8_and_u, builtin_i32_atomic_rmw8_and_u);\n\n// i32.atomic.rmw16.and_u -> atomic.and\nfunction builtin_i32_atomic_rmw16_and_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u16 ];\n ctx.contextualType = Type.i32;\n ctx.contextIsExact = true;\n return builtin_atomic_and(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_atomic_rmw16_and_u, builtin_i32_atomic_rmw16_and_u);\n\n// i32.atomic.rmw.and -> atomic.and\nfunction builtin_i32_atomic_rmw_and(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.i32;\n ctx.contextIsExact = true;\n return builtin_atomic_and(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_atomic_rmw_and, builtin_i32_atomic_rmw_and);\n\n// i64.atomic.rmw8.and_u -> atomic.and\nfunction builtin_i64_atomic_rmw8_and_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u8 ];\n ctx.contextualType = Type.i64;\n ctx.contextIsExact = true;\n return builtin_atomic_and(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_atomic_rmw8_and_u, builtin_i64_atomic_rmw8_and_u);\n\n// i64.atomic.rmw16.and_u -> atomic.and\nfunction builtin_i64_atomic_rmw16_and_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u16 ];\n ctx.contextualType = Type.i64;\n ctx.contextIsExact = true;\n return builtin_atomic_and(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_atomic_rmw16_and_u, builtin_i64_atomic_rmw16_and_u);\n\n// i64.atomic.rmw32.and_u -> atomic.and\nfunction builtin_i64_atomic_rmw32_and_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u32 ];\n ctx.contextualType = Type.i64;\n ctx.contextIsExact = true;\n return builtin_atomic_and(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_atomic_rmw32_and_u, builtin_i64_atomic_rmw32_and_u);\n\n// i64.atomic.rmw.and -> atomic.and\nfunction builtin_i64_atomic_rmw_and(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.i64;\n ctx.contextIsExact = true;\n return builtin_atomic_and(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_atomic_rmw_and, builtin_i64_atomic_rmw_and);\n\n// i32.atomic.rmw8.or_u -> atomic.or\nfunction builtin_i32_atomic_rmw8_or_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u8 ];\n ctx.contextualType = Type.i32;\n ctx.contextIsExact = true;\n return builtin_atomic_or(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_atomic_rmw8_or_u, builtin_i32_atomic_rmw8_or_u);\n\n// i32.atomic.rmw16.or_u -> \nfunction builtin_i32_atomic_rmw16_or_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u16 ];\n ctx.contextualType = Type.i32;\n ctx.contextIsExact = true;\n return builtin_atomic_or(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_atomic_rmw16_or_u, builtin_i32_atomic_rmw16_or_u);\n\n// i32.atomic.rmw.or -> atomic.or\nfunction builtin_i32_atomic_rmw_or(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.i32;\n ctx.contextIsExact = true;\n return builtin_atomic_or(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_atomic_rmw_or, builtin_i32_atomic_rmw_or);\n\n// i64.atomic.rmw8.or_u -> atomic.or\nfunction builtin_i64_atomic_rmw8_or_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u8 ];\n ctx.contextualType = Type.i64;\n ctx.contextIsExact = true;\n return builtin_atomic_or(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_atomic_rmw8_or_u, builtin_i64_atomic_rmw8_or_u);\n\n// i64.atomic.rmw16.or_u -> atomic.or\nfunction builtin_i64_atomic_rmw16_or_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u16 ];\n ctx.contextualType = Type.i64;\n ctx.contextIsExact = true;\n return builtin_atomic_or(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_atomic_rmw16_or_u, builtin_i64_atomic_rmw16_or_u);\n\n// i64.atomic.rmw32.or_u -> atomic.or\nfunction builtin_i64_atomic_rmw32_or_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u32 ];\n ctx.contextualType = Type.i64;\n ctx.contextIsExact = true;\n return builtin_atomic_or(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_atomic_rmw32_or_u, builtin_i64_atomic_rmw32_or_u);\n\n// i64.atomic.rmw.or -> atomic.or\nfunction builtin_i64_atomic_rmw_or(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.i64;\n ctx.contextIsExact = true;\n return builtin_atomic_or(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_atomic_rmw_or, builtin_i64_atomic_rmw_or);\n\n// i32.atomic.rmw8.xor_u -> atomic.xor\nfunction builtin_i32_atomic_rmw8_xor_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u8 ];\n ctx.contextualType = Type.i32;\n ctx.contextIsExact = true;\n return builtin_atomic_xor(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_atomic_rmw8_xor_u, builtin_i32_atomic_rmw8_xor_u);\n\n// i32.atomic.rmw16.xor_u -> atomic.xor\nfunction builtin_i32_atomic_rmw16_xor_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u16 ];\n ctx.contextualType = Type.i32;\n ctx.contextIsExact = true;\n return builtin_atomic_xor(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_atomic_rmw16_xor_u, builtin_i32_atomic_rmw16_xor_u);\n\n// i32.atomic.rmw.xor -> atomic.xor\nfunction builtin_i32_atomic_rmw_xor(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.i32;\n ctx.contextIsExact = true;\n return builtin_atomic_xor(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_atomic_rmw_xor, builtin_i32_atomic_rmw_xor);\n\n// i64.atomic.rmw8.xor_u -> atomic.xor\nfunction builtin_i64_atomic_rmw8_xor_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u8 ];\n ctx.contextualType = Type.i64;\n ctx.contextIsExact = true;\n return builtin_atomic_xor(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_atomic_rmw8_xor_u, builtin_i64_atomic_rmw8_xor_u);\n\n// i64.atomic.rmw16.xor_u -> atomic.xor\nfunction builtin_i64_atomic_rmw16_xor_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u16 ];\n ctx.contextualType = Type.i64;\n ctx.contextIsExact = true;\n return builtin_atomic_xor(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_atomic_rmw16_xor_u, builtin_i64_atomic_rmw16_xor_u);\n\n// i64.atomic.rmw32.xor_u -> atomic.xor\nfunction builtin_i64_atomic_rmw32_xor_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u32 ];\n ctx.contextualType = Type.i64;\n ctx.contextIsExact = true;\n return builtin_atomic_xor(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_atomic_rmw32_xor_u, builtin_i64_atomic_rmw32_xor_u);\n\n// i64.atomic.rmw.xor -> atomic.xor\nfunction builtin_i64_atomic_rmw_xor(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.i64;\n ctx.contextIsExact = true;\n return builtin_atomic_xor(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_atomic_rmw_xor, builtin_i64_atomic_rmw_xor);\n\n// i32.atomic.rmw8.xchg_u -> atomic.xchg\nfunction builtin_i32_atomic_rmw8_xchg_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u8 ];\n ctx.contextualType = Type.i32;\n ctx.contextIsExact = true;\n return builtin_atomic_xchg(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_atomic_rmw8_xchg_u, builtin_i32_atomic_rmw8_xchg_u);\n\n// i32.atomic.rmw16.xchg_u -> atomic.xchg\nfunction builtin_i32_atomic_rmw16_xchg_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u16 ];\n ctx.contextualType = Type.i32;\n ctx.contextIsExact = true;\n return builtin_atomic_xchg(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_atomic_rmw16_xchg_u, builtin_i32_atomic_rmw16_xchg_u);\n\n// i32.atomic.rmw.xchg -> atomic.xchg\nfunction builtin_i32_atomic_rmw_xchg(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.i32;\n ctx.contextIsExact = true;\n return builtin_atomic_xchg(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_atomic_rmw_xchg, builtin_i32_atomic_rmw_xchg);\n\n// i64.atomic.rmw8.xchg_u -> atomic.xchg\nfunction builtin_i64_atomic_rmw8_xchg_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u8 ];\n ctx.contextualType = Type.i64;\n ctx.contextIsExact = true;\n return builtin_atomic_xchg(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_atomic_rmw8_xchg_u, builtin_i64_atomic_rmw8_xchg_u);\n\n// i64.atomic.rmw16.xchg_u -> atomic.xchg\nfunction builtin_i64_atomic_rmw16_xchg_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u16 ];\n ctx.contextualType = Type.i64;\n ctx.contextIsExact = true;\n return builtin_atomic_xchg(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_atomic_rmw16_xchg_u, builtin_i64_atomic_rmw16_xchg_u);\n\n// i64.atomic.rmw32.xchg_u -> atomic.xchg\nfunction builtin_i64_atomic_rmw32_xchg_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u32 ];\n ctx.contextualType = Type.i64;\n ctx.contextIsExact = true;\n return builtin_atomic_xchg(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_atomic_rmw32_xchg_u, builtin_i64_atomic_rmw32_xchg_u);\n\n// i64.atomic.rmw.xchg -> atomic.xchg\nfunction builtin_i64_atomic_rmw_xchg(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.i64;\n ctx.contextIsExact = true;\n return builtin_atomic_xchg(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_atomic_rmw_xchg, builtin_i64_atomic_rmw_xchg);\n\n// i32.atomic.rmw8.cmpxchg_u -> atomic.cmpxchg\nfunction builtin_i32_atomic_rmw8_cmpxchg_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u8 ];\n ctx.contextualType = Type.i32;\n ctx.contextIsExact = true;\n return builtin_atomic_cmpxchg(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_atomic_rmw8_cmpxchg_u, builtin_i32_atomic_rmw8_cmpxchg_u);\n\n// i32.atomic.rmw16.cmpxchg_u -> atomic.cmpxchg\nfunction builtin_i32_atomic_rmw16_cmpxchg_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u16 ];\n ctx.contextualType = Type.i32;\n ctx.contextIsExact = true;\n return builtin_atomic_cmpxchg(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_atomic_rmw16_cmpxchg_u, builtin_i32_atomic_rmw16_cmpxchg_u);\n\n// i32.atomic.rmw.cmpxchg -> atomic.cmpxchg\nfunction builtin_i32_atomic_rmw_cmpxchg(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.i32;\n ctx.contextIsExact = true;\n return builtin_atomic_cmpxchg(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_atomic_rmw_cmpxchg, builtin_i32_atomic_rmw_cmpxchg);\n\n// i64.atomic.rmw8.cmpxchg_u -> atomic.cmpxchg\nfunction builtin_i64_atomic_rmw8_cmpxchg_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u8 ];\n ctx.contextualType = Type.i64;\n ctx.contextIsExact = true;\n return builtin_atomic_cmpxchg(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_atomic_rmw8_cmpxchg_u, builtin_i64_atomic_rmw8_cmpxchg_u);\n\n// i64.atomic.rmw16.cmpxchg_u -> atomic.cmpxchg\nfunction builtin_i64_atomic_rmw16_cmpxchg_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u16 ];\n ctx.contextualType = Type.i64;\n ctx.contextIsExact = true;\n return builtin_atomic_cmpxchg(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_atomic_rmw16_cmpxchg_u, builtin_i64_atomic_rmw16_cmpxchg_u);\n\n// i64.atomic.rmw32.cmpxchg_u -> atomic.cmpxchg\nfunction builtin_i64_atomic_rmw32_cmpxchg_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u32 ];\n ctx.contextualType = Type.i64;\n ctx.contextIsExact = true;\n return builtin_atomic_cmpxchg(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_atomic_rmw32_cmpxchg_u, builtin_i64_atomic_rmw32_cmpxchg_u);\n\n// i64.atomic.rmw.cmpxchg -> atomic.cmpxchg\nfunction builtin_i64_atomic_rmw_cmpxchg(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.i64;\n ctx.contextIsExact = true;\n return builtin_atomic_cmpxchg(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_atomic_rmw_cmpxchg, builtin_i64_atomic_rmw_cmpxchg);\n\n// memory.atomic.wait32 -> atomic.wait\nfunction builtin_memory_atomic_wait32(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n return builtin_atomic_wait(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.memory_atomic_wait32, builtin_memory_atomic_wait32);\n\n// memory.atomic.wait64 -> atomic.wait\nfunction builtin_memory_atomic_wait64(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.i32;\n return builtin_atomic_wait(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.memory_atomic_wait64, builtin_memory_atomic_wait64);\n\n// v128.load -> load\nfunction builtin_v128_load(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.v128 ];\n ctx.contextualType = Type.v128;\n return builtin_load(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.v128_load, builtin_v128_load);\n\n// v128.load8x8_s -> v128.load_ext\nfunction builtin_v128_load8x8_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_load_ext(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.v128_load8x8_s, builtin_v128_load8x8_s);\n\n// v128.load8x8_u -> v128.load_ext\nfunction builtin_v128_load8x8_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_load_ext(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.v128_load8x8_u, builtin_v128_load8x8_u);\n\n// v128.load16x4_s -> v128.load_ext\nfunction builtin_v128_load16x4_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_load_ext(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.v128_load16x4_s, builtin_v128_load16x4_s);\n\n// v128.load16x4_u -> v128.load_ext\nfunction builtin_v128_load16x4_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_load_ext(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.v128_load16x4_u, builtin_v128_load16x4_u);\n\n// v128.load32x2_s -> v128.load_ext\nfunction builtin_v128_load32x2_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_load_ext(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.v128_load32x2_s, builtin_v128_load32x2_s);\n\n// v128.load32x2_u -> v128.load_ext\nfunction builtin_v128_load32x2_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_load_ext(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.v128_load32x2_u, builtin_v128_load32x2_u);\n\n// v128.load8_splat -> v128.load_splat\nfunction builtin_v128_load8_splat(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_load_splat(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.v128_load8_splat, builtin_v128_load8_splat);\n\n// v128.load16_splat -> v128.load_splat\nfunction builtin_v128_load16_splat(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_load_splat(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.v128_load16_splat, builtin_v128_load16_splat);\n\n// v128.load32_splat -> v128.load_splat\nfunction builtin_v128_load32_splat(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_load_splat(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.v128_load32_splat, builtin_v128_load32_splat);\n\n// v128.load64_splat -> v128.load_splat\nfunction builtin_v128_load64_splat(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_load_splat(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.v128_load64_splat, builtin_v128_load64_splat);\n\n// v128.load32_zero -> v128.load_zero\nfunction builtin_v128_load32_zero(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_load_zero(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.v128_load32_zero, builtin_v128_load32_zero);\n\n// v128.load64_zero -> v128.load_zero\nfunction builtin_v128_load64_zero(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_load_zero(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.v128_load64_zero, builtin_v128_load64_zero);\n\n// v128.load8_lane -> v128.load_lane\nfunction builtin_v128_load8_lane(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_load_lane(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.v128_load8_lane, builtin_v128_load8_lane);\n\n// v128.load16_lane -> v128.load_lane\nfunction builtin_v128_load16_lane(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_load_lane(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.v128_load16_lane, builtin_v128_load16_lane);\n\n// v128.load32_lane -> v128.load_lane\nfunction builtin_v128_load32_lane(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_load_lane(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.v128_load32_lane, builtin_v128_load32_lane);\n\n// v128.load64_lane -> v128.load_lane\nfunction builtin_v128_load64_lane(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_load_lane(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.v128_load64_lane, builtin_v128_load64_lane);\n\n// v128.store8_lane -> v128.store_lane\nfunction builtin_v128_store8_lane(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_store_lane(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.v128_store8_lane, builtin_v128_store8_lane);\n\n// v128.store16_lane -> v128.store_lane\nfunction builtin_v128_store16_lane(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_store_lane(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.v128_store16_lane, builtin_v128_store16_lane);\n\n// v128.store32_lane -> v128.store_lane\nfunction builtin_v128_store32_lane(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_store_lane(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.v128_store32_lane, builtin_v128_store32_lane);\n\n// v128.store64_lane -> v128.store_lane\nfunction builtin_v128_store64_lane(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_store_lane(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.v128_store64_lane, builtin_v128_store64_lane);\n\n// v128.store -> store\nfunction builtin_v128_store(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.v128 ];\n ctx.contextualType = Type.v128;\n ctx.contextIsExact = true;\n return builtin_store(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.v128_store, builtin_v128_store);\n\n// i8x16_splat -> v128.splat\nfunction builtin_i8x16_splat(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_splat(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i8x16_splat, builtin_i8x16_splat);\n\n// i8x16.extract_lane_s -> v128.extract_lane\nfunction builtin_i8x16_extract_lane_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i8 ];\n ctx.contextualType = Type.i32;\n return builtin_v128_extract_lane(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i8x16_extract_lane_s, builtin_i8x16_extract_lane_s);\n\n// i8x16.extract_lane_u -> v128.extract_lane\nfunction builtin_i8x16_extract_lane_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u8 ];\n ctx.contextualType = Type.i32;\n return builtin_v128_extract_lane(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i8x16_extract_lane_u, builtin_i8x16_extract_lane_u);\n\n// i8x16.replace_lane -> v128.replace_lane\nfunction builtin_i8x16_replace_lane(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_replace_lane(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i8x16_replace_lane, builtin_i8x16_replace_lane);\n\n// i8x16.add -> v128.add\nfunction builtin_i8x16_add(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_add(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i8x16_add, builtin_i8x16_add);\n\n// i8x16.sub -> v128.sub\nfunction builtin_i8x16_sub(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_sub(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i8x16_sub, builtin_i8x16_sub);\n\n// i8x16.min_s -> v128.min\nfunction builtin_i8x16_min_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_min(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i8x16_min_s, builtin_i8x16_min_s);\n\n// i8x16.min_u -> v128.min\nfunction builtin_i8x16_min_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_min(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i8x16_min_u, builtin_i8x16_min_u);\n\n// i8x16.max_s -> v128.max\nfunction builtin_i8x16_max_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_max(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i8x16_max_s, builtin_i8x16_max_s);\n\n// i8x16.max_u -> v128.max\nfunction builtin_i8x16_max_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_max(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i8x16_max_u, builtin_i8x16_max_u);\n\n// i8x16.avgr_u -> v128.avgr\nfunction builtin_i8x16_avgr_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_avgr(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i8x16_avgr_u, builtin_i8x16_avgr_u);\n\n// i8x16.abs -> v128.abs\nfunction builtin_i8x16_abs(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_abs(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i8x16_abs, builtin_i8x16_abs);\n\n// i8x16.neg -> v128.neg\nfunction builtin_i8x16_neg(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_neg(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i8x16_neg, builtin_i8x16_neg);\n\n// i8x16.add_sat_s -> v128.add_sat\nfunction builtin_i8x16_add_sat_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_add_sat(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i8x16_add_sat_s, builtin_i8x16_add_sat_s);\n\n// i8x16.add_sat_u -> v128.add_sat\nfunction builtin_i8x16_add_sat_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_add_sat(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i8x16_add_sat_u, builtin_i8x16_add_sat_u);\n\n// i8x16.sub_sat_s -> v128.sub_sat\nfunction builtin_i8x16_sub_sat_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_sub_sat(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i8x16_sub_sat_s, builtin_i8x16_sub_sat_s);\n\n// i8x16.sub_sat_u -> v128.sub_sat\nfunction builtin_i8x16_sub_sat_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_sub_sat(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i8x16_sub_sat_u, builtin_i8x16_sub_sat_u);\n\n// i8x16.shl -> v128.shl\nfunction builtin_i8x16_shl(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_shl(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i8x16_shl, builtin_i8x16_shl);\n\n// i8x16.shr_s -> v128.shr\nfunction builtin_i8x16_shr_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_shr(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i8x16_shr_s, builtin_i8x16_shr_s);\n\n// i8x16.shr_u -> v128.shr\nfunction builtin_i8x16_shr_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_shr(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i8x16_shr_u, builtin_i8x16_shr_u);\n\n// i8x16.all_true -> v128.all_true\nfunction builtin_i8x16_all_true(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i8 ];\n ctx.contextualType = Type.i32;\n return builtin_v128_all_true(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i8x16_all_true, builtin_i8x16_all_true);\n\n// i8x16.bitmask -> v128.bitmask\nfunction builtin_i8x16_bitmask(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i8 ];\n ctx.contextualType = Type.i32;\n return builtin_v128_bitmask(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i8x16_bitmask, builtin_i8x16_bitmask);\n\n// i8x16.popcnt -> v128.popcnt\nfunction builtin_i8x16_popcnt(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_popcnt(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i8x16_popcnt, builtin_i8x16_popcnt);\n\n// i8x16.eq -> v128.eq\nfunction builtin_i8x16_eq(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_eq(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i8x16_eq, builtin_i8x16_eq);\n\n// i8x16.ne -> v128.ne\nfunction builtin_i8x16_ne(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_ne(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i8x16_ne, builtin_i8x16_ne);\n\n// i8x16.lt_s -> v128.lt\nfunction builtin_i8x16_lt_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_lt(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i8x16_lt_s, builtin_i8x16_lt_s);\n\n// i8x16.lt_u -> v128.lt\nfunction builtin_i8x16_lt_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_lt(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i8x16_lt_u, builtin_i8x16_lt_u);\n\n// i8x16.le_s -> v128.le\nfunction builtin_i8x16_le_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_le(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i8x16_le_s, builtin_i8x16_le_s);\n\n// i8x16.le_u -> v128.le\nfunction builtin_i8x16_le_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_le(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i8x16_le_u, builtin_i8x16_le_u);\n\n// i8x16.gt_s -> v128.gt\nfunction builtin_i8x16_gt_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_gt(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i8x16_gt_s, builtin_i8x16_gt_s);\n\n// i8x16.gt_u -> v128.gt\nfunction builtin_i8x16_gt_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_gt(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i8x16_gt_u, builtin_i8x16_gt_u);\n\n// i8x16.ge_s -> v128.ge\nfunction builtin_i8x16_ge_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_ge(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i8x16_ge_s, builtin_i8x16_ge_s);\n\n// i8x16.ge_u -> v128.ge\nfunction builtin_i8x16_ge_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_ge(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i8x16_ge_u, builtin_i8x16_ge_u);\n\n// i8x16.narrow_i16x8_s -> v128.narrow\nfunction builtin_i8x16_narrow_i16x8_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_narrow(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i8x16_narrow_i16x8_s, builtin_i8x16_narrow_i16x8_s);\n\n// i8x16.narrow_i16x8_u -> v128.narrow\nfunction builtin_i8x16_narrow_i16x8_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_narrow(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i8x16_narrow_i16x8_u, builtin_i8x16_narrow_i16x8_u);\n\n// i8x16.shuffle -> v128.shuffle\nfunction builtin_i8x16_shuffle(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_shuffle(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i8x16_shuffle, builtin_i8x16_shuffle);\n\n// i8x16.swizzle -> v128.swizzle\nfunction builtin_i8x16_swizzle(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = null;\n ctx.contextualType = Type.v128;\n return builtin_v128_swizzle(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i8x16_swizzle, builtin_i8x16_swizzle);\n\n// i16x8.splat -> v128.splat\nfunction builtin_i16x8_splat(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_splat(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_splat, builtin_i16x8_splat);\n\n// i16x8.extract_lane_s -> v128.extract_lane\nfunction builtin_i16x8_extract_lane_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i16 ];\n ctx.contextualType = Type.i32;\n return builtin_v128_extract_lane(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_extract_lane_s, builtin_i16x8_extract_lane_s);\n\n// i16x8..extract_lane_u -> v128.extract_lane\nfunction builtin_i16x8_extract_lane_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u16 ];\n ctx.contextualType = Type.i32;\n return builtin_v128_extract_lane(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_extract_lane_u, builtin_i16x8_extract_lane_u);\n\n// i16x8.replace_lane -> v128.replace_lane\nfunction builtin_i16x8_replace_lane(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_replace_lane(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_replace_lane, builtin_i16x8_replace_lane);\n\n// i16x8.add -> v128.add\nfunction builtin_i16x8_add(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_add(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_add, builtin_i16x8_add);\n\n// i16x8.sub -> v128.sub\nfunction builtin_i16x8_sub(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_sub(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_sub, builtin_i16x8_sub);\n\n// i16x8.mul -> v128.mul\nfunction builtin_i16x8_mul(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_mul(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_mul, builtin_i16x8_mul);\n\n// i16x8.min_s -> v128.min\nfunction builtin_i16x8_min_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_min(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_min_s, builtin_i16x8_min_s);\n\n// i16x8.min_u -> v128.min\nfunction builtin_i16x8_min_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_min(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_min_u, builtin_i16x8_min_u);\n\n// i16x8.max_s -> v128.max\nfunction builtin_i16x8_max_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_max(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_max_s, builtin_i16x8_max_s);\n\n// i16x8.max_u -> v128.max\nfunction builtin_i16x8_max_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_max(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_max_u, builtin_i16x8_max_u);\n\n// i16x8.avgr_u -> v128.avgr\nfunction builtin_i16x8_avgr_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_avgr(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_avgr_u, builtin_i16x8_avgr_u);\n\n// i16x8.abs -> v128.abs\nfunction builtin_i16x8_abs(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_abs(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_abs, builtin_i16x8_abs);\n\n// i16x8.neg -> v128.neg\nfunction builtin_i16x8_neg(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_neg(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_neg, builtin_i16x8_neg);\n\n// i16x8.add_sat_s -> v128.add_sat\nfunction builtin_i16x8_add_sat_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_add_sat(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_add_sat_s, builtin_i16x8_add_sat_s);\n\n// i16x8.add_sat_u -> v128.add_sat\nfunction builtin_i16x8_add_sat_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_add_sat(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_add_sat_u, builtin_i16x8_add_sat_u);\n\n// i16x8.sub_sat_s -> v128.sub_sat\nfunction builtin_i16x8_sub_sat_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_sub_sat(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_sub_sat_s, builtin_i16x8_sub_sat_s);\n\n// i16x8.sub_sat_u -> v128.sub_sat\nfunction builtin_i16x8_sub_sat_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_sub_sat(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_sub_sat_u, builtin_i16x8_sub_sat_u);\n\n// i16x8.shl -> v128.shl\nfunction builtin_i16x8_shl(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_shl(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_shl, builtin_i16x8_shl);\n\n// i16x8.shr_s -> v128.shr\nfunction builtin_i16x8_shr_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_shr(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_shr_s, builtin_i16x8_shr_s);\n\n// i16x8.shr_u -> v128.shr\nfunction builtin_i16x8_shr_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_shr(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_shr_u, builtin_i16x8_shr_u);\n\n// i16x8.all_true -> v128.all_true\nfunction builtin_i16x8_all_true(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i16 ];\n ctx.contextualType = Type.i32;\n return builtin_v128_all_true(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_all_true, builtin_i16x8_all_true);\n\n// i16x8.bitmask -> v128.bitmask\nfunction builtin_i16x8_bitmask(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i16 ];\n ctx.contextualType = Type.i32;\n return builtin_v128_bitmask(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_bitmask, builtin_i16x8_bitmask);\n\n// i16x8.eq -> v128.eq\nfunction builtin_i16x8_eq(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_eq(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_eq, builtin_i16x8_eq);\n\n// i16x8.ne -> v128.ne\nfunction builtin_i16x8_ne(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_ne(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_ne, builtin_i16x8_ne);\n\n// i16x8.lt_s -> v128.lt\nfunction builtin_i16x8_lt_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_lt(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_lt_s, builtin_i16x8_lt_s);\n\n// i16x8.lt_u -> v128.lt\nfunction builtin_i16x8_lt_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_lt(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_lt_u, builtin_i16x8_lt_u);\n\n// i16x8.le_s -> v128.le\nfunction builtin_i16x8_le_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_le(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_le_s, builtin_i16x8_le_s);\n\n// i16x8.le_u -> v128.le\nfunction builtin_i16x8_le_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_le(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_le_u, builtin_i16x8_le_u);\n\n// i16x8.gt_s -> v128.gt\nfunction builtin_i16x8_gt_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_gt(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_gt_s, builtin_i16x8_gt_s);\n\n// i16x8.gt_u -> v128.gt\nfunction builtin_i16x8_gt_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_gt(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_gt_u, builtin_i16x8_gt_u);\n\n// i16x8.ge_s -> v128.ge\nfunction builtin_i16x8_ge_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_ge(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_ge_s, builtin_i16x8_ge_s);\n\n// i16x8.ge_u -> v128.ge\nfunction builtin_i16x8_ge_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_ge(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_ge_u, builtin_i16x8_ge_u);\n\n// i16x8.narrow_i32x4_s -> v128.narrow\nfunction builtin_i16x8_narrow_i32x4_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_narrow(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_narrow_i32x4_s, builtin_i16x8_narrow_i32x4_s);\n\n// i16x8.narrow_i32x4_u -> v128.narrow\nfunction builtin_i16x8_narrow_i32x4_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_narrow(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_narrow_i32x4_u, builtin_i16x8_narrow_i32x4_u);\n\n// i16x8.extend_low_i8x16_s -> v128.extend_low\nfunction builtin_i16x8_extend_low_i8x16_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_extend_low(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_extend_low_i8x16_s, builtin_i16x8_extend_low_i8x16_s);\n\n// i16x8.extend_low_i8x16_u -> v128.extend_low\nfunction builtin_i16x8_extend_low_i8x16_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_extend_low(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_extend_low_i8x16_u, builtin_i16x8_extend_low_i8x16_u);\n\n// i16x8.extend_high_i8x16_s -> v128.extend_high\nfunction builtin_i16x8_extend_high_i8x16_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_extend_high(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_extend_high_i8x16_s, builtin_i16x8_extend_high_i8x16_s);\n\n// i16x8.extend_high_i8x16_u -> v128.extend_high\nfunction builtin_i16x8_extend_high_i8x16_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_extend_high(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_extend_high_i8x16_u, builtin_i16x8_extend_high_i8x16_u);\n\n// i16x8.extadd_pairwise_i8x16_s -> v128.extadd_pairwise\nfunction builtin_i16x8_extadd_pairwise_i8x16_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_extadd_pairwise(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_extadd_pairwise_i8x16_s, builtin_i16x8_extadd_pairwise_i8x16_s);\n\n// i16x8.extadd_pairwise_i8x16_u -> v128.extadd_pairwise\nfunction builtin_i16x8_extadd_pairwise_i8x16_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_extadd_pairwise(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_extadd_pairwise_i8x16_u, builtin_i16x8_extadd_pairwise_i8x16_u);\n\n// i16x8.q15mulr_sat_s -> v128.q15mulr_sat\nfunction builtin_i16x8_q15mulr_sat_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_q15mulr_sat(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_q15mulr_sat_s, builtin_i16x8_q15mulr_sat_s);\n\n// i16x8.extmul_low_i8x16_s -> v128.extmul_low\nfunction builtin_i16x8_extmul_low_i8x16_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_extmul_low(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_extmul_low_i8x16_s, builtin_i16x8_extmul_low_i8x16_s);\n\n// i16x8.extmul_low_i8x16_u -> v128.extmul_low\nfunction builtin_i16x8_extmul_low_i8x16_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_extmul_low(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_extmul_low_i8x16_u, builtin_i16x8_extmul_low_i8x16_u);\n\n// i16x8.extmul_high_i8x16_s -> v128.extmul_high\nfunction builtin_i16x8_extmul_high_i8x16_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_extmul_high(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_extmul_high_i8x16_s, builtin_i16x8_extmul_high_i8x16_s);\n\n// i16x8.extmul_high_i8x16_u -> v128.extmul_high\nfunction builtin_i16x8_extmul_high_i8x16_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_extmul_high(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_extmul_high_i8x16_u, builtin_i16x8_extmul_high_i8x16_u);\n\n// i16x8.shuffle -> v128.shuffle\nfunction builtin_i16x8_shuffle(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_shuffle(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_shuffle, builtin_i16x8_shuffle);\n\n// i32x4.splat -> v128.splat\nfunction builtin_i32x4_splat(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_splat(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_splat, builtin_i32x4_splat);\n\n// i32x4.extract_lane -> v128.extract_lane\nfunction builtin_i32x4_extract_lane(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.i32;\n return builtin_v128_extract_lane(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_extract_lane, builtin_i32x4_extract_lane);\n\n// i32x4.replace_lane -> v128.replace_lane\nfunction builtin_i32x4_replace_lane(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_replace_lane(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_replace_lane, builtin_i32x4_replace_lane);\n\n// i32x4.add -> v128.add\nfunction builtin_i32x4_add(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_add(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_add, builtin_i32x4_add);\n\n// i32x4.sub -> v128.sub\nfunction builtin_i32x4_sub(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_sub(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_sub, builtin_i32x4_sub);\n\n// i32x4.mul -> v128.mul\nfunction builtin_i32x4_mul(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_mul(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_mul, builtin_i32x4_mul);\n\n// i32x4.min_s -> v128.min\nfunction builtin_i32x4_min_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_min(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_min_s, builtin_i32x4_min_s);\n\n// i32x4.min_u -> v128.min\nfunction builtin_i32x4_min_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_min(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_min_u, builtin_i32x4_min_u);\n\n// i32x4.max_s -> v128.max\nfunction builtin_i32x4_max_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_max(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_max_s, builtin_i32x4_max_s);\n\n// i32x4.max_u -> v128.max\nfunction builtin_i32x4_max_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_max(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_max_u, builtin_i32x4_max_u);\n\n// i32x4.dot_i16x8_s -> v128.dot\nfunction builtin_i32x4_dot_i16x8_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_dot(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_dot_i16x8_s, builtin_i32x4_dot_i16x8_s);\n\n// i32x4.abs -> v128.abs\nfunction builtin_i32x4_abs(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_abs(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_abs, builtin_i32x4_abs);\n\n// i32x4.neg -> v128.neg\nfunction builtin_i32x4_neg(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_neg(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_neg, builtin_i32x4_neg);\n\n// i32x4.shl -> v128.shl\nfunction builtin_i32x4_shl(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_shl(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_shl, builtin_i32x4_shl);\n\n// i32x4.shr_s -> v128.shr\nfunction builtin_i32x4_shr_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_shr(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_shr_s, builtin_i32x4_shr_s);\n\n// i32x4.shr_u -> v128.shr\nfunction builtin_i32x4_shr_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_shr(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_shr_u, builtin_i32x4_shr_u);\n\n// i32x4.all_true -> v128.all_true\nfunction builtin_i32x4_all_true(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.i32;\n return builtin_v128_all_true(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_all_true, builtin_i32x4_all_true);\n\n// i32x4.bitmask -> v128.bitmask\nfunction builtin_i32x4_bitmask(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.i32;\n return builtin_v128_bitmask(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_bitmask, builtin_i32x4_bitmask);\n\n// i32x4.eq -> v128.eq\nfunction builtin_i32x4_eq(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_eq(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_eq, builtin_i32x4_eq);\n\n// i32x4.ne -> v128.ne\nfunction builtin_i32x4_ne(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_ne(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_ne, builtin_i32x4_ne);\n\n// i32x4.lt_s -> v128.lt\nfunction builtin_i32x4_lt_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_lt(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_lt_s, builtin_i32x4_lt_s);\n\n// i32x4.lt_u -> v128.lt\nfunction builtin_i32x4_lt_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_lt(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_lt_u, builtin_i32x4_lt_u);\n\n// i32x4.le_s -> v128.le\nfunction builtin_i32x4_le_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_le(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_le_s, builtin_i32x4_le_s);\n\n// i32x4.le_u -> v128.le\nfunction builtin_i32x4_le_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_le(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_le_u, builtin_i32x4_le_u);\n\n// i32x4.gt_s -> v128.gt\nfunction builtin_i32x4_gt_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_gt(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_gt_s, builtin_i32x4_gt_s);\n\n// i32x4.gt_u -> v128.gt\nfunction builtin_i32x4_gt_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_gt(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_gt_u, builtin_i32x4_gt_u);\n\n// i32x4.ge_s -> v128.ge\nfunction builtin_i32x4_ge_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_ge(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_ge_s, builtin_i32x4_ge_s);\n\n// i32x4.ge_u -> v128.ge\nfunction builtin_i32x4_ge_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_ge(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_ge_u, builtin_i32x4_ge_u);\n\n// i32x4.trunc_sat_f32x4_s -> v128.trunc_sat\nfunction builtin_i32x4_trunc_sat_f32x4_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_trunc_sat(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_trunc_sat_f32x4_s, builtin_i32x4_trunc_sat_f32x4_s);\n\n// i32x4.trunc_sat_f32x4_u -> v128.trunc_sat\nfunction builtin_i32x4_trunc_sat_f32x4_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_trunc_sat(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_trunc_sat_f32x4_u, builtin_i32x4_trunc_sat_f32x4_u);\n\n// i32x4.trunc_sat_f64x2_s_zero -> v128.trunc_sat_zero\nfunction builtin_i32x4_trunc_sat_f64x2_s_zero(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_trunc_sat_zero(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_trunc_sat_f64x2_s_zero, builtin_i32x4_trunc_sat_f64x2_s_zero);\n\n// i32x4.trunc_sat_f64x2_u_zero -> v128.trunc_sat_zero\nfunction builtin_i32x4_trunc_sat_f64x2_u_zero(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_trunc_sat_zero(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_trunc_sat_f64x2_u_zero, builtin_i32x4_trunc_sat_f64x2_u_zero);\n\n// i32x4.extend_low_i16x8_s -> // v128.extend_low\nfunction builtin_i32x4_extend_low_i16x8_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_extend_low(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_extend_low_i16x8_s, builtin_i32x4_extend_low_i16x8_s);\n\n// i32x4.extend_low_i16x8_u -> v128.extend_low\nfunction builtin_i32x4_extend_low_i16x8_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_extend_low(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_extend_low_i16x8_u, builtin_i32x4_extend_low_i16x8_u);\n\n// i32x4.extend_high_i16x8_s -> v128.extend_high\nfunction builtin_i32x4_extend_high_i16x8_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_extend_high(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_extend_high_i16x8_s, builtin_i32x4_extend_high_i16x8_s);\n\n// i32x4.extend_high_i16x8_u -> v128.extend_high\nfunction builtin_i32x4_extend_high_i16x8_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_extend_high(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_extend_high_i16x8_u, builtin_i32x4_extend_high_i16x8_u);\n\n// i32x4.extadd_pairwise_i16x8_s -> v128.extadd_pairwise\nfunction builtin_i32x4_extadd_pairwise_i16x8_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_extadd_pairwise(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_extadd_pairwise_i16x8_s, builtin_i32x4_extadd_pairwise_i16x8_s);\n\n// i32x4.extadd_pairwise_i16x8_u -> v128.extadd_pairwise\nfunction builtin_i32x4_extadd_pairwise_i16x8_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_extadd_pairwise(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_extadd_pairwise_i16x8_u, builtin_i32x4_extadd_pairwise_i16x8_u);\n\n// i32x4.extmul_low_i16x8_s -> v128.extmul_low\nfunction builtin_i32x4_extmul_low_i16x8_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_extmul_low(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_extmul_low_i16x8_s, builtin_i32x4_extmul_low_i16x8_s);\n\n// i32x4.extmul_low_i16x8_u -> v128.extmul_low\nfunction builtin_i32x4_extmul_low_i16x8_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_extmul_low(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_extmul_low_i16x8_u, builtin_i32x4_extmul_low_i16x8_u);\n\n// i32x4.extmul_high_i16x8_s -> v128.extmul_high\nfunction builtin_i32x4_extmul_high_i16x8_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_extmul_high(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_extmul_high_i16x8_s, builtin_i32x4_extmul_high_i16x8_s);\n\n// i32x4.extmul_high_i16x8_u -> v128.extmul_high\nfunction builtin_i32x4_extmul_high_i16x8_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_extmul_high(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_extmul_high_i16x8_u, builtin_i32x4_extmul_high_i16x8_u);\n\n// i32x4.shuffle -> v128.shuffle\nfunction builtin_i32x4_shuffle(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_shuffle(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_shuffle, builtin_i32x4_shuffle);\n\n// i64x2.splat -> v128.splat\nfunction builtin_i64x2_splat(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_splat(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64x2_splat, builtin_i64x2_splat);\n\n// i64x2.extract_lane -> v128.extract_lane\nfunction builtin_i64x2_extract_lane(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.i64;\n return builtin_v128_extract_lane(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64x2_extract_lane, builtin_i64x2_extract_lane);\n\n// i64x2.replace_lane -> v128.replace_lane\nfunction builtin_i64x2_replace_lane(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_replace_lane(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64x2_replace_lane, builtin_i64x2_replace_lane);\n\n// i64x2.add -> v128.add\nfunction builtin_i64x2_add(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_add(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64x2_add, builtin_i64x2_add);\n\n// i64x2.sub -> v128.sub\nfunction builtin_i64x2_sub(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_sub(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64x2_sub, builtin_i64x2_sub);\n\n// i64x2.mul -> v128.mul\nfunction builtin_i64x2_mul(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_mul(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64x2_mul, builtin_i64x2_mul);\n\n// i64x2.abs -> v128.abs\nfunction builtin_i64x2_abs(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_abs(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64x2_abs, builtin_i64x2_abs);\n\n// i64x2.neg -> v128.neg\nfunction builtin_i64x2_neg(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_neg(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64x2_neg, builtin_i64x2_neg);\n\n// i64x2.shl -> v128.shl\nfunction builtin_i64x2_shl(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_shl(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64x2_shl, builtin_i64x2_shl);\n\n// i64x2.shr_s -> v128.shr\nfunction builtin_i64x2_shr_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_shr(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64x2_shr_s, builtin_i64x2_shr_s);\n\n// i64x2.shr_u -> v128.shr\nfunction builtin_i64x2_shr_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_shr(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64x2_shr_u, builtin_i64x2_shr_u);\n\n// i64x2.all_true -> v128.all_true\nfunction builtin_i64x2_all_true(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.i32;\n return builtin_v128_all_true(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64x2_all_true, builtin_i64x2_all_true);\n\n// i64x2.bitmask -> v128.bitmask\nfunction builtin_i64x2_bitmask(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.i32;\n return builtin_v128_bitmask(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64x2_bitmask, builtin_i64x2_bitmask);\n\n// i64x2.eq -> v128.eq\nfunction builtin_i64x2_eq(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_eq(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64x2_eq, builtin_i64x2_eq);\n\n// i64x2.ne -> v128.ne\nfunction builtin_i64x2_ne(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_ne(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64x2_ne, builtin_i64x2_ne);\n\n// i64x2.lt_s -> v128.lt\nfunction builtin_i64x2_lt_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_lt(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64x2_lt_s, builtin_i64x2_lt_s);\n\n// i64x2.le_s -> v128.le\nfunction builtin_i64x2_le_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_le(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64x2_le_s, builtin_i64x2_le_s);\n\n// i64x2.gt_s -> v128.gt\nfunction builtin_i64x2_gt_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_gt(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64x2_gt_s, builtin_i64x2_gt_s);\n\n// i64x2.ge_s -> v128.ge\nfunction builtin_i64x2_ge_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_ge(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64x2_ge_s, builtin_i64x2_ge_s);\n\n// i64x2.extend_low_i32x4_s -> // v128.extend_low\nfunction builtin_i64x2_extend_low_i32x4_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_extend_low(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64x2_extend_low_i32x4_s, builtin_i64x2_extend_low_i32x4_s);\n\n// i64x2.extend_low_i32x4_u -> v128.extend_low\nfunction builtin_i64x2_extend_low_i32x4_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_extend_low(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64x2_extend_low_i32x4_u, builtin_i64x2_extend_low_i32x4_u);\n\n// i64x2.extend_high_i32x4_s -> v128.extend_high\nfunction builtin_i64x2_extend_high_i32x4_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_extend_high(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64x2_extend_high_i32x4_s, builtin_i64x2_extend_high_i32x4_s);\n\n// i64x2.extend_high_i32x4_u -> v128.extend_high\nfunction builtin_i64x2_extend_high_i32x4_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_extend_high(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64x2_extend_high_i32x4_u, builtin_i64x2_extend_high_i32x4_u);\n\n// i64x2.extmul_low_i32x4_s -> v128.extmul_low\nfunction builtin_i64x2_extmul_low_i32x4_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_extmul_low(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64x2_extmul_low_i32x4_s, builtin_i64x2_extmul_low_i32x4_s);\n\n// i64x2.extmul_low_i32x4_u -> v128.extmul_low\nfunction builtin_i64x2_extmul_low_i32x4_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_extmul_low(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64x2_extmul_low_i32x4_u, builtin_i64x2_extmul_low_i32x4_u);\n\n// i64x2.extmul_high_i32x4_s -> v128.extmul_high\nfunction builtin_i64x2_extmul_high_i32x4_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_extmul_high(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64x2_extmul_high_i32x4_s, builtin_i64x2_extmul_high_i32x4_s);\n\n// i64x2.extmul_high_i32x4_u -> v128.extmul_high\nfunction builtin_i64x2_extmul_high_i32x4_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_extmul_high(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64x2_extmul_high_i32x4_u, builtin_i64x2_extmul_high_i32x4_u);\n\n// i64x2.shuffle -> v128.shuffle\nfunction builtin_i64x2_shuffle(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_shuffle(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64x2_shuffle, builtin_i64x2_shuffle);\n\n// f32x4.splat -> v128.splat\nfunction builtin_f32x4_splat(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_splat(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32x4_splat, builtin_f32x4_splat);\n\n// f32x4.extract_lane -> v128.extract_lane\nfunction builtin_f32x4_extract_lane(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.f32;\n return builtin_v128_extract_lane(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32x4_extract_lane, builtin_f32x4_extract_lane);\n\n// f32x4.replace_lane -> v128.replace_lane\nfunction builtin_f32x4_replace_lane(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_replace_lane(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32x4_replace_lane, builtin_f32x4_replace_lane);\n\n// f32x4.add -> v128.add\nfunction builtin_f32x4_add(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_add(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32x4_add, builtin_f32x4_add);\n\n// f32x4.sub -> v128.sub\nfunction builtin_f32x4_sub(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_sub(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32x4_sub, builtin_f32x4_sub);\n\n// f32x4.mul -> v128.mul\nfunction builtin_f32x4_mul(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_mul(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32x4_mul, builtin_f32x4_mul);\n\n// f32x4.div -> v128.div\nfunction builtin_f32x4_div(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_div(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32x4_div, builtin_f32x4_div);\n\n// f32x4.neg -> v128.neg\nfunction builtin_f32x4_neg(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_neg(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32x4_neg, builtin_f32x4_neg);\n\n// f32x4.min -> v128.min\nfunction builtin_f32x4_min(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_min(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32x4_min, builtin_f32x4_min);\n\n// f32x4.max -> v128.max\nfunction builtin_f32x4_max(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_max(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32x4_max, builtin_f32x4_max);\n\n// f32x4.pmin -> v128.pmin\nfunction builtin_f32x4_pmin(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_pmin(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32x4_pmin, builtin_f32x4_pmin);\n\n// f32x4.pmax -> v128.pmax\nfunction builtin_f32x4_pmax(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_pmax(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32x4_pmax, builtin_f32x4_pmax);\n\n// f32x4.abs -> v128.abs\nfunction builtin_f32x4_abs(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_abs(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32x4_abs, builtin_f32x4_abs);\n\n// f32x4.sqrt -> v128.sqrt\nfunction builtin_f32x4_sqrt(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_sqrt(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32x4_sqrt, builtin_f32x4_sqrt);\n\n// f32x4.ceil -> v128.ceil\nfunction builtin_f32x4_ceil(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_ceil(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32x4_ceil, builtin_f32x4_ceil);\n\n// f32x4.floor -> v128.floor\nfunction builtin_f32x4_floor(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_floor(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32x4_floor, builtin_f32x4_floor);\n\n// f32x4.trunc -> v128.trunc\nfunction builtin_f32x4_trunc(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_trunc(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32x4_trunc, builtin_f32x4_trunc);\n\n// f32x4.nearest -> v128.nearest\nfunction builtin_f32x4_nearest(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_nearest(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32x4_nearest, builtin_f32x4_nearest);\n\n// f32x4.eq -> v128.eq\nfunction builtin_f32x4_eq(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_eq(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32x4_eq, builtin_f32x4_eq);\n\n// f32x4.ne -> v128.ne\nfunction builtin_f32x4_ne(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_ne(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32x4_ne, builtin_f32x4_ne);\n\n// f32x4.lt -> v128.lt\nfunction builtin_f32x4_lt(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_lt(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32x4_lt, builtin_f32x4_lt);\n\n// f32x4.le -> v128.le\nfunction builtin_f32x4_le(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_le(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32x4_le, builtin_f32x4_le);\n\n// f32x4.gt -> v128.gt\nfunction builtin_f32x4_gt(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_gt(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32x4_gt, builtin_f32x4_gt);\n\n// f32x4.ge -> v128.ge\nfunction builtin_f32x4_ge(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_ge(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32x4_ge, builtin_f32x4_ge);\n\n// f32x4.convert_i32x4_s -> v128.convert\nfunction builtin_f32x4_convert_i32x4_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_convert(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32x4_convert_i32x4_s, builtin_f32x4_convert_i32x4_s);\n\n// f32x4.convert_i32x4_u -> v128.convert\nfunction builtin_f32x4_convert_i32x4_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_convert(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32x4_convert_i32x4_u, builtin_f32x4_convert_i32x4_u);\n\n// f32x4.demote_f64x2_zero -> v128.demote_zero\nfunction builtin_f32x4_demote_f64x2_zero(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_demote_zero(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32x4_demote_f64x2_zero, builtin_f32x4_demote_f64x2_zero);\n\n// f32x4.shuffle -> v128.shuffle\nfunction builtin_f32x4_shuffle(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_shuffle(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32x4_shuffle, builtin_f32x4_shuffle);\n\n// f64x2.splat -> v128.splat\nfunction builtin_f64x2_splat(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_splat(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64x2_splat, builtin_f64x2_splat);\n\n// f64x2.extract_lane -> v128.extract_lane\nfunction builtin_f64x2_extract_lane(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.f64;\n return builtin_v128_extract_lane(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64x2_extract_lane, builtin_f64x2_extract_lane);\n\n// f64x2.replace_lane -> v128.replace_lane\nfunction builtin_f64x2_replace_lane(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_replace_lane(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64x2_replace_lane, builtin_f64x2_replace_lane);\n\n// f64x2.add -> v128.add\nfunction builtin_f64x2_add(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_add(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64x2_add, builtin_f64x2_add);\n\n// f64x2.sub -> v128.sub\nfunction builtin_f64x2_sub(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_sub(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64x2_sub, builtin_f64x2_sub);\n\n// f64x2.mul -> v128.mul\nfunction builtin_f64x2_mul(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_mul(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64x2_mul, builtin_f64x2_mul);\n\n// f64x2.div -> v128.div\nfunction builtin_f64x2_div(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_div(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64x2_div, builtin_f64x2_div);\n\n// f64x2.neg -> v128.neg\nfunction builtin_f64x2_neg(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_neg(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64x2_neg, builtin_f64x2_neg);\n\n// f64x2.min -> v128.min\nfunction builtin_f64x2_min(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_min(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64x2_min, builtin_f64x2_min);\n\n// f64x2.max -> v128.max\nfunction builtin_f64x2_max(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_max(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64x2_max, builtin_f64x2_max);\n\n// f64x2.pmin -> v128.pmin\nfunction builtin_f64x2_pmin(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_pmin(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64x2_pmin, builtin_f64x2_pmin);\n\n// f64x2.pmax -> v128.pmax\nfunction builtin_f64x2_pmax(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_pmax(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64x2_pmax, builtin_f64x2_pmax);\n\n// f64x2.abs -> v128.abs\nfunction builtin_f64x2_abs(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_abs(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64x2_abs, builtin_f64x2_abs);\n\n// f64x2.sqrt -> v128.sqrt\nfunction builtin_f64x2_sqrt(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_sqrt(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64x2_sqrt, builtin_f64x2_sqrt);\n\n// f64x2.ceil -> v128.ceil\nfunction builtin_f64x2_ceil(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_ceil(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64x2_ceil, builtin_f64x2_ceil);\n\n// f64x2.floor -> v128.floor\nfunction builtin_f64x2_floor(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_floor(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64x2_floor, builtin_f64x2_floor);\n\n// f64x2.trunc -> v128.trunc\nfunction builtin_f64x2_trunc(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_trunc(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64x2_trunc, builtin_f64x2_trunc);\n\n// f64x2.nearest -> v128.nearest\nfunction builtin_f64x2_nearest(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_nearest(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64x2_nearest, builtin_f64x2_nearest);\n\n// f64x2.eq -> v128.eq\nfunction builtin_f64x2_eq(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_eq(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64x2_eq, builtin_f64x2_eq);\n\n// f64x2.ne -> v128.ne\nfunction builtin_f64x2_ne(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_ne(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64x2_ne, builtin_f64x2_ne);\n\n// f64x2.lt -> v128.lt\nfunction builtin_f64x2_lt(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_lt(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64x2_lt, builtin_f64x2_lt);\n\n// f64x2.le -> v128.le\nfunction builtin_f64x2_le(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_le(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64x2_le, builtin_f64x2_le);\n\n// f64x2.gt -> v128.gt\nfunction builtin_f64x2_gt(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_gt(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64x2_gt, builtin_f64x2_gt);\n\n// f64x2.ge -> v128.ge\nfunction builtin_f64x2_ge(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_ge(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64x2_ge, builtin_f64x2_ge);\n\n// f64x2.convert_low_i32x4_s -> v128.convert_low\nfunction builtin_f64x2_convert_low_i32x4_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_convert_low(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64x2_convert_low_i32x4_s, builtin_f64x2_convert_low_i32x4_s);\n\n// f64x2.convert_low_i32x4_u -> v128.convert_low\nfunction builtin_f64x2_convert_low_i32x4_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_convert_low(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64x2_convert_low_i32x4_u, builtin_f64x2_convert_low_i32x4_u);\n\n// f64x2.promote_low_f32x4 -> v128.promote_low\nfunction builtin_f64x4_promote_low_f32x4(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_promote_low(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64x2_promote_low_f32x4, builtin_f64x4_promote_low_f32x4);\n\n// f64x2.shuffle -> v128.shuffle\nfunction builtin_f64x2_shuffle(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_shuffle(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64x2_shuffle, builtin_f64x2_shuffle);\n\n// i8x16.relaxed_swizzle -> v128.relaxed_swizzle\nfunction builtin_i8x16_relaxed_swizzle(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = null;\n ctx.contextualType = Type.v128;\n return builtin_v128_relaxed_swizzle(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i8x16_relaxed_swizzle, builtin_i8x16_relaxed_swizzle);\n\n// i32x4.relaxed_trunc_f32x4_s -> v128.relaxed_trunc\nfunction builtin_i32x4_relaxed_trunc_f32x4_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_relaxed_trunc(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_relaxed_trunc_f32x4_s, builtin_i32x4_relaxed_trunc_f32x4_s);\n\n// i32x4.relaxed_trunc_f32x4_u -> v128.relaxed_trunc\nfunction builtin_i32x4_relaxed_trunc_f32x4_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_relaxed_trunc(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_relaxed_trunc_f32x4_u, builtin_i32x4_relaxed_trunc_f32x4_u);\n\n// i32x4.relaxed_trunc_f64x2_s_zero -> v128.relaxed_trunc_zero\nfunction builtin_i32x4_relaxed_trunc_f64x2_s_zero(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_relaxed_trunc_zero(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_relaxed_trunc_f64x2_s_zero, builtin_i32x4_relaxed_trunc_f64x2_s_zero);\n\n// i32x4.relaxed_trunc_f64x2_u_zero -> v128.relaxed_trunc_zero\nfunction builtin_i32x4_relaxed_trunc_f64x2_u_zero(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_relaxed_trunc_zero(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_relaxed_trunc_f64x2_u_zero, builtin_i32x4_relaxed_trunc_f64x2_u_zero);\n\n// f32x4.relaxed_madd -> v128.relaxed_madd\nfunction builtin_f32x4_relaxed_madd(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_relaxed_madd(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32x4_relaxed_madd, builtin_f32x4_relaxed_madd);\n\n// f32x4.relaxed_nmadd -> v128.relaxed_nmadd\nfunction builtin_f32x4_relaxed_nmadd(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_relaxed_nmadd(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32x4_relaxed_nmadd, builtin_f32x4_relaxed_nmadd);\n\n// f64x2.relaxed_madd -> v128.relaxed_madd\nfunction builtin_f64x2_relaxed_madd(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_relaxed_madd(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64x2_relaxed_madd, builtin_f64x2_relaxed_madd);\n\n// f64x2.relaxed_nmadd -> v128.relaxed_nmadd\nfunction builtin_f64x2_relaxed_nmadd(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_relaxed_nmadd(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64x2_relaxed_nmadd, builtin_f64x2_relaxed_nmadd);\n\n// i8x16.relaxed_laneselect -> v128.relaxed_laneselect\nfunction builtin_i8x16_relaxed_laneselect(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_relaxed_laneselect(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i8x16_relaxed_laneselect, builtin_i8x16_relaxed_laneselect);\n\n// i16x8.relaxed_laneselect -> v128.relaxed_laneselect\nfunction builtin_i16x8_relaxed_laneselect(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_relaxed_laneselect(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_relaxed_laneselect, builtin_i16x8_relaxed_laneselect);\n\n// i32x4.relaxed_laneselect -> v128.relaxed_laneselect\nfunction builtin_i32x4_relaxed_laneselect(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_relaxed_laneselect(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_relaxed_laneselect, builtin_i32x4_relaxed_laneselect);\n\n// i64x2.relaxed_laneselect -> v128.relaxed_laneselect\nfunction builtin_i64x2_relaxed_laneselect(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_relaxed_laneselect(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64x2_relaxed_laneselect, builtin_i64x2_relaxed_laneselect);\n\n// f32x4.relaxed_min -> v128.relaxed_min\nfunction builtin_f32x4_relaxed_min(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_relaxed_min(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32x4_relaxed_min, builtin_f32x4_relaxed_min);\n\n// f32x4.relaxed_max -> v128.relaxed_max\nfunction builtin_f32x4_relaxed_max(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_relaxed_max(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32x4_relaxed_max, builtin_f32x4_relaxed_max);\n\n// f64x2.relaxed_min -> v128.relaxed_min\nfunction builtin_f64x2_relaxed_min(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_relaxed_min(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64x2_relaxed_min, builtin_f64x2_relaxed_min);\n\n// f64x2.relaxed_max -> v128.relaxed_max\nfunction builtin_f64x2_relaxed_max(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_relaxed_max(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64x2_relaxed_max, builtin_f64x2_relaxed_max);\n\n// i16x8.relaxed_q15mulr_s -> v128.relaxed_q15mulr\nfunction builtin_i16x8_relaxed_q15mulr_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_relaxed_q15mulr(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_relaxed_q15mulr_s, builtin_i16x8_relaxed_q15mulr_s);\n\n// i16x8.relaxed_dot_i8x16_i7x16_s -> v128.relaxed_dot\nfunction builtin_i16x8_relaxed_dot_i8x16_i7x16_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_relaxed_dot(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_relaxed_dot_i8x16_i7x16_s, builtin_i16x8_relaxed_dot_i8x16_i7x16_s);\n\n// i32x4.relaxed_dot_i8x16_i7x16_add_s -> v128.relaxed_dot_add\nfunction builtin_i32x4_relaxed_dot_i8x16_i7x16_add_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_relaxed_dot_add(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_relaxed_dot_i8x16_i7x16_add_s, builtin_i32x4_relaxed_dot_i8x16_i7x16_add_s);\n\n// === Internal helpers =======================================================================\n\n/** Compiles the `visit_globals` function. */\nexport function compileVisitGlobals(compiler: Compiler): void {\n let module = compiler.module;\n let exprs = new Array();\n let sizeTypeRef = compiler.options.sizeTypeRef;\n let visitInstance = assert(compiler.program.visitInstance);\n\n // this function is @lazy: make sure it exists\n compiler.compileFunction(visitInstance, true);\n\n // TODO: for (let element of compiler.program.elementsByName.values()) {\n for (let _values = Map_values(compiler.program.elementsByName), i = 0, k = _values.length; i < k; ++i) {\n let element = unchecked(_values[i]);\n if (element.kind != ElementKind.Global) continue;\n let global = element;\n let globalType = global.type;\n let classReference = globalType.getClass();\n if (\n classReference &&\n !classReference.hasDecorator(DecoratorFlags.Unmanaged) &&\n global.is(CommonFlags.Compiled)\n ) {\n if (global.is(CommonFlags.Inlined)) {\n let value = global.constantIntegerValue;\n if (i64_low(value) || i64_high(value)) {\n exprs.push(\n module.call(visitInstance.internalName, [\n compiler.options.isWasm64\n ? module.i64(i64_low(value), i64_high(value))\n : module.i32(i64_low(value)),\n module.local_get(0, TypeRef.I32) // cookie\n ], TypeRef.None)\n );\n }\n } else {\n exprs.push(\n module.if(\n module.local_tee(1,\n module.global_get(global.internalName, sizeTypeRef),\n false // internal\n ),\n module.call(visitInstance.internalName, [\n module.local_get(1, sizeTypeRef), // tempRef != null\n module.local_get(0, TypeRef.I32) // cookie\n ], TypeRef.None)\n )\n );\n }\n }\n }\n module.addFunction(BuiltinNames.visit_globals,\n TypeRef.I32, // cookie\n TypeRef.None, // => void\n [ sizeTypeRef ],\n exprs.length\n ? module.block(null, exprs)\n : module.nop()\n );\n}\n\n/** Ensures that the visitor function of the specified class is compiled. */\nfunction ensureVisitMembersOf(compiler: Compiler, instance: Class): void {\n assert(instance.type.isManaged);\n if (instance.visitRef) return;\n\n let program = compiler.program;\n let module = compiler.module;\n let usizeType = program.options.usizeType;\n let sizeTypeRef = usizeType.toRef();\n let sizeTypeSize = usizeType.byteSize;\n let visitInstance = assert(program.visitInstance);\n let body = new Array();\n\n // If the class has a base class, call its visitor first\n let base = instance.base;\n if (base) {\n body.push(\n module.call(`${base.internalName}~visit`, [\n module.local_get(0, sizeTypeRef), // this\n module.local_get(1, TypeRef.I32) // cookie\n ], TypeRef.None)\n );\n }\n\n // Some standard library components provide a custom visitor implementation,\n // for example to visit all members of a collection, e.g. arrays and maps.\n let hasVisitImpl = false;\n if (instance.isDeclaredInLibrary) {\n let visitPrototype = instance.getMember(\"__visit\");\n if (visitPrototype) {\n assert(visitPrototype.kind == ElementKind.FunctionPrototype);\n let visitInstance = program.resolver.resolveFunction(visitPrototype, null);\n if (!visitInstance || !compiler.compileFunction(visitInstance)) {\n body.push(\n module.unreachable()\n );\n } else {\n let visitSignature = visitInstance.signature;\n let visitThisType = assert(visitSignature.thisType);\n assert(\n visitSignature.parameterTypes.length == 1 &&\n visitSignature.parameterTypes[0] == Type.u32 &&\n visitSignature.returnType == Type.void &&\n instance.type.isStrictlyAssignableTo(visitThisType) // incl. implemented on super\n );\n body.push(\n module.call(visitInstance.internalName, [\n module.local_get(0, sizeTypeRef), // this\n module.local_get(1, TypeRef.I32) // cookie\n ], TypeRef.None)\n );\n }\n hasVisitImpl = true;\n }\n }\n\n // Otherwise, if there is no custom visitor, generate a visitor function\n // according to class layout, visiting all _own_ managed members.\n let needsTempValue = false;\n if (!hasVisitImpl) {\n let members = instance.members;\n if (members) {\n // TODO: for (let member of members.values()) {\n for (let _values = Map_values(members), j = 0, l = _values.length; j < l; ++j) {\n let member = unchecked(_values[j]);\n if (member.kind != ElementKind.PropertyPrototype) continue;\n // Class should have resolved fields during finalization\n let property = (member).instance;\n if (!property) continue;\n let fieldType = property.type;\n if (!property.isField || property.getBoundClassOrInterface() != instance || !fieldType.isManaged) continue;\n let fieldOffset = property.memoryOffset;\n assert(fieldOffset >= 0);\n needsTempValue = true;\n body.push(\n // if ($2 = value) __visit($2, $1)\n module.if(\n module.local_tee(2,\n module.load(sizeTypeSize, false,\n module.local_get(0, sizeTypeRef),\n sizeTypeRef, fieldOffset\n ),\n false // internal\n ),\n module.call(visitInstance.internalName, [\n module.local_get(2, sizeTypeRef), // value\n module.local_get(1, TypeRef.I32) // cookie\n ], TypeRef.None)\n )\n );\n }\n }\n }\n\n // Create the visitor function\n instance.visitRef = module.addFunction(`${instance.internalName}~visit`,\n createType([sizeTypeRef, TypeRef.I32]),\n TypeRef.None,\n needsTempValue ? [ sizeTypeRef ] : null,\n module.flatten(body, TypeRef.None)\n );\n\n // And make sure the base visitor function exists\n if (base && base.type.isManaged) {\n // errored earlier if not managed\n ensureVisitMembersOf(compiler, base);\n }\n}\n\n/** Compiles the `__visit_members` function. */\nexport function compileVisitMembers(compiler: Compiler): void {\n let program = compiler.program;\n let module = compiler.module;\n let usizeType = program.options.usizeType;\n let sizeTypeRef = usizeType.toRef();\n let managedClasses = program.managedClasses;\n let visitInstance = assert(program.visitInstance);\n compiler.compileFunction(visitInstance, true); // is lazy, make sure it is compiled\n\n // Prepare a mapping of class names to visitor calls. Each name corresponds to\n // the respective sequential (0..N) class id.\n let names = new Array();\n let cases = new Array();\n let nextId = 0;\n for (let _keys = Map_keys(managedClasses), i = 0, k = _keys.length; i < k; ++i) {\n let instanceId = _keys[i];\n assert(instanceId == nextId++);\n let instance = assert(managedClasses.get(instanceId));\n names[i] = instance.internalName;\n if (instance.isPointerfree) {\n cases[i] = module.return();\n } else {\n cases[i] = module.block(null, [\n module.call(`${instance.internalName}~visit`, [\n module.local_get(0, sizeTypeRef), // this\n module.local_get(1, TypeRef.I32) // cookie\n ], TypeRef.None),\n module.return()\n ], TypeRef.None);\n ensureVisitMembersOf(compiler, instance);\n }\n }\n\n // Make a br_table of the mapping, calling visitor functions by unique class id\n let current = module.block(names[0], [\n module.switch(names, \"invalid\",\n // load(changetype(this) - 8)\n module.load(4, false,\n sizeTypeRef == TypeRef.I64\n ? module.binary(BinaryOp.SubI64,\n module.local_get(0, sizeTypeRef),\n module.i64(8)\n )\n : module.binary(BinaryOp.SubI32,\n module.local_get(0, sizeTypeRef),\n module.i32(8) // rtId is at -8\n ),\n TypeRef.I32, 0\n )\n )\n ], TypeRef.None);\n\n // Wrap blocks in order\n for (let i = 0, k = names.length - 1; i < k; ++i) {\n current = module.block(names[i + 1], [\n current,\n cases[i]\n ], TypeRef.None);\n }\n\n // Wrap the last id in an 'invalid' block to break out of on invalid ids\n current = module.block(\"invalid\", [\n current,\n cases[names.length - 1]\n ], TypeRef.None);\n\n // Add the function, executing an unreachable if breaking to 'invalid'\n module.addFunction(BuiltinNames.visit_members,\n createType([ sizeTypeRef, TypeRef.I32 ]), // this, cookie\n TypeRef.None, // => void\n null,\n module.flatten([\n current,\n module.unreachable()\n ])\n );\n}\n\nfunction typeToRuntimeFlags(type: Type): TypeinfoFlags {\n let flags = TypeinfoFlags.VALUE_ALIGN_0 * (1 << type.alignLog2);\n if (type.is(TypeFlags.Signed)) flags |= TypeinfoFlags.VALUE_SIGNED;\n if (type.is(TypeFlags.Float)) flags |= TypeinfoFlags.VALUE_FLOAT;\n if (type.is(TypeFlags.Nullable)) flags |= TypeinfoFlags.VALUE_NULLABLE;\n if (type.isManaged) flags |= TypeinfoFlags.VALUE_MANAGED;\n return flags / TypeinfoFlags.VALUE_ALIGN_0;\n}\n\n/** Compiles runtime type information for use by stdlib. */\nexport function compileRTTI(compiler: Compiler): void {\n let program = compiler.program;\n let module = compiler.module;\n let managedClasses = program.managedClasses;\n let count = managedClasses.size;\n let size = 4 + 4 * count; // count | TypeInfo*\n let data = new Uint8Array(size);\n writeI32(count, data, 0);\n let off = 4;\n let abvInstance = program.arrayBufferViewInstance;\n let abvPrototype = abvInstance.prototype;\n let arrayPrototype = program.arrayPrototype;\n let setPrototype = program.setPrototype;\n let mapPrototype = program.mapPrototype;\n let staticArrayPrototype = program.staticArrayPrototype;\n let lastId = 0;\n // TODO: for (let [instanceId, instance] of managedClasses) {\n for (let _keys = Map_keys(managedClasses), i = 0, k = _keys.length; i < k; ++i) {\n let instanceId = unchecked(_keys[i]);\n let instance = assert(managedClasses.get(instanceId));\n assert(instanceId == lastId++);\n let flags: TypeinfoFlags = 0;\n if (instance.isPointerfree) flags |= TypeinfoFlags.POINTERFREE;\n if (instance != abvInstance && instance.extendsPrototype(abvPrototype)) {\n let valueType = instance.getArrayValueType();\n flags |= TypeinfoFlags.ARRAYBUFFERVIEW;\n flags |= TypeinfoFlags.VALUE_ALIGN_0 * typeToRuntimeFlags(valueType);\n } else if (instance.extendsPrototype(arrayPrototype)) {\n let valueType = instance.getArrayValueType();\n flags |= TypeinfoFlags.ARRAY;\n flags |= TypeinfoFlags.VALUE_ALIGN_0 * typeToRuntimeFlags(valueType);\n } else if (instance.extendsPrototype(setPrototype)) {\n let typeArguments = assert(instance.getTypeArgumentsTo(setPrototype));\n assert(typeArguments.length == 1);\n flags |= TypeinfoFlags.SET;\n flags |= TypeinfoFlags.VALUE_ALIGN_0 * typeToRuntimeFlags(typeArguments[0]);\n } else if (instance.extendsPrototype(mapPrototype)) {\n let typeArguments = assert(instance.getTypeArgumentsTo(mapPrototype));\n assert(typeArguments.length == 2);\n flags |= TypeinfoFlags.MAP;\n flags |= TypeinfoFlags.KEY_ALIGN_0 * typeToRuntimeFlags(typeArguments[0]);\n flags |= TypeinfoFlags.VALUE_ALIGN_0 * typeToRuntimeFlags(typeArguments[1]);\n } else if (instance.extendsPrototype(staticArrayPrototype)) {\n let valueType = instance.getArrayValueType();\n flags |= TypeinfoFlags.STATICARRAY;\n flags |= TypeinfoFlags.VALUE_ALIGN_0 * typeToRuntimeFlags(valueType);\n }\n writeI32(flags, data, off); off += 4;\n instance.rttiFlags = flags;\n }\n assert(off == size);\n let usizeType = program.options.usizeType;\n let segment = compiler.addAlignedMemorySegment(data);\n if (usizeType.size == 8) {\n let offset = segment.offset;\n module.addGlobal(BuiltinNames.rtti_base, TypeRef.I64, false, module.i64(i64_low(offset), i64_high(offset)));\n } else {\n module.addGlobal(BuiltinNames.rtti_base, TypeRef.I32, false, module.i32(i64_low(segment.offset)));\n }\n}\n\n// Helpers\n\n/** Checks the constant type of a type argument *or* expression. */\nfunction checkConstantType(ctx: BuiltinFunctionContext): Type | null {\n let compiler = ctx.compiler;\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments;\n checkConstantType_expr = 0;\n if (operands.length == 0) { // requires type argument\n if (!typeArguments || typeArguments.length != 1) {\n compiler.error(\n DiagnosticCode.Expected_0_type_arguments_but_got_1,\n ctx.reportNode.typeArgumentsRange, \"1\", typeArguments ? typeArguments.length.toString() : \"0\"\n );\n return null;\n }\n return typeArguments[0];\n }\n if (operands.length == 1) { // optional type argument\n if (typeArguments && typeArguments.length > 0) {\n if (typeArguments.length > 1) {\n compiler.error(\n DiagnosticCode.Expected_0_type_arguments_but_got_1,\n ctx.reportNode.typeArgumentsRange, \"1\", typeArguments.length.toString()\n );\n return null;\n }\n checkConstantType_expr = compiler.compileExpression(operands[0], typeArguments[0], Constraints.ConvImplicit);\n } else {\n checkConstantType_expr = compiler.compileExpression(operands[0], Type.auto);\n }\n return compiler.currentType;\n }\n if (typeArguments && typeArguments.length > 1) {\n compiler.error(\n DiagnosticCode.Expected_0_type_arguments_but_got_1,\n ctx.reportNode.typeArgumentsRange, \"1\", typeArguments.length.toString()\n );\n }\n compiler.error(\n DiagnosticCode.Expected_0_arguments_but_got_1,\n ctx.reportNode.argumentsRange, \"1\", operands.length.toString()\n );\n return null;\n}\n\n/** Reifies a constant type check potentially involving an expression. */\nfunction reifyConstantType(ctx: BuiltinFunctionContext, expr: ExpressionRef): ExpressionRef {\n let module = ctx.compiler.module;\n if (checkConstantType_expr && mustPreserveSideEffects(checkConstantType_expr, module.ref)) {\n expr = module.block(null, [\n module.maybeDrop(checkConstantType_expr),\n expr\n ], getExpressionType(expr));\n }\n return expr;\n}\n\n/** Evaluates a compile-time constant immediate offset argument.*/\nfunction evaluateImmediateOffset(expression: Expression, compiler: Compiler): i32 {\n let module = compiler.module;\n let value: i32;\n if (compiler.options.isWasm64) {\n let expr = compiler.compileExpression(expression, Type.usize64, Constraints.ConvImplicit);\n let precomp = module.runExpression(expr, ExpressionRunnerFlags.PreserveSideeffects);\n if (precomp) {\n assert(getConstValueI64High(precomp) == 0); // TODO\n value = getConstValueI64Low(precomp);\n } else {\n compiler.error(\n DiagnosticCode.Expression_must_be_a_compile_time_constant,\n expression.range\n );\n value = -1;\n }\n } else {\n let expr = compiler.compileExpression(expression, Type.usize32, Constraints.ConvImplicit);\n let precomp = module.runExpression(expr, ExpressionRunnerFlags.PreserveSideeffects);\n if (precomp) {\n value = getConstValueI32(precomp);\n } else {\n compiler.error(\n DiagnosticCode.Expression_must_be_a_compile_time_constant,\n expression.range\n );\n value = -1;\n }\n }\n return value;\n}\n\n/** Evaluates a compile-time constant immediate align argument. */\nfunction evaluateImmediateAlign(expression: Expression, naturalAlign: i32, compiler: Compiler): i32 {\n let align = evaluateImmediateOffset(expression, compiler);\n if (align < 0) return align;\n if (align < 1 || naturalAlign > 16) {\n compiler.error(\n DiagnosticCode._0_must_be_a_value_between_1_and_2_inclusive,\n expression.range, \"Alignment\", \"1\", naturalAlign.toString()\n );\n return -1;\n }\n if (!isPowerOf2(align)) {\n compiler.error(\n DiagnosticCode._0_must_be_a_power_of_two,\n expression.range, \"Alignment\"\n );\n return -1;\n }\n return align;\n}\n\n/** Checks that the specified feature is enabled. */\nfunction checkFeatureEnabled(ctx: BuiltinFunctionContext, feature: Feature): i32 {\n let compiler = ctx.compiler;\n if (!compiler.options.hasFeature(feature)) {\n compiler.error(\n DiagnosticCode.Feature_0_is_not_enabled,\n ctx.reportNode.range, featureToString(feature)\n );\n return 1;\n }\n return 0;\n}\n\n/** Checks a call with a single required type argument. Returns `1` on error. */\nfunction checkTypeRequired(ctx: BuiltinFunctionContext, setCurrentTypeOnError: bool = false): i32 {\n let compiler = ctx.compiler;\n let typeArguments = ctx.typeArguments;\n if (typeArguments) {\n let numTypeArguments = typeArguments.length;\n if (numTypeArguments == 1) return 0;\n assert(numTypeArguments); // invalid if 0, must not be set at all instead\n if (setCurrentTypeOnError) compiler.currentType = typeArguments[0];\n compiler.error(\n DiagnosticCode.Expected_0_type_arguments_but_got_1,\n ctx.reportNode.typeArgumentsRange, \"1\", numTypeArguments.toString()\n );\n } else {\n compiler.error(\n DiagnosticCode.Expected_0_type_arguments_but_got_1,\n ctx.reportNode.range, \"1\", \"0\"\n );\n }\n return 1;\n}\n\n/** Checks a call with a single optional type argument. Returns `1` on error. */\nfunction checkTypeOptional(ctx: BuiltinFunctionContext, setCurrentTypeOnError: bool = false): i32 {\n let typeArguments = ctx.typeArguments;\n if (typeArguments) {\n let compiler = ctx.compiler;\n let numTypeArguments = typeArguments.length;\n if (numTypeArguments == 1) return 0;\n assert(numTypeArguments); // invalid if 0, must not be set at all instead\n if (setCurrentTypeOnError) compiler.currentType = typeArguments[0];\n compiler.error(\n DiagnosticCode.Expected_0_type_arguments_but_got_1,\n ctx.reportNode.typeArgumentsRange, \"1\", numTypeArguments.toString()\n );\n return 1;\n }\n return 0;\n}\n\n/** Checks a call that is not generic. Returns `1` on error. */\nfunction checkTypeAbsent(ctx: BuiltinFunctionContext): i32 {\n let typeArguments = ctx.typeArguments;\n if (typeArguments) {\n let prototype = ctx.prototype;\n prototype.program.error(\n DiagnosticCode.Type_0_is_not_generic,\n ctx.reportNode.typeArgumentsRange, prototype.internalName\n );\n return 1;\n }\n return 0;\n}\n\n/** Checks a call that requires a fixed number of arguments. Returns `1` on error. */\nfunction checkArgsRequired(ctx: BuiltinFunctionContext, expected: i32): i32 {\n let operands = ctx.operands;\n if (operands.length != expected) {\n ctx.compiler.error(\n DiagnosticCode.Expected_0_arguments_but_got_1,\n ctx.reportNode.range, expected.toString(), operands.length.toString()\n );\n return 1;\n }\n return 0;\n}\n\n/** Checks a call that requires a variable number of arguments. Returns `1` on error. */\nfunction checkArgsOptional(ctx: BuiltinFunctionContext, expectedMinimum: i32, expectedMaximum: i32): i32 {\n let operands = ctx.operands;\n let numOperands = operands.length;\n if (numOperands < expectedMinimum) {\n ctx.compiler.error(\n DiagnosticCode.Expected_at_least_0_arguments_but_got_1,\n ctx.reportNode.range, expectedMinimum.toString(), numOperands.toString()\n );\n return 1;\n } else if (numOperands > expectedMaximum) {\n ctx.compiler.error(\n DiagnosticCode.Expected_0_arguments_but_got_1,\n ctx.reportNode.range, expectedMaximum.toString(), numOperands.toString()\n );\n return 1;\n }\n return 0;\n}\n\n/** Makes an usize constant matching contextual type if reasonable. */\nfunction contextualUsize(compiler: Compiler, value: i64, contextualType: Type): ExpressionRef {\n let module = compiler.module;\n // Check if contextual type fits\n if (contextualType != Type.auto && contextualType.isIntegerValue) {\n switch (contextualType.kind) {\n case TypeKind.I32: {\n if (i64_is_i32(value)) {\n compiler.currentType = Type.i32;\n return module.i32(i64_low(value));\n }\n break;\n }\n case TypeKind.U32: {\n if (i64_is_u32(value)) {\n compiler.currentType = Type.u32;\n return module.i32(i64_low(value));\n }\n break;\n }\n case TypeKind.I64:\n case TypeKind.U64: {\n compiler.currentType = contextualType;\n return module.i64(i64_low(value), i64_high(value));\n }\n // isize/usize falls through\n // small int is probably not intended\n }\n }\n // Default to usize\n if (compiler.options.isWasm64) {\n compiler.currentType = Type.usize64;\n return module.i64(i64_low(value), i64_high(value));\n } else {\n compiler.currentType = Type.usize32;\n assert(!i64_high(value));\n return module.i32(i64_low(value));\n }\n}\n", "/**\n * @fileoverview Infrastructure for custom Binaryen passes.\n * @license Apache-2.0\n */\n\nimport {\n Module,\n ExpressionId,\n ExpressionRef,\n FunctionRef,\n GlobalRef,\n Index,\n StringRef\n} from \"../module\";\n\nimport {\n _BinaryenExpressionGetId,\n _BinaryenBlockGetNumChildren,\n _BinaryenBlockGetChildAt,\n _BinaryenIfGetCondition,\n _BinaryenIfGetIfTrue,\n _BinaryenIfGetIfFalse,\n _BinaryenLoopGetBody,\n _BinaryenBreakGetCondition,\n _BinaryenBreakGetValue,\n _BinaryenGetNumFunctions,\n _BinaryenGetFunctionByIndex,\n _BinaryenGetNumGlobals,\n _BinaryenGetGlobalByIndex,\n _BinaryenFunctionGetBody,\n _BinaryenSwitchGetCondition,\n _BinaryenSwitchGetValue,\n _BinaryenCallGetNumOperands,\n _BinaryenCallGetOperandAt,\n _BinaryenCallIndirectGetNumOperands,\n _BinaryenCallIndirectGetOperandAt,\n _BinaryenLocalSetGetValue,\n _BinaryenGlobalSetGetValue,\n _BinaryenGlobalGetInitExpr,\n _BinaryenLoadGetPtr,\n _BinaryenStoreGetPtr,\n _BinaryenStoreGetValue,\n _BinaryenUnaryGetValue,\n _BinaryenBinaryGetLeft,\n _BinaryenBinaryGetRight,\n _BinaryenSelectGetIfTrue,\n _BinaryenSelectGetIfFalse,\n _BinaryenSelectGetCondition,\n _BinaryenDropGetValue,\n _BinaryenBlockSetChildAt,\n _BinaryenCallIndirectGetTarget,\n _BinaryenReturnGetValue,\n _BinaryenMemoryGrowGetDelta,\n _BinaryenAtomicRMWGetPtr,\n _BinaryenAtomicRMWGetValue,\n _BinaryenAtomicCmpxchgGetPtr,\n _BinaryenAtomicCmpxchgGetExpected,\n _BinaryenAtomicCmpxchgGetReplacement,\n _BinaryenAtomicWaitGetPtr,\n _BinaryenAtomicWaitGetExpected,\n _BinaryenAtomicWaitGetTimeout,\n _BinaryenAtomicNotifyGetPtr,\n _BinaryenSIMDExtractGetVec,\n _BinaryenSIMDReplaceGetVec,\n _BinaryenSIMDReplaceGetValue,\n _BinaryenSIMDShuffleGetLeft,\n _BinaryenSIMDShuffleGetRight,\n _BinaryenSIMDTernaryGetA,\n _BinaryenSIMDTernaryGetB,\n _BinaryenSIMDTernaryGetC,\n _BinaryenSIMDShiftGetVec,\n _BinaryenSIMDShiftGetShift,\n _BinaryenSIMDLoadGetPtr,\n _BinaryenMemoryInitGetDest,\n _BinaryenMemoryInitGetOffset,\n _BinaryenMemoryInitGetSize,\n _BinaryenMemoryCopyGetDest,\n _BinaryenMemoryCopyGetSource,\n _BinaryenMemoryCopyGetSize,\n _BinaryenMemoryFillGetDest,\n _BinaryenMemoryFillGetValue,\n _BinaryenMemoryFillGetSize,\n _BinaryenRefIsNullGetValue,\n _BinaryenRefAsGetValue,\n _BinaryenTryGetBody,\n _BinaryenTryGetNumCatchBodies,\n _BinaryenTryGetCatchBodyAt,\n _BinaryenThrowGetNumOperands,\n _BinaryenThrowGetOperandAt,\n _BinaryenTupleMakeGetOperandAt,\n _BinaryenTupleMakeGetNumOperands,\n _BinaryenIfSetCondition,\n _BinaryenIfSetIfTrue,\n _BinaryenIfSetIfFalse,\n _BinaryenLoopSetBody,\n _BinaryenBreakSetCondition,\n _BinaryenBreakSetValue,\n _BinaryenSwitchSetCondition,\n _BinaryenSwitchSetValue,\n _BinaryenCallSetOperandAt,\n _BinaryenCallIndirectSetTarget,\n _BinaryenCallIndirectSetOperandAt,\n _BinaryenLocalSetSetValue,\n _BinaryenGlobalSetSetValue,\n _BinaryenLoadSetPtr,\n _BinaryenStoreSetPtr,\n _BinaryenStoreSetValue,\n _BinaryenUnarySetValue,\n _BinaryenExpressionFinalize,\n _BinaryenBinarySetLeft,\n _BinaryenBinarySetRight,\n _BinaryenSelectSetIfTrue,\n _BinaryenSelectSetIfFalse,\n _BinaryenSelectSetCondition,\n _BinaryenDropSetValue,\n _BinaryenReturnSetValue,\n _BinaryenMemoryGrowSetDelta,\n _BinaryenAtomicRMWSetPtr,\n _BinaryenAtomicRMWSetValue,\n _BinaryenAtomicCmpxchgSetPtr,\n _BinaryenAtomicCmpxchgSetExpected,\n _BinaryenAtomicCmpxchgSetReplacement,\n _BinaryenAtomicWaitSetPtr,\n _BinaryenAtomicWaitSetExpected,\n _BinaryenAtomicWaitSetTimeout,\n _BinaryenAtomicNotifySetPtr,\n _BinaryenSIMDExtractSetVec,\n _BinaryenSIMDReplaceSetVec,\n _BinaryenSIMDReplaceSetValue,\n _BinaryenSIMDShuffleSetLeft,\n _BinaryenSIMDShuffleSetRight,\n _BinaryenSIMDTernarySetA,\n _BinaryenSIMDTernarySetB,\n _BinaryenSIMDTernarySetC,\n _BinaryenSIMDShiftSetVec,\n _BinaryenSIMDShiftSetShift,\n _BinaryenSIMDLoadSetPtr,\n _BinaryenSIMDLoadStoreLaneGetPtr,\n _BinaryenSIMDLoadStoreLaneGetVec,\n _BinaryenSIMDLoadStoreLaneSetPtr,\n _BinaryenSIMDLoadStoreLaneSetVec,\n _BinaryenMemoryInitSetDest,\n _BinaryenMemoryInitSetOffset,\n _BinaryenMemoryInitSetSize,\n _BinaryenMemoryCopySetDest,\n _BinaryenMemoryCopySetSource,\n _BinaryenMemoryCopySetSize,\n _BinaryenMemoryFillSetDest,\n _BinaryenMemoryFillSetValue,\n _BinaryenMemoryFillSetSize,\n _BinaryenRefIsNullSetValue,\n _BinaryenTrySetBody,\n _BinaryenTrySetCatchBodyAt,\n _BinaryenThrowSetOperandAt,\n _BinaryenTupleMakeSetOperandAt,\n _BinaryenBlockGetName,\n _BinaryenLoopGetName,\n _BinaryenBreakGetName,\n _BinaryenSwitchGetDefaultName,\n _BinaryenSwitchGetNumNames,\n _BinaryenSwitchGetNameAt,\n _BinaryenCallGetTarget,\n _BinaryenLocalGetGetIndex,\n _BinaryenLocalSetGetIndex,\n _BinaryenGlobalGetGetName,\n _BinaryenGlobalSetGetName,\n _BinaryenAtomicNotifyGetNotifyCount,\n _BinaryenAtomicNotifySetNotifyCount,\n _BinaryenRefFuncGetFunc,\n _BinaryenThrowGetTag,\n _BinaryenTupleExtractGetTuple,\n _BinaryenTupleExtractSetTuple,\n _BinaryenRefEqGetLeft,\n _BinaryenRefEqGetRight,\n _BinaryenRefEqSetLeft,\n _BinaryenRefEqSetRight,\n _BinaryenFunctionSetBody,\n _BinaryenRefI31GetValue,\n _BinaryenI31GetGetI31,\n _BinaryenRefI31SetValue,\n _BinaryenI31GetSetI31,\n _BinaryenCallRefGetNumOperands,\n _BinaryenCallRefGetOperandAt,\n _BinaryenCallRefGetTarget,\n _BinaryenRefTestGetRef,\n _BinaryenRefCastGetRef,\n _BinaryenBrOnGetName,\n _BinaryenBrOnGetRef,\n _BinaryenStructNewGetNumOperands,\n _BinaryenStructNewGetOperandAt,\n _BinaryenStructGetGetRef,\n _BinaryenStructSetGetRef,\n _BinaryenStructSetGetValue,\n _BinaryenStructSetGetIndex,\n _BinaryenStructGetGetIndex,\n _BinaryenArrayNewGetSize,\n _BinaryenArrayNewGetInit,\n _BinaryenArrayNewFixedGetNumValues,\n _BinaryenArrayNewFixedGetValueAt,\n _BinaryenArrayGetGetRef,\n _BinaryenArrayGetGetIndex,\n _BinaryenArraySetGetRef,\n _BinaryenArraySetGetIndex,\n _BinaryenArraySetGetValue,\n _BinaryenArrayLenGetRef,\n _BinaryenArrayCopyGetDestRef,\n _BinaryenArrayCopyGetDestIndex,\n _BinaryenArrayCopyGetSrcRef,\n _BinaryenArrayCopyGetSrcIndex,\n _BinaryenArrayCopyGetLength,\n _BinaryenStringNewGetPtr,\n _BinaryenStringNewGetLength,\n _BinaryenStringNewGetStart,\n _BinaryenStringNewGetEnd,\n _BinaryenStringMeasureGetRef,\n _BinaryenStringEncodeGetPtr,\n _BinaryenStringEncodeGetRef,\n _BinaryenStringEncodeGetStart,\n _BinaryenStringConcatGetLeft,\n _BinaryenStringConcatGetRight,\n _BinaryenStringEqGetLeft,\n _BinaryenStringEqGetRight,\n _BinaryenStringAsGetRef,\n _BinaryenStringWTF8AdvanceGetRef,\n _BinaryenStringWTF8AdvanceGetPos,\n _BinaryenStringWTF8AdvanceGetBytes,\n _BinaryenStringWTF16GetGetRef,\n _BinaryenStringWTF16GetGetPos,\n _BinaryenStringIterNextGetRef,\n _BinaryenStringIterMoveGetRef,\n _BinaryenStringIterMoveGetNum,\n _BinaryenStringSliceWTFGetRef,\n _BinaryenStringSliceWTFGetStart,\n _BinaryenStringSliceWTFGetEnd,\n _BinaryenStringSliceIterGetRef,\n _BinaryenStringSliceIterGetNum,\n _BinaryenCallRefSetOperandAt,\n _BinaryenCallRefSetTarget,\n _BinaryenRefTestSetRef,\n _BinaryenRefCastSetRef,\n _BinaryenBrOnSetRef,\n _BinaryenStructNewSetOperandAt,\n _BinaryenStructGetSetRef,\n _BinaryenStructSetSetRef,\n _BinaryenStructSetSetValue,\n _BinaryenArrayNewSetSize,\n _BinaryenArrayNewSetInit,\n _BinaryenArrayGetSetRef,\n _BinaryenArrayGetSetIndex,\n _BinaryenArraySetSetRef,\n _BinaryenArraySetSetIndex,\n _BinaryenArraySetSetValue,\n _BinaryenArrayLenSetRef,\n _BinaryenArrayCopySetDestRef,\n _BinaryenArrayCopySetDestIndex,\n _BinaryenArrayCopySetSrcRef,\n _BinaryenArrayCopySetSrcIndex,\n _BinaryenArrayCopySetLength,\n _BinaryenRefAsSetValue,\n _BinaryenStringNewSetPtr,\n _BinaryenStringNewSetLength,\n _BinaryenStringNewSetStart,\n _BinaryenStringNewSetEnd,\n _BinaryenStringMeasureSetRef,\n _BinaryenStringEncodeSetRef,\n _BinaryenStringEncodeSetPtr,\n _BinaryenStringEncodeSetStart,\n _BinaryenStringConcatSetLeft,\n _BinaryenStringConcatSetRight,\n _BinaryenStringEqSetLeft,\n _BinaryenStringEqSetRight,\n _BinaryenStringAsSetRef,\n _BinaryenStringWTF8AdvanceSetRef,\n _BinaryenStringWTF8AdvanceSetPos,\n _BinaryenStringWTF8AdvanceSetBytes,\n _BinaryenStringWTF16GetSetRef,\n _BinaryenStringWTF16GetSetPos,\n _BinaryenStringIterNextSetRef,\n _BinaryenStringIterMoveSetRef,\n _BinaryenStringIterMoveSetNum,\n _BinaryenStringSliceWTFSetRef,\n _BinaryenStringSliceWTFSetStart,\n _BinaryenStringSliceWTFSetEnd,\n _BinaryenStringSliceIterSetRef,\n _BinaryenStringSliceIterSetNum,\n _BinaryenArrayNewFixedSetValueAt\n} from \"../glue/binaryen\";\n\n/** Base class of custom Binaryen visitors. */\nexport abstract class Visitor {\n /** Expression stack. */\n private stack: ExpressionRef[] = new Array();\n\n /** Gets the current expression being walked. */\n get currentExpression(): ExpressionRef {\n let currentExpression = this._currentExpression;\n if (!currentExpression) throw new Error(\"not walking expressions\");\n return currentExpression;\n }\n _currentExpression: ExpressionRef = 0;\n\n /** Gets the parent expression of the current expression being walked. Returns zero if already the top-most expression. */\n get parentExpressionOrNull(): ExpressionRef {\n let stack = this.stack;\n let length = stack.length;\n return length ? stack[length - 1] : 0;\n }\n\n // Expressions\n\n visitBlock(expr: ExpressionRef): void {\n // unimp\n }\n\n visitIf(expr: ExpressionRef): void {\n // unimp\n }\n\n visitLoop(expr: ExpressionRef): void {\n // unimp\n }\n\n visitBreak(expr: ExpressionRef): void {\n // unimp\n }\n\n visitSwitch(expr: ExpressionRef): void {\n // unimp\n }\n\n visitCallPre(expr: ExpressionRef): void {\n // unimp\n }\n\n visitCall(expr: ExpressionRef): void {\n // unimp\n }\n\n visitCallIndirectPre(expr: ExpressionRef): void {\n // unimp\n }\n\n visitCallIndirect(expr: ExpressionRef): void {\n // unimp\n }\n\n visitLocalGet(expr: ExpressionRef): void {\n // unimp\n }\n\n visitLocalSet(expr: ExpressionRef): void {\n // unimp\n }\n\n visitGlobalGet(expr: ExpressionRef): void {\n // unimp\n }\n\n visitGlobalSet(expr: ExpressionRef): void {\n // unimp\n }\n\n visitLoad(expr: ExpressionRef): void {\n // unimp\n }\n\n visitStore(expr: ExpressionRef): void {\n // unimp\n }\n\n visitConst(expr: ExpressionRef): void {\n // unimp\n }\n\n visitUnary(expr: ExpressionRef): void {\n // unimp\n }\n\n visitBinary(expr: ExpressionRef): void {\n // unimp\n }\n\n visitSelect(expr: ExpressionRef): void {\n // unimp\n }\n\n visitDrop(expr: ExpressionRef): void {\n // unimp\n }\n\n visitReturn(expr: ExpressionRef): void {\n // unimp\n }\n\n visitMemorySize(expr: ExpressionRef): void {\n // unimp\n }\n\n visitMemoryGrow(expr: ExpressionRef): void {\n // unimp\n }\n\n visitNop(expr: ExpressionRef): void {\n // unimp\n }\n\n visitUnreachable(expr: ExpressionRef): void {\n // unimp\n }\n\n visitAtomicRMW(expr: ExpressionRef): void {\n // unimp\n }\n\n visitAtomicCmpxchg(expr: ExpressionRef): void {\n // unimp\n }\n\n visitAtomicWait(expr: ExpressionRef): void {\n // unimp\n }\n\n visitAtomicNotify(expr: ExpressionRef): void {\n // unimp\n }\n\n visitAtomicFence(expr: ExpressionRef): void {\n // unimp\n }\n\n visitSIMDExtract(expr: ExpressionRef): void {\n // unimp\n }\n\n visitSIMDReplace(expr: ExpressionRef): void {\n // unimp\n }\n\n visitSIMDShuffle(expr: ExpressionRef): void {\n // unimp\n }\n\n visitSIMDTernary(expr: ExpressionRef): void {\n // unimp\n }\n\n visitSIMDShift(expr: ExpressionRef): void {\n // unimp\n }\n\n visitSIMDLoad(expr: ExpressionRef): void {\n // unimp\n }\n\n visitSIMDLoadStoreLane(expr: ExpressionRef): void {\n // unimp\n }\n\n visitMemoryInit(expr: ExpressionRef): void {\n // unimp\n }\n\n visitDataDrop(expr: ExpressionRef): void {\n // unimp\n }\n\n visitMemoryCopy(expr: ExpressionRef): void {\n // unimp\n }\n\n visitMemoryFill(expr: ExpressionRef): void {\n // unimp\n }\n\n visitPop(expr: ExpressionRef): void {\n // unimp\n }\n\n visitRefNull(expr: ExpressionRef): void {\n // unimp\n }\n\n visitRefIsNull(expr: ExpressionRef): void {\n // unimp\n }\n\n visitRefFunc(expr: ExpressionRef): void {\n // unimp\n }\n\n visitRefEq(expr: ExpressionRef): void {\n // unimp\n }\n\n visitTry(expr: ExpressionRef): void {\n // unimp\n }\n\n visitThrow(expr: ExpressionRef): void {\n // unimp\n }\n\n visitRethrow(expr: ExpressionRef): void {\n // unimp\n }\n\n visitTupleMake(expr: ExpressionRef): void {\n // unimp\n }\n\n visitTupleExtract(expr: ExpressionRef): void {\n // unimp\n }\n\n visitRefI31(expr: ExpressionRef): void {\n // unimp\n }\n\n visitI31Get(expr: ExpressionRef): void {\n // unimp\n }\n\n visitCallRef(expr: ExpressionRef): void {\n // unimp\n }\n\n visitRefTest(expr: ExpressionRef): void {\n // unimp\n }\n\n visitRefCast(expr: ExpressionRef): void {\n // unimp\n }\n\n visitBrOn(expr: ExpressionRef): void {\n // unimp\n }\n\n visitStructNew(expr: ExpressionRef): void {\n // unimp\n }\n\n visitStructGet(expr: ExpressionRef): void {\n // unimp\n }\n\n visitStructSet(expr: ExpressionRef): void {\n // unimp\n }\n\n visitArrayNew(expr: ExpressionRef): void {\n // unimp\n }\n\n visitArrayNewFixed(expr: ExpressionRef): void {\n // unimp\n }\n\n visitArrayGet(expr: ExpressionRef): void {\n // unimp\n }\n\n visitArraySet(expr: ExpressionRef): void {\n // unimp\n }\n\n visitArrayLen(expr: ExpressionRef): void {\n // unimp\n }\n\n visitArrayCopy(expr: ExpressionRef): void {\n // unimp\n }\n\n visitRefAs(expr: ExpressionRef): void {\n // unimp\n }\n\n visitStringNew(expr: ExpressionRef): void {\n // unimp\n }\n\n visitStringConst(expr: ExpressionRef): void {\n // unimp\n }\n\n visitStringMeasure(expr: ExpressionRef): void {\n // unimp\n }\n\n visitStringEncode(expr: ExpressionRef): void {\n // unimp\n }\n\n visitStringConcat(expr: ExpressionRef): void {\n // unimp\n }\n\n visitStringEq(expr: ExpressionRef): void {\n // unimp\n }\n\n visitStringAs(expr: ExpressionRef): void {\n // unimp\n }\n\n visitStringWTF8Advance(expr: ExpressionRef): void {\n // unimp\n }\n\n visitStringWTF16Get(expr: ExpressionRef): void {\n // unimp\n }\n\n visitStringIterNext(expr: ExpressionRef): void {\n // unimp\n }\n\n visitStringIterMove(expr: ExpressionRef): void {\n // unimp\n }\n\n visitStringSliceWTF(expr: ExpressionRef): void {\n // unimp\n }\n\n visitStringSliceIter(expr: ExpressionRef): void {\n // unimp\n }\n\n // Immediates\n\n visitName(name: StringRef): void {\n // unimp\n }\n\n visitLabel(name: StringRef): void {\n // unimp\n }\n\n visitIndex(index: Index): void {\n // unimp\n }\n\n visitTag(name: StringRef): void {\n // unimp\n }\n\n // Delegate\n\n /** Visits any expression, delegating to the respective visitor methods. */\n visit(expr: ExpressionRef): void {\n let previousExpression = this._currentExpression;\n this._currentExpression = assert(expr);\n switch (_BinaryenExpressionGetId(expr)) {\n case ExpressionId.Block: {\n this.stack.push(expr);\n let name = _BinaryenBlockGetName(expr);\n if (name) this.visitLabel(name);\n for (let i: Index = 0, n = _BinaryenBlockGetNumChildren(expr); i < n; ++i) {\n this.visit(_BinaryenBlockGetChildAt(expr, i));\n }\n assert(this.stack.pop() == expr);\n this.visitBlock(expr);\n break;\n }\n case ExpressionId.If: {\n this.stack.push(expr);\n this.visit(_BinaryenIfGetCondition(expr));\n this.visit(_BinaryenIfGetIfTrue(expr));\n let ifFalse = _BinaryenIfGetIfFalse(expr);\n if (ifFalse) this.visit(ifFalse);\n assert(this.stack.pop() == expr);\n this.visitIf(expr);\n break;\n }\n case ExpressionId.Loop: {\n this.stack.push(expr);\n let name = _BinaryenLoopGetName(expr);\n if (name) this.visitLabel(name);\n this.visit(_BinaryenLoopGetBody(expr));\n assert(this.stack.pop() == expr);\n this.visitLoop(expr);\n break;\n }\n case ExpressionId.Break: {\n this.stack.push(expr);\n this.visitLabel(_BinaryenBreakGetName(expr));\n let condition = _BinaryenBreakGetCondition(expr);\n if (condition) this.visit(condition);\n let value = _BinaryenBreakGetValue(expr);\n if (value) this.visit(value);\n assert(this.stack.pop() == expr);\n this.visitBreak(expr);\n break;\n }\n case ExpressionId.Switch: {\n this.stack.push(expr);\n let defaultName = _BinaryenSwitchGetDefaultName(expr);\n if (defaultName) this.visitLabel(defaultName);\n let numNames = _BinaryenSwitchGetNumNames(expr);\n for (let i: Index = 0; i < numNames; ++i) {\n this.visitLabel(_BinaryenSwitchGetNameAt(expr, i));\n }\n this.visit(_BinaryenSwitchGetCondition(expr));\n let value = _BinaryenSwitchGetValue(expr);\n if (value) this.visit(value);\n assert(this.stack.pop() == expr);\n this.visitSwitch(expr);\n break;\n }\n case ExpressionId.Call: {\n this.visitCallPre(expr);\n this.stack.push(expr);\n this.visitName(_BinaryenCallGetTarget(expr));\n let numOperands = _BinaryenCallGetNumOperands(expr);\n for (let i: Index = 0; i < numOperands; ++i) {\n this.visit(_BinaryenCallGetOperandAt(expr, i));\n }\n assert(this.stack.pop() == expr);\n this.visitCall(expr);\n break;\n }\n case ExpressionId.CallIndirect: {\n this.visitCallIndirectPre(expr);\n this.stack.push(expr);\n this.visit(_BinaryenCallIndirectGetTarget(expr));\n for (let i: Index = 0, k = _BinaryenCallIndirectGetNumOperands(expr); i < k; ++i) {\n this.visit(_BinaryenCallIndirectGetOperandAt(expr, i));\n }\n assert(this.stack.pop() == expr);\n this.visitCallIndirect(expr);\n break;\n }\n case ExpressionId.LocalGet: {\n this.stack.push(expr);\n this.visitIndex(_BinaryenLocalGetGetIndex(expr));\n assert(this.stack.pop() == expr);\n this.visitLocalGet(expr);\n break;\n }\n case ExpressionId.LocalSet: {\n this.stack.push(expr);\n this.visitIndex(_BinaryenLocalSetGetIndex(expr));\n this.visit(_BinaryenLocalSetGetValue(expr));\n assert(this.stack.pop() == expr);\n this.visitLocalSet(expr);\n break;\n }\n case ExpressionId.GlobalGet: {\n this.stack.push(expr);\n this.visitName(_BinaryenGlobalGetGetName(expr));\n assert(this.stack.pop() == expr);\n this.visitGlobalGet(expr);\n break;\n }\n case ExpressionId.GlobalSet: {\n this.stack.push(expr);\n this.visitName(_BinaryenGlobalSetGetName(expr));\n this.visit(_BinaryenGlobalSetGetValue(expr));\n assert(this.stack.pop() == expr);\n this.visitGlobalSet(expr);\n break;\n }\n case ExpressionId.Load: {\n this.stack.push(expr);\n this.visit(_BinaryenLoadGetPtr(expr));\n assert(this.stack.pop() == expr);\n this.visitLoad(expr);\n break;\n }\n case ExpressionId.Store: {\n this.stack.push(expr);\n this.visit(_BinaryenStoreGetPtr(expr));\n this.visit(_BinaryenStoreGetValue(expr));\n assert(this.stack.pop() == expr);\n this.visitStore(expr);\n break;\n }\n case ExpressionId.Const: {\n this.visitConst(expr);\n break;\n }\n case ExpressionId.Unary: {\n this.stack.push(expr);\n this.visit(_BinaryenUnaryGetValue(expr));\n assert(this.stack.pop() == expr);\n this.visitUnary(expr);\n break;\n }\n case ExpressionId.Binary: {\n this.stack.push(expr);\n this.visit(_BinaryenBinaryGetLeft(expr));\n this.visit(_BinaryenBinaryGetRight(expr));\n assert(this.stack.pop() == expr);\n this.visitBinary(expr);\n break;\n }\n case ExpressionId.Select: {\n this.stack.push(expr);\n this.visit(_BinaryenSelectGetIfTrue(expr));\n this.visit(_BinaryenSelectGetIfFalse(expr));\n this.visit(_BinaryenSelectGetCondition(expr));\n assert(this.stack.pop() == expr);\n this.visitSelect(expr);\n break;\n }\n case ExpressionId.Drop: {\n this.stack.push(expr);\n this.visit(_BinaryenDropGetValue(expr));\n assert(this.stack.pop() == expr);\n this.visitDrop(expr);\n break;\n }\n case ExpressionId.Return: {\n let value = _BinaryenReturnGetValue(expr);\n if (value) {\n this.stack.push(expr);\n this.visit(value);\n assert(this.stack.pop() == expr);\n }\n this.visitReturn(expr);\n break;\n }\n case ExpressionId.MemorySize: {\n this.visitMemorySize(expr);\n break;\n }\n case ExpressionId.MemoryGrow: {\n this.stack.push(expr);\n this.visit(_BinaryenMemoryGrowGetDelta(expr));\n assert(this.stack.pop() == expr);\n this.visitMemoryGrow(expr);\n break;\n }\n case ExpressionId.Nop: {\n this.visitNop(expr);\n break;\n }\n case ExpressionId.Unreachable: {\n this.visitUnreachable(expr);\n break;\n }\n case ExpressionId.AtomicRMW: {\n this.stack.push(expr);\n this.visit(_BinaryenAtomicRMWGetPtr(expr));\n this.visit(_BinaryenAtomicRMWGetValue(expr));\n assert(this.stack.pop() == expr);\n this.visitAtomicRMW(expr);\n break;\n }\n case ExpressionId.AtomicCmpxchg: {\n this.stack.push(expr);\n this.visit(_BinaryenAtomicCmpxchgGetPtr(expr));\n this.visit(_BinaryenAtomicCmpxchgGetExpected(expr));\n this.visit(_BinaryenAtomicCmpxchgGetReplacement(expr));\n assert(this.stack.pop() == expr);\n this.visitAtomicCmpxchg(expr);\n break;\n }\n case ExpressionId.AtomicWait: {\n this.stack.push(expr);\n this.visit(_BinaryenAtomicWaitGetPtr(expr));\n this.visit(_BinaryenAtomicWaitGetExpected(expr));\n this.visit(_BinaryenAtomicWaitGetTimeout(expr));\n assert(this.stack.pop() == expr);\n this.visitAtomicWait(expr);\n break;\n }\n case ExpressionId.AtomicNotify: {\n this.stack.push(expr);\n this.visit(_BinaryenAtomicNotifyGetPtr(expr));\n this.visit(_BinaryenAtomicNotifyGetNotifyCount(expr));\n assert(this.stack.pop() == expr);\n this.visitAtomicNotify(expr);\n break;\n }\n case ExpressionId.AtomicFence: {\n this.visitAtomicFence(expr);\n break;\n }\n case ExpressionId.SIMDExtract: {\n this.stack.push(expr);\n this.visit(_BinaryenSIMDExtractGetVec(expr));\n assert(this.stack.pop() == expr);\n this.visitSIMDExtract(expr);\n break;\n }\n case ExpressionId.SIMDReplace: {\n this.stack.push(expr);\n this.visit(_BinaryenSIMDReplaceGetVec(expr));\n this.visit(_BinaryenSIMDReplaceGetValue(expr));\n assert(this.stack.pop() == expr);\n this.visitSIMDReplace(expr);\n break;\n }\n case ExpressionId.SIMDShuffle: {\n this.stack.push(expr);\n this.visit(_BinaryenSIMDShuffleGetLeft(expr));\n this.visit(_BinaryenSIMDShuffleGetRight(expr));\n assert(this.stack.pop() == expr);\n this.visitSIMDShuffle(expr);\n break;\n }\n case ExpressionId.SIMDTernary: {\n this.stack.push(expr);\n this.visit(_BinaryenSIMDTernaryGetA(expr));\n this.visit(_BinaryenSIMDTernaryGetB(expr));\n this.visit(_BinaryenSIMDTernaryGetC(expr));\n assert(this.stack.pop() == expr);\n this.visitSIMDTernary(expr);\n break;\n }\n case ExpressionId.SIMDShift: {\n this.stack.push(expr);\n this.visit(_BinaryenSIMDShiftGetVec(expr));\n this.visit(_BinaryenSIMDShiftGetShift(expr));\n assert(this.stack.pop() == expr);\n this.visitSIMDShift(expr);\n break;\n }\n case ExpressionId.SIMDLoad: {\n this.stack.push(expr);\n this.visit(_BinaryenSIMDLoadGetPtr(expr));\n assert(this.stack.pop() == expr);\n this.visitSIMDLoad(expr);\n break;\n }\n case ExpressionId.SIMDLoadStoreLane: {\n this.stack.push(expr);\n this.visit(_BinaryenSIMDLoadStoreLaneGetPtr(expr));\n this.visit(_BinaryenSIMDLoadStoreLaneGetVec(expr));\n assert(this.stack.pop() == expr);\n this.visitSIMDLoadStoreLane(expr);\n break;\n }\n case ExpressionId.MemoryInit: {\n this.stack.push(expr);\n this.visit(_BinaryenMemoryInitGetDest(expr));\n this.visit(_BinaryenMemoryInitGetOffset(expr));\n this.visit(_BinaryenMemoryInitGetSize(expr));\n assert(this.stack.pop() == expr);\n this.visitMemoryInit(expr);\n break;\n }\n case ExpressionId.DataDrop: {\n this.visitDataDrop(expr);\n break;\n }\n case ExpressionId.MemoryCopy: {\n this.stack.push(expr);\n this.visit(_BinaryenMemoryCopyGetDest(expr));\n this.visit(_BinaryenMemoryCopyGetSource(expr));\n this.visit(_BinaryenMemoryCopyGetSize(expr));\n assert(this.stack.pop() == expr);\n this.visitMemoryCopy(expr);\n break;\n }\n case ExpressionId.MemoryFill: {\n this.stack.push(expr);\n this.visit(_BinaryenMemoryFillGetDest(expr));\n this.visit(_BinaryenMemoryFillGetValue(expr));\n this.visit(_BinaryenMemoryFillGetSize(expr));\n assert(this.stack.pop() == expr);\n this.visitMemoryFill(expr);\n break;\n }\n case ExpressionId.Pop: {\n this.visitPop(expr);\n break;\n }\n case ExpressionId.RefNull: {\n this.visitRefNull(expr);\n break;\n }\n case ExpressionId.RefIsNull: {\n this.stack.push(expr);\n this.visit(_BinaryenRefIsNullGetValue(expr));\n assert(this.stack.pop() == expr);\n this.visitRefIsNull(expr);\n break;\n }\n case ExpressionId.RefFunc: {\n this.stack.push(expr);\n this.visitName(_BinaryenRefFuncGetFunc(expr));\n assert(this.stack.pop() == expr);\n this.visitRefFunc(expr);\n break;\n }\n case ExpressionId.RefEq: {\n this.stack.push(expr);\n this.visit(_BinaryenRefEqGetLeft(expr));\n this.visit(_BinaryenRefEqGetRight(expr));\n assert(this.stack.pop() == expr);\n this.visitRefEq(expr);\n break;\n }\n case ExpressionId.Try: {\n this.stack.push(expr);\n this.visit(_BinaryenTryGetBody(expr));\n let numCatchBodies = _BinaryenTryGetNumCatchBodies(expr);\n for (let i: Index = 0; i < numCatchBodies; ++i) {\n this.visit(_BinaryenTryGetCatchBodyAt(expr, i));\n }\n assert(this.stack.pop() == expr);\n this.visitTry(expr);\n break;\n }\n case ExpressionId.Throw: {\n this.stack.push(expr);\n this.visitTag(_BinaryenThrowGetTag(expr));\n let numOperands = _BinaryenThrowGetNumOperands(expr);\n for (let i: Index = 0; i < numOperands; ++i) {\n this.visit(_BinaryenThrowGetOperandAt(expr, i));\n }\n assert(this.stack.pop() == expr);\n this.visitThrow(expr);\n break;\n }\n case ExpressionId.Rethrow: {\n this.visitRethrow(expr);\n break;\n }\n case ExpressionId.TupleMake: {\n let numOperands = _BinaryenTupleMakeGetNumOperands(expr);\n if (numOperands) {\n this.stack.push(expr);\n for (let i: Index = 0; i < numOperands; ++i) {\n this.visit(_BinaryenTupleMakeGetOperandAt(expr, i));\n }\n assert(this.stack.pop() == expr);\n }\n this.visitTupleMake(expr);\n break;\n }\n case ExpressionId.TupleExtract: {\n this.stack.push(expr);\n this.visit(_BinaryenTupleExtractGetTuple(expr));\n assert(this.stack.pop() == expr);\n this.visitTupleExtract(expr);\n break;\n }\n case ExpressionId.RefI31: {\n this.stack.push(expr);\n this.visit(_BinaryenRefI31GetValue(expr));\n assert(this.stack.pop() == expr);\n this.visitRefI31(expr);\n break;\n }\n case ExpressionId.I31Get: {\n this.stack.push(expr);\n this.visit(_BinaryenI31GetGetI31(expr));\n assert(this.stack.pop() == expr);\n this.visitI31Get(expr);\n break;\n }\n case ExpressionId.CallRef: {\n this.stack.push(expr);\n let numOperands = _BinaryenCallRefGetNumOperands(expr);\n if (numOperands) {\n for (let i: Index = 0; i < numOperands; ++i) {\n this.visit(_BinaryenCallRefGetOperandAt(expr, i));\n }\n }\n this.visit(_BinaryenCallRefGetTarget(expr));\n assert(this.stack.pop() == expr);\n this.visitCallRef(expr);\n break;\n }\n case ExpressionId.RefTest: {\n this.stack.push(expr);\n this.visit(_BinaryenRefTestGetRef(expr));\n assert(this.stack.pop() == expr);\n this.visitRefTest(expr);\n break;\n }\n case ExpressionId.RefCast: {\n this.stack.push(expr);\n this.visit(_BinaryenRefCastGetRef(expr));\n assert(this.stack.pop() == expr);\n this.visitRefCast(expr);\n break;\n }\n case ExpressionId.BrOn: {\n this.stack.push(expr);\n this.visitLabel(_BinaryenBrOnGetName(expr));\n this.visit(_BinaryenBrOnGetRef(expr));\n assert(this.stack.pop() == expr);\n this.visitBrOn(expr);\n break;\n }\n case ExpressionId.StructNew: {\n let numOperands = _BinaryenStructNewGetNumOperands(expr);\n if (numOperands) {\n this.stack.push(expr);\n for (let i: Index = 0; i < numOperands; ++i) {\n this.visit(_BinaryenStructNewGetOperandAt(expr, i));\n }\n assert(this.stack.pop() == expr);\n }\n this.visitStructNew(expr);\n break;\n }\n case ExpressionId.StructGet: {\n this.stack.push(expr);\n this.visit(_BinaryenStructGetGetRef(expr));\n this.visitIndex(_BinaryenStructGetGetIndex(expr));\n assert(this.stack.pop() == expr);\n this.visitStructGet(expr);\n break;\n }\n case ExpressionId.StructSet: {\n this.stack.push(expr);\n this.visit(_BinaryenStructSetGetRef(expr));\n this.visitIndex(_BinaryenStructSetGetIndex(expr));\n this.visit(_BinaryenStructSetGetValue(expr));\n assert(this.stack.pop() == expr);\n this.visitStructSet(expr);\n break;\n }\n case ExpressionId.ArrayNew: {\n this.stack.push(expr);\n this.visit(_BinaryenArrayNewGetSize(expr));\n let init = _BinaryenArrayNewGetInit(expr);\n if (init) this.visit(init);\n assert(this.stack.pop() == expr);\n this.visitArrayNew(expr);\n break;\n }\n case ExpressionId.ArrayNewFixed: {\n let numValues = _BinaryenArrayNewFixedGetNumValues(expr);\n if (numValues) {\n this.stack.push(expr);\n for (let i: Index = 0; i < numValues; ++i) {\n this.visit(_BinaryenArrayNewFixedGetValueAt(expr, i));\n }\n assert(this.stack.pop() == expr);\n }\n this.visitArrayNewFixed(expr);\n break;\n }\n case ExpressionId.ArrayGet: {\n this.stack.push(expr);\n this.visit(_BinaryenArrayGetGetRef(expr));\n this.visit(_BinaryenArrayGetGetIndex(expr));\n assert(this.stack.pop() == expr);\n this.visitArrayGet(expr);\n break;\n }\n case ExpressionId.ArraySet: {\n this.stack.push(expr);\n this.visit(_BinaryenArraySetGetRef(expr));\n this.visit(_BinaryenArraySetGetIndex(expr));\n this.visit(_BinaryenArraySetGetValue(expr));\n assert(this.stack.pop() == expr);\n this.visitArraySet(expr);\n break;\n }\n case ExpressionId.ArrayLen: {\n this.stack.push(expr);\n this.visit(_BinaryenArrayLenGetRef(expr));\n assert(this.stack.pop() == expr);\n this.visitArrayLen(expr);\n break;\n }\n case ExpressionId.ArrayCopy: {\n this.stack.push(expr);\n this.visit(_BinaryenArrayCopyGetDestRef(expr));\n this.visit(_BinaryenArrayCopyGetDestIndex(expr));\n this.visit(_BinaryenArrayCopyGetSrcRef(expr));\n this.visit(_BinaryenArrayCopyGetSrcIndex(expr));\n this.visit(_BinaryenArrayCopyGetLength(expr));\n assert(this.stack.pop() == expr);\n this.visitArrayCopy(expr);\n break;\n }\n case ExpressionId.RefAs: {\n this.stack.push(expr);\n this.visit(_BinaryenRefAsGetValue(expr));\n assert(this.stack.pop() == expr);\n this.visitRefAs(expr);\n break;\n }\n case ExpressionId.StringNew: {\n this.stack.push(expr);\n this.visit(_BinaryenStringNewGetPtr(expr));\n let length = _BinaryenStringNewGetLength(expr); // LM only\n if (length) this.visit(length);\n let start = _BinaryenStringNewGetStart(expr); // GC only\n if (start) this.visit(start);\n let end = _BinaryenStringNewGetEnd(expr); // GC only\n if (end) this.visit(end);\n assert(this.stack.pop() == expr);\n this.visitStringNew(expr);\n break;\n }\n case ExpressionId.StringConst: {\n this.stack.push(expr);\n assert(this.stack.pop() == expr);\n this.visitStringConst(expr);\n break;\n }\n case ExpressionId.StringMeasure: {\n this.stack.push(expr);\n this.visit(_BinaryenStringMeasureGetRef(expr));\n assert(this.stack.pop() == expr);\n this.visitStringMeasure(expr);\n break;\n }\n case ExpressionId.StringEncode: {\n this.stack.push(expr);\n this.visit(_BinaryenStringEncodeGetRef(expr));\n this.visit(_BinaryenStringEncodeGetPtr(expr));\n let start = _BinaryenStringEncodeGetStart(expr); // GC only\n if (start) this.visit(start);\n assert(this.stack.pop() == expr);\n this.visitStringEncode(expr);\n break;\n }\n case ExpressionId.StringConcat: {\n this.stack.push(expr);\n this.visit(_BinaryenStringConcatGetLeft(expr));\n this.visit(_BinaryenStringConcatGetRight(expr));\n assert(this.stack.pop() == expr);\n this.visitStringConcat(expr);\n break;\n }\n case ExpressionId.StringEq: {\n this.stack.push(expr);\n this.visit(_BinaryenStringEqGetLeft(expr));\n this.visit(_BinaryenStringEqGetRight(expr));\n assert(this.stack.pop() == expr);\n this.visitStringEq(expr);\n break;\n }\n case ExpressionId.StringAs: {\n this.stack.push(expr);\n this.visit(_BinaryenStringAsGetRef(expr));\n assert(this.stack.pop() == expr);\n this.visitStringAs(expr);\n break;\n }\n case ExpressionId.StringWTF8Advance: {\n this.stack.push(expr);\n this.visit(_BinaryenStringWTF8AdvanceGetRef(expr));\n this.visit(_BinaryenStringWTF8AdvanceGetPos(expr));\n this.visit(_BinaryenStringWTF8AdvanceGetBytes(expr));\n assert(this.stack.pop() == expr);\n this.visitStringWTF8Advance(expr);\n break;\n }\n case ExpressionId.StringWTF16Get: {\n this.stack.push(expr);\n this.visit(_BinaryenStringWTF16GetGetRef(expr));\n this.visit(_BinaryenStringWTF16GetGetPos(expr));\n assert(this.stack.pop() == expr);\n this.visitStringWTF16Get(expr);\n break;\n }\n case ExpressionId.StringIterNext: {\n this.stack.push(expr);\n this.visit(_BinaryenStringIterNextGetRef(expr));\n assert(this.stack.pop() == expr);\n this.visitStringIterNext(expr);\n break;\n }\n case ExpressionId.StringIterMove: {\n this.stack.push(expr);\n this.visit(_BinaryenStringIterMoveGetRef(expr));\n this.visit(_BinaryenStringIterMoveGetNum(expr));\n assert(this.stack.pop() == expr);\n this.visitStringIterMove(expr);\n break;\n }\n case ExpressionId.StringSliceWTF: {\n this.stack.push(expr);\n this.visit(_BinaryenStringSliceWTFGetRef(expr));\n this.visit(_BinaryenStringSliceWTFGetStart(expr));\n this.visit(_BinaryenStringSliceWTFGetEnd(expr));\n assert(this.stack.pop() == expr);\n this.visitStringSliceWTF(expr);\n break;\n }\n case ExpressionId.StringSliceIter: {\n this.stack.push(expr);\n this.visit(_BinaryenStringSliceIterGetRef(expr));\n this.visit(_BinaryenStringSliceIterGetNum(expr));\n assert(this.stack.pop() == expr);\n this.visitStringSliceIter(expr);\n break;\n }\n default: throw new Error(\"unexpected expression kind\");\n }\n this._currentExpression = previousExpression;\n }\n}\n\n/** Base class of custom Binaryen passes. */\nexport abstract class Pass extends Visitor {\n\n /** Gets the current function being walked. */\n get currentFunction(): FunctionRef {\n let currentFunction = this._currentFunction;\n if (!currentFunction) throw new Error(\"not walking a function\");\n return currentFunction;\n }\n private _currentFunction: FunctionRef = 0;\n\n /** Gets the current global being walked. */\n get currentGlobal(): GlobalRef {\n let currentGlobal = this._currentGlobal;\n if (!currentGlobal) throw new Error(\"not walking a global\");\n return currentGlobal;\n }\n private _currentGlobal: GlobalRef = 0;\n\n /** Constructs a new Binaryen pass. */\n constructor(readonly module: Module) {\n super();\n }\n\n // Walking\n\n /** Walks the entire module. */\n walkModule(): void {\n this.walkFunctions();\n this.walkGlobals();\n }\n\n /** Walks all functions. */\n walkFunctions(): void {\n let moduleRef = this.module.ref;\n for (let i: Index = 0, k = _BinaryenGetNumFunctions(moduleRef); i < k; ++i) {\n this.walkFunction(_BinaryenGetFunctionByIndex(moduleRef, i));\n }\n }\n\n /** Walks a specific function. */\n walkFunction(func: FunctionRef): void {\n let body = _BinaryenFunctionGetBody(func);\n if (body) {\n this._currentFunction = func;\n this.visit(body);\n this._currentFunction = 0;\n }\n }\n\n /** Walks all global variables. */\n walkGlobals(): void {\n let moduleRef = this.module.ref;\n for (let i: Index = 0, k = _BinaryenGetNumGlobals(moduleRef); i < k; ++i) {\n this.walkGlobal(_BinaryenGetGlobalByIndex(moduleRef, i));\n }\n }\n\n /** Walks a specific global variable. */\n walkGlobal(global: GlobalRef): void {\n this._currentGlobal = global;\n let init = _BinaryenGlobalGetInitExpr(global);\n if (init) this.visit(init);\n this._currentGlobal = 0;\n }\n\n // Utility\n\n /** Replaces the current expression with the specified replacement. */\n replaceCurrent(replacement: ExpressionRef): void {\n let search = this.currentExpression;\n let func = this.currentFunction;\n let body = _BinaryenFunctionGetBody(func);\n if (body == search) {\n _BinaryenFunctionSetBody(func, replacement);\n } else {\n let parent = assert(this.parentExpressionOrNull);\n let replaced = replaceChild(parent, search, replacement);\n if (!replaced) throw Error(\"failed to replace expression\");\n _BinaryenExpressionFinalize(parent);\n }\n }\n}\n\n/** Replaces an expression within a parent expression. Returns the replaced expression on success, otherwise `0`. */\nexport function replaceChild(\n /** Parent expression containing `search`. */\n parent: ExpressionRef,\n /** Expression to replace. */\n search: ExpressionRef,\n /** Expression to replace `search` with. */\n replacement: ExpressionRef\n): ExpressionRef {\n switch (_BinaryenExpressionGetId(parent)) {\n case ExpressionId.Block: {\n let numChildren = _BinaryenBlockGetNumChildren(parent);\n for (let i: Index = 0; i < numChildren; ++i) {\n let child = _BinaryenBlockGetChildAt(parent, i);\n if (child == search) {\n _BinaryenBlockSetChildAt(parent, i, replacement);\n return child;\n }\n }\n break;\n }\n case ExpressionId.If: {\n let condition = _BinaryenIfGetCondition(parent);\n if (condition == search) {\n _BinaryenIfSetCondition(parent, replacement);\n return condition;\n }\n let ifTrue = _BinaryenIfGetIfTrue(parent);\n if (ifTrue == search) {\n _BinaryenIfSetIfTrue(parent, replacement);\n return ifTrue;\n }\n let ifFalse = _BinaryenIfGetIfFalse(parent);\n if (ifFalse == search) {\n _BinaryenIfSetIfFalse(parent, replacement);\n return ifFalse;\n }\n break;\n }\n case ExpressionId.Loop: {\n let body = _BinaryenLoopGetBody(parent);\n if (body == search) {\n _BinaryenLoopSetBody(parent, replacement);\n return body;\n }\n break;\n }\n case ExpressionId.Break: {\n let condition = _BinaryenBreakGetCondition(parent);\n if (condition == search) {\n _BinaryenBreakSetCondition(parent, replacement);\n return condition;\n }\n let value = _BinaryenBreakGetValue(parent);\n if (value == search) {\n _BinaryenBreakSetValue(parent, replacement);\n return value;\n }\n break;\n }\n case ExpressionId.Switch: {\n let condition = _BinaryenSwitchGetCondition(parent);\n if (condition == search) {\n _BinaryenSwitchSetCondition(parent, replacement);\n return condition;\n }\n let value = _BinaryenSwitchGetValue(parent);\n if (value == search) {\n _BinaryenSwitchSetValue(parent, replacement);\n return value;\n }\n break;\n }\n case ExpressionId.Call: {\n let numOperands = _BinaryenCallGetNumOperands(parent);\n for (let i: Index = 0; i < numOperands; ++i) {\n let operand = _BinaryenCallGetOperandAt(parent, i);\n if (operand == search) {\n _BinaryenCallSetOperandAt(parent, i, replacement);\n return operand;\n }\n }\n break;\n }\n case ExpressionId.CallIndirect: {\n let target = _BinaryenCallIndirectGetTarget(parent);\n if (target == search) {\n _BinaryenCallIndirectSetTarget(parent, replacement);\n return target;\n }\n let numOperands = _BinaryenCallIndirectGetNumOperands(parent);\n for (let i: Index = 0; i < numOperands; ++i) {\n let operand = _BinaryenCallIndirectGetOperandAt(parent, i);\n if (operand == search) {\n _BinaryenCallIndirectSetOperandAt(parent, i, replacement);\n return operand;\n }\n }\n break;\n }\n case ExpressionId.LocalGet: {\n break;\n }\n case ExpressionId.LocalSet: {\n let value = _BinaryenLocalSetGetValue(parent);\n if (value == search) {\n _BinaryenLocalSetSetValue(parent, replacement);\n return value;\n }\n break;\n }\n case ExpressionId.GlobalGet: {\n break;\n }\n case ExpressionId.GlobalSet: {\n let value = _BinaryenGlobalSetGetValue(parent);\n if (value == search) {\n _BinaryenGlobalSetSetValue(parent, replacement);\n return value;\n }\n break;\n }\n case ExpressionId.Load: {\n let ptr = _BinaryenLoadGetPtr(parent);\n if (ptr == search) {\n _BinaryenLoadSetPtr(parent, replacement);\n return ptr;\n }\n break;\n }\n case ExpressionId.Store: {\n let ptr = _BinaryenStoreGetPtr(parent);\n if (ptr == search) {\n _BinaryenStoreSetPtr(parent, replacement);\n return ptr;\n }\n let value = _BinaryenStoreGetValue(parent);\n if (value == search) {\n _BinaryenStoreSetValue(parent, replacement);\n return value;\n }\n break;\n }\n case ExpressionId.Const: {\n break;\n }\n case ExpressionId.Unary: {\n let value = _BinaryenUnaryGetValue(parent);\n if (value == search) {\n _BinaryenUnarySetValue(parent, replacement);\n return value;\n }\n break;\n }\n case ExpressionId.Binary: {\n let left = _BinaryenBinaryGetLeft(parent);\n if (left == search) {\n _BinaryenBinarySetLeft(parent, replacement);\n return left;\n }\n let right = _BinaryenBinaryGetRight(parent);\n if (right == search) {\n _BinaryenBinarySetRight(parent, replacement);\n return right;\n }\n break;\n }\n case ExpressionId.Select: {\n let ifTrue = _BinaryenSelectGetIfTrue(parent);\n if (ifTrue == search) {\n _BinaryenSelectSetIfTrue(parent, replacement);\n return ifTrue;\n }\n let ifFalse = _BinaryenSelectGetIfFalse(parent);\n if (ifFalse == search) {\n _BinaryenSelectSetIfFalse(parent, replacement);\n return ifFalse;\n }\n let condition = _BinaryenSelectGetCondition(parent);\n if (condition == search) {\n _BinaryenSelectSetCondition(parent, replacement);\n return condition;\n }\n break;\n }\n case ExpressionId.Drop: {\n let value = _BinaryenDropGetValue(parent);\n if (value == search) {\n _BinaryenDropSetValue(parent, replacement);\n return value;\n }\n break;\n }\n case ExpressionId.Return: {\n let value = _BinaryenReturnGetValue(parent);\n if (value == search) {\n _BinaryenReturnSetValue(parent, replacement);\n return value;\n }\n break;\n }\n case ExpressionId.MemorySize: {\n break;\n }\n case ExpressionId.MemoryGrow: {\n let delta = _BinaryenMemoryGrowGetDelta(parent);\n if (delta == search) {\n _BinaryenMemoryGrowSetDelta(parent, replacement);\n return delta;\n }\n break;\n }\n case ExpressionId.Nop: {\n break;\n }\n case ExpressionId.Unreachable: {\n break;\n }\n case ExpressionId.AtomicRMW: {\n let ptr = _BinaryenAtomicRMWGetPtr(parent);\n if (ptr == search) {\n _BinaryenAtomicRMWSetPtr(parent, replacement);\n return ptr;\n }\n let value = _BinaryenAtomicRMWGetValue(parent);\n if (value == search) {\n _BinaryenAtomicRMWSetValue(parent, replacement);\n return value;\n }\n break;\n }\n case ExpressionId.AtomicCmpxchg: {\n let ptr = _BinaryenAtomicCmpxchgGetPtr(parent);\n if (ptr == search) {\n _BinaryenAtomicCmpxchgSetPtr(parent, replacement);\n return ptr;\n }\n let expected = _BinaryenAtomicCmpxchgGetExpected(parent);\n if (expected == search) {\n _BinaryenAtomicCmpxchgSetExpected(parent, replacement);\n return expected;\n }\n let repl = _BinaryenAtomicCmpxchgGetReplacement(parent);\n if (repl == search) {\n _BinaryenAtomicCmpxchgSetReplacement(parent, replacement);\n return repl;\n }\n break;\n }\n case ExpressionId.AtomicWait: {\n let ptr = _BinaryenAtomicWaitGetPtr(parent);\n if (ptr == search) {\n _BinaryenAtomicWaitSetPtr(parent, replacement);\n return ptr;\n }\n let expected = _BinaryenAtomicWaitGetExpected(parent);\n if (expected == search) {\n _BinaryenAtomicWaitSetExpected(parent, replacement);\n return expected;\n }\n let timeout = _BinaryenAtomicWaitGetTimeout(parent);\n if (timeout == search) {\n _BinaryenAtomicWaitSetTimeout(parent, replacement);\n return timeout;\n }\n break;\n }\n case ExpressionId.AtomicNotify: {\n let ptr = _BinaryenAtomicNotifyGetPtr(parent);\n if (ptr == search) {\n _BinaryenAtomicNotifySetPtr(parent, replacement);\n return ptr;\n }\n let notifyCount = _BinaryenAtomicNotifyGetNotifyCount(parent);\n if (notifyCount == search) {\n _BinaryenAtomicNotifySetNotifyCount(parent, replacement);\n return notifyCount;\n }\n break;\n }\n case ExpressionId.AtomicFence: {\n break;\n }\n case ExpressionId.SIMDExtract: {\n let vec = _BinaryenSIMDExtractGetVec(parent);\n if (vec == search) {\n _BinaryenSIMDExtractSetVec(parent, replacement);\n return vec;\n }\n break;\n }\n case ExpressionId.SIMDReplace: {\n let vec = _BinaryenSIMDReplaceGetVec(parent);\n if (vec == search) {\n _BinaryenSIMDReplaceSetVec(parent, replacement);\n return vec;\n }\n let value = _BinaryenSIMDReplaceGetValue(parent);\n if (value == search) {\n _BinaryenSIMDReplaceSetValue(parent, replacement);\n return value;\n }\n break;\n }\n case ExpressionId.SIMDShuffle: {\n let left = _BinaryenSIMDShuffleGetLeft(parent);\n if (left == search) {\n _BinaryenSIMDShuffleSetLeft(parent, replacement);\n return left;\n }\n let right = _BinaryenSIMDShuffleGetRight(parent);\n if (right == search) {\n _BinaryenSIMDShuffleSetRight(parent, replacement);\n return right;\n }\n break;\n }\n case ExpressionId.SIMDTernary: {\n let a = _BinaryenSIMDTernaryGetA(parent);\n if (a == search) {\n _BinaryenSIMDTernarySetA(parent, replacement);\n return a;\n }\n let b = _BinaryenSIMDTernaryGetB(parent);\n if (b == search) {\n _BinaryenSIMDTernarySetB(parent, replacement);\n return b;\n }\n let c = _BinaryenSIMDTernaryGetC(parent);\n if (c == search) {\n _BinaryenSIMDTernarySetC(parent, replacement);\n return c;\n }\n break;\n }\n case ExpressionId.SIMDShift: {\n let vec = _BinaryenSIMDShiftGetVec(parent);\n if (vec == search) {\n _BinaryenSIMDShiftSetVec(parent, replacement);\n return vec;\n }\n let shift = _BinaryenSIMDShiftGetShift(parent);\n if (shift == search) {\n _BinaryenSIMDShiftSetShift(parent, replacement);\n return shift;\n }\n break;\n }\n case ExpressionId.SIMDLoad: {\n let ptr = _BinaryenSIMDLoadGetPtr(parent);\n if (ptr == search) {\n _BinaryenSIMDLoadSetPtr(parent, replacement);\n return ptr;\n }\n break;\n }\n case ExpressionId.SIMDLoadStoreLane: {\n let ptr = _BinaryenSIMDLoadStoreLaneGetPtr(parent);\n if (ptr == search) {\n _BinaryenSIMDLoadStoreLaneSetPtr(parent, replacement);\n return ptr;\n }\n let vec = _BinaryenSIMDLoadStoreLaneGetVec(parent);\n if (vec == search) {\n _BinaryenSIMDLoadStoreLaneSetVec(parent, replacement);\n return ptr;\n }\n break;\n }\n case ExpressionId.MemoryInit: {\n let dest = _BinaryenMemoryInitGetDest(parent);\n if (dest == search) {\n _BinaryenMemoryInitSetDest(parent, replacement);\n return dest;\n }\n let offset = _BinaryenMemoryInitGetOffset(parent);\n if (offset == search) {\n _BinaryenMemoryInitSetOffset(parent, replacement);\n return offset;\n }\n let size = _BinaryenMemoryInitGetSize(parent);\n if (size == search) {\n _BinaryenMemoryInitSetSize(parent, replacement);\n return size;\n }\n break;\n }\n case ExpressionId.DataDrop: {\n break;\n }\n case ExpressionId.MemoryCopy: {\n let dest = _BinaryenMemoryCopyGetDest(parent);\n if (dest == search) {\n _BinaryenMemoryCopySetDest(parent, replacement);\n return dest;\n }\n let source = _BinaryenMemoryCopyGetSource(parent);\n if (source == search) {\n _BinaryenMemoryCopySetSource(parent, replacement);\n return source;\n }\n let size = _BinaryenMemoryCopyGetSize(parent);\n if (size == search) {\n _BinaryenMemoryCopySetSize(parent, replacement);\n return size;\n }\n break;\n }\n case ExpressionId.MemoryFill: {\n let dest = _BinaryenMemoryFillGetDest(parent);\n if (dest == search) {\n _BinaryenMemoryFillSetDest(parent, replacement);\n return dest;\n }\n let value = _BinaryenMemoryFillGetValue(parent);\n if (value == search) {\n _BinaryenMemoryFillSetValue(parent, replacement);\n return value;\n }\n let size = _BinaryenMemoryFillGetSize(parent);\n if (size == search) {\n _BinaryenMemoryFillSetSize(parent, replacement);\n return size;\n }\n break;\n }\n case ExpressionId.Pop: {\n break;\n }\n case ExpressionId.RefNull: {\n break;\n }\n case ExpressionId.RefIsNull: {\n let value = _BinaryenRefIsNullGetValue(parent);\n if (value == search) {\n _BinaryenRefIsNullSetValue(parent, replacement);\n return value;\n }\n break;\n }\n case ExpressionId.RefFunc: {\n break;\n }\n case ExpressionId.RefEq: {\n let left = _BinaryenRefEqGetLeft(parent);\n if (left == search) {\n _BinaryenRefEqSetLeft(parent, replacement);\n return left;\n }\n let right = _BinaryenRefEqGetRight(parent);\n if (right == search) {\n _BinaryenRefEqSetRight(parent, replacement);\n return right;\n }\n break;\n }\n case ExpressionId.Try: {\n let body = _BinaryenTryGetBody(parent);\n if (body == search) {\n _BinaryenTrySetBody(parent, replacement);\n return body;\n }\n let numCatchBodies = _BinaryenTryGetNumCatchBodies(parent);\n for (let i: Index = 0; i < numCatchBodies; ++i) {\n let catchBody = _BinaryenTryGetCatchBodyAt(parent, i);\n if (catchBody == search) {\n _BinaryenTrySetCatchBodyAt(parent, i, replacement);\n return catchBody;\n }\n }\n break;\n }\n case ExpressionId.Throw: {\n let numOperands = _BinaryenThrowGetNumOperands(parent);\n for (let i: Index = 0; i < numOperands; ++i) {\n let operand = _BinaryenThrowGetOperandAt(parent, i);\n if (operand == search) {\n _BinaryenThrowSetOperandAt(parent, i, replacement);\n return operand;\n }\n }\n break;\n }\n case ExpressionId.Rethrow: {\n break;\n }\n case ExpressionId.TupleMake: {\n let numOperands = _BinaryenTupleMakeGetNumOperands(parent);\n for (let i: Index = 0; i < numOperands; ++i) {\n let operand = _BinaryenTupleMakeGetOperandAt(parent, i);\n if (operand == search) {\n _BinaryenTupleMakeSetOperandAt(parent, i, replacement);\n return operand;\n }\n }\n break;\n }\n case ExpressionId.TupleExtract: {\n let tuple = _BinaryenTupleExtractGetTuple(parent);\n if (tuple == search) {\n _BinaryenTupleExtractSetTuple(parent, replacement);\n return tuple;\n }\n break;\n }\n case ExpressionId.RefI31: {\n let value = _BinaryenRefI31GetValue(parent);\n if (value == search) {\n _BinaryenRefI31SetValue(parent, replacement);\n return value;\n }\n break;\n }\n case ExpressionId.I31Get: {\n let i31Expr = _BinaryenI31GetGetI31(parent);\n if (i31Expr == search) {\n _BinaryenI31GetSetI31(parent, replacement);\n return i31Expr;\n }\n break;\n }\n case ExpressionId.CallRef: {\n let numOperands = _BinaryenCallRefGetNumOperands(parent);\n for (let i: Index = 0; i < numOperands; ++i) {\n let operand = _BinaryenCallRefGetOperandAt(parent, i);\n if (operand == search) {\n _BinaryenCallRefSetOperandAt(parent, i, replacement);\n return operand;\n }\n }\n let target = _BinaryenCallRefGetTarget(parent);\n if (target == search) {\n _BinaryenCallRefSetTarget(parent, replacement);\n return target;\n }\n break;\n }\n case ExpressionId.RefTest: {\n let ref = _BinaryenRefTestGetRef(parent);\n if (ref == search) {\n _BinaryenRefTestSetRef(parent, replacement);\n return ref;\n }\n break;\n }\n case ExpressionId.RefCast: {\n let ref = _BinaryenRefCastGetRef(parent);\n if (ref == search) {\n _BinaryenRefCastSetRef(parent, replacement);\n return ref;\n }\n break;\n }\n case ExpressionId.BrOn: {\n let ref = _BinaryenBrOnGetRef(parent);\n if (ref == search) {\n _BinaryenBrOnSetRef(parent, replacement);\n return ref;\n }\n break;\n }\n case ExpressionId.StructNew: {\n let numOperands = _BinaryenStructNewGetNumOperands(parent);\n for (let i: Index = 0; i < numOperands; ++i) {\n let operand = _BinaryenStructNewGetOperandAt(parent, i);\n if (operand == search) {\n _BinaryenStructNewSetOperandAt(parent, i, replacement);\n return operand;\n }\n }\n break;\n }\n case ExpressionId.StructGet: {\n let ref = _BinaryenStructGetGetRef(parent);\n if (ref == search) {\n _BinaryenStructGetSetRef(parent, replacement);\n return ref;\n }\n break;\n }\n case ExpressionId.StructSet: {\n let ref = _BinaryenStructSetGetRef(parent);\n if (ref == search) {\n _BinaryenStructSetSetRef(parent, replacement);\n return ref;\n }\n let value = _BinaryenStructSetGetValue(parent);\n if (value == search) {\n _BinaryenStructSetSetValue(parent, replacement);\n return value;\n }\n break;\n }\n case ExpressionId.ArrayNew: {\n let size = _BinaryenArrayNewGetSize(parent);\n if (size == search) {\n _BinaryenArrayNewSetSize(parent, replacement);\n return size;\n }\n let init = _BinaryenArrayNewGetInit(parent);\n if (init == search) {\n _BinaryenArrayNewSetInit(parent, replacement);\n return init;\n }\n break;\n }\n case ExpressionId.ArrayNewFixed: {\n let numValues = _BinaryenArrayNewFixedGetNumValues(parent);\n for (let i: Index = 0; i < numValues; ++i) {\n let value = _BinaryenArrayNewFixedGetValueAt(parent, i);\n if (value == search) {\n _BinaryenArrayNewFixedSetValueAt(parent, i, replacement);\n return value;\n }\n }\n break;\n }\n case ExpressionId.ArrayGet: {\n let ref = _BinaryenArrayGetGetRef(parent);\n if (ref == search) {\n _BinaryenArrayGetSetRef(parent, replacement);\n return ref;\n }\n let index = _BinaryenArrayGetGetIndex(parent);\n if (index == search) {\n _BinaryenArrayGetSetIndex(parent, replacement);\n return index;\n }\n break;\n }\n case ExpressionId.ArraySet: {\n let ref = _BinaryenArraySetGetRef(parent);\n if (ref == search) {\n _BinaryenArraySetSetRef(parent, replacement);\n return ref;\n }\n let index = _BinaryenArraySetGetIndex(parent);\n if (index == search) {\n _BinaryenArraySetSetIndex(parent, replacement);\n return index;\n }\n let value = _BinaryenArraySetGetValue(parent);\n if (value == search) {\n _BinaryenArraySetSetValue(parent, replacement);\n return value;\n }\n break;\n }\n case ExpressionId.ArrayLen: {\n let ref = _BinaryenArrayLenGetRef(parent);\n if (ref == search) {\n _BinaryenArrayLenSetRef(parent, replacement);\n return ref;\n }\n break;\n }\n case ExpressionId.ArrayCopy: {\n let destRef = _BinaryenArrayCopyGetDestRef(parent);\n if (destRef == search) {\n _BinaryenArrayCopySetDestRef(parent, replacement);\n return destRef;\n }\n let destIndex = _BinaryenArrayCopyGetDestIndex(parent);\n if (destIndex == search) {\n _BinaryenArrayCopySetDestIndex(parent, replacement);\n return destIndex;\n }\n let srcRef = _BinaryenArrayCopyGetSrcRef(parent);\n if (srcRef == search) {\n _BinaryenArrayCopySetSrcRef(parent, replacement);\n return srcRef;\n }\n let srcIndex = _BinaryenArrayCopyGetSrcIndex(parent);\n if (srcIndex == search) {\n _BinaryenArrayCopySetSrcIndex(parent, replacement);\n return srcIndex;\n }\n let length = _BinaryenArrayCopyGetLength(parent);\n if (length == search) {\n _BinaryenArrayCopySetLength(parent, replacement);\n return length;\n }\n break;\n }\n case ExpressionId.RefAs: {\n let value = _BinaryenRefAsGetValue(parent);\n if (value == search) {\n _BinaryenRefAsSetValue(parent, replacement);\n return value;\n }\n break;\n }\n case ExpressionId.StringNew: {\n let ptr = _BinaryenStringNewGetPtr(parent);\n if (ptr == search) {\n _BinaryenStringNewSetPtr(parent, replacement);\n return ptr;\n }\n let length = _BinaryenStringNewGetLength(parent);\n if (length == search) {\n _BinaryenStringNewSetLength(parent, replacement);\n return length;\n }\n let start = _BinaryenStringNewGetStart(parent);\n if (start == search) {\n _BinaryenStringNewSetStart(parent, replacement);\n return start;\n }\n let end = _BinaryenStringNewGetEnd(parent);\n if (end == search) {\n _BinaryenStringNewSetEnd(parent, replacement);\n return end;\n }\n break;\n }\n case ExpressionId.StringConst: {\n break;\n }\n case ExpressionId.StringMeasure: {\n let ref = _BinaryenStringMeasureGetRef(parent);\n if (ref == search) {\n _BinaryenStringMeasureSetRef(parent, replacement);\n return ref;\n }\n break;\n }\n case ExpressionId.StringEncode: {\n let ref = _BinaryenStringEncodeGetRef(parent);\n if (ref == search) {\n _BinaryenStringEncodeSetRef(parent, replacement);\n return ref;\n }\n let ptr = _BinaryenStringEncodeGetPtr(parent);\n if (ptr == search) {\n _BinaryenStringEncodeSetPtr(parent, replacement);\n return ptr;\n }\n let start = _BinaryenStringEncodeGetStart(parent);\n if (start == search) {\n _BinaryenStringEncodeSetStart(parent, replacement);\n return start;\n }\n break;\n }\n case ExpressionId.StringConcat: {\n let left = _BinaryenStringConcatGetLeft(parent);\n if (left == search) {\n _BinaryenStringConcatSetLeft(parent, replacement);\n return left;\n }\n let right = _BinaryenStringConcatGetRight(parent);\n if (right == search) {\n _BinaryenStringConcatSetRight(parent, replacement);\n return right;\n }\n break;\n }\n case ExpressionId.StringEq: {\n let left = _BinaryenStringEqGetLeft(parent);\n if (left == search) {\n _BinaryenStringEqSetLeft(parent, replacement);\n return left;\n }\n let right = _BinaryenStringEqGetRight(parent);\n if (right == search) {\n _BinaryenStringEqSetRight(parent, replacement);\n return right;\n }\n break;\n }\n case ExpressionId.StringAs: {\n let ref = _BinaryenStringAsGetRef(parent);\n if (ref == search) {\n _BinaryenStringAsSetRef(parent, replacement);\n return ref;\n }\n break;\n }\n case ExpressionId.StringWTF8Advance: {\n let ref = _BinaryenStringWTF8AdvanceGetRef(parent);\n if (ref == search) {\n _BinaryenStringWTF8AdvanceSetRef(parent, replacement);\n return ref;\n }\n let pos = _BinaryenStringWTF8AdvanceGetPos(parent);\n if (pos == search) {\n _BinaryenStringWTF8AdvanceSetPos(parent, replacement);\n return pos;\n }\n let bytes = _BinaryenStringWTF8AdvanceGetBytes(parent);\n if (bytes == search) {\n _BinaryenStringWTF8AdvanceSetBytes(parent, replacement);\n return bytes;\n }\n break;\n }\n case ExpressionId.StringWTF16Get: {\n let ref = _BinaryenStringWTF16GetGetRef(parent);\n if (ref == search) {\n _BinaryenStringWTF16GetSetRef(parent, replacement);\n return ref;\n }\n let pos = _BinaryenStringWTF16GetGetPos(parent);\n if (pos == search) {\n _BinaryenStringWTF16GetSetPos(parent, replacement);\n return pos;\n }\n break;\n }\n case ExpressionId.StringIterNext: {\n let ref = _BinaryenStringIterNextGetRef(parent);\n if (ref == search) {\n _BinaryenStringIterNextSetRef(parent, replacement);\n return ref;\n }\n break;\n }\n case ExpressionId.StringIterMove: {\n let ref = _BinaryenStringIterMoveGetRef(parent);\n if (ref == search) {\n _BinaryenStringIterMoveSetRef(parent, replacement);\n return ref;\n }\n let num = _BinaryenStringIterMoveGetNum(parent);\n if (num == search) {\n _BinaryenStringIterMoveSetNum(parent, replacement);\n return num;\n }\n break;\n }\n case ExpressionId.StringSliceWTF: {\n let ref = _BinaryenStringSliceWTFGetRef(parent);\n if (ref == search) {\n _BinaryenStringSliceWTFSetRef(parent, replacement);\n return ref;\n }\n let start = _BinaryenStringSliceWTFGetStart(parent);\n if (start == search) {\n _BinaryenStringSliceWTFSetStart(parent, replacement);\n return start;\n }\n let end = _BinaryenStringSliceWTFGetEnd(parent);\n if (end == search) {\n _BinaryenStringSliceWTFSetEnd(parent, replacement);\n return end;\n }\n break;\n }\n case ExpressionId.StringSliceIter: {\n let ref = _BinaryenStringSliceIterGetRef(parent);\n if (ref == search) {\n _BinaryenStringSliceIterSetRef(parent, replacement);\n return ref;\n }\n let num = _BinaryenStringSliceIterGetNum(parent);\n if (num == search) {\n _BinaryenStringSliceIterSetNum(parent, replacement);\n return num;\n }\n break;\n }\n default: throw new Error(\"unexpected expression id\");\n }\n return 0;\n}\n", "/**\n * @fileoverview A lightweight store instrumentation pass.\n * \n * Can be used to find rogue stores to protected memory addresses like object\n * headers or similar, without going overboard with instrumentation. Also\n * passes a flag whether a store originates within the runtime or other code.\n * \n * @license Apache-2.0\n */\n\nimport {\n Pass\n} from \"./pass\";\n\nimport {\n Compiler\n} from \"../compiler\";\n\nimport {\n createType,\n ExpressionRef,\n TypeRef\n} from \"../module\";\n\nimport {\n _BinaryenFunctionGetName,\n _BinaryenStoreGetBytes,\n _BinaryenStoreGetOffset,\n _BinaryenStoreGetPtr,\n _BinaryenStoreSetPtr\n} from \"../glue/binaryen\";\n\n/** Instruments stores to also call an import. */\nexport class RtraceMemory extends Pass {\n /** Whether we've seen any stores. */\n seenStores: bool = false;\n /** Target pointer type. */\n ptrType: TypeRef;\n\n constructor(compiler: Compiler) {\n super(compiler.module);\n this.ptrType = compiler.options.sizeTypeRef;\n }\n\n checkRT(): bool {\n let functionName = this.module.readStringCached(_BinaryenFunctionGetName(this.currentFunction))!;\n return functionName.startsWith(\"~lib/rt/\");\n }\n\n /** @override */\n visitStore(store: ExpressionRef): void {\n let module = this.module;\n let ptr = _BinaryenStoreGetPtr(store);\n let offset = _BinaryenStoreGetOffset(store);\n let bytes = _BinaryenStoreGetBytes(store);\n // onstore(ptr: usize, offset: i32, bytes: i32, isRT: bool) -> ptr\n _BinaryenStoreSetPtr(store,\n module.call(\"~onstore\", [\n ptr,\n module.i32(offset),\n module.i32(bytes),\n module.i32(i32(this.checkRT()))\n ], this.ptrType)\n );\n this.seenStores = true;\n }\n\n // TODO: MemoryFill, Atomics\n\n /** @override */\n walkModule(): void {\n super.walkModule();\n if (this.seenStores) {\n this.module.addFunctionImport(\"~onstore\", \"rtrace\", \"onstore\",\n createType([ this.ptrType, TypeRef.I32, TypeRef.I32, TypeRef.I32 ]),\n this.ptrType\n );\n }\n }\n}\n", "/**\n * @fileoverview Shadow stack instrumentation for a precise GC.\n *\n * Instruments function arguments and local assignments marked with a 'tostack'\n * call to also do stores to a shadow stack of managed values only.\n *\n * Consider a simple call to a function looking like the following, taking\n * managed arguments, plus assigning managed values to locals:\n *\n * function foo(a: Obj, b: Obj): Obj {\n * let c = __tostack(a) // slot 2\n * __collect()\n * return b\n * }\n *\n * foo(__tostack(a), __tostack(b)) // slot 0, 1\n *\n * At the call to `__collect()` the 32-bit stack frame of the function is:\n *\n * Offset | Value stored\n * -------|----------------------------\n * 0 | First managed argument 'a'\n * 4 | Second managed argument 'b'\n * -------|----------------------------\n * 8 | First managed local 'c'\n *\n * We are splitting the frame in two halves as annotated since both halves are\n * only known separately for indirect calls, with the first half becoming an\n * extension of the calling function's stack frame by means of treating the\n * arguments as if these were locals beyond the caller's `numLocals`. Function\n * arguments stay a bit longer on the stack than usually, but we also don't have\n * to modify the stack pointer pre-call at all this way. The caller's amended\n * stack frame when assuming one managed local may look like this:\n *\n * Offset | Value stored\n * -------|----------------------------\n * 0 | First managed local '?'\n * 4 | Extended with first managed argument 'a'\n * 8 | Extended with second managed argument 'b'\n *\n * with the callee's stack frame becoming just:\n *\n * Offset | Value stored\n * -------|----------------------------\n * 0 | First managed local 'c'\n *\n * Instrumentation added below looks about like the following, with the stack\n * growing downwards and 't' and 'r' being new temporary locals:\n *\n * // callee frameSize = 1 * sizeof()\n * function foo(a: usize, b: usize): usize {\n * memory.fill(__stack_pointer -= frameSize, 0, frameSize)\n * store(__stack_pointer, c = a, 0 * sizeof())\n * __collect()\n * let r = b\n * __stack_pointer += frameSize\n * return r\n * }\n *\n * // caller frameSize = (numLocalSlots + 2 [by extension]) * sizeof()\n * (\n * r = foo(\n * ( t = a,\n * store(__stack_pointer, t, (numLocalSlots + 0) * sizeof()),\n * t ),\n * ( t = b,\n * store(__stack_pointer, t, (numLocalSlots + 1) * sizeof()),\n * t )\n * ),\n * r\n * )\n *\n * Also note that we have to `memory.fill` the second half because the first\n * assignment to a local may happen at a later point within the function. The\n * invariant we need to maintain for a precise GC is that it only sees zeroes\n * or valid pointers, but never an invalid pointer left on the stack earlier.\n * Since most frames are small, we unroll a sequence of `store`s up to a frame\n * size of 16 bytes, and `memory.fill`, if available, beyond.\n *\n * @license Apache-2.0\n */\n\nimport {\n Pass\n} from \"./pass\";\n\nimport {\n _BinaryenAddFunction,\n _BinaryenAddFunctionExport,\n _BinaryenCallGetNumOperands,\n _BinaryenCallGetOperandAt,\n _BinaryenCallGetTarget,\n _BinaryenCallIndirectGetNumOperands,\n _BinaryenCallIndirectGetOperandAt,\n _BinaryenCallIndirectSetOperandAt,\n _BinaryenCallSetOperandAt,\n _BinaryenExportGetKind,\n _BinaryenExportGetName,\n _BinaryenExportGetValue,\n _BinaryenExpressionGetId,\n _BinaryenExpressionGetType,\n _BinaryenFunctionGetBody,\n _BinaryenFunctionGetName,\n _BinaryenFunctionGetNumLocals,\n _BinaryenFunctionGetNumVars,\n _BinaryenFunctionGetParams,\n _BinaryenFunctionGetResults,\n _BinaryenFunctionGetVar,\n _BinaryenFunctionSetBody,\n _BinaryenGetExport,\n _BinaryenGetFunction,\n _BinaryenLocalSetGetIndex,\n _BinaryenLocalSetGetValue,\n _BinaryenLocalSetIsTee,\n _BinaryenLocalSetSetValue,\n _BinaryenRemoveExport,\n _BinaryenRemoveFunction,\n _BinaryenReturnGetValue,\n _BinaryenReturnSetValue,\n _free\n} from \"../glue/binaryen\";\n\nimport {\n ExpressionId,\n ExpressionRef,\n FunctionRef,\n Index,\n BinaryOp,\n TypeRef,\n allocPtrArray,\n Module,\n ExternalKind,\n ExportRef,\n expandType,\n isConstZero,\n} from \"../module\";\n\nimport {\n Compiler,\n Options\n} from \"../compiler\";\n\nimport {\n Feature\n} from \"../common\";\n\nimport {\n BuiltinNames\n} from \"../builtins\";\n\nimport {\n Source\n} from \"../ast\";\n\ntype LocalIndex = Index;\ntype SlotIndex = Index;\ntype SlotMap = Map;\ntype TempMap = Map;\n\n/** Attempts to match the `__tostack(value)` pattern. Returns `value` if a match, otherwise `0`. */\nfunction matchPattern(module: Module, expr: ExpressionRef): ExpressionRef {\n let isFound = false;\n while (\n _BinaryenExpressionGetId(expr) == ExpressionId.Call &&\n module.readStringCached(_BinaryenCallGetTarget(expr)) == BuiltinNames.tostack\n ) {\n assert(_BinaryenCallGetNumOperands(expr) == 1);\n expr = _BinaryenCallGetOperandAt(expr, 0);\n isFound = true;\n }\n if (!isFound) return 0;\n return expr;\n}\n\n/** Tests whether a `value` matched by `matchTostack` needs a slot. */\nfunction needsSlot(value: ExpressionRef): bool {\n switch (_BinaryenExpressionGetId(value)) {\n // no need to stack null pointers\n case ExpressionId.Const: return !isConstZero(value);\n // note: can't omit a slot when assigning from another local since the other\n // local might have shorter lifetime and become reassigned, say in a loop,\n // then no longer holding on to the previous value in its stack slot.\n }\n return true;\n}\n\n/** Instruments a module with a shadow stack for precise GC. */\nexport class ShadowStackPass extends Pass {\n /** Stack frame slots, per function. */\n slotMaps: Map = new Map();\n /** Temporary locals, per function. */\n tempMaps: Map = new Map();\n /** Exports (with managed operands) map. */\n exportMap: Map = new Map();\n /** Compiler reference. */\n compiler: Compiler;\n\n constructor(compiler: Compiler) {\n super(compiler.module);\n this.compiler = compiler;\n }\n\n /** Compiler options. */\n get options(): Options { return this.compiler.options; }\n /** Target pointer type. */\n get ptrType(): TypeRef { return this.options.sizeTypeRef; }\n /** Target pointer size. */\n get ptrSize(): i32 { return this.ptrType == TypeRef.I64 ? 8 : 4; }\n /** Target pointer addition operation. */\n get ptrBinaryAdd(): BinaryOp { return this.ptrType == TypeRef.I64 ? BinaryOp.AddI64 : BinaryOp.AddI32; }\n /** Target pointer subtraction operation. */\n get ptrBinarySub(): BinaryOp { return this.ptrType == TypeRef.I64 ? BinaryOp.SubI64 : BinaryOp.SubI32; }\n\n /** Gets a constant with the specified value of the target pointer type. */\n ptrConst(value: i32): ExpressionRef {\n return this.ptrType == TypeRef.I64\n ? this.module.i64(value)\n : this.module.i32(value);\n }\n\n /** Notes the presence of a slot for the specified (imaginary) local, returning the slot index. */\n noteSlot(func: FunctionRef, localIndex: Index): i32 {\n let slotMap: SlotMap;\n if (this.slotMaps.has(func)) {\n slotMap = changetype(this.slotMaps.get(func));\n if (slotMap.has(localIndex)) {\n return changetype(slotMap.get(localIndex));\n }\n } else {\n slotMap = new Map();\n this.slotMaps.set(func, slotMap);\n }\n let slotIndex = slotMap.size;\n slotMap.set(localIndex, slotIndex);\n return slotIndex;\n }\n\n /** Notes the presence of an exported function taking managed operands. */\n noteExport(name: string, managedOperandIndices: i32[]): void {\n if (!managedOperandIndices.length) return;\n this.exportMap.set(name, managedOperandIndices);\n }\n\n /** Gets a shared temporary local of the given type in the specified functions. */\n getSharedTemp(func: FunctionRef, type: TypeRef): Index {\n let tempMap: TempMap;\n if (this.tempMaps.has(func)) {\n tempMap = changetype(this.tempMaps.get(func));\n if (tempMap.has(type)) {\n return changetype(tempMap.get(type));\n }\n } else {\n tempMap = new Map();\n this.tempMaps.set(func, tempMap);\n }\n let numLocals = _BinaryenFunctionGetNumLocals(func);\n let localIndex = numLocals + tempMap.size;\n tempMap.set(type, localIndex);\n return localIndex;\n }\n\n /** Makes an expression modifying the stack pointer by the given offset. */\n makeStackOffset(offset: i32): ExpressionRef {\n assert(offset != 0);\n let module = this.module;\n let expr = module.global_set(BuiltinNames.stack_pointer,\n module.binary(offset >= 0 ? this.ptrBinaryAdd : this.ptrBinarySub,\n module.global_get(BuiltinNames.stack_pointer, this.ptrType),\n this.ptrConst(abs(offset))\n )\n );\n if (offset > 0) return expr;\n return module.block(null, [\n expr,\n this.makeStackCheck()\n ], TypeRef.None);\n }\n\n /** Makes a sequence of expressions zeroing the stack frame. */\n makeStackFill(frameSize: i32, stmts: ExpressionRef[]): void {\n assert(frameSize > 0);\n let module = this.module;\n if (this.options.hasFeature(Feature.BulkMemory) && frameSize > 16) {\n stmts.push(\n module.memory_fill(\n module.global_get(BuiltinNames.stack_pointer, this.ptrType),\n module.i32(0), // TODO: Wasm64 also i32?\n this.ptrConst(frameSize)\n )\n );\n } else {\n let remain = frameSize;\n while (remain >= 8) {\n // store(__stack_pointer, 0, frameSize - remain)\n stmts.push(\n module.store(8,\n module.global_get(BuiltinNames.stack_pointer, this.ptrType),\n module.i64(0),\n TypeRef.I64,\n frameSize - remain\n )\n );\n remain -= 8;\n }\n if (remain) {\n assert(remain == 4);\n // store(__stack_pointer, 0, frameSize - remain)\n stmts.push(\n module.store(4,\n module.global_get(BuiltinNames.stack_pointer, this.ptrType),\n module.i32(0),\n TypeRef.I32,\n frameSize - remain\n )\n );\n }\n }\n }\n\n private hasStackCheckFunction: bool = false;\n\n /** Makes a check that the current stack pointer is valid. */\n makeStackCheck(): ExpressionRef {\n let module = this.module;\n if (!this.hasStackCheckFunction) {\n this.hasStackCheckFunction = true;\n module.addFunction(\"~stack_check\", TypeRef.None, TypeRef.None, null,\n module.if(\n module.binary(BinaryOp.LtI32,\n module.global_get(BuiltinNames.stack_pointer, this.ptrType),\n module.global_get(BuiltinNames.data_end, this.ptrType)\n ),\n this.compiler.makeStaticAbort(\n this.compiler.ensureStaticString(\"stack overflow\"),\n Source.native\n )\n )\n );\n }\n return module.call(\"~stack_check\", null, TypeRef.None);\n }\n\n private updateCallOperands(operands: ExpressionRef[]): i32 {\n let module = this.module;\n let numSlots = 0;\n for (let i = 0, k = operands.length; i < k; ++i) {\n let operand = operands[i];\n let match = matchPattern(module, operand);\n if (!match) continue;\n if (!needsSlot(match)) {\n operands[i] = match;\n continue;\n }\n let currentFunction = this.currentFunction;\n let numLocals = _BinaryenFunctionGetNumLocals(currentFunction);\n let slotIndex = this.noteSlot(currentFunction, numLocals + this.callSlotOffset + numSlots);\n let temp = this.getSharedTemp(currentFunction, this.ptrType);\n let stmts = new Array();\n // t = value\n stmts.push(\n module.local_set(temp, match, false)\n );\n // store(__stack_pointer, t, slotIndex * ptrSize)\n stmts.push(\n module.store(this.ptrSize,\n module.global_get(BuiltinNames.stack_pointer, this.ptrType),\n module.local_get(temp, this.ptrType),\n this.ptrType, slotIndex * this.ptrSize\n )\n );\n // -> t\n stmts.push(\n module.local_get(temp, this.ptrType)\n );\n operands[i] = module.block(null, stmts, this.ptrType);\n ++numSlots;\n }\n return numSlots;\n }\n\n /** Slot offset accounting for nested calls. */\n private callSlotOffset: i32 = 0;\n /** Slot offset stack in nested calls. */\n private callSlotStack: i32[] = new Array();\n\n /** @override */\n visitCallPre(call: ExpressionRef): void {\n let numOperands = _BinaryenCallGetNumOperands(call);\n let operands = new Array(numOperands);\n for (let i: Index = 0; i < numOperands; ++i) {\n operands[i] = _BinaryenCallGetOperandAt(call, i);\n }\n let numSlots = this.updateCallOperands(operands);\n for (let i = 0, k = operands.length; i < k; ++i) {\n _BinaryenCallSetOperandAt(call, i, operands[i]);\n }\n if (numSlots) {\n // Reserve these slots for us so nested calls use their own\n this.callSlotOffset += numSlots;\n }\n this.callSlotStack.push(numSlots);\n }\n\n /** @override */\n visitCall(call: ExpressionRef): void {\n let numSlots = this.callSlotStack.pop();\n if (numSlots) this.callSlotOffset -= numSlots;\n }\n\n /** @override */\n visitCallIndirectPre(callIndirect: ExpressionRef): void {\n let numOperands = _BinaryenCallIndirectGetNumOperands(callIndirect);\n let operands = new Array(numOperands);\n for (let i: Index = 0; i < numOperands; ++i) {\n operands[i] = _BinaryenCallIndirectGetOperandAt(callIndirect, i);\n }\n let numSlots = this.updateCallOperands(operands);\n for (let i = 0, k = operands.length; i < k; ++i) {\n _BinaryenCallIndirectSetOperandAt(callIndirect, i, operands[i]);\n }\n if (numSlots) {\n // Reserve these slots for us so nested calls use their own\n this.callSlotOffset += numSlots;\n }\n this.callSlotStack.push(numSlots);\n }\n\n /** @override */\n visitCallIndirect(callIndirect: ExpressionRef): void {\n let numSlots = this.callSlotStack.pop();\n if (numSlots) this.callSlotOffset -= numSlots;\n }\n\n /** @override */\n visitLocalSet(localSet: ExpressionRef): void {\n let module = this.module;\n let value = _BinaryenLocalSetGetValue(localSet);\n let match = matchPattern(module, value);\n if (!match) return;\n if (!needsSlot(match)) {\n _BinaryenLocalSetSetValue(localSet, match);\n return;\n }\n let index = _BinaryenLocalSetGetIndex(localSet);\n let slotIndex = this.noteSlot(this.currentFunction, index);\n let stmts = new Array();\n // store(__stack_pointer, local = match, slotIndex * ptrSize)\n stmts.push(\n module.store(this.ptrSize,\n module.global_get(BuiltinNames.stack_pointer, this.ptrType),\n module.local_tee(index, match, false),\n this.ptrType, slotIndex * this.ptrSize\n )\n );\n if (_BinaryenLocalSetIsTee(localSet)) {\n // -> local\n stmts.push(\n module.local_get(index, this.ptrType)\n );\n this.replaceCurrent(module.flatten(stmts, this.ptrType));\n } else {\n this.replaceCurrent(module.flatten(stmts, TypeRef.None));\n }\n }\n\n /** Updates a function with additional locals etc. */\n updateFunction(funcRef: FunctionRef): void {\n let name = _BinaryenFunctionGetName(funcRef);\n let params = _BinaryenFunctionGetParams(funcRef);\n let results = _BinaryenFunctionGetResults(funcRef);\n let body = assert(_BinaryenFunctionGetBody(funcRef));\n let numVars = _BinaryenFunctionGetNumVars(funcRef);\n let vars = new Array();\n for (let i: Index = 0; i < numVars; ++i) {\n vars[i] = _BinaryenFunctionGetVar(funcRef, i);\n }\n let tempMaps = this.tempMaps;\n if (tempMaps.has(funcRef)) {\n let tempMap = changetype(tempMaps.get(funcRef));\n for (let _keys = Map_keys(tempMap), i = 0, k = _keys.length; i < k; ++i) {\n vars.push(_keys[i]);\n }\n }\n let moduleRef = this.module.ref;\n _BinaryenRemoveFunction(moduleRef, name);\n let cArr = allocPtrArray(vars);\n let newFuncRef = _BinaryenAddFunction(moduleRef, name, params, results, cArr, vars.length, body);\n if (this.options.sourceMap || this.options.debugInfo) {\n let func = this.compiler.program.searchFunctionByRef(newFuncRef);\n if (func) func.addDebugInfo(this.module, newFuncRef);\n }\n _free(cArr);\n }\n\n /** Updates a function export taking managed arguments. */\n updateExport(exportRef: ExportRef, managedOperandIndices: i32[]): void {\n let module = this.module;\n let moduleRef = module.ref;\n assert(_BinaryenExportGetKind(exportRef) == ExternalKind.Function);\n\n let internalNameRef = _BinaryenExportGetValue(exportRef);\n let internalName = module.readStringCached(internalNameRef)!;\n let externalNameRef = _BinaryenExportGetName(exportRef);\n let funcRef = _BinaryenGetFunction(moduleRef, internalNameRef);\n let params = _BinaryenFunctionGetParams(funcRef);\n let paramTypes = expandType(params);\n let numParams = paramTypes.length;\n let results = _BinaryenFunctionGetResults(funcRef);\n let numLocals = numParams;\n let vars = new Array();\n let numSlots = assert(managedOperandIndices.length);\n let frameSize = numSlots * this.ptrSize;\n let wrapperName = \"export:\" + internalName;\n let wrapperNameRef = module.allocStringCached(wrapperName);\n\n if (_BinaryenGetFunction(moduleRef, wrapperNameRef) == 0) {\n let stmts = new Array();\n // __stack_pointer -= frameSize\n stmts.push(\n this.makeStackOffset(-frameSize)\n );\n for (let slotIndex = 0; slotIndex < numSlots; ++slotIndex) {\n // store(__stack_pointer, $local, slotIndex * ptrSize)\n stmts.push(\n module.store(this.ptrSize,\n module.global_get(BuiltinNames.stack_pointer, this.ptrType),\n module.local_get(managedOperandIndices[slotIndex], this.ptrType),\n this.ptrType, slotIndex * this.ptrSize\n )\n );\n }\n let forwardedOperands = new Array(numParams);\n for (let i = 0; i < numParams; ++i) {\n forwardedOperands[i] = module.local_get(i, paramTypes[i]);\n }\n if (results != TypeRef.None) {\n let tempIndex = numLocals++;\n vars.push(results);\n // t = original(...)\n stmts.push(\n module.local_set(tempIndex,\n module.call(internalName, forwardedOperands, results),\n false // internal\n )\n );\n // __stack_pointer += frameSize\n stmts.push(\n this.makeStackOffset(+frameSize)\n );\n // -> t\n stmts.push(\n module.local_get(tempIndex, results)\n );\n } else {\n // original(...)\n stmts.push(\n module.call(internalName, forwardedOperands, results)\n );\n // __stack_pointer += frameSize\n stmts.push(\n this.makeStackOffset(+frameSize)\n );\n }\n let cArr = allocPtrArray(vars);\n _BinaryenAddFunction(moduleRef, wrapperNameRef, params, results, cArr, vars.length,\n module.block(null, stmts, results)\n );\n _free(cArr);\n }\n _BinaryenRemoveExport(moduleRef, externalNameRef);\n _BinaryenAddFunctionExport(moduleRef, wrapperNameRef, externalNameRef);\n }\n\n /** @override */\n walkModule(): void {\n // Run the pass normally\n super.walkModule();\n\n // Instrument returns in functions utilizing stack slots\n let module = this.module;\n let instrumentReturns = new InstrumentReturns(this);\n for (let _keys = Map_keys(this.slotMaps), i = 0, k = _keys.length; i < k; ++i) {\n let func = _keys[i];\n let slotMap = changetype(this.slotMaps.get(func));\n let frameSize = slotMap.size * this.ptrSize;\n\n // Instrument function returns\n instrumentReturns.frameSize = frameSize;\n instrumentReturns.walkFunction(func);\n\n // Instrument function entry\n let stmts = new Array();\n // __stack_pointer -= frameSize\n stmts.push(\n this.makeStackOffset(-frameSize)\n );\n // memory.fill(__stack_pointer, 0, frameSize)\n this.makeStackFill(frameSize, stmts);\n\n // Handle implicit return\n let body = _BinaryenFunctionGetBody(func);\n let bodyType = _BinaryenExpressionGetType(body);\n if (bodyType == TypeRef.Unreachable) {\n // body\n stmts.push(\n body\n );\n } else if (bodyType == TypeRef.None) {\n // body\n stmts.push(\n body\n );\n // __stack_pointer += frameSize\n stmts.push(\n this.makeStackOffset(+frameSize)\n );\n } else {\n let temp = this.getSharedTemp(func, bodyType);\n // t = body\n stmts.push(\n module.local_set(temp, body, false)\n );\n // __stack_pointer += frameSize\n stmts.push(\n this.makeStackOffset(+frameSize)\n );\n // -> t\n stmts.push(\n module.local_get(temp, bodyType)\n );\n }\n _BinaryenFunctionSetBody(func, module.flatten(stmts, bodyType));\n }\n\n // Update functions we added more locals to\n // TODO: _BinaryenFunctionAddVar ?\n for (let _keys = Map_keys(this.tempMaps), i = 0, k = _keys.length; i < k; ++i) {\n this.updateFunction(_keys[i]);\n }\n\n // Update exports taking managed arguments\n let exportMap = this.exportMap;\n for (let _keys = Map_keys(exportMap), i = 0, k = _keys.length; i < k; ++i) {\n let exportName = _keys[i];\n let exportRef = _BinaryenGetExport(module.ref, module.allocStringCached(exportName));\n let managedOperandIndices = changetype(exportMap.get(exportName));\n this.updateExport(exportRef, managedOperandIndices);\n }\n }\n}\n\n/** Companion pass instrumenting `return` statements to restore the stack frame. */\nclass InstrumentReturns extends Pass {\n /** Parent pass. */\n parentPass: ShadowStackPass;\n /** Frame size of the current function being processed. */\n frameSize: i32 = 0;\n\n constructor(shadowStack: ShadowStackPass) {\n super(shadowStack.module);\n this.parentPass = shadowStack;\n }\n\n /** @override */\n visitReturn(ret: ExpressionRef): void {\n assert(this.frameSize);\n let module = this.module;\n let value = _BinaryenReturnGetValue(ret);\n let stmts = new Array();\n if (value) {\n let returnType = _BinaryenExpressionGetType(value);\n if (returnType == TypeRef.Unreachable) return;\n let temp = this.parentPass.getSharedTemp(this.currentFunction, returnType);\n // t = value\n stmts.push(\n module.local_set(temp, value, false)\n );\n // __stack_pointer += frameSize\n stmts.push(\n this.parentPass.makeStackOffset(+this.frameSize)\n );\n // return t\n _BinaryenReturnSetValue(ret, module.local_get(temp, returnType));\n } else {\n // __stack_pointer += frameSize\n stmts.push(\n this.parentPass.makeStackOffset(+this.frameSize)\n );\n // return\n }\n stmts.push(\n ret\n );\n this.replaceCurrent(module.flatten(stmts, TypeRef.Unreachable));\n }\n}\n", "import {\n SourceKind\n} from \"../ast\";\n\nimport {\n CommonFlags\n} from \"../common\";\n\nimport {\n ClassPrototype,\n Element,\n ElementKind,\n Function,\n Enum,\n Class,\n Interface,\n File,\n FunctionPrototype,\n Global,\n Program,\n Property,\n PropertyPrototype,\n InterfacePrototype\n} from \"../program\";\n\n/** Walker base class. */\nexport abstract class ExportsWalker {\n\n /** Program reference. */\n program: Program;\n /** Whether to include private members */\n includePrivate: bool;\n /** Already seen elements. */\n seen: Map = new Map();\n\n /** Constructs a new Element walker. */\n constructor(program: Program, includePrivate: bool = false) {\n this.program = program;\n this.includePrivate = includePrivate;\n }\n\n /** Walks all elements and calls the respective handlers. */\n walk(): void {\n // TODO: for (let file of this.program.filesByName.values()) {\n for (let _values = Map_values(this.program.filesByName), i = 0, k = _values.length; i < k; ++i) {\n let file = unchecked(_values[i]);\n if (file.source.sourceKind == SourceKind.UserEntry) this.visitFile(file);\n }\n }\n\n /** Visits all exported elements of a file. */\n visitFile(file: File): void {\n let exports = file.exports;\n if (exports) {\n // TODO: for (let [memberName, member] of exports) {\n for (let _keys = Map_keys(exports), i = 0, k = _keys.length; i < k; ++i) {\n let memberName = unchecked(_keys[i]);\n let member = assert(exports.get(memberName));\n this.visitElement(memberName, member);\n }\n }\n let exportsStar = file.exportsStar;\n if (exportsStar) {\n for (let i = 0, k = exportsStar.length; i < k; ++i) {\n let exportStar = unchecked(exportsStar[i]);\n this.visitFile(exportStar);\n }\n }\n }\n\n /** Visits an element.*/\n visitElement(name: string, element: Element): void {\n if (element.is(CommonFlags.Private) && !this.includePrivate) return;\n let seen = this.seen;\n if (!element.is(CommonFlags.Instance) && seen.has(element)) {\n this.visitAlias(name, element, assert(seen.get(element)));\n return;\n }\n seen.set(element, name);\n switch (element.kind) {\n case ElementKind.Global: {\n if (element.is(CommonFlags.Compiled)) this.visitGlobal(name, element);\n break;\n }\n case ElementKind.Enum: {\n if (element.is(CommonFlags.Compiled)) this.visitEnum(name, element);\n break;\n }\n case ElementKind.EnumValue: break; // handled by visitEnum\n case ElementKind.FunctionPrototype: {\n this.visitFunctionInstances(name, element);\n break;\n }\n case ElementKind.ClassPrototype: {\n this.visitClassInstances(name, element);\n break;\n }\n case ElementKind.InterfacePrototype: {\n this.visitInterfaceInstances(name, element);\n break;\n }\n case ElementKind.PropertyPrototype: {\n let propertyInstance = (element).instance;\n if (!propertyInstance) break;\n element = propertyInstance;\n // fall-through\n }\n case ElementKind.Property: {\n let propertyInstance = element;\n let getterInstance = propertyInstance.getterInstance;\n if (getterInstance) this.visitFunction(name, getterInstance);\n let setterInstance = propertyInstance.setterInstance;\n if (setterInstance) this.visitFunction(name, setterInstance);\n break;\n }\n case ElementKind.Namespace: {\n if (hasCompiledMember(element)) this.visitNamespace(name, element);\n break;\n }\n case ElementKind.TypeDefinition:\n case ElementKind.IndexSignature: break;\n default: {\n // Not (directly) reachable exports:\n // File, Local, Function, Class, Interface\n assert(false);\n }\n }\n }\n\n private visitFunctionInstances(name: string, element: FunctionPrototype): void {\n let instances = element.instances;\n if (instances) {\n // TODO: for (let instance of instances.values()) {\n for (let _values = Map_values(instances), i = 0, k = _values.length; i < k; ++i) {\n let instance = unchecked(_values[i]);\n if (instance.is(CommonFlags.Compiled)) this.visitFunction(name, instance);\n }\n }\n }\n\n private visitClassInstances(name: string, element: ClassPrototype): void {\n let instances = element.instances;\n if (instances) {\n // TODO: for (let instance of instances.values()) {\n for (let _values = Map_values(instances), i = 0, k = _values.length; i < k; ++i) {\n let instance = unchecked(_values[i]);\n assert(instance.kind == ElementKind.Class);\n if (instance.is(CommonFlags.Compiled)) this.visitClass(name, instance);\n }\n }\n }\n\n private visitInterfaceInstances(name: string, element: InterfacePrototype): void {\n let instances = element.instances;\n if (instances) {\n // TODO: for (let instance of instances.values()) {\n for (let _values = Map_values(instances), i = 0, k = _values.length; i < k; ++i) {\n let instance = unchecked(_values[i]);\n assert(instance.kind == ElementKind.Interface);\n if (instance.is(CommonFlags.Compiled)) this.visitInterface(name, instance);\n }\n }\n }\n\n abstract visitGlobal(name: string, element: Global): void;\n abstract visitEnum(name: string, element: Enum): void;\n abstract visitFunction(name: string, element: Function): void;\n abstract visitClass(name: string, element: Class): void;\n abstract visitInterface(name: string, element: Interface): void;\n abstract visitNamespace(name: string, element: Element): void;\n abstract visitAlias(name: string, element: Element, originalName: string): void;\n}\n\n// Helpers\n\n/** Tests if a namespace-like element has at least one compiled member. */\nexport function hasCompiledMember(element: Element): bool {\n let members = element.members;\n if (members) {\n // TODO: for (let member of members.values()) {\n for (let _values = Map_values(members), i = 0, k = _values.length; i < k; ++i) {\n let member = unchecked(_values[i]);\n switch (member.kind) {\n case ElementKind.FunctionPrototype: {\n let instances = (member).instances;\n if (instances) {\n // TODO: for (let instance of instances.values()) {\n for (let _values = Map_values(instances), j = 0, l = _values.length; j < l; ++j) {\n let instance = unchecked(_values[j]);\n if (instance.is(CommonFlags.Compiled)) return true;\n }\n }\n break;\n }\n case ElementKind.ClassPrototype: {\n let instances = (member).instances;\n if (instances) {\n // TODO: for (let instance of instances.values()) {\n for (let _values = Map_values(instances), j = 0, l = _values.length; j < l; ++j) {\n let instance = unchecked(_values[j]);\n if (instance.is(CommonFlags.Compiled)) return true;\n }\n }\n break;\n }\n default: {\n if (member.is(CommonFlags.Compiled) || hasCompiledMember(member)) return true;\n break;\n }\n }\n }\n }\n return false;\n}\n", "import {\n NodeKind,\n DecoratorKind,\n LiteralKind,\n LiteralExpression,\n StringLiteralExpression,\n TemplateLiteralExpression,\n findDecorator,\n Source\n} from \"../ast\";\n\nimport {\n CommonFlags\n} from \"../common\";\n\nimport {\n runtimeFunctions,\n runtimeGlobals\n} from \"../compiler\";\n\nimport {\n ElementKind,\n Element,\n Program,\n Function,\n Global,\n Class,\n Interface,\n Enum,\n EnumValue,\n PropertyPrototype\n} from \"../program\";\n\nimport {\n Type,\n TypeFlags,\n Signature\n} from \"../types\";\n\nimport {\n CharCode,\n escapeString,\n indent,\n isIdentifier\n} from \"../util\";\n\nimport {\n ExportsWalker\n} from \"./util\";\n\n// Limitations\n//\n// - Instrumented globals are no longer WebAssembly.Global, hence cannot be\n// imported the same way as non-instrumented globals would allow. Affects both\n// globals imported here and globals imported elsewhere.\n//\n// - Since little is known about how class imports and exports will behave,\n// there is currently no glue generated for them. In IT there appears to be\n// a concept of protocols that may or may not map in the future. In GC there\n// doesn't appear to be a connection between classes and their methods so far.\n//\n// Instead, generated bindings are limited to lifting and lowering of plain\n// objects when the class has no constructor and no non-public elements. In\n// any other sitation an internal or external reference is passed.\n//\n// - Linking two instrumented modules with separate bindings produces\n// intermediate garbage (i.e. goes through a temporary JS object). Any native\n// mechanism enabling communication between modules directly would help here.\n//\n// - Cycles between the internal and the external GC cannot be resolved. Using\n// a common GC as envisioned by the GC proposal can help here, but so far it\n// seems that the same limitations as for IT will remain.\n//\n// - Duplicate Wasm imports don't yet work when instrumentation is required as\n// provided argument types cannot be told apart when these only come in as\n// numbers. It might be possible to modify the binary post compilation, but\n// this has not been attempted yet.\n//\n// Oddities\n//\n// - Interface Types `string` will be incompatible with JavaScript `String` and\n// it remains unclear how to proceed on this front. We could either use the IT\n// mechanism and accept potential hazards or keep using unfortunate glue code.\n//\n// - Functions with a variable number of arguments need some special glue to\n// inform the binary how many arguments have been provided so it can fill in\n// defaults for the omitted arguments. No native mechanism in sight, yet.\n//\n// - Optional BigInt arguments must be coerced to 0n since JS does not\n// implicitly coerce from `null` or `undefined`. Numbers do, however.\n//\n// - Generated bindings assume little endian architecture with typed arrays as\n// it appears to be more efficient than using a DataView and BE use cases\n// haven't been seen in the wild so far.\n//\n// - It is assumed that generated import bindings call JavaScript and that the\n// callee expects a properly coerced integer value, leading to more `>>> 0`\n// coercions than necessary when the import is actually another Wasm module.\n\n/** Maps special imports to their actual modules. */\nfunction importToModule(moduleName: string): string {\n // Map rtrace via `imports` in package.json\n if (moduleName == \"rtrace\") return \"#rtrace\";\n return moduleName;\n}\n\n/** Determines whether a module's imports should be instrumented. */\nfunction shouldInstrument(moduleName: string): bool {\n return moduleName != \"rtrace\";\n}\n\n/** A JavaScript bindings builder. */\nexport class JSBuilder extends ExportsWalker {\n\n /** Builds JavaScript bindings for the specified program. */\n static build(program: Program, esm: bool = true): string {\n return new JSBuilder(program, esm).build();\n }\n\n private esm: bool;\n private sb: string[] = [];\n private indentLevel: i32 = 0;\n\n private needsLiftBuffer: bool = false;\n private needsLowerBuffer: bool = false;\n private needsLiftString: bool = false;\n private needsLowerString: bool = false;\n private needsLiftArray: bool = false;\n private needsLowerArray: bool = false;\n private needsLiftTypedArray: bool = false;\n private needsLowerTypedArray: bool = false;\n private needsLiftStaticArray: bool = false;\n private needsLowerStaticArray: bool = false;\n private needsLiftInternref: bool = false;\n private needsLowerInternref: bool = false;\n private needsRetain: bool = false;\n private needsRelease: bool = false;\n private needsNotNull: bool = false;\n private needsSetU8: bool = false;\n private needsSetU16: bool = false;\n private needsSetU32: bool = false;\n private needsSetU64: bool = false;\n private needsSetF32: bool = false;\n private needsSetF64: bool = false;\n private needsGetI8: bool = false;\n private needsGetU8: bool = false;\n private needsGetI16: bool = false;\n private needsGetU16: bool = false;\n private needsGetI32: bool = false;\n private needsGetU32: bool = false;\n private needsGetI64: bool = false;\n private needsGetU64: bool = false;\n private needsGetF32: bool = false;\n private needsGetF64: bool = false;\n\n private deferredLifts: Set = new Set();\n private deferredLowers: Set = new Set();\n private deferredCode: string[] = new Array();\n\n private exports: string[] = new Array();\n private importMappings: Map = new Map();\n\n /** Constructs a new JavaScript bindings builder. */\n constructor(program: Program, esm: bool, includePrivate: bool = false) {\n super(program, includePrivate);\n this.esm = esm;\n }\n\n visitGlobal(name: string, element: Global): void {\n let sb = this.sb;\n let type = element.type;\n this.exports.push(name);\n if (!isPlainValue(type, Mode.Export)) {\n indent(sb, this.indentLevel);\n sb.push(name);\n sb.push(\": {\\n\");\n indent(sb, ++this.indentLevel);\n sb.push(\"// \");\n sb.push(element.internalName);\n sb.push(\": \");\n sb.push(type.toString());\n sb.push(\"\\n\");\n indent(sb, this.indentLevel);\n sb.push(\"valueOf() { return this.value; },\\n\");\n indent(sb, this.indentLevel);\n sb.push(\"get value() {\\n\");\n indent(sb, ++this.indentLevel);\n sb.push(\"return \");\n this.makeLiftFromValue(\"exports.\" + name + \".value\", type, sb);\n sb.push(\";\\n\");\n indent(sb, --this.indentLevel);\n sb.push(\"}\");\n if (!element.is(CommonFlags.Const)) {\n sb.push(\",\\n\");\n indent(sb, this.indentLevel);\n sb.push(\"set value(value) {\\n\");\n indent(sb, ++this.indentLevel);\n sb.push(\"exports.\");\n sb.push(name);\n sb.push(\".value = \");\n this.makeLowerToValue(\"value\", type, sb);\n sb.push(\";\\n\");\n indent(sb, --this.indentLevel);\n sb.push(\"}\");\n }\n sb.push(\"\\n\");\n indent(sb, --this.indentLevel);\n sb.push(\"},\\n\");\n }\n this.visitNamespace(name, element);\n }\n\n visitEnum(name: string, element: Enum): void {\n let sb = this.sb;\n this.exports.push(name);\n indent(sb, this.indentLevel);\n sb.push(name);\n sb.push(\": (values => (\\n\");\n indent(sb, ++this.indentLevel);\n sb.push(\"// \");\n sb.push(element.internalName);\n sb.push(\"\\n\");\n let members = element.members;\n if (members) {\n for (let _values = Map_values(members), i = 0, k = _values.length; i < k; ++i) {\n let value = _values[i];\n if (value.kind != ElementKind.EnumValue) continue;\n indent(sb, this.indentLevel);\n sb.push(\"values[values.\");\n sb.push(value.name);\n if (value.is(CommonFlags.Inlined)) {\n sb.push(\" = \");\n sb.push(i64_low((value).constantIntegerValue).toString());\n } else {\n sb.push(\" = exports[\\\"\");\n sb.push(escapeString(name + \".\" + value.name, CharCode.DoubleQuote));\n sb.push(\"\\\"].valueOf()\");\n }\n sb.push(\"] = \\\"\");\n sb.push(escapeString(value.name, CharCode.DoubleQuote));\n sb.push(\"\\\",\\n\");\n }\n }\n indent(sb, this.indentLevel);\n sb.push(\"values\\n\");\n indent(sb, --this.indentLevel);\n sb.push(\"))({}),\\n\");\n this.visitNamespace(name, element);\n }\n\n makeGlobalImport(moduleName: string, name: string, element: Global): void {\n let sb = this.sb;\n let type = element.type;\n indent(sb, this.indentLevel);\n if (isIdentifier(name)) {\n sb.push(name);\n } else {\n sb.push(\"\\\"\");\n sb.push(escapeString(name, CharCode.DoubleQuote));\n sb.push(\"\\\": \");\n }\n let moduleId = this.ensureModuleId(moduleName);\n if (isPlainValue(type, Mode.Import)) {\n sb.push(\"(\\n\");\n indent(sb, this.indentLevel + 1);\n sb.push(\"// \");\n sb.push(element.internalName);\n sb.push(\": \");\n sb.push(element.type.toString());\n sb.push(\"\\n\");\n indent(sb, this.indentLevel + 1);\n if (moduleName != \"env\") {\n sb.push(\"__module\");\n sb.push(moduleId.toString());\n sb.push(\".\");\n }\n sb.push(name);\n sb.push(\"\\n\");\n indent(sb, this.indentLevel);\n sb.push(\")\");\n } else {\n sb.push(\"{\\n\");\n indent(sb, ++this.indentLevel);\n sb.push(\"// \");\n sb.push(element.internalName);\n sb.push(\": \");\n sb.push(element.type.toString());\n sb.push(\"\\n\");\n indent(sb, this.indentLevel);\n sb.push(\"// not supported: cannot lower before instantiate completes\\n\");\n indent(sb, --this.indentLevel);\n sb.push(\"}\");\n }\n sb.push(\",\\n\");\n }\n\n makeFunctionImport(moduleName: string, name: string, element: Function, code: string | null = null): void {\n let sb = this.sb;\n let signature = element.signature;\n indent(sb, this.indentLevel);\n if (isIdentifier(name)) {\n sb.push(name);\n } else {\n sb.push(\"\\\"\");\n sb.push(escapeString(name, CharCode.DoubleQuote));\n sb.push(\"\\\"\");\n }\n if (isPlainFunction(signature, Mode.Import) && !code && isIdentifier(name)) {\n sb.push(\": (\\n\");\n indent(sb, this.indentLevel + 1);\n sb.push(\"// \");\n sb.push(element.internalName);\n sb.push(element.signature.toString());\n sb.push(\"\\n\");\n indent(sb, this.indentLevel + 1);\n if (moduleName != \"env\") {\n sb.push(moduleName);\n sb.push(\".\");\n }\n sb.push(name);\n sb.push(\"\\n\");\n indent(sb, this.indentLevel);\n sb.push(\")\");\n } else {\n sb.push(\"(\");\n let parameterTypes = signature.parameterTypes;\n let parameterNames = new Array();\n for (let i = 0, k = parameterTypes.length; i < k; ++i) {\n parameterNames.push(element.getParameterName(i));\n }\n sb.push(parameterNames.join(\", \"));\n sb.push(\") {\\n\");\n indent(sb, ++this.indentLevel);\n sb.push(\"// \");\n sb.push(element.internalName);\n sb.push(element.signature.toString());\n sb.push(\"\\n\");\n for (let i = 0, k = parameterTypes.length; i < k; ++i) {\n let type = parameterTypes[i];\n if (!isPlainValue(type, Mode.Export)) {\n let name = element.getParameterName(i);\n indent(sb, this.indentLevel);\n sb.push(name);\n sb.push(\" = \");\n this.makeLiftFromValue(name, type, sb);\n sb.push(\";\\n\");\n }\n }\n let expr = new Array();\n let moduleId = this.ensureModuleId(moduleName);\n if (code) {\n expr.push(\"(() => {\\n\");\n indent(expr, 1);\n expr.push(\"// @external.js\\n\");\n indentText(code, 1, expr);\n expr.push(\"\\n})()\");\n } else {\n if (moduleName != \"env\") {\n expr.push(\"__module\");\n expr.push(moduleId.toString());\n expr.push(\".\");\n }\n expr.push(name);\n expr.push(\"(\");\n expr.push(parameterNames.join(\", \"));\n expr.push(\")\");\n }\n code = expr.join(\"\");\n expr.length = 0;\n indentText(code, this.indentLevel, expr, true);\n code = expr.join(\"\");\n indent(sb, this.indentLevel);\n if (signature.returnType != Type.void) {\n sb.push(\"return \");\n this.makeLowerToValue(code, signature.returnType, sb);\n sb.push(\";\\n\");\n } else {\n sb.push(code);\n sb.push(\";\\n\");\n }\n indent(sb, --this.indentLevel);\n sb.push(\"}\");\n }\n sb.push(\",\\n\");\n }\n\n visitFunction(name: string, element: Function): void {\n if (element.is(CommonFlags.Private)) return;\n let sb = this.sb;\n let signature = element.signature;\n this.exports.push(name);\n if (!isPlainFunction(signature, Mode.Export)) {\n indent(sb, this.indentLevel);\n sb.push(name);\n sb.push(\"(\");\n let parameterTypes = signature.parameterTypes;\n let numReferences = 0;\n for (let i = 0, k = parameterTypes.length; i < k; ++i) {\n if (parameterTypes[i].isInternalReference) numReferences++;\n if (i > 0) sb.push(\", \");\n sb.push(element.getParameterName(i));\n }\n sb.push(\") {\\n\");\n indent(sb, ++this.indentLevel);\n sb.push(\"// \");\n sb.push(element.internalName);\n sb.push(signature.toString());\n sb.push(\"\\n\");\n let releases = new Array();\n for (let i = 0, k = parameterTypes.length; i < k; ++i) {\n let type = parameterTypes[i];\n if (!isPlainValue(type, Mode.Import)) {\n let name = element.getParameterName(i);\n indent(sb, this.indentLevel);\n sb.push(name);\n sb.push(\" = \");\n let needsRetainRelease = type.isInternalReference && --numReferences > 0;\n if (needsRetainRelease) {\n this.needsRetain = true;\n this.needsRelease = true;\n sb.push(\"__retain(\");\n releases.push(name);\n }\n this.makeLowerToValue(name, type, sb);\n if (needsRetainRelease) {\n sb.push(\")\");\n }\n sb.push(\";\\n\");\n }\n }\n if (releases.length) {\n indent(sb, this.indentLevel++);\n sb.push(\"try {\\n\");\n }\n if (signature.requiredParameters < parameterTypes.length) {\n indent(sb, this.indentLevel);\n sb.push(\"exports.__setArgumentsLength(arguments.length);\\n\");\n }\n const expr = new Array();\n expr.push(\"exports.\");\n expr.push(name);\n expr.push(\"(\");\n for (let i = 0, k = parameterTypes.length; i < k; ++i) {\n if (i > 0) expr.push(\", \");\n expr.push(element.getParameterName(i));\n }\n expr.push(\")\");\n if (signature.returnType != Type.void) {\n indent(sb, this.indentLevel);\n sb.push(\"return \");\n this.makeLiftFromValue(expr.join(\"\"), signature.returnType, sb);\n } else {\n indent(sb, this.indentLevel);\n sb.push(expr.join(\"\"));\n }\n sb.push(\";\\n\");\n if (releases.length) {\n indent(sb, this.indentLevel - 1);\n sb.push(\"} finally {\\n\");\n for (let i = 0, k = releases.length; i < k; ++i) {\n indent(sb, this.indentLevel);\n sb.push(\"__release(\");\n sb.push(releases[i]);\n sb.push(\");\\n\");\n }\n indent(sb, --this.indentLevel);\n sb.push(\"}\\n\");\n }\n indent(sb, --this.indentLevel);\n sb.push(\"},\\n\");\n }\n this.visitNamespace(name, element);\n }\n\n visitClass(name: string, element: Class): void {\n // not implemented\n }\n\n visitInterface(name: string, element: Interface): void {\n this.visitClass(name, element);\n }\n\n visitNamespace(name: string, element: Element): void {\n // not implemented\n }\n\n visitAlias(name: string, element: Element, originalName: string): void {\n // not implemented\n // let sb = this.sb;\n // sb.push(\"export const \");\n // sb.push(name);\n // sb.push(\" = \");\n // sb.push(originalName);\n // sb.push(\";\\n\");\n }\n\n getExternalCode(element: Function): string | null {\n let decorator = findDecorator(DecoratorKind.ExternalJs, element.decoratorNodes);\n if (decorator) {\n let args = decorator.args;\n if (args && args.length == 1) {\n let codeArg = args[0];\n if (codeArg.kind == NodeKind.Literal) {\n let literal = codeArg;\n if (literal.literalKind == LiteralKind.String) {\n return (literal).value;\n }\n if (literal.literalKind == LiteralKind.Template) {\n let parts = (literal).parts;\n if (parts.length == 1) {\n return parts[0];\n }\n }\n }\n }\n }\n return null;\n }\n\n build(): string {\n let exports = this.exports;\n let moduleImports = this.program.moduleImports;\n let program = this.program;\n let options = program.options;\n let sb = this.sb;\n\n sb.push(\"\"); // placeholder\n indent(sb, this.indentLevel++);\n if (!this.esm) sb.push(\"export \");\n sb.push(\"async function instantiate(module, imports = {}) {\\n\");\n const insertPos = sb.push(\"\") - 1;\n\n // Instrument module imports. Keeps raw (JS) imports on the respective\n // prototypes and overrides selectively where instrumentation is required.\n indent(sb, this.indentLevel++);\n sb.push(\"const adaptedImports = {\\n\");\n let sbLengthBefore = sb.length;\n for (let _keys = Map_keys(moduleImports), i = 0, k = _keys.length; i < k; ++i) {\n let moduleName = _keys[i];\n let moduleId = this.ensureModuleId(moduleName);\n let module = >moduleImports.get(moduleName);\n indent(sb, this.indentLevel);\n if (isIdentifier(moduleName)) {\n sb.push(moduleName);\n } else {\n sb.push(\"\\\"\");\n sb.push(escapeString(moduleName, CharCode.DoubleQuote));\n sb.push(\"\\\"\");\n }\n if (!shouldInstrument(moduleName)) {\n sb.push(\": __module\");\n sb.push(moduleId.toString());\n sb.push(\",\\n\");\n continue;\n }\n let resetPos = sb.length;\n sb.push(\": Object.assign(Object.create(\");\n if (moduleName == \"env\") {\n sb.push(\"globalThis\");\n } else {\n sb.push(\"__module\");\n sb.push(moduleId.toString());\n }\n sb.push(\"), \");\n if (moduleName == \"env\") {\n sb.push(\"imports.env || {}, \");\n }\n sb.push(\"{\\n\");\n ++this.indentLevel;\n let numInstrumented = 0;\n for (let _keys2 = Map_keys(module), j = 0, l = _keys2.length; j < l; ++j) {\n let name = _keys2[j];\n let elem = assert(module.get(name));\n if (elem.kind == ElementKind.Function) {\n let func = elem;\n let code = this.getExternalCode(func);\n if (!isPlainFunction(func.signature, Mode.Import) || !isIdentifier(name) || code) {\n this.makeFunctionImport(moduleName, name, elem, code);\n ++numInstrumented;\n }\n } else if (elem.kind == ElementKind.Global) {\n let global = elem;\n if (!isPlainValue(global.type, Mode.Import) || !isIdentifier(name)) {\n this.makeGlobalImport(moduleName, name, global);\n ++numInstrumented;\n }\n }\n }\n --this.indentLevel;\n if (!numInstrumented) {\n sb.length = resetPos;\n if (moduleName == \"env\") {\n sb.push(\": Object.assign(Object.create(globalThis), imports.env || {})\");\n } else {\n sb.push(\": __module\");\n sb.push(moduleId.toString());\n }\n sb.push(\",\\n\");\n } else {\n indent(sb, this.indentLevel);\n sb.push(\"}),\\n\");\n }\n }\n --this.indentLevel;\n let hasAdaptedImports = sb.length > sbLengthBefore;\n if (hasAdaptedImports) {\n indent(sb, this.indentLevel);\n sb.push(\"};\\n\");\n } else {\n sb.length = sbLengthBefore - 2; // incl. indent\n }\n\n let mappings = this.importMappings;\n let map = new Array();\n for (let _keys = Map_keys(mappings), i = 0, k = _keys.length; i < k; ++i) {\n let moduleName = _keys[i];\n if (moduleName == \"env\") {\n map.push(\" const env = imports.env;\\n\");\n } else {\n let moduleId = mappings.get(moduleName);\n if (moduleName == \"rtrace\") {\n // Rtrace is special in that it needs to be installed on the imports\n // object. Use sensible defaults and substitute the original import.\n map.push(\" ((rtrace) => {\\n\");\n map.push(\" delete imports.rtrace;\\n\");\n map.push(\" new rtrace.Rtrace({ getMemory() { return memory; }, onerror(err) { console.log(`RTRACE: ${err.stack}`); } }).install(imports);\\n\");\n map.push(\" })(imports.rtrace);\\n\");\n }\n map.push(\" const __module\");\n map.push(moduleId.toString());\n map.push(\" = imports\");\n if (isIdentifier(moduleName)) {\n map.push(\".\");\n map.push(moduleName);\n } else {\n map.push(\"[\\\"\");\n map.push(escapeString(moduleName, CharCode.DoubleQuote));\n map.push(\"\\\"]\");\n }\n map.push(\";\\n\");\n }\n }\n sb[insertPos] = map.join(\"\");\n\n indent(sb, this.indentLevel);\n sb.push(\"const { exports } = await WebAssembly.instantiate(module\");\n if (hasAdaptedImports) {\n sb.push(\", adaptedImports);\\n\");\n } else {\n sb.push(\", imports);\\n\");\n }\n indent(sb, this.indentLevel);\n sb.push(\"const memory = exports.memory || imports.env.memory;\\n\");\n indent(sb, this.indentLevel++);\n sb.push(\"const adaptedExports = Object.setPrototypeOf({\\n\");\n sbLengthBefore = sb.length;\n\n // Instrument module exports. Keeps raw (Wasm) exports on the prototype and\n // overrides selectively where instrumentation is required.\n this.walk();\n --this.indentLevel;\n let hasAdaptedExports = sb.length > sbLengthBefore;\n if (hasAdaptedExports) {\n indent(sb, this.indentLevel);\n sb.push(\"}, exports);\\n\");\n } else {\n if (\n this.needsLiftBuffer || this.needsLowerBuffer ||\n this.needsLiftString || this.needsLowerString ||\n this.needsLiftArray || this.needsLowerArray ||\n this.needsLiftTypedArray || this.needsLowerTypedArray ||\n this.needsLiftStaticArray\n ) {\n sb.length = sbLengthBefore - 2; // skip adaptedExports + 1x indent\n } else {\n sb.length = sbLengthBefore - 4; // skip memory and adaptedExports + 2x indent\n }\n }\n\n // Add external JS code fragments\n let deferredCode = this.deferredCode;\n if (deferredCode.length) {\n for (let i = 0, k = deferredCode.length; i < k; ++i) {\n sb.push(deferredCode[i]);\n }\n }\n\n // Add the respective lifting and lowering adapters\n if (this.needsLiftBuffer) {\n let objectInstance = program.OBJECTInstance;\n let rtSizeOffset = objectInstance.offsetof(\"rtSize\") - objectInstance.nextMemoryOffset;\n sb.push(` function __liftBuffer(pointer) {\n if (!pointer) return null;\n return memory.buffer.slice(pointer, pointer + new Uint32Array(memory.buffer)[pointer - ${-rtSizeOffset} >>> 2]);\n }\n`);\n }\n if (this.needsLowerBuffer) {\n let arrayBufferId = program.arrayBufferInstance.id;\n sb.push(` function __lowerBuffer(value) {\n if (value == null) return 0;\n const pointer = exports.__new(value.byteLength, ${arrayBufferId}) >>> 0;\n new Uint8Array(memory.buffer).set(new Uint8Array(value), pointer);\n return pointer;\n }\n`);\n }\n if (this.needsLiftString) {\n let objectInstance = program.OBJECTInstance;\n let rtSizeOffset = objectInstance.offsetof(\"rtSize\") - objectInstance.nextMemoryOffset;\n let chunkSize = 1024;\n sb.push(` function __liftString(pointer) {\n if (!pointer) return null;\n const\n end = pointer + new Uint32Array(memory.buffer)[pointer - ${-rtSizeOffset} >>> 2] >>> 1,\n memoryU16 = new Uint16Array(memory.buffer);\n let\n start = pointer >>> 1,\n string = \"\";\n while (end - start > ${chunkSize}) string += String.fromCharCode(...memoryU16.subarray(start, start += ${chunkSize}));\n return string + String.fromCharCode(...memoryU16.subarray(start, end));\n }\n`);\n }\n if (this.needsLowerString) {\n let stringId = program.stringInstance.id;\n sb.push(` function __lowerString(value) {\n if (value == null) return 0;\n const\n length = value.length,\n pointer = exports.__new(length << 1, ${stringId}) >>> 0,\n memoryU16 = new Uint16Array(memory.buffer);\n for (let i = 0; i < length; ++i) memoryU16[(pointer >>> 1) + i] = value.charCodeAt(i);\n return pointer;\n }\n`);\n }\n if (this.needsLiftArray) {\n let dataStartOffset = program.arrayBufferViewInstance.offsetof(\"dataStart\");\n let lengthOffset = program.arrayBufferViewInstance.nextMemoryOffset;\n this.needsGetU32 = true;\n sb.push(` function __liftArray(liftElement, align, pointer) {\n if (!pointer) return null;\n const\n dataStart = __getU32(pointer + ${dataStartOffset}),\n length = __dataview.getUint32(pointer + ${lengthOffset}, true),\n values = new Array(length);\n for (let i = 0; i < length; ++i) values[i] = liftElement(dataStart + (i << align >>> 0));\n return values;\n }\n`);\n }\n if (this.needsLowerArray) {\n let arrayBufferId = program.arrayBufferInstance.id;\n let arrayBufferViewInstance = program.arrayBufferViewInstance;\n let arraySize = arrayBufferViewInstance.nextMemoryOffset + 4; // + length\n let bufferOffset = arrayBufferViewInstance.offsetof(\"buffer\");\n let dataStartOffset = arrayBufferViewInstance.offsetof(\"dataStart\");\n let byteLengthOffset = arrayBufferViewInstance.offsetof(\"byteLength\");\n let lengthOffset = byteLengthOffset + 4;\n this.needsSetU32 = true;\n sb.push(` function __lowerArray(lowerElement, id, align, values) {\n if (values == null) return 0;\n const\n length = values.length,\n buffer = exports.__pin(exports.__new(length << align, ${arrayBufferId})) >>> 0,\n header = exports.__pin(exports.__new(${arraySize}, id)) >>> 0;\n __setU32(header + ${bufferOffset}, buffer);\n __dataview.setUint32(header + ${dataStartOffset}, buffer, true);\n __dataview.setUint32(header + ${byteLengthOffset}, length << align, true);\n __dataview.setUint32(header + ${lengthOffset}, length, true);\n for (let i = 0; i < length; ++i) lowerElement(buffer + (i << align >>> 0), values[i]);\n exports.__unpin(buffer);\n exports.__unpin(header);\n return header;\n }\n`);\n }\n if (this.needsLiftTypedArray) {\n let arrayBufferViewInstance = program.arrayBufferViewInstance;\n let dataStartOffset = arrayBufferViewInstance.offsetof(\"dataStart\");\n let byteLengthOffset = arrayBufferViewInstance.offsetof(\"byteLength\");\n this.needsGetU32 = true;\n sb.push(` function __liftTypedArray(constructor, pointer) {\n if (!pointer) return null;\n return new constructor(\n memory.buffer,\n __getU32(pointer + ${dataStartOffset}),\n __dataview.getUint32(pointer + ${byteLengthOffset}, true) / constructor.BYTES_PER_ELEMENT\n ).slice();\n }\n`);\n }\n if (this.needsLowerTypedArray) {\n let arrayBufferId = program.arrayBufferInstance.id;\n let arrayBufferViewInstance = program.arrayBufferViewInstance;\n let size = arrayBufferViewInstance.nextMemoryOffset;\n let bufferOffset = arrayBufferViewInstance.offsetof(\"buffer\");\n let dataStartOffset = arrayBufferViewInstance.offsetof(\"dataStart\");\n let byteLengthOffset = arrayBufferViewInstance.offsetof(\"byteLength\");\n this.needsSetU32 = true;\n sb.push(` function __lowerTypedArray(constructor, id, align, values) {\n if (values == null) return 0;\n const\n length = values.length,\n buffer = exports.__pin(exports.__new(length << align, ${arrayBufferId})) >>> 0,\n header = exports.__new(${size}, id) >>> 0;\n __setU32(header + ${bufferOffset}, buffer);\n __dataview.setUint32(header + ${dataStartOffset}, buffer, true);\n __dataview.setUint32(header + ${byteLengthOffset}, length << align, true);\n new constructor(memory.buffer, buffer, length).set(values);\n exports.__unpin(buffer);\n return header;\n }\n`);\n }\n if (this.needsLiftStaticArray) {\n let objectInstance = program.OBJECTInstance;\n let rtSizeOffset = objectInstance.offsetof(\"rtSize\") - objectInstance.nextMemoryOffset;\n this.needsGetU32 = true;\n sb.push(` function __liftStaticArray(liftElement, align, pointer) {\n if (!pointer) return null;\n const\n length = __getU32(pointer - ${-rtSizeOffset}) >>> align,\n values = new Array(length);\n for (let i = 0; i < length; ++i) values[i] = liftElement(pointer + (i << align >>> 0));\n return values;\n }\n`);\n }\n if (this.needsLowerStaticArray) {\n sb.push(` function __lowerStaticArray(lowerElement, id, align, values, typedConstructor) {\n if (values == null) return 0;\n const\n length = values.length,\n buffer = exports.__pin(exports.__new(length << align, id)) >>> 0;\n if (typedConstructor) {\n new typedConstructor(memory.buffer, buffer, length).set(values);\n } else {\n for (let i = 0; i < length; i++) lowerElement(buffer + (i << align >>> 0), values[i]);\n }\n exports.__unpin(buffer);\n return buffer;\n }\n`);\n }\n if (this.needsLiftInternref || this.needsLowerInternref) {\n sb.push(\" class Internref extends Number {}\\n\");\n }\n if (this.needsLiftInternref) {\n this.needsRetain = true;\n this.needsRelease = true;\n sb.push(` const registry = new FinalizationRegistry(__release);\n function __liftInternref(pointer) {\n if (!pointer) return null;\n const sentinel = new Internref(__retain(pointer));\n registry.register(sentinel, pointer);\n return sentinel;\n }\n`);\n }\n if (this.needsLowerInternref) {\n sb.push(` function __lowerInternref(value) {\n if (value == null) return 0;\n if (value instanceof Internref) return value.valueOf();\n throw TypeError(\"internref expected\");\n }\n`);\n }\n if (this.needsRetain || this.needsRelease) {\n sb.push(` const refcounts = new Map();\n`);\n }\n if (this.needsRetain) {\n sb.push(` function __retain(pointer) {\n if (pointer) {\n const refcount = refcounts.get(pointer);\n if (refcount) refcounts.set(pointer, refcount + 1);\n else refcounts.set(exports.__pin(pointer), 1);\n }\n return pointer;\n }\n`);\n }\n if (this.needsRelease) {\n sb.push(` function __release(pointer) {\n if (pointer) {\n const refcount = refcounts.get(pointer);\n if (refcount === 1) exports.__unpin(pointer), refcounts.delete(pointer);\n else if (refcount) refcounts.set(pointer, refcount - 1);\n else throw Error(\\`invalid refcount '\\${refcount}' for reference '\\${pointer}'\\`);\n }\n }\n`);\n }\n if (this.needsNotNull) {\n sb.push(` function __notnull() {\n throw TypeError(\"value must not be null\");\n }\n`);\n }\n if (\n this.needsSetU8 ||\n this.needsSetU16 ||\n this.needsSetU32 ||\n this.needsSetU64 ||\n this.needsSetF32 ||\n this.needsSetF64 ||\n this.needsGetI8 ||\n this.needsGetU8 ||\n this.needsGetI16 ||\n this.needsGetU16 ||\n this.needsGetI32 ||\n this.needsGetU32 ||\n this.needsGetI64 ||\n this.needsGetU64 ||\n this.needsGetF32 ||\n this.needsGetF64\n ) {\n sb.push(\" let __dataview = new DataView(memory.buffer);\\n\");\n }\n if (this.needsSetU8) sb.push(makeCheckedSetter(\"U8\", \"setUint8\"));\n if (this.needsSetU16) sb.push(makeCheckedSetter(\"U16\", \"setUint16\"));\n if (this.needsSetU32) sb.push(makeCheckedSetter(\"U32\", \"setUint32\"));\n if (this.needsSetU64) sb.push(makeCheckedSetter(\"U64\", \"setBigUint64\"));\n if (this.needsSetF32) sb.push(makeCheckedSetter(\"F32\", \"setFloat32\"));\n if (this.needsSetF64) sb.push(makeCheckedSetter(\"F64\", \"setFloat64\"));\n if (this.needsGetI8) sb.push(makeCheckedGetter(\"I8\", \"getInt8\"));\n if (this.needsGetU8) sb.push(makeCheckedGetter(\"U8\", \"getUint8\"));\n if (this.needsGetI16) sb.push(makeCheckedGetter(\"I16\", \"getInt16\"));\n if (this.needsGetU16) sb.push(makeCheckedGetter(\"U16\", \"getUint16\"));\n if (this.needsGetI32) sb.push(makeCheckedGetter(\"I32\", \"getInt32\"));\n if (this.needsGetU32) sb.push(makeCheckedGetter(\"U32\", \"getUint32\"));\n if (this.needsGetI64) sb.push(makeCheckedGetter(\"I64\", \"getBigInt64\"));\n if (this.needsGetU64) sb.push(makeCheckedGetter(\"U64\", \"getBigUint64\"));\n if (this.needsGetF32) sb.push(makeCheckedGetter(\"F32\", \"getFloat32\"));\n if (this.needsGetF64) sb.push(makeCheckedGetter(\"F64\", \"getFloat64\"));\n\n let exportStart = options.exportStart;\n if (exportStart) {\n sb.push(` exports.${exportStart}();\\n`);\n }\n\n if (hasAdaptedExports) {\n sb.push(\" return adaptedExports;\\n}\\n\");\n } else {\n sb.push(\" return exports;\\n}\\n\");\n }\n --this.indentLevel;\n assert(this.indentLevel == 0);\n\n if (this.esm) {\n sb.push(\"export const {\\n\");\n if (this.program.options.exportMemory) {\n sb.push(\" memory,\\n\");\n }\n if (this.program.options.exportTable) {\n sb.push(\" table,\\n\");\n }\n if (this.program.options.exportRuntime) {\n for (let i = 0, k = runtimeFunctions.length; i < k; ++i) {\n sb.push(\" \");\n sb.push(runtimeFunctions[i]);\n sb.push(\",\\n\");\n }\n for (let i = 0, k = runtimeGlobals.length; i < k; ++i) {\n sb.push(\" \");\n sb.push(runtimeGlobals[i]);\n sb.push(\",\\n\");\n }\n }\n for (let i = 0, k = exports.length; i < k; ++i) {\n sb.push(\" \");\n sb.push(exports[i]);\n sb.push(\",\\n\");\n }\n sb.push(`} = await (async url => instantiate(\n await (async () => {\n const isNodeOrBun = typeof process != \"undefined\" && process.versions != null && (process.versions.node != null || process.versions.bun != null);\n if (isNodeOrBun) { return globalThis.WebAssembly.compile(await (await import(\"node:fs/promises\")).readFile(url)); }\n else { return await globalThis.WebAssembly.compileStreaming(globalThis.fetch(url)); }\n })(), {\n`);\n let needsMaybeDefault = false;\n let importExpr = new Array();\n for (let _keys = Map_keys(mappings), i = 0, k = _keys.length; i < k; ++i) {\n let moduleName = _keys[i];\n if (moduleName == \"env\") {\n indent(sb, 2);\n sb.push(\"env: globalThis,\\n\");\n } else {\n let moduleId = this.ensureModuleId(moduleName);\n indent(sb, 2);\n if (isIdentifier(moduleName)) {\n sb.push(moduleName);\n } else {\n sb.push(\"\\\"\");\n sb.push(escapeString(moduleName, CharCode.DoubleQuote));\n sb.push(\"\\\"\");\n }\n sb.push(\": __maybeDefault(__import\");\n sb.push(moduleId.toString());\n sb.push(\"),\\n\");\n importExpr.push(\"import * as __import\");\n importExpr.push(moduleId.toString());\n importExpr.push(\" from \\\"\");\n importExpr.push(escapeString(importToModule(moduleName), CharCode.DoubleQuote));\n importExpr.push(\"\\\";\\n\");\n needsMaybeDefault = true;\n }\n }\n sb[0] = importExpr.join(\"\");\n sb.push(` }\n))(new URL(\"${escapeString(options.basenameHint, CharCode.DoubleQuote)}.wasm\", import.meta.url));\n`);\n if (needsMaybeDefault) {\n sb.push(`function __maybeDefault(module) {\n return typeof module.default === \"object\" && Object.keys(module).length == 1\n ? module.default\n : module;\n}\n`);\n }\n }\n return sb.join(\"\");\n }\n\n ensureModuleId(moduleName: string): i32 {\n if (moduleName == \"env\") return -1;\n let importMap = this.importMappings;\n let moduleId = importMap.has(moduleName)\n ? i32(importMap.get(moduleName))\n : importMap.size;\n importMap.set(moduleName, moduleId);\n return moduleId;\n }\n\n /** Lifts a WebAssembly value to a JavaScript value, as an expression. */\n makeLiftFromValue(valueExpr: string, type: Type, sb: string[] = this.sb): void {\n if (type.isInternalReference) {\n // Lift reference types\n const clazz = assert(type.getClassOrWrapper(this.program));\n if (clazz.extendsPrototype(this.program.arrayBufferInstance.prototype)) {\n sb.push(\"__liftBuffer(\");\n this.needsLiftBuffer = true;\n } else if (clazz.extendsPrototype(this.program.stringInstance.prototype)) {\n sb.push(\"__liftString(\");\n this.needsLiftString = true;\n } else if (clazz.extendsPrototype(this.program.arrayPrototype)) {\n let valueType = clazz.getArrayValueType();\n sb.push(\"__liftArray(\");\n this.makeLiftFromMemoryFunc(valueType, sb);\n sb.push(\", \");\n sb.push(valueType.alignLog2.toString());\n sb.push(\", \");\n this.needsLiftArray = true;\n } else if (clazz.extendsPrototype(this.program.staticArrayPrototype)) {\n let valueType = clazz.getArrayValueType();\n sb.push(\"__liftStaticArray(\");\n this.makeLiftFromMemoryFunc(valueType, sb);\n sb.push(\", \");\n sb.push(valueType.alignLog2.toString());\n sb.push(\", \");\n this.needsLiftStaticArray = true;\n } else if (clazz.extendsPrototype(this.program.arrayBufferViewInstance.prototype)) {\n sb.push(\"__liftTypedArray(\");\n if (clazz.name == \"Uint64Array\") {\n sb.push(\"BigUint64Array\");\n } else if (clazz.name == \"Int64Array\") {\n sb.push(\"BigInt64Array\");\n } else {\n sb.push(clazz.name); // TODO: what if extended?\n }\n sb.push(\", \");\n this.needsLiftTypedArray = true;\n } else if (isPlainObject(clazz)) {\n sb.push(\"__liftRecord\");\n sb.push(clazz.id.toString());\n sb.push(\"(\");\n if (!this.deferredLifts.has(clazz)) {\n this.deferredLifts.add(clazz);\n let prevIndentLevel = this.indentLevel;\n this.indentLevel = 1;\n this.deferredCode.push(this.makeLiftRecord(clazz));\n this.indentLevel = prevIndentLevel;\n }\n } else {\n sb.push(\"__liftInternref(\");\n this.needsLiftInternref = true;\n }\n sb.push(valueExpr);\n if (!valueExpr.startsWith(\"__get\")) {\n // no need to coerce when lifting with indirection\n sb.push(\" >>> 0\");\n }\n sb.push(\")\");\n } else {\n // Lift and coerce basic values (from a Wasm export)\n if (type == Type.bool) { // i32 to boolean\n sb.push(`${valueExpr} != 0`);\n } else if (type.isUnsignedIntegerValue && type.size >= 32) {\n if (type.size == 64) { // i64 to unsigned bigint\n sb.push(`BigInt.asUintN(64, ${valueExpr})`);\n } else { // i32 to unsigned\n sb.push(`${valueExpr} >>> 0`);\n }\n } else {\n sb.push(valueExpr);\n }\n }\n }\n\n /** Lowers a JavaScript value to a WebAssembly value, as an expression. */\n makeLowerToValue(valueExpr: string, type: Type, sb: string[] = this.sb): void {\n if (type.isInternalReference) {\n // Lower reference types\n const clazz = assert(type.getClassOrWrapper(this.program));\n if (clazz.extendsPrototype(this.program.arrayBufferInstance.prototype)) {\n sb.push(\"__lowerBuffer(\");\n this.needsLowerBuffer = true;\n } else if (clazz.extendsPrototype(this.program.stringInstance.prototype)) {\n sb.push(\"__lowerString(\");\n this.needsLowerString = true;\n } else if (clazz.extendsPrototype(this.program.arrayPrototype)) {\n let valueType = clazz.getArrayValueType();\n sb.push(\"__lowerArray(\");\n this.makeLowerToMemoryFunc(valueType, sb);\n sb.push(\", \");\n sb.push(clazz.id.toString());\n sb.push(\", \");\n sb.push(clazz.getArrayValueType().alignLog2.toString());\n sb.push(\", \");\n this.needsLowerArray = true;\n } else if (clazz.extendsPrototype(this.program.staticArrayPrototype)) {\n let valueType = clazz.getArrayValueType();\n sb.push(\"__lowerStaticArray(\");\n this.makeLowerToMemoryFunc(valueType, sb);\n sb.push(\", \");\n sb.push(clazz.id.toString());\n sb.push(\", \");\n sb.push(valueType.alignLog2.toString());\n sb.push(\", \");\n this.needsLowerStaticArray = true;\n } else if (clazz.extendsPrototype(this.program.arrayBufferViewInstance.prototype)) {\n let valueType = clazz.getArrayValueType();\n sb.push(\"__lowerTypedArray(\");\n if (valueType == Type.u64) {\n sb.push(\"BigUint64Array\");\n } else if (valueType == Type.i64) {\n sb.push(\"BigInt64Array\");\n } else {\n sb.push(clazz.name); // TODO: what if extended?\n }\n sb.push(\", \");\n sb.push(clazz.id.toString());\n sb.push(\", \");\n sb.push(clazz.getArrayValueType().alignLog2.toString());\n sb.push(\", \");\n this.needsLowerTypedArray = true;\n } else if (isPlainObject(clazz)) {\n sb.push(\"__lowerRecord\");\n sb.push(clazz.id.toString());\n sb.push(\"(\");\n if (!this.deferredLowers.has(clazz)) {\n this.deferredLowers.add(clazz);\n let prevIndentLevel = this.indentLevel;\n this.indentLevel = 1;\n this.deferredCode.push(this.makeLowerRecord(clazz));\n this.indentLevel = prevIndentLevel;\n }\n } else {\n sb.push(\"__lowerInternref(\");\n this.needsLowerInternref = true;\n }\n sb.push(valueExpr);\n if (clazz.extendsPrototype(this.program.staticArrayPrototype)) {\n // optional last argument for __lowerStaticArray\n let valueType = clazz.getArrayValueType();\n if (valueType.isNumericValue) {\n sb.push(\", \");\n if (valueType == Type.u8 || valueType == Type.bool) {\n sb.push(\"Uint8Array\");\n } else if (valueType == Type.i8) {\n sb.push(\"Int8Array\");\n } else if (valueType == Type.u16) {\n sb.push(\"Uint16Array\");\n } else if (valueType == Type.i16) {\n sb.push(\"Int16Array\");\n } else if (valueType == Type.u32 || valueType == Type.usize32) {\n sb.push(\"Uint32Array\");\n } else if (valueType == Type.i32 || valueType == Type.isize32) {\n sb.push(\"Int32Array\");\n } else if (valueType == Type.u64 || valueType == Type.usize64) {\n sb.push(\"BigUint64Array\");\n } else if (valueType == Type.i64 || valueType == Type.isize64) {\n sb.push(\"BigInt64Array\");\n } else if (valueType == Type.f32) {\n sb.push(\"Float32Array\");\n } else if (valueType == Type.f64) {\n sb.push(\"Float64Array\");\n } else {\n // unreachable\n assert(false);\n }\n }\n }\n sb.push(\")\");\n if (!type.is(TypeFlags.Nullable)) {\n this.needsNotNull = true;\n sb.push(\" || __notnull()\");\n }\n } else {\n // Lower basic types\n sb.push(valueExpr); // basic value\n if (type.isIntegerValue && type.size == 64) {\n sb.push(\" || 0n\");\n } else if (type == Type.bool) {\n // may be stored to an Uint8Array, make sure to store 1/0\n sb.push(\" ? 1 : 0\");\n }\n }\n }\n\n ensureLiftFromMemoryFn(valueType: Type): string {\n if (valueType.isInternalReference) {\n if (this.program.options.isWasm64) {\n this.needsGetU64 = true;\n return \"__getU64\";\n } else {\n this.needsGetU32 = true;\n return \"__getU32\";\n }\n }\n if (valueType == Type.i8) {\n this.needsGetI8 = true;\n return \"__getI8\";\n }\n if (valueType == Type.u8 || valueType == Type.bool) {\n this.needsGetU8 = true;\n return \"__getU8\";\n }\n if (valueType == Type.i16) {\n this.needsGetI16 = true;\n return \"__getI16\";\n }\n if (valueType == Type.u16) {\n this.needsGetU16 = true;\n return \"__getU16\";\n }\n if (valueType == Type.i32 || valueType == Type.isize32) {\n this.needsGetI32 = true;\n return \"__getI32\";\n }\n if (valueType == Type.u32 || valueType == Type.usize32) {\n this.needsGetU32 = true;\n return \"__getU32\";\n }\n if (valueType == Type.i64 || valueType == Type.isize64) {\n this.needsGetI64 = true;\n return \"__getI64\";\n }\n if (valueType == Type.u64 || valueType == Type.usize64) {\n this.needsGetU64 = true;\n return \"__getU64\";\n }\n if (valueType == Type.f32) {\n this.needsGetF32 = true;\n return \"__getF32\";\n }\n if (valueType == Type.f64) {\n this.needsGetF64 = true;\n return \"__getF64\";\n }\n return \"(() => { throw Error(\\\"unsupported type\\\"); })\";\n }\n\n /** Lifts a WebAssembly memory address to a JavaScript value, as a function. */\n makeLiftFromMemoryFunc(valueType: Type, sb: string[] = this.sb): void {\n let fn = this.ensureLiftFromMemoryFn(valueType);\n if (\n // Compound or with coercion, see makeLiftFromValue\n valueType.isInternalReference ||\n valueType == Type.bool ||\n (valueType.isUnsignedIntegerValue && valueType.size >= 32)\n ) {\n sb.push(\"pointer => \");\n this.makeLiftFromValue(`${fn}(pointer)`, valueType, sb);\n } else {\n sb.push(fn);\n }\n }\n\n /** Lifts a WebAssembly memory address to a JavaScript value, as a call. */\n makeLiftFromMemoryCall(valueType: Type, sb: string[] = this.sb, pointerExpr: string = \"pointer\"): void {\n let fn = this.ensureLiftFromMemoryFn(valueType);\n if (valueType.isInternalReference) {\n this.makeLiftFromValue(`${fn}(${pointerExpr})`, valueType, sb);\n } else {\n sb.push(fn);\n sb.push(\"(\");\n sb.push(pointerExpr);\n sb.push(\")\");\n if (valueType == Type.bool) {\n sb.push(\" != 0\");\n }\n // Other integers are known to be coerced here by loading from a view\n }\n }\n\n ensureLowerToMemoryFn(valueType: Type): string {\n if (valueType.isInternalReference) {\n if (this.program.options.isWasm64) {\n this.needsSetU64 = true;\n return \"__setU64\";\n } else {\n this.needsSetU32 = true;\n return \"__setU32\";\n }\n }\n if (valueType == Type.i8 || valueType == Type.u8 || valueType == Type.bool) {\n this.needsSetU8 = true;\n return \"__setU8\";\n }\n if (valueType == Type.i16 || valueType == Type.u16) {\n this.needsSetU16 = true;\n return \"__setU16\";\n }\n if (valueType == Type.i32 || valueType == Type.u32 || valueType == Type.isize32 || valueType == Type.usize32) {\n this.needsSetU32 = true;\n return \"__setU32\";\n }\n if (valueType == Type.i64 || valueType == Type.u64 || valueType == Type.isize64 || valueType == Type.usize64) {\n this.needsSetU64 = true;\n return \"__setU64\";\n }\n if (valueType == Type.f32) {\n this.needsSetF32 = true;\n return \"__setF32\";\n }\n if (valueType == Type.f64) {\n this.needsSetF64 = true;\n return \"__setF64\";\n }\n return \"(() => { throw Error(\\\"unsupported type\\\") })\";\n }\n\n /** Lowers a JavaScript value to a WebAssembly memory address, as a function. */\n makeLowerToMemoryFunc(valueType: Type, sb: string[] = this.sb): void {\n let fn = this.ensureLowerToMemoryFn(valueType);\n if (valueType.isInternalReference) {\n sb.push(\"(pointer, value) => { \");\n sb.push(fn);\n sb.push(\"(pointer, \");\n this.makeLowerToValue(\"value\", valueType, sb);\n sb.push(\"); }\");\n } else {\n sb.push(fn);\n }\n }\n\n /** Lowers a JavaScript value to a WebAssembly memory address, as a call. */\n makeLowerToMemoryCall(valueType: Type, sb: string[] = this.sb, pointerExpr: string = \"pointer\", valueExpr: string = \"value\"): void {\n let fn = this.ensureLowerToMemoryFn(valueType);\n sb.push(fn);\n sb.push(\"(\");\n sb.push(pointerExpr);\n sb.push(\", \");\n this.makeLowerToValue(valueExpr, valueType, sb);\n sb.push(\")\");\n }\n\n makeLiftRecord(clazz: Class): string {\n assert(isPlainObject(clazz));\n let sb = new Array();\n indent(sb, this.indentLevel);\n sb.push(\"function __liftRecord\");\n sb.push(clazz.id.toString());\n sb.push(\"(pointer) {\\n\");\n indent(sb, ++this.indentLevel);\n sb.push(\"// \");\n sb.push(clazz.type.toString());\n sb.push(\"\\n\");\n indent(sb, this.indentLevel);\n sb.push(\"// Hint: Opt-out from lifting as a record by providing an empty constructor\\n\");\n indent(sb, this.indentLevel);\n sb.push(\"if (!pointer) return null;\\n\");\n indent(sb, this.indentLevel++);\n sb.push(\"return {\\n\");\n let members = clazz.members;\n if (members) {\n for (let _keys = Map_keys(members), i = 0, k = _keys.length; i < k; ++i) {\n let memberName = _keys[i];\n let member = assert(members.get(memberName));\n if (member.kind != ElementKind.PropertyPrototype) continue;\n let property = (member).instance; // resolved during class finalization\n if (!property || !property.isField) continue;\n assert(property.memoryOffset >= 0);\n indent(sb, this.indentLevel);\n sb.push(property.name);\n sb.push(\": \");\n this.makeLiftFromMemoryCall(property.type, sb, `pointer + ${property.memoryOffset}`);\n sb.push(\",\\n\");\n }\n }\n indent(sb, --this.indentLevel);\n sb.push(\"};\\n\");\n indent(sb, --this.indentLevel);\n sb.push(\"}\\n\");\n return sb.join(\"\");\n }\n\n makeLowerRecord(clazz: Class): string {\n assert(isPlainObject(clazz));\n let sb = new Array();\n indent(sb, this.indentLevel);\n sb.push(\"function __lowerRecord\");\n sb.push(clazz.id.toString());\n sb.push(\"(value) {\\n\");\n indent(sb, ++this.indentLevel);\n sb.push(\"// \");\n sb.push(clazz.type.toString());\n sb.push(\"\\n\");\n indent(sb, this.indentLevel);\n sb.push(\"// Hint: Opt-out from lowering as a record by providing an empty constructor\\n\");\n indent(sb, this.indentLevel);\n sb.push(\"if (value == null) return 0;\\n\");\n indent(sb, this.indentLevel);\n sb.push(\"const pointer = exports.__pin(exports.__new(\");\n sb.push(clazz.nextMemoryOffset.toString());\n sb.push(\", \");\n sb.push(clazz.id.toString());\n sb.push(\"));\\n\");\n let members = clazz.members;\n if (members) {\n for (let _keys = Map_keys(members), i = 0, k = _keys.length; i < k; ++i) {\n let memberName = _keys[i];\n let member = assert(members.get(memberName));\n if (member.kind != ElementKind.PropertyPrototype) continue;\n let property = (member).instance; // resolved during class finalization\n if (!property || !property.isField) continue;\n assert(property.memoryOffset >= 0);\n indent(sb, this.indentLevel);\n this.makeLowerToMemoryCall(property.type, sb, `pointer + ${property.memoryOffset}`, `value.${memberName}`);\n sb.push(\";\\n\");\n }\n }\n indent(sb, this.indentLevel);\n sb.push(\"exports.__unpin(pointer);\\n\");\n indent(sb, this.indentLevel);\n sb.push(\"return pointer;\\n\");\n indent(sb, --this.indentLevel);\n sb.push(\"}\\n\");\n return sb.join(\"\");\n }\n}\n\n// Helpers\n\nenum Mode {\n Import,\n Export\n}\n\nfunction isPlainValue(type: Type, kind: Mode): bool {\n if (kind == Mode.Import) {\n // may be stored to an Uint8Array, make sure to store 1/0\n if (type == Type.bool) return false;\n // requires coercion of undefined to 0n\n if (type.isIntegerValue && type.size == 64) return false;\n } else {\n // requires coercion from 1/0 to true/false\n if (type == Type.bool) return false;\n // requires coercion from signed to unsigned for u32 and u64.\n // Note, u8 and u16 doesn't overflow in native type so mark as plain\n if (type.isUnsignedIntegerValue && type.size >= 32) return false;\n }\n return !type.isInternalReference;\n}\n\nfunction isPlainFunction(signature: Signature, mode: Mode): bool {\n let parameterTypes = signature.parameterTypes;\n let inverseMode = mode == Mode.Import ? Mode.Export : Mode.Import;\n if (!isPlainValue(signature.returnType, mode)) return false;\n for (let i = 0, k = parameterTypes.length; i < k; ++i) {\n if (!isPlainValue(parameterTypes[i], inverseMode)) return false;\n }\n return true;\n}\n\nfunction isPlainObject(clazz: Class): bool {\n // A plain object does not inherit and does not have a constructor or private properties\n if (clazz.base && !clazz.prototype.implicitlyExtendsObject) return false;\n let members = clazz.members;\n if (members) {\n for (let _values = Map_values(members), i = 0, k = _values.length; i < k; ++i) {\n let member = _values[i];\n if (member.isAny(CommonFlags.Private | CommonFlags.Protected)) return false;\n if (member.is(CommonFlags.Constructor)) {\n // a generated constructor is ok\n if (member.declaration.range != Source.native.range) return false;\n }\n }\n }\n return true;\n}\n\nfunction indentText(text: string, indentLevel: i32, sb: string[], butFirst: bool = false): void {\n let lineStart = 0;\n let length = text.length;\n let pos = 0;\n while (pos < length) {\n if (text.charCodeAt(pos) == CharCode.LineFeed) {\n if (butFirst) butFirst = false;\n else indent(sb, indentLevel);\n sb.push(text.substring(lineStart, lineStart = pos + 1));\n }\n ++pos;\n }\n if (lineStart < length) {\n if (!butFirst) indent(sb, indentLevel);\n sb.push(text.substring(lineStart));\n }\n}\n\nexport function liftRequiresExportRuntime(type: Type): bool {\n // TODO: enable v128 in signatures in future\n // if (type.isVectorValue) return true;\n if (!type.isInternalReference) return false;\n let clazz = type.classReference;\n if (!clazz) {\n // functions lift as internref using __pin\n assert(type.signatureReference);\n return true;\n }\n let program = clazz.program;\n // flat collections lift via memory copy\n if (\n clazz.extendsPrototype(program.arrayBufferInstance.prototype) ||\n clazz.extendsPrototype(program.stringInstance.prototype) ||\n clazz.extendsPrototype(program.arrayBufferViewInstance.prototype)\n ) {\n return false;\n }\n // nested collections lift depending on element type\n if (\n clazz.extendsPrototype(program.arrayPrototype) ||\n clazz.extendsPrototype(program.staticArrayPrototype)\n ) {\n return liftRequiresExportRuntime(clazz.getArrayValueType());\n }\n // complex objects lift as internref using __pin. plain objects may or may not\n // involve the runtime: assume that they do to avoid potentially costly checks\n return true;\n}\n\nexport function lowerRequiresExportRuntime(type: Type): bool {\n // TODO: enable v128 in signatures in future\n // if (type.isVectorValue) return true;\n if (!type.isInternalReference) return false;\n let clazz = type.classReference;\n if (!clazz) {\n // lowers by reference\n assert(type.signatureReference);\n return false;\n }\n // lowers using __new\n let program = clazz.program;\n if (\n clazz.extendsPrototype(program.arrayBufferInstance.prototype) ||\n clazz.extendsPrototype(program.stringInstance.prototype) ||\n clazz.extendsPrototype(program.arrayBufferViewInstance.prototype) ||\n clazz.extendsPrototype(program.arrayPrototype) ||\n clazz.extendsPrototype(program.staticArrayPrototype)\n ) {\n return true;\n }\n // complex objects lower via internref by reference,\n // while plain objects lower using __new\n return isPlainObject(clazz);\n}\n\n/** Makes a checked setter function to memory for the given basic type. */\nfunction makeCheckedSetter(type: string, fn: string): string {\n return ` function __set${type}(pointer, value) {\n try {\n __dataview.${fn}(pointer, value, true);\n } catch {\n __dataview = new DataView(memory.buffer);\n __dataview.${fn}(pointer, value, true);\n }\n }\n`;\n}\n\n/** Makes a checked getter function from memory for the given basic type. */\nfunction makeCheckedGetter(type: string, fn: string): string {\n return ` function __get${type}(pointer) {\n try {\n return __dataview.${fn}(pointer, true);\n } catch {\n __dataview = new DataView(memory.buffer);\n return __dataview.${fn}(pointer, true);\n }\n }\n`;\n}\n", "/**\n * @fileoverview The AssemblyScript compiler.\n * @license Apache-2.0\n */\n\n// helper globals used by mangleImportName\nlet mangleImportName_moduleName: string = \"\";\nlet mangleImportName_elementName: string = \"\";\n\nimport {\n BuiltinNames,\n BuiltinFunctionContext,\n BuiltinVariableContext,\n builtinFunctions,\n builtinVariables_onAccess,\n builtinVariables_onCompile,\n compileVisitGlobals,\n compileVisitMembers,\n compileRTTI\n} from \"./builtins\";\n\nimport {\n Range,\n DiagnosticCode,\n DiagnosticEmitter\n} from \"./diagnostics\";\n\nimport {\n Module,\n MemorySegment,\n ExpressionRef,\n UnaryOp,\n BinaryOp,\n TypeRef,\n FunctionRef,\n ExpressionId,\n GlobalRef,\n FeatureFlags,\n Index,\n getExpressionId,\n getExpressionType,\n getConstValueI32,\n getConstValueI64Low,\n getConstValueI64High,\n getConstValueF32,\n getConstValueF64,\n getConstValueV128,\n getBlockChildCount,\n getBlockChildAt,\n getBlockName,\n getLocalSetValue,\n getGlobalGetName,\n isGlobalMutable,\n getSideEffects,\n SideEffects,\n SwitchBuilder,\n ExpressionRunnerFlags,\n isConstZero,\n isConstNegZero,\n isConstExpressionNaN,\n ensureType,\n createType\n} from \"./module\";\n\nimport {\n CommonFlags,\n STATIC_DELIMITER,\n INDEX_SUFFIX,\n CommonNames,\n Feature,\n Target,\n Runtime\n} from \"./common\";\n\nimport {\n Program,\n ClassPrototype,\n Class,\n Element,\n ElementKind,\n DeclaredElement,\n Enum,\n FunctionPrototype,\n Function,\n Global,\n Local,\n EnumValue,\n Property,\n VariableLikeElement,\n ConstantValueKind,\n OperatorKind,\n DecoratorFlags,\n PropertyPrototype,\n IndexSignature,\n File,\n mangleInternalName,\n TypeDefinition\n} from \"./program\";\n\nimport {\n FlowFlags,\n Flow,\n LocalFlags,\n FieldFlags,\n ConditionKind\n} from \"./flow\";\n\nimport {\n Resolver,\n ReportMode\n} from \"./resolver\";\n\nimport {\n Token,\n operatorTokenToString\n} from \"./tokenizer\";\n\nimport {\n Node,\n NodeKind,\n DecoratorKind,\n AssertionKind,\n SourceKind,\n FunctionTypeNode,\n DecoratorNode,\n\n Statement,\n BlockStatement,\n BreakStatement,\n ClassDeclaration,\n ContinueStatement,\n DeclarationStatement,\n DoStatement,\n EmptyStatement,\n EnumDeclaration,\n ExportDefaultStatement,\n ExportStatement,\n ExpressionStatement,\n FieldDeclaration,\n ForStatement,\n ForOfStatement,\n FunctionDeclaration,\n IfStatement,\n ImportStatement,\n InstanceOfExpression,\n NamespaceDeclaration,\n ReturnStatement,\n SwitchStatement,\n ThrowStatement,\n TryStatement,\n VariableStatement,\n VoidStatement,\n WhileStatement,\n\n Expression,\n AssertionExpression,\n BinaryExpression,\n CallExpression,\n CommaExpression,\n ElementAccessExpression,\n FloatLiteralExpression,\n FunctionExpression,\n IdentifierExpression,\n IntegerLiteralExpression,\n LiteralExpression,\n LiteralKind,\n NewExpression,\n ObjectLiteralExpression,\n ParenthesizedExpression,\n PropertyAccessExpression,\n TernaryExpression,\n ArrayLiteralExpression,\n StringLiteralExpression,\n TemplateLiteralExpression,\n UnaryPostfixExpression,\n UnaryPrefixExpression,\n CompiledExpression,\n\n TypeNode,\n NamedTypeNode,\n\n findDecorator,\n isTypeOmitted,\n Source,\n TypeDeclaration\n} from \"./ast\";\n\nimport {\n Type,\n TypeKind,\n TypeFlags,\n Signature,\n typesToRefs\n} from \"./types\";\n\nimport {\n writeI8,\n writeI16,\n writeI32,\n writeI64,\n writeF32,\n writeF64,\n writeV128,\n cloneMap,\n isPowerOf2,\n readI32,\n isIdentifier,\n accuratePow64,\n v128_zero,\n v128_ones,\n} from \"./util\";\n\nimport {\n RtraceMemory\n} from \"./passes/rtrace\";\n\nimport {\n ShadowStackPass\n} from \"./passes/shadowstack\";\n\nimport {\n liftRequiresExportRuntime,\n lowerRequiresExportRuntime\n} from \"./bindings/js\";\n\n/** Features enabled by default. */\nexport const defaultFeatures = Feature.MutableGlobals\n | Feature.SignExtension\n | Feature.NontrappingF2I\n | Feature.BulkMemory;\n\n/** Compiler options. */\nexport class Options {\n constructor() { /* as internref */ }\n\n /** WebAssembly target. Defaults to {@link Target.Wasm32}. */\n target: Target = Target.Wasm32;\n /** Runtime type. Defaults to Incremental GC. */\n runtime: Runtime = Runtime.Incremental;\n /** If true, indicates that debug information will be emitted by Binaryen. */\n debugInfo: bool = false;\n /** If true, replaces assertions with nops. */\n noAssert: bool = false;\n /** It true, exports the memory to the embedder. */\n exportMemory: bool = true;\n /** If true, imports the memory provided by the embedder. */\n importMemory: bool = false;\n /** Initial memory size, in pages. */\n initialMemory: u32 = 0;\n /** Maximum memory size, in pages. */\n maximumMemory: u32 = 0;\n /** If true, memory is declared as shared. */\n sharedMemory: bool = false;\n /** If true, imported memory is zero filled. */\n zeroFilledMemory: bool = false;\n /** If true, imports the function table provided by the embedder. */\n importTable: bool = false;\n /** If true, exports the function table. */\n exportTable: bool = false;\n /** If true, generates information necessary for source maps. */\n sourceMap: bool = false;\n /** Unchecked behavior. Defaults to only using unchecked operations inside unchecked(). */\n uncheckedBehavior: UncheckedBehavior = UncheckedBehavior.Default;\n /** If given, exports the start function instead of calling it implicitly. */\n exportStart: string | null = null;\n /** Static memory start offset. */\n memoryBase: u32 = 0;\n /** Static table start offset. */\n tableBase: u32 = 0;\n /** Global aliases, mapping alias names as the key to internal names to be aliased as the value. */\n globalAliases: Map | null = null;\n /** Features to activate by default. */\n features: Feature = defaultFeatures;\n /** If true, disallows unsafe features in user code. */\n noUnsafe: bool = false;\n /** If true, enables pedantic diagnostics. */\n pedantic: bool = false;\n /** Indicates a very low (<64k) memory limit. */\n lowMemoryLimit: u32 = 0;\n /** If true, exports the runtime helpers. */\n exportRuntime: bool = false;\n /** Stack size in bytes, if using a stack. */\n stackSize: i32 = 0;\n /** Semantic major bundle version from root package.json */\n bundleMajorVersion: i32 = 0;\n /** Semantic minor bundle version from root package.json */\n bundleMinorVersion: i32 = 0;\n /** Semantic patch bundle version from root package.json */\n bundlePatchVersion: i32 = 0;\n\n /** Hinted optimize level. Not applied by the compiler itself. */\n optimizeLevelHint: i32 = 0;\n /** Hinted shrink level. Not applied by the compiler itself. */\n shrinkLevelHint: i32 = 0;\n /** Hinted basename. */\n basenameHint: string = \"output\";\n /** Hinted bindings generation. */\n bindingsHint: bool = false;\n\n /** Tests if the target is WASM64 or, otherwise, WASM32. */\n get isWasm64(): bool {\n return this.target == Target.Wasm64;\n }\n\n /** Gets the unsigned size type matching the target. */\n get usizeType(): Type {\n return this.target == Target.Wasm64 ? Type.usize64 : Type.usize32;\n }\n\n /** Gets the signed size type matching the target. */\n get isizeType(): Type {\n return this.target == Target.Wasm64 ? Type.isize64 : Type.isize32;\n }\n\n /** Gets the size type reference matching the target. */\n get sizeTypeRef(): TypeRef {\n return this.target == Target.Wasm64 ? TypeRef.I64 : TypeRef.I32;\n }\n\n /** Gets if any optimizations will be performed. */\n get willOptimize(): bool {\n return this.optimizeLevelHint > 0 || this.shrinkLevelHint > 0;\n }\n\n /** Sets whether a feature is enabled. */\n setFeature(feature: Feature, on: bool = true): void {\n if (on) {\n // Enabling Stringref also enables GC\n if (feature & Feature.Stringref) feature |= Feature.GC;\n // Enabling GC also enables Reference Types\n if (feature & Feature.GC) feature |= Feature.ReferenceTypes;\n // Enabling Relaxed SIMD also enables SIMD\n if (feature & Feature.RelaxedSimd) feature |= Feature.Simd;\n this.features |= feature;\n } else {\n // Disabling Reference Types also disables GC\n if (feature & Feature.ReferenceTypes) feature |= Feature.GC;\n // Disabling GC also disables Stringref\n if (feature & Feature.GC) feature |= Feature.Stringref;\n // Disabling SIMD also disables Relaxed SIMD\n if (feature & Feature.Simd) feature |= Feature.RelaxedSimd;\n this.features &= ~feature;\n }\n }\n\n /** Tests if a specific feature is activated. */\n hasFeature(feature: Feature): bool {\n return (this.features & feature) != 0;\n }\n}\n\n/** Behaviors regarding unchecked operations. */\nexport const enum UncheckedBehavior {\n /** Only use unchecked operations inside unchecked(). */\n Default = 0,\n /** Never use unchecked operations. */\n Never = 1,\n /** Always use unchecked operations if possible. */\n Always = 2\n}\n\n/** Various constraints in expression compilation. */\nexport const enum Constraints {\n None = 0,\n\n /** Must implicitly convert to the target type. */\n ConvImplicit = 1 << 0,\n /** Must explicitly convert to the target type. */\n ConvExplicit = 1 << 1,\n /** Must wrap small integer values to match the target type. */\n MustWrap = 1 << 2,\n\n /** Indicates that the value will be dropped immediately. */\n WillDrop = 1 << 3,\n /** Indicates that static data is preferred. */\n PreferStatic = 1 << 4,\n /** Indicates that the value will become `this` of a property access or instance call. */\n IsThis = 1 << 5\n}\n\n/** Runtime features to be activated by the compiler. */\nexport const enum RuntimeFeatures {\n None = 0,\n /** Requires data setup. */\n Data = 1 << 0,\n /** Requires a stack. */\n Stack = 1 << 1,\n /** Requires heap setup. */\n Heap = 1 << 2,\n /** Requires runtime type information setup. */\n Rtti = 1 << 3,\n /** Requires the built-in globals visitor. */\n visitGlobals = 1 << 4,\n /** Requires the built-in members visitor. */\n visitMembers = 1 << 5,\n /** Requires the setArgumentsLength export. */\n setArgumentsLength = 1 << 6\n}\n\n/** Imported default names of compiler-generated elements. */\nexport namespace ImportNames {\n /** Name of the default namespace */\n export const DefaultNamespace = \"env\";\n /** Name of the memory instance, if imported. */\n export const Memory = \"memory\";\n /** Name of the table instance, if imported. */\n export const Table = \"table\";\n}\n\n/** Exported names of compiler-generated elements. */\nexport namespace ExportNames {\n /** Name of the memory instance, if exported. */\n export const Memory = \"memory\";\n /** Name of the table instance, if exported. */\n export const Table = \"table\";\n /** Name of the argumentsLength varargs helper global. */\n export const argumentsLength = \"__argumentsLength\";\n /** Name of the alternative argumentsLength setter function. */\n export const setArgumentsLength = \"__setArgumentsLength\";\n}\n\n/** Functions to export if `--exportRuntime` is set. */\nexport const runtimeFunctions = [ \"__new\", \"__pin\", \"__unpin\", \"__collect\" ];\n/** Globals to export if `--exportRuntime` is set. */\nexport const runtimeGlobals = [ \"__rtti_base\" ];\n\n/** Compiler interface. */\nexport class Compiler extends DiagnosticEmitter {\n\n /** Program reference. */\n program: Program;\n /** Module instance being compiled. */\n get module(): Module { return this.program.module; }\n /** Provided options. */\n get options(): Options { return this.program.options; }\n /** Resolver reference. */\n get resolver(): Resolver { return this.program.resolver; }\n\n /** Current control flow. */\n currentFlow: Flow;\n /** Current parent element if not a function, i.e. an enum or namespace. */\n currentParent: Element | null = null;\n /** Current type in compilation. */\n currentType: Type = Type.void;\n /** Start function statements. */\n currentBody: ExpressionRef[];\n /** Counting memory offset. */\n memoryOffset: i64;\n /** Memory segments being compiled. */\n memorySegments: MemorySegment[] = [];\n /** Map of already compiled static string segments. */\n stringSegments: Map = new Map();\n /** Function table being compiled. First elem is blank. */\n functionTable: Function[] = [];\n /** Arguments length helper global. */\n builtinArgumentsLength: GlobalRef = 0;\n /** Requires runtime features. */\n runtimeFeatures: RuntimeFeatures = RuntimeFeatures.None;\n /** Current inline functions stack. */\n inlineStack: Function[] = [];\n /** Lazily compiled functions. */\n lazyFunctions: Set = new Set();\n /** Pending instanceof helpers and their names. */\n pendingInstanceOf: Map = new Map();\n /** Stubs to defer calls to overridden methods. */\n overrideStubs: Set = new Set();\n /** Elements currently undergoing compilation. */\n pendingElements: Set = new Set();\n /** Elements, that are module exports, already processed */\n doneModuleExports: Set = new Set();\n /** Shadow stack reference. */\n shadowStack!: ShadowStackPass;\n /** Whether the module has custom function exports. */\n hasCustomFunctionExports: bool = false;\n /** Whether the module would use the exported runtime to lift/lower. */\n desiresExportRuntime: bool = false;\n\n /** Compiles a {@link Program} to a {@link Module} using the specified options. */\n static compile(program: Program): Module {\n return new Compiler(program).compile();\n }\n\n /** Constructs a new compiler for a {@link Program} using the specified options. */\n constructor(program: Program) {\n super(program.diagnostics);\n this.program = program;\n let module = program.module;\n let options = program.options;\n if (options.memoryBase) {\n this.memoryOffset = i64_new(options.memoryBase);\n module.setLowMemoryUnused(false);\n } else {\n if (!options.lowMemoryLimit && options.optimizeLevelHint >= 2) {\n this.memoryOffset = i64_new(1024);\n module.setLowMemoryUnused(true);\n } else {\n this.memoryOffset = i64_new(8);\n module.setLowMemoryUnused(false);\n }\n }\n let featureFlags: FeatureFlags = 0;\n if (options.hasFeature(Feature.SignExtension)) featureFlags |= FeatureFlags.SignExt;\n if (options.hasFeature(Feature.MutableGlobals)) featureFlags |= FeatureFlags.MutableGlobals;\n if (options.hasFeature(Feature.NontrappingF2I)) featureFlags |= FeatureFlags.TruncSat;\n if (options.hasFeature(Feature.BulkMemory)) featureFlags |= FeatureFlags.BulkMemory;\n if (options.hasFeature(Feature.Simd)) featureFlags |= FeatureFlags.SIMD;\n if (options.hasFeature(Feature.Threads)) featureFlags |= FeatureFlags.Atomics;\n if (options.hasFeature(Feature.ExceptionHandling)) featureFlags |= FeatureFlags.ExceptionHandling;\n if (options.hasFeature(Feature.TailCalls)) featureFlags |= FeatureFlags.TailCall;\n if (options.hasFeature(Feature.ReferenceTypes)) featureFlags |= FeatureFlags.ReferenceTypes;\n if (options.hasFeature(Feature.MultiValue)) featureFlags |= FeatureFlags.MultiValue;\n if (options.hasFeature(Feature.GC)) featureFlags |= FeatureFlags.GC;\n if (options.hasFeature(Feature.Memory64)) featureFlags |= FeatureFlags.Memory64;\n if (options.hasFeature(Feature.RelaxedSimd)) featureFlags |= FeatureFlags.RelaxedSIMD;\n if (options.hasFeature(Feature.ExtendedConst)) featureFlags |= FeatureFlags.ExtendedConst;\n if (options.hasFeature(Feature.Stringref)) featureFlags |= FeatureFlags.Stringref;\n module.setFeatures(featureFlags);\n\n // set up the main start function\n let startFunctionInstance = program.makeNativeFunction(BuiltinNames.start, Signature.create(program, [], Type.void));\n startFunctionInstance.internalName = BuiltinNames.start;\n this.currentFlow = startFunctionInstance.flow;\n this.currentBody = new Array();\n this.shadowStack = new ShadowStackPass(this);\n }\n\n /** Performs compilation of the underlying {@link Program} to a {@link Module}. */\n compile(): Module {\n let options = this.options;\n let module = this.module;\n let program = this.program;\n let resolver = this.resolver;\n let hasShadowStack = options.stackSize > 0; // implies runtime=incremental\n\n // initialize lookup maps, built-ins, imports, exports, etc.\n this.program.initialize();\n\n // obtain the main start function\n let startFunctionInstance = this.currentFlow.targetFunction;\n assert(startFunctionInstance.internalName == BuiltinNames.start);\n let startFunctionBody = this.currentBody;\n assert(startFunctionBody.length == 0);\n\n // compile entry file(s) while traversing reachable elements\n let files = program.filesByName;\n // TODO: for (let file of files.values()) {\n for (let _values = Map_values(files), i = 0, k = _values.length; i < k; ++i) {\n let file = unchecked(_values[i]);\n if (file.source.sourceKind == SourceKind.UserEntry) {\n this.compileFile(file);\n this.compileModuleExports(file);\n }\n }\n\n // compile and export runtime if requested or necessary\n if (this.options.exportRuntime || (this.options.bindingsHint && this.desiresExportRuntime)) {\n for (let i = 0, k = runtimeFunctions.length; i < k; ++i) {\n let name = runtimeFunctions[i];\n let instance = program.requireFunction(name);\n if (this.compileFunction(instance) && !module.hasExport(name)) {\n module.addFunctionExport(instance.internalName, name);\n }\n }\n for (let i = 0, k = runtimeGlobals.length; i < k; ++i) {\n let name = runtimeGlobals[i];\n let instance = program.requireGlobal(name);\n if (this.compileGlobal(instance) && !module.hasExport(name)) {\n module.addGlobalExport(instance.internalName, name);\n }\n }\n }\n\n // compile lazy functions\n let lazyFunctions = this.lazyFunctions;\n do {\n let functionsToCompile = new Array();\n // TODO: for (let instance of lazyLibraryFunctions) {\n for (let _values = Set_values(lazyFunctions), i = 0, k = _values.length; i < k; ++i) {\n let instance = unchecked(_values[i]);\n functionsToCompile.push(instance);\n }\n lazyFunctions.clear();\n for (let i = 0, k = functionsToCompile.length; i < k; ++i) {\n this.compileFunction(unchecked(functionsToCompile[i]), true);\n }\n } while (lazyFunctions.size);\n\n // set up override stubs\n let functionTable = this.functionTable;\n let overrideStubs = this.overrideStubs;\n for (let i = 0, k = functionTable.length; i < k; ++i) {\n let instance = functionTable[i];\n if (instance.is(CommonFlags.Overridden)) {\n assert(instance.is(CommonFlags.Instance));\n functionTable[i] = this.ensureOverrideStub(instance); // includes varargs stub\n } else if (instance.signature.requiredParameters < instance.signature.parameterTypes.length) {\n functionTable[i] = this.ensureVarargsStub(instance);\n }\n }\n let overrideStubsSeen = new Set();\n do {\n // override stubs and overrides have cross-dependencies on each other, in that compiling\n // either may discover the respective other. do this in a loop until no more are found.\n resolver.discoveredOverride = false;\n for (let _values = Set_values(overrideStubs), i = 0, k = _values.length; i < k; ++i) {\n let instance = unchecked(_values[i]);\n let overrideInstances = resolver.resolveOverrides(instance);\n if (overrideInstances) {\n for (let i = 0, k = overrideInstances.length; i < k; ++i) {\n this.compileFunction(overrideInstances[i]);\n }\n }\n overrideStubsSeen.add(instance);\n }\n } while (overrideStubs.size > overrideStubsSeen.size || resolver.discoveredOverride);\n overrideStubsSeen.clear();\n for (let _values = Set_values(overrideStubs), i = 0, k = _values.length; i < k; ++i) {\n this.finalizeOverrideStub(_values[i]);\n }\n\n // compile pending instanceof helpers\n for (let _keys = Map_keys(this.pendingInstanceOf), i = 0, k = _keys.length; i < k; ++i) {\n let elem = _keys[i];\n let name = assert(this.pendingInstanceOf.get(elem));\n switch (elem.kind) {\n case ElementKind.Class:\n case ElementKind.Interface: {\n this.finalizeInstanceOf(elem, name);\n break;\n }\n case ElementKind.ClassPrototype:\n case ElementKind.InterfacePrototype: {\n this.finalizeAnyInstanceOf(elem, name);\n break;\n }\n default: assert(false);\n }\n }\n\n // finalize runtime features\n module.removeGlobal(BuiltinNames.rtti_base);\n if (this.runtimeFeatures & RuntimeFeatures.Rtti) compileRTTI(this);\n if (this.runtimeFeatures & RuntimeFeatures.visitGlobals) compileVisitGlobals(this);\n if (this.runtimeFeatures & RuntimeFeatures.visitMembers) compileVisitMembers(this);\n\n let memoryOffset = i64_align(this.memoryOffset, options.usizeType.byteSize);\n\n // finalize data\n module.removeGlobal(BuiltinNames.data_end);\n if ((this.runtimeFeatures & RuntimeFeatures.Data) != 0 || hasShadowStack) {\n if (options.isWasm64) {\n module.addGlobal(BuiltinNames.data_end, TypeRef.I64, false,\n module.i64(i64_low(memoryOffset), i64_high(memoryOffset))\n );\n } else {\n module.addGlobal(BuiltinNames.data_end, TypeRef.I32, false,\n module.i32(i64_low(memoryOffset))\n );\n }\n }\n\n // finalize stack (grows down from __heap_base to __data_end)\n module.removeGlobal(BuiltinNames.stack_pointer);\n if ((this.runtimeFeatures & RuntimeFeatures.Stack) != 0 || hasShadowStack) {\n memoryOffset = i64_align(\n i64_add(memoryOffset, i64_new(options.stackSize)),\n options.usizeType.byteSize\n );\n if (options.isWasm64) {\n module.addGlobal(BuiltinNames.stack_pointer, TypeRef.I64, true,\n module.i64(i64_low(memoryOffset), i64_high(memoryOffset))\n );\n } else {\n module.addGlobal(BuiltinNames.stack_pointer, TypeRef.I32, true,\n module.i32(i64_low(memoryOffset))\n );\n }\n }\n\n // finalize heap\n module.removeGlobal(BuiltinNames.heap_base);\n if ((this.runtimeFeatures & RuntimeFeatures.Heap) != 0 || hasShadowStack) {\n if (options.isWasm64) {\n module.addGlobal(BuiltinNames.heap_base, TypeRef.I64, false,\n module.i64(i64_low(memoryOffset), i64_high(memoryOffset))\n );\n } else {\n module.addGlobal(BuiltinNames.heap_base, TypeRef.I32, false,\n module.i32(i64_low(memoryOffset))\n );\n }\n }\n\n // setup default memory & table\n this.initDefaultMemory(memoryOffset);\n this.initDefaultTable();\n\n // expose the arguments length helper if there are varargs exports\n if (this.runtimeFeatures & RuntimeFeatures.setArgumentsLength) {\n module.addFunction(BuiltinNames.setArgumentsLength, TypeRef.I32, TypeRef.None, null,\n module.global_set(this.ensureArgumentsLength(), module.local_get(0, TypeRef.I32))\n );\n module.addFunctionExport(BuiltinNames.setArgumentsLength, ExportNames.setArgumentsLength);\n }\n\n // NOTE: no more element compiles from here. may go to the start function!\n\n // compile the start function if not empty or if explicitly requested\n let startIsEmpty = !startFunctionBody.length;\n let exportStart = options.exportStart;\n if (!startIsEmpty || exportStart != null) {\n let signature = startFunctionInstance.signature;\n if (!startIsEmpty && exportStart != null) {\n module.addGlobal(BuiltinNames.started, TypeRef.I32, true, module.i32(0));\n startFunctionBody.unshift(\n module.global_set(BuiltinNames.started, module.i32(1))\n );\n startFunctionBody.unshift(\n module.if(\n module.global_get(BuiltinNames.started, TypeRef.I32),\n module.return()\n )\n );\n }\n let funcRef = module.addFunction(\n startFunctionInstance.internalName,\n signature.paramRefs,\n signature.resultRefs,\n typesToRefs(startFunctionInstance.getNonParameterLocalTypes()),\n module.flatten(startFunctionBody)\n );\n startFunctionInstance.finalize(module, funcRef);\n if (exportStart == null) module.setStart(funcRef);\n else {\n if (!isIdentifier(exportStart) || module.hasExport(exportStart)) {\n this.error(\n DiagnosticCode.Start_function_name_0_is_invalid_or_conflicts_with_another_export,\n Source.native.range, exportStart\n );\n } else {\n module.addFunctionExport(startFunctionInstance.internalName, exportStart);\n }\n }\n }\n\n // Run custom passes\n if (hasShadowStack) {\n this.shadowStack.walkModule();\n }\n if (program.lookup(\"ASC_RTRACE\") != null) {\n new RtraceMemory(this).walkModule();\n }\n\n return module;\n }\n\n private initDefaultMemory(memoryOffset: i64): void {\n this.memoryOffset = memoryOffset;\n\n let options = this.options;\n let module = this.module;\n let memorySegments = this.memorySegments;\n\n let initialPages: u32 = 0;\n let maximumPages = Module.UNLIMITED_MEMORY;\n let isSharedMemory = false;\n\n if (options.memoryBase /* is specified */ || memorySegments.length) {\n initialPages = u32(i64_low(i64_shr_u(i64_align(memoryOffset, 0x10000), i64_new(16))));\n }\n\n if (options.initialMemory) {\n if (options.initialMemory < initialPages) {\n this.error(\n DiagnosticCode.Module_requires_at_least_0_pages_of_initial_memory,\n null,\n initialPages.toString()\n );\n } else {\n initialPages = options.initialMemory;\n }\n }\n\n if (options.maximumMemory) {\n if (options.maximumMemory < initialPages) {\n this.error(\n DiagnosticCode.Module_requires_at_least_0_pages_of_maximum_memory,\n null,\n initialPages.toString()\n );\n } else {\n maximumPages = options.maximumMemory;\n }\n }\n\n if (options.sharedMemory) {\n isSharedMemory = true;\n if (!options.maximumMemory) {\n this.error(\n DiagnosticCode.Shared_memory_requires_maximum_memory_to_be_defined,\n null\n );\n isSharedMemory = false;\n }\n if (!options.hasFeature(Feature.Threads)) {\n this.error(\n DiagnosticCode.Shared_memory_requires_feature_threads_to_be_enabled,\n null\n );\n isSharedMemory = false;\n }\n }\n\n // check that we didn't exceed lowMemoryLimit already\n let lowMemoryLimit32 = options.lowMemoryLimit;\n if (lowMemoryLimit32) {\n let lowMemoryLimit = i64_new(lowMemoryLimit32 & ~15);\n if (i64_gt(memoryOffset, lowMemoryLimit)) {\n this.error(\n DiagnosticCode.Low_memory_limit_exceeded_by_static_data_0_1,\n null, i64_to_string(memoryOffset), i64_to_string(lowMemoryLimit)\n );\n }\n }\n\n // Setup internal memory with default name \"0\"\n module.setMemory(\n initialPages,\n maximumPages,\n memorySegments,\n options.target,\n options.exportMemory ? ExportNames.Memory : null,\n CommonNames.DefaultMemory,\n isSharedMemory\n );\n\n // import memory if requested (default memory is named '0' by Binaryen)\n if (options.importMemory) {\n module.addMemoryImport(\n CommonNames.DefaultMemory,\n ImportNames.DefaultNamespace,\n ImportNames.Memory,\n isSharedMemory\n );\n }\n }\n\n private initDefaultTable(): void {\n let options = this.options;\n let module = this.module;\n\n // import and/or export table if requested (default table is named '0' by Binaryen)\n if (options.importTable) {\n module.addTableImport(\n CommonNames.DefaultTable,\n ImportNames.DefaultNamespace,\n ImportNames.Table\n );\n if (options.pedantic && options.willOptimize) {\n this.pedantic(\n DiagnosticCode.Importing_the_table_disables_some_indirect_call_optimizations,\n null\n );\n }\n }\n if (options.exportTable) {\n module.addTableExport(CommonNames.DefaultTable, ExportNames.Table);\n if (options.pedantic && options.willOptimize) {\n this.pedantic(\n DiagnosticCode.Exporting_the_table_disables_some_indirect_call_optimizations,\n null\n );\n }\n }\n\n // set up function table (first elem is blank)\n let tableBase = options.tableBase;\n if (!tableBase) tableBase = 1; // leave first elem blank\n let functionTable = this.functionTable;\n let functionTableNames = new Array(functionTable.length);\n for (let i = 0, k = functionTable.length; i < k; ++i) {\n functionTableNames[i] = functionTable[i].internalName;\n }\n\n let initialTableSize = tableBase + functionTable.length;\n let maximumTableSize = Module.UNLIMITED_TABLE;\n\n if (!(options.importTable || options.exportTable)) {\n // use fixed size for non-imported and non-exported tables\n maximumTableSize = initialTableSize;\n if (options.willOptimize) {\n // Hint for directize pass which indicate table's content will not change\n // and can be better optimized\n module.setPassArgument(\"directize-initial-contents-immutable\", \"true\");\n }\n }\n module.addFunctionTable(\n CommonNames.DefaultTable,\n initialTableSize,\n maximumTableSize,\n functionTableNames,\n module.i32(tableBase)\n );\n }\n\n // === Exports ==================================================================================\n\n /** Compiles the respective module exports for the specified entry file. */\n private compileModuleExports(file: File): void {\n let exports = file.exports;\n if (exports) {\n // TODO: for (let [elementName, element] of exports) {\n for (let _keys = Map_keys(exports), i = 0, k = _keys.length; i < k; ++i) {\n let elementName = unchecked(_keys[i]);\n let element = assert(exports.get(elementName));\n this.compileModuleExport(elementName, element);\n }\n }\n let exportsStar = file.exportsStar;\n if (exportsStar) {\n for (let i = 0, k = exportsStar.length; i < k; ++i) {\n this.compileModuleExports(exportsStar[i]);\n }\n }\n }\n\n /** Compiles the respective module export(s) for the specified element. */\n private compileModuleExport(name: string, element: DeclaredElement, prefix: string = \"\"): void {\n let module = this.module;\n switch (element.kind) {\n case ElementKind.FunctionPrototype: {\n // obtain the default instance\n let functionPrototype = element;\n if (!functionPrototype.is(CommonFlags.Generic)) {\n let functionInstance = this.resolver.resolveFunction(functionPrototype, null);\n if (functionInstance) {\n this.compileModuleExport(name, functionInstance, prefix);\n }\n return;\n }\n break;\n }\n case ElementKind.Function: {\n let functionInstance = element;\n if (!functionInstance.hasDecorator(DecoratorFlags.Builtin)) {\n let signature = functionInstance.signature;\n if (signature.requiredParameters < signature.parameterTypes.length) {\n // utilize varargs stub to fill in omitted arguments\n functionInstance = this.ensureVarargsStub(functionInstance);\n this.runtimeFeatures |= RuntimeFeatures.setArgumentsLength;\n }\n this.compileFunction(functionInstance);\n if (functionInstance.is(CommonFlags.Compiled)) {\n let exportName = prefix + name;\n if (!module.hasExport(exportName)) {\n module.addFunctionExport(functionInstance.internalName, exportName);\n this.hasCustomFunctionExports = true;\n let hasManagedOperands = signature.hasManagedOperands;\n if (hasManagedOperands) {\n this.shadowStack.noteExport(exportName, signature.getManagedOperandIndices());\n }\n if (!this.desiresExportRuntime) {\n let thisType = signature.thisType;\n if (\n thisType && lowerRequiresExportRuntime(thisType) ||\n liftRequiresExportRuntime(signature.returnType)\n ) {\n this.desiresExportRuntime = true;\n } else {\n let parameterTypes = signature.parameterTypes;\n for (let i = 0, k = parameterTypes.length; i < k; ++i) {\n if (lowerRequiresExportRuntime(parameterTypes[i])) {\n this.desiresExportRuntime = true;\n break;\n }\n }\n }\n }\n }\n return;\n }\n }\n break;\n }\n case ElementKind.Global: {\n let global = element;\n let isConst = global.is(CommonFlags.Const) || global.is(CommonFlags.Static | CommonFlags.Readonly);\n if (!isConst && !this.options.hasFeature(Feature.MutableGlobals)) {\n this.warning(\n DiagnosticCode.Feature_0_is_not_enabled,\n global.identifierNode.range, \"mutable-globals\"\n );\n return;\n }\n this.compileGlobal(global);\n if (global.is(CommonFlags.Compiled)) {\n let exportName = prefix + name;\n if (!module.hasExport(exportName)) {\n module.addGlobalExport(element.internalName, exportName);\n if (!this.desiresExportRuntime) {\n let type = global.type;\n if (\n liftRequiresExportRuntime(type) ||\n !global.is(CommonFlags.Const) && lowerRequiresExportRuntime(type)\n ) {\n this.desiresExportRuntime = true;\n }\n }\n }\n if (global.type == Type.v128) {\n this.warning(\n DiagnosticCode.Exchange_of_0_values_is_not_supported_by_all_embeddings,\n global.typeNode\n ? assert(global.typeNode).range\n : global.identifierNode.range,\n \"v128\"\n );\n }\n return;\n }\n break;\n }\n case ElementKind.Enum: {\n this.compileEnum(element);\n let members = element.members;\n if (members) {\n let subPrefix = prefix + name + STATIC_DELIMITER;\n for (let _keys = Map_keys(members), i = 0, k = _keys.length; i < k; ++i) {\n let memberName = unchecked(_keys[i]);\n let member = assert(members.get(memberName));\n if (!member.is(CommonFlags.Private)) {\n this.compileModuleExport(memberName, member, subPrefix);\n }\n }\n }\n return;\n }\n case ElementKind.EnumValue: {\n let enumValue = element;\n if (!enumValue.isImmutable && !this.options.hasFeature(Feature.MutableGlobals)) {\n this.error(\n DiagnosticCode.Feature_0_is_not_enabled,\n enumValue.identifierNode.range, \"mutable-globals\"\n );\n return;\n }\n if (enumValue.is(CommonFlags.Compiled)) {\n let exportName = prefix + name;\n if (!module.hasExport(exportName)) {\n module.addGlobalExport(element.internalName, exportName);\n }\n return;\n }\n break;\n }\n }\n this.warning(\n DiagnosticCode.Only_variables_functions_and_enums_become_WebAssembly_module_exports,\n element.identifierNode.range\n );\n }\n\n // files\n\n /** Compiles the file matching the specified path. */\n compileFileByPath(normalizedPathWithoutExtension: string, reportNode: Node): void {\n let file: File;\n let filesByName = this.program.filesByName;\n let pathWithIndex: string;\n if (filesByName.has(normalizedPathWithoutExtension)) {\n file = assert(filesByName.get(normalizedPathWithoutExtension));\n } else if (filesByName.has(pathWithIndex = normalizedPathWithoutExtension + INDEX_SUFFIX)) {\n file = assert(filesByName.get(pathWithIndex));\n } else {\n this.error(\n DiagnosticCode.File_0_not_found,\n reportNode.range, normalizedPathWithoutExtension\n );\n return;\n }\n this.compileFile(file);\n }\n\n /** Compiles the specified file. */\n compileFile(file: File): void {\n if (file.is(CommonFlags.Compiled)) return;\n file.set(CommonFlags.Compiled);\n\n // compile top-level statements within the file's start function\n let startFunction = file.startFunction;\n let startSignature = startFunction.signature;\n let previousBody = this.currentBody;\n let startFunctionBody = new Array();\n this.currentBody = startFunctionBody;\n\n // compile top-level statements\n let previousFlow = this.currentFlow;\n let flow = startFunction.flow;\n this.currentFlow = flow;\n for (let statements = file.source.statements, i = 0, k = statements.length; i < k; ++i) {\n this.compileTopLevelStatement(statements[i], startFunctionBody);\n }\n // no need to insert unreachable since last statement should have done that\n this.currentFlow = previousFlow;\n this.currentBody = previousBody;\n\n // if top-level statements are present, make the per-file start function and call it in start\n if (startFunctionBody.length) {\n let module = this.module;\n let locals = startFunction.localsByIndex;\n let numLocals = locals.length;\n let varTypes = new Array(numLocals);\n for (let i = 0; i < numLocals; ++i) varTypes[i] = locals[i].type.toRef();\n const funcRef = module.addFunction(\n startFunction.internalName,\n startSignature.paramRefs,\n startSignature.resultRefs,\n varTypes,\n module.flatten(startFunctionBody)\n );\n startFunction.finalize(module, funcRef);\n previousBody.push(\n module.call(startFunction.internalName, null, TypeRef.None)\n );\n }\n }\n\n // === Globals ==================================================================================\n\n /** Tries to compile a global variable lazily. */\n compileGlobalLazy(global: Global, reportNode: Node): bool {\n if (global.is(CommonFlags.Compiled)) return !global.is(CommonFlags.Errored);\n if (global.hasAnyDecorator(DecoratorFlags.Lazy | DecoratorFlags.Builtin) || global.is(CommonFlags.Ambient)) {\n return this.compileGlobal(global); // compile now\n }\n // Otherwise the global is used before its initializer executes\n this.errorRelated(\n DiagnosticCode.Variable_0_used_before_its_declaration,\n reportNode.range, global.identifierNode.range, global.internalName\n );\n return false;\n }\n\n /** Compiles a global variable. */\n compileGlobal(global: Global): bool {\n if (global.is(CommonFlags.Compiled)) return !global.is(CommonFlags.Errored);\n global.set(CommonFlags.Compiled);\n\n let pendingElements = this.pendingElements;\n pendingElements.add(global);\n\n let module = this.module;\n let initExpr: ExpressionRef = 0;\n let typeNode = global.typeNode;\n let initializerNode = global.initializerNode;\n\n if (!global.is(CommonFlags.Resolved)) {\n\n // Resolve type if annotated\n if (typeNode) {\n let resolvedType = this.resolver.resolveType(typeNode, null, global.parent); // reports\n if (!resolvedType) {\n global.set(CommonFlags.Errored);\n pendingElements.delete(global);\n return false;\n }\n if (resolvedType == Type.void) {\n this.error(\n DiagnosticCode.Type_expected,\n typeNode.range\n );\n global.set(CommonFlags.Errored);\n pendingElements.delete(global);\n return false;\n }\n global.setType(resolvedType);\n this.program.checkTypeSupported(resolvedType, typeNode);\n\n // Otherwise infer type from initializer\n } else if (initializerNode) {\n let previousFlow = this.currentFlow;\n if (global.hasDecorator(DecoratorFlags.Lazy)) {\n this.currentFlow = global.file.startFunction.flow;\n }\n initExpr = this.compileExpression(initializerNode, Type.auto, // reports\n Constraints.MustWrap | Constraints.PreferStatic\n );\n this.currentFlow = previousFlow;\n if (this.currentType == Type.void) {\n this.error(\n DiagnosticCode.Type_0_is_not_assignable_to_type_1,\n initializerNode.range, this.currentType.toString(), \"\"\n );\n global.set(CommonFlags.Errored);\n pendingElements.delete(global);\n return false;\n }\n global.setType(this.currentType);\n\n // Error if there's neither a type nor an initializer\n } else {\n this.error(\n DiagnosticCode.Type_expected,\n global.identifierNode.range.atEnd\n );\n global.set(CommonFlags.Errored);\n pendingElements.delete(global);\n return false;\n }\n }\n\n // Handle builtins like '__heap_base' that need to be resolved but are added explicitly\n if (global.hasDecorator(DecoratorFlags.Builtin)) {\n let internalName = global.internalName;\n if (builtinVariables_onCompile.has(internalName)) { // optional\n let fn = assert(builtinVariables_onCompile.get(internalName));\n fn(new BuiltinVariableContext(this, global));\n }\n pendingElements.delete(global);\n return true;\n }\n\n let type = global.type;\n\n // Enforce either an initializer, a definitive assignment or a nullable type\n // to guarantee soundness when globals are accessed. In the absence of an\n // initializer, a definitive assignment guarantees a runtime check, whereas\n // a nullable type guarantees that obtaining default `null` is OK. Avoids:\n //\n // let foo: string;\n // function bar() {\n // foo.length; // no error in TS even though undefined\n // }\n // bar();\n if (\n !initializerNode && !global.is(CommonFlags.DefinitelyAssigned) &&\n type.isReference && !type.isNullableReference\n ) {\n this.error(\n DiagnosticCode.Initializer_definitive_assignment_or_nullable_type_expected,\n global.identifierNode.range\n );\n }\n\n let typeRef = type.toRef();\n let isDeclaredConstant = global.is(CommonFlags.Const) || global.is(CommonFlags.Static | CommonFlags.Readonly);\n let isDeclaredInline = global.hasDecorator(DecoratorFlags.Inline);\n\n // Handle imports\n if (global.is(CommonFlags.Ambient)) {\n\n // Constant global or mutable globals enabled\n if (isDeclaredConstant || this.options.hasFeature(Feature.MutableGlobals)) {\n mangleImportName(global, global.declaration);\n this.program.markModuleImport(mangleImportName_moduleName, mangleImportName_elementName, global);\n module.addGlobalImport(\n global.internalName,\n mangleImportName_moduleName,\n mangleImportName_elementName,\n typeRef,\n !isDeclaredConstant\n );\n pendingElements.delete(global);\n if (!this.desiresExportRuntime && lowerRequiresExportRuntime(type)) {\n this.desiresExportRuntime = true;\n }\n return true;\n }\n\n // Importing mutable globals is not supported in the MVP\n this.error(\n DiagnosticCode.Feature_0_is_not_enabled,\n global.declaration.range, \"mutable-globals\"\n );\n global.set(CommonFlags.Errored);\n pendingElements.delete(global);\n return false;\n }\n\n // The MVP does not yet support initializer expressions other than constants and gets of\n // imported immutable globals, hence such initializations must be performed in the start.\n let initializeInStart = false;\n\n // Evaluate initializer if present\n if (initializerNode) {\n if (!initExpr) {\n let previousFlow = this.currentFlow;\n if (global.hasDecorator(DecoratorFlags.Lazy)) {\n this.currentFlow = global.file.startFunction.flow;\n }\n initExpr = this.compileExpression(initializerNode, type,\n Constraints.ConvImplicit | Constraints.MustWrap | Constraints.PreferStatic\n );\n this.currentFlow = previousFlow;\n }\n\n // If not a constant expression, attempt to precompute\n if (!module.isConstExpression(initExpr)) {\n if (isDeclaredConstant) {\n let precomp = module.runExpression(initExpr, ExpressionRunnerFlags.PreserveSideeffects);\n if (precomp) {\n initExpr = precomp;\n } else {\n initializeInStart = true;\n }\n } else {\n initializeInStart = true;\n }\n }\n\n // Handle special case of initializing from imported immutable global\n if (initializeInStart && getExpressionId(initExpr) == ExpressionId.GlobalGet) {\n let fromName = assert(getGlobalGetName(initExpr));\n if (!isGlobalMutable(module.getGlobal(fromName))) {\n let elementsByName = this.program.elementsByName;\n if (elementsByName.has(fromName)) {\n let global = assert(elementsByName.get(fromName));\n if (global.is(CommonFlags.Ambient)) initializeInStart = false;\n }\n }\n }\n\n // Explicitly inline if annotated\n if (isDeclaredInline) {\n if (initializeInStart) {\n this.warning(\n DiagnosticCode.Mutable_value_cannot_be_inlined,\n initializerNode.range\n );\n } else {\n assert(getExpressionId(initExpr) == ExpressionId.Const);\n let exprType = getExpressionType(initExpr);\n switch (exprType) {\n case TypeRef.I32: {\n global.constantValueKind = ConstantValueKind.Integer;\n global.constantIntegerValue = i64_new(getConstValueI32(initExpr), 0);\n break;\n }\n case TypeRef.I64: {\n global.constantValueKind = ConstantValueKind.Integer;\n global.constantIntegerValue = i64_new(\n getConstValueI64Low(initExpr),\n getConstValueI64High(initExpr)\n );\n break;\n }\n case TypeRef.F32: {\n global.constantValueKind = ConstantValueKind.Float;\n global.constantFloatValue = getConstValueF32(initExpr);\n break;\n }\n case TypeRef.F64: {\n global.constantValueKind = ConstantValueKind.Float;\n global.constantFloatValue = getConstValueF64(initExpr);\n break;\n }\n default: {\n assert(false);\n global.set(CommonFlags.Errored);\n pendingElements.delete(global);\n return false;\n }\n }\n global.set(CommonFlags.Inlined); // inline the value from now on\n }\n }\n\n // Initialize to zero if there's no initializer\n } else {\n if (global.is(CommonFlags.Inlined)) {\n initExpr = this.compileInlineConstant(global, global.type, Constraints.PreferStatic);\n } else {\n initExpr = this.makeZero(type);\n }\n }\n\n let internalName = global.internalName;\n\n if (initializeInStart) { // initialize to mutable zero and set the actual value in start\n if (isDeclaredInline) {\n this.error(\n DiagnosticCode.Decorator_0_is_not_valid_here,\n findDecorator(DecoratorKind.Inline, global.decoratorNodes)!.range, \"inline\"\n );\n }\n let internalType = type;\n if (type.isExternalReference && !type.is(TypeFlags.Nullable)) {\n // There is no default value for non-nullable external references, so\n // make the global nullable internally and use `null`.\n global.set(CommonFlags.InternallyNullable);\n internalType = type.asNullable();\n }\n module.addGlobal(internalName, internalType.toRef(), true, this.makeZero(internalType));\n this.currentBody.push(\n module.global_set(internalName, initExpr)\n );\n } else if (!isDeclaredInline) { // compile normally\n module.addGlobal(internalName, typeRef, !isDeclaredConstant, initExpr);\n }\n pendingElements.delete(global);\n return true;\n }\n\n // === Enums ====================================================================================\n\n /** Compiles an enum. */\n compileEnum(element: Enum): bool {\n if (element.is(CommonFlags.Compiled)) return !element.is(CommonFlags.Errored);\n element.set(CommonFlags.Compiled);\n\n let pendingElements = this.pendingElements;\n pendingElements.add(element);\n\n let module = this.module;\n let previousParent = this.currentParent;\n this.currentParent = element;\n let previousValue: EnumValue | null = null;\n let previousValueIsMut = false;\n let isInline = element.is(CommonFlags.Const) || element.hasDecorator(DecoratorFlags.Inline);\n\n let members = element.members;\n if (members) {\n // TODO: for (let member of element.members.values()) {\n for (let _values = Map_values(members), i = 0, k = _values.length; i < k; ++i) {\n let member = unchecked(_values[i]);\n if (member.kind != ElementKind.EnumValue) continue; // happens if an enum is also a namespace\n let initInStart = false;\n let enumValue = member;\n let valueNode = enumValue.valueNode;\n enumValue.set(CommonFlags.Compiled);\n let previousFlow = this.currentFlow;\n if (element.hasDecorator(DecoratorFlags.Lazy)) {\n this.currentFlow = element.file.startFunction.flow;\n }\n let initExpr: ExpressionRef;\n if (valueNode) {\n initExpr = this.compileExpression(valueNode, Type.i32,\n Constraints.ConvImplicit\n );\n if (getExpressionId(initExpr) != ExpressionId.Const) {\n let precomp = module.runExpression(initExpr, ExpressionRunnerFlags.PreserveSideeffects);\n if (precomp) {\n initExpr = precomp;\n } else {\n if (element.is(CommonFlags.Const)) {\n this.error(\n DiagnosticCode.In_const_enum_declarations_member_initializer_must_be_constant_expression,\n valueNode.range\n );\n }\n initInStart = true;\n }\n }\n } else if (previousValue == null) {\n initExpr = module.i32(0);\n } else {\n if (previousValueIsMut) {\n this.error(\n DiagnosticCode.Enum_member_must_have_initializer,\n enumValue.identifierNode.range.atEnd\n );\n }\n if (isInline) {\n let value = i64_add(previousValue.constantIntegerValue, i64_new(1));\n assert(!i64_high(value));\n initExpr = module.i32(i64_low(value));\n } else {\n initExpr = module.binary(BinaryOp.AddI32,\n module.global_get(previousValue.internalName, TypeRef.I32),\n module.i32(1)\n );\n let precomp = module.runExpression(initExpr, ExpressionRunnerFlags.PreserveSideeffects);\n if (precomp) {\n initExpr = precomp;\n } else {\n if (element.is(CommonFlags.Const)) {\n this.error(\n DiagnosticCode.In_const_enum_declarations_member_initializer_must_be_constant_expression,\n member.declaration.range\n );\n }\n initInStart = true;\n }\n }\n }\n this.currentFlow = previousFlow;\n if (initInStart) {\n module.addGlobal(enumValue.internalName, TypeRef.I32, true, module.i32(0));\n this.currentBody.push(\n this.makeGlobalAssignment(enumValue, initExpr, Type.i32, false)\n );\n previousValueIsMut = true;\n } else {\n if (isInline) {\n enumValue.setConstantIntegerValue(i64_new(getConstValueI32(initExpr)), Type.i32);\n if (enumValue.is(CommonFlags.ModuleExport)) {\n module.addGlobal(enumValue.internalName, TypeRef.I32, false, initExpr);\n }\n } else {\n module.addGlobal(enumValue.internalName, TypeRef.I32, false, initExpr);\n }\n enumValue.isImmutable = true;\n previousValueIsMut = false;\n }\n previousValue = enumValue;\n }\n }\n this.currentParent = previousParent;\n pendingElements.delete(element);\n return true;\n }\n\n // === Functions ================================================================================\n\n /** Compiles a priorly resolved function. */\n compileFunction(\n /** Function to compile. */\n instance: Function,\n /** Force compilation of stdlib alternative if a builtin. */\n forceStdAlternative: bool = false\n ): bool {\n if (instance.is(CommonFlags.Compiled)) return !instance.is(CommonFlags.Errored);\n\n if (!forceStdAlternative) {\n if (instance.hasDecorator(DecoratorFlags.Builtin)) return true;\n if (instance.hasDecorator(DecoratorFlags.Lazy)) {\n this.lazyFunctions.add(instance);\n return true;\n }\n }\n\n // ensure the function has no duplicate parameters\n let parameters = instance.prototype.functionTypeNode.parameters;\n let numParameters = parameters.length;\n if (numParameters >= 2) {\n let visited = new Set();\n visited.add(parameters[0].name.text);\n for (let i = 1; i < numParameters; i++) {\n let paramIdentifier = parameters[i].name;\n let paramName = paramIdentifier.text;\n if (!visited.has(paramName)) {\n visited.add(paramName);\n } else {\n this.error(\n DiagnosticCode.Duplicate_identifier_0,\n paramIdentifier.range, paramName\n );\n }\n }\n }\n\n instance.set(CommonFlags.Compiled);\n let pendingElements = this.pendingElements;\n pendingElements.add(instance);\n\n let previousType = this.currentType;\n let module = this.module;\n let signature = instance.signature;\n let bodyNode = instance.prototype.bodyNode;\n let declarationNode = instance.declaration;\n assert(declarationNode.kind == NodeKind.FunctionDeclaration || declarationNode.kind == NodeKind.MethodDeclaration);\n this.checkSignatureSupported(instance.signature, (declarationNode).signature);\n\n let funcRef: FunctionRef = 0;\n\n // concrete function\n if (bodyNode) {\n\n // must not be ambient\n if (instance.is(CommonFlags.Ambient)) {\n this.error(\n DiagnosticCode.An_implementation_cannot_be_declared_in_ambient_contexts,\n instance.identifierNode.range\n );\n }\n\n // cannot have an annotated external name or code\n if (instance.hasAnyDecorator(DecoratorFlags.External | DecoratorFlags.ExternalJs)) {\n let decoratorNodes = instance.decoratorNodes;\n let decorator: DecoratorNode | null;\n if (decorator = findDecorator(DecoratorKind.External, decoratorNodes)) {\n this.error(\n DiagnosticCode.Decorator_0_is_not_valid_here,\n decorator.range, \"external\"\n );\n }\n if (decorator = findDecorator(DecoratorKind.ExternalJs, decoratorNodes)) {\n this.error(\n DiagnosticCode.Decorator_0_is_not_valid_here,\n decorator.range, \"external.js\"\n );\n }\n }\n\n // compile body in this function's context\n let previousFlow = this.currentFlow;\n let flow = instance.flow;\n this.currentFlow = flow;\n let stmts = new Array();\n\n if (!this.compileFunctionBody(instance, stmts)) {\n stmts.push(module.unreachable());\n }\n\n this.currentFlow = previousFlow;\n\n // create the function\n funcRef = module.addFunction(\n instance.internalName,\n signature.paramRefs,\n signature.resultRefs,\n typesToRefs(instance.getNonParameterLocalTypes()),\n module.flatten(stmts, instance.signature.returnType.toRef())\n );\n\n // imported function\n } else if (instance.is(CommonFlags.Ambient)) {\n mangleImportName(instance, declarationNode); // TODO: check for duplicates\n this.program.markModuleImport(mangleImportName_moduleName, mangleImportName_elementName, instance);\n module.addFunctionImport(\n instance.internalName,\n mangleImportName_moduleName,\n mangleImportName_elementName,\n signature.paramRefs,\n signature.resultRefs\n );\n funcRef = module.getFunction(instance.internalName);\n if (!this.desiresExportRuntime) {\n let thisType = signature.thisType;\n if (\n thisType && liftRequiresExportRuntime(thisType) ||\n lowerRequiresExportRuntime(signature.returnType)\n ) {\n this.desiresExportRuntime = true;\n } else {\n let parameterTypes = signature.parameterTypes;\n for (let i = 0, k = parameterTypes.length; i < k; ++i) {\n if (liftRequiresExportRuntime(parameterTypes[i])) {\n this.desiresExportRuntime = true;\n break;\n }\n }\n }\n }\n\n // abstract or interface function\n } else if (instance.is(CommonFlags.Abstract) || instance.parent.kind == ElementKind.Interface) {\n funcRef = module.addFunction(\n instance.internalName,\n signature.paramRefs,\n signature.resultRefs,\n null,\n module.unreachable()\n );\n\n } else {\n // built-in field accessor?\n if (instance.isAny(CommonFlags.Get | CommonFlags.Set)) {\n let propertyName = instance.declaration.name.text;\n let propertyParent = assert(instance.parent.getMember(propertyName));\n assert(propertyParent.kind == ElementKind.PropertyPrototype);\n let propertyInstance = (propertyParent).instance;\n if (propertyInstance && propertyInstance.isField) {\n funcRef = instance.is(CommonFlags.Get)\n ? this.makeBuiltinFieldGetter(propertyInstance)\n : this.makeBuiltinFieldSetter(propertyInstance);\n assert(instance.is(CommonFlags.Compiled));\n }\n }\n if (!funcRef) {\n this.error(\n DiagnosticCode.Function_implementation_is_missing_or_not_immediately_following_the_declaration,\n instance.identifierNode.range\n );\n instance.set(CommonFlags.Errored);\n }\n }\n\n if (instance.is(CommonFlags.Ambient) || instance.is(CommonFlags.Export)) {\n // Verify and print warn if signature has v128 type for imported or exported functions\n let hasVectorValueOperands = signature.hasVectorValueOperands;\n if (hasVectorValueOperands) {\n let range: Range;\n let fnTypeNode = instance.prototype.functionTypeNode;\n if (signature.returnType == Type.v128) {\n range = fnTypeNode.returnType.range;\n } else {\n let firstIndex = signature.getVectorValueOperandIndices()[0];\n range = fnTypeNode.parameters[firstIndex].range;\n }\n this.warning(\n DiagnosticCode.Exchange_of_0_values_is_not_supported_by_all_embeddings,\n range, \"v128\"\n );\n }\n }\n\n instance.finalize(module, funcRef);\n this.currentType = previousType;\n pendingElements.delete(instance);\n return true;\n }\n\n /** Compiles the body of a function within the specified flow. */\n private compileFunctionBody(\n /** Function to compile. */\n instance: Function,\n /** Target array of statements also being returned. Creates a new array if omitted. */\n stmts: ExpressionRef[]\n ): bool {\n let module = this.module;\n let bodyNode = assert(instance.prototype.bodyNode);\n let returnType = instance.signature.returnType;\n let flow = this.currentFlow;\n let thisLocal = instance.signature.thisType\n ? assert(flow.lookupLocal(CommonNames.this_))\n : null;\n let bodyStartIndex = stmts.length;\n\n // compile statements\n if (bodyNode.kind == NodeKind.Block) {\n stmts = this.compileStatements((bodyNode).statements, stmts);\n } else {\n // must be an expression statement if not a block\n assert(bodyNode.kind == NodeKind.Expression);\n\n // must be an arrow function\n assert(instance.prototype.arrowKind);\n\n // none of the following can be an arrow function\n assert(!instance.isAny(CommonFlags.Constructor | CommonFlags.Get | CommonFlags.Set));\n\n let expr = this.compileExpression((bodyNode).expression, returnType, Constraints.ConvImplicit);\n if (!flow.canOverflow(expr, returnType)) flow.set(FlowFlags.ReturnsWrapped);\n if (flow.isNonnull(expr, returnType)) flow.set(FlowFlags.ReturnsNonNull);\n\n if (!stmts) stmts = [ expr ];\n else stmts.push(expr);\n\n if (!flow.is(FlowFlags.Terminates)) {\n if (!flow.canOverflow(expr, returnType)) flow.set(FlowFlags.ReturnsWrapped);\n if (flow.isNonnull(expr, returnType)) flow.set(FlowFlags.ReturnsNonNull);\n flow.set(FlowFlags.Returns | FlowFlags.Terminates);\n }\n }\n\n // Make constructors return their instance pointer, and prepend a conditional\n // allocation if any code path accesses `this`.\n if (instance.is(CommonFlags.Constructor)) {\n assert(instance.is(CommonFlags.Instance));\n thisLocal = assert(thisLocal);\n let parent = assert(instance.parent);\n assert(parent.kind == ElementKind.Class);\n let classInstance = parent;\n\n if (flow.isAny(FlowFlags.AccessesThis | FlowFlags.ConditionallyAccessesThis) || !flow.is(FlowFlags.Terminates)) {\n\n // Allocate `this` if not a super call, and initialize fields\n let allocStmts = new Array();\n allocStmts.push(\n this.makeConditionalAllocation(classInstance, thisLocal.index)\n );\n this.makeFieldInitializationInConstructor(classInstance, allocStmts);\n\n // Insert right before the body\n for (let i = stmts.length - 1; i >= bodyStartIndex; --i) {\n stmts[i + 1] = stmts[i];\n }\n stmts[bodyStartIndex] = module.flatten(allocStmts, TypeRef.None);\n\n // Just prepended allocation is dropped when returning non-'this'\n if (flow.is(FlowFlags.MayReturnNonThis)) {\n if (this.options.pedantic) {\n this.pedantic(\n DiagnosticCode.Explicitly_returning_constructor_drops_this_allocation,\n instance.identifierNode.range\n );\n }\n }\n }\n\n // Returning something else than 'this' would break 'super()' calls\n if (flow.is(FlowFlags.MayReturnNonThis) && !classInstance.hasDecorator(DecoratorFlags.Final)) {\n this.error(\n DiagnosticCode.A_class_with_a_constructor_explicitly_returning_something_else_than_this_must_be_final,\n classInstance.identifierNode.range\n );\n }\n\n // Implicitly return `this` if the flow falls through\n if (!flow.is(FlowFlags.Terminates)) {\n stmts.push(\n module.local_get(thisLocal.index, thisLocal.type.toRef())\n );\n flow.set(FlowFlags.Returns | FlowFlags.ReturnsNonNull | FlowFlags.Terminates);\n }\n\n // check that super has been called if this is a derived class\n if (classInstance.base && !classInstance.prototype.implicitlyExtendsObject && !flow.is(FlowFlags.CallsSuper)) {\n this.error(\n DiagnosticCode.Constructors_for_derived_classes_must_contain_a_super_call,\n instance.prototype.declaration.range\n );\n }\n\n // if this is a normal function, make sure that all branches terminate\n } else if (returnType != Type.void && !flow.is(FlowFlags.Terminates)) {\n this.error(\n DiagnosticCode.A_function_whose_declared_type_is_not_void_must_return_a_value,\n instance.prototype.functionTypeNode.returnType.range\n );\n return false; // not recoverable\n }\n\n return true;\n }\n\n /** Makes a built-in getter of a property that is a field. */\n private makeBuiltinFieldGetter(property: Property): FunctionRef {\n let getterInstance = assert(property.getterInstance);\n let module = this.module;\n let valueType = property.type;\n let valueTypeRef = valueType.toRef();\n let thisTypeRef = this.options.sizeTypeRef;\n getterInstance.set(CommonFlags.Compiled);\n let body = module.load(valueType.byteSize, valueType.isSignedIntegerValue,\n module.local_get(0, thisTypeRef),\n valueTypeRef, property.memoryOffset\n );\n let flowBefore = this.currentFlow;\n let flow = getterInstance.flow;\n this.currentFlow = flow;\n if (property.is(CommonFlags.DefinitelyAssigned) && valueType.isReference && !valueType.isNullableReference) {\n body = this.makeRuntimeNonNullCheck(body, valueType, getterInstance.identifierNode);\n }\n this.currentFlow = flowBefore;\n return module.addFunction(\n getterInstance.internalName,\n thisTypeRef,\n valueTypeRef,\n typesToRefs(getterInstance.getNonParameterLocalTypes()),\n body\n );\n }\n\n /** Makes a built-in setter of a property that is a field. */\n private makeBuiltinFieldSetter(property: Property): FunctionRef {\n let setterInstance = assert(property.setterInstance);\n let module = this.module;\n let valueType = property.type;\n let thisTypeRef = this.options.sizeTypeRef;\n let valueTypeRef = valueType.toRef();\n // void(this.field = value)\n let bodyExpr = module.store(valueType.byteSize,\n module.local_get(0, thisTypeRef),\n module.local_get(1, valueTypeRef),\n valueTypeRef, property.memoryOffset\n );\n if (valueType.isManaged) {\n let parent = setterInstance.parent;\n assert(parent.kind == ElementKind.Class);\n if ((parent).type.isManaged) {\n let linkInstance = this.program.linkInstance;\n this.compileFunction(linkInstance);\n bodyExpr = module.block(null, [\n bodyExpr,\n module.call(linkInstance.internalName, [\n module.local_get(0, thisTypeRef),\n module.local_get(1, valueTypeRef),\n module.i32(0)\n ], TypeRef.None)\n ], TypeRef.None);\n }\n }\n setterInstance.set(CommonFlags.Compiled);\n return module.addFunction(\n setterInstance.internalName,\n createType([ thisTypeRef, valueTypeRef ]),\n TypeRef.None,\n null,\n bodyExpr\n );\n }\n\n // === Memory ===================================================================================\n\n /** Adds a static memory segment with the specified data. */\n addAlignedMemorySegment(buffer: Uint8Array, alignment: i32 = 16): MemorySegment {\n assert(isPowerOf2(alignment));\n let memoryOffset = i64_align(this.memoryOffset, alignment);\n let segment = new MemorySegment(buffer, memoryOffset);\n this.memorySegments.push(segment);\n this.memoryOffset = i64_add(memoryOffset, i64_new(buffer.length));\n return segment;\n }\n\n /** Adds a static memory segment representing a runtime object. */\n addRuntimeMemorySegment(buffer: Uint8Array): MemorySegment {\n let memoryOffset = this.program.computeBlockStart64(this.memoryOffset);\n let segment = new MemorySegment(buffer, memoryOffset);\n this.memorySegments.push(segment);\n this.memoryOffset = i64_add(memoryOffset, i64_new(buffer.length));\n return segment;\n }\n\n /** Ensures that a string exists in static memory and returns a pointer expression. Deduplicates. */\n ensureStaticString(stringValue: string): ExpressionRef {\n let ptr = this.ensureStaticStringPtr(stringValue);\n this.currentType = this.program.stringInstance.type;\n return this.module.usize(ptr);\n }\n\n /** Ensures that a string exists in static memory and returns a pointer to it. Deduplicates. */\n ensureStaticStringPtr(stringValue: string): i64 {\n let program = this.program;\n let totalOverhead = program.totalOverhead;\n let stringInstance = assert(program.stringInstance);\n let stringSegment: MemorySegment;\n let segments = this.stringSegments;\n if (segments.has(stringValue)) {\n stringSegment = assert(segments.get(stringValue)); // reuse\n } else {\n let len = stringValue.length;\n let buf = stringInstance.createBuffer(len << 1);\n for (let i = 0; i < len; ++i) {\n writeI16(stringValue.charCodeAt(i), buf, totalOverhead + (i << 1));\n }\n stringSegment = this.addRuntimeMemorySegment(buf);\n segments.set(stringValue, stringSegment);\n }\n return i64_add(stringSegment.offset, i64_new(totalOverhead));\n }\n\n /** Writes a series of static values of the specified type to a buffer. */\n writeStaticBuffer(buf: Uint8Array, pos: i32, elementType: Type, values: ExpressionRef[]): i32 {\n let length = values.length;\n let byteSize = elementType.byteSize;\n let elementTypeRef = elementType.toRef();\n switch (elementTypeRef) {\n case TypeRef.I32: {\n switch (byteSize) {\n case 1: {\n for (let i = 0; i < length; ++i) {\n let value = values[i];\n assert(getExpressionType(value) == elementTypeRef);\n assert(getExpressionId(value) == ExpressionId.Const);\n writeI8(getConstValueI32(value), buf, pos);\n pos += 1;\n }\n break;\n }\n case 2: {\n for (let i = 0; i < length; ++i) {\n let value = values[i];\n assert(getExpressionType(value) == elementTypeRef);\n assert(getExpressionId(value) == ExpressionId.Const);\n writeI16(getConstValueI32(value), buf, pos);\n pos += 2;\n }\n break;\n }\n case 4: {\n for (let i = 0; i < length; ++i) {\n let value = values[i];\n assert(getExpressionType(value) == elementTypeRef);\n assert(getExpressionId(value) == ExpressionId.Const);\n writeI32(getConstValueI32(value), buf, pos);\n pos += 4;\n }\n break;\n }\n default: assert(false);\n }\n break;\n }\n case TypeRef.I64: {\n for (let i = 0; i < length; ++i) {\n let value = values[i];\n assert(getExpressionType(value) == elementTypeRef);\n assert(getExpressionId(value) == ExpressionId.Const);\n writeI64(i64_new(getConstValueI64Low(value), getConstValueI64High(value)), buf, pos);\n pos += 8;\n }\n break;\n }\n case TypeRef.F32: {\n for (let i = 0; i < length; ++i) {\n let value = values[i];\n assert(getExpressionType(value) == elementTypeRef);\n assert(getExpressionId(value) == ExpressionId.Const);\n writeF32(getConstValueF32(value), buf, pos);\n pos += 4;\n }\n break;\n }\n case TypeRef.F64: {\n for (let i = 0; i < length; ++i) {\n let value = values[i];\n assert(getExpressionType(value) == elementTypeRef);\n assert(getExpressionId(value) == ExpressionId.Const);\n writeF64(getConstValueF64(value), buf, pos);\n pos += 8;\n }\n break;\n }\n case TypeRef.V128: {\n for (let i = 0; i < length; ++i) {\n let value = values[i];\n assert(getExpressionType(value) == elementTypeRef);\n assert(getExpressionId(value) == ExpressionId.Const);\n writeV128(getConstValueV128(value), buf, pos);\n pos += 16;\n }\n break;\n }\n case TypeRef.None: {\n // nothing to write\n break;\n }\n default: assert(false);\n }\n return pos;\n }\n\n /** Adds a buffer to static memory and returns the created segment. */\n addStaticBuffer(elementType: Type, values: ExpressionRef[], id: u32 = this.program.arrayBufferInstance.id): MemorySegment {\n let program = this.program;\n let arrayBufferInstance = program.arrayBufferInstance;\n let buf = arrayBufferInstance.createBuffer(values.length * elementType.byteSize);\n this.program.OBJECTInstance.writeField(\"rtId\", id, buf, 0); // use specified rtId\n this.writeStaticBuffer(buf, program.totalOverhead, elementType, values);\n return this.addRuntimeMemorySegment(buf);\n }\n\n /** Adds an array header to static memory and returns the created segment. */\n private addStaticArrayHeader(\n elementType: Type,\n bufferSegment: MemorySegment,\n /** Optional array instance override. */\n arrayInstance: Class | null = null\n ): MemorySegment {\n let program = this.program;\n if (!arrayInstance) {\n arrayInstance = assert(this.resolver.resolveClass(this.program.arrayPrototype, [ elementType ]));\n }\n let bufferLength = readI32(bufferSegment.buffer, program.OBJECTInstance.offsetof(\"rtSize\"));\n let arrayLength = i32(bufferLength / elementType.byteSize);\n let bufferAddress = i64_add(bufferSegment.offset, i64_new(program.totalOverhead));\n let buf = arrayInstance.createBuffer();\n assert(arrayInstance.writeField(\"buffer\", bufferAddress, buf));\n assert(arrayInstance.writeField(\"dataStart\", bufferAddress, buf));\n assert(arrayInstance.writeField(\"byteLength\", bufferLength, buf));\n assert(arrayInstance.writeField(\"length_\", arrayLength, buf));\n return this.addRuntimeMemorySegment(buf);\n }\n\n // === Table ====================================================================================\n\n /** Ensures that a runtime counterpart of the specified function exists and returns its address. */\n ensureRuntimeFunction(instance: Function): i64 {\n assert(instance.is(CommonFlags.Compiled) && !instance.is(CommonFlags.Stub));\n let program = this.program;\n let memorySegment = instance.memorySegment;\n if (!memorySegment) {\n\n // Add to the function table\n let functionTable = this.functionTable;\n let tableBase = this.options.tableBase;\n if (!tableBase) tableBase = 1; // leave first elem blank\n let index = tableBase + functionTable.length;\n functionTable.push(instance);\n\n // Create runtime function\n let rtInstance = assert(this.resolver.resolveClass(program.functionPrototype, [ instance.type ]));\n let buf = rtInstance.createBuffer();\n assert(rtInstance.writeField(\"_index\", index, buf));\n assert(rtInstance.writeField(\"_env\", 0, buf));\n instance.memorySegment = memorySegment = this.addRuntimeMemorySegment(buf);\n }\n return i64_add(memorySegment.offset, i64_new(program.totalOverhead));\n }\n\n // === Statements ===============================================================================\n\n /** Compiles a top level statement (incl. function declarations etc.) to the specified body. */\n compileTopLevelStatement(statement: Statement, body: ExpressionRef[]): void {\n switch (statement.kind) {\n case NodeKind.ClassDeclaration: {\n let memberStatements = (statement).members;\n for (let i = 0, k = memberStatements.length; i < k; ++i) {\n this.compileTopLevelStatement(memberStatements[i], body);\n }\n break;\n }\n case NodeKind.EnumDeclaration: {\n let element = this.program.getElementByDeclaration(statement);\n if (element) {\n assert(element.kind == ElementKind.Enum);\n if (!element.hasDecorator(DecoratorFlags.Lazy)) this.compileEnum(element);\n }\n break;\n }\n case NodeKind.NamespaceDeclaration: {\n let declaration = statement;\n let element = this.program.getElementByDeclaration(declaration);\n if (element) {\n // any potential merged element\n let previousParent = this.currentParent;\n this.currentParent = element;\n let memberStatements = declaration.members;\n for (let i = 0, k = memberStatements.length; i < k; ++i) {\n this.compileTopLevelStatement(memberStatements[i], body);\n }\n this.currentParent = previousParent;\n }\n break;\n }\n case NodeKind.Variable: {\n let declarations = (statement).declarations;\n for (let i = 0, k = declarations.length; i < k; ++i) {\n let element = this.program.getElementByDeclaration(declarations[i]);\n if (element) {\n assert(element.kind == ElementKind.Global);\n if (\n !element.is(CommonFlags.Ambient) && // delay imports\n !element.hasDecorator(DecoratorFlags.Lazy)\n ) this.compileGlobal(element);\n }\n }\n break;\n }\n case NodeKind.FieldDeclaration: {\n let element = this.program.getElementByDeclaration(statement);\n if (element && element.kind == ElementKind.Global) { // static\n if (!element.hasDecorator(DecoratorFlags.Lazy)) this.compileGlobal(element);\n }\n break;\n }\n case NodeKind.Export: {\n let exportStatement = statement;\n let internalPath = exportStatement.internalPath;\n if (internalPath != null) {\n this.compileFileByPath(internalPath, assert(exportStatement.path));\n }\n break;\n }\n case NodeKind.ExportDefault: {\n this.compileTopLevelStatement((statement).declaration, body);\n break;\n }\n case NodeKind.Import: {\n let importStatement = statement;\n this.compileFileByPath(importStatement.internalPath, importStatement.path);\n break;\n }\n case NodeKind.FunctionDeclaration:\n case NodeKind.MethodDeclaration:\n case NodeKind.InterfaceDeclaration:\n case NodeKind.IndexSignature:\n case NodeKind.TypeDeclaration: break;\n default: { // otherwise a top-level statement that is part of the start function's body\n let stmt = this.compileStatement(statement);\n if (getExpressionId(stmt) != ExpressionId.Nop) body.push(stmt);\n break;\n }\n }\n }\n\n /** Compiles a statement. */\n compileStatement(\n /** Statement to compile. */\n statement: Statement\n ): ExpressionRef {\n let module = this.module;\n let stmt: ExpressionRef;\n switch (statement.kind) {\n case NodeKind.Block: {\n stmt = this.compileBlockStatement(statement);\n break;\n }\n case NodeKind.Break: {\n stmt = this.compileBreakStatement(statement);\n break;\n }\n case NodeKind.Continue: {\n stmt = this.compileContinueStatement(statement);\n break;\n }\n case NodeKind.Do: {\n stmt = this.compileDoStatement(statement);\n break;\n }\n case NodeKind.Empty: {\n stmt = this.compileEmptyStatement(statement);\n break;\n }\n case NodeKind.Expression: {\n stmt = this.compileExpressionStatement(statement);\n break;\n }\n case NodeKind.For: {\n stmt = this.compileForStatement(statement);\n break;\n }\n case NodeKind.ForOf: {\n stmt = this.compileForOfStatement(statement);\n break;\n }\n case NodeKind.If: {\n stmt = this.compileIfStatement(statement);\n break;\n }\n case NodeKind.Return: {\n stmt = this.compileReturnStatement(statement);\n break;\n }\n case NodeKind.Switch: {\n stmt = this.compileSwitchStatement(statement);\n break;\n }\n case NodeKind.Throw: {\n stmt = this.compileThrowStatement(statement);\n break;\n }\n case NodeKind.Try: {\n stmt = this.compileTryStatement(statement);\n break;\n }\n case NodeKind.Variable: {\n stmt = this.compileVariableStatement(statement);\n if (!stmt) stmt = module.nop();\n break;\n }\n case NodeKind.Void: {\n stmt = this.compileVoidStatement(statement);\n break;\n }\n case NodeKind.While: {\n stmt = this.compileWhileStatement(statement);\n break;\n }\n case NodeKind.TypeDeclaration: {\n stmt = this.compileTypeDeclaration(statement);\n break;\n }\n case NodeKind.Module: {\n stmt = module.nop();\n break;\n }\n default: {\n assert(false);\n stmt = module.unreachable();\n }\n }\n if (this.options.sourceMap) this.addDebugLocation(stmt, statement.range);\n return stmt;\n }\n\n /** Compiles a series of statements. */\n compileStatements(\n /** Statements to compile. */\n statements: Statement[],\n /** Statements to append to. Also returned, created if omitted. */\n stmts: ExpressionRef[] | null = null\n ): ExpressionRef[] {\n let numStatements = statements.length;\n if (!stmts) {\n stmts = new Array(numStatements);\n stmts.length = 0;\n }\n let flow = this.currentFlow;\n for (let i = 0; i < numStatements; ++i) {\n let stmt = this.compileStatement(statements[i]);\n switch (getExpressionId(stmt)) {\n case ExpressionId.Block: {\n if (!getBlockName(stmt)) {\n for (let j: Index = 0, k = getBlockChildCount(stmt); j < k; ++j) stmts.push(getBlockChildAt(stmt, j));\n break;\n }\n // fall-through\n }\n default: stmts.push(stmt);\n case ExpressionId.Nop:\n }\n if (flow.isAny(FlowFlags.Terminates | FlowFlags.Breaks)) break;\n }\n return stmts;\n }\n\n private compileBlockStatement(\n statement: BlockStatement\n ): ExpressionRef {\n let statements = statement.statements;\n let outerFlow = this.currentFlow;\n let innerFlow = outerFlow.fork();\n this.currentFlow = innerFlow;\n\n let stmts = this.compileStatements(statements);\n outerFlow.inherit(innerFlow);\n this.currentFlow = outerFlow;\n return this.module.flatten(stmts);\n }\n\n private compileTypeDeclaration(statement: TypeDeclaration): ExpressionRef {\n let flow = this.currentFlow;\n let name = statement.name.text;\n let existedTypeAlias = flow.lookupScopedTypeAlias(name);\n if (existedTypeAlias) {\n this.errorRelated(\n DiagnosticCode.Duplicate_identifier_0,\n statement.range,\n existedTypeAlias.declaration.range,\n name\n );\n return this.module.unreachable();\n }\n let element = new TypeDefinition(name, flow.sourceFunction, statement, DecoratorFlags.None);\n flow.addScopedTypeAlias(name, element);\n return this.module.nop();\n }\n\n private compileBreakStatement(\n statement: BreakStatement\n ): ExpressionRef {\n let module = this.module;\n let labelNode = statement.label;\n if (labelNode) {\n this.error(\n DiagnosticCode.Not_implemented_0,\n labelNode.range,\n \"Break label\"\n );\n return module.unreachable();\n }\n let flow = this.currentFlow;\n let breakLabel = flow.breakLabel;\n if (breakLabel == null) {\n this.error(\n DiagnosticCode.A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement,\n statement.range\n );\n return module.unreachable();\n }\n flow.set(FlowFlags.Breaks);\n return module.br(breakLabel);\n }\n\n private compileContinueStatement(\n statement: ContinueStatement\n ): ExpressionRef {\n let module = this.module;\n let label = statement.label;\n if (label) {\n this.error(\n DiagnosticCode.Not_implemented_0,\n label.range,\n \"Continue label\"\n );\n return module.unreachable();\n }\n // Check if 'continue' is allowed here\n let flow = this.currentFlow;\n let continueLabel = flow.continueLabel;\n if (continueLabel == null) {\n this.error(\n DiagnosticCode.A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement,\n statement.range\n );\n return module.unreachable();\n }\n flow.set(FlowFlags.Continues | FlowFlags.Terminates);\n return module.br(continueLabel);\n }\n\n private compileDoStatement(\n /** Statement to compile. */\n statement: DoStatement\n ): ExpressionRef {\n return this.doCompileDoStatement(statement);\n }\n\n private doCompileDoStatement(\n /** Statement to compile. */\n statement: DoStatement\n ): ExpressionRef {\n let module = this.module;\n let outerFlow = this.currentFlow;\n let numLocalsBefore = outerFlow.targetFunction.localsByIndex.length;\n\n // (block $break\n // (loop $loop\n // (?block $continue\n // (body)\n // )\n // (br_if $loop (condition))\n // )\n // )\n\n // Cases of interest:\n // * If the body never falls through or continues, the condition never executes\n // * If the condition is always true and body never breaks, overall flow terminates\n // * If the body terminates with a continue, condition is still reached\n\n // Compile the body (always executes)\n let flow = outerFlow.fork(/* resetBreakContext */ true);\n let label = flow.pushControlFlowLabel();\n let breakLabel = `do-break|${label}`;\n flow.breakLabel = breakLabel;\n let continueLabel = `do-continue|${label}`;\n flow.continueLabel = continueLabel;\n let loopLabel = `do-loop|${label}`;\n this.currentFlow = flow;\n let bodyStmts = new Array();\n let body = statement.body;\n if (body.kind == NodeKind.Block) {\n this.compileStatements((body).statements, bodyStmts);\n } else {\n bodyStmts.push(this.compileStatement(body));\n }\n flow.popControlFlowLabel(label);\n\n let possiblyContinues = flow.isAny(FlowFlags.Continues | FlowFlags.ConditionallyContinues);\n let possiblyBreaks = flow.isAny(FlowFlags.Breaks | FlowFlags.ConditionallyBreaks);\n let possiblyFallsThrough = !flow.isAny(FlowFlags.Terminates | FlowFlags.Breaks);\n\n // Shortcut if the condition is never reached\n if (!possiblyFallsThrough && !possiblyContinues) {\n bodyStmts.push(\n module.unreachable()\n );\n outerFlow.inherit(flow);\n\n // If the body also never breaks, the overall flow terminates\n if (!possiblyBreaks) {\n outerFlow.set(FlowFlags.Terminates);\n }\n\n // Otherwise compile and evaluate the condition (from here on always executes)\n } else {\n let condExpr = this.compileExpression(statement.condition, Type.bool);\n let condExprTrueish = this.makeIsTrueish(condExpr, this.currentType, statement.condition);\n let condKind = this.evaluateCondition(condExprTrueish);\n\n // Detect if local flags are incompatible before and after looping, and\n // if so recompile by unifying local flags between iterations. Note that\n // this may be necessary multiple times where locals depend on each other.\n let possiblyLoops = condKind != ConditionKind.False && (possiblyContinues || possiblyFallsThrough);\n if (possiblyLoops && outerFlow.resetIfNeedsRecompile(flow.forkThen(condExpr), numLocalsBefore)) {\n this.currentFlow = outerFlow;\n return this.doCompileDoStatement(statement);\n }\n\n if (possiblyContinues) {\n bodyStmts[0] = module.block(continueLabel, bodyStmts);\n bodyStmts.length = 1;\n flow.unset(FlowFlags.Terminates); // Continue breaks to condition\n }\n bodyStmts.push(\n module.br(loopLabel,\n condExprTrueish\n )\n );\n outerFlow.inherit(flow);\n\n // Terminate if the condition is always true and body never breaks\n if (condKind == ConditionKind.True && !possiblyBreaks) {\n outerFlow.set(FlowFlags.Terminates);\n }\n }\n\n // Finalize and leave everything else to the optimizer\n this.currentFlow = outerFlow;\n let expr = module.loop(loopLabel,\n module.flatten(bodyStmts)\n );\n if (possiblyBreaks) {\n expr = module.block(breakLabel, [\n expr\n ]);\n }\n if (outerFlow.is(FlowFlags.Terminates)) {\n expr = module.block(null, [ expr, module.unreachable() ]);\n }\n return expr;\n }\n\n private compileEmptyStatement(\n statement: EmptyStatement\n ): ExpressionRef {\n return this.module.nop();\n }\n\n private compileExpressionStatement(\n statement: ExpressionStatement\n ): ExpressionRef {\n return this.compileExpression(statement.expression, Type.void, Constraints.ConvImplicit);\n }\n\n private compileForStatement(\n /** Statement to compile. */\n statement: ForStatement\n ): ExpressionRef {\n return this.doCompileForStatement(statement);\n }\n\n private doCompileForStatement(\n /** Statement to compile. */\n statement: ForStatement\n ): ExpressionRef {\n let module = this.module;\n let outerFlow = this.currentFlow;\n let numLocalsBefore = outerFlow.targetFunction.localsByIndex.length;\n\n // (initializer) \u2514\u25BA\u2510 flow\n // (?block $break \u2502 (initializer)\n // (?loop $loop \u250C\u25C4\u2524 (condition) shortcut if false \u25C4\u2510\n // (if (condition) \u251C\u25BA\u2510 bodyFlow \u2502\n // (then \u2502 \u2502 (body) \u2502\n // (?block $continue \u2502 \u2502 if loops: (incrementor) \u2500\u2500\u2500\u2500\u2500\u2518\n // (body) \u2502 \u2502 recompile body?\n // ) \u251C\u25C4\u2518 \n // (incrementor) \u250C\u25C4\u2518\n // (br $loop)\n // )\n // )\n // )\n // )\n\n // Compile initializer if present. The initializer might introduce scoped\n // locals bound to the for statement, so create a new flow early.\n let flow = outerFlow.fork();\n this.currentFlow = flow;\n let stmts = new Array();\n let initializer = statement.initializer;\n if (initializer) {\n assert(\n initializer.kind == NodeKind.Expression ||\n initializer.kind == NodeKind.Variable\n );\n stmts.push(this.compileStatement(initializer));\n }\n\n // Precompute the condition if present, or default to `true`\n let condExpr: ExpressionRef;\n let condExprTrueish: ExpressionRef;\n let condKind: ConditionKind;\n let condition = statement.condition;\n if (condition) {\n condExpr = this.compileExpression(condition, Type.bool);\n condExprTrueish = this.makeIsTrueish(condExpr, this.currentType, condition);\n condKind = this.evaluateCondition(condExprTrueish);\n\n // Shortcut if condition is always false (body never executes)\n if (condKind == ConditionKind.False) {\n stmts.push(\n module.drop(condExprTrueish)\n );\n outerFlow.inherit(flow);\n this.currentFlow = outerFlow;\n return module.flatten(stmts);\n }\n } else {\n condExpr = module.i32(1);\n condExprTrueish = condExpr;\n condKind = ConditionKind.True;\n }\n // From here on condition is either true or unknown\n\n // Compile the body assuming the condition turned out true\n let bodyFlow = flow.forkThen(condExpr, /* newBreakContext */ true);\n let label = bodyFlow.pushControlFlowLabel();\n let breakLabel = `for-break${label}`;\n bodyFlow.breakLabel = breakLabel;\n let continueLabel = `for-continue|${label}`;\n bodyFlow.continueLabel = continueLabel;\n let loopLabel = `for-loop|${label}`;\n this.currentFlow = bodyFlow;\n let bodyStmts = new Array();\n let body = statement.body;\n if (body.kind == NodeKind.Block) {\n this.compileStatements((body).statements, bodyStmts);\n } else {\n bodyStmts.push(this.compileStatement(body));\n }\n bodyFlow.popControlFlowLabel(label);\n bodyFlow.breakLabel = null;\n bodyFlow.continueLabel = null;\n\n let possiblyFallsThrough = !bodyFlow.isAny(FlowFlags.Terminates | FlowFlags.Breaks);\n let possiblyContinues = bodyFlow.isAny(FlowFlags.Continues | FlowFlags.ConditionallyContinues);\n let possiblyBreaks = bodyFlow.isAny(FlowFlags.Breaks | FlowFlags.ConditionallyBreaks);\n\n if (possiblyContinues) {\n bodyStmts[0] = module.block(continueLabel, bodyStmts);\n bodyStmts.length = 1;\n }\n\n if (condKind == ConditionKind.True) {\n // Body executes at least once\n flow.inherit(bodyFlow);\n } else {\n // Otherwise executes conditionally\n flow.mergeBranch(bodyFlow);\n }\n\n // Compile the incrementor if it possibly executes\n let possiblyLoops = possiblyContinues || possiblyFallsThrough;\n if (possiblyLoops) {\n let incrementor = statement.incrementor;\n if (incrementor) {\n this.currentFlow = flow;\n bodyStmts.push(\n this.compileExpression(incrementor, Type.void, Constraints.ConvImplicit | Constraints.WillDrop)\n );\n }\n bodyStmts.push(\n module.br(loopLabel)\n );\n\n // Detect if local flags are incompatible before and after looping, and if\n // so recompile by unifying local flags between iterations. Note that this\n // may be necessary multiple times where locals depend on each other.\n if (outerFlow.resetIfNeedsRecompile(bodyFlow.forkThen(condExpr), numLocalsBefore)) {\n this.currentFlow = outerFlow;\n return this.doCompileForStatement(statement);\n }\n }\n\n\n // Finalize\n outerFlow.inherit(flow);\n this.currentFlow = outerFlow;\n let expr = module.if(condExprTrueish,\n module.flatten(bodyStmts)\n );\n if (possiblyLoops) {\n expr = module.loop(loopLabel, expr);\n }\n if (possiblyBreaks) {\n expr = module.block(breakLabel, [ expr ]);\n }\n stmts.push(expr);\n if (outerFlow.is(FlowFlags.Terminates)) {\n stmts.push(module.unreachable());\n }\n return module.flatten(stmts);\n }\n\n private compileForOfStatement(\n statement: ForOfStatement\n ): ExpressionRef {\n this.error(\n DiagnosticCode.Not_implemented_0,\n statement.range,\n \"Iterators\"\n );\n return this.module.unreachable();\n }\n\n private compileIfStatement(\n statement: IfStatement\n ): ExpressionRef {\n let module = this.module;\n let ifTrue = statement.ifTrue;\n let ifFalse = statement.ifFalse;\n\n // (if (condition)\n // (then (ifTrue))\n // (?else (ifFalse))\n // )\n\n // Cases of interest:\n // * If the condition is always true or false, the other branch is eliminated\n // * If both then and else terminate, the overall flow does as well\n // * Without an else, when then terminates, follow-up flow acts like an else\n\n // Precompute the condition (always executes)\n let condExpr = this.compileExpression(statement.condition, Type.bool);\n let condExprTrueish = this.makeIsTrueish(\n condExpr,\n this.currentType,\n statement.condition\n );\n let condKind = this.evaluateCondition(condExprTrueish);\n\n // Shortcut if the condition is constant\n switch (condKind) {\n case ConditionKind.True: {\n return module.block(null, [\n module.drop(condExprTrueish),\n this.compileStatement(ifTrue)\n ]);\n }\n case ConditionKind.False: {\n return ifFalse\n ? module.block(null, [\n module.drop(condExprTrueish),\n this.compileStatement(ifFalse)\n ])\n : module.drop(condExprTrueish);\n }\n }\n\n // From here on condition is always unknown\n\n let flow = this.currentFlow;\n\n // Compile ifTrue assuming the condition turned out true\n let thenStmts = new Array();\n let thenFlow = flow.forkThen(condExpr);\n this.currentFlow = thenFlow;\n if (ifTrue.kind == NodeKind.Block) {\n this.compileStatements((ifTrue).statements, thenStmts);\n } else {\n thenStmts.push(this.compileStatement(ifTrue));\n }\n this.currentFlow = flow;\n\n // Compile ifFalse assuming the condition turned out false, if present\n let elseFlow = flow.forkElse(condExpr);\n if (ifFalse) {\n this.currentFlow = elseFlow;\n let elseStmts = new Array();\n if (ifFalse.kind == NodeKind.Block) {\n this.compileStatements((ifFalse).statements, elseStmts);\n } else {\n elseStmts.push(this.compileStatement(ifFalse));\n }\n flow.inheritAlternatives(thenFlow, elseFlow); // terminates if both do\n this.currentFlow = flow;\n return module.if(condExprTrueish,\n module.flatten(thenStmts),\n module.flatten(elseStmts)\n );\n } else {\n if (thenFlow.isAny(FlowFlags.Terminates | FlowFlags.Breaks)) {\n // Only getting past if condition was false (acts like else)\n flow.inherit(elseFlow);\n flow.mergeSideEffects(thenFlow);\n } else {\n // Otherwise getting past conditionally\n flow.inheritAlternatives(thenFlow, elseFlow);\n }\n this.currentFlow = flow;\n return module.if(condExprTrueish,\n module.flatten(thenStmts)\n );\n }\n }\n\n private compileReturnStatement(\n statement: ReturnStatement\n ): ExpressionRef {\n let module = this.module;\n let expr: ExpressionRef = 0;\n let flow = this.currentFlow;\n let returnType = flow.returnType;\n\n let valueExpression = statement.value;\n if (valueExpression) {\n let constraints = Constraints.ConvImplicit;\n if (flow.sourceFunction.is(CommonFlags.ModuleExport)) constraints |= Constraints.MustWrap;\n\n expr = this.compileExpression(valueExpression, returnType, constraints);\n if (!flow.canOverflow(expr, returnType)) flow.set(FlowFlags.ReturnsWrapped);\n if (flow.isNonnull(expr, returnType)) flow.set(FlowFlags.ReturnsNonNull);\n if (flow.sourceFunction.is(CommonFlags.Constructor) && valueExpression.kind != NodeKind.This) {\n flow.set(FlowFlags.MayReturnNonThis);\n }\n } else if (returnType != Type.void) {\n this.error(\n DiagnosticCode.Type_0_is_not_assignable_to_type_1,\n statement.range, \"void\", returnType.toString()\n );\n this.currentType = returnType;\n return module.unreachable();\n }\n\n // Remember that this flow returns\n flow.set(FlowFlags.Returns | FlowFlags.Terminates);\n\n // Handle inline return\n if (flow.isInline) {\n let inlineReturnLabel = assert(flow.inlineReturnLabel);\n return expr\n ? this.currentType == Type.void\n ? module.block(null, [ expr, module.br(inlineReturnLabel) ])\n : module.br(inlineReturnLabel, 0, expr)\n : module.br(inlineReturnLabel);\n }\n\n // Otherwise emit a normal return\n return expr\n ? this.currentType == Type.void\n ? module.block(null, [ expr, module.return() ])\n : module.return(expr)\n : module.return();\n }\n\n private compileSwitchStatement(\n statement: SwitchStatement\n ): ExpressionRef {\n let module = this.module;\n let cases = statement.cases;\n let numCases = cases.length;\n\n // Compile the condition (always executes)\n let condExpr = this.compileExpression(statement.condition, Type.u32,\n Constraints.ConvImplicit\n );\n\n // Shortcut if there are no cases\n if (!numCases) return module.drop(condExpr);\n \n // Assign the condition to a temporary local as we compare it multiple times\n let outerFlow = this.currentFlow;\n let tempLocal = outerFlow.getTempLocal(Type.u32);\n let tempLocalIndex = tempLocal.index;\n let breaks = new Array(1 + numCases);\n breaks[0] = module.local_set(tempLocalIndex, condExpr, false); // u32\n \n // Make one br_if per labeled case and leave it to Binaryen to optimize the\n // sequence of br_ifs to a br_table according to optimization levels\n let breakIndex = 1;\n let defaultIndex = -1;\n let label = outerFlow.pushControlFlowLabel();\n for (let i = 0; i < numCases; ++i) {\n let case_ = cases[i];\n if (case_.isDefault) {\n defaultIndex = i;\n continue;\n }\n breaks[breakIndex++] = module.br(`case${i}|${label}`,\n module.binary(BinaryOp.EqI32,\n module.local_get(tempLocalIndex, TypeRef.I32),\n this.compileExpression(assert(case_.label), Type.u32,\n Constraints.ConvImplicit\n )\n )\n );\n }\n\n // If there is a default case, break to it, otherwise break out of the switch\n breaks[breakIndex] = module.br(defaultIndex >= 0\n ? `case${defaultIndex}|${label}`\n : `break|${label}`\n );\n\n // Nest the case blocks in order, to be targeted by the br_if sequence\n let currentBlock = module.block(`case0|${label}`, breaks, TypeRef.None);\n let fallThroughFlow: Flow | null = null;\n let breakingFlowAlternatives: Flow | null = null;\n for (let i = 0; i < numCases; ++i) {\n let case_ = cases[i];\n let statements = case_.statements;\n let numStatements = statements.length;\n\n // Can get here by matching the case or possibly by fall-through\n let innerFlow = outerFlow.fork(/* newBreakContext */ true, /* newContinueContext */ false);\n if (fallThroughFlow) innerFlow.mergeBranch(fallThroughFlow);\n this.currentFlow = innerFlow;\n let breakLabel = `break|${label}`;\n innerFlow.breakLabel = breakLabel;\n\n let isLast = i == numCases - 1;\n let nextLabel = isLast ? breakLabel : `case${i + 1}|${label}`;\n let stmts = new Array(1 + numStatements);\n stmts[0] = currentBlock;\n let count = 1;\n let possiblyFallsThrough = true;\n for (let j = 0; j < numStatements; ++j) {\n let stmt = this.compileStatement(statements[j]);\n if (getExpressionId(stmt) != ExpressionId.Nop) {\n stmts[count++] = stmt;\n }\n if (innerFlow.isAny(FlowFlags.Terminates | FlowFlags.Breaks)) {\n possiblyFallsThrough = false;\n break;\n }\n }\n stmts.length = count;\n fallThroughFlow = possiblyFallsThrough ? innerFlow : null;\n let possiblyBreaks = innerFlow.isAny(FlowFlags.Breaks | FlowFlags.ConditionallyBreaks);\n innerFlow.unset(FlowFlags.Breaks | FlowFlags.ConditionallyBreaks); // clear\n\n // Combine all alternatives that merge again with outer flow\n if (possiblyBreaks || (isLast && possiblyFallsThrough)) {\n if (breakingFlowAlternatives) breakingFlowAlternatives.inheritAlternatives(breakingFlowAlternatives, innerFlow);\n else breakingFlowAlternatives = innerFlow;\n\n // Otherwise just merge the effects of a non-merging branch\n } else if (!possiblyFallsThrough) {\n outerFlow.mergeSideEffects(innerFlow);\n }\n\n this.currentFlow = outerFlow;\n currentBlock = module.block(nextLabel, stmts, TypeRef.None); // must be a labeled block\n }\n outerFlow.popControlFlowLabel(label);\n\n // If the switch has a default, we only get past through any breaking flow\n if (defaultIndex >= 0) {\n if (breakingFlowAlternatives) outerFlow.inherit(breakingFlowAlternatives);\n else outerFlow.set(FlowFlags.Terminates);\n\n // Otherwise either none or any breaking flow can get past conditionally\n } else if (breakingFlowAlternatives) {\n outerFlow.mergeBranch(breakingFlowAlternatives);\n }\n\n this.currentFlow = outerFlow;\n return currentBlock;\n }\n\n private compileThrowStatement(\n statement: ThrowStatement\n ): ExpressionRef {\n // TODO: requires exception-handling spec.\n let flow = this.currentFlow;\n\n // Remember that this branch throws\n flow.set(FlowFlags.Throws | FlowFlags.Terminates);\n\n let stmts = new Array();\n let value = statement.value;\n let message: Expression | null = null;\n if (value.kind == NodeKind.New) {\n let newArgs = (value).args;\n if (newArgs.length) message = newArgs[0]; // FIXME: naively assumes type string\n }\n stmts.push(\n this.makeAbort(message, statement)\n );\n return this.module.flatten(stmts);\n }\n\n private compileTryStatement(\n statement: TryStatement\n ): ExpressionRef {\n // TODO: can't yet support something like: try { return ... } finally { ... }\n // worthwhile to investigate lowering returns to block results (here)?\n this.error(\n DiagnosticCode.Not_implemented_0,\n statement.range,\n \"Exceptions\"\n );\n return this.module.unreachable();\n }\n\n /** Compiles a variable statement. Returns `0` if an initializer is not necessary. */\n private compileVariableStatement(\n statement: VariableStatement\n ): ExpressionRef {\n let module = this.module;\n let declarations = statement.declarations;\n let numDeclarations = declarations.length;\n let flow = this.currentFlow;\n let initializers = new Array();\n let resolver = this.resolver;\n\n for (let i = 0; i < numDeclarations; ++i) {\n let declaration = declarations[i];\n let name = declaration.name.text;\n let type: Type | null = null;\n let initExpr: ExpressionRef = 0;\n let initType: Type | null = null;\n\n if (declaration.is(CommonFlags.DefinitelyAssigned)) {\n this.warning(\n DiagnosticCode.Definitive_assignment_has_no_effect_on_local_variables,\n declaration.name.range\n );\n }\n\n // Resolve type if annotated\n let typeNode = declaration.type;\n let initializerNode = declaration.initializer;\n if (typeNode) {\n type = resolver.resolveType( // reports\n typeNode, flow,\n flow.sourceFunction,\n cloneMap(flow.contextualTypeArguments)\n );\n if (!type) continue;\n this.program.checkTypeSupported(type, typeNode);\n\n if (initializerNode) {\n let pendingElements = this.pendingElements;\n let dummy = flow.addScopedDummyLocal(name, type, statement); // pending dummy\n pendingElements.add(dummy);\n initExpr = this.compileExpression(initializerNode, type, // reports\n Constraints.ConvImplicit\n );\n initType = this.currentType;\n pendingElements.delete(dummy);\n flow.freeScopedDummyLocal(name);\n }\n\n // Otherwise infer type from initializer\n } else if (initializerNode) {\n let pendingElements = this.pendingElements;\n let temp = flow.addScopedDummyLocal(name, Type.auto, statement); // pending dummy\n pendingElements.add(temp);\n initExpr = this.compileExpression(initializerNode, Type.auto); // reports\n initType = this.currentType;\n pendingElements.delete(temp);\n flow.freeScopedDummyLocal(name);\n\n if (this.currentType == Type.void) {\n this.error(\n DiagnosticCode.Type_0_is_not_assignable_to_type_1,\n declaration.range, this.currentType.toString(), \"\"\n );\n continue;\n }\n type = initType;\n\n // Error if there's neither a type nor an initializer\n } else {\n this.error(\n DiagnosticCode.Type_expected,\n declaration.name.range.atEnd\n );\n continue;\n }\n\n // Handle constants, and try to inline if value is static\n let isConst = declaration.is(CommonFlags.Const);\n let isStatic = false;\n if (isConst) {\n if (initExpr) {\n let precomp = module.runExpression(initExpr, ExpressionRunnerFlags.PreserveSideeffects);\n if (precomp) {\n initExpr = precomp; // always use precomputed initExpr\n let local: Local | null = null;\n switch (getExpressionType(initExpr)) {\n case TypeRef.I32: {\n local = new Local(name, -1, type, flow.targetFunction);\n local.setConstantIntegerValue(\n i64_new(\n getConstValueI32(initExpr),\n 0\n ),\n type\n );\n break;\n }\n case TypeRef.I64: {\n local = new Local(name, -1, type, flow.targetFunction);\n local.setConstantIntegerValue(\n i64_new(\n getConstValueI64Low(initExpr),\n getConstValueI64High(initExpr)\n ),\n type\n );\n break;\n }\n case TypeRef.F32: {\n local = new Local(name, -1, type, flow.targetFunction);\n local.setConstantFloatValue(getConstValueF32(initExpr), type);\n break;\n }\n case TypeRef.F64: {\n local = new Local(name, -1, type, flow.targetFunction);\n local.setConstantFloatValue(getConstValueF64(initExpr), type);\n break;\n }\n }\n if (local) {\n // Add as a dummy local that doesn't actually exist in WebAssembly\n let scopedLocals = flow.scopedLocals;\n if (!scopedLocals) flow.scopedLocals = scopedLocals = new Map();\n else if (scopedLocals.has(name)) {\n let existing = assert(scopedLocals.get(name));\n this.errorRelated(\n DiagnosticCode.Duplicate_identifier_0,\n declaration.name.range,\n existing.declaration.name.range,\n name\n );\n return this.module.unreachable();\n }\n scopedLocals.set(name, local);\n isStatic = true;\n }\n }\n } else {\n this.error(\n DiagnosticCode._const_declarations_must_be_initialized,\n declaration.range\n );\n }\n }\n\n // Otherwise compile as mutable\n if (!isStatic) {\n let local: Local;\n if (\n declaration.isAny(CommonFlags.Let | CommonFlags.Const) ||\n flow.isInline\n ) { // here: not top-level\n let existingLocal = flow.getScopedLocal(name);\n if (existingLocal) {\n if (!existingLocal.declaration.range.source.isNative) {\n this.errorRelated(\n DiagnosticCode.Duplicate_identifier_0,\n declaration.name.range,\n existingLocal.declaration.name.range,\n name\n );\n } else { // scoped locals are shared temps that don't track declarations\n this.error(\n DiagnosticCode.Duplicate_identifier_0,\n declaration.name.range, name\n );\n }\n local = existingLocal;\n } else {\n local = flow.addScopedLocal(name, type);\n }\n if (isConst) flow.setLocalFlag(local.index, LocalFlags.Constant);\n } else {\n let existing = flow.lookupLocal(name);\n if (existing) {\n this.errorRelated(\n DiagnosticCode.Duplicate_identifier_0,\n declaration.name.range,\n existing.declaration.name.range,\n name\n );\n continue;\n }\n local = flow.targetFunction.addLocal(type, name, declaration);\n flow.unsetLocalFlag(local.index, ~0);\n if (isConst) flow.setLocalFlag(local.index, LocalFlags.Constant);\n }\n if (initExpr) {\n initializers.push(\n this.makeLocalAssignment(local, initExpr, initType ? initType : type, false)\n );\n } else {\n // no need to assign zero\n if (local.type.isShortIntegerValue) {\n flow.setLocalFlag(local.index, LocalFlags.Wrapped);\n }\n }\n }\n }\n this.currentType = Type.void;\n return initializers.length == 0\n ? 0\n : module.flatten(initializers);\n }\n\n private compileVoidStatement(\n statement: VoidStatement\n ): ExpressionRef {\n return this.compileExpression(statement.expression, Type.void,\n Constraints.ConvExplicit | Constraints.WillDrop\n );\n }\n\n private compileWhileStatement(\n /** Statement to compile. */\n statement: WhileStatement\n ): ExpressionRef {\n return this.doCompileWhileStatement(statement);\n }\n\n private doCompileWhileStatement(\n /** Statement to compile. */\n statement: WhileStatement\n ): ExpressionRef {\n let module = this.module;\n let outerFlow = this.currentFlow;\n let numLocalsBefore = outerFlow.targetFunction.localsByIndex.length;\n\n // (block $break\n // (loop $continue\n // (if (condition)\n // (then\n // (body)\n // (br $continue)\n // )\n // )\n // )\n\n // Cases of interest:\n // * If the condition is always false, eliminate the body as it never runs\n // * If the condition is always true and the body never breaks, terminate\n // * If the body runs but always terminates, continue as if condition was false\n\n // Compile and evaluate the condition (always executes)\n let condExpr = this.compileExpression(statement.condition, Type.bool);\n let condExprTrueish = this.makeIsTrueish(condExpr, this.currentType, statement.condition);\n let condKind = this.evaluateCondition(condExprTrueish);\n\n // Shortcut if condition is always false (body never runs)\n if (condKind == ConditionKind.False) {\n return module.drop(condExprTrueish);\n }\n\n // Compile the body assuming the condition turned out true\n let thenFlow = outerFlow.forkThen(condExpr, /* newBreakContext */ true);\n let label = thenFlow.pushControlFlowLabel();\n let breakLabel = `while-break|${label}`;\n thenFlow.breakLabel = breakLabel;\n let continueLabel = `while-continue|${label}`;\n thenFlow.continueLabel = continueLabel;\n this.currentFlow = thenFlow;\n let bodyStmts = new Array();\n let body = statement.body;\n if (body.kind == NodeKind.Block) {\n this.compileStatements((body).statements, bodyStmts);\n } else {\n bodyStmts.push(this.compileStatement(body));\n }\n bodyStmts.push(\n module.br(continueLabel)\n );\n thenFlow.popControlFlowLabel(label);\n\n let possiblyContinues = thenFlow.isAny(FlowFlags.Continues | FlowFlags.ConditionallyContinues);\n let possiblyBreaks = thenFlow.isAny(FlowFlags.Breaks | FlowFlags.ConditionallyBreaks);\n let possiblyFallsThrough = !thenFlow.isAny(FlowFlags.Terminates | FlowFlags.Breaks);\n\n // Detect if local flags are incompatible before and after looping, and\n // if so recompile by unifying local flags between iterations. Note that\n // this may be necessary multiple times where locals depend on each other.\n let possiblyLoops = possiblyContinues || possiblyFallsThrough;\n if (possiblyLoops && outerFlow.resetIfNeedsRecompile(thenFlow, numLocalsBefore)) {\n this.currentFlow = outerFlow;\n return this.doCompileWhileStatement(statement);\n }\n\n // If the condition is always true, the body's effects always happen\n let alwaysTerminates = false;\n if (condKind == ConditionKind.True) {\n outerFlow.inherit(thenFlow);\n\n // If the body also never breaks, the overall flow terminates\n if (!possiblyBreaks) {\n alwaysTerminates = true;\n outerFlow.set(FlowFlags.Terminates);\n }\n\n // Otherwise loop conditionally\n } else {\n let elseFlow = outerFlow.forkElse(condExpr);\n if (!possiblyFallsThrough && !possiblyBreaks) {\n // Only getting past if condition was false\n outerFlow.inherit(elseFlow);\n outerFlow.mergeSideEffects(thenFlow);\n } else {\n // Otherwise getting past conditionally\n outerFlow.inheritAlternatives(thenFlow, elseFlow);\n }\n }\n\n // Finalize and leave everything else to the optimizer\n this.currentFlow = outerFlow;\n let stmts: ExpressionRef[] = [\n module.loop(continueLabel,\n module.if(condExprTrueish,\n module.flatten(bodyStmts)\n )\n )\n ];\n if (alwaysTerminates) stmts.push(module.unreachable());\n return module.block(breakLabel, stmts);\n }\n\n // === Expressions ==============================================================================\n\n /** Compiles the value of an inlined constant element. */\n compileInlineConstant(\n element: VariableLikeElement,\n contextualType: Type,\n constraints: Constraints\n ): ExpressionRef {\n assert(element.is(CommonFlags.Inlined | CommonFlags.Resolved));\n let type = element.type;\n this.currentType = type;\n switch (type.kind) {\n case TypeKind.Bool: {\n return this.module.i32(\n element.constantValueKind == ConstantValueKind.Integer\n // @ts-ignore\n ? i64_ne(element.constantIntegerValue, i64_zero)\n : 0\n );\n }\n case TypeKind.I8:\n case TypeKind.I16: {\n let shift = type.computeSmallIntegerShift(Type.i32);\n return this.module.i32(\n element.constantValueKind == ConstantValueKind.Integer\n ? i64_low(element.constantIntegerValue) << shift >> shift\n : 0\n ); // recognized by canOverflow\n }\n case TypeKind.U8:\n case TypeKind.U16: {\n let mask = element.type.computeSmallIntegerMask(Type.i32);\n return this.module.i32(\n element.constantValueKind == ConstantValueKind.Integer\n ? i64_low(element.constantIntegerValue) & mask\n : 0\n ); // recognized by canOverflow\n }\n case TypeKind.I32:\n case TypeKind.U32: {\n return this.module.i32(\n element.constantValueKind == ConstantValueKind.Integer\n ? i64_low(element.constantIntegerValue)\n : 0\n );\n }\n case TypeKind.Isize:\n case TypeKind.Usize: {\n if (!element.program.options.isWasm64) {\n return this.module.i32(\n element.constantValueKind == ConstantValueKind.Integer\n ? i64_low(element.constantIntegerValue)\n : 0\n );\n }\n // fall-through\n }\n case TypeKind.I64:\n case TypeKind.U64: {\n return element.constantValueKind == ConstantValueKind.Integer\n ? this.module.i64(\n i64_low(element.constantIntegerValue),\n i64_high(element.constantIntegerValue)\n )\n : this.module.i64(0);\n }\n case TypeKind.F64: {\n // monkey-patch for converting built-in floats to f32 implicitly\n if (!(element.hasDecorator(DecoratorFlags.Builtin) && contextualType == Type.f32)) {\n return this.module.f64(element.constantFloatValue);\n }\n // otherwise fall-through: basically precomputes f32.demote/f64 of NaN / Infinity\n this.currentType = Type.f32;\n }\n case TypeKind.F32: {\n return this.module.f32(element.constantFloatValue);\n }\n default: {\n assert(false);\n return this.module.unreachable();\n }\n }\n }\n\n compileExpression(\n expression: Expression,\n contextualType: Type,\n constraints: Constraints = Constraints.None\n ): ExpressionRef {\n while (expression.kind == NodeKind.Parenthesized) { // skip\n expression = (expression).expression;\n }\n this.currentType = contextualType;\n if (contextualType == Type.void) constraints |= Constraints.WillDrop;\n let expr: ExpressionRef;\n switch (expression.kind) {\n case NodeKind.Assertion: {\n expr = this.compileAssertionExpression(expression, contextualType, constraints);\n break;\n }\n case NodeKind.Binary: {\n expr = this.compileBinaryExpression(expression, contextualType, constraints);\n break;\n }\n case NodeKind.Call: {\n expr = this.compileCallExpression(expression, contextualType, constraints);\n break;\n }\n case NodeKind.Comma: {\n expr = this.compileCommaExpression(expression, contextualType, constraints);\n break;\n }\n case NodeKind.ElementAccess: {\n expr = this.compileElementAccessExpression(expression, contextualType, constraints);\n break;\n }\n case NodeKind.Function: {\n expr = this.compileFunctionExpression(expression, contextualType, constraints);\n break;\n }\n case NodeKind.Identifier:\n case NodeKind.False:\n case NodeKind.Null:\n case NodeKind.This:\n case NodeKind.Super:\n case NodeKind.True: {\n expr = this.compileIdentifierExpression(expression, contextualType, constraints);\n break;\n }\n case NodeKind.InstanceOf: {\n expr = this.compileInstanceOfExpression(expression, contextualType, constraints);\n break;\n }\n case NodeKind.Literal: {\n expr = this.compileLiteralExpression(expression, contextualType, constraints);\n break;\n }\n case NodeKind.New: {\n expr = this.compileNewExpression(expression, contextualType, constraints);\n break;\n }\n case NodeKind.PropertyAccess: {\n expr = this.compilePropertyAccessExpression(expression, contextualType, constraints);\n break;\n }\n case NodeKind.Ternary: {\n expr = this.compileTernaryExpression(expression, contextualType, constraints);\n break;\n }\n case NodeKind.UnaryPostfix: {\n expr = this.compileUnaryPostfixExpression(expression, contextualType, constraints);\n break;\n }\n case NodeKind.UnaryPrefix: {\n expr = this.compileUnaryPrefixExpression(expression, contextualType, constraints);\n break;\n }\n case NodeKind.Compiled: {\n let compiled = expression;\n expr = compiled.expr;\n this.currentType = compiled.type;\n break;\n }\n case NodeKind.Class: {\n // TODO: compile as class expression\n this.error(\n DiagnosticCode.Not_implemented_0,\n expression.range,\n \"Block-scoped class declarations or expressions\"\n );\n expr = this.module.unreachable();\n break;\n }\n default: {\n assert(false);\n expr = this.module.unreachable();\n }\n }\n // ensure conversion and wrapping in case the respective function doesn't on its own\n let currentType = this.currentType;\n let wrap = (constraints & Constraints.MustWrap) != 0;\n if (currentType != contextualType.nonNullableType) { // allow assigning non-nullable to nullable\n if (constraints & Constraints.ConvExplicit) {\n expr = this.convertExpression(expr, currentType, contextualType, true, expression);\n this.currentType = currentType = contextualType;\n } else if (constraints & Constraints.ConvImplicit) {\n expr = this.convertExpression(expr, currentType, contextualType, false, expression);\n this.currentType = currentType = contextualType;\n }\n }\n if (wrap) expr = this.ensureSmallIntegerWrap(expr, currentType);\n // debug location is added here so the caller doesn't have to. means: compilation of an expression\n // must go through this function, with the respective per-kind functions not being used directly.\n if (this.options.sourceMap) this.addDebugLocation(expr, expression.range);\n return expr;\n }\n\n /** Converts an expression's result from one type to another. */\n convertExpression(\n expr: ExpressionRef,\n /** Original type. */\n fromType: Type,\n /** New type. */\n toType: Type,\n /** Whether the conversion is explicit. */\n explicit: bool,\n /** Report node. */\n reportNode: Node\n ): ExpressionRef {\n let module = this.module;\n\n if (fromType.kind == TypeKind.Void) {\n if (toType.kind == TypeKind.Void) {\n // void to void: Can happen as a result of a foregoing error. Since we\n // have an `expr` here that is already supposed to be void, return it.\n return expr;\n }\n // void to any\n this.error(\n DiagnosticCode.Type_0_is_not_assignable_to_type_1,\n reportNode.range, fromType.toString(), toType.toString()\n );\n return module.unreachable();\n }\n\n // any to void\n if (toType.kind == TypeKind.Void) return module.drop(expr);\n\n // reference involved\n if (fromType.isReference || toType.isReference) {\n if (this.currentFlow.isNonnull(expr, fromType)) {\n fromType = fromType.nonNullableType;\n } else if (explicit && fromType.isNullableReference && !toType.isNullableReference) {\n // explicit conversion from nullable to non-nullable requires a runtime\n // check here because nonnull state above already didn't know better\n if (!this.options.noAssert) {\n expr = this.makeRuntimeNonNullCheck(expr, fromType, reportNode);\n }\n fromType = fromType.nonNullableType;\n }\n if (fromType.isAssignableTo(toType)) { // upcast or same\n assert(toType.isExternalReference || fromType.kind == toType.kind);\n this.currentType = toType;\n return expr;\n }\n if (explicit && toType.nonNullableType.isAssignableTo(fromType)) { // downcast\n // (maybeCat)\n if (toType.isExternalReference) {\n this.error(\n DiagnosticCode.Not_implemented_0,\n reportNode.range,\n \"ref.cast\"\n );\n this.currentType = toType;\n return module.unreachable();\n }\n assert(fromType.kind == toType.kind);\n if (!this.options.noAssert) {\n expr = this.makeRuntimeDowncastCheck(expr, fromType, toType, reportNode);\n }\n this.currentType = toType;\n return expr;\n }\n this.error(\n DiagnosticCode.Type_0_is_not_assignable_to_type_1,\n reportNode.range, fromType.toString(), toType.toString()\n );\n this.currentType = toType;\n return module.unreachable();\n }\n\n // not dealing with references from here on\n assert(!fromType.isReference && !toType.isReference);\n\n // Early return if we have same types\n if (toType.kind == fromType.kind) {\n this.currentType = toType;\n return expr;\n }\n\n // v128 to any / any to v128\n // except v128 to bool\n //\n // NOTE:In case we would have more conversions to and from v128 type it's better\n // to make these checks more individual and integrate in below flow.\n if (\n !toType.isBooleanValue &&\n (toType.isVectorValue || fromType.isVectorValue)\n ) {\n this.error(\n DiagnosticCode.Type_0_is_not_assignable_to_type_1,\n reportNode.range, fromType.toString(), toType.toString()\n );\n return module.unreachable();\n }\n\n if (!fromType.isAssignableTo(toType)) {\n if (!explicit) {\n this.error(\n DiagnosticCode.Conversion_from_type_0_to_1_requires_an_explicit_cast,\n reportNode.range, fromType.toString(), toType.toString()\n ); // recoverable\n }\n }\n\n if (fromType.isFloatValue) {\n\n // float to float\n if (toType.isFloatValue) {\n if (fromType.kind == TypeKind.F32) {\n\n // f32 to f64\n if (toType.kind == TypeKind.F64) {\n expr = module.unary(UnaryOp.PromoteF32ToF64, expr);\n }\n\n // otherwise f32 to f32\n\n // f64 to f32\n } else if (toType.kind == TypeKind.F32) {\n expr = module.unary(UnaryOp.DemoteF64ToF32, expr);\n }\n\n // otherwise f64 to f64\n\n // float to int\n } else if (toType.isIntegerValue) {\n\n // f32 to int\n if (fromType.kind == TypeKind.F32) {\n if (toType.isBooleanValue) {\n expr = this.makeIsTrueish(expr, Type.f32, reportNode);\n } else if (toType.isSignedIntegerValue) {\n let saturating = this.options.hasFeature(Feature.NontrappingF2I);\n if (toType.isLongIntegerValue) {\n expr = module.unary(saturating ? UnaryOp.TruncSatF32ToI64 : UnaryOp.TruncF32ToI64, expr);\n } else {\n expr = module.unary(saturating ? UnaryOp.TruncSatF32ToI32 : UnaryOp.TruncF32ToI32, expr);\n }\n } else {\n let saturating = this.options.hasFeature(Feature.NontrappingF2I);\n if (toType.isLongIntegerValue) {\n expr = module.unary(saturating ? UnaryOp.TruncSatF32ToU64 : UnaryOp.TruncF32ToU64, expr);\n } else {\n expr = module.unary(saturating ? UnaryOp.TruncSatF32ToU32 : UnaryOp.TruncF32ToU32, expr);\n }\n }\n\n // f64 to int\n } else {\n if (toType.isBooleanValue) {\n expr = this.makeIsTrueish(expr, Type.f64, reportNode);\n } else if (toType.isSignedIntegerValue) {\n let saturating = this.options.hasFeature(Feature.NontrappingF2I);\n if (toType.isLongIntegerValue) {\n expr = module.unary(saturating ? UnaryOp.TruncSatF64ToI64 : UnaryOp.TruncF64ToI64, expr);\n } else {\n expr = module.unary(saturating ? UnaryOp.TruncSatF64ToI32 : UnaryOp.TruncF64ToI32, expr);\n }\n } else {\n let saturating = this.options.hasFeature(Feature.NontrappingF2I);\n if (toType.isLongIntegerValue) {\n expr = module.unary(saturating ? UnaryOp.TruncSatF64ToU64 : UnaryOp.TruncF64ToU64, expr);\n } else {\n expr = module.unary(saturating ? UnaryOp.TruncSatF64ToU32 : UnaryOp.TruncF64ToU32, expr);\n }\n }\n }\n\n // float to void\n } else {\n assert(toType.flags == TypeFlags.None, \"void type expected\");\n expr = module.drop(expr);\n }\n\n // int to float\n } else if (fromType.isIntegerValue && toType.isFloatValue) {\n // Clear extra bits.\n expr = this.ensureSmallIntegerWrap(expr, fromType);\n let op: UnaryOp;\n // int to f32\n if (toType.kind == TypeKind.F32) {\n if (fromType.isLongIntegerValue) {\n if (fromType.isSignedIntegerValue) op = UnaryOp.ConvertI64ToF32;\n else op = UnaryOp.ConvertU64ToF32;\n } else {\n if (fromType.isSignedIntegerValue) op = UnaryOp.ConvertI32ToF32;\n else op = UnaryOp.ConvertU32ToF32;\n }\n // int to f64\n } else {\n if (fromType.isLongIntegerValue) {\n if (fromType.isSignedIntegerValue) op = UnaryOp.ConvertI64ToF64;\n else op = UnaryOp.ConvertU64ToF64;\n } else {\n if (fromType.isSignedIntegerValue) op = UnaryOp.ConvertI32ToF64;\n else op = UnaryOp.ConvertU32ToF64;\n }\n }\n expr = module.unary(op, expr);\n\n // v128 to bool\n } else if (fromType == Type.v128 && toType.isBooleanValue) {\n expr = this.makeIsTrueish(expr, Type.v128, reportNode);\n\n // int to int\n } else {\n // i64 to ...\n if (fromType.isLongIntegerValue) {\n\n // i64 to i32 or smaller\n if (toType.isBooleanValue) {\n expr = module.binary(BinaryOp.NeI64, expr, module.i64(0));\n } else if (!toType.isLongIntegerValue) {\n expr = module.unary(UnaryOp.WrapI64ToI32, expr); // discards upper bits\n }\n\n // i32 or smaller to i64\n } else if (toType.isLongIntegerValue) {\n expr = module.unary(\n fromType.isSignedIntegerValue ? UnaryOp.ExtendI32ToI64 : UnaryOp.ExtendU32ToU64,\n this.ensureSmallIntegerWrap(expr, fromType) // must clear garbage bits\n );\n\n // i32 to i32\n } else {\n // small i32 to ...\n if (fromType.isShortIntegerValue) {\n // small i32 to larger i32\n if (fromType.size < toType.size) {\n expr = this.ensureSmallIntegerWrap(expr, fromType); // must clear garbage bits\n }\n // same size\n } else {\n if (!explicit && !this.options.isWasm64 && fromType.isVaryingIntegerValue && !toType.isVaryingIntegerValue) {\n this.warning(\n DiagnosticCode.Conversion_from_type_0_to_1_will_require_an_explicit_cast_when_switching_between_32_64_bit,\n reportNode.range, fromType.toString(), toType.toString()\n );\n }\n }\n }\n }\n\n this.currentType = toType;\n return expr;\n }\n\n private compileAssertionExpression(\n expression: AssertionExpression,\n contextualType: Type,\n constraints: Constraints\n ): ExpressionRef {\n let inheritedConstraints = constraints & ~(Constraints.ConvImplicit | Constraints.ConvExplicit);\n switch (expression.assertionKind) {\n case AssertionKind.Prefix:\n case AssertionKind.As: {\n let flow = this.currentFlow;\n let toType = this.resolver.resolveType( // reports\n assert(expression.toType), flow,\n flow.sourceFunction,\n cloneMap(flow.contextualTypeArguments)\n );\n if (!toType) return this.module.unreachable();\n return this.compileExpression(expression.expression, toType, inheritedConstraints | Constraints.ConvExplicit);\n }\n case AssertionKind.NonNull: {\n assert(!expression.toType);\n let expr = this.compileExpression(expression.expression, contextualType.exceptVoid, inheritedConstraints);\n let type = this.currentType;\n if (this.currentFlow.isNonnull(expr, type)) {\n this.info(\n DiagnosticCode.Expression_is_never_null,\n expression.expression.range\n );\n } else if (!this.options.noAssert) {\n expr = this.makeRuntimeNonNullCheck(expr, type, expression);\n }\n this.currentType = type.nonNullableType;\n return expr;\n }\n case AssertionKind.Const: {\n // TODO: decide on the layout of ReadonlyArray first\n // let operand = expression.expression;\n // if (operand.kind == NodeKind.Literal && (operand).literalKind == LiteralKind.Array) {\n // let element = this.resolver.lookupExpression(expression /* ! */, this.currentFlow, contextualType);\n // if (!element) return this.module.unreachable();\n // if (element.kind == ElementKind.Class) {\n // let arrayInstance = element;\n // if (arrayInstance.extends(this.program.readonlyArrayPrototype)) {\n // return this.compileStaticArrayLiteral(operand, arrayInstance.type, constraints);\n // }\n // }\n // }\n this.error(\n DiagnosticCode.Not_implemented_0,\n expression.range,\n \"Const assertion\"\n );\n return this.module.unreachable();\n }\n default: assert(false);\n }\n return this.module.unreachable();\n }\n\n private f32ModInstance: Function | null = null;\n private f64ModInstance: Function | null = null;\n private f32PowInstance: Function | null = null;\n private f64PowInstance: Function | null = null;\n private i32PowInstance: Function | null = null;\n private i64PowInstance: Function | null = null;\n\n private compileBinaryExpression(\n expression: BinaryExpression,\n contextualType: Type,\n constraints: Constraints\n ): ExpressionRef {\n let module = this.module;\n let left = expression.left;\n let right = expression.right;\n\n let leftExpr: ExpressionRef;\n let leftType: Type;\n let rightExpr: ExpressionRef;\n let rightType: Type;\n let commonType: Type | null;\n\n let expr: ExpressionRef;\n let compound = false;\n\n let operator = expression.operator;\n switch (operator) {\n case Token.LessThan: {\n leftExpr = this.compileExpression(left, contextualType);\n leftType = this.currentType;\n\n // check operator overload\n let classReference = leftType.getClassOrWrapper(this.program);\n if (classReference) {\n let overload = classReference.lookupOverload(OperatorKind.Lt);\n if (overload) {\n expr = this.compileBinaryOverload(overload, left, leftExpr, leftType, right, expression);\n break;\n }\n }\n\n rightExpr = this.compileExpression(right, leftType);\n rightType = this.currentType;\n commonType = Type.commonType(leftType, rightType, contextualType, true);\n if (!commonType || !commonType.isNumericValue) {\n this.error(\n DiagnosticCode.Operator_0_cannot_be_applied_to_types_1_and_2,\n expression.range, \"<\", leftType.toString(), rightType.toString()\n );\n this.currentType = contextualType;\n return module.unreachable();\n }\n\n leftExpr = this.convertExpression(leftExpr, leftType, commonType, false, left);\n leftType = commonType;\n rightExpr = this.convertExpression(rightExpr, rightType, commonType, false, right);\n rightType = commonType;\n\n expr = this.makeLt(leftExpr, rightExpr, commonType);\n this.currentType = Type.bool;\n break;\n }\n case Token.GreaterThan: {\n leftExpr = this.compileExpression(left, contextualType);\n leftType = this.currentType;\n\n // check operator overload\n let classReference = leftType.getClassOrWrapper(this.program);\n if (classReference) {\n let overload = classReference.lookupOverload(OperatorKind.Gt);\n if (overload) {\n expr = this.compileBinaryOverload(overload, left, leftExpr, leftType, right, expression);\n break;\n }\n }\n\n rightExpr = this.compileExpression(right, leftType);\n rightType = this.currentType;\n commonType = Type.commonType(leftType, rightType, contextualType, true);\n if (!commonType || !commonType.isNumericValue) {\n this.error(\n DiagnosticCode.Operator_0_cannot_be_applied_to_types_1_and_2,\n expression.range, \">\", leftType.toString(), rightType.toString()\n );\n this.currentType = contextualType;\n return module.unreachable();\n }\n\n leftExpr = this.convertExpression(leftExpr, leftType, commonType, false, left);\n leftType = commonType;\n rightExpr = this.convertExpression(rightExpr, rightType, commonType, false, right);\n rightType = commonType;\n\n expr = this.makeGt(leftExpr, rightExpr, commonType);\n this.currentType = Type.bool;\n break;\n }\n case Token.LessThan_Equals: {\n leftExpr = this.compileExpression(left, contextualType);\n leftType = this.currentType;\n\n // check operator overload\n let classReference = leftType.getClassOrWrapper(this.program);\n if (classReference) {\n let overload = classReference.lookupOverload(OperatorKind.Le);\n if (overload) {\n expr = this.compileBinaryOverload(overload, left, leftExpr, leftType, right, expression);\n break;\n }\n }\n\n rightExpr = this.compileExpression(right, leftType);\n rightType = this.currentType;\n commonType = Type.commonType(leftType, rightType, contextualType, true);\n if (!commonType || !commonType.isNumericValue) {\n this.error(\n DiagnosticCode.Operator_0_cannot_be_applied_to_types_1_and_2,\n expression.range, \"<=\", leftType.toString(), rightType.toString()\n );\n this.currentType = contextualType;\n return module.unreachable();\n }\n\n leftExpr = this.convertExpression(leftExpr, leftType, commonType, false, left);\n leftType = commonType;\n rightExpr = this.convertExpression(rightExpr, rightType, commonType, false, right);\n rightType = commonType;\n\n expr = this.makeLe(leftExpr, rightExpr, commonType);\n this.currentType = Type.bool;\n break;\n }\n case Token.GreaterThan_Equals: {\n leftExpr = this.compileExpression(left, contextualType);\n leftType = this.currentType;\n\n // check operator overload\n let classReference = leftType.getClassOrWrapper(this.program);\n if (classReference) {\n let overload = classReference.lookupOverload(OperatorKind.Ge);\n if (overload) {\n expr = this.compileBinaryOverload(overload, left, leftExpr, leftType, right, expression);\n break;\n }\n }\n\n rightExpr = this.compileExpression(right, leftType);\n rightType = this.currentType;\n commonType = Type.commonType(leftType, rightType, contextualType, true);\n if (!commonType || !commonType.isNumericValue) {\n this.error(\n DiagnosticCode.Operator_0_cannot_be_applied_to_types_1_and_2,\n expression.range, \">=\", leftType.toString(), rightType.toString()\n );\n this.currentType = contextualType;\n return module.unreachable();\n }\n\n leftExpr = this.convertExpression(leftExpr, leftType, commonType, false, left);\n leftType = commonType;\n rightExpr = this.convertExpression(rightExpr, rightType, commonType, false, right);\n rightType = commonType;\n\n expr = this.makeGe(leftExpr, rightExpr, commonType);\n this.currentType = Type.bool;\n break;\n }\n\n case Token.Equals_Equals_Equals:\n case Token.Equals_Equals: {\n leftExpr = this.compileExpression(left, contextualType);\n leftType = this.currentType;\n\n // check operator overload\n let classReference = leftType.getClassOrWrapper(this.program);\n if (classReference) {\n let overload = classReference.lookupOverload(OperatorKind.Eq);\n if (overload) {\n expr = this.compileBinaryOverload(overload, left, leftExpr, leftType, right, expression);\n break;\n }\n }\n\n rightExpr = this.compileExpression(right, leftType);\n rightType = this.currentType;\n commonType = Type.commonType(leftType, rightType, contextualType);\n if (!commonType) {\n this.error(\n DiagnosticCode.Operator_0_cannot_be_applied_to_types_1_and_2,\n expression.range, operatorTokenToString(expression.operator), leftType.toString(), rightType.toString()\n );\n this.currentType = contextualType;\n return module.unreachable();\n }\n if (commonType.isFloatValue) {\n if (\n isConstExpressionNaN(module, rightExpr) ||\n isConstExpressionNaN(module, leftExpr)\n ) {\n this.warning(\n DiagnosticCode._NaN_does_not_compare_equal_to_any_other_value_including_itself_Use_isNaN_x_instead,\n expression.range\n );\n }\n if (isConstNegZero(rightExpr) || isConstNegZero(leftExpr)) {\n this.warning(\n DiagnosticCode.Comparison_with_0_0_is_sign_insensitive_Use_Object_is_x_0_0_if_the_sign_matters,\n expression.range\n );\n }\n }\n leftExpr = this.convertExpression(leftExpr, leftType, commonType, false, left);\n leftType = commonType;\n rightExpr = this.convertExpression(rightExpr, rightType, commonType, false, right);\n rightType = commonType;\n\n expr = this.makeEq(leftExpr, rightExpr, commonType, expression);\n this.currentType = Type.bool;\n break;\n }\n case Token.Exclamation_Equals_Equals:\n case Token.Exclamation_Equals: {\n leftExpr = this.compileExpression(left, contextualType);\n leftType = this.currentType;\n\n // check operator overload\n let classReference = leftType.getClass();\n if (classReference) {\n let overload = classReference.lookupOverload(OperatorKind.Ne);\n if (overload) {\n expr = this.compileBinaryOverload(overload, left, leftExpr, leftType, right, expression);\n break;\n }\n }\n\n rightExpr = this.compileExpression(right, leftType);\n rightType = this.currentType;\n commonType = Type.commonType(leftType, rightType, contextualType);\n if (!commonType) {\n this.error(\n DiagnosticCode.Operator_0_cannot_be_applied_to_types_1_and_2,\n expression.range, operatorTokenToString(expression.operator), leftType.toString(), rightType.toString()\n );\n this.currentType = contextualType;\n return module.unreachable();\n }\n if (commonType.isFloatValue) {\n if (\n isConstExpressionNaN(module, rightExpr) ||\n isConstExpressionNaN(module, leftExpr)\n ) {\n this.warning(\n DiagnosticCode._NaN_does_not_compare_equal_to_any_other_value_including_itself_Use_isNaN_x_instead,\n expression.range\n );\n }\n if (isConstNegZero(rightExpr) || isConstNegZero(leftExpr)) {\n this.warning(\n DiagnosticCode.Comparison_with_0_0_is_sign_insensitive_Use_Object_is_x_0_0_if_the_sign_matters,\n expression.range\n );\n }\n }\n leftExpr = this.convertExpression(leftExpr, leftType, commonType, false, left);\n leftType = commonType;\n rightExpr = this.convertExpression(rightExpr, rightType, commonType, false, right);\n rightType = commonType;\n\n expr = this.makeNe(leftExpr, rightExpr, commonType, expression);\n this.currentType = Type.bool;\n break;\n }\n case Token.Equals: {\n return this.compileAssignment(left, right, contextualType);\n }\n case Token.Plus_Equals: compound = true;\n case Token.Plus: {\n leftExpr = this.compileExpression(left, contextualType);\n leftType = this.currentType;\n\n // check operator overload\n let classReference = leftType.getClassOrWrapper(this.program);\n if (classReference) {\n let overload = classReference.lookupOverload(OperatorKind.Add);\n if (overload) {\n expr = this.compileBinaryOverload(overload, left, leftExpr, leftType, right, expression);\n break;\n }\n }\n if (compound) {\n if (!leftType.isNumericValue) {\n this.error(\n DiagnosticCode.The_0_operator_cannot_be_applied_to_type_1,\n expression.range, \"+\", leftType.toString()\n );\n return module.unreachable();\n }\n rightExpr = this.compileExpression(right, leftType, Constraints.ConvImplicit);\n rightType = commonType = this.currentType;\n } else {\n rightExpr = this.compileExpression(right, leftType);\n rightType = this.currentType;\n commonType = Type.commonType(leftType, rightType, contextualType);\n if (!commonType || !commonType.isNumericValue) {\n this.error(\n DiagnosticCode.Operator_0_cannot_be_applied_to_types_1_and_2,\n expression.range, \"+\", leftType.toString(), rightType.toString()\n );\n this.currentType = contextualType;\n return module.unreachable();\n }\n leftExpr = this.convertExpression(leftExpr, leftType, commonType, false, left);\n leftType = commonType;\n rightExpr = this.convertExpression(rightExpr, rightType, commonType, false, right);\n rightType = commonType;\n }\n expr = this.makeAdd(leftExpr, rightExpr, commonType);\n break;\n }\n case Token.Minus_Equals: compound = true;\n case Token.Minus: {\n leftExpr = this.compileExpression(left, contextualType);\n leftType = this.currentType;\n\n // check operator overload\n let classReference = leftType.getClassOrWrapper(this.program);\n if (classReference) {\n let overload = classReference.lookupOverload(OperatorKind.Sub);\n if (overload) {\n expr = this.compileBinaryOverload(overload, left, leftExpr, leftType, right, expression);\n break;\n }\n }\n\n if (compound) {\n if (!leftType.isNumericValue) {\n this.error(\n DiagnosticCode.The_0_operator_cannot_be_applied_to_type_1,\n expression.range, \"-\", leftType.toString()\n );\n return module.unreachable();\n }\n rightExpr = this.compileExpression(right, leftType, Constraints.ConvImplicit);\n rightType = commonType = this.currentType;\n } else {\n rightExpr = this.compileExpression(right, leftType);\n rightType = this.currentType;\n commonType = Type.commonType(leftType, rightType, contextualType);\n if (!commonType || !leftType.isNumericValue) {\n this.error(\n DiagnosticCode.Operator_0_cannot_be_applied_to_types_1_and_2,\n expression.range, \"-\", leftType.toString(), rightType.toString()\n );\n this.currentType = contextualType;\n return module.unreachable();\n }\n leftExpr = this.convertExpression(leftExpr, leftType, commonType, false, left);\n leftType = commonType;\n rightExpr = this.convertExpression(rightExpr, rightType, commonType, false, right);\n rightType = commonType;\n }\n expr = this.makeSub(leftExpr, rightExpr, commonType);\n break;\n }\n case Token.Asterisk_Equals: compound = true;\n case Token.Asterisk: {\n leftExpr = this.compileExpression(left, contextualType);\n leftType = this.currentType;\n\n // check operator overload\n let classReference = leftType.getClassOrWrapper(this.program);\n if (classReference) {\n let overload = classReference.lookupOverload(OperatorKind.Mul);\n if (overload) {\n expr = this.compileBinaryOverload(overload, left, leftExpr, leftType, right, expression);\n break;\n }\n }\n\n if (compound) {\n if (!leftType.isNumericValue) {\n this.error(\n DiagnosticCode.The_0_operator_cannot_be_applied_to_type_1,\n expression.range, \"*\", leftType.toString()\n );\n return module.unreachable();\n }\n rightExpr = this.compileExpression(right, leftType, Constraints.ConvImplicit);\n rightType = commonType = this.currentType;\n } else {\n rightExpr = this.compileExpression(right, leftType);\n rightType = this.currentType;\n commonType = Type.commonType(leftType, rightType, contextualType);\n if (!commonType || !commonType.isNumericValue) {\n this.error(\n DiagnosticCode.Operator_0_cannot_be_applied_to_types_1_and_2,\n expression.range, \"*\", leftType.toString(), rightType.toString()\n );\n this.currentType = contextualType;\n return module.unreachable();\n }\n leftExpr = this.convertExpression(leftExpr, leftType, commonType, false, left);\n leftType = commonType;\n rightExpr = this.convertExpression(rightExpr, rightType, commonType, false, right);\n rightType = commonType;\n }\n expr = this.makeMul(leftExpr, rightExpr, commonType);\n break;\n }\n case Token.Asterisk_Asterisk_Equals: compound = true;\n case Token.Asterisk_Asterisk: {\n leftExpr = this.compileExpression(left, contextualType);\n leftType = this.currentType;\n\n // check operator overload\n let classReference = leftType.getClassOrWrapper(this.program);\n if (classReference) {\n let overload = classReference.lookupOverload(OperatorKind.Pow);\n if (overload) {\n expr = this.compileBinaryOverload(overload, left, leftExpr, leftType, right, expression);\n break;\n }\n }\n\n if (compound) {\n if (!leftType.isNumericValue) {\n this.error(\n DiagnosticCode.The_0_operator_cannot_be_applied_to_type_1,\n expression.range, \"**\", leftType.toString()\n );\n return module.unreachable();\n }\n rightExpr = this.compileExpression(right, leftType, Constraints.ConvImplicit);\n rightType = commonType = this.currentType;\n } else {\n rightExpr = this.compileExpression(right, leftType);\n rightType = this.currentType;\n commonType = Type.commonType(leftType, rightType, contextualType);\n if (!commonType || !commonType.isNumericValue) {\n this.error(\n DiagnosticCode.Operator_0_cannot_be_applied_to_types_1_and_2,\n expression.range, \"**\", leftType.toString(), rightType.toString()\n );\n this.currentType = contextualType;\n return module.unreachable();\n }\n leftExpr = this.convertExpression(leftExpr, leftType, commonType, false, left);\n leftType = commonType;\n rightExpr = this.convertExpression(rightExpr, rightType, commonType, false, right);\n rightType = commonType;\n }\n expr = this.makePow(leftExpr, rightExpr, commonType, expression);\n break;\n }\n case Token.Slash_Equals: compound = true;\n case Token.Slash: {\n leftExpr = this.compileExpression(left, contextualType);\n leftType = this.currentType;\n\n // check operator overload\n let classReference = leftType.getClassOrWrapper(this.program);\n if (classReference) {\n let overload = classReference.lookupOverload(OperatorKind.Div);\n if (overload) {\n expr = this.compileBinaryOverload(overload, left, leftExpr, leftType, right, expression);\n break;\n }\n }\n\n if (compound) {\n if (!leftType.isNumericValue) {\n this.error(\n DiagnosticCode.The_0_operator_cannot_be_applied_to_type_1,\n expression.range, \"/\", leftType.toString()\n );\n return module.unreachable();\n }\n rightExpr = this.compileExpression(right, leftType, Constraints.ConvImplicit);\n rightType = commonType = this.currentType;\n } else {\n rightExpr = this.compileExpression(right, leftType);\n rightType = this.currentType;\n commonType = Type.commonType(leftType, rightType, contextualType);\n if (!commonType || !commonType.isNumericValue) {\n this.error(\n DiagnosticCode.Operator_0_cannot_be_applied_to_types_1_and_2,\n expression.range, \"/\", leftType.toString(), rightType.toString()\n );\n this.currentType = contextualType;\n return module.unreachable();\n }\n leftExpr = this.convertExpression(leftExpr, leftType, commonType, false, left);\n leftType = commonType;\n rightExpr = this.convertExpression(rightExpr, rightType, commonType, false, right);\n rightType = commonType;\n }\n expr = this.makeDiv(leftExpr, rightExpr, commonType);\n break;\n }\n case Token.Percent_Equals: compound = true;\n case Token.Percent: {\n leftExpr = this.compileExpression(left, contextualType);\n leftType = this.currentType;\n\n // check operator overload\n let classReference = leftType.getClassOrWrapper(this.program);\n if (classReference) {\n let overload = classReference.lookupOverload(OperatorKind.Rem);\n if (overload) {\n expr = this.compileBinaryOverload(overload, left, leftExpr, leftType, right, expression);\n break;\n }\n }\n\n if (compound) {\n if (!leftType.isNumericValue) {\n this.error(\n DiagnosticCode.The_0_operator_cannot_be_applied_to_type_1,\n expression.range, \"%\", leftType.toString()\n );\n return module.unreachable();\n }\n rightExpr = this.compileExpression(right, leftType, Constraints.ConvImplicit);\n rightType = commonType = this.currentType;\n } else {\n rightExpr = this.compileExpression(right, leftType);\n rightType = this.currentType;\n commonType = Type.commonType(leftType, rightType, contextualType);\n if (!commonType || !commonType.isNumericValue) {\n this.error(\n DiagnosticCode.Operator_0_cannot_be_applied_to_types_1_and_2,\n expression.range, \"%\", leftType.toString(), rightType.toString()\n );\n this.currentType = contextualType;\n return module.unreachable();\n }\n leftExpr = this.convertExpression(leftExpr, leftType, commonType, false, left);\n leftType = commonType;\n rightExpr = this.convertExpression(rightExpr, rightType, commonType, false, right);\n rightType = commonType;\n }\n expr = this.makeRem(leftExpr, rightExpr, commonType, expression);\n break;\n }\n case Token.LessThan_LessThan_Equals: compound = true;\n case Token.LessThan_LessThan: {\n leftExpr = this.compileExpression(left, contextualType.intType);\n leftType = this.currentType;\n\n // check operator overload\n let classReference = leftType.getClassOrWrapper(this.program);\n if (classReference) {\n let overload = classReference.lookupOverload(OperatorKind.BitwiseShl);\n if (overload) {\n expr = this.compileBinaryOverload(overload, left, leftExpr, leftType, right, expression);\n break;\n }\n }\n if (!leftType.isIntegerValue) {\n this.error(\n DiagnosticCode.The_0_operator_cannot_be_applied_to_type_1,\n expression.range, \"<<\", leftType.toString()\n );\n return module.unreachable();\n }\n rightExpr = this.compileExpression(right, leftType, Constraints.ConvImplicit);\n rightType = this.currentType;\n\n expr = this.makeShl(leftExpr, rightExpr, rightType);\n break;\n }\n case Token.GreaterThan_GreaterThan_Equals: compound = true;\n case Token.GreaterThan_GreaterThan: {\n leftExpr = this.compileExpression(left, contextualType.intType);\n leftType = this.currentType;\n\n // check operator overload\n let classReference = leftType.getClassOrWrapper(this.program);\n if (classReference) {\n let overload = classReference.lookupOverload(OperatorKind.BitwiseShr);\n if (overload) {\n expr = this.compileBinaryOverload(overload, left, leftExpr, leftType, right, expression);\n break;\n }\n }\n if (!leftType.isIntegerValue) {\n this.error(\n DiagnosticCode.The_0_operator_cannot_be_applied_to_type_1,\n expression.range, \">>\", leftType.toString()\n );\n return this.module.unreachable();\n }\n\n rightExpr = this.compileExpression(right, leftType, Constraints.ConvImplicit);\n rightType = this.currentType;\n\n expr = this.makeShr(leftExpr, rightExpr, rightType);\n break;\n }\n case Token.GreaterThan_GreaterThan_GreaterThan_Equals: compound = true;\n case Token.GreaterThan_GreaterThan_GreaterThan: {\n leftExpr = this.compileExpression(left, contextualType.intType);\n leftType = this.currentType;\n\n // check operator overload\n let classReference = leftType.getClassOrWrapper(this.program);\n if (classReference) {\n let overload = classReference.lookupOverload(OperatorKind.BitwiseShrU);\n if (overload) {\n expr = this.compileBinaryOverload(overload, left, leftExpr, leftType, right, expression);\n break;\n }\n }\n if (!leftType.isIntegerValue) {\n this.error(\n DiagnosticCode.The_0_operator_cannot_be_applied_to_type_1,\n expression.range, \">>>\", leftType.toString()\n );\n return module.unreachable();\n }\n rightExpr = this.compileExpression(right, leftType, Constraints.ConvImplicit);\n rightType = this.currentType;\n\n expr = this.makeShru(leftExpr, rightExpr, rightType);\n break;\n }\n case Token.Ampersand_Equals: compound = true;\n case Token.Ampersand: {\n leftExpr = this.compileExpression(left, contextualType.intType);\n leftType = this.currentType;\n\n // check operator overload\n let classReference = leftType.getClassOrWrapper(this.program);\n if (classReference) {\n let overload = classReference.lookupOverload(OperatorKind.BitwiseAnd);\n if (overload) {\n expr = this.compileBinaryOverload(overload, left, leftExpr, leftType, right, expression);\n break;\n }\n }\n\n if (compound) {\n if (!leftType.isIntegerValue) {\n this.error(\n DiagnosticCode.The_0_operator_cannot_be_applied_to_type_1,\n expression.range, \"&\", leftType.toString()\n );\n return module.unreachable();\n }\n rightExpr = this.compileExpression(right, leftType, Constraints.ConvImplicit);\n rightType = commonType = this.currentType;\n } else {\n rightExpr = this.compileExpression(right, leftType);\n rightType = this.currentType;\n commonType = Type.commonType(leftType, rightType, contextualType);\n if (!commonType || !commonType.isIntegerValue) {\n this.error(\n DiagnosticCode.Operator_0_cannot_be_applied_to_types_1_and_2,\n expression.range, \"&\", leftType.toString(), rightType.toString()\n );\n this.currentType = contextualType;\n return module.unreachable();\n }\n leftExpr = this.convertExpression(leftExpr, leftType, commonType, false, left);\n leftType = commonType;\n rightExpr = this.convertExpression(rightExpr, rightType, commonType, false, right);\n rightType = commonType;\n }\n expr = this.makeAnd(leftExpr, rightExpr, commonType);\n break;\n }\n case Token.Bar_Equals: compound = true;\n case Token.Bar: {\n leftExpr = this.compileExpression(left, contextualType.intType);\n leftType = this.currentType;\n\n // check operator overload\n let classReference = leftType.getClassOrWrapper(this.program);\n if (classReference) {\n let overload = classReference.lookupOverload(OperatorKind.BitwiseOr);\n if (overload) {\n expr = this.compileBinaryOverload(overload, left, leftExpr, leftType, right, expression);\n break;\n }\n }\n\n if (compound) {\n if (!leftType.isIntegerValue) {\n this.error(\n DiagnosticCode.The_0_operator_cannot_be_applied_to_type_1,\n expression.range, \"|\", leftType.toString()\n );\n return module.unreachable();\n }\n rightExpr = this.compileExpression(right, leftType, Constraints.ConvImplicit);\n rightType = commonType = this.currentType;\n } else {\n rightExpr = this.compileExpression(right, leftType);\n rightType = this.currentType;\n commonType = Type.commonType(leftType, rightType, contextualType);\n if (!commonType || !commonType.isIntegerValue) {\n this.error(\n DiagnosticCode.Operator_0_cannot_be_applied_to_types_1_and_2,\n expression.range, \"|\", leftType.toString(), rightType.toString()\n );\n this.currentType = contextualType;\n return module.unreachable();\n }\n leftExpr = this.convertExpression(leftExpr, leftType, commonType, false, left);\n leftType = commonType;\n rightExpr = this.convertExpression(rightExpr, rightType, commonType, false, right);\n rightType = commonType;\n }\n expr = this.makeOr(leftExpr, rightExpr, commonType);\n break;\n }\n case Token.Caret_Equals: compound = true;\n case Token.Caret: {\n leftExpr = this.compileExpression(left, contextualType.intType);\n leftType = this.currentType;\n\n // check operator overload\n let classReference = leftType.getClassOrWrapper(this.program);\n if (classReference) {\n let overload = classReference.lookupOverload(OperatorKind.BitwiseXor);\n if (overload) {\n expr = this.compileBinaryOverload(overload, left, leftExpr, leftType, right, expression);\n break;\n }\n }\n\n if (compound) {\n if (!leftType.isIntegerValue) {\n this.error(\n DiagnosticCode.The_0_operator_cannot_be_applied_to_type_1,\n expression.range, \"^\", leftType.toString()\n );\n return module.unreachable();\n }\n rightExpr = this.compileExpression(right, leftType, Constraints.ConvImplicit);\n rightType = commonType = this.currentType;\n } else {\n rightExpr = this.compileExpression(right, leftType);\n rightType = this.currentType;\n commonType = Type.commonType(leftType, rightType, contextualType);\n if (!commonType || !commonType.isIntegerValue) {\n this.error(\n DiagnosticCode.Operator_0_cannot_be_applied_to_types_1_and_2,\n expression.range, \"^\", leftType.toString(), rightType.toString()\n );\n this.currentType = contextualType;\n return module.unreachable();\n }\n leftExpr = this.convertExpression(leftExpr, leftType, commonType, false, left);\n leftType = commonType;\n rightExpr = this.convertExpression(rightExpr, rightType, commonType, false, right);\n rightType = commonType;\n }\n expr = this.makeXor(leftExpr, rightExpr, commonType);\n break;\n }\n\n // logical (no overloading)\n\n case Token.Ampersand_Ampersand: { // left && right -> (t = left) ? right : t\n let flow = this.currentFlow;\n let inheritedConstraints = constraints & Constraints.MustWrap;\n leftExpr = this.compileExpression(left, contextualType.exceptVoid, inheritedConstraints);\n leftType = this.currentType;\n\n let rightFlow = flow.forkThen(leftExpr);\n this.currentFlow = rightFlow;\n\n // simplify if only interested in true or false\n if (contextualType == Type.bool || contextualType == Type.void) {\n leftExpr = this.makeIsTrueish(leftExpr, leftType, left);\n\n // shortcut if lhs is always false\n let condKind = this.evaluateCondition(leftExpr);\n if (condKind == ConditionKind.False) {\n expr = leftExpr;\n // RHS is not compiled\n } else {\n rightExpr = this.compileExpression(right, leftType, inheritedConstraints);\n rightType = this.currentType;\n rightExpr = this.makeIsTrueish(rightExpr, rightType, right);\n\n // simplify if lhs is always true\n if (condKind == ConditionKind.True) {\n expr = rightExpr;\n flow.inherit(rightFlow); // true && RHS -> RHS always executes\n } else {\n expr = module.if(leftExpr, rightExpr, module.i32(0));\n flow.mergeBranch(rightFlow); // LHS && RHS -> RHS conditionally executes\n flow.noteThen(expr, rightFlow); // LHS && RHS == true -> RHS always executes\n }\n }\n this.currentFlow = flow;\n this.currentType = Type.bool;\n\n } else {\n rightExpr = this.compileExpression(right, leftType, inheritedConstraints);\n rightType = this.currentType;\n commonType = Type.commonType(leftType, rightType, contextualType);\n if (!commonType) {\n this.error(\n DiagnosticCode.Operator_0_cannot_be_applied_to_types_1_and_2,\n expression.range, \"&&\", leftType.toString(), rightType.toString()\n );\n this.currentType = contextualType;\n return module.unreachable();\n }\n leftExpr = this.convertExpression(leftExpr, leftType, commonType, false, left);\n leftType = commonType;\n rightExpr = this.convertExpression(rightExpr, rightType, commonType, false, right);\n rightType = commonType;\n\n // simplify if copying left is trivial\n if (expr = module.tryCopyTrivialExpression(leftExpr)) {\n expr = module.if(\n this.makeIsTrueish(leftExpr, this.currentType, left),\n rightExpr,\n expr\n );\n\n // if not possible, tee left to a temp\n } else {\n let tempLocal = flow.getTempLocal(leftType);\n if (!flow.canOverflow(leftExpr, leftType)) flow.setLocalFlag(tempLocal.index, LocalFlags.Wrapped);\n if (flow.isNonnull(leftExpr, leftType)) flow.setLocalFlag(tempLocal.index, LocalFlags.NonNull);\n expr = module.if(\n this.makeIsTrueish(module.local_tee(tempLocal.index, leftExpr, leftType.isManaged), leftType, left),\n rightExpr,\n module.local_get(tempLocal.index, leftType.toRef())\n );\n }\n flow.mergeBranch(rightFlow); // LHS && RHS -> RHS conditionally executes\n flow.noteThen(expr, rightFlow); // LHS && RHS == true -> RHS always executes\n this.currentFlow = flow;\n this.currentType = commonType;\n }\n break;\n }\n case Token.Bar_Bar: { // left || right -> ((t = left) ? t : right)\n let flow = this.currentFlow;\n let inheritedConstraints = constraints & Constraints.MustWrap;\n leftExpr = this.compileExpression(left, contextualType.exceptVoid, inheritedConstraints);\n leftType = this.currentType;\n\n let rightFlow = flow.forkElse(leftExpr);\n this.currentFlow = rightFlow;\n\n // simplify if only interested in true or false\n if (contextualType == Type.bool || contextualType == Type.void) {\n leftExpr = this.makeIsTrueish(leftExpr, leftType, left);\n\n // shortcut if lhs is always true\n let condKind = this.evaluateCondition(leftExpr);\n if (condKind == ConditionKind.True) {\n expr = leftExpr;\n // RHS is not compiled\n } else {\n rightExpr = this.compileExpression(right, leftType, inheritedConstraints);\n rightType = this.currentType;\n rightExpr = this.makeIsTrueish(rightExpr, rightType, right);\n\n // simplify if lhs is always false\n if (condKind == ConditionKind.False) {\n expr = rightExpr;\n flow.inherit(rightFlow); // false || RHS -> RHS always executes\n } else {\n expr = module.if(leftExpr, module.i32(1), rightExpr);\n flow.mergeBranch(rightFlow); // LHS || RHS -> RHS conditionally executes\n flow.noteElse(expr, rightFlow); // LHS || RHS == false -> RHS always executes\n }\n }\n this.currentFlow = flow;\n this.currentType = Type.bool;\n\n } else {\n rightExpr = this.compileExpression(right, leftType, inheritedConstraints);\n rightType = this.currentType;\n commonType = Type.commonType(leftType, rightType, contextualType);\n if (!commonType) {\n this.error(\n DiagnosticCode.Operator_0_cannot_be_applied_to_types_1_and_2,\n expression.range, \"||\", leftType.toString(), rightType.toString()\n );\n this.currentType = contextualType;\n return module.unreachable();\n }\n let possiblyNull = leftType.is(TypeFlags.Nullable) && rightType.is(TypeFlags.Nullable);\n leftExpr = this.convertExpression(leftExpr, leftType, commonType, false, left);\n leftType = commonType;\n rightExpr = this.convertExpression(rightExpr, rightType, commonType, false, right);\n rightType = commonType;\n\n // simplify if copying left is trivial\n if (expr = module.tryCopyTrivialExpression(leftExpr)) {\n expr = module.if(\n this.makeIsTrueish(leftExpr, leftType, left),\n expr,\n rightExpr\n );\n\n // if not possible, tee left to a temp. local\n } else {\n let temp = flow.getTempLocal(leftType);\n let tempIndex = temp.index;\n if (!flow.canOverflow(leftExpr, leftType)) flow.setLocalFlag(tempIndex, LocalFlags.Wrapped);\n if (flow.isNonnull(leftExpr, leftType)) flow.setLocalFlag(tempIndex, LocalFlags.NonNull);\n expr = module.if(\n this.makeIsTrueish(module.local_tee(tempIndex, leftExpr, leftType.isManaged), leftType, left),\n module.local_get(tempIndex, leftType.toRef()),\n rightExpr\n );\n }\n flow.mergeBranch(rightFlow); // LHS || RHS -> RHS conditionally executes\n flow.noteElse(expr, rightFlow); // LHS || RHS == false -> RHS always executes\n this.currentFlow = flow;\n this.currentType = possiblyNull\n ? commonType\n : commonType.nonNullableType;\n }\n break;\n }\n case Token.In: {\n this.error(\n DiagnosticCode.Not_implemented_0,\n expression.range, \"'in' operator\"\n );\n this.currentType = Type.bool;\n return module.unreachable();\n }\n default: {\n assert(false);\n expr = this.module.unreachable();\n }\n }\n if (!compound) return expr;\n let resolver = this.resolver;\n let target = resolver.lookupExpression(left, this.currentFlow);\n if (!target) return module.unreachable();\n let targetType = resolver.getTypeOfElement(target);\n if (!targetType) targetType = Type.void;\n if (!this.currentType.isStrictlyAssignableTo(targetType)) {\n this.error(\n DiagnosticCode.Type_0_is_not_assignable_to_type_1,\n expression.range, this.currentType.toString(), targetType.toString()\n );\n return module.unreachable();\n }\n return this.makeAssignment(\n target,\n expr,\n this.currentType,\n right,\n resolver.currentThisExpression,\n resolver.currentElementExpression,\n contextualType != Type.void\n );\n }\n\n makeLt(leftExpr: ExpressionRef, rightExpr: ExpressionRef, type: Type): ExpressionRef {\n // Cares about garbage bits and signedness\n let module = this.module;\n switch (type.kind) {\n case TypeKind.I8:\n case TypeKind.I16: {\n leftExpr = this.ensureSmallIntegerWrap(leftExpr, type);\n rightExpr = this.ensureSmallIntegerWrap(rightExpr, type);\n // falls through\n }\n case TypeKind.I32: return module.binary(BinaryOp.LtI32, leftExpr, rightExpr);\n case TypeKind.I64: return module.binary(BinaryOp.LtI64, leftExpr, rightExpr);\n case TypeKind.Isize: return module.binary(BinaryOp.LtISize, leftExpr, rightExpr);\n case TypeKind.Bool:\n case TypeKind.U8:\n case TypeKind.U16: {\n leftExpr = this.ensureSmallIntegerWrap(leftExpr, type);\n rightExpr = this.ensureSmallIntegerWrap(rightExpr, type);\n // falls through\n }\n case TypeKind.U32: return module.binary(BinaryOp.LtU32, leftExpr, rightExpr);\n case TypeKind.U64: return module.binary(BinaryOp.LtU64, leftExpr, rightExpr);\n case TypeKind.Usize: return module.binary(BinaryOp.LtUSize, leftExpr, rightExpr);\n case TypeKind.F32: return module.binary(BinaryOp.LtF32, leftExpr, rightExpr);\n case TypeKind.F64: return module.binary(BinaryOp.LtF64, leftExpr, rightExpr);\n }\n assert(false);\n return module.unreachable();\n }\n\n makeGt(leftExpr: ExpressionRef, rightExpr: ExpressionRef, type: Type): ExpressionRef {\n // Cares about garbage bits and signedness\n let module = this.module;\n switch (type.kind) {\n case TypeKind.I8:\n case TypeKind.I16: {\n leftExpr = this.ensureSmallIntegerWrap(leftExpr, type);\n rightExpr = this.ensureSmallIntegerWrap(rightExpr, type);\n // falls through\n }\n case TypeKind.I32: return module.binary(BinaryOp.GtI32, leftExpr, rightExpr);\n case TypeKind.I64: return module.binary(BinaryOp.GtI64, leftExpr, rightExpr);\n case TypeKind.Isize: return module.binary(BinaryOp.GtISize, leftExpr, rightExpr);\n case TypeKind.Bool:\n case TypeKind.U8:\n case TypeKind.U16: {\n leftExpr = this.ensureSmallIntegerWrap(leftExpr, type);\n rightExpr = this.ensureSmallIntegerWrap(rightExpr, type);\n // falls through\n }\n case TypeKind.U32: return module.binary(BinaryOp.GtU32, leftExpr, rightExpr);\n case TypeKind.U64: return module.binary(BinaryOp.GtU64, leftExpr, rightExpr);\n case TypeKind.Usize: return module.binary(BinaryOp.GtUSize, leftExpr, rightExpr);\n case TypeKind.F32: return module.binary(BinaryOp.GtF32, leftExpr, rightExpr);\n case TypeKind.F64: return module.binary(BinaryOp.GtF64, leftExpr, rightExpr);\n }\n assert(false);\n return module.unreachable();\n }\n\n makeLe(leftExpr: ExpressionRef, rightExpr: ExpressionRef, type: Type): ExpressionRef {\n // Cares about garbage bits and signedness\n let module = this.module;\n switch (type.kind) {\n case TypeKind.I8:\n case TypeKind.I16: {\n leftExpr = this.ensureSmallIntegerWrap(leftExpr, type);\n rightExpr = this.ensureSmallIntegerWrap(rightExpr, type);\n // falls through\n }\n case TypeKind.I32: return module.binary(BinaryOp.LeI32, leftExpr, rightExpr);\n case TypeKind.I64: return module.binary(BinaryOp.LeI64, leftExpr, rightExpr);\n case TypeKind.Isize: return module.binary(BinaryOp.LeISize, leftExpr, rightExpr);\n case TypeKind.Bool:\n case TypeKind.U8:\n case TypeKind.U16: {\n leftExpr = this.ensureSmallIntegerWrap(leftExpr, type);\n rightExpr = this.ensureSmallIntegerWrap(rightExpr, type);\n // falls through\n }\n case TypeKind.U32: return module.binary(BinaryOp.LeU32, leftExpr, rightExpr);\n case TypeKind.U64: return module.binary(BinaryOp.LeU64, leftExpr, rightExpr);\n case TypeKind.Usize: return module.binary(BinaryOp.LeUSize, leftExpr, rightExpr);\n case TypeKind.F32: return module.binary(BinaryOp.LeF32, leftExpr, rightExpr);\n case TypeKind.F64: return module.binary(BinaryOp.LeF64, leftExpr, rightExpr);\n }\n assert(false);\n return module.unreachable();\n }\n\n makeGe(leftExpr: ExpressionRef, rightExpr: ExpressionRef, type: Type): ExpressionRef {\n // Cares about garbage bits and signedness\n let module = this.module;\n switch (type.kind) {\n case TypeKind.I8:\n case TypeKind.I16: {\n leftExpr = this.ensureSmallIntegerWrap(leftExpr, type);\n rightExpr = this.ensureSmallIntegerWrap(rightExpr, type);\n // falls through\n }\n case TypeKind.I32: return module.binary(BinaryOp.GeI32, leftExpr, rightExpr);\n case TypeKind.I64: return module.binary(BinaryOp.GeI64, leftExpr, rightExpr);\n case TypeKind.Isize: return module.binary(BinaryOp.GeISize, leftExpr, rightExpr);\n case TypeKind.Bool:\n case TypeKind.U8:\n case TypeKind.U16: {\n leftExpr = this.ensureSmallIntegerWrap(leftExpr, type);\n rightExpr = this.ensureSmallIntegerWrap(rightExpr, type);\n // falls through\n }\n case TypeKind.U32: return module.binary(BinaryOp.GeU32, leftExpr, rightExpr);\n case TypeKind.U64: return module.binary(BinaryOp.GeU64, leftExpr, rightExpr);\n case TypeKind.Usize: return module.binary(BinaryOp.GeUSize, leftExpr, rightExpr);\n case TypeKind.F32: return module.binary(BinaryOp.GeF32, leftExpr, rightExpr);\n case TypeKind.F64: return module.binary(BinaryOp.GeF64, leftExpr, rightExpr);\n }\n assert(false);\n return module.unreachable();\n }\n\n makeEq(leftExpr: ExpressionRef, rightExpr: ExpressionRef, type: Type, reportNode: Node): ExpressionRef {\n // Cares about garbage bits\n let module = this.module;\n switch (type.kind) {\n case TypeKind.Bool:\n case TypeKind.I8:\n case TypeKind.I16:\n case TypeKind.U8:\n case TypeKind.U16: {\n leftExpr = this.ensureSmallIntegerWrap(leftExpr, type);\n rightExpr = this.ensureSmallIntegerWrap(rightExpr, type);\n // falls through\n }\n case TypeKind.I32:\n case TypeKind.U32: return module.binary(BinaryOp.EqI32, leftExpr, rightExpr);\n case TypeKind.I64:\n case TypeKind.U64: return module.binary(BinaryOp.EqI64, leftExpr, rightExpr);\n case TypeKind.Isize:\n case TypeKind.Usize: return module.binary(BinaryOp.EqSize, leftExpr, rightExpr);\n case TypeKind.F32: return module.binary(BinaryOp.EqF32, leftExpr, rightExpr);\n case TypeKind.F64: return module.binary(BinaryOp.EqF64, leftExpr, rightExpr);\n case TypeKind.V128: {\n return module.unary(UnaryOp.AllTrueI8x16,\n module.binary(BinaryOp.EqI8x16, leftExpr, rightExpr)\n );\n }\n case TypeKind.Eq:\n case TypeKind.Struct:\n case TypeKind.Array:\n case TypeKind.I31: return module.ref_eq(leftExpr, rightExpr);\n case TypeKind.String: return module.string_eq(leftExpr, rightExpr);\n case TypeKind.StringviewWTF8:\n case TypeKind.StringviewWTF16:\n case TypeKind.StringviewIter:\n case TypeKind.Func:\n case TypeKind.Extern:\n case TypeKind.Any: {\n this.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n reportNode.range,\n \"ref.eq\",\n type.toString()\n );\n return module.unreachable();\n }\n }\n assert(false);\n return module.unreachable();\n }\n\n makeNe(leftExpr: ExpressionRef, rightExpr: ExpressionRef, type: Type, reportNode: Node): ExpressionRef {\n // Cares about garbage bits\n let module = this.module;\n switch (type.kind) {\n case TypeKind.Bool:\n case TypeKind.I8:\n case TypeKind.I16:\n case TypeKind.U8:\n case TypeKind.U16: {\n leftExpr = this.ensureSmallIntegerWrap(leftExpr, type);\n rightExpr = this.ensureSmallIntegerWrap(rightExpr, type);\n // falls through\n }\n case TypeKind.I32:\n case TypeKind.U32: return module.binary(BinaryOp.NeI32, leftExpr, rightExpr);\n case TypeKind.I64:\n case TypeKind.U64: return module.binary(BinaryOp.NeI64, leftExpr, rightExpr);\n case TypeKind.Isize:\n case TypeKind.Usize: return module.binary(BinaryOp.NeSize, leftExpr, rightExpr);\n case TypeKind.F32: return module.binary(BinaryOp.NeF32, leftExpr, rightExpr);\n case TypeKind.F64: return module.binary(BinaryOp.NeF64, leftExpr, rightExpr);\n case TypeKind.V128: {\n return module.unary(UnaryOp.AnyTrueV128,\n module.binary(BinaryOp.NeI8x16, leftExpr, rightExpr)\n );\n }\n case TypeKind.Eq:\n case TypeKind.Struct:\n case TypeKind.Array:\n case TypeKind.I31: {\n return module.unary(UnaryOp.EqzI32,\n module.ref_eq(leftExpr, rightExpr)\n );\n }\n case TypeKind.String: {\n return module.unary(UnaryOp.EqzI32,\n module.string_eq(leftExpr, rightExpr)\n );\n }\n case TypeKind.StringviewWTF8:\n case TypeKind.StringviewWTF16:\n case TypeKind.StringviewIter:\n case TypeKind.Func:\n case TypeKind.Extern:\n case TypeKind.Any: {\n this.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n reportNode.range,\n \"ref.eq\",\n type.toString()\n );\n return module.unreachable();\n }\n }\n assert(false);\n return module.unreachable();\n }\n\n makeAdd(leftExpr: ExpressionRef, rightExpr: ExpressionRef, type: Type): ExpressionRef {\n // Does not care about garbage bits or signedness\n let module = this.module;\n switch (type.kind) {\n case TypeKind.Bool:\n case TypeKind.I8:\n case TypeKind.I16:\n case TypeKind.U8:\n case TypeKind.U16:\n case TypeKind.I32:\n case TypeKind.U32: return module.binary(BinaryOp.AddI32, leftExpr, rightExpr);\n case TypeKind.I64:\n case TypeKind.U64: return module.binary(BinaryOp.AddI64, leftExpr, rightExpr);\n case TypeKind.Isize:\n case TypeKind.Usize: return module.binary(BinaryOp.AddSize, leftExpr, rightExpr);\n case TypeKind.F32: return module.binary(BinaryOp.AddF32, leftExpr, rightExpr);\n case TypeKind.F64: return module.binary(BinaryOp.AddF64, leftExpr, rightExpr);\n }\n assert(false);\n return module.unreachable();\n }\n\n makeSub(leftExpr: ExpressionRef, rightExpr: ExpressionRef, type: Type): ExpressionRef {\n // Does not care about garbage bits or signedness\n let module = this.module;\n switch (type.kind) {\n case TypeKind.Bool:\n case TypeKind.I8:\n case TypeKind.I16:\n case TypeKind.U8:\n case TypeKind.U16:\n case TypeKind.I32:\n case TypeKind.U32: return module.binary(BinaryOp.SubI32, leftExpr, rightExpr);\n case TypeKind.I64:\n case TypeKind.U64: return module.binary(BinaryOp.SubI64, leftExpr, rightExpr);\n case TypeKind.Isize:\n case TypeKind.Usize: return module.binary(BinaryOp.SubSize, leftExpr, rightExpr);\n case TypeKind.F32: return module.binary(BinaryOp.SubF32, leftExpr, rightExpr);\n case TypeKind.F64: return module.binary(BinaryOp.SubF64, leftExpr, rightExpr);\n }\n assert(false);\n return module.unreachable();\n }\n\n makeMul(leftExpr: ExpressionRef, rightExpr: ExpressionRef, type: Type): ExpressionRef {\n // Does not care about garbage bits or signedness\n let module = this.module;\n switch (type.kind) {\n case TypeKind.Bool:\n case TypeKind.I8:\n case TypeKind.I16:\n case TypeKind.U8:\n case TypeKind.U16:\n case TypeKind.I32:\n case TypeKind.U32: return module.binary(BinaryOp.MulI32, leftExpr, rightExpr);\n case TypeKind.I64:\n case TypeKind.U64: return module.binary(BinaryOp.MulI64, leftExpr, rightExpr);\n case TypeKind.Isize:\n case TypeKind.Usize: return module.binary(BinaryOp.MulSize, leftExpr, rightExpr);\n case TypeKind.F32: return module.binary(BinaryOp.MulF32, leftExpr, rightExpr);\n case TypeKind.F64: return module.binary(BinaryOp.MulF64, leftExpr, rightExpr);\n }\n assert(false);\n return module.unreachable();\n }\n\n makePow(leftExpr: ExpressionRef, rightExpr: ExpressionRef, type: Type, reportNode: Node): ExpressionRef {\n // Cares about garbage bits\n let module = this.module;\n switch (type.kind) {\n case TypeKind.Bool: {\n return module.select(\n module.i32(1),\n module.binary(BinaryOp.EqI32, rightExpr, module.i32(0)),\n leftExpr,\n TypeRef.I32\n );\n }\n case TypeKind.I8:\n case TypeKind.U8:\n case TypeKind.I16:\n case TypeKind.U16: {\n leftExpr = this.ensureSmallIntegerWrap(leftExpr, type);\n rightExpr = this.ensureSmallIntegerWrap(rightExpr, type);\n // falls through\n }\n case TypeKind.I32:\n case TypeKind.U32: {\n if (this.options.willOptimize) {\n // Precompute power if LHS and RHS constants\n // TODO: move this optimization to AIR\n if (\n getExpressionId(leftExpr) == ExpressionId.Const &&\n getExpressionId(rightExpr) == ExpressionId.Const\n ) {\n let leftValue = getConstValueI32(leftExpr);\n let rightValue = getConstValueI32(rightExpr);\n this.currentType = type;\n return module.i32(i64_low(i64_pow(\n i64_new(leftValue),\n i64_new(rightValue)\n )));\n }\n }\n let instance = this.i32PowInstance;\n if (!instance) {\n let prototype = this.program.lookup(CommonNames.ipow32);\n if (!prototype) {\n this.error(\n DiagnosticCode.Cannot_find_name_0,\n reportNode.range, \"ipow32\"\n );\n return module.unreachable();\n }\n assert(prototype.kind == ElementKind.FunctionPrototype);\n this.i32PowInstance = instance = this.resolver.resolveFunction(prototype, null);\n }\n if (!instance || !this.compileFunction(instance)) {\n return module.unreachable();\n }\n let expr = this.makeCallDirect(instance, [ leftExpr, rightExpr ], reportNode);\n if (type.size < 32) {\n // TODO: this is necessary because i32PowInstance is generic, and deals with 32-bit integers,\n // so its flow does not indicate whether returned SMIs are wrapped. worth to avoid?\n expr = this.ensureSmallIntegerWrap(expr, type);\n }\n return expr;\n }\n case TypeKind.I64:\n case TypeKind.U64: {\n if (this.options.willOptimize) {\n // Precompute power if LHS and RHS constants\n // TODO: move this optimization to AIR\n if (\n getExpressionId(leftExpr) == ExpressionId.Const &&\n getExpressionId(rightExpr) == ExpressionId.Const\n ) {\n let leftValue = i64_new(getConstValueI64Low(leftExpr), getConstValueI64High(leftExpr));\n let rightValue = i64_new(getConstValueI64Low(rightExpr), getConstValueI64High(rightExpr));\n let result = i64_pow(leftValue, rightValue);\n this.currentType = type;\n return module.i64(i64_low(result), i64_high(result));\n }\n }\n let instance = this.i64PowInstance;\n if (!instance) {\n let prototype = this.program.lookup(CommonNames.ipow64);\n if (!prototype) {\n this.error(\n DiagnosticCode.Cannot_find_name_0,\n reportNode.range, \"ipow64\"\n );\n return module.unreachable();\n }\n assert(prototype.kind == ElementKind.FunctionPrototype);\n this.i64PowInstance = instance = this.resolver.resolveFunction(prototype, null);\n }\n if (!instance || !this.compileFunction(instance)) {\n return module.unreachable();\n }\n return this.makeCallDirect(instance, [ leftExpr, rightExpr ], reportNode);\n }\n case TypeKind.Isize:\n case TypeKind.Usize: {\n let isWasm64 = this.options.isWasm64;\n if (this.options.willOptimize) {\n // Precompute power if LHS and RHS constants\n // TODO: move this optimization to AIR\n if (\n getExpressionId(leftExpr) == ExpressionId.Const &&\n getExpressionId(rightExpr) == ExpressionId.Const\n ) {\n if (isWasm64) {\n let leftValue = i64_new(getConstValueI64Low(leftExpr), getConstValueI64High(leftExpr));\n let rightValue = i64_new(getConstValueI64Low(rightExpr), getConstValueI64High(rightExpr));\n let result = i64_pow(leftValue, rightValue);\n this.currentType = type;\n return module.i64(i64_low(result), i64_high(result));\n } else {\n let leftValue = getConstValueI32(leftExpr);\n let rightValue = getConstValueI32(rightExpr);\n this.currentType = type;\n return module.i32(i64_low(i64_pow(\n i64_new(leftValue),\n i64_new(rightValue)\n )));\n }\n }\n }\n let instance = isWasm64\n ? this.i64PowInstance\n : this.i32PowInstance;\n if (!instance) {\n let prototype = this.program.lookup(isWasm64\n ? CommonNames.ipow64\n : CommonNames.ipow32\n );\n if (!prototype) {\n this.error(\n DiagnosticCode.Cannot_find_name_0,\n reportNode.range, isWasm64 ? \"ipow64\" : \"ipow32\"\n );\n return module.unreachable();\n }\n assert(prototype.kind == ElementKind.FunctionPrototype);\n instance = this.resolver.resolveFunction(prototype, null);\n if (isWasm64) {\n this.i64PowInstance = instance;\n } else {\n this.i32PowInstance = instance;\n }\n }\n if (!instance || !this.compileFunction(instance)) {\n return module.unreachable();\n }\n return this.makeCallDirect(instance, [ leftExpr, rightExpr ], reportNode);\n }\n case TypeKind.F32: {\n if (this.options.willOptimize) {\n // Precompute power if LHS and RHS constants\n // TODO: move this optimization to AIR\n if (\n getExpressionId(leftExpr) == ExpressionId.Const &&\n getExpressionId(rightExpr) == ExpressionId.Const\n ) {\n let leftValue = getConstValueF32(leftExpr);\n let rightValue = getConstValueF32(rightExpr);\n this.currentType = type;\n return module.f32(f32(accuratePow64(leftValue, rightValue)));\n }\n }\n let instance = this.f32PowInstance;\n if (!instance) {\n let namespace = this.program.lookup(CommonNames.Mathf);\n if (!namespace) {\n this.error(\n DiagnosticCode.Cannot_find_name_0,\n reportNode.range, \"Mathf\"\n );\n return module.unreachable();\n }\n let prototype = namespace.getMember(CommonNames.pow);\n if (!prototype) {\n this.error(\n DiagnosticCode.Cannot_find_name_0,\n reportNode.range, \"Mathf.pow\"\n );\n return module.unreachable();\n }\n assert(prototype.kind == ElementKind.FunctionPrototype);\n this.f32PowInstance = instance = this.resolver.resolveFunction(prototype, null);\n }\n if (!instance || !this.compileFunction(instance)) {\n return module.unreachable();\n }\n return this.makeCallDirect(instance, [ leftExpr, rightExpr ], reportNode);\n }\n // Math.pow otherwise (result is f64)\n case TypeKind.F64: {\n if (this.options.willOptimize) {\n // Precompute power if LHS and RHS constants\n // TODO: move this optimization to AIR\n if (\n getExpressionId(leftExpr) == ExpressionId.Const &&\n getExpressionId(rightExpr) == ExpressionId.Const\n ) {\n let leftValue = getConstValueF64(leftExpr);\n let rightValue = getConstValueF64(rightExpr);\n this.currentType = type;\n return module.f64(accuratePow64(leftValue, rightValue));\n }\n }\n let instance = this.f64PowInstance;\n if (!instance) {\n let namespace = this.program.lookup(CommonNames.Math);\n if (!namespace) {\n this.error(\n DiagnosticCode.Cannot_find_name_0,\n reportNode.range, \"Math\"\n );\n return module.unreachable();\n }\n let prototype = namespace.getMember(CommonNames.pow);\n if (!prototype) {\n this.error(\n DiagnosticCode.Cannot_find_name_0,\n reportNode.range, \"Math.pow\"\n );\n return module.unreachable();\n }\n assert(prototype.kind == ElementKind.FunctionPrototype);\n this.f64PowInstance = instance = this.resolver.resolveFunction(prototype, null);\n }\n if (!instance || !this.compileFunction(instance)) {\n return module.unreachable();\n }\n return this.makeCallDirect(instance, [ leftExpr, rightExpr ], reportNode);\n }\n }\n assert(false);\n return module.unreachable();\n }\n\n makeDiv(leftExpr: ExpressionRef, rightExpr: ExpressionRef, type: Type): ExpressionRef {\n // Cares about garbage bits and signedness\n let module = this.module;\n switch (type.kind) {\n case TypeKind.I8:\n case TypeKind.I16: {\n leftExpr = this.ensureSmallIntegerWrap(leftExpr, type);\n rightExpr = this.ensureSmallIntegerWrap(rightExpr, type);\n // falls through\n }\n case TypeKind.I32: return module.binary(BinaryOp.DivI32, leftExpr, rightExpr);\n case TypeKind.I64: return module.binary(BinaryOp.DivI64, leftExpr, rightExpr);\n case TypeKind.Isize: return module.binary(BinaryOp.DivISize, leftExpr, rightExpr);\n case TypeKind.Bool:\n case TypeKind.U8:\n case TypeKind.U16: {\n leftExpr = this.ensureSmallIntegerWrap(leftExpr, type);\n rightExpr = this.ensureSmallIntegerWrap(rightExpr, type);\n // falls through\n }\n case TypeKind.U32: return module.binary(BinaryOp.DivU32, leftExpr, rightExpr);\n case TypeKind.U64: return module.binary(BinaryOp.DivU64, leftExpr, rightExpr);\n case TypeKind.Usize: return module.binary(BinaryOp.DivUSize, leftExpr, rightExpr);\n case TypeKind.F32: return module.binary(BinaryOp.DivF32, leftExpr, rightExpr);\n case TypeKind.F64: return module.binary(BinaryOp.DivF64, leftExpr, rightExpr);\n }\n assert(false);\n return module.unreachable();\n }\n\n makeRem(leftExpr: ExpressionRef, rightExpr: ExpressionRef, type: Type, reportNode: Node): ExpressionRef {\n // Cares about garbage bits and signedness\n let module = this.module;\n switch (type.kind) {\n case TypeKind.I8:\n case TypeKind.I16: {\n leftExpr = this.ensureSmallIntegerWrap(leftExpr, type);\n rightExpr = this.ensureSmallIntegerWrap(rightExpr, type);\n // falls through\n }\n case TypeKind.I32: return module.binary(BinaryOp.RemI32, leftExpr, rightExpr);\n case TypeKind.I64: return module.binary(BinaryOp.RemI64, leftExpr, rightExpr);\n case TypeKind.Isize: return module.binary(BinaryOp.RemISize, leftExpr, rightExpr);\n case TypeKind.Bool:\n case TypeKind.U8:\n case TypeKind.U16: {\n leftExpr = this.ensureSmallIntegerWrap(leftExpr, type);\n rightExpr = this.ensureSmallIntegerWrap(rightExpr, type);\n // falls through\n }\n case TypeKind.U32: return module.binary(BinaryOp.RemU32, leftExpr, rightExpr);\n case TypeKind.U64: return module.binary(BinaryOp.RemU64, leftExpr, rightExpr);\n case TypeKind.Usize: return module.binary(BinaryOp.RemUSize, leftExpr, rightExpr);\n case TypeKind.F32: {\n let instance = this.f32ModInstance;\n if (!instance) {\n let namespace = this.program.lookup(CommonNames.Mathf);\n if (!namespace) {\n this.error(\n DiagnosticCode.Cannot_find_name_0,\n reportNode.range, \"Mathf\"\n );\n return module.unreachable();\n }\n let prototype = namespace.getMember(CommonNames.mod);\n if (!prototype) {\n this.error(\n DiagnosticCode.Cannot_find_name_0,\n reportNode.range, \"Mathf.mod\"\n );\n return module.unreachable();\n }\n assert(prototype.kind == ElementKind.FunctionPrototype);\n this.f32ModInstance = instance = this.resolver.resolveFunction(prototype, null);\n }\n if (!instance || !this.compileFunction(instance)) {\n return module.unreachable();\n }\n return this.makeCallDirect(instance, [ leftExpr, rightExpr ], reportNode);\n }\n case TypeKind.F64: {\n let instance = this.f64ModInstance;\n if (!instance) {\n let namespace = this.program.lookup(CommonNames.Math);\n if (!namespace) {\n this.error(\n DiagnosticCode.Cannot_find_name_0,\n reportNode.range, \"Math\"\n );\n return module.unreachable();\n }\n let prototype = namespace.getMember(CommonNames.mod);\n if (!prototype) {\n this.error(\n DiagnosticCode.Cannot_find_name_0,\n reportNode.range, \"Math.mod\"\n );\n return module.unreachable();\n }\n assert(prototype.kind == ElementKind.FunctionPrototype);\n this.f64ModInstance = instance = this.resolver.resolveFunction(prototype, null);\n }\n if (!instance || !this.compileFunction(instance)) {\n return module.unreachable();\n }\n return this.makeCallDirect(instance, [ leftExpr, rightExpr ], reportNode);\n }\n }\n assert(false);\n return module.unreachable();\n }\n\n makeShl(leftExpr: ExpressionRef, rightExpr: ExpressionRef, type: Type): ExpressionRef {\n // Cares about garbage bits on the RHS, but only for types smaller than 5 bits\n let module = this.module;\n switch (type.kind) {\n case TypeKind.Bool: return leftExpr;\n case TypeKind.I8:\n case TypeKind.I16:\n case TypeKind.U8:\n case TypeKind.U16: {\n // leftExpr << (rightExpr & (7|15))\n return module.binary(\n BinaryOp.ShlI32,\n leftExpr,\n module.binary(\n BinaryOp.AndI32,\n rightExpr,\n module.i32(type.size - 1)\n )\n );\n }\n case TypeKind.I32:\n case TypeKind.U32: return module.binary(BinaryOp.ShlI32, leftExpr, rightExpr);\n case TypeKind.I64:\n case TypeKind.U64: return module.binary(BinaryOp.ShlI64, leftExpr, rightExpr);\n case TypeKind.Isize:\n case TypeKind.Usize: return module.binary(BinaryOp.ShlSize, leftExpr, rightExpr);\n }\n assert(false);\n return module.unreachable();\n }\n\n makeShr(leftExpr: ExpressionRef, rightExpr: ExpressionRef, type: Type): ExpressionRef {\n // Cares about garbage bits on the LHS, but on the RHS only for types smaller than 5 bits,\n // and signedness\n let module = this.module;\n switch (type.kind) {\n case TypeKind.Bool: return leftExpr;\n case TypeKind.I8:\n case TypeKind.I16: {\n // leftExpr >> (rightExpr & (7|15))\n return module.binary(\n BinaryOp.ShrI32,\n this.ensureSmallIntegerWrap(leftExpr, type),\n module.binary(\n BinaryOp.AndI32,\n rightExpr,\n module.i32(type.size - 1)\n )\n );\n }\n case TypeKind.U8:\n case TypeKind.U16: {\n // leftExpr >>> (rightExpr & (7|15))\n return module.binary(\n BinaryOp.ShrU32,\n this.ensureSmallIntegerWrap(leftExpr, type),\n module.binary(\n BinaryOp.AndI32,\n rightExpr,\n module.i32(type.size - 1)\n )\n );\n }\n case TypeKind.I32: return module.binary(BinaryOp.ShrI32, leftExpr, rightExpr);\n case TypeKind.I64: return module.binary(BinaryOp.ShrI64, leftExpr, rightExpr);\n case TypeKind.Isize: return module.binary(BinaryOp.ShrISize, leftExpr, rightExpr);\n case TypeKind.U32: return module.binary(BinaryOp.ShrU32, leftExpr, rightExpr);\n case TypeKind.U64: return module.binary(BinaryOp.ShrU64, leftExpr, rightExpr);\n case TypeKind.Usize: return module.binary(BinaryOp.ShrUSize, leftExpr, rightExpr);\n }\n assert(false);\n return module.unreachable();\n }\n\n makeShru(leftExpr: ExpressionRef, rightExpr: ExpressionRef, type: Type): ExpressionRef {\n // Cares about garbage bits on the LHS, but on the RHS only for types smaller than 5 bits\n let module = this.module;\n switch (type.kind) {\n case TypeKind.Bool: return leftExpr;\n case TypeKind.I8:\n case TypeKind.I16:\n case TypeKind.U8:\n case TypeKind.U16: {\n // leftExpr >>> (rightExpr & (7|15))\n return module.binary(\n BinaryOp.ShrU32,\n this.ensureSmallIntegerWrap(leftExpr, type),\n module.binary(\n BinaryOp.AndI32,\n rightExpr,\n module.i32(type.size - 1)\n )\n );\n }\n case TypeKind.I32:\n case TypeKind.U32: return module.binary(BinaryOp.ShrU32, leftExpr, rightExpr);\n case TypeKind.I64:\n case TypeKind.U64: return module.binary(BinaryOp.ShrU64, leftExpr, rightExpr);\n case TypeKind.Isize:\n case TypeKind.Usize: return module.binary(BinaryOp.ShrUSize, leftExpr, rightExpr);\n }\n assert(false);\n return module.unreachable();\n }\n\n makeAnd(leftExpr: ExpressionRef, rightExpr: ExpressionRef, type: Type): ExpressionRef {\n // Does not care about garbage bits or signedness\n let module = this.module;\n switch (type.kind) {\n case TypeKind.Bool:\n case TypeKind.I8:\n case TypeKind.I16:\n case TypeKind.I32:\n case TypeKind.U8:\n case TypeKind.U16:\n case TypeKind.U32: return module.binary(BinaryOp.AndI32, leftExpr, rightExpr);\n case TypeKind.I64:\n case TypeKind.U64: return module.binary(BinaryOp.AndI64, leftExpr, rightExpr);\n case TypeKind.Isize:\n case TypeKind.Usize: return module.binary(BinaryOp.AndSize, leftExpr, rightExpr);\n }\n assert(false);\n return module.unreachable();\n }\n\n makeOr(leftExpr: ExpressionRef, rightExpr: ExpressionRef, type: Type): ExpressionRef {\n // Does not care about garbage bits or signedness\n let module = this.module;\n switch (type.kind) {\n case TypeKind.Bool:\n case TypeKind.I8:\n case TypeKind.I16:\n case TypeKind.U8:\n case TypeKind.U16: return module.binary(BinaryOp.OrI32, leftExpr, rightExpr);\n case TypeKind.I32:\n case TypeKind.U32: return module.binary(BinaryOp.OrI32, leftExpr, rightExpr);\n case TypeKind.I64:\n case TypeKind.U64: return module.binary(BinaryOp.OrI64, leftExpr, rightExpr);\n case TypeKind.Isize:\n case TypeKind.Usize: return module.binary(BinaryOp.OrSize, leftExpr, rightExpr);\n }\n assert(false);\n return module.unreachable();\n }\n\n makeXor(leftExpr: ExpressionRef, rightExpr: ExpressionRef, type: Type): ExpressionRef {\n // Does not care about garbage bits or signedness\n let module = this.module;\n switch (type.kind) {\n case TypeKind.Bool:\n case TypeKind.I8:\n case TypeKind.I16:\n case TypeKind.U8:\n case TypeKind.U16: return module.binary(BinaryOp.XorI32, leftExpr, rightExpr);\n case TypeKind.I32:\n case TypeKind.U32: return module.binary(BinaryOp.XorI32, leftExpr, rightExpr);\n case TypeKind.I64:\n case TypeKind.U64: return module.binary(BinaryOp.XorI64, leftExpr, rightExpr);\n case TypeKind.Isize:\n case TypeKind.Usize: return module.binary(BinaryOp.XorSize, leftExpr, rightExpr);\n }\n assert(false);\n return module.unreachable();\n }\n\n private compileUnaryOverload(\n operatorInstance: Function,\n value: Expression,\n valueExpr: ExpressionRef,\n reportNode: Node\n ): ExpressionRef {\n // FIXME: see comment in compileBinaryOverload below why recompiling on type mismatch\n // is a bad idea currently. so this assumes that the type matches.\n return this.makeCallDirect(operatorInstance, [ valueExpr ], reportNode, false);\n }\n\n private compileBinaryOverload(\n operatorInstance: Function,\n left: Expression,\n leftExpr: ExpressionRef,\n leftType: Type,\n right: Expression,\n reportNode: Node\n ): ExpressionRef {\n let rightType: Type;\n let signature = operatorInstance.signature;\n let parameterTypes = signature.parameterTypes;\n if (operatorInstance.is(CommonFlags.Instance)) {\n leftExpr = this.convertExpression(leftExpr, leftType, assert(signature.thisType), false, left);\n rightType = parameterTypes[0];\n } else {\n leftExpr = this.convertExpression(leftExpr, leftType, parameterTypes[0], false, left);\n rightType = parameterTypes[1];\n }\n let rightExpr = this.compileExpression(right, rightType, Constraints.ConvImplicit);\n return this.makeCallDirect(operatorInstance, [ leftExpr, rightExpr ], reportNode);\n }\n\n private compileAssignment(\n expression: Expression,\n valueExpression: Expression,\n contextualType: Type\n ): ExpressionRef {\n let program = this.program;\n let resolver = program.resolver;\n let flow = this.currentFlow;\n let target = resolver.lookupExpression(expression, flow); // reports\n if (!target) return this.module.unreachable();\n let thisExpression = resolver.currentThisExpression;\n let elementExpression = resolver.currentElementExpression;\n\n // to compile just the value, we need to know the target's type\n let targetType: Type;\n switch (target.kind) {\n case ElementKind.Global:\n case ElementKind.Local: {\n if (target.kind == ElementKind.Global) {\n if (!this.compileGlobalLazy(target, expression)) {\n return this.module.unreachable();\n }\n } else if (!(target).declaredByFlow(flow)) {\n // TODO: closures\n this.error(\n DiagnosticCode.Not_implemented_0,\n expression.range,\n \"Closures\"\n );\n return this.module.unreachable();\n }\n if (this.pendingElements.has(target)) {\n this.error(\n DiagnosticCode.Variable_0_used_before_its_declaration,\n expression.range,\n target.internalName\n );\n return this.module.unreachable();\n }\n targetType = (target).type;\n if (target.hasDecorator(DecoratorFlags.Unsafe)) this.checkUnsafe(expression);\n break;\n }\n case ElementKind.PropertyPrototype: {\n let propertyPrototype = target;\n let propertyInstance = resolver.resolveProperty(propertyPrototype);\n if (!propertyInstance) return this.module.unreachable();\n target = propertyInstance;\n // fall-through\n }\n case ElementKind.Property: {\n let propertyInstance = target;\n if (propertyInstance.isField) {\n if (this.pendingElements.has(target)) {\n this.error(\n DiagnosticCode.Variable_0_used_before_its_declaration,\n expression.range,\n target.internalName\n );\n return this.module.unreachable();\n }\n }\n let setterInstance = propertyInstance.setterInstance;\n if (!setterInstance) {\n this.error(\n DiagnosticCode.Cannot_assign_to_0_because_it_is_a_constant_or_a_read_only_property,\n expression.range, propertyInstance.internalName\n );\n return this.module.unreachable();\n }\n assert(setterInstance.signature.parameterTypes.length == 1); // parser must guarantee this\n targetType = setterInstance.signature.parameterTypes[0];\n if (setterInstance.hasDecorator(DecoratorFlags.Unsafe)) this.checkUnsafe(expression);\n break;\n }\n case ElementKind.IndexSignature: {\n let parent = (target).parent;\n assert(parent.kind == ElementKind.Class);\n let classInstance = parent;\n let isUnchecked = flow.is(FlowFlags.UncheckedContext);\n let indexedSet = classInstance.lookupOverload(OperatorKind.IndexedSet, isUnchecked);\n if (!indexedSet) {\n let indexedGet = classInstance.lookupOverload(OperatorKind.IndexedGet, isUnchecked);\n if (!indexedGet) {\n this.error(\n DiagnosticCode.Index_signature_is_missing_in_type_0,\n expression.range, classInstance.internalName\n );\n } else {\n this.error(\n DiagnosticCode.Index_signature_in_type_0_only_permits_reading,\n expression.range, classInstance.internalName\n );\n }\n return this.module.unreachable();\n }\n let parameterTypes = indexedSet.signature.parameterTypes;\n\n assert(parameterTypes.length == 2); // parser must guarantee this\n targetType = parameterTypes[1]; // 2nd parameter is the element\n\n if (indexedSet.hasDecorator(DecoratorFlags.Unsafe)) this.checkUnsafe(expression);\n if (!isUnchecked && this.options.pedantic) {\n this.pedantic(\n DiagnosticCode.Indexed_access_may_involve_bounds_checking,\n expression.range\n );\n }\n break;\n }\n default: {\n this.error(\n DiagnosticCode.Cannot_assign_to_0_because_it_is_a_constant_or_a_read_only_property,\n expression.range, target.internalName\n );\n return this.module.unreachable();\n }\n }\n\n // compile the value and do the assignment\n assert(targetType != Type.void);\n let valueExpr = this.compileExpression(valueExpression, targetType);\n let valueType = this.currentType;\n if (targetType.isNullableReference && this.currentFlow.isNonnull(valueExpr, valueType)) targetType = targetType.nonNullableType;\n return this.makeAssignment(\n target,\n this.convertExpression(valueExpr, valueType, targetType, false, valueExpression),\n targetType,\n valueExpression,\n thisExpression,\n elementExpression,\n contextualType != Type.void\n );\n }\n\n /** Makes an assignment expression or block, assigning a value to a target. */\n makeAssignment(\n /** Target element, e.g. a Local. */\n target: Element,\n /** Value expression that has been compiled in a previous step already. */\n valueExpr: ExpressionRef,\n /** Value expression type. */\n valueType: Type,\n /** Expression reference. Has already been compiled to `valueExpr`. */\n valueExpression: Expression,\n /** `this` expression reference if a field or property set. */\n thisExpression: Expression | null,\n /** Index expression reference if an indexed set. */\n indexExpression: Expression | null,\n /** Whether to tee the value. */\n tee: bool\n ): ExpressionRef {\n let module = this.module;\n let flow = this.currentFlow;\n\n switch (target.kind) {\n case ElementKind.Local: {\n let local = target;\n if (flow.isLocalFlag(local.index, LocalFlags.Constant, true)) {\n this.error(\n DiagnosticCode.Cannot_assign_to_0_because_it_is_a_constant_or_a_read_only_property,\n valueExpression.range, target.internalName\n );\n this.currentType = tee ? local.type : Type.void;\n return module.unreachable();\n }\n return this.makeLocalAssignment(local, valueExpr, valueType, tee);\n }\n case ElementKind.Global: {\n let global = target;\n if (!this.compileGlobalLazy(global, valueExpression)) {\n return module.unreachable();\n }\n if (target.isAny(CommonFlags.Const | CommonFlags.Readonly)) {\n this.error(\n DiagnosticCode.Cannot_assign_to_0_because_it_is_a_constant_or_a_read_only_property,\n valueExpression.range,\n target.internalName\n );\n this.currentType = tee ? global.type : Type.void;\n return module.unreachable();\n }\n return this.makeGlobalAssignment(global, valueExpr, valueType, tee);\n }\n case ElementKind.PropertyPrototype: {\n let propertyInstance = this.resolver.resolveProperty(target);\n if (!propertyInstance) return module.unreachable();\n target = propertyInstance;\n // fall-through\n }\n case ElementKind.Property: {\n let propertyInstance = target;\n if (propertyInstance.isField) {\n // Cannot assign to readonly fields except in constructors if there's no initializer\n let isConstructor = flow.sourceFunction.is(CommonFlags.Constructor);\n if (propertyInstance.is(CommonFlags.Readonly)) {\n let initializerNode = propertyInstance.initializerNode;\n if (!isConstructor || initializerNode) {\n this.error(\n DiagnosticCode.Cannot_assign_to_0_because_it_is_a_constant_or_a_read_only_property,\n valueExpression.range, propertyInstance.internalName\n );\n return module.unreachable();\n }\n }\n // Mark initialized fields in constructors\n thisExpression = assert(thisExpression);\n if (isConstructor && thisExpression.kind == NodeKind.This) {\n flow.setThisFieldFlag(propertyInstance, FieldFlags.Initialized);\n }\n }\n let setterInstance = propertyInstance.setterInstance;\n if (!setterInstance) {\n this.error(\n DiagnosticCode.Cannot_assign_to_0_because_it_is_a_constant_or_a_read_only_property,\n valueExpression.range, target.internalName\n );\n return module.unreachable();\n }\n assert(setterInstance.signature.parameterTypes.length == 1);\n assert(setterInstance.signature.returnType == Type.void);\n if (propertyInstance.is(CommonFlags.Instance)) {\n let thisType = assert(setterInstance.signature.thisType);\n let thisExpr = this.compileExpression(\n assert(thisExpression),\n thisType,\n Constraints.ConvImplicit | Constraints.IsThis\n );\n if (!tee) return this.makeCallDirect(setterInstance, [ thisExpr, valueExpr ], valueExpression);\n let tempLocal = flow.getTempLocal(valueType);\n let valueTypeRef = valueType.toRef();\n let ret = module.block(null, [\n this.makeCallDirect(setterInstance, [\n thisExpr,\n module.local_tee(tempLocal.index, valueExpr, valueType.isManaged, valueTypeRef)\n ], valueExpression),\n module.local_get(tempLocal.index, valueTypeRef),\n ], valueTypeRef);\n this.currentType = valueType;\n return ret;\n } else {\n if (!tee) return this.makeCallDirect(setterInstance, [ valueExpr ], valueExpression);\n let tempLocal = flow.getTempLocal(valueType);\n let valueTypeRef = valueType.toRef();\n let ret = module.block(null, [\n this.makeCallDirect(setterInstance, [\n module.local_tee(tempLocal.index, valueExpr, valueType.isManaged, valueTypeRef),\n ], valueExpression),\n module.local_get(tempLocal.index, valueTypeRef),\n ], valueTypeRef);\n this.currentType = valueType;\n return ret;\n }\n }\n case ElementKind.IndexSignature: {\n let indexSignature = target;\n let parent = indexSignature.parent;\n assert(parent.kind == ElementKind.Class);\n let classInstance = parent;\n assert(classInstance.kind == ElementKind.Class);\n let isUnchecked = flow.is(FlowFlags.UncheckedContext);\n let getterInstance = classInstance.lookupOverload(OperatorKind.IndexedGet, isUnchecked);\n if (!getterInstance) {\n this.error(\n DiagnosticCode.Index_signature_is_missing_in_type_0,\n valueExpression.range, classInstance.internalName\n );\n return module.unreachable();\n }\n let setterInstance = classInstance.lookupOverload(OperatorKind.IndexedSet, isUnchecked);\n if (!setterInstance) {\n this.error(\n DiagnosticCode.Index_signature_in_type_0_only_permits_reading,\n valueExpression.range, classInstance.internalName\n );\n this.currentType = tee ? getterInstance.signature.returnType : Type.void;\n return module.unreachable();\n }\n assert(setterInstance.signature.parameterTypes.length == 2);\n let thisType = classInstance.type;\n let thisExpr = this.compileExpression(\n assert(thisExpression),\n thisType,\n Constraints.ConvImplicit | Constraints.IsThis\n );\n let setterIndexType = setterInstance.signature.parameterTypes[0];\n let getterIndexType = getterInstance.signature.parameterTypes[0];\n if (!setterIndexType.equals(getterIndexType)) {\n this.errorRelated(\n DiagnosticCode.Index_signature_accessors_in_type_0_differ_in_types,\n getterInstance.identifierAndSignatureRange,\n setterInstance.identifierAndSignatureRange,\n classInstance.internalName,\n );\n this.currentType = tee ? getterInstance.signature.returnType : Type.void;\n return module.unreachable();\n }\n let elementExpr = this.compileExpression(assert(indexExpression), setterIndexType, Constraints.ConvImplicit);\n let elementType = this.currentType;\n if (tee) {\n let tempTarget = flow.getTempLocal(thisType);\n let tempElement = flow.getTempLocal(elementType);\n let returnType = getterInstance.signature.returnType;\n let ret = module.block(null, [\n this.makeCallDirect(setterInstance, [\n module.local_tee(tempTarget.index, thisExpr, thisType.isManaged),\n module.local_tee(tempElement.index, elementExpr, elementType.isManaged),\n valueExpr\n ], valueExpression),\n this.makeCallDirect(getterInstance, [\n module.local_get(tempTarget.index, tempTarget.type.toRef()),\n module.local_get(tempElement.index, tempElement.type.toRef())\n ], valueExpression)\n ], returnType.toRef());\n return ret;\n } else {\n return this.makeCallDirect(setterInstance, [\n thisExpr,\n elementExpr,\n valueExpr\n ], valueExpression);\n }\n }\n default: {\n this.error(\n DiagnosticCode.The_target_of_an_assignment_must_be_a_variable_or_a_property_access,\n valueExpression.range\n );\n }\n }\n return module.unreachable();\n }\n\n /** Makes an assignment to a local, keeping track of wrap and null states. */\n private makeLocalAssignment(\n /** Local to assign to. */\n local: Local,\n /** Value to assign. */\n valueExpr: ExpressionRef,\n /** Value type. */\n valueType: Type,\n /** Whether to tee the value. */\n tee: bool\n ): ExpressionRef {\n let module = this.module;\n let flow = this.currentFlow;\n let type = local.type;\n assert(type != Type.void);\n let localIndex = local.index;\n\n if (type.isNullableReference) {\n if (!valueType.isNullableReference || flow.isNonnull(valueExpr, type)) flow.setLocalFlag(localIndex, LocalFlags.NonNull);\n else flow.unsetLocalFlag(localIndex, LocalFlags.NonNull);\n }\n flow.setLocalFlag(localIndex, LocalFlags.Initialized);\n if (type.isShortIntegerValue) {\n if (!flow.canOverflow(valueExpr, type)) flow.setLocalFlag(localIndex, LocalFlags.Wrapped);\n else flow.unsetLocalFlag(localIndex, LocalFlags.Wrapped);\n }\n if (tee) { // local = value\n this.currentType = type;\n return module.local_tee(localIndex, valueExpr, type.isManaged);\n } else { // void(local = value)\n this.currentType = Type.void;\n return module.local_set(localIndex, valueExpr, type.isManaged);\n }\n }\n\n /** Makes an assignment to a global. */\n private makeGlobalAssignment(\n /** The global variable to assign to. */\n global: VariableLikeElement,\n /** The value to assign. */\n valueExpr: ExpressionRef,\n /** The type of the value to assign. */\n valueType: Type,\n /** Whether to tee the value. */\n tee: bool\n ): ExpressionRef {\n let module = this.module;\n let type = global.type;\n assert(type != Type.void);\n let typeRef = type.toRef();\n\n valueExpr = this.ensureSmallIntegerWrap(valueExpr, type); // globals must be wrapped\n if (tee) { // (global = value), global\n this.currentType = type;\n return module.block(null, [\n module.global_set(global.internalName, valueExpr),\n module.global_get(global.internalName, typeRef) // known to be assigned now\n ], typeRef);\n } else { // global = value\n this.currentType = Type.void;\n return module.global_set(global.internalName,\n valueExpr\n );\n }\n }\n\n /** Compiles a call expression according to the specified context. */\n private compileCallExpression(\n /** Call expression to compile. */\n expression: CallExpression,\n /** Contextual type indicating the return type the caller expects, if any. */\n contextualType: Type,\n /** Constraints indicating contextual conditions. */\n constraints: Constraints\n ): ExpressionRef {\n\n let module = this.module;\n let flow = this.currentFlow;\n\n // handle call to super\n if (expression.expression.kind == NodeKind.Super) {\n let flow = this.currentFlow;\n let sourceFunction = flow.sourceFunction;\n if (!sourceFunction.is(CommonFlags.Constructor)) {\n this.error(\n DiagnosticCode.Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors,\n expression.range\n );\n return module.unreachable();\n }\n\n let parent = assert(sourceFunction.parent);\n assert(parent.kind == ElementKind.Class);\n let classInstance = parent;\n let baseClassInstance = classInstance.base;\n if (!baseClassInstance || classInstance.prototype.implicitlyExtendsObject) {\n this.error(\n DiagnosticCode._super_can_only_be_referenced_in_a_derived_class,\n expression.expression.range\n );\n return module.unreachable();\n }\n let thisLocal = assert(flow.lookupLocal(CommonNames.this_));\n let sizeTypeRef = this.options.sizeTypeRef;\n\n let baseCtorInstance = this.ensureConstructor(baseClassInstance, expression);\n this.checkFieldInitialization(baseClassInstance, expression);\n let superCall = this.compileCallDirect(\n baseCtorInstance,\n expression.args,\n expression,\n module.local_get(thisLocal.index, sizeTypeRef)\n );\n\n // check that super had been called before accessing `this`\n if (flow.isAny(\n FlowFlags.AccessesThis |\n FlowFlags.ConditionallyAccessesThis\n )) {\n this.error(\n DiagnosticCode._super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class,\n expression.range\n );\n return module.unreachable();\n }\n flow.set(FlowFlags.AccessesThis | FlowFlags.CallsSuper);\n this.currentType = Type.void;\n return module.local_set(thisLocal.index, superCall, classInstance.type.isManaged);\n }\n\n // otherwise resolve normally\n let target = this.resolver.lookupExpression(expression.expression, flow); // reports\n if (!target) return module.unreachable();\n let thisExpression = this.resolver.currentThisExpression;\n\n // handle direct call\n switch (target.kind) {\n case ElementKind.FunctionPrototype: {\n let functionPrototype = target;\n if (functionPrototype.hasDecorator(DecoratorFlags.Builtin)) {\n // builtins handle present respectively omitted type arguments on their own\n return this.compileCallExpressionBuiltin(functionPrototype, expression, contextualType);\n }\n let functionInstance = this.resolver.maybeInferCall(expression, functionPrototype, flow);\n if (!functionInstance) return this.module.unreachable();\n target = functionInstance;\n // fall-through\n }\n case ElementKind.Function: {\n let functionInstance = target;\n let thisArg: ExpressionRef = 0;\n if (functionInstance.is(CommonFlags.Instance)) {\n thisArg = this.compileExpression(\n assert(thisExpression),\n assert(functionInstance.signature.thisType),\n Constraints.ConvImplicit | Constraints.IsThis\n );\n }\n return this.compileCallDirect(\n functionInstance,\n expression.args,\n expression,\n thisArg,\n constraints\n );\n }\n }\n\n // handle indirect call\n let functionArg = this.compileExpression(expression.expression, Type.auto);\n let signature = this.currentType.getSignature();\n if (signature) {\n return this.compileCallIndirect(\n signature,\n functionArg,\n expression.args,\n expression,\n 0,\n contextualType == Type.void\n );\n }\n this.error(\n DiagnosticCode.Cannot_invoke_an_expression_whose_type_lacks_a_call_signature_Type_0_has_no_compatible_call_signatures,\n expression.range, this.currentType.toString()\n );\n if (target.kind == ElementKind.PropertyPrototype) {\n let getterPrototype = (target).getterPrototype;\n if (getterPrototype) {\n this.infoRelated(\n DiagnosticCode.This_expression_is_not_callable_because_it_is_a_get_accessor_Did_you_mean_to_use_it_without,\n expression.range, getterPrototype.identifierNode.range\n );\n }\n }\n return module.unreachable();\n }\n\n /** Compiles the given arguments like a call expression according to the specified context. */\n private compileCallExpressionLike(\n /** Called expression. */\n expression: Expression,\n /** Call type arguments. */\n typeArguments: TypeNode[] | null,\n /** Call arguments. */\n args: Expression[],\n /** Diagnostic range. */\n range: Range,\n /** Contextual type indicating the return type the caller expects, if any. */\n contextualType: Type,\n /** Constraints indicating contextual conditions. */\n constraints: Constraints = Constraints.None\n ): ExpressionRef {\n // Desugaring like this can happen many times. Let's cache the intermediate allocation.\n let call = this._reusableCallExpression;\n if (call) {\n call.expression = expression;\n call.typeArguments = typeArguments;\n call.args = args;\n call.range = range;\n } else {\n this._reusableCallExpression = call = Node.createCallExpression(expression, typeArguments, args, range);\n }\n return this.compileCallExpression(call, contextualType, constraints);\n }\n private _reusableCallExpression: CallExpression | null = null;\n\n private compileCallExpressionBuiltin(\n prototype: FunctionPrototype,\n expression: CallExpression,\n contextualType: Type\n ): ExpressionRef {\n if (prototype.hasDecorator(DecoratorFlags.Unsafe)) this.checkUnsafe(expression);\n\n let typeArguments: Type[] | null = null;\n\n // builtins handle omitted type arguments on their own. if present, however, resolve them here\n // and pass them to the builtin, even if it's still up to the builtin how to handle them.\n let typeParameterNodes = prototype.typeParameterNodes;\n let typeArgumentNodes = expression.typeArguments;\n if (expression.typeArguments) {\n if (!prototype.is(CommonFlags.Generic)) {\n this.error(\n DiagnosticCode.Type_0_is_not_generic,\n expression.range, prototype.internalName\n );\n }\n typeArguments = this.resolver.resolveTypeArguments(\n assert(typeParameterNodes),\n typeArgumentNodes,\n this.currentFlow,\n this.currentFlow.sourceFunction.parent,\n cloneMap(this.currentFlow.contextualTypeArguments), // don't update\n expression\n );\n }\n let callee = expression.expression;\n let ctx = new BuiltinFunctionContext(\n this,\n prototype,\n typeArguments,\n expression.args,\n callee.kind == NodeKind.PropertyAccess\n ? (callee).expression\n : null,\n contextualType,\n expression,\n false\n );\n let internalName: string;\n if (prototype.is(CommonFlags.Instance)) {\n // omit generic name components, e.g. in `Function<...>#call`\n let parent = assert(prototype.getBoundClassOrInterface());\n internalName = `${parent.prototype.internalName}#${prototype.name}`;\n } else {\n internalName = prototype.internalName;\n }\n assert(builtinFunctions.has(internalName)); // checked earlier\n let fn = assert(builtinFunctions.get(internalName));\n return fn(ctx);\n }\n\n /**\n * Checks that a call with the given number as arguments can be performed according to the\n * specified signature.\n */\n checkCallSignature(\n signature: Signature,\n numArguments: i32,\n hasThis: bool,\n reportNode: Node\n ): bool {\n\n // cannot call an instance method without a `this` argument (TODO: `.call`?)\n let thisType = signature.thisType;\n if (hasThis != (thisType != null)) {\n this.error(\n DiagnosticCode.The_this_types_of_each_signature_are_incompatible,\n reportNode.range\n );\n return false;\n }\n\n // not yet implemented (TODO: maybe some sort of an unmanaged/lightweight array?)\n let hasRest = signature.hasRest;\n if (hasRest) {\n this.error(\n DiagnosticCode.Not_implemented_0,\n reportNode.range, \"Rest parameters\"\n );\n return false;\n }\n\n let minimum = signature.requiredParameters;\n let maximum = signature.parameterTypes.length;\n\n // must at least be called with required arguments\n if (numArguments < minimum) {\n this.error(\n minimum < maximum\n ? DiagnosticCode.Expected_at_least_0_arguments_but_got_1\n : DiagnosticCode.Expected_0_arguments_but_got_1,\n reportNode.range, minimum.toString(), numArguments.toString()\n );\n return false;\n }\n\n // must not be called with more than the maximum arguments\n if (numArguments > maximum && !hasRest) {\n this.error(\n DiagnosticCode.Expected_0_arguments_but_got_1,\n reportNode.range, maximum.toString(), numArguments.toString()\n );\n return false;\n }\n\n return true;\n }\n\n /** Checks that an unsafe expression is allowed. */\n private checkUnsafe(reportNode: Node, relatedReportNode: Node | null = null): void {\n // Library files may always use unsafe features\n if (this.options.noUnsafe && !reportNode.range.source.isLibrary) {\n if (relatedReportNode) {\n this.errorRelated(\n DiagnosticCode.Operation_is_unsafe,\n reportNode.range, relatedReportNode.range\n );\n } else {\n this.error(\n DiagnosticCode.Operation_is_unsafe,\n reportNode.range\n );\n }\n }\n }\n\n /** Compiles a direct call to a concrete function. */\n compileCallDirect(\n instance: Function,\n argumentExpressions: Expression[],\n reportNode: Node,\n thisArg: ExpressionRef = 0,\n constraints: Constraints = Constraints.None\n ): ExpressionRef {\n let numArguments = argumentExpressions.length;\n let signature = instance.signature;\n if (!this.checkCallSignature( // reports\n signature,\n numArguments,\n thisArg != 0,\n reportNode\n )) {\n this.currentType = signature.returnType;\n return this.module.unreachable();\n }\n if (instance.hasDecorator(DecoratorFlags.Unsafe)) this.checkUnsafe(reportNode);\n\n // handle call on `this` in constructors\n let sourceFunction = this.currentFlow.sourceFunction;\n if (sourceFunction.is(CommonFlags.Constructor) && reportNode.isAccessOnThis) {\n let parent = sourceFunction.parent;\n assert(parent.kind == ElementKind.Class);\n this.checkFieldInitialization(parent, reportNode);\n }\n\n // Inline if explicitly requested\n if (instance.hasDecorator(DecoratorFlags.Inline) && (!instance.is(CommonFlags.Overridden) || reportNode.isAccessOnSuper)) {\n assert(!instance.is(CommonFlags.Stub)); // doesn't make sense\n let inlineStack = this.inlineStack;\n if (inlineStack.includes(instance)) {\n this.warning(\n DiagnosticCode.Function_0_cannot_be_inlined_into_itself,\n reportNode.range, instance.internalName\n );\n } else {\n let parameterTypes = signature.parameterTypes;\n assert(numArguments <= parameterTypes.length);\n // compile argument expressions *before* pushing to the inline stack\n // otherwise, the arguments may not be inlined, e.g. `abc(abc(123))`\n let args = new Array(numArguments);\n for (let i = 0; i < numArguments; ++i) {\n args[i] = this.compileExpression(argumentExpressions[i], parameterTypes[i], Constraints.ConvImplicit);\n }\n // make the inlined call\n inlineStack.push(instance);\n let expr = this.makeCallInline(instance, args, thisArg, (constraints & Constraints.WillDrop) != 0);\n inlineStack.pop();\n return expr;\n }\n }\n\n // Otherwise compile to just a call\n let numArgumentsInclThis = thisArg ? numArguments + 1 : numArguments;\n let operands = new Array(numArgumentsInclThis);\n let index = 0;\n if (thisArg) {\n operands[0] = thisArg;\n index = 1;\n }\n let parameterTypes = signature.parameterTypes;\n for (let i = 0; i < numArguments; ++i, ++index) {\n let paramType = parameterTypes[i];\n let paramExpr = this.compileExpression(argumentExpressions[i], paramType, Constraints.ConvImplicit);\n operands[index] = paramExpr;\n }\n assert(index == numArgumentsInclThis);\n return this.makeCallDirect(instance, operands, reportNode, (constraints & Constraints.WillDrop) != 0);\n }\n\n makeCallInline(\n instance: Function,\n operands: ExpressionRef[] | null,\n thisArg: ExpressionRef = 0,\n immediatelyDropped: bool = false\n ): ExpressionRef {\n let module = this.module;\n let numArguments = operands ? operands.length : 0;\n let signature = instance.signature;\n let parameterTypes = signature.parameterTypes;\n let numParameters = parameterTypes.length;\n\n // Create a new inline flow and use it to compile the function as a block\n let previousFlow = this.currentFlow;\n let flow = Flow.createInline(previousFlow.targetFunction, instance);\n let body = [];\n\n if (thisArg) {\n let parent = assert(instance.parent);\n assert(parent.kind == ElementKind.Class);\n let classInstance = parent;\n let thisType = assert(instance.signature.thisType);\n let thisLocal = flow.addScopedLocal(CommonNames.this_, thisType);\n body.push(\n module.local_set(thisLocal.index, thisArg, thisType.isManaged)\n );\n flow.setLocalFlag(thisLocal.index, LocalFlags.Initialized);\n let base = classInstance.base;\n if (base) flow.addScopedAlias(CommonNames.super_, base.type, thisLocal.index);\n } else {\n assert(!instance.signature.thisType);\n }\n for (let i = 0; i < numArguments; ++i) {\n let paramExpr = operands![i];\n let paramType = parameterTypes[i];\n let argumentLocal = flow.addScopedLocal(instance.getParameterName(i), paramType);\n // inlining is aware of wrap/nonnull states:\n if (!previousFlow.canOverflow(paramExpr, paramType)) flow.setLocalFlag(argumentLocal.index, LocalFlags.Wrapped);\n if (flow.isNonnull(paramExpr, paramType)) flow.setLocalFlag(argumentLocal.index, LocalFlags.NonNull);\n body.push(\n module.local_set(argumentLocal.index, paramExpr, paramType.isManaged)\n );\n flow.setLocalFlag(argumentLocal.index, LocalFlags.Initialized);\n }\n\n // Compile omitted arguments with final argument locals blocked. Doesn't need to take care of\n // side-effects within earlier expressions because these already happened on set.\n this.currentFlow = flow;\n let isConstructor = instance.is(CommonFlags.Constructor);\n if (isConstructor) flow.set(FlowFlags.CtorParamContext);\n for (let i = numArguments; i < numParameters; ++i) {\n let initType = parameterTypes[i];\n let initExpr = this.compileExpression(\n assert(instance.prototype.functionTypeNode.parameters[i].initializer),\n initType,\n Constraints.ConvImplicit\n );\n let argumentLocal = flow.addScopedLocal(instance.getParameterName(i), initType);\n body.push(\n this.makeLocalAssignment(argumentLocal, initExpr, initType, false)\n );\n }\n flow.unset(FlowFlags.CtorParamContext);\n\n // Compile the called function's body in the scope of the inlined flow\n this.compileFunctionBody(instance, body);\n\n // If a constructor, perform field init checks on its flow directly\n if (isConstructor) {\n let parent = instance.parent;\n assert(parent.kind == ElementKind.Class);\n this.checkFieldInitializationInFlow(parent, flow);\n }\n\n // Free any new scoped locals and reset to the original flow\n let returnType = flow.returnType;\n this.currentFlow = previousFlow;\n\n // Create an outer block that we can break to when returning a value out of order\n this.currentType = returnType;\n return module.block(flow.inlineReturnLabel, body, returnType.toRef());\n }\n\n /** Makes sure that the arguments length helper global is present. */\n ensureArgumentsLength(): string {\n let name = BuiltinNames.argumentsLength;\n if (!this.builtinArgumentsLength) {\n let module = this.module;\n this.builtinArgumentsLength = module.addGlobal(name, TypeRef.I32, true, module.i32(0));\n }\n return name;\n }\n\n /** Ensures compilation of the varargs stub for the specified function. */\n ensureVarargsStub(original: Function): Function {\n // A varargs stub is a function called with omitted arguments being zeroed,\n // reading the `argumentsLength` helper global to decide which initializers\n // to inject before calling the original function. It is typically attempted\n // to circumvent the varargs stub where possible, for example where omitted\n // arguments are constants and can be inlined into the original call.\n let stub = original.varargsStub;\n if (stub) return stub;\n\n let originalSignature = original.signature;\n let originalParameterTypes = originalSignature.parameterTypes;\n let originalParameterDeclarations = original.prototype.functionTypeNode.parameters;\n let returnType = originalSignature.returnType;\n let isInstance = original.is(CommonFlags.Instance);\n\n // arguments excl. `this`, operands incl. `this`\n let minArguments = originalSignature.requiredParameters;\n let minOperands = minArguments;\n let maxArguments = originalParameterTypes.length;\n let maxOperands = maxArguments;\n if (isInstance) {\n ++minOperands;\n ++maxOperands;\n }\n let numOptional = assert(maxOperands - minOperands);\n\n let forwardedOperands = new Array(minOperands);\n let operandIndex = 0;\n let stmts = new Array();\n\n // forward `this` if applicable\n let module = this.module;\n let thisType = originalSignature.thisType;\n if (thisType) {\n forwardedOperands[0] = module.local_get(0, thisType.toRef());\n operandIndex = 1;\n }\n\n // forward required arguments\n for (let i = 0; i < minArguments; ++i, ++operandIndex) {\n let paramType = originalParameterTypes[i];\n forwardedOperands[operandIndex] = module.local_get(operandIndex, paramType.toRef());\n }\n assert(operandIndex == minOperands);\n\n // create the varargs stub\n stub = original.newStub(\"varargs\", maxArguments);\n\n original.varargsStub = stub;\n\n // compile initializers of omitted arguments in the scope of the stub,\n // accounting for additional locals and a proper `this` context.\n let previousFlow = this.currentFlow;\n let flow = stub.flow;\n if (original.is(CommonFlags.Constructor)) flow.set(FlowFlags.CtorParamContext);\n this.currentFlow = flow;\n\n // create a br_table switching over the number of optional parameters provided\n let numNames = numOptional + 1; // incl. outer block\n let names = new Array(numNames);\n let ofN = `of${numOptional}`;\n for (let i = 0; i < numNames; ++i) {\n names[i] = `${i}${ofN}`;\n }\n let argumentsLength = this.ensureArgumentsLength();\n let table = module.block(names[0], [\n module.block(\"outOfRange\", [\n module.switch(names, \"outOfRange\",\n // condition is number of provided optional arguments, so subtract required arguments\n minArguments\n ? module.binary(\n BinaryOp.SubI32,\n module.global_get(argumentsLength, TypeRef.I32),\n module.i32(minArguments)\n )\n : module.global_get(argumentsLength, TypeRef.I32)\n )\n ]),\n module.unreachable()\n ]);\n for (let i = 0; i < numOptional; ++i, ++operandIndex) {\n let type = originalParameterTypes[minArguments + i];\n let declaration = originalParameterDeclarations[minArguments + i];\n let initializer = declaration.initializer;\n let initExpr: ExpressionRef;\n if (initializer) {\n initExpr = this.compileExpression(\n initializer,\n type,\n Constraints.ConvImplicit\n );\n initExpr = module.local_set(operandIndex, initExpr, type.isManaged);\n } else {\n this.error(\n DiagnosticCode.Optional_parameter_must_have_an_initializer,\n declaration.range\n );\n initExpr = module.unreachable();\n }\n table = module.block(names[i + 1], [\n table,\n initExpr,\n ]);\n forwardedOperands[operandIndex] = module.local_get(operandIndex, type.toRef());\n }\n assert(operandIndex == maxOperands);\n\n stmts.push(\n table\n );\n stmts.push(\n // assume this will always succeed (can just use name as the reportNode)\n this.makeCallDirect(original, forwardedOperands, original.declaration.name)\n );\n this.currentFlow = previousFlow;\n\n let funcRef = module.addFunction(\n stub.internalName,\n stub.signature.paramRefs,\n stub.signature.resultRefs,\n typesToRefs(stub.getNonParameterLocalTypes()),\n module.flatten(stmts, returnType.toRef())\n );\n stub.set(CommonFlags.Compiled);\n stub.finalize(module, funcRef);\n return stub;\n }\n\n /** Ensures compilation of the override stub for the specified function. */\n ensureOverrideStub(original: Function): Function {\n // An override stub is a function redirecting virtual calls to the actual\n // override targeted by the call. It utilizes varargs stubs where necessary\n // and as such has the same semantics as one. Here, we only make sure that\n // a placeholder exist, with actual code being generated as a finalization\n // step once module compilation is otherwise complete.\n let stub = original.overrideStub;\n if (stub) return stub;\n stub = original.newStub(\"override\");\n original.overrideStub = stub;\n let module = this.module;\n stub.ref = module.addFunction(\n stub.internalName,\n stub.signature.paramRefs,\n stub.signature.resultRefs,\n null,\n module.unreachable()\n );\n this.overrideStubs.add(original);\n return stub;\n }\n\n /** Finalizes the override stub of the specified function. */\n private finalizeOverrideStub(instance: Function): void {\n let stub = this.ensureOverrideStub(instance);\n if (stub.is(CommonFlags.Compiled)) return;\n\n assert(instance.parent.kind == ElementKind.Class || instance.parent.kind == ElementKind.Interface);\n let module = this.module;\n let usizeType = this.options.usizeType;\n let sizeTypeRef = usizeType.toRef();\n let parameterTypes = instance.signature.parameterTypes;\n let returnType = instance.signature.returnType;\n let numParameters = parameterTypes.length;\n let tempIndex = 1 + parameterTypes.length; // incl. `this`\n\n // Switch over this's rtId and map it to the respective overload\n let builder = new SwitchBuilder(this.module,\n module.load(4, false,\n module.binary(\n sizeTypeRef == TypeRef.I64\n ? BinaryOp.SubI64\n : BinaryOp.SubI32,\n module.local_get(0, sizeTypeRef),\n sizeTypeRef == TypeRef.I64\n ? module.i64(8) // rtId offset = -8\n : module.i32(8)\n ),\n TypeRef.I32\n )\n );\n let overrideInstances = this.resolver.resolveOverrides(instance);\n if (overrideInstances) {\n let mostRecentInheritanceMapping = new Map();\n for (let i = 0, k = overrideInstances.length; i < k; ++i) {\n let overrideInstance = overrideInstances[i];\n if (!overrideInstance.is(CommonFlags.Compiled)) continue; // errored\n\n let overrideSignature = overrideInstance.signature;\n let originalSignature = instance.signature;\n\n if (!overrideSignature.isAssignableTo(originalSignature, true)) {\n this.error(\n DiagnosticCode.Type_0_is_not_assignable_to_type_1,\n overrideInstance.identifierNode.range, overrideSignature.toString(), originalSignature.toString()\n );\n continue;\n }\n // TODO: additional optional parameters are not permitted by `isAssignableTo` yet\n let overrideParameterTypes = overrideSignature.parameterTypes;\n let overrideNumParameters = overrideParameterTypes.length;\n let paramExprs = new Array(1 + overrideNumParameters);\n paramExprs[0] = module.local_get(0, sizeTypeRef); // this\n for (let n = 1; n <= numParameters; ++n) {\n paramExprs[n] = module.local_get(n, parameterTypes[n - 1].toRef());\n }\n let needsVarargsStub = false;\n for (let n = numParameters; n < overrideNumParameters; ++n) {\n // TODO: inline constant initializers and skip varargs stub\n paramExprs[1 + n] = this.makeZero(overrideParameterTypes[n]);\n needsVarargsStub = true;\n }\n let calledName = needsVarargsStub\n ? this.ensureVarargsStub(overrideInstance).internalName\n : overrideInstance.internalName;\n let returnTypeRef = overrideSignature.returnType.toRef();\n let stmts = new Array();\n if (needsVarargsStub) {\n // Safe to prepend since paramExprs are local.get's\n stmts.push(module.global_set(this.ensureArgumentsLength(), module.i32(numParameters)));\n }\n if (returnType == Type.void) {\n stmts.push(\n module.call(calledName, paramExprs, returnTypeRef)\n );\n stmts.push(\n module.return()\n );\n } else {\n stmts.push(\n module.return(\n module.call(calledName, paramExprs, returnTypeRef)\n )\n );\n }\n let classInstance = assert(overrideInstance.getBoundClassOrInterface());\n builder.addCase(classInstance.id, stmts);\n // Also alias each extender inheriting this exact overload\n let extenders = classInstance.extenders;\n if (extenders) {\n for (let _values = Set_values(extenders), i = 0, k = _values.length; i < k; ++i) {\n let extender = _values[i];\n let instanceMembers = extender.prototype.instanceMembers;\n if (instanceMembers && instanceMembers.has(instance.declaration.name.text)) {\n continue; // skip those not inheriting\n }\n if (\n !mostRecentInheritanceMapping.has(extender) ||\n !assert(mostRecentInheritanceMapping.get(extender)).extends(classInstance)\n ) {\n mostRecentInheritanceMapping.set(extender, classInstance);\n builder.addOrReplaceCase(extender.id, stmts);\n }\n }\n }\n }\n }\n\n // Call the original function if no other id matches and the method is not\n // abstract or part of an interface. Note that doing so will not catch an\n // invalid id, but can reduce code size significantly since we also don't\n // have to add branches for extenders inheriting the original function.\n let body: ExpressionRef;\n let instanceClass = instance.getBoundClassOrInterface();\n if (!instance.is(CommonFlags.Abstract) && !(instanceClass && instanceClass.kind == ElementKind.Interface)) {\n let paramExprs = new Array(numParameters);\n paramExprs[0] = module.local_get(0, sizeTypeRef); // this\n for (let i = 0, k = parameterTypes.length; i < k; ++i) {\n paramExprs[1 + i] = module.local_get(1 + i, parameterTypes[i].toRef());\n }\n body = module.call(instance.internalName, paramExprs, returnType.toRef());\n\n // Otherwise trap\n } else {\n body = module.unreachable();\n }\n\n // Create the stub function\n let ref = stub.ref;\n if (ref) module.removeFunction(stub.internalName);\n stub.ref = module.addFunction(\n stub.internalName,\n stub.signature.paramRefs,\n stub.signature.resultRefs,\n [ TypeRef.I32 ],\n module.block(null, [\n builder.render(tempIndex),\n body\n ], returnType.toRef())\n );\n stub.set(CommonFlags.Compiled);\n }\n\n /** Marks managed call operands for the shadow stack. */\n private operandsTostack(signature: Signature, operands: ExpressionRef[]): void {\n if (!this.options.stackSize) return;\n let module = this.module;\n let operandIndex = 0;\n let thisType = signature.thisType;\n if (thisType) {\n if (thisType.isManaged) {\n let operand = operands[0];\n let precomp = module.runExpression(operand, ExpressionRunnerFlags.Default);\n if (!isConstZero(precomp)) { // otherwise unnecessary\n operands[operandIndex] = module.tostack(operand);\n }\n }\n ++operandIndex;\n }\n let parameterIndex = 0;\n let parameterTypes = signature.parameterTypes;\n assert(parameterTypes.length >= operands.length - operandIndex);\n while (operandIndex < operands.length) {\n let paramType = parameterTypes[parameterIndex];\n if (paramType.isManaged) {\n let operand = operands[operandIndex];\n let precomp = module.runExpression(operand, ExpressionRunnerFlags.Default);\n if (!isConstZero(precomp)) { // otherwise unnecessary\n operands[operandIndex] = module.tostack(operand);\n }\n }\n ++operandIndex;\n ++parameterIndex;\n }\n }\n\n /** Creates a direct call to the specified function. */\n makeCallDirect(\n instance: Function,\n operands: ExpressionRef[] | null,\n reportNode: Node,\n immediatelyDropped: bool = false\n ): ExpressionRef {\n if (instance.hasDecorator(DecoratorFlags.Inline)) {\n if (!instance.is(CommonFlags.Overridden)) {\n assert(!instance.is(CommonFlags.Stub)); // doesn't make sense\n let inlineStack = this.inlineStack;\n if (inlineStack.includes(instance)) {\n this.warning(\n DiagnosticCode.Function_0_cannot_be_inlined_into_itself,\n reportNode.range, instance.internalName\n );\n } else {\n inlineStack.push(instance);\n let expr: ExpressionRef;\n if (instance.is(CommonFlags.Instance)) {\n let theOperands = assert(operands);\n assert(theOperands.length);\n expr = this.makeCallInline(instance, theOperands.slice(1), theOperands[0], immediatelyDropped);\n } else {\n expr = this.makeCallInline(instance, operands, 0, immediatelyDropped);\n }\n inlineStack.pop();\n return expr;\n }\n } else {\n this.warning(\n DiagnosticCode.Function_0_is_virtual_and_will_not_be_inlined,\n reportNode.range, instance.internalName\n );\n }\n }\n let module = this.module;\n let numOperands = operands ? operands.length : 0;\n let numArguments = numOperands;\n let minArguments = instance.signature.requiredParameters;\n let minOperands = minArguments;\n let parameterTypes = instance.signature.parameterTypes;\n let maxArguments = parameterTypes.length;\n let maxOperands = maxArguments;\n if (instance.is(CommonFlags.Instance)) {\n ++minOperands;\n ++maxOperands;\n --numArguments;\n }\n assert(numOperands >= minOperands);\n\n if (!this.compileFunction(instance)) return module.unreachable();\n let returnType = instance.signature.returnType;\n\n // fill up omitted arguments with their initializers, if constant, otherwise with zeroes.\n if (numOperands < maxOperands) {\n if (!operands) {\n operands = new Array(maxOperands);\n operands.length = 0;\n }\n let parameterNodes = instance.prototype.functionTypeNode.parameters;\n assert(parameterNodes.length == parameterTypes.length);\n let allOptionalsAreConstant = true;\n for (let i = numArguments; i < maxArguments; ++i) {\n let initializer = parameterNodes[i].initializer;\n if (initializer) {\n if (initializer.compilesToConst) {\n operands.push(this.compileExpression(\n initializer,\n parameterTypes[i],\n Constraints.ConvImplicit\n ));\n continue;\n }\n let resolved = this.resolver.lookupExpression(initializer, instance.flow, parameterTypes[i], ReportMode.Swallow);\n if (resolved && resolved.kind == ElementKind.Global) {\n let global = resolved;\n if (this.compileGlobalLazy(global, initializer) && global.is(CommonFlags.Inlined)) {\n operands.push(\n this.compileInlineConstant(global, parameterTypes[i], Constraints.ConvImplicit)\n );\n continue;\n }\n }\n }\n operands.push(this.makeZero(parameterTypes[i]));\n allOptionalsAreConstant = false;\n }\n if (!allOptionalsAreConstant && !instance.is(CommonFlags.ModuleImport)) {\n let original = instance;\n instance = this.ensureVarargsStub(instance);\n if (!this.compileFunction(instance)) return module.unreachable();\n instance.flow.flags = original.flow.flags;\n let returnTypeRef = returnType.toRef();\n // We know the last operand is optional and omitted, so inject setting\n // ~argumentsLength into that operand, which is always safe.\n let lastOperand = operands[maxOperands - 1];\n assert(!(getSideEffects(lastOperand, module.ref) & SideEffects.WritesGlobal));\n let lastOperandType = parameterTypes[maxArguments - 1];\n operands[maxOperands - 1] = module.block(null, [\n module.global_set(this.ensureArgumentsLength(), module.i32(numArguments)),\n lastOperand\n ], lastOperandType.toRef());\n this.operandsTostack(instance.signature, operands);\n let expr = module.call(instance.internalName, operands, returnTypeRef);\n if (returnType != Type.void && immediatelyDropped) {\n expr = module.drop(expr);\n this.currentType = Type.void;\n } else {\n this.currentType = returnType;\n }\n return expr;\n }\n }\n\n // Call the override stub if the function has overloads\n if (instance.is(CommonFlags.Overridden) && !reportNode.isAccessOnSuper) {\n instance = this.ensureOverrideStub(instance);\n }\n\n if (operands) this.operandsTostack(instance.signature, operands);\n let expr = module.call(instance.internalName, operands, returnType.toRef());\n this.currentType = returnType;\n return expr;\n }\n\n /** Compiles an indirect call to a first-class function. */\n compileCallIndirect(\n signature: Signature,\n functionArg: ExpressionRef,\n argumentExpressions: Expression[],\n reportNode: Node,\n thisArg: ExpressionRef = 0,\n immediatelyDropped: bool = false\n ): ExpressionRef {\n let numArguments = argumentExpressions.length;\n\n if (!this.checkCallSignature( // reports\n signature,\n numArguments,\n thisArg != 0,\n reportNode\n )) {\n return this.module.unreachable();\n }\n\n let numArgumentsInclThis = thisArg ? numArguments + 1 : numArguments;\n let operands = new Array(numArgumentsInclThis);\n let index = 0;\n if (thisArg) {\n operands[0] = thisArg;\n index = 1;\n }\n let parameterTypes = signature.parameterTypes;\n for (let i = 0; i < numArguments; ++i, ++index) {\n operands[index] = this.compileExpression(argumentExpressions[i], parameterTypes[i],\n Constraints.ConvImplicit\n );\n }\n assert(index == numArgumentsInclThis);\n return this.makeCallIndirect(signature, functionArg, reportNode, operands, immediatelyDropped);\n }\n\n /** Creates an indirect call to a first-class function. */\n makeCallIndirect(\n signature: Signature,\n functionArg: ExpressionRef,\n reportNode: Node,\n operands: ExpressionRef[] | null = null,\n immediatelyDropped: bool = false,\n ): ExpressionRef {\n let module = this.module;\n let numOperands = operands ? operands.length : 0;\n let numArguments = numOperands;\n let minArguments = signature.requiredParameters;\n let minOperands = minArguments;\n let parameterTypes = signature.parameterTypes;\n let returnType = signature.returnType;\n let maxArguments = parameterTypes.length;\n let maxOperands = maxArguments;\n if (signature.thisType) {\n ++minOperands;\n ++maxOperands;\n --numArguments;\n }\n assert(numOperands >= minOperands);\n\n // fill up omitted arguments with zeroes\n if (numOperands < maxOperands) {\n if (!operands) {\n operands = new Array(maxOperands);\n operands.length = 0;\n }\n let parameterTypes = signature.parameterTypes;\n for (let i = numArguments; i < maxArguments; ++i) {\n operands.push(this.makeZero(parameterTypes[i]));\n }\n }\n\n // We might be calling a varargs stub here, even if all operands have been\n // provided, so we must set `argumentsLength` in any case. Inject setting it\n // into the index argument, which becomes executed last after any operands.\n let argumentsLength = this.ensureArgumentsLength();\n let sizeTypeRef = this.options.sizeTypeRef;\n if (getSideEffects(functionArg, module.ref) & SideEffects.WritesGlobal) {\n let flow = this.currentFlow;\n let temp = flow.getTempLocal(this.options.usizeType);\n let tempIndex = temp.index;\n functionArg = module.block(null, [\n module.local_set(tempIndex, functionArg, true), // Function\n module.global_set(argumentsLength, module.i32(numArguments)),\n module.local_get(tempIndex, sizeTypeRef)\n ], sizeTypeRef);\n } else { // simplify\n functionArg = module.block(null, [\n module.global_set(argumentsLength, module.i32(numArguments)),\n functionArg\n ], sizeTypeRef);\n }\n if (operands) this.operandsTostack(signature, operands);\n let expr = module.call_indirect(\n null, // TODO: handle multiple tables\n module.load(4, false, functionArg, TypeRef.I32), // ._index\n operands,\n signature.paramRefs,\n signature.resultRefs\n );\n this.currentType = returnType;\n return expr;\n }\n\n private compileCommaExpression(\n expression: CommaExpression,\n contextualType: Type,\n constraints: Constraints\n ): ExpressionRef {\n let expressions = expression.expressions;\n let numExpressions = expressions.length;\n let exprs = new Array(numExpressions--);\n for (let i = 0; i < numExpressions; ++i) {\n exprs[i] = this.compileExpression(expressions[i], Type.void, // drop all except last\n Constraints.ConvImplicit | Constraints.WillDrop\n );\n }\n exprs[numExpressions] = this.compileExpression(expressions[numExpressions], contextualType, constraints);\n return this.module.flatten(exprs, this.currentType.toRef());\n }\n\n private compileElementAccessExpression(\n expression: ElementAccessExpression,\n contextualType: Type,\n constraints: Constraints\n ): ExpressionRef {\n let module = this.module;\n let targetExpression = expression.expression;\n let targetType = this.resolver.resolveExpression(targetExpression, this.currentFlow); // reports\n if (targetType) {\n let classReference = targetType.getClassOrWrapper(this.program);\n if (classReference) {\n let isUnchecked = this.currentFlow.is(FlowFlags.UncheckedContext);\n let indexedGet = classReference.lookupOverload(OperatorKind.IndexedGet, isUnchecked);\n if (indexedGet) {\n let thisType = assert(indexedGet.signature.thisType);\n let thisArg = this.compileExpression(targetExpression, thisType,\n Constraints.ConvImplicit\n );\n if (!isUnchecked && this.options.pedantic) {\n this.pedantic(\n DiagnosticCode.Indexed_access_may_involve_bounds_checking,\n expression.range\n );\n }\n return this.compileCallDirect(indexedGet, [\n expression.elementExpression\n ], expression, thisArg, constraints);\n }\n }\n this.error(\n DiagnosticCode.Index_signature_is_missing_in_type_0,\n expression.expression.range, targetType.toString()\n );\n }\n return module.unreachable();\n }\n\n private compileFunctionExpression(\n expression: FunctionExpression,\n contextualType: Type,\n constraints: Constraints\n ): ExpressionRef {\n let declaration = expression.declaration.clone(); // generic contexts can have multiple\n assert(!declaration.typeParameters); // function expression cannot be generic\n let flow = this.currentFlow;\n let sourceFunction = flow.sourceFunction;\n let isNamed = declaration.name.text.length > 0;\n let isSemanticallyAnonymous = !isNamed || contextualType != Type.void;\n let prototype = new FunctionPrototype(\n isSemanticallyAnonymous\n ? `${isNamed ? declaration.name.text : \"anonymous\"}|${sourceFunction.nextAnonymousId++}`\n : declaration.name.text,\n sourceFunction,\n declaration,\n DecoratorFlags.None\n );\n let instance: Function | null;\n let contextualTypeArguments = cloneMap(flow.contextualTypeArguments);\n let module = this.module;\n\n // compile according to context. this differs from a normal function in that omitted parameter\n // and return types can be inferred and omitted arguments can be replaced with dummies.\n let contextualSignature = contextualType.signatureReference;\n if (contextualSignature) {\n let signatureNode = prototype.functionTypeNode;\n let parameterNodes = signatureNode.parameters;\n let numPresentParameters = parameterNodes.length;\n\n // must not require more than the maximum number of parameters\n let parameterTypes = contextualSignature.parameterTypes;\n let numParameters = parameterTypes.length;\n if (numPresentParameters > numParameters) {\n this.error(\n DiagnosticCode.Expected_0_arguments_but_got_1,\n expression.range, numParameters.toString(), numPresentParameters.toString()\n );\n return module.unreachable();\n }\n\n // check non-omitted parameter types\n for (let i = 0; i < numPresentParameters; ++i) {\n let parameterNode = parameterNodes[i];\n if (!isTypeOmitted(parameterNode.type)) {\n let resolvedType = this.resolver.resolveType(\n parameterNode.type, flow,\n sourceFunction.parent,\n contextualTypeArguments\n );\n if (!resolvedType) return module.unreachable();\n if (!parameterTypes[i].isStrictlyAssignableTo(resolvedType)) {\n this.error(\n DiagnosticCode.Type_0_is_not_assignable_to_type_1,\n parameterNode.range, parameterTypes[i].toString(), resolvedType.toString()\n );\n return module.unreachable();\n }\n }\n // any unused parameters are inherited but ignored\n }\n\n // check non-omitted return type\n let returnType = contextualSignature.returnType;\n if (!isTypeOmitted(signatureNode.returnType)) {\n let resolvedType = this.resolver.resolveType(\n signatureNode.returnType, flow,\n sourceFunction.parent,\n contextualTypeArguments\n );\n if (!resolvedType) return module.unreachable();\n if (\n returnType == Type.void\n ? resolvedType != Type.void\n : !resolvedType.isStrictlyAssignableTo(returnType)\n ) {\n this.error(\n DiagnosticCode.Type_0_is_not_assignable_to_type_1,\n signatureNode.returnType.range, resolvedType.toString(), returnType.toString()\n );\n return module.unreachable();\n }\n }\n\n // check explicit this type\n let thisType = contextualSignature.thisType;\n let thisTypeNode = signatureNode.explicitThisType;\n if (thisTypeNode) {\n if (!thisType) {\n this.error(\n DiagnosticCode._this_cannot_be_referenced_in_current_location,\n thisTypeNode.range\n );\n return module.unreachable();\n }\n let resolvedType = this.resolver.resolveType(\n thisTypeNode, flow,\n sourceFunction.parent,\n contextualTypeArguments\n );\n if (!resolvedType) return module.unreachable();\n if (!thisType.isStrictlyAssignableTo(resolvedType)) {\n this.error(\n DiagnosticCode.Type_0_is_not_assignable_to_type_1,\n thisTypeNode.range, thisType.toString(), resolvedType.toString()\n );\n return module.unreachable();\n }\n }\n\n let signature = Signature.create(this.program, parameterTypes, returnType, thisType, numParameters);\n instance = new Function(\n prototype.name,\n prototype,\n null,\n signature,\n contextualTypeArguments\n );\n instance.flow.outer = flow;\n let worked = this.compileFunction(instance);\n this.currentType = contextualSignature.type;\n if (!worked) return module.unreachable();\n\n // otherwise compile like a normal function\n } else {\n instance = this.resolver.resolveFunction(prototype, null, contextualTypeArguments);\n if (!instance) return this.module.unreachable();\n instance.flow.outer = flow;\n let worked = this.compileFunction(instance);\n this.currentType = instance.signature.type;\n if (!worked) return module.unreachable();\n }\n\n let offset = this.ensureRuntimeFunction(instance); // reports\n let expr = this.options.isWasm64\n ? module.i64(i64_low(offset), i64_high(offset))\n : module.i32(i64_low(offset));\n\n // add a constant local referring to the function if applicable\n if (!isSemanticallyAnonymous) {\n let fname = instance.name;\n let existingLocal = flow.getScopedLocal(fname);\n if (existingLocal) {\n if (!existingLocal.declaration.range.source.isNative) {\n this.errorRelated(\n DiagnosticCode.Duplicate_identifier_0,\n declaration.name.range,\n existingLocal.declaration.name.range,\n fname\n );\n } else { // scoped locals are shared temps that don't track declarations\n this.error(\n DiagnosticCode.Duplicate_identifier_0,\n declaration.name.range, fname\n );\n }\n } else {\n let ftype = instance.type;\n let local = flow.addScopedLocal(instance.name, ftype);\n flow.setLocalFlag(local.index, LocalFlags.Constant | LocalFlags.Initialized);\n expr = module.local_tee(local.index, expr, ftype.isManaged);\n }\n }\n\n return expr;\n }\n\n /** Makes sure the enclosing source file of the specified expression has been compiled. */\n private maybeCompileEnclosingSource(expression: Expression): void {\n let internalPath = expression.range.source.internalPath;\n let filesByName = this.program.filesByName;\n assert(filesByName.has(internalPath));\n let enclosingFile = assert(filesByName.get(internalPath));\n if (!enclosingFile.is(CommonFlags.Compiled)) {\n this.compileFileByPath(internalPath, expression);\n }\n }\n\n private compileIdentifierExpression(\n expression: IdentifierExpression,\n contextualType: Type,\n constraints: Constraints\n ): ExpressionRef {\n let module = this.module;\n let flow = this.currentFlow;\n let sourceFunction = flow.sourceFunction;\n\n // check special keywords first\n switch (expression.kind) {\n case NodeKind.Null: {\n let options = this.options;\n if (contextualType.isReference) {\n let classReference = contextualType.getClass();\n if (classReference) {\n this.currentType = classReference.type.asNullable();\n return options.isWasm64 ? module.i64(0) : module.i32(0);\n }\n let signatureReference = contextualType.getSignature();\n if (signatureReference) {\n this.currentType = signatureReference.type.asNullable();\n return options.isWasm64 ? module.i64(0) : module.i32(0);\n }\n return this.makeZero(contextualType);\n }\n this.currentType = options.usizeType;\n this.warning(\n DiagnosticCode.Expression_resolves_to_unusual_type_0,\n expression.range, this.currentType.toString()\n );\n return options.isWasm64\n ? module.i64(0)\n : module.i32(0);\n }\n case NodeKind.True: {\n this.currentType = Type.bool;\n return module.i32(1);\n }\n case NodeKind.False: {\n this.currentType = Type.bool;\n return module.i32(0);\n }\n case NodeKind.This: {\n let thisType = sourceFunction.signature.thisType;\n if (!thisType) {\n this.error(\n DiagnosticCode._this_cannot_be_referenced_in_current_location,\n expression.range\n );\n this.currentType = this.options.usizeType;\n return module.unreachable();\n }\n if (sourceFunction.is(CommonFlags.Constructor)) {\n if (flow.is(FlowFlags.CtorParamContext)) {\n this.error(\n DiagnosticCode._this_cannot_be_referenced_in_constructor_arguments,\n expression.range\n );\n }\n if (!(constraints & Constraints.IsThis)) {\n let parent = sourceFunction.parent;\n assert(parent.kind == ElementKind.Class);\n this.checkFieldInitialization(parent, expression);\n }\n }\n let thisLocal = assert(flow.lookupLocal(CommonNames.this_));\n flow.set(FlowFlags.AccessesThis);\n this.currentType = thisType;\n return module.local_get(thisLocal.index, thisType.toRef());\n }\n case NodeKind.Super: {\n if (sourceFunction.is(CommonFlags.Constructor)) {\n if (flow.is(FlowFlags.CtorParamContext)) {\n this.error(\n DiagnosticCode._super_cannot_be_referenced_in_constructor_arguments,\n expression.range\n );\n } else if (!flow.is(FlowFlags.CallsSuper)) {\n // TS1034 in the parser effectively limits this to property accesses\n this.error(\n DiagnosticCode._super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class,\n expression.range\n );\n }\n }\n if (flow.isInline) {\n let scopedThis = flow.lookupLocal(CommonNames.this_);\n if (scopedThis) {\n let scopedThisClass = assert(scopedThis.type.getClass());\n let base = scopedThisClass.base;\n if (base) {\n this.currentType = base.type;\n return module.local_get(scopedThis.index, base.type.toRef());\n }\n }\n }\n if (sourceFunction.is(CommonFlags.Instance)) {\n let parent = assert(sourceFunction.parent);\n assert(parent.kind == ElementKind.Class);\n let classInstance = parent;\n let baseClassInstance = classInstance.base;\n if (baseClassInstance) {\n let superType = baseClassInstance.type;\n this.currentType = superType;\n return module.local_get(0, superType.toRef());\n }\n }\n this.error(\n DiagnosticCode._super_can_only_be_referenced_in_a_derived_class,\n expression.range\n );\n this.currentType = this.options.usizeType;\n return module.unreachable();\n }\n }\n\n this.maybeCompileEnclosingSource(expression);\n\n // otherwise resolve\n let currentParent = this.currentParent;\n if (!currentParent) currentParent = sourceFunction;\n let target = this.resolver.lookupIdentifierExpression( // reports\n expression,\n flow,\n currentParent\n );\n if (!target) {\n // make a guess to avoid assertions in calling code\n if (this.currentType == Type.void) this.currentType = Type.i32;\n return module.unreachable();\n }\n\n switch (target.kind) {\n case ElementKind.Local: {\n let local = target;\n let localType = local.type;\n assert(localType != Type.void);\n if (this.pendingElements.has(local)) {\n this.error(\n DiagnosticCode.Variable_0_used_before_its_declaration,\n expression.range,\n local.internalName\n );\n this.currentType = localType;\n return module.unreachable();\n }\n if (local.is(CommonFlags.Inlined)) {\n return this.compileInlineConstant(local, contextualType, constraints);\n }\n let localIndex = local.index;\n if (!flow.isLocalFlag(localIndex, LocalFlags.Initialized)) {\n this.error(\n DiagnosticCode.Variable_0_is_used_before_being_assigned,\n expression.range, local.name\n );\n }\n assert(localIndex >= 0);\n let isNonNull = flow.isLocalFlag(localIndex, LocalFlags.NonNull, false);\n if (localType.isNullableReference && isNonNull && (!localType.isExternalReference || this.options.hasFeature(Feature.GC))) {\n this.currentType = localType.nonNullableType;\n } else {\n this.currentType = localType;\n }\n\n if (!local.declaredByFlow(flow)) {\n // TODO: closures\n this.error(\n DiagnosticCode.Not_implemented_0,\n expression.range,\n \"Closures\"\n );\n return module.unreachable();\n }\n let expr = module.local_get(localIndex, localType.toRef());\n if (isNonNull && localType.isNullableExternalReference && this.options.hasFeature(Feature.GC)) {\n // If the local's type is nullable, but its value is known to be non-null, propagate\n // non-nullability info to Binaryen. Only applicable if GC is enabled, since without\n // GC, here incl. typed function references, there is no nullability dimension.\n expr = module.ref_as_nonnull(expr);\n }\n return expr;\n }\n case ElementKind.Global: {\n let global = target;\n if (!this.compileGlobalLazy(global, expression)) {\n return module.unreachable();\n }\n let globalType = global.type;\n if (this.pendingElements.has(global)) {\n this.error(\n DiagnosticCode.Variable_0_used_before_its_declaration,\n expression.range,\n global.internalName\n );\n this.currentType = globalType;\n return module.unreachable();\n }\n assert(globalType != Type.void);\n if (global.hasDecorator(DecoratorFlags.Builtin)) {\n return this.compileIdentifierExpressionBuiltin(global, expression, contextualType);\n }\n if (global.is(CommonFlags.Inlined)) {\n return this.compileInlineConstant(global, contextualType, constraints);\n }\n let expr = module.global_get(global.internalName, globalType.toRef());\n if (global.is(CommonFlags.DefinitelyAssigned) && globalType.isReference && !globalType.isNullableReference) {\n expr = this.makeRuntimeNonNullCheck(expr, globalType, expression);\n }\n this.currentType = globalType;\n return expr;\n }\n case ElementKind.EnumValue: { // here: if referenced from within the same enum\n let enumValue = target;\n if (!target.is(CommonFlags.Compiled)) {\n this.error(\n DiagnosticCode.A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_members_defined_in_other_enums,\n expression.range\n );\n this.currentType = Type.i32;\n return module.unreachable();\n }\n this.currentType = Type.i32;\n if (enumValue.is(CommonFlags.Inlined)) {\n assert(enumValue.constantValueKind == ConstantValueKind.Integer);\n return module.i32(i64_low(enumValue.constantIntegerValue));\n }\n return module.global_get(enumValue.internalName, TypeRef.I32);\n }\n case ElementKind.FunctionPrototype: {\n let functionPrototype = target;\n let typeParameterNodes = functionPrototype.typeParameterNodes;\n\n if (typeParameterNodes && typeParameterNodes.length != 0) {\n this.error(\n DiagnosticCode.Type_argument_expected,\n expression.range\n );\n break; // also diagnose 'not a value at runtime'\n }\n\n let functionInstance = this.resolver.resolveFunction(\n functionPrototype,\n null,\n cloneMap(flow.contextualTypeArguments)\n );\n if (!functionInstance || !this.compileFunction(functionInstance)) return module.unreachable();\n if (functionInstance.hasDecorator(DecoratorFlags.Builtin)) {\n this.error(\n DiagnosticCode.Not_implemented_0,\n expression.range, \"First-class built-ins\"\n );\n this.currentType = functionInstance.type;\n return module.unreachable();\n }\n if (contextualType.isExternalReference) {\n // TODO: Concrete function types currently map to first class functions implemented in\n // linear memory (on top of `usize`), leaving only generic `funcref` for use here. In the\n // future, once functions become Wasm GC objects, the actual signature type can be used.\n this.currentType = Type.func;\n return module.ref_func(functionInstance.internalName, ensureType(functionInstance.type));\n }\n let offset = this.ensureRuntimeFunction(functionInstance);\n this.currentType = functionInstance.signature.type;\n return this.options.isWasm64\n ? module.i64(i64_low(offset), i64_high(offset))\n : module.i32(i64_low(offset));\n }\n }\n this.error(\n DiagnosticCode.Expression_does_not_compile_to_a_value_at_runtime,\n expression.range\n );\n return module.unreachable();\n }\n\n private compileIdentifierExpressionBuiltin(\n element: VariableLikeElement,\n expression: IdentifierExpression,\n contextualType: Type\n ): ExpressionRef {\n if (element.hasDecorator(DecoratorFlags.Unsafe)) this.checkUnsafe(expression, element.identifierNode);\n let internalName = element.internalName;\n assert(builtinVariables_onAccess.has(internalName)); // checked earlier\n let fn = assert(builtinVariables_onAccess.get(internalName));\n return fn(new BuiltinVariableContext(\n this,\n element,\n contextualType,\n expression\n ));\n }\n\n private compileInstanceOfExpression(\n expression: InstanceOfExpression,\n contextualType: Type,\n constraints: Constraints\n ): ExpressionRef {\n let flow = this.currentFlow;\n let isType = expression.isType;\n\n // Mimic `instanceof CLASS`\n if (isType.kind == NodeKind.NamedType) {\n let namedType = isType;\n if (!(namedType.isNullable || namedType.hasTypeArguments)) {\n let element = this.resolver.resolveTypeName(namedType.name, flow, flow.sourceFunction, ReportMode.Swallow);\n if (element && element.kind == ElementKind.ClassPrototype) {\n let prototype = element;\n if (prototype.is(CommonFlags.Generic)) {\n return this.makeInstanceofClass(expression, prototype);\n }\n }\n }\n }\n\n // Fall back to `instanceof TYPE`\n let expectedType = this.resolver.resolveType(\n expression.isType, flow,\n flow.sourceFunction,\n cloneMap(flow.contextualTypeArguments)\n );\n if (!expectedType) {\n this.currentType = Type.bool;\n return this.module.unreachable();\n }\n return this.makeInstanceofType(expression, expectedType);\n }\n\n private makeInstanceofType(expression: InstanceOfExpression, expectedType: Type): ExpressionRef {\n let module = this.module;\n let flow = this.currentFlow;\n let expr = this.compileExpression(expression.expression, expectedType);\n let actualType = this.currentType;\n this.currentType = Type.bool;\n\n // instanceof - must be exact\n if (expectedType.isValue) {\n return module.maybeDropCondition(expr, module.i32(actualType == expectedType ? 1 : 0));\n }\n\n // instanceof - always false\n if (actualType.isValue) {\n return module.maybeDropCondition(expr, module.i32(0));\n }\n\n // both LHS and RHS are references now\n let sizeTypeRef = actualType.toRef();\n\n // instanceof - LHS must be != 0\n if (actualType.isNullableReference && !expectedType.isNullableReference) {\n\n // same or upcast - check statically\n if (actualType.nonNullableType.isAssignableTo(expectedType)) {\n return module.binary(\n sizeTypeRef == TypeRef.I64\n ? BinaryOp.NeI64\n : BinaryOp.NeI32,\n expr,\n this.makeZero(actualType)\n );\n }\n\n // potential downcast - check dynamically\n if (actualType.nonNullableType.hasSubtypeAssignableTo(expectedType)) {\n if (!(actualType.isUnmanaged || expectedType.isUnmanaged)) {\n if (this.options.pedantic) {\n this.pedantic(\n DiagnosticCode.Expression_compiles_to_a_dynamic_check_at_runtime,\n expression.range\n );\n }\n let temp = flow.getTempLocal(actualType);\n let tempIndex = temp.index;\n return module.if(\n module.unary(\n sizeTypeRef == TypeRef.I64\n ? UnaryOp.EqzI64\n : UnaryOp.EqzI32,\n module.local_tee(tempIndex, expr, actualType.isManaged),\n ),\n module.i32(0),\n module.call(this.prepareInstanceOf(expectedType.classReference!), [\n module.local_get(tempIndex, sizeTypeRef)\n ], TypeRef.I32)\n );\n } else {\n this.error(\n DiagnosticCode.Operator_0_cannot_be_applied_to_types_1_and_2,\n expression.range, \"instanceof\", actualType.toString(), expectedType.toString()\n );\n }\n }\n\n // either none or both nullable\n } else {\n\n // same or upcast - check statically\n if (actualType.isAssignableTo(expectedType)) {\n return module.maybeDropCondition(expr, module.i32(1));\n }\n\n // potential downcast - check dynamically\n if (actualType.hasSubtypeAssignableTo(expectedType)) {\n if (!(actualType.isUnmanaged || expectedType.isUnmanaged)) {\n let temp = flow.getTempLocal(actualType);\n let tempIndex = temp.index;\n return module.if(\n module.unary(\n sizeTypeRef == TypeRef.I64\n ? UnaryOp.EqzI64\n : UnaryOp.EqzI32,\n module.local_tee(tempIndex, expr, actualType.isManaged),\n ),\n module.i32(0),\n module.call(this.prepareInstanceOf(expectedType.classReference!), [\n module.local_get(tempIndex, sizeTypeRef)\n ], TypeRef.I32)\n );\n } else {\n this.error(\n DiagnosticCode.Operator_0_cannot_be_applied_to_types_1_and_2,\n expression.range, \"instanceof\", actualType.toString(), expectedType.toString()\n );\n }\n }\n }\n\n // false\n return module.maybeDropCondition(expr, module.i32(0));\n }\n\n /** Prepares the instanceof helper for the given class or interface instance. */\n private prepareInstanceOf(instance: Class): string {\n let name = `~instanceof|${instance.internalName}`;\n let pending = this.pendingInstanceOf;\n if (pending.has(instance)) return assert(pending.get(instance));\n pending.set(instance, name);\n let module = this.module;\n module.addFunction(name, this.options.sizeTypeRef, TypeRef.I32, null,\n module.unreachable()\n );\n return name;\n }\n\n /** Finalizes the instanceof helper of the given class or interface instance. */\n private finalizeInstanceOf(\n /** Class to finalize the helper for. */\n instance: Class,\n /** Name of the helper function. */\n name: string\n ): void {\n let program = this.program;\n let module = this.module;\n let sizeType = this.options.sizeTypeRef;\n let stmts = new Array();\n // (block $is_instance\n // (local.set $1 (i32.load (...))) ;; class id\n // (br_if $is_instance (i32.eq (local.get $1) (ID)))\n // ...\n // (return (i32.const 0))\n // )\n // (i32.const 1)\n stmts.push(\n module.local_set(1,\n module.load(4, false,\n module.binary(\n sizeType == TypeRef.I64\n ? BinaryOp.SubI64\n : BinaryOp.SubI32,\n module.local_get(0, sizeType),\n module.i32(\n program.totalOverhead - program.OBJECTInstance.offsetof(\"rtId\")\n )\n ),\n TypeRef.I32\n ), false // managedness is irrelevant here, isn't interrupted\n )\n );\n let allInstances: Set | null;\n if (instance.isInterface) {\n allInstances = instance.implementers;\n } else {\n allInstances = new Set();\n allInstances.add(instance);\n let extenders = instance.extenders;\n if (extenders) {\n for (let _values = Set_values(extenders), i = 0, k = _values.length; i < k; ++i) {\n let extender = _values[i];\n allInstances.add(extender);\n }\n }\n }\n if (allInstances) {\n for (let _values = Set_values(allInstances), i = 0, k = _values.length; i < k; ++i) {\n let instance = _values[i];\n stmts.push(\n module.br(\"is_instance\",\n module.binary(BinaryOp.EqI32,\n module.local_get(1, TypeRef.I32),\n module.i32(instance.id)\n )\n )\n );\n }\n }\n stmts.push(\n module.return(\n module.i32(0)\n )\n );\n stmts[0] = module.block(\"is_instance\", stmts, TypeRef.None);\n stmts.length = 1;\n stmts.push(\n module.i32(1)\n ); \n module.removeFunction(name);\n module.addFunction(name, sizeType, TypeRef.I32, [ TypeRef.I32 ], module.block(null, stmts, TypeRef.I32));\n }\n\n private makeInstanceofClass(expression: InstanceOfExpression, prototype: ClassPrototype): ExpressionRef {\n let module = this.module;\n let expr = this.compileExpression(expression.expression, Type.auto);\n let actualType = this.currentType;\n let sizeTypeRef = actualType.toRef();\n\n this.currentType = Type.bool;\n\n // exclusively interested in class references here\n let classReference = actualType.getClass();\n if (classReference) {\n\n // static check\n if (classReference.extendsPrototype(prototype)) {\n\n // instanceof - LHS must be != 0\n if (actualType.isNullableReference) {\n return module.binary(\n sizeTypeRef == TypeRef.I64\n ? BinaryOp.NeI64\n : BinaryOp.NeI32,\n expr,\n this.makeZero(actualType)\n );\n\n // is just `true`\n } else {\n return module.maybeDropCondition(expr, module.i32(1));\n }\n\n // dynamic check against all possible concrete ids\n } else if (prototype.extends(classReference.prototype)) {\n let flow = this.currentFlow;\n let temp = flow.getTempLocal(actualType);\n let tempIndex = temp.index;\n // !(t = expr) ? 0 : anyinstanceof(t)\n return module.if(\n module.unary(\n sizeTypeRef == TypeRef.I64\n ? UnaryOp.EqzI64\n : UnaryOp.EqzI32,\n module.local_tee(tempIndex, expr, actualType.isManaged),\n ),\n module.i32(0),\n module.call(this.prepareAnyInstanceOf(prototype), [\n module.local_get(tempIndex, sizeTypeRef)\n ], TypeRef.I32)\n );\n }\n }\n\n // false\n return module.maybeDropCondition(expr, module.i32(0));\n }\n\n /** Prepares the instanceof helper for the given class or interface prototype. */\n private prepareAnyInstanceOf(prototype: ClassPrototype): string {\n let name = `~anyinstanceof|${prototype.internalName}`;\n let pending = this.pendingInstanceOf;\n if (pending.has(prototype)) return assert(pending.get(prototype));\n pending.set(prototype, name);\n let module = this.module;\n module.addFunction(name, this.options.sizeTypeRef, TypeRef.I32, null,\n module.unreachable()\n );\n return name;\n }\n\n /** Finalizes the instanceof helper of the given class prototype. */\n private finalizeAnyInstanceOf(prototype: ClassPrototype, name: string): void {\n let module = this.module;\n let sizeType = this.options.sizeTypeRef;\n let stmts = new Array();\n let instances = prototype.instances;\n // (block $is_instance\n // (local.set $1 (i32.load(...)))\n // (br_if $is_instance (i32.eq (local.get $1) (ID))\n // ...\n // (return (i32.const 0))\n // )\n // (i32.const 1)\n if (instances) {\n let program = this.program;\n stmts.push(\n module.local_set(1,\n module.load(4, false,\n module.binary(\n sizeType == TypeRef.I64\n ? BinaryOp.SubI64\n : BinaryOp.SubI32,\n module.local_get(0, sizeType),\n module.i32(\n program.totalOverhead - program.OBJECTInstance.offsetof(\"rtId\")\n )\n ),\n TypeRef.I32\n ), false // managedness is irrelevant here, isn't interrupted\n )\n );\n let allInstances = new Set();\n for (let _values = Map_values(instances), i = 0, k = _values.length; i < k; ++i) {\n let instance = _values[i];\n if (instance.isInterface) {\n let implementers = instance.implementers;\n if (implementers) {\n for (let _values = Set_values(implementers), i = 0, k = _values.length; i < k; ++i) {\n let implementer = _values[i];\n allInstances.add(implementer);\n }\n }\n } else {\n allInstances.add(instance);\n let extenders = instance.extenders;\n if (extenders) {\n for (let _values = Set_values(extenders), i = 0, k = _values.length; i < k; ++i) {\n let extender = _values[i];\n allInstances.add(extender);\n }\n }\n }\n }\n for (let _values = Set_values(allInstances), i = 0, k = _values.length; i < k; ++i) {\n let instance = _values[i];\n stmts.push(\n module.br(\"is_instance\",\n module.binary(BinaryOp.EqI32,\n module.local_get(1, TypeRef.I32),\n module.i32(instance.id)\n )\n )\n );\n }\n }\n stmts.push(\n module.return(\n module.i32(0)\n )\n );\n stmts[0] = module.block(\"is_instance\", stmts, TypeRef.None);\n stmts.length = 1;\n stmts.push(\n module.i32(1)\n );\n module.removeFunction(name);\n module.addFunction(name, sizeType, TypeRef.I32, [ TypeRef.I32 ], module.block(null, stmts, TypeRef.I32));\n }\n\n private compileLiteralExpression(\n expression: LiteralExpression,\n contextualType: Type,\n constraints: Constraints,\n implicitlyNegate: bool = false\n ): ExpressionRef {\n let module = this.module;\n switch (expression.literalKind) {\n case LiteralKind.Array: {\n assert(!implicitlyNegate);\n return this.compileArrayLiteral(\n expression,\n contextualType,\n constraints\n );\n }\n case LiteralKind.Float: {\n let floatValue = (expression).value;\n if (implicitlyNegate) {\n floatValue = -floatValue;\n }\n if (contextualType == Type.f32) {\n return module.f32(floatValue);\n }\n this.currentType = Type.f64;\n return module.f64(floatValue);\n }\n case LiteralKind.Integer: {\n let expr = expression;\n let type = this.resolver.determineIntegerLiteralType(expr, implicitlyNegate, contextualType);\n this.currentType = type;\n let intValue = expr.value;\n let sign = 1.0; // should multiply for float literals\n if (implicitlyNegate) {\n if (type.isFloatValue) {\n sign = -1.0;\n } else {\n intValue = i64_neg(intValue);\n }\n }\n switch (type.kind) {\n case TypeKind.Isize: if (!this.options.isWasm64) return module.i32(i64_low(intValue));\n case TypeKind.I64: return module.i64(i64_low(intValue), i64_high(intValue));\n case TypeKind.Usize: if (!this.options.isWasm64) return module.i32(i64_low(intValue));\n case TypeKind.U64: return module.i64(i64_low(intValue), i64_high(intValue));\n case TypeKind.F32: return module.f32(sign * i64_to_f32(intValue));\n case TypeKind.F64: return module.f64(sign * i64_to_f64(intValue));\n default: return module.i32(i64_low(intValue));\n }\n }\n case LiteralKind.String: {\n assert(!implicitlyNegate);\n return this.compileStringLiteral(expression, constraints);\n }\n case LiteralKind.Template: {\n assert(!implicitlyNegate);\n return this.compileTemplateLiteral(expression, constraints);\n }\n case LiteralKind.Object: {\n assert(!implicitlyNegate);\n return this.compileObjectLiteral(expression, contextualType);\n }\n case LiteralKind.RegExp: {\n this.error(\n DiagnosticCode.Not_implemented_0,\n expression.range,\n \"Regular expressions\"\n );\n this.currentType = contextualType;\n return module.unreachable();\n }\n }\n assert(false);\n return module.unreachable();\n }\n\n private compileStringLiteral(\n expression: StringLiteralExpression,\n constraints: Constraints\n ): ExpressionRef {\n return this.ensureStaticString(expression.value);\n }\n\n private compileTemplateLiteral(\n expression: TemplateLiteralExpression,\n constraints: Constraints\n ): ExpressionRef {\n let tag = expression.tag;\n let parts = expression.parts;\n let numParts = parts.length;\n let expressions = expression.expressions;\n let numExpressions = expressions.length;\n assert(numExpressions == numParts - 1);\n\n let module = this.module;\n let stringInstance = this.program.stringInstance;\n let stringType = stringInstance.type;\n\n if (!tag) {\n // Shortcut if just a (multi-line) string\n if (numParts == 1) {\n return this.ensureStaticString(parts[0]);\n }\n\n // Shortcut for `${expr}`, `${expr}`, `${expr}`\n if (numParts == 2) {\n let expression = expressions[0];\n let lhsLen = parts[0].length;\n let rhsLen = parts[1].length;\n // Shortcut for `${expr}` -> expr.toString()\n if (!lhsLen && !rhsLen) {\n return this.makeToString(\n this.compileExpression(expression, stringType),\n this.currentType, expression\n );\n }\n // Shortcuts for\n // `${expr}` -> \"\" + expr.toString()\n // `${expr}` -> expr.toString() + \"\"\n let hasPrefix = lhsLen != 0;\n // @ts-ignore: cast\n if (hasPrefix ^ (rhsLen != 0)) {\n let lhs: ExpressionRef;\n let rhs: ExpressionRef;\n let expr = this.makeToString(\n this.compileExpression(expression, stringType),\n this.currentType, expression\n );\n if (hasPrefix) {\n lhs = this.ensureStaticString(parts[0]);\n rhs = expr;\n } else {\n // suffix\n lhs = expr;\n rhs = this.ensureStaticString(parts[1]);\n }\n let concatMethod = assert(stringInstance.getMethod(\"concat\"));\n return this.makeCallDirect(concatMethod, [ lhs, rhs ], expression);\n }\n }\n\n // Shortcut for `${exprA}${exprB}` -> exprA.toString() + exprB.toString()\n if (numParts == 3 && !parts[0].length && !parts[1].length && !parts[2].length) {\n let exprA = expressions[0];\n let exprB = expressions[1];\n\n let lhs = this.makeToString(\n this.compileExpression(exprA, stringType),\n this.currentType, exprA\n );\n let rhs = this.makeToString(\n this.compileExpression(exprB, stringType),\n this.currentType, exprB\n );\n let concatMethod = assert(stringInstance.getMethod(\"concat\"));\n return this.makeCallDirect(concatMethod, [ lhs, rhs ], expression);\n }\n\n // Compile to a `StaticArray#join(\"\") in the general case\n let expressionPositions = new Array(numExpressions);\n let values = new Array();\n if (parts[0].length > 0) values.push(this.ensureStaticString(parts[0]));\n for (let i = 1; i < numParts; ++i) {\n expressionPositions[i - 1] = values.length;\n values.push(module.usize(0));\n if (parts[i].length > 0) values.push(this.ensureStaticString(parts[i]));\n }\n let arrayInstance = assert(this.resolver.resolveClass(this.program.staticArrayPrototype, [ stringType ]));\n let segment = this.addStaticBuffer(stringType, values, arrayInstance.id);\n this.program.OBJECTInstance.writeField(\"gcInfo\", 3, segment.buffer, 0); // use transparent gcinfo\n let offset = i64_add(segment.offset, i64_new(this.program.totalOverhead));\n let joinInstance = assert(arrayInstance.getMethod(\"join\"));\n let indexedSetInstance = assert(arrayInstance.lookupOverload(OperatorKind.IndexedSet, true));\n let stmts = new Array(2 * numExpressions + 1);\n // Use one local per toString'ed subexpression, since otherwise recursion on the same\n // static array would overwrite already prepared parts. Avoids a temporary array.\n let temps = new Array(numExpressions);\n let flow = this.currentFlow;\n for (let i = 0; i < numExpressions; ++i) {\n let expression = expressions[i];\n let temp = flow.getTempLocal(stringType);\n temps[i] = temp;\n stmts[i] = module.local_set(temp.index,\n this.makeToString(\n this.compileExpression(expression, stringType),\n this.currentType, expression\n ),\n true\n );\n }\n // Populate the static array with the toString'ed subexpressions and call .join(\"\")\n for (let i = 0; i < numExpressions; ++i) {\n stmts[numExpressions + i] = this.makeCallDirect(indexedSetInstance, [\n module.usize(offset),\n module.i32(expressionPositions[i]),\n module.local_get(temps[i].index, stringType.toRef())\n ], expression);\n }\n stmts[2 * numExpressions] = this.makeCallDirect(joinInstance, [\n module.usize(offset),\n this.ensureStaticString(\"\")\n ], expression);\n return module.flatten(stmts, stringType.toRef());\n }\n\n // Try to find out whether the template function takes a full-blown TemplateStringsArray or if\n // it is sufficient to compile to a normal array. While technically incorrect, this allows us\n // to avoid generating unnecessary static data that is not explicitly signaled to be used.\n let tsaArrayInstance = this.program.templateStringsArrayInstance;\n let arrayInstance = tsaArrayInstance;\n let target = this.resolver.lookupExpression(tag, this.currentFlow, Type.auto, ReportMode.Swallow);\n if (target) {\n switch (target.kind) {\n case ElementKind.FunctionPrototype: {\n let instance = this.resolver.resolveFunction(\n target,\n null,\n new Map(),\n ReportMode.Swallow\n );\n if (!instance) break;\n target = instance;\n // fall-through\n }\n case ElementKind.Function: {\n let instance = target;\n let parameterTypes = instance.signature.parameterTypes;\n if (parameterTypes.length) {\n let first = parameterTypes[0].getClass();\n if (first && !first.extendsPrototype(tsaArrayInstance.prototype)) {\n arrayInstance = assert(this.resolver.resolveClass(this.program.arrayPrototype, [ stringType ]));\n }\n }\n break;\n }\n }\n }\n\n // Compile to a call to the tag function\n let rawParts = expression.rawParts;\n assert(rawParts.length == numParts);\n let partExprs = new Array(numParts);\n for (let i = 0; i < numParts; ++i) {\n partExprs[i] = this.ensureStaticString(parts[i]);\n }\n let arraySegment: MemorySegment;\n if (arrayInstance == tsaArrayInstance) {\n let rawExprs = new Array(numParts);\n for (let i = 0; i < numParts; ++i) {\n rawExprs[i] = this.ensureStaticString(rawParts[i]);\n }\n arraySegment = this.addStaticArrayHeader(stringType,\n this.addStaticBuffer(this.options.usizeType, partExprs),\n arrayInstance\n );\n let rawHeaderSegment = this.addStaticArrayHeader(stringType,\n this.addStaticBuffer(this.options.usizeType, rawExprs)\n );\n arrayInstance.writeField(\"raw\",\n i64_add(rawHeaderSegment.offset, i64_new(this.program.totalOverhead)),\n arraySegment.buffer\n );\n } else {\n arraySegment = this.addStaticArrayHeader(stringType,\n this.addStaticBuffer(this.options.usizeType, partExprs),\n arrayInstance\n );\n }\n\n // Desugar to compileCallExpression\n let args = expressions.slice();\n args.unshift(\n Node.createCompiledExpression(\n module.usize(i64_add(arraySegment.offset, i64_new(this.program.totalOverhead))),\n arrayInstance.type,\n Source.native.range\n )\n );\n // TODO: Requires ReadonlyArray to be safe\n this.error(\n DiagnosticCode.Not_implemented_0,\n expression.range, \"Tagged template literals\"\n );\n return this.compileCallExpressionLike(tag, null, args, expression.range, stringType);\n }\n\n private compileArrayLiteral(\n expression: ArrayLiteralExpression,\n contextualType: Type,\n constraints: Constraints\n ): ExpressionRef {\n let module = this.module;\n let flow = this.currentFlow;\n let program = this.program;\n\n // handle static arrays\n let contextualClass = contextualType.getClass();\n if (contextualClass && contextualClass.extendsPrototype(program.staticArrayPrototype)) {\n return this.compileStaticArrayLiteral(expression, contextualType, constraints);\n }\n\n // handle normal arrays\n let element = this.resolver.lookupExpression(expression, flow, this.currentType);\n if (!element) return module.unreachable();\n assert(element.kind == ElementKind.Class);\n let arrayInstance = element;\n let arrayType = arrayInstance.type;\n let elementType = arrayInstance.getTypeArgumentsTo(program.arrayPrototype)![0];\n let arrayBufferInstance = assert(program.arrayBufferInstance);\n\n // block those here so compiling expressions doesn't conflict\n let tempThis = flow.getTempLocal(this.options.usizeType);\n let tempDataStart = flow.getTempLocal(arrayBufferInstance.type);\n\n // compile value expressions and find out whether all are constant\n let expressions = expression.elementExpressions;\n let length = expressions.length;\n let values = new Array(length);\n let isStatic = !elementType.isExternalReference;\n for (let i = 0; i < length; ++i) {\n let elementExpression = expressions[i];\n if (elementExpression.kind != NodeKind.Omitted) {\n let expr = this.compileExpression(elementExpression, elementType, Constraints.ConvImplicit);\n if (getExpressionType(expr) != elementType.toRef()) {\n isStatic = false;\n } else {\n let precomp = module.runExpression(expr, ExpressionRunnerFlags.PreserveSideeffects);\n if (precomp) {\n expr = precomp;\n } else {\n isStatic = false;\n }\n }\n values[i] = expr;\n } else {\n values[i] = this.makeZero(elementType);\n }\n }\n\n // if the array is static, make a static arraybuffer segment\n if (isStatic) {\n let totalOverhead = program.totalOverhead;\n let bufferSegment = this.addStaticBuffer(elementType, values);\n let bufferAddress = i64_add(bufferSegment.offset, i64_new(totalOverhead));\n\n // make both the buffer and array header static if assigned to a global. this can't be done\n // if inside of a function because each invocation must create a new array reference then.\n if (constraints & Constraints.PreferStatic) {\n let arraySegment = this.addStaticArrayHeader(elementType, bufferSegment);\n let arrayAddress = i64_add(arraySegment.offset, i64_new(totalOverhead));\n this.currentType = arrayType;\n return program.options.isWasm64\n ? this.module.i64(i64_low(arrayAddress), i64_high(arrayAddress))\n : this.module.i32(i64_low(arrayAddress));\n\n // otherwise allocate a new array header and make it wrap a copy of the static buffer\n } else {\n return this.makeNewArray(arrayInstance, length, bufferAddress, expression);\n }\n }\n\n // otherwise compile an explicit instantiation with indexed sets\n let indexedSet = arrayInstance.lookupOverload(OperatorKind.IndexedSet, true);\n if (!indexedSet) {\n this.error(\n DiagnosticCode.Index_signature_in_type_0_only_permits_reading,\n expression.range, arrayInstance.internalName\n );\n this.currentType = arrayType;\n return module.unreachable();\n }\n let arrayTypeRef = arrayType.toRef();\n\n let stmts = new Array();\n // tempThis = __newArray(length, alignLog2, classId, source = 0)\n stmts.push(\n module.local_set(tempThis.index,\n this.makeNewArray(arrayInstance, length, i64_new(0), expression),\n arrayType.isManaged\n )\n );\n // tempData = tempThis.dataStart\n let dataStartMember = assert(arrayInstance.getMember(\"dataStart\"));\n assert(dataStartMember.kind == ElementKind.PropertyPrototype);\n // is a field, so should have been resolved during class finalization\n let dataStartProperty = (dataStartMember).instance;\n if (!dataStartProperty) return module.unreachable();\n assert(dataStartProperty.isField && dataStartProperty.memoryOffset >= 0);\n stmts.push(\n module.local_set(tempDataStart.index,\n module.load(arrayType.byteSize, false,\n module.local_get(tempThis.index, arrayTypeRef),\n arrayTypeRef,\n dataStartProperty.memoryOffset\n ),\n true // ArrayBuffer\n )\n );\n for (let i = 0; i < length; ++i) {\n // this[i] = value\n stmts.push(\n module.call(indexedSet.internalName, [\n module.local_get(tempThis.index, arrayTypeRef),\n module.i32(i),\n values[i]\n ], TypeRef.None)\n );\n }\n // -> tempThis\n stmts.push(\n module.local_get(tempThis.index, arrayTypeRef)\n );\n if (length) this.compileFunction(indexedSet);\n this.currentType = arrayType;\n return module.flatten(stmts, arrayTypeRef);\n }\n\n /** Makes a new array instance from a static buffer segment. */\n private makeNewArray(\n /** Concrete array class. */\n arrayInstance: Class,\n /** Length of the array. */\n length: i32,\n /** Source address to copy from. Array is zeroed if `0`. */\n source: i64,\n /** Report node. */\n reportNode: Node\n ): ExpressionRef {\n let program = this.program;\n let module = this.module;\n assert(!arrayInstance.extendsPrototype(program.staticArrayPrototype));\n let elementType = arrayInstance.getArrayValueType(); // asserts\n\n // __newArray(length, alignLog2, classId, staticBuffer)\n let expr = this.makeCallDirect(program.newArrayInstance, [\n module.i32(length),\n program.options.isWasm64\n ? module.i64(elementType.alignLog2)\n : module.i32(elementType.alignLog2),\n module.i32(arrayInstance.id),\n program.options.isWasm64\n ? module.i64(i64_low(source), i64_high(source))\n : module.i32(i64_low(source))\n ], reportNode);\n this.currentType = arrayInstance.type;\n return expr;\n }\n\n /** Compiles a special `fixed` array literal. */\n private compileStaticArrayLiteral(\n expression: ArrayLiteralExpression,\n contextualType: Type,\n constraints: Constraints\n ): ExpressionRef {\n let module = this.module;\n let flow = this.currentFlow;\n let program = this.program;\n\n // make sure this method is only called with a valid contextualType\n let arrayInstance = assert(contextualType.getClass());\n let arrayType = arrayInstance.type;\n let typeArguments = assert(arrayInstance.getTypeArgumentsTo(program.staticArrayPrototype));\n let elementType = typeArguments[0];\n\n // block those here so compiling expressions doesn't conflict\n let tempThis = flow.getTempLocal(this.options.usizeType);\n\n // compile value expressions and check if all are compile-time constants\n let expressions = expression.elementExpressions;\n let length = expressions.length;\n let values = new Array(length);\n let isStatic = !elementType.isExternalReference;\n for (let i = 0; i < length; ++i) {\n let elementExpression = expressions[i];\n if (elementExpression.kind != NodeKind.Omitted) {\n let expr = this.compileExpression(elementExpression, elementType, Constraints.ConvImplicit);\n let precomp = module.runExpression(expr, ExpressionRunnerFlags.PreserveSideeffects);\n if (precomp) {\n expr = precomp;\n } else {\n isStatic = false;\n }\n values[i] = expr;\n } else {\n values[i] = this.makeZero(elementType);\n }\n }\n\n let isWasm64 = this.options.isWasm64;\n let bufferSize = values.length << elementType.alignLog2;\n\n // if the array is static, make a static arraybuffer segment\n if (isStatic) {\n let bufferSegment = this.addStaticBuffer(elementType, values, arrayInstance.id);\n let bufferAddress = i64_add(bufferSegment.offset, i64_new(program.totalOverhead));\n\n // return the static buffer directly if assigned to a global\n if (constraints & Constraints.PreferStatic) {\n let expr = this.options.isWasm64\n ? module.i64(i64_low(bufferAddress), i64_high(bufferAddress))\n : module.i32(i64_low(bufferAddress));\n this.currentType = arrayType;\n return expr;\n\n // otherwise allocate a new chunk of memory and return a copy of the buffer\n } else {\n // __newBuffer(bufferSize, id, buffer)\n let expr = this.makeCallDirect(program.newBufferInstance, [\n isWasm64\n ? module.i64(bufferSize)\n : module.i32(bufferSize),\n module.i32(arrayInstance.id),\n isWasm64\n ? module.i64(i64_low(bufferAddress), i64_high(bufferAddress))\n : module.i32(i64_low(bufferAddress))\n ], expression);\n this.currentType = arrayType;\n return expr;\n }\n }\n\n // otherwise compile an explicit instantiation with indexed sets\n let indexedSet = arrayInstance.lookupOverload(OperatorKind.IndexedSet, true);\n if (!indexedSet) {\n this.error(\n DiagnosticCode.Index_signature_in_type_0_only_permits_reading,\n expression.range, arrayInstance.internalName\n );\n this.currentType = arrayType;\n return module.unreachable();\n }\n let arrayTypeRef = arrayType.toRef();\n\n let stmts = new Array();\n // tempThis = __newBuffer(bufferSize, classId)\n stmts.push(\n module.local_set(tempThis.index,\n this.makeCallDirect(program.newBufferInstance, [\n isWasm64\n ? module.i64(bufferSize)\n : module.i32(bufferSize),\n module.i32(arrayInstance.id)\n ], expression),\n arrayType.isManaged\n )\n );\n for (let i = 0; i < length; ++i) {\n // array[i] = value\n stmts.push(\n module.call(indexedSet.internalName, [\n module.local_get(tempThis.index, arrayTypeRef),\n module.i32(i),\n values[i]\n ], TypeRef.None)\n );\n }\n // -> tempThis\n stmts.push(\n module.local_get(tempThis.index, arrayTypeRef)\n );\n if (length) this.compileFunction(indexedSet);\n this.currentType = arrayType;\n return module.flatten(stmts, arrayTypeRef);\n }\n\n private compileObjectLiteral(expression: ObjectLiteralExpression, contextualType: Type): ExpressionRef {\n let module = this.module;\n\n // Check that contextual type is a class (TODO: hidden class for interfaces?)\n let classReference = contextualType.getClass();\n if (!classReference) {\n this.error(\n DiagnosticCode.Type_0_is_not_assignable_to_type_1,\n expression.range, \"\", contextualType.toString()\n );\n return module.unreachable();\n }\n let classType = classReference.type;\n this.currentType = classType.nonNullableType;\n if (classReference.kind == ElementKind.Interface) {\n this.error(\n DiagnosticCode.Not_implemented_0,\n expression.range, \"Interface hidden classes\"\n );\n return module.unreachable();\n }\n if (classReference.is(CommonFlags.Abstract)) {\n this.error(\n DiagnosticCode.Cannot_create_an_instance_of_an_abstract_class,\n expression.range\n );\n return module.unreachable();\n }\n\n // Check that the class is compatible with object literals\n let ctorPrototype = classReference.prototype.constructorPrototype;\n if (ctorPrototype) {\n this.errorRelated(\n DiagnosticCode.Class_0_cannot_declare_a_constructor_when_instantiated_from_an_object_literal,\n expression.range, ctorPrototype.identifierNode.range, classType.toString()\n );\n return module.unreachable();\n }\n\n let isManaged = classType.isManaged;\n if (!isManaged) {\n this.checkUnsafe(expression, findDecorator(DecoratorKind.Unmanaged, classReference.decoratorNodes));\n }\n\n // check and compile field values\n let names = expression.names;\n let numNames = names.length;\n let values = expression.values;\n let members = classReference.members;\n let hasErrors = false;\n let exprs = new Array();\n let flow = this.currentFlow;\n let tempLocal = flow.getTempLocal(classType);\n let classTypeRef = classType.toRef();\n assert(numNames == values.length);\n\n // Assume all class fields will be omitted, and add them to our omitted list\n let omittedFields = new Set();\n if (members) {\n for (let _keys = Map_keys(members), i = 0, k = _keys.length; i < k; ++i) {\n let memberKey = _keys[i];\n let member = assert(members.get(memberKey));\n if (member && member.kind == ElementKind.PropertyPrototype) {\n // only interested in fields (resolved during class finalization)\n let property = (member).instance;\n if (property && property.isField) {\n omittedFields.add(property); // incl. private/protected\n }\n }\n }\n }\n\n // Iterate through the members defined in our expression\n let deferredProperties = new Array();\n for (let i = 0; i < numNames; ++i) {\n let memberName = names[i].text;\n let member = classReference.getMember(memberName);\n if (!member || member.kind != ElementKind.PropertyPrototype) {\n this.error(\n DiagnosticCode.Property_0_does_not_exist_on_type_1,\n names[i].range, memberName, classType.toString()\n );\n hasErrors = true;\n continue;\n }\n if (member.is(CommonFlags.Private)) {\n this.error(\n DiagnosticCode.Property_0_is_private_and_only_accessible_within_class_1,\n names[i].range, memberName, classType.toString()\n );\n hasErrors = true;\n continue;\n }\n if (member.is(CommonFlags.Protected)) {\n this.error(\n DiagnosticCode.Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses,\n names[i].range, memberName, classType.toString()\n );\n hasErrors = true;\n continue;\n }\n let propertyInstance = this.resolver.resolveProperty(member);\n if (!propertyInstance) continue;\n let setterInstance = propertyInstance.setterInstance;\n if (!setterInstance) {\n this.error(\n DiagnosticCode.Cannot_assign_to_0_because_it_is_a_constant_or_a_read_only_property,\n names[i].range, memberName, classType.toString()\n );\n hasErrors = true;\n continue;\n }\n\n // This member is no longer omitted, so delete from our omitted fields\n omittedFields.delete(propertyInstance);\n\n // Defer real properties to be set after fields are initialized\n if (!propertyInstance.isField) {\n deferredProperties.push(propertyInstance);\n continue;\n }\n\n let propertyType = propertyInstance.type;\n let expr = this.makeCallDirect(setterInstance, [\n module.local_get(tempLocal.index, classTypeRef),\n this.compileExpression(values[i], propertyType, Constraints.ConvImplicit),\n ], setterInstance.identifierNode, true);\n if (this.currentType != Type.void) { // in case\n expr = module.drop(expr);\n }\n exprs.push(expr);\n }\n\n // Call deferred real property setters after\n for (let i = 0, k = deferredProperties.length; i < k; ++i) {\n let propertyInstance = deferredProperties[i];\n let setterInstance = assert(propertyInstance.setterInstance);\n exprs.push(\n this.makeCallDirect(setterInstance, [\n module.local_get(tempLocal.index, classTypeRef),\n this.compileExpression(values[i], propertyInstance.type, Constraints.ConvImplicit)\n ], setterInstance.identifierNode)\n );\n }\n\n this.currentType = classType.nonNullableType;\n if (hasErrors) return module.unreachable();\n\n // Check remaining omitted fields\n for (let _values = Set_values(omittedFields), j = 0, l = _values.length; j < l; ++j) {\n let propertyInstance = _values[j];\n assert(propertyInstance.isField);\n let propertyType = propertyInstance.type;\n\n if (propertyInstance.initializerNode) {\n continue; // set by generated ctor\n }\n\n if (propertyType.isReference) {\n if (!propertyType.isNullableReference) {\n this.error(\n DiagnosticCode.Property_0_is_missing_in_type_1_but_required_in_type_2,\n expression.range, propertyInstance.name, \"\", classType.toString()\n );\n hasErrors = true;\n continue;\n }\n }\n\n switch (propertyType.kind) {\n // Number Types (and Number alias types)\n case TypeKind.Bool:\n case TypeKind.I8:\n case TypeKind.I16:\n case TypeKind.I32:\n case TypeKind.I64:\n case TypeKind.Isize:\n case TypeKind.U8:\n case TypeKind.U16:\n case TypeKind.U32:\n case TypeKind.U64:\n case TypeKind.Usize:\n case TypeKind.F32:\n case TypeKind.F64: {\n // Can store zeroes directly (no need to __link)\n exprs.push(\n module.store(\n propertyType.byteSize,\n module.local_get(tempLocal.index, classTypeRef),\n this.makeZero(propertyType),\n propertyType.toRef(),\n propertyInstance.memoryOffset\n )\n );\n continue;\n }\n }\n\n // Otherwise error\n this.error(\n DiagnosticCode.Property_0_is_missing_in_type_1_but_required_in_type_2,\n expression.range, propertyInstance.name, \"\", classType.toString()\n );\n hasErrors = true;\n }\n if (hasErrors) return module.unreachable();\n\n // generate the default constructor\n let ctor = this.ensureConstructor(classReference, expression);\n // note that this is not checking field initialization within the ctor, but\n // instead checks conditions above with provided fields taken into account.\n\n // allocate a new instance first and assign 'this' to the temp. local\n exprs.unshift(\n module.local_set(tempLocal.index,\n this.compileInstantiate(ctor, [], Constraints.None, expression),\n classType.isManaged\n )\n );\n\n // once all field values have been set, return 'this'\n exprs.push(\n module.local_get(tempLocal.index, classTypeRef)\n );\n\n this.currentType = classType.nonNullableType;\n return module.flatten(exprs, classTypeRef);\n }\n\n private compileNewExpression(\n expression: NewExpression,\n contextualType: Type,\n constraints: Constraints\n ): ExpressionRef {\n let module = this.module;\n let flow = this.currentFlow;\n\n // obtain the class being instantiated\n let target = this.resolver.resolveTypeName(expression.typeName, flow, flow.sourceFunction);\n if (!target) return module.unreachable();\n if (target.kind != ElementKind.ClassPrototype) {\n this.error(\n DiagnosticCode.This_expression_is_not_constructable,\n expression.typeName.range\n );\n return this.module.unreachable();\n }\n if (target.is(CommonFlags.Abstract)) {\n this.error(\n DiagnosticCode.Cannot_create_an_instance_of_an_abstract_class,\n expression.typeName.range\n );\n return this.module.unreachable();\n }\n let classPrototype = target;\n let classInstance: Class | null = null;\n let typeArguments = expression.typeArguments;\n let classReference: Class | null;\n if (\n !typeArguments &&\n (classReference = contextualType.classReference) &&\n classReference.prototype == classPrototype &&\n classReference.is(CommonFlags.Generic)\n ) {\n // e.g. `arr: Array = new Array()`\n classInstance = this.resolver.resolveClass(\n classPrototype,\n classReference.typeArguments,\n cloneMap(flow.contextualTypeArguments)\n );\n } else {\n classInstance = this.resolver.resolveClassInclTypeArguments(\n classPrototype,\n typeArguments,\n flow,\n flow.sourceFunction.parent, // relative to caller\n cloneMap(flow.contextualTypeArguments),\n expression\n );\n }\n if (!classInstance) return module.unreachable();\n if (contextualType == Type.void) constraints |= Constraints.WillDrop;\n let ctor = this.ensureConstructor(classInstance, expression);\n if (!ctor.hasDecorator(DecoratorFlags.Inline)) {\n // Inlined ctors haven't been compiled yet and are checked upon inline\n // compilation of their body instead.\n this.checkFieldInitialization(classInstance, expression);\n }\n return this.compileInstantiate(ctor, expression.args, constraints, expression);\n }\n\n /** Gets the compiled constructor of the specified class or generates one if none is present. */\n ensureConstructor(\n /** Class wanting a constructor. */\n classInstance: Class,\n /** Report node. */\n reportNode: Node\n ): Function {\n let instance = classInstance.constructorInstance;\n if (instance) {\n // shortcut if already compiled\n if (instance.is(CommonFlags.Compiled)) return instance;\n // do not attempt to compile if inlined anyway\n if (!instance.hasDecorator(DecoratorFlags.Inline)) this.compileFunction(instance);\n } else {\n // clone base constructor if a derived class. note that we cannot just\n // call the base ctor since the derived class may have additional fields.\n let baseClass = classInstance.base;\n let contextualTypeArguments = cloneMap(classInstance.contextualTypeArguments);\n if (baseClass) {\n let baseCtor = this.ensureConstructor(baseClass, reportNode);\n this.checkFieldInitialization(baseClass, reportNode);\n instance = new Function(\n CommonNames.constructor,\n new FunctionPrototype(\n CommonNames.constructor,\n classInstance,\n // declaration is important, i.e. to access optional parameter initializers\n (baseCtor.declaration).clone()\n ),\n null,\n Signature.create(\n this.program,\n baseCtor.signature.parameterTypes,\n classInstance.type,\n classInstance.type,\n baseCtor.signature.requiredParameters,\n baseCtor.signature.hasRest\n ),\n contextualTypeArguments\n );\n\n // otherwise make a default constructor\n } else {\n instance = new Function(\n CommonNames.constructor,\n new FunctionPrototype(\n CommonNames.constructor,\n classInstance, // bound\n this.program.makeNativeFunctionDeclaration(CommonNames.constructor,\n CommonFlags.Instance | CommonFlags.Constructor\n )\n ),\n null,\n Signature.create(this.program, [], classInstance.type, classInstance.type),\n contextualTypeArguments\n );\n }\n\n instance.set(CommonFlags.Compiled);\n instance.prototype.setResolvedInstance(\"\", instance);\n if (classInstance.is(CommonFlags.ModuleExport)) {\n instance.set(CommonFlags.ModuleExport);\n }\n classInstance.constructorInstance = instance;\n let members = classInstance.members;\n if (!members) classInstance.members = members = new Map();\n members.set(\"constructor\", instance.prototype);\n\n let previousFlow = this.currentFlow;\n let flow = instance.flow;\n this.currentFlow = flow;\n\n // generate body\n let signature = instance.signature;\n let module = this.module;\n let sizeTypeRef = this.options.sizeTypeRef;\n let stmts = new Array();\n\n // {\n // this = \n // IF_DERIVED: this = super(this, ...args)\n // this.a = X\n // this.b = Y\n // return this\n // }\n stmts.push(\n this.makeConditionalAllocation(classInstance, 0)\n );\n if (baseClass) {\n let parameterTypes = signature.parameterTypes;\n let numParameters = parameterTypes.length;\n let operands = new Array(1 + numParameters);\n operands[0] = module.local_get(0, sizeTypeRef);\n for (let i = 1; i <= numParameters; ++i) {\n operands[i] = module.local_get(i, parameterTypes[i - 1].toRef());\n }\n stmts.push(\n module.local_set(0,\n this.makeCallDirect(assert(baseClass.constructorInstance), operands, reportNode, false),\n baseClass.type.isManaged\n )\n );\n }\n this.makeFieldInitializationInConstructor(classInstance, stmts);\n stmts.push(\n module.local_get(0, sizeTypeRef)\n );\n this.currentFlow = previousFlow;\n\n // make the function\n let locals = instance.localsByIndex;\n let varTypes = new Array(); // of temp. vars added while compiling initializers\n let numOperands = 1 + signature.parameterTypes.length;\n let numLocals = locals.length;\n if (numLocals > numOperands) {\n for (let i = numOperands; i < numLocals; ++i) varTypes.push(locals[i].type.toRef());\n }\n let funcRef = module.addFunction(\n instance.internalName,\n signature.paramRefs,\n signature.resultRefs,\n varTypes,\n module.flatten(stmts, sizeTypeRef)\n );\n instance.finalize(module, funcRef);\n }\n\n return instance;\n }\n\n /** Checks that all class fields have been initialized. */\n checkFieldInitialization(classInstance: Class, relatedNode: Node | null = null): void {\n if (classInstance.didCheckFieldInitialization) return;\n classInstance.didCheckFieldInitialization = true;\n let ctor = assert(classInstance.constructorInstance);\n this.checkFieldInitializationInFlow(classInstance, ctor.flow, relatedNode);\n }\n\n /** Checks that all class fields have been initialized in the specified flow. */\n checkFieldInitializationInFlow(classInstance: Class, flow: Flow, relatedNode: Node | null = null): void {\n let members = classInstance.members;\n if (members) {\n for (let _values = Map_values(members), i = 0, k = _values.length; i < k; ++i) {\n let element = _values[i];\n if (element.kind != ElementKind.PropertyPrototype || element.parent != classInstance) continue;\n // only interested in fields (resolved during class finalization)\n let property = (element).instance;\n if (!property || !property.isField) continue;\n if (!property.initializerNode && !flow.isThisFieldFlag(property, FieldFlags.Initialized)) {\n if (!property.is(CommonFlags.DefinitelyAssigned)) {\n if (relatedNode) {\n this.errorRelated(\n DiagnosticCode.Property_0_has_no_initializer_and_is_not_assigned_in_the_constructor_before_this_is_used_or_returned,\n property.declaration.name.range,\n relatedNode.range,\n property.internalName\n );\n } else {\n this.error(\n DiagnosticCode.Property_0_has_no_initializer_and_is_not_assigned_in_the_constructor_before_this_is_used_or_returned,\n property.declaration.name.range,\n property.internalName\n );\n }\n }\n } else if (property.is(CommonFlags.DefinitelyAssigned)) {\n if (property.type.isReference) {\n this.warning( // involves a runtime check\n DiagnosticCode.Property_0_is_always_assigned_before_being_used,\n property.identifierNode.range,\n property.internalName\n );\n } else {\n this.pedantic( // is a nop anyway\n DiagnosticCode.Unnecessary_definite_assignment,\n property.identifierNode.range\n );\n }\n }\n }\n }\n }\n\n compileInstantiate(\n /** Constructor to call. */\n ctorInstance: Function,\n /** Constructor arguments. */\n argumentExpressions: Expression[],\n /** Contextual flags. */\n constraints: Constraints,\n /** Node to report on. */\n reportNode: Node\n ): ExpressionRef {\n assert(ctorInstance.is(CommonFlags.Constructor));\n let parent = ctorInstance.parent;\n assert(parent.kind == ElementKind.Class);\n let classInstance = parent;\n if (classInstance.type.isUnmanaged || ctorInstance.hasDecorator(DecoratorFlags.Unsafe)) this.checkUnsafe(reportNode);\n let expr = this.compileCallDirect(\n ctorInstance,\n argumentExpressions,\n reportNode,\n this.makeZero(this.options.usizeType),\n constraints\n );\n if (getExpressionType(expr) != TypeRef.None) { // possibly WILL_DROP\n this.currentType = classInstance.type; // important because a super ctor could be called\n }\n return expr;\n }\n\n private compilePropertyAccessExpression(\n expression: PropertyAccessExpression,\n ctxType: Type,\n constraints: Constraints\n ): ExpressionRef {\n let module = this.module;\n let flow = this.currentFlow;\n\n this.maybeCompileEnclosingSource(expression);\n\n let resolver = this.resolver;\n let target = resolver.lookupExpression(expression, flow, ctxType); // reports\n if (!target) return module.unreachable();\n let thisExpression = resolver.currentThisExpression;\n if (target.hasDecorator(DecoratorFlags.Unsafe)) this.checkUnsafe(expression);\n\n switch (target.kind) {\n case ElementKind.Global: { // static field\n let global = target;\n if (!this.compileGlobalLazy(global, expression)) {\n return module.unreachable();\n }\n let globalType = global.type;\n assert(globalType != Type.void);\n if (this.pendingElements.has(global)) {\n this.error(\n DiagnosticCode.Variable_0_used_before_its_declaration,\n expression.range,\n global.internalName\n );\n this.currentType = globalType;\n return module.unreachable();\n }\n if (global.is(CommonFlags.Inlined)) {\n return this.compileInlineConstant(global, ctxType, constraints);\n }\n let expr = module.global_get(global.internalName, globalType.toRef());\n if (global.is(CommonFlags.DefinitelyAssigned) && globalType.isReference && !globalType.isNullableReference) {\n expr = this.makeRuntimeNonNullCheck(expr, globalType, expression);\n }\n this.currentType = globalType;\n return expr;\n }\n case ElementKind.EnumValue: { // enum value\n let enumValue = target;\n let parent = assert(enumValue.parent);\n assert(parent.kind == ElementKind.Enum);\n let parentEnum = parent;\n if (!this.compileEnum(parentEnum)) {\n this.currentType = Type.i32;\n return this.module.unreachable();\n }\n this.currentType = Type.i32;\n if (enumValue.is(CommonFlags.Inlined)) {\n assert(enumValue.constantValueKind == ConstantValueKind.Integer);\n return this.compileInlineConstant(enumValue, ctxType, constraints);\n }\n assert(enumValue.type == Type.i32);\n return module.global_get(enumValue.internalName, TypeRef.I32);\n }\n case ElementKind.PropertyPrototype: {\n let propertyPrototype = target;\n let propertyInstance = this.resolver.resolveProperty(propertyPrototype);\n if (!propertyInstance) return module.unreachable();\n target = propertyInstance;\n // fall-through\n }\n case ElementKind.Property: {\n let propertyInstance = target;\n if (propertyInstance.isField) {\n if (\n flow.sourceFunction.is(CommonFlags.Constructor) &&\n assert(thisExpression).kind == NodeKind.This &&\n !flow.isThisFieldFlag(propertyInstance, FieldFlags.Initialized) &&\n !propertyInstance.is(CommonFlags.DefinitelyAssigned)\n ) {\n this.errorRelated(\n DiagnosticCode.Property_0_is_used_before_being_assigned,\n expression.range,\n propertyInstance.identifierNode.range,\n propertyInstance.internalName\n );\n }\n }\n let getterInstance = propertyInstance.getterInstance;\n if (!getterInstance) return module.unreachable(); // failed earlier\n let thisArg: ExpressionRef = 0;\n if (getterInstance.is(CommonFlags.Instance)) {\n thisArg = this.compileExpression(\n assert(thisExpression),\n assert(getterInstance.signature.thisType),\n Constraints.ConvImplicit | Constraints.IsThis\n );\n }\n return this.compileCallDirect(getterInstance, [], expression, thisArg);\n }\n case ElementKind.FunctionPrototype: {\n let functionPrototype = target;\n let typeParameterNodes = functionPrototype.typeParameterNodes;\n\n if (typeParameterNodes && typeParameterNodes.length != 0) {\n this.error(\n DiagnosticCode.Type_argument_expected,\n expression.range\n );\n break; // also diagnose 'not a value at runtime'\n }\n\n let functionInstance = this.resolver.resolveFunction(functionPrototype, null);\n if (!functionInstance) return module.unreachable();\n if (!this.compileFunction(functionInstance)) return module.unreachable();\n this.currentType = functionInstance.type;\n\n if (functionInstance.hasDecorator(DecoratorFlags.Builtin)) {\n this.error(\n DiagnosticCode.Not_implemented_0,\n expression.range, \"First-class built-ins\"\n );\n return module.unreachable();\n }\n\n let offset = this.ensureRuntimeFunction(functionInstance);\n return this.options.isWasm64\n ? module.i64(i64_low(offset), i64_high(offset))\n : module.i32(i64_low(offset));\n }\n }\n this.error(\n DiagnosticCode.Expression_does_not_compile_to_a_value_at_runtime,\n expression.range\n );\n return this.module.unreachable();\n }\n\n private compileTernaryExpression(\n expression: TernaryExpression,\n contextualType: Type,\n constraints: Constraints\n ): ExpressionRef {\n let module = this.module;\n let ifThen = expression.ifThen;\n let ifElse = expression.ifElse;\n\n let condExpr = this.compileExpression(expression.condition, Type.bool);\n let condExprTrueish = this.makeIsTrueish(condExpr, this.currentType, expression.condition);\n // Try to eliminate unnecesssary branches if the condition is constant\n // FIXME: skips common denominator, inconsistently picking branch type\n let condKind = this.evaluateCondition(condExprTrueish);\n if (condKind == ConditionKind.True) {\n return module.maybeDropCondition(condExprTrueish, this.compileExpression(ifThen, contextualType));\n }\n if (condKind == ConditionKind.False) {\n return module.maybeDropCondition(condExprTrueish, this.compileExpression(ifElse, contextualType));\n }\n\n let outerFlow = this.currentFlow;\n let ifThenFlow = outerFlow.forkThen(condExpr);\n this.currentFlow = ifThenFlow;\n let ifThenExpr = this.compileExpression(ifThen, contextualType);\n let ifThenType = this.currentType;\n\n let ifElseFlow = outerFlow.forkElse(condExpr);\n this.currentFlow = ifElseFlow;\n let ifElseExpr = this.compileExpression(ifElse, contextualType == Type.auto ? ifThenType : contextualType);\n let ifElseType = this.currentType;\n\n if (contextualType == Type.void) { // values, including type mismatch, are irrelevant\n if (ifThenType != Type.void) {\n ifThenExpr = module.drop(ifThenExpr);\n ifThenType = Type.void;\n }\n if (ifElseType != Type.void) {\n ifElseExpr = module.drop(ifElseExpr);\n ifElseType = Type.void;\n }\n this.currentType = Type.void;\n } else {\n let commonType = Type.commonType(ifThenType, ifElseType, contextualType);\n if (!commonType) {\n this.error(\n DiagnosticCode.Type_0_is_not_assignable_to_type_1,\n ifElse.range, ifElseType.toString(), ifThenType.toString()\n );\n this.currentType = contextualType;\n return module.unreachable();\n }\n ifThenExpr = this.convertExpression(ifThenExpr, ifThenType, commonType, false, ifThen);\n ifThenType = commonType;\n ifElseExpr = this.convertExpression(ifElseExpr, ifElseType, commonType, false, ifElse);\n ifElseType = commonType;\n this.currentType = commonType;\n }\n\n outerFlow.inheritAlternatives(ifThenFlow, ifElseFlow);\n this.currentFlow = outerFlow;\n\n return module.if(condExprTrueish, ifThenExpr, ifElseExpr);\n }\n\n private compileUnaryPostfixExpression(\n expression: UnaryPostfixExpression,\n contextualType: Type,\n constraints: Constraints\n ): ExpressionRef {\n let module = this.module;\n let flow = this.currentFlow;\n\n // make a getter for the expression (also obtains the type)\n let getValue = this.compileExpression( // reports\n expression.operand,\n contextualType.exceptVoid,\n Constraints.None\n );\n\n // if the value isn't dropped, a temp. local is required to remember the original value,\n // except if a static overload is found, which reverses the use of a temp. (see below)\n let tempLocal: Local | null = null;\n if (contextualType != Type.void) {\n tempLocal = flow.getTempLocal(this.currentType);\n getValue = module.local_tee(\n tempLocal.index,\n getValue,\n this.currentType.isManaged\n );\n }\n\n let expr: ExpressionRef;\n\n switch (expression.operator) {\n case Token.Plus_Plus: {\n\n // check operator overload\n let classReference = this.currentType.getClassOrWrapper(this.program);\n if (classReference) {\n let overload = classReference.lookupOverload(OperatorKind.PostfixInc);\n if (overload) {\n let isInstance = overload.is(CommonFlags.Instance);\n if (tempLocal && !isInstance) { // revert: static overload simply returns\n getValue = getLocalSetValue(getValue);\n tempLocal = null;\n }\n expr = this.compileUnaryOverload(overload, expression.operand, getValue, expression);\n if (isInstance) break;\n return expr; // here\n }\n }\n if (!this.currentType.isValue) {\n this.error(\n DiagnosticCode.The_0_operator_cannot_be_applied_to_type_1,\n expression.range, \"++\", this.currentType.toString()\n );\n return module.unreachable();\n }\n\n switch (this.currentType.kind) {\n case TypeKind.Bool:\n case TypeKind.I8:\n case TypeKind.I16:\n case TypeKind.I32:\n case TypeKind.U8:\n case TypeKind.U16:\n case TypeKind.U32: {\n expr = module.binary(\n BinaryOp.AddI32,\n getValue,\n module.i32(1)\n );\n break;\n }\n case TypeKind.I64:\n case TypeKind.U64: {\n expr = module.binary(\n BinaryOp.AddI64,\n getValue,\n module.i64(1)\n );\n break;\n }\n case TypeKind.Isize:\n case TypeKind.Usize: {\n expr = module.binary(\n BinaryOp.AddSize,\n getValue,\n this.makeOne(this.currentType)\n );\n break;\n }\n case TypeKind.F32: {\n expr = module.binary(\n BinaryOp.AddF32,\n getValue,\n module.f32(1)\n );\n break;\n }\n case TypeKind.F64: {\n expr = module.binary(\n BinaryOp.AddF64,\n getValue,\n module.f64(1)\n );\n break;\n }\n default: {\n this.error(\n DiagnosticCode.The_0_operator_cannot_be_applied_to_type_1,\n expression.range, \"++\", this.currentType.toString()\n );\n return module.unreachable();\n }\n }\n break;\n }\n case Token.Minus_Minus: {\n\n // check operator overload\n let classReference = this.currentType.getClassOrWrapper(this.program);\n if (classReference) {\n let overload = classReference.lookupOverload(OperatorKind.PostfixDec);\n if (overload) {\n let isInstance = overload.is(CommonFlags.Instance);\n if (tempLocal && !isInstance) { // revert: static overload simply returns\n getValue = getLocalSetValue(getValue);\n tempLocal = null;\n }\n expr = this.compileUnaryOverload(overload, expression.operand, getValue, expression);\n if (overload.is(CommonFlags.Instance)) break;\n return expr; // here\n }\n }\n if (!this.currentType.isValue) {\n this.error(\n DiagnosticCode.The_0_operator_cannot_be_applied_to_type_1,\n expression.range, \"--\", this.currentType.toString()\n );\n return module.unreachable();\n }\n\n switch (this.currentType.kind) {\n case TypeKind.Bool:\n case TypeKind.I8:\n case TypeKind.I16:\n case TypeKind.I32:\n case TypeKind.U8:\n case TypeKind.U16:\n case TypeKind.U32: {\n expr = module.binary(\n BinaryOp.SubI32,\n getValue,\n module.i32(1)\n );\n break;\n }\n case TypeKind.I64:\n case TypeKind.U64: {\n expr = module.binary(\n BinaryOp.SubI64,\n getValue,\n module.i64(1)\n );\n break;\n }\n case TypeKind.Isize:\n case TypeKind.Usize: {\n expr = module.binary(\n BinaryOp.SubSize,\n getValue,\n this.makeOne(this.currentType)\n );\n break;\n }\n case TypeKind.F32: {\n expr = module.binary(\n BinaryOp.SubF32,\n getValue,\n module.f32(1)\n );\n break;\n }\n case TypeKind.F64: {\n expr = module.binary(\n BinaryOp.SubF64,\n getValue,\n module.f64(1)\n );\n break;\n }\n default: {\n this.error(\n DiagnosticCode.The_0_operator_cannot_be_applied_to_type_1,\n expression.range, \"--\", this.currentType.toString()\n );\n return module.unreachable();\n }\n }\n break;\n }\n default: {\n assert(false);\n return module.unreachable();\n }\n }\n\n let resolver = this.resolver;\n let target = resolver.lookupExpression(expression.operand, flow); // reports\n if (!target) {\n return module.unreachable();\n }\n\n // simplify if dropped anyway\n if (!tempLocal) {\n return this.makeAssignment(\n target,\n expr,\n this.currentType,\n expression.operand,\n resolver.currentThisExpression,\n resolver.currentElementExpression,\n false\n );\n }\n\n // otherwise use the temp. local for the intermediate value (always possibly overflows)\n let setValue = this.makeAssignment(\n target,\n expr, // includes a tee of getValue to tempLocal\n this.currentType,\n expression.operand,\n resolver.currentThisExpression,\n resolver.currentElementExpression,\n false\n );\n\n this.currentType = tempLocal.type;\n let typeRef = tempLocal.type.toRef();\n\n return module.block(null, [\n setValue,\n module.local_get(tempLocal.index, typeRef)\n ], typeRef); // result of 'x++' / 'x--' might overflow\n }\n\n private compileUnaryPrefixExpression(\n expression: UnaryPrefixExpression,\n contextualType: Type,\n constraints: Constraints\n ): ExpressionRef {\n let module = this.module;\n let compound = false;\n let expr: ExpressionRef;\n\n switch (expression.operator) {\n case Token.Plus: {\n expr = this.compileExpression(\n expression.operand,\n contextualType.exceptVoid,\n Constraints.None\n );\n\n // check operator overload\n let classReference = this.currentType.getClassOrWrapper(this.program);\n if (classReference) {\n let overload = classReference.lookupOverload(OperatorKind.Plus);\n if (overload) return this.compileUnaryOverload(overload, expression.operand, expr, expression);\n }\n if (!this.currentType.isValue) {\n this.error(\n DiagnosticCode.The_0_operator_cannot_be_applied_to_type_1,\n expression.range, \"+\", this.currentType.toString()\n );\n return module.unreachable();\n }\n\n // nop\n break;\n }\n case Token.Minus: {\n let operand = expression.operand;\n if (operand.isNumericLiteral) {\n // implicitly negate integer and float literals. also enables proper checking of literal ranges.\n expr = this.compileLiteralExpression(operand, contextualType, Constraints.None, true);\n // compileExpression normally does this:\n if (this.options.sourceMap) this.addDebugLocation(expr, expression.range);\n break;\n }\n\n expr = this.compileExpression(\n expression.operand,\n contextualType.exceptVoid,\n Constraints.None\n );\n\n // check operator overload\n let classReference = this.currentType.getClassOrWrapper(this.program);\n if (classReference) {\n let overload = classReference.lookupOverload(OperatorKind.Minus);\n if (overload) return this.compileUnaryOverload(overload, expression.operand, expr, expression);\n }\n if (!this.currentType.isValue) {\n this.error(\n DiagnosticCode.The_0_operator_cannot_be_applied_to_type_1,\n expression.range, \"-\", this.currentType.toString()\n );\n return module.unreachable();\n }\n\n switch (this.currentType.kind) {\n case TypeKind.Bool:\n case TypeKind.I8:\n case TypeKind.I16:\n case TypeKind.I32:\n case TypeKind.U8:\n case TypeKind.U16:\n case TypeKind.U32: {\n expr = module.binary(BinaryOp.SubI32, module.i32(0), expr);\n break;\n }\n case TypeKind.I64:\n case TypeKind.U64: {\n expr = module.binary(BinaryOp.SubI64, module.i64(0), expr);\n break;\n }\n case TypeKind.Isize:\n case TypeKind.Usize: {\n expr = module.binary(\n BinaryOp.SubSize,\n this.makeZero(this.currentType),\n expr\n );\n break;\n }\n case TypeKind.F32: {\n expr = module.unary(UnaryOp.NegF32, expr);\n break;\n }\n case TypeKind.F64: {\n expr = module.unary(UnaryOp.NegF64, expr);\n break;\n }\n default: {\n this.error(\n DiagnosticCode.The_0_operator_cannot_be_applied_to_type_1,\n expression.range, \"-\", this.currentType.toString()\n );\n expr = module.unreachable();\n }\n }\n break;\n }\n case Token.Plus_Plus: {\n compound = true;\n expr = this.compileExpression(\n expression.operand,\n contextualType.exceptVoid,\n Constraints.None\n );\n\n // check operator overload\n let classReference = this.currentType.getClassOrWrapper(this.program);\n if (classReference) {\n let overload = classReference.lookupOverload(OperatorKind.PrefixInc);\n if (overload) {\n expr = this.compileUnaryOverload(overload, expression.operand, expr, expression);\n if (overload.is(CommonFlags.Instance)) break; // re-assign\n return expr; // skip re-assign\n }\n }\n if (!this.currentType.isValue) {\n this.error(\n DiagnosticCode.The_0_operator_cannot_be_applied_to_type_1,\n expression.range, \"++\", this.currentType.toString()\n );\n return module.unreachable();\n }\n\n switch (this.currentType.kind) {\n case TypeKind.Bool:\n case TypeKind.I8:\n case TypeKind.I16:\n case TypeKind.I32:\n case TypeKind.U8:\n case TypeKind.U16:\n case TypeKind.U32: {\n expr = module.binary(BinaryOp.AddI32, expr, this.module.i32(1));\n break;\n }\n case TypeKind.I64:\n case TypeKind.U64: {\n expr = module.binary(BinaryOp.AddI64, expr, module.i64(1));\n break;\n }\n case TypeKind.Isize:\n case TypeKind.Usize: {\n expr = module.binary(\n BinaryOp.AddSize,\n expr,\n this.makeOne(this.currentType)\n );\n break;\n }\n case TypeKind.F32: {\n expr = module.binary(BinaryOp.AddF32, expr, module.f32(1));\n break;\n }\n case TypeKind.F64: {\n expr = module.binary(BinaryOp.AddF64, expr, module.f64(1));\n break;\n }\n default: {\n this.error(\n DiagnosticCode.The_0_operator_cannot_be_applied_to_type_1,\n expression.range, \"++\", this.currentType.toString()\n );\n expr = module.unreachable();\n }\n }\n break;\n }\n case Token.Minus_Minus: {\n compound = true;\n expr = this.compileExpression(\n expression.operand,\n contextualType.exceptVoid,\n Constraints.None\n );\n\n // check operator overload\n let classReference = this.currentType.getClassOrWrapper(this.program);\n if (classReference) {\n let overload = classReference.lookupOverload(OperatorKind.PrefixDec);\n if (overload) {\n expr = this.compileUnaryOverload(overload, expression.operand, expr, expression);\n if (overload.is(CommonFlags.Instance)) break; // re-assign\n return expr; // skip re-assign\n }\n }\n if (!this.currentType.isValue) {\n this.error(\n DiagnosticCode.The_0_operator_cannot_be_applied_to_type_1,\n expression.range, \"--\", this.currentType.toString()\n );\n return module.unreachable();\n }\n\n switch (this.currentType.kind) {\n case TypeKind.Bool:\n case TypeKind.I8:\n case TypeKind.I16:\n case TypeKind.I32:\n case TypeKind.U8:\n case TypeKind.U16:\n case TypeKind.U32: {\n expr = module.binary(BinaryOp.SubI32, expr, module.i32(1));\n break;\n }\n case TypeKind.I64:\n case TypeKind.U64: {\n expr = module.binary(BinaryOp.SubI64, expr, module.i64(1));\n break;\n }\n case TypeKind.Isize:\n case TypeKind.Usize: {\n expr = module.binary(\n BinaryOp.SubSize,\n expr,\n this.makeOne(this.currentType)\n );\n break;\n }\n case TypeKind.F32: {\n expr = module.binary(BinaryOp.SubF32, expr, module.f32(1));\n break;\n }\n case TypeKind.F64: {\n expr = module.binary(BinaryOp.SubF64, expr, module.f64(1));\n break;\n }\n default: {\n this.error(\n DiagnosticCode.The_0_operator_cannot_be_applied_to_type_1,\n expression.range, \"--\", this.currentType.toString()\n );\n expr = module.unreachable();\n }\n }\n break;\n }\n case Token.Exclamation: {\n expr = this.compileExpression(\n expression.operand,\n contextualType.exceptVoid,\n Constraints.None\n );\n\n // check operator overload\n let classReference = this.currentType.getClassOrWrapper(this.program);\n if (classReference) {\n let overload = classReference.lookupOverload(OperatorKind.Not);\n if (overload) return this.compileUnaryOverload(overload, expression.operand, expr, expression);\n // fall back to compare by value\n }\n\n expr = module.unary(UnaryOp.EqzI32, this.makeIsTrueish(expr, this.currentType, expression.operand));\n this.currentType = Type.bool;\n break;\n }\n case Token.Tilde: {\n expr = this.compileExpression(\n expression.operand,\n contextualType == Type.void\n ? Type.i32\n : contextualType.isFloatValue\n ? Type.i64\n : contextualType,\n Constraints.None\n );\n\n // check operator overload\n let classReference = this.currentType.getClassOrWrapper(this.program);\n if (classReference) {\n let overload = classReference.lookupOverload(OperatorKind.BitwiseNot);\n if (overload) return this.compileUnaryOverload(overload, expression.operand, expr, expression);\n }\n if (!this.currentType.isValue) {\n this.error(\n DiagnosticCode.The_0_operator_cannot_be_applied_to_type_1,\n expression.range, \"~\", this.currentType.toString()\n );\n return module.unreachable();\n }\n\n expr = this.convertExpression(expr, this.currentType, this.currentType.intType, false, expression.operand);\n\n switch (this.currentType.kind) {\n case TypeKind.Bool:\n case TypeKind.I8:\n case TypeKind.I16:\n case TypeKind.I32:\n case TypeKind.U8:\n case TypeKind.U16:\n case TypeKind.U32: {\n expr = module.binary(BinaryOp.XorI32, expr, module.i32(-1));\n break;\n }\n case TypeKind.I64:\n case TypeKind.U64: {\n expr = module.binary(BinaryOp.XorI64, expr, module.i64(-1, -1));\n break;\n }\n case TypeKind.Isize:\n case TypeKind.Usize: {\n expr = module.binary(\n BinaryOp.XorSize,\n expr,\n this.makeNegOne(this.currentType)\n );\n break;\n }\n default: {\n this.error(\n DiagnosticCode.The_0_operator_cannot_be_applied_to_type_1,\n expression.range, \"~\", this.currentType.toString()\n );\n expr = module.unreachable();\n }\n }\n break;\n }\n case Token.TypeOf: {\n return this.compileTypeof(expression, contextualType, constraints);\n }\n case Token.Dot_Dot_Dot: {\n this.error(\n DiagnosticCode.Not_implemented_0,\n expression.range, \"Spread operator\"\n );\n return module.unreachable();\n }\n default: {\n assert(false);\n return module.unreachable();\n }\n }\n if (!compound) return expr;\n let resolver = this.resolver;\n let target = resolver.lookupExpression(expression.operand, this.currentFlow);\n if (!target) return module.unreachable();\n return this.makeAssignment(\n target,\n expr,\n this.currentType,\n expression.operand,\n resolver.currentThisExpression,\n resolver.currentElementExpression,\n contextualType != Type.void\n );\n }\n\n private compileTypeof(\n expression: UnaryPrefixExpression,\n contextualType: Type,\n constraints: Constraints\n ): ExpressionRef {\n let operand = expression.operand;\n let expr: ExpressionRef = 0;\n let stringInstance = this.program.stringInstance;\n let typeString: string;\n if (operand.kind == NodeKind.Null) {\n typeString = \"object\"; // special since `null` without type context is usize\n } else {\n let element = this.resolver.lookupExpression(operand, this.currentFlow, Type.auto, ReportMode.Swallow);\n if (!element) {\n switch (operand.kind) {\n case NodeKind.Identifier: break; // ignore error: typeof doesntExist -> undefined\n case NodeKind.PropertyAccess:\n case NodeKind.ElementAccess: {\n operand = operand.kind == NodeKind.PropertyAccess\n ? (operand).expression\n : (operand).expression;\n let targetType = this.resolver.resolveExpression(operand, this.currentFlow, Type.auto, ReportMode.Report);\n if (!targetType) { // access on non-object\n this.currentType = stringInstance.type;\n return this.module.unreachable();\n }\n // fall-through\n }\n default: {\n expr = this.compileExpression(operand, Type.auto); // may trigger an error\n expr = this.convertExpression(expr, this.currentType, Type.void, true, operand);\n }\n }\n typeString = \"undefined\";\n } else {\n switch (element.kind) {\n case ElementKind.ClassPrototype:\n case ElementKind.Namespace:\n case ElementKind.Enum: {\n typeString = \"object\";\n break;\n }\n case ElementKind.FunctionPrototype: {\n typeString = \"function\";\n break;\n }\n default: {\n expr = this.compileExpression(operand, Type.auto);\n let type = this.currentType;\n expr = this.convertExpression(expr, type, Type.void, true, operand);\n if (type.isReference) {\n let signatureReference = type.getSignature();\n if (signatureReference) {\n typeString = \"function\";\n } else {\n let classReference = type.getClass();\n if (classReference) {\n if (classReference.prototype == stringInstance.prototype) {\n typeString = \"string\";\n } else {\n typeString = \"object\";\n }\n } else {\n typeString = \"externref\"; // TODO?\n }\n }\n } else if (type == Type.bool) {\n typeString = \"boolean\";\n } else if (type.isNumericValue) {\n typeString = \"number\";\n } else {\n typeString = \"undefined\"; // failed to compile?\n }\n break;\n }\n }\n }\n }\n this.currentType = stringInstance.type;\n return expr\n ? this.module.block(null, [ expr, this.ensureStaticString(typeString) ], this.options.sizeTypeRef)\n : this.ensureStaticString(typeString);\n }\n\n /** Makes sure that a 32-bit integer value is wrapped to a valid value of the specified type. */\n ensureSmallIntegerWrap(expr: ExpressionRef, type: Type): ExpressionRef {\n let module = this.module;\n let flow = this.currentFlow;\n switch (type.kind) {\n case TypeKind.Bool: {\n if (flow.canOverflow(expr, type)) {\n // bool is special in that it compares to 0 instead of masking with 0x1\n expr = module.binary(BinaryOp.NeI32,\n expr,\n module.i32(0)\n );\n }\n break;\n }\n case TypeKind.I8: {\n if (flow.canOverflow(expr, type)) {\n expr = this.options.hasFeature(Feature.SignExtension)\n ? module.unary(UnaryOp.Extend8I32, expr)\n : module.binary(BinaryOp.ShrI32,\n module.binary(BinaryOp.ShlI32,\n expr,\n module.i32(24)\n ),\n module.i32(24)\n );\n }\n break;\n }\n case TypeKind.I16: {\n if (flow.canOverflow(expr, type)) {\n expr = this.options.hasFeature(Feature.SignExtension)\n ? module.unary(UnaryOp.Extend16I32, expr)\n : module.binary(BinaryOp.ShrI32,\n module.binary(BinaryOp.ShlI32,\n expr,\n module.i32(16)\n ),\n module.i32(16)\n );\n }\n break;\n }\n case TypeKind.U8: {\n if (flow.canOverflow(expr, type)) {\n expr = module.binary(BinaryOp.AndI32,\n expr,\n module.i32(0xff)\n );\n }\n break;\n }\n case TypeKind.U16: {\n if (flow.canOverflow(expr, type)) {\n expr = module.binary(BinaryOp.AndI32,\n expr,\n module.i32(0xffff)\n );\n }\n break;\n }\n }\n return expr;\n }\n\n /** Adds the debug location of the specified expression at the specified range to the source map. */\n addDebugLocation(expr: ExpressionRef, range: Range): void {\n let targetFunction = this.currentFlow.targetFunction;\n let source = range.source;\n if (source.debugInfoIndex < 0) source.debugInfoIndex = this.module.addDebugInfoFile(source.normalizedPath);\n // It's possible that an `expr` is seen multiple times, for example when\n // first adding debug information for an inner expression and later on for\n // an expression supposedly wrapping it, where the wrapping became a noop.\n targetFunction.debugLocations.set(expr, range);\n }\n\n /** Checks whether a particular function signature is supported. */\n checkSignatureSupported(signature: Signature, reportNode: FunctionTypeNode): bool {\n let supported = true;\n let explicitThisType = reportNode.explicitThisType;\n if (explicitThisType) {\n if (!this.program.checkTypeSupported(assert(signature.thisType), explicitThisType)) {\n supported = false;\n }\n }\n let parameterTypes = signature.parameterTypes;\n let parameterNodes = reportNode.parameters;\n for (let i = 0, k = parameterTypes.length; i < k; ++i) {\n let parameterReportNode: Node;\n if (parameterNodes.length > i) parameterReportNode = parameterNodes[i];\n else parameterReportNode = reportNode;\n if (!this.program.checkTypeSupported(parameterTypes[i], parameterReportNode)) {\n supported = false;\n }\n }\n if (!this.program.checkTypeSupported(signature.returnType, reportNode.returnType)) {\n supported = false;\n }\n return supported;\n }\n\n /** Evaluates a boolean condition, determining whether it is TRUE, FALSE or UNKNOWN. */\n evaluateCondition(expr: ExpressionRef): ConditionKind {\n let type = getExpressionType(expr);\n if (type == TypeRef.Unreachable)\n return ConditionKind.Unknown;\n\n assert(type == TypeRef.I32);\n let module = this.module;\n let evaled = module.runExpression(expr, ExpressionRunnerFlags.Default);\n if (evaled) {\n return getConstValueI32(evaled)\n ? ConditionKind.True\n : ConditionKind.False;\n }\n return ConditionKind.Unknown;\n }\n\n // === Specialized code generation ==============================================================\n\n /** Makes a constant zero of the specified type. */\n makeZero(type: Type): ExpressionRef {\n let module = this.module;\n switch (type.kind) {\n default: assert(false);\n case TypeKind.Bool:\n case TypeKind.I8:\n case TypeKind.I16:\n case TypeKind.I32:\n case TypeKind.U8:\n case TypeKind.U16:\n case TypeKind.U32: return module.i32(0);\n case TypeKind.Isize:\n case TypeKind.Usize: if (type.size != 64) return module.i32(0);\n case TypeKind.I64:\n case TypeKind.U64: return module.i64(0);\n case TypeKind.F32: return module.f32(0);\n case TypeKind.F64: return module.f64(0);\n case TypeKind.V128: return module.v128(v128_zero);\n case TypeKind.Func:\n case TypeKind.Extern:\n case TypeKind.Any:\n case TypeKind.Eq:\n case TypeKind.Struct:\n case TypeKind.Array:\n case TypeKind.String:\n case TypeKind.StringviewWTF8:\n case TypeKind.StringviewWTF16:\n case TypeKind.StringviewIter: {\n if (type.is(TypeFlags.Nullable)) return module.ref_null(type.toRef());\n assert(false); // TODO: check that refs are nullable in callers?\n return module.unreachable();\n }\n case TypeKind.I31: {\n if (type.is(TypeFlags.Nullable)) return module.ref_null(type.toRef());\n return module.i31_new(module.i32(0));\n }\n }\n }\n\n /** Makes a constant one of the specified type. */\n makeOne(type: Type): ExpressionRef {\n let module = this.module;\n switch (type.kind) {\n default: assert(false);\n case TypeKind.Bool:\n case TypeKind.I8:\n case TypeKind.I16:\n case TypeKind.I32:\n case TypeKind.U8:\n case TypeKind.U16:\n case TypeKind.U32: return module.i32(1);\n case TypeKind.Isize:\n case TypeKind.Usize: if (type.size != 64) return module.i32(1);\n case TypeKind.I64:\n case TypeKind.U64: return module.i64(1);\n case TypeKind.F32: return module.f32(1);\n case TypeKind.F64: return module.f64(1);\n case TypeKind.I31: return module.i31_new(module.i32(1));\n }\n }\n\n /** Makes a constant negative one of the specified type. */\n makeNegOne(type: Type): ExpressionRef {\n let module = this.module;\n switch (type.kind) {\n default: assert(false);\n case TypeKind.I8:\n case TypeKind.I16:\n case TypeKind.I32:\n case TypeKind.U8:\n case TypeKind.U16:\n case TypeKind.U32: return module.i32(-1);\n case TypeKind.Isize:\n case TypeKind.Usize: if (type.size != 64) return module.i32(-1);\n case TypeKind.I64:\n case TypeKind.U64: return module.i64(-1, -1);\n case TypeKind.F32: return module.f32(-1);\n case TypeKind.F64: return module.f64(-1);\n case TypeKind.V128: return module.v128(v128_ones);\n case TypeKind.I31: return module.i31_new(module.i32(-1));\n }\n }\n\n /** Creates a comparison whether an expression is 'true' in a broader sense. */\n makeIsTrueish(expr: ExpressionRef, type: Type, reportNode: Node): ExpressionRef {\n let module = this.module;\n switch (type.kind) {\n case TypeKind.I8:\n case TypeKind.I16:\n case TypeKind.U8:\n case TypeKind.U16: {\n expr = this.ensureSmallIntegerWrap(expr, type);\n // fall-through\n }\n case TypeKind.Bool: // not a mask, just != 0\n case TypeKind.I32:\n case TypeKind.U32: return expr;\n case TypeKind.I64:\n case TypeKind.U64: return module.binary(BinaryOp.NeI64, expr, module.i64(0));\n case TypeKind.Isize:\n case TypeKind.Usize: {\n return type.size == 64\n ? module.binary(BinaryOp.NeI64, expr, module.i64(0))\n : expr;\n }\n case TypeKind.F32: {\n let options = this.options;\n if (\n options.shrinkLevelHint > 1 &&\n options.hasFeature(Feature.NontrappingF2I)\n ) {\n // Use more compact but slower 5-byte (3 bytes in best case) approach\n // !!(i32.trunc_sat_f32_u(f32.ceil(f32.abs(x))))\n return module.unary(UnaryOp.EqzI32,\n module.unary(UnaryOp.EqzI32,\n module.unary(UnaryOp.TruncSatF32ToU32,\n module.unary(UnaryOp.CeilF32,\n module.unary(UnaryOp.AbsF32, expr)\n )\n )\n )\n );\n } else {\n // 0 < abs(bitCast(x)) <= bitCast(Infinity) or\n // (reinterpret(x) & 0x7FFFFFFF) - 1 <= 0x7F800000 - 1\n //\n // and finally:\n // (reinterpret(x) << 1) - (1 << 1) <= ((0x7F800000 - 1) << 1)\n return module.binary(BinaryOp.LeU32,\n module.binary(BinaryOp.SubI32,\n module.binary(BinaryOp.ShlI32,\n module.unary(UnaryOp.ReinterpretF32ToI32, expr),\n module.i32(1)\n ),\n module.i32(2) // 1 << 1\n ),\n module.i32(0xFEFFFFFE) // (0x7F800000 - 1) << 1\n );\n }\n }\n case TypeKind.F64: {\n let options = this.options;\n if (\n options.shrinkLevelHint > 1 &&\n options.hasFeature(Feature.NontrappingF2I)\n ) {\n // Use more compact but slower 5-byte (3 bytes in best case) approach\n // !!(i32.trunc_sat_f64_u(f64.ceil(f64.abs(x))))\n return module.unary(UnaryOp.EqzI32,\n module.unary(UnaryOp.EqzI32,\n module.unary(UnaryOp.TruncSatF64ToU32,\n module.unary(UnaryOp.CeilF64,\n module.unary(UnaryOp.AbsF64, expr)\n )\n )\n )\n );\n } else {\n // 0 < abs(bitCast(x)) <= bitCast(Infinity) or\n // (reinterpret(x) & 0x7FFFFFFFFFFFFFFF) - 1 <= 0x7FF0000000000000 - 1\n //\n // and finally:\n // (reinterpret(x) << 1) - (1 << 1) <= ((0x7FF0000000000000 - 1) << 1)\n return module.binary(BinaryOp.LeU64,\n module.binary(BinaryOp.SubI64,\n module.binary(BinaryOp.ShlI64,\n module.unary(UnaryOp.ReinterpretF64ToI64, expr),\n module.i64(1)\n ),\n module.i64(2) // 1 << 1\n ),\n module.i64(0xFFFFFFFE, 0xFFDFFFFF) // (0x7FF0000000000000 - 1) << 1\n );\n }\n }\n case TypeKind.V128: {\n return module.unary(UnaryOp.AnyTrueV128, expr);\n }\n case TypeKind.Func:\n case TypeKind.Extern:\n case TypeKind.Any:\n case TypeKind.Eq:\n case TypeKind.Struct:\n case TypeKind.Array:\n case TypeKind.I31:\n case TypeKind.String:\n case TypeKind.StringviewWTF8:\n case TypeKind.StringviewWTF16:\n case TypeKind.StringviewIter: {\n // Needs to be true (i.e. not zero) when the ref is _not_ null,\n // which means `ref.is_null` returns false (i.e. zero).\n return module.unary(UnaryOp.EqzI32, module.ref_is_null(expr));\n }\n case TypeKind.Void:\n default: {\n this.error(\n DiagnosticCode.An_expression_of_type_0_cannot_be_tested_for_truthiness,\n reportNode.range, type.toString()\n );\n return module.i32(0);\n }\n }\n }\n\n /** Makes a string conversion of the given expression. */\n makeToString(expr: ExpressionRef, type: Type, reportNode: Node): ExpressionRef {\n let stringType = this.program.stringInstance.type;\n if (type == stringType) {\n return expr;\n }\n let classType = type.getClassOrWrapper(this.program);\n if (classType) {\n let toStringInstance = classType.getMethod(\"toString\");\n if (toStringInstance) {\n let toStringSignature = toStringInstance.signature;\n if (!this.checkCallSignature( // reports\n toStringSignature,\n 0,\n true,\n reportNode\n )) {\n this.currentType = stringType;\n return this.module.unreachable();\n }\n if (!type.isStrictlyAssignableTo(assert(toStringSignature.thisType))) {\n this.errorRelated(\n DiagnosticCode.The_this_types_of_each_signature_are_incompatible,\n reportNode.range, toStringInstance.identifierAndSignatureRange\n );\n this.currentType = stringType;\n return this.module.unreachable();\n }\n let toStringReturnType = toStringSignature.returnType;\n if (!toStringReturnType.isStrictlyAssignableTo(stringType)) {\n this.errorRelated(\n DiagnosticCode.Type_0_is_not_assignable_to_type_1,\n reportNode.range, toStringInstance.identifierAndSignatureRange, toStringReturnType.toString(), stringType.toString()\n );\n this.currentType = stringType;\n return this.module.unreachable();\n }\n return this.makeCallDirect(toStringInstance, [ expr ], reportNode);\n }\n }\n this.error(\n DiagnosticCode.Type_0_is_not_assignable_to_type_1,\n reportNode.range, type.toString(), stringType.toString()\n );\n this.currentType = stringType;\n return this.module.unreachable();\n }\n\n /** Makes an allocation suitable to hold the data of an instance of the given class. */\n makeAllocation(\n classInstance: Class\n ): ExpressionRef {\n let program = this.program;\n assert(classInstance.program == program);\n let module = this.module;\n let options = this.options;\n this.currentType = classInstance.type;\n if (classInstance.hasDecorator(DecoratorFlags.Unmanaged)) {\n let allocInstance = program.allocInstance;\n this.compileFunction(allocInstance);\n return module.call(allocInstance.internalName, [\n options.isWasm64\n ? module.i64(classInstance.nextMemoryOffset)\n : module.i32(classInstance.nextMemoryOffset)\n ], options.sizeTypeRef);\n } else {\n let newInstance = program.newInstance;\n this.compileFunction(newInstance);\n return module.call(newInstance.internalName, [\n options.isWasm64\n ? module.i64(classInstance.nextMemoryOffset)\n : module.i32(classInstance.nextMemoryOffset),\n module.i32(classInstance.id)\n ], options.sizeTypeRef);\n }\n }\n\n /** Makes a conditional allocation where `this` might not have been initialized yet. */\n makeConditionalAllocation(\n classInstance: Class,\n thisIndex: i32\n ): ExpressionRef {\n let module = this.module;\n let classType = classInstance.type;\n let classTypeRef = classType.toRef();\n assert(classTypeRef == this.options.sizeTypeRef);\n return module.if(\n module.unary(classTypeRef == TypeRef.I64 ? UnaryOp.EqzI64 : UnaryOp.EqzI32,\n module.local_get(thisIndex, classTypeRef)\n ),\n module.local_set(thisIndex,\n this.makeAllocation(classInstance),\n classInstance.type.isManaged\n )\n );\n }\n\n /** Makes the initializers for a class's fields within the constructor. */\n makeFieldInitializationInConstructor(\n /** Class being initialized. */\n classInstance: Class,\n /** Statements to append to also being returned. Created if omitted. */\n stmts: ExpressionRef[] = []\n ): ExpressionRef[] {\n let members = classInstance.members;\n if (!members) return stmts;\n\n let module = this.module;\n let flow = this.currentFlow;\n let isInline = flow.isInline;\n let thisLocalIndex = isInline ? flow.lookupLocal(CommonNames.this_)!.index : 0;\n let sizeTypeRef = this.options.sizeTypeRef;\n let nonParameterFields: Property[] | null = null;\n\n // TODO: for (let member of members.values()) {\n for (let _values = Map_values(members), i = 0, k = _values.length; i < k; ++i) {\n let member = unchecked(_values[i]);\n if (member.kind != ElementKind.PropertyPrototype) continue;\n // only interested in fields (resolved during class finalization)\n let property = (member).instance;\n if (!property || !property.isField || property.getBoundClassOrInterface() != classInstance) continue;\n assert(!property.isAny(CommonFlags.Const));\n let fieldPrototype = property.prototype;\n let parameterIndex = fieldPrototype.parameterIndex;\n\n // Defer non-parameter fields until parameter fields are initialized\n if (parameterIndex < 0) {\n if (!nonParameterFields) nonParameterFields = new Array();\n nonParameterFields.push(property);\n continue;\n }\n\n // Initialize constructor parameter field\n let fieldType = property.type;\n let fieldTypeRef = fieldType.toRef();\n assert(!fieldPrototype.initializerNode);\n let setterInstance = assert(property.setterInstance);\n let expr = this.makeCallDirect(setterInstance, [\n module.local_get(thisLocalIndex, sizeTypeRef),\n module.local_get(\n isInline\n ? flow.lookupLocal(property.name)!.index\n : 1 + parameterIndex, // `this` is local 0\n fieldTypeRef\n )\n ], setterInstance.identifierNode, true);\n if (this.currentType != Type.void) { // in case\n expr = module.drop(expr);\n }\n stmts.push(expr);\n }\n\n // Initialize deferred non-parameter fields\n if (nonParameterFields) {\n for (let i = 0, k = nonParameterFields.length; i < k; ++i) {\n let field = unchecked(nonParameterFields[i]);\n let fieldType = field.type;\n let fieldPrototype = field.prototype;\n let initializerNode = fieldPrototype.initializerNode;\n assert(fieldPrototype.parameterIndex < 0);\n let setterInstance = assert(field.setterInstance);\n let expr = this.makeCallDirect(setterInstance, [\n module.local_get(thisLocalIndex, sizeTypeRef),\n initializerNode // use initializer if present, otherwise initialize with zero\n ? this.compileExpression(initializerNode, fieldType, Constraints.ConvImplicit)\n : this.makeZero(fieldType)\n ], field.identifierNode, true);\n if (this.currentType != Type.void) { // in case\n expr = module.drop(expr);\n }\n stmts.push(expr);\n }\n }\n\n this.currentType = Type.void;\n return stmts;\n }\n\n /** Makes a call to `abort`, if present, otherwise creates a trap. */\n makeAbort(\n /** Message argument of type string, if any. */\n message: Expression | null,\n /** Code location to report when aborting. */\n codeLocation: Node\n ): ExpressionRef {\n let program = this.program;\n let abortInstance = program.abortInstance;\n if (!abortInstance || !this.compileFunction(abortInstance)) return this.module.unreachable();\n\n let stringInstance = program.stringInstance;\n let messageArg: ExpressionRef;\n if (message) {\n messageArg = this.compileExpression(message, stringInstance.type, Constraints.ConvImplicit);\n } else {\n messageArg = this.makeZero(stringInstance.type);\n }\n\n return this.makeStaticAbort(messageArg, codeLocation);\n }\n\n /** Makes a call to `abort`, if present, otherwise creates a trap. */\n makeStaticAbort(\n /** Message argument of type string. May be zero. */\n messageExpr: ExpressionRef,\n /** Code location to report when aborting. */\n codeLocation: Node\n ): ExpressionRef {\n let program = this.program;\n let module = this.module;\n let abortInstance = program.abortInstance;\n if (!abortInstance || !this.compileFunction(abortInstance)) return module.unreachable();\n\n let filenameExpr = this.ensureStaticString(codeLocation.range.source.normalizedPath);\n let range = codeLocation.range;\n let source = range.source;\n return module.block(null, [\n module.call(\n abortInstance.internalName, [\n messageExpr,\n filenameExpr,\n module.i32(source.lineAt(range.start)),\n module.i32(source.columnAt())\n ],\n TypeRef.None\n ),\n module.unreachable()\n ]);\n }\n\n /** Makes a runtime non-null check, e.g. on `possiblyNull` or `possiblyNull!`. */\n makeRuntimeNonNullCheck(\n /** Expression being checked. */\n expr: ExpressionRef,\n /** Type of the expression. */\n type: Type,\n /** Report node. */\n reportNode: Node\n ): ExpressionRef {\n let module = this.module;\n let flow = this.currentFlow;\n let temp = flow.getTempLocal(type);\n let tempIndex = temp.index;\n if (!flow.canOverflow(expr, type)) flow.setLocalFlag(tempIndex, LocalFlags.Wrapped);\n flow.setLocalFlag(tempIndex, LocalFlags.NonNull);\n\n let staticAbortCallExpr = this.makeStaticAbort(\n this.ensureStaticString(\"Unexpected 'null' (not assigned or failed cast)\"),\n reportNode\n ); // TODO: throw\n\n if (type.isExternalReference) {\n let nonNullExpr = module.local_get(tempIndex, type.toRef());\n if (this.options.hasFeature(Feature.GC)) {\n nonNullExpr = module.ref_as_nonnull(nonNullExpr);\n }\n expr = module.if(\n module.ref_is_null(\n module.local_tee(tempIndex, expr, false)\n ),\n staticAbortCallExpr,\n nonNullExpr\n );\n } else {\n expr = module.if(\n module.local_tee(tempIndex, expr, type.isManaged),\n module.local_get(tempIndex, type.toRef()),\n staticAbortCallExpr\n );\n }\n this.currentType = type.nonNullableType;\n return expr;\n }\n\n /** Makes a runtime downcast check, e.g. on `parent`. */\n makeRuntimeDowncastCheck(\n /** Expression being downcast. */\n expr: ExpressionRef,\n /** Type of the expression. */\n type: Type,\n /** Type casting to. */\n toType: Type,\n /** Report node. */\n reportNode: Node\n ): ExpressionRef {\n assert(toType.isReference && toType.nonNullableType.isAssignableTo(type));\n let module = this.module;\n let flow = this.currentFlow;\n let temp = flow.getTempLocal(type);\n let tempIndex = temp.index;\n\n let staticAbortCallExpr = this.makeStaticAbort(\n this.ensureStaticString(\"invalid downcast\"),\n reportNode\n ); // TODO: throw\n\n if (!toType.isNullableReference || flow.isNonnull(expr, type)) {\n // Simplify if the value cannot be `null`. If toType is non-nullable, a\n // null-check would have been emitted separately so is not necessary here.\n // instanceof(t = expr) ? t : abort()\n expr = module.if(\n module.call(this.prepareInstanceOf(toType.classReference!), [\n module.local_tee(tempIndex, expr, type.isManaged)\n ], TypeRef.I32),\n module.local_get(tempIndex, type.toRef()),\n staticAbortCallExpr\n );\n } else {\n // !(t = expr) ? 0 : instanceof(t) ? t : abort()\n expr = module.if(\n module.unary(\n UnaryOp.EqzI32,\n module.local_tee(tempIndex, expr, type.isManaged)\n ),\n module.usize(0),\n module.if(\n module.call(this.prepareInstanceOf(toType.classReference!), [\n module.local_get(tempIndex, type.toRef()),\n ], TypeRef.I32),\n module.local_get(tempIndex, type.toRef()),\n staticAbortCallExpr\n )\n );\n }\n this.currentType = toType;\n return expr;\n }\n}\n\n// helpers\n\nfunction mangleImportName(\n element: Element,\n declaration: DeclarationStatement\n): void {\n // by default, use the file name as the module name\n mangleImportName_moduleName = declaration.range.source.simplePath;\n // and the internal name of the element within that file as the element name\n mangleImportName_elementName = mangleInternalName(\n element.name, element.parent, element.is(CommonFlags.Instance), true\n );\n // override module name if a `module` statement is present\n let overriddenModuleName = declaration.overriddenModuleName;\n if (overriddenModuleName) mangleImportName_moduleName = overriddenModuleName;\n\n if (!element.hasDecorator(DecoratorFlags.External)) return;\n\n let program = element.program;\n let decorator = assert(findDecorator(DecoratorKind.External, declaration.decorators));\n let args = decorator.args;\n if (args && args.length > 0) {\n let arg = args[0];\n // if one argument is given, override just the element name\n // if two arguments are given, override both module and element name\n if (arg.isLiteralKind(LiteralKind.String)) {\n mangleImportName_elementName = (arg).value;\n if (args.length >= 2) {\n arg = args[1];\n if (arg.isLiteralKind(LiteralKind.String)) {\n mangleImportName_moduleName = mangleImportName_elementName;\n mangleImportName_elementName = (arg).value;\n if (args.length > 2) {\n program.error(\n DiagnosticCode.Expected_0_arguments_but_got_1,\n decorator.range, \"2\", args.length.toString()\n );\n }\n } else {\n program.error(\n DiagnosticCode.String_literal_expected,\n arg.range\n );\n }\n }\n } else {\n program.error(\n DiagnosticCode.String_literal_expected,\n arg.range\n );\n }\n } else {\n program.error(\n DiagnosticCode.Expected_at_least_0_arguments_but_got_1,\n decorator.range, \"1\", \"0\"\n );\n }\n}\n", "import {\n Source\n} from \"../ast\";\n\nimport {\n CommonFlags\n} from \"../common\";\n\nimport {\n Global,\n Program,\n Function,\n Class,\n Interface,\n Enum,\n ElementKind,\n Element,\n PropertyPrototype\n} from \"../program\";\n\nimport {\n Type,\n TypeFlags\n} from \"../types\";\n\nimport {\n CharCode,\n escapeString,\n indent, isIdentifier\n} from \"../util\";\n\nimport {\n ExportsWalker\n} from \"./util\";\n\n/** A TypeScript definitions builder. */\nexport class TSDBuilder extends ExportsWalker {\n\n /** Builds TypeScript definitions for the specified program. */\n static build(program: Program, esm: bool = true): string {\n return new TSDBuilder(program, esm).build();\n }\n\n private esm: bool;\n private sb: string[] = [];\n private indentLevel: i32 = 0;\n private seenObjectTypes: Map = new Map();\n private deferredTypings: string[] = new Array();\n\n /** Constructs a new TypeScript definitions builder. */\n constructor(program: Program, esm: bool, includePrivate: bool = false) {\n super(program, includePrivate);\n this.esm = esm;\n }\n\n visitGlobal(name: string, element: Global): void {\n let sb = this.sb;\n let type = element.type;\n let tsType = this.toTypeScriptType(type, Mode.EXPORT);\n indent(sb, this.indentLevel);\n sb.push(\"/** \");\n sb.push(element.internalName);\n sb.push(\" */\\n\");\n indent(sb, this.indentLevel);\n sb.push(\"export \");\n if (this.esm) sb.push(\"declare \");\n sb.push(\"const \");\n sb.push(name);\n sb.push(\": {\\n\");\n indent(sb, ++this.indentLevel);\n sb.push(\"/** @type `\");\n sb.push(type.toString());\n sb.push(\"` */\\n\");\n indent(sb, this.indentLevel);\n sb.push(\"get value(): \");\n sb.push(tsType);\n if (!element.is(CommonFlags.Const)) {\n sb.push(\";\\n\");\n indent(sb, this.indentLevel);\n sb.push(\"set value(value: \");\n sb.push(tsType);\n sb.push(\");\\n\");\n } else {\n sb.push(\"\\n\");\n }\n indent(sb, --this.indentLevel);\n sb.push(\"};\\n\");\n }\n\n visitEnum(name: string, element: Enum): void {\n let sb = this.sb;\n indent(sb, this.indentLevel);\n sb.push(\"/** \");\n sb.push(element.internalName);\n sb.push(\" */\\n\");\n indent(sb, this.indentLevel++);\n sb.push(\"export \");\n if (this.esm) sb.push(\"declare \");\n sb.push(\"enum \");\n sb.push(name);\n sb.push(\" {\\n\");\n let members = element.members;\n if (members) {\n // TODO: for (let [memberName, member] of members) {\n for (let _keys = Map_keys(members), i = 0, k = _keys.length; i < k; ++i) {\n let memberName = unchecked(_keys[i]);\n let member = assert(members.get(memberName));\n if (member.kind != ElementKind.EnumValue) continue;\n indent(sb, this.indentLevel);\n sb.push(\"/** @type `i32` */\\n\");\n indent(sb, this.indentLevel);\n sb.push(memberName);\n sb.push(\",\\n\");\n }\n }\n indent(sb, --this.indentLevel);\n sb.push(\"}\\n\");\n }\n\n visitFunction(name: string, element: Function): void {\n let sb = this.sb;\n let signature = element.signature;\n indent(sb, this.indentLevel);\n sb.push(\"/**\\n\");\n indent(sb, this.indentLevel);\n sb.push(\" * \");\n sb.push(element.internalName);\n sb.push(\"\\n\");\n let parameterTypes = signature.parameterTypes;\n let numParameters = parameterTypes.length;\n for (let i = 0; i < numParameters; ++i) {\n indent(sb, this.indentLevel);\n sb.push(\" * @param \");\n sb.push(element.getParameterName(i));\n sb.push(\" `\");\n sb.push(parameterTypes[i].toString());\n sb.push(\"`\\n\");\n }\n let returnType = signature.returnType;\n if (returnType != Type.void) {\n indent(sb, this.indentLevel);\n sb.push(\" * @returns `\");\n sb.push(returnType.toString());\n sb.push(\"`\\n\");\n }\n indent(sb, this.indentLevel);\n sb.push(\" */\\n\");\n indent(sb, this.indentLevel);\n sb.push(\"export \");\n if (this.esm) sb.push(\"declare \");\n sb.push(\"function \");\n sb.push(name);\n sb.push(\"(\");\n let requiredParameters = signature.requiredParameters;\n for (let i = 0; i < numParameters; ++i) {\n if (i) sb.push(\", \");\n sb.push(element.getParameterName(i));\n if (i >= requiredParameters) sb.push(\"?\");\n sb.push(\": \");\n sb.push(this.toTypeScriptType(parameterTypes[i], Mode.IMPORT));\n }\n sb.push(\"): \");\n sb.push(this.toTypeScriptType(returnType, Mode.EXPORT));\n sb.push(\";\\n\");\n }\n\n visitClass(name: string, element: Class): void {\n // not implemented\n }\n\n visitInterface(name: string, element: Interface): void {\n // not implemented\n }\n\n visitNamespace(name: string, element: Element): void {\n // not implemented\n }\n\n visitAlias(name: string, element: Element, originalName: string): void {\n // not implemented\n }\n\n build(): string {\n let sb = this.sb;\n if (!this.esm) {\n sb.push(\"declare namespace __AdaptedExports {\\n\");\n ++this.indentLevel;\n }\n if (this.program.options.exportMemory) {\n indent(sb, this.indentLevel);\n sb.push(\"/** Exported memory */\\n\");\n indent(sb, this.indentLevel);\n sb.push(`export ${this.esm ? \"declare \" : \"\"}const memory: WebAssembly.Memory;\\n`);\n }\n if (this.program.options.exportTable) {\n indent(sb, this.indentLevel);\n sb.push(\"/** Exported table */\\n\");\n indent(sb, this.indentLevel);\n sb.push(`export ${this.esm ? \"declare \" : \"\"}const table: WebAssembly.Table;\\n`);\n }\n if (this.program.options.exportRuntime) {\n indent(sb, this.indentLevel);\n sb.push(\"// Exported runtime interface\\n\");\n indent(sb, this.indentLevel);\n sb.push(`export ${this.esm ? \"declare \" : \"\"}function __new(size: number, id: number): number;\\n`);\n indent(sb, this.indentLevel);\n sb.push(`export ${this.esm ? \"declare \" : \"\"}function __pin(ptr: number): number;\\n`);\n indent(sb, this.indentLevel);\n sb.push(`export ${this.esm ? \"declare \" : \"\"}function __unpin(ptr: number): void;\\n`);\n indent(sb, this.indentLevel);\n sb.push(`export ${this.esm ? \"declare \" : \"\"}function __collect(): void;\\n`);\n indent(sb, this.indentLevel);\n sb.push(`export ${this.esm ? \"declare \" : \"\"}const __rtti_base: number;\\n`);\n }\n this.walk();\n if (!this.esm) {\n --this.indentLevel;\n sb.push(\"}\\n\");\n }\n let deferredTypes = this.deferredTypings;\n for (let i = 0, k = deferredTypes.length; i < k; ++i) {\n sb.push(deferredTypes[i]);\n }\n if (!this.esm) {\n sb.push(\"/** Instantiates the compiled WebAssembly module with the given imports. */\\n\");\n sb.push(\"export declare function instantiate(module: WebAssembly.Module, imports: {\\n\");\n let moduleImports = this.program.moduleImports;\n for (let _keys = Map_keys(moduleImports), i = 0, k = _keys.length; i < k; ++i) {\n let moduleName = _keys[i];\n sb.push(\" \");\n if (isIdentifier(moduleName)) {\n sb.push(moduleName);\n } else {\n sb.push(\"\\\"\");\n sb.push(escapeString(moduleName, CharCode.DoubleQuote));\n sb.push(\"\\\"\");\n }\n sb.push(\": unknown,\\n\");\n }\n sb.push(\"}): Promise;\\n\");\n }\n return sb.join(\"\");\n }\n\n isPlainObject(clazz: Class): bool {\n // A plain object does not inherit and does not have a constructor or private properties\n if (clazz.base && !clazz.prototype.implicitlyExtendsObject) return false;\n let members = clazz.members;\n if (members) {\n for (let _values = Map_values(members), i = 0, k = _values.length; i < k; ++i) {\n let member = _values[i];\n if (member.isAny(CommonFlags.Private | CommonFlags.Protected)) return false;\n if (member.is(CommonFlags.Constructor)) {\n // a generated constructor is ok\n if (member.declaration.range != Source.native.range) return false;\n }\n }\n }\n return true;\n }\n\n toTypeScriptType(type: Type, mode: Mode): string {\n if (type.isInternalReference) {\n const sb = new Array();\n const clazz = assert(type.getClassOrWrapper(this.program));\n if (clazz.extendsPrototype(this.program.arrayBufferInstance.prototype)) {\n sb.push(\"ArrayBuffer\");\n } else if (clazz.extendsPrototype(this.program.stringInstance.prototype)) {\n sb.push(\"string\");\n } else if (clazz.extendsPrototype(this.program.arrayPrototype)) {\n const valueType = clazz.getArrayValueType();\n sb.push(\"Array<\");\n sb.push(this.toTypeScriptType(valueType, mode));\n sb.push(\">\");\n } else if (clazz.extendsPrototype(this.program.staticArrayPrototype)) {\n const valueType = clazz.getArrayValueType();\n sb.push(\"ArrayLike<\");\n sb.push(this.toTypeScriptType(valueType, mode));\n sb.push(\">\");\n } else if (clazz.extendsPrototype(this.program.arrayBufferViewInstance.prototype)) {\n const valueType = clazz.getArrayValueType();\n if (valueType == Type.i8) {\n sb.push(\"Int8Array\");\n } else if (valueType == Type.u8) {\n if (clazz.extendsPrototype(this.program.uint8ClampedArrayPrototype)) {\n sb.push(\"Uint8ClampedArray\");\n } else {\n sb.push(\"Uint8Array\");\n }\n } else if (valueType == Type.i16) {\n sb.push(\"Int16Array\");\n } else if (valueType == Type.u16) {\n sb.push(\"Uint16Array\");\n } else if (valueType == Type.i32) {\n sb.push(\"Int32Array\");\n } else if (valueType == Type.u32) {\n sb.push(\"Uint32Array\");\n } else if (valueType == Type.i64) {\n sb.push(\"BigInt64Array\");\n } else if (valueType == Type.u64) {\n sb.push(\"BigUint64Array\");\n } else if (valueType == Type.f32) {\n sb.push(\"Float32Array\");\n } else if (valueType == Type.f64) {\n sb.push(\"Float64Array\");\n } else {\n sb.push(\"unknown\");\n }\n } else {\n let seenObjectTypes = this.seenObjectTypes;\n let typeName: string;\n if (seenObjectTypes.has(clazz)) {\n typeName = assert(seenObjectTypes.get(clazz));\n sb.push(typeName);\n if (this.isPlainObject(clazz)) {\n sb.push(mode == Mode.EXPORT ? \"\" : \"\");\n }\n } else {\n let isPlain = this.isPlainObject(clazz);\n typeName = `${isPlain ? \"__Record\" : \"__Internref\"}${clazz.id}`;\n sb.push(typeName);\n seenObjectTypes.set(clazz, typeName);\n if (isPlain) {\n sb.push(mode == Mode.EXPORT ? \"\" : \"\");\n this.deferredTypings.push(this.makeRecordType(clazz, mode));\n } else {\n this.deferredTypings.push(this.makeInternrefType(clazz));\n }\n }\n }\n if (type.is(TypeFlags.Nullable)) {\n sb.push(\" | null\");\n }\n return sb.join(\"\");\n } else {\n if (type == Type.bool) {\n return \"boolean\";\n }\n if (type == Type.void) {\n return \"void\";\n }\n if (type.isNumericValue) {\n if (type.isLongIntegerValue) {\n return \"bigint\";\n }\n return \"number\";\n }\n }\n return \"unknown\";\n }\n\n makeRecordType(clazz: Class, mode: Mode): string {\n let sb = new Array();\n let members = clazz.members;\n sb.push(\"/** \");\n sb.push(clazz.internalName);\n sb.push(\" */\\ndeclare interface __Record\");\n sb.push(clazz.id.toString());\n sb.push(\" {\\n\");\n if (members) {\n for (let _keys = Map_keys(members), i = 0, k = _keys.length; i < k; ++i) {\n let memberName = _keys[i];\n let member = assert(members.get(memberName));\n if (member.kind != ElementKind.PropertyPrototype) continue;\n let property = (member).instance; // resolved during class finalization\n if (!property || !property.isField) continue;\n sb.push(\" /** @type `\");\n sb.push(property.type.toString());\n sb.push(\"` */\\n \");\n sb.push(property.name);\n sb.push(\": \");\n sb.push(this.toTypeScriptType(property.type, mode));\n if (this.fieldAcceptsUndefined(property.type)) {\n sb.push(\" | TOmittable\");\n }\n sb.push(\";\\n\");\n }\n }\n sb.push(\"}\\n\");\n return sb.join(\"\");\n }\n\n fieldAcceptsUndefined(type: Type): bool {\n if (type.isInternalReference) {\n return type.is(TypeFlags.Nullable);\n }\n return true;\n }\n\n makeInternrefType(clazz: Class): string {\n let sb = new Array();\n sb.push(\"/** \");\n sb.push(clazz.internalName);\n sb.push(\" */\\n\");\n sb.push(\"declare class __Internref\");\n sb.push(clazz.id.toString());\n sb.push(\" extends Number {\\n\");\n let base: Class | null = clazz;\n do {\n sb.push(\" private __nominal\");\n sb.push(base.id.toString());\n sb.push(\": symbol;\\n\");\n base = base.base;\n } while (base);\n sb.push(\"}\\n\");\n return sb.join(\"\");\n }\n}\n\n// Helpers\n\nenum Mode {\n IMPORT,\n EXPORT\n}\n", "/**\n * @fileoverview The C-like and re-exported public compiler interface.\n *\n * The intended way to consume the compiler sources is to import this\n * file, which again exports all relevant functions, classes and constants\n * as a flat namespace.\n *\n * Note though that the compiler sources are written in \"portable\n * AssemblyScript\" that can be compiled to both JavaScript with tsc and\n * to WebAssembly with asc, and as such require additional glue code\n * depending on the target.\n *\n * When compiling to JavaScript `glue/js/index.js` must be included.\n * When compiling to WebAssembly `glue/wasm/index.ts` must be included.\n */\n\nimport {\n Target,\n Runtime,\n Feature\n} from \"./common\";\n\nimport {\n Compiler,\n Options,\n UncheckedBehavior,\n defaultFeatures\n} from \"./compiler\";\n\nimport {\n TSDBuilder,\n JSBuilder\n} from \"./bindings\";\n\nimport {\n Range,\n DiagnosticMessage,\n DiagnosticCategory,\n formatDiagnosticMessage\n} from \"./diagnostics\";\n\nimport { Module } from \"./module\";\nimport { Program } from \"./program\";\nimport { Source } from \"./ast\";\n\n// Options\n\n/** Creates a new set of compiler options. */\nexport function newOptions(): Options {\n return new Options();\n}\n\n/** Sets the `target` option. */\nexport function setTarget(options: Options, target: Target): void {\n options.target = target;\n}\n\nexport function setRuntime(options: Options, runtime: Runtime): void {\n options.runtime = runtime;\n}\n\n/** Sets the `noAssert` option. */\nexport function setNoAssert(options: Options, noAssert: bool): void {\n options.noAssert = noAssert;\n}\n\n/** Sets the `exportMemory` option. */\nexport function setExportMemory(options: Options, exportMemory: bool): void {\n options.exportMemory = exportMemory;\n}\n\n/** Sets the `importMemory` option. */\nexport function setImportMemory(options: Options, importMemory: bool): void {\n options.importMemory = importMemory;\n}\n\n/** Sets the `initialMemory` option. */\nexport function setInitialMemory(options: Options, initialMemory: u32): void {\n options.initialMemory = initialMemory;\n}\n\n/** Sets the `maximumMemory` option. */\nexport function setMaximumMemory(options: Options, maximumMemory: u32): void {\n options.maximumMemory = maximumMemory;\n}\n\n/** Sets the `sharedMemory` option. */\nexport function setSharedMemory(options: Options, sharedMemory: bool): void {\n options.sharedMemory = sharedMemory;\n}\n\n/** Sets the `importTable` option. */\nexport function setImportTable(options: Options, importTable: bool): void {\n options.importTable = importTable;\n}\n\n/** Sets the `exportTable` option. */\nexport function setExportTable(options: Options, exportTable: bool): void {\n options.exportTable = exportTable;\n}\n\n/** Sets the `sourceMap` option. */\nexport function setSourceMap(options: Options, sourceMap: bool): void {\n options.sourceMap = sourceMap;\n}\n\n/** Sets the `uncheckedBehavior` option. */\nexport function setUncheckedBehavior(options: Options, uncheckedBehavior: UncheckedBehavior): void {\n options.uncheckedBehavior = uncheckedBehavior;\n}\n\n/** Sets the `memoryBase` option. */\nexport function setMemoryBase(options: Options, memoryBase: u32): void {\n options.memoryBase = memoryBase;\n}\n\n/** Sets the `tableBase` option. */\nexport function setTableBase(options: Options, tableBase: u32): void {\n options.tableBase = tableBase;\n}\n\n/** Adds a 'globalAliases' value. */\nexport function addGlobalAlias(options: Options, alias: string, name: string): void {\n let globalAliases = options.globalAliases;\n if (!globalAliases) options.globalAliases = globalAliases = new Map();\n globalAliases.set(alias, name);\n}\n\n/** Removes a 'globalAliases' value. */\nexport function removeGlobalAlias(options: Options, alias: string): void {\n let globalAliases = options.globalAliases;\n if (globalAliases) globalAliases.delete(alias);\n}\n\n/** Sets the `exportStart` option. */\nexport function setExportStart(options: Options, exportStart: string | null): void {\n options.exportStart = exportStart;\n}\n\n/** Sets the `noUnsafe` option. */\nexport function setNoUnsafe(options: Options, noUnsafe: bool): void {\n options.noUnsafe = noUnsafe;\n}\n\n/** Sets the `lowMemoryLimit` option. */\nexport function setLowMemoryLimit(options: Options, lowMemoryLimit: i32): void {\n options.lowMemoryLimit = lowMemoryLimit;\n}\n\n/** Sets the `exportRuntime` option. */\nexport function setExportRuntime(options: Options, exportRuntime: bool): void {\n options.exportRuntime = exportRuntime;\n}\n\n/** Default stack size. */\nexport const DEFAULT_STACK_SIZE = 32768;\n\n/** Sets the `stackSize` option. */\nexport function setStackSize(options: Options, stackSize: i32): void {\n options.stackSize = stackSize;\n}\n\n/** Sets the bundle semantic version. */\nexport function setBundleVersion(\n options: Options,\n bundleMajorVersion: i32,\n bundleMinorVersion: i32,\n bundlePatchVersion: i32,\n): void {\n options.bundleMajorVersion = bundleMajorVersion;\n options.bundleMinorVersion = bundleMinorVersion;\n options.bundlePatchVersion = bundlePatchVersion;\n}\n\n/** Sign extension operations. */\nexport const FEATURE_SIGN_EXTENSION = Feature.SignExtension;\n/** Mutable global imports and exports. */\nexport const FEATURE_MUTABLE_GLOBALS = Feature.MutableGlobals;\n/** Non-trapping float to int conversion operations. */\nexport const FEATURE_NONTRAPPING_F2I = Feature.NontrappingF2I;\n/** Bulk memory operations. */\nexport const FEATURE_BULK_MEMORY = Feature.BulkMemory;\n/** SIMD types and operations. */\nexport const FEATURE_SIMD = Feature.Simd;\n/** Threading and atomic operations. */\nexport const FEATURE_THREADS = Feature.Threads;\n/** Exception handling operations. */\nexport const FEATURE_EXCEPTION_HANDLING = Feature.ExceptionHandling;\n/** Tail call operations. */\nexport const FEATURE_TAIL_CALLS = Feature.TailCalls;\n/** Reference types. */\nexport const FEATURE_REFERENCE_TYPES = Feature.ReferenceTypes;\n/** Multi value types. */\nexport const FEATURE_MULTI_VALUE = Feature.MultiValue;\n/** Garbage collection. */\nexport const FEATURE_GC = Feature.GC;\n/** Memory64. */\nexport const FEATURE_MEMORY64 = Feature.Memory64;\n/** Relaxed SIMD. */\nexport const FEATURE_RELAXED_SIMD = Feature.RelaxedSimd;\n/** Extended const expressions. */\nexport const FEATURE_EXTENDED_CONST = Feature.ExtendedConst;\n/** String references. */\nexport const FEATURE_STRINGREF = Feature.Stringref;\n/** All features. */\nexport const FEATURES_ALL = Feature.All;\n/** Default features. */\nexport const FEATURES_DEFAULT = defaultFeatures;\n\n/** Sets whether a specific feature is enabled. */\nexport function setFeature(options: Options, feature: Feature, on: bool): void {\n options.setFeature(feature, on);\n}\n\n/** Gives the compiler a hint at the optimize levels that will be used later on. */\nexport function setOptimizeLevelHints(options: Options, optimizeLevel: i32, shrinkLevel: i32): void {\n options.optimizeLevelHint = optimizeLevel;\n options.shrinkLevelHint = shrinkLevel;\n}\n\n/** Gives the compiler a hint of the emitted module's basename. */\nexport function setBasenameHint(options: Options, basename: string): void {\n options.basenameHint = basename;\n}\n\n/** Gives the compiler a hint that bindings will be generated. */\nexport function setBindingsHint(options: Options, bindings: bool): void {\n options.bindingsHint = bindings;\n}\n\n/** Sets the `pedantic` option. */\nexport function setPedantic(options: Options, pedantic: bool): void {\n options.pedantic = pedantic;\n}\n\nexport function setDebugInfo(options: Options, debug: bool): void {\n options.debugInfo = debug;\n}\n\n// Program\n\n/** Creates a new Program. */\nexport function newProgram(options: Options): Program {\n return new Program(options);\n}\n\n/** Obtains the next diagnostic message. Returns `null` once complete. */\nexport function nextDiagnostic(program: Program): DiagnosticMessage | null {\n return program.diagnosticsOffset < program.diagnostics.length\n ? program.diagnostics[program.diagnosticsOffset++]\n : null;\n}\n\n/** Obtains the source of the given file. */\nexport function getSource(program: Program, internalPath: string): string | null {\n return program.getSource(internalPath);\n}\n\n/** Formats a diagnostic message to a string. */\nexport { formatDiagnosticMessage as formatDiagnostic };\n\n/** Gets the code of a diagnostic message. */\nexport function getDiagnosticCode(diagnostic: DiagnosticMessage): i32 {\n return diagnostic.code;\n}\n\n/** Gets the category of a diagnostic message. */\nexport function getDiagnosticCategory(diagnostic: DiagnosticMessage): DiagnosticCategory {\n return diagnostic.category;\n}\n\n/** Gets the textual message of a diagnostic message. */\nexport function getDiagnosticMessage(diagnostic: DiagnosticMessage): string {\n return diagnostic.message;\n}\n\n/** Gets the primary range, if any, of a diagnostic message. */\nexport function getDiagnosticRange(diagnostic: DiagnosticMessage): Range | null {\n return diagnostic.range;\n}\n\n/** Gets the related range, if any, of a diagnostic message. */\nexport function getDiagnosticRelatedRange(diagnostic: DiagnosticMessage): Range | null {\n return diagnostic.relatedRange;\n}\n\n/** Gets a range's start offset. */\nexport function getRangeStart(range: Range): i32 {\n return range.start;\n}\n\n/** Gets a range's end offsset. */\nexport function getRangeEnd(range: Range): i32 {\n return range.end;\n}\n\n/** Gets a range's relevant source. */\nexport function getRangeSource(range: Range): Source {\n return range.source;\n}\n\n/** Gets a source's normalized path. */\nexport function getSourceNormalizedPath(source: Source): string {\n return source.normalizedPath;\n}\n\n/** Tests whether a diagnostic is informatory. */\nexport function isInfo(message: DiagnosticMessage): bool {\n return message.category == DiagnosticCategory.Info;\n}\n\n/** Tests whether a diagnostic is a warning. */\nexport function isWarning(message: DiagnosticMessage): bool {\n return message.category == DiagnosticCategory.Warning;\n}\n\n/** Tests whether a diagnostic is an error. */\nexport function isError(message: DiagnosticMessage): bool {\n return message.category == DiagnosticCategory.Error;\n}\n\n// Parser\n\n/** Parses a source file. If `parser` has been omitted a new one is created. */\nexport function parse(\n /** Program reference. */\n program: Program,\n /** Source text of the file, or `null` to indicate not found. */\n text: string | null,\n /** Normalized path of the file. */\n path: string,\n /** Whether this is an entry file. */\n isEntry: bool = false\n): void {\n program.parser.parseFile(text, path, isEntry);\n}\n\n/** Obtains the next required file's path. Returns `null` once complete. */\nexport function nextFile(program: Program): string | null {\n return program.parser.nextFile();\n}\n\n/** Obtains the path of the dependee of a given imported file. */\nexport function getDependee(program: Program, file: string): string | null {\n return program.parser.getDependee(file);\n}\n\n// Compiler\n\n/** Initializes the program pre-emptively for transform hooks. */\nexport function initializeProgram(program: Program): void {\n program.initialize();\n}\n\n/** Compiles the parsed sources to a module. */\nexport function compile(program: Program): Module {\n program.parser.finish();\n return new Compiler(program).compile();\n}\n\n/** Builds TypeScript definitions for the specified program. */\nexport function buildTSD(program: Program, esm: bool): string {\n return TSDBuilder.build(program, esm);\n}\n\n/** Builds JavaScript glue code for the specified program. */\nexport function buildJS(program: Program, esm: bool): string {\n return JSBuilder.build(program, esm);\n}\n\n/** Gets the Binaryen module reference of a module. */\nexport function getBinaryenModuleRef(module: Module): usize {\n return module.ref;\n}\n\n/** Validates a module. */\nexport function validate(module: Module): bool {\n return module.validate();\n}\n\n/** Optimizes a module. */\nexport function optimize(\n module: Module,\n optimizeLevel: i32,\n shrinkLevel: i32,\n debugInfo: bool = false,\n zeroFilledMemory: bool = false\n): void {\n module.optimize(optimizeLevel, shrinkLevel, debugInfo, zeroFilledMemory);\n}\n", "/**\n * @fileoverview Abstract Syntax Tree extras.\n *\n * Provides serialization of the AssemblyScript AST back to it source form.\n *\n * @license Apache-2.0\n */\n\nimport {\n Node,\n NodeKind,\n Source,\n ArrowKind,\n\n TypeNode,\n NamedTypeNode,\n FunctionTypeNode,\n TypeName,\n TypeParameterNode,\n\n Expression,\n IdentifierExpression,\n LiteralExpression,\n LiteralKind,\n FloatLiteralExpression,\n IntegerLiteralExpression,\n StringLiteralExpression,\n TemplateLiteralExpression,\n RegexpLiteralExpression,\n ArrayLiteralExpression,\n AssertionExpression,\n AssertionKind,\n BinaryExpression,\n CallExpression,\n CommaExpression,\n ElementAccessExpression,\n FunctionExpression,\n NewExpression,\n ParenthesizedExpression,\n PropertyAccessExpression,\n TernaryExpression,\n UnaryPostfixExpression,\n UnaryExpression,\n UnaryPrefixExpression,\n ClassExpression,\n ObjectLiteralExpression,\n\n BlockStatement,\n BreakStatement,\n ContinueStatement,\n DoStatement,\n EmptyStatement,\n ExportImportStatement,\n ExportStatement,\n ExportDefaultStatement,\n ExpressionStatement,\n ForStatement,\n ForOfStatement,\n IfStatement,\n ImportStatement,\n InstanceOfExpression,\n ReturnStatement,\n SwitchStatement,\n ThrowStatement,\n TryStatement,\n VariableStatement,\n WhileStatement,\n ModuleDeclaration,\n\n DeclarationStatement,\n ClassDeclaration,\n EnumDeclaration,\n EnumValueDeclaration,\n FieldDeclaration,\n FunctionDeclaration,\n ImportDeclaration,\n InterfaceDeclaration,\n MethodDeclaration,\n NamespaceDeclaration,\n TypeDeclaration,\n VariableDeclaration,\n\n DecoratorNode,\n ParameterNode,\n ParameterKind,\n ExportMember,\n SwitchCase,\n IndexSignatureNode,\n\n isTypeOmitted\n} from \"../ast\";\n\nimport {\n operatorTokenToString\n} from \"../tokenizer\";\n\nimport {\n CharCode,\n indent,\n escapeString\n} from \"../util\";\n\nimport {\n CommonFlags\n} from \"../common\";\n\n/** An AST builder. */\nexport class ASTBuilder {\n\n /** Rebuilds the textual source from the specified AST, as far as possible. */\n static build(node: Node): string {\n let builder = new ASTBuilder();\n builder.visitNode(node);\n return builder.finish();\n }\n\n private sb: string[] = [];\n private indentLevel: i32 = 0;\n\n visitNode(node: Node): void {\n switch (node.kind) {\n case NodeKind.Source: {\n this.visitSource(node);\n break;\n }\n\n // types\n\n case NodeKind.NamedType: {\n this.visitNamedTypeNode(node);\n break;\n }\n case NodeKind.FunctionType: {\n this.visitFunctionTypeNode(node);\n break;\n }\n case NodeKind.TypeParameter: {\n this.visitTypeParameter(node);\n break;\n }\n\n // expressions\n\n case NodeKind.False:\n case NodeKind.Null:\n case NodeKind.Super:\n case NodeKind.This:\n case NodeKind.True:\n case NodeKind.Constructor:\n case NodeKind.Identifier: {\n this.visitIdentifierExpression(node);\n break;\n }\n case NodeKind.Assertion: {\n this.visitAssertionExpression(node);\n break;\n }\n case NodeKind.Binary: {\n this.visitBinaryExpression(node);\n break;\n }\n case NodeKind.Call: {\n this.visitCallExpression(node);\n break;\n }\n case NodeKind.Class: {\n this.visitClassExpression(node);\n break;\n }\n case NodeKind.Comma: {\n this.visitCommaExpression(node);\n break;\n }\n case NodeKind.ElementAccess: {\n this.visitElementAccessExpression(node);\n break;\n }\n case NodeKind.Function: {\n this.visitFunctionExpression(node);\n break;\n }\n case NodeKind.InstanceOf: {\n this.visitInstanceOfExpression(node);\n break;\n }\n case NodeKind.Literal: {\n this.visitLiteralExpression(node);\n break;\n }\n case NodeKind.New: {\n this.visitNewExpression(node);\n break;\n }\n case NodeKind.Parenthesized: {\n this.visitParenthesizedExpression(node);\n break;\n }\n case NodeKind.PropertyAccess: {\n this.visitPropertyAccessExpression(node);\n break;\n }\n case NodeKind.Ternary: {\n this.visitTernaryExpression(node);\n break;\n }\n case NodeKind.UnaryPostfix: {\n this.visitUnaryPostfixExpression(node);\n break;\n }\n case NodeKind.UnaryPrefix: {\n this.visitUnaryPrefixExpression(node);\n break;\n }\n\n // statements\n\n case NodeKind.Block: {\n this.visitBlockStatement(node);\n break;\n }\n case NodeKind.Break: {\n this.visitBreakStatement(node);\n break;\n }\n case NodeKind.Continue: {\n this.visitContinueStatement(node);\n break;\n }\n case NodeKind.Do: {\n this.visitDoStatement(node);\n break;\n }\n case NodeKind.Empty: {\n this.visitEmptyStatement(node);\n break;\n }\n case NodeKind.Export: {\n this.visitExportStatement(node);\n break;\n }\n case NodeKind.ExportDefault: {\n this.visitExportDefaultStatement(node);\n break;\n }\n case NodeKind.ExportImport: {\n this.visitExportImportStatement(node);\n break;\n }\n case NodeKind.Expression: {\n this.visitExpressionStatement(node);\n break;\n }\n case NodeKind.For: {\n this.visitForStatement(node);\n break;\n }\n case NodeKind.ForOf: {\n this.visitForOfStatement(node);\n break;\n }\n case NodeKind.If: {\n this.visitIfStatement(node);\n break;\n }\n case NodeKind.Import: {\n this.visitImportStatement(node);\n break;\n }\n case NodeKind.Return: {\n this.visitReturnStatement(node);\n break;\n }\n case NodeKind.Switch: {\n this.visitSwitchStatement(node);\n break;\n }\n case NodeKind.Throw: {\n this.visitThrowStatement(node);\n break;\n }\n case NodeKind.Try: {\n this.visitTryStatement(node);\n break;\n }\n case NodeKind.Variable: {\n this.visitVariableStatement(node);\n break;\n }\n case NodeKind.While: {\n this.visitWhileStatement(node);\n break;\n }\n case NodeKind.Module: {\n this.visitModuleDeclaration(node);\n break;\n }\n\n // declaration statements\n\n case NodeKind.ClassDeclaration: {\n this.visitClassDeclaration(node);\n break;\n }\n case NodeKind.EnumDeclaration: {\n this.visitEnumDeclaration(node);\n break;\n }\n case NodeKind.EnumValueDeclaration: {\n this.visitEnumValueDeclaration(node);\n break;\n }\n case NodeKind.FieldDeclaration: {\n this.visitFieldDeclaration(node);\n break;\n }\n case NodeKind.FunctionDeclaration: {\n this.visitFunctionDeclaration(node);\n break;\n }\n case NodeKind.ImportDeclaration: {\n this.visitImportDeclaration(node);\n break;\n }\n case NodeKind.InterfaceDeclaration: {\n this.visitInterfaceDeclaration(node);\n break;\n }\n case NodeKind.MethodDeclaration: {\n this.visitMethodDeclaration(node);\n break;\n }\n case NodeKind.NamespaceDeclaration: {\n this.visitNamespaceDeclaration(node);\n break;\n }\n case NodeKind.TypeDeclaration: {\n this.visitTypeDeclaration(node);\n break;\n }\n case NodeKind.VariableDeclaration: {\n this.visitVariableDeclaration(node);\n break;\n }\n\n // other\n\n case NodeKind.Decorator: {\n this.serializeDecorator(node);\n break;\n }\n case NodeKind.ExportMember: {\n this.visitExportMember(node);\n break;\n }\n case NodeKind.Parameter: {\n this.serializeParameter(node);\n break;\n }\n case NodeKind.SwitchCase: {\n this.visitSwitchCase(node);\n break;\n }\n case NodeKind.IndexSignature: {\n this.visitIndexSignature(node);\n break;\n }\n default: assert(false);\n }\n }\n\n visitSource(source: Source): void {\n let statements = source.statements;\n for (let i = 0, k = statements.length; i < k; ++i) {\n this.visitNodeAndTerminate(statements[i]);\n }\n }\n\n // types\n\n visitTypeNode(node: TypeNode): void {\n switch (node.kind) {\n case NodeKind.NamedType: {\n this.visitNamedTypeNode(node);\n break;\n }\n case NodeKind.FunctionType: {\n this.visitFunctionTypeNode(node);\n break;\n }\n default: assert(false);\n }\n }\n\n visitTypeName(node: TypeName): void {\n this.visitIdentifierExpression(node.identifier);\n let sb = this.sb;\n let current = node.next;\n while (current) {\n sb.push(\".\");\n this.visitIdentifierExpression(current.identifier);\n current = current.next;\n }\n }\n\n visitNamedTypeNode(node: NamedTypeNode): void {\n this.visitTypeName(node.name);\n let typeArguments = node.typeArguments;\n if (typeArguments) {\n let numTypeArguments = typeArguments.length;\n let sb = this.sb;\n if (numTypeArguments) {\n sb.push(\"<\");\n this.visitTypeNode(typeArguments[0]);\n for (let i = 1; i < numTypeArguments; ++i) {\n sb.push(\", \");\n this.visitTypeNode(typeArguments[i]);\n }\n sb.push(\">\");\n }\n if (node.isNullable) sb.push(\" | null\");\n }\n }\n\n visitFunctionTypeNode(node: FunctionTypeNode): void {\n let isNullable = node.isNullable;\n let sb = this.sb;\n sb.push(isNullable ? \"((\" : \"(\");\n let explicitThisType = node.explicitThisType;\n if (explicitThisType) {\n sb.push(\"this: \");\n this.visitTypeNode(explicitThisType);\n }\n let parameters = node.parameters;\n let numParameters = parameters.length;\n if (numParameters) {\n if (explicitThisType) sb.push(\", \");\n this.serializeParameter(parameters[0]);\n for (let i = 1; i < numParameters; ++i) {\n sb.push(\", \");\n this.serializeParameter(parameters[i]);\n }\n }\n let returnType = node.returnType;\n if (returnType) {\n sb.push(\") => \");\n this.visitTypeNode(returnType);\n } else {\n sb.push(\") => void\");\n }\n if (isNullable) sb.push(\") | null\");\n }\n\n visitTypeParameter(node: TypeParameterNode): void {\n this.visitIdentifierExpression(node.name);\n let extendsType = node.extendsType;\n if (extendsType) {\n this.sb.push(\" extends \");\n this.visitTypeNode(extendsType);\n }\n let defaultType = node.defaultType;\n if (defaultType) {\n this.sb.push(\"=\");\n this.visitTypeNode(defaultType);\n }\n }\n\n // expressions\n\n visitIdentifierExpression(node: IdentifierExpression): void {\n if (node.isQuoted) this.visitStringLiteral(node.text);\n else this.sb.push(node.text);\n }\n\n visitArrayLiteralExpression(node: ArrayLiteralExpression): void {\n let sb = this.sb;\n sb.push(\"[\");\n let elements = node.elementExpressions;\n let numElements = elements.length;\n if (numElements) {\n let element = elements[0];\n if (element) this.visitNode(element);\n for (let i = 1; i < numElements; ++i) {\n element = elements[i];\n sb.push(\", \");\n if (element) this.visitNode(element);\n }\n }\n sb.push(\"]\");\n }\n\n visitObjectLiteralExpression(node: ObjectLiteralExpression): void {\n let sb = this.sb;\n let names = node.names;\n let values = node.values;\n let numElements = names.length;\n assert(numElements == values.length);\n if (numElements) {\n sb.push(\"{\\n\");\n indent(sb, ++this.indentLevel);\n this.visitNode(names[0]);\n sb.push(\": \");\n this.visitNode(values[0]);\n for (let i = 1; i < numElements; ++i) {\n sb.push(\",\\n\");\n indent(sb, this.indentLevel);\n let name = names[i];\n let value = values[i];\n if (name == value) {\n this.visitNode(name);\n } else {\n this.visitNode(name);\n sb.push(\": \");\n this.visitNode(value);\n }\n }\n sb.push(\"\\n\");\n indent(sb, --this.indentLevel);\n sb.push(\"}\");\n } else {\n sb.push(\"{}\");\n }\n }\n\n visitAssertionExpression(node: AssertionExpression): void {\n let sb = this.sb;\n switch (node.assertionKind) {\n case AssertionKind.Prefix: {\n sb.push(\"<\");\n this.visitTypeNode(assert(node.toType));\n sb.push(\">\");\n this.visitNode(node.expression);\n break;\n }\n case AssertionKind.As: {\n this.visitNode(node.expression);\n sb.push(\" as \");\n this.visitTypeNode(assert(node.toType));\n break;\n }\n case AssertionKind.NonNull: {\n this.visitNode(node.expression);\n sb.push(\"!\");\n break;\n }\n case AssertionKind.Const: {\n this.visitNode(node.expression);\n sb.push(\" as const\");\n break;\n }\n default: assert(false);\n }\n }\n\n visitBinaryExpression(node: BinaryExpression): void {\n let sb = this.sb;\n this.visitNode(node.left);\n sb.push(\" \");\n sb.push(operatorTokenToString(node.operator));\n sb.push(\" \");\n this.visitNode(node.right);\n }\n\n visitCallExpression(node: CallExpression): void {\n this.visitNode(node.expression);\n this.visitArguments(node.typeArguments, node.args);\n }\n\n private visitArguments(typeArguments: TypeNode[] | null, args: Expression[]): void {\n let sb = this.sb;\n if (typeArguments) {\n let numTypeArguments = typeArguments.length;\n if (numTypeArguments) {\n sb.push(\"<\");\n this.visitTypeNode(typeArguments[0]);\n for (let i = 1; i < numTypeArguments; ++i) {\n sb.push(\", \");\n this.visitTypeNode(typeArguments[i]);\n }\n sb.push(\">(\");\n }\n } else {\n sb.push(\"(\");\n }\n let numArgs = args.length;\n if (numArgs) {\n this.visitNode(args[0]);\n for (let i = 1; i < numArgs; ++i) {\n sb.push(\", \");\n this.visitNode(args[i]);\n }\n }\n sb.push(\")\");\n }\n\n visitClassExpression(node: ClassExpression): void {\n let declaration = node.declaration;\n this.visitClassDeclaration(declaration);\n }\n\n visitCommaExpression(node: CommaExpression): void {\n let expressions = node.expressions;\n let numExpressions = assert(expressions.length);\n this.visitNode(expressions[0]);\n let sb = this.sb;\n for (let i = 1; i < numExpressions; ++i) {\n sb.push(\",\");\n this.visitNode(expressions[i]);\n }\n }\n\n visitElementAccessExpression(node: ElementAccessExpression): void {\n let sb = this.sb;\n this.visitNode(node.expression);\n sb.push(\"[\");\n this.visitNode(node.elementExpression);\n sb.push(\"]\");\n }\n\n visitFunctionExpression(node: FunctionExpression): void {\n let declaration = node.declaration;\n if (!declaration.arrowKind) {\n if (declaration.name.text.length) {\n this.sb.push(\"function \");\n } else {\n this.sb.push(\"function\");\n }\n } else {\n assert(declaration.name.text.length == 0);\n }\n this.visitFunctionCommon(declaration);\n }\n\n visitLiteralExpression(node: LiteralExpression): void {\n switch (node.literalKind) {\n case LiteralKind.Float: {\n this.visitFloatLiteralExpression(node);\n break;\n }\n case LiteralKind.Integer: {\n this.visitIntegerLiteralExpression(node);\n break;\n }\n case LiteralKind.String: {\n this.visitStringLiteralExpression(node);\n break;\n }\n case LiteralKind.Template: {\n this.visitTemplateLiteralExpression(node);\n break;\n }\n case LiteralKind.RegExp: {\n this.visitRegexpLiteralExpression(node);\n break;\n }\n case LiteralKind.Array: {\n this.visitArrayLiteralExpression(node);\n break;\n }\n case LiteralKind.Object: {\n this.visitObjectLiteralExpression(node);\n break;\n }\n default: {\n assert(false);\n break;\n }\n }\n }\n\n visitFloatLiteralExpression(node: FloatLiteralExpression): void {\n this.sb.push(node.value.toString());\n }\n\n visitInstanceOfExpression(node: InstanceOfExpression): void {\n this.visitNode(node.expression);\n this.sb.push(\" instanceof \");\n this.visitTypeNode(node.isType);\n }\n\n visitIntegerLiteralExpression(node: IntegerLiteralExpression): void {\n let range = node.range;\n let hasExplicitSign = range.source.text.startsWith(\"-\", range.start);\n this.sb.push(i64_to_string(node.value, !hasExplicitSign));\n }\n\n visitStringLiteral(str: string): void {\n let sb = this.sb;\n sb.push(\"\\\"\");\n sb.push(escapeString(str, CharCode.DoubleQuote));\n sb.push(\"\\\"\");\n }\n\n visitStringLiteralExpression(node: StringLiteralExpression): void {\n this.visitStringLiteral(node.value);\n }\n\n visitTemplateLiteralExpression(node: TemplateLiteralExpression): void {\n let sb = this.sb;\n let tag = node.tag;\n let parts = node.parts;\n let expressions = node.expressions;\n if (tag) this.visitNode(tag);\n sb.push(\"`\");\n sb.push(escapeString(parts[0], CharCode.Backtick));\n assert(parts.length == expressions.length + 1);\n for (let i = 0, k = expressions.length; i < k; ++i) {\n sb.push(\"${\");\n this.visitNode(expressions[i]);\n sb.push(\"}\");\n sb.push(escapeString(parts[i + 1], CharCode.Backtick));\n }\n sb.push(\"`\");\n }\n\n visitRegexpLiteralExpression(node: RegexpLiteralExpression): void {\n let sb = this.sb;\n sb.push(\"/\");\n sb.push(node.pattern);\n sb.push(\"/\");\n sb.push(node.patternFlags);\n }\n\n visitNewExpression(node: NewExpression): void {\n this.sb.push(\"new \");\n this.visitTypeName(node.typeName);\n this.visitArguments(node.typeArguments, node.args);\n }\n\n visitParenthesizedExpression(node: ParenthesizedExpression): void {\n let sb = this.sb;\n sb.push(\"(\");\n this.visitNode(node.expression);\n sb.push(\")\");\n }\n\n visitPropertyAccessExpression(node: PropertyAccessExpression): void {\n this.visitNode(node.expression);\n this.sb.push(\".\");\n this.visitIdentifierExpression(node.property);\n }\n\n visitTernaryExpression(node: TernaryExpression): void {\n let sb = this.sb;\n this.visitNode(node.condition);\n sb.push(\" ? \");\n this.visitNode(node.ifThen);\n sb.push(\" : \");\n this.visitNode(node.ifElse);\n }\n\n visitUnaryExpression(node: UnaryExpression): void {\n switch (node.kind) {\n case NodeKind.UnaryPostfix: {\n this.visitUnaryPostfixExpression(node);\n break;\n }\n case NodeKind.UnaryPrefix: {\n this.visitUnaryPrefixExpression(node);\n break;\n }\n default: assert(false);\n }\n }\n\n visitUnaryPostfixExpression(node: UnaryPostfixExpression): void {\n this.visitNode(node.operand);\n this.sb.push(operatorTokenToString(node.operator));\n }\n\n visitUnaryPrefixExpression(node: UnaryPrefixExpression): void {\n this.sb.push(operatorTokenToString(node.operator));\n this.visitNode(node.operand);\n }\n\n // statements\n\n visitNodeAndTerminate(node: Node): void {\n this.visitNode(node);\n let sb = this.sb;\n if (\n !sb.length || // leading EmptyStatement\n node.kind == NodeKind.Variable || // potentially assigns a FunctionExpression\n node.kind == NodeKind.Expression // potentially assigns a FunctionExpression\n ) {\n sb.push(\";\\n\");\n } else {\n let last = sb[sb.length - 1];\n let lastCharPos = last.length - 1;\n if (lastCharPos >= 0 && (\n last.charCodeAt(lastCharPos) == CharCode.CloseBrace ||\n last.charCodeAt(lastCharPos) == CharCode.Semicolon)\n ) {\n sb.push(\"\\n\");\n } else {\n sb.push(\";\\n\");\n }\n }\n }\n\n visitBlockStatement(node: BlockStatement): void {\n let sb = this.sb;\n let statements = node.statements;\n let numStatements = statements.length;\n if (numStatements) {\n sb.push(\"{\\n\");\n let indentLevel = ++this.indentLevel;\n for (let i = 0; i < numStatements; ++i) {\n indent(sb, indentLevel);\n this.visitNodeAndTerminate(statements[i]);\n }\n indent(sb, --this.indentLevel);\n sb.push(\"}\");\n } else {\n sb.push(\"{}\");\n }\n }\n\n visitBreakStatement(node: BreakStatement): void {\n let label = node.label;\n if (label) {\n this.sb.push(\"break \");\n this.visitIdentifierExpression(label);\n } else {\n this.sb.push(\"break\");\n }\n }\n\n visitContinueStatement(node: ContinueStatement): void {\n let label = node.label;\n if (label) {\n this.sb.push(\"continue \");\n this.visitIdentifierExpression(label);\n } else {\n this.sb.push(\"continue\");\n }\n }\n\n visitClassDeclaration(node: ClassDeclaration, isDefault: bool = false): void {\n let decorators = node.decorators;\n if (decorators) {\n for (let i = 0, k = decorators.length; i < k; ++i) {\n this.serializeDecorator(decorators[i]);\n }\n }\n let sb = this.sb;\n if (isDefault) {\n sb.push(\"export default \");\n } else {\n this.serializeExternalModifiers(node);\n }\n if (node.is(CommonFlags.Abstract)) sb.push(\"abstract \");\n if (node.name.text.length) {\n sb.push(\"class \");\n this.visitIdentifierExpression(node.name);\n } else {\n sb.push(\"class\");\n }\n let typeParameters = node.typeParameters;\n if (typeParameters != null && typeParameters.length > 0) {\n sb.push(\"<\");\n this.visitTypeParameter(typeParameters[0]);\n for (let i = 1, k = typeParameters.length; i < k; ++i) {\n sb.push(\", \");\n this.visitTypeParameter(typeParameters[i]);\n }\n sb.push(\">\");\n }\n let extendsType = node.extendsType;\n if (extendsType) {\n sb.push(\" extends \");\n this.visitTypeNode(extendsType);\n }\n let implementsTypes = node.implementsTypes;\n if (implementsTypes) {\n let numImplementsTypes = implementsTypes.length;\n if (numImplementsTypes) {\n sb.push(\" implements \");\n this.visitTypeNode(implementsTypes[0]);\n for (let i = 1; i < numImplementsTypes; ++i) {\n sb.push(\", \");\n this.visitTypeNode(implementsTypes[i]);\n }\n }\n }\n let indexSignature = node.indexSignature;\n let members = node.members;\n let numMembers = members.length;\n if (indexSignature || numMembers) {\n sb.push(\" {\\n\");\n let indentLevel = ++this.indentLevel;\n if (indexSignature) {\n indent(sb, indentLevel);\n this.visitNodeAndTerminate(indexSignature);\n }\n for (let i = 0, k = members.length; i < k; ++i) {\n let member = members[i];\n if (member.kind != NodeKind.FieldDeclaration || (member).parameterIndex < 0) {\n indent(sb, indentLevel);\n this.visitNodeAndTerminate(member);\n }\n }\n indent(sb, --this.indentLevel);\n sb.push(\"}\");\n } else {\n sb.push(\" {}\");\n }\n }\n\n visitDoStatement(node: DoStatement): void {\n let sb = this.sb;\n sb.push(\"do \");\n this.visitNode(node.body);\n if (node.body.kind == NodeKind.Block) {\n sb.push(\" while (\");\n } else {\n sb.push(\";\\n\");\n indent(sb, this.indentLevel);\n sb.push(\"while (\");\n }\n this.visitNode(node.condition);\n sb.push(\")\");\n }\n\n visitEmptyStatement(node: EmptyStatement): void {\n /* nop */\n }\n\n visitEnumDeclaration(node: EnumDeclaration, isDefault: bool = false): void {\n let sb = this.sb;\n if (isDefault) {\n sb.push(\"export default \");\n } else {\n this.serializeExternalModifiers(node);\n }\n if (node.is(CommonFlags.Const)) sb.push(\"const \");\n sb.push(\"enum \");\n this.visitIdentifierExpression(node.name);\n let values = node.values;\n let numValues = values.length;\n if (numValues) {\n sb.push(\" {\\n\");\n let indentLevel = ++this.indentLevel;\n indent(sb, indentLevel);\n this.visitEnumValueDeclaration(node.values[0]);\n for (let i = 1; i < numValues; ++i) {\n sb.push(\",\\n\");\n indent(sb, indentLevel);\n this.visitEnumValueDeclaration(node.values[i]);\n }\n sb.push(\"\\n\");\n indent(sb, --this.indentLevel);\n sb.push(\"}\");\n } else {\n sb.push(\" {}\");\n }\n }\n\n visitEnumValueDeclaration(node: EnumValueDeclaration): void {\n this.visitIdentifierExpression(node.name);\n let initializer = node.initializer;\n if (initializer) {\n this.sb.push(\" = \");\n this.visitNode(initializer);\n }\n }\n\n visitExportImportStatement(node: ExportImportStatement): void {\n let sb = this.sb;\n sb.push(\"export import \");\n this.visitIdentifierExpression(node.externalName);\n sb.push(\" = \");\n this.visitIdentifierExpression(node.name);\n }\n\n visitExportMember(node: ExportMember): void {\n this.visitIdentifierExpression(node.localName);\n if (node.exportedName.text != node.localName.text) {\n this.sb.push(\" as \");\n this.visitIdentifierExpression(node.exportedName);\n }\n }\n\n visitExportStatement(node: ExportStatement): void {\n let sb = this.sb;\n if (node.isDeclare) {\n sb.push(\"declare \");\n }\n let members = node.members;\n if (members == null) {\n sb.push(\"export *\");\n } else if (members.length > 0) {\n let numMembers = members.length;\n sb.push(\"export {\\n\");\n let indentLevel = ++this.indentLevel;\n indent(sb, indentLevel);\n this.visitExportMember(members[0]);\n for (let i = 1; i < numMembers; ++i) {\n sb.push(\",\\n\");\n indent(sb, indentLevel);\n this.visitExportMember(members[i]);\n }\n --this.indentLevel;\n sb.push(\"\\n}\");\n } else {\n sb.push(\"export {}\");\n }\n let path = node.path;\n if (path) {\n sb.push(\" from \");\n this.visitStringLiteralExpression(path);\n }\n sb.push(\";\");\n }\n\n visitExportDefaultStatement(node: ExportDefaultStatement): void {\n let declaration = node.declaration;\n switch (declaration.kind) {\n case NodeKind.EnumDeclaration: {\n this.visitEnumDeclaration(declaration, true);\n break;\n }\n case NodeKind.FunctionDeclaration: {\n this.visitFunctionDeclaration(declaration, true);\n break;\n }\n case NodeKind.ClassDeclaration: {\n this.visitClassDeclaration(declaration, true);\n break;\n }\n case NodeKind.InterfaceDeclaration: {\n this.visitInterfaceDeclaration(declaration, true);\n break;\n }\n case NodeKind.NamespaceDeclaration: {\n this.visitNamespaceDeclaration(declaration, true);\n break;\n }\n default: assert(false);\n }\n }\n\n visitExpressionStatement(node: ExpressionStatement): void {\n this.visitNode(node.expression);\n }\n\n visitFieldDeclaration(node: FieldDeclaration): void {\n let decorators = node.decorators;\n if (decorators) {\n for (let i = 0, k = decorators.length; i < k; ++i) {\n this.serializeDecorator(decorators[i]);\n }\n }\n this.serializeAccessModifiers(node);\n this.visitIdentifierExpression(node.name);\n let sb = this.sb;\n if (node.flags & CommonFlags.DefinitelyAssigned) {\n sb.push(\"!\");\n }\n let type = node.type;\n if (type) {\n sb.push(\": \");\n this.visitTypeNode(type);\n }\n let initializer = node.initializer;\n if (initializer) {\n sb.push(\" = \");\n this.visitNode(initializer);\n }\n }\n\n visitForStatement(node: ForStatement): void {\n let sb = this.sb;\n sb.push(\"for (\");\n let initializer = node.initializer;\n if (initializer) {\n this.visitNode(initializer);\n }\n let condition = node.condition;\n if (condition) {\n sb.push(\"; \");\n this.visitNode(condition);\n } else {\n sb.push(\";\");\n }\n let incrementor = node.incrementor;\n if (incrementor) {\n sb.push(\"; \");\n this.visitNode(incrementor);\n } else {\n sb.push(\";\");\n }\n sb.push(\") \");\n this.visitNode(node.body);\n }\n\n visitForOfStatement(node: ForOfStatement): void {\n let sb = this.sb;\n sb.push(\"for (\");\n this.visitNode(node.variable);\n sb.push(\" of \");\n this.visitNode(node.iterable);\n sb.push(\") \");\n this.visitNode(node.body);\n }\n\n visitFunctionDeclaration(node: FunctionDeclaration, isDefault: bool = false): void {\n let sb = this.sb;\n let decorators = node.decorators;\n if (decorators) {\n for (let i = 0, k = decorators.length; i < k; ++i) {\n this.serializeDecorator(decorators[i]);\n }\n }\n if (isDefault) {\n sb.push(\"export default \");\n } else {\n this.serializeExternalModifiers(node);\n this.serializeAccessModifiers(node);\n }\n if (node.name.text.length) {\n sb.push(\"function \");\n } else {\n sb.push(\"function\");\n }\n this.visitFunctionCommon(node);\n }\n\n visitFunctionCommon(node: FunctionDeclaration): void {\n let sb = this.sb;\n this.visitIdentifierExpression(node.name);\n let signature = node.signature;\n let typeParameters = node.typeParameters;\n if (typeParameters) {\n let numTypeParameters = typeParameters.length;\n if (numTypeParameters) {\n sb.push(\"<\");\n this.visitTypeParameter(typeParameters[0]);\n for (let i = 1; i < numTypeParameters; ++i) {\n sb.push(\", \");\n this.visitTypeParameter(typeParameters[i]);\n }\n sb.push(\">\");\n }\n }\n if (node.arrowKind == ArrowKind.Single) {\n let parameters = signature.parameters;\n assert(parameters.length == 1);\n assert(!signature.explicitThisType);\n this.serializeParameter(parameters[0]);\n } else {\n sb.push(\"(\");\n let parameters = signature.parameters;\n let numParameters = parameters.length;\n let explicitThisType = signature.explicitThisType;\n if (explicitThisType) {\n sb.push(\"this: \");\n this.visitTypeNode(explicitThisType);\n }\n if (numParameters) {\n if (explicitThisType) sb.push(\", \");\n this.serializeParameter(parameters[0]);\n for (let i = 1; i < numParameters; ++i) {\n sb.push(\", \");\n this.serializeParameter(parameters[i]);\n }\n }\n }\n let body = node.body;\n let returnType = signature.returnType;\n if (node.arrowKind) {\n if (body) {\n if (node.arrowKind == ArrowKind.Single) {\n assert(isTypeOmitted(returnType));\n } else {\n if (isTypeOmitted(returnType)) {\n sb.push(\")\");\n } else {\n sb.push(\"): \");\n this.visitTypeNode(returnType);\n }\n }\n sb.push(\" => \");\n this.visitNode(body);\n } else {\n assert(!isTypeOmitted(returnType));\n sb.push(\" => \");\n this.visitTypeNode(returnType);\n }\n } else {\n if (\n !isTypeOmitted(returnType) &&\n !node.isAny(CommonFlags.Constructor | CommonFlags.Set)\n ) {\n sb.push(\"): \");\n this.visitTypeNode(returnType);\n } else {\n sb.push(\")\");\n }\n if (body) {\n sb.push(\" \");\n this.visitNode(body);\n }\n }\n }\n\n visitIfStatement(node: IfStatement): void {\n let sb = this.sb;\n sb.push(\"if (\");\n this.visitNode(node.condition);\n sb.push(\") \");\n let ifTrue = node.ifTrue;\n this.visitNode(ifTrue);\n if (ifTrue.kind != NodeKind.Block) {\n sb.push(\";\\n\");\n }\n let ifFalse = node.ifFalse;\n if (ifFalse) {\n if (ifTrue.kind == NodeKind.Block) {\n sb.push(\" else \");\n } else {\n sb.push(\"else \");\n }\n this.visitNode(ifFalse);\n }\n }\n\n visitImportDeclaration(node: ImportDeclaration): void {\n let externalName = node.foreignName;\n let name = node.name;\n this.visitIdentifierExpression(externalName);\n if (externalName.text != name.text) {\n this.sb.push(\" as \");\n this.visitIdentifierExpression(name);\n }\n }\n\n visitImportStatement(node: ImportStatement): void {\n let sb = this.sb;\n sb.push(\"import \");\n let declarations = node.declarations;\n let namespaceName = node.namespaceName;\n if (declarations) {\n let numDeclarations = declarations.length;\n if (numDeclarations) {\n sb.push(\"{\\n\");\n let indentLevel = ++this.indentLevel;\n indent(sb, indentLevel);\n this.visitImportDeclaration(declarations[0]);\n for (let i = 1; i < numDeclarations; ++i) {\n sb.push(\",\\n\");\n indent(sb, indentLevel);\n this.visitImportDeclaration(declarations[i]);\n }\n --this.indentLevel;\n sb.push(\"\\n} from \");\n } else {\n sb.push(\"{} from \");\n }\n } else if (namespaceName) {\n sb.push(\"* as \");\n this.visitIdentifierExpression(namespaceName);\n sb.push(\" from \");\n }\n this.visitStringLiteralExpression(node.path);\n }\n\n visitIndexSignature(node: IndexSignatureNode): void {\n let sb = this.sb;\n sb.push(\"[key: \");\n this.visitTypeNode(node.keyType);\n sb.push(\"]: \");\n this.visitTypeNode(node.valueType);\n }\n\n visitInterfaceDeclaration(node: InterfaceDeclaration, isDefault: bool = false): void {\n let decorators = node.decorators;\n if (decorators) {\n for (let i = 0, k = decorators.length; i < k; ++i) {\n this.serializeDecorator(decorators[i]);\n }\n }\n let sb = this.sb;\n if (isDefault) {\n sb.push(\"export default \");\n } else {\n this.serializeExternalModifiers(node);\n }\n sb.push(\"interface \");\n this.visitIdentifierExpression(node.name);\n let typeParameters = node.typeParameters;\n if (typeParameters != null && typeParameters.length > 0) {\n sb.push(\"<\");\n this.visitTypeParameter(typeParameters[0]);\n for (let i = 1, k = typeParameters.length; i < k; ++i) {\n sb.push(\", \");\n this.visitTypeParameter(typeParameters[i]);\n }\n sb.push(\">\");\n }\n let extendsType = node.extendsType;\n if (extendsType) {\n sb.push(\" extends \");\n this.visitTypeNode(extendsType);\n }\n // must not have implementsTypes\n sb.push(\" {\\n\");\n let indentLevel = ++this.indentLevel;\n let members = node.members;\n for (let i = 0, k = members.length; i < k; ++i) {\n indent(sb, indentLevel);\n this.visitNodeAndTerminate(members[i]);\n }\n --this.indentLevel;\n sb.push(\"}\");\n }\n\n visitMethodDeclaration(node: MethodDeclaration): void {\n let decorators = node.decorators;\n if (decorators) {\n for (let i = 0, k = decorators.length; i < k; ++i) {\n this.serializeDecorator(decorators[i]);\n }\n }\n this.serializeAccessModifiers(node);\n if (node.is(CommonFlags.Get)) {\n this.sb.push(\"get \");\n } else if (node.is(CommonFlags.Set)) {\n this.sb.push(\"set \");\n }\n this.visitFunctionCommon(node);\n }\n\n visitNamespaceDeclaration(node: NamespaceDeclaration, isDefault: bool = false): void {\n let decorators = node.decorators;\n if (decorators) {\n for (let i = 0, k = decorators.length; i < k; ++i) {\n this.serializeDecorator(decorators[i]);\n }\n }\n let sb = this.sb;\n if (isDefault) {\n sb.push(\"export default \");\n } else {\n this.serializeExternalModifiers(node);\n }\n sb.push(\"namespace \");\n this.visitIdentifierExpression(node.name);\n let members = node.members;\n let numMembers = members.length;\n if (numMembers) {\n sb.push(\" {\\n\");\n let indentLevel = ++this.indentLevel;\n for (let i = 0, k = members.length; i < k; ++i) {\n indent(sb, indentLevel);\n this.visitNodeAndTerminate(members[i]);\n }\n indent(sb, --this.indentLevel);\n sb.push(\"}\");\n } else {\n sb.push(\" {}\");\n }\n }\n\n visitReturnStatement(node: ReturnStatement): void {\n let value = node.value;\n if (value) {\n this.sb.push(\"return \");\n this.visitNode(value);\n } else {\n this.sb.push(\"return\");\n }\n }\n\n visitSwitchCase(node: SwitchCase): void {\n let sb = this.sb;\n let label = node.label;\n if (label) {\n sb.push(\"case \");\n this.visitNode(label);\n sb.push(\":\\n\");\n } else {\n sb.push(\"default:\\n\");\n }\n let statements = node.statements;\n let numStatements = statements.length;\n if (numStatements) {\n let indentLevel = ++this.indentLevel;\n indent(sb, indentLevel);\n this.visitNodeAndTerminate(statements[0]);\n for (let i = 1; i < numStatements; ++i) {\n indent(sb, indentLevel);\n this.visitNodeAndTerminate(statements[i]);\n }\n --this.indentLevel;\n }\n }\n\n visitSwitchStatement(node: SwitchStatement): void {\n let sb = this.sb;\n sb.push(\"switch (\");\n this.visitNode(node.condition);\n sb.push(\") {\\n\");\n let indentLevel = ++this.indentLevel;\n let cases = node.cases;\n for (let i = 0, k = cases.length; i < k; ++i) {\n indent(sb, indentLevel);\n this.visitSwitchCase(cases[i]);\n sb.push(\"\\n\");\n }\n --this.indentLevel;\n sb.push(\"}\");\n }\n\n visitThrowStatement(node: ThrowStatement): void {\n this.sb.push(\"throw \");\n this.visitNode(node.value);\n }\n\n visitTryStatement(node: TryStatement): void {\n let sb = this.sb;\n sb.push(\"try {\\n\");\n let indentLevel = ++this.indentLevel;\n let bodyStatements = node.bodyStatements;\n for (let i = 0, k = bodyStatements.length; i < k; ++i) {\n indent(sb, indentLevel);\n this.visitNodeAndTerminate(bodyStatements[i]);\n }\n let catchVariable = node.catchVariable;\n if (catchVariable) {\n indent(sb, indentLevel - 1);\n sb.push(\"} catch (\");\n this.visitIdentifierExpression(catchVariable);\n sb.push(\") {\\n\");\n let catchStatements = node.catchStatements;\n if (catchStatements) {\n for (let i = 0, k = catchStatements.length; i < k; ++i) {\n indent(sb, indentLevel);\n this.visitNodeAndTerminate(catchStatements[i]);\n }\n }\n }\n let finallyStatements = node.finallyStatements;\n if (finallyStatements) {\n indent(sb, indentLevel - 1);\n sb.push(\"} finally {\\n\");\n for (let i = 0, k = finallyStatements.length; i < k; ++i) {\n indent(sb, indentLevel);\n this.visitNodeAndTerminate(finallyStatements[i]);\n }\n }\n indent(sb, indentLevel - 1);\n sb.push(\"}\");\n }\n\n visitTypeDeclaration(node: TypeDeclaration): void {\n let decorators = node.decorators;\n if (decorators) {\n for (let i = 0, k = decorators.length; i < k; ++i) {\n this.serializeDecorator(decorators[i]);\n }\n }\n let sb = this.sb;\n this.serializeExternalModifiers(node);\n sb.push(\"type \");\n this.visitIdentifierExpression(node.name);\n let typeParameters = node.typeParameters;\n if (typeParameters) {\n let numTypeParameters = typeParameters.length;\n if (numTypeParameters) {\n sb.push(\"<\");\n for (let i = 0; i < numTypeParameters; ++i) {\n this.visitTypeParameter(typeParameters[i]);\n }\n sb.push(\">\");\n }\n }\n sb.push(\" = \");\n this.visitTypeNode(node.type);\n }\n\n visitModuleDeclaration(node: ModuleDeclaration): void {\n let sb = this.sb;\n if (node.flags & CommonFlags.Declare) {\n sb.push(\"declare \");\n }\n sb.push(\"module \\\"\");\n sb.push(escapeString(node.moduleName, CharCode.DoubleQuote));\n sb.push(\"\\\"\");\n }\n\n visitVariableDeclaration(node: VariableDeclaration): void {\n this.visitIdentifierExpression(node.name);\n let type = node.type;\n let sb = this.sb;\n if (node.flags & CommonFlags.DefinitelyAssigned) {\n sb.push(\"!\");\n }\n if (type) {\n sb.push(\": \");\n this.visitTypeNode(type);\n }\n let initializer = node.initializer;\n if (initializer) {\n sb.push(\" = \");\n this.visitNode(initializer);\n }\n }\n\n visitVariableStatement(node: VariableStatement): void {\n let decorators = node.decorators;\n if (decorators) {\n for (let i = 0, k = decorators.length; i < k; ++i) {\n this.serializeDecorator(decorators[i]);\n }\n }\n let sb = this.sb;\n let declarations = node.declarations;\n let numDeclarations = assert(declarations.length);\n let firstDeclaration = declarations[0];\n this.serializeExternalModifiers(firstDeclaration);\n sb.push(firstDeclaration.is(CommonFlags.Const) ? \"const \" : firstDeclaration.is(CommonFlags.Let) ? \"let \" : \"var \");\n this.visitVariableDeclaration(node.declarations[0]);\n for (let i = 1; i < numDeclarations; ++i) {\n sb.push(\", \");\n this.visitVariableDeclaration(node.declarations[i]);\n }\n }\n\n visitWhileStatement(node: WhileStatement): void {\n let sb = this.sb;\n sb.push(\"while (\");\n this.visitNode(node.condition);\n let body = node.body;\n if (body.isEmpty) {\n sb.push(\")\");\n } else {\n sb.push(\") \");\n this.visitNode(body);\n }\n }\n\n // other\n\n serializeDecorator(node: DecoratorNode): void {\n let sb = this.sb;\n sb.push(\"@\");\n this.visitNode(node.name);\n let args = node.args;\n if (args) {\n sb.push(\"(\");\n let numArgs = args.length;\n if (numArgs) {\n this.visitNode(args[0]);\n for (let i = 1; i < numArgs; ++i) {\n sb.push(\", \");\n this.visitNode(args[i]);\n }\n }\n sb.push(\")\\n\");\n } else {\n sb.push(\"\\n\");\n }\n indent(sb, this.indentLevel);\n }\n\n serializeParameter(node: ParameterNode): void {\n let sb = this.sb;\n let kind = node.parameterKind;\n let implicitFieldDeclaration = node.implicitFieldDeclaration;\n if (implicitFieldDeclaration) {\n this.serializeAccessModifiers(implicitFieldDeclaration);\n }\n if (kind == ParameterKind.Rest) {\n sb.push(\"...\");\n }\n this.visitIdentifierExpression(node.name);\n let type = node.type;\n let initializer = node.initializer;\n if (type) {\n if (kind == ParameterKind.Optional && !initializer) sb.push(\"?\");\n if (!isTypeOmitted(type)) {\n sb.push(\": \");\n this.visitTypeNode(type);\n }\n }\n if (initializer) {\n sb.push(\" = \");\n this.visitNode(initializer);\n }\n }\n\n serializeExternalModifiers(node: DeclarationStatement): void {\n let sb = this.sb;\n if (node.is(CommonFlags.Export)) {\n sb.push(\"export \");\n } else if (node.is(CommonFlags.Import)) {\n sb.push(\"import \");\n } else if (node.is(CommonFlags.Declare)) {\n sb.push(\"declare \");\n }\n }\n\n serializeAccessModifiers(node: DeclarationStatement): void {\n let sb = this.sb;\n if (node.is(CommonFlags.Declare)) {\n sb.push(\"declare \");\n }\n if (node.is(CommonFlags.Public)) {\n sb.push(\"public \");\n } else if (node.is(CommonFlags.Private)) {\n sb.push(\"private \");\n } else if (node.is(CommonFlags.Protected)) {\n sb.push(\"protected \");\n }\n if (node.is(CommonFlags.Static)) {\n sb.push(\"static \");\n } else if (node.is(CommonFlags.Abstract)) {\n sb.push(\"abstract \");\n }\n if (node.is(CommonFlags.Readonly)) {\n sb.push(\"readonly \");\n }\n }\n\n finish(): string {\n let ret = this.sb.join(\"\");\n this.sb = [];\n return ret;\n }\n}\n", "/**\n * @license\n * Copyright 2020 Daniel Wirtz / The AssemblyScript Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\nexport * from \"./index-js\";\nimport * as assemblyscript from \"./index-js\";\nexport default assemblyscript;\n"], + "mappings": "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,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,IAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OACxD,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OACxD,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OACxD,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OACxD,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OACxD,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OACxD,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OACxD,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OACxD,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OACxD,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OACxD,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OACxD,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OACxD,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OACxD,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OACxD,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OACxD,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OACxD,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OACxD,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OACxD,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OACxD,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OACxD,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OACxD,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OACxD,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OACxD,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OACxD,OAAQ,OAAQ,OAAQ,MAC1B,EACMH,GAA4B,IAC5BC,GAA4B,OAG5BM,GAA+B,CAEnC,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IACxD,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IACxD,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IACxD,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IACxD,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,IAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,OAAQ,OAAQ,OACxD,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OACxD,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OACxD,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OACxD,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OACxD,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OACxD,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OACxD,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OACxD,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OACxD,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ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", + "names": ["index_js_exports", "__export", "ASTBuilder", "ArrayLiteralExpression", "ArrowKind", "AssertionExpression", "AssertionKind", "AtomicRMWOp", "BinaryExpression", "BinaryModule", "BinaryOp", "BlockStatement", "BrOnOp", "BreakStatement", "CallExpression", "Class", "ClassDeclaration", "ClassExpression", "ClassPrototype", "CommaExpression", "CommentKind", "CommentNode", "CommonFlags", "CommonNames", "CompiledExpression", "Compiler", "ConditionKind", "ConstantValueKind", "Constraints", "ConstructorExpression", "ContinueStatement", "DEFAULT_STACK_SIZE", "DeclarationStatement", "DeclaredElement", "DecoratorFlags", "DecoratorKind", "DecoratorNode", "DiagnosticCategory", "DiagnosticCode", "DiagnosticEmitter", "DiagnosticMessage", "DoStatement", "Element", "ElementAccessExpression", "ElementKind", "EmptyStatement", "Enum", "EnumDeclaration", "EnumValue", "EnumValueDeclaration", "ExportDefaultStatement", "ExportImportStatement", "ExportMember", "ExportNames", "ExportStatement", "Expression", "ExpressionId", "ExpressionRunnerFlags", "ExpressionStatement", "ExternalKind", "FEATURES_ALL", "FEATURES_DEFAULT", "FEATURE_BULK_MEMORY", "FEATURE_EXCEPTION_HANDLING", "FEATURE_EXTENDED_CONST", "FEATURE_GC", "FEATURE_MEMORY64", "FEATURE_MULTI_VALUE", "FEATURE_MUTABLE_GLOBALS", "FEATURE_NONTRAPPING_F2I", "FEATURE_REFERENCE_TYPES", "FEATURE_RELAXED_SIMD", "FEATURE_SIGN_EXTENSION", "FEATURE_SIMD", "FEATURE_STRINGREF", "FEATURE_TAIL_CALLS", "FEATURE_THREADS", "FalseExpression", "Feature", "FeatureFlags", "FieldDeclaration", "FieldFlags", "File", "FloatLiteralExpression", "Flow", "FlowFlags", "ForOfStatement", "ForStatement", "Function", "FunctionDeclaration", "FunctionExpression", "FunctionPrototype", "FunctionTypeNode", "GETTER_PREFIX", "Global", "HeapTypeRef", "INDEX_SUFFIX", "INNER_DELIMITER", "INSTANCE_DELIMITER", "IdentifierExpression", "IdentifierHandling", "IfStatement", "ImportDeclaration", "ImportNames", "ImportStatement", "IndexSignature", "IndexSignatureNode", "InstanceOfExpression", "IntegerLiteralExpression", "Interface", "InterfaceDeclaration", "InterfacePrototype", "JSBuilder", "LIBRARY_PREFIX", "LIBRARY_SUBST", "LiteralExpression", "LiteralKind", "Local", "LocalFlags", "MemorySegment", "MethodDeclaration", "Module", "ModuleDeclaration", "NamedTypeNode", "Namespace", "NamespaceDeclaration", "NewExpression", "Node", "NodeKind", "NullExpression", "ObjectLiteralExpression", "OmittedExpression", "OperatorKind", "Options", "PARENT_SUBST", "PATH_DELIMITER", "PackedType", "Parameter", "ParameterKind", "ParameterNode", "ParenthesizedExpression", "Parser", "Precedence", "Program", "Property", "PropertyAccessExpression", "PropertyPrototype", "Range", "RefAsOp", "RegexpLiteralExpression", "Relooper", "ReportMode", "Resolver", "ReturnStatement", "Runtime", "RuntimeFeatures", "SETTER_PREFIX", "SIMDExtractOp", "SIMDLoadOp", "SIMDLoadStoreLaneOp", "SIMDReplaceOp", "SIMDShiftOp", "SIMDTernaryOp", "STATIC_DELIMITER", "STUB_DELIMITER", "SideEffects", "Signature", "Source", "SourceKind", "State", "Statement", "StringAsOp", "StringEncodeOp", "StringEqOp", "StringIterMoveOp", "StringLiteralExpression", "StringMeasureOp", "StringNewOp", "StringSliceWTFOp", "SuperExpression", "SwitchBuilder", "SwitchCase", "SwitchStatement", "TSDBuilder", "Target", "TemplateLiteralExpression", "TernaryExpression", "ThisExpression", "ThrowStatement", "Token", "Tokenizer", "TrueExpression", "TryStatement", "Type", "TypeBuilderErrorReason", "TypeDeclaration", "TypeDefinition", "TypeFlags", "TypeKind", "TypeName", "TypeNode", "TypeParameterNode", "TypeRef", "TypedElement", "Typeinfo", "TypeinfoFlags", "UnaryExpression", "UnaryOp", "UnaryPostfixExpression", "UnaryPrefixExpression", "UncheckedBehavior", "VariableDeclaration", "VariableLikeDeclarationStatement", "VariableLikeElement", "VariableStatement", "VoidStatement", "WhileStatement", "addGlobalAlias", "allocPtrArray", "buildJS", "buildTSD", "compile", "createType", "defaultFeatures", "diagnosticCategoryToColor", "diagnosticCategoryToString", "diagnosticCodeToString", "ensureType", "expandType", "featureToString", "findDecorator", "formatDiagnosticMessage", "getBinaryLeft", "getBinaryOp", "getBinaryRight", "getBinaryenModuleRef", "getBlockChildAt", "getBlockChildCount", "getBlockName", "getBreakCondition", "getBreakName", "getCallOperandAt", "getCallOperandCount", "getCallTarget", "getConstValueF32", "getConstValueF64", "getConstValueI32", "getConstValueI64High", "getConstValueI64Low", "getConstValueV128", "getDefaultParameterName", "getDependee", "getDiagnosticCategory", "getDiagnosticCode", "getDiagnosticMessage", "getDiagnosticRange", "getDiagnosticRelatedRange", "getDropValue", "getExpressionId", "getExpressionType", "getFunctionBody", "getFunctionName", "getFunctionParams", "getFunctionResults", "getFunctionVars", "getGlobalGetName", "getGlobalInit", "getGlobalName", "getGlobalType", "getIfCondition", "getIfFalse", "getIfTrue", "getLoadBytes", "getLoadOffset", "getLoadPtr", "getLocalGetIndex", "getLocalSetIndex", "getLocalSetValue", "getLoopBody", "getLoopName", "getMemoryGrowDelta", "getRangeEnd", "getRangeSource", "getRangeStart", "getReturnValue", "getSelectCondition", "getSelectElse", "getSelectThen", "getSideEffects", "getSource", "getSourceNormalizedPath", "getStoreBytes", "getStoreOffset", "getStorePtr", "getStoreValue", "getTagName", "getTagParams", "getTagResults", "getUnaryOp", "getUnaryValue", "initializeProgram", "isConstExpressionNaN", "isConstNaN", "isConstNegZero", "isConstNonZero", "isConstZero", "isDeclaredElement", "isError", "isGlobalMutable", "isIllegalVariableIdentifier", "isInfo", "isLoadSigned", "isLocalTee", "isNullableType", "isTypeOmitted", "isTypedElement", "isWarning", "mangleInternalName", "mangleInternalPath", "mustPreserveSideEffects", "newOptions", "newProgram", "nextDiagnostic", "nextFile", "operatorTokenToString", "optimize", "parse", "readString", "removeGlobalAlias", "runtimeFunctions", "runtimeGlobals", "setBasenameHint", "setBindingsHint", "setBundleVersion", "setDebugInfo", "setExportMemory", "setExportRuntime", "setExportStart", "setExportTable", "setFeature", "setImportMemory", "setImportTable", "setInitialMemory", "setLowMemoryLimit", "setMaximumMemory", "setMemoryBase", "setNoAssert", "setNoUnsafe", "setOptimizeLevelHints", "setPedantic", "setRuntime", "setSharedMemory", "setSourceMap", "setStackSize", "setTableBase", "setTarget", "setUncheckedBehavior", "tokenFromKeyword", "tokenIsAlsoIdentifier", "typesToRefs", "typesToString", "util_exports", "validate", "globalScope", "UnreachableError", "AssertionError", "message", "defaultComparator", "b", "nanA", "nanB", "F64", "U64", "value", "str", "radix", "shift", "y", "ifTrue", "ifFalse", "condition", "x", "a", "isTrueish", "arr", "len", "index", "parts", "search", "replacment", "res", "arraySort", "comparator", "Ctr", "fn", "i", "buffer", "byteOffset", "length", "arg", "expr", "n", "binaryen_exports", "__export", "default", "__reExport", "binaryen_star", "_BinaryenTypeCreate", "_BinaryenTypeArity", "_BinaryenTypeExpand", "_BinaryenTypeGetHeapType", "_BinaryenTypeFromHeapType", "_BinaryenTypeIsNullable", "_BinaryenTypeFuncref", "_BinaryenTypeExternref", "_BinaryenTypeAnyref", "_BinaryenTypeEqref", "_BinaryenTypeI31ref", "_BinaryenTypeStructref", "_BinaryenTypeArrayref", "_BinaryenTypeStringref", "_BinaryenTypeStringviewWTF8", "_BinaryenTypeStringviewWTF16", "_BinaryenTypeStringviewIter", "_BinaryenTypeNullref", "_BinaryenTypeNullExternref", "_BinaryenTypeNullFuncref", "_BinaryenHeapTypeFunc", "_BinaryenHeapTypeExt", "_BinaryenHeapTypeAny", "_BinaryenHeapTypeEq", "_BinaryenHeapTypeI31", "_BinaryenHeapTypeStruct", "_BinaryenHeapTypeArray", "_BinaryenHeapTypeString", "_BinaryenHeapTypeStringviewWTF8", "_BinaryenHeapTypeStringviewWTF16", "_BinaryenHeapTypeStringviewIter", "_BinaryenHeapTypeNone", "_BinaryenHeapTypeNoext", "_BinaryenHeapTypeNofunc", "_BinaryenHeapTypeIsBasic", "_BinaryenHeapTypeIsSignature", "_BinaryenHeapTypeIsStruct", "_BinaryenHeapTypeIsArray", "_BinaryenHeapTypeIsBottom", "_BinaryenHeapTypeGetBottom", "_BinaryenHeapTypeIsSubType", "_BinaryenStructTypeGetNumFields", "_BinaryenStructTypeGetFieldType", "_BinaryenStructTypeGetFieldPackedType", "_BinaryenStructTypeIsFieldMutable", "_BinaryenArrayTypeGetElementType", "_BinaryenArrayTypeGetElementPackedType", "_BinaryenArrayTypeIsElementMutable", "_BinaryenSignatureTypeGetParams", "_BinaryenSignatureTypeGetResults", "_BinaryenModuleCreate", "_BinaryenModuleDispose", "_BinaryenSizeofLiteral", "_BinaryenLiteralInt32", "_BinaryenLiteralInt64", "_BinaryenLiteralFloat32", "_BinaryenLiteralFloat64", "_BinaryenLiteralVec128", "_BinaryenLiteralFloat32Bits", "_BinaryenLiteralFloat64Bits", "_BinaryenExpressionGetId", "_BinaryenExpressionGetType", "_BinaryenExpressionSetType", "_BinaryenExpressionPrint", "_BinaryenExpressionCopy", "_BinaryenExpressionFinalize", "_BinaryenBlock", "_BinaryenBlockGetName", "_BinaryenBlockSetName", "_BinaryenBlockGetNumChildren", "_BinaryenBlockGetChildAt", "_BinaryenBlockSetChildAt", "_BinaryenBlockAppendChild", "_BinaryenBlockInsertChildAt", "_BinaryenBlockRemoveChildAt", "_BinaryenIf", "_BinaryenIfGetCondition", "_BinaryenIfSetCondition", "_BinaryenIfGetIfTrue", "_BinaryenIfSetIfTrue", "_BinaryenIfGetIfFalse", "_BinaryenIfSetIfFalse", "_BinaryenLoop", "_BinaryenLoopGetName", "_BinaryenLoopSetName", "_BinaryenLoopGetBody", "_BinaryenLoopSetBody", "_BinaryenBreak", "_BinaryenBreakGetName", "_BinaryenBreakSetName", "_BinaryenBreakGetCondition", "_BinaryenBreakSetCondition", "_BinaryenBreakGetValue", "_BinaryenBreakSetValue", "_BinaryenSwitch", "_BinaryenSwitchGetNumNames", "_BinaryenSwitchGetNameAt", "_BinaryenSwitchSetNameAt", "_BinaryenSwitchAppendName", "_BinaryenSwitchInsertNameAt", "_BinaryenSwitchRemoveNameAt", "_BinaryenSwitchGetDefaultName", "_BinaryenSwitchSetDefaultName", "_BinaryenSwitchGetCondition", "_BinaryenSwitchSetCondition", "_BinaryenSwitchGetValue", "_BinaryenSwitchSetValue", "_BinaryenCall", "_BinaryenCallGetTarget", "_BinaryenCallSetTarget", "_BinaryenCallGetNumOperands", "_BinaryenCallGetOperandAt", "_BinaryenCallSetOperandAt", "_BinaryenCallAppendOperand", "_BinaryenCallInsertOperandAt", "_BinaryenCallRemoveOperandAt", "_BinaryenCallIsReturn", "_BinaryenCallSetReturn", "_BinaryenReturnCall", "_BinaryenCallIndirect", "_BinaryenCallIndirectGetTable", "_BinaryenCallIndirectSetTable", "_BinaryenCallIndirectGetTarget", "_BinaryenCallIndirectSetTarget", "_BinaryenCallIndirectGetNumOperands", "_BinaryenCallIndirectGetOperandAt", "_BinaryenCallIndirectSetOperandAt", "_BinaryenCallIndirectAppendOperand", "_BinaryenCallIndirectInsertOperandAt", "_BinaryenCallIndirectRemoveOperandAt", "_BinaryenCallIndirectIsReturn", "_BinaryenCallIndirectSetReturn", "_BinaryenReturnCallIndirect", "_BinaryenLocalGet", "_BinaryenLocalGetGetIndex", "_BinaryenLocalGetSetIndex", "_BinaryenLocalSet", "_BinaryenLocalSetIsTee", "_BinaryenLocalSetGetIndex", "_BinaryenLocalSetSetIndex", "_BinaryenLocalSetGetValue", "_BinaryenLocalSetSetValue", "_BinaryenLocalTee", "_BinaryenGlobalGet", "_BinaryenGlobalGetGetName", "_BinaryenGlobalGetSetName", "_BinaryenGlobalSet", "_BinaryenGlobalSetGetName", "_BinaryenGlobalSetSetName", "_BinaryenGlobalSetGetValue", "_BinaryenGlobalSetSetValue", "_BinaryenMemorySize", "_BinaryenMemoryGrow", "_BinaryenMemoryGrowGetDelta", "_BinaryenMemoryGrowSetDelta", "_BinaryenLoad", "_BinaryenLoadIsAtomic", "_BinaryenLoadSetAtomic", "_BinaryenLoadIsSigned", "_BinaryenLoadSetSigned", "_BinaryenLoadGetOffset", "_BinaryenLoadSetOffset", "_BinaryenLoadGetBytes", "_BinaryenLoadSetBytes", "_BinaryenLoadGetAlign", "_BinaryenLoadSetAlign", "_BinaryenLoadGetPtr", "_BinaryenLoadSetPtr", "_BinaryenAtomicLoad", "_BinaryenStore", "_BinaryenStoreIsAtomic", "_BinaryenStoreSetAtomic", "_BinaryenStoreGetBytes", "_BinaryenStoreSetBytes", "_BinaryenStoreGetOffset", "_BinaryenStoreSetOffset", "_BinaryenStoreGetAlign", "_BinaryenStoreSetAlign", "_BinaryenStoreGetPtr", "_BinaryenStoreSetPtr", "_BinaryenStoreGetValue", "_BinaryenStoreSetValue", "_BinaryenStoreGetValueType", "_BinaryenStoreSetValueType", "_BinaryenAtomicStore", "_BinaryenConst", "_BinaryenConstGetValueI32", "_BinaryenConstSetValueI32", "_BinaryenConstGetValueI64Low", "_BinaryenConstSetValueI64Low", "_BinaryenConstGetValueI64High", "_BinaryenConstSetValueI64High", "_BinaryenConstGetValueF32", "_BinaryenConstSetValueF32", "_BinaryenConstGetValueF64", "_BinaryenConstSetValueF64", "_BinaryenConstGetValueV128", "_BinaryenConstSetValueV128", "_BinaryenUnary", "_BinaryenUnaryGetOp", "_BinaryenUnarySetOp", "_BinaryenUnaryGetValue", "_BinaryenUnarySetValue", "_BinaryenBinary", "_BinaryenBinaryGetOp", "_BinaryenBinarySetOp", "_BinaryenBinaryGetLeft", "_BinaryenBinarySetLeft", "_BinaryenBinaryGetRight", "_BinaryenBinarySetRight", "_BinaryenSelect", "_BinaryenSelectGetIfTrue", "_BinaryenSelectSetIfTrue", "_BinaryenSelectGetIfFalse", "_BinaryenSelectSetIfFalse", "_BinaryenSelectGetCondition", "_BinaryenSelectSetCondition", "_BinaryenDrop", "_BinaryenDropGetValue", "_BinaryenDropSetValue", "_BinaryenReturn", "_BinaryenReturnGetValue", "_BinaryenReturnSetValue", "_BinaryenNop", "_BinaryenUnreachable", "_BinaryenAtomicRMW", "_BinaryenAtomicRMWGetOp", "_BinaryenAtomicRMWSetOp", "_BinaryenAtomicRMWGetBytes", "_BinaryenAtomicRMWSetBytes", "_BinaryenAtomicRMWGetOffset", "_BinaryenAtomicRMWSetOffset", "_BinaryenAtomicRMWGetPtr", "_BinaryenAtomicRMWSetPtr", "_BinaryenAtomicRMWGetValue", "_BinaryenAtomicRMWSetValue", "_BinaryenAtomicCmpxchg", "_BinaryenAtomicCmpxchgGetBytes", "_BinaryenAtomicCmpxchgSetBytes", "_BinaryenAtomicCmpxchgGetOffset", "_BinaryenAtomicCmpxchgSetOffset", "_BinaryenAtomicCmpxchgGetPtr", "_BinaryenAtomicCmpxchgSetPtr", "_BinaryenAtomicCmpxchgGetExpected", "_BinaryenAtomicCmpxchgSetExpected", "_BinaryenAtomicCmpxchgGetReplacement", "_BinaryenAtomicCmpxchgSetReplacement", "_BinaryenAtomicWait", "_BinaryenAtomicWaitGetPtr", "_BinaryenAtomicWaitSetPtr", "_BinaryenAtomicWaitGetExpected", "_BinaryenAtomicWaitSetExpected", "_BinaryenAtomicWaitGetTimeout", "_BinaryenAtomicWaitSetTimeout", "_BinaryenAtomicWaitGetExpectedType", "_BinaryenAtomicWaitSetExpectedType", "_BinaryenAtomicNotify", "_BinaryenAtomicNotifyGetPtr", "_BinaryenAtomicNotifySetPtr", "_BinaryenAtomicNotifyGetNotifyCount", "_BinaryenAtomicNotifySetNotifyCount", "_BinaryenAtomicFence", "_BinaryenAtomicFenceGetOrder", "_BinaryenAtomicFenceSetOrder", "_BinaryenSIMDExtract", "_BinaryenSIMDExtractGetOp", "_BinaryenSIMDExtractSetOp", "_BinaryenSIMDExtractGetVec", "_BinaryenSIMDExtractSetVec", "_BinaryenSIMDExtractGetIndex", "_BinaryenSIMDExtractSetIndex", "_BinaryenSIMDReplace", "_BinaryenSIMDReplaceGetOp", "_BinaryenSIMDReplaceSetOp", "_BinaryenSIMDReplaceGetVec", "_BinaryenSIMDReplaceSetVec", "_BinaryenSIMDReplaceGetIndex", "_BinaryenSIMDReplaceSetIndex", "_BinaryenSIMDReplaceGetValue", "_BinaryenSIMDReplaceSetValue", "_BinaryenSIMDShuffle", "_BinaryenSIMDShuffleGetLeft", "_BinaryenSIMDShuffleSetLeft", "_BinaryenSIMDShuffleGetRight", "_BinaryenSIMDShuffleSetRight", "_BinaryenSIMDShuffleGetMask", "_BinaryenSIMDShuffleSetMask", "_BinaryenSIMDTernary", "_BinaryenSIMDTernaryGetOp", "_BinaryenSIMDTernarySetOp", "_BinaryenSIMDTernaryGetA", "_BinaryenSIMDTernarySetA", "_BinaryenSIMDTernaryGetB", "_BinaryenSIMDTernarySetB", "_BinaryenSIMDTernaryGetC", "_BinaryenSIMDTernarySetC", "_BinaryenSIMDShift", "_BinaryenSIMDShiftGetOp", "_BinaryenSIMDShiftSetOp", "_BinaryenSIMDShiftGetVec", "_BinaryenSIMDShiftSetVec", "_BinaryenSIMDShiftGetShift", "_BinaryenSIMDShiftSetShift", "_BinaryenSIMDLoad", "_BinaryenSIMDLoadGetOp", "_BinaryenSIMDLoadSetOp", "_BinaryenSIMDLoadGetOffset", "_BinaryenSIMDLoadSetOffset", "_BinaryenSIMDLoadGetAlign", "_BinaryenSIMDLoadSetAlign", "_BinaryenSIMDLoadGetPtr", "_BinaryenSIMDLoadSetPtr", "_BinaryenSIMDLoadStoreLane", "_BinaryenSIMDLoadStoreLaneGetOp", "_BinaryenSIMDLoadStoreLaneSetOp", "_BinaryenSIMDLoadStoreLaneGetOffset", "_BinaryenSIMDLoadStoreLaneSetOffset", "_BinaryenSIMDLoadStoreLaneGetAlign", "_BinaryenSIMDLoadStoreLaneSetAlign", "_BinaryenSIMDLoadStoreLaneGetIndex", "_BinaryenSIMDLoadStoreLaneSetIndex", "_BinaryenSIMDLoadStoreLaneGetPtr", "_BinaryenSIMDLoadStoreLaneSetPtr", "_BinaryenSIMDLoadStoreLaneGetVec", "_BinaryenSIMDLoadStoreLaneSetVec", "_BinaryenSIMDLoadStoreLaneIsStore", "_BinaryenMemoryInit", "_BinaryenMemoryInitGetSegment", "_BinaryenMemoryInitSetSegment", "_BinaryenMemoryInitGetDest", "_BinaryenMemoryInitSetDest", "_BinaryenMemoryInitGetOffset", "_BinaryenMemoryInitSetOffset", "_BinaryenMemoryInitGetSize", "_BinaryenMemoryInitSetSize", "_BinaryenDataDrop", "_BinaryenDataDropGetSegment", "_BinaryenDataDropSetSegment", "_BinaryenMemoryCopy", "_BinaryenMemoryCopyGetDest", "_BinaryenMemoryCopySetDest", "_BinaryenMemoryCopyGetSource", "_BinaryenMemoryCopySetSource", "_BinaryenMemoryCopyGetSize", "_BinaryenMemoryCopySetSize", "_BinaryenMemoryFill", "_BinaryenMemoryFillGetDest", "_BinaryenMemoryFillSetDest", "_BinaryenMemoryFillGetValue", "_BinaryenMemoryFillSetValue", "_BinaryenMemoryFillGetSize", "_BinaryenMemoryFillSetSize", "_BinaryenRefNull", "_BinaryenRefIsNull", "_BinaryenRefIsNullGetValue", "_BinaryenRefIsNullSetValue", "_BinaryenRefAs", "_BinaryenRefAsGetOp", "_BinaryenRefAsSetOp", "_BinaryenRefAsGetValue", "_BinaryenRefAsSetValue", "_BinaryenRefFunc", "_BinaryenRefFuncGetFunc", "_BinaryenRefFuncSetFunc", "_BinaryenRefEq", "_BinaryenRefEqGetLeft", "_BinaryenRefEqSetLeft", "_BinaryenRefEqGetRight", "_BinaryenRefEqSetRight", "_BinaryenTableGet", "_BinaryenTableGetGetTable", "_BinaryenTableGetSetTable", "_BinaryenTableGetGetIndex", "_BinaryenTableGetSetIndex", "_BinaryenTableSet", "_BinaryenTableSetGetTable", "_BinaryenTableSetSetTable", "_BinaryenTableSetGetIndex", "_BinaryenTableSetSetIndex", "_BinaryenTableSetGetValue", "_BinaryenTableSetSetValue", "_BinaryenTableSize", "_BinaryenTableSizeGetTable", "_BinaryenTableSizeSetTable", "_BinaryenTableGrow", "_BinaryenTableGrowGetTable", "_BinaryenTableGrowSetTable", "_BinaryenTableGrowGetValue", "_BinaryenTableGrowSetValue", "_BinaryenTableGrowGetDelta", "_BinaryenTableGrowSetDelta", "_BinaryenTry", "_BinaryenTryGetName", "_BinaryenTrySetName", "_BinaryenTryGetBody", "_BinaryenTrySetBody", "_BinaryenTryGetNumCatchTags", "_BinaryenTryGetNumCatchBodies", "_BinaryenTryGetCatchTagAt", "_BinaryenTrySetCatchTagAt", "_BinaryenTryAppendCatchTag", "_BinaryenTryInsertCatchTagAt", "_BinaryenTryRemoveCatchTagAt", "_BinaryenTryGetCatchBodyAt", "_BinaryenTrySetCatchBodyAt", "_BinaryenTryAppendCatchBody", "_BinaryenTryInsertCatchBodyAt", "_BinaryenTryRemoveCatchBodyAt", "_BinaryenTryHasCatchAll", "_BinaryenTryGetDelegateTarget", "_BinaryenTrySetDelegateTarget", "_BinaryenTryIsDelegate", "_BinaryenThrow", "_BinaryenThrowGetTag", "_BinaryenThrowSetTag", "_BinaryenThrowGetNumOperands", "_BinaryenThrowGetOperandAt", "_BinaryenThrowSetOperandAt", "_BinaryenThrowAppendOperand", "_BinaryenThrowInsertOperandAt", "_BinaryenThrowRemoveOperandAt", "_BinaryenRethrow", "_BinaryenRethrowGetTarget", "_BinaryenRethrowSetDepth", "_BinaryenTupleMake", "_BinaryenTupleMakeGetNumOperands", "_BinaryenTupleMakeGetOperandAt", "_BinaryenTupleMakeSetOperandAt", "_BinaryenTupleMakeAppendOperand", "_BinaryenTupleMakeInsertOperandAt", "_BinaryenTupleMakeRemoveOperandAt", "_BinaryenTupleExtract", "_BinaryenTupleExtractGetTuple", "_BinaryenTupleExtractSetTuple", "_BinaryenTupleExtractGetIndex", "_BinaryenTupleExtractSetIndex", "_BinaryenPop", "_BinaryenRefI31", "_BinaryenRefI31GetValue", "_BinaryenRefI31SetValue", "_BinaryenI31Get", "_BinaryenI31GetGetI31", "_BinaryenI31GetSetI31", "_BinaryenI31GetIsSigned", "_BinaryenI31GetSetSigned", "_BinaryenCallRef", "_BinaryenCallRefGetNumOperands", "_BinaryenCallRefGetOperandAt", "_BinaryenCallRefSetOperandAt", "_BinaryenCallRefAppendOperand", "_BinaryenCallRefInsertOperandAt", "_BinaryenCallRefRemoveOperandAt", "_BinaryenCallRefGetTarget", "_BinaryenCallRefSetTarget", "_BinaryenCallRefIsReturn", "_BinaryenCallRefSetReturn", "_BinaryenRefTest", "_BinaryenRefTestGetRef", "_BinaryenRefTestSetRef", "_BinaryenRefTestGetCastType", "_BinaryenRefTestSetCastType", "_BinaryenRefCast", "_BinaryenRefCastGetRef", "_BinaryenRefCastSetRef", "_BinaryenBrOn", "_BinaryenBrOnGetOp", "_BinaryenBrOnSetOp", "_BinaryenBrOnGetName", "_BinaryenBrOnSetName", "_BinaryenBrOnGetRef", "_BinaryenBrOnSetRef", "_BinaryenBrOnGetCastType", "_BinaryenBrOnSetCastType", "_BinaryenStructNew", "_BinaryenStructNewGetNumOperands", "_BinaryenStructNewGetOperandAt", "_BinaryenStructNewSetOperandAt", "_BinaryenStructNewAppendOperand", "_BinaryenStructNewInsertOperandAt", "_BinaryenStructNewRemoveOperandAt", "_BinaryenStructGet", "_BinaryenStructGetGetIndex", "_BinaryenStructGetSetIndex", "_BinaryenStructGetGetRef", "_BinaryenStructGetSetRef", "_BinaryenStructGetIsSigned", "_BinaryenStructGetSetSigned", "_BinaryenStructSet", "_BinaryenStructSetGetIndex", "_BinaryenStructSetSetIndex", "_BinaryenStructSetGetRef", "_BinaryenStructSetSetRef", "_BinaryenStructSetGetValue", "_BinaryenStructSetSetValue", "_BinaryenArrayNew", "_BinaryenArrayNewGetInit", "_BinaryenArrayNewSetInit", "_BinaryenArrayNewGetSize", "_BinaryenArrayNewSetSize", "_BinaryenArrayNewFixed", "_BinaryenArrayNewFixedGetNumValues", "_BinaryenArrayNewFixedGetValueAt", "_BinaryenArrayNewFixedSetValueAt", "_BinaryenArrayNewFixedAppendValue", "_BinaryenArrayNewFixedInsertValueAt", "_BinaryenArrayNewFixedRemoveValueAt", "_BinaryenArrayGet", "_BinaryenArrayGetGetRef", "_BinaryenArrayGetSetRef", "_BinaryenArrayGetGetIndex", "_BinaryenArrayGetSetIndex", "_BinaryenArrayGetIsSigned", "_BinaryenArrayGetSetSigned", "_BinaryenArraySet", "_BinaryenArraySetGetRef", "_BinaryenArraySetSetRef", "_BinaryenArraySetGetIndex", "_BinaryenArraySetSetIndex", "_BinaryenArraySetGetValue", "_BinaryenArraySetSetValue", "_BinaryenArrayLen", "_BinaryenArrayLenGetRef", "_BinaryenArrayLenSetRef", "_BinaryenArrayCopy", "_BinaryenArrayCopyGetDestRef", "_BinaryenArrayCopySetDestRef", "_BinaryenArrayCopyGetDestIndex", "_BinaryenArrayCopySetDestIndex", "_BinaryenArrayCopyGetSrcRef", "_BinaryenArrayCopySetSrcRef", "_BinaryenArrayCopyGetSrcIndex", "_BinaryenArrayCopySetSrcIndex", "_BinaryenArrayCopyGetLength", "_BinaryenArrayCopySetLength", "_BinaryenStringNew", "_BinaryenStringNewGetOp", "_BinaryenStringNewSetOp", "_BinaryenStringNewGetPtr", "_BinaryenStringNewSetPtr", "_BinaryenStringNewGetLength", "_BinaryenStringNewSetLength", "_BinaryenStringNewGetStart", "_BinaryenStringNewSetStart", "_BinaryenStringNewGetEnd", "_BinaryenStringNewSetEnd", "_BinaryenStringNewIsTry", "_BinaryenStringNewSetTry", "_BinaryenStringConst", "_BinaryenStringConstGetString", "_BinaryenStringConstSetString", "_BinaryenStringMeasure", "_BinaryenStringMeasureGetOp", "_BinaryenStringMeasureSetOp", "_BinaryenStringMeasureGetRef", "_BinaryenStringMeasureSetRef", "_BinaryenStringEncode", "_BinaryenStringEncodeGetOp", "_BinaryenStringEncodeSetOp", "_BinaryenStringEncodeGetRef", "_BinaryenStringEncodeSetRef", "_BinaryenStringEncodeGetPtr", "_BinaryenStringEncodeSetPtr", "_BinaryenStringEncodeGetStart", "_BinaryenStringEncodeSetStart", "_BinaryenStringConcat", "_BinaryenStringConcatGetLeft", "_BinaryenStringConcatSetLeft", "_BinaryenStringConcatGetRight", "_BinaryenStringConcatSetRight", "_BinaryenStringEq", "_BinaryenStringEqGetOp", "_BinaryenStringEqSetOp", "_BinaryenStringEqGetLeft", "_BinaryenStringEqSetLeft", "_BinaryenStringEqGetRight", "_BinaryenStringEqSetRight", "_BinaryenStringAs", "_BinaryenStringAsGetOp", "_BinaryenStringAsSetOp", "_BinaryenStringAsGetRef", "_BinaryenStringAsSetRef", "_BinaryenStringWTF8Advance", "_BinaryenStringWTF8AdvanceGetRef", "_BinaryenStringWTF8AdvanceSetRef", "_BinaryenStringWTF8AdvanceGetPos", "_BinaryenStringWTF8AdvanceSetPos", "_BinaryenStringWTF8AdvanceGetBytes", "_BinaryenStringWTF8AdvanceSetBytes", "_BinaryenStringWTF16Get", "_BinaryenStringWTF16GetGetRef", "_BinaryenStringWTF16GetSetRef", "_BinaryenStringWTF16GetGetPos", "_BinaryenStringWTF16GetSetPos", "_BinaryenStringIterNext", "_BinaryenStringIterNextGetRef", "_BinaryenStringIterNextSetRef", "_BinaryenStringIterMove", "_BinaryenStringIterMoveGetOp", "_BinaryenStringIterMoveSetOp", "_BinaryenStringIterMoveGetRef", "_BinaryenStringIterMoveSetRef", "_BinaryenStringIterMoveGetNum", "_BinaryenStringIterMoveSetNum", "_BinaryenStringSliceWTF", "_BinaryenStringSliceWTFGetOp", "_BinaryenStringSliceWTFSetOp", "_BinaryenStringSliceWTFGetRef", "_BinaryenStringSliceWTFSetRef", "_BinaryenStringSliceWTFGetStart", "_BinaryenStringSliceWTFSetStart", "_BinaryenStringSliceWTFGetEnd", "_BinaryenStringSliceWTFSetEnd", "_BinaryenStringSliceIter", "_BinaryenStringSliceIterGetRef", "_BinaryenStringSliceIterSetRef", "_BinaryenStringSliceIterGetNum", "_BinaryenStringSliceIterSetNum", "_BinaryenAddFunction", "_BinaryenGetFunction", "_BinaryenRemoveFunction", "_BinaryenGetNumFunctions", "_BinaryenGetFunctionByIndex", "_BinaryenFunctionGetName", "_BinaryenFunctionGetParams", "_BinaryenFunctionGetResults", "_BinaryenFunctionGetNumVars", "_BinaryenFunctionGetVar", "_BinaryenFunctionGetNumLocals", "_BinaryenFunctionHasLocalName", "_BinaryenFunctionGetLocalName", "_BinaryenFunctionSetLocalName", "_BinaryenFunctionGetBody", "_BinaryenFunctionSetBody", "_BinaryenFunctionOptimize", "_BinaryenFunctionRunPasses", "_BinaryenFunctionSetDebugLocation", "_BinaryenAddFunctionImport", "_BinaryenAddTableImport", "_BinaryenAddMemoryImport", "_BinaryenAddGlobalImport", "_BinaryenAddTagImport", "_BinaryenAddFunctionExport", "_BinaryenAddTableExport", "_BinaryenAddMemoryExport", "_BinaryenAddGlobalExport", "_BinaryenAddTagExport", "_BinaryenGetExport", "_BinaryenRemoveExport", "_BinaryenGetNumExports", "_BinaryenGetExportByIndex", "_BinaryenExportGetKind", "_BinaryenExportGetName", "_BinaryenExportGetValue", "_BinaryenAddGlobal", "_BinaryenGetGlobal", "_BinaryenRemoveGlobal", "_BinaryenGetNumGlobals", "_BinaryenGetGlobalByIndex", "_BinaryenGlobalGetName", "_BinaryenGlobalGetType", "_BinaryenGlobalIsMutable", "_BinaryenGlobalGetInitExpr", "_BinaryenAddTag", "_BinaryenGetTag", "_BinaryenRemoveTag", "_BinaryenTagGetName", "_BinaryenTagGetParams", "_BinaryenTagGetResults", "_BinaryenAddTable", "_BinaryenRemoveTable", "_BinaryenGetNumTables", "_BinaryenGetTable", "_BinaryenGetTableByIndex", "_BinaryenTableGetName", "_BinaryenTableSetName", "_BinaryenTableGetInitial", "_BinaryenTableSetInitial", "_BinaryenTableHasMax", "_BinaryenTableGetMax", "_BinaryenTableSetMax", "_BinaryenAddActiveElementSegment", "_BinaryenAddPassiveElementSegment", "_BinaryenRemoveElementSegment", "_BinaryenGetNumElementSegments", "_BinaryenGetElementSegment", "_BinaryenGetElementSegmentByIndex", "_BinaryenSetMemory", "_BinaryenGetNumMemorySegments", "_BinaryenGetMemorySegmentByteOffset", "_BinaryenGetMemorySegmentByteLength", "_BinaryenCopyMemorySegmentData", "_BinaryenSetStart", "_BinaryenModuleParse", "_BinaryenModulePrint", "_BinaryenModulePrintAsmjs", "_BinaryenModuleValidate", "_BinaryenModuleOptimize", "_BinaryenModuleRunPasses", "_BinaryenModuleAutoDrop", "_BinaryenSizeofAllocateAndWriteResult", "_BinaryenModuleAllocateAndWrite", "_BinaryenModuleAllocateAndWriteText", "_BinaryenModuleAllocateAndWriteStackIR", "_BinaryenModuleRead", "_BinaryenModuleInterpret", "_BinaryenModuleAddDebugInfoFileName", "_BinaryenModuleGetDebugInfoFileName", "_BinaryenModuleGetFeatures", "_BinaryenModuleSetFeatures", "_BinaryenAddCustomSection", "_BinaryenExpressionGetSideEffects", "_RelooperCreate", "_RelooperAddBlock", "_RelooperAddBranch", "_RelooperAddBlockWithSwitch", "_RelooperAddBranchForSwitch", "_RelooperRenderAndDispose", "_ExpressionRunnerCreate", "_ExpressionRunnerSetLocalValue", "_ExpressionRunnerSetGlobalValue", "_ExpressionRunnerRunAndDispose", "_TypeBuilderCreate", "_TypeBuilderGrow", "_TypeBuilderGetSize", "_TypeBuilderSetSignatureType", "_TypeBuilderSetStructType", "_TypeBuilderSetArrayType", "_TypeBuilderGetTempHeapType", "_TypeBuilderGetTempTupleType", "_TypeBuilderGetTempRefType", "_TypeBuilderSetSubType", "_TypeBuilderSetOpen", "_TypeBuilderCreateRecGroup", "_TypeBuilderBuildAndDispose", "_BinaryenModuleSetTypeName", "_BinaryenModuleSetFieldName", "_BinaryenGetOptimizeLevel", "_BinaryenSetOptimizeLevel", "_BinaryenGetShrinkLevel", "_BinaryenSetShrinkLevel", "_BinaryenGetDebugInfo", "_BinaryenSetDebugInfo", "_BinaryenGetLowMemoryUnused", "_BinaryenSetLowMemoryUnused", "_BinaryenGetZeroFilledMemory", "_BinaryenSetZeroFilledMemory", "_BinaryenGetFastMath", "_BinaryenSetFastMath", "_BinaryenGetPassArgument", "_BinaryenSetPassArgument", "_BinaryenClearPassArguments", "_BinaryenGetAlwaysInlineMaxSize", "_BinaryenSetAlwaysInlineMaxSize", "_BinaryenGetFlexibleInlineMaxSize", "_BinaryenSetFlexibleInlineMaxSize", "_BinaryenGetOneCallerInlineMaxSize", "_BinaryenSetOneCallerInlineMaxSize", "_BinaryenGetAllowInliningFunctionsWithLoops", "_BinaryenSetAllowInliningFunctionsWithLoops", "_malloc", "_free", "__i32_store8", "__i32_store16", "__i32_store", "__f32_store", "__f64_store", "__i32_load8_s", "__i32_load8_u", "__i32_load16_s", "__i32_load16_u", "__i32_load", "__f32_load", "__f64_load", "default", "F64", "F32", "I32", "value", "Long", "value", "lo", "hi", "left", "right", "rightLo", "rightHi", "result", "alignment", "mask", "minSafeF32", "maxSafeF32", "minSafeF64", "maxSafeF64", "unsigned", "map", "set", "Feature", "featureToString", "feature", "Target", "Runtime", "Typeinfo", "__decorateClass", "TypeinfoFlags", "CommonFlags", "PATH_DELIMITER", "PARENT_SUBST", "GETTER_PREFIX", "SETTER_PREFIX", "INSTANCE_DELIMITER", "STATIC_DELIMITER", "INNER_DELIMITER", "LIBRARY_SUBST", "LIBRARY_PREFIX", "INDEX_SUFFIX", "STUB_DELIMITER", "CommonNames", "DiagnosticCode", "diagnosticCodeToString", "code", "util_exports", "__export", "BitSet", "COLOR_BLUE", "COLOR_CYAN", "COLOR_GRAY", "COLOR_GREEN", "COLOR_MAGENTA", "COLOR_RED", "COLOR_RESET", "COLOR_WHITE", "COLOR_YELLOW", "CharCode", "SURROGATE_HIGH", "SURROGATE_LOW", "accuratePow64", "cloneMap", "colorize", "combineSurrogates", "dirname", "escapeString", "indent", "isAlpha", "isAlphaOrDecimal", "isColorsEnabled", "isDecimal", "isHexBase", "isHexOrDecimal", "isHighSurrogate", "isIdentifier", "isIdentifierPart", "isIdentifierStart", "isLineBreak", "isLowSurrogate", "isOctal", "isPowerOf2", "isSurrogate", "isSurrogateHigh", "isSurrogateLow", "isWhiteSpace", "mergeMaps", "normalizePath", "numCodeUnits", "readF32", "readF64", "readI16", "readI32", "readI64", "readI8", "readV128", "resolvePath", "setColorsEnabled", "v128_ones", "v128_zero", "writeF32", "writeF64", "writeI16", "writeI32", "writeI32AsI64", "writeI64", "writeI64AsI32", "writeI8", "writeV128", "readI8", "buffer", "offset", "writeI8", "value", "readI16", "writeI16", "readI32", "writeI32", "writeI32AsI64", "unsigned", "readI64", "lo", "hi", "writeI64", "writeI64AsI32", "readF32", "writeF32", "readF64", "writeF64", "valueI64", "readV128", "writeV128", "cloneMap", "map", "out", "_keys", "i", "k", "v", "mergeMaps", "map1", "map2", "BitSet", "count", "words", "len", "word", "index", "idx", "res", "p", "mask", "isPowerOf2", "x", "accuratePow64", "y", "CharCode", "isLineBreak", "c", "isWhiteSpace", "SURROGATE_HIGH", "SURROGATE_LOW", "isSurrogate", "isSurrogateHigh", "isSurrogateLow", "isHighSurrogate", "isLowSurrogate", "combineSurrogates", "hi", "lo", "numCodeUnits", "cp", "isAlpha", "c0", "isDecimal", "isOctal", "isHexBase", "isHexOrDecimal", "isAlphaOrDecimal", "isIdentifierStart", "unicodeIdentifierStartMin", "unicodeIdentifierStartMax", "lookupInUnicodeMap", "unicodeIdentifierStart", "isIdentifierPart", "unicodeIdentifierPartMin", "unicodeIdentifierPartMax", "unicodeIdentifierPart", "isIdentifier", "str", "len", "i", "code", "map", "mid", "midVal", "indentX1", "indentX2", "indentX3", "indentX4", "indentCache", "indent", "sb", "level", "indents", "escapeString", "quote", "off", "k", "separator", "normalizePath", "path", "pos", "len", "atEnd", "ipos", "resolvePath", "normalizedPath", "origin", "dirname", "PATH_DELIMITER", "COLOR_GRAY", "COLOR_RED", "COLOR_GREEN", "COLOR_YELLOW", "COLOR_BLUE", "COLOR_MAGENTA", "COLOR_CYAN", "COLOR_WHITE", "COLOR_RESET", "colorsEnabled", "isColorsEnabled", "setColorsEnabled", "isEnabled", "wasEnabled", "colorize", "text", "color", "v128_zero", "v128_ones", "DiagnosticCategory", "Range", "_Range", "start", "end", "a", "b", "range", "other", "diagnosticCategoryToString", "category", "diagnosticCategoryToColor", "COLOR_MAGENTA", "COLOR_CYAN", "COLOR_YELLOW", "COLOR_RED", "DiagnosticMessage", "_DiagnosticMessage", "code", "message", "arg0", "arg1", "arg2", "diagnosticCodeToString", "thisRange", "otherRange", "thisRelatedRange", "otherRelatedRange", "source", "path", "line", "column", "len", "formatDiagnosticMessage", "useColors", "showContext", "wasColorsEnabled", "setColorsEnabled", "sb", "isColorsEnabled", "COLOR_RESET", "relatedRange", "minLine", "formatDiagnosticContext", "relatedSource", "text", "lineNumber", "lineNumberLength", "lineSpace", "isLineBreak", "isWhiteSpace", "cc", "DiagnosticEmitter", "diagnostics", "seen", "seenInSource", "seenMessagesAtPos", "i", "k", "NodeKind", "Node", "_Node", "kind", "range", "name", "TypeName", "typeArguments", "isNullable", "NamedTypeNode", "parameters", "returnType", "explicitThisType", "FunctionTypeNode", "extendsType", "defaultType", "TypeParameterNode", "parameterKind", "type", "initializer", "ParameterNode", "args", "DecoratorNode", "DecoratorKind", "commentKind", "text", "CommentNode", "isQuoted", "IdentifierExpression", "elementExpressions", "ArrayLiteralExpression", "assertionKind", "expression", "toType", "AssertionExpression", "operator", "left", "right", "BinaryExpression", "CallExpression", "declaration", "ClassExpression", "expressions", "CommaExpression", "ConstructorExpression", "elementExpression", "ElementAccessExpression", "FalseExpression", "value", "FloatLiteralExpression", "FunctionExpression", "isType", "InstanceOfExpression", "IntegerLiteralExpression", "typeName", "NewExpression", "NullExpression", "names", "values", "ObjectLiteralExpression", "OmittedExpression", "ParenthesizedExpression", "property", "PropertyAccessExpression", "pattern", "patternFlags", "RegexpLiteralExpression", "condition", "ifThen", "ifElse", "TernaryExpression", "StringLiteralExpression", "SuperExpression", "tag", "parts", "rawParts", "TemplateLiteralExpression", "ThisExpression", "TrueExpression", "operand", "UnaryPostfixExpression", "UnaryPrefixExpression", "expr", "CompiledExpression", "statements", "BlockStatement", "label", "BreakStatement", "decorators", "flags", "typeParameters", "implementsTypes", "members", "ClassDeclaration", "ContinueStatement", "body", "DoStatement", "EmptyStatement", "EnumDeclaration", "EnumValueDeclaration", "path", "isDeclare", "ExportStatement", "ExportDefaultStatement", "externalName", "ExportImportStatement", "localName", "exportedName", "ExportMember", "ExpressionStatement", "ifTrue", "ifFalse", "IfStatement", "declarations", "ImportStatement", "namespaceName", "foreignName", "ImportDeclaration", "InterfaceDeclaration", "FieldDeclaration", "incrementor", "ForStatement", "variable", "iterable", "ForOfStatement", "signature", "arrowKind", "FunctionDeclaration", "keyType", "valueType", "IndexSignatureNode", "MethodDeclaration", "NamespaceDeclaration", "ReturnStatement", "cases", "SwitchStatement", "SwitchCase", "ThrowStatement", "bodyStatements", "catchVariable", "catchStatements", "finallyStatements", "TryStatement", "TypeDeclaration", "ModuleDeclaration", "VariableStatement", "VariableDeclaration", "VoidStatement", "statement", "WhileStatement", "literalKind", "node", "TypeNode", "typeParameterNodes", "namedTypeNode", "typeArgumentNodes", "i", "k", "functionTypeNode", "parameterNodes", "identifier", "next", "ParameterKind", "flag", "fromNode", "nameNode", "nameStr", "propertyAccessNode", "propStr", "decoratorKind", "CommentKind", "Expression", "LiteralKind", "LiteralExpression", "AssertionKind", "numTypeArguments", "Range", "numArguments", "UnaryExpression", "Statement", "SourceKind", "Source", "_Source", "sourceKind", "normalizedPath", "internalPath", "mangleInternalPath", "pos", "PATH_DELIMITER", "source", "LIBRARY_PREFIX", "LIBRARY_SUBST", "lineCache", "off", "end", "l", "r", "m", "s", "DeclarationStatement", "VariableLikeDeclarationStatement", "normalizePath", "resolvePath", "parameterIndex", "ArrowKind", "_FunctionDeclaration", "moduleName", "findDecorator", "decorator", "isTypeOmitted", "Token", "IdentifierHandling", "tokenFromKeyword", "text", "len", "tokenIsAlsoIdentifier", "token", "isIllegalVariableIdentifier", "name", "operatorTokenToString", "Tokenizer", "DiagnosticEmitter", "source", "diagnostics", "text", "end", "pos", "identifierHandling", "token", "maxTokenLength", "c", "chr", "isDecimal", "commentStartPos", "commentKind", "closed", "isHighSurrogate", "combineSurrogates", "isIdentifierStart", "posBefore", "numCodeUnits", "isIdentifierPart", "maybeKeywordToken", "tokenFromKeyword", "tokenIsAlsoIdentifier", "isWhiteSpace", "start", "maxCompoundLength", "nextToken", "tokenBefore", "tokenPosBefore", "isLineBreak", "state", "reusableState", "State", "range", "Range", "quote", "isTaggedTemplate", "result", "escaped", "flags", "isOctal", "value", "sepEnd", "i64_4", "nextValue", "overflowOccurred", "isHexBase", "i64_10", "i64_3", "sepCount", "allowLeadingZeroSep", "remain", "startIfTaggedTemplate", "value32", "invalid", "tokenPos", "TypeRef", "_BinaryenTypeFuncref", "_BinaryenTypeExternref", "_BinaryenTypeAnyref", "_BinaryenTypeEqref", "_BinaryenTypeStructref", "_BinaryenTypeArrayref", "_BinaryenTypeI31ref", "_BinaryenTypeStringref", "_BinaryenTypeStringviewWTF8", "_BinaryenTypeStringviewWTF16", "_BinaryenTypeStringviewIter", "_BinaryenTypeNullref", "_BinaryenTypeNullFuncref", "_BinaryenTypeNullExternref", "HeapTypeRef", "isBottom", "ht", "_BinaryenHeapTypeIsBottom", "getBottom", "_BinaryenHeapTypeGetBottom", "isSubtype", "superHt", "_BinaryenHeapTypeIsSubType", "leastUpperBound", "a", "b", "t", "PackedType", "TypeBuilderErrorReason", "toString", "reason", "FeatureFlags", "ExpressionId", "ExternalKind", "UnaryOp", "BinaryOp", "AtomicRMWOp", "SIMDExtractOp", "SIMDReplaceOp", "SIMDShiftOp", "SIMDLoadOp", "SIMDLoadStoreLaneOp", "SIMDTernaryOp", "RefAsOp", "BrOnOp", "StringNewOp", "StringMeasureOp", "StringEncodeOp", "StringEqOp", "StringAsOp", "StringIterMoveOp", "StringSliceWTFOp", "ExpressionRunnerFlags", "MemorySegment", "buffer", "offset", "Module", "_Module", "ref", "useShadowStack", "sizeType", "_malloc", "_BinaryenSizeofLiteral", "_BinaryenModuleCreate", "cArr", "allocU8Array", "module", "_BinaryenModuleRead", "_free", "value", "out", "_BinaryenLiteralInt32", "_BinaryenConst", "valueLow", "valueHigh", "_BinaryenLiteralInt64", "_BinaryenLiteralFloat32", "_BinaryenLiteralFloat64", "bytes", "i", "__i32_store8", "_BinaryenLiteralVec128", "type", "_BinaryenRefNull", "left", "right", "_BinaryenRefEq", "_BinaryenStringEq", "op", "isWam64", "_BinaryenUnary", "isWasm64", "_BinaryenBinary", "name", "CommonNames", "is64", "cStr", "_BinaryenMemorySize", "delta", "_BinaryenMemoryGrow", "_BinaryenTableSize", "_BinaryenTableGrow", "index", "_BinaryenLocalGet", "_BinaryenExpressionGetType", "BuiltinNames", "isManaged", "_BinaryenLocalTee", "_BinaryenGlobalGet", "_BinaryenTableGet", "signed", "ptr", "align", "_BinaryenLoad", "_BinaryenStore", "_BinaryenAtomicLoad", "_BinaryenAtomicStore", "_BinaryenAtomicRMW", "expected", "replacement", "_BinaryenAtomicCmpxchg", "timeout", "expectedType", "_BinaryenAtomicWait", "notifyCount", "_BinaryenAtomicNotify", "_BinaryenAtomicFence", "_BinaryenLocalSet", "_BinaryenGlobalSet", "_BinaryenTableSet", "label", "children", "allocPtrArray", "ret", "_BinaryenBlock", "stmts", "length", "single", "getExpressionId", "singleType", "getExpressionType", "condition", "_BinaryenBreak", "expression", "_BinaryenDrop", "result", "getSideEffects", "body", "_BinaryenLoop", "ifTrue", "ifFalse", "_BinaryenIf", "_BinaryenNop", "_BinaryenReturn", "_BinaryenSelect", "names", "defaultName", "numNames", "strs", "_BinaryenSwitch", "target", "operands", "returnType", "isReturn", "_BinaryenReturnCall", "_BinaryenCall", "tableName", "params", "results", "_BinaryenReturnCallIndirect", "_BinaryenCallIndirect", "_BinaryenUnreachable", "dest", "source", "size", "destName", "sourceName", "cStr1", "cStr2", "_BinaryenMemoryCopy", "_BinaryenMemoryFill", "catchTags", "catchBodies", "delegateTarget", "numCatchTags", "cArr1", "cArr2", "_BinaryenTry", "tagName", "_BinaryenThrow", "_BinaryenRethrow", "_BinaryenPop", "_BinaryenTupleMake", "tuple", "_BinaryenTupleExtract", "vec", "idx", "_BinaryenSIMDExtract", "_BinaryenSIMDReplace", "vec1", "vec2", "mask", "_BinaryenSIMDShuffle", "c", "_BinaryenSIMDTernary", "shift", "_BinaryenSIMDShift", "_BinaryenSIMDLoad", "_BinaryenSIMDLoadStoreLane", "expr", "_BinaryenRefIsNull", "_BinaryenRefAs", "isNullableType", "_BinaryenRefFunc", "_BinaryenRefI31", "_BinaryenI31Get", "mutable", "initializer", "_BinaryenAddGlobal", "_BinaryenGetGlobal", "_BinaryenRemoveGlobal", "_BinaryenAddTag", "_BinaryenGetTag", "_BinaryenRemoveTag", "varTypes", "_BinaryenAddFunction", "funcRef", "_BinaryenFunctionSetLocalName", "_BinaryenGetFunction", "_BinaryenRemoveFunction", "paramTypes", "tempName", "createType", "func", "_BinaryenSetStart", "internalName", "externalName", "_BinaryenAddFunctionExport", "_BinaryenAddTableExport", "_BinaryenAddMemoryExport", "_BinaryenAddGlobalExport", "_BinaryenAddTagExport", "_BinaryenRemoveExport", "_BinaryenGetExport", "externalModuleName", "externalBaseName", "cStr3", "_BinaryenAddFunctionImport", "_BinaryenAddTableImport", "shared", "_BinaryenAddMemoryImport", "globalType", "_BinaryenAddGlobalImport", "_BinaryenAddTagImport", "initial", "maximum", "segments", "exportName", "k", "segs", "psvs", "offs", "sizs", "segment", "cArr3", "cArr4", "allocU32Array", "_BinaryenSetMemory", "funcs", "tableRef", "_BinaryenGetTable", "_BinaryenTableSetInitial", "_BinaryenTableSetMax", "_BinaryenAddTable", "_BinaryenAddActiveElementSegment", "contents", "_BinaryenAddCustomSection", "_BinaryenGetOptimizeLevel", "level", "_BinaryenSetOptimizeLevel", "_BinaryenGetShrinkLevel", "_BinaryenSetShrinkLevel", "_BinaryenGetDebugInfo", "on", "_BinaryenSetDebugInfo", "_BinaryenGetLowMemoryUnused", "_BinaryenSetLowMemoryUnused", "_BinaryenGetZeroFilledMemory", "_BinaryenSetZeroFilledMemory", "_BinaryenGetFastMath", "_BinaryenSetFastMath", "key", "_BinaryenGetPassArgument", "readString", "_BinaryenSetPassArgument", "_BinaryenClearPassArguments", "_BinaryenGetAlwaysInlineMaxSize", "_BinaryenSetAlwaysInlineMaxSize", "_BinaryenGetFlexibleInlineMaxSize", "_BinaryenSetFlexibleInlineMaxSize", "_BinaryenGetOneCallerInlineMaxSize", "_BinaryenSetOneCallerInlineMaxSize", "_BinaryenGetAllowInliningFunctionsWithLoops", "enabled", "_BinaryenSetAllowInliningFunctionsWithLoops", "_BinaryenModuleGetFeatures", "featureFlags", "_BinaryenModuleSetFeatures", "passes", "cStrs", "allocString", "_BinaryenFunctionRunPasses", "_BinaryenModuleRunPasses", "optimizeLevel", "shrinkLevel", "debugInfo", "zeroFilledMemory", "_BinaryenModuleValidate", "_BinaryenModuleInterpret", "sourceMapUrl", "_BinaryenSizeofAllocateAndWriteResult", "resPtr", "urlPtr", "_BinaryenModuleAllocateAndWrite", "binaryPtr", "__i32_load", "binaryLen", "srcMapPtr", "binary", "BinaryModule", "readBuffer", "watFormat", "textPtr", "_BinaryenModuleAllocateAndWriteStackIR", "_BinaryenModuleAllocateAndWriteText", "text", "str", "cached", "_values", "_BinaryenModuleDispose", "Relooper", "_BinaryenExpressionGetId", "_BinaryenExpressionCopy", "flags", "maxDepth", "maxLoopIterations", "runner", "_ExpressionRunnerCreate", "precomp", "_ExpressionRunnerRunAndDispose", "getBinaryOp", "getBinaryLeft", "getBinaryRight", "_BinaryenModuleAddDebugInfoFileName", "_BinaryenModuleGetDebugInfoFileName", "fileIndex", "lineNumber", "columnNumber", "_BinaryenFunctionSetDebugLocation", "types", "_BinaryenTypeCreate", "expandType", "arity", "_BinaryenTypeArity", "_BinaryenTypeExpand", "_BinaryenTypeIsNullable", "getConstValueI32", "_BinaryenConstGetValueI32", "getConstValueI64Low", "_BinaryenConstGetValueI64Low", "getConstValueI64High", "_BinaryenConstGetValueI64High", "getConstValueF32", "_BinaryenConstGetValueF32", "getConstValueF64", "_BinaryenConstGetValueF64", "getConstValueV128", "_BinaryenConstGetValueV128", "__i32_load8_u", "isConstZero", "isConstNonZero", "isConstNegZero", "d", "isConstNaN", "isConstExpressionNaN", "id", "getLocalGetIndex", "_BinaryenLocalGetGetIndex", "getLocalSetIndex", "_BinaryenLocalSetGetIndex", "getLocalSetValue", "_BinaryenLocalSetGetValue", "isLocalTee", "_BinaryenLocalSetIsTee", "getGlobalGetName", "_BinaryenGlobalGetGetName", "_BinaryenBinaryGetOp", "_BinaryenBinaryGetLeft", "_BinaryenBinaryGetRight", "getUnaryOp", "_BinaryenUnaryGetOp", "getUnaryValue", "_BinaryenUnaryGetValue", "getLoadBytes", "_BinaryenLoadGetBytes", "getLoadOffset", "_BinaryenLoadGetOffset", "getLoadPtr", "_BinaryenLoadGetPtr", "isLoadSigned", "_BinaryenLoadIsSigned", "getStoreBytes", "_BinaryenStoreGetBytes", "getStoreOffset", "_BinaryenStoreGetOffset", "getStorePtr", "_BinaryenStoreGetPtr", "getStoreValue", "_BinaryenStoreGetValue", "getBlockName", "_BinaryenBlockGetName", "getBlockChildCount", "_BinaryenBlockGetNumChildren", "getBlockChildAt", "_BinaryenBlockGetChildAt", "getIfCondition", "_BinaryenIfGetCondition", "getIfTrue", "_BinaryenIfGetIfTrue", "getIfFalse", "_BinaryenIfGetIfFalse", "getLoopName", "_BinaryenLoopGetName", "getLoopBody", "_BinaryenLoopGetBody", "getBreakName", "_BinaryenBreakGetName", "getBreakCondition", "_BinaryenBreakGetCondition", "getSelectThen", "_BinaryenSelectGetIfTrue", "getSelectElse", "_BinaryenSelectGetIfFalse", "getSelectCondition", "_BinaryenSelectGetCondition", "getDropValue", "_BinaryenDropGetValue", "getReturnValue", "_BinaryenReturnGetValue", "getCallTarget", "_BinaryenCallGetTarget", "getCallOperandCount", "_BinaryenCallGetNumOperands", "getCallOperandAt", "_BinaryenCallGetOperandAt", "getMemoryGrowDelta", "_BinaryenMemoryGrowGetDelta", "getFunctionBody", "_BinaryenFunctionGetBody", "getFunctionName", "_BinaryenFunctionGetName", "getFunctionParams", "_BinaryenFunctionGetParams", "getFunctionResults", "_BinaryenFunctionGetResults", "getFunctionVars", "count", "_BinaryenFunctionGetNumVars", "_BinaryenFunctionGetVar", "getGlobalName", "global", "_BinaryenGlobalGetName", "getGlobalType", "_BinaryenGlobalGetType", "isGlobalMutable", "_BinaryenGlobalIsMutable", "getGlobalInit", "_BinaryenGlobalGetInitExpr", "getTagName", "tag", "_BinaryenTagGetName", "getTagParams", "_BinaryenTagGetParams", "getTagResults", "_BinaryenTagGetResults", "_Relooper", "_RelooperCreate", "code", "_RelooperAddBlock", "from", "to", "_RelooperAddBranch", "_RelooperAddBlockWithSwitch", "indexes", "allocI32Array", "_RelooperAddBranchForSwitch", "entry", "labelHelper", "_RelooperRenderAndDispose", "SwitchBuilder", "valueIndex", "codeIndex", "cases", "localIndex", "labelPostfix", "numCases", "values", "numValues", "labels", "defaultIndex", "defaultLabel", "current", "block", "lastCase", "SideEffects", "_BinaryenExpressionGetSideEffects", "mustPreserveSideEffects", "u8s", "len", "i32s", "val", "__i32_store", "u32s", "ptrs", "stringLengthUTF8", "c1", "isHighSurrogate", "isLowSurrogate", "u", "c2", "combineSurrogates", "arr", "cp", "u1", "u2", "u3", "ch", "SURROGATE_HIGH", "SURROGATE_LOW", "output", "sourceMap", "DEBUG_TYPEBUILDER", "ensureType", "Type", "typeRef", "tryEnsureBasicType", "originalType", "_BinaryenTypeFromHeapType", "_BinaryenTypeGetHeapType", "builder", "_TypeBuilderCreate", "seen", "prepareType", "_TypeBuilderGetSize", "_TypeBuilderBuildAndDispose", "errorIndex", "errorReason", "_keys", "seenType", "heapType", "fullType", "classInstance", "_BinaryenModuleSetTypeName", "members", "numFieldsInType", "_BinaryenStructTypeGetNumFields", "numFieldsInClass", "member", "property", "_BinaryenModuleSetFieldName", "determinePackedType", "classReference", "base", "baseRef", "_TypeBuilderGrow", "heapTypeRef", "_TypeBuilderGetTempHeapType", "_TypeBuilderGetTempRefType", "fieldTypes", "packedTypes", "fieldMutables", "fieldType", "cArrFT", "cArrPT", "cArrFM", "_TypeBuilderSetStructType", "_TypeBuilderSetSubType", "signatureReference", "tempTypeRef", "resultTypes", "parameterTypes", "paramType", "tempParamType", "_TypeBuilderGetTempTupleType", "tempResultType", "cArrRT", "_TypeBuilderSetSignatureType", "FlowFlags", "LocalFlags", "FieldFlags", "ConditionKind", "Flow", "_Flow", "targetFunction", "inlineFunction", "flow", "flag", "condiFlags", "newBreakContext", "newContinueContext", "branch", "thisFieldFlags", "cloneMap", "condExpr", "trueFlows", "trueFlow", "falseFlows", "falseFlow", "name", "definition", "scopedTypeAlias", "current", "sourceParent", "type", "local", "scopedLocals", "scopedLocal", "mangleInternalName", "declarationNode", "scopedDummy", "Local", "index", "reportNode", "existingLocal", "scopedAlias", "scope", "element", "defaultIfInlined", "localFlags", "flags", "sourceFunction", "parent", "classInstance", "members", "_values", "i", "k", "member", "property", "field", "fieldFlags", "id", "stack", "expectedLabel", "other", "otherFlags", "thisFlags", "newFlags", "thisLocalFlags", "numThisLocalFlags", "otherLocalFlags", "numOtherLocalFlags", "maxLocalFlags", "left", "right", "leftFlags", "rightFlags", "rightLocalFlags", "leftLocalFlags", "numLeftLocalFlags", "numRightLocalFlags", "leftFieldFlags", "newFieldFlags", "rightFieldFlags", "_keys", "key", "numLocalsBefore", "localsByIndex", "needsRecompile", "expr", "getExpressionId", "isLocalTee", "getLocalSetIndex", "getLocalGetIndex", "iff", "getLocalSetValue", "ifFalse", "getIfFalse", "isConstZero", "getIfCondition", "getIfTrue", "getUnaryOp", "getUnaryValue", "getBinaryOp", "getBinaryLeft", "getBinaryRight", "isConstNonZero", "getCallTarget", "BuiltinNames", "getCallOperandCount", "getCallOperandAt", "ifTrue", "operand", "canConversionOverflow", "global", "getGlobalGetName", "getConstValueI32", "Type", "shift", "value", "getExpressionType", "TypeRef", "getConstValueI64Low", "getConstValueF32", "getConstValueF64", "fromType", "signed", "isLoadSigned", "getLoadBytes", "getBlockName", "size", "getBlockChildCount", "last", "getBlockChildAt", "getSelectThen", "getSelectElse", "instancesByName", "instanceName", "instance", "functionInstance", "returnType", "levels", "sb", "toType", "ReportMode", "Resolver", "DiagnosticEmitter", "program", "node", "flow", "ctxElement", "ctxTypes", "reportMode", "resolved", "nameNode", "typeArgumentNodes", "isSimpleType", "simpleName", "type", "element", "shadowType", "Type", "instance", "cloneMap", "typeDefinition", "text", "CommonNames", "typeParameterNodes", "typeArguments", "explicitThisType", "thisType", "parameterNodes", "numParameters", "parameterTypes", "requiredParameters", "hasRest", "i", "parameterNode", "parameterTypeNode", "isTypeOmitted", "parameterType", "returnTypeNode", "returnType", "signature", "Signature", "typeArgumentNode", "typeArgument", "classReference", "overload", "signatureReference", "prev", "next", "typeParameters", "alternativeReportNode", "minParameterCount", "maxParameterCount", "k", "argumentCount", "Range", "oldCtxTypes", "prototype", "ctxFlow", "contextualTypeArguments", "numTypeParameters", "typeParameterNames", "name", "argumentNodes", "numArguments", "argumentExpression", "typeNode", "resolvedTypeArguments", "typeParameterNode", "inferredType", "defaultType", "parent", "defaultTypeContextualTypeArguments", "resolvedDefaultType", "namedTypeNode", "classPrototype", "currentType", "functionTypeNode", "kind", "isTypedElement", "wrappedType", "ctxType", "resolvingExpressions", "outerFlow", "global", "targetNode", "target", "propertyName", "variableLikeElement", "propertyInstance", "getterInstance", "setterInstance", "classInstance", "elementExpression", "indexedGet", "resolvedType", "functionInstance", "wrapper", "classLikeTarget", "findBase", "member", "basePrototype", "baseInstance", "targetExpression", "targetType", "indexSignature", "expr", "negate", "intValue", "range", "operatorTokenToString", "operand", "operator", "OperatorKind", "left", "right", "leftType", "rightType", "commonType", "thisLocal", "superLocal", "base", "intType", "fltType", "expressions", "length", "elementType", "numNullLiterals", "expression", "functionPrototype", "BuiltinNames", "targetElement", "thenType", "elseType", "declaration", "body", "functionType", "tempFlow", "Flow", "parameters", "parameter", "instanceKey", "typesToString", "resolvedInstance", "classTypeArguments", "classTypeParameters", "numClassTypeArguments", "classTypeParameterName", "signatureNode", "numFunctionTypeArguments", "signatureParameters", "numSignatureParameters", "parameterDeclaration", "nameInclTypeParameters", "Function", "methodOrPropertyName", "baseClass", "baseMember", "incompatibleOverride", "baseProperty", "baseGetter", "baseSetter", "baseFunction", "reportNode", "overridePrototypes", "parentClassInstance", "overrides", "_values", "unboundOverridePrototype", "unboundOverrideParent", "classInstances", "j", "l", "overrideInstance", "boundPropertyPrototype", "boundPropertyInstance", "boundPrototype", "Interface", "Class", "pendingClasses", "numTypeArguments", "anyPending", "current", "extendsNode", "interfacePrototypes", "interfacePrototype", "implementsNode", "iface", "thisMember", "thisClass", "hasErrors", "members", "unimplemented", "interfaces", "ifaceMembers", "_keys", "memberName", "ifaceMember", "existingMember", "memoryOffset", "implicitlyExtendsObject", "baseMembers", "instanceMemberPrototypes", "boundInstance", "fieldType", "needsLayout", "existingPrototype", "existingProperty", "byteSize", "isPowerOf2", "mask", "ctorPrototype", "ctorInstance", "overloadPrototypes", "overloadKind", "overloadPrototype", "operatorInstance", "overloads", "index", "IndexSignature", "pending", "dependsOnInstance", "_values2", "Property", "getterPrototype", "setterPrototype", "Dependee", "source", "reportNode", "Parser", "DiagnosticEmitter", "diagnostics", "sources", "text", "path", "isEntry", "normalizedPath", "normalizePath", "internalPath", "mangleInternalPath", "dependees", "dependee", "Source", "LIBRARY_PREFIX", "PATH_DELIMITER", "tn", "Tokenizer", "statements", "statement", "namespace", "flags", "startPos", "decorators", "decorator", "exportStart", "exportEnd", "defaultStart", "defaultEnd", "declareStart", "declareEnd", "contextIsAmbient", "first", "state", "abstractStart", "abstractEnd", "next", "i", "k", "Node", "backlog", "dependent", "current", "acceptParenthesized", "suppressErrors", "token", "type", "isInnerParenthesized", "signature", "innerType", "name", "parameters", "parameter", "nextType", "typeIsNull", "nextTypeIsNull", "bracketStart", "bracketRange", "nullable", "thisType", "isSignature", "firstParamNameNoType", "firstParamKind", "paramStart", "kind", "param", "returnType", "expression", "args", "isFor", "declarations", "declaration", "ret", "parentFlags", "parentDecorators", "identifier", "isIllegalVariableIdentifier", "initializer", "range", "Range", "members", "member", "value", "expr", "nextToken", "typeParameters", "seenOptional", "start", "typeParameter", "extendsType", "defaultType", "isConstructor", "seenRest", "reportedRest", "isRest", "isOptional", "startRange", "accessFlags", "signatureStart", "isSetter", "body", "arrowKind", "explicitThis", "bodyExpression", "isInterface", "implementsTypes", "DeclarationStatement", "parent", "accessStart", "accessEnd", "staticStart", "staticEnd", "overrideStart", "overrideEnd", "readonlyStart", "readonlyEnd", "isGetter", "getStart", "getEnd", "setStart", "setEnd", "isGetterOrSetter", "retIndex", "typeParametersStart", "implicitFieldDeclaration", "retMethod", "retField", "keyType", "valueType", "isDeclare", "currentSource", "exportPaths", "asIdentifier", "namespaceName", "skipFrom", "topLevel", "condition", "incrementor", "variable", "iterable", "elseStatement", "switchCases", "switchCase", "label", "stmt", "bodyStatements", "catchVariable", "catchStatements", "finallyStatements", "isCircularTypeAlias", "moduleName", "operand", "typeName", "typeArguments", "arguments_", "again", "inner", "elementExpressions", "names", "values", "toType", "identifierText", "regexpPattern", "end", "precedence", "nextPrecedence", "determinePrecedence", "isType", "ifThen", "ifElse", "commaExprs", "tag", "parts", "rawParts", "exprs", "call", "callee", "potentiallyGeneric", "depth", "Precedence", "functionType", "AL_SIZE", "AL_MASK", "QueuedImport", "localFile", "localIdentifier", "foreignIdentifier", "foreignPath", "foreignPathAlt", "QueuedExport", "QueuedExportStar", "pathLiteral", "OperatorKind", "fromDecorator", "decoratorKind", "arg", "fromBinaryToken", "token", "fromUnaryPrefixToken", "fromUnaryPostfixToken", "Program", "DiagnosticEmitter", "options", "diagnostics", "Module", "Parser", "Resolver", "nativeFile", "File", "Source", "cached", "CommonNames", "prototype", "internalPath", "sources", "i", "source", "ref", "modifiedFunctionName", "getFunctionName", "instancesByName", "element", "currentOffset", "blockOverhead", "payloadSize", "isManaged", "blockSize", "blockMinsize", "blockMaxsize", "tagsMask", "name", "flags", "range", "Node", "identifier", "signature", "parent", "decoratorFlags", "Function", "FunctionPrototype", "declaration", "elementsByDeclaration", "Type", "TypeDefinition", "queuedImports", "queuedExports", "queuedExportsStar", "queuedExtends", "queuedImplements", "k", "file", "statements", "j", "l", "statement", "_keys", "starExports", "exportStar", "foreignFile", "madeProgress", "queuedImport", "localName", "exports", "exportNames", "exportName", "queuedExport", "globalElement", "isDeclaredElement", "resolver", "thisPrototype", "extendsNode", "baseElement", "basePrototype", "Range", "instanesMembers", "members", "member", "hasOverride", "instanceMembers", "implementsNodes", "implementsNode", "interfaceElement", "interfacePrototype", "interfacePrototypes", "globalAliases", "BuiltinNames", "alias", "firstChar", "elementsByName", "_values", "thisInstanceMembers", "thisMembers", "seen", "baseInstanceMembers", "thisMember", "baseMember", "baseInterfacePrototypes", "baseInterfacePrototype", "nextPrototype", "thisClass", "baseClass", "thisMethod", "baseMethod", "overrides", "baseMethodInstances", "a", "b", "thisProperty", "baseProperty", "thisIsField", "baseGetter", "thisGetter", "baseGetterInstances", "baseSetter", "thisSetter", "baseSetterInstances", "elements", "kind", "resolved", "typeArguments", "exportsStar", "propertyPrototype", "getterPrototype", "setterPrototype", "staticMembers", "moduleName", "moduleImports", "module", "type", "className", "wrapperClasses", "classElement", "value", "global", "Global", "existing", "merged", "tryMerge", "filesByName", "foreignName", "fileQueuedExports", "queuedExportForeignPath", "otherFile", "decorators", "acceptedFlags", "decorator", "DecoratorKind", "flag", "DecoratorFlags", "feature", "reportNode", "featureToString", "classReference", "signatureReference", "thisType", "parameterTypes", "returnType", "ClassPrototype", "implementsTypes", "numImplementsTypes", "memberDeclarations", "memberDeclaration", "methodDeclaration", "method", "PropertyPrototype", "isStatic", "builtinFunctions", "classPrototype", "args", "numArgs", "firstArg", "text", "overloads", "parentMembers", "property", "isGetter", "GETTER_PREFIX", "SETTER_PREFIX", "Enum", "values", "EnumValue", "queued", "INDEX_SUFFIX", "declarations", "namespaceName", "validDecorators", "InterfacePrototype", "initializer", "typeNode", "original", "Namespace", "copyMembers", "builtinVariables_onAccess", "ElementKind", "fromKind", "Element", "internalName", "program", "current", "isType", "localIdentifierIfImport", "originalDeclaration", "reportedIdentifier", "other", "vis", "declaredElements", "DeclaredElement", "identifierNode", "signatureNode", "typedElements", "isTypedElement", "TypedElement", "startFunction", "Signature", "ns", "memberName", "mangleInternalName", "ConstantValueKind", "VariableLikeElement", "Parameter", "Local", "index", "flow", "_FunctionPrototype", "classInstance", "boundPrototypes", "bound", "instanceKey", "instances", "instance", "_Function", "nameInclTypeParameters", "contextualTypeArguments", "Flow", "localIndex", "local", "scopedLocals", "parameterType", "parameterName", "registerConcreteElement", "localsByIndex", "numTotal", "numFixed", "numAdditional", "types", "parameters", "getDefaultParameterName", "postfix", "requiredParameters", "stub", "STUB_DELIMITER", "defaultFlow", "breakStack", "debugLocations", "expressionRef", "localNameMap", "_PropertyPrototype", "firstDeclaration", "fieldDeclaration", "nativeRange", "getterDeclaration", "MethodDeclaration", "FunctionTypeNode", "setterDeclaration", "ParameterNode", "NamedTypeNode", "TypeName", "IdentifierExpression", "setterParameters", "Property", "diag", "propertyGetter", "propertySetter", "IndexSignature", "isUnchecked", "_isInterface", "arrayBufferViewInstance", "basePtototype", "Class", "usizeType", "id", "typeParameters", "numTypeArguments", "lengthField", "candidates", "aBase", "bBase", "base", "inheritedTypeArguments", "baseName", "baseType", "extenders", "extender", "nextBase", "baseInterfaces", "baseInterface", "iface", "nextIface", "implementers", "interfaces", "target", "unchecked", "uncheckedOverload", "fieldName", "overhead", "buffer", "OBJECT", "baseOffset", "offset", "typeKind", "writeI8", "writeI16", "writeI32", "writeI64", "writeI32AsI64", "writeI64AsI32", "writeF32", "writeF64", "extendedPrototype", "arrayPrototype", "staticArrayPrototype", "abvInstance", "Interface", "older", "newer", "olderIsExport", "newerIsExport", "src", "dest", "srcMembers", "destMembers", "isInstance", "asGlobal", "PATH_DELIMITER", "INNER_DELIMITER", "INSTANCE_DELIMITER", "STATIC_DELIMITER", "cachedDefaultParameterNames", "TypeKind", "TypeFlags", "Type", "_Type", "kind", "flags", "size", "program", "classReference", "signatureReference", "type", "wrapper", "wrapperClasses", "targetType", "nullableType", "other", "selfSignatureReference", "otherSignatureReference", "target", "signednessIsRelevant", "currentClass", "targetClass", "currentFunction", "targetFunction", "thisClass", "base", "baseClass", "left", "right", "contextualType", "leftClass", "rightClass", "lubClass", "Class", "CommonNames", "validWat", "nullablePostfix", "TypeRef", "_BinaryenTypeFromHeapType", "HeapTypeRef", "ensureType", "typesToRefs", "types", "numTypes", "ret", "i", "typesToString", "sb", "Signature", "_Signature", "parameterTypes", "returnType", "thisType", "requiredParameters", "hasRest", "id", "usizeType", "signatureTypes", "nextId", "signature", "uniqueKey", "existing", "numParameterTypes", "typeRefs", "createType", "thisThisType", "otherThisType", "selfParameterTypes", "otherParameterTypes", "numParameters", "selfParameterType", "otherParameterType", "checkCompatibleOverride", "targetThisType", "thisReturnType", "targetReturnType", "thisParameterTypes", "targetParameterTypes", "thisParameterType", "targetParameterType", "k", "indices", "index", "parameters", "optionalStart", "restIndex", "cloneParameterTypes", "BuiltinNames", "BuiltinVariableContext", "compiler", "element", "contextualType", "reportNode", "BuiltinFunctionContext", "prototype", "typeArguments", "operands", "thisOperand", "contextIsExact", "builtinFunctions", "builtinVariables_onCompile", "builtinVariables_onAccess", "checkConstantType_expr", "builtin_isBoolean", "ctx", "module", "type", "checkConstantType", "Type", "reifyConstantType", "builtin_isInteger", "builtin_isSigned", "builtin_isFloat", "builtin_isVector", "builtin_isReference", "builtin_isString", "classReference", "builtin_isArray", "builtin_isArrayLike", "builtin_isFunction", "builtin_isNullable", "builtin_isDefined", "checkTypeAbsent", "checkArgsRequired", "builtin_isConstant", "expr", "mustPreserveSideEffects", "getExpressionType", "builtin_isManaged", "builtin_isVoid", "builtin_lengthof", "signatureReference", "builtin_sizeof", "checkTypeRequired", "byteSize", "contextualUsize", "builtin_alignof", "isPowerOf2", "builtin_offsetof", "checkArgsOptional", "firstOperand", "fieldName", "fieldMember", "property", "builtin_nameof", "resultType", "value", "builtin_idof", "builtin_NaN_compile", "TypeRef", "builtin_NaN_access", "builtin_Infinity_compile", "builtin_Infinity_access", "builtin_clz", "checkTypeOptional", "arg0", "builtin_ctz", "builtin_popcnt", "builtin_rotl", "arg1", "flow", "temp1", "temp2", "builtin_rotr", "builtin_abs", "options", "builtin_max", "left", "op", "typeRef", "builtin_min", "builtin_ceil", "builtin_floor", "builtin_copysign", "builtin_nearest", "builtin_reinterpret", "isWasm64", "builtin_sqrt", "builtin_trunc", "builtin_isNaN", "getExpressionId", "getLocalGetIndex", "temp", "builtin_isFinite", "builtin_heap_base_compile", "builtin_heap_base_access", "builtin_data_end_compile", "builtin_data_end_access", "builtin_stack_pointer_compile", "builtin_stack_pointer_access", "builtin_rtti_base_compile", "builtin_rtti_base_access", "builtin_load", "outType", "numOperands", "immOffset", "immAlign", "evaluateImmediateOffset", "evaluateImmediateAlign", "builtin_store", "inType", "builtin_rem", "builtin_add", "builtin_sub", "builtin_mul", "builtin_div", "builtin_eq", "builtin_ne", "builtin_atomic_load", "checkFeatureEnabled", "builtin_atomic_store", "builtin_atomic_binary", "opName", "builtin_atomic_add", "builtin_atomic_sub", "builtin_atomic_and", "builtin_atomic_or", "builtin_atomic_xor", "builtin_atomic_xchg", "builtin_atomic_cmpxchg", "arg2", "builtin_atomic_wait", "builtin_atomic_notify", "builtin_atomic_fence", "builtin_select", "builtin_unreachable", "builtin_memory_size", "builtin_memory_grow", "builtin_memory_copy", "instance", "usizeType", "builtin_memory_fill", "builtin_memory_data", "offset", "elementType", "valuesOperand", "expressions", "numElements", "exprs", "isStatic", "i", "elementExpression", "precomp", "align", "buf", "size", "getConstValueI32", "builtin_i31_new", "builtin_i31_get", "builtin_changetype", "toType", "fromType", "builtin_assert", "evaled", "getConstValueI64Low", "getConstValueI64High", "getConstValueF32", "getConstValueF64", "abort", "builtin_unchecked", "ignoreUnchecked", "alreadyUnchecked", "builtin_call_indirect", "returnType", "indexArg", "operandExprs", "paramTypeRefs", "createType", "builtin_instantiate", "classInstance", "ctor", "builtin_diagnostic", "category", "builtin_error", "builtin_warning", "builtin_info", "builtin_function_call", "parent", "ftype", "signature", "functionArg", "thisType", "thisArg", "builtin_string_raw", "builtin_conversion", "builtin_i8", "builtin_i16", "builtin_i32", "builtin_i64", "builtin_isize", "builtin_u8", "builtin_u16", "builtin_u32", "builtin_u64", "builtin_usize", "builtin_bool", "builtin_f32", "builtin_f64", "builtin_v128", "builtin_i8x16", "bytes", "vars", "numVars", "writeI8", "vec", "fullVars", "builtin_i16x8", "writeI16", "builtin_i32x4", "writeI32", "builtin_i64x2", "off", "builtin_f32x4", "writeF32", "builtin_f64x2", "writeF64", "builtin_v128_splat", "builtin_v128_extract_lane", "idx", "maxIdx", "builtin_v128_replace_lane", "builtin_v128_shuffle", "laneWidth", "laneCount", "mask", "operand", "argN", "off8", "idx8", "builtin_v128_swizzle", "builtin_v128_load_splat", "builtin_v128_load_ext", "builtin_v128_load_zero", "builtin_v128_load_lane", "builtin_v128_store_lane", "builtin_v128_add", "builtin_v128_sub", "builtin_v128_mul", "builtin_v128_div", "builtin_v128_add_sat", "builtin_v128_sub_sat", "builtin_v128_min", "builtin_v128_max", "builtin_v128_pmin", "builtin_v128_pmax", "builtin_v128_dot", "builtin_v128_avgr", "builtin_v128_eq", "builtin_v128_ne", "builtin_v128_lt", "builtin_v128_le", "builtin_v128_gt", "builtin_v128_ge", "builtin_v128_narrow", "builtin_v128_neg", "builtin_v128_abs", "builtin_v128_sqrt", "builtin_v128_ceil", "builtin_v128_floor", "builtin_v128_trunc", "builtin_v128_nearest", "builtin_v128_convert", "builtin_v128_convert_low", "builtin_v128_trunc_sat", "builtin_v128_trunc_sat_zero", "builtin_v128_extend_low", "builtin_v128_extend_high", "builtin_v128_shl", "builtin_v128_shr", "builtin_v128_bitwise_binary", "builtin_v128_and", "builtin_v128_or", "builtin_v128_xor", "builtin_v128_andnot", "builtin_v128_bitwise_unary", "builtin_v128_not", "builtin_v128_bitselect", "builtin_v128_any_true", "builtin_v128_all_true", "builtin_v128_bitmask", "builtin_v128_popcnt", "builtin_v128_extadd_pairwise", "builtin_v128_demote_zero", "builtin_v128_promote_low", "builtin_v128_q15mulr_sat", "builtin_v128_extmul_low", "builtin_v128_extmul_high", "builtin_v128_relaxed_swizzle", "builtin_v128_relaxed_trunc", "builtin_v128_relaxed_trunc_zero", "builtin_v128_relaxed_madd", "builtin_v128_relaxed_nmadd", "builtin_v128_relaxed_laneselect", "builtin_v128_relaxed_min", "builtin_v128_relaxed_max", "builtin_v128_relaxed_q15mulr", "builtin_v128_relaxed_dot", "builtin_v128_relaxed_dot_add", "builtin_visit_globals", "builtin_visit_members", "builtin_i32_clz", "builtin_i64_clz", "builtin_i32_ctz", "builtin_i64_ctz", "builtin_i32_popcnt", "builtin_i64_popcnt", "builtin_i32_rotl", "builtin_i64_rotl", "builtin_i32_rotr", "builtin_i64_rotr", "builtin_f32_abs", "builtin_f64_abs", "builtin_f32_max", "builtin_f64_max", "builtin_f32_min", "builtin_f64_min", "builtin_f32_ceil", "builtin_f64_ceil", "builtin_f32_floor", "builtin_f64_floor", "builtin_f32_copysign", "builtin_f64_copysign", "builtin_f32_nearest", "builtin_f64_nearest", "builtin_i32_reinterpret_f32", "builtin_i64_reinterpret_f64", "builtin_f32_reinterpret_i32", "builtin_f64_reinterpret_i64", "builtin_f32_sqrt", "builtin_f64_sqrt", "builtin_f32_trunc", "builtin_f64_trunc", "builtin_i32_rem_s", "builtin_i32_rem_u", "builtin_i64_rem_s", "builtin_i64_rem_u", "builtin_i32_add", "builtin_i64_add", "builtin_f32_add", "builtin_f64_add", "builtin_i32_sub", "builtin_i64_sub", "builtin_f32_sub", "builtin_f64_sub", "builtin_i32_mul", "builtin_i64_mul", "builtin_f32_mul", "builtin_f64_mul", "builtin_i32_div_s", "builtin_i32_div_u", "builtin_i64_div_s", "builtin_i64_div_u", "builtin_f32_div", "builtin_f64_div", "builtin_i32_eq", "builtin_i64_eq", "builtin_f32_eq", "builtin_f64_eq", "builtin_i32_ne", "builtin_i64_ne", "builtin_f32_ne", "builtin_f64_ne", "builtin_i32_load8_s", "builtin_i32_load8_u", "builtin_i32_load16_s", "builtin_i32_load16_u", "builtin_i32_load", "builtin_i64_load8_s", "builtin_i64_load8_u", "builtin_i64_load16_s", "builtin_i64_load16_u", "builtin_i64_load32_s", "builtin_i64_load32_u", "builtin_i64_load", "builtin_f32_load", "builtin_f64_load", "builtin_i32_store8", "builtin_i32_store16", "builtin_i32_store", "builtin_i64_store8", "builtin_i64_store16", "builtin_i64_store32", "builtin_i64_store", "builtin_f32_store", "builtin_f64_store", "builtin_i32_atomic_load8_u", "builtin_i32_atomic_load16_u", "builtin_i32_atomic_load", "builtin_i64_atomic_load8_u", "builtin_i64_atomic_load16_u", "builtin_i64_atomic_load32_u", "builtin_i64_atomic_load", "builtin_i32_atomic_store8", "builtin_i32_atomic_store16", "builtin_i32_atomic_store", "builtin_i64_atomic_store8", "builtin_i64_atomic_store16", "builtin_i64_atomic_store32", "builtin_i64_atomic_store", "builtin_i32_atomic_rmw8_add_u", "builtin_i32_atomic_rmw16_add_u", "builtin_i32_atomic_rmw_add", "builtin_i64_atomic_rmw8_add_u", "builtin_i64_atomic_rmw16_add_u", "builtin_i64_atomic_rmw32_add_u", "builtin_i64_atomic_rmw_add", "builtin_i32_atomic_rmw8_sub_u", "builtin_i32_atomic_rmw16_sub_u", "builtin_i32_atomic_rmw_sub", "builtin_i64_atomic_rmw8_sub_u", "builtin_i64_atomic_rmw16_sub_u", "builtin_i64_atomic_rmw32_sub_u", "builtin_i64_atomic_rmw_sub", "builtin_i32_atomic_rmw8_and_u", "builtin_i32_atomic_rmw16_and_u", "builtin_i32_atomic_rmw_and", "builtin_i64_atomic_rmw8_and_u", "builtin_i64_atomic_rmw16_and_u", "builtin_i64_atomic_rmw32_and_u", "builtin_i64_atomic_rmw_and", "builtin_i32_atomic_rmw8_or_u", "builtin_i32_atomic_rmw16_or_u", "builtin_i32_atomic_rmw_or", "builtin_i64_atomic_rmw8_or_u", "builtin_i64_atomic_rmw16_or_u", "builtin_i64_atomic_rmw32_or_u", "builtin_i64_atomic_rmw_or", "builtin_i32_atomic_rmw8_xor_u", "builtin_i32_atomic_rmw16_xor_u", "builtin_i32_atomic_rmw_xor", "builtin_i64_atomic_rmw8_xor_u", "builtin_i64_atomic_rmw16_xor_u", "builtin_i64_atomic_rmw32_xor_u", "builtin_i64_atomic_rmw_xor", "builtin_i32_atomic_rmw8_xchg_u", "builtin_i32_atomic_rmw16_xchg_u", "builtin_i32_atomic_rmw_xchg", "builtin_i64_atomic_rmw8_xchg_u", "builtin_i64_atomic_rmw16_xchg_u", "builtin_i64_atomic_rmw32_xchg_u", "builtin_i64_atomic_rmw_xchg", "builtin_i32_atomic_rmw8_cmpxchg_u", "builtin_i32_atomic_rmw16_cmpxchg_u", "builtin_i32_atomic_rmw_cmpxchg", "builtin_i64_atomic_rmw8_cmpxchg_u", "builtin_i64_atomic_rmw16_cmpxchg_u", "builtin_i64_atomic_rmw32_cmpxchg_u", "builtin_i64_atomic_rmw_cmpxchg", "builtin_memory_atomic_wait32", "builtin_memory_atomic_wait64", "builtin_v128_load", "builtin_v128_load8x8_s", "builtin_v128_load8x8_u", "builtin_v128_load16x4_s", "builtin_v128_load16x4_u", "builtin_v128_load32x2_s", "builtin_v128_load32x2_u", "builtin_v128_load8_splat", "builtin_v128_load16_splat", "builtin_v128_load32_splat", "builtin_v128_load64_splat", "builtin_v128_load32_zero", "builtin_v128_load64_zero", "builtin_v128_load8_lane", "builtin_v128_load16_lane", "builtin_v128_load32_lane", "builtin_v128_load64_lane", "builtin_v128_store8_lane", "builtin_v128_store16_lane", "builtin_v128_store32_lane", "builtin_v128_store64_lane", "builtin_v128_store", "builtin_i8x16_splat", "builtin_i8x16_extract_lane_s", "builtin_i8x16_extract_lane_u", "builtin_i8x16_replace_lane", "builtin_i8x16_add", "builtin_i8x16_sub", "builtin_i8x16_min_s", "builtin_i8x16_min_u", "builtin_i8x16_max_s", "builtin_i8x16_max_u", "builtin_i8x16_avgr_u", "builtin_i8x16_abs", "builtin_i8x16_neg", "builtin_i8x16_add_sat_s", "builtin_i8x16_add_sat_u", "builtin_i8x16_sub_sat_s", "builtin_i8x16_sub_sat_u", "builtin_i8x16_shl", "builtin_i8x16_shr_s", "builtin_i8x16_shr_u", "builtin_i8x16_all_true", "builtin_i8x16_bitmask", "builtin_i8x16_popcnt", "builtin_i8x16_eq", "builtin_i8x16_ne", "builtin_i8x16_lt_s", "builtin_i8x16_lt_u", "builtin_i8x16_le_s", "builtin_i8x16_le_u", "builtin_i8x16_gt_s", "builtin_i8x16_gt_u", "builtin_i8x16_ge_s", "builtin_i8x16_ge_u", "builtin_i8x16_narrow_i16x8_s", "builtin_i8x16_narrow_i16x8_u", "builtin_i8x16_shuffle", "builtin_i8x16_swizzle", "builtin_i16x8_splat", "builtin_i16x8_extract_lane_s", "builtin_i16x8_extract_lane_u", "builtin_i16x8_replace_lane", "builtin_i16x8_add", "builtin_i16x8_sub", "builtin_i16x8_mul", "builtin_i16x8_min_s", "builtin_i16x8_min_u", "builtin_i16x8_max_s", "builtin_i16x8_max_u", "builtin_i16x8_avgr_u", "builtin_i16x8_abs", "builtin_i16x8_neg", "builtin_i16x8_add_sat_s", "builtin_i16x8_add_sat_u", "builtin_i16x8_sub_sat_s", "builtin_i16x8_sub_sat_u", "builtin_i16x8_shl", "builtin_i16x8_shr_s", "builtin_i16x8_shr_u", "builtin_i16x8_all_true", "builtin_i16x8_bitmask", "builtin_i16x8_eq", "builtin_i16x8_ne", "builtin_i16x8_lt_s", "builtin_i16x8_lt_u", "builtin_i16x8_le_s", "builtin_i16x8_le_u", "builtin_i16x8_gt_s", "builtin_i16x8_gt_u", "builtin_i16x8_ge_s", "builtin_i16x8_ge_u", "builtin_i16x8_narrow_i32x4_s", "builtin_i16x8_narrow_i32x4_u", "builtin_i16x8_extend_low_i8x16_s", "builtin_i16x8_extend_low_i8x16_u", "builtin_i16x8_extend_high_i8x16_s", "builtin_i16x8_extend_high_i8x16_u", "builtin_i16x8_extadd_pairwise_i8x16_s", "builtin_i16x8_extadd_pairwise_i8x16_u", "builtin_i16x8_q15mulr_sat_s", "builtin_i16x8_extmul_low_i8x16_s", "builtin_i16x8_extmul_low_i8x16_u", "builtin_i16x8_extmul_high_i8x16_s", "builtin_i16x8_extmul_high_i8x16_u", "builtin_i16x8_shuffle", "builtin_i32x4_splat", "builtin_i32x4_extract_lane", "builtin_i32x4_replace_lane", "builtin_i32x4_add", "builtin_i32x4_sub", "builtin_i32x4_mul", "builtin_i32x4_min_s", "builtin_i32x4_min_u", "builtin_i32x4_max_s", "builtin_i32x4_max_u", "builtin_i32x4_dot_i16x8_s", "builtin_i32x4_abs", "builtin_i32x4_neg", "builtin_i32x4_shl", "builtin_i32x4_shr_s", "builtin_i32x4_shr_u", "builtin_i32x4_all_true", "builtin_i32x4_bitmask", "builtin_i32x4_eq", "builtin_i32x4_ne", "builtin_i32x4_lt_s", "builtin_i32x4_lt_u", "builtin_i32x4_le_s", "builtin_i32x4_le_u", "builtin_i32x4_gt_s", "builtin_i32x4_gt_u", "builtin_i32x4_ge_s", "builtin_i32x4_ge_u", "builtin_i32x4_trunc_sat_f32x4_s", "builtin_i32x4_trunc_sat_f32x4_u", "builtin_i32x4_trunc_sat_f64x2_s_zero", "builtin_i32x4_trunc_sat_f64x2_u_zero", "builtin_i32x4_extend_low_i16x8_s", "builtin_i32x4_extend_low_i16x8_u", "builtin_i32x4_extend_high_i16x8_s", "builtin_i32x4_extend_high_i16x8_u", "builtin_i32x4_extadd_pairwise_i16x8_s", "builtin_i32x4_extadd_pairwise_i16x8_u", "builtin_i32x4_extmul_low_i16x8_s", "builtin_i32x4_extmul_low_i16x8_u", "builtin_i32x4_extmul_high_i16x8_s", "builtin_i32x4_extmul_high_i16x8_u", "builtin_i32x4_shuffle", "builtin_i64x2_splat", "builtin_i64x2_extract_lane", "builtin_i64x2_replace_lane", "builtin_i64x2_add", "builtin_i64x2_sub", "builtin_i64x2_mul", "builtin_i64x2_abs", "builtin_i64x2_neg", "builtin_i64x2_shl", "builtin_i64x2_shr_s", "builtin_i64x2_shr_u", "builtin_i64x2_all_true", "builtin_i64x2_bitmask", "builtin_i64x2_eq", "builtin_i64x2_ne", "builtin_i64x2_lt_s", "builtin_i64x2_le_s", "builtin_i64x2_gt_s", "builtin_i64x2_ge_s", "builtin_i64x2_extend_low_i32x4_s", "builtin_i64x2_extend_low_i32x4_u", "builtin_i64x2_extend_high_i32x4_s", "builtin_i64x2_extend_high_i32x4_u", "builtin_i64x2_extmul_low_i32x4_s", "builtin_i64x2_extmul_low_i32x4_u", "builtin_i64x2_extmul_high_i32x4_s", "builtin_i64x2_extmul_high_i32x4_u", "builtin_i64x2_shuffle", "builtin_f32x4_splat", "builtin_f32x4_extract_lane", "builtin_f32x4_replace_lane", "builtin_f32x4_add", "builtin_f32x4_sub", "builtin_f32x4_mul", "builtin_f32x4_div", "builtin_f32x4_neg", "builtin_f32x4_min", "builtin_f32x4_max", "builtin_f32x4_pmin", "builtin_f32x4_pmax", "builtin_f32x4_abs", "builtin_f32x4_sqrt", "builtin_f32x4_ceil", "builtin_f32x4_floor", "builtin_f32x4_trunc", "builtin_f32x4_nearest", "builtin_f32x4_eq", "builtin_f32x4_ne", "builtin_f32x4_lt", "builtin_f32x4_le", "builtin_f32x4_gt", "builtin_f32x4_ge", "builtin_f32x4_convert_i32x4_s", "builtin_f32x4_convert_i32x4_u", "builtin_f32x4_demote_f64x2_zero", "builtin_f32x4_shuffle", "builtin_f64x2_splat", "builtin_f64x2_extract_lane", "builtin_f64x2_replace_lane", "builtin_f64x2_add", "builtin_f64x2_sub", "builtin_f64x2_mul", "builtin_f64x2_div", "builtin_f64x2_neg", "builtin_f64x2_min", "builtin_f64x2_max", "builtin_f64x2_pmin", "builtin_f64x2_pmax", "builtin_f64x2_abs", "builtin_f64x2_sqrt", "builtin_f64x2_ceil", "builtin_f64x2_floor", "builtin_f64x2_trunc", "builtin_f64x2_nearest", "builtin_f64x2_eq", "builtin_f64x2_ne", "builtin_f64x2_lt", "builtin_f64x2_le", "builtin_f64x2_gt", "builtin_f64x2_ge", "builtin_f64x2_convert_low_i32x4_s", "builtin_f64x2_convert_low_i32x4_u", "builtin_f64x4_promote_low_f32x4", "builtin_f64x2_shuffle", "builtin_i8x16_relaxed_swizzle", "builtin_i32x4_relaxed_trunc_f32x4_s", "builtin_i32x4_relaxed_trunc_f32x4_u", "builtin_i32x4_relaxed_trunc_f64x2_s_zero", "builtin_i32x4_relaxed_trunc_f64x2_u_zero", "builtin_f32x4_relaxed_madd", "builtin_f32x4_relaxed_nmadd", "builtin_f64x2_relaxed_madd", "builtin_f64x2_relaxed_nmadd", "builtin_i8x16_relaxed_laneselect", "builtin_i16x8_relaxed_laneselect", "builtin_i32x4_relaxed_laneselect", "builtin_i64x2_relaxed_laneselect", "builtin_f32x4_relaxed_min", "builtin_f32x4_relaxed_max", "builtin_f64x2_relaxed_min", "builtin_f64x2_relaxed_max", "builtin_i16x8_relaxed_q15mulr_s", "builtin_i16x8_relaxed_dot_i8x16_i7x16_s", "builtin_i32x4_relaxed_dot_i8x16_i7x16_add_s", "compileVisitGlobals", "sizeTypeRef", "visitInstance", "_values", "k", "global", "ensureVisitMembersOf", "program", "sizeTypeSize", "body", "base", "hasVisitImpl", "visitPrototype", "visitSignature", "visitThisType", "needsTempValue", "members", "j", "l", "member", "fieldType", "fieldOffset", "compileVisitMembers", "managedClasses", "names", "cases", "nextId", "_keys", "instanceId", "current", "typeToRuntimeFlags", "flags", "compileRTTI", "count", "data", "abvInstance", "abvPrototype", "arrayPrototype", "setPrototype", "mapPrototype", "staticArrayPrototype", "lastId", "valueType", "segment", "expression", "naturalAlign", "feature", "featureToString", "setCurrentTypeOnError", "numTypeArguments", "expected", "expectedMinimum", "expectedMaximum", "Visitor", "currentExpression", "stack", "length", "expr", "name", "index", "previousExpression", "_BinaryenExpressionGetId", "_BinaryenBlockGetName", "i", "n", "_BinaryenBlockGetNumChildren", "_BinaryenBlockGetChildAt", "_BinaryenIfGetCondition", "_BinaryenIfGetIfTrue", "ifFalse", "_BinaryenIfGetIfFalse", "_BinaryenLoopGetName", "_BinaryenLoopGetBody", "_BinaryenBreakGetName", "condition", "_BinaryenBreakGetCondition", "value", "_BinaryenBreakGetValue", "defaultName", "_BinaryenSwitchGetDefaultName", "numNames", "_BinaryenSwitchGetNumNames", "_BinaryenSwitchGetNameAt", "_BinaryenSwitchGetCondition", "_BinaryenSwitchGetValue", "_BinaryenCallGetTarget", "numOperands", "_BinaryenCallGetNumOperands", "_BinaryenCallGetOperandAt", "_BinaryenCallIndirectGetTarget", "k", "_BinaryenCallIndirectGetNumOperands", "_BinaryenCallIndirectGetOperandAt", "_BinaryenLocalGetGetIndex", "_BinaryenLocalSetGetIndex", "_BinaryenLocalSetGetValue", "_BinaryenGlobalGetGetName", "_BinaryenGlobalSetGetName", "_BinaryenGlobalSetGetValue", "_BinaryenLoadGetPtr", "_BinaryenStoreGetPtr", "_BinaryenStoreGetValue", "_BinaryenUnaryGetValue", "_BinaryenBinaryGetLeft", "_BinaryenBinaryGetRight", "_BinaryenSelectGetIfTrue", "_BinaryenSelectGetIfFalse", "_BinaryenSelectGetCondition", "_BinaryenDropGetValue", "_BinaryenReturnGetValue", "_BinaryenMemoryGrowGetDelta", "_BinaryenAtomicRMWGetPtr", "_BinaryenAtomicRMWGetValue", "_BinaryenAtomicCmpxchgGetPtr", "_BinaryenAtomicCmpxchgGetExpected", "_BinaryenAtomicCmpxchgGetReplacement", "_BinaryenAtomicWaitGetPtr", "_BinaryenAtomicWaitGetExpected", "_BinaryenAtomicWaitGetTimeout", "_BinaryenAtomicNotifyGetPtr", "_BinaryenAtomicNotifyGetNotifyCount", "_BinaryenSIMDExtractGetVec", "_BinaryenSIMDReplaceGetVec", "_BinaryenSIMDReplaceGetValue", "_BinaryenSIMDShuffleGetLeft", "_BinaryenSIMDShuffleGetRight", "_BinaryenSIMDTernaryGetA", "_BinaryenSIMDTernaryGetB", "_BinaryenSIMDTernaryGetC", "_BinaryenSIMDShiftGetVec", "_BinaryenSIMDShiftGetShift", "_BinaryenSIMDLoadGetPtr", "_BinaryenSIMDLoadStoreLaneGetPtr", "_BinaryenSIMDLoadStoreLaneGetVec", "_BinaryenMemoryInitGetDest", "_BinaryenMemoryInitGetOffset", "_BinaryenMemoryInitGetSize", "_BinaryenMemoryCopyGetDest", "_BinaryenMemoryCopyGetSource", "_BinaryenMemoryCopyGetSize", "_BinaryenMemoryFillGetDest", "_BinaryenMemoryFillGetValue", "_BinaryenMemoryFillGetSize", "_BinaryenRefIsNullGetValue", "_BinaryenRefFuncGetFunc", "_BinaryenRefEqGetLeft", "_BinaryenRefEqGetRight", "_BinaryenTryGetBody", "numCatchBodies", "_BinaryenTryGetNumCatchBodies", "_BinaryenTryGetCatchBodyAt", "_BinaryenThrowGetTag", "_BinaryenThrowGetNumOperands", "_BinaryenThrowGetOperandAt", "_BinaryenTupleMakeGetNumOperands", "_BinaryenTupleMakeGetOperandAt", "_BinaryenTupleExtractGetTuple", "_BinaryenRefI31GetValue", "_BinaryenI31GetGetI31", "_BinaryenCallRefGetNumOperands", "_BinaryenCallRefGetOperandAt", "_BinaryenCallRefGetTarget", "_BinaryenRefTestGetRef", "_BinaryenRefCastGetRef", "_BinaryenBrOnGetName", "_BinaryenBrOnGetRef", "_BinaryenStructNewGetNumOperands", "_BinaryenStructNewGetOperandAt", "_BinaryenStructGetGetRef", "_BinaryenStructGetGetIndex", "_BinaryenStructSetGetRef", "_BinaryenStructSetGetIndex", "_BinaryenStructSetGetValue", "_BinaryenArrayNewGetSize", "init", "_BinaryenArrayNewGetInit", "numValues", "_BinaryenArrayNewFixedGetNumValues", "_BinaryenArrayNewFixedGetValueAt", "_BinaryenArrayGetGetRef", "_BinaryenArrayGetGetIndex", "_BinaryenArraySetGetRef", "_BinaryenArraySetGetIndex", "_BinaryenArraySetGetValue", "_BinaryenArrayLenGetRef", "_BinaryenArrayCopyGetDestRef", "_BinaryenArrayCopyGetDestIndex", "_BinaryenArrayCopyGetSrcRef", "_BinaryenArrayCopyGetSrcIndex", "_BinaryenArrayCopyGetLength", "_BinaryenRefAsGetValue", "_BinaryenStringNewGetPtr", "_BinaryenStringNewGetLength", "start", "_BinaryenStringNewGetStart", "end", "_BinaryenStringNewGetEnd", "_BinaryenStringMeasureGetRef", "_BinaryenStringEncodeGetRef", "_BinaryenStringEncodeGetPtr", "_BinaryenStringEncodeGetStart", "_BinaryenStringConcatGetLeft", "_BinaryenStringConcatGetRight", "_BinaryenStringEqGetLeft", "_BinaryenStringEqGetRight", "_BinaryenStringAsGetRef", "_BinaryenStringWTF8AdvanceGetRef", "_BinaryenStringWTF8AdvanceGetPos", "_BinaryenStringWTF8AdvanceGetBytes", "_BinaryenStringWTF16GetGetRef", "_BinaryenStringWTF16GetGetPos", "_BinaryenStringIterNextGetRef", "_BinaryenStringIterMoveGetRef", "_BinaryenStringIterMoveGetNum", "_BinaryenStringSliceWTFGetRef", "_BinaryenStringSliceWTFGetStart", "_BinaryenStringSliceWTFGetEnd", "_BinaryenStringSliceIterGetRef", "_BinaryenStringSliceIterGetNum", "Pass", "module", "currentFunction", "currentGlobal", "moduleRef", "_BinaryenGetNumFunctions", "_BinaryenGetFunctionByIndex", "func", "body", "_BinaryenFunctionGetBody", "_BinaryenGetNumGlobals", "_BinaryenGetGlobalByIndex", "global", "_BinaryenGlobalGetInitExpr", "replacement", "search", "_BinaryenFunctionSetBody", "parent", "replaceChild", "_BinaryenExpressionFinalize", "numChildren", "child", "_BinaryenBlockSetChildAt", "_BinaryenIfSetCondition", "ifTrue", "_BinaryenIfSetIfTrue", "_BinaryenIfSetIfFalse", "_BinaryenLoopSetBody", "_BinaryenBreakSetCondition", "_BinaryenBreakSetValue", "_BinaryenSwitchSetCondition", "_BinaryenSwitchSetValue", "operand", "_BinaryenCallSetOperandAt", "target", "_BinaryenCallIndirectSetTarget", "_BinaryenCallIndirectSetOperandAt", "_BinaryenLocalSetSetValue", "_BinaryenGlobalSetSetValue", "ptr", "_BinaryenLoadSetPtr", "_BinaryenStoreSetPtr", "_BinaryenStoreSetValue", "_BinaryenUnarySetValue", "left", "_BinaryenBinarySetLeft", "right", "_BinaryenBinarySetRight", "_BinaryenSelectSetIfTrue", "_BinaryenSelectSetIfFalse", "_BinaryenSelectSetCondition", "_BinaryenDropSetValue", "_BinaryenReturnSetValue", "delta", "_BinaryenMemoryGrowSetDelta", "_BinaryenAtomicRMWSetPtr", "_BinaryenAtomicRMWSetValue", "_BinaryenAtomicCmpxchgSetPtr", "expected", "_BinaryenAtomicCmpxchgSetExpected", "repl", "_BinaryenAtomicCmpxchgSetReplacement", "_BinaryenAtomicWaitSetPtr", "_BinaryenAtomicWaitSetExpected", "timeout", "_BinaryenAtomicWaitSetTimeout", "_BinaryenAtomicNotifySetPtr", "notifyCount", "_BinaryenAtomicNotifySetNotifyCount", "vec", "_BinaryenSIMDExtractSetVec", "_BinaryenSIMDReplaceSetVec", "_BinaryenSIMDReplaceSetValue", "_BinaryenSIMDShuffleSetLeft", "_BinaryenSIMDShuffleSetRight", "a", "_BinaryenSIMDTernarySetA", "b", "_BinaryenSIMDTernarySetB", "c", "_BinaryenSIMDTernarySetC", "_BinaryenSIMDShiftSetVec", "shift", "_BinaryenSIMDShiftSetShift", "_BinaryenSIMDLoadSetPtr", "_BinaryenSIMDLoadStoreLaneSetPtr", "_BinaryenSIMDLoadStoreLaneSetVec", "dest", "_BinaryenMemoryInitSetDest", "offset", "_BinaryenMemoryInitSetOffset", "size", "_BinaryenMemoryInitSetSize", "_BinaryenMemoryCopySetDest", "source", "_BinaryenMemoryCopySetSource", "_BinaryenMemoryCopySetSize", "_BinaryenMemoryFillSetDest", "_BinaryenMemoryFillSetValue", "_BinaryenMemoryFillSetSize", "_BinaryenRefIsNullSetValue", "_BinaryenRefEqSetLeft", "_BinaryenRefEqSetRight", "_BinaryenTrySetBody", "catchBody", "_BinaryenTrySetCatchBodyAt", "_BinaryenThrowSetOperandAt", "_BinaryenTupleMakeSetOperandAt", "tuple", "_BinaryenTupleExtractSetTuple", "_BinaryenRefI31SetValue", "i31Expr", "_BinaryenI31GetSetI31", "_BinaryenCallRefSetOperandAt", "_BinaryenCallRefSetTarget", "ref", "_BinaryenRefTestSetRef", "_BinaryenRefCastSetRef", "_BinaryenBrOnSetRef", "_BinaryenStructNewSetOperandAt", "_BinaryenStructGetSetRef", "_BinaryenStructSetSetRef", "_BinaryenStructSetSetValue", "_BinaryenArrayNewSetSize", "_BinaryenArrayNewSetInit", "_BinaryenArrayNewFixedSetValueAt", "_BinaryenArrayGetSetRef", "_BinaryenArrayGetSetIndex", "_BinaryenArraySetSetRef", "_BinaryenArraySetSetIndex", "_BinaryenArraySetSetValue", "_BinaryenArrayLenSetRef", "destRef", "_BinaryenArrayCopySetDestRef", "destIndex", "_BinaryenArrayCopySetDestIndex", "srcRef", "_BinaryenArrayCopySetSrcRef", "srcIndex", "_BinaryenArrayCopySetSrcIndex", "_BinaryenArrayCopySetLength", "_BinaryenRefAsSetValue", "_BinaryenStringNewSetPtr", "_BinaryenStringNewSetLength", "_BinaryenStringNewSetStart", "_BinaryenStringNewSetEnd", "_BinaryenStringMeasureSetRef", "_BinaryenStringEncodeSetRef", "_BinaryenStringEncodeSetPtr", "_BinaryenStringEncodeSetStart", "_BinaryenStringConcatSetLeft", "_BinaryenStringConcatSetRight", "_BinaryenStringEqSetLeft", "_BinaryenStringEqSetRight", "_BinaryenStringAsSetRef", "_BinaryenStringWTF8AdvanceSetRef", "pos", "_BinaryenStringWTF8AdvanceSetPos", "bytes", "_BinaryenStringWTF8AdvanceSetBytes", "_BinaryenStringWTF16GetSetRef", "_BinaryenStringWTF16GetSetPos", "_BinaryenStringIterNextSetRef", "_BinaryenStringIterMoveSetRef", "num", "_BinaryenStringIterMoveSetNum", "_BinaryenStringSliceWTFSetRef", "_BinaryenStringSliceWTFSetStart", "_BinaryenStringSliceWTFSetEnd", "_BinaryenStringSliceIterSetRef", "_BinaryenStringSliceIterSetNum", "RtraceMemory", "Pass", "compiler", "_BinaryenFunctionGetName", "store", "module", "ptr", "_BinaryenStoreGetPtr", "offset", "_BinaryenStoreGetOffset", "bytes", "_BinaryenStoreGetBytes", "_BinaryenStoreSetPtr", "createType", "TypeRef", "matchPattern", "module", "expr", "isFound", "_BinaryenExpressionGetId", "_BinaryenCallGetTarget", "BuiltinNames", "_BinaryenCallGetNumOperands", "_BinaryenCallGetOperandAt", "needsSlot", "value", "isConstZero", "ShadowStackPass", "Pass", "compiler", "TypeRef", "func", "localIndex", "slotMap", "slotIndex", "name", "managedOperandIndices", "type", "tempMap", "_BinaryenFunctionGetNumLocals", "offset", "frameSize", "stmts", "remain", "Source", "operands", "numSlots", "i", "k", "operand", "match", "currentFunction", "numLocals", "temp", "call", "numOperands", "_BinaryenCallSetOperandAt", "callIndirect", "_BinaryenCallIndirectGetNumOperands", "_BinaryenCallIndirectGetOperandAt", "_BinaryenCallIndirectSetOperandAt", "localSet", "_BinaryenLocalSetGetValue", "_BinaryenLocalSetSetValue", "index", "_BinaryenLocalSetGetIndex", "_BinaryenLocalSetIsTee", "funcRef", "_BinaryenFunctionGetName", "params", "_BinaryenFunctionGetParams", "results", "_BinaryenFunctionGetResults", "body", "_BinaryenFunctionGetBody", "numVars", "_BinaryenFunctionGetNumVars", "vars", "_BinaryenFunctionGetVar", "tempMaps", "_keys", "moduleRef", "_BinaryenRemoveFunction", "cArr", "allocPtrArray", "newFuncRef", "_BinaryenAddFunction", "_free", "exportRef", "_BinaryenExportGetKind", "internalNameRef", "_BinaryenExportGetValue", "internalName", "externalNameRef", "_BinaryenExportGetName", "_BinaryenGetFunction", "paramTypes", "expandType", "numParams", "wrapperName", "wrapperNameRef", "forwardedOperands", "tempIndex", "_BinaryenRemoveExport", "_BinaryenAddFunctionExport", "instrumentReturns", "InstrumentReturns", "bodyType", "_BinaryenExpressionGetType", "_BinaryenFunctionSetBody", "exportMap", "exportName", "_BinaryenGetExport", "shadowStack", "ret", "_BinaryenReturnGetValue", "returnType", "_BinaryenReturnSetValue", "ExportsWalker", "program", "includePrivate", "_values", "i", "k", "file", "exports", "_keys", "memberName", "member", "exportsStar", "exportStar", "name", "element", "seen", "propertyInstance", "getterInstance", "setterInstance", "hasCompiledMember", "instances", "instance", "members", "j", "l", "importToModule", "moduleName", "shouldInstrument", "JSBuilder", "_JSBuilder", "ExportsWalker", "program", "esm", "includePrivate", "name", "element", "sb", "type", "isPlainValue", "indent", "members", "_values", "i", "k", "value", "escapeString", "isIdentifier", "moduleId", "code", "signature", "isPlainFunction", "parameterTypes", "parameterNames", "expr", "indentText", "Type", "numReferences", "releases", "needsRetainRelease", "originalName", "decorator", "findDecorator", "args", "codeArg", "literal", "parts", "exports", "moduleImports", "options", "insertPos", "sbLengthBefore", "_keys", "module", "resetPos", "numInstrumented", "_keys2", "j", "l", "elem", "func", "global", "hasAdaptedImports", "mappings", "map", "hasAdaptedExports", "deferredCode", "objectInstance", "rtSizeOffset", "arrayBufferId", "chunkSize", "stringId", "dataStartOffset", "lengthOffset", "arrayBufferViewInstance", "arraySize", "bufferOffset", "byteLengthOffset", "size", "makeCheckedSetter", "makeCheckedGetter", "exportStart", "runtimeFunctions", "runtimeGlobals", "needsMaybeDefault", "importExpr", "importMap", "valueExpr", "clazz", "valueType", "isPlainObject", "prevIndentLevel", "fn", "pointerExpr", "memberName", "member", "property", "isPlainValue", "type", "kind", "Type", "isPlainFunction", "signature", "mode", "parameterTypes", "inverseMode", "i", "k", "isPlainObject", "clazz", "members", "_values", "member", "Source", "indentText", "text", "indentLevel", "sb", "butFirst", "lineStart", "length", "pos", "indent", "liftRequiresExportRuntime", "program", "lowerRequiresExportRuntime", "makeCheckedSetter", "fn", "makeCheckedGetter", "mangleImportName_moduleName", "mangleImportName_elementName", "defaultFeatures", "Options", "Type", "TypeRef", "feature", "on", "UncheckedBehavior", "Constraints", "RuntimeFeatures", "ImportNames", "ExportNames", "runtimeFunctions", "runtimeGlobals", "Compiler", "_Compiler", "DiagnosticEmitter", "program", "module", "options", "featureFlags", "startFunctionInstance", "BuiltinNames", "Signature", "ShadowStackPass", "resolver", "hasShadowStack", "startFunctionBody", "files", "_values", "i", "k", "file", "name", "instance", "lazyFunctions", "functionsToCompile", "functionTable", "overrideStubs", "overrideStubsSeen", "overrideInstances", "_keys", "elem", "compileRTTI", "compileVisitGlobals", "compileVisitMembers", "memoryOffset", "startIsEmpty", "exportStart", "signature", "funcRef", "typesToRefs", "isIdentifier", "Source", "RtraceMemory", "memorySegments", "initialPages", "maximumPages", "Module", "isSharedMemory", "lowMemoryLimit32", "lowMemoryLimit", "CommonNames", "tableBase", "functionTableNames", "initialTableSize", "maximumTableSize", "exports", "elementName", "element", "exportsStar", "prefix", "functionPrototype", "functionInstance", "exportName", "thisType", "lowerRequiresExportRuntime", "liftRequiresExportRuntime", "parameterTypes", "global", "type", "members", "subPrefix", "STATIC_DELIMITER", "memberName", "member", "enumValue", "normalizedPathWithoutExtension", "reportNode", "filesByName", "pathWithIndex", "INDEX_SUFFIX", "startFunction", "startSignature", "previousBody", "previousFlow", "flow", "statements", "locals", "numLocals", "varTypes", "pendingElements", "initExpr", "typeNode", "initializerNode", "resolvedType", "internalName", "builtinVariables_onCompile", "BuiltinVariableContext", "typeRef", "isDeclaredConstant", "isDeclaredInline", "mangleImportName", "initializeInStart", "precomp", "getExpressionId", "fromName", "getGlobalGetName", "isGlobalMutable", "elementsByName", "getExpressionType", "getConstValueI32", "getConstValueI64Low", "getConstValueI64High", "getConstValueF32", "getConstValueF64", "findDecorator", "internalType", "previousParent", "previousValue", "previousValueIsMut", "isInline", "initInStart", "valueNode", "value", "forceStdAlternative", "parameters", "numParameters", "visited", "paramIdentifier", "paramName", "previousType", "bodyNode", "declarationNode", "decoratorNodes", "decorator", "stmts", "propertyName", "propertyParent", "propertyInstance", "range", "fnTypeNode", "firstIndex", "returnType", "thisLocal", "bodyStartIndex", "expr", "parent", "classInstance", "allocStmts", "property", "getterInstance", "valueType", "valueTypeRef", "thisTypeRef", "body", "flowBefore", "setterInstance", "bodyExpr", "linkInstance", "createType", "buffer", "alignment", "isPowerOf2", "segment", "MemorySegment", "stringValue", "ptr", "totalOverhead", "stringInstance", "stringSegment", "segments", "len", "buf", "writeI16", "pos", "elementType", "values", "length", "byteSize", "elementTypeRef", "writeI8", "writeI32", "writeI64", "writeF32", "writeF64", "writeV128", "getConstValueV128", "id", "bufferSegment", "arrayInstance", "bufferLength", "readI32", "arrayLength", "bufferAddress", "memorySegment", "index", "rtInstance", "statement", "memberStatements", "declaration", "declarations", "exportStatement", "internalPath", "importStatement", "stmt", "numStatements", "getBlockName", "j", "getBlockChildCount", "getBlockChildAt", "outerFlow", "innerFlow", "existedTypeAlias", "TypeDefinition", "labelNode", "breakLabel", "label", "continueLabel", "numLocalsBefore", "loopLabel", "bodyStmts", "possiblyContinues", "possiblyBreaks", "possiblyFallsThrough", "condExpr", "condExprTrueish", "condKind", "initializer", "condition", "bodyFlow", "possiblyLoops", "incrementor", "ifTrue", "ifFalse", "thenStmts", "thenFlow", "elseFlow", "elseStmts", "valueExpression", "constraints", "inlineReturnLabel", "cases", "numCases", "tempLocalIndex", "breaks", "breakIndex", "defaultIndex", "case_", "currentBlock", "fallThroughFlow", "breakingFlowAlternatives", "isLast", "nextLabel", "count", "message", "newArgs", "numDeclarations", "initializers", "initType", "cloneMap", "dummy", "temp", "isConst", "isStatic", "local", "Local", "scopedLocals", "existing", "existingLocal", "alwaysTerminates", "contextualType", "shift", "mask", "expression", "compiled", "currentType", "wrap", "fromType", "toType", "explicit", "saturating", "op", "inheritedConstraints", "left", "right", "leftExpr", "leftType", "rightExpr", "rightType", "commonType", "compound", "classReference", "overload", "operatorTokenToString", "isConstExpressionNaN", "isConstNegZero", "rightFlow", "tempLocal", "possiblyNull", "tempIndex", "target", "targetType", "leftValue", "rightValue", "prototype", "result", "isWasm64", "accuratePow64", "namespace", "operatorInstance", "valueExpr", "thisExpression", "elementExpression", "propertyPrototype", "isUnchecked", "indexedSet", "indexExpression", "tee", "isConstructor", "thisExpr", "ret", "setterIndexType", "getterIndexType", "elementExpr", "tempTarget", "tempElement", "localIndex", "sourceFunction", "baseClassInstance", "sizeTypeRef", "baseCtorInstance", "superCall", "thisArg", "functionArg", "getterPrototype", "typeArguments", "args", "call", "Node", "typeParameterNodes", "typeArgumentNodes", "callee", "ctx", "BuiltinFunctionContext", "builtinFunctions", "numArguments", "hasThis", "hasRest", "minimum", "maximum", "relatedReportNode", "argumentExpressions", "inlineStack", "numArgumentsInclThis", "operands", "paramType", "paramExpr", "immediatelyDropped", "Flow", "base", "argumentLocal", "original", "stub", "originalSignature", "originalParameterTypes", "originalParameterDeclarations", "isInstance", "minArguments", "minOperands", "maxArguments", "maxOperands", "numOptional", "forwardedOperands", "operandIndex", "numNames", "names", "ofN", "argumentsLength", "table", "builder", "SwitchBuilder", "mostRecentInheritanceMapping", "overrideInstance", "overrideSignature", "overrideParameterTypes", "overrideNumParameters", "paramExprs", "n", "needsVarargsStub", "calledName", "returnTypeRef", "extenders", "extender", "instanceMembers", "instanceClass", "operand", "isConstZero", "parameterIndex", "theOperands", "numOperands", "parameterNodes", "allOptionalsAreConstant", "resolved", "lastOperand", "getSideEffects", "lastOperandType", "expressions", "numExpressions", "exprs", "targetExpression", "indexedGet", "isNamed", "isSemanticallyAnonymous", "FunctionPrototype", "contextualTypeArguments", "contextualSignature", "signatureNode", "numPresentParameters", "parameterNode", "isTypeOmitted", "thisTypeNode", "Function", "worked", "offset", "fname", "ftype", "signatureReference", "scopedThis", "superType", "currentParent", "localType", "isNonNull", "globalType", "ensureType", "builtinVariables_onAccess", "isType", "namedType", "expectedType", "actualType", "pending", "sizeType", "allInstances", "instances", "implementers", "implementer", "implicitlyNegate", "floatValue", "intValue", "sign", "tag", "parts", "numParts", "stringType", "lhsLen", "rhsLen", "hasPrefix", "lhs", "rhs", "concatMethod", "exprA", "exprB", "expressionPositions", "joinInstance", "indexedSetInstance", "temps", "tsaArrayInstance", "first", "rawParts", "partExprs", "arraySegment", "rawExprs", "rawHeaderSegment", "contextualClass", "arrayType", "arrayBufferInstance", "tempThis", "tempDataStart", "arrayAddress", "arrayTypeRef", "dataStartMember", "dataStartProperty", "source", "bufferSize", "classType", "ctorPrototype", "hasErrors", "classTypeRef", "omittedFields", "memberKey", "deferredProperties", "propertyType", "l", "ctor", "classPrototype", "baseClass", "baseCtor", "relatedNode", "ctorInstance", "ctxType", "parentEnum", "ifThen", "ifElse", "ifThenFlow", "ifThenExpr", "ifThenType", "ifElseFlow", "ifElseExpr", "ifElseType", "getValue", "getLocalSetValue", "setValue", "typeString", "targetFunction", "supported", "explicitThisType", "parameterReportNode", "evaled", "v128_zero", "v128_ones", "toStringInstance", "toStringSignature", "toStringReturnType", "allocInstance", "newInstance", "thisIndex", "thisLocalIndex", "nonParameterFields", "fieldPrototype", "fieldTypeRef", "field", "fieldType", "codeLocation", "abortInstance", "messageArg", "messageExpr", "filenameExpr", "staticAbortCallExpr", "nonNullExpr", "mangleInternalName", "overriddenModuleName", "arg", "TSDBuilder", "_TSDBuilder", "ExportsWalker", "program", "esm", "includePrivate", "name", "element", "sb", "type", "tsType", "indent", "members", "_keys", "i", "k", "memberName", "signature", "parameterTypes", "numParameters", "returnType", "Type", "requiredParameters", "originalName", "deferredTypes", "moduleImports", "moduleName", "isIdentifier", "escapeString", "clazz", "_values", "member", "Source", "mode", "valueType", "seenObjectTypes", "typeName", "isPlain", "property", "base", "newOptions", "Options", "setTarget", "options", "target", "setRuntime", "runtime", "setNoAssert", "noAssert", "setExportMemory", "exportMemory", "setImportMemory", "importMemory", "setInitialMemory", "initialMemory", "setMaximumMemory", "maximumMemory", "setSharedMemory", "sharedMemory", "setImportTable", "importTable", "setExportTable", "exportTable", "setSourceMap", "sourceMap", "setUncheckedBehavior", "uncheckedBehavior", "setMemoryBase", "memoryBase", "setTableBase", "tableBase", "addGlobalAlias", "alias", "name", "globalAliases", "removeGlobalAlias", "setExportStart", "exportStart", "setNoUnsafe", "noUnsafe", "setLowMemoryLimit", "lowMemoryLimit", "setExportRuntime", "exportRuntime", "DEFAULT_STACK_SIZE", "setStackSize", "stackSize", "setBundleVersion", "bundleMajorVersion", "bundleMinorVersion", "bundlePatchVersion", "FEATURE_SIGN_EXTENSION", "FEATURE_MUTABLE_GLOBALS", "FEATURE_NONTRAPPING_F2I", "FEATURE_BULK_MEMORY", "FEATURE_SIMD", "FEATURE_THREADS", "FEATURE_EXCEPTION_HANDLING", "FEATURE_TAIL_CALLS", "FEATURE_REFERENCE_TYPES", "FEATURE_MULTI_VALUE", "FEATURE_GC", "FEATURE_MEMORY64", "FEATURE_RELAXED_SIMD", "FEATURE_EXTENDED_CONST", "FEATURE_STRINGREF", "FEATURES_ALL", "FEATURES_DEFAULT", "defaultFeatures", "setFeature", "feature", "on", "setOptimizeLevelHints", "optimizeLevel", "shrinkLevel", "setBasenameHint", "basename", "setBindingsHint", "bindings", "setPedantic", "pedantic", "setDebugInfo", "debug", "newProgram", "Program", "nextDiagnostic", "program", "getSource", "internalPath", "getDiagnosticCode", "diagnostic", "getDiagnosticCategory", "getDiagnosticMessage", "getDiagnosticRange", "getDiagnosticRelatedRange", "getRangeStart", "range", "getRangeEnd", "getRangeSource", "getSourceNormalizedPath", "source", "isInfo", "message", "isWarning", "isError", "parse", "program", "text", "path", "isEntry", "nextFile", "getDependee", "file", "initializeProgram", "compile", "Compiler", "buildTSD", "esm", "TSDBuilder", "buildJS", "JSBuilder", "getBinaryenModuleRef", "module", "validate", "optimize", "optimizeLevel", "shrinkLevel", "debugInfo", "zeroFilledMemory", "ASTBuilder", "_ASTBuilder", "node", "builder", "source", "statements", "i", "k", "sb", "current", "typeArguments", "numTypeArguments", "isNullable", "explicitThisType", "parameters", "numParameters", "returnType", "extendsType", "defaultType", "elements", "numElements", "element", "names", "values", "indent", "name", "value", "operatorTokenToString", "args", "numArgs", "declaration", "expressions", "numExpressions", "range", "hasExplicitSign", "str", "escapeString", "tag", "parts", "last", "lastCharPos", "numStatements", "indentLevel", "label", "isDefault", "decorators", "typeParameters", "implementsTypes", "numImplementsTypes", "indexSignature", "members", "numMembers", "member", "numValues", "initializer", "path", "type", "condition", "incrementor", "signature", "numTypeParameters", "body", "isTypeOmitted", "ifTrue", "ifFalse", "externalName", "declarations", "namespaceName", "numDeclarations", "cases", "bodyStatements", "catchVariable", "catchStatements", "finallyStatements", "firstDeclaration", "kind", "implicitFieldDeclaration", "ret", "src_default", "index_js_exports"] +} diff --git a/platforms/Arduino/node_modules/assemblyscript/dist/importmap.json b/platforms/Arduino/node_modules/assemblyscript/dist/importmap.json new file mode 100644 index 00000000..91c019e5 --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/dist/importmap.json @@ -0,0 +1,9 @@ +{ + "imports": { + "assemblyscript": "https://cdn.jsdelivr.net/npm/assemblyscript@0.27.29/dist/assemblyscript.js", + "assemblyscript/asc": "https://cdn.jsdelivr.net/npm/assemblyscript@0.27.29/dist/asc.js", + "binaryen": "https://cdn.jsdelivr.net/npm/binaryen@116.0.0-nightly.20240114/index.js", + "long": "https://cdn.jsdelivr.net/npm/long@5.2.3/index.js" + } +} + \ No newline at end of file diff --git a/platforms/Arduino/node_modules/assemblyscript/dist/transform.cjs b/platforms/Arduino/node_modules/assemblyscript/dist/transform.cjs new file mode 100644 index 00000000..a245e852 --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/dist/transform.cjs @@ -0,0 +1 @@ +module.exports = class Transform { /* stub */ }; diff --git a/platforms/Arduino/node_modules/assemblyscript/dist/transform.d.ts b/platforms/Arduino/node_modules/assemblyscript/dist/transform.d.ts new file mode 100644 index 00000000..14efe05e --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/dist/transform.d.ts @@ -0,0 +1 @@ +export { Transform } from "./asc"; diff --git a/platforms/Arduino/node_modules/assemblyscript/dist/transform.js b/platforms/Arduino/node_modules/assemblyscript/dist/transform.js new file mode 100644 index 00000000..f6c08776 --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/dist/transform.js @@ -0,0 +1 @@ +export class Transform { /* stub */ }; diff --git a/platforms/Arduino/node_modules/assemblyscript/dist/web.js b/platforms/Arduino/node_modules/assemblyscript/dist/web.js new file mode 100644 index 00000000..bd23945f --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/dist/web.js @@ -0,0 +1,22 @@ +var ASSEMBLYSCRIPT_VERSION = "0.27.29"; + var ASSEMBLYSCRIPT_IMPORTMAP = { + "imports": { + "assemblyscript": "https://cdn.jsdelivr.net/npm/assemblyscript@0.27.29/dist/assemblyscript.js", + "assemblyscript/asc": "https://cdn.jsdelivr.net/npm/assemblyscript@0.27.29/dist/asc.js", + "binaryen": "https://cdn.jsdelivr.net/npm/binaryen@116.0.0-nightly.20240114/index.js", + "long": "https://cdn.jsdelivr.net/npm/long@5.2.3/index.js" + } +}; + if (!document.currentScript.src.includes("noinstall")) { + let elem = document.createElement("script"); + elem.type = "importmap"; + elem.text = JSON.stringify(ASSEMBLYSCRIPT_IMPORTMAP); + document.head.appendChild(elem); + } + if (!document.currentScript.src.includes("noshim")) { + let elem = document.createElement("script"); + elem.async = true; + elem.src = "https://cdn.jsdelivr.net/npm/es-module-shims@1/dist/es-module-shims.wasm.min.js"; + document.head.appendChild(elem); + } + \ No newline at end of file diff --git a/platforms/Arduino/node_modules/assemblyscript/lib/README.md b/platforms/Arduino/node_modules/assemblyscript/lib/README.md new file mode 100644 index 00000000..9ac01cc6 --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/lib/README.md @@ -0,0 +1,14 @@ +Library +======= + +Additional packages provided by the main package. + +| Package | Description +|------------------------------------|------------------------- +| [@assemblyscript/loader](./loader) | Module loader utility +| [@assemblyscript/rtrace](./rtrace) | Runtime tracing utility +| binaryen | Binaryen proxy + +The Binaryen proxy herein is imported accross the code base and forwards the +`binaryen` npm package by default. It can be modified to use a custom build, +for example for testing purposes. diff --git a/platforms/Arduino/node_modules/assemblyscript/lib/binaryen.d.ts b/platforms/Arduino/node_modules/assemblyscript/lib/binaryen.d.ts new file mode 100644 index 00000000..facd1649 --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/lib/binaryen.d.ts @@ -0,0 +1,2 @@ +export * from "binaryen"; +export { default } from "binaryen"; diff --git a/platforms/Arduino/node_modules/assemblyscript/lib/binaryen.js b/platforms/Arduino/node_modules/assemblyscript/lib/binaryen.js new file mode 100644 index 00000000..facd1649 --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/lib/binaryen.js @@ -0,0 +1,2 @@ +export * from "binaryen"; +export { default } from "binaryen"; diff --git a/platforms/Arduino/node_modules/assemblyscript/package.json b/platforms/Arduino/node_modules/assemblyscript/package.json new file mode 100644 index 00000000..0766d7a9 --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/package.json @@ -0,0 +1,76 @@ +{ + "name": "assemblyscript", + "description": "A TypeScript-like language for WebAssembly.", + "keywords": [ + "typescript", + "webassembly", + "compiler", + "assemblyscript", + "wasm" + ], + "version": "0.27.29", + "author": "Daniel Wirtz ", + "license": "Apache-2.0", + "homepage": "https://assemblyscript.org", + "repository": { + "type": "git", + "url": "https://github.com/AssemblyScript/assemblyscript.git" + }, + "bugs": { + "url": "https://github.com/AssemblyScript/assemblyscript/issues" + }, + "engines": { + "node": ">=16", + "npm": ">=7" + }, + "engineStrict": true, + "dependencies": { + "binaryen": "116.0.0-nightly.20240114", + "long": "^5.2.1" + }, + "type": "module", + "exports": { + ".": { + "import": "./dist/assemblyscript.js", + "types": "./dist/assemblyscript.d.ts" + }, + "./asc": { + "import": "./dist/asc.js", + "types": "./dist/asc.d.ts" + }, + "./transform": { + "import": "./dist/transform.js", + "require": "./dist/transform.cjs", + "types": "./dist/transform.d.ts" + }, + "./binaryen": { + "import": "./lib/binaryen.js", + "types": "./lib/binaryen.d.ts" + }, + "./*": "./*" + }, + "imports": { + "#rtrace": { + "import": "./lib/rtrace/index.js", + "types": "./lib/rtrace/index.d.ts" + } + }, + "bin": { + "asc": "./bin/asc.js", + "asinit": "./bin/asinit.js" + }, + "files": [ + "bin/", + "dist/", + "std/", + "util/", + "lib/binaryen.js", + "lib/binaryen.d.ts", + "tsconfig-base.json", + "NOTICE" + ], + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/assemblyscript" + } +} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/README.md b/platforms/Arduino/node_modules/assemblyscript/std/README.md new file mode 100644 index 00000000..e6621716 --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/std/README.md @@ -0,0 +1,6 @@ +Standard library +================ + +Standard library components for use with `tsc` (portable) and `asc` (assembly). + +Base configurations (.json) and definition files (.d.ts) are relevant to `tsc` only and not used by `asc`. diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly.json b/platforms/Arduino/node_modules/assemblyscript/std/assembly.json new file mode 100644 index 00000000..10a3e067 --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/std/assembly.json @@ -0,0 +1,17 @@ +{ + "extends": "../tsconfig-base.json", + "compilerOptions": { + "target": "esnext", + "module": "commonjs", + "noLib": true, + "allowJs": false, + "typeRoots": [ "types" ], + "types": [ "assembly" ], + "baseUrl": ".", + "paths": { + "*": [ + "./assembly/*" + ] + } + } +} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/array.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/array.ts new file mode 100644 index 00000000..faa6d9b3 --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/std/assembly/array.ts @@ -0,0 +1,526 @@ +/// + +import { BLOCK_MAXSIZE } from "./rt/common"; +import { Runtime } from "shared/runtime"; +import { COMPARATOR, SORT } from "./util/sort"; +import { REVERSE, FILL } from "./util/bytes"; +import { joinBooleanArray, joinIntegerArray, joinFloatArray, joinStringArray, joinReferenceArray } from "./util/string"; +import { idof, isArray as builtin_isArray } from "./builtins"; +import { E_INDEXOUTOFRANGE, E_INVALIDLENGTH, E_EMPTYARRAY, E_HOLEYARRAY } from "./util/error"; + +// @ts-ignore: decorator +@inline @lazy const MIN_SIZE: usize = 8; + +/** Ensures that the given array has _at least_ the specified backing size. */ +function ensureCapacity(array: usize, newSize: usize, alignLog2: u32, canGrow: bool = true): void { + // Depends on the fact that Arrays mimic ArrayBufferView + let oldCapacity = changetype(array).byteLength; + if (newSize > oldCapacity >>> alignLog2) { + if (newSize > BLOCK_MAXSIZE >>> alignLog2) throw new RangeError(E_INVALIDLENGTH); + let oldData = changetype(changetype(array).buffer); + // Grows old capacity by factor of two. + // Make sure we don't reach BLOCK_MAXSIZE for new growed capacity. + let newCapacity = max(newSize, MIN_SIZE) << alignLog2; + if (canGrow) newCapacity = max(min(oldCapacity << 1, BLOCK_MAXSIZE), newCapacity); + let newData = __renew(oldData, newCapacity); + // __new / __renew already init memory range as zeros in Incremental runtime. + // So try to avoid this. + if (ASC_RUNTIME != Runtime.Incremental) { + memory.fill(newData + oldCapacity, 0, newCapacity - oldCapacity); + } + if (newData != oldData) { // oldData has been free'd + store(array, newData, offsetof("buffer")); + store(array, newData, offsetof("dataStart")); + __link(array, changetype(newData), false); + } + store(array, newCapacity, offsetof("byteLength")); + } +} + +export class Array { + [key: number]: T; + + // Mimicking ArrayBufferView isn't strictly necessary here but is done to allow glue code + // to work with typed and normal arrays interchangeably. Technically, normal arrays do not need + // `dataStart` (equals `buffer`) and `byteLength` (equals computed `buffer.byteLength`), but the + // block is 16 bytes anyway so it's fine to have a couple extra fields in there. + + private buffer: ArrayBuffer; + @unsafe readonly dataStart: usize; + private byteLength: i32; // Uses here as capacity + + // Also note that Array with non-nullable T must guard against uninitialized null values + // whenever an element is accessed. Otherwise, the compiler wouldn't be able to guarantee + // type-safety anymore. For lack of a better word, such an array is "holey". + + private length_: i32; + + static isArray(value: U): bool { + return isReference() ? changetype(value) != 0 && builtin_isArray(value) : false; + } + + static create(capacity: i32 = 0): Array { + WARNING("'Array.create' is deprecated. Use 'new Array' instead, making sure initial elements are initialized."); + let array = new Array(capacity); + array.length = 0; + return array; + } + + constructor(length: i32 = 0) { + if (length > BLOCK_MAXSIZE >>> alignof()) throw new RangeError(E_INVALIDLENGTH); + // reserve capacity for at least MIN_SIZE elements + let bufferSize = max(length, MIN_SIZE) << alignof(); + let buffer = changetype(__new(bufferSize, idof())); + if (ASC_RUNTIME != Runtime.Incremental) { + memory.fill(changetype(buffer), 0, bufferSize); + } + this.buffer = buffer; // links + this.dataStart = changetype(buffer); + this.byteLength = bufferSize; + this.length_ = length; + } + + get length(): i32 { + return this.length_; + } + + set length(newLength: i32) { + ensureCapacity(changetype(this), newLength, alignof(), false); + this.length_ = newLength; + } + + every(fn: (value: T, index: i32, array: Array) => bool): bool { + for (let i = 0, len = this.length_; i < min(len, this.length_); ++i) { + if (!fn(load(this.dataStart + (i << alignof())), i, this)) return false; + } + return true; + } + + findIndex(fn: (value: T, index: i32, array: Array) => bool): i32 { + for (let i = 0, len = this.length_; i < min(len, this.length_); ++i) { + if (fn(load(this.dataStart + (i << alignof())), i, this)) return i; + } + return -1; + } + + findLastIndex(fn: (value: T, index: i32, array: Array) => bool): i32 { + for (let i = this.length_ - 1; i >= 0; --i) { + if (fn(load(this.dataStart + (i << alignof())), i, this)) return i; + } + return -1; + } + + @operator("[]") private __get(index: i32): T { + if (index >= this.length_) throw new RangeError(E_INDEXOUTOFRANGE); + let value = load(this.dataStart + (index << alignof())); + if (isReference()) { + if (!isNullable()) { + if (!changetype(value)) throw new Error(E_HOLEYARRAY); + } + } + return value; + } + + @unsafe @operator("{}") private __uget(index: i32): T { + return load(this.dataStart + (index << alignof())); + } + + @operator("[]=") private __set(index: i32, value: T): void { + if (index >= this.length_) { + if (index < 0) throw new RangeError(E_INDEXOUTOFRANGE); + ensureCapacity(changetype(this), index + 1, alignof()); + this.length_ = index + 1; + } + store(this.dataStart + (index << alignof()), value); + if (isManaged()) { + __link(changetype(this), changetype(value), true); + } + } + + at(index: i32): T { + let len = this.length_; + index += select(0, len, index >= 0); + if (index >= len) throw new RangeError(E_INDEXOUTOFRANGE); + let value = load(this.dataStart + (index << alignof())); + if (isReference()) { + if (!isNullable()) { + if (!changetype(value)) throw new Error(E_HOLEYARRAY); + } + } + return value; + } + + fill(value: T, start: i32 = 0, end: i32 = i32.MAX_VALUE): Array { + if (isManaged()) { + FILL(this.dataStart, this.length_, changetype(value), start, end); + __link(changetype(this), changetype(value), false); + } else { + FILL(this.dataStart, this.length_, value, start, end); + } + return this; + } + + includes(value: T, fromIndex: i32 = 0): bool { + if (isFloat()) { + let len = this.length_; + if (len == 0 || fromIndex >= len) return false; + if (fromIndex < 0) fromIndex = max(len + fromIndex, 0); + let ptr = this.dataStart; + while (fromIndex < len) { + let elem = load(ptr + (fromIndex << alignof())); + // @ts-ignore + if (elem == value || isNaN(elem) & isNaN(value)) return true; + ++fromIndex; + } + return false; + } else { + return this.indexOf(value, fromIndex) >= 0; + } + } + + indexOf(value: T, fromIndex: i32 = 0): i32 { + let len = this.length_; + if (len == 0 || fromIndex >= len) return -1; + if (fromIndex < 0) fromIndex = max(len + fromIndex, 0); + let ptr = this.dataStart; + while (fromIndex < len) { + if (load(ptr + (fromIndex << alignof())) == value) return fromIndex; + ++fromIndex; + } + return -1; + } + + lastIndexOf(value: T, fromIndex: i32 = this.length_): i32 { + let len = this.length_; + if (len == 0) return -1; + if (fromIndex < 0) fromIndex = len + fromIndex; + else if (fromIndex >= len) fromIndex = len - 1; + let ptr = this.dataStart; + while (fromIndex >= 0) { + if (load(ptr + (fromIndex << alignof())) == value) return fromIndex; + --fromIndex; + } + return -1; + } + + push(value: T): i32 { + let oldLen = this.length_; + let len = oldLen + 1; + ensureCapacity(changetype(this), len, alignof()); + if (isManaged()) { + store(this.dataStart + (oldLen << alignof()), changetype(value)); + __link(changetype(this), changetype(value), true); + } else { + store(this.dataStart + (oldLen << alignof()), value); + } + this.length_ = len; + return len; + } + + concat(other: Array): Array { + let thisLen = this.length_; + let otherLen = other.length_; + let outLen = thisLen + otherLen; + if (outLen > BLOCK_MAXSIZE >>> alignof()) throw new Error(E_INVALIDLENGTH); + let out = changetype>(__newArray(outLen, alignof(), idof>())); + let outStart = out.dataStart; + let thisSize = thisLen << alignof(); + if (isManaged()) { + let thisStart = this.dataStart; + for (let offset: usize = 0; offset < thisSize; offset += sizeof()) { + let ref = load(thisStart + offset); + store(outStart + offset, ref); + __link(changetype(out), ref, true); + } + outStart += thisSize; + let otherStart = other.dataStart; + let otherSize = otherLen << alignof(); + for (let offset: usize = 0; offset < otherSize; offset += sizeof()) { + let ref = load(otherStart + offset); + store(outStart + offset, ref); + __link(changetype(out), ref, true); + } + } else { + memory.copy(outStart, this.dataStart, thisSize); + memory.copy(outStart + thisSize, other.dataStart, otherLen << alignof()); + } + return out; + } + + copyWithin(target: i32, start: i32, end: i32 = i32.MAX_VALUE): Array { + let ptr = this.dataStart; + let len = this.length_; + + end = min(end, len); + + let to = target < 0 ? max(len + target, 0) : min(target, len); + let from = start < 0 ? max(len + start, 0) : min(start, len); + let last = end < 0 ? max(len + end, 0) : min(end, len); + let count = min(last - from, len - to); + + memory.copy( // is memmove + ptr + (to << alignof()), + ptr + (from << alignof()), + count << alignof() + ); + return this; + } + + pop(): T { + let len = this.length_; + if (len < 1) throw new RangeError(E_EMPTYARRAY); + let val = load(this.dataStart + ((--len) << alignof())); + this.length_ = len; + return val; + } + + forEach(fn: (value: T, index: i32, array: Array) => void): void { + for (let i = 0, len = this.length_; i < min(len, this.length_); ++i) { + fn(load(this.dataStart + (i << alignof())), i, this); + } + } + + map(fn: (value: T, index: i32, array: Array) => U): Array { + let len = this.length_; + let out = changetype>(__newArray(len, alignof(), idof>())); + let outStart = out.dataStart; + for (let i = 0; i < min(len, this.length_); ++i) { + let result = fn(load(this.dataStart + (i << alignof())), i, this); + store(outStart + (i << alignof()), result); + if (isManaged()) { + __link(changetype(out), changetype(result), true); + } + } + return out; + } + + filter(fn: (value: T, index: i32, array: Array) => bool): Array { + let result = changetype>(__newArray(0, alignof(), idof>())); + for (let i = 0, len = this.length_; i < min(len, this.length_); ++i) { + let value = load(this.dataStart + (i << alignof())); + if (fn(value, i, this)) result.push(value); + } + return result; + } + + reduce( + fn: (previousValue: U, currentValue: T, currentIndex: i32, array: Array) => U, + initialValue: U + ): U { + let acc = initialValue; + for (let i = 0, len = this.length_; i < min(len, this.length_); ++i) { + acc = fn(acc, load(this.dataStart + (i << alignof())), i, this); + } + return acc; + } + + reduceRight( + fn: (previousValue: U, currentValue: T, currentIndex: i32, array: Array) => U, + initialValue: U + ): U { + let acc = initialValue; + for (let i = this.length_ - 1; i >= 0; --i) { + acc = fn(acc, load(this.dataStart + (i << alignof())), i, this); + } + return acc; + } + + shift(): T { + let len = this.length_; + if (len < 1) throw new RangeError(E_EMPTYARRAY); + let base = this.dataStart; + let element = load(base); + let lastIndex = len - 1; + memory.copy( + base, + base + sizeof(), + lastIndex << alignof() + ); + if (isReference()) { + store(base + (lastIndex << alignof()), 0); + } else { + // @ts-ignore + store(base + (lastIndex << alignof()), 0); + } + this.length_ = lastIndex; + return element; + } + + some(fn: (value: T, index: i32, array: Array) => bool): bool { + for (let i = 0, len = this.length_; i < min(len, this.length_); ++i) { + if (fn(load(this.dataStart + (i << alignof())), i, this)) return true; + } + return false; + } + + unshift(value: T): i32 { + let len = this.length_ + 1; + ensureCapacity(changetype(this), len, alignof()); + let ptr = this.dataStart; + memory.copy( + ptr + sizeof(), + ptr, + (len - 1) << alignof() + ); + store(ptr, value); + if (isManaged()) { + __link(changetype(this), changetype(value), true); + } + this.length_ = len; + return len; + } + + slice(start: i32 = 0, end: i32 = i32.MAX_VALUE): Array { + let len = this.length_; + start = start < 0 ? max(start + len, 0) : min(start, len); + end = end < 0 ? max(end + len, 0) : min(end , len); + len = max(end - start, 0); + let slice = changetype>(__newArray(len, alignof(), idof>())); + let sliceBase = slice.dataStart; + let thisBase = this.dataStart + (start << alignof()); + if (isManaged()) { + let off = 0; + let end = len << alignof(); + while (off < end) { + let ref = load(thisBase + off); + store(sliceBase + off, ref); + __link(changetype(slice), ref, true); + off += sizeof(); + } + } else { + memory.copy(sliceBase, thisBase, len << alignof()); + } + return slice; + } + + splice(start: i32, deleteCount: i32 = i32.MAX_VALUE): Array { + let len = this.length_; + start = start < 0 ? max(len + start, 0) : min(start, len); + deleteCount = max(min(deleteCount, len - start), 0); + let result = changetype>(__newArray(deleteCount, alignof(), idof>())); + let resultStart = result.dataStart; + let thisStart = this.dataStart; + let thisBase = thisStart + (start << alignof()); + memory.copy( + resultStart, + thisBase, + deleteCount << alignof() + ); + let offset = start + deleteCount; + if (len != offset) { + memory.copy( + thisBase, + thisStart + (offset << alignof()), + (len - offset) << alignof() + ); + } + this.length_ = len - deleteCount; + return result; + } + + reverse(): Array { + REVERSE(this.dataStart, this.length_); + return this; + } + + sort(comparator: (a: T, b: T) => i32 = COMPARATOR()): Array { + SORT(this.dataStart, this.length_, comparator); + return this; + } + + join(separator: string = ","): string { + let ptr = this.dataStart; + let len = this.length_; + if (isBoolean()) return joinBooleanArray(ptr, len, separator); + if (isInteger()) return joinIntegerArray(ptr, len, separator); + if (isFloat()) return joinFloatArray(ptr, len, separator); + + if (ASC_SHRINK_LEVEL < 1) { + if (isString()) return joinStringArray(ptr, len, separator); + } + // For rest objects and arrays use general join routine + if (isReference()) return joinReferenceArray(ptr, len, separator); + ERROR("unspported element type"); + return unreachable(); + } + + flat(): T { + if (!isArray()) { + ERROR("Cannot call flat() on Array where T is not an Array."); + } + // Get the length and data start values + let ptr = this.dataStart; + let len = this.length_; + + // calculate the end size with an initial pass + let size = 0; + for (let i = 0; i < len; ++i) { + let child = load(ptr + (i << alignof())); + size += child == 0 ? 0 : load(child, offsetof("length_")); + } + + // calculate the byteLength of the resulting backing ArrayBuffer + const align = alignof>(); + let byteLength = size << align; + let outBuffer = changetype(__new(byteLength, idof())); + + // create the return value and initialize it + let outArray = changetype(__new(offsetof(), idof())); + store(changetype(outArray), size, offsetof("length_")); + + // byteLength, dataStart, and buffer are all readonly + store(changetype(outArray), byteLength, offsetof("byteLength")); + store(changetype(outArray), changetype(outBuffer), offsetof("dataStart")); + store(changetype(outArray), changetype(outBuffer), offsetof("buffer")); + __link(changetype(outArray), changetype(outBuffer), false); + + // set the elements + let resultOffset: usize = 0; + for (let i = 0; i < len; ++i) { // for each child + let child = load(ptr + (i << alignof())); + + // ignore null arrays + if (!child) continue; + + // copy the underlying buffer data to the result buffer + let childDataLength = load(child, offsetof("length_")) << align; + memory.copy( + changetype(outBuffer) + resultOffset, + load(child, offsetof("dataStart")), + childDataLength + ); + + // advance the result length + resultOffset += childDataLength; + } + + // if the `valueof` type is managed, we must link each reference + if (isManaged>()) { + for (let i = 0; i < size; ++i) { + let ref = load(changetype(outBuffer) + (i << usize(alignof>()))); + __link(changetype(outBuffer), ref, true); + } + } + + return outArray; + } + + toString(): string { + return this.join(); + } + + // RT integration + + @unsafe private __visit(cookie: u32): void { + if (isManaged()) { + let cur = this.dataStart; + let end = cur + (this.length_ << alignof()); + while (cur < end) { + let val = load(cur); + if (val) __visit(val, cookie); + cur += sizeof(); + } + } + __visit(changetype(this.buffer), cookie); + } +} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/arraybuffer.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/arraybuffer.ts new file mode 100644 index 00000000..bbc8deff --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/std/assembly/arraybuffer.ts @@ -0,0 +1,77 @@ +/// + +import { OBJECT, BLOCK_MAXSIZE, TOTAL_OVERHEAD } from "./rt/common"; +import { Runtime } from "shared/runtime"; +import { idof } from "./builtins"; +import { E_INVALIDLENGTH } from "./util/error"; + +export abstract class ArrayBufferView { + + readonly buffer: ArrayBuffer; + @unsafe readonly dataStart: usize; + readonly byteLength: i32; + + get byteOffset(): i32 { + return (this.dataStart - changetype(this.buffer)); + } + + protected constructor(length: i32, alignLog2: i32) { + if (length > BLOCK_MAXSIZE >>> alignLog2) throw new RangeError(E_INVALIDLENGTH); + let buffer = changetype(__new(length = length << alignLog2, idof())); + if (ASC_RUNTIME != Runtime.Incremental) { + memory.fill(changetype(buffer), 0, length); + } + this.buffer = buffer; // links + this.dataStart = changetype(buffer); + this.byteLength = length; + } +} + +@final export class ArrayBuffer { + + static isView(value: T): bool { + if (isNullable()) { + if (changetype(value) == 0) return false; + } + if (value instanceof Int8Array) return true; + if (value instanceof Uint8Array) return true; + if (value instanceof Uint8ClampedArray) return true; + if (value instanceof Int16Array) return true; + if (value instanceof Uint16Array) return true; + if (value instanceof Int32Array) return true; + if (value instanceof Uint32Array) return true; + if (value instanceof Int64Array) return true; + if (value instanceof Uint64Array) return true; + if (value instanceof Float32Array) return true; + if (value instanceof Float64Array) return true; + if (value instanceof DataView) return true; + return false; + } + + constructor(length: i32) { + if (length > BLOCK_MAXSIZE) throw new RangeError(E_INVALIDLENGTH); + let buffer = changetype(__new(length, idof())); + if (ASC_RUNTIME != Runtime.Incremental) { + memory.fill(changetype(buffer), 0, length); + } + return buffer; + } + + get byteLength(): i32 { + return changetype(changetype(this) - TOTAL_OVERHEAD).rtSize; + } + + slice(begin: i32 = 0, end: i32 = BLOCK_MAXSIZE): ArrayBuffer { + let length = this.byteLength; + begin = begin < 0 ? max(length + begin, 0) : min(begin, length); + end = end < 0 ? max(length + end , 0) : min(end , length); + let outSize = max(end - begin, 0); + let out = changetype(__new(outSize, idof())); + memory.copy(changetype(out), changetype(this) + begin, outSize); + return out; + } + + toString(): string { + return "[object ArrayBuffer]"; + } +} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/atomics.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/atomics.ts new file mode 100644 index 00000000..45b5a6b8 --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/std/assembly/atomics.ts @@ -0,0 +1,127 @@ +import { ArrayBufferView } from "./arraybuffer"; +import { E_INDEXOUTOFRANGE } from "./util/error"; + +export namespace Atomics { + + // @ts-ignore: decorator + @inline + export function load(array: T, index: i32): valueof { + const align = alignof>(); + if (index < 0 || (index << align) >= array.byteLength) throw new RangeError(E_INDEXOUTOFRANGE); + return atomic.load>( + changetype(array.buffer) + (index << align) + array.byteOffset + ); + } + + // @ts-ignore: decorator + @inline + export function store(array: T, index: i32, value: valueof): void { + const align = alignof>(); + if (index < 0 || (index << align) >= array.byteLength) throw new RangeError(E_INDEXOUTOFRANGE); + atomic.store>( + changetype(array.buffer) + (index << align) + array.byteOffset, + value + ); + } + + // @ts-ignore: decorator + @inline + export function add(array: T, index: i32, value: valueof): valueof { + const align = alignof>(); + if (index < 0 || (index << align) >= array.byteLength) throw new RangeError(E_INDEXOUTOFRANGE); + return atomic.add>( + changetype(array.buffer) + (index << align) + array.byteOffset, + value + ); + } + + // @ts-ignore: decorator + @inline + export function sub(array: T, index: i32, value: valueof): valueof { + const align = alignof>(); + if (index < 0 || (index << align) >= array.byteLength) throw new RangeError(E_INDEXOUTOFRANGE); + return atomic.sub>( + changetype(array.buffer) + (index << align) + array.byteOffset, + value + ); + } + + // @ts-ignore: decorator + @inline + export function and(array: T, index: i32, value: valueof): valueof { + const align = alignof>(); + if (index < 0 || (index << align) >= array.byteLength) throw new RangeError(E_INDEXOUTOFRANGE); + return atomic.and>( + changetype(array.buffer) + (index << align) + array.byteOffset, + value + ); + } + + // @ts-ignore: decorator + @inline + export function or(array: T, index: i32, value: valueof): valueof { + const align = alignof>(); + if (index < 0 || (index << align) >= array.byteLength) throw new RangeError(E_INDEXOUTOFRANGE); + return atomic.or>( + changetype(array.buffer) + (index << align) + array.byteOffset, + value + ); + } + + // @ts-ignore: decorator + @inline + export function xor(array: T, index: i32, value: valueof): valueof { + const align = alignof>(); + if (index < 0 || (index << align) >= array.byteLength) throw new RangeError(E_INDEXOUTOFRANGE); + return atomic.xor>( + changetype(array.buffer) + (index << align) + array.byteOffset, + value + ); + } + + // @ts-ignore: decorator + @inline + export function exchange(array: T, index: i32, value: valueof): valueof { + const align = alignof>(); + if (index < 0 || (index << align) >= array.byteLength) throw new RangeError(E_INDEXOUTOFRANGE); + return atomic.xchg>( + changetype(array.buffer) + (index << align) + array.byteOffset, + value + ); + } + + // @ts-ignore: decorator + @inline + export function compareExchange( + array: T, + index: i32, + expectedValue: valueof, + replacementValue: valueof + ): valueof { + const align = alignof>(); + if (index < 0 || (index << align) >= array.byteLength) throw new RangeError(E_INDEXOUTOFRANGE); + return atomic.cmpxchg>( + changetype(array.buffer) + (index << align) + array.byteOffset, + expectedValue, + replacementValue + ); + } + + // @ts-ignore: decorator + @inline + export function wait(array: T, value: valueof, timeout: i64 = -1): AtomicWaitResult { + return atomic.wait>(changetype(array.buffer) + array.byteOffset, value, timeout); + } + + // @ts-ignore: decorator + @inline + export function notify(array: T, index: i32, count: i32 = -1): i32 { + const align = alignof>(); + if (index < 0 || (index << align) >= array.byteLength) throw new RangeError(E_INDEXOUTOFRANGE); + return atomic.notify(changetype(array.buffer) + (index << align) + array.byteOffset, count); + } + + export function isLockFree(size: usize): bool { + return size == 1 || size == 2 || size == 4; + } +} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/bindings/asyncify.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/bindings/asyncify.ts new file mode 100644 index 00000000..43d8daf1 --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/std/assembly/bindings/asyncify.ts @@ -0,0 +1,16 @@ +@unmanaged +export class StackDescriptor { + /** The index in linear memory of the start of the “asyncify stack”. */ + stackStart: usize; + /** The index of the end of that stack region, which implies how big it is. */ + stackEnd: usize; +} + +/** Starts to unwind the call stack. */ +export declare function start_unwind(data: StackDescriptor): void; +/** Stops unwinding the call stack. */ +export declare function stop_unwind(): void; +/** Starts to rewind the call stack. */ +export declare function start_rewind(data: StackDescriptor): void; +/** Stops rewinding the call stack. */ +export declare function stop_rewind(): void; diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/bindings/dom.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/bindings/dom.ts new file mode 100644 index 00000000..85c59ffc --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/std/assembly/bindings/dom.ts @@ -0,0 +1,291 @@ +@external("env", "globalThis") +export declare const globalThis: externref; + +export declare namespace Math { + @external("env", "Math.E") + export const E: f64; + @external("env", "Math.LN2") + export const LN2: f64; + @external("env", "Math.LN10") + export const LN10: f64; + @external("env", "Math.LOG2E") + export const LOG2E: f64; + @external("env", "Math.LOG10E") + export const LOG10E: f64; + @external("env", "Math.PI") + export const PI: f64; + @external("env", "Math.SQRT1_2") + export const SQRT1_2: f64; + @external("env", "Math.SQRT2") + export const SQRT2: f64; + @external("env", "Math.abs") + export function abs(x: f64): f64; + @external("env", "Math.acos") + export function acos(x: f64): f64; + @external("env", "Math.acosh") + export function acosh(x: f64): f64; + @external("env", "Math.asin") + export function asin(x: f64): f64; + @external("env", "Math.asinh") + export function asinh(x: f64): f64; + @external("env", "Math.atan") + export function atan(x: f64): f64; + @external("env", "Math.atan2") + export function atan2(y: f64, x: f64): f64; + @external("env", "Math.atanh") + export function atanh(x: f64): f64; + @external("env", "Math.cbrt") + export function cbrt(x: f64): f64; + @external("env", "Math.ceil") + export function ceil(x: f64): f64; + @external("env", "Math.clz32") + export function clz32(x: f64): f64; + @external("env", "Math.cos") + export function cos(x: f64): f64; + @external("env", "Math.cosh") + export function cosh(x: f64): f64; + @external("env", "Math.exp") + export function exp(x: f64): f64; + @external("env", "Math.expm1") + export function expm1(x: f64): f64; + @external("env", "Math.floor") + export function floor(x: f64): f64; + @external("env", "Math.fround") + export function fround(x: f64): f32; + @external("env", "Math.hypot") + export function hypot(value1: f64, value2: f64): f64; // TODO: rest + @external("env", "Math.imul") + export function imul(a: f64, b: f64): f64; + @external("env", "Math.log") + export function log(x: f64): f64; + @external("env", "Math.log10") + export function log10(x: f64): f64; + @external("env", "Math.log1p") + export function log1p(x: f64): f64; + @external("env", "Math.log2") + export function log2(x: f64): f64; + @external("env", "Math.max") + export function max(value1: f64, value2: f64): f64; // TODO: rest + @external("env", "Math.min") + export function min(value1: f64, value2: f64): f64; // TODO: rest + @external("env", "Math.pow") + export function pow(base: f64, exponent: f64): f64; + @external("env", "Math.random") + export function random(): f64; + @external("env", "Math.round") + export function round(x: f64): f64; + @external("env", "Math.sign") + export function sign(x: f64): f64; + @external("env", "Math.sin") + export function sin(x: f64): f64; + @external("env", "Math.sinh") + export function sinh(x: f64): f64; + @external("env", "Math.sqrt") + export function sqrt(x: f64): f64; + @external("env", "Math.tan") + export function tan(x: f64): f64; + @external("env", "Math.tanh") + export function tanh(x: f64): f64; + @external("env", "Math.trunc") + export function trunc(x: f64): f64; +} + +export declare namespace Reflect { + @external("env", "Reflect.get") + export function get(target: externref, propertyKey: string): externref; + @external("env", "Reflect.getWithReceiver") + @external.js("return Reflect.get(target, propertyKey, receiver);") + export function getWithReceiver(target: externref, propertyKey: string, receiver: externref): externref; + @external("env", "Reflect.has") + export function has(target: externref, propertyKey: string): bool; + @external("env", "Reflect.set") + export function set(target: externref, propertyKey: string, value: externref): externref; + @external("env", "Reflect.setWithReceiver") + @external.js("return Reflect.set(target, propertyKey, value, receiver);") + export function setWithReceiver(target: externref, propertyKey: string, value: externref , receiver: externref): externref; + @external("env", "Reflect.apply") + export function apply(target: externref, thisArgument: externref, argumentsList: externref): externref; +} + +export declare namespace String { + @external("env", "String.fromCodePoint") + export function fromCodePoint(codepoint: i32): externref; + @external("env", "String.fromCodePoints") + @external.js("return String.fromCodePoint(...codepoints);") + export function fromCodePoints(codepoints: i32[]): externref; +} + +export declare namespace Object { + @external("env", "Object.is") + export function is(a: externref, b: externref): bool; + @external("env", "Object.hasOwn") + export function hasOwn(target: externref, propertyKey: string): bool; + @external("env", "Object.assign") + export function assign(target: externref, source: externref): externref; + @external("env", "Object.keys") + export function keys(target: externref): externref; + @external("env", "Object.values") + export function values(target: externref): externref; + @external("env", "Object.entries") + export function entries(target: externref): externref; + @external("env", "Object.getOwnPropertyNames") + export function getOwnPropertyNames(target: externref): externref; +} + +export declare namespace Date { + @external("env", "Date.now") + export function now(): f64; +} + +export declare namespace console { + @external("env", "console.assert") + export function assert(condition: bool, message: string): void; + @external("env", "console.log") + export function log(text: string): void; + @external("env", "console.debug") + export function debug(text: string): void; + @external("env", "console.info") + export function info(text: string): void; + @external("env", "console.warn") + export function warn(text: string): void; + @external("env", "console.error") + export function error(text: string): void; + @external("env", "console.time") + export function time(label: string): void; + @external("env", "console.timeLog") + export function timeLog(label: string): void; + @external("env", "console.timeEnd") + export function timeEnd(label: string): void; +} + +export declare namespace document { + /** Returns document's encoding. */ + @external("env", "document.characterSet") + export const characterSet: string; + /** Returns a value that indicates whether standards-compliant mode is switched on for the object. */ + @external("env", "document.compatMode") + export const compatMode: string; + /** Returns document's content type. */ + @external("env", "document.contentType") + export const contentType: string; + /** Returns a reference to the root node of the document. */ + @external("env", "document.documentElement") + export const documentElement: externref; + /** Returns document's URL. */ + @external("env", "document.documentURI") + export const documentURI: string; + /** Returns the URL of the location that referred the user to the current page. */ + @external("env", "document.referrer") + export const referrer: string; + /** Returns true if document has the ability of fullscreen mode, or false otherwise. */ + @external("env", "document.pictureInPictureEnabled") + export const fullscreenEnabled: bool; + /** Returns true if document has the ability of picture-in-picture mode, or false otherwise. */ + @external("env", "document.pictureInPictureEnabled") + export const pictureInPictureEnabled: bool; + + /** Returns the number of child elements. */ + @external("env", "document.childElementCount") + export const childElementCount: i32; + /** Returns the child elements. */ + @external("env", "document.children") + export const children: externref; + /** Returns the first child that is an element, and null otherwise. */ + @external("env", "document.firstElementChild") + export const firstElementChild: externref; + /** Returns the last child that is an element, and null otherwise. */ + @external("env", "document.lastElementChild") + export const lastElementChild: externref; + + /** + * Returns the HTTP cookies that apply to the Document. If there are no cookies or cookies can't be applied + * to this resource, the empty string will be returned. + * + * Can be set, to add a new cookie to the element's set of HTTP cookies. + * + * If the contents are sandboxed into a unique origin (e.g. in an iframe with the sandbox attribute), + * a "SecurityError" DOMException will be thrown on getting and setting. + */ + @external("env", "document.cookie") + export let cookie: string; + /** Represents the or node of the current document, or null if no such element exists. */ + @external("env", "document.body") + export let body: externref; + /** Sets or gets the security domain of the document. */ + @external("env", "document.domain") + export let domain: string; + /** Sets or gets the title of the document. */ + @external("env", "document.title") + export let title: string; + /** Sets or gets information about the current Location. */ + @external("env", "document.location") + export let location: externref; + /** Sets or gets the URL for the current document. */ + @external("env", "document.URL") + export let URL: string; + + /** + * Creates an instance of the element for the specified tag. + * @param tagName The name of an element. + */ + @external("env", "document.createElement") + export function createElement(tagName: string /* , options?: ElementCreationOptions */): externref; + /** + * Returns a reference to the first HTMLElement object with the specified value of the ID attribute. + * @param id String that specifies the ID value. + */ + @external("env", "document.getElementById") + export function getElementById(id: string): externref; + /** + * Returns a HTMLCollection of the elements in the object on which the method was invoked that have all the classes + * given by classNames. The classNames argument is interpreted as a space-separated list of classes. + * @param classNames Gets a collection of objects based on the value of the CLASS attribute. + */ + @external("env", "document.getElementsByClassName") + export function getElementsByClassName(classNames: string): externref; + /** + * Gets a collection of HTMLElement objects based on the value of the NAME or ID attribute. + * @param elementName Gets a collection of objects based on the value of the NAME or ID attribute. + */ + @external("env", "document.getElementsByName") + export function getElementsByName(elementName: string): externref; + /** Gets a value indicating whether the object currently has focus. */ + @external("env", "document.hasFocus") + export function hasFocus(): bool; + /** Inserts nodes after the last child of node, while replacing strings in nodes with equivalent Text nodes. */ + @external("env", "document.append") + export function append(node: externref): void; + /** Inserts nodes before the first child of node, while replacing strings in nodes with equivalent Text nodes. */ + @external("env", "document.prepend") + export function prepend(node: externref): void; + /** Replace all children of node with nodes, while replacing strings in nodes with equivalent Text nodes. */ + @external("env", "document.replaceChildren") + export function replaceChildren(node: externref): void; + /** + * Writes one or more HTML expressions to a document in the specified window. + * @param content Specifies the text and HTML tags to write. + */ + @external("env", "document.write") + export function write(content: string): void; + /** + * Writes one or more HTML expressions, followed by a carriage return, to a document in the specified window. + * @param content Specifies the text and HTML tags to write. + */ + @external("env", "document.writeln") + export function writeln(content: string): void; +} + +export declare namespace performance { + @external("env", "performance.now") + export function now(): f64; +} + +export namespace crypto { + export function getRandomValues(array: Uint8Array): void { + let values = getRandomValuesN(array.length); + array.set(values); + } + @external("env", "crypto.getRandomValuesN") + @external.js("let a = new Uint8Array(n); crypto.getRandomValues(a); return a;") + export declare function getRandomValuesN(n: u32): Uint8Array; +} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/bindings/node.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/bindings/node.ts new file mode 100644 index 00000000..77a29f9e --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/std/assembly/bindings/node.ts @@ -0,0 +1,6 @@ +export declare namespace process { + @external("env", "process.argv") + export const argv: string[]; + @external("env", "process.exit") + export function exit(code: i32): void; +} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/builtins.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/builtins.ts new file mode 100644 index 00000000..0f910a39 --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/std/assembly/builtins.ts @@ -0,0 +1,2625 @@ +import { strtol, strtod, strtob } from "./util/string"; + +type auto = i32; + +// @ts-ignore: decorator +@builtin +export declare function isBoolean(value?: T): bool; + +// @ts-ignore: decorator +@builtin +export declare function isInteger(value?: T): bool; + +// @ts-ignore: decorator +@builtin +export declare function isSigned(value?: T): bool; + +// @ts-ignore: decorator +@builtin +export declare function isFloat(value?: T): bool; + +// @ts-ignore: decorator +@builtin +export declare function isVector(value?: T): bool; + +// @ts-ignore: decorator +@builtin +export declare function isReference(value?: T): bool; + +// @ts-ignore: decorator +@builtin +export declare function isString(value?: T): bool; + +// @ts-ignore: decorator +@builtin +export declare function isArray(value?: T): bool; + +// @ts-ignore: decorator +@builtin +export declare function isArrayLike(value?: T): bool; + +// @ts-ignore: decorator +@builtin +export declare function isFunction(value?: T): bool; + +// @ts-ignore: decorator +@builtin +export declare function isNullable(value?: T): bool; + +// @ts-ignore: decorator +@builtin +export declare function isDefined(expression: auto): bool; + +// @ts-ignore: decorator +@builtin +export declare function isConstant(expression: auto): bool; + +// @ts-ignore: decorator +@builtin +export declare function isManaged(value?: T): bool; + +// @ts-ignore: decorator +@builtin +export declare function isVoid(): bool; + +// @ts-ignore +@builtin +export declare function lengthof(func?: T): i32; + +// @ts-ignore: decorator +@builtin +export declare function clz(value: T): T; + +// @ts-ignore: decorator +@builtin +export declare function ctz(value: T): T; + +// @ts-ignore: decorator +@builtin +export declare function popcnt(value: T): T; + +// @ts-ignore: decorator +@builtin +export declare function rotl(value: T, shift: T): T; + +// @ts-ignore: decorator +@builtin +export declare function rotr(value: T, shift: T): T; + +// @ts-ignore: decorator +@builtin +export declare function abs(value: T): T; + +// @ts-ignore: decorator +@builtin +export declare function max(left: T, right: T): T; + +// @ts-ignore: decorator +@builtin +export declare function min(left: T, right: T): T; + +// @ts-ignore: decorator +@builtin +export declare function ceil(value: T): T; + +// @ts-ignore: decorator +@builtin +export declare function floor(value: T): T; + +// @ts-ignore: decorator +@builtin +export declare function copysign(left: T, right: T): T; + +// @ts-ignore: decorator +@builtin +export declare function nearest(value: T): T; + +// @ts-ignore: decorator +@builtin +export declare function reinterpret(value: number): T; + +// @ts-ignore: decorator +@builtin +export declare function sqrt(value: T): T; + +// @ts-ignore: decorator +@builtin +export declare function trunc(value: T): T; + +// @ts-ignore: decorator +@builtin +export declare function add(left: T, right: T): T; + +// @ts-ignore: decorator +@builtin +export declare function sub(left: T, right: T): T; + +// @ts-ignore: decorator +@builtin +export declare function mul(left: T, right: T): T; + +// @ts-ignore: decorator +@builtin +export declare function div(left: T, right: T): T; + +// @ts-ignore: decorator +@builtin +export declare function eq(left: T, right: T): i32; + +// @ts-ignore: decorator +@builtin +export declare function ne(left: T, right: T): i32; + +// @ts-ignore: decorator +@builtin +export declare function rem(left: T, right: T): T; + +// @ts-ignore: decorator +@unsafe @builtin +export declare function load(ptr: usize, immOffset?: usize, immAlign?: usize): T; + +// @ts-ignore: decorator +@unsafe @builtin +export declare function store(ptr: usize, value: auto, immOffset?: usize, immAlign?: usize): void; + +// @ts-ignore: decorator +@builtin +export declare function sizeof(): usize; // | u32 / u64 + +// @ts-ignore: decorator +@builtin +export declare function alignof(): usize; // | u32 / u64 + +// @ts-ignore: decorator +@builtin +export declare function offsetof(fieldName?: string): usize; // | u32 / u64 + +// @ts-ignore: decorator +@builtin +export declare function idof(): u32; + +// @ts-ignore +@builtin +export declare function nameof(): string; + +// @ts-ignore: decorator +@builtin +export declare function select(ifTrue: T, ifFalse: T, condition: bool): T; + +// @ts-ignore: decorator +@unsafe @builtin +export declare function unreachable(): auto; + +// @ts-ignore: decorator +@builtin +export declare function changetype(value: auto): T; + +// @ts-ignore: decorator +@builtin +export declare function assert(isTrueish: T, message?: string): T; + +// @ts-ignore: decorator +@unsafe @builtin +export declare function unchecked(expr: T): T; + +// @ts-ignore: decorator +@unsafe @builtin +export declare function call_indirect(index: u32, ...args: auto[]): T; + +// @ts-ignore: decorator +@builtin +export declare function instantiate(...args: auto[]): T; + +export namespace atomic { + // @ts-ignore: decorator + @unsafe @builtin + export declare function load(ptr: usize, immOffset?: usize): T; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function store(ptr: usize, value: T, immOffset?: usize): void; + + // @ts-ignore: decorator + @builtin + export declare function add(ptr: usize, value: T, immOffset?: usize): T; + + // @ts-ignore: decorator + @builtin + export declare function sub(ptr: usize, value: T, immOffset?: usize): T; + + // @ts-ignore: decorator + @builtin + export declare function and(ptr: usize, value: T, immOffset?: usize): T; + + // @ts-ignore: decorator + @builtin + export declare function or(ptr: usize, value: T, immOffset?: usize): T; + + // @ts-ignore: decorator + @builtin + export declare function xor(ptr: usize, value: T, immOffset?: usize): T; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function xchg(ptr: usize, value: T, immOffset?: usize): T; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function cmpxchg(ptr: usize, expected: T, replacement: T, immOffset?: usize): T; + + // @ts-ignore: decorator + @builtin + export declare function wait(ptr: usize, expected: T, timeout: i64): AtomicWaitResult; + + // @ts-ignore: decorator + @builtin + export declare function notify(ptr: usize, count: i32): i32; + + // @ts-ignore: decorator + @builtin + export declare function fence(): void; +} + +// @ts-ignore: decorator +@lazy +export const enum AtomicWaitResult { + OK = 0, + NOT_EQUAL = 1, + TIMED_OUT = 2 +} + +// @ts-ignore: decorator +@builtin +export declare function i8(value: auto): i8; + +export namespace i8 { + + // @ts-ignore: decorator + @lazy + export const MIN_VALUE: i8 = -128; + + // @ts-ignore: decorator + @lazy + export const MAX_VALUE: i8 = 127; + + // @ts-ignore: decorator + @inline + export function parse(value: string, radix: i32 = 0): i8 { + return strtol(value, radix); + } +} + +// @ts-ignore: decorator +@builtin +export declare function i16(value: auto): i16; + +export namespace i16 { + + // @ts-ignore: decorator + @lazy + export const MIN_VALUE: i16 = -32768; + + // @ts-ignore: decorator + @lazy + export const MAX_VALUE: i16 = 32767; + + // @ts-ignore: decorator + @inline + export function parse(value: string, radix: i32 = 0): i16 { + return strtol(value, radix); + } +} + +// @ts-ignore: decorator +@builtin +export declare function i32(value: auto): i32; + +export namespace i32 { + + // @ts-ignore: decorator + @lazy + export const MIN_VALUE: i32 = -2147483648; + + // @ts-ignore: decorator + @lazy + export const MAX_VALUE: i32 = 2147483647; + + // @ts-ignore: decorator + @inline + export function parse(value: string, radix: i32 = 0): i32 { + return strtol(value, radix); + } + + // @ts-ignore: decorator + @builtin + export declare function clz(value: i32): i32; + + // @ts-ignore: decorator + @builtin + export declare function ctz(value: i32): i32; + + // @ts-ignore: decorator + @builtin + export declare function popcnt(value: i32): i32; + + // @ts-ignore: decorator + @builtin + export declare function add(left: i32, right:i32): i32; + + // @ts-ignore: decorator + @builtin + export declare function sub(left: i32, right:i32): i32; + + // @ts-ignore: decorator + @builtin + export declare function mul(left: i32, right:i32): i32; + + // @ts-ignore: decorator + @builtin + export declare function div_s(left: i32, right:i32): i32; + + // @ts-ignore: decorator + @builtin + export declare function div_u(left: i32, right:i32): i32; + + // @ts-ignore: decorator + @builtin + export declare function rotl(value: i32, shift: i32): i32; + + // @ts-ignore: decorator + @builtin + export declare function rotr(value: i32, shift: i32): i32; + + // @ts-ignore: decorator + @builtin + export declare function eq(left: i32, right:i32): i32; + + // @ts-ignore: decorator + @builtin + export declare function ne(left: i32, right:i32): i32; + + // @ts-ignore: decorator + @builtin + export declare function rem_s(left: i32, right: i32): i32; + + // @ts-ignore: decorator + @builtin + export declare function rem_u(left: u32, right: u32): u32; + + // @ts-ignore: decorator + @builtin + export declare function reinterpret_f32(value: f32): i32; + + // @ts-ignore: decorator + @builtin + export declare function load8_s(ptr: usize, immOffset?: usize, immAlign?: usize): i32; + + // @ts-ignore: decorator + @builtin + export declare function load8_u(ptr: usize, immOffset?: usize, immAlign?: usize): i32; + + // @ts-ignore: decorator + @builtin + export declare function load16_s(ptr: usize, immOffset?: usize, immAlign?: usize): i32; + + // @ts-ignore: decorator + @builtin + export declare function load16_u(ptr: usize, immOffset?: usize, immAlign?: usize): i32; + + // @ts-ignore: decorator + @builtin + export declare function load(ptr: usize, immOffset?: usize, immAlign?: usize): i32; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function store8(ptr: usize, value: i32, immOffset?: usize, immAlign?: usize): void; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function store16(ptr: usize, value: i32, immOffset?: usize, immAlign?: usize): void; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function store(ptr: usize, value: i32, immOffset?: usize, immAlign?: usize): void; + + export namespace atomic { + + // @ts-ignore: decorator + @builtin + export declare function load8_u(ptr: usize, immOffset?: usize): i32; + + // @ts-ignore: decorator + @builtin + export declare function load16_u(ptr: usize, immOffset?: usize): i32; + + // @ts-ignore: decorator + @builtin + export declare function load(ptr: usize, immOffset?: usize): i32; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function store8(ptr: usize, value: i32, immOffset?: usize): void; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function store16(ptr: usize, value: i32, immOffset?: usize): void; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function store(ptr: usize, value: i32, immOffset?: usize): void; + + export namespace rmw8 { + + // @ts-ignore: decorator + @builtin + export declare function add_u(ptr: usize, value: i32, immOffset?: usize): i32; + + // @ts-ignore: decorator + @builtin + export declare function sub_u(ptr: usize, value: i32, immOffset?: usize): i32; + + // @ts-ignore: decorator + @builtin + export declare function and_u(ptr: usize, value: i32, immOffset?: usize): i32; + + // @ts-ignore: decorator + @builtin + export declare function or_u(ptr: usize, value: i32, immOffset?: usize): i32; + + // @ts-ignore: decorator + @builtin + export declare function xor_u(ptr: usize, value: i32, immOffset?: usize): i32; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function xchg_u(ptr: usize, value: i32, immOffset?: usize): i32; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function cmpxchg_u(ptr: usize, expected: i32, replacement: i32, immOffset?: usize): i32; + } + + export namespace rmw16 { + + // @ts-ignore: decorator + @builtin + export declare function add_u(ptr: usize, value: i32, immOffset?: usize): i32; + + // @ts-ignore: decorator + @builtin + export declare function sub_u(ptr: usize, value: i32, immOffset?: usize): i32; + + // @ts-ignore: decorator + @builtin + export declare function and_u(ptr: usize, value: i32, immOffset?: usize): i32; + + // @ts-ignore: decorator + @builtin + export declare function or_u(ptr: usize, value: i32, immOffset?: usize): i32; + + // @ts-ignore: decorator + @builtin + export declare function xor_u(ptr: usize, value: i32, immOffset?: usize): i32; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function xchg_u(ptr: usize, value: i32, immOffset?: usize): i32; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function cmpxchg_u(ptr: usize, expected: i32, replacement: i32, immOffset?: usize): i32; + } + + export namespace rmw { + + // @ts-ignore: decorator + @builtin + export declare function add(ptr: usize, value: i32, immOffset?: usize): i32; + + // @ts-ignore: decorator + @builtin + export declare function sub(ptr: usize, value: i32, immOffset?: usize): i32; + + // @ts-ignore: decorator + @builtin + export declare function and(ptr: usize, value: i32, immOffset?: usize): i32; + + // @ts-ignore: decorator + @builtin + export declare function or(ptr: usize, value: i32, immOffset?: usize): i32; + + // @ts-ignore: decorator + @builtin + export declare function xor(ptr: usize, value: i32, immOffset?: usize): i32; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function xchg(ptr: usize, value: i32, immOffset?: usize): i32; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function cmpxchg(ptr: usize, expected: i32, replacement: i32, immOffset?: usize): i32; + } + } +} + +// @ts-ignore: decorator +@builtin +export declare function i64(value: auto): i64; + +export namespace i64 { + + // @ts-ignore: decorator + @lazy + export const MIN_VALUE: i64 = -9223372036854775808; + + // @ts-ignore: decorator + @lazy + export const MAX_VALUE: i64 = 9223372036854775807; + + // @ts-ignore: decorator + @inline + export function parse(value: string, radix: i32 = 0): i64 { + return strtol(value, radix); + } + + // @ts-ignore: decorator + @builtin + export declare function clz(value: i64): i64; + + // @ts-ignore: decorator + @builtin + export declare function ctz(value: i64): i64; + + // @ts-ignore: decorator + @builtin + export declare function add(left: i64, right:i64): i64; + + // @ts-ignore: decorator + @builtin + export declare function sub(left: i64, right:i64): i64; + + // @ts-ignore: decorator + @builtin + export declare function mul(left: i64, right:i64): i64; + + // @ts-ignore: decorator + @builtin + export declare function div_s(left: i64, right:i64): i64; + + // @ts-ignore: decorator + @builtin + export declare function div_u(left: i64, right:i64): i64; + + // @ts-ignore: decorator + @builtin + export declare function load8_s(ptr: usize, immOffset?: usize, immAlign?: usize): i64; + + // @ts-ignore: decorator + @builtin + export declare function load8_u(ptr: usize, immOffset?: usize, immAlign?: usize): i64; + + // @ts-ignore: decorator + @builtin + export declare function load16_s(ptr: usize, immOffset?: usize, immAlign?: usize): i64; + + // @ts-ignore: decorator + @builtin + export declare function load16_u(ptr: usize, immOffset?: usize, immAlign?: usize): i64; + + // @ts-ignore: decorator + @builtin + export declare function load32_s(ptr: usize, immOffset?: usize, immAlign?: usize): i64; + + // @ts-ignore: decorator + @builtin + export declare function load32_u(ptr: usize, immOffset?: usize, immAlign?: usize): i64; + + // @ts-ignore: decorator + @builtin + export declare function load(ptr: usize, immOffset?: usize): i64; + + // @ts-ignore: decorator + @builtin + export declare function popcnt(value: i64): i64; + + // @ts-ignore: decorator + @builtin + export declare function rotl(value: i64, shift: i64): i64; + + // @ts-ignore: decorator + @builtin + export declare function rotr(value: i64, shift: i64): i64; + + // @ts-ignore: decorator + @builtin + export declare function eq(left: i64, right:i64): i32; + + // @ts-ignore: decorator + @builtin + export declare function ne(left: i64, right:i64): i32; + + // @ts-ignore: decorator + @builtin + export declare function rem_s(left: i64, right: i64): i64; + + // @ts-ignore: decorator + @builtin + export declare function rem_u(left: u64, right: u64): u64; + + // @ts-ignore: decorator + @builtin + export declare function reinterpret_f64(value: f64): i64; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function store8(ptr: usize, value: i64, immOffset?: usize, immAlign?: usize): void; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function store16(ptr: usize, value: i64, immOffset?: usize, immAlign?: usize): void; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function store32(ptr: usize, value: i64, immOffset?: usize, immAlign?: usize): void; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function store(ptr: usize, value: i64, immOffset?: usize, immAlign?: usize): void; + + export namespace atomic { + + // @ts-ignore: decorator + @builtin + export declare function load8_u(ptr: usize, immOffset?: usize): i64; + + // @ts-ignore: decorator + @builtin + export declare function load16_u(ptr: usize, immOffset?: usize): i64; + + // @ts-ignore: decorator + @builtin + export declare function load32_u(ptr: usize, immOffset?: usize): i64; + + // @ts-ignore: decorator + @builtin + export declare function load(ptr: usize, immOffset?: usize): i64; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function store8(ptr: usize, value: i64, immOffset?: usize): void; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function store16(ptr: usize, value: i64, immOffset?: usize): void; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function store32(ptr: usize, value: i64, immOffset?: usize): void; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function store(ptr: usize, value: i64, immOffset?: usize): void; + + export namespace rmw8 { + + // @ts-ignore: decorator + @builtin + export declare function add_u(ptr: usize, value: i64, immOffset?: usize): i64; + + // @ts-ignore: decorator + @builtin + export declare function sub_u(ptr: usize, value: i64, immOffset?: usize): i64; + + // @ts-ignore: decorator + @builtin + export declare function and_u(ptr: usize, value: i64, immOffset?: usize): i64; + + // @ts-ignore: decorator + @builtin + export declare function or_u(ptr: usize, value: i64, immOffset?: usize): i64; + + // @ts-ignore: decorator + @builtin + export declare function xor_u(ptr: usize, value: i64, immOffset?: usize): i64; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function xchg_u(ptr: usize, value: i64, immOffset?: usize): i64; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function cmpxchg_u(ptr: usize, expected: i64, replacement: i64, immOffset?: usize): i64; + } + + export namespace rmw16 { + + // @ts-ignore: decorator + @builtin + export declare function add_u(ptr: usize, value: i64, immOffset?: usize): i64; + + // @ts-ignore: decorator + @builtin + export declare function sub_u(ptr: usize, value: i64, immOffset?: usize): i64; + + // @ts-ignore: decorator + @builtin + export declare function and_u(ptr: usize, value: i64, immOffset?: usize): i64; + + // @ts-ignore: decorator + @builtin + export declare function or_u(ptr: usize, value: i64, immOffset?: usize): i64; + + // @ts-ignore: decorator + @builtin + export declare function xor_u(ptr: usize, value: i64, immOffset?: usize): i64; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function xchg_u(ptr: usize, value: i64, immOffset?: usize): i64; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function cmpxchg_u(ptr: usize, expected: i64, replacement: i64, immOffset?: usize): i64; + } + + export namespace rmw32 { + + // @ts-ignore: decorator + @builtin + export declare function add_u(ptr: usize, value: i64, immOffset?: usize): i64; + + // @ts-ignore: decorator + @builtin + export declare function sub_u(ptr: usize, value: i64, immOffset?: usize): i64; + + // @ts-ignore: decorator + @builtin + export declare function and_u(ptr: usize, value: i64, immOffset?: usize): i64; + + // @ts-ignore: decorator + @builtin + export declare function or_u(ptr: usize, value: i64, immOffset?: usize): i64; + + // @ts-ignore: decorator + @builtin + export declare function xor_u(ptr: usize, value: i64, immOffset?: usize): i64; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function xchg_u(ptr: usize, value: i64, immOffset?: usize): i64; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function cmpxchg_u(ptr: usize, expected: i64, replacement: i64, immOffset?: usize): i64; + } + + export namespace rmw { + + // @ts-ignore: decorator + @builtin + export declare function add(ptr: usize, value: i64, immOffset?: usize): i64; + + // @ts-ignore: decorator + @builtin + export declare function sub(ptr: usize, value: i64, immOffset?: usize): i64; + + // @ts-ignore: decorator + @builtin + export declare function and(ptr: usize, value: i64, immOffset?: usize): i64; + + // @ts-ignore: decorator + @builtin + export declare function or(ptr: usize, value: i64, immOffset?: usize): i64; + + // @ts-ignore: decorator + @builtin + export declare function xor(ptr: usize, value: i64, immOffset?: usize): i64; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function xchg(ptr: usize, value: i64, immOffset?: usize): i64; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function cmpxchg(ptr: usize, expected: i64, replacement: i64, immOffset?: usize): i64; + } + } +} + +// @ts-ignore: decorator +@builtin +export declare function isize(value: auto): isize; + +export namespace isize { + + // @ts-ignore: decorator + @lazy + export const MIN_VALUE: isize = sizeof() == sizeof() + ? -2147483648 + : -9223372036854775808; + + // @ts-ignore: decorator + @lazy + export const MAX_VALUE: isize = sizeof() == sizeof() + ? 2147483647 + : 9223372036854775807; + + // @ts-ignore: decorator + @inline + export function parse(value: string, radix: i32 = 0): isize { + return strtol(value, radix); + } +} + +// @ts-ignore: decorator +@builtin +export declare function u8(value: auto): u8; + +export namespace u8 { + + // @ts-ignore: decorator + @lazy + export const MIN_VALUE: u8 = 0; + + // @ts-ignore: decorator + @lazy + export const MAX_VALUE: u8 = 255; + + // @ts-ignore: decorator + @inline + export function parse(value: string, radix: i32 = 0): u8 { + return strtol(value, radix); + } +} + +// @ts-ignore: decorator +@builtin +export declare function u16(value: auto): u16; + +export namespace u16 { + + // @ts-ignore: decorator + @lazy + export const MIN_VALUE: u16 = 0; + + // @ts-ignore: decorator + @lazy + export const MAX_VALUE: u16 = 65535; + + // @ts-ignore: decorator + @inline + export function parse(value: string, radix: i32 = 0): u16 { + return strtol(value, radix); + } +} + +// @ts-ignore: decorator +@builtin +export declare function u32(value: auto): u32; + +export namespace u32 { + + // @ts-ignore: decorator + @lazy + export const MIN_VALUE: u32 = 0; + + // @ts-ignore: decorator + @lazy + export const MAX_VALUE: u32 = 4294967295; + + // @ts-ignore: decorator + @inline + export function parse(value: string, radix: i32 = 0): u32 { + return strtol(value, radix); + } +} + +// @ts-ignore: decorator +@builtin +export declare function u64(value: auto): u64; + +export namespace u64 { + + // @ts-ignore: decorator + @lazy + export const MIN_VALUE: u64 = 0; + + // @ts-ignore: decorator + @lazy + export const MAX_VALUE: u64 = 18446744073709551615; + + // @ts-ignore: decorator + @inline + export function parse(value: string, radix: i32 = 0): u64 { + return strtol(value, radix); + } +} + +// @ts-ignore: decorator +@builtin +export declare function usize(value: auto): usize; + +export namespace usize { + + // @ts-ignore: decorator + @lazy + export const MIN_VALUE: usize = 0; + + // @ts-ignore: decorator + @lazy + export const MAX_VALUE: usize = sizeof() == sizeof() + ? 4294967295 + : 18446744073709551615; + + // @ts-ignore: decorator + @inline + export function parse(value: string, radix: i32 = 0): usize { + return strtol(value, radix); + } +} + +// @ts-ignore: decorator +@builtin +export declare function bool(value: auto): bool; + +export namespace bool { + + // @ts-ignore: decorator + @lazy + export const MIN_VALUE: bool = false; + + // @ts-ignore: decorator + @lazy + export const MAX_VALUE: bool = true; + + // @ts-ignore: decorator + @inline + export function parse(value: string): bool { + return strtob(value); + } +} + +// @ts-ignore: decorator +@builtin +export declare function f32(value: auto): f32; + +export namespace f32 { + + // @ts-ignore: decorator + @lazy + export const EPSILON = reinterpret(0x34000000); // 0x1p-23f + + // @ts-ignore: decorator + @lazy + export const MIN_VALUE = reinterpret(0x00000001); // 0x0.000001p+0f + + // @ts-ignore: decorator + @lazy + export const MAX_VALUE = reinterpret(0x7F7FFFFF); // 0x1.fffffep+127f + + // @ts-ignore: decorator + @lazy + export const MIN_NORMAL_VALUE = reinterpret(0x00800000); // 0x1p-126f + + // @ts-ignore: decorator + @lazy + export const MIN_SAFE_INTEGER: f32 = -16777215; + + // @ts-ignore: decorator + @lazy + export const MAX_SAFE_INTEGER: f32 = 16777215; + + // @ts-ignore: decorator + @lazy + export const POSITIVE_INFINITY: f32 = Infinity; + + // @ts-ignore: decorator + @lazy + export const NEGATIVE_INFINITY: f32 = -Infinity; + + // @ts-ignore: decorator + @lazy + export const NaN: f32 = 0.0 / 0.0; + + // @ts-ignore: decorator + @inline + export function parse(value: string): f32 { + return strtod(value); + } + + // @ts-ignore: decorator + @builtin + export declare function abs(value: f32): f32; + + // @ts-ignore: decorator + @builtin + export declare function ceil(value: f32): f32; + + // @ts-ignore: decorator + @builtin + export declare function copysign(x: f32, y: f32): f32; + + // @ts-ignore: decorator + @builtin + export declare function floor(value: f32): f32; + + // @ts-ignore: decorator + @builtin + export declare function load(ptr: usize, immOffset?: usize, immAlign?: usize): f32; + + // @ts-ignore: decorator + @builtin + export declare function max(left: f32, right: f32): f32; + + // @ts-ignore: decorator + @builtin + export declare function min(left: f32, right: f32): f32; + + // @ts-ignore: decorator + @builtin + export declare function nearest(value: f32): f32; + + // @ts-ignore: decorator + @builtin + export declare function reinterpret_i32(value: i32): f32; + + // @ts-ignore: decorator + @builtin + export declare function sqrt(value: f32): f32; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function store(ptr: usize, value: f32, immOffset?: usize, immAlign?: usize): void; + + // @ts-ignore: decorator + @builtin + export declare function trunc(value: f32): f32; + + // @ts-ignore: decorator + @builtin + export declare function add(left: f32, right: f32): f32; + + // @ts-ignore: decorator + @builtin + export declare function sub(left: f32, right: f32): f32; + + // @ts-ignore: decorator + @builtin + export declare function mul(left: f32, right: f32): f32; + + // @ts-ignore: decorator + @builtin + export declare function div(left: f32, right: f32): f32; + + // @ts-ignore: decorator + @builtin + export declare function eq(left: f32, right: f32): i32; + + // @ts-ignore: decorator + @builtin + export declare function ne(left: f32, right: f32): i32; +} + +// @ts-ignore: decorator +@builtin +export declare function f64(value: auto): f64; + +export namespace f64 { + + // @ts-ignore: decorator + @lazy + export const EPSILON = reinterpret(0x3CB0000000000000); // 0x1p-52 + + // @ts-ignore: decorator + @lazy + export const MIN_VALUE = reinterpret(0x0000000000000001); // 0x0.0000000000001p+0 + + // @ts-ignore: decorator + @lazy + export const MAX_VALUE = reinterpret(0x7FEFFFFFFFFFFFFF); // 0x1.fffffffffffffp+1023 + + // @ts-ignore: decorator + @lazy + export const MIN_NORMAL_VALUE = reinterpret(0x0010000000000000); // 0x1p-1022 + + // @ts-ignore: decorator + @lazy + export const MIN_SAFE_INTEGER: f64 = -9007199254740991; + + // @ts-ignore: decorator + @lazy + export const MAX_SAFE_INTEGER: f64 = 9007199254740991; + + // @ts-ignore: decorator + @lazy + export const POSITIVE_INFINITY: f64 = Infinity; + + // @ts-ignore: decorator + @lazy + export const NEGATIVE_INFINITY: f64 = -Infinity; + + // @ts-ignore: decorator + @lazy + export const NaN: f64 = 0.0 / 0.0; + + // @ts-ignore: decorator + @inline + export function parse(value: string): f64 { + return strtod(value); + } + + // @ts-ignore: decorator + @builtin + export declare function abs(value: f64): f64; + + // @ts-ignore: decorator + @builtin + export declare function ceil(value: f64): f64; + + // @ts-ignore: decorator + @builtin + export declare function copysign(x: f64, y: f64): f64; + + // @ts-ignore: decorator + @builtin + export declare function floor(value: f64): f64; + + // @ts-ignore: decorator + @builtin + export declare function load(ptr: usize, immOffset?: usize, immAlign?: usize): f64; + + // @ts-ignore: decorator + @builtin + export declare function max(left: f64, right: f64): f64; + + // @ts-ignore: decorator + @builtin + export declare function min(left: f64, right: f64): f64; + + // @ts-ignore: decorator + @builtin + export declare function nearest(value: f64): f64; + + // @ts-ignore: decorator + @builtin + export declare function reinterpret_i64(value: i64): f64; + + // @ts-ignore: decorator + @builtin + export declare function sqrt(value: f64): f64; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function store(ptr: usize, value: f64, immOffset?: usize, immAlign?: usize): void; + + // @ts-ignore: decorator + @builtin + export declare function trunc(value: f64): f64; + + // @ts-ignore: decorator + @builtin + export declare function add(left: f64, right: f64): f64; + + // @ts-ignore: decorator + @builtin + export declare function sub(left: f64, right: f64): f64; + + // @ts-ignore: decorator + @builtin + export declare function mul(left: f64, right: f64): f64; + + // @ts-ignore: decorator + @builtin + export declare function div(left: f64, right: f64): f64; + + // @ts-ignore: decorator + @builtin + export declare function eq(left: f64, right: f64): i32; + + // @ts-ignore: decorator + @builtin + export declare function ne(left: f64, right: f64): i32; +} + +// @ts-ignore: decorator +@builtin +export declare function v128( + a: i8, b: i8, c: i8, d: i8, e: i8, f: i8, g: i8, h: i8, + i: i8, j: i8, k: i8, l: i8, m: i8, n: i8, o: i8, p: i8 +): v128; + +export namespace v128 { + + // @ts-ignore: decorator + @builtin + export declare function splat(x: T): v128; + + // @ts-ignore: decorator + @builtin + export declare function extract_lane(x: v128, idx: u8): T; + + // @ts-ignore: decorator + @builtin + export declare function replace_lane(x: v128, idx: u8, value: T): v128; + + // @ts-ignore: decorator + @builtin + export declare function shuffle(a: v128, b: v128, ...lanes: u8[]): v128; + + // @ts-ignore: decorator + @builtin + export declare function swizzle(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function load(ptr: usize, immOffset?: usize, immAlign?: usize): v128; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function load_ext(ptr: usize, immOffset?: usize, immAlign?: usize): v128; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function load_zero(ptr: usize, immOffset?: usize, immAlign?: usize): v128; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function load_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): v128; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function store_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): void; + + // @ts-ignore: decorator + @builtin + export declare function load8x8_s(ptr: usize, immOffset?: u32, immAlign?: u32): v128; + + // @ts-ignore: decorator + @builtin + export declare function load8x8_u(ptr: usize, immOffset?: u32, immAlign?: u32): v128; + + // @ts-ignore: decorator + @builtin + export declare function load16x4_s(ptr: usize, immOffset?: u32, immAlign?: u32): v128; + + // @ts-ignore: decorator + @builtin + export declare function load16x4_u(ptr: usize, immOffset?: u32, immAlign?: u32): v128; + + // @ts-ignore: decorator + @builtin + export declare function load32x2_s(ptr: usize, immOffset?: u32, immAlign?: u32): v128; + + // @ts-ignore: decorator + @builtin + export declare function load32x2_u(ptr: usize, immOffset?: u32, immAlign?: u32): v128; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function load_splat(ptr: usize, immOffset?: usize, immAlign?: usize): v128; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function load8_splat(ptr: usize, immOffset?: u32, immAlign?: u32): v128; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function load16_splat(ptr: usize, immOffset?: u32, immAlign?: u32): v128; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function load32_splat(ptr: usize, immOffset?: u32, immAlign?: u32): v128; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function load64_splat(ptr: usize, immOffset?: u32, immAlign?: u32): v128; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function load32_zero(ptr: usize, immOffset?: u32, immAlign?: u32): v128; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function load64_zero(ptr: usize, immOffset?: u32, immAlign?: u32): v128; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function load8_lane(ptr: usize, vec: v128, idx: u8, immOffset?: u32, immAlign?: u32): v128; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function load16_lane(ptr: usize, vec: v128, idx: u8, immOffset?: u32, immAlign?: u32): v128; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function load32_lane(ptr: usize, vec: v128, idx: u8, immOffset?: u32, immAlign?: u32): v128; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function load64_lane(ptr: usize, vec: v128, idx: u8, immOffset?: u32, immAlign?: u32): v128; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function store8_lane(ptr: usize, vec: v128, idx: u8, immOffset?: u32, immAlign?: u32): void; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function store16_lane(ptr: usize, vec: v128, idx: u8, immOffset?: u32, immAlign?: u32): void; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function store32_lane(ptr: usize, vec: v128, idx: u8, immOffset?: u32, immAlign?: u32): void; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function store64_lane(ptr: usize, vec: v128, idx: u8, immOffset?: u32, immAlign?: u32): void; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function store(ptr: usize, value: v128, immOffset?: usize, immAlign?: usize): void; + + // @ts-ignore: decorator + @builtin + export declare function add(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function sub(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function mul(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function div(a: v128, b: v128): v128; // f32, f64 only + + // @ts-ignore: decorator + @builtin + export declare function neg(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function add_sat(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function sub_sat(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function shl(a: v128, b: i32): v128; + + // @ts-ignore: decorator + @builtin + export declare function shr(a: v128, b: i32): v128; + + // @ts-ignore: decorator + @builtin + export declare function and(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function or(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function xor(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function andnot(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function not(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function bitselect(v1: v128, v2: v128, c: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function any_true(a: v128): bool; + + // @ts-ignore: decorator + @builtin + export declare function all_true(a: v128): bool; + + // @ts-ignore: decorator + @builtin + export declare function bitmask(a: v128): i32; + + // @ts-ignore: decorator + @builtin + export declare function popcnt(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function min(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function max(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function pmin(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function pmax(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function dot(a: v128, b: v128): v128; // i16 only + + // @ts-ignore: decorator + @builtin + export declare function avgr(a: v128, b: v128): v128; // u8, u16 only + + // @ts-ignore: decorator + @builtin + export declare function abs(a: v128): v128; // f32, f64 only + + // @ts-ignore: decorator + @builtin + export declare function sqrt(a: v128): v128; // f32, f64 only + + // @ts-ignore: decorator + @builtin + export declare function ceil(a: v128): v128; // f32, f64 only + + // @ts-ignore: decorator + @builtin + export declare function floor(a: v128): v128; // f32, f64 only + + // @ts-ignore: decorator + @builtin + export declare function trunc(a: v128): v128; // f32, f64 only + + // @ts-ignore: decorator + @builtin + export declare function nearest(a: v128): v128; // f32, f64 only + + // @ts-ignore: decorator + @builtin + export declare function eq(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function ne(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function lt(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function le(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function gt(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function ge(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function convert(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function convert_low(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function trunc_sat(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function trunc_sat_zero(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function narrow(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function extend_low(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function extend_high(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function extadd_pairwise(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function demote_zero(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function promote_low(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function q15mulr_sat(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function extmul_low(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function extmul_high(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_swizzle(a: v128, s: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_trunc(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_trunc_zero(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_madd(a: v128, b: v128, c: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_nmadd(a: v128, b: v128, c: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_laneselect(a: v128, b: v128, m: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_min(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_max(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_q15mulr(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_dot(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_dot_add(a: v128, b: v128, c: v128): v128; +} + +// @ts-ignore: decorator +@builtin +export declare function i8x16( + a: i8, b: i8, c: i8, d: i8, e: i8, f: i8, g: i8, h: i8, + i: i8, j: i8, k: i8, l: i8, m: i8, n: i8, o: i8, p: i8 +): v128; + +export namespace i8x16 { + + // @ts-ignore: decorator + @builtin + export declare function splat(x: i8): v128; + + // @ts-ignore: decorator + @builtin + export declare function extract_lane_s(x: v128, idx: u8): i8; + + // @ts-ignore: decorator + @builtin + export declare function extract_lane_u(x: v128, idx: u8): u8; + + // @ts-ignore: decorator + @builtin + export declare function replace_lane(x: v128, idx: u8, value: i8): v128; + + // @ts-ignore: decorator + @builtin + export declare function add(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function sub(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function min_s(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function min_u(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function max_s(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function max_u(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function avgr_u(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function abs(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function neg(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function add_sat_s(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function add_sat_u(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function sub_sat_s(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function sub_sat_u(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function shl(a: v128, b: i32): v128; + + // @ts-ignore: decorator + @builtin + export declare function shr_s(a: v128, b: i32): v128; + + // @ts-ignore: decorator + @builtin + export declare function shr_u(a: v128, b: i32): v128; + + // @ts-ignore: decorator + @builtin + export declare function all_true(a: v128): bool; + + // @ts-ignore: decorator + @builtin + export declare function bitmask(a: v128): i32; + + // @ts-ignore: decorator + @builtin + export declare function popcnt(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function eq(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function ne(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function lt_s(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function lt_u(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function le_s(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function le_u(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function gt_s(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function gt_u(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function ge_s(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function ge_u(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function narrow_i16x8_s(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function narrow_i16x8_u(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function shuffle( + a: v128, b: v128, + l0: u8, l1: u8, l2: u8, l3: u8, l4: u8, l5: u8, l6: u8, l7: u8, + l8: u8, l9: u8, l10: u8, l11: u8, l12: u8, l13: u8, l14: u8, l15: u8 + ): v128; + + // @ts-ignore: decorator + @builtin + export declare function swizzle(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_swizzle(a: v128, s: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_laneselect(a: v128, b: v128, m: v128): v128; +} + +// @ts-ignore: decorator +@builtin +export declare function i16x8(a: i16, b: i16, c: i16, d: i16, e: i16, f: i16, g: i16, h: i16): v128; + +export namespace i16x8 { + + // @ts-ignore: decorator + @builtin + export declare function splat(x: i16): v128; + + // @ts-ignore: decorator + @builtin + export declare function extract_lane_s(x: v128, idx: u8): i16; + + // @ts-ignore: decorator + @builtin + export declare function extract_lane_u(x: v128, idx: u8): u16; + + // @ts-ignore: decorator + @builtin + export declare function replace_lane(x: v128, idx: u8, value: i16): v128; + + // @ts-ignore: decorator + @builtin + export declare function add(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function sub(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function mul(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function min_s(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function min_u(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function max_s(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function max_u(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function avgr_u(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function abs(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function neg(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function add_sat_s(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function add_sat_u(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function sub_sat_s(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function sub_sat_u(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function shl(a: v128, b: i32): v128; + + // @ts-ignore: decorator + @builtin + export declare function shr_s(a: v128, b: i32): v128; + + // @ts-ignore: decorator + @builtin + export declare function shr_u(a: v128, b: i32): v128; + + // @ts-ignore: decorator + @builtin + export declare function all_true(a: v128): bool; + + // @ts-ignore: decorator + @builtin + export declare function bitmask(a: v128): i32; + + // @ts-ignore: decorator + @builtin + export declare function eq(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function ne(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function lt_s(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function lt_u(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function le_s(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function le_u(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function gt_s(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function gt_u(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function ge_s(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function ge_u(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function narrow_i32x4_s(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function narrow_i32x4_u(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function extend_low_i8x16_s(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function extend_low_i8x16_u(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function extend_high_i8x16_s(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function extend_high_i8x16_u(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function extadd_pairwise_i8x16_s(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function extadd_pairwise_i8x16_u(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function q15mulr_sat_s(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function extmul_low_i8x16_s(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function extmul_low_i8x16_u(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function extmul_high_i8x16_s(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function extmul_high_i8x16_u(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function shuffle( + a: v128, b: v128, + l0: u8, l1: u8, l2: u8, l3: u8, l4: u8, l5: u8, l6: u8, l7: u8 + ): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_laneselect(a: v128, b: v128, m: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_q15mulr_s(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_dot_i8x16_i7x16_s(a: v128, b: v128, c: v128): v128; +} + +// @ts-ignore: decorator +@builtin +export declare function i32x4(a: i32, b: i32, c: i32, d: i32): v128; + +export namespace i32x4 { + + // @ts-ignore: decorator + @builtin + export declare function splat(x: i32): v128; + + // @ts-ignore: decorator + @builtin + export declare function extract_lane(x: v128, idx: u8): i32; + + // @ts-ignore: decorator + @builtin + export declare function replace_lane(x: v128, idx: u8, value: i32): v128; + + // @ts-ignore: decorator + @builtin + export declare function add(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function sub(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function mul(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function min_s(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function min_u(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function max_s(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function max_u(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function dot_i16x8_s(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function abs(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function neg(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function shl(a: v128, b: i32): v128; + + // @ts-ignore: decorator + @builtin + export declare function shr_s(a: v128, b: i32): v128; + + // @ts-ignore: decorator + @builtin + export declare function shr_u(a: v128, b: i32): v128; + + // @ts-ignore: decorator + @builtin + export declare function all_true(a: v128): bool; + + // @ts-ignore: decorator + @builtin + export declare function bitmask(a: v128): i32; + + // @ts-ignore: decorator + @builtin + export declare function eq(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function ne(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function lt_s(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function lt_u(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function le_s(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function le_u(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function gt_s(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function gt_u(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function ge_s(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function ge_u(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function trunc_sat_f32x4_s(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function trunc_sat_f32x4_u(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function trunc_sat_f64x2_s_zero(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function trunc_sat_f64x2_u_zero(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function extend_low_i16x8_s(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function extend_low_i16x8_u(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function extend_high_i16x8_s(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function extend_high_i16x8_u(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function extadd_pairwise_i16x8_s(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function extadd_pairwise_i16x8_u(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function extmul_low_i16x8_s(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function extmul_low_i16x8_u(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function extmul_high_i16x8_s(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function extmul_high_i16x8_u(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function shuffle(a: v128, b: v128, l0: u8, l1: u8, l2: u8, l3: u8): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_trunc_f32x4_s(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_trunc_f32x4_u(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_trunc_f64x2_s_zero(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_trunc_f64x2_u_zero(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_laneselect(a: v128, b: v128, m: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_dot_i8x16_i7x16_add_s(a: v128, b: v128, c: v128): v128; +} + +// @ts-ignore: decorator +@builtin +export declare function i64x2(a: i64, b: i64): v128; + +export namespace i64x2 { + + // @ts-ignore: decorator + @builtin + export declare function splat(x: i64): v128; + + // @ts-ignore: decorator + @builtin + export declare function extract_lane(x: v128, idx: u8): i64; + + // @ts-ignore: decorator + @builtin + export declare function replace_lane(x: v128, idx: u8, value: i64): v128; + + // @ts-ignore: decorator + @builtin + export declare function add(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function sub(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function mul(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function abs(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function neg(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function shl(a: v128, b: i32): v128; + + // @ts-ignore: decorator + @builtin + export declare function shr_s(a: v128, b: i32): v128; + + // @ts-ignore: decorator + @builtin + export declare function shr_u(a: v128, b: i32): v128; + + // @ts-ignore: decorator + @builtin + export declare function all_true(a: v128): bool; + + // @ts-ignore: decorator + @builtin + export declare function bitmask(a: v128): i32; + + // @ts-ignore: decorator + @builtin + export declare function eq(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function ne(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function lt_s(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function le_s(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function gt_s(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function ge_s(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function extend_low_i32x4_s(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function extend_low_i32x4_u(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function extend_high_i32x4_s(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function extend_high_i32x4_u(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function extmul_low_i32x4_s(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function extmul_low_i32x4_u(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function extmul_high_i32x4_s(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function extmul_high_i32x4_u(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function shuffle(a: v128, b: v128, l0: u8, l1: u8): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_laneselect(a: v128, b: v128, m: v128): v128; +} + +// @ts-ignore: decorator +@builtin +export declare function f32x4(a: f32, b: f32, c: f32, d: f32): v128; + +export namespace f32x4 { + + // @ts-ignore: decorator + @builtin + export declare function splat(x: f32): v128; + + // @ts-ignore: decorator + @builtin + export declare function extract_lane(x: v128, idx: u8): f32; + + // @ts-ignore: decorator + @builtin + export declare function replace_lane(x: v128, idx: u8, value: f32): v128; + + // @ts-ignore: decorator + @builtin + export declare function add(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function sub(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function mul(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function div(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function neg(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function min(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function max(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function pmin(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function pmax(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function abs(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function sqrt(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function ceil(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function floor(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function trunc(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function nearest(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function eq(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function ne(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function lt(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function le(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function gt(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function ge(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function convert_i32x4_s(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function convert_i32x4_u(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function demote_f64x2_zero(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function shuffle(a: v128, b: v128, l0: u8, l1: u8, l2: u8, l3: u8): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_madd(a: v128, b: v128, c: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_nmadd(a: v128, b: v128, c: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_min(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_max(a: v128, b: v128): v128; +} + +// @ts-ignore: decorator +@builtin +export declare function f64x2(a: f64, b: f64): v128; + +export namespace f64x2 { + + // @ts-ignore: decorator + @builtin + export declare function splat(x: f64): v128; + + // @ts-ignore: decorator + @builtin + export declare function extract_lane(x: v128, idx: u8): f64; + + // @ts-ignore: decorator + @builtin + export declare function replace_lane(x: v128, idx: u8, value: f64): v128; + + // @ts-ignore: decorator + @builtin + export declare function add(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function sub(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function mul(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function div(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function neg(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function min(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function max(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function pmin(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function pmax(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function abs(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function sqrt(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function ceil(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function floor(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function trunc(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function nearest(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function eq(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function ne(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function lt(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function le(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function gt(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function ge(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function convert_low_i32x4_s(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function convert_low_i32x4_u(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function promote_low_f32x4(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function shuffle(a: v128, b: v128, l0: u8, l1: u8): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_madd(a: v128, b: v128, c: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_nmadd(a: v128, b: v128, c: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_min(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_max(a: v128, b: v128): v128; +} + +@final +export abstract class i31 { // FIXME: usage of 'new' requires a class :( + + // @ts-ignore: decorator + @builtin + static new(value: i32): i31ref { return changetype(unreachable()); } + + // @ts-ignore: decorator + @builtin + static get(i31expr: i31ref): i32 { return unreachable(); } +} + +/* eslint-disable @typescript-eslint/no-unused-vars */ + +// @ts-ignore: decorator +@external("env", "abort") +@external.js("throw Error(`${message} in ${fileName}:${lineNumber}:${columnNumber}`);") +declare function abort( + message?: string | null, + fileName?: string | null, + lineNumber?: u32, + columnNumber?: u32 +): void; + +// @ts-ignore: decorator +@external("env", "trace") +@external.js("console.log(message, ...[a0, a1, a2, a3, a4].slice(0, n));") +declare function trace( + message: string, + n?: i32, + a0?: f64, + a1?: f64, + a2?: f64, + a3?: f64, + a4?: f64 +): void; + +// @ts-ignore: decorator +@external("env", "seed") +@external.js("return Date.now() * Math.random();") +declare function seed(): f64; + +/* eslint-enable @typescript-eslint/no-unused-vars */ diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/compat.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/compat.ts new file mode 100644 index 00000000..669bb16f --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/std/assembly/compat.ts @@ -0,0 +1,2 @@ +export type ReturnType = returnof; +export type NonNullable = nonnull; diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/console.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/console.ts new file mode 100644 index 00000000..26a18a4e --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/std/assembly/console.ts @@ -0,0 +1,42 @@ +import { + console as binding +} from "./bindings/dom"; + +export namespace console { + + export function assert(condition: T, message: string = ""): void { + binding.assert(!!condition, message); + } + + export function log(message: string = ""): void { + binding.log(message); + } + + export function debug(message: string = ""): void { + binding.debug(message); + } + + export function info(message: string = ""): void { + binding.info(message); + } + + export function warn(message: string = ""): void { + binding.warn(message); + } + + export function error(message: string = ""): void { + binding.error(message); + } + + export function time(label: string = "default"): void { + binding.time(label); + } + + export function timeLog(label: string = "default"): void { + binding.timeLog(label); + } + + export function timeEnd(label: string = "default"): void { + binding.timeEnd(label); + } +} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/crypto.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/crypto.ts new file mode 100644 index 00000000..6a57cbac --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/std/assembly/crypto.ts @@ -0,0 +1,9 @@ +import { + crypto as crypto_binding +} from "bindings/dom"; + +export namespace crypto { + export function getRandomValues(array: Uint8Array): void { + crypto_binding.getRandomValues(array); + } +} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/dataview.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/dataview.ts new file mode 100644 index 00000000..7eb1f2a2 --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/std/assembly/dataview.ts @@ -0,0 +1,181 @@ +import { BLOCK_MAXSIZE } from "./rt/common"; +import { ArrayBuffer } from "./arraybuffer"; +import { E_INDEXOUTOFRANGE, E_INVALIDLENGTH } from "./util/error"; + +// TODO: there is probably a smarter way to check byteOffset for accesses larger than 1 byte + +export class DataView { + + readonly buffer: ArrayBuffer; + @unsafe readonly dataStart: usize; + readonly byteLength: i32; + + get byteOffset(): i32 { + return (this.dataStart - changetype(this.buffer)); + } + + constructor( + buffer: ArrayBuffer, + byteOffset: i32 = 0, + byteLength: i32 = buffer.byteLength + ) { + if ( + i32(byteLength > BLOCK_MAXSIZE) | + i32(byteOffset + byteLength > buffer.byteLength) + ) throw new RangeError(E_INVALIDLENGTH); + this.buffer = buffer; // links + let dataStart = changetype(buffer) + byteOffset; + this.dataStart = dataStart; + this.byteLength = byteLength; + } + + getFloat32(byteOffset: i32, littleEndian: bool = false): f32 { + if ( + (byteOffset >>> 31) | i32(byteOffset + 4 > this.byteLength) + ) throw new RangeError(E_INDEXOUTOFRANGE); + return littleEndian + ? load(this.dataStart + byteOffset) + : reinterpret(bswap(load(this.dataStart + byteOffset))); + } + + getFloat64(byteOffset: i32, littleEndian: bool = false): f64 { + if ( + (byteOffset >>> 31) | i32(byteOffset + 8 > this.byteLength) + ) throw new RangeError(E_INDEXOUTOFRANGE); + return littleEndian + ? load(this.dataStart + byteOffset) + : reinterpret(bswap(load(this.dataStart + byteOffset))); + } + + getInt8(byteOffset: i32): i8 { + if (byteOffset >= this.byteLength) throw new RangeError(E_INDEXOUTOFRANGE); + return load(this.dataStart + byteOffset); + } + + getInt16(byteOffset: i32, littleEndian: bool = false): i16 { + if ( + (byteOffset >>> 31) | i32(byteOffset + 2 > this.byteLength) + ) throw new RangeError(E_INDEXOUTOFRANGE); + let result: i16 = load(this.dataStart + byteOffset); + return littleEndian ? result : bswap(result); + } + + getInt32(byteOffset: i32, littleEndian: bool = false): i32 { + if ( + (byteOffset >>> 31) | i32(byteOffset + 4 > this.byteLength) + ) throw new RangeError(E_INDEXOUTOFRANGE); + let result: i32 = load(this.dataStart + byteOffset); + return littleEndian ? result : bswap(result); + } + + getUint8(byteOffset: i32): u8 { + if (byteOffset >= this.byteLength) throw new RangeError(E_INDEXOUTOFRANGE); + return load(this.dataStart + byteOffset); + } + + getUint16(byteOffset: i32, littleEndian: bool = false): u16 { + if ( + (byteOffset >>> 31) | i32(byteOffset + 2 > this.byteLength) + ) throw new RangeError(E_INDEXOUTOFRANGE); + let result: u16 = load(this.dataStart + byteOffset); + return littleEndian ? result : bswap(result); + } + + getUint32(byteOffset: i32, littleEndian: bool = false): u32 { + if ( + (byteOffset >>> 31) | i32(byteOffset + 4 > this.byteLength) + ) throw new RangeError(E_INDEXOUTOFRANGE); + let result: u32 = load(this.dataStart + byteOffset); + return littleEndian ? result : bswap(result); + } + + setFloat32(byteOffset: i32, value: f32, littleEndian: bool = false): void { + if ( + (byteOffset >>> 31) | i32(byteOffset + 4 > this.byteLength) + ) throw new RangeError(E_INDEXOUTOFRANGE); + if (littleEndian) store(this.dataStart + byteOffset, value); + else store(this.dataStart + byteOffset, bswap(reinterpret(value))); + } + + setFloat64(byteOffset: i32, value: f64, littleEndian: bool = false): void { + if ( + (byteOffset >>> 31) | i32(byteOffset + 8 > this.byteLength) + ) throw new RangeError(E_INDEXOUTOFRANGE); + if (littleEndian) store(this.dataStart + byteOffset, value); + else store(this.dataStart + byteOffset, bswap(reinterpret(value))); + } + + setInt8(byteOffset: i32, value: i8): void { + if (byteOffset >= this.byteLength) throw new RangeError(E_INDEXOUTOFRANGE); + store(this.dataStart + byteOffset, value); + } + + setInt16(byteOffset: i32, value: i16, littleEndian: bool = false): void { + if ( + (byteOffset >>> 31) | i32(byteOffset + 2 > this.byteLength) + ) throw new RangeError(E_INDEXOUTOFRANGE); + store(this.dataStart + byteOffset, littleEndian ? value : bswap(value)); + } + + setInt32(byteOffset: i32, value: i32, littleEndian: bool = false): void { + if ( + (byteOffset >>> 31) | i32(byteOffset + 4 > this.byteLength) + ) throw new RangeError(E_INDEXOUTOFRANGE); + store(this.dataStart + byteOffset, littleEndian ? value : bswap(value)); + } + + setUint8(byteOffset: i32, value: u8): void { + if (byteOffset >= this.byteLength) throw new RangeError(E_INDEXOUTOFRANGE); + store(this.dataStart + byteOffset, value); + } + + setUint16(byteOffset: i32, value: u16, littleEndian: bool = false): void { + if ( + (byteOffset >>> 31) | i32(byteOffset + 2 > this.byteLength) + ) throw new RangeError(E_INDEXOUTOFRANGE); + store(this.dataStart + byteOffset, littleEndian ? value : bswap(value)); + } + + setUint32(byteOffset: i32, value: u32, littleEndian: bool = false): void { + if ( + (byteOffset >>> 31) | i32(byteOffset + 4 > this.byteLength) + ) throw new RangeError(E_INDEXOUTOFRANGE); + store(this.dataStart + byteOffset, littleEndian ? value : bswap(value)); + } + + // Non-standard additions that make sense in WebAssembly, but won't work in JS: + + getInt64(byteOffset: i32, littleEndian: bool = false): i64 { + if ( + (byteOffset >>> 31) | i32(byteOffset + 8 > this.byteLength) + ) throw new RangeError(E_INDEXOUTOFRANGE); + let result: i64 = load(this.dataStart + byteOffset); + return littleEndian ? result : bswap(result); + } + + getUint64(byteOffset: i32, littleEndian: bool = false): u64 { + if ( + (byteOffset >>> 31) | i32(byteOffset + 8 > this.byteLength) + ) throw new RangeError(E_INDEXOUTOFRANGE); + let result = load(this.dataStart + byteOffset); + return littleEndian ? result : bswap(result); + } + + setInt64(byteOffset: i32, value: i64, littleEndian: bool = false): void { + if ( + (byteOffset >>> 31) | i32(byteOffset + 8 > this.byteLength) + ) throw new RangeError(E_INDEXOUTOFRANGE); + store(this.dataStart + byteOffset, littleEndian ? value : bswap(value)); + } + + setUint64(byteOffset: i32, value: u64, littleEndian: bool = false): void { + if ( + (byteOffset >>> 31) | i32(byteOffset + 8 > this.byteLength) + ) throw new RangeError(E_INDEXOUTOFRANGE); + store(this.dataStart + byteOffset, littleEndian ? value : bswap(value)); + } + + toString(): string { + return "[object DataView]"; + } +} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/date.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/date.ts new file mode 100644 index 00000000..2f847e17 --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/std/assembly/date.ts @@ -0,0 +1,375 @@ +import { E_INVALIDDATE } from "util/error"; +import { Date as Date_binding } from "./bindings/dom"; + +// @ts-ignore: decorator +@inline const + MILLIS_PER_DAY = 1000 * 60 * 60 * 24, + MILLIS_PER_HOUR = 1000 * 60 * 60, + MILLIS_PER_MINUTE = 1000 * 60, + MILLIS_PER_SECOND = 1000, + + YEARS_PER_EPOCH = 400, + DAYS_PER_EPOCH = 146097, + EPOCH_OFFSET = 719468, // Jan 1, 1970 + MILLIS_LIMIT = 8640000000000000; + +// ymdFromEpochDays returns values via globals to avoid allocations +// @ts-ignore: decorator +@lazy let _month: i32, _day: i32; + +export class Date { + private year: i32 = 0; + private month: i32 = 0; + private day: i32 = 0; + + @inline static UTC( + year: i32, + month: i32 = 0, + day: i32 = 1, + hour: i32 = 0, + minute: i32 = 0, + second: i32 = 0, + millisecond: i32 = 0 + ): i64 { + if (year >= 0 && year <= 99) year += 1900; + let ms = epochMillis(year, month + 1, day, hour, minute, second, millisecond); + if (invalidDate(ms)) throw new RangeError(E_INVALIDDATE); + return ms; + } + + @inline static now(): i64 { + return Date_binding.now(); + } + + // It can parse only ISO 8601 inputs like YYYY-MM-DDTHH:MM:SS.000Z + @inline static parse(dateString: string): Date { + return this.fromString(dateString); + } + + static fromString(dateTimeString: string): Date { + if (!dateTimeString.length) throw new RangeError(E_INVALIDDATE); + var + hour: i32 = 0, + min: i32 = 0, + sec: i32 = 0, + ms: i32 = 0, + offsetMs: i32 = 0; + + let dateString = dateTimeString; + let posT = dateTimeString.indexOf("T"); + if (~posT) { + // includes a time component + let timeString: string; + dateString = dateTimeString.substring(0, posT); + timeString = dateTimeString.substring(posT + 1); + + // might end with an offset ("Z", "+05:30", "-08:00", etc.) + for (let i = timeString.length - 1; i >= 0; i--) { + let c = timeString.charCodeAt(i); + if (c == 90) { // Z + timeString = timeString.substring(0, i); + break; + } else if (c == 43 || c == 45) { // + or - + if (i == timeString.length - 1) { + throw new RangeError(E_INVALIDDATE); + } + + let posColon = timeString.indexOf(":", i + 1); + if (~posColon) { + let offsetHours = i32.parse(timeString.substring(i + 1, posColon)); + let offsetMinutes = i32.parse(timeString.substring(posColon + 1)); + offsetMs = (offsetHours * 60 + offsetMinutes) * MILLIS_PER_MINUTE; + } else { + let offsetHours = i32.parse(timeString.substring(i + 1)); + offsetMs = offsetHours * MILLIS_PER_HOUR; + } + + if (c == 45) offsetMs = -offsetMs; // negative offset + timeString = timeString.substring(0, i); + break; + } + } + + // parse the HH:MM:SS component + let timeParts = timeString.split(":"); + let len = timeParts.length; + if (len <= 1) throw new RangeError(E_INVALIDDATE); + + hour = i32.parse(timeParts[0]); + min = i32.parse(timeParts[1]); + if (len >= 3) { + let secAndFrac = timeParts[2]; + let posDot = secAndFrac.indexOf("."); + if (~posDot) { + // includes fractional seconds (truncate to milliseconds) + sec = i32.parse(secAndFrac.substring(0, posDot)); + ms = i32.parse(secAndFrac.substr(posDot + 1, 3).padEnd(3, "0")); + } else { + sec = i32.parse(secAndFrac); + } + } + } + + // parse the YYYY-MM-DD component + let parts = dateString.split("-"); + let year = i32.parse(parts[0]); + let month = 1, day = 1; + let len = parts.length; + if (len >= 2) { + month = i32.parse(parts[1]); + if (len >= 3) { + day = i32.parse(parts[2]); + } + } + + return new Date(epochMillis(year, month, day, hour, min, sec, ms) - offsetMs); + } + + constructor(private epochMillis: i64) { + // this differs from JavaScript which prefer return NaN or "Invalid Date" string + // instead throwing exception. + if (invalidDate(epochMillis)) throw new RangeError(E_INVALIDDATE); + + this.year = dateFromEpoch(epochMillis); + this.month = _month; + this.day = _day; + } + + @inline getTime(): i64 { + return this.epochMillis; + } + + setTime(time: i64): i64 { + if (invalidDate(time)) throw new RangeError(E_INVALIDDATE); + + this.epochMillis = time; + this.year = dateFromEpoch(time); + this.month = _month; + this.day = _day; + + return time; + } + + @inline getUTCFullYear(): i32 { + return this.year; + } + + @inline getUTCMonth(): i32 { + return this.month - 1; + } + + @inline getUTCDate(): i32 { + return this.day; + } + + @inline getUTCDay(): i32 { + return dayOfWeek(this.year, this.month, this.day); + } + + getUTCHours(): i32 { + return i32(euclidRem(this.epochMillis, MILLIS_PER_DAY)) / MILLIS_PER_HOUR; + } + + getUTCMinutes(): i32 { + return i32(euclidRem(this.epochMillis, MILLIS_PER_HOUR)) / MILLIS_PER_MINUTE; + } + + getUTCSeconds(): i32 { + return i32(euclidRem(this.epochMillis, MILLIS_PER_MINUTE)) / MILLIS_PER_SECOND; + } + + getUTCMilliseconds(): i32 { + return i32(euclidRem(this.epochMillis, MILLIS_PER_SECOND)); + } + + setUTCMilliseconds(millis: i32): void { + this.setTime(this.epochMillis + (millis - this.getUTCMilliseconds())); + } + + setUTCSeconds(seconds: i32): void { + this.setTime(this.epochMillis + (seconds - this.getUTCSeconds()) * MILLIS_PER_SECOND); + } + + setUTCMinutes(minutes: i32): void { + this.setTime(this.epochMillis + (minutes - this.getUTCMinutes()) * MILLIS_PER_MINUTE); + } + + setUTCHours(hours: i32): void { + this.setTime(this.epochMillis + (hours - this.getUTCHours()) * MILLIS_PER_HOUR); + } + + setUTCDate(day: i32): void { + if (this.day == day) return; + this.setTime(join(this.year, this.month, day, this.epochMillis)); + } + + setUTCMonth(month: i32, day: i32 = this.day): void { + if (this.month == month + 1) return; + this.setTime(join(this.year, month + 1, day, this.epochMillis)); + } + + setUTCFullYear(year: i32): void { + if (this.year == year) return; + this.setTime(join(year, this.month, this.day, this.epochMillis)); + } + + toISOString(): string { + // TODO: add more low-level helper which combine toString and padStart without extra allocation + + let yr = this.year; + let isNeg = yr < 0; + let year = (isNeg || yr >= 10000) + ? (isNeg ? "-" : "+") + stringify(abs(yr), 6) + : stringify(yr, 4); + let month = stringify(this.month, 2); + let day = stringify(this.day); + let hours = stringify(this.getUTCHours()); + let mins = stringify(this.getUTCMinutes()); + let secs = stringify(this.getUTCSeconds()); + let ms = stringify(this.getUTCMilliseconds(), 3); + + return `${year}-${month}-${day}T${hours}:${mins}:${secs}.${ms}Z`; + } + + toUTCString(): string { + const + weeks: StaticArray = [ + "Sun, ", "Mon, ", "Tue, ", "Wed, ", "Thu, ", "Fri, ", "Sat, " + ], + months: StaticArray = [ + " Jan ", " Feb ", " Mar ", " Apr ", " May ", " Jun ", + " Jul ", " Aug ", " Sep ", " Oct ", " Nov ", " Dec " + ]; + + let mo = this.month; + let da = this.day; + let yr = this.year; + let wd = dayOfWeek(yr, mo, da); + let year = stringify(abs(yr), 4); + let month = unchecked(months[mo - 1]); + let week = unchecked(weeks[wd]); + let day = stringify(da); + let hours = stringify(this.getUTCHours()); + let mins = stringify(this.getUTCMinutes()); + let secs = stringify(this.getUTCSeconds()); + + return `${week}${day}${month}${yr < 0 ? "-" : ""}${year} ${hours}:${mins}:${secs} GMT`; + } + + toDateString(): string { + // TODO: use u64 static data instead 4 chars + // also use stream itoa variants. + const + weeks: StaticArray = [ + "Sun ", "Mon ", "Tue ", "Wed ", "Thu ", "Fri ", "Sat " + ], + months: StaticArray = [ + "Jan ", "Feb ", "Mar ", "Apr ", "May ", "Jun ", + "Jul ", "Aug ", "Sep ", "Oct ", "Nov ", "Dec " + ]; + + let mo = this.month; + let da = this.day; + let yr = this.year; + let wd = dayOfWeek(yr, mo, da); + let year = stringify(abs(yr), 4); + let month = unchecked(months[mo - 1]); + let week = unchecked(weeks[wd]); + let day = stringify(da); + + return `${week}${month}${day}${yr < 0 ? " -" : " "}${year}`; + } + + // Note: it uses UTC time instead local time (without timezone offset) + toTimeString(): string { + let hours = stringify(this.getUTCHours()); + let mins = stringify(this.getUTCMinutes()); + let secs = stringify(this.getUTCSeconds()); + // TODO: add timezone + return `${hours}:${mins}:${secs}`; + } + + // Note: it uses UTC datetime instead local datetime (without timezone offset) + toString(): string { + return `${this.toDateString()} ${this.toTimeString()}`; + } +} + +function epochMillis( + year: i32, + month: i32, + day: i32, + hour: i32, + minute: i32, + second: i32, + milliseconds: i32 +): i64 { + return ( + daysSinceEpoch(year, month, day) * MILLIS_PER_DAY + + hour * MILLIS_PER_HOUR + + minute * MILLIS_PER_MINUTE + + second * MILLIS_PER_SECOND + + milliseconds + ); +} + +// @ts-ignore: decorator +@inline function floorDiv(a: T, b: T): T { + return (a - (a < 0 ? b - 1 : 0)) / b as T; +} + +// @ts-ignore: decorator +@inline function euclidRem(a: T, b: T): T { + let m = a % b; + return m + (m < 0 ? b : 0) as T; +} + +function invalidDate(millis: i64): bool { + // @ts-ignore + return (millis < -MILLIS_LIMIT) | (millis > MILLIS_LIMIT); +} + +// Based on "Euclidean Affine Functions and Applications to Calendar Algorithms" +// Paper: https://arxiv.org/pdf/2102.06959.pdf +function dateFromEpoch(ms: i64): i32 { + let da = (floorDiv(ms, MILLIS_PER_DAY) * 4 + EPOCH_OFFSET * 4) | 3; + let q0 = floorDiv(da, DAYS_PER_EPOCH); // [0, 146096] + let r1 = da - q0 * DAYS_PER_EPOCH; + let u1 = u64(r1 | 3) * 2939745; + let dm1 = u1 / 11758980; + let n1 = 2141 * dm1 + 197913; + let year = 100 * q0 + i32(u1 >>> 32); + let mo = n1 >>> 16; + _day = (n1 & 0xFFFF) / 2141 + 1; // [1, 31] + if (dm1 >= 306) { mo -= 12; ++year; } + _month = mo; // [1, 12] + return year; +} + +// http://howardhinnant.github.io/date_algorithms.html#days_from_civil +function daysSinceEpoch(y: i32, m: i32, d: i32): i64 { + y -= i32(m <= 2); + let era = floorDiv(y, YEARS_PER_EPOCH); + let yoe = y - era * YEARS_PER_EPOCH; // [0, 399] + let doy = (153 * (m + (m > 2 ? -3 : 9)) + 2) / 5 + d - 1; // [0, 365] + let doe = yoe * 365 + yoe / 4 - yoe / 100 + doy; // [0, 146096] + return (era * 146097 + doe - EPOCH_OFFSET); +} + +// TomohikoSakamoto algorithm from https://en.wikipedia.org/wiki/Determination_of_the_day_of_the_week +function dayOfWeek(year: i32, month: i32, day: i32): i32 { + const tab = memory.data([0, 3, 2, 5, 0, 3, 5, 1, 4, 6, 2, 4]); + + year -= i32(month < 3); + year += floorDiv(year, 4) - floorDiv(year, 100) + floorDiv(year, YEARS_PER_EPOCH); + month = load(tab + month - 1); + return euclidRem(year + month + day, 7); +} + +function stringify(value: i32, padding: i32 = 2): string { + return value.toString().padStart(padding, "0"); +} + +function join(year: i32, month: i32, day: i32, ms: i64): i64 { + return daysSinceEpoch(year, month, day) * MILLIS_PER_DAY + euclidRem(ms, MILLIS_PER_DAY); +} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/diagnostics.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/diagnostics.ts new file mode 100644 index 00000000..065364db --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/std/assembly/diagnostics.ts @@ -0,0 +1,11 @@ +// @ts-ignore: decorator +@builtin +export declare function ERROR(message?: string): void; + +// @ts-ignore: decorator +@builtin +export declare function WARNING(message?: string): void; + +// @ts-ignore: decorator +@builtin +export declare function INFO(message?: string): void; diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/error.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/error.ts new file mode 100644 index 00000000..f4ea0585 --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/std/assembly/error.ts @@ -0,0 +1,44 @@ +export class Error { + + name: string = "Error"; + stack: string = ""; // TODO + + constructor( + public message: string = "" + ) {} + + toString(): string { + let message = this.message; + return message.length + ? this.name + ": " + message + : this.name; + } +} + +export class RangeError extends Error { + constructor(message: string = "") { + super(message); + this.name = "RangeError"; + } +} + +export class TypeError extends Error { + constructor(message: string = "") { + super(message); + this.name = "TypeError"; + } +} + +export class SyntaxError extends Error { + constructor(message: string = "") { + super(message); + this.name = "SyntaxError"; + } +} + +export class URIError extends Error { + constructor(message: string = "") { + super(message); + this.name = "URIError"; + } +} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/function.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/function.ts new file mode 100644 index 00000000..dd326963 --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/std/assembly/function.ts @@ -0,0 +1,38 @@ +type auto = i32; + +@final export abstract class Function { + private _index: u32; + private _env: usize; + + // @ts-ignore: this on getter + get index(this: T): u32 { + return load(changetype(this), offsetof>("_index")); + } + + // @ts-ignore: this on getter + get name(this: T): string { + return ""; + } + + // @ts-ignore: this on getter + get length(this: T): i32 { + // @ts-ignore: T is function + return lengthof(); + } + + // @ts-ignore: T is function + @builtin call(thisArg: thisof | null, ...args: auto[]): returnof { + return unreachable(); + } + + toString(this: T): string { + return "function() { [native code] }"; + } + + // RT integration + + @unsafe private __visit(cookie: u32): void { + // Env is either `null` (nop) or compiler-generated + __visit(this._env, cookie); + } +} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/index.d.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/index.d.ts new file mode 100644 index 00000000..4dbee416 --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/std/assembly/index.d.ts @@ -0,0 +1,2708 @@ +/** + * Environment definitions for compiling AssemblyScript to WebAssembly using asc. + * @module std/assembly + *//***/ + +/// + +// Types + +/** An 8-bit signed integer. */ +declare type i8 = number; +/** A 16-bit signed integer. */ +declare type i16 = number; +/** A 32-bit signed integer. */ +declare type i32 = number; +/** A 64-bit signed integer. */ +declare type i64 = number; +/** A 32-bit signed integer when targeting 32-bit WebAssembly or a 64-bit signed integer when targeting 64-bit WebAssembly. */ +declare type isize = number; +/** An 8-bit unsigned integer. */ +declare type u8 = number; +/** A 16-bit unsigned integer. */ +declare type u16 = number; +/** A 32-bit unsigned integer. */ +declare type u32 = number; +/** A 64-bit unsigned integer. */ +declare type u64 = number; +/** A 32-bit unsigned integer when targeting 32-bit WebAssembly or a 64-bit unsigned integer when targeting 64-bit WebAssembly. */ +declare type usize = number; +/** A 1-bit unsigned integer. */ +declare type bool = boolean | number; +/** A 32-bit float. */ +declare type f32 = number; +/** A 64-bit float. */ +declare type f64 = number; +/** A 128-bit vector. */ +declare type v128 = object; +/** Non-nullable function reference. */ +declare type ref_func = object; +/** Canonical nullable function reference. */ +declare type funcref = ref_func | null; +/** Non-nullable external reference. */ +declare type ref_extern = object; +/** Canonical nullable external reference. */ +declare type externref = ref_extern | null; +/** Non-nullable any reference. */ +declare type ref_any = object; +/** Canonical nullable any reference. */ +declare type anyref = ref_any | null; +/** Non-nullable equatable reference. */ +declare type ref_eq = object; +/** Canonical nullable equatable reference. */ +declare type eqref = ref_eq | null; +/** Non-nullable struct reference. */ +declare type ref_struct = object; +/** Canonical nullable struct reference. */ +declare type structref = ref_struct | null; +/** Non-nullable array reference. */ +declare type ref_array = object; +/** Canonical nullable array reference. */ +declare type arrayref = ref_array | null; +/** Non-nullable 31-bit integer reference. */ +declare type ref_i31 = object; +/** Canonical nullable 31-bit integer reference. */ +declare type i31ref = ref_i31 | null; +/** Non-nullable string reference. */ +declare type ref_string = object; +/** Canonical nullable string reference. */ +declare type stringref = ref_string | null; +/** Non-nullable WTF-8 string view. */ +declare type ref_stringview_wtf8 = object; +/** Canonical nullable WTF-8 string view. */ +declare type stringview_wtf8 = ref_stringview_wtf8 | null; +/** Non-nullable WTF-16 string view. */ +declare type ref_stringview_wtf16 = object; +/** Canonical nullable WTF-16 string view. */ +declare type stringview_wtf16 = ref_stringview_wtf16 | null; +/** Non-nullable string iterator. */ +declare type ref_stringview_iter = object; +/** Canonical nullable string iterator. */ +declare type stringview_iter = ref_stringview_iter | null; + +// Compiler hints + +/** Compiler target. 0 = JS, 1 = WASM32, 2 = WASM64. */ +declare const ASC_TARGET: i32; +/** Runtime type. 0 = Stub, 1 = Minimal, 2 = Incremental. */ +declare const ASC_RUNTIME: i32; +/** Provided noAssert option. */ +declare const ASC_NO_ASSERT: bool; +/** Provided memoryBase option. */ +declare const ASC_MEMORY_BASE: i32; +/** Provided tableBase option. */ +declare const ASC_TABLE_BASE: i32; +/** Provided optimizeLevel option. */ +declare const ASC_OPTIMIZE_LEVEL: i32; +/** Provided shrinkLevel option. */ +declare const ASC_SHRINK_LEVEL: i32; +/** Provided lowMemoryLimit option. */ +declare const ASC_LOW_MEMORY_LIMIT: i32; +/** Provided noExportRuntime option. */ +declare const ASC_NO_EXPORT_RUNTIME: i32; +/** Whether the sign extension feature is enabled. */ +declare const ASC_FEATURE_SIGN_EXTENSION: bool; +/** Whether the mutable globals feature is enabled. */ +declare const ASC_FEATURE_MUTABLE_GLOBALS: bool; +/** Whether the non-trapping float-to-int feature is enabled. */ +declare const ASC_FEATURE_NONTRAPPING_F2I: bool; +/** Whether the bulk memory feature is enabled. */ +declare const ASC_FEATURE_BULK_MEMORY: bool; +/** Whether the SIMD feature is enabled. */ +declare const ASC_FEATURE_SIMD: bool; +/** Whether the threads feature is enabled. */ +declare const ASC_FEATURE_THREADS: bool; +/** Whether the exception handling feature is enabled. */ +declare const ASC_FEATURE_EXCEPTION_HANDLING: bool; +/** Whether the tail calls feature is enabled. */ +declare const ASC_FEATURE_TAIL_CALLS: bool; +/** Whether the reference types feature is enabled. */ +declare const ASC_FEATURE_REFERENCE_TYPES: bool; +/** Whether the multi value types feature is enabled. */ +declare const ASC_FEATURE_MULTI_VALUE: bool; +/** Whether the garbage collection feature is enabled. */ +declare const ASC_FEATURE_GC: bool; +/** Whether the memory64 feature is enabled. */ +declare const ASC_FEATURE_MEMORY64: bool; +/** Whether the relaxed SIMD feature is enabled. */ +declare const ASC_FEATURE_RELAXED_SIMD: bool; +/** Whether the extended const expression feature is enabled. */ +declare const ASC_FEATURE_EXTENDED_CONST: bool; +/** Whether the string references feature is enabled. */ +declare const ASC_FEATURE_STRINGREF: bool; +/** Major version of the compiler. */ +declare const ASC_VERSION_MAJOR: i32; +/** Minor version of the compiler. */ +declare const ASC_VERSION_MINOR: i32; +/** Patch version of the compiler. */ +declare const ASC_VERSION_PATCH: i32; + +// Builtins + +/** Performs the sign-agnostic reverse bytes **/ +declare function bswap(value: T): T; +/** Performs the sign-agnostic count leading zero bits operation on a 32-bit or 64-bit integer. All zero bits are considered leading if the value is zero. */ +declare function clz(value: T): T; +/** Performs the sign-agnostic count tailing zero bits operation on a 32-bit or 64-bit integer. All zero bits are considered trailing if the value is zero. */ +declare function ctz(value: T): T; +/** Performs the sign-agnostic count number of one bits operation on a 32-bit or 64-bit integer. */ +declare function popcnt(value: T): T; +/** Performs the sign-agnostic rotate left operation on a 32-bit or 64-bit integer. */ +declare function rotl(value: T, shift: T): T; +/** Performs the sign-agnostic rotate right operation on a 32-bit or 64-bit integer. */ +declare function rotr(value: T, shift: T): T; +/** Computes the absolute value of an integer or float. */ +declare function abs(value: T): T; +/** Determines the maximum of two integers or floats. If either operand is `NaN`, returns `NaN`. */ +declare function max(left: T, right: T): T; +/** Determines the minimum of two integers or floats. If either operand is `NaN`, returns `NaN`. */ +declare function min(left: T, right: T): T; +/** Performs the ceiling operation on a 32-bit or 64-bit float. */ +declare function ceil(value: T): T; +/** Composes a 32-bit or 64-bit float from the magnitude of `x` and the sign of `y`. */ +declare function copysign(x: T, y: T): T; +/** Performs the floor operation on a 32-bit or 64-bit float. */ +declare function floor(value: T): T; +/** Rounds to the nearest integer tied to even of a 32-bit or 64-bit float. */ +declare function nearest(value: T): T; +/** Reinterprets the bits of the specified value as type `T`. Valid reinterpretations are u32/i32 to/from f32 and u64/i64 to/from f64. */ +declare function reinterpret(value: number): T; +/** Selects one of two pre-evaluated values depending on the condition. */ +declare function select(ifTrue: T, ifFalse: T, condition: bool): T; +/** Calculates the square root of a 32-bit or 64-bit float. */ +declare function sqrt(value: T): T; +/** Rounds to the nearest integer towards zero of a 32-bit or 64-bit float. */ +declare function trunc(value: T): T; +/** Computes the sum of two integers or floats. */ +declare function add(left: T, right: T): T; +/** Computes the difference of two integers or floats. */ +declare function sub(left: T, right: T): T; +/** Computes the product of two integers or floats. */ +declare function mul(left: T, right: T): T; +/** Computes the quotient of two integers or floats. */ +declare function div(left: T, right: T): T; +/** Return 1 if two numbers are equal to each other, 0 otherwise. */ +declare function eq(left: T, right: T): i32; +/** Return 0 if two numbers are equal to each other, 1 otherwise. */ +declare function ne(left: T, right: T): i32; +/** Computes the remainder of two integers. */ +declare function rem(left: T, right: T): T; +/** Loads a value of the specified type from memory. Equivalent to dereferncing a pointer in other languages. */ +declare function load(ptr: usize, immOffset?: usize, immAlign?: usize): T; +/** Stores a value of the specified type to memory. Equivalent to dereferencing a pointer in other languages when assigning a value. */ +declare function store(ptr: usize, value: T, immOffset?: usize, immAlign?: usize): void; +/** Emits an unreachable operation that results in a runtime error when executed. Both a statement and an expression. */ +declare function unreachable(): never; + +/** NaN (not a number) as a 32-bit or 64-bit float depending on context. */ +declare const NaN: f32 | f64; +/** Positive infinity as a 32-bit or 64-bit float depending on context. */ +declare const Infinity: f32 | f64; +/** Data end offset. */ +declare const __data_end: usize; +/** Stack pointer offset. */ +declare let __stack_pointer: usize; +/** Heap base offset. */ +declare const __heap_base: usize; +/** Determines the byte size of the specified underlying core type. Compiles to a constant. */ +declare function sizeof(): usize; +/** Determines the alignment (log2) of the specified underlying core type. Compiles to a constant. */ +declare function alignof(): usize; +/** Determines the end offset of the given class type. Compiles to a constant. */ +declare function offsetof(): usize; +/** Determines the offset of the specified field within the given class type. Compiles to a constant. */ +declare function offsetof(fieldName: keyof T | string): usize; +/** Determines the offset of the specified field within the given class type. Returns the class type's end offset if field name has been omitted. Compiles to a constant. */ +declare function offsetof(fieldName?: string): usize; +/** Determines the name of a given type. */ +declare function nameof(value?: T): string; +/** Determines the unique runtime id of a class type. Compiles to a constant. */ +declare function idof(): u32; +/** Changes the type of any value of `usize` kind to another one of `usize` kind. Useful for casting class instances to their pointer values and vice-versa. Beware that this is unsafe.*/ +declare function changetype(value: any): T; +/** Explicitly requests no bounds checks on the provided expression. Useful for array accesses. */ +declare function unchecked(value: T): T; +/** Emits a `call_indirect` instruction, calling the specified function in the function table by index with the specified arguments. Does result in a runtime error if the arguments do not match the called function. */ +declare function call_indirect(index: u32, ...args: unknown[]): T; +/** Instantiates a new instance of `T` using the specified constructor arguments. */ +declare function instantiate(...args: any[]): T; +/** Tests if a 32-bit or 64-bit float is `NaN`. */ +declare function isNaN(value: T): bool; +/** Tests if a 32-bit or 64-bit float is finite, that is not `NaN` or +/-`Infinity`. */ +declare function isFinite(value: T): bool; +/** Tests if the specified type *or* expression is of a boolean type. */ +declare function isBoolean(value?: any): value is number; +/** Tests if the specified type *or* expression is of an integer type and not a reference. Compiles to a constant. */ +declare function isInteger(value?: any): value is number; +/** Tests if the specified type *or* expression can represent negative numbers. Compiles to a constant. */ +declare function isSigned(value?: any): value is number; +/** Tests if the specified type *or* expression is of a float type. Compiles to a constant. */ +declare function isFloat(value?: any): value is number; +/** Tests if the specified type *or* expression is of a v128 type. Compiles to a constant. */ +declare function isVector(value?: any): value is v128; +/** Tests if the specified type *or* expression is of a reference type. Compiles to a constant. */ +declare function isReference(value?: any): value is object | string; +/** Tests if the specified type *or* expression can be used as a string. Compiles to a constant. */ +declare function isString(value?: any): value is string | String; +/** Tests if the specified type *or* expression can be used as an array. Compiles to a constant. */ +declare function isArray(value?: any): value is Array; +/** Tests if the specified type *or* expression can be used as an array like object. Compiles to a constant. */ +declare function isArrayLike(value?: any): value is ArrayLike; +/** Tests if the specified type *or* expression is of a function type. Compiles to a constant. */ +declare function isFunction(value?: any): value is (...args: any) => any; +/** Tests if the specified type *or* expression is of a nullable reference type. Compiles to a constant. */ +declare function isNullable(value?: any): bool; +/** Tests if the specified expression resolves to a defined element. Compiles to a constant. */ +declare function isDefined(expression: any): bool; +/** Tests if the specified expression evaluates to a constant value. Compiles to a constant. */ +declare function isConstant(expression: any): bool; +/** Tests if the specified type *or* expression is of a managed type. Compiles to a constant. */ +declare function isManaged(value?: any): bool; +/** Tests if the specified type is void. Compiles to a constant. */ +declare function isVoid(): bool; +/** Traps if the specified value is not true-ish, otherwise returns the (non-nullable) value. */ +declare function assert(isTrueish: T, message?: string): T & (object | string | number); // any better way to model `: T != null`? +/** Parses an integer string to a 64-bit float. */ +declare function parseInt(str: string, radix?: i32): f64; +/** Parses a string to a 64-bit float. */ +declare function parseFloat(str: string): f64; +/** Returns the 64-bit floating-point remainder of `x/y`. */ +declare function fmod(x: f64, y: f64): f64; +/** Returns the 32-bit floating-point remainder of `x/y`. */ +declare function fmodf(x: f32, y: f32): f32; +/** Returns the number of parameters in the given function signature type. */ +declare function lengthof any>(func?: T): i32; +/** Encodes a text string as a valid Uniform Resource Identifier (URI). */ +declare function encodeURI(str: string): string; +/** Encodes a text string as a valid component of a Uniform Resource Identifier (URI). */ +declare function encodeURIComponent(str: string): string; +/** Decodes a Uniform Resource Identifier (URI) previously created by encodeURI. */ +declare function decodeURI(str: string): string; +/** Decodes a Uniform Resource Identifier (URI) component previously created by encodeURIComponent. */ +declare function decodeURIComponent(str: string): string; + +/** Atomic operations. */ +declare namespace atomic { + /** Atomically loads an integer value from memory and returns it. */ + export function load(ptr: usize, immOffset?: usize): T; + /** Atomically stores an integer value to memory. */ + export function store(ptr: usize, value: T, immOffset?: usize): void; + /** Atomically adds an integer value in memory. */ + export function add(ptr: usize, value: T, immOffset?: usize): T; + /** Atomically subtracts an integer value in memory. */ + export function sub(ptr: usize, value: T, immOffset?: usize): T; + /** Atomically performs a bitwise AND operation on an integer value in memory. */ + export function and(ptr: usize, value: T, immOffset?: usize): T; + /** Atomically performs a bitwise OR operation on an integer value in memory. */ + export function or(ptr: usize, value: T, immOffset?: usize): T; + /** Atomically performs a bitwise XOR operation on an integer value in memory. */ + export function xor(ptr: usize, value: T, immOffset?: usize): T; + /** Atomically exchanges an integer value in memory. */ + export function xchg(ptr: usize, value: T, immOffset?: usize): T; + /** Atomically compares and exchanges an integer value in memory if the condition is met. */ + export function cmpxchg(ptr: usize, expected: T, replacement: T, immOffset?: usize): T; + /** Performs a wait operation on an address in memory suspending this agent if the integer condition is met. */ + export function wait(ptr: usize, expected: T, timeout?: i64): AtomicWaitResult; + /** Performs a notify operation on an address in memory waking up suspended agents. */ + export function notify(ptr: usize, count?: i32): i32; + /** Performs a fence operation, preserving synchronization guarantees of higher level languages. */ + export function fence(): void; +} + +/** Describes the result of an atomic wait operation. */ +declare enum AtomicWaitResult { + /** Woken by another agent. */ + OK, + /** Loaded value did not match the expected value. */ + NOT_EQUAL, + /** Not woken before the timeout expired. */ + TIMED_OUT +} + +/** Converts any other numeric value to an 8-bit signed integer. */ +declare function i8(value: any): i8; +declare namespace i8 { + /** Smallest representable value. */ + export const MIN_VALUE: i8; + /** Largest representable value. */ + export const MAX_VALUE: i8; + /** Parses a string as an i8. */ + export function parse(value: string, radix?: i32): i8; +} +/** Converts any other numeric value to a 16-bit signed integer. */ +declare function i16(value: any): i16; +declare namespace i16 { + /** Smallest representable value. */ + export const MIN_VALUE: i16; + /** Largest representable value. */ + export const MAX_VALUE: i16; + /** Parses a string as an i16. */ + export function parse(value: string, radix?: i32): i16; +} +/** Converts any other numeric value to a 32-bit signed integer. */ +declare function i32(value: any): i32; +declare namespace i32 { + /** Smallest representable value. */ + export const MIN_VALUE: i32; + /** Largest representable value. */ + export const MAX_VALUE: i32; + /** Parses a string as an i32. */ + export function parse(value: string, radix?: i32): i32; + /** Loads an 8-bit signed integer value from memory and returns it as a 32-bit integer. */ + export function load8_s(ptr: usize, immOffset?: usize, immAlign?: usize): i32; + /** Loads an 8-bit unsigned integer value from memory and returns it as a 32-bit integer. */ + export function load8_u(ptr: usize, immOffset?: usize, immAlign?: usize): i32; + /** Loads a 16-bit signed integer value from memory and returns it as a 32-bit integer. */ + export function load16_s(ptr: usize, immOffset?: usize, immAlign?: usize): i32; + /** Loads a 16-bit unsigned integer value from memory and returns it as a 32-bit integer. */ + export function load16_u(ptr: usize, immOffset?: usize, immAlign?: usize): i32; + /** Loads a 32-bit integer value from memory. */ + export function load(ptr: usize, immOffset?: usize, immAlign?: usize): i32; + /** Stores a 32-bit integer value to memory as an 8-bit integer. */ + export function store8(ptr: usize, value: i32, immOffset?: usize, immAlign?: usize): void; + /** Stores a 32-bit integer value to memory as a 16-bit integer. */ + export function store16(ptr: usize, value: i32, immOffset?: usize, immAlign?: usize): void; + /** Stores a 32-bit integer value to memory. */ + export function store(ptr: usize, value: i32, immOffset?: usize, immAlign?: usize): void; + /** Performs the sign-agnostic count leading zero bits operation on a 32-bit integer. All zero bits are considered leading if the value is zero. */ + export function clz(value: i32): i32; + /** Performs the sign-agnostic count tailing zero bits operation on a 32-bit integer. All zero bits are considered trailing if the value is zero. */ + export function ctz(value: i32): i32; + /** Performs the sign-agnostic count number of one bits operation on a 32-bit integer. */ + export function popcnt(value: i32): i32; + /** Performs the sign-agnostic rotate left operation on a 32-bit integer. */ + export function rotl(value: i32, shift: i32): i32; + /** Performs the sign-agnostic rotate right operation on a 32-bit integer. */ + export function rotr(value: i32, shift: i32): i32; + /** Reinterprets the bits of the specified 32-bit float as a 32-bit integer. */ + export function reinterpret_f32(value: f32): i32; + /** Computes the sum of two 32-bit integers. */ + export function add(left: i32, right: i32): i32; + /** Computes the difference of two 32-bit integers. */ + export function sub(left: i32, right: i32): i32; + /** Computes the product of two 32-bit integers. */ + export function mul(left: i32, right: i32): i32; + /** Computes the signed quotient of two 32-bit integers. */ + export function div_s(left: i32, right: i32): i32; + /** Computes the unsigned quotient of two 32-bit integers. */ + export function div_u(left: i32, right: i32): i32; + /** Return 1 if two 32-bit integers are equal to each other, 0 otherwise. */ + export function eq(left: i32, right: i32): i32; + /** Return 0 if two 32-bit integers are equal to each other, 1 otherwise. */ + export function ne(left: i32, right: i32): i32; + /** Computes the signed remainder of two 32-bit integers. */ + export function rem_s(left: i32, right: i32): i32; + /** Computes the unsigned remainder of two 32-bit integers. */ + export function rem_u(left: u32, right: u32): u32; + + /** Atomic 32-bit integer operations. */ + export namespace atomic { + /** Atomically loads an 8-bit unsigned integer value from memory and returns it as a 32-bit integer. */ + export function load8_u(ptr: usize, immOffset?: usize): i32; + /** Atomically loads a 16-bit unsigned integer value from memory and returns it as a 32-bit integer. */ + export function load16_u(ptr: usize, immOffset?: usize): i32; + /** Atomically loads a 32-bit integer value from memory and returns it. */ + export function load(ptr: usize, immOffset?: usize): i32; + /** Atomically stores a 32-bit integer value to memory as an 8-bit integer. */ + export function store8(ptr: usize, value: i32, immOffset?: usize): void; + /** Atomically stores a 32-bit integer value to memory as a 16-bit integer. */ + export function store16(ptr: usize, value: i32, immOffset?: usize): void; + /** Atomically stores a 32-bit integer value to memory. */ + export function store(ptr: usize, value: i32, immOffset?: usize): void; + /** Atomic 32-bit integer read-modify-write operations on 8-bit values. */ + export namespace rmw8 { + /** Atomically adds an 8-bit unsigned integer value in memory. */ + export function add_u(ptr: usize, value: i32, immOffset?: usize): i32; + /** Atomically subtracts an 8-bit unsigned integer value in memory. */ + export function sub_u(ptr: usize, value: i32, immOffset?: usize): i32; + /** Atomically performs a bitwise AND operation an 8-bit unsigned integer value in memory. */ + export function and_u(ptr: usize, value: i32, immOffset?: usize): i32; + /** Atomically performs a bitwise OR operation an 8-bit unsigned integer value in memory. */ + export function or_u(ptr: usize, value: i32, immOffset?: usize): i32; + /** Atomically performs a bitwise XOR operation an 8-bit unsigned integer value in memory. */ + export function xor_u(ptr: usize, value: i32, immOffset?: usize): i32; + /** Atomically exchanges an 8-bit unsigned integer value in memory. */ + export function xchg_u(ptr: usize, value: i32, immOffset?: usize): i32; + /** Atomically compares and exchanges an 8-bit unsigned integer value in memory if the condition is met. */ + export function cmpxchg_u(ptr: usize, expected: i32, replacement: i32, immOffset?: usize): i32; + } + /** Atomic 32-bit integer read-modify-write operations on 16-bit values. */ + export namespace rmw16 { + /** Atomically adds a 16-bit unsigned integer value in memory. */ + export function add_u(ptr: usize, value: i32, immOffset?: usize): i32; + /** Atomically adds a 16-bit unsigned integer value in memory. */ + export function sub_u(ptr: usize, value: i32, immOffset?: usize): i32; + /** Atomically performs a bitwise AND operation a 16-bit unsigned integer value in memory. */ + export function and_u(ptr: usize, value: i32, immOffset?: usize): i32; + /** Atomically performs a bitwise OR operation a 16-bit unsigned integer value in memory. */ + export function or_u(ptr: usize, value: i32, immOffset?: usize): i32; + /** Atomically performs a bitwise XOR operation a 16-bit unsigned integer value in memory. */ + export function xor_u(ptr: usize, value: i32, immOffset?: usize): i32; + /** Atomically exchanges a 16-bit unsigned integer value in memory. */ + export function xchg_u(ptr: usize, value: i32, immOffset?: usize): i32; + /** Atomically compares and exchanges a 16-bit unsigned integer value in memory if the condition is met. */ + export function cmpxchg_u(ptr: usize, expected: i32, replacement: i32, immOffset?: usize): i32; + } + /** Atomic 32-bit integer read-modify-write operations. */ + export namespace rmw { + /** Atomically adds a 32-bit integer value in memory. */ + export function add(ptr: usize, value: i32, immOffset?: usize): i32; + /** Atomically subtracts a 32-bit integer value in memory. */ + export function sub(ptr: usize, value: i32, immOffset?: usize): i32; + /** Atomically performs a bitwise AND operation a 32-bit integer value in memory. */ + export function and(ptr: usize, value: i32, immOffset?: usize): i32; + /** Atomically performs a bitwise OR operation a 32-bit integer value in memory. */ + export function or(ptr: usize, value: i32, immOffset?: usize): i32; + /** Atomically performs a bitwise XOR operation a 32-bit integer value in memory. */ + export function xor(ptr: usize, value: i32, immOffset?: usize): i32; + /** Atomically exchanges a 32-bit integer value in memory. */ + export function xchg(ptr: usize, value: i32, immOffset?: usize): i32; + /** Atomically compares and exchanges a 32-bit integer value in memory if the condition is met. */ + export function cmpxchg(ptr: usize, expected: i32, replacement: i32, immOffset?: usize): i32; + } + } +} +/** Converts any other numeric value to a 64-bit signed integer. */ +declare function i64(value: any): i64; +declare namespace i64 { + /** Smallest representable value. */ + export const MIN_VALUE: i64; + /** Largest representable value. */ + export const MAX_VALUE: i64; + /** Parses a string as an i64. */ + export function parse(value: string, radix?: i32): i64; + /** Loads an 8-bit signed integer value from memory and returns it as a 64-bit integer. */ + export function load8_s(ptr: usize, immOffset?: usize, immAlign?: usize): i64; + /** Loads an 8-bit unsigned integer value from memory and returns it as a 64-bit integer. */ + export function load8_u(ptr: usize, immOffset?: usize, immAlign?: usize): i64; + /** Loads a 16-bit signed integer value from memory and returns it as a 64-bit integer. */ + export function load16_s(ptr: usize, immOffset?: usize, immAlign?: usize): i64; + /** Loads a 16-bit unsigned integer value from memory and returns it as a 64-bit integer. */ + export function load16_u(ptr: usize, immOffset?: usize, immAlign?: usize): i64; + /** Loads a 32-bit signed integer value from memory and returns it as a 64-bit integer. */ + export function load32_s(ptr: usize, immOffset?: usize, immAlign?: usize): i64; + /** Loads a 32-bit unsigned integer value from memory and returns it as a 64-bit integer. */ + export function load32_u(ptr: usize, immOffset?: usize, immAlign?: usize): i64; + /** Loads a 64-bit unsigned integer value from memory. */ + export function load(ptr: usize, immOffset?: usize, immAlign?: usize): i64; + /** Stores a 64-bit integer value to memory as an 8-bit integer. */ + export function store8(ptr: usize, value: i64, immOffset?: usize, immAlign?: usize): void; + /** Stores a 64-bit integer value to memory as a 16-bit integer. */ + export function store16(ptr: usize, value: i64, immOffset?: usize, immAlign?: usize): void; + /** Stores a 64-bit integer value to memory as a 32-bit integer. */ + export function store32(ptr: usize, value: i64, immOffset?: usize, immAlign?: usize): void; + /** Stores a 64-bit integer value to memory. */ + export function store(ptr: usize, value: i64, immOffset?: usize, immAlign?: usize): void; + /** Performs the sign-agnostic count leading zero bits operation on a 64-bit integer. All zero bits are considered leading if the value is zero. */ + export function clz(value: i64): i64; + /** Performs the sign-agnostic count tailing zero bits operation on a 64-bit integer. All zero bits are considered trailing if the value is zero. */ + export function ctz(value: i64): i64; + /** Performs the sign-agnostic count number of one bits operation on a 64-bit integer. */ + export function popcnt(value: i64): i64; + /** Performs the sign-agnostic rotate left operation on a 64-bit integer. */ + export function rotl(value: i64, shift: i64): i64; + /** Performs the sign-agnostic rotate right operation on a 64-bit integer. */ + export function rotr(value: i64, shift: i64): i64; + /** Reinterprets the bits of the specified 64-bit float as a 64-bit integer. */ + export function reinterpret_f64(value: f64): i64; + /** Computes the sum of two 64-bit integers. */ + export function add(left: i64, right: i64): i64; + /** Computes the difference of two 64-bit integers. */ + export function sub(left: i64, right: i64): i64; + /** Computes the product of two 64-bit integers. */ + export function mul(left: i64, right: i64): i64; + /** Computes the signed quotient of two 64-bit integers. */ + export function div_s(left: i64, right: i64): i64; + /** Computes the unsigned quotient of two 64-bit integers. */ + export function div_u(left: i64, right: i64): i64; + /** Return 1 if two 64-bit integers are equal to each other, 0 otherwise. */ + export function eq(left: i64, right: i64): i32; + /** Return 0 if two 64-bit integers are equal to each other, 1 otherwise. */ + export function ne(left: i64, right: i64): i32; + /** Computes the signed remainder of two 64-bit integers. */ + export function rem_s(left: i64, right: i64): i64; + /** Computes the unsigned remainder of two 64-bit integers. */ + export function rem_u(left: u64, right: u64): u64; + + /** Atomic 64-bit integer operations. */ + export namespace atomic { + /** Atomically loads an 8-bit unsigned integer value from memory and returns it as a 64-bit integer. */ + export function load8_u(ptr: usize, immOffset?: usize): i64; + /** Atomically loads a 16-bit unsigned integer value from memory and returns it as a 64-bit integer. */ + export function load16_u(ptr: usize, immOffset?: usize): i64; + /** Atomically loads a 32-bit unsigned integer value from memory and returns it as a 64-bit integer. */ + export function load32_u(ptr: usize, immOffset?: usize): i64; + /** Atomically loads a 64-bit integer value from memory and returns it. */ + export function load(ptr: usize, immOffset?: usize): i64; + /** Atomically stores a 64-bit integer value to memory as an 8-bit integer. */ + export function store8(ptr: usize, value: i64, immOffset?: usize): void; + /** Atomically stores a 64-bit integer value to memory as a 16-bit integer. */ + export function store16(ptr: usize, value: i64, immOffset?: usize): void; + /** Atomically stores a 64-bit integer value to memory as a 32-bit integer. */ + export function store32(ptr: usize, value: i64, immOffset?: usize): void; + /** Atomically stores a 64-bit integer value to memory. */ + export function store(ptr: usize, value: i64, immOffset?: usize): void; + /** Atomic 64-bit integer read-modify-write operations on 8-bit values. */ + export namespace rmw8 { + /** Atomically adds an 8-bit unsigned integer value in memory. */ + export function add_u(ptr: usize, value: i64, immOffset?: usize): i64; + /** Atomically subtracts an 8-bit unsigned integer value in memory. */ + export function sub_u(ptr: usize, value: i64, immOffset?: usize): i64; + /** Atomically performs a bitwise AND operation on an 8-bit unsigned integer value in memory. */ + export function and_u(ptr: usize, value: i64, immOffset?: usize): i64; + /** Atomically performs a bitwise OR operation on an 8-bit unsigned integer value in memory. */ + export function or_u(ptr: usize, value: i64, immOffset?: usize): i64; + /** Atomically performs a bitwise XOR operation on an 8-bit unsigned integer value in memory. */ + export function xor_u(ptr: usize, value: i64, immOffset?: usize): i64; + /** Atomically exchanges an 8-bit unsigned integer value in memory. */ + export function xchg_u(ptr: usize, value: i64, immOffset?: usize): i64; + /** Atomically compares and exchanges an 8-bit unsigned integer value in memory if the condition is met. */ + export function cmpxchg_u(ptr: usize, expected: i64, replacement: i64, immOffset?: usize): i64; + } + /** Atomic 64-bit integer read-modify-write operations on 16-bit values. */ + export namespace rmw16 { + /** Atomically adds a 16-bit unsigned integer value in memory. */ + export function add_u(ptr: usize, value: i64, immOffset?: usize): i64; + /** Atomically subtracts a 16-bit unsigned integer value in memory. */ + export function sub_u(ptr: usize, value: i64, immOffset?: usize): i64; + /** Atomically performs a bitwise AND operation on a 16-bit unsigned integer value in memory. */ + export function and_u(ptr: usize, value: i64, immOffset?: usize): i64; + /** Atomically performs a bitwise OR operation on a 16-bit unsigned integer value in memory. */ + export function or_u(ptr: usize, value: i64, immOffset?: usize): i64; + /** Atomically performs a bitwise XOR operation on a 16-bit unsigned integer value in memory. */ + export function xor_u(ptr: usize, value: i64, immOffset?: usize): i64; + /** Atomically exchanges a 16-bit unsigned integer value in memory. */ + export function xchg_u(ptr: usize, value: i64, immOffset?: usize): i64; + /** Atomically compares and exchanges a 16-bit unsigned integer value in memory if the condition is met. */ + export function cmpxchg_u(ptr: usize, expected: i64, replacement: i64, immOffset?: usize): i64; + } + /** Atomic 64-bit integer read-modify-write operations on 32-bit values. */ + export namespace rmw32 { + /** Atomically adds a 32-bit unsigned integer value in memory. */ + export function add_u(ptr: usize, value: i64, immOffset?: usize): i64; + /** Atomically subtracts a 32-bit unsigned integer value in memory. */ + export function sub_u(ptr: usize, value: i64, immOffset?: usize): i64; + /** Atomically performs a bitwise AND operation on a 32-bit unsigned integer value in memory. */ + export function and_u(ptr: usize, value: i64, immOffset?: usize): i64; + /** Atomically performs a bitwise OR operation on a 32-bit unsigned integer value in memory. */ + export function or_u(ptr: usize, value: i64, immOffset?: usize): i64; + /** Atomically performs a bitwise XOR operation on a 32-bit unsigned integer value in memory. */ + export function xor_u(ptr: usize, value: i64, immOffset?: usize): i64; + /** Atomically exchanges a 32-bit unsigned integer value in memory. */ + export function xchg_u(ptr: usize, value: i64, immOffset?: usize): i64; + /** Atomically compares and exchanges a 32-bit unsigned integer value in memory if the condition is met. */ + export function cmpxchg_u(ptr: usize, expected: i64, replacement: i64, immOffset?: usize): i64; + } + /** Atomic 64-bit integer read-modify-write operations. */ + export namespace rmw { + /** Atomically adds a 64-bit integer value in memory. */ + export function add(ptr: usize, value: i64, immOffset?: usize): i64; + /** Atomically subtracts a 64-bit integer value in memory. */ + export function sub(ptr: usize, value: i64, immOffset?: usize): i64; + /** Atomically performs a bitwise AND operation on a 64-bit integer value in memory. */ + export function and(ptr: usize, value: i64, immOffset?: usize): i64; + /** Atomically performs a bitwise OR operation on a 64-bit integer value in memory. */ + export function or(ptr: usize, value: i64, immOffset?: usize): i64; + /** Atomically performs a bitwise XOR operation on a 64-bit integer value in memory. */ + export function xor(ptr: usize, value: i64, immOffset?: usize): i64; + /** Atomically exchanges a 64-bit integer value in memory. */ + export function xchg(ptr: usize, value: i64, immOffset?: usize): i64; + /** Atomically compares and exchanges a 64-bit integer value in memory if the condition is met. */ + export function cmpxchg(ptr: usize, expected: i64, replacement: i64, immOffset?: usize): i64; + } + } +} +/** Converts any other numeric value to a 32-bit (in WASM32) respectivel 64-bit (in WASM64) signed integer. */ +declare let isize: typeof i32 | typeof i64; +/** Converts any other numeric value to an 8-bit unsigned integer. */ +declare function u8(value: any): u8; +declare namespace u8 { + /** Smallest representable value. */ + export const MIN_VALUE: u8; + /** Largest representable value. */ + export const MAX_VALUE: u8; + /** Parses a string as an u8. */ + export function parse(value: string, radix?: i32): u8; +} +/** Converts any other numeric value to a 16-bit unsigned integer. */ +declare function u16(value: any): u16; +declare namespace u16 { + /** Smallest representable value. */ + export const MIN_VALUE: u16; + /** Largest representable value. */ + export const MAX_VALUE: u16; + /** Parses a string as an u16. */ + export function parse(value: string, radix?: i32): u16; +} +/** Converts any other numeric value to a 32-bit unsigned integer. */ +declare function u32(value: any): u32; +declare namespace u32 { + /** Smallest representable value. */ + export const MIN_VALUE: u32; + /** Largest representable value. */ + export const MAX_VALUE: u32; + /** Parses a string as an u32. */ + export function parse(value: string, radix?: i32): u32; +} +/** Converts any other numeric value to a 64-bit unsigned integer. */ +declare function u64(value: any): u64; +declare namespace u64 { + /** Smallest representable value. */ + export const MIN_VALUE: u64; + /** Largest representable value. */ + export const MAX_VALUE: u64; + /** Parses a string as an u64. */ + export function parse(value: string, radix?: i32): u64; +} +/** Converts any other numeric value to a 32-bit (in WASM32) respectivel 64-bit (in WASM64) unsigned integer. */ +declare let usize: typeof u32 | typeof u64; +/** Converts any other numeric value to a 1-bit unsigned integer. */ +declare function bool(value: any): bool; +declare namespace bool { + /** Smallest representable value. */ + export const MIN_VALUE: bool; + /** Largest representable value. */ + export const MAX_VALUE: bool; + /** Parses a string as a bool. */ + export function parse(value: string): bool; +} +/** Converts any other numeric value to a 32-bit float. */ +declare function f32(value: any): f32; +declare namespace f32 { + /** Smallest representable value. */ + export const MIN_VALUE: f32; + /** Largest representable value. */ + export const MAX_VALUE: f32; + /** Smallest normalized positive value. */ + export const MIN_NORMAL_VALUE: f32; + /** Smallest safely representable integer value. */ + export const MIN_SAFE_INTEGER: f32; + /** Largest safely representable integer value. */ + export const MAX_SAFE_INTEGER: f32; + /** Positive infinity value. */ + export const POSITIVE_INFINITY: f32; + /** Negative infinity value. */ + export const NEGATIVE_INFINITY: f32; + /** Not a number value. */ + export const NaN: f32; + /** Difference between 1 and the smallest representable value greater than 1. */ + export const EPSILON: f32; + /** Parses a string as an f32. */ + export function parse(value: string): f32; + /** Loads a 32-bit float from memory. */ + export function load(ptr: usize, immOffset?: usize, immAlign?: usize): f32; + /** Stores a 32-bit float to memory. */ + export function store(ptr: usize, value: f32, immOffset?: usize, immAlign?: usize): void; + /** Computes the sum of two 32-bit floats. */ + export function add(left: f32, right: f32): f32; + /** Computes the difference of two 32-bit floats. */ + export function sub(left: f32, right: f32): f32; + /** Computes the product of two 32-bit floats. */ + export function mul(left: f32, right: f32): f32; + /** Computes the quotient of two 32-bit floats. */ + export function div(left: f32, right: f32): f32; + /** Return 1 two 32-bit floats are equal to each other, 0 otherwise. */ + export function eq(left: f32, right: f32): i32; + /** Return 0 two 32-bit floats are equal to each other, 1 otherwise. */ + export function ne(left: f32, right: f32): i32; + /** Computes the absolute value of a 32-bit float. */ + export function abs(value: f32): f32; + /** Determines the maximum of two 32-bit floats. If either operand is `NaN`, returns `NaN`. */ + export function max(left: f32, right: f32): f32; + /** Determines the minimum of two 32-bit floats. If either operand is `NaN`, returns `NaN`. */ + export function min(left: f32, right: f32): f32; + /** Performs the ceiling operation on a 32-bit float. */ + export function ceil(value: f32): f32; + /** Composes a 32-bit float from the magnitude of `x` and the sign of `y`. */ + export function copysign(x: f32, y: f32): f32; + /** Performs the floor operation on a 32-bit float. */ + export function floor(value: f32): f32; + /** Rounds to the nearest integer tied to even of a 32-bit float. */ + export function nearest(value: f32): f32; + /** Reinterprets the bits of the specified 32-bit integer as a 32-bit float. */ + export function reinterpret_i32(value: i32): f32; + /** Calculates the square root of a 32-bit float. */ + export function sqrt(value: f32): f32; + /** Rounds to the nearest integer towards zero of a 32-bit float. */ + export function trunc(value: f32): f32; +} +/** Converts any other numeric value to a 64-bit float. */ +declare function f64(value: any): f64; +declare namespace f64 { + /** Smallest representable value. */ + export const MIN_VALUE: f64; + /** Largest representable value. */ + export const MAX_VALUE: f64; + /** Smallest normalized positive value. */ + export const MIN_NORMAL_VALUE: f64; + /** Smallest safely representable integer value. */ + export const MIN_SAFE_INTEGER: f64; + /** Largest safely representable integer value. */ + export const MAX_SAFE_INTEGER: f64; + /** Positive infinity value. */ + export const POSITIVE_INFINITY: f64; + /** Negative infinity value. */ + export const NEGATIVE_INFINITY: f64; + /** Not a number value. */ + export const NaN: f64; + /** Difference between 1 and the smallest representable value greater than 1. */ + export const EPSILON: f64; + /** Parses a string as an f64. */ + export function parse(value: string): f64; + /** Loads a 64-bit float from memory. */ + export function load(ptr: usize, immOffset?: usize, immAlign?: usize): f64; + /** Stores a 64-bit float to memory. */ + export function store(ptr: usize, value: f64, immOffset?: usize, immAlign?: usize): void; + /** Computes the sum of two 64-bit floats. */ + export function add(left: f64, right: f64): f64; + /** Computes the difference of two 64-bit floats. */ + export function sub(left: f64, right: f64): f64; + /** Computes the product of two 64-bit floats. */ + export function mul(left: f64, right: f64): f64; + /** Computes the quotient of two 64-bit floats. */ + export function div(left: f64, right: f64): f64; + /** Return 1 two 64-bit floats are equal to each other, 0 otherwise. */ + export function eq(left: f64, right: f64): i32; + /** Return 0 two 32-bit floats are equal to each other, 1 otherwise. */ + export function ne(left: f64, right: f64): i32; + /** Computes the absolute value of a 64-bit float. */ + export function abs(value: f64): f64; + /** Determines the maximum of two 64-bit floats. If either operand is `NaN`, returns `NaN`. */ + export function max(left: f64, right: f64): f64; + /** Determines the minimum of two 64-bit floats. If either operand is `NaN`, returns `NaN`. */ + export function min(left: f64, right: f64): f64; + /** Performs the ceiling operation on a 64-bit float. */ + export function ceil(value: f64): f64; + /** Composes a 64-bit float from the magnitude of `x` and the sign of `y`. */ + export function copysign(x: f64, y: f64): f64; + /** Performs the floor operation on a 64-bit float. */ + export function floor(value: f64): f64; + /** Rounds to the nearest integer tied to even of a 64-bit float. */ + export function nearest(value: f64): f64; + /** Reinterprets the bits of the specified 64-bit integer as a 64-bit float. */ + export function reinterpret_i64(value: i64): f64; + /** Calculates the square root of a 64-bit float. */ + export function sqrt(value: f64): f64; + /** Rounds to the nearest integer towards zero of a 64-bit float. */ + export function trunc(value: f64): f64; +} +/** Initializes a 128-bit vector from sixteen 8-bit integer values. Arguments must be compile-time constants. */ +declare function v128(a: i8, b: i8, c: i8, d: i8, e: i8, f: i8, g: i8, h: i8, i: i8, j: i8, k: i8, l: i8, m: i8, n: i8, o: i8, p: i8): v128; +declare namespace v128 { + /** Creates a vector with identical lanes. */ + export function splat(x: T): v128; + /** Extracts one lane as a scalar. */ + export function extract_lane(x: v128, idx: u8): T; + /** Replaces one lane. */ + export function replace_lane(x: v128, idx: u8, value: T): v128; + /** Selects lanes from either vector according to the specified lane indexes. */ + export function shuffle(a: v128, b: v128, ...lanes: u8[]): v128; + /** Selects 8-bit lanes from the first vector according to the indexes [0-15] specified by the 8-bit lanes of the second vector. */ + export function swizzle(a: v128, s: v128): v128; + /** Loads a vector from memory. */ + export function load(ptr: usize, immOffset?: usize, immAlign?: usize): v128; + /** Creates a vector by loading the lanes of the specified type and extending each to the next larger type. */ + export function load_ext(ptr: usize, immOffset?: usize, immAlign?: usize): v128; + /** Creates a vector by loading a value of the specified type into the lowest bits and initializing all other bits of the vector to zero. */ + export function load_zero(ptr: usize, immOffset?: usize, immAlign?: usize): v128; + /** Loads a single lane from memory into the specified lane of the given vector. Other lanes are bypassed as is. */ + export function load_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): v128; + /** Stores the single lane at the specified index of the given vector to memory. */ + export function store_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): void; + /** Creates a vector with eight 16-bit integer lanes by loading and sign extending eight 8-bit integers. */ + export function load8x8_s(ptr: usize, immOffset?: u32, immAlign?: u32): v128; + /** Creates a vector with eight 16-bit integer lanes by loading and zero extending eight 8-bit integers. */ + export function load8x8_u(ptr: usize, immOffset?: u32, immAlign?: u32): v128; + /** Creates a vector with four 32-bit integer lanes by loading and sign extending four 16-bit integers. */ + export function load16x4_s(ptr: usize, immOffset?: u32, immAlign?: u32): v128; + /** Creates a vector with four 32-bit integer lanes by loading and zero extending four 16-bit integers. */ + export function load16x4_u(ptr: usize, immOffset?: u32, immAlign?: u32): v128; + /** Creates a vector with two 64-bit integer lanes by loading and sign extending two 32-bit integers. */ + export function load32x2_s(ptr: usize, immOffset?: u32, immAlign?: u32): v128; + /** Creates a vector with two 64-bit integer lanes by loading and zero extending two 32-bit integers. */ + export function load32x2_u(ptr: usize, immOffset?: u32, immAlign?: u32): v128; + /** Creates a vector with identical lanes by loading the splatted value. */ + export function load_splat(ptr: usize, immOffset?: usize, immAlign?: usize): v128; + /** Loads an 8-bit integer and splats it sixteen times forming a new vector. */ + export function load8_splat(ptr: usize, immOffset?: usize, immAlign?: usize): v128; + /** Loads a 16-bit integer and splats it eight times forming a new vector. */ + export function load16_splat(ptr: usize, immOffset?: usize, immAlign?: usize): v128; + /** Loads a 32-bit integer and splats it four times forming a new vector. */ + export function load32_splat(ptr: usize, immOffset?: usize, immAlign?: usize): v128; + /** Loads a 64-bit integer and splats it two times forming a new vector. */ + export function load64_splat(ptr: usize, immOffset?: usize, immAlign?: usize): v128; + /** Creates a vector by loading a 32-bit value into the lowest bits and initializing all other bits of the vector to zero. */ + export function load32_zero(ptr: usize, immOffset?: usize, immAlign?: usize): v128; + /** Creates a vector by loading a 64-bit value into the lowest bits and initializing all other bits of the vector to zero. */ + export function load64_zero(ptr: usize, immOffset?: usize, immAlign?: usize): v128; + /** Loads a single 8-bit lane from memory into the specified lane of the given vector. Other lanes are bypassed as is. */ + export function load8_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): v128; + /** Loads a single 16-bit lane from memory into the specified lane of the given vector. Other lanes are bypassed as is. */ + export function load16_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): v128; + /** Loads a single 32-bit lane from memory into the specified lane of the given vector. Other lanes are bypassed as is. */ + export function load32_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): v128; + /** Loads a single 64-bit lane from memory into the specified lane of the given vector. Other lanes are bypassed as is. */ + export function load64_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): v128; + /** Stores the 8-bit lane at the specified lane of the given vector to memory. */ + export function store8_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): void; + /** Stores the 16-bit lane at the specified lane of the given vector to memory. */ + export function store16_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): void; + /** Stores the 32-bit lane at the specified lane of the given vector to memory. */ + export function store32_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): void; + /** Stores the 64-bit lane at the specified lane of the given vector to memory. */ + export function store64_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): void; + /** Stores a vector to memory. */ + export function store(ptr: usize, value: v128, immOffset?: usize, immAlign?: usize): void; + /** Adds each lane. */ + export function add(a: v128, b: v128): v128; + /** Subtracts each lane. */ + export function sub(a: v128, b: v128): v128; + /** Multiplies each lane. */ + export function mul(a: v128, b: v128): v128; // except i64 + /** Divides each lane. */ + export function div(a: v128, b: v128): v128; + /** Negates each lane of a vector. */ + export function neg(a: v128): v128; + /** Adds each lane using saturation. */ + export function add_sat(a: v128, b: v128): v128; + /** Subtracts each lane using saturation. */ + export function sub_sat(a: v128, b: v128): v128; + /** Performs a bitwise left shift on each lane of a vector by a scalar. */ + export function shl(a: v128, b: i32): v128; + /** Performs a bitwise right shift on each lane of a vector by a scalar. */ + export function shr(a: v128, b: i32): v128; + /** Performs the bitwise AND operation on two vectors. */ + export function and(a: v128, b: v128): v128; + /** Performs the bitwise OR operation on two vectors. */ + export function or(a: v128, b: v128): v128; + /** Performs the bitwise XOR operation on two vectors. */ + export function xor(a: v128, b: v128): v128; + /** Performs the bitwise ANDNOT operation on two vectors. */ + export function andnot(a: v128, b: v128): v128; + /** Performs the bitwise NOT operation on a vector. */ + export function not(a: v128): v128; + /** Selects bits of either vector according to the specified mask. Selects from `v1` if the bit in `mask` is `1`, otherwise from `v2`. */ + export function bitselect(v1: v128, v2: v128, mask: v128): v128; + /** Reduces a vector to a scalar indicating whether any lane is considered `true`. */ + export function any_true(a: v128): bool; + /** Reduces a vector to a scalar indicating whether all lanes are considered `true`. */ + export function all_true(a: v128): bool; + /** Extracts the high bit of each lane and produces a scalar mask with all bits concatenated. */ + export function bitmask(a: v128): i32; + /** Counts the number of bits set to one within each lane. */ + export function popcnt(a: v128): v128; + /** Computes the minimum of each lane. */ + export function min(a: v128, b: v128): v128; + /** Computes the maximum of each lane. */ + export function max(a: v128, b: v128): v128; + /** Computes the pseudo-minimum of each lane. */ + export function pmin(a: v128, b: v128): v128; + /** Computes the pseudo-maximum of each lane. */ + export function pmax(a: v128, b: v128): v128; + /** Computes the dot product of two lanes each, yielding lanes one size wider than the input. */ + export function dot(a: v128, b: v128): v128; + /** Computes the average of each lane. */ + export function avgr(a: v128, b: v128): v128; + /** Computes the absolute value of each lane. */ + export function abs(a: v128): v128; + /** Computes the square root of each lane. */ + export function sqrt(a: v128): v128; + /** Performs the ceiling operation on each lane. */ + export function ceil(a: v128): v128; + /** Performs the floor operation on each lane. */ + export function floor(a: v128): v128; + /** Rounds to the nearest integer towards zero of each lane. */ + export function trunc(a: v128): v128; + /** Rounds to the nearest integer tied to even of each lane. */ + export function nearest(a: v128): v128; + /** Computes which lanes are equal. */ + export function eq(a: v128, b: v128): v128; + /** Computes which lanes are not equal. */ + export function ne(a: v128, b: v128): v128; + /** Computes which lanes of the first vector are less than those of the second. */ + export function lt(a: v128, b: v128): v128; + /** Computes which lanes of the first vector are less than or equal those of the second. */ + export function le(a: v128, b: v128): v128; + /** Computes which lanes of the first vector are greater than those of the second. */ + export function gt(a: v128, b: v128): v128; + /** Computes which lanes of the first vector are greater than or equal those of the second. */ + export function ge(a: v128, b: v128): v128; + /** Converts each lane of a vector from integer to single-precision floating point. */ + export function convert(a: v128): v128; + /** Converts the low lanes of a vector from integer to double-precision floating point. */ + export function convert_low(a: v128): v128; + /** Truncates each lane of a vector from single-precision floating point to integer with saturation. Takes the target type. */ + export function trunc_sat(a: v128): v128; + /** Truncates each lane of a vector from double-precision floating point to integer with saturation. Takes the target type. */ + export function trunc_sat_zero(a: v128): v128; + /** Narrows each lane to their respective narrower lanes. */ + export function narrow(a: v128, b: v128): v128; + /** Extends the low lanes of a vector to their respective wider lanes. */ + export function extend_low(a: v128): v128; + /** Extends the high lanes of a vector to their respective wider lanes. */ + export function extend_high(a: v128): v128; + /** Adds lanes pairwise producing twice wider extended results. */ + export function extadd_pairwise(a: v128): v128; + /** Demotes each float lane to lower precision. The higher lanes of the result are initialized to zero. */ + export function demote_zero(a: v128): v128; + /** Promotes the lower float lanes to higher precision. */ + export function promote_low(a: v128): v128; + /** Performs the line-wise saturating rounding multiplication in Q15 format (`(a[i] * b[i] + (1 << (Q - 1))) >> Q` where `Q=15`). */ + export function q15mulr_sat(a: v128, b: v128): v128; + /** Performs the lane-wise integer extended multiplication of the lower lanes producing a twice wider result than the inputs. */ + export function extmul_low(a: v128, b: v128): v128; + /** Performs the lane-wise integer extended multiplication of the higher lanes producing a twice wider result than the inputs. */ + export function extmul_high(a: v128, b: v128): v128; + /** + * Selects 8-bit lanes from `a` using indices in `s`. Indices in the range [0-15] select the i-th element of `a`. + * + * Unlike {@link v128.swizzle}, the result of an out of bounds index is implementation-defined, depending on hardware + * capabilities: Either `0` or `a[s[i]%16]`. + */ + export function relaxed_swizzle(a: v128, s: v128): v128; + /** + * Truncates each lane of a vector from 32-bit floating point to a 32-bit signed or unsigned integer as indicated by + * `T`. + * + * Unlike {@link v128.trunc_sat}, the result of lanes out of bounds of the target type is implementation defined, + * depending on hardware capabilities: + * - If the input lane contains `NaN`, the result is either `0` or the respective maximum integer value. + * - If the input lane contains a value otherwise out of bounds of the target type, the result is either the + * saturatated result or maximum integer value. + */ + export function relaxed_trunc(a: v128): v128; + /** + * Truncates each lane of a vector from 64-bit floating point to a 32-bit signed or unsigned integer as indicated by + * `T`. Unused higher integer lanes of the result are initialized to zero. + * + * Unlike {@link v128.trunc_sat_zero}, the result of lanes out of bounds of the target type is implementation defined, + * depending on hardware capabilities: + * - If the input lane contains `NaN`, the result is either `0` or the respective maximum integer value. + * - If the input lane contains a value otherwise out of bounds of the target type, the result is either the + * saturatated result or maximum integer value. + */ + export function relaxed_trunc_zero(a: v128): v128; + /** + * Performs the fused multiply-add operation (`a * b + c`) on 32- or 64-bit floating point lanes as indicated by + * `T`. + * + * The result is implementation defined, depending on hardware capabilities: + * - Either `a * b` is rounded once and the final result rounded again, or + * - The expression is evaluated with higher precision and only rounded once + */ + export function relaxed_madd(a: v128, b: v128, c: v128): v128; + /** + * Performs the fused negative multiply-add operation (`-(a * b) + c`) on 32- or 64-bit floating point lanes as + * indicated by `T`. + * + * The result is implementation defined, depending on hardware capabilities: + * - Either `a * b` is rounded once and the final result rounded again, or + * - The expression is evaluated with higher precision and only rounded once + */ + export function relaxed_nmadd(a: v128, b: v128, c: v128): v128; + /** + * Selects 8-, 16-, 32- or 64-bit integer lanes as indicated by `T` from `a` or `b` based on masks in `m`. + * + * Behaves like {@link v128.bitselect} if masks in `m` do have all bits either set (result is `a[i]`) or unset (result + * is `b[i]`). Otherwise the result is implementation-defined, depending on hardware capabilities: If the most + * significant bit of `m` is set, the result is either `bitselect(a[i], b[i], mask)` or `a[i]`, otherwise the result + * is `b[i]`. + */ + export function relaxed_laneselect(a: v128, b: v128, m: v128): v128; + /** + * Computes the minimum of each 32- or 64-bit floating point lane as indicated by `T`. + * + * Unlike {@link v128.min}, the result is implementation-defined if either value is `NaN` or both are `-0.0` and + * `+0.0`, depending on hardware capabilities: Either `a[i]` or `b[i]`. + */ + export function relaxed_min(a: v128, b: v128): v128; + /** + * Computes the maximum of each 32- or 64-bit floating point lane as indicated by `T`. + * + * Unlike {@link v128.max}, the result is implementation-defined if either value is `NaN` or both are `-0.0` and + * `+0.0`, depending on hardware capabilities: Either `a[i]` or `b[i]`. + */ + export function relaxed_max(a: v128, b: v128): v128; + /** + * Performs the lane-wise rounding multiplication in Q15 format (`(a[i] * b[i] + (1 << (Q - 1))) >> Q` where `Q=15`). + * + * Unlike {@link v128.q15mulr_sat}, the result is implementation-defined if both inputs are the minimum signed value: + * Either the minimum or maximum signed value. + */ + export function relaxed_q15mulr(a: v128, b: v128): v128; + /** + * Computes the dot product of two 8-bit integer lanes each, yielding lanes one size wider than the input. + * + * Unlike {@link v128.dot}, if the most significant bit of `b[i]` is set, whether `b[i]` is interpreted as signed or + * unsigned is implementation-defined. + */ + export function relaxed_dot(a: v128, b: v128): v128; + /** + * Computes the dot product of two 8-bit integer lanes each, yielding lanes two sizes wider than the input with the + * lanes of `c` accumulated into the result. + * + * Unlike {@link v128.dot}, if the most significant bit of `b[i]` is set, whether `b[i]` is interpreted as signed or + * unsigned by the intermediate multiplication is implementation-defined. + */ + export function relaxed_dot_add(a: v128, b: v128, c: v128): v128; +} +/** Initializes a 128-bit vector from sixteen 8-bit integer values. Arguments must be compile-time constants. */ +declare function i8x16(a: i8, b: i8, c: i8, d: i8, e: i8, f: i8, g: i8, h: i8, i: i8, j: i8, k: i8, l: i8, m: i8, n: i8, o: i8, p: i8): v128; +declare namespace i8x16 { + /** Creates a vector with sixteen identical 8-bit integer lanes. */ + export function splat(x: i8): v128; + /** Extracts one 8-bit integer lane as a signed scalar. */ + export function extract_lane_s(x: v128, idx: u8): i8; + /** Extracts one 8-bit integer lane as an unsigned scalar. */ + export function extract_lane_u(x: v128, idx: u8): u8; + /** Replaces one 8-bit integer lane. */ + export function replace_lane(x: v128, idx: u8, value: i8): v128; + /** Adds each 8-bit integer lane. */ + export function add(a: v128, b: v128): v128; + /** Subtracts each 8-bit integer lane. */ + export function sub(a: v128, b: v128): v128; + /** Computes the signed minimum of each 8-bit integer lane. */ + export function min_s(a: v128, b: v128): v128; + /** Computes the unsigned minimum of each 8-bit integer lane. */ + export function min_u(a: v128, b: v128): v128; + /** Computes the signed maximum of each 8-bit integer lane. */ + export function max_s(a: v128, b: v128): v128; + /** Computes the unsigned maximum of each 8-bit integer lane. */ + export function max_u(a: v128, b: v128): v128; + /** Computes the unsigned average of each 8-bit integer lane. */ + export function avgr_u(a: v128, b: v128): v128; + /** Computes the absolute value of each 8-bit integer lane. */ + export function abs(a: v128): v128; + /** Negates each 8-bit integer lane. */ + export function neg(a: v128): v128; + /** Adds each 8-bit integer lane using signed saturation. */ + export function add_sat_s(a: v128, b: v128): v128; + /** Adds each 8-bit integer lane using unsigned saturation. */ + export function add_sat_u(a: v128, b: v128): v128; + /** Subtracts each 8-bit integer lane using signed saturation. */ + export function sub_sat_s(a: v128, b: v128): v128; + /** Subtracts each 8-bit integer lane using unsigned saturation. */ + export function sub_sat_u(a: v128, b: v128): v128; + /** Performs a bitwise left shift on each 8-bit integer lane by a scalar. */ + export function shl(a: v128, b: i32): v128; + /** Performs a bitwise arithmetic right shift on each 8-bit integer lane by a scalar. */ + export function shr_s(a: v128, b: i32): v128; + /** Performs a bitwise logical right shift on each 8-bit integer lane by a scalar. */ + export function shr_u(a: v128, b: i32): v128; + /** Reduces a vector to a scalar indicating whether all 8-bit integer lanes are considered `true`. */ + export function all_true(a: v128): bool; + /** Extracts the high bit of each 8-bit integer lane and produces a scalar mask with all bits concatenated. */ + export function bitmask(a: v128): i32; + /** Counts the number of bits set to one within each 8-bit integer lane. */ + export function popcnt(a: v128): v128; + /** Computes which 8-bit integer lanes are equal. */ + export function eq(a: v128, b: v128): v128; + /** Computes which 8-bit integer lanes are not equal. */ + export function ne(a: v128, b: v128): v128; + /** Computes which 8-bit signed integer lanes of the first vector are less than those of the second. */ + export function lt_s(a: v128, b: v128): v128; + /** Computes which 8-bit unsigned integer lanes of the first vector are less than those of the second. */ + export function lt_u(a: v128, b: v128): v128; + /** Computes which 8-bit signed integer lanes of the first vector are less than or equal those of the second. */ + export function le_s(a: v128, b: v128): v128; + /** Computes which 8-bit unsigned integer lanes of the first vector are less than or equal those of the second. */ + export function le_u(a: v128, b: v128): v128; + /** Computes which 8-bit signed integer lanes of the first vector are greater than those of the second. */ + export function gt_s(a: v128, b: v128): v128; + /** Computes which 8-bit unsigned integer lanes of the first vector are greater than those of the second. */ + export function gt_u(a: v128, b: v128): v128; + /** Computes which 8-bit signed integer lanes of the first vector are greater than or equal those of the second. */ + export function ge_s(a: v128, b: v128): v128; + /** Computes which 8-bit unsigned integer lanes of the first vector are greater than or equal those of the second. */ + export function ge_u(a: v128, b: v128): v128; + /** Narrows each 16-bit signed integer lane to 8-bit signed integer lanes. */ + export function narrow_i16x8_s(a: v128, b: v128): v128; + /** Narrows each 16-bit signed integer lane to 8-bit unsigned integer lanes. */ + export function narrow_i16x8_u(a: v128, b: v128): v128; + /** Selects 8-bit lanes from either vector according to the specified [0-15] respectively [16-31] lane indexes. */ + export function shuffle(a: v128, b: v128, l0: u8, l1: u8, l2: u8, l3: u8, l4: u8, l5: u8, l6: u8, l7: u8, l8: u8, l9: u8, l10: u8, l11: u8, l12: u8, l13: u8, l14: u8, l15: u8): v128; + /** Selects 8-bit lanes from the first vector according to the indexes [0-15] specified by the 8-bit lanes of the second vector. */ + export function swizzle(a: v128, s: v128): v128; + /** + * Selects 8-bit integer lanes from `a` using indices in `s`. Indices in the range [0-15] select the i-th element of + * `a`. + * + * Unlike {@link i8x16.swizzle}, the result of an out of bounds index is implementation-defined, depending on hardware + * capabilities: Either `0` or `a[s[i]%16]`. + */ + export function relaxed_swizzle(a: v128, s: v128): v128; + /** + * Selects 8-bit integer lanes from `a` or `b` based on masks in `m`. + * + * Behaves like {@link v128.bitselect} if masks in `m` do have all bits either set (result is `a[i]`) or unset (result + * is `b[i]`). Otherwise the result is implementation-defined, depending on hardware capabilities: If the most + * significant bit of `m` is set, the result is either `bitselect(a[i], b[i], mask)` or `a[i]`, otherwise the result + * is `b[i]`. + */ + export function relaxed_laneselect(a: v128, b: v128, m: v128): v128; +} +/** Initializes a 128-bit vector from eight 16-bit integer values. Arguments must be compile-time constants. */ +declare function i16x8(a: i16, b: i16, c: i16, d: i16, e: i16, f: i16, g: i16, h: i16): v128; +declare namespace i16x8 { + /** Creates a vector with eight identical 16-bit integer lanes. */ + export function splat(x: i16): v128; + /** Extracts one 16-bit integer lane as a signed scalar. */ + export function extract_lane_s(x: v128, idx: u8): i16; + /** Extracts one 16-bit integer lane as an unsigned scalar. */ + export function extract_lane_u(x: v128, idx: u8): u16; + /** Replaces one 16-bit integer lane. */ + export function replace_lane(x: v128, idx: u8, value: i16): v128; + /** Adds each 16-bit integer lane. */ + export function add(a: v128, b: v128): v128; + /** Subtracts each 16-bit integer lane. */ + export function sub(a: v128, b: v128): v128; + /** Multiplies each 16-bit integer lane. */ + export function mul(a: v128, b: v128): v128; + /** Computes the signed minimum of each 16-bit integer lane. */ + export function min_s(a: v128, b: v128): v128; + /** Computes the unsigned minimum of each 16-bit integer lane. */ + export function min_u(a: v128, b: v128): v128; + /** Computes the signed maximum of each 16-bit integer lane. */ + export function max_s(a: v128, b: v128): v128; + /** Computes the unsigned maximum of each 16-bit integer lane. */ + export function max_u(a: v128, b: v128): v128; + /** Computes the unsigned average of each 16-bit integer lane. */ + export function avgr_u(a: v128, b: v128): v128; + /** Computes the absolute value of each 16-bit integer lane. */ + export function abs(a: v128): v128; + /** Negates each 16-bit integer lane. */ + export function neg(a: v128): v128; + /** Adds each 16-bit integer lane using signed saturation. */ + export function add_sat_s(a: v128, b: v128): v128; + /** Adds each 16-bit integer lane using unsigned saturation. */ + export function add_sat_u(a: v128, b: v128): v128; + /** Subtracts each 16-bit integer lane using signed saturation. */ + export function sub_sat_s(a: v128, b: v128): v128; + /** Subtracts each 16-bit integer lane using unsigned saturation. */ + export function sub_sat_u(a: v128, b: v128): v128; + /** Performs a bitwise left shift on each 16-bit integer lane by a scalar. */ + export function shl(a: v128, b: i32): v128; + /** Performs a bitwise arithmetic right shift each 16-bit integer lane by a scalar. */ + export function shr_s(a: v128, b: i32): v128; + /** Performs a bitwise logical right shift on each 16-bit integer lane by a scalar. */ + export function shr_u(a: v128, b: i32): v128; + /** Reduces a vector to a scalar indicating whether all 16-bit integer lanes are considered `true`. */ + export function all_true(a: v128): bool; + /** Extracts the high bit of each 16-bit integer lane and produces a scalar mask with all bits concatenated. */ + export function bitmask(a: v128): i32; + /** Computes which 16-bit integer lanes are equal. */ + export function eq(a: v128, b: v128): v128; + /** Computes which 16-bit integer lanes are not equal. */ + export function ne(a: v128, b: v128): v128; + /** Computes which 16-bit signed integer lanes of the first vector are less than those of the second. */ + export function lt_s(a: v128, b: v128): v128; + /** Computes which 16-bit unsigned integer lanes of the first vector are less than those of the second. */ + export function lt_u(a: v128, b: v128): v128; + /** Computes which 16-bit signed integer lanes of the first vector are less than or equal those of the second. */ + export function le_s(a: v128, b: v128): v128; + /** Computes which 16-bit unsigned integer lanes of the first vector are less than or equal those of the second. */ + export function le_u(a: v128, b: v128): v128; + /** Computes which 16-bit signed integer lanes of the first vector are greater than those of the second. */ + export function gt_s(a: v128, b: v128): v128; + /** Computes which 16-bit unsigned integer lanes of the first vector are greater than those of the second. */ + export function gt_u(a: v128, b: v128): v128; + /** Computes which 16-bit signed integer lanes of the first vector are greater than or equal those of the second. */ + export function ge_s(a: v128, b: v128): v128; + /** Computes which 16-bit unsigned integer lanes of the first vector are greater than or equal those of the second. */ + export function ge_u(a: v128, b: v128): v128; + /** Narrows each 32-bit signed integer lane to 16-bit signed integer lanes. */ + export function narrow_i32x4_s(a: v128, b: v128): v128; + /** Narrows each 32-bit signed integer lane to 16-bit unsigned integer lanes. */ + export function narrow_i32x4_u(a: v128, b: v128): v128; + /** Extends the low 8-bit signed integer lanes to 16-bit signed integer lanes. */ + export function extend_low_i8x16_s(a: v128): v128; + /** Extends the low 8-bit unsigned integer lanes to 16-bit unsigned integer lanes. */ + export function extend_low_i8x16_u(a: v128): v128; + /** Extends the high 8-bit signed integer lanes to 16-bit signed integer lanes. */ + export function extend_high_i8x16_s(a: v128): v128; + /** Extends the high 8-bit unsigned integer lanes to 16-bit unsigned integer lanes. */ + export function extend_high_i8x16_u(a: v128): v128; + /** Adds the sixteen 8-bit signed integer lanes pairwise producing eight 16-bit signed integer results. */ + export function extadd_pairwise_i8x16_s(a: v128): v128; + /** Adds the sixteen 8-bit unsigned integer lanes pairwise producing eight 16-bit unsigned integer results. */ + export function extadd_pairwise_i8x16_u(a: v128): v128; + /** Performs the line-wise 16-bit signed integer saturating rounding multiplication in Q15 format. */ + export function q15mulr_sat_s(a: v128, b: v128): v128; + /** Performs the lane-wise 8-bit signed integer extended multiplication of the eight lower lanes producing twice wider 16-bit integer results. */ + export function extmul_low_i8x16_s(a: v128, b: v128): v128; + /** Performs the lane-wise 8-bit unsigned integer extended multiplication of the eight lower lanes producing twice wider 16-bit integer results. */ + export function extmul_low_i8x16_u(a: v128, b: v128): v128; + /** Performs the lane-wise 8-bit signed integer extended multiplication of the eight higher lanes producing twice wider 16-bit integer results. */ + export function extmul_high_i8x16_s(a: v128, b: v128): v128; + /** Performs the lane-wise 8-bit unsigned integer extended multiplication of the eight higher lanes producing twice wider 16-bit integer results. */ + export function extmul_high_i8x16_u(a: v128, b: v128): v128; + /** Selects 16-bit lanes from either vector according to the specified [0-7] respectively [8-15] lane indexes. */ + export function shuffle(a: v128, b: v128, l0: u8, l1: u8, l2: u8, l3: u8, l4: u8, l5: u8, l6: u8, l7: u8): v128; + /** + * Selects 16-bit integer lanes from `a` or `b` based on masks in `m`. + * + * Behaves like {@link v128.bitselect} if masks in `m` do have all bits either set (result is `a[i]`) or unset (result + * is `b[i]`). Otherwise the result is implementation-defined, depending on hardware capabilities: If the most + * significant bit of `m` is set, the result is either `bitselect(a[i], b[i], mask)` or `a[i]`, otherwise the result + * is `b[i]`. + */ + export function relaxed_laneselect(a: v128, b: v128, m: v128): v128; + /** + * Performs the line-wise rounding multiplication in Q15 format (`(a[i] * b[i] + (1 << (Q - 1))) >> Q` where `Q=15`). + * + * Some results are implementation-defined: If both inputs are `i16.MIN_VALUE`, the value of the respective + * resulting lane may be either `i16.MIN_VALUE` or `i16.MAX_VALUE`. + */ + export function relaxed_q15mulr_s(a: v128, b: v128): v128; + /** + * Computes the dot product of two 8-bit integer lanes each, yielding lanes one size wider than the input. + * + * Some results are implementation-defined: If the most significant bit of `b[i]` is set, the intermediate + * multiplication may interpret `b[i]` as either signed or unsigned. + */ + export function relaxed_dot_i8x16_i7x16_s(a: v128, b: v128): v128; +} +/** Initializes a 128-bit vector from four 32-bit integer values. Arguments must be compile-time constants. */ +declare function i32x4(a: i32, b: i32, c: i32, d: i32): v128; +declare namespace i32x4 { + /** Creates a vector with four identical 32-bit integer lanes. */ + export function splat(x: i32): v128; + /** Extracts one 32-bit integer lane as a scalar. */ + export function extract_lane(x: v128, idx: u8): i32; + /** Replaces one 32-bit integer lane. */ + export function replace_lane(x: v128, idx: u8, value: i32): v128; + /** Adds each 32-bit integer lane. */ + export function add(a: v128, b: v128): v128; + /** Subtracts each 32-bit integer lane. */ + export function sub(a: v128, b: v128): v128; + /** Multiplies each 32-bit integer lane. */ + export function mul(a: v128, b: v128): v128; + /** Computes the signed minimum of each 32-bit integer lane. */ + export function min_s(a: v128, b: v128): v128; + /** Computes the unsigned minimum of each 32-bit integer lane. */ + export function min_u(a: v128, b: v128): v128; + /** Computes the signed maximum of each 32-bit integer lane. */ + export function max_s(a: v128, b: v128): v128; + /** Computes the unsigned maximum of each 32-bit integer lane. */ + export function max_u(a: v128, b: v128): v128; + /** Computes the dot product of two 16-bit integer lanes each, yielding 32-bit integer lanes. */ + export function dot_i16x8_s(a: v128, b: v128): v128; + /** Computes the absolute value of each 32-bit integer lane. */ + export function abs(a: v128): v128; + /** Negates each 32-bit integer lane. */ + export function neg(a: v128): v128; + /** Performs a bitwise left shift on each 32-bit integer lane by a scalar. */ + export function shl(a: v128, b: i32): v128; + /** Performs a bitwise arithmetic right shift on each 32-bit integer lane by a scalar. */ + export function shr_s(a: v128, b: i32): v128; + /** Performs a bitwise logical right shift on each 32-bit integer lane by a scalar. */ + export function shr_u(a: v128, b: i32): v128; + /** Reduces a vector to a scalar indicating whether all 32-bit integer lanes are considered `true`. */ + export function all_true(a: v128): bool; + /** Extracts the high bit of each 32-bit integer lane and produces a scalar mask with all bits concatenated. */ + export function bitmask(a: v128): i32; + /** Computes which 32-bit integer lanes are equal. */ + export function eq(a: v128, b: v128): v128; + /** Computes which 32-bit integer lanes are not equal. */ + export function ne(a: v128, b: v128): v128; + /** Computes which 32-bit signed integer lanes of the first vector are less than those of the second. */ + export function lt_s(a: v128, b: v128): v128; + /** Computes which 32-bit unsigned integer lanes of the first vector are less than those of the second. */ + export function lt_u(a: v128, b: v128): v128; + /** Computes which 32-bit signed integer lanes of the first vector are less than or equal those of the second. */ + export function le_s(a: v128, b: v128): v128; + /** Computes which 32-bit unsigned integer lanes of the first vector are less than or equal those of the second. */ + export function le_u(a: v128, b: v128): v128; + /** Computes which 32-bit signed integer lanes of the first vector are greater than those of the second. */ + export function gt_s(a: v128, b: v128): v128; + /** Computes which 32-bit unsigned integer lanes of the first vector are greater than those of the second. */ + export function gt_u(a: v128, b: v128): v128; + /** Computes which 32-bit signed integer lanes of the first vector are greater than or equal those of the second. */ + export function ge_s(a: v128, b: v128): v128; + /** Computes which 32-bit unsigned integer lanes of the first vector are greater than or equal those of the second. */ + export function ge_u(a: v128, b: v128): v128; + /** Truncates each 32-bit float lane to a signed integer with saturation. */ + export function trunc_sat_f32x4_s(a: v128): v128; + /** Truncates each 32-bit float lane to an unsigned integer with saturation. */ + export function trunc_sat_f32x4_u(a: v128): v128; + /** Truncates the two 64-bit float lanes to the two lower signed integer lanes with saturation. The two higher integer lanes of the result are initialized to zero. */ + export function trunc_sat_f64x2_s_zero(a: v128): v128; + /** Truncates the two 64-bit float lanes to the two lower unsigned integer lanes with saturation. The two higher integer lanes of the result are initialized to zero. */ + export function trunc_sat_f64x2_u_zero(a: v128): v128; + /** Extends the low 16-bit signed integer lanes to 32-bit signed integer lanes. */ + export function extend_low_i16x8_s(a: v128): v128; + /** Extends the low 16-bit unsigned integer lane to 32-bit unsigned integer lanes. */ + export function extend_low_i16x8_u(a: v128): v128; + /** Extends the high 16-bit signed integer lanes to 32-bit signed integer lanes. */ + export function extend_high_i16x8_s(a: v128): v128; + /** Extends the high 16-bit unsigned integer lanes to 32-bit unsigned integer lanes. */ + export function extend_high_i16x8_u(a: v128): v128; + /** Adds the eight 16-bit signed integer lanes pairwise producing four 32-bit signed integer results. */ + export function extadd_pairwise_i16x8_s(a: v128): v128; + /** Adds the eight 16-bit unsigned integer lanes pairwise producing four 32-bit unsigned integer results. */ + export function extadd_pairwise_i16x8_u(a: v128): v128; + /** Performs the lane-wise 16-bit signed integer extended multiplication of the four lower lanes producing twice wider 32-bit integer results. */ + export function extmul_low_i16x8_s(a: v128, b: v128): v128; + /** Performs the lane-wise 16-bit unsigned integer extended multiplication of the four lower lanes producing twice wider 32-bit integer results. */ + export function extmul_low_i16x8_u(a: v128, b: v128): v128; + /** Performs the lane-wise 16-bit signed integer extended multiplication of the four higher lanes producing twice wider 32-bit integer results. */ + export function extmul_high_i16x8_s(a: v128, b: v128): v128; + /** Performs the lane-wise 16-bit unsigned integer extended multiplication of the four higher lanes producing twice wider 32-bit integer results. */ + export function extmul_high_i16x8_u(a: v128, b: v128): v128; + /** Selects 32-bit lanes from either vector according to the specified [0-3] respectively [4-7] lane indexes. */ + export function shuffle(a: v128, b: v128, l0: u8, l1: u8, l2: u8, l3: u8): v128; + /** + * Truncates each lane of a vector from 32-bit floating point to a signed 32-bit integer. + * + * Unlike {@link i32x4.trunc_sat_f32x4_s}, the result of lanes out of bounds of the target type is implementation + * defined, depending on hardware capabilities: + * - If the input lane contains `NaN`, the result is either `0` or the respective maximum integer value. + * - If the input lane contains a value otherwise out of bounds of the target type, the result is either the + * saturatated result or maximum integer value. + */ + export function relaxed_trunc_f32x4_s(a: v128): v128; + /** + * Truncates each lane of a vector from 32-bit floating point to an unsigned 32-bit integer. + * + * Unlike {@link i32x4.trunc_sat_f32x4_u}, the result of lanes out of bounds of the target type is implementation + * defined, depending on hardware capabilities: + * - If the input lane contains `NaN`, the result is either `0` or the respective maximum integer value. + * - If the input lane contains a value otherwise out of bounds of the target type, the result is either the + * saturatated result or maximum integer value. + */ + export function relaxed_trunc_f32x4_u(a: v128): v128; + /** + * Truncates each lane of a vector from 64-bit floating point to a signed 32-bit integer. The two higher + * integer lanes of the result are initialized to zero. + * + * Unlike {@link i32x4.trunc_sat_f64x2_s_zero}, the result of lanes out of bounds of the target type is implementation + * defined, depending on hardware capabilities: + * - If the input lane contains `NaN`, the result is either `0` or the respective maximum integer value. + * - If the input lane contains a value otherwise out of bounds of the target type, the result is either the + * saturatated result or maximum integer value. + */ + export function relaxed_trunc_f64x2_s_zero(a: v128): v128; + /** + * Truncates each lane of a vector from 64-bit floating point to an unsigned 32-bit integer. The two higher + * integer lanes of the result are initialized to zero. + * + * Unlike {@link i32x4.trunc_sat_f64x2_u_zero}, the result of lanes out of bounds of the target type is implementation + * defined, depending on hardware capabilities: + * - If the input lane contains `NaN`, the result is either `0` or the respective maximum integer value. + * - If the input lane contains a value otherwise out of bounds of the target type, the result is either the + * saturatated result or maximum integer value. + */ + export function relaxed_trunc_f64x2_u_zero(a: v128): v128; + /** + * Selects 32-bit integer lanes from `a` or `b` based on masks in `m`. + * + * Behaves like {@link v128.bitselect} if masks in `m` do have all bits either set (result is `a[i]`) or unset (result + * is `b[i]`). Otherwise the result is implementation-defined, depending on hardware capabilities: If the most + * significant bit of `m` is set, the result is either `bitselect(a[i], b[i], mask)` or `a[i]`, otherwise the result + * is `b[i]`. + */ + export function relaxed_laneselect(a: v128, b: v128, m: v128): v128; + /** + * Computes the dot product of two 8-bit lanes each, yielding lanes two sizes wider than the input with the lanes of + * `c` accumulated into the result. + * + * Unlike {@link v128.dot}, if the most significant bit of `b[i]` is set, whether `b[i]` is interpreted as signed or + * unsigned by the intermediate multiplication is implementation-defined. + */ + export function relaxed_dot_i8x16_i7x16_add_s(a: v128, b: v128, c: v128): v128; +} +/** Initializes a 128-bit vector from two 64-bit integer values. Arguments must be compile-time constants. */ +declare function i64x2(a: i64, b: i64): v128; +declare namespace i64x2 { + /** Creates a vector with two identical 64-bit integer lanes. */ + export function splat(x: i64): v128; + /** Extracts one 64-bit integer lane as a scalar. */ + export function extract_lane(x: v128, idx: u8): i64; + /** Replaces one 64-bit integer lane. */ + export function replace_lane(x: v128, idx: u8, value: i64): v128; + /** Adds each 64-bit integer lane. */ + export function add(a: v128, b: v128): v128; + /** Subtracts each 64-bit integer lane. */ + export function sub(a: v128, b: v128): v128; + /** Multiplies each 64-bit integer lane. */ + export function mul(a: v128, b: v128): v128; + /** Computes the absolute value of each 64-bit integer lane. */ + export function abs(a: v128): v128; + /** Negates each 64-bit integer lane. */ + export function neg(a: v128): v128; + /** Performs a bitwise left shift on each 64-bit integer lane by a scalar. */ + export function shl(a: v128, b: i32): v128; + /** Performs a bitwise arithmetic right shift on each 64-bit integer lane by a scalar. */ + export function shr_s(a: v128, b: i32): v128; + /** Performs a bitwise logical right shift on each 64-bit integer lane by a scalar. */ + export function shr_u(a: v128, b: i32): v128; + /** Reduces a vector to a scalar indicating whether all 64-bit integer lanes are considered `true`. */ + export function all_true(a: v128): bool; + /** Extracts the high bit of each 64-bit integer lane and produces a scalar mask with all bits concatenated. */ + export function bitmask(a: v128): i32; + /** Computes which 64-bit integer lanes are equal. */ + export function eq(a: v128, b: v128): v128; + /** Computes which 64-bit integer lanes are not equal. */ + export function ne(a: v128, b: v128): v128; + /** Computes which 64-bit signed integer lanes of the first vector are less than those of the second. */ + export function lt_s(a: v128, b: v128): v128; + /** Computes which 64-bit signed integer lanes of the first vector are less than or equal those of the second. */ + export function le_s(a: v128, b: v128): v128; + /** Computes which 64-bit signed integer lanes of the first vector are greater than those of the second. */ + export function gt_s(a: v128, b: v128): v128; + /** Computes which 64-bit signed integer lanes of the first vector are greater than or equal those of the second. */ + export function ge_s(a: v128, b: v128): v128; + /** Extends the low 32-bit signed integer lanes to 64-bit signed integer lanes. */ + export function extend_low_i32x4_s(a: v128): v128; + /** Extends the low 32-bit unsigned integer lane to 64-bit unsigned integer lanes. */ + export function extend_low_i32x4_u(a: v128): v128; + /** Extends the high 32-bit signed integer lanes to 64-bit signed integer lanes. */ + export function extend_high_i32x4_s(a: v128): v128; + /** Extends the high 32-bit unsigned integer lanes to 64-bit unsigned integer lanes. */ + export function extend_high_i32x4_u(a: v128): v128; + /** Performs the lane-wise 32-bit signed integer extended multiplication of the two lower lanes producing twice wider 64-bit integer results. */ + export function extmul_low_i32x4_s(a: v128, b: v128): v128; + /** Performs the lane-wise 32-bit unsigned integer extended multiplication of the two lower lanes producing twice wider 64-bit integer results. */ + export function extmul_low_i32x4_u(a: v128, b: v128): v128; + /** Performs the lane-wise 32-bit signed integer extended multiplication of the two higher lanes producing twice wider 64-bit integer results. */ + export function extmul_high_i32x4_s(a: v128, b: v128): v128; + /** Performs the lane-wise 32-bit unsigned integer extended multiplication of the two higher lanes producing twice wider 64-bit integer results. */ + export function extmul_high_i32x4_u(a: v128, b: v128): v128; + /** Selects 64-bit lanes from either vector according to the specified [0-1] respectively [2-3] lane indexes. */ + export function shuffle(a: v128, b: v128, l0: u8, l1: u8): v128; + /** + * Selects 64-bit integer lanes from `a` or `b` based on masks in `m`. + * + * Behaves like {@link v128.bitselect} if masks in `m` do have all bits either set (result is `a[i]`) or unset (result + * is `b[i]`). Otherwise the result is implementation-defined, depending on hardware capabilities: If the most + * significant bit of `m` is set, the result is either `bitselect(a[i], b[i], mask)` or `a[i]`, otherwise the result + * is `b[i]`. + */ + export function relaxed_laneselect(a: v128, b: v128, m: v128): v128; +} +/** Initializes a 128-bit vector from four 32-bit float values. Arguments must be compile-time constants. */ +declare function f32x4(a: f32, b: f32, c: f32, d: f32): v128; +declare namespace f32x4 { + /** Creates a vector with four identical 32-bit float lanes. */ + export function splat(x: f32): v128; + /** Extracts one 32-bit float lane as a scalar. */ + export function extract_lane(x: v128, idx: u8): f32; + /** Replaces one 32-bit float lane. */ + export function replace_lane(x: v128, idx: u8, value: f32): v128; + /** Adds each 32-bit float lane. */ + export function add(a: v128, b: v128): v128; + /** Subtracts each 32-bit float lane. */ + export function sub(a: v128, b: v128): v128; + /** Multiplies each 32-bit float lane. */ + export function mul(a: v128, b: v128): v128; + /** Divides each 32-bit float lane. */ + export function div(a: v128, b: v128): v128; + /** Negates each 32-bit float lane. */ + export function neg(a: v128): v128; + /** Computes the minimum of each 32-bit float lane. */ + export function min(a: v128, b: v128): v128; + /** Computes the maximum of each 32-bit float lane. */ + export function max(a: v128, b: v128): v128; + /** Computes the pseudo-minimum of each 32-bit float lane. */ + export function pmin(a: v128, b: v128): v128; + /** Computes the pseudo-maximum of each 32-bit float lane. */ + export function pmax(a: v128, b: v128): v128; + /** Computes the absolute value of each 32-bit float lane. */ + export function abs(a: v128): v128; + /** Computes the square root of each 32-bit float lane. */ + export function sqrt(a: v128): v128; + /** Performs the ceiling operation on each 32-bit float lane. */ + export function ceil(a: v128): v128; + /** Performs the floor operation on each each 32-bit float lane. */ + export function floor(a: v128): v128; + /** Rounds to the nearest integer towards zero of each 32-bit float lane. */ + export function trunc(a: v128): v128; + /** Rounds to the nearest integer tied to even of each 32-bit float lane. */ + export function nearest(a: v128): v128; + /** Computes which 32-bit float lanes are equal. */ + export function eq(a: v128, b: v128): v128; + /** Computes which 32-bit float lanes are not equal. */ + export function ne(a: v128, b: v128): v128; + /** Computes which 32-bit float lanes of the first vector are less than those of the second. */ + export function lt(a: v128, b: v128): v128; + /** Computes which 32-bit float lanes of the first vector are less than or equal those of the second. */ + export function le(a: v128, b: v128): v128; + /** Computes which 32-bit float lanes of the first vector are greater than those of the second. */ + export function gt(a: v128, b: v128): v128; + /** Computes which 32-bit float lanes of the first vector are greater than or equal those of the second. */ + export function ge(a: v128, b: v128): v128; + /** Converts each 32-bit signed integer lane of a vector to single-precision floating point. */ + export function convert_i32x4_s(a: v128): v128; + /** Converts each 32-bit unsigned integer lane of a vector to single-precision floating point. */ + export function convert_i32x4_u(a: v128): v128; + /** Demotes each 64-bit float lane of a vector to single-precision. The higher lanes of the result are initialized to zero. */ + export function demote_f64x2_zero(a: v128): v128; + /** Selects 32-bit lanes from either vector according to the specified [0-3] respectively [4-7] lane indexes. */ + export function shuffle(a: v128, b: v128, l0: u8, l1: u8, l2: u8, l3: u8): v128; + /** + * Performs the fused multiply-add operation (`a * b + c`) on all 32-bit floating point lanes. + * + * The result is implementation defined, depending on hardware capabilities: + * - Either `a * b` is rounded once and the final result rounded again, or + * - The expression is evaluated with higher precision and only rounded once + */ + export function relaxed_madd(a: v128, b: v128, c: v128): v128; + /** + * Performs the fused negative multiply-add operation (`-(a * b) + c`) on all 32-bit floating point lanes. + * + * The result is implementation defined, depending on hardware capabilities: + * - Either `a * b` is rounded once and the final result rounded again, or + * - The expression is evaluated with higher precision and only rounded once + */ + export function relaxed_nmadd(a: v128, b: v128, c: v128): v128; + /** + * Computes the minimum of each 32-bit floating point lane. + * + * Unlike {@link f32x4.min}, the result is implementation-defined if either value is `NaN`, `-0.0` or `+0.0`, + * depending on hardware capabilities: Either `a[i]` or `b[i]`. + */ + export function relaxed_min(a: v128, b: v128): v128; + /** + * Computes the maximum of each 32-bit floating point lane. + * + * Unlike {@link f32x4.max}, the result is implementation-defined if either value is `NaN`, `-0.0` or `+0.0`, + * depending on hardware capabilities: Either `a[i]` or `b[i]`. + */ + export function relaxed_max(a: v128, b: v128): v128; +} +/** Initializes a 128-bit vector from two 64-bit float values. Arguments must be compile-time constants. */ +declare function f64x2(a: f64, b: f64): v128; +declare namespace f64x2 { + /** Creates a vector with two identical 64-bit float lanes. */ + export function splat(x: f64): v128; + /** Extracts one 64-bit float lane as a scalar. */ + export function extract_lane(x: v128, idx: u8): f64; + /** Replaces one 64-bit float lane. */ + export function replace_lane(x: v128, idx: u8, value: f64): v128; + /** Adds each 64-bit float lane. */ + export function add(a: v128, b: v128): v128; + /** Subtracts each 64-bit float lane. */ + export function sub(a: v128, b: v128): v128; + /** Multiplies each 64-bit float lane. */ + export function mul(a: v128, b: v128): v128; + /** Divides each 64-bit float lane. */ + export function div(a: v128, b: v128): v128; + /** Negates each 64-bit float lane. */ + export function neg(a: v128): v128; + /** Computes the minimum of each 64-bit float lane. */ + export function min(a: v128, b: v128): v128; + /** Computes the maximum of each 64-bit float lane. */ + export function max(a: v128, b: v128): v128; + /** Computes the pseudo-minimum of each 64-bit float lane. */ + export function pmin(a: v128, b: v128): v128; + /** Computes the pseudo-maximum of each 64-bit float lane. */ + export function pmax(a: v128, b: v128): v128; + /** Computes the absolute value of each 64-bit float lane. */ + export function abs(a: v128): v128; + /** Computes the square root of each 64-bit float lane. */ + export function sqrt(a: v128): v128; + /** Performs the ceiling operation on each 64-bit float lane. */ + export function ceil(a: v128): v128; + /** Performs the floor operation on each each 64-bit float lane. */ + export function floor(a: v128): v128; + /** Rounds to the nearest integer towards zero of each 64-bit float lane. */ + export function trunc(a: v128): v128; + /** Rounds to the nearest integer tied to even of each 64-bit float lane. */ + export function nearest(a: v128): v128; + /** Computes which 64-bit float lanes are equal. */ + export function eq(a: v128, b: v128): v128; + /** Computes which 64-bit float lanes are not equal. */ + export function ne(a: v128, b: v128): v128; + /** Computes which 64-bit float lanes of the first vector are less than those of the second. */ + export function lt(a: v128, b: v128): v128; + /** Computes which 64-bit float lanes of the first vector are less than or equal those of the second. */ + export function le(a: v128, b: v128): v128; + /** Computes which 64-bit float lanes of the first vector are greater than those of the second. */ + export function gt(a: v128, b: v128): v128; + /** Computes which 64-bit float lanes of the first vector are greater than or equal those of the second. */ + export function ge(a: v128, b: v128): v128; + /** Converts the low 32-bit signed integer lanes of a vector to double-precision floating point. */ + export function convert_low_i32x4_s(a: v128): v128; + /** Converts the low 32-bit unsigned integer lanes of a vector to double-precision floating point. */ + export function convert_low_i32x4_u(a: v128): v128; + /** Promotes the low 32-bit float lanes of a vector to double-precision. */ + export function promote_low_f32x4(a: v128): v128; + /** Selects 64-bit lanes from either vector according to the specified [0-1] respectively [2-3] lane indexes. */ + export function shuffle(a: v128, b: v128, l0: u8, l1: u8): v128; + /** + * Performs the fused multiply-add operation (`a * b + c`) on all 64-bit floating point lanes. + * + * The result is implementation defined, depending on hardware capabilities: + * - Either `a * b` is rounded once and the final result rounded again, or + * - The expression is evaluated with higher precision and only rounded once + */ + export function relaxed_madd(a: v128, b: v128, c: v128): v128; + /** + * Performs the fused negative multiply-add operation (`-(a * b) + c`) on all 64-bit floating point lanes. + * + * The result is implementation defined, depending on hardware capabilities: + * - Either `a * b` is rounded once and the final result rounded again, or + * - The expression is evaluated with higher precision and only rounded once + */ + export function relaxed_nmadd(a: v128, b: v128, c: v128): v128; + /** + * Computes the minimum of each 64-bit floating point lane. + * + * Unlike {@link f64x2.min}, the result is implementation-defined if either value is `NaN`, `-0.0` or `+0.0`, + * depending on hardware capabilities: Either `a[i]` or `b[i]`. + */ + export function relaxed_min(a: v128, b: v128): v128; + /** + * Computes the maximum of each 64-bit floating point lane. + * + * Unlike {@link f64x2.max}, the result is implementation-defined if either value is `NaN`, `-0.0` or `+0.0`, + * depending on hardware capabilities: Either `a[i]` or `b[i]`. + */ + export function relaxed_max(a: v128, b: v128): v128; +} + +declare abstract class i31 { + /** Creates a new 31-bit integer reference from the specified integer value. */ + static new(value: i32): ref_i31; + /** Gets the integer value of an 31-bit integer reference. */ + static get(i31expr: ref_i31 | null): i32; +} + +/** Macro type evaluating to the underlying native WebAssembly type. */ +declare type native = T; +/** Special type evaluating the indexed access index type. */ +declare type indexof> = keyof T; +/** Special type evaluating the indexed access value type. */ +declare type valueof> = T[0]; +/** A special type evaluated to the return type of T if T is a callable function. */ +declare type ReturnType any> = T extends (...args: any) => infer R ? R : any; +/** A special type evaluated to the return type of T if T is a callable function. */ +declare type returnof any> = ReturnType; +/** A special type that excludes null and undefined from T. */ +declare type NonNullable = T extends null | undefined ? never : T; +/** A special type that excludes null and undefined from T. */ +declare type nonnull = NonNullable; + +/** Pseudo-class representing the backing class of integer types. */ +/** @internal */ +declare class _Integer { + /** Smallest representable value. */ + static readonly MIN_VALUE: number; + /** Largest representable value. */ + static readonly MAX_VALUE: number; + /** @deprecated Converts a string to an integer of this type. Please use "i32.parse" method. */ + static parseInt(value: string, radix?: number): number; + /** Converts this integer to a string. */ + toString(radix?: number): string; +} + +/** Pseudo-class representing the backing class of floating-point types. */ +/** @internal */ +declare class _Float { + /** Difference between 1 and the smallest representable value greater than 1. */ + static readonly EPSILON: f32 | f64; + /** Smallest representable value. */ + static readonly MIN_VALUE: f32 | f64; + /** Largest representable value. */ + static readonly MAX_VALUE: f32 | f64; + /** Smallest safely representable integer value. */ + static readonly MIN_SAFE_INTEGER: f32 | f64; + /** Largest safely representable integer value. */ + static readonly MAX_SAFE_INTEGER: f32 | f64; + /** Value representing positive infinity. */ + static readonly POSITIVE_INFINITY: f32 | f64; + /** Value representing negative infinity. */ + static readonly NEGATIVE_INFINITY: f32 | f64; + /** Value representing 'not a number'. */ + static readonly NaN: f32 | f64; + /** Returns a boolean value that indicates whether a value is the reserved value NaN (not a number). */ + static isNaN(value: f32 | f64): bool; + /** Returns true if passed value is finite. */ + static isFinite(value: f32 | f64): bool; + /** Returns true if the value passed is a safe integer. */ + static isSafeInteger(value: f32 | f64): bool; + /** Returns true if the value passed is an integer, false otherwise. */ + static isInteger(value: f32 | f64): bool; + /** @deprecated Converts a string to an integer. Please use "i32.parse" / "i64.parse" methods. */ + static parseInt(value: string, radix?: i32): f32 | f64; + /** @deprecated Converts a string to a floating-point number. Please use "f32.parse" / "f64.parse" methods. */ + static parseFloat(value: string): f32 | f64; + /** Converts this floating-point number to a string. */ + toString(radix?: number): string; +} + +declare class Boolean { + toString(radix?: number): string; +} + +/** Backing class of signed 8-bit integers. */ +declare const I8: typeof _Integer; +/** Backing class of signed 16-bit integers. */ +declare const I16: typeof _Integer; +/** Backing class of signed 32-bit integers. */ +declare const I32: typeof _Integer; +/** Backing class of signed 64-bit integers. */ +declare const I64: typeof _Integer; +/** Backing class of signed size integers. */ +declare const Isize: typeof _Integer; +/** Backing class of unsigned 8-bit integers. */ +declare const U8: typeof _Integer; +/** Backing class of unsigned 16-bit integers. */ +declare const U16: typeof _Integer; +/** Backing class of unsigned 32-bit integers. */ +declare const U32: typeof _Integer; +/** Backing class of unsigned 64-bit integers. */ +declare const U64: typeof _Integer; +/** Backing class of unsigned size integers. */ +declare const Usize: typeof _Integer; +/** Backing class of 32-bit floating-point values. */ +declare const F32: typeof _Float; +/** Backing class of 64-bit floating-point values. */ +declare const F64: typeof _Float; +/** Alias of F64. */ +declare const Number: typeof F64; +declare type Number = _Float; + +// User-defined diagnostic macros + +/** Emits a user-defined diagnostic error when encountered. */ +declare function ERROR(message?: any): never; +/** Emits a user-defined diagnostic warning when encountered. */ +declare function WARNING(message?: any): void; +/** Emits a user-defined diagnostic info when encountered. */ +declare function INFO(message?: any): void; + +// Standard library + +/** Memory operations. */ +declare namespace memory { + /** Whether the memory managed interface is implemented. */ + export const implemented: bool; + /** Returns the current memory size in units of pages. One page is 64kb. */ + export function size(): i32; + /** Grows linear memory by a given unsigned delta of pages. One page is 64kb. Returns the previous memory size in units of pages or `-1` on failure. */ + export function grow(value: i32): i32; + /** Sets n bytes beginning at the specified destination in memory to the specified byte value. */ + export function fill(dst: usize, value: u8, count: usize): void; + /** Copies n bytes from the specified source to the specified destination in memory. These regions may overlap. */ + export function copy(dst: usize, src: usize, n: usize): void; + /** Repeats `src` of length `srcLength` `count` times at `dst`. */ + export function repeat(dst: usize, src: usize, srcLength: usize, count: usize): void; + /** Copies elements from a passive element segment to a table. */ + export function init(segmentIndex: u32, srcOffset: usize, dstOffset: usize, n: usize): void; + /** Prevents further use of a passive element segment. */ + export function drop(segmentIndex: u32): void; + /** Compares two chunks of memory. Returns `0` if equal, otherwise the difference of the first differing bytes. */ + export function compare(vl: usize, vr: usize, n: usize): i32; + /** Gets a pointer to a zeroed static chunk of memory of the given size. Alignment defaults to `16`. Arguments must be compile-time constants. */ + export function data(size: i32, align?: i32): usize; + /** Gets a pointer to a pre-initialized static chunk of memory. Alignment defaults to the size of `T`. Arguments must be compile-time constants. */ + export function data(values: T[], align?: i32): usize; + + export namespace atomic { + /** Performs a wait operation on a 32-bit integer value in memory suspending this agent if the condition is met. */ + export function wait32(ptr: usize, expected: i32, timeout?: i64): AtomicWaitResult; + /** Performs a wait operation on a 64-bit integer value in memory suspending this agent if the condition is met. */ + export function wait64(ptr: usize, expected: i64, timeout?: i64): AtomicWaitResult; + } +} + +/** Heap memory interface. */ +declare namespace heap { + /** Allocates a chunk of memory of at least the specified size. */ + export function alloc(size: usize): usize; + /** Reallocates a chunk of memory to have at least the specified size. */ + export function realloc(ptr: usize, size: usize): usize; + /** Frees a chunk of memory. Does hardly anything (most recent block only) with the stub/none runtime. */ + export function free(ptr: usize): void; +} + +/** Table operations. */ +declare namespace table { + /** Copies elements from a passive element segment to a table. */ + export function init(elementIndex: u32, srcOffset: u32, dstOffset: u32, n: u32): void; + /** Prevents further use of a passive element segment. */ + export function drop(elementIndex: u32): void; + /** Copies elements from one region of a table to another region. */ + export function copy(dest: u32, src: u32, n: u32): void; +} + +declare namespace Atomics { + export function load(array: TypedArray, index: i32): T; + export function store(array: TypedArray, index: i32, value: T): void; + export function add(array: TypedArray, index: i32, value: T): T; + export function sub(array: TypedArray, index: i32, value: T): T; + export function and(array: TypedArray, index: i32, value: T): T; + export function or(array: TypedArray, index: i32, value: T): T; + export function xor(array: TypedArray, index: i32, value: T): T; + export function exchange(array: TypedArray, index: i32, value: T): T; + export function compareExchange(array: TypedArray, index: i32, expectedValue: T, replacementValue: T): T; + export function wait(array: TypedArray, value: T, timeout?: i64): AtomicWaitResult; + export function notify(array: TypedArray, index: i32, count?: i32): i32; + /** The static Atomics.isLockFree() method is used to determine whether to use locks or atomic operations. It returns true, if the given size is one of the BYTES_PER_ELEMENT */ + export function isLockFree(size: usize): bool; +} + +/** Class representing a generic, fixed-length raw binary data buffer. */ +declare class ArrayBuffer { + /** The size, in bytes, of the array. */ + readonly byteLength: i32; + /** Returns true if value is one of the ArrayBuffer views, such as typed array or a DataView **/ + static isView(value: T): bool; + /** Constructs a new array buffer of the given length in bytes. */ + constructor(length: i32); + /** Returns a copy of this array buffer's bytes from begin, inclusive, up to end, exclusive. */ + slice(begin?: i32, end?: i32): ArrayBuffer; + /** Returns a string representation of ArrayBuffer. */ + toString(): string; +} + +/** The `DataView` view provides a low-level interface for reading and writing multiple number types in a binary `ArrayBuffer`, without having to care about the platform's endianness. */ +declare class DataView { + /** The `buffer` accessor property represents the `ArrayBuffer` or `SharedArrayBuffer` referenced by the `DataView` at construction time. */ + readonly buffer: ArrayBuffer; + /** Returns raw pointer to data storage including offset (unsafe). */ + readonly dataStart: usize; + /** The `byteLength` accessor property represents the length (in bytes) of this view from the start of its `ArrayBuffer` or `SharedArrayBuffer`. */ + readonly byteLength: i32; + /** The `byteOffset` accessor property represents the offset (in bytes) of this view from the start of its `ArrayBuffer` or `SharedArrayBuffer`. */ + readonly byteOffset: i32; + /** Constructs a new `DataView` with the given properties */ + constructor(buffer: ArrayBuffer, byteOffset?: i32, byteLength?: i32); + /** The `getFloat32()` method gets a signed 32-bit float (float) at the specified byte offset from the start of the `DataView`. */ + getFloat32(byteOffset: i32, littleEndian?: bool): f32; + /** The `getFloat64()` method gets a signed 64-bit float (double) at the specified byte offset from the start of the `DataView`. */ + getFloat64(byteOffset: i32, littleEndian?: bool): f64; + /** The `getInt8()` method gets a signed 8-bit integer (byte) at the specified byte offset from the start of the `DataView`. */ + getInt8(byteOffset: i32): i8; + /** The `getInt16()` method gets a signed 16-bit integer (short) at the specified byte offset from the start of the `DataView`. */ + getInt16(byteOffset: i32, littleEndian?: bool): i16; + /** The `getInt32()` method gets a signed 32-bit integer (long) at the specified byte offset from the start of the `DataView`. */ + getInt32(byteOffset: i32, littleEndian?: bool): i32; + /** The `getInt64()` method gets a signed 64-bit integer (long long) at the specified byte offset from the start of the `DataView`. */ + getInt64(byteOffset: i32, littleEndian?: bool): i64; + /** The `getUint8()` method gets an unsigned 8-bit integer (unsigned byte) at the specified byte offset from the start of the `DataView`. */ + getUint8(byteOffset: i32): u8; + /** The `getUint16()` method gets an unsigned 16-bit integer (unsigned short) at the specified byte offset from the start of the `DataView`. */ + getUint16(byteOffset: i32, littleEndian?: bool): u16; + /** The `getUint32()` method gets an unsigned 32-bit integer (unsigned long) at the specified byte offset from the start of the `DataView`. */ + getUint32(byteOffset: i32, littleEndian?: bool): u32; + /** The `getUint64()` method gets an unsigned 64-bit integer (unsigned long long) at the specified byte offset from the start of the `DataView`. */ + getUint64(byteOffset: i32, littleEndian?: bool): u64; + /** The `setFloat32()` method stores a signed 32-bit float (float) value at the specified byte offset from the start of the `DataView`. */ + setFloat32(byteOffset: i32, value: f32, littleEndian?: bool): void; + /** The `setFloat64()` method stores a signed 64-bit float (double) value at the specified byte offset from the start of the `DataView`. */ + setFloat64(byteOffset: i32, value: f64, littleEndian?: bool): void; + /** The `setInt8()` method stores a signed 8-bit integer (byte) value at the specified byte offset from the start of the `DataView`. */ + setInt8(byteOffset: i32, value: i8): void; + /** The `setInt16()` method stores a signed 16-bit integer (short) value at the specified byte offset from the start of the `DataView`. */ + setInt16(byteOffset: i32, value: i16, littleEndian?: bool): void; + /** The `setInt32()` method stores a signed 32-bit integer (long) value at the specified byte offset from the start of the `DataView`. */ + setInt32(byteOffset: i32, value: i32, littleEndian?: bool): void; + /** The `setInt64()` method stores a signed 64-bit integer (long long) value at the specified byte offset from the start of the `DataView`. */ + setInt64(byteOffset: i32, value: i64, littleEndian?: bool): void; + /** The `setUint8()` method stores an unsigned 8-bit integer (byte) value at the specified byte offset from the start of the `DataView`. */ + setUint8(byteOffset: i32, value: u8): void; + /** The `setUint16()` method stores an unsigned 16-bit integer (unsigned short) value at the specified byte offset from the start of the `DataView`. */ + setUint16(byteOffset: i32, value: u16, littleEndian?: bool): void; + /** The `setUint32()` method stores an unsigned 32-bit integer (unsigned long) value at the specified byte offset from the start of the `DataView`. */ + setUint32(byteOffset: i32, value: u32, littleEndian?: bool): void; + /** The `setUint64()` method stores an unsigned 64-bit integer (unsigned long long) value at the specified byte offset from the start of the `DataView`. */ + setUint64(byteOffset: i32, value: u64, littleEndian?: bool): void; + /** Returns a string representation of DataView. */ + toString(): string; +} + +interface ArrayLike { + [key: number]: T; + length: i32; +} + +/** Interface for a typed view on an array buffer. */ +interface ArrayBufferView { + /** The {@link ArrayBuffer} referenced by this view. */ + readonly buffer: ArrayBuffer; + /** The offset in bytes from the start of the referenced {@link ArrayBuffer}. */ + readonly byteOffset: i32; + /** The length in bytes from the start of the referenced {@link ArrayBuffer}. */ + readonly byteLength: i32; + /** Returns raw pointer to data storage including offset (unsafe). */ + readonly dataStart: usize; +} + +/** @internal */ +declare abstract class TypedArray implements ArrayBufferView { + [key: number]: T; + /** Number of bytes per element. */ + static readonly BYTES_PER_ELEMENT: usize; + /** Constructs a new typed array. */ + constructor(length: i32); + /** The {@link ArrayBuffer} referenced by this view. */ + readonly buffer: ArrayBuffer; + /** The offset in bytes from the start of the referenced {@link ArrayBuffer}. */ + readonly byteOffset: i32; + /** The length in bytes from the start of the referenced {@link ArrayBuffer}. */ + readonly byteLength: i32; + /** Returns raw pointer to data storage including offset (unsafe). */ + readonly dataStart: usize; + /** The length (in elements). */ + readonly length: i32; + /** Returns value using relative indexing. Index may be negative */ + at(index: i32): T; + /** The includes() method determines whether a typed array includes a certain element, returning true or false as appropriate. */ + includes(searchElement: T, fromIndex?: i32): bool; + /** The indexOf() method returns the first index at which a given element can be found in the typed array, or -1 if it is not present. */ + indexOf(searchElement: T, fromIndex?: i32): i32; + /** The lastIndexOf() method returns the last index at which a given element can be found in the typed array, or -1 if it is not present. The typed array is searched backwards, starting at fromIndex. */ + lastIndexOf(searchElement: T, fromIndex?: i32): i32; + /** Returns copied section of an TypedArray from begin inclusive to end exclusive */ + slice(begin?: i32, end?: i32): TypedArray; + /** Returns a new TypedArray of this type on the same ArrayBuffer from begin inclusive to end exclusive. */ + subarray(begin?: i32, end?: i32): TypedArray; + /** The copyWithin() method copies the sequence of array elements within the array to the position starting at target. The copy is taken from the index positions of the second and third arguments start and end. The end argument is optional and defaults to the length of the array. */ + copyWithin(target: i32, start: i32, end?: i32): this; + /** The reduce() method applies a function against an accumulator and each value of the typed array (from left-to-right) has to reduce it to a single value. This method has the same algorithm as Array.prototype.reduce(). */ + reduce(callbackfn: (accumulator: U, value: T, index: i32, self: this) => U, initialValue: U): U; + /** The reduceRight() method applies a function against an accumulator and each value of the typed array (from left-to-right) has to reduce it to a single value, starting from the end of the array. This method has the same algorithm as Array.prototype.reduceRight(). */ + reduceRight(callbackfn: (accumulator: U, value: T, index: i32, self: this) => U, initialValue: U): U; + /** The some() method tests whether some element in the typed array passes the test implemented by the provided function. This method has the same algorithm as Array.prototype.some().*/ + some(callbackfn: (value: T, index: i32, self: this) => bool): bool; + /** The map() method creates a new typed array with the results of calling a provided function on every element in this typed array. This method has the same algorithm as Array.prototype.map().*/ + map(callbackfn: (value: T, index: i32, self: this) => T): TypedArray; + /** The filter() method creates a new typed array with all elements that pass the test implemented by the provided function. This method has the same algorithm as Array.prototype.filter(). */ + filter(callbackfn: (value: T, index: i32, self: this) => bool): TypedArray; + /** The sort() method sorts the elements of a typed array numerically in place and returns the typed array. This method has the same algorithm as Array.prototype.sort(), except that sorts the values numerically instead of as strings. TypedArray is one of the typed array types here. */ + sort(callback?: (a: T, b: T) => i32): this; + /** The fill() method fills all the elements of a typed array from a start index to an end index with a static value. This method has the same algorithm as Array.prototype.fill(). */ + fill(value: T, start?: i32, end?: i32): this; + /** The findIndex() method returns an index in the typed array, if an element in the typed array satisfies the provided testing function. Otherwise -1 is returned. See also the find() [not implemented] method, which returns the value of a found element in the typed array instead of its index. */ + findIndex(callbackfn: (value: T, index: i32, self: this) => bool): i32; + /** The findLastIndex() method returns an index start searching from the end in the typed array, if an element in the typed array satisfies the provided testing function. Otherwise -1 is returned. See also the find() [not implemented] method, which returns the value of a found element in the typed array instead of its index. */ + findLastIndex(callbackfn: (value: T, index: i32, self: this) => bool): i32; + /** The every() method tests whether all elements in the typed array pass the test implemented by the provided function. This method has the same algorithm as Array.prototype.every(). */ + every(callbackfn: (value: T, index: i32, self: this) => bool): bool; + /** The forEach() method executes a provided function once per array element. This method has the same algorithm as Array.prototype.forEach().*/ + forEach(callbackfn: (value: T, index: i32, self: this) => void): void; + /** The reverse() method reverses a typed array in place. The first typed array element becomes the last and the last becomes the first. This method has the same algorithm as Array.prototype.reverse(). */ + reverse(): this; + /** The join() method joins all elements of an array into a string. This method has the same algorithm as Array.prototype.join(). */ + join(separator?: string): string; + /** The set() method stores multiple values in the typed array, reading input values from a specified array. */ + set>(source: U, offset?: i32): void + /** The toString() method returns a string representing the specified array and its elements. This method has the same algorithm as Array.prototype.toString() */ + toString(): string; +} + +/** An array of twos-complement 8-bit signed integers. */ +declare class Int8Array extends TypedArray { + /** Wrap an ArrayBuffer */ + static wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Int8Array; +} +/** An array of 8-bit unsigned integers. */ +declare class Uint8Array extends TypedArray { + /** Wrap an ArrayBuffer */ + static wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Uint8Array; +} +/** A clamped array of 8-bit unsigned integers. */ +declare class Uint8ClampedArray extends TypedArray { + /** Wrap an ArrayBuffer */ + static wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Uint8ClampedArray; +} +/** An array of twos-complement 16-bit signed integers. */ +declare class Int16Array extends TypedArray { + /** Wrap an ArrayBuffer */ + static wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Int16Array; +} +/** An array of 16-bit unsigned integers. */ +declare class Uint16Array extends TypedArray { + /** Wrap an ArrayBuffer */ + static wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Uint16Array; +} +/** An array of twos-complement 32-bit signed integers. */ +declare class Int32Array extends TypedArray { + /** Wrap an ArrayBuffer */ + static wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Int32Array; +} +/** An array of 32-bit unsigned integers. */ +declare class Uint32Array extends TypedArray { + /** Wrap an ArrayBuffer */ + static wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Uint32Array; +} +/** An array of twos-complement 64-bit signed integers. */ +declare class Int64Array extends TypedArray { + /** Wrap an ArrayBuffer */ + static wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Int64Array; +} +/** An array of 64-bit unsigned integers. */ +declare class Uint64Array extends TypedArray { + /** Wrap an ArrayBuffer */ + static wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Uint64Array; +} +/** An array of 32-bit floating point numbers. */ +declare class Float32Array extends TypedArray { + /** Wrap an ArrayBuffer */ + static wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Float32Array; +} +/** An array of 64-bit floating point numbers. */ +declare class Float64Array extends TypedArray { + /** Wrap an ArrayBuffer */ + static wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Float64Array; +} + +/** Class representing a sequence of values of type `T`. */ +declare class Array { + + /** Tests if a value is an array. */ + static isArray(value: any): value is Array; + + [key: number]: T; + /** Current length of the array. */ + length: i32; + /** Returns raw pointer to data storage (unsafe). */ + readonly dataStart: usize; + /** Constructs a new array. */ + constructor(length?: i32); + at(index: i32): T; + fill(value: T, start?: i32, end?: i32): this; + findIndex(callbackfn: (value: T, index: i32, array: Array) => bool): i32; + findLastIndex(callbackfn: (value: T, index: i32, array: Array) => bool): i32; + includes(searchElement: T, fromIndex?: i32): bool; + indexOf(searchElement: T, fromIndex?: i32): i32; + lastIndexOf(searchElement: T, fromIndex?: i32): i32; + push(element: T): i32; + concat(items: T[]): T[]; + copyWithin(target: i32, start: i32, end?: i32): this; + pop(): T; + forEach(callbackfn: (value: T, index: i32, array: Array) => void): void; + map(callbackfn: (value: T, index: i32, array: Array) => U): Array; + filter(callbackfn: (value: T, index: i32, array: Array) => bool): Array; + reduce(callbackfn: (previousValue: U, currentValue: T, currentIndex: i32, array: Array) => U, initialValue: U): U; + reduceRight(callbackfn: (previousValue: U, currentValue: T, currentIndex: i32, array: Array) => U, initialValue: U): U; + every(callbackfn: (value: T, index: i32, array: Array) => bool): bool; + some(callbackfn: (value: T, index: i32, array: Array) => bool): bool; + shift(): T; + unshift(element: T): i32; + slice(from?: i32, to?: i32): Array; + splice(start: i32, deleteCount?: i32): Array; + sort(comparator?: (a: T, b: T) => i32): this; + join(separator?: string): string; + reverse(): this; + /** Flattens an array of arrays. If any null entries exist in the array, they are ignored, unlike JavaScript's version of Array#flat(). */ + flat(): T extends unknown[] ? T : never; + toString(): string; +} + +/** Class representing a static (not resizable) sequence of values of type `T`. This class is @final. */ +declare class StaticArray { + [key: number]: T; + static fromArray(source: Array): StaticArray; + /** @deprecated */ + static concat(source: StaticArray, other: StaticArray): StaticArray; + /** @deprecated */ + static slice(source: StaticArray, start?: i32, end?: i32): StaticArray; + readonly length: i32; + constructor(length?: i32); + at(index: i32): T; + fill(value: T, start?: i32, end?: i32): this; + findIndex(callbackfn: (value: T, index: i32, array: StaticArray) => bool): i32; + findLastIndex(callbackfn: (value: T, index: i32, array: StaticArray) => bool): i32; + copyWithin(target: i32, start: i32, end?: i32): this; + includes(searchElement: T, fromIndex?: i32): bool; + indexOf(searchElement: T, fromIndex?: i32): i32; + lastIndexOf(searchElement: T, fromIndex?: i32): i32; + forEach(callbackfn: (value: T, index: i32, array: StaticArray) => void): void; + map(callbackfn: (value: T, index: i32, array: StaticArray) => U): Array; + filter(callbackfn: (value: T, index: i32, array: StaticArray) => bool): Array; + reduce(callbackfn: (previousValue: U, currentValue: T, currentIndex: i32, array: StaticArray) => U, initialValue: U): U; + reduceRight(callbackfn: (previousValue: U, currentValue: T, currentIndex: i32, array: StaticArray) => U, initialValue: U): U; + every(callbackfn: (value: T, index: i32, array: StaticArray) => bool): bool; + some(callbackfn: (value: T, index: i32, array: StaticArray) => bool): bool; + concat(items: Array): Array; + concat>(other: U): U; + slice(from?: i32, to?: i32): Array; + slice>(from?: i32, to?: i32): U; + sort(comparator?: (a: T, b: T) => i32): this; + join(separator?: string): string; + reverse(): this; + toString(): string; +} + +/** Class representing a sequence of characters. */ +declare class String { + static fromCharCode(ls: i32, hs?: i32): string; + static fromCharCodes(arr: i32[]): string; + static fromCodePoint(code: i32): string; + static fromCodePoints(arr: i32[]): string; + static raw(parts: TemplateStringsArray, ...args: any[]): string; + readonly length: i32; + at(index: i32): string; + charAt(index: i32): string; + charCodeAt(index: i32): i32; + codePointAt(index: i32): i32; + concat(other: string): string; + endsWith(other: string): bool; + indexOf(other: string, fromIndex?: i32): i32; + lastIndexOf(other: string, fromIndex?: i32): i32; + localeCompare(other: string): i32; + includes(other: string): bool; + startsWith(other: string): bool; + substr(start: i32, length?: i32): string; + substring(start: i32, end?: i32): string; + trim(): string; + trimLeft(): string; + trimRight(): string; + trimStart(): string; + trimEnd(): string; + padStart(targetLength: i32, padString?: string): string; + padEnd(targetLength: i32, padString?: string): string; + repeat(count?: i32): string; + replace(search: string, replacement: string): string; + replaceAll(search: string, replacement: string): string; + slice(beginIndex: i32, endIndex?: i32): string; + split(separator?: string, limit?: i32): string[]; + toLowerCase(): string; + toUpperCase(): string; + toString(): string; +} + +declare namespace String { + /** Encoding helpers for UTF-8. */ + export namespace UTF8 { + /** UTF-8 encoding error modes. */ + export const enum ErrorMode { + /** Keeps unpaired surrogates as of WTF-8. This is the default. */ + WTF8, + /** Replaces unpaired surrogates with the replacement character (U+FFFD). */ + REPLACE, + /** Throws an error on unpaired surrogates. */ + ERROR + } + /** Calculates the byte length of the specified string when encoded as UTF-8, optionally null terminated. */ + export function byteLength(str: string, nullTerminated?: bool): i32; + /** Encodes the specified string to UTF-8 bytes, optionally null terminated. ErrorMode defaults to WTF-8. */ + export function encode(str: string, nullTerminated?: bool, errorMode?: ErrorMode): ArrayBuffer; + /** Encodes the specified raw string to UTF-8 bytes, opionally null terminated. ErrorMode defaults to WTF-8. Returns the number of bytes written. */ + export function encodeUnsafe(str: usize, len: i32, buf: usize, nullTerminated?: bool, errorMode?: ErrorMode): usize; + /** Decodes the specified buffer from UTF-8 bytes to a string, optionally null terminated. */ + export function decode(buf: ArrayBuffer, nullTerminated?: bool): string; + /** Decodes raw UTF-8 bytes to a string, optionally null terminated. */ + export function decodeUnsafe(buf: usize, len: usize, nullTerminated?: bool): string; + } + /** Encoding helpers for UTF-16. */ + export namespace UTF16 { + /** Calculates the byte length of the specified string when encoded as UTF-16. */ + export function byteLength(str: string): i32; + /** Encodes the specified string to UTF-16 bytes. */ + export function encode(str: string): ArrayBuffer; + /** Encodes the specified raw string to UTF-16 bytes. Returns the number of bytes written. */ + export function encodeUnsafe(str: usize, len: i32, buf: usize): usize; + /** Decodes the specified buffer from UTF-16 bytes to a string. */ + export function decode(buf: ArrayBuffer): string; + /** Decodes raw UTF-16 bytes to a string. */ + export function decodeUnsafe(buf: usize, len: usize): string; + } +} + +declare class TemplateStringsArray extends Array { + readonly raw: string[]; +} + +declare class Object { + /** The Object.is() method determines whether two values are the same value. */ + static is(value1: T, value2: T): bool; +} + +declare namespace performance { + /** Gets a high resolution timestamp measured in milliseconds. */ + export function now(): f64; +} + +declare class Date { + /** Returns the UTC timestamp in milliseconds of the specified date. */ + static UTC( + year: i32, + month: i32, + day: i32, + hour: i32, + minute: i32, + second: i32, + millisecond: i32 + ): i64; + /** Returns the current UTC timestamp in milliseconds. */ + static now(): i64; + /** Parses a string representation of a date, and returns the number of milliseconds since January 1, 1970, 00:00:00 UTC. */ + static parse(dateString: string): Date; + static fromString(dateString: string): Date; + /** Constructs a new date object from an UTC timestamp in milliseconds. */ + constructor(value: i64); + /** Returns the UTC timestamp of this date in milliseconds. */ + getTime(): i64; + /** Sets the UTC timestamp of this date in milliseconds. */ + setTime(value: i64): i64; + + getUTCFullYear(): i32; + getUTCMonth(): i32; + getUTCDate(): i32; + getUTCDay(): i32; + getUTCHours(): i32; + getUTCMinutes(): i32; + getUTCSeconds(): i32; + getUTCMilliseconds(): i32; + + setUTCFullYear(value: i32): void; + setUTCMonth(value: i32, day?: i32): void; + setUTCDate(value: i32): void; + setUTCHours(value: i32): void; + setUTCMinutes(value: i32): void; + setUTCSeconds(value: i32): void; + setUTCMilliseconds(value: i32): void; + + toString(): string; + toISOString(): string; + toUTCString(): string; + toDateString(): string; + toTimeString(): string; +} + +/** Class for representing a runtime error. Base class of all errors. */ +declare class Error { + + /** Error name. */ + name: string; + + /** Message provided on construction. */ + message: string; + + /** Stack trace. */ + stack?: string; + + /** Constructs a new error, optionally with a message. */ + constructor(message?: string); + + /** Method returns a string representing the specified Error class. */ + toString(): string; +} + +/** Class for indicating an error when a value is not in the set or range of allowed values. */ +declare class RangeError extends Error { } + +/** Class for indicating an error when a value is not of the expected type. */ +declare class TypeError extends Error { } + +/** Class for indicating an error when trying to interpret syntactically invalid code. */ +declare class SyntaxError extends Error { } + +/** Class for indicating an error when a global URI handling function was used in a wrong way. */ +declare class URIError extends Error { } + +interface Function { + /** Function table index. */ + readonly index: u32; + /** Function name. Always an empty string. */ + readonly name: string; + /** Number of expected parameters. */ + readonly length: u32; + /** Calls this function indirectly with the specified arguments. */ + call(thisArg: unknown, ...args: unknown[]): any; + /** Returns a string representation of this function. */ + toString(): string; +} + +/** + * Extracts the type of the 'this' parameter of a function type, or 'unknown' if the function type has no 'this' parameter. + */ +type ThisParameterType = T extends (this: infer U, ...args: never) => any ? U : unknown; + +/** + * Removes the 'this' parameter from a function type. + */ +type OmitThisParameter = unknown extends ThisParameterType ? T : T extends (...args: infer A) => infer R ? (...args: A) => R : T; + +interface CallableFunction extends Function { + /** + * Calls the function with the specified object as the this value and the elements of specified array as the arguments. + * @param thisArg The object to be used as the this object. + */ + apply(this: (this: T) => R, thisArg: T): R; + + /** + * Calls the function with the specified object as the this value and the elements of specified array as the arguments. + * @param thisArg The object to be used as the this object. + * @param args An array of argument values to be passed to the function. + */ + apply(this: (this: T, ...args: A) => R, thisArg: T, args: A): R; + + /** + * Calls the function with the specified object as the this value and the specified rest arguments as the arguments. + * @param thisArg The object to be used as the this object. + * @param args Argument values to be passed to the function. + */ + call(this: (this: T, ...args: A) => R, thisArg: T, ...args: A): R; + + /** + * For a given function, creates a bound function that has the same body as the original function. + * The this object of the bound function is associated with the specified object, and has the specified initial parameters. + * @param thisArg The object to be used as the this object. + */ + bind(this: T, thisArg: ThisParameterType): OmitThisParameter; + + /** + * For a given function, creates a bound function that has the same body as the original function. + * The this object of the bound function is associated with the specified object, and has the specified initial parameters. + * @param thisArg The object to be used as the this object. + * @param args Arguments to bind to the parameters of the function. + */ + bind(this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; +} + +interface NewableFunction extends Function { + /** + * Calls the function with the specified object as the this value and the elements of specified array as the arguments. + * @param thisArg The object to be used as the this object. + */ + apply(this: new () => T, thisArg: T): void; + /** + * Calls the function with the specified object as the this value and the elements of specified array as the arguments. + * @param thisArg The object to be used as the this object. + * @param args An array of argument values to be passed to the function. + */ + apply(this: new (...args: A) => T, thisArg: T, args: A): void; + + /** + * Calls the function with the specified object as the this value and the specified rest arguments as the arguments. + * @param thisArg The object to be used as the this object. + * @param args Argument values to be passed to the function. + */ + call(this: new (...args: A) => T, thisArg: T, ...args: A): void; + + /** + * For a given function, creates a bound function that has the same body as the original function. + * The this object of the bound function is associated with the specified object, and has the specified initial parameters. + * @param thisArg The object to be used as the this object. + */ + bind(this: T, thisArg: any): T; + + /** + * For a given function, creates a bound function that has the same body as the original function. + * The this object of the bound function is associated with the specified object, and has the specified initial parameters. + * @param thisArg The object to be used as the this object. + * @param args Arguments to bind to the parameters of the function. + */ + bind(this: new (...args: [...A, ...B]) => R, thisArg: any, ...args: A): new (...args: B) => R; +} + +interface IArguments {} +interface RegExp {} + +declare class Map { + readonly size: i32; + has(key: K): bool; + set(key: K, value: V): this; + get(key: K): V; + delete(key: K): bool; + clear(): void; + keys(): K[]; // preliminary + values(): V[]; // preliminary + toString(): string; +} + +declare class Set { + readonly size: i32; + has(value: K): bool; + add(value: K): this; + delete(value: K): bool; + clear(): void; + values(): K[]; // preliminary + toString(): string; +} + +interface SymbolConstructor { + readonly hasInstance: symbol; + readonly isConcatSpreadable: symbol; + readonly isRegExp: symbol; + readonly iterator: symbol; + readonly match: symbol; + readonly replace: symbol; + readonly search: symbol; + readonly species: symbol; + readonly split: symbol; + readonly toPrimitive: symbol; + readonly toStringTag: symbol; + readonly unscopables: symbol; + (description?: string | null): symbol; + for(key: string): symbol; + keyFor(sym: symbol): string | null; +} + +declare const Symbol: SymbolConstructor; + +/** @internal */ +interface IMath { + /** The base of natural logarithms, e, approximately 2.718. */ + readonly E: T; + /** The natural logarithm of 2, approximately 0.693. */ + readonly LN2: T; + /** The natural logarithm of 10, approximately 2.302. */ + readonly LN10: T; + /** The base 2 logarithm of e, approximately 1.442. */ + readonly LOG2E: T; + /** The base 10 logarithm of e, approximately 0.434. */ + readonly LOG10E: T; + /** The ratio of the circumference of a circle to its diameter, approximately 3.14159. */ + readonly PI: T; + /** The square root of 1/2, approximately 0.707. */ + readonly SQRT1_2: T; + /** The square root of 2, approximately 1.414. */ + readonly SQRT2: T; + /** Returns the absolute value of `x`. */ + abs(x: T): T; + /** Returns the arccosine (in radians) of `x`. */ + acos(x: T): T; + /** Returns the hyperbolic arc-cosine of `x`. */ + acosh(x: T): T; + /** Returns the arcsine (in radians) of `x`. */ + asin(x: T): T; + /** Returns the hyperbolic arcsine of `x`. */ + asinh(x: T): T; + /** Returns the arctangent (in radians) of `x`. */ + atan(x: T): T; + /** Returns the arctangent of the quotient of its arguments. */ + atan2(y: T, x: T): T; + /** Returns the hyperbolic arctangent of `x`. */ + atanh(x: T): T; + /** Returns the cube root of `x`. */ + cbrt(x: T): T; + /** Returns the smallest integer greater than or equal to `x`. */ + ceil(x: T): T; + /** Returns the number of leading zero bits in the 32-bit binary representation of `x`. */ + clz32(x: T): T; + /** Returns the cosine (in radians) of `x`. */ + cos(x: T): T; + /** Returns the hyperbolic cosine of `x`. */ + cosh(x: T): T; + /** Returns e to the power of `x`. */ + exp(x: T): T; + /** Returns e to the power of `x`, minus 1. */ + expm1(x: T): T; + /** Returns the largest integer less than or equal to `x`. */ + floor(x: T): T; + /** Returns the nearest 32-bit single precision float representation of `x`. */ + fround(x: T): T; + /** Returns the square root of the sum of squares of its arguments. */ + hypot(value1: T, value2: T): T; // TODO: rest + /** Returns the result of the C-like 32-bit multiplication of `a` and `b`. */ + imul(a: T, b: T): T; + /** Returns the natural logarithm (base e) of `x`. */ + log(x: T): T; + /** Returns the base 10 logarithm of `x`. */ + log10(x: T): T; + /** Returns the natural logarithm (base e) of 1 + `x`. */ + log1p(x: T): T; + /** Returns the base 2 logarithm of `x`. */ + log2(x: T): T; + /** Returns the largest-valued number of its arguments. */ + max(value1: T, value2: T): T; // TODO: rest + /** Returns the lowest-valued number of its arguments. */ + min(value1: T, value2: T): T; // TODO: rest + /** Returns `base` to the power of `exponent`. */ + pow(base: T, exponent: T): T; + /** Returns a pseudo-random number in the range from 0.0 inclusive up to but not including 1.0. */ + random(): T; + /** Returns the value of `x` rounded to the nearest integer. */ + round(x: T): T; + /** Returns the sign of `x`, indicating whether the number is positive, negative or zero. */ + sign(x: T): T; + /** Returns whether the sign bit of `x` is set. */ + signbit(x: T): bool; + /** Returns the sine of `x`. */ + sin(x: T): T; + /** Returns the hyperbolic sine of `x`. */ + sinh(x: T): T; + /** Returns the square root of `x`. */ + sqrt(x: T): T; + /** Returns the tangent of `x`. */ + tan(x: T): T; + /** Returns the hyperbolic tangent of `x`. */ + tanh(x: T): T; + /** Returns the integer part of `x` by removing any fractional digits. */ + trunc(x: T): T; +} + +/** @internal */ +interface INativeMath extends IMath { + /** Contains sin value produced after Math/Mathf.sincos */ + sincos_sin: T; + /** Contains cos value produced after Math/Mathf.sincos */ + sincos_cos: T; + /** Seeds the random number generator. */ + seedRandom(value: i64): void; + /** Multiplies a floating point `x` by 2 raised to power exp `n`. */ + scalbn(x: T, n: i32): T; + /** Returns the floating-point remainder of `x / y` (rounded towards zero). */ + mod(x: T, y: T): T; + /** Returns the floating-point remainder of `x / y` (rounded to nearest). */ + rem(x: T, y: T): T; + /** Returns sin and cos simultaneously for same angle. Results stored to `sincos_s32/64` and `sincos_c32/64` globals */ + sincos(x: T): void; + /** Returns 2 raised to the given power x. Equivalent to 2 ** x. */ + exp2(x: T): T; +} + +/** Double precision math imported from JavaScript. */ +declare const JSMath: IMath; +/** Double precision math implemented natively. */ +declare const NativeMath: INativeMath; +/** Single precision math implemented natively. */ +declare const NativeMathf: INativeMath; +/** Alias of {@link NativeMath} or {@link JSMath} respectively. Defaults to `NativeMath`. */ +declare const Math: IMath; +/** Alias of {@link NativeMathf} or {@link JSMath} respectively. Defaults to `NativeMathf`. */ +declare const Mathf: IMath; + +/** Environmental abort function. */ +declare function abort(msg?: string | null, fileName?: string | null, lineNumber?: i32, columnNumber?: i32): never; +/** Environmental tracing function. */ +declare function trace(msg: string, n?: i32, a0?: f64, a1?: f64, a2?: f64, a3?: f64, a4?: f64): void; +/** Environmental seeding function. */ +declare function seed(): f64; + +/** Node-like process. */ +declare namespace process { + /** String representing the CPU architecture for which the binary was compiled. Either `wasm32` or `wasm64`. */ + export const arch: string; + /** String representing the operating system platform for which the binary was compiled. Always `wasm`. */ + export const platform: string; + /** Array of command line arguments passed to the binary upon instantiation. */ + export const argv: string[]; + /** Map of variables in the binary's user environment. */ + export const env: Map; + /** Terminates the process with either the given exit code, or `process.exitCode` if omitted. */ + export function exit(code?: i32): void; + /** `exit()`’s default value. Defaults to `0`. */ + export let exitCode: i32; + /** Stream connected to `stdin` (fd `0`). */ + export const stdin: ReadableStream; + /** Stream connected to `stdout` (fd `1`). */ + export const stdout: WritableStream; + /** Stream connected to `stderr` (fd `2`). */ + export const stderr: WritableStream; + /** Obtains the system's current time of day, in milliseconds since Unix epoch. */ + export function time(): i64; + /** Obtains the system's monotonic high resolution time, in nanoseconds since an arbitrary time in the past. */ + export function hrtime(): u64; + + interface Stream { + /** Closes the stream. Throws if already closed or if the stream cannot be closed. */ + close(): void; + } + interface ReadableStream extends Stream { + /** Reads available data from the stream, into `buffer` at offset `offset`, returning the number of bytes read. */ + read(buffer: ArrayBuffer, offset?: isize): i32; + } + interface WritableStream extends Stream { + /** Writes string or buffer to the stream. */ + write(data: T): void; + } +} + +/** Browser-like console. */ +declare namespace console { + /** Logs `message` to console if `assertion` is false-ish. */ + export function assert(assertion: T, message?: string): void; + /** Outputs `message` to the console. */ + export function log(message?: string): void; + /** Outputs `message` to the console, prefixed with "Debug:". */ + export function debug(message?: string): void; + /** Outputs `message` to the console, prefixed with "Info:". */ + export function info(message?: string): void; + /** Outputs `message` to the console, prefixed with "Warning:". */ + export function warn(message?: string): void; + /** Outputs `message` to the console, prefixed with "Error:". */ + export function error(message?: string): void; + /** Starts a new timer using the specified `label`. */ + export function time(label?: string): void; + /** Logs the current value of a timer previously started with `console.time`. */ + export function timeLog(label?: string): void; + /** Logs the current value of a timer previously started with `console.time` and discards the timer. */ + export function timeEnd(label?: string): void; +} + +/** Browser-like crypto utilities. */ +declare namespace crypto { + /** Fills `array` with cryptographically strong random values. */ + export function getRandomValues(array: Uint8Array): void; +} + +// Decorators + +interface TypedPropertyDescriptor { + configurable?: boolean; + enumerable?: boolean; + writable?: boolean; + value?: T; + get?(): T; + set?(value: T): void; +} + +type Constructor = + (new (...args: any[]) => unknown) + | (abstract new (...args: any[]) => unknown); + +/** Annotates a method as a binary operator overload for the specified `token`. */ +declare function operator(token: + "[]" | "[]=" | "{}" | "{}=" | "==" | "!=" | ">" | "<" | "<=" | ">=" | + ">>" | ">>>" | "<<" | "&" | "|" | "^" | "+" | "-" | "*" | "**" | "/" | "%" +): ( + target: any, + propertyKey: string, + descriptor: TypedPropertyDescriptor +) => TypedPropertyDescriptor | void; + +declare namespace operator { + /** Annotates a method as a binary operator overload for the specified `token`. */ + export function binary(token: + "[]" | "[]=" | "{}" | "{}=" | "==" | "!=" | ">" | "<" | "<=" | ">=" | + ">>" | ">>>" | "<<" | "&" | "|" | "^" | "+" | "-" | "*" | "**" | "/" | "%" + ): ( + target: any, + propertyKey: string, + descriptor: TypedPropertyDescriptor + ) => TypedPropertyDescriptor | void; + /** Annotates a method as an unary prefix operator overload for the specified `token`. */ + export function prefix(token: "!" | "~" | "+" | "-" | "++" | "--"): ( + target: any, + propertyKey: string, + descriptor: TypedPropertyDescriptor + ) => TypedPropertyDescriptor | void; + /** Annotates a method as an unary postfix operator overload for the specified `token`. */ + export function postfix(token: "++" | "--"): ( + target: any, + propertyKey: string, + descriptor: TypedPropertyDescriptor + ) => TypedPropertyDescriptor | void; +} + +/** Annotates an element as a program global. */ +declare function global(...args: any[]): any; + +/** Annotates a class as being unmanaged with limited capabilities. */ +declare function unmanaged(constructor: Constructor): void; + +/** Annotates a class as being final / non-derivable. */ +declare function final(constructor: Constructor): void; + +/** Annotates a method, function or constant global as always inlined. */ +declare function inline(...args: any[]): any; + +/** Annotates a method, function or constant global as unsafe. */ +declare function unsafe(...args: any[]): any; + +/** Annotates an explicit external name of a function or global. */ +declare function external(name: string): any; +declare function external(moduleName: string, name: string): any; +declare namespace external { + function js(code: string): any; +} + +/** Annotates a global for lazy compilation. */ +declare function lazy(...args: any[]): any; diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/iterator.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/iterator.ts new file mode 100644 index 00000000..95c87d69 --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/std/assembly/iterator.ts @@ -0,0 +1,35 @@ +export abstract class Iterable { + // ? +} + +@final +export abstract class Iterator { + + // private constructor(iterable: Iterable) { + // } + + // TODO: these need to evaluate the classId at the respective reference in order to obtain the + // next value, i.e. arrays work differently than maps. we'd then have: + // + // ╒═══════════════════ Iterator layout (32-bit) ══════════════════╕ + // 3 2 1 + // 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 bits + // ├─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┤ + // │ index │ + // ├─────────────────────────────────────────────────────────┬───┬─┤ + // │ reference │ 0 │D│ + // └─────────────────────────────────────────────────────────┴───┴─┘ + // D: Done flag + + // get value(this: u64): T { + // ? + // } + + // next(this: u64): Iterator { + // ? + // } + + done(this: u64): bool { + return (this & 1); + } +} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/map.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/map.ts new file mode 100644 index 00000000..ab7302f7 --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/std/assembly/map.ts @@ -0,0 +1,260 @@ +/// + +import { HASH } from "./util/hash"; +import { E_KEYNOTFOUND } from "./util/error"; + +// A deterministic hash map based on CloseTable from https://github.com/jorendorff/dht + +// @ts-ignore: decorator +@inline const INITIAL_CAPACITY = 4; + +// @ts-ignore: decorator +@inline const FILL_FACTOR_N = 8; + +// @ts-ignore: decorator +@inline const FILL_FACTOR_D = 3; + +// @ts-ignore: decorator +@inline const FREE_FACTOR_N = 3; + +// @ts-ignore: decorator +@inline const FREE_FACTOR_D = 4; + +/** Structure of a map entry. */ +@unmanaged class MapEntry { + key: K; + value: V; + taggedNext: usize; // LSB=1 indicates EMPTY +} + +/** Empty bit. */ +// @ts-ignore: decorator +@inline const EMPTY: usize = 1 << 0; + +/** Size of a bucket. */ +// @ts-ignore: decorator +@inline const BUCKET_SIZE = sizeof(); + +/** Computes the alignment of an entry. */ +// @ts-ignore: decorator +@inline +function ENTRY_ALIGN(): usize { + // can align to 4 instead of 8 if 32-bit and K/V is <= 32-bits + const maxkv = sizeof() > sizeof() ? sizeof() : sizeof(); + const align = (maxkv > sizeof() ? maxkv : sizeof()) - 1; + return align; +} + +/** Computes the aligned size of an entry. */ +// @ts-ignore: decorator +@inline +function ENTRY_SIZE(): usize { + const align = ENTRY_ALIGN(); + const size = (offsetof>() + align) & ~align; + return size; +} + +export class Map { + + // buckets referencing their respective first entry, usize[bucketsMask + 1] + private buckets: ArrayBuffer = new ArrayBuffer(INITIAL_CAPACITY * BUCKET_SIZE); + private bucketsMask: u32 = INITIAL_CAPACITY - 1; + + // entries in insertion order, MapEntry[entriesCapacity] + private entries: ArrayBuffer = new ArrayBuffer(INITIAL_CAPACITY * ENTRY_SIZE()); + private entriesCapacity: i32 = INITIAL_CAPACITY; + private entriesOffset: i32 = 0; + private entriesCount: i32 = 0; + + constructor() { + /* nop */ + } + + get size(): i32 { + return this.entriesCount; + } + + clear(): void { + this.buckets = new ArrayBuffer(INITIAL_CAPACITY * BUCKET_SIZE); + this.bucketsMask = INITIAL_CAPACITY - 1; + this.entries = new ArrayBuffer(INITIAL_CAPACITY * ENTRY_SIZE()); + this.entriesCapacity = INITIAL_CAPACITY; + this.entriesOffset = 0; + this.entriesCount = 0; + } + + private find(key: K, hashCode: u32): MapEntry | null { + let entry = load>( // unmanaged! + changetype(this.buckets) + (hashCode & this.bucketsMask) * BUCKET_SIZE + ); + while (entry) { + let taggedNext = entry.taggedNext; + if (!(taggedNext & EMPTY) && entry.key == key) return entry; + entry = changetype>(taggedNext & ~EMPTY); + } + return null; + } + + has(key: K): bool { + return this.find(key, HASH(key)) != null; + } + + @operator("[]") + get(key: K): V { + let entry = this.find(key, HASH(key)); + if (!entry) throw new Error(E_KEYNOTFOUND); // cannot represent `undefined` + return entry.value; + } + + @operator("[]=") + set(key: K, value: V): this { + let hashCode = HASH(key); + let entry = this.find(key, hashCode); // unmanaged! + if (entry) { + entry.value = value; + if (isManaged()) { + __link(changetype(this), changetype(value), true); + } + } else { + // check if rehashing is necessary + if (this.entriesOffset == this.entriesCapacity) { + this.rehash( + this.entriesCount < this.entriesCapacity * FREE_FACTOR_N / FREE_FACTOR_D + ? this.bucketsMask // just rehash if 1/4+ entries are empty + : (this.bucketsMask << 1) | 1 // grow capacity to next 2^N + ); + } + // append new entry + let entries = this.entries; + entry = changetype>(changetype(entries) + (this.entriesOffset++) * ENTRY_SIZE()); + // link with the map + entry.key = key; + if (isManaged()) { + __link(changetype(this), changetype(key), true); + } + entry.value = value; + if (isManaged()) { + __link(changetype(this), changetype(value), true); + } + ++this.entriesCount; + // link with previous entry in bucket + let bucketPtrBase = changetype(this.buckets) + (hashCode & this.bucketsMask) * BUCKET_SIZE; + entry.taggedNext = load(bucketPtrBase); + store(bucketPtrBase, changetype(entry)); + } + return this; + } + + delete(key: K): bool { + let entry = this.find(key, HASH(key)); + if (!entry) return false; + entry.taggedNext |= EMPTY; + --this.entriesCount; + // check if rehashing is appropriate + let halfBucketsMask = this.bucketsMask >> 1; + if ( + halfBucketsMask + 1 >= max(INITIAL_CAPACITY, this.entriesCount) && + this.entriesCount < this.entriesCapacity * FREE_FACTOR_N / FREE_FACTOR_D + ) this.rehash(halfBucketsMask); + return true; + } + + private rehash(newBucketsMask: u32): void { + let newBucketsCapacity = (newBucketsMask + 1); + let newBuckets = new ArrayBuffer(newBucketsCapacity * BUCKET_SIZE); + let newEntriesCapacity = newBucketsCapacity * FILL_FACTOR_N / FILL_FACTOR_D; + let newEntries = new ArrayBuffer(newEntriesCapacity * ENTRY_SIZE()); + + // copy old entries to new entries + let oldPtr = changetype(this.entries); + let oldEnd = oldPtr + this.entriesOffset * ENTRY_SIZE(); + let newPtr = changetype(newEntries); + while (oldPtr != oldEnd) { + let oldEntry = changetype>(oldPtr); + if (!(oldEntry.taggedNext & EMPTY)) { + let newEntry = changetype>(newPtr); + let oldEntryKey = oldEntry.key; + newEntry.key = oldEntryKey; + newEntry.value = oldEntry.value; + let newBucketIndex = HASH(oldEntryKey) & newBucketsMask; + let newBucketPtrBase = changetype(newBuckets) + newBucketIndex * BUCKET_SIZE; + newEntry.taggedNext = load(newBucketPtrBase); + store(newBucketPtrBase, newPtr); + newPtr += ENTRY_SIZE(); + } + oldPtr += ENTRY_SIZE(); + } + + this.buckets = newBuckets; + this.bucketsMask = newBucketsMask; + this.entries = newEntries; + this.entriesCapacity = newEntriesCapacity; + this.entriesOffset = this.entriesCount; + } + + keys(): K[] { + // FIXME: this is preliminary, needs iterators/closures + let start = changetype(this.entries); + let size = this.entriesOffset; + let keys = new Array(size); + let length = 0; + for (let i = 0; i < size; ++i) { + let entry = changetype>(start + i * ENTRY_SIZE()); + if (!(entry.taggedNext & EMPTY)) { + unchecked(keys[length++] = entry.key); + } + } + keys.length = length; + return keys; + } + + values(): V[] { + // FIXME: this is preliminary, needs iterators/closures + let start = changetype(this.entries); + let size = this.entriesOffset; + let values = new Array(size); + let length = 0; + for (let i = 0; i < size; ++i) { + let entry = changetype>(start + i * ENTRY_SIZE()); + if (!(entry.taggedNext & EMPTY)) { + unchecked(values[length++] = entry.value); + } + } + values.length = length; + return values; + } + + toString(): string { + return "[object Map]"; + } + + // RT integration + + @unsafe private __visit(cookie: u32): void { + __visit(changetype(this.buckets), cookie); + let entries = changetype(this.entries); + if (isManaged() || isManaged()) { + let cur = entries; + let end = cur + this.entriesOffset * ENTRY_SIZE(); + while (cur < end) { + let entry = changetype>(cur); + if (!(entry.taggedNext & EMPTY)) { + if (isManaged()) { + let val = changetype(entry.key); + if (isNullable()) { + if (val) __visit(val, cookie); + } else __visit(val, cookie); + } + if (isManaged()) { + let val = changetype(entry.value); + if (isNullable()) { + if (val) __visit(val, cookie); + } else __visit(val, cookie); + } + } + cur += ENTRY_SIZE(); + } + } + __visit(entries, cookie); + } +} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/math.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/math.ts new file mode 100644 index 00000000..e93837b2 --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/std/assembly/math.ts @@ -0,0 +1,3289 @@ +import { Math as JSMath } from "./bindings/dom"; +export { JSMath }; + +import { + pow_lut, exp_lut, exp2_lut, log_lut, log2_lut, + powf_lut, expf_lut, exp2f_lut, logf_lut, log2f_lut +} from "./util/math"; + +import { + abs as builtin_abs, + ceil as builtin_ceil, + clz as builtin_clz, + copysign as builtin_copysign, + floor as builtin_floor, + max as builtin_max, + min as builtin_min, + sqrt as builtin_sqrt, + trunc as builtin_trunc +} from "./builtins"; + +// SUN COPYRIGHT NOTICE +// +// Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. +// Developed at SunPro, a Sun Microsystems, Inc. business. +// Permission to use, copy, modify, and distribute this software +// is freely granted, provided that this notice is preserved. +// +// Applies to all functions marked with a comment referring here. + +/** @internal */ +// @ts-ignore: decorator +@lazy let rempio2_y0: f64, rempio2_y1: f64, res128_hi: u64; + +/** @internal */ +// @ts-ignore: decorator +@lazy @inline const PIO2_TABLE = memory.data([ + 0x00000000A2F9836E, 0x4E441529FC2757D1, 0xF534DDC0DB629599, 0x3C439041FE5163AB, + 0xDEBBC561B7246E3A, 0x424DD2E006492EEA, 0x09D1921CFE1DEB1C, 0xB129A73EE88235F5, + 0x2EBB4484E99C7026, 0xB45F7E413991D639, 0x835339F49C845F8B, 0xBDF9283B1FF897FF, + 0xDE05980FEF2F118B, 0x5A0A6D1F6D367ECF, 0x27CB09B74F463F66, 0x9E5FEA2D7527BAC7, + 0xEBE5F17B3D0739F7, 0x8A5292EA6BFB5FB1, 0x1F8D5D0856033046, 0xFC7B6BABF0CFBC20, + 0x9AF4361DA9E39161, 0x5EE61B086599855F, 0x14A068408DFFD880, 0x4D73273106061557 +]); + +/** @internal */ +function R(z: f64): f64 { // Rational approximation of (asin(x)-x)/x^3 + const // see: musl/src/math/asin.c and SUN COPYRIGHT NOTICE above + pS0 = reinterpret(0x3FC5555555555555), // 1.66666666666666657415e-01 + pS1 = reinterpret(0xBFD4D61203EB6F7D), // -3.25565818622400915405e-01 + pS2 = reinterpret(0x3FC9C1550E884455), // 2.01212532134862925881e-01 + pS3 = reinterpret(0xBFA48228B5688F3B), // -4.00555345006794114027e-02 + pS4 = reinterpret(0x3F49EFE07501B288), // 7.91534994289814532176e-04 + pS5 = reinterpret(0x3F023DE10DFDF709), // 3.47933107596021167570e-05 + qS1 = reinterpret(0xC0033A271C8A2D4B), // -2.40339491173441421878e+00 + qS2 = reinterpret(0x40002AE59C598AC8), // 2.02094576023350569471e+00 + qS3 = reinterpret(0xBFE6066C1B8D0159), // -6.88283971605453293030e-01 + qS4 = reinterpret(0x3FB3B8C5B12E9282); // 7.70381505559019352791e-02 + + let p = z * (pS0 + z * (pS1 + z * (pS2 + z * (pS3 + z * (pS4 + z * pS5))))); + let q = 1.0 + z * (qS1 + z * (qS2 + z * (qS3 + z * qS4))); + return p / q; +} + +/** @internal */ +// @ts-ignore: decorator +@inline +function expo2(x: f64, sign: f64): f64 { // exp(x)/2 for x >= log(DBL_MAX) + const // see: musl/src/math/__expo2.c + k = 2043, + kln2 = reinterpret(0x40962066151ADD8B); // 0x1.62066151add8bp+10 + let scale = reinterpret(((0x3FF + k / 2) << 20) << 32); + // in directed rounding correct sign before rounding or overflow is important + return NativeMath.exp(x - kln2) * (sign * scale) * scale; +} + +/** @internal */ +/* Helper function to eventually get bits of π/2 * |x| + * + * y = π/4 * (frac << clz(frac) >> 11) + * return clz(frac) + * + * Right shift 11 bits to make upper half fit in `double` + */ +// @ts-ignore: decorator +@inline +function pio2_right(q0: u64, q1: u64): u64 { // see: jdh8/metallic/blob/master/src/math/double/rem_pio2.c + // Bits of π/4 + const p0: u64 = 0xC4C6628B80DC1CD1; + const p1: u64 = 0xC90FDAA22168C234; + + const Ox1p_64 = reinterpret(0x3BF0000000000000); // 0x1p-64 + const Ox1p_75 = reinterpret(0x3B40000000000000); // 0x1p-75 + + let shift = clz(q1); + + q1 = q1 << shift | q0 >> (64 - shift); + q0 <<= shift; + + let lo = umuldi(p1, q1); + let hi = res128_hi; + + let ahi = hi >> 11; + let alo = lo >> 11 | hi << 53; + let blo = (Ox1p_75 * p0 * q1 + Ox1p_75 * p1 * q0); + + rempio2_y0 = (ahi + u64(lo < blo)); + rempio2_y1 = Ox1p_64 * (alo + blo); + + return shift; +} + +/** @internal */ +// @ts-ignore: decorator +@inline +function umuldi(u: u64, v: u64): u64 { + let u1: u64 , v1: u64, w0: u64, w1: u64, t: u64; + + u1 = u & 0xFFFFFFFF; + v1 = v & 0xFFFFFFFF; + + u >>= 32; + v >>= 32; + + t = u1 * v1; + w0 = t & 0xFFFFFFFF; + t = u * v1 + (t >> 32); + w1 = t >> 32; + t = u1 * v + (t & 0xFFFFFFFF); + + res128_hi = u * v + w1 + (t >> 32); + return (t << 32) + w0; +} + +/** @internal */ +function pio2_large_quot(x: f64, u: i64): i32 { // see: jdh8/metallic/blob/master/src/math/double/rem_pio2.c + let magnitude = u & 0x7FFFFFFFFFFFFFFF; + let offset = (magnitude >> 52) - 1045; + let shift = offset & 63; + let tblPtr = PIO2_TABLE + ((offset >> 6) << 3); + let s0: u64, s1: u64, s2: u64; + + let b0 = load(tblPtr, 0 << 3); + let b1 = load(tblPtr, 1 << 3); + let b2 = load(tblPtr, 2 << 3); + + // Get 192 bits of 0x1p-31 / π with `offset` bits skipped + if (shift) { + let rshift = 64 - shift; + let b3 = load(tblPtr, 3 << 3); + s0 = b1 >> rshift | b0 << shift; + s1 = b2 >> rshift | b1 << shift; + s2 = b3 >> rshift | b2 << shift; + } else { + s0 = b0; + s1 = b1; + s2 = b2; + } + + let significand = (u & 0x000FFFFFFFFFFFFF) | 0x0010000000000000; + + // First 128 bits of fractional part of x/(2π) + let blo = umuldi(s1, significand); + let bhi = res128_hi; + + let ahi = s0 * significand; + let clo = (s2 >> 32) * (significand >> 32); + let plo = blo + clo; + let phi = ahi + bhi + u64(plo < clo); + + // r: u128 = p << 2 + let rlo = plo << 2; + let rhi = phi << 2 | plo >> 62; + + // s: i128 = r >> 127 + let slo = rhi >> 63; + let shi = slo >> 1; + let q = (phi >> 62) - slo; + + let shifter = 0x3CB0000000000000 - (pio2_right(rlo ^ slo, rhi ^ shi) << 52); + let signbit = (u ^ rhi) & 0x8000000000000000; + let coeff = reinterpret(shifter | signbit); + + rempio2_y0 *= coeff; + rempio2_y1 *= coeff; + + return q; +} + +/** @internal */ +// @ts-ignore: decorator +@inline +function rempio2(x: f64, u: u64, sign: i32): i32 { + const + pio2_1 = reinterpret(0x3FF921FB54400000), // 1.57079632673412561417e+00 + pio2_1t = reinterpret(0x3DD0B4611A626331), // 6.07710050650619224932e-11 + pio2_2 = reinterpret(0x3DD0B4611A600000), // 6.07710050630396597660e-11 + pio2_2t = reinterpret(0x3BA3198A2E037073), // 2.02226624879595063154e-21 + pio2_3 = reinterpret(0x3BA3198A2E000000), // 2.02226624871116645580e-21 + pio2_3t = reinterpret(0x397B839A252049C1), // 8.47842766036889956997e-32 + invpio2 = reinterpret(0x3FE45F306DC9C883); // 0.63661977236758134308 + + let ix = (u >> 32) & 0x7FFFFFFF; + + if (ASC_SHRINK_LEVEL < 1) { + if (ix < 0x4002D97C) { // |x| < 3pi/4, special case with n=+-1 + let q = 1, z: f64, y0: f64, y1: f64; + if (!sign) { + z = x - pio2_1; + if (ix != 0x3FF921FB) { // 33+53 bit pi is good enough + y0 = z - pio2_1t; + y1 = (z - y0) - pio2_1t; + } else { // near pi/2, use 33+33+53 bit pi + z -= pio2_2; + y0 = z - pio2_2t; + y1 = (z - y0) - pio2_2t; + } + } else { // negative x + z = x + pio2_1; + if (ix != 0x3FF921FB) { // 33+53 bit pi is good enough + y0 = z + pio2_1t; + y1 = (z - y0) + pio2_1t; + } else { // near pi/2, use 33+33+53 bit pi + z += pio2_2; + y0 = z + pio2_2t; + y1 = (z - y0) + pio2_2t; + } + q = -1; + } + rempio2_y0 = y0; + rempio2_y1 = y1; + return q; + } + } + + if (ix < 0x413921FB) { // |x| ~< 2^20*pi/2 (1647099) + // Use precise Cody Waite scheme + let q = nearest(x * invpio2); + let r = x - q * pio2_1; + let w = q * pio2_1t; // 1st round good to 85 bit + let j = ix >> 20; + let y0 = r - w; + let hi = (reinterpret(y0) >> 32); + let i = j - ((hi >> 20) & 0x7FF); + + if (i > 16) { // 2nd iteration needed, good to 118 + let t = r; + w = q * pio2_2; + r = t - w; + w = q * pio2_2t - ((t - r) - w); + y0 = r - w; + hi = (reinterpret(y0) >> 32); + i = j - ((hi >> 20) & 0x7FF); + if (i > 49) { // 3rd iteration need, 151 bits acc + let t = r; + w = q * pio2_3; + r = t - w; + w = q * pio2_3t - ((t - r) - w); + y0 = r - w; + } + } + let y1 = (r - y0) - w; + rempio2_y0 = y0; + rempio2_y1 = y1; + return q; + } + let q = pio2_large_quot(x, u); + return select(-q, q, sign); +} + +/** @internal */ +// @ts-ignore: decorator +@inline +function sin_kern(x: f64, y: f64, iy: i32): f64 { // see: musl/tree/src/math/__sin.c + const + S1 = reinterpret(0xBFC5555555555549), // -1.66666666666666324348e-01 + S2 = reinterpret(0x3F8111111110F8A6), // 8.33333333332248946124e-03 + S3 = reinterpret(0xBF2A01A019C161D5), // -1.98412698298579493134e-04 + S4 = reinterpret(0x3EC71DE357B1FE7D), // 2.75573137070700676789e-06 + S5 = reinterpret(0xBE5AE5E68A2B9CEB), // -2.50507602534068634195e-08 + S6 = reinterpret(0x3DE5D93A5ACFD57C); // 1.58969099521155010221e-10 + + let z = x * x; + let w = z * z; + let r = S2 + z * (S3 + z * S4) + z * w * (S5 + z * S6); + let v = z * x; + if (!iy) { + return x + v * (S1 + z * r); + } else { + return x - ((z * (0.5 * y - v * r) - y) - v * S1); + } +} + +/** @internal */ +// @ts-ignore: decorator +@inline +function cos_kern(x: f64, y: f64): f64 { // see: musl/tree/src/math/__cos.c + const + C1 = reinterpret(0x3FA555555555554C), // 4.16666666666666019037e-02 + C2 = reinterpret(0xBF56C16C16C15177), // -1.38888888888741095749e-03 + C3 = reinterpret(0x3EFA01A019CB1590), // 2.48015872894767294178e-05 + C4 = reinterpret(0xBE927E4F809C52AD), // -2.75573143513906633035e-07 + C5 = reinterpret(0x3E21EE9EBDB4B1C4), // 2.08757232129817482790e-09 + C6 = reinterpret(0xBDA8FAE9BE8838D4); // -1.13596475577881948265e-11 + + let z = x * x; + let w = z * z; + let r = z * (C1 + z * (C2 + z * C3)) + w * w * (C4 + z * (C5 + z * C6)); + let hz = 0.5 * z; + w = 1.0 - hz; + return w + (((1.0 - w) - hz) + (z * r - x * y)); +} + +/** @internal */ +function tan_kern(x: f64, y: f64, iy: i32): f64 { // see: src/lib/msun/src/k_tan.c + const + T0 = reinterpret(0x3FD5555555555563), // 3.33333333333334091986e-01 + T1 = reinterpret(0x3FC111111110FE7A), // 1.33333333333201242699e-01 + T2 = reinterpret(0x3FABA1BA1BB341FE), // 5.39682539762260521377e-02 + T3 = reinterpret(0x3F9664F48406D637), // 2.18694882948595424599e-02 + T4 = reinterpret(0x3F8226E3E96E8493), // 8.86323982359930005737e-03 + T5 = reinterpret(0x3F6D6D22C9560328), // 3.59207910759131235356e-03 + T6 = reinterpret(0x3F57DBC8FEE08315), // 1.45620945432529025516e-03 + T7 = reinterpret(0x3F4344D8F2F26501), // 5.88041240820264096874e-04 + T8 = reinterpret(0x3F3026F71A8D1068), // 2.46463134818469906812e-04 + T9 = reinterpret(0x3F147E88A03792A6), // 7.81794442939557092300e-05 + T10 = reinterpret(0x3F12B80F32F0A7E9), // 7.14072491382608190305e-05 + T11 = reinterpret(0xBEF375CBDB605373), // -1.85586374855275456654e-05 + T12 = reinterpret(0x3EFB2A7074BF7AD4); // 2.59073051863633712884e-05 + + const + one = reinterpret(0x3FF0000000000000), // 1.00000000000000000000e+00 + pio4 = reinterpret(0x3FE921FB54442D18), // 7.85398163397448278999e-01 + pio4lo = reinterpret(0x3C81A62633145C07); // 3.06161699786838301793e-17 + + let z: f64, r: f64, v: f64, w: f64, s: f64; + let hx = (reinterpret(x) >> 32); // high word of x + let ix = hx & 0x7FFFFFFF; // high word of |x| + let big = ix >= 0x3FE59428; + if (big) { // |x| >= 0.6744 + if (hx < 0) { x = -x, y = -y; } + z = pio4 - x; + w = pio4lo - y; + x = z + w; + y = 0.0; + } + z = x * x; + w = z * z; + r = T1 + w * (T3 + w * (T5 + w * (T7 + w * (T9 + w * T11)))); + v = z * (T2 + w * (T4 + w * (T6 + w * (T8 + w * (T10 + w * T12))))); + s = z * x; + r = y + z * (s * (r + v) + y); + r += T0 * s; + w = x + r; + if (big) { + v = iy; + return (1 - ((hx >> 30) & 2)) * (v - 2.0 * (x - (w * w / (w + v) - r))); + } + if (iy == 1) return w; + let a: f64, t: f64; + z = w; + z = reinterpret(reinterpret(z) & 0xFFFFFFFF00000000); + v = r - (z - x); // z + v = r + x + t = a = -one / w; // a = -1.0 / w + t = reinterpret(reinterpret(t) & 0xFFFFFFFF00000000); + s = one + t * z; + return t + a * (s + t * v); +} + +/** @internal */ +function dtoi32(x: f64): i32 { + if (ASC_SHRINK_LEVEL > 0) { + const inv32 = 1.0 / 4294967296; + return (x - 4294967296 * floor(x * inv32)); + } else { + let result = 0; + let u = reinterpret(x); + let e = (u >> 52) & 0x7FF; + if (e <= 1023 + 30) { + result = x; + } else if (e <= 1023 + 30 + 53) { + let v = (u & ((1 << 52) - 1)) | (1 << 52); + v = v << e - 1023 - 52 + 32; + result = (v >> 32); + result = select(-result, result, u < 0); + } + return result; + } +} + +// @ts-ignore: decorator +@lazy let random_seeded = false; + +// @ts-ignore: decorator +@lazy let random_state0_64: u64, random_state1_64: u64; + +// @ts-ignore: decorator +@lazy let random_state0_32: u32, random_state1_32: u32; + +function murmurHash3(h: u64): u64 { // Force all bits of a hash block to avalanche + h ^= h >> 33; // see: https://github.com/aappleby/smhasher + h *= 0xFF51AFD7ED558CCD; + h ^= h >> 33; + h *= 0xC4CEB9FE1A85EC53; + h ^= h >> 33; + return h; +} + +function splitMix32(h: u32): u32 { + h += 0x6D2B79F5; + h = (h ^ (h >> 15)) * (h | 1); + h ^= h + (h ^ (h >> 7)) * (h | 61); + return h ^ (h >> 14); +} + +export namespace NativeMath { + + // @ts-ignore: decorator + @lazy + export const E = reinterpret(0x4005BF0A8B145769); // 2.7182818284590452354 + + // @ts-ignore: decorator + @lazy + export const LN2 = reinterpret(0x3FE62E42FEFA39EF); // 0.69314718055994530942 + + // @ts-ignore: decorator + @lazy + export const LN10 = reinterpret(0x40026BB1BBB55516); // 2.30258509299404568402 + + // @ts-ignore: decorator + @lazy + export const LOG2E = reinterpret(0x3FF71547652B82FE); // 1.4426950408889634074 + + // @ts-ignore: decorator + @lazy + export const LOG10E = reinterpret(0x3FDBCB7B1526E50E); // 0.43429448190325182765 + + // @ts-ignore: decorator + @lazy + export const PI = reinterpret(0x400921FB54442D18); // 3.14159265358979323846 + + // @ts-ignore: decorator + @lazy + export const SQRT1_2 = reinterpret(0x3FE6A09E667F3BCD); // 0.70710678118654752440 + + // @ts-ignore: decorator + @lazy + export const SQRT2 = reinterpret(0x3FF6A09E667F3BCD); // 1.41421356237309504880 + + // @ts-ignore: decorator + @lazy + export let sincos_sin: f64 = 0; + + // @ts-ignore: decorator + @lazy + export let sincos_cos: f64 = 0; + + // @ts-ignore: decorator + @inline export function abs(x: f64): f64 { + return builtin_abs(x); + } + + export function acos(x: f64): f64 { // see: musl/src/math/acos.c and SUN COPYRIGHT NOTICE above + const + pio2_hi = reinterpret(0x3FF921FB54442D18), // 1.57079632679489655800e+00 + pio2_lo = reinterpret(0x3C91A62633145C07), // 6.12323399573676603587e-17 + Ox1p_120f = reinterpret(0x03800000); + + let hx = (reinterpret(x) >> 32); + let ix = hx & 0x7FFFFFFF; + if (ix >= 0x3FF00000) { + let lx = reinterpret(x); + if ((ix - 0x3FF00000 | lx) == 0) { + if (hx < 0) return 2 * pio2_hi + Ox1p_120f; + return 0; + } + return 0 / (x - x); + } + if (ix < 0x3FE00000) { + if (ix <= 0x3C600000) return pio2_hi + Ox1p_120f; + return pio2_hi - (x - (pio2_lo - x * R(x * x))); + } + let s: f64, w: f64, z: f64; + if (hx < 0) { + // z = (1.0 + x) * 0.5; + z = 0.5 + x * 0.5; + s = builtin_sqrt(z); + w = R(z) * s - pio2_lo; + return 2 * (pio2_hi - (s + w)); + } + // z = (1.0 - x) * 0.5; + z = 0.5 - x * 0.5; + s = builtin_sqrt(z); + let df = reinterpret(reinterpret(s) & 0xFFFFFFFF00000000); + let c = (z - df * df) / (s + df); + w = R(z) * s + c; + return 2 * (df + w); + } + + export function acosh(x: f64): f64 { // see: musl/src/math/acosh.c + const s = reinterpret(0x3FE62E42FEFA39EF); + let u = reinterpret(x); + // Prevent propagation for all input values less than 1.0. + // Note musl lib didn't fix this yet. + if (u < 0x3FF0000000000000) return (x - x) / 0.0; + let e = u >> 52 & 0x7FF; + if (e < 0x3FF + 1) return log1p(x - 1 + builtin_sqrt((x - 1) * (x - 1) + 2 * (x - 1))); + if (e < 0x3FF + 26) return log(2 * x - 1 / (x + builtin_sqrt(x * x - 1))); + return log(x) + s; + } + + export function asin(x: f64): f64 { // see: musl/src/math/asin.c and SUN COPYRIGHT NOTICE above + const + pio2_hi = reinterpret(0x3FF921FB54442D18), // 1.57079632679489655800e+00 + pio2_lo = reinterpret(0x3C91A62633145C07), // 6.12323399573676603587e-17 + Ox1p_120f = reinterpret(0x03800000); + + let hx = (reinterpret(x) >> 32); + let ix = hx & 0x7FFFFFFF; + if (ix >= 0x3FF00000) { + let lx = reinterpret(x); + if ((ix - 0x3FF00000 | lx) == 0) return x * pio2_hi + Ox1p_120f; + return 0 / (x - x); + } + if (ix < 0x3FE00000) { + if (ix < 0x3E500000 && ix >= 0x00100000) return x; + return x + x * R(x * x); + } + // let z = (1.0 - builtin_abs(x)) * 0.5; + let z = 0.5 - builtin_abs(x) * 0.5; + let s = builtin_sqrt(z); + let r = R(z); + if (ix >= 0x3FEF3333) x = pio2_hi - (2 * (s + s * r) - pio2_lo); + else { + let f = reinterpret(reinterpret(s) & 0xFFFFFFFF00000000); + let c = (z - f * f) / (s + f); + x = 0.5 * pio2_hi - (2 * s * r - (pio2_lo - 2 * c) - (0.5 * pio2_hi - 2 * f)); + } + return select(-x, x, hx < 0); + } + + export function asinh(x: f64): f64 { // see: musl/src/math/asinh.c + const c = reinterpret(0x3FE62E42FEFA39EF); // 0.693147180559945309417232121458176568 + let u = reinterpret(x); + let e = u >> 52 & 0x7FF; + let y = reinterpret(u & 0x7FFFFFFFFFFFFFFF); + if (e >= 0x3FF + 26) y = log(y) + c; + else if (e >= 0x3FF + 1) y = log(2 * y + 1 / (builtin_sqrt(y * y + 1) + y)); + else if (e >= 0x3FF - 26) y = log1p(y + y * y / (builtin_sqrt(y * y + 1) + 1)); + return builtin_copysign(y, x); + } + + export function atan(x: f64): f64 { // see musl/src/math/atan.c and SUN COPYRIGHT NOTICE above + const + atanhi0 = reinterpret(0x3FDDAC670561BB4F), // 4.63647609000806093515e-01 + atanhi1 = reinterpret(0x3FE921FB54442D18), // 7.85398163397448278999e-01 + atanhi2 = reinterpret(0x3FEF730BD281F69B), // 9.82793723247329054082e-01 + atanhi3 = reinterpret(0x3FF921FB54442D18), // 1.57079632679489655800e+00 + atanlo0 = reinterpret(0x3C7A2B7F222F65E2), // 2.26987774529616870924e-17 + atanlo1 = reinterpret(0x3C81A62633145C07), // 3.06161699786838301793e-17 + atanlo2 = reinterpret(0x3C7007887AF0CBBD), // 1.39033110312309984516e-17 + atanlo3 = reinterpret(0x3C91A62633145C07), // 6.12323399573676603587e-17 + aT0 = reinterpret(0x3FD555555555550D), // 3.33333333333329318027e-01 + aT1 = reinterpret(0xBFC999999998EBC4), // -1.99999999998764832476e-01 + aT2 = reinterpret(0x3FC24924920083FF), // 1.42857142725034663711e-01 + aT3 = reinterpret(0xBFBC71C6FE231671), // -1.11111104054623557880e-01, + aT4 = reinterpret(0x3FB745CDC54C206E), // 9.09088713343650656196e-02 + aT5 = reinterpret(0xBFB3B0F2AF749A6D), // -7.69187620504482999495e-02 + aT6 = reinterpret(0x3FB10D66A0D03D51), // 6.66107313738753120669e-02 + aT7 = reinterpret(0xBFADDE2D52DEFD9A), // -5.83357013379057348645e-02 + aT8 = reinterpret(0x3FA97B4B24760DEB), // 4.97687799461593236017e-02 + aT9 = reinterpret(0xBFA2B4442C6A6C2F), // -3.65315727442169155270e-02 + aT10 = reinterpret(0x3F90AD3AE322DA11), // 1.62858201153657823623e-02 + Ox1p_120f = reinterpret(0x03800000); + + let ix = (reinterpret(x) >> 32); + let sx = x; + ix &= 0x7FFFFFFF; + let z: f64; + if (ix >= 0x44100000) { + if (isNaN(x)) return x; + z = atanhi3 + Ox1p_120f; + return builtin_copysign(z, sx); + } + let id: i32; + if (ix < 0x3FDC0000) { + if (ix < 0x3E400000) return x; + id = -1; + } else { + x = builtin_abs(x); + if (ix < 0x3FF30000) { + if (ix < 0x3FE60000) { + id = 0; + x = (2.0 * x - 1.0) / (2.0 + x); + } else { + id = 1; + x = (x - 1.0) / (x + 1.0); + } + } else { + if (ix < 0x40038000) { + id = 2; + x = (x - 1.5) / (1.0 + 1.5 * x); + } else { + id = 3; + x = -1.0 / x; + } + } + } + z = x * x; + let w = z * z; + let s1 = z * (aT0 + w * (aT2 + w * (aT4 + w * (aT6 + w * (aT8 + w * aT10))))); + let s2 = w * (aT1 + w * (aT3 + w * (aT5 + w * (aT7 + w * aT9)))); + let s3 = x * (s1 + s2); + if (id < 0) return x - s3; + switch (id) { + case 0: { z = atanhi0 - ((s3 - atanlo0) - x); break; } + case 1: { z = atanhi1 - ((s3 - atanlo1) - x); break; } + case 2: { z = atanhi2 - ((s3 - atanlo2) - x); break; } + case 3: { z = atanhi3 - ((s3 - atanlo3) - x); break; } + default: unreachable(); + } + return builtin_copysign(z, sx); + } + + export function atanh(x: f64): f64 { // see: musl/src/math/atanh.c + let u = reinterpret(x); + let e = u >> 52 & 0x7FF; + let y = builtin_abs(x); + if (e < 0x3FF - 1) { + if (e >= 0x3FF - 32) y = 0.5 * log1p(2 * y + 2 * y * y / (1 - y)); + } else { + y = 0.5 * log1p(2 * (y / (1 - y))); + } + return builtin_copysign(y, x); + } + + export function atan2(y: f64, x: f64): f64 { // see: musl/src/math/atan2.c and SUN COPYRIGHT NOTICE above + const pi_lo = reinterpret(0x3CA1A62633145C07); // 1.2246467991473531772E-16 + if (isNaN(x) || isNaN(y)) return x + y; + let u = reinterpret(x); + let ix = (u >> 32); + let lx = u; + u = reinterpret(y); + let iy = (u >> 32); + let ly = u; + if ((ix - 0x3FF00000 | lx) == 0) return atan(y); + let m = ((iy >> 31) & 1) | ((ix >> 30) & 2); + ix = ix & 0x7FFFFFFF; + iy = iy & 0x7FFFFFFF; + if ((iy | ly) == 0) { + switch (m) { + case 0: + case 1: return y; + case 2: return PI; + case 3: return -PI; + } + } + if ((ix | lx) == 0) return m & 1 ? -PI / 2 : PI / 2; + if (ix == 0x7FF00000) { + if (iy == 0x7FF00000) { + let t = m & 2 ? 3 * PI / 4 : PI / 4; + return m & 1 ? -t : t; + } else { + let t = m & 2 ? PI : 0; + return m & 1 ? -t : t; + } + } + let z: f64; + if (ix + (64 << 20) < iy || iy == 0x7FF00000) return m & 1 ? -PI / 2 : PI / 2; + if ((m & 2) && iy + (64 << 20) < ix) z = 0; + else z = atan(builtin_abs(y / x)); + switch (m) { + case 0: return z; + case 1: return -z; + case 2: return PI - (z - pi_lo); + case 3: return (z - pi_lo) - PI; + } + unreachable(); + return 0; + } + + export function cbrt(x: f64): f64 { // see: musl/src/math/cbrt.c and SUN COPYRIGHT NOTICE above + const + B1 = 715094163, + B2 = 696219795, + P0 = reinterpret(0x3FFE03E60F61E692), // 1.87595182427177009643 + P1 = reinterpret(0xBFFE28E092F02420), // -1.88497979543377169875 + P2 = reinterpret(0x3FF9F1604A49D6C2), // 1.621429720105354466140 + P3 = reinterpret(0xBFE844CBBEE751D9), // -0.758397934778766047437 + P4 = reinterpret(0x3FC2B000D4E4EDD7), // 0.145996192886612446982 + Ox1p54 = reinterpret(0x4350000000000000); // 0x1p54 + + let u = reinterpret(x); + let hx = (u >> 32) & 0x7FFFFFFF; + if (hx >= 0x7FF00000) return x + x; + if (hx < 0x00100000) { + u = reinterpret(x * Ox1p54); + hx = (u >> 32) & 0x7FFFFFFF; + if (hx == 0) return x; + hx = hx / 3 + B2; + } else { + hx = hx / 3 + B1; + } + u &= 1 << 63; + u |= hx << 32; + let t = reinterpret(u); + let r = (t * t) * (t / x); + t = t * ((P0 + r * (P1 + r * P2)) + ((r * r) * r) * (P3 + r * P4)); + t = reinterpret((reinterpret(t) + 0x80000000) & 0xFFFFFFFFC0000000); + let s = t * t; + r = x / s; + r = (r - t) / (2 * t + r); + t = t + t * r; + return t; + } + + // @ts-ignore: decorator + @inline + export function ceil(x: f64): f64 { + return builtin_ceil(x); + } + + export function clz32(x: f64): f64 { + if (!isFinite(x)) return 32; + /* + * Wasm (MVP) and JS have different approaches for double->int conversions. + * + * For emulate JS conversion behavior and avoid trapping from wasm we should modulate by MAX_INT + * our float-point arguments before actual convertion to integers. + */ + return builtin_clz(dtoi32(x)); + } + + export function cos(x: f64): f64 { // see: musl/src/math/cos.c + let u = reinterpret(x); + let ux = u32(u >> 32); + let sign = ux >> 31; + + ux &= 0x7FFFFFFF; + + // |x| ~< pi/4 + if (ux <= 0x3FE921FB) { + if (ux < 0x3E46A09E) { // |x| < 2**-27 * sqrt(2) + return 1.0; + } + return cos_kern(x, 0); + } + + // sin(Inf or NaN) is NaN + if (ux >= 0x7FF00000) return x - x; + + // argument reduction needed + let n = rempio2(x, u, sign); + let y0 = rempio2_y0; + let y1 = rempio2_y1; + + x = n & 1 ? sin_kern(y0, y1, 1) : cos_kern(y0, y1); + return (n + 1) & 2 ? -x : x; + } + + export function cosh(x: f64): f64 { // see: musl/src/math/cosh.c + let u = reinterpret(x); + u &= 0x7FFFFFFFFFFFFFFF; + x = reinterpret(u); + let w = (u >> 32); + let t: f64; + if (w < 0x3FE62E42) { + if (w < 0x3FF00000 - (26 << 20)) return 1; + t = expm1(x); + // return 1 + t * t / (2 * (1 + t)); + return 1 + t * t / (2 + 2 * t); + } + if (w < 0x40862E42) { + t = exp(x); + return 0.5 * (t + 1 / t); + } + t = expo2(x, 1); + return t; + } + + export function exp(x: f64): f64 { // see: musl/src/math/exp.c and SUN COPYRIGHT NOTICE above + if (ASC_SHRINK_LEVEL < 1) { + return exp_lut(x); + } else { + const + ln2hi = reinterpret(0x3FE62E42FEE00000), // 6.93147180369123816490e-01 + ln2lo = reinterpret(0x3DEA39EF35793C76), // 1.90821492927058770002e-10 + invln2 = reinterpret(0x3FF71547652B82FE), // 1.44269504088896338700e+00 + P1 = reinterpret(0x3FC555555555553E), // 1.66666666666666019037e-01 + P2 = reinterpret(0xBF66C16C16BEBD93), // -2.77777777770155933842e-03 + P3 = reinterpret(0x3F11566AAF25DE2C), // 6.61375632143793436117e-05 + P4 = reinterpret(0xBEBBBD41C5D26BF1), // -1.65339022054652515390e-06 + P5 = reinterpret(0x3E66376972BEA4D0), // 4.13813679705723846039e-08 + overflow = reinterpret(0x40862E42FEFA39EF), // 709.782712893383973096 + underflow = reinterpret(0xC0874910D52D3051), // -745.13321910194110842 + Ox1p1023 = reinterpret(0x7FE0000000000000); // 0x1p1023 + + let hx = u32(reinterpret(x) >> 32); + let sign = hx >> 31; + hx &= 0x7FFFFFFF; + if (hx >= 0x4086232B) { + if (isNaN(x)) return x; + if (x > overflow) return x * Ox1p1023; + if (x < underflow) return 0; + } + let hi: f64, lo: f64 = 0; + let k = 0; + if (hx > 0x3FD62E42) { + if (hx >= 0x3FF0A2B2) { + k = i32(invln2 * x + builtin_copysign(0.5, x)); + } else { + k = 1 - (sign << 1); + } + hi = x - k * ln2hi; + lo = k * ln2lo; + x = hi - lo; + } else if (hx > 0x3E300000) { + hi = x; + } else return 1.0 + x; + let xs = x * x; + // let c = x - xp2 * (P1 + xp2 * (P2 + xp2 * (P3 + xp2 * (P4 + xp2 * P5)))); + let xq = xs * xs; + let c = x - (xs * P1 + xq * ((P2 + xs * P3) + xq * (P4 + xs * P5))); + let y = 1.0 + (x * c / (2 - c) - lo + hi); + return k == 0 ? y : scalbn(y, k); + } + } + + export function exp2(x: f64): f64 { + return exp2_lut(x); + } + + export function expm1(x: f64): f64 { // see: musl/src/math/expm1.c and SUN COPYRIGHT NOTICE above + const + o_threshold = reinterpret(0x40862E42FEFA39EF), // 7.09782712893383973096e+02 + ln2_hi = reinterpret(0x3FE62E42FEE00000), // 6.93147180369123816490e-01 + ln2_lo = reinterpret(0x3DEA39EF35793C76), // 1.90821492927058770002e-10 + invln2 = reinterpret(0x3FF71547652B82FE), // 1.44269504088896338700e+00 + Q1 = reinterpret(0xBFA11111111110F4), // -3.33333333333331316428e-02 + Q2 = reinterpret(0x3F5A01A019FE5585), // 1.58730158725481460165e-03 + Q3 = reinterpret(0xBF14CE199EAADBB7), // -7.93650757867487942473e-05 + Q4 = reinterpret(0x3ED0CFCA86E65239), // 4.00821782732936239552e-06 + Q5 = reinterpret(0xBE8AFDB76E09C32D), // -2.01099218183624371326e-07 + Ox1p1023 = reinterpret(0x7FE0000000000000); // 0x1p1023 + + let u = reinterpret(x); + let hx = u32(u >> 32) & 0x7FFFFFFF; + let sign = u32(u >> 63); + let k = 0; + if (hx >= 0x4043687A) { + if (isNaN(x)) return x; + if (sign) return -1; + if (x > o_threshold) return x * Ox1p1023; + } + let c = 0.0, t: f64; + if (hx > 0x3FD62E42) { + k = select( + 1 - (sign << 1), + i32(invln2 * x + builtin_copysign(0.5, x)), + hx < 0x3FF0A2B2 + ); + t = k; + let hi = x - t * ln2_hi; + let lo = t * ln2_lo; + x = hi - lo; + c = (hi - x) - lo; + } else if (hx < 0x3C900000) return x; + let hfx = 0.5 * x; + let hxs = x * hfx; + // let r1 = 1.0 + hxs * (Q1 + hxs * (Q2 + hxs * (Q3 + hxs * (Q4 + hxs * Q5)))); + let hxq = hxs * hxs; + let r1 = (1.0 + hxs * Q1) + hxq * ((Q2 + hxs * Q3) + hxq * (Q4 + hxs * Q5)); + t = 3.0 - r1 * hfx; + let e = hxs * ((r1 - t) / (6.0 - x * t)); + if (k == 0) return x - (x * e - hxs); + e = x * (e - c) - c; + e -= hxs; + if (k == -1) return 0.5 * (x - e) - 0.5; + if (k == 1) { + if (x < -0.25) return -2.0 * (e - (x + 0.5)); + return 1.0 + 2.0 * (x - e); + } + u = (0x3FF + k) << 52; + let twopk = reinterpret(u); + let y: f64; + if (k < 0 || k > 56) { + y = x - e + 1.0; + if (k == 1024) y = y * 2.0 * Ox1p1023; + else y = y * twopk; + return y - 1.0; + } + u = (0x3FF - k) << 52; + y = reinterpret(u); + if (k < 20) y = (1 - y) - e; + else y = 1 - (e + y); + return (x + y) * twopk; + } + + // @ts-ignore: decorator + @inline + export function floor(x: f64): f64 { + return builtin_floor(x); + } + + // @ts-ignore: decorator + @inline + export function fround(x: f64): f64 { + return x; + } + + export function hypot(x: f64, y: f64): f64 { // see: musl/src/math/hypot.c + const + SPLIT = reinterpret(0x41A0000000000000) + 1, // 0x1p27 + 1 + Ox1p700 = reinterpret(0x6BB0000000000000), + Ox1p_700 = reinterpret(0x1430000000000000); + + let ux = reinterpret(x); + let uy = reinterpret(y); + ux &= 0x7FFFFFFFFFFFFFFF; + uy &= 0x7FFFFFFFFFFFFFFF; + if (ux < uy) { + let ut = ux; + ux = uy; + uy = ut; + } + let ex = i32(ux >> 52); + let ey = i32(uy >> 52); + y = reinterpret(uy); + if (ey == 0x7FF) return y; + x = reinterpret(ux); + if (ex == 0x7FF || uy == 0) return x; + if (ex - ey > 64) return x + y; + let z = 1.0; + if (ex > 0x3FF + 510) { + z = Ox1p700; + x *= Ox1p_700; + y *= Ox1p_700; + } else if (ey < 0x3FF - 450) { + z = Ox1p_700; + x *= Ox1p700; + y *= Ox1p700; + } + let c = x * SPLIT; + let h = x - c + c; + let l = x - h; + let hx = x * x; + let lx = h * h - hx + (2 * h + l) * l; + c = y * SPLIT; + h = y - c + c; + l = y - h; + let hy = y * y; + let ly = h * h - hy + (2 * h + l) * l; + return z * builtin_sqrt(ly + lx + hy + hx); + } + + export function imul(x: f64, y: f64): f64 { + /* + * Wasm (MVP) and JS have different approaches for double->int conversions. + * + * For emulate JS conversion behavior and avoid trapping from wasm we should modulate by MAX_INT + * our float-point arguments before actual convertion to integers. + */ + if (!isFinite(x + y)) return 0; + return dtoi32(x) * dtoi32(y); + } + + export function log(x: f64): f64 { // see: musl/src/math/log.c and SUN COPYRIGHT NOTICE above + if (ASC_SHRINK_LEVEL < 1) { + return log_lut(x); + } else { + const + ln2_hi = reinterpret(0x3FE62E42FEE00000), // 6.93147180369123816490e-01 + ln2_lo = reinterpret(0x3DEA39EF35793C76), // 1.90821492927058770002e-10 + Lg1 = reinterpret(0x3FE5555555555593), // 6.666666666666735130e-01 + Lg2 = reinterpret(0x3FD999999997FA04), // 3.999999999940941908e-01 + Lg3 = reinterpret(0x3FD2492494229359), // 2.857142874366239149e-01 + Lg4 = reinterpret(0x3FCC71C51D8E78AF), // 2.222219843214978396e-01 + Lg5 = reinterpret(0x3FC7466496CB03DE), // 1.818357216161805012e-01 + Lg6 = reinterpret(0x3FC39A09D078C69F), // 1.531383769920937332e-01 + Lg7 = reinterpret(0x3FC2F112DF3E5244), // 1.479819860511658591e-01 + Ox1p54 = reinterpret(0x4350000000000000); // 0x1p54 + + let u = reinterpret(x); + let hx = u32(u >> 32); + let k = 0; + let sign = hx >> 31; + if (sign || hx < 0x00100000) { + if (u << 1 == 0) return -1 / (x * x); + if (sign) return (x - x) / 0.0; + k -= 54; + x *= Ox1p54; + u = reinterpret(x); + hx = u32(u >> 32); + } else if (hx >= 0x7FF00000) { + return x; + } else if (hx == 0x3FF00000 && u << 32 == 0) { + return 0; + } + hx += 0x3FF00000 - 0x3FE6A09E; + k += (hx >> 20) - 0x3FF; + hx = (hx & 0x000FFFFF) + 0x3FE6A09E; + u = hx << 32 | (u & 0xFFFFFFFF); + x = reinterpret(u); + let f = x - 1.0; + let hfsq = 0.5 * f * f; + let s = f / (2.0 + f); + let z = s * s; + let w = z * z; + let t1 = w * (Lg2 + w * (Lg4 + w * Lg6)); + let t2 = z * (Lg1 + w * (Lg3 + w * (Lg5 + w * Lg7))); + let r = t2 + t1; + let dk = k; + return s * (hfsq + r) + dk * ln2_lo - hfsq + f + dk * ln2_hi; + } + } + + export function log10(x: f64): f64 { // see: musl/src/math/log10.c and SUN COPYRIGHT NOTICE above + const + ivln10hi = reinterpret(0x3FDBCB7B15200000), // 4.34294481878168880939e-01 + ivln10lo = reinterpret(0x3DBB9438CA9AADD5), // 2.50829467116452752298e-11 + log10_2hi = reinterpret(0x3FD34413509F6000), // 3.01029995663611771306e-01 + log10_2lo = reinterpret(0x3D59FEF311F12B36), // 3.69423907715893078616e-13 + Lg1 = reinterpret(0x3FE5555555555593), // 6.666666666666735130e-01 + Lg2 = reinterpret(0x3FD999999997FA04), // 3.999999999940941908e-01 + Lg3 = reinterpret(0x3FD2492494229359), // 2.857142874366239149e-01 + Lg4 = reinterpret(0x3FCC71C51D8E78AF), // 2.222219843214978396e-01 + Lg5 = reinterpret(0x3FC7466496CB03DE), // 1.818357216161805012e-01 + Lg6 = reinterpret(0x3FC39A09D078C69F), // 1.531383769920937332e-01 + Lg7 = reinterpret(0x3FC2F112DF3E5244), // 1.479819860511658591e-01 + Ox1p54 = reinterpret(0x4350000000000000); // 0x1p54 + + let u = reinterpret(x); + let hx = u32(u >> 32); + let k = 0; + let sign = hx >> 31; + if (sign || hx < 0x00100000) { + if (u << 1 == 0) return -1 / (x * x); + if (sign) return (x - x) / 0.0; + k -= 54; + x *= Ox1p54; + u = reinterpret(x); + hx = u32(u >> 32); + } else if (hx >= 0x7FF00000) { + return x; + } else if (hx == 0x3FF00000 && u << 32 == 0) { + return 0; + } + hx += 0x3FF00000 - 0x3FE6A09E; + k += i32(hx >> 20) - 0x3FF; + hx = (hx & 0x000FFFFF) + 0x3FE6A09E; + u = hx << 32 | (u & 0xFFFFFFFF); + x = reinterpret(u); + let f = x - 1.0; + let hfsq = 0.5 * f * f; + let s = f / (2.0 + f); + let z = s * s; + let w = z * z; + let t1 = w * (Lg2 + w * (Lg4 + w * Lg6)); + let t2 = z * (Lg1 + w * (Lg3 + w * (Lg5 + w * Lg7))); + let r = t2 + t1; + let hi = f - hfsq; + u = reinterpret(hi); + u &= 0xFFFFFFFF00000000; + hi = reinterpret(u); + let lo = f - hi - hfsq + s * (hfsq + r); + let val_hi = hi * ivln10hi; + let dk = k; + let y = dk * log10_2hi; + let val_lo = dk * log10_2lo + (lo + hi) * ivln10lo + lo * ivln10hi; + w = y + val_hi; + val_lo += (y - w) + val_hi; + return val_lo + w; + } + + export function log1p(x: f64): f64 { // see: musl/src/math/log1p.c and SUN COPYRIGHT NOTICE above + const + ln2_hi = reinterpret(0x3FE62E42FEE00000), // 6.93147180369123816490e-01 + ln2_lo = reinterpret(0x3DEA39EF35793C76), // 1.90821492927058770002e-10 + Lg1 = reinterpret(0x3FE5555555555593), // 6.666666666666735130e-01 + Lg2 = reinterpret(0x3FD999999997FA04), // 3.999999999940941908e-01 + Lg3 = reinterpret(0x3FD2492494229359), // 2.857142874366239149e-01 + Lg4 = reinterpret(0x3FCC71C51D8E78AF), // 2.222219843214978396e-01 + Lg5 = reinterpret(0x3FC7466496CB03DE), // 1.818357216161805012e-01 + Lg6 = reinterpret(0x3FC39A09D078C69F), // 1.531383769920937332e-01 + Lg7 = reinterpret(0x3FC2F112DF3E5244); // 1.479819860511658591e-01 + + let u = reinterpret(x); + let hx = u32(u >> 32); + let k = 1; + let c = 0.0, f = 0.0; + if (hx < 0x3FDA827A || bool(hx >> 31)) { + if (hx >= 0xBFF00000) { + if (x == -1) return x / 0.0; + return (x - x) / 0.0; + } + if (hx << 1 < 0x3CA00000 << 1) return x; + if (hx <= 0xBFD2BEC4) { + k = 0; + c = 0; + f = x; + } + } else if (hx >= 0x7FF00000) return x; + if (k) { + u = reinterpret(1 + x); + let hu = u32(u >> 32); + hu += 0x3FF00000 - 0x3FE6A09E; + k = i32(hu >> 20) - 0x3FF; + if (k < 54) { + let uf = reinterpret(u); + c = k >= 2 ? 1 - (uf - x) : x - (uf - 1); + c /= uf; + } else c = 0; + hu = (hu & 0x000FFFFF) + 0x3FE6A09E; + u = hu << 32 | (u & 0xFFFFFFFF); + f = reinterpret(u) - 1; + } + let hfsq = 0.5 * f * f; + let s = f / (2.0 + f); + let z = s * s; + let w = z * z; + let t1 = w * (Lg2 + w * (Lg4 + w * Lg6)); + let t2 = z * (Lg1 + w * (Lg3 + w * (Lg5 + w * Lg7))); + let r = t2 + t1; + let dk = k; + return s * (hfsq + r) + (dk * ln2_lo + c) - hfsq + f + dk * ln2_hi; + } + + export function log2(x: f64): f64 { // see: musl/src/math/log2.c and SUN COPYRIGHT NOTICE above + if (ASC_SHRINK_LEVEL < 1) { + return log2_lut(x); + } else { + const + ivln2hi = reinterpret(0x3FF7154765200000), // 1.44269504072144627571e+00 + ivln2lo = reinterpret(0x3DE705FC2EEFA200), // 1.67517131648865118353e-10 + Lg1 = reinterpret(0x3FE5555555555593), // 6.666666666666735130e-01 + Lg2 = reinterpret(0x3FD999999997FA04), // 3.999999999940941908e-01 + Lg3 = reinterpret(0x3FD2492494229359), // 2.857142874366239149e-01 + Lg4 = reinterpret(0x3FCC71C51D8E78AF), // 2.222219843214978396e-01 + Lg5 = reinterpret(0x3FC7466496CB03DE), // 1.818357216161805012e-01 + Lg6 = reinterpret(0x3FC39A09D078C69F), // 1.531383769920937332e-01 + Lg7 = reinterpret(0x3FC2F112DF3E5244), // 1.479819860511658591e-01 + Ox1p54 = reinterpret(0x4350000000000000); // 1p54 + + let u = reinterpret(x); + let hx = u32(u >> 32); + let k = 0; + let sign = hx >> 31; + if (sign || hx < 0x00100000) { + if (u << 1 == 0) return -1 / (x * x); + if (sign) return (x - x) / 0.0; + k -= 54; + x *= Ox1p54; + u = reinterpret(x); + hx = u32(u >> 32); + } else if (hx >= 0x7FF00000) { + return x; + } else if (hx == 0x3FF00000 && u << 32 == 0) { + return 0; + } + hx += 0x3FF00000 - 0x3FE6A09E; + k += i32(hx >> 20) - 0x3FF; + hx = (hx & 0x000FFFFF) + 0x3FE6A09E; + u = hx << 32 | (u & 0xFFFFFFFF); + x = reinterpret(u); + let f = x - 1.0; + let hfsq = 0.5 * f * f; + let s = f / (2.0 + f); + let z = s * s; + let w = z * z; + let t1 = w * (Lg2 + w * (Lg4 + w * Lg6)); + let t2 = z * (Lg1 + w * (Lg3 + w * (Lg5 + w * Lg7))); + let r = t2 + t1; + let hi = f - hfsq; + u = reinterpret(hi); + u &= 0xFFFFFFFF00000000; + hi = reinterpret(u); + let lo = f - hi - hfsq + s * (hfsq + r); + let val_hi = hi * ivln2hi; + let val_lo = (lo + hi) * ivln2lo + lo * ivln2hi; + let y = k; + w = y + val_hi; + val_lo += (y - w) + val_hi; + val_hi = w; + return val_lo + val_hi; + } + } + + // @ts-ignore: decorator + @inline + export function max(value1: f64, value2: f64): f64 { + return builtin_max(value1, value2); + } + + // @ts-ignore: decorator + @inline + export function min(value1: f64, value2: f64): f64 { + return builtin_min(value1, value2); + } + + export function pow(x: f64, y: f64): f64 { // see: musl/src/math/pow.c and SUN COPYRIGHT NOTICE above + // TODO: remove this fast pathes after introduced own mid-end IR with "stdlib call simplify" transforms + if (builtin_abs(y) <= 2) { + if (y == 2.0) return x * x; + if (y == 0.5) { + return select( + builtin_abs(builtin_sqrt(x)), + Infinity, + x != -Infinity + ); + } + if (y == -1.0) return 1 / x; + if (y == 1.0) return x; + if (y == 0.0) return 1.0; + } + if (ASC_SHRINK_LEVEL < 1) { + return pow_lut(x, y); + } else { + const + dp_h1 = reinterpret(0x3FE2B80340000000), // 5.84962487220764160156e-01 + dp_l1 = reinterpret(0x3E4CFDEB43CFD006), // 1.35003920212974897128e-08 + two53 = reinterpret(0x4340000000000000), // 9007199254740992.0 + huge = reinterpret(0x7E37E43C8800759C), // 1e+300 + tiny = reinterpret(0x01A56E1FC2F8F359), // 1e-300 + L1 = reinterpret(0x3FE3333333333303), // 5.99999999999994648725e-01 + L2 = reinterpret(0x3FDB6DB6DB6FABFF), // 4.28571428578550184252e-01 + L3 = reinterpret(0x3FD55555518F264D), // 3.33333329818377432918e-01 + L4 = reinterpret(0x3FD17460A91D4101), // 2.72728123808534006489e-01 + L5 = reinterpret(0x3FCD864A93C9DB65), // 2.30660745775561754067e-01 + L6 = reinterpret(0x3FCA7E284A454EEF), // 2.06975017800338417784e-01 + P1 = reinterpret(0x3FC555555555553E), // 1.66666666666666019037e-01 + P2 = reinterpret(0xBF66C16C16BEBD93), // -2.77777777770155933842e-03 + P3 = reinterpret(0x3F11566AAF25DE2C), // 6.61375632143793436117e-05 + P4 = reinterpret(0xBEBBBD41C5D26BF1), // -1.65339022054652515390e-06 + P5 = reinterpret(0x3E66376972BEA4D0), // 4.13813679705723846039e-08 + lg2 = reinterpret(0x3FE62E42FEFA39EF), // 6.93147180559945286227e-01 + lg2_h = reinterpret(0x3FE62E4300000000), // 6.93147182464599609375e-01 + lg2_l = reinterpret(0xBE205C610CA86C39), // -1.90465429995776804525e-09 + ovt = reinterpret(0x3C971547652B82FE), // 8.0085662595372944372e-017 + cp = reinterpret(0x3FEEC709DC3A03FD), // 9.61796693925975554329e-01 + cp_h = reinterpret(0x3FEEC709E0000000), // 9.61796700954437255859e-01 + cp_l = reinterpret(0xBE3E2FE0145B01F5), // -7.02846165095275826516e-09 + ivln2 = reinterpret(0x3FF71547652B82FE), // 1.44269504088896338700e+00 + ivln2_h = reinterpret(0x3FF7154760000000), // 1.44269502162933349609e+00 + ivln2_l = reinterpret(0x3E54AE0BF85DDF44), // 1.92596299112661746887e-08 + inv3 = reinterpret(0x3FD5555555555555); // 0.3333333333333333333333 + + let u_ = reinterpret(x); + let hx = i32(u_ >> 32); + let lx = u_; + u_ = reinterpret(y); + let hy = i32(u_ >> 32); + let ly = u_; + let ix = hx & 0x7FFFFFFF; + let iy = hy & 0x7FFFFFFF; + if ((iy | ly) == 0) return 1.0; // x**0 = 1, even if x is NaN + // if (hx == 0x3FF00000 && lx == 0) return 1.0; // C: 1**y = 1, even if y is NaN, JS: NaN + if ( // NaN if either arg is NaN + ix > 0x7FF00000 || (ix == 0x7FF00000 && lx != 0) || + iy > 0x7FF00000 || (iy == 0x7FF00000 && ly != 0) + ) return x + y; + let yisint = 0, k: i32; + if (hx < 0) { + if (iy >= 0x43400000) yisint = 2; + else if (iy >= 0x3FF00000) { + k = (iy >> 20) - 0x3FF; + let offset = select(52, 20, k > 20) - k; + let Ly = select(ly, iy, k > 20); + let jj = Ly >> offset; + if ((jj << offset) == Ly) yisint = 2 - (jj & 1); + } + } + if (ly == 0) { + if (iy == 0x7FF00000) { // y is +-inf + if (((ix - 0x3FF00000) | lx) == 0) return NaN; // C: (-1)**+-inf is 1, JS: NaN + else if (ix >= 0x3FF00000) return hy >= 0 ? y : 0.0; // (|x|>1)**+-inf = inf,0 + else return hy >= 0 ? 0.0 : -y; // (|x|<1)**+-inf = 0,inf + } + if (iy == 0x3FF00000) { + if (hy >= 0) return x; + return 1 / x; + } + if (hy == 0x40000000) return x * x; + if (hy == 0x3FE00000) { + if (hx >= 0) return builtin_sqrt(x); + } + } + let ax = builtin_abs(x), z: f64; + if (lx == 0) { + if (ix == 0 || ix == 0x7FF00000 || ix == 0x3FF00000) { + z = ax; + if (hy < 0) z = 1.0 / z; + if (hx < 0) { + if (((ix - 0x3FF00000) | yisint) == 0) { + let d = z - z; + z = d / d; + } else if (yisint == 1) z = -z; + } + return z; + } + } + let s = 1.0; + if (hx < 0) { + if (yisint == 0) { + let d = x - x; + return d / d; + } + if (yisint == 1) s = -1.0; + } + let t1: f64, t2: f64, p_h: f64, p_l: f64, r: f64, t: f64, u: f64, v: f64, w: f64; + let j: i32, n: i32; + if (iy > 0x41E00000) { + if (iy > 0x43F00000) { + if (ix <= 0x3FEFFFFF) return hy < 0 ? huge * huge : tiny * tiny; + if (ix >= 0x3FF00000) return hy > 0 ? huge * huge : tiny * tiny; + } + if (ix < 0x3FEFFFFF) return hy < 0 ? s * huge * huge : s * tiny * tiny; + if (ix > 0x3FF00000) return hy > 0 ? s * huge * huge : s * tiny * tiny; + t = ax - 1.0; + w = (t * t) * (0.5 - t * (inv3 - t * 0.25)); + u = ivln2_h * t; + v = t * ivln2_l - w * ivln2; + t1 = u + v; + t1 = reinterpret(reinterpret(t1) & 0xFFFFFFFF00000000); + t2 = v - (t1 - u); + } else { + let ss: f64, s2: f64, s_h: f64, s_l: f64, t_h: f64, t_l: f64; + n = 0; + if (ix < 0x00100000) { + ax *= two53; + n -= 53; + ix = (reinterpret(ax) >> 32); + } + n += (ix >> 20) - 0x3FF; + j = ix & 0x000FFFFF; + ix = j | 0x3FF00000; + if (j <= 0x3988E) k = 0; + else if (j < 0xBB67A) k = 1; + else { + k = 0; + n += 1; + ix -= 0x00100000; + } + ax = reinterpret(reinterpret(ax) & 0xFFFFFFFF | (ix << 32)); + let bp = select(1.5, 1.0, k); // k ? 1.5 : 1.0 + u = ax - bp; + v = 1.0 / (ax + bp); + ss = u * v; + s_h = ss; + s_h = reinterpret(reinterpret(s_h) & 0xFFFFFFFF00000000); + t_h = reinterpret(u64(((ix >> 1) | 0x20000000) + 0x00080000 + (k << 18)) << 32); + t_l = ax - (t_h - bp); + s_l = v * ((u - s_h * t_h) - s_h * t_l); + s2 = ss * ss; + r = s2 * s2 * (L1 + s2 * (L2 + s2 * (L3 + s2 * (L4 + s2 * (L5 + s2 * L6))))); + r += s_l * (s_h + ss); + s2 = s_h * s_h; + t_h = 3.0 + s2 + r; + t_h = reinterpret(reinterpret(t_h) & 0xFFFFFFFF00000000); + t_l = r - ((t_h - 3.0) - s2); + u = s_h * t_h; + v = s_l * t_h + t_l * ss; + p_h = u + v; + p_h = reinterpret(reinterpret(p_h) & 0xFFFFFFFF00000000); + p_l = v - (p_h - u); + let z_h = cp_h * p_h; + let dp_l = select(dp_l1, 0.0, k); + let z_l = cp_l * p_h + p_l * cp + dp_l; + t = n; + let dp_h = select(dp_h1, 0.0, k); + t1 = ((z_h + z_l) + dp_h) + t; + t1 = reinterpret(reinterpret(t1) & 0xFFFFFFFF00000000); + t2 = z_l - (((t1 - t) - dp_h) - z_h); + } + let y1 = y; + y1 = reinterpret(reinterpret(y1) & 0xFFFFFFFF00000000); + p_l = (y - y1) * t1 + y * t2; + p_h = y1 * t1; + z = p_l + p_h; + u_ = reinterpret(z); + j = u32(u_ >> 32); + let i = u_; + if (j >= 0x40900000) { + if (((j - 0x40900000) | i) != 0) return s * huge * huge; + if (p_l + ovt > z - p_h) return s * huge * huge; + } else if ((j & 0x7FFFFFFF) >= 0x4090CC00) { + if (((j - 0xC090CC00) | i) != 0) return s * tiny * tiny; + if (p_l <= z - p_h) return s * tiny * tiny; + } + i = j & 0x7FFFFFFF; + k = (i >> 20) - 0x3FF; + n = 0; + if (i > 0x3FE00000) { + n = j + (0x00100000 >> (k + 1)); + k = ((n & 0x7FFFFFFF) >> 20) - 0x3FF; + t = 0.0; + t = reinterpret(u64(n & ~(0x000FFFFF >> k)) << 32); + n = ((n & 0x000FFFFF) | 0x00100000) >> (20 - k); + if (j < 0) n = -n; + p_h -= t; + } + t = p_l + p_h; + t = reinterpret(reinterpret(t) & 0xFFFFFFFF00000000); + u = t * lg2_h; + v = (p_l - (t - p_h)) * lg2 + t * lg2_l; + z = u + v; + w = v - (z - u); + t = z * z; + t1 = z - t * (P1 + t * (P2 + t * (P3 + t * (P4 + t * P5)))); + r = (z * t1) / (t1 - 2.0) - (w + z * w); + z = 1.0 - (r - z); + j = u32(reinterpret(z) >> 32); + j += n << 20; + if ((j >> 20) <= 0) z = scalbn(z, n); + else z = reinterpret(reinterpret(z) & 0xFFFFFFFF | (j << 32)); + return s * z; + } + } + + export function seedRandom(value: i64): void { + // Instead zero seed use golden ratio: + // phi = (1 + sqrt(5)) / 2 + // trunc(2^64 / phi) = 0x9e3779b97f4a7c15 + if (value == 0) value = 0x9e3779b97f4a7c15; + random_state0_64 = murmurHash3(value); + random_state1_64 = murmurHash3(~random_state0_64); + random_state0_32 = splitMix32(value); + random_state1_32 = splitMix32(random_state0_32); + random_seeded = true; + } + + export function random(): f64 { // see: v8/src/base/utils/random-number-generator.cc + if (!random_seeded) seedRandom(reinterpret(seed())); + let s1 = random_state0_64; + let s0 = random_state1_64; + random_state0_64 = s0; + s1 ^= s1 << 23; + s1 ^= s1 >> 17; + s1 ^= s0; + s1 ^= s0 >> 26; + random_state1_64 = s1; + let r = (s0 >> 12) | 0x3FF0000000000000; + return reinterpret(r) - 1; + } + + export function round(x: f64): f64 { + if (ASC_SHRINK_LEVEL > 0) { + return builtin_ceil(x) - f64(builtin_ceil(x) - 0.5 > x); + } else { + let roundUp = builtin_ceil(x); + return select(roundUp, roundUp - 1.0, roundUp - 0.5 <= x); + } + } + + export function sign(x: f64): f64 { + if (ASC_SHRINK_LEVEL > 0) { + return select(builtin_copysign(1, x), x, builtin_abs(x) > 0); + } else { + return select(1, select(-1, x, x < 0), x > 0); + } + } + + // @ts-ignore: decorator + @inline + export function signbit(x: f64): bool { + return bool(reinterpret(x) >>> 63); + } + + export function sin(x: f64): f64 { // see: musl/src/math/sin.c + let u = reinterpret(x); + let ux = u32(u >> 32); + let sign = ux >> 31; + + ux &= 0x7FFFFFFF; + + // |x| ~< pi/4 + if (ux <= 0x3FE921FB) { + if (ux < 0x3E500000) { // |x| < 2**-26 + return x; + } + return sin_kern(x, 0.0, 0); + } + + // sin(Inf or NaN) is NaN + if (ux >= 0x7FF00000) return x - x; + + // argument reduction needed + let n = rempio2(x, u, sign); + let y0 = rempio2_y0; + let y1 = rempio2_y1; + + x = n & 1 ? cos_kern(y0, y1) : sin_kern(y0, y1, 1); + return n & 2 ? -x : x; + } + + export function sinh(x: f64): f64 { // see: musl/src/math/sinh.c + let u = reinterpret(x) & 0x7FFFFFFFFFFFFFFF; + let a = reinterpret(u); + let w = u32(u >> 32); + let h = builtin_copysign(0.5, x); + if (w < 0x40862E42) { + let t = expm1(a); + if (w < 0x3FF00000) { + if (w < 0x3FF00000 - (26 << 20)) return x; + return h * (2 * t - t * t / (t + 1)); + } + return h * (t + t / (t + 1)); + } + return expo2(a, 2 * h); + } + + // @ts-ignore: decorator + @inline + export function sqrt(x: f64): f64 { + return builtin_sqrt(x); + } + + export function tan(x: f64): f64 { // see: musl/src/math/tan.c + let u = reinterpret(x); + let ux = u32(u >> 32); + let sign = ux >>> 31; + + ux &= 0x7FFFFFFF; + + // |x| ~< pi/4 + if (ux <= 0x3FE921FB) { + if (ux < 0x3E400000) { // |x| < 2**-27 + return x; + } + return tan_kern(x, 0.0, 1); + } + + // tan(Inf or NaN) is NaN + if (ux >= 0x7FF00000) return x - x; + + let n = rempio2(x, u, sign); + return tan_kern(rempio2_y0, rempio2_y1, 1 - ((n & 1) << 1)); + } + + export function tanh(x: f64): f64 { // see: musl/src/math/tanh.c + let u = reinterpret(x); + u &= 0x7FFFFFFFFFFFFFFF; + let y = reinterpret(u); + let w = u32(u >> 32); + let t: f64; + if (w > 0x3FE193EA) { + if (w > 0x40340000) { + t = 1 - 0 / y; + } else { + t = expm1(2 * y); + t = 1 - 2 / (t + 2); + } + } else if (w > 0x3FD058AE) { + t = expm1(2 * y); + t = t / (t + 2); + } else if (w >= 0x00100000) { + t = expm1(-2 * y); + t = -t / (t + 2); + } else t = y; + return builtin_copysign(t, x); + } + + // @ts-ignore: decorator + @inline + export function trunc(x: f64): f64 { + return builtin_trunc(x); + } + + export function scalbn(x: f64, n: i32): f64 { // see: https://git.musl-libc.org/cgit/musl/tree/src/math/scalbn.c + const + Ox1p53 = reinterpret(0x4340000000000000), + Ox1p1023 = reinterpret(0x7FE0000000000000), + Ox1p_1022 = reinterpret(0x0010000000000000); + + let y = x; + if (n > 1023) { + y *= Ox1p1023; + n -= 1023; + if (n > 1023) { + y *= Ox1p1023; + n = builtin_min(n - 1023, 1023); + } + } else if (n < -1022) { + // make sure final n < -53 to avoid double + // rounding in the subnormal range + y *= Ox1p_1022 * Ox1p53; + n += 1022 - 53; + if (n < -1022) { + y *= Ox1p_1022 * Ox1p53; + n = builtin_max(n + 1022 - 53, -1022); + } + } + return y * reinterpret((0x3FF + n) << 52); + } + + export function mod(x: f64, y: f64): f64 { // see: musl/src/math/fmod.c + if (builtin_abs(y) == 1.0) { + // x % 1, x % -1 ==> sign(x) * abs(x - 1.0 * trunc(x / 1.0)) + // TODO: move this rule to compiler's optimization pass. + // It could be apply for any x % C_pot, where "C_pot" is pow of two const. + return builtin_copysign(x - builtin_trunc(x), x); + } + let ux = reinterpret(x); + let uy = reinterpret(y); + let ex = i64(ux >> 52 & 0x7FF); + let ey = i64(uy >> 52 & 0x7FF); + let sx = ux >> 63; + let uy1 = uy << 1; + if (uy1 == 0 || ex == 0x7FF || isNaN(y)) { + let m = x * y; + return m / m; + } + let ux1 = ux << 1; + if (ux1 <= uy1) { + return x * f64(ux1 != uy1); + } + if (!ex) { + ex -= builtin_clz(ux << 12); + ux <<= 1 - ex; + } else { + ux &= u64(-1) >> 12; + ux |= 1 << 52; + } + if (!ey) { + ey -= builtin_clz(uy << 12); + uy <<= 1 - ey; + } else { + uy &= u64(-1) >> 12; + uy |= 1 << 52; + } + while (ex > ey) { + if (ux >= uy) { + if (ux == uy) return 0 * x; + ux -= uy; + } + ux <<= 1; + --ex; + } + if (ux >= uy) { + if (ux == uy) return 0 * x; + ux -= uy; + } + // for (; !(ux >> 52); ux <<= 1) --ex; + let shift = builtin_clz(ux << 11); + ex -= shift; + ux <<= shift; + if (ex > 0) { + ux -= 1 << 52; + ux |= ex << 52; + } else { + ux >>= -ex + 1; + } + return reinterpret(ux | (sx << 63)); + } + + export function rem(x: f64, y: f64): f64 { // see: musl/src/math/remquo.c + let ux = reinterpret(x); + let uy = reinterpret(y); + let ex = i64(ux >> 52 & 0x7FF); + let ey = i64(uy >> 52 & 0x7FF); + if (uy << 1 == 0 || ex == 0x7FF || isNaN(y)) { + let m = x * y; + return m / m; + } + if (ux << 1 == 0) return x; + let uxi = ux; + if (!ex) { + ex -= builtin_clz(uxi << 12); + uxi <<= 1 - ex; + } else { + uxi &= u64(-1) >> 12; + uxi |= 1 << 52; + } + if (!ey) { + ey -= builtin_clz(uy << 12); + uy <<= 1 - ey; + } else { + uy &= u64(-1) >> 12; + uy |= 1 << 52; + } + let q: u32 = 0; + do { + if (ex < ey) { + if (ex + 1 == ey) break; // goto end + return x; + } + while (ex > ey) { + if (uxi >= uy) { + uxi -= uy; + ++q; + } + uxi <<= 1; + q <<= 1; + --ex; + } + if (uxi >= uy) { + uxi -= uy; + ++q; + } + if (uxi == 0) ex = -60; + else { + let shift = builtin_clz(uxi << 11); + ex -= shift; + uxi <<= shift; + } + break; + } while (false); + // end: + if (ex > 0) { + uxi -= 1 << 52; + uxi |= ex << 52; + } else { + uxi >>= -ex + 1; + } + x = reinterpret(uxi); + y = builtin_abs(y); + let x2 = x + x; + if (ex == ey || (ex + 1 == ey && (x2 > y || (x2 == y && (q & 1))))) { + x -= y; + // ++q; + } + return ux < 0 ? -x : x; + } + + export function sincos(x: f64): void { // see: musl/tree/src/math/sincos.c + let u = reinterpret(x); + let ux = u32(u >> 32); + let sign = ux >> 31; + ux &= 0x7FFFFFFF; + + if (ux <= 0x3FE921FB) { // |x| ~<= π/4 + if (ux < 0x3E46A09E) { // if |x| < 2**-27 * sqrt(2) + sincos_sin = x; + sincos_cos = 1; + return; + } + sincos_sin = sin_kern(x, 0, 0); + sincos_cos = cos_kern(x, 0); + return; + } + // sin(Inf or NaN) is NaN + if (ux >= 0x7F800000) { + let xx = x - x; + sincos_sin = xx; + sincos_cos = xx; + return; + } + // general argument reduction needed + let n = rempio2(x, u, sign); + let y0 = rempio2_y0; + let y1 = rempio2_y1; + let s = sin_kern(y0, y1, 1); + let c = cos_kern(y0, y1); + let sin = s, cos = c; + if (n & 1) { + sin = c; + cos = -s; + } + if (n & 2) { + sin = -sin; + cos = -cos; + } + sincos_sin = sin; + sincos_cos = cos; + } +} + +// @ts-ignore: decorator +@lazy let rempio2f_y: f64; + +// @ts-ignore: decorator +@lazy @inline const PIO2F_TABLE = memory.data([ + 0xA2F9836E4E441529, + 0xFC2757D1F534DDC0, + 0xDB6295993C439041, + 0xFE5163ABDEBBC561 +]); + +function Rf(z: f32): f32 { // Rational approximation of (asin(x)-x)/x^3 + const // see: musl/src/math/asinf.c and SUN COPYRIGHT NOTICE above + pS0 = reinterpret(0x3E2AAA75), // 1.6666586697e-01f + pS1 = reinterpret(0xBD2F13BA), // -4.2743422091e-02f + pS2 = reinterpret(0xBC0DD36B), // -8.6563630030e-03f + qS1 = reinterpret(0xBF34E5AE); // -7.0662963390e-01f + + let p = z * (pS0 + z * (pS1 + z * pS2)); + let q: f32 = 1 + z * qS1; + return p / q; +} + +// @ts-ignore: decorator +@inline +function expo2f(x: f32, sign: f32): f32 { // exp(x)/2 for x >= log(DBL_MAX) + const // see: musl/src/math/__expo2f.c + k = 235, + kln2 = reinterpret(0x4322E3BC); // 0x1.45c778p+7f + let scale = reinterpret(u32(0x7F + (k >> 1)) << 23); + // in directed rounding correct sign before rounding or overflow is important + return NativeMathf.exp(x - kln2) * (sign * scale) * scale; +} + +// @ts-ignore: decorator +@inline +function pio2f_large_quot(x: f32, u: i32): i32 { // see: jdh8/metallic/blob/master/src/math/float/rem_pio2f.c + const coeff = reinterpret(0x3BF921FB54442D18); // π * 0x1p-65 = 8.51530395021638647334e-20 + + let offset = (u >> 23) - 152; + let shift = u64(offset & 63); + let tblPtr = PIO2F_TABLE + (offset >> 6 << 3); + + let b0 = load(tblPtr, 0 << 3); + let b1 = load(tblPtr, 1 << 3); + let lo: u64; + + if (shift > 32) { + let b2 = load(tblPtr, 2 << 3); + lo = b2 >> (96 - shift); + lo |= b1 << (shift - 32); + } else { + lo = b1 >> (32 - shift); + } + + let hi = (b1 >> (64 - shift)) | (b0 << shift); + let mantissa: u64 = (u & 0x007FFFFF) | 0x00800000; + let product = mantissa * hi + (mantissa * lo >> 32); + let r: i64 = product << 2; + let q = i32((product >> 62) + (r >>> 63)); + rempio2f_y = copysign(coeff, x) * r; + return q; +} + +// @ts-ignore: decorator +@inline +function rempio2f(x: f32, u: u32, sign: i32): i32 { // see: jdh8/metallic/blob/master/src/math/float/rem_pio2f.c + const + pi2hi = reinterpret(0x3FF921FB50000000), // 1.57079631090164184570 + pi2lo = reinterpret(0x3E5110B4611A6263), // 1.58932547735281966916e-8 + _2_pi = reinterpret(0x3FE45F306DC9C883); // 0.63661977236758134308 + + if (u < 0x4DC90FDB) { // π * 0x1p28 + let q = nearest(x * _2_pi); + rempio2f_y = x - q * pi2hi - q * pi2lo; + return q; + } + + let q = pio2f_large_quot(x, u); + return select(-q, q, sign); +} + +// |sin(x)/x - s(x)| < 2**-37.5 (~[-4.89e-12, 4.824e-12]). +// @ts-ignore: decorator +@inline +function sin_kernf(x: f64): f32 { // see: musl/tree/src/math/__sindf.c + const + S1 = reinterpret(0xBFC5555554CBAC77), // -0x15555554cbac77.0p-55 + S2 = reinterpret(0x3F811110896EFBB2), // 0x111110896efbb2.0p-59 + S3 = reinterpret(0xBF2A00F9E2CAE774), // -0x1a00f9e2cae774.0p-65 + S4 = reinterpret(0x3EC6CD878C3B46A7); // 0x16cd878c3b46a7.0p-71 + + let z = x * x; + let w = z * z; + let r = S3 + z * S4; + let s = z * x; + return f32((x + s * (S1 + z * S2)) + s * w * r); +} + +// |cos(x) - c(x)| < 2**-34.1 (~[-5.37e-11, 5.295e-11]). +// @ts-ignore: decorator +@inline +function cos_kernf(x: f64): f32 { // see: musl/tree/src/math/__cosdf.c + const + C0 = reinterpret(0xBFDFFFFFFD0C5E81), // -0x1ffffffd0c5e81.0p-54 + C1 = reinterpret(0x3FA55553E1053A42), // 0x155553e1053a42.0p-57 + C2 = reinterpret(0xBF56C087E80F1E27), // -0x16c087e80f1e27.0p-62 + C3 = reinterpret(0x3EF99342E0EE5069); // 0x199342e0ee5069.0p-68 + + let z = x * x; + let w = z * z; + let r = C2 + z * C3; + return f32(((1 + z * C0) + w * C1) + (w * z) * r); +} + +// |tan(x)/x - t(x)| < 2**-25.5 (~[-2e-08, 2e-08]). +// @ts-ignore: decorator +@inline +function tan_kernf(x: f64, odd: i32): f32 { // see: musl/tree/src/math/__tandf.c + const + T0 = reinterpret(0x3FD5554D3418C99F), // 0x15554d3418c99f.0p-54 + T1 = reinterpret(0x3FC112FD38999F72), // 0x1112fd38999f72.0p-55 + T2 = reinterpret(0x3FAB54C91D865AFE), // 0x1b54c91d865afe.0p-57 + T3 = reinterpret(0x3F991DF3908C33CE), // 0x191df3908c33ce.0p-58 + T4 = reinterpret(0x3F685DADFCECF44E), // 0x185dadfcecf44e.0p-61 + T5 = reinterpret(0x3F8362B9BF971BCD); // 0x1362b9bf971bcd.0p-59 + + let z = x * x; + let r = T4 + z * T5; + let t = T2 + z * T3; + let w = z * z; + let s = z * x; + let u = T0 + z * T1; + + r = (x + s * u) + (s * w) * (t + w * r); + return f32(odd ? -1 / r : r); +} + +// See: jdh8/metallic/src/math/float/log2f.c and jdh8/metallic/src/math/float/kernel/atanh.h +// @ts-ignore: decorator +@inline +function log2f(x: f64): f64 { + const + log2e = reinterpret(0x3FF71547652B82FE), // 1.44269504088896340736 + c0 = reinterpret(0x3FD555554FD9CAEF), // 0.33333332822728226129 + c1 = reinterpret(0x3FC999A7A8AF4132), // 0.20000167595436263505 + c2 = reinterpret(0x3FC2438D79437030), // 0.14268654271188685375 + c3 = reinterpret(0x3FBE2F663B001C97); // 0.11791075649681414150 + + let i = reinterpret(x); + let exponent = (i - 0x3FE6A09E667F3BCD) >> 52; + x = reinterpret(i - (exponent << 52)); + x = (x - 1) / (x + 1); + let xx = x * x; + let y = x + x * xx * (c0 + c1 * xx + (c2 + c3 * xx) * (xx * xx)); + return (2 * log2e) * y + exponent; +} + +// See: jdh8/metallic/src/math/float/exp2f.h and jdh8/metallic/blob/master/src/math/float/kernel/exp2f.h +// @ts-ignore: decorator +@inline +function exp2f(x: f64): f64 { + const + c0 = reinterpret(0x3FE62E4302FCC24A), // 6.931471880289532425e-1 + c1 = reinterpret(0x3FCEBFBE07D97B91), // 2.402265108421173406e-1 + c2 = reinterpret(0x3FAC6AF6CCFC1A65), // 5.550357105498874537e-2 + c3 = reinterpret(0x3F83B29E3CE9AEF6), // 9.618030771171497658e-3 + c4 = reinterpret(0x3F55F0896145A89F), // 1.339086685300950937e-3 + c5 = reinterpret(0x3F2446C81E384864); // 1.546973499989028719e-4 + + if (x < -1022) return 0; + if (x >= 1024) return Infinity; + + let n = nearest(x); + x -= n; + let xx = x * x; + let y = 1 + x * (c0 + c1 * x + (c2 + c3 * x) * xx + (c4 + c5 * x) * (xx * xx)); + return reinterpret(reinterpret(y) + (n << 52)); +} + +export namespace NativeMathf { + + // @ts-ignore: decorator + @lazy + export const E = NativeMath.E; + + // @ts-ignore: decorator + @lazy + export const LN2 = NativeMath.LN2; + + // @ts-ignore: decorator + @lazy + export const LN10 = NativeMath.LN10; + + // @ts-ignore: decorator + @lazy + export const LOG2E = NativeMath.LOG2E; + + // @ts-ignore: decorator + @lazy + export const LOG10E = NativeMath.LOG10E; + + // @ts-ignore: decorator + @lazy + export const PI = NativeMath.PI; + + // @ts-ignore: decorator + @lazy + export const SQRT1_2 = NativeMath.SQRT1_2; + + // @ts-ignore: decorator + @lazy + export const SQRT2 = NativeMath.SQRT2; + + // @ts-ignore: decorator + @lazy + export let sincos_sin: f32 = 0; + + // @ts-ignore: decorator + @lazy + export let sincos_cos: f32 = 0; + + // @ts-ignore: decorator + @inline + export function abs(x: f32): f32 { + return builtin_abs(x); + } + + export function acos(x: f32): f32 { // see: musl/src/math/acosf.c and SUN COPYRIGHT NOTICE above + const + pio2_hi = reinterpret(0x3FC90FDA), // 1.5707962513e+00f + pio2_lo = reinterpret(0x33A22168), // 7.5497894159e-08f + Ox1p_120f = reinterpret(0x03800000); // 0x1p-120f + + let hx = reinterpret(x); + let ix = hx & 0x7FFFFFFF; + if (ix >= 0x3F800000) { + if (ix == 0x3F800000) { + return select(2 * pio2_hi + Ox1p_120f, 0, hx < 0); + } + return 0 / (x - x); + } + if (ix < 0x3F000000) { + if (ix <= 0x32800000) return pio2_hi + Ox1p_120f; + return pio2_hi - (x - (pio2_lo - x * Rf(x * x))); + } + let z: f32, w: f32, s: f32; + if (hx < 0) { + // z = (1 + x) * 0.5; + z = 0.5 + x * 0.5; + s = builtin_sqrt(z); + w = Rf(z) * s - pio2_lo; + return 2 * (pio2_hi - (s + w)); + } + // z = (1 - x) * 0.5; + z = 0.5 - x * 0.5; + s = builtin_sqrt(z); + hx = reinterpret(s); + let df = reinterpret(hx & 0xFFFFF000); + let c = (z - df * df) / (s + df); + w = Rf(z) * s + c; + return 2 * (df + w); + } + + export function acosh(x: f32): f32 { // see: musl/src/math/acoshf.c + const s = reinterpret(0x3F317218); // 0.693147180559945309417232121458176568f + let u = reinterpret(x); + let a = u & 0x7FFFFFFF; + if (a < 0x3F800000 + (1 << 23)) { // |x| < 2, invalid if x < 1 + let xm1 = x - 1; + return log1p(xm1 + builtin_sqrt(xm1 * (xm1 + 2))); + } + if (u < 0x3F800000 + (12 << 23)) { // 2 <= x < 0x1p12 + return log(2 * x - 1 / (x + builtin_sqrt(x * x - 1))); + } + // x >= 0x1p12 or x <= -2 or NaN + return log(x) + s; + } + + export function asin(x: f32): f32 { // see: musl/src/math/asinf.c and SUN COPYRIGHT NOTICE above + const + pio2 = reinterpret(0x3FC90FDB), // 1.570796326794896558e+00f + Ox1p_120f = reinterpret(0x03800000); // 0x1p-120f + + let sx = x; + let hx = reinterpret(x) & 0x7FFFFFFF; + if (hx >= 0x3F800000) { + if (hx == 0x3F800000) return x * pio2 + Ox1p_120f; + return 0 / (x - x); + } + if (hx < 0x3F000000) { + if (hx < 0x39800000 && hx >= 0x00800000) return x; + return x + x * Rf(x * x); + } + // let z: f32 = (1 - builtin_abs(x)) * 0.5; + let z: f32 = 0.5 - builtin_abs(x) * 0.5; + let s = builtin_sqrt(z); // sic + x = f32(pio2 - 2 * (s + s * Rf(z))); + return builtin_copysign(x, sx); + } + + export function asinh(x: f32): f32 { // see: musl/src/math/asinhf.c + const c = reinterpret(0x3F317218); // 0.693147180559945309417232121458176568f + let u = reinterpret(x) & 0x7FFFFFFF; + let y = reinterpret(u); + if (u >= 0x3F800000 + (12 << 23)) y = log(y) + c; + else if (u >= 0x3F800000 + (1 << 23)) y = log(2 * y + 1 / (builtin_sqrt(y * y + 1) + y)); + else if (u >= 0x3F800000 - (12 << 23)) y = log1p(y + y * y / (builtin_sqrt(y * y + 1) + 1)); + return builtin_copysign(y, x); + } + + export function atan(x: f32): f32 { // see: musl/src/math/atanf.c and SUN COPYRIGHT NOTICE above + const + atanhi0 = reinterpret(0x3EED6338), // 4.6364760399e-01f + atanhi1 = reinterpret(0x3F490FDA), // 7.8539812565e-01f + atanhi2 = reinterpret(0x3F7B985E), // 9.8279368877e-01f + atanhi3 = reinterpret(0x3FC90FDA), // 1.5707962513e+00f + atanlo0 = reinterpret(0x31AC3769), // 5.0121582440e-09f + atanlo1 = reinterpret(0x33222168), // 3.7748947079e-08f + atanlo2 = reinterpret(0x33140FB4), // 3.4473217170e-08f + atanlo3 = reinterpret(0x33A22168), // 7.5497894159e-08f + aT0 = reinterpret(0x3EAAAAA9), // 3.3333328366e-01f + aT1 = reinterpret(0xBE4CCA98), // -1.9999158382e-01f + aT2 = reinterpret(0x3E11F50D), // 1.4253635705e-01f + aT3 = reinterpret(0xBDDA1247), // -1.0648017377e-01f + aT4 = reinterpret(0x3D7CAC25), // 6.1687607318e-02f + Ox1p_120f = reinterpret(0x03800000); // 0x1p-120f + + let ix = reinterpret(x); + let sx = x; + ix &= 0x7FFFFFFF; + let z: f32; + if (ix >= 0x4C800000) { + if (isNaN(x)) return x; + z = atanhi3 + Ox1p_120f; + return builtin_copysign(z, sx); + } + let id: i32; + if (ix < 0x3EE00000) { + if (ix < 0x39800000) return x; + id = -1; + } else { + x = builtin_abs(x); + if (ix < 0x3F980000) { + if (ix < 0x3F300000) { + id = 0; + x = (2.0 * x - 1.0) / (2.0 + x); + } else { + id = 1; + x = (x - 1.0) / (x + 1.0); + } + } else { + if (ix < 0x401C0000) { + id = 2; + x = (x - 1.5) / (1.0 + 1.5 * x); + } else { + id = 3; + x = -1.0 / x; + } + } + } + z = x * x; + let w = z * z; + let s1 = z * (aT0 + w * (aT2 + w * aT4)); + let s2 = w * (aT1 + w * aT3); + let s3 = x * (s1 + s2); + if (id < 0) return x - s3; + switch (id) { + case 0: { z = atanhi0 - ((s3 - atanlo0) - x); break; } + case 1: { z = atanhi1 - ((s3 - atanlo1) - x); break; } + case 2: { z = atanhi2 - ((s3 - atanlo2) - x); break; } + case 3: { z = atanhi3 - ((s3 - atanlo3) - x); break; } + default: unreachable(); + } + return builtin_copysign(z, sx); + } + + export function atanh(x: f32): f32 { // see: musl/src/math/atanhf.c + let u = reinterpret(x); + let y = builtin_abs(x); + if (u < 0x3F800000 - (1 << 23)) { + if (u >= 0x3F800000 - (32 << 23)) y = 0.5 * log1p(2 * y * (1.0 + y / (1 - y))); + } else y = 0.5 * log1p(2 * (y / (1 - y))); + return builtin_copysign(y, x); + } + + export function atan2(y: f32, x: f32): f32 { // see: musl/src/math/atan2f.c and SUN COPYRIGHT NOTICE above + const + pi = reinterpret(0x40490FDB), // 3.1415927410e+00f + pi_lo = reinterpret(0xB3BBBD2E); // -8.7422776573e-08f + + if (isNaN(x) || isNaN(y)) return x + y; + let ix = reinterpret(x); + let iy = reinterpret(y); + if (ix == 0x3F800000) return atan(y); + let m = u32(((iy >> 31) & 1) | ((ix >> 30) & 2)); + ix &= 0x7FFFFFFF; + iy &= 0x7FFFFFFF; + if (iy == 0) { + switch (m) { + case 0: + case 1: return y; + case 2: return pi; + case 3: return -pi; + } + } + if (ix == 0) return m & 1 ? -pi / 2 : pi / 2; + if (ix == 0x7F800000) { + if (iy == 0x7F800000) { + let t: f32 = m & 2 ? 3 * pi / 4 : pi / 4; + return m & 1 ? -t : t; + } else { + let t: f32 = m & 2 ? pi : 0.0; + return m & 1 ? -t : t; + } + } + if (ix + (26 << 23) < iy || iy == 0x7F800000) return m & 1 ? -pi / 2 : pi / 2; + let z: f32; + if ((m & 2) && iy + (26 << 23) < ix) z = 0.0; + else z = atan(builtin_abs(y / x)); + switch (m) { + case 0: return z; + case 1: return -z; + case 2: return pi - (z - pi_lo); + case 3: return (z - pi_lo) - pi; + } + unreachable(); + return 0; + } + + export function cbrt(x: f32): f32 { // see: musl/src/math/cbrtf.c and SUN COPYRIGHT NOTICE above + const + B1 = 709958130, + B2 = 642849266, + Ox1p24f = reinterpret(0x4B800000); + + let u = reinterpret(x); + let hx = u & 0x7FFFFFFF; + if (hx >= 0x7F800000) return x + x; + if (hx < 0x00800000) { + if (hx == 0) return x; + u = reinterpret(x * Ox1p24f); + hx = u & 0x7FFFFFFF; + hx = hx / 3 + B2; + } else { + hx = hx / 3 + B1; + } + u &= 0x80000000; + u |= hx; + let t = reinterpret(u); + let r = t * t * t; + t = t * (x + x + r) / (x + r + r); + r = t * t * t; + t = t * (x + x + r) / (x + r + r); + return t; + } + + // @ts-ignore: decorator + @inline + export function ceil(x: f32): f32 { + return builtin_ceil(x); + } + + export function clz32(x: f32): f32 { + if (!isFinite(x)) return 32; + return builtin_clz(dtoi32(x)); + } + + export function cos(x: f32): f32 { // see: musl/src/math/cosf.c + const + c1pio2 = reinterpret(0x3FF921FB54442D18), // M_PI_2 * 1 + c2pio2 = reinterpret(0x400921FB54442D18), // M_PI_2 * 2 + c3pio2 = reinterpret(0x4012D97C7F3321D2), // M_PI_2 * 3 + c4pio2 = reinterpret(0x401921FB54442D18); // M_PI_2 * 4 + + let ux = reinterpret(x); + let sign = ux >> 31; + ux &= 0x7FFFFFFF; + + if (ux <= 0x3F490FDA) { // |x| ~<= π/4 + if (ux < 0x39800000) { // |x| < 2**-12 + // raise inexact if x != 0 + return 1; + } + return cos_kernf(x); + } + + if (ASC_SHRINK_LEVEL < 1) { + if (ux <= 0x407B53D1) { // |x| ~<= 5π/4 + if (ux > 0x4016CBE3) { // |x| ~> 3π/4 + return -cos_kernf(sign ? x + c2pio2 : x - c2pio2); + } else { + return sign ? sin_kernf(x + c1pio2) : sin_kernf(c1pio2 - x); + } + } + if (ux <= 0x40E231D5) { // |x| ~<= 9π/4 + if (ux > 0x40AFEDDF) { // |x| ~> 7π/4 + return cos_kernf(sign ? x + c4pio2 : x - c4pio2); + } else { + return sign ? sin_kernf(-x - c3pio2) : sin_kernf(x - c3pio2); + } + } + } + + // cos(Inf or NaN) is NaN + if (ux >= 0x7F800000) return x - x; + + // general argument reduction needed + let n = rempio2f(x, ux, sign); + let y = rempio2f_y; + + let t = n & 1 ? sin_kernf(y) : cos_kernf(y); + return (n + 1) & 2 ? -t : t; + } + + export function cosh(x: f32): f32 { // see: musl/src/math/coshf.c + let u = reinterpret(x); + u &= 0x7FFFFFFF; + x = reinterpret(u); + if (u < 0x3F317217) { + if (u < 0x3F800000 - (12 << 23)) return 1; + let t = expm1(x); + // return 1 + t * t / (2 * (1 + t)); + return 1 + t * t / (2 + 2 * t); + } + if (u < 0x42B17217) { + let t = exp(x); + // return 0.5 * (t + 1 / t); + return 0.5 * t + 0.5 / t; + } + return expo2f(x, 1); + } + + // @ts-ignore: decorator + @inline + export function floor(x: f32): f32 { + return builtin_floor(x); + } + + export function exp(x: f32): f32 { // see: musl/src/math/expf.c and SUN COPYRIGHT NOTICE above + if (ASC_SHRINK_LEVEL < 1) { + return expf_lut(x); + } else { + const + ln2hi = reinterpret(0x3F317200), // 6.9314575195e-1f + ln2lo = reinterpret(0x35BFBE8E), // 1.4286067653e-6f + invln2 = reinterpret(0x3FB8AA3B), // 1.4426950216e+0f + P1 = reinterpret(0x3E2AAA8F), // 1.6666625440e-1f + P2 = reinterpret(0xBB355215), // -2.7667332906e-3f + Ox1p127f = reinterpret(0x7F000000); // 0x1p+127f + + let hx = reinterpret(x); + let sign = hx >> 31; + hx &= 0x7FFFFFFF; + if (hx >= 0x42AEAC50) { + if (hx > 0x7F800000) return x; // NaN + if (hx >= 0x42B17218) { + if (!sign) return x * Ox1p127f; + else if (hx >= 0x42CFF1B5) return 0; + } + } + let hi: f32, lo: f32; + let k: i32; + if (hx > 0x3EB17218) { + if (hx > 0x3F851592) { + k = i32(invln2 * x + builtin_copysign(0.5, x)); + } else { + k = 1 - (sign << 1); + } + hi = x - k * ln2hi; + lo = k * ln2lo; + x = hi - lo; + } else if (hx > 0x39000000) { + k = 0; + hi = x; + lo = 0; + } else { + return 1 + x; + } + let xx = x * x; + let c = x - xx * (P1 + xx * P2); + let y: f32 = 1 + (x * c / (2 - c) - lo + hi); + return k == 0 ? y : scalbn(y, k); + } + } + + export function exp2(x: f32): f32 { + return exp2f_lut(x); + } + + export function expm1(x: f32): f32 { // see: musl/src/math/expm1f.c and SUN COPYRIGHT NOTICE above + const + ln2_hi = reinterpret(0x3F317180), // 6.9313812256e-01f + ln2_lo = reinterpret(0x3717F7D1), // 9.0580006145e-06f + invln2 = reinterpret(0x3FB8AA3B), // 1.4426950216e+00f + Q1 = reinterpret(0xBD088868), // -3.3333212137e-02f + Q2 = reinterpret(0x3ACF3010), // 1.5807170421e-03f + Ox1p127f = reinterpret(0x7F000000); // 0x1p+127f + + let u = reinterpret(x); + let hx = u & 0x7FFFFFFF; + let sign = u >> 31; + if (hx >= 0x4195B844) { + if (hx > 0x7F800000) return x; + if (sign) return -1; + if (hx > 0x42B17217) { // x > log(FLT_MAX) + x *= Ox1p127f; + return x; + } + } + let c: f32 = 0.0, t: f32, k: i32; + if (hx > 0x3EB17218) { + k = select( + 1 - (sign << 1), + i32(invln2 * x + builtin_copysign(0.5, x)), + hx < 0x3F851592 + ); + t = k; + let hi = x - t * ln2_hi; + let lo = t * ln2_lo; + x = hi - lo; + c = (hi - x) - lo; + } else if (hx < 0x33000000) { + return x; + } else k = 0; + let hfx: f32 = 0.5 * x; + let hxs: f32 = x * hfx; + let r1: f32 = 1.0 + hxs * (Q1 + hxs * Q2); + t = 3.0 - r1 * hfx; + let e = hxs * ((r1 - t) / (6.0 - x * t)); + if (k == 0) return x - (x * e - hxs); + e = x * (e - c) - c; + e -= hxs; + if (k == -1) return 0.5 * (x - e) - 0.5; + if (k == 1) { + if (x < -0.25) return -2.0 * (e - (x + 0.5)); + return 1.0 + 2.0 * (x - e); + } + u = (0x7F + k) << 23; + let twopk = reinterpret(u); + let y: f32; + if (k < 0 || k > 56) { + y = x - e + 1.0; + if (k == 128) y = y * 2.0 * Ox1p127f; + else y = y * twopk; + return y - 1.0; + } + u = (0x7F - k) << 23; + y = reinterpret(u); + if (k < 20) y = (1 - y) - e; + else y = 1 - (e + y); + return (x + y) * twopk; + } + + // @ts-ignore: decorator + @inline + export function fround(x: f32): f32 { + return x; + } + + export function hypot(x: f32, y: f32): f32 { // see: musl/src/math/hypotf.c + const + Ox1p90f = reinterpret(0x6C800000), + Ox1p_90f = reinterpret(0x12800000); + + let ux = reinterpret(x); + let uy = reinterpret(y); + ux &= 0x7FFFFFFF; + uy &= 0x7FFFFFFF; + if (ux < uy) { + let ut = ux; + ux = uy; + uy = ut; + } + x = reinterpret(ux); + y = reinterpret(uy); + if (uy == 0xFF << 23) return y; + if (ux >= 0xFF << 23 || uy == 0 || ux - uy >= 25 << 23) return x + y; + let z: f32 = 1; + if (ux >= (0x7F + 60) << 23) { + z = Ox1p90f; + x *= Ox1p_90f; + y *= Ox1p_90f; + } else if (uy < (0x7F - 60) << 23) { + z = Ox1p_90f; + x *= Ox1p90f; + y *= Ox1p90f; + } + return z * builtin_sqrt(f32(x * x + y * y)); + } + + // @ts-ignore: decorator + @inline + export function imul(x: f32, y: f32): f32 { + /* + * Wasm (MVP) and JS have different approaches for double->int conversions. + * + * For emulate JS conversion behavior and avoid trapping from wasm we should modulate by MAX_INT + * our float-point arguments before actual convertion to integers. + */ + if (!isFinite(x + y)) return 0; + return (dtoi32(x) * dtoi32(y)); + } + + export function log(x: f32): f32 { // see: musl/src/math/logf.c and SUN COPYRIGHT NOTICE above + if (ASC_SHRINK_LEVEL < 1) { + return logf_lut(x); + } else { + const + ln2_hi = reinterpret(0x3F317180), // 6.9313812256e-01f + ln2_lo = reinterpret(0x3717F7D1), // 9.0580006145e-06f + Lg1 = reinterpret(0x3F2AAAAA), // 0xaaaaaa.0p-24f + Lg2 = reinterpret(0x3ECCCE13), // 0xccce13.0p-25f + Lg3 = reinterpret(0x3E91E9EE), // 0x91e9ee.0p-25f + Lg4 = reinterpret(0x3E789E26), // 0xf89e26.0p-26f + Ox1p25f = reinterpret(0x4C000000); + + let u = reinterpret(x); + let k = 0; + let sign = u >> 31; + if (sign || u < 0x00800000) { + if (u << 1 == 0) return -1 / (x * x); + if (sign) return (x - x) / 0; + k -= 25; + x *= Ox1p25f; + u = reinterpret(x); + } else if (u >= 0x7F800000) { + return x; + } else if (u == 0x3F800000) { + return 0; + } + u += 0x3F800000 - 0x3F3504F3; + k += i32(u >> 23) - 0x7F; + u = (u & 0x007FFFFF) + 0x3F3504F3; + x = reinterpret(u); + let f = x - 1.0; + let s = f / (2.0 + f); + let z = s * s; + let w = z * z; + let t1 = w * (Lg2 + w * Lg4); + let t2 = z * (Lg1 + w * Lg3); + let r = t2 + t1; + let hfsq = 0.5 * f * f; + let dk = k; + return s * (hfsq + r) + dk * ln2_lo - hfsq + f + dk * ln2_hi; + } + } + + export function log10(x: f32): f32 { // see: musl/src/math/log10f.c and SUN COPYRIGHT NOTICE above + const + ivln10hi = reinterpret(0x3EDE6000), // 4.3432617188e-01f + ivln10lo = reinterpret(0xB804EAD9), // -3.1689971365e-05f + log10_2hi = reinterpret(0x3E9A2080), // 3.0102920532e-01f + log10_2lo = reinterpret(0x355427DB), // 7.9034151668e-07f + Lg1 = reinterpret(0x3F2AAAAA), // 0xaaaaaa.0p-24f, 0.66666662693f + Lg2 = reinterpret(0x3ECCCE13), // 0xccce13.0p-25f, 0.40000972152f + Lg3 = reinterpret(0x3E91E9EE), // 0x91e9ee.0p-25f, 0.28498786688f + Lg4 = reinterpret(0x3E789E26), // 0xf89e26.0p-26f, 0.24279078841f + Ox1p25f = reinterpret(0x4C000000); // 0x1p25f + + let ux = reinterpret(x); + let k = 0; + let sign = ux >> 31; + if (sign || ux < 0x00800000) { + if (ux << 1 == 0) return -1 / (x * x); + if (sign) return (x - x) / 0.0; + k -= 25; + x *= Ox1p25f; + ux = reinterpret(x); + } else if (ux >= 0x7F800000) { + return x; + } else if (ux == 0x3F800000) { + return 0; + } + ux += 0x3F800000 - 0x3F3504F3; + k += i32(ux >> 23) - 0x7F; + ux = (ux & 0x007FFFFF) + 0x3F3504F3; + x = reinterpret(ux); + let f = x - 1.0; + let s = f / (2.0 + f); + let z = s * s; + let w = z * z; + let t1 = w * (Lg2 + w * Lg4); + let t2 = z * (Lg1 + w * Lg3); + let r = t2 + t1; + let hfsq: f32 = 0.5 * f * f; + let hi = f - hfsq; + ux = reinterpret(hi); + ux &= 0xFFFFF000; + hi = reinterpret(ux); + let lo = f - hi - hfsq + s * (hfsq + r); + let dk = k; + return dk * log10_2lo + (lo + hi) * ivln10lo + lo * ivln10hi + hi * ivln10hi + dk * log10_2hi; + } + + export function log1p(x: f32): f32 { // see: musl/src/math/log1pf.c and SUN COPYRIGHT NOTICE above + const + ln2_hi = reinterpret(0x3F317180), // 6.9313812256e-01 + ln2_lo = reinterpret(0x3717F7D1), // 9.0580006145e-06 + Lg1 = reinterpret(0x3F2AAAAA), // 0xaaaaaa.0p-24f, 0.66666662693f + Lg2 = reinterpret(0x3ECCCE13), // 0xccce13.0p-25f, 0.40000972152f + Lg3 = reinterpret(0x3E91E9EE), // 0x91e9ee.0p-25f, 0.28498786688f + Lg4 = reinterpret(0x3E789E26); // 0xf89e26.0p-26f, 0.24279078841f + + let ix = reinterpret(x); + let c: f32 = 0; + let f: f32 = 0; + let k = 1; + if (ix < 0x3ED413D0 || bool(ix >> 31)) { + if (ix >= 0xBF800000) { + if (x == -1) return x / 0.0; + return (x - x) / 0.0; + } + if (ix << 1 < 0x33800000 << 1) return x; + if (ix <= 0xBE95F619) { + k = 0; + c = 0; + f = x; + } + } else if (ix >= 0x7F800000) return x; + if (k) { + let uf: f32 = 1 + x; + let iu = reinterpret(uf); + iu += 0x3F800000 - 0x3F3504F3; + k = i32(iu >> 23) - 0x7F; + if (k < 25) { + c = k >= 2 ? 1 - (uf - x) : x - (uf - 1); + c /= uf; + } else c = 0; + iu = (iu & 0x007FFFFF) + 0x3F3504F3; + f = reinterpret(iu) - 1; + } + let s = f / (2.0 + f); + let z = s * s; + let w = z * z; + let t1 = w * (Lg2 + w * Lg4); + let t2 = z * (Lg1 + w * Lg3); + let r = t2 + t1; + let hfsq: f32 = 0.5 * f * f; + let dk = k; + return s * (hfsq + r) + (dk * ln2_lo + c) - hfsq + f + dk * ln2_hi; + } + + export function log2(x: f32): f32 { // see: musl/src/math/log2f.c and SUN COPYRIGHT NOTICE above + if (ASC_SHRINK_LEVEL < 1) { + return log2f_lut(x); + } else { + const + ivln2hi = reinterpret(0x3FB8B000), // 1.4428710938e+00f + ivln2lo = reinterpret(0xB9389AD4), // -1.7605285393e-04 + Lg1 = reinterpret(0x3F2AAAAA), // 0xaaaaaa.0p-24f, 0.66666662693f + Lg2 = reinterpret(0x3ECCCE13), // 0xccce13.0p-25f, 0.40000972152f + Lg3 = reinterpret(0x3E91E9EE), // 0x91e9ee.0p-25f, 0.28498786688f + Lg4 = reinterpret(0x3E789E26), // 0xf89e26.0p-26f, 0.24279078841f + Ox1p25f = reinterpret(0x4C000000); // 0x1p25f + + let ux = reinterpret(x); + let k = 0; + let sign = ux >> 31; + if (sign || ux < 0x00800000) { + if (ux << 1 == 0) return -1 / (x * x); + if (sign) return (x - x) / 0.0; + k -= 25; + x *= Ox1p25f; + ux = reinterpret(x); + } else if (ux >= 0x7F800000) { + return x; + } else if (ux == 0x3F800000) { + return 0; + } + ux += 0x3F800000 - 0x3F3504F3; + k += i32(ux >> 23) - 0x7F; + ux = (ux & 0x007FFFFF) + 0x3F3504F3; + x = reinterpret(ux); + let f = x - 1.0; + let s = f / (2.0 + f); + let z = s * s; + let w = z * z; + let t1 = w * (Lg2 + w * Lg4); + let t2 = z * (Lg1 + w * Lg3); + let r = t2 + t1; + let hfsq: f32 = 0.5 * f * f; + let hi = f - hfsq; + let u = reinterpret(hi); + u &= 0xFFFFF000; + hi = reinterpret(u); + let lo: f32 = f - hi - hfsq + s * (hfsq + r); + let dk = k; + return (lo + hi) * ivln2lo + lo * ivln2hi + hi * ivln2hi + dk; + } + } + + // @ts-ignore: decorator + @inline + export function max(value1: f32, value2: f32): f32 { + return builtin_max(value1, value2); + } + + // @ts-ignore: decorator + @inline + export function min(value1: f32, value2: f32): f32 { + return builtin_min(value1, value2); + } + + export function pow(x: f32, y: f32): f32 { + // TODO: remove this fast pathes after introduced own mid-end IR with "stdlib call simplify" transforms + if (builtin_abs(y) <= 2) { + if (y == 2.0) return x * x; + if (y == 0.5) { + return select( + builtin_abs(builtin_sqrt(x)), + Infinity, + x != -Infinity + ); + } + if (y == -1.0) return 1 / x; + if (y == 1.0) return x; + if (y == 0.0) return 1.0; + } + if (ASC_SHRINK_LEVEL < 1) { + // see: musl/src/math/powf.c + return powf_lut(x, y); + } else { + // based on: jdh8/metallic/src/math/float/powf.c + if (y == 0) return 1; + // @ts-ignore: cast + if (isNaN(x) | isNaN(y)) { + return NaN; + } + let sign: u32 = 0; + let uy = reinterpret(y); + let ux = reinterpret(x); + let sx = ux >> 31; + ux &= 0x7FFFFFFF; + if (sx && nearest(y) == y) { + x = -x; + sx = 0; + sign = u32(nearest(y * 0.5) != y * 0.5) << 31; + } + let m: u32; + if (ux == 0x3F800000) { // x == 1 + m = sx | u32((uy & 0x7FFFFFFF) == 0x7F800000) ? 0x7FC00000 : 0x3F800000; + } else if (ux == 0) { + m = uy < 0 ? 0x7F800000 : 0; + } else if (ux == 0x7F800000) { + m = uy < 0 ? 0 : 0x7F800000; + } else if (sx) { + m = 0x7FC00000; + } else { + m = reinterpret(exp2f(y * log2f(x))); + } + return reinterpret(m | sign); + } + } + + // @ts-ignore: decorator + @inline + export function seedRandom(value: i64): void { + NativeMath.seedRandom(value); + } + + // Using xoroshiro64starstar from http://xoshiro.di.unimi.it/xoroshiro64starstar.c + export function random(): f32 { + if (!random_seeded) seedRandom(reinterpret(seed())); + + let s0 = random_state0_32; + let s1 = random_state1_32; + let r = rotl(s0 * 0x9E3779BB, 5) * 5; + + s1 ^= s0; + random_state0_32 = rotl(s0, 26) ^ s1 ^ (s1 << 9); + random_state1_32 = rotl(s1, 13); + + return reinterpret((r >> 9) | (127 << 23)) - 1.0; + } + + export function round(x: f32): f32 { + if (ASC_SHRINK_LEVEL > 0) { + return builtin_ceil(x) - f32(builtin_ceil(x) - 0.5 > x); + } else { + let roundUp = builtin_ceil(x); + return select(roundUp, roundUp - 1.0, roundUp - 0.5 <= x); + } + } + + export function sign(x: f32): f32 { + if (ASC_SHRINK_LEVEL > 0) { + return select(builtin_copysign(1, x), x, builtin_abs(x) > 0); + } else { + return select(1, select(-1, x, x < 0), x > 0); + } + } + + // @ts-ignore: decorator + @inline + export function signbit(x: f32): bool { + return (reinterpret(x) >>> 31); + } + + export function sin(x: f32): f32 { // see: musl/src/math/sinf.c + const + s1pio2 = reinterpret(0x3FF921FB54442D18), // M_PI_2 * 1 + s2pio2 = reinterpret(0x400921FB54442D18), // M_PI_2 * 2 + s3pio2 = reinterpret(0x4012D97C7F3321D2), // M_PI_2 * 3 + s4pio2 = reinterpret(0x401921FB54442D18); // M_PI_2 * 4 + + let ux = reinterpret(x); + let sign = ux >> 31; + ux &= 0x7FFFFFFF; + + if (ux <= 0x3F490FDA) { // |x| ~<= π/4 + if (ux < 0x39800000) { // |x| < 2**-12 + return x; + } + return sin_kernf(x); + } + + if (ASC_SHRINK_LEVEL < 1) { + if (ux <= 0x407B53D1) { // |x| ~<= 5π/4 + if (ux <= 0x4016CBE3) { // |x| ~<= 3π/4 + return sign ? -cos_kernf(x + s1pio2) : cos_kernf(x - s1pio2); + } + return sin_kernf(-(sign ? x + s2pio2 : x - s2pio2)); + } + + if (ux <= 0x40E231D5) { // |x| ~<= 9π/4 + if (ux <= 0x40AFEDDF) { // |x| ~<= 7π/4 + return sign ? cos_kernf(x + s3pio2) : -cos_kernf(x - s3pio2); + } + return sin_kernf(sign ? x + s4pio2 : x - s4pio2); + } + } + + // sin(Inf or NaN) is NaN + if (ux >= 0x7F800000) return x - x; + + let n = rempio2f(x, ux, sign); + let y = rempio2f_y; + + let t = n & 1 ? cos_kernf(y) : sin_kernf(y); + return n & 2 ? -t : t; + } + + export function sinh(x: f32): f32 { // see: musl/src/math/sinhf.c + let u = reinterpret(x) & 0x7FFFFFFF; + let a = reinterpret(u); + let h = builtin_copysign(0.5, x); + if (u < 0x42B17217) { + let t = expm1(a); + if (u < 0x3F800000) { + if (u < 0x3F800000 - (12 << 23)) return x; + return h * (2 * t - t * t / (t + 1)); + } + return h * (t + t / (t + 1)); + } + return expo2f(a, 2 * h); + } + + // @ts-ignore: decorator + @inline + export function sqrt(x: f32): f32 { + return builtin_sqrt(x); + } + + export function tan(x: f32): f32 { // see: musl/src/math/tanf.c + const + t1pio2 = reinterpret(0x3FF921FB54442D18), // 1 * M_PI_2 + t2pio2 = reinterpret(0x400921FB54442D18), // 2 * M_PI_2 + t3pio2 = reinterpret(0x4012D97C7F3321D2), // 3 * M_PI_2 + t4pio2 = reinterpret(0x401921FB54442D18); // 4 * M_PI_2 + + let ux = reinterpret(x); + let sign = ux >> 31; + ux &= 0x7FFFFFFF; + + if (ux <= 0x3F490FDA) { // |x| ~<= π/4 + if (ux < 0x39800000) { // |x| < 2**-12 + return x; + } + return tan_kernf(x, 0); + } + + if (ASC_SHRINK_LEVEL < 1) { + if (ux <= 0x407B53D1) { // |x| ~<= 5π/4 + if (ux <= 0x4016CBE3) { // |x| ~<= 3π/4 + return tan_kernf((sign ? x + t1pio2 : x - t1pio2), 1); + } else { + return tan_kernf((sign ? x + t2pio2 : x - t2pio2), 0); + } + } + if (ux <= 0x40E231D5) { // |x| ~<= 9π/4 + if (ux <= 0x40AFEDDF) { // |x| ~<= 7π/4 + return tan_kernf((sign ? x + t3pio2 : x - t3pio2), 1); + } else { + return tan_kernf((sign ? x + t4pio2 : x - t4pio2), 0); + } + } + } + + // tan(Inf or NaN) is NaN + if (ux >= 0x7F800000) return x - x; + + // argument reduction + let n = rempio2f(x, ux, sign); + let y = rempio2f_y; + return tan_kernf(y, n & 1); + } + + export function tanh(x: f32): f32 { // see: musl/src/math/tanhf.c + let u = reinterpret(x); + u &= 0x7FFFFFFF; + let y = reinterpret(u); + let t: f32; + if (u > 0x3F0C9F54) { + if (u > 0x41200000) t = 1 + 0 / y; + else { + t = expm1(2 * y); + t = 1 - 2 / (t + 2); + } + } else if (u > 0x3E82C578) { + t = expm1(2 * y); + t = t / (t + 2); + } else if (u >= 0x00800000) { + t = expm1(-2 * y); + t = -t / (t + 2); + } else t = y; + return builtin_copysign(t, x); + } + + // @ts-ignore: decorator + @inline + export function trunc(x: f32): f32 { + return builtin_trunc(x); + } + + export function scalbn(x: f32, n: i32): f32 { // see: https://git.musl-libc.org/cgit/musl/tree/src/math/scalbnf.c + const + Ox1p24f = reinterpret(0x4B800000), + Ox1p127f = reinterpret(0x7F000000), + Ox1p_126f = reinterpret(0x00800000); + + let y = x; + if (n > 127) { + y *= Ox1p127f; + n -= 127; + if (n > 127) { + y *= Ox1p127f; + n = builtin_min(n - 127, 127); + } + } else if (n < -126) { + y *= Ox1p_126f * Ox1p24f; + n += 126 - 24; + if (n < -126) { + y *= Ox1p_126f * Ox1p24f; + n = builtin_max(n + 126 - 24, -126); + } + } + return y * reinterpret((0x7F + n) << 23); + } + + export function mod(x: f32, y: f32): f32 { // see: musl/src/math/fmodf.c + if (builtin_abs(y) == 1.0) { + // x % 1, x % -1 ==> sign(x) * abs(x - 1.0 * trunc(x / 1.0)) + // TODO: move this rule to compiler's optimization pass. + // It could be apply for any x % C_pot, where "C_pot" is pow of two const. + return builtin_copysign(x - builtin_trunc(x), x); + } + let ux = reinterpret(x); + let uy = reinterpret(y); + let ex = i32(ux >> 23 & 0xFF); + let ey = i32(uy >> 23 & 0xFF); + let sm = ux & 0x80000000; + let uy1 = uy << 1; + if (uy1 == 0 || ex == 0xFF || isNaN(y)) { + let m = x * y; + return m / m; + } + let ux1 = ux << 1; + if (ux1 <= uy1) { + return x * f32(ux1 != uy1); + } + if (!ex) { + ex -= builtin_clz(ux << 9); + ux <<= 1 - ex; + } else { + ux &= -1 >> 9; + ux |= 1 << 23; + } + if (!ey) { + ey -= builtin_clz(uy << 9); + uy <<= 1 - ey; + } else { + uy &= u32(-1) >> 9; + uy |= 1 << 23; + } + while (ex > ey) { + if (ux >= uy) { + if (ux == uy) return 0 * x; + ux -= uy; + } + ux <<= 1; + --ex; + } + if (ux >= uy) { + if (ux == uy) return 0 * x; + ux -= uy; + } + // for (; !(ux >> 23); ux <<= 1) --ex; + let shift = builtin_clz(ux << 8); + ex -= shift; + ux <<= shift; + if (ex > 0) { + ux -= 1 << 23; + ux |= ex << 23; + } else { + ux >>= -ex + 1; + } + return reinterpret(ux | sm); + } + + export function rem(x: f32, y: f32): f32 { // see: musl/src/math/remquof.c + let ux = reinterpret(x); + let uy = reinterpret(y); + let ex = i32(ux >> 23 & 0xFF); + let ey = i32(uy >> 23 & 0xFF); + let uxi = ux; + if (uy << 1 == 0 || ex == 0xFF || isNaN(y)) return (x * y) / (x * y); + if (ux << 1 == 0) return x; + if (!ex) { + ex -= builtin_clz(uxi << 9); + uxi <<= 1 - ex; + } else { + uxi &= u32(-1) >> 9; + uxi |= 1 << 23; + } + if (!ey) { + ey -= builtin_clz(uy << 9); + uy <<= 1 - ey; + } else { + uy &= u32(-1) >> 9; + uy |= 1 << 23; + } + let q = 0; + do { + if (ex < ey) { + if (ex + 1 == ey) break; // goto end + return x; + } + while (ex > ey) { + if (uxi >= uy) { + uxi -= uy; + ++q; + } + uxi <<= 1; + q <<= 1; + --ex; + } + if (uxi >= uy) { + uxi -= uy; + ++q; + } + if (uxi == 0) ex = -30; + else { + let shift = builtin_clz(uxi << 8); + ex -= shift; + uxi <<= shift; + } + break; + } while (false); + // end: + if (ex > 0) { + uxi -= 1 << 23; + uxi |= ex << 23; + } else { + uxi >>= -ex + 1; + } + x = reinterpret(uxi); + y = builtin_abs(y); + let x2 = x + x; + if (ex == ey || (ex + 1 == ey && (x2 > y || (x2 == y && bool(q & 1))))) { + x -= y; + // q++; + } + return ux < 0 ? -x : x; + } + + export function sincos(x: f32): void { // see: musl/tree/src/math/sincosf.c + const + s1pio2 = reinterpret(0x3FF921FB54442D18), // 1 * M_PI_2 + s2pio2 = reinterpret(0x400921FB54442D18), // 2 * M_PI_2 + s3pio2 = reinterpret(0x4012D97C7F3321D2), // 3 * M_PI_2 + s4pio2 = reinterpret(0x401921FB54442D18); // 4 * M_PI_2 + + let ux = reinterpret(x); + let sign = ux >> 31; + ux &= 0x7FFFFFFF; + + if (ux <= 0x3F490FDA) { // |x| ~<= π/4 + if (ux < 0x39800000) { // |x| < 2**-12 + sincos_sin = x; + sincos_cos = 1; + return; + } + sincos_sin = sin_kernf(x); + sincos_cos = cos_kernf(x); + return; + } + if (ASC_SHRINK_LEVEL < 1) { + if (ux <= 0x407B53D1) { // |x| ~<= 5π/4 + if (ux <= 0x4016CBE3) { // |x| ~<= 3π/4 + if (sign) { + sincos_sin = -cos_kernf(x + s1pio2); + sincos_cos = sin_kernf(x + s1pio2); + } else { + sincos_sin = cos_kernf(s1pio2 - x); + sincos_cos = sin_kernf(s1pio2 - x); + } + return; + } + // -sin(x + c) is not correct if x+c could be 0: -0 vs +0 + sincos_sin = -sin_kernf(sign ? x + s2pio2 : x - s2pio2); + sincos_cos = -cos_kernf(sign ? x + s2pio2 : x - s2pio2); + return; + } + if (ux <= 0x40E231D5) { // |x| ~<= 9π/4 + if (ux <= 0x40AFEDDF) { // |x| ~<= 7π/4 + if (sign) { + sincos_sin = cos_kernf(x + s3pio2); + sincos_cos = -sin_kernf(x + s3pio2); + } else { + sincos_sin = -cos_kernf(x - s3pio2); + sincos_cos = sin_kernf(x - s3pio2); + } + return; + } + sincos_sin = sin_kernf(sign ? x + s4pio2 : x - s4pio2); + sincos_cos = cos_kernf(sign ? x + s4pio2 : x - s4pio2); + return; + } + } + // sin(Inf or NaN) is NaN + if (ux >= 0x7F800000) { + let xx = x - x; + sincos_sin = xx; + sincos_cos = xx; + return; + } + // general argument reduction needed + let n = rempio2f(x, ux, sign); + let y = rempio2f_y; + let s = sin_kernf(y); + let c = cos_kernf(y); + let sin = s, cos = c; + if (n & 1) { + sin = c; + cos = -s; + } + if (n & 2) { + sin = -sin; + cos = -cos; + } + sincos_sin = sin; + sincos_cos = cos; + } +} + +export function ipow32(x: i32, e: i32): i32 { + let out = 1; + if (ASC_SHRINK_LEVEL < 1) { + if (x == 2) { + return select(1 << e, 0, e < 32); + } + if (e <= 0) { + if (x == -1) return select(-1, 1, e & 1); + return i32(e == 0) | i32(x == 1); + } + else if (e == 1) return x; + else if (e == 2) return x * x; + else if (e < 32) { + let log = 32 - clz(e); + // 32 = 2 ^ 5, so need only five cases. + // But some extra cases needs for properly overflowing + switch (log) { + case 5: { + if (e & 1) out *= x; + e >>>= 1; + x *= x; + } + case 4: { + if (e & 1) out *= x; + e >>>= 1; + x *= x; + } + case 3: { + if (e & 1) out *= x; + e >>>= 1; + x *= x; + } + case 2: { + if (e & 1) out *= x; + e >>>= 1; + x *= x; + } + case 1: { + if (e & 1) out *= x; + } + } + return out; + } + } + while (e) { + if (e & 1) out *= x; + e >>>= 1; + x *= x; + } + return out; +} + +export function ipow64(x: i64, e: i64): i64 { + let out: i64 = 1; + if (ASC_SHRINK_LEVEL < 1) { + if (x == 2) { + return select(1 << e, 0, e < 64); + } + if (e <= 0) { + if (x == -1) return select(-1, 1, e & 1); + return i64(e == 0) | i64(x == 1); + } + else if (e == 1) return x; + else if (e == 2) return x * x; + else if (e < 64) { + let log = 64 - clz(e); + // 64 = 2 ^ 6, so need only six cases. + // But some extra cases needs for properly overflowing + switch (log) { + case 6: { + if (e & 1) out *= x; + e >>>= 1; + x *= x; + } + case 5: { + if (e & 1) out *= x; + e >>>= 1; + x *= x; + } + case 4: { + if (e & 1) out *= x; + e >>>= 1; + x *= x; + } + case 3: { + if (e & 1) out *= x; + e >>>= 1; + x *= x; + } + case 2: { + if (e & 1) out *= x; + e >>>= 1; + x *= x; + } + case 1: { + if (e & 1) out *= x; + } + } + return out; + } + } + while (e) { + if (e & 1) out *= x; + e >>>= 1; + x *= x; + } + return out; +} + +/* +TODO: +In compile time if only exponent is constant we could replace ipow32/ipow64 by shortest addition chains +which usually faster than exponentiation by squaring + +for ipow32 and e < 32: + +let b: i32, c: i32, d: i32, h: i32, k: i32, g: i32; +switch (e) { + case 1: return x; + case 2: return x * x; + case 3: return x * x * x; + case 4: return (b = x * x) * b; + case 5: return (b = x * x) * b * x; + case 6: return (b = x * x) * b * b; + case 7: return (b = x * x) * b * b * x; + case 8: return (d = (b = x * x) * b) * d; + case 9: return (c = x * x * x) * c * c; + case 10: return (d = (b = x * x) * b) * d * b; + case 11: return (d = (b = x * x) * b) * d * b * x; + case 12: return (d = (b = x * x) * b) * d * d; + case 13: return (d = (b = x * x) * b) * d * d * x; + case 14: return (d = (b = x * x) * b) * d * d * b; + case 15: return (k = (b = x * x) * b * x) * k * k; + case 16: return (h = (d = (b = x * x) * b) * d) * h; + case 17: return (h = (d = (b = x * x) * b) * d) * h * x; + case 18: return (h = (d = (b = x * x) * b) * d * x) * h; + case 19: return (h = (d = (b = x * x) * b) * d * x) * h * x; + case 20: return (h = (k = (b = x * x) * b * x) * k) * h; + case 21: return (h = (k = (b = x * x) * b * x) * k) * h * x; + case 22: return (g = (h = (k = (b = x * x) * b * x) * k) * x) * g; + case 23: return (h = (d = (c = (b = x * x) * x) * b) * d) * h * c; + case 24: return (h = (d = (c = x * x * x) * c) * d) * h; + case 25: return (h = (d = (c = x * x * x) * c) * d) * h * x; + case 26: return (g = (h = (d = (c = x * x * x) * c) * d) * x) * g; + case 27: return (h = (d = (c = x * x * x) * c) * d) * h * c; + case 28: return (h = (d = (c = x * x * x) * c * x) * d) * h; + case 29: return (h = (d = (c = x * x * x) * c * x) * d) * h * x; + case 30: return (h = (d = (c = x * x * x) * c) * d * c) * h; + case 31: return (h = (d = (c = x * x * x) * c) * d * c) * h * x; +} + +for ipow64: TODO +switch (e) { + case 32: + ... + case 63: +} +*/ diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/memory.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/memory.ts new file mode 100644 index 00000000..5bff3516 --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/std/assembly/memory.ts @@ -0,0 +1,123 @@ +import { memcmp, memmove, memset } from "./util/memory"; +import { E_NOTIMPLEMENTED } from "./util/error"; + +/** Memory manager interface. */ +export namespace memory { + + /** Gets the size of the memory in pages. */ + // @ts-ignore: decorator + @builtin + export declare function size(): i32; + + /** Grows the memory by the given size in pages and returns the previous size in pages. */ + // @ts-ignore: decorator + @unsafe @builtin + export declare function grow(pages: i32): i32; + + /** Fills a section in memory with the specified byte value. */ + // @ts-ignore: decorator + @unsafe @builtin + export function fill(dst: usize, c: u8, n: usize): void { + memset(dst, c, n); // fallback if "bulk-memory" isn't enabled + } + + /** Copies a section of memory to another. Has move semantics. */ + // @ts-ignore: decorator + @unsafe @builtin + export function copy(dst: usize, src: usize, n: usize): void { + memmove(dst, src, n); // fallback if "bulk-memory" isn't enabled + } + + export namespace atomic { + + // @ts-ignore: decorator + @unsafe @builtin + export declare function wait32(ptr: usize, expected: i32, timeout: i64): AtomicWaitResult; + + // @ts-ignore: decorator + @unsafe @builtin + export declare function wait64(ptr: usize, expected: i64, timeout: i64): AtomicWaitResult; + } + + /** Initializes a memory segment. */ + // @ts-ignore: decorator + @unsafe + export function init(segmentIndex: u32, srcOffset: usize, dstOffset: usize, n: usize): void { + throw new Error(E_NOTIMPLEMENTED); + } + + /** Drops a memory segment. */ + // @ts-ignore: decorator + @unsafe + export function drop(segmentIndex: u32): void { + throw new Error(E_NOTIMPLEMENTED); + } + + /** Repeats a section of memory at a specific address. */ + // @ts-ignore: decorator + @unsafe + export function repeat(dst: usize, src: usize, srcLength: usize, count: usize): void { + let index: usize = 0; + let total = srcLength * count; + while (index < total) { + memory.copy(dst + index, src, srcLength); + index += srcLength; + } + } + + /** Compares a section of memory to another. */ + // @ts-ignore: decorator + @inline + export function compare(vl: usize, vr: usize, n: usize): i32 { + return memcmp(vl, vr, n); + } + + /** Gets a pointer to a static chunk of memory of the given size. */ + // @ts-ignore: decorator + @builtin + export declare function data(size: T, align?: i32): usize; +} + +// @ts-ignore: decorator +@builtin +export declare const __data_end: usize; + +// @ts-ignore: decorator +@builtin +export declare let __stack_pointer: usize; + +// @ts-ignore: decorator +@builtin +export declare const __heap_base: usize; + +/** Heap memory interface. */ +export namespace heap { + + /** Allocates a chunk of memory of at least the specified size. */ + // @ts-ignore: decorator + @unsafe export function alloc(size: usize): usize { + return __alloc(size); + } + + /** Reallocates a chunk of memory to have at least the specified size. */ + // @ts-ignore: decorator + @unsafe export function realloc(ptr: usize, size: usize): usize { + return __realloc(ptr, size); + } + + /** Frees a chunk of memory. Does hardly anything (most recent block only) with the stub runtime. */ + // @ts-ignore: decorator + @unsafe export function free(ptr: usize): void { + __free(ptr); + } + + /** Dangerously resets the entire heap. Specific to the stub runtime. */ + // @ts-ignore: decorator + @unsafe export function reset(): void { + if (isDefined(__reset)) { + __reset(); + } else { + throw new Error(E_NOTIMPLEMENTED); + } + } +} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/number.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/number.ts new file mode 100644 index 00000000..47a4a7a9 --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/std/assembly/number.ts @@ -0,0 +1,388 @@ +import { itoa32, utoa32, itoa64, utoa64, dtoa } from "./util/number"; +import { strtol, strtod } from "./util/string"; + +// @ts-ignore: decorator +@builtin @inline +export const NaN: f64 = 0 / 0; // context-aware + +// @ts-ignore: decorator +@builtin @inline +export const Infinity: f64 = 1 / 0; // context-aware + +// @ts-ignore: decorator +@builtin +export declare function isNaN(value: T): bool; + +// @ts-ignore: decorator +@builtin +export declare function isFinite(value: T): bool; + +@final @unmanaged +export abstract class I8 { + + // @ts-ignore: decorator + @lazy + static readonly MIN_VALUE: i8 = i8.MIN_VALUE; + + // @ts-ignore: decorator + @lazy + static readonly MAX_VALUE: i8 = i8.MAX_VALUE; + + /** @deprecated */ + static parseInt(value: string, radix: i32 = 0): i8 { + return strtol(value, radix); + } + + toString(this: i8, radix: i32 = 10): String { + return itoa32(this, radix); + } +} + +@final @unmanaged +export abstract class I16 { + + // @ts-ignore: decorator + @lazy + static readonly MIN_VALUE: i16 = i16.MIN_VALUE; + + // @ts-ignore: decorator + @lazy + static readonly MAX_VALUE: i16 = i16.MAX_VALUE; + + /** @deprecated */ + static parseInt(value: string, radix: i32 = 0): i16 { + return strtol(value, radix); + } + + toString(this: i16, radix: i32 = 10): String { + return itoa32(this, radix); + } +} + +@final @unmanaged +export abstract class I32 { + + // @ts-ignore: decorator + @lazy + static readonly MIN_VALUE: i32 = i32.MIN_VALUE; + + // @ts-ignore: decorator + @lazy + static readonly MAX_VALUE: i32 = i32.MAX_VALUE; + + /** @deprecated */ + static parseInt(value: string, radix: i32 = 0): i32 { + return strtol(value, radix); + } + + toString(this: i32, radix: i32 = 10): String { + return itoa32(this, radix); + } +} + +@final @unmanaged +export abstract class I64 { + + // @ts-ignore: decorator + @lazy + static readonly MIN_VALUE: i64 = i64.MIN_VALUE; + + // @ts-ignore: decorator + @lazy + static readonly MAX_VALUE: i64 = i64.MAX_VALUE; + + /** @deprecated */ + static parseInt(value: string, radix: i32 = 0): i64 { + return strtol(value, radix); + } + + toString(this: i64, radix: i32 = 10): String { + return itoa64(this, radix); + } +} + +@final @unmanaged +export abstract class Isize { + + // @ts-ignore: decorator + @lazy + static readonly MIN_VALUE: isize = isize.MIN_VALUE; + + // @ts-ignore: decorator + @lazy + static readonly MAX_VALUE: isize = isize.MAX_VALUE; + + /** @deprecated */ + static parseInt(value: string, radix: i32 = 0): isize { + return strtol(value, radix); + } + + toString(this: isize, radix: i32 = 10): String { + if (sizeof() == 4) { + return itoa32(this, radix); + } else { + return itoa64(this, radix); + } + } +} + +@final @unmanaged +export abstract class U8 { + + // @ts-ignore: decorator + @lazy + static readonly MIN_VALUE: u8 = u8.MIN_VALUE; + + // @ts-ignore: decorator + @lazy + static readonly MAX_VALUE: u8 = u8.MAX_VALUE; + + /** @deprecated */ + static parseInt(value: string, radix: i32 = 0): u8 { + return strtol(value, radix); + } + + toString(this: u8, radix: i32 = 10): String { + return utoa32(this, radix); + } +} + +@final @unmanaged +export abstract class U16 { + + // @ts-ignore: decorator + @lazy + static readonly MIN_VALUE: u16 = u16.MIN_VALUE; + + // @ts-ignore: decorator + @lazy + static readonly MAX_VALUE: u16 = u16.MAX_VALUE; + + /** @deprecated */ + static parseInt(value: string, radix: i32 = 0): u16 { + return strtol(value, radix); + } + + toString(this: u16, radix: i32 = 10): String { + return utoa32(this, radix); + } +} + +@final @unmanaged +export abstract class U32 { + + // @ts-ignore: decorator + @lazy + static readonly MIN_VALUE: u32 = u32.MIN_VALUE; + + // @ts-ignore: decorator + @lazy + static readonly MAX_VALUE: u32 = u32.MAX_VALUE; + + /** @deprecated */ + static parseInt(value: string, radix: i32 = 0): u32 { + return strtol(value, radix); + } + + toString(this: u32, radix: i32 = 10): String { + return utoa32(this, radix); + } +} + +@final @unmanaged +export abstract class U64 { + + // @ts-ignore: decorator + @lazy + static readonly MIN_VALUE: u64 = u64.MIN_VALUE; + + // @ts-ignore: decorator + @lazy + static readonly MAX_VALUE: u64 = u64.MAX_VALUE; + + /** @deprecated */ + static parseInt(value: string, radix: i32 = 0): u64 { + return strtol(value, radix); + } + + toString(this: u64, radix: i32 = 10): String { + return utoa64(this, radix); + } +} + +@final @unmanaged +export abstract class Usize { + + // @ts-ignore: decorator + @lazy + static readonly MIN_VALUE: usize = usize.MIN_VALUE; + + // @ts-ignore: decorator + @lazy + static readonly MAX_VALUE: usize = usize.MAX_VALUE; + + /** @deprecated */ + static parseInt(value: string, radix: i32 = 0): usize { + return strtol(value, radix); + } + + toString(this: usize, radix: i32 = 10): String { + if (sizeof() == 4) { + return utoa32(this, radix); + } else { + return utoa64(this, radix); + } + } +} + +@final @unmanaged +export abstract class Bool { + + // @ts-ignore: decorator + @lazy + static readonly MIN_VALUE: bool = bool.MIN_VALUE; + + // @ts-ignore: decorator + @lazy + static readonly MAX_VALUE: bool = bool.MAX_VALUE; + + toString(this: bool, radix: i32 = 0): String { + return this ? "true" : "false"; + } +} + +export { Bool as Boolean }; + +@final @unmanaged +export abstract class F32 { + + // @ts-ignore: decorator + @lazy + static readonly EPSILON: f32 = f32.EPSILON; + + // @ts-ignore: decorator + @lazy + static readonly MIN_VALUE: f32 = f32.MIN_VALUE; + + // @ts-ignore: decorator + @lazy + static readonly MAX_VALUE: f32 = f32.MAX_VALUE; + + // @ts-ignore: decorator + @lazy + static readonly MIN_SAFE_INTEGER: f32 = f32.MIN_SAFE_INTEGER; + + // @ts-ignore: decorator + @lazy + static readonly MAX_SAFE_INTEGER: f32 = f32.MAX_SAFE_INTEGER; + + // @ts-ignore: decorator + @lazy + static readonly POSITIVE_INFINITY: f32 = f32.POSITIVE_INFINITY; + + // @ts-ignore: decorator + @lazy + static readonly NEGATIVE_INFINITY: f32 = f32.NEGATIVE_INFINITY; + + // @ts-ignore: decorator + @lazy + static readonly NaN: f32 = f32.NaN; + + static isNaN(value: f32): bool { + return isNaN(value); + } + + static isFinite(value: f32): bool { + return isFinite(value); + } + + static isSafeInteger(value: f32): bool { + return abs(value) <= f32.MAX_SAFE_INTEGER && trunc(value) == value; + } + + static isInteger(value: f32): bool { + return isFinite(value) && trunc(value) == value; + } + + /** @deprecated */ + static parseInt(value: string, radix: i32 = 0): f32 { + return strtol(value, radix); + } + + /** @deprecated */ + static parseFloat(value: string): f32 { + return strtod(value); + } + + toString(this: f32, radix: i32 = 0): String { + return dtoa(this); + } +} + +@final @unmanaged +export abstract class F64 { + + // @ts-ignore: decorator + @lazy + static readonly EPSILON: f64 = f64.EPSILON; + + // @ts-ignore: decorator + @lazy + static readonly MIN_VALUE: f64 = f64.MIN_VALUE; + + // @ts-ignore: decorator + @lazy + static readonly MAX_VALUE: f64 = f64.MAX_VALUE; + + // @ts-ignore: decorator + @lazy + static readonly MIN_SAFE_INTEGER: f64 = f64.MIN_SAFE_INTEGER; + + // @ts-ignore: decorator + @lazy + static readonly MAX_SAFE_INTEGER: f64 = f64.MAX_SAFE_INTEGER; + + // @ts-ignore: decorator + @lazy + static readonly POSITIVE_INFINITY: f64 = f64.POSITIVE_INFINITY; + + // @ts-ignore: decorator + @lazy + static readonly NEGATIVE_INFINITY: f64 = f64.NEGATIVE_INFINITY; + + // @ts-ignore: decorator + @lazy + static readonly NaN: f64 = f64.NaN; + + static isNaN(value: f64): bool { + return isNaN(value); + } + + static isFinite(value: f64): bool { + return isFinite(value); + } + + static isSafeInteger(value: f64): bool { + return abs(value) <= f64.MAX_SAFE_INTEGER && trunc(value) == value; + } + + static isInteger(value: f64): bool { + return isFinite(value) && trunc(value) == value; + } + + /** @deprecated */ + static parseInt(value: string, radix: i32 = 0): f64 { + return strtol(value, radix); + } + + /** @deprecated */ + static parseFloat(value: string): f64 { + return strtod(value); + } + + toString(this: f64, radix: i32 = 0): String { + return dtoa(this); + } +} + +export { F64 as Number }; diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/object.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/object.ts new file mode 100644 index 00000000..23f5740a --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/std/assembly/object.ts @@ -0,0 +1,36 @@ +export abstract class Object { + static is(x: T, y: T): bool { + if (isFloat()) { + // Float pointing is special we shoulr presere following identities: + // 0.0 !=-0.0 + // NaN == NaN + if (sizeof() == 8) { + return ( + bool(u32(x != x) & u32(y != y) | + u32(reinterpret(f64(x)) == reinterpret(f64(y)))) + ); + } else { + return ( + bool(u32(x != x) & u32(y != y) | + u32(reinterpret(f32(x)) == reinterpret(f32(y)))) + ); + } + } + // For references, strings, integers and booleans + return x == y; + } + + // TODO: Wrapper classes like `Function` override the `this` type of + // `toString`, which is covariant and hence fails to overload. Wrapper classes + // might need a different mechanism to indicate such special `this` types. + // toString(): string { + // return "[object Object]"; + // } +} + +// TODO: The types `Object` and `object` differ in TypeScript, in that the +// latter indicates any non-primitive type, not including `string` for example. +// The `object` type hence remains reserved for now, also to potentially address +// the above `toString` TODO in alternative ways. +// @ts-ignore: nolib +// export type object = Object; diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/performance.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/performance.ts new file mode 100644 index 00000000..201f4ad2 --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/std/assembly/performance.ts @@ -0,0 +1,9 @@ +import { + performance as performance_binding +} from "bindings/dom"; + +export namespace performance { + export function now(): f64 { + return performance_binding.now(); + } +} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/polyfills.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/polyfills.ts new file mode 100644 index 00000000..2f39f1f2 --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/std/assembly/polyfills.ts @@ -0,0 +1,27 @@ +export function bswap(value: T): T { + if (isInteger()) { + if (sizeof() == 1) { + return value; + } + if (sizeof() == 2) { + return (value << 8 | (value >> 8)); + } + if (sizeof() == 4) { + return ( + rotl(value & 0xFF00FF00, 8) | + rotr(value & 0x00FF00FF, 8) + ); + } + if (sizeof() == 8) { + let a = (value >> 8) & 0x00FF00FF00FF00FF; + let b = (value & 0x00FF00FF00FF00FF) << 8; + let v = a | b; + + a = (v >>> 16) & 0x0000FFFF0000FFFF; + b = (v & 0x0000FFFF0000FFFF) << 16; + + return rotr(a | b, 32); + } + } + ERROR("Unsupported generic type"); +} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/process.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/process.ts new file mode 100644 index 00000000..63c35e1b --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/std/assembly/process.ts @@ -0,0 +1,50 @@ +import { + Date as Date_binding, + performance as performance_binding +} from "bindings/dom"; + +import { + process as process_binding +} from "bindings/node"; + +export namespace process { + + // @ts-ignore: decorator + @lazy export const arch = sizeof() == 4 ? "wasm32" : "wasm64"; + + // @ts-ignore: decorator + @lazy export const platform = "wasm"; + + // @ts-ignore: decorator + @lazy export const argv = lazyArgv(); + + // @ts-ignore: decorator + @lazy export const env = lazyEnv(); + + // @ts-ignore: decorator + @lazy export let exitCode = 0; + + export function exit(code: i32 = exitCode): void { + process_binding.exit(code); + } + + export function time(): i64 { + return Date_binding.now(); + } + + export function hrtime(): u64 { + let now = performance_binding.now(); + let millis = now; + let fraction = now - millis; + return millis * 1000000 + (fraction * 1000000); + } +} + +function lazyArgv(): string[] { + return process_binding.argv; +} + +function lazyEnv(): Map { + // TODO: What about Node? + return new Map(); +} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/reference.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/reference.ts new file mode 100644 index 00000000..148f4567 --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/std/assembly/reference.ts @@ -0,0 +1,48 @@ +// Canonical aliases +export type funcref = ref_func | null; +export type externref = ref_extern | null; +export type anyref = ref_any | null; +export type eqref = ref_eq | null; +export type i31ref = ref_i31 | null; +export type structref = ref_struct | null; +export type arrayref = ref_array | null; +export type stringref = ref_string | null; +export type stringview_wtf8 = ref_stringview_wtf8 | null; +export type stringview_wtf16 = ref_stringview_wtf16 | null; +export type stringview_iter = ref_stringview_iter | null; + +@unmanaged +abstract class Ref { +} + +@final @unmanaged +export abstract class RefFunc extends Ref { +} + +@final @unmanaged +export abstract class RefExtern extends Ref { +} + +@final @unmanaged +export abstract class RefAny extends Ref { +} + +@final @unmanaged +export abstract class RefEq extends Ref { +} + +@final @unmanaged +export abstract class RefI31 extends Ref { +} + +@final @unmanaged +export abstract class RefStruct extends Ref { +} + +@final @unmanaged +export abstract class RefArray extends Ref { +} + +@final @unmanaged +export abstract class RefString extends Ref { +} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/regexp.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/regexp.ts new file mode 100644 index 00000000..8ed6063e --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/std/assembly/regexp.ts @@ -0,0 +1,12 @@ +export class RegExp { + + // @binding(CALL_NEW, [ STRING, STRING], OBJECT_HANDLE) + constructor(pattern: string, flags: string = "") { throw new Error("unreachable"); } + + // @binding(CALL_THIS, [ STRING ], PASS_THRU) + test(search: string): bool { throw new Error("unreachable"); } + + // @binding(CALL_THIS, [], STRING) + toString(): string { throw new Error("unreachable"); } + +} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/rt.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/rt.ts new file mode 100644 index 00000000..403e4b20 --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/std/assembly/rt.ts @@ -0,0 +1,87 @@ +import { Typeinfo, TypeinfoFlags } from "./shared/typeinfo"; +import { E_INDEXOUTOFRANGE } from "./util/error"; +import { ArrayBufferView } from "./arraybuffer"; + +// @ts-ignore: decorator +@builtin +export declare const __rtti_base: usize; + +// @ts-ignore: decorator +@builtin @unsafe +export declare function __visit_globals(cookie: u32): void; + +// @ts-ignore: decorator +@builtin @unsafe +export declare function __visit_members(ref: usize, cookie: u32): void; + +// @ts-ignore: decorator +@unsafe +export function __typeinfo(id: u32): TypeinfoFlags { + let ptr = __rtti_base; + if (id > load(ptr)) throw new Error(E_INDEXOUTOFRANGE); + return changetype(ptr + sizeof() + id * offsetof()).flags; +} + +// @ts-ignore: decorator +@unsafe +export function __newBuffer(size: usize, id: u32, data: usize = 0): usize { + let buffer = __new(size, id); + if (data) memory.copy(buffer, data, size); + return buffer; +} + +// @ts-ignore: decorator +@unsafe +export function __newArray(length: i32, alignLog2: usize, id: u32, data: usize = 0): usize { + let bufferSize = length << alignLog2; + // make sure `buffer` is tracked by the shadow stack + let buffer = changetype(__newBuffer(bufferSize, idof(), data)); + // ...since allocating the array may trigger GC steps + let array = __new(offsetof(), id); + store(array, changetype(buffer), offsetof("buffer")); + __link(array, changetype(buffer), false); + store(array, changetype(buffer), offsetof("dataStart")); + store(array, bufferSize, offsetof("byteLength")); + store(array, length, offsetof("length_")); + return array; +} + +// @ts-ignore: decorator +@global @unsafe +function __tostack(ptr: usize): usize { // eslint-disable-line + return ptr; +} + +// These are provided by the respective implementation, included as another entry file by asc: + +// // @ts-ignore: decorator +// @builtin @unsafe +// export declare function __alloc(size: usize): usize; + +// // @ts-ignore: decorator +// @builtin @unsafe +// export declare function __realloc(ptr: usize, size: usize): usize; + +// // @ts-ignore: decorator +// @builtin @unsafe +// export declare function __free(ptr: usize): void; + +// // @ts-ignore: decorator +// @builtin @unsafe +// export declare function __new(size: usize, id: u32): usize; + +// // @ts-ignore: decorator +// @builtin @unsafe +// export declare function __renew(ptr: usize, size: usize): usize; + +// // @ts-ignore: decorator +// @builtin @unsafe +// export declare function __link(parentPtr: usize, childPtr: usize, expectMultiple: bool): void; + +// // @ts-ignore: decorator +// @builtin @unsafe +// export declare function __collect(): void; + +// // @ts-ignore: decorator +// @builtin @unsafe +// export declare function __visit(ptr: usize, cookie: u32): void; diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/README.md b/platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/README.md new file mode 100644 index 00000000..6a27d565 --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/README.md @@ -0,0 +1,83 @@ +The AssemblyScript Runtime +========================== + +The runtime provides the functionality necessary to dynamically allocate and deallocate memory of objects, arrays and buffers, as well as collect garbage that is no longer used. The current implementation is either a Two-Color Mark & Sweep (TCMS) garbage collector that must be called manually when the execution stack is unwound or an Incremental Tri-Color Mark & Sweep (ITCMS) garbage collector that is fully automated with a shadow stack, implemented on top of a Two-Level Segregate Fit (TLSF) memory manager. It's not designed to be the fastest of its kind, but intentionally focuses on simplicity and ease of integration until we can replace it with the real deal, i.e. Wasm GC. + +Interface +--------- + +### Garbage collector / `--exportRuntime` + +* **__new**(size: `usize`, id: `u32` = 0): `usize`
+ Dynamically allocates a GC object of at least the specified size and returns its address. + Alignment is guaranteed to be 16 bytes to fit up to v128 values naturally. + GC-allocated objects cannot be used with `__realloc` and `__free`. + +* **__pin**(ptr: `usize`): `usize`
+ Pins the object pointed to by `ptr` externally so it and its directly reachable members and indirectly reachable objects do not become garbage collected. + +* **__unpin**(ptr: `usize`): `void`
+ Unpins the object pointed to by `ptr` externally so it can become garbage collected. + +* **__collect**(): `void`
+ Performs a full garbage collection. + +### Internals + +* **__alloc**(size: `usize`): `usize`
+ Dynamically allocates a chunk of memory of at least the specified size and returns its address. + Alignment is guaranteed to be 16 bytes to fit up to v128 values naturally. + +* **__realloc**(ptr: `usize`, size: `usize`): `usize`
+ Dynamically changes the size of a chunk of memory, possibly moving it to a new address. + +* **__free**(ptr: `usize`): `void`
+ Frees a dynamically allocated chunk of memory by its address. + +* **__renew**(ptr: `usize`, size: `usize`): `usize`
+ Like `__realloc`, but for `__new`ed GC objects. + +* **__link**(parentPtr: `usize`, childPtr: `usize`, expectMultiple: `bool`): `void`
+ Introduces a link from a parent object to a child object, i.e. upon `parent.field = child`. + +* **__visit**(ptr: `usize`, cookie: `u32`): `void`
+ Concrete visitor implementation called during traversal. Cookie can be used to indicate one of multiple operations. + +* **__visit_globals**(cookie: `u32`): `void`
+ Calls `__visit` on each global that is of a managed type. + +* **__visit_members**(ptr: `usize`, cookie: `u32`): `void`
+ Calls `__visit` on each member of the object pointed to by `ptr`. + +* **__typeinfo**(id: `u32`): `RTTIFlags`
+ Obtains the runtime type information for objects with the specified runtime id. Runtime type information is a set of flags indicating whether a type is managed, an array or similar, and what the relevant alignments when creating an instance externally are etc. + +ITCMS / `--runtime incremental` +----- + +The Incremental Tri-Color Mark & Sweep garbage collector maintains a separate shadow stack of managed values in the background to achieve full automation. Maintaining another stack introduces some overhead compared to the simpler Two-Color Mark & Sweep garbage collector, but makes it independent of whether the execution stack is unwound or not when it is invoked, so the garbage collector can run interleaved with the program. + +There are several constants one can experiment with to tweak ITCMS's automation: + +* `--use ASC_GC_GRANULARITY=1024`
+ How often to interrupt. The default of 1024 means "interrupt each 1024 bytes allocated". +* `--use ASC_GC_STEPFACTOR=200`
+ How long to interrupt. The default of 200% means "run at double the speed of allocations". +* `--use ASC_GC_IDLEFACTOR=200`
+ How long to idle. The default of 200% means "wait for memory to double before kicking in again". +* `--use ASC_GC_MARKCOST=1`
+ How costly it is to mark one object. Budget per interrupt is `GRANULARITY * STEPFACTOR / 100`. +* `--use ASC_GC_SWEEPCOST=10`
+ How costly it is to sweep one object. Budget per interrupt is `GRANULARITY * STEPFACTOR / 100`. + +TCMS / `--runtime minimal` +---- + +If automation and low pause times aren't strictly necessary, using the Two-Color Mark & Sweep garbage collector instead by invoking collection manually at appropriate times when the execution stack is unwound may be more performant as it simpler and has less overhead. The execution stack is typically unwound when invoking the collector externally, at a place that is not indirectly called from Wasm. + +STUB / `--runtime stub` +---- + +The stub is a maximally minimal runtime substitute, consisting of a simple and fast bump allocator with no means of freeing up memory again, except when freeing the respective most recently allocated object on top of the bump. Useful where memory is not a concern, and/or where it is sufficient to destroy the whole module including any potential garbage after execution. + +See also: [Garbage collection](https://www.assemblyscript.org/garbage-collection.html) diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/common.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/common.ts new file mode 100644 index 00000000..4be7c653 --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/common.ts @@ -0,0 +1,81 @@ +// Alignment guarantees + +// @ts-ignore: decorator +@inline export const AL_BITS: u32 = 4; // 16 bytes to fit up to v128 +// @ts-ignore: decorator +@inline export const AL_SIZE: usize = 1 << AL_BITS; +// @ts-ignore: decorator +@inline export const AL_MASK: usize = AL_SIZE - 1; + +// Extra debugging + +// @ts-ignore: decorator +@inline export const DEBUG = true; +// @ts-ignore: decorator +@inline export const TRACE = false; +// @ts-ignore: decorator +@inline export const RTRACE = isDefined(ASC_RTRACE); +// @ts-ignore: decorator +@inline export const PROFILE = isDefined(ASC_PROFILE); + +// Memory manager + +// ╒════════════ Memory manager block layout (32-bit) ═════════════╕ +// 3 2 1 +// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 bits +// ├─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┤ +// │ MM info │ -4 +// ╞>ptr═══════════════════════════════════════════════════════════╡ +// │ ... │ +@unmanaged export class BLOCK { + /** Memory manager info. */ + mmInfo: usize; +} + +/** Overhead of a memory manager block. */ +// @ts-ignore: decorator +@inline export const BLOCK_OVERHEAD: usize = offsetof(); + +/** Maximum size of a memory manager block's payload. */ +// @ts-ignore: decorator +@inline export const BLOCK_MAXSIZE: usize = (1 << 30) - BLOCK_OVERHEAD; + +// Garbage collector + +// ╒══════════ Garbage collector object layout (32-bit) ═══════════╕ +// 3 2 1 +// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 bits +// ├─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┤ +// │ Memory manager block │ -20 +// ╞═══════════════════════════════════════════════════════════════╡ +// │ GC info │ -16 +// ├───────────────────────────────────────────────────────────────┤ +// │ GC info │ -12 +// ├───────────────────────────────────────────────────────────────┤ +// │ RT id │ -8 +// ├───────────────────────────────────────────────────────────────┤ +// │ RT size │ -4 +// ╞>ptr═══════════════════════════════════════════════════════════╡ +// │ ... │ +@unmanaged export class OBJECT extends BLOCK { + /** Garbage collector info. */ + gcInfo: u32; + /** Garbage collector info. */ + gcInfo2: u32; + /** Runtime class id. */ + rtId: u32; + /** Runtime object size. */ + rtSize: u32; +} + +/** Overhead of a garbage collector object. Excludes memory manager block overhead. */ +// @ts-ignore: decorator +@inline export const OBJECT_OVERHEAD: usize = (offsetof() - BLOCK_OVERHEAD + AL_MASK) & ~AL_MASK; + +/** Maximum size of a garbage collector object's payload. */ +// @ts-ignore: decorator +@inline export const OBJECT_MAXSIZE: usize = BLOCK_MAXSIZE - OBJECT_OVERHEAD; + +/** Total of memory manager and garbage collector overhead. */ +// @ts-ignore: decorator +@inline export const TOTAL_OVERHEAD: usize = BLOCK_OVERHEAD + OBJECT_OVERHEAD; diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/index-incremental.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/index-incremental.ts new file mode 100644 index 00000000..4730344b --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/index-incremental.ts @@ -0,0 +1,2 @@ +import "rt/tlsf"; +import "rt/itcms"; diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/index-minimal.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/index-minimal.ts new file mode 100644 index 00000000..cf88ee15 --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/index-minimal.ts @@ -0,0 +1,2 @@ +import "rt/tlsf"; +import "rt/tcms"; diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/index-stub.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/index-stub.ts new file mode 100644 index 00000000..47f29beb --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/index-stub.ts @@ -0,0 +1 @@ +import "rt/stub"; diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/index.d.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/index.d.ts new file mode 100644 index 00000000..fbe1a778 --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/index.d.ts @@ -0,0 +1,37 @@ +// Memory manager +declare function __alloc(size: usize): usize; +declare function __realloc(ptr: usize, size: usize): usize; +declare function __free(ptr: usize): void; +declare function __reset(): void; + +// Garbage collector +declare function __new(size: usize, id: u32): usize; +declare function __renew(ptr: usize, size: usize): usize; +declare function __link(parentPtr: usize, childPtr: usize, expectMultiple: bool): void; +declare function __collect(): void; + +// Runtime type info +declare function __typeinfo(id: u32): u32; + +// Visitors +declare function __visit(ptr: usize, cookie: i32): void; +declare function __visit_globals(cookie: u32): void; +declare function __visit_members(ptr: usize, cookie: u32): void; + +// Allocation helpers +declare function __newBuffer(size: usize, id: u32, data?: usize): usize; +declare function __newArray(length: i32, alignLog2: usize, id: u32, data?: usize): usize; + +// Finalization +declare function __finalize(ptr: usize): void; + +// Debugging +declare const ASC_RTRACE: bool; +declare const ASC_PROFILE: bool; + +// Incremental GC constants +declare const ASC_GC_GRANULARITY: i32; +declare const ASC_GC_SWEEPFACTOR: i32; +declare const ASC_GC_IDLEFACTOR: i32; +declare const ASC_GC_MARKCOST: i32; +declare const ASC_GC_SWEEPCOST: i32; diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/itcms.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/itcms.ts new file mode 100644 index 00000000..b44b69af --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/itcms.ts @@ -0,0 +1,414 @@ +import { BLOCK, BLOCK_OVERHEAD, OBJECT_OVERHEAD, OBJECT_MAXSIZE, TOTAL_OVERHEAD, DEBUG, TRACE, RTRACE, PROFILE } from "./common"; +import { onvisit, oncollect, oninterrupt, onyield } from "./rtrace"; +import { TypeinfoFlags } from "../shared/typeinfo"; +import { E_ALLOCATION_TOO_LARGE, E_ALREADY_PINNED, E_NOT_PINNED } from "../util/error"; + +// === ITCMS: An incremental Tri-Color Mark & Sweep garbage collector === +// Adapted from Bach Le's μgc, see: https://github.com/bullno1/ugc + +// ╒═════════════╤══════════════ Colors ═══════════════════════════╕ +// │ Color │ Meaning │ +// ├─────────────┼─────────────────────────────────────────────────┤ +// │ WHITE* │ Unprocessed │ +// │ BLACK* │ Processed │ +// │ GRAY │ Processed with unprocessed children │ +// │ TRANSPARENT │ Manually pinned (always reachable) │ +// └─────────────┴─────────────────────────────────────────────────┘ +// * flipped between cycles + +// @ts-ignore: decorator +@lazy let white = 0; +// @ts-ignore: decorator +@inline const gray = 2; +// @ts-ignore: decorator +@inline const transparent = 3; +// @ts-ignore: decorator +@inline const COLOR_MASK = 3; + +/** Size in memory of all objects currently managed by the GC. */ +// @ts-ignore: decorator +@lazy let total: usize = 0; + +/** Currently transitioning from SWEEP to MARK state. */ +// @ts-ignore: decorator +@inline const STATE_IDLE = 0; +/** Currently marking reachable objects. */ +// @ts-ignore: decorator +@inline const STATE_MARK = 1; +/** Currently sweeping unreachable objects. */ +// @ts-ignore: decorator +@inline const STATE_SWEEP = 2; +/** Current collector state. */ +// @ts-ignore: decorator +@lazy let state = STATE_IDLE; + +// @ts-ignore: decorator +@lazy let fromSpace = initLazy(changetype(memory.data(offsetof()))); +// @ts-ignore: decorator +@lazy let toSpace = initLazy(changetype(memory.data(offsetof()))); +// @ts-ignore: decorator +@lazy let pinSpace = initLazy(changetype(memory.data(offsetof()))); +// @ts-ignore: decorator +@lazy let iter: Object = changetype(0); // unsafe initializion below + +function initLazy(space: Object): Object { + space.nextWithColor = changetype(space); + space.prev = space; + return space; +} + +/** Visit cookie indicating scanning of an object. */ +// @ts-ignore: decorator +@inline const VISIT_SCAN = 0; + +// ╒═══════════════ Managed object layout (32-bit) ════════════════╕ +// 3 2 1 +// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 bits +// ├─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┤ +// │ Memory manager block │ +// ╞═══════════════════════════════════════════════════════════╤═══╡ +// │ next │ C │ = nextWithColor +// ├───────────────────────────────────────────────────────────┴───┤ +// │ prev │ +// ├───────────────────────────────────────────────────────────────┤ +// │ rtId │ +// ├───────────────────────────────────────────────────────────────┤ +// │ rtSize │ +// ╞>ptr═══════════════════════════════════════════════════════════╡ +// │ ... │ +// C: color + +/** Represents a managed object in memory, consisting of a header followed by the object's data. */ +@unmanaged class Object extends BLOCK { + /** Pointer to the next object with color flags stored in the alignment bits. */ + nextWithColor: usize; // *u32 + /** Pointer to the previous object. */ + prev: Object; // *u32 + /** Runtime id. */ + rtId: u32; + /** Runtime size. */ + rtSize: u32; + + /** Gets the pointer to the next object. */ + get next(): Object { + return changetype(this.nextWithColor & ~COLOR_MASK); + } + + /** Sets the pointer to the next object. */ + set next(obj: Object) { + this.nextWithColor = changetype(obj) | (this.nextWithColor & COLOR_MASK); + } + + /** Gets this object's color. */ + get color(): i32 { + return i32(this.nextWithColor & COLOR_MASK); + } + + /** Sets this object's color. */ + set color(color: i32) { + this.nextWithColor = (this.nextWithColor & ~COLOR_MASK) | color; + } + + /** Gets the size of this object in memory. */ + get size(): usize { + return BLOCK_OVERHEAD + (this.mmInfo & ~3); + } + + /** Tests if this object is pointerfree. */ + get isPointerfree(): bool { + let rtId = this.rtId; + // 0: Object, 1: ArrayBuffer, 2: String + return rtId <= idof() || (__typeinfo(rtId) & TypeinfoFlags.POINTERFREE) != 0; + } + + /** Unlinks this object from its list. */ + unlink(): void { + let next = this.next; + if (next == null) { + if (DEBUG) assert(this.prev == null && changetype(this) < __heap_base); + return; // static data not yet linked + } + let prev = this.prev; + if (DEBUG) assert(prev); + next.prev = prev; + prev.next = next; + } + + /** Links this object to the specified list, with the given color. */ + linkTo(list: Object, withColor: i32): void { + let prev = list.prev; + this.nextWithColor = changetype(list) | withColor; + this.prev = prev; + prev.next = this; + list.prev = this; + } + + /** Marks this object as gray, that is reachable with unscanned children. */ + makeGray(): void { + if (this == iter) iter = assert(this.prev); + this.unlink(); + this.linkTo(toSpace, this.isPointerfree ? i32(!white) : gray); + } +} + +/** Visits all objects considered to be program roots. */ +function visitRoots(cookie: u32): void { + __visit_globals(cookie); + let pn = pinSpace; + let iter = pn.next; + while (iter != pn) { + if (DEBUG) assert(iter.color == transparent); + __visit_members(changetype(iter) + TOTAL_OVERHEAD, cookie); + iter = iter.next; + } +} + +/** Visits all objects on the stack. */ +function visitStack(cookie: u32): void { + let ptr = __stack_pointer; + while (ptr < __heap_base) { + __visit(load(ptr), cookie); + ptr += sizeof(); + } +} + +/** Performs a single step according to the current state. */ +function step(): usize { + // Magic constants responsible for pause times. Obtained experimentally + // using the compiler compiling itself. 2048 budget pro run by default. + const MARKCOST = isDefined(ASC_GC_MARKCOST) ? ASC_GC_MARKCOST : 1; + const SWEEPCOST = isDefined(ASC_GC_SWEEPCOST) ? ASC_GC_SWEEPCOST : 10; + let obj: Object; + switch (state) { + case STATE_IDLE: { + state = STATE_MARK; + visitCount = 0; + visitRoots(VISIT_SCAN); + iter = toSpace; + return visitCount * MARKCOST; + } + case STATE_MARK: { + let black = i32(!white); + obj = iter.next; + while (obj != toSpace) { + iter = obj; + if (obj.color != black) { // skip already-blacks (pointerfree) + obj.color = black; + visitCount = 0; + __visit_members(changetype(obj) + TOTAL_OVERHEAD, VISIT_SCAN); + return visitCount * MARKCOST; + } + obj = obj.next; + } + visitCount = 0; + visitRoots(VISIT_SCAN); + obj = iter.next; + if (obj == toSpace) { + visitStack(VISIT_SCAN); + obj = iter.next; + while (obj != toSpace) { + if (obj.color != black) { + obj.color = black; + __visit_members(changetype(obj) + TOTAL_OVERHEAD, VISIT_SCAN); + } + obj = obj.next; + } + let from = fromSpace; + fromSpace = toSpace; + toSpace = from; + white = black; + iter = from.next; + state = STATE_SWEEP; + } + return visitCount * MARKCOST; + } + case STATE_SWEEP: { + obj = iter; + if (obj != toSpace) { + iter = obj.next; + if (DEBUG) assert(obj.color == i32(!white)); // old white + free(obj); + return SWEEPCOST; + } + toSpace.nextWithColor = changetype(toSpace); + toSpace.prev = toSpace; + state = STATE_IDLE; + break; + } + } + return 0; +} + +/** Frees an object. */ +function free(obj: Object): void { + if (changetype(obj) < __heap_base) { + obj.nextWithColor = 0; // may become linked again + obj.prev = changetype(0); + } else { + total -= obj.size; + if (isDefined(__finalize)) { + __finalize(changetype(obj) + TOTAL_OVERHEAD); + } + __free(changetype(obj) + BLOCK_OVERHEAD); + } +} + +// Garbage collector interface + +// @ts-ignore: decorator +@global @unsafe +export function __new(size: usize, id: i32): usize { + if (size >= OBJECT_MAXSIZE) throw new Error(E_ALLOCATION_TOO_LARGE); + if (total >= threshold) interrupt(); + let obj = changetype(__alloc(OBJECT_OVERHEAD + size) - BLOCK_OVERHEAD); + obj.rtId = id; + obj.rtSize = size; + obj.linkTo(fromSpace, white); // inits next/prev + total += obj.size; + let ptr = changetype(obj) + TOTAL_OVERHEAD; + // may be visited before being fully initialized, so must fill + memory.fill(ptr, 0, size); + return ptr; +} + +// @ts-ignore: decorator +@global @unsafe +export function __renew(oldPtr: usize, size: usize): usize { + let oldObj = changetype(oldPtr - TOTAL_OVERHEAD); + // Update object size if its block is large enough + if (size <= (oldObj.mmInfo & ~3) - OBJECT_OVERHEAD) { + oldObj.rtSize = size; + return oldPtr; + } + // If not the same object anymore, we have to move it move it due to the + // shadow stack potentially still referencing the old object + let newPtr = __new(size, oldObj.rtId); + memory.copy(newPtr, oldPtr, min(size, oldObj.rtSize)); + return newPtr; +} + +// @ts-ignore: decorator +@global @unsafe +export function __link(parentPtr: usize, childPtr: usize, expectMultiple: bool): void { + // Write barrier is unnecessary if non-incremental + if (!childPtr) return; + if (DEBUG) assert(parentPtr); + let child = changetype(childPtr - TOTAL_OVERHEAD); + if (child.color == white) { + let parent = changetype(parentPtr - TOTAL_OVERHEAD); + let parentColor = parent.color; + if (parentColor == i32(!white)) { + // Maintain the invariant that no black object may point to a white object. + if (expectMultiple) { + // Move the barrier "backward". Suitable for containers receiving multiple stores. + // Avoids a barrier for subsequent objects stored into the same container. + parent.makeGray(); + } else { + // Move the barrier "forward". Suitable for objects receiving isolated stores. + child.makeGray(); + } + } else if (parentColor == transparent && state == STATE_MARK) { + // Pinned objects are considered 'black' during the mark phase. + child.makeGray(); + } + } +} + +// @ts-ignore: decorator +@lazy let visitCount = 0; + +// @ts-ignore: decorator +@global @unsafe +export function __visit(ptr: usize, cookie: i32): void { + if (!ptr) return; + let obj = changetype(ptr - TOTAL_OVERHEAD); + if (RTRACE) if (!onvisit(obj)) return; + if (obj.color == white) { + obj.makeGray(); + ++visitCount; + } +} + +// @ts-ignore: decorator +@global @unsafe +export function __pin(ptr: usize): usize { + if (ptr) { + let obj = changetype(ptr - TOTAL_OVERHEAD); + if (obj.color == transparent) { + throw new Error(E_ALREADY_PINNED); + } + obj.unlink(); // from fromSpace + obj.linkTo(pinSpace, transparent); + } + return ptr; +} + +// @ts-ignore: decorator +@global @unsafe +export function __unpin(ptr: usize): void { + if (!ptr) return; + let obj = changetype(ptr - TOTAL_OVERHEAD); + if (obj.color != transparent) { + throw new Error(E_NOT_PINNED); + } + if (state == STATE_MARK) { + // We may be right at the point after marking roots for the second time and + // entering the sweep phase, in which case the object would be missed if it + // is not only pinned but also a root. Make sure it isn't missed. + obj.makeGray(); + } else { + obj.unlink(); + obj.linkTo(fromSpace, white); + } +} + +// @ts-ignore: decorator +@global @unsafe +export function __collect(): void { + if (TRACE) trace("GC (full) at", 1, total); + if (state > STATE_IDLE) { + // finish current cycle + while (state != STATE_IDLE) step(); + } + // perform a full cycle + step(); + while (state != STATE_IDLE) step(); + threshold = (total * IDLEFACTOR / 100) + GRANULARITY; + if (TRACE) trace("GC (full) done at cur/max", 2, total, memory.size() << 16); + if (RTRACE || PROFILE) oncollect(total); +} + +// Garbage collector automation + +/** How often to interrupt. The default of 1024 means "interrupt each 1024 bytes allocated". */ +// @ts-ignore: decorator +@inline const GRANULARITY: usize = isDefined(ASC_GC_GRANULARITY) ? ASC_GC_GRANULARITY : 1024; +/** How long to interrupt. The default of 200% means "run at double the speed of allocations". */ +// @ts-ignore: decorator +@inline const STEPFACTOR: usize = isDefined(ASC_GC_SWEEPFACTOR) ? ASC_GC_SWEEPFACTOR : 200; +/** How long to idle. The default of 200% means "wait for memory to double before kicking in again". */ +// @ts-ignore: decorator +@inline const IDLEFACTOR: usize = isDefined(ASC_GC_IDLEFACTOR) ? ASC_GC_IDLEFACTOR : 200; + +/** Threshold of memory used by objects to exceed before interrupting again. */ +// @ts-ignore: decorator +@lazy let threshold: usize = ((memory.size() << 16) - __heap_base) >> 1; + +/** Performs a reasonable amount of incremental GC steps. */ +function interrupt(): void { + if (PROFILE) oninterrupt(total); + if (TRACE) trace("GC (auto) at", 1, total); + let budget: isize = GRANULARITY * STEPFACTOR / 100; + do { + budget -= step(); + if (state == STATE_IDLE) { + if (TRACE) trace("└ GC (auto) done at cur/max", 2, total, memory.size() << 16); + threshold = (total * IDLEFACTOR / 100) + GRANULARITY; + if (PROFILE) onyield(total); + return; + } + } while (budget > 0); + if (TRACE) trace("└ GC (auto) ongoing at", 1, total); + threshold = total + GRANULARITY * usize(total - threshold < GRANULARITY); + if (PROFILE) onyield(total); +} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/rtrace.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/rtrace.ts new file mode 100644 index 00000000..1e22956b --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/rtrace.ts @@ -0,0 +1,15 @@ +import { BLOCK } from "./common"; + +export declare function oninit(heapBase: usize): void; + +// Memory Allocator +export declare function onalloc(block: BLOCK): void; +export declare function onresize(block: BLOCK, oldSizeInclOverhead: usize): void; +export declare function onmove(oldBlock: BLOCK, newBlock: BLOCK): void; +export declare function onfree(block: BLOCK): void; + +// Garbage collector +export declare function onvisit(block: BLOCK): bool; +export declare function oncollect(total: usize): void; +export declare function oninterrupt(total: usize): void; +export declare function onyield(total: usize): void; diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/stub.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/stub.ts new file mode 100644 index 00000000..a80c6d33 --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/stub.ts @@ -0,0 +1,133 @@ +import { AL_MASK, OBJECT, OBJECT_OVERHEAD, BLOCK_MAXSIZE, BLOCK_OVERHEAD, BLOCK, OBJECT_MAXSIZE } from "./common"; +import { E_ALLOCATION_TOO_LARGE } from "../util/error"; + +// === A minimal runtime stub === + +// @ts-ignore: decorator +@lazy let startOffset: usize = ((__heap_base + BLOCK_OVERHEAD + AL_MASK) & ~AL_MASK) - BLOCK_OVERHEAD; +// @ts-ignore: decorator +@lazy let offset: usize = startOffset; + +function maybeGrowMemory(newOffset: usize): void { + // assumes newOffset is aligned + let pagesBefore = memory.size(); + let maxOffset = ((pagesBefore << 16) + AL_MASK) & ~AL_MASK; + if (newOffset > maxOffset) { + let pagesNeeded = (((newOffset - maxOffset + 0xffff) & ~0xffff) >>> 16); + let pagesWanted = max(pagesBefore, pagesNeeded); // double memory + if (memory.grow(pagesWanted) < 0) { + if (memory.grow(pagesNeeded) < 0) unreachable(); // out of memory + } + } + offset = newOffset; +} + +// @ts-ignore: decorator +@inline function computeSize(size: usize): usize { + return ((size + BLOCK_OVERHEAD + AL_MASK) & ~AL_MASK) - BLOCK_OVERHEAD; +} + +// @ts-ignore: decorator +@unsafe @global +export function __alloc(size: usize): usize { + if (size > BLOCK_MAXSIZE) throw new Error(E_ALLOCATION_TOO_LARGE); + let block = changetype(offset); + let ptr = offset + BLOCK_OVERHEAD; + let payloadSize = computeSize(size); + maybeGrowMemory(ptr + payloadSize); + block.mmInfo = payloadSize; + return ptr; +} + +// @ts-ignore: decorator +@unsafe @global +export function __realloc(ptr: usize, size: usize): usize { + assert(ptr != 0 && !(ptr & AL_MASK)); // must exist and be aligned + let block = changetype(ptr - BLOCK_OVERHEAD); + let actualSize = block.mmInfo; + let isLast = ptr + actualSize == offset; + let payloadSize = computeSize(size); + if (size > actualSize) { + if (isLast) { // last block: grow + if (size > BLOCK_MAXSIZE) throw new Error(E_ALLOCATION_TOO_LARGE); + maybeGrowMemory(ptr + payloadSize); + block.mmInfo = payloadSize; + } else { // copy to new block at least double the size + let newPtr = __alloc(max(payloadSize, actualSize << 1)); + memory.copy(newPtr, ptr, actualSize); + block = changetype((ptr = newPtr) - BLOCK_OVERHEAD); + } + } else if (isLast) { // last block: shrink + offset = ptr + payloadSize; + block.mmInfo = payloadSize; + } + return ptr; +} + +// @ts-ignore: decorator +@unsafe @global +export function __free(ptr: usize): void { + assert(ptr != 0 && !(ptr & AL_MASK)); // must exist and be aligned + let block = changetype(ptr - BLOCK_OVERHEAD); + if (ptr + block.mmInfo == offset) { // last block: discard + offset = changetype(block); + } +} + +// @ts-ignore: decorator +@unsafe @global +export function __reset(): void { // special + offset = startOffset; +} + +// @ts-ignore: decorator +@unsafe @global +export function __new(size: usize, id: u32): usize { + if (size > OBJECT_MAXSIZE) throw new Error(E_ALLOCATION_TOO_LARGE); + let ptr = __alloc(OBJECT_OVERHEAD + size); + let object = changetype(ptr - BLOCK_OVERHEAD); + object.gcInfo = 0; + object.gcInfo2 = 0; + object.rtId = id; + object.rtSize = size; + return ptr + OBJECT_OVERHEAD; +} + +// @ts-ignore: decorator +@unsafe @global +export function __renew(oldPtr: usize, size: usize): usize { + if (size > OBJECT_MAXSIZE) throw new Error(E_ALLOCATION_TOO_LARGE); + let newPtr = __realloc(oldPtr - OBJECT_OVERHEAD, OBJECT_OVERHEAD + size); + changetype(newPtr - BLOCK_OVERHEAD).rtSize = size; + return newPtr + OBJECT_OVERHEAD; +} + +// @ts-ignore: decorator +@global @unsafe +export function __link(parentPtr: usize, childPtr: usize, expectMultiple: bool): void { + // nop +} + +// @ts-ignore: decorator +@global @unsafe +export function __pin(ptr: usize): usize { + return ptr; +} + +// @ts-ignore: decorator +@global @unsafe +export function __unpin(ptr: usize): void { + // nop +} + +// @ts-ignore: decorator +@global @unsafe +function __visit(ptr: usize, cookie: u32): void { // eslint-disable-line @typescript-eslint/no-unused-vars + // nop +} + +// @ts-ignore: decorator +@global @unsafe +export function __collect(): void { + // nop +} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/tcms.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/tcms.ts new file mode 100644 index 00000000..998ff86b --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/tcms.ts @@ -0,0 +1,254 @@ +import { BLOCK, BLOCK_OVERHEAD, OBJECT_OVERHEAD, OBJECT_MAXSIZE, TOTAL_OVERHEAD, DEBUG, TRACE, RTRACE } from "./common"; +import { onvisit, oncollect } from "./rtrace"; +import { E_ALLOCATION_TOO_LARGE, E_ALREADY_PINNED, E_NOT_PINNED } from "../util/error"; + +// === TCMS: A Two-Color Mark & Sweep garbage collector === + +// ╒═════════════╤══════════════ Colors ═══════════════════════════╕ +// │ Color │ Meaning │ +// ├─────────────┼─────────────────────────────────────────────────┤ +// │ WHITE* │ Unreachable │ +// │ BLACK* │ Reachable │ +// │ TRANSPARENT │ Manually pinned (always reachable) │ +// └─────────────┴─────────────────────────────────────────────────┘ +// * flipped between cycles + +// @ts-ignore: decorator +@lazy let white = 0; +// @ts-ignore: decorator +@inline const transparent = 3; +// @ts-ignore: decorator +@inline const COLOR_MASK = 3; + +/** Size in memory of all objects currently managed by the GC. */ +// @ts-ignore: decorator +@lazy let total: usize = 0; + +// @ts-ignore: decorator +@lazy let fromSpace = initLazy(changetype(memory.data(offsetof()))); +// @ts-ignore: decorator +@lazy let toSpace = initLazy(changetype(memory.data(offsetof()))); +// @ts-ignore: decorator +@lazy let pinSpace = initLazy(changetype(memory.data(offsetof()))); + +function initLazy(space: Object): Object { + space.nextWithColor = changetype(space); + space.prev = space; + return space; +} + +/** Visit cookie indicating scanning of an object. */ +// @ts-ignore: decorator +@inline const VISIT_SCAN = 0; + +// ╒═══════════════ Managed object layout (32-bit) ════════════════╕ +// 3 2 1 +// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 bits +// ├─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┤ +// │ Memory manager block │ +// ╞═══════════════════════════════════════════════════════════╤═══╡ +// │ next │ C │ = nextWithColor +// ├───────────────────────────────────────────────────────────┴───┤ +// │ prev │ +// ├───────────────────────────────────────────────────────────────┤ +// │ rtId │ +// ├───────────────────────────────────────────────────────────────┤ +// │ rtSize │ +// ╞>ptr═══════════════════════════════════════════════════════════╡ +// │ ... │ +// C: color + +/** Represents a managed object in memory, consisting of a header followed by the object's data. */ +@unmanaged class Object extends BLOCK { + /** Pointer to the next object with color flags stored in the alignment bits. */ + nextWithColor: usize; // *u32 + /** Pointer to the previous object. */ + prev: Object; // *u32 + /** Runtime id. */ + rtId: u32; + /** Runtime size. */ + rtSize: u32; + + /** Gets the pointer to the next object. */ + get next(): Object { + return changetype(this.nextWithColor & ~COLOR_MASK); + } + + /** Sets the pointer to the next object. */ + set next(obj: Object) { + this.nextWithColor = changetype(obj) | (this.nextWithColor & COLOR_MASK); + } + + /** Gets this object's color. */ + get color(): i32 { + return i32(this.nextWithColor & COLOR_MASK); + } + + /** Sets this object's color. */ + set color(color: i32) { + this.nextWithColor = (this.nextWithColor & ~COLOR_MASK) | color; + } + + /** Gets the size of this object in memory. */ + get size(): usize { + return BLOCK_OVERHEAD + (this.mmInfo & ~3); + } + + /** Unlinks this object from its list. */ + unlink(): void { + let next = this.next; + if (next == null) { + if (DEBUG) assert(this.prev == null && changetype(this) < __heap_base); + return; // static data not yet linked + } + let prev = this.prev; + if (DEBUG) assert(prev); + next.prev = prev; + prev.next = next; + } + + /** Links this object to the specified list, with the given color. */ + linkTo(list: Object, withColor: i32): void { + let prev = list.prev; + this.nextWithColor = changetype(list) | withColor; + this.prev = prev; + prev.next = this; + list.prev = this; + } +} + +// Garbage collector interface + +// @ts-ignore: decorator +@global @unsafe +export function __new(size: usize, id: i32): usize { + if (size > OBJECT_MAXSIZE) throw new Error(E_ALLOCATION_TOO_LARGE); + let obj = changetype(__alloc(OBJECT_OVERHEAD + size) - BLOCK_OVERHEAD); + obj.rtId = id; + obj.rtSize = size; + obj.linkTo(fromSpace, white); + total += obj.size; + return changetype(obj) + TOTAL_OVERHEAD; +} + +// @ts-ignore: decorator +@global @unsafe +export function __renew(oldPtr: usize, size: usize): usize { + let oldObj = changetype(oldPtr - TOTAL_OVERHEAD); + if (oldPtr < __heap_base) { // move to heap for simplicity + let newPtr = __new(size, oldObj.rtId); + memory.copy(newPtr, oldPtr, min(size, oldObj.rtSize)); + return newPtr; + } + if (size > OBJECT_MAXSIZE) throw new Error(E_ALLOCATION_TOO_LARGE); + total -= oldObj.size; + let newPtr = __realloc(oldPtr - OBJECT_OVERHEAD, OBJECT_OVERHEAD + size) + OBJECT_OVERHEAD; + let newObj = changetype(newPtr - TOTAL_OVERHEAD); + newObj.rtSize = size; + + // Replace with new object + newObj.next.prev = newObj; + newObj.prev.next = newObj; + + total += newObj.size; + return newPtr; +} + +// @ts-ignore: decorator +@global @unsafe +export function __link(parentPtr: usize, childPtr: usize, expectMultiple: bool): void { + // nop +} + +// @ts-ignore: decorator +@global @unsafe +export function __visit(ptr: usize, cookie: i32): void { + if (!ptr) return; + let obj = changetype(ptr - TOTAL_OVERHEAD); + if (RTRACE) if (!onvisit(obj)) return; + if (obj.color == white) { + obj.unlink(); // from fromSpace + obj.linkTo(toSpace, i32(!white)); + } +} + +// @ts-ignore: decorator +@global @unsafe +export function __pin(ptr: usize): usize { + if (ptr) { + let obj = changetype(ptr - TOTAL_OVERHEAD); + if (obj.color == transparent) { + throw new Error(E_ALREADY_PINNED); + } + obj.unlink(); // from fromSpace + obj.linkTo(pinSpace, transparent); + } + return ptr; +} + +// @ts-ignore: decorator +@global @unsafe +export function __unpin(ptr: usize): void { + if (!ptr) return; + let obj = changetype(ptr - TOTAL_OVERHEAD); + if (obj.color != transparent) { + throw new Error(E_NOT_PINNED); + } + obj.unlink(); // from pinSpace + obj.linkTo(fromSpace, white); +} + +// @ts-ignore: decorator +@global @unsafe +export function __collect(): void { + if (TRACE) trace("GC at", 1, total); + + // Mark roots (add to toSpace) + __visit_globals(VISIT_SCAN); + + // Mark direct members of pinned objects (add to toSpace) + let pn = pinSpace; + let iter = pn.next; + while (iter != pn) { + if (DEBUG) assert(iter.color == transparent); + __visit_members(changetype(iter) + TOTAL_OVERHEAD, VISIT_SCAN); + iter = iter.next; + } + + // Mark what's reachable from toSpace + let black = i32(!white); + let to = toSpace; + iter = to.next; + while (iter != to) { + if (DEBUG) assert(iter.color == black); + __visit_members(changetype(iter) + TOTAL_OVERHEAD, VISIT_SCAN); + iter = iter.next; + } + + // Sweep what's left in fromSpace + let from = fromSpace; + iter = from.next; + while (iter != from) { + if (DEBUG) assert(iter.color == white); + let newNext = iter.next; + if (changetype(iter) < __heap_base) { + iter.nextWithColor = 0; // may become linked again + iter.prev = changetype(0); + } else { + total -= iter.size; + if (isDefined(__finalize)) __finalize(changetype(iter) + TOTAL_OVERHEAD); + __free(changetype(iter) + BLOCK_OVERHEAD); + } + iter = newNext; + } + from.nextWithColor = changetype(from); + from.prev = from; + + // Flip spaces and colors + fromSpace = to; + toSpace = from; + white = black; + + if (TRACE) trace("GC done at", 1, total); + if (RTRACE) oncollect(total); +} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/tlsf.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/tlsf.ts new file mode 100644 index 00000000..3d135a3b --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/tlsf.ts @@ -0,0 +1,592 @@ +import { AL_BITS, AL_SIZE, AL_MASK, DEBUG, BLOCK, BLOCK_OVERHEAD, BLOCK_MAXSIZE } from "./common"; +import { oninit, onalloc, onresize, onmove, onfree } from "./rtrace"; +import { E_ALLOCATION_TOO_LARGE } from "../util/error"; + +// === The TLSF (Two-Level Segregate Fit) memory allocator === +// see: http://www.gii.upv.es/tlsf/ + +// - `ffs(x)` is equivalent to `ctz(x)` with x != 0 +// - `fls(x)` is equivalent to `sizeof(x) * 8 - clz(x) - 1` + +// ╒══════════════ Block size interpretation (32-bit) ═════════════╕ +// 3 2 1 +// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 bits +// ├─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┼─┴─┴─┴─╫─┴─┴─┴─┤ +// │ | FL │ SB = SL + AL │ ◄─ usize +// └───────────────────────────────────────────────┴───────╨───────┘ +// FL: first level, SL: second level, AL: alignment, SB: small block + +// @ts-ignore: decorator +@inline const SL_BITS: u32 = 4; +// @ts-ignore: decorator +@inline const SL_SIZE: u32 = 1 << SL_BITS; + +// @ts-ignore: decorator +@inline const SB_BITS: u32 = SL_BITS + AL_BITS; +// @ts-ignore: decorator +@inline const SB_SIZE: u32 = 1 << SB_BITS; + +// @ts-ignore: decorator +@inline const FL_BITS: u32 = 31 - SB_BITS; + +// [00]: < 256B (SB) [12]: < 1M +// [01]: < 512B [13]: < 2M +// [02]: < 1K [14]: < 4M +// [03]: < 2K [15]: < 8M +// [04]: < 4K [16]: < 16M +// [05]: < 8K [17]: < 32M +// [06]: < 16K [18]: < 64M +// [07]: < 32K [19]: < 128M +// [08]: < 64K [20]: < 256M +// [09]: < 128K [21]: < 512M +// [10]: < 256K [22]: <= 1G - OVERHEAD +// [11]: < 512K +// VMs limit to 2GB total (currently), making one 1G block max (or three 512M etc.) due to block overhead + +// Tags stored in otherwise unused alignment bits + +// @ts-ignore: decorator +@inline const FREE: usize = 1 << 0; +// @ts-ignore: decorator +@inline const LEFTFREE: usize = 1 << 1; +// @ts-ignore: decorator +@inline const TAGS_MASK: usize = FREE | LEFTFREE; // <= AL_MASK + +// ╒════════════════════ Block layout (32-bit) ════════════════════╕ +// 3 2 1 +// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 bits +// ├─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┼─┼─┤ ┐ +// │ size │L│F│ ◄─┐ info overhead +// ╞>ptr═══════════════════════════════════════════════════════╧═╧═╡ │ ┘ +// │ if free: ◄ prev │ ◄─┤ usize +// ├───────────────────────────────────────────────────────────────┤ │ +// │ if free: next ► │ ◄─┤ +// ├───────────────────────────────────────────────────────────────┤ │ +// │ ... │ │ >= 0 +// ├───────────────────────────────────────────────────────────────┤ │ +// │ if free: back ▲ │ ◄─┘ +// └───────────────────────────────────────────────────────────────┘ >= MIN SIZE +// F: FREE, L: LEFTFREE +@unmanaged export class Block extends BLOCK { + + /** Previous free block, if any. Only valid if free, otherwise part of payload. */ + prev: Block | null; + /** Next free block, if any. Only valid if free, otherwise part of payload. */ + next: Block | null; + + // If the block is free, there is a 'back'reference at its end pointing at its start. +} + +// Block constants. A block must have a minimum size of three pointers so it can hold `prev`, +// `next` and `back` if free. + +// @ts-ignore: decorator +@inline const BLOCK_MINSIZE: usize = ((3 * sizeof() + BLOCK_OVERHEAD + AL_MASK) & ~AL_MASK) - BLOCK_OVERHEAD; // prev + next + back +// @ts-ignore: decorator +// @inline const BLOCK_MAXSIZE: usize = 1 << (FL_BITS + SB_BITS - 1); // exclusive, lives in common.ts + +/** Gets the left block of a block. Only valid if the left block is free. */ +// @ts-ignore: decorator +@inline function GETFREELEFT(block: Block): Block { + return load(changetype(block) - sizeof()); +} + +/** Gets the right block of a block by advancing to the right by its size. */ +// @ts-ignore: decorator +@inline function GETRIGHT(block: Block): Block { + return changetype(changetype(block) + BLOCK_OVERHEAD + (block.mmInfo & ~TAGS_MASK)); +} + +// ╒═════════════════════ Root layout (32-bit) ════════════════════╕ +// 3 2 1 +// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 bits +// ├─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┤ ┐ +// │ 0 | flMap S│ ◄────┐ +// ╞═══════════════════════════════════════════════════════════════╡ │ +// │ slMap[0] S │ ◄─┐ │ +// ├───────────────────────────────────────────────────────────────┤ │ │ +// │ slMap[1] │ ◄─┤ │ +// ├───────────────────────────────────────────────────────────────┤ u32 │ +// │ slMap[22] │ ◄─┘ │ +// ╞═══════════════════════════════════════════════════════════════╡ usize +// │ head[0] │ ◄────┤ +// ├───────────────────────────────────────────────────────────────┤ │ +// │ ... │ ◄────┤ +// ├───────────────────────────────────────────────────────────────┤ │ +// │ head[367] │ ◄────┤ +// ╞═══════════════════════════════════════════════════════════════╡ │ +// │ tail │ ◄────┘ +// └───────────────────────────────────────────────────────────────┘ SIZE ┘ +// S: Small blocks map +@unmanaged class Root { + /** First level bitmap. */ + flMap: usize; +} + +// Root constants. Where stuff is stored inside of the root structure. + +// @ts-ignore: decorator +@inline const SL_START: usize = sizeof(); +// @ts-ignore: decorator +@inline const SL_END: usize = SL_START + (FL_BITS << alignof()); +// @ts-ignore: decorator +@inline const HL_START: usize = (SL_END + AL_MASK) & ~AL_MASK; +// @ts-ignore: decorator +@inline const HL_END: usize = HL_START + FL_BITS * SL_SIZE * sizeof(); +// @ts-ignore: decorator +@inline const ROOT_SIZE: usize = HL_END + sizeof(); + +// @ts-ignore: decorator +@lazy export let ROOT: Root = changetype(0); // unsafe initializion below + +/** Gets the second level map of the specified first level. */ +// @ts-ignore: decorator +@inline function GETSL(root: Root, fl: usize): u32 { + return load( + changetype(root) + (fl << alignof()), + SL_START + ); +} + +/** Sets the second level map of the specified first level. */ +// @ts-ignore: decorator +@inline function SETSL(root: Root, fl: usize, slMap: u32): void { + store( + changetype(root) + (fl << alignof()), + slMap, + SL_START + ); +} + +/** Gets the head of the free list for the specified combination of first and second level. */ +// @ts-ignore: decorator +@inline function GETHEAD(root: Root, fl: usize, sl: u32): Block | null { + return load( + changetype(root) + (((fl << SL_BITS) + sl) << alignof()), + HL_START + ); +} + +/** Sets the head of the free list for the specified combination of first and second level. */ +// @ts-ignore: decorator +@inline function SETHEAD(root: Root, fl: usize, sl: u32, head: Block | null): void { + store( + changetype(root) + (((fl << SL_BITS) + sl) << alignof()), + head, + HL_START + ); +} + +/** Gets the tail block.. */ +// @ts-ignore: decorator +@inline function GETTAIL(root: Root): Block { + return load( + changetype(root), + HL_END + ); +} + +/** Sets the tail block. */ +// @ts-ignore: decorator +@inline function SETTAIL(root: Root, tail: Block): void { + store( + changetype(root), + tail, + HL_END + ); +} + +/** Inserts a previously used block back into the free list. */ +function insertBlock(root: Root, block: Block): void { + if (DEBUG) assert(block); // cannot be null + let blockInfo = block.mmInfo; + if (DEBUG) assert(blockInfo & FREE); // must be free + + let right = GETRIGHT(block); + let rightInfo = right.mmInfo; + + // merge with right block if also free + if (rightInfo & FREE) { + removeBlock(root, right); + block.mmInfo = blockInfo = blockInfo + BLOCK_OVERHEAD + (rightInfo & ~TAGS_MASK); // keep block tags + right = GETRIGHT(block); + rightInfo = right.mmInfo; + // 'back' is set below + } + + // merge with left block if also free + if (blockInfo & LEFTFREE) { + let left = GETFREELEFT(block); + let leftInfo = left.mmInfo; + if (DEBUG) assert(leftInfo & FREE); // must be free according to right tags + removeBlock(root, left); + block = left; + block.mmInfo = blockInfo = leftInfo + BLOCK_OVERHEAD + (blockInfo & ~TAGS_MASK); // keep left tags + // 'back' is set below + } + + right.mmInfo = rightInfo | LEFTFREE; + // reference to right is no longer used now, hence rightInfo is not synced + + // we now know the size of the block + let size = blockInfo & ~TAGS_MASK; + if (DEBUG) assert(size >= BLOCK_MINSIZE); // must be a valid size + if (DEBUG) assert(changetype(block) + BLOCK_OVERHEAD + size == changetype(right)); // must match + + // set 'back' to itself at the end of block + store(changetype(right) - sizeof(), block); + + // mapping_insert + let fl: usize, sl: u32; + if (size < SB_SIZE) { + fl = 0; + sl = (size >> AL_BITS); + } else { + const inv: usize = sizeof() * 8 - 1; + let boundedSize = min(size, BLOCK_MAXSIZE); + fl = inv - clz(boundedSize); + sl = ((boundedSize >> (fl - SL_BITS)) ^ (1 << SL_BITS)); + fl -= SB_BITS - 1; + } + if (DEBUG) assert(fl < FL_BITS && sl < SL_SIZE); // fl/sl out of range + + // perform insertion + let head = GETHEAD(root, fl, sl); + block.prev = null; + block.next = head; + if (head) head.prev = block; + SETHEAD(root, fl, sl, block); + + // update first and second level maps + root.flMap |= (1 << fl); + SETSL(root, fl, GETSL(root, fl) | (1 << sl)); +} + +/** Removes a free block from internal lists. */ +function removeBlock(root: Root, block: Block): void { + let blockInfo = block.mmInfo; + if (DEBUG) assert(blockInfo & FREE); // must be free + let size = blockInfo & ~TAGS_MASK; + if (DEBUG) assert(size >= BLOCK_MINSIZE); // must be valid + + // mapping_insert + let fl: usize, sl: u32; + if (size < SB_SIZE) { + fl = 0; + sl = (size >> AL_BITS); + } else { + const inv: usize = sizeof() * 8 - 1; + let boundedSize = min(size, BLOCK_MAXSIZE); + fl = inv - clz(boundedSize); + sl = ((boundedSize >> (fl - SL_BITS)) ^ (1 << SL_BITS)); + fl -= SB_BITS - 1; + } + if (DEBUG) assert(fl < FL_BITS && sl < SL_SIZE); // fl/sl out of range + + // link previous and next free block + let prev = block.prev; + let next = block.next; + if (prev) prev.next = next; + if (next) next.prev = prev; + + // update head if we are removing it + if (block == GETHEAD(root, fl, sl)) { + SETHEAD(root, fl, sl, next); + + // clear second level map if head is empty now + if (!next) { + let slMap = GETSL(root, fl); + SETSL(root, fl, slMap &= ~(1 << sl)); + + // clear first level map if second level is empty now + if (!slMap) root.flMap &= ~(1 << fl); + } + } + // note: does not alter left/back because it is likely that splitting + // is performed afterwards, invalidating those changes. so, the caller + // must perform those updates. +} + +function roundSize(size: usize): usize { + const halfMaxSize = BLOCK_MAXSIZE >> 1; // don't round last fl + const inv: usize = sizeof() * 8 - 1; + const invRound = inv - SL_BITS; + return size < halfMaxSize + ? size + (1 << (invRound - clz(size))) - 1 + : size; +} + +/** Searches for a free block of at least the specified size. */ +function searchBlock(root: Root, size: usize): Block | null { + // size was already asserted by caller + + // mapping_search + let fl: usize, sl: u32; + if (size < SB_SIZE) { + fl = 0; + sl = (size >> AL_BITS); + } else { + const requestSize = roundSize(size); + fl = sizeof() * 8 - 1 - clz(requestSize); + sl = ((requestSize >> (fl - SL_BITS)) ^ (1 << SL_BITS)); + fl -= SB_BITS - 1; + } + if (DEBUG) assert(fl < FL_BITS && sl < SL_SIZE); // fl/sl out of range + + // search second level + let slMap = GETSL(root, fl) & (~0 << sl); + let head: Block | null = null; + if (!slMap) { + // search next larger first level + let flMap = root.flMap & (~0 << (fl + 1)); + if (!flMap) { + head = null; + } else { + fl = ctz(flMap); + slMap = GETSL(root, fl); + if (DEBUG) assert(slMap); // can't be zero if fl points here + head = GETHEAD(root, fl, ctz(slMap)); + } + } else { + head = GETHEAD(root, fl, ctz(slMap)); + } + return head; +} + +/** Prepares the specified block before (re-)use, possibly splitting it. */ +function prepareBlock(root: Root, block: Block, size: usize): void { + // size was already asserted by caller + + let blockInfo = block.mmInfo; + if (DEBUG) assert(!((size + BLOCK_OVERHEAD) & AL_MASK)); // size must be aligned so the new block is + + // split if the block can hold another MINSIZE block incl. overhead + let remaining = (blockInfo & ~TAGS_MASK) - size; + if (remaining >= BLOCK_OVERHEAD + BLOCK_MINSIZE) { + block.mmInfo = size | (blockInfo & LEFTFREE); // also discards FREE + + let spare = changetype(changetype(block) + BLOCK_OVERHEAD + size); + spare.mmInfo = (remaining - BLOCK_OVERHEAD) | FREE; // not LEFTFREE + insertBlock(root, spare); // also sets 'back' + + // otherwise tag block as no longer FREE and right as no longer LEFTFREE + } else { + block.mmInfo = blockInfo & ~FREE; + GETRIGHT(block).mmInfo &= ~LEFTFREE; + } +} + +/** Adds more memory to the pool. */ +function addMemory(root: Root, start: usize, endU64: u64): bool { + let end = endU64; + if (DEBUG) assert(start <= endU64); // must be valid + start = ((start + BLOCK_OVERHEAD + AL_MASK) & ~AL_MASK) - BLOCK_OVERHEAD; + end &= ~AL_MASK; + + let tail = GETTAIL(root); + let tailInfo: usize = 0; + if (tail) { // more memory + if (DEBUG) assert(start >= changetype(tail) + BLOCK_OVERHEAD); + + // merge with current tail if adjacent + const offsetToTail = AL_SIZE; + if (start - offsetToTail == changetype(tail)) { + start -= offsetToTail; + tailInfo = tail.mmInfo; + } else { + // We don't do this, but a user might `memory.grow` manually + // leading to non-adjacent pages managed by TLSF. + } + + } else if (DEBUG) { // first memory + assert(start >= changetype(root) + ROOT_SIZE); // starts after root + } + + // check if size is large enough for a free block and the tail block + let size = end - start; + if (size < BLOCK_OVERHEAD + BLOCK_MINSIZE + BLOCK_OVERHEAD) { + return false; + } + + // left size is total minus its own and the zero-length tail's header + let leftSize = size - 2 * BLOCK_OVERHEAD; + let left = changetype(start); + left.mmInfo = leftSize | FREE | (tailInfo & LEFTFREE); + left.prev = null; + left.next = null; + + // tail is a zero-length used block + tail = changetype(start + BLOCK_OVERHEAD + leftSize); + tail.mmInfo = 0 | LEFTFREE; + SETTAIL(root, tail); + + insertBlock(root, left); // also merges with free left before tail / sets 'back' + + return true; +} + +/** Grows memory to fit at least another block of the specified size. */ +function growMemory(root: Root, size: usize): void { + if (ASC_LOW_MEMORY_LIMIT) { + unreachable(); + return; + } + // Here, both rounding performed in searchBlock ... + if (size >= SB_SIZE) { + size = roundSize(size); + } + // and additional BLOCK_OVERHEAD must be taken into account. If we are going + // to merge with the tail block, that's one time, otherwise it's two times. + let pagesBefore = memory.size(); + size += BLOCK_OVERHEAD << usize((pagesBefore << 16) - BLOCK_OVERHEAD != changetype(GETTAIL(root))); + let pagesNeeded = (((size + 0xffff) & ~0xffff) >>> 16); + let pagesWanted = max(pagesBefore, pagesNeeded); // double memory + if (memory.grow(pagesWanted) < 0) { + if (memory.grow(pagesNeeded) < 0) unreachable(); + } + let pagesAfter = memory.size(); + addMemory(root, pagesBefore << 16, pagesAfter << 16); +} + +/** Computes the size (excl. header) of a block. */ +function computeSize(size: usize): usize { + // Size must be large enough and aligned minus preceeding overhead + return size <= BLOCK_MINSIZE + ? BLOCK_MINSIZE + : ((size + BLOCK_OVERHEAD + AL_MASK) & ~AL_MASK) - BLOCK_OVERHEAD; +} + +/** Prepares and checks an allocation size. */ +function prepareSize(size: usize): usize { + if (size > BLOCK_MAXSIZE) throw new Error(E_ALLOCATION_TOO_LARGE); + return computeSize(size); +} + +/** Initializes the root structure. */ +function initialize(): void { + if (isDefined(ASC_RTRACE)) oninit(__heap_base); + let rootOffset = (__heap_base + AL_MASK) & ~AL_MASK; + let pagesBefore = memory.size(); + let pagesNeeded = ((((rootOffset + ROOT_SIZE) + 0xffff) & ~0xffff) >>> 16); + if (pagesNeeded > pagesBefore && memory.grow(pagesNeeded - pagesBefore) < 0) unreachable(); + let root = changetype(rootOffset); + root.flMap = 0; + SETTAIL(root, changetype(0)); + for (let fl: usize = 0; fl < FL_BITS; ++fl) { + SETSL(root, fl, 0); + for (let sl: u32 = 0; sl < SL_SIZE; ++sl) { + SETHEAD(root, fl, sl, null); + } + } + let memStart = rootOffset + ROOT_SIZE; + if (ASC_LOW_MEMORY_LIMIT) { + const memEnd = ASC_LOW_MEMORY_LIMIT & ~AL_MASK; + if (memStart <= memEnd) addMemory(root, memStart, memEnd); + else unreachable(); // low memory limit already exceeded + } else { + addMemory(root, memStart, memory.size() << 16); + } + ROOT = root; +} + +/** Allocates a block of the specified size. */ +export function allocateBlock(root: Root, size: usize): Block { + let payloadSize = prepareSize(size); + let block = searchBlock(root, payloadSize); + if (!block) { + growMemory(root, payloadSize); + block = changetype(searchBlock(root, payloadSize)); + if (DEBUG) assert(block); // must be found now + } + if (DEBUG) assert((block.mmInfo & ~TAGS_MASK) >= payloadSize); // must fit + removeBlock(root, block); + prepareBlock(root, block, payloadSize); + if (isDefined(ASC_RTRACE)) onalloc(block); + return block; +} + +/** Reallocates a block to the specified size. */ +export function reallocateBlock(root: Root, block: Block, size: usize): Block { + let payloadSize = prepareSize(size); + let blockInfo = block.mmInfo; + let blockSize = blockInfo & ~TAGS_MASK; + + // possibly split and update runtime size if it still fits + if (payloadSize <= blockSize) { + prepareBlock(root, block, payloadSize); + if (isDefined(ASC_RTRACE)) { + if (payloadSize != blockSize) onresize(block, BLOCK_OVERHEAD + blockSize); + } + return block; + } + + // merge with right free block if merger is large enough + let right = GETRIGHT(block); + let rightInfo = right.mmInfo; + if (rightInfo & FREE) { + let mergeSize = blockSize + BLOCK_OVERHEAD + (rightInfo & ~TAGS_MASK); + if (mergeSize >= payloadSize) { + removeBlock(root, right); + block.mmInfo = (blockInfo & TAGS_MASK) | mergeSize; + prepareBlock(root, block, payloadSize); + if (isDefined(ASC_RTRACE)) onresize(block, BLOCK_OVERHEAD + blockSize); + return block; + } + } + + // otherwise move the block + return moveBlock(root, block, size); +} + +/** Moves a block to a new one of the specified size. */ +function moveBlock(root: Root, block: Block, newSize: usize): Block { + let newBlock = allocateBlock(root, newSize); + memory.copy(changetype(newBlock) + BLOCK_OVERHEAD, changetype(block) + BLOCK_OVERHEAD, block.mmInfo & ~TAGS_MASK); + if (changetype(block) >= __heap_base) { + if (isDefined(ASC_RTRACE)) onmove(block, newBlock); + freeBlock(root, block); + } + return newBlock; +} + +/** Frees a block. */ +export function freeBlock(root: Root, block: Block): void { + if (isDefined(ASC_RTRACE)) onfree(block); + block.mmInfo = block.mmInfo | FREE; + insertBlock(root, block); +} + +/** Checks that a used block is valid to be freed or reallocated. */ +function checkUsedBlock(ptr: usize): Block { + let block = changetype(ptr - BLOCK_OVERHEAD); + assert( + ptr != 0 && !(ptr & AL_MASK) && // must exist and be aligned + !(block.mmInfo & FREE) // must be used + ); + return block; +} + +// @ts-ignore: decorator +@global @unsafe +export function __alloc(size: usize): usize { + if (!ROOT) initialize(); + return changetype(allocateBlock(ROOT, size)) + BLOCK_OVERHEAD; +} + +// @ts-ignore: decorator +@global @unsafe +export function __realloc(ptr: usize, size: usize): usize { + if (!ROOT) initialize(); + return (ptr < __heap_base + ? changetype(moveBlock(ROOT, checkUsedBlock(ptr), size)) + : changetype(reallocateBlock(ROOT, checkUsedBlock(ptr), size)) + ) + BLOCK_OVERHEAD; +} + +// @ts-ignore: decorator +@global @unsafe +export function __free(ptr: usize): void { + if (ptr < __heap_base) return; + if (!ROOT) initialize(); + freeBlock(ROOT, checkUsedBlock(ptr)); +} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/set.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/set.ts new file mode 100644 index 00000000..ca2d6e4e --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/std/assembly/set.ts @@ -0,0 +1,220 @@ +/// + +import { HASH } from "./util/hash"; + +// A deterministic hash set based on CloseTable from https://github.com/jorendorff/dht + +// @ts-ignore: decorator +@inline const INITIAL_CAPACITY = 4; + +// @ts-ignore: decorator +@inline const FILL_FACTOR_N = 8; + +// @ts-ignore: decorator +@inline const FILL_FACTOR_D = 3; + +// @ts-ignore: decorator +@inline const FREE_FACTOR_N = 3; + +// @ts-ignore: decorator +@inline const FREE_FACTOR_D = 4; + +/** Structure of a set entry. */ +@unmanaged class SetEntry { + key: K; + taggedNext: usize; // LSB=1 indicates EMPTY +} + +/** Empty bit. */ +// @ts-ignore: decorator +@inline const EMPTY: usize = 1 << 0; + +/** Size of a bucket. */ +// @ts-ignore: decorator +@inline const BUCKET_SIZE = sizeof(); + +/** Computes the alignment of an entry. */ +// @ts-ignore: decorator +@inline +function ENTRY_ALIGN(): usize { + // can align to 4 instead of 8 if 32-bit and K is <= 32-bits + const align = (sizeof() > sizeof() ? sizeof() : sizeof()) - 1; + return align; +} + +/** Computes the aligned size of an entry. */ +// @ts-ignore: decorator +@inline +function ENTRY_SIZE(): usize { + const align = ENTRY_ALIGN(); + const size = (offsetof>() + align) & ~align; + return size; +} + +export class Set { + + // buckets referencing their respective first entry, usize[bucketsMask + 1] + private buckets: ArrayBuffer = new ArrayBuffer(INITIAL_CAPACITY * BUCKET_SIZE); + private bucketsMask: u32 = INITIAL_CAPACITY - 1; + + // entries in insertion order, SetEntry[entriesCapacity] + private entries: ArrayBuffer = new ArrayBuffer(INITIAL_CAPACITY * ENTRY_SIZE()); + private entriesCapacity: i32 = INITIAL_CAPACITY; + private entriesOffset: i32 = 0; + private entriesCount: i32 = 0; + + constructor() { + /* nop */ + } + + get size(): i32 { + return this.entriesCount; + } + + clear(): void { + this.buckets = new ArrayBuffer(INITIAL_CAPACITY * BUCKET_SIZE); + this.bucketsMask = INITIAL_CAPACITY - 1; + this.entries = new ArrayBuffer(INITIAL_CAPACITY * ENTRY_SIZE()); + this.entriesCapacity = INITIAL_CAPACITY; + this.entriesOffset = 0; + this.entriesCount = 0; + } + + private find(key: T, hashCode: u32): SetEntry | null { + let entry = load>( // unmanaged! + changetype(this.buckets) + (hashCode & this.bucketsMask) * BUCKET_SIZE + ); + while (entry) { + let taggedNext = entry.taggedNext; + if (!(taggedNext & EMPTY) && entry.key == key) return entry; + entry = changetype>(taggedNext & ~EMPTY); + } + return null; + } + + @operator("[]") + has(key: T): bool { + return this.find(key, HASH(key)) != null; + } + + add(key: T): this { + let hashCode = HASH(key); + let entry = this.find(key, hashCode); // unmanaged! + if (!entry) { + // check if rehashing is necessary + if (this.entriesOffset == this.entriesCapacity) { + this.rehash( + this.entriesCount < this.entriesCapacity * FREE_FACTOR_N / FREE_FACTOR_D + ? this.bucketsMask // just rehash if 1/4+ entries are empty + : (this.bucketsMask << 1) | 1 // grow capacity to next 2^N + ); + } + // append new entry + entry = changetype>(changetype(this.entries) + (this.entriesOffset++) * ENTRY_SIZE()); + entry.key = key; + if (isManaged()) { + __link(changetype(this), changetype(key), true); + } + ++this.entriesCount; + // link with previous entry in bucket + let bucketPtrBase = changetype(this.buckets) + (hashCode & this.bucketsMask) * BUCKET_SIZE; + entry.taggedNext = load(bucketPtrBase); + store(bucketPtrBase, changetype(entry)); + } + return this; + } + + @operator("[]=") + private __set(key: T, value: bool): void { + if (value) this.add(key); + else this.delete(key); + } + + delete(key: T): bool { + let entry = this.find(key, HASH(key)); // unmanaged! + if (!entry) return false; + entry.taggedNext |= EMPTY; + --this.entriesCount; + // check if rehashing is appropriate + let halfBucketsMask = this.bucketsMask >> 1; + if ( + halfBucketsMask + 1 >= max(INITIAL_CAPACITY, this.entriesCount) && + this.entriesCount < this.entriesCapacity * FREE_FACTOR_N / FREE_FACTOR_D + ) this.rehash(halfBucketsMask); + return true; + } + + private rehash(newBucketsMask: u32): void { + let newBucketsCapacity = (newBucketsMask + 1); + let newBuckets = new ArrayBuffer(newBucketsCapacity * BUCKET_SIZE); + let newEntriesCapacity = newBucketsCapacity * FILL_FACTOR_N / FILL_FACTOR_D; + let newEntries = new ArrayBuffer(newEntriesCapacity * ENTRY_SIZE()); + + // copy old entries to new entries + let oldPtr = changetype(this.entries); + let oldEnd = oldPtr + this.entriesOffset * ENTRY_SIZE(); + let newPtr = changetype(newEntries); + while (oldPtr != oldEnd) { + let oldEntry = changetype>(oldPtr); // unmanaged! + if (!(oldEntry.taggedNext & EMPTY)) { + let newEntry = changetype>(newPtr); // unmanaged! + let oldEntryKey = oldEntry.key; + newEntry.key = oldEntryKey; + let newBucketIndex = HASH(oldEntryKey) & newBucketsMask; + let newBucketPtrBase = changetype(newBuckets) + newBucketIndex * BUCKET_SIZE; + newEntry.taggedNext = load(newBucketPtrBase); + store(newBucketPtrBase, newPtr); + newPtr += ENTRY_SIZE(); + } + oldPtr += ENTRY_SIZE(); + } + + this.buckets = newBuckets; + this.bucketsMask = newBucketsMask; + this.entries = newEntries; + this.entriesCapacity = newEntriesCapacity; + this.entriesOffset = this.entriesCount; + } + + values(): T[] { + // FIXME: this is preliminary, needs iterators/closures + let start = changetype(this.entries); + let size = this.entriesOffset; + let values = new Array(size); + let length = 0; + for (let i = 0; i < size; ++i) { + let entry = changetype>(start + i * ENTRY_SIZE()); + if (!(entry.taggedNext & EMPTY)) { + unchecked(values[length++] = entry.key); + } + } + values.length = length; + return values; + } + + toString(): string { + return "[object Set]"; + } + + // RT integration + + @unsafe private __visit(cookie: u32): void { + __visit(changetype(this.buckets), cookie); + let entries = changetype(this.entries); + if (isManaged()) { + let cur = entries; + let end = cur + this.entriesOffset * ENTRY_SIZE(); + while (cur < end) { + let entry = changetype>(cur); + if (!(entry.taggedNext & EMPTY)) { + let val = changetype(entry.key); + if (isNullable()) { + if (val) __visit(val, cookie); + } else __visit(val, cookie); + } + cur += ENTRY_SIZE(); + } + } + __visit(entries, cookie); + } +} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/shared/feature.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/shared/feature.ts new file mode 100644 index 00000000..1baa9ba3 --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/std/assembly/shared/feature.ts @@ -0,0 +1,62 @@ +// This file is shared with the compiler and must remain portable + +/** Indicates specific features to activate. */ +export const enum Feature { + /** No additional features. */ + None = 0, + /** Sign extension operations. */ + SignExtension = 1 << 0, // see: https://github.com/WebAssembly/sign-extension-ops + /** Mutable global imports and exports. */ + MutableGlobals = 1 << 1, // see: https://github.com/WebAssembly/mutable-global + /** Non-trapping float to integer operations. */ + NontrappingF2I = 1 << 2, // see: https://github.com/WebAssembly/nontrapping-float-to-int-conversions + /** Bulk memory operations. */ + BulkMemory = 1 << 3, // see: https://github.com/WebAssembly/bulk-memory-operations + /** SIMD types and operations. */ + Simd = 1 << 4, // see: https://github.com/WebAssembly/simd + /** Threading and atomic operations. */ + Threads = 1 << 5, // see: https://github.com/WebAssembly/threads + /** Exception handling operations. */ + ExceptionHandling = 1 << 6, // see: https://github.com/WebAssembly/exception-handling + /** Tail call operations. */ + TailCalls = 1 << 7, // see: https://github.com/WebAssembly/tail-call + /** Reference types. */ + ReferenceTypes = 1 << 8, // see: https://github.com/WebAssembly/reference-types + /** Multi value types. */ + MultiValue = 1 << 9, // see: https://github.com/WebAssembly/multi-value + /** Garbage collection. */ + GC = 1 << 10, // see: https://github.com/WebAssembly/gc + /** Memory64. */ + Memory64 = 1 << 11, // see: https://github.com/WebAssembly/memory64 + /** Relaxed SIMD. */ + RelaxedSimd = 1 << 12, // see: https://github.com/WebAssembly/relaxed-simd + /** Extended const expressions. */ + ExtendedConst = 1 << 13, // see: https://github.com/WebAssembly/extended-const + /** Reference typed strings. */ + Stringref = 1 << 14, // see: https://github.com/WebAssembly/stringref + /** All features. */ + All = (1 << 15) - 1 +} + +/** Gets the name of the specified feature one would specify on the command line. */ +export function featureToString(feature: Feature): string { + switch (feature) { + case Feature.SignExtension: return "sign-extension"; + case Feature.MutableGlobals: return "mutable-globals"; + case Feature.NontrappingF2I: return "nontrapping-f2i"; + case Feature.BulkMemory: return "bulk-memory"; + case Feature.Simd: return "simd"; + case Feature.Threads: return "threads"; + case Feature.ExceptionHandling: return "exception-handling"; + case Feature.TailCalls: return "tail-calls"; + case Feature.ReferenceTypes: return "reference-types"; + case Feature.MultiValue: return "multi-value"; + case Feature.GC: return "gc"; + case Feature.Memory64: return "memory64"; + case Feature.RelaxedSimd: return "relaxed-simd"; + case Feature.ExtendedConst: return "extended-const"; + case Feature.Stringref: return "stringref"; + } + assert(false); + return ""; +} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/shared/runtime.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/shared/runtime.ts new file mode 100644 index 00000000..4092e209 --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/std/assembly/shared/runtime.ts @@ -0,0 +1,11 @@ +// This file is shared with the compiler and must remain portable + +/** Runtime types. */ +export enum Runtime { + /** Simple bump allocator without GC. */ + Stub = 0, + /** Stop the world semi-automatic GC. */ + Minimal = 1, + /** incremental GC. */ + Incremental = 2, +} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/shared/target.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/shared/target.ts new file mode 100644 index 00000000..42e51ffe --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/std/assembly/shared/target.ts @@ -0,0 +1,11 @@ +// This file is shared with the compiler and must remain portable + +/** Compilation target. */ +export enum Target { + /** Portable. */ + Js = 0, + /** WebAssembly with 32-bit pointers. */ + Wasm32 = 1, + /** WebAssembly with 64-bit pointers. Experimental and not supported by any runtime yet. */ + Wasm64 = 2, +} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/shared/tsconfig.json b/platforms/Arduino/node_modules/assemblyscript/std/assembly/shared/tsconfig.json new file mode 100644 index 00000000..6dafbedf --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/std/assembly/shared/tsconfig.json @@ -0,0 +1,11 @@ +{ + "extends": "../../portable.json", + "compilerOptions": { + "outDir": "../../../out", + "allowJs": false, + "sourceMap": true + }, + "include": [ + "./**/*.ts" + ] +} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/shared/typeinfo.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/shared/typeinfo.ts new file mode 100644 index 00000000..0ad0ccda --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/std/assembly/shared/typeinfo.ts @@ -0,0 +1,72 @@ +// This file is shared with the compiler and must remain portable + +// ╒═══════════════════ Typeinfo interpretation ═══════════════════╕ +// 3 2 1 +// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 bits +// ├─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┤ ◄─ __rtti_base +// │ count │ +// ╞═══════════════════════════════════════════════════════════════╡ ┐ +// │ Typeinfo#flags [id=0] │ id < count +// ├───────────────────────────────────────────────────────────────┤ +// │ ... │ + +/** Runtime type information data structure. */ +@unmanaged +export class Typeinfo { + /** Flags describing the shape of this class type. */ + flags: TypeinfoFlags = TypeinfoFlags.NONE; +} + +/** Runtime type information flags. */ +export const enum TypeinfoFlags { + /** No specific flags. */ + NONE = 0, + /** Type is an `ArrayBufferView`. */ + ARRAYBUFFERVIEW = 1 << 0, + /** Type is an `Array`. */ + ARRAY = 1 << 1, + /** Type is a `StaticArray`. */ + STATICARRAY = 1 << 2, + /** Type is a `Set`. */ + SET = 1 << 3, + /** Type is a `Map`. */ + MAP = 1 << 4, + /** Type has no outgoing pointers. */ + POINTERFREE = 1 << 5, + /** Value alignment of 1 byte. */ + VALUE_ALIGN_0 = 1 << 6, + /** Value alignment of 2 bytes. */ + VALUE_ALIGN_1 = 1 << 7, + /** Value alignment of 4 bytes. */ + VALUE_ALIGN_2 = 1 << 8, + /** Value alignment of 8 bytes. */ + VALUE_ALIGN_3 = 1 << 9, + /** Value alignment of 16 bytes. */ + VALUE_ALIGN_4 = 1 << 10, + /** Value is a signed type. */ + VALUE_SIGNED = 1 << 11, + /** Value is a float type. */ + VALUE_FLOAT = 1 << 12, + /** Value type is nullable. */ + VALUE_NULLABLE = 1 << 13, + /** Value type is managed. */ + VALUE_MANAGED = 1 << 14, + /** Key alignment of 1 byte. */ + KEY_ALIGN_0 = 1 << 15, + /** Key alignment of 2 bytes. */ + KEY_ALIGN_1 = 1 << 16, + /** Key alignment of 4 bytes. */ + KEY_ALIGN_2 = 1 << 17, + /** Key alignment of 8 bytes. */ + KEY_ALIGN_3 = 1 << 18, + /** Key alignment of 16 bytes. */ + KEY_ALIGN_4 = 1 << 19, + /** Key is a signed type. */ + KEY_SIGNED = 1 << 20, + /** Key is a float type. */ + KEY_FLOAT = 1 << 21, + /** Key type is nullable. */ + KEY_NULLABLE = 1 << 22, + /** Key type is managed. */ + KEY_MANAGED = 1 << 23 +} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/staticarray.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/staticarray.ts new file mode 100644 index 00000000..89cad68a --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/std/assembly/staticarray.ts @@ -0,0 +1,401 @@ +/// + +import { OBJECT, BLOCK_MAXSIZE, TOTAL_OVERHEAD } from "./rt/common"; +import { Runtime } from "shared/runtime"; +import { COMPARATOR, SORT } from "./util/sort"; +import { REVERSE, FILL } from "./util/bytes"; +import { idof } from "./builtins"; +import { Array } from "./array"; +import { E_INDEXOUTOFRANGE, E_INVALIDLENGTH, E_HOLEYARRAY } from "./util/error"; +import { joinBooleanArray, joinIntegerArray, joinFloatArray, joinStringArray, joinReferenceArray } from "./util/string"; + +@final +export class StaticArray { + [key: number]: T; + + // Note that the interface of StaticArray instances must be a semantically + // compatible subset of Array in order for syntax highlighting to work + // properly, for instance when creating static arrays from array literals. + // The additionally provided static methods take care of dealing with static + // arrays exclusively, without having to convert to Array first. + + static fromArray(source: Array): StaticArray { + let length = source.length; + let outSize = length << alignof(); + let out = changetype>(__new(outSize, idof>())); + if (isManaged()) { + let sourcePtr = source.dataStart; + for (let i = 0; i < length; ++i) { + let off = i << alignof(); + let ref = load(sourcePtr + off); + store(changetype(out) + off, ref); + __link(changetype(out), ref, true); + } + } else { + memory.copy(changetype(out), source.dataStart, outSize); + } + return out; + } + + /** @deprecated Please use source.concat> instead. */ + static concat(source: StaticArray, other: StaticArray): StaticArray { + return source.concat>(other); + } + + /** @deprecated Please use source.slice> instead. */ + static slice(source: StaticArray, start: i32 = 0, end: i32 = i32.MAX_VALUE): StaticArray { + return source.slice>(start, end); + } + + constructor(length: i32) { + if (length > BLOCK_MAXSIZE >>> alignof()) throw new RangeError(E_INVALIDLENGTH); + let outSize = length << alignof(); + let out = changetype>(__new(outSize, idof>())); + if (ASC_RUNTIME != Runtime.Incremental) { + memory.fill(changetype(out), 0, outSize); + } + return out; + } + + get length(): i32 { + return changetype(changetype(this) - TOTAL_OVERHEAD).rtSize >>> alignof(); + } + + at(index: i32): T { + let len = this.length; + index += select(0, len, index >= 0); + if (index >= len) throw new RangeError(E_INDEXOUTOFRANGE); + let value = load(changetype(this) + (index << alignof())); + if (isReference()) { + if (!isNullable()) { + if (!changetype(value)) throw new Error(E_HOLEYARRAY); + } + } + return value; + } + + @operator("[]") private __get(index: i32): T { + if (index >= this.length) throw new RangeError(E_INDEXOUTOFRANGE); + let value = load(changetype(this) + (index << alignof())); + if (isReference()) { + if (!isNullable()) { + if (!changetype(value)) throw new Error(E_HOLEYARRAY); + } + } + return value; + } + + @unsafe @operator("{}") private __uget(index: i32): T { + return load(changetype(this) + (index << alignof())); + } + + @operator("[]=") private __set(index: i32, value: T): void { + if (index >= this.length) throw new RangeError(E_INDEXOUTOFRANGE); + this.__uset(index, value); + } + + @unsafe @operator("{}=") private __uset(index: i32, value: T): void { + store(changetype(this) + (index << alignof()), value); + if (isManaged()) { + __link(changetype(this), changetype(value), true); + } + } + + fill(value: T, start: i32 = 0, end: i32 = i32.MAX_VALUE): StaticArray { + if (isManaged()) { + FILL(changetype(this), this.length, changetype(value), start, end); + __link(changetype(this), changetype(value), false); + } else { + FILL(changetype(this), this.length, value, start, end); + } + return this; + } + + copyWithin(target: i32, start: i32, end: i32 = i32.MAX_VALUE): StaticArray { + let ptr = changetype(this); + let len = this.length; + + end = min(end, len); + + let to = target < 0 ? max(len + target, 0) : min(target, len); + let from = start < 0 ? max(len + start, 0) : min(start, len); + let last = end < 0 ? max(len + end, 0) : min(end, len); + let count = min(last - from, len - to); + + memory.copy( // is memmove + ptr + (to << alignof()), + ptr + (from << alignof()), + count << alignof() + ); + return this; + } + + includes(value: T, fromIndex: i32 = 0): bool { + if (isFloat()) { + let length = this.length; + if (length == 0 || fromIndex >= length) return false; + if (fromIndex < 0) fromIndex = max(length + fromIndex, 0); + while (fromIndex < length) { + let elem = load(changetype(this) + (fromIndex << alignof())); + // @ts-ignore + if (elem == value || isNaN(elem) & isNaN(value)) return true; + ++fromIndex; + } + return false; + } else { + return this.indexOf(value, fromIndex) >= 0; + } + } + + indexOf(value: T, fromIndex: i32 = 0): i32 { + let length = this.length; + if (length == 0 || fromIndex >= length) return -1; + if (fromIndex < 0) fromIndex = max(length + fromIndex, 0); + while (fromIndex < length) { + if (load(changetype(this) + (fromIndex << alignof())) == value) return fromIndex; + ++fromIndex; + } + return -1; + } + + lastIndexOf(value: T, fromIndex: i32 = this.length): i32 { + let length = this.length; + if (length == 0) return -1; + if (fromIndex < 0) fromIndex = length + fromIndex; + else if (fromIndex >= length) fromIndex = length - 1; + while (fromIndex >= 0) { + if (load(changetype(this) + (fromIndex << alignof())) == value) return fromIndex; + --fromIndex; + } + return -1; + } + + concat = Array>(other: U): U { + let sourceLen = this.length; + let otherLen = other.length; + let outLen = sourceLen + otherLen; + if (outLen > BLOCK_MAXSIZE >>> alignof()) { + throw new Error(E_INVALIDLENGTH); + } + let sourceSize = sourceLen << alignof(); + let out = changetype(this); // FIXME: instanceof needs *some* value + + if (out instanceof Array) { + out = changetype(__newArray(outLen, alignof(), idof>())); + // ^ FIXME: Function returns type U, but can't __newArray(U extends Array) + let outStart = changetype>(out).dataStart; + let otherStart = changetype>(other).dataStart; + let thisStart = changetype(this); + + if (isManaged()) { + for (let offset: usize = 0; offset < sourceSize; offset += sizeof()) { + let ref = load(thisStart + offset); + store(outStart + offset, ref); + __link(changetype(out), ref, true); + } + outStart += sourceSize; + let otherSize = otherLen << alignof(); + for (let offset: usize = 0; offset < otherSize; offset += sizeof()) { + let ref = load(otherStart + offset); + store(outStart + offset, ref); + __link(changetype(out), ref, true); + } + } else { + memory.copy(outStart, thisStart, sourceSize); + memory.copy(outStart + sourceSize, otherStart, otherLen << alignof()); + } + } else if (out instanceof StaticArray) { + out = changetype(__new(outLen << alignof(), idof>())); + let outStart = changetype(out); + let otherStart = changetype(other); + let thisStart = changetype(this); + + if (isManaged()) { + for (let offset: usize = 0; offset < sourceSize; offset += sizeof()) { + let ref = load(thisStart + offset); + store(outStart + offset, ref); + __link(changetype(out), ref, true); + } + outStart += sourceSize; + let otherSize = otherLen << alignof(); + for (let offset: usize = 0; offset < otherSize; offset += sizeof()) { + let ref = load(otherStart + offset); + store(outStart + offset, ref); + __link(changetype(out), ref, true); + } + } else { + memory.copy(outStart, thisStart, sourceSize); + memory.copy(outStart + sourceSize, otherStart, otherLen << alignof()); + } + } else { + ERROR("Only Array and StaticArray accept for 'U' parameter"); + } + return out; + } + + slice = Array>(start: i32 = 0, end: i32 = i32.MAX_VALUE): U { + let length = this.length; + start = start < 0 ? max(start + length, 0) : min(start, length); + end = end < 0 ? max(end + length, 0) : min(end, length); + length = max(end - start, 0); + + let sourceStart = changetype(this) + (start << alignof()); + let size = length << alignof(); + let out = changetype(this); // FIXME: instanceof needs *some* value + + if (out instanceof Array) { + // return Array + out = changetype(__newArray(length, alignof(), idof>())); + // ^ FIXME: Function returns type U, but can't __newArray(U extends Array) + let outStart = changetype>(out).dataStart; + if (isManaged()) { + let off: usize = 0; + while (off < size) { + let ref = load(sourceStart + off); + store(outStart + off, ref); + __link(changetype(out), ref, true); + off += sizeof(); + } + } else { + memory.copy(outStart, sourceStart, size); + } + } else if (out instanceof StaticArray) { + // return StaticArray + out = changetype(__new(size, idof>())); + let outStart = changetype(out); + if (isManaged()) { + let off: usize = 0; + while (off < size) { + let ref = load(sourceStart + off); + store(outStart + off, ref); + __link(outStart, ref, true); + off += sizeof(); + } + } else { + memory.copy(outStart, sourceStart, size); + } + } else { + ERROR("Only Array and StaticArray accept for 'U' parameter"); + } + return out; + } + + findIndex(fn: (value: T, index: i32, array: StaticArray) => bool): i32 { + for (let i = 0, len = this.length; i < len; ++i) { + if (fn(load(changetype(this) + (i << alignof())), i, this)) return i; + } + return -1; + } + + findLastIndex(fn: (value: T, index: i32, array: StaticArray) => bool): i32 { + for (let i = this.length - 1; i >= 0; --i) { + if (fn(load(changetype(this) + (i << alignof())), i, this)) return i; + } + return -1; + } + + forEach(fn: (value: T, index: i32, array: StaticArray) => void): void { + for (let i = 0, len = this.length; i < len; ++i) { + fn(load(changetype(this) + (i << alignof())), i, this); + } + } + + map(fn: (value: T, index: i32, array: StaticArray) => U): Array { + let len = this.length; + let out = changetype>(__newArray(len, alignof(), idof>())); + let outStart = out.dataStart; + for (let i = 0; i < len; ++i) { + let result = fn(load(changetype(this) + (i << alignof())), i, this); + store(outStart + (i << alignof()), result); + if (isManaged()) { + __link(changetype(out), changetype(result), true); + } + } + return out; + } + + filter(fn: (value: T, index: i32, array: StaticArray) => bool): Array { + let result = changetype>(__newArray(0, alignof(), idof>())); + for (let i = 0, len = this.length; i < len; ++i) { + let value = load(changetype(this) + (i << alignof())); + if (fn(value, i, this)) result.push(value); + } + return result; + } + + reduce( + fn: (previousValue: U, currentValue: T, currentIndex: i32, array: StaticArray) => U, + initialValue: U + ): U { + let acc = initialValue; + for (let i = 0, len = this.length; i < len; ++i) { + acc = fn(acc, load(changetype(this) + (i << alignof())), i, this); + } + return acc; + } + + reduceRight( + fn: (previousValue: U, currentValue: T, currentIndex: i32, array: StaticArray) => U, + initialValue: U + ): U { + let acc = initialValue; + for (let i = this.length - 1; i >= 0; --i) { + acc = fn(acc, load(changetype(this) + (i << alignof())), i, this); + } + return acc; + } + + every(fn: (value: T, index: i32, array: StaticArray) => bool): bool { + for (let i = 0, len = this.length; i < len; ++i) { + if (!fn(load(changetype(this) + (i << alignof())), i, this)) return false; + } + return true; + } + + some(fn: (value: T, index: i32, array: StaticArray) => bool): bool { + for (let i = 0, len = this.length; i < len; ++i) { + if (fn(load(changetype(this) + (i << alignof())), i, this)) return true; + } + return false; + } + + sort(comparator: (a: T, b: T) => i32 = COMPARATOR()): StaticArray { + SORT(changetype(this), this.length, comparator); + return this; + } + + join(separator: string = ","): string { + if (isBoolean()) return joinBooleanArray(changetype(this), this.length, separator); + if (isInteger()) return joinIntegerArray(changetype(this), this.length, separator); + if (isFloat()) return joinFloatArray(changetype(this), this.length, separator); + if (ASC_SHRINK_LEVEL < 1) { + if (isString()) return joinStringArray(changetype(this), this.length, separator); + } + if (isReference()) return joinReferenceArray(changetype(this), this.length, separator); + ERROR("unspported element type"); + return unreachable(); + } + + reverse(): StaticArray { + REVERSE(changetype(this), this.length); + return this; + } + + toString(): string { + return this.join(); + } + + // RT integration + + @unsafe private __visit(cookie: u32): void { + if (isManaged()) { + let cur = changetype(this); + let end = cur + changetype(changetype(this) - TOTAL_OVERHEAD).rtSize; + while (cur < end) { + let val = load(cur); + if (val) __visit(val, cookie); + cur += sizeof(); + } + } + } +} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/string.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/string.ts new file mode 100644 index 00000000..76753180 --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/std/assembly/string.ts @@ -0,0 +1,847 @@ +/// + +import { OBJECT, BLOCK_MAXSIZE, TOTAL_OVERHEAD } from "./rt/common"; +import { compareImpl, strtol, strtod, isSpace, isAscii, isFinalSigma, toLower8, toUpper8 } from "./util/string"; +import { SPECIALS_UPPER, casemap, bsearch } from "./util/casemap"; +import { E_INDEXOUTOFRANGE, E_INVALIDLENGTH, E_UNPAIRED_SURROGATE } from "./util/error"; +import { idof } from "./builtins"; +import { Array } from "./array"; + +@final export abstract class String { + + @lazy static readonly MAX_LENGTH: i32 = (BLOCK_MAXSIZE >>> alignof()); + + static fromCharCode(unit: i32, surr: i32 = -1): String { + let hasSur = surr > 0; + let out = changetype(__new(2 << i32(hasSur), idof())); + store(changetype(out), unit); + if (hasSur) store(changetype(out), surr, 2); + return out; + } + + static fromCharCodes(units: Array): String { + let length = units.length; + let out = changetype(__new(length << 1, idof())); + let ptr = units.dataStart; + for (let i = 0; i < length; ++i) { + store(changetype(out) + (i << 1), load(ptr + (i << 2))); + } + return out; + } + + static fromCodePoint(code: i32): String { + let hasSur = code > 0xFFFF; + let out = changetype(__new(2 << i32(hasSur), idof())); + if (!hasSur) { + store(changetype(out), code); + } else { + // Checks valid code point range + assert(code <= 0x10FFFF); + code -= 0x10000; + let hi = (code & 0x03FF) | 0xDC00; + let lo = code >>> 10 | 0xD800; + store(changetype(out), lo | hi << 16); + } + return out; + } + + @builtin static raw(parts: TemplateStringsArray, ...args: unknown[]): string { return unreachable(); } + + get length(): i32 { + return changetype(changetype(this) - TOTAL_OVERHEAD).rtSize >> 1; + } + + at(pos: i32): String { + let len = this.length; + pos += select(0, len, pos >= 0); + if (pos >= len) throw new RangeError(E_INDEXOUTOFRANGE); + let out = __new(2, idof()); + store(out, load(changetype(this) + (pos << 1))); + return changetype(out); // retains + } + + @operator("[]") charAt(pos: i32): String { + if (pos >= this.length) return changetype(""); + let out = changetype(__new(2, idof())); + store(changetype(out), load(changetype(this) + (pos << 1))); + return out; + } + + charCodeAt(pos: i32): i32 { + if (pos >= this.length) return -1; // (NaN) + return load(changetype(this) + (pos << 1)); + } + + codePointAt(pos: i32): i32 { + let len = this.length; + if (pos >= len) return -1; // (undefined) + let first = load(changetype(this) + (pos << 1)); + if ((first & 0xFC00) != 0xD800 || pos + 1 == len) return first; + let second = load(changetype(this) + (pos << 1), 2); + if ((second & 0xFC00) != 0xDC00) return first; + return (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000; + } + + @operator("+") private static __concat(left: String, right: String): String { + return left.concat(right); + } + + concat(other: String): String { + let thisSize: isize = this.length << 1; + let otherSize: isize = other.length << 1; + let outSize: usize = thisSize + otherSize; + if (outSize == 0) return changetype(""); + let out = changetype(__new(outSize, idof())); + memory.copy(changetype(out), changetype(this), thisSize); + memory.copy(changetype(out) + thisSize, changetype(other), otherSize); + return out; + } + + endsWith(search: String, end: i32 = String.MAX_LENGTH): bool { + end = min(max(end, 0), this.length); + let searchLength = search.length; + let searchStart = end - searchLength; + if (searchStart < 0) return false; + // @ts-ignore: string <-> String + return !compareImpl(this, searchStart, search, 0, searchLength); + } + + @operator("==") private static __eq(left: String | null, right: String | null): bool { + if (changetype(left) == changetype(right)) return true; + if (changetype(left) == 0 || changetype(right) == 0) return false; + let leftLength = changetype(left).length; + if (leftLength != changetype(right).length) return false; + // @ts-ignore: string <-> String + return !compareImpl(left, 0, right, 0, leftLength); + } + + @operator.prefix("!") + private static __not(str: String | null): bool { + return changetype(str) == 0 || !changetype(str).length; + } + + @operator("!=") + private static __ne(left: String | null, right: String | null): bool { + return !this.__eq(left, right); + } + + @operator(">") private static __gt(left: String, right: String): bool { + if (changetype(left) == changetype(right)) return false; + let leftLength = left.length; + if (!leftLength) return false; + let rightLength = right.length; + if (!rightLength) return true; + // @ts-ignore: string <-> String + let res = compareImpl(left, 0, right, 0, min(leftLength, rightLength)); + return res ? res > 0 : leftLength > rightLength; + } + + @operator(">=") private static __gte(left: String, right: String): bool { + return !this.__lt(left, right); + } + + @operator("<") private static __lt(left: String, right: String): bool { + if (changetype(left) == changetype(right)) return false; + let rightLength = right.length; + if (!rightLength) return false; + let leftLength = left.length; + if (!leftLength) return true; + // @ts-ignore: string <-> String + let res = compareImpl(left, 0, right, 0, min(leftLength, rightLength)); + return res ? res < 0 : leftLength < rightLength; + } + + @operator("<=") private static __lte(left: String, right: String): bool { + return !this.__gt(left, right); + } + + includes(search: String, start: i32 = 0): bool { + return this.indexOf(search, start) != -1; + } + + indexOf(search: String, start: i32 = 0): i32 { + let searchLen = search.length; + if (!searchLen) return 0; + let len = this.length; + if (!len) return -1; + let searchStart = min(max(start, 0), len); + for (len -= searchLen; searchStart <= len; ++searchStart) { + // @ts-ignore: string <-> String + if (!compareImpl(this, searchStart, search, 0, searchLen)) return searchStart; + } + return -1; + } + + lastIndexOf(search: String, start: i32 = i32.MAX_VALUE): i32 { + let searchLen = search.length; + if (!searchLen) return this.length; + let len = this.length; + if (!len) return -1; + let searchStart = min(max(start, 0), len - searchLen); + for (; searchStart >= 0; --searchStart) { + // @ts-ignore: string <-> String + if (!compareImpl(this, searchStart, search, 0, searchLen)) return searchStart; + } + return -1; + } + + // TODO: implement full locale comparison with locales and Collator options + localeCompare(other: String): i32 { + if (changetype(other) == changetype(this)) return 0; + let alen = this.length; + let blen = other.length; + // @ts-ignore: string <-> String + let res = compareImpl(this, 0, other, 0, min(alen, blen)); + res = res ? res : alen - blen; + // normalize to [-1, 1] range + return i32(res > 0) - i32(res < 0); + } + + startsWith(search: String, start: i32 = 0): bool { + let len = this.length; + let searchStart = min(max(start, 0), len); + let searchLength = search.length; + if (searchLength + searchStart > len) return false; + // @ts-ignore: string <-> String + return !compareImpl(this, searchStart, search, 0, searchLength); + } + + substr(start: i32, length: i32 = i32.MAX_VALUE): String { // legacy + let intStart: isize = start; + let end: isize = length; + let len: isize = this.length; + if (intStart < 0) intStart = max(len + intStart, 0); + let size = min(max(end, 0), len - intStart) << 1; + if (size <= 0) return changetype(""); + let out = changetype(__new(size, idof())); + memory.copy(changetype(out), changetype(this) + (intStart << 1), size); + return out; + } + + substring(start: i32, end: i32 = i32.MAX_VALUE): String { + let len: isize = this.length; + let finalStart = min(max(start, 0), len); + let finalEnd = min(max(end, 0), len); + let fromPos = min(finalStart, finalEnd) << 1; + let toPos = max(finalStart, finalEnd) << 1; + let size = toPos - fromPos; + if (!size) return changetype(""); + if (!fromPos && toPos == len << 1) return this; + let out = changetype(__new(size, idof())); + memory.copy(changetype(out), changetype(this) + fromPos, size); + return out; + } + + trim(): String { + let len = this.length; + let size: usize = len << 1; + while (size && isSpace(load(changetype(this) + size - 2))) { + size -= 2; + } + let offset: usize = 0; + while (offset < size && isSpace(load(changetype(this) + offset))) { + offset += 2; size -= 2; + } + if (!size) return changetype(""); + if (!offset && size == len << 1) return this; + let out = changetype(__new(size, idof())); + memory.copy(changetype(out), changetype(this) + offset, size); + return out; + } + + @inline + trimLeft(): String { + return this.trimStart(); + } + + @inline + trimRight(): String { + return this.trimEnd(); + } + + trimStart(): String { + let size = this.length << 1; + let offset: usize = 0; + while (offset < size && isSpace(load(changetype(this) + offset))) { + offset += 2; + } + if (!offset) return this; + size -= offset; + if (!size) return changetype(""); + let out = changetype(__new(size, idof())); + memory.copy(changetype(out), changetype(this) + offset, size); + return out; + } + + trimEnd(): String { + let originalSize = this.length << 1; + let size = originalSize; + while (size && isSpace(load(changetype(this) + size - 2))) { + size -= 2; + } + if (!size) return changetype(""); + if (size == originalSize) return this; + let out = changetype(__new(size, idof())); + memory.copy(changetype(out), changetype(this), size); + return out; + } + + padStart(length: i32, pad: string = " "): String { + let thisSize = this.length << 1; + let targetSize = length << 1; + let padSize = pad.length << 1; + if (targetSize < thisSize || !padSize) return this; + let prependSize = targetSize - thisSize; + let out = changetype(__new(targetSize, idof())); + if (prependSize > padSize) { + let repeatCount = (prependSize - 2) / padSize; + let restBase = repeatCount * padSize; + let restSize = prependSize - restBase; + memory.repeat(changetype(out), changetype(pad), padSize, repeatCount); + memory.copy(changetype(out) + restBase, changetype(pad), restSize); + } else { + memory.copy(changetype(out), changetype(pad), prependSize); + } + memory.copy(changetype(out) + prependSize, changetype(this), thisSize); + return out; + } + + padEnd(length: i32, pad: string = " "): String { + let thisSize = this.length << 1; + let targetSize = length << 1; + let padSize = pad.length << 1; + if (targetSize < thisSize || !padSize) return this; + let appendSize = targetSize - thisSize; + let out = changetype(__new(targetSize, idof())); + memory.copy(changetype(out), changetype(this), thisSize); + if (appendSize > padSize) { + let repeatCount = (appendSize - 2) / padSize; + let restBase = repeatCount * padSize; + let restSize = appendSize - restBase; + memory.repeat(changetype(out) + thisSize, changetype(pad), padSize, repeatCount); + memory.copy(changetype(out) + thisSize + restBase, changetype(pad), restSize); + } else { + memory.copy(changetype(out) + thisSize, changetype(pad), appendSize); + } + return out; + } + + repeat(count: i32 = 0): String { + let length = this.length; + + // Most browsers can't handle strings 1 << 28 chars or longer + if (count < 0 || length * count > (1 << 28)) { + throw new RangeError(E_INVALIDLENGTH); + } + + if (count == 0 || !length) return changetype(""); + if (count == 1) return this; + let out = changetype(__new((length * count) << 1, idof())); + memory.repeat(changetype(out), changetype(this), length << 1, count); + return out; + } + + replace(search: String, replacement: String): String { + let len: usize = this.length; + let slen: usize = search.length; + if (len <= slen) { + return len < slen ? this : select(replacement, this, search == this); + } + let index: isize = this.indexOf(search); + if (~index) { + let rlen: usize = replacement.length; + len -= slen; + let olen = len + rlen; + if (olen) { + let out = changetype(__new(olen << 1, idof())); + memory.copy(changetype(out), changetype(this), index << 1); + memory.copy( + changetype(out) + (index << 1), + changetype(replacement), + rlen << 1 + ); + memory.copy( + changetype(out) + ((index + rlen) << 1), + changetype(this) + ((index + slen) << 1), + (len - index) << 1 + ); + return out; + } + } + return this; + } + + replaceAll(search: String, replacement: String): String { + let thisLen: usize = this.length; + let searchLen: usize = search.length; + if (thisLen <= searchLen) { + return thisLen < searchLen + ? this + : select(replacement, this, search == this); + } + let replaceLen: usize = replacement.length; + if (!searchLen) { + if (!replaceLen) return this; + // Special case: 'abc'.replaceAll('', '-') -> '-a-b-c-' + let out = changetype(__new((thisLen + (thisLen + 1) * replaceLen) << 1, idof())); + memory.copy(changetype(out), changetype(replacement), replaceLen << 1); + let offset = replaceLen; + for (let i: usize = 0; i < thisLen; ++i) { + store( + changetype(out) + (offset++ << 1), + load(changetype(this) + (i << 1)) + ); + memory.copy( + changetype(out) + (offset << 1), + changetype(replacement), + replaceLen << 1 + ); + offset += replaceLen; + } + return out; + } + let prev: isize = 0, next: isize = 0; + if (searchLen == replaceLen) { + // Fast path when search and replacement have same length + let outSize = thisLen << 1; + let out = changetype(__new(outSize, idof())); + memory.copy(changetype(out), changetype(this), outSize); + while (~(next = this.indexOf(search, prev))) { + memory.copy(changetype(out) + (next << 1), changetype(replacement), replaceLen << 1); + prev = next + searchLen; + } + return out; + } + let out: String | null = null, offset: usize = 0, outSize = thisLen; + while (~(next = this.indexOf(search, prev))) { + if (!out) out = changetype(__new(thisLen << 1, idof())); + let chunk = next - prev; + if (offset + chunk + replaceLen > outSize) { + outSize <<= 1; + out = changetype(__renew(changetype(out), outSize << 1)); + } + memory.copy( + changetype(out) + (offset << 1), + changetype(this) + (prev << 1), + chunk << 1 + ); + offset += chunk; + memory.copy( + changetype(out) + (offset << 1), + changetype(replacement), + replaceLen << 1 + ); + offset += replaceLen; + prev = next + searchLen; + } + if (out) { + let rest = thisLen - prev; + if (offset + rest > outSize) { + outSize <<= 1; + out = changetype(__renew(changetype(out), outSize << 1)); + } + if (rest) { + memory.copy( + changetype(out) + (offset << 1), + changetype(this) + (prev << 1), + rest << 1 + ); + } + rest += offset; + if (outSize > rest) { + out = changetype(__renew(changetype(out), rest << 1)); + } + return out; + } + return this; + } + + slice(start: i32, end: i32 = i32.MAX_VALUE): String { + let len = this.length; + start = start < 0 ? max(start + len, 0) : min(start, len); + end = end < 0 ? max(end + len, 0) : min(end, len); + len = end - start; + if (len <= 0) return changetype(""); + let out = changetype(__new(len << 1, idof())); + memory.copy(changetype(out), changetype(this) + (start << 1), len << 1); + return out; + } + + split(separator: String | null = null, limit: i32 = i32.MAX_VALUE): String[] { + if (!limit) return changetype(__newArray(0, alignof(), idof>())); + if (changetype(separator) == 0) return [ this ]; + let length: isize = this.length; + let sepLen = changetype(separator).length; + if (limit < 0) limit = i32.MAX_VALUE; + if (!sepLen) { + if (!length) return changetype(__newArray(0, alignof(), idof>())); + // split by chars + length = min(length, limit); + let result = changetype(__newArray(length, alignof(), idof>())); + // @ts-ignore: cast + let resultStart = result.dataStart as usize; + for (let i: isize = 0; i < length; ++i) { + let charStr = changetype(__new(2, idof())); + store(changetype(charStr), load(changetype(this) + (i << 1))); + store(resultStart + (i << alignof()), changetype(charStr)); // result[i] = charStr + __link(changetype(result), changetype(charStr), true); + } + return result; + } else if (!length) { + let result = changetype(__newArray(1, alignof(), idof>())); + // @ts-ignore: cast + store(result.dataStart as usize, changetype("")); // static "" + return result; + } + let result = changetype(__newArray(0, alignof(), idof>())); + let end = 0, start = 0, i = 0; + while (~(end = this.indexOf(changetype(separator), start))) { + let len = end - start; + if (len > 0) { + let out = changetype(__new(len << 1, idof())); + memory.copy(changetype(out), changetype(this) + (start << 1), len << 1); + result.push(out); + } else { + result.push(changetype("")); + } + if (++i == limit) return result; + start = end + sepLen; + } + if (!start) { // also means: loop above didn't do anything + result.push(this); + return result; + } + let len = length - start; + if (len > 0) { + let out = changetype(__new(len << 1, idof())); + memory.copy(changetype(out), changetype(this) + (start << 1), len << 1); + result.push(out); + } else { + result.push(changetype("")); // static "" + } + return result; + } + + toLowerCase(): String { + let len = this.length; + if (!len) return this; + let codes = changetype(__new(len * 2 * 2, idof())); + let j: usize = 0; + for (let i: usize = 0; i < len; ++i, ++j) { + let c = load(changetype(this) + (i << 1)); + if (isAscii(c)) { + store(changetype(codes) + (j << 1), toLower8(c)); + } else { + // check and read surrogate pair + if ((c - 0xD7FF < 0xDC00 - 0xD7FF) && i < len - 1) { + let c1 = load(changetype(this) + (i << 1), 2); + if (c1 - 0xDBFF < 0xE000 - 0xDBFF) { + let c0 = c; + c = (((c & 0x03FF) << 10) | (c1 & 0x03FF)) + 0x10000; + ++i; + if (c >= 0x20000) { + store(changetype(codes) + (j << 1), c0 | (c1 << 16)); + ++j; + continue; + } + } + } + // check special casing for lower table. It has one ently so instead lookup we just inline this. + if (c == 0x0130) { + // 0x0130 -> [0x0069, 0x0307] + store(changetype(codes) + (j << 1), (0x0307 << 16) | 0x0069); + ++j; + } else if (c == 0x03A3) { // 'Σ' + // Σ maps to σ but except at the end of a word where it maps to ς + let sigma = 0x03C3; // σ + if (len > 1 && isFinalSigma(changetype(this), i, len)) { + sigma = 0x03C2; // ς + } + store(changetype(codes) + (j << 1), sigma); + } else if (c - 0x24B6 <= 0x24CF - 0x24B6) { + // Range 0x24B6 <= c <= 0x24CF not covered by casemap and require special early handling + store(changetype(codes) + (j << 1), c + 26); + } else { + let code = casemap(c, 0) & 0x1FFFFF; + if (code < 0x10000) { + store(changetype(codes) + (j << 1), code); + } else { + // store as surrogare pair + code -= 0x10000; + let lo = (code >>> 10) | 0xD800; + let hi = (code & 0x03FF) | 0xDC00; + store(changetype(codes) + (j << 1), lo | (hi << 16)); + ++j; + } + } + } + } + return changetype(__renew(changetype(codes), j << 1)); + } + + toUpperCase(): String { + let len = this.length; + if (!len) return this; + let codes = changetype(__new(len * 3 * 2, idof())); + let specialsPtr = changetype(SPECIALS_UPPER); + let specialsLen = SPECIALS_UPPER.length; + let j: usize = 0; + for (let i: usize = 0; i < len; ++i, ++j) { + let c = load(changetype(this) + (i << 1)); + if (isAscii(c)) { + store(changetype(codes) + (j << 1), toUpper8(c)); + } else { + // check and read surrogate pair + if ((c - 0xD7FF < 0xDC00 - 0xD7FF) && i < len - 1) { + let c1 = load(changetype(this) + (i << 1), 2); + if (c1 - 0xDBFF < 0xE000 - 0xDBFF) { + let c0 = c; + c = (((c & 0x03FF) << 10) | (c1 & 0x03FF)) + 0x10000; + ++i; + if (c >= 0x20000) { + store(changetype(codes) + (j << 1), c0 | (c1 << 16)); + ++j; + continue; + } + } + } + // Range 0x24D0 <= c <= 0x24E9 not covered by casemap and require special early handling + if (c - 0x24D0 <= 0x24E9 - 0x24D0) { + // monkey patch + store(changetype(codes) + (j << 1), c - 26); + } else { + let index: usize = -1; + // Fast range check. See first and last rows in specialsUpper table + if (c - 0x00DF <= 0xFB17 - 0x00DF) { + index = bsearch(c, specialsPtr, specialsLen); + } + if (~index) { + // load next 3 code points from row with `index` offset for specialsUpper table + let ab = load(specialsPtr + (index << 1), 2); + let cc = load(specialsPtr + (index << 1), 6); + store(changetype(codes) + (j << 1), ab, 0); + store(changetype(codes) + (j << 1), cc, 4); + j += 1 + usize(cc != 0); + } else { + let code = casemap(c, 1) & 0x1FFFFF; + if (code < 0x10000) { + store(changetype(codes) + (j << 1), code); + } else { + // store as surrogare pair + code -= 0x10000; + let lo = (code >>> 10) | 0xD800; + let hi = (code & 0x03FF) | 0xDC00; + store(changetype(codes) + (j << 1), lo | (hi << 16)); + ++j; + } + } + } + } + } + return changetype(__renew(changetype(codes), j << 1)); + } + + toString(): String { + return this; + } +} + +// @ts-ignore: nolib +export type string = String; + +export function parseInt(str: string, radix: i32 = 0): f64 { + return strtol(str, radix); +} + +export function parseFloat(str: string): f64 { + return strtod(str); +} + +// Encoding helpers +export namespace String { + + export namespace UTF8 { + + export const enum ErrorMode { + WTF8, + REPLACE, + ERROR + } + + export function byteLength(str: string, nullTerminated: bool = false): i32 { + let strOff = changetype(str); + let strEnd = strOff + changetype(changetype(str) - TOTAL_OVERHEAD).rtSize; + let bufLen = i32(nullTerminated); + while (strOff < strEnd) { + let c1 = load(strOff); + if (c1 < 128) { + // @ts-ignore: cast + if (nullTerminated & !c1) break; + bufLen += 1; + } else if (c1 < 2048) { + bufLen += 2; + } else { + if ((c1 & 0xFC00) == 0xD800 && strOff + 2 < strEnd) { + if ((load(strOff, 2) & 0xFC00) == 0xDC00) { + bufLen += 4; strOff += 4; + continue; + } + } + bufLen += 3; + } + strOff += 2; + } + return bufLen; + } + + export function encode(str: string, nullTerminated: bool = false, errorMode: ErrorMode = ErrorMode.WTF8): ArrayBuffer { + let buf = changetype(__new(byteLength(str, nullTerminated), idof())); + encodeUnsafe(changetype(str), str.length, changetype(buf), nullTerminated, errorMode); + return buf; + } + + // @ts-ignore: decorator + @unsafe + export function encodeUnsafe(str: usize, len: i32, buf: usize, nullTerminated: bool = false, errorMode: ErrorMode = ErrorMode.WTF8): usize { + let strEnd = str + (len << 1); + let bufOff = buf; + while (str < strEnd) { + let c1 = load(str); + if (c1 < 128) { + store(bufOff, c1); + bufOff++; + // @ts-ignore: cast + if (nullTerminated & !c1) return bufOff - buf; + } else if (c1 < 2048) { + let b0 = c1 >> 6 | 192; + let b1 = c1 & 63 | 128; + store(bufOff, b1 << 8 | b0); + bufOff += 2; + } else { + // D800: 11011 0 0000000000 Lead + // DBFF: 11011 0 1111111111 + // DC00: 11011 1 0000000000 Trail + // DFFF: 11011 1 1111111111 + // F800: 11111 0 0000000000 Mask + // FC00: 11111 1 0000000000 + if ((c1 & 0xF800) == 0xD800) { + if (c1 < 0xDC00 && str + 2 < strEnd) { + let c2 = load(str, 2); + if ((c2 & 0xFC00) == 0xDC00) { + c1 = 0x10000 + ((c1 & 0x03FF) << 10) | (c2 & 0x03FF); + let b0 = c1 >> 18 | 240; + let b1 = c1 >> 12 & 63 | 128; + let b2 = c1 >> 6 & 63 | 128; + let b3 = c1 & 63 | 128; + store(bufOff, b3 << 24 | b2 << 16 | b1 << 8 | b0); + bufOff += 4; str += 4; + continue; + } + } + if (errorMode != ErrorMode.WTF8) { // unlikely + if (errorMode == ErrorMode.ERROR) throw new Error(E_UNPAIRED_SURROGATE); + c1 = 0xFFFD; + } + } + let b0 = c1 >> 12 | 224; + let b1 = c1 >> 6 & 63 | 128; + let b2 = c1 & 63 | 128; + store(bufOff, b1 << 8 | b0); + store(bufOff, b2, 2); + bufOff += 3; + } + str += 2; + } + if (nullTerminated) { + store(bufOff++, 0); + } + return bufOff - buf; + } + + export function decode(buf: ArrayBuffer, nullTerminated: bool = false): String { + return decodeUnsafe(changetype(buf), buf.byteLength, nullTerminated); + } + + // @ts-ignore: decorator + @unsafe + export function decodeUnsafe(buf: usize, len: usize, nullTerminated: bool = false): String { + let bufOff = buf; + let bufEnd = buf + len; + assert(bufEnd >= bufOff); // guard wraparound + let str = changetype(__new(len << 1, idof())); // max is one u16 char per u8 byte + let strOff = changetype(str); + while (bufOff < bufEnd) { + let u0 = load(bufOff); ++bufOff; + if (!(u0 & 128)) { + // @ts-ignore: cast + if (nullTerminated & !u0) break; + store(strOff, u0); + } else { + if (bufEnd == bufOff) break; + let u1 = load(bufOff) & 63; ++bufOff; + if ((u0 & 224) == 192) { + store(strOff, (u0 & 31) << 6 | u1); + } else { + if (bufEnd == bufOff) break; + let u2 = load(bufOff) & 63; ++bufOff; + if ((u0 & 240) == 224) { + u0 = (u0 & 15) << 12 | u1 << 6 | u2; + } else { + if (bufEnd == bufOff) break; + u0 = (u0 & 7) << 18 | u1 << 12 | u2 << 6 | load(bufOff) & 63; + ++bufOff; + } + if (u0 < 0x10000) { + store(strOff, u0); + } else { + u0 -= 0x10000; + let lo = u0 >> 10 | 0xD800; + let hi = (u0 & 0x03FF) | 0xDC00; + store(strOff, lo | (hi << 16)); + strOff += 2; + } + } + } + strOff += 2; + } + return changetype(__renew(changetype(str), strOff - changetype(str))); + } + } + + export namespace UTF16 { + + export function byteLength(str: string): i32 { + return changetype(changetype(str) - TOTAL_OVERHEAD).rtSize; + } + + export function encode(str: string): ArrayBuffer { + let buf = changetype(__new(byteLength(str), idof())); + encodeUnsafe(changetype(str), str.length, changetype(buf)); + return buf; + } + + // @ts-ignore: decorator + @unsafe + export function encodeUnsafe(str: usize, len: i32, buf: usize): usize { + let size = len << 1; + memory.copy(buf, changetype(str), size); + return size; + } + + export function decode(buf: ArrayBuffer): String { + return decodeUnsafe(changetype(buf), buf.byteLength); + } + + // @ts-ignore: decorator + @unsafe + export function decodeUnsafe(buf: usize, len: usize): String { + let str = changetype(__new(len &= ~1, idof())); + memory.copy(changetype(str), buf, len); + return str; + } + } +} + +export class TemplateStringsArray extends Array { + readonly raw: string[]; +} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/symbol.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/symbol.ts new file mode 100644 index 00000000..e1e47262 --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/std/assembly/symbol.ts @@ -0,0 +1,114 @@ +import { Map } from "./map"; + +// @ts-ignore: decorator +@lazy let stringToId: Map = new Map(); + +// @ts-ignore: decorator +@lazy let idToString: Map = new Map(); + +// @ts-ignore: decorator +@lazy let nextId: usize = 12; // Symbol.unscopables + 1 + +@unmanaged @final abstract class _Symbol { + + // TODO: all of the following default symbols are unused currently yet add to + // binary size if #toString becomes compiled. Ultimately we'll most likely want + // to remove the unsupported ones and only keep what's actually supported. + + // @ts-ignore: decorator + @lazy + static readonly hasInstance: symbol = changetype(1); + + // @ts-ignore: decorator + @lazy + static readonly isConcatSpreadable: symbol = changetype(2); + + // @ts-ignore: decorator + @lazy + static readonly isRegExp: symbol = changetype(3); + + // @ts-ignore: decorator + @lazy + static readonly iterator: symbol = changetype(3); + + // @ts-ignore: decorator + @lazy + static readonly match: symbol = changetype(4); + + // @ts-ignore: decorator + @lazy + static readonly replace: symbol = changetype(5); + + // @ts-ignore: decorator + @lazy + static readonly search: symbol = changetype(6); + + // @ts-ignore: decorator + @lazy + static readonly species: symbol = changetype(7); + + // @ts-ignore: decorator + @lazy + static readonly split: symbol = changetype(8); + + // @ts-ignore: decorator + @lazy + static readonly toPrimitive: symbol = changetype(9); + + // @ts-ignore: decorator + @lazy + static readonly toStringTag: symbol = changetype(10); + + // @ts-ignore: decorator + @lazy + static readonly unscopables: symbol = changetype(11); + + static for(key: string): symbol { + if (stringToId.has(key)) return changetype(stringToId.get(key)); + let id = nextId++; + if (!id) unreachable(); // out of ids + stringToId.set(key, id); + idToString.set(id, key); + return changetype(id); + } + + static keyFor(sym: symbol): string | null { + return idToString.has(changetype(sym)) + ? idToString.get(changetype(sym)) + : null; + } + + toString(): string { + let id = changetype(this); + let str = ""; + switch (id) { + case 1: { str = "hasInstance"; break; } + case 2: { str = "isConcatSpreadable"; break; } + case 3: { str = "isRegExp"; break; } + case 4: { str = "match"; break; } + case 5: { str = "replace"; break; } + case 6: { str = "search"; break; } + case 7: { str = "species"; break; } + case 8: { str = "split"; break; } + case 9: { str = "toPrimitive"; break; } + case 10: { str = "toStringTag"; break; } + case 11: { str = "unscopables"; break; } + default: { + if (idToString != null && idToString.has(id)) str = idToString.get(id); + break; + } + } + return "Symbol(" + str + ")"; + } +} + +export function Symbol(description: string | null = null): symbol { + let id = nextId++; + if (!id) unreachable(); // out of ids + return changetype(id); +} + +export type Symbol = _Symbol; + +// @ts-ignore: nolib +export type symbol = _Symbol; diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/table.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/table.ts new file mode 100644 index 00000000..5598bc88 --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/std/assembly/table.ts @@ -0,0 +1,16 @@ +import { E_NOTIMPLEMENTED } from "./util/error"; + +export namespace table { + + export function copy(dst: u32, src: u32, n: u32): void { + throw new Error(E_NOTIMPLEMENTED); + } + + export function init(elementIndex: u32, srcOffset: u32, dstOffset: u32, n: u32): void { + throw new Error(E_NOTIMPLEMENTED); + } + + export function drop(elementIndex: u32): void { + throw new Error(E_NOTIMPLEMENTED); + } +} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/tsconfig.json b/platforms/Arduino/node_modules/assemblyscript/std/assembly/tsconfig.json new file mode 100644 index 00000000..e48ae586 --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/std/assembly/tsconfig.json @@ -0,0 +1,6 @@ +{ + "extends": "../assembly.json", + "include": [ + "./**/*.ts" + ] +} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/typedarray.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/typedarray.ts new file mode 100644 index 00000000..3eb39455 --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/std/assembly/typedarray.ts @@ -0,0 +1,1945 @@ +import { COMPARATOR, SORT } from "./util/sort"; +import { E_INDEXOUTOFRANGE, E_INVALIDLENGTH, E_NOTIMPLEMENTED } from "./util/error"; +import { joinIntegerArray, joinFloatArray } from "./util/string"; +import { REVERSE, FILL } from "./util/bytes"; +import { idof } from "./builtins"; +import { ArrayBufferView } from "./arraybuffer"; + +export class Int8Array extends ArrayBufferView { + [key: number]: i8; + + // @ts-ignore: decorator + @lazy + static readonly BYTES_PER_ELEMENT: i32 = sizeof(); + + constructor(length: i32) { + super(length, alignof()); + } + + get length(): i32 { + return this.byteLength; + } + + @operator("[]") + private __get(index: i32): i8 { + if (index >= this.byteLength) throw new RangeError(E_INDEXOUTOFRANGE); + return load(this.dataStart + index); + } + + @unsafe @operator("{}") + private __uget(index: i32): i8 { + return load(this.dataStart + index); + } + + @operator("[]=") + private __set(index: i32, value: native): void { + if (index >= this.byteLength) throw new RangeError(E_INDEXOUTOFRANGE); + store(this.dataStart + index, value); + } + + @unsafe @operator("{}=") + private __uset(index: i32, value: native): void { + store(this.dataStart + index, value); + } + + at(index: i32): i8 { + let len = this.byteLength; + index += select(0, len, index >= 0); + if (index >= len) throw new RangeError(E_INDEXOUTOFRANGE); + return load(this.dataStart + index); + } + + includes(searchElement: i8, fromIndex: i32 = 0): bool { + return INCLUDES(this, searchElement, fromIndex); + } + + indexOf(searchElement: i8, fromIndex: i32 = 0): i32 { + return INDEX_OF(this, searchElement, fromIndex); + } + + lastIndexOf(searchElement: i8, fromIndex: i32 = this.length): i32 { + return LAST_INDEX_OF(this, searchElement, fromIndex); + } + + fill(value: i32, start: i32 = 0, end: i32 = i32.MAX_VALUE): Int8Array { + FILL(this.dataStart, this.length, u8(value), start, end); + return this; + } + + sort(comparator: (a: i8, b: i8) => i32 = COMPARATOR()): Int8Array { + SORT(this.dataStart, this.length, comparator); + return this; + } + + slice(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Int8Array { + return SLICE(this, begin, end); + } + + subarray(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Int8Array { + return SUBARRAY(this, begin, end); + } + + copyWithin(target: i32, start: i32, end: i32 = i32.MAX_VALUE): Int8Array { + return COPY_WITHIN(this, target, start, end); + } + + reduce( + fn: (accumulator: T, value: i8, index: i32, array: Int8Array) => T, + initialValue: T, + ): T { + return REDUCE(this, fn, initialValue); + } + + reduceRight( + fn: (accumulator: T, value: i8, index: i32, array: Int8Array) => T, + initialValue: T, + ): T { + return REDUCE_RIGHT(this, fn, initialValue); + } + + map(fn: (value: i8, index: i32, self: Int8Array) => i8): Int8Array { + return MAP(this, fn); + } + + filter(fn: (value: i8, index: i32, self: Int8Array) => bool): Int8Array { + return FILTER(this, fn); + } + + findIndex(fn: (value: i8, index: i32, self: Int8Array) => bool): i32 { + return FIND_INDEX(this, fn); + } + + findLastIndex(fn: (value: i8, index: i32, self: Int8Array) => bool): i32 { + return FIND_LAST_INDEX(this, fn); + } + + some(fn: (value: i8, index: i32, self: Int8Array) => bool): bool { + return SOME(this, fn); + } + + every(fn: (value: i8, index: i32, self: Int8Array) => bool): bool { + return EVERY(this, fn); + } + + forEach(fn: (value: i8, index: i32, self: Int8Array) => void): void { + FOREACH(this, fn); + } + + reverse(): Int8Array { + REVERSE(this.dataStart, this.length); + return this; + } + + join(separator: string = ","): string { + return joinIntegerArray(this.dataStart, this.length, separator); + } + + toString(): string { + return this.join(); + } + + set>(source: U, offset: i32 = 0): void { + SET(this, source, offset); + } + + static wrap(buffer: ArrayBuffer, byteOffset: i32 = 0, length: i32 = -1): Int8Array { + return WRAP(buffer, byteOffset, length); + } +} + +export class Uint8Array extends ArrayBufferView { + [key: number]: u8; + + // @ts-ignore: decorator + @lazy + static readonly BYTES_PER_ELEMENT: i32 = sizeof(); + + constructor(length: i32) { + super(length, alignof()); + } + + get length(): i32 { + return this.byteLength; + } + + @operator("[]") + private __get(index: i32): u8 { + if (index >= this.byteLength) throw new RangeError(E_INDEXOUTOFRANGE); + return load(this.dataStart + index); + } + + @unsafe @operator("{}") + private __uget(index: i32): u8 { + return load(this.dataStart + index); + } + + @operator("[]=") + private __set(index: i32, value: native): void { + if (index >= this.byteLength) throw new RangeError(E_INDEXOUTOFRANGE); + store(this.dataStart + index, value); + } + + @unsafe @operator("{}=") + private __uset(index: i32, value: native): void { + store(this.dataStart + index, value); + } + + at(index: i32): u8 { + let len = this.byteLength; + index += select(0, len, index >= 0); + if (index >= len) throw new RangeError(E_INDEXOUTOFRANGE); + return load(this.dataStart + index); + } + + includes(searchElement: u8, fromIndex: i32 = 0): bool { + return INCLUDES(this, searchElement, fromIndex); + } + + indexOf(searchElement: u8, fromIndex: i32 = 0): i32 { + return INDEX_OF(this, searchElement, fromIndex); + } + + lastIndexOf(searchElement: u8, fromIndex: i32 = this.length): i32 { + return LAST_INDEX_OF(this, searchElement, fromIndex); + } + + fill(value: u32, start: i32 = 0, end: i32 = i32.MAX_VALUE): Uint8Array { + FILL(this.dataStart, this.length, u8(value), start, end); + return this; + } + + sort(comparator: (a: u8, b: u8) => i32 = COMPARATOR()): Uint8Array { + SORT(this.dataStart, this.length, comparator); + return this; + } + + slice(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Uint8Array { + return SLICE(this, begin, end); + } + + subarray(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Uint8Array { + return SUBARRAY(this, begin, end); + } + + copyWithin(target: i32, start: i32, end: i32 = i32.MAX_VALUE): Uint8Array { + return COPY_WITHIN(this, target, start, end); + } + + reduce( + fn: (accumulator: T, value: u8, index: i32, array: Uint8Array) => T, + initialValue: T, + ): T { + return REDUCE(this, fn, initialValue); + } + + reduceRight( + fn: (accumulator: T, value: u8, index: i32, array: Uint8Array) => T, + initialValue: T, + ): T { + return REDUCE_RIGHT(this, fn, initialValue); + } + + map(fn: (value: u8, index: i32, self: Uint8Array) => u8): Uint8Array { + return MAP(this, fn); + } + + filter(fn: (value: u8, index: i32, self: Uint8Array) => bool): Uint8Array { + return FILTER(this, fn); + } + + findIndex(fn: (value: u8, index: i32, self: Uint8Array) => bool): i32 { + return FIND_INDEX(this, fn); + } + + findLastIndex(fn: (value: u8, index: i32, self: Uint8Array) => bool): i32 { + return FIND_LAST_INDEX(this, fn); + } + + some(fn: (value: u8, index: i32, self: Uint8Array) => bool): bool { + return SOME(this, fn); + } + + every(fn: (value: u8, index: i32, self: Uint8Array) => bool): bool { + return EVERY(this, fn); + } + + forEach(fn: (value: u8, index: i32, self: Uint8Array) => void): void { + FOREACH(this, fn); + } + + reverse(): Uint8Array { + REVERSE(this.dataStart, this.length); + return this; + } + + join(separator: string = ","): string { + return joinIntegerArray(this.dataStart, this.length, separator); + } + + set>(source: U, offset: i32 = 0): void { + SET(this, source, offset); + } + + toString(): string { + return this.join(); + } + + static wrap(buffer: ArrayBuffer, byteOffset: i32 = 0, length: i32 = -1): Uint8Array { + return WRAP(buffer, byteOffset, length); + } +} + +export class Uint8ClampedArray extends ArrayBufferView { + [key: number]: u8; + + // @ts-ignore: decorator + @lazy + static readonly BYTES_PER_ELEMENT: i32 = sizeof(); + + constructor(length: i32) { + super(length, alignof()); + } + + get length(): i32 { + return this.byteLength; + } + + @operator("[]") + private __get(index: i32): u8 { + if (index >= this.byteLength) throw new RangeError(E_INDEXOUTOFRANGE); + return load(this.dataStart + index); + } + + @unsafe @operator("{}") + private __uget(index: i32): u8 { + return load(this.dataStart + index); + } + + @operator("[]=") + private __set(index: i32, value: native): void { + if (index >= this.byteLength) throw new RangeError(E_INDEXOUTOFRANGE); + store(this.dataStart + index, ~(value >> 31) & (((255 - value) >> 31) | value)); + } + + @unsafe @operator("{}=") + private __uset(index: i32, value: native): void { + store(this.dataStart + index, ~(value >> 31) & (((255 - value) >> 31) | value)); + } + + at(index: i32): u8 { + let len = this.byteLength; + index += select(0, len, index >= 0); + if (index >= len) throw new RangeError(E_INDEXOUTOFRANGE); + return load(this.dataStart + index); + } + + includes(searchElement: u8, fromIndex: i32 = 0): bool { + return INCLUDES(this, searchElement, fromIndex); + } + + indexOf(searchElement: u8, fromIndex: i32 = 0): i32 { + return INDEX_OF(this, searchElement, fromIndex); + } + + lastIndexOf(searchElement: u8, fromIndex: i32 = this.length): i32 { + return LAST_INDEX_OF(this, searchElement, fromIndex); + } + + fill(value: i32, start: i32 = 0, end: i32 = i32.MAX_VALUE): Uint8ClampedArray { + value = ~(value >> 31) & (((255 - value) >> 31) | value); + FILL(this.dataStart, this.length, u8(value), start, end); + return this; + } + + sort(comparator: (a: u8, b: u8) => i32 = COMPARATOR()): Uint8ClampedArray { + SORT(this.dataStart, this.length, comparator); + return this; + } + + slice(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Uint8ClampedArray { + return SLICE(this, begin, end); + } + + subarray(start: i32 = 0, end: i32 = i32.MAX_VALUE): Uint8ClampedArray { + return SUBARRAY(this, start, end); + } + + copyWithin(target: i32, start: i32, end: i32 = i32.MAX_VALUE): Uint8ClampedArray { + return COPY_WITHIN(this, target, start, end); + } + + reduce( + fn: (accumulator: T, value: u8, index: i32, array: Uint8ClampedArray) => T, + initialValue: T, + ): T { + return REDUCE(this, fn, initialValue); + } + + reduceRight( + fn: (accumulator: T, value: u8, index: i32, array: Uint8ClampedArray) => T, + initialValue: T, + ): T { + return REDUCE_RIGHT(this, fn, initialValue); + } + + map(fn: (value: u8, index: i32, self: Uint8ClampedArray) => u8): Uint8ClampedArray { + return MAP(this, fn); + } + + filter(fn: (value: u8, index: i32, self: Uint8ClampedArray) => bool): Uint8ClampedArray { + return FILTER(this, fn); + } + + findIndex(fn: (value: u8, index: i32, self: Uint8ClampedArray) => bool): i32 { + return FIND_INDEX(this, fn); + } + + findLastIndex(fn: (value: u8, index: i32, self: Uint8ClampedArray) => bool): i32 { + return FIND_LAST_INDEX(this, fn); + } + + some(fn: (value: u8, index: i32, self: Uint8ClampedArray) => bool): bool { + return SOME(this, fn); + } + + every(fn: (value: u8, index: i32, self: Uint8ClampedArray) => bool): bool { + return EVERY(this, fn); + } + + forEach(fn: (value: u8, index: i32, self: Uint8ClampedArray) => void): void { + FOREACH(this, fn); + } + + reverse(): Uint8ClampedArray { + REVERSE(this.dataStart, this.length); + return this; + } + + join(separator: string = ","): string { + return joinIntegerArray(this.dataStart, this.length, separator); + } + + set>(source: U, offset: i32 = 0): void { + SET(this, source, offset); + } + + toString(): string { + return this.join(); + } + + static wrap(buffer: ArrayBuffer, byteOffset: i32 = 0, length: i32 = -1): Uint8ClampedArray { + return WRAP(buffer, byteOffset, length); + } +} + +export class Int16Array extends ArrayBufferView { + [key: number]: i16; + + // @ts-ignore: decorator + @lazy + static readonly BYTES_PER_ELEMENT: i32 = sizeof(); + + constructor(length: i32) { + super(length, alignof()); + } + + get length(): i32 { + return this.byteLength >>> alignof(); + } + + @operator("[]") + private __get(index: i32): i16 { + if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE); + return load(this.dataStart + (index << alignof())); + } + + @unsafe @operator("{}") + private __uget(index: i32): i16 { + return load(this.dataStart + (index << alignof())); + } + + @operator("[]=") + private __set(index: i32, value: native): void { + if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE); + store(this.dataStart + (index << alignof()), value); + } + + @unsafe @operator("{}=") + private __uset(index: i32, value: native): void { + store(this.dataStart + (index << alignof()), value); + } + + at(index: i32): i16 { + let len = this.byteLength >>> alignof(); + index += select(0, len, index >= 0); + if (index >= len) throw new RangeError(E_INDEXOUTOFRANGE); + return load(this.dataStart + (index << alignof())); + } + + includes(searchElement: i16, fromIndex: i32 = 0): bool { + return INCLUDES(this, searchElement, fromIndex); + } + + indexOf(searchElement: i16, fromIndex: i32 = 0): i32 { + return INDEX_OF(this, searchElement, fromIndex); + } + + lastIndexOf(searchElement: i16, fromIndex: i32 = this.length): i32 { + return LAST_INDEX_OF(this, searchElement, fromIndex); + } + + fill(value: i32, start: i32 = 0, end: i32 = i32.MAX_VALUE): Int16Array { + FILL(this.dataStart, this.length, u16(value), start, end); + return this; + } + + sort(comparator: (a: i16, b: i16) => i32 = COMPARATOR()): Int16Array { + SORT(this.dataStart, this.length, comparator); + return this; + } + + slice(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Int16Array { + return SLICE(this, begin, end); + } + + subarray(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Int16Array { + return SUBARRAY(this, begin, end); + } + + copyWithin(target: i32, start: i32, end: i32 = i32.MAX_VALUE): Int16Array { + return COPY_WITHIN(this, target, start, end); + } + + reduce( + fn: (accumulator: T, value: i16, index: i32, array: Int16Array) => T, + initialValue: T, + ): T { + return REDUCE(this, fn, initialValue); + } + + reduceRight( + fn: (accumulator: T, value: i16, index: i32, array: Int16Array) => T, + initialValue: T, + ): T { + return REDUCE_RIGHT(this, fn, initialValue); + } + + map(fn: (value: i16, index: i32, self: Int16Array) => i16): Int16Array { + return MAP(this, fn); + } + + filter(fn: (value: i16, index: i32, self: Int16Array) => bool): Int16Array { + return FILTER(this, fn); + } + + findIndex(fn: (value: i16, index: i32, self: Int16Array) => bool): i32 { + return FIND_INDEX(this, fn); + } + + findLastIndex(fn: (value: i16, index: i32, self: Int16Array) => bool): i32 { + return FIND_LAST_INDEX(this, fn); + } + + some(fn: (value: i16, index: i32, self: Int16Array) => bool): bool { + return SOME(this, fn); + } + + every(fn: (value: i16, index: i32, self: Int16Array) => bool): bool { + return EVERY(this, fn); + } + + forEach(fn: (value: i16, index: i32, self: Int16Array) => void): void { + FOREACH(this, fn); + } + + reverse(): Int16Array { + REVERSE(this.dataStart, this.length); + return this; + } + + join(separator: string = ","): string { + return joinIntegerArray(this.dataStart, this.length, separator); + } + + set>(source: U, offset: i32 = 0): void { + SET(this, source, offset); + } + + toString(): string { + return this.join(); + } + + static wrap(buffer: ArrayBuffer, byteOffset: i32 = 0, length: i32 = -1): Int16Array { + return WRAP(buffer, byteOffset, length); + } +} + +export class Uint16Array extends ArrayBufferView { + [key: number]: u16; + + // @ts-ignore: decorator + @lazy + static readonly BYTES_PER_ELEMENT: i32 = sizeof(); + + constructor(length: i32) { + super(length, alignof()); + } + + get length(): i32 { + return this.byteLength >>> alignof(); + } + + @operator("[]") + private __get(index: i32): u16 { + if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE); + return load(this.dataStart + (index << alignof())); + } + + @unsafe @operator("{}") + private __uget(index: i32): u16 { + return load(this.dataStart + (index << alignof())); + } + + @operator("[]=") + private __set(index: i32, value: native): void { + if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE); + store(this.dataStart + (index << alignof()), value); + } + + @unsafe @operator("{}=") + private __uset(index: i32, value: native): void { + store(this.dataStart + (index << alignof()), value); + } + + at(index: i32): u16 { + let len = this.byteLength >>> alignof(); + index += select(0, len, index >= 0); + if (index >= len) throw new RangeError(E_INDEXOUTOFRANGE); + return load(this.dataStart + (index << alignof())); + } + + includes(searchElement: u16, fromIndex: i32 = 0): bool { + return INCLUDES(this, searchElement, fromIndex); + } + + indexOf(searchElement: u16, fromIndex: i32 = 0): i32 { + return INDEX_OF(this, searchElement, fromIndex); + } + + lastIndexOf(searchElement: u16, fromIndex: i32 = this.length): i32 { + return LAST_INDEX_OF(this, searchElement, fromIndex); + } + + fill(value: u32, start: i32 = 0, end: i32 = i32.MAX_VALUE): Uint16Array { + FILL(this.dataStart, this.length, u16(value), start, end); + return this; + } + + sort(comparator: (a: u16, b: u16) => i32 = COMPARATOR()): Uint16Array { + SORT(this.dataStart, this.length, comparator); + return this; + } + + slice(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Uint16Array { + return SLICE(this, begin, end); + } + + subarray(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Uint16Array { + return SUBARRAY(this, begin, end); + } + + copyWithin(target: i32, start: i32, end: i32 = i32.MAX_VALUE): Uint16Array { + return COPY_WITHIN(this, target, start, end); + } + + reduce( + fn: (accumulator: T, value: u16, index: i32, array: Uint16Array) => T, + initialValue: T, + ): T { + return REDUCE(this, fn, initialValue); + } + + reduceRight( + fn: (accumulator: T, value: u16, index: i32, array: Uint16Array) => T, + initialValue: T, + ): T { + return REDUCE_RIGHT(this, fn, initialValue); + } + + map(fn: (value: u16, index: i32, self: Uint16Array) => u16): Uint16Array { + return MAP(this, fn); + } + + filter(fn: (value: u16, index: i32, self: Uint16Array) => bool): Uint16Array { + return FILTER(this, fn); + } + + findIndex(fn: (value: u16, index: i32, self: Uint16Array) => bool): i32 { + return FIND_INDEX(this, fn); + } + + findLastIndex(fn: (value: u16, index: i32, self: Uint16Array) => bool): i32 { + return FIND_LAST_INDEX(this, fn); + } + + some(fn: (value: u16, index: i32, self: Uint16Array) => bool): bool { + return SOME(this, fn); + } + + every(fn: (value: u16, index: i32, self: Uint16Array) => bool): bool { + return EVERY(this, fn); + } + + forEach(fn: (value: u16, index: i32, self: Uint16Array) => void): void { + FOREACH(this, fn); + } + + reverse(): Uint16Array { + REVERSE(this.dataStart, this.length); + return this; + } + + join(separator: string = ","): string { + return joinIntegerArray(this.dataStart, this.length, separator); + } + + set>(source: U, offset: i32 = 0): void { + SET(this, source, offset); + } + + toString(): string { + return this.join(); + } + + static wrap(buffer: ArrayBuffer, byteOffset: i32 = 0, length: i32 = -1): Uint16Array { + return WRAP(buffer, byteOffset, length); + } +} + +export class Int32Array extends ArrayBufferView { + [key: number]: i32; + + // @ts-ignore: decorator + @lazy + static readonly BYTES_PER_ELEMENT: i32 = sizeof(); + + constructor(length: i32) { + super(length, alignof()); + } + + get length(): i32 { + return this.byteLength >>> alignof(); + } + + @operator("[]") + private __get(index: i32): i32 { + if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE); + return load(this.dataStart + (index << alignof())); + } + + @unsafe @operator("{}") + private __uget(index: i32): i32 { + return load(this.dataStart + (index << alignof())); + } + + @operator("[]=") + private __set(index: i32, value: i32): void { + if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE); + store(this.dataStart + (index << alignof()), value); + } + + @unsafe @operator("{}=") + private __uset(index: i32, value: i32): void { + store(this.dataStart + (index << alignof()), value); + } + + at(index: i32): i32 { + let len = this.byteLength >>> alignof(); + index += select(0, len, index >= 0); + if (index >= len) throw new RangeError(E_INDEXOUTOFRANGE); + return load(this.dataStart + (index << alignof())); + } + + includes(searchElement: i32, fromIndex: i32 = 0): bool { + return INCLUDES(this, searchElement, fromIndex); + } + + indexOf(searchElement: i32, fromIndex: i32 = 0): i32 { + return INDEX_OF(this, searchElement, fromIndex); + } + + lastIndexOf(searchElement: i32, fromIndex: i32 = this.length): i32 { + return LAST_INDEX_OF(this, searchElement, fromIndex); + } + + fill(value: i32, start: i32 = 0, end: i32 = i32.MAX_VALUE): Int32Array { + FILL(this.dataStart, this.length, u32(value), start, end); + return this; + } + + sort(comparator: (a: i32, b: i32) => i32 = COMPARATOR()): Int32Array { + SORT(this.dataStart, this.length, comparator); + return this; + } + + slice(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Int32Array { + return SLICE(this, begin, end); + } + + subarray(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Int32Array { + return SUBARRAY(this, begin, end); + } + + copyWithin(target: i32, start: i32, end: i32 = i32.MAX_VALUE): Int32Array { + return COPY_WITHIN(this, target, start, end); + } + + reduce( + fn: (accumulator: T, value: i32, index: i32, array: Int32Array) => T, + initialValue: T, + ): T { + return REDUCE(this, fn, initialValue); + } + + reduceRight( + fn: (accumulator: T, value: i32, index: i32, array: Int32Array) => T, + initialValue: T, + ): T { + return REDUCE_RIGHT(this, fn, initialValue); + } + + map(fn: (value: i32, index: i32, self: Int32Array) => i32): Int32Array { + return MAP(this, fn); + } + + filter(fn: (value: i32, index: i32, self: Int32Array) => bool): Int32Array { + return FILTER(this, fn); + } + + findIndex(fn: (value: i32, index: i32, self: Int32Array) => bool): i32 { + return FIND_INDEX(this, fn); + } + + findLastIndex(fn: (value: i32, index: i32, self: Int32Array) => bool): i32 { + return FIND_LAST_INDEX(this, fn); + } + + some(fn: (value: i32, index: i32, self: Int32Array) => bool): bool { + return SOME(this, fn); + } + + every(fn: (value: i32, index: i32, self: Int32Array) => bool): bool { + return EVERY(this, fn); + } + + forEach(fn: (value: i32, index: i32, self: Int32Array) => void): void { + FOREACH(this, fn); + } + + reverse(): Int32Array { + REVERSE(this.dataStart, this.length); + return this; + } + + join(separator: string = ","): string { + return joinIntegerArray(this.dataStart, this.length, separator); + } + + set>(source: U, offset: i32 = 0): void { + SET(this, source, offset); + } + + toString(): string { + return this.join(); + } + + static wrap(buffer: ArrayBuffer, byteOffset: i32 = 0, length: i32 = -1): Int32Array { + return WRAP(buffer, byteOffset, length); + } +} + +export class Uint32Array extends ArrayBufferView { + [key: number]: u32; + + // @ts-ignore: decorator + @lazy + static readonly BYTES_PER_ELEMENT: i32 = sizeof(); + + constructor(length: i32) { + super(length, alignof()); + } + + get length(): i32 { + return this.byteLength >>> alignof(); + } + + @operator("[]") + private __get(index: i32): u32 { + if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE); + return load(this.dataStart + (index << alignof())); + } + + @unsafe @operator("{}") + private __uget(index: i32): u32 { + return load(this.dataStart + (index << alignof())); + } + + @operator("[]=") + private __set(index: i32, value: u32): void { + if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE); + store(this.dataStart + (index << alignof()), value); + } + + @unsafe @operator("{}=") + private __uset(index: i32, value: u32): void { + store(this.dataStart + (index << alignof()), value); + } + + at(index: i32): u32 { + let len = this.byteLength >>> alignof(); + index += select(0, len, index >= 0); + if (index >= len) throw new RangeError(E_INDEXOUTOFRANGE); + return load(this.dataStart + (index << alignof())); + } + + includes(searchElement: u32, fromIndex: i32 = 0): bool { + return INCLUDES(this, searchElement, fromIndex); + } + + indexOf(searchElement: u32, fromIndex: i32 = 0): i32 { + return INDEX_OF(this, searchElement, fromIndex); + } + + lastIndexOf(searchElement: u32, fromIndex: i32 = this.length): i32 { + return LAST_INDEX_OF(this, searchElement, fromIndex); + } + + fill(value: u32, start: i32 = 0, end: i32 = i32.MAX_VALUE): Uint32Array { + FILL(this.dataStart, this.length, value, start, end); + return this; + } + + sort(comparator: (a: u32, b: u32) => i32 = COMPARATOR()): Uint32Array { + SORT(this.dataStart, this.length, comparator); + return this; + } + + slice(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Uint32Array { + return SLICE(this, begin, end); + } + + subarray(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Uint32Array { + return SUBARRAY(this, begin, end); + } + + copyWithin(target: i32, start: i32, end: i32 = i32.MAX_VALUE): Uint32Array { + return COPY_WITHIN(this, target, start, end); + } + + reduce( + fn: (accumulator: T, value: u32, index: i32, array: Uint32Array) => T, + initialValue: T, + ): T { + return REDUCE(this, fn, initialValue); + } + + reduceRight( + fn: (accumulator: T, value: u32, index: i32, array: Uint32Array) => T, + initialValue: T, + ): T { + return REDUCE_RIGHT(this, fn, initialValue); + } + + map(fn: (value: u32, index: i32, self: Uint32Array) => u32): Uint32Array { + return MAP(this, fn); + } + + filter(fn: (value: u32, index: i32, self: Uint32Array) => bool): Uint32Array { + return FILTER(this, fn); + } + + findIndex(fn: (value: u32, index: i32, self: Uint32Array) => bool): i32 { + return FIND_INDEX(this, fn); + } + + findLastIndex(fn: (value: u32, index: i32, self: Uint32Array) => bool): i32 { + return FIND_LAST_INDEX(this, fn); + } + + some(fn: (value: u32, index: i32, self: Uint32Array) => bool): bool { + return SOME(this, fn); + } + + every(fn: (value: u32, index: i32, self: Uint32Array) => bool): bool { + return EVERY(this, fn); + } + + forEach(fn: (value: u32, index: i32, self: Uint32Array) => void): void { + FOREACH(this, fn); + } + + reverse(): Uint32Array { + REVERSE(this.dataStart, this.length); + return this; + } + + join(separator: string = ","): string { + return joinIntegerArray(this.dataStart, this.length, separator); + } + + set>(source: U, offset: i32 = 0): void { + SET(this, source, offset); + } + + toString(): string { + return this.join(); + } + + static wrap(buffer: ArrayBuffer, byteOffset: i32 = 0, length: i32 = -1): Uint32Array { + return WRAP(buffer, byteOffset, length); + } +} + +export class Int64Array extends ArrayBufferView { + [key: number]: i64; + + // @ts-ignore: decorator + @lazy + static readonly BYTES_PER_ELEMENT: i32 = sizeof(); + + constructor(length: i32) { + super(length, alignof()); + } + + get length(): i32 { + return this.byteLength >>> alignof(); + } + + @operator("[]") + private __get(index: i32): i64 { + if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE); + return load(this.dataStart + (index << alignof())); + } + + @unsafe @operator("{}") + private __uget(index: i32): i64 { + return load(this.dataStart + (index << alignof())); + } + + @operator("[]=") + private __set(index: i32, value: i64): void { + if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE); + store(this.dataStart + (index << alignof()), value); + } + + @unsafe @operator("{}=") + private __uset(index: i32, value: i64): void { + store(this.dataStart + (index << alignof()), value); + } + + at(index: i32): i64 { + let len = this.byteLength >>> alignof(); + index += select(0, len, index >= 0); + if (index >= len) throw new RangeError(E_INDEXOUTOFRANGE); + return load(this.dataStart + (index << alignof())); + } + + includes(searchElement: i64, fromIndex: i32 = 0): bool { + return INCLUDES(this, searchElement, fromIndex); + } + + indexOf(searchElement: i64, fromIndex: i32 = 0): i32 { + return INDEX_OF(this, searchElement, fromIndex); + } + + lastIndexOf(searchElement: i64, fromIndex: i32 = this.length): i32 { + return LAST_INDEX_OF(this, searchElement, fromIndex); + } + + fill(value: i64, start: i32 = 0, end: i32 = i32.MAX_VALUE): Int64Array { + FILL(this.dataStart, this.length, u64(value), start, end); + return this; + } + + sort(comparator: (a: i64, b: i64) => i32 = COMPARATOR()): Int64Array { + SORT(this.dataStart, this.length, comparator); + return this; + } + + slice(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Int64Array { + return SLICE(this, begin, end); + } + + subarray(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Int64Array { + return SUBARRAY(this, begin, end); + } + + copyWithin(target: i32, start: i32, end: i32 = i32.MAX_VALUE): Int64Array { + return COPY_WITHIN(this, target, start, end); + } + + reduce( + fn: (accumulator: T, value: i64, index: i32, array: Int64Array) => T, + initialValue: T, + ): T { + return REDUCE(this, fn, initialValue); + } + + reduceRight( + fn: (accumulator: T, value: i64, index: i32, array: Int64Array) => T, + initialValue: T, + ): T { + return REDUCE_RIGHT(this, fn, initialValue); + } + + map(fn: (value: i64, index: i32, self: Int64Array) => i64): Int64Array { + return MAP(this, fn); + } + + filter(fn: (value: i64, index: i32, self: Int64Array) => bool): Int64Array { + return FILTER(this, fn); + } + + findIndex(fn: (value: i64, index: i32, self: Int64Array) => bool): i32 { + return FIND_INDEX(this, fn); + } + + findLastIndex(fn: (value: i64, index: i32, self: Int64Array) => bool): i32 { + return FIND_LAST_INDEX(this, fn); + } + + some(fn: (value: i64, index: i32, self: Int64Array) => bool): bool { + return SOME(this, fn); + } + + every(fn: (value: i64, index: i32, self: Int64Array) => bool): bool { + return EVERY(this, fn); + } + + forEach(fn: (value: i64, index: i32, self: Int64Array) => void): void { + FOREACH(this, fn); + } + + reverse(): Int64Array { + REVERSE(this.dataStart, this.length); + return this; + } + + join(separator: string = ","): string { + return joinIntegerArray(this.dataStart, this.length, separator); + } + + set>(source: U, offset: i32 = 0): void { + SET(this, source, offset); + } + + toString(): string { + return this.join(); + } + + static wrap(buffer: ArrayBuffer, byteOffset: i32 = 0, length: i32 = -1): Int64Array { + return WRAP(buffer, byteOffset, length); + } +} + +export class Uint64Array extends ArrayBufferView { + [key: number]: u64; + + // @ts-ignore: decorator + @lazy + static readonly BYTES_PER_ELEMENT: i32 = sizeof(); + + constructor(length: i32) { + super(length, alignof()); + } + + get length(): i32 { + return this.byteLength >>> alignof(); + } + + @operator("[]") + private __get(index: i32): u64 { + if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE); + return load(this.dataStart + (index << alignof())); + } + + @unsafe @operator("{}") + private __uget(index: i32): u64 { + return load(this.dataStart + (index << alignof())); + } + + @operator("[]=") + private __set(index: i32, value: u64): void { + if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE); + store(this.dataStart + (index << alignof()), value); + } + + @unsafe @operator("{}=") + private __uset(index: i32, value: u64): void { + store(this.dataStart + (index << alignof()), value); + } + + at(index: i32): u64 { + let len = this.byteLength >>> alignof(); + index += select(0, len, index >= 0); + if (index >= len) throw new RangeError(E_INDEXOUTOFRANGE); + return load(this.dataStart + (index << alignof())); + } + + includes(searchElement: u64, fromIndex: i32 = 0): bool { + return INCLUDES(this, searchElement, fromIndex); + } + + indexOf(searchElement: u64, fromIndex: i32 = 0): i32 { + return INDEX_OF(this, searchElement, fromIndex); + } + + lastIndexOf(searchElement: u64, fromIndex: i32 = this.length): i32 { + return LAST_INDEX_OF(this, searchElement, fromIndex); + } + + fill(value: u64, start: i32 = 0, end: i32 = i32.MAX_VALUE): Uint64Array { + FILL(this.dataStart, this.length, value, start, end); + return this; + } + + sort(comparator: (a: u64, b: u64) => i32 = COMPARATOR()): Uint64Array { + SORT(this.dataStart, this.length, comparator); + return this; + } + + slice(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Uint64Array { + return SLICE(this, begin, end); + } + + subarray(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Uint64Array { + return SUBARRAY(this, begin, end); + } + + copyWithin(target: i32, start: i32, end: i32 = i32.MAX_VALUE): Uint64Array { + return COPY_WITHIN(this, target, start, end); + } + + reduce( + fn: (accumulator: T, value: u64, index: i32, array: Uint64Array) => T, + initialValue: T, + ): T { + return REDUCE(this, fn, initialValue); + } + + reduceRight( + fn: (accumulator: T, value: u64, index: i32, array: Uint64Array) => T, + initialValue: T, + ): T { + return REDUCE_RIGHT(this, fn, initialValue); + } + + map(fn: (value: u64, index: i32, self: Uint64Array) => u64): Uint64Array { + return MAP(this, fn); + } + + filter(fn: (value: u64, index: i32, self: Uint64Array) => bool): Uint64Array { + return FILTER(this, fn); + } + + findIndex(fn: (value: u64, index: i32, self: Uint64Array) => bool): i32 { + return FIND_INDEX(this, fn); + } + + findLastIndex(fn: (value: u64, index: i32, self: Uint64Array) => bool): i32 { + return FIND_LAST_INDEX(this, fn); + } + + some(fn: (value: u64, index: i32, self: Uint64Array) => bool): bool { + return SOME(this, fn); + } + + every(fn: (value: u64, index: i32, self: Uint64Array) => bool): bool { + return EVERY(this, fn); + } + + forEach(fn: (value: u64, index: i32, self: Uint64Array) => void): void { + FOREACH(this, fn); + } + + reverse(): Uint64Array { + REVERSE(this.dataStart, this.length); + return this; + } + + join(separator: string = ","): string { + return joinIntegerArray(this.dataStart, this.length, separator); + } + + set>(source: U, offset: i32 = 0): void { + SET(this, source, offset); + } + + toString(): string { + return this.join(); + } + + static wrap(buffer: ArrayBuffer, byteOffset: i32 = 0, length: i32 = -1): Uint64Array { + return WRAP(buffer, byteOffset, length); + } +} + +export class Float32Array extends ArrayBufferView { + [key: number]: f32; + + // @ts-ignore: decorator + @lazy + static readonly BYTES_PER_ELEMENT: i32 = sizeof(); + + constructor(length: i32) { + super(length, alignof()); + } + + get length(): i32 { + return this.byteLength >>> alignof(); + } + + @operator("[]") + private __get(index: i32): f32 { + if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE); + return load(this.dataStart + (index << alignof())); + } + + @unsafe @operator("{}") + private __uget(index: i32): f32 { + return load(this.dataStart + (index << alignof())); + } + + @operator("[]=") + private __set(index: i32, value: f32): void { + if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE); + store(this.dataStart + (index << alignof()), value); + } + + @unsafe @operator("{}=") + private __uset(index: i32, value: f32): void { + store(this.dataStart + (index << alignof()), value); + } + + at(index: i32): f32 { + let len = this.byteLength >>> alignof(); + index += select(0, len, index >= 0); + if (index >= len) throw new RangeError(E_INDEXOUTOFRANGE); + return load(this.dataStart + (index << alignof())); + } + + includes(searchElement: f32, fromIndex: i32 = 0): bool { + return INCLUDES(this, searchElement, fromIndex); + } + + indexOf(searchElement: f32, fromIndex: i32 = 0): i32 { + return INDEX_OF(this, searchElement, fromIndex); + } + + lastIndexOf(searchElement: f32, fromIndex: i32 = this.length): i32 { + return LAST_INDEX_OF(this, searchElement, fromIndex); + } + + fill(value: f32, start: i32 = 0, end: i32 = i32.MAX_VALUE): Float32Array { + FILL(this.dataStart, this.length, value, start, end); + return this; + } + + sort(comparator: (a: f32, b: f32) => i32 = COMPARATOR()): Float32Array { + SORT(this.dataStart, this.length, comparator); + return this; + } + + slice(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Float32Array { + return SLICE(this, begin, end); + } + + subarray(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Float32Array { + return SUBARRAY(this, begin, end); + } + + copyWithin(target: i32, start: i32, end: i32 = i32.MAX_VALUE): Float32Array { + return COPY_WITHIN(this, target, start, end); + } + + reduce( + fn: (accumulator: T, value: f32, index: i32, array: Float32Array) => T, + initialValue: T, + ): T { + return REDUCE(this, fn, initialValue); + } + + reduceRight( + fn: (accumulator: T, value: f32, index: i32, array: Float32Array) => T, + initialValue: T, + ): T { + return REDUCE_RIGHT(this, fn, initialValue); + } + + map(fn: (value: f32, index: i32, self: Float32Array) => f32): Float32Array { + return MAP(this, fn); + } + + filter(fn: (value: f32, index: i32, self: Float32Array) => bool): Float32Array { + return FILTER(this, fn); + } + + findIndex(fn: (value: f32, index: i32, self: Float32Array) => bool): i32 { + return FIND_INDEX(this, fn); + } + + findLastIndex(fn: (value: f32, index: i32, self: Float32Array) => bool): i32 { + return FIND_LAST_INDEX(this, fn); + } + + some(fn: (value: f32, index: i32, self: Float32Array) => bool): bool { + return SOME(this, fn); + } + + every(fn: (value: f32, index: i32, self: Float32Array) => bool): bool { + return EVERY(this, fn); + } + + forEach(fn: (value: f32, index: i32, self: Float32Array) => void): void { + FOREACH(this, fn); + } + + reverse(): Float32Array { + REVERSE(this.dataStart, this.length); + return this; + } + + join(separator: string = ","): string { + return joinFloatArray(this.dataStart, this.length, separator); + } + + set>(source: U, offset: i32 = 0): void { + SET(this, source, offset); + } + + toString(): string { + return this.join(); + } + + static wrap(buffer: ArrayBuffer, byteOffset: i32 = 0, length: i32 = -1): Float32Array { + return WRAP(buffer, byteOffset, length); + } +} + +export class Float64Array extends ArrayBufferView { + [key: number]: f64; + + // @ts-ignore: decorator + @lazy + static readonly BYTES_PER_ELEMENT: i32 = sizeof(); + + constructor(length: i32) { + super(length, alignof()); + } + + get length(): i32 { + return this.byteLength >>> alignof(); + } + + @operator("[]") + private __get(index: i32): f64 { + if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE); + return load(this.dataStart + (index << alignof())); + } + + @unsafe @operator("{}") + private __uget(index: i32): f64 { + return load(this.dataStart + (index << alignof())); + } + + @operator("[]=") + private __set(index: i32, value: f64): void { + if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE); + store(this.dataStart + (index << alignof()), value); + } + + @unsafe @operator("{}=") + private __uset(index: i32, value: f64): void { + store(this.dataStart + (index << alignof()), value); + } + + at(index: i32): f64 { + let len = this.byteLength >>> alignof(); + index += select(0, len, index >= 0); + if (index >= len) throw new RangeError(E_INDEXOUTOFRANGE); + return load(this.dataStart + (index << alignof())); + } + + includes(searchElement: f64, fromIndex: i32 = 0): bool { + return INCLUDES(this, searchElement, fromIndex); + } + + indexOf(searchElement: f64, fromIndex: i32 = 0): i32 { + return INDEX_OF(this, searchElement, fromIndex); + } + + lastIndexOf(searchElement: f64, fromIndex: i32 = this.length): i32 { + return LAST_INDEX_OF(this, searchElement, fromIndex); + } + + fill(value: f64, start: i32 = 0, end: i32 = i32.MAX_VALUE): Float64Array { + FILL(this.dataStart, this.length, value, start, end); + return this; + } + + sort(comparator: (a: f64, b: f64) => i32 = COMPARATOR()): Float64Array { + SORT(this.dataStart, this.length, comparator); + return this; + } + + slice(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Float64Array { + return SLICE(this, begin, end); + } + + subarray(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Float64Array { + return SUBARRAY(this, begin, end); + } + + copyWithin(target: i32, start: i32, end: i32 = i32.MAX_VALUE): Float64Array { + return COPY_WITHIN(this, target, start, end); + } + + reduce( + fn: (accumulator: T, value: f64, index: i32, array: Float64Array) => T, + initialValue: T, + ): T { + return REDUCE(this, fn, initialValue); + } + + reduceRight( + fn: (accumulator: T, value: f64, index: i32, array: Float64Array) => T, + initialValue: T, + ): T { + return REDUCE_RIGHT(this, fn, initialValue); + } + + map(fn: (value: f64, index: i32, self: Float64Array) => f64): Float64Array { + return MAP(this, fn); + } + + filter(fn: (value: f64, index: i32, self: Float64Array) => bool): Float64Array { + return FILTER(this, fn); + } + + findIndex(fn: (value: f64, index: i32, self: Float64Array) => bool): i32 { + return FIND_INDEX(this, fn); + } + + findLastIndex(fn: (value: f64, index: i32, self: Float64Array) => bool): i32 { + return FIND_LAST_INDEX(this, fn); + } + + some(fn: (value: f64, index: i32, self: Float64Array) => bool): bool { + return SOME(this, fn); + } + + every(fn: (value: f64, index: i32, self: Float64Array) => bool): bool { + return EVERY(this, fn); + } + + forEach(fn: (value: f64, index: i32, self: Float64Array) => void): void { + FOREACH(this, fn); + } + + reverse(): Float64Array { + REVERSE(this.dataStart, this.length); + return this; + } + + join(separator: string = ","): string { + return joinFloatArray(this.dataStart, this.length, separator); + } + + set>(source: U, offset: i32 = 0): void { + SET(this, source, offset); + } + + toString(): string { + return this.join(); + } + + static wrap(buffer: ArrayBuffer, byteOffset: i32 = 0, length: i32 = -1): Float64Array { + return WRAP(buffer, byteOffset, length); + } +} + +// @ts-ignore: decorator +@inline +function SLICE( + array: TArray, + start: i32, + end: i32 +): TArray { + let len = array.length; + start = start < 0 ? max(start + len, 0) : min(start, len); + end = end < 0 ? max(end + len, 0) : min(end , len); + len = max(end - start, 0); + let slice = instantiate(len); + memory.copy( + slice.dataStart, + array.dataStart + (start << alignof()), + len << alignof() + ); + return slice; +} + +// @ts-ignore: decorator +@inline +function SUBARRAY( + array: TArray, + begin: i32, + end: i32 +): TArray { + let len = array.length; + begin = begin < 0 ? max(len + begin, 0) : min(begin, len); + end = end < 0 ? max(len + end, 0) : min(end, len); + end = max(end, begin); + + let out = changetype(__new(offsetof(), idof())); + let buf = changetype(array.buffer); + store(changetype(out), buf, offsetof("buffer")); + __link(changetype(out), buf, false); + store(changetype(out), array.dataStart + (begin << alignof()), offsetof("dataStart")); + store(changetype(out), (end - begin) << alignof(), offsetof("byteLength")); + return out; +} + +// @ts-ignore: decorator +@inline +function COPY_WITHIN( + array: TArray, + target: i32, + start: i32, + end: i32 +): TArray { + let len = array.length; + let ptr = array.dataStart; + + end = min(end, len); + let to = target < 0 ? max(len + target, 0) : min(target, len); + let from = start < 0 ? max(len + start, 0) : min(start, len); + let last = end < 0 ? max(len + end, 0) : min(end, len); + let count = min(last - from, len - to); + + memory.copy( + ptr + (to << alignof()), + ptr + (from << alignof()), + count << alignof() + ); + return array; +} + +// @ts-ignore: decorator +@inline +function REDUCE( + array: TArray, + fn: (accumulator: TRet, value: T, index: i32, array: TArray) => TRet, + initialValue: TRet +): TRet { + let ptr = array.dataStart; + for (let i = 0, k = array.length; i < k; i++) { + initialValue = fn(initialValue, load(ptr + (i << alignof())), i, array); + } + return initialValue; +} + +// @ts-ignore: decorator +@inline +function REDUCE_RIGHT( + array: TArray, + fn: (accumulator: TRet, value: T, index: i32, array: TArray) => TRet, + initialValue: TRet +): TRet { + let ptr = array.dataStart; + for (let i = array.length - 1; i >= 0; i--) { + initialValue = fn(initialValue, load(ptr + (i << alignof())), i, array); + } + return initialValue; +} + +// @ts-ignore: decorator +@inline +function MAP( + array: TArray, + fn: (value: T, index: i32, self: TArray) => T, +): TArray { + let len = array.length; + let ptr = array.dataStart; + + let byteLength = len << alignof(); + let out = changetype(__new(offsetof(), idof())); + let buf = changetype(__new(byteLength, idof())); + for (let i = 0; i < len; i++) { + store( + changetype(buf) + (i << alignof()), + fn(load(ptr + (i << alignof())), i, array) + ); + } + store(changetype(out), changetype(buf), offsetof("buffer")); + __link(changetype(out), changetype(buf), false); + store(changetype(out), changetype(buf), offsetof("dataStart")); + store(changetype(out), byteLength, offsetof("byteLength")); + return out; +} + +// @ts-ignore: decorator +@inline +function FILTER( + array: TArray, + fn: (value: T, index: i32, self: TArray) => bool, +): TArray { + let len = array.length; + let out = changetype(__new(offsetof(), idof())); + let buf = changetype(__new(len << alignof(), idof())); + let dataStart = array.dataStart; + let j: usize = 0; + for (let i = 0; i < len; i++) { + let value = load(dataStart + (i << alignof())); + if (fn(value, i, array)) { + store( + changetype(buf) + (j++ << alignof()), + value + ); + } + } + // shrink output buffer + let byteLength = j << alignof(); + let data = __renew(changetype(buf), byteLength); + store(changetype(out), data, offsetof("buffer")); + __link(changetype(out), data, false); + store(changetype(out), byteLength, offsetof("byteLength")); + store(changetype(out), data, offsetof("dataStart")); + return out; +} + +// @ts-ignore: decorator +@inline +function FIND_INDEX( + array: TArray, + fn: (value: T, index: i32, array: TArray) => bool, +): i32 { + let ptr = array.dataStart; + for (let i = 0, k = array.length; i < k; i++) { + if (fn(load(ptr + (i << alignof())), i, array)) return i; + } + return -1; +} + +// @ts-ignore: decorator +@inline +function FIND_LAST_INDEX( + array: TArray, + fn: (value: T, index: i32, array: TArray) => bool, +): i32 { + let ptr = array.dataStart; + for (let i = array.length - 1; i >= 0; --i) { + if (fn(load(ptr + (i << alignof())), i, array)) return i; + } + return -1; +} + +// @ts-ignore: decorator +@inline +function INCLUDES( + array: TArray, + searchElement: T, + fromIndex: i32, +): bool { + if (isFloat()) { + let index: isize = fromIndex; + let len: isize = array.length; + if (len == 0 || index >= len) return false; + if (index < 0) index = max(len + index, 0); + let dataStart = array.dataStart; + while (index < len) { + let elem = load(dataStart + (index << alignof())); + // @ts-ignore + if (elem == searchElement || isNaN(elem) & isNaN(searchElement)) return true; + ++index; + } + return false; + } else { + return INDEX_OF(array, searchElement, fromIndex) >= 0; + } +} + +// @ts-ignore: decorator +@inline +function INDEX_OF( + array: TArray, + searchElement: T, + fromIndex: i32, +): i32 { + let index: isize = fromIndex; + let len: isize = array.length; + if (len == 0 || index >= len) return -1; + if (index < 0) index = max(len + index, 0); + let dataStart = array.dataStart; + while (index < len) { + if (load(dataStart + (index << alignof())) == searchElement) return index; + ++index; + } + return -1; +} + +// @ts-ignore: decorator +@inline +function LAST_INDEX_OF( + array: TArray, + searchElement: T, + fromIndex: i32, +): i32 { + let index: isize = fromIndex; + let len: isize = array.length; + if (len == 0) return -1; + if (index < 0) index = len + index; // no need to clamp + else if (index >= len) index = len - 1; + let dataStart = array.dataStart; + while (index >= 0) { + if (load(dataStart + (index << alignof())) == searchElement) return index; + --index; + } + return -1; +} + +// @ts-ignore: decorator +@inline +function SOME( + array: TArray, + fn: (value: T, index: i32, array: TArray) => bool, +): bool { + let ptr = array.dataStart; + for (let i = 0, k = array.length; i < k; i++) { + if (fn(load(ptr + (i << alignof())), i, array)) return true; + } + return false; +} + +// @ts-ignore: decorator +@inline +function EVERY( + array: TArray, + fn: (value: T, index: i32, array: TArray) => bool, +): bool { + let ptr = array.dataStart; + for (let i = 0, k = array.length; i < k; i++) { + if (fn(load(ptr + (i << alignof())), i, array)) continue; + return false; + } + return true; +} + +// @ts-ignore: decorator +@inline +function FOREACH( + array: TArray, + fn: (value: T, index: i32, array: TArray) => void, +): void { + let ptr = array.dataStart; + for (let i = 0, k = array.length; i < k; i++) { + fn(load(ptr + (i << alignof())), i, array); + } +} + +// @ts-ignore: decorator +@inline +function WRAP( + buffer: ArrayBuffer, + byteOffset: i32 = 0, + len: i32 = -1 +): TArray { + let byteLength: i32; + let bufferByteLength = buffer.byteLength; + const mask: u32 = sizeof() - 1; + if (i32(byteOffset > bufferByteLength) | (byteOffset & mask)) { + throw new RangeError(E_INDEXOUTOFRANGE); + } + if (len < 0) { + if (len == -1) { + if (bufferByteLength & mask) { + throw new RangeError(E_INVALIDLENGTH); + } + byteLength = bufferByteLength - byteOffset; + } else { + throw new RangeError(E_INVALIDLENGTH); + } + } else { + byteLength = len << alignof(); + if (byteOffset + byteLength > bufferByteLength) { + throw new RangeError(E_INVALIDLENGTH); + } + } + let out = changetype(__new(offsetof(), idof())); + store(changetype(out), changetype(buffer), offsetof("buffer")); + __link(changetype(out), changetype(buffer), false); + store(changetype(out), byteLength, offsetof("byteLength")); + store(changetype(out), changetype(buffer) + byteOffset, offsetof("dataStart")); + return out; +} + +// @ts-ignore: decorator +@inline +function SET< + TArray extends ArrayLike, + UArray extends ArrayLike +>( + target: TArray, + source: UArray, + offset: i32 = 0 +): void { + // need to assert at compile time that U is not a reference or a function + if (isReference>()) { + ERROR(E_NOTIMPLEMENTED); + } + let sourceLen = source.length; + if (offset < 0 || sourceLen + offset > target.length) { + // offset is out of bounds + throw new RangeError(E_INDEXOUTOFRANGE); + } + // @ts-ignore: dataStart + let targetStart = target.dataStart + (offset << (alignof>())); + // @ts-ignore: dataStart + let sourceStart = source.dataStart; + // if the types align and match, use memory.copy() instead of manual loop + if ( + isInteger>() == isInteger>() && + alignof>() == alignof>() && + !(isSigned>() && target instanceof Uint8ClampedArray) + ) { + memory.copy(targetStart, sourceStart, sourceLen << (alignof>())); + } else { + for (let i = 0; i < sourceLen; i++) { + let ptr = targetStart + (i << (alignof>())); + let value = load>(sourceStart + (i << (alignof>()))); + // if TArray is Uint8ClampedArray, then values must be clamped + if (target instanceof Uint8ClampedArray) { + if (isFloat>()) { + store>(ptr, + isFinite>(value) + ? >max>(0, min>(255, value)) + : 0 + ); + } else { + if (!isSigned>()) { + store>(ptr, min>(255, value)); + } else if (sizeof>() <= 4) { + store>(ptr, ~(value >> 31) & (((255 - value) >> 31) | value)); + } else { + store>(ptr, ~(value >> 63) & (((255 - value) >> 63) | value)); + } + } + } else { + if (isFloat>() && !isFloat>()) { + store>(ptr, isFinite>(value) ? >value : 0); + } else { + store>(ptr, >value); + } + } + } + } +} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/uri.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/uri.ts new file mode 100644 index 00000000..1c73edd2 --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/std/assembly/uri.ts @@ -0,0 +1,17 @@ +import { encode, decode, URI_UNSAFE, URL_UNSAFE } from "./util/uri"; + +export function encodeURI(str: string): string { + return changetype(encode(changetype(str), str.length, URI_UNSAFE)); +} + +export function decodeURI(str: string): string { + return changetype(decode(changetype(str), str.length, false)); +} + +export function encodeURIComponent(str: string): string { + return changetype(encode(changetype(str), str.length, URL_UNSAFE)); +} + +export function decodeURIComponent(str: string): string { + return changetype(decode(changetype(str), str.length, true)); +} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/util/bytes.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/util/bytes.ts new file mode 100644 index 00000000..01667214 --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/std/assembly/util/bytes.ts @@ -0,0 +1,107 @@ +export function REVERSE(ptr: usize, len: usize): void { + if (len > 1) { + let + i: usize = 0, + tail: usize, + hlen: usize = len >> 1; + + if (ASC_SHRINK_LEVEL < 1) { + if (sizeof() == 1) { + // TODO: Decide later: Does we need this fast path cases? + // + // if (len == 4) { + // store(ptr, bswap(load(ptr))); + // return; + // } + // if (len == 8) { + // store(ptr, bswap(load(ptr))); + // return; + // } + tail = len - 8; + while (i + 7 < hlen) { + let front = ptr + i; + let back = ptr + tail - i; + let temp = bswap(load(front)); + store(front, bswap(load(back))); + store(back, temp); + i += 8; + } + } + + if (sizeof() == 2) { + tail = len - 2; + while (i + 1 < hlen) { + let front = ptr + (i << 1); + let back = ptr + (tail - i << 1); + let temp = rotr(load(back), 16); + store(back, rotr(load(front), 16)); + store(front, temp); + i += 2; + } + } + } + + tail = len - 1; + while (i < hlen) { + let front = ptr + (i << alignof()); + let back = ptr + (tail - i << alignof()); + let temp = load(front); + store(front, load(back)); + store(back, temp); + i++; + } + } +} + +export function FILL( + ptr: usize, + len: usize, + value: T, + start: isize, + end: isize +): void { + start = start < 0 ? max(len + start, 0) : min(start, len); + end = end < 0 ? max(len + end, 0) : min(end, len); + + if (sizeof() == 1) { + if (start < end) { + memory.fill( + ptr + start, + u8(value), + (end - start) + ); + } + } else { + if (ASC_SHRINK_LEVEL <= 1) { + if (isInteger()) { + // @ts-ignore + if (value == 0 | value == -1) { + if (start < end) { + memory.fill( + ptr + (start << alignof()), + u8(value), + (end - start) << alignof() + ); + } + return; + } + } else if (isFloat()) { + // for floating non-negative zeros we can use fast memory.fill + if ((sizeof() == 4 && reinterpret(f32(value)) == 0) || + (sizeof() == 8 && reinterpret(f64(value)) == 0)) { + if (start < end) { + memory.fill( + ptr + (start << alignof()), + 0, + (end - start) << alignof() + ); + } + return; + } + } + } + for (; start < end; ++start) { + store(ptr + (start << alignof()), value); + } + } +} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/util/casemap.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/util/casemap.ts new file mode 100644 index 00000000..3aacfbee --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/std/assembly/util/casemap.ts @@ -0,0 +1,497 @@ +// Total tables size: ~5 kb (usually compressed to ~4 kb) +// See: https://git.musl-libc.org/cgit/musl/tree/src/ctype/casemap.h + +// @ts-ignore: decorator +@lazy @inline const TAB = memory.data([ + 7, 8, 9, 10, 11, 12, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 13, 6, 6, 14, 6, 6, 6, 6, 6, 6, 6, 6, 15, 16, 17, 18, + 6, 19, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 20, 21, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 22, 23, 6, 6, 6, 24, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 25, + 6, 6, 6, 6, 26, 6, 6, 6, 6, 6, 6, 6, 27, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 28, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 29, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 30, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, + 43, 43, 43, 43, 43, 43, 43, 43, 1, 0, 84, 86, 86, 86, 86, 86, + 86, 86, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 43, 43, 43, 43, 43, 43, + 43, 7, 43, 43, 91, 86, 86, 86, 86, 86, 86, 86, 74, 86, 86, 5, + 49, 80, 49, 80, 49, 80, 49, 80, 49, 80, 49, 80, 49, 80, 49, 80, + 36, 80, 121, 49, 80, 49, 80, 49, 56, 80, 49, 80, 49, 80, 49, 80, + 49, 80, 49, 80, 49, 80, 49, 80, 78, 49, 2, 78, 13, 13, 78, 3, + 78, 0, 36, 110, 0, 78, 49, 38, 110, 81, 78, 36, 80, 78, 57, 20, + 129, 27, 29, 29, 83, 49, 80, 49, 80, 13, 49, 80, 49, 80, 49, 80, + 27, 83, 36, 80, 49, 2, 92, 123, 92, 123, 92, 123, 92, 123, 92, 123, + 20, 121, 92, 123, 92, 123, 92, 45, 43, 73, 3, 72, 3, 120, 92, 123, + 20, 0, 150, 10, 1, 43, 40, 6, 6, 0, 42, 6, 42, 42, 43, 7, + 187, 181, 43, 30, 0, 43, 7, 43, 43, 43, 1, 43, 43, 43, 43, 43, + 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, + 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 1, 43, 43, 43, 43, + 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, + 43, 43, 43, 42, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, + 43, 205, 70, 205, 43, 0, 37, 43, 7, 1, 6, 1, 85, 86, 86, 86, + 86, 86, 85, 86, 86, 2, 36, 129, 129, 129, 129, 129, 21, 129, 129, 129, + 0, 0, 43, 0, 178, 209, 178, 209, 178, 209, 178, 209, 0, 0, 205, 204, + 1, 0, 215, 215, 215, 215, 215, 131, 129, 129, 129, 129, 129, 129, 129, 129, + 129, 129, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 28, 0, 0, 0, + 0, 0, 49, 80, 49, 80, 49, 80, 49, 80, 49, 80, 49, 2, 0, 0, + 49, 80, 49, 80, 49, 80, 49, 80, 49, 80, 49, 80, 49, 80, 49, 80, + 49, 80, 78, 49, 80, 49, 80, 78, 49, 80, 49, 80, 49, 80, 49, 80, + 49, 80, 49, 80, 49, 80, 49, 2, 135, 166, 135, 166, 135, 166, 135, 166, + 135, 166, 135, 166, 135, 166, 135, 166, 42, 43, 43, 43, 43, 43, 43, 43, + 43, 43, 43, 43, 43, 0, 0, 0, 84, 86, 86, 86, 86, 86, 86, 86, + 86, 86, 86, 86, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 84, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, + 12, 0, 12, 42, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, + 43, 7, 42, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 43, 43, 43, 43, 43, 43, + 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, + 43, 43, 43, 43, 86, 86, 108, 129, 21, 0, 43, 43, 43, 43, 43, 43, + 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, + 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, + 43, 43, 43, 43, 7, 108, 3, 65, 43, 43, 86, 86, 86, 86, 86, 86, + 86, 86, 86, 86, 86, 86, 86, 86, 44, 86, 43, 43, 43, 43, 43, 43, + 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 12, 108, 0, 0, 0, 0, 0, 6, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 6, 37, 6, 37, 6, 37, 6, 37, 6, 37, + 6, 37, 6, 37, 6, 37, 6, 37, 6, 37, 6, 37, 6, 37, 6, 37, + 6, 37, 6, 37, 6, 37, 6, 37, 6, 37, 6, 37, 6, 37, 6, 37, + 6, 37, 6, 37, 6, 37, 6, 37, 86, 122, 158, 38, 6, 37, 6, 37, + 6, 37, 6, 37, 6, 37, 6, 37, 6, 37, 6, 37, 6, 37, 6, 37, + 6, 37, 6, 37, 6, 37, 6, 37, 6, 37, 6, 1, 43, 43, 79, 86, + 86, 44, 43, 127, 86, 86, 57, 43, 43, 85, 86, 86, 43, 43, 79, 86, + 86, 44, 43, 127, 86, 86, 129, 55, 117, 91, 123, 92, 43, 43, 79, 86, + 86, 2, 172, 4, 0, 0, 57, 43, 43, 85, 86, 86, 43, 43, 79, 86, + 86, 44, 43, 43, 86, 86, 50, 19, 129, 87, 0, 111, 129, 126, 201, 215, + 126, 45, 129, 129, 14, 126, 57, 127, 111, 87, 0, 129, 129, 126, 21, 0, + 126, 3, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 7, 43, + 36, 43, 151, 43, 43, 43, 43, 43, 43, 43, 43, 43, 42, 43, 43, 43, + 43, 43, 86, 86, 86, 86, 86, 128, 129, 129, 129, 129, 57, 187, 42, 43, + 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, + 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, + 43, 43, 43, 43, 43, 43, 43, 1, 129, 129, 129, 129, 129, 129, 129, 129, + 129, 129, 129, 129, 129, 129, 129, 201, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 208, 13, 0, 78, 49, 2, 180, 193, 193, + 215, 215, 36, 80, 49, 80, 49, 80, 49, 80, 49, 80, 49, 80, 49, 80, + 49, 80, 49, 80, 49, 80, 49, 80, 49, 80, 49, 80, 49, 80, 49, 80, + 49, 80, 49, 80, 215, 215, 83, 193, 71, 212, 215, 215, 215, 5, 43, 43, + 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 7, 1, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 78, 49, 80, 49, 80, 49, 80, + 49, 80, 49, 80, 49, 80, 49, 80, 13, 0, 0, 0, 0, 0, 36, 80, + 49, 80, 49, 80, 49, 80, 49, 80, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 43, 43, 43, 43, 43, + 43, 43, 43, 43, 43, 121, 92, 123, 92, 123, 79, 123, 92, 123, 92, 123, + 92, 123, 92, 123, 92, 123, 92, 123, 92, 123, 92, 123, 92, 123, 92, 45, + 43, 43, 121, 20, 92, 123, 92, 45, 121, 42, 92, 39, 92, 123, 92, 123, + 92, 123, 164, 0, 10, 180, 92, 123, 92, 123, 79, 3, 120, 56, 43, 43, + 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 79, 45, 43, 43, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 42, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, + 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 43, 43, 43, 43, 43, 43, 43, 43, 7, 0, 72, 86, 86, 86, 86, + 86, 86, 86, 86, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 43, 43, 43, + 43, 43, 43, 43, 43, 43, 43, 43, 43, 85, 86, 86, 86, 86, 86, 86, + 86, 86, 86, 86, 86, 86, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 36, 43, 43, 43, 43, 43, 43, 43, 43, 43, + 43, 43, 7, 0, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 43, 43, 43, + 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 7, 0, 0, + 0, 0, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, + 86, 86, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 43, 43, + 43, 43, 43, 43, 43, 43, 43, 43, 86, 86, 86, 86, 86, 86, 86, 86, + 86, 86, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 42, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 86, 86, + 86, 86, 86, 86, 86, 86, 86, 86, 14, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 85, + 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 14, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +]); + +// @ts-ignore: decorator +@lazy @inline const RULES = memory.data([ + 0x0, 0x2001, -0x2000, 0x1dbf00, 0x2e700, 0x7900, + 0x2402, 0x101, -0x100, 0x0, 0x201, -0x200, + -0xc6ff, -0xe800, -0x78ff, -0x12c00, 0xc300, 0xd201, + 0xce01, 0xcd01, 0x4f01, 0xca01, 0xcb01, 0xcf01, + 0x6100, 0xd301, 0xd101, 0xa300, 0xd501, 0x8200, + 0xd601, 0xda01, 0xd901, 0xdb01, 0x3800, 0x3, + -0x4f00, -0x60ff, -0x37ff, 0x242802, 0x0, 0x101, + -0x100, -0xcd00, -0xda00, -0x81ff, 0x2a2b01, -0xa2ff, + 0x2a2801, 0x2a3f00, -0xc2ff, 0x4501, 0x4701, 0x2a1f00, + 0x2a1c00, 0x2a1e00, -0xd200, -0xce00, -0xca00, -0xcb00, + 0xa54f00, 0xa54b00, -0xcf00, 0xa52800, 0xa54400, -0xd100, + -0xd300, 0x29f700, 0xa54100, 0x29fd00, -0xd500, -0xd600, + 0x29e700, 0xa54300, 0xa52a00, -0x4500, -0xd900, -0x4700, + -0xdb00, 0xa51500, 0xa51200, 0x4c2402, 0x0, 0x2001, + -0x2000, 0x101, -0x100, 0x5400, 0x7401, 0x2601, + 0x2501, 0x4001, 0x3f01, -0x2600, -0x2500, -0x1f00, + -0x4000, -0x3f00, 0x801, -0x3e00, -0x3900, -0x2f00, + -0x3600, -0x800, -0x5600, -0x5000, 0x700, -0x7400, + -0x3bff, -0x6000, -0x6ff, 0x701a02, 0x101, -0x100, + 0x2001, -0x2000, 0x5001, 0xf01, -0xf00, 0x0, + 0x3001, -0x3000, 0x101, -0x100, 0x0, 0xbc000, + 0x1c6001, 0x0, 0x97d001, 0x801, -0x800, 0x8a0502, + 0x0, -0xbbfff, -0x186200, 0x89c200, -0x182500, -0x186e00, + -0x186d00, -0x186400, -0x186300, -0x185c00, 0x0, 0x8a3800, + 0x8a0400, 0xee600, 0x101, -0x100, 0x0, -0x3b00, + -0x1dbeff, 0x8f1d02, 0x800, -0x7ff, 0x0, 0x5600, + -0x55ff, 0x4a00, 0x6400, 0x8000, 0x7000, 0x7e00, + 0x900, -0x49ff, -0x8ff, -0x1c2500, -0x63ff, -0x6fff, + -0x7fff, -0x7dff, 0xac0502, 0x0, 0x1001, -0x1000, + 0x1c01, 0x101, -0x1d5cff, -0x20beff, -0x2045ff, -0x1c00, + 0xb10b02, 0x101, -0x100, 0x3001, -0x3000, 0x0, + -0x29f6ff, -0xee5ff, -0x29e6ff, -0x2a2b00, -0x2a2800, -0x2a1bff, + -0x29fcff, -0x2a1eff, -0x2a1dff, -0x2a3eff, 0x0, -0x1c6000, + 0x0, 0x101, -0x100, 0xbc0c02, 0x0, 0x101, + -0x100, -0xa543ff, 0x3a001, -0x8a03ff, -0xa527ff, 0x3000, + -0xa54eff, -0xa54aff, -0xa540ff, -0xa511ff, -0xa529ff, -0xa514ff, + -0x2fff, -0xa542ff, -0x8a37ff, 0x0, -0x97d000, -0x3a000, + 0x0, 0x2001, -0x2000, 0x0, 0x2801, -0x2800, + 0x0, 0x4001, -0x4000, 0x0, 0x2001, -0x2000, + 0x0, 0x2001, -0x2000, 0x0, 0x2201, -0x2200 +]); + +// @ts-ignore: decorator +@lazy @inline const RULE_BASES = memory.data([ + 0, 6, 39, 81, 111, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 124, 0, 0, 127, 0, 0, 0, 0, 0, 0, 0, 0, 131, 142, 146, 151, + 0, 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 180, 196, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 198, 201, 0, 0, 0, 219, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 222, + 0, 0, 0, 0, 225, 0, 0, 0, 0, 0, 0, 0, 228, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 231, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 234, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 237, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +]); + +// @ts-ignore: decorator +@lazy @inline const EXCEPTIONS = memory.data([ + 48, 12, 49, 13, 120, 14, 127, 15, + 128, 16, 129, 17, 134, 18, 137, 19, + 138, 19, 142, 20, 143, 21, 144, 22, + 147, 19, 148, 23, 149, 24, 150, 25, + 151, 26, 154, 27, 156, 25, 157, 28, + 158, 29, 159, 30, 166, 31, 169, 31, + 174, 31, 177, 32, 178, 32, 183, 33, + 191, 34, 197, 35, 200, 35, 203, 35, + 221, 36, 242, 35, 246, 37, 247, 38, + 32, 45, 58, 46, 61, 47, 62, 48, + 63, 49, 64, 49, 67, 50, 68, 51, + 69, 52, 80, 53, 81, 54, 82, 55, + 83, 56, 84, 57, 89, 58, 91, 59, + 92, 60, 97, 61, 99, 62, 101, 63, + 102, 64, 104, 65, 105, 66, 106, 64, + 107, 67, 108, 68, 111, 66, 113, 69, + 114, 70, 117, 71, 125, 72, 130, 73, + 135, 74, 137, 75, 138, 76, 139, 76, + 140, 77, 146, 78, 157, 79, 158, 80, + 69, 87, 123, 29, 124, 29, 125, 29, + 127, 88, 134, 89, 136, 90, 137, 90, + 138, 90, 140, 91, 142, 92, 143, 92, + 172, 93, 173, 94, 174, 94, 175, 94, + 194, 95, 204, 96, 205, 97, 206, 97, + 207, 98, 208, 99, 209, 100, 213, 101, + 214, 102, 215, 103, 240, 104, 241, 105, + 242, 106, 243, 107, 244, 108, 245, 109, + 249, 110, 253, 45, 254, 45, 255, 45, + 80, 105, 81, 105, 82, 105, 83, 105, + 84, 105, 85, 105, 86, 105, 87, 105, + 88, 105, 89, 105, 90, 105, 91, 105, + 92, 105, 93, 105, 94, 105, 95, 105, + 130, 0, 131, 0, 132, 0, 133, 0, + 134, 0, 135, 0, 136, 0, 137, 0, + 192, 117, 207, 118, 128, 137, 129, 138, + 130, 139, 133, 140, 134, 141, 112, 157, + 113, 157, 118, 158, 119, 158, 120, 159, + 121, 159, 122, 160, 123, 160, 124, 161, + 125, 161, 179, 162, 186, 163, 187, 163, + 188, 164, 190, 165, 195, 162, 204, 164, + 218, 166, 219, 166, 229, 106, 234, 167, + 235, 167, 236, 110, 243, 162, 248, 168, + 249, 168, 250, 169, 251, 169, 252, 164, + 38, 176, 42, 177, 43, 178, 78, 179, + 132, 8, 98, 186, 99, 187, 100, 188, + 101, 189, 102, 190, 109, 191, 110, 192, + 111, 193, 112, 194, 126, 195, 127, 195, + 125, 207, 141, 208, 148, 209, 171, 210, + 172, 211, 173, 212, 176, 213, 177, 214, + 178, 215, 196, 216, 197, 217, 198, 218 +]); + +/* Special Case Mappings + * See: https://unicode.org/Public/UNIDATA/SpecialCasing.txt + */ + +/* +@lazy @inline +const SPECIALS_LOWER: StaticArray = [ + 0x0130, 0x0069, 0x0307, 0x0000, +]; +*/ + +// @ts-ignore: decorator +@lazy @inlne +export const SPECIALS_UPPER: StaticArray = [ + // String#toUpperCase needs .length + 0x00DF, 0x0053, 0x0053, 0x0000, + 0x0149, 0x02BC, 0x004E, 0x0000, + 0x01F0, 0x004A, 0x030C, 0x0000, + 0x0390, 0x0399, 0x0308, 0x0301, + 0x03B0, 0x03A5, 0x0308, 0x0301, + 0x0587, 0x0535, 0x0552, 0x0000, + 0x1E96, 0x0048, 0x0331, 0x0000, + 0x1E97, 0x0054, 0x0308, 0x0000, + 0x1E98, 0x0057, 0x030A, 0x0000, + 0x1E99, 0x0059, 0x030A, 0x0000, + 0x1E9A, 0x0041, 0x02BE, 0x0000, + 0x1F50, 0x03A5, 0x0313, 0x0000, + 0x1F52, 0x03A5, 0x0313, 0x0300, + 0x1F54, 0x03A5, 0x0313, 0x0301, + 0x1F56, 0x03A5, 0x0313, 0x0342, + 0x1F80, 0x1F08, 0x0399, 0x0000, + 0x1F81, 0x1F09, 0x0399, 0x0000, + 0x1F82, 0x1F0A, 0x0399, 0x0000, + 0x1F83, 0x1F0B, 0x0399, 0x0000, + 0x1F84, 0x1F0C, 0x0399, 0x0000, + 0x1F85, 0x1F0D, 0x0399, 0x0000, + 0x1F86, 0x1F0E, 0x0399, 0x0000, + 0x1F87, 0x1F0F, 0x0399, 0x0000, + 0x1F88, 0x1F08, 0x0399, 0x0000, + 0x1F89, 0x1F09, 0x0399, 0x0000, + 0x1F8A, 0x1F0A, 0x0399, 0x0000, + 0x1F8B, 0x1F0B, 0x0399, 0x0000, + 0x1F8C, 0x1F0C, 0x0399, 0x0000, + 0x1F8D, 0x1F0D, 0x0399, 0x0000, + 0x1F8E, 0x1F0E, 0x0399, 0x0000, + 0x1F8F, 0x1F0F, 0x0399, 0x0000, + 0x1F90, 0x1F28, 0x0399, 0x0000, + 0x1F91, 0x1F29, 0x0399, 0x0000, + 0x1F92, 0x1F2A, 0x0399, 0x0000, + 0x1F93, 0x1F2B, 0x0399, 0x0000, + 0x1F94, 0x1F2C, 0x0399, 0x0000, + 0x1F95, 0x1F2D, 0x0399, 0x0000, + 0x1F96, 0x1F2E, 0x0399, 0x0000, + 0x1F97, 0x1F2F, 0x0399, 0x0000, + 0x1F98, 0x1F28, 0x0399, 0x0000, + 0x1F99, 0x1F29, 0x0399, 0x0000, + 0x1F9A, 0x1F2A, 0x0399, 0x0000, + 0x1F9B, 0x1F2B, 0x0399, 0x0000, + 0x1F9C, 0x1F2C, 0x0399, 0x0000, + 0x1F9D, 0x1F2D, 0x0399, 0x0000, + 0x1F9E, 0x1F2E, 0x0399, 0x0000, + 0x1F9F, 0x1F2F, 0x0399, 0x0000, + 0x1FA0, 0x1F68, 0x0399, 0x0000, + 0x1FA1, 0x1F69, 0x0399, 0x0000, + 0x1FA2, 0x1F6A, 0x0399, 0x0000, + 0x1FA3, 0x1F6B, 0x0399, 0x0000, + 0x1FA4, 0x1F6C, 0x0399, 0x0000, + 0x1FA5, 0x1F6D, 0x0399, 0x0000, + 0x1FA6, 0x1F6E, 0x0399, 0x0000, + 0x1FA7, 0x1F6F, 0x0399, 0x0000, + 0x1FA8, 0x1F68, 0x0399, 0x0000, + 0x1FA9, 0x1F69, 0x0399, 0x0000, + 0x1FAA, 0x1F6A, 0x0399, 0x0000, + 0x1FAB, 0x1F6B, 0x0399, 0x0000, + 0x1FAC, 0x1F6C, 0x0399, 0x0000, + 0x1FAD, 0x1F6D, 0x0399, 0x0000, + 0x1FAE, 0x1F6E, 0x0399, 0x0000, + 0x1FAF, 0x1F6F, 0x0399, 0x0000, + 0x1FB2, 0x1FBA, 0x0399, 0x0000, + 0x1FB3, 0x0391, 0x0399, 0x0000, + 0x1FB4, 0x0386, 0x0399, 0x0000, + 0x1FB6, 0x0391, 0x0342, 0x0000, + 0x1FB7, 0x0391, 0x0342, 0x0399, + 0x1FBC, 0x0391, 0x0399, 0x0000, + 0x1FC2, 0x1FCA, 0x0399, 0x0000, + 0x1FC3, 0x0397, 0x0399, 0x0000, + 0x1FC4, 0x0389, 0x0399, 0x0000, + 0x1FC6, 0x0397, 0x0342, 0x0000, + 0x1FC7, 0x0397, 0x0342, 0x0399, + 0x1FCC, 0x0397, 0x0399, 0x0000, + 0x1FD2, 0x0399, 0x0308, 0x0300, + 0x1FD3, 0x0399, 0x0308, 0x0301, + 0x1FD6, 0x0399, 0x0342, 0x0000, + 0x1FD7, 0x0399, 0x0308, 0x0342, + 0x1FE2, 0x03A5, 0x0308, 0x0300, + 0x1FE3, 0x03A5, 0x0308, 0x0301, + 0x1FE4, 0x03A1, 0x0313, 0x0000, + 0x1FE6, 0x03A5, 0x0342, 0x0000, + 0x1FE7, 0x03A5, 0x0308, 0x0342, + 0x1FF2, 0x1FFA, 0x0399, 0x0000, + 0x1FF3, 0x03A9, 0x0399, 0x0000, + 0x1FF4, 0x038F, 0x0399, 0x0000, + 0x1FF6, 0x03A9, 0x0342, 0x0000, + 0x1FF7, 0x03A9, 0x0342, 0x0399, + 0x1FFC, 0x03A9, 0x0399, 0x0000, + 0xFB00, 0x0046, 0x0046, 0x0000, + 0xFB01, 0x0046, 0x0049, 0x0000, + 0xFB02, 0x0046, 0x004C, 0x0000, + 0xFB03, 0x0046, 0x0046, 0x0049, + 0xFB04, 0x0046, 0x0046, 0x004C, + 0xFB05, 0x0053, 0x0054, 0x0000, + 0xFB06, 0x0053, 0x0054, 0x0000, + 0xFB13, 0x0544, 0x0546, 0x0000, + 0xFB14, 0x0544, 0x0535, 0x0000, + 0xFB15, 0x0544, 0x053B, 0x0000, + 0xFB16, 0x054E, 0x0546, 0x0000, + 0xFB17, 0x0544, 0x053D, 0x0000 +]; + +// @ts-ignore: decorator +@lazy @inline const MT = memory.data([ + 2048, 342, 57 +]); + +// Special binary search routine for Special Casing Tables +// @ts-ignore: decorator +@inline +export function bsearch(key: u32, ptr: usize, max: i32): i32 { + let min = 0; + while (min <= max) { + let mid = (min + max) >>> 3 << 2; + let cmp = load(ptr + (mid << alignof())) - key; + if (cmp == 0) return mid; // found + else if (cmp >>> 31) min = mid + 4; // < 0 + else max = mid - 4; // > 0 + } + return -1; // not found +} + +// See: https://git.musl-libc.org/cgit/musl/tree/src/ctype/towctrans.c +export function casemap(c: u32, dir: i32): i32 { + // if (c >= 0x20000) return c; + let c0 = c as i32; + let b = c >> 8; + c &= 255; + + let x = c / 3; + let y = c % 3; + + /* lookup entry in two-level base-6 table */ + // v = tab[(tab[b] as i32) * 86 + x] as u32; + let v = load(TAB + load(TAB + b) * 86 + x); + // v = (v * mt[y] >> 11) % 6; + v = (v * load(MT + (y << alignof())) >> 11) % 6; + /* use the bit vector out of the tables as an index into + * a block-specific set of rules and decode the rule into + * a type and a case-mapping delta. */ + // r = rules[(ruleBases[b] as u32) + v]; + let r = load(RULES + ((load(RULE_BASES + b) + v) << alignof())); + let rt: u32 = r & 255; + let rd: i32 = r >> 8; + /* rules 0/1 are simple lower/upper case with a delta. + * apply according to desired mapping direction. */ + if (rt < 2) return c0 + (rd & -(rt ^ dir)); + /* binary search. endpoints of the binary search for + * this block are stored in the rule delta field. */ + let xn: u32 = rd & 0xff; + let xb: u32 = rd >>> 8; + while (xn) { + let h = xn >> 1; + // let t = exceptions[(xb + h) * 2 + 0] as u32; + let t = load(EXCEPTIONS + (xb + h) * 2, 0); + if (t == c) { + // r = rules[exceptions[(xb + h) * 2 + 1]]; + r = load(RULES + (load(EXCEPTIONS + (xb + h) * 2, 1) << alignof())); + rt = r & 255; + rd = r >> 8; + if (rt < 2) return c0 + (rd & -(rt ^ dir)); + /* Hard-coded for the four exceptional titlecase */ + return c0 + 1 - (dir << 1); // (dir ? -1 : 1); + } else if (t > c) { + xn = h; + } else { + xb += h; + xn -= h; + } + } + return c0; +} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/util/error.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/util/error.ts new file mode 100644 index 00000000..ba342526 --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/std/assembly/util/error.ts @@ -0,0 +1,54 @@ +// Common error messages for use across the standard library. Keeping error messages compact +// and reusing them where possible ensures minimal static data in binaries. + +// @ts-ignore: decorator +@lazy @inline +export const E_INDEXOUTOFRANGE: string = "Index out of range"; + +// @ts-ignore: decorator +@lazy @inline +export const E_VALUEOUTOFRANGE: string = "Value out of range"; + +// @ts-ignore: decorator +@lazy @inline +export const E_INVALIDLENGTH: string = "Invalid length"; + +// @ts-ignore: decorator +@lazy @inline +export const E_EMPTYARRAY: string = "Array is empty"; + +// @ts-ignore: decorator +@lazy @inline +export const E_HOLEYARRAY: string = "Element type must be nullable if array is holey"; + +// @ts-ignore: decorator +@lazy @inline +export const E_NOTIMPLEMENTED: string = "Not implemented"; + +// @ts-ignore: decorator +@lazy @inline +export const E_KEYNOTFOUND: string = "Key does not exist"; + +// @ts-ignore: decorator +@lazy @inline +export const E_ALLOCATION_TOO_LARGE: string = "Allocation too large"; + +// @ts-ignore: decorator +@lazy @inline +export const E_ALREADY_PINNED: string = "Object already pinned"; + +// @ts-ignore: decorator +@lazy @inline +export const E_NOT_PINNED: string = "Object is not pinned"; + +// @ts-ignore: decorator +@lazy @inline +export const E_URI_MALFORMED: string = "URI malformed"; + +// @ts-ignore: decorator +@lazy @inline +export const E_INVALIDDATE: string = "Invalid Date"; + +// @ts-ignore: decorator +@lazy @inline +export const E_UNPAIRED_SURROGATE: string = "Unpaired surrogate"; diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/util/hash.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/util/hash.ts new file mode 100644 index 00000000..2731f25f --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/std/assembly/util/hash.ts @@ -0,0 +1,117 @@ +export function HASH(key: T): u32 { + if (isString()) { + return hashStr(changetype(key)); + } else if (isReference()) { + if (sizeof() == 4) return hash32(changetype(key)); + if (sizeof() == 8) return hash64(changetype(key)); + } else if (isFloat()) { + if (sizeof() == 4) return hash32(reinterpret(f32(key))); + if (sizeof() == 8) return hash64(reinterpret(f64(key))); + } else { + if (sizeof() <= 4) return hash32(u32(key), sizeof()); + if (sizeof() == 8) return hash64(u64(key)); + } + return unreachable(); +} + +// XXHash 32-bit as a starting point, see: https://cyan4973.github.io/xxHash + +// primes +// @ts-ignore: decorator +@inline const XXH32_P1: u32 = 2654435761; +// @ts-ignore: decorator +@inline const XXH32_P2: u32 = 2246822519; +// @ts-ignore: decorator +@inline const XXH32_P3: u32 = 3266489917; +// @ts-ignore: decorator +@inline const XXH32_P4: u32 = 668265263; +// @ts-ignore: decorator +@inline const XXH32_P5: u32 = 374761393; +// @ts-ignore: decorator +@inline const XXH32_SEED: u32 = 0; + +// @ts-ignore: decorator +@inline +function hash32(key: u32, len: u32 = 4): u32 { + let h: u32 = XXH32_SEED + XXH32_P5 + len; + h += key * XXH32_P3; + h = rotl(h, 17) * XXH32_P4; + h ^= h >> 15; + h *= XXH32_P2; + h ^= h >> 13; + h *= XXH32_P3; + h ^= h >> 16; + return h; +} + +// @ts-ignore: decorator +@inline +function hash64(key: u64): u32 { + let h: u32 = XXH32_SEED + XXH32_P5 + 8; + h += key * XXH32_P3; + h = rotl(h, 17) * XXH32_P4; + h += (key >> 32) * XXH32_P3; + h = rotl(h, 17) * XXH32_P4; + h ^= h >> 15; + h *= XXH32_P2; + h ^= h >> 13; + h *= XXH32_P3; + h ^= h >> 16; + return h; +} + +// @ts-ignore: decorator +@inline +function mix(h: u32, key: u32): u32 { + return rotl(h + key * XXH32_P2, 13) * XXH32_P1; +} + +// @ts-ignore: decorator +@inline +function hashStr(key: string): u32 { + if (changetype(key) == 0) return XXH32_SEED; + + let h: u32 = key.length << 1; + let len: usize = h; + let pos = changetype(key); + + if (len >= 16) { + let s1 = XXH32_SEED + XXH32_P1 + XXH32_P2; + let s2 = XXH32_SEED + XXH32_P2; + let s3 = XXH32_SEED; + let s4 = XXH32_SEED - XXH32_P1; + + let end = len + pos - 16; + while (pos <= end) { + s1 = mix(s1, load(pos )); + s2 = mix(s2, load(pos, 4)); + s3 = mix(s3, load(pos, 8)); + s4 = mix(s4, load(pos, 12)); + pos += 16; + } + h += rotl(s1, 1) + rotl(s2, 7) + rotl(s3, 12) + rotl(s4, 18); + } else { + h += XXH32_SEED + XXH32_P5; + } + + let end = changetype(key) + len - 4; + while (pos <= end) { + h += load(pos) * XXH32_P3; + h = rotl(h, 17) * XXH32_P4; + pos += 4; + } + + end = changetype(key) + len; + while (pos < end) { + h += load(pos) * XXH32_P5; + h = rotl(h, 11) * XXH32_P1; + pos++; + } + + h ^= h >> 15; + h *= XXH32_P2; + h ^= h >> 13; + h *= XXH32_P3; + h ^= h >> 16; + return h; +} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/util/math.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/util/math.ts new file mode 100644 index 00000000..8d4eef62 --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/std/assembly/util/math.ts @@ -0,0 +1,1922 @@ +// +// Lookup data for exp2f +// + +// @ts-ignore: decorator +@inline const EXP2F_TABLE_BITS = 5; + +// @ts-ignore: decorator +@lazy @inline const EXP2F_DATA_TAB = memory.data([ + // exp2f_data_tab[i] = uint(2^(i/N)) - (i << 52-BITS) + // used for computing 2^(k/N) for an int |k| < 150 N as + // double(tab[k%N] + (k << 52-BITS)) + 0x3FF0000000000000, 0x3FEFD9B0D3158574, 0x3FEFB5586CF9890F, 0x3FEF9301D0125B51, + 0x3FEF72B83C7D517B, 0x3FEF54873168B9AA, 0x3FEF387A6E756238, 0x3FEF1E9DF51FDEE1, + 0x3FEF06FE0A31B715, 0x3FEEF1A7373AA9CB, 0x3FEEDEA64C123422, 0x3FEECE086061892D, + 0x3FEEBFDAD5362A27, 0x3FEEB42B569D4F82, 0x3FEEAB07DD485429, 0x3FEEA47EB03A5585, + 0x3FEEA09E667F3BCD, 0x3FEE9F75E8EC5F74, 0x3FEEA11473EB0187, 0x3FEEA589994CCE13, + 0x3FEEACE5422AA0DB, 0x3FEEB737B0CDC5E5, 0x3FEEC49182A3F090, 0x3FEED503B23E255D, + 0x3FEEE89F995AD3AD, 0x3FEEFF76F2FB5E47, 0x3FEF199BDD85529C, 0x3FEF3720DCEF9069, + 0x3FEF5818DCFBA487, 0x3FEF7C97337B9B5F, 0x3FEFA4AFA2A490DA, 0x3FEFD0765B6E4540 +]); + +// ULP error: 0.502 (nearest rounding.) +// Relative error: 1.69 * 2^-34 in [-1/64, 1/64] (before rounding.) +// Wrong count: 168353 (all nearest rounding wrong results with fma.) +// @ts-ignore: decorator +@inline +export function exp2f_lut(x: f32): f32 { + const + N = 1 << EXP2F_TABLE_BITS, + N_MASK = N - 1, + shift = reinterpret(0x4338000000000000) / N, // 0x1.8p+52 + Ox127f = reinterpret(0x7F000000); + + const + C0 = reinterpret(0x3FAC6AF84B912394), // 0x1.c6af84b912394p-5 + C1 = reinterpret(0x3FCEBFCE50FAC4F3), // 0x1.ebfce50fac4f3p-3 + C2 = reinterpret(0x3FE62E42FF0C52D6); // 0x1.62e42ff0c52d6p-1 + + let xd = x; + let ix = reinterpret(x); + let ux = ix >> 20 & 0x7FF; + if (ux >= 0x430) { + // |x| >= 128 or x is nan. + if (ix == 0xFF800000) return 0; // x == -Inf -> 0 + if (ux >= 0x7F8) return x + x; // x == Inf/NaN -> Inf/NaN + if (x > 0) return x * Ox127f; // x > 0 -> HugeVal (Owerflow) + if (x <= -150) return 0; // x <= -150 -> 0 (Underflow) + } + + // x = k/N + r with r in [-1/(2N), 1/(2N)] and int k. + let kd = xd + shift; + let ki = reinterpret(kd); + let r = xd - (kd - shift); + let t: u64, y: f64, s: f64; + + // exp2(x) = 2^(k/N) * 2^r ~= s * (C0*r^3 + C1*r^2 + C2*r + 1) + t = load(EXP2F_DATA_TAB + ((ki & N_MASK) << alignof())); + t += ki << (52 - EXP2F_TABLE_BITS); + s = reinterpret(t); + y = C2 * r + 1; + y += (C0 * r + C1) * (r * r); + y *= s; + + return y; +} + +// ULP error: 0.502 (nearest rounding.) +// Relative error: 1.69 * 2^-34 in [-ln2/64, ln2/64] (before rounding.) +// Wrong count: 170635 (all nearest rounding wrong results with fma.) +// @ts-ignore: decorator +@inline +export function expf_lut(x: f32): f32 { + const + N = 1 << EXP2F_TABLE_BITS, + N_MASK = N - 1, + shift = reinterpret(0x4338000000000000), // 0x1.8p+52 + InvLn2N = reinterpret(0x3FF71547652B82FE) * N, // 0x1.71547652b82fep+0 + Ox1p127f = reinterpret(0x7F000000); + + const + C0 = reinterpret(0x3FAC6AF84B912394) / N / N / N, // 0x1.c6af84b912394p-5 + C1 = reinterpret(0x3FCEBFCE50FAC4F3) / N / N, // 0x1.ebfce50fac4f3p-3 + C2 = reinterpret(0x3FE62E42FF0C52D6) / N; // 0x1.62e42ff0c52d6p-1 + + let xd = x; + let ix = reinterpret(x); + let ux = ix >> 20 & 0x7FF; + if (ux >= 0x42B) { + // |x| >= 88 or x is nan. + if (ix == 0xFF800000) return 0; // x == -Inf -> 0 + if (ux >= 0x7F8) return x + x; // x == Inf/NaN -> Inf/NaN + if (x > reinterpret(0x42B17217)) return x * Ox1p127f; // x > log(0x1p128) ~= 88.72 -> HugeVal (Owerflow) + if (x < reinterpret(0xC2CFF1B4)) return 0; // x < log(0x1p-150) ~= -103.97 -> 0 (Underflow) + } + + // x*N/Ln2 = k + r with r in [-1/2, 1/2] and int k. + let z = InvLn2N * xd; + + // Round and convert z to int, the result is in [-150*N, 128*N] and + // ideally ties-to-even rule is used, otherwise the magnitude of r + // can be bigger which gives larger approximation error. + let kd = (z + shift); + let ki = reinterpret(kd); + let r = z - (kd - shift); + let s: f64, y: f64, t: u64; + + // exp(x) = 2^(k/N) * 2^(r/N) ~= s * (C0*r^3 + C1*r^2 + C2*r + 1) + t = load(EXP2F_DATA_TAB + ((ki & N_MASK) << alignof())); + t += ki << (52 - EXP2F_TABLE_BITS); + s = reinterpret(t); + z = C0 * r + C1; + y = C2 * r + 1; + y += z * (r * r); + y *= s; + + return y; +} + +// +// Lookup data for log2f +// + +// @ts-ignore: decorator +@inline const LOG2F_TABLE_BITS = 4; + +// @ts-ignore: decorator +@lazy @inline const LOG2F_DATA_TAB = memory.data([ + 0x3FF661EC79F8F3BE, 0xBFDEFEC65B963019, // 0x1.661ec79f8f3bep+0, -0x1.efec65b963019p-2, + 0x3FF571ED4AAF883D, 0xBFDB0B6832D4FCA4, // 0x1.571ed4aaf883dp+0, -0x1.b0b6832d4fca4p-2, + 0x3FF49539F0F010B0, 0xBFD7418B0A1FB77B, // 0x1.49539f0f010bp+0 , -0x1.7418b0a1fb77bp-2, + 0x3FF3C995B0B80385, 0xBFD39DE91A6DCF7B, // 0x1.3c995b0b80385p+0, -0x1.39de91a6dcf7bp-2, + 0x3FF30D190C8864A5, 0xBFD01D9BF3F2B631, // 0x1.30d190c8864a5p+0, -0x1.01d9bf3f2b631p-2, + 0x3FF25E227B0B8EA0, 0xBFC97C1D1B3B7AF0, // 0x1.25e227b0b8eap+0 , -0x1.97c1d1b3b7afp-3 , + 0x3FF1BB4A4A1A343F, 0xBFC2F9E393AF3C9F, // 0x1.1bb4a4a1a343fp+0, -0x1.2f9e393af3c9fp-3, + 0x3FF12358F08AE5BA, 0xBFB960CBBF788D5C, // 0x1.12358f08ae5bap+0, -0x1.960cbbf788d5cp-4, + 0x3FF0953F419900A7, 0xBFAA6F9DB6475FCE, // 0x1.0953f419900a7p+0, -0x1.a6f9db6475fcep-5, + 0x3FF0000000000000, 0, // 0x1p+0, 0x0, + 0x3FEE608CFD9A47AC, 0x3FB338CA9F24F53D, // 0x1.e608cfd9a47acp-1, 0x1.338ca9f24f53dp-4, + 0x3FECA4B31F026AA0, 0x3FC476A9543891BA, // 0x1.ca4b31f026aap-1 , 0x1.476a9543891bap-3, + 0x3FEB2036576AFCE6, 0x3FCE840B4AC4E4D2, // 0x1.b2036576afce6p-1, 0x1.e840b4ac4e4d2p-3, + 0x3FE9C2D163A1AA2D, 0x3FD40645F0C6651C, // 0x1.9c2d163a1aa2dp-1, 0x1.40645f0c6651cp-2, + 0x3FE886E6037841ED, 0x3FD88E9C2C1B9FF8, // 0x1.886e6037841edp-1, 0x1.88e9c2c1b9ff8p-2, + 0x3FE767DCF5534862, 0x3FDCE0A44EB17BCC // 0x1.767dcf5534862p-1, 0x1.ce0a44eb17bccp-2 +]); + +// ULP error: 0.752 (nearest rounding.) +// Relative error: 1.9 * 2^-26 (before rounding.) +// @ts-ignore: decorator +@inline +export function log2f_lut(x: f32): f32 { + const + N_MASK = (1 << LOG2F_TABLE_BITS) - 1, + Ox1p23f = reinterpret(0x4B000000); // 0x1p23f + + const + A0 = reinterpret(0xBFD712B6F70A7E4D), // -0x1.712b6f70a7e4dp-2 + A1 = reinterpret(0x3FDECABF496832E0), // 0x1.ecabf496832ep-2 + A2 = reinterpret(0xBFE715479FFAE3DE), // -0x1.715479ffae3dep-1 + A3 = reinterpret(0x3FF715475F35C8B8); // 0x1.715475f35c8b8p0 + + let ux = reinterpret(x); + // Fix sign of zero with downward rounding when x==1. + // if (WANT_ROUNDING && predict_false(ix == 0x3f800000)) return 0; + if (ux - 0x00800000 >= 0x7F800000 - 0x00800000) { + // x < 0x1p-126 or inf or nan. + if (ux * 2 == 0) return -Infinity; + if (ux == 0x7F800000) return x; // log2(inf) == inf. + if ((ux >> 31) || ux * 2 >= 0xFF000000) return (x - x) / (x - x); + // x is subnormal, normalize it. + ux = reinterpret(x * Ox1p23f); + ux -= 23 << 23; + } + // x = 2^k z; where z is in range [OFF,2*OFF] and exact. + // The range is split into N subintervals. + // The ith subinterval contains z and c is near its center. + let tmp = ux - 0x3F330000; + let i = (tmp >> (23 - LOG2F_TABLE_BITS)) & N_MASK; + let top = tmp & 0xFF800000; + let iz = ux - top; + let k = tmp >> 23; + + let invc = load(LOG2F_DATA_TAB + (i << (1 + alignof())), 0 << alignof()); + let logc = load(LOG2F_DATA_TAB + (i << (1 + alignof())), 1 << alignof()); + let z = reinterpret(iz); + + // log2(x) = log1p(z/c-1)/ln2 + log2(c) + k + let r = z * invc - 1; + let y0 = logc + k; + + // Pipelined polynomial evaluation to approximate log1p(r)/ln2. + let y = A1 * r + A2; + let p = A3 * r + y0; + let r2 = r * r; + y += A0 * r2; + y = y * r2 + p; + + return y; +} + +// +// Lookup data for logf. See: https://git.musl-libc.org/cgit/musl/tree/src/math/logf.c +// + +// @ts-ignore: decorator +@inline const LOGF_TABLE_BITS = 4; + +// @ts-ignore: decorator +@lazy @inline const LOGF_DATA_TAB = memory.data([ + 0x3FF661EC79F8F3BE, 0xBFD57BF7808CAADE, // 0x1.661ec79f8f3bep+0, -0x1.57bf7808caadep-2, + 0x3FF571ED4AAF883D, 0xBFD2BEF0A7C06DDB, // 0x1.571ed4aaf883dp+0, -0x1.2bef0a7c06ddbp-2, + 0x3FF49539F0F010B0, 0xBFD01EAE7F513A67, // 0x1.49539f0f010bp+0 , -0x1.01eae7f513a67p-2, + 0x3FF3C995B0B80385, 0xBFCB31D8A68224E9, // 0x1.3c995b0b80385p+0, -0x1.b31d8a68224e9p-3, + 0x3FF30D190C8864A5, 0xBFC6574F0AC07758, // 0x1.30d190c8864a5p+0, -0x1.6574f0ac07758p-3, + 0x3FF25E227B0B8EA0, 0xBFC1AA2BC79C8100, // 0x1.25e227b0b8eap+0 , -0x1.1aa2bc79c81p-3 , + 0x3FF1BB4A4A1A343F, 0xBFBA4E76CE8C0E5E, // 0x1.1bb4a4a1a343fp+0, -0x1.a4e76ce8c0e5ep-4, + 0x3FF12358F08AE5BA, 0xBFB1973C5A611CCC, // 0x1.12358f08ae5bap+0, -0x1.1973c5a611cccp-4, + 0x3FF0953F419900A7, 0xBFA252F438E10C1E, // 0x1.0953f419900a7p+0, -0x1.252f438e10c1ep-5, + 0x3FF0000000000000, 0, // 0x1p+0, 0, + 0x3FEE608CFD9A47AC, 0x3FAAA5AA5DF25984, // 0x1.e608cfd9a47acp-1, 0x1.aa5aa5df25984p-5, + 0x3FECA4B31F026AA0, 0x3FBC5E53AA362EB4, // 0x1.ca4b31f026aap-1 , 0x1.c5e53aa362eb4p-4, + 0x3FEB2036576AFCE6, 0x3FC526E57720DB08, // 0x1.b2036576afce6p-1, 0x1.526e57720db08p-3, + 0x3FE9C2D163A1AA2D, 0x3FCBC2860D224770, // 0x1.9c2d163a1aa2dp-1, 0x1.bc2860d22477p-3 , + 0x3FE886E6037841ED, 0x3FD1058BC8A07EE1, // 0x1.886e6037841edp-1, 0x1.1058bc8a07ee1p-2, + 0x3FE767DCF5534862, 0x3FD4043057B6EE09 // 0x1.767dcf5534862p-1, 0x1.4043057b6ee09p-2 +]); + +// ULP error: 0.818 (nearest rounding.) +// Relative error: 1.957 * 2^-26 (before rounding.) +// @ts-ignore: decorator +@inline +export function logf_lut(x: f32): f32 { + const + N_MASK = (1 << LOGF_TABLE_BITS) - 1, + Ox1p23f = reinterpret(0x4B000000); // 0x1p23f + + const + Ln2 = reinterpret(0x3FE62E42FEFA39EF), // 0x1.62e42fefa39efp-1; + A0 = reinterpret(0xBFD00EA348B88334), // -0x1.00ea348b88334p-2 + A1 = reinterpret(0x3FD5575B0BE00B6A), // 0x1.5575b0be00b6ap-2 + A2 = reinterpret(0xBFDFFFFEF20A4123); // -0x1.ffffef20a4123p-2 + + let ux = reinterpret(x); + // Fix sign of zero with downward rounding when x==1. + // if (WANT_ROUNDING && ux == 0x3f800000) return 0; + if (ux - 0x00800000 >= 0x7F800000 - 0x00800000) { + // x < 0x1p-126 or inf or nan. + if ((ux << 1) == 0) return -Infinity; + if (ux == 0x7F800000) return x; // log(inf) == inf. + if ((ux >> 31) || (ux << 1) >= 0xFF000000) return (x - x) / (x - x); + // x is subnormal, normalize it. + ux = reinterpret(x * Ox1p23f); + ux -= 23 << 23; + } + // x = 2^k z; where z is in range [OFF,2*OFF] and exact. + // The range is split into N subintervals. + // The ith subinterval contains z and c is near its center. + let tmp = ux - 0x3F330000; + let i = (tmp >> (23 - LOGF_TABLE_BITS)) & N_MASK; + let k = tmp >> 23; + let iz = ux - (tmp & 0x1FF << 23); + + let invc = load(LOGF_DATA_TAB + (i << (1 + alignof())), 0 << alignof()); + let logc = load(LOGF_DATA_TAB + (i << (1 + alignof())), 1 << alignof()); + + let z = reinterpret(iz); + + // log(x) = log1p(z/c-1) + log(c) + k*Ln2 + let r = z * invc - 1; + let y0 = logc + k * Ln2; + + // Pipelined polynomial evaluation to approximate log1p(r). + let r2 = r * r; + let y = A1 * r + A2; + y += A0 * r2; + y = y * r2 + (y0 + r); + + return y; +} + +// +// Lookup data for powf. See: https://git.musl-libc.org/cgit/musl/tree/src/math/powf.c +// + +// @ts-ignore: decorator +@inline +function zeroinfnanf(ux: u32): bool { + return (ux << 1) - 1 >= (0x7f800000 << 1) - 1; +} + +// Returns 0 if not int, 1 if odd int, 2 if even int. The argument is +// the bit representation of a non-zero finite floating-point value. +// @ts-ignore: decorator +@inline +function checkintf(iy: u32): i32 { + let e = iy >> 23 & 0xFF; + if (e < 0x7F ) return 0; + if (e > 0x7F + 23) return 2; + e = 1 << (0x7F + 23 - e); + if (iy & (e - 1)) return 0; + if (iy & e ) return 1; + return 2; +} + +// Subnormal input is normalized so ix has negative biased exponent. +// Output is multiplied by N (POWF_SCALE) if TOINT_INTRINICS is set. +// @ts-ignore: decorator +@inline +function log2f_inline(ux: u32): f64 { + const N_MASK = (1 << LOG2F_TABLE_BITS) - 1; + + const + A0 = reinterpret(0x3FD27616C9496E0B), // 0x1.27616c9496e0bp-2 + A1 = reinterpret(0xBFD71969A075C67A), // -0x1.71969a075c67ap-2 + A2 = reinterpret(0x3FDEC70A6CA7BADD), // 0x1.ec70a6ca7baddp-2 + A3 = reinterpret(0xBFE7154748BEF6C8), // -0x1.7154748bef6c8p-1 + A4 = reinterpret(0x3FF71547652AB82B); // 0x1.71547652ab82bp+0 + + // x = 2^k z; where z is in range [OFF,2*OFF] and exact. + // The range is split into N subintervals. + // The ith subinterval contains z and c is near its center. + let tmp = ux - 0x3F330000; + let i = usize((tmp >> (23 - LOG2F_TABLE_BITS)) & N_MASK); + let top = tmp & 0xFF800000; + let uz = ux - top; + let k = top >> 23; + + let invc = load(LOG2F_DATA_TAB + (i << (1 + alignof())), 0 << alignof()); + let logc = load(LOG2F_DATA_TAB + (i << (1 + alignof())), 1 << alignof()); + let z = reinterpret(uz); + + // log2(x) = log1p(z/c-1)/ln2 + log2(c) + k + let r = z * invc - 1; + let y0 = logc + k; + + // Pipelined polynomial evaluation to approximate log1p(r)/ln2. + let y = A0 * r + A1; + let p = A2 * r + A3; + let q = A4 * r + y0; + + r *= r; + q += p * r; + y = y * (r * r) + q; + + return y; +} + +// The output of log2 and thus the input of exp2 is either scaled by N +// (in case of fast toint intrinsics) or not. The unscaled xd must be +// in [-1021,1023], sign_bias sets the sign of the result. +// @ts-ignore: decorator +@inline +function exp2f_inline(xd: f64, signBias: u32): f32 { + const + N = 1 << EXP2F_TABLE_BITS, + N_MASK = N - 1, + shift = reinterpret(0x4338000000000000) / N; // 0x1.8p+52 + + const + C0 = reinterpret(0x3FAC6AF84B912394), // 0x1.c6af84b912394p-5 + C1 = reinterpret(0x3FCEBFCE50FAC4F3), // 0x1.ebfce50fac4f3p-3 + C2 = reinterpret(0x3FE62E42FF0C52D6); // 0x1.62e42ff0c52d6p-1 + + // x = k/N + r with r in [-1/(2N), 1/(2N)] + let kd = (xd + shift); + let ki = reinterpret(kd); + let r = xd - (kd - shift); + let t: u64, z: f64, y: f64, s: f64; + + // exp2(x) = 2^(k/N) * 2^r ~= s * (C0*r^3 + C1*r^2 + C2*r + 1) + t = load(EXP2F_DATA_TAB + ((ki & N_MASK) << alignof())); + t += (ki + signBias) << (52 - EXP2F_TABLE_BITS); + s = reinterpret(t); + z = C0 * r + C1; + y = C2 * r + 1; + y += z * (r * r); + y *= s; + return y; +} + +// @ts-ignore: decorator +@inline +function xflowf(sign: u32, y: f32): f32 { + return select(-y, y, sign) * y; +} + +// @ts-ignore: decorator +@inline +function oflowf(sign: u32): f32 { + return xflowf(sign, reinterpret(0x70000000)); // 0x1p97f +} + +// @ts-ignore: decorator +@inline +function uflowf(sign: u32): f32 { + return xflowf(sign, reinterpret(0x10000000)); // 0x1p-95f +} + +// @ts-ignore: decorator +@inline +export function powf_lut(x: f32, y: f32): f32 { + const + Ox1p23f = reinterpret(0x4B000000), // 0x1p23f + UPPER_LIMIT = reinterpret(0x405FFFFFFFD1D571), // 0x1.fffffffd1d571p+6 + LOWER_LIMIT = -150.0, + SIGN_BIAS = 1 << (EXP2F_TABLE_BITS + 11); + + let signBias: u32 = 0; + let ix = reinterpret(x); + let iy = reinterpret(y); + let ny = 0; + + if (i32(ix - 0x00800000 >= 0x7f800000 - 0x00800000) | (ny = i32(zeroinfnanf(iy)))) { + // Either (x < 0x1p-126 or inf or nan) or (y is 0 or inf or nan). + if (ny) { + if ((iy << 1) == 0) return 1.0; + if (ix == 0x3F800000) return NaN; // original: 1.0 + if ((ix << 1) > (0x7F800000 << 1) || (iy << 1) > (0x7F800000 << 1)) return x + y; + if ((ix << 1) == (0x3F800000 << 1)) return NaN; // original: 1.0 + if (((ix << 1) < (0x3F800000 << 1)) == !(iy >> 31)) return 0; // |x| < 1 && y==inf or |x| > 1 && y==-inf. + return y * y; + } + if (zeroinfnanf(ix)) { + let x2 = x * x; + if ((ix >> 31) && checkintf(iy) == 1) x2 = -x2; + return iy < 0 ? 1 / x2 : x2; + } + // x and y are non-zero finite. + if (ix < 0) { + // Finite x < 0. + let yint = checkintf(iy); + if (yint == 0) return (x - x) / (x - x); + if (yint == 1) signBias = SIGN_BIAS; + ix &= 0x7FFFFFFF; + } + if (ix < 0x00800000) { + // Normalize subnormal x so exponent becomes negative. + ix = reinterpret(x * Ox1p23f); + ix &= 0x7FFFFFFF; + ix -= 23 << 23; + } + } + let logx = log2f_inline(ix); + let ylogx = y * logx; // cannot overflow, y is single prec. + if ((reinterpret(ylogx) >> 47 & 0xFFFF) >= 0x80BF) { // reinterpret(126.0) >> 47 + // |y * log(x)| >= 126 + if (ylogx > UPPER_LIMIT) return oflowf(signBias); // overflow + if (ylogx <= LOWER_LIMIT) return uflowf(signBias); // underflow + } + return exp2f_inline(ylogx, signBias); +} + +// +// Lookup data for exp. See: https://git.musl-libc.org/cgit/musl/tree/src/math/exp.c +// + +// @ts-ignore: decorator +@inline const EXP_TABLE_BITS = 7; + +// @ts-ignore: decorator +@lazy @inline const EXP_DATA_TAB = memory.data([ + 0x0000000000000000, 0x3FF0000000000000, + 0x3C9B3B4F1A88BF6E, 0x3FEFF63DA9FB3335, + 0xBC7160139CD8DC5D, 0x3FEFEC9A3E778061, + 0xBC905E7A108766D1, 0x3FEFE315E86E7F85, + 0x3C8CD2523567F613, 0x3FEFD9B0D3158574, + 0xBC8BCE8023F98EFA, 0x3FEFD06B29DDF6DE, + 0x3C60F74E61E6C861, 0x3FEFC74518759BC8, + 0x3C90A3E45B33D399, 0x3FEFBE3ECAC6F383, + 0x3C979AA65D837B6D, 0x3FEFB5586CF9890F, + 0x3C8EB51A92FDEFFC, 0x3FEFAC922B7247F7, + 0x3C3EBE3D702F9CD1, 0x3FEFA3EC32D3D1A2, + 0xBC6A033489906E0B, 0x3FEF9B66AFFED31B, + 0xBC9556522A2FBD0E, 0x3FEF9301D0125B51, + 0xBC5080EF8C4EEA55, 0x3FEF8ABDC06C31CC, + 0xBC91C923B9D5F416, 0x3FEF829AAEA92DE0, + 0x3C80D3E3E95C55AF, 0x3FEF7A98C8A58E51, + 0xBC801B15EAA59348, 0x3FEF72B83C7D517B, + 0xBC8F1FF055DE323D, 0x3FEF6AF9388C8DEA, + 0x3C8B898C3F1353BF, 0x3FEF635BEB6FCB75, + 0xBC96D99C7611EB26, 0x3FEF5BE084045CD4, + 0x3C9AECF73E3A2F60, 0x3FEF54873168B9AA, + 0xBC8FE782CB86389D, 0x3FEF4D5022FCD91D, + 0x3C8A6F4144A6C38D, 0x3FEF463B88628CD6, + 0x3C807A05B0E4047D, 0x3FEF3F49917DDC96, + 0x3C968EFDE3A8A894, 0x3FEF387A6E756238, + 0x3C875E18F274487D, 0x3FEF31CE4FB2A63F, + 0x3C80472B981FE7F2, 0x3FEF2B4565E27CDD, + 0xBC96B87B3F71085E, 0x3FEF24DFE1F56381, + 0x3C82F7E16D09AB31, 0x3FEF1E9DF51FDEE1, + 0xBC3D219B1A6FBFFA, 0x3FEF187FD0DAD990, + 0x3C8B3782720C0AB4, 0x3FEF1285A6E4030B, + 0x3C6E149289CECB8F, 0x3FEF0CAFA93E2F56, + 0x3C834D754DB0ABB6, 0x3FEF06FE0A31B715, + 0x3C864201E2AC744C, 0x3FEF0170FC4CD831, + 0x3C8FDD395DD3F84A, 0x3FEEFC08B26416FF, + 0xBC86A3803B8E5B04, 0x3FEEF6C55F929FF1, + 0xBC924AEDCC4B5068, 0x3FEEF1A7373AA9CB, + 0xBC9907F81B512D8E, 0x3FEEECAE6D05D866, + 0xBC71D1E83E9436D2, 0x3FEEE7DB34E59FF7, + 0xBC991919B3CE1B15, 0x3FEEE32DC313A8E5, + 0x3C859F48A72A4C6D, 0x3FEEDEA64C123422, + 0xBC9312607A28698A, 0x3FEEDA4504AC801C, + 0xBC58A78F4817895B, 0x3FEED60A21F72E2A, + 0xBC7C2C9B67499A1B, 0x3FEED1F5D950A897, + 0x3C4363ED60C2AC11, 0x3FEECE086061892D, + 0x3C9666093B0664EF, 0x3FEECA41ED1D0057, + 0x3C6ECCE1DAA10379, 0x3FEEC6A2B5C13CD0, + 0x3C93FF8E3F0F1230, 0x3FEEC32AF0D7D3DE, + 0x3C7690CEBB7AAFB0, 0x3FEEBFDAD5362A27, + 0x3C931DBDEB54E077, 0x3FEEBCB299FDDD0D, + 0xBC8F94340071A38E, 0x3FEEB9B2769D2CA7, + 0xBC87DECCDC93A349, 0x3FEEB6DAA2CF6642, + 0xBC78DEC6BD0F385F, 0x3FEEB42B569D4F82, + 0xBC861246EC7B5CF6, 0x3FEEB1A4CA5D920F, + 0x3C93350518FDD78E, 0x3FEEAF4736B527DA, + 0x3C7B98B72F8A9B05, 0x3FEEAD12D497C7FD, + 0x3C9063E1E21C5409, 0x3FEEAB07DD485429, + 0x3C34C7855019C6EA, 0x3FEEA9268A5946B7, + 0x3C9432E62B64C035, 0x3FEEA76F15AD2148, + 0xBC8CE44A6199769F, 0x3FEEA5E1B976DC09, + 0xBC8C33C53BEF4DA8, 0x3FEEA47EB03A5585, + 0xBC845378892BE9AE, 0x3FEEA34634CCC320, + 0xBC93CEDD78565858, 0x3FEEA23882552225, + 0x3C5710AA807E1964, 0x3FEEA155D44CA973, + 0xBC93B3EFBF5E2228, 0x3FEEA09E667F3BCD, + 0xBC6A12AD8734B982, 0x3FEEA012750BDABF, + 0xBC6367EFB86DA9EE, 0x3FEE9FB23C651A2F, + 0xBC80DC3D54E08851, 0x3FEE9F7DF9519484, + 0xBC781F647E5A3ECF, 0x3FEE9F75E8EC5F74, + 0xBC86EE4AC08B7DB0, 0x3FEE9F9A48A58174, + 0xBC8619321E55E68A, 0x3FEE9FEB564267C9, + 0x3C909CCB5E09D4D3, 0x3FEEA0694FDE5D3F, + 0xBC7B32DCB94DA51D, 0x3FEEA11473EB0187, + 0x3C94ECFD5467C06B, 0x3FEEA1ED0130C132, + 0x3C65EBE1ABD66C55, 0x3FEEA2F336CF4E62, + 0xBC88A1C52FB3CF42, 0x3FEEA427543E1A12, + 0xBC9369B6F13B3734, 0x3FEEA589994CCE13, + 0xBC805E843A19FF1E, 0x3FEEA71A4623C7AD, + 0xBC94D450D872576E, 0x3FEEA8D99B4492ED, + 0x3C90AD675B0E8A00, 0x3FEEAAC7D98A6699, + 0x3C8DB72FC1F0EAB4, 0x3FEEACE5422AA0DB, + 0xBC65B6609CC5E7FF, 0x3FEEAF3216B5448C, + 0x3C7BF68359F35F44, 0x3FEEB1AE99157736, + 0xBC93091FA71E3D83, 0x3FEEB45B0B91FFC6, + 0xBC5DA9B88B6C1E29, 0x3FEEB737B0CDC5E5, + 0xBC6C23F97C90B959, 0x3FEEBA44CBC8520F, + 0xBC92434322F4F9AA, 0x3FEEBD829FDE4E50, + 0xBC85CA6CD7668E4B, 0x3FEEC0F170CA07BA, + 0x3C71AFFC2B91CE27, 0x3FEEC49182A3F090, + 0x3C6DD235E10A73BB, 0x3FEEC86319E32323, + 0xBC87C50422622263, 0x3FEECC667B5DE565, + 0x3C8B1C86E3E231D5, 0x3FEED09BEC4A2D33, + 0xBC91BBD1D3BCBB15, 0x3FEED503B23E255D, + 0x3C90CC319CEE31D2, 0x3FEED99E1330B358, + 0x3C8469846E735AB3, 0x3FEEDE6B5579FDBF, + 0xBC82DFCD978E9DB4, 0x3FEEE36BBFD3F37A, + 0x3C8C1A7792CB3387, 0x3FEEE89F995AD3AD, + 0xBC907B8F4AD1D9FA, 0x3FEEEE07298DB666, + 0xBC55C3D956DCAEBA, 0x3FEEF3A2B84F15FB, + 0xBC90A40E3DA6F640, 0x3FEEF9728DE5593A, + 0xBC68D6F438AD9334, 0x3FEEFF76F2FB5E47, + 0xBC91EEE26B588A35, 0x3FEF05B030A1064A, + 0x3C74FFD70A5FDDCD, 0x3FEF0C1E904BC1D2, + 0xBC91BDFBFA9298AC, 0x3FEF12C25BD71E09, + 0x3C736EAE30AF0CB3, 0x3FEF199BDD85529C, + 0x3C8EE3325C9FFD94, 0x3FEF20AB5FFFD07A, + 0x3C84E08FD10959AC, 0x3FEF27F12E57D14B, + 0x3C63CDAF384E1A67, 0x3FEF2F6D9406E7B5, + 0x3C676B2C6C921968, 0x3FEF3720DCEF9069, + 0xBC808A1883CCB5D2, 0x3FEF3F0B555DC3FA, + 0xBC8FAD5D3FFFFA6F, 0x3FEF472D4A07897C, + 0xBC900DAE3875A949, 0x3FEF4F87080D89F2, + 0x3C74A385A63D07A7, 0x3FEF5818DCFBA487, + 0xBC82919E2040220F, 0x3FEF60E316C98398, + 0x3C8E5A50D5C192AC, 0x3FEF69E603DB3285, + 0x3C843A59AC016B4B, 0x3FEF7321F301B460, + 0xBC82D52107B43E1F, 0x3FEF7C97337B9B5F, + 0xBC892AB93B470DC9, 0x3FEF864614F5A129, + 0x3C74B604603A88D3, 0x3FEF902EE78B3FF6, + 0x3C83C5EC519D7271, 0x3FEF9A51FBC74C83, + 0xBC8FF7128FD391F0, 0x3FEFA4AFA2A490DA, + 0xBC8DAE98E223747D, 0x3FEFAF482D8E67F1, + 0x3C8EC3BC41AA2008, 0x3FEFBA1BEE615A27, + 0x3C842B94C3A9EB32, 0x3FEFC52B376BBA97, + 0x3C8A64A931D185EE, 0x3FEFD0765B6E4540, + 0xBC8E37BAE43BE3ED, 0x3FEFDBFDAD9CBE14, + 0x3C77893B4D91CD9D, 0x3FEFE7C1819E90D8, + 0x3C5305C14160CC89, 0x3FEFF3C22B8F71F1 +]); + +// Handle cases that may overflow or underflow when computing the result that +// is scale*(1+TMP) without intermediate rounding. The bit representation of +// scale is in SBITS, however it has a computed exponent that may have +// overflown into the sign bit so that needs to be adjusted before using it as +// a double. (int32_t)KI is the k used in the argument reduction and exponent +// adjustment of scale, positive k here means the result may overflow and +// negative k means the result may underflow. +// @ts-ignore: decorator +@inline +function specialcase(tmp: f64, sbits: u64, ki: u64): f64 { + const + Ox1p_1022 = reinterpret(0x0010000000000000), // 0x1p-1022 + Ox1p1009 = reinterpret(0x7F00000000000000); // 0x1p1009 + + let scale: f64; + if (!(ki & 0x80000000)) { + // k > 0, the exponent of scale might have overflowed by <= 460. + sbits -= u64(1009) << 52; + scale = reinterpret(sbits); + return Ox1p1009 * (scale + scale * tmp); // 0x1p1009 + } + // k < 0, need special care in the subnormal range. + sbits += u64(1022) << 52; + // Note: sbits is signed scale. + scale = reinterpret(sbits); + let y = scale + scale * tmp; + if (abs(y) < 1.0) { + // Round y to the right precision before scaling it into the subnormal + // range to avoid double rounding that can cause 0.5+E/2 ulp error where + // E is the worst-case ulp error outside the subnormal range. So this + // is only useful if the goal is better than 1 ulp worst-case error. + let one = copysign(1.0, y); + let lo = scale - y + scale * tmp; + let hi = one + y; + lo = one - hi + y + lo; + y = (hi + lo) - one; + // Fix the sign of 0. + if (y == 0.0) y = reinterpret(sbits & 0x8000000000000000); + } + return y * Ox1p_1022; +} + +// @ts-ignore: decorator +@inline +export function exp_lut(x: f64): f64 { + const + N = 1 << EXP_TABLE_BITS, + N_MASK = N - 1; + + const + InvLn2N = reinterpret(0x3FF71547652B82FE) * N, // 0x1.71547652b82fep0 + NegLn2hiN = reinterpret(0xBF762E42FEFA0000), // -0x1.62e42fefa0000p-8 + NegLn2loN = reinterpret(0xBD0CF79ABC9E3B3A), // -0x1.cf79abc9e3b3ap-47 + shift = reinterpret(0x4338000000000000); // 0x1.8p52; + + const + C2 = reinterpret(0x3FDFFFFFFFFFFDBD), // __exp_data.poly[0] (0x1.ffffffffffdbdp-2) + C3 = reinterpret(0x3FC555555555543C), // __exp_data.poly[1] (0x1.555555555543cp-3) + C4 = reinterpret(0x3FA55555CF172B91), // __exp_data.poly[2] (0x1.55555cf172b91p-5) + C5 = reinterpret(0x3F81111167A4D017); // __exp_data.poly[3] (0x1.1111167a4d017p-7) + + let ux = reinterpret(x); + let abstop = u32(ux >> 52) & 0x7FF; + if (abstop - 0x3C9 >= 0x03F) { + if (abstop - 0x3C9 >= 0x80000000) return 1; + if (abstop >= 0x409) { + if (ux == 0xFFF0000000000000) return 0; + if (abstop >= 0x7FF) { + return 1.0 + x; + } else { + return select(0, Infinity, ux < 0); + } + } + // Large x is special cased below. + abstop = 0; + } + + // exp(x) = 2^(k/N) * exp(r), with exp(r) in [2^(-1/2N),2^(1/2N)] + // x = ln2/N*k + r, with int k and r in [-ln2/2N, ln2/2N] + let z = InvLn2N * x; + // #if TOINT_INTRINSICS + // kd = roundtoint(z); + // ki = converttoint(z); + // #elif EXP_USE_TOINT_NARROW + // // z - kd is in [-0.5-2^-16, 0.5] in all rounding modes. + // let kd = z + shift; + // let ki = reinterpret(kd) >> 16; + // let kd = ki; + // #else + // z - kd is in [-1, 1] in non-nearest rounding modes. + let kd = z + shift; + let ki = reinterpret(kd); + kd -= shift; + // #endif + let r = x + kd * NegLn2hiN + kd * NegLn2loN; + // 2^(k/N) ~= scale * (1 + tail). + let idx = usize((ki & N_MASK) << 1); + let top = ki << (52 - EXP_TABLE_BITS); + + let tail = reinterpret(load(EXP_DATA_TAB + (idx << alignof()))); // T[idx] + // This is only a valid scale when -1023*N < k < 1024*N + let sbits = load(EXP_DATA_TAB + (idx << alignof()), 1 << alignof()) + top; // T[idx + 1] + // exp(x) = 2^(k/N) * exp(r) ~= scale + scale * (tail + exp(r) - 1). + // Evaluation is optimized assuming superscalar pipelined execution. + let r2 = r * r; + // Without fma the worst case error is 0.25/N ulp larger. + // Worst case error is less than 0.5+1.11/N+(abs poly error * 2^53) ulp. + let tmp = tail + r + r2 * (C2 + r * C3) + r2 * r2 * (C4 + r * C5); + if (abstop == 0) return specialcase(tmp, sbits, ki); + let scale = reinterpret(sbits); + // Note: tmp == 0 or |tmp| > 2^-200 and scale > 2^-739, so there + // is no spurious underflow here even without fma. + return scale + scale * tmp; +} + +// +// Lookup data for exp2. See: https://git.musl-libc.org/cgit/musl/tree/src/math/exp2.c +// + +// Handle cases that may overflow or underflow when computing the result that +// is scale*(1+TMP) without intermediate rounding. The bit representation of +// scale is in SBITS, however it has a computed exponent that may have +// overflown into the sign bit so that needs to be adjusted before using it as +// a double. (int32_t)KI is the k used in the argument reduction and exponent +// adjustment of scale, positive k here means the result may overflow and +// negative k means the result may underflow. +// @ts-ignore: decorator +@inline +function specialcase2(tmp: f64, sbits: u64, ki: u64): f64 { + const Ox1p_1022 = reinterpret(0x10000000000000); // 0x1p-1022 + let scale: f64; + if ((ki & 0x80000000) == 0) { + // k > 0, the exponent of scale might have overflowed by 1 + sbits -= u64(1) << 52; + scale = reinterpret(sbits); + return 2 * (scale * tmp + scale); + } + // k < 0, need special care in the subnormal range + sbits += u64(1022) << 52; + scale = reinterpret(sbits); + let y = scale * tmp + scale; + if (y < 1.0) { + // Round y to the right precision before scaling it into the subnormal + // range to avoid double rounding that can cause 0.5+E/2 ulp error where + // E is the worst-case ulp error outside the subnormal range. So this + // is only useful if the goal is better than 1 ulp worst-case error. + let hi: f64, lo: f64; + lo = scale - y + scale * tmp; + hi = 1.0 + y; + lo = 1.0 - hi + y + lo; + y = (hi + lo) - 1.0; + } + return y * Ox1p_1022; +} + +// @ts-ignore: decorator +@inline +export function exp2_lut(x: f64): f64 { + const + N = 1 << EXP_TABLE_BITS, + N_MASK = N - 1, + shift = reinterpret(0x4338000000000000) / N; // 0x1.8p52 + + const + C1 = reinterpret(0x3FE62E42FEFA39EF), // 0x1.62e42fefa39efp-1 + C2 = reinterpret(0x3FCEBFBDFF82C424), // 0x1.ebfbdff82c424p-3 + C3 = reinterpret(0x3FAC6B08D70CF4B5), // 0x1.c6b08d70cf4b5p-5 + C4 = reinterpret(0x3F83B2ABD24650CC), // 0x1.3b2abd24650ccp-7 + C5 = reinterpret(0x3F55D7E09B4E3A84); // 0x1.5d7e09b4e3a84p-10 + + let ux = reinterpret(x); + let abstop = u32(ux >> 52) & 0x7ff; + if (abstop - 0x3C9 >= 0x03F) { + if (abstop - 0x3C9 >= 0x80000000) return 1.0; + if (abstop >= 0x409) { + if (ux == 0xFFF0000000000000) return 0; + if (abstop >= 0x7FF) return 1.0 + x; + if (ux >= 0) return Infinity; + else if (ux >= 0xC090CC0000000000) return 0; + } + if ((ux << 1) > 0x811A000000000000) abstop = 0; // Large x is special cased below. + } + + // exp2(x) = 2^(k/N) * 2^r, with 2^r in [2^(-1/2N),2^(1/2N)]. + // x = k/N + r, with int k and r in [-1/2N, 1/2N] + let kd = x + shift; + let ki = reinterpret(kd); + kd -= shift; // k/N for int k + let r = x - kd; + // 2^(k/N) ~= scale * (1 + tail) + let idx = usize((ki & N_MASK) << 1); + let top = ki << (52 - EXP_TABLE_BITS); + + let tail = reinterpret(load(EXP_DATA_TAB + (idx << alignof()), 0 << alignof())); // T[idx]) + // This is only a valid scale when -1023*N < k < 1024*N + let sbits = load(EXP_DATA_TAB + (idx << alignof()), 1 << alignof()) + top; // T[idx + 1] + // exp2(x) = 2^(k/N) * 2^r ~= scale + scale * (tail + 2^r - 1). + // Evaluation is optimized assuming superscalar pipelined execution + let r2 = r * r; + // Without fma the worst case error is 0.5/N ulp larger. + // Worst case error is less than 0.5+0.86/N+(abs poly error * 2^53) ulp. + let tmp = tail + r * C1 + r2 * (C2 + r * C3) + r2 * r2 * (C4 + r * C5); + if (abstop == 0) return specialcase2(tmp, sbits, ki); + let scale = reinterpret(sbits); + // Note: tmp == 0 or |tmp| > 2^-65 and scale > 2^-928, so there + // is no spurious underflow here even without fma. + return scale * tmp + scale; +} + +// +// Lookup data for log2. See: https://git.musl-libc.org/cgit/musl/tree/src/math/log2.c +// + +// @ts-ignore: decorator +@inline const LOG2_TABLE_BITS = 6; + +/* Algorithm: + + x = 2^k z + log2(x) = k + log2(c) + log2(z/c) + log2(z/c) = poly(z/c - 1) + +where z is in [1.6p-1; 1.6p0] which is split into N subintervals and z falls +into the ith one, then table entries are computed as + + tab[i].invc = 1/c + tab[i].logc = (double)log2(c) + tab2[i].chi = (double)c + tab2[i].clo = (double)(c - (double)c) + +where c is near the center of the subinterval and is chosen by trying +-2^29 +floating point invc candidates around 1/center and selecting one for which + + 1) the rounding error in 0x1.8p10 + logc is 0, + 2) the rounding error in z - chi - clo is < 0x1p-64 and + 3) the rounding error in (double)log2(c) is minimized (< 0x1p-68). + +Note: 1) ensures that k + logc can be computed without rounding error, 2) +ensures that z/c - 1 can be computed as (z - chi - clo)*invc with close to a +single rounding error when there is no fast fma for z*invc - 1, 3) ensures +that logc + poly(z/c - 1) has small error, however near x == 1 when +|log2(x)| < 0x1p-4, this is not enough so that is special cased. */ + +// @ts-ignore: decorator +@lazy @inline const LOG2_DATA_TAB1 = memory.data([ + // invc , logc + 0x3FF724286BB1ACF8, 0xBFE1095FEECDB000, + 0x3FF6E1F766D2CCA1, 0xBFE08494BD76D000, + 0x3FF6A13D0E30D48A, 0xBFE00143AEE8F800, + 0x3FF661EC32D06C85, 0xBFDEFEC5360B4000, + 0x3FF623FA951198F8, 0xBFDDFDD91AB7E000, + 0x3FF5E75BA4CF026C, 0xBFDCFFAE0CC79000, + 0x3FF5AC055A214FB8, 0xBFDC043811FDA000, + 0x3FF571ED0F166E1E, 0xBFDB0B67323AE000, + 0x3FF53909590BF835, 0xBFDA152F5A2DB000, + 0x3FF5014FED61ADDD, 0xBFD9217F5AF86000, + 0x3FF4CAB88E487BD0, 0xBFD8304DB0719000, + 0x3FF49539B4334FEE, 0xBFD74189F9A9E000, + 0x3FF460CBDFAFD569, 0xBFD6552BB5199000, + 0x3FF42D664EE4B953, 0xBFD56B23A29B1000, + 0x3FF3FB01111DD8A6, 0xBFD483650F5FA000, + 0x3FF3C995B70C5836, 0xBFD39DE937F6A000, + 0x3FF3991C4AB6FD4A, 0xBFD2BAA1538D6000, + 0x3FF3698E0CE099B5, 0xBFD1D98340CA4000, + 0x3FF33AE48213E7B2, 0xBFD0FA853A40E000, + 0x3FF30D191985BDB1, 0xBFD01D9C32E73000, + 0x3FF2E025CAB271D7, 0xBFCE857DA2FA6000, + 0x3FF2B404CF13CD82, 0xBFCCD3C8633D8000, + 0x3FF288B02C7CCB50, 0xBFCB26034C14A000, + 0x3FF25E2263944DE5, 0xBFC97C1C2F4FE000, + 0x3FF234563D8615B1, 0xBFC7D6023F800000, + 0x3FF20B46E33EAF38, 0xBFC633A71A05E000, + 0x3FF1E2EEFDCDA3DD, 0xBFC494F5E9570000, + 0x3FF1BB4A580B3930, 0xBFC2F9E424E0A000, + 0x3FF19453847F2200, 0xBFC162595AFDC000, + 0x3FF16E06C0D5D73C, 0xBFBF9C9A75BD8000, + 0x3FF1485F47B7E4C2, 0xBFBC7B575BF9C000, + 0x3FF12358AD0085D1, 0xBFB960C60FF48000, + 0x3FF0FEF00F532227, 0xBFB64CE247B60000, + 0x3FF0DB2077D03A8F, 0xBFB33F78B2014000, + 0x3FF0B7E6D65980D9, 0xBFB0387D1A42C000, + 0x3FF0953EFE7B408D, 0xBFAA6F9208B50000, + 0x3FF07325CAC53B83, 0xBFA47A954F770000, + 0x3FF05197E40D1B5C, 0xBF9D23A8C50C0000, + 0x3FF03091C1208EA2, 0xBF916A2629780000, + 0x3FF0101025B37E21, 0xBF7720F8D8E80000, + 0x3FEFC07EF9CAA76B, 0x3F86FE53B1500000, + 0x3FEF4465D3F6F184, 0x3FA11CCCE10F8000, + 0x3FEECC079F84107F, 0x3FAC4DFC8C8B8000, + 0x3FEE573A99975AE8, 0x3FB3AA321E574000, + 0x3FEDE5D6F0BD3DE6, 0x3FB918A0D08B8000, + 0x3FED77B681FF38B3, 0x3FBE72E9DA044000, + 0x3FED0CB5724DE943, 0x3FC1DCD2507F6000, + 0x3FECA4B2DC0E7563, 0x3FC476AB03DEA000, + 0x3FEC3F8EE8D6CB51, 0x3FC7074377E22000, + 0x3FEBDD2B4F020C4C, 0x3FC98EDE8BA94000, + 0x3FEB7D6C006015CA, 0x3FCC0DB86AD2E000, + 0x3FEB20366E2E338F, 0x3FCE840AAFCEE000, + 0x3FEAC57026295039, 0x3FD0790AB4678000, + 0x3FEA6D01BC2731DD, 0x3FD1AC056801C000, + 0x3FEA16D3BC3FF18B, 0x3FD2DB11D4FEE000, + 0x3FE9C2D14967FEAD, 0x3FD406464EC58000, + 0x3FE970E4F47C9902, 0x3FD52DBE093AF000, + 0x3FE920FB3982BCF2, 0x3FD651902050D000, + 0x3FE8D30187F759F1, 0x3FD771D2CDEAF000, + 0x3FE886E5EBB9F66D, 0x3FD88E9C857D9000, + 0x3FE83C97B658B994, 0x3FD9A80155E16000, + 0x3FE7F405FFC61022, 0x3FDABE186ED3D000, + 0x3FE7AD22181415CA, 0x3FDBD0F2AEA0E000, + 0x3FE767DCF99EFF8C, 0x3FDCE0A43DBF4000 +]); + +// @ts-ignore: decorator +@lazy @inline const LOG2_DATA_TAB2 = memory.data([ + // chi , clo + 0x3FE6200012B90A8E, 0x3C8904AB0644B605, + 0x3FE66000045734A6, 0x3C61FF9BEA62F7A9, + 0x3FE69FFFC325F2C5, 0x3C827ECFCB3C90BA, + 0x3FE6E00038B95A04, 0x3C88FF8856739326, + 0x3FE71FFFE09994E3, 0x3C8AFD40275F82B1, + 0x3FE7600015590E10, 0xBC72FD75B4238341, + 0x3FE7A00012655BD5, 0x3C7808E67C242B76, + 0x3FE7E0003259E9A6, 0xBC6208E426F622B7, + 0x3FE81FFFEDB4B2D2, 0xBC8402461EA5C92F, + 0x3FE860002DFAFCC3, 0x3C6DF7F4A2F29A1F, + 0x3FE89FFFF78C6B50, 0xBC8E0453094995FD, + 0x3FE8E00039671566, 0xBC8A04F3BEC77B45, + 0x3FE91FFFE2BF1745, 0xBC77FA34400E203C, + 0x3FE95FFFCC5C9FD1, 0xBC76FF8005A0695D, + 0x3FE9A0003BBA4767, 0x3C70F8C4C4EC7E03, + 0x3FE9DFFFE7B92DA5, 0x3C8E7FD9478C4602, + 0x3FEA1FFFD72EFDAF, 0xBC6A0C554DCDAE7E, + 0x3FEA5FFFDE04FF95, 0x3C867DA98CE9B26B, + 0x3FEA9FFFCA5E8D2B, 0xBC8284C9B54C13DE, + 0x3FEADFFFDDAD03EA, 0x3C5812C8EA602E3C, + 0x3FEB1FFFF10D3D4D, 0xBC8EFADDAD27789C, + 0x3FEB5FFFCE21165A, 0x3C53CB1719C61237, + 0x3FEB9FFFD950E674, 0x3C73F7D94194CE00, + 0x3FEBE000139CA8AF, 0x3C750AC4215D9BC0, + 0x3FEC20005B46DF99, 0x3C6BEEA653E9C1C9, + 0x3FEC600040B9F7AE, 0xBC7C079F274A70D6, + 0x3FECA0006255FD8A, 0xBC7A0B4076E84C1F, + 0x3FECDFFFD94C095D, 0x3C88F933F99AB5D7, + 0x3FED1FFFF975D6CF, 0xBC582C08665FE1BE, + 0x3FED5FFFA2561C93, 0xBC7B04289BD295F3, + 0x3FED9FFF9D228B0C, 0x3C870251340FA236, + 0x3FEDE00065BC7E16, 0xBC75011E16A4D80C, + 0x3FEE200002F64791, 0x3C89802F09EF62E0, + 0x3FEE600057D7A6D8, 0xBC7E0B75580CF7FA, + 0x3FEEA00027EDC00C, 0xBC8C848309459811, + 0x3FEEE0006CF5CB7C, 0xBC8F8027951576F4, + 0x3FEF2000782B7DCC, 0xBC8F81D97274538F, + 0x3FEF6000260C450A, 0xBC4071002727FFDC, + 0x3FEF9FFFE88CD533, 0xBC581BDCE1FDA8B0, + 0x3FEFDFFFD50F8689, 0x3C87F91ACB918E6E, + 0x3FF0200004292367, 0x3C9B7FF365324681, + 0x3FF05FFFE3E3D668, 0x3C86FA08DDAE957B, + 0x3FF0A0000A85A757, 0xBC57E2DE80D3FB91, + 0x3FF0E0001A5F3FCC, 0xBC91823305C5F014, + 0x3FF11FFFF8AFBAF5, 0xBC8BFABB6680BAC2, + 0x3FF15FFFE54D91AD, 0xBC9D7F121737E7EF, + 0x3FF1A00011AC36E1, 0x3C9C000A0516F5FF, + 0x3FF1E00019C84248, 0xBC9082FBE4DA5DA0, + 0x3FF220000FFE5E6E, 0xBC88FDD04C9CFB43, + 0x3FF26000269FD891, 0x3C8CFE2A7994D182, + 0x3FF2A00029A6E6DA, 0xBC700273715E8BC5, + 0x3FF2DFFFE0293E39, 0x3C9B7C39DAB2A6F9, + 0x3FF31FFFF7DCF082, 0x3C7DF1336EDC5254, + 0x3FF35FFFF05A8B60, 0xBC9E03564CCD31EB, + 0x3FF3A0002E0EAECC, 0x3C75F0E74BD3A477, + 0x3FF3E000043BB236, 0x3C9C7DCB149D8833, + 0x3FF4200002D187FF, 0x3C7E08AFCF2D3D28, + 0x3FF460000D387CB1, 0x3C820837856599A6, + 0x3FF4A00004569F89, 0xBC89FA5C904FBCD2, + 0x3FF4E000043543F3, 0xBC781125ED175329, + 0x3FF51FFFCC027F0F, 0x3C9883D8847754DC, + 0x3FF55FFFFD87B36F, 0xBC8709E731D02807, + 0x3FF59FFFF21DF7BA, 0x3C87F79F68727B02, + 0x3FF5DFFFEBFC3481, 0xBC9180902E30E93E +]); + +// @ts-ignore: decorator +@inline +export function log2_lut(x: f64): f64 { + const N_MASK = (1 << LOG2_TABLE_BITS) - 1; + + const + LO: u64 = 0x3FEEA4AF00000000, // reinterpret(1.0 - 0x1.5b51p-5) + HI: u64 = 0x3FF0B55900000000; // reinterpret(1.0 + 0x1.6ab2p-5) + + const + InvLn2hi = reinterpret(0x3FF7154765200000), // 0x1.7154765200000p+0 + InvLn2lo = reinterpret(0x3DE705FC2EEFA200), // 0x1.705fc2eefa200p-33 + Ox1p52 = reinterpret(0x4330000000000000); // 0x1p52 + + const + B0 = reinterpret(0xBFE71547652B82FE), // -0x1.71547652b82fep-1 + B1 = reinterpret(0x3FDEC709DC3A03F7), // 0x1.ec709dc3a03f7p-2 + B2 = reinterpret(0xBFD71547652B7C3F), // -0x1.71547652b7c3fp-2 + B3 = reinterpret(0x3FD2776C50F05BE4), // 0x1.2776c50f05be4p-2 + B4 = reinterpret(0xBFCEC709DD768FE5), // -0x1.ec709dd768fe5p-3 + B5 = reinterpret(0x3FCA61761EC4E736), // 0x1.a61761ec4e736p-3 + B6 = reinterpret(0xBFC7153FBC64A79B), // -0x1.7153fbc64a79bp-3 + B7 = reinterpret(0x3FC484D154F01B4A), // 0x1.484d154f01b4ap-3 + B8 = reinterpret(0xBFC289E4A72C383C), // -0x1.289e4a72c383cp-3 + B9 = reinterpret(0x3FC0B32F285AEE66); // 0x1.0b32f285aee66p-3 + + const + A0 = reinterpret(0xBFE71547652B8339), // -0x1.71547652b8339p-1 + A1 = reinterpret(0x3FDEC709DC3A04BE), // 0x1.ec709dc3a04bep-2 + A2 = reinterpret(0xBFD7154764702FFB), // -0x1.7154764702ffbp-2 + A3 = reinterpret(0x3FD2776C50034C48), // 0x1.2776c50034c48p-2 + A4 = reinterpret(0xBFCEC7B328EA92BC), // -0x1.ec7b328ea92bcp-3 + A5 = reinterpret(0x3FCA6225E117F92E); // 0x1.a6225e117f92ep-3 + + let ix = reinterpret(x); + if (ix - LO < HI - LO) { + let r = x - 1.0; + // #if __FP_FAST_FMA + // hi = r * InvLn2hi; + // lo = r * InvLn2lo + __builtin_fma(r, InvLn2hi, -hi); + // #else + let rhi = reinterpret(reinterpret(r) & 0xFFFFFFFF00000000); + let rlo = r - rhi; + let hi = rhi * InvLn2hi; + let lo = rlo * InvLn2hi + r * InvLn2lo; + // #endif + let r2 = r * r; // rounding error: 0x1p-62 + let r4 = r2 * r2; + // Worst-case error is less than 0.54 ULP (0.55 ULP without fma) + let p = r2 * (B0 + r * B1); + let y = hi + p; + lo += hi - y + p; + lo += r4 * (B2 + r * B3 + r2 * (B4 + r * B5) + + r4 * (B6 + r * B7 + r2 * (B8 + r * B9))); + return y + lo; + } + let top = u32(ix >> 48); + if (top - 0x0010 >= 0x7ff0 - 0x0010) { + // x < 0x1p-1022 or inf or nan. + if ((ix << 1) == 0) return -1.0 / (x * x); + if (ix == 0x7FF0000000000000) return x; // log(inf) == inf + if ((top & 0x8000) || (top & 0x7FF0) == 0x7FF0) return (x - x) / (x - x); + // x is subnormal, normalize it. + ix = reinterpret(x * Ox1p52); + ix -= u64(52) << 52; + } + + // x = 2^k z; where z is in range [OFF,2*OFF) and exact. + // The range is split into N subintervals. + // The ith subinterval contains z and c is near its center. + let tmp = ix - 0x3FE6000000000000; + let i = ((tmp >> (52 - LOG2_TABLE_BITS)) & N_MASK); + let k = tmp >> 52; + let iz = ix - (tmp & 0xFFF0000000000000); + + let invc = load(LOG2_DATA_TAB1 + (i << (1 + alignof())), 0 << alignof()); // T[i].invc; + let logc = load(LOG2_DATA_TAB1 + (i << (1 + alignof())), 1 << alignof()); // T[i].logc; + let z = reinterpret(iz); + let kd = k; + + // log2(x) = log2(z/c) + log2(c) + k. + // r ~= z/c - 1, |r| < 1/(2*N). + // #if __FP_FAST_FMA + // // rounding error: 0x1p-55/N. + // r = __builtin_fma(z, invc, -1.0); + // t1 = r * InvLn2hi; + // t2 = r * InvLn2lo + __builtin_fma(r, InvLn2hi, -t1); + // #else + // rounding error: 0x1p-55/N + 0x1p-65. + let chi = load(LOG2_DATA_TAB2 + (i << (1 + alignof())), 0 << alignof()); // T[i].chi; + let clo = load(LOG2_DATA_TAB2 + (i << (1 + alignof())), 1 << alignof()); // T[i].clo; + + let r = (z - chi - clo) * invc; + let rhi = reinterpret(reinterpret(r) & 0xFFFFFFFF00000000); + let rlo = r - rhi; + let t1 = rhi * InvLn2hi; + let t2 = rlo * InvLn2hi + r * InvLn2lo; + // #endif + + // hi + lo = r/ln2 + log2(c) + k + let t3 = kd + logc; + let hi = t3 + t1; + let lo = t3 - hi + t1 + t2; + + // log2(r+1) = r/ln2 + r^2*poly(r) + // Evaluation is optimized assuming superscalar pipelined execution + let r2 = r * r; // rounding error: 0x1p-54/N^2 + // Worst-case error if |y| > 0x1p-4: 0.547 ULP (0.550 ULP without fma). + // ~ 0.5 + 2/N/ln2 + abs-poly-error*0x1p56 ULP (+ 0.003 ULP without fma). + let p = A0 + r * A1 + r2 * (A2 + r * A3) + (r2 * r2) * (A4 + r * A5); + return lo + r2 * p + hi; +} + +// +// Lookup data for log. See: https://git.musl-libc.org/cgit/musl/tree/src/math/log.c +// + +// @ts-ignore: decorator +@inline const LOG_TABLE_BITS = 7; + +/* Algorithm: + + x = 2^k z + log(x) = k ln2 + log(c) + log(z/c) + log(z/c) = poly(z/c - 1) + +where z is in [1.6p-1; 1.6p0] which is split into N subintervals and z falls +into the ith one, then table entries are computed as + + tab[i].invc = 1/c + tab[i].logc = (double)log(c) + tab2[i].chi = (double)c + tab2[i].clo = (double)(c - (double)c) + +where c is near the center of the subinterval and is chosen by trying +-2^29 +floating point invc candidates around 1/center and selecting one for which + + 1) the rounding error in 0x1.8p9 + logc is 0, + 2) the rounding error in z - chi - clo is < 0x1p-66 and + 3) the rounding error in (double)log(c) is minimized (< 0x1p-66). + +Note: 1) ensures that k*ln2hi + logc can be computed without rounding error, +2) ensures that z/c - 1 can be computed as (z - chi - clo)*invc with close to +a single rounding error when there is no fast fma for z*invc - 1, 3) ensures +that logc + poly(z/c - 1) has small error, however near x == 1 when +|log(x)| < 0x1p-4, this is not enough so that is special cased.*/ + +// @ts-ignore: decorator +@lazy @inline const LOG_DATA_TAB1 = memory.data([ + // invc , logc + 0x3FF734F0C3E0DE9F, 0xBFD7CC7F79E69000, + 0x3FF713786A2CE91F, 0xBFD76FEEC20D0000, + 0x3FF6F26008FAB5A0, 0xBFD713E31351E000, + 0x3FF6D1A61F138C7D, 0xBFD6B85B38287800, + 0x3FF6B1490BC5B4D1, 0xBFD65D5590807800, + 0x3FF69147332F0CBA, 0xBFD602D076180000, + 0x3FF6719F18224223, 0xBFD5A8CA86909000, + 0x3FF6524F99A51ED9, 0xBFD54F4356035000, + 0x3FF63356AA8F24C4, 0xBFD4F637C36B4000, + 0x3FF614B36B9DDC14, 0xBFD49DA7FDA85000, + 0x3FF5F66452C65C4C, 0xBFD445923989A800, + 0x3FF5D867B5912C4F, 0xBFD3EDF439B0B800, + 0x3FF5BABCCB5B90DE, 0xBFD396CE448F7000, + 0x3FF59D61F2D91A78, 0xBFD3401E17BDA000, + 0x3FF5805612465687, 0xBFD2E9E2EF468000, + 0x3FF56397CEE76BD3, 0xBFD2941B3830E000, + 0x3FF54725E2A77F93, 0xBFD23EC58CDA8800, + 0x3FF52AFF42064583, 0xBFD1E9E129279000, + 0x3FF50F22DBB2BDDF, 0xBFD1956D2B48F800, + 0x3FF4F38F4734DED7, 0xBFD141679AB9F800, + 0x3FF4D843CFDE2840, 0xBFD0EDD094EF9800, + 0x3FF4BD3EC078A3C8, 0xBFD09AA518DB1000, + 0x3FF4A27FC3E0258A, 0xBFD047E65263B800, + 0x3FF4880524D48434, 0xBFCFEB224586F000, + 0x3FF46DCE1B192D0B, 0xBFCF474A7517B000, + 0x3FF453D9D3391854, 0xBFCEA4443D103000, + 0x3FF43A2744B4845A, 0xBFCE020D44E9B000, + 0x3FF420B54115F8FB, 0xBFCD60A22977F000, + 0x3FF40782DA3EF4B1, 0xBFCCC00104959000, + 0x3FF3EE8F5D57FE8F, 0xBFCC202956891000, + 0x3FF3D5D9A00B4CE9, 0xBFCB81178D811000, + 0x3FF3BD60C010C12B, 0xBFCAE2C9CCD3D000, + 0x3FF3A5242B75DAB8, 0xBFCA45402E129000, + 0x3FF38D22CD9FD002, 0xBFC9A877681DF000, + 0x3FF3755BC5847A1C, 0xBFC90C6D69483000, + 0x3FF35DCE49AD36E2, 0xBFC87120A645C000, + 0x3FF34679984DD440, 0xBFC7D68FB4143000, + 0x3FF32F5CCEFFCB24, 0xBFC73CB83C627000, + 0x3FF3187775A10D49, 0xBFC6A39A9B376000, + 0x3FF301C8373E3990, 0xBFC60B3154B7A000, + 0x3FF2EB4EBB95F841, 0xBFC5737D76243000, + 0x3FF2D50A0219A9D1, 0xBFC4DC7B8FC23000, + 0x3FF2BEF9A8B7FD2A, 0xBFC4462C51D20000, + 0x3FF2A91C7A0C1BAB, 0xBFC3B08ABC830000, + 0x3FF293726014B530, 0xBFC31B996B490000, + 0x3FF27DFA5757A1F5, 0xBFC2875490A44000, + 0x3FF268B39B1D3BBF, 0xBFC1F3B9F879A000, + 0x3FF2539D838FF5BD, 0xBFC160C8252CA000, + 0x3FF23EB7AAC9083B, 0xBFC0CE7F57F72000, + 0x3FF22A012BA940B6, 0xBFC03CDC49FEA000, + 0x3FF2157996CC4132, 0xBFBF57BDBC4B8000, + 0x3FF201201DD2FC9B, 0xBFBE370896404000, + 0x3FF1ECF4494D480B, 0xBFBD17983EF94000, + 0x3FF1D8F5528F6569, 0xBFBBF9674ED8A000, + 0x3FF1C52311577E7C, 0xBFBADC79202F6000, + 0x3FF1B17C74CB26E9, 0xBFB9C0C3E7288000, + 0x3FF19E010C2C1AB6, 0xBFB8A646B372C000, + 0x3FF18AB07BB670BD, 0xBFB78D01B3AC0000, + 0x3FF1778A25EFBCB6, 0xBFB674F145380000, + 0x3FF1648D354C31DA, 0xBFB55E0E6D878000, + 0x3FF151B990275FDD, 0xBFB4485CDEA1E000, + 0x3FF13F0EA432D24C, 0xBFB333D94D6AA000, + 0x3FF12C8B7210F9DA, 0xBFB22079F8C56000, + 0x3FF11A3028ECB531, 0xBFB10E4698622000, + 0x3FF107FBDA8434AF, 0xBFAFFA6C6AD20000, + 0x3FF0F5EE0F4E6BB3, 0xBFADDA8D4A774000, + 0x3FF0E4065D2A9FCE, 0xBFABBCECE4850000, + 0x3FF0D244632CA521, 0xBFA9A1894012C000, + 0x3FF0C0A77CE2981A, 0xBFA788583302C000, + 0x3FF0AF2F83C636D1, 0xBFA5715E67D68000, + 0x3FF09DDB98A01339, 0xBFA35C8A49658000, + 0x3FF08CABAF52E7DF, 0xBFA149E364154000, + 0x3FF07B9F2F4E28FB, 0xBF9E72C082EB8000, + 0x3FF06AB58C358F19, 0xBF9A55F152528000, + 0x3FF059EEA5ECF92C, 0xBF963D62CF818000, + 0x3FF04949CDD12C90, 0xBF9228FB8CAA0000, + 0x3FF038C6C6F0ADA9, 0xBF8C317B20F90000, + 0x3FF02865137932A9, 0xBF8419355DAA0000, + 0x3FF0182427EA7348, 0xBF781203C2EC0000, + 0x3FF008040614B195, 0xBF60040979240000, + 0x3FEFE01FF726FA1A, 0x3F6FEFF384900000, + 0x3FEFA11CC261EA74, 0x3F87DC41353D0000, + 0x3FEF6310B081992E, 0x3F93CEA3C4C28000, + 0x3FEF25F63CEEADCD, 0x3F9B9FC114890000, + 0x3FEEE9C8039113E7, 0x3FA1B0D8CE110000, + 0x3FEEAE8078CBB1AB, 0x3FA58A5BD001C000, + 0x3FEE741AA29D0C9B, 0x3FA95C8340D88000, + 0x3FEE3A91830A99B5, 0x3FAD276AEF578000, + 0x3FEE01E009609A56, 0x3FB07598E598C000, + 0x3FEDCA01E577BB98, 0x3FB253F5E30D2000, + 0x3FED92F20B7C9103, 0x3FB42EDD8B380000, + 0x3FED5CAC66FB5CCE, 0x3FB606598757C000, + 0x3FED272CAA5EDE9D, 0x3FB7DA76356A0000, + 0x3FECF26E3E6B2CCD, 0x3FB9AB434E1C6000, + 0x3FECBE6DA2A77902, 0x3FBB78C7BB0D6000, + 0x3FEC8B266D37086D, 0x3FBD431332E72000, + 0x3FEC5894BD5D5804, 0x3FBF0A3171DE6000, + 0x3FEC26B533BB9F8C, 0x3FC067152B914000, + 0x3FEBF583EEECE73F, 0x3FC147858292B000, + 0x3FEBC4FD75DB96C1, 0x3FC2266ECDCA3000, + 0x3FEB951E0C864A28, 0x3FC303D7A6C55000, + 0x3FEB65E2C5EF3E2C, 0x3FC3DFC33C331000, + 0x3FEB374867C9888B, 0x3FC4BA366B7A8000, + 0x3FEB094B211D304A, 0x3FC5933928D1F000, + 0x3FEADBE885F2EF7E, 0x3FC66ACD2418F000, + 0x3FEAAF1D31603DA2, 0x3FC740F8EC669000, + 0x3FEA82E63FD358A7, 0x3FC815C0F51AF000, + 0x3FEA5740EF09738B, 0x3FC8E92954F68000, + 0x3FEA2C2A90AB4B27, 0x3FC9BB3602F84000, + 0x3FEA01A01393F2D1, 0x3FCA8BED1C2C0000, + 0x3FE9D79F24DB3C1B, 0x3FCB5B515C01D000, + 0x3FE9AE2505C7B190, 0x3FCC2967CCBCC000, + 0x3FE9852EF297CE2F, 0x3FCCF635D5486000, + 0x3FE95CBAEEA44B75, 0x3FCDC1BD3446C000, + 0x3FE934C69DE74838, 0x3FCE8C01B8CFE000, + 0x3FE90D4F2F6752E6, 0x3FCF5509C0179000, + 0x3FE8E6528EFFD79D, 0x3FD00E6C121FB800, + 0x3FE8BFCE9FCC007C, 0x3FD071B80E93D000, + 0x3FE899C0DABEC30E, 0x3FD0D46B9E867000, + 0x3FE87427AA2317FB, 0x3FD13687334BD000, + 0x3FE84F00ACB39A08, 0x3FD1980D67234800, + 0x3FE82A49E8653E55, 0x3FD1F8FFE0CC8000, + 0x3FE8060195F40260, 0x3FD2595FD7636800, + 0x3FE7E22563E0A329, 0x3FD2B9300914A800, + 0x3FE7BEB377DCB5AD, 0x3FD3187210436000, + 0x3FE79BAA679725C2, 0x3FD377266DEC1800, + 0x3FE77907F2170657, 0x3FD3D54FFBAF3000, + 0x3FE756CADBD6130C, 0x3FD432EEE32FE000 +]); + +// @ts-ignore: decorator +@lazy @inline const LOG_DATA_TAB2 = memory.data([ + // chi , clo + 0x3FE61000014FB66B, 0x3C7E026C91425B3C, + 0x3FE63000034DB495, 0x3C8DBFEA48005D41, + 0x3FE650000D94D478, 0x3C8E7FA786D6A5B7, + 0x3FE67000074E6FAD, 0x3C61FCEA6B54254C, + 0x3FE68FFFFEDF0FAE, 0xBC7C7E274C590EFD, + 0x3FE6B0000763C5BC, 0xBC8AC16848DCDA01, + 0x3FE6D0001E5CC1F6, 0x3C833F1C9D499311, + 0x3FE6EFFFEB05F63E, 0xBC7E80041AE22D53, + 0x3FE710000E869780, 0x3C7BFF6671097952, + 0x3FE72FFFFC67E912, 0x3C8C00E226BD8724, + 0x3FE74FFFDF81116A, 0xBC6E02916EF101D2, + 0x3FE770000F679C90, 0xBC67FC71CD549C74, + 0x3FE78FFFFA7EC835, 0x3C81BEC19EF50483, + 0x3FE7AFFFFE20C2E6, 0xBC707E1729CC6465, + 0x3FE7CFFFED3FC900, 0xBC808072087B8B1C, + 0x3FE7EFFFE9261A76, 0x3C8DC0286D9DF9AE, + 0x3FE81000049CA3E8, 0x3C897FD251E54C33, + 0x3FE8300017932C8F, 0xBC8AFEE9B630F381, + 0x3FE850000633739C, 0x3C89BFBF6B6535BC, + 0x3FE87000204289C6, 0xBC8BBF65F3117B75, + 0x3FE88FFFEBF57904, 0xBC89006EA23DCB57, + 0x3FE8B00022BC04DF, 0xBC7D00DF38E04B0A, + 0x3FE8CFFFE50C1B8A, 0xBC88007146FF9F05, + 0x3FE8EFFFFC918E43, 0x3C83817BD07A7038, + 0x3FE910001EFA5FC7, 0x3C893E9176DFB403, + 0x3FE9300013467BB9, 0x3C7F804E4B980276, + 0x3FE94FFFE6EE076F, 0xBC8F7EF0D9FF622E, + 0x3FE96FFFDE3C12D1, 0xBC7082AA962638BA, + 0x3FE98FFFF4458A0D, 0xBC87801B9164A8EF, + 0x3FE9AFFFDD982E3E, 0xBC8740E08A5A9337, + 0x3FE9CFFFED49FB66, 0x3C3FCE08C19BE000, + 0x3FE9F00020F19C51, 0xBC8A3FAA27885B0A, + 0x3FEA10001145B006, 0x3C74FF489958DA56, + 0x3FEA300007BBF6FA, 0x3C8CBEAB8A2B6D18, + 0x3FEA500010971D79, 0x3C88FECADD787930, + 0x3FEA70001DF52E48, 0xBC8F41763DD8ABDB, + 0x3FEA90001C593352, 0xBC8EBF0284C27612, + 0x3FEAB0002A4F3E4B, 0xBC69FD043CFF3F5F, + 0x3FEACFFFD7AE1ED1, 0xBC823EE7129070B4, + 0x3FEAEFFFEE510478, 0x3C6A063EE00EDEA3, + 0x3FEB0FFFDB650D5B, 0x3C5A06C8381F0AB9, + 0x3FEB2FFFFEAACA57, 0xBC79011E74233C1D, + 0x3FEB4FFFD995BADC, 0xBC79FF1068862A9F, + 0x3FEB7000249E659C, 0x3C8AFF45D0864F3E, + 0x3FEB8FFFF9871640, 0x3C7CFE7796C2C3F9, + 0x3FEBAFFFD204CB4F, 0xBC63FF27EEF22BC4, + 0x3FEBCFFFD2415C45, 0xBC6CFFB7EE3BEA21, + 0x3FEBEFFFF86309DF, 0xBC814103972E0B5C, + 0x3FEC0FFFE1B57653, 0x3C8BC16494B76A19, + 0x3FEC2FFFF1FA57E3, 0xBC64FEEF8D30C6ED, + 0x3FEC4FFFDCBFE424, 0xBC843F68BCEC4775, + 0x3FEC6FFFED54B9F7, 0x3C847EA3F053E0EC, + 0x3FEC8FFFEB998FD5, 0x3C7383068DF992F1, + 0x3FECB0002125219A, 0xBC68FD8E64180E04, + 0x3FECCFFFDD94469C, 0x3C8E7EBE1CC7EA72, + 0x3FECEFFFEAFDC476, 0x3C8EBE39AD9F88FE, + 0x3FED1000169AF82B, 0x3C757D91A8B95A71, + 0x3FED30000D0FF71D, 0x3C89C1906970C7DA, + 0x3FED4FFFEA790FC4, 0xBC580E37C558FE0C, + 0x3FED70002EDC87E5, 0xBC7F80D64DC10F44, + 0x3FED900021DC82AA, 0xBC747C8F94FD5C5C, + 0x3FEDAFFFD86B0283, 0x3C8C7F1DC521617E, + 0x3FEDD000296C4739, 0x3C88019EB2FFB153, + 0x3FEDEFFFE54490F5, 0x3C6E00D2C652CC89, + 0x3FEE0FFFCDABF694, 0xBC7F8340202D69D2, + 0x3FEE2FFFDB52C8DD, 0x3C7B00C1CA1B0864, + 0x3FEE4FFFF24216EF, 0x3C72FFA8B094AB51, + 0x3FEE6FFFE88A5E11, 0xBC57F673B1EFBE59, + 0x3FEE9000119EFF0D, 0xBC84808D5E0BC801, + 0x3FEEAFFFDFA51744, 0x3C780006D54320B5, + 0x3FEED0001A127FA1, 0xBC5002F860565C92, + 0x3FEEF00007BABCC4, 0xBC8540445D35E611, + 0x3FEF0FFFF57A8D02, 0xBC4FFB3139EF9105, + 0x3FEF30001EE58AC7, 0x3C8A81ACF2731155, + 0x3FEF4FFFF5823494, 0x3C8A3F41D4D7C743, + 0x3FEF6FFFFCA94C6B, 0xBC6202F41C987875, + 0x3FEF8FFFE1F9C441, 0x3C777DD1F477E74B, + 0x3FEFAFFFD2E0E37E, 0xBC6F01199A7CA331, + 0x3FEFD0001C77E49E, 0x3C7181EE4BCEACB1, + 0x3FEFEFFFF7E0C331, 0xBC6E05370170875A, + 0x3FF00FFFF465606E, 0xBC8A7EAD491C0ADA, + 0x3FF02FFFF3867A58, 0xBC977F69C3FCB2E0, + 0x3FF04FFFFDFC0D17, 0x3C97BFFE34CB945B, + 0x3FF0700003CD4D82, 0x3C820083C0E456CB, + 0x3FF08FFFF9F2CBE8, 0xBC6DFFDFBE37751A, + 0x3FF0B000010CDA65, 0xBC913F7FAEE626EB, + 0x3FF0D00001A4D338, 0x3C807DFA79489FF7, + 0x3FF0EFFFFADAFDFD, 0xBC77040570D66BC0, + 0x3FF110000BBAFD96, 0x3C8E80D4846D0B62, + 0x3FF12FFFFAE5F45D, 0x3C9DBFFA64FD36EF, + 0x3FF150000DD59AD9, 0x3C9A0077701250AE, + 0x3FF170000F21559A, 0x3C8DFDF9E2E3DEEE, + 0x3FF18FFFFC275426, 0x3C910030DC3B7273, + 0x3FF1B000123D3C59, 0x3C997F7980030188, + 0x3FF1CFFFF8299EB7, 0xBC65F932AB9F8C67, + 0x3FF1EFFFF48AD400, 0x3C937FBF9DA75BEB, + 0x3FF210000C8B86A4, 0x3C9F806B91FD5B22, + 0x3FF2300003854303, 0x3C93FFC2EB9FBF33, + 0x3FF24FFFFFBCF684, 0x3C7601E77E2E2E72, + 0x3FF26FFFF52921D9, 0x3C7FFCBB767F0C61, + 0x3FF2900014933A3C, 0xBC7202CA3C02412B, + 0x3FF2B00014556313, 0xBC92808233F21F02, + 0x3FF2CFFFEBFE523B, 0xBC88FF7E384FDCF2, + 0x3FF2F0000BB8AD96, 0xBC85FF51503041C5, + 0x3FF30FFFFB7AE2AF, 0xBC810071885E289D, + 0x3FF32FFFFEAC5F7F, 0xBC91FF5D3FB7B715, + 0x3FF350000CA66756, 0x3C957F82228B82BD, + 0x3FF3700011FBF721, 0x3C8000BAC40DD5CC, + 0x3FF38FFFF9592FB9, 0xBC943F9D2DB2A751, + 0x3FF3B00004DDD242, 0x3C857F6B707638E1, + 0x3FF3CFFFF5B2C957, 0x3C7A023A10BF1231, + 0x3FF3EFFFEAB0B418, 0x3C987F6D66B152B0, + 0x3FF410001532AFF4, 0x3C67F8375F198524, + 0x3FF4300017478B29, 0x3C8301E672DC5143, + 0x3FF44FFFE795B463, 0x3C89FF69B8B2895A, + 0x3FF46FFFE80475E0, 0xBC95C0B19BC2F254, + 0x3FF48FFFEF6FC1E7, 0x3C9B4009F23A2A72, + 0x3FF4AFFFE5BEA704, 0xBC94FFB7BF0D7D45, + 0x3FF4D000171027DE, 0xBC99C06471DC6A3D, + 0x3FF4F0000FF03EE2, 0x3C977F890B85531C, + 0x3FF5100012DC4BD1, 0x3C6004657166A436, + 0x3FF530001605277A, 0xBC96BFCECE233209, + 0x3FF54FFFECDB704C, 0xBC8902720505A1D7, + 0x3FF56FFFEF5F54A9, 0x3C9BBFE60EC96412, + 0x3FF5900017E61012, 0x3C887EC581AFEF90, + 0x3FF5B00003C93E92, 0xBC9F41080ABF0CC0, + 0x3FF5D0001D4919BC, 0xBC98812AFB254729, + 0x3FF5EFFFE7B87A89, 0xBC947EB780ED6904 +]); + +// @ts-ignore: decorator +@inline +export function log_lut(x: f64): f64 { + const N_MASK = (1 << LOG_TABLE_BITS) - 1; + + const + B0 = reinterpret(0xBFE0000000000000), // -0x1p-1 + B1 = reinterpret(0x3FD5555555555577), // 0x1.5555555555577p-2 + B2 = reinterpret(0xBFCFFFFFFFFFFDCB), // -0x1.ffffffffffdcbp-3 + B3 = reinterpret(0x3FC999999995DD0C), // 0x1.999999995dd0cp-3 + B4 = reinterpret(0xBFC55555556745A7), // -0x1.55555556745a7p-3 + B5 = reinterpret(0x3FC24924A344DE30), // 0x1.24924a344de3p-3 + B6 = reinterpret(0xBFBFFFFFA4423D65), // -0x1.fffffa4423d65p-4 + B7 = reinterpret(0x3FBC7184282AD6CA), // 0x1.c7184282ad6cap-4 + B8 = reinterpret(0xBFB999EB43B068FF), // -0x1.999eb43b068ffp-4 + B9 = reinterpret(0x3FB78182F7AFD085), // 0x1.78182f7afd085p-4 + B10 = reinterpret(0xBFB5521375D145CD); // -0x1.5521375d145cdp-4 + + const + A0 = reinterpret(0xBFE0000000000001), // -0x1.0000000000001p-1 + A1 = reinterpret(0x3FD555555551305B), // 0x1.555555551305bp-2 + A2 = reinterpret(0xBFCFFFFFFFEB4590), // -0x1.fffffffeb459p-3 + A3 = reinterpret(0x3FC999B324F10111), // 0x1.999b324f10111p-3 + A4 = reinterpret(0xBFC55575E506C89F); // -0x1.55575e506c89fp-3 + + const + LO: u64 = 0x3FEE000000000000, + HI: u64 = 0x3FF1090000000000; + + const + Ln2hi = reinterpret(0x3FE62E42FEFA3800), // 0x1.62e42fefa3800p-1 + Ln2lo = reinterpret(0x3D2EF35793C76730), // 0x1.ef35793c76730p-45 + Ox1p27 = reinterpret(0x41A0000000000000), // 0x1p27 + Ox1p52 = reinterpret(0x4330000000000000); // 0x1p52 + + let ix = reinterpret(x); + if (ix - LO < HI - LO) { + let r = x - 1.0; + let r2 = r * r; + let r3 = r2 * r; + let y = + r3 * (B1 + r * B2 + r2 * B3 + + r3 * (B4 + r * B5 + r2 * B6 + + r3 * (B7 + r * B8 + r2 * B9 + r3 * B10))); + // Worst-case error is around 0.507 ULP + let w = r * Ox1p27; + let rhi = r + w - w; + let rlo = r - rhi; + w = rhi * rhi * B0; // B[0] == -0.5 + let hi = r + w; + let lo = r - hi + w; + lo += B0 * rlo * (rhi + r); + return y + lo + hi; + } + let top = u32(ix >> 48); + if (top - 0x0010 >= 0x7FF0 - 0x0010) { + // x < 0x1p-1022 or inf or nan + if ((ix << 1) == 0) return -1.0 / (x * x); + if (ix == reinterpret(Infinity)) return x; // log(inf) == inf + if ((top & 0x8000) || (top & 0x7FF0) == 0x7FF0) return (x - x) / (x - x); + // x is subnormal, normalize it + ix = reinterpret(x * Ox1p52); + ix -= u64(52) << 52; + } + + // x = 2^k z; where z is in range [OFF,2*OFF) and exact. + // The range is split into N subintervals. + // The ith subinterval contains z and c is near its center. + let tmp = ix - 0x3FE6000000000000; + let i = ((tmp >> (52 - LOG_TABLE_BITS)) & N_MASK); + let k = tmp >> 52; + let iz = ix - (tmp & (u64(0xFFF) << 52)); + + let invc = load(LOG_DATA_TAB1 + (i << (1 + alignof())), 0 << alignof()); // T[i].invc; + let logc = load(LOG_DATA_TAB1 + (i << (1 + alignof())), 1 << alignof()); // T[i].logc; + let z = reinterpret(iz); + + // log(x) = log1p(z/c-1) + log(c) + k*Ln2. + // r ~= z/c - 1, |r| < 1/(2*N) + // #if __FP_FAST_FMA + // // rounding error: 0x1p-55/N + // r = __builtin_fma(z, invc, -1.0); + // #else + // rounding error: 0x1p-55/N + 0x1p-66 + const chi = load(LOG_DATA_TAB2 + (i << (1 + alignof())), 0 << alignof()); // T2[i].chi + const clo = load(LOG_DATA_TAB2 + (i << (1 + alignof())), 1 << alignof()); // T2[i].clo + let r = (z - chi - clo) * invc; + // #endif + let kd = k; + + // hi + lo = r + log(c) + k*Ln2 + let w = kd * Ln2hi + logc; + let hi = w + r; + let lo = w - hi + r + kd * Ln2lo; + + // log(x) = lo + (log1p(r) - r) + hi + let r2 = r * r; // rounding error: 0x1p-54/N^2 + // Worst case error if |y| > 0x1p-5: + // 0.5 + 4.13/N + abs-poly-error*2^57 ULP (+ 0.002 ULP without fma) + // Worst case error if |y| > 0x1p-4: + // 0.5 + 2.06/N + abs-poly-error*2^56 ULP (+ 0.001 ULP without fma). + return lo + r2 * A0 + r * r2 * (A1 + r * A2 + r2 * (A3 + r * A4)) + hi; +} + +// +// Lookup data for pow. See: https://git.musl-libc.org/cgit/musl/tree/src/math/pow.c +// + +// @ts-ignore: decorator +@inline const POW_LOG_TABLE_BITS = 7; + +/* Algorithm: + + x = 2^k z + log(x) = k ln2 + log(c) + log(z/c) + log(z/c) = poly(z/c - 1) + +where z is in [0x1.69555p-1; 0x1.69555p0] which is split into N subintervals +and z falls into the ith one, then table entries are computed as + + tab[i].invc = 1/c + tab[i].logc = round(0x1p43*log(c))/0x1p43 + tab[i].logctail = (double)(log(c) - logc) + +where c is chosen near the center of the subinterval such that 1/c has only a +few precision bits so z/c - 1 is exactly representible as double: + + 1/c = center < 1 ? round(N/center)/N : round(2*N/center)/N/2 + +Note: |z/c - 1| < 1/N for the chosen c, |log(c) - logc - logctail| < 0x1p-97, +the last few bits of logc are rounded away so k*ln2hi + logc has no rounding +error and the interval for z is selected such that near x == 1, where log(x) +is tiny, large cancellation error is avoided in logc + poly(z/c - 1). */ + +// @ts-ignore: decorator +@lazy @inline const POW_LOG_DATA_TAB = memory.data([ + // invc ,pad, logc , logctail + 0x3FF6A00000000000, 0, 0xBFD62C82F2B9C800, 0x3CFAB42428375680, + 0x3FF6800000000000, 0, 0xBFD5D1BDBF580800, 0xBD1CA508D8E0F720, + 0x3FF6600000000000, 0, 0xBFD5767717455800, 0xBD2362A4D5B6506D, + 0x3FF6400000000000, 0, 0xBFD51AAD872DF800, 0xBCE684E49EB067D5, + 0x3FF6200000000000, 0, 0xBFD4BE5F95777800, 0xBD041B6993293EE0, + 0x3FF6000000000000, 0, 0xBFD4618BC21C6000, 0x3D13D82F484C84CC, + 0x3FF5E00000000000, 0, 0xBFD404308686A800, 0x3CDC42F3ED820B3A, + 0x3FF5C00000000000, 0, 0xBFD3A64C55694800, 0x3D20B1C686519460, + 0x3FF5A00000000000, 0, 0xBFD347DD9A988000, 0x3D25594DD4C58092, + 0x3FF5800000000000, 0, 0xBFD2E8E2BAE12000, 0x3D267B1E99B72BD8, + 0x3FF5600000000000, 0, 0xBFD2895A13DE8800, 0x3D15CA14B6CFB03F, + 0x3FF5600000000000, 0, 0xBFD2895A13DE8800, 0x3D15CA14B6CFB03F, + 0x3FF5400000000000, 0, 0xBFD22941FBCF7800, 0xBD165A242853DA76, + 0x3FF5200000000000, 0, 0xBFD1C898C1699800, 0xBD1FAFBC68E75404, + 0x3FF5000000000000, 0, 0xBFD1675CABABA800, 0x3D1F1FC63382A8F0, + 0x3FF4E00000000000, 0, 0xBFD1058BF9AE4800, 0xBD26A8C4FD055A66, + 0x3FF4C00000000000, 0, 0xBFD0A324E2739000, 0xBD0C6BEE7EF4030E, + 0x3FF4A00000000000, 0, 0xBFD0402594B4D000, 0xBCF036B89EF42D7F, + 0x3FF4A00000000000, 0, 0xBFD0402594B4D000, 0xBCF036B89EF42D7F, + 0x3FF4800000000000, 0, 0xBFCFB9186D5E4000, 0x3D0D572AAB993C87, + 0x3FF4600000000000, 0, 0xBFCEF0ADCBDC6000, 0x3D2B26B79C86AF24, + 0x3FF4400000000000, 0, 0xBFCE27076E2AF000, 0xBD172F4F543FFF10, + 0x3FF4200000000000, 0, 0xBFCD5C216B4FC000, 0x3D21BA91BBCA681B, + 0x3FF4000000000000, 0, 0xBFCC8FF7C79AA000, 0x3D27794F689F8434, + 0x3FF4000000000000, 0, 0xBFCC8FF7C79AA000, 0x3D27794F689F8434, + 0x3FF3E00000000000, 0, 0xBFCBC286742D9000, 0x3D194EB0318BB78F, + 0x3FF3C00000000000, 0, 0xBFCAF3C94E80C000, 0x3CBA4E633FCD9066, + 0x3FF3A00000000000, 0, 0xBFCA23BC1FE2B000, 0xBD258C64DC46C1EA, + 0x3FF3A00000000000, 0, 0xBFCA23BC1FE2B000, 0xBD258C64DC46C1EA, + 0x3FF3800000000000, 0, 0xBFC9525A9CF45000, 0xBD2AD1D904C1D4E3, + 0x3FF3600000000000, 0, 0xBFC87FA06520D000, 0x3D2BBDBF7FDBFA09, + 0x3FF3400000000000, 0, 0xBFC7AB890210E000, 0x3D2BDB9072534A58, + 0x3FF3400000000000, 0, 0xBFC7AB890210E000, 0x3D2BDB9072534A58, + 0x3FF3200000000000, 0, 0xBFC6D60FE719D000, 0xBD10E46AA3B2E266, + 0x3FF3000000000000, 0, 0xBFC5FF3070A79000, 0xBD1E9E439F105039, + 0x3FF3000000000000, 0, 0xBFC5FF3070A79000, 0xBD1E9E439F105039, + 0x3FF2E00000000000, 0, 0xBFC526E5E3A1B000, 0xBD20DE8B90075B8F, + 0x3FF2C00000000000, 0, 0xBFC44D2B6CCB8000, 0x3D170CC16135783C, + 0x3FF2C00000000000, 0, 0xBFC44D2B6CCB8000, 0x3D170CC16135783C, + 0x3FF2A00000000000, 0, 0xBFC371FC201E9000, 0x3CF178864D27543A, + 0x3FF2800000000000, 0, 0xBFC29552F81FF000, 0xBD248D301771C408, + 0x3FF2600000000000, 0, 0xBFC1B72AD52F6000, 0xBD2E80A41811A396, + 0x3FF2600000000000, 0, 0xBFC1B72AD52F6000, 0xBD2E80A41811A396, + 0x3FF2400000000000, 0, 0xBFC0D77E7CD09000, 0x3D0A699688E85BF4, + 0x3FF2400000000000, 0, 0xBFC0D77E7CD09000, 0x3D0A699688E85BF4, + 0x3FF2200000000000, 0, 0xBFBFEC9131DBE000, 0xBD2575545CA333F2, + 0x3FF2000000000000, 0, 0xBFBE27076E2B0000, 0x3D2A342C2AF0003C, + 0x3FF2000000000000, 0, 0xBFBE27076E2B0000, 0x3D2A342C2AF0003C, + 0x3FF1E00000000000, 0, 0xBFBC5E548F5BC000, 0xBD1D0C57585FBE06, + 0x3FF1C00000000000, 0, 0xBFBA926D3A4AE000, 0x3D253935E85BAAC8, + 0x3FF1C00000000000, 0, 0xBFBA926D3A4AE000, 0x3D253935E85BAAC8, + 0x3FF1A00000000000, 0, 0xBFB8C345D631A000, 0x3D137C294D2F5668, + 0x3FF1A00000000000, 0, 0xBFB8C345D631A000, 0x3D137C294D2F5668, + 0x3FF1800000000000, 0, 0xBFB6F0D28AE56000, 0xBD269737C93373DA, + 0x3FF1600000000000, 0, 0xBFB51B073F062000, 0x3D1F025B61C65E57, + 0x3FF1600000000000, 0, 0xBFB51B073F062000, 0x3D1F025B61C65E57, + 0x3FF1400000000000, 0, 0xBFB341D7961BE000, 0x3D2C5EDACCF913DF, + 0x3FF1400000000000, 0, 0xBFB341D7961BE000, 0x3D2C5EDACCF913DF, + 0x3FF1200000000000, 0, 0xBFB16536EEA38000, 0x3D147C5E768FA309, + 0x3FF1000000000000, 0, 0xBFAF0A30C0118000, 0x3D2D599E83368E91, + 0x3FF1000000000000, 0, 0xBFAF0A30C0118000, 0x3D2D599E83368E91, + 0x3FF0E00000000000, 0, 0xBFAB42DD71198000, 0x3D1C827AE5D6704C, + 0x3FF0E00000000000, 0, 0xBFAB42DD71198000, 0x3D1C827AE5D6704C, + 0x3FF0C00000000000, 0, 0xBFA77458F632C000, 0xBD2CFC4634F2A1EE, + 0x3FF0C00000000000, 0, 0xBFA77458F632C000, 0xBD2CFC4634F2A1EE, + 0x3FF0A00000000000, 0, 0xBFA39E87B9FEC000, 0x3CF502B7F526FEAA, + 0x3FF0A00000000000, 0, 0xBFA39E87B9FEC000, 0x3CF502B7F526FEAA, + 0x3FF0800000000000, 0, 0xBF9F829B0E780000, 0xBD2980267C7E09E4, + 0x3FF0800000000000, 0, 0xBF9F829B0E780000, 0xBD2980267C7E09E4, + 0x3FF0600000000000, 0, 0xBF97B91B07D58000, 0xBD288D5493FAA639, + 0x3FF0400000000000, 0, 0xBF8FC0A8B0FC0000, 0xBCDF1E7CF6D3A69C, + 0x3FF0400000000000, 0, 0xBF8FC0A8B0FC0000, 0xBCDF1E7CF6D3A69C, + 0x3FF0200000000000, 0, 0xBF7FE02A6B100000, 0xBD19E23F0DDA40E4, + 0x3FF0200000000000, 0, 0xBF7FE02A6B100000, 0xBD19E23F0DDA40E4, + 0x3FF0000000000000, 0, 0, 0, + 0x3FF0000000000000, 0, 0, 0, + 0x3FEFC00000000000, 0, 0x3F80101575890000, 0xBD10C76B999D2BE8, + 0x3FEF800000000000, 0, 0x3F90205658938000, 0xBD23DC5B06E2F7D2, + 0x3FEF400000000000, 0, 0x3F98492528C90000, 0xBD2AA0BA325A0C34, + 0x3FEF000000000000, 0, 0x3FA0415D89E74000, 0x3D0111C05CF1D753, + 0x3FEEC00000000000, 0, 0x3FA466AED42E0000, 0xBD2C167375BDFD28, + 0x3FEE800000000000, 0, 0x3FA894AA149FC000, 0xBD197995D05A267D, + 0x3FEE400000000000, 0, 0x3FACCB73CDDDC000, 0xBD1A68F247D82807, + 0x3FEE200000000000, 0, 0x3FAEEA31C006C000, 0xBD0E113E4FC93B7B, + 0x3FEDE00000000000, 0, 0x3FB1973BD1466000, 0xBD25325D560D9E9B, + 0x3FEDA00000000000, 0, 0x3FB3BDF5A7D1E000, 0x3D2CC85EA5DB4ED7, + 0x3FED600000000000, 0, 0x3FB5E95A4D97A000, 0xBD2C69063C5D1D1E, + 0x3FED400000000000, 0, 0x3FB700D30AEAC000, 0x3CEC1E8DA99DED32, + 0x3FED000000000000, 0, 0x3FB9335E5D594000, 0x3D23115C3ABD47DA, + 0x3FECC00000000000, 0, 0x3FBB6AC88DAD6000, 0xBD1390802BF768E5, + 0x3FECA00000000000, 0, 0x3FBC885801BC4000, 0x3D2646D1C65AACD3, + 0x3FEC600000000000, 0, 0x3FBEC739830A2000, 0xBD2DC068AFE645E0, + 0x3FEC400000000000, 0, 0x3FBFE89139DBE000, 0xBD2534D64FA10AFD, + 0x3FEC000000000000, 0, 0x3FC1178E8227E000, 0x3D21EF78CE2D07F2, + 0x3FEBE00000000000, 0, 0x3FC1AA2B7E23F000, 0x3D2CA78E44389934, + 0x3FEBA00000000000, 0, 0x3FC2D1610C868000, 0x3D039D6CCB81B4A1, + 0x3FEB800000000000, 0, 0x3FC365FCB0159000, 0x3CC62FA8234B7289, + 0x3FEB400000000000, 0, 0x3FC4913D8333B000, 0x3D25837954FDB678, + 0x3FEB200000000000, 0, 0x3FC527E5E4A1B000, 0x3D2633E8E5697DC7, + 0x3FEAE00000000000, 0, 0x3FC6574EBE8C1000, 0x3D19CF8B2C3C2E78, + 0x3FEAC00000000000, 0, 0x3FC6F0128B757000, 0xBD25118DE59C21E1, + 0x3FEAA00000000000, 0, 0x3FC7898D85445000, 0xBD1C661070914305, + 0x3FEA600000000000, 0, 0x3FC8BEAFEB390000, 0xBD073D54AAE92CD1, + 0x3FEA400000000000, 0, 0x3FC95A5ADCF70000, 0x3D07F22858A0FF6F, + 0x3FEA000000000000, 0, 0x3FCA93ED3C8AE000, 0xBD28724350562169, + 0x3FE9E00000000000, 0, 0x3FCB31D8575BD000, 0xBD0C358D4EACE1AA, + 0x3FE9C00000000000, 0, 0x3FCBD087383BE000, 0xBD2D4BC4595412B6, + 0x3FE9A00000000000, 0, 0x3FCC6FFBC6F01000, 0xBCF1EC72C5962BD2, + 0x3FE9600000000000, 0, 0x3FCDB13DB0D49000, 0xBD2AFF2AF715B035, + 0x3FE9400000000000, 0, 0x3FCE530EFFE71000, 0x3CC212276041F430, + 0x3FE9200000000000, 0, 0x3FCEF5ADE4DD0000, 0xBCCA211565BB8E11, + 0x3FE9000000000000, 0, 0x3FCF991C6CB3B000, 0x3D1BCBECCA0CDF30, + 0x3FE8C00000000000, 0, 0x3FD07138604D5800, 0x3CF89CDB16ED4E91, + 0x3FE8A00000000000, 0, 0x3FD0C42D67616000, 0x3D27188B163CEAE9, + 0x3FE8800000000000, 0, 0x3FD1178E8227E800, 0xBD2C210E63A5F01C, + 0x3FE8600000000000, 0, 0x3FD16B5CCBACF800, 0x3D2B9ACDF7A51681, + 0x3FE8400000000000, 0, 0x3FD1BF99635A6800, 0x3D2CA6ED5147BDB7, + 0x3FE8200000000000, 0, 0x3FD214456D0EB800, 0x3D0A87DEBA46BAEA, + 0x3FE7E00000000000, 0, 0x3FD2BEF07CDC9000, 0x3D2A9CFA4A5004F4, + 0x3FE7C00000000000, 0, 0x3FD314F1E1D36000, 0xBD28E27AD3213CB8, + 0x3FE7A00000000000, 0, 0x3FD36B6776BE1000, 0x3D116ECDB0F177C8, + 0x3FE7800000000000, 0, 0x3FD3C25277333000, 0x3D183B54B606BD5C, + 0x3FE7600000000000, 0, 0x3FD419B423D5E800, 0x3D08E436EC90E09D, + 0x3FE7400000000000, 0, 0x3FD4718DC271C800, 0xBD2F27CE0967D675, + 0x3FE7200000000000, 0, 0x3FD4C9E09E173000, 0xBD2E20891B0AD8A4, + 0x3FE7000000000000, 0, 0x3FD522AE0738A000, 0x3D2EBE708164C759, + 0x3FE6E00000000000, 0, 0x3FD57BF753C8D000, 0x3D1FADEDEE5D40EF, + 0x3FE6C00000000000, 0, 0x3FD5D5BDDF596000, 0xBD0A0B2A08A465DC +]); + +// Returns 0 if not int, 1 if odd int, 2 if even int. The argument is +// the bit representation of a non-zero finite floating-point value. +// @ts-ignore: decorator +@inline +function checkint(iy: u64): i32 { + let e = iy >> 52 & 0x7FF; + if (e < 0x3FF ) return 0; + if (e > 0x3FF + 52) return 2; + e = u64(1) << (0x3FF + 52 - e); + if (iy & (e - 1)) return 0; + if (iy & e ) return 1; + return 2; +} + +// @ts-ignore: decorator +@inline +function xflow(sign: u32, y: f64): f64 { + return select(-y, y, sign) * y; +} + +// @ts-ignore: decorator +@inline +function uflow(sign: u32): f64 { + return xflow(sign, reinterpret(0x1000000000000000)); // 0x1p-767 +} + +// @ts-ignore: decorator +@inline +function oflow(sign: u32): f64 { + return xflow(sign, reinterpret(0x7000000000000000)); // 0x1p769 +} + +// Returns 1 if input is the bit representation of 0, infinity or nan. +// @ts-ignore: decorator +@inline +function zeroinfnan(u: u64): bool { + return (u << 1) - 1 >= 0xFFE0000000000000 - 1; +} + +// @ts-ignore: decorator +@lazy let log_tail: f64 = 0; + +// Compute y+TAIL = log(x) where the rounded result is y and TAIL has about +// additional 15 bits precision. IX is the bit representation of x, but +// normalized in the subnormal range using the sign bit for the exponent. +// @ts-ignore: decorator +@inline +function log_inline(ix: u64): f64 { + const N = 1 << POW_LOG_TABLE_BITS; + const N_MASK = N - 1; + + const + Ln2hi = reinterpret(0x3FE62E42FEFA3800), + Ln2lo = reinterpret(0x3D2EF35793C76730); + + const + A0 = reinterpret(0xBFE0000000000000), + A1 = reinterpret(0xBFE5555555555560), + A2 = reinterpret(0x3FE0000000000006), + A3 = reinterpret(0x3FE999999959554E), + A4 = reinterpret(0xBFE555555529A47A), + A5 = reinterpret(0xBFF2495B9B4845E9), + A6 = reinterpret(0x3FF0002B8B263FC3); + + // x = 2^k z; where z is in range [OFF,2*OFF) and exact. + // The range is split into N subintervals. + // The ith subinterval contains z and c is near its center. + let tmp = ix - 0x3fE6955500000000; + let i = usize((tmp >> (52 - POW_LOG_TABLE_BITS)) & N_MASK); + let k = tmp >> 52; + let iz = ix - (tmp & u64(0xFFF) << 52); + let z = reinterpret(iz); + let kd = k; + + // log(x) = k*Ln2 + log(c) + log1p(z/c-1). + let invc = load(POW_LOG_DATA_TAB + (i << (2 + alignof())), 0 << alignof()); // tab[i].invc + let logc = load(POW_LOG_DATA_TAB + (i << (2 + alignof())), 2 << alignof()); // tab[i].logc + let logctail = load(POW_LOG_DATA_TAB + (i << (2 + alignof())), 3 << alignof()); // tab[i].logctail + + // Note: 1/c is j/N or j/N/2 where j is an integer in [N,2N) and + // |z/c - 1| < 1/N, so r = z/c - 1 is exactly representible. + // Split z such that rhi, rlo and rhi*rhi are exact and |rlo| <= |r|. + let zhi = reinterpret((iz + u64(0x80000000)) & 0xFFFFFFFF00000000); + let zlo = z - zhi; + let rhi = zhi * invc - 1.0; + let rlo = zlo * invc; + let r = rhi + rlo; + + // k * Ln2 + log(c) + r. + let t1 = kd * Ln2hi + logc; + let t2 = t1 + r; + let lo1 = kd * Ln2lo + logctail; + let lo2 = t1 - t2 + r; + + // Evaluation is optimized assuming superscalar pipelined execution. + let ar = A0 * r; // A[0] = -0.5 + let ar2 = r * ar; + let ar3 = r * ar2; + // k * Ln2 + log(c) + r + A[0] * r * r. + let arhi = A0 * rhi; + let arhi2 = rhi * arhi; + let hi = t2 + arhi2; + let lo3 = rlo * (ar + arhi); + let lo4 = t2 - hi + arhi2; + + // p = log1p(r) - r - A[0] * r * r. + let p = ar3 * (A1 + r * A2 + ar2 * (A3 + r * A4 + ar2 * (A5 + r * A6))); + let lo = lo1 + lo2 + lo3 + lo4 + p; + let y = hi + lo; + log_tail = hi - y + lo; + + return y; +} + +// @ts-ignore: decorator +@inline const SIGN_BIAS = 0x800 << EXP_TABLE_BITS; + +// Computes sign*exp(x+xtail) where |xtail| < 2^-8/N and |xtail| <= |x|. +// The sign_bias argument is SIGN_BIAS or 0 and sets the sign to -1 or 1. +// @ts-ignore: decorator +@inline +function exp_inline(x: f64, xtail: f64, sign_bias: u32): f64 { + const N = 1 << EXP_TABLE_BITS; + const N_MASK = N - 1; + + const + InvLn2N = reinterpret(0x3FF71547652B82FE) * N, // 0x1.71547652b82fep0 + NegLn2hiN = reinterpret(0xBF762E42FEFA0000), // -0x1.62e42fefa0000p-8 + NegLn2loN = reinterpret(0xBD0CF79ABC9E3B3A), // -0x1.cf79abc9e3b3ap-47 + shift = reinterpret(0x4338000000000000); // 0x1.8p52 + + const + C2 = reinterpret(0x3FDFFFFFFFFFFDBD), // __exp_data.poly[0] (0x1.ffffffffffdbdp-2) + C3 = reinterpret(0x3FC555555555543C), // __exp_data.poly[1] (0x1.555555555543cp-3) + C4 = reinterpret(0x3FA55555CF172B91), // __exp_data.poly[2] (0x1.55555cf172b91p-5) + C5 = reinterpret(0x3F81111167A4D017); // __exp_data.poly[3] (0x1.1111167a4d017p-7) + + let abstop: u32; + let ki: u64, top: u64, sbits: u64; + let idx: usize; + // double_t for better performance on targets with FLT_EVAL_METHOD==2. + let kd: f64, z: f64, r: f64, r2: f64, scale: f64, tail: f64, tmp: f64; + + let ux = reinterpret(x); + abstop = u32(ux >> 52) & 0x7FF; + if (abstop - 0x3C9 >= 0x03F) { + if (abstop - 0x3C9 >= 0x80000000) { + // Avoid spurious underflow for tiny x. + // Note: 0 is common input. + return select(-1.0, 1.0, sign_bias); + } + if (abstop >= 0x409) { // top12(1024.0) + // Note: inf and nan are already handled. + return ux < 0 + ? uflow(sign_bias) + : oflow(sign_bias); + } + // Large x is special cased below. + abstop = 0; + } + + // exp(x) = 2^(k/N) * exp(r), with exp(r) in [2^(-1/2N),2^(1/2N)]. + // x = ln2/N*k + r, with int k and r in [-ln2/2N, ln2/2N]. + z = InvLn2N * x; + + // #if TOINT_INTRINSICS + // kd = roundtoint(z); + // ki = converttoint(z); + // #elif EXP_USE_TOINT_NARROW + // // z - kd is in [-0.5-2^-16, 0.5] in all rounding modes. + // kd = eval_as_double(z + shift); + // ki = asuint64(kd) >> 16; + // kd = (double_t)(int32_t)ki; + // #else + // z - kd is in [-1, 1] in non-nearest rounding modes + kd = z + shift; + ki = reinterpret(kd); + kd -= shift; + // #endif + r = x + kd * NegLn2hiN + kd * NegLn2loN; + // The code assumes 2^-200 < |xtail| < 2^-8/N + r += xtail; + // 2^(k/N) ~= scale * (1 + tail) + idx = usize((ki & N_MASK) << 1); + top = (ki + sign_bias) << (52 - EXP_TABLE_BITS); + + tail = reinterpret(load(EXP_DATA_TAB + (idx << alignof()))); + // This is only a valid scale when -1023*N < k < 1024*N + sbits = load(EXP_DATA_TAB + (idx << alignof()), 1 << alignof()) + top; + // exp(x) = 2^(k/N) * exp(r) ~= scale + scale * (tail + exp(r) - 1). + // Evaluation is optimized assuming superscalar pipelined execution. + r2 = r * r; + // Without fma the worst case error is 0.25/N ulp larger. + // Worst case error is less than 0.5+1.11/N+(abs poly error * 2^53) ulp + tmp = tail + r + r2 * (C2 + r * C3) + r2 * r2 * (C4 + r * C5); + if (abstop == 0) return specialcase(tmp, sbits, ki); + scale = reinterpret(sbits); + // Note: tmp == 0 or |tmp| > 2^-200 and scale > 2^-739, so there + // is no spurious underflow here even without fma. + return scale + scale * tmp; +} + +// @ts-ignore: decorator +@inline +export function pow_lut(x: f64, y: f64): f64 { + const Ox1p52 = reinterpret(0x4330000000000000); // 0x1p52 + + let sign_bias: u32 = 0; + let ix = reinterpret(x); + let iy = reinterpret(y); + let topx = ix >> 52; + let topy = iy >> 52; + + if (topx - 0x001 >= 0x7FF - 0x001 || (topy & 0x7FF) - 0x3BE >= 0x43e - 0x3BE) { + // Note: if |y| > 1075 * ln2 * 2^53 ~= 0x1.749p62 then pow(x,y) = inf/0 + // and if |y| < 2^-54 / 1075 ~= 0x1.e7b6p-65 then pow(x,y) = +-1. + // Special cases: (x < 0x1p-126 or inf or nan) or + // (|y| < 0x1p-65 or |y| >= 0x1p63 or nan). + if (zeroinfnan(iy)) { + if ((iy << 1) == 0) return 1.0; + if (ix == 0x3FF0000000000000) return NaN; // original: 1.0 + if ((ix << 1) > 0xFFE0000000000000 || (iy << 1) > 0xFFE0000000000000) return x + y; + if ((ix << 1) == 0x7FE0000000000000) return NaN; // original: 1.0 + if (((ix << 1) < 0x7FE0000000000000) == !(iy >> 63)) return 0; // |x|<1 && y==inf or |x|>1 && y==-inf. + return y * y; + } + if (zeroinfnan(ix)) { + let x2 = x * x; + if (i32(ix >> 63) && checkint(iy) == 1) x2 = -x2; + return iy < 0 ? 1 / x2 : x2; + } + // Here x and y are non-zero finite + if (ix < 0) { + // Finite x < 0 + let yint = checkint(iy); + if (yint == 0) return (x - x) / (x - x); + if (yint == 1) sign_bias = SIGN_BIAS; + ix &= 0x7FFFFFFFFFFFFFFF; + topx &= 0x7FF; + } + if ((topy & 0x7FF) - 0x3BE >= 0x43E - 0x3BE) { + // Note: sign_bias == 0 here because y is not odd. + if (ix == 0x3FF0000000000000) return 1; + if ((topy & 0x7FF) < 0x3BE) return 1; // |y| < 2^-65, x^y ~= 1 + y*log(x). + return (ix > 0x3FF0000000000000) == (topy < 0x800) ? Infinity : 0; + } + if (topx == 0) { + // Normalize subnormal x so exponent becomes negative. + ix = reinterpret(x * Ox1p52); + ix &= 0x7FFFFFFFFFFFFFFF; + ix -= u64(52) << 52; + } + } + + let hi = log_inline(ix); + let lo = log_tail; + let ehi: f64, elo: f64; + // #if __FP_FAST_FMA + // ehi = y * hi; + // elo = y * lo + __builtin_fma(y, hi, -ehi); + // #else + let yhi = reinterpret(iy & 0xFFFFFFFFF8000000); + let ylo = y - yhi; + let lhi = reinterpret(reinterpret(hi) & 0xFFFFFFFFF8000000); + let llo = hi - lhi + lo; + ehi = yhi * lhi; + elo = ylo * lhi + y * llo; // |elo| < |ehi| * 2^-25. + // #endif + return exp_inline(ehi, elo, sign_bias); +} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/util/memory.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/util/memory.ts new file mode 100644 index 00000000..a34e549c --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/std/assembly/util/memory.ts @@ -0,0 +1,290 @@ +export function memcpy(dest: usize, src: usize, n: usize): void { // see: musl/src/string/memcpy.c + let w: u32, x: u32; + + // copy 1 byte each until src is aligned to 4 bytes + while (n && (src & 3)) { + store(dest++, load(src++)); + n--; + } + + // if dst is aligned to 4 bytes as well, copy 4 bytes each + if ((dest & 3) == 0) { + while (n >= 16) { + store(dest , load(src )); + store(dest + 4, load(src + 4)); + store(dest + 8, load(src + 8)); + store(dest + 12, load(src + 12)); + src += 16; dest += 16; n -= 16; + } + if (n & 8) { + store(dest , load(src )); + store(dest + 4, load(src + 4)); + dest += 8; src += 8; + } + if (n & 4) { + store(dest, load(src)); + dest += 4; src += 4; + } + if (n & 2) { // drop to 2 bytes each + store(dest, load(src)); + dest += 2; src += 2; + } + if (n & 1) { // drop to 1 byte + store(dest++, load(src++)); + } + return; + } + + // if dst is not aligned to 4 bytes, use alternating shifts to copy 4 bytes each + // doing shifts if faster when copying enough bytes (here: 32 or more) + if (n >= 32) { + switch (dest & 3) { + // known to be != 0 + case 1: { + w = load(src); + store(dest++, load(src++)); + store(dest++, load(src++)); + store(dest++, load(src++)); + n -= 3; + while (n >= 17) { + x = load(src + 1); + store(dest, w >> 24 | x << 8); + w = load(src + 5); + store(dest + 4, x >> 24 | w << 8); + x = load(src + 9); + store(dest + 8, w >> 24 | x << 8); + w = load(src + 13); + store(dest + 12, x >> 24 | w << 8); + src += 16; dest += 16; n -= 16; + } + break; + } + case 2: { + w = load(src); + store(dest++, load(src++)); + store(dest++, load(src++)); + n -= 2; + while (n >= 18) { + x = load(src + 2); + store(dest, w >> 16 | x << 16); + w = load(src + 6); + store(dest + 4, x >> 16 | w << 16); + x = load(src + 10); + store(dest + 8, w >> 16 | x << 16); + w = load(src + 14); + store(dest + 12, x >> 16 | w << 16); + src += 16; dest += 16; n -= 16; + } + break; + } + case 3: { + w = load(src); + store(dest++, load(src++)); + n -= 1; + while (n >= 19) { + x = load(src + 3); + store(dest, w >> 8 | x << 24); + w = load(src + 7); + store(dest + 4, x >> 8 | w << 24); + x = load(src + 11); + store(dest + 8, w >> 8 | x << 24); + w = load(src + 15); + store(dest + 12, x >> 8 | w << 24); + src += 16; dest += 16; n -= 16; + } + break; + } + } + } + + // copy remaining bytes one by one + if (n & 16) { + store(dest++, load(src++)); + store(dest++, load(src++)); + store(dest++, load(src++)); + store(dest++, load(src++)); + store(dest++, load(src++)); + store(dest++, load(src++)); + store(dest++, load(src++)); + store(dest++, load(src++)); + store(dest++, load(src++)); + store(dest++, load(src++)); + store(dest++, load(src++)); + store(dest++, load(src++)); + store(dest++, load(src++)); + store(dest++, load(src++)); + store(dest++, load(src++)); + store(dest++, load(src++)); + } + if (n & 8) { + store(dest++, load(src++)); + store(dest++, load(src++)); + store(dest++, load(src++)); + store(dest++, load(src++)); + store(dest++, load(src++)); + store(dest++, load(src++)); + store(dest++, load(src++)); + store(dest++, load(src++)); + } + if (n & 4) { + store(dest++, load(src++)); + store(dest++, load(src++)); + store(dest++, load(src++)); + store(dest++, load(src++)); + } + if (n & 2) { + store(dest++, load(src++)); + store(dest++, load(src++)); + } + if (n & 1) { + store(dest++, load(src++)); + } +} + +// @ts-ignore: decorator +@inline +export function memmove(dest: usize, src: usize, n: usize): void { // see: musl/src/string/memmove.c + if (dest == src) return; + if (ASC_SHRINK_LEVEL < 1) { + if (src - dest - n <= -(n << 1)) { + memcpy(dest, src, n); + return; + } + } + if (dest < src) { + if (ASC_SHRINK_LEVEL < 2) { + if ((src & 7) == (dest & 7)) { + while (dest & 7) { + if (!n) return; + --n; + store(dest++, load(src++)); + } + while (n >= 8) { + store(dest, load(src)); + n -= 8; + dest += 8; + src += 8; + } + } + } + while (n) { + store(dest++, load(src++)); + --n; + } + } else { + if (ASC_SHRINK_LEVEL < 2) { + if ((src & 7) == (dest & 7)) { + while ((dest + n) & 7) { + if (!n) return; + store(dest + --n, load(src + n)); + } + while (n >= 8) { + n -= 8; + store(dest + n, load(src + n)); + } + } + } + while (n) { + store(dest + --n, load(src + n)); + } + } +} + +// @ts-ignore: decorator +@inline +export function memset(dest: usize, c: u8, n: usize): void { // see: musl/src/string/memset + if (ASC_SHRINK_LEVEL > 1) { + while (n) { + store(dest++, c); + --n; + } + } else { + // fill head and tail with minimal branching + if (!n) return; + let dend = dest + n; + store(dest, c); + store(dend - 1, c); + if (n <= 2) return; + store(dest, c, 1); + store(dest, c, 2); + store(dend - 2, c); + store(dend - 3, c); + if (n <= 6) return; + store(dest, c, 3); + store(dend - 4, c); + if (n <= 8) return; + + // advance pointer to align it at 4-byte boundary + let k: usize = -dest & 3; + dest += k; + n -= k; + n &= -4; + + let c32: u32 = -1 / 255 * c; + + // fill head/tail up to 28 bytes each in preparation + dend = dest + n; + store(dest, c32); + store(dend - 4, c32); + if (n <= 8) return; + store(dest, c32, 4); + store(dest, c32, 8); + store(dend - 12, c32); + store(dend - 8, c32); + if (n <= 24) return; + store(dest, c32, 12); + store(dest, c32, 16); + store(dest, c32, 20); + store(dest, c32, 24); + store(dend - 28, c32); + store(dend - 24, c32); + store(dend - 20, c32); + store(dend - 16, c32); + + // align to a multiple of 8 + k = 24 + (dest & 4); + dest += k; + n -= k; + + // copy 32 bytes each + let c64: u64 = c32 | (c32 << 32); + while (n >= 32) { + store(dest, c64); + store(dest, c64, 8); + store(dest, c64, 16); + store(dest, c64, 24); + n -= 32; + dest += 32; + } + } +} + +// @ts-ignore: decorator +@inline +export function memcmp(vl: usize, vr: usize, n: usize): i32 { + if (vl == vr) return 0; + if (ASC_SHRINK_LEVEL < 2) { + if ((vl & 7) == (vr & 7)) { + while (vl & 7) { + if (!n) return 0; + let a = load(vl); + let b = load(vr); + if (a != b) return a - b; + n--; vl++; vr++; + } + while (n >= 8) { + if (load(vl) != load(vr)) break; + vl += 8; + vr += 8; + n -= 8; + } + } + } + while (n--) { + let a = load(vl); + let b = load(vr); + if (a != b) return a - b; + vl++; vr++; + } + return 0; +} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/util/number.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/util/number.ts new file mode 100644 index 00000000..db74792f --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/std/assembly/util/number.ts @@ -0,0 +1,849 @@ +/// + +import { idof } from "../builtins"; +import { CharCode } from "./string"; + +// @ts-ignore: decorator +@inline +export const MAX_DOUBLE_LENGTH = 28; + +// @ts-ignore: decorator +@lazy @inline const POWERS10 = memory.data([ + 1, + 10, + 100, + 1000, + 10000, + 100000, + 1000000, + 10000000, + 100000000, + 1000000000 +]); + +/* + Lookup table for pairwise char codes in range [0-99] + + "00", "01", "02", "03", "04", "05", "06", "07", "08", "09", + "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", + "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", + "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", + "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", + "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", + "60", "61", "62", "63", "64", "65", "66", "67", "68", "69", + "70", "71", "72", "73", "74", "75", "76", "77", "78", "79", + "80", "81", "82", "83", "84", "85", "86", "87", "88", "89", + "90", "91", "92", "93", "94", "95", "96", "97", "98", "99" +*/ +// @ts-ignore: decorator +@lazy @inline const DIGITS = memory.data([ + 0x00300030, 0x00310030, 0x00320030, 0x00330030, 0x00340030, + 0x00350030, 0x00360030, 0x00370030, 0x00380030, 0x00390030, + 0x00300031, 0x00310031, 0x00320031, 0x00330031, 0x00340031, + 0x00350031, 0x00360031, 0x00370031, 0x00380031, 0x00390031, + 0x00300032, 0x00310032, 0x00320032, 0x00330032, 0x00340032, + 0x00350032, 0x00360032, 0x00370032, 0x00380032, 0x00390032, + 0x00300033, 0x00310033, 0x00320033, 0x00330033, 0x00340033, + 0x00350033, 0x00360033, 0x00370033, 0x00380033, 0x00390033, + 0x00300034, 0x00310034, 0x00320034, 0x00330034, 0x00340034, + 0x00350034, 0x00360034, 0x00370034, 0x00380034, 0x00390034, + 0x00300035, 0x00310035, 0x00320035, 0x00330035, 0x00340035, + 0x00350035, 0x00360035, 0x00370035, 0x00380035, 0x00390035, + 0x00300036, 0x00310036, 0x00320036, 0x00330036, 0x00340036, + 0x00350036, 0x00360036, 0x00370036, 0x00380036, 0x00390036, + 0x00300037, 0x00310037, 0x00320037, 0x00330037, 0x00340037, + 0x00350037, 0x00360037, 0x00370037, 0x00380037, 0x00390037, + 0x00300038, 0x00310038, 0x00320038, 0x00330038, 0x00340038, + 0x00350038, 0x00360038, 0x00370038, 0x00380038, 0x00390038, + 0x00300039, 0x00310039, 0x00320039, 0x00330039, 0x00340039, + 0x00350039, 0x00360039, 0x00370039, 0x00380039, 0x00390039 +]); + +// Lookup table for pairwise char codes in range [0x00-0xFF] +// @ts-ignore: decorator +@lazy @inline const HEX_DIGITS = +"000102030405060708090a0b0c0d0e0f\ +101112131415161718191a1b1c1d1e1f\ +202122232425262728292a2b2c2d2e2f\ +303132333435363738393a3b3c3d3e3f\ +404142434445464748494a4b4c4d4e4f\ +505152535455565758595a5b5c5d5e5f\ +606162636465666768696a6b6c6d6e6f\ +707172737475767778797a7b7c7d7e7f\ +808182838485868788898a8b8c8d8e8f\ +909192939495969798999a9b9c9d9e9f\ +a0a1a2a3a4a5a6a7a8a9aaabacadaeaf\ +b0b1b2b3b4b5b6b7b8b9babbbcbdbebf\ +c0c1c2c3c4c5c6c7c8c9cacbcccdcecf\ +d0d1d2d3d4d5d6d7d8d9dadbdcdddedf\ +e0e1e2e3e4e5e6e7e8e9eaebecedeeef\ +f0f1f2f3f4f5f6f7f8f9fafbfcfdfeff"; + +// @ts-ignore: decorator +@lazy @inline const ANY_DIGITS = "0123456789abcdefghijklmnopqrstuvwxyz"; + +// @ts-ignore: decorator +@lazy @inline const EXP_POWERS = memory.data([/* eslint-disable indent */ + -1220, -1193, -1166, -1140, -1113, -1087, -1060, -1034, -1007, -980, + -954, -927, -901, -874, -847, -821, -794, -768, -741, -715, + -688, -661, -635, -608, -582, -555, -529, -502, -475, -449, + -422, -396, -369, -343, -316, -289, -263, -236, -210, -183, + -157, -130, -103, -77, -50, -24, 3, 30, 56, 83, + 109, 136, 162, 189, 216, 242, 269, 295, 322, 348, + 375, 402, 428, 455, 481, 508, 534, 561, 588, 614, + 641, 667, 694, 720, 747, 774, 800, 827, 853, 880, + 907, 933, 960, 986, 1013, 1039, 1066 +/* eslint-enable indent */]); + +// 1e-348, 1e-340, ..., 1e340 +// @ts-ignore: decorator +@lazy @inline const FRC_POWERS = memory.data([ + 0xFA8FD5A0081C0288, 0xBAAEE17FA23EBF76, 0x8B16FB203055AC76, 0xCF42894A5DCE35EA, + 0x9A6BB0AA55653B2D, 0xE61ACF033D1A45DF, 0xAB70FE17C79AC6CA, 0xFF77B1FCBEBCDC4F, + 0xBE5691EF416BD60C, 0x8DD01FAD907FFC3C, 0xD3515C2831559A83, 0x9D71AC8FADA6C9B5, + 0xEA9C227723EE8BCB, 0xAECC49914078536D, 0x823C12795DB6CE57, 0xC21094364DFB5637, + 0x9096EA6F3848984F, 0xD77485CB25823AC7, 0xA086CFCD97BF97F4, 0xEF340A98172AACE5, + 0xB23867FB2A35B28E, 0x84C8D4DFD2C63F3B, 0xC5DD44271AD3CDBA, 0x936B9FCEBB25C996, + 0xDBAC6C247D62A584, 0xA3AB66580D5FDAF6, 0xF3E2F893DEC3F126, 0xB5B5ADA8AAFF80B8, + 0x87625F056C7C4A8B, 0xC9BCFF6034C13053, 0x964E858C91BA2655, 0xDFF9772470297EBD, + 0xA6DFBD9FB8E5B88F, 0xF8A95FCF88747D94, 0xB94470938FA89BCF, 0x8A08F0F8BF0F156B, + 0xCDB02555653131B6, 0x993FE2C6D07B7FAC, 0xE45C10C42A2B3B06, 0xAA242499697392D3, + 0xFD87B5F28300CA0E, 0xBCE5086492111AEB, 0x8CBCCC096F5088CC, 0xD1B71758E219652C, + 0x9C40000000000000, 0xE8D4A51000000000, 0xAD78EBC5AC620000, 0x813F3978F8940984, + 0xC097CE7BC90715B3, 0x8F7E32CE7BEA5C70, 0xD5D238A4ABE98068, 0x9F4F2726179A2245, + 0xED63A231D4C4FB27, 0xB0DE65388CC8ADA8, 0x83C7088E1AAB65DB, 0xC45D1DF942711D9A, + 0x924D692CA61BE758, 0xDA01EE641A708DEA, 0xA26DA3999AEF774A, 0xF209787BB47D6B85, + 0xB454E4A179DD1877, 0x865B86925B9BC5C2, 0xC83553C5C8965D3D, 0x952AB45CFA97A0B3, + 0xDE469FBD99A05FE3, 0xA59BC234DB398C25, 0xF6C69A72A3989F5C, 0xB7DCBF5354E9BECE, + 0x88FCF317F22241E2, 0xCC20CE9BD35C78A5, 0x98165AF37B2153DF, 0xE2A0B5DC971F303A, + 0xA8D9D1535CE3B396, 0xFB9B7CD9A4A7443C, 0xBB764C4CA7A44410, 0x8BAB8EEFB6409C1A, + 0xD01FEF10A657842C, 0x9B10A4E5E9913129, 0xE7109BFBA19C0C9D, 0xAC2820D9623BF429, + 0x80444B5E7AA7CF85, 0xBF21E44003ACDD2D, 0x8E679C2F5E44FF8F, 0xD433179D9C8CB841, + 0x9E19DB92B4E31BA9, 0xEB96BF6EBADF77D9, 0xAF87023B9BF0EE6B +]); + +// @ts-ignore: decorator +@inline +export function isPowerOf2(value: T): bool { + return popcnt(value) == 1; +} + +// Count number of decimals for u32 values +// In our case input value always non-zero so we can simplify some parts +export function decimalCount32(value: u32): u32 { + if (value < 100000) { + if (value < 100) { + return 1 + u32(value >= 10); + } else { + return 3 + u32(value >= 10000) + u32(value >= 1000); + } + } else { + if (value < 10000000) { + return 6 + u32(value >= 1000000); + } else { + return 8 + u32(value >= 1000000000) + u32(value >= 100000000); + } + } +} + +// Count number of decimals for u64 values +// In our case input value always greater than 2^32-1 so we can skip some parts +export function decimalCount64High(value: u64): u32 { + if (value < 1000000000000000) { + if (value < 1000000000000) { + return 10 + u32(value >= 100000000000) + u32(value >= 10000000000); + } else { + return 13 + u32(value >= 100000000000000) + u32(value >= 10000000000000); + } + } else { + if (value < 100000000000000000) { + return 16 + u32(value >= 10000000000000000); + } else { + return 18 + u32(value >= 10000000000000000000) + u32(value >= 1000000000000000000); + } + } +} + +function ulog_base(num: u64, base: i32): u32 { + if (isPowerOf2(base)) { + return (63 - clz(num)) / (31 - clz(base)) + 1; + } + let b64 = u64(base), b = b64, e: u32 = 1; + while (num >= b) { + num /= b; + b *= b; + e <<= 1; + } + while (num >= 1) { + num /= b64; + e++; + } + return e - 1; +} + +function utoa32_dec_lut(buffer: usize, num: u32, offset: usize): void { + while (num >= 10000) { + // in most VMs i32/u32 div and modulo by constant can be shared and simplificate + let t = num / 10000; + let r = num % 10000; + num = t; + + let d1 = r / 100; + let d2 = r % 100; + + let digits1 = load(DIGITS + (d1 << alignof())); + let digits2 = load(DIGITS + (d2 << alignof())); + + offset -= 4; + store(buffer + (offset << 1), digits1 | (digits2 << 32)); + } + + if (num >= 100) { + let t = num / 100; + let d1 = num % 100; + num = t; + offset -= 2; + let digits = load(DIGITS + (d1 << alignof())); + store(buffer + (offset << 1), digits); + } + + if (num >= 10) { + offset -= 2; + let digits = load(DIGITS + (num << alignof())); + store(buffer + (offset << 1), digits); + } else { + offset -= 1; + let digit = CharCode._0 + num; + store(buffer + (offset << 1), digit); + } +} + +function utoa64_dec_lut(buffer: usize, num: u64, offset: usize): void { + while (num >= 100000000) { + let t = num / 100000000; + let r = (num - t * 100000000); + num = t; + + let b = r / 10000; + let c = r % 10000; + + let b1 = b / 100; + let b2 = b % 100; + let c1 = c / 100; + let c2 = c % 100; + + let digits1 = load(DIGITS + (c1 << alignof())); + let digits2 = load(DIGITS + (c2 << alignof())); + + offset -= 4; + store(buffer + (offset << 1), digits1 | (digits2 << 32)); + + digits1 = load(DIGITS + (b1 << alignof())); + digits2 = load(DIGITS + (b2 << alignof())); + + offset -= 4; + store(buffer + (offset << 1), digits1 | (digits2 << 32)); + } + + utoa32_dec_lut(buffer, num, offset); +} + +function utoa_hex_lut(buffer: usize, num: u64, offset: usize): void { + const lut = changetype(HEX_DIGITS); + while (offset >= 2) { + offset -= 2; + store( + buffer + (offset << 1), + load(lut + ((num & 0xFF) << alignof())) + ); + num >>= 8; + } + if (offset & 1) { + store(buffer, load(lut + (num << 6))); + } +} + +function utoa_dec_simple(buffer: usize, num: T, offset: usize): void { + do { + let t = num / 10; + let r = (num % 10); + num = changetype(t); + offset--; + store(buffer + (offset << 1), CharCode._0 + r); + } while (num); +} + +function utoa_hex_simple(buffer: usize, num: T, offset: usize): void { + do { + let d = num & 0x0F | CharCode._0; + d += select(0x27, 0, d > CharCode._9); + offset--; + store(buffer + (offset << 1), d); + // @ts-ignore: type + num >>= 4; + } while (num); +} + +// @ts-ignore: decorator +@inline +export function utoa32_dec_core(buffer: usize, num: u32, offset: usize): void { + if (ASC_SHRINK_LEVEL >= 1) { + utoa_dec_simple(buffer, num, offset); + } else { + utoa32_dec_lut(buffer, num, offset); + } +} + +// @ts-ignore: decorator +@inline +function utoa32_hex_core(buffer: usize, num: u32, offset: usize): void { + if (ASC_SHRINK_LEVEL >= 1) { + utoa_hex_simple(buffer, num, offset); + } else { + utoa_hex_lut(buffer, num, offset); + } +} + +// @ts-ignore: decorator +@inline +function utoa64_dec_core(buffer: usize, num: u64, offset: usize): void { + if (ASC_SHRINK_LEVEL >= 1) { + utoa_dec_simple(buffer, num, offset); + } else { + utoa64_dec_lut(buffer, num, offset); + } +} + +// @ts-ignore: decorator +@inline +function utoa64_hex_core(buffer: usize, num: u64, offset: usize): void { + if (ASC_SHRINK_LEVEL >= 1) { + utoa_hex_simple(buffer, num, offset); + } else { + utoa_hex_lut(buffer, num, offset); + } +} + +function utoa64_any_core(buffer: usize, num: u64, offset: usize, radix: i32): void { + const lut = changetype(ANY_DIGITS); + let base = u64(radix); + if ((radix & (radix - 1)) == 0) { // for radix which pow of two + let shift = u64(ctz(radix) & 7); + let mask = base - 1; + do { + offset--; + store(buffer + (offset << 1), load(lut + (usize(num & mask) << 1))); + num >>= shift; + } while (num); + } else { + do { + offset--; + let q = num / base; + store(buffer + (offset << 1), load(lut + (usize(num - q * base) << 1))); + num = q; + } while (num); + } +} + +export function utoa32(value: u32, radix: i32): String { + if (radix < 2 || radix > 36) { + throw new RangeError("toString() radix argument must be between 2 and 36"); + } + if (!value) return "0"; + let out: String; + + if (radix == 10) { + let decimals = decimalCount32(value); + out = changetype(__new(decimals << 1, idof())); + utoa32_dec_core(changetype(out), value, decimals); + } else if (radix == 16) { + let decimals = (31 - clz(value) >> 2) + 1; + out = changetype(__new(decimals << 1, idof())); + utoa32_hex_core(changetype(out), value, decimals); + } else { + let decimals = ulog_base(value, radix); + out = changetype(__new(decimals << 1, idof())); + utoa64_any_core(changetype(out), value, decimals, radix); + } + return out; +} + +export function itoa32(value: i32, radix: i32): String { + if (radix < 2 || radix > 36) { + throw new RangeError("toString() radix argument must be between 2 and 36"); + } + if (!value) return "0"; + + let sign = (value >>> 31) << 1; + if (sign) value = -value; + let out: String; + + if (radix == 10) { + let decimals = decimalCount32(value); + out = changetype(__new((decimals << 1) + sign, idof())); + utoa32_dec_core(changetype(out) + sign, value, decimals); + } else if (radix == 16) { + let decimals = (31 - clz(value) >> 2) + 1; + out = changetype(__new((decimals << 1) + sign, idof())); + utoa32_hex_core(changetype(out) + sign, value, decimals); + } else { + let val32 = u32(value); + let decimals = ulog_base(val32, radix); + out = changetype(__new((decimals << 1) + sign, idof())); + utoa64_any_core(changetype(out) + sign, val32, decimals, radix); + } + if (sign) store(changetype(out), CharCode.MINUS); + return out; +} + +export function utoa64(value: u64, radix: i32): String { + if (radix < 2 || radix > 36) { + throw new RangeError("toString() radix argument must be between 2 and 36"); + } + if (!value) return "0"; + let out: String; + + if (radix == 10) { + if (value <= u32.MAX_VALUE) { + let val32 = value; + let decimals = decimalCount32(val32); + out = changetype(__new(decimals << 1, idof())); + utoa32_dec_core(changetype(out), val32, decimals); + } else { + let decimals = decimalCount64High(value); + out = changetype(__new(decimals << 1, idof())); + utoa64_dec_core(changetype(out), value, decimals); + } + } else if (radix == 16) { + let decimals = (63 - u32(clz(value)) >> 2) + 1; + out = changetype(__new(decimals << 1, idof())); + utoa64_hex_core(changetype(out), value, decimals); + } else { + let decimals = ulog_base(value, radix); + out = changetype(__new(decimals << 1, idof())); + utoa64_any_core(changetype(out), value, decimals, radix); + } + return out; +} + +export function itoa64(value: i64, radix: i32): String { + if (radix < 2 || radix > 36) { + throw new RangeError("toString() radix argument must be between 2 and 36"); + } + if (!value) return "0"; + + let sign = u32(value >>> 63) << 1; + if (sign) value = -value; + let out: String; + + if (radix == 10) { + if (value <= u32.MAX_VALUE) { + let val32 = value; + let decimals = decimalCount32(val32); + out = changetype(__new((decimals << 1) + sign, idof())); + utoa32_dec_core(changetype(out) + sign, val32, decimals); + } else { + let decimals = decimalCount64High(value); + out = changetype(__new((decimals << 1) + sign, idof())); + utoa64_dec_core(changetype(out) + sign, value, decimals); + } + } else if (radix == 16) { + let decimals = (63 - u32(clz(value)) >> 2) + 1; + out = changetype(__new((decimals << 1) + sign, idof())); + utoa64_hex_core(changetype(out) + sign, value, decimals); + } else { + let decimals = ulog_base(value, radix); + out = changetype(__new((decimals << 1) + sign, idof())); + utoa64_any_core(changetype(out) + sign, value, decimals, radix); + } + if (sign) store(changetype(out), CharCode.MINUS); + return out; +} + +// @ts-ignore: decorator +@lazy let _K: i32 = 0; + +// // @ts-ignore: decorator +// @lazy +// let _frc: u64 = 0; + +// @ts-ignore: decorator +@lazy let _exp: i32 = 0; + +// @ts-ignore: decorator +@lazy let _frc_minus: u64 = 0; + +// @ts-ignore: decorator +@lazy let _frc_plus: u64 = 0; + +// @ts-ignore: decorator +@lazy let _frc_pow: u64 = 0; + +// @ts-ignore: decorator +@lazy let _exp_pow: i32 = 0; + +// @ts-ignore: decorator +@inline +function umul64f(u: u64, v: u64): u64 { + let u0 = u & 0xFFFFFFFF; + let v0 = v & 0xFFFFFFFF; + + let u1 = u >> 32; + let v1 = v >> 32; + + let l = u0 * v0; + let t = u1 * v0 + (l >> 32); + let w = u0 * v1 + (t & 0xFFFFFFFF); + + w += 0x7FFFFFFF; // rounding + + t >>= 32; + w >>= 32; + + return u1 * v1 + t + w; +} + +// @ts-ignore: decorator +@inline +function umul64e(e1: i32, e2: i32): i32 { + return e1 + e2 + 64; // where 64 is significand size +} + +// @ts-ignore: decorator +@inline +function normalizedBoundaries(f: u64, e: i32): void { + let frc = (f << 1) + 1; + let exp = e - 1; + let off = clz(frc); + frc <<= off; + exp -= off; + + let m = 1 + i32(f == 0x0010000000000000); + + _frc_plus = frc; + _frc_minus = ((f << m) - 1) << e - m - exp; + _exp = exp; +} + +// @ts-ignore: decorator +@inline +function grisuRound(buffer: usize, len: i32, delta: u64, rest: u64, ten_kappa: u64, wp_w: u64): void { + let lastp = buffer + ((len - 1) << 1); + let digit = load(lastp); + while ( + rest < wp_w && + delta - rest >= ten_kappa && ( + rest + ten_kappa < wp_w || + wp_w - rest > rest + ten_kappa - wp_w + ) + ) { + --digit; + rest += ten_kappa; + } + store(lastp, digit); +} + +// @ts-ignore: decorator +@inline +function getCachedPower(minExp: i32): void { + const c = reinterpret(0x3FD34413509F79FE); // 1 / lg(10) = 0.30102999566398114 + let dk = (-61 - minExp) * c + 347; // dk must be positive, so can do ceiling in positive + let k = dk; + k += i32(k != dk); // conversion with ceil + + let index = (k >> 3) + 1; + _K = 348 - (index << 3); // decimal exponent no need lookup table + _frc_pow = load(FRC_POWERS + (index << alignof())); + _exp_pow = load(EXP_POWERS + (index << alignof())); +} + +// @ts-ignore: decorator +@inline +function grisu2(value: f64, buffer: usize, sign: i32): i32 { + + // frexp routine + let uv = reinterpret(value); + let exp = i32((uv & 0x7FF0000000000000) >>> 52); + let sid = uv & 0x000FFFFFFFFFFFFF; + let frc = (u64(exp != 0) << 52) + sid; + exp = select(exp, 1, exp) - (0x3FF + 52); + + normalizedBoundaries(frc, exp); + getCachedPower(_exp); + + // normalize + let off = clz(frc); + frc <<= off; + exp -= off; + + let frc_pow = _frc_pow; + let exp_pow = _exp_pow; + + let w_frc = umul64f(frc, frc_pow); + let w_exp = umul64e(exp, exp_pow); + + let wp_frc = umul64f(_frc_plus, frc_pow) - 1; + let wp_exp = umul64e(_exp, exp_pow); + + let wm_frc = umul64f(_frc_minus, frc_pow) + 1; + let delta = wp_frc - wm_frc; + + return genDigits(buffer, w_frc, w_exp, wp_frc, wp_exp, delta, sign); +} + +function genDigits(buffer: usize, w_frc: u64, w_exp: i32, mp_frc: u64, mp_exp: i32, delta: u64, sign: i32): i32 { + let one_exp = -mp_exp; + let one_frc = (1) << one_exp; + let mask = one_frc - 1; + + let wp_w_frc = mp_frc - w_frc; + + let p1 = u32(mp_frc >> one_exp); + let p2 = mp_frc & mask; + + let kappa = decimalCount32(p1); + let len = sign; + + while (kappa > 0) { + let d: u32; + switch (kappa) { + case 10: { d = p1 / 1000000000; p1 %= 1000000000; break; } + case 9: { d = p1 / 100000000; p1 %= 100000000; break; } + case 8: { d = p1 / 10000000; p1 %= 10000000; break; } + case 7: { d = p1 / 1000000; p1 %= 1000000; break; } + case 6: { d = p1 / 100000; p1 %= 100000; break; } + case 5: { d = p1 / 10000; p1 %= 10000; break; } + case 4: { d = p1 / 1000; p1 %= 1000; break; } + case 3: { d = p1 / 100; p1 %= 100; break; } + case 2: { d = p1 / 10; p1 %= 10; break; } + case 1: { d = p1; p1 = 0; break; } + default: { d = 0; break; } + } + + if (d | len) store(buffer + (len++ << 1), CharCode._0 + d); + + --kappa; + let tmp = ((p1) << one_exp) + p2; + if (tmp <= delta) { + _K += kappa; + grisuRound(buffer, len, delta, tmp, load(POWERS10 + (kappa << alignof())) << one_exp, wp_w_frc); + return len; + } + } + + while (true) { + p2 *= 10; + delta *= 10; + + let d = p2 >> one_exp; + if (d | len) store(buffer + (len++ << 1), CharCode._0 + d); + + p2 &= mask; + --kappa; + if (p2 < delta) { + _K += kappa; + wp_w_frc *= load(POWERS10 + (-kappa << alignof())); + grisuRound(buffer, len, delta, p2, one_frc, wp_w_frc); + return len; + } + } +} + +// @ts-ignore: decorator +@inline +function genExponent(buffer: usize, k: i32): i32 { + let sign = k < 0; + if (sign) k = -k; + let decimals = decimalCount32(k) + 1; + utoa32_dec_core(buffer, k, decimals); + store(buffer, select(CharCode.MINUS, CharCode.PLUS, sign)); + return decimals; +} + +function prettify(buffer: usize, length: i32, k: i32): i32 { + if (!k) { + store(buffer + (length << 1), CharCode.DOT | (CharCode._0 << 16)); + return length + 2; + } + + let kk = length + k; + if (length <= kk && kk <= 21) { + // 1234e7 -> 12340000000 + for (let i = length; i < kk; ++i) { + store(buffer + (i << 1), CharCode._0); + } + store(buffer + (kk << 1), CharCode.DOT | (CharCode._0 << 16)); + return kk + 2; + } else if (kk > 0 && kk <= 21) { + // 1234e-2 -> 12.34 + let ptr = buffer + (kk << 1); + memory.copy( + ptr + 2, + ptr, + -k << 1 + ); + store(buffer + (kk << 1), CharCode.DOT); + return length + 1; + } else if (-6 < kk && kk <= 0) { + // 1234e-6 -> 0.001234 + let offset = 2 - kk; + memory.copy( + buffer + (offset << 1), + buffer, + length << 1 + ); + store(buffer, CharCode._0 | (CharCode.DOT << 16)); + for (let i = 2; i < offset; ++i) { + store(buffer + (i << 1), CharCode._0); + } + return length + offset; + } else if (length == 1) { + // 1e30 + store(buffer, CharCode.e, 2); + length = genExponent(buffer + 4, kk - 1); + return length + 2; + } else { + let len = length << 1; + memory.copy( + buffer + 4, + buffer + 2, + len - 2 + ); + store(buffer, CharCode.DOT, 2); + store(buffer + len, CharCode.e, 2); + length += genExponent(buffer + len + 4, kk - 1); + return length + 2; + } +} + +function dtoa_core(buffer: usize, value: f64): i32 { + let sign = i32(value < 0); + if (sign) { + value = -value; + store(buffer, CharCode.MINUS); + } + // assert(value > 0 && value <= 1.7976931348623157e308); + let len = grisu2(value, buffer, sign); + len = prettify(buffer + (sign << 1), len - sign, _K); + return len + sign; +} + +// @ts-ignore: decorator +@lazy @inline const dtoa_buf = memory.data(MAX_DOUBLE_LENGTH << 1); + +export function dtoa(value: f64): String { + if (value == 0) return "0.0"; + if (!isFinite(value)) { + if (isNaN(value)) return "NaN"; + return select("-Infinity", "Infinity", value < 0); + } + let size = dtoa_core(dtoa_buf, value) << 1; + let result = changetype(__new(size, idof())); + memory.copy(changetype(result), dtoa_buf, size); + return result; +} + +export function itoa_buffered(buffer: usize, value: T): u32 { + let sign: u32 = 0; + if (isSigned()) { + sign = u32(value < 0); + if (sign) { + if (sizeof() == 1) { + if (value == -0x80) { + // -0x80 -> -128 + store(buffer, + CharCode.MINUS | + (CharCode._0 + 1) << 16 | + (CharCode._0 + 2) << 32 | + (CharCode._0 + 8) << 48 + ); + return 4; + } + } + if (sizeof() == 2) { + if (value == -0x8000) { + // -0x8000 -> -32768 + store(buffer, + CharCode.MINUS | + (CharCode._0 + 3) << 16 | + (CharCode._0 + 2) << 32 | + (CharCode._0 + 7) << 48 + ); // -327 + store(buffer + 8, + (CharCode._0 + 6) << 0 | + (CharCode._0 + 8) << 16 + ); // 68 + return 6; + } + } + store(buffer, CharCode.MINUS); + // @ts-ignore + value = -value; + } + } + let dest = buffer + (sign << 1); + if (ASC_SHRINK_LEVEL <= 1) { + if (isSigned()) { + if (sizeof() <= 4) { + if (value < 10) { + store(dest, value | CharCode._0); + return 1 + sign; + } + } else { + if (value < 10) { + store(dest, value | CharCode._0); + return 1 + sign; + } + } + } else { + if (value < 10) { + store(buffer, value | CharCode._0); + return 1; + } + } + } + let decimals: u32 = 0; + if (sizeof() <= 4) { + let val32 = value; + decimals = decimalCount32(val32); + utoa32_dec_core(dest, val32, decimals); + } else { + if (value <= u32.MAX_VALUE) { + let val32 = value; + decimals = decimalCount32(val32); + utoa32_dec_core(dest, val32, decimals); + } else { + let val64 = value; + decimals = decimalCount64High(val64); + utoa64_dec_core(dest, val64, decimals); + } + } + return sign + decimals; +} + +export function dtoa_buffered(buffer: usize, value: f64): u32 { + if (value == 0) { + store(buffer, CharCode._0); + store(buffer, CharCode.DOT, 2); + store(buffer, CharCode._0, 4); + return 3; + } + if (!isFinite(value)) { + if (isNaN(value)) { + store(buffer, CharCode.N); + store(buffer, CharCode.a, 2); + store(buffer, CharCode.N, 4); + return 3; + } else { + let sign = value < 0; + if (sign) { + store(buffer, CharCode.MINUS); // - + buffer += 2; + } + store(buffer, 0x690066006E0049, 0); // ifnI + store(buffer, 0x7900740069006E, 8); // ytin + return 8 + u32(sign); + } + } + return dtoa_core(buffer, value); +} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/util/sort.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/util/sort.ts new file mode 100644 index 00000000..ed1822e9 --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/std/assembly/util/sort.ts @@ -0,0 +1,313 @@ +import { compareImpl } from "./string"; + +type Comparator = (a: T, b: T) => i32; + +// @ts-ignore: decorator +@lazy @inline const EMPTY = u32.MAX_VALUE; +// @ts-ignore: decorator +@inline const INSERTION_SORT_THRESHOLD = 48; +// @ts-ignore: decorator +@inline const MIN_RUN_LENGTH = 32; + +// @ts-ignore: decorator +@inline +function log2u(n: u32): u32 { + return 31 - clz(n); +} + +// @ts-ignore: decorator +@inline +export function COMPARATOR(): Comparator { + if (isInteger()) { + if (isSigned() && sizeof() <= 4) { + return (a, b) => i32(a) - i32(b); + } else { + return (a, b) => i32(a > b) - i32(a < b); + } + } else if (isFloat()) { + if (sizeof() == 4) { + return (a, b) => { + let ia = reinterpret(f32(a)); + let ib = reinterpret(f32(b)); + ia ^= ia >> 31 >>> 1; + ib ^= ib >> 31 >>> 1; + return i32(ia > ib) - i32(ia < ib); + }; + } else { + return (a, b) => { + let ia = reinterpret(f64(a)); + let ib = reinterpret(f64(b)); + ia ^= ia >> 63 >>> 1; + ib ^= ib >> 63 >>> 1; + return i32(ia > ib) - i32(ia < ib); + }; + } + } else if (isString()) { + return (a, b) => { + if ( + changetype(a) == changetype(b) || + changetype(a) == 0 || + changetype(b) == 0 + ) return 0; + let alen = changetype(a).length; + let blen = changetype(b).length; + if (!(alen | blen)) return 0; + if (!alen) return -1; + if (!blen) return 1; + let res = compareImpl( + changetype(a), 0, + changetype(b), 0, + min(alen, blen) + ); + return res ? res : alen - blen; + }; + } else { + return (a, b) => i32(a > b) - i32(a < b); + } +} + +// Power Sort implementation (stable) from paper "Nearly-Optimal Mergesorts" +// https://arxiv.org/pdf/1805.04154.pdf +// This method usually outperform TimSort. +// TODO: refactor c >>> 31 to c < 0 when binaryen will support this opt +export function SORT( + ptr: usize, + len: i32, + comparator: Comparator +): void { + if (len <= INSERTION_SORT_THRESHOLD) { + if (len <= 1) return; + if (ASC_SHRINK_LEVEL < 1) { + switch (len) { + case 3: { + let a = load(ptr, 0); + let b = load(ptr, 1 << alignof()); + let c = comparator(a, b) > 0; + store(ptr, select(b, a, c), 0); + a = select(a, b, c); + b = load(ptr, 2 << alignof()); + c = comparator(a, b) > 0; + store(ptr, select(b, a, c), 1 << alignof()); + store(ptr, select(a, b, c), 2 << alignof()); + } + case 2: { + let a = load(ptr, 0); + let b = load(ptr, 1 << alignof()); + let c = comparator(a, b) > 0; + store(ptr, select(b, a, c), 0); + store(ptr, select(a, b, c), 1 << alignof()); + return; + } + } + } + insertionSort(ptr, 0, len - 1, 0, comparator); + return; + } + + let lgPlus2 = log2u(len) + 2; + let lgPlus2Size = lgPlus2 << alignof(); + let leftRunStartBuf = __alloc(lgPlus2Size << 1); + let leftRunEndBuf = leftRunStartBuf + lgPlus2Size; + + for (let i: u32 = 0; i < lgPlus2; ++i) { + store(leftRunStartBuf + (i << alignof()), EMPTY); + } + + let buffer = __alloc(len << alignof()); + + let hi = len - 1; + let endA = extendRunRight(ptr, 0, hi, comparator); + let lenA = endA + 1; + + if (lenA < MIN_RUN_LENGTH) { + endA = min(hi, MIN_RUN_LENGTH - 1); + insertionSort(ptr, 0, endA, lenA, comparator); + } + + let top: u32 = 0, startA = 0; + while (endA < hi) { + let startB = endA + 1; + let endB = extendRunRight(ptr, startB, hi, comparator); + let lenB = endB - startB + 1; + + if (lenB < MIN_RUN_LENGTH) { + endB = min(hi, startB + MIN_RUN_LENGTH - 1); + insertionSort(ptr, startB, endB, lenB, comparator); + } + + let k = nodePower(0, hi, startA, startB, endB); + + for (let i = top; i > k; --i) { + let start = load(leftRunStartBuf + (i << alignof())); + if (start != EMPTY) { + mergeRuns( + ptr, + start, + load(leftRunEndBuf + (i << alignof())) + 1, + endA, + buffer, + comparator + ); + startA = start; + store(leftRunStartBuf + (i << alignof()), EMPTY); + } + } + + store(leftRunStartBuf + (k << alignof()), startA); + store(leftRunEndBuf + (k << alignof()), endA); + startA = startB; + endA = endB; + top = k; + } + + for (let i = top; i != 0; --i) { + let start = load(leftRunStartBuf + (i << alignof())); + if (start != EMPTY) { + mergeRuns( + ptr, + start, + load(leftRunEndBuf + (i << alignof())) + 1, + hi, + buffer, + comparator + ); + } + } + // dealloc aux buffers + __free(buffer); + __free(leftRunStartBuf); +} + +function insertionSort( + ptr: usize, + left: i32, + right: i32, + presorted: i32, + comparator: Comparator +): void { + if (ASC_SHRINK_LEVEL >= 1) { + // slightly improved original insertion sort + for (let i = left + presorted; i <= right; ++i) { + let j = i - 1; + let a = load(ptr + (i << alignof())); + while (j >= left) { + let b = load(ptr + (j << alignof())); + if (comparator(a, b) < 0) { + store(ptr + (j << alignof()), b, 1 << alignof()); --j; + } else break; + } + store(ptr + (j << alignof()), a, 1 << alignof()); + } + } else { + // even-odd two-way insertion sort which allow increase minRunLen + let range = right - left + 1; + let i = left + select(range & 1, presorted - ((range - presorted) & 1), presorted == 0); + for (; i <= right; i += 2) { + let a = load(ptr + (i << alignof()), 0); + let b = load(ptr + (i << alignof()), 1 << alignof()); + let min = b, max = a; + if (comparator(a, b) <= 0) { + min = a, max = b; + } + let j = i - 1; + while (j >= left) { + a = load(ptr + (j << alignof())); + if (comparator(a, max) > 0) { + store(ptr + (j << alignof()), a, 2 << alignof()); --j; + } else break; + } + store(ptr + (j << alignof()), max, 2 << alignof()); + while (j >= left) { + a = load(ptr + (j << alignof())); + if (comparator(a, min) > 0) { + store(ptr + (j << alignof()), a, 1 << alignof()); --j; + } else break; + } + store(ptr + (j << alignof()), min, 1 << alignof()); + } + } +} + +function nodePower(left: u32, right: u32, startA: u32, startB: u32, endB: u32): u32 { + let n: u64 = right - left + 1; + let s = startB - (left << 1); + let l = startA + s; + let r = endB + s + 1; + let a = (l << 30) / n; + let b = (r << 30) / n; + return clz((a ^ b)); +} + +function extendRunRight( + ptr: usize, + i: i32, + right: i32, + comparator: Comparator +): i32 { + if (i == right) return i; + let j = i; + if (comparator( + load(ptr + ( j << alignof())), + load(ptr + (++j << alignof())) + ) > 0) { + while ( + j < right && + (comparator( + load(ptr + (j << alignof()), 1 << alignof()), + load(ptr + (j << alignof())) + ) >>> 31) // < 0 + ) ++j; + // reverse + let k = j; + while (i < k) { + let tmp = load(ptr + (i << alignof())); + store(ptr + (i << alignof()), load(ptr + (k << alignof()))); ++i; + store(ptr + (k << alignof()), tmp); --k; + } + } else { + while ( + j < right && + comparator( + load(ptr + (j << alignof()), 1 << alignof()), + load(ptr + (j << alignof())) + ) >= 0 + ) ++j; + } + return j; +} + +// Merges arr[l..m - 1] and arr[m..r] +function mergeRuns( + ptr: usize, + l: i32, + m: i32, + r: i32, + buffer: usize, + comparator: Comparator +): void { + --m; + let i: i32, j: i32, t = r + m; + for (i = m + 1; i > l; --i) { + store( + buffer + ((i - 1) << alignof()), + load(ptr + ((i - 1) << alignof())) + ); + } + for (j = m; j < r; ++j) { + store( + buffer + ((t - j) << alignof()), + load(ptr + (j << alignof()), 1 << alignof()) + ); + } + for (let k = l; k <= r; ++k) { + let a = load(buffer + (j << alignof())); + let b = load(buffer + (i << alignof())); + if (comparator(a, b) < 0) { + store(ptr + (k << alignof()), a); + --j; + } else { + store(ptr + (k << alignof()), b); + ++i; + } + } +} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/util/string.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/util/string.ts new file mode 100644 index 00000000..8e8ba1d7 --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/std/assembly/util/string.ts @@ -0,0 +1,1202 @@ +import { + itoa32, + utoa32, + itoa64, + utoa64, + dtoa, + itoa_buffered, + dtoa_buffered, + MAX_DOUBLE_LENGTH +} from "./number"; + +import { + ipow32 +} from "../math"; + +// All tables are stored as two staged lookup tables (static tries) +// because the full range of Unicode symbols can't be efficiently +// represented as-is in memory (see Unicode spec ch 5, p.196): +// https://www.unicode.org/versions/Unicode12.0.0/ch05.pdf +// Tables have been generated using these forked musl tools: +// https://github.com/MaxGraey/musl-chartable-tools/tree/case-ignorable + +// Lookup table to check if a character is alphanumeric or not +// See: https://git.musl-libc.org/cgit/musl/tree/src/ctype/alpha.h +// size: 3904 bytes +// @ts-ignore +@inline @lazy const ALPHA_TABLE = memory.data([ + 18,17,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,17,34,35,36,17,37,38,39,40, + 41,42,43,44,17,45,46,47,16,16,48,16,16,16,16,16,16,16,49,50,51,16,52,53,16,16, + 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,54, + 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, + 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, + 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, + 17,17,17,55,17,17,17,17,56,17,57,58,59,60,61,62,17,17,17,17,17,17,17,17,17,17, + 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, + 17,17,17,17,17,17,17,63,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,17,64,65,17,66,67, + 68,69,70,71,72,73,74,17,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92, + 93,94,16,95,96,97,98,17,17,17,99,100,101,16,16,16,16,16,16,16,16,16,16,17,17, + 17,17,102,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,17,17,103,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,17,17,104,105,16,16,106,107,17,17,17,17,17,17,17,17,17,17,17,17,17, + 17,17,17,17,17,17,17,17,17,17,108,17,17,17,17,109,110,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 17,111,112,16,16,16,16,16,16,16,16,16,113,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,114,115,116,117,16,16,16,16,16,16,16,16,118, + 119,120,16,16,16,16,16,121,122,16,16,16,16,123,16,16,124,16,16,16,16,16,16,16, + 16,16,125,16,16,16, + 16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255, + 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, + 255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,254,255,255,7,254, + 255,255,7,0,0,0,0,0,4,32,4,255,255,127,255,255,255,127,255,255,255,255,255, + 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, + 255,195,255,3,0,31,80,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,223,188,64,215,255,255, + 251,255,255,255,255,255,255,255,255,255,191,255,255,255,255,255,255,255,255, + 255,255,255,255,255,255,255,255,255,3,252,255,255,255,255,255,255,255,255,255, + 255,255,255,255,255,255,255,255,255,255,255,254,255,255,255,127,2,255,255,255, + 255,255,1,0,0,0,0,255,191,182,0,255,255,255,135,7,0,0,0,255,7,255,255,255,255, + 255,255,255,254,255,195,255,255,255,255,255,255,255,255,255,255,255,255,239, + 31,254,225,255, + 159,0,0,255,255,255,255,255,255,0,224,255,255,255,255,255,255,255,255,255,255, + 255,255,3,0,255,255,255,255,255,7,48,4,255,255,255,252,255,31,0,0,255,255,255, + 1,255,7,0,0,0,0,0,0,255,255,223,255,255,0,240,255,248,3,255,255,255,255,255, + 255,255,255,255,239,255,223,225,255,207,255,254,255,239,159,249,255,255,253, + 197,227,159,89,128,176,207,255,3,16,238,135,249,255,255,253,109,195,135,25,2, + 94,192,255,63,0,238,191,251,255,255,253,237,227,191,27,1,0,207,255,0,30,238, + 159,249,255,255,253,237,227,159,25,192,176,207,255,2,0,236,199,61,214,24,199, + 255,195,199,29,129,0,192,255,0,0,239,223,253,255,255,253,255,227,223,29,96,7, + 207,255,0,0,239,223,253,255,255,253,239,227,223,29,96,64,207,255,6,0,255,223, + 253,255,255,255,255,231,223,93,240,128,207,255,0,252,238,255,127,252,255,255, + 251,47,127,128,95,255,192,255,12,0,254,255,255,255,255,127,255,7,63,32,255,3, + 0,0,0,0,214,247,255,255,175,255,255,59,95,32,255,243,0,0,0, + 0,1,0,0,0,255,3,0,0,255,254,255,255,255,31,254,255,3,255,255,254,255,255,255, + 31,0,0,0,0,0,0,0,0,255,255,255,255,255,255,127,249,255,3,255,255,255,255,255, + 255,255,255,255,63,255,255,255,255,191,32,255,255,255,255,255,247,255,255,255, + 255,255,255,255,255,255,61,127,61,255,255,255,255,255,61,255,255,255,255,61, + 127,61,255,127,255,255,255,255,255,255,255,61,255,255,255,255,255,255,255,255, + 7,0,0,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,63,63,254,255, + 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, + 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, + 255,255,255,255,255,159,255,255,254,255,255,7,255,255,255,255,255,255,255,255, + 255,199,255,1,255,223,15,0,255,255,15,0,255,255,15,0,255,223,13,0,255,255,255, + 255,255,255,207,255,255,1,128,16,255,3,0,0,0,0,255,3,255,255,255,255,255,255, + 255,255,255,255,255,1,255,255,255,255,255,7,255,255,255,255,255,255,255,255, + 63, + 0,255,255,255,127,255,15,255,1,192,255,255,255,255,63,31,0,255,255,255,255, + 255,15,255,255,255,3,255,3,0,0,0,0,255,255,255,15,255,255,255,255,255,255,255, + 127,254,255,31,0,255,3,255,3,128,0,0,128,1,0,0,0,0,0,0,0,255,255,255,255,255, + 255,239,255,239,15,255,3,0,0,0,0,255,255,255,255,255,243,255,255,255,255,255, + 255,191,255,3,0,255,255,255,255,255,255,127,0,255,227,255,255,255,255,255,63, + 255,1,255,255,255,255,255,231,0,0,0,0,0,222,111,4,255,255,255,255,255,255,255, + 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0, + 128,255,31,0,255,255,63,63,255,255,255,255,63,63,255,170,255,255,255,63,255, + 255,255,255,255,255,223,95,220,31,207,15,255,31,220,31,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,2,128,0,0,255,31,0,0,0,0,0,0,0,0,0,0,0,0,132,252,47,62,80,189,255,243, + 224,67,0,0,255,255,255,255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,255,255,255,255,255,255,3,0, + 0,255,255,255,255,255,127,255,255,255,255,255,127,255,255,255,255,255,255,255, + 255,255,255,255,255,255,255,255,255,31,120,12,0,255,255,255,255,191,32,255, + 255,255,255,255,255,255,128,0,0,255,255,127,0,127,127,127,127,127,127,127,127, + 255,255,255,255,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,224,0,0,0,254,3,62,31,254,255,255,255,255,255,255,255,255,255,127,224,254, + 255,255,255,255,255,255,255,255,255,255,247,224,255,255,255,255,255,254,255, + 255,255,255,255,255,255,255,255,255,127,0,0,255,255,255,255,0,0,0,0,0,0,255, + 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, + 255,255,255,255,255,255,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255, + 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, + 255,255,255, + 31,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,0,0, + 0,0,0,0,0,0,255,255,255,255,255,63,255,31,255,255,255,15,0,0,255,255,255,255, + 255,127,240,143,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0, + 0,128,255,252,255,255,255,255,255,255,255,255,255,255,255,255,249,255,255,255, + 255,255,255,252,7,0,0,0,0,224,255,191,255,255,255,255,0,0,0,255,255,255,255, + 255,255,15,0,255,255,255,255,255,255,255,255,47,0,255,3,0,0,252,232,255,255, + 255,255,255,7,255,255,255,255,7,0,255,255,255,31,255,255,255,255,255,255,247, + 255,0,128,255,3,255,255,255,127,255,255,255,255,255,255,127,0,255,63,255,3, + 255,255,127,252,255,255,255,255,255,255,255,127,5,0,0,56,255,255,60,0,126,126, + 126,0,127,127,255,255,255,255,255,247,255,3,255,255,255,255,255,255,255,255, + 255,255,255,255,255,255,255,7,255,3,255,255,255,255,255,255,255,255,255,255, + 255,255,255,255,255,255,255,255,255,255,15,0,255,255,127,248,255,255,255,255, + 255, + 15,255,255,255,255,255,255,255,255,255,255,255,255,255,63,255,255,255,255,255, + 255,255,255,255,255,255,255,255,3,0,0,0,0,127,0,248,224,255,253,127,95,219, + 255,255,255,255,255,255,255,255,255,255,255,255,255,3,0,0,0,248,255,255,255, + 255,255,255,255,255,255,255,255,255,63,0,0,255,255,255,255,255,255,255,255, + 252,255,255,255,255,255,255,0,0,0,0,0,255,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,223, + 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,0,0,255,3, + 254,255,255,7,254,255,255,7,192,255,255,255,255,255,255,255,255,255,255,127, + 252,252,252,28,0,0,0,0,255,239,255,255,127,255,255,183,255,63,255,63,0,0,0,0, + 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,7,0,0,0,0,0,0,0,0, + 255,255,255,255,255,255,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,255,255,255,31,255,255,255,255,255,255,1,0,0,0,0, + 0,255,255,255,255,0,224,255,255,255,7,255,255,255,255,255,7,255,255,255,63, + 255,255,255,255,15,255,62,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255, + 255,255,255,255,255,255,255,255,255,63,255,3,255,255,255,255,15,255,255,255, + 255,15,255,255,255,255,255,0,255,255,255,255,255,255,15,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,255,255,255,255,255,255,127,0,255,255,63,0,255,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,63,253,255,255,255,255,191,145,255,255,63,0,255,255, + 127,0,255,255,255,127,0,0,0,0,0,0,0,0,255,255,55,0,255,255,63,0,255,255,255,3, + 0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,192,0,0,0,0,0,0,0,0,111,240,239, + 254,255,255,63,0,0,0,0,0,255,255,255,31,255,255,255,31,0,0,0,0,255,254,255, + 255,31,0,0,0,255,255,255,255,255,255,63,0,255,255,63,0,255,255,7,0,255,255,3, + 0,0,0,0,0,0,0,0,0,0,0,0, + 0,255,255,255,255,255,255,255,255,255,1,0,0,0,0,0,0,255,255,255,255,255,255,7, + 0,255,255,255,255,255,255,7,0,255,255,255,255,255,0,255,3,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255, + 255,27,3,0,0,0,0,0,0,0,0,0,255,255,255,31,128,0,255,255,63,0,0,0,0,0,0,0,0,0, + 0,0,0,0,255,255,31,0,0,0,255,255,127,0,255,255,255,255,255,255,255,255,63,0,0, + 0,192,255,0,0,252,255,255,255,255,255,255,1,0,0,255,255,255,1,255,3,255,255, + 255,255,255,255,199,255,240,0,255,255,255,255,71,0,255,255,255,255,255,255, + 255,255,30,192,255,23,0,0,0,0,255,255,251,255,255,255,159,64,0,0,0,0,0,0,0,0, + 127,189,255,191,255,1,255,255,255,255,255,255,255,1,255,3,239,159,249,255,255, + 253,237,227,159,25,129,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,255,255,255,255,255,255,255,255,187,7,255,131,3,0,0,0,255,255,255,255,255, + 255,255,255,179,0,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255, + 255,255,255,63,127,0,0,0,63,0,0,0,0,255,255,255,255,255,255,255,127,17,0,255, + 3,0,0,0,0,255,255,255,255,255,255,63,1,255,3,0,0,0,0,0,0,255,255,255,231,255, + 7,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255, + 255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,3,0,128, + 127,242,111,255,255,255,191,153,7,0,255,3,0,0,0,0,0,0,0,0,255,252,255,255,255, + 255,255,252,26,0,0,0,255,255,255,255,255,255,231,127,0,0,255,255,255,255,255, + 255,255,255,255,32,0,0,0,0,255,255,255,255,255,255,255,1,255,253,255,255,255, + 255,127,127,1,0,255,3,0,0,252,255,255,255,252,255,255,254,127,0,0,0,0,0,0,0,0, + 0,127,251,255,255,255,255,127,180,203,0,255,3,191,253,255,255,255,127,123,1, + 255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, + 0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, + 255,3,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255, + 255,127,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, + 255,255,255,255,255,255,255,255,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,255,255,255,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,255,255,255,255,255,255,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0, + 0,255,255,255,255,255,255,255,1,255,255,255,127,255,3,0,0,0,0,0,0,0,0,0,0,0,0, + 255,255,255,63,0,0,255,255,255,255,255,255,0,0,15,0,255,3,248,255,255,224,255, + 255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255, + 255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,135, + 255,255,255,255,255,255,255,128,255,255,0,0,0,0,0,0,0,0,11,0,3,0,255,255,255, + 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, + 255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255, + 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,0,0,0,0,0, + 255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255, + 127,0,0,0,0,0,0,7,0,240,0,255,255,255,255,255,255,255,255,255,255,255,255,255, + 255,255,255,255, + 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, + 255,255,255,255,255,255,255,255,255,255,255,255,255,15,255,255,255,255,255, + 255,255,255,255,255,255,255,255,7,255,31,255,1,255,67,0,0,0,0,0,0,0,0,0,0,0,0, + 255,255,255,255,255,255,255,255,255,255,223,255,255,255,255,255,255,255,255, + 223,100,222,255,235,239,255,255,255,255,255,255,255,191,231,223,223,255,255, + 255,123,95,252,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255, + 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, + 255,255,255,255,255,255,255,255,63,255,255,255,253,255,255,247,255,255,255, + 247,255,255,223,255,255,255,223,255,255,127,255,255,255,127,255,255,255,253, + 255,255,255,253,255,255,247,207,255,255,255,255,255,255,127,255,255,249,219,7, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,31, + 128,63,255,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,15,255, + 3,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, + 255,255,255,255,255,31,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,143,8, + 255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,239,255,255,255,150,254,247,10, + 132,234,150,170,150,247,247,94,255,251,255,15,238,251,255,15,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,255,255,255,3,255,255,255,3,255,255,255,3,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,3 +]); + +// size: 1568 bytes (compressed to ~1380 bytes after binaryen) +// @ts-ignore: decorator +@lazy @inline const CASED = memory.data([ + 18,19,20,21,22,23,16,16,16,16,16,16,16,16,16,16, + 24,16,16,25,16,16,16,16,16,16,16,16,26,27,17,28, + 29,30,16,16,31,16,16,16,16,16,16,16,32,33,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,34,35,16,16,16,36,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,37,16,16,16,38, + 16,16,16,16,39,16,16,16,16,16,16,16,40,16,16,16, + 16,16,16,16,16,16,16,16,41,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,42,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,43,44,45,46,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,47,16,16,16,16,16,16, + 16,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, + 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, + 0,0,0,0,0,0,0,0,254,255,255,7,254,255,255,7,0,0,0,0,0,4,32,4, + 255,255,127,255,255,255,127,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, + 255,255,255,255,255,255,255,247,240,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, + 255,255,255,255,255,255,255,255,255,255,239,255,255,255,255,1,3,0,0,0,31,0,0,0, + 0,0,0,0,0,0,0,0,32,0,0,0,0,0,207,188,64,215,255,255,251,255,255,255, + 255,255,255,255,255,255,191,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, + 3,252,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,255, + 255,255,127,0,255,255,255,255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255, + 191,32,255,255,255,255,255,231,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,255,255,255,255,255,255,255,255,255,255,63,63,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,255,1,255,255,255,255,255,231,0,0,0,0,0,0,0,0, + 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, + 0,0,0,0,0,0,0,0,255,255,63,63,255,255,255,255,63,63,255,170,255,255,255,63, + 255,255,255,255,255,255,223,95,220,31,207,15,255,31,220,31,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,2,128,0,0,255,31,0,0,0,0,0,0,0,0,0,0,0,0, + 132,252,47,62,80,189,31,242,224,67,0,0,255,255,255,255,24,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,192,255,255,255,255,255,255,3,0,0,255,255,255,255,255,127,255,255, + 255,255,255,127,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,120,12,0, + 255,255,255,255,191,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,63,0,0, + 255,255,255,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,255,255,255, + 255,255,255,255,255,255,255,255,255,120,255,255,255,255,255,255,252,7,0,0,0,0,96,7, + 0,0,0,0,0,0,255,255,255,255,255,247,255,1,255,255,255,255,255,255,255,255,255,255, + 0,0,0,0,0,0,0,0,127,0,248,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,255,255,7, + 254,255,255,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255, + 255,255,15,255,255,255,255,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 255,255,255,255,255,255,7,0,255,255,255,255,255,255,7,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0, + 0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,223,255,255,255,255,255, + 255,255,255,223,100,222,255,235,239,255,255,255,255,255,255,255,191,231,223,223,255,255,255,123, + 95,252,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, + 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,255,255,255, + 253,255,255,247,255,255,255,247,255,255,223,255,255,255,223,255,255,127,255,255,255,127,255,255, + 255,253,255,255,255,253,255,255,247,15,0,0,0,0,0,0,255,255,255,255,255,255,255,255, + 15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,255,255,255,3,255,255,255,3,255,255,255,3,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0 +]); + +// size: 2976 bytes (compressed to ~2050 bytes after binaryen) +// @ts-ignore: decorator +@lazy @inline const CASE_IGNORABLES = memory.data([ + 18,16,19,20,21,22,23,24,25,26,27,28,29,30,31,32, + 33,16,16,34,16,16,16,35,36,37,38,39,40,41,16,42, + 43,16,16,16,16,16,16,16,16,16,16,16,44,45,46,16, + 47,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 48,16,16,16,49,16,50,51,52,53,54,55,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,56,16,16,57,58, + 16,59,60,61,16,16,16,16,16,16,62,16,16,63,64,65, + 66,67,68,69,70,71,72,73,74,75,76,16,77,78,79,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,80,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,81,82,16,16,16,83, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,84,16,16,16, + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, + 16,85,86,16,16,16,16,16,16,16,87,16,16,16,16,16, + 88,89,90,16,16,16,16,16,91,92,16,16,16,16,16,16, + 16,16,16,93,16,16,16,16,16,16,16,16,16,16,16,16, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, + 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, + 0,0,0,0,128,64,0,4,0,0,0,64,1,0,0,0,0,0,0,0,0,161,144,1, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, + 255,255,255,255,255,255,48,4,176,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,3,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,130,0,0,0,0, + 0,0,254,255,255,255,255,191,182,0,0,0,0,0,16,0,63,0,255,23,0,0,0,0, + 1,248,255,255,0,0,1,0,0,0,0,0,0,0,0,0,0,0,192,191,255,61,0,0, + 0,128,2,0,0,0,255,255,255,7,0,0,0,0,0,0,0,0,0,0,192,255,1,0, + 0,0,0,0,0,248,63,36,0,0,192,255,255,63,0,0,0,0,0,14,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,248,255,255,255,255,255,7,0,0,0,0,0,0,20, + 254,33,254,0,12,0,2,0,2,0,0,0,0,0,0,16,30,32,0,0,12,0,0,64, + 6,0,0,0,0,0,0,16,134,57,2,0,0,0,35,0,6,0,0,0,0,0,0,16, + 190,33,0,0,12,0,0,252,2,0,0,0,0,0,0,144,30,32,96,0,12,0,0,0, + 4,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,17,0,0,0,0,0,0,192, + 193,61,96,0,12,0,0,0,2,0,0,0,0,0,0,144,64,48,0,0,12,0,0,0, + 3,0,0,0,0,0,0,24,30,32,0,0,12,0,0,0,2,0,0,0,0,0,0,0, + 0,4,92,0,0,0,0,0,0,0,0,0,0,0,242,7,192,127,0,0,0,0,0,0, + 0,0,0,0,0,0,242,31,64,63,0,0,0,0,0,0,0,0,0,3,0,0,160,2, + 0,0,0,0,0,0,254,127,223,224,255,254,255,255,255,31,64,0,0,0,0,0,0,0, + 0,0,0,0,0,224,253,102,0,0,0,195,1,0,30,0,100,32,0,32,0,0,0,0, + 0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,224,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,0,0,0,28,0, + 0,0,12,0,0,0,12,0,0,0,0,0,0,0,176,63,64,254,143,32,0,0,0,0, + 0,120,0,0,0,0,0,0,8,0,0,0,0,0,0,0,96,0,0,0,0,2,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,135,1,4,14,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,9,0,0,0,0, + 0,0,64,127,229,31,248,159,0,0,0,0,128,0,255,255,1,0,0,0,0,0,0,0, + 15,0,0,0,0,0,208,23,4,0,0,0,0,248,15,0,3,0,0,0,60,59,0,0, + 0,0,0,0,64,163,3,0,0,0,0,0,0,240,207,0,0,0,0,0,0,0,0,63, + 0,0,0,0,0,0,0,0,0,0,247,255,253,33,16,3,0,0,0,0,0,240,255,255, + 255,255,255,255,255,7,0,1,0,0,0,248,255,255,255,255,255,255,255,255,255,255,255,251, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160, + 3,224,0,224,0,224,0,96,0,248,0,3,144,124,0,0,0,0,0,0,223,255,2,128, + 0,0,255,31,0,0,0,0,0,0,255,255,255,255,1,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,0,0,0,0,0,0,128,3,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,128,0,128,0,0,0,0,0,0,0,0, + 0,0,0,0,255,255,255,255,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,60,62,8, + 0,0,0,0,0,0,0,0,0,0,0,126,0,0,0,0,0,0,0,0,0,0,0,112, + 0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,0,16,0,0,0,0,0,0, + 0,0,0,0,0,128,247,191,0,0,0,240,0,0,0,0,0,0,0,0,0,0,3,0, + 255,255,255,255,3,0,0,0,0,0,0,0,0,0,1,0,0,7,0,0,0,0,0,0, + 0,0,0,0,0,0,0,3,68,8,0,0,96,16,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,48,0,0,0,255,255,3,128,0,0,0,0,192,63,0,0, + 128,255,3,0,0,0,0,0,7,0,0,0,0,0,200,51,0,128,0,0,96,0,0,0, + 0,0,0,0,0,126,102,0,8,16,0,0,0,0,1,16,0,0,0,0,0,0,157,193, + 2,0,0,32,0,48,88,0,0,0,0,0,0,0,0,0,0,0,0,248,0,14,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,32,33,0,0,0,0,0,64,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,255,3,0,0,0,0,0,0,0, + 255,255,8,0,255,255,0,0,0,0,36,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,128,128,64,0,4,0,0,0,64,1,0,0,0,0,0,1,0, + 0,0,0,192,0,0,0,0,0,0,0,0,8,0,0,14,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,7, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,110,240,0,0,0,0,0,135, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,0,0,0, + 0,0,0,0,240,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 192,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 2,0,0,0,0,0,0,255,127,0,0,0,0,0,0,128,3,0,0,0,0,0,120,38, + 0,32,0,0,0,0,0,0,7,0,0,0,128,239,31,0,0,0,0,0,0,0,8,0, + 3,0,0,0,0,0,192,127,0,158,0,0,0,0,0,0,0,0,0,0,0,128,211,64, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,248,7,0,0, + 3,0,0,0,0,0,0,24,1,0,0,0,192,31,31,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,92,0,0,64,0,0,0,0, + 0,0,0,0,0,0,248,133,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,176,1,0,0,48,0,0,0,0, + 0,0,0,0,0,0,248,167,1,0,0,0,0,0,0,0,0,0,0,0,0,40,191,0, + 0,0,0,0,0,0,0,0,0,0,0,224,188,15,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,255,6, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,88,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,240,12,1,0,0,0,254,7,0,0,0,0,248,121,128,0,126,14,0,0,0,0, + 0,252,127,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,127,191, + 0,0,0,0,0,0,0,0,0,0,252,255,255,252,109,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,126,180,191,0,0,0,0,0,0,0,0,0,163,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,255,1, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,31,0,0,0,0,0,0,0,127,0,15,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,128,0,0,0,0,0,0,0,128,255,255,0,0,0,0,0,0,0,0,27,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,15,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,3,248,255, + 231,15,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 255,255,255,255,255,255,127,248,255,255,255,255,255,31,32,0,16,0,0,248,254,255,0,0, + 0,0,0,0,0,0,0,0,127,255,255,249,219,7,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,63, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,240,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,127,0,0,0,0,0,0,0,0,0,0,0,0,0, + 240,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,248 +]); + +// @ts-ignore: decorator +@lazy @inline const LOWER127 = memory.data([ + 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15, + 16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31, + 32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47, + 48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63, + 64, + 97,98,99,100,101,102,103,104,105,106,107,108,109, + 110,111,112,113,114,115,116,117,118,119,120,121,122, + 91,92,93,94,95,96, + 97,98,99,100,101,102,103,104,105,106,107,108,109, + 110,111,112,113,114,115,116,117,118,119,120,121,122, + 123,124,125,126,127 +]); + +// @ts-ignore: decorator +@lazy @inline const UPPER127 = memory.data([ + 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15, + 16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31, + 32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47, + 48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63, + 64, + 65,66,67,68,69,70,71,72,73,74,75,76,77, + 78,79,80,81,82,83,84,85,86,87,88,89,90, + 91,92,93,94,95,96, + 65,66,67,68,69,70,71,72,73,74,75,76,77, + 78,79,80,81,82,83,84,85,86,87,88,89,90, + 123,124,125,126,127 +]); + +// 23 * 8 = 184 bytes +// @ts-ignore: decorator +@lazy @inline const POWERS10 = memory.data([ + 1e00, 1e01, 1e02, 1e03, 1e04, 1e05, 1e06, 1e07, 1e08, 1e09, + 1e10, 1e11, 1e12, 1e13, 1e14, 1e15, 1e16, 1e17, 1e18, 1e19, + 1e20, 1e21, 1e22 +]); + +// @ts-ignore: decorator +@inline +export const enum CharCode { + PERCENT = 0x25, + PLUS = 0x2B, + MINUS = 0x2D, + DOT = 0x2E, + _0 = 0x30, + _1 = 0x31, + _2 = 0x32, + _3 = 0x33, + _4 = 0x34, + _5 = 0x35, + _6 = 0x36, + _7 = 0x37, + _8 = 0x38, + _9 = 0x39, + A = 0x41, + B = 0x42, + E = 0x45, + I = 0x49, + N = 0x4E, + O = 0x4F, + X = 0x58, + Z = 0x5A, + a = 0x61, + b = 0x62, + e = 0x65, + n = 0x6E, + o = 0x6F, + u = 0x75, + x = 0x78, + z = 0x7A +} + +// @ts-ignore: decorator +@inline +export function isAscii(c: u32): bool { + return !(c >> 7); +} + +// @ts-ignore: decorator +@inline +export function isLower8(c: u32): bool { + return c - CharCode.a < 26; +} + +// @ts-ignore: decorator +@inline +export function isUpper8(c: u32): bool { + return c - CharCode.A < 26; +} + +export function isSpace(c: u32): bool { + if (c < 0x1680) { // < (1) + // , , , , , and + // (c == 0x20 || c == 0xA0) was optimized to (c | 0x80) == 0xA0 + return ((c | 0x80) == 0xA0) || (c - 0x09 <= 0x0D - 0x09); + } + if (c - 0x2000 <= 0x200A - 0x2000) return true; + switch (c) { + case 0x1680: // (1) + case 0x2028: // (2) + case 0x2029: // + case 0x202F: // + case 0x205F: // + case 0x3000: // + case 0xFEFF: return true; // + } + return false; +} + +export function isAlpha(c: u32): bool { + if (isAscii(c)) return (c | 32) - CharCode.a < 26; + if (c < 0x20000) { + // @ts-ignore: cast + return stagedBinaryLookup(ALPHA_TABLE, c); + } + return c < 0x2FFFE; +} + +// @ts-ignore: decorator +@inline +export function isCased(c: u32): bool { + // @ts-ignore: cast + return c < 0x1F18A && stagedBinaryLookup(CASED, c); +} + +// @ts-ignore: decorator +@inline +export function isCaseIgnorable(c: u32): bool { + // @ts-ignore: cast + return c < 0xE01F0 && stagedBinaryLookup(CASE_IGNORABLES, c); +} + +// @ts-ignore: decorator +@inline +export function isFinalSigma(buffer: usize, index: isize, len: isize): bool { + const lookaheadLimit = 30; // max lookahead limit + let found = false; + let pos = index; + let minPos = max(0, pos - lookaheadLimit); + while (pos > minPos) { + let c = codePointBefore(buffer, pos); + if (!isCaseIgnorable(c)) { + if (isCased(c)) { + found = true; + } else { + return false; + } + } + pos -= isize(c >= 0x10000) + 1; + } + if (!found) return false; + pos = index + 1; + let maxPos = min(pos + lookaheadLimit, len); + while (pos < maxPos) { + let c = load(buffer + (pos << 1)); + if (u32((c & 0xFC00) == 0xD800) & u32(pos + 1 != len)) { + let c1 = load(buffer + (pos << 1), 2); + if ((c1 & 0xFC00) == 0xDC00) { + c = (c - 0xD800 << 10) + (c1 - 0xDC00) + 0x10000; + } + } + if (!isCaseIgnorable(c)) { + return !isCased(c); + } + pos += isize(c >= 0x10000) + 1; + } + return true; +} + +// @ts-ignore: decorator +@inline +function codePointBefore(buffer: usize, index: isize): i32 { + if (index <= 0) return -1; + let c = load(buffer + (index - 1 << 1)); + if (u32((c & 0xFC00) == 0xDC00) & u32(index - 2 >= 0)) { + let c1 = load(buffer + (index - 2 << 1)); + if ((c1 & 0xFC00) == 0xD800) { + return ((c1 & 0x3FF) << 10) + (c & 0x3FF) + 0x10000; + } + } + return (c & 0xF800) == 0xD800 ? 0xFFFD : c; +} + +// Search routine for two-staged lookup tables +function stagedBinaryLookup(table: usize, c: u32): bool { + return ((load(table + (load(table + (c >>> 8)) << 5) + ((c & 255) >> 3)) >>> (c & 7)) & 1); +} + +export function compareImpl(str1: string, index1: usize, str2: string, index2: usize, len: usize): i32 { + let ptr1 = changetype(str1) + (index1 << 1); + let ptr2 = changetype(str2) + (index2 << 1); + if (ASC_SHRINK_LEVEL < 2) { + if (len >= 4 && !((ptr1 & 7) | (ptr2 & 7))) { + do { + if (load(ptr1) != load(ptr2)) break; + ptr1 += 8; + ptr2 += 8; + len -= 4; + } while (len >= 4); + } + } + while (len--) { + let a = load(ptr1); + let b = load(ptr2); + if (a != b) return a - b; + ptr1 += 2; + ptr2 += 2; + } + return 0; +} + +// @ts-ignore: decorator +@inline +export function toLower8(c: u32): u32 { + if (ASC_SHRINK_LEVEL > 0) { + return c | u32(isUpper8(c)) << 5; + } else { + return load(LOWER127 + c); + } +} + +// @ts-ignore: decorator +@inline +export function toUpper8(c: u32): u32 { + if (ASC_SHRINK_LEVEL > 0) { + return c & ~(u32(isLower8(c)) << 5); + } else { + return load(UPPER127 + c); + } +} + +/** Parses a string to an integer (usually), using the specified radix. */ +export function strtol(str: string, radix: i32 = 0): T { + let len = str.length; + if (!len) { + if (isFloat()) { + // @ts-ignore: cast + return NaN; + } else { + // @ts-ignore: cast + return 0; + } + } + + let ptr = changetype(str) /* + HEAD -> offset */; + let code = load(ptr); + + // trim white spaces + while (isSpace(code)) { + code = load(ptr += 2); + --len; + } + // determine sign + // @ts-ignore + let sign: T = 1; + if (code == CharCode.MINUS || code == CharCode.PLUS) { + if (!--len) { + if (isFloat()) { + // @ts-ignore: cast + return NaN; + } else { + // @ts-ignore: cast + return 0; + } + } + if (code == CharCode.MINUS) { + // @ts-ignore: type + sign = -1; + } + code = load(ptr += 2); + } + + // See https://tc39.es/ecma262/#sec-parseint-string-radix + if (radix) { + if (radix < 2 || radix > 36) { + if (isFloat()) { + // @ts-ignore: cast + return NaN; + } else { + // @ts-ignore: cast + return 0; + } + } + // handle case as parseInt("0xFF", 16) by spec + if (radix == 16) { + if ( + len > 2 && + code == CharCode._0 && + (load(ptr, 2) | 32) == CharCode.x + ) { + ptr += 4; len -= 2; + } + } + } else { + // determine radix by literal prefix + if (code == CharCode._0 && len > 2) { + switch (load(ptr, 2) | 32) { + case CharCode.b: { + ptr += 4; len -= 2; + radix = 2; + break; + } + case CharCode.o: { + ptr += 4; len -= 2; + radix = 8; + break; + } + case CharCode.x: { + ptr += 4; len -= 2; + radix = 16; + break; + } + } + } + if (!radix) radix = 10; + } + + // calculate value + // @ts-ignore: type + let num: T = 0; + let initial = len - 1; + while (len--) { + code = load(ptr); + if (code - CharCode._0 < 10) { + code -= CharCode._0; + } else if (code - CharCode.A <= (CharCode.Z - CharCode.A)) { + code -= CharCode.A - 10; + } else if (code - CharCode.a <= (CharCode.z - CharCode.a)) { + code -= CharCode.a - 10; + } + if (code >= radix) { + if (initial == len) { + if (isFloat()) { + // @ts-ignore: cast + return NaN; + } else { + // @ts-ignore: cast + return 0; + } + } + break; + } + // @ts-ignore: type + num = num * radix + code; + ptr += 2; + } + // @ts-ignore: type + return sign * num; +} + +export function strtod(str: string): f64 { + let len = str.length; + if (!len) return NaN; + + let ptr = changetype(str); + let code = load(ptr); + + let sign = 1.0; + // skip white spaces + while (len && isSpace(code)) { + code = load(ptr += 2); + --len; + } + if (!len) return NaN; + + // try parse '-' or '+' + if (code == CharCode.MINUS) { + if (!--len) return NaN; + code = load(ptr += 2); + sign = -1; + } else if (code == CharCode.PLUS) { + if (!--len) return NaN; + code = load(ptr += 2); + } + + // try parse Infinity + if (len >= 8 && code == CharCode.I) { + if ( + load(ptr, 0) == 0x690066006E0049 && // ifnI + load(ptr, 8) == 0x7900740069006E // ytin + ) { + return Infinity * sign; + } + return NaN; + } + // validate next symbol + if (code != CharCode.DOT && (code - CharCode._0) >= 10) { + return NaN; + } + let savedPtr = ptr; + // skip zeros + while (code == CharCode._0) { + code = load(ptr += 2); + --len; + } + if (len <= 0) return 0.0 * sign; + const capacity = 19; // int(64 * 0.3010) + let pointed = false; + let consumed = 0; + let position = 0; + let x: u64 = 0; + if (code == CharCode.DOT) { + let noDigits = !(savedPtr - ptr); + ptr += 2; --len; + if (!len && noDigits) return NaN; + for (pointed = true; (code = load(ptr)) == CharCode._0; --position, ptr += 2) --len; + if (len <= 0) return 0.0 * sign; + if (!position && noDigits && code - CharCode._0 >= 10) return NaN; + } + for (let digit = code - CharCode._0; digit < 10 || (code == CharCode.DOT && !pointed); digit = code - CharCode._0) { + if (digit < 10) { + x = consumed < capacity ? 10 * x + digit : x | u64(!!digit); + ++consumed; + } else { + position = consumed; + pointed = true; + } + if (!--len) break; + code = load(ptr += 2); + } + + if (!pointed) position = consumed; + return copysign(scientific(x, position - min(capacity, consumed) + parseExp(ptr, len)), sign); +} + +export function strtob(str: string): bool { + let size: usize = str.length << 1; + let offset: usize = 0; + if (size > 8) { + // try trim end whitespaces first + while (size && isSpace(load(changetype(str) + size - 2))) size -= 2; + if (size > 8) { + // trim start whitespaces + while (offset < size && isSpace(load(changetype(str) + offset))) offset += 2; + size -= offset; + } + } + if (size != 8) return false; + // "true" represents as \00\e\00\u\00\e\00\t (00 65 00 75 00 72 00 74) + return load(changetype(str) + offset) == 0x0065_0075_0072_0074; +} + +export function joinBooleanArray(dataStart: usize, length: i32, separator: string): string { + let lastIndex = length - 1; + if (lastIndex < 0) return ""; + if (!lastIndex) return select("true", "false", load(dataStart)); + + let sepLen = separator.length; + let valueLen = 5; // max possible length of element len("false") + let estLen = (valueLen + sepLen) * lastIndex + valueLen; + let result = changetype(__new(estLen << 1, idof())); + let offset = 0; + let value: bool; + for (let i = 0; i < lastIndex; ++i) { + value = load(dataStart + i); + valueLen = 4 + i32(!value); + memory.copy( + changetype(result) + (offset << 1), + changetype(select("true", "false", value)), + valueLen << 1 + ); + offset += valueLen; + if (sepLen) { + memory.copy( + changetype(result) + (offset << 1), + changetype(separator), + sepLen << 1 + ); + offset += sepLen; + } + } + value = load(dataStart + lastIndex); + valueLen = 4 + i32(!value); + memory.copy( + changetype(result) + (offset << 1), + changetype(select("true", "false", value)), + valueLen << 1 + ); + offset += valueLen; + + if (estLen > offset) return result.substring(0, offset); + return result; +} + +export function joinIntegerArray(dataStart: usize, length: i32, separator: string): string { + let lastIndex = length - 1; + if (lastIndex < 0) return ""; + if (!lastIndex) { + let value = load(dataStart); + if (isSigned()) { + if (sizeof() <= 4) { + // @ts-ignore: type + return changetype(itoa32(value, 10)); + } else { + // @ts-ignore: type + return changetype(itoa64(value, 10)); + } + } else { + if (sizeof() <= 4) { + // @ts-ignore: type + return changetype(utoa32(value, 10)); + } else { + // @ts-ignore: type + return changetype(utoa64(value, 10)); + } + } + } + + let sepLen = separator.length; + const valueLen = (sizeof() <= 4 ? 10 : 20) + i32(isSigned()); + let estLen = (valueLen + sepLen) * lastIndex + valueLen; + let result = changetype(__new(estLen << 1, idof())); + let offset = 0; + let value: T; + for (let i = 0; i < lastIndex; ++i) { + value = load(dataStart + (i << alignof())); + // @ts-ignore: type + offset += itoa_buffered(changetype(result) + (offset << 1), value); + if (sepLen) { + memory.copy( + changetype(result) + (offset << 1), + changetype(separator), + sepLen << 1 + ); + offset += sepLen; + } + } + value = load(dataStart + (lastIndex << alignof())); + // @ts-ignore: type + offset += itoa_buffered(changetype(result) + (offset << 1), value); + if (estLen > offset) return result.substring(0, offset); + return result; +} + +export function joinFloatArray(dataStart: usize, length: i32, separator: string): string { + let lastIndex = length - 1; + if (lastIndex < 0) return ""; + if (!lastIndex) { + return changetype(dtoa( + // @ts-ignore: type + load(dataStart)) + ); + } + + const valueLen = MAX_DOUBLE_LENGTH; + let sepLen = separator.length; + let estLen = (valueLen + sepLen) * lastIndex + valueLen; + let result = changetype(__new(estLen << 1, idof())); + let offset = 0; + let value: T; + for (let i = 0; i < lastIndex; ++i) { + value = load(dataStart + (i << alignof())); + // @ts-ignore: type + offset += dtoa_buffered(changetype(result) + (offset << 1), value); + if (sepLen) { + memory.copy( + changetype(result) + (offset << 1), + changetype(separator), + sepLen << 1 + ); + offset += sepLen; + } + } + value = load(dataStart + (lastIndex << alignof())); + // @ts-ignore: type + offset += dtoa_buffered(changetype(result) + (offset << 1), value); + if (estLen > offset) return result.substring(0, offset); + return result; +} + +export function joinStringArray(dataStart: usize, length: i32, separator: string): string { + let lastIndex = length - 1; + if (lastIndex < 0) return ""; + if (!lastIndex) { + // @ts-ignore: type + return load(dataStart) || ""; + } + let estLen = 0; + let value: string; + for (let i = 0; i < length; ++i) { + value = load(dataStart + (i << alignof())); + if (changetype(value) != 0) estLen += value.length; + } + let offset = 0; + let sepLen = separator.length; + let result = changetype(__new((estLen + sepLen * lastIndex) << 1, idof())); + for (let i = 0; i < lastIndex; ++i) { + value = load(dataStart + (i << alignof())); + if (changetype(value) != 0) { + let valueLen = value.length; + memory.copy( + changetype(result) + (offset << 1), + changetype(value), + valueLen << 1 + ); + offset += valueLen; + } + if (sepLen) { + memory.copy( + changetype(result) + (offset << 1), + changetype(separator), + sepLen << 1 + ); + offset += sepLen; + } + } + value = load(dataStart + (lastIndex << alignof())); + if (changetype(value) != 0) { + memory.copy( + changetype(result) + (offset << 1), + changetype(value), + value.length << 1 + ); + } + return result; +} + +export function joinReferenceArray(dataStart: usize, length: i32, separator: string): string { + let lastIndex = length - 1; + if (lastIndex < 0) return ""; + let value: T; + if (!lastIndex) { + value = load(dataStart); + // @ts-ignore: type + return value != null ? value.toString() : ""; + } + let result = ""; + let sepLen = separator.length; + for (let i = 0; i < lastIndex; ++i) { + value = load(dataStart + (i << alignof())); + // @ts-ignore: type + if (value != null) result += value.toString(); + if (sepLen) result += separator; + } + value = load(dataStart + (lastIndex << alignof())); + // @ts-ignore: type + if (value != null) result += value.toString(); + return result; +} + +// @ts-ignore: decorator +@inline +function scientific(significand: u64, exp: i32): f64 { + if (!significand || exp < -342) return 0; + if (exp > 308) return Infinity; + // Try use fast path + // Use fast path for string-to-double conversion if possible + // see http://www.exploringbinary.com/fast-path-decimal-to-floating-point-conversion + // Simple integer + let significandf = significand; + if (!exp) return significandf; + if (exp > 22 && exp <= 22 + 15) { + significandf *= pow10(exp - 22); + exp = 22; + } + if (significand <= 9007199254740991 && abs(exp) <= 22) { + if (exp > 0) return significandf * pow10(exp); + return significandf / pow10(-exp); + } else if (exp < 0) { + return scaledown(significand, exp); + } else { + return scaleup(significand, exp); + } +} + +// Adopted from metallic lib: +// https://github.com/jdh8/metallic/blob/master/src/stdlib/parse/scientific.h +// @ts-ignore: decorator +@inline +function scaledown(significand: u64, exp: i32): f64 { + const denom: u64 = 6103515625; // 1e14 * 0x1p-14 + const scale = reinterpret(0x3F06849B86A12B9B); // 1e-14 * 0x1p32 + + let shift = clz(significand); + significand <<= shift; + shift = exp - shift; + + for (; exp <= -14; exp += 14) { + let q = significand / denom; + let r = significand % denom; + let s = clz(q); + significand = (q << s) + nearest(scale * (r << (s - 18))); + shift -= s; + } + let b = ipow32(5, -exp); + let q = significand / b; + let r = significand % b; + let s = clz(q); + significand = (q << s) + (reinterpret(reinterpret(r) + (s << 52)) / b); + shift -= s; + + return NativeMath.scalbn(significand, shift); +} + +// Adopted from metallic lib: +// https://github.com/jdh8/metallic/blob/master/src/stdlib/parse/scientific.h +// @ts-ignore: decorator +@inline +function scaleup(significand: u64, exp: i32): f64 { + const coeff: u32 = 1220703125; // 1e13 * 0x1p-13; + let shift = ctz(significand); + significand >>= shift; + shift += exp; + + __fixmulShift = shift; + for (; exp >= 13; exp -= 13) { + significand = fixmul(significand, coeff); + } + significand = fixmul(significand, ipow32(5, exp)); + shift = __fixmulShift; + return NativeMath.scalbn(significand, shift); +} + +// Adopted from metallic lib: +// https://github.com/jdh8/metallic/blob/master/src/stdlib/parse/scientific.h +// @ts-ignore: decorator +@inline +function parseExp(ptr: usize, len: i32): i32 { + let sign = 1, magnitude = 0; + let code = load(ptr); + // check code is 'e' or 'E' + if ((code | 32) != CharCode.e) return 0; + + if (!--len) return 0; + code = load(ptr += 2); + if (code == CharCode.MINUS) { + if (!--len) return 0; + code = load(ptr += 2); + sign = -1; + } else if (code == CharCode.PLUS) { + if (!--len) return 0; + code = load(ptr += 2); + } + // skip zeros + while (code == CharCode._0) { + if (!--len) return 0; + code = load(ptr += 2); + } + for (let digit: u32 = code - CharCode._0; len && digit < 10; digit = code - CharCode._0) { + if (magnitude >= 3200) return sign * 3200; + magnitude = 10 * magnitude + digit; + code = load(ptr += 2); + --len; + } + return sign * magnitude; +} + +// @ts-ignore: decorator +@lazy let __fixmulShift: u64 = 0; + +// Adopted from metallic lib: +// https://github.com/jdh8/metallic/blob/master/src/stdlib/parse/scientific.h +// @ts-ignore: decorator +@inline +function fixmul(a: u64, b: u32): u64 { + let low = (a & 0xFFFFFFFF) * b; + let high = (a >> 32) * b + (low >> 32); + let overflow = (high >> 32); + let space = clz(overflow); + let revspace: u64 = 32 - space; + __fixmulShift += revspace; + return (high << space | (low & 0xFFFFFFFF) >> revspace) + (low << space >> 31 & 1); +} + +// @ts-ignore: decorator +@inline +function pow10(n: i32): f64 { + // argument `n` should bounds in [0, 22] range + return load(POWERS10 + (n << alignof())); +} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/util/uri.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/util/uri.ts new file mode 100644 index 00000000..5a18d469 --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/std/assembly/util/uri.ts @@ -0,0 +1,275 @@ +import { E_URI_MALFORMED } from "./error"; +import { CharCode } from "./string"; + +// Truncated lookup boolean table that helps us quickly determine +// if a char needs to be escaped for URIs (RFC 2396). +// @ts-ignore: decorator +@lazy export const URI_UNSAFE = memory.data([ +/* skip 32 + 1 always set to '1' head slots + */ 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, /* + skip 128 + 1 always set to '1' tail slots */ +]); + +// Truncated lookup boolean table that helps us quickly determine +// if a char needs to be escaped for URLs (RFC 3986). +// @ts-ignore: decorator +@lazy export const URL_UNSAFE = memory.data([ +/* skip 32 + 1 always set to '1' head slots + */ 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, /* + skip 128 + 1 always set to '1' tail slots */ +]); + +// Truncated lookup boolean table for determine reserved chars: ;/?:@&=+$,# +// @ts-ignore: decorator +@lazy export const URI_RESERVED = memory.data([ + /* skip 32 + 3 always set to '0' head slots + */ 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, + 1, /* skip 191 always set to '0' tail slots */ +]); + +export function encode(src: usize, len: usize, table: usize): usize { + if (!len) return src; + + let i: usize = 0, offset: usize = 0, outSize = len << 1; + let dst = __new(outSize, idof()); + + while (i < len) { + let org = i; + let c: u32, c1: u32; + // fast scan a check chars until it valid ASCII + // and safe for copying withoud escaping. + do { + c = load(src + (i << 1)); + // is it valid ASII and safe? + if (c - 33 < 94) { // 127 - 33 + if (load(table + (c - 33))) break; + } else break; + } while (++i < len); + + // if we have some safe range of sequence just copy it without encoding + if (i > org) { + let size = i - org << 1; + if (offset + size > outSize) { + outSize = offset + size; + dst = __renew(dst, outSize); + } + // TODO: should we optimize for short cases like 2 byte size? + memory.copy( + dst + offset, + src + (org << 1), + size + ); + offset += size; + // return if we reach end on input string + if (i >= len) break; + } + + // decode UTF16 with checking for unpaired surrogates + if (c >= 0xD800) { + if (c >= 0xDC00 && c <= 0xDFFF) { + throw new URIError(E_URI_MALFORMED); + } + if (c <= 0xDBFF) { + if (i >= len) { + throw new URIError(E_URI_MALFORMED); + } + c1 = load(src + (++i << 1)); + if (c1 < 0xDC00 || c1 > 0xDFFF) { + throw new URIError(E_URI_MALFORMED); + } + c = (((c & 0x3FF) << 10) | (c1 & 0x3FF)) + 0x10000; + } + } + + let estSize = offset + (c < 0x80 ? 1 * 6 : 4 * 6); + if (estSize > outSize) { + // doubling estimated size but only for greater than one + // input lenght due to we already estemated it for worst case + outSize = len > 1 ? estSize << 1 : estSize; + dst = __renew(dst, outSize); + } + + if (c < 0x80) { + // encode ASCII unsafe code point + storeHex(dst, offset, c); + offset += 6; + } else { + // encode UTF-8 unsafe code point + if (c < 0x800) { + storeHex(dst, offset, (c >> 6) | 0xC0); + offset += 6; + } else { + if (c < 0x10000) { + storeHex(dst, offset, (c >> 12) | 0xE0); + offset += 6; + } else { + storeHex(dst, offset, (c >> 18) | 0xF0); + offset += 6; + storeHex(dst, offset, (c >> 12 & 0x3F) | 0x80); + offset += 6; + } + storeHex(dst, offset, (c >> 6 & 0x3F) | 0x80); + offset += 6; + } + storeHex(dst, offset, (c & 0x3F) | 0x80); + offset += 6; + } + ++i; + } + // shink output string buffer if necessary + if (outSize > offset) { + dst = __renew(dst, offset); + } + return dst; +} + +export function decode(src: usize, len: usize, component: bool): usize { + if (!len) return src; + + let i: usize = 0, offset: usize = 0, ch: u32 = 0; + let dst = __new(len << 1, idof()); + + while (i < len) { + let org = i; + while (i < len && (ch = load(src + (i << 1))) != CharCode.PERCENT) i++; + + if (i > org) { + let size = i - org << 1; + // TODO: should we optimize for short cases like 2 byte size? + memory.copy( + dst + offset, + src + (org << 1), + size + ); + offset += size; + if (i >= len) break; + } + + // decode hex + if ( + i + 2 >= len || + ch != CharCode.PERCENT || + (ch = loadHex(src, i + 1 << 1)) == -1 + ) throw new URIError(E_URI_MALFORMED); + + i += 3; + if (ch < 0x80) { + if (!component && isReserved(ch)) { + ch = CharCode.PERCENT; + i -= 2; + } + } else { + // decode UTF-8 sequence + let nb = utf8LenFromUpperByte(ch); + // minimal surrogate: 2 => 0x80, 3 => 0x800, 4 => 0x10000, _ => -1 + let lo: u32 = 1 << (17 * nb >> 2) - 1; + // mask: 2 => 31, 3 => 15, 4 => 7, _ => 0 + ch &= nb ? (0x80 >> nb) - 1 : 0; + + while (--nb != 0) { + let c1: u32; + // decode hex + if ( + i + 2 >= len || + load(src + (i << 1)) != CharCode.PERCENT || + (c1 = loadHex(src, i + 1 << 1)) == -1 + ) throw new URIError(E_URI_MALFORMED); + + i += 3; + if ((c1 & 0xC0) != 0x80) { + ch = 0; + break; + } + ch = (ch << 6) | (c1 & 0x3F); + } + + // check if UTF8 code point properly fit into invalid UTF16 encoding + if (ch < lo || lo == -1 || ch > 0x10FFFF || (ch >= 0xD800 && ch < 0xE000)) { + throw new URIError(E_URI_MALFORMED); + } + + // encode UTF16 + if (ch >= 0x10000) { + ch -= 0x10000; + let lo = ch >> 10 | 0xD800; + let hi = (ch & 0x03FF) | 0xDC00; + store(dst + offset, lo | (hi << 16)); + offset += 4; + continue; + } + } + store(dst + offset, ch); + offset += 2; + } + + assert(offset <= (len << 1)); + // shink output string buffer if necessary + if ((len << 1) > offset) { + dst = __renew(dst, offset); + } + return dst; +} + +function storeHex(dst: usize, offset: usize, ch: u32): void { + // @ts-ignore: decorator + const HEX_CHARS = memory.data([ + 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, + 0x38, 0x39, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46 + ]); + + store(dst + offset, CharCode.PERCENT, 0); // % + store( + dst + offset, + load(HEX_CHARS + (ch >> 4 & 0x0F)) | + load(HEX_CHARS + (ch & 0x0F)) << 16, + 2 + ); // XX +} + +function loadHex(src: usize, offset: usize): u32 { + let c0 = load(src + offset, 0); + let c1 = load(src + offset, 2); + return isHex(c0) && isHex(c1) + ? fromHex(c0) << 4 | fromHex(c1) + : -1; +} + +// @ts-ignore: decorator +@inline function fromHex(ch: u32): u32 { + return (ch | 32) % 39 - 9; +} + +// @ts-ignore: decorator +@inline function utf8LenFromUpperByte(c0: u32): u32 { + // same as + // if (c0 - 0xC0 <= 0xDF - 0xC0) return 2; + // if (c0 - 0xE0 <= 0xEF - 0xE0) return 3; + // if (c0 - 0xF0 <= 0xF7 - 0xF0) return 4; + // return 0; + return c0 - 0xC0 < 56 + ? clz(~(c0 << 24)) + : 0; +} + +// @ts-ignore: decorator +@inline function isReserved(ch: u32): bool { + return ch - 35 < 30 + ? load(URI_RESERVED + (ch - 35)) + : false; +} + +// @ts-ignore: decorator +@inline function isHex(ch: u32): bool { + return (ch - CharCode._0 < 10) || ((ch | 32) - CharCode.a < 6); +} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/vector.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/vector.ts new file mode 100644 index 00000000..348debab --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/std/assembly/vector.ts @@ -0,0 +1,4 @@ +/** Vector abstraction. */ +@final @unmanaged +export abstract class V128 { +} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/portable.json b/platforms/Arduino/node_modules/assemblyscript/std/portable.json new file mode 100644 index 00000000..2490ba4c --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/std/portable.json @@ -0,0 +1,11 @@ +{ + "extends": "../tsconfig-base.json", + "compilerOptions": { + "target": "esnext", + "module": "commonjs", + "allowJs": true, + "typeRoots": [ "types" ], + "types": [ "portable" ], + "lib": ["esnext", "esnext.string"] + } +} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/portable/index.d.ts b/platforms/Arduino/node_modules/assemblyscript/std/portable/index.d.ts new file mode 100644 index 00000000..98556ee4 --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/std/portable/index.d.ts @@ -0,0 +1,462 @@ +/** + * Environment definitions for compiling AssemblyScript to JavaScript using tsc. + * + * Note that semantic differences require additional explicit conversions for full compatibility. + * For example, when casting an i32 to an u8, doing `(someI32 & 0xff)` will yield the same + * result when compiling to WebAssembly or JS while `someI32` alone does nothing in JS. + * + * Note that i64's are not portable (JS numbers are IEEE754 doubles with a maximum safe integer + * value of 2^53-1) and instead require a compatibility layer to work in JS as well, as for example + * {@link glue/js/i64} respectively {@link glue/wasm/i64}. + * + * @module std/portable + *//***/ + +// Types + +declare type bool = boolean; +declare type i8 = number; +declare type i16 = number; +declare type i32 = number; +declare type isize = number; +declare type u8 = number; +declare type u16 = number; +declare type u32 = number; +declare type usize = number; +declare type f32 = number; +declare type f64 = number; + +/** Special type evaluating the indexed access index type. */ +declare type indexof = keyof T; +/** Special type evaluating the indexed access value type. */ +declare type valueof = T[0]; + +// Compiler hints + +/** Compiler target. 0 = JS, 1 = WASM32, 2 = WASM64. */ +declare const ASC_TARGET: i32; +/** Runtime type. 0 = Stub, 1 = Minimal, 2 = Incremental. */ +declare const ASC_RUNTIME: i32; +/** Provided noAssert option. */ +declare const ASC_NO_ASSERT: bool; +/** Provided memoryBase option. */ +declare const ASC_MEMORY_BASE: i32; +/** Provided optimizeLevel option. */ +declare const ASC_OPTIMIZE_LEVEL: i32; +/** Provided shrinkLevel option. */ +declare const ASC_SHRINK_LEVEL: i32; +/** Whether the mutable global feature is enabled. */ +declare const ASC_FEATURE_MUTABLE_GLOBAL: bool; +/** Whether the sign extension feature is enabled. */ +declare const ASC_FEATURE_SIGN_EXTENSION: bool; + +// Builtins + +/** Performs the sign-agnostic reverse bytes **/ +declare function bswap(value: T): T; +/** Performs the sign-agnostic count leading zero bits operation on a 32-bit integer. All zero bits are considered leading if the value is zero. */ +declare function clz(value: T): T; +/** Performs the sign-agnostic count tailing zero bits operation on a 32-bit integer. All zero bits are considered trailing if the value is zero. */ +declare function ctz(value: T): T; +/** Performs the sign-agnostic count number of one bits operation on a 32-bit integer. */ +declare function popcnt(value: T): T; +/** Performs the sign-agnostic rotate left operation on a 32-bit integer. */ +declare function rotl(value: T, shift: T): T; +/** Performs the sign-agnostic rotate right operation on a 32-bit integer. */ +declare function rotr(value: T, shift: T): T; +/** Computes the absolute value of an integer or float. */ +declare function abs(value: T): T; +/** Determines the maximum of two integers or floats. If either operand is `NaN`, returns `NaN`. */ +declare function max(left: T, right: T): T; +/** Determines the minimum of two integers or floats. If either operand is `NaN`, returns `NaN`. */ +declare function min(left: T, right: T): T; +/** Composes a 32-bit or 64-bit float from the magnitude of `x` and the sign of `y`. */ +declare function copysign(x: T, y: T): T; +/** Performs the ceiling operation on a 32-bit or 64-bit float. */ +declare function ceil(value: T): T; +/** Performs the floor operation on a 32-bit or 64-bit float. */ +declare function floor(value: T): T; +/** Rounds to the nearest integer tied to even of a 32-bit or 64-bit float. */ +declare function nearest(value: T): T; +/** Selects one of two pre-evaluated values depending on the condition. */ +declare function select(ifTrue: T, ifFalse: T, condition: bool): T; +/** Calculates the square root of a 32-bit or 64-bit float. */ +declare function sqrt(value: T): T; +/** Rounds to the nearest integer towards zero of a 32-bit or 64-bit float. */ +declare function trunc(value: T): T; +/** Emits an unreachable operation that results in a runtime error when executed. */ +declare function unreachable(): any; // sic + +/** Changes the type of any value of `usize` kind to another one of `usize` kind. Useful for casting class instances to their pointer values and vice-versa. Beware that this is unsafe.*/ +declare function changetype(value: any): T; +/** Explicitly requests no bounds checks on the provided expression. Useful for array accesses. */ +declare function unchecked(value: T): T; +/** Tests if the specified value is a valid integer. Can't distinguish an integer from an integral float. */ +declare function isInteger(value: any): value is number; +/** Tests if the specified value is a valid float. Can't distinguish a float from an integer. */ +declare function isFloat(value: any): value is number; +/** Tests if the specified value is of a nullable reference type. */ +declare function isNullable(value: any): bool; +/** Tests if the specified value is of a reference type. */ +declare function isReference(value: any): value is object | string; +/** Tests if the specified value is of a function type */ +declare function isFunction(value: any): value is Function; +/** Tests if the specified value can be used as a string. */ +declare function isString(value: any): value is string | String; +/** Tests if the specified value can be used as an array. */ +declare function isArray(value: any): value is Array; +/** Tests if the specified type *or* expression can be used as an array like object. */ +declare function isArrayLike(value: any): value is ArrayLike; +/** Tests if the specified expression resolves to a defined element. */ +declare function isDefined(expression: any): bool; +/** Tests if the specified expression evaluates to a constant value. */ +declare function isConstant(expression: any): bool; +/** Traps if the specified value is not true-ish, otherwise returns the value. */ +declare function assert(isTrueish: T, message?: string): T & (object | string | number); // any better way to model `: T != null`? +/** Parses an integer string to a 64-bit float. */ +declare function parseInt(str: string, radix?: i32): f64; +/** Parses a floating point string to a 64-bit float. */ +declare function parseFloat(str: string): f64; +/** Returns the 64-bit floating-point remainder of `x/y`. */ +declare function fmod(x: f64, y: f64): f64; +/** Returns the 32-bit floating-point remainder of `x/y`. */ +declare function fmodf(x: f32, y: f32): f32; + +/** Converts any other numeric value to an 8-bit signed integer. */ +declare function i8(value: any): i8; +declare namespace i8 { + /** Smallest representable value. */ + export const MIN_VALUE: i8; + /** Largest representable value. */ + export const MAX_VALUE: i8; + /** Converts a string to a floating-point number and cast to target integer after. */ + export function parseFloat(string: string): i8; + /** Parses a string as an integer. */ + export function parseInt(string: string, radix?: i32): i8; + /** Parses a string as an i8. */ + export function parse(value: string, radix?: i32): i8; +} +/** Converts any other numeric value to a 16-bit signed integer. */ +declare function i16(value: any): i16; +declare namespace i16 { + /** Smallest representable value. */ + export const MIN_VALUE: i16; + /** Largest representable value. */ + export const MAX_VALUE: i16; + /** Converts a string to a floating-point number and cast to target integer after. */ + export function parseFloat(string: string): i16; + /** Parses a string as an integer. */ + export function parseInt(string: string, radix?: i32): i16; + /** Parses a string as an i16. */ + export function parse(value: string, radix?: i32): i16; +} +/** Converts any other numeric value to a 32-bit signed integer. */ +declare function i32(value: any): i32; +declare namespace i32 { + /** Smallest representable value. */ + export const MIN_VALUE: i32; + /** Largest representable value. */ + export const MAX_VALUE: i32; + /** Converts a string to a floating-point number and cast to target integer after. */ + export function parseFloat(string: string): i32; + /** Parses a string as an integer. */ + export function parseInt(string: string, radix?: i32): i32; + /** Parses a string as an i32. */ + export function parse(value: string, radix?: i32): i32; +} +/** Converts any other numeric value to a 32-bit (in WASM32) respectivel 64-bit (in WASM64) signed integer. */ +declare function isize(value: any): isize; +declare namespace isize { + /** Smallest representable value. */ + export const MIN_VALUE: isize; + /** Largest representable value. */ + export const MAX_VALUE: isize; + /** Converts a string to a floating-point number and cast to target integer after. */ + export function parseFloat(string: string): isize; + /** Parses a string as an integer. */ + export function parseInt(string: string, radix?: i32): isize; + /** Parses a string as an iszie. */ + export function parse(value: string, radix?: i32): isize; +} +/** Converts any other numeric value to an 8-bit unsigned integer. */ +declare function u8(value: any): u8; +declare namespace u8 { + /** Smallest representable value. */ + export const MIN_VALUE: u8; + /** Largest representable value. */ + export const MAX_VALUE: u8; + /** Converts a string to a floating-point number and cast to target integer after. */ + export function parseFloat(string: string): u8; + /** Parses a string as an integer. */ + export function parseInt(string: string, radix?: i32): u8; + /** Parses a string as an u8. */ + export function parse(value: string, radix?: i32): u8; +} +/** Converts any other numeric value to a 16-bit unsigned integer. */ +declare function u16(value: any): u16; +declare namespace u16 { + /** Smallest representable value. */ + export const MIN_VALUE: u16; + /** Largest representable value. */ + export const MAX_VALUE: u16; + /** Converts a string to a floating-point number and cast to target integer after. */ + export function parseFloat(string: string): u16; + /** Parses a string as an integer. */ + export function parseInt(string: string, radix?: i32): u16; + /** Parses a string as an u16. */ + export function parse(value: string, radix?: i32): u16; +} +/** Converts any other numeric value to a 32-bit unsigned integer. */ +declare function u32(value: any): u32; +declare namespace u32 { + /** Smallest representable value. */ + export const MIN_VALUE: u32; + /** Largest representable value. */ + export const MAX_VALUE: u32; + /** Converts a string to a floating-point number and cast to target integer after. */ + export function parseFloat(string: string): u32; + /** Parses a string as an integer. */ + export function parseInt(string: string, radix?: i32): u32; + /** Parses a string as an u32. */ + export function parse(value: string, radix?: i32): u32; +} +/** Converts any other numeric value to a 32-bit (in WASM32) respectivel 64-bit (in WASM64) unsigned integer. */ +declare function usize(value: any): isize; +declare namespace usize { + /** Smallest representable value. */ + export const MIN_VALUE: usize; + /** Largest representable value. */ + export const MAX_VALUE: usize; + /** Converts a string to a floating-point number and cast to target integer after. */ + export function parseFloat(string: string): usize; + /** Parses a string as an integer. */ + export function parseInt(string: string, radix?: i32): usize; + /** Parses a string as an usize. */ + export function parse(value: string, radix?: i32): usize; +} +/** Converts any other numeric value to a 1-bit unsigned integer. */ +declare function bool(value: any): bool; +declare namespace bool { + /** Smallest representable value. */ + export const MIN_VALUE: bool; + /** Largest representable value. */ + export const MAX_VALUE: bool; + /** Parses a string as a bool. */ + export function parse(value: string): bool; +} +/** Converts any other numeric value to a 32-bit float. */ +declare function f32(value: any): f32; +declare namespace f32 { + /** Smallest representable value. */ + export const MIN_VALUE: f32; + /** Largest representable value. */ + export const MAX_VALUE: f32; + /** Smallest normalized positive value. */ + export const MIN_NORMAL_VALUE: f32; + /** Smallest safely representable integer value. */ + export const MIN_SAFE_INTEGER: f32; + /** Largest safely representable integer value. */ + export const MAX_SAFE_INTEGER: f32; + /** Positive infinity value. */ + export const POSITIVE_INFINITY: f32; + /** Negative infinity value. */ + export const NEGATIVE_INFINITY: f32; + /** Not a number value. */ + /* eslint no-shadow-restricted-names: "off" */ + export const NaN: f32; + /** Difference between 1 and the smallest representable value greater than 1. */ + export const EPSILON: f32; + /** Returns a boolean value that indicates whether a value is the reserved value NaN (not a number). */ + export function isNaN(value: f32): bool; + /** Returns true if passed value is finite. */ + export function isFinite(value: f32): bool; + /** Returns true if the value passed is a safe integer. */ + export function isSafeInteger(value: f32): bool; + /** Returns true if the value passed is an integer, false otherwise. */ + export function isInteger(value: f32): bool; + /** Converts a string to a floating-point number. */ + export function parseFloat(string: string): f32; + /** Parses a string as an integer and convert to an f32. */ + export function parseInt(string: string, radix?: i32): f32; + /** Parses a string as an f32. */ + export function parse(value: string): f32; +} +/** Converts any other numeric value to a 64-bit float. */ +declare function f64(value: any): f64; +declare namespace f64 { + /** Smallest representable value. */ + export const MIN_VALUE: f64; + /** Largest representable value. */ + export const MAX_VALUE: f64; + /** Smallest normalized positive value. */ + export const MIN_NORMAL_VALUE: f64; + /** Smallest safely representable integer value. */ + export const MIN_SAFE_INTEGER: f64; + /** Largest safely representable integer value. */ + export const MAX_SAFE_INTEGER: f64; + /** Positive infinity value. */ + export const POSITIVE_INFINITY: f64; + /** Negative infinity value. */ + export const NEGATIVE_INFINITY: f64; + /** Not a number value. */ + /* eslint no-shadow-restricted-names: "off" */ + export const NaN: f64; + /** Difference between 1 and the smallest representable value greater than 1. */ + export const EPSILON: f64; + /** Returns a boolean value that indicates whether a value is the reserved value NaN (not a number). */ + export function isNaN(value: f32): bool; + /** Returns true if passed value is finite. */ + export function isFinite(value: f32): bool; + /** Returns true if the value passed is a safe integer. */ + export function isSafeInteger(value: f64): bool; + /** Returns true if the value passed is an integer, false otherwise. */ + export function isInteger(value: f64): bool; + /** Converts a string to a floating-point number. */ + export function parseFloat(string: string): f64; + /** Parses a string as an integer and convert to an f64. */ + export function parseInt(string: string, radix?: i32): f64; + /** Parses a string as an f64. */ + export function parse(value: string): f64; +} + +// Standard library + +declare const Mathf: typeof Math; +declare const JSMath: typeof Math; + +declare interface StringConstructor { + /** Equivalent to calling `String.fromCharCode` with multiple arguments. */ + fromCharCodes(arr: i32[]): string; + /** Equivalent to calling `String.fromCodePoint` with multiple arguments. */ + fromCodePoints(arr: i32[]): string; +} + +declare interface String { + /** Returns value using relative indexing. Index may be negative */ + at(index: i32): string; +} + +/** Annotates a class as being unmanaged with limited capabilities. */ +declare function unmanaged(constructor: Function): void; + +/** Environmental tracing function. */ +declare function trace(msg: string, n?: i32, a0?: f64, a1?: f64, a2?: f64, a3?: f64, a4?: f64): void; + +declare interface Array { + /** Returns value using relative indexing. Index may be negative */ + at(index: i32): T; + /** Returns an index start searching from the end in the array */ + findLastIndex(callbackfn: (value: T, index: i32, self: Array) => bool): i32; +} + +declare interface Int8ArrayConstructor { + /** Equivalent to calling `new Int8Array` with multiple arguments. */ + wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Int8Array; +} + +declare interface Int8Array { + /** Returns value using relative indexing. Index may be negative */ + at(index: i32): i8; + /** Returns an index start searching from the end in the typedarray */ + findLastIndex(callbackfn: (value: i8, index: i32, self: Int8Array) => bool): i32; +} + +declare interface Uint8ArrayConstructor { + /** Equivalent to calling `new Uint8Array` with multiple arguments. */ + wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Uint8Array; +} + +declare interface Uint8Array { + /** Returns value using relative indexing. Index may be negative */ + at(index: i32): u8; + /** Returns an index start searching from the end in the typedarray */ + findLastIndex(callbackfn: (value: u8, index: i32, self: Uint8Array) => bool): i32; +} + +declare interface Uint8ClampedArrayConstructor { + /** Equivalent to calling `new Uint8ClampedArray` with multiple arguments. */ + wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Uint8ClampedArray; +} + +declare interface Uint8ClampedArray { + /** Returns value using relative indexing. Index may be negative */ + at(index: i32): u8; + /** Returns an index start searching from the end in the typedarray */ + findLastIndex(callbackfn: (value: u8, index: i32, self: Uint8ClampedArray) => bool): i32; +} + +declare interface Int16ArrayConstructor { + /** Equivalent to calling `new Int16Array` with multiple arguments. */ + wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Int16Array; +} + +declare interface Int16Array { + /** Returns value using relative indexing. Index may be negative */ + at(index: i32): i16; + /** Returns an index start searching from the end in the typedarray */ + findLastIndex(callbackfn: (value: i16, index: i32, self: Int16Array) => bool): i32; +} + +declare interface Uint16ArrayConstructor { + /** Equivalent to calling `new Uint16Array` with multiple arguments. */ + wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Uint16Array; +} + +declare interface Uint16Array { + /** Returns value using relative indexing. Index may be negative */ + at(index: i32): u16; + /** Returns an index start searching from the end in the typedarray */ + findLastIndex(callbackfn: (value: u16, index: i32, self: Uint16Array) => bool): i32; +} + +declare interface Int32ArrayConstructor { + /** Equivalent to calling `new Int32Array` with multiple arguments. */ + wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Int32Array; +} + +declare interface Int32Array { + /** Returns value using relative indexing. Index may be negative */ + at(index: i32): i32; + /** Returns an index start searching from the end in the typedarray */ + findLastIndex(callbackfn: (value: i32, index: i32, self: Int32Array) => bool): i32; +} + +declare interface Uint32ArrayConstructor { + /** Equivalent to calling `new Uint32Array` with multiple arguments. */ + wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Uint32Array; +} + +declare interface Uint32Array { + /** Returns value using relative indexing. Index may be negative */ + at(index: i32): u32; + /** Returns an index start searching from the end in the typedarray */ + findLastIndex(callbackfn: (value: u32, index: i32, self: Uint32Array) => bool): i32; +} + +declare interface Float32ArrayConstructor { + /** Equivalent to calling `new Float32Array` with multiple arguments. */ + wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Float32Array; +} + +declare interface Float32Array { + /** Returns value using relative indexing. Index may be negative */ + at(index: i32): f32; + /** Returns an index start searching from the end in the typedarray */ + findLastIndex(callbackfn: (value: f32, index: i32, self: Float32Array) => bool): i32; +} + +declare interface Float64ArrayConstructor { + /** Equivalent to calling `new Float64Array` with multiple arguments. */ + wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Float64Array; +} + +declare interface Float64Array { + /** Returns value using relative indexing. Index may be negative */ + at(index: i32): f64; + /** Returns an index start searching from the end in the typedarray */ + findLastIndex(callbackfn: (value: f64, index: i32, self: Float64Array) => bool): i32; +} + +// FIXME: remove +declare function offsetof(fieldName?: string): usize; +declare function idof(): u32; diff --git a/platforms/Arduino/node_modules/assemblyscript/std/portable/index.js b/platforms/Arduino/node_modules/assemblyscript/std/portable/index.js new file mode 100644 index 00000000..e1a65868 --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/std/portable/index.js @@ -0,0 +1,415 @@ +/** @module std/portable *//***/ + +let globalScope = typeof window !== "undefined" && window || typeof global !== "undefined" && global || self; +if (typeof globalScope.ASC_TARGET === "undefined") { + + globalScope.ASC_TARGET = 0; // Target.JS + globalScope.ASC_RUNTIME = 0; // Runtime.Stub + globalScope.ASC_NO_ASSERT = false; + globalScope.ASC_MEMORY_BASE = 0; + globalScope.ASC_OPTIMIZE_LEVEL = 3; + globalScope.ASC_SHRINK_LEVEL = 0; + globalScope.ASC_FEATURE_MUTABLE_GLOBAL = false; + globalScope.ASC_FEATURE_SIGN_EXTENSION = false; + globalScope.ASC_FEATURE_BULK_MEMORY = false; + globalScope.ASC_FEATURE_SIMD = false; + globalScope.ASC_FEATURE_THREADS = false; + + let F64 = new Float64Array(1); + let U64 = new Uint32Array(F64.buffer); + + Object.defineProperties( + globalScope["i8"] = function i8(value) { return value << 24 >> 24; }, + { + "MIN_VALUE": { value: -128 }, + "MAX_VALUE": { value: 127 }, + + parse(str, radix) { return parseInt(str, radix) << 24 >> 24; } + } + ); + + Object.defineProperties( + globalScope["i16"] = function i16(value) { return value << 16 >> 16; }, + { + "MIN_VALUE": { value: -32768 }, + "MAX_VALUE": { value: 32767 }, + + parse(str, radix) { return parseInt(str, radix) << 16 >> 16; } + } + ); + + Object.defineProperties( + globalScope["i32"] = globalScope["isize"] = function i32(value) { return value | 0; }, + { + "MIN_VALUE": { value: -2147483648 }, + "MAX_VALUE": { value: 2147483647 }, + + parse(str, radix) { return parseInt(str, radix) | 0; } + } + ); + + Object.defineProperties( + globalScope["u8"] = function u8(value) { return value & 0xff; }, + { + "MIN_VALUE": { value: 0 }, + "MAX_VALUE": { value: 255 }, + + parse(str, radix) { return parseInt(str, radix) & 0xff; } + } + ); + + Object.defineProperties( + globalScope["u16"] = function u16(value) { return value & 0xffff; }, + { + "MIN_VALUE": { value: 0 }, + "MAX_VALUE": { value: 65535 }, + + parse(str, radix) { return parseInt(str, radix) & 0xffff; } + } + ); + + Object.defineProperties( + globalScope["u32"] = globalScope["usize"] = function u32(value) { return value >>> 0; }, + { + "MIN_VALUE": { value: 0 }, + "MAX_VALUE": { value: 4294967295 }, + + parse(str, radix) { return parseInt(str, radix) >>> 0; } + } + ); + + Object.defineProperties( + globalScope["bool"] = function bool(value) { return !!value; }, + { + "MIN_VALUE": { value: false }, + "MAX_VALUE": { value: true }, + + parse(str) { return str.trim() === "true"; } + } + ); + + Object.defineProperties( + globalScope["f32"] = function f32(value) { return Math.fround(value); }, + { + "EPSILON": { value: 1.1920928955078125e-07 }, + "MIN_VALUE": { value: 1.401298464324817e-45 }, + "MAX_VALUE": { value: 3.4028234663852886e+38 }, + "MIN_NORMAL_VALUE": { value: 1.1754943508222875e-38 }, + "MIN_SAFE_INTEGER": { value: -16777215 }, + "MAX_SAFE_INTEGER": { value: 16777215 }, + "POSITIVE_INFINITY": { value: Infinity }, + "NEGATIVE_INFINITY": { value: -Infinity }, + "NaN": { value: NaN }, + + parse(str) { return Math.fround(parseFloat(str)); } + } + ); + + Object.defineProperties( + globalScope["f64"] = function f64(value) { return +value; }, + { + "EPSILON": { value: 2.2204460492503131e-016 }, + "MIN_VALUE": { value: 5e-324 }, + "MAX_VALUE": { value: 1.7976931348623157e+308 }, + "MIN_NORMAL_VALUE": { value: 2.2250738585072014e-308 }, + "MIN_SAFE_INTEGER": { value: -9007199254740991 }, + "MAX_SAFE_INTEGER": { value: 9007199254740991 }, + "POSITIVE_INFINITY": { value: Infinity }, + "NEGATIVE_INFINITY": { value: -Infinity }, + "NaN": { value: NaN }, + + parse(str) { return parseFloat(str); } + } + ); + + globalScope["clz"] = Math.clz32; + + globalScope["ctz"] = function ctz(value) { + return 32 - Math.clz32(~value & (value - 1)); + }; + + globalScope["popcnt"] = function popcnt(value) { + value -= value >>> 1 & 0x55555555; + value = (value & 0x33333333) + (value >>> 2 & 0x33333333); + return (((value + (value >>> 4)) & 0x0F0F0F0F) * 0x01010101) >>> 24; + }; + + globalScope["rotl"] = function rotl(value, shift) { + shift &= 31; + return (value << shift) | (value >>> (32 - shift)); + }; + + globalScope["rotr"] = function rotr(value, shift) { + shift &= 31; + return (value >>> shift) | (value << (32 - shift)); + }; + + globalScope["abs"] = Math.abs; + + globalScope["max"] = Math.max; + + globalScope["min"] = Math.min; + + globalScope["ceil"] = Math.ceil; + + globalScope["floor"] = Math.floor; + + globalScope["nearest"] = function nearest(value) { + const INV_EPS64 = 4503599627370496.0; + const y = Math.abs(value); + return y < INV_EPS64 + ? (y + INV_EPS64 - INV_EPS64) * Math.sign(value) + : value; + }; + + globalScope["select"] = function select(ifTrue, ifFalse, condition) { + return condition ? ifTrue : ifFalse; + }; + + globalScope["sqrt"] = Math.sqrt; + + globalScope["trunc"] = Math.trunc; + + globalScope["copysign"] = function copysign(x, y) { + return y + ? Math.abs(x) * Math.sign(y) + : (F64[0] = y, U64[1] >>> 31 ? -1 : 1); // +0, -0, -NaN, +NaN + }; + + globalScope["bswap"] = function bswap(value) { + let a = value >> 8 & 0x00FF00FF; + let b = (value & 0x00FF00FF) << 8; + value = a | b; + a = value >> 16 & 0x0000FFFF; + b = (value & 0x0000FFFF) << 16; + return a | b; + }; + + function UnreachableError() { + if (Error.captureStackTrace) { + Error.captureStackTrace(this, UnreachableError); + } else { + this.stack = this.name + ": " + this.message + "\n" + new Error().stack; + } + } + UnreachableError.prototype = Object.create(Error.prototype); + UnreachableError.prototype.name = "UnreachableError"; + UnreachableError.prototype.message = "unreachable"; + + globalScope["unreachable"] = function unreachable() { + throw new UnreachableError(); + }; + + function AssertionError(message) { + this.message = message || "assertion failed"; + if (Error.captureStackTrace) { + Error.captureStackTrace(this, AssertionError); + } else { + this.stack = this.name + ": " + this.message + "\n" + new Error().stack; + } + } + AssertionError.prototype = Object.create(Error.prototype); + AssertionError.prototype.name = "AssertionError"; + + globalScope["assert"] = function assert(isTrueish, message) { + if (isTrueish) return isTrueish; + throw new AssertionError(message); + }; + + globalScope["changetype"] = function changetype(value) { + return value; + }; + + String["fromCharCodes"] = function fromCharCodes(arr) { + const CHUNKSIZE = 1 << 13; + const len = arr.length; + if (len <= CHUNKSIZE) { + return String.fromCharCode.apply(String, arr); + } + let index = 0; + let parts = ''; + while (index < len) { + parts += String.fromCharCode.apply( + String, + arr.slice(index, Math.min(index + CHUNKSIZE, len)) + ); + index += CHUNKSIZE; + } + return parts; + }; + + String["fromCodePoints"] = function fromCodePoints(arr) { + const CHUNKSIZE = 1 << 13; + const len = arr.length; + if (len <= CHUNKSIZE) { + return String.fromCodePoint.apply(String, arr); + } + let index = 0; + let parts = ''; + while (index < len) { + parts += String.fromCodePoint.apply( + String, + arr.slice(index, Math.min(index + CHUNKSIZE, len)) + ); + index += CHUNKSIZE; + } + return parts; + }; + + if (!String.prototype.at) { + Object.defineProperty(String.prototype, "at", { + value: function at(index) { + return this.charAt(index >= 0 ? index : index + this.length); + }, + configurable: true + }); + } + + if (!String.prototype.replaceAll) { + Object.defineProperty(String.prototype, "replaceAll", { + value: function replaceAll(search, replacment) { + let res = this.split(search).join(replacment); + if (!search.length) res = replacment + res + replacment; + return res; + }, + configurable: true + }); + } + + function defaultComparator(a, b) { + if (a == b) { + if (a != 0) return 0; + a = 1 / a, b = 1 / b; + } else { + let nanA = a != a, nanB = b != b; + if (nanA | nanB) return nanA - nanB; + if (a == null) a = String(a); + if (b == null) b = String(b); + } + return a > b ? 1 : -1; + } + + const arraySort = Array.prototype.sort; + Array.prototype.sort = function sort(comparator) { + return arraySort.call(this, comparator || defaultComparator); + }; + + [ Array, + Uint8ClampedArray, + Uint8Array, Int8Array, + Uint16Array, Int16Array, + Uint32Array, Int32Array, + Float32Array, Float64Array + ].forEach(Ctr => { + if (!Ctr.prototype.at) { + Object.defineProperty(Ctr.prototype, "at", { + value: function at(index) { + return this[index >= 0 ? index : index + this.length]; + }, + configurable: true + }); + } + + if (!Ctr.prototype.findLastIndex) { + Object.defineProperty(Ctr.prototype, "findLastIndex", { + value: function findLastIndex(fn) { + for (let i = this.length - 1; i >= 0; --i) { + if (fn(this[i], i, this)) return i; + } + return -1; + }, + configurable: true + }); + } + + if (Ctr != Array) { + Object.defineProperty(Ctr, "wrap", { + value: function wrap(buffer, byteOffset, length) { + return new Ctr(buffer, byteOffset, length); + }, + configurable: true + }); + } + }); + + globalScope["isInteger"] = Number.isInteger; + + globalScope["isFloat"] = function isFloat(arg) { + return typeof arg === "number"; + }; + + globalScope["isNullable"] = function isNullable(arg) { + return true; + }; + + globalScope["isReference"] = function isReference(arg) { + return typeof arg === "object" || typeof arg === "string"; + }; + + globalScope["isFunction"] = function isFunction(arg) { + return typeof arg === "function"; + }; + + globalScope["isString"] = function isString(arg) { + return typeof arg === "string" || arg instanceof String; + }; + + globalScope["isArray"] = Array.isArray; + globalScope["isArrayLike"] = function isArrayLike(expr) { + return expr + && typeof expr === 'object' + && typeof expr.length === 'number' + && expr.length >= 0 + && Math.trunc(expr.length) === expr.length; + }; + + globalScope["isDefined"] = function isDefined(expr) { + return typeof expr !== "undefined"; + }; + + globalScope["isConstant"] = function isConstant(expr) { + return false; + }; + + globalScope["unchecked"] = function unchecked(expr) { + return expr; + }; + + globalScope["fmod"] = function fmod(x, y) { + return x % y; + }; + + globalScope["fmodf"] = function fmodf(x, y) { + return Math.fround(x % y); + }; + + globalScope["JSMath"] = Math; + + Object.defineProperties(globalScope["JSMath"], { + sincos_sin: { value: 0.0, writable: true }, + sincos_cos: { value: 0.0, writable: true }, + signbit: { + value: function signbit(x) { + F64[0] = x; return Boolean(U64[1] >>> 31); + } + }, + sincos: { + value: function sincos(x) { + this.sincos_sin = Math.sin(x); + this.sincos_cos = Math.cos(x); + } + }, + exp2: { + value: function exp2(x) { + return Math.pow(2, x); + } + } + }); + + globalScope["unmanaged"] = function() { /* nop */ }; + + globalScope["trace"] = function(message, n) { + if (n) message += Array.prototype.slice.call(arguments, 2, 2 + n); + console.error("trace: " + message); + }; +} \ No newline at end of file diff --git a/platforms/Arduino/node_modules/assemblyscript/std/types/assembly/index.d.ts b/platforms/Arduino/node_modules/assemblyscript/std/types/assembly/index.d.ts new file mode 100644 index 00000000..cbaf32ef --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/std/types/assembly/index.d.ts @@ -0,0 +1 @@ +import "../../assembly/index"; diff --git a/platforms/Arduino/node_modules/assemblyscript/std/types/assembly/package.json b/platforms/Arduino/node_modules/assemblyscript/std/types/assembly/package.json new file mode 100644 index 00000000..8308a2f4 --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/std/types/assembly/package.json @@ -0,0 +1,3 @@ +{ + "types": "index.d.ts" +} \ No newline at end of file diff --git a/platforms/Arduino/node_modules/assemblyscript/std/types/portable/index.d.ts b/platforms/Arduino/node_modules/assemblyscript/std/types/portable/index.d.ts new file mode 100644 index 00000000..bb36d1ed --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/std/types/portable/index.d.ts @@ -0,0 +1 @@ +import "../../portable/index"; diff --git a/platforms/Arduino/node_modules/assemblyscript/std/types/portable/package.json b/platforms/Arduino/node_modules/assemblyscript/std/types/portable/package.json new file mode 100644 index 00000000..8308a2f4 --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/std/types/portable/package.json @@ -0,0 +1,3 @@ +{ + "types": "index.d.ts" +} \ No newline at end of file diff --git a/platforms/Arduino/node_modules/assemblyscript/tsconfig-base.json b/platforms/Arduino/node_modules/assemblyscript/tsconfig-base.json new file mode 100644 index 00000000..10a2d884 --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/tsconfig-base.json @@ -0,0 +1,14 @@ +{ + "compilerOptions": { + "strict": true, + "alwaysStrict": true, + "noImplicitAny": true, + "noImplicitReturns": true, + "noImplicitThis": true, + "noEmitOnError": true, + "strictNullChecks": true, + "experimentalDecorators": true, + "preserveConstEnums": false, + "downlevelIteration": true + } +} diff --git a/platforms/Arduino/node_modules/assemblyscript/util/README.md b/platforms/Arduino/node_modules/assemblyscript/util/README.md new file mode 100644 index 00000000..bcc9d83c --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/util/README.md @@ -0,0 +1,23 @@ +Utility +======= + +Various utility functions shared accross the codebase. + +| Utility | Description +|----------|------------------------------------------- +| cpu | Obtains information about the CPU +| find | Provides support for finding files etc. +| node | Minimal polyfills for Node.js builtins +| options | Support for command line options parsing +| terminal | Provides support for terminal colors +| text | Utility for text processing +| web | Minimal polyfills for browser builtins + +It is possible to reuse the utility in your own project like so: + +```ts +import { ... } from "assemblyscript/util/terminal.js"; +... +``` + +Keep in mind, however, that utility can change at any time. diff --git a/platforms/Arduino/node_modules/assemblyscript/util/browser/fs.js b/platforms/Arduino/node_modules/assemblyscript/util/browser/fs.js new file mode 100644 index 00000000..1339856f --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/util/browser/fs.js @@ -0,0 +1 @@ +export const promises = {}; diff --git a/platforms/Arduino/node_modules/assemblyscript/util/browser/module.js b/platforms/Arduino/node_modules/assemblyscript/util/browser/module.js new file mode 100644 index 00000000..88cb1de2 --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/util/browser/module.js @@ -0,0 +1,5 @@ +export function createRequire() { + return function require(path) { + throw new Error(`Cannot find module: '${path}'`); + }; +} diff --git a/platforms/Arduino/node_modules/assemblyscript/util/browser/path.js b/platforms/Arduino/node_modules/assemblyscript/util/browser/path.js new file mode 100644 index 00000000..113b4b08 --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/util/browser/path.js @@ -0,0 +1,520 @@ +import * as process from "./process.js"; + +// https://github.com/browserify/path-browserify v1.0.1 +// +// Copyright (c) 2013 James Halliday +// Copyright Joyent, Inc. and other Node contributors. +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to permit +// persons to whom the Software is furnished to do so, subject to the +// following conditions: +// +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +// USE OR OTHER DEALINGS IN THE SOFTWARE. + +function assertPath(path) { + if (typeof path !== 'string') { + throw new TypeError('Path must be a string. Received ' + JSON.stringify(path)); + } +} + +// Resolves . and .. elements in a path with directory names +function normalizeStringPosix(path, allowAboveRoot) { + var res = ''; + var lastSegmentLength = 0; + var lastSlash = -1; + var dots = 0; + var code; + for (var i = 0; i <= path.length; ++i) { + if (i < path.length) + code = path.charCodeAt(i); + else if (code === 47 /*/*/) + break; + else + code = 47 /*/*/; + if (code === 47 /*/*/) { + if (lastSlash === i - 1 || dots === 1) { + // NOOP + } else if (lastSlash !== i - 1 && dots === 2) { + if (res.length < 2 || lastSegmentLength !== 2 || res.charCodeAt(res.length - 1) !== 46 || res.charCodeAt(res.length - 2) !== 46) { + if (res.length > 2) { + var lastSlashIndex = res.lastIndexOf('/'); + if (lastSlashIndex !== res.length - 1) { + if (lastSlashIndex === -1) { + res = ''; + lastSegmentLength = 0; + } else { + res = res.slice(0, lastSlashIndex); + lastSegmentLength = res.length - 1 - res.lastIndexOf('/'); + } + lastSlash = i; + dots = 0; + continue; + } + } else if (res.length === 2 || res.length === 1) { + res = ''; + lastSegmentLength = 0; + lastSlash = i; + dots = 0; + continue; + } + } + if (allowAboveRoot) { + if (res.length > 0) + res += '/..'; + else + res = '..'; + lastSegmentLength = 2; + } + } else { + if (res.length > 0) + res += '/' + path.slice(lastSlash + 1, i); + else + res = path.slice(lastSlash + 1, i); + lastSegmentLength = i - lastSlash - 1; + } + lastSlash = i; + dots = 0; + } else if (code === 46 && dots !== -1) { + ++dots; + } else { + dots = -1; + } + } + return res; +} + +function _format(sep, pathObject) { + var dir = pathObject.dir || pathObject.root; + var base = pathObject.base || (pathObject.name || '') + (pathObject.ext || ''); + if (!dir) { + return base; + } + if (dir === pathObject.root) { + return dir + base; + } + return dir + sep + base; +} + +// path.resolve([from ...], to) +export function resolve() { + var resolvedPath = ''; + var resolvedAbsolute = false; + var cwd; + + for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) { + var path; + if (i >= 0) + path = arguments[i]; + else { + if (cwd === undefined) + cwd = process.cwd(); + path = cwd; + } + + assertPath(path); + + // Skip empty entries + if (path.length === 0) { + continue; + } + + resolvedPath = path + '/' + resolvedPath; + resolvedAbsolute = path.charCodeAt(0) === 47 /*/*/; + } + + // At this point the path should be resolved to a full absolute path, but + // handle relative paths to be safe (might happen when process.cwd() fails) + + // Normalize the path + resolvedPath = normalizeStringPosix(resolvedPath, !resolvedAbsolute); + + if (resolvedAbsolute) { + if (resolvedPath.length > 0) + return '/' + resolvedPath; + else + return '/'; + } else if (resolvedPath.length > 0) { + return resolvedPath; + } else { + return '.'; + } +} + +export function normalize(path) { + assertPath(path); + + if (path.length === 0) return '.'; + + var isAbsolute = path.charCodeAt(0) === 47 /*/*/; + var trailingSeparator = path.charCodeAt(path.length - 1) === 47 /*/*/; + + // Normalize the path + path = normalizeStringPosix(path, !isAbsolute); + + if (path.length === 0 && !isAbsolute) path = '.'; + if (path.length > 0 && trailingSeparator) path += '/'; + + if (isAbsolute) return '/' + path; + return path; +} + +export function isAbsolute(path) { + assertPath(path); + return path.length > 0 && path.charCodeAt(0) === 47 /*/*/; +} + +export function join() { + if (arguments.length === 0) + return '.'; + var joined; + for (var i = 0; i < arguments.length; ++i) { + var arg = arguments[i]; + assertPath(arg); + if (arg.length > 0) { + if (joined === undefined) + joined = arg; + else + joined += '/' + arg; + } + } + if (joined === undefined) + return '.'; + return normalize(joined); +} + +export function relative(from, to) { + assertPath(from); + assertPath(to); + + if (from === to) return ''; + + from = resolve(from); + to = resolve(to); + + if (from === to) return ''; + + if (from === ".") return to; // FIX for 'odule.ts' (see issue #1398) + + // Trim any leading backslashes + var fromStart = 1; + for (; fromStart < from.length; ++fromStart) { + if (from.charCodeAt(fromStart) !== 47 /*/*/) + break; + } + var fromEnd = from.length; + var fromLen = fromEnd - fromStart; + + // Trim any leading backslashes + var toStart = 1; + for (; toStart < to.length; ++toStart) { + if (to.charCodeAt(toStart) !== 47 /*/*/) + break; + } + var toEnd = to.length; + var toLen = toEnd - toStart; + + // Compare paths to find the longest common path from root + var length = fromLen < toLen ? fromLen : toLen; + var lastCommonSep = -1; + var i = 0; + for (; i <= length; ++i) { + if (i === length) { + if (toLen > length) { + if (to.charCodeAt(toStart + i) === 47 /*/*/) { + // We get here if `from` is the exact base path for `to`. + // For example: from='/foo/bar'; to='/foo/bar/baz' + return to.slice(toStart + i + 1); + } else if (i === 0) { + // We get here if `from` is the root + // For example: from='/'; to='/foo' + return to.slice(toStart + i); + } + } else if (fromLen > length) { + if (from.charCodeAt(fromStart + i) === 47 /*/*/) { + // We get here if `to` is the exact base path for `from`. + // For example: from='/foo/bar/baz'; to='/foo/bar' + lastCommonSep = i; + } else if (i === 0) { + // We get here if `to` is the root. + // For example: from='/foo'; to='/' + lastCommonSep = 0; + } + } + break; + } + var fromCode = from.charCodeAt(fromStart + i); + var toCode = to.charCodeAt(toStart + i); + if (fromCode !== toCode) + break; + else if (fromCode === 47 /*/*/) + lastCommonSep = i; + } + + var out = ''; + // Generate the relative path based on the path difference between `to` + // and `from` + for (i = fromStart + lastCommonSep + 1; i <= fromEnd; ++i) { + if (i === fromEnd || from.charCodeAt(i) === 47 /*/*/) { + if (out.length === 0) + out += '..'; + else + out += '/..'; + } + } + + // Lastly, append the rest of the destination (`to`) path that comes after + // the common path parts + if (out.length > 0) + return out + to.slice(toStart + lastCommonSep); + else { + toStart += lastCommonSep; + if (to.charCodeAt(toStart) === 47 /*/*/) + ++toStart; + return to.slice(toStart); + } +} + +export function dirname(path) { + assertPath(path); + if (path.length === 0) return '.'; + var code = path.charCodeAt(0); + var hasRoot = code === 47 /*/*/; + var end = -1; + var matchedSlash = true; + for (var i = path.length - 1; i >= 1; --i) { + code = path.charCodeAt(i); + if (code === 47 /*/*/) { + if (!matchedSlash) { + end = i; + break; + } + } else { + // We saw the first non-path separator + matchedSlash = false; + } + } + + if (end === -1) return hasRoot ? '/' : '.'; + if (hasRoot && end === 1) return '//'; + return path.slice(0, end); +} + +export function basename(path, ext) { + if (ext !== undefined && typeof ext !== 'string') throw new TypeError('"ext" argument must be a string'); + assertPath(path); + + var start = 0; + var end = -1; + var matchedSlash = true; + var i; + + if (ext !== undefined && ext.length > 0 && ext.length <= path.length) { + if (ext.length === path.length && ext === path) return ''; + var extIdx = ext.length - 1; + var firstNonSlashEnd = -1; + for (i = path.length - 1; i >= 0; --i) { + var code = path.charCodeAt(i); + if (code === 47 /*/*/) { + // If we reached a path separator that was not part of a set of path + // separators at the end of the string, stop now + if (!matchedSlash) { + start = i + 1; + break; + } + } else { + if (firstNonSlashEnd === -1) { + // We saw the first non-path separator, remember this index in case + // we need it if the extension ends up not matching + matchedSlash = false; + firstNonSlashEnd = i + 1; + } + if (extIdx >= 0) { + // Try to match the explicit extension + if (code === ext.charCodeAt(extIdx)) { + if (--extIdx === -1) { + // We matched the extension, so mark this as the end of our path + // component + end = i; + } + } else { + // Extension does not match, so our result is the entire path + // component + extIdx = -1; + end = firstNonSlashEnd; + } + } + } + } + + if (start === end) end = firstNonSlashEnd;else if (end === -1) end = path.length; + return path.slice(start, end); + } else { + for (i = path.length - 1; i >= 0; --i) { + if (path.charCodeAt(i) === 47 /*/*/) { + // If we reached a path separator that was not part of a set of path + // separators at the end of the string, stop now + if (!matchedSlash) { + start = i + 1; + break; + } + } else if (end === -1) { + // We saw the first non-path separator, mark this as the end of our + // path component + matchedSlash = false; + end = i + 1; + } + } + + if (end === -1) return ''; + return path.slice(start, end); + } +} + +export function extname(path) { + assertPath(path); + var startDot = -1; + var startPart = 0; + var end = -1; + var matchedSlash = true; + // Track the state of characters (if any) we see before our first dot and + // after any path separator we find + var preDotState = 0; + for (var i = path.length - 1; i >= 0; --i) { + var code = path.charCodeAt(i); + if (code === 47 /*/*/) { + // If we reached a path separator that was not part of a set of path + // separators at the end of the string, stop now + if (!matchedSlash) { + startPart = i + 1; + break; + } + continue; + } + if (end === -1) { + // We saw the first non-path separator, mark this as the end of our + // extension + matchedSlash = false; + end = i + 1; + } + if (code === 46) { + // If this is our first dot, mark it as the start of our extension + if (startDot === -1) + startDot = i; + else if (preDotState !== 1) + preDotState = 1; + } else if (startDot !== -1) { + // We saw a non-dot and non-path separator before our dot, so we should + // have a good chance at having a non-empty extension + preDotState = -1; + } + } + + if (startDot === -1 || end === -1 || + // We saw a non-dot character immediately before the dot + preDotState === 0 || + // The (right-most) trimmed path component is exactly '..' + preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) { + return ''; + } + return path.slice(startDot, end); +} + +export function format(pathObject) { + if (pathObject === null || typeof pathObject !== 'object') { + throw new TypeError('The "pathObject" argument must be of type Object. Received type ' + typeof pathObject); + } + return _format('/', pathObject); +} + +export function parse(path) { + assertPath(path); + + var ret = { root: '', dir: '', base: '', ext: '', name: '' }; + if (path.length === 0) return ret; + var code = path.charCodeAt(0); + var isAbsolute = code === 47 /*/*/; + var start; + if (isAbsolute) { + ret.root = '/'; + start = 1; + } else { + start = 0; + } + var startDot = -1; + var startPart = 0; + var end = -1; + var matchedSlash = true; + var i = path.length - 1; + + // Track the state of characters (if any) we see before our first dot and + // after any path separator we find + var preDotState = 0; + + // Get non-dir info + for (; i >= start; --i) { + code = path.charCodeAt(i); + if (code === 47 /*/*/) { + // If we reached a path separator that was not part of a set of path + // separators at the end of the string, stop now + if (!matchedSlash) { + startPart = i + 1; + break; + } + continue; + } + if (end === -1) { + // We saw the first non-path separator, mark this as the end of our + // extension + matchedSlash = false; + end = i + 1; + } + if (code === 46) { + // If this is our first dot, mark it as the start of our extension + if (startDot === -1) startDot = i;else if (preDotState !== 1) preDotState = 1; + } else if (startDot !== -1) { + // We saw a non-dot and non-path separator before our dot, so we should + // have a good chance at having a non-empty extension + preDotState = -1; + } + } + + if (startDot === -1 || end === -1 || + // We saw a non-dot character immediately before the dot + preDotState === 0 || + // The (right-most) trimmed path component is exactly '..' + preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) { + if (end !== -1) { + if (startPart === 0 && isAbsolute) ret.base = ret.name = path.slice(1, end);else ret.base = ret.name = path.slice(startPart, end); + } + } else { + if (startPart === 0 && isAbsolute) { + ret.name = path.slice(1, startDot); + ret.base = path.slice(1, end); + } else { + ret.name = path.slice(startPart, startDot); + ret.base = path.slice(startPart, end); + } + ret.ext = path.slice(startDot, end); + } + + if (startPart > 0) ret.dir = path.slice(0, startPart - 1);else if (isAbsolute) ret.dir = '/'; + + return ret; +} + +export const sep = '/'; +export const delimiter = ':'; +export const win32 = null; diff --git a/platforms/Arduino/node_modules/assemblyscript/util/browser/process.js b/platforms/Arduino/node_modules/assemblyscript/util/browser/process.js new file mode 100644 index 00000000..c0bd3649 --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/util/browser/process.js @@ -0,0 +1,59 @@ +export const platform = "linux"; + +export function cwd() { + return "."; +} + +export function umask() { + return 0; +} + +export const argv = []; + +export function exit(code = 0) { + throw Error(`exit ${code}`); +} + +// https://github.com/kumavis/browser-process-hrtime v1.0.0 +// +// Copyright 2014 kumavis +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE +// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. + +var performance = globalThis.performance || {}; +var performanceNow = performance.now || function() { return new Date().getTime(); }; + +export function hrtime(previousTimestamp) { + var clocktime = performanceNow.call(performance); + var seconds = Math.floor(clocktime * 1e-3); + var nanoseconds = Math.floor(clocktime * 1e6 - seconds * 1e9); + if (previousTimestamp) { + seconds -= previousTimestamp[0]; + nanoseconds -= previousTimestamp[1]; + if (nanoseconds < 0) { + seconds--; + nanoseconds += 1e9; + } + } + return [ seconds, nanoseconds ]; +} diff --git a/platforms/Arduino/node_modules/assemblyscript/util/browser/url.js b/platforms/Arduino/node_modules/assemblyscript/util/browser/url.js new file mode 100644 index 00000000..a8297255 --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/util/browser/url.js @@ -0,0 +1,23 @@ +import * as path from "./path.js"; + +function encodePathChars(filepath) { + return filepath + .replace(/%/g, "%25") + .replace(/\\/g, "%5C") + .replace(/\n/g, "%0A") + .replace(/\r/g, "%0D") + .replace(/\t/g, "%09"); +} + +export function pathToFileURL(filepath) { + let resolved = path.resolve(filepath); + if ( + filepath.charCodeAt(filepath.length - 1) === /* SLASH */ 47 && + resolved[resolved.length - 1] !== path.sep + ) { + resolved += "/"; + } + const url = new URL("file://"); + url.pathname = encodePathChars(resolved); + return url; +} diff --git a/platforms/Arduino/node_modules/assemblyscript/util/cpu.d.ts b/platforms/Arduino/node_modules/assemblyscript/util/cpu.d.ts new file mode 100644 index 00000000..0d776160 --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/util/cpu.d.ts @@ -0,0 +1,9 @@ +/** + * @fileoverview CPU utility definitions. + * @license Apache-2.0 + */ + +/** Number of threads. */ +export const threadCount: number; +/** Number of cores. */ +export const coreCount: number; diff --git a/platforms/Arduino/node_modules/assemblyscript/util/cpu.js b/platforms/Arduino/node_modules/assemblyscript/util/cpu.js new file mode 100644 index 00000000..0f140e3d --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/util/cpu.js @@ -0,0 +1,42 @@ +/** + * @fileoverview CPU utility. + * @license Apache-2.0 + */ + +// https://www.npmjs.com/package/physical-cpu-count + +import os from "os"; +import childProcess from "child_process"; + +const cpus = os.cpus(); + +function exec(command) { + return childProcess.execSync(command, {encoding: 'utf8'}); +} + +var coreCount; + +const platform = os.platform(); +if (platform === "linux") { + const output = exec("lscpu -p | egrep -v \"^#\" | sort -u -t, -k 2,4 | wc -l"); + coreCount = parseInt(output.trim(), 10); +} else if (platform === "darwin") { + const output = exec("sysctl -n hw.physicalcpu_max"); + coreCount = parseInt(output.trim(), 10); +} else if (platform === "windows") { + const output = exec("WMIC CPU Get NumberOfCores"); + coreCount = output.split(os.EOL) + .map(line => parseInt(line)) + .filter(value => !isNaN(value)) + .reduce((sum, number) => sum + number, 0); +} else { + const cores = cpus.filter(function (cpu, index) { + const hasHyperthreading = cpu.model.includes("Intel"); + const isOdd = index % 2 === 1; + return !hasHyperthreading || isOdd; + }); + coreCount = cores.length; +} + +export const threadCount = cpus.length; +export { coreCount }; diff --git a/platforms/Arduino/node_modules/assemblyscript/util/find.d.ts b/platforms/Arduino/node_modules/assemblyscript/util/find.d.ts new file mode 100644 index 00000000..5d7e219a --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/util/find.d.ts @@ -0,0 +1,6 @@ +/** + * @fileoverview File finding utility definitions. + * @license Apache-2.0 + */ + +export function findFiles(dirname: string, filter?: ((name: string) => boolean) | RegExp): string[]; diff --git a/platforms/Arduino/node_modules/assemblyscript/util/find.js b/platforms/Arduino/node_modules/assemblyscript/util/find.js new file mode 100644 index 00000000..8e1ed788 --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/util/find.js @@ -0,0 +1,20 @@ +/** + * @fileoverview File finding utility. + * @license Apache-2.0 + */ + +import { fs, path } from "./node.js"; + +export function findFiles(dirname, filter) { + var out = []; + fs.readdirSync(dirname).forEach(name => { + if (fs.statSync(path.join(dirname, name)).isDirectory()) { + findFiles(path.join(dirname, name), filter).forEach(iname => out.push(name + "/" + iname)); + } else if (!filter || typeof filter === "function" ? filter(name) : filter.test(name)) { + out.push(name); + } + }); + return out; +} + +export default findFiles; diff --git a/platforms/Arduino/node_modules/assemblyscript/util/node.d.ts b/platforms/Arduino/node_modules/assemblyscript/util/node.d.ts new file mode 100644 index 00000000..25575020 --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/util/node.d.ts @@ -0,0 +1,21 @@ +/** + * @fileoverview Node polyfill definitions. + * @license Apache-2.0 + */ + +import fs from "fs"; +import module from "module"; +import path from "path"; +import process from "process"; +import url from "url"; + +/** Whether the environment is Node.js. */ +export const isNode: boolean; + +export { + fs, + module, + path, + process, + url +}; diff --git a/platforms/Arduino/node_modules/assemblyscript/util/node.js b/platforms/Arduino/node_modules/assemblyscript/util/node.js new file mode 100644 index 00000000..29953de1 --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/util/node.js @@ -0,0 +1,34 @@ +/** + * @fileoverview Node.js polyfills. + * @license Apache-2.0 + */ + +export const isNode = Object.prototype.toString.call(typeof globalThis.process !== 'undefined' ? globalThis.process : 0) === '[object process]'; + +var fs; +var module; +var path; +var process; +var url; + +if (isNode) { + fs = await import("fs"); + module = await import("module"); + path = await import("path"); + process = globalThis.process; + url = await import("url"); +} else { + fs = await import("./browser/fs.js"); + module = await import("./browser/module.js"); + path = await import("./browser/path.js"); + process = await import("./browser/process.js"); + url = await import("./browser/url.js"); +} + +export { + fs, + module, + path, + process, + url +}; diff --git a/platforms/Arduino/node_modules/assemblyscript/util/options.d.ts b/platforms/Arduino/node_modules/assemblyscript/util/options.d.ts new file mode 100644 index 00000000..facc36d6 --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/util/options.d.ts @@ -0,0 +1,70 @@ +/** + * @fileoverview Command line options utility definitions. + * @license Apache-2.0 + */ + +/** A set of options. */ +export interface OptionSet { + [key: string]: number | string +} + +/** Command line option description. */ +export interface OptionDescription { + /** Textual description. */ + description?: string | string[], + /** Data type. One of (b)oolean [default], (i)nteger, (f)loat or (s)tring. Uppercase means multiple values. */ + type?: "b" | "i" | "f" | "s" | "I" | "F" | "S", + /** Substituted options, if any. */ + value?: OptionSet, + /** Short alias, if any. */ + alias?: string + /** The default value, if any. */ + default?: string | number | boolean | string[] | number[]; + /** The category this option belongs in. */ + category?: string; +} + +/** Configuration object. */ +export interface Config { + [key: string]: OptionDescription; +} + +/** Parsing result. */ +export interface Result { + /** Parsed options. */ + options: OptionSet, + /** Unknown options. */ + unknown: string[], + /** Normal arguments. */ + arguments: string[], + /** Trailing arguments. */ + trailing: string[] +} + +/** Parses the specified command line arguments according to the given configuration. */ +export function parse(argv: string[], config: Config, propagateDefaults?: boolean): Result; + +/** Help formatting options. */ +export interface HelpOptions { + /** Leading indent. Defaults to 2. */ + indent?: number, + /** Table padding. Defaults to 24. */ + padding?: number, + /** End of line character. Defaults to "\n". */ + eol?: string +} + +/** Generates the help text for the specified configuration. */ +export function help(config: Config, options?: HelpOptions): string; + +/** Merges two sets of options into one, preferring the current over the parent set. */ +export function merge(config: Config, currentOptions: OptionSet, parentOptions: OptionSet, parentBaseDir: string): OptionSet; + +/** Normalizes a path. */ +export function normalizePath(path: string): string; + +/** Resolves a single relative path. Keeps absolute paths, otherwise prepends baseDir. */ +export function resolvePath(path: string, baseDir: string, useNodeResolution?: boolean): string; + +/** Populates default values on a parsed options result. */ +export function addDefaults(config: Config, options: OptionSet): void; diff --git a/platforms/Arduino/node_modules/assemblyscript/util/options.js b/platforms/Arduino/node_modules/assemblyscript/util/options.js new file mode 100644 index 00000000..7b1c2de6 --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/util/options.js @@ -0,0 +1,262 @@ +/** + * @fileoverview Command line options utility. + * @license Apache-2.0 + */ + +import { path, module } from "./node.js"; +import { stdoutColors } from "./terminal.js"; + +const require = module.createRequire(import.meta.url); + +// type | meaning +// -----|--------------- +// b | boolean +// i | integer +// f | float +// s | string +// I | integer array +// F | float array +// S | string array + +/** Parses the specified command line arguments according to the given configuration. */ +export function parse(argv, config, propagateDefaults = true) { + var options = {}; + var unknown = []; + var args = []; + var trailing = []; + + // make an alias map and initialize defaults + var aliases = {}; + Object.keys(config).forEach(key => { + if (key.startsWith(" ")) return; + var option = config[key]; + if (option.alias != null) { + if (typeof option.alias === "string") aliases[option.alias] = key; + else if (Array.isArray(option.alias)) option.alias.forEach(alias => aliases[alias] = key); + } + if (propagateDefaults && option.default != null) options[key] = option.default; + }); + + // iterate over argv + for (var i = 0, k = (argv = argv.slice()).length; i < k; ++i) { + let arg = argv[i]; + if (arg == "--") { ++i; break; } + let match = /^(?:(-\w)(?:=(.*))?|(--\w{2,})(?:=(.*))?)$/.exec(arg), option, key; + if (match) { + if (config[arg]) option = config[key = arg]; // exact + else if (match[1] != null) { // alias + option = config[key = aliases[match[1].substring(1)]]; + if (option && match[2] != null) argv[i--] = match[2]; + } else if (match[3] != null) { // full + option = config[key = match[3].substring(2)]; + if (option && match[4] != null) argv[i--] = match[4]; + } + } else { + if (arg.charCodeAt(0) == 45) option = config[key = arg]; // exact + else { args.push(arg); continue; } // argument + } + if (option) { + if (option.value) { + // alias setting fixed values + Object.keys(option.value).forEach(k => options[k] = option.value[k]); + } else if (option.type == null || option.type === "b") { + // boolean flag not taking a value + options[key] = true; + } else { + if (i + 1 < argv.length && argv[i + 1].charCodeAt(0) != 45) { + // non-boolean with given value + switch (option.type) { + case "i": options[key] = parseInt(argv[++i], 10); break; + case "I": options[key] = (options[key] || []).concat(parseInt(argv[++i], 10)); break; + case "f": options[key] = parseFloat(argv[++i]); break; + case "F": options[key] = (options[key] || []).concat(parseFloat(argv[++i])); break; + case "s": options[key] = String(argv[++i]); break; + case "S": options[key] = (options[key] || []).concat(argv[++i].split(",")); break; + default: unknown.push(arg); --i; + } + } else { + // non-boolean with omitted value + switch (option.type) { + case "i": + case "f": options[key] = option.default || 0; break; + case "s": options[key] = option.default || ""; break; + case "I": + case "F": + case "S": options[key] = option.default || []; break; + default: unknown.push(arg); + } + } + } + } else unknown.push(arg); + } + while (i < k) trailing.push(argv[i++]); // trailing + if (propagateDefaults) addDefaults(config, options); + + return { options, unknown, arguments: args, trailing }; +} + +/** Generates the help text for the specified configuration. */ +export function help(config, options) { + if (!options) options = {}; + var indent = options.indent || 2; + var padding = options.padding || 24; + var eol = options.eol || "\n"; + var sbCategories = {}; + var sbOther = []; + Object.keys(config).forEach(key => { + var option = config[key]; + if (option.description == null) return; + var text = ""; + while (text.length < indent) text += " "; + text += "--" + key; + if (option.alias) text += ", -" + option.alias; + while (text.length < padding) text += " "; + var sb; + if (!options.noCategories && option.category) { + if (!(sb = sbCategories[option.category])) { + sbCategories[option.category] = sb = []; + } + } else { + sb = sbOther; + } + if (Array.isArray(option.description)) { + sb.push(text + option.description[0] + option.description.slice(1).map(line => { + for (let i = 0; i < padding; ++i) line = " " + line; + return eol + line; + }).join("")); + } else sb.push(text + option.description); + }); + var sb = []; + var hasCategories = false; + Object.keys(sbCategories).forEach(category => { + hasCategories = true; + sb.push(eol + " " + stdoutColors.gray(category) + eol); + sb.push(sbCategories[category].join(eol)); + }); + if (hasCategories && sbOther.length) { + sb.push(eol + " " + stdoutColors.gray("Other") + eol); + } + sb.push(sbOther.join(eol)); + return sb.join(eol); +} + +/** Sanitizes an option value to be a valid value of the option's type. */ +function sanitizeValue(value, type) { + if (value != null) { + switch (type) { + case undefined: + case "b": return Boolean(value); + case "i": return Math.trunc(value) || 0; + case "f": return Number(value) || 0; + case "s": { + if (value === true) return ""; + if (value === false) return null; + return String(value); + } + case "I": { + if (!Array.isArray(value)) value = [ value ]; + return value.map(v => Math.trunc(v) || 0); + } + case "F": { + if (!Array.isArray(value)) value = [ value ]; + return value.map(v => Number(v) || 0); + } + case "S": { + if (!Array.isArray(value)) value = [ value ]; + return value.map(String); + } + } + } + return undefined; +} + +/** Merges two sets of options into one, preferring the current over the parent set. */ +export function merge(config, currentOptions, parentOptions, parentBaseDir) { + const mergedOptions = {}; + for (const [key, { type, mutuallyExclusive, isPath, useNodeResolution, cliOnly }] of Object.entries(config)) { + let currentValue = sanitizeValue(currentOptions[key], type); + let parentValue = sanitizeValue(parentOptions[key], type); + if (currentValue == null) { + if (parentValue != null) { + // only parent value present + if (cliOnly) continue; + if (Array.isArray(parentValue)) { + let exclude; + if (isPath) { + parentValue = parentValue.map(value => resolvePath(value, parentBaseDir, useNodeResolution)); + } + if (mutuallyExclusive != null && (exclude = currentOptions[mutuallyExclusive])) { + mergedOptions[key] = parentValue.filter(value => !exclude.includes(value)); + } else { + mergedOptions[key] = parentValue.slice(); + } + } else { + if (isPath) { + parentValue = resolvePath(parentValue, parentBaseDir, useNodeResolution); + } + mergedOptions[key] = parentValue; + } + } + } else if (parentValue == null) { + // only current value present + if (Array.isArray(currentValue)) { + mergedOptions[key] = currentValue.slice(); + } else { + mergedOptions[key] = currentValue; + } + } else { + // both current and parent values present + if (Array.isArray(currentValue)) { + if (cliOnly) { + mergedOptions[key] = currentValue.slice(); + continue; + } + let exclude; + if (isPath) { + parentValue = parentValue.map(value => resolvePath(value, parentBaseDir, useNodeResolution)); + } + if (mutuallyExclusive != null && (exclude = currentOptions[mutuallyExclusive])) { + mergedOptions[key] = [ + ...currentValue, + ...parentValue.filter(value => !currentValue.includes(value) && !exclude.includes(value)) + ]; + } else { + mergedOptions[key] = [ + ...currentValue, + ...parentValue.filter(value => !currentValue.includes(value)) // dedup + ]; + } + } else { + mergedOptions[key] = currentValue; + } + } + } + return mergedOptions; +} + +/** Normalizes a path. */ +export function normalizePath(p) { + const parsed = path.parse(p); + if (!parsed.root) { + parsed.root = "./"; + } + return path.format(parsed); +} + +/** Resolves a single possibly relative path. Keeps absolute paths, otherwise prepends baseDir. */ +export function resolvePath(p, baseDir, useNodeResolution = false) { + if (path.isAbsolute(p)) return p; + if (useNodeResolution && !p.startsWith(".") && require.resolve) { + return require.resolve(p, { paths: [ baseDir ] }); + } + return normalizePath(path.join(baseDir, p)); +} + +/** Populates default values on a parsed options result. */ +export function addDefaults(config, options) { + for (const [key, { default: defaultValue }] of Object.entries(config)) { + if (options[key] == null && defaultValue != null) { + options[key] = defaultValue; + } + } +} diff --git a/platforms/Arduino/node_modules/assemblyscript/util/terminal.d.ts b/platforms/Arduino/node_modules/assemblyscript/util/terminal.d.ts new file mode 100644 index 00000000..2adc19bd --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/util/terminal.d.ts @@ -0,0 +1,52 @@ +/** + * @fileoverview Terminal colors utility definitions. + * @license Apache-2.0 + */ + +/** Color code for gray. */ +export const GRAY: string; +/** Color code for red. */ +export const RED: string; +/** Color code for green. */ +export const GREEN: string; +/** Color code for yellow. */ +export const YELLOW: string; +/** Color code for blue. */ +export const BLUE: string; +/** Color code for magenta. */ +export const MAGENTA: string; +/** Color code for cyan. */ +export const CYAN: string; +/** Color code for white. */ +export const WHITE: string; +/** Code to reset any colors. */ +export const RESET: string; + +/** Color utility class. */ +export class Colors { + /** Constructs a new instance for the given stream. */ + constructor(stream: { isTTY: boolean }); + /** Whether terminal colors are enabled. */ + enabled: boolean; + /** Colors a string in gray if {@link enabled}. */ + gray(text: string): string; + /** Colors a string in red if {@link enabled}. */ + red(text: string): string; + /** Colors a string in green if {@link enabled}. */ + green(text: string): string; + /** Colors a string in yellow if {@link enabled}. */ + yellow(text: string): string; + /** Colors a string in blue if {@link enabled}. */ + blue(text: string): string; + /** Colors a string in magenta if {@link enabled}. */ + magenta(text: string): string; + /** Colors a string in cyan if {@link enabled}. */ + cyan(text: string): string; + /** Colors a string in white if {@link enabled}. */ + white(text: string): string; +} + +/** Color utility for stdout. */ +export const stdoutColors: Colors; +/** Color utility for stderr. */ +export const stderrColors: Colors; diff --git a/platforms/Arduino/node_modules/assemblyscript/util/terminal.js b/platforms/Arduino/node_modules/assemblyscript/util/terminal.js new file mode 100644 index 00000000..93ceee94 --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/util/terminal.js @@ -0,0 +1,35 @@ +/** + * @fileoverview Terminal utility. + * @license Apache-2.0 + */ + +var proc = typeof process !== "undefined" && process || {}; +var isCI = proc.env && "CI" in proc.env; + +export const GRAY = "\u001b[90m"; +export const RED = "\u001b[91m"; +export const GREEN = "\u001b[92m"; +export const YELLOW = "\u001b[93m"; +export const BLUE = "\u001b[94m"; +export const MAGENTA = "\u001b[95m"; +export const CYAN = "\u001b[96m"; +export const WHITE = "\u001b[97m"; +export const RESET = "\u001b[0m"; + +export class Colors { + constructor(stream) { + this.stream = stream; + this.enabled = Boolean((this.stream && this.stream.isTTY) || isCI); + } + gray(text) { return this.enabled ? GRAY + text + RESET : text; } + red(text) { return this.enabled ? RED + text + RESET : text; } + green(text) { return this.enabled ? GREEN + text + RESET : text; } + yellow(text) { return this.enabled ? YELLOW + text + RESET : text; } + blue(text) { return this.enabled ? BLUE + text + RESET : text; } + magenta(text) { return this.enabled ? MAGENTA + text + RESET : text; } + cyan(text) { return this.enabled ? CYAN + text + RESET : text; } + white(text) { return this.enabled ? WHITE + text + RESET : text; } +} + +export const stdoutColors = new Colors(proc.stdout); +export const stderrColors = new Colors(proc.stderr); diff --git a/platforms/Arduino/node_modules/assemblyscript/util/text.d.ts b/platforms/Arduino/node_modules/assemblyscript/util/text.d.ts new file mode 100644 index 00000000..d2eec9e2 --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/util/text.d.ts @@ -0,0 +1,26 @@ +/** + * @fileoverview Text utility definitions. + * @license Apache-2.0 + */ + +/** Calculates the UTF-8 byte length of a string. */ +export function utf8Length(string: string): number; + +/** Reads UTF-8 bytes as a string. */ +export function utf8Read(buffer: Uint8Array, start: number, end: number): string; + +/** Writes a string as UTF-8 bytes. */ +export function utf8Write(string: string, buffer: Uint8Array, offset: number): number; + +/** UTF-8 utility. */ +export const utf8: { + /** Calculates the UTF8 byte length of a string. */ + length: typeof utf8Length; + /** Reads UTF8 bytes as a string. */ + read: typeof utf8Read; + /** Writes a string as UTF8 bytes. */ + write: typeof utf8Write; +}; + +/** Computes the difference between an expected and its actual text. */ +export function diff(filename: string, expected: string, actual: string): string; diff --git a/platforms/Arduino/node_modules/assemblyscript/util/text.js b/platforms/Arduino/node_modules/assemblyscript/util/text.js new file mode 100644 index 00000000..b7accf9f --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/util/text.js @@ -0,0 +1,114 @@ +/** + * @fileoverview Text utility. + * @license Apache-2.0 + */ + +import * as Diff from "diff"; +import { stdoutColors } from "./terminal.js"; + +export function utf8Length(string) { + var len = 0; + for (var i = 0, k = string.length; i < k; ++i) { + let c = string.charCodeAt(i); + if (c < 128) { + len += 1; + } else if (c < 2048) { + len += 2; + } else if ((c & 0xFC00) === 0xD800 && i + 1 < k && (string.charCodeAt(i + 1) & 0xFC00) === 0xDC00) { + ++i; + len += 4; + } else { + len += 3; + } + } + return len; +} + +export function utf8Read(buffer, start, end) { + var len = end - start; + if (len < 1) return ""; + var parts = null, + chunk = [], + i = 0, // char offset + t; // temporary + while (start < end) { + t = buffer[start++]; + if (t < 128) { + chunk[i++] = t; + } else if (t > 191 && t < 224) { + chunk[i++] = (t & 31) << 6 | buffer[start++] & 63; + } else if (t > 239 && t < 365) { + t = ((t & 7) << 18 | (buffer[start++] & 63) << 12 | (buffer[start++] & 63) << 6 | buffer[start++] & 63) - 0x10000; + chunk[i++] = 0xD800 + (t >> 10); + chunk[i++] = 0xDC00 + (t & 1023); + } else { + chunk[i++] = (t & 15) << 12 | (buffer[start++] & 63) << 6 | buffer[start++] & 63; + } + if (i >= 8192) { + (parts || (parts = [])).push(String.fromCharCode(...chunk)); + i = 0; + } + } + if (parts) { + if (i) parts.push(String.fromCharCode(...chunk.slice(0, i))); + return parts.join(""); + } + return String.fromCharCode(...chunk.slice(0, i)); +} + +export function utf8Write(string, buffer, offset) { + var start = offset; + for (var i = 0, k = string.length; i < k; ++i) { + let c1 = string.charCodeAt(i), c2; + if (c1 < 128) { + buffer[offset++] = c1; + } else if (c1 < 2048) { + buffer[offset++] = c1 >> 6 | 192; + buffer[offset++] = c1 & 63 | 128; + } else if ((c1 & 0xFC00) === 0xD800 && i + 1 < k && ((c2 = string.charCodeAt(i + 1)) & 0xFC00) === 0xDC00) { + c1 = 0x10000 + ((c1 & 0x03FF) << 10) + (c2 & 0x03FF); + ++i; + buffer[offset++] = c1 >> 18 | 240; + buffer[offset++] = c1 >> 12 & 63 | 128; + buffer[offset++] = c1 >> 6 & 63 | 128; + buffer[offset++] = c1 & 63 | 128; + } else { + buffer[offset++] = c1 >> 12 | 224; + buffer[offset++] = c1 >> 6 & 63 | 128; + buffer[offset++] = c1 & 63 | 128; + } + } + return offset - start; +} + +export const utf8 = { + length: utf8Length, + read: utf8Read, + write: utf8Write +}; + +export function diff(filename, expected, actual) { + const diff = Diff.structuredPatch(filename, filename, expected, actual, "expected", "actual", { context: 5 }); + if (!diff.hunks.length) return null; + + const out = [ + '--- ' + diff.oldHeader, + '+++ ' + diff.newHeader + ]; + for (const hunk of diff.hunks) { + out.push( + '@@ -' + hunk.oldStart + ',' + hunk.oldLines + + ' +' + hunk.newStart + ',' + hunk.newLines + + ' @@' + ); + out.push(...hunk.lines.map(line => + line.charAt(0) === "+" + ? stdoutColors.green(line) + : line.charAt(0) === "-" + ? line = stdoutColors.red(line) + : line + )); + } + + return out.join('\n') + '\n'; +} diff --git a/platforms/Arduino/node_modules/assemblyscript/util/tsconfig.json b/platforms/Arduino/node_modules/assemblyscript/util/tsconfig.json new file mode 100644 index 00000000..36ec54ed --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/util/tsconfig.json @@ -0,0 +1,9 @@ +{ + "extends": "../tsconfig-base.json", + "compilerOptions": { + "esModuleInterop": true + }, + "include": [ + "./**/*.ts" + ] +} diff --git a/platforms/Arduino/node_modules/assemblyscript/util/web.d.ts b/platforms/Arduino/node_modules/assemblyscript/util/web.d.ts new file mode 100644 index 00000000..4433ca23 --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/util/web.d.ts @@ -0,0 +1,11 @@ +/** + * @fileoverview Web polyfill definitions. + * @license Apache-2.0 + */ + +/** Fetches a file. */ +export function fetch(url: string): Promise<{ + arrayBuffer(): Promise; + text(): Promise; + json(): Promise; // eslint-disable-line @typescript-eslint/no-explicit-any +}>; diff --git a/platforms/Arduino/node_modules/assemblyscript/util/web.js b/platforms/Arduino/node_modules/assemblyscript/util/web.js new file mode 100644 index 00000000..1cddb1c3 --- /dev/null +++ b/platforms/Arduino/node_modules/assemblyscript/util/web.js @@ -0,0 +1,33 @@ +/** + * @fileoverview Web polyfills. + * @license Apache-2.0 + */ + +import { fs } from "./node.js"; + +var _fetch = typeof fetch === "function" ? fetch : + url => new Promise((resolve, reject) => { // eslint-disable-line no-global-assign + fs.readFile(url, (err, data) => { + if (err) reject(err); + resolve({ + arrayBuffer() { + let offset = data.byteOffset; + return Promise.resolve(data.buffer.slice(offset, offset + data.byteLength)); + }, + text() { + return Promise.resolve(data.toString()); + }, + json() { + try { + return Promise.resolve(JSON.parse(data.toString())); + } catch (err) { + return Promise.reject(err); + } + } + }); + }); + }); + +export { + _fetch as fetch +}; diff --git a/platforms/Arduino/node_modules/binaryen/LICENSE b/platforms/Arduino/node_modules/binaryen/LICENSE new file mode 100644 index 00000000..9c8f3ea0 --- /dev/null +++ b/platforms/Arduino/node_modules/binaryen/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. \ No newline at end of file diff --git a/platforms/Arduino/node_modules/binaryen/README.md b/platforms/Arduino/node_modules/binaryen/README.md new file mode 100644 index 00000000..52793988 --- /dev/null +++ b/platforms/Arduino/node_modules/binaryen/README.md @@ -0,0 +1,1318 @@ +binaryen.js +=========== + +**binaryen.js** is a port of [Binaryen](https://github.com/WebAssembly/binaryen) to the Web, allowing you to generate [WebAssembly](https://webassembly.org) using a JavaScript API. + +Build status +npm version +npm nightly version + +Usage +----- + +``` +$> npm install binaryen +``` + +```js +import binaryen from "binaryen"; + +// Create a module with a single function +var myModule = new binaryen.Module(); + +myModule.addFunction("add", binaryen.createType([ binaryen.i32, binaryen.i32 ]), binaryen.i32, [ binaryen.i32 ], + myModule.block(null, [ + myModule.local.set(2, + myModule.i32.add( + myModule.local.get(0, binaryen.i32), + myModule.local.get(1, binaryen.i32) + ) + ), + myModule.return( + myModule.local.get(2, binaryen.i32) + ) + ]) +); +myModule.addFunctionExport("add", "add"); + +// Optimize the module using default passes and levels +myModule.optimize(); + +// Validate the module +if (!myModule.validate()) + throw new Error("validation error"); + +// Generate text format and binary +var textData = myModule.emitText(); +var wasmData = myModule.emitBinary(); + +// Example usage with the WebAssembly API +var compiled = new WebAssembly.Module(wasmData); +var instance = new WebAssembly.Instance(compiled, {}); +console.log(instance.exports.add(41, 1)); +``` + +The buildbot also publishes nightly versions once a day if there have been changes. The latest nightly can be installed through + +``` +$> npm install binaryen@nightly +``` + +or you can use one of the [previous versions](https://github.com/AssemblyScript/binaryen.js/tags) instead if necessary. + +### Usage with a CDN + + * From GitHub via [jsDelivr](https://www.jsdelivr.com):
+ `https://cdn.jsdelivr.net/gh/AssemblyScript/binaryen.js@VERSION/index.js` + * From npm via [jsDelivr](https://www.jsdelivr.com):
+ `https://cdn.jsdelivr.net/npm/binaryen@VERSION/index.js` + * From npm via [unpkg](https://unpkg.com):
+ `https://unpkg.com/binaryen@VERSION/index.js` + + Replace `VERSION` with a [specific version](https://github.com/AssemblyScript/binaryen.js/releases) or omit it (not recommended in production) to use main/latest. + +### Command line + +The package includes Node.js builds of [wasm-opt](https://github.com/WebAssembly/binaryen#wasm-opt) and [wasm2js](https://github.com/WebAssembly/binaryen#wasm2js). + +API +--- + +**Please note** that the Binaryen API is evolving fast and that definitions and documentation provided by the package tend to get out of sync despite our best efforts. It's a bot after all. If you rely on binaryen.js and spot an issue, please consider sending a PR our way by updating [index.d.ts](./index.d.ts) and [README.md](./README.md) to reflect the [current API](https://github.com/WebAssembly/binaryen/blob/main/src/js/binaryen.js-post.js). + + + +### Contents + +- [Types](#types) +- [Module construction](#module-construction) +- [Module manipulation](#module-manipulation) +- [Module validation](#module-validation) +- [Module optimization](#module-optimization) +- [Module creation](#module-creation) +- [Expression construction](#expression-construction) + - [Control flow](#control-flow) + - [Variable accesses](#variable-accesses) + - [Integer operations](#integer-operations) + - [Floating point operations](#floating-point-operations) + - [Datatype conversions](#datatype-conversions) + - [Function calls](#function-calls) + - [Linear memory accesses](#linear-memory-accesses) + - [Host operations](#host-operations) + - [Bulk memory operations](#bulk-memory-operations-) + - [Sign extension operations](#sign-extension-operations-) + - [Reference types operations](#reference-types-operations-) + - [Vector operations](#vector-operations-) + - [Multi-value operations](#multi-value-operations-) + - [Atomic memory accesses 🦄](#atomic-memory-accesses-) + - [Atomic read-modify-write operations 🦄](#atomic-read-modify-write-operations-) + - [Atomic wait and notify operations 🦄](#atomic-wait-and-notify-operations-) + - [Exception handling operations 🦄](#exception-handling-operations-) +- [Expression manipulation](#expression-manipulation) +- [Relooper](#relooper) +- [Source maps](#source-maps) +- [Debugging](#debugging) + + + +[Future features](http://webassembly.org/docs/future-features/) 🦄 might not be supported by all runtimes. + +### Types + + * **none**: `Type`
+ The none type, e.g., `void`. + + * **i32**: `Type`
+ 32-bit integer type. + + * **i64**: `Type`
+ 64-bit integer type. + + * **f32**: `Type`
+ 32-bit float type. + + * **f64**: `Type`
+ 64-bit float (double) type. + + * **v128**: `Type`
+ 128-bit vector type. 🦄 + + * **funcref**: `Type`
+ A function reference. 🦄 + + * **externref**: `Type`
+ An external (host) reference. 🦄 + + * **anyref**: `Type`
+ Any (top type) reference. 🦄 + + * **eqref**: `Type`
+ Equal reference. 🦄 + + * **i31ref**: `Type`
+ i31 reference. 🦄 + + * **dataref**: `Type`
+ Data reference. 🦄 + + * **stringref**: `Type`
+ String reference. 🦄 + + * **stringview_wtf8**: `Type`
+ View of a string reference in [WTF-8](https://simonsapin.github.io/wtf-8/) encoding. 🦄 + + * **stringview_wtf16**: `Type`
+ View of a string reference in [WTF-16](https://simonsapin.github.io/wtf-8/#wtf-16) encoding. 🦄 + + * **stringview_iter**: `Type`
+ Iterator over the code points of a string reference. 🦄 + + * **unreachable**: `Type`
+ Special type indicating unreachable code when obtaining information about an expression. + + * **auto**: `Type`
+ Special type used in **Module#block** exclusively. Lets the API figure out a block's result type automatically. + + * **createType**(types: `Type[]`): `Type`
+ Creates a multi-value type from an array of types. + + * **expandType**(type: `Type`): `Type[]`
+ Expands a multi-value type to an array of types. + +### Module construction + + * new **Module**()
+ Constructs a new module. + + * **parseText**(text: `string`): `Module`
+ Creates a module from Binaryen's s-expression text format (not official stack-style text format). + + * **readBinary**(data: `Uint8Array`): `Module`
+ Creates a module from binary data. + +### Module manipulation + +* Module#**addFunction**(name: `string`, params: `Type`, results: `Type`, vars: `Type[]`, body: `ExpressionRef`): `FunctionRef`
+ Adds a function. `vars` indicate additional locals, in the given order. + +* Module#**getFunction**(name: `string`): `FunctionRef`
+ Gets a function, by name, + +* Module#**removeFunction**(name: `string`): `void`
+ Removes a function, by name. + +* Module#**getNumFunctions**(): `number`
+ Gets the number of functions within the module. + +* Module#**getFunctionByIndex**(index: `number`): `FunctionRef`
+ Gets the function at the specified index. + +* Module#**addFunctionImport**(internalName: `string`, externalModuleName: `string`, externalBaseName: `string`, params: `Type`, results: `Type`): `void`
+ Adds a function import. + +* Module#**addTableImport**(internalName: `string`, externalModuleName: `string`, externalBaseName: `string`): `void`
+ Adds a table import. There's just one table for now, using name `"0"`. + +* Module#**addMemoryImport**(internalName: `string`, externalModuleName: `string`, externalBaseName: `string`): `void`
+ Adds a memory import. There's just one memory for now, using name `"0"`. + +* Module#**addGlobalImport**(internalName: `string`, externalModuleName: `string`, externalBaseName: `string`, globalType: `Type`): `void`
+ Adds a global variable import. Imported globals must be immutable. + +* Module#**addFunctionExport**(internalName: `string`, externalName: `string`): `ExportRef`
+ Adds a function export. + +* Module#**addTableExport**(internalName: `string`, externalName: `string`): `ExportRef`
+ Adds a table export. There's just one table for now, using name `"0"`. + +* Module#**addMemoryExport**(internalName: `string`, externalName: `string`): `ExportRef`
+ Adds a memory export. There's just one memory for now, using name `"0"`. + +* Module#**addGlobalExport**(internalName: `string`, externalName: `string`): `ExportRef`
+ Adds a global variable export. Exported globals must be immutable. + +* Module#**getNumExports**(): `number`
+ Gets the number of exports witin the module. + +* Module#**getExportByIndex**(index: `number`): `ExportRef`
+ Gets the export at the specified index. + +* Module#**removeExport**(externalName: `string`): `void`
+ Removes an export, by external name. + +* Module#**addGlobal**(name: `string`, type: `Type`, mutable: `number`, value: `ExpressionRef`): `GlobalRef`
+ Adds a global instance variable. + +* Module#**getGlobal**(name: `string`): `GlobalRef`
+ Gets a global, by name, + +* Module#**removeGlobal**(name: `string`): `void`
+ Removes a global, by name. + +* Module#**setMemory**(initial: `number`, maximum: `number`, exportName: `string | null`, segments: `MemorySegment[]`, shared?: `boolean`): `void`
+ Sets the memory. There's just one memory for now, using name `"0"`. Providing `exportName` also creates a memory export. + + * MemorySegment#**offset**: `ExpressionRef` + * MemorySegment#**data**: `Uint8Array` + * MemorySegment#**passive**: `boolean` + +* Module#**getNumMemorySegments**(): `number`
+ Gets the number of memory segments within the module. + +* Module#**getMemorySegmentInfoByIndex**(index: `number`): `MemorySegmentInfo`
+ Gets information about the memory segment at the specified index. + + * MemorySegmentInfo#**offset**: `number` + * MemorySegmentInfo#**data**: `Uint8Array` + * MemorySegmentInfo#**passive**: `boolean` + +* Module#**setStart**(start: `FunctionRef`): `void`
+ Sets the start function. + +* Module#**getFeatures**(): `Features`
+ Gets the WebAssembly features enabled for this module. + + Note that the return value may be a bitmask indicating multiple features. Possible feature flags are: + + * Features.**MVP**: `Features` + * Features.**Atomics**: `Features` + * Features.**BulkMemory**: `Features` + * Features.**MutableGlobals**: `Features` + * Features.**NontrappingFPToInt**: `Features` + * Features.**SignExt**: `Features` + * Features.**SIMD128**: `Features` + * Features.**ExceptionHandling**: `Features` + * Features.**TailCall**: `Features` + * Features.**ReferenceTypes**: `Features` + * Features.**Multivalue**: `Features` + * Features.**All**: `Features` + +* Module#**setFeatures**(features: `Features`): `void`
+ Sets the WebAssembly features enabled for this module. + +* Module#**addCustomSection**(name: `string`, contents: `Uint8Array`): `void`
+ Adds a custom section to the binary. + +* Module#**autoDrop**(): `void`
+ Enables automatic insertion of `drop` operations where needed. Lets you not worry about dropping when creating your code. + +* **getFunctionInfo**(ftype: `FunctionRef`: `FunctionInfo`
+ Obtains information about a function. + + * FunctionInfo#**name**: `string` + * FunctionInfo#**module**: `string | null` (if imported) + * FunctionInfo#**base**: `string | null` (if imported) + * FunctionInfo#**params**: `Type` + * FunctionInfo#**results**: `Type` + * FunctionInfo#**vars**: `Type` + * FunctionInfo#**body**: `ExpressionRef` + +* **getGlobalInfo**(global: `GlobalRef`): `GlobalInfo`
+ Obtains information about a global. + + * GlobalInfo#**name**: `string` + * GlobalInfo#**module**: `string | null` (if imported) + * GlobalInfo#**base**: `string | null` (if imported) + * GlobalInfo#**type**: `Type` + * GlobalInfo#**mutable**: `boolean` + * GlobalInfo#**init**: `ExpressionRef` + +* **getTableInfo**(table: `TableRef`): `TableInfo`
+ Obtains information about a table. + + * TableInfo#**name**: `string` + * TableInfo#**module**: `string | null` (if imported) + * TableInfo#**base**: `string | null` (if imported) + * TableInfo#**initial**: `number`; + * TableInfo#**max**?: `number`; + +* **getExportInfo**(export_: `ExportRef`): `ExportInfo`
+ Obtains information about an export. + + * ExportInfo#**kind**: `ExternalKind` + * ExportInfo#**name**: `string` + * ExportInfo#**value**: `string` + + Possible `ExternalKind` values are: + + * **ExternalFunction**: `ExternalKind` + * **ExternalTable**: `ExternalKind` + * **ExternalMemory**: `ExternalKind` + * **ExternalGlobal**: `ExternalKind` + * **ExternalTag**: `ExternalKind` + +* **getTagInfo**(tag: `TagRef`): `TagInfo`
+ Obtains information about a tag. + + * TagInfo#**name**: `string` + * TagInfo#**module**: `string | null` (if imported) + * TagInfo#**base**: `string | null` (if imported) + * TagInfo#**params**: `Type` + * TagInfo#**results**: `Type` + +* **getSideEffects**(expr: `ExpressionRef`, features: `FeatureFlags`): `SideEffects`
+ Gets the side effects of the specified expression. + + * SideEffects.**None**: `SideEffects` + * SideEffects.**Branches**: `SideEffects` + * SideEffects.**Calls**: `SideEffects` + * SideEffects.**ReadsLocal**: `SideEffects` + * SideEffects.**WritesLocal**: `SideEffects` + * SideEffects.**ReadsGlobal**: `SideEffects` + * SideEffects.**WritesGlobal**: `SideEffects` + * SideEffects.**ReadsMemory**: `SideEffects` + * SideEffects.**WritesMemory**: `SideEffects` + * SideEffects.**ReadsTable**: `SideEffects` + * SideEffects.**WritesTable**: `SideEffects` + * SideEffects.**ImplicitTrap**: `SideEffects` + * SideEffects.**IsAtomic**: `SideEffects` + * SideEffects.**Throws**: `SideEffects` + * SideEffects.**DanglingPop**: `SideEffects` + * SideEffects.**TrapsNeverHappen**: `SideEffects` + * SideEffects.**Any**: `SideEffects` + +### Module validation + +* Module#**validate**(): `boolean`
+ Validates the module. Returns `true` if valid, otherwise prints validation errors and returns `false`. + +### Module optimization + +* Module#**optimize**(): `void`
+ Optimizes the module using the default optimization passes. + +* Module#**optimizeFunction**(func: `FunctionRef | string`): `void`
+ Optimizes a single function using the default optimization passes. + +* Module#**runPasses**(passes: `string[]`): `void`
+ Runs the specified passes on the module. + +* Module#**runPassesOnFunction**(func: `FunctionRef | string`, passes: `string[]`): `void`
+ Runs the specified passes on a single function. + +* **getOptimizeLevel**(): `number`
+ Gets the currently set optimize level. `0`, `1`, `2` correspond to `-O0`, `-O1`, `-O2` (default), etc. + +* **setOptimizeLevel**(level: `number`): `void`
+ Sets the optimization level to use. `0`, `1`, `2` correspond to `-O0`, `-O1`, `-O2` (default), etc. + +* **getShrinkLevel**(): `number`
+ Gets the currently set shrink level. `0`, `1`, `2` correspond to `-O0`, `-Os` (default), `-Oz`. + +* **setShrinkLevel**(level: `number`): `void`
+ Sets the shrink level to use. `0`, `1`, `2` correspond to `-O0`, `-Os` (default), `-Oz`. + +* **getDebugInfo**(): `boolean`
+ Gets whether generating debug information is currently enabled or not. + +* **setDebugInfo**(on: `boolean`): `void`
+ Enables or disables debug information in emitted binaries. + +* **getLowMemoryUnused**(): `boolean`
+ Gets whether the low 1K of memory can be considered unused when optimizing. + +* **setLowMemoryUnused**(on: `boolean`): `void`
+ Enables or disables whether the low 1K of memory can be considered unused when optimizing. + +* **getPassArgument**(key: `string`): `string | null`
+ Gets the value of the specified arbitrary pass argument. + +* **setPassArgument**(key: `string`, value: `string | null`): `void`
+ Sets the value of the specified arbitrary pass argument. Removes the respective argument if `value` is `null`. + +* **clearPassArguments**(): `void`
+ Clears all arbitrary pass arguments. + +* **getAlwaysInlineMaxSize**(): `number`
+ Gets the function size at which we always inline. + +* **setAlwaysInlineMaxSize**(size: `number`): `void`
+ Sets the function size at which we always inline. + +* **getFlexibleInlineMaxSize**(): `number`
+ Gets the function size which we inline when functions are lightweight. + +* **setFlexibleInlineMaxSize**(size: `number`): `void`
+ Sets the function size which we inline when functions are lightweight. + +* **getOneCallerInlineMaxSize**(): `number`
+ Gets the function size which we inline when there is only one caller. + +* **setOneCallerInlineMaxSize**(size: `number`): `void`
+ Sets the function size which we inline when there is only one caller. + +### Module creation + +* Module#**emitBinary**(): `Uint8Array`
+ Returns the module in binary format. + +* Module#**emitBinary**(sourceMapUrl: `string | null`): `BinaryWithSourceMap`
+ Returns the module in binary format with its source map. If `sourceMapUrl` is `null`, source map generation is skipped. + + * BinaryWithSourceMap#**binary**: `Uint8Array` + * BinaryWithSourceMap#**sourceMap**: `string | null` + +* Module#**emitText**(): `string`
+ Returns the module in Binaryen's s-expression text format (not official stack-style text format). + +* Module#**emitStackIR**(optimize?: `boolean`): `string`
+ Returns the module in official stack-style text format. + +* Module#**emitAsmjs**(): `string`
+ Returns the [asm.js](http://asmjs.org/) representation of the module. + +* Module#**dispose**(): `void`
+ Releases the resources held by the module once it isn't needed anymore. + +### Expression construction + +#### [Control flow](http://webassembly.org/docs/semantics/#control-constructs-and-instructions) + +* Module#**block**(label: `string | null`, children: `ExpressionRef[]`, resultType?: `Type`): `ExpressionRef`
+ Creates a block. `resultType` defaults to `none`. + +* Module#**if**(condition: `ExpressionRef`, ifTrue: `ExpressionRef`, ifFalse?: `ExpressionRef`): `ExpressionRef`
+ Creates an if or if/else combination. + +* Module#**loop**(label: `string | null`, body: `ExpressionRef`): `ExpressionRef`
+ Creates a loop. + +* Module#**br**(label: `string`, condition?: `ExpressionRef`, value?: `ExpressionRef`): `ExpressionRef`
+ Creates a branch (br) to a label. + +* Module#**switch**(labels: `string[]`, defaultLabel: `string`, condition: `ExpressionRef`, value?: `ExpressionRef`): `ExpressionRef`
+ Creates a switch (br_table). + +* Module#**nop**(): `ExpressionRef`
+ Creates a no-operation (nop) instruction. + +* Module#**return**(value?: `ExpressionRef`): `ExpressionRef` + Creates a return. + +* Module#**unreachable**(): `ExpressionRef`
+ Creates an [unreachable](http://webassembly.org/docs/semantics/#unreachable) instruction that will always trap. + +* Module#**drop**(value: `ExpressionRef`): `ExpressionRef`
+ Creates a [drop](http://webassembly.org/docs/semantics/#type-parametric-operators) of a value. + +* Module#**select**(condition: `ExpressionRef`, ifTrue: `ExpressionRef`, ifFalse: `ExpressionRef`, type?: `Type`): `ExpressionRef`
+ Creates a [select](http://webassembly.org/docs/semantics/#type-parametric-operators) of one of two values. + +#### [Variable accesses](http://webassembly.org/docs/semantics/#local-variables) + +* Module#**local.get**(index: `number`, type: `Type`): `ExpressionRef`
+ Creates a local.get for the local at the specified index. Note that we must specify the type here as we may not have created the local being accessed yet. + +* Module#**local.set**(index: `number`, value: `ExpressionRef`): `ExpressionRef`
+ Creates a local.set for the local at the specified index. + +* Module#**local.tee**(index: `number`, value: `ExpressionRef`, type: `Type`): `ExpressionRef`
+ Creates a local.tee for the local at the specified index. A tee differs from a set in that the value remains on the stack. Note that we must specify the type here as we may not have created the local being accessed yet. + +* Module#**global.get**(name: `string`, type: `Type`): `ExpressionRef`
+ Creates a global.get for the global with the specified name. Note that we must specify the type here as we may not have created the global being accessed yet. + +* Module#**global.set**(name: `string`, value: `ExpressionRef`): `ExpressionRef`
+ Creates a global.set for the global with the specified name. + +#### [Integer operations](http://webassembly.org/docs/semantics/#32-bit-integer-operators) + +* Module#i32.**const**(value: `number`): `ExpressionRef` +* Module#i32.**clz**(value: `ExpressionRef`): `ExpressionRef` +* Module#i32.**ctz**(value: `ExpressionRef`): `ExpressionRef` +* Module#i32.**popcnt**(value: `ExpressionRef`): `ExpressionRef` +* Module#i32.**eqz**(value: `ExpressionRef`): `ExpressionRef` +* Module#i32.**add**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i32.**sub**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i32.**mul**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i32.**div_s**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i32.**div_u**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i32.**rem_s**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i32.**rem_u**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i32.**and**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i32.**or**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i32.**xor**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i32.**shl**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i32.**shr_u**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i32.**shr_s**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i32.**rotl**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i32.**rotr**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i32.**eq**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i32.**ne**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i32.**lt_s**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i32.**lt_u**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i32.**le_s**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i32.**le_u**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i32.**gt_s**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i32.**gt_u**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i32.**ge_s**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i32.**ge_u**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +> +* Module#i64.**const**(low: `number`, high: `number`): `ExpressionRef` +* Module#i64.**clz**(value: `ExpressionRef`): `ExpressionRef` +* Module#i64.**ctz**(value: `ExpressionRef`): `ExpressionRef` +* Module#i64.**popcnt**(value: `ExpressionRef`): `ExpressionRef` +* Module#i64.**eqz**(value: `ExpressionRef`): `ExpressionRef` +* Module#i64.**add**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i64.**sub**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i64.**mul**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i64.**div_s**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i64.**div_u**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i64.**rem_s**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i64.**rem_u**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i64.**and**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i64.**or**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i64.**xor**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i64.**shl**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i64.**shr_u**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i64.**shr_s**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i64.**rotl**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i64.**rotr**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i64.**eq**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i64.**ne**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i64.**lt_s**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i64.**lt_u**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i64.**le_s**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i64.**le_u**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i64.**gt_s**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i64.**gt_u**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i64.**ge_s**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i64.**ge_u**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` + +#### [Floating point operations](http://webassembly.org/docs/semantics/#floating-point-operators) + +* Module#f32.**const**(value: `number`): `ExpressionRef` +* Module#f32.**const_bits**(value: `number`): `ExpressionRef` +* Module#f32.**neg**(value: `ExpressionRef`): `ExpressionRef` +* Module#f32.**abs**(value: `ExpressionRef`): `ExpressionRef` +* Module#f32.**ceil**(value: `ExpressionRef`): `ExpressionRef` +* Module#f32.**floor**(value: `ExpressionRef`): `ExpressionRef` +* Module#f32.**trunc**(value: `ExpressionRef`): `ExpressionRef` +* Module#f32.**nearest**(value: `ExpressionRef`): `ExpressionRef` +* Module#f32.**sqrt**(value: `ExpressionRef`): `ExpressionRef` +* Module#f32.**add**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#f32.**sub**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#f32.**mul**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#f32.**div**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#f32.**copysign**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#f32.**min**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#f32.**max**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#f32.**eq**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#f32.**ne**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#f32.**lt**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#f32.**le**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#f32.**gt**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#f32.**ge**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +> +* Module#f64.**const**(value: `number`): `ExpressionRef` +* Module#f64.**const_bits**(value: `number`): `ExpressionRef` +* Module#f64.**neg**(value: `ExpressionRef`): `ExpressionRef` +* Module#f64.**abs**(value: `ExpressionRef`): `ExpressionRef` +* Module#f64.**ceil**(value: `ExpressionRef`): `ExpressionRef` +* Module#f64.**floor**(value: `ExpressionRef`): `ExpressionRef` +* Module#f64.**trunc**(value: `ExpressionRef`): `ExpressionRef` +* Module#f64.**nearest**(value: `ExpressionRef`): `ExpressionRef` +* Module#f64.**sqrt**(value: `ExpressionRef`): `ExpressionRef` +* Module#f64.**add**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#f64.**sub**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#f64.**mul**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#f64.**div**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#f64.**copysign**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#f64.**min**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#f64.**max**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#f64.**eq**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#f64.**ne**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#f64.**lt**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#f64.**le**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#f64.**gt**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#f64.**ge**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` + +#### [Datatype conversions](http://webassembly.org/docs/semantics/#datatype-conversions-truncations-reinterpretations-promotions-and-demotions) + +* Module#i32.**trunc_s.f32**(value: `ExpressionRef`): `ExpressionRef` +* Module#i32.**trunc_s.f64**(value: `ExpressionRef`): `ExpressionRef` +* Module#i32.**trunc_u.f32**(value: `ExpressionRef`): `ExpressionRef` +* Module#i32.**trunc_u.f64**(value: `ExpressionRef`): `ExpressionRef` +* Module#i32.**reinterpret**(value: `ExpressionRef`): `ExpressionRef` +* Module#i32.**wrap**(value: `ExpressionRef`): `ExpressionRef` +> +* Module#i64.**trunc_s.f32**(value: `ExpressionRef`): `ExpressionRef` +* Module#i64.**trunc_s.f64**(value: `ExpressionRef`): `ExpressionRef` +* Module#i64.**trunc_u.f32**(value: `ExpressionRef`): `ExpressionRef` +* Module#i64.**trunc_u.f64**(value: `ExpressionRef`): `ExpressionRef` +* Module#i64.**reinterpret**(value: `ExpressionRef`): `ExpressionRef` +* Module#i64.**extend_s**(value: `ExpressionRef`): `ExpressionRef` +* Module#i64.**extend_u**(value: `ExpressionRef`): `ExpressionRef` +> +* Module#f32.**reinterpret**(value: `ExpressionRef`): `ExpressionRef` +* Module#f32.**convert_s.i32**(value: `ExpressionRef`): `ExpressionRef` +* Module#f32.**convert_s.i64**(value: `ExpressionRef`): `ExpressionRef` +* Module#f32.**convert_u.i32**(value: `ExpressionRef`): `ExpressionRef` +* Module#f32.**convert_u.i64**(value: `ExpressionRef`): `ExpressionRef` +* Module#f32.**demote**(value: `ExpressionRef`): `ExpressionRef` +> +* Module#f64.**reinterpret**(value: `ExpressionRef`): `ExpressionRef` +* Module#f64.**convert_s.i32**(value: `ExpressionRef`): `ExpressionRef` +* Module#f64.**convert_s.i64**(value: `ExpressionRef`): `ExpressionRef` +* Module#f64.**convert_u.i32**(value: `ExpressionRef`): `ExpressionRef` +* Module#f64.**convert_u.i64**(value: `ExpressionRef`): `ExpressionRef` +* Module#f64.**promote**(value: `ExpressionRef`): `ExpressionRef` + +#### [Function calls](http://webassembly.org/docs/semantics/#calls) + +* Module#**call**(name: `string`, operands: `ExpressionRef[]`, returnType: `Type`): `ExpressionRef` +Creates a call to a function. Note that we must specify the return type here as we may not have created the function being called yet. + +* Module#**return_call**(name: `string`, operands: `ExpressionRef[]`, returnType: `Type`): `ExpressionRef`
+ Like **call**, but creates a tail-call. 🦄 + +* Module#**call_indirect**(target: `ExpressionRef`, operands: `ExpressionRef[]`, params: `Type`, results: `Type`): `ExpressionRef`
+ Similar to **call**, but calls indirectly, i.e., via a function pointer, so an expression replaces the name as the called value. + +* Module#**return_call_indirect**(target: `ExpressionRef`, operands: `ExpressionRef[]`, params: `Type`, results: `Type`): `ExpressionRef`
+ Like **call_indirect**, but creates a tail-call. 🦄 + +#### [Linear memory accesses](http://webassembly.org/docs/semantics/#linear-memory-accesses) + +* Module#i32.**load**(offset: `number`, align: `number`, ptr: `ExpressionRef`): `ExpressionRef`
+* Module#i32.**load8_s**(offset: `number`, align: `number`, ptr: `ExpressionRef`): `ExpressionRef`
+* Module#i32.**load8_u**(offset: `number`, align: `number`, ptr: `ExpressionRef`): `ExpressionRef`
+* Module#i32.**load16_s**(offset: `number`, align: `number`, ptr: `ExpressionRef`): `ExpressionRef`
+* Module#i32.**load16_u**(offset: `number`, align: `number`, ptr: `ExpressionRef`): `ExpressionRef`
+* Module#i32.**store**(offset: `number`, align: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef`
+* Module#i32.**store8**(offset: `number`, align: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef`
+* Module#i32.**store16**(offset: `number`, align: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef`
+> +* Module#i64.**load**(offset: `number`, align: `number`, ptr: `ExpressionRef`): `ExpressionRef` +* Module#i64.**load8_s**(offset: `number`, align: `number`, ptr: `ExpressionRef`): `ExpressionRef` +* Module#i64.**load8_u**(offset: `number`, align: `number`, ptr: `ExpressionRef`): `ExpressionRef` +* Module#i64.**load16_s**(offset: `number`, align: `number`, ptr: `ExpressionRef`): `ExpressionRef` +* Module#i64.**load16_u**(offset: `number`, align: `number`, ptr: `ExpressionRef`): `ExpressionRef` +* Module#i64.**load32_s**(offset: `number`, align: `number`, ptr: `ExpressionRef`): `ExpressionRef` +* Module#i64.**load32_u**(offset: `number`, align: `number`, ptr: `ExpressionRef`): `ExpressionRef` +* Module#i64.**store**(offset: `number`, align: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` +* Module#i64.**store8**(offset: `number`, align: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` +* Module#i64.**store16**(offset: `number`, align: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` +* Module#i64.**store32**(offset: `number`, align: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` +> +* Module#f32.**load**(offset: `number`, align: `number`, ptr: `ExpressionRef`): `ExpressionRef` +* Module#f32.**store**(offset: `number`, align: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` +> +* Module#f64.**load**(offset: `number`, align: `number`, ptr: `ExpressionRef`): `ExpressionRef` +* Module#f64.**store**(offset: `number`, align: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` + +#### [Host operations](http://webassembly.org/docs/semantics/#resizing) + +* Module#**memory.size**(): `ExpressionRef` +* Module#**memory.grow**(value: `number`): `ExpressionRef` + +#### [Vector operations](https://github.com/WebAssembly/simd/blob/main/proposals/simd/SIMD.md) 🦄 + +* Module#v128.**const**(bytes: `Uint8Array`): `ExpressionRef` +* Module#v128.**load**(offset: `number`, align: `number`, ptr: `ExpressionRef`): `ExpressionRef` +* Module#v128.**store**(offset: `number`, align: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` +* Module#v128.**not**(value: `ExpressionRef`): `ExpressionRef` +* Module#v128.**and**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#v128.**or**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#v128.**xor**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#v128.**andnot**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#v128.**bitselect**(left: `ExpressionRef`, right: `ExpressionRef`, cond: `ExpressionRef`): `ExpressionRef` +> +* Module#i8x16.**splat**(value: `ExpressionRef`): `ExpressionRef` +* Module#i8x16.**extract_lane_s**(vec: `ExpressionRef`, index: `number`): `ExpressionRef` +* Module#i8x16.**extract_lane_u**(vec: `ExpressionRef`, index: `number`): `ExpressionRef` +* Module#i8x16.**replace_lane**(vec: `ExpressionRef`, index: `number`, value: `ExpressionRef`): `ExpressionRef` +* Module#i8x16.**eq**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i8x16.**ne**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i8x16.**lt_s**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i8x16.**lt_u**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i8x16.**gt_s**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i8x16.**gt_u**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i8x16.**le_s**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i8x16.**lt_u**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i8x16.**ge_s**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i8x16.**ge_u**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i8x16.**neg**(value: `ExpressionRef`): `ExpressionRef` +* Module#i8x16.**any_true**(value: `ExpressionRef`): `ExpressionRef` +* Module#i8x16.**all_true**(value: `ExpressionRef`): `ExpressionRef` +* Module#i8x16.**shl**(vec: `ExpressionRef`, shift: `ExpressionRef`): `ExpressionRef` +* Module#i8x16.**shr_s**(vec: `ExpressionRef`, shift: `ExpressionRef`): `ExpressionRef` +* Module#i8x16.**shr_u**(vec: `ExpressionRef`, shift: `ExpressionRef`): `ExpressionRef` +* Module#i8x16.**add**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i8x16.**add_saturate_s**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i8x16.**add_saturate_u**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i8x16.**sub**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i8x16.**sub_saturate_s**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i8x16.**sub_saturate_u**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i8x16.**mul**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i8x16.**min_s**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i8x16.**min_u**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i8x16.**max_s**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i8x16.**max_u**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i8x16.**avgr_u**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i8x16.**narrow_i16x8_s**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i8x16.**narrow_i16x8_u**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +> +* Module#i16x8.**splat**(value: `ExpressionRef`): `ExpressionRef` +* Module#i16x8.**extract_lane_s**(vec: `ExpressionRef`, index: `number`): `ExpressionRef` +* Module#i16x8.**extract_lane_u**(vec: `ExpressionRef`, index: `number`): `ExpressionRef` +* Module#i16x8.**replace_lane**(vec: `ExpressionRef`, index: `number`, value: `ExpressionRef`): `ExpressionRef` +* Module#i16x8.**eq**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i16x8.**ne**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i16x8.**lt_s**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i16x8.**lt_u**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i16x8.**gt_s**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i16x8.**gt_u**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i16x8.**le_s**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i16x8.**lt_u**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i16x8.**ge_s**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i16x8.**ge_u**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i16x8.**neg**(value: `ExpressionRef`): `ExpressionRef` +* Module#i16x8.**any_true**(value: `ExpressionRef`): `ExpressionRef` +* Module#i16x8.**all_true**(value: `ExpressionRef`): `ExpressionRef` +* Module#i16x8.**shl**(vec: `ExpressionRef`, shift: `ExpressionRef`): `ExpressionRef` +* Module#i16x8.**shr_s**(vec: `ExpressionRef`, shift: `ExpressionRef`): `ExpressionRef` +* Module#i16x8.**shr_u**(vec: `ExpressionRef`, shift: `ExpressionRef`): `ExpressionRef` +* Module#i16x8.**add**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i16x8.**add_saturate_s**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i16x8.**add_saturate_u**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i16x8.**sub**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i16x8.**sub_saturate_s**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i16x8.**sub_saturate_u**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i16x8.**mul**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i16x8.**min_s**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i16x8.**min_u**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i16x8.**max_s**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i16x8.**max_u**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i16x8.**avgr_u**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i16x8.**narrow_i32x4_s**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i16x8.**narrow_i32x4_u**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i16x8.**widen_low_i8x16_s**(value: `ExpressionRef`): `ExpressionRef` +* Module#i16x8.**widen_high_i8x16_s**(value: `ExpressionRef`): `ExpressionRef` +* Module#i16x8.**widen_low_i8x16_u**(value: `ExpressionRef`): `ExpressionRef` +* Module#i16x8.**widen_high_i8x16_u**(value: `ExpressionRef`): `ExpressionRef` +* Module#i16x8.**load8x8_s**(offset: `number`, align: `number`, ptr: `ExpressionRef`): `ExpressionRef` +* Module#i16x8.**load8x8_u**(offset: `number`, align: `number`, ptr: `ExpressionRef`): `ExpressionRef` +> +* Module#i32x4.**splat**(value: `ExpressionRef`): `ExpressionRef` +* Module#i32x4.**extract_lane_s**(vec: `ExpressionRef`, index: `number`): `ExpressionRef` +* Module#i32x4.**extract_lane_u**(vec: `ExpressionRef`, index: `number`): `ExpressionRef` +* Module#i32x4.**replace_lane**(vec: `ExpressionRef`, index: `number`, value: `ExpressionRef`): `ExpressionRef` +* Module#i32x4.**eq**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i32x4.**ne**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i32x4.**lt_s**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i32x4.**lt_u**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i32x4.**gt_s**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i32x4.**gt_u**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i32x4.**le_s**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i32x4.**lt_u**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i32x4.**ge_s**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i32x4.**ge_u**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i32x4.**neg**(value: `ExpressionRef`): `ExpressionRef` +* Module#i32x4.**any_true**(value: `ExpressionRef`): `ExpressionRef` +* Module#i32x4.**all_true**(value: `ExpressionRef`): `ExpressionRef` +* Module#i32x4.**shl**(vec: `ExpressionRef`, shift: `ExpressionRef`): `ExpressionRef` +* Module#i32x4.**shr_s**(vec: `ExpressionRef`, shift: `ExpressionRef`): `ExpressionRef` +* Module#i32x4.**shr_u**(vec: `ExpressionRef`, shift: `ExpressionRef`): `ExpressionRef` +* Module#i32x4.**add**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i32x4.**sub**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i32x4.**mul**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i32x4.**min_s**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i32x4.**min_u**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i32x4.**max_s**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i32x4.**max_u**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i32x4.**dot_i16x8_s**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i32x4.**trunc_sat_f32x4_s**(value: `ExpressionRef`): `ExpressionRef` +* Module#i32x4.**trunc_sat_f32x4_u**(value: `ExpressionRef`): `ExpressionRef` +* Module#i32x4.**widen_low_i16x8_s**(value: `ExpressionRef`): `ExpressionRef` +* Module#i32x4.**widen_high_i16x8_s**(value: `ExpressionRef`): `ExpressionRef` +* Module#i32x4.**widen_low_i16x8_u**(value: `ExpressionRef`): `ExpressionRef` +* Module#i32x4.**widen_high_i16x8_u**(value: `ExpressionRef`): `ExpressionRef` +* Module#i32x4.**load16x4_s**(offset: `number`, align: `number`, ptr: `ExpressionRef`): `ExpressionRef` +* Module#i32x4.**load16x4_u**(offset: `number`, align: `number`, ptr: `ExpressionRef`): `ExpressionRef` +> +* Module#i64x2.**splat**(value: `ExpressionRef`): `ExpressionRef` +* Module#i64x2.**extract_lane_s**(vec: `ExpressionRef`, index: `number`): `ExpressionRef` +* Module#i64x2.**extract_lane_u**(vec: `ExpressionRef`, index: `number`): `ExpressionRef` +* Module#i64x2.**replace_lane**(vec: `ExpressionRef`, index: `number`, value: `ExpressionRef`): `ExpressionRef` +* Module#i64x2.**neg**(value: `ExpressionRef`): `ExpressionRef` +* Module#i64x2.**any_true**(value: `ExpressionRef`): `ExpressionRef` +* Module#i64x2.**all_true**(value: `ExpressionRef`): `ExpressionRef` +* Module#i64x2.**shl**(vec: `ExpressionRef`, shift: `ExpressionRef`): `ExpressionRef` +* Module#i64x2.**shr_s**(vec: `ExpressionRef`, shift: `ExpressionRef`): `ExpressionRef` +* Module#i64x2.**shr_u**(vec: `ExpressionRef`, shift: `ExpressionRef`): `ExpressionRef` +* Module#i64x2.**add**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i64x2.**sub**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#i64x2.**trunc_sat_f64x2_s**(value: `ExpressionRef`): `ExpressionRef` +* Module#i64x2.**trunc_sat_f64x2_u**(value: `ExpressionRef`): `ExpressionRef` +* Module#i64x2.**load32x2_s**(offset: `number`, align: `number`, ptr: `ExpressionRef`): `ExpressionRef` +* Module#i64x2.**load32x2_u**(offset: `number`, align: `number`, ptr: `ExpressionRef`): `ExpressionRef` +> +* Module#f32x4.**splat**(value: `ExpressionRef`): `ExpressionRef` +* Module#f32x4.**extract_lane**(vec: `ExpressionRef`, index: `number`): `ExpressionRef` +* Module#f32x4.**replace_lane**(vec: `ExpressionRef`, index: `number`, value: `ExpressionRef`): `ExpressionRef` +* Module#f32x4.**eq**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#f32x4.**ne**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#f32x4.**lt**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#f32x4.**gt**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#f32x4.**le**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#f32x4.**ge**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#f32x4.**abs**(value: `ExpressionRef`): `ExpressionRef` +* Module#f32x4.**neg**(value: `ExpressionRef`): `ExpressionRef` +* Module#f32x4.**sqrt**(value: `ExpressionRef`): `ExpressionRef` +* Module#f32x4.**qfma**(a: `ExpressionRef`, b: `ExpressionRef`, c: `ExpressionRef`): `ExpressionRef` +* Module#f32x4.**qfms**(a: `ExpressionRef`, b: `ExpressionRef`, c: `ExpressionRef`): `ExpressionRef` +* Module#f32x4.**add**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#f32x4.**sub**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#f32x4.**mul**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#f32x4.**div**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#f32x4.**min**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#f32x4.**max**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#f32x4.**convert_i32x4_s**(value: `ExpressionRef`): `ExpressionRef` +* Module#f32x4.**convert_i32x4_u**(value: `ExpressionRef`): `ExpressionRef` +> +* Module#f64x2.**splat**(value: `ExpressionRef`): `ExpressionRef` +* Module#f64x2.**extract_lane**(vec: `ExpressionRef`, index: `number`): `ExpressionRef` +* Module#f64x2.**replace_lane**(vec: `ExpressionRef`, index: `number`, value: `ExpressionRef`): `ExpressionRef` +* Module#f64x2.**eq**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#f64x2.**ne**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#f64x2.**lt**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#f64x2.**gt**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#f64x2.**le**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#f64x2.**ge**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#f64x2.**abs**(value: `ExpressionRef`): `ExpressionRef` +* Module#f64x2.**neg**(value: `ExpressionRef`): `ExpressionRef` +* Module#f64x2.**sqrt**(value: `ExpressionRef`): `ExpressionRef` +* Module#f64x2.**qfma**(a: `ExpressionRef`, b: `ExpressionRef`, c: `ExpressionRef`): `ExpressionRef` +* Module#f64x2.**qfms**(a: `ExpressionRef`, b: `ExpressionRef`, c: `ExpressionRef`): `ExpressionRef` +* Module#f64x2.**add**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#f64x2.**sub**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#f64x2.**mul**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#f64x2.**div**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#f64x2.**min**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#f64x2.**max**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#f64x2.**convert_i64x2_s**(value: `ExpressionRef`): `ExpressionRef` +* Module#f64x2.**convert_i64x2_u**(value: `ExpressionRef`): `ExpressionRef` +> +* Module#v8x16.**shuffle**(left: `ExpressionRef`, right: `ExpressionRef`, mask: `Uint8Array`): `ExpressionRef` +* Module#v8x16.**swizzle**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` +* Module#v8x16.**load_splat**(offset: `number`, align: `number`, ptr: `ExpressionRef`): `ExpressionRef` +> +* Module#v16x8.**load_splat**(offset: `number`, align: `number`, ptr: `ExpressionRef`): `ExpressionRef` +> +* Module#v32x4.**load_splat**(offset: `number`, align: `number`, ptr: `ExpressionRef`): `ExpressionRef` +> +* Module#v64x2.**load_splat**(offset: `number`, align: `number`, ptr: `ExpressionRef`): `ExpressionRef` + +#### [Atomic memory accesses](https://github.com/WebAssembly/threads/blob/master/proposals/threads/Overview.md#atomic-memory-accesses) 🦄 + +* Module#i32.**atomic.load**(offset: `number`, ptr: `ExpressionRef`): `ExpressionRef` +* Module#i32.**atomic.load8_u**(offset: `number`, ptr: `ExpressionRef`): `ExpressionRef` +* Module#i32.**atomic.load16_u**(offset: `number`, ptr: `ExpressionRef`): `ExpressionRef` +* Module#i32.**atomic.store**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` +* Module#i32.**atomic.store8**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` +* Module#i32.**atomic.store16**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` +> +* Module#i64.**atomic.load**(offset: `number`, ptr: `ExpressionRef`): `ExpressionRef` +* Module#i64.**atomic.load8_u**(offset: `number`, ptr: `ExpressionRef`): `ExpressionRef` +* Module#i64.**atomic.load16_u**(offset: `number`, ptr: `ExpressionRef`): `ExpressionRef` +* Module#i64.**atomic.load32_u**(offset: `number`, ptr: `ExpressionRef`): `ExpressionRef` +* Module#i64.**atomic.store**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` +* Module#i64.**atomic.store8**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` +* Module#i64.**atomic.store16**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` +* Module#i64.**atomic.store32**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` + +#### [Atomic read-modify-write operations](https://github.com/WebAssembly/threads/blob/master/proposals/threads/Overview.md#read-modify-write) 🦄 + +* Module#i32.**atomic.rmw.add**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` +* Module#i32.**atomic.rmw.sub**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` +* Module#i32.**atomic.rmw.and**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` +* Module#i32.**atomic.rmw.or**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` +* Module#i32.**atomic.rmw.xor**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` +* Module#i32.**atomic.rmw.xchg**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` +* Module#i32.**atomic.rmw.cmpxchg**(offset: `number`, ptr: `ExpressionRef`, expected: `ExpressionRef`, replacement: `ExpressionRef`): `ExpressionRef` +* Module#i32.**atomic.rmw8_u.add**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` +* Module#i32.**atomic.rmw8_u.sub**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` +* Module#i32.**atomic.rmw8_u.and**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` +* Module#i32.**atomic.rmw8_u.or**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` +* Module#i32.**atomic.rmw8_u.xor**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` +* Module#i32.**atomic.rmw8_u.xchg**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` +* Module#i32.**atomic.rmw8_u.cmpxchg**(offset: `number`, ptr: `ExpressionRef`, expected: `ExpressionRef`, replacement: `ExpressionRef`): `ExpressionRef` +* Module#i32.**atomic.rmw16_u.add**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` +* Module#i32.**atomic.rmw16_u.sub**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` +* Module#i32.**atomic.rmw16_u.and**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` +* Module#i32.**atomic.rmw16_u.or**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` +* Module#i32.**atomic.rmw16_u.xor**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` +* Module#i32.**atomic.rmw16_u.xchg**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` +* Module#i32.**atomic.rmw16_u.cmpxchg**(offset: `number`, ptr: `ExpressionRef`, expected: `ExpressionRef`, replacement: `ExpressionRef`): `ExpressionRef` +> +* Module#i64.**atomic.rmw.add**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` +* Module#i64.**atomic.rmw.sub**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` +* Module#i64.**atomic.rmw.and**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` +* Module#i64.**atomic.rmw.or**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` +* Module#i64.**atomic.rmw.xor**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` +* Module#i64.**atomic.rmw.xchg**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` +* Module#i64.**atomic.rmw.cmpxchg**(offset: `number`, ptr: `ExpressionRef`, expected: `ExpressionRef`, replacement: `ExpressionRef`): `ExpressionRef` +* Module#i64.**atomic.rmw8_u.add**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` +* Module#i64.**atomic.rmw8_u.sub**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` +* Module#i64.**atomic.rmw8_u.and**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` +* Module#i64.**atomic.rmw8_u.or**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` +* Module#i64.**atomic.rmw8_u.xor**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` +* Module#i64.**atomic.rmw8_u.xchg**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` +* Module#i64.**atomic.rmw8_u.cmpxchg**(offset: `number`, ptr: `ExpressionRef`, expected: `ExpressionRef`, replacement: `ExpressionRef`): `ExpressionRef` +* Module#i64.**atomic.rmw16_u.add**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` +* Module#i64.**atomic.rmw16_u.sub**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` +* Module#i64.**atomic.rmw16_u.and**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` +* Module#i64.**atomic.rmw16_u.or**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` +* Module#i64.**atomic.rmw16_u.xor**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` +* Module#i64.**atomic.rmw16_u.xchg**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` +* Module#i64.**atomic.rmw16_u.cmpxchg**(offset: `number`, ptr: `ExpressionRef`, expected: `ExpressionRef`, replacement: `ExpressionRef`): `ExpressionRef` +* Module#i64.**atomic.rmw32_u.add**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` +* Module#i64.**atomic.rmw32_u.sub**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` +* Module#i64.**atomic.rmw32_u.and**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` +* Module#i64.**atomic.rmw32_u.or**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` +* Module#i64.**atomic.rmw32_u.xor**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` +* Module#i64.**atomic.rmw32_u.xchg**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` +* Module#i64.**atomic.rmw32_u.cmpxchg**(offset: `number`, ptr: `ExpressionRef`, expected: `ExpressionRef`, replacement: `ExpressionRef`): `ExpressionRef` + +#### [Atomic wait and notify operations](https://github.com/WebAssembly/threads/blob/master/proposals/threads/Overview.md#wait-and-notify-operators) 🦄 + +* Module#memory.**atomic.wait32**(ptr: `ExpressionRef`, expected: `ExpressionRef`, timeout: `ExpressionRef`): `ExpressionRef` +* Module#memory.**atomic.wait64**(ptr: `ExpressionRef`, expected: `ExpressionRef`, timeout: `ExpressionRef`): `ExpressionRef` +* Module#memory**atomic.notify**(ptr: `ExpressionRef`, notifyCount: `ExpressionRef`): `ExpressionRef` +* Module#**atomic.fence**(): `ExpressionRef` + +#### [Sign extension operations](https://github.com/WebAssembly/sign-extension-ops/blob/master/proposals/sign-extension-ops/Overview.md) 🦄 + +* Module#i32.**extend8_s**(value: `ExpressionRef`): `ExpressionRef` +* Module#i32.**extend16_s**(value: `ExpressionRef`): `ExpressionRef` +> +* Module#i64.**extend8_s**(value: `ExpressionRef`): `ExpressionRef` +* Module#i64.**extend16_s**(value: `ExpressionRef`): `ExpressionRef` +* Module#i64.**extend32_s**(value: `ExpressionRef`): `ExpressionRef` + +#### [Multi-value operations](https://github.com/WebAssembly/multi-value/blob/master/proposals/multi-value/Overview.md) 🦄 + +Note that these are pseudo instructions enabling Binaryen to reason about multiple values on the stack. + +* Module#**push**(value: `ExpressionRef`): `ExpressionRef` +* Module#i32.**pop**(): `ExpressionRef` +* Module#i64.**pop**(): `ExpressionRef` +* Module#f32.**pop**(): `ExpressionRef` +* Module#f64.**pop**(): `ExpressionRef` +* Module#v128.**pop**(): `ExpressionRef` +* Module#funcref.**pop**(): `ExpressionRef` +* Module#anyref.**pop**(): `ExpressionRef` +* Module#externref.**pop**(): `ExpressionRef` +* Module#tuple.**make**(elements: `ExpressionRef[]`): `ExpressionRef` +* Module#tuple.**extract**(tuple: `ExpressionRef`, index: `number`): `ExpressionRef` + +#### [Exception handling operations](https://github.com/WebAssembly/exception-handling/blob/master/proposals/Exceptions.md) 🦄 + +* Module#**try**(name: `string`, body: `ExpressionRef`, catchTags: `string[]`, catchBodies: `ExpressionRef[]`, delegateTarget?: `string`): `ExpressionRef` +* Module#**throw**(tag: `string`, operands: `ExpressionRef[]`): `ExpressionRef` +* Module#**rethrow**(target: `string`): `ExpressionRef` +> +* Module#**addTag**(name: `string`, params: `Type`, results: `Type`): `TagRef` +* Module#**getTag**(name: `string`): `TagRef` +* Module#**removeTag**(name: `stirng`): `void` +* Module#**addTagImport**(internalName: `string`, externalModuleName: `string`, externalBaseName: `string`, params: `Type`, results: `Type`): `void` +* Module#**addTagExport**(internalName: `string`, externalName: `string`): `ExportRef` + +#### [Reference types operations](https://github.com/WebAssembly/reference-types/blob/master/proposals/reference-types/Overview.md) 🦄 + +* Module#ref.**null**(): `ExpressionRef` +* Module#ref.**is_null**(value: `ExpressionRef`): `ExpressionRef` +* Module#ref.**func**(name: `string`): `ExpressionRef` + +#### [Bulk memory operations](https://github.com/WebAssembly/bulk-memory-operations/blob/master/proposals/bulk-memory-operations/Overview.md) 🦄 + +* Module#memory.**init**(segment: `number`, dest: `ExpressionRef`, offset: `ExpressionRef`, size: `ExpressionRef`): `ExpressionRef` +* Module#memory.**copy**(dest: `ExpressionRef`, source: `ExpressionRef`, size: `ExpressionRef`): `ExpressionRef` +* Module#memory.**fill**(dest: `ExpressionRef`, value: `ExpressionRef`, size: `ExpressionRef`): `ExpressionRef` + +### Expression manipulation + +* **getExpressionId**(expr: `ExpressionRef`): `ExpressionId`
+ Gets the id (kind) of the specified expression. Possible values are: + + * **InvalidId**: `ExpressionId` + * **BlockId**: `ExpressionId` + * **IfId**: `ExpressionId` + * **LoopId**: `ExpressionId` + * **BreakId**: `ExpressionId` + * **SwitchId**: `ExpressionId` + * **CallId**: `ExpressionId` + * **CallIndirectId**: `ExpressionId` + * **LocalGetId**: `ExpressionId` + * **LocalSetId**: `ExpressionId` + * **GlobalGetId**: `ExpressionId` + * **GlobalSetId**: `ExpressionId` + * **LoadId**: `ExpressionId` + * **StoreId**: `ExpressionId` + * **ConstId**: `ExpressionId` + * **UnaryId**: `ExpressionId` + * **BinaryId**: `ExpressionId` + * **SelectId**: `ExpressionId` + * **DropId**: `ExpressionId` + * **ReturnId**: `ExpressionId` + * **NopId**: `ExpressionId` + * **UnreachableId**: `ExpressionId` + * **AtomicCmpxchgId**: `ExpressionId` + * **AtomicRMWId**: `ExpressionId` + * **AtomicWaitId**: `ExpressionId` + * **AtomicNotifyId**: `ExpressionId` + * **AtomicFenceId**: `ExpressionId` + * **SIMDExtractId**: `ExpressionId` + * **SIMDReplaceId**: `ExpressionId` + * **SIMDShuffleId**: `ExpressionId` + * **SIMDTernaryId**: `ExpressionId` + * **SIMDShiftId**: `ExpressionId` + * **SIMDLoadId**: `ExpressionId` + * **MemoryInitId**: `ExpressionId` + * **DataDropId**: `ExpressionId` + * **MemoryCopyId**: `ExpressionId` + * **MemoryFillId**: `ExpressionId` + * **RefNullId**: `ExpressionId` + * **RefIsNullId**: `ExpressionId` + * **RefFuncId**: `ExpressionId` + * **TryId**: `ExpressionId` + * **ThrowId**: `ExpressionId` + * **RethrowId**: `ExpressionId` + * **PushId**: `ExpressionId` + * **PopId**: `ExpressionId` + +* **getExpressionType**(expr: `ExpressionRef`): `Type`
+ Gets the type of the specified expression. + +* **getExpressionInfo**(expr: `ExpressionRef`): `ExpressionInfo`
+ Obtains information about an expression, always including: + + * Info#**id**: `ExpressionId` + * Info#**type**: `Type` + + Additional properties depend on the expression's `id` and are usually equivalent to the respective parameters when creating such an expression: + + * BlockInfo#**name**: `string` + * BlockInfo#**children**: `ExpressionRef[]` + > + * IfInfo#**condition**: `ExpressionRef` + * IfInfo#**ifTrue**: `ExpressionRef` + * IfInfo#**ifFalse**: `ExpressionRef | null` + > + * LoopInfo#**name**: `string` + * LoopInfo#**body**: `ExpressionRef` + > + * BreakInfo#**name**: `string` + * BreakInfo#**condition**: `ExpressionRef | null` + * BreakInfo#**value**: `ExpressionRef | null` + > + * SwitchInfo#**names**: `string[]` + * SwitchInfo#**defaultName**: `string | null` + * SwitchInfo#**condition**: `ExpressionRef` + * SwitchInfo#**value**: `ExpressionRef | null` + > + * CallInfo#**target**: `string` + * CallInfo#**operands**: `ExpressionRef[]` + > + * CallImportInfo#**target**: `string` + * CallImportInfo#**operands**: `ExpressionRef[]` + > + * CallIndirectInfo#**target**: `ExpressionRef` + * CallIndirectInfo#**operands**: `ExpressionRef[]` + > + * LocalGetInfo#**index**: `number` + > + * LocalSetInfo#**isTee**: `boolean` + * LocalSetInfo#**index**: `number` + * LocalSetInfo#**value**: `ExpressionRef` + > + * GlobalGetInfo#**name**: `string` + > + * GlobalSetInfo#**name**: `string` + * GlobalSetInfo#**value**: `ExpressionRef` + > + * LoadInfo#**isAtomic**: `boolean` + * LoadInfo#**isSigned**: `boolean` + * LoadInfo#**offset**: `number` + * LoadInfo#**bytes**: `number` + * LoadInfo#**align**: `number` + * LoadInfo#**ptr**: `ExpressionRef` + > + * StoreInfo#**isAtomic**: `boolean` + * StoreInfo#**offset**: `number` + * StoreInfo#**bytes**: `number` + * StoreInfo#**align**: `number` + * StoreInfo#**ptr**: `ExpressionRef` + * StoreInfo#**value**: `ExpressionRef` + > + * ConstInfo#**value**: `number | { low: number, high: number }` + > + * UnaryInfo#**op**: `number` + * UnaryInfo#**value**: `ExpressionRef` + > + * BinaryInfo#**op**: `number` + * BinaryInfo#**left**: `ExpressionRef` + * BinaryInfo#**right**: `ExpressionRef` + > + * SelectInfo#**ifTrue**: `ExpressionRef` + * SelectInfo#**ifFalse**: `ExpressionRef` + * SelectInfo#**condition**: `ExpressionRef` + > + * DropInfo#**value**: `ExpressionRef` + > + * ReturnInfo#**value**: `ExpressionRef | null` + > + * NopInfo + > + * UnreachableInfo + > + * PopInfo + > + * MemorySizeInfo + > + * MemoryGrowInfo#**delta**: `ExpressionRef` + > + * AtomicRMWInfo#**op**: `number` + * AtomicRMWInfo#**bytes**: `number` + * AtomicRMWInfo#**offset**: `number` + * AtomicRMWInfo#**ptr**: `ExpressionRef` + * AtomicRMWInfo#**value**: `ExpressionRef` + > + * AtomicCmpxchgInfo#**bytes**: `number` + * AtomicCmpxchgInfo#**offset**: `number` + * AtomicCmpxchgInfo#**ptr**: `ExpressionRef` + * AtomicCmpxchgInfo#**expected**: `ExpressionRef` + * AtomicCmpxchgInfo#**replacement**: `ExpressionRef` + > + * AtomicWaitInfo#**ptr**: `ExpressionRef` + * AtomicWaitInfo#**expected**: `ExpressionRef` + * AtomicWaitInfo#**timeout**: `ExpressionRef` + * AtomicWaitInfo#**expectedType**: `Type` + > + * AtomicNotifyInfo#**ptr**: `ExpressionRef` + * AtomicNotifyInfo#**notifyCount**: `ExpressionRef` + > + * AtomicFenceInfo + > + * SIMDExtractInfo#**op**: `Op` + * SIMDExtractInfo#**vec**: `ExpressionRef` + * SIMDExtractInfo#**index**: `ExpressionRef` + > + * SIMDReplaceInfo#**op**: `Op` + * SIMDReplaceInfo#**vec**: `ExpressionRef` + * SIMDReplaceInfo#**index**: `ExpressionRef` + * SIMDReplaceInfo#**value**: `ExpressionRef` + > + * SIMDShuffleInfo#**left**: `ExpressionRef` + * SIMDShuffleInfo#**right**: `ExpressionRef` + * SIMDShuffleInfo#**mask**: `Uint8Array` + > + * SIMDTernaryInfo#**op**: `Op` + * SIMDTernaryInfo#**a**: `ExpressionRef` + * SIMDTernaryInfo#**b**: `ExpressionRef` + * SIMDTernaryInfo#**c**: `ExpressionRef` + > + * SIMDShiftInfo#**op**: `Op` + * SIMDShiftInfo#**vec**: `ExpressionRef` + * SIMDShiftInfo#**shift**: `ExpressionRef` + > + * SIMDLoadInfo#**op**: `Op` + * SIMDLoadInfo#**offset**: `number` + * SIMDLoadInfo#**align**: `number` + * SIMDLoadInfo#**ptr**: `ExpressionRef` + > + * MemoryInitInfo#**segment**: `number` + * MemoryInitInfo#**dest**: `ExpressionRef` + * MemoryInitInfo#**offset**: `ExpressionRef` + * MemoryInitInfo#**size**: `ExpressionRef` + > + * MemoryDropInfo#**segment**: `number` + > + * MemoryCopyInfo#**dest**: `ExpressionRef` + * MemoryCopyInfo#**source**: `ExpressionRef` + * MemoryCopyInfo#**size**: `ExpressionRef` + > + * MemoryFillInfo#**dest**: `ExpressionRef` + * MemoryFillInfo#**value**: `ExpressionRef` + * MemoryFillInfo#**size**: `ExpressionRef` + > + * RefNullInfo + > + * RefIsInfo#**op**: `Operations` + * RefIsInfo#**value**: `ExpressionRef` + > + * RefAsInfo#**op**: `Operations` + * RefAsInfo#**value**: `ExpressionRef` + > + * RefFuncInfo#**func**: `string` + > + * RefEqInfo#**left**: `ExpressionRef` + * RefEqInfo#**right**: `ExpressionRef` + > + * TryInfo#**name**: `string` + * TryInfo#**body**: `ExpressionRef` + * TryInfo#**catchBodies**: `ExpressionRef[]` + * TryInfo#**ccatchBodies**: `ExpressionRef[]`; + * TryInfo#**chasCatchAll**: `boolean`; + * TryInfo#**cdelegateTarget**: `string`; + * TryInfo#**cisDelegate**: `boolean`; + > + * ThrowInfo#**tag**: `string` + * ThrowInfo#**operands**: `ExpressionRef[]` + > + * RethrowInfo#**target**: `string` + > + * TupleMakeInfo#**operands**: `ExpressionRef[]` + > + * TupleExtract#**tuple**: `ExpressionRef` + * TupleExtract#**index**: `number` + > + * I31NewInfo#**value**: `ExpressionRef` + > + * I31GetInfo#**i31**: `ExpressionRef` + * I31GetInfo#**isSigned**: `boolean` + > + * PushInfo#**value**: `ExpressionRef` + +* **emitText**(expression: `ExpressionRef`): `string`
+ Emits the expression in Binaryen's s-expression text format (not official stack-style text format). + +* **copyExpression**(expression: `ExpressionRef`): `ExpressionRef`
+ Creates a deep copy of an expression. + +### Relooper + +* new **Relooper**()
+ Constructs a relooper instance. This lets you provide an arbitrary CFG, and the relooper will structure it for WebAssembly. + +* Relooper#**addBlock**(code: `ExpressionRef`): `RelooperBlockRef`
+ Adds a new block to the CFG, containing the provided code as its body. + +* Relooper#**addBranch**(from: `RelooperBlockRef`, to: `RelooperBlockRef`, condition: `ExpressionRef`, code: `ExpressionRef`): `void`
+ Adds a branch from a block to another block, with a condition (or nothing, if this is the default branch to take from the origin - each block must have one such branch), and optional code to execute on the branch (useful for phis). + +* Relooper#**addBlockWithSwitch**(code: `ExpressionRef`, condition: `ExpressionRef`): `RelooperBlockRef`
+ Adds a new block, which ends with a switch/br_table, with provided code and condition (that determines where we go in the switch). + +* Relooper#**addBranchForSwitch**(from: `RelooperBlockRef`, to: `RelooperBlockRef`, indexes: `number[]`, code: `ExpressionRef`): `void`
+ Adds a branch from a block ending in a switch, to another block, using an array of indexes that determine where to go, and optional code to execute on the branch. + +* Relooper#**renderAndDispose**(entry: `RelooperBlockRef`, labelHelper: `number`, module: `Module`): `ExpressionRef`
+ Renders and cleans up the Relooper instance. Call this after you have created all the blocks and branches, giving it the entry block (where control flow begins), a label helper variable (an index of a local we can use, necessary for irreducible control flow), and the module. This returns an expression - normal WebAssembly code - that you can use normally anywhere. + +### Source maps + +* Module#**addDebugInfoFileName**(filename: `string`): `number`
+ Adds a debug info file name to the module and returns its index. + +* Module#**getDebugInfoFileName**(index: `number`): `string | null`
+ Gets the name of the debug info file at the specified index. + +* Module#**setDebugLocation**(func: `FunctionRef`, expr: `ExpressionRef`, fileIndex: `number`, lineNumber: `number`, columnNumber: `number`): `void`
+ Sets the debug location of the specified `ExpressionRef` within the specified `FunctionRef`. + +### Debugging + +* Module#**interpret**(): `void`
+ Runs the module in the interpreter, calling the start function. diff --git a/platforms/Arduino/node_modules/binaryen/index.d.ts b/platforms/Arduino/node_modules/binaryen/index.d.ts new file mode 100644 index 00000000..475771d2 --- /dev/null +++ b/platforms/Arduino/node_modules/binaryen/index.d.ts @@ -0,0 +1,2169 @@ +declare module binaryen { + + type Type = number; + + const none: Type; + const i32: Type; + const i64: Type; + const f32: Type; + const f64: Type; + const v128: Type; + const funcref: Type; + const externref: Type; + const anyref: Type; + const eqref: Type; + const i31ref: Type; + const dataref: Type; + const stringref: Type; + const stringview_wtf8: Type; + const stringview_wtf16: Type; + const stringview_iter: Type; + const unreachable: Type; + const auto: Type; + + function createType(types: Type[]): Type; + function expandType(type: Type): Type[]; + + const enum ExpressionIds { + Invalid, + Block, + If, + Loop, + Break, + Switch, + Call, + CallIndirect, + LocalGet, + LocalSet, + GlobalGet, + GlobalSet, + Load, + Store, + Const, + Unary, + Binary, + Select, + Drop, + Return, + MemorySize, + MemoryGrow, + Nop, + Unreachable, + AtomicCmpxchg, + AtomicRMW, + AtomicWait, + AtomicNotify, + AtomicFence, + SIMDExtract, + SIMDReplace, + SIMDShuffle, + SIMDTernary, + SIMDShift, + SIMDLoad, + MemoryInit, + DataDrop, + MemoryCopy, + MemoryFill, + RefNull, + RefIsNull, + RefFunc, + RefEq, + Try, + Throw, + Rethrow, + TupleMake, + TupleExtract, + Pop, + I31New, + I31Get, + CallRef, + RefTest, + RefCast, + BrOnCast, + RttCanon, + RttSub, + StructNew, + StructGet, + StructSet, + ArrayNew, + ArrayGet, + ArraySet, + ArrayLen + } + + const InvalidId: ExpressionIds; + const BlockId: ExpressionIds; + const IfId: ExpressionIds; + const LoopId: ExpressionIds; + const BreakId: ExpressionIds; + const SwitchId: ExpressionIds; + const CallId: ExpressionIds; + const CallIndirectId: ExpressionIds; + const LocalGetId: ExpressionIds; + const LocalSetId: ExpressionIds; + const GlobalGetId: ExpressionIds; + const GlobalSetId: ExpressionIds; + const TableGetId: ExpressionIds; + const TableSetId: ExpressionIds; + const TableSizeId: ExpressionIds; + const TableGrowId: ExpressionIds; + const LoadId: ExpressionIds; + const StoreId: ExpressionIds; + const ConstId: ExpressionIds; + const UnaryId: ExpressionIds; + const BinaryId: ExpressionIds; + const SelectId: ExpressionIds; + const DropId: ExpressionIds; + const ReturnId: ExpressionIds; + const NopId: ExpressionIds; + const UnreachableId: ExpressionIds; + const PopId: ExpressionIds; + const MemorySizeId: ExpressionIds; + const MemoryGrowId: ExpressionIds; + const AtomicRMWId: ExpressionIds; + const AtomicCmpxchgId: ExpressionIds; + const AtomicWaitId: ExpressionIds; + const AtomicNotifyId: ExpressionIds; + const AtomicFenceId: ExpressionIds; + const SIMDExtractId: ExpressionIds; + const SIMDReplaceId: ExpressionIds; + const SIMDShuffleId: ExpressionIds; + const SIMDTernaryId: ExpressionIds; + const SIMDShiftId: ExpressionIds; + const SIMDLoadId: ExpressionIds; + const SIMDLoadStoreLaneId: ExpressionIds; + const MemoryInitId: ExpressionIds; + const DataDropId: ExpressionIds; + const MemoryCopyId: ExpressionIds; + const MemoryFillId: ExpressionIds; + const RefNullId: ExpressionIds; + const RefIsId: ExpressionIds; + const RefAsId: ExpressionIds; + const RefFuncId: ExpressionIds; + const RefEqId: ExpressionIds; + const TryId: ExpressionIds; + const ThrowId: ExpressionIds; + const RethrowId: ExpressionIds; + const TupleMakeId: ExpressionIds; + const TupleExtractId: ExpressionIds; + const I31NewId: ExpressionIds; + const I31GetId: ExpressionIds; + const CallRefId: ExpressionIds; + const RefTestId: ExpressionIds; + const RefCastId: ExpressionIds; + const BrOnCastId: ExpressionIds; + const RttCanonId: ExpressionIds; + const RttSubId: ExpressionIds; + const StructNewId: ExpressionIds; + const StructGetId: ExpressionIds; + const StructSetId: ExpressionIds; + const ArrayNewId: ExpressionIds; + const ArrayGetId: ExpressionIds; + const ArraySetId: ExpressionIds; + const ArrayLenId: ExpressionIds; + + const enum ExternalKinds { + Function, + Table, + Memory, + Global, + Tag + } + + const ExternalFunction: ExternalKinds; + const ExternalTable: ExternalKinds; + const ExternalMemory: ExternalKinds; + const ExternalGlobal: ExternalKinds; + const ExternalTag: ExternalKinds; + + enum Features { + MVP, + Atomics, + BulkMemory, + MutableGlobals, + NontrappingFPToInt, + SignExt, + SIMD128, + ExceptionHandling, + TailCall, + ReferenceTypes, + Multivalue, + GC, + Memory64, + RelaxedSIMD, + ExtendedConst, + Strings, + All + } + + const enum Operations { + ClzInt32, + CtzInt32, + PopcntInt32, + NegFloat32, + AbsFloat32, + CeilFloat32, + FloorFloat32, + TruncFloat32, + NearestFloat32, + SqrtFloat32, + EqZInt32, + ClzInt64, + CtzInt64, + PopcntInt64, + NegFloat64, + AbsFloat64, + CeilFloat64, + FloorFloat64, + TruncFloat64, + NearestFloat64, + SqrtFloat64, + EqZInt64, + ExtendSInt32, + ExtendUInt32, + WrapInt64, + TruncSFloat32ToInt32, + TruncSFloat32ToInt64, + TruncUFloat32ToInt32, + TruncUFloat32ToInt64, + TruncSFloat64ToInt32, + TruncSFloat64ToInt64, + TruncUFloat64ToInt32, + TruncUFloat64ToInt64, + TruncSatSFloat32ToInt32, + TruncSatSFloat32ToInt64, + TruncSatUFloat32ToInt32, + TruncSatUFloat32ToInt64, + TruncSatSFloat64ToInt32, + TruncSatSFloat64ToInt64, + TruncSatUFloat64ToInt32, + TruncSatUFloat64ToInt64, + ReinterpretFloat32, + ReinterpretFloat64, + ConvertSInt32ToFloat32, + ConvertSInt32ToFloat64, + ConvertUInt32ToFloat32, + ConvertUInt32ToFloat64, + ConvertSInt64ToFloat32, + ConvertSInt64ToFloat64, + ConvertUInt64ToFloat32, + ConvertUInt64ToFloat64, + PromoteFloat32, + DemoteFloat64, + ReinterpretInt32, + ReinterpretInt64, + ExtendS8Int32, + ExtendS16Int32, + ExtendS8Int64, + ExtendS16Int64, + ExtendS32Int64, + AddInt32, + SubInt32, + MulInt32, + DivSInt32, + DivUInt32, + RemSInt32, + RemUInt32, + AndInt32, + OrInt32, + XorInt32, + ShlInt32, + ShrUInt32, + ShrSInt32, + RotLInt32, + RotRInt32, + EqInt32, + NeInt32, + LtSInt32, + LtUInt32, + LeSInt32, + LeUInt32, + GtSInt32, + GtUInt32, + GeSInt32, + GeUInt32, + AddInt64, + SubInt64, + MulInt64, + DivSInt64, + DivUInt64, + RemSInt64, + RemUInt64, + AndInt64, + OrInt64, + XorInt64, + ShlInt64, + ShrUInt64, + ShrSInt64, + RotLInt64, + RotRInt64, + EqInt64, + NeInt64, + LtSInt64, + LtUInt64, + LeSInt64, + LeUInt64, + GtSInt64, + GtUInt64, + GeSInt64, + GeUInt64, + AddFloat32, + SubFloat32, + MulFloat32, + DivFloat32, + CopySignFloat32, + MinFloat32, + MaxFloat32, + EqFloat32, + NeFloat32, + LtFloat32, + LeFloat32, + GtFloat32, + GeFloat32, + AddFloat64, + SubFloat64, + MulFloat64, + DivFloat64, + CopySignFloat64, + MinFloat64, + MaxFloat64, + EqFloat64, + NeFloat64, + LtFloat64, + LeFloat64, + GtFloat64, + GeFloat64, + AtomicRMWAdd, + AtomicRMWSub, + AtomicRMWAnd, + AtomicRMWOr, + AtomicRMWXor, + AtomicRMWXchg, + SplatVecI8x16, + ExtractLaneSVecI8x16, + ExtractLaneUVecI8x16, + ReplaceLaneVecI8x16, + SplatVecI16x8, + ExtractLaneSVecI16x8, + ExtractLaneUVecI16x8, + ReplaceLaneVecI16x8, + SplatVecI32x4, + ExtractLaneVecI32x4, + ReplaceLaneVecI32x4, + SplatVecI64x2, + ExtractLaneVecI64x2, + ReplaceLaneVecI64x2, + SplatVecF32x4, + ExtractLaneVecF32x4, + ReplaceLaneVecF32x4, + SplatVecF64x2, + ExtractLaneVecF64x2, + ReplaceLaneVecF64x2, + EqVecI8x16, + NeVecI8x16, + LtSVecI8x16, + LtUVecI8x16, + GtSVecI8x16, + GtUVecI8x16, + LeSVecI8x16, + LeUVecI8x16, + GeSVecI8x16, + GeUVecI8x16, + EqVecI16x8, + NeVecI16x8, + LtSVecI16x8, + LtUVecI16x8, + GtSVecI16x8, + GtUVecI16x8, + LeSVecI16x8, + LeUVecI16x8, + GeSVecI16x8, + GeUVecI16x8, + EqVecI32x4, + NeVecI32x4, + LtSVecI32x4, + LtUVecI32x4, + GtSVecI32x4, + GtUVecI32x4, + LeSVecI32x4, + LeUVecI32x4, + GeSVecI32x4, + GeUVecI32x4, + EqVecI64x2, + NeVecI64x2, + LtSVecI64x2, + GtSVecI64x2, + LeSVecI64x2, + GeSVecI64x2, + EqVecF32x4, + NeVecF32x4, + LtVecF32x4, + GtVecF32x4, + LeVecF32x4, + GeVecF32x4, + EqVecF64x2, + NeVecF64x2, + LtVecF64x2, + GtVecF64x2, + LeVecF64x2, + GeVecF64x2, + NotVec128, + AndVec128, + OrVec128, + XorVec128, + AndNotVec128, + BitselectVec128, + AnyTrueVec128, + PopcntVecI8x16, + AbsVecI8x16, + NegVecI8x16, + AllTrueVecI8x16, + BitmaskVecI8x16, + ShlVecI8x16, + ShrSVecI8x16, + ShrUVecI8x16, + AddVecI8x16, + AddSatSVecI8x16, + AddSatUVecI8x16, + SubVecI8x16, + SubSatSVecI8x16, + SubSatUVecI8x16, + MinSVecI8x16, + MinUVecI8x16, + MaxSVecI8x16, + MaxUVecI8x16, + AvgrUVecI8x16, + AbsVecI16x8, + NegVecI16x8, + AllTrueVecI16x8, + BitmaskVecI16x8, + ShlVecI16x8, + ShrSVecI16x8, + ShrUVecI16x8, + AddVecI16x8, + AddSatSVecI16x8, + AddSatUVecI16x8, + SubVecI16x8, + SubSatSVecI16x8, + SubSatUVecI16x8, + MulVecI16x8, + MinSVecI16x8, + MinUVecI16x8, + MaxSVecI16x8, + MaxUVecI16x8, + AvgrUVecI16x8, + Q15MulrSatSVecI16x8, + ExtMulLowSVecI16x8, + ExtMulHighSVecI16x8, + ExtMulLowUVecI16x8, + ExtMulHighUVecI16x8, + DotSVecI16x8ToVecI32x4, + ExtMulLowSVecI32x4, + ExtMulHighSVecI32x4, + ExtMulLowUVecI32x4, + ExtMulHighUVecI32x4, + AbsVecI32x4, + NegVecI32x4, + AllTrueVecI32x4, + BitmaskVecI32x4, + ShlVecI32x4, + ShrSVecI32x4, + ShrUVecI32x4, + AddVecI32x4, + SubVecI32x4, + MulVecI32x4, + MinSVecI32x4, + MinUVecI32x4, + MaxSVecI32x4, + MaxUVecI32x4, + AbsVecI64x2, + NegVecI64x2, + AllTrueVecI64x2, + BitmaskVecI64x2, + ShlVecI64x2, + ShrSVecI64x2, + ShrUVecI64x2, + AddVecI64x2, + SubVecI64x2, + MulVecI64x2, + ExtMulLowSVecI64x2, + ExtMulHighSVecI64x2, + ExtMulLowUVecI64x2, + ExtMulHighUVecI64x2, + AbsVecF32x4, + NegVecF32x4, + SqrtVecF32x4, + AddVecF32x4, + SubVecF32x4, + MulVecF32x4, + DivVecF32x4, + MinVecF32x4, + MaxVecF32x4, + PMinVecF32x4, + PMaxVecF32x4, + CeilVecF32x4, + FloorVecF32x4, + TruncVecF32x4, + NearestVecF32x4, + AbsVecF64x2, + NegVecF64x2, + SqrtVecF64x2, + AddVecF64x2, + SubVecF64x2, + MulVecF64x2, + DivVecF64x2, + MinVecF64x2, + MaxVecF64x2, + PMinVecF64x2, + PMaxVecF64x2, + CeilVecF64x2, + FloorVecF64x2, + TruncVecF64x2, + NearestVecF64x2, + ExtAddPairwiseSVecI8x16ToI16x8, + ExtAddPairwiseUVecI8x16ToI16x8, + ExtAddPairwiseSVecI16x8ToI32x4, + ExtAddPairwiseUVecI16x8ToI32x4, + TruncSatSVecF32x4ToVecI32x4, + TruncSatUVecF32x4ToVecI32x4, + ConvertSVecI32x4ToVecF32x4, + ConvertUVecI32x4ToVecF32x4, + Load8SplatVec128, + Load16SplatVec128, + Load32SplatVec128, + Load64SplatVec128, + Load8x8SVec128, + Load8x8UVec128, + Load16x4SVec128, + Load16x4UVec128, + Load32x2SVec128, + Load32x2UVec128, + Load32ZeroVec128, + Load64ZeroVec128, + Load8LaneVec128, + Load16LaneVec128, + Load32LaneVec128, + Load64LaneVec128, + Store8LaneVec128, + Store16LaneVec128, + Store32LaneVec128, + Store64LaneVec128, + NarrowSVecI16x8ToVecI8x16, + NarrowUVecI16x8ToVecI8x16, + NarrowSVecI32x4ToVecI16x8, + NarrowUVecI32x4ToVecI16x8, + ExtendLowSVecI8x16ToVecI16x8, + ExtendHighSVecI8x16ToVecI16x8, + ExtendLowUVecI8x16ToVecI16x8, + ExtendHighUVecI8x16ToVecI16x8, + ExtendLowSVecI16x8ToVecI32x4, + ExtendHighSVecI16x8ToVecI32x4, + ExtendLowUVecI16x8ToVecI32x4, + ExtendHighUVecI16x8ToVecI32x4, + ExtendLowSVecI32x4ToVecI64x2, + ExtendHighSVecI32x4ToVecI64x2, + ExtendLowUVecI32x4ToVecI64x2, + ExtendHighUVecI32x4ToVecI64x2, + ConvertLowSVecI32x4ToVecF64x2, + ConvertLowUVecI32x4ToVecF64x2, + TruncSatZeroSVecF64x2ToVecI32x4, + TruncSatZeroUVecF64x2ToVecI32x4, + DemoteZeroVecF64x2ToVecF32x4, + PromoteLowVecF32x4ToVecF64x2, + SwizzleVecI8x16, + RefIsNull, + RefIsFunc, + RefIsData, + RefIsI31, + RefAsNonNull, + RefAsFunc, + RefAsData, + RefAsI31 + } + + const ClzInt32: Operations; + const CtzInt32: Operations; + const PopcntInt32: Operations; + const NegFloat32: Operations; + const AbsFloat32: Operations; + const CeilFloat32: Operations; + const FloorFloat32: Operations; + const TruncFloat32: Operations; + const NearestFloat32: Operations; + const SqrtFloat32: Operations; + const EqZInt32: Operations; + const ClzInt64: Operations; + const CtzInt64: Operations; + const PopcntInt64: Operations; + const NegFloat64: Operations; + const AbsFloat64: Operations; + const CeilFloat64: Operations; + const FloorFloat64: Operations; + const TruncFloat64: Operations; + const NearestFloat64: Operations; + const SqrtFloat64: Operations; + const EqZInt64: Operations; + const ExtendSInt32: Operations; + const ExtendUInt32: Operations; + const WrapInt64: Operations; + const TruncSFloat32ToInt32: Operations; + const TruncSFloat32ToInt64: Operations; + const TruncUFloat32ToInt32: Operations; + const TruncUFloat32ToInt64: Operations; + const TruncSFloat64ToInt32: Operations; + const TruncSFloat64ToInt64: Operations; + const TruncUFloat64ToInt32: Operations; + const TruncUFloat64ToInt64: Operations; + const TruncSatSFloat32ToInt32: Operations; + const TruncSatSFloat32ToInt64: Operations; + const TruncSatUFloat32ToInt32: Operations; + const TruncSatUFloat32ToInt64: Operations; + const TruncSatSFloat64ToInt32: Operations; + const TruncSatSFloat64ToInt64: Operations; + const TruncSatUFloat64ToInt32: Operations; + const TruncSatUFloat64ToInt64: Operations; + const ReinterpretFloat32: Operations; + const ReinterpretFloat64: Operations; + const ConvertSInt32ToFloat32: Operations; + const ConvertSInt32ToFloat64: Operations; + const ConvertUInt32ToFloat32: Operations; + const ConvertUInt32ToFloat64: Operations; + const ConvertSInt64ToFloat32: Operations; + const ConvertSInt64ToFloat64: Operations; + const ConvertUInt64ToFloat32: Operations; + const ConvertUInt64ToFloat64: Operations; + const PromoteFloat32: Operations; + const DemoteFloat64: Operations; + const ReinterpretInt32: Operations; + const ReinterpretInt64: Operations; + const ExtendS8Int32: Operations; + const ExtendS16Int32: Operations; + const ExtendS8Int64: Operations; + const ExtendS16Int64: Operations; + const ExtendS32Int64: Operations; + const AddInt32: Operations; + const SubInt32: Operations; + const MulInt32: Operations; + const DivSInt32: Operations; + const DivUInt32: Operations; + const RemSInt32: Operations; + const RemUInt32: Operations; + const AndInt32: Operations; + const OrInt32: Operations; + const XorInt32: Operations; + const ShlInt32: Operations; + const ShrUInt32: Operations; + const ShrSInt32: Operations; + const RotLInt32: Operations; + const RotRInt32: Operations; + const EqInt32: Operations; + const NeInt32: Operations; + const LtSInt32: Operations; + const LtUInt32: Operations; + const LeSInt32: Operations; + const LeUInt32: Operations; + const GtSInt32: Operations; + const GtUInt32: Operations; + const GeSInt32: Operations; + const GeUInt32: Operations; + const AddInt64: Operations; + const SubInt64: Operations; + const MulInt64: Operations; + const DivSInt64: Operations; + const DivUInt64: Operations; + const RemSInt64: Operations; + const RemUInt64: Operations; + const AndInt64: Operations; + const OrInt64: Operations; + const XorInt64: Operations; + const ShlInt64: Operations; + const ShrUInt64: Operations; + const ShrSInt64: Operations; + const RotLInt64: Operations; + const RotRInt64: Operations; + const EqInt64: Operations; + const NeInt64: Operations; + const LtSInt64: Operations; + const LtUInt64: Operations; + const LeSInt64: Operations; + const LeUInt64: Operations; + const GtSInt64: Operations; + const GtUInt64: Operations; + const GeSInt64: Operations; + const GeUInt64: Operations; + const AddFloat32: Operations; + const SubFloat32: Operations; + const MulFloat32: Operations; + const DivFloat32: Operations; + const CopySignFloat32: Operations; + const MinFloat32: Operations; + const MaxFloat32: Operations; + const EqFloat32: Operations; + const NeFloat32: Operations; + const LtFloat32: Operations; + const LeFloat32: Operations; + const GtFloat32: Operations; + const GeFloat32: Operations; + const AddFloat64: Operations; + const SubFloat64: Operations; + const MulFloat64: Operations; + const DivFloat64: Operations; + const CopySignFloat64: Operations; + const MinFloat64: Operations; + const MaxFloat64: Operations; + const EqFloat64: Operations; + const NeFloat64: Operations; + const LtFloat64: Operations; + const LeFloat64: Operations; + const GtFloat64: Operations; + const GeFloat64: Operations; + const AtomicRMWAdd: Operations; + const AtomicRMWSub: Operations; + const AtomicRMWAnd: Operations; + const AtomicRMWOr: Operations; + const AtomicRMWXor: Operations; + const AtomicRMWXchg: Operations; + const SplatVecI8x16: Operations; + const ExtractLaneSVecI8x16: Operations; + const ExtractLaneUVecI8x16: Operations; + const ReplaceLaneVecI8x16: Operations; + const SplatVecI16x8: Operations; + const ExtractLaneSVecI16x8: Operations; + const ExtractLaneUVecI16x8: Operations; + const ReplaceLaneVecI16x8: Operations; + const SplatVecI32x4: Operations; + const ExtractLaneVecI32x4: Operations; + const ReplaceLaneVecI32x4: Operations; + const SplatVecI64x2: Operations; + const ExtractLaneVecI64x2: Operations; + const ReplaceLaneVecI64x2: Operations; + const SplatVecF32x4: Operations; + const ExtractLaneVecF32x4: Operations; + const ReplaceLaneVecF32x4: Operations; + const SplatVecF64x2: Operations; + const ExtractLaneVecF64x2: Operations; + const ReplaceLaneVecF64x2: Operations; + const EqVecI8x16: Operations; + const NeVecI8x16: Operations; + const LtSVecI8x16: Operations; + const LtUVecI8x16: Operations; + const GtSVecI8x16: Operations; + const GtUVecI8x16: Operations; + const LeSVecI8x16: Operations; + const LeUVecI8x16: Operations; + const GeSVecI8x16: Operations; + const GeUVecI8x16: Operations; + const EqVecI16x8: Operations; + const NeVecI16x8: Operations; + const LtSVecI16x8: Operations; + const LtUVecI16x8: Operations; + const GtSVecI16x8: Operations; + const GtUVecI16x8: Operations; + const LeSVecI16x8: Operations; + const LeUVecI16x8: Operations; + const GeSVecI16x8: Operations; + const GeUVecI16x8: Operations; + const EqVecI32x4: Operations; + const NeVecI32x4: Operations; + const LtSVecI32x4: Operations; + const LtUVecI32x4: Operations; + const GtSVecI32x4: Operations; + const GtUVecI32x4: Operations; + const LeSVecI32x4: Operations; + const LeUVecI32x4: Operations; + const GeSVecI32x4: Operations; + const GeUVecI32x4: Operations; + const EqVecI64x2: Operations; + const NeVecI64x2: Operations; + const LtSVecI64x2: Operations; + const GtSVecI64x2: Operations; + const LeSVecI64x2: Operations; + const GeSVecI64x2: Operations; + const EqVecF32x4: Operations; + const NeVecF32x4: Operations; + const LtVecF32x4: Operations; + const GtVecF32x4: Operations; + const LeVecF32x4: Operations; + const GeVecF32x4: Operations; + const EqVecF64x2: Operations; + const NeVecF64x2: Operations; + const LtVecF64x2: Operations; + const GtVecF64x2: Operations; + const LeVecF64x2: Operations; + const GeVecF64x2: Operations; + const NotVec128: Operations; + const AndVec128: Operations; + const OrVec128: Operations; + const XorVec128: Operations; + const AndNotVec128: Operations; + const BitselectVec128: Operations; + const AnyTrueVec128: Operations; + const PopcntVecI8x16: Operations; + const AbsVecI8x16: Operations; + const NegVecI8x16: Operations; + const AllTrueVecI8x16: Operations; + const BitmaskVecI8x16: Operations; + const ShlVecI8x16: Operations; + const ShrSVecI8x16: Operations; + const ShrUVecI8x16: Operations; + const AddVecI8x16: Operations; + const AddSatSVecI8x16: Operations; + const AddSatUVecI8x16: Operations; + const SubVecI8x16: Operations; + const SubSatSVecI8x16: Operations; + const SubSatUVecI8x16: Operations; + const MinSVecI8x16: Operations; + const MinUVecI8x16: Operations; + const MaxSVecI8x16: Operations; + const MaxUVecI8x16: Operations; + const AvgrUVecI8x16: Operations; + const AbsVecI16x8: Operations; + const NegVecI16x8: Operations; + const AllTrueVecI16x8: Operations; + const BitmaskVecI16x8: Operations; + const ShlVecI16x8: Operations; + const ShrSVecI16x8: Operations; + const ShrUVecI16x8: Operations; + const AddVecI16x8: Operations; + const AddSatSVecI16x8: Operations; + const AddSatUVecI16x8: Operations; + const SubVecI16x8: Operations; + const SubSatSVecI16x8: Operations; + const SubSatUVecI16x8: Operations; + const MulVecI16x8: Operations; + const MinSVecI16x8: Operations; + const MinUVecI16x8: Operations; + const MaxSVecI16x8: Operations; + const MaxUVecI16x8: Operations; + const AvgrUVecI16x8: Operations; + const Q15MulrSatSVecI16x8: Operations; + const ExtMulLowSVecI16x8: Operations; + const ExtMulHighSVecI16x8: Operations; + const ExtMulLowUVecI16x8: Operations; + const ExtMulHighUVecI16x8: Operations; + const DotSVecI16x8ToVecI32x4: Operations; + const ExtMulLowSVecI32x4: Operations; + const ExtMulHighSVecI32x4: Operations; + const ExtMulLowUVecI32x4: Operations; + const ExtMulHighUVecI32x4: Operations; + const AbsVecI32x4: Operations; + const NegVecI32x4: Operations; + const AllTrueVecI32x4: Operations; + const BitmaskVecI32x4: Operations; + const ShlVecI32x4: Operations; + const ShrSVecI32x4: Operations; + const ShrUVecI32x4: Operations; + const AddVecI32x4: Operations; + const SubVecI32x4: Operations; + const MulVecI32x4: Operations; + const MinSVecI32x4: Operations; + const MinUVecI32x4: Operations; + const MaxSVecI32x4: Operations; + const MaxUVecI32x4: Operations; + const AbsVecI64x2: Operations; + const NegVecI64x2: Operations; + const AllTrueVecI64x2: Operations; + const BitmaskVecI64x2: Operations; + const ShlVecI64x2: Operations; + const ShrSVecI64x2: Operations; + const ShrUVecI64x2: Operations; + const AddVecI64x2: Operations; + const SubVecI64x2: Operations; + const MulVecI64x2: Operations; + const ExtMulLowSVecI64x2: Operations; + const ExtMulHighSVecI64x2: Operations; + const ExtMulLowUVecI64x2: Operations; + const ExtMulHighUVecI64x2: Operations; + const AbsVecF32x4: Operations; + const NegVecF32x4: Operations; + const SqrtVecF32x4: Operations; + const AddVecF32x4: Operations; + const SubVecF32x4: Operations; + const MulVecF32x4: Operations; + const DivVecF32x4: Operations; + const MinVecF32x4: Operations; + const MaxVecF32x4: Operations; + const PMinVecF32x4: Operations; + const PMaxVecF32x4: Operations; + const CeilVecF32x4: Operations; + const FloorVecF32x4: Operations; + const TruncVecF32x4: Operations; + const NearestVecF32x4: Operations; + const AbsVecF64x2: Operations; + const NegVecF64x2: Operations; + const SqrtVecF64x2: Operations; + const AddVecF64x2: Operations; + const SubVecF64x2: Operations; + const MulVecF64x2: Operations; + const DivVecF64x2: Operations; + const MinVecF64x2: Operations; + const MaxVecF64x2: Operations; + const PMinVecF64x2: Operations; + const PMaxVecF64x2: Operations; + const CeilVecF64x2: Operations; + const FloorVecF64x2: Operations; + const TruncVecF64x2: Operations; + const NearestVecF64x2: Operations; + const ExtAddPairwiseSVecI8x16ToI16x8: Operations; + const ExtAddPairwiseUVecI8x16ToI16x8: Operations; + const ExtAddPairwiseSVecI16x8ToI32x4: Operations; + const ExtAddPairwiseUVecI16x8ToI32x4: Operations; + const TruncSatSVecF32x4ToVecI32x4: Operations; + const TruncSatUVecF32x4ToVecI32x4: Operations; + const ConvertSVecI32x4ToVecF32x4: Operations; + const ConvertUVecI32x4ToVecF32x4: Operations; + const Load8SplatVec128: Operations; + const Load16SplatVec128: Operations; + const Load32SplatVec128: Operations; + const Load64SplatVec128: Operations; + const Load8x8SVec128: Operations; + const Load8x8UVec128: Operations; + const Load16x4SVec128: Operations; + const Load16x4UVec128: Operations; + const Load32x2SVec128: Operations; + const Load32x2UVec128: Operations; + const Load32ZeroVec128: Operations; + const Load64ZeroVec128: Operations; + const Load8LaneVec128: Operations; + const Load16LaneVec128: Operations; + const Load32LaneVec128: Operations; + const Load64LaneVec128: Operations; + const Store8LaneVec128: Operations; + const Store16LaneVec128: Operations; + const Store32LaneVec128: Operations; + const Store64LaneVec128: Operations; + const NarrowSVecI16x8ToVecI8x16: Operations; + const NarrowUVecI16x8ToVecI8x16: Operations; + const NarrowSVecI32x4ToVecI16x8: Operations; + const NarrowUVecI32x4ToVecI16x8: Operations; + const ExtendLowSVecI8x16ToVecI16x8: Operations; + const ExtendHighSVecI8x16ToVecI16x8: Operations; + const ExtendLowUVecI8x16ToVecI16x8: Operations; + const ExtendHighUVecI8x16ToVecI16x8: Operations; + const ExtendLowSVecI16x8ToVecI32x4: Operations; + const ExtendHighSVecI16x8ToVecI32x4: Operations; + const ExtendLowUVecI16x8ToVecI32x4: Operations; + const ExtendHighUVecI16x8ToVecI32x4: Operations; + const ExtendLowSVecI32x4ToVecI64x2: Operations; + const ExtendHighSVecI32x4ToVecI64x2: Operations; + const ExtendLowUVecI32x4ToVecI64x2: Operations; + const ExtendHighUVecI32x4ToVecI64x2: Operations; + const ConvertLowSVecI32x4ToVecF64x2: Operations; + const ConvertLowUVecI32x4ToVecF64x2: Operations; + const TruncSatZeroSVecF64x2ToVecI32x4: Operations; + const TruncSatZeroUVecF64x2ToVecI32x4: Operations; + const DemoteZeroVecF64x2ToVecF32x4: Operations; + const PromoteLowVecF32x4ToVecF64x2: Operations; + const SwizzleVecI8x16: Operations; + const RefIsNull: Operations; + const RefIsFunc: Operations; + const RefIsData: Operations; + const RefIsI31: Operations; + const RefAsNonNull: Operations; + const RefAsFunc: Operations; + const RefAsData: Operations; + const RefAsI31: Operations; + + const enum ExpressionRunnerFlags { + Default, + PreserveSideeffects, + TraverseCalls + } + + type ElementSegmentRef = number; + type ExpressionRef = number; + type FunctionRef = number; + type GlobalRef = number; + type ExportRef = number; + type TableRef = number; + type TagRef = number; + + class Module { + constructor(); + readonly ptr: number; + block(label: string | null, children: ExpressionRef[], resultType?: Type): ExpressionRef; + if(condition: ExpressionRef, ifTrue: ExpressionRef, ifFalse?: ExpressionRef): ExpressionRef; + loop(label: string | null, body: ExpressionRef): ExpressionRef; + br(label: string, condition?: ExpressionRef, value?: ExpressionRef): ExpressionRef; + br_if(label: string, condition?: ExpressionRef, value?: ExpressionRef): ExpressionRef; + switch(labels: string[], defaultLabel: string, condition: ExpressionRef, value?: ExpressionRef): ExpressionRef; + call(name: string, operands: ExpressionRef[], returnType: Type): ExpressionRef; + return_call(name: string, operands: ExpressionRef[], returnType: Type): ExpressionRef; + call_indirect(table: string, target: ExpressionRef, operands: ExpressionRef[], params: Type, results: Type): ExpressionRef; + return_call_indirect(table: string, target: ExpressionRef, operands: ExpressionRef[], params: Type, results: Type): ExpressionRef; + local: { + get(index: number, type: Type): ExpressionRef; + set(index: number, value: ExpressionRef): ExpressionRef; + tee(index: number, value: ExpressionRef, type: Type): ExpressionRef; + }; + global: { + get(name: string, type: Type): ExpressionRef; + set(name: string, value: ExpressionRef): ExpressionRef; + }; + table: { + get(name: string, index: ExpressionRef, type: Type): ExpressionRef; + set(name: string, index: ExpressionRef, value: ExpressionRef): ExpressionRef; + size(name: string): ExpressionRef; + grow(name: string, value: ExpressionRef, delta: ExpressionRef): ExpressionRef; + // TODO: init, fill, copy + }; + memory: { + size(name?: string, memory64?: boolean): ExpressionRef; + grow(value: ExpressionRef, name?: string, memory64?: boolean): ExpressionRef; + init(segment: number, dest: ExpressionRef, offset: ExpressionRef, size: ExpressionRef, name?: string): ExpressionRef; + copy(dest: ExpressionRef, source: ExpressionRef, size: ExpressionRef, destName?: string, sourceName?: string): ExpressionRef; + fill(dest: ExpressionRef, value: ExpressionRef, size: ExpressionRef, name?: string): ExpressionRef; + atomic: { + notify(ptr: ExpressionRef, notifyCount: ExpressionRef, name?: string): ExpressionRef; + wait32(ptr: ExpressionRef, expected: ExpressionRef, timeout: ExpressionRef, name?: string): ExpressionRef; + wait64(ptr: ExpressionRef, expected: ExpressionRef, timeout: ExpressionRef, name?: string): ExpressionRef; + } + }; + data: { + drop(segment: number): ExpressionRef; + }; + i32: { + load(offset: number, align: number, ptr: ExpressionRef, name?: string): ExpressionRef; + load8_s(offset: number, align: number, ptr: ExpressionRef, name?: string): ExpressionRef; + load8_u(offset: number, align: number, ptr: ExpressionRef, name?: string): ExpressionRef; + load16_s(offset: number, align: number, ptr: ExpressionRef, name?: string): ExpressionRef; + load16_u(offset: number, align: number, ptr: ExpressionRef, name?: string): ExpressionRef; + store(offset: number, align: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; + store8(offset: number, align: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; + store16(offset: number, align: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; + const(value: number): ExpressionRef; + clz(value: ExpressionRef): ExpressionRef; + ctz(value: ExpressionRef): ExpressionRef; + popcnt(value: ExpressionRef): ExpressionRef; + eqz(value: ExpressionRef): ExpressionRef; + trunc_s: { + f32(value: ExpressionRef): ExpressionRef; + f64(value: ExpressionRef): ExpressionRef; + }; + trunc_u: { + f32(value: ExpressionRef): ExpressionRef; + f64(value: ExpressionRef): ExpressionRef; + }; + trunc_s_sat: { + f32(value: ExpressionRef): ExpressionRef; + f64(value: ExpressionRef): ExpressionRef; + }; + trunc_u_sat: { + f32(value: ExpressionRef): ExpressionRef; + f64(value: ExpressionRef): ExpressionRef; + }; + reinterpret(value: ExpressionRef): ExpressionRef; + extend8_s(value: ExpressionRef): ExpressionRef; + extend16_s(value: ExpressionRef): ExpressionRef; + wrap(value: ExpressionRef): ExpressionRef; + add(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + sub(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + mul(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + div_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + div_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + rem_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + rem_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + and(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + or(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + xor(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + shl(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + shr_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + shr_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + rotl(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + rotr(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + eq(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + ne(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + lt_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + lt_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + le_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + le_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + gt_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + gt_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + ge_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + ge_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + atomic: { + load(offset: number, ptr: ExpressionRef, name?: string): ExpressionRef; + load8_u(offset: number, ptr: ExpressionRef, name?: string): ExpressionRef; + load16_u(offset: number, ptr: ExpressionRef, name?: string): ExpressionRef; + store(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; + store8(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; + store16(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; + rmw: { + add(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; + sub(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; + and(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; + or(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; + xor(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; + xchg(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; + cmpxchg(offset: number, ptr: ExpressionRef, expected: ExpressionRef, replacement: ExpressionRef, name?: string): ExpressionRef; + }, + rmw8_u: { + add(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; + sub(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; + and(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; + or(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; + xor(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; + xchg(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; + cmpxchg(offset: number, ptr: ExpressionRef, expected: ExpressionRef, replacement: ExpressionRef, name?: string): ExpressionRef; + }, + rmw16_u: { + add(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; + sub(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; + and(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; + or(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; + xor(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; + xchg(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; + cmpxchg(offset: number, ptr: ExpressionRef, expected: ExpressionRef, replacement: ExpressionRef, name?: string): ExpressionRef; + }, + }, + pop(): ExpressionRef; + }; + i64: { + load(offset: number, align: number, ptr: ExpressionRef, name?: string): ExpressionRef; + load8_s(offset: number, align: number, ptr: ExpressionRef, name?: string): ExpressionRef; + load8_u(offset: number, align: number, ptr: ExpressionRef, name?: string): ExpressionRef; + load16_s(offset: number, align: number, ptr: ExpressionRef, name?: string): ExpressionRef; + load16_u(offset: number, align: number, ptr: ExpressionRef, name?: string): ExpressionRef; + load32_s(offset: number, align: number, ptr: ExpressionRef, name?: string): ExpressionRef; + load32_u(offset: number, align: number, ptr: ExpressionRef, name?: string): ExpressionRef; + store(offset: number, align: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; + store8(offset: number, align: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; + store16(offset: number, align: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; + store32(offset: number, align: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; + const(low: number, high: number): ExpressionRef; + clz(value: ExpressionRef): ExpressionRef; + ctz(value: ExpressionRef): ExpressionRef; + popcnt(value: ExpressionRef): ExpressionRef; + eqz(value: ExpressionRef): ExpressionRef; + trunc_s: { + f32(value: ExpressionRef): ExpressionRef; + f64(value: ExpressionRef): ExpressionRef; + }; + trunc_u: { + f32(value: ExpressionRef): ExpressionRef; + f64(value: ExpressionRef): ExpressionRef; + }; + trunc_s_sat: { + f32(value: ExpressionRef): ExpressionRef; + f64(value: ExpressionRef): ExpressionRef; + }; + trunc_u_sat: { + f32(value: ExpressionRef): ExpressionRef; + f64(value: ExpressionRef): ExpressionRef; + }; + reinterpret(value: ExpressionRef): ExpressionRef; + extend8_s(value: ExpressionRef): ExpressionRef; + extend16_s(value: ExpressionRef): ExpressionRef; + extend32_s(value: ExpressionRef): ExpressionRef; + extend_s(value: ExpressionRef): ExpressionRef; + extend_u(value: ExpressionRef): ExpressionRef; + add(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + sub(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + mul(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + div_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + div_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + rem_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + rem_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + and(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + or(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + xor(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + shl(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + shr_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + shr_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + rotl(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + rotr(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + eq(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + ne(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + lt_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + lt_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + le_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + le_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + gt_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + gt_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + ge_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + ge_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + atomic: { + load(offset: number, ptr: ExpressionRef, name?: string): ExpressionRef; + load8_u(offset: number, ptr: ExpressionRef, name?: string): ExpressionRef; + load16_u(offset: number, ptr: ExpressionRef, name?: string): ExpressionRef; + load32_u(offset: number, ptr: ExpressionRef, name?: string): ExpressionRef; + store(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; + store8(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; + store16(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; + store32(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; + rmw: { + add(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; + sub(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; + and(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; + or(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; + xor(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; + xchg(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; + cmpxchg(offset: number, ptr: ExpressionRef, expected: ExpressionRef, replacement: ExpressionRef, name?: string): ExpressionRef; + }, + rmw8_u: { + add(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; + sub(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; + and(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; + or(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; + xor(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; + xchg(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; + cmpxchg(offset: number, ptr: ExpressionRef, expected: ExpressionRef, replacement: ExpressionRef, name?: string): ExpressionRef; + }, + rmw16_u: { + add(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; + sub(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; + and(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; + or(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; + xor(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; + xchg(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; + cmpxchg(offset: number, ptr: ExpressionRef, expected: ExpressionRef, replacement: ExpressionRef, name?: string): ExpressionRef; + }, + rmw32_u: { + add(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; + sub(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; + and(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; + or(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; + xor(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; + xchg(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; + cmpxchg(offset: number, ptr: ExpressionRef, expected: ExpressionRef, replacement: ExpressionRef, name?: string): ExpressionRef; + }, + }, + pop(): ExpressionRef; + }; + f32: { + load(offset: number, align: number, ptr: ExpressionRef, name?: string): ExpressionRef; + store(offset: number, align: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; + const(value: number): ExpressionRef; + const_bits(value: number): ExpressionRef; + neg(value: ExpressionRef): ExpressionRef; + abs(value: ExpressionRef): ExpressionRef; + ceil(value: ExpressionRef): ExpressionRef; + floor(value: ExpressionRef): ExpressionRef; + trunc(value: ExpressionRef): ExpressionRef; + nearest(value: ExpressionRef): ExpressionRef; + sqrt(value: ExpressionRef): ExpressionRef; + reinterpret(value: ExpressionRef): ExpressionRef; + convert_s: { + i32(value: ExpressionRef): ExpressionRef; + i64(value: ExpressionRef): ExpressionRef; + }; + convert_u: { + i32(value: ExpressionRef): ExpressionRef; + i64(value: ExpressionRef): ExpressionRef; + }; + demote(value: ExpressionRef): ExpressionRef; + add(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + sub(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + mul(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + div(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + copysign(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + min(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + max(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + eq(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + ne(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + lt(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + le(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + gt(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + ge(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + pop(): ExpressionRef; + }; + f64: { + load(offset: number, align: number, ptr: ExpressionRef, name?: string): ExpressionRef; + store(offset: number, align: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; + const(value: number): ExpressionRef; + const_bits(low: number, high: number): ExpressionRef; + neg(value: ExpressionRef): ExpressionRef; + abs(value: ExpressionRef): ExpressionRef; + ceil(value: ExpressionRef): ExpressionRef; + floor(value: ExpressionRef): ExpressionRef; + trunc(value: ExpressionRef): ExpressionRef; + nearest(value: ExpressionRef): ExpressionRef; + sqrt(value: ExpressionRef): ExpressionRef; + reinterpret(value: ExpressionRef): ExpressionRef; + convert_s: { + i32(value: ExpressionRef): ExpressionRef; + i64(value: ExpressionRef): ExpressionRef; + }; + convert_u: { + i32(value: ExpressionRef): ExpressionRef; + i64(value: ExpressionRef): ExpressionRef; + }; + promote(value: ExpressionRef): ExpressionRef; + add(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + sub(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + mul(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + div(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + copysign(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + min(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + max(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + eq(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + ne(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + lt(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + le(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + gt(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + ge(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + pop(): ExpressionRef; + }; + v128: { + load(offset: number, align: number, ptr: ExpressionRef, name?: string): ExpressionRef; + load8_splat(offset: number, align: number, ptr: ExpressionRef, name?: string): ExpressionRef; + load16_splat(offset: number, align: number, ptr: ExpressionRef, name?: string): ExpressionRef; + load32_splat(offset: number, align: number, ptr: ExpressionRef, name?: string): ExpressionRef; + load64_splat(offset: number, align: number, ptr: ExpressionRef, name?: string): ExpressionRef; + load8x8_s(offset: number, align: number, ptr: ExpressionRef, name?: string): ExpressionRef; + load8x8_u(offset: number, align: number, ptr: ExpressionRef, name?: string): ExpressionRef; + load16x4_s(offset: number, align: number, ptr: ExpressionRef, name?: string): ExpressionRef; + load16x4_u(offset: number, align: number, ptr: ExpressionRef, name?: string): ExpressionRef; + load32x2_s(offset: number, align: number, ptr: ExpressionRef, name?: string): ExpressionRef; + load32x2_u(offset: number, align: number, ptr: ExpressionRef, name?: string): ExpressionRef; + load32_zero(offset: number, align: number, ptr: ExpressionRef, name?: string): ExpressionRef; + load64_zero(offset: number, align: number, ptr: ExpressionRef, name?: string): ExpressionRef; + load8_lane(offset: number, align: number, index: number, ptr: ExpressionRef, vec: ExpressionRef, name?: string): ExpressionRef; + load16_lane(offset: number, align: number, index: number, ptr: ExpressionRef, vec: ExpressionRef, name?: string): ExpressionRef; + load32_lane(offset: number, align: number, index: number, ptr: ExpressionRef, vec: ExpressionRef, name?: string): ExpressionRef; + load64_lane(offset: number, align: number, index: number, ptr: ExpressionRef, vec: ExpressionRef, name?: string): ExpressionRef; + store8_lane(offset: number, align: number, index: number, pt: ExpressionRef, vec: ExpressionRef, name?: string): ExpressionRef; + store16_lane(offset: number, align: number, index: number, pt: ExpressionRef, vec: ExpressionRef, name?: string): ExpressionRef; + store32_lane(offset: number, align: number, index: number, pt: ExpressionRef, vec: ExpressionRef, name?: string): ExpressionRef; + store64_lane(offset: number, align: number, index: number, pt: ExpressionRef, vec: ExpressionRef, name?: string): ExpressionRef; + store(offset: number, align: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; + const(value: ArrayLike): ExpressionRef; + not(value: ExpressionRef): ExpressionRef; + any_true(value: ExpressionRef): ExpressionRef; + and(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + or(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + xor(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + andnot(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + bitselect(left: ExpressionRef, right: ExpressionRef, cond: ExpressionRef): ExpressionRef; + pop(): ExpressionRef; + }; + i8x16: { + shuffle(left: ExpressionRef, right: ExpressionRef, mask: ArrayLike): ExpressionRef; + swizzle(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + splat(value: ExpressionRef): ExpressionRef; + extract_lane_s(vec: ExpressionRef, index: ExpressionRef): ExpressionRef; + extract_lane_u(vec: ExpressionRef, index: ExpressionRef): ExpressionRef; + replace_lane(vec: ExpressionRef, index: ExpressionRef, value: ExpressionRef): ExpressionRef; + eq(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + ne(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + lt_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + lt_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + gt_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + gt_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + le_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + le_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + ge_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + ge_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + abs(value: ExpressionRef): ExpressionRef; + neg(value: ExpressionRef): ExpressionRef; + all_true(value: ExpressionRef): ExpressionRef; + bitmask(value: ExpressionRef): ExpressionRef; + popcnt(value: ExpressionRef): ExpressionRef; + shl(vec: ExpressionRef, shift: ExpressionRef): ExpressionRef; + shr_s(vec: ExpressionRef, shift: ExpressionRef): ExpressionRef; + shr_u(vec: ExpressionRef, shift: ExpressionRef): ExpressionRef; + add(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + add_saturate_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + add_saturate_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + sub(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + sub_saturate_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + sub_saturate_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + mul(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + min_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + min_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + max_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + max_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + avgr_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + narrow_i16x8_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + narrow_i16x8_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + }; + i16x8: { + splat(value: ExpressionRef): ExpressionRef; + extract_lane_s(vec: ExpressionRef, index: ExpressionRef): ExpressionRef; + extract_lane_u(vec: ExpressionRef, index: ExpressionRef): ExpressionRef; + replace_lane(vec: ExpressionRef, index: ExpressionRef, value: ExpressionRef): ExpressionRef; + eq(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + ne(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + lt_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + lt_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + gt_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + gt_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + le_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + le_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + ge_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + ge_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + abs(value: ExpressionRef): ExpressionRef; + neg(value: ExpressionRef): ExpressionRef; + all_true(value: ExpressionRef): ExpressionRef; + bitmask(value: ExpressionRef): ExpressionRef; + shl(vec: ExpressionRef, shift: ExpressionRef): ExpressionRef; + shr_s(vec: ExpressionRef, shift: ExpressionRef): ExpressionRef; + shr_u(vec: ExpressionRef, shift: ExpressionRef): ExpressionRef; + add(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + add_saturate_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + add_saturate_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + sub(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + sub_saturate_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + sub_saturate_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + mul(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + min_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + min_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + max_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + max_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + avgr_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + q15mulr_sat_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + extmul_low_i8x16_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + extmul_high_i8x16_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + extmul_low_i8x16_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + extmul_high_i8x16_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + extadd_pairwise_i8x16_s(value: ExpressionRef): ExpressionRef; + extadd_pairwise_i8x16_u(value: ExpressionRef): ExpressionRef; + narrow_i32x4_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + narrow_i32x4_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + extend_low_i8x16_s(value: ExpressionRef): ExpressionRef; + extend_high_i8x16_s(value: ExpressionRef): ExpressionRef; + extend_low_i8x16_u(value: ExpressionRef): ExpressionRef; + extend_high_i8x16_u(value: ExpressionRef): ExpressionRef; + }; + i32x4: { + splat(value: ExpressionRef): ExpressionRef; + extract_lane(vec: ExpressionRef, index: ExpressionRef): ExpressionRef; + replace_lane(vec: ExpressionRef, index: ExpressionRef, value: ExpressionRef): ExpressionRef; + eq(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + ne(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + lt_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + lt_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + gt_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + gt_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + le_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + le_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + ge_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + ge_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + abs(value: ExpressionRef): ExpressionRef; + neg(value: ExpressionRef): ExpressionRef; + all_true(value: ExpressionRef): ExpressionRef; + bitmask(value: ExpressionRef): ExpressionRef; + shl(vec: ExpressionRef, shift: ExpressionRef): ExpressionRef; + shr_s(vec: ExpressionRef, shift: ExpressionRef): ExpressionRef; + shr_u(vec: ExpressionRef, shift: ExpressionRef): ExpressionRef; + add(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + sub(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + mul(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + min_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + min_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + max_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + max_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + dot_i16x8_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + extmul_low_i16x8_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + extmul_high_i16x8_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + extmul_low_i16x8_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + extmul_high_i16x8_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + extadd_pairwise_i16x8_s(value: ExpressionRef): ExpressionRef; + extadd_pairwise_i16x8_u(value: ExpressionRef): ExpressionRef; + trunc_sat_f32x4_s(value: ExpressionRef): ExpressionRef; + trunc_sat_f32x4_u(value: ExpressionRef): ExpressionRef; + extend_low_i16x8_s(value: ExpressionRef): ExpressionRef; + extend_high_i16x8_s(value: ExpressionRef): ExpressionRef; + extend_low_i16x8_u(value: ExpressionRef): ExpressionRef; + extend_high_i16x8_u(value: ExpressionRef): ExpressionRef; + trunc_sat_f64x2_s_zero(value: ExpressionRef): ExpressionRef; + trunc_sat_f64x2_u_zero(value: ExpressionRef): ExpressionRef; + }; + i64x2: { + splat(value: ExpressionRef): ExpressionRef; + extract_lane(vec: ExpressionRef, index: ExpressionRef): ExpressionRef; + replace_lane(vec: ExpressionRef, index: ExpressionRef, value: ExpressionRef): ExpressionRef; + eq(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + ne(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + lt_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + gt_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + le_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + ge_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + abs(value: ExpressionRef): ExpressionRef; + neg(value: ExpressionRef): ExpressionRef; + all_true(value: ExpressionRef): ExpressionRef; + bitmask(value: ExpressionRef): ExpressionRef; + shl(vec: ExpressionRef, shift: ExpressionRef): ExpressionRef; + shr_s(vec: ExpressionRef, shift: ExpressionRef): ExpressionRef; + shr_u(vec: ExpressionRef, shift: ExpressionRef): ExpressionRef; + add(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + sub(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + mul(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + extmul_low_i32x4_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + extmul_high_i32x4_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + extmul_low_i32x4_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + extmul_high_i32x4_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + extend_low_i32x4_s(value: ExpressionRef): ExpressionRef; + extend_high_i32x4_s(value: ExpressionRef): ExpressionRef; + extend_low_i32x4_u(value: ExpressionRef): ExpressionRef; + extend_high_i32x4_u(value: ExpressionRef): ExpressionRef; + }; + f32x4: { + splat(value: ExpressionRef): ExpressionRef; + extract_lane(vec: ExpressionRef, index: ExpressionRef): ExpressionRef; + replace_lane(vec: ExpressionRef, index: ExpressionRef, value: ExpressionRef): ExpressionRef; + eq(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + ne(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + lt(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + gt(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + le(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + ge(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + abs(value: ExpressionRef): ExpressionRef; + neg(value: ExpressionRef): ExpressionRef; + sqrt(value: ExpressionRef): ExpressionRef; + add(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + sub(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + mul(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + div(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + min(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + max(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + pmin(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + pmax(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + ceil(value: ExpressionRef): ExpressionRef; + floor(value: ExpressionRef): ExpressionRef; + trunc(value: ExpressionRef): ExpressionRef; + nearest(value: ExpressionRef): ExpressionRef; + convert_i32x4_s(value: ExpressionRef): ExpressionRef; + convert_i32x4_u(value: ExpressionRef): ExpressionRef; + demote_f64x2_zero(value: ExpressionRef): ExpressionRef; + }; + f64x2: { + splat(value: ExpressionRef): ExpressionRef; + extract_lane(vec: ExpressionRef, index: ExpressionRef): ExpressionRef; + replace_lane(vec: ExpressionRef, index: ExpressionRef, value: ExpressionRef): ExpressionRef; + eq(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + ne(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + lt(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + gt(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + le(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + ge(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + abs(value: ExpressionRef): ExpressionRef; + neg(value: ExpressionRef): ExpressionRef; + sqrt(value: ExpressionRef): ExpressionRef; + add(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + sub(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + mul(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + div(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + min(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + max(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + pmin(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + pmax(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + ceil(value: ExpressionRef): ExpressionRef; + floor(value: ExpressionRef): ExpressionRef; + trunc(value: ExpressionRef): ExpressionRef; + nearest(value: ExpressionRef): ExpressionRef; + convert_low_i32x4_s(value: ExpressionRef): ExpressionRef; + convert_low_i32x4_u(value: ExpressionRef): ExpressionRef; + promote_low_f32x4(value: ExpressionRef): ExpressionRef; + }; + funcref: { + pop(): ExpressionRef; + }; + externref: { + pop(): ExpressionRef; + }; + anyref: { + pop(): ExpressionRef; + }; + eqref: { + pop(): ExpressionRef; + }; + i31ref: { + pop(): ExpressionRef; + }; + dataref: { + pop(): ExpressionRef; + }; + stringref: { + pop(): ExpressionRef; + }; + stringview_wtf8: { + pop(): ExpressionRef; + }; + stringview_wtf16: { + pop(): ExpressionRef; + }; + stringview_iter: { + pop(): ExpressionRef; + }; + ref: { + null(type: Type): ExpressionRef; + is_null(value: ExpressionRef): ExpressionRef; + is_func(value: ExpressionRef): ExpressionRef; + is_data(value: ExpressionRef): ExpressionRef; + is_i31(value: ExpressionRef): ExpressionRef; + as_non_null(value: ExpressionRef): ExpressionRef; + as_func(value: ExpressionRef): ExpressionRef; + as_data(value: ExpressionRef): ExpressionRef; + as_i31(value: ExpressionRef): ExpressionRef; + func(name: string, type: Type): ExpressionRef; + eq(left: ExpressionRef, right: ExpressionRef): ExpressionRef; + }; + i31: { + 'new'(value: ExpressionRef): ExpressionRef; + get_s(i31: ExpressionRef): ExpressionRef; + get_u(i31: ExpressionRef): ExpressionRef; + } + atomic: { + fence(): ExpressionRef; + }; + tuple: { + make(elements: ExportRef[]): ExpressionRef; + extract(tuple: ExpressionRef, index: number): ExpressionRef; + }; + Function: { + getName(func: FunctionRef): string; + getParams(func: FunctionRef): Type; + getResults(func: FunctionRef): Type; + getNumVars(func: FunctionRef): number; + getVar(func: FunctionRef, index: number): Type; + getNumLocals(func: FunctionRef): number; + hasLocalName(func: FunctionRef, index: number): boolean; + getLocalName(func: FunctionRef, index: number): string; + setLocalName(func: ExpressionRef, index: number, name: string): void; + getBody(func: FunctionRef): ExpressionRef; + setBody(func: FunctionRef, bodyExpr: ExpressionRef): void; + }; + try(name: string, body: ExpressionRef, catchTags: string[], catchBodies: ExpressionRef[], delegateTarget?: string): ExpressionRef; + throw(tag: string, operands: ExpressionRef[]): ExpressionRef; + rethrow(target: string): ExpressionRef; + select(condition: ExpressionRef, ifTrue: ExpressionRef, ifFalse: ExpressionRef, type?: Type): ExpressionRef; + drop(value: ExpressionRef): ExpressionRef; + return(value?: ExpressionRef): ExpressionRef; + nop(): ExpressionRef; + unreachable(): ExpressionRef; + addFunction(name: string, params: Type, results: Type, vars: Type[], body: ExpressionRef): FunctionRef; + getFunction(name: string): FunctionRef; + removeFunction(name: string): void; + getNumFunctions(): number; + getFunctionByIndex(index: number): FunctionRef; + addGlobal(name: string, type: Type, mutable: boolean, init: ExpressionRef): GlobalRef; + getGlobal(name: string): GlobalRef; + removeGlobal(name: string): void; + addTable(name: string, initial: number, maximum: number, type: Type): TableRef; + getTable(name: string): TableRef; + removeTable(name: string): void; + addTag(name: string, params: Type, results: Type): TagRef; + getTag(name: string): TagRef; + removeTag(name: string): void; + addFunctionImport(internalName: string, externalModuleName: string, externalBaseName: string, params: Type, results: Type): void; + addTableImport(internalName: string, externalModuleName: string, externalBaseName: string): void; + addMemoryImport(internalName: string, externalModuleName: string, externalBaseName: string): void; + addGlobalImport(internalName: string, externalModuleName: string, externalBaseName: string, globalType: Type): void; + addTagImport(internalName: string, externalModuleName: string, externalBaseName: string, params: Type, results: Type): void; + addFunctionExport(internalName: string, externalName: string): ExportRef; + addTableExport(internalName: string, externalName: string): ExportRef; + addMemoryExport(internalName: string, externalName: string): ExportRef; + addGlobalExport(internalName: string, externalName: string): ExportRef; + addTagExport(internalName: string, externalName: string): ExportRef; + removeExport(externalName: string): void; + getExport(externalName: string): ExportRef; + getNumExports(): number; + getExportByIndex(index: number): ExportRef; + setMemory(initial: number, maximum: number, exportName?: string | null, segments?: MemorySegment[] | null, shared?: boolean, memory64?: boolean, internalName?: string): void; + getMemorySegmentInfoByIndex(index: number): MemorySegmentInfo; + setStart(start: FunctionRef): void; + getFeatures(): Features; + setFeatures(features: Features): void; + addCustomSection(name: string, contents: Uint8Array): void; + getNumGlobals(): number; + getNumTables(): number; + hasMemory(): boolean; + getMemoryInfo(name?: string): MemoryInfo; + getNumMemorySegments(): number; + getNumElementSegments(): number; + getGlobalByIndex(index: number): GlobalRef; + getTableByIndex(index: number): TableRef; + getElementSegmentByIndex(index: number): ElementSegmentRef; + emitText(): string; + emitStackIR(optimize?: boolean): string; + emitAsmjs(): string; + validate(): number; + optimize(): void; + optimizeFunction(func: string | FunctionRef): void; + runPasses(passes: string[]): void; + runPassesOnFunction(func: string | FunctionRef, passes: string[]): void; + autoDrop(): void; + dispose(): void; + emitBinary(): Uint8Array; + emitBinary(sourceMapUrl: string | null): { binary: Uint8Array; sourceMap: string | null; }; + interpret(): void; + addDebugInfoFileName(filename: string): number; + getDebugInfoFileName(index: number): string | null; + setDebugLocation(func: FunctionRef, expr: ExpressionRef, fileIndex: number, lineNumber: number, columnNumber: number): void; + copyExpression(expr: ExpressionRef): ExpressionRef; + } + + interface MemorySegment { + offset: ExpressionRef; + data: Uint8Array; + passive?: boolean; + } + + interface TableElement { + offset: ExpressionRef; + names: string[]; + } + + function wrapModule(ptr: number): Module; + + function getExpressionId(expression: ExpressionRef): number; + function getExpressionType(expression: ExpressionRef): Type; + function getExpressionInfo(expression: ExpressionRef): ExpressionInfo; + + interface MemorySegmentInfo { + offset: ExpressionRef; + data: Uint8Array; + passive: boolean; + } + + interface MemoryInfo { + module: string | null; + base: string | null; + shared: boolean; + is64: boolean; + initial: number; + max?: number; + } + + interface ExpressionInfo { + id: ExpressionIds; + type: Type; + } + + interface BlockInfo extends ExpressionInfo { + name: string; + children: ExpressionRef[]; + } + + interface IfInfo extends ExpressionInfo { + condition: ExpressionRef; + ifTrue: ExpressionRef; + ifFalse: ExpressionRef; + } + + interface LoopInfo extends ExpressionInfo { + name: string; + body: ExpressionRef; + } + + interface BreakInfo extends ExpressionInfo { + name: string; + condition: ExpressionRef; + value: ExpressionRef; + } + + interface SwitchInfo extends ExpressionInfo { + names: string[]; + defaultName: string | null; + condition: ExpressionRef; + value: ExpressionRef; + } + + interface CallInfo extends ExpressionInfo { + isReturn: boolean; + target: string; + operands: ExpressionRef[]; + } + + interface CallIndirectInfo extends ExpressionInfo { + isReturn: boolean; + target: ExpressionRef; + operands: ExpressionRef[]; + } + + interface LocalGetInfo extends ExpressionInfo { + index: number; + } + + interface LocalSetInfo extends ExpressionInfo { + isTee: boolean; + index: number; + value: ExpressionRef; + } + + interface GlobalGetInfo extends ExpressionInfo { + name: string; + } + + interface GlobalSetInfo extends ExpressionInfo { + name: string; + value: ExpressionRef; + } + + interface TableGetInfo extends ExpressionInfo { + table: string; + index: ExpressionRef; + } + + interface TableSetInfo extends ExpressionInfo { + table: string; + index: ExpressionRef; + value: ExpressionRef; + } + + interface TableSizeInfo extends ExpressionInfo { + table: string; + } + + interface TableGrowInfo extends ExpressionInfo { + table: string; + value: ExpressionRef; + delta: ExpressionRef; + } + + interface LoadInfo extends ExpressionInfo { + isAtomic: boolean; + isSigned: boolean; + offset: number; + bytes: number; + align: number; + ptr: ExpressionRef; + } + + interface StoreInfo extends ExpressionInfo { + isAtomic: boolean; + offset: number; + bytes: number; + align: number; + ptr: ExpressionRef; + value: ExpressionRef; + } + + interface ConstInfo extends ExpressionInfo { + value: number | { low: number, high: number } | Array; + } + + interface UnaryInfo extends ExpressionInfo { + op: Operations; + value: ExpressionRef; + } + + interface BinaryInfo extends ExpressionInfo { + op: Operations; + left: ExpressionRef; + right: ExpressionRef; + } + + interface SelectInfo extends ExpressionInfo { + ifTrue: ExpressionRef; + ifFalse: ExpressionRef; + condition: ExpressionRef; + } + + interface DropInfo extends ExpressionInfo { + value: ExpressionRef; + } + + interface ReturnInfo extends ExpressionInfo { + value: ExpressionRef; + } + + interface NopInfo extends ExpressionInfo { + } + + interface UnreachableInfo extends ExpressionInfo { + } + + interface PopInfo extends ExpressionInfo { + } + + interface MemorySizeInfo extends ExpressionInfo { + } + + interface MemoryGrowInfo extends ExpressionInfo { + delta: ExpressionRef; + } + + interface AtomicRMWInfo extends ExpressionInfo { + op: Operations; + bytes: number; + offset: number; + ptr: ExpressionRef; + value: ExpressionRef; + } + + interface AtomicCmpxchgInfo extends ExpressionInfo { + bytes: number; + offset: number; + ptr: ExpressionRef; + expected: ExpressionRef; + replacement: ExpressionRef; + } + + interface AtomicWaitInfo extends ExpressionInfo { + ptr: ExpressionRef; + expected: ExpressionRef; + timeout: ExpressionRef; + expectedType: Type; + } + + interface AtomicNotifyInfo extends ExpressionInfo { + ptr: ExpressionRef; + notifyCount: ExpressionRef; + } + + interface AtomicFenceInfo extends ExpressionInfo { + order: number; + } + + interface SIMDExtractInfo extends ExpressionInfo { + op: Operations; + vec: ExpressionRef; + index: ExpressionRef; + } + + interface SIMDReplaceInfo extends ExpressionInfo { + op: Operations; + vec: ExpressionRef; + index: ExpressionRef; + value: ExpressionRef; + } + + interface SIMDShuffleInfo extends ExpressionInfo { + left: ExpressionRef; + right: ExpressionRef; + mask: number[]; + } + + interface SIMDTernaryInfo extends ExpressionInfo { + op: Operations; + a: ExpressionRef; + b: ExpressionRef; + c: ExpressionRef; + } + + interface SIMDShiftInfo extends ExpressionInfo { + op: Operations; + vec: ExpressionRef; + shift: ExpressionRef; + } + + interface SIMDLoadInfo extends ExpressionInfo { + op: Operations; + offset: number; + align: number; + ptr: ExpressionRef; + } + + interface SIMDLoadStoreLaneInfo extends ExpressionInfo { + op: Operations; + offset: number; + align: number; + index: number; + ptr: ExpressionRef; + vec: ExpressionRef; + } + + interface MemoryInitInfo extends ExpressionInfo { + segment: number; + dest: ExpressionRef; + offset: ExpressionRef; + size: ExpressionRef; + } + + interface DataDropInfo extends ExpressionInfo { + segment: number; + } + + interface MemoryCopyInfo extends ExpressionInfo { + dest: ExpressionRef; + source: ExpressionRef; + size: ExpressionRef; + } + + interface MemoryFillInfo extends ExpressionInfo { + dest: ExpressionRef; + value: ExpressionRef; + size: ExpressionRef; + } + + interface RefNullInfo extends ExpressionInfo { + } + + interface RefIsInfo extends ExpressionInfo { + op: Operations; + value: ExpressionRef; + } + + interface RefAsInfo extends ExpressionInfo { + op: Operations; + value: ExpressionRef; + } + + interface RefFuncInfo extends ExpressionInfo { + func: string; + } + + interface RefEqInfo extends ExpressionInfo { + left: ExpressionRef; + right: ExpressionRef; + } + + interface TryInfo extends ExpressionInfo { + name: string; + body: ExpressionRef; + catchTags: string[]; + catchBodies: ExpressionRef[]; + hasCatchAll: boolean; + delegateTarget: string; + isDelegate: boolean; + } + + interface ThrowInfo extends ExpressionInfo { + tag: string; + operands: ExpressionRef[]; + } + + interface RethrowInfo extends ExpressionInfo { + target: string; + } + + interface TupleMakeInfo extends ExpressionInfo { + operands: ExpressionRef[]; + } + + interface TupleExtract extends ExpressionInfo { + tuple: ExpressionRef; + index: number; + } + + interface I31NewInfo extends ExpressionInfo { + value: ExpressionRef; + } + + interface I31GetInfo extends ExpressionInfo { + i31: ExpressionRef; + isSigned: boolean; + } + + function getFunctionInfo(func: FunctionRef): FunctionInfo; + + interface FunctionInfo { + name: string; + module: string | null; + base: string | null; + params: Type; + results: Type; + vars: Type[]; + body: ExpressionRef; + } + + function getGlobalInfo(global: GlobalRef): GlobalInfo; + + interface GlobalInfo { + name: string; + module: string | null; + base: string | null; + type: Type; + mutable: boolean; + init: ExpressionRef; + } + + function getTableInfo(table: TableRef): TableInfo; + + interface TableInfo { + name: string; + module: string | null; + base: string | null; + initial: number; + max?: number; + } + + function getElementSegmentInfo(segment: ElementSegmentRef): ElementSegmentInfo; + + interface ElementSegmentInfo { + name: string, + table: string, + offset: number, + data: string[] + } + + function getTagInfo(tag: TagRef): TagInfo; + + interface TagInfo { + name: string; + module: string | null; + base: string | null; + params: Type; + results: Type; + } + + function getExportInfo(export_: ExportRef): ExportInfo; + + interface ExportInfo { + kind: ExternalKinds; + name: string; + value: string; + } + + function getSideEffects(expr: ExpressionRef, features: Features): SideEffects; + + const enum SideEffects { + None, + Branches, + Calls, + ReadsLocal, + WritesLocal, + ReadsGlobal, + WritesGlobal, + ReadsMemory, + WritesMemory, + ReadsTable, + WritesTable, + ImplicitTrap, + IsAtomic, + Throws, + DanglingPop, + TrapsNeverHappen, + Any + } + + function emitText(expression: ExpressionRef | Module): string; + function readBinary(data: Uint8Array): Module; + function parseText(text: string): Module; + function getOptimizeLevel(): number; + function setOptimizeLevel(level: number): number; + function getShrinkLevel(): number; + function setShrinkLevel(level: number): number; + function getDebugInfo(): boolean; + function setDebugInfo(on: boolean): void; + function getLowMemoryUnused(): boolean; + function setLowMemoryUnused(on: boolean): void; + function getZeroFilledMemory(): boolean; + function setZeroFilledMemory(on: boolean): void; + function getFastMath(): boolean; + function setFastMath(on: boolean): void; + function getPassArgument(key: string): string | null; + function setPassArgument(key: string, value: string | null): void; + function clearPassArguments(): void; + function getAlwaysInlineMaxSize(): number; + function setAlwaysInlineMaxSize(size: number): void; + function getFlexibleInlineMaxSize(): number; + function setFlexibleInlineMaxSize(size: number): void; + function getOneCallerInlineMaxSize(): number; + function setOneCallerInlineMaxSize(size: number): void; + function getAllowInliningFunctionsWithLoops(): boolean; + function setAllowInliningFunctionsWithLoops(on: boolean): void; + function exit(status: number): void; + + type RelooperBlockRef = number; + + class Relooper { + constructor(module: Module); + addBlock(expression: ExpressionRef): RelooperBlockRef; + addBranch(from: RelooperBlockRef, to: RelooperBlockRef, condition: ExpressionRef, code: ExpressionRef): void; + addBlockWithSwitch(code: ExpressionRef, condition: ExpressionRef): RelooperBlockRef; + addBranchForSwitch(from: RelooperBlockRef, to: RelooperBlockRef, indexes: number[], code: ExpressionRef): void; + renderAndDispose(entry: RelooperBlockRef, labelHelper: number): ExpressionRef; + } + + class ExpressionRunner { + constructor(module: Module, flags: ExpressionRunnerFlags, maxDepth: number, maxLoopIterations: number); + setLocalValue(index: number, valueExpr: ExpressionRef): boolean; + setGlobalValue(name: string, valueExpr: ExpressionRef): boolean; + runAndDispose(expr: ExpressionRef): ExpressionRef; + } +} + +export default binaryen; diff --git a/platforms/Arduino/node_modules/binaryen/index.js b/platforms/Arduino/node_modules/binaryen/index.js new file mode 100644 index 00000000..cf99b7ae --- /dev/null +++ b/platforms/Arduino/node_modules/binaryen/index.js @@ -0,0 +1,11 @@ +/** + * @license + * Copyright 2024 The Binaryen Authors. + * SPDX-License-Identifier: Apache-2.0 + */ +var EB=(()=>{var _A=import.meta.url;return async function($A={}){var A=$A,Ag,RA;A.ready=new Promise((g,I)=>{Ag=g,RA=I});var gg=Object.assign({},A),tA="./this.program",WA=(g,I)=>{throw I},qI=typeof window=="object",kA=typeof importScripts=="function",AA=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string",e="",qA,UA;if(AA){let{createRequire:g}=await import("module");var FA=g(import.meta.url),Ig=FA("fs"),Qg=FA("path");kA?e=Qg.dirname(e)+"/":e=FA("url").fileURLToPath(new URL("./",import.meta.url)),qA=(I,E)=>(I=xI(I)?new URL(I):Qg.normalize(I),Ig.readFileSync(I,E?void 0:"utf8")),UA=I=>(I=qA(I,!0),I.buffer||(I=new Uint8Array(I)),I),!A.thisProgram&&1{if(!(I==="unwind"||I instanceof VA||I.context instanceof VA))throw I}),WA=(I,E)=>{throw process.exitCode=I,E}}else(qI||kA)&&(kA?e=self.location.href:typeof document!="undefined"&&document.currentScript&&(e=document.currentScript.src),_A&&(e=_A),e.indexOf("blob:")!==0?e=e.substr(0,e.replace(/[?#].*/,"").lastIndexOf("/")+1):e="",qA=g=>{var I=new XMLHttpRequest;return I.open("GET",g,!1),I.send(null),I.responseText},kA&&(UA=g=>{var I=new XMLHttpRequest;return I.open("GET",g,!1),I.responseType="arraybuffer",I.send(null),new Uint8Array(I.response)}));var f=A.print||console.log.bind(console),gA=A.printErr||console.error.bind(console);Object.assign(A,gg),gg=null,A.thisProgram&&(tA=A.thisProgram),A.quit&&(WA=A.quit);var ZA;A.wasmBinary&&(ZA=A.wasmBinary),typeof WebAssembly!="object"&&T("no native wasm support detected");var GA,xA=!1,t,r,JA,W,a;function Bg(){var g=GA.buffer;A.HEAP8=t=new Int8Array(g),A.HEAP16=JA=new Int16Array(g),A.HEAPU8=r=new Uint8Array(g),A.HEAPU16=new Uint16Array(g),A.HEAP32=W=new Int32Array(g),A.HEAPU32=a=new Uint32Array(g),A.HEAPF32=new Float32Array(g),A.HEAPF64=new Float64Array(g)}var Cg=[],Eg=[],Dg=[],ig=!1;function ZI(){var g=A.preRun.shift();Cg.unshift(g)}var X=0,nA=null,IA=null;function T(g){throw A.onAbort?.(g),g="Aborted("+g+")",gA(g),xA=!0,g=new WebAssembly.RuntimeError(g+". Build with -sASSERTIONS for more info."),RA(g),g}var og=g=>g.startsWith("data:application/octet-stream;base64,"),xI=g=>g.startsWith("file://"),_;if(_="data:application/octet-stream;base64,AGFzbQEAAAAB4gZqYAJ/fwBgAX8AYAF/AX9gA39/fwBgAn9/AX9gAAF/YAN/f38Bf2AEf39/fwBgBH9/f38Bf2AFf39/f38AYAV/f39/fwF/YAZ/f39/f38Bf2AGf39/f39/AGAIf39/f39/f38Bf2ADf35/AX9gB39/f39/f38Bf2AAAGAHf39/f39/fwBgBH9+f38AYAN/f34Bf2ACf34Bf2AEf39+fwBgAn9+AGADf39+AGAEf39/fgBgBH9+fn8AYAh/f39/f39/fwBgA39+fwF+YAV/f39/fgF/YAV/f35/fwBgBX9+fn5+AGAKf39/f39/f39/fwBgAn5/AX9gA39+fwBgAn98AGABfwF+YAJ/fwF+YAV/f39/fgBgBX9/fn5/AGAEfn9/fwF/YAV/f35/fwF/YAt/f39/f39/f39/fwF/YAV+f39/fwF/YAV/f39/fAF/YAt/f39/f39/f39/fwBgDH9/f39/f39/f39/fwF/YAl/f39/f39/f38Bf2AEf39/fgF/YAR/f35+AGAFf39/fn8AYAV/f39/fgF+YAF+AX9gBn9/f39/fgBgB39/fn9/fn4AYAABfmADfn9/AGAHf35/f39/fgF/YAd/f39/f39+AX9gBH9+f38Bf2AGf35/f39/AX9gBX9+f39/AGAGf35/f35+AGACf30AYAp/f39/f39/f39/AX9gBX9/f35+AGADf35+AGACfH8BfGAEf39/fwF+YAZ/fH9/f38Bf2ABfwF8YAF/AX1gBH9/fn4Bf2ADf39/AX5gD39/f39/f39/f39/f39/fwBgB39/f39/fn4Bf2AGf39/f35+AX9gEH9/f39/f39/f39/f39/f38AYAR/f3x/AGAAAXxgBn9/f39/fAF/YAN/f3wBf2ADf398AGAJf39/f39/f39/AGAEf39+fwF/YAR/f39+AX5gBH5+fn4Bf2AHf39+f39/fgF/YAN+f38Bf2AGf39/f39+AX9gAn5+AXxgBn9/fn9/fwF/YAJ/fAF/YAJ+fgF9YAJ/fwF8YAJ/fwF9YAN8fHwBfGADfX19AX1gAnx/AX9gA35+fgF/YAR/f35/AX5gBn9/f35/fwBgBn9/f39+fwBgA39/fwF8YAN/f38BfWAMf39/f39/f39/f39/AGADf3x/AAKzBFgBYQFhAAUBYQFiAAcBYQFjAAYBYQFkAAMBYQFlAAgBYQFmAAkBYQFnAAQBYQFoAAEBYQFpAAcBYQFqAAEBYQFrAAABYQFsAAIBYQFtAAwBYQFuAAoBYQFvAAIBYQFwABABYQFxAAsBYQFyABABYQFzAAMBYQF0AAsBYQF1AA8BYQF2ABoBYQF3AAIBYQF4ABEBYQF5ACwBYQF6AAIBYQFBAEwBYQFCAC0BYQFDAA0BYQFEAE0BYQFFABABYQFGAAQBYQFHAAYBYQFIAAIBYQFJAE4BYQFKAAgBYQFLAAIBYQFMAD8BYQFNAC4BYQFOABEBYQFPAA8BYQFQAAsBYQFRAA0BYQFSAAQBYQFTABEBYQFUAA8BYQFVAA8BYQFWAAkBYQFXAAYBYQFYABoBYQFZABoBYQFaAA8BYQFfAAkBYQEkAAQBYQJhYQAMAWECYmEACgFhAmNhAAoBYQJkYQAPAWECZWEAHwFhAmZhACwBYQJnYQARAWECaGEAEQFhAmlhABEBYQJqYQARAWECa2EAAQFhAmxhAAgBYQJtYQALAWECbmEABAFhAm9hAAwBYQJwYQAIAWECcWEABwFhAnJhAAoBYQJzYQAJAWECdGEADAFhAnVhAAoBYQJ2YQBPAWECd2EALgFhAnhhAFABYQJ5YQBRAWECemEAUgFhAkFhAAoBYQJCYQAIAWECQ2EABgFhAkRhAAgBYQJFYQAFAWECRmEABQFhAkdhAAIBYQJIYQAIA9ZV1FUDAgEDAgYGBgEBAwQQAAQAAQQQAQIAAQEQAQIBAAEGAQcABAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEDBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAgICAQYABAIABwICARACAAACBAEvAwYBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwAAAgACAgIBJQIAACQEBgMwBwIBBAABBxMCExMUBAQBAQcxAQAABgECAi8BAAMKAgQSCgAAJgIABAgFAgACBAIDGAIAE0AKEB4EAQEHGAIDDAQHHQQDBwQAABUCAggEAAYFBAAFAQ4TAAAGAgQnAAEFAQQEBAQVAAACCwAAIAEEBAgGBAIAAAQBBAEBBAQEAB4EAwAAAAMFBRkhBQoHAAkAAAEGBwAJBAoGAAMHBwIEAAAGKAIIFhQDHgYUMgYBBwMBBgQDAwIWAQACAwMHBQASBAYGAwIGAwECAgMHFAYAIAIEAAEBBAMWAQgCAQYBBwEDAQEGAwICBggAAgMFBAEAAAAEFAAAAggGBAECAAEECAIJAQADUwQAFgQEAQIBAgEFIgoEGAQGBgIABAJBBAcGBQAKCggCBgRUAgcBFQQEAQMHAQRABwMGBAEBBAIkDQ0EAAAGAAEWBgIABAYBBwIUAQACCgIDAgoECAYIAwACAwECBwAAAAAhATNBAAAAAQQAAgcCBhgBBgAAAAYCBxMGBgIBAQEGBwUAAQMCAQABBwQBAgAIAgQHAAEDBAEZARkCBAFVAAEBBAACAQEAAAIGBAAAAAAVAQAAAAAEAlYABAEEABMEAwAABAAKBwAEAQEBAAEGAQcAAAoMAQAMAQgGBQUGAQEGAAQDEwEBAAQBAlcGCAQBAQsDAAALKSkABAICIAEAASEABAEAAQAAAQAAAAAAAQcAAAEAAQQCAQAAAAAMAAAGBAAAAAABAQEEAAMCAAAAAAQGEwcEAQAAAAEAAAEBAAAHAQEBAAAAAAAAAgEAAAIHFQAAAAEBAAAAAAAAAAAABBAABAEBAQUAAQgFAQQEAAQCCgoKCgwHKAQGBAYIBgQDAAADAAQCAQAGAAIWAAIAACETAAQFAggFBQczBgIABRUXGgoDBAMQBAgCAAEBAAAECAADAAEAAAEAAQABAAEEAAEBAQQBBwEAABYBBAEIAAEAAQkCFgAJAAQcBAIEAgQHBAAYAAoGAAEBAAIoAQQAAQAWBgACFQQBBwABAQQEBAEABgEBAAMBAQEIAwQDAAcCAgAFAQAAAAcBAAABAQcBAAEAAEIVAwcEAAEAAgEJGQkACgoKCwoKDAwKDAwJDAkJCQsCBQMGAwACBwAEAwYGAxQEBwcBAAEAAQUBAQAEAwIABAEBAAAAAxABWDQmDgEMBAICAgYPAA8BAAUBDgYMAAICBAQEAggBAQEBAQAGAAMDAwAJAAMAAAADAAIBBwQAAAAAAAADARoJAQcIAAAAAAQIARcAAAAAAAMDAAMDBQEABwAABAQEAwUFAgIUBQABAQEABwcFBQUBBQUAAQAIBwAGAgQBAAECFQEABQUABwAFBwIBAAQEBAUABQoFBQgIBAYAAAEABQUAAgUFAAUFBQUSAgEHAQcEBgABAQAFBQUFBQUGAQcBCQEAAAUFBQUFBQUFAAABAQEAAAAEAAEBAQAEAAMCBAUFBQEFBQwFBQUABQUFBQMFBAUJCQoFCgoKDAsFCQoJBQkJBQkJDAwFDAwKBwwEAVkAAQIaAgAHBAkFBgYGHgYGAwUABCMjAAEDBAYABwcHBwcAAAQEBAcBBAEFAQUFBQUUBAIqADMHAgAHBRYBAQEBAQEBAAkDBwEFAyMFBQcHAxcAAAQFBAIBBwIEBSo1BSIRAwcQBAQEAQEABQYCBQQEAAUtCQYtCQYQAQAAAQIBAQIAAQEBAQIHAQEACAQQAQEAAAAAABcCAgEEAwcBBgYMCQAAAAIEAQAAAwIHBAACAQABCQYBBwAAAAAEAAIAAAQAAgAABAACAAAABAACAAAHAAAEAAIAAAACAAACAAIAAwECAQIBAQACDAYJAAkMBgkJBAcMBgkBCAABAQAIBgACAwACAAEEAAIDAAACBAQBAgEEAQEAAAAAAAAAAwMDAwADAAEBBwQAAgACAQAKBAQEBAQEAgIEBAAABQQIAAAAAAAAAAAAAAQAAAAAAAAAAAQEAAAAAQEBAAABAAAAAwAAAQIIBloICQQHAAEJBAcBBQEFCAcRAAIBAQACAgICAgIABAQABgsAAAEAAAABAwcXBgIBAAQCBgYAAwIDAQkBAwYGAwQCAQEBBgUCAAIIAQACAQMEBgUFBQIXAAMCCRkABR4AAgAABAEBBwYDAAICAgkAAwMBBAYABQUDAQcCAAIABQIBAQQFCQAGDAUJAAAFAAABBQAFAAAIBQAABQUFAAAFAAAABQUFAAAAAQUABQUAEwQABAAAAQACAgcHBgUEBQEABQIHBQQAAgEAA1s2AwEBAgUFAAAGBAUHAAABBAACCQQGBQUBAAcICQkKCQkJCQkFDAkKCgoKBwkJDAkJDAkJCQkMCQwFBQkBGAEBAQMEAAEDAwEAAgFcCQcGBAQHBANdXgYGBgMGBgYFBgYGBgYEBgYGBgQGBAYDBgI3FQYEBgQCAwIAAgACBAAABAIGBgYJBAIBAQAJBAYHAAMAARMHAA0ACwJfYAAQBBcUAQIBAQMBAQEEAAAEAAAAAB4GAAIJBAInCQQEBAIgBgEYAgQEAgJhBmIFBAEBAAQBAAAAAwMDAwQBBAcCAgEAAwAAAAUFODklOjs8N2M9ZGUBCQQDABgHAxoEBAICDQIKAgoNDQoNDQICAgEBAQMFAQABAQABBgYGCQQDAAAIDAkMDAkMDAIGCwYHZgJnA0MICwhDAAIIFwAAAgYEBgIEBAQEAgMDAgYjDgEBAQECAQYGAwQCAgIHBgQEAQIEAgECBAcGAgcdBgQGABdCBwIPChkeJAcGBAEXAgEAAQIEAQAEAAAAAAAAAAAAAAYAAAAAAAAAAwACAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAIAAAAAAAAAAAAAAgAAAAAAAAAAAAACAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAIAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAAAAMAAgIAAwAAAQwBAwAAAgMDAwMDAwMDAAMDAwMDAAICAwAADAABAwACAwACAAACAAIAAgACAAICAAIDAAIDAAICAwMHAgACAAAAAAAAAAIAAAAAAAAAAAAAAgAAAAAAAAAAAAACAAAAAAAAAAAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAACAAAAAAAAAAAAAAIAAAMGFgYDAAAAAAAABgIAAwACAgQDAAABBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAACAAAAAAAAAAAAAAIAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAACAgMABAQAAgAGAgAAAAAAAgIDAAAAAggIAwAAAwACAgMAAAABAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAgAAAQcCAAECAAAAAAAAAgIDAAABAgMCAQIAAAIDAAAACgIAAgMAAAAAAAcAAAAAAAAAAAAAAgAAAAcCAwAEAAECAAAJAwAAAAAAAAAAAAAAAgIDAAABAgAAAAAAAAAGAAIDAAABAAAAAAAAAAAAAAIDAAABAgYAAAAAAAIAAAAAAgMAAAEGAAAAAAAAAAABAAIAAAIDAAABAAIDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAIAAAAAAAAAAAAAAgAAAAAAAAAAAAACAAAAAAAAAAAAAAIAAAAAAAAAAAAAAgAAAAAAAAAAAAIAAgMAAAIDAAICAwEAAAAAAA0AAAAAAAAAAAAAAgAAAAAAAAAAAAACCgAAAAAAAAAAAAAFAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAgYCAQAAAAIDAAABFgEFODkDAwADAAACAgMAAAEEAAACAAAAAAADAAAAAQIDAAICAwAAAAEEAGgHAAQIAAEBBgAAAAABAAAAAQIDAgEDAwIDAAAAAAEAAAAAAAAHAwEFAAAAAgABAgABAAgAAAcCAgEBAwAAAQIAAAACAwAAAQICAQACAQIDAQECAAADAQAAAAACAAIDAAACAQICAwAAAgEAAAoAAAIDAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAACAAAAAAAAAAAAAAIAAAAAAAAAAAAAAgAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAACUJAAMEAAIEAgIEAAIEAAIEAgQAAAIEAgAAAAACAgAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAIIAAAAAAAAAAAAAAIAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAgADAAABAgAAAAAAAAAAAAAAAAIAAAAAAgAAAAACAwIAAAEAAAICAwAAAAAAAAACAgADIQAAAQACCgAAAwAAAAAAAAAAAAAAAAAAAAcAAgMAAAABAgAEAAIEAAIAAAECBAACAAMAAAADAAICAwAAAAECAwACAAABAgAAAAACAAAAAAAAAAAAAAIJAAAAAAAAAAAAAAIAAAAAAAAAAAAAAgAAAAAAAAAAAAACAAAAAAAAAAAAAAIAAAAAAAAAAAAADQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAgIDAAABAAMABwACBgECAgMAAAICAwAAAAAAAgAAAAAAAAAFAgACAAALAAAAAggAAwMEAAAAAAAAAAAAAAIAAAAAAAAAAAAAAgAAAAAAAAAAAAACAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAA8AAAAAAAAAAAAACgAAAAAAAAAAAAAEAAAAAAAHBwADBgACAgMAAAECBAIDAAAAAAADAAAEAgADAAICAwAAAAEEAAIAAgMAAgIDAAAAAAAAMAAAAAACAwAAAAIAAwAAAQIAAgMAAAAAAAAGAAIEBAAAAgQOAwYMBAAEBAQEBQUFAAAAAAUAAAAAAAAAAAAABQAAAAAAAAAAAAAFAAQAAAACAwAAAQIAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAIAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAIDAAQAAAAAAAAAAAAKAAIDAgAAAQICAwEGAAACAwEAAAAAAAAAAAAAAAAAAAACAAIAAAACBwAAAAAAAgMAAAAAAAAACgAAAAAAAAAAAAICFAABAgAAAQIAAAAAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAABQsAAAAAAAAAAAAABAAAAAAAAAAAAwIFAAAAAAECAAEFAgMAAAECBQAEAAIDAwUDAwYGAQYAAgYAAgAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAUAAAAAAAAAAAAABQAAAAAAAAAAAAAFAAAAAAAAAAAAAAUAAAAHAAAFAAAAAAAAAAAAAAUAAAAAAAAAAAAABQAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAACAwAAAQICAwAIAAMAAAAAAAADAAICAAABBAACBgQBAQACAQIEAAIEAgMAAAAAAAIABwAAAAAAAAAAAAABAAAAAAMAAAACAwMAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAADAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIDAAAIAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMAAAAAAAAAAAAAAQAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAIAAAAAAAAAAAAAAQAAAAAAAAAAAAABAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAwAAAAIDAAAABDoGAAECBAACAAMAAwMAAAAAAAAAAAIDAAAPAAAAAAAAAwAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAABAAAAAgMAAAAAAgAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgMEAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQAAgQAAgAABQAAAAAAAAAAAAUJBgAAAAAFAAEGAAIGAAIFCw8PCwkCAAAABQAAAAAAAAAAAAAFAAAAAAUGAgMABQABAQAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAEAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAACAAAAAAAAAAAAAAIHAAAAAAAAAAAAAAIAAAAAAAAAAAAACwAAAAAAAAAAAAAEAAAAAAAAAAAAAAQAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAACAAAAAAAAAAAAAQAAAAAABgEBwAAAAIDAAAAAgMBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAgAAAAAAAAAAAAACAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAgQEBAQGBgIDAwMDAwcDBAIEAAAACwAAAAAAAAAAAAAFAAAAAAAAAAAAAAUAAAAAAAAAAAAABQAAAAAAAAAAAAAFAAAAAAAAAAAAAAUAAAAAAAAAAAAABQAAAAAAAAAAAAAFAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAEAAgMCAwIDAAAAAAAAAAADAAAAAQMAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAIAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAACAwIAAAAAAAAEBwIAAAECAwACAgMAAAECAwAAAAAHAAAAAAIAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAIAAAMAAgIDAAIAAQECCQIBAAMAAAECOwICAwAAAAICAgAHAAYEDQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAD4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIDAAABAgAHAAACAwEEAAIAAAAAAAICAwEAAAAAAAMAAAAAAAADAAICAwACDgMAAAAABAAEAgACAAAAAAAAAAIAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAzwABgAAAAACAwAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAgAAAAAAAAAAAAACAAAAAAAAAAAAAAIAAAAAAAAAAAAAAgAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAgAAAAAAAAAAAAAGAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAGAAAAAAAAAAAAAAUAAAAAAAAAAAAABAAAAAAAAAAAAAAEAAAAAAAAAAAAAAQEAAAAAAAAAgMABQABAgIDAAAAAAAAAAMCAAcAAAECBQAAAAAAAAAAAAAFAAAAAAAAAAAAAAIAAAAAAAAAAAAAAgAAAAAAAAAAAAACAAAAAAAAAAAAAAIAAAAAAAAAAAAAAgAAAAAAAAAAAAACAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAADBwwEAAQEAAIDAgUAAgMABAABAAIDAAQAAQIDAgMCAwAAAAAABAsAAwIEAAQAAAAAAAUAAAAAAAIAAAAFAAAAAAAAAAAAAAQAAAAAAAAAAAAABAAAAAAAAAAAAAACAAAAAAAAAAAAAAQAAAAAAAAAAAAABAAAAAAAAAAAAAAFAAAAAAAAAAAAAAUAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAEAAAAAAAAAAAAAAIAAAAAAAAAAAAAAgAAAAAAAAAAAAACAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAABgADBgYCAwAAAQAACgQEAAAAAgMAAAECAgMAAgAAAwcAAAAAAAAABQAAAAAABAcEAwcAAAAAAgMAAAABAgAAAgMABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIDAAAEAAIGAAIAAAADAAICAAABAAAAAwACAAMAAgIDAAABBAACBAACAwACBAICAgICAgMBAgAAAAUAAgYDAQIAAAIFAAMBAgAFAAAAAAUAAAAAAAUAAAAAAAAAAAUCAwAFAgMAAAECBQEEAgUEAAAIAAUDEg0CAAUHBgAHAAAFAAMAAAMAAgIAAAEDAwMDAwMHAAABAQYEBgAAAAEAAgMAAAYAAgQCAgACAgEBBAMBAgACAAIHBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUABQUFBQUFBQUFBwQFBQUFBQUFBQUFBQUFBQUFBQUFBQEFBQUFBQUFBQUFBgUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQIFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUHBQEEBgYDAwMJEQAAAAICAwEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAUAAAAAAAAAAAAABQAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwgAFRUAIAABGQkABAMAAgQEAAcAAAIDAAEiAAI+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAIAAAAAAAAAAAAAAgAAAAAAAAAAAABFAAAAAAAAAAAAAEYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQABAAAABACAAkJKgkHAAAGJAgKAwMDAwMDAwQDAgAHAAAABwAGBAAAAhIAAAMAAAMAAAQGBgYGBgIGBgYGBgYGBgYGAwYGBgYGBgYGBgYGBgYGBgYGBgYGAgYGBgYGBgYGBgYEBgYGBgYGBgYGBgIGBggIAAIAAAAABAACAAAABgMAAAAAAAAAAAIAAAsAAAAAAgACAgACAwMABAAENAAAAgAABAIAAwACAgAAAAEAAwMEEAIHAgACAAEDAAAGAgACAgAAAAACJgICCAAAAAACAAAAAAAAAAAAAAQAAAAAAAAAAAAAAgAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAQBAAAAAAAAAAAAAgAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAgAAAAAAAAAAAAACBQAAAAAAAAAAAAAIAAAAAAAAAAQAAwcABwMDFCIGAAACBwcEEhkSABISFRsbDg4ODg4CDh0xBAAAAApHGgIEBxQDAQIEAQQjBwMAAgQEBAAEGDI9NQIKBwAABAAAAAACAwADAQAAAAAEAAAAAAAAAAAAAAMAAAAAAAAAAAAAAgAAAAAAAAAAAAACAAAAAAAAAAAAAAQAAAAAAAAAAAAABAAAAAAAAAAAAAABAAAAAAAAAAAAAAoAAAAAAAAAAAACAwACAAAAAAACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAgAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAACAgIAAwMCAAAAAAALAAAAAAAAAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAIAAAAAAAAAAAAAAgAAAAAAAAAAAAACAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAgAAAAAAAAAAAAAIAAAAAAAAAAAAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAgAAAAAAAAAAAAIAAAAAAgQEBAIAAAAAAQIAFwYEAg0EAgICAAACFAAAAgAnAgIHAgIAAgACCAAEBAECAAYEAAAGAgAEBwMDAwMDAwIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEAwMDAwMDAwMDAgMDAwMDAwMDAwMEAwMDAwMDAwMDAwgDAwMDAwMDAwMDAwMDAwMDAwMDAwgDAwMDAwMDAwMDAAMDAwMDAwMDAwIDAwMDAwMDAwQDAwMDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAABpAAAAAAIAAAAAAAAAAAAAAAAAAAADAwMKAwMDAwMDAwMDBwAHBwcHBwcHBwcHAAcDAwMDAwMDBAMABAcAAQAEAgAEAAAAAgICAiJFPkYDAgkMBwAJAAQGBgIEAgMCAggGAgkJAgcGBAMGBwYCBAgCAAACAgsFBQUFBQUFBQUCBQUEBQAFBgQFBQIFAwQDBAIEBgAAAgIGAAADAwAEBAIDAwICAgICBAQCBAQNAAMEAwIRBBEPCj8uEQsNChECDAIIDwkPHywaEQQEEQsPGg8ICwcJCAYMCgwICQMCAwMAAgICAgIGDAIMCQkHBwcECQwGEBABAAECBAMDAgIGAAYDAEgEBAEEAAQBBQEACgYIBgQGBAEKAAYIBgQGBAgICAYCCgIKAgoNAg0BAgAAAAICAQAACAABAgICAgICAgICAgICAgICAAEAAAEBAQEQAAEQAQEBAQEBAQECAQEBAQEBAQEBAQIBAQEQAQEBAQEMAgwLSR9KC0kIH0oGBg8AAAAfKQ8GDwMAAB8pDwIPDw0LCwILCwsNCwILCwsLCksRCCscChwRCgoFCksRKxwKHAARCgoLCwMLCwsLCwcACwILAAsLCwcLCwsLBAsBAQQCAwsGBwoGBwoCBAICAAIEBgAEAgIEAAQGAAICARMDAgIGBAECAQIBAgQBAgECAQIHCwEEBAICBwUdBgABAgIFHQQEAgAFAgYCBQYCBgoFKxwcCgoKAgIFAwMGDAwCBQUCAgICBQYFAgYFAgI2BAYGAEQCBBsbBgIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAIAAAAAAAAAAAAAAgAAAAAAAAAAAAACAAAAAAAAAAAAAAgAAAAAAAAAAAAAAwAAAAAAAAAAAAAEAAAAAAAAAAAAAwAAAAAAAAEEBgQAAgAAAgIBAgECBAcIBAUABAAGAwgGBgYACAIDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAACAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAgAAAAAAAAAAAAACAAAAAAAAAAAAAAIAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAACBQQJAXABvL4BvL4BBQcBAYACgIAEBg4CfwFBkOXLAgt/AUEACwfpQ6cLAklhAgACSmEAugwCS2EAgQMCTGEAkAMCTWEAuAMCTmEAtwMCT2EA7gMCUGEAnQQCUWEAlFACUmEAllACU2EAnlACVGEAmFACVWEAk1ACVmEAiVACV2EAnFACWGEAjVACWWEAilACWmEAi1ACX2EAjFACJGEAjlACYWIAkFACYmIAj1ACY2IAhAMCZGIAm1ACZWIAmlACZmIAnVACZ2IAl1ACaGIAgQMCaWIAhAMCamIAkAMCa2IAgQMCbGIAhAMCbWIAkAMCbmIAuAMCb2IAtwMCcGIA7gMCcWIAnQQCcmIAwQQCc2IAuAUCdGIAkgYCdWIAkQYCdmIAnAcCd2IAyAgCeGIA+QgCeWIAvjYCemIAqDYCQWIAnTYCQmIAyTYCQ2IAszYCRGIArAQCRWIAkjYCRmIA1FMCR2IA1VMCSGIA2lMCSWIAz1MCSmIAi00CS2IAjE0CTGIAik0CTWIAoBkCTmIAlRkCT2IA7QQCUGIAklACUWIAlVACUmIAgQMCU2IA4woCVGIAhAMCVWIAkAMCVmIAuAMCV2IAtwMCWGIA7gMCWWIAnQQCWmIA0QQCX2IAwQQCJGIAuAUCYWMAkgYCYmMAkQYCY2MAnAcCZGMAyAgCZWMAjwkCZmMA9AkCZ2MA2gsCaGMA2wsCaWMA3AsCamMAhAsCa2MA/wkCbGMA/gkCbWMA1AcCbmMAiwoCb2MAgwoCcGMApAsCcWMAnwsCcmMAkgsCc2MAjgsCdGMAnAsCdWMA+QgCdmMAgAsCd2MAygcCeGMAswoCeWMAgwsCemMAwAoCQWMA/QoCQmMA/AoCQ2MA4goCRGMAmAsCRWMAjAsCRmMAigsCR2MAsAoCSGMAiAsCSWMAvAoCSmMAxQoCS2MA5QoCTGMA5woCTWMA5AoCTmMAogoCT2MA5goCUGMAkAoCUWMAhwsCUmMAiQsCU2MApgoCVGMArgoCVWMAgQsCVmMAjQoCV2MAwQoCWGMAvgsCWWMAxgoCWmMA1AoCX2MAoQoCJGMAoAcCYWQAjwoCYmQAhQsCY2QAiAwCZGQA0woCZWQA9QsCZmQAiwwCZ2QA+QsCaGQA5wsCaWQA1woCamQAgQwCa2QAngwCbGQA+AsCbWQA1goCbmQAsgoCb2QAmgwCcGQA2QsCcWQA1QoCcmQAvQoCc2QAlwwCdGQA1wsCdWQA6AoCdmQA/goCd2QAjAoCeGQAtgsCeWQA2AoCemQAxAoCQWQAwwoCQmQA4QoCQ2QAgQMCRGQAhAMCRWQAkAMCRmQAuAMCR2QAtwMCSGQAgQMCSWQAhAMCSmQAygcCS2QAkAMCTGQAtwMCTWQA1AcCTmQAwQQCT2QAoAcCUGQAsAkCUWQAmA8CUmQAnA8CU2QAog8CVGQAoA8CVWQA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5j4CeWoAiz8CemoA1QoCQWoAvQoCQmoAlwwCQ2oA1wsCRGoAuAUCRWoAkgYCRmoAkQYCR2oAwVMCSGoAoVMCSWoA1yQCSmoA8T4CS2oAlT8CTGoA3D4CTWoAhD8CTmoA6AoCT2oA/goCUGoAjAoCUWoAq1YCUmoAuVMCU2oA/yQCVGoApUICVWoA2i0CVmoAhDECV2oA2iMCWGoAtgsCWWoA2AoCWmoAxAoCX2oAwwoCJGoA6CMCYWsA4QoCYmsA5A4CY2sAhg8CZGsAwFUCZWsAsFMCZmsA9CQCZ2sAmkICaGsA0C0CaWsA+TACamsA0SMCa2sA4SMCbGsAuBACbWsA4A8CbmsAng4Cb2sA1g4CcGsA0A8CcWsAyw8CcmsA0w8Cc2sAzQ8CdGsA4w4CdWsAhQ8CdmsA/w8Cd2sA8g8CeGsAgQMCeWsAhAMCemsAkAMCQWsAuAMCQmsAtwMCQ2sA7gMCRGsAnQQCRWsA0QQCRmsAwQQCR2sAuAUCSGsAkgYCSWsAkQYCSmsAgQMCS2sAhAMCTGsAkAMCTWsAuAMCTmsAtwMCT2sA7gMCUGsAnQQCUWsA0QQCUmsAzCQCU2sAtiQCVGsAwSQCVWsAqyQCVmsArg8CV2sAuw8CWGsAqQ8CWWsAtA8CWmsAsw8CX2sA5g8CJGsAqw8CYWwAuQ8CYmwAsg8CY2wAvA8CZGwAqg8CZWwA4Q8CZmwAlRACZ2wAlBACaGwA7Q4CaWwA4g4CamwA8Q8Ca2wAvhECbGwAnA4CbWwA5g0CbmwAvxECb2wAsAkCcGwAu1ICcWwA8yACcmwA+iACc2wAkCECdGwA9SACdWwAhSECdmwA9CACd2wAj0ICeGwAgQMCeWwAhAMCemwAkAMCQWwAgQMCQmwAhAMCQ2wAkAMCRGwAuAMCRWwAgQMCRmwAhAMCR2wAkAMCSGwAuAMCSWwAtwMCSmwA7gMCS2wAnQQCTGwA0QQCTWwAwQQCTmwAgQMCT2wAhAMCUGwAkAMCUWwAuAMCUmwAtwMCU2wAgQMCVGwAhAMCVWwAkAMCVmwAuAMCV2wAtwMCWGwA7gMCWWwAnQQCWmwA0QQCX2wAgQMCJGwAhAMCYW0AkAMCYm0AgQMCY20AhAMCZG0AgQMCZW0AhAMCZm0AgQMCZ20AhAMCaG0A9UgCaW0AwDUCam0AnzICa20Ay0cCbG0A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sQGgAccBugGwAa8BoQHRAdABwQHMAcQBrgGtAX+cAb4BmwGZAZ8BgQGYAawBqwHOAZ4BqgGXAYABe359hQG2AYQBlgHKAbUByQHAAdMB1QHUAbQBuQGpAbMBuAG/AagBtwGnAaYBpQHDAZUBmgGUAZMBkgGDAZEBkAGPAY4BjQGMAYsBnQHABd8+8QpkswJb3T7aAc0B1wHLAcUB2z7aPtsB4gHPAdgB1gHSAb0BvAG7AbIBggGKAYkBiAGHAYYBsQGgAccBugGwAa8BoQHRAdABwQHMAcQBrgGtAX+cAb4BmwGZAZ8BgQGYAawBqwHOAZ4BqgGXAYABe359hQG2AYQBlgHKAbUByQHAAdMB1QHUAbQBuQGpAbMBuAG/AagBtwGnAaYBpQHDAZUBmgGUAZMBkgGDAZEBkAGPAY4BjQGMAYsBnQHDPtoBzQHXAcsBxQHcAdkB2wHiAc8B2AHWAdIBvQG8AbsBsgGCAYoBiQGIAYcBhgGxAaABxwG6AbABrwGhAdEB0AHBAcwBxAGuAa0Bf5wBvgGbAZkBnwGBAZgBrAGrAc4BngGqAZcBgAF7fn2FAbYBhAGWAcoBtQHJAcAB0wHVAdQBtAG5AakBswG4Ab8BqAG3AacBpgGlAcMBlQGaAZQBkwGSAYMBkQGQAY8BjgGNAYwBiwGdAVu9PtoBzQHXAcsBxQG3D7YP2wHiAc8B2AHWAdIBvQG8AbsBsgGCAYoBiQGIAYcBhgGxAaABxwG6AbABrwGhAdEB0AHBAcwBxAGuAa0Bf5wBvgGbAZkBnwGBAZgBrAGrAc4BngGqAZcBgAF7fn2FAbYBhAGWAbUPtQHJAcAB0wHVAdQBtAG5AakBswG4Ab8BqAG3AacBpgGlAcMBlQGaAZQBkwGSAYMBkQGQAY8BjgGNAYwBiwGdAVu5PtoBzQHXAcsBxQG4Prc+2wHiAc8B2AHWAdIBvQG8AbsBsgGCAYoBiQGIAYcBhgGxAaABxwG6AbABrwGhAdEB0AHBAcwBxAGuAa0Bf5wBvgGbAZkBnwGBAZgBrAGrAc4BngGqAZcBgAF7fn2FAbYBhAGWAcoBtQHJAcAB0wHVAdQBtAG5AakBswG4Ab8BqAG3AacBpgGlAcMBlQGaAZQBkwGSAYMBkQGQAY8BjgGNAYwBiwGdAakDtD7aAc0B1wHLAcUB3AHZAdsB4gHPAdgB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mAGsAasBzgGeAaoBlwGAAXt+fYUBtgGEAZYBygG1AckBwAHTAdUB1AG0AbkBqQGzAbgBvwGoAbcBpwGmAaUBwwGVAZoBlAGTAZIBgwGRAZABjwGOAY0BjAGLAZ0Biz2KPYk9ZIQ9lQWUBYE9ZNkK/zz+PP08W/w8sAL7PP0IlgOyFpI8lDyWPM0BlTzLAcUB3AHZAdsB4gHPAdgB1gHSAb0BvAG7AbIBggGKAYkBiAGHAYYBsQGgAccBugGwAa8BoQHRAdABwQHMAcQBrgGtAX+cAb4BmwGZAZ8BgQGYAawBqwHOAZ4BqgGXAYABe359hQG2AYQBlgHKAbUByQHAAdMB1QHUAbQBuQGpAbMBuAG/AagBtwGnAaYBpQHDAZUBmgGUAZMBkgGDAZEBkAGPAY4BjQGMAYsBnQH6PPk8+Dz3PPY89Tz0PPM88jzxPPA87zzuPO086zzqPOk86DznPOY85TzkPOM84jzhPOA83zzePN083DzbPNo82TzYPNY81TzUPNM80jzRPNA8zzzOPM08yzzKPMk8yDzHPMY8xTzEPMM8wjzAPL88vjy9PLw8uzy6PLk8uDy3PLU8tDyzPLI8sTywPK88rjytPKw8qjypPKg8pzymPKU8pDyjPKI8oTyfPJ48nTycPJs8mjyZPJg8lzywO687kTyQPI88jjyNPIw8izyKPIk8iDyHPIY8hTyEPIM8gjyAPP87/jv9O/w7+zv6O/k7+Dv3O/U79DvzO/I78TvwO+877jvtO+w76jvpO+g75zvmO+U75DvjO+I74TvgO9873jvdO9w72zvaO9k72DvXO9U71DvTO9I70TvQO887zjvNO8w7yzvKO8k7yDvHO8Y7xTvEO8M7wjvAO787vju9O7w7uzu6O7k7uDu3O7Y7tTu0O7M7sjuxO846zTrMOss6yjrJOsg6xzrGOsQ6wzrCOsE6wDq/Or46vTq8Ors6uTq4Orc6tjq1OrQ6szqyOrE6sDquOq06rDqrOqo6qTqoOqc6pjqlOqM6ojqhOqA6nzqeOp06nDqbOpo6mDqXOpY6lTqUOpM6kjqROpA6jzqNOow6izqKOok6iDqHOoY6hTqEOoI6gTqAOv85/jn9Ofw5+zn6Ofk59zn2OfU59DnzOfI58TnwOe857jnsOes56jmuO607rDurO6o7qTuoO6c7pjulO6Q7ozuhO6A7nzueO507nDubO5o7mTuYO5Y7lTuUO5M7kjuRO5A7jzuOO407izuKO4k7iDuHO4Y7hTuEO4M7gjuBO4A7/zr+Ov06/Dr7Ovo6+Tr4OvY69Tr0OvM68jrxOvA67zruOu067DrrOuo66TroOuc65jrlOuQ64zriOuE64DrfOt463TrcOts62jrZOtg61zrWOtU61DrTOtI60TrQOs865znmOdcB5TnkOdwB2QHbAeIBzwHYAdYB0gG9AbwBuwGyAYIBigGJAYgBhwGGAbEBoAHHAboBsAGvAaEB0QHQAcEBzAHiOa4BrQF/nAG+AZsBmQGfAYEBmAGsAasBzgGeAaoBlwGAAXvhOX2FAbYBhAGWAcoBtQHJAcAB0wHVAdQBtAG5AakBswG4Ab8BqAG3AacBpgGlAcMBlQGaAZQBkwGSAYMBkQGQAY8BjgGNAYwBiwGdAXnECP4F3zn9Bd45ZNw5gg/bOeME/gTaOZgH2TnYOdoBzQHXAcsBxQHcAdkB2wHiAc8B2AHWAdIBvQG8AbsBsgGCAYoBiQGIAYcBhgGxAaABxwG6AbABrwGhAdEB0AHBAcwBxAGuAa0Bf5wBvgGbAZkBnwGBAZgBrAGrAc4BngGqAZcBgAF7fn2FAbYBhAGWAcoBtQHJAcAB1TnUOdM5tAG5AakBswG4Ab8BqAG3AacBpgGlAcMBlQGaAZQBkwGSAYMBkQGQAY8BjgGNAYwBiwGdAdMCuwWAD/8OuwXSOdoBzQHXAcsBxQHcAdkB2wHiAc8B2AHWAdIBvQG8AbsBsgGCAYoBiQGIAYcBhgGxAaABxwG6AbABrwGhAdEB0AHBAcwBxAGuAa0Bf5wBvgGbAZkBnwGBAZgBrAGrAc4BngGqAZcBgAF7fn2FAbYBhAGWAcoBtQHJAcAB0wHROdQBtAG5AakBswG4Ab8BqAG3AacBpgGlAcMBlQGaAZQBkwGSAYMBkQGQAY8BjgGNAYwBiwGdAdA5ecc5hgnaAc0B1wHLAcUB3AHZAdsB4gHPAdgB1gHSAb0BvAG7AbIBggGKAYkBiAGHAYYBsQGgAccBugGwAa8BxDnRAdABwQHMAcQBrgGtAX+cAb4BmwGZAZ8BgQGYAawBqwHOAZ4BqgGXAYABe359hQG2AYQBlgHKAbUByQHAAdMB1QHUAbQBuQGpAbMBuAG/AagBtwGnAaYBpQHDAZUB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xAGuAa0Bf5wBvgGbAZkBnwGBAZgBrAGrAc4BngGqAZcBgAF7fn2FAbYBhAGWAcoBtQHJAcAB0wHVAdQBtAG5AakBswG4Ab8BqAG3AacBpgGlAcMBlQGaAZQBkwGSAYMBkQGQAY8BjgGNAYwBiwGdAeYy2gHNAdcBywHFAdwB2QHbAeIBzwHYAdYB0gG9AbwBuwGyAYIBigGJAYgBhwGGAbEBoAHHAboBsAGvAaEB0QHQAcEBzAHEAa4BrQF/nAG+AZsBmQGfAYEBmAGsAasBzgGeAaoBlwGAAXt+fYUBtgGEAZYBygG1AckBwAHTAdUB1AG0AbkBqQGzAbgBvwGoAbcBpwGmAaUBwwGVAZoBlAGTAZIBgwGRAZABjwGOAY0BjAGLAZ0BqQPdMtsy2jLTAtky2DLXMtAyzzLOMs0yzDLLMskyyDLHMsYyxTLEMsMywjLBMsAyvjK9MrwyuzK6MrkyuDK3MrYytTKzMrIysTKwMq8yrjKtMqwyqzKqMqkyqDKnMqYypTKkMqMyojKhMqAynjKdMpwymzKaMpkymDKXMpYylTKTMpIykTKQMo8yjjKNMowyizKKMogyhzKGMoUyhDKDMoIygTKAMv8x/TH8Mfsx+jH5Mfgx9zH2MfUx9DHyMfEx8DHvMe4x7THaAc0B1wHLAcUB3AHZAdsB4gHPAdgB1gHSAb0BvAG7AbIBggGKAYkBiAGHAYYBsQGgAccBugGwAa8BoQHRAdABwQHMAcQBrgGtAX+cAb4BmwGZAZ8BgQGYAawBqwHOAZ4BqgGXAYABe359hQG2AYQBlgHKAbUByQHAAdMB1jLUAbQBuQGpAbMBuAG/AagBtwGnAaYBpQHDAZUBmgGUAZMBkgGDAZEBkAGPAY4BjQGMAYsBnQHVMrYKrwR51DKQDrUK/gXnMfgF5jFktAi5BWTlMeQx9wXjMWTPD9oBzQHXAcsBxQHcAdkB2wHiAc8B2AHWAdIBvQG8AbsBsgGCAYoBiQGIAYcBhgGxAaABxwG6AbABrwGhAdEB0AHBAcwBxAGuAa0Bf5wBvgGbAZkBnwGBAZgBrAGrAc4BngGqAZcBgAF7fn2FAbYBhAGWAcoBtQHJAcAB4jHhMeAxtAG5AakBswG4Ab8BqAG3AacBpgGlAcMBlQGaAZQBkwGSAYMBkQGQAY8BjgGNAYwBiwGdAdoBzQHXAcsB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0wHVAdQBtAG5AakBswG4Ab8BqAG3AacBpgGlAcMBlQGaAZQBkwGSAYMBkQGQAY8BjgGNAYwBiwGdAdUt1C3TLVvSLdEtzy1bzi2EDPQr8yvyK/Er8CvvK+4r7SvrK+or6SvoK+cr5ivlK+Qr4yviK+Er4CvfK94r3SvcK9sr2ivZK9gr1yvWK9Ur1CvTK9Ir0SvQK88rzivNK8wryyvKK8kryCvHK8YrxSvEK8IrwSvAK78rviu9K7wruyu6K7krtyu2K7UrtCuzK7IrsSuwK68rriutK6wrqyuqK6krqCunK6YrpSukK6IroSugK58rniudK5wrmyuaK5krlyuWK5UrlCvaAc0B1wHLAcUB+CvZAdsB4gHPAdgB1gHSAb0BvAG7AbIBggGKAYkBiAGHAYYBsQGgAccBugGwAa8BoQHRAdABwQHMAcQBrgGtAX+cAb4BmwGZAZ8BgQGYAawBqwHOAZ4BqgGXAYABe359hQG2AYQBlgHKAbUByQHAAdMB1QHUAbQBuQGpAbMBuAG/AagBtwGnAaYBpQHDAZUBmgGUAZMBkgGDAZEBkAGPAY4BjQGMAYsBnQH7K80B+ivLAcUB3AHZAdsB4gHPAdgB1gHSAb0BvAG7AbIBggGKAYkBiAGHAYYBsQGgAccBugGwAa8BoQHRAdABwQHMAcQBrgGtAX+cAb4BmwGZAZ8BgQGYAawBqwH5K54BqgGXAYABe359hQG2AYQBlgHKAbUByQHAAdMB1QHUAbQBuQGpAbMBuAG/AagBtwGnAaYBpQHDAZUBmgGUAZMBkgGDAZEBkAGPAY4BjQGMAYsBnQHbLMAt2gHNAdcBywHFAcYtxS3ELcMtzwHYAdYB0gG9AbwBuwGyAYIBigGJAYgBhwGGAbEBoAHHAboBsAGvAaEB0QHQAcEBzAHCLa4BrQF/nAG+AZsBmQGfAYEBmAGsAasBzgGeAaoBlwGAAXt+fYUBtgGEAZYBwS21AckBwAHTAdUB1AG0AbkBqQGzAbgBvwGoAbcBpwGmAaUBwwGVAZoBlAGTAZIBgwGRAZABjwGOAY0BjAGLAZ0Bvy2+Lb0tuy26LbktuC23LbYttS20LbMtsi2wLa8tri2tLawtqy2qLaktqC2nLaUtpC2jLaItoS2gLZ8tni2dLZwtmy2aLZktmC2XLZYtlS2ULZMtki2RLZAtjy2OLY0tjC2LLYotiS2ILYcthi2FLYQtgy2CLYEtgC3/LP4s/Sz8LPss+iz5LPgs9yz2LPUs9CzyLPEs8CzvLO4s7SzsLOss6izpLOcs5izlLOQs4yziLOEs4CzfLNos2SzYLNcs1izVLNQs0yzSLNEs0CzPLM4szSzMLMssyizJLMgsxyzGLMUsxCzDLMIswSzALL8sviy9LLwsuyy6LLksuCy3LLUstCyzLLIssSywLK8sriytLKwsqyyqLKksqCynLKYspSykLKMsoiygLJ8sniydLJwsmyyaLJksmCyXLJYslSyULJMskiyRLJAsjyyOLI0siyyKLIksiCyHLIYshSyELIMsgiyBLIAs/yv+K/0r/CuPK40rjCuLK4oriSuIK4crhiuFK4QrgiuBK4Ar/yr+Kv0q/Cr7Kvoq+Sr4Kvcq9ir1KvQq8yryKvEq8CrvKu4q7SrsKusq6irpKugq5yrmKuUq5CrjKuIq4SrgKt8q3irdKtwq2yraKtkq2CrXKtYq1SrUKtMq0irRKtAqzyrOKs0qzCrLKsoqySrIKscqxirFKsQqwyrCKsEqwCq/Kr4qvSq8Krsquiq5Krgqtyq2KrUqtCqzKrIqsSqvKtoBzQHXAcsBxQHcAdkBrSqsKs8B2AHWAdIBvQG8AbsBsgGCAYoBiQGIAYcBhgGxAaABxwG6AbABrwGhAdEB0AHBAcwBxAGuAa0Bf5wBvgGbAZkBnwGBAZgBrAGrAc4BngGqAZcBgAF7fn2FAbYBhAGWAcoBtQHJAcAB0wHVAdQBtAG5AakBswG4Ab8BqAG3AacBpgGlAcMBlQGaAZQBkwGSAYMBkQGQAY8BjgGNAYwBiwGdAaoq2gHNAdcBywHFAdwB2QHbAeIBzwHYAagqpyq9AbwBuwGyAYIBigGJAYgBhwGGAbEBoAHHAboBsAGvAaEB0QHQAcEBzAHEAa4BrQF/nAG+AZsBmQGfAYEBmAGsAasBzgGeAaoBlwGAAXt+fYUBtgGEAZYBygG1AckBwAHTAaYqpSq0AbkBqQGzAaQqoyqoAbcBpwGmAaUBwwGVAZoBlAGTAZIBgwGRAZABjwGOAY0BjAGLAZ0BeaAq2gHNAdcBywHFAZ0q2QHbAeIBzwHYAdYB0gG9AbwBuwGyAYIBigGJAYgBhwGGAbEBoAHHAboBsAGvAaEB0QHQAcEBzAHEAa4BrQF/nAG+AZsBmQGfAYEBmAGsAasBzgGeAaoBlwGAAXt+fYUBtgGEAZYBygG1AckBwAHTAdUB1AG0AbkBqQGzAbgBvwGoAbcBpwGmAaUBwwGVAZoBlAGTAZIBgwGRAZABjwGOAY0BjAGLAZ0BmyqaKpkqmCqXKpYq2gHNAdcBywHFAdwB2QHbAeIBzwGTKtYB0gG9AbwBuwGyAYIBigGJAYgBhwGGAbEBoAHHAboBsAGvAaEB0QHQAcEBzAHEAa4BrQF/nAG+AZsBmQGfAYEBmAGsAasBzgGeAaoBlwGAAXt+fYUBtgGEAZYBygG1AckBwAHTAdUB1AG0AbkBqQGzAbgBvwGoAbcBpwGmAaUBwwGVAZoBlAGTAZIBgwGRAZABjwGOAY0BjAGLAZ0B2gHNAdcBywHFAdwB2QHbAeIBzwHYAdYB0gG9AbwBuwGyAYIBigGJAYgBhwGGAbEBoAHHAboBsAGvAaEB0QHQAcEBzAHEAa4BrQF/nAG+AZsBmQGfAYEBmAGsAasBzgGeAaoBlwGAAXt+fYUBtgGEAZYBygG1AckBwAHTAdUB1AG0AbkBqQGzAbgBvwGoAbcBpwGmAaUBwwGVAZoBlAGTAZIBgwGRAZABjwGOAY0BjAGLAZ0B2gHNAdcBywHFAdwB2QHbAeIBzwHYAdYB0gG9AbwBuwGyAYIBigGJAYgBhwGGAbEBoAHHAboBsAGvAaEB0QHQAcEBzAHEAa4BrQF/nAG+AZsBmQGfAYEBmAGsAasBzgGeAaoBlwGAAXt+fYUBtgGEAZYBygG1AckBwAHTAdUB1AG0AbkBqQGzAbgBvwGoAbcBpwGmAaUBwwGVAZoBlAGTAZIBgwGRAZABjwGOAY0BjAGLAZ0BzweKKokqiCpkhyrzBYYqZNoBzQHXAcsBxQGFKtkB2wHiAc8B2AHWAdIBvQG8AbsBsgGCAYoBiQGIAYcBhgGxAaABxwG6AbABrwGhAdEB0AHBAcwBxAGuAa0Bf5wBuA6bAZkBnwGBAZgBrAGrAc4BngGqAZcBgAF7fn2FAbYBhAGWAcoBtQHJAcAB0wHVAdQBtAG5AakBswG4Ab8BqAG3AacBpgGlAcMBlQGaAZQBkwGSAYMBkQGQAY8BjgGNAYwBiwGdAewQgCpb/Slb/Cm5BVv7KdoBzQHXAcsBxQHcAdkB2wHiAc8B2AHWAdIBvQG8AbsBsgGCAYoBiQGIAYcBhgGxAaABxwG6AbABrwGhAdEB0AHBAcwBxAGuAa0Bf5wBvgGbAZkBnwGBAZgBrAGrAc4BngGqAZcBgAF7fn2FAbYBhAGWAcoBtQHJAcAB0wHVAdQBtAG5AakBswG4Ab8BqAG3AacBpgGlAcMBlQGaAZQBkwGSAYMBkQGQAY8BjgGNAYwBiwGdAfop+Sn4Kfcp9in1KfQp8ynyKfEp8CnvKe4p7SnsKesp6inpKegp5ynmKeUp5CnjKeIp4SngKd8p3indKdwp2ynaKdkp1ynWKakoqCinKKYopSikKKMooiihKKAonyieKJ0onCibKJoomSiYKJcoliiVKJQokyiSKJEokCiPKI4ojSiLKIooiSiIKIcohiiFKIQogyiCKIAo/yf+J/0n/Cf7J/on+Sf4J/cn9if1J/Qn8yfyJ/En8CfvJ+4n7SfsJ+sn6ifpJ+gn5yfmJ+Un5CfjJ+En4CffJ94n3SfcJ9sn2ifZJ9gn1yfWJ/8o/ij9KPwo+yj5KPgo9yj2KPUo9CjzKPIo8SjwKO8o7ijtKOwo6yjqKOko6CjnKOYo5CjjKOIo4SjgKN8o3ijdKNwo2yjZKNgo1yjWKNUo1CjTKNIo0SjQKM4ozSjMKMsoyijJKMgoxyjGKMUoxCjDKMIowSjAKL8ovii9KLwouyi6KLkouCi3KLYotSi0KLMosiixKK8oriitKKwoqyiqKNUp1CnTKdIp0SnQKc8pzSnMKcspyinJKcgpxynGKcUpxCnCKcEpwCm/Kb4pvSm8Kbspuim5Kbcptim1KbQpsymyKbEpsCmvKa4prCmrKaopqSmoKacppimlKaQpoymiKaEpoCmfKZ4pnSmcKZspmimZKZcplimVKZQpkymSKZEpkCmPKY4pjSmMKYspiimJKYgphymGKYUphCmDKYIpgSmAKZkKrw5b9hPGAd0EsRbTJ2TaAc0B1wHLAcUB3AHZAdsB4gHPAdgB1gHSAb0BvAG7AbIBggGKAYkBiAGHAYYBsQGgAccBugGwAa8BoQHRAdABwQHMAcQBrgGtAX+cAb4BmwGZAZ8BgQGYAawBqwHOAZ4BqgGXAYABe359hQG2AYQBlgHKAbUByQHAAdMB1QHUAbQBuQGpAbMBuAG/AagBtwGnAaYBpQHDAZUBmgGUAZMBkgGDAZEBkAGPAY4BjQGMAYsBnQHOJ80n7ybuJu0m7CbqJukm6CbnJuYm5SbkJuMm4ibhJt8m3ibdJtwm2ybaJtkm2CbXJtYm1SbUJtMm0ibRJtAmzybOJs0mzCbKJskmyCbHJsYmxSbEJsMmwibBJr8mvia9Jrwmuya6JrkmuCa3JrYmtCazJrImsSawJq8mriatJqwmqyapJqgmpyamJqUmpCajJqImoSagJp4mnSacJpsmmiaZJpgmlyaWJpUmlCaTJpImkSaQJo8mjiaNJswnyyfKJ8knyCfHJ8YnxSfEJ8MnwifBJ8Anvye+J70nvCe7J7onuSe4J7cntie1J7QnsyeyJ7EnsCevJ64nrSesJ6snqiepJ6gnpielJ6QnoyeiJ6EnoCefJ54nnSecJ5snmieZJ5gnlyeWJ5UnlCeTJ5InkSeQJ48njieNJ4wniyeKJ4kniCeHJ4YnhSeEJ4MngieBJ4An/yb+Jv0m/Cb7Jvom+Sb4Jvcm9ib1JvQm8ybyJvEm8CaLJtoBzQGJJssBxQHcAdkB2wHiAc8B2AHWAdIBvQG8AbsBsgGCAYoBiQGIAYcBhgGxAaABxwG6AbABrwGhAdEB0AHBAcwBiCauAa0Bf5wBvgGbAZkBnwGBAZgBrAGrAc4BngGqAZcBgAF7fn2FAbYBhAGWAcoBtQHJAcAB0wHVAdQBtAG5AakBswG4Ab8BqAG3AacBpgGlAcMBlQGaAZQBkwGSAYMBkQGQAY8BjgGNAYwBiwGdAaYIhiaVBZQF2gHNAYImywHFAdwB2QHbAeIBzwHYAdYB0gG9AbwBuwGyAYIBigGJAYgBhwGGAbEBoAHHAboBsAGvAaEB0QHQAcEBzAHEAa4BrQF/nAG+AZsBmQGfAYEBmAGsAasBzgGeAaoBlwGAAXt+fYUBtgGEAZYBygG1AckBwAHTAdUB1AG0AbkBqQGzAbgBvwGoAbcBpwGmAaUBwwGVAZoBlAGTAZIBgwGRAZABjwGOAY0BjAGLAZ0BgCbaAc0B1wHLAcUB3AHZAdsB4gHPAdgB/iX9Jfwl+yX5JfglggGKAYkBiAGHAYYBsQGgAfclugH2JfUloQHRAdABwQHMAcQB9CXzJX+cAb4BmwGZAZ8BgQGYAawBqwHOAZ4BqgGXAYABe359hQG2AYQBlgHKAbUByQHAAdMB1QHUAbQBuQGpAbMBuAG/AagBtwGnAaYBpQHDAZUBmgGUAZMBkgGDAZEBkAGPAY4BjQGMAYsBnQHxJa4FZJQK8CXvJWTTAu4l7CXrJdoBzQHXAcsBxQHcAdkB2wHiAc8B2AHWAdIBvQG8AbsBsgGCAYoBiQGIAYcBhgGxAaAByCXGJbABrwGhAdEB0AHBAcwBxAGuAa0Bf5wBvgGbAZkBnwGBAZgBrAGrAc4BngGqAZcBgAF7fn2FAbYBhAGWAcoBtQHJAcAB0wHVAdQBtAG5AakBswG4Ab8BqAG3AacBpgGlAcMBlQGaAZQBkwGSAYMBkQGQAY8BjgGNAYwBiwGdAdoBzQHXAcsBxQHcAdkB2wHiAc8B2AHWAdIBvQG8AbsBsgGCAYoBiQGIAYcBhgGxAaAB6iXpJbABrwGhAdEB0AHBAcwBxAGuAa0Bf5wBvgGbAZkBnwGBAZgBrAGrAc4BngGqAZcBgAF7fn2FAbYBhAGWAcoBtQHJAcAB0wHVAdQBtAHoJakBswG4Ab8BqAG3AacBpgGlAcMBlQGaAZQBkwGSAYMBkQGQAY8BjgGNAYwBiwGdAdQl2gHNAdcBywHFAdwB2QHbAeIBzwHYAdYB0gG9AbwBuwGyAYIBigGJAYgBhwGGAbEBoAHHAboBsAGvAaEB0QHQAcEBzAHEAa4BrQF/nAG+AZsBmQGfAYEBmAGsAasBzgGeAaoBlwGAAXt+fYUBtgGEAZYBygG1AckBwAHTAdUB1AG0AbkBqQGzAbgBvwGoAbcBpwGmAaUBwwGVAZoBlAGTAZIBgwGRAZABjwGOAY0BjAGLAZ0B7wXPJdoBzQHXAcsBxQHcAdkB2wHiAc8B2AHWAdIBvQG8AbsBsgGCAYoBiQGIAYcBhgGxAaABziXNJbABrwGhAdEB0AHBAcwBxAGuAa0Bf5wBvgGbAZkBnwGBAZgBrAGrAc4BngGqAZcBgAF7fn2FAbYBhAGWAcoBtQHJAcAB0wHVAdQBtAHMJakBswG4Ab8BqAG3AacByyWlAcMBlQGaAZQBkwGSAYMBkQGQAY8BjgGNAYwBiwGdAcAlvSW8JbsluiW5JbgltyW2JbUltCWzJbIlsSWwJa8lriWtJawlqyWqJaglpyWmJaUlpCWjJaIloSWgJZ8lnSWcJZslmiWZJZgllyWWJZUllCWTJZIlkSWQJY8ljiWNJYwliyWKJYkliCWHJYYlhSWEJYMlgiWBJYAl/iT9JPwk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AakBswG4Ab8BqAG3AacBpgGlAcMBlQGaAZQBkwGSAYMBkQGQAY8BjgGNAYwBiwGdAZoiW5wi2gHNAdcBywHFAdwB2QHbAZsizwHYAdYB0gG9AbwBuwGyAYIBigGJAYgBhwGGAbEBoAHHAboBsAGvAaEB0QHQAcEBzAHEAa4BrQF/nAG+AZsBmQGfAYEBmAGsAasBzgGeAaoBlwGAAXt+fYUBtgGEAZYBygG1AckBwAHTAdUB1AG0AbkBqQGzAbgBvwGoAbcBpwGmAaUBwwGVAZoBlAGTAZIBgwGRAZABjwGOAY0BjAGLAZ0B2gHNAdcBywHFAdwB2QGYIuIBzwHYAdYB0gG9AbwBuwGyAYIBigGJAYgBhwGGAbEBoAHHAboBsAGvAaEB0QHQAcEBzAHEAa4BrQF/nAG+AZsBmQGfAYEBmAGsAasBzgGeAaoBlwGAAXt+fYUBtgGEAZYBygG1AckBwAHTAdUB1AG0AbkBqQGzAbgBvwGoAbcBpwGmAaUBwwGVAZoBlAGTAZIBgwGRAZABjwGOAY0BjAGLAZ0BkiJkZFuPIoMOW44iW40iW4wi2gHNAdcBywHFAdwB2QHbAeIBzwHYAdYB0gG9AbwBuwGyAYIBigGJAYgBhwGGAbEBoAHHAboBsAGvAaEB0QHQAcEBzAHEAa4BrQF/nAG+AZsBmQGfAYEBmAGsAasBzgGeAaoBlwGAAXt+fYUBtgGEAZYBygG1AckBwAHTAdUB1AG0AbkBqQGzAbgBvwGoAbcBpwGmAaUBwwGVAZoBlAGTAZIBgwGRAZABjwGOAY0BjAGLAZ0BiiKJIogihyKGIoUihCKDIoIigCL/If4h2gHNAdcBywHFAdwB2QH9IeIBzwHYAdYB0gG9AbwBuwGyAYIBigGJAYgBhwGGAbEBoAHHAboBsAGvAaEB0QHQAcEBzAHEAa4BrQF/nAG+AZsBmQGfAYEBmAGsAasBzgGeAaoBlwGAAXt+fYUBtgGEAZYBygG1AckBwAHTAdUB1AG0AbkBqQGzAbgBvwGoAbcBpwGmAaUBwwGVAZoBlAGTAZIBgwGRAZABjwGOAY0BjAGLAZ0B2gH8Ic0B1wHLAcUBxAHOAaoBlwF+wAHaAc0B1wHLAcUB3AHZAdsB4gHPAdgB1gHSAb0BvAG7AbIBggGKAYkBiAGHAYYBsQGgAccBugGwAa8BoQHRAdABwQHMAcQBrgGtAX+cAb4BmwGZAZ8BgQGYAawBqwHOAZ4BqgGXAYABe359hQG2AYQBlgHKAbUB+yHAAdMB1QHUAbQBuQGpAbMBuAG/AagBtwGnAaYBpQH6IZUBmgGUAZMBkgGDAZEBkAGPAY4BjQGMAYsBnQH0IfMh8iHxIe8h7iHtIewh6yHqIekh6CHnIeYh5CHjIeIh4SHgId8h3iHdIdwh2yHaIdkh2CHXIdYh1SHUIdMh0iHRIc8hziHNIcwhyyHKIckhyCHHIcYhxCHDIcIhwSHAIb8hviG9IbwhuyG5IbghtyG2IbUhtCGzIbIhsSGwIa4hrSGsIashqiGpIaghpyGmIaUhoiGhIaAhnyGeIZ0hnCHcAdkB+SH3Ic8B2AHWAdIBvQG8AbsBsgGCAYoBiQGIAYcBhgGxAaABxwG6AbABrwGhAdEB0AHBAcwBrgGtAX+cAb4BmwGZAZ8BgQGYAawBqwGeAYABe32FAbYBhAGWAcoBtQH2IdMB1QHUAbQBuQGpAbMBuAG/AagBtwGnAaYBpQH1IZUBmgGUAZMBkgGDAZEBkAGPAY4BjQGMAYsBnQHEA8QDmCFkW5UhW5QhkSGPIdcBjiHFAdwB2QHbAY0hzwGMIYshiiG9AbwBuwGyAYIBigGJAYgBhwGGAbEBoAHHAboBiSGIIaEBhyGGIYQhzAHEAa4BrQF/gyG+AYIhmQGfAYEBmAGsAasBzgGeAaoBlwGAAXt+fYUBgSGEAZYBgCH/IP4gwAHTAf0g/CC0AbkBqQGzAfsg+SD4IPcgpwGmAaUB9iCVAZoBlAGTAZIBgwGRAZABjwGOAY0BjAGLAZ0B2gHNAdcBywHFAdwB2QHbAdwgzwHYAdYB0gG9AbwBuwGyAYIBigGJAYgBhwGGAbEBoAHHAboBsAGvAaEB0QHQAcEBzAHEAa4BrQF/nAG+AZsBmQGfAYEBmAGsAasBzgGeAaoBlwGAAXt+fYUBtgGEAZYBygG1AckBwAHTAdUB1AG0AbkBqQGzAbgBvwGoAbcBpwGmAaUBwwGVAZoBlAGTAZIBgwGRAZABjwGOAY0BjAGLAZ0B2gHNAdcBywHFAdwB2QHbAeIBzwHYAdYB0gG9AbwBuwGyAYIBigGJAYgBhwGGAbEBoAHHAboBsAGvAaEB0QGTIcEBzAHEAa4BrQF/nAG+AZsBmQGfAYEBmAGsAasBzgGeAaoBlwGAAXt+fYUBtgGEAZYBygG1AckBwAHTAdUB1AG0AbkBqQGzAbgBvwGoAbcBpwGmAaUBwwGVAZoBlAGTAZIBgwGRAZABjwGOAY0BjAGLAZ0BkiHyIK0OecQCywPxIMwHtQLwIIwJ7yBkZFvuIO0g5CDoIOMglQjrIOkg3SDaAc0B1wHLAcUB3AHZAdsB4gHPAdgB1gHSAb0BvAG7AbIBggGKAYkBiAGHAYYBsQGgAccBugGwAa8BoQHRAd4gwQHMAcQBrgGtAX+cAb4BmwGZAZ8BgQGYAawBqwHOAZ4BqgGXAYABe359hQG2AYQBlgHKAbUByQHAAdMB1QHUAbQBuQGpAbMBuAG/AagBtwGnAaYBpQHDAZUBmgGUAZMBkgGDAZEBkAGPAY4BjQGMAYsBnQH2EI8I2iDaAc0B1wHLAcUB3AHZAdsB4gHPAdgB1gHSAb0BvAG7AbIBggGKAYkBiAGHAYYBsQGgAccBugGwAa8BoQHRAdcgwQHMAcQBrgGtAX+cAb4BmwGZAZ8BgQGYAawBqwHOAZ4BqgGXAYABe359hQG2AYQBlgHKAbUByQHAAdMB1QHUAbQBuQGpAbMBuAG/AagBtwGnAaYBpQHDAZUBmgGUAZMBkgGDAZEBkAGPAY4BjQGMAYsBnQHTIJUFlAXaAc0B1wHLAcUB3AHZAc8gziDPAdgB1gHSAb0BvAG7AbIBggGKAYkBiAGHAYYBsQGgAccBugGwAa8BoQHRAdABwQHMAcQBrgGtAX+cAb4BmwGZAZ8BgQGYAawBqwHOAZ4BqgGXAYABe359hQG2AYQBlgHKAbUByQHAAdMB1QHUAbQBuQGpAbMBuAG/AagBtwGnAaYBpQHDAZUBmgGUAZMBkgGDAZEBkAGPAY4BjQGMAYsBnQGMCGTkBoUHpgOlBKsF6wXqBVvKINoBzQHXAcsBxQHcAdkB2wHiAc8B2AHWAdIBvQG8AbsBsgGCAYoBiQGIAYcBhgGxAaABxwG6AbABrwGhAdEB0AHBAcwBxAGuAa0Bf5wBvgGbAZkBnwGBAZgBrAGrAc4BngGqAZcBgAF7fn2FAbYBhAGWAcoBtQHJAcAB0wHVAdQBtAG5AakBswG4Ab8BqAG3AacBpgGlAcMBlQGaAZQBkwGSAYMBkQGQAY8BjgGNAYwBiwGdAcggxyBkZMYgZMQgwyBkwiDaAc0B1wHLAcUB3AHZAdsB4gHPAdgB1gHSAb0BvAG7AbIBggGKAYkBiAGHAYYBsQGgAaYgugGwAa8BoQHRAdABwQHMAcQBrgGtAX+cAb4BmwGZAZ8BgQGYAawBqwHOAZ4BqgGXAYABe359hQG2AYQBlgHKAbUByQHAAdMB1QHUAbQBuQGpAbMBuAG/AagBtwGnAaYBpQHDAZUBmgGUAZMBkgGDAZEBkAGPAY4BjQGMAYsBnQGlINoBzQHXAcsBxQHcAdkB2wHiAc8B2AHWAdIBvQG8AbsBsgGCAYoBiQGIAYcBhgGxAaABxwG6AbABrwGhAdEB0AHBAcwBxAGuAa0Bf5wBvgGbAZkBnwGBAZgBrAGrAc4BngGqAZcBgAF7fn2FAbYBhAGWAcoBtQHJAcAB0wHVAdQBtAG5AakBswG4Ab8BqAG3AacBpgGlAcMBlQGaAZQBkwGSAYMBkQGQAY8BjgGNAYwBiwGdAcEg2gHNAdcBywHFAcAg2QHbAeIBzwHYAdYB0gG9AbwBuwGyAYIBigGJAYgBhwGGAbEBoAHHAboBsAGvAaEB0QHQAcEBzAHEAa4BrQF/nAG+AZsBmQGfAYEBmAGsAasBzgGeAaoBlwGAAXt+fYUBtgGEAZYBygG1AckBwAHTAdUB1AG0AbkBqQGzAbgBvwGoAbcBpwGmAaUBwwGVAZoBlAGTAZIBgwGRAZABjwGOAY0BjAGLAZ0BsiDaAc0B1wHLAcUB3AHZAdsB4gHPAdgB1gHSAb0BvAG7AbIBggGKAYkBiAGHAYYBsQGgAccBugGwAa8BoQHRAdABwQHMAcQBrgGtAX+cAb4BmwGZAZ8BgQGYAawBqwHOAZ4BqgGXAYABe359hQG2AYQBlgHKAbUByQHAAdMB1QHUAbQBuQGpAbMBuAG/AagBtwGnAaYBpQHDAZUBmgGUAZMBkgGDAZEBkAGPAY4BjQGMAYsBnQFbrCDaAc0B1wHLAcUBtw+2D9sB4gHPAdgB1gHSAb0BvAG7AbIBggGKAYkBiAGHAYYBsQGgAccBugGwAa8BoQHRAdABwQHMAcQBrgGtAX+cAb4BmwGZAZ8BgQGYAawBqwHOAZ4BqgGXAYABe359hQG2AYQBlgG1D7UByQHAAdMB1QHUAbQBuQGpAbMBuAG/AagBtwGnAaYBpQHDAZUBmgGUAZMBkgGDAZEBkAGPAY4BjQGMAYsBnQGeIKQg2gHNAdcBywHFAdwB2QHbAeIBzwHYAdYB0gG9AbwBuwGyAYIBigGJAYgBhwGGAbEBoAGjIKIgsAGvAaEB0QHQAcEBzAHEAa4BrQF/nAG+AZsBmQGfAYEBmAGsAasBzgGeAaoBlwGAAXt+fYUBtgGEAZYBygG1AckBwAHTAdUB1AG0AbkBqQGzAbgBvwGoAbcBpwGmAaUBwwGVAZoBlAGTAZIBgwGRAZABjwGOAY0BjAGLAZ0BmyBblyCWIPcJ4QbjBMQD0Q2VINENjyCOII0giyCKIIkgiCCHIIYghSCEIIMggiCAIP8f/h/9H/wf+x/6H/kf+B/3H/Uf9B/zH/If8R/wH+8f7h/tH+wf6h/pH+gf5x/mH+Uf5B/jH+If4R/fH94f3R/cH9sf2h/ZH9gf1x/WH9Qf0x/SH9Ef0B/PH84fzR/MH8sfyR/IH8cfxh/FH8Qfwx/CH8EfwB++H70fvB+7H7ofuR+4H7cfth+1H7Mfsh+xH7Afrx+uH60frB+rH5cFlgXvAvsL+guTIJwFnAWbCfML8guSIJEg8QvaAc0B1wHLAcUB3AHZAdsB4gHPAdgB1gHSAb0BvAG7AbIBggGKAYkBiAGHAYYBsQGgAccBugGwAa8BoQHRAdABkCDMAcQBrgGtAX+cAb4BmwGZAZ8BgQGYAawBqwHOAZ4BqgGXAYABe359hQG2AYQBlgHKAbUByQHAAdMB1QHUAbQBuQGpAbMBuAG/AagBtwGnAaYBpQHDAZUBmgGUAZMBkgGDAZEBkAGPAY4BjQGMAYsBnQGnCqkfqB95px+mH6UfuUOpBaUD4QPYAuAGzA2gA9UQzg2fH1uVH9oBzQHXAcsBxQGUH9kB2wHiAc8B2AHWAdIBvQG8AbsBsgGCAYoBiQGIAYcBhgGxAaABxwG6AbABrwGhAdEB0AHBAcwBxAGuAa0Bf5wBvgGbAZkBnwGBAZgBrAGrAc4BngGqAZcBgAF7fn2FAbYBhAGWAcoBtQHJAcAB0wHVAdQBtAG5AakBswG4Ab8BqAG3AacBpgGlAcMBlQGaAZQBkwGSAYMBkQGQAY8BjgGNAYwBiwGdAY0fwQPaAc0B1wHLAcUB3AHZAdsB4gHPAdgB1gHSAb0BvAG7AbIBggGKAYkBiAGHAYYBsQGgAccBugGwAa8BoQHRAdABwQHMAcQBrgGtAX+cAb4BmwGZAZ8BgQGYAawBqwHOAZ4BqgGXAYABe359hQG2AYQBlgHKAbUByQHAAdMB1QHUAbQBuQGpAbMBuAG/AagBtwGnAaYBpQHDAZUBmgGUAZMBkgGDAZEBkAGPAY4BjQGMAYsBnQHEBYwG5wWIH2TaAc0B1wHLAcUB3AHZAdsB4gHPAdgB1gHSAb0BvAG7AbIBggGKAYkBiAGHAYYBsQGgAccBugGwAa8BoQHRAdABwQHMAcQBrgGtAX+cAb4BmwGZAZ8BgQGYAawBqwHOAZ4BqgGXAYABe359hQG2AYQBlgHKAbUByQHAAdMB1QHUAbQBuQGpAbMBuAG/AagBtwGnAaYBpQHDAZUBmgGUAZMBkgGDAZEBkAGPAY4BjQGMAYsBnQG+DZ4Gvg1kgB//HrkF+h7aAc0B1wHLAcUB3AHZAdsB4gHPAdgB1gHSAb0BvAG7AbIBggGKAYkBiAGHAYYBsQGgAccBugGwAa8BoQHRAdABwQHMAcQBrgGtAX+cAb4BmwGZAZ8BgQGYAawBqwHOAZ4BqgGXAYABe359hQG2AYQBlgHKAbUByQHAAdMB1QHUAbQBuQGpAbMBuAG/AagBtwGnAaYBpQHDAZUBmgGUAZMBkgGDAZEBkAGPAY4BjQGMAYsBnQHyHvEe8B7vHu4e7R7sHuse6h7oHuce5h7lHuQe4x7iHuEe4B7fHt0e3B7bHtoe2R7YHtce1h7VHtQe0h7RHtAezx7OHs0ezB7LHsoeyR7HHsYexR7EHsMewh7BHsAevx6+Hrweux66HrkeuB63HrYetR60HrMesR6wHq8erh6tHqweqx6qHqkeqB6mHqUepB6jHqIeoR6gHp8enh6dHpoemR6YHpcelh6VHpQekx6SHpEejx6OHo0ejB65DbkNZIgeuQWGHtoBzQHXAcsBxQHcAdkB2wHiAc8B2AHWAdIBvQG8AbsBsgGCAYoBiQGIAYcBhgGxAaABxwG6AbABrwGhAdEB0AHBAcwBxAGuAa0Bf5wBvgGbAZkBnwGBAZgBrAGrAc4BngGqAZcBgAF7fn2FAbYBhAGWAcoBtQHJAcAB0wHVAdQBtAG5AakBswG4Ab8BqAG3AacBpgGlAcMBlQGaAZQBkwGSAYMBkQGQAY8BjgGNAYwBiwGdAYAe2gHNAdcBywHFAdwB2QHbAeIBzwHYAdYB0gG9AbwBuwGyAYIBigGJAYgBhwGGAbEBoAHHAboBsAGvAaEB0QHQAcEBzAHEAa4BrQF/nAG+AZsBmQGfAYEBmAGsAasBzgGeAaoBlwGAAXt+fYUBtgGEAZYBygG1AckBwAHTAdUB1AG0AbkBqQGzAbgBvwGoAbcBpwGmAaUBwwGVAZoBlAGTAZIBgwGRAZABjwGOAY0BjAGLAZ0B+R3aAc0B1wHLAcUB3AHZAdsB4gHPAdgB1gHSAb0BvAG7AbIBggGKAYkBiAGHAYYBsQGgAccBugGwAa8BoQH2HdABwQHMAcQBrgGtAX+cAb4BmwGZAZ8BgQGYAawBqwHOAZ4BqgGXAYABe359hQG2AYQBlgHKAbUByQHAAdMB1QHUAbQBuQGpAbMBuAG/AagBtwGnAaYBpQHDAZUBmgGUAZMBkgGDAZEBkAGPAY4BjQGMAYsBnQHjHcAP4B2yDWTfHd0d0wLcHdsd2h3ZHdgd3wrXHdYdzAjLCNUdiQ6IDtMdygjSHYAFqwLaAc0B1wHLAcUB3AHZAbANsA3PAdgB1gHSAb0BvAG7AbIBggGKAYkBiAGHAYYBsQGgAccBugGwAa8BoQHRAdABwQHMAcQBrgGtAX+cAb4BmwGZAZ8BgQGYAawBqwHOAZ4BqgGXAYABe359hQG2AYQBlgHKAbUByQHAAdMB1QHUAbQBuQGpAbMBuAG/AagBtwGnAaYBpQHDAZUBmgGUAZMBkgGDAZEBkAGPAY4BjQGMAYsBnQHQHdoBzQHXAcsBxQHOHdkB2wHiAc8B2AHWAdIBvQG8AbsBsgGCAYoBiQGIAYcBhgGxAaABxwG6AbABrwGhAdEB0AHBAcwBxAGuAa0Bf5wBvgGbAZkBnwGBAZgBrAGrAc4BngGqAZcBgAF7fn2FAbYBhAGWAcoBtQHJAcAB0wHVAdQBtAG5AakBswG4Ab8BqAG3AacBpgGlAcMBlQGaAZQBkwGSAYMBkQGQAY8BjgGNAYwBiwGdAXnHHcYdZK4N2gHNAdcBywHFAdwB2QHbAeIBwR3YAcAdvx29AbwBuwGyAYIBigGJAYgBhwGGAbEBoAHHAboBsAGvAaEBvh29HcEBzAHEAa4BrQF/nAG+AZsBmQGfAYEBmAGsAasBzgGeAaoBlwGAAXt+fYUBtgGEAZYBygG1AckBwAHTAdUB1AG0AbkBqQGzAbgBvwGoAbcBpwGmAaUBwwGVAZoBlAGTAZIBgwGRAZABjwGOAY0BjAGLAZ0Bebsd2gHNAdcBywHFAdwBtx3bAeIBzwHYAdYB0gG9AbwBuwGyAYIBigGJAYgBhwGGAbEBoAHHAboBsAGvAaEBth3QAcEBzAHEAa4BrQF/nAG+AZsBmQGfAYEBmAGsAasBzgGeAaoBlwGAAXt+fYUBtgGEAZYBygG1AckBwAHTAdUB1AG0AbkBqQGzAbgBvwGoAbcBpwGmAaUBwwGVAZoBlAGTAZIBgwGRAZABjwGOAY0BjAGLAZ0BrQ2zHVuvHVuuHVutHVusHZ8dnh2dHZwdoB3NAdcBywHFAdwB2QHbAeIBzwHYAdYB0gG9AbwBuwGyAYIBigGJAYgBhwGGAbEBoAHHAboBsAGvAaEB0QHQAcEBzAHEAa4BrQF/nAG+AZsBmQGfAYEBmAGsAasBzgGeAaoBlwGAAXt+fYUBtgGEAZYBygG1AckBwAHTAdUB1AG0AbkBqQGzAbgBvwGoAbcBpwGmAaUBwwGVAZoBlAGTAZIBgwGRAZABjwGOAY0BjAGLAZ0B2gHNAdcBywHFAdwB2QHbAeIBzwHYAdYB0gG9AbwBuwGyAYIBigGJAYgBhwGGAbEBoAHHAboBsAGvAaEB0QHQAcEBzAHEAa4BrQF/nAG+AZsBmQGfAYEBmAGsAasBzgGeAaoBlwGAAXt+fYUBtgGEAZYBygG1AckBoR3TAdUB1AG0AbkBqQGzAbgBvwGoAbcBpwGmAaUBwwGVAZoBlAGTAZIBgwGRAZABjwGOAY0BjAGLAZ0BlwWWBaodqR3XAcsBqB3cAdkB2wGnHc8B2AHWAdIBvQG8AbsBsgGCAYoBiQGIAYcBhgGxAaABxwG6AbABrwGhAdEB0AHBAcwBxAGuAa0Bf5wBvgGbAZkBnwGBAZgBrAGrAc4BngGqAZcBgAF7fn2FAbYBhAGWAcoBtQHJAcAB0wHVAdQBtAG5AakBswG4Ab8BqAG3AacBpgGlAcMBlQGaAZQBkwGSAYMBkQGQAY8BjgGNAYwBiwGdAaYdhgafB6UdzQHXAaMdoh3cAdkB2wHiAc8B2AHWAdIBvQG8AbsBsgGCAYoBiQGIAYcBhgGxAaABxwG6AbABrwGhAdEB0AHBAcwBxAGuAa0Bf5wBvgGbAZkBnwGBAZgBrAGrAc4BngGqAZcBgAF7fn2FAbYBhAGWAcoBtQHJAcAB0wHVAdQBtAG5AakBswG4Ab8BqAG3AacBpgGlAcMBlQGaAZQBkwGSAYMBkQGQAY8BjgGNAYwBiwGdAYEI2gGaHcsBxQHcAdkB2wHiAc8B2AHWAdIBvQG8AbsBsgGCAYoBiQGIAYcBhgGxAaABxwG6AbABrwGhAdEB0AHBAcwBxAGuAa0Bf5wBvgGbAZkBnwGBAZgBrAGrAc4BngGqAZcBgAF7fn2FAbYBhAGWAcoBtQHJAcAB0wHVAdQBtAG5AakBswG4Ab8BqAG3AacBpgGlAcMBlQGaAZQBkwGSAYMBkQGQAY8BjgGNAYwBiwGdAZYdkh2RHZAdjx2OHY0djB2LHYodiB2HHYYdhR2EHYMdgh2BHYAd/xz9HPwc+xz6HPkc+Bz3HPYc9Rz0HPIc8RzwHO8c7hztHOwc6xzqHOkc5hzlHOQc4xziHOEc4BzfHN4c3RzbHNoc2RzYHNcc1hzVHNQc0xzSHNAczxzOHM0czBzLHMocyRzIHMccxRzEHMMcwhzBHMAcvxy+HL0cvBy6HLkcuBy3HLYctRy0HLMcshyxHK8crhytHGSrHKocqBzyRZAc/gejAqUN4wmOHI0cZIwc0wJbixyKHIkciByFHIQcgxyCHIEcgBz/G/4b/Rv8G/ob+Rv4G/cb9hv1G/Qb8xvyG/Eb7xvuG+0b7BvrG+ob6RvoG+cb5hvkG+Mb4hvhG+Ab3xveG90b3BvbG9kb2BvXG9Yb1RvUG9Mb0hvRG9AbzhvNG8wbyxvKG8kbyBvHG8YbxRvDG8IbwRvAG78bvhu9G7wbuxu6G7gbtxu2G7UbtBuzG7IbsRuwG68brRusG6sbqhupG6gbpxumG6Ub7AKhG6INoBuAA9oBzQHXAcsBxQGdG9kB2wHiAc8B2AHWAdIBvQG8AbsBsgGCAYoBiQGIAYcBhgGxAaABxwG6AbABrwGhAdEB0AHBAcwBxAGuAa0Bf5wBvgGbAZkBnwGBAZgBrAGrAc4BngGqAZcBgAF7fn2FAbYBhAGWAcoBtQHJAcAB0wHVAdQBtAG5AakBswG4Ab8BqAG3AacBpgGlAcMBlQGaAZQBkwGSAYMBkQGQAY8BjgGNAYwBiwGdAZcb5QWWG2TSBq4FlRucDdoBzQHXAcsBxQHcAdkB2wHiAZMbkhvWAdIBvQG8AbsBsgGCAYoBiQGIAYcBhgGxAaABxwG6AbABrwGhAdEB0AHBAcwBxAGuAa0Bf5wBvgGbAZkBnwGBAZgBrAGrAc4BngGqAZcBgAF7fn2FAbYBhAGWAcoBtQHJAcAB0wHVAdQBtAG5AakBswG4Ab8BqAG3AacBpgGlAcMBlQGaAZQBkwGSAYMBkQGQAY8BjgGNAYwBiwGdAYsblw1biBvaAc0B1wHLAcUB3AHZAYQbgxvPAdgB1gHSAb0BvAG7AbIBggGKAYkBiAGHAYYBsQGgAccBugGwAa8BoQHRAdABwQHMAcQBrgGtAX+cAb4BmwGZAZ8BgQGYAawBqwHOAZ4BqgGXAYABe359hQG2AYQBlgHKAbUByQHAAdMB1QHUAbQBuQGpAbMBuAG/AagBtwGnAaYBpQHDAZUBmgGUAZMBkgGDAZEBkAGPAY4BjQGMAYsBnQHaAc0B1wHLAcUB3AHZAYYbhRvPAdgB1gHSAb0BvAG7AbIBggGKAYkBiAGHAYYBsQGgAccBugGwAa8BoQHRAdABwQHMAcQBrgGtAX+cAb4BmwGZAZ8BgQGYAawBqwHOAZ4BqgGXAYABe359hQG2AYQBlgHKAbUByQHAAdMB1QHUAbQBuQGpAbMBuAG/AagBtwGnAaYBpQHDAZUBmgGUAZMBkgGDAZEBkAGPAY4BjQGMAYsBnQH/GtAE3QTPBPsa8RraAc0B1wHLAcUB3AHZAdsB4gHPAdgB1gHSAb0BvAG7AbIBggGKAYkBiAGHAYYBsQGgAccBugGwAa8BoQHtGuwawQHMAcQBrgGtAX+cAb4BmwGZAZ8BgQGYAawBqwHOAZ4BqgGXAYABe359hQG2AYQBlgHKAbUByQHAAdMB1QHUAbQBuQGpAbMBuAG/AagBtwGnAaYBpQHDAZUBmgGUAZMBkgGDAZEBkAGPAY4BjQGMAYsBnQG8Auga2gHNAdcBywHFAdwB2QHeGtwazwHYAdYB0gG9AbwBuwGyAYIBigGJAYgBhwGGAbEBoAHHAboBsAGvAaEB0QHQAcEBzAHEAa4BrQF/nAG+AZsBmQGfAYEBmAGsAasBzgGeAaoBlwGAAXt+fYUBtgGEAZYBygG1AckBwAHTAdUB1AG0AbkBqQGzAbgBvwGoAbcBpwGmAaUBwwGVAZoBlAGTAZIBgwGRAZABjwGOAY0BjAGLAZ0Bkw1kZNMCZGTmGs8G2gRbzVTcAosOZOME6QbjGuIa4RrgGt8akgPYGvsH1xrkBdYaZNUa0hrRGtAa4wXPGmTOGuIFzRpk2gHNAdcBywHFAdwB2QHbAeIBzwHYAdYB0gG9AbwBuwGyAYIBigGJAYgBhwGGAbEBoAHHAboBsAGvAaEB0QHQAcEBzAHEAa4BrQF/nAG+AZsBmQGfAYEBmAGsAasBzgGeAaoBlwGAAXt+fYUBtgGEAZYBygG1AckBwAHMGssayRq0AbkBqQGzAbgBvwGoAbcBpwGmAaUBwwGVAZoBlAGTAZIBgwGRAZABjwGOAY0BjAGLAZ0B4QXaAc0B1wHLAcUB3AHZAdsB4gHPAdgB1gHSAb0BvAG7AbIBggGKAYkBiAGHAYYBsQGgAccBugGwAa8BoQHRAdABwQHMAcQBrgGtAX+cAb4BmwGZAZ8BgQGYAawBqwHOAZ4BqgGXAYABe359hQG2AYQBlgHKAbUByQHAAdMByBrUAbQBuQGpAbMBuAG/AagBtwGnAaYBpQHDAZUBmgGUAZMBkgGDAZEBkAGPAY4BjQGMAYsBnQHaAc0B1wHLAcUB3AHZAdsB4gHPAdgB1gHSAb0BvAG7AbIBggGKAYkBiAGHAYYBsQGgAccBugGwAa8BoQHRAdABwQHMAcQBrgGtAX+cAb4BmwGZAZ8BgQGYAawBqwHOAZ4BqgGXAYABe359hQG2AYQBlgHKAbUByQHAAcca1QHGGrQBuQGpAbMBuAG/AagBtwGnAaYBpQHDAZUBmgGUAZMBkgGDAZEBkAGPAY4BjQGMAYsBnQG7GroaZM4GzgzaAc0B1wHLAcUB3AG4GtsB4gHPAdgB1gHSAb0BvAG7AbIBggGKAYkBiAGHAYYBsQGgAccBugGwAa8BoQHRAdABwQHMAcQBrgGtAX+cAb4BmwGZAZ8BgQGYAawBqwHOAZ4BqgGXAYABe359hQG2AYQBlgHKAbcathq1GtMB1QHUAbQBuQGpAbMBuAG/AagBtwGnAaYBpQHDAZUBmgGUAZMBkgGDAZEBkAGPAY4BjQGMAYsBnQG0GrIaZLEaZL4FsBqvGvkHjA2uGq0azAZkqxpkZKoaZNMCphraAc0B1wHLAcUB3AHZAdsB4gHPAdgB1gHSAb0BvAG7AbIBggGKAYkBiAGHAYYBsQGgAccBugGwAa8BoQHRAdABwQHMAcQBrgGtAX+cAb4BmwGZAZ8BgQGYAawBqwHOAZ4BqgGXAYABe359hQG2AYQBlgHKAbUByQHAAdMB1QHUAbQBuQGpAbMBuAG/AagBtwGnAaYBpQHDAZUBmgGUAZMBkgGDAZEBkAGPAY4BjQGMAYsBnQGdGpwaZJsa2gHNAdcBywHFAdwB2QHbAeIBzwHYAdYB0gG9AbwBuwGyAYIBigGJAYgBhwGGAbEBoAHHAboBsAGvAaEB0QHQAcEBzAHEAa4BrQF/nAG+AZsBmQGfAYEBmAGsAasBzgGeAaoBlwGAAXt+fYUBtgGEAZYBygG1AckBwAGaGtUB1AGZGpgalxqWGrgBvwGoAbcBpwGmAaUBwwGVAZoBlAGTAZIBgwGRAZABjwGOAY0BjAGLAZ0BjxraAc0B1wHLAcUB3AHZAdsB4gHPAdgB1gHSAb0BvAG7AbIBggGKAYkBiAGHAYYBsQGgAccBugGwAa8BoQHRAdABwQHMAcQBrgGtAX+cAb4BmwGZAZ8BgQGYAawBqwHOAZ4BqgGXAYABe359hQG2AYQBlgHKAbUByQHAAdMB1QHUAbQBuQGpAbMBuAG/AagBtwGnAaYBpQHDAZUBmgGUAZMBkgGDAZEBkAGPAY4BjQGMAYsBnQGHGoYahRqEGsoPgRr+GdoBzQHXAcsBxQHcAdkB2wHiAc8B2AH7GfoZvQG8AbsBsgGCAYoBiQGIAYcBhgGxAaABxwG6AbABrwGhAdEB0AHBAcwBxAGuAa0Bf5wBvgGbAZkBnwGBAZgBrAGrAc4BngGqAZcBgAF7fn2FAbYBhAGWAcoBtQHJAcAB0wHVAdQBtAG5AakBswG4Ab8BqAG3AacBpgGlAcMBlQGaAZQBkwGSAYMBkQGQAY8BjgGNAYwBiwGdAXn3GakD9hmyEvIZ3gXxGWSkBFvvGe4Z7RndBewZZPEQ6xnaAfcY1wHLAcUB3AHZAdsB4gH2GPUY1gHSAb0BvAG7AbIBggGKAYkBiAGHAYYBsQGgAccBugGwAa8BoQHRAdABwQHMAcQBrgGtAX+cAb4BmwGZAZ8BgQGYAawBqwHOAZ4BqgGXAYABe359hQG2AYQBlgHKAbUByQHAAdMB1QHUAbQBuQGpAbMBuAG/AagBtwGnAaYBpQHDAZUBmgGUAZMBkgGDAZEBkAGPAY4BjQGMAYsBnQHaAc0B1wHLAcUB3AHZAdsB4gH5GNgB1gHSAb0BvAG7AbIBggGKAYkBiAGHAYYBsQGgAccBugGwAa8BoQHRAdABwQHMAcQBrgGtAX+cAb4BmwGZAZ8BgQGYAawBqwHOAZ4BqgGXAYABe359hQG2AYQBlgHKAbUByQHAAdMB1QHUAbQBuQGpAbMBuAG/AagBtwGnAaYBpQHDAZUBmgGUAZMBkgGDAZEBkAGPAY4BjQGMAYsBnQH9GNoBzQHXAcsBxQHcAdkB2wHiAYAZ2AHWAdIBvQG8AbsBsgGCAYoBiQGIAYcBhgGxAaABxwG6AbABrwGhAdEB0AHBAcwBxAGuAa0Bf5wBvgGbAZkBnwGBAZgBrAGrAc4BngGqAZcBgAF7fn2FAbYBhAGWAcoBtQHJAcAB0wHVAdQBtAG5AakBswG4Ab8BqAG3AacBpgGlAcMBlQGaAZQBkwGSAYMBkQGQAY8BjgGNAYwBiwGdAeoZ6RnoGecZ5hnlGeQZ4xniGeEZ4BnfGd4Z3RncGdsZ2hnZGdgZ1xnWGdUZ1BnTGdIZ0RnQGc8ZzhnMGcsZyhnJGcgZxxnGGcUZxBnDGcEZwBm/Gb4ZvRm8GbsZuhm5GbgZthm1GbQZsxmyGbEZsBmvGa4ZrRmrGaoZqRmoGacZphmlGaQZoxmiGZ8ZnhmdGZwZmxmaGZkZmBmXGZYZlBmTGZIZkRmQGY8ZjhmNGYwZixmJGYgZhxmGGYUZgw3aAc0B1wHLAcUB3AHZAdsB4gHPAfwY1gHSAb0BvAG7AbIBggGKAYkBiAGHAYYBsQGgAccBugGwAa8BoQHRAdABwQHMAcQBrgGtAX+cAb4BmwGZAZ8BgQGYAawBqwHOAZ4BqgGXAYABe359hQG2AYQBlgHKAbUByQHAAdMB1QHUAbQBuQGpAbMBuAG/AagBtwGnAaYBpQHDAZUBmgGUAZMBkgGDAZEBkAGPAY4BjQGMAYsBnQFb9BjgCpcFlgXzGPIY8RjwGO8Y7RjsGOsY6hjpGOgY5xjmGOUY5BjiGOEY4BjfGN4Y3RjcGNsY2hjZGNcY1hjVGNQY0xjSGNEY0BjPGM4YzBjLGMoYyRjIGMcYxhjFGMQYwxjBGMAYvxi+GL0YvBi7GLoYuRi4GLUYtBizGLIYsRiwGK8YrhitGKwYqhipGKgYpximGKUYpBijGKIYoRifGJ4YnRicGJsYmhiZGJgYlxiWGJQYkxiSGJEYkBiPGI4YxQaIGFuEGIAY/xf+F/0X/Bf7F/oXywHFAcQBzgGqAZcBfsAB+RfaAcMGzQHXAcsBxQHEAc4BqgGXAX7AAdwB2QHCBsEGzwHYAdYB0gG9AbwBuwGyAYIBigGJAYgBhwGGAbEBoAHHAboBsAGvAaEB0QHQAcEBzAGuAa0Bf5wBvgGbAZkBnwGBAZgBrAGrAZ4BgAF7fYUBtgGEAZYBygG1AckB0wHVAdQBtAG5AakBswG4Ab8BqAG3AacBpgGlAcMBlQGaAZQBkwGSAYMBkQGQAY8BjgGNAYwBiwGdAfwMwAb0B3lkzQHcAdkB2wHiAc8B2AHWAdIBvQG8AbsBsgGCAYoBiQGIAYcBhgGxAaABxwG6AbABrwGhAdEB0AHBAb8GrgGtAX+cAb4BmwGZAZ8BgQGYAawBqwGeAYABe32FAbYBhAGWAcoBtQHJAdMB1QHUAbQBuQGpAbMBuAG/AagBtwGnAaYBpQHDAZUBmgGUAZMBkgGDAZEBkAGPAY4BjQGMAYsBnQH1F1vyF/EX8BfvF+0X7BfrF+oXywHFAcQBzgGqAZcBfsAB6RfaAcMGzQHXAcsBxQHEAc4BqgGXAX7AAdwB2QHCBsEGzwHYAdYB0gG9AbwBuwGyAYIBigGJAYgBhwGGAbEBoAHHAboBsAGvAaEB0QHQAcEBzAGuAa0Bf5wBvgGbAZkBnwGBAZgBrAGrAZ4BgAF7fYUBtgGEAZYBygG1AckB0wHVAdQBtAG5AakBswG4Ab8BqAG3AacBpgGlAcMBlQGaAZQBkwGSAYMBkQGQAY8BjgGNAYwBiwGdAcAG9Ad5ZM0B3AHZAdsB4gHPAdgB1gHSAb0BvAG7AbIBggGKAYkBiAGHAYYBsQGgAccBugGwAa8BoQHRAdABwQG/Bq4BrQF/nAG+AZsBmQGfAYEBmAGsAasBngGAAXt9hQG2AYQBlgHKAbUByQHTAdUB1AG0AbkBqQGzAbgBvwGoAbcBpwGmAaUBwwGVAZoBlAGTAZIBgwGRAZABjwGOAY0BjAGLAZ0B5Bdb4RffF94X3RfcF9sX2hfXAcsBxQHEAc4BqgGXAX7AAdkX2gHDBs0B1wHLAcUBxAHOAaoBlwF+wAHcAdkBwgbBBs8B2AHWAdIBvQG8AbsBsgGCAYoBiQGIAYcBhgGxAaABxwG6AbABrwGhAdEB0AHBAcwBrgGtAX+cAb4BmwGZAZ8BgQGYAawBqwGeAYABe32FAbYBhAGWAcoBtQHJAdMB1QHUAbQBuQGpAbMBuAG/AagBtwGnAaYBpQHDAZUBmgGUAZMBkgGDAZEBkAGPAY4BjQGMAYsBnQHABmTNAdwB2QHbAeIBzwHYAdYB0gG9AbwBuwGyAYIBigGJAYgBhwGGAbEBoAHHAboBsAGvAaEB0QHQAcEBvwauAa0Bf5wBvgGbAZkBnwGBAZgBrAGrAZ4BgAF7fYUBtgGEAZYBygG1AckB0wHVAdQBtAG5AakBswG4Ab8BqAG3AacBpgGlAcMBlQGaAZQBkwGSAYMBkQGQAY8BjgGNAYwBiwGdAdUXW9IX0BfPF84XzRfMF8sX1wHLAcUBxAHOAaoBlwF+wAHKF9oBwwbNAdcBywHFAcQBzgGqAZcBfsAB3AHZAcIGwQbPAdgB1gHSAb0BvAG7AbIBggGKAYkBiAGHAYYBsQGgAccBugGwAa8BoQHRAdABwQHMAa4BrQF/nAG+AZsBmQGfAYEBmAGsAasBngGAAXt9hQG2AYQBlgHKAbUByQHTAdUB1AG0AbkBqQGzAbgBvwGoAbcBpwGmAaUBwwGVAZoBlAGTAZIBgwGRAZABjwGOAY0BjAGLAZ0BwAZkzQHcAdkB2wHiAc8B2AHWAdIBvQG8AbsBsgGCAYoBiQGIAYcBhgGxAaABxwG6AbABrwGhAdEB0AHBAb8GrgGtAX+cAb4BmwGZAZ8BgQGYAawBqwGeAYABe32FAbYBhAGWAcoBtQHJAdMB1QHUAbQBuQGpAbMBuAG/AagBtwGnAaYBpQHDAZUBmgGUAZMBkgGDAZEBkAGPAY4BjQGMAYsBnQHGF1vCF8EXwBe/F74XvRe8F9cBywHFAcQBzgGqAZcBfsABuxfaAcMGzQHXAcsBxQHEAc4BqgGXAX7AAdwB2QHCBsEGzwHYAdYB0gG9AbwBuwGyAYIBigGJAYgBhwGGAbEBoAHHAboBsAGvAaEB0QHQAcEBzAGuAa0Bf5wBvgGbAZkBnwGBAZgBrAGrAZ4BgAF7fYUBtgGEAZYBygG1AckB0wHVAdQBtAG5AakBswG4Ab8BqAG3AacBpgGlAcMBlQGaAZQBkwGSAYMBkQGQAY8BjgGNAYwBiwGdAcAGZM0B3AHZAdsB4gHPAdgB1gHSAb0BvAG7AbIBggGKAYkBiAGHAYYBsQGgAccBugGwAa8BoQHRAdABwQG/Bq4BrQF/nAG+AZsBmQGfAYEBmAGsAasBngGAAXt9hQG2AYQBlgHKAbUByQHTAdUB1AG0AbkBqQGzAbgBvwGoAbcBpwGmAaUBwwGVAZoBlAGTAZIBgwGRAZABjwGOAY0BjAGLAZ0BuBf4DuMMthf8BfQE4gy0F9MC2gHNAdcBywHFAdwB2QHbAeIBzwHYAdYB0gG9AbwBuwGyAYIBigGJAYgBhwGGAbEBoAHHAboBsAGvAaEB0QHQAcEBzAHEAa4BrQF/nAG+AZsBmQGfAYEBmAGsAasBzgGeAaoBlwGAAXt+fYUBtgGEAZYBygG1AckBwAHTAdUB1AG0AbkBqQGzAbgBvwGoAbcBpwGmAaUBwwGVAZoBlAGTAZIBgwGRAZABjwGOAY0BjAGLAZ0B3wyvF6EPrBfTAvIK0wmrF6oXqRenF6YXpRffCqQXoxfMCMsIoheeD50PoRfKCKAX0wL6AmSrAtoBzQHXAcsBxQGfF54Xmw+aD88B2AHWAdIBvQG8AbsBsgGCAYoBiQGIAYcBhgGxAaABxwG6AbABrwGhAdEB0AHBAcwBxAGuAa0Bf5wBvgGbAZkBnwGBAZgBrAGrAc4BngGqAZcBgAF7fn2FAbYBhAGWAcoBtQHJAcAB0wHVAdQBtAG5AakBswG4Ab8BqAG3AacBpgGlAcMBlQGaAZQBkwGSAYMBkQGQAY8BjgGNAYwBiwGdAYYDmheZF9oBzQHXAcsBxQHcAdkB2wHiAc8BmBfWAdIBvQG8AbsBsgGCAYoBiQGIAYcBhgGxAaABxwG6AbABrwGhAdEB0AHBAcwBxAGuAa0Bf5wBvgGbAZkBnwGBAZgBrAGrAc4BngGqAZcBgAF7fn2FAbYBhAGWAcoBtQHJAcAB0wHVAdQBtAG5AakBswG4Ab8BqAG3AacBpgGlAcMBlQGaAZQBkwGSAYMBkQGQAY8BjgGNAYwBiwGdAZAX2gHNAdcBywHFAdwB2QHbAeIBzwHYAdYB0gG9AbwBuwGyAYIBigGJAYgBhwGGAbEBoAHHAboBsAGvAaEB0QHQAcEBzAHEAa4BrQF/nAG+AZsBmQGfAYEBmAGsAasBjReeAYwXlwGAAXt+fYUBtgGEAZYBygG1AckBwAHTAdUB1AG0AbkBqQGzAbgBvwGoAbcBpwGmAaUBwwGVAZoBlAGTAZIBgwGRAZABjwGOAY0BjAGLAZ0Bhg6EF1uAF9oBzQHXAcsBxQHcAdkB/Rb8Fs8B2AHWAdIBvQG8AbsBsgGCAYoBiQGIAYcBhgGxAaABxwG6AbABrwGhAdEB0AHBAcwBxAGuAa0Bf5wBvgGbAZkBnwGBAZgBrAGrAc4BngGqAZcBgAF7fn2FAfsWhAGWAcoBtQHJAcAB0wHVAdQBtAG5AakBswG4Ab8BqAG3AacBpgGlAcMBlQGaAZQBkwGSAYMBkQGQAY8BjgGNAYwBiwGdAdoBzQHXAcsBxQHcAdkB2wH/Fs8B2AHWAdIBvQG8AbsBsgGCAYoBiQGIAYcBhgGxAaABxwG6AbABrwGhAdEB0AHBAcwBxAGuAa0Bf5wBvgGbAZkBnwGBAZgBrAGrAc4BngGqAZcBgAF7fn2FAf4WhAGWAcoBtQHJAcAB0wHVAdQBtAG5AakBswG4Ab8BqAG3AacBpgGlAcMBlQGaAZQBkwGSAYMBkQGQAY8BjgGNAYwBiwGdAcQDedoJ6AfYDM0C0AnzFmSVBZQF8BbvFu4W7RbsFusW6hbbAekWzwHnFtYB0gG9AbwBuwGyAYIBigGJAYgBhwGGAbEBoAHHAboBsAGvAaEB0QHQAeYWzAHlFq4BrQF/nAG+AZsBmQHkFoEBmAHjFuIW4RbgFt8WlwGAAXt+fYUBtgGEAZYB3hbcFtsW2hbZFtUB2BbXFrkB1hbVFrgB1BaoAdMW0RamAdAWwwGVAZoBlAGTAZIBgwGRAZABjwGOAY0BjAGLAc8WyhbaAc0B1wHLAcUB3AHZAdsB4gHPAdgB1gHSAb0BvAG7AbIBggGKAYkBiAGHAYYBsQGgAccBugGwAa8BoQHRAdABwQHMAcQBrgGtAX+cAb4BmwGZAZ8BgQGYAawBqwHOAZ4BqgGXAYABe359hQG2AYQBlgHKAbUByQHAAdMB1QHUAbQBuQGpAbMBuAG/AagBtwGnAaYBpQHDAZUBmgGUAZMBkgGDAZEBkAGPAY4BjQGMAYsBnQHDFtoBzQHXAcsBxQHcAdkB2wG+Fs8B2AHWAdIBvQG8AbsBsgGCAYoBiQGIAYcBhgGxAaABxwG6AbABrwGhAdEB0AHBAcwBxAGuAa0Bf5wBvgGbAZkBnwGBAZgBrAGrAc4BngGqAZcBgAF7fn2FAbYBhAGWAcoBtQHJAcAB0wHV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QQFqIQsCQCACIAVGBEAgAyEEDAELQQAhCSACIQEgCkEDcSIHBEADQCADQQFrIgMgAUEBayIBLQAAOgAAIAlBAWoiCSAHRw0ACwsgBSACa0F8TQRAA0AgA0EBayABQQFrLQAAOgAAIANBAmsgAUECay0AADoAACADQQNrIAFBA2stAAA6AAAgA0EEayIDIAFBBGsiAS0AADoAACABIAVHDQALCyAAKAIAIQILIAAgCDYCCCAAIAs2AgQgACAENgIAIAJFDQAgAhBaCyAGQQd2IQEgBkH//wBLDQALCyABQf8AcSEGIAAoAgQiAiAAKAIIRwRAIAIgBjoAACAAIAJBAWo2AgQgAA8LIAIgACgCACIIayIFQQFqIgRBAEgNACAFQf////8HIAVBAXQiASAEIAEgBEsbIAVB/////wNPGyIBBH8gARBcBUEACyIEaiIDIAY6AAAgASAEaiELIANBAWohBwJAIAIgCEYEQCADIQQMAQsCQCAFQQNxIgZFBEAgAiEBDAELQQAhCSACIQEDQCADQQFrIgMgAUEBayIBLQAAOgAAIAlBAWoiCSAGRw0ACwsgCCACa0F8TQRAA0AgA0EBayABQQFrLQAAOgAAIANBAmsgAUECay0AADoAACADQQNrIAFBA2stAAA6AAAgA0EEayIDIAFBBGsiAS0AADoAACABIAhHDQALCyAAKAIAIQILIAAgCzYCCCAAIAc2AgQgACAENgIAIAIEQCACEFoLIAAPCxBkAAuQBAEEfyABIAAgAUYiAzoADAJAIAMNAANAIAEoAggiAy0ADA0BAkAgAyADKAIIIgIoAgAiBEYEQAJAIAIoAgQiBEUNACAELQAMDQAMAgsCQCABIAMoAgBGBEAgAyEBDAELIAMgAygCBCIBKAIAIgQ2AgQgAyEAIAQEQCAEIAM2AgggAygCCCICKAIAIQALIAEgAjYCCCACIAJBBGogACADRhsgATYCACABIAM2AgAgAyABNgIIIAEoAggiAigCACEDCyABQQE6AAwgAkEAOgAMIAIgAygCBCIANgIAIAAEQCAAIAI2AggLIAMgAigCCCIANgIIIAAgACgCACACR0ECdGogAzYCACADIAI2AgQgAiADNgIIDwsCQCAERQ0AIAQtAAwNAAwBCwJAIAEgAygCAEcEQCADIQEMAQsgAyABKAIEIgA2AgAgAARA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NgIAQcwBIApBnAFqQdX5AhACIQNB1IkLKAIAIYYBQdSJC0EANgIAQQEhASCGAUEBRg0FQdSJC0EANgIAQf0BIAQgAyAFIAkQDSECQdSJCygCACGHAUHUiQtBADYCACCHAUEBRwRAQQAhAUHUiQtBADYCAEHNASACQbC5B0HOARAIQdSJCygCACGIAUHUiQtBADYCACCIAUEBRw0FCxAAIQAgAywAC0EASARAIAMoAgAQWgsgAUUNCwwKCyAKQegBaiADIAlBARBpELUHAkACQCADKAIAIgAoAtACIgJFDQAgACgCzAICfyAKKQPoASLdAaciCCACQQFrcSACaUEBSyIBRQ0AGiAIIAIgCEsNABogCCACcAsiBEECdGooAgAiAEUNACAAKAIAIgBFDQACQCABRQRAIAJBAWshAgNAAkAgCCAAKAIEIgFHBEAgASACcSAERg0BDAULIAAoAgggCEYNAwsgACgCACIADQALDAILA0ACQCAIIAAoAgQiAUcEQCABIAJPBH8gASACcAUgAQsgBEYNAQwECyAAKAIIIAhGDQILIAAoAgAiAA0ACwwBCyAAKAIQDQELQRQQciEEQdSJC0EANgIAQcwBIApBkAFqQY2ZBBACIQNB1IkLKAIAIYkBQdSJC0EANgIAQQEhASCJAUEBRg0GQdSJC0EANgIAQf0BIAQgAyAFIAkQDSECQdSJCygCACGKAUHUiQtBADYCACCKAUEBRwRAQQAhAUHUiQtBADYCAEHNASACQbC5B0HOARAIQdSJCygCACGLAUHUiQtBADYCACCLAUEBRw0FCxAAIQAgAywAC0EASARAIAMoAgAQWgsgAUUNCwwJCyAHKAIMIQQCQCAHKAIQIgAgBygCFEcEQCAEIQEMAQsgByAAQQF0QQJqIgA2AhQgByAHKAIYIABBA3RBBBBdIgE2AgxBACEAIAcoAhBFDQADQCAAQQN0IgEgBygCDGogASAEaikCADcCACAAQQFqIgAgBygCECICSQ0ACyAHKAIMIQEgAiEACyABIABBA3RqIN0BNwIAIAcgBygCEEEBajYCECAKQYgBaiADIAlBAhBpQQAQ5gQgBygCHCECIAopA4gBId0BAkAgBygCICIAIAcoAiRHBEAgAiEEDAELIAcgAEEBdEECaiIANgIkIAcgBygCKCAAQQN0QQQQXSIENgIcQQAh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IN0BQoCAgIBwg0KAgICAoAJSDRUgA0GgmwVBEhBeDRUgACABQQIQiwUhAgwWCyDdAUKAgICAcINCgICAgIADUg0UIANBzCFBGBBeDRQgACABQQYQiwUhAgwVCyDdAUKAgICAcINCgICAgJABUg0TIANBqYECQQkQXg0TIAAgAUEAEMIQIQIMFAsg3QFCgICAgHCDQoCAgIDgAlINEiADQdHkAEEWEF4NEiAAIAFBCEEAELAEIQIMEwsg3QFCgICAgHCDQoCAgICwAVINESADQcL+AkELEF4NESAAIAFBBRCQBiECDBILIN0BQoCAgIBwg0KAgICA4AJSDRAgA0G3uARBFhBeDRAgACABQQMQkAYhAgwRCwJAAkAgBi0AT0H1AGsOAwARARELIN0BQoCAgIBwg0KAgICAsAJSDRAgA0HymwVBExBeDRAgACABQQAQkAYhAgwRCwJAAkAgBi0AUkExaw4IABEREREREQERCyDdAUKAgICAcINCgICAgMACUg0QIANBsaEFQRQQXg0QIAAgAUECEJAGIQIMEQsg3QFCgICAgHCDQoCAgICwAlINDyADQYybBUETEF4NDyAAIAFBARCQBiECDBALAkACQAJAIAYtAEtB7ABrDgwAEREREREREREBEQIRCyAGLQBVIgJB3wBHBEAgAg0RIN0BQoCAgIBwg0KAgICA0AJSDREgA0GzmwVBFRBeDREgACABQQJBABCwBCECDBILIN0BQoCAgIBwg0KAgICAsANSDRAgA0HlIUEbEF4NECAAIAFBBkEAELAEIQIMEQsgBi0ATyICQd8ARwRAIAINECDdAUKAgICAcINCgICAgPABUg0QIANB4psFQQ8QXg0QIAAgAUEAQQAQsAQhAgwRCwJAAkAgBi0AUEHhAGsOFAAREREREREREREREREREREREREBEQsgBi0AVSICQd8ARwRAIAINESDdAUKAgICAcINCgICAgNACUg0RIANBoCJBFRBeDREgACABQQRBABCwBCECDBILIN0BQoCAgIBwg0KAgICAkANSDRAgA0HNEkEZEF4NECAAIAFBBEEBELAEIQIMEQsg3QFCgICAgHCDQoCAgICwAlINDyADQecSQRMQXg0PIAAgAUEAQQEQsAQhAgwQCwJAAkAgBi0ATkExaw4IABAQEBAQEAEQCyAGLQBQIgJB3wBHBEAg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gICgAVINECADQdE8QQoQXg0QIAAgAUHbABB2IQIMEQsCQAJAAkAgBi0AR0HhAGsOFAASEhIBEhISEhISEhISEhISEhICEgsg3QFCgICAgHCDQoCAgICAAlINESADQfGLAUEQEF4NESAAIAFBBhDHBCECDBILAkACQCAGLQBJQfMAaw4DABIBEgsg3QFCgICAgHCDQoCAgICgAVINESADQdDkAUEKEF4NESAAIAFB3AAQdiECDBILIN0BQoCAgIBwg0KAgICAoAFSDRAgA0H/wgBBChBeDRAgACABQd0AEHYhAgwRCwJAAkAgBi0ASUHzAGsOAwARARELIN0BQoCAgIBwg0KAgICAoAFSDRAgA0Gf4QFBChBeDRAgACABQdgAEHYhAgwRCyDdAUKAgICAcINCgICAgKABUg0PIANBnjxBChBeDQ8gACABQdkAEHYhAgwQCwJAAkACQCAGLQBHQeEAaw4VABEREREREREBERERERERERERERECEQsCQAJAIAYtAEpB8wBrDgMAEgESCyDdAUKAgICAcINCgICAgLABUg0RIANB5+ABQQsQXg0RIAAgAUGUARB2IQIMEgsg3QFCgICAgHCDQoCAgICwAVINECADQeY7QQsQXg0QIAAgAUGVARB2IQIMEQsCQAJAIAYtAEpB8wBrDgMAEQERCyDdAUKAgICAcINCgICAgLABUg0QIANB7uMBQQsQXg0QIAAgAUGSARB2IQIMEQsg3QFCgICAgHCDQoCAgICwAVINDyADQaLAAEELEF4NDyAAIAFBkwEQdiECDBALIN0BQoCAgIBwg0KAgICAkAFSDQ4gA0Hc6AJBCRBeDQ4gACABQZEBEHYhAgwPCwJAAkAgBi0AR0HhAGsOBQAPDw8BDwsCQAJAIAYtAFNB8wBrDgMAEAEQCyDdAUKAgICAcINCgICAgMACUg0PIANBuukBQRQQXg0PIAAgAUHBARB2IQIMEAsg3QFCgICAgHCDQoCAgIDAAlINDiADQfTJAEEUEF4NDiAAIAFBwgEQdiECDA8LIAYtAEgiAkHnAEcEQCACDQ4g3QFCgICAgHCDQoCAgICAAVINDiADKQAAQuni2MGHx4u35QBSDQ4gACABQdcAEHYhAgwPCyDdAUKAgICAcINCgICAgJABUg0NIANBqa0DQQkQXg0NIAAgAUHKABDhASECDA4L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cINCgICAgLACUg0MIANByuwBQRMQXg0MIAAgAUE4EOEBIQIMDQsg3QFCgICAgHCDQoCAgICwAlINCyADQYTNAEETEF4NCyAAIAFBORDhASECDAwLAkACQCAGLQBSQfMAaw4DAAwBDAsg3QFCgICAgHCDQoCAgICwAlINCyADQb3rAUETEF4NCyAAIAFBOhDhASECDAwLIN0BQoCAgIBwg0KAgICAsAJSDQogA0H3ywBBExBeDQogACABQTsQ4QEhAgwLCyDdAUKAgICAcINCgICAgPAAUg0JIANBn/cBQQcQXg0JIAAgAUEiEHYhAgwKCwJAAkACQAJAAkACQAJAAkACQCAGLQBGQeEAaw4TAAEREQIRAxEREREEBQYREREHCBELAkACQAJAIAYtAEdB4gBrDgsAEwETExMTExMTAhMLIN0BQoCAgIBwg0KAgICAkAFSDRIgA0G94AFBCRBeDRIgACABQdEAEOEBIQIMEwsg3QFCgICAgHCDQoCAgICQAVINESADQaLkBEEJEF4NESAAIAFBqAEQdiECDBILIN0BQoCAgIBwg0KAgICA4AFSDRAgA0HfxgNBDhBeDRAgACABQdMAEOEBIQIMEQsg3QFCgICAgHCDQoCAgIDQAVINDyADQYX3AkENEF4NDyAAIAFB1AAQ4QEhAgwQCwJAAkAgBi0AR0HxAGsOCAAQEBAQEBABEAsg3QFCgICAgHCDQoCAgICAAVINDyADKQAAQuns0MGnxsuy8QBSDQ8gACABQeoAEHYhAgwQCwJAAkACQCAGLQBJQeUAaw4OABEREREREREBEREREQIRCwJAAkAgBi0ATUHoAGsOBQASEhIBEgsCQAJAIAYtAFhB8wBrDgMAEwETCyDdAUKAgICAcINCgICAgJADUg0SIANBy+oBQRkQXg0SIAAgAUH0ABDhASECDBMLIN0BQoCAgIBwg0KAgICAkANSDREgA0GFywBBGRBeDREgACABQfYAEOEBIQIMEgsCQAJAIAYtAFdB8wBrDgMAEgESCyDdAUKAgICAcINCgICAgIADUg0RIANBguoBQRgQXg0RIAAgAUHzABDhASECDBILIN0BQoCAgIBwg0KAgICAgANSDRAgA0G8ygBBGBBeDRAgACABQfUAEOEBIQIMEQsCQAJAIAYtAE1B6ABrDgUAERERARELAkACQCAGLQBY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BCACBEAgAiAANgIICyABIAAoAggiAjYCCCACIAIoAgAgAEdBAnRqIAE2AgAgASAANgIAIAAgATYCCA8LIANFBEAgAkEBOgAMIAFBADoADCABIAIoAgQiAzYCACADBEAgAyABNgIICyACIAEoAggiAzYCCCADIAMoAgAgAUdBAnRqIAI2AgAgAiABNgIEIAEgAjYCCCACIAAgACABRhshACABKAIAIQILAkACQCACKAIAIgFFDQAgAS0ADA0AIAIhAwwBCwJAIAIoAgQiAwRAIAMtAAxFDQELIAJBADoADCACKAIIIgItAAxBACAAIAJHGw0CIAJBAToADA8LAkAgAUUNACABLQAMDQAgAiEDDAELIANBAToADCACQQA6AAwgAiADKAIAIgA2AgQgAARAIAAgAjYCCAsgAyACKAIIIgA2AgggACAAKAIAIAJHQQJ0aiADNgIAIAMgAjYCACACIAM2AgggAiEBCyADIAMoAggiAC0ADDoADCAAQQE6AAwgAUEBOgAMIAAgACgCACIBKAIEIgI2AgAgAgRAIAIgADYCCAsgASAAKAIIIgI2AgggAiACKAIAIABHQQJ0aiABNgIAIAEgADYCBCAAIAE2AggPCyACKAIIIgEgASgCACACRkECdGooAgAhAgwACwALIARBAToADAsL/AUCBn8BfiMAQbABayIEJAACQAJAIAJB/wFxBEAgACABNgIEIAENASAAKAIUIgJFDQEgACgCECEFQQAhAQNAIAUgAUECdGooAgAoAgRBAUcEQCACIAFBAWoiAUcNAQwDCwsCQAJAIAMOAwADAQMLIAQgACkCCCIKNwMIIAQgCjcDGCAAIARBCGoQ8QINAgsgAEEBNgIEDAELIAAoAhQiAkUEQCAAQQA2AgQMAQsgACAAKAIQIgMgAkECdGpBBGsoAgAoAgQiATYCBCAAKAIIRQRAIAENAUEAIQEDQCADIAFBAnRqKAIAKAIEQQFHBEAgAiABQQFqIgFHDQEMAwsLIABBATYCBAwBCyAAKQIIIQogBEIANwJwIARCADcCeCAEQQA2AoABIARCADcClAEgBEKAgICAgICAwD83ApwBIARCADcCGCAEQgA3AowBIAQgCjcChAFB1IkLQQA2AgAgBCAANgIUQTwgBEEYaiAEQRRqEANB1IkLKAIAIQZB1IkLQQA2AgAgBkEBRg0B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IAJBADYCaEHUiQtBADYCACACQgA3AgAgAiACQfwAajYCbEHHACACIAJB9AFqEANB1IkLKAIAIQtB1IkLQQA2AgACQAJAIAtBAUcEQCACKAJYIgsEQCACIAs2AlwgCxBaCyACKALQAQRAQdSJC0EANgIAQQ1BkckFQfaKA0HECEGm0QAQBUHUiQsoAgAhGkHUiQtBADYCACAaQQFHDQoQACEEDAsLIAItAHwEQCACQQA6AM0BCyACQQA6AMwBAkAgAigCqAENACACLQDYAQ0AIAIoAsABDQAgAi0AxQENACACLQDHAQ0AIAItAMkBDQAgAi0AywENACACLQDOAQ0AIAItAJEBDQAgAi0AzwENACACKALwAQ0AIAItAJABDQAgAigC5AENACACLQDZAQ0AIAAoAmgoAoQBIQtB1IkLQQA2AgBBhNcAIAEgCxACIRxB1IkLKAIAIRtB1IkLQQA2AgAgG0EBRg0DIBxFDQILIAAoAnQgARCpCAwHCxAAIQQgAigCWCIARQ0JIAIgADYCXCAAEFoMCQsgBCgCDCELIAIgAikCgAE3AgggAiACLwF8OwEEIAIgCzYCACACQgA3AoABIAIvAZABIQ0gAikCiAEhJSACIAIoApQBNgIcIAJBIGoiBCACKAKYASIONgIAIAIgJTcCECACIA07ARggAiACKAKcASINNgIkAkAgDUUEQCACIAQ2AhwMAQsgDiAENgIIIAJCADcCmAEgAiAFNgKUAQsgAiACKAKgATYCKCACQSxqIgUgAigCpAEiBDYCACACIAIoAqgBIg02AjACQCANRQRAIAIgBTYCKAwBCyAEIAU2AgggAkIANwKkASACIAM2AqABCyACIAIoAqwBNgI0IAJBOGoiBSACKAKwASIDNgIAIAIgAigCtAEiBDYCPAJAIARFBEAgAiAFNgI0DAELIAMgBTYCCCACQgA3ArABIAIgBjYCrAELIAJBQGsgAigCuAE2AgAgAkHEAGoiAyACKAK8ASIFNgIAIAIgAigCwAEiBDYCSAJAIARFBEAgAiADNgJADAELIAUgAzYCCCACQgA3ArwBIAIgBzYCuAELIAIgAikCxAE3AkwgAiACKQHSATcBWiACIAIpAswBNwJUIAIgAigC3AE2AmQgAkHoAGoiAyACKALgASIENgIAIAIgAigC5AEiBjYCbAJAIAZFBEAg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A0kEQCACIAE2AgAgACACQQRqNgIEDwsgAiAAKAIAIgVrQQJ1IgdBAWoiBEGAgICABE8NAUH/////AyADIAVrIgNBAXUiBiAEIAQgBkkbIANB/P///wdPGyIDBH8gA0GAgICABE8NAyADQQJ0EFwFQQALIgYgB0ECdGoiBCABNgIAIARBBGohASACIAVHBEADQCAEQQRrIgQgAkEEayICKAIANgIAIAIgBUcNAAsgACgCACECCyAAIAYgA0ECdGo2AgggACABNgIEIAAgBDYCACACRQ0AIAIQWgsPCxBkAAsQagAL8AEBBn8gACgCcCICIAAoAnRHBEAgAiABNgIAIAAgAkEEajYCcA8LAkAgAiAAKAJsIgZrIgNBAnUiB0EBaiIEQYCAgIAESQRAQf////8DIANBAXUiBSAEIAQgBUkbIANB/P///wdPGyIEBH8gBEGAgICABE8NAiAEQQJ0EFwFQQALIgUgB0ECdGoiAyABNgIAIANBBGohASACIAZHBEADQCADQQRrIgMgAkEEayICKAIANgIAIAIgBkcNAAsgACgCbCECCyAAIAUgBEECdGo2AnQgACABNgJwIAAgAzYCbCACBEAgAhBaCw8LEGQACxBqAAukAgEEfwJAAkACQCAAKAJsIAAoApwBIAAoApgBIgNrQQJ1aiICDgIAAgELQf69BUHTmQNBgARB1+YAEAEACyAAIAJBAmsiAkECdCIEakHwAGogAyAEakEoayACQQpJGygCACEFCyAAQagBaiIEIQMCQAJAIAAoAqgBIgJFDQADQCABIAIiAygCECICSQRAIAMiBCgCACICDQEMAgsgASACTQRAIAMhAgwDCyADKAIEIgINAAsgA0EEaiEEC0EYEFwiAiABNgIQIAIgAzYCCCACQgA3AgAgAkEANgIUIAQgAjYCACACIQMgACgCpAEoAgAiAQRAIAAgATYCpAEgBCgCACEDCyAAKAKoASADEGcgACAAKAKsAUEBajYCrAELIAIgBTYCFAvIBwIIfwN+IwBBEGsiBCQAIAQgATYCBAJAAkACQAJAIAEoAgAiBg4EAQIDAgALIAZBM0YNASAGQd0ARw0CC0GY/QNB5bMDQeoBEGIACyABKQIIIgunIgdFDQAgAEHwAGoiBSEDAkACQCAAKAJwIgJFDQAgC0IgiCIMpyEIA0ACQAJAIAcgAiID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AAsgACgCACECCyAAIAYgA0ECdGo2AgggACABNgIEIAAgBDYCACACRQ0AIAIQWgsPCxBkAAsQagAL+gEBBn8CQAJAAkAgAEUNACAAKAIEIgIgACgCCEcEQCACIAE2AgAgACACQQRqNgIEDwsgAiAAKAIAIgZrIgNBAnUiB0EBaiIEQYCAgIAETw0BQf////8DIANBAXUiBSAEIAQgBUkbIANB/P///wdPGyIEBH8gBEGAgICABE8NAyAEQQJ0EFwFQQALIgUgB0ECdGoiAyABNgIAIANBBGohASACIAZHBEADQCADQQRrIgMgAkEEayICKAIANgIAIAIgBkcNAAsgACgCACECCyAAIAUgBEECdGo2AgggACABNgIEIAAgAzYCACACRQ0AIAIQWgsPCxBkAAsQagAL+gMBA38CQAJAAkACQAJAAkACQCABKAIAQQhrDgICAAELIAEoAgRBAkkNAiABIAAoAnggASgCCBDQAjYCBA8LIAEgACABKAIEEPEENgIEAkACQAJAAkACQAJAAkAgASgCAA5eAggICAgICAoICAgICAMICAgICAgFCwgICAgECAgICAgICAgICAgICAgICAgICAgICAgICAAICAgICAgICAsIBggICAgICAgICAgICAgICAgICAgICAgICAgICAgBAggLIAFBQGsoAgBFDQcDQCAAIAJBAnQiAyABKAI8aigCABDxBCEEIAEoAkAgAk0NCSABKAI8IANqIAQ2AgAgAkEBaiICIAEoAkBJDQALDAcLIAEoAkQEQANAIAAgAkECdCIDIAEoAkBqKAIAEPEEIQQgASgCRCACTQ0JIAEoAkAgA2ogBDYCACACQQFqIgIgASgCREkNAAsLDAgLQZj9A0HlswNB6gEQYgALIAEgACABKAIsEPEENgIsDwsgASAAIAEoAhwQ8QQ2AhwPCyABIAAgASgCCBDxBDYCCA8LIAEgACABKAIYEPEENgIYDwsgASAAKAJ4IAEoAggQ0AI2AgQLDwtBxaIBQYmiA0G8AUGmiAUQAQALIAEgACgCgAEgASgCCBC5DDYCCA8LIAEgACABKAIMEPEENgIMC4QCAQZ/AkACQAJAIAEoAgBBK0cNACAAKAIEIgIgACgCCCIDSQRAIAIgATYCACAAIAJBBGo2AgQPCyACIAAoAgAiBWtBAnUiB0EBaiIEQYCAgIAE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UgRAINQMQgF9IdcMQgAh1AwgAygCeMAhBkEAIQQDQCAHKAKIAyEFIANBAzYCICADINQMINYMfCLUDDcDEEHUiQtBADYCAEGFDCAHINQMINcMQfQVENUCQdSJCygCACGGBEHUiQtBADYCACCGBEEBRg0GIAMg2Aw3AwggBSgCACgCWCGHBEHUiQtBADYCACADINgMNwMAIIcEIAUg1AwgBiADEPMCQdSJCygCACGIBEHUiQtBADYCACCIBEEBRg0GIANBEGoQWRog1QwgBEEBaiIErSLUDFYNAAsLIABCADcDACAAQgA3AzAgAEIANwMoIABCADcDICAAQgA3AxggAEIANwMQIABCADcDCCADKAJYIgVFDQkgAygCXCIGIAUiBEcEQANAIAZBGGsQWSIGIAVHDQALIAMoAlghBAsgAyAFNgJcIAQQWgwJCxAAIQYMBQsQACEGDAULEAAhBgxOCxAAIQYMAgsQACEGIANBEGoQWRoMAQtB1IkLKAIAIYkEQdSJC0EANgIAIIkEQQFHDQIQACEGCyADQThqEGgLIANB8ABqEGgMSQsACyADQUBrEFkaIAMoApABIgVFDQAgAygClAEiBiAFIgRHBEADQCAGQRhrEFkiBiAFRw0ACyADKAKQASEECyADIAU2ApQBIAQQWgsgA0H4AGoQWRogAygCyAEiBUUNACADKALMASIGIAUiBEcEQANAIAZBGGsQWSIGIAVHDQALIAMoAsgBIQQLIAMgBTYCzAEgBBBaCyADQbABahBZGiADQeABaiQADEALIAAgAhD/Cww/CyMAQbATayIDJAAgA0H4EmogASACKAIMEK8CAkACQAJAAkACQAJAAkACQAJAIAMoAqgTBEAgACADKAL4EjYCAEHUiQtBADYCAEHAACAAQQhqIANBgBNqEAIaQdSJCygCACGKBEHUiQtBADYCACCKBEEBRg0CIAAgAygCmBM2AiAgACADQZwTaigCADYCJCAAIANBoBNqIgQoAgA2AiggBEEANgIAIANCADcDmBMgACADKQOoEzcDMAwBCwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJA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WgsgA0G8HmopAgAh1AwgA0HAHmpBADYCACADIAMoArgeNgKIHyADIAMpA8geNwOYHyADINQMNwKMHyADQgA3A7geIAkQWRogAygCmB9FDQQgACADKALoHjYCAEHUiQtBADYCAEHAACAAQQhqIAgQAhpB1IkLKAIAIdEFQdSJC0EANgIAINEFQQFGDQMgACADKAKIHzYCICAAIAMoAowfNgIkIAAgAygCkB82AiggA0EANgKQHyADQgA3A4gfIAAgAykDmB83AzAMCAsQACEADAYLEAAhACAGEFkaDAULEAAhACADQZgeahBoIAYQWRoMBAsQACEAIAYQWRoMAwsgAygC6B4gAygCjB8gAygCiB9rQRhtakEBRwRAQdSJC0EANgIAQQ1Bh8EFQdCVA0HHAEGY1wMQBUHUiQsoAgAh0gVB1IkLQQA2AgAg0gVBAUcNBQwCC0HUiQtBADYCAEHAACADQZgeaiAIEAIhBUHUiQsoAgAh0wVB1IkLQQA2AgAg0wVBAUYNAQJAAkACQAJ/AkAgAigCDCgCBCIEQQJJDQAgBigCECAERg0AQeXHAyEEQe0EDAELIAIoAhAoAgQiBEECSQ0BIAUoAhAgBEYNAUGdxwMhBEHvBAshAEHUiQtBADYCAEENIARB0JUDIABBmxgQBUHUiQsoAgAh1AVB1IkLQQA2AgAg1AVBAUYNAQwHC0GTCCEEQZO8AiEHAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAigCCA7MAQABAgMEBQYMDQ4PERASExQVFhcYGRobHB0AAQIHCAkKDA0ODxEQEhMUFRYXGBkaGxwdAAECCyIjJBQVHh8gIQABAgsiIyQUFR4fICElJicoKSorLC0uLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEBkgGTAZQBlQGWAZcBmAGZAZoBmwGcAZwBjAGNAZQBlQFwnQGfAZ4BC0HUiQtBADYCAEGVBCADQYAeaiIEIAYgBRAIQdSJCygCACHVBUHUiQtBADYCACDVBUEBRg2fAUHUiQtBADYCAEGcAyAAIAQQAhpB1IkLKAIAIdYFQdSJC0EANgIAINYFQQFHBEAgBBBZGiAFEFkaDKUBCxAAIQAgA0GAHmoQWRoMoAELQdSJC0EANgIAQZYEIANB6B1qIgQgBiAFEAhB1IkLKAIAIdcFQdSJC0EANgIAINcFQQFGDZ4BQdSJC0EANgIAQZwDIAAgBBACGkHUiQsoAgAh2AVB1IkLQQA2AgAg2AVBAUcEQCAEEFkaIAUQWRoMpAELEAAhACADQegdahBZGgyfAQtB1IkLQQA2AgBBlwQgA0HQHWoiBCAGIAUQCEHUiQsoAgAh2QVB1IkLQQA2AgAg2QVBAUYNnQFB1IkLQQA2AgBBnAMgACAEEAIaQdSJCygCACHaBUHUiQtBADYCACDaBUEBRwRAIAQQWRogBRBZGgyjAQsQACEAIANB0B1qEFkaDJ4BC0HUiQtBADYCAEGYBCAFEKwCId8MQdSJCygCACHbBUHUiQtBADYCACDbBUEBRg2cASDfDFAEQCABKAIAKAIIIdwFQdSJC0EANgIAINwFIAFBgcMFEANB1IkLKAIAId0FQdSJC0EANgIAIN0FQQFGDZ0BC0HUiQtBADYCAEGYBCAGEKwCIdQMQdSJCygCACHeBUHUiQtBADYCACDeBUEBRg2cAQJAINQMQoCAgIB4Ug0AQdSJC0EANgIAQZgEIAUQrAIh4AxB1IkLKAIAId8FQdSJC0EANgIAIN8FQQFGDZ0BIOAMQn9SDQAgASgCACgCCCHgBUHUiQtBADYCACDgBSABQYM3EANB1IkLKAIAIeEFQdSJC0EANgIAIOEFQQFGDZ0BC0HUiQtBADYCAEGZBCADQbgdaiIEIAYgBRAIQdSJCygCACHiBUHUiQtBADYCACDiBUEBRg2cAUHUiQtBADYCAEGcAyAAIAQQAhpB1IkLKAIAIeMFQdSJC0EANgIAIOMFQQFHBEAgBBBZGiAFEFkaDKIBCxAAIQAgA0G4HWoQWRoMnQELQdSJC0EANgIAQZgEIAUQrAIh4QxB1IkLKAIAIeQFQdSJC0EANgIAIOQFQQFGDZsBIOEMUARAIAEoAgAoAggh5QVB1IkLQQA2AgAg5QUgAUHFwgUQA0HUiQsoAgAh5gVB1IkLQQA2AgAg5gVBAUYNnAELQdSJC0EANgIAQZoEIANBoB1qIgQgBiAFEAhB1IkLKAIAIecFQdSJC0EANgIAIOcFQQFGDZsBQdSJC0EANgIAQZwDIAAgBBACGkHUiQsoAgAh6AVB1IkLQQA2AgAg6AVBAUcEQCAEEFkaIAUQWRoMoQELEAAhACADQaAdahBZGgycAQtB1IkLQQA2AgBBmAQgBRCsAiHiDEHUiQsoAgAh6QVB1IkLQQA2AgAg6QVBAUYNmgEg4gxQBEAgASgCACgCCCHqBUHUiQtBADYCACDqBSABQZ/DBRADQdSJCygCACHrBUHUiQtBADYCACDrBUEBRg2bAQtB1IkLQQA2AgBBmAQgBhCsAiHUDEHUiQsoAgAh7AVB1IkLQQA2AgAg7AVBAUYNmgECQCDUDEKAgICAeFINAEHUiQtBADYCAEGYBCAFEKwCIeMMQdSJCygCACHtBUHUiQtBADYCACDtBUEBRg2bASDjDEJ/Ug0AIANBAjYCmB0gA0EANgKIHUHUiQtBADYCAEGcAyAAIANBiB1qIgQQAhpB1IkLKAIAIe4FQdSJC0EANgIAIO4FQQFHBEAgBBBZGiAFEFkaDKEBCxAAIQAgA0GIHWoQWRoMnAELQdSJC0EANgIAQZsEIANB8BxqIgQgBiAFEAhB1IkLKAIAIe8FQdSJC0EANgIAIO8FQQFGDZoBQdSJC0EANgIAQZwDIAAgBBACGkHUiQsoAgAh8AVB1IkLQQA2AgAg8AVBAUcEQCAEEFkaIAUQWRoMoAELEAAhACADQfAcahBZGgybAQtB1IkLQQA2AgBBmAQgBRCsAiHkDEHUiQsoAgAh8QVB1IkLQQA2AgAg8QVBAUYNmQEg5AxQBEAgASgCACgCCCHyBUHUiQtBADYCACDyBSABQePCBRADQdSJCygCACHzBUHUiQtBADYCACDzBUEBRg2aAQtB1IkLQQA2AgBBnAQgA0HYHGoiBCAGIAUQCEHUiQsoAgAh9AVB1IkLQQA2AgAg9AVBAUYNmQFB1IkLQQA2AgBBnAMgACAEEAIaQdSJCygCACH1BUHUiQtBADYCACD1BUEBRwRAIAQQWRogBRBZGgyfAQsQACEAIANB2BxqEFkaDJoBC0HUiQtBADYCAEGYBCAFEKwCIeUMQdSJCygCACH2BUHUiQtBADYCACD2BUEBRg2YASDlDFAEQCABKAIAKAIIIfcFQdSJC0EANgIAIPcFIAFB8sIFEANB1IkLKAIAIfgFQdSJC0EANgIAIPgFQQFGDZkBC0HUiQtBADYCAEGYBCAGEKwCIdQMQdSJCygCACH5BUHUiQtBADYCACD5BUEBRg2YAQJAINQMQoCAgICAgICAgH9SDQBB1IkLQQA2AgBBmAQgBRCsAiHmDEHUiQsoAgAh+gVB1IkLQQA2AgAg+gVBAUYNmQEg5gxCf1INACABKAIAKAIIIfsFQdSJC0EANgIAIPsFIAFB8DYQA0HUiQsoAgAh/AVB1IkLQQA2AgAg/AVBAUYNmQELQdSJC0EANgIAQZkEIANBwBxqIgQgBiAFEAhB1IkLKAIAIf0FQdSJC0EANgIAIP0FQQFGDZgBQdSJC0EANgIAQZwDIAAgBBACGkHUiQsoAgAh/gVB1IkLQQA2AgAg/gVBAUcEQCAEEFkaIAUQWRoMngELEAAhACADQcAcahBZGgyZAQtB1IkLQQA2AgBBmAQgBRCsAiHnDEHUiQsoAgAh/wVB1IkLQQA2AgAg/wVBAUYNlwEg5wxQBEAgASgCACgCCCGABkHUiQtBADYCACCABiABQbbCBRADQdSJCygCACGBBkHUiQtBADYCACCBBkEBRg2YAQtB1IkLQQA2AgBBmgQgA0GoHGoiBCAGIAUQCEHUiQsoAgAhggZB1IkLQQA2AgAgggZBAUYNlwFB1IkLQQA2AgBBnAMgACAEEAIaQdSJCygCACGDBkHUiQtBADYCACCDBkEBRwRAIAQQWRogBRBZGgydAQsQACEAIANBqBxqEFkaDJgBC0HUiQtBADYCAEGYBCAFEKwCIegMQdSJCygCACGEBkHUiQtBADYCACCEBkEBRg2WASDoDFAEQCABKAIAKAIIIYUGQdSJC0EANgIAIIUGIAFBkMMFEANB1IkLKAIAIYYGQdSJC0EANgIAIIYGQQFGDZcBC0HUiQtBADYCAEGYBCAGEKwCIdQMQdSJCygCACGHBkHUiQtBADYCACCHBkEBRg2WAQJAINQMQoCAgICAgICAgH9SDQBB1IkLQQA2AgBBmAQgBRCsAiHpDEHUiQsoAgAhiAZB1IkLQQA2AgAgiAZBAUYNlwEg6QxCf1INACADQQM2AqAcIANCADcDkBxB1IkLQQA2AgBBnAMgACADQZAcaiIEEAIaQdSJCygCACGJBkHUiQtBADYCACCJBkEBRwRAIAQQWRogBRBZGgydAQsQACEAIANBkBxqEFkaDJgBC0HUiQtBADYCAEGbBCADQfgbaiIEIAYgBRAIQdSJCygCACGKBkHUiQtBADYCACCKBkEBRg2WAUHUiQtBADYCAEGcAyAAIAQQAhpB1IkLKAIAIYsGQdSJC0EANgIAIIsGQQFHBEAgBBBZGiAFEFkaDJwBCxAAIQAgA0H4G2oQWRoMlwELQdSJC0EANgIAQZgEIAUQrAIh6gxB1IkLKAIAIYwGQdSJC0EANgIAIIwGQQFGDZUBIOoMUARAIAEoAgAoAgghjQZB1IkLQQA2AgAgjQYgAUHUwgUQA0HUiQsoAgAhjgZB1IkLQQA2AgAgjgZBAUYNlgELQdSJC0EANgIAQZwEIANB4BtqIgQgBiAFEAhB1IkLKAIAIY8GQdSJC0EANgIAII8GQQFGDZUBQdSJC0EANgIAQZwDIAAgBBACGkHUiQsoAgAhkAZB1IkLQQA2AgAgkAZBAUcEQCAEEFkaIAUQWRoMmwELEAAhACADQeAbahBZGgyWAQtB1IkLQQA2AgBBnQQgA0HIG2oiBCAGIAUQCEHUiQsoAgAhkQZB1IkLQQA2AgAgkQZBAUYNlAFB1IkLQQA2AgBBnAMgACAEEAIaQdSJCygCACGSBkHUiQtBADYCACCSBkEBRwRAIAQQWRogBRBZGgyaAQsQACEAIANByBtqEFkaDJUBC0HUiQtBADYCAEGeBCADQbAbaiIEIAYgBRAIQdSJCygCACGTBkHUiQtBADYCACCTBkEBRg2TAUHUiQtBADYCAEGcAyAAIAQQAhpB1IkLKAIAIZQGQdSJC0EANgIAIJQGQQFHBEAgBBBZGiAFEFkaDJkBCxAAIQAgA0GwG2oQWRoMlAELQdSJC0EANgIAQZ8EIANBmBtqIgQgBiAFEAhB1IkLKAIAIZUGQdSJC0EANgIAIJUGQQFGDZIBQdSJC0EANgIAQZwDIAAgBBACGkHUiQsoAgAhlgZB1IkLQQA2AgAglgZBAUcEQCAEEFkaIAUQWRoMmAELEAAhACADQZgbahBZGgyTAQtB1IkLQQA2AgBBoAQgA0GAG2oiBCAGIAUQCEHUiQsoAgAhlwZB1IkLQQA2AgAglwZBAUYNkQFB1IkLQQA2AgBBnAMgACAEEAIaQdSJCygCACGYBkHUiQtBADYCACCYBkEBRwRAIAQQWRogBRBZGgyXAQsQACEAIANBgBtqEFkaDJIBC0HUiQtBADYCAEGhBCADQegaaiIEIAYgBRAIQdSJCygCACGZBkHUiQtBADYCACCZBkEBRg2QAUHUiQtBADYCAEGcAyAAIAQQAhpB1IkLKAIAIZoGQdSJC0EANgIAIJoGQQFHBEAgBBBZGiAFEFkaDJYBCxAAIQAgA0HoGmoQWRoMkQELQdSJC0EANgIAQaIEIANB0BpqIgQgBiAFEAhB1IkLKAIAIZsGQdSJC0EANgIAIJsGQQFGDY8BQdSJC0EANgIAQZwDIAAgBBACGkHUiQsoAgAhnAZB1IkLQQA2AgAgnAZBAUcEQCAEEFkaIAUQWRoMlQELEAAhACADQdAaahBZGgyQAQtB1IkLQQA2AgBBowQgA0G4GmoiBCAGIAUQCEHUiQsoAgAhnQZB1IkLQQA2AgAgnQZBAUYNjgFB1IkLQQA2AgBBnAMgACAEEAIaQdSJCygCACGeBkHUiQtBADYCACCeBkEBRwRAIAQQWRogBRBZGgyUAQsQACEAIANBuBpqEFkaDI8BC0HUiQtBADYCAEGkBCADQaAaaiIEIAYgBRAIQdSJCygCACGfBkHUiQtBADYCACCfBkEBRg2NAUHUiQtBADYCAEGcAyAAIAQQAhpB1IkLKAIAIaAGQdSJC0EANgIAIKAGQQFHBEAgBBBZGiAFEFkaDJMBCxAAIQAgA0GgGmoQWRoMjgELQdSJC0EANgIAQaUEIANBiBpqIgQgBiAFEAhB1IkLKAIAIaEGQdSJC0EANgIAIKEGQQFGDYwBQdSJC0EANgIAQZwDIAAgBBACGkHUiQsoAgAhogZB1IkLQQA2AgAgogZBAUcEQCAEEFkaIAUQWRoMkgELEAAhACADQYgaahBZGgyNAQtB1IkLQQA2AgBBpgQgA0HwGWoiBCAGIAUQCEHUiQsoAgAhowZB1IkLQQA2AgAgowZBAUYNiwFB1IkLQQA2AgBBnAMgACAEEAIaQdSJCygCACGkBkHUiQtBADYCACCkBkEBRwRAIAQQWRogBRBZGgyRAQsQACEAIANB8BlqEFkaDIwBC0HUiQtBADYCAEGnBCADQdgZaiIEIAYgBRAIQdSJCygCACGlBkHUiQtBADYCACClBkEBRg2KAUHUiQtBADYCAEGcAyAAIAQQAhpB1IkLKAIAIaYGQdSJC0EANgIAIKYGQQFHBEAgBBBZGiAFEFkaDJABCxAAIQAgA0HYGWoQWRoMiwELQdSJC0EANgIAQagEIANBwBlqIgQgBiAFEAhB1IkLKAIAIacGQdSJC0EANgIAIKcGQQFGDYkBQdSJC0EANgIAQZwDIAAgBBACGkHUiQsoAgAhqAZB1IkLQQA2AgAgqAZBAUcEQCAEEFkaIAUQWRoMjwELEAAhACADQcAZahBZGgyKAQtB1IkLQQA2AgBBqQQgA0GoGWoiBCAGIAUQCEHUiQsoAgAhqQZB1IkLQQA2AgAgqQZBAUYNiAFB1IkLQQA2AgBBnAMgACAEEAIaQdSJCygCACGqBkHUiQtBADYCACCqBkEBRwRAIAQQWRogBRBZGgyOAQsQACEAIANBqBlqEFkaDIkBC0HUiQtBADYCAEGqBCADQZAZaiIEIAYgBRAIQdSJCygCACGrBkHUiQtBADYCACCrBkEBRg2HAUHUiQtBADYCAEGcAyAAIAQQAhpB1IkLKAIAIawGQdSJC0EANgIAIKwGQQFHBEAgBBBZGiAFEFkaDI0BCxAAIQAgA0GQGWoQWRoMiAELQdSJC0EANgIAQasEIANB+BhqIgQgBiAFEAhB1IkLKAIAIa0GQdSJC0EANgIAIK0GQQFGDYYBQdSJC0EANgIAQZwDIAAgBBACGkHUiQsoAgAhrgZB1IkLQQA2AgAgrgZBAUcEQCAEEFkaIAUQWRoMjAELEAAhACADQfgYahBZGgyHAQtB1IkLQQA2AgBBrAQgA0HgGGoiBCAGIAUQCEHUiQsoAgAhrwZB1IkLQQA2AgAgrwZBAUYNhQFB1IkLQQA2AgBBnAMgACAEEAIaQdSJCygCACGwBkHUiQtBADYCACCwBkEBRwRAIAQQWRogBRBZGgyLAQsQACEAIANB4BhqEFkaDIYBC0HUiQtBADYCAEGtBCADQcgYaiIEIAYgBRAIQdSJCygCACGxBkHUiQtBADYCACCxBkEBRg2EAUHUiQtBADYCAEGcAyAAIAQQAhpB1IkLKAIAIbIGQdSJC0EANgIAILIGQQFHBEAgBBBZGiAFEFkaDIoBCxAAIQAgA0HIGGoQWRoMhQELQdSJC0EANgIAQa4EIANBsBhqIgQgBiAFEAhB1IkLKAIAIbMGQdSJC0EANgIAILMGQQFGDYMBQdSJC0EANgIAQZwDIAAgBBACGkHUiQsoAgAhtAZB1IkLQQA2AgAgtAZBAUcEQCAEEFkaIAUQWRoMiQELEAAhACADQbAYahBZGgyEAQtB1IkLQQA2AgBBrwQgA0GYGGoiBCAGIAUQCEHUiQsoAgAhtQZB1IkLQQA2AgAgtQZBAUYNggFB1IkLQQA2AgBBnAMgACAEEAIaQdSJCygCACG2BkHUiQtBADYCACC2BkEBRwRAIAQQWRogBRBZGgyIAQsQACEAIANBmBhqEFkaDIMBC0HUiQtBADYCAEGwBCADQYAYaiIEIAYgBRAIQdSJCygCACG3BkHUiQtBADYCACC3BkEBRg2BAUHUiQtBADYCAEGcAyAAIAQQAhpB1IkLKAIAIbgGQdSJC0EANgIAILgGQQFHBEAgBBBZGiAFEFkaDIcBCxAAIQAgA0GAGGoQWRoMggELQdSJC0EANgIAQbEEIANB6BdqIgQgBiAFEAhB1IkLKAIAIbkGQdSJC0EANgIAILkGQQFGDYABQdSJC0EANgIAQZwDIAAgBBACGkHUiQsoAgAhugZB1IkLQQA2AgAgugZBAUcEQCAEEFkaIAUQWRoMhgELEAAhACADQegXahBZGgyBAQtB1IkLQQA2AgBBsgQgA0HQF2oiBCAGIAUQCEHUiQsoAgAhuwZB1IkLQQA2AgAguwZBAUYNf0HUiQtBADYCAEGcAyAAIAQQAhpB1IkLKAIAIbwGQdSJC0EANgIAILwGQQFHBEAgBBBZGiAFEFkaDIUBCxAAIQAgA0HQF2oQWRoMgAELQdSJC0EANgIAQbMEIANBuBdqIgQgBiAFEAhB1IkLKAIAIb0GQdSJC0EANgIAIL0GQQFGDX5B1IkLQQA2AgBBnAMgACAEEAIaQdSJCygCACG+BkHUiQtBADYCACC+BkEBRwRAIAQQWRogBRBZGgyEAQsQACEAIANBuBdqEFkaDH8LQdSJC0EANgIAQbQEIANBoBdqIgQgBiAFEAhB1IkLKAIAIb8GQdSJC0EANgIAIL8GQQFGDX1B1IkLQQA2AgBBnAMgACAEEAIaQdSJCygCACHABkHUiQtBADYCACDABkEBRwRAIAQQWRogBRBZGgyDAQsQACEAIANBoBdqEFkaDH4LQdSJC0EANgIAQbUEIANBiBdqIgQgBiAFEAhB1IkLKAIAIcEGQdSJC0EANgIAIMEGQQFGDXxB1IkLQQA2AgBBnAMgACAEEAIaQdSJCygCACHCBkHUiQtBADYCACDCBkEBRwRAIAQQWRogBRBZGgyCAQsQACEAIANBiBdqEFkaDH0LQdSJC0EANgIAQbYEIANB8BZqIgQgBiAFEAhB1IkLKAIAIcMGQdSJC0EANgIAIMMGQQFGDXtB1IkLQQA2AgBBnAMgACAEEAIaQdSJCygCACHEBkHUiQtBADYCACDEBkEBRwRAIAQQWRogBRBZGgyBAQsQACEAIANB8BZqEFkaDHwLQdSJC0EANgIAQbcEIANB2BZqIgQgBiAFEAhB1IkLKAIAIcUGQdSJC0EANgIAIMUGQQFGDXpB1IkLQQA2AgBBnAMgACAEEAIaQdSJCygCACHGBkHUiQtBADYCACDGBkEBRwRAIAQQWRogBRBZGgyAAQsQACEAIANB2BZqEFkaDHsLQdSJC0EANgIAQbgEIANBwBZqIgQgBiAFEAhB1IkLKAIAIccGQdSJC0EANgIAIMcGQQFGDXlB1IkLQQA2AgBBnAMgACAEEAIaQdSJCygCACHIBkHUiQtBADYCACDIBkEBRwRAIAQQWRogBRBZGgx/CxAAIQAgA0HAFmoQWRoMegtB1IkLQQA2AgBBuQQgA0GoFmoiBCAGIAUQCEHUiQsoAgAhyQZB1IkLQQA2AgAgyQZBAUYNeEHUiQtBADYCAEGcAyAAIAQQAhpB1IkLKAIAIcoGQdSJC0EANgIAIMoGQQFHBEAgBBBZGiAFEFkaDH4LEAAhACADQagWahBZGgx5C0HUiQtBADYCAEG6BCADQZAWaiIEIAYgBRAIQdSJCygCACHLBkHUiQtBADYCACDLBkEBRg13QdSJC0EANgIAQZwDIAAgBBACGkHUiQsoAgAhzAZB1IkLQQA2AgAgzAZBAUcEQCAEEFkaIAUQWRoMfQsQACEAIANBkBZqEFkaDHgLQdSJC0EANgIAQbsEIANB+BVqIgQgBiAFEAhB1IkLKAIAIc0GQdSJC0EANgIAIM0GQQFGDXZB1IkLQQA2AgBBnAMgACAEEAIaQdSJCygCACHOBkHUiQtBADYCACDOBkEBRwRAIAQQWRogBRBZGgx8CxAAIQAgA0H4FWoQWRoMdwtB1IkLQQA2AgBBvAQgA0HgFWoiBCAGIAUQCEHUiQsoAgAhzwZB1IkLQQA2AgAgzwZBAUYNdUHUiQtBADYCAEGcAyAAIAQQAhpB1IkLKAIAIdAGQdSJC0EANgIAINAGQQFHBEAgBBBZGiAFEFkaDHsLEAAhACADQeAVahBZGgx2C0HUiQtBADYCAEG9BCADQcgVaiIEIAYgBRAIQdSJCygCACHRBkHUiQtBADYCACDRBkEBRg10QdSJC0EANgIAQZwDIAAgBBACGkHUiQsoAgAh0gZB1IkLQQA2AgAg0gZBAUcEQCAEEFkaIAUQWRoMegsQACEAIANByBVqEFkaDHULQdSJC0EANgIAQb4EIANBsBVqIgQgBiAFEAhB1IkLKAIAIdMGQdSJC0EANgIAINMGQQFGDXNB1IkLQQA2AgBBnAMgACAEEAIaQdSJCygCACHUBkHUiQtBADYCACDUBkEBRwRAIAQQWRogBRBZGgx5CxAAIQAgA0GwFWoQWRoMdAtB1IkLQQA2AgBBvwQgA0GYFWoiBCAGIAUQCEHUiQsoAgAh1QZB1IkLQQA2AgAg1QZBAUYNckHUiQtBADYCAEGcAyAAIAQQAhpB1IkLKAIAIdYGQdSJC0EANgIAINYGQQFHBEAgBBBZGiAFEFkaDHgLEAAhACADQZgVahBZGgxzC0HUiQtBADYCAEHABCADQYAVaiIEIAYgBRAIQdSJCygCACHXBkHUiQtBADYCACDXBkEBRg1xQdSJC0EANgIAQZwDIAAgBBACGkHUiQsoAgAh2AZB1IkLQQA2AgAg2AZBAUcEQCAEEFkaIAUQWRoMdwsQACEAIANBgBVqEFkaDHILQdSJC0EANgIAQcEEIANB6BRqIgQgBiAFEAhB1IkLKAIAIdkGQdSJC0EANgIAINkGQQFGDXBB1IkLQQA2AgBBnAMgACAEEAIaQdSJCygCACHaBkHUiQtBADYCACDaBkEBRwRAIAQQWRogBRBZGgx2CxAAIQAgA0HoFGoQWRoMcQtB1IkLQQA2AgBBwgQgA0HQFGoiBCAGIAUQCEHUiQsoAgAh2wZB1IkLQQA2AgAg2wZBAUYNb0HUiQtBADYCAEGcAyAAIAQQAhpB1IkLKAIAIdwGQdSJC0EANgIAINwGQQFHBEAgBBBZGiAFEFkaDHULEAAhACADQdAUahBZGgxwC0HUiQtBADYCAEHDBCADQbgUaiIEIAYgBRAIQdSJCygCACHdBkHUiQtBADYCACDdBkEBRg1uQdSJC0EANgIAQZwDIAAgBBACGkHUiQsoAgAh3gZB1IkLQQA2AgAg3gZBAUcEQCAEEFkaIAUQWRoMdAsQACEAIANBuBRqEFkaDG8LQdSJC0EANgIAQcQEIANBoBRqIgQgBiAFEAhB1IkLKAIAId8GQdSJC0EANgIAIN8GQQFGDW1B1IkLQQA2AgBBnAMgACAEEAIaQdSJCygCACHgBkHUiQtBADYCACDgBkEBRwRAIAQQWRogBRBZGgxzCxAAIQAgA0GgFGoQWRoMbgtB1IkLQQA2AgBBxQQgA0GIFGoiBCAGIAUQCEHUiQsoAgAh4QZB1IkLQQA2AgAg4QZBAUYNbEHUiQtBADYCAEGcAyAAIAQQAhpB1IkLKAIAIeIGQdSJC0EANgIAIOIGQQFHBEAgBBBZGiAFEFkaDHILEAAhACADQYgUahBZGgxtC0HUiQtBADYCAEHGBCADQfATaiIEIAYgBRAIQdSJCygCACHjBkHUiQtBADYCACDjBkEBRg1rQdSJC0EANgIAQZwDIAAgBBACGkHUiQsoAgAh5AZB1IkLQQA2AgAg5AZBAUcEQCAEEFkaIAUQWRoMcQsQACEAIANB8BNqEFkaDGwLQdSJC0EANgIAQccEIANB2BNqIgQgBiAFEAhB1IkLKAIAIeUGQdSJC0EANgIAIOUGQQFGDWpB1IkLQQA2AgBBnAMgACAEEAIaQdSJCygCACHmBkHUiQtBADYCACDmBkEBRwRAIAQQWRogBRBZGgxwCxAAIQAgA0HYE2oQWRoMawtB1IkLQQA2AgBByAQgA0HAE2oiBCAGIAUQCEHUiQsoAgAh5wZB1IkLQQA2AgAg5wZBAUYNaUHUiQtBADYCAEGcAyAAIAQQAhpB1IkLKAIAIegGQdSJC0EANgIAIOgGQQFHBEAgBBBZGiAFEFkaDG8LEAAhACADQcATahBZGgxqC0HUiQtBADYCAEHJBCADQagTaiIEIAYgBRAIQdSJCygCACHpBkHUiQtBADYCACDpBkEBRg1oQdSJC0EANgIAQZwDIAAgBBACGkHUiQsoAgAh6gZB1IkLQQA2AgAg6gZBAUcEQCAEEFkaIAUQWRoMbgsQACEAIANBqBNqEFkaDGkLQdSJC0EANgIAQcoEIANBkBNqIgQgBiAFEAhB1IkLKAIAIesGQdSJC0EANgIAIOsGQQFGDWdB1IkLQQA2AgBBnAMgACAEEAIaQdSJCygCACHsBkHUiQtBADYCACDsBkEBRwRAIAQQWRogBRBZGgxtCxAAIQAgA0GQE2oQWRoMaAtB1IkLQQA2AgBBywQgA0H4EmoiBCAGIAUQCEHUiQsoAgAh7QZB1IkLQQA2AgAg7QZBAUYNZkHUiQtBADYCAEGcAyAAIAQQAhpB1IkLKAIAIe4GQdSJC0EANgIAIO4GQQFHBEAgBBBZGiAFEFkaDGwLEAAhACADQfgSahBZGgxnC0HUiQtBADYCAEHMBCADQeASaiIEIAYgBRAIQdSJCygCACHvBkHUiQtBADYCACDvBkEBRg1lQdSJC0EANgIAQZwDIAAgBBACGkHUiQsoAgAh8AZB1IkLQQA2AgAg8AZBAUcEQCAEEFkaIAUQWRoMawsQACEAIANB4BJqEFkaDGYLQdSJC0EANgIAQc0EIANByBJqIgQgBiAFEAhB1IkLKAIAIfEGQdSJC0EANgIAIPEGQQFGDWRB1IkLQQA2AgBBnAMgACAEEAIaQdSJCygCACHyBkHUiQtBADYCACDyBkEBRwRAIAQQWRogBRBZGgxqCxAAIQAgA0HIEmoQWRoMZQtB1IkLQQA2AgBBzgQgA0GwEmoiBCAGIAUQCEHUiQsoAgAh8wZB1IkLQQA2AgAg8wZBAUYNY0HUiQtBADYCAEGcAyAAIAQQAhpB1IkLKAIAIfQGQdSJC0EANgIAIPQGQQFHBEAgBBBZGiAFEFkaDGkLEAAhACADQbASahBZGgxkC0HUiQtBADYCAEHPBCADQZgSaiIEIAYgBRAIQdSJCygCACH1BkHUiQtBADYCACD1BkEBRg1iQdSJC0EANgIAQZwDIAAgBBACGkHUiQsoAgAh9gZB1IkLQQA2AgAg9gZBAUcEQCAEEFkaIAUQWRoMaAsQACEAIANBmBJqEFkaDGMLQdSJC0EANgIAQdAEIANBgBJqIgQgBiAFEAhB1IkLKAIAIfcGQdSJC0EANgIAIPcGQQFGDWFB1IkLQQA2AgBBnAMgACAEEAIaQdSJCygCACH4BkHUiQtBADYCACD4BkEBRwRAIAQQWRogBRBZGgxnCxAAIQAgA0GAEmoQWRoMYgtB1IkLQQA2AgBB0QQgA0HoEWoiBCAGIAUQCEHUiQsoAgAh+QZB1IkLQQA2AgAg+QZBAUYNYEHUiQtBADYCAEGcAyAAIAQQAhpB1IkLKAIAIfoGQdSJC0EANgIAIPoGQQFHBEAgBBBZGiAFEFkaDGYLEAAhACADQegRahBZGgxhC0HUiQtBADYCAEHSBCADQdARaiIEIAYgBRAIQdSJCygCACH7BkHUiQtBADYCACD7BkEBRg1fQdSJC0EANgIAQZwDIAAgBBACGkHUiQsoAgAh/AZB1IkLQQA2AgAg/AZBAUcEQCAEEFkaIAUQWRoMZQsQACEAIANB0BFqEFkaDGALQdSJC0EANgIAQdMEIANBuBFqIgQgBiAFEAhB1IkLKAIAIf0GQdSJC0EANgIAIP0GQQFGDV5B1IkLQQA2AgBBnAMgACAEEAIaQdSJCygCACH+BkHUiQtBADYCACD+BkEBRwRAIAQQWRogBRBZGgxkCxAAIQAgA0G4EWoQWRoMXwtB1IkLQQA2AgBB1AQgA0GgEWoiBCAGIAUQCEHUiQsoAgAh/wZB1IkLQQA2AgAg/wZBAUYNXUHUiQtBADYCAEGcAyAAIAQQAhpB1IkLKAIAIYAHQdSJC0EANgIAIIAHQQFHBEAgBBBZGiAFEFkaDGMLEAAhACADQaARahBZGgxeC0HUiQtBADYCAEHVBCADQYgRaiIEIAYgBRAIQdSJCygCACGBB0HUiQtBADYCACCBB0EBRg1cQdSJC0EANgIAQZwDIAAgBBACGkHUiQsoAgAhggdB1IkLQQA2AgAgggdBAUcEQCAEEFkaIAUQWRoMYgsQACEAIANBiBFqEFkaDF0LQdSJC0EANgIAQdYEIANB8BBqIgQgBiAFEAhB1IkLKAIAIYMHQdSJC0EANgIAIIMHQQFGDVtB1IkLQQA2AgBBnAMgACAEEAIaQdSJCygCACGEB0HUiQtBADYCACCEB0EBRwRAIAQQWRogBRBZGgxhCxAAIQAgA0HwEGoQWRoMXAtB1IkLQQA2AgBB1wQgA0HYEGoiBCAGIAUQCEHUiQsoAgAhhQdB1IkLQQA2AgAghQdBAUYNWkHUiQtBADYCAEGcAyAAIAQQAhpB1IkLKAIAIYYHQdSJC0EANgIAIIYHQQFHBEAgBBBZGiAFEFkaDGALEAAhACADQdgQahBZGgxbC0HUiQtBADYCAEHYBCADQcAQaiIEIAYgBRAIQdSJCygCACGHB0HUiQtBADYCACCHB0EBRg1ZQdSJC0EANgIAQZwDIAAgBBACGkHUiQsoAgAhiAdB1IkLQQA2AgAgiAdBAUcEQCAEEFkaIAUQWRoMXwsQACEAIANBwBBqEFkaDFoLQdSJC0EANgIAQdkEIANBqBBqIgQgBiAFEAhB1IkLKAIAIYkHQdSJC0EANgIAIIkHQQFGDVhB1IkLQQA2AgBBnAMgACAEEAIaQdSJCygCACGKB0HUiQtBADYCACCKB0EBRwRAIAQQWRogBRBZGgxeCxAAIQAgA0GoEGoQWRoMWQtB1IkLQQA2AgBB2gQgA0GQEGoiBCAGIAUQCEHUiQsoAgAhiwdB1IkLQQA2AgAgiwdBAUYNV0HUiQtBADYCAEGcAyAAIAQQAhpB1IkLKAIAIYwHQdSJC0EANgIAIIwHQQFHBEAgBBBZGiAFEFkaDF0LEAAhACADQZAQahBZGgxYC0HUiQtBADYCAEHbBCADQfgPaiIEIAYgBRAIQdSJCygCACGNB0HUiQtBADYCACCNB0EBRg1WQdSJC0EANgIAQZwDIAAgBBACGkHUiQsoAgAhjgdB1IkLQQA2AgAgjgdBAUcEQCAEEFkaIAUQWRoMXAsQACEAIANB+A9qEFkaDFcLQdSJC0EANgIAQdwEIANB4A9qIgQgBiAFEAhB1IkLKAIAIY8HQdSJC0EANgIAII8HQQFGDVVB1IkLQQA2AgBBnAMgACAEEAIaQdSJCygCACGQB0HUiQtBADYCACCQB0EBRwRAIAQQWRogBRBZGgxbCxAAIQAgA0HgD2oQWRoMVgtB1IkLQQA2AgBB3QQgA0HID2oiBCAGIAUQCEHUiQsoAgAhkQdB1IkLQQA2AgAgkQdBAUYNVEHUiQtBADYCAEGcAyAAIAQQAhpB1IkLKAIAIZIHQdSJC0EANgIAIJIHQQFHBEAgBBBZGiAFEFkaDFoLEAAhACADQcgPahBZGgxVC0HUiQtBADYCAEHeBCADQbAPaiIEIAYgBRAIQdSJCygCACGTB0HUiQtBADYCACCTB0EBRg1TQdSJC0EANgIAQZwDIAAgBBACGkHUiQsoAgAhlAdB1IkLQQA2AgAglAdBAUcEQCAEEFkaIAUQWRoMWQsQACEAIANBsA9qEFkaDFQLQdSJC0EANgIAQd8EIANBmA9qIgQgBiAFEAhB1IkLKAIAIZUHQdSJC0EANgIAIJUHQQFGDVJB1IkLQQA2AgBBnAMgACAEEAIaQdSJCygCACGWB0HUiQtBADYCACCWB0EBRwRAIAQQWRogBRBZGgxYCxAAIQAgA0GYD2oQWRoMUwtB1IkLQQA2AgBB4AQgA0GAD2oiBCAGIAUQCEHUiQsoAgAhlwdB1IkLQQA2AgAglwdBAUYNUUHUiQtBADYCAEGcAyAAIAQQAhpB1IkLKAIAIZgHQdSJC0EANgIAIJgHQQFHBEAgBBBZGiAFEFkaDFcLEAAhACADQYAPahBZGgxSC0HUiQtBADYCAEHhBCADQegOaiIEIAYgBRAIQdSJCygCACGZB0HUiQtBADYCACCZB0EBRg1QQdSJC0EANgIAQZwDIAAgBBACGkHUiQsoAgAhmgdB1IkLQQA2AgAgmgdBAUcEQCAEEFkaIAUQWRoMVgsQACEAIANB6A5qEFkaDFELQdSJC0EANgIAQeIEIANB0A5qIgQgBiAFEAhB1IkLKAIAIZsHQdSJC0EANgIAIJsHQQFGDU9B1IkLQQA2AgBBnAMgACAEEAIaQdSJCygCACGcB0HUiQtBADYCACCcB0EBRwRAIAQQWRogBRBZGgxVCxAAIQAgA0HQDmoQWRoMUAtB1IkLQQA2AgBB4wQgA0G4DmoiBCAGIAUQCEHUiQsoAgAhnQdB1IkLQQA2AgAgnQdBAUYNTkHUiQtBADYCAEGcAyAAIAQQAhpB1IkLKAIAIZ4HQdSJC0EANgIAIJ4HQQFHBEAgBBBZGiAFEFkaDFQLEAAhACADQbgOahBZGgxPC0HUiQtBADYCAEHkBCADQaAOaiIEIAYgBRAIQdSJCygCACGfB0HUiQtBADYCACCfB0EBRg1NQdSJC0EANgIAQZwDIAAgBBACGkHUiQsoAgAhoAdB1IkLQQA2AgAgoAdBAUcEQCAEEFkaIAUQWRoMUwsQACEAIANBoA5qEFkaDE4LQdSJC0EANgIAQeUEIANBiA5qIgQgBiAFEAhB1IkLKAIAIaEHQdSJC0EANgIAIKEHQQFGDUxB1IkLQQA2AgBBnAMgACAEEAIaQdSJCygCACGiB0HUiQtBADYCACCiB0EBRwRAIAQQWRogBRBZGgxSCxAAIQAgA0GIDmoQWRoMTQtB1IkLQQA2AgBB5gQgA0HwDWoiBCAGIAUQCEHUiQsoAgAhowdB1IkLQQA2AgAgowdBAUYNS0HUiQtBADYCAEGcAyAAIAQQAhpB1IkLKAIAIaQHQdSJC0EANgIAIKQHQQFHBEAgBBBZGiAFEFkaDFELEAAhACADQfANahBZGgxMC0HUiQtBADYCAEHnBCADQdgNaiIEIAYgBRAIQdSJCygCACGlB0HUiQtBADYCACClB0EBRg1KQdSJC0EANgIAQZwDIAAgBBACGkHUiQsoAgAhpgdB1IkLQQA2AgAgpgdBAUcEQCAEEFkaIAUQWRoMUAsQACEAIANB2A1qEFkaDEsLQdSJC0EANgIAQegEIANBwA1qIgQgBiAFEAhB1IkLKAIAIacHQdSJC0EANgIAIKcHQQFGDUlB1IkLQQA2AgBBnAMgACAEEAIaQdSJCygCACGoB0HUiQtBADYCACCoB0EBRwRAIAQQWRogBRBZGgxPCxAAIQAgA0HADWoQWRoMSgtB1IkLQQA2AgBB6QQgA0GoDWoiBCAGIAUQCEHUiQsoAgAhqQdB1IkLQQA2AgAgqQdBAUYNSEHUiQtBADYCAEGcAyAAIAQQAhpB1IkLKAIAIaoHQdSJC0EANgIAIKoHQQFHBEAgBBBZGiAFEFkaDE4LEAAhACADQagNahBZGgxJC0HUiQtBADYCAEHaAyADQfgMaiIEIAUQA0HUiQsoAgAhB0HUiQtBADYCAAJAAkACQCAHQQFHBEBB1IkLQQA2AgBB5wQgA0GQDWoiByAGIAQQCEHUiQsoAgAhqwdB1IkLQQA2AgAgqwdBAUYNAUHUiQtBADYCAEGcAyAAIAcQAhpB1IkLKAIAIawHQdSJC0EANgIAIKwHQQFGDQIgBxBZGiAEEFkaIAUQWRoMUAsQACEADEsLEAAhAAwBCxAAIQAgA0GQDWoQWRoLIANB+AxqEFkaDEgLQdSJC0EANgIAQeoEIANB4AxqIgQgBiAFEAhB1IkLKAIAIa0HQdSJC0EANgIAIK0HQQFGDUZB1IkLQQA2AgBBnAMgACAEEAIaQdSJCygCACGuB0HUiQtBADYCACCuB0EBRwRAIAQQWRogBRBZGgxMCxAAIQAgA0HgDGoQWRoMRwtB1IkLQQA2AgBB6wQgA0HIDGoiBCAGIAUQCEHUiQsoAgAhrwdB1IkLQQA2AgAgrwdBAUYNRUHUiQtBADYCAEGcAyAAIAQQAhpB1IkLKAIAIbAHQdSJC0EANgIAILAHQQFHBEAgBBBZGiAFEFkaDEsLEAAhACADQcgMahBZGgxGC0HUiQtBADYCAEHsBCADQbAMaiIEIAYgBRAIQdSJCygCACGxB0HUiQtBADYCACCxB0EBRg1EQdSJC0EANgIAQZwDIAAgBBACGkHUiQsoAgAhsgdB1IkLQQA2AgAgsgdBAUcEQCAEEFkaIAUQWRoMSgsQACEAIANBsAxqEFkaDEULQdSJC0EANgIAQe0EIANBmAxqIgQgBiAFEAhB1IkLKAIAIbMHQdSJC0EANgIAILMHQQFGDUNB1IkLQQA2AgBBnAMgACAEEAIaQdSJCygCACG0B0HUiQtBADYCACC0B0EBRwRAIAQQWRogBRBZGgxJCxAAIQAgA0GYDGoQWRoMRAtB1IkLQQA2AgBB7gQgA0GADGoiBCAGIAUQCEHUiQsoAgAhtQdB1IkLQQA2AgAgtQdBAUYNQkHUiQtBADYCAEGcAyAAIAQQAhpB1IkLKAIAIbYHQdSJC0EANgIAILYHQQFHBEAgBBBZGiAFEFkaDEgLEAAhACADQYAMahBZGgxDC0HUiQtBADYCAEHvBCADQegLaiIEIAYgBRAIQdSJCygCACG3B0HUiQtBADYCACC3B0EBRg1BQdSJC0EANgIAQZwDIAAgBBACGkHUiQsoAgAhuAdB1IkLQQA2AgAguAdBAUcEQCAEEFkaIAUQWRoMRwsQACEAIANB6AtqEFkaDEILQdSJC0EANgIAQfAEIANB0AtqIgQgBiAFEAhB1IkLKAIAIbkHQdSJC0EANgIAILkHQQFGDUBB1IkLQQA2AgBBnAMgACAEEAIaQdSJCygCACG6B0HUiQtBADYCACC6B0EBRwRAIAQQWRogBRBZGgxGCxAAIQAgA0HQC2oQWRoMQQtB1IkLQQA2AgBB8QQgA0G4C2oiBCAGIAUQCEHUiQsoAgAhuwdB1IkLQQA2AgAguwdBAUYNP0HUiQtBADYCAEGcAyAAIAQQAhpB1IkLKAIAIbwHQdSJC0EANgIAILwHQQFHBEAgBBBZGiAFEFkaDEULEAAhACADQbgLahBZGgxAC0HUiQtBADYCAEHyBCADQaALaiIEIAYgBRAIQdSJCygCACG9B0HUiQtBADYCACC9B0EBRg0+QdSJC0EANgIAQZwDIAAgBBACGkHUiQsoAgAhvgdB1IkLQQA2AgAgvgdBAUcEQCAEEFkaIAUQWRoMRAsQACEAIANBoAtqEFkaDD8LQdSJC0EANgIAQfMEIANBiAtqIgQgBiAFEAhB1IkLKAIAIb8HQdSJC0EANgIAIL8HQQFGDT1B1IkLQQA2AgBBnAMgACAEEAIaQdSJCygCACHAB0HUiQtBADYCACDAB0EBRwRAIAQQWRogBRBZGgxDCxAAIQAgA0GIC2oQWRoMPgtB1IkLQQA2AgBB9AQgA0HwCmoiBCAGIAUQCEHUiQsoAgAhwQdB1IkLQQA2AgAgwQdBAUYNPEHUiQtBADYCAEGcAyAAIAQQAhpB1IkLKAIAIcIHQdSJC0EANgIAIMIHQQFHBEAgBBBZGiAFEFkaDEILEAAhACADQfAKahBZGgw9C0HUiQtBADYCAEH1BCADQdgKaiIEIAYgBRAIQdSJCygCACHDB0HUiQtBADYCACDDB0EBRg07QdSJC0EANgIAQZwDIAAgBBACGkHUiQsoAgAhxAdB1IkLQQA2AgAgxAdBAUcEQCAEEFkaIAUQWRoMQQsQACEAIANB2ApqEFkaDDwLQdSJC0EANgIAQfYEIANBwApqIgQgBiAFEAhB1IkLKAIAIcUHQdSJC0EANgIAIMUHQQFGDTpB1IkLQQA2AgBBnAMgACAEEAIaQdSJCygCACHGB0HUiQtBADYCACDGB0EBRwRAIAQQWRogBRBZGgxACxAAIQAgA0HACmoQWRoMOwtB1IkLQQA2AgBB9wQgA0GoCmoiBCAGIAUQCEHUiQsoAgAhxwdB1IkLQQA2AgAgxwdBAUYNOUHUiQtBADYCAEGcAyAAIAQQAhpB1IkLKAIAIcgHQdSJC0EANgIAIMgHQQFHBEAgBBBZGiAFEFkaDD8LEAAhACADQagKahBZGgw6C0HUiQtBADYCAEH4BCADQZAKaiIEIAYgBRAIQdSJCygCACHJB0HUiQtBADYCACDJB0EBRg04QdSJC0EANgIAQZwDIAAgBBACGkHUiQsoAgAhygdB1IkLQQA2AgAgygdBAUcEQCAEEFkaIAUQWRoMPgsQACEAIANBkApqEFkaDDkLQdSJC0EANgIAQfkEIANB+AlqIgQgBiAFEAhB1IkLKAIAIcsHQdSJC0EANgIAIMsHQQFGDTdB1IkLQQA2AgBBnAMgACAEEAIaQdSJCygCACHMB0HUiQtBADYCACDMB0EBRwRAIAQQWRogBRBZGgw9CxAAIQAgA0H4CWoQWRoMOAtB1IkLQQA2AgBB+gQgA0HgCWoiBCAGIAUQCEHUiQsoAgAhzQdB1IkLQQA2AgAgzQdBAUYNNkHUiQtBADYCAEGcAyAAIAQQAhpB1IkLKAIAIc4HQdSJC0EANgIAIM4HQQFHBEAgBBBZGiAFEFkaDDwLEAAhACADQeAJahBZGgw3C0HUiQtBADYCAEH7BCADQcgJaiIEIAYgBRAIQdSJCygCACHPB0HUiQtBADYCACDPB0EBRg01QdSJC0EANgIAQZwDIAAgBBACGkHUiQsoAgAh0AdB1IkLQQA2AgAg0AdBAUcEQCAEEFkaIAUQWRoMOwsQACEAIANByAlqEFkaDDYLQdSJC0EANgIAQfwEIANBsAlqIgQgBiAFEAhB1IkLKAIAIdEHQdSJC0EANgIAINEHQQFGDTRB1IkLQQA2AgBBnAMgACAEEAIaQdSJCygCACHSB0HUiQtBADYCACDSB0EBRwRAIAQQWRogBRBZGgw6CxAAIQAgA0GwCWoQWRoMNQtB1IkLQQA2AgBB/QQgA0GYCWoiBCAGIAUQCEHUiQsoAgAh0wdB1IkLQQA2AgAg0wdBAUYNM0HUiQtBADYCAEGcAyAAIAQQAhpB1IkLKAIAIdQHQdSJC0EANgIAINQHQQFHBEAgBBBZGiAFEFkaDDkLEAAhACADQZgJahBZGgw0C0HUiQtBADYCAEH+BCADQYAJaiIEIAYgBRAIQdSJCygCACHVB0HUiQtBADYCACDVB0EBRg0yQdSJC0EANgIAQZwDIAAgBBACGkHUiQsoAgAh1gdB1IkLQQA2AgAg1gdBAUcEQCAEEFkaIAUQWRoMOAsQACEAIANBgAlqEFkaDDMLQdSJC0EANgIAQf8EIANB6AhqIgQgBiAFEAhB1IkLKAIAIdcHQdSJC0EANgIAINcHQQFGDTFB1IkLQQA2AgBBnAMgACAEEAIaQdSJCygCACHYB0HUiQtBADYCACDYB0EBRwRAIAQQWRogBRBZGgw3CxAAIQAgA0HoCGoQWRoMMgtB1IkLQQA2AgBBgAUgA0HQCGoiBCAGIAUQCEHUiQsoAgAh2QdB1IkLQQA2AgAg2QdBAUYNMEHUiQtBADYCAEGcAyAAIAQQAhpB1IkLKAIAIdoHQdSJC0EANgIAINoHQQFHBEAgBBBZGiAFEFkaDDYLEAAhACADQdAIahBZGgwxC0HUiQtBADYCAEGBBSADQbgIaiIEIAYgBRAIQdSJCygCACHbB0HUiQtBADYCACDbB0EBRg0vQdSJC0EANgIAQZwDIAAgBBACGkHUiQsoAgAh3AdB1IkLQQA2AgAg3AdBAUcEQCAEEFkaIAUQWRoMNQsQACEAIANBuAhqEFkaDDALQdSJC0EANgIAQYIFIANBoAhqIgQgBiAFEAhB1IkLKAIAId0HQdSJC0EANgIAIN0HQQFGDS5B1IkLQQA2AgBBnAMgACAEEAIaQdSJCygCACHeB0HUiQtBADYCACDeB0EBRwRAIAQQWRogBRBZGgw0CxAAIQAgA0GgCGoQWRoMLwtB1IkLQQA2AgBBgwUgA0GICGoiBCAGIAUQCEHUiQsoAgAh3wdB1IkLQQA2AgAg3wdBAUYNLUHUiQtBADYCAEGcAyAAIAQQAhpB1IkLKAIAIeAHQdSJC0EANgIAIOAHQQFHBEAgBBBZGiAFEFkaDDMLEAAhACADQYgIahBZGgwuC0HUiQtBADYCAEGEBSADQfAHaiIEIAYgBRAIQdSJCygCACHhB0HUiQtBADYCACDhB0EBRg0sQdSJC0EANgIAQZwDIAAgBBACGkHUiQsoAgAh4gdB1IkLQQA2AgAg4gdBAUcEQCAEEFkaIAUQWRoMMgsQACEAIANB8AdqEFkaDC0LQdSJC0EANgIAQYUFIANB2AdqIgQgBiAFEAhB1IkLKAIAIeMHQdSJC0EANgIAIOMHQQFGDStB1IkLQQA2AgBBnAMgACAEEAIaQdSJCygCACHkB0HUiQtBADYCACDkB0EBRwRAIAQQWRogBRBZGgwxCxAAIQAgA0HYB2oQWRoMLAtB1IkLQQA2AgBBhgUgA0HAB2oiBCAGIAUQCEHUiQsoAgAh5QdB1IkLQQA2AgAg5QdBAUYNKkHUiQtBADYCAEGcAyAAIAQQAhpB1IkLKAIAIeYHQdSJC0EANgIAIOYHQQFHBEAgBBBZGiAFEFkaDDALEAAhACADQcAHahBZGgwrC0HUiQtBADYCAEGHBSADQagHaiIEIAYgBRAIQdSJCygCACHnB0HUiQtBADYCACDnB0EBRg0pQdSJC0EANgIAQZwDIAAgBBACGkHUiQsoAgAh6AdB1IkLQQA2AgAg6AdBAUcEQCAEEFkaIAUQWRoMLwsQACEAIANBqAdqEFkaDCoLQdSJC0EANgIAQYgFIANBkAdqIgQgBiAFEAhB1IkLKAIAIekHQdSJC0EANgIAIOkHQQFGDShB1IkLQQA2AgBBnAMgACAEEAIaQdSJCygCACHqB0HUiQtBADYCACDqB0EBRwRAIAQQWRogBRBZGgwuCxAAIQAgA0GQB2oQWRoMKQtB1IkLQQA2AgBBiQUgA0H4BmoiBCAGIAUQCEHUiQsoAgAh6wdB1IkLQQA2AgAg6wdBAUYNJ0HUiQtBADYCAEGcAyAAIAQQAhpB1IkLKAIAIewHQdSJC0EANgIAIOwHQQFHBEAgBBBZGiAFEFkaDC0LEAAhACADQfgGahBZGgwoC0HUiQtBADYCAEGKBSADQeAGaiIEIAYgBRAIQdSJCygCACHtB0HUiQtBADYCACDtB0EBRg0mQdSJC0EANgIAQZwDIAAgBBACGkHUiQsoAgAh7gdB1IkLQQA2AgAg7gdBAUcEQCAEEFkaIAUQWRoMLAsQACEAIANB4AZqEFkaDCcLQdSJC0EANgIAQYsFIANByAZqIgQgBiAFEAhB1IkLKAIAIe8HQdSJC0EANgIAIO8HQQFGDSVB1IkLQQA2AgBBnAMgACAEEAIaQdSJCygCACHwB0HUiQtBADYCACDwB0EBRwRAIAQQWRogBRBZGgwrCxAAIQAgA0HIBmoQWRoMJgtB1IkLQQA2AgBBjAUgA0GwBmoiBCAGIAUQCEHUiQsoAgAh8QdB1IkLQQA2AgAg8QdBAUYNJEHUiQtBADYCAEGcAyAAIAQQAhpB1IkLKAIAIfIHQdSJC0EANgIAIPIHQQFHBEAgBBBZGiAFEFkaDCoLEAAhACADQbAGahBZGgwlC0HUiQtBADYCAEGNBSADQZgGaiIEIAYgBRAIQdSJCygCACHzB0HUiQtBADYCACDzB0EBRg0jQdSJC0EANgIAQZwDIAAgBBACGkHUiQsoAgAh9AdB1IkLQQA2AgAg9AdBAUcEQCAEEFkaIAUQWRoMKQsQACEAIANBmAZqEFkaDCQLQdSJC0EANgIAQY4FIANBgAZqIgQgBiAFEAhB1IkLKAIAIfUHQdSJC0EANgIAIPUHQQFGDSJB1IkLQQA2AgBBnAMgACAEEAIaQdSJCygCACH2B0HUiQtBADYCACD2B0EBRwRAIAQQWRogBRBZGgwoCxAAIQAgA0GABmoQWRoMIwtB1IkLQQA2AgBBjwUgA0HoBWoiBCAGIAUQCEHUiQsoAgAh9wdB1IkLQQA2AgAg9wdBAUYNIUHUiQtBADYCAEGcAyAAIAQQAhpB1IkLKAIAIfgHQdSJC0EANgIAIPgHQQFHBEAgBBBZGiAFEFkaDCcLEAAhACADQegFahBZGgwiC0HUiQtBADYCAEGQBSADQdAFaiIEIAYgBRAIQdSJCygCACH5B0HUiQtBADYCACD5B0EBRg0gQdSJC0EANgIAQZwDIAAgBBACGkHUiQsoAgAh+gdB1IkLQQA2AgAg+gdBAUcEQCAEEFkaIAUQWRoMJgsQACEAIANB0AVqEFkaDCELQdSJC0EANgIAQZEFIANBuAVqIgQgBiAFEAhB1IkLKAIAIfsHQdSJC0EANgIAIPsHQQFGDR9B1IkLQQA2AgBBnAMgACAEEAIaQdSJCygCACH8B0HUiQtBADYCACD8B0EBRwRAIAQQWRogBRBZGgwlCxAAIQAgA0G4BWoQWRoMIAtB1IkLQQA2AgBBkgUgA0GgBWoiBCAGIAUQCEHUiQsoAgAh/QdB1IkLQQA2AgAg/QdBAUYNHkHUiQtBADYCAEGcAyAAIAQQAhpB1IkLKAIAIf4HQdSJC0EANgIAIP4HQQFHBEAgBBBZGiAFEFkaDCQLEAAhACADQaAFahBZGgwfC0HUiQtBADYCAEGTBSADQYgFaiIEIAYgBRAIQdSJCygCACH/B0HUiQtBADYCACD/B0EBRg0dQdSJC0EANgIAQZwDIAAgBBACGkHUiQsoAgAhgAhB1IkLQQA2AgAggAhBAUcEQCAEEFkaIAUQWRoMIwsQACEAIANBiAVqEFkaDB4LQdSJC0EANgIAQZQFIANB8ARqIgQgBiAFEAhB1IkLKAIAIYEIQdSJC0EANgIAIIEIQQFGDRxB1IkLQQA2AgBBnAMgACAEEAIaQdSJCygCACGCCEHUiQtBADYCACCCCEEBRwRAIAQQWRogBRBZGgwiCxAAIQAgA0HwBGoQWRoMHQtB1IkLQQA2AgBBlQUgA0HYBGoiBCAGIAUQCEHUiQsoAgAhgwhB1IkLQQA2AgAggwhBAUYNG0HUiQtBADYCAEGcAyAAIAQQAhpB1IkLKAIAIYQIQdSJC0EANgIAIIQIQQFHBEAgBBBZGiAFEFkaDCELEAAhACADQdgEahBZGgwcC0HUiQtBADYCAEGWBSADQcAEaiIEIAYgBRAIQdSJCygCACGFCEHUiQtBADYCACCFCEEBRg0aQdSJC0EANgIAQZwDIAAgBBACGkHUiQsoAgAhhghB1IkLQQA2AgAghghBAUcEQCAEEFkaIAUQWRoMIAsQACEAIANBwARqEFkaDBsLQdSJC0EANgIAQZcFIANBqARqIgQgBiAFEAhB1IkLKAIAIYcIQdSJC0EANgIAIIcIQQFGDRlB1IkLQQA2AgBBnAMgACAEEAIaQdSJCygCACGICEHUiQtBADYCACCICEEBRwRAIAQQWRogBRBZGgwfCxAAIQAgA0GoBGoQWRoMGgtB1IkLQQA2AgBBmAUgA0GQBGoiBCAGIAUQCEHUiQsoAgAhiQhB1IkLQQA2AgAgiQhBAUYNGEHUiQtBADYCAEGcAyAAIAQQAhpB1IkLKAIAIYoIQdSJC0EANgIAIIoIQQFHBEAgBBBZGiAFEFkaDB4LEAAhACADQZAEahBZGgwZC0HUiQtBADYCAEGZBSADQfgDaiIEIAYgBRAIQdSJCygCACGLCEHUiQtBADYCACCLCEEBRg0XQdSJC0EANgIAQZwDIAAgBBACGkHUiQsoAgAhjAhB1IkLQQA2AgAgjAhBAUcEQCAEEFkaIAUQWRoMHQsQACEAIANB+ANqEFkaDBgLQdSJC0EANgIAQZoFIANB4ANqIgQgBiAFEAhB1IkLKAIAIY0IQdSJC0EANgIAII0IQQFGDRZB1IkLQQA2AgBBnAMgACAEEAIaQdSJCygCACGOCEHUiQtBADYCACCOCEEBRwRAIAQQWRogBRBZGgwcCxAAIQAgA0HgA2oQWRoMFwtB1IkLQQA2AgBBmwUgA0HIA2oiBCAGIAUQCEHUiQsoAgAhjwhB1IkLQQA2AgAgjwhBAUYNFUHUiQtBADYCAEGcAyAAIAQQAhpB1IkLKAIAIZAIQdSJC0EANgIAIJAIQQFHBEAgBBBZGiAFEFkaDBsLEAAhACADQcgDahBZGgwWC0HUiQtBADYCAEGcBSADQbADaiIEIAYgBRAIQdSJCygCACGRCEHUiQtBADYCACCRCEEBRg0UQdSJC0EANgIAQZwDIAAgBBACGkHUiQsoAgAhkghB1IkLQQA2AgAgkghBAUcEQCAEEFkaIAUQWRoMGgsQACEAIANBsANqEFkaDBULQdSJC0EANgIAQZ0FIANBmANqIgQgBiAFEAhB1IkLKAIAIZMIQdSJC0EANgIAIJMIQQFGDRNB1IkLQQA2AgBBnAMgACAEEAIaQdSJCygCACGUCEHUiQtBADYCACCUCEEBRwRAIAQQWRogBRBZGgwZCxAAIQAgA0GYA2oQWRoMFAtB1IkLQQA2AgBBngUgA0GAA2oiBCAGIAUQCEHUiQsoAgAhlQhB1IkLQQA2AgAglQhBAUYNEkHUiQtBADYCAEGcAyAAIAQQAhpB1IkLKAIAIZYIQdSJC0EANgIAIJYIQQFHBEAgBBBZGiAFEFkaDBgLEAAhACADQYADahBZGgwTC0HUiQtBADYCAEGfBSADQegCaiIEIAYgBRAIQdSJCygCACGXCEHUiQtBADYCACCXCEEBRg0RQdSJC0EANgIAQZwDIAAgBBACGkHUiQsoAgAhmAhB1IkLQQA2AgAgmAhBAUcEQCAEEFkaIAUQWRoMFwsQACEAIANB6AJqEFkaDBILQdSJC0EANgIAQaAFIANB0AJqIgQgBiAFEAhB1IkLKAIAIZkIQdSJC0EANgIAIJkIQQFGDRBB1IkLQQA2AgBBnAMgACAEEAIaQdSJCygCACGaCEHUiQtBADYCACCaCEEBRwRAIAQQWRogBRBZGgwWCxAAIQAgA0HQAmoQWRoMEQtB1IkLQQA2AgBBoQUgA0G4AmoiBCAGIAUQCEHUiQsoAgAhmwhB1IkLQQA2AgAgmwhBAUYND0HUiQtBADYCAEGcAyAAIAQQAhpB1IkLKAIAIZwIQdSJC0EANgIAIJwIQQFHBEAgBBBZGiAFEFkaDBULEAAhACADQbgCahBZGgwQC0HUiQtBADYCAEGiBSADQaACaiIEIAYgBRAIQdSJCygCACGdCEHUiQtBADYCACCdCEEBRg0OQdSJC0EANgIAQZwDIAAgBBACGkHUiQsoAgAhnghB1IkLQQA2AgAgnghBAUcEQCAEEFkaIAUQWRoMFAsQACEAIANBoAJqEFkaDA8LQdSJC0EANgIAQaMFIANBiAJqIgQgBiAFEAhB1IkLKAIAIZ8IQdSJC0EANgIAIJ8IQQFGDQ1B1IkLQQA2AgBBnAMgACAEEAIaQdSJCygCACGgCEHUiQtBADYCACCgCEEBRwRAIAQQWRogBRBZGgwTCxAAIQAgA0GIAmoQWRoMDgtB1IkLQQA2AgBBpAUgA0HwAWoiBCAGIAUQCEHUiQsoAgAhoQhB1IkLQQA2AgAgoQhBAUYNDEHUiQtBADYCAEGcAyAAIAQQAhpB1IkLKAIAIaIIQdSJC0EANgIAIKIIQQFHBEAgBBBZGiAFEFkaDBILEAAhACADQfABahBZGgwNC0HUiQtBADYCAEGlBSADQdgBaiIEIAYgBRAIQdSJCygCACGjCEHUiQtBADYCACCjCEEBRg0LQdSJC0EANgIAQZwDIAAgBBACGkHUiQsoAgAhpAhB1IkLQQA2AgAgpAhBAUcEQCAEEFkaIAUQWRoMEQsQACEAIANB2AFqEFkaDAwLQdSJC0EANgIAQaYFIANBwAFqIgQgBiAFEAhB1IkLKAIAIaUIQdSJC0EANgIAIKUIQQFGDQpB1IkLQQA2AgBBnAMgACAEEAIaQdSJCygCACGmCEHUiQtBADYCACCmCEEBRwRAIAQQWRogBRBZGgwQCxAAIQAgA0HAAWoQWRoMCwtB1IkLQQA2AgBBpwUgA0GoAWoiBCAGIAUQCEHUiQsoAgAhpwhB1IkLQQA2AgAgpwhBAUYNCUHUiQtBADYCAEGcAyAAIAQQAhpB1IkLKAIAIagIQdSJC0EANgIAIKgIQQFHBEAgBBBZGiAFEFkaDA8LEAAhACADQagBahBZGgwKC0HUiQtBADYCAEGoBSADQZABaiIEIAYgBRAIQdSJCygCACGpCEHUiQtBADYCACCpCEEBRg0IQdSJC0EANgIAQZwDIAAgBBACGkHUiQsoAgAhqghB1IkLQQA2AgAgqghBAUcEQCAEEFkaIAUQWRoMDgsQACEAIANBkAFqEFkaDAkLQdSJC0EANgIAQakFIANB+ABqIgQgBiAFEAhB1IkLKAIAIasIQdSJC0EANgIAIKsIQQFGDQdB1IkLQQA2AgBBnAMgACAEEAIaQdSJCygCACGsCEHUiQtBADYCACCsCEEBRwRAIAQQWRogBRBZGgwNCxAAIQAgA0H4AGoQWRoMCAtB1IkLQQA2AgBBqgUgA0HgAGoiBCAGIAUQCEHUiQsoAgAhrQhB1IkLQQA2AgAgrQhBAUYNBkHUiQtBADYCAEGcAyAAIAQQAhpB1IkLKAIAIa4IQdSJC0EANgIAIK4IQQFHBEAgBBBZGiAFEFkaDAwLEAAhACADQeAAahBZGgwHC0HUiQtBADYCAEGrBSADQcgAaiIEIAYgBRAIQdSJCygCACGvCEHUiQtBADYCACCvCEEBRg0FQdSJC0EANgIAQZwDIAAgBBACGkHUiQsoAgAhsAhB1IkLQQA2AgAgsAhBAUcEQCAEEFkaIAUQWRoMCwsQACEAIANByABqEFkaDAYLQdSJC0EANgIAQawFIANBMGoiBCAGIAUQCEHUiQsoAgAhsQhB1IkLQQA2AgAgsQhBAUYNBEHUiQtBADYCAEGcAyAAIAQQAhpB1IkLKAIAIbIIQdSJC0EANgIAILIIQQFHBEAgBBBZGiAFEFkaDAoLEAAhACADQTBqEFkaDAULQdSJC0EANgIAQa0FIANBGGoiBCAGIAUQCEHUiQsoAgAhswhB1IkLQQA2AgAgswhBAUYNA0HUiQtBADYCAEGcAyAAIAQQAhpB1IkLKAIAIbQIQdSJC0EANgIAILQIQQFHBEAgBBBZGiAFEFkaDAkLEAAhACADQRhqEFkaDAQLQdSJC0EANgIAQa4FIAMgBiAFEAhB1IkLKAIAIbUIQdSJC0EANgIAILUIQQFGDQJB1IkLQQA2AgBBnAMgACADEAIaQdSJCygCACG2CEHUiQtBADYCACC2CEEBRwRAIAMQWRogBRBZGgwICxAAIQAgAxBZGgwDC0GVCCEEQf+8AiEHC0HUiQtBADYCAEEUIAdB0JUDIAQQCEHUiQsoAgAhtwhB1IkLQQA2AgAgtwhBAUcNBgsQACEACyAFEFkaIAYQWRoMAgsQACEADAELEAAhACAGEFkaCyADQegeahBoDFULIAYQWRogAygCiB8iBUUNASADKAKMHyIHIAUiBEcEQANAIAdBGGsQWSIHIAVHDQALIAMoAogfIQQLIAMgBTYCjB8gBBBaDAELAAsgA0HwHmoQWRogA0GgH2okAAw9CyMAQbABayIDJAAgA0H4AGogASACKAIIEK8CAkACQAJAAkACQAJAIAMoAqgBBEAgACADKAJ4NgIAQdSJC0EANgIAQcAAIABBCGogA0GAAWoQAhpB1IkLKAIAIbgIQdSJC0EANgIAILgIQQFGDQEgACADKAKYATYCICAAIAMoApwBNgIkIAAgAygCoAE2AiggA0EANgKgASADQgA3A5gBIAAgAykDqAE3AzAMBgsgAigCDCEEQdSJC0EANgIAQaIBIANBQGsgASAEEAhB1IkLKAIAIQRB1IkLQQA2AgACQAJAIARBAUcEQCADKAJwRQ0BIAAgAygCQDYCAEHUiQtBADYCAEHAACAAQQhqIANByABqEAIaQdSJCygCACG5CEHUiQtBADYCACC5CEEBRg0CIAAgAygCYDYCICAAIAMoAmQ2AiQgACADKAJoNgIoIANBADYCaCADQgA3A2AgACADKQNwNwMwDAcLEAAhBgxKCyACKAIQIQRB1IkLQQA2AgBBogEgA0EIaiABIAQQCEHUiQsoAgAhBEHUiQtBADYCAAJAAkAgBEEBRwRAIAMoAgghBCADKAI4RQ0BIAAgBDYCAEHUiQtBADYCAEHAACAAQQhqIANBEGoQAhpB1IkLKAIAIboIQdSJC0EANgIAILoIQQFGDQUgACADKAIoNgIgIAAgAygCLDYCJCAAIAMoAjA2AiggA0EANgIwIANCADcDKCAAIAMpAzg3AzAMAgsQACEGDAYLAkACfyADKAIsIAMoAihrQRhtIARqQQFHBEBBxwAhAEHQlQMhBEGHwQUhAUGY1wMMAQsgAygCIEECRg0BQZgCIQBB5poDIQRBmbEFIQFBoq4FCyECQdSJC0EANgIAQQ0gASAEIAAgAhAFQdSJCygCACG7CEHUiQtBADYCACC7CEEBRg0EAAsgACADQfgAaiADQUBrIAMoAhAiBBsiBSgCADYCAEHUiQtBADYCAEHAACAAQQhqIANBgAFqIANByABqIAQbEAIhB0HUiQsoAgAhvAhB1IkLQQA2AgAgvAhBAUYNAyAAQgA3AyAgAEEANgIoQdSJC0EANgIAQbsBIABBIGogA0GYAWogA0HgAGogBBsoAgAiBiADQZwBaiADQeQAaiAEGygCACIEIAQgBmtBGG0QBUHUiQsoAgAhvQhB1IkLQQA2AgAgvQhBAUYEQBAAIQYgBxBZGgwFCyAAIAUpAzA3AzAgAygCKCIFRQ0AIAMoAiwiBiAFIgRHBEADQCAGQRhrEFkiBiAFRw0ACyADKAIoIQQLIAMgBTYCLCAEEFoLIANBEGoQWRogAygCYCIFRQ0FIAMoAmQiBiAFIgRHBEADQCAGQRhrEFkiBiAFRw0ACyADKAJgIQQLIAMgBTYCZCAEEFoMBQsQACEGDAMLEAAhBgxHCxAAIQYLIANBCGoQaAsgA0FAaxBoDEQLIANByABqEFkaIAMoApgBIgVFDQAgAygCnAEiBiAFIgRHBEADQCAGQRhrEFkiBiAFRw0ACyADKAKYASEECyADIAU2ApwBIAQQWgsgA0GAAWoQWRogA0GwAWokAAw8CyMAQUBqIgMkACADQQhqIAEgAigCCBCvAgJAIAMoAjgEQCAAIAMoAgg2AgBB1IkLQQA2AgBBwAAgAEEIaiADQRBqEAIaQdSJCygCACG+CEHUiQtBADYCACC+CEEBRwRAIAAgAygCKDYCICAAIAMoAiw2AiQgACADKAIwNgIoIANBADYCMCADQgA3AyggACADKQM4NwMwDAILDEgLIABCADcDACAAQgA3AzAgAEIANwMoIABCADcDICAAQgA3AxggAEIANwMQIABCADcDCCADKAIoIgRFDQAgAygCLCIGIAQiBUcEQANAIAZBGGsQWSIGIARHDQALIAMoAighBQsgAyAENgIsIAUQWgsgA0EQahBZGiADQUBrJAAMOwsjAEFAaiIDJAAgAEIANwMAIABCADcDMCAAQgA3AyggAEIANwMgIABCADcDGCAAQgA3AxAgAEIANwMIAkACQAJAAkACQCACKAIIIgQEQEHUiQtBADYCAEGiASADQQhqIgUgASAEEAhB1IkLKAIAIb8IQdSJC0EANgIAIL8IQQFGDQIgACADKAIINgIAIANBEGohBwJAIAAgBUYNACAAQQhqEFkhBEHUiQtBADYCAEHAACAEIAcQAhpB1IkLKAIAIcAIQdSJC0EANgIAIMAIQQFGDQQgACgCICIERQ0AIAAoAiQiBiAEIgVHBEADQCAGQRhrEFkiBiAERw0ACyAAKAIgIQULIAAgBDYCJCAFEFoLIAAgAygCKDYCICAAIAMoAiw2AiQgACADKAIwNgIoIANBADYCMCADQgA3AyggACADKQM4NwMwIAcQWRogACgCMA0BCyAAQZCtCykDADcDMAsgA0FAayQADAMLEAAhBgwBCxAAIQYgA0EIahBoCyAAEGgMRQsMOgsgAikCDCHUDCMAQTBrIgYkACAGQSRqIAEg1AwQ+RACQAJAIAYoAiQiBygCWCIFRQ0AIAcoAlQCfyAGKQIoItQMpyIDIAVBAWtxIAVpIghBAU0NABogAyADIAVJDQAaIAMgBXALIglBAnRqKAIAIgRFDQAgBCgCACIERQ0AIAhBAU0EQCAFQQFrIQUDQAJAIAMgBCgCBCIIRwRAIAUgCHEgCUYNAQwECyAEKAIIIANGDQQLIAQoAgAiBA0ACwwBCwNAAkAgAyAEKAIEIghHBEAgBSAITQR/IAggBXAFIAgLIAlGDQEMAwsgBCgCCCADRg0DCyAEKAIAIgQNAAsLIAcoAogDIgBBgRUgACgCACgCIBEAAAALIAZBCGoiBSAEKQMQIAcoAhQiBCgC/AEgBCgCgAIg1AwQugIoAjQQxgdB1IkLQQA2AgBBnAMgACAFEAIaQdSJCygCACEEQdSJC0EANgIAAkAgBEEBRwRAIAUQWRogBkEwaiQADAELEAAhACAGQQhqEFkaDE8LDDkLIwBBsAJrIgMkACADQegBaiABIAIoAggQrwICQAJAAkACQAJAAkACQCADKAKYAgRAIAAgAygC6AE2AgBB1IkLQQA2AgBBwAAgAEEIaiADQfABahACGkHUiQsoAgAhwQhB1IkLQQA2AgAgwQhBAUYNASAAIAMoAogCNgIgIAAgAygCjAI2AiQgACADKAKQAjYCKCADQQA2ApACIANCADcDiAIgACADKQOYAjcDMAwHCyACKQIQIdQMQdSJC0EANgIAQYQMIANB3AFqIAEg1AwQ7QJB1IkLKAIAIQRB1IkLQQA2AgACQAJAAkACQAJAAkACQAJAIARBAUcEQAJAAkAgAygC3AEiCCgCWCIFRQ0AIAhB1ABqIgooAgACfyADKQLgASLUDKciBCAFQQFrcSAFaSIHQQFNDQAaIAQgBCAFSQ0AGiAEIAVwCyIJQQJ0aigCACIGRQ0AIAYoAgAiBkUNACAHQQFNBEAgBUEBayEFA0ACQCAEIAYoAgQiB0cEQCAFIAdxIAlGDQEMBAsgBigCCCAERg0ECyAGKAIAIgYNAAsMAQsDQAJAIAQgBigCBCIHRwRAIAUgB00EfyAHIAVwBSAHCyAJRg0BDAMLIAYoAgggBEYNAwsgBigCACIGDQALCyAIKAKIAyIAKAIAKAIgIcIIQdSJC0EANgIAIMIIIABBgRUQA0HUiQsoAgAhwwhB1IkLQQA2AgAgwwhBAUYNAgwPCyAGKQMQIdUMIAgoAhQiBSgCgAIhBiAFKAL8ASEFQdSJC0EANgIAQY4MIAUgBiDUDBDxASEGQdSJCygCACHECEHUiQtBADYCACDECEEBRg0CIAYoAjQhBUHUiQtBADYCAEGPDCADQcABakJ/IAUQ1QdB1IkLKAIAIcUIQdSJC0EANgIAIMUIQQFGDQNB1IkLQQA2AgBBjwwgA0HwAGoiCSDVDCAFENUHQdSJCygCACHGCEHUiQtBADYCACDGCEEBRg0EQdSJC0EANgIAQZwDIANBiAFqIAkQAiEHQdSJCygCACHHCEHUiQtBADYCACDHCEEBRg0FIAkQWRoCQAJ/IAMoAugBIAMoAowCIAMoAogCa0EYbWpBAUcEQEGY1wMhBkHHACEAQdCVAyEEQYfBBQwBCyADKAKAAiIJQQdJDQFB8+cEIQZBwwEhAEGfnwMhBEHhzQYLIQFB1IkLQQA2AgBBDSABIAQgACAGEAVB1IkLKAIAIcgIQdSJC0EANgIAIMgIQQFHDQ8MDAsCfgJAAkACQCAJQQJrDgICAAELIAMpA/ABDAILQdSJC0EANgIAQYkCEAlB1IkLKAIAIckIQdSJC0EANgIAIMkIQQFHDRAMDQsgAzUC8AELItYMQoCABFQNBiAFQQJHDQZB1IkLQQA2AgBBwAAgA0HYAGogA0HAAWoQAiEEQdSJCygCACHKCEHUiQtBADYCACDKCEEBRg0LQdSJC0EANgIAQZwDIAAgBBACGkHUiQsoAgAhywhB1IkLQQA2AgAgywhBAUYNCCAEEFkaDAcLEAAhAAxaCxAAIQAMWQsQACEADFgLEAAhAAxXCxAAIQAMCAsQACEAIANB8ABqEFkaDAcLAkAg1QxC/////w8g1gx9VA0AIAVBAkcNAEHUiQtBADYCAEHAACADQUBrIANBwAFqEAIhBEHUiQsoAgAhzAhB1IkLQQA2AgAgzAhBAUYNBUHUiQtBADYCAEGcAyAAIAQQAhpB1IkLKAIAIc0IQdSJC0EANgIAIM0IQQFHBEAgBBBZGgwCCxAAIQAgBBBZGgwGCyDVDCDWDHwi1gwgBikDKFYEQEHUiQtBADYCAEHAACADQShqIANBwAFqEAIhBEHUiQsoAgAhzghB1IkLQQA2AgAgzghBAUYNBEHUiQtBADYCAEGcAyAAIAQQAhpB1IkLKAIAIc8IQdSJC0EANgIAIM8IQQFHBEAgBBBZGgwCCxAAIQAgBBBZGgwGCyAIKAKIAyEFIAMg1Aw3AyAgBSgCACgCGCHQCEHUiQtBADYCACADINQMNwMAINAIIAUgAyDVDEIQhiLVDKcg1QxCIIinINYMQhCGItUMpyDVDEIgiKcQMyHSCEHUiQsoAgAh0QhB1IkLQQA2AgAg0QhBAUYNAyDSCEUEQEHUiQtBADYCAEHAACADQQhqIANBwAFqEAIhBEHUiQsoAgAh0whB1IkLQQA2AgAg0whBAUYNBEHUiQtBADYCAEGcAyAAIAQQAhpB1IkLKAIAIdQIQdSJC0EANgIAINQIQQFHBEAgBBBZGgwCCxAAIQAgBBBZGgwGCyADINQMNwOgAgJAAkAgCCgCWCIFRQ0AIAooAgACfyAFQQFrIARxIAVpIglBAU0NABogBCAEIAVJDQAaIAQgBXALIgtBAnRqKAIAIgZFDQAgBigCACIGRQ0AIAlBAU0EQCAFQQFrIQUDQAJAIAQgBigCBCIJRwRAIAUgCXEgC0YNAQwECyAGKAIIIARGDQQLIAYoAgAiBg0ACwwBCwNAAkAgBCAGKAIEIglHBEAgBSAJTQR/IAkgBXAFIAkLIAtGDQEMAwsgBigCCCAERg0DCyAGKAIAIgYNAAsLIAgoAogDIgUoAgAoAiAh1QhB1IkLQQA2AgAg1QggBUHVFBADQdSJCygCACHWCEHUiQtBADYCACDWCEEBRg0EC0HUiQtBADYCAEGnASADQagCaiAKIAQgA0GgAmoQBUHUiQsoAgAh1whB1IkLQQA2AgAg1whBAUYNAyADKAKoAiDWDDcDECAAIAcoAgA2AgBB1IkLQQA2AgBBwAAgAEEIaiAHQQhqEAIaQdSJCygCACHYCEHUiQtBADYCACDYCEEBRg0DIAAgBygCIDYCICAAIAcoAiQ2AiQgACAHKAIoNgIoIAdBADYCKCAHQgA3AyAgACAHKQMwNwMwCyAHKAIgIgUEQCAHKAIkIgYgBSIERwRAA0AgBkEYaxBZIgYgBUcNAAsgBygCICEECyAHIAU2AiQgBBBaCyAHQQhqEFkaIANBwAFqEFkaIAMoAogCIgRFDQcgAygCjAIiBiAEIgVHBEADQCAGQRhrEFkiBiAERw0ACyADKAKIAiEFCyADIAQ2AowCIAUQWgwHCxAAIQAgBBBZGgwDCxAAIQAMUQsQACEADAELEAAhAAsgBxBoCyADQcABahBZGgxNCwALIANB8AFqEFkaIANBsAJqJAAMOAsgAUHjrwQgASgCACgCCBEAAEHjrwRB0JUDQdcJEGIACyMAQTBrIgMkAAJAAkACQCABKAIoIgQgASgCJEcEQCADIARBMGsiBSgCADYCACADQQhqIARBKGsQeiEGIANBADYCKCADQgA3AyAgBSgCJCEEIAUoAiAhBUHUiQtBADYCAEG7ASADQSBqIAUgBCAEIAVrQRhtEAVB1IkLKAIAIdkIQdSJC0EANgIAINkIQQFGBEAQACEAIAYQWRoMUAtB1IkLQQA2AgBBqwEgAxAGIQRB1IkLKAIAIdoIQdSJC0EANgIAINoIQQFGDQICQCAEIAIoAgQiBUYNAEHUiQtBADYCAEGsASAEIAUQAiHcCEHUiQsoAgAh2whB1IkLQQA2AgAg2whBAUYNAyDcCA0AQdSJC0EANgIAQQ1B2+cFQdCVA0HLHkG5uwIQBUHUiQsoAgAh3QhB1IkLQQA2AgAg3QhBAUcNAgwDCyABKAIoIgdBEGsiCSgCACIEBEAgB0EMayIKKAIAIgggBCIFRwRAA0AgCEEYaxBZIgggBEcNAAsgCSgCACEFCyAKIAQ2AgAgBRBaCyAHQShrEFkaIAEgB0EwazYCKCAAIAMoAgA2AgBB1IkLQQA2AgBBwAAgAEEIaiAGEAIaQdSJCygCACHeCEHUiQtBADYCACDeCEEBRg0CIAAgAygCIDYCICAAIAMoAiQ2AiQgACADKAIoNgIoIANBADYCKCADQgA3AyAgAEIANwMwIAYQWRogA0EwaiQADAMLQab0BUHQlQNByR5BubsCEAELAAsQACEAIAMQaAxMCww2CyAAIAIoAgQQ/gsMNQsjAEHQAGsiAyQAIANBGGogASACKAIIEK8CIAMoAhghBAJAAkACQAJAIAMoAkgEQCAAIAQ2AgBB1IkLQQA2AgBBwAAgAEEIaiADQSBqEAIaQdSJCygCACHfCEHUiQtBADYCACDfCEEBRg0CIAAgAygCODYCICAAIAMoAjw2AiQgACADQUBrIgQoAgA2AiggBEEANgIAIANCADcDOCAAIAMpA0g3AzAMAQsgAygCPCADKAI4a0EYbSAEakEBRwRAQdSJC0EANgIAQQ1Bh8EFQdCVA0HHAEGY1wMQBUHUiQsoAgAh4AhB1IkLQQA2AgAg4AhBAUYNAwALAn9BACADKAIwIgRBB0kNABpBACAEKAIEQQFHDQAaIAQoAghBfHFBDEYLIQQgA0ECNgIQIAMgBDYCAEHUiQtBADYCAEGcAyAAIAMQAhpB1IkLKAIAIeEIQdSJC0EANgIAIOEIQQFGBEAQACEGIAMQWRoMQAsgAxBZGiADKAI4IgRFDQAgAygCPCIGIAQiBUcEQANAIAZBGGsQWSIGIARHDQALIAMoAjghBQsgAyAENgI8IAUQWgsgA0EgahBZGiADQdAAaiQADAILEAAhBgw9CxAAIQYMPAsMNAsgACACKAIEIAIpAggQ/QsMMwsjAEGgAWsiAyQAIANB6ABqIAEgAigCCBCvAgJAAkACQAJAAkAgAygCmAEEQCAAIAMoAmg2AgBB1IkLQQA2AgBBwAAgAEEIaiADQfAAahACGkHUiQsoAgAh4ghB1IkLQQA2AgAg4ghBAUYNASAAIAMoAogBNgIgIAAgAygCjAE2AiQgACADKAKQATYCKCADQQA2ApABIANCADcDiAEgACADKQOYATcDMAwFCwJAAkACQAJAAkAgAygCaCADKAKMASADKAKIAWtBGG1qQQFHBEBB1IkLQQA2AgBBDUGHwQVB0JUDQccAQZjXAxAFQdSJCygCACHjCEHUiQtBADYCACDjCEEBRg0BDAkLQdSJC0EANgIAQcAAIANB0ABqIANB8ABqIgQQAiEGQdSJCygCACHkCEHUiQtBADYCACDkCEEBRg0AIAIoAgwhBUHUiQtBADYCAEGiASADQRhqIAEgBRAIQdSJCygCACHlCEHUiQtBADYCACDlCEEBRg0BIAMgAygCGDYCaCAEEFkhBEHUiQtBADYCAEHAACAEIANBIGoiCRACIQhB1IkLKAIAIeYIQdSJC0EANgIAIOYIQQFGDQIgAygCiAEiBARAIAMoAowBIgcgBCIFRwRAA0AgB0EYaxBZIgcgBEcNAAsgAygCiAEhBQsgAyAENgKMASAFEFoLIAMpAjwh1AwgA0FAa0EANgIAIAMgAygCODYCiAEgAyADKQNINwOYASADINQMNwKMASADQgA3AzggCRBZGiADKAKYAUUNBCAAIAMoAmg2AgBB1IkLQQA2AgBBwAAgAEEIaiAIEAIaQdSJCygCACHnCEHUiQtBADYCACDnCEEBRg0DIAAgAygCiAE2AiAgACADKAKMATYCJCAAIAMoApABNgIoIANBADYCkAEgA0IANwOIASAAIAMpA5gBNwMwDAcLEAAhAAxMCxAAIQAgBhBZGgxLCxAAIQAgA0EYahBoIAYQWRoMSgsQACEAIAYQWRoMSQsgAygCaCADKAKMASADKAKIAWtBGG1qQQFHBEBB1IkLQQA2AgBBDUGHwQVB0JUDQccAQZjXAxAFQdSJCygCACHoCEHUiQtBADYCACDoCEEBRw0EDAILQdSJC0EANgIAQcAAIANBGGogCBACIQRB1IkLKAIAIekIQdSJC0EANgIAIOkIQQFGDQFB1IkLQQA2AgBBrwUgBiAEEAIhBUHUiQsoAgAhB0HUiQtBADYCAAJAAkAgB0EBRwRAIANBAjYCECADIAU2AgBB1IkLQQA2AgBBnAMgACADEAIaQdSJCygCACHqCEHUiQtBADYCACDqCEEBRg0BIAMQWRogBBBZGgwFCxAAIQAMAQsQACEAIAMQWRoLIAQQWRogBhBZGgxICxAAIQAMRwsQACEAIAYQWRoMRgsgBhBZGiADKAKIASIERQ0BIAMoAowBIgcgBCIFRwRAA0AgB0EYaxBZIgcgBEcNAAsgAygCiAEhBQsgAyAENgKMASAFEFoMAQsACyADQfAAahBZGiADQaABaiQADDILIwBB8ABrIgMkACADQThqIAEgAigCEBCvAgJAAkACQAJAIAMoAmgEQCAAIAMoAjg2AgBB1IkLQQA2AgBBwAAgAEEIaiADQUBrEAIaQdSJCygCACHrCEHUiQtBADYCACDrCEEBRg0CIAAgAygCWDYCICAAIAMoAlw2AiQgACADKAJgNgIoIANBADYCYCADQgA3A1ggACADKQNoNwMwDAELIAIpAggh1AxB1IkLQQA2AgBBpAEgA0EsaiABINQMEO0CQdSJCygCACHsCEHUiQtBADYCACDsCEEBRg0CIAMgAykCMDcDCAJAAn8gAygCOCADKAJcIAMoAlhrQRhtakEBRwRAQccAIQBB0JUDIQRBh8EFIQFBmNcDDAELIAMoAlBBAkYNAUGYAiEAQeaaAyEEQZmxBSEBQaKuBQshAkHUiQtBADYCAEENIAEgBCAAIAIQBUHUiQsoAgAh7QhB1IkLQQA2AgAg7QhBAUYNAwALIAMoAiwiBSgCACgCdCHuCEHUiQtBADYCACADIAMpAwg3AwAg7gggA0EQaiIEIAUgAyADKAJAEAVB1IkLKAIAIe8IQdSJC0EANgIAIO8IQQFGDQJB1IkLQQA2AgBBnAMgACAEEAIaQdSJCygCACHwCEHUiQtBADYCACDwCEEBRgRAEAAhBiAEEFkaDDkLIANBEGoQWRogAygCWCIFRQ0AIAMoAlwiBiAFIgRHBEADQCAGQRhrEFkiBiAFRw0ACyADKAJYIQQLIAMgBTYCXCAEEFoLIANBQGsQWRogA0HwAGokAAwCCxAAIQYMNgsQACEGDDULDDELIwBBkAFrIgMkACADQdgAaiABIAIoAhAQrwICQAJAAkACQCADKAKIAQRAIAAgAygCWDYCAEHUiQtBADYCAEHAACAAQQhqIANB4ABqEAIaQdSJCygCACHxCEHUiQtBADYCACDxCEEBRg0BIAAgAygCeDYCICAAIAMoAnw2AiQgACADKAKAATYCKCADQQA2AoABIANCADcDeCAAIAMpA4gBNwMwDAQLIAIoAhQhBEHUiQtBADYCAEGiASADQSBqIAEgBBAIQdSJCygCACEEQdSJC0EANgIAAkACQCAEQQFHBEAgAygCUEUNASAAIAMoAiA2AgBB1IkLQQA2AgBBwAAgAEEIaiADQShqEAIaQdSJCygCACHyCEHUiQtBADYCACDyCEEBRg0CIAAgAygCQDYCICAAIAMoAkQ2AiQgACADKAJINgIoIANBADYCSCADQgA3A0AgACADKQNQNwMwDAULEAAhBgwDCyACKQIIIdQMQdSJC0EANgIAQaQBIANBFGogASDUDBDtAkHUiQsoAgAh8whB1IkLQQA2AgAg8whBAUYNACADIAMpAhg3AwhBmNcDIQVBxwAhBEHQlQMhBkGHwQUhBwJAAkAgAygCWCADKAJ8IAMoAnhrQRhtakEBRw0AIAMoAnBBAkcEQEGirgUhBUGYAiEEQeaaAyEGQZmxBSEHDAELIAMoAiAgAygCRCADKAJAa0EYbWpBAUYNAQtB1IkLQQA2AgBBDSAHIAYgBCAFEAVB1IkLKAIAIfQIQdSJC0EANgIAIPQIQQFGDQEACyADKAIUIgQoAgAoAnAh9QhB1IkLQQA2AgAgAyADKQMINwMAIPUIIAQgAyADKAJgIANBKGoQBUHUiQsoAgAh9ghB1IkLQQA2AgAg9ghBAUYNACAAQgA3AwAgAEIANwMwIABCADcDKCAAQgA3AyAgAEIANwMYIABCADcDECAAQgA3AwggAygCQCIFRQ0DIAMoAkQiBiAFIgRHBEADQCAGQRhrEFkiBiAFRw0ACyADKAJAIQQLIAMgBTYCRCAEEFoMAwsQACEGIANBIGoQaAwBCxAAIQYLIANB2ABqEGgMPAsgA0EoahBZGiADKAJ4IgVFDQAgAygCfCIGIAUiBEcEQANAIAZBGGsQWSIGIAVHDQALIAMoAnghBAsgAyAFNgJ8IAQQWgsgA0HgAGoQWRogA0GQAWokAAwwCyMAQUBqIgQkACAEQTRqIAEgAikCCBC8DiAEIAIpAggi1Aw3AyggBCgCNCIFKAIAKAJsIQMgBCDUDDcDCCAFIARBCGogAxEEACEFIARBAjYCICAEIAU2AhBB1IkLQQA2AgBBnAMgACAEQRBqIgUQAhpB1IkLKAIAIQNB1IkLQQA2AgACQCADQQFHBEAgBRBZGiAEQUBrJAAMAQsQACEAIARBEGoQWRoMRQsMLwsjAEHAAmsiAyQAIANBiAJqIAEgAigCEBCvAgJAAkACQAJAAkACQAJAIAMoArgCBEAgACADKAKIAjYCAEHUiQtBADYCAEHAACAAQQhqIANBkAJqEAIaQdSJCygCACH3CEHUiQtBADYCACD3CEEBRg0BIAAgAygCqAI2AiAgACADKAKsAjYCJCAAIAMoArACNgIoIANBADYCsAIgA0IANwOoAiAAIAMpA7gCNwMwDAcLIAIoAhQhBEHUiQtBADYCAEGiASADQdABaiABIAQQCEHUiQsoAgAhBEHUiQtBADYCAAJAAkAgBEEBRwRAIAMoAoACRQ0BIAAgAygC0AE2AgBB1IkLQQA2AgBBwAAgAEEIaiADQdgBahACGkHUiQsoAgAh+AhB1IkLQQA2AgAg+AhBAUYNAiAAIAMoAvABNgIgIAAgAygC9AE2AiQgACADKAL4ATYCKCADQQA2AvgBIANCADcD8AEgACADKQOAAjcDMAwICxAAIQcMBQsgAikCCCHUDEHUiQtBADYCAEGkASADQcQBaiABINQMEO0CQdSJCygCACEEQdSJC0EANgIAAkACQAJAAkACQAJAIARBAUcEQCADINQMNwO4ASADKALEASIFKAIAKAJsIfkIIAMg1Aw3AwhB1IkLQQA2AgAg+QggBSADQQhqEAIhBEHUiQsoAgAh+ghB1IkLQQA2AgAg+ghBAUYNASADQQI2AnggAyAENgJoQdSJC0EANgIAQZwDIANBgAFqIANB6ABqIgYQAiEIQdSJCygCACH7CEHUiQtBADYCACD7CEEBRg0CIAYQWRogA0ECNgIoIANBfzYCGEHUiQtBADYCAEGcAyADQTBqIANBGGoiBxACIQZB1IkLKAIAIfwIQdSJC0EANgIAIPwIQQFGDQMgBxBZGgJAAn8gAygC0AEgAygC9AEgAygC8AFrQRhtakEBRwRAQccAIQBB0JUDIQRBh8EFIQFBmNcDDAELIAMoAugBQQJGDQFBmAIhAEHmmgMhBEGZsQUhAUGirgULIQJB1IkLQQA2AgBBDSABIAQgACACEAVB1IkLKAIAIf0IQdSJC0EANgIAIP0IQQFGDQcMDQsgBCADKALYASIHQX9zSQ0EIAAgBigCADYCAEHUiQtBADYCAEHAACAAQQhqIAZBCGoQAhpB1IkLKAIAIf4IQdSJC0EANgIAIP4IQQFGDQYgACAGKAIgNgIgIAAgBigCJDYCJCAAIAYoAig2AiggBkEANgIoIAZCADcDICAAIAYpAzA3AzAMBQsQACEHDAkLEAAhBwwICxAAIQcgA0HoAGoQWRoMBwsQACEHIANBGGoQWRogCBBoDAYLIAEoAhQiCSgC7AEhCiAJKALoASEJQdSJC0EANgIAQfoAIAkgCiDUDBDxASGACUHUiQsoAgAh/whB1IkLQQA2AgAg/whBAUYNBCCACSkDKCAHrSAErXxUBEAgACAGKAIANgIAQdSJC0EANgIAQcAAIABBCGogBkEIahACGkHUiQsoAgAhgQlB1IkLQQA2AgAggQlBAUYNBSAAIAYoAiA2AiAgACAGKAIkNgIkIAAgBigCKDYCKCAGQQA2AiggBkIANwMgIAAgBikDMDcDMAwBCyADINQMNwMQIAMoAogCIAMoAqwCIAMoAqgCa0EYbWpBAUcEQEHUiQtBADYCAEENQYfBBUHQlQNBxwBBmNcDEAVB1IkLKAIAIYIJQdSJC0EANgIAIIIJQQFHDQgMBQsgBSgCACgCHCGDCUHUiQtBADYCACADIAMpAxA3AwAggwkgBSADIANBkAJqIAQgBCAHahAQIYUJQdSJCygCACGECUHUiQtBADYCACCECUEBRg0EIABBCGohBCCFCUUEQCAAIAYoAgA2AgBB1IkLQQA2AgBBwAAgBCAGQQhqEAIaQdSJCygCACGGCUHUiQtBADYCACCGCUEBRg0FIAAgBigCIDYCICAAIAYoAiQ2AiQgACAGKAIoNgIoIAZBADYCKCAGQgA3AyAgACAGKQMwNwMwDAELIAAgCCgCADYCAEHUiQtBADYCAEHAACAEIAhBCGoQAhpB1IkLKAIAIYcJQdSJC0EANgIAIIcJQQFGDQQgACAIKAIgNgIgIAAgCCgCJDYCJCAAIAgoAig2AiggCEEANgIoIAhCADcDICAAIAgpAzA3AzAgBigCICIFRQ0AIAYoAiQiByAFIgRHBEADQCAHQRhrEFkiByAFRw0ACyAGKAIgIQQLIAYgBTYCJCAEEFoLIAZBCGoQWRogCCgCICIFBEAgCCgCJCIHIAUiBEcEQANAIAdBGGsQWSIHIAVHDQALIAgoAiAhBAsgCCAFNgIkIAQQWgsgCEEIahBZGiADKALwASIFRQ0HIAMoAvQBIgcgBSIERwRAA0AgB0EYaxBZIgcgBUcNAAsgAygC8AEhBAsgAyAFNgL0ASAEEFoMBwsMAgsQACEHDAILEAAhBwwCCxAAIQcgBhBoIAgQaAsgA0HQAWoQaAsgA0GIAmoQaCAHEAcACwALIANB2AFqEFkaIAMoAqgCIgVFDQAgAygCrAIiByAFIgRHBEADQCAHQRhrEFkiByAFRw0ACyADKAKoAiEECyADIAU2AqwCIAQQWgsgA0GQAmoQWRogA0HAAmokAAwuCyMAQfABayIDJAAgA0G4AWogASACKAIQEK8CAkACQAJAAkACQAJAAkACQAJAIAMoAugBBEAgACADKAK4ATYCAEHUiQtBADYCAEHAACAAQQhqIANBwAFqEAIaQdSJCygCACGICUHUiQtBADYCACCICUEBRg0BIAAgAygC2AE2AiAgACADKALcATYCJCAAIAMoAuABNgIoIANBADYC4AEgA0IANwPYASAAIAMpA+gBNwMwDAkLIAIoAhQhBEHUiQtBADYCAEGiASADQYABaiABIAQQCEHUiQsoAgAhBEHUiQtBADYCAAJAAkAgBEEBRwRAIAMoArABRQ0BIAAgAygCgAE2AgBB1IkLQQA2AgBBwAAgAEEIaiADQYgBahACGkHUiQsoAgAhiQlB1IkLQQA2AgAgiQlBAUYNAiAAIAMoAqABNgIgIAAgAygCpAE2AiQgACADKAKoATYCKCADQQA2AqgBIANCADcDoAEgACADKQOwATcDMAwKCxAAIQYMBgsgAigCGCEEQdSJC0EANgIAQaIBIANByABqIAEgBBAIQdSJCygCACEEQdSJC0EANgIAAkACQCAEQQFHBEAgAygCeEUNASAAIAMoAkg2AgBB1IkLQQA2AgBBwAAgAEEIaiADQdAAahACGkHUiQsoAgAhiglB1IkLQQA2AgAgiglBAUYNAiAAIAMoAmg2AiAgACADKAJsNgIkIAAgAygCcDYCKCADQQA2AnAgA0IANwNoIAAgAykDeDcDMAwKCxAAIQYMBgsgAikCCCHUDEHUiQtBADYCAEGkASADQTxqIAEg1AwQ7QJB1IkLKAIAIQRB1IkLQQA2AgACQAJAIARBAUcEQAJAAn8gAygCuAEgAygC3AEgAygC2AFrQRhtakEBRwRAQccAIQVB0JUDIQRBh8EFIQBBmNcDDAELIAMoAtABQQJGDQFBmAIhBUHmmgMhBEGZsQUhAEGirgULIQFB1IkLQQA2AgBBDSAAIAQgBSABEAVB1IkLKAIAIYsJQdSJC0EANgIAIIsJQQFGDQIMCwsgAygCgAEgAygCpAEgAygCoAFrQRhtakEBRwRAQdSJC0EANgIAQQ1Bh8EFQdCVA0HHAEGY1wMQBUHUiQsoAgAhjAlB1IkLQQA2AgAgjAlBAUcNCwwHCyADKALAASEIQdSJC0EANgIAQcAAIANBIGogA0GIAWoQAiEHQdSJCygCACGNCUHUiQtBADYCACCNCUEBRg0GAkACfyADKAJIIAMoAmwgAygCaGtBGG1qQQFHBEBBxwAhBUHQlQMhBEGHwQUhAEGY1wMMAQsgAygCYEECRg0BQZgCIQVB5poDIQRBmbEFIQBBoq4FCyEBQdSJC0EANgIAQQ0gACAEIAUgARAFQdSJCygCACGOCUHUiQtBADYCACCOCUEBRw0LEAAhBiAHEFkaDAgLIAMg1Aw3AxggAygCPCIEKAIAKAJsIY8JIAMg1Aw3AwhB1IkLQQA2AgAgAygCUCEGII8JIAQgA0EIahACIQVB1IkLKAIAIZAJQdSJC0EANgIAIJAJQQFHBEAgBiAIaiAFTQ0DIAEoAgAoAgghkQlB1IkLQQA2AgAgkQkgAUGTqgEQA0HUiQsoAgAhkglB1IkLQQA2AgAgkglBAUcNAwsQACEGIAcQWRoMBwsQACEGDAYLEAAhBgwFCwJAIAYEQCADKQJAIdQMQQAhBQNAIAMg1Aw3AxAgBCgCACgCcCGTCUHUiQtBADYCACADINQMNwMAIJMJIAQgAyAFIAhqIAcQBUHUiQsoAgAhlAlB1IkLQQA2AgAglAlBAUYNAiAFQQFqIgUgBkcNAAsLIABCADcDACAAQgA3AzAgAEIANwMoIABCADcDICAAQgA3AxggAEIANwMQIABCADcDCCAHEFkaIAMoAmgiBUUNCSADKAJsIgYgBSIERwRAA0AgBkEYaxBZIgYgBUcNAAsgAygCaCEECyADIAU2AmwgBBBaDAkLEAAhBiAHEFkaDAQLEAAhBgwDCxAAIQYMAwsQACEGDAMLEAAhBgsgA0HIAGoQaAsgA0GAAWoQaAsgA0G4AWoQaAw7CwALIANB0ABqEFkaIAMoAqABIgVFDQAgAygCpAEiBiAFIgRHBEADQCAGQRhrEFkiBiAFRw0ACyADKAKgASEECyADIAU2AqQBIAQQWgsgA0GIAWoQWRogAygC2AEiBUUNACADKALcASIGIAUiBEcEQANAIAZBGGsQWSIGIAVHDQALIAMoAtgBIQQLIAMgBTYC3AEgBBBaCyADQcABahBZGiADQfABaiQADC0LIwBBoAJrIgMkACADQegBaiABIAIoAggQrwICQAJAAkACQAJAAkACQAJAAkAgAygCmAIEQCAAIAMoAugBNgIAQdSJC0EANgIAQcAAIABBCGogA0HwAWoQAhpB1IkLKAIAIZUJQdSJC0EANgIAIJUJQQFGDQEgACADKAKIAjYCICAAIAMoAowCNgIkIAAgAygCkAI2AiggA0EANgKQAiADQgA3A4gCIAAgAykDmAI3AzAMCQsgAigCDCEEQdSJC0EANgIAQaIBIANBsAFqIAEgBBAIQdSJCygCACEEQdSJC0EANgIAAkACQCAEQQFHBEAgAygC4AFFDQEgACADKAKwATYCAEHUiQtBADYCAEHAACAAQQhqIANBuAFqEAIaQdSJCygCACGWCUHUiQtBADYCACCWCUEBRg0CIAAgAygC0AE2AiAgACADKALUATYCJCAAIAMoAtgBNgIoIANBADYC2AEgA0IANwPQASAAIAMpA+ABNwMwDAoLEAAhBgw/CyACKAIQIQRB1IkLQQA2AgBBogEgA0H4AGogASAEEAhB1IkLKAIAIQRB1IkLQQA2AgACQAJAIARBAUcEQCADKAKoAUUNASAAIAMoAng2AgBB1IkLQQA2AgBBwAAgAEEIaiADQYABahACGkHUiQsoAgAhlwlB1IkLQQA2AgAglwlBAUYNAiAAIAMoApgBNgIgIAAgAygCnAE2AiQgACADKAKgATYCKCADQQA2AqABIANCADcDmAEgACADKQOoATcDMAwKCxAAIQYMBwsCfgJAAkACQAJ/IAMoAugBIAMoAowCIAMoAogCa0EYbWpBAUcEQEHHACEAQdCVAyEEQYfBBSEBQZjXAwwBCyADKAKAAiIEQQdJDQFBwwEhAEGfnwMhBEHhzQYhAUHz5wQLIQJB1IkLQQA2AgBBDSABIAQgACACEAVB1IkLKAIAIZgJQdSJC0EANgIAIJgJQQFGDQEMCwsCQAJAIARBAmsOAgMAAQsgAykD8AEMAwtB1IkLQQA2AgBBiQIQCUHUiQsoAgAhmQlB1IkLQQA2AgAgmQlBAUcNCgsQACEGDAcLIAM1AvABCyHYDAJAAn8gAygCsAEgAygC1AEgAygC0AFrQRhtakEBRwRAQccAIQBB0JUDIQRBh8EFIQFBmNcDDAELIAMoAsgBIgRBB0kNAUHDASEAQZ+fAyEEQeHNBiEBQfPnBAshAkHUiQtBADYCAEENIAEgBCAAIAIQBQwFCwJ+AkACQAJAIARBAmsOAgIAAQsgAykDuAEMAgtB1IkLQQA2AgBBiQIQCQwGCyADNQK4AQsh1gwCQAJ/IAMoAnggAygCnAEgAygCmAFrQRhtakEBRwRAQccAIQBB0JUDIQRBh8EFIQFBmNcDDAELIAMoApABIgRBB0kNAUHDASEAQZ+fAyEEQeHNBiEBQfPnBAshAkHUiQtBADYCAEENIAEgBCAAIAIQBQwECwJ+AkACQAJAIARBAmsOAgIAAQsgAykDgAEMAgtB1IkLQQA2AgBBiQIQCQwFCyADNQKAAQsh1QwgAikCFCHUDEHUiQtBADYCAEGkASADQewAaiABINQMEO0CQdSJCygCACEEQdSJC0EANgIAAkACQAJAIARBAUcEQCACKQIcIdQMQdSJC0EANgIAQaQBIANB4ABqIAEg1AwQ7QJB1IkLKAIAIZoJQdSJC0EANgIAIJoJQQFGDQEgAyADKQJwItkMNwNYIAMoAmwiBCgCACgCbCGbCSADINkMNwMgQdSJC0EANgIAIJsJIAQgA0EgahACIQZB1IkLKAIAIZwJQdSJC0EANgIAIJwJQQFGDQIgAyADKQJkItcMNwNQIAMoAmAiBSgCACgCbCGdCSADINcMNwMYQdSJC0EANgIAIJ0JIAUgA0EYahACIQdB1IkLKAIAIZ4JQdSJC0EANgIAIJ4JQQFHBEACQCDVDCDWDHwi1AwgB61WDQAg1Qwg2Ax8ItoMINUMVA0AINQMINYMVA0AINoMIAatWA0FCyABKAIAKAIIIZ8JQdSJC0EANgIAIJ8JIAFBoBoQA0HUiQsoAgAhoAlB1IkLQQA2AgAgoAlBAUcNBAsQACEGDAkLEAAhBgwICxAAIQYMBwsQACEGDAYLAkACQCDVDEIBfUIAINYMINgMVCIGGyLUDEJ/INUMIAYbItUMUgRAQn9CASAGGyHaDANAIAMg2Qw3A0ggAyDXDDcDKCAFKAIAKAJ0IaEJQdSJC0EANgIAIAMg1ww3AxAgoQkgA0EwaiIGIAUgA0EQaiDUDCDWDHynEAVB1IkLKAIAIaIJQdSJC0EANgIAIKIJQQFGDQIgBCgCACgCcCGjCUHUiQtBADYCACADIAMpA0g3AwggowkgBCADQQhqINQMINgMfKcgBhAFQdSJCygCACGkCUHUiQtBADYCACCkCUEBRg0DIAYQWRog1Awg2gx8ItQMINUMUg0ACwsgAEIANwMAIABCADcDMCAAQgA3AyggAEIANwMgIABCADcDGCAAQgA3AxAgAEIANwMIIAMoApgBIgVFDQogAygCnAEiBiAFIgRHBEADQCAGQRhrEFkiBiAFRw0ACyADKAKYASEECyADIAU2ApwBIAQQWgwKCxAAIQYMBgsQACEGIANBMGoQWRoMBQsQACEGDAQLEAAhBgwECxAAIQYMPAtB1IkLKAIAIaUJQdSJC0EANgIAIKUJQQFHDQMQACEGDAELQdSJCygCACGmCUHUiQtBADYCACCmCUEBRw0CEAAhBgsgA0H4AGoQaAsgA0GwAWoQaAw4CwALIANBgAFqEFkaIAMoAtABIgVFDQAgAygC1AEiBiAFIgRHBEADQCAGQRhrEFkiBiAFRw0ACyADKALQASEECyADIAU2AtQBIAQQWgsgA0G4AWoQWRogAygCiAIiBUUNACADKAKMAiIGIAUiBEcEQANAIAZBGGsQWSIGIAVHDQALIAMoAogCIQQLIAMgBTYCjAIgBBBaCyADQfABahBZGiADQaACaiQADCwLIwBBEGsiBCQAIAQgAjYCDCACKAIQIQVB1IkLQQA2AgBBogEgACABIAUQCEHUiQsoAgAhBUHUiQtBADYCAAJAAkACQAJAIAVBAUYEQEGErgcQCyEFIwFBhK4HEBZHDUIgBRAOIQMgASgCaCIFKAIYIgYEQCAGIAIoAghHDQIgBUIANwIYCyAEIAM2AgQgBCABNgIAIAQgBEEMajYCCAJAIAIoAhgiBgRAIAMoAgAhByACKAIUIQhBACEFA0AgByAIIAVBA3RqKAIARgRAQdSJC0EANgIAQZAMIAFBJGogA0EIahADQdSJCygCACEDQdSJC0EANgIAAkAgA0EBRg0AIAUgBCgCDCIDKAIoTwRAQdSJC0EANgIAQQ1BxaIBQYmiA0G8AUGmiAUQBUHUiQsoAgAhpwlB1IkLQQA2AgAgpwlBAUYNAQwJCyADKAIkIAVBAnRqKAIAIQVB1IkLQQA2AgBBkQwgACAEIAUQCEHUiQsoAgAhqAlB1IkLQQA2AgAgqAlBAUcNBAsMBgsgBUEBaiIFIAZHDQALCyACKAIoIgUgBmtBAUYEQCAFRQRAQdSJC0EANgIAQQ1BtMQFQYmiA0HQAUH9+wIQBUHUiQsoAgAhqQlB1IkLQQA2AgAgqQlBAUcNBgwFCyACKAIkIAVBAnRqQQRrKAIAIQVB1IkLQQA2AgBBkQwgACAEIAUQCEHUiQsoAgAhqglB1IkLQQA2AgAgqglBAUcNAQwECyACKAI0BEAgASgCaCACKQI0NwIYC0HUiQtBADYCAEHVABAJQdSJCygCACGrCUHUiQtBADYCACCrCUEBRw0EDAMLEBELIARBEGokAAwDC0HUiQtBADYCAEHVABAJQdSJCygCACGsCUHUiQtBADYCACCsCUEBRw0BCxAAIQVB1IkLQQA2AgBBHBAJQdSJCygCACGtCUHUiQtBADYCACCtCUEBRg1DDD8LAAsMKwtB/L0CQdCVA0H1ChBiAAsjAEGAAWsiAyQAIANCADcDYCADQQA2AmggA0EANgJ4IANCADcDWCADQQA2AlAgA0IANwNwQdSJC0EANgIAQYIMIAAgASACQRBqIANB0ABqEAVB1IkLKAIAIQRB1IkLQQA2AgACQAJAAkACQAJAAkACQAJAIARBAUcEQCADQdgAaiEGIAAoAjBFBEAgA0EoaiIHQgA3AwAgA0IANwMwIANBADYCOCADQQA2AkggA0FAayIIQgA3AwAgA0EANgIgIAMgAikCCDcDGCADKAJQIAMoAnQgAygCcGtBGG1qIglFDQNB1IkLQQA2AgBBwAAgAyAGEAIhBEHUiQsoAgAhAkHUiQtBADYCAAJAAkAgAkEBRwRAAkAgAygCIARAIAMoAkQiBSADKAJIRg0DQdSJC0EANgIAQcAAIAUgBBACIQJB1IkLKAIAIa4JQdSJC0EANgIAIK4JQQFGDQEgAyACQRhqNgJEDAcLQdSJC0EANgIAIANBATYCIEGxBSAHIAQQAhpB1IkLKAIAIa8JQdSJC0EANgIAIK8JQQFGDQMMBgsQACECIAMgBTYCRCAEEFkaDAoLEAAhAgwJC0HUiQtBADYCAEGyBSAIIAQQA0HUiQsoAgAhsAlB1IkLQQA2AgAgsAlBAUcNAwsQACECIAQQWRoMBwsgAygCcCIEBEAgAygCdCIHIAQiBUcEQANAIAdBGGsQWSIHIARHDQALIAMoAnAhBQsgAyAENgJ0IAUQWgsgBhBZGiADQYABaiQADAgLEAAhAgwGC0EBIQIgBBBZIQogCUEBRg0AA0BB1IkLQQA2AgBBwAAgCiADKAJwIAJBGGxqQRhrEAIhBUHUiQsoAgAhsQlB1IkLQQA2AgAgsQlBAUYNAgJAIAMoAiBFBEBB1IkLQQA2AgAgA0EBNgIgQbEFIAcgBRACGkHUiQsoAgAhsglB1IkLQQA2AgAgsglBAUcNAQwGCyADKAJEIgYgAygCSEcEQEHUiQtBADYCAEHAACAGIAUQAiELQdSJCygCACGzCUHUiQtBADYCACCzCUEBRgRAEAAhAiADIAY2AkQgBBBZGgwICyADIAtBGGo2AkQMAQtB1IkLQQA2AgBBsgUgCCAFEANB1IkLKAIAIbQJQdSJC0EANgIAILQJQQFGDQULIAUQWRogAkEBaiICIAlHDQALCyABKAIAKAIQIbUJQdSJC0EANgIAILUJIAEgA0EYahADQdSJCygCACG2CUHUiQtBADYCACC2CUEBRg0BQdSJC0EANgIAQRRB6jRB0JUDQYQLEAhB1IkLKAIAIbcJQdSJC0EANgIAILcJQQFGDQEACxAAIQIMAgsQACECDAELEAAhAiAEEFkaCyADQRhqENIHGiAAEGgLIANB0ABqEGggAhAHAAsMKQsgASgCcCABKAL8AiABKAL4AmtBBnVqQQFrIgBBAE4EQCABQfgAaiEEA0AgBCAAQQZ0IgVqIAEoAvgCIAVqQYACayAAQQRJGyIFKAI4IAIoAghGBEAgASAFIAEoAgAoAhARAAALIABBAEohuAkgAEEBayEAILgJDQALC0HgNEHQlQNBxR4QYgALQfy9AkHQlQNBhwsQYgALIwBB0ABrIgMkACADQgA3AzAgA0EANgI4IANBADYCSCADQgA3AyggA0EANgIgIANCADcDQEHUiQtBADYCAEGCDCAAIAEgAkEIaiADQSBqEAVB1IkLKAIAIQRB1IkLQQA2AgACQAJAAkACQAJAAkACQCAEQQFHBEAgA0EoaiEIIAMoAkAhBCAAKAIwDQIgAygCICADKAJEIARrQRhtaiIJRQ0CQdSJC0EANgIAQcAAIANBCGogCBACIQZB1IkLKAIAIQRB1IkLQQA2AgACQAJAAkAgBEEBRwRAIAMoAhhBAkkNCSAAQQhqIQUgAEEgaiEKIAAoAgAEQCAAKAIkIgQgACgCKEYNAkHUiQtBADYCAEHAACAEIAYQAiEHQdSJCygCACG5CUHUiQtBADYCACC5CUEBRg0EIAAgB0EYajYCJAwGCyAAQQE2AgAgBSAGRg0FIAUQWSEEQdSJC0EANgIAQcAAIAQgBhACGkHUiQsoAgAhuglB1IkLQQA2AgAguglBAUYNAgwFCxAAIQUgABBoDAkLQdSJC0EANgIAQbIFIAogBhADQdSJCygCACG7CUHUiQtBADYCACC7CUEBRw0DCxAAIQUgBhBZGiAAEGgMBwsQACEFIAAgBDYCJCAGEFkaIAAQaAwGCxAAIQUMBQsgBhBZIQsgCUEBRwRAQQEhBANAQdSJC0EANgIAQcAAIAsgAygCQCAEQRhsakEYaxACIQdB1IkLKAIAIbwJQdSJC0EANgIAILwJQQFGDQMgAygCGEEBTQ0FAkAgACgCAEUEQCAAQQE2AgAgBSALRg0BIAUQWSEMQdSJC0EANgIAQcAAIAwgBxACGkHUiQsoAgAhvQlB1IkLQQA2AgAgvQlBAUcNAQwGCyAAKAIkIgwgACgCKEcEQEHUiQtBADYCAEHAACAMIAcQAiEOQdSJCygCACG+CUHUiQtBADYCACC+CUEBRgRAEAAhBSAAIAw2AiQgBhBZGiAAEGgMCQsgACAOQRhqNgIkDAELQdSJC0EANgIAQbIFIAogBxADQdSJCygCACG/CUHUiQtBADYCACC/CUEBRg0FCyAHEFkaIARBAWoiBCAJRw0ACwsgAygCQCEECyAEBEAgAygCRCIGIAQiBUcEQANAIAZBGGsQWSIGIARHDQALIAMoAkAhBQsgAyAENgJEIAUQWgsgCBBZGiADQdAAaiQADAQLEAAhBSAAEGgMAgsQACEFIAYQWRogABBoDAELQdSJC0EANgIAQQ1BwpQGQdCVA0GjCkHZsgQQBUHUiQsoAgAhwAlB1IkLQQA2AgAgwAlBAUcEQAALEAAhBSAGEFkaIAAQaAsgA0EgahBoDDkLDCYLIwBB0ABrIgMkACADQRhqIAEgAigCCBCvAiADKAIYIQQCQAJAAkAgAygCSARAIAAgBDYCAEHUiQtBADYCAEHAACAAQQhqIANBIGoQAhpB1IkLKAIAIcEJQdSJC0EANgIAIMEJQQFGDQIgACADKAI4NgIgIAAgAygCPDYCJCAAIANBQGsiBCgCADYCKCAEQQA2AgAgA0IANwM4IAAgAykDSDcDMAwBCyACKAIMIgUgBCADKAI8IAMoAjgiBmtBGG1qTwRAQdSJC0EANgIAQQ1BiCdB0JUDQa4KQZCNARAFQdSJCygCACHCCUHUiQtBADYCACDCCUEBRg0CAAtB1IkLQQA2AgBBwAAgAyAGIAVBGGxqQRhrIANBIGogBRsQAiEEQdSJCygCACHDCUHUiQtBADYCACDDCUEBRg0BQdSJC0EANgIAQZwDIAAgBBACGkHUiQsoAgAhxAlB1IkLQQA2AgAgxAlBAUYEQBAAIQYgBBBZGgwwCyAEEFkaIAMoAjgiBEUNACADKAI8IgYgBCIFRwRAA0AgBkEYaxBZIgYgBEcNAAsgAygCOCEFCyADIAQ2AjwgBRBaCyADQSBqEFkaIANB0ABqJAAMAQsQACEGDC0LDCULIwBB8ABrIgMkACADQSBqIAEgAigCCBCvAiADKAIgIQQCQAJAAkACQAJAIAMoAlAEQCAAIAQ2AgBB1IkLQQA2AgBBwAAgAEEIaiADQShqEAIaQdSJCygCACHFCUHUiQtBADYCACDFCUEBRg0CIAAgAygCQDYCICAAIAMoAkQ2AiQgACADKAJINgIoIANBADYCSCADQgA3A0AgACADKQNQNwMwDAELAkACfyADKAJEIAMoAkBrQRhtIARqQQFHBEBBxwAhAEHQlQMhBEGHwQUhAUGY1wMMAQsgAygCOEECRg0BQZgCIQBB5poDIQRBmbEFIQFBoq4FCyECQdSJC0EANgIAQQ0gASAEIAAgAhAFQdSJCygCACHGCUHUiQtBADYCACDGCUEBRg0DAAsgAygCKCEFIANBADYCaEHUiQtBADYCACADQoGAgIDAADcCYCADQQA6AFxBB0HYnQsgA0HcAGoiBBACIQZB1IkLKAIAIccJQdSJC0EANgIAIMcJQQFGBEAQACEGIAQQdwwEC0HUiQtBADYCAEGlASADQQhqIAYQAiEEQdSJCygCACHICUHUiQtBADYCACDICUEBRg0CIAQgBUGAgICAeHI2AgBB1IkLQQA2AgBBnAMgACAEEAIaQdSJCygCACHJCUHUiQtBADYCACDJCUEBRgRAEAAhBiAEEFkaDAQLIAQQWRogAygCQCIFRQ0AIAMoAkQiBiAFIgRHBEADQCAGQRhrEFkiBiAFRw0ACyADKAJAIQQLIAMgBTYCRCAEEFoLIANBKGoQWRogA0HwAGokAAwDCxAAIQYMAQsQACEGCyADQSBqEGgMLwsMJAsjAEHQAGsiAyQAIANBGGogASACKAIIEK8CIAMoAhghBAJAAkACQAJAAkAgAygCSARAIAAgBDYCAEHUiQtBADYCAEHAACAAQQhqIANBIGoQAhpB1IkLKAIAIcoJQdSJC0EANgIAIMoJQQFGDQIgACADKAI4NgIgIAAgAygCPDYCJCAAIANBQGsiBCgCADYCKCAEQQA2AgAgA0IANwM4IAAgAykDSDcDMAwBCyADKAI8IAMoAjhrQRhtIARqQQFHBEBBmNcDIQVBxwAhBkHQlQMhB0GHwQUhCAwDC0GriQQhBUHkByEGQbizAiEHQb//BSEIIAMoAjAiBEEHSQ0CAn8CQAJAIAQoAgRBAUcNACAEKAIIQXxxQQxHDQAgASgCACgCCCHLCUHUiQtBADYCACDLCSABQcGzAxADQdSJCygCACHMCUHUiQtBADYCACDMCUEBRw0BDAYLIAItAAxFDAELIAMoAjAiBEEHSQ0DIAItAAxFCyEJIAQoAgRBAUcNAiAEKAIIQQRHBEBBxr4FIQVBnAIhBkHmmgMhB0HfvgUhCAwDCyADQQI2AhBB1IkLQQA2AgAgAyADKAIgIgRB/////wdxIARBAXRBAXUgCRs2AgBBnAMgACADEAIaQdSJCygCACHNCUHUiQtBADYCACDNCUEBRgRAEAAhBiADEFkaDDALIAMQWRogAygCOCIERQ0AIAMoAjwiBiAEIgVHBEADQCAGQRhrEFkiBiAERw0ACyADKAI4IQULIAMgBDYCPCAFEFoLIANBIGoQWRogA0HQAGokAAwDCxAAIQYMLQtB1IkLQQA2AgBBDSAIIAcgBiAFEAVB1IkLKAIAIc4JQdSJC0EANgIAIM4JQQFGDQAACxAAIQYMKwsMIwsjAEHQAWsiAyQAIANCADcDsAEgA0EANgK4ASADQQA2AsgBIANCADcDqAEgA0EANgKgASADQgA3A8ABQdSJC0EANgIAQYIMIANB6ABqIAEgAkEIaiADQaABahAFQdSJCygCACEEQdSJC0EANgIAAkACQAJAAkACQAJAAkACQAJAIARBAUcEQCADKAKYAUUNASAAIAMoAmg2AgBB1IkLQQA2AgBBwAAgAEEIaiADQfAAahACGkHUiQsoAgAhzwlB1IkLQQA2AgAgzwlBAUYNAiAAIAMoAogBNgIgIAAgAygCjAE2AiQgACADKAKQATYCKCADQQA2ApABIANCADcDiAEgACADKQOYATcDMAwJCxAAIQYMAwsgAigCGCEEQdSJC0EANgIAQaIBIANBMGogASAEEAhB1IkLKAIAIQRB1IkLQQA2AgACQAJAAkAgBEEBRwRAIAMoAjAhBCADKAJgRQ0BIAAgBDYCAEHUiQtBADYCAEHAACAAQQhqIANBOGoQAhpB1IkLKAIAIdAJQdSJC0EANgIAINAJQQFGDQIgA0HgAGohBiAAIAMoAlA2AiAgACADKAJUNgIkIAAgAygCWDYCKCADQQA2AlggA0IANwNQDAkLEAAhBgwECyADKAJUIAMoAlBrQRhtIgcgBGpBAUcEQEHUiQtBADYCAEENQYfBBUHQlQNBxwBBmNcDEAVB1IkLKAIAIdEJQdSJC0EANgIAINEJQQFGDQEMBwsCQCADKAJIIgVBB0kNACAFKAIEQQFHDQAgBSgCCEF8cUEMRw0AIAEoAgAoAggh0glB1IkLQQA2AgAg0gkgAUHpsgMQA0HUiQsoAgAh0wlB1IkLQQA2AgAg0wlBAUYNASADKAJUIAMoAlBrQRhtIQcgAygCMCEECwJAAkAgBCAHakEBRwRAQZjXAyEHQccAIQRB0JUDIQVBh8EFIQYMAQtB5eYEIQdBrgIhBEHmmgMhBUG6/AUhBiADKAJIIghBB0kNACAIKAIEQQFHDQACfyAIKAIIIghBD00EQCAIQQFGDAELIAgoAhBFC0UNACADKAI4DQELQdSJC0EANgIAQQ0gBiAFIAQgBxAFQdSJCygCACHUCUHUiQtBADYCACDUCUEBRw0HEAAhBgwCCyABKAIUIgQoAtgBIQUgBCgC1AEhBEHUiQtBADYCAEGoASAEIAUgAykDOCLUDBDxASEEQdSJCygCACEFQdSJC0EANgIAAkACQAJAIAVBAUcEQCAAQgA3AwAgAEIANwMwIABCADcDKCAAQgA3AyAgAEIANwMYIABCADcDECAAQgA3AwggBCgCDEUNAiABKAKIAyIFKAIAKAIQIdUJQdSJC0EANgIAINUJIAMgBSAEIANBoAFqEAVB1IkLKAIAIdYJQdSJC0EANgIAINYJQQFGDQMgACADKAIANgIAIANBCGohByAAIANHBEAgAEEIahBZIQRB1IkLQQA2AgBBwAAgBCAHEAIaQdSJCygCACHXCUHUiQtBADYCACDXCUEBRg0CCwwJCxAAIQYMBAsQACEGIAMQaCAAEGgMAwtB1IkLQQA2AgBBqQEgAyABINQMIANBoAFqEMICQdSJCygCACEEQdSJC0EANgIAAkAgBEEBRwRAIAAgAygCADYCACADQQhqIQcgACADRwRAIABBCGoQWSEEQdSJC0EANgIAQcAAIAQgBxACGkHUiQsoAgAh2AlB1IkLQQA2AgAg2AlBAUYNAgsMCAsQACEGIAAQaAwDCxAAIQYgAxBoIAAQaAwCCxAAIQYgABBoDAELEAAhBgsgA0EwahBoDAELEAAhBgsgA0HoAGoQaAsgA0GgAWoQaAwxCyAAKAIgIgUEQCAAKAIkIgYgBSIERwRAA0AgBkEYaxBZIgYgBUcNAAsgACgCICEECyAAIAU2AiQgBBBaCyAAIAMoAiA2AiAgACADKAIkNgIkIAAgAygCKDYCKCADQQA2AiggA0IANwMgIAcQWRpBkK0LIQYgAi0AHA0BDAILAAsgACAGKQMANwMwCyADKAJQIgUEQCADKAJUIgYgBSIERwRAA0AgBkEYaxBZIgYgBUcNAAsgAygCUCEECyADIAU2AlQgBBBaCyADQThqEFkaIAMoAogBIgVFDQAgAygCjAEiBiAFIgRHBEADQCAGQRhrEFkiBiAFRw0ACyADKAKIASEECyADIAU2AowBIAQQWgsgA0HwAGoQWRogAygCwAEiBQRAIAMoAsQBIgYgBSIERwRAA0AgBkEYaxBZIgYgBUcNAAsgAygCwAEhBAsgAyAFNgLEASAEEFoLIANBqAFqEFkaIANB0AFqJAAMIgsjAEGgAmsiAyQAIANB6AFqIAEgAigCCBCvAgJAAkACQAJAAkACQAJAAkACQAJAAkACQCADKAKYAgRAIAMgAygC6AE2AnhB1IkLQQA2AgBBwAAgA0GAAWogA0HwAWoQAiEHQdSJCygCACHZCUHUiQtBADYCACDZCUEBRg0CIANBADYCoAEgA0IANwOYAUHUiQtBADYCAEG7ASADQZgBaiADKAKIAiIEIAMoAowCIgUgBSAEa0EYbRAFQdSJCygCACHaCUHUiQtBADYCACDaCUEBRgRAEAAhACAHEFkaDEILIAMgAykDmAI3A6gBIAMgAygCeDYCsAFB1IkLQQA2AgBBwAAgA0G4AWogBxACIQhB1IkLKAIAIQRB1IkLQQA2AgACQAJAAkAgBEEBRwRAIANBADYC2AEgA0IANwPQAUHUiQtBADYCAEG7ASADQdABaiADKAKYASIEIAMoApwBIgUgBSAEa0EYbRAFQdSJCygCACHbCUHUiQtBADYCACDbCUEBRgRAEAAhACAIEFkaDAQLIAMgAykDqAE3A+ABIAMgAygCsAE2AiBB1IkLQQA2AgBBwAAgA0EoaiAIEAIhBEHUiQsoAgAh3AlB1IkLQQA2AgAg3AlBAUYNASADQQA2AkggA0IANwNAQdSJC0EANgIAQbsBIANBQGsgAygC0AEiBSADKALUASIGIAYgBWtBGG0QBUHUiQsoAgAh3QlB1IkLQQA2AgAg3QlBAUYEQBAAIQAgBBBZGgwDCyADQQA6AFggAyADKQPgATcDUCADKALQASIFBEAgAygC1AEiBiAFIgRHBEADQCAGQRhrEFkiBiAFRw0ACyADKALQASEECyADIAU2AtQBIAQQWgsgCBBZGiADKAKYASIFBEAgAygCnAEiBiAFIgRHBEADQCAGQRhrEFkiBiAFRw0ACyADKAKYASEECyADIAU2ApwBIAQQWgsMBQsQACEADAILEAAhAAsgA0GwAWoQaAsgA0H4AGoQaAxBCwJAAkACQAJAAkACQAJAIAMoAugBIAMoAowCIAMoAogCa0EYbWpBAUcEQEHUiQtBADYCAEENQYfBBUHQlQNBxwBBmNcDEAVB1IkLKAIAId4JQdSJC0EANgIAIN4JQQFGDQEMEgtB1IkLQQA2AgBBwAAgA0GwAWogA0HwAWoQAiEHQdSJCygCACHfCUHUiQtBADYCACDfCUEBRg0AIAcoAhAiBUEHSQ0EIAUoAgRBAUcNBCACKAIMIQQgBSgCCEF8cUEMRw0DIARBB0kNAiAEKAIEQQFHDQIgBCgCDEEBRw0CQdSJC0EANgIAQcAAIANB4ABqIAcQAiEGQdSJCygCACHgCUHUiQtBADYCACDgCUEBRg0FQdSJC0EANgIAQcAAIANB+ABqIAYQAiEFQdSJCygCACHhCUHUiQtBADYCACDhCUEBRg0BQdSJC0EANgIAQcAAIANBIGogBRACGkHUiQsoAgAh4glB1IkLQQA2AgBBASEEIOIJQQFHDQYQACEAIAUQWRogBhBZGiAHEFkaDEcLEAAhAAxGCxAAIQAgBhBZGiAHEFkaDEULQdSJC0EANgIAQcAAIANB4ABqIAcQAiEGQdSJCygCACHjCUHUiQtBADYCACDjCUEBRg0CQdSJC0EANgIAQcAAIANB+ABqIAYQAiEFQdSJCygCACHkCUHUiQtBADYCACDkCUEBRg0LQdSJC0EANgIAQcAAIANBIGogBRACGkHUiQsoAgAh5QlB1IkLQQA2AgBBAiEEIOUJQQFHDQMQACEAIAUQWRogBhBZGiAHEFkaDEQLIARBB0kNACAEKAIEQQFHDQACQCAFKAIIIgUgBCgCCCIERwRAQdSJC0EANgIAQYwDIAUgBBACIecJQdSJCygCACHmCUHUiQtBADYCACDmCUEBRg0DIOcJRQ0BC0HUiQtBADYCAEHAACADQeAAaiAHEAIhBkHUiQsoAgAh6AlB1IkLQQA2AgAg6AlBAUYNAkHUiQtBADYCAEHAACADQfgAaiAGEAIhBUHUiQsoAgAh6QlB1IkLQQA2AgAg6QlBAUYNDEHUiQtBADYCAEHAACADQSBqIAUQAhpB1IkLKAIAIeoJQdSJC0EANgIAQQEhBCDqCUEBRw0DEAAhACAFEFkaIAYQWRogBxBZGgxEC0HUiQtBADYCAEHAACADQeAAaiAHEAIhBkHUiQsoAgAh6wlB1IkLQQA2AgAg6wlBAUYNAUHUiQtBADYCAEHAACADQfgAaiAGEAIhBUHUiQsoAgAh7AlB1IkLQQA2AgAg7AlBAUYNDEHUiQtBADYCAEHAACADQSBqIAUQAhpB1IkLKAIAIe0JQdSJC0EANgIAQQIhBCDtCUEBRw0CEAAhACAFEFkaIAYQWRogBxBZGgxDC0HUiQtBADYCAEENQb//BUG4swJB5AdBq4kEEAVB1IkLKAIAIe4JQdSJC0EANgIAIO4JQQFHDQwLEAAhACAHEFkaDEELIAMgBDoAWCAFEFkaIAYQWRoLIAcQWRogAygCiAIiBARAIAMoAowCIgYgBCIFRwRAA0AgBkEYaxBZIgYgBEcNAAsgAygCiAIhBQsgAyAENgKMAiAFEFoLIANB8AFqEFkaIAMtAFgiBA0BIAAgAygCIDYCAEHUiQtBADYCAEHAACAAQQhqIANBKGoQAiHxCUHUiQsoAgAh7wlB1IkLQQA2AgAg7wlBAUYNBCAAQgA3AyAgAEEANgIoQdSJC0EANgIAQbsBIABBIGogAygCQCIFIAMoAkQiBiAGIAVrQRhtEAVB1IkLKAIAIfAJQdSJC0EANgIAIPAJQQFHDQIQACEGIPEJEFkaDAULEAAhAAw+CyADQQI2AhhB1IkLQQA2AgAgAyAEQQFGNgIIQZwDIAAgA0EIaiIEEAIaQdSJCygCACHyCUHUiQtBADYCACDyCUEBRwRAIAQQWRoMAgsQACEGIANBCGoQWRoMAwsgACADKQNQNwMwCyADLQBYIgRB/wFHBEAgA0GSDDYC8AEgA0GTDDYC7AEgA0GUDDYC6AFB1IkLQQA2AgAgA0HoAWogBEECdGooAgAgA0H4AGogA0EgahADQdSJCygCACHzCUHUiQtBADYCACDzCUEBRg0/CyADQaACaiQADAYLEAAhBgsgA0EgahDUCwwwCxAAIQAgBhBZGiAHEFkaDDgLEAAhACAGEFkaIAcQWRoMNwsQACEAIAYQWRogBxBZGgw2CwALDCELIwBBoAJrIgMkACADQegBaiABIAIoAggQrwICQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCADKAKYAgRAIAMgAygC6AE2AnhB1IkLQQA2AgBBwAAgA0GAAWogA0HwAWoQAiEHQdSJCygCACH0CUHUiQtBADYCACD0CUEBRg0CIANBADYCoAEgA0IANwOYAUHUiQtBADYCAEG7ASADQZgBaiADKAKIAiIEIAMoAowCIgUgBSAEa0EYbRAFQdSJCygCACH1CUHUiQtBADYCACD1CUEBRgRAEAAhACAHEFkaDEULIAMgAykDmAI3A6gBIAMgAygCeDYCsAFB1IkLQQA2AgBBwAAgA0G4AWogBxACIQhB1IkLKAIAIQRB1IkLQQA2AgACQAJAAkAgBEEBRwRAIANBADYC2AEgA0IANwPQAUHUiQtBADYCAEG7ASADQdABaiADKAKYASIEIAMoApwBIgUgBSAEa0EYbRAFQdSJCygCACH2CUHUiQtBADYCACD2CUEBRgRAEAAhACAIEFkaDAQLIAMgAykDqAE3A+ABIAMgAygCsAE2AiBB1IkLQQA2AgBBwAAgA0EoaiAIEAIhBEHUiQsoAgAh9wlB1IkLQQA2AgAg9wlBAUYNASADQQA2AkggA0IANwNAQdSJC0EANgIAQbsBIANBQGsgAygC0AEiBSADKALUASIGIAYgBWtBGG0QBUHUiQsoAgAh+AlB1IkLQQA2AgAg+AlBAUYEQBAAIQAgBBBZGgwDCyADQQA6AFggAyADKQPgATcDUCADKALQASIFBEAgAygC1AEiBiAFIgRHBEADQCAGQRhrEFkiBiAFRw0ACyADKALQASEECyADIAU2AtQBIAQQWgsgCBBZGiADKAKYASIFBEAgAygCnAEiBiAFIgRHBEADQCAGQRhrEFkiBiAFRw0ACyADKAKYASEECyADIAU2ApwBIAQQWgsMBQsQACEADAILEAAhAAsgA0GwAWoQaAsgA0H4AGoQaAxECwJAAkACQAJAAkACQAJAIAMoAugBIAMoAowCIAMoAogCa0EYbWpBAUcEQEHUiQtBADYCAEENQYfBBUHQlQNBxwBBmNcDEAVB1IkLKAIAIfkJQdSJC0EANgIAIPkJQQFGDQEMFgtB1IkLQQA2AgBBwAAgA0GwAWogA0HwAWoQAiEHQdSJCygCACH6CUHUiQtBADYCACD6CUEBRg0AIAcoAhAiBUEHSQ0EIAUoAgRBAUcNBCACKAIEIQQgBSgCCEF8cUEMRw0DIARBB0kNAiAEKAIEQQFHDQIgBCgCDEEBRw0CQdSJC0EANgIAQcAAIANB4ABqIAcQAiEGQdSJCygCACH7CUHUiQtBADYCACD7CUEBRg0FQdSJC0EANgIAQcAAIANB+ABqIAYQAiEFQdSJCygCACH8CUHUiQtBADYCACD8CUEBRg0BQdSJC0EANgIAQcAAIANBIGogBRACGkHUiQsoAgAh/QlB1IkLQQA2AgBBASEEIP0JQQFHDQYQACEAIAUQWRogBhBZGiAHEFkaDEoLEAAhAAxJCxAAIQAgBhBZGiAHEFkaDEgLQdSJC0EANgIAQcAAIANB4ABqIAcQAiEGQdSJCygCACH+CUHUiQtBADYCACD+CUEBRg0CQdSJC0EANgIAQcAAIANB+ABqIAYQAiEFQdSJCygCACH/CUHUiQtBADYCACD/CUEBRg0NQdSJC0EANgIAQcAAIANBIGogBRACGkHUiQsoAgAhgApB1IkLQQA2AgBBAiEEIIAKQQFHDQMQACEAIAUQWRogBhBZGiAHEFkaDEcLIARBB0kNACAEKAIEQQFHDQACQCAFKAIIIgUgBCgCCCIERwRAQdSJC0EANgIAQYwDIAUgBBACIYIKQdSJCygCACGBCkHUiQtBADYCACCBCkEBRg0DIIIKRQ0BC0HUiQtBADYCAEHAACADQeAAaiAHEAIhBkHUiQsoAgAhgwpB1IkLQQA2AgAggwpBAUYNAkHUiQtBADYCAEHAACADQfgAaiAGEAIhBUHUiQsoAgAhhApB1IkLQQA2AgAghApBAUYNDkHUiQtBADYCAEHAACADQSBqIAUQAhpB1IkLKAIAIYUKQdSJC0EANgIAQQEhBCCFCkEBRw0DEAAhACAFEFkaIAYQWRogBxBZGgxHC0HUiQtBADYCAEHAACADQeAAaiAHEAIhBkHUiQsoAgAhhgpB1IkLQQA2AgAghgpBAUYNAUHUiQtBADYCAEHAACADQfgAaiAGEAIhBUHUiQsoAgAhhwpB1IkLQQA2AgAghwpBAUYNDkHUiQtBADYCAEHAACADQSBqIAUQAhpB1IkLKAIAIYgKQdSJC0EANgIAQQIhBCCICkEBRw0CEAAhACAFEFkaIAYQWRogBxBZGgxGC0HUiQtBADYCAEENQb//BUG4swJB5AdBq4kEEAVB1IkLKAIAIYkKQdSJC0EANgIAIIkKQQFHDRALEAAhACAHEFkaDEQLIAMgBDoAWCAFEFkaIAYQWRoLIAcQWRogAygCiAIiBARAIAMoAowCIgYgBCIFRwRAA0AgBkEYaxBZIgYgBEcNAAsgAygCiAIhBQsgAyAENgKMAiAFEFoLIANB8AFqEFkaIAMtAFgOAwECBAMLEAAhAAxBCyAAIAMoAiA2AgBB1IkLQQA2AgBBwAAgAEEIaiADQShqEAIhjApB1IkLKAIAIYoKQdSJC0EANgIAIIoKQQFGDQUgAEIANwMgIABBADYCKEHUiQtBADYCAEG7ASAAQSBqIAMoAkAiBSADKAJEIgYgBiAFa0EYbRAFQdSJCygCACGLCkHUiQtBADYCACCLCkEBRw0DEAAhACCMChBZGgwKC0HUiQtBADYCAEHAACADQQhqIANBIGoQAiEEQdSJCygCACEFQdSJC0EANgIAAkAgBUEBRwRAQdSJC0EANgIAQZwDIAAgBBACGkHUiQsoAgAhjQpB1IkLQQA2AgAgjQpBAUYNASAEEFkaDAULEAAhAAwKCxAAIQAgBBBZGgwJC0HUiQtBADYCAEENQe+VBkHQlQNB3gtBkt4AEAVB1IkLKAIAIY4KQdSJC0EANgIAII4KQQFHDQkMBwsgASgCACgCCCGPCkHUiQtBADYCACCPCiABQc/4ARADQdSJCygCACGQCkHUiQtBADYCACCQCkEBRg0GQdSJC0EANgIAQRRB468EQdCVA0HgCxAIQdSJCygCACGRCkHUiQtBADYCACCRCkEBRw0IDAYLIAAgAykDUDcDMAsgAy0AWCIEQf8BRwRAIANBkgw2AvABIANBkww2AuwBIANBlAw2AugBQdSJC0EANgIAIANB6AFqIARBAnRqKAIAIANB+ABqIANBIGoQA0HUiQsoAgAhkgpB1IkLQQA2AgAgkgpBAUYNPwsgA0GgAmokAAwHCxAAIQAMBAsQACEAIAYQWRogBxBZGgw5CxAAIQAgBhBZGiAHEFkaDDgLEAAhACAGEFkaIAcQWRoMNwsQACEACyADQSBqENQLDDcLAAsMIAsjAEGQA2siAyQAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAIoAghBfnFBAkYEQCADQdgCaiABIAIoAhQQrwICQAJAAkACQAJAAkACQAJAAkAgAygCiAMEQCADIAMoAtgCNgLoAUHUiQtBADYCAEHAACADQfABaiADQeACahACIQdB1IkLKAIAIZMKQdSJC0EANgIAIJMKQQFGDQIgA0EANgKQAiADQgA3A4gCQdSJC0EANgIAQbsBIANBiAJqIAMoAvgCIgQgAygC/AIiBSAFIARrQRhtEAVB1IkLKAIAIZQKQdSJC0EANgIAIJQKQQFGBEAQACEEIAcQWRoMFQsgAyADKQOIAzcDmAIgAyADKALoATYCoAJB1IkLQQA2AgBBwAAgA0GoAmogBxACIQhB1IkLKAIAIQRB1IkLQQA2AgACQAJAAkAgBEEBRwRAIANBADYCyAIgA0IANwPAAkHUiQtBADYCAEG7ASADQcACaiADKAKIAiIEIAMoAowCIgUgBSAEa0EYbRAFQdSJCygCACGVCkHUiQtBADYCACCVCkEBRgRAEAAhBCAIEFkaDAQLIAMgAykDmAI3A9ACIAMgAygCoAI2ApABQdSJC0EANgIAQcAAIANBmAFqIAgQAiEFQdSJCygCACGWCkHUiQtBADYCACCWCkEBRg0BIANBADYCuAEgA0IANwOwAUHUiQtBADYCAEG7ASADQbABaiADKALAAiIEIAMoAsQCIgYgBiAEa0EYbRAFQdSJCygCACGXCkHUiQtBADYCACCXCkEBRgRAEAAhBCAFEFkaDAMLIANBADoAyAEgAyADKQPQAjcDwAEgAygCwAIiBQRAIAMoAsQCIgYgBSIERwRAA0AgBkEYaxBZIgYgBUcNAAsgAygCwAIhBAsgAyAFNgLEAiAEEFoLIAgQWRogAygCiAIiBQRAIAMoAowCIgYgBSIERwRAA0AgBkEYaxBZIgYgBUcNAAsgAygCiAIhBAsgAyAFNgKMAiAEEFoLDAULEAAhBAwCCxAAIQQLIANBoAJqEGgLIANB6AFqEGgMFAsCQAJAAkACQAJAAkACQCADKALYAiADKAL8AiADKAL4AmtBGG1qQQFHBEBB1IkLQQA2AgBBDUGHwQVB0JUDQccAQZjXAxAFQdSJCygCACGYCkHUiQtBADYCACCYCkEBRg0BDBwLQdSJC0EANgIAQcAAIANBoAJqIANB4AJqEAIhB0HUiQsoAgAhmQpB1IkLQQA2AgAgmQpBAUYNACAHKAIQIgVBB0kNBCAFKAIEQQFHDQQgAigCGCEEIAUoAghBfHFBDEcNAyAEQQdJDQIgBCgCBEEBRw0CIAQoAgxBAUcNAkHUiQtBADYCAEHAACADQdABaiAHEAIhBkHUiQsoAgAhmgpB1IkLQQA2AgAgmgpBAUYNBUHUiQtBADYCAEHAACADQegBaiAGEAIhBUHUiQsoAgAhmwpB1IkLQQA2AgAgmwpBAUYNAUHUiQtBADYCAEHAACADQZABaiAFEAIaQdSJCygCACGcCkHUiQtBADYCAEEBIQQgnApBAUcNBhAAIQQgBRBZGiAGEFkaIAcQWRoMGgsQACEEDBkLEAAhBCAGEFkaIAcQWRoMGAtB1IkLQQA2AgBBwAAgA0HQAWogBxACIQZB1IkLKAIAIZ0KQdSJC0EANgIAIJ0KQQFGDQJB1IkLQQA2AgBBwAAgA0HoAWogBhACIQVB1IkLKAIAIZ4KQdSJC0EANgIAIJ4KQQFGDRBB1IkLQQA2AgBBwAAgA0GQAWogBRACGkHUiQsoAgAhnwpB1IkLQQA2AgBBAiEEIJ8KQQFHDQMQACEEIAUQWRogBhBZGiAHEFkaDBcLIARBB0kNACAEKAIEQQFHDQACQCAFKAIIIgUgBCgCCCIERwRAQdSJC0EANgIAQYwDIAUgBBACIaEKQdSJCygCACGgCkHUiQtBADYCACCgCkEBRg0DIKEKRQ0BC0HUiQtBADYCAEHAACADQdABaiAHEAIhBkHUiQsoAgAhogpB1IkLQQA2AgAgogpBAUYNAkHUiQtBADYCAEHAACADQegBaiAGEAIhBUHUiQsoAgAhowpB1IkLQQA2AgAgowpBAUYNEUHUiQtBADYCAEHAACADQZABaiAFEAIaQdSJCygCACGkCkHUiQtBADYCAEEBIQQgpApBAUcNAxAAIQQgBRBZGiAGEFkaIAcQWRoMFwtB1IkLQQA2AgBBwAAgA0HQAWogBxACIQZB1IkLKAIAIaUKQdSJC0EANgIAIKUKQQFGDQFB1IkLQQA2AgBBwAAgA0HoAWogBhACIQVB1IkLKAIAIaYKQdSJC0EANgIAIKYKQQFGDRFB1IkLQQA2AgBBwAAgA0GQAWogBRACGkHUiQsoAgAhpwpB1IkLQQA2AgBBAiEEIKcKQQFHDQIQACEEIAUQWRogBhBZGiAHEFkaDBYLQdSJC0EANgIAQQ1Bv/8FQbizAkHkB0GriQQQBUHUiQsoAgAhqApB1IkLQQA2AgAgqApBAUcNFgsQACEEIAcQWRoMFAsgAyAEOgDIASAFEFkaIAYQWRoLIAcQWRogAygC+AIiBARAIAMoAvwCIgYgBCIFRwRAA0AgBkEYaxBZIgYgBEcNAAsgAygC+AIhBQsgAyAENgL8AiAFEFoLIANB4AJqEFkaIAMtAMgBDgMBBAIDCxAAIQQMEQsgACADKAKQATYCAEHUiQtBADYCAEHAACAAQQhqIANBmAFqEAIhqwpB1IkLKAIAIakKQdSJC0EANgIAIKkKQQFGDQUgAEIANwMgIABBADYCKEHUiQtBADYCAEG7ASAAQSBqIAMoArABIgQgAygCtAEiBiAGIARrQRhtEAVB1IkLKAIAIaoKQdSJC0EANgIAIKoKQQFHDQMQACEEIKsKEFkaDA8LIAIoAghBAkYEQEHUiQtBADYCAEHAACADQfgAaiADQZABahACIQVB1IkLKAIAIawKQdSJC0EANgIAIKwKQQFGDQ5B1IkLQQA2AgBBnAMgACAFEAIaQdSJCygCACGtCkHUiQtBADYCACCtCkEBRwRAIAUQWRoMBQsQACEEIAUQWRoMDwsgAikCDCHUDEHUiQtBADYCAEHAACADQeAAaiADQZABahACIQVB1IkLKAIAIa4KQdSJC0EANgIAIK4KQQFGDQ1B1IkLQQA2AgBBwAAgA0HYAmogBRACIQZB1IkLKAIAIa8KQdSJC0EANgIAIK8KQQFHBEBB1IkLQQA2AgBBtwEgACAGQQEQBCEHQdSJCygCACEEQdSJC0EANgIAAkAgBEEBRwRAIAYoAhBBAUsNAUHUiQtBADYCAEENQZKTBkHmmgNBtwVBm7kBEAVB1IkLKAIAIbAKQdSJC0EANgIAILAKQQFHDRMQACEEIAcQaCAGEFkaIAUQWRoMEQsQACEEIAYQWRogBRBZGgwQCyAGEFkaIAcg1Aw3AzAgBRBZGgwECxAAIQQgBRBZGgwOC0HUiQtBADYCAEENQa3uAEHQlQNB8QtBmuMCEAVB1IkLKAIAIbEKQdSJC0EANgIAILEKQQFHDQ8MCwsgAigCCEECRgRAIAIpAgwh1AxB1IkLQQA2AgBBwAAgA0HIAGogA0GQAWoQAiEFQdSJCygCACGyCkHUiQtBADYCACCyCkEBRg0LQdSJC0EANgIAQcAAIANB2AJqIAUQAiEGQdSJCygCACGzCkHUiQtBADYCACCzCkEBRwRAQdSJC0EANgIAQbcBIAAgBkEBEAQhB0HUiQsoAgAhBEHUiQtBADYCAAJAIARBAUcEQCAGKAIQQQFLDQFB1IkLQQA2AgBBDUGSkwZB5poDQbcFQZu5ARAFQdSJCygCACG0CkHUiQtBADYCACC0CkEBRw0SEAAhBCAHEGggBhBZGiAFEFkaDBALEAAhBCAGEFkaIAUQWRoMDwsgBhBZGiAHINQMNwMwIAUQWRoMAwsQACEEIAUQWRoMDQtB1IkLQQA2AgBBwAAgA0EwaiADQZABahACIQVB1IkLKAIAIbUKQdSJC0EANgIAILUKQQFGDQpB1IkLQQA2AgBBnAMgACAFEAIaQdSJCygCACG2CkHUiQtBADYCACC2CkEBRwRAIAUQWRoMAgsQACEEIAUQWRoMDAsgACADKQPAATcDMAsgAy0AyAEiBEH/AUYNAiADQZIMNgLwASADQZMMNgLsASADQZQMNgLoAUHUiQtBADYCACADQegBaiAEQQJ0aigCACADQdABaiADQZABahADQdSJCygCACG3CkHUiQtBADYCACC3CkEBRw0CDEMLEAAhBAwJCyADQZABaiABIAIoAhQQrwIgAygCkAEhBAJAIAMoAsABBEAgACAENgIAQdSJC0EANgIAQcAAIABBCGogA0GYAWoQAhpB1IkLKAIAIbgKQdSJC0EANgIAILgKQQFGDQMgACADKAKwATYCICAAIAMoArQBNgIkIAAgAygCuAE2AiggA0EANgK4ASADQgA3A7ABIAAgAykDwAE3AzAMAQsgAygCtAEgAygCsAFrQRhtIARqQQFHBEBB1IkLQQA2AgBBDUGHwQVB0JUDQccAQZjXAxAFQdSJCygCACG5CkHUiQtBADYCACC5CkEBRw0MDAcLIANBmAFqIQUgAygCqAEhBCACKAIIRQRAAkAgBEEHSQ0AIAQoAgRBAUcNACAEKAIIQXxxQQxHDQAgAikCDCHUDCAAQgA3AyggAEIANwMgIABCADcDGCAAQgA3AxAgAEIANwMIIABCADcDACAAINQMNwMwDAILQdSJC0EANgIAQcAAIANBGGogBRACIQVB1IkLKAIAIboKQdSJC0EANgIAILoKQQFGDQdB1IkLQQA2AgBBnAMgACAFEAIaQdSJCygCACG7CkHUiQtBADYCACC7CkEBRwRAIAUQWRoMAgsQACEEIAUQWRoMOgsCQCAEQQdJDQAgBCgCBEEBRw0AIAQoAghBfHFBDEcNACAAQgA3AwAgAEIANwMwIABCADcDKCAAQgA3AyAgAEIANwMYIABCADcDECAAQgA3AwgMAQsgAikCDCHUDEHUiQtBADYCAEHAACADIAUQAiEFQdSJCygCACG8CkHUiQtBADYCACC8CkEBRg0GQdSJC0EANgIAQcAAIANB2AJqIAUQAiEGQdSJCygCACEEQdSJC0EANgIAAkAgBEEBRwRAQdSJC0EANgIAQbcBIAAgBkEBEAQhB0HUiQsoAgAhvQpB1IkLQQA2AgAgvQpBAUcEQCAGKAIQQQFLDQJB1IkLQQA2AgBBDUGSkwZB5poDQbcFQZu5ARAFQdSJCygCACG+CkHUiQtBADYCACC+CkEBRw0OEAAhBCAHEGggBhBZGiAFEFkaDDwLEAAhBCAGEFkaIAUQWRoMOwsQACEEIAUQWRoMOgsgBhBZGiAHINQMNwMwIAUQWRoLIAMoArABIgUEQCADKAK0ASIGIAUiBEcEQANAIAZBGGsQWSIGIAVHDQALIAMoArABIQQLIAMgBTYCtAEgBBBaCyADQZgBahBZGgsgA0GQA2okAAwKCxAAIQQMNgsQACEEIAYQWRogBxBZGgwGCxAAIQQgBhBZGiAHEFkaDAULEAAhBCAGEFkaIAcQWRoMBAsQACEEDDILEAAhBAwBCxAAIQQLIANBkAFqENQLDDELIANB2AJqEGgMMAsACwwfCyMAQYABayIDJAACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCACKAIEIgRBAUYEQCACKAIMIggEQCAAQQhqIQkDQCACKAIMIAdNDUUgACABIAIoAgggB0ECdGooAgAQrwIgACgCMA0DIAAoAiAiBQRAIAAoAiQiBiAFIgRHBEADQCAGQRhrEFkiBiAFRw0ACyAAKAIgIQQLIAAgBTYCJCAEEFoLIAkQWRogB0EBaiIHIAhHDQALC0GlzQRB0JUDQZsMEGIACyAEQQdJDUMgBCgCBEEBRw1DIAQoAggiCEEQSQ0IIAgoAhBBAkcNCCAIKAIYIQQgCCgCFCEFIANBADYCaCADQgA3A2AgA0EANgJ4IANCADcDWCADQgA3A3AgAyAEIAVHNgJQIANB2ABqIQoCQCAEIAVrQQxtIgRBAkkNAEHUiQtBADYCAEG2BSADQfAAaiIFIARBAWsQA0HUiQsoAgAhvwpB1IkLQQA2AgAgvwpBAUcNABAAIQAgBRCfBAxACwJAIAgoAhQiBiAIKAIYRwRAIABBCGohCQNAIAYgB0EMbGohBAJAIAIoAgwiBUUEQCAEKAIAIQVB1IkLQQA2AgBBtwUgA0E4aiIEIAUQA0HUiQsoAgAhBUHUiQtBADYCAAJAIAVBAUcEQCAEIAMoAnAgB0EYbGpBGGsgCiAHGyIFRwRAIAUQWSEFQdSJC0EANgIAQcAAIAUgBBACGkHUiQsoAgAhwApB1IkLQQA2AgAgwApBAUYNAgsgA0E4ahBZGgwDCxAAIQYMEQsQACEGIANBOGoQWRoMEAsgBSAHTQRAQdSJC0EANgIAQQ1BxaIBQYmiA0G8AUGmiAUQBUHUiQsoAgAhwQpB1IkLQQA2AgAgwQpBAUYNDwwOCyACKAIIIAdBAnRqKAIAIQVB1IkLQQA2AgBBogEgACABIAUQCEHUiQsoAgAhwgpB1IkLQQA2AgAgwgpBAUYNCyAAKAIwDQMgACgCACAAKAIkIAAoAiBrQRhtakEBRwRAQdSJC0EANgIAQQ1Bh8EFQdCVA0HHAEGY1wMQBUHUiQsoAgAhwwpB1IkLQQA2AgAgwwpBAUcNDhAAIQYgABBoDBALQdSJC0EANgIAQcAAIANBIGogCRACIQVB1IkLKAIAIcQKQdSJC0EANgIAIMQKQQFGDQUgBCgCBCEGIAQoAgAhC0HUiQtBADYCAEGVDCADQThqIgQgBSALIAYQBUHUiQsoAgAhxQpB1IkLQQA2AgAgxQpBAUYNBiAEIAMoAnAgB0EYbGpBGGsgCiAHGyIGRwRAIAYQWSEGQdSJC0EANgIAQcAAIAYgBBACGkHUiQsoAgAhxgpB1IkLQQA2AgAgxgpBAUYNCAsgA0E4ahBZGiAFEFkaIAAoAiAiBQRAIAAoAiQiBiAFIgRHBEADQCAGQRhrEFkiBiAFRw0ACyAAKAIgIQQLIAAgBTYCJCAEEFoLIAkQWRoLIAdBAWoiByAIKAIYIAgoAhQiBmtBDG1JDQALCyACKAIEIQVB1IkLQQA2AgBBlgwgA0EIaiIEIANB0ABqIAUQCEHUiQsoAgAhxwpB1IkLQQA2AgAgxwpBAUYNBkHUiQtBADYCAEGcAyAAIAQQAhpB1IkLKAIAIcgKQdSJC0EANgIAIMgKQQFGDQcgBBBZGgsgAygCcCIEBEAgAygCdCIGIAQiBUcEQANAIAZBGGsQWSIGIARHDQALIAMoAnAhBQsgAyAENgJ0IAUQWgsgChBZGgsgA0GAAWokAAwLCxAAIQYgABBoDAkLEAAhBgwBCxAAIQYgA0E4ahBZGgsgBRBZGiAAEGgMBgsQACEGDAULEAAhBiADQQhqEFkaDAQLEAAhBgwDC0GZ+QVBuLMCQeUJQeiGARABAAsACxAAIQYLIANB0ABqEGgMKQsMHgsjAEHwAGsiAyQAIANBOGogASACKAIMEK8CAkACQAJAAkAgAygCaARAIAAgAygCODYCAEHUiQtBADYCAEHAACAAQQhqIANBQGsQAhpB1IkLKAIAIckKQdSJC0EANgIAIMkKQQFGDQEgACADKAJYNgIgIAAgAygCXDYCJCAAIAMoAmA2AiggA0EANgJgIANCADcDWCAAIAMpA2g3AzAMBAsgAygCOCADKAJcIAMoAlhrQRhtakEBRwRAQdSJC0EANgIAQQ1Bh8EFQdCVA0HHAEGY1wMQBUHUiQsoAgAhygpB1IkLQQA2AgAgygpBAUYNAgwDC0HUiQtBADYCAEG6BSADQTBqIANBQGsQA0HUiQsoAgAhywpB1IkLQQA2AgAgywpBAUYNAQJAAkAgAygCMCIFDQAgASgCACgCCCHMCkHUiQtBADYCACDMCiABQcGzAxADQdSJCygCACHNCkHUiQtBADYCACDNCkEBRw0AEAAhBgwBC0GriQQhBEHkByEGQb//BSEHAkACQCACKAIMKAIEIghBB0kNACAIKAIEQQFHDQBB6IYBIQRB5QkhBkGZ+QUhByAIKAIIIghBEEkNACAIKAIQQQJGDQELQdSJC0EANgIAQQ0gB0G4swIgBiAEEAVB1IkLKAIAIc4KQdSJC0EANgIAIM4KQQFHDQQQACEGDAELIAgoAhQgAigCCCIEQQxsaiIGKAIEIQcgBigCACEGIAUoAighCEHUiQtBADYCAEHAACADIAggBEEYbGpBGGsgBUEQaiAEGxACIQRB1IkLKAIAIQVB1IkLQQA2AgACQAJAAkAgBUEBRwRAIAItABAhCEHUiQtBADYCAEGXDCADQRhqIgUgBCAGIAcgCBAMQdSJCygCACHPCkHUiQtBADYCACDPCkEBRg0BQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAh0ApB1IkLQQA2AgAg0ApBAUYNAiAFEFkaIAQQWRoCQCADKAI0IgRFDQAgBCAEKAIEIgVBAWs2AgQgBQ0AIAQgBCgCACgCCBEBACAEEHULIAMoAlgiBUUNCCADKAJcIgYgBSIERwRAA0AgBkEYaxBZIgYgBUcNAAsgAygCWCEECyADIAU2AlwgBBBaDAgLEAAhBgwDCxAAIQYMAQsQACEGIANBGGoQWRoLIAQQWRoLIANBMGoQwwIMJAsQACEGDCMLEAAhBgwiCwALIANBQGsQWRogA0HwAGokAAwdCyMAQbABayIDJAAgA0H4AGogASACKAIMEK8CAkACQAJAAkACQAJAAkACQCADKAKoAQRAIAAgAygCeDYCAEHUiQtBADYCAEHAACAAQQhqIANBgAFqEAIaQdSJCygCACHRCkHUiQtBADYCACDRCkEBRg0BIAAgAygCmAE2AiAgACADKAKcATYCJCAAIAMoAqABNgIoIANBADYCoAEgA0IANwOYASAAIAMpA6gBNwMwDAgLIAIoAhAhBEHUiQtBADYCAEGiASADQUBrIAEgBBAIQdSJCygCACEEQdSJC0EANgIAAkACQCAEQQFHBEAgAygCcEUNASAAIAMoAkA2AgBB1IkLQQA2AgBBwAAgAEEIaiADQcgAahACGkHUiQsoAgAh0gpB1IkLQQA2AgAg0gpBAUYNAiAAIAMoAmA2AiAgACADKAJkNgIkIAAgAygCaDYCKCADQQA2AmggA0IANwNgIAAgAykDcDcDMAwJCxAAIQYMLAsgAygCeCADKAKcASADKAKYAWtBGG1qQQFHBEBB1IkLQQA2AgBBDUGHwQVB0JUDQccAQZjXAxAFQdSJCygCACHTCkHUiQtBADYCACDTCkEBRg0DDAcLQdSJC0EANgIAQboFIANBOGogA0GAAWoQA0HUiQsoAgAh1ApB1IkLQQA2AgAg1ApBAUYNAgJAIAMoAjgiBQ0AIAEoAgAoAggh1QpB1IkLQQA2AgAg1QogAUHBswMQA0HUiQsoAgAh1gpB1IkLQQA2AgAg1gpBAUcNABAAIQYMBQtBq4kEIQRB5AchBkG//wUhBwJAAkAgAigCDCgCBCIIQQdJDQAgCCgCBEEBRw0AQeiGASEEQeUJIQZBmfkFIQcgCCgCCCIIQRBJDQAgCCgCEEECRg0BC0HUiQtBADYCAEENIAdBuLMCIAYgBBAFQdSJCygCACHXCkHUiQtBADYCACDXCkEBRw0HEAAhBgwFCyADKAJAIAMoAmQgAygCYGtBGG1qQQFHBEBB1IkLQQA2AgBBDUGHwQVB0JUDQccAQZjXAxAFQdSJCygCACHYCkHUiQtBADYCACDYCkEBRw0HDAQLIAgoAhQgAigCCEEMbGoiBCgCBCEHIAQoAgAhCEHUiQtBADYCAEHAACADQQhqIANByABqEAIhBEHUiQsoAgAh2QpB1IkLQQA2AgAg2QpBAUYNA0HUiQtBADYCAEGVDCADQSBqIgYgBCAIIAcQBUHUiQsoAgAhB0HUiQtBADYCAAJAAkAgB0EBRwRAIAYgBSgCKCACKAIIIgdBGGxqQRhrIAVBEGogBxsiBUcEQCAFEFkhBUHUiQtBADYCAEHAACAFIAYQAhpB1IkLKAIAIdoKQdSJC0EANgIAINoKQQFGDQILIANBIGoQWRogBBBZGiAAQgA3AzAgAEIANwMoIABCADcDICAAQgA3AxggAEIANwMQIABCADcDCCAAQgA3AwACQCADKAI8IgRFDQAgBCAEKAIEIgVBAWs2AgQgBQ0AIAQgBCgCACgCCBEBACAEEHULIAMoAmAiBUUNCiADKAJkIgYgBSIERwRAA0AgBkEYaxBZIgYgBUcNAAsgAygCYCEECyADIAU2AmQgBBBaDAoLEAAhBgwBCxAAIQYgA0EgahBZGgsgBBBZGgwECxAAIQYMBAsQACEGDCkLEAAhBgwCCxAAIQYLIANBOGoQwwILIANBQGsQaAwlCwALIANByABqEFkaIAMoApgBIgVFDQAgAygCnAEiBiAFIgRHBEADQCAGQRhrEFkiBiAFRw0ACyADKAKYASEECyADIAU2ApwBIAQQWgsgA0GAAWoQWRogA0GwAWokAAwcCyMAQfABayIDJAAgA0IANwPoASADQgA3A+ABIANCADcD2AEgA0IANwPQASADQgA3A8gBIANCADcDwAEgA0IANwO4AQJAAkACQAJAAkACQAJAAkACQAJAAkAgAigCCCIERQ0AQdSJC0EANgIAQaIBIANBgAFqIAEgBBAIQdSJCygCACEEQdSJC0EANgIAAkAgBEEBRwRAIAMgAygCgAE2ArgBIANBwAFqEFkhBEHUiQtBADYCAEHAACAEIANBiAFqIgcQAiEIQdSJCygCACHbCkHUiQtBADYCACDbCkEBRg0BIAMoAtgBIgUEQCADKALcASIGIAUiBEcEQANAIAZBGGsQWSIGIAVHDQALIAMoAtgBIQQLIAMgBTYC3AEgBBBaCyADKQKkASHUDCADQQA2AqgBIAMg1Aw3AtwBIAMgAygCoAE2AtgBIAMgAykDsAE3A+gBIANCADcDoAEgBxBZGiADKALoAUUNAiAAIAMoArgBNgIAQdSJC0EANgIAQcAAIABBCGogCBACGkHUiQsoAgAh3ApB1IkLQQA2AgAg3ApBAUYNAyAAIAMoAtgBNgIgIAAgAygC3AE2AiQgACADKALgATYCKCADQQA2AuABIANCADcD2AEgACADKQPoATcDMAwMCxAAIQUMCAsQACEFIANBgAFqEGgMBwsgAigCDCEEQdSJC0EANgIAQaIBIANBgAFqIAEgBBAIQdSJCygCACEEQdSJC0EANgIAAkACQCAEQQFHBEAgAygCsAFFDQEgACADKAKAATYCAEHUiQtBADYCAEHAACAAQQhqIANBiAFqEAIaQdSJCygCACHdCkHUiQtBADYCACDdCkEBRg0CIAAgAygCoAE2AiAgACADKAKkATYCJCAAIAMoAqgBNgIoIANBADYCqAEgA0IANwOgASAAIAMpA7ABNwMwDAsLEAAhBQwICyACKAIEIgRBAUYEQCACKAIIIQRB1IkLQQA2AgBBogEgACABIAQQCEHUiQsoAgAh3gpB1IkLQQA2AgAg3gpBAUYNASAAKAIwDQpB1IkLQQA2AgBBDUHM/QVB0JUDQeYMQYA6EAVB1IkLKAIAId8KQdSJC0EANgIAIN8KQQFHDQkQACEFIAAQaAwHCwJAIARBB08EQCAEKAIEQQFGDQELQdSJC0EANgIAQQ1Bv/8FQbizAkHkB0GriQQQBUHUiQsoAgAh4ApB1IkLQQA2AgAg4ApBAUcNCRAAIQUMBwsCQCAEKAIIIgRBEE8EQCAEKAIQQQNGDQELQdSJC0EANgIAQQ1B//cFQbizAkHqCUHnIxAFQdSJCygCACHhCkHUiQtBADYCACDhCkEBRw0JEAAhBQwHCwJAAkACQAJ/IAMoAoABIAMoAqQBIAMoAqABa0EYbWpBAUcEQEGY1wMhBkHHACEFQYfBBSEAQdCVAwwBCyADKAKYAUECRg0BQaKuBSEGQZgCIQVBmbEFIQBB5poDCyEBQdSJC0EANgIAQQ0gACABIAUgBhAFQdSJCygCACHiCkHUiQtBADYCACDiCkEBRg0BDAsLIAQoAhQhBCADKAKIASIHQarVqhVJDQEgASgCACgCDCHjCkHUiQtBADYCACDjCiABQZnjAxADQdSJCygCACHkCkHUiQtBADYCACDkCkEBRw0BCxAAIQUMBwsgA0EANgJoIANCADcDYCADQQA2AnggA0IANwNYIANCADcDcCADIAdBAEc2AlAgA0HYAGohCAJAIAdBAkkNAEHUiQtBADYCAEG2BSADQfAAaiIGIAdBAWsQA0HUiQsoAgAh5QpB1IkLQQA2AgAg5QpBAUcNABAAIQUgBhCfBCAIEFkaDAcLAkACQAJAIAIoAghFBEBB1IkLQQA2AgBBtwUgA0E4aiIFIAQQA0HUiQsoAgAhBEHUiQtBADYCAAJAIARBAUcEQCAHRQ0DIAgQWSEEQdSJC0EANgIAQcAAIAQgBRACGkHUiQsoAgAh5gpB1IkLQQA2AgBBASEGIOYKQQFGDQEgB0EBRg0DA0AgAygCcCAGQRhsakEYayIEIANBOGoiBUcEQCAEEFkhBEHUiQtBADYCAEHAACAEIAUQAhpB1IkLKAIAIecKQdSJC0EANgIAIOcKQQFGDQMLIAZBAWoiBiAHRw0ACwwDCxAAIQUMCgsQACEFIANBOGoQWRoMCQtBq4kEIQVB5AchBEG//wUhCgJAAkAgAigCBCIGQQdJDQAgBigCBEEBRw0AQecjIQVB6gkhBEH/9wUhCiAGKAIIIgZBEEkNACAGKAIQQQNGDQELQdSJC0EANgIAQQ0gCkG4swIgBCAFEAVB1IkLKAIAIegKQdSJC0EANgIAIOgKQQFHDQwQACEFDAkLIAMoArgBIAMoAtwBIAMoAtgBa0EYbWpBAUcEQEHUiQtBADYCAEENQYfBBUHQlQNBxwBBmNcDEAVB1IkLKAIAIekKQdSJC0EANgIAIOkKQQFHDQwMBwsgBigCGCEFIAYoAhQhBkHUiQtBADYCAEHAACADQSBqIANBwAFqEAIhBEHUiQsoAgAh6gpB1IkLQQA2AgAg6gpBAUYNBkHUiQtBADYCAEGVDCADQThqIgkgBCAGIAUQBUHUiQsoAgAh6wpB1IkLQQA2AgAg6wpBAUYNBSAEEFkaAkAgB0UNACAIEFkhBEHUiQtBADYCAEHAACAEIAkQAhpB1IkLKAIAIewKQdSJC0EANgIAQQEhBiDsCkEBRg0CIAdBAUYNAANAIAMoAnAgBkEYbGpBGGsiBCADQThqIgVHBEAgBBBZIQRB1IkLQQA2AgBBwAAgBCAFEAIaQdSJCygCACHtCkHUiQtBADYCACDtCkEBRg0ECyAGQQFqIgYgB0cNAAsLCyADQThqEFkaIAIoAgQhBUHUiQtBADYCAEGWDCADQQhqIgQgA0HQAGogBRAIQdSJCygCACHuCkHUiQtBADYCACDuCkEBRg0GQdSJC0EANgIAQZwDIAAgBBACGkHUiQsoAgAh7wpB1IkLQQA2AgAg7wpBAUYNASAEEFkaIAMoAnAiBQRAIAMoAnQiBiAFIgRHBEADQCAGQRhrEFkiBiAFRw0ACyADKAJwIQQLIAMgBTYCdCAEEFoLIAgQWRoMCwsQACEFIANBOGoQWRoMBgsQACEFIANBCGoQWRoMBQsQACEFDAULEAAhBQwFCxAAIQUgBBBZGgwCCxAAIQUMAQsQACEFCyADQdAAahBoCyADQYABahBoCyADQbgBahBoDDALAAsgAygCoAEiBQRAIAMoAqQBIgYgBSIERwRAA0AgBkEYaxBZIgYgBUcNAAsgAygCoAEhBAsgAyAFNgKkASAEEFoLIANBiAFqEFkaIAMoAtgBIgVFDQAgAygC3AEiBiAFIgRHBEADQCAGQRhrEFkiBiAFRw0ACyADKALYASEECyADIAU2AtwBIAQQWgsgA0HAAWoQWRogA0HwAWokAAwbCyMAQdABayIDJAAgA0GYAWogASACKAIQEK8CAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAygCyAEEQCAAIAMoApgBNgIAQdSJC0EANgIAQcAAIABBCGogA0GgAWoQAhpB1IkLKAIAIfAKQdSJC0EANgIAIPAKQQFGDQEgACADKAK4ATYCICAAIAMoArwBNgIkIAAgAygCwAE2AiggA0EANgLAASADQgA3A7gBIAAgAykDyAE3AzAMDQsgAigCFCEEQdSJC0EANgIAQaIBIANB4ABqIAEgBBAIQdSJCygCACEEQdSJC0EANgIAAkACQCAEQQFHBEAgAygCkAFFDQEgACADKAJgNgIAQdSJC0EANgIAQcAAIABBCGogA0HoAGoQAhpB1IkLKAIAIfEKQdSJC0EANgIAIPEKQQFGDQIgACADKAKAATYCICAAIAMoAoQBNgIkIAAgAygCiAE2AiggA0EANgKIASADQgA3A4ABIAAgAykDkAE3AzAMDgsQACEGDAsLAn4CQAJAAkACfyADKAKYASADKAK8ASADKAK4AWtBGG1qQQFHBEBBmNcDIQZB0JUDIQRBh8EFIQBBxwAMAQsgAygCsAEiBEEHSQ0BQfPnBCEGQZ+fAyEEQeHNBiEAQcMBCyEBQdSJC0EANgIAQQ0gACAEIAEgBhAFQdSJCygCACHyCkHUiQtBADYCACDyCkEBRg0BDA8LAkACQCAEQQJrDgIDAAELIAMpA6ABDAMLQdSJC0EANgIAQYkCEAlB1IkLKAIAIfMKQdSJC0EANgIAIPMKQQFHDQ4LEAAhBgwLCyADNQKgAQsh1AwCQAJ/IAMoAmAgAygChAEgAygCgAFrQRhtakEBRwRAQZjXAyEGQdCVAyEEQYfBBSEAQccADAELIAMoAngiBEEHSQ0BQfPnBCEGQZ+fAyEEQeHNBiEAQcMBCyEBQdSJC0EANgIAQQ0gACAEIAEgBhAFDAkLAn4CQAJAAkAgBEECaw4CAgABCyADKQNoDAILQdSJC0EANgIAQYkCEAkMCgsgAzUCaAsh1QwCQCACKAIEIgRBB08EQCAEKAIEQQFGDQELQdSJC0EANgIAQQ1Bv/8FQbizAkHkB0GriQQQBUHUiQsoAgAh9ApB1IkLQQA2AgAg9ApBAUcNDBAAIQYMCgsCQCAEKAIIIgRBEE8EQCAEKAIQQQNGDQELQdSJC0EANgIAQQ1B//cFQbizAkHqCUHnIxAFQdSJCygCACH1CkHUiQtBADYCACD1CkEBRw0MEAAhBgwKCyAEKAIYIQcgBCgCFCEIIANBQGtCADcDACADQQA2AkggA0EANgJYIANCADcDOCADQQA2AjAgA0IANwNQIAEoAhQiBCgCqAIhBSAEKAKkAiEEIAIpAggh1gxB1IkLQQA2AgBBiwwgBCAFINYMEPEBIQpB1IkLKAIAIQRB1IkLQQA2AgACQCAEQQFHBEACQCAIQQJHBEBB1IkLQQA2AgBBiAwgCBAGIQlB1IkLKAIAIfYKQdSJC0EANgIAIPYKQQFHDQEMCgsgB0EDTwRAQdSJC0EANgIAQRRB1IUEQbizAkH/DBAIQdSJCygCACH3CkHUiQtBADYCACD3CkEBRw0PDAoLIAdBAnRBvLwHaigCACEJCyDVDCAJrX4g1Ax8IdYMAkACQCDVDFANACABKAJEIgVFDQAgASgCQAJ/IAIoAggiBiAFQQFrcSAFaSILQQFNDQAaIAYgBSAGSw0AGiAGIAVwCyIMQQJ0aigCACIERQ0AIAQoAgAiBEUNACALQQFNBEAgBUEBayEFA0ACQCAGIAQoAgQiC0cEQCAFIAtxIAxGDQEMBAsgBCgCCCAGRg0ECyAEKAIAIgQNAAsMAQsDQAJAIAYgBCgCBCILRwRAIAUgC00EfyALIAVwBSALCyAMRg0BDAMLIAQoAgggBkYNAwsgBCgCACIEDQALCyDWDCAKKAIgIAooAhxrrVgNAgsgASgCACgCCCH4CkHUiQtBADYCACD4CiABQZfuBBADQdSJCygCACH5CkHUiQtBADYCACD5CkEBRw0BDAcLEAAhBgwICyADQdAAaiEEINUMpyIFQQJPBEBB1IkLQQA2AgBBvgUgBCAFQQFrEANB1IkLKAIAIfoKQdSJC0EANgIAIPoKQQFGDQYLIANBOGohCyDUDEL/////D4Mg1gxUBEAg1AynIQYDQCAKKAIcIQVB1IkLQQA2AgBBmAwgA0EYaiIMIAUgBmogCCAHEAVB1IkLKAIAIfsKQdSJC0EANgIAIPsKQQFGDQQCQCADKAIwRQRAIANBATYCMCALEFkhBUHUiQtBADYCAEHAACAFIAwQAhpB1IkLKAIAIfwKQdSJC0EANgIAIPwKQQFHDQEMBwsgAygCVCIFIAMoAlhHBEBB1IkLQQA2AgBBwAAgBSADQRhqEAIhDEHUiQsoAgAh/QpB1IkLQQA2AgAg/QpBAUYEQBAAIQYgAyAFNgJUDAkLIAMgDEEYajYCVAwBC0HUiQtBADYCAEGyBSAEIANBGGoQA0HUiQsoAgAh/gpB1IkLQQA2AgAg/gpBAUYNBgsgA0EYahBZGiDWDCAGIAlqIgatVg0ACwsgAigCBCEEQdSJC0EANgIAQZYMIAMgA0EwaiAEEAhB1IkLKAIAIf8KQdSJC0EANgIAIP8KQQFGDQVB1IkLQQA2AgBBnAMgACADEAIaQdSJCygCACGAC0HUiQtBADYCACCAC0EBRwRAIAMQWRogAygCUCIFBEAgAygCVCIGIAUiBEcEQANAIAZBGGsQWSIGIAVHDQALIAMoAlAhBAsgAyAFNgJUIAQQWgsgCxBZGiADKAKAASIFRQ0NIAMoAoQBIgYgBSIERwRAA0AgBkEYaxBZIgYgBUcNAAsgAygCgAEhBAsgAyAFNgKEASAEEFoMDQsQACEGIAMQWRoMBwsQACEGDAgLEAAhBgwICxAAIQYMBAsQACEGCyADQRhqEFkaDAILEAAhBgwBCxAAIQYLIANBMGoQaAwBC0HUiQsoAgAhgQtB1IkLQQA2AgAggQtBAUcNAhAAIQYLIANB4ABqEGgLIANBmAFqEGgMJwsACyADQegAahBZGiADKAK4ASIFRQ0AIAMoArwBIgYgBSIERwRAA0AgBkEYaxBZIgYgBUcNAAsgAygCuAEhBAsgAyAFNgK8ASAEEFoLIANBoAFqEFkaIANB0AFqJAAMGgsjAEGQAmsiBiQAIAZB2AFqIAEgAigCEBCvAgJAAkACQAJAAkACQAJAAkACQAJAAkAgBigCiAIEQCAAIAYoAtgBNgIAQdSJC0EANgIAQcAAIABBCGogBkHgAWoQAhpB1IkLKAIAIYILQdSJC0EANgIAIIILQQFGDQEgACAGKAL4ATYCICAAIAYoAvwBNgIkIAAgBigCgAI2AiggBkEANgKAAiAGQgA3A/gBIAAgBikDiAI3AzAMCwsgAigCFCEEQdSJC0EANgIAQaIBIAZBoAFqIAEgBBAIQdSJCygCACEEQdSJC0EANgIAAkACQCAEQQFHBEAgBigC0AFFDQEgACAGKAKgATYCAEHUiQtBADYCAEHAACAAQQhqIAZBqAFqEAIaQdSJCygCACGDC0HUiQtBADYCACCDC0EBRg0CIAAgBigCwAE2AiAgACAGKALEATYCJCAAIAYoAsgBNgIoIAZBADYCyAEgBkIANwPAASAAIAYpA9ABNwMwDAwLEAAhAAwJCwJ+AkACQAJAAn8gBigC2AEgBigC/AEgBigC+AFrQRhtakEBRwRAQZjXAyEHQdCVAyEEQYfBBSEAQccADAELIAYoAvABIgRBB0kNAUHz5wQhB0GfnwMhBEHhzQYhAEHDAQshAUHUiQtBADYCAEENIAAgBCABIAcQBUHUiQsoAgAhhAtB1IkLQQA2AgAghAtBAUYNAQwNCwJAAkAgBEECaw4CAwABCyAGKQPgAQwDC0HUiQtBADYCAEGJAhAJQdSJCygCACGFC0HUiQtBADYCACCFC0EBRw0MCxAAIQAMCQsgBjUC4AELIdQMAkACfyAGKAKgASAGKALEASAGKALAAWtBGG1qQQFHBEBBmNcDIQdB0JUDIQRBh8EFIQBBxwAMAQsgBigCuAEiBEEHSQ0BQfPnBCEHQZ+fAyEEQeHNBiEAQcMBCyEBQdSJC0EANgIAQQ0gACAEIAEgBxAFDAcLAn4CQAJAAkAgBEECaw4CAgABCyAGKQOoAQwCC0HUiQtBADYCAEGJAhAJDAgLIAY1AqgBCyHVDCAGQgA3A4ABIAZBADYCiAEgBkEANgKYASAGQgA3A3ggBkEANgJwIAZCADcDkAEgASgCFCIEKAKUAiEFIAQoApACIQQgAikCCCHWDEHUiQtBADYCAEGZDCAEIAUg1gwQ8QEhCUHUiQsoAgAhhgtB1IkLQQA2AgAghgtBAUYNAiDUDCDVDHwi1gwgCSgCICAJKAIca0ECda1WBEAgASgCACgCCCGHC0HUiQtBADYCACCHCyABQarnAhADQdSJCygCACGIC0HUiQtBADYCACCIC0EBRg0FCyAGQZABaiEKINUMpyIEQQJPBEBB1IkLQQA2AgBBvgUgCiAEQQFrEANB1IkLKAIAIYkLQdSJC0EANgIAIIkLQQFGDQULIAZB+ABqIQsCQAJAAkAg1AxC/////w+DINYMVARAIAZBKGohDCDUDKchBANAIAkoAhwgBEECdGooAgAhBUHUiQtBADYCAEGiASAGQSBqIAEgBRAIQdSJCygCACGKC0HUiQtBADYCACCKC0EBRg0CIAYoAiAgBigCRCAGKAJAa0EYbWpBAUcEQEHUiQtBADYCAEENQYfBBUHQlQNBxwBBmNcDEAVB1IkLKAIAIYsLQdSJC0EANgIAIIsLQQFHDQ8MBAtB1IkLQQA2AgBBwAAgBkHYAGogDBACIQhB1IkLKAIAIYwLQdSJC0EANgIAIIwLQQFGDQMgBigCQCIFBEAgBigCRCIHIAUiA0cEQANAIAdBGGsQWSIHIAVHDQALIAYoAkAhAwsgBiAFNgJEIAMQWgsgDBBZGgJAIAYoAnBFBEAgBkEBNgJwIAsQWSEFQdSJC0EANgIAQcAAIAUgCBACGkHUiQsoAgAhjQtB1IkLQQA2AgAgjQtBAUcNAQwKCyAGKAKUASIFIAYoApgBRwRAQdSJC0EANgIAQcAAIAUgCBACIQNB1IkLKAIAIY4LQdSJC0EANgIAII4LQQFGBEAQACEAIAYgBTYClAEgCBBZGgwNCyAGIANBGGo2ApQBDAELQdSJC0EANgIAQbIFIAogCBADQdSJCygCACGPC0HUiQtBADYCACCPC0EBRg0JCyAIEFkaINYMIARBAWoiBK1WDQALCyACKAIEIQVB1IkLQQA2AgBBlgwgBkEIaiIEIAZB8ABqIAUQCEHUiQsoAgAhkAtB1IkLQQA2AgAgkAtBAUYNB0HUiQtBADYCAEGcAyAAIAQQAhpB1IkLKAIAIZELQdSJC0EANgIAIJELQQFGDQIgBBBZGiAGKAKQASIFBEAgBigClAEiByAFIgRHBEADQCAHQRhrEFkiByAFRw0ACyAGKAKQASEECyAGIAU2ApQBIAQQWgsgCxBZGiAGKALAASIFRQ0NIAYoAsQBIgcgBSIERwRAA0AgB0EYaxBZIgcgBUcNAAsgBigCwAEhBAsgBiAFNgLEASAEEFoMDQsQACEADAcLEAAhACAGQSBqEGgMBgsQACEAIAZBCGoQWRoMBQsQACEADAYLEAAhAAwGCxAAIQAMAgsQACEAIAgQWRoMAQsQACEACyAGQfAAahBoDAELQdSJCygCACGSC0HUiQtBADYCACCSC0EBRw0CEAAhAAsgBkGgAWoQaAsgBkHYAWoQaAwxCwALIAZBqAFqEFkaIAYoAvgBIgVFDQAgBigC/AEiByAFIgRHBEADQCAHQRhrEFkiByAFRw0ACyAGKAL4ASEECyAGIAU2AvwBIAQQWgsgBkHgAWoQWRogBkGQAmokAAwZCyMAQYABayIDJAAgAigCDCIIQarVqhVPBEAgAUGZ4wMgASgCACgCDBEAAAsCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCACKAIEIgZBAUYEQCACKAIMIggEQCAAQQhqIQkDQCACKAIMIAdNDT8gACABIAIoAgggB0ECdGooAgAQrwIgACgCMA0DIAAoAiAiBQRAIAAoAiQiBiAFIgRHBEADQCAGQRhrEFkiBiAFRw0ACyAAKAIgIQQLIAAgBTYCJCAEEFoLIAkQWRogB0EBaiIHIAhHDQALC0GlzQRB0JUDQY8NEGIACyAGQQdJDT0gBigCBEEBRw09IAYoAggiBEEQSQ0IIAQoAhBBA0cNCCAEKAIYIQsgBCgCFCEMIANBADYCaCADQgA3A2AgA0EANgJ4IANCADcDWCADQgA3A3AgAyAIQQBHNgJQIANB2ABqIQoCQAJAAkAgCEECTwRAQdSJC0EANgIAQbYFIANB8ABqIgQgCEEBaxADQdSJCygCACGTC0HUiQtBADYCACCTC0EBRw0BEAAhACAEEJ8EDD0LIAhFDQELIABBCGohCQNAIAcgAigCDE8EQEHUiQtBADYCAEENQcWiAUGJogNBvAFBpogFEAVB1IkLKAIAIZQLQdSJC0EANgIAIJQLQQFGDQ0MDwsgAigCCCAHQQJ0aigCACEEQdSJC0EANgIAQaIBIAAgASAEEAhB1IkLKAIAIZULQdSJC0EANgIAIJULQQFGDQogACgCMA0CIAAoAgAgACgCJCAAKAIga0EYbWpBAUcEQEHUiQtBADYCAEENQYfBBUHQlQNBxwBBmNcDEAVB1IkLKAIAIZYLQdSJC0EANgIAIJYLQQFHDQ8QACEBIAAQaAwOC0HUiQtBADYCAEHAACADQSBqIAkQAiEEQdSJCygCACGXC0HUiQtBADYCACCXC0EBRg0EQdSJC0EANgIAQZUMIANBOGoiBSAEIAwgCxAFQdSJCygCACGYC0HUiQtBADYCACCYC0EBRg0FIAUgAygCcCAHQRhsakEYayAKIAcbIgZHBEAgBhBZIQZB1IkLQQA2AgBBwAAgBiAFEAIaQdSJCygCACGZC0HUiQtBADYCACCZC0EBRg0HCyADQThqEFkaIAQQWRogACgCICIFBEAgACgCJCIGIAUiBEcEQANAIAZBGGsQWSIGIAVHDQALIAAoAiAhBAsgACAFNgIkIAQQWgsgCRBZGiAHQQFqIgcgCEcNAAsgAigCBCEGC0HUiQtBADYCAEGWDCADQQhqIgQgA0HQAGogBhAIQdSJCygCACGaC0HUiQtBADYCACCaC0EBRg0GQdSJC0EANgIAQZwDIAAgBBACGkHUiQsoAgAhmwtB1IkLQQA2AgAgmwtBAUYNByAEEFkaCyADKAJwIgQEQCADKAJ0IgYgBCIFRwRAA0AgBkEYaxBZIgYgBEcNAAsgAygCcCEFCyADIAQ2AnQgBRBaCyAKEFkaCyADQYABaiQADAsLEAAhASAAEGgMCAsQACEBDAELEAAhASADQThqEFkaCyAEEFkaIAAQaAwFCxAAIQEMBAsQACEBIANBCGoQWRoMAwsQACEBDAILQf/3BUG4swJB6glB5yMQAQALEAAhAQsgA0HQAGoQaCABEAcACwALDBgLIwBBsAFrIgMkACADQfgAaiABIAIoAggQrwICQAJAAkACQAJAAkAgAygCqAEEQCAAIAMoAng2AgBB1IkLQQA2AgBBwAAgAEEIaiADQYABahACGkHUiQsoAgAhnAtB1IkLQQA2AgAgnAtBAUYNASAAIAMoApgBNgIgIAAgAygCnAE2AiQgACADKAKgATYCKCADQQA2AqABIANCADcDmAEgACADKQOoATcDMAwGCyACKAIMIQRB1IkLQQA2AgBBogEgA0FAayABIAQQCEHUiQsoAgAhBEHUiQtBADYCAAJAAkAgBEEBRwRAIAMoAnBFDQEgACADKAJANgIAQdSJC0EANgIAQcAAIABBCGogA0HIAGoQAhpB1IkLKAIAIZ0LQdSJC0EANgIAIJ0LQQFGDQIgACADKAJgNgIgIAAgAygCZDYCJCAAIAMoAmg2AiggA0EANgJoIANCADcDYCAAIAMpA3A3AzAMBwsQACEGDCULIAMoAnggAygCnAEgAygCmAFrQRhtakEBRwRAQdSJC0EANgIAQQ1Bh8EFQdCVA0HHAEGY1wMQBUHUiQsoAgAhngtB1IkLQQA2AgAgngtBAUYNAwwFC0HUiQtBADYCAEG6BSADQThqIANBgAFqEANB1IkLKAIAIZ8LQdSJC0EANgIAIJ8LQQFGDQICQAJAIAMoAjgiBA0AIAEoAgAoAgghoAtB1IkLQQA2AgAgoAsgAUHBswMQA0HUiQsoAgAhoQtB1IkLQQA2AgAgoQtBAUcNABAAIQYMAQsCQAJAAkACfyADKAJAIAMoAmQgAygCYGtBGG1qQQFHBEBBxwAhAEHQlQMhBEGHwQUhAUGY1wMMAQsgAygCWEECRg0BQZgCIQBB5poDIQRBmbEFIQFBoq4FCyECQdSJC0EANgIAQQ0gASAEIAAgAhAFQdSJCygCACGiC0HUiQtBADYCACCiC0EBRw0IDAELIAMoAkgiBiAEKAIIIAQoAiwgBCgCKGtBGG1qSQ0BIAEoAgAoAgghowtB1IkLQQA2AgAgowsgAUHx7AQQA0HUiQsoAgAhpAtB1IkLQQA2AgAgpAtBAUcNAQsQACEGDAELQauJBCEHQeQHIQhBv/8FIQoCQAJAIAIoAggoAgQiBUEHSQ0AIAUoAgRBAUcNAEHnIyEHQeoJIQhB//cFIQogBSgCCCIFQRBJDQAgBSgCEEEDRg0BC0HUiQtBADYCAEENIApBuLMCIAggBxAFQdSJCygCACGlC0HUiQtBADYCACClC0EBRw0GEAAhBgwBCyAFKAIYIQcgBSgCFCEIIAQoAighBUHUiQtBADYCAEHAACADQQhqIAUgBkEYbGpBGGsgBEEQaiAGGxACIQRB1IkLKAIAIQVB1IkLQQA2AgACQAJAAkAgBUEBRwRAIAItABAhBkHUiQtBADYCAEGXDCADQSBqIgUgBCAIIAcgBhAMQdSJCygCACGmC0HUiQtBADYCACCmC0EBRg0BQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAhpwtB1IkLQQA2AgAgpwtBAUYNAiAFEFkaIAQQWRoCQCADKAI8IgRFDQAgBCAEKAIEIgVBAWs2AgQgBQ0AIAQgBCgCACgCCBEBACAEEHULIAMoAmAiBUUNCiADKAJkIgYgBSIERwRAA0AgBkEYaxBZIgYgBUcNAAsgAygCYCEECyADIAU2AmQgBBBaDAoLEAAhBgwDCxAAIQYMAQsQACEGIANBIGoQWRoLIAQQWRoLIANBOGoQwwIMAwsQACEGDAILEAAhBgwiCxAAIQYLIANBQGsQaAwgCwALIANByABqEFkaIAMoApgBIgVFDQAgAygCnAEiBiAFIgRHBEADQCAGQRhrEFkiBiAFRw0ACyADKAKYASEECyADIAU2ApwBIAQQWgsgA0GAAWoQWRogA0GwAWokAAwXCyMAQeABayIDJAAgA0GoAWogASACKAIIEK8CAkACQAJAAkACQAJAAkACQAJAAkAgAygC2AEEQCAAIAMoAqgBNgIAQdSJC0EANgIAQcAAIABBCGogA0GwAWoQAhpB1IkLKAIAIagLQdSJC0EANgIAIKgLQQFGDQEgACADKALIATYCICAAIAMoAswBNgIkIAAgAygC0AE2AiggA0EANgLQASADQgA3A8gBIAAgAykD2AE3AzAMCgsgAigCDCEEQdSJC0EANgIAQaIBIANB8ABqIAEgBBAIQdSJCygCACEEQdSJC0EANgIAAkACQCAEQQFHBEAgAygCoAFFDQEgACADKAJwNgIAQdSJC0EANgIAQcAAIABBCGogA0H4AGoQAhpB1IkLKAIAIakLQdSJC0EANgIAIKkLQQFGDQIgACADKAKQATYCICAAIAMoApQBNgIkIAAgAygCmAE2AiggA0EANgKYASADQgA3A5ABIAAgAykDoAE3AzAMCwsQACEGDCcLIAIoAhAhBEHUiQtBADYCAEGiASADQThqIAEgBBAIQdSJCygCACEEQdSJC0EANgIAAkACQCAEQQFHBEAgAygCaEUNASAAIAMoAjg2AgBB1IkLQQA2AgBBwAAgAEEIaiADQUBrEAIaQdSJCygCACGqC0HUiQtBADYCACCqC0EBRg0CIAAgAygCWDYCICAAIAMoAlw2AiQgACADKAJgNgIoIANBADYCYCADQgA3A1ggACADKQNoNwMwDAsLEAAhBgwICyADKAKoASADKALMASADKALIAWtBGG1qQQFHBEBB1IkLQQA2AgBBDUGHwQVB0JUDQccAQZjXAxAFQdSJCygCACGrC0HUiQtBADYCACCrC0EBRg0EDAkLQdSJC0EANgIAQboFIANBMGogA0GwAWoQA0HUiQsoAgAhrAtB1IkLQQA2AgAgrAtBAUYNAwJAIAMoAjAiBA0AIAEoAgAoAgghrQtB1IkLQQA2AgAgrQsgAUHBswMQA0HUiQsoAgAhrgtB1IkLQQA2AgAgrgtBAUcNABAAIQYMBgsCQAJAAkACfyADKAJwIAMoApQBIAMoApABa0EYbWpBAUcEQEHHACEAQdCVAyEEQYfBBSEBQZjXAwwBCyADKAKIAUECRg0BQZgCIQBB5poDIQRBmbEFIQFBoq4FCyECQdSJC0EANgIAQQ0gASAEIAAgAhAFQdSJCygCACGvC0HUiQtBADYCACCvC0EBRw0LDAELIAMoAngiBiAEKAIIIAQoAiwgBCgCKGtBGG1qSQ0BIAEoAgAoAgghsAtB1IkLQQA2AgAgsAsgAUHx7AQQA0HUiQsoAgAhsQtB1IkLQQA2AgAgsQtBAUcNAQsQACEGDAYLQauJBCEHQeQHIQhBv/8FIQoCQAJAIAIoAggoAgQiBUEHSQ0AIAUoAgRBAUcNAEHnIyEHQeoJIQhB//cFIQogBSgCCCIFQRBJDQAgBSgCEEEDRg0BC0HUiQtBADYCAEENIApBuLMCIAggBxAFQdSJCygCACGyC0HUiQtBADYCACCyC0EBRw0JEAAhBgwGCyADKAI4IAMoAlwgAygCWGtBGG1qQQFHBEBB1IkLQQA2AgBBDUGHwQVB0JUDQccAQZjXAxAFQdSJCygCACGzC0HUiQtBADYCACCzC0EBRw0JDAULIAUoAhghCCAFKAIUIQlB1IkLQQA2AgBBwAAgAyADQUBrEAIhBUHUiQsoAgAhtAtB1IkLQQA2AgAgtAtBAUYNBEHUiQtBADYCAEGVDCADQRhqIgcgBSAJIAgQBUHUiQsoAgAhCEHUiQtBADYCAAJAAkAgCEEBRwRAIAcgBCgCKCAGQRhsakEYayAEQRBqIAYbIgRHBEAgBBBZIQRB1IkLQQA2AgBBwAAgBCAHEAIaQdSJCygCACG1C0HUiQtBADYCACC1C0EBRg0CCyADQRhqEFkaIAUQWRogAEIANwMwIABCADcDKCAAQgA3AyAgAEIANwMYIABCADcDECAAQgA3AwggAEIANwMAAkAgAygCNCIERQ0AIAQgBCgCBCIFQQFrNgIEIAUNACAEIAQoAgAoAggRAQAgBBB1CyADKAJYIgVFDQwgAygCXCIGIAUiBEcEQANAIAZBGGsQWSIGIAVHDQALIAMoAlghBAsgAyAFNgJcIAQQWgwMCxAAIQYMAQsQACEGIANBGGoQWRoLIAUQWRoMBQsQACEGDAULEAAhBgwFCxAAIQYMJAsQACEGDAILEAAhBgsgA0EwahDDAgsgA0E4ahBoCyADQfAAahBoDB8LAAsgA0FAaxBZGiADKAKQASIFRQ0AIAMoApQBIgYgBSIERwRAA0AgBkEYaxBZIgYgBUcNAAsgAygCkAEhBAsgAyAFNgKUASAEEFoLIANB+ABqEFkaIAMoAsgBIgVFDQAgAygCzAEiBiAFIgRHBEADQCAGQRhrEFkiBiAFRw0ACyADKALIASEECyADIAU2AswBIAQQWgsgA0GwAWoQWRogA0HgAWokAAwWCyMAQeAAayIDJAAgA0EoaiABIAIoAggQrwICQAJAAkACQCADKAJYBEAgACADKAIoNgIAQdSJC0EANgIAQcAAIABBCGogA0EwahACGkHUiQsoAgAhtgtB1IkLQQA2AgAgtgtBAUYNASAAIAMoAkg2AiAgACADKAJMNgIkIAAgAygCUDYCKCADQQA2AlAgA0IANwNIIAAgAykDWDcDMAwECyADKAIoIAMoAkwgAygCSGtBGG1qQQFHBEBB1IkLQQA2AgBBDUGHwQVB0JUDQccAQZjXAxAFQdSJCygCACG3C0HUiQtBADYCACC3C0EBRg0CAAtB1IkLQQA2AgBBugUgA0EgaiADQTBqEANB1IkLKAIAIbgLQdSJC0EANgIAILgLQQFGDQECQAJAIAMoAiAiBA0AIAEoAgAoAgghuQtB1IkLQQA2AgAguQsgAUHBswMQA0HUiQsoAgAhugtB1IkLQQA2AgAgugtBAUcNABAAIQYMAQsgBCgCKCEFIAQoAiwhBiAEKAIIIQQgA0ECNgIYQdSJC0EANgIAIAMgBCAGIAVrQRhtajYCCEGcAyAAIANBCGoiBBACGkHUiQsoAgAhuwtB1IkLQQA2AgAguwtBAUcEQCAEEFkaAkAgAygCJCIERQ0AIAQgBCgCBCIFQQFrNgIEIAUNACAEIAQoAgAoAggRAQAgBBB1CyADKAJIIgRFDQUgAygCTCIGIAQiBUcEQANAIAZBGGsQWSIGIARHDQALIAMoAkghBQsgAyAENgJMIAUQWgwFCxAAIQYgA0EIahBZGgsgA0EgahDDAgwCCxAAIQYMAQsQACEGCyADQShqEGgMIAsgA0EwahBZGiADQeAAaiQADBULIwBBwAJrIgMkACADQYgCaiABIAIoAggQrwICQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAMoArgCBEAgACADKAKIAjYCAEHUiQtBADYCAEHAACAAQQhqIANBkAJqEAIaQdSJCygCACG8C0HUiQtBADYCACC8C0EBRg0BIAAgAygCqAI2AiAgACADKAKsAjYCJCAAIAMoArACNgIoIANBADYCsAIgA0IANwOoAiAAIAMpA7gCNwMwDBQLIAIoAgwhBEHUiQtBADYCAEGiASADQdABaiABIAQQCEHUiQsoAgAhBEHUiQtBADYCAAJAAkAgBEEBRwRAIAMoAoACRQ0BIAAgAygC0AE2AgBB1IkLQQA2AgBBwAAgAEEIaiADQdgBahACGkHUiQsoAgAhvQtB1IkLQQA2AgAgvQtBAUYNAiAAIAMoAvABNgIgIAAgAygC9AE2AiQgACADKAL4ATYCKCADQQA2AvgBIANCADcD8AEgACADKQOAAjcDMAwVCxAAIQYMDwsgAigCECEEQdSJC0EANgIAQaIBIANBmAFqIAEgBBAIQdSJCygCACEEQdSJC0EANgIAAkACQCAEQQFHBEAgAygCyAFFDQEgACADKAKYATYCAEHUiQtBADYCAEHAACAAQQhqIANBoAFqEAIaQdSJCygCACG+C0HUiQtBADYCACC+C0EBRg0CIAAgAygCuAE2AiAgACADKAK8ATYCJCAAIAMoAsABNgIoIANBADYCwAEgA0IANwO4ASAAIAMpA8gBNwMwDBULEAAhBgwPCyACKAIUIQRB1IkLQQA2AgBBogEgA0HgAGogASAEEAhB1IkLKAIAIQRB1IkLQQA2AgACQAJAIARBAUcEQCADKAKQAUUNASAAIAMoAmA2AgBB1IkLQQA2AgBBwAAgAEEIaiADQegAahACGkHUiQsoAgAhvwtB1IkLQQA2AgAgvwtBAUYNAiAAIAMoAoABNgIgIAAgAygChAE2AiQgACADKAKIATYCKCADQQA2AogBIANCADcDgAEgACADKQOQATcDMAwVCxAAIQYMDwsgAigCGCEEQdSJC0EANgIAQaIBIANBKGogASAEEAhB1IkLKAIAIQRB1IkLQQA2AgACQAJAIARBAUcEQCADKAJYRQ0BIAAgAygCKDYCAEHUiQtBADYCAEHAACAAQQhqIANBMGoQAhpB1IkLKAIAIcALQdSJC0EANgIAIMALQQFGDQIgACADKAJINgIgIAAgAygCTDYCJCAAIAMoAlA2AiggA0EANgJQIANCADcDSCAAIAMpA1g3AzAMFQsQACEGDA8LIAMoAogCIAMoAqwCIAMoAqgCa0EYbWpBAUcEQEHUiQtBADYCAEENQYfBBUHQlQNBxwBBmNcDEAVB1IkLKAIAIcELQdSJC0EANgIAIMELQQFGDQYMEwtB1IkLQQA2AgBBugUgA0EgaiADQZACahADQdSJCygCACHCC0HUiQtBADYCACDCC0EBRg0FAkAgAygCICIFDQAgASgCACgCCCHDC0HUiQtBADYCACDDCyABQcGzAxADQdSJCygCACHEC0HUiQtBADYCACDEC0EBRw0AEAAhBgwNCyADKAKYASADKAK8ASADKAK4AWtBGG1qQQFHBEBB1IkLQQA2AgBBDUGHwQVB0JUDQccAQZjXAxAFQdSJCygCACHFC0HUiQtBADYCACDFC0EBRw0TDAwLQdSJC0EANgIAQboFIANBGGogA0GgAWoQA0HUiQsoAgAhxgtB1IkLQQA2AgAgxgtBAUYNCwJAIAMoAhgiBg0AIAEoAgAoAgghxwtB1IkLQQA2AgAgxwsgAUHBswMQA0HUiQsoAgAhyAtB1IkLQQA2AgAgyAtBAUcNABAAIQYMCwsgAygC0AEgAygC9AEgAygC8AFrQRhtakEBRwRAQdSJC0EANgIAQQ1Bh8EFQdCVA0HHAEGY1wMQBUHUiQsoAgAhyQtB1IkLQQA2AgAgyQtBAUcNEwwKC0HUiQtBADYCAEGaDCADQdgBahCsAiHUDEHUiQsoAgAhygtB1IkLQQA2AgAgygtBAUYNCSADKAJgIAMoAoQBIAMoAoABa0EYbWpBAUcEQEHUiQtBADYCAEENQYfBBUHQlQNBxwBBmNcDEAVB1IkLKAIAIcsLQdSJC0EANgIAIMsLQQFHDRMMCQtB1IkLQQA2AgBBmgwgA0HoAGoQrAIh1QxB1IkLKAIAIcwLQdSJC0EANgIAIMwLQQFGDQggAygCKCADKAJMIAMoAkhrQRhtakEBRwRAQdSJC0EANgIAQQ1Bh8EFQdCVA0HHAEGY1wMQBUHUiQsoAgAhzQtB1IkLQQA2AgAgzQtBAUcNEwwIC0HUiQtBADYCAEGaDCADQTBqEKwCIesMQdSJCygCACHOC0HUiQtBADYCACDOC0EBRg0HIOsMpyIHINQMpyIIaiAFKAIIIAUoAiwgBSgCKGtBGG1qSwRAIAEoAgAoAgghzwtB1IkLQQA2AgAgzwsgAUH37AQQA0HUiQsoAgAh0AtB1IkLQQA2AgAg0AtBAUYNCAsgByDVDKciCWogBigCCCAGKAIsIAYoAihrQRhtaksEQCABKAIAKAIIIdELQdSJC0EANgIAINELIAFB9+wEEANB1IkLKAIAIdILQdSJC0EANgIAINILQQFGDQgLIANBADYCFCADQgA3AgwCQAJAIAdFBEAgAEIANwMAIABCADcDMCAAQgA3AyggAEIANwMgIABCADcDGCAAQgA3AxAgAEIANwMIDAELQdSJC0EANgIAQbYFIANBDGogBxADQdSJCygCACHTC0HUiQtBADYCACDTC0EBRg0BIAZBEGohCkEAIQQDQCADKAIMIARBGGxqIgsgBigCKCAEIAlqIgxBGGxqQRhrIAogDBsiDEcEQCALEFkhC0HUiQtBADYCAEHAACALIAwQAhpB1IkLKAIAIdQLQdSJC0EANgIAINQLQQFGDQoLIARBAWoiBCAHRw0ACyAFQRBqIQZBACEEA0AgBSgCKCAEIAhqIglBGGxqQRhrIAYgCRsiCSADKAIMIARBGGxqIgpHBEAgCRBZIQlB1IkLQQA2AgBBwAAgCSAKEAIaQdSJCygCACHVC0HUiQtBADYCACDVC0EBRg0KCyAEQQFqIgQgB0cNAAsgAygCDCEFIABCADcDACAAQgA3AzAgAEIANwMoIABCADcDICAAQgA3AxggAEIANwMQIABCADcDCCAFRQ0AIAMoAhAiBiAFIgRHBEADQCAGQRhrEFkiBiAFRw0ACyADKAIMIQQLIAMgBTYCECAEEFoLAkAgAygCHCIERQ0AIAQgBCgCBCIFQQFrNgIEIAUNACAEIAQoAgAoAggRAQAgBBB1CwJAIAMoAiQiBEUNACAEIAQoAgQiBUEBazYCBCAFDQAgBCAEKAIAKAIIEQEAIAQQdQsgAygCSCIFRQ0UIAMoAkwiBiAFIgRHBEADQCAGQRhrEFkiBiAFRw0ACyADKAJIIQQLIAMgBTYCTCAEEFoMFAsMBgsQACEGDAwLEAAhBgwMCxAAIQYMDAsQACEGDAwLEAAhBgwMCxAAIQYMBwsQACEGIANBDGoQnwQMAwsQACEGDAILEAAhBgwBCxAAIQYLIANBGGoQwwIMAQsQACEGCyADQSBqEMMCCyADQShqEGgLIANB4ABqEGgLIANBmAFqEGgLIANB0AFqEGgLIANBiAJqEGgMJAsACyADQTBqEFkaIAMoAoABIgVFDQAgAygChAEiBiAFIgRHBEADQCAGQRhrEFkiBiAFRw0ACyADKAKAASEECyADIAU2AoQBIAQQWgsgA0HoAGoQWRogAygCuAEiBUUNACADKAK8ASIGIAUiBEcEQANAIAZBGGsQWSIGIAVHDQALIAMoArgBIQQLIAMgBTYCvAEgBBBaCyADQaABahBZGiADKALwASIFRQ0AIAMoAvQBIgYgBSIERwRAA0AgBkEYaxBZIgYgBUcNAAsgAygC8AEhBAsgAyAFNgL0ASAEEFoLIANB2AFqEFkaIAMoAqgCIgVFDQAgAygCrAIiBiAFIgRHBEADQCAGQRhrEFkiBiAFRw0ACyADKAKoAiEECyADIAU2AqwCIAQQWgsgA0GQAmoQWRogA0HAAmokAAwUCyMAQbACayIDJAAgA0H4AWogASACKAIIEK8CAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCADKAKoAgRAIAAgAygC+AE2AgBB1IkLQQA2AgBBwAAgAEEIaiADQYACahACGkHUiQsoAgAh1gtB1IkLQQA2AgAg1gtBAUYNASAAIAMoApgCNgIgIAAgAygCnAI2AiQgACADKAKgAjYCKCADQQA2AqACIANCADcDmAIgACADKQOoAjcDMAwRCyACKAIMIQRB1IkLQQA2AgBBogEgA0HAAWogASAEEAhB1IkLKAIAIQRB1IkLQQA2AgACQAJAIARBAUcEQCADKALwAUUNASAAIAMoAsABNgIAQdSJC0EANgIAQcAAIABBCGogA0HIAWoQAhpB1IkLKAIAIdcLQdSJC0EANgIAINcLQQFGDQIgACADKALgATYCICAAIAMoAuQBNgIkIAAgAygC6AE2AiggA0EANgLoASADQgA3A+ABIAAgAykD8AE3AzAMEgsQACEGDA0LIAIoAhAhBEHUiQtBADYCAEGiASADQYgBaiABIAQQCEHUiQsoAgAhBEHUiQtBADYCAAJAAkAgBEEBRwRAIAMoArgBRQ0BIAAgAygCiAE2AgBB1IkLQQA2AgBBwAAgAEEIaiADQZABahACGkHUiQsoAgAh2AtB1IkLQQA2AgAg2AtBAUYNAiAAIAMoAqgBNgIgIAAgAygCrAE2AiQgACADKAKwATYCKCADQQA2ArABIANCADcDqAEgACADKQO4ATcDMAwSCxAAIQYMDQsgAigCFCEEQdSJC0EANgIAQaIBIANB0ABqIAEgBBAIQdSJCygCACEEQdSJC0EANgIAAkACQCAEQQFHBEAgAygCgAFFDQEgACADKAJQNgIAQdSJC0EANgIAQcAAIABBCGogA0HYAGoQAhpB1IkLKAIAIdkLQdSJC0EANgIAINkLQQFGDQIgACADKAJwNgIgIAAgAygCdDYCJCAAIAMoAng2AiggA0EANgJ4IANCADcDcCAAIAMpA4ABNwMwDBILEAAhBgwNCyADKAL4ASADKAKcAiADKAKYAmtBGG1qQQFHBEBB1IkLQQA2AgBBDUGHwQVB0JUDQccAQZjXAxAFQdSJCygCACHaC0HUiQtBADYCACDaC0EBRg0FDBALQdSJC0EANgIAQboFIANByABqIANBgAJqEANB1IkLKAIAIdsLQdSJC0EANgIAINsLQQFGDQQCQCADKAJIIgQNACABKAIAKAIIIdwLQdSJC0EANgIAINwLIAFBwbMDEANB1IkLKAIAId0LQdSJC0EANgIAIN0LQQFHDQAQACEGDAsLIAMoAsABIAMoAuQBIAMoAuABa0EYbWpBAUcEQEHUiQtBADYCAEENQYfBBUHQlQNBxwBBmNcDEAVB1IkLKAIAId4LQdSJC0EANgIAIN4LQQFHDRAMCgtB1IkLQQA2AgBBmgwgA0HIAWoQrAIh1AxB1IkLKAIAId8LQdSJC0EANgIAIN8LQQFGDQkgAygCiAEgAygCrAEgAygCqAFrQRhtakEBRwRAQdSJC0EANgIAQQ1Bh8EFQdCVA0HHAEGY1wMQBUHUiQsoAgAh4AtB1IkLQQA2AgAg4AtBAUcNEAwJC0HUiQtBADYCAEHAACADQTBqIANBkAFqEAIhCEHUiQsoAgAh4QtB1IkLQQA2AgAg4QtBAUYNCCADKAJQIAMoAnQgAygCcGtBGG1qQQFHBEBB1IkLQQA2AgBBDUGHwQVB0JUDQccAQZjXAxAFQdSJCygCACHiC0HUiQtBADYCACDiC0EBRw0QDAcLQdSJC0EANgIAQZoMIANB2ABqEKwCIdUMQdSJCygCACHjC0HUiQtBADYCACDjC0EBRg0GIAIoAggoAgQhBUHUiQtBADYCAEGbDCAFEAYhBUHUiQsoAgAhBkHUiQtBADYCAAJAIAZBAUcEQCAFQRBPBEAgBSgCEEEDRg0CC0HUiQtBADYCAEENQf/3BUG4swJB6glB5yMQBUHUiQsoAgAh5AtB1IkLQQA2AgAg5AtBAUcNEQsQACEGDAgLIAUoAhghBiAFKAIUIQVB1IkLQQA2AgBBwAAgAyAIEAIhB0HUiQsoAgAh5QtB1IkLQQA2AgAg5QtBAUcEQEHUiQtBADYCAEGVDCADQRhqIgkgByAFIAYQBUHUiQsoAgAhBUHUiQtBADYCAAJAAkAgBUEBRwRAQdSJC0EANgIAQbEFIAggCRACIQZB1IkLKAIAIeYLQdSJC0EANgIAIOYLQQFGDQEg1QynIQUgCRBZGiAHEFkaAkAgBCgCCCAEKAIsIAQoAihrQRhtaiIHINQMpyIJSQ0AIAUgB0sNACAFIAlqIgogBUkNACAHIApPDQMLIAEoAgAoAggh5wtB1IkLQQA2AgAg5wsgAUGw6wIQA0HUiQsoAgAh6AtB1IkLQQA2AgAg6AtBAUcNAhAAIQYMCwsQACEGIAcQWRoMCgsQACEGIANBGGoQWRogBxBZGgwJCyAFBEAgBEEQaiEKQQAhBwNAIAYgBCgCKCAHIAlqIgtBGGxqQRhrIAogCxsiC0cEQCALEFkhC0HUiQtBADYCAEHAACALIAYQAhpB1IkLKAIAIekLQdSJC0EANgIAIOkLQQFGDQkLIAdBAWoiByAFRw0ACwsgAEIANwMAIABCADcDMCAAQgA3AyggAEIANwMgIABCADcDGCAAQgA3AxAgAEIANwMIIAYQWRoCQCADKAJMIgRFDQAgBCAEKAIEIgVBAWs2AgQgBQ0AIAQgBCgCACgCCBEBACAEEHULIAMoAnAiBUUNESADKAJ0IgYgBSIERwRAA0AgBkEYaxBZIgYgBUcNAAsgAygCcCEECyADIAU2AnQgBBBaDBELEAAhBgwHCxAAIQYMCgsQACEGDAoLEAAhBgwKCxAAIQYMCgsQACEGDAYLEAAhBgwBCxAAIQYLIAgQWRoMAgsQACEGDAELEAAhBgsgA0HIAGoQwwILIANB0ABqEGgLIANBiAFqEGgLIANBwAFqEGgLIANB+AFqEGgMIgsACyADQdgAahBZGiADKAKoASIFRQ0AIAMoAqwBIgYgBSIERwRAA0AgBkEYaxBZIgYgBUcNAAsgAygCqAEhBAsgAyAFNgKsASAEEFoLIANBkAFqEFkaIAMoAuABIgVFDQAgAygC5AEiBiAFIgRHBEADQCAGQRhrEFkiBiAFRw0ACyADKALgASEECyADIAU2AuQBIAQQWgsgA0HIAWoQWRogAygCmAIiBUUNACADKAKcAiIGIAUiBEcEQANAIAZBGGsQWSIGIAVHDQALIAMoApgCIQQLIAMgBTYCnAIgBBBaCyADQYACahBZGiADQbACaiQADBMLIwBBgAJrIgMkACADQcgBaiABIAIoAhAQrwICQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCADKAL4AQRAIAAgAygCyAE2AgBB1IkLQQA2AgBBwAAgAEEIaiADQdABahACGkHUiQsoAgAh6gtB1IkLQQA2AgAg6gtBAUYNASAAIAMoAugBNgIgIAAgAygC7AE2AiQgACADKALwATYCKCADQQA2AvABIANCADcD6AEgACADKQP4ATcDMAwQCyACKAIUIQRB1IkLQQA2AgBBogEgA0GQAWogASAEEAhB1IkLKAIAIQRB1IkLQQA2AgACQAJAIARBAUcEQCADKALAAUUNASAAIAMoApABNgIAQdSJC0EANgIAQcAAIABBCGogA0GYAWoQAhpB1IkLKAIAIesLQdSJC0EANgIAIOsLQQFGDQIgACADKAKwATYCICAAIAMoArQBNgIkIAAgAygCuAE2AiggA0EANgK4ASADQgA3A7ABIAAgAykDwAE3AzAMEQsQACEGDC0LIAIoAhghBEHUiQtBADYCAEGiASADQdgAaiABIAQQCEHUiQsoAgAhBEHUiQtBADYCAAJAAkAgBEEBRwRAIAMoAogBRQ0BIAAgAygCWDYCAEHUiQtBADYCAEHAACAAQQhqIANB4ABqEAIaQdSJCygCACHsC0HUiQtBADYCACDsC0EBRg0CIAAgAygCeDYCICAAIAMoAnw2AiQgACADKAKAATYCKCADQQA2AoABIANCADcDeCAAIAMpA4gBNwMwDBELEAAhBgwNCyACKAIcIQRB1IkLQQA2AgBBogEgA0EgaiABIAQQCEHUiQsoAgAhBEHUiQtBADYCAAJAAkAgBEEBRwRAIAMoAlBFDQEgACADKAIgNgIAQdSJC0EANgIAQcAAIABBCGogA0EoahACGkHUiQsoAgAh7QtB1IkLQQA2AgAg7QtBAUYNAiAAIAMoAkA2AiAgACADKAJENgIkIAAgAygCSDYCKCADQQA2AkggA0IANwNAIAAgAykDUDcDMAwRCxAAIQYMDQsgAygCyAEgAygC7AEgAygC6AFrQRhtakEBRwRAQdSJC0EANgIAQQ1Bh8EFQdCVA0HHAEGY1wMQBUHUiQsoAgAh7gtB1IkLQQA2AgAg7gtBAUYNBQwPC0HUiQtBADYCAEG6BSADQRhqIANB0AFqEANB1IkLKAIAIe8LQdSJC0EANgIAIO8LQQFGDQQCQCADKAIYIgcNACABKAIAKAIIIfALQdSJC0EANgIAIPALIAFBwbMDEANB1IkLKAIAIfELQdSJC0EANgIAIPELQQFHDQAQACEGDAsLIAMoApABIAMoArQBIAMoArABa0EYbWpBAUcEQEHUiQtBADYCAEENQYfBBUHQlQNBxwBBmNcDEAVB1IkLKAIAIfILQdSJC0EANgIAIPILQQFHDQ8MCgtB1IkLQQA2AgBBmgwgA0GYAWoQrAIh1AxB1IkLKAIAIfMLQdSJC0EANgIAIPMLQQFGDQkgAygCWCADKAJ8IAMoAnhrQRhtakEBRwRAQdSJC0EANgIAQQ1Bh8EFQdCVA0HHAEGY1wMQBUHUiQsoAgAh9AtB1IkLQQA2AgAg9AtBAUcNDwwJC0HUiQtBADYCAEGaDCADQeAAahCsAiHVDEHUiQsoAgAh9QtB1IkLQQA2AgAg9QtBAUYNCCADKAIgIAMoAkQgAygCQGtBGG1qQQFHBEBB1IkLQQA2AgBBDUGHwQVB0JUDQccAQZjXAxAFQdSJCygCACH2C0HUiQtBADYCACD2C0EBRw0PDAgLQdSJC0EANgIAQZoMIANBKGoQrAIh1gxB1IkLKAIAIfcLQdSJC0EANgIAIPcLQQFGDQcCQCAHKAIIIAcoAiwgBygCKGtBGG1qrSDWDEL/////D4Mi2Awg1AxC/////w+DfFoNACABKAIAKAIIIfgLQdSJC0EANgIAIPgLIAFBzPAAEANB1IkLKAIAIfkLQdSJC0EANgIAIPkLQQFHDQAQACEGDAsLIAEoAgQiBCgCqAIhBSAEKAKkAiEEIAIpAggh1wxB1IkLQQA2AgBBiwwgBCAFINcMEPEBIQhB1IkLKAIAIfoLQdSJC0EANgIAIPoLQQFHBEAgAigCECgCBCEEQdSJC0EANgIAQZsMIAQQBiEEQdSJCygCACEFQdSJC0EANgIAAkAgBUEBRwRAIARBEE8EQCAEKAIQQQNGDQILQdSJC0EANgIAQQ1B//cFQbizAkHqCUHnIxAFQdSJCygCACH7C0HUiQtBADYCACD7C0EBRw0RCxAAIQYMDAsgBCgCGCEKIAQoAhQhC0HUiQtBADYCAEGcDCALIAoQAiEMQdSJCygCACH8C0HUiQtBADYCACD8C0EBRg0GIAgoAiAgCCgCHGutINgMIAytfiDVDEL/////D4N8VARAIAEoAgAoAggh/QtB1IkLQQA2AgAg/QsgAUHG7gQQA0HUiQsoAgAh/gtB1IkLQQA2AgAg/gtBAUYNCAsCQCDVDKciEUEAINYMpyIOa0YNACABKAJEIgVFDQAgASgCQAJ/IAIoAggiBiAFQQFrcSAFaSIJQQFNDQAaIAYgBSAGSw0AGiAGIAVwCyIQQQJ0aigCACIERQ0AIAQoAgAiBEUNAAJAIAlBAU0EQCAFQQFrIQUDQAJAIAYgBCgCBCIJRwRAIAUgCXEgEEYNAQwFCyAEKAIIIAZGDQMLIAQoAgAiBA0ACwwCCwNAAkAgBiAEKAIEIglHBEAgBSAJTQR/IAkgBXAFIAkLIBBGDQEMBAsgBCgCCCAGRg0CCyAEKAIAIgQNAAsMAQsgASgCACgCCCH/C0HUiQtBADYCACD/CyABQcbuBBADQdSJCygCACGADEHUiQtBADYCACCADEEBRg0ICwJAAkAgDgRAINQMpyEFIAdBEGohBkEAIQQDQCAIKAIcIQlB1IkLQQA2AgBBmAwgAyAJIAQgDGxqIBFqIAsgChAFQdSJCygCACGBDEHUiQtBADYCACCBDEEBRg0CIAMgBygCKCAEIAVqIglBGGxqQRhrIAYgCRsiCUcEQCAJEFkhCUHUiQtBADYCAEHAACAJIAMQAhpB1IkLKAIAIYIMQdSJC0EANgIAIIIMQQFGDQQLIAMQWRogBEEBaiIEIA5HDQALCyAAQgA3AwAgAEIANwMwIABCADcDKCAAQgA3AyAgAEIANwMYIABCADcDECAAQgA3AwgCQCADKAIcIgRFDQAgBCAEKAIEIgVBAWs2AgQgBQ0AIAQgBCgCACgCCBEBACAEEHULIAMoAkAiBUUNEiADKAJEIgYgBSIERwRAA0AgBkEYaxBZIgYgBUcNAAsgAygCQCEECyADIAU2AkQgBBBaDBILEAAhBgwMCxAAIQYgAxBZGgwLCxAAIQYMCgsQACEGDAoLEAAhBgwKCxAAIQYMCgsQACEGDCoLEAAhBgwGCxAAIQYMBAsQACEGDAMLEAAhBgwCCxAAIQYMAQsQACEGCyADQRhqEMMCCyADQSBqEGgLIANB2ABqEGgLIANBkAFqEGgMIAsACyADQShqEFkaIAMoAngiBUUNACADKAJ8IgYgBSIERwRAA0AgBkEYaxBZIgYgBUcNAAsgAygCeCEECyADIAU2AnwgBBBaCyADQeAAahBZGiADKAKwASIFRQ0AIAMoArQBIgYgBSIERwRAA0AgBkEYaxBZIgYgBUcNAAsgAygCsAEhBAsgAyAFNgK0ASAEEFoLIANBmAFqEFkaIAMoAugBIgVFDQAgAygC7AEiBiAFIgRHBEADQCAGQRhrEFkiBiAFRw0ACyADKALoASEECyADIAU2AuwBIAQQWgsgA0HQAWoQWRogA0GAAmokAAwSCyMAQaACayIDJAAgA0HoAWogASACKAIQEK8CAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCADKAKYAgRAIAAgAygC6AE2AgBB1IkLQQA2AgBBwAAgAEEIaiADQfABahACGkHUiQsoAgAhgwxB1IkLQQA2AgAggwxBAUYNASAAIAMoAogCNgIgIAAgAygCjAI2AiQgACADKAKQAjYCKCADQQA2ApACIANCADcDiAIgACADKQOYAjcDMAwOCyACKAIUIQRB1IkLQQA2AgBBogEgA0GwAWogASAEEAhB1IkLKAIAIQRB1IkLQQA2AgACQAJAIARBAUcEQCADKALgAUUNASAAIAMoArABNgIAQdSJC0EANgIAQcAAIABBCGogA0G4AWoQAhpB1IkLKAIAIYQMQdSJC0EANgIAIIQMQQFGDQIgACADKALQATYCICAAIAMoAtQBNgIkIAAgAygC2AE2AiggA0EANgLYASADQgA3A9ABIAAgAykD4AE3AzAMDwsQACEGDCkLIAIoAhghBEHUiQtBADYCAEGiASADQfgAaiABIAQQCEHUiQsoAgAhBEHUiQtBADYCAAJAAkAgBEEBRwRAIAMoAqgBRQ0BIAAgAygCeDYCAEHUiQtBADYCAEHAACAAQQhqIANBgAFqEAIaQdSJCygCACGFDEHUiQtBADYCACCFDEEBRg0CIAAgAygCmAE2AiAgACADKAKcATYCJCAAIAMoAqABNgIoIANBADYCoAEgA0IANwOYASAAIAMpA6gBNwMwDA8LEAAhBgwLCyACKAIcIQRB1IkLQQA2AgBBogEgA0FAayABIAQQCEHUiQsoAgAhBEHUiQtBADYCAAJAAkAgBEEBRwRAIAMoAnBFDQEgACADKAJANgIAQdSJC0EANgIAQcAAIABBCGogA0HIAGoQAhpB1IkLKAIAIYYMQdSJC0EANgIAIIYMQQFGDQIgACADKAJgNgIgIAAgAygCZDYCJCAAIAMoAmg2AiggA0EANgJoIANCADcDYCAAIAMpA3A3AzAMDwsQACEGDAsLIAMoAugBIAMoAowCIAMoAogCa0EYbWpBAUcEQEHUiQtBADYCAEENQYfBBUHQlQNBxwBBmNcDEAVB1IkLKAIAIYcMQdSJC0EANgIAIIcMQQFGDQUMDQtB1IkLQQA2AgBBugUgA0E4aiADQfABahADQdSJCygCACGIDEHUiQtBADYCACCIDEEBRg0EAkAgAygCOCIHDQAgASgCACgCCCGJDEHUiQtBADYCACCJDCABQcGzAxADQdSJCygCACGKDEHUiQtBADYCACCKDEEBRw0AEAAhBgwJCyADKAKwASADKALUASADKALQAWtBGG1qQQFHBEBB1IkLQQA2AgBBDUGHwQVB0JUDQccAQZjXAxAFQdSJCygCACGLDEHUiQtBADYCACCLDEEBRw0NDAgLQdSJC0EANgIAQZoMIANBuAFqEKwCIdQMQdSJCygCACGMDEHUiQtBADYCACCMDEEBRg0HIAMoAnggAygCnAEgAygCmAFrQRhtakEBRwRAQdSJC0EANgIAQQ1Bh8EFQdCVA0HHAEGY1wMQBUHUiQsoAgAhjQxB1IkLQQA2AgAgjQxBAUcNDQwHC0HUiQtBADYCAEGaDCADQYABahCsAiHWDEHUiQsoAgAhjgxB1IkLQQA2AgAgjgxBAUYNBiADKAJAIAMoAmQgAygCYGtBGG1qQQFHBEBB1IkLQQA2AgBBDUGHwQVB0JUDQccAQZjXAxAFQdSJCygCACGPDEHUiQtBADYCACCPDEEBRw0NDAYLQdSJC0EANgIAQZoMIANByABqEKwCIdUMQdSJCygCACGQDEHUiQtBADYCACCQDEEBRg0FAkAgBygCCCAHKAIsIAcoAihrQRhtaq0g1QxC/////w+DItgMINQMQv////8Pg3xaDQAgASgCACgCCCGRDEHUiQtBADYCACCRDCABQczwABADQdSJCygCACGSDEHUiQtBADYCACCSDEEBRw0AEAAhBgwJCyABKAIEIgQoApQCIQUgBCgCkAIhBCACKQIIIdcMQdSJC0EANgIAQZkMIAQgBSDXDBDxASEJQdSJCygCACEEQdSJC0EANgIAAkAgBEEBRwRAIAkoAiAgCSgCHGtBAnWtINgMINYMQv////8Pg3xaDQEgASgCACgCCCGTDEHUiQtBADYCACCTDCABQfXwABADQdSJCygCACGUDEHUiQtBADYCACCUDEEBRw0BCxAAIQYMCQsCQAJAINUMpyILBEAg1AynIQwgB0EQaiEOIANBCGohCgNAIAkoAhwgCEECdGooAgAhBEHUiQtBADYCAEGiASADIAEgBBAIQdSJCygCACGVDEHUiQtBADYCACCVDEEBRg0DIAMoAgAgAygCJCADKAIgIgRrQRhtakEBRwRAQdSJC0EANgIAQQ1Bh8EFQdCVA0HHAEGY1wMQBUHUiQsoAgAhlgxB1IkLQQA2AgAglgxBAUcNERAAIQYgAxBoDA0LIAogBygCKCAIIAxqIgVBGGxqQRhrIA4gBRsiBUcEQCAFEFkhBEHUiQtBADYCAEHAACAEIAoQAhpB1IkLKAIAIZcMQdSJC0EANgIAIJcMQQFGDQMgAygCICEECyAEBEAgAygCJCIGIAQiBUcEQANAIAZBGGsQWSIGIARHDQALIAMoAiAhBQsgAyAENgIkIAUQWgsgChBZGiAIQQFqIgggC0cNAAsLIABCADcDACAAQgA3AzAgAEIANwMoIABCADcDICAAQgA3AxggAEIANwMQIABCADcDCAJAIAMoAjwiBEUNACAEIAQoAgQiBUEBazYCBCAFDQAgBCAEKAIAKAIIEQEAIAQQdQsgAygCYCIFRQ0PIAMoAmQiBiAFIgRHBEADQCAGQRhrEFkiBiAFRw0ACyADKAJgIQQLIAMgBTYCZCAEEFoMDwsQACEGIAMQaAwJCxAAIQYMCAsQACEGDAgLEAAhBgwICxAAIQYMCAsQACEGDCYLEAAhBgwECxAAIQYMAgsQACEGDAELEAAhBgsgA0E4ahDDAgsgA0FAaxBoCyADQfgAahBoCyADQbABahBoDB4LAAsgA0HIAGoQWRogAygCmAEiBUUNACADKAKcASIGIAUiBEcEQANAIAZBGGsQWSIGIAVHDQALIAMoApgBIQQLIAMgBTYCnAEgBBBaCyADQYABahBZGiADKALQASIFRQ0AIAMoAtQBIgYgBSIERwRAA0AgBkEYaxBZIgYgBUcNAAsgAygC0AEhBAsgAyAFNgLUASAEEFoLIANBuAFqEFkaIAMoAogCIgVFDQAgAygCjAIiBiAFIgRHBEADQCAGQRhrEFkiBiAFRw0ACyADKAKIAiEECyADIAU2AowCIAQQWgsgA0HwAWoQWRogA0GgAmokAAwRCyMAQYABayIDJAAgA0HIAGogASACKAIMEK8CIAMoAkghBAJAAkACQAJAIAMoAngEQCAAIAQ2AgBB1IkLQQA2AgBBwAAgAEEIaiADQdAAahACGkHUiQsoAgAhmAxB1IkLQQA2AgAgmAxBAUYNASAAIAMoAmg2AiAgACADKAJsNgIkIAAgAygCcDYCKCADQQA2AnAgA0IANwNoIAAgAykDeDcDMAwECwJAIAMoAmwgAygCaGtBGG0gBGpBAUcEQEHUiQtBADYCAEENQYfBBUHQlQNBxwBBmNcDEAVB1IkLKAIAIZkMQdSJC0EANgIAIJkMQQFGDQEMBAsgA0HQAGohBAJAAkACQAJAIAIoAggOAwABAgMLAkAgAygCYCIFQQdJDQAgBSgCBEEBRw0AIAUoAghBfHFBDEcNACABKAIAKAIIIZoMQdSJC0EANgIAIJoMIAFBwbMDEANB1IkLKAIAIZsMQdSJC0EANgIAIJsMQQFGDQQLQdSJC0EANgIAQcAAIANBMGogBBACIQRB1IkLKAIAIZwMQdSJC0EANgIAIJwMQQFGDQNB1IkLQQA2AgBBnAMgACAEEAIaQdSJCygCACGdDEHUiQtBADYCACCdDEEBRwRAIAQQWRoMCAsQACEGIAQQWRoMBQtB1IkLQQA2AgBBvAUgA0EYaiIFIAQQA0HUiQsoAgAhngxB1IkLQQA2AgAgngxBAUYNAkHUiQtBADYCAEGcAyAAIAUQAhpB1IkLKAIAIZ8MQdSJC0EANgIAIJ8MQQFHBEAgBRBZGgwHCxAAIQYgA0EYahBZGgwEC0HUiQtBADYCAEG9BSADIAQQA0HUiQsoAgAhoAxB1IkLQQA2AgAgoAxBAUYNAUHUiQtBADYCAEGcAyAAIAMQAhpB1IkLKAIAIaEMQdSJC0EANgIAIKEMQQFHBEAgAxBZGgwGCxAAIQYgAxBZGgwDC0HUiQtBADYCAEEUQdPXBUHQlQNBxQ4QCEHUiQsoAgAhogxB1IkLQQA2AgAgogxBAUcNAwsQACEGDAELEAAhBgsgA0HIAGoQaAwcCwALIAMoAmgiBARAIAMoAmwiBiAEIgVHBEADQCAGQRhrEFkiBiAERw0ACyADKAJoIQULIAMgBDYCbCAFEFoLIANB0ABqEFkaIANBgAFqJAAMEAsjAEGAAmsiAyQAIANByAFqIAEgAigCDBCvAgJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAMoAvgBBEAgACADKALIATYCAEHUiQtBADYCAEHAACAAQQhqIANB0AFqEAIaQdSJCygCACGjDEHUiQtBADYCACCjDEEBRg0BIAAgAygC6AE2AiAgACADKALsATYCJCAAIAMoAvABNgIoIANBADYC8AEgA0IANwPoASAAIAMpA/gBNwMwDA0LIAIoAghBB0YEQCACKAIUIQRB1IkLQQA2AgBBogEgA0GQAWogASAEEAhB1IkLKAIAIQRB1IkLQQA2AgACQAJAIARBAUcEQCADKALAAUUNASAAIAMoApABNgIAQdSJC0EANgIAQcAAIABBCGogA0GYAWoQAhpB1IkLKAIAIaQMQdSJC0EANgIAIKQMQQFGDQIgACADKAKwATYCICAAIAMoArQBNgIkIAAgAygCuAE2AiggA0EANgK4ASADQgA3A7ABIAAgAykDwAE3AzAMDwsQACEGDCgLIAIoAhghBEHUiQtBADYCAEGiASADQdgAaiABIAQQCEHUiQsoAgAhBEHUiQtBADYCAAJAAkAgBEEBRwRAIAMoAogBRQ0BIAAgAygCWDYCAEHUiQtBADYCAEHAACAAQQhqIANB4ABqEAIaQdSJCygCACGlDEHUiQtBADYCACClDEEBRg0CIAAgAygCeDYCICAAIAMoAnw2AiQgACADKAKAATYCKCADQQA2AoABIANCADcDeCAAIAMpA4gBNwMwDA8LEAAhBgwMCyADKALIASADKALsASADKALoAWtBGG1qQQFHBEBB1IkLQQA2AgBBDUGHwQVB0JUDQccAQZjXAxAFQdSJCygCACGmDEHUiQtBADYCACCmDEEBRg0FDA0LQdSJC0EANgIAQboFIANB0ABqIANB0AFqEANB1IkLKAIAIacMQdSJC0EANgIAIKcMQQFGDQQCQCADKAJQIgUNACABKAIAKAIIIagMQdSJC0EANgIAIKgMIAFBwbMDEANB1IkLKAIAIakMQdSJC0EANgIAIKkMQQFHDQAQACEGDAoLAkACfyADKAKQASADKAK0ASADKAKwAWtBGG1qQQFHBEBBxwAhAEHQlQMh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IAEQnQMhBwwVCyAAKAIQIScgA0HYrQspAwAiAjcD2AUgAyACNwPIAiAnIANByAJqEIMEQditCykDACAAIAEoAghB0KELKQMAELsCIAAgASgCDEHQoQspAwAQuwIgACABKAIQQdChCykDABC7AhCSESEHDBQLIAAoAhAhKCADQdCtCykDACICNwPYBSADIAI3A9ACICggA0HQAmoQgwRB0K0LKQMAIAAgASgCCEHQoQspAwAQuwIgACABKAIMQdChCykDABC7AiAAIAEoAhBB0KELKQMAELsCEJIRIQcMEwsgARCRESEHDBILIAEoAgQiBEEHTw0eAkACQCAEQQRrQQJPBEAgBEECRw0BAkACQAJAAkACQAJAAkACQCABKAIIDjgKBwAHAAcHBwcHBwcHBwcHBwcHBwEHBwcHAwcEBwMHBAcCBwcHBwcHBwcHBwcHBwUGBwcHAwQDBAcLQdPUBEGckgNB8QwQYgALQdCkCykDACAAIAEoAgxB0KELKQMAELsCEIAEIQcMGgsgACgCECEpIANBsK0LKQMAIgI3A9gFIAMgAjcD4AIgKSADQeACahCDBCAAKAIQISogA0GYrQspAwAiAjcDoAggAyACNwPYAiAqIANB2AJqEIMEQbCtCykDACAAIAEoAgxB0KELKQMAELsCEJ0DIbYBQZitCykDACG9AUGAqAtBEEEIEF0iAUKAgICAgICAgMAANwMIIAFBATYCACC2ASC9ASABEJ0DEN4LIQcMGQtB2KQLKQMAIgIgAiAAIAEoAgxB0KELKQMAELsCEIAEEIAEIQcMGAtB2KQLKQMAIgIgAiAAIAEoAgxB0KELKQMAELsCEIAEEIAEISsgA0G4pQspAwA3A9gFQYCoC0EQQQgQXSIBQgA3AwggAUEBNgIAIAMgAykD2AU3A+gCICsgA0HoAmogARDzASEHDBcLIAAgASgCDEHQoQspAwAQuwIhLCADQbClCykDADcD2AVBgKgLQRBBCBBdIgFCgICAgICAgJzAADcDCCABQQE2AgAgAyADKQPYBTcD+AIgLCADQfgCaiABEPMBIS0gA0GopQspAwA3A6AIQYCoC0EQQQgQXSIBQoCAgICAgICcwAA3AwggAUEBNgIAIAMgAykDoAg3A/ACIC0gA0HwAmogARDzASEHDBYLIAAgASgCDEHQoQspAwAQuwIhLiAD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BgsgACgCBCIAQQdPDQkgAEEBayIAQQNPBEBB1IQEQemJA0G0AxBiAAsgAEECdEGw/wdqKAIAIQIMBQtBICECDAQLQdSEBEHppAJBvAUQYgALQdSEBEHppAJBvAUQYgALIAApAwghCiAFQQM2AhggBSAKeSIKNwMIQcAAIAqnayECIAVBCGoQWRoMAQtB2/8BQemJA0GjA0HUpgEQAQALIAQgAiACIARLGwshCCAFQSBqJAAgCA8LAAsQACEJIAVBCGoQWRogCRAHAAtB4c0GQZ+fA0HDAUHz5wQQAQALQZmxBUHmmgNBmAJBoq4FEAEAC0HtpgVB5poDQaECQYmkBRABAAumAgEJfyAAKAJQEG8gACgCPCICBEADQCACKAIAIQYgAigCFCIBBEADQCABKAIAIQUgARBaIAUiAQ0ACwsgAigCDCEBIAJBADYCDCABBEAgARBaCyACEFogBiICDQALCyAAKAI0IQEgAEEANgI0IAEEQCABEFoLIAAoAigiAgRAA0AgAigCACEIIAIoAhQiAQRAA0AgASgCACEHIAEQWiAHIgENAAsLIAIoAgwhASACQQA2AgwgAQRAIAEQWgsgAhBaIAgiAg0ACwsgACgCICEBIABBADYCICABBEAgARBaCyAAKAIYEOIIIAAoAggiAQRAA0AgASgCACEJIAEoAhwQkwQgARBaIAkiAQ0ACwsgACgCACEBIABBADYCACABBEAgARBaCyAAC9S9BQT4B38PfgF9AXwjAEEQayINJAAgASABKAIMQQFqIgM2AgwCQCABKAIIIgVFDQAgAyAFTQ0AIAFBmPIAIAEoAgAoAgwRAAALAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAgRAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAigCAEEBaw5cAAECAwQFBgcICQoLDB0eHyAhIiMkXCUNDg8QERITFBUWFxgZ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IAIoAhAQ4AIgBCgCOCIGRQRAIAQgAikCCCL7BzcDQEEAIAQoAghrIAQoAiwgBCgCKGtBGG1GBEBB1IkLQQA2AgBBDUGrkwZB0JUDQagQQYnXAxAFQdSJCygCACE/QdSJC0EANgIAID9BAUYNXwALQdSJC0EANgIAQfQCIARByABqIAFBLGog+wenIARBQGsQBUHUiQsoAgAhQEHUiQtBADYCACBAQQFGDV4gBCgCSCIDQRBqIgUgBCgCCDYCACAFIARBCGpGIgVFBEAgA0EYahBZIQdB1IkLQQA2AgBBwAAgByAEQRBqEAIaQdSJCygCACFBQdSJC0EANgIAIEFBAUYNXwsgBUUEQEHUiQtBADYCAEH1AiADQTBqIAQoAigiAyAEKAIsIgUgBSADa0EYbRAFQdSJCygCACFCQdSJC0EANgIAIEJBAUYNXwsgAEIANwMAIABCADcDMCAAQgA3AyggAEIANwMgIABCADcDGCAAQgA3AxAgAEIANwMICyAEKAIoIgMEQCAEKAIsIgcgAyIFRwRAA0AgB0EYaxBZIgcgA0cNAAsgBCgCKCEFCyAEIAM2AiwgBRBaCyAEQRBqEFkaIAZFDQELQYitCykDACH7ByAAQgA3AyggAEIANwMgIABCADcDGCAAQgA3AxAgAEIANwMIIABCADcDACAAIPsHNwMwCyAEQdAAaiQADAELQcHxBEHQlQNB4RBB4YQBEAEACwxSC0GIrQspAwAh+wcgAEIANwMoIABCADcDICAAQgA3AxggAEIANwMQIABCADcDCCAAQgA3AwAgACD7BzcDMAxRC0GIrQspAwAh+wcgAEIANwMoIABCADcDICAAQgA3AxggAEIANwMQIABCADcDCCAAQgA3AwAgACD7BzcDMAxQC0GIrQspAwAh+wcgAEIANwMoIABCADcDICAAQgA3AxggAEIANwMQIABCADcDCCAAQgA3AwAgACD7BzcDMAxPC0GIrQspAwAh+wcgAEIANwMoIABCADcDICAAQgA3AxggAEIANwMQIABCADcDCCAAQgA3AwAgACD7BzcDMAxOC0GIrQspAwAh+wcgAEIANwMoIABCADcDICAAQgA3AxggAEIANwMQIABCADcDCCAAQgA3AwAgACD7BzcDMAxNC0GIrQspAwAh+wcgAEIANwMoIABCADcDICAAQgA3AxggAEIANwMQIABCADcDCCAAQgA3AwAgACD7BzcDMAxMCyAAQgA3AwAgAEIANwMwIABCADcDKCAAQgA3AyAgAEIANwMYIABCADcDECAAQgA3AwgMSwsjAEGQAmsiBSQAIAVB2AFqIAEgAigCDBDgAgJAAkACQAJAAkAgBSgCiAIEQCAAIAUoAtgBNgIAQdSJC0EANgIAQcAAIABBCGogBUHgAWoQAhpB1IkLKAIAIUNB1IkLQQA2AgAgQ0EBRg0CIAAgBSgC+AE2AiAgACAFKAL8ATYCJCAAIAUoAoACNgIoIAVBADYCgAIgBUIANwP4ASAAIAUpA4gCNwMwDAELAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAUoAtgBIAUoAvwBIAUoAvgBa0EYbWpBAUcEQEHUiQtBADYCAEENQYfBBUHQlQNBxwBBmNcDEAVB1IkLKAIAIURB1IkLQQA2AgAgREEBRg0BDBALQdSJC0EANgIAQcAAIAVBwAFqIAVB4AFqEAIhB0HUiQsoAgAhRUHUiQtBADYCACBFQQFGDQAgAigCCA4IAQIDBAUGBwgJCxAAIQMMDQsgAi0AECEDQdSJC0EANgIAQZsDIAVBqAFqIgQgByADEAhB1IkLKAIAIUZB1IkLQQA2AgAgRkEBRg0IQdSJC0EANgIAQZwDIAAgBBACGkHUiQsoAgAhR0HUiQtBADYCACAEIQMgR0EBRw0JEAAhAyAEEFkaIAcQWRoMDAsgAi0AECEDQdSJC0EANgIAQZ0DIAVBkAFqIgQgByADEAhB1IkLKAIAIUhB1IkLQQA2AgAgSEEBRg0HQdSJC0EANgIAQZwDIAAgBBACGkHUiQsoAgAhSUHUiQtBADYCACAEIQMgSUEBRw0IEAAhAyAEEFkaIAcQWRoMCwsgAi0AECEDQdSJC0EANgIAQZ4DIAVB+ABqIgQgByADEAhB1IkLKAIAIUpB1IkLQQA2AgAgSkEBRg0GQdSJC0EANgIAQZwDIAAgBBACGkHUiQsoAgAhS0HUiQtBADYCACAEIQMgS0EBRw0HEAAhAyAEEFkaIAcQWRoMCgsgAi0AECEDQdSJC0EANgIAQZ8DIAVB4ABqIgQgByADEAhB1IkLKAIAIUxB1IkLQQA2AgAgTEEBRg0FQdSJC0EANgIAQZwDIAAgBBACGkHUiQsoAgAhTUHUiQtBADYCACAEIQMgTUEBRw0GEAAhAyAEEFkaIAcQWRoMCQsgAi0AECEDQdSJC0EANgIAQaADIAVByABqIgQgByADEAhB1IkLKAIAIU5B1IkLQQA2AgAgTkEBRg0EQdSJC0EANgIAQZwDIAAgBBACGkHUiQsoAgAhT0HUiQtBADYCACAEIQMgT0EBRw0FEAAhAyAEEFkaIAcQWRoMCAsgAi0AECEDQdSJC0EANgIAQaEDIAVBMGoiBCAHIAMQCEHUiQsoAgAhUEHUiQtBADYCACBQQQFGDQNB1IkLQQA2AgBBnAMgACAEEAIaQdSJCygCACFRQdSJC0EANgIAIAQhAyBRQQFHDQQQACEDIAQQWRogBxBZGgwHCyACLQAQIQNB1IkLQQA2AgBBogMgBUEYaiIEIAcgAxAIQdSJCygCACFSQdSJC0EANgIAIFJBAUYNAkHUiQtBADYCAEGcAyAAIAQQAhpB1IkLKAIAIVNB1IkLQQA2AgAgBCEDIFNBAUcNAxAAIQMgBBBZGiAHEFkaDAYLIAItABAhA0HUiQtBADYCAEGjAyAFIAcgAxAIQdSJCygCACFUQdSJC0EANgIAIFRBAUYNAUHUiQtBADYCAEGcAyAAIAUQAhpB1IkLKAIAIVVB1IkLQQA2AgAgBSEDIFVBAUcNAhAAIQMgBRBZGiAHEFkaDAULQdSJC0EANgIAQRRB/7wCQdCVA0GwCBAIQdSJCygCACFWQdSJC0EANgIAIFZBAUcNBQsQACEDIAcQWRoMAwsgAxBZGiAHEFkaIAUoAvgBIgRFDQAgBSgC/AEiAyAEIgdHBEADQCADQRhrEFkiAyAERw0ACyAFKAL4ASEHCyAFIAQ2AvwBIAcQWgsgBUHgAWoQWRogBUGQAmokAAwDCxAAIQMLIAVB2AFqEGgMVgsACwxKCyMAQaACayIEJAAgBEHoAWogASACKAIMEOACAkACQAJAAkACQCAEKAKYAgRAIAAgBCgC6AE2AgBB1IkLQQA2AgBBwAAgAEEIaiAEQfABahACGkHUiQsoAgAhV0HUiQtBADYCACBXQQFGDQIgACAEKAKIAjYCICAAIAQoAowCNgIkIAAgBCgCkAI2AiggBEEANgKQAiAEQgA3A4gCIAAgBCkDmAI3AzAMAQsCQAJAAkACQAJAAkAgBCgC6AEgBCgCjAIgBCgCiAJrQRhtakEBRwRAQdSJC0EANgIAQQ1Bh8EFQdCVA0HHAEGY1wMQBUHUiQsoAgAhWEHUiQtBADYCACBYQQFGDQEMCgtB1IkLQQA2AgBBwAAgBEHQAWogBEHwAWoiAxACIQdB1IkLKAIAIVlB1IkLQQA2AgAgWUEBRg0AIAIoAhQhBUHUiQtBADYCAEHxAiAEQZgBaiABIAUQCEHUiQsoAgAhWkHUiQtBADYCACBaQQFGDQEgBCAEKAKYATYC6AEgAxBZIQNB1IkLQQA2AgBBwAAgAyAEQaABaiIJEAIhCEHUiQsoAgAhW0HUiQtBADYCACBbQQFGDQIgBCgCiAIiAwRAIAQoAowCIgYgAyIFRwRAA0AgBkEYaxBZIgYgA0cNAAsgBCgCiAIhBQsgBCADNgKMAiAFEFoLIAQpArwBIfsHIARBADYCwAEgBCAEKAK4ATYCiAIgBCAEKQPIATcDmAIgBCD7BzcCjAIgBEIANwO4ASAJEFkaIAQoApgCRQ0EIAAgBCgC6AE2AgBB1IkLQQA2AgBBwAAgAEEIaiAIEAIaQdSJCygCACFcQdSJC0EANgIAIFxBAUYNAyAAIAQoAogCNgIgIAAgBCgCjAI2AiQgACAEKAKQAjYCKCAEQQA2ApACIARCADcDiAIgACAEKQOYAjcDMAwFCxAAIQMMXAsQACEDIAcQWRoMWwsQACEDIARBmAFqEGggBxBZGgxaCxAAIQMgBxBZGgxZCyAEKALoASAEKAKMAiAEKAKIAmtBGG1qQQFHBEBB1IkLQQA2AgBBDUGHwQVB0JUDQccAQZjXAxAFQdSJCygCACFdQdSJC0EANgIAIF1BAUcNBQwEC0HUiQtBADYCAEHAACAEQZgBaiAIEAIhBkHUiQsoAgAhXkHUiQtBADYCACBeQQFGDQMCQAJAAkACQAJAAkACQAJAAkACQCACKAIIDgYAAQIDBAUGCyACLQAQIQNB1IkLQQA2AgBBpAMgBEGAAWoiBSAHIAYgAxAFQdSJCygCACFfQdSJC0EANgIAIF9BAUYNBkHUiQtBADYCAEGcAyAAIAUQAhpB1IkLKAIAIWBB1IkLQQA2AgAgBSEDIGBBAUcNCBAAIQMgBRBZGgwHCyACLQAQIQNB1IkLQQA2AgBBpQMgBEHoAGoiBSAHIAYgAxAFQdSJCygCACFhQdSJC0EANgIAIGFBAUYNBUHUiQtBADYCAEGcAyAAIAUQAhpB1IkLKAIAIWJB1IkLQQA2AgAgBSEDIGJBAUcNBxAAIQMgBRBZGgwGCyACLQAQIQNB1IkLQQA2AgBBpgMgBEHQAGoiBSAHIAYgAxAFQdSJCygCACFjQdSJC0EANgIAIGNBAUYNBEHUiQtBADYCAEGcAyAAIAUQAhpB1IkLKAIAIWRB1IkLQQA2AgAgBSEDIGRBAUcNBhAAIQMgBRBZGgwFCyACLQAQIQNB1IkLQQA2AgBBpwMgBEE4aiIFIAcgBiADEAVB1IkLKAIAIWVB1IkLQQA2AgAgZUEBRg0DQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAhZkHUiQtBADYCACAFIQMgZkEBRw0FEAAhAyAFEFkaDAQLIAItABAhA0HUiQtBADYCAEGoAyAEQSBqIgUgByAGIAMQBUHUiQsoAgAhZ0HUiQtBADYCACBnQQFGDQJB1IkLQQA2AgBBnAMgACAFEAIaQdSJCygCACFoQdSJC0EANgIAIAUhAyBoQQFHDQQQACEDIAUQWRoMAwsgAi0AECEDQdSJC0EANgIAQakDIARBCGoiBSAHIAYgAxAFQdSJCygCACFpQdSJC0EANgIAIGlBAUYNAUHUiQtBADYCAEGcAyAAIAUQAhpB1IkLKAIAIWpB1IkLQQA2AgAgBSEDIGpBAUcNAxAAIQMgBRBZGgwCC0HUiQtBADYCAEEUQf+8AkHQlQNBzAgQCEHUiQsoAgAha0HUiQtBADYCACBrQQFHDQcLEAAhAwsgBhBZGiAHEFkaDFkLIAMQWRogBhBZGgsgBxBZGiAEKAKIAiIDRQ0AIAQoAowCIgYgAyIFRwRAA0AgBkEYaxBZIgYgA0cNAAsgBCgCiAIhBQsgBCADNgKMAiAFEFoLIARB8AFqEFkaIARBoAJqJAAMAwsQACEDDFULEAAhAyAHEFkaDFQLAAsMSQsjAEGgAWsiBCQAIARB6ABqIAEgAigCCBDgAgJAAkACQAJAAkAgBCgCmAEEQCAAIAQoAmg2AgBB1IkLQQA2AgBBwAAgAEEIaiAEQfAAahACGkHUiQsoAgAhbEHUiQtBADYCACBsQQFGDQEgACAEKAKIATYCICAAIAQoAowBNgIkIAAgBCgCkAE2AiggBEEANgKQASAEQgA3A4gBIAAgBCkDmAE3AzAMBQsCQAJAAkACQAJAIAQoAmggBCgCjAEgBCgCiAFrQRhtakEBRwRAQdSJC0EANgIAQQ1Bh8EFQdCVA0HHAEGY1wMQBUHUiQsoAgAhbUHUiQtBADYCACBtQQFGDQEMCQtB1IkLQQA2AgBBwAAgBEHQAGogBEHwAGoiAxACIQdB1IkLKAIAIW5B1IkLQQA2AgAgbkEBRg0AIAIoAgwhBUHUiQtBADYCAEHxAiAEQRhqIAEgBRAIQdSJCygCACFvQdSJC0EANgIAIG9BAUYNASAEIAQoAhg2AmggAxBZIQNB1IkLQQA2AgBBwAAgAyAEQSBqIgkQAiEIQdSJCygCACFwQdSJC0EANgIAIHBBAUYNAiAEKAKIASIDBEAgBCgCjAEiBiADIgVHBEADQCAGQRhrEFkiBiADRw0ACyAEKAKIASEFCyAEIAM2AowBIAUQWgsgBCkCPCH7ByAEQUBrQQA2AgAgBCAEKAI4NgKIASAEIAQpA0g3A5gBIAQg+wc3AowBIARCADcDOCAJEFkaIAQoApgBRQ0EIAAgBCgCaDYCAEHUiQtBADYCAEHAACAAQQhqIAgQAhpB1IkLKAIAIXFB1IkLQQA2AgAgcUEBRg0DIAAgBCgCiAE2AiAgACAEKAKMATYCJCAAIAQoApABNgIoIARBADYCkAEgBEIANwOIASAAIAQpA5gBNwMwDAcLEAAhAAxcCxAAIQAgBxBZGgxbCxAAIQAgBEEYahBoIAcQWRoMWgsQACEAIAcQWRoMWQsgBCgCaCAEKAKMASAEKAKIAWtBGG1qQQFHBEBB1IkLQQA2AgBBDUGHwQVB0JUDQccAQZjXAxAFQdSJCygCACFyQdSJC0EANgIAIHJBAUcNBAwCC0HUiQtBADYCAEHAACAEQRhqIAgQAiEDQdSJCygCACFzQdSJC0EANgIAIHNBAUYNAUHUiQtBADYCAEGqAyAEIAcgAyACQRBqEAVB1IkLKAIAIQVB1IkLQQA2AgACQAJAIAVBAUcEQEHUiQtBADYCAEGcAyAAIAQQAhpB1IkLKAIAIXRB1IkLQQA2AgAgdEEBRg0BIAQQWRogAxBZGgwFCxAAIQAMAQsQACEAIAQQWRoLIAMQWRogBxBZGgxYCxAAIQAMVwsQACEAIAcQWRoMVgsgBxBZGiAEKAKIASIDRQ0BIAQoAowBIgYgAyIFRwRAA0AgBkEYaxBZIgYgA0cNAAsgBCgCiAEhBQsgBCADNgKMASAFEFoMAQsACyAEQfAAahBZGiAEQaABaiQADEgLIwBBoAJrIgQkACAEQegBaiABIAIoAgwQ4AICQAJAAkACQAJAAkACQCAEKAKYAgRAIAAgBCgC6AE2AgBB1IkLQQA2AgBBwAAgAEEIaiAEQfABahACGkHUiQsoAgAhdUHUiQtBADYCACB1QQFGDQEgACAEKAKIAjYCICAAIAQoAowCNgIkIAAgBCgCkAI2AiggBEEANgKQAiAEQgA3A4gCIAAgBCkDmAI3AzAMBwsCQAJAAkACQAJAIAQoAugBIAQoAowCIAQoAogCa0EYbWpBAUcEQEHUiQtBADYCAEENQYfBBUHQlQNBxwBBmNcDEAVB1IkLKAIAIXZB1IkLQQA2AgAgdkEBRg0BDAsLQdSJC0EANgIAQcAAIARB0AFqIARB8AFqIgMQAiEGQdSJCygCACF3QdSJC0EANgIAIHdBAUYNACACKAIQIQVB1IkLQQA2AgBB8QIgBEGYAWogASAFEAhB1IkLKAIAIXhB1IkLQQA2AgAgeEEBRg0BIAQgBCgCmAE2AugBIAMQWSEDQdSJC0EANgIAQcAAIAMgBEGgAWoiCBACIQlB1IkLKAIAIXlB1IkLQQA2AgAgeUEBRg0CIAQoAogCIgUEQCAEKAKMAiIHIAUiA0cEQANAIAdBGGsQWSIHIAVHDQALIAQoAogCIQMLIAQgBTYCjAIgAxBaCyAEKQK8ASH7ByAEQQA2AsABIAQgBCgCuAE2AogCIAQgBCkDyAE3A5gCIAQg+wc3AowCIARCADcDuAEgCBBZGiAEKAKYAkUNBCAAIAQoAugBNgIAQdSJC0EANgIAQcAAIABBCGogCRACGkHUiQsoAgAhekHUiQtBADYCACB6QQFGDQMgACAEKAKIAjYCICAAIAQoAowCNgIkIAAgBCgCkAI2AiggBEEANgKQAiAEQgA3A4gCIAAgBCkDmAI3AzAMCQsQACEDDFsLEAAhAyAGEFkaDFoLEAAhAyAEQZgBahBoIAYQWRoMWQsQACEDIAYQWRoMWAsgBCgC6AEgBCgCjAIgBCgCiAJrQRhtakEBRwRAQdSJC0EANgIAQQ1Bh8EFQdCVA0HHAEGY1wMQBUHUiQsoAgAhe0HUiQtBADYCACB7QQFHDQYMBAtB1IkLQQA2AgBBwAAgBEGAAWogCRACIQhB1IkLKAIAIXxB1IkLQQA2AgAgfEEBRg0DIAIoAhQhA0HUiQtBADYCAEHxAiAEQZgBaiABIAMQCEHUiQsoAgAhfUHUiQtBADYCACB9QQFHBEAgBCAEKAKYATYC6AEgCRBZIQNB1IkLQQA2AgBBwAAgAyAEQaABaiIKEAIhCUHUiQsoAgAhA0HUiQtBADYCAAJAAkAgA0EBRwRAIAQoAogCIgUEQCAEKAKMAiIHIAUiA0cEQANAIAdBGGsQWSIHIAVHDQALIAQoAogCIQMLIAQgBTYCjAIgAxBaCyAEKQK8ASH7ByAEQQA2AsABIAQgBCgCuAE2AogCIAQgBCkDyAE3A5gCIAQg+wc3AowCIARCADcDuAEgChBZGiAEKAKYAkUNAiAAIAQoAugBNgIAQdSJC0EANgIAQcAAIABBCGogCRACGkHUiQsoAgAhfkHUiQtBADYCACB+QQFGDQEgACAEKAKIAjYCICAAIAQoAowCNgIkIAAgBCgCkAI2AiggBEEANgKQAiAEQgA3A4gCIAAgBCkDmAI3AzAgCBBZGgwICxAAIQMgBEGYAWoQaAwFCxAAIQMMBAsgBCgC6AEgBCgCjAIgBCgCiAJrQRhtakEBRwRAQdSJC0EANgIAQQ1Bh8EFQdCVA0HHAEGY1wMQBUHUiQsoAgAhf0HUiQtBADYCACB/QQFHDQcMAwtB1IkLQQA2AgBBwAAgBEGYAWogCRACIQdB1IkLKAIAIYABQdSJC0EANgIAIIABQQFGDQICQAJAAkACQAJAAkACQAJAIAIoAggOCQABAgMEAAAAAAULQdSJC0EANgIAQasDIARB6ABqIgUgByAGIAgQBUHUiQsoAgAhgQFB1IkLQQA2AgAggQFBAUYNBUHUiQtBADYCAEGcAyAAIAUQAhpB1IkLKAIAIYIBQdSJC0EANgIAIAUhAyCCAUEBRw0GEAAhAyAFEFkaIAcQWRoMCgtB1IkLQQA2AgBBrAMgBEHQAGoiBSAGIAggBxAFQdSJCygCACGDAUHUiQtBADYCACCDAUEBRg0EQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAhhAFB1IkLQQA2AgAgBSEDIIQBQQFHDQUQACEDIAUQWRogBxBZGgwJC0HUiQtBADYCAEGtAyAEQThqIgUgBiAIIAcQBUHUiQsoAgAhhQFB1IkLQQA2AgAghQFBAUYNA0HUiQtBADYCAEGcAyAAIAUQAhpB1IkLKAIAIYYBQdSJC0EANgIAIAUhAyCGAUEBRw0EEAAhAyAFEFkaIAcQWRoMCAtB1IkLQQA2AgBBrgMgBEEgaiIFIAYgCCAHEAVB1IkLKAIAIYcBQdSJC0EANgIAIIcBQQFGDQJB1IkLQQA2AgBBnAMgACAFEAIaQdSJCygCACGIAUHUiQtBADYCACAFIQMgiAFBAUcNAxAAIQMgBRBZGiAHEFkaDAcLQdSJC0EANgIAQa8DIARBCGoiBSAGIAggBxAFQdSJCygCACGJAUHUiQtBADYCACCJAUEBRg0BQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAhigFB1IkLQQA2AgAgBSEDIIoBQQFHDQIQACEDIAUQWRogBxBZGgwGC0HUiQtBADYCAEEUQd3YBEHQlQNB/wgQCEHUiQsoAgAhiwFB1IkLQQA2AgAgiwFBAUcNCAsQACEDIAcQWRoMBAsgAxBZGiAHEFkaIAgQWRoMBQsQACEDDAILEAAhAwxWCxAAIQMLIAgQWRogBhBZGgxUCxAAIQMgBhBZGgxTCyAGEFkaIAQoAogCIgNFDQEgBCgCjAIiByADIgVHBEADQCAHQRhrEFkiByADRw0ACyAEKAKIAiEFCyAEIAM2AowCIAUQWgwBCwALIARB8AFqEFkaIARBoAJqJAAMRwsjAEGwA2siBCQAIARB+AJqIAEgAigCDBDgAgJAAkACQAJAAkACQCAEKAKoAwRAIAAgBCgC+AI2AgBB1IkLQQA2AgBBwAAgAEEIaiAEQYADahACGkHUiQsoAgAhjAFB1IkLQQA2AgAgjAFBAUYNAiAAIAQoApgDNgIgIAAgBCgCnAM2AiQgACAEKAKgAzYCKCAEQQA2AqADIARCADcDmAMgACAEKQOoAzcDMAwBCwJAAkACQAJAAkACQCAEKAL4AiAEKAKcAyAEKAKYA2tBGG1qQQFHBEBB1IkLQQA2AgBBDUGHwQVB0JUDQccAQZjXAxAFQdSJCygCACGNAUHUiQtBADYCACCNAUEBRg0BDAsLQdSJC0EANgIAQcAAIARB4AJqIARBgANqIgMQAiEHQdSJCygCACGOAUHUiQtBADYCACCOAUEBRg0AIAIoAhAhBUHUiQtBADYCAEHxAiAEQagCaiABIAUQCEHUiQsoAgAhjwFB1IkLQQA2AgAgjwFBAUYNASAEIAQoAqgCNgL4AiADEFkhA0HUiQtBADYCAEHAACADIARBsAJqIgkQAiEIQdSJCygCACGQAUHUiQtBADYCACCQAUEBRg0CIAQoApgDIgMEQCAEKAKcAyIGIAMiBUcEQANAIAZBGGsQWSIGIANHDQALIAQoApgDIQULIAQgAzYCnAMgBRBaCyAEKQLMAiH7ByAEQQA2AtACIAQgBCgCyAI2ApgDIAQgBCkD2AI3A6gDIAQg+wc3ApwDIARCADcDyAIgCRBZGiAEKAKoA0UNBCAAIAQoAvgCNgIAQdSJC0EANgIAQcAAIABBCGogCBACGkHUiQsoAgAhkQFB1IkLQQA2AgAgkQFBAUYNAyAAIAQoApgDNgIgIAAgBCgCnAM2AiQgACAEKAKgAzYCKCAEQQA2AqADIARCADcDmAMgACAEKQOoAzcDMAwFCxAAIQMMCAsQACEDIAcQWRoMBwsQACEDIARBqAJqEGggBxBZGgwGCxAAIQMgBxBZGgwFCyAEKAL4AiAEKAKcAyAEKAKYA2tBGG1qQQFHBEBB1IkLQQA2AgBBDUGHwQVB0JUDQccAQZjXAxAFQdSJCygCACGSAUHUiQtBADYCACCSAUEBRw0GDAQLQdSJC0EANgIAQcAAIARBqAJqIAgQAiEGQdSJCygCACGTAUHUiQtBADYCACCTAUEBRg0DAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAigCCA4MAAECAwQFBgcICQoLDAtB1IkLQQA2AgBBsAMgBEGQAmoiBSAHIAYQCEHUiQsoAgAhlAFB1IkLQQA2AgAglAFBAUYNDEHUiQtBADYCAEGcAyAAIAUQAhpB1IkLKAIAIZUBQdSJC0EANgIAIAUhAyCVAUEBRw0OEAAhAyAFEFkaDA0LQdSJC0EANgIAQbEDIARB+AFqIgUgByAGEAhB1IkLKAIAIZYBQdSJC0EANgIAIJYBQQFGDQtB1IkLQQA2AgBBnAMgACAFEAIaQdSJCygCACGXAUHUiQtBADYCACAFIQMglwFBAUcNDRAAIQMgBRBZGgwMC0HUiQtBADYCAEGyAyAEQeABaiIFIAcgBhAIQdSJCygCACGYAUHUiQtBADYCACCYAUEBRg0KQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAhmQFB1IkLQQA2AgAgBSEDIJkBQQFHDQwQACEDIAUQWRoMCwtB1IkLQQA2AgBBswMgBEHIAWoiBSAHIAYQCEHUiQsoAgAhmgFB1IkLQQA2AgAgmgFBAUYNCUHUiQtBADYCAEGcAyAAIAUQAhpB1IkLKAIAIZsBQdSJC0EANgIAIAUhAyCbAUEBRw0LEAAhAyAFEFkaDAoLQdSJC0EANgIAQbQDIARBsAFqIgUgByAGEAhB1IkLKAIAIZwBQdSJC0EANgIAIJwBQQFGDQhB1IkLQQA2AgBBnAMgACAFEAIaQdSJCygCACGdAUHUiQtBADYCACAFIQMgnQFBAUcNChAAIQMgBRBZGgwJC0HUiQtBADYCAEG1AyAEQZgBaiIFIAcgBhAIQdSJCygCACGeAUHUiQtBADYCACCeAUEBRg0HQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAhnwFB1IkLQQA2AgAgBSEDIJ8BQQFHDQkQACEDIAUQWRoMCAtB1IkLQQA2AgBBtgMgBEGAAWoiBSAHIAYQCEHUiQsoAgAhoAFB1IkLQQA2AgAgoAFBAUYNBkHUiQtBADYCAEGcAyAAIAUQAhpB1IkLKAIAIaEBQdSJC0EANgIAIAUhAyChAUEBRw0IEAAhAyAFEFkaDAcLQdSJC0EANgIAQbcDIARB6ABqIgUgByAGEAhB1IkLKAIAIaIBQdSJC0EANgIAIKIBQQFGDQVB1IkLQQA2AgBBnAMgACAFEAIaQdSJCygCACGjAUHUiQtBADYCACAFIQMgowFBAUcNBxAAIQMgBRBZGgwGC0HUiQtBADYCAEG4AyAEQdAAaiIFIAcgBhAIQdSJCygCACGkAUHUiQtBADYCACCkAUEBRg0EQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAhpQFB1IkLQQA2AgAgBSEDIKUBQQFHDQYQACEDIAUQWRoMBQtB1IkLQQA2AgBBuQMgBEE4aiIFIAcgBhAIQdSJCygCACGmAUHUiQtBADYCACCmAUEBRg0DQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAhpwFB1IkLQQA2AgAgBSEDIKcBQQFHDQUQACEDIAUQWRoMBAtB1IkLQQA2AgBBugMgBEEgaiIFIAcgBhAIQdSJCygCACGoAUHUiQtBADYCACCoAUEBRg0CQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAhqQFB1IkLQQA2AgAgBSEDIKkBQQFHDQQQACEDIAUQWRoMAwtB1IkLQQA2AgBBuwMgBEEIaiIFIAcgBhAIQdSJCygCACGqAUHUiQtBADYCACCqAUEBRg0BQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAhqwFB1IkLQQA2AgAgBSEDIKsBQQFHDQMQACEDIAUQWRoMAgtB1IkLQQA2AgBBFEH/vAJB0JUDQagJEAhB1IkLKAIAIawBQdSJC0EANgIAIKwBQQFHDQgLEAAhAwsgBhBZGiAHEFkaDAULIAMQWRogBhBZGgsgBxBZGiAEKAKYAyIDRQ0AIAQoApwDIgYgAyIFRwRAA0AgBkEYaxBZIgYgA0cNAAsgBCgCmAMhBQsgBCADNgKcAyAFEFoLIARBgANqEFkaIARBsANqJAAMBAsQACEDDAELEAAhAyAHEFkaCyAEQfgCahBoDFILAAsMRgtBiK0LKQMAIfsHIABCADcDKCAAQgA3AyAgAEIANwMYIABCADcDECAAQgA3AwggAEIANwMAIAAg+wc3AzAMRQtBiK0LKQMAIfsHIABCADcDKCAAQgA3AyAgAEIANwMYIABCADcDECAAQgA3AwggAEIANwMAIAAg+wc3AzAMRAtBiK0LKQMAIfsHIABCADcDKCAAQgA3AyAgAEIANwMYIABCADcDECAAQgA3AwggAEIANwMAIAAg+wc3AzAMQwtBiK0LKQMAIfsHIABCADcDKCAAQgA3AyAgAEIANwMYIABCADcDECAAQgA3AwggAEIANwMAIAAg+wc3AzAMQgtBiK0LKQMAIfsHIABCADcDKCAAQgA3AyAgAEIANwMYIABCADcDECAAQgA3AwggAEIANwMAIAAg+wc3AzAMQQtBiK0LKQMAIfsHIABCADcDKCAAQgA3AyAgAEIANwMYIABCADcDECAAQgA3AwggAEIANwMAIAAg+wc3AzAMQAsgACACEP8LDD8LIwBBsBNrIgQkACAEQfgSaiABIAIoAgwQ4AICQAJAAkACQAJAAkACQAJAAkAgBCgCqBMEQCAAIAQoAvgSNgIAQdSJC0EANgIAQcAAIABBCGogBEGAE2oQAhpB1IkLKAIAIa0BQdSJC0EANgIAIK0BQQFGDQIgACAEKAKYEzYCICAAIARBnBNqKAIANgIkIAAgBEGgE2oiAygCADYCKCADQQA2AgAgBEIANwOYEyAAIAQpA6gTNwMwDAELAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAEKAL4EiAEQZwTaigCACAEKAKYE2tBGG1qQQFHBEBB1IkLQQA2AgBBDUGHwQVB0JUDQccAQZjXAxAFQdSJCygCACGuAUHUiQtBADYCACCuAUEBRg0BDHALQdSJC0EANgIAQcAAIARB4BJqIARBgBNqEAIhBkHUiQsoAgAhrwFB1IkLQQA2AgAgrwFBAUYNAEHbBCEFQdCVAyEHQYK8AiEDIAIoAggOggEBAQICAwMRERISExMUFBUVFhYXFwQEBwgJGBgZGRgYGRkeIAwNCgsMDQoLHyMFBg4PDg8QGhwaHBsdGx0kJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZE9QYWJsZQsQACEDDG0LQdSJC0EANgIAQbwDIARByBJqIgUgBhADQdSJCygCACGwAUHUiQtBADYCACCwAUEBRg1rQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAhsQFB1IkLQQA2AgAgsQFBAUcNZRAAIQMgBRBZGiAGEFkaDGwLQdSJC0EANgIAQb0DIARBsBJqIgUgBhADQdSJCygCACGyAUHUiQtBADYCACCyAUEBRg1qQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAhswFB1IkLQQA2AgAgswFBAUcNZBAAIQMgBRBZGiAGEFkaDGsLQdSJC0EANgIAQb4DIARBmBJqIgUgBhADQdSJCygCACG0AUHUiQtBADYCACC0AUEBRg1pQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAhtQFB1IkLQQA2AgAgtQFBAUcNYxAAIQMgBRBZGiAGEFkaDGoLQdSJC0EANgIAQb8DIARBgBJqIgUgBhADQdSJCygCACG2AUHUiQtBADYCACC2AUEBRg1oQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAhtwFB1IkLQQA2AgAgtwFBAUcNYhAAIQMgBRBZGiAGEFkaDGkLIAYoAhBBAkcEQEHKAiEAQZmxBSEFQYG9BQwcCyAEQQQ2AvgRIAYoAgAhA0HUiQtBADYCACAEIAM2AugRQZwDIAAgBEHoEWoiBRACGkHUiQsoAgAhuAFB1IkLQQA2AgAguAFBAUcNYRAAIQMgBRBZGiAGEFkaDGgLIAYoAhBBA0cEQEHRAiEAQe2mBSEFQcerBQwbCyAEQQU2AuARIAYpAwAh+wdB1IkLQQA2AgAgBCD7BzcD0BFBnAMgACAEQdARaiIFEAIaQdSJCygCACG5AUHUiQtBADYCACC5AUEBRw1gEAAhAyAFEFkaIAYQWRoMZwsgBigCEEECRwRAQdQFIQBBmbEFIQVBuqsFDBoLIAY0AgAh+wcgBEEDNgLIESAEIPsHNwO4EUHUiQtBADYCAEGcAyAAIARBuBFqIgUQAhpB1IkLKAIAIboBQdSJC0EANgIAILoBQQFHDV8QACEDIAUQWRogBhBZGgxmCyAGKAIQQQJHBEBB2QUhAEGZsQUhBUGtqwUMGQsgBjUCACH7ByAEQQM2ArARIAQg+wc3A6ARQdSJC0EANgIAQZwDIAAgBEGgEWoiBRACGkHUiQsoAgAhuwFB1IkLQQA2AgAguwFBAUcNXhAAIQMgBRBZGiAGEFkaDGULIAYoAhBBA0cEQEH+BSEAQe2mBSEFQaq8BQwYCyAGKQMAIfsHIARBAjYCmBEgBCD7Bz4CiBFB1IkLQQA2AgBBnAMgACAEQYgRaiIFEAIaQdSJCygCACG8AUHUiQtBADYCACC8AUEBRw1dEAAhAyAFEFkaIAYQWRoMZAtB1IkLQQA2AgBBwAMgBEHwEGoiBSAGEANB1IkLKAIAIb0BQdSJC0EANgIAIL0BQQFGDWJB1IkLQQA2AgBBnAMgACAFEAIaQdSJCygCACG+AUHUiQtBADYCACC+AUEBRw1cEAAhAyAFEFkaIAYQWRoMYwtB1IkLQQA2AgBBwQMgBEHYEGoiBSAGEANB1IkLKAIAIb8BQdSJC0EANgIAIL8BQQFGDWFB1IkLQQA2AgBBnAMgACAFEAIaQdSJCygCACHAAUHUiQtBADYCACDAAUEBRw1bEAAhAyAFEFkaIAYQWRoMYgtB1IkLQQA2AgBBwgMgBEHAEGoiBSAGEANB1IkLKAIAIcEBQdSJC0EANgIAIMEBQQFGDWBB1IkLQQA2AgBBnAMgACAFEAIaQdSJCygCACHCAUHUiQtBADYCACDCAUEBRw1aEAAhAyAFEFkaIAYQWRoMYQtB1IkLQQA2AgBBwwMgBEGoEGoiBSAGEANB1IkLKAIAIcMBQdSJC0EANgIAIMMBQQFGDV9B1IkLQQA2AgBBnAMgACAFEAIaQdSJCygCACHEAUHUiQtBADYCACDEAUEBRw1ZEAAhAyAFEFkaIAYQWRoMYAtB1IkLQQA2AgBBxAMgBEGQEGoiBSAGEANB1IkLKAIAIcUBQdSJC0EANgIAIMUBQQFGDV5B1IkLQQA2AgBBnAMgACAFEAIaQdSJCygCACHGAUHUiQtBADYCACDGAUEBRw1YEAAhAyAFEFkaIAYQWRoMXwtB1IkLQQA2AgBBxQMgBEH4D2oiBSAGEANB1IkLKAIAIccBQdSJC0EANgIAIMcBQQFGDV1B1IkLQQA2AgBBnAMgACAFEAIaQdSJCygCACHIAUHUiQtBADYCACDIAUEBRw1XEAAhAyAFEFkaIAYQWRoMXgsgBigCEEEDRwRAQfoFIQVB6aQCIQdB1IQEIQMMXAsgBjQCACH7ByAEQQM2AvAPIAQg+wc3A+APQdSJC0EANgIAQZwDIAAgBEHgD2oiBRACGkHUiQsoAgAhyQFB1IkLQQA2AgAgyQFBAUcNVhAAIQMgBRBZGiAGEFkaDF0LQdSJC0EANgIAQcYDIARByA9qIgUgBhADQdSJCygCACHKAUHUiQtBADYCACDKAUEBRg1bQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAhywFB1IkLQQA2AgAgywFBAUcNVRAAIQMgBRBZGiAGEFkaDFwLQdSJC0EANgIAQccDIARBsA9qIgUgBhADQdSJCygCACHMAUHUiQtBADYCACDMAUEBRg1aQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAhzQFB1IkLQQA2AgAgzQFBAUcNVBAAIQMgBRBZGiAGEFkaDFsLQdSJC0EANgIAQcgDIARBmA9qIgUgBhADQdSJCygCACHOAUHUiQtBADYCACDOAUEBRg1ZQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAhzwFB1IkLQQA2AgAgzwFBAUcNUxAAIQMgBRBZGiAGEFkaDFoLQdSJC0EANgIAQckDIARBgA9qIgUgBhADQdSJCygCACHQAUHUiQtBADYCACDQAUEBRg1YQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAh0QFB1IkLQQA2AgAg0QFBAUcNUhAAIQMgBRBZGiAGEFkaDFkLQdSJC0EANgIAQcoDIARB6A5qIgUgBhADQdSJCygCACHSAUHUiQtBADYCACDSAUEBRg1XQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAh0wFB1IkLQQA2AgAg0wFBAUcNURAAIQMgBRBZGiAGEFkaDFgLQdSJC0EANgIAQcsDIARB0A5qIgUgBhADQdSJCygCACHUAUHUiQtBADYCACDUAUEBRg1WQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAh1QFB1IkLQQA2AgAg1QFBAUcNUBAAIQMgBRBZGiAGEFkaDFcLQdSJC0EANgIAQcwDIARBuA5qIgUgBhADQdSJCygCACHWAUHUiQtBADYCACDWAUEBRg1VQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAh1wFB1IkLQQA2AgAg1wFBAUcNTxAAIQMgBRBZGiAGEFkaDFYLQdSJC0EANgIAQcAAIARBiA5qIAYQAiEFQdSJCygCACHYAUHUiQtBADYCACDYAUEBRg1UQdSJC0EANgIAQc0DIARBoA5qIgcgASACIAUQBUHUiQsoAgAh2QFB1IkLQQA2AgAg2QFBAUYNUUHUiQtBADYCAEGcAyAAIAcQAhpB1IkLKAIAIdoBQdSJC0EANgIAIAchAyDaAUEBRw1NEAAhAyAHEFkaIAUQWRogBhBZGgxVC0HUiQtBADYCAEHAACAEQdgNaiAGEAIhBUHUiQsoAgAh2wFB1IkLQQA2AgAg2wFBAUYNU0HUiQtBADYCAEHOAyAEQfANaiIHIAEgAiAFEAVB1IkLKAIAIdwBQdSJC0EANgIAINwBQQFGDVFB1IkLQQA2AgBBnAMgACAHEAIaQdSJCygCACHdAUHUiQtBADYCACAHIQMg3QFBAUcNTBAAIQMgBxBZGiAFEFkaIAYQWRoMVAtB1IkLQQA2AgBBzwMgBEHADWoiBSAGEANB1IkLKAIAId4BQdSJC0EANgIAIN4BQQFGDVJB1IkLQQA2AgBBnAMgACAFEAIaQdSJCygCACHfAUHUiQtBADYCACDfAUEBRw1MEAAhAyAFEFkaIAYQWRoMUwtB1IkLQQA2AgBB0AMgBEGoDWoiBSAGEANB1IkLKAIAIeABQdSJC0EANgIAIOABQQFGDVFB1IkLQQA2AgBBnAMgACAFEAIaQdSJCygCACHhAUHUiQtBADYCACDhAUEBRw1LEAAhAyAFEFkaIAYQWRoMUgtB1IkLQQA2AgBB0QMgBEGQDWoiBSAGEANB1IkLKAIAIeIBQdSJC0EANgIAIOIBQQFGDVBB1IkLQQA2AgBBnAMgACAFEAIaQdSJCygCACHjAUHUiQtBADYCACDjAUEBRw1KEAAhAyAFEFkaIAYQWRoMUQtB1IkLQQA2AgBB0gMgBEH4DGoiBSAGEANB1IkLKAIAIeQBQdSJC0EANgIAIOQBQQFGDU9B1IkLQQA2AgBBnAMgACAFEAIaQdSJCygCACHlAUHUiQtBADYCACDlAUEBRw1JEAAhAyAFEFkaIAYQWRoMUAsgBigCEEEERwRAQdgCIQBB0LsFIQVBoLwFDAMLIARBAjYC8AwgBigCACEDQdSJC0EANgIAIAQgAzYC4AxBnAMgACAEQeAMaiIFEAIaQdSJCygCACHmAUHUiQtBADYCACDmAUEBRw1IEAAhAyAFEFkaIAYQWRoMTwsgBigCEEEERwRAQd4FIQBB0LsFIQVB0asFDAILIAYqAgAhigggBEEFNgLYDEHUiQtBADYCACAEIIoIuzkDyAxBnAMgACAEQcgMaiIFEAIaQdSJCygCACHnAUHUiQtBADYCACDnAUEBRw1HEAAhAyAFEFkaIAYQWRoMTgsgBigCEEEFRg0BQd8CIQBB16oFIQVB8aoFCyEBQdSJC0EANgIAQQ0gBUHppAIgACABEAVB1IkLKAIAIegBQdSJC0EANgIAIOgBQQFHDU0MSwsgBEEDNgLADCAGKQMAIfsHQdSJC0EANgIAIAQg+wc3A7AMQZwDIAAgBEGwDGoiBRACGkHUiQsoAgAh6QFB1IkLQQA2AgAg6QFBAUcNRBAAIQMgBRBZGiAGEFkaDEsLIAYoAhAhAyAGKwMAIYsIQdSJC0EANgIAQdMDIARBmAxqIgUgiwggAxAdQdSJCygCACHqAUHUiQtBADYCACDqAUEBRg1JQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAh6wFB1IkLQQA2AgAg6wFBAUcNQxAAIQMgBRBZGiAGEFkaDEoLQdSJC0EANgIAQdQDIARBgAxqIgUgBhADQdSJCygCACHsAUHUiQtBADYCACDsAUEBRg1IQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAh7QFB1IkLQQA2AgAg7QFBAUcNQhAAIQMgBRBZGiAGEFkaDEkLQdSJC0EANgIAQdUDIARB6AtqIgUgBhADQdSJCygCACHuAUHUiQtBADYCACDuAUEBRg1HQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAh7wFB1IkLQQA2AgAg7wFBAUcNQRAAIQMgBRBZGiAGEFkaDEgLQdSJC0EANgIAQdYDIARB0AtqIgUgBhADQdSJCygCACHwAUHUiQtBADYCACDwAUEBRg1GQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAh8QFB1IkLQQA2AgAg8QFBAUcNQBAAIQMgBRBZGiAGEFkaDEcLQdSJC0EANgIAQdcDIARBuAtqIgUgBhADQdSJCygCACHyAUHUiQtBADYCACDyAUEBRg1FQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAh8wFB1IkLQQA2AgAg8wFBAUcNPxAAIQMgBRBZGiAGEFkaDEYLQdSJC0EANgIAQdgDIARBoAtqIgUgBhADQdSJCygCACH0AUHUiQtBADYCACD0AUEBRg1EQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAh9QFB1IkLQQA2AgAg9QFBAUcNPhAAIQMgBRBZGiAGEFkaDEULQdSJC0EANgIAQdkDIARBiAtqIgUgBhADQdSJCygCACH2AUHUiQtBADYCACD2AUEBRg1DQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAh9wFB1IkLQQA2AgAg9wFBAUcNPRAAIQMgBRBZGiAGEFkaDEQLQdSJC0EANgIAQdoDIARB8ApqIgUgBhADQdSJCygCACH4AUHUiQtBADYCACD4AUEBRg1CQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAh+QFB1IkLQQA2AgAg+QFBAUcNPBAAIQMgBRBZGiAGEFkaDEMLQdSJC0EANgIAQdsDIARB2ApqIgUgBhADQdSJCygCACH6AUHUiQtBADYCACD6AUEBRg1BQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAh+wFB1IkLQQA2AgAg+wFBAUcNOxAAIQMgBRBZGiAGEFkaDEILQdSJC0EANgIAQdwDIARBwApqIgUgBhADQdSJCygCACH8AUHUiQtBADYCACD8AUEBRg1AQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAh/QFB1IkLQQA2AgAg/QFBAUcNOhAAIQMgBRBZGiAGEFkaDEELQdSJC0EANgIAQd0DIARBqApqIgUgBhADQdSJCygCACH+AUHUiQtBADYCACD+AUEBRg0/QdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAh/wFB1IkLQQA2AgAg/wFBAUcNORAAIQMgBRBZGiAGEFkaDEALQdSJC0EANgIAQd4DIARBkApqIgUgBhADQdSJCygCACGAAkHUiQtBADYCACCAAkEBRg0+QdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAhgQJB1IkLQQA2AgAggQJBAUcNOBAAIQMgBRBZGiAGEFkaDD8LQdSJC0EANgIAQd8DIARB+AlqIgUgBhADQdSJCygCACGCAkHUiQtBADYCACCCAkEBRg09QdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAhgwJB1IkLQQA2AgAggwJBAUcNNxAAIQMgBRBZGiAGEFkaDD4LQdSJC0EANgIAQeADIARB4AlqIgUgBhADQdSJCygCACGEAkHUiQtBADYCACCEAkEBRg08QdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAhhQJB1IkLQQA2AgAghQJBAUcNNhAAIQMgBRBZGiAGEFkaDD0LQdSJC0EANgIAQeEDIARByAlqIgUgBhADQdSJCygCACGGAkHUiQtBADYCACCGAkEBRg07QdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAhhwJB1IkLQQA2AgAghwJBAUcNNRAAIQMgBRBZGiAGEFkaDDwLQdSJC0EANgIAQeIDIARBsAlqIgUgBhADQdSJCygCACGIAkHUiQtBADYCACCIAkEBRg06QdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAhiQJB1IkLQQA2AgAgiQJBAUcNNBAAIQMgBRBZGiAGEFkaDDsLQdSJC0EANgIAQeMDIARBmAlqIgUgBhADQdSJCygCACGKAkHUiQtBADYCACCKAkEBRg05QdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAhiwJB1IkLQQA2AgAgiwJBAUcNMxAAIQMgBRBZGiAGEFkaDDoLQdSJC0EANgIAQeQDIARBgAlqIgUgBhADQdSJCygCACGMAkHUiQtBADYCACCMAkEBRg04QdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAhjQJB1IkLQQA2AgAgjQJBAUcNMhAAIQMgBRBZGiAGEFkaDDkLQdSJC0EANgIAQeUDIARB6AhqIgUgBhADQdSJCygCACGOAkHUiQtBADYCACCOAkEBRg03QdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAhjwJB1IkLQQA2AgAgjwJBAUcNMRAAIQMgBRBZGiAGEFkaDDgLQdSJC0EANgIAQeYDIARB0AhqIgUgBhADQdSJCygCACGQAkHUiQtBADYCACCQAkEBRg02QdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAhkQJB1IkLQQA2AgAgkQJBAUcNMBAAIQMgBRBZGiAGEFkaDDcLQdSJC0EANgIAQecDIARBuAhqIgUgBhADQdSJCygCACGSAkHUiQtBADYCACCSAkEBRg01QdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAhkwJB1IkLQQA2AgAgkwJBAUcNLxAAIQMgBRBZGiAGEFkaDDYLQdSJC0EANgIAQegDIARBoAhqIgUgBhADQdSJCygCACGUAkHUiQtBADYCACCUAkEBRg00QdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAhlQJB1IkLQQA2AgAglQJBAUcNLhAAIQMgBRBZGiAGEFkaDDULQdSJC0EANgIAQekDIARBiAhqIgUgBhADQdSJCygCACGWAkHUiQtBADYCACCWAkEBRg0zQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAhlwJB1IkLQQA2AgAglwJBAUcNLRAAIQMgBRBZGiAGEFkaDDQLQdSJC0EANgIAQeoDIARB8AdqIgUgBhADQdSJCygCACGYAkHUiQtBADYCACCYAkEBRg0yQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAhmQJB1IkLQQA2AgAgmQJBAUcNLBAAIQMgBRBZGiAGEFkaDDMLQdSJC0EANgIAQesDIARB2AdqIgUgBhADQdSJCygCACGaAkHUiQtBADYCACCaAkEBRg0xQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAhmwJB1IkLQQA2AgAgmwJBAUcNKxAAIQMgBRBZGiAGEFkaDDILQdSJC0EANgIAQewDIARBwAdqIgUgBhADQdSJCygCACGcAkHUiQtBADYCACCcAkEBRg0wQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAhnQJB1IkLQQA2AgAgnQJBAUcNKhAAIQMgBRBZGiAGEFkaDDELQdSJC0EANgIAQe0DIARBqAdqIgUgBhADQdSJCygCACGeAkHUiQtBADYCACCeAkEBRg0vQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAhnwJB1IkLQQA2AgAgnwJBAUcNKRAAIQMgBRBZGiAGEFkaDDALQdSJC0EANgIAQe4DIARBkAdqIgUgBhADQdSJCygCACGgAkHUiQtBADYCACCgAkEBRg0uQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAhoQJB1IkLQQA2AgAgoQJBAUcNKBAAIQMgBRBZGiAGEFkaDC8LQdSJC0EANgIAQe8DIARB+AZqIgUgBhADQdSJCygCACGiAkHUiQtBADYCACCiAkEBRg0tQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAhowJB1IkLQQA2AgAgowJBAUcNJxAAIQMgBRBZGiAGEFkaDC4LQdSJC0EANgIAQfADIARB4AZqIgUgBhADQdSJCygCACGkAkHUiQtBADYCACCkAkEBRg0sQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAhpQJB1IkLQQA2AgAgpQJBAUcNJhAAIQMgBRBZGiAGEFkaDC0LQdSJC0EANgIAQfEDIARByAZqIgUgBhADQdSJCygCACGmAkHUiQtBADYCACCmAkEBRg0rQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAhpwJB1IkLQQA2AgAgpwJBAUcNJRAAIQMgBRBZGiAGEFkaDCwLQdSJC0EANgIAQfIDIARBsAZqIgUgBhADQdSJCygCACGoAkHUiQtBADYCACCoAkEBRg0qQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAhqQJB1IkLQQA2AgAgqQJBAUcNJBAAIQMgBRBZGiAGEFkaDCsLQdSJC0EANgIAQfMDIARBmAZqIgUgBhADQdSJCygCACGqAkHUiQtBADYCACCqAkEBRg0pQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAhqwJB1IkLQQA2AgAgqwJBAUcNIxAAIQMgBRBZGiAGEFkaDCoLQdSJC0EANgIAQfQDIARBgAZqIgUgBhADQdSJCygCACGsAkHUiQtBADYCACCsAkEBRg0oQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAhrQJB1IkLQQA2AgAgrQJBAUcNIhAAIQMgBRBZGiAGEFkaDCkLQdSJC0EANgIAQfUDIARB6AVqIgUgBhADQdSJCygCACGuAkHUiQtBADYCACCuAkEBRg0nQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAhrwJB1IkLQQA2AgAgrwJBAUcNIRAAIQMgBRBZGiAGEFkaDCgLQdSJC0EANgIAQfYDIARB0AVqIgUgBhADQdSJCygCACGwAkHUiQtBADYCACCwAkEBRg0mQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAhsQJB1IkLQQA2AgAgsQJBAUcNIBAAIQMgBRBZGiAGEFkaDCcLQdSJC0EANgIAQfcDIARBuAVqIgUgBhADQdSJCygCACGyAkHUiQtBADYCACCyAkEBRg0lQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAhswJB1IkLQQA2AgAgswJBAUcNHxAAIQMgBRBZGiAGEFkaDCYLQdSJC0EANgIAQfgDIARBoAVqIgUgBhADQdSJCygCACG0AkHUiQtBADYCACC0AkEBRg0kQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAhtQJB1IkLQQA2AgAgtQJBAUcNHhAAIQMgBRBZGiAGEFkaDCULQdSJC0EANgIAQfkDIARBiAVqIgUgBhADQdSJCygCACG2AkHUiQtBADYCACC2AkEBRg0jQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAhtwJB1IkLQQA2AgAgtwJBAUcNHRAAIQMgBRBZGiAGEFkaDCQLQdSJC0EANgIAQfoDIARB8ARqIgUgBhADQdSJCygCACG4AkHUiQtBADYCACC4AkEBRg0iQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAhuQJB1IkLQQA2AgAguQJBAUcNHBAAIQMgBRBZGiAGEFkaDCMLQdSJC0EANgIAQfsDIARB2ARqIgUgBhADQdSJCygCACG6AkHUiQtBADYCACC6AkEBRg0hQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAhuwJB1IkLQQA2AgAguwJBAUcNGxAAIQMgBRBZGiAGEFkaDCILQdSJC0EANgIAQfwDIARBwARqIgUgBhADQdSJCygCACG8AkHUiQtBADYCACC8AkEBRg0gQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAhvQJB1IkLQQA2AgAgvQJBAUcNGhAAIQMgBRBZGiAGEFkaDCELQdSJC0EANgIAQf0DIARBqARqIgUgBhADQdSJCygCACG+AkHUiQtBADYCACC+AkEBRg0fQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAhvwJB1IkLQQA2AgAgvwJBAUcNGRAAIQMgBRBZGiAGEFkaDCALQdSJC0EANgIAQf4DIARBkARqIgUgBhADQdSJCygCACHAAkHUiQtBADYCACDAAkEBRg0eQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAhwQJB1IkLQQA2AgAgwQJBAUcNGBAAIQMgBRBZGiAGEFkaDB8LQdSJC0EANgIAQf8DIARB+ANqIgUgBhADQdSJCygCACHCAkHUiQtBADYCACDCAkEBRg0dQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAhwwJB1IkLQQA2AgAgwwJBAUcNFxAAIQMgBRBZGiAGEFkaDB4LQdSJC0EANgIAQYAEIARB4ANqIgUgBhADQdSJCygCACHEAkHUiQtBADYCACDEAkEBRg0cQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAhxQJB1IkLQQA2AgAgxQJBAUcNFhAAIQMgBRBZGiAGEFkaDB0LQdSJC0EANgIAQYEEIARByANqIgUgBhADQdSJCygCACHGAkHUiQtBADYCACDGAkEBRg0bQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAhxwJB1IkLQQA2AgAgxwJBAUcNFRAAIQMgBRBZGiAGEFkaDBwLQdSJC0EANgIAQYIEIARBsANqIgUgBhADQdSJCygCACHIAkHUiQtBADYCACDIAkEBRg0aQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAhyQJB1IkLQQA2AgAgyQJBAUcNFBAAIQMgBRBZGiAGEFkaDBsLQdSJC0EANgIAQYMEIARBmANqIgUgBhADQdSJCygCACHKAkHUiQtBADYCACDKAkEBRg0ZQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAhywJB1IkLQQA2AgAgywJBAUcNExAAIQMgBRBZGiAGEFkaDBoLQdSJC0EANgIAQYQEIARBgANqIgUgBhADQdSJCygCACHMAkHUiQtBADYCACDMAkEBRg0YQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAhzQJB1IkLQQA2AgAgzQJBAUcNEhAAIQMgBRBZGiAGEFkaDBkLQdSJC0EANgIAQYUEIARB6AJqIgUgBhADQdSJCygCACHOAkHUiQtBADYCACDOAkEBRg0XQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAhzwJB1IkLQQA2AgAgzwJBAUcNERAAIQMgBRBZGiAGEFkaDBgLQdSJC0EANgIAQYYEIARB0AJqIgUgBhADQdSJCygCACHQAkHUiQtBADYCACDQAkEBRg0WQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAh0QJB1IkLQQA2AgAg0QJBAUcNEBAAIQMgBRBZGiAGEFkaDBcLQdSJC0EANgIAQYcEIARBuAJqIgUgBhADQdSJCygCACHSAkHUiQtBADYCACDSAkEBRg0VQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAh0wJB1IkLQQA2AgAg0wJBAUcNDxAAIQMgBRBZGiAGEFkaDBYLQdSJC0EANgIAQYgEIARBoAJqIgUgBhADQdSJCygCACHUAkHUiQtBADYCACDUAkEBRg0UQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAh1QJB1IkLQQA2AgAg1QJBAUcNDhAAIQMgBRBZGiAGEFkaDBULQdSJC0EANgIAQYkEIARBiAJqIgUgBhADQdSJCygCACHWAkHUiQtBADYCACDWAkEBRg0TQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAh1wJB1IkLQQA2AgAg1wJBAUcNDRAAIQMgBRBZGiAGEFkaDBQLQdSJC0EANgIAQYoEIARB8AFqIgUgBhADQdSJCygCACHYAkHUiQtBADYCACDYAkEBRg0SQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAh2QJB1IkLQQA2AgAg2QJBAUcNDBAAIQMgBRBZGiAGEFkaDBMLQdSJC0EANgIAQYsEIARB2AFqIgUgBhADQdSJCygCACHaAkHUiQtBADYCACDaAkEBRg0RQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAh2wJB1IkLQQA2AgAg2wJBAUcNCxAAIQMgBRBZGiAGEFkaDBILQdSJC0EANgIAQYwEIARBwAFqIgUgBhADQdSJCygCACHcAkHUiQtBADYCACDcAkEBRg0QQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAh3QJB1IkLQQA2AgAg3QJBAUcNChAAIQMgBRBZGiAGEFkaDBELQdSJC0EANgIAQY0EIARBqAFqIgUgBhADQdSJCygCACHeAkHUiQtBADYCACDeAkEBRg0PQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAh3wJB1IkLQQA2AgAg3wJBAUcNCRAAIQMgBRBZGiAGEFkaDBALQdSJC0EANgIAQY4EIARBkAFqIgUgBhADQdSJCygCACHgAkHUiQtBADYCACDgAkEBRg0OQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAh4QJB1IkLQQA2AgAg4QJBAUcNCBAAIQMgBRBZGiAGEFkaDA8LQdSJC0EANgIAQY8EIARB+ABqIgUgBhADQdSJCygCACHiAkHUiQtBADYCACDiAkEBRg0NQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAh4wJB1IkLQQA2AgAg4wJBAUcNBxAAIQMgBRBZGiAGEFkaDA4LQdSJC0EANgIAQZAEIARB4ABqIgUgBhADQdSJCygCACHkAkHUiQtBADYCACDkAkEBRg0MQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAh5QJB1IkLQQA2AgAg5QJBAUcNBhAAIQMgBRBZGiAGEFkaDA0LQdSJC0EANgIAQZEEIARByABqIgUgBhADQdSJCygCACHmAkHUiQtBADYCACDmAkEBRg0LQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAh5wJB1IkLQQA2AgAg5wJBAUcNBRAAIQMgBRBZGiAGEFkaDAwLQdSJC0EANgIAQZIEIARBMGoiBSAGEANB1IkLKAIAIegCQdSJC0EANgIAIOgCQQFGDQpB1IkLQQA2AgBBnAMgACAFEAIaQdSJCygCACHpAkHUiQtBADYCACDpAkEBRw0EEAAhAyAFEFkaIAYQWRoMCwtB1IkLQQA2AgBBkwQgBEEYaiIFIAYQA0HUiQsoAgAh6gJB1IkLQQA2AgAg6gJBAUYNCUHUiQtBADYCAEGcAyAAIAUQAhpB1IkLKAIAIesCQdSJC0EANgIAIOsCQQFHDQMQACEDIAUQWRogBhBZGgwKC0HUiQtBADYCAEGUBCAEIAYQA0HUiQsoAgAh7AJB1IkLQQA2AgAg7AJBAUYNCEHUiQtBADYCAEGcAyAAIAQQAhpB1IkLKAIAIe0CQdSJC0EANgIAIAQhBSDtAkEBRw0CEAAhAyAEEFkaIAYQWRoMCQtB3QQhBUH/vAIhAwwGCyADEFkaCyAFEFkaIAYQWRogBCgCmBMiB0UNACAEKAKcEyIDIAciBUcEQANAIANBGGsQWSIDIAdHDQALIAQoApgTIQULIAQgBzYCnBMgBRBaCyAEQYATahBZGiAEQbATaiQADAcLEAAhAwwECxAAIQMgBRBZGiAGEFkaDAMLEAAhAyAFEFkaIAYQWRoMAgtB1IkLQQA2AgBBFCADIAcgBRAIQdSJCygCACHuAkHUiQtBADYCACDuAkEBRw0CCxAAIQMgBhBZGgsgBEH4EmoQaAxKCwALDD4LIwBBoB9rIgQkACAEQegeaiABIAIoAgwQ4AICQAJAAkACQAJAAkAgBCgCmB8EQCAAIAQoAugeNgIAQdSJC0EANgIAQcAAIABBCGogBEHwHmoQAhpB1IkLKAIAIe8CQdSJC0EANgIAIO8CQQFGDQEgACAEKAKIHzYCICAAIARBjB9qKAIANgIkIAAgBEGQH2oiAygCADYCKCADQQA2AgAgBEIANwOIHyAAIAQpA5gfNwMwDAYLAkACQAJAAkACQCAEKALoHiAEQYwfaigCACAEKAKIH2tBGG1qQQFHBEBB1IkLQQA2AgBBDUGHwQVB0JUDQccAQZjXAxAFQdSJCygCACHwAkHUiQtBADYCACDwAkEBRg0BDAoLQdSJC0EANgIAQcAAIARB0B5qIARB8B5qIgMQAiEHQdSJCygCACHxAkHUiQtBADYCACDxAkEBRg0AIAIoAhAhBUHUiQtBADYCAEHxAiAEQZgeaiABIAUQCEHUiQsoAgAh8gJB1IkLQQA2AgAg8gJBAUYNASAEIAQoApgeNgLoHiADEFkhA0HUiQtBADYCAEHAACADIARBoB5qIgkQAiEIQdSJCygCACHzAkHUiQtBADYCACDzAkEBRg0CIAQoAogfIgMEQCAEKAKMHyIGIAMiBUcEQANAIAZBGGsQWSIGIANHDQALIAQoAogfIQULIAQgAzYCjB8gBRBaCyAEQbweaikCACH7ByAEQcAeakEANgIAIAQgBCgCuB42AogfIAQgBCkDyB43A5gfIAQg+wc3AowfIARCADcDuB4gCRBZGiAEKAKYH0UNBCAAIAQoAugeNgIAQdSJC0EANgIAQcAAIABBCGogCBACGkHUiQsoAgAh9AJB1IkLQQA2AgAg9AJBAUYNAyAAIAQoAogfNgIgIAAgBCgCjB82AiQgACAEKAKQHzYCKCAEQQA2ApAfIARCADcDiB8gACAEKQOYHzcDMAwICxAAIQAMBgsQACEAIAcQWRoMBQsQACEAIARBmB5qEGggBxBZGgwECxAAIQAgBxBZGgwDCyAEKALoHiAEKAKMHyAEKAKIH2tBGG1qQQFHBEBB1IkLQQA2AgBBDUGHwQVB0JUDQccAQZjXAxAFQdSJCygCACH1AkHUiQtBADYCACD1AkEBRw0FDAILQdSJC0EANgIAQcAAIARBmB5qIAgQAiEFQdSJCygCACH2AkHUiQtBADYCACD2AkEBRg0BAkACQAJAAn8CQCACKAIMKAIEIgNBAkkNACAHKAIQIANGDQBB5ccDIQNB7QQMAQsgAigCECgCBCIDQQJJDQEgBSgCECADRg0BQZ3HAyEDQe8ECyEAQdSJC0EANgIAQQ0gA0HQlQMgAEGbGBAFQdSJCygCACH3AkHUiQtBADYCACD3AkEBRg0BDAcLQZMIIQNBk7wCIQYCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCACKAIIDswBAAECAwQFBgwNDg8REBITFBUWFxgZGhscHQABAgcICQoMDQ4PERASExQVFhcYGRobHB0AAQILIiMkFBUeHyAhAAECCyIjJBQVHh8gISUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn+AAYEBggGDAYQBhQGGAYcBiAGJAYoBiwGMAY0BjgGPAZABkQGSAZMBlAGVAZYBlwGYAZkBmgGbAZwBnAGMAY0BlAGVAXCdAZ8BngELQdSJC0EANgIAQZUEIARBgB5qIgMgByAFEAhB1IkLKAIAIfgCQdSJC0EANgIAIPgCQQFGDZ8BQdSJC0EANgIAQZwDIAAgAxACGkHUiQsoAgAh+QJB1IkLQQA2AgAg+QJBAUcEQCADEFkaIAUQWRoMpQELEAAhACAEQYAeahBZGgygAQtB1IkLQQA2AgBBlgQgBEHoHWoiAyAHIAUQCEHUiQsoAgAh+gJB1IkLQQA2AgAg+gJBAUYNngFB1IkLQQA2AgBBnAMgACADEAIaQdSJCygCACH7AkHUiQtBADYCACD7AkEBRwRAIAMQWRogBRBZGgykAQsQACEAIARB6B1qEFkaDJ8BC0HUiQtBADYCAEGXBCAEQdAdaiIDIAcgBRAIQdSJCygCACH8AkHUiQtBADYCACD8AkEBRg2dAUHUiQtBADYCAEGcAyAAIAMQAhpB1IkLKAIAIf0CQdSJC0EANgIAIP0CQQFHBEAgAxBZGiAFEFkaDKMBCxAAIQAgBEHQHWoQWRoMngELQdSJC0EANgIAQZgEIAUQrAIh/QdB1IkLKAIAIf4CQdSJC0EANgIAIP4CQQFGDZwBIP0HUARAIAEoAgAoAggh/wJB1IkLQQA2AgAg/wIgAUGBwwUQA0HUiQsoAgAhgANB1IkLQQA2AgAggANBAUYNnQELQdSJC0EANgIAQZgEIAcQrAIh+wdB1IkLKAIAIYEDQdSJC0EANgIAIIEDQQFGDZwBAkAg+wdCgICAgHhSDQBB1IkLQQA2AgBBmAQgBRCsAiH+B0HUiQsoAgAhggNB1IkLQQA2AgAgggNBAUYNnQEg/gdCf1INACABKAIAKAIIIYMDQdSJC0EANgIAIIMDIAFBgzcQA0HUiQsoAgAhhANB1IkLQQA2AgAghANBAUYNnQELQdSJC0EANgIAQZkEIARBuB1qIgMgByAFEAhB1IkLKAIAIYUDQdSJC0EANgIAIIUDQQFGDZwBQdSJC0EANgIAQZwDIAAgAxACGkHUiQsoAgAhhgNB1IkLQQA2AgAghgNBAUcEQCADEFkaIAUQWRoMogELEAAhACAEQbgdahBZGgydAQtB1IkLQQA2AgBBmAQgBRCsAiH/B0HUiQsoAgAhhwNB1IkLQQA2AgAghwNBAUYNmwEg/wdQBEAgASgCACgCCCGIA0HUiQtBADYCACCIAyABQcXCBRADQdSJCygCACGJA0HUiQtBADYCACCJA0EBRg2cAQtB1IkLQQA2AgBBmgQgBEGgHWoiAyAHIAUQCEHUiQsoAgAhigNB1IkLQQA2AgAgigNBAUYNmwFB1IkLQQA2AgBBnAMgACADEAIaQdSJCygCACGLA0HUiQtBADYCACCLA0EBRwRAIAMQWRogBRBZGgyhAQsQACEAIARBoB1qEFkaDJwBC0HUiQtBADYCAEGYBCAFEKwCIYAIQdSJCygCACGMA0HUiQtBADYCACCMA0EBRg2aASCACFAEQCABKAIAKAIIIY0DQdSJC0EANgIAII0DIAFBn8MFEANB1IkLKAIAIY4DQdSJC0EANgIAII4DQQFGDZsBC0HUiQtBADYCAEGYBCAHEKwCIfsHQdSJCygCACGPA0HUiQtBADYCACCPA0EBRg2aAQJAIPsHQoCAgIB4Ug0AQdSJC0EANgIAQZgEIAUQrAIhgQhB1IkLKAIAIZADQdSJC0EANgIAIJADQQFGDZsBIIEIQn9SDQAgBEECNgKYHSAEQQA2AogdQdSJC0EANgIAQZwDIAAgBEGIHWoiAxACGkHUiQsoAgAhkQNB1IkLQQA2AgAgkQNBAUcEQCADEFkaIAUQWRoMoQELEAAhACAEQYgdahBZGgycAQtB1IkLQQA2AgBBmwQgBEHwHGoiAyAHIAUQCEHUiQsoAgAhkgNB1IkLQQA2AgAgkgNBAUYNmgFB1IkLQQA2AgBBnAMgACADEAIaQdSJCygCACGTA0HUiQtBADYCACCTA0EBRwRAIAMQWRogBRBZGgygAQsQACEAIARB8BxqEFkaDJsBC0HUiQtBADYCAEGYBCAFEKwCIYIIQdSJCygCACGUA0HUiQtBADYCACCUA0EBRg2ZASCCCFAEQCABKAIAKAIIIZUDQdSJC0EANgIAIJUDIAFB48IFEANB1IkLKAIAIZYDQdSJC0EANgIAIJYDQQFGDZoBC0HUiQtBADYCAEGcBCAEQdgcaiIDIAcgBRAIQdSJCygCACGXA0HUiQtBADYCACCXA0EBRg2ZAUHUiQtBADYCAEGcAyAAIAMQAhpB1IkLKAIAIZgDQdSJC0EANgIAIJgDQQFHBEAgAxBZGiAFEFkaDJ8BCxAAIQAgBEHYHGoQWRoMmgELQdSJC0EANgIAQZgEIAUQrAIhgwhB1IkLKAIAIZkDQdSJC0EANgIAIJkDQQFGDZgBIIMIUARAIAEoAgAoAgghmgNB1IkLQQA2AgAgmgMgAUHywgUQA0HUiQsoAgAhmwNB1IkLQQA2AgAgmwNBAUYNmQELQdSJC0EANgIAQZgEIAcQrAIh+wdB1IkLKAIAIZwDQdSJC0EANgIAIJwDQQFGDZgBAkAg+wdCgICAgICAgICAf1INAEHUiQtBADYCAEGYBCAFEKwCIYQIQdSJCygCACGdA0HUiQtBADYCACCdA0EBRg2ZASCECEJ/Ug0AIAEoAgAoAgghngNB1IkLQQA2AgAgngMgAUHwNhADQdSJCygCACGfA0HUiQtBADYCACCfA0EBRg2ZAQtB1IkLQQA2AgBBmQQgBEHAHGoiAyAHIAUQCEHUiQsoAgAhoANB1IkLQQA2AgAgoANBAUYNmAFB1IkLQQA2AgBBnAMgACADEAIaQdSJCygCACGhA0HUiQtBADYCACChA0EBRwRAIAMQWRogBRBZGgyeAQsQACEAIARBwBxqEFkaDJkBC0HUiQtBADYCAEGYBCAFEKwCIYUIQdSJCygCACGiA0HUiQtBADYCACCiA0EBRg2XASCFCFAEQCABKAIAKAIIIaMDQdSJC0EANgIAIKMDIAFBtsIFEANB1IkLKAIAIaQDQdSJC0EANgIAIKQDQQFGDZgBC0HUiQtBADYCAEGaBCAEQagcaiIDIAcgBRAIQdSJCygCACGlA0HUiQtBADYCACClA0EBRg2XAUHUiQtBADYCAEGcAyAAIAMQAhpB1IkLKAIAIaYDQdSJC0EANgIAIKYDQQFHBEAgAxBZGiAFEFkaDJ0BCxAAIQAgBEGoHGoQWRoMmAELQdSJC0EANgIAQZgEIAUQrAIhhghB1IkLKAIAIacDQdSJC0EANgIAIKcDQQFGDZYBIIYIUARAIAEoAgAoAgghqANB1IkLQQA2AgAgqAMgAUGQwwUQA0HUiQsoAgAhqQNB1IkLQQA2AgAgqQNBAUYNlwELQdSJC0EANgIAQZgEIAcQrAIh+wdB1IkLKAIAIaoDQdSJC0EANgIAIKoDQQFGDZYBAkAg+wdCgICAgICAgICAf1INAEHUiQtBADYCAEGYBCAFEKwCIYcIQdSJCygCACGrA0HUiQtBADYCACCrA0EBRg2XASCHCEJ/Ug0AIARBAzYCoBwgBEIANwOQHEHUiQtBADYCAEGcAyAAIARBkBxqIgMQAhpB1IkLKAIAIawDQdSJC0EANgIAIKwDQQFHBEAgAxBZGiAFEFkaDJ0BCxAAIQAgBEGQHGoQWRoMmAELQdSJC0EANgIAQZsEIARB+BtqIgMgByAFEAhB1IkLKAIAIa0DQdSJC0EANgIAIK0DQQFGDZYBQdSJC0EANgIAQZwDIAAgAxACGkHUiQsoAgAhrgNB1IkLQQA2AgAgrgNBAUcEQCADEFkaIAUQWRoMnAELEAAhACAEQfgbahBZGgyXAQtB1IkLQQA2AgBBmAQgBRCsAiGICEHUiQsoAgAhrwNB1IkLQQA2AgAgrwNBAUYNlQEgiAhQBEAgASgCACgCCCGwA0HUiQtBADYCACCwAyABQdTCBRADQdSJCygCACGxA0HUiQtBADYCACCxA0EBRg2WAQtB1IkLQQA2AgBBnAQgBEHgG2oiAyAHIAUQCEHUiQsoAgAhsgNB1IkLQQA2AgAgsgNBAUYNlQFB1IkLQQA2AgBBnAMgACADEAIaQdSJCygCACGzA0HUiQtBADYCACCzA0EBRwRAIAMQWRogBRBZGgybAQsQACEAIARB4BtqEFkaDJYBC0HUiQtBADYCAEGdBCAEQcgbaiIDIAcgBRAIQdSJCygCACG0A0HUiQtBADYCACC0A0EBRg2UAUHUiQtBADYCAEGcAyAAIAMQAhpB1IkLKAIAIbUDQdSJC0EANgIAILUDQQFHBEAgAxBZGiAFEFkaDJoBCxAAIQAgBEHIG2oQWRoMlQELQdSJC0EANgIAQZ4EIARBsBtqIgMgByAFEAhB1IkLKAIAIbYDQdSJC0EANgIAILYDQQFGDZMBQdSJC0EANgIAQZwDIAAgAxACGkHUiQsoAgAhtwNB1IkLQQA2AgAgtwNBAUcEQCADEFkaIAUQWRoMmQELEAAhACAEQbAbahBZGgyUAQtB1IkLQQA2AgBBnwQgBEGYG2oiAyAHIAUQCEHUiQsoAgAhuANB1IkLQQA2AgAguANBAUYNkgFB1IkLQQA2AgBBnAMgACADEAIaQdSJCygCACG5A0HUiQtBADYCACC5A0EBRwRAIAMQWRogBRBZGgyYAQsQACEAIARBmBtqEFkaDJMBC0HUiQtBADYCAEGgBCAEQYAbaiIDIAcgBRAIQdSJCygCACG6A0HUiQtBADYCACC6A0EBRg2RAUHUiQtBADYCAEGcAyAAIAMQAhpB1IkLKAIAIbsDQdSJC0EANgIAILsDQQFHBEAgAxBZGiAFEFkaDJcBCxAAIQAgBEGAG2oQWRoMkgELQdSJC0EANgIAQaEEIARB6BpqIgMgByAFEAhB1IkLKAIAIbwDQdSJC0EANgIAILwDQQFGDZABQdSJC0EANgIAQZwDIAAgAxACGkHUiQsoAgAhvQNB1IkLQQA2AgAgvQNBAUcEQCADEFkaIAUQWRoMlgELEAAhACAEQegaahBZGgyRAQtB1IkLQQA2AgBBogQgBEHQGmoiAyAHIAUQCEHUiQsoAgAhvgNB1IkLQQA2AgAgvgNBAUYNjwFB1IkLQQA2AgBBnAMgACADEAIaQdSJCygCACG/A0HUiQtBADYCACC/A0EBRwRAIAMQWRogBRBZGgyVAQsQACEAIARB0BpqEFkaDJABC0HUiQtBADYCAEGjBCAEQbgaaiIDIAcgBRAIQdSJCygCACHAA0HUiQtBADYCACDAA0EBRg2OAUHUiQtBADYCAEGcAyAAIAMQAhpB1IkLKAIAIcEDQdSJC0EANgIAIMEDQQFHBEAgAxBZGiAFEFkaDJQBCxAAIQAgBEG4GmoQWRoMjwELQdSJC0EANgIAQaQEIARBoBpqIgMgByAFEAhB1IkLKAIAIcIDQdSJC0EANgIAIMIDQQFGDY0BQdSJC0EANgIAQZwDIAAgAxACGkHUiQsoAgAhwwNB1IkLQQA2AgAgwwNBAUcEQCADEFkaIAUQWRoMkwELEAAhACAEQaAaahBZGgyOAQtB1IkLQQA2AgBBpQQgBEGIGmoiAyAHIAUQCEHUiQsoAgAhxANB1IkLQQA2AgAgxANBAUYNjAFB1IkLQQA2AgBBnAMgACADEAIaQdSJCygCACHFA0HUiQtBADYCACDFA0EBRwRAIAMQWRogBRBZGgySAQsQACEAIARBiBpqEFkaDI0BC0HUiQtBADYCAEGmBCAEQfAZaiIDIAcgBRAIQdSJCygCACHGA0HUiQtBADYCACDGA0EBRg2LAUHUiQtBADYCAEGcAyAAIAMQAhpB1IkLKAIAIccDQdSJC0EANgIAIMcDQQFHBEAgAxBZGiAFEFkaDJEBCxAAIQAgBEHwGWoQWRoMjAELQdSJC0EANgIAQacEIARB2BlqIgMgByAFEAhB1IkLKAIAIcgDQdSJC0EANgIAIMgDQQFGDYoBQdSJC0EANgIAQZwDIAAgAxACGkHUiQsoAgAhyQNB1IkLQQA2AgAgyQNBAUcEQCADEFkaIAUQWRoMkAELEAAhACAEQdgZahBZGgyLAQtB1IkLQQA2AgBBqAQgBEHAGWoiAyAHIAUQCEHUiQsoAgAhygNB1IkLQQA2AgAgygNBAUYNiQFB1IkLQQA2AgBBnAMgACADEAIaQdSJCygCACHLA0HUiQtBADYCACDLA0EBRwRAIAMQWRogBRBZGgyPAQsQACEAIARBwBlqEFkaDIoBC0HUiQtBADYCAEGpBCAEQagZaiIDIAcgBRAIQdSJCygCACHMA0HUiQtBADYCACDMA0EBRg2IAUHUiQtBADYCAEGcAyAAIAMQAhpB1IkLKAIAIc0DQdSJC0EANgIAIM0DQQFHBEAgAxBZGiAFEFkaDI4BCxAAIQAgBEGoGWoQWRoMiQELQdSJC0EANgIAQaoEIARBkBlqIgMgByAFEAhB1IkLKAIAIc4DQdSJC0EANgIAIM4DQQFGDYcBQdSJC0EANgIAQZwDIAAgAxACGkHUiQsoAgAhzwNB1IkLQQA2AgAgzwNBAUcEQCADEFkaIAUQWRoMjQELEAAhACAEQZAZahBZGgyIAQtB1IkLQQA2AgBBqwQgBEH4GGoiAyAHIAUQCEHUiQsoAgAh0ANB1IkLQQA2AgAg0ANBAUYNhgFB1IkLQQA2AgBBnAMgACADEAIaQdSJCygCACHRA0HUiQtBADYCACDRA0EBRwRAIAMQWRogBRBZGgyMAQsQACEAIARB+BhqEFkaDIcBC0HUiQtBADYCAEGsBCAEQeAYaiIDIAcgBRAIQdSJCygCACHSA0HUiQtBADYCACDSA0EBRg2FAUHUiQtBADYCAEGcAyAAIAMQAhpB1IkLKAIAIdMDQdSJC0EANgIAINMDQQFHBEAgAxBZGiAFEFkaDIsBCxAAIQAgBEHgGGoQWRoMhgELQdSJC0EANgIAQa0EIARByBhqIgMgByAFEAhB1IkLKAIAIdQDQdSJC0EANgIAINQDQQFGDYQBQdSJC0EANgIAQZwDIAAgAxACGkHUiQsoAgAh1QNB1IkLQQA2AgAg1QNBAUcEQCADEFkaIAUQWRoMigELEAAhACAEQcgYahBZGgyFAQtB1IkLQQA2AgBBrgQgBEGwGGoiAyAHIAUQCEHUiQsoAgAh1gNB1IkLQQA2AgAg1gNBAUYNgwFB1IkLQQA2AgBBnAMgACADEAIaQdSJCygCACHXA0HUiQtBADYCACDXA0EBRwRAIAMQWRogBRBZGgyJAQsQACEAIARBsBhqEFkaDIQBC0HUiQtBADYCAEGvBCAEQZgYaiIDIAcgBRAIQdSJCygCACHYA0HUiQtBADYCACDYA0EBRg2CAUHUiQtBADYCAEGcAyAAIAMQAhpB1IkLKAIAIdkDQdSJC0EANgIAINkDQQFHBEAgAxBZGiAFEFkaDIgBCxAAIQAgBEGYGGoQWRoMgwELQdSJC0EANgIAQbAEIARBgBhqIgMgByAFEAhB1IkLKAIAIdoDQdSJC0EANgIAINoDQQFGDYEBQdSJC0EANgIAQZwDIAAgAxACGkHUiQsoAgAh2wNB1IkLQQA2AgAg2wNBAUcEQCADEFkaIAUQWRoMhwELEAAhACAEQYAYahBZGgyCAQtB1IkLQQA2AgBBsQQgBEHoF2oiAyAHIAUQCEHUiQsoAgAh3ANB1IkLQQA2AgAg3ANBAUYNgAFB1IkLQQA2AgBBnAMgACADEAIaQdSJCygCACHdA0HUiQtBADYCACDdA0EBRwRAIAMQWRogBRBZGgyGAQsQACEAIARB6BdqEFkaDIEBC0HUiQtBADYCAEGyBCAEQdAXaiIDIAcgBRAIQdSJCygCACHeA0HUiQtBADYCACDeA0EBRg1/QdSJC0EANgIAQZwDIAAgAxACGkHUiQsoAgAh3wNB1IkLQQA2AgAg3wNBAUcEQCADEFkaIAUQWRoMhQELEAAhACAEQdAXahBZGgyAAQtB1IkLQQA2AgBBswQgBEG4F2oiAyAHIAUQCEHUiQsoAgAh4ANB1IkLQQA2AgAg4ANBAUYNfkHUiQtBADYCAEGcAyAAIAMQAhpB1IkLKAIAIeEDQdSJC0EANgIAIOEDQQFHBEAgAxBZGiAFEFkaDIQBCxAAIQAgBEG4F2oQWRoMfwtB1IkLQQA2AgBBtAQgBEGgF2oiAyAHIAUQCEHUiQsoAgAh4gNB1IkLQQA2AgAg4gNBAUYNfUHUiQtBADYCAEGcAyAAIAMQAhpB1IkLKAIAIeMDQdSJC0EANgIAIOMDQQFHBEAgAxBZGiAFEFkaDIMBCxAAIQAgBEGgF2oQWRoMfgtB1IkLQQA2AgBBtQQgBEGIF2oiAyAHIAUQCEHUiQsoAgAh5ANB1IkLQQA2AgAg5ANBAUYNfEHUiQtBADYCAEGcAyAAIAMQAhpB1IkLKAIAIeUDQdSJC0EANgIAIOUDQQFHBEAgAxBZGiAFEFkaDIIBCxAAIQAgBEGIF2oQWRoMfQtB1IkLQQA2AgBBtgQgBEHwFmoiAyAHIAUQCEHUiQsoAgAh5gNB1IkLQQA2AgAg5gNBAUYNe0HUiQtBADYCAEGcAyAAIAMQAhpB1IkLKAIAIecDQdSJC0EANgIAIOcDQQFHBEAgAxBZGiAFEFkaDIEBCxAAIQAgBEHwFmoQWRoMfAtB1IkLQQA2AgBBtwQgBEHYFmoiAyAHIAUQCEHUiQsoAgAh6ANB1IkLQQA2AgAg6ANBAUYNekHUiQtBADYCAEGcAyAAIAMQAhpB1IkLKAIAIekDQdSJC0EANgIAIOkDQQFHBEAgAxBZGiAFEFkaDIABCxAAIQAgBEHYFmoQWRoMewtB1IkLQQA2AgBBuAQgBEHAFmoiAyAHIAUQCEHUiQsoAgAh6gNB1IkLQQA2AgAg6gNBAUYNeUHUiQtBADYCAEGcAyAAIAMQAhpB1IkLKAIAIesDQdSJC0EANgIAIOsDQQFHBEAgAxBZGiAFEFkaDH8LEAAhACAEQcAWahBZGgx6C0HUiQtBADYCAEG5BCAEQagWaiIDIAcgBRAIQdSJCygCACHsA0HUiQtBADYCACDsA0EBRg14QdSJC0EANgIAQZwDIAAgAxACGkHUiQsoAgAh7QNB1IkLQQA2AgAg7QNBAUcEQCADEFkaIAUQWRoMfgsQACEAIARBqBZqEFkaDHkLQdSJC0EANgIAQboEIARBkBZqIgMgByAFEAhB1IkLKAIAIe4DQdSJC0EANgIAIO4DQQFGDXdB1IkLQQA2AgBBnAMgACADEAIaQdSJCygCACHvA0HUiQtBADYCACDvA0EBRwRAIAMQWRogBRBZGgx9CxAAIQAgBEGQFmoQWRoMeAtB1IkLQQA2AgBBuwQgBEH4FWoiAyAHIAUQCEHUiQsoAgAh8ANB1IkLQQA2AgAg8ANBAUYNdkHUiQtBADYCAEGcAyAAIAMQAhpB1IkLKAIAIfEDQdSJC0EANgIAIPEDQQFHBEAgAxBZGiAFEFkaDHwLEAAhACAEQfgVahBZGgx3C0HUiQtBADYCAEG8BCAEQeAVaiIDIAcgBRAIQdSJCygCACHyA0HUiQtBADYCACDyA0EBRg11QdSJC0EANgIAQZwDIAAgAxACGkHUiQsoAgAh8wNB1IkLQQA2AgAg8wNBAUcEQCADEFkaIAUQWRoMewsQACEAIARB4BVqEFkaDHYLQdSJC0EANgIAQb0EIARByBVqIgMgByAFEAhB1IkLKAIAIfQDQdSJC0EANgIAIPQDQQFGDXRB1IkLQQA2AgBBnAMgACADEAIaQdSJCygCACH1A0HUiQtBADYCACD1A0EBRwRAIAMQWRogBRBZGgx6CxAAIQAgBEHIFWoQWRoMdQtB1IkLQQA2AgBBvgQgBEGwFWoiAyAHIAUQCEHUiQsoAgAh9gNB1IkLQQA2AgAg9gNBAUYNc0HUiQtBADYCAEGcAyAAIAMQAhpB1IkLKAIAIfcDQdSJC0EANgIAIPcDQQFHBEAgAxBZGiAFEFkaDHkLEAAhACAEQbAVahBZGgx0C0HUiQtBADYCAEG/BCAEQZgVaiIDIAcgBRAIQdSJCygCACH4A0HUiQtBADYCACD4A0EBRg1yQdSJC0EANgIAQZwDIAAgAxACGkHUiQsoAgAh+QNB1IkLQQA2AgAg+QNBAUcEQCADEFkaIAUQWRoMeAsQACEAIARBmBVqEFkaDHMLQdSJC0EANgIAQcAEIARBgBVqIgMgByAFEAhB1IkLKAIAIfoDQdSJC0EANgIAIPoDQQFGDXFB1IkLQQA2AgBBnAMgACADEAIaQdSJCygCACH7A0HUiQtBADYCACD7A0EBRwRAIAMQWRogBRBZGgx3CxAAIQAgBEGAFWoQWRoMcgtB1IkLQQA2AgBBwQQgBEHoFGoiAyAHIAUQCEHUiQsoAgAh/ANB1IkLQQA2AgAg/ANBAUYNcEHUiQtBADYCAEGcAyAAIAMQAhpB1IkLKAIAIf0DQdSJC0EANgIAIP0DQQFHBEAgAxBZGiAFEFkaDHYLEAAhACAEQegUahBZGgxxC0HUiQtBADYCAEHCBCAEQdAUaiIDIAcgBRAIQdSJCygCACH+A0HUiQtBADYCACD+A0EBRg1vQdSJC0EANgIAQZwDIAAgAxACGkHUiQsoAgAh/wNB1IkLQQA2AgAg/wNBAUcEQCADEFkaIAUQWRoMdQsQACEAIARB0BRqEFkaDHALQdSJC0EANgIAQcMEIARBuBRqIgMgByAFEAhB1IkLKAIAIYAEQdSJC0EANgIAIIAEQQFGDW5B1IkLQQA2AgBBnAMgACADEAIaQdSJCygCACGBBEHUiQtBADYCACCBBEEBRwRAIAMQWRogBRBZGgx0CxAAIQAgBEG4FGoQWRoMbwtB1IkLQQA2AgBBxAQgBEGgFGoiAyAHIAUQCEHUiQsoAgAhggRB1IkLQQA2AgAgggRBAUYNbUHUiQtBADYCAEGcAyAAIAMQAhpB1IkLKAIAIYMEQdSJC0EANgIAIIMEQQFHBEAgAxBZGiAFEFkaDHMLEAAhACAEQaAUahBZGgxuC0HUiQtBADYCAEHFBCAEQYgUaiIDIAcgBRAIQdSJCygCACGEBEHUiQtBADYCACCEBEEBRg1sQdSJC0EANgIAQZwDIAAgAxACGkHUiQsoAgAhhQRB1IkLQQA2AgAghQRBAUcEQCADEFkaIAUQWRoMcgsQACEAIARBiBRqEFkaDG0LQdSJC0EANgIAQcYEIARB8BNqIgMgByAFEAhB1IkLKAIAIYYEQdSJC0EANgIAIIYEQQFGDWtB1IkLQQA2AgBBnAMgACADEAIaQdSJCygCACGHBEHUiQtBADYCACCHBEEBRwRAIAMQWRogBRBZGgxxCxAAIQAgBEHwE2oQWRoMbAtB1IkLQQA2AgBBxwQgBEHYE2oiAyAHIAUQCEHUiQsoAgAhiARB1IkLQQA2AgAgiARBAUYNakHUiQtBADYCAEGcAyAAIAMQAhpB1IkLKAIAIYkEQdSJC0EANgIAIIkEQQFHBEAgAxBZGiAFEFkaDHALEAAhACAEQdgTahBZGgxrC0HUiQtBADYCAEHIBCAEQcATaiIDIAcgBRAIQdSJCygCACGKBEHUiQtBADYCACCKBEEBRg1pQdSJC0EANgIAQZwDIAAgAxACGkHUiQsoAgAhiwRB1IkLQQA2AgAgiwRBAUcEQCADEFkaIAUQWRoMbwsQACEAIARBwBNqEFkaDGoLQdSJC0EANgIAQckEIARBqBNqIgMgByAFEAhB1IkLKAIAIYwEQdSJC0EANgIAIIwEQQFGDWhB1IkLQQA2AgBBnAMgACADEAIaQdSJCygCACGNBEHUiQtBADYCACCNBEEBRwRAIAMQWRogBRBZGgxuCxAAIQAgBEGoE2oQWRoMaQtB1IkLQQA2AgBBygQgBEGQE2oiAyAHIAUQCEHUiQsoAgAhjgRB1IkLQQA2AgAgjgRBAUYNZ0HUiQtBADYCAEGcAyAAIAMQAhpB1IkLKAIAIY8EQdSJC0EANgIAII8EQQFHBEAgAxBZGiAFEFkaDG0LEAAhACAEQZATahBZGgxoC0HUiQtBADYCAEHLBCAEQfgSaiIDIAcgBRAIQdSJCygCACGQBEHUiQtBADYCACCQBEEBRg1mQdSJC0EANgIAQZwDIAAgAxACGkHUiQsoAgAhkQRB1IkLQQA2AgAgkQRBAUcEQCADEFkaIAUQWRoMbAsQACEAIARB+BJqEFkaDGcLQdSJC0EANgIAQcwEIARB4BJqIgMgByAFEAhB1IkLKAIAIZIEQdSJC0EANgIAIJIEQQFGDWVB1IkLQQA2AgBBnAMgACADEAIaQdSJCygCACGTBEHUiQtBADYCACCTBEEBRwRAIAMQWRogBRBZGgxrCxAAIQAgBEHgEmoQWRoMZgtB1IkLQQA2AgBBzQQgBEHIEmoiAyAHIAUQCEHUiQsoAgAhlARB1IkLQQA2AgAglARBAUYNZEHUiQtBADYCAEGcAyAAIAMQAhpB1IkLKAIAIZUEQdSJC0EANgIAIJUEQQFHBEAgAxBZGiAFEFkaDGoLEAAhACAEQcgSahBZGgxlC0HUiQtBADYCAEHOBCAEQbASaiIDIAcgBRAIQdSJCygCACGWBEHUiQtBADYCACCWBEEBRg1jQdSJC0EANgIAQZwDIAAgAxACGkHUiQsoAgAhlwRB1IkLQQA2AgAglwRBAUcEQCADEFkaIAUQWRoMaQsQACEAIARBsBJqEFkaDGQLQdSJC0EANgIAQc8EIARBmBJqIgMgByAFEAhB1IkLKAIAIZgEQdSJC0EANgIAIJgEQQFGDWJB1IkLQQA2AgBBnAMgACADEAIaQdSJCygCACGZBEHUiQtBADYCACCZBEEBRwRAIAMQWRogBRBZGgxoCxAAIQAgBEGYEmoQWRoMYwtB1IkLQQA2AgBB0AQgBEGAEmoiAyAHIAUQCEHUiQsoAgAhmgRB1IkLQQA2AgAgmgRBAUYNYUHUiQtBADYCAEGcAyAAIAMQAhpB1IkLKAIAIZsEQdSJC0EANgIAIJsEQQFHBEAgAxBZGiAFEFkaDGcLEAAhACAEQYASahBZGgxiC0HUiQtBADYCAEHRBCAEQegRaiIDIAcgBRAIQdSJCygCACGcBEHUiQtBADYCACCcBEEBRg1gQdSJC0EANgIAQZwDIAAgAxACGkHUiQsoAgAhnQRB1IkLQQA2AgAgnQRBAUcEQCADEFkaIAUQWRoMZgsQACEAIARB6BFqEFkaDGELQdSJC0EANgIAQdIEIARB0BFqIgMgByAFEAhB1IkLKAIAIZ4EQdSJC0EANgIAIJ4EQQFGDV9B1IkLQQA2AgBBnAMgACADEAIaQdSJCygCACGfBEHUiQtBADYCACCfBEEBRwRAIAMQWRogBRBZGgxlCxAAIQAgBEHQEWoQWRoMYAtB1IkLQQA2AgBB0wQgBEG4EWoiAyAHIAUQCEHUiQsoAgAhoARB1IkLQQA2AgAgoARBAUYNXkHUiQtBADYCAEGcAyAAIAMQAhpB1IkLKAIAIaEEQdSJC0EANgIAIKEEQQFHBEAgAxBZGiAFEFkaDGQLEAAhACAEQbgRahBZGgxfC0HUiQtBADYCAEHUBCAEQaARaiIDIAcgBRAIQdSJCygCACGiBEHUiQtBADYCACCiBEEBRg1dQdSJC0EANgIAQZwDIAAgAxACGkHUiQsoAgAhowRB1IkLQQA2AgAgowRBAUcEQCADEFkaIAUQWRoMYwsQACEAIARBoBFqEFkaDF4LQdSJC0EANgIAQdUEIARBiBFqIgMgByAFEAhB1IkLKAIAIaQEQdSJC0EANgIAIKQEQQFGDVxB1IkLQQA2AgBBnAMgACADEAIaQdSJCygCACGlBEHUiQtBADYCACClBEEBRwRAIAMQWRogBRBZGgxiCxAAIQAgBEGIEWoQWRoMXQtB1IkLQQA2AgBB1gQgBEHwEGoiAyAHIAUQCEHUiQsoAgAhpgRB1IkLQQA2AgAgpgRBAUYNW0HUiQtBADYCAEGcAyAAIAMQAhpB1IkLKAIAIacEQdSJC0EANgIAIKcEQQFHBEAgAxBZGiAFEFkaDGELEAAhACAEQfAQahBZGgxcC0HUiQtBADYCAEHXBCAEQdgQaiIDIAcgBRAIQdSJCygCACGoBEHUiQtBADYCACCoBEEBRg1aQdSJC0EANgIAQZwDIAAgAxACGkHUiQsoAgAhqQRB1IkLQQA2AgAgqQRBAUcEQCADEFkaIAUQWRoMYAsQACEAIARB2BBqEFkaDFsLQdSJC0EANgIAQdgEIARBwBBqIgMgByAFEAhB1IkLKAIAIaoEQdSJC0EANgIAIKoEQQFGDVlB1IkLQQA2AgBBnAMgACADEAIaQdSJCygCACGrBEHUiQtBADYCACCrBEEBRwRAIAMQWRogBRBZGgxfCxAAIQAgBEHAEGoQWRoMWgtB1IkLQQA2AgBB2QQgBEGoEGoiAyAHIAUQCEHUiQsoAgAhrARB1IkLQQA2AgAgrARBAUYNWEHUiQtBADYCAEGcAyAAIAMQAhpB1IkLKAIAIa0EQdSJC0EANgIAIK0EQQFHBEAgAxBZGiAFEFkaDF4LEAAhACAEQagQahBZGgxZC0HUiQtBADYCAEHaBCAEQZAQaiIDIAcgBRAIQdSJCygCACGuBEHUiQtBADYCACCuBEEBRg1XQdSJC0EANgIAQZwDIAAgAxACGkHUiQsoAgAhrwRB1IkLQQA2AgAgrwRBAUcEQCADEFkaIAUQWRoMXQsQACEAIARBkBBqEFkaDFgLQdSJC0EANgIAQdsEIARB+A9qIgMgByAFEAhB1IkLKAIAIbAEQdSJC0EANgIAILAEQQFGDVZB1IkLQQA2AgBBnAMgACADEAIaQdSJCygCACGxBEHUiQtBADYCACCxBEEBRwRAIAMQWRogBRBZGgxcCxAAIQAgBEH4D2oQWRoMVwtB1IkLQQA2AgBB3AQgBEHgD2oiAyAHIAUQCEHUiQsoAgAhsgRB1IkLQQA2AgAgsgRBAUYNVUHUiQtBADYCAEGcAyAAIAMQAhpB1IkLKAIAIbMEQdSJC0EANgIAILMEQQFHBEAgAxBZGiAFEFkaDFsLEAAhACAEQeAPahBZGgxWC0HUiQtBADYCAEHdBCAEQcgPaiIDIAcgBRAIQdSJCygCACG0BEHUiQtBADYCACC0BEEBRg1UQdSJC0EANgIAQZwDIAAgAxACGkHUiQsoAgAhtQRB1IkLQQA2AgAgtQRBAUcEQCADEFkaIAUQWRoMWgsQACEAIARByA9qEFkaDFULQdSJC0EANgIAQd4EIARBsA9qIgMgByAFEAhB1IkLKAIAIbYEQdSJC0EANgIAILYEQQFGDVNB1IkLQQA2AgBBnAMgACADEAIaQdSJCygCACG3BEHUiQtBADYCACC3BEEBRwRAIAMQWRogBRBZGgxZCxAAIQAgBEGwD2oQWRoMVAtB1IkLQQA2AgBB3wQgBEGYD2oiAyAHIAUQCEHUiQsoAgAhuARB1IkLQQA2AgAguARBAUYNUkHUiQtBADYCAEGcAyAAIAMQAhpB1IkLKAIAIbkEQdSJC0EANgIAILkEQQFHBEAgAxBZGiAFEFkaDFgLEAAhACAEQZgPahBZGgxTC0HUiQtBADYCAEHgBCAEQYAPaiIDIAcgBRAIQdSJCygCACG6BEHUiQtBADYCACC6BEEBRg1RQdSJC0EANgIAQZwDIAAgAxACGkHUiQsoAgAhuwRB1IkLQQA2AgAguwRBAUcEQCADEFkaIAUQWRoMVwsQACEAIARBgA9qEFkaDFILQdSJC0EANgIAQeEEIARB6A5qIgMgByAFEAhB1IkLKAIAIbwEQdSJC0EANgIAILwEQQFGDVBB1IkLQQA2AgBBnAMgACADEAIaQdSJCygCACG9BEHUiQtBADYCACC9BEEBRwRAIAMQWRogBRBZGgxWCxAAIQAgBEHoDmoQWRoMUQtB1IkLQQA2AgBB4gQgBEHQDmoiAyAHIAUQCEHUiQsoAgAhvgRB1IkLQQA2AgAgvgRBAUYNT0HUiQtBADYCAEGcAyAAIAMQAhpB1IkLKAIAIb8EQdSJC0EANgIAIL8EQQFHBEAgAxBZGiAFEFkaDFULEAAhACAEQdAOahBZGgxQC0HUiQtBADYCAEHjBCAEQbgOaiIDIAcgBRAIQdSJCygCACHABEHUiQtBADYCACDABEEBRg1OQdSJC0EANgIAQZwDIAAgAxACGkHUiQsoAgAhwQRB1IkLQQA2AgAgwQRBAUcEQCADEFkaIAUQWRoMVAsQACEAIARBuA5qEFkaDE8LQdSJC0EANgIAQeQEIARBoA5qIgMgByAFEAhB1IkLKAIAIcIEQdSJC0EANgIAIMIEQQFGDU1B1IkLQQA2AgBBnAMgACADEAIaQdSJCygCACHDBEHUiQtBADYCACDDBEEBRwRAIAMQWRogBRBZGgxTCxAAIQAgBEGgDmoQWRoMTgtB1IkLQQA2AgBB5QQgBEGIDmoiAyAHIAUQCEHUiQsoAgAhxARB1IkLQQA2AgAgxARBAUYNTEHUiQtBADYCAEGcAyAAIAMQAhpB1IkLKAIAIcUEQdSJC0EANgIAIMUEQQFHBEAgAxBZGiAFEFkaDFILEAAhACAEQYgOahBZGgxNC0HUiQtBADYCAEHmBCAEQfANaiIDIAcgBRAIQdSJCygCACHGBEHUiQtBADYCACDGBEEBRg1LQdSJC0EANgIAQZwDIAAgAxACGkHUiQsoAgAhxwRB1IkLQQA2AgAgxwRBAUcEQCADEFkaIAUQWRoMUQsQACEAIARB8A1qEFkaDEwLQdSJC0EANgIAQecEIARB2A1qIgMgByAFEAhB1IkLKAIAIcgEQdSJC0EANgIAIMgEQQFGDUpB1IkLQQA2AgBBnAMgACADEAIaQdSJCygCACHJBEHUiQtBADYCACDJBEEBRwRAIAMQWRogBRBZGgxQCxAAIQAgBEHYDWoQWRoMSwtB1IkLQQA2AgBB6AQgBEHADWoiAyAHIAUQCEHUiQsoAgAhygRB1IkLQQA2AgAgygRBAUYNSUHUiQtBADYCAEGcAyAAIAMQAhpB1IkLKAIAIcsEQdSJC0EANgIAIMsEQQFHBEAgAxBZGiAFEFkaDE8LEAAhACAEQcANahBZGgxKC0HUiQtBADYCAEHpBCAEQagNaiIDIAcgBRAIQdSJCygCACHMBEHUiQtBADYCACDMBEEBRg1IQdSJC0EANgIAQZwDIAAgAxACGkHUiQsoAgAhzQRB1IkLQQA2AgAgzQRBAUcEQCADEFkaIAUQWRoMTgsQACEAIARBqA1qEFkaDEkLQdSJC0EANgIAQdoDIARB+AxqIgMgBRADQdSJCygCACEGQdSJC0EANgIAAkACQAJAIAZBAUcEQEHUiQtBADYCAEHnBCAEQZANaiIGIAcgAxAIQdSJCygCACHOBEHUiQtBADYCACDOBEEBRg0BQdSJC0EANgIAQZwDIAAgBhACGkHUiQsoAgAhzwRB1IkLQQA2AgAgzwRBAUYNAiAGEFkaIAMQWRogBRBZGgxQCxAAIQAMSwsQACEADAELEAAhACAEQZANahBZGgsgBEH4DGoQWRoMSAtB1IkLQQA2AgBB6gQgBEHgDGoiAyAHIAUQCEHUiQsoAgAh0ARB1IkLQQA2AgAg0ARBAUYNRkHUiQtBADYCAEGcAyAAIAMQAhpB1IkLKAIAIdEEQdSJC0EANgIAINEEQQFHBEAgAxBZGiAFEFkaDEwLEAAhACAEQeAMahBZGgxHC0HUiQtBADYCAEHrBCAEQcgMaiIDIAcgBRAIQdSJCygCACHSBEHUiQtBADYCACDSBEEBRg1FQdSJC0EANgIAQZwDIAAgAxACGkHUiQsoAgAh0wRB1IkLQQA2AgAg0wRBAUcEQCADEFkaIAUQWRoMSwsQACEAIARByAxqEFkaDEYLQdSJC0EANgIAQewEIARBsAxqIgMgByAFEAhB1IkLKAIAIdQEQdSJC0EANgIAINQEQQFGDURB1IkLQQA2AgBBnAMgACADEAIaQdSJCygCACHVBEHUiQtBADYCACDVBEEBRwRAIAMQWRogBRBZGgxKCxAAIQAgBEGwDGoQWRoMRQtB1IkLQQA2AgBB7QQgBEGYDGoiAyAHIAUQCEHUiQsoAgAh1gRB1IkLQQA2AgAg1gRBAUYNQ0HUiQtBADYCAEGcAyAAIAMQAhpB1IkLKAIAIdcEQdSJC0EANgIAINcEQQFHBEAgAxBZGiAFEFkaDEkLEAAhACAEQZgMahBZGgxEC0HUiQtBADYCAEHuBCAEQYAMaiIDIAcgBRAIQdSJCygCACHYBEHUiQtBADYCACDYBEEBRg1CQdSJC0EANgIAQZwDIAAgAxACGkHUiQsoAgAh2QRB1IkLQQA2AgAg2QRBAUcEQCADEFkaIAUQWRoMSAsQACEAIARBgAxqEFkaDEMLQdSJC0EANgIAQe8EIARB6AtqIgMgByAFEAhB1IkLKAIAIdoEQdSJC0EANgIAINoEQQFGDUFB1IkLQQA2AgBBnAMgACADEAIaQdSJCygCACHbBEHUiQtBADYCACDbBEEBRwRAIAMQWRogBRBZGgxHCxAAIQAgBEHoC2oQWRoMQgtB1IkLQQA2AgBB8AQgBEHQC2oiAyAHIAUQCEHUiQsoAgAh3ARB1IkLQQA2AgAg3ARBAUYNQEHUiQtBADYCAEGcAyAAIAMQAhpB1IkLKAIAId0EQdSJC0EANgIAIN0EQQFHBEAgAxBZGiAFEFkaDEYLEAAhACAEQdALahBZGgxBC0HUiQtBADYCAEHxBCAEQbgLaiIDIAcgBRAIQdSJCygCACHeBEHUiQtBADYCACDeBEEBRg0/QdSJC0EANgIAQZwDIAAgAxACGkHUiQsoAgAh3wRB1IkLQQA2AgAg3wRBAUcEQCADEFkaIAUQWRoMRQsQACEAIARBuAtqEFkaDEALQdSJC0EANgIAQfIEIARBoAtqIgMgByAFEAhB1IkLKAIAIeAEQdSJC0EANgIAIOAEQQFGDT5B1IkLQQA2AgBBnAMgACADEAIaQdSJCygCACHhBEHUiQtBADYCACDhBEEBRwRAIAMQWRogBRBZGgxECxAAIQAgBEGgC2oQWRoMPwtB1IkLQQA2AgBB8wQgBEGIC2oiAyAHIAUQCEHUiQsoAgAh4gRB1IkLQQA2AgAg4gRBAUYNPUHUiQtBADYCAEGcAyAAIAMQAhpB1IkLKAIAIeMEQdSJC0EANgIAIOMEQQFHBEAgAxBZGiAFEFkaDEMLEAAhACAEQYgLahBZGgw+C0HUiQtBADYCAEH0BCAEQfAKaiIDIAcgBRAIQdSJCygCACHkBEHUiQtBADYCACDkBEEBRg08QdSJC0EANgIAQZwDIAAgAxACGkHUiQsoAgAh5QRB1IkLQQA2AgAg5QRBAUcEQCADEFkaIAUQWRoMQgsQACEAIARB8ApqEFkaDD0LQdSJC0EANgIAQfUEIARB2ApqIgMgByAFEAhB1IkLKAIAIeYEQdSJC0EANgIAIOYEQQFGDTtB1IkLQQA2AgBBnAMgACADEAIaQdSJCygCACHnBEHUiQtBADYCACDnBEEBRwRAIAMQWRogBRBZGgxBCxAAIQAgBEHYCmoQWRoMPAtB1IkLQQA2AgBB9gQgBEHACmoiAyAHIAUQCEHUiQsoAgAh6ARB1IkLQQA2AgAg6ARBAUYNOkHUiQtBADYCAEGcAyAAIAMQAhpB1IkLKAIAIekEQdSJC0EANgIAIOkEQQFHBEAgAxBZGiAFEFkaDEALEAAhACAEQcAKahBZGgw7C0HUiQtBADYCAEH3BCAEQagKaiIDIAcgBRAIQdSJCygCACHqBEHUiQtBADYCACDqBEEBRg05QdSJC0EANgIAQZwDIAAgAxACGkHUiQsoAgAh6wRB1IkLQQA2AgAg6wRBAUcEQCADEFkaIAUQWRoMPwsQACEAIARBqApqEFkaDDoLQdSJC0EANgIAQfgEIARBkApqIgMgByAFEAhB1IkLKAIAIewEQdSJC0EANgIAIOwEQQFGDThB1IkLQQA2AgBBnAMgACADEAIaQdSJCygCACHtBEHUiQtBADYCACDtBEEBRwRAIAMQWRogBRBZGgw+CxAAIQAgBEGQCmoQWRoMOQtB1IkLQQA2AgBB+QQgBEH4CWoiAyAHIAUQCEHUiQsoAgAh7gRB1IkLQQA2AgAg7gRBAUYNN0HUiQtBADYCAEGcAyAAIAMQAhpB1IkLKAIAIe8EQdSJC0EANgIAIO8EQQFHBEAgAxBZGiAFEFkaDD0LEAAhACAEQfgJahBZGgw4C0HUiQtBADYCAEH6BCAEQeAJaiIDIAcgBRAIQdSJCygCACHwBEHUiQtBADYCACDwBEEBRg02QdSJC0EANgIAQZwDIAAgAxACGkHUiQsoAgAh8QRB1IkLQQA2AgAg8QRBAUcEQCADEFkaIAUQWRoMPAsQACEAIARB4AlqEFkaDDcLQdSJC0EANgIAQfsEIARByAlqIgMgByAFEAhB1IkLKAIAIfIEQdSJC0EANgIAIPIEQQFGDTVB1IkLQQA2AgBBnAMgACADEAIaQdSJCygCACHzBEHUiQtBADYCACDzBEEBRwRAIAMQWRogBRBZGgw7CxAAIQAgBEHICWoQWRoMNgtB1IkLQQA2AgBB/AQgBEGwCWoiAyAHIAUQCEHUiQsoAgAh9ARB1IkLQQA2AgAg9ARBAUYNNEHUiQtBADYCAEGcAyAAIAMQAhpB1IkLKAIAIfUEQdSJC0EANgIAIPUEQQFHBEAgAxBZGiAFEFkaDDoLEAAhACAEQbAJahBZGgw1C0HUiQtBADYCAEH9BCAEQZgJaiIDIAcgBRAIQdSJCygCACH2BEHUiQtBADYCACD2BEEBRg0zQdSJC0EANgIAQZwDIAAgAxACGkHUiQsoAgAh9wRB1IkLQQA2AgAg9wRBAUcEQCADEFkaIAUQWRoMOQsQACEAIARBmAlqEFkaDDQLQdSJC0EANgIAQf4EIARBgAlqIgMgByAFEAhB1IkLKAIAIfgEQdSJC0EANgIAIPgEQQFGDTJB1IkLQQA2AgBBnAMgACADEAIaQdSJCygCACH5BEHUiQtBADYCACD5BEEBRwRAIAMQWRogBRBZGgw4CxAAIQAgBEGACWoQWRoMMwtB1IkLQQA2AgBB/wQgBEHoCGoiAyAHIAUQCEHUiQsoAgAh+gRB1IkLQQA2AgAg+gRBAUYNMUHUiQtBADYCAEGcAyAAIAMQAhpB1IkLKAIAIfsEQdSJC0EANgIAIPsEQQFHBEAgAxBZGiAFEFkaDDcLEAAhACAEQegIahBZGgwyC0HUiQtBADYCAEGABSAEQdAIaiIDIAcgBRAIQdSJCygCACH8BEHUiQtBADYCACD8BEEBRg0wQdSJC0EANgIAQZwDIAAgAxACGkHUiQsoAgAh/QRB1IkLQQA2AgAg/QRBAUcEQCADEFkaIAUQWRoMNgsQACEAIARB0AhqEFkaDDELQdSJC0EANgIAQYEFIARBuAhqIgMgByAFEAhB1IkLKAIAIf4EQdSJC0EANgIAIP4EQQFGDS9B1IkLQQA2AgBBnAMgACADEAIaQdSJCygCACH/BEHUiQtBADYCACD/BEEBRwRAIAMQWRogBRBZGgw1CxAAIQAgBEG4CGoQWRoMMAtB1IkLQQA2AgBBggUgBEGgCGoiAyAHIAUQCEHUiQsoAgAhgAVB1IkLQQA2AgAggAVBAUYNLkHUiQtBADYCAEGcAyAAIAMQAhpB1IkLKAIAIYEFQdSJC0EANgIAIIEFQQFHBEAgAxBZGiAFEFkaDDQLEAAhACAEQaAIahBZGgwvC0HUiQtBADYCAEGDBSAEQYgIaiIDIAcgBRAIQdSJCygCACGCBUHUiQtBADYCACCCBUEBRg0tQdSJC0EANgIAQZwDIAAgAxACGkHUiQsoAgAhgwVB1IkLQQA2AgAggwVBAUcEQCADEFkaIAUQWRoMMwsQACEAIARBiAhqEFkaDC4LQdSJC0EANgIAQYQFIARB8AdqIgMgByAFEAhB1IkLKAIAIYQFQdSJC0EANgIAIIQFQQFGDSxB1IkLQQA2AgBBnAMgACADEAIaQdSJCygCACGFBUHUiQtBADYCACCFBUEBRwRAIAMQWRogBRBZGgwyCxAAIQAgBEHwB2oQWRoMLQtB1IkLQQA2AgBBhQUgBEHYB2oiAyAHIAUQCEHUiQsoAgAhhgVB1IkLQQA2AgAghgVBAUYNK0HUiQtBADYCAEGcAyAAIAMQAhpB1IkLKAIAIYcFQdSJC0EANgIAIIcFQQFHBEAgAxBZGiAFEFkaDDELEAAhACAEQdgHahBZGgwsC0HUiQtBADYCAEGGBSAEQcAHaiIDIAcgBRAIQdSJCygCACGIBUHUiQtBADYCACCIBUEBRg0qQdSJC0EANgIAQZwDIAAgAxACGkHUiQsoAgAhiQVB1IkLQQA2AgAgiQVBAUcEQCADEFkaIAUQWRoMMAsQACEAIARBwAdqEFkaDCsLQdSJC0EANgIAQYcFIARBqAdqIgMgByAFEAhB1IkLKAIAIYoFQdSJC0EANgIAIIoFQQFGDSlB1IkLQQA2AgBBnAMgACADEAIaQdSJCygCACGLBUHUiQtBADYCACCLBUEBRwRAIAMQWRogBRBZGgwvCxAAIQAgBEGoB2oQWRoMKgtB1IkLQQA2AgBBiAUgBEGQB2oiAyAHIAUQCEHUiQsoAgAhjAVB1IkLQQA2AgAgjAVBAUYNKEHUiQtBADYCAEGcAyAAIAMQAhpB1IkLKAIAIY0FQdSJC0EANgIAII0FQQFHBEAgAxBZGiAFEFkaDC4LEAAhACAEQZAHahBZGgwpC0HUiQtBADYCAEGJBSAEQfgGaiIDIAcgBRAIQdSJCygCACGOBUHUiQtBADYCACCOBUEBRg0nQdSJC0EANgIAQZwDIAAgAxACGkHUiQsoAgAhjwVB1IkLQQA2AgAgjwVBAUcEQCADEFkaIAUQWRoMLQsQACEAIARB+AZqEFkaDCgLQdSJC0EANgIAQYoFIARB4AZqIgMgByAFEAhB1IkLKAIAIZAFQdSJC0EANgIAIJAFQQFGDSZB1IkLQQA2AgBBnAMgACADEAIaQdSJCygCACGRBUHUiQtBADYCACCRBUEBRwRAIAMQWRogBRBZGgwsCxAAIQAgBEHgBmoQWRoMJwtB1IkLQQA2AgBBiwUgBEHIBmoiAyAHIAUQCEHUiQsoAgAhkgVB1IkLQQA2AgAgkgVBAUYNJUHUiQtBADYCAEGcAyAAIAMQAhpB1IkLKAIAIZMFQdSJC0EANgIAIJMFQQFHBEAgAxBZGiAFEFkaDCsLEAAhACAEQcgGahBZGgwmC0HUiQtBADYCAEGMBSAEQbAGaiIDIAcgBRAIQdSJCygCACGUBUHUiQtBADYCACCUBUEBRg0kQdSJC0EANgIAQZwDIAAgAxACGkHUiQsoAgAhlQVB1IkLQQA2AgAglQVBAUcEQCADEFkaIAUQWRoMKgsQACEAIARBsAZqEFkaDCULQdSJC0EANgIAQY0FIARBmAZqIgMgByAFEAhB1IkLKAIAIZYFQdSJC0EANgIAIJYFQQFGDSNB1IkLQQA2AgBBnAMgACADEAIaQdSJCygCACGXBUHUiQtBADYCACCXBUEBRwRAIAMQWRogBRBZGgwpCxAAIQAgBEGYBmoQWRoMJAtB1IkLQQA2AgBBjgUgBEGABmoiAyAHIAUQCEHUiQsoAgAhmAVB1IkLQQA2AgAgmAVBAUYNIkHUiQtBADYCAEGcAyAAIAMQAhpB1IkLKAIAIZkFQdSJC0EANgIAIJkFQQFHBEAgAxBZGiAFEFkaDCgLEAAhACAEQYAGahBZGgwjC0HUiQtBADYCAEGPBSAEQegFaiIDIAcgBRAIQdSJCygCACGaBUHUiQtBADYCACCaBUEBRg0hQdSJC0EANgIAQZwDIAAgAxACGkHUiQsoAgAhmwVB1IkLQQA2AgAgmwVBAUcEQCADEFkaIAUQWRoMJwsQACEAIARB6AVqEFkaDCILQdSJC0EANgIAQZAFIARB0AVqIgMgByAFEAhB1IkLKAIAIZwFQdSJC0EANgIAIJwFQQFGDSBB1IkLQQA2AgBBnAMgACADEAIaQdSJCygCACGdBUHUiQtBADYCACCdBUEBRwRAIAMQWRogBRBZGgwmCxAAIQAgBEHQBWoQWRoMIQtB1IkLQQA2AgBBkQUgBEG4BWoiAyAHIAUQCEHUiQsoAgAhngVB1IkLQQA2AgAgngVBAUYNH0HUiQtBADYCAEGcAyAAIAMQAhpB1IkLKAIAIZ8FQdSJC0EANgIAIJ8FQQFHBEAgAxBZGiAFEFkaDCULEAAhACAEQbgFahBZGgwgC0HUiQtBADYCAEGSBSAEQaAFaiIDIAcgBRAIQdSJCygCACGgBUHUiQtBADYCACCgBUEBRg0eQdSJC0EANgIAQZwDIAAgAxACGkHUiQsoAgAhoQVB1IkLQQA2AgAgoQVBAUcEQCADEFkaIAUQWRoMJAsQACEAIARBoAVqEFkaDB8LQdSJC0EANgIAQZMFIARBiAVqIgMgByAFEAhB1IkLKAIAIaIFQdSJC0EANgIAIKIFQQFGDR1B1IkLQQA2AgBBnAMgACADEAIaQdSJCygCACGjBUHUiQtBADYCACCjBUEBRwRAIAMQWRogBRBZGgwjCxAAIQAgBEGIBWoQWRoMHgtB1IkLQQA2AgBBlAUgBEHwBGoiAyAHIAUQCEHUiQsoAgAhpAVB1IkLQQA2AgAgpAVBAUYNHEHUiQtBADYCAEGcAyAAIAMQAhpB1IkLKAIAIaUFQdSJC0EANgIAIKUFQQFHBEAgAxBZGiAFEFkaDCILEAAhACAEQfAEahBZGgwdC0HUiQtBADYCAEGVBSAEQdgEaiIDIAcgBRAIQdSJCygCACGmBUHUiQtBADYCACCmBUEBRg0bQdSJC0EANgIAQZwDIAAgAxACGkHUiQsoAgAhpwVB1IkLQQA2AgAgpwVBAUcEQCADEFkaIAUQWRoMIQsQACEAIARB2ARqEFkaDBwLQdSJC0EANgIAQZYFIARBwARqIgMgByAFEAhB1IkLKAIAIagFQdSJC0EANgIAIKgFQQFGDRpB1IkLQQA2AgBBnAMgACADEAIaQdSJCygCACGpBUHUiQtBADYCACCpBUEBRwRAIAMQWRogBRBZGgwgCxAAIQAgBEHABGoQWRoMGwtB1IkLQQA2AgBBlwUgBEGoBGoiAyAHIAUQCEHUiQsoAgAhqgVB1IkLQQA2AgAgqgVBAUYNGUHUiQtBADYCAEGcAyAAIAMQAhpB1IkLKAIAIasFQdSJC0EANgIAIKsFQQFHBEAgAxBZGiAFEFkaDB8LEAAhACAEQagEahBZGgwaC0HUiQtBADYCAEGYBSAEQZAEaiIDIAcgBRAIQdSJCygCACGsBUHUiQtBADYCACCsBUEBRg0YQdSJC0EANgIAQZwDIAAgAxACGkHUiQsoAgAhrQVB1IkLQQA2AgAgrQVBAUcEQCADEFkaIAUQWRoMHgsQACEAIARBkARqEFkaDBkLQdSJC0EANgIAQZkFIARB+ANqIgMgByAFEAhB1IkLKAIAIa4FQdSJC0EANgIAIK4FQQFGDRdB1IkLQQA2AgBBnAMgACADEAIaQdSJCygCACGvBUHUiQtBADYCACCvBUEBRwRAIAMQWRogBRBZGgwdCxAAIQAgBEH4A2oQWRoMGAtB1IkLQQA2AgBBmgUgBEHgA2oiAyAHIAUQCEHUiQsoAgAhsAVB1IkLQQA2AgAgsAVBAUYNFkHUiQtBADYCAEGcAyAAIAMQAhpB1IkLKAIAIbEFQdSJC0EANgIAILEFQQFHBEAgAxBZGiAFEFkaDBwLEAAhACAEQeADahBZGgwXC0HUiQtBADYCAEGbBSAEQcgDaiIDIAcgBRAIQdSJCygCACGyBUHUiQtBADYCACCyBUEBRg0VQdSJC0EANgIAQZwDIAAgAxACGkHUiQsoAgAhswVB1IkLQQA2AgAgswVBAUcEQCADEFkaIAUQWRoMGwsQACEAIARByANqEFkaDBYLQdSJC0EANgIAQZwFIARBsANqIgMgByAFEAhB1IkLKAIAIbQFQdSJC0EANgIAILQFQQFGDRRB1IkLQQA2AgBBnAMgACADEAIaQdSJCygCACG1BUHUiQtBADYCACC1BUEBRwRAIAMQWRogBRBZGgwaCxAAIQAgBEGwA2oQWRoMFQtB1IkLQQA2AgBBnQUgBEGYA2oiAyAHIAUQCEHUiQsoAgAhtgVB1IkLQQA2AgAgtgVBAUYNE0HUiQtBADYCAEGcAyAAIAMQAhpB1IkLKAIAIbcFQdSJC0EANgIAILcFQQFHBEAgAxBZGiAFEFkaDBkLEAAhACAEQZgDahBZGgwUC0HUiQtBADYCAEGeBSAEQYADaiIDIAcgBRAIQdSJCygCACG4BUHUiQtBADYCACC4BUEBRg0SQdSJC0EANgIAQZwDIAAgAxACGkHUiQsoAgAhuQVB1IkLQQA2AgAguQVBAUcEQCADEFkaIAUQWRoMGAsQACEAIARBgANqEFkaDBMLQdSJC0EANgIAQZ8FIARB6AJqIgMgByAFEAhB1IkLKAIAIboFQdSJC0EANgIAILoFQQFGDRFB1IkLQQA2AgBBnAMgACADEAIaQdSJCygCACG7BUHUiQtBADYCACC7BUEBRwRAIAMQWRogBRBZGgwXCxAAIQAgBEHoAmoQWRoMEgtB1IkLQQA2AgBBoAUgBEHQAmoiAyAHIAUQCEHUiQsoAgAhvAVB1IkLQQA2AgAgvAVBAUYNEEHUiQtBADYCAEGcAyAAIAMQAhpB1IkLKAIAIb0FQdSJC0EANgIAIL0FQQFHBEAgAxBZGiAFEFkaDBYLEAAhACAEQdACahBZGgwRC0HUiQtBADYCAEGhBSAEQbgCaiIDIAcgBRAIQdSJCygCACG+BUHUiQtBADYCACC+BUEBRg0PQdSJC0EANgIAQZwDIAAgAxACGkHUiQsoAgAhvwVB1IkLQQA2AgAgvwVBAUcEQCADEFkaIAUQWRoMFQsQACEAIARBuAJqEFkaDBALQdSJC0EANgIAQaIFIARBoAJqIgMgByAFEAhB1IkLKAIAIcAFQdSJC0EANgIAIMAFQQFGDQ5B1IkLQQA2AgBBnAMgACADEAIaQdSJCygCACHBBUHUiQtBADYCACDBBUEBRwRAIAMQWRogBRBZGgwUCxAAIQAgBEGgAmoQWRoMDwtB1IkLQQA2AgBBowUgBEGIAmoiAyAHIAUQCEHUiQsoAgAhwgVB1IkLQQA2AgAgwgVBAUYNDUHUiQtBADYCAEGcAyAAIAMQAhpB1IkLKAIAIcMFQdSJC0EANgIAIMMFQQFHBEAgAxBZGiAFEFkaDBMLEAAhACAEQYgCahBZGgwOC0HUiQtBADYCAEGkBSAEQfABaiIDIAcgBRAIQdSJCygCACHEBUHUiQtBADYCACDEBUEBRg0MQdSJC0EANgIAQZwDIAAgAxACGkHUiQsoAgAhxQVB1IkLQQA2AgAgxQVBAUcEQCADEFkaIAUQWRoMEgsQACEAIARB8AFqEFkaDA0LQdSJC0EANgIAQaUFIARB2AFqIgMgByAFEAhB1IkLKAIAIcYFQdSJC0EANgIAIMYFQQFGDQtB1IkLQQA2AgBBnAMgACADEAIaQdSJCygCACHHBUHUiQtBADYCACDHBUEBRwRAIAMQWRogBRBZGgwRCxAAIQAgBEHYAWoQWRoMDAtB1IkLQQA2AgBBpgUgBEHAAWoiAyAHIAUQCEHUiQsoAgAhyAVB1IkLQQA2AgAgyAVBAUYNCkHUiQtBADYCAEGcAyAAIAMQAhpB1IkLKAIAIckFQdSJC0EANgIAIMkFQQFHBEAgAxBZGiAFEFkaDBALEAAhACAEQcABahBZGgwLC0HUiQtBADYCAEGnBSAEQagBaiIDIAcgBRAIQdSJCygCACHKBUHUiQtBADYCACDKBUEBRg0JQdSJC0EANgIAQZwDIAAgAxACGkHUiQsoAgAhywVB1IkLQQA2AgAgywVBAUcEQCADEFkaIAUQWRoMDwsQACEAIARBqAFqEFkaDAoLQdSJC0EANgIAQagFIARBkAFqIgMgByAFEAhB1IkLKAIAIcwFQdSJC0EANgIAIMwFQQFGDQhB1IkLQQA2AgBBnAMgACADEAIaQdSJCygCACHNBUHUiQtBADYCACDNBUEBRwRAIAMQWRogBRBZGgwOCxAAIQAgBEGQAWoQWRoMCQtB1IkLQQA2AgBBqQUgBEH4AGoiAyAHIAUQCEHUiQsoAgAhzgVB1IkLQQA2AgAgzgVBAUYNB0HUiQtBADYCAEGcAyAAIAMQAhpB1IkLKAIAIc8FQdSJC0EANgIAIM8FQQFHBEAgAxBZGiAFEFkaDA0LEAAhACAEQfgAahBZGgwIC0HUiQtBADYCAEGqBSAEQeAAaiIDIAcgBRAIQdSJCygCACHQBUHUiQtBADYCACDQBUEBRg0GQdSJC0EANgIAQZwDIAAgAxACGkHUiQsoAgAh0QVB1IkLQQA2AgAg0QVBAUcEQCADEFkaIAUQWRoMDAsQACEAIARB4ABqEFkaDAcLQdSJC0EANgIAQasFIARByABqIgMgByAFEAhB1IkLKAIAIdIFQdSJC0EANgIAINIFQQFGDQVB1IkLQQA2AgBBnAMgACADEAIaQdSJCygCACHTBUHUiQtBADYCACDTBUEBRwRAIAMQWRogBRBZGgwLCxAAIQAgBEHIAGoQWRoMBgtB1IkLQQA2AgBBrAUgBEEwaiIDIAcgBRAIQdSJCygCACHUBUHUiQtBADYCACDUBUEBRg0EQdSJC0EANgIAQZwDIAAgAxACGkHUiQsoAgAh1QVB1IkLQQA2AgAg1QVBAUcEQCADEFkaIAUQWRoMCgsQACEAIARBMGoQWRoMBQtB1IkLQQA2AgBBrQUgBEEYaiIDIAcgBRAIQdSJCygCACHWBUHUiQtBADYCACDWBUEBRg0DQdSJC0EANgIAQZwDIAAgAxACGkHUiQsoAgAh1wVB1IkLQQA2AgAg1wVBAUcEQCADEFkaIAUQWRoMCQsQACEAIARBGGoQWRoMBAtB1IkLQQA2AgBBrgUgBCAHIAUQCEHUiQsoAgAh2AVB1IkLQQA2AgAg2AVBAUYNAkHUiQtBADYCAEGcAyAAIAQQAhpB1IkLKAIAIdkFQdSJC0EANgIAINkFQQFHBEAgBBBZGiAFEFkaDAgLEAAhACAEEFkaDAMLQZUIIQNB/7wCIQYLQdSJC0EANgIAQRQgBkHQlQMgAxAIQdSJCygCACHaBUHUiQtBADYCACDaBUEBRw0GCxAAIQALIAUQWRogBxBZGgwCCxAAIQAMAQsQACEAIAcQWRoLIARB6B5qEGgMTgsgBxBZGiAEKAKIHyIFRQ0BIAQoAowfIgYgBSIDRwRAA0AgBkEYaxBZIgYgBUcNAAsgBCgCiB8hAwsgBCAFNgKMHyADEFoMAQsACyAEQfAeahBZGiAEQaAfaiQADD0LIwBBsAFrIgQkACAEQfgAaiABIAIoAggQ4AICQAJAAkACQAJAAkAgBCgCqAEEQCAAIAQoAng2AgBB1IkLQQA2AgBBwAAgAEEIaiAEQYABahACGkHUiQsoAgAh2wVB1IkLQQA2AgAg2wVBAUYNASAAIAQoApgBNgIgIAAgBCgCnAE2AiQgACAEKAKgATYCKCAEQQA2AqABIARCADcDmAEgACAEKQOoATcDMAwGCyACKAIMIQNB1IkLQQA2AgBB8QIgBEFAayABIAMQCEHUiQsoAgAhA0HUiQtBADYCAAJAAkAgA0EBRwRAIAQoAnBFDQEgACAEKAJANgIAQdSJC0EANgIAQcAAIABBCGogBEHIAGoQAhpB1IkLKAIAIdwFQdSJC0EANgIAINwFQQFGDQIgACAEKAJgNgIgIAAgBCgCZDYCJCAAIAQoAmg2AiggBEEANgJoIARCADcDYCAAIAQpA3A3AzAMBwsQACEHDEgLIAIoAhAhA0HUiQtBADYCAEHxAiAEQQhqIAEgAxAIQdSJCygCACEDQdSJC0EANgIAAkACQCADQQFHBEAgBCgCCCEDIAQoAjhFDQEgACADNgIAQdSJC0EANgIAQcAAIABBCGogBEEQahACGkHUiQsoAgAh3QVB1IkLQQA2AgAg3QVBAUYNBSAAIAQoAig2AiAgACAEKAIsNgIkIAAgBCgCMDYCKCAEQQA2AjAgBEIANwMoIAAgBCkDODcDMAwCCxAAIQcMBgsCQAJ/IAQoAiwgBCgCKGtBGG0gA2pBAUcEQEHHACEAQdCVAyEDQYfBBSEBQZjXAwwBCyAEKAIgQQJGDQFBmAIhAEHmmgMhA0GZsQUhAUGirgULIQJB1IkLQQA2AgBBDSABIAMgACACEAVB1IkLKAIAId4FQdSJC0EANgIAIN4FQQFGDQQACyAAIARB+ABqIARBQGsgBCgCECIDGyIFKAIANgIAQdSJC0EANgIAQcAAIABBCGogBEGAAWogBEHIAGogAxsQAiEGQdSJCygCACHfBUHUiQtBADYCACDfBUEBRg0DIABCADcDICAAQQA2AihB1IkLQQA2AgBBuwEgAEEgaiAEQZgBaiAEQeAAaiADGygCACIHIARBnAFqIARB5ABqIAMbKAIAIgMgAyAHa0EYbRAFQdSJCygCACHgBUHUiQtBADYCACDgBUEBRgRAEAAhByAGEFkaDAULIAAgBSkDMDcDMCAEKAIoIgVFDQAgBCgCLCIHIAUiA0cEQANAIAdBGGsQWSIHIAVHDQALIAQoAighAwsgBCAFNgIsIAMQWgsgBEEQahBZGiAEKAJgIgVFDQUgBCgCZCIHIAUiA0cEQANAIAdBGGsQWSIHIAVHDQALIAQoAmAhAwsgBCAFNgJkIAMQWgwFCxAAIQcMAwsQACEHDEULEAAhBwsgBEEIahBoCyAEQUBrEGgMQgsgBEHIAGoQWRogBCgCmAEiBUUNACAEKAKcASIHIAUiA0cEQANAIAdBGGsQWSIHIAVHDQALIAQoApgBIQMLIAQgBTYCnAEgAxBaCyAEQYABahBZGiAEQbABaiQADDwLIwBBQGoiBCQAIARBCGogASACKAIIEOACAkAgBCgCOARAIAAgBCgCCDYCAEHUiQtBADYCAEHAACAAQQhqIARBEGoQAhpB1IkLKAIAIeEFQdSJC0EANgIAIOEFQQFHBEAgACAEKAIoNgIgIAAgBCgCLDYCJCAAIAQoAjA2AiggBEEANgIwIARCADcDKCAAIAQpAzg3AzAMAgsMRAsgAEIANwMAIABCADcDMCAAQgA3AyggAEIANwMgIABCADcDGCAAQgA3AxAgAEIANwMIIAQoAigiA0UNACAEKAIsIgcgAyIFRwRAA0AgB0EYaxBZIgcgA0cNAAsgBCgCKCEFCyAEIAM2AiwgBRBaCyAEQRBqEFkaIARBQGskAAw7CyMAQUBqIgQkACAAQgA3AwAgAEIANwMwIABCADcDKCAAQgA3AyAgAEIANwMYIABCADcDECAAQgA3AwgCQAJAAkACQAJAIAIoAggiAwRAQdSJC0EANgIAQfECIARBCGoiBSABIAMQCEHUiQsoAgAh4gVB1IkLQQA2AgAg4gVBAUYNAiAAIAQoAgg2AgAgBEEQaiEGAkAgACAFRg0AIABBCGoQWSEDQdSJC0EANgIAQcAAIAMgBhACGkHUiQsoAgAh4wVB1IkLQQA2AgAg4wVBAUYNBCAAKAIgIgNFDQAgACgCJCIHIAMiBUcEQANAIAdBGGsQWSIHIANHDQALIAAoAiAhBQsgACADNgIkIAUQWgsgACAEKAIoNgIgIAAgBCgCLDYCJCAAIAQoAjA2AiggBEEANgIwIARCADcDKCAAIAQpAzg3AzAgBhBZGiAAKAIwDQELIABBkK0LKQMANwMwCyAEQUBrJAAMAwsQACEHDAELEAAhByAEQQhqEGgLIAAQaAxBCww6C0GIrQspAwAh+wcgAEIANwMoIABCADcDICAAQgA3AxggAEIANwMQIABCADcDCCAAQgA3AwAgACD7BzcDMAw5C0GIrQspAwAh+wcgAEIANwMoIABCADcDICAAQgA3AxggAEIANwMQIABCADcDCCAAQgA3AwAgACD7BzcDMAw4CyABQeOvBCABKAIAKAIIEQAAQeOvBEHQlQNB1wkQYgALQYitCykDACH7ByAAQgA3AyggAEIANwMgIABCADcDGCAAQgA3AxAgAEIANwMIIABCADcDACAAIPsHNwMwDDYLIAAgAigCBBD+Cww1CyMAQdAAayIEJAAgBEEYaiABIAIoAggQ4AIgBCgCGCEDAkACQAJAAkAgBCgCSARAIAAgAzYCAEHUiQtBADYCAEHAACAAQQhqIARBIGoQAhpB1IkLKAIAIeQFQdSJC0EANgIAIOQFQQFGDQIgACAEKAI4NgIgIAAgBCgCPDYCJCAAIARBQGsiAygCADYCKCADQQA2AgAgBEIANwM4IAAgBCkDSDcDMAwBCyAEKAI8IAQoAjhrQRhtIANqQQFHBEBB1IkLQQA2AgBBDUGHwQVB0JUDQccAQZjXAxAFQdSJCygCACHlBUHUiQtBADYCACDlBUEBRg0DAAsCf0EAIAQoAjAiA0EHSQ0AGkEAIAMoAgRBAUcNABogAygCCEF8cUEMRgshAyAEQQI2AhAgBCADNgIAQdSJC0EANgIAQZwDIAAgBBACGkHUiQsoAgAh5gVB1IkLQQA2AgAg5gVBAUYEQBAAIQcgBBBZGgw+CyAEEFkaIAQoAjgiA0UNACAEKAI8IgcgAyIFRwRAA0AgB0EYaxBZIgcgA0cNAAsgBCgCOCEFCyAEIAM2AjwgBRBaCyAEQSBqEFkaIARB0ABqJAAMAgsQACEHDDsLEAAhBww6Cww0CyAAIAIoAgQgAikCCBD9CwwzCyMAQaABayIEJAAgBEHoAGogASACKAIIEOACAkACQAJAAkACQCAEKAKYAQRAIAAgBCgCaDYCAEHUiQtBADYCAEHAACAAQQhqIARB8ABqEAIaQdSJCygCACHnBUHUiQtBADYCACDnBUEBRg0BIAAgBCgCiAE2AiAgACAEKAKMATYCJCAAIAQoApABNgIoIARBADYCkAEgBEIANwOIASAAIAQpA5gBNwMwDAULAkACQAJAAkACQCAEKAJoIAQoAowBIAQoAogBa0EYbWpBAUcEQEHUiQtBADYCAEENQYfBBUHQlQNBxwBBmNcDEAVB1IkLKAIAIegFQdSJC0EANgIAIOgFQQFGDQEMCQtB1IkLQQA2AgBBwAAgBEHQAGogBEHwAGoiAxACIQdB1IkLKAIAIekFQdSJC0EANgIAIOkFQQFGDQAgAigCDCEFQdSJC0EANgIAQfECIARBGGogASAFEAhB1IkLKAIAIeoFQdSJC0EANgIAIOoFQQFGDQEgBCAEKAIYNgJoIAMQWSEDQdSJC0EANgIAQcAAIAMgBEEgaiIJEAIhCEHUiQsoAgAh6wVB1IkLQQA2AgAg6wVBAUYNAiAEKAKIASIDBEAgBCgCjAEiBiADIgVHBEADQCAGQRhrEFkiBiADRw0ACyAEKAKIASEFCyAEIAM2AowBIAUQWgsgBCkCPCH7ByAEQUBrQQA2AgAgBCAEKAI4NgKIASAEIAQpA0g3A5gBIAQg+wc3AowBIARCADcDOCAJEFkaIAQoApgBRQ0EIAAgBCgCaDYCAEHUiQtBADYCAEHAACAAQQhqIAgQAhpB1IkLKAIAIewFQdSJC0EANgIAIOwFQQFGDQMgACAEKAKIATYCICAAIAQoAowBNgIkIAAgBCgCkAE2AiggBEEANgKQASAEQgA3A4gBIAAgBCkDmAE3AzAMBwsQACEADEYLEAAhACAHEFkaDEULEAAhACAEQRhqEGggBxBZGgxECxAAIQAgBxBZGgxDCyAEKAJoIAQoAowBIAQoAogBa0EYbWpBAUcEQEHUiQtBADYCAEENQYfBBUHQlQNBxwBBmNcDEAVB1IkLKAIAIe0FQdSJC0EANgIAIO0FQQFHDQQMAgtB1IkLQQA2AgBBwAAgBEEYaiAIEAIhA0HUiQsoAgAh7gVB1IkLQQA2AgAg7gVBAUYNAUHUiQtBADYCAEGvBSAHIAMQAiEFQdSJCygCACEGQdSJC0EANgIAAkACQCAGQQFHBEAgBEECNgIQIAQgBTYCAEHUiQtBADYCAEGcAyAAIAQQAhpB1IkLKAIAIe8FQdSJC0EANgIAIO8FQQFGDQEgBBBZGiADEFkaDAULEAAhAAwBCxAAIQAgBBBZGgsgAxBZGiAHEFkaDEILEAAhAAxBCxAAIQAgBxBZGgxACyAHEFkaIAQoAogBIgNFDQEgBCgCjAEiBiADIgVHBEADQCAGQRhrEFkiBiADRw0ACyAEKAKIASEFCyAEIAM2AowBIAUQWgwBCwALIARB8ABqEFkaIARBoAFqJAAMMgtBiK0LKQMAIfsHIABCADcDKCAAQgA3AyAgAEIANwMYIABCADcDECAAQgA3AwggAEIANwMAIAAg+wc3AzAMMQtBiK0LKQMAIfsHIABCADcDKCAAQgA3AyAgAEIANwMYIABCADcDECAAQgA3AwggAEIANwMAIAAg+wc3AzAMMAtBiK0LKQMAIfsHIABCADcDKCAAQgA3AyAgAEIANwMYIABCADcDECAAQgA3AwggAEIANwMAIAAg+wc3AzAMLwtBiK0LKQMAIfsHIABCADcDKCAAQgA3AyAgAEIANwMYIABCADcDECAAQgA3AwggAEIANwMAIAAg+wc3AzAMLgtBiK0LKQMAIfsHIABCADcDKCAAQgA3AyAgAEIANwMYIABCADcDECAAQgA3AwggAEIANwMAIAAg+wc3AzAMLQtBiK0LKQMAIfsHIABCADcDKCAAQgA3AyAgAEIANwMYIABCADcDECAAQgA3AwggAEIANwMAIAAg+wc3AzAMLAtBiK0LKQMAIfsHIABCADcDKCAAQgA3AyAgAEIANwMYIABCADcDECAAQgA3AwggAEIANwMAIAAg+wc3AzAMKwtB/L0CQdCVA0H1ChBiAAsjAEGAAWsiBCQAIARCADcDYCAEQQA2AmggBEEANgJ4IARCADcDWCAEQQA2AlAgBEIANwNwQdSJC0EANgIAQbAFIAAgASACQRBqIARB0ABqEAVB1IkLKAIAIQNB1IkLQQA2AgACQAJAAkACQAJAAkACQAJAIANBAUcEQCAEQdgAaiEHIAAoAjBFBEAgBEEoaiIGQgA3AwAgBEIANwMwIARBADYCOCAEQQA2AkggBEFAayIIQgA3AwAgBEEANgIgIAQgAikCCDcDGCAEKAJQIAQoAnQgBCgCcGtBGG1qIglFDQNB1IkLQQA2AgBBwAAgBCAHEAIhA0HUiQsoAgAhAkHUiQtBADYCAAJAAkAgAkEBRwRAAkAgBCgCIARAIAQoAkQiBSAEKAJIRg0DQdSJC0EANgIAQcAAIAUgAxACIQJB1IkLKAIAIfAFQdSJC0EANgIAIPAFQQFGDQEgBCACQRhqNgJEDAcLQdSJC0EANgIAIARBATYCIEGxBSAGIAMQAhpB1IkLKAIAIfEFQdSJC0EANgIAIPEFQQFGDQMMBgsQACECIAQgBTYCRCADEFkaDAoLEAAhAgwJC0HUiQtBADYCAEGyBSAIIAMQA0HUiQsoAgAh8gVB1IkLQQA2AgAg8gVBAUcNAwsQACECIAMQWRoMBwsgBCgCcCIDBEAgBCgCdCIGIAMiBUcEQANAIAZBGGsQWSIGIANHDQALIAQoAnAhBQsgBCADNgJ0IAUQWgsgBxBZGiAEQYABaiQADAgLEAAhAgwGC0EBIQIgAxBZIQogCUEBRg0AA0BB1IkLQQA2AgBBwAAgCiAEKAJwIAJBGGxqQRhrEAIhBUHUiQsoAgAh8wVB1IkLQQA2AgAg8wVBAUYNAgJAIAQoAiBFBEBB1IkLQQA2AgAgBEEBNgIgQbEFIAYgBRACGkHUiQsoAgAh9AVB1IkLQQA2AgAg9AVBAUcNAQwGCyAEKAJEIgcgBCgCSEcEQEHUiQtBADYCAEHAACAHIAUQAiELQdSJCygCACH1BUHUiQtBADYCACD1BUEBRgRAEAAhAiAEIAc2AkQgAxBZGgwICyAEIAtBGGo2AkQMAQtB1IkLQQA2AgBBsgUgCCAFEANB1IkLKAIAIfYFQdSJC0EANgIAIPYFQQFGDQULIAUQWRogAkEBaiICIAlHDQALCyABKAIAKAIQIfcFQdSJC0EANgIAIPcFIAEgBEEYahADQdSJCygCACH4BUHUiQtBADYCACD4BUEBRg0BQdSJC0EANgIAQRRB6jRB0JUDQYQLEAhB1IkLKAIAIfkFQdSJC0EANgIAIPkFQQFGDQEACxAAIQIMAgsQACECDAELEAAhAiADEFkaCyAEQRhqENIHGiAAEGgLIARB0ABqEGggAhAHAAsMKQtBiK0LKQMAIfsHIABCADcDKCAAQgA3AyAgAEIANwMYIABCADcDECAAQgA3AwggAEIANwMAIAAg+wc3AzAMKAtB/L0CQdCVA0GHCxBiAAsjAEHQAGsiBCQAIARCADcDMCAEQQA2AjggBEEANgJIIARCADcDKCAEQQA2AiAgBEIANwNAQdSJC0EANgIAQbAFIAAgASACQQhqIARBIGoQBUHUiQsoAgAhA0HUiQtBADYCAAJAAkACQAJAAkACQAJAIANBAUcEQCAEQShqIQggBCgCQCEDIAAoAjANAiAEKAIgIAQoAkQgA2tBGG1qIglFDQJB1IkLQQA2AgBBwAAgBEEIaiAIEAIhB0HUiQsoAgAhA0HUiQtBADYCAAJAAkACQCADQQFHBEAgBCgCGEECSQ0JIABBCGohBSAAQSBqIQogACgCAARAIAAoAiQiAyAAKAIoRg0CQdSJC0EANgIAQcAAIAMgBxACIQZB1IkLKAIAIfoFQdSJC0EANgIAIPoFQQFGDQQgACAGQRhqNgIkDAYLIABBATYCACAFIAdGDQUgBRBZIQNB1IkLQQA2AgBBwAAgAyAHEAIaQdSJCygCACH7BUHUiQtBADYCACD7BUEBRg0CDAULEAAhBSAAEGgMCQtB1IkLQQA2AgBBsgUgCiAHEANB1IkLKAIAIfwFQdSJC0EANgIAIPwFQQFHDQMLEAAhBSAHEFkaIAAQaAwHCxAAIQUgACADNgIkIAcQWRogABBoDAYLEAAhBQwFCyAHEFkhCyAJQQFHBEBBASEDA0BB1IkLQQA2AgBBwAAgCyAEKAJAIANBGGxqQRhrEAIhBkHUiQsoAgAh/QVB1IkLQQA2AgAg/QVBAUYNAyAEKAIYQQFNDQUCQCAAKAIARQRAIABBATYCACAFIAtGDQEgBRBZIQxB1IkLQQA2AgBBwAAgDCAGEAIaQdSJCygCACH+BUHUiQtBADYCACD+BUEBRw0BDAYLIAAoAiQiDCAAKAIoRwRAQdSJC0EANgIAQcAAIAwgBhACIQ5B1IkLKAIAIf8FQdSJC0EANgIAIP8FQQFGBEAQACEFIAAgDDYCJCAHEFkaIAAQaAwJCyAAIA5BGGo2AiQMAQtB1IkLQQA2AgBBsgUgCiAGEANB1IkLKAIAIYAGQdSJC0EANgIAIIAGQQFGDQULIAYQWRogA0EBaiIDIAlHDQALCyAEKAJAIQMLIAMEQCAEKAJEIgcgAyIFRwRAA0AgB0EYaxBZIgcgA0cNAAsgBCgCQCEFCyAEIAM2AkQgBRBaCyAIEFkaIARB0ABqJAAMBAsQACEFIAAQaAwCCxAAIQUgBxBZGiAAEGgMAQtB1IkLQQA2AgBBDUHClAZB0JUDQaMKQdmyBBAFQdSJCygCACGBBkHUiQtBADYCACCBBkEBRwRAAAsQACEFIAcQWRogABBoCyAEQSBqEGggBRAHAAsMJgsjAEHQAGsiBCQAIARBGGogASACKAIIEOACIAQoAhghAwJAAkACQCAEKAJIBEAgACADNgIAQdSJC0EANgIAQcAAIABBCGogBEEgahACGkHUiQsoAgAhggZB1IkLQQA2AgAgggZBAUYNAiAAIAQoAjg2AiAgACAEKAI8NgIkIAAgBEFAayIDKAIANgIoIANBADYCACAEQgA3AzggACAEKQNINwMwDAELIAIoAgwiBSADIAQoAjwgBCgCOCIHa0EYbWpPBEBB1IkLQQA2AgBBDUGIJ0HQlQNBrgpBkI0BEAVB1IkLKAIAIYMGQdSJC0EANgIAIIMGQQFGDQIAC0HUiQtBADYCAEHAACAEIAcgBUEYbGpBGGsgBEEgaiAFGxACIQNB1IkLKAIAIYQGQdSJC0EANgIAIIQGQQFGDQFB1IkLQQA2AgBBnAMgACADEAIaQdSJCygCACGFBkHUiQtBADYCACCFBkEBRgRAEAAhByADEFkaDC4LIAMQWRogBCgCOCIDRQ0AIAQoAjwiByADIgVHBEADQCAHQRhrEFkiByADRw0ACyAEKAI4IQULIAQgAzYCPCAFEFoLIARBIGoQWRogBEHQAGokAAwBCxAAIQcMKwsMJQsjAEHwAGsiBCQAIARBIGogASACKAIIEOACIAQoAiAhAwJAAkACQAJAAkAgBCgCUARAIAAgAzYCAEHUiQtBADYCAEHAACAAQQhqIARBKGoQAhpB1IkLKAIAIYYGQdSJC0EANgIAIIYGQQFGDQIgACAEKAJANgIgIAAgBCgCRDYCJCAAIAQoAkg2AiggBEEANgJIIARCADcDQCAAIAQpA1A3AzAMAQsCQAJ/IAQoAkQgBCgCQGtBGG0gA2pBAUcEQEHHACEAQdCVAyEDQYfBBSEBQZjXAwwBCyAEKAI4QQJGDQFBmAIhAEHmmgMhA0GZsQUhAUGirgULIQJB1IkLQQA2AgBBDSABIAMgACACEAVB1IkLKAIAIYcGQdSJC0EANgIAIIcGQQFGDQMACyAEKAIoIQUgBEEANgJoQdSJC0EANgIAIARCgYCAgMAANwJgIARBADoAXEEHQdidCyAEQdwAaiIDEAIhB0HUiQsoAgAhiAZB1IkLQQA2AgAgiAZBAUYEQBAAIQcgAxB3DAQLQdSJC0EANgIAQaUBIARBCGogBxACIQNB1IkLKAIAIYkGQdSJC0EANgIAIIkGQQFGDQIgAyAFQYCAgIB4cjYCAEHUiQtBADYCAEGcAyAAIAMQAhpB1IkLKAIAIYoGQdSJC0EANgIAIIoGQQFGBEAQACEHIAMQWRoMBAsgAxBZGiAEKAJAIgVFDQAgBCgCRCIHIAUiA0cEQANAIAdBGGsQWSIHIAVHDQALIAQoAkAhAwsgBCAFNgJEIAMQWgsgBEEoahBZGiAEQfAAaiQADAMLEAAhBwwBCxAAIQcLIARBIGoQaAwrCwwkCyMAQdAAayIEJAAgBEEYaiABIAIoAggQ4AIgBCgCGCEDAkACQAJAAkACQCAEKAJIBEAgACADNgIAQdSJC0EANgIAQcAAIABBCGogBEEgahACGkHUiQsoAgAhiwZB1IkLQQA2AgAgiwZBAUYNAiAAIAQoAjg2AiAgACAEKAI8NgIkIAAgBEFAayIDKAIANgIoIANBADYCACAEQgA3AzggACAEKQNINwMwDAELIAQoAjwgBCgCOGtBGG0gA2pBAUcEQEGY1wMhBUHHACEHQdCVAyEGQYfBBSEIDAMLQauJBCEFQeQHIQdBuLMCIQZBv/8FIQggBCgCMCIDQQdJDQICfwJAAkAgAygCBEEBRw0AIAMoAghBfHFBDEcNACABKAIAKAIIIYwGQdSJC0EANgIAIIwGIAFBwbMDEANB1IkLKAIAIY0GQdSJC0EANgIAII0GQQFHDQEMBgsgAi0ADEUMAQsgBCgCMCIDQQdJDQMgAi0ADEULIQkgAygCBEEBRw0CIAMoAghBBEcEQEHGvgUhBUGcAiEHQeaaAyEGQd++BSEIDAMLIARBAjYCEEHUiQtBADYCACAEIAQoAiAiA0H/////B3EgA0EBdEEBdSAJGzYCAEGcAyAAIAQQAhpB1IkLKAIAIY4GQdSJC0EANgIAII4GQQFGBEAQACEHIAQQWRoMLgsgBBBZGiAEKAI4IgNFDQAgBCgCPCIHIAMiBUcEQANAIAdBGGsQWSIHIANHDQALIAQoAjghBQsgBCADNgI8IAUQWgsgBEEgahBZGiAEQdAAaiQADAMLEAAhBwwrC0HUiQtBADYCAEENIAggBiAHIAUQBUHUiQsoAgAhjwZB1IkLQQA2AgAgjwZBAUYNAAALEAAhBwwpCwwjC0GIrQspAwAh+wcgAEIANwMoIABCADcDICAAQgA3AxggAEIANwMQIABCADcDCCAAQgA3AwAgACD7BzcDMAwiCyMAQaACayIEJAAgBEHoAWogASACKAIIEOACAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAQoApgCBEAgBCAEKALoATYCeEHUiQtBADYCAEHAACAEQYABaiAEQfABahACIQZB1IkLKAIAIZAGQdSJC0EANgIAIJAGQQFGDQIgBEEANgKgASAEQgA3A5gBQdSJC0EANgIAQbsBIARBmAFqIAQoAogCIgMgBCgCjAIiBSAFIANrQRhtEAVB1IkLKAIAIZEGQdSJC0EANgIAIJEGQQFGBEAQACEAIAYQWRoMOwsgBCAEKQOYAjcDqAEgBCAEKAJ4NgKwAUHUiQtBADYCAEHAACAEQbgBaiAGEAIhCEHUiQsoAgAhA0HUiQtBADYCAAJAAkACQCADQQFHBEAgBEEANgLYASAEQgA3A9ABQdSJC0EANgIAQbsBIARB0AFqIAQoApgBIgMgBCgCnAEiBSAFIANrQRhtEAVB1IkLKAIAIZIGQdSJC0EANgIAIJIGQQFGBEAQACEAIAgQWRoMBAsgBCAEKQOoATcD4AEgBCAEKAKwATYCIEHUiQtBADYCAEHAACAEQShqIAgQAiEDQdSJCygCACGTBkHUiQtBADYCACCTBkEBRg0BIARBADYCSCAEQgA3A0BB1IkLQQA2AgBBuwEgBEFAayAEKALQASIFIAQoAtQBIgcgByAFa0EYbRAFQdSJCygCACGUBkHUiQtBADYCACCUBkEBRgRAEAAhACADEFkaDAMLIARBADoAWCAEIAQpA+ABNwNQIAQoAtABIgUEQCAEKALUASIHIAUiA0cEQANAIAdBGGsQWSIHIAVHDQALIAQoAtABIQMLIAQgBTYC1AEgAxBaCyAIEFkaIAQoApgBIgUEQCAEKAKcASIHIAUiA0cEQANAIAdBGGsQWSIHIAVHDQALIAQoApgBIQMLIAQgBTYCnAEgAxBaCwwFCxAAIQAMAgsQACEACyAEQbABahBoCyAEQfgAahBoDDoLAkACQAJAAkACQAJAAkAgBCgC6AEgBCgCjAIgBCgCiAJrQRhtakEBRwRAQdSJC0EANgIAQQ1Bh8EFQdCVA0HHAEGY1wMQBUHUiQsoAgAhlQZB1IkLQQA2AgAglQZBAUYNAQwSC0HUiQtBADYCAEHAACAEQbABaiAEQfABahACIQZB1IkLKAIAIZYGQdSJC0EANgIAIJYGQQFGDQAgBigCECIFQQdJDQQgBSgCBEEBRw0EIAIoAgwhAyAFKAIIQXxxQQxHDQMgA0EHSQ0CIAMoAgRBAUcNAiADKAIMQQFHDQJB1IkLQQA2AgBBwAAgBEHgAGogBhACIQdB1IkLKAIAIZcGQdSJC0EANgIAIJcGQQFGDQVB1IkLQQA2AgBBwAAgBEH4AGogBxACIQVB1IkLKAIAIZgGQdSJC0EANgIAIJgGQQFGDQFB1IkLQQA2AgBBwAAgBEEgaiAFEAIaQdSJCygCACGZBkHUiQtBADYCAEEBIQMgmQZBAUcNBhAAIQAgBRBZGiAHEFkaIAYQWRoMQAsQACEADD8LEAAhACAHEFkaIAYQWRoMPgtB1IkLQQA2AgBBwAAgBEHgAGogBhACIQdB1IkLKAIAIZoGQdSJC0EANgIAIJoGQQFGDQJB1IkLQQA2AgBBwAAgBEH4AGogBxACIQVB1IkLKAIAIZsGQdSJC0EANgIAIJsGQQFGDQtB1IkLQQA2AgBBwAAgBEEgaiAFEAIaQdSJCygCACGcBkHUiQtBADYCAEECIQMgnAZBAUcNAxAAIQAgBRBZGiAHEFkaIAYQWRoMPQsgA0EHSQ0AIAMoAgRBAUcNAAJAIAUoAggiBSADKAIIIgNHBEBB1IkLQQA2AgBBjAMgBSADEAIhngZB1IkLKAIAIZ0GQdSJC0EANgIAIJ0GQQFGDQMgngZFDQELQdSJC0EANgIAQcAAIARB4ABqIAYQAiEHQdSJCygCACGfBkHUiQtBADYCACCfBkEBRg0CQdSJC0EANgIAQcAAIARB+ABqIAcQAiEFQdSJCygCACGgBkHUiQtBADYCACCgBkEBRg0MQdSJC0EANgIAQcAAIARBIGogBRACGkHUiQsoAgAhoQZB1IkLQQA2AgBBASEDIKEGQQFHDQMQACEAIAUQWRogBxBZGiAGEFkaDD0LQdSJC0EANgIAQcAAIARB4ABqIAYQAiEHQdSJCygCACGiBkHUiQtBADYCACCiBkEBRg0BQdSJC0EANgIAQcAAIARB+ABqIAcQAiEFQdSJCygCACGjBkHUiQtBADYCACCjBkEBRg0MQdSJC0EANgIAQcAAIARBIGogBRACGkHUiQsoAgAhpAZB1IkLQQA2AgBBAiEDIKQGQQFHDQIQACEAIAUQWRogBxBZGiAGEFkaDDwLQdSJC0EANgIAQQ1Bv/8FQbizAkHkB0GriQQQBUHUiQsoAgAhpQZB1IkLQQA2AgAgpQZBAUcNDAsQACEAIAYQWRoMOgsgBCADOgBYIAUQWRogBxBZGgsgBhBZGiAEKAKIAiIDBEAgBCgCjAIiByADIgVHBEADQCAHQRhrEFkiByADRw0ACyAEKAKIAiEFCyAEIAM2AowCIAUQWgsgBEHwAWoQWRogBC0AWCIDDQEgACAEKAIgNgIAQdSJC0EANgIAQcAAIABBCGogBEEoahACIagGQdSJCygCACGmBkHUiQtBADYCACCmBkEBRg0EIABCADcDICAAQQA2AihB1IkLQQA2AgBBuwEgAEEgaiAEKAJAIgUgBCgCRCIHIAcgBWtBGG0QBUHUiQsoAgAhpwZB1IkLQQA2AgAgpwZBAUcNAhAAIQcgqAYQWRoMBQsQACEADDcLIARBAjYCGEHUiQtBADYCACAEIANBAUY2AghBnAMgACAEQQhqIgMQAhpB1IkLKAIAIakGQdSJC0EANgIAIKkGQQFHBEAgAxBZGgwCCxAAIQcgBEEIahBZGgwDCyAAIAQpA1A3AzALIAQtAFgiA0H/AUcEQCAEQbMFNgLwASAEQbQFNgLsASAEQbUFNgLoAUHUiQtBADYCACAEQegBaiADQQJ0aigCACAEQfgAaiAEQSBqEANB1IkLKAIAIaoGQdSJC0EANgIAIKoGQQFGDTgLIARBoAJqJAAMBgsQACEHCyAEQSBqEPQLDCwLEAAhACAHEFkaIAYQWRoMMQsQACEAIAcQWRogBhBZGgwwCxAAIQAgBxBZGiAGEFkaDC8LAAsMIQsjAEGgAmsiBCQAIARB6AFqIAEgAigCCBDgAgJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAQoApgCBEAgBCAEKALoATYCeEHUiQtBADYCAEHAACAEQYABaiAEQfABahACIQZB1IkLKAIAIasGQdSJC0EANgIAIKsGQQFGDQIgBEEANgKgASAEQgA3A5gBQdSJC0EANgIAQbsBIARBmAFqIAQoAogCIgMgBCgCjAIiBSAFIANrQRhtEAVB1IkLKAIAIawGQdSJC0EANgIAIKwGQQFGBEAQACEAIAYQWRoMPgsgBCAEKQOYAjcDqAEgBCAEKAJ4NgKwAUHUiQtBADYCAEHAACAEQbgBaiAGEAIhCEHUiQsoAgAhA0HUiQtBADYCAAJAAkACQCADQQFHBEAgBEEANgLYASAEQgA3A9ABQdSJC0EANgIAQbsBIARB0AFqIAQoApgBIgMgBCgCnAEiBSAFIANrQRhtEAVB1IkLKAIAIa0GQdSJC0EANgIAIK0GQQFGBEAQACEAIAgQWRoMBAsgBCAEKQOoATcD4AEgBCAEKAKwATYCIEHUiQtBADYCAEHAACAEQShqIAgQAiEDQdSJCygCACGuBkHUiQtBADYCACCuBkEBRg0BIARBADYCSCAEQgA3A0BB1IkLQQA2AgBBuwEgBEFAayAEKALQASIFIAQoAtQBIgcgByAFa0EYbRAFQdSJCygCACGvBkHUiQtBADYCACCvBkEBRgRAEAAhACADEFkaDAMLIARBADoAWCAEIAQpA+ABNwNQIAQoAtABIgUEQCAEKALUASIHIAUiA0cEQANAIAdBGGsQWSIHIAVHDQALIAQoAtABIQMLIAQgBTYC1AEgAxBaCyAIEFkaIAQoApgBIgUEQCAEKAKcASIHIAUiA0cEQANAIAdBGGsQWSIHIAVHDQALIAQoApgBIQMLIAQgBTYCnAEgAxBaCwwFCxAAIQAMAgsQACEACyAEQbABahBoCyAEQfgAahBoDD0LAkACQAJAAkACQAJAAkAgBCgC6AEgBCgCjAIgBCgCiAJrQRhtakEBRwRAQdSJC0EANgIAQQ1Bh8EFQdCVA0HHAEGY1wMQBUHUiQsoAgAhsAZB1IkLQQA2AgAgsAZBAUYNAQwWC0HUiQtBADYCAEHAACAEQbABaiAEQfABahACIQZB1IkLKAIAIbEGQdSJC0EANgIAILEGQQFGDQAgBigCECIFQQdJDQQgBSgCBEEBRw0EIAIoAgQhAyAFKAIIQXxxQQxHDQMgA0EHSQ0CIAMoAgRBAUcNAiADKAIMQQFHDQJB1IkLQQA2AgBBwAAgBEHgAGogBhACIQdB1IkLKAIAIbIGQdSJC0EANgIAILIGQQFGDQVB1IkLQQA2AgBBwAAgBEH4AGogBxACIQVB1IkLKAIAIbMGQdSJC0EANgIAILMGQQFGDQFB1IkLQQA2AgBBwAAgBEEgaiAFEAIaQdSJCygCACG0BkHUiQtBADYCAEEBIQMgtAZBAUcNBhAAIQAgBRBZGiAHEFkaIAYQWRoMQwsQACEADEILEAAhACAHEFkaIAYQWRoMQQtB1IkLQQA2AgBBwAAgBEHgAGogBhACIQdB1IkLKAIAIbUGQdSJC0EANgIAILUGQQFGDQJB1IkLQQA2AgBBwAAgBEH4AGogBxACIQVB1IkLKAIAIbYGQdSJC0EANgIAILYGQQFGDQ1B1IkLQQA2AgBBwAAgBEEgaiAFEAIaQdSJCygCACG3BkHUiQtBADYCAEECIQMgtwZBAUcNAxAAIQAgBRBZGiAHEFkaIAYQWRoMQAsgA0EHSQ0AIAMoAgRBAUcNAAJAIAUoAggiBSADKAIIIgNHBEBB1IkLQQA2AgBBjAMgBSADEAIhuQZB1IkLKAIAIbgGQdSJC0EANgIAILgGQQFGDQMguQZFDQELQdSJC0EANgIAQcAAIARB4ABqIAYQAiEHQdSJCygCACG6BkHUiQtBADYCACC6BkEBRg0CQdSJC0EANgIAQcAAIARB+ABqIAcQAiEFQdSJCygCACG7BkHUiQtBADYCACC7BkEBRg0OQdSJC0EANgIAQcAAIARBIGogBRACGkHUiQsoAgAhvAZB1IkLQQA2AgBBASEDILwGQQFHDQMQACEAIAUQWRogBxBZGiAGEFkaDEALQdSJC0EANgIAQcAAIARB4ABqIAYQAiEHQdSJCygCACG9BkHUiQtBADYCACC9BkEBRg0BQdSJC0EANgIAQcAAIARB+ABqIAcQAiEFQdSJCygCACG+BkHUiQtBADYCACC+BkEBRg0OQdSJC0EANgIAQcAAIARBIGogBRACGkHUiQsoAgAhvwZB1IkLQQA2AgBBAiEDIL8GQQFHDQIQACEAIAUQWRogBxBZGiAGEFkaDD8LQdSJC0EANgIAQQ1Bv/8FQbizAkHkB0GriQQQBUHUiQsoAgAhwAZB1IkLQQA2AgAgwAZBAUcNEAsQACEAIAYQWRoMPQsgBCADOgBYIAUQWRogBxBZGgsgBhBZGiAEKAKIAiIDBEAgBCgCjAIiByADIgVHBEADQCAHQRhrEFkiByADRw0ACyAEKAKIAiEFCyAEIAM2AowCIAUQWgsgBEHwAWoQWRogBC0AWA4DAQIEAwsQACEADDoLIAAgBCgCIDYCAEHUiQtBADYCAEHAACAAQQhqIARBKGoQAiHDBkHUiQsoAgAhwQZB1IkLQQA2AgAgwQZBAUYNBSAAQgA3AyAgAEEANgIoQdSJC0EANgIAQbsBIABBIGogBCgCQCIFIAQoAkQiByAHIAVrQRhtEAVB1IkLKAIAIcIGQdSJC0EANgIAIMIGQQFHDQMQACEAIMMGEFkaDAoLQdSJC0EANgIAQcAAIARBCGogBEEgahACIQNB1IkLKAIAIQVB1IkLQQA2AgACQCAFQQFHBEBB1IkLQQA2AgBBnAMgACADEAIaQdSJCygCACHEBkHUiQtBADYCACDEBkEBRg0BIAMQWRoMBQsQACEADAoLEAAhACADEFkaDAkLQdSJC0EANgIAQQ1B75UGQdCVA0HeC0GS3gAQBUHUiQsoAgAhxQZB1IkLQQA2AgAgxQZBAUcNCQwHCyABKAIAKAIIIcYGQdSJC0EANgIAIMYGIAFBz/gBEANB1IkLKAIAIccGQdSJC0EANgIAIMcGQQFGDQZB1IkLQQA2AgBBFEHjrwRB0JUDQeALEAhB1IkLKAIAIcgGQdSJC0EANgIAIMgGQQFHDQgMBgsgACAEKQNQNwMwCyAELQBYIgNB/wFHBEAgBEGzBTYC8AEgBEG0BTYC7AEgBEG1BTYC6AFB1IkLQQA2AgAgBEHoAWogA0ECdGooAgAgBEH4AGogBEEgahADQdSJCygCACHJBkHUiQtBADYCACDJBkEBRg04CyAEQaACaiQADAcLEAAhAAwECxAAIQAgBxBZGiAGEFkaDDILEAAhACAHEFkaIAYQWRoMMQsQACEAIAcQWRogBhBZGgwwCxAAIQALIARBIGoQ9AsMMAsACwwgCyMAQZADayIEJAACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCACKAIIQX5xQQJGBEAgBEHYAmogASACKAIUEOACAkACQAJAAkACQAJAAkACQAJAIAQoAogDBEAgBCAEKALYAjYC6AFB1IkLQQA2AgBBwAAgBEHwAWogBEHgAmoQAiEGQdSJCygCACHKBkHUiQtBADYCACDKBkEBRg0CIARBADYCkAIgBEIANwOIAkHUiQtBADYCAEG7ASAEQYgCaiAEKAL4AiIDIAQoAvwCIgUgBSADa0EYbRAFQdSJCygCACHLBkHUiQtBADYCACDLBkEBRgRAEAAhAyAGEFkaDBYLIAQgBCkDiAM3A5gCIAQgBCgC6AE2AqACQdSJC0EANgIAQcAAIARBqAJqIAYQAiEIQdSJCygCACEDQdSJC0EANgIAAkACQAJAIANBAUcEQCAEQQA2AsgCIARCADcDwAJB1IkLQQA2AgBBuwEgBEHAAmogBCgCiAIiAyAEKAKMAiIFIAUgA2tBGG0QBUHUiQsoAgAhzAZB1IkLQQA2AgAgzAZBAUYEQBAAIQMgCBBZGgwECyAEIAQpA5gCNwPQAiAEIAQoAqACNgKQAUHUiQtBADYCAEHAACAEQZgBaiAIEAIhBUHUiQsoAgAhzQZB1IkLQQA2AgAgzQZBAUYNASAEQQA2ArgBIARCADcDsAFB1IkLQQA2AgBBuwEgBEGwAWogBCgCwAIiAyAEKALEAiIHIAcgA2tBGG0QBUHUiQsoAgAhzgZB1IkLQQA2AgAgzgZBAUYEQBAAIQMgBRBZGgwDCyAEQQA6AMgBIAQgBCkD0AI3A8ABIAQoAsACIgUEQCAEKALEAiIHIAUiA0cEQANAIAdBGGsQWSIHIAVHDQALIAQoAsACIQMLIAQgBTYCxAIgAxBaCyAIEFkaIAQoAogCIgUEQCAEKAKMAiIHIAUiA0cEQANAIAdBGGsQWSIHIAVHDQALIAQoAogCIQMLIAQgBTYCjAIgAxBaCwwFCxAAIQMMAgsQACEDCyAEQaACahBoCyAEQegBahBoDBULAkACQAJAAkACQAJAAkAgBCgC2AIgBCgC/AIgBCgC+AJrQRhtakEBRwRAQdSJC0EANgIAQQ1Bh8EFQdCVA0HHAEGY1wMQBUHUiQsoAgAhzwZB1IkLQQA2AgAgzwZBAUYNAQwdC0HUiQtBADYCAEHAACAEQaACaiAEQeACahACIQZB1IkLKAIAIdAGQdSJC0EANgIAINAGQQFGDQAgBigCECIFQQdJDQQgBSgCBEEBRw0EIAIoAhghAyAFKAIIQXxxQQxHDQMgA0EHSQ0CIAMoAgRBAUcNAiADKAIMQQFHDQJB1IkLQQA2AgBBwAAgBEHQAWogBhACIQdB1IkLKAIAIdEGQdSJC0EANgIAINEGQQFGDQVB1IkLQQA2AgBBwAAgBEHoAWogBxACIQVB1IkLKAIAIdIGQdSJC0EANgIAINIGQQFGDQFB1IkLQQA2AgBBwAAgBEGQAWogBRACGkHUiQsoAgAh0wZB1IkLQQA2AgBBASEDINMGQQFHDQYQACEDIAUQWRogBxBZGiAGEFkaDBsLEAAhAwwaCxAAIQMgBxBZGiAGEFkaDBkLQdSJC0EANgIAQcAAIARB0AFqIAYQAiEHQdSJCygCACHUBkHUiQtBADYCACDUBkEBRg0CQdSJC0EANgIAQcAAIARB6AFqIAcQAiEFQdSJCygCACHVBkHUiQtBADYCACDVBkEBRg0QQdSJC0EANgIAQcAAIARBkAFqIAUQAhpB1IkLKAIAIdYGQdSJC0EANgIAQQIhAyDWBkEBRw0DEAAhAyAFEFkaIAcQWRogBhBZGgwYCyADQQdJDQAgAygCBEEBRw0AAkAgBSgCCCIFIAMoAggiA0cEQEHUiQtBADYCAEGMAyAFIAMQAiHYBkHUiQsoAgAh1wZB1IkLQQA2AgAg1wZBAUYNAyDYBkUNAQtB1IkLQQA2AgBBwAAgBEHQAWogBhACIQdB1IkLKAIAIdkGQdSJC0EANgIAINkGQQFGDQJB1IkLQQA2AgBBwAAgBEHoAWogBxACIQVB1IkLKAIAIdoGQdSJC0EANgIAINoGQQFGDRFB1IkLQQA2AgBBwAAgBEGQAWogBRACGkHUiQsoAgAh2wZB1IkLQQA2AgBBASEDINsGQQFHDQMQACEDIAUQWRogBxBZGiAGEFkaDBgLQdSJC0EANgIAQcAAIARB0AFqIAYQAiEHQdSJCygCACHcBkHUiQtBADYCACDcBkEBRg0BQdSJC0EANgIAQcAAIARB6AFqIAcQAiEFQdSJCygCACHdBkHUiQtBADYCACDdBkEBRg0RQdSJC0EANgIAQcAAIARBkAFqIAUQAhpB1IkLKAIAId4GQdSJC0EANgIAQQIhAyDeBkEBRw0CEAAhAyAFEFkaIAcQWRogBhBZGgwXC0HUiQtBADYCAEENQb//BUG4swJB5AdBq4kEEAVB1IkLKAIAId8GQdSJC0EANgIAIN8GQQFHDRcLEAAhAyAGEFkaDBULIAQgAzoAyAEgBRBZGiAHEFkaCyAGEFkaIAQoAvgCIgMEQCAEKAL8AiIHIAMiBUcEQANAIAdBGGsQWSIHIANHDQALIAQoAvgCIQULIAQgAzYC/AIgBRBaCyAEQeACahBZGiAELQDIAQ4DAQQCAwsQACEDDBILIAAgBCgCkAE2AgBB1IkLQQA2AgBBwAAgAEEIaiAEQZgBahACIeIGQdSJCygCACHgBkHUiQtBADYCACDgBkEBRg0FIABCADcDICAAQQA2AihB1IkLQQA2AgBBuwEgAEEgaiAEKAKwASIDIAQoArQBIgcgByADa0EYbRAFQdSJCygCACHhBkHUiQtBADYCACDhBkEBRw0DEAAhAyDiBhBZGgwQCyACKAIIQQJGBEBB1IkLQQA2AgBBwAAgBEH4AGogBEGQAWoQAiEFQdSJCygCACHjBkHUiQtBADYCACDjBkEBRg0PQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAh5AZB1IkLQQA2AgAg5AZBAUcEQCAFEFkaDAULEAAhAyAFEFkaDBALIAIpAgwh+wdB1IkLQQA2AgBBwAAgBEHgAGogBEGQAWoQAiEFQdSJCygCACHlBkHUiQtBADYCACDlBkEBRg0OQdSJC0EANgIAQcAAIARB2AJqIAUQAiEHQdSJCygCACHmBkHUiQtBADYCACDmBkEBRwRAQdSJC0EANgIAQbcBIAAgB0EBEAQhBkHUiQsoAgAhA0HUiQtBADYCAAJAIANBAUcEQCAHKAIQQQFLDQFB1IkLQQA2AgBBDUGSkwZB5poDQbcFQZu5ARAFQdSJCygCACHnBkHUiQtBADYCACDnBkEBRw0UEAAhAyAGEGggBxBZGiAFEFkaDBILEAAhAyAHEFkaIAUQWRoMEQsgBxBZGiAGIPsHNwMwIAUQWRoMBAsQACEDIAUQWRoMDwtB1IkLQQA2AgBBDUGt7gBB0JUDQfELQZrjAhAFQdSJCygCACHoBkHUiQtBADYCACDoBkEBRw0QDAwLIAIoAghBAkYEQCACKQIMIfsHQdSJC0EANgIAQcAAIARByABqIARBkAFqEAIhBUHUiQsoAgAh6QZB1IkLQQA2AgAg6QZBAUYNDEHUiQtBADYCAEHAACAEQdgCaiAFEAIhB0HUiQsoAgAh6gZB1IkLQQA2AgAg6gZBAUcEQEHUiQtBADYCAEG3ASAAIAdBARAEIQZB1IkLKAIAIQNB1IkLQQA2AgACQCADQQFHBEAgBygCEEEBSw0BQdSJC0EANgIAQQ1BkpMGQeaaA0G3BUGbuQEQBUHUiQsoAgAh6wZB1IkLQQA2AgAg6wZBAUcNExAAIQMgBhBoIAcQWRogBRBZGgwRCxAAIQMgBxBZGiAFEFkaDBALIAcQWRogBiD7BzcDMCAFEFkaDAMLEAAhAyAFEFkaDA4LQdSJC0EANgIAQcAAIARBMGogBEGQAWoQAiEFQdSJCygCACHsBkHUiQtBADYCACDsBkEBRg0LQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAh7QZB1IkLQQA2AgAg7QZBAUcEQCAFEFkaDAILEAAhAyAFEFkaDA0LIAAgBCkDwAE3AzALIAQtAMgBIgNB/wFGDQIgBEGzBTYC8AEgBEG0BTYC7AEgBEG1BTYC6AFB1IkLQQA2AgAgBEHoAWogA0ECdGooAgAgBEHQAWogBEGQAWoQA0HUiQsoAgAh7gZB1IkLQQA2AgAg7gZBAUcNAgw9CxAAIQMMCgsgBEGQAWogASACKAIUEOACIAQoApABIQMCQCAEKALAAQRAIAAgAzYCAEHUiQtBADYCAEHAACAAQQhqIARBmAFqEAIaQdSJCygCACHvBkHUiQtBADYCACDvBkEBRg0DIAAgBCgCsAE2AiAgACAEKAK0ATYCJCAAIAQoArgBNgIoIARBADYCuAEgBEIANwOwASAAIAQpA8ABNwMwDAELIAQoArQBIAQoArABa0EYbSADakEBRwRAQdSJC0EANgIAQQ1Bh8EFQdCVA0HHAEGY1wMQBUHUiQsoAgAh8AZB1IkLQQA2AgAg8AZBAUcNDQwHCyAEQZgBaiEFIAQoAqgBIQMgAigCCEUEQAJAIANBB0kNACADKAIEQQFHDQAgAygCCEF8cUEMRw0AIAIpAgwh+wcgAEIANwMoIABCADcDICAAQgA3AxggAEIANwMQIABCADcDCCAAQgA3AwAgACD7BzcDMAwCC0HUiQtBADYCAEHAACAEQRhqIAUQAiEFQdSJCygCACHxBkHUiQtBADYCACDxBkEBRg0HQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAh8gZB1IkLQQA2AgAg8gZBAUcEQCAFEFkaDAILEAAhAyAFEFkaDAgLAkAgA0EHSQ0AIAMoAgRBAUcNACADKAIIQXxxQQxHDQAgAEIANwMAIABCADcDMCAAQgA3AyggAEIANwMgIABCADcDGCAAQgA3AxAgAEIANwMIDAELIAIpAgwh+wdB1IkLQQA2AgBBwAAgBCAFEAIhBUHUiQsoAgAh8wZB1IkLQQA2AgAg8wZBAUYNBkHUiQtBADYCAEHAACAEQdgCaiAFEAIhB0HUiQsoAgAhA0HUiQtBADYCAAJAIANBAUcEQEHUiQtBADYCAEG3ASAAIAdBARAEIQZB1IkLKAIAIfQGQdSJC0EANgIAIPQGQQFHBEAgBygCEEEBSw0CQdSJC0EANgIAQQ1BkpMGQeaaA0G3BUGbuQEQBUHUiQsoAgAh9QZB1IkLQQA2AgAg9QZBAUcNDxAAIQMgBhBoIAcQWRogBRBZGgwKCxAAIQMgBxBZGiAFEFkaDAkLEAAhAyAFEFkaDAgLIAcQWRogBiD7BzcDMCAFEFkaCyAEKAKwASIFBEAgBCgCtAEiByAFIgNHBEADQCAHQRhrEFkiByAFRw0ACyAEKAKwASEDCyAEIAU2ArQBIAMQWgsgBEGYAWoQWRoLIARBkANqJAAMCwsQACEDDAQLEAAhAyAHEFkaIAYQWRoMBwsQACEDIAcQWRogBhBZGgwGCxAAIQMgBxBZGiAGEFkaDAULEAAhAwsgBEGQAWoQaAwvCxAAIQMMAQsQACEDCyAEQZABahD0CwwsCyAEQdgCahBoDCsLAAsMHwsjAEGAAWsiBCQAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAigCBCIDQQFGBEAgAigCDCIIBEAgAEEIaiEJA0AgAigCDCAGTQ0+IAAgASACKAIIIAZBAnRqKAIAEOACIAAoAjANAyAAKAIgIgUEQCAAKAIkIgcgBSIDRwRAA0AgB0EYaxBZIgcgBUcNAAsgACgCICEDCyAAIAU2AiQgAxBaCyAJEFkaIAZBAWoiBiAIRw0ACwtBpc0EQdCVA0GbDBBiAAsgA0EHSQ08IAMoAgRBAUcNPCADKAIIIghBEEkNCCAIKAIQQQJHDQggCCgCGCEDIAgoAhQhBSAEQQA2AmggBEIANwNgIARBADYCeCAEQgA3A1ggBEIANwNwIAQgAyAFRzYCUCAEQdgAaiEJAkAgAyAFa0EMbSIDQQJJDQBB1IkLQQA2AgBBtgUgBEHwAGoiBSADQQFrEANB1IkLKAIAIfYGQdSJC0EANgIAIPYGQQFHDQAQACEAIAUQnwQMOQsCQCAIKAIUIgcgCCgCGEcEQCAAQQhqIQoDQCAHIAZBDGxqIQMCQCACKAIMIgVFBEAgAygCACEFQdSJC0EANgIAQbcFIARBOGoiAyAFEANB1IkLKAIAIQVB1IkLQQA2AgACQCAFQQFHBEAgAyAEKAJwIAZBGGxqQRhrIAkgBhsiBUcEQCAFEFkhBUHUiQtBADYCAEHAACAFIAMQAhpB1IkLKAIAIfcGQdSJC0EANgIAIPcGQQFGDQILIARBOGoQWRoMAwsQACEHDBELEAAhByAEQThqEFkaDBALIAUgBk0EQEHUiQtBADYCAEENQcWiAUGJogNBvAFBpogFEAVB1IkLKAIAIfgGQdSJC0EANgIAIPgGQQFGDQ8MDgsgAigCCCAGQQJ0aigCACEFQdSJC0EANgIAQfECIAAgASAFEAhB1IkLKAIAIfkGQdSJC0EANgIAIPkGQQFGDQsgACgCMA0DIAAoAgAgACgCJCAAKAIga0EYbWpBAUcEQEHUiQtBADYCAEENQYfBBUHQlQNBxwBBmNcDEAVB1IkLKAIAIfoGQdSJC0EANgIAIPoGQQFHDQ4QACEHIAAQaAwQC0HUiQtBADYCAEHAACAEQSBqIAoQAiEFQdSJCygCACH7BkHUiQtBADYCACD7BkEBRg0FIAMoAgQhByADKAIAIQtB1IkLQQA2AgBBuAUgBEE4aiIDIAUgCyAHEAVB1IkLKAIAIfwGQdSJC0EANgIAIPwGQQFGDQYgAyAEKAJwIAZBGGxqQRhrIAkgBhsiB0cEQCAHEFkhB0HUiQtBADYCAEHAACAHIAMQAhpB1IkLKAIAIf0GQdSJC0EANgIAIP0GQQFGDQgLIARBOGoQWRogBRBZGiAAKAIgIgUEQCAAKAIkIgcgBSIDRwRAA0AgB0EYaxBZIgcgBUcNAAsgACgCICEDCyAAIAU2AiQgAxBaCyAKEFkaCyAGQQFqIgYgCCgCGCAIKAIUIgdrQQxtSQ0ACwsgAigCBCEFQdSJC0EANgIAQbkFIARBCGoiAyAEQdAAaiAFEAhB1IkLKAIAIf4GQdSJC0EANgIAIP4GQQFGDQZB1IkLQQA2AgBBnAMgACADEAIaQdSJCygCACH/BkHUiQtBADYCACD/BkEBRg0HIAMQWRoLIAQoAnAiAwRAIAQoAnQiByADIgVHBEADQCAHQRhrEFkiByADRw0ACyAEKAJwIQULIAQgAzYCdCAFEFoLIAkQWRoLIARBgAFqJAAMCwsQACEHIAAQaAwJCxAAIQcMAQsQACEHIARBOGoQWRoLIAUQWRogABBoDAYLEAAhBwwFCxAAIQcgBEEIahBZGgwECxAAIQcMAwtBmfkFQbizAkHlCUHohgEQAQALAAsQACEHCyAEQdAAahBoDCULDB4LIwBB8ABrIgQkACAEQThqIAEgAigCDBDgAgJAAkACQAJAIAQoAmgEQCAAIAQoAjg2AgBB1IkLQQA2AgBBwAAgAEEIaiAEQUBrEAIaQdSJCygCACGAB0HUiQtBADYCACCAB0EBRg0BIAAgBCgCWDYCICAAIAQoAlw2AiQgACAEKAJgNgIoIARBADYCYCAEQgA3A1ggACAEKQNoNwMwDAQLIAQoAjggBCgCXCAEKAJYa0EYbWpBAUcEQEHUiQtBADYCAEENQYfBBUHQlQNBxwBBmNcDEAVB1IkLKAIAIYEHQdSJC0EANgIAIIEHQQFGDQIMAwtB1IkLQQA2AgBBugUgBEEwaiAEQUBrEANB1IkLKAIAIYIHQdSJC0EANgIAIIIHQQFGDQECQAJAIAQoAjAiBQ0AIAEoAgAoAgghgwdB1IkLQQA2AgAggwcgAUHBswMQA0HUiQsoAgAhhAdB1IkLQQA2AgAghAdBAUcNABAAIQcMAQtBq4kEIQNB5AchB0G//wUhBgJAAkAgAigCDCgCBCIIQQdJDQAgCCgCBEEBRw0AQeiGASEDQeUJIQdBmfkFIQYgCCgCCCIIQRBJDQAgCCgCEEECRg0BC0HUiQtBADYCAEENIAZBuLMCIAcgAxAFQdSJCygCACGFB0HUiQtBADYCACCFB0EBRw0EEAAhBwwBCyAIKAIUIAIoAggiA0EMbGoiBygCBCEGIAcoAgAhByAFKAIoIQhB1IkLQQA2AgBBwAAgBCAIIANBGGxqQRhrIAVBEGogAxsQAiEDQdSJCygCACEFQdSJC0EANgIAAkACQAJAIAVBAUcEQCACLQAQIQhB1IkLQQA2AgBBuwUgBEEYaiIFIAMgByAGIAgQDEHUiQsoAgAhhgdB1IkLQQA2AgAghgdBAUYNAUHUiQtBADYCAEGcAyAAIAUQAhpB1IkLKAIAIYcHQdSJC0EANgIAIIcHQQFGDQIgBRBZGiADEFkaAkAgBCgCNCIDRQ0AIAMgAygCBCIFQQFrNgIEIAUNACADIAMoAgAoAggRAQAgAxB1CyAEKAJYIgVFDQggBCgCXCIHIAUiA0cEQANAIAdBGGsQWSIHIAVHDQALIAQoAlghAwsgBCAFNgJcIAMQWgwICxAAIQcMAwsQACEHDAELEAAhByAEQRhqEFkaCyADEFkaCyAEQTBqEMMCDCQLEAAhBwwjCxAAIQcMIgsACyAEQUBrEFkaIARB8ABqJAAMHQsjAEGwAWsiBCQAIARB+ABqIAEgAigCDBDgAgJAAkACQAJAAkACQAJAAkAgBCgCqAEEQCAAIAQoAng2AgBB1IkLQQA2AgBBwAAgAEEIaiAEQYABahACGkHUiQsoAgAhiAdB1IkLQQA2AgAgiAdBAUYNASAAIAQoApgBNgIgIAAgBCgCnAE2AiQgACAEKAKgATYCKCAEQQA2AqABIARCADcDmAEgACAEKQOoATcDMAwICyACKAIQIQNB1IkLQQA2AgBB8QIgBEFAayABIAMQCEHUiQsoAgAhA0HUiQtBADYCAAJAAkAgA0EBRwRAIAQoAnBFDQEgACAEKAJANgIAQdSJC0EANgIAQcAAIABBCGogBEHIAGoQAhpB1IkLKAIAIYkHQdSJC0EANgIAIIkHQQFGDQIgACAEKAJgNgIgIAAgBCgCZDYCJCAAIAQoAmg2AiggBEEANgJoIARCADcDYCAAIAQpA3A3AzAMCQsQACEHDCoLIAQoAnggBCgCnAEgBCgCmAFrQRhtakEBRwRAQdSJC0EANgIAQQ1Bh8EFQdCVA0HHAEGY1wMQBUHUiQsoAgAhigdB1IkLQQA2AgAgigdBAUYNAwwHC0HUiQtBADYCAEG6BSAEQThqIARBgAFqEANB1IkLKAIAIYsHQdSJC0EANgIAIIsHQQFGDQICQCAEKAI4IgUNACABKAIAKAIIIYwHQdSJC0EANgIAIIwHIAFBwbMDEANB1IkLKAIAIY0HQdSJC0EANgIAII0HQQFHDQAQACEHDAULQauJBCEDQeQHIQdBv/8FIQYCQAJAIAIoAgwoAgQiCEEHSQ0AIAgoAgRBAUcNAEHohgEhA0HlCSEHQZn5BSEGIAgoAggiCEEQSQ0AIAgoAhBBAkYNAQtB1IkLQQA2AgBBDSAGQbizAiAHIAMQBUHUiQsoAgAhjgdB1IkLQQA2AgAgjgdBAUcNBxAAIQcMBQsgBCgCQCAEKAJkIAQoAmBrQRhtakEBRwRAQdSJC0EANgIAQQ1Bh8EFQdCVA0HHAEGY1wMQBUHUiQsoAgAhjwdB1IkLQQA2AgAgjwdBAUcNBwwECyAIKAIUIAIoAghBDGxqIgMoAgQhBiADKAIAIQhB1IkLQQA2AgBBwAAgBEEIaiAEQcgAahACIQNB1IkLKAIAIZAHQdSJC0EANgIAIJAHQQFGDQNB1IkLQQA2AgBBuAUgBEEgaiIHIAMgCCAGEAVB1IkLKAIAIQZB1IkLQQA2AgACQAJAIAZBAUcEQCAHIAUoAiggAigCCCIGQRhsakEYayAFQRBqIAYbIgVHBEAgBRBZIQVB1IkLQQA2AgBBwAAgBSAHEAIaQdSJCygCACGRB0HUiQtBADYCACCRB0EBRg0CCyAEQSBqEFkaIAMQWRogAEIANwMwIABCADcDKCAAQgA3AyAgAEIANwMYIABCADcDECAAQgA3AwggAEIANwMAAkAgBCgCPCIDRQ0AIAMgAygCBCIFQQFrNgIEIAUNACADIAMoAgAoAggRAQAgAxB1CyAEKAJgIgVFDQogBCgCZCIHIAUiA0cEQANAIAdBGGsQWSIHIAVHDQALIAQoAmAhAwsgBCAFNgJkIAMQWgwKCxAAIQcMAQsQACEHIARBIGoQWRoLIAMQWRoMBAsQACEHDAQLEAAhBwwnCxAAIQcMAgsQACEHCyAEQThqEMMCCyAEQUBrEGgMIwsACyAEQcgAahBZGiAEKAKYASIFRQ0AIAQoApwBIgcgBSIDRwRAA0AgB0EYaxBZIgcgBUcNAAsgBCgCmAEhAwsgBCAFNgKcASADEFoLIARBgAFqEFkaIARBsAFqJAAMHAsjAEHwAWsiBCQAIARCADcD6AEgBEIANwPgASAEQgA3A9gBIARCADcD0AEgBEIANwPIASAEQgA3A8ABIARCADcDuAECQAJAAkACQAJAAkACQAJAAkACQAJAIAIoAggiA0UNAEHUiQtBADYCAEHxAiAEQYABaiABIAMQCEHUiQsoAgAhkgdB1IkLQQA2AgAgkgdBAUYNASAEIAQoAoABNgK4ASAEQcABahBZIQNB1IkLQQA2AgBBwAAgAyAEQYgBaiIGEAIhCEHUiQsoAgAhA0HUiQtBADYCAAJAIANBAUcEQCAEKALYASIFBEAgBCgC3AEiByAFIgNHBEADQCAHQRhrEFkiByAFRw0ACyAEKALYASEDCyAEIAU2AtwBIAMQWgsgBCkCpAEh+wcgBEEANgKoASAEIPsHNwLcASAEIAQoAqABNgLYASAEIAQpA7ABNwPoASAEQgA3A6ABIAYQWRogBCgC6AFFDQIgACAEKAK4ATYCAEHUiQtBADYCAEHAACAAQQhqIAgQAhpB1IkLKAIAIZMHQdSJC0EANgIAIJMHQQFGDQEgACAEKALYATYCICAAIAQoAtwBNgIkIAAgBCgC4AE2AiggBEEANgLgASAEQgA3A9gBIAAgBCkD6AE3AzAMDAsQACEFIARBgAFqEGgMCAsQACEFDAcLIAIoAgwhA0HUiQtBADYCAEHxAiAEQYABaiABIAMQCEHUiQsoAgAhA0HUiQtBADYCAAJAAkAgA0EBRwRAIAQoArABRQ0BIAAgBCgCgAE2AgBB1IkLQQA2AgBBwAAgAEEIaiAEQYgBahACGkHUiQsoAgAhlAdB1IkLQQA2AgAglAdBAUYNAiAAIAQoAqABNgIgIAAgBCgCpAE2AiQgACAEKAKoATYCKCAEQQA2AqgBIARCADcDoAEgACAEKQOwATcDMAwLCxAAIQUMCAsgAigCBCIDQQFGBEAgAigCCCEDQdSJC0EANgIAQfECIAAgASADEAhB1IkLKAIAIZUHQdSJC0EANgIAIJUHQQFGDQEgACgCMA0KQdSJC0EANgIAQQ1BzP0FQdCVA0HmDEGAOhAFQdSJCygCACGWB0HUiQtBADYCACCWB0EBRw0JEAAhBSAAEGgMBwsCQCADQQdPBEAgAygCBEEBRg0BC0HUiQtBADYCAEENQb//BUG4swJB5AdBq4kEEAVB1IkLKAIAIZcHQdSJC0EANgIAIJcHQQFHDQkQACEFDAcLAkAgAygCCCIDQRBPBEAgAygCEEEDRg0BC0HUiQtBADYCAEENQf/3BUG4swJB6glB5yMQBUHUiQsoAgAhmAdB1IkLQQA2AgAgmAdBAUcNCRAAIQUMBwsCQAJAAkACfyAEKAKAASAEKAKkASAEKAKgAWtBGG1qQQFHBEBBmNcDIQdBxwAhBUGHwQUhAEHQlQMMAQsgBCgCmAFBAkYNAUGirgUhB0GYAiEFQZmxBSEAQeaaAwshAUHUiQtBADYCAEENIAAgASAFIAcQBUHUiQsoAgAhmQdB1IkLQQA2AgAgmQdBAUYNAQwLCyADKAIUIQMgBCgCiAEiBkGq1aoVSQ0BIAEoAgAoAgwhmgdB1IkLQQA2AgAgmgcgAUGZ4wMQA0HUiQsoAgAhmwdB1IkLQQA2AgAgmwdBAUcNAQsQACEFDAcLIARBADYCaCAEQgA3A2AgBEEANgJ4IARCADcDWCAEQgA3A3AgBCAGQQBHNgJQIARB2ABqIQgCQCAGQQJJDQBB1IkLQQA2AgBBtgUgBEHwAGoiByAGQQFrEANB1IkLKAIAIZwHQdSJC0EANgIAIJwHQQFHDQAQACEFIAcQnwQgCBBZGgwHCwJAAkACQAJAIAIoAghFBEBB1IkLQQA2AgBBtwUgBEE4aiIFIAMQA0HUiQsoAgAhnQdB1IkLQQA2AgAgnQdBAUYNByAGRQ0BIAgQWSEDQdSJC0EANgIAQcAAIAMgBRACGkHUiQsoAgAhA0HUiQtBADYCAEEBIQcCQCADQQFGDQAgBkEBRg0CA0AgBCgCcCAHQRhsakEYayIDIARBOGoiBUcEQCADEFkhA0HUiQtBADYCAEHAACADIAUQAhpB1IkLKAIAIZ4HQdSJC0EANgIAIJ4HQQFGDQILIAdBAWoiByAGRw0ACwwCCxAAIQUgBEE4ahBZGgwKC0GriQQhBUHkByEDQb//BSEJAkACQCACKAIEIgdBB0kNACAHKAIEQQFHDQBB5yMhBUHqCSEDQf/3BSEJIAcoAggiB0EQSQ0AIAcoAhBBA0YNAQtB1IkLQQA2AgBBDSAJQbizAiADIAUQBUHUiQsoAgAhnwdB1IkLQQA2AgAgnwdBAUcNDRAAIQUMCgsgBCgCuAEgBCgC3AEgBCgC2AFrQRhtakEBRwRAQdSJC0EANgIAQQ1Bh8EFQdCVA0HHAEGY1wMQBUHUiQsoAgAhoAdB1IkLQQA2AgAgoAdBAUcNDQwJCyAHKAIYIQUgBygCFCEHQdSJC0EANgIAQcAAIARBIGogBEHAAWoQAiEDQdSJCygCACGhB0HUiQtBADYCACChB0EBRg0IQdSJC0EANgIAQbgFIARBOGoiCSADIAcgBRAFQdSJCygCACGiB0HUiQtBADYCACCiB0EBRg0HIAMQWRoCQCAGRQ0AIAgQWSEDQdSJC0EANgIAQcAAIAMgCRACGkHUiQsoAgAhowdB1IkLQQA2AgBBASEHIKMHQQFGDQIgBkEBRg0AA0AgBCgCcCAHQRhsakEYayIDIARBOGoiBUcEQCADEFkhA0HUiQtBADYCAEHAACADIAUQAhpB1IkLKAIAIaQHQdSJC0EANgIAIKQHQQFGDQQLIAdBAWoiByAGRw0ACwsLIARBOGoQWRogAigCBCEFQdSJC0EANgIAQbkFIARBCGoiAyAEQdAAaiAFEAhB1IkLKAIAIaUHQdSJC0EANgIAIKUHQQFGDQFB1IkLQQA2AgBBnAMgACADEAIaQdSJCygCACGmB0HUiQtBADYCACCmB0EBRg0CIAMQWRogBCgCcCIFBEAgBCgCdCIHIAUiA0cEQANAIAdBGGsQWSIHIAVHDQALIAQoAnAhAwsgBCAFNgJ0IAMQWgsgCBBZGgwMCxAAIQUgBEE4ahBZGgwHCxAAIQUMBgsQACEFIARBCGoQWRoMBQsQACEFDAULEAAhBQwFCxAAIQUMAgsQACEFIAMQWRoMAQsQACEFCyAEQdAAahBoCyAEQYABahBoCyAEQbgBahBoIAUQBwALAAsgBCgCoAEiBQRAIAQoAqQBIgcgBSIDRwRAA0AgB0EYaxBZIgcgBUcNAAsgBCgCoAEhAwsgBCAFNgKkASADEFoLIARBiAFqEFkaIAQoAtgBIgVFDQAgBCgC3AEiByAFIgNHBEADQCAHQRhrEFkiByAFRw0ACyAEKALYASEDCyAEIAU2AtwBIAMQWgsgBEHAAWoQWRogBEHwAWokAAwbC0GIrQspAwAh+wcgAEIANwMoIABCADcDICAAQgA3AxggAEIANwMQIABCADcDCCAAQgA3AwAgACD7BzcDMAwaC0GIrQspAwAh+wcgAEIANwMoIABCADcDICAAQgA3AxggAEIANwMQIABCADcDCCAAQgA3AwAgACD7BzcDMAwZCyMAQYABayIEJAAgAigCDCIIQarVqhVPBEAgAUGZ4wMgASgCACgCDBEAAAsCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCACKAIEIgdBAUYEQCACKAIMIggEQCAAQQhqIQkDQCACKAIMIAZNDTggACABIAIoAgggBkECdGooAgAQ4AIgACgCMA0DIAAoAiAiBQRAIAAoAiQiByAFIgNHBEADQCAHQRhrEFkiByAFRw0ACyAAKAIgIQMLIAAgBTYCJCADEFoLIAkQWRogBkEBaiIGIAhHDQALC0GlzQRB0JUDQY8NEGIACyAHQQdJDTYgBygCBEEBRw02IAcoAggiA0EQSQ0IIAMoAhBBA0cNCCADKAIYIQsgAygCFCEMIARBADYCaCAEQgA3A2AgBEEANgJ4IARCADcDWCAEQgA3A3AgBCAIQQBHNgJQIARB2ABqIQkCQAJAAkAgCEECTwRAQdSJC0EANgIAQbYFIARB8ABqIgMgCEEBaxADQdSJCygCACGnB0HUiQtBADYCACCnB0EBRw0BEAAhACADEJ8EDDYLIAhFDQELIABBCGohCgNAIAYgAigCDE8EQEHUiQtBADYCAEENQcWiAUGJogNBvAFBpogFEAVB1IkLKAIAIagHQdSJC0EANgIAIKgHQQFGDQ0MDwsgAigCCCAGQQJ0aigCACEDQdSJC0EANgIAQfECIAAgASADEAhB1IkLKAIAIakHQdSJC0EANgIAIKkHQQFGDQogACgCMA0CIAAoAgAgACgCJCAAKAIga0EYbWpBAUcEQEHUiQtBADYCAEENQYfBBUHQlQNBxwBBmNcDEAVB1IkLKAIAIaoHQdSJC0EANgIAIKoHQQFHDQ8QACEBIAAQaAwOC0HUiQtBADYCAEHAACAEQSBqIAoQAiEDQdSJCygCACGrB0HUiQtBADYCACCrB0EBRg0EQdSJC0EANgIAQbgFIARBOGoiBSADIAwgCxAFQdSJCygCACGsB0HUiQtBADYCACCsB0EBRg0FIAUgBCgCcCAGQRhsakEYayAJIAYbIgdHBEAgBxBZIQdB1IkLQQA2AgBBwAAgByAFEAIaQdSJCygCACGtB0HUiQtBADYCACCtB0EBRg0HCyAEQThqEFkaIAMQWRogACgCICIFBEAgACgCJCIHIAUiA0cEQANAIAdBGGsQWSIHIAVHDQALIAAoAiAhAwsgACAFNgIkIAMQWgsgChBZGiAGQQFqIgYgCEcNAAsgAigCBCEHC0HUiQtBADYCAEG5BSAEQQhqIgMgBEHQAGogBxAIQdSJCygCACGuB0HUiQtBADYCACCuB0EBRg0GQdSJC0EANgIAQZwDIAAgAxACGkHUiQsoAgAhrwdB1IkLQQA2AgAgrwdBAUYNByADEFkaCyAEKAJwIgMEQCAEKAJ0IgcgAyIFRwRAA0AgB0EYaxBZIgcgA0cNAAsgBCgCcCEFCyAEIAM2AnQgBRBaCyAJEFkaCyAEQYABaiQADAsLEAAhASAAEGgMCAsQACEBDAELEAAhASAEQThqEFkaCyADEFkaIAAQaAwFCxAAIQEMBAsQACEBIARBCGoQWRoMAwsQACEBDAILQf/3BUG4swJB6glB5yMQAQALEAAhAQsgBEHQAGoQaCABEAcACwALDBgLIwBBsAFrIgQkACAEQfgAaiABIAIoAggQ4AICQAJAAkACQAJAAkAgBCgCqAEEQCAAIAQoAng2AgBB1IkLQQA2AgBBwAAgAEEIaiAEQYABahACGkHUiQsoAgAhsAdB1IkLQQA2AgAgsAdBAUYNASAAIAQoApgBNgIgIAAgBCgCnAE2AiQgACAEKAKgATYCKCAEQQA2AqABIARCADcDmAEgACAEKQOoATcDMAwGCyACKAIMIQNB1IkLQQA2AgBB8QIgBEFAayABIAMQCEHUiQsoAgAhA0HUiQtBADYCAAJAAkAgA0EBRwRAIAQoAnBFDQEgACAEKAJANgIAQdSJC0EANgIAQcAAIABBCGogBEHIAGoQAhpB1IkLKAIAIbEHQdSJC0EANgIAILEHQQFGDQIgACAEKAJgNgIgIAAgBCgCZDYCJCAAIAQoAmg2AiggBEEANgJoIARCADcDYCAAIAQpA3A3AzAMBwsQACEHDCMLIAQoAnggBCgCnAEgBCgCmAFrQRhtakEBRwRAQdSJC0EANgIAQQ1Bh8EFQdCVA0HHAEGY1wMQBUHUiQsoAgAhsgdB1IkLQQA2AgAgsgdBAUYNAwwFC0HUiQtBADYCAEG6BSAEQThqIARBgAFqEANB1IkLKAIAIbMHQdSJC0EANgIAILMHQQFGDQICQAJAIAQoAjgiAw0AIAEoAgAoAgghtAdB1IkLQQA2AgAgtAcgAUHBswMQA0HUiQsoAgAhtQdB1IkLQQA2AgAgtQdBAUcNABAAIQcMAQsCQAJAAkACfyAEKAJAIAQoAmQgBCgCYGtBGG1qQQFHBEBBxwAhAEHQlQMhA0GHwQUhAUGY1wMMAQsgBCgCWEECRg0BQZgCIQBB5poDIQNBmbEFIQFBoq4FCyECQdSJC0EANgIAQQ0gASADIAAgAhAFQdSJCygCACG2B0HUiQtBADYCACC2B0EBRw0IDAELIAQoAkgiByADKAIIIAMoAiwgAygCKGtBGG1qSQ0BIAEoAgAoAgghtwdB1IkLQQA2AgAgtwcgAUHx7AQQA0HUiQsoAgAhuAdB1IkLQQA2AgAguAdBAUcNAQsQACEHDAELQauJBCEGQeQHIQhBv/8FIQkCQAJAIAIoAggoAgQiBUEHSQ0AIAUoAgRBAUcNAEHnIyEGQeoJIQhB//cFIQkgBSgCCCIFQRBJDQAgBSgCEEEDRg0BC0HUiQtBADYCAEENIAlBuLMCIAggBhAFQdSJCygCACG5B0HUiQtBADYCACC5B0EBRw0GEAAhBwwBCyAFKAIYIQYgBSgCFCEIIAMoAighBUHUiQtBADYCAEHAACAEQQhqIAUgB0EYbGpBGGsgA0EQaiAHGxACIQNB1IkLKAIAIQVB1IkLQQA2AgACQAJAAkAgBUEBRwRAIAItABAhB0HUiQtBADYCAEG7BSAEQSBqIgUgAyAIIAYgBxAMQdSJCygCACG6B0HUiQtBADYCACC6B0EBRg0BQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAhuwdB1IkLQQA2AgAguwdBAUYNAiAFEFkaIAMQWRoCQCAEKAI8IgNFDQAgAyADKAIEIgVBAWs2AgQgBQ0AIAMgAygCACgCCBEBACADEHULIAQoAmAiBUUNCiAEKAJkIgcgBSIDRwRAA0AgB0EYaxBZIgcgBUcNAAsgBCgCYCEDCyAEIAU2AmQgAxBaDAoLEAAhBwwDCxAAIQcMAQsQACEHIARBIGoQWRoLIAMQWRoLIARBOGoQwwIMAwsQACEHDAILEAAhBwwgCxAAIQcLIARBQGsQaAweCwALIARByABqEFkaIAQoApgBIgVFDQAgBCgCnAEiByAFIgNHBEADQCAHQRhrEFkiByAFRw0ACyAEKAKYASEDCyAEIAU2ApwBIAMQWgsgBEGAAWoQWRogBEGwAWokAAwXCyMAQeABayIEJAAgBEGoAWogASACKAIIEOACAkACQAJAAkACQAJAAkACQAJAAkACQCAEKALYAQRAIAAgBCgCqAE2AgBB1IkLQQA2AgBBwAAgAEEIaiAEQbABahACGkHUiQsoAgAhvAdB1IkLQQA2AgAgvAdBAUYNASAAIAQoAsgBNgIgIAAgBCgCzAE2AiQgACAEKALQATYCKCAEQQA2AtABIARCADcDyAEgACAEKQPYATcDMAwLCyACKAIMIQNB1IkLQQA2AgBB8QIgBEHwAGogASADEAhB1IkLKAIAIQNB1IkLQQA2AgACQAJAIANBAUcEQCAEKAKgAUUNASAAIAQoAnA2AgBB1IkLQQA2AgBBwAAgAEEIaiAEQfgAahACGkHUiQsoAgAhvQdB1IkLQQA2AgAgvQdBAUYNAiAAIAQoApABNgIgIAAgBCgClAE2AiQgACAEKAKYATYCKCAEQQA2ApgBIARCADcDkAEgACAEKQOgATcDMAwMCxAAIQcMCAsgAigCECEDQdSJC0EANgIAQfECIARBOGogASADEAhB1IkLKAIAIQNB1IkLQQA2AgACQAJAIANBAUcEQCAEKAJoRQ0BIAAgBCgCODYCAEHUiQtBADYCAEHAACAAQQhqIARBQGsQAhpB1IkLKAIAIb4HQdSJC0EANgIAIL4HQQFGDQIgACAEKAJYNgIgIAAgBCgCXDYCJCAAIAQoAmA2AiggBEEANgJgIARCADcDWCAAIAQpA2g3AzAMDAsQACEHDAgLIAQoAqgBIAQoAswBIAQoAsgBa0EYbWpBAUcEQEHUiQtBADYCAEENQYfBBUHQlQNBxwBBmNcDEAVB1IkLKAIAIb8HQdSJC0EANgIAIL8HQQFGDQQMCgtB1IkLQQA2AgBBugUgBEEwaiAEQbABahADQdSJCygCACHAB0HUiQtBADYCACDAB0EBRg0DAkAgBCgCMCIDDQAgASgCACgCCCHBB0HUiQtBADYCACDBByABQcGzAxADQdSJCygCACHCB0HUiQtBADYCACDCB0EBRw0AEAAhBwwGCwJAAkACQAJ/IAQoAnAgBCgClAEgBCgCkAFrQRhtakEBRwRAQccAIQBB0JUDIQNBh8EFIQFBmNcDDAELIAQoAogBQQJGDQFBmAIhAEHmmgMhA0GZsQUhAUGirgULIQJB1IkLQQA2AgBBDSABIAMgACACEAVB1IkLKAIAIcMHQdSJC0EANgIAIMMHQQFHDQwMAQsgBCgCeCIHIAMoAgggAygCLCADKAIoa0EYbWpJDQEgASgCACgCCCHEB0HUiQtBADYCACDEByABQfHsBBADQdSJCygCACHFB0HUiQtBADYCACDFB0EBRw0BCxAAIQcMBgtBq4kEIQZB5AchCEG//wUhCQJAAkAgAigCCCgCBCIFQQdJDQAgBSgCBEEBRw0AQecjIQZB6gkhCEH/9wUhCSAFKAIIIgVBEEkNACAFKAIQQQNGDQELQdSJC0EANgIAQQ0gCUG4swIgCCAGEAVB1IkLKAIAIcYHQdSJC0EANgIAIMYHQQFHDQoQACEHDAYLIAQoAjggBCgCXCAEKAJYa0EYbWpBAUcEQEHUiQtBADYCAEENQYfBBUHQlQNBxwBBmNcDEAVB1IkLKAIAIccHQdSJC0EANgIAIMcHQQFHDQoMBQsgBSgCGCEIIAUoAhQhCUHUiQtBADYCAEHAACAEIARBQGsQAiEFQdSJCygCACHIB0HUiQtBADYCACDIB0EBRg0EQdSJC0EANgIAQbgFIARBGGoiBiAFIAkgCBAFQdSJCygCACEIQdSJC0EANgIAAkACQCAIQQFHBEAgBiADKAIoIAdBGGxqQRhrIANBEGogBxsiA0cEQCADEFkhA0HUiQtBADYCAEHAACADIAYQAhpB1IkLKAIAIckHQdSJC0EANgIAIMkHQQFGDQILIARBGGoQWRogBRBZGiAAQgA3AzAgAEIANwMoIABCADcDICAAQgA3AxggAEIANwMQIABCADcDCCAAQgA3AwACQCAEKAI0IgNFDQAgAyADKAIEIgVBAWs2AgQgBQ0AIAMgAygCACgCCBEBACADEHULIAQoAlgiBUUNDSAEKAJcIgcgBSIDRwRAA0AgB0EYaxBZIgcgBUcNAAsgBCgCWCEDCyAEIAU2AlwgAxBaDA0LEAAhBwwBCxAAIQcgBEEYahBZGgsgBRBZGgwFCxAAIQcMBQsQACEHDAULEAAhBwwFCxAAIQcMAgsQACEHCyAEQTBqEMMCCyAEQThqEGgLIARB8ABqEGgLIARBqAFqEGgMIAsACyAEQUBrEFkaIAQoApABIgVFDQAgBCgClAEiByAFIgNHBEADQCAHQRhrEFkiByAFRw0ACyAEKAKQASEDCyAEIAU2ApQBIAMQWgsgBEH4AGoQWRogBCgCyAEiBUUNACAEKALMASIHIAUiA0cEQANAIAdBGGsQWSIHIAVHDQALIAQoAsgBIQMLIAQgBTYCzAEgAxBaCyAEQbABahBZGiAEQeABaiQADBYLIwBB4ABrIgQkACAEQShqIAEgAigCCBDgAgJAAkACQAJAIAQoAlgEQCAAIAQoAig2AgBB1IkLQQA2AgBBwAAgAEEIaiAEQTBqEAIaQdSJCygCACHKB0HUiQtBADYCACDKB0EBRg0BIAAgBCgCSDYCICAAIAQoAkw2AiQgACAEKAJQNgIoIARBADYCUCAEQgA3A0ggACAEKQNYNwMwDAQLIAQoAiggBCgCTCAEKAJIa0EYbWpBAUcEQEHUiQtBADYCAEENQYfBBUHQlQNBxwBBmNcDEAVB1IkLKAIAIcsHQdSJC0EANgIAIMsHQQFGDQIAC0HUiQtBADYCAEG6BSAEQSBqIARBMGoQA0HUiQsoAgAhzAdB1IkLQQA2AgAgzAdBAUYNAQJAAkAgBCgCICIDDQAgASgCACgCCCHNB0HUiQtBADYCACDNByABQcGzAxADQdSJCygCACHOB0HUiQtBADYCACDOB0EBRw0AEAAhBwwBCyADKAIoIQUgAygCLCEHIAMoAgghAyAEQQI2AhhB1IkLQQA2AgAgBCADIAcgBWtBGG1qNgIIQZwDIAAgBEEIaiIDEAIaQdSJCygCACHPB0HUiQtBADYCACDPB0EBRwRAIAMQWRoCQCAEKAIkIgNFDQAgAyADKAIEIgVBAWs2AgQgBQ0AIAMgAygCACgCCBEBACADEHULIAQoAkgiA0UNBSAEKAJMIgcgAyIFRwRAA0AgB0EYaxBZIgcgA0cNAAsgBCgCSCEFCyAEIAM2AkwgBRBaDAULEAAhByAEQQhqEFkaCyAEQSBqEMMCDAILEAAhBwwBCxAAIQcLIARBKGoQaAwcCyAEQTBqEFkaIARB4ABqJAAMFQtBiK0LKQMAIfsHIABCADcDKCAAQgA3AyAgAEIANwMYIABCADcDECAAQgA3AwggAEIANwMAIAAg+wc3AzAMFAtBiK0LKQMAIfsHIABCADcDKCAAQgA3AyAgAEIANwMYIABCADcDECAAQgA3AwggAEIANwMAIAAg+wc3AzAMEwtBiK0LKQMAIfsHIABCADcDKCAAQgA3AyAgAEIANwMYIABCADcDECAAQgA3AwggAEIANwMAIAAg+wc3AzAMEgtBiK0LKQMAIfsHIABCADcDKCAAQgA3AyAgAEIANwMYIABCADcDECAAQgA3AwggAEIANwMAIAAg+wc3AzAMEQsjAEHQAGsiBCQAAkAgAigCCEEBa0EBTQRAQYitCykDACH7ByAAQgA3AyggAEIANwMgIABCADcDGCAAQgA3AxAgAEIANwMIIABCADcDACAAIPsHNwMwDAELIARBGGogASACKAIMEOACIAQoAhghAwJAAkACQCAEKAJIBEAgACADNgIAQdSJC0EANgIAQcAAIABBCGogBEEgahACGkHUiQsoAgAh0AdB1IkLQQA2AgAg0AdBAUYNASAAIAQoAjg2AiAgACAEKAI8NgIkIAAgBEFAayIDKAIANgIoIANBADYCACAEQgA3AzggACAEKQNINwMwDAMLAkAgBCgCPCAEKAI4a0EYbSADakEBRwRAQdSJC0EANgIAQQ1Bh8EFQdCVA0HHAEGY1wMQBUHUiQsoAgAh0QdB1IkLQQA2AgAg0QdBAUYNAQwDCyAEQSBqIQMCQAJAAkACQCACKAIIDgMAAQIDCwJAIAQoAjAiBUEHSQ0AIAUoAgRBAUcNACAFKAIIQXxxQQxHDQAgASgCACgCCCHSB0HUiQtBADYCACDSByABQcGzAxADQdSJCygCACHTB0HUiQtBADYCACDTB0EBRg0EC0HUiQtBADYCAEHAACAEIAMQAiEDQdSJCygCACHUB0HUiQtBADYCACDUB0EBRg0DQdSJC0EANgIAQZwDIAAgAxACGkHUiQsoAgAh1QdB1IkLQQA2AgAg1QdBAUcEQCADEFkaDAcLEAAhByADEFkaDB0LQdSJC0EANgIAQbwFIAQgAxADQdSJCygCACHWB0HUiQtBADYCACDWB0EBRg0CQdSJC0EANgIAQZwDIAAgBBACGkHUiQsoAgAh1wdB1IkLQQA2AgAg1wdBAUcEQCAEEFkaDAYLEAAhByAEEFkaDBwLQdSJC0EANgIAQb0FIAQgAxADQdSJCygCACHYB0HUiQtBADYCACDYB0EBRg0BQdSJC0EANgIAQZwDIAAgBBACGkHUiQsoAgAh2QdB1IkLQQA2AgAg2QdBAUcEQCAEEFkaDAULEAAhByAEEFkaDBsLQdSJC0EANgIAQRRB09cFQdCVA0HFDhAIQdSJCygCACHaB0HUiQtBADYCACDaB0EBRw0CCxAAIQcMGQsQACEHDBgLAAsgBCgCOCIDBEAgBCgCPCIHIAMiBUcEQANAIAdBGGsQWSIHIANHDQALIAQoAjghBQsgBCADNgI8IAUQWgsgBEEgahBZGgsgBEHQAGokAAwQCyMAQYACayIEJAAgBEHIAWogASACKAIMEOACAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAEKAL4AQRAIAAgBCgCyAE2AgBB1IkLQQA2AgBBwAAgAEEIaiAEQdABahACGkHUiQsoAgAh2wdB1IkLQQA2AgAg2wdBAUYNASAAIAQoAugBNgIgIAAgBCgC7AE2AiQgACAEKALwATYCKCAEQQA2AvABIARCADcD6AEgACAEKQP4ATcDMAwOCyACKAIIQQdGBEAgAigCFCEDQdSJC0EANgIAQfECIARBkAFqIAEgAxAIQdSJCygCACEDQdSJC0EANgIAAkACQCADQQFHBEAgBCgCwAFFDQEgACAEKAKQATYCAEHUiQtBADYCAEHAACAAQQhqIARBmAFqEAIaQdSJCygCACHcB0HUiQtBADYCACDcB0EBRg0CIAAgBCgCsAE2AiAgACAEKAK0ATYCJCAAIAQoArgBNgIoIARBADYCuAEgBEIANwOwASAAIAQpA8ABNwMwDBALEAAhBwwMCyACKAIYIQNB1IkLQQA2AgBB8QIgBEHYAGogASADEAhB1IkLKAIAIQNB1IkLQQA2AgACQAJAIANBAUcEQCAEKAKIAUUNASAAIAQoAlg2AgBB1IkLQQA2AgBBwAAgAEEIaiAEQeAAahACGkHUiQsoAgAh3QdB1IkLQQA2AgAg3QdBAUYNAiAAIAQoAng2AiAgACAEKAJ8NgIkIAAgBCgCgAE2AiggBEEANgKAASAEQgA3A3ggACAEKQOIATcDMAwQCxAAIQcMDAsgBCgCyAEgBCgC7AEgBCgC6AFrQRhtakEBRwRAQdSJC0EANgIAQQ1Bh8EFQdCVA0HHAEGY1wMQBUHUiQsoAgAh3gdB1IkLQQA2AgAg3gdBAUYNBQwOC0HUiQtBADYCAEG6BSAEQdAAaiAEQdABahADQdSJCygCACHfB0HUiQtBADYCACDfB0EBRg0EAkAgBCgCUCIFDQAgASgCACgCCCHgB0HUiQtBADYCACDgByABQcGzAxADQdSJCygCACHhB0HUiQtBADYCACDhB0EBRw0AEAAhBwwKCwJAAn8gBCgCkAEgBCgCtAEgBCgCsAFrQRhtakEBRwRAQccAIQBB0JUDIQNBh8EFIQFBmNcDDAELIAQoAqgBIgNBB0kNAUHDASEAQZ+fAyEDQeHNBiEBQfPnBAshAkHUiQtBADYCAEENIAEgAyAAIAIQBQwJCwJ+AkACQAJAIANBAmsOAgIAAQsgBCkDmAEMAgtB1IkLQQA2AgBBiQIQCQwKCyAENQKYAQshiQgCQAJAAkACfyAEKAJYIAQoAnwgBCgCeGtBGG1qQQFHBEBBxwAhAEHQlQMhA0GHwQUhAUGY1wMMAQsgBCgCcCIDQQdJDQFBwwEhAEGfnwMhA0HhzQYhAUHz5wQLIQJB1IkLQQA2AgBBDSABIAMgACACEAVB1IkLKAIAIeIHQdSJC0EANgIAIOIHQQFHDRAMAQsCfgJAAkACQCADQQJrDgICAAELIAQpA2AMAgtB1IkLQQA2AgBBiQIQCUHUiQsoAgAh4wdB1IkLQQA2AgAg4wdBAUcNEQwCCyAENQJgC6ciBiAFKAIIIAUoAiwgBSgCKGtBGG1qTQ0BIAEoAgAoAggh5AdB1IkLQQA2AgAg5AcgAUHx7AQQA0HUiQsoAgAh5QdB1IkLQQA2AgAg5QdBAUcNAQsQACEHDAoLIARCADcDMCAEQQA2AjggBEEANgJIIARCADcDKCAEQQA2AiAgBEIANwNAIARBKGohCCCJCKciAyAGSQRAIARBQGshCSAGIANrIgdBAk8EQEHUiQtBADYCAEG+BSAJIAdBAWsQA0HUiQsoAgAh5gdB1IkLQQA2AgAg5gdBAUYNBwsgBUEQaiELA0AgBSgCKCADQRhsakEYayALIAMbIQcCQCAEKAIgRQRAIARBATYCICAHIAhGDQEgCBBZIQpB1IkLQQA2AgBBwAAgCiAHEAIaQdSJCygCACHnB0HUiQtBADYCACDnB0EBRw0BDAoLIAQoAkQiCiAEKAJIRwRAQdSJC0EANgIAQcAAIAogBxACIQdB1IkLKAIAIegHQdSJC0EANgIAIOgHQQFGBEAQACEHIAQgCjYCRAwMCyAEIAdBGGo2AkQMAQtB1IkLQQA2AgBBsgUgCSAHEANB1IkLKAIAIekHQdSJC0EANgIAIOkHQQFGDQkLIANBAWoiAyAGRw0ACwsgAigCBCEFQdSJC0EANgIAQbkFIARBCGoiAyAEQSBqIAUQCEHUiQsoAgAh6gdB1IkLQQA2AgAg6gdBAUYNBUHUiQtBADYCAEGcAyAAIAMQAhpB1IkLKAIAIesHQdSJC0EANgIAIOsHQQFHBEAgAxBZGiAEKAJAIgUEQCAEKAJEIgcgBSIDRwRAA0AgB0EYaxBZIgcgBUcNAAsgBCgCQCEDCyAEIAU2AkQgAxBaCyAIEFkaAkAgBCgCVCIDRQ0AIAMgAygCBCIFQQFrNgIEIAUNACADIAMoAgAoAggRAQAgAxB1CyAEKAJ4IgVFDQ8gBCgCfCIHIAUiA0cEQANAIAdBGGsQWSIHIAVHDQALIAQoAnghAwsgBCAFNgJ8IAMQWgwPCxAAIQcgBEEIahBZGgwHCxAAIQcMCQsQACEHDAkLQYitCykDACH7ByAAQgA3AyggAEIANwMgIABCADcDGCAAQgA3AxAgAEIANwMIIABCADcDACAAIPsHNwMwDA0LEAAhBwwICxAAIQcMBQsQACEHDAELEAAhBwsgBEEgahBoDAELQdSJCygCACHsB0HUiQtBADYCACDsB0EBRw0EEAAhBwsgBEHQAGoQwwILIARB2ABqEGgLIARBkAFqEGgLIARByAFqEGgMGQsACyAEQeAAahBZGiAEKAKwASIFRQ0AIAQoArQBIgcgBSIDRwRAA0AgB0EYaxBZIgcgBUcNAAsgBCgCsAEhAwsgBCAFNgK0ASADEFoLIARBmAFqEFkaCyAEKALoASIFBEAgBCgC7AEiByAFIgNHBEADQCAHQRhrEFkiByAFRw0ACyAEKALoASEDCyAEIAU2AuwBIAMQWgsgBEHQAWoQWRogBEGAAmokAAwPCyAAIAIoAgggAigCDBD8CwwOC0GIrQspAwAh+wcgAEIANwMoIABCADcDICAAQgA3AxggAEIANwMQIABCADcDCCAAQgA3AwAgACD7BzcDMAwNC0GIrQspAwAh+wcgAEIANwMoIABCADcDICAAQgA3AxggAEIANwMQIABCADcDCCAAQgA3AwAgACD7BzcDMAwMC0GIrQspAwAh+wcgAEIANwMoIABCADcDICAAQgA3AxggAEIANwMQIABCADcDCCAAQgA3AwAgACD7BzcDMAwLC0GIrQspAwAh+wcgAEIANwMoIABCADcDICAAQgA3AxggAEIANwMQIABCADcDCCAAQgA3AwAgACD7BzcDMAwKC0GIrQspAwAh+wcgAEIANwMoIABCADcDICAAQgA3AxggAEIANwMQIABCADcDCCAAQgA3AwAgACD7BzcDMAwJC0GIrQspAwAh+wcgAEIANwMoIABCADcDICAAQgA3AxggAEIANwMQIABCADcDCCAAQgA3AwAgACD7BzcDMAwIC0GIrQspAwAh+wcgAEIANwMoIABCADcDICAAQgA3AxggAEIANwMQIABCADcDCCAAQgA3AwAgACD7BzcDMAwHC0GIrQspAwAh+wcgAEIANwMoIABCADcDICAAQgA3AxggAEIANwMQIABCADcDCCAAQgA3AwAgACD7BzcDMAwGC0GIrQspAwAh+wcgAEIANwMoIABCADcDICAAQgA3AxggAEIANwMQIABCADcDCCAAQgA3AwAgACD7BzcDMAwFC0GIrQspAwAh+wcgAEIANwMoIABCADcDICAAQgA3AxggAEIANwMQIABCADcDCCAAQgA3AwAgACD7BzcDMAwEC0GIrQspAwAh+wcgAEIANwMoIABCADcDICAAQgA3AxggAEIANwMQIABCADcDCCAAQgA3AwAgACD7BzcDMAwDC0GD2ARB0JUDQbASEGIAC0GY/QNB05kDQcUAEGIACyAAQgA3AwAgAEIANwMwIABCADcDKCAAQgA3AyAgAEIANwMYIABCADcDECAAQgA3AwgLAkAgACgCMA0AQdSJC0EANgIAQasBIAAQBiEDQdSJCygCACHtB0HUiQtBADYCACDtB0EBRg0CIAIoAgQiBUECSSADQQFNcQ0AAkAgAyAFRg0AQdSJC0EANgIAQawBIAMgBRACIe8HQdSJCygCACHuB0HUiQtBADYCACDuB0EBRg0DIO8HDQBB1IkLQQA2AgBBCUGMwwtBteYGQQkQBBpB1IkLKAIAIfAHQdSJC0EANgIAIPAHQQFGDQMgAigCBCEFQdSJC0EANgIAQa0BQYzDCyAFEAIhBUHUiQsoAgAh8QdB1IkLQQA2AgAg8QdBAUYNA0HUiQtBADYCAEEJIAVBteIGQQkQBCEFQdSJCygCACHyB0HUiQtBADYCACDyB0EBRg0DQdSJC0EANgIAQa0BIAUgAxACIQVB1IkLKAIAIfMHQdSJC0EANgIAIPMHQQFGDQNB1IkLQQA2AgBBCSAFQcaeB0EGEAQhBUHUiQsoAgAh9AdB1IkLQQA2AgAg9AdBAUYNA0HUiQtBADYCAEGuASACIAVBABAEIQVB1IkLKAIAIfUHQdSJC0EANgIAIPUHQQFGDQNB1IkLQQA2AgAgDUEKOgAPQQkgBSANQQ9qQQEQBBpB1IkLKAIAIfYHQdSJC0EANgIAIPYHQQFGDQMLIAMgAigCBCICRg0AQdSJC0EANgIAQawBIAMgAhACIfgHQdSJCygCACH3B0HUiQtBADYCACD3B0EBRg0CIPgHDQBB1IkLQQA2AgBBDUG55wVB0JUDQeQBQbLvABAFQdSJCygCACH5B0HUiQtBADYCACD5B0EBRg0CAAsgASABKAIMQQFrNgIMIA1BEGokAA8LQabzAUHTmQNBOkGy7wAQAQALEAAh+gcgABBoIPoHEAcACyAEQThqEGgMAgsgBEH4AGoQaAwBCyAEQRhqEGgLIAcQBwALEAAhACAEQQhqEGgMBgsQACEAIAQQWRoMBQsgBEHoAWoQaAsgAxAHAAsgBEHoAGoQaAwCCyAEQegBahBoDAELIAkQWRoLIAAQBwALQQAQCxoQcAALQcWiAUGJogNBvAFBpogFEAEAC0G//wVBuLMCQeQHQauJBBABAAv7BgIJfwJ9IAACfwJAIAEoAgQiBEUNACABKAIAAn8gBEEBayACcSAEaSIFQQFNDQAaIAIgAiAESQ0AGiACIARwCyIGQQJ0aigCACIHRQ0AIAcoAgAiB0UNACAFQQFNBEAgBEEBayEFA0ACQCACIAcoAgQiCEcEQCAFIAhxIAZHDQQMAQsgBygCCCACRw0AQQAMBAsgBygCACIHDQALDAELA0ACQCACIAcoAgQiBUcEQCAEIAVNBH8gBSAEcAUgBQsgBkcNAwwBCyAHKAIIIAJHDQBBAAwDCyAHKAIAIgcNAAsLQRAQXCIHIAI2AgQgByADNwIIIAdBADYCACABKgIQIQ0gASgCDEEBarMhDgJAIAQEQCANIASzlCAOXUUNAQtBAiEGAkACQAJAIAQgBEEBa3FBAEcgBEEDSXIgBEEBdHIiBQJ/IA4gDZWNIg1DAACAT10gDUMAAAAAYHEEQCANqQwBC0EACyIIIAUgCEsbIgVBAUYNACAFIAVBAWtxRQRAIAUhBgwBC0HUiQtBADYCAEEVIAUQBiEGQdSJCygCACEJQdSJC0EANgIAIAlBAUYNASABKAIEIQQLAkAgBCAGTwRAIAQgBk0NASAEQQNJIQgCfyABKAIMsyABKgIQlY0iDUMAAIBPXSANQwAAAABgcQRAIA2pDAELQQALIQUCQAJAIAgNACAEaUEBSw0AIAVBAUEgIAVBAWtna3QgBUECSRshBQwBC0HUiQtBADYCAEEVIAUQBiEFQdSJCygCACEKQdSJC0EANgIAIApBAUYNAwsgBiAFIAUgBkkbIgYgBE8NAQtB1IkLQQA2AgBBrQIgASAGEANB1IkLKAIAIQtB1IkLQQA2AgAgC0EBRg0BCyABKAIEIgQgBEEBayIGcUUEQCACIAZxIQYMAwsgAiAETw0BIAIhBgwCCxAAIQwgBxBaIAwQBwALIAIgBHAhBgsCQAJAIAEoAgAgBkECdGoiBigCACICRQRAIAcgAUEIaiICKAIANgIAIAEgBzYCCCAGIAI2AgAgBygCACICRQ0CIAIoAgQhAgJAIAQgBEEBayIGcUUEQCACIAZxIQIMAQsgAiAESQ0AIAIgBHAhAgsgASgCACACQQJ0aiECDAELIAcgAigCADYCAAsgAiAHNgIACyABIAEoAgxBAWo2AgxBAQs6AAQgACAHNgIACyAAIAAtAAtBgAFxQQd2BEAgACgCCBogACgCABBaCyAAC4ADAQl/AkACQAJAIAFFIAAoAgAiBSAAKAIEIgNGcQ0AIAAoAggiBCADSwRAIAMgATYCACAAIANBBGo2AgQPCyADIAVrQQJ1IgdBAWoiAkGAgICABE8EQEHUiQtBADYCAEETEAlB1IkLKAIAIQhB1IkLQQA2AgAgCEEBRg0CDAMLAkBB/////wMgBCAFayIEQQF1IgYgAiACIAZJGyAEQfz///8HTxsiBEUEQEEAIQYMAQsgBEGAgICABE8EQEHUiQtBADYCAEEDEAlB1IkLKAIAIQlB1IkLQQA2AgAgCUEBRw0EDAMLQdSJC0EANgIAQQQgBEECdBAGIQZB1IkLKAIAIQpB1IkLQQA2AgAgCkEBRg0CCyAGIAdBAnRqIgIgATYCACACQQRqIQEgAyAFRwRAA0AgAkEEayICIANBBGsiAygCADYCACADIAVHDQALCyAAIAYgBEECdGo2AgggACABNgIEIAAgAjYCACAFRQ0AIAUQWgsPC0EAEAsaEHAACwALzAQBDH8jAEGQAWsiBiQAQRAQXCIFQQA6AAsgBUGu0wIoAAA2AAcgBUGn0wIpAAA3AAACQAJAAkACQCABRQ0AIAACfyACpyIDIAFBAWtxIAFpIgRBAU0NABogAyABIANLDQAaIAMgAXALIgdBAnRqKAIAIgBFDQAgACgCACIARQ0AIARBAU0EQCABQQFrIQEDQAJAIAMgACgCBCIERwRAIAEgBHEgB0YNAQwECyAAKAIIIANGDQQLIAAoAgAiAA0ACwwBCwNAAkAgAyAAKAIEIgRHBEAgASAETQR/IAQgAXAFIAQLIAdGDQEMAwsgACgCCCADRg0DCyAAKAIAIgANAAsLQdSJC0EANgIAQQggBhAGIQBB1IkLKAIAIQhB1IkLQQA2AgAgCEEBRg0BQdSJC0EANgIAQQkgAEEIakH5mQVBCBAEIQFB1IkLKAIAIQNB1IkLQQA2AgACQCADQQFGDQBB1IkLQQA2AgBBCSABIAVBCxAEIQFB1IkLKAIAIQlB1IkLQQA2AgAgCUEBRg0AQdSJC0EANgIAQQkgAUHt/AZBAhAEGkHUiQsoAgAhCkHUiQtBADYCACAKQQFGDQBB1IkLQQA2AgBBISAAIAIQuAIhAUHUiQsoAgAhC0HUiQtBADYCACALQQFGDQBB1IkLQQA2AgBBIiABQa7ZABACIQFB1IkLKAIAIQxB1IkLQQA2AgAgDEEBRw0DCxAAGiAAEHEACyAAKAIQIQ0gBRBaIAZBkAFqJAAgDQ8LEAAhDiAFEFogDhAHAAsgARBxAAscACAAIAEgAiADpyADQiCIpyAEpyAEQiCIpxA/C/kCAQZ/IwBBIGsiBSQAAkACQAJAAkACQCABDQAgAxBsIgZB8P///wdPDQQCQAJAIAZBC08EQCAGQQ9yQQFqIggQXCEHIAUgCEGAgICAeHI2AgwgBSAHNgIEIAUgBjYCCAwBCyAFIAY6AA8gBUEEaiEHIAZFDQELIAcgAyAG/AoAAAsgBiAHakEAOgAAQdSJC0EANgIAQfwBIAVBBGpBrPcGEAIhA0HUiQsoAgAhCUHUiQtBADYCACAJQQFGDQEgBSADKAIINgIYIAUgAykCADcDECADQgA3AgAgA0EANgIIQdSJC0EANgIAQdkCIAAgBUEQaiACIAQQBUHUiQsoAgAhCkHUiQtBADYCACAKQQFGDQIgBSwAG0EASARAIAUoAhAQWgsgAywAC0EATg0AIAMoAgAQWgsgBUEgaiQAIAEPCxAAIQEMAQsQACEBIAUsABtBAE4NACAFKAIQEFoLIAUsAA9BAEgEQCAFKAIEEFoLIAEQBwALEOoBAAsdAQF/QQQQciIAQfSHCjYCACAAQZyICkG/DhASAAvJCgIFfxF+IwBB4ABrIgUkACAEQv///////z+DIQwgAiAEhUKAgICAgICAgIB/gyEKIAJC////////P4MiDUIgiCEOIARCMIinQf//AXEhBwJAAkAgAkIwiKdB//8BcSIJQf//AWtBgoB+TwRAIAdB//8Ba0GBgH5LDQELIAFQIAJC////////////AIMiC0KAgICAgIDA//8AVCALQoCAgICAgMD//wBRG0UEQCACQoCAgICAgCCEIQoMAgsgA1AgBEL///////////8AgyICQoCAgICAgMD//wBUIAJCgICAgICAwP//AFEbRQRAIARCgICAgICAIIQhCiADIQEMAgsgASALQoCAgICAgMD//wCFhFAEQCACIAOEUARAQoCAgICAgOD//wAhCkIAIQEMAwsgCkKAgICAgIDA//8AhCEKQgAhAQwCCyADIAJCgICAgICAwP//AIWEUARAIAEgC4QhGUIAIQEgGVAEQEKAgICAgIDg//8AIQoMAwsgCkKAgICAgIDA//8AhCEKDAILIAEgC4RQBEBCACEBDAILIAIgA4RQBEBCACEBDAILIAtC////////P1gEQCAFQdAAaiABIA0gASANIA1QIgYbeSAGQQZ0rXynIgZBD2sQuQNBECAGayEGIAUpA1giDUIgiCEOIAUpA1AhAQsgAkL///////8/Vg0AIAVBQGsgAyAMIAMgDCAMUCIIG3kgCEEGdK18pyIIQQ9rELkDIAYgCGtBEGohBiAFKQNIIQwgBSkDQCEDCyADQg+GIgtCgID+/w+DIgIgAUIgiCIEfiIQIAtCIIgiEyABQv////8PgyIBfnwiD0IghiIRIAEgAn58IgsgEVStIAIgDUL/////D4MiDX4iFSAEIBN+fCIRIAxCD4YiEiADQjGIhEL/////D4MiAyABfnwiFCAPIBBUrUIghiAPQiCIhHwiDyACIA5CgIAEhCIMfiIWIA0gE358Ig4gEkIgiEKAgICACIQiAiABfnwiECADIAR+fCISQiCGfCIXfCEBIAcgCWogBmpB//8AayEGAkAgAiAEfiIYIAwgE358IgQgGFStIAQgBCADIA1+fCIEVq18IAIgDH58IAQgBCARIBVUrSARIBRWrXx8IgRWrXwgAyAMfiIDIAIgDX58IgIgA1StQiCGIAJCIIiEfCAEIAJC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QAJAAkACQCABLQAUQQFxDQAgASgCBCIDRQ0AIAMoArgCIAMoArwCIAIpAggQhwMtACRFDQIgBEEIaiABIAIoAhAQ7wIgBCgCOCIGRQRAIAQgAikCCCKFCDcDQEEAIAQoAghrIAQoAiwgBCgCKGtBGG1GBEBB1IkLQQA2AgBBDUGrkwZB0JUDQagQQYnXAxAFQdSJCygCACFFQdSJC0EANgIAIEVBAUYNXwALQdSJC0EANgIAQfQCIARByABqIAFBLGoghQinIARBQGsQBUHUiQsoAgAhRkHUiQtBADYCACBGQQFGDV4gBCgCSCIDQRBqIgUgBCgCCDYCACAFIARBCGpGIgVFBEAgA0EYahBZIQdB1IkLQQA2AgBBwAAgByAEQRBqEAIaQdSJCygCACFHQdSJC0EANgIAIEdBAUYNXwsgBUUEQEHUiQtBADYCAEH1AiADQTBqIAQoAigiAyAEKAIsIgUgBSADa0EYbRAFQdSJCygCACFIQdSJC0EANgIAIEhBAUYNXwsgAEIANwMAIABCADcDMCAAQgA3AyggAEIANwMgIABCADcDGCAAQgA3AxAgAEIANwMICyAEKAIoIgMEQCAEKAIsIgcgAyIFRwRAA0AgB0EYaxBZIgcgA0cNAAsgBCgCKCEFCyAEIAM2AiwgBRBaCyAEQRBqEFkaIAZFDQELQYitCykDACGFCCAAQgA3AyggAEIANwMgIABCADcDGCAAQgA3AxAgAEIANwMIIABCADcDACAAIIUINwMwCyAEQdAAaiQADAELQcHxBEHQlQNB4RBB4YQBEAEACwxSC0GIrQspAwAhhQggAEIANwMoIABCADcDICAAQgA3AxggAEIANwMQIABCADcDCCAAQgA3AwAgACCFCDcDMAxRC0GIrQspAwAhhQggAEIANwMoIABCADcDICAAQgA3AxggAEIANwMQIABCADcDCCAAQgA3AwAgACCFCDcDMAxQC0GIrQspAwAhhQggAEIANwMoIABCADcDICAAQgA3AxggAEIANwMQIABCADcDCCAAQgA3AwAgACCFCDcDMAxPC0GIrQspAwAhhQggAEIANwMoIABCADcDICAAQgA3AxggAEIANwMQIABCADcDCCAAQgA3AwAgACCFCDcDMAxOC0GIrQspAwAhhQggAEIANwMoIABCADcDICAAQgA3AxggAEIANwMQ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aiAHGxACIQNB1IkLKAIAIQVB1IkLQQA2AgACQAJAAkAgBUEBRwRAIAItABAhB0HUiQtBADYCAEGh9gAgBEEgaiIFIAMgCCAGIAcQDEHUiQsoAgAh2AdB1IkLQQA2AgAg2AdBAUYNAUHUiQtBADYCAEGcAyAAIAUQAhpB1IkLKAIAIdkHQdSJC0EANgIAINkHQQFGDQIgBRBZGiADEFkaAkAgBCgCPCIDRQ0AIAMgAygCBCIFQQFrNgIEIAUNACADIAMoAgAoAggRAQAgAxB1CyAEKAJgIgVFDQsgBCgCZCIHIAUiA0cEQANAIAdBGGsQWSIHIAVHDQALIAQoAmAhAwsgBCAFNgJkIAMQWgwLCxAAIQcMAwsQACEHDAELEAAhByAEQSBqEFkaCyADEFkaCyAEQThqEMMCDAQLEAAhBwwDCxAAIQcMIgtBiK0LKQMAIYUIIABCADcDKCAAQgA3AyAgAEIANwMYIABCADcDECAAQgA3AwggAEIANwMAIAAghQg3AzAMBQsQACEHCyAEQUBrEGgMHwsACyAEQcgAahBZGiAEKAKYASIFRQ0AIAQoApwBIgcgBSIDRwRAA0AgB0EYaxBZIgcgBUcNAAsgBCgCmAEhAwsgBCAFNgKcASADEFoLIARBgAFqEFkaCyAEQbABaiQADBcLQYitCykDACGFCCAAQgA3AyggAEIANwMgIABCADcDGCAAQgA3AxAgAEIANwMIIABCADcDACAAIIUINwMwDBYLQYitCykDACGFCCAAQgA3AyggAEIANwMgIABCADcDGCAAQgA3AxAgAEIANwMIIABCADcDACAAIIUINwMwDBULQYitCykDACGFCCAAQgA3AyggAEIANwMgIABCADcDGCAAQgA3AxAgAEIANwMIIABCADcDACAAIIUINwMwDBQLQYitCykDACGFCCAAQgA3AyggAEIANwMgIABCADcDGCAAQgA3AxAgAEIANwMIIABCADcDACAAIIUINwMwDBMLQYitCykDACGFCCAAQgA3AyggAEIANwMgIABCADcDGCAAQgA3AxAgAEIANwMIIABCADcDACAAIIUINwMwDBILQYitCykDACGFCCAAQgA3AyggAEIANwMgIABCADcDGCAAQgA3AxAgAEIANwMIIABCADcDACAAIIUINwMwDBELIwBB0ABrIgQkAAJAIAIoAghB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IgMtAAA6AAAgB0EBaiIHIApHDQALCyAIIAVrQXxNBEADQCACQQFrIANBAWstAAA6AAAgAkECayADQQJrLQAAOgAAIAJBA2sgA0EDay0AADoAACACQQRrIgIgA0EEayIDLQAAOgAAIAMgCEcNAAsLIAAoAgAhBQsgACAJNgIIIAAgBDYCBCAAIAY2AgAgBUUNACAFEFogACgCBCEECyABQRh2IQMgACgCCCICIARLBEAgBCADOgAAIAAgBEEBajYCBCAADwsgBCAAKAIAIgFrIgZBAWoiBUEASA0AIAZB/////wcgAiABayICQQF0IgcgBSAFIAdJGyACQf////8DTxsiBwR/IAcQXAVBAAsiBWoiAiADOgAAIAUgB2ohCCACQQFqIQkCQCABIARGBEAgAiEFDAELAkAgBkEDcSIGRQRAIAQhAwwBC0EAIQcgBCEDA0AgAkEBayICIANBAWsiAy0AADoAACAHQQFqIgcgBkcNAAsLIAEgBGtBfE0EQANAIAJBAWsgA0EBay0AADoAACACQQJrIANBAmstAAA6AAAgAkEDayADQQNrLQAAOgAAIAJBBGsiAiADQQRrIgMtAAA6AAAgASADRw0ACwsgACgCACEECyAAIAg2AgggACAJNgIEIAAgBTYCACAEBEAgBBBaCyAADwsQZAAL0A4BIn8jAEEgayICJAACQCABKAIQQQZGBEAgAS0ADyEDIAEtAA4hBCABLQANIQUgAS0ADCEGIAEtAAshByABLQAKIQggAS0ACSEJIAEtAAghCiABLQAHIQsgAS0ABiEMIAEtAAUhDSABLQAEIQ4gAS0AAyEPIAEtAAIhECABLQABIREgAS0AACEBIABBADYCECAAQgA3AwggAEIANwMAIABCADcDGCAAQgA3AyAgAEEANgIoIABCADcDMCAAQgA3AzggAEFAa0EANgIAIABCADcDSCAAQgA3A1AgAEEANgJYIABCADcDYCAAQgA3A2ggAEEANgJwIABBADYCiAEgAEIANwOAASAAQgA3A3ggAEEANgKgASAAQgA3A5gBIABCADcDkAEgAEIANwOoASAAQgA3A7ABIABBADYCuAEgAEIANwPAASAAQgA3A8gBIABBADYC0AEgAEIANwPYASAAQgA3A+ABIABBADYC6AEgAEIANwPwASAAQgA3A/gBIABBADYCgAIgAEIA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IAIoAgQiBiACKAIIRwRAIAUhAwwBCyACIAZBAXRBAmoiAzYCCCACQYCoCyADQQJ0QQQQXSIDNgIAIAIoAgQiBkUEQEEAIQYMAQtBACEDIAZBBE8EQCAGQXxxIQgDQCADQQJ0IgQgAigCAGogBCAFaigCADYCACAEQQRyIgcgAigCAGogBSAHaigCADYCACAEQQhyIgcgAigCAGogBSAHaigCADYCACAEQQxyIgQgAigCAGogBCAFaigCADYCACADQQRqIgMgCEcNAAsLIAZBA3EiBARAA0AgA0ECdCIIIAIoAgBqIAUgCGooAgA2AgAgA0EBaiEDIAlBAWoiCSAERw0ACwsgAigCACEDCyADIAZBAnRqIAE2AgAgAiACKAIEQQFqNgIEQYCoC0EQQQgQXSIBQQM2AgAgAUEDELQCIQZBgKgLQRBBCBBdIghBADYCACAIQfiiCykDADcCCCAGKAIAQQJHDQAgBigCCCICKAIAIQUCQCACKAIEIgEgAigCCEcEQCAFIQMMAQsgAiABQQF0QQJqIgE2AgggAkGAqAsgAUECdEEEEF0iAzYCACACKAIEIgFFBEBBACEBDAELQQAhCUEAIQMgAUEETwRAIAFBfHEhBwNAIANBAnQiBCACKAIAaiAEIAVqKAIANgIAIARBBHIiCiACKAIAaiAFIApqKAIANgIAIARBCHIiCiACKAIAaiAFIApqKAIANgIAIARBDHIiBCACKAIAaiAEIAVqKAIANgIAIANBBGoiAyAHRw0ACwsgAUEDcSIEBEADQCADQQJ0IgcgAigCAGogBSAHaigCADYCACADQQFqIQMgCUEBaiIJIARHDQALCyACKAIAIQMLIAMgAUECdGogCDYCACACIAIoAgRBAWo2AgRBgKgLQRBBCBBdIgggADcCCCAIQQA2AgAgBigCAEECRw0AIAYoAggiAigCACEFAkAgAigCBCIBIAIoAghHBEAgBSEDDAELIAIgAUEBdEECaiIBNgIIIAJBgKgLIAFBAnRBBBBdIgM2AgAgAigCBCIBRQRAQQAhAQwBC0EAIQlBACEDIAFBBE8EQCABQXxxIQcDQCADQQJ0IgQgAigCAGogBCAFaigCADYCACAEQQRyIgogAigCAGogBSAKaigCADYCACAEQQhyIgogAigCAGogBSAKaigCADYCACAEQQxyIgQgAigC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BkEAIQIgB0EETwRAIAdB/P///wNxIQQDQCACQQJ0IgsgAygC0AFqQQA2AgAgAygC0AEgC2pBADYCBCADKALQASALakEANgIIIAMoAtABIAtqQQA2AgwgAkEEaiICIARHDQALCyAIBEADQCADKALQASACQQJ0akEANgIAIAJBAWohAiAGQQFqIgYgCEcNAAsLIAMoAtgBIgJFBEAgByEEDAILIAIoAgQhCAJAIAcgB0EBayIMcQRAIAcgCE0EQCAIIAdwIQgLIAMoAtABIAhBAnRqIBE2AgAgAigCACIGDQEgByEEDAMLIAMoAtABIAggDHEiCEECdGogETYCACACKAIAIgRFBEAgByEEDAMLA0ACQCAIIAQoAgQgDHEiBkYEQCAEIQIMAQsgBkECdCIKIAMoAtABaiILKAIABEAgAiAEKAIANgIAIAQgAygC0AEgCmooAgAoAgA2AgAgAygC0AEgCmooAgAgBDYCAAwBCyALIAI2AgAgBCECIAYhCAsgAigCACIEDQALIAchBAwCCwNAIAcgBigCBCIETQRAIAQgB3AhBAsCQCAEIAhGBEAgBiECDAELIARBAnQiCiADKALQAWoiCygCAEUEQCALIAI2AgAgBiECIAQhCAwBCyACIAYoAgA2AgAgBiADKALQASAKaigCACgCADYCACADKALQASAKaigCACAGNgIACyACKAIAIgYNAAsgByEEDAELIAMoAtABIQIgA0EANgLQASACBEAgAhBaC0EAIQQgA0EANgLUAQsgBCAEQQFrIgJxRQRAIAIgCXEhCQwBCyAEIAlLDQAgCSAEcCEJCyADKAKIAiECIAlBAnQiByADKALQAWooAgAiBg0DIAIgAygC2AE2AgAgAyACNgLYASADKALQASAHaiARNgIAIAIoAgAiB0UNBSAHKAIEIQYgBCAEQQFrIgdxDQEgBiAHcSEGDAILEAAhBiADQYgCahDjEAwUCyAEIAZLDQAgBiAEcCEGCyADKALQASAGQQJ0aiEGDAELIAIgBigCADYCAAsgBiACNgIACyADIAMoAtwBQQFqNgLcAQsCQAJ/AkACQCANDQAgBS0AASEHAkACQCAFKAIQDgQBAgADAgtB+fPd8XlBufPd8XkgBxsiDCAHcyENIAUoAhgiByAFKAIUIgZrQQxtIQRBACEJIAYgB0YNBANAIAYgCUEM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iQtBADYCAEH8ASADQZvfBhACIQFB1IkLKAIAIQpB1IkLQQA2AgAgCkEBRwRAIAIgASgCCDYCGCACIAEpAgA3AxAgAUIANwIAIAFBADYCCEHUiQtBADYCAEHQASAEIAJBEGogABAEIQBB1IkLKAIAIQtB1IkLQQA2AgBBASEDIAtBAUcEQEHUiQtBADYCAEHNASAAQbC5B0HOARAIQdSJCygCACEMQdSJC0EANgIAQQAhAyAMQQFHDQcLEAAhACACLAAbQQBIBEAgAigCEBBaCyABLAALQQBIBEAgASgCABBaCyADDQQMBQsQACEAIAIsAA9BAE4NAyACKAIEEFoMAwsgAkEwaiQAIA2nQf8BcQ8LEAAhAAwBCxAAIQALIAQQbgsgABAHCwAL9QEBBX8jAEEgayIDJAACQAJAAkAgACgCJCICIAAoAggiBCgCBCAEKAIAIgRrTwRAIANBFGpBitAAEMgBIQFB1IkLQQA2AgBBsAIgACABEANB1IkLKAIAIQVB1IkLQQA2AgAgBUEBRw0BEAAhACABLAALQQBODQMMAgsgACACQQFqNgIkIAEgAiAEai0AACICTQRAIANBCGpB3CoQyAEhAUHUiQtBADYCAEGwAiAAIAEQA0HUiQsoAgAhBkHUiQtBADYCACAGQQFHDQEQACEAIAEsAAtBAEgNAgwDCyADQSBqJAAgAg8LAAsgASgCABBaCyAAEAcAC9AOASJ/IwBBIGsiAiQAAkAgASgCEEEGRgRAIAEsAA8hAyABLAAOIQQgASwADSEFIAEsAAwhBiABLAALIQcgASwACiEIIAEsAAkhCSABLAAIIQogASwAByELIAEsAAYhDCABLAAFIQ0gASwABCEOIAEsAAMhDyABLAACIRAgASwAASERIAEsAAAhASAAQQA2AhAgAEIANwMIIABCADcDACAAQgA3AxggAEIANwMgIABBADYCKCAAQgA3AzAgAEIANwM4IABBQGtBADYCACAAQgA3A0ggAEIANwNQIABBADYCWCAAQgA3A2AgAEIANwNoIABBADYCcCAAQQA2AogBIABCADcDgAEgAEIANwN4IABBADYCoAEgAEIANwOYASAAQgA3A5ABIABCADcDqAEgAEIANwOwASAAQQA2ArgBIABCADcDwAEgAEIANwPIASAAQQA2AtABIABCADcD2AEgAEIANwPg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IAIQWgsPCxBkAAsQagAL/iACGn8BfiMAQSBrIgskAAJAAkACQAJAAkACQAJAAkACQAJAIAsgARCHCSICKAIYIAIoAhQiA2tBAnUgAigCAGoiBQR/IAJBBGohBkEAIQMDQCADIAIoAgAgAigCGCACKAIUIgRrQQJ1aiIHTwRAQdSJC0EANgIAQQ1Bm48GQf+XA0HKAEGFMhAFQdSJCygCACEMQdSJC0EANgIAIAxBAUYNAwALIAYgByADQX9zaiIHQQJ0IghqIAQgCGpBEGsgB0EESRsoAgAoAgAhBEHUiQtBADYCAEHv9wAgACAEEANB1IkLKAIAIQ1B1IkLQQA2AgAgDUEBRg0CIAQoAgQiBEEBRwRAIANBAWoiAyAFRw0BCwsgAigCFCEDIARBAUcFQQELIQ4gAwRAIAIgAzYCGCADEFoLIA5FDQggASgCACICQQFrIgNBA08gAkEza0EBS3ENByADDlwBAgMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAQFCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAYLEAAhDyACKAIUIgAEQCACIAA2AhggABBaCyAPEAcACyAAIQVBACEDQQAhAEEAIQQCQCABKAIIRQRAA0AgAyABKAIUTw0CIAUgASgCECADQQJ0aigCACIAEMEDIANBAWohAyAAKAIEQQFHDQALDAELAkACQAJAIAEoAhRFDQAgASgCECgCACgCAEEBRw0AAkADQCABIgYoAhRFDQEgASgCECgCACIBQQAgASgCAEEBRhsiAUUNAQJAAkAgAyAERwRAIAQgBjYCAAwBCyADIABrIgJBAnUiCUEBaiIEQYCAgIAETwRAQdSJC0EANgIAQZcDEAlB1IkLKAIAIRBB1IkLQQA2AgAgEEEBRg0GDAcLAkBB/////wMgAkEBdSIHIAQgBCAHSRsgAkH8////B08bIgdFBEBBACEIDAELIAdBgICAgARPBEBB1IkLQQA2AgBBAxAJQdSJCygCACERQdSJC0EANgIAIBFBAUcNCAwHC0HUiQtBADYCAEEEIAdBAnQQBiEIQdSJCygCACESQdSJC0EANgIAIBJBAUYNAgsgCCAJQQJ0aiIEIAY2AgAgBCECIAAgA0cEQANAIAJBBGsi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zgJBssMDEAEAC6ABAQR/IwBBIGsiAyQAAkACQCABQRBPBEAgAS0AAA0BCyADIAI2AhggAyABNgIUIANBADoADEHUiQtBADYCACADQQE2AhBBB0HYnQsgA0EMaiIBEAIhAkHUiQsoAgAhBUHUiQtBADYCACAFQQFHDQEQACEGIAEQdyAGEAcAC0H+0AZBuLMCQegFQbiMBBABAAsgACACNgIAIANBIGokACAAC6glAid/AX4jAEEgayIJJAACQAJAAkACQAJAAkACQAJAAkACQAJAIAkgARCHCSIHKAIYIAcoAhQiCGtBAnUgBygCAGoiAwR/IAdBBGohBEEAIQgDQCAIIAcoAgAgBygCGCAHKAIUIgVrQQJ1aiICTwRAQdSJC0EANgIAQQ1Bm48GQf+XA0HKAEGFMhAFQdSJCygCACELQdSJC0EANgIAIAtBAUYNAwALIAQgAiAIQX9zaiIGQQJ0IgJqIAIgBWpBEGsgBkEESRsoAgAoAgAhBkHUiQtBADYCAEH5ACAAIAYQA0HUiQsoAgAhDEHUiQtBADYCACAMQQFGDQIgBigCBCICQQFHBEAgCEEBaiIIIANHDQELCyAHKAIUIQggAkEBRwVBAQshDSAIBEAgByAINgIYIAgQWgsgDUUNCCAALQCMAQRAIAAoAgQgASAAKAIAEJAFCyABKAIAIgZBAWsiAkEDTyAGQTNrQQFLcQ0HIAIOXAECAwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBAUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBgsQACEOIAcoAhQiAQRAIAcgATYCGCABEFoLIA4QBwALIAAhA0EAIQRBACEFQQAhBiABQRBqIQICQCABKAIIRQRAA0AgBCABKAIUTw0CIAMgASgCECAEQQJ0aigCACIAEMoDIARBAWohBCAAKAIEQQFHDQALDAELAkACQAJAIAEoAhRFDQAgASgCECgCACgCAEEBRw0AIANBCGohCgNAAkAgASIAKAIQKAIAIgEoAgBBAUcEQCAAIQEMAQsCQCAEIAVHBEAgBSAANgIADAELIAQgBmsiCEECdSIFQQFqIgdBgICAgARPBEBB1IkLQQA2AgBBlwMQCUHUiQsoAgAhD0HUiQtBADYCACAP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ACAEQv///////////wCDIQkCQAJAIAFQIgUgAkL///////////8AgyIKQoCAgICAgMD//wB9QoCAgICAgMCAgH9UIApQG0UEQCADQgBSIAlCgICAgICAwP//AH0iC0KAgICAgIDAgIB/ViALQoCAgICAgMCAgH9RGw0BCyAFIApCgICAgICAwP//AFQgCkKAgICAgIDA//8AURtFBEAgAkKAgICAgIAghCEEIAEhAwwCCyADUCAJQoCAgICAgMD//wBUIAlCgICAgICAwP//AFEbRQRAIARCgICAgICAIIQhBAwCCyABIApCgICAgICAwP//AIWEUARAQoCAgICAgOD//wAgAiABIAOFIAIgBIVCgICAgICAgICAf4WEUCIFGyEEQgAgASAFGyEDDAILIAMgCUKAgICAgIDA//8AhYRQDQEgASAKhFAEQCADIAmEQgBSDQIgASADgyEDIAIgBIMhBAwCCyADIAmEQgBSDQAgASEDIAIhBAwBCyADIAEgASADVCAJIApWIAkgClEbIggbIQogBCACIAgbIgxC////////P4MhCSACIAQgCBsiC0IwiKdB//8BcSEHIAxCMIinQf//AXEiBUUEQCAGQeAAaiAKIAkgCiAJIAlQIgUbeSAFQQZ0rXynIgVBD2sQuQMgBikDaCEJIAYpA2AhCkEQIAVrIQULIAEgAyAIGyEDIAtC////////P4MhASAHBH4gAQUgBkHQAGogAyABIAMgASABUCIHG3kgB0EGdK18pyIHQQ9rELkDQRAgB2shByAGKQNQIQMgBikDWAtCA4YgA0I9iIRCgICAgICAgASEIQEgCUIDhiAKQj2IhCENIAIgBIUhBAJ+IANCA4YiAiAFIAdGDQAaIAUgB2siB0H/AEsEQEIAIQFCAQwBCyAGQUBrIAIgAUGAASAHaxC5AyAGQTBqIAIgASAHENAFIAYpAzghASAGKQMwIAYpA0AgBikDSIRCAFKthAshCSANQoCAgICAgIAEhCELIApCA4YhCgJAIARCAFMEQEIAIQNCACEEIAkgCoUgASALhYRQDQIgCiAJfSECIAsgAX0gCSAKVq19IgRC/////////wNWDQEgBkEgaiACIAQgAiAEIARQIgcbeSAHQQZ0rXynQQxrIgcQuQMgBSAHayEFIAYpAyghBCAGKQMgIQIMAQsgCSAKfCIC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IQEgAEEANgKkAiABBEAgARBaCyAAKAKYAiIBBEADQCABKAIAIQggARBaIAgiAQ0ACwsgACgCkAIhASAAQQA2ApACIAEEQCABEFoLIAAoAoQCIgEEQANAIAEoAgAhCSABEFogCSIBDQALCyAAKAL8ASEBIABBADYC/AEgAQRAIAEQWgsgACgC8AEiAQRAA0AgASgCACEKIAEQWiAKIgENAAsLIAAoAugBIQEgAEEANgLoASABBEAgARBaCyAAKALcASIBBEADQCABKAIAIQsgARBaIAsiAQ0ACwsgACgC1AEhASAAQQA2AtQBIAEEQCABEFoLIAAoAsgBIgEEQANAIAEoAgAhDCABEFogDCIBDQALCyAAKALAASEBIABBADYCwAEgAQRAIAEQWgsgAEGoAWoQvwQaIAAoApwBIgQEQANAIAQoAgAhDiAEKAIcIgEEQANAIAEoAgAhDSABEFogDSIBDQALCyAEKAIUIQEgBEEANgIUIAEEQCABEFoLIAQQWiAOIgQNAAsLIAAoApQBIQEgAEEANgKUASABBEAgARBaCyAAKAJ4IgMEQCAAKAJ8IgIgAyIBRwRAA0AgAkEMayEBIAJBAWssAABBAEgEQCABKAIAEFoLIAEiAiADRw0ACyAAKAJ4IQELIAAgAzYCfCABEFoLIAAoAnQhAiAAQQA2AnQgAgRAIAIoAiAiAQRAIAIgATYCJCABEFoLIAIoAhQiAQRAIAIgATYCGCABEFoLIAIQWgsgACgCaCIDBEAgACgCbCIBIAMiAkcEQANAIAFBGGsiAigCDCIEBEAgAUEIayAENgIAIAQQWgsgAUENaywAAEEASARAIAIoAgAQWgsgAiIBIANHDQALIAAoAmghAgsgACADNgJsIAIQWgsgACgCVCIDBEAgACgCWCIBIAMiAkcEQANAIAFBBGsiASgCACECIAFBADYCACACBEAgAhBaCyABIANHDQALIAAoAlQhAgsgACADNgJYIAIQWgsgACgCSCIDBEAgACgCTCIBIAMiAkcEQANAIAFBBGsiASgCACEEIAFBADYCACAEBEAgBCgCHCICBEAgBCACNgIgIAIQWgsgBBBaCyABIANHDQALIAAoAkghAgsgACADNgJMIAIQWgsgACgCPCIDBEAgAEFAaygCACIBIAMiAkcEQANAIAFBBGsiASgCACECIAFBADYCACACBEAgAhBaCyABIANHDQALIAAoAjwhAgsgACADNgJAIAIQWgsgACgCMCIDBEAgACgCNCIBIAMiAkcEQANAIAFBBGsiASgCACEEIAFBADYCACAEBEAgBCgCHCICBEAgBCACNgIgIAIQWgsgBBBaCyABIANHDQALIAAoAjAhAgsgACADNgI0IAIQWgsgACgCJCIDBEAgACgCKCIBIAMiAkcEQANAIAFBBGsiASgCACECIAFBADYCACACBEAgAhBaCyABIANHDQALIAAoAiQhAgsgACADNgIoIAIQWgsgACgCGCIDBEAgACgCHCIBIAMiAkcEQANAIAFBBGsiASgCACECIAFBADYCACACBEAgAhBaCyABIANHDQALIAAoAhghAgsgACADNgIcIAIQWgsgACgCDCIDBEAgACgCECIBIAMiAkcEQANAIAFBBGsiASgCACECIAFBADYCACACBEAgAhCkAhBaCyABIANHDQALIAAoAgwhAgsgACADNgIQIAIQWgsgACgCACIDBEAgACgCBCIBIAMiAkcEQANAIAFBBGsiASgCACECIAFBADYCACACBEAgAhBaCyABIANHDQALIAAoAgAhAgsgACADNgIEIAIQWgsgAAvGAgIIfwF+AkAgACgCBCIGRQ0AIAFCIIgiCqchBSABpyEHIABBBGoiCCEDIAYhBANAAkAgBCkCECIBpyAHIAUgAUIgiCIBpyICIAIgBUsbEF4iAg0AQQAhAiABIApRDQBBf0EBIAEgClQbIQILIAMgBCACQQBIIgIbIQMgBEEEaiAEIAIbKAIAIgQNAAsgAyAIRg0AAkAgByADKQIQIgGnIAFCIIgiAaciAiAFIAIgBUkbEF4iAkUEQCABIApYDQEMAgsgAkEASA0BCwJAIAMoAgQiAkUEQCADIQIDQCACKAIIIgQoAgAgAkchCSAEIQIgCQ0ACwwBCwNAIAIiBCgCACICDQALCyADIAAoAgBGBEAgACAENgIACyAAIAAoAghBAWs2AgggBiADEOUBIAMoAhgiAARAIAMgADYCHCAAEFoLIAMQWgsLTgEEfyAAKAIIIgEEQANAIAEoAgAhBCABKAIMIgMEQCABIAM2AhAgAxBaCyABEFogBCIBDQALCyAAKAIAIQIgAEEANgIAIAIEQCACEFoLC38CAn8BfiMAQRBrIgMkACAAAn4gAUUE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DAILQQEhAyACRQ0BC0EAIQMgBkEASA0AQeinCygCACAFQShsai0AIARAIAJBH3YPCyACQQBKIQMLIAMPC0H/9wVB5IYDQa4DQaaIBRABAAtB5IoFQeSGA0HyCEGltgEQAQALQcWiAUGJogNBvAFBpogFEAEACysBAX8jAEEQayICJAAgAiABNgIMQZCCCyAAIAFBAEEAEMoSGiACQRBqJAALrggBCn9BgKgLQRBBCBBdIgJBAzYCACACQQMQtAIhCkGAqAtBEEEIEF0iCEEANgIAIAhB0KMLKQMANwIIIAooAgBBAkYEQAJAIAooAggiAygCACEGAkAgAygCBCIFIAMoAghHBEAgBiECDAELIAMgBUEBdEECaiICNgIIIANBgKgLIAJBAnRBBBBdIgI2AgAgAygCBCIFRQRAQQAhBQwBC0EAIQIgBUEETwRAIAVBfHEhBwNAIAJBAnQiBCADKAIAaiAEIAZqKAIANgIAIARBBHIiCyADKAIAaiAGIAtqKAIANgIAIARBCHIiCyADKAIAaiAGIAtqKAIANgIAIARBDHIiBCADKAIAaiAEIAZqKAIANgIAIAJBBGoiAiAHRw0ACwsgBUEDcSIEBEADQCACQQJ0IgcgAygCAGogBiAHaigCADYCACACQQFqIQIgCUEBaiIJIARHDQALCyADKAIAIQILIAIgBUECdGogCDYCACADIAMoAgRBAWo2AgRBgKgLQRBBCBBdIgggADcCCCAIQQA2AgAgCigCAEECRw0AIAooAggiAygCACEGAkAgAygCBCIFIAMoAghHBEAgBiECDAELIAMgBUEBdEECaiICNgIIIANBgKgLIAJBAnRBBBBdIgI2AgAgAygCBCIFRQRAQQAhBQwBC0EAIQlBACECIAVBBE8EQCAFQXxxIQcDQCACQQJ0IgQgAygCAGogBCAGaigCADYCACAEQQRyIgsgAygCAGogBiALaigCADYCACAEQQhyIgsgAygCAGogBiALaigCADYCACAEQQxyIgQgAygCAGogBCAGaigCADYCACACQQRqIgIgB0cNAAsLIAVBA3EiBARAA0AgAkECdCIHIAMoAgBqIAYgB2ooAgA2AgAgAkEBaiECIAlBAWoiCSAERw0ACwsgAygCACECCyACIAVBAnRqIAg2AgAgAyADKAIEQQFqNgIEIAooAgBBAkcNACAK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KQMAIQMgAkEENgIAIAAgAyACQThqIAUQvAIoAgBBABDwAyAAQbitCykDAEEAQQUQ8ANBwK0LKQMAIQMgAkEFNgIAIAAgAyACQTRqIAUQvAIoAgBBABDwA0HIrQspAwAhAyACQoKAgIAgNwIIIAJCgoCAgCA3AgAgACADIAJBMGogBEKAgICAwACEELwCKAIAQQAQ8ANB0K0LKQMAIQMgAkECNgIIIAJCgoCAgCA3AgAgACADIAJBLGogBEKAgICAMIQiAxC8AigCAEEAEPADQditCykDACEGIAJBAjYCCCACQoKAgIAgNwIAIAAgBiACQShqIAMQvAIoAgBBABDwA0HgrQspAwAhAyACQQI2AgAgACADIAJBJGogBRC8AigCAEEAEPADQeitCykDACEFIAJBgKwHKAIANgIQIAJB+KsHKQIANwMIIAJB8KsHKQIANwMAIAAgBSACQSBqIARCgICAgNAAhBC8AigCAEECEPADQfCtCykDACEFIAJBlKwHKQIANwMQIAJBjKwHKQIANwMIIAJBhKwHKQIANwMAIAAgBSACQRxqIARCgICAgOAAhBC8AigCAEECEPADIABB+K0LKQMAQQBBAhDwAyAAQYCuCykDAEEAQQAQ8AMgAkHQAGokAAsbACAABEAgACgCABCEBCAAKAIEEIQEIAAQWgsLTgEDfyAAKAIUIgIEQANAIAIoAgAhAyACEFogAyICDQALCyAAKAIMIQEgAEEANgIMIAEEQCABEFoLIAAoAgAiAQRAIAAgATYCBCABEFoLC9wCAQh/IwBB0ABrIgIkACACIAJBOGoiAzYCSCACQgA3AhQgAkIANwIcIAJCADcCJCACQQE6ADAgAkGAgID8AzYCLCACIAA2AgggAkGcuwc2AjggAkIANwIMQdSJC0EANgIAIAIgAkEIaiIANgI8QcAFIAAgARACIQRB1IkLKAIAIQZB1IkLQQA2AgAgBkEBRwRAAkACQCADIAIoAkgiAEYEQEEEIQEgAyEADAELQQUhASAARQ0BCyAAIAAoAgAgAUECdGooAgARAQALAkAgAi0AMEUNACACKAIkIgEEQANAIAEoAgAhCCABKAIcIgAEQANAIAAoAgAhByAAEFogByIADQALCyABKAIUIQAgAUEANgIUIAAEQCAAEFoLIAEQWiAIIgENAAsLIAIoAhwhACACQQA2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KAIAIQwgARBaIAwiAQ0ACwsgAygCACEAIANBADYCACAABEAgABBaCyAEKAIUIgEgAkcNAAsgBCgCDCEBCyABBEAgARBaCyAEQSBqJAAPCxAAIQ0gBEEMahDqDyANEAcACxBkAAsQagALjAMBCn8gAEHQvAc2AgAgACgC3AEiAQRAA0AgASgCACEFIAEQWiAFIgENAAsLIAAoAtQBIQEgAEEANgLUASABBEAgARBaCyAAKALIASIBBEADQCABKAIAIQYgARBaIAYiAQ0ACwsgACgCwAEhASAAQQA2AsABIAEEQCABEFoLIAAoArQBIgEEQANAIAEoAgAhByABEFogByIBDQALCyAAKAKsASEBIABBADYCrAEgAQRAIAEQWgsgACgCoAEiAQRAA0AgASgCACEIIAEQWiAIIgENAAsLIAAoApgBIQEgAEEANgKYASABBEAgARBaCyAAKAKMASICBEADQCACKAIAIQogAigCGCIBBEADQCABKAIAIQkgARBaIAkiAQ0ACwsgAigCECEBIAJBADYCECABBEAgARBaCyACEFogCiICDQALCyAAKAKEASEBIABBADYChAEgAQRAIAEQWgsgACgCbCIBBEAgACABNgJwIAEQWgsgAEGQ7Qk2AgAgACwAE0EASARAIAAoAggQWgsgAAvsAQEEfyMAQRBrIgMkAAJAAkACQCAAKAIAIgFBB08EQEEBIQICQCABKAIEDgIAAgMLIAEoAgwiBCABKAIIIgFGDQIgAyABKAIANgIMQQAhAiADQQxqEJcERQ0CQQEhAiAEIAFrIgFBBEYNAiABQQJ1IQRBASEBA0AgACgCACICQQdJDQQgAigCBA0EIAMgAigCCCABQQJ0aigCADYCDCADQQxqEJcEIgJFDQMgAUEBaiIBIARHDQALDAILIAFBAUshAgwBCyABKAIMQQBHIQILIANBEGokACACDwtB3cMGQbizAkHYCEGg1gUQAQAL3QIBA38jAEEgayIDJAAgACgCBEEUQQQQXSIEIAI2AgggBEIhNwIAIARCADcCDCADIAAgAUEBEGkiBRCkASICNgIUAkAgBSgCKCIFRQ0AIAAoAtABRQ0AIANBCGogACAFEKMBIANBGGogACgC0AFB4ABqIAIgA0EUahB4IAMoAhgiBSADKAIQNgIUIAUgAykCCDcCDAsgBCACNgIMIAMg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DAELIAAoAgQiByADSQRAIAEgA2shAiADIAMgB2tBAnVBAWpBfm1BAnQiBWohBCABIANHBEAgBCADIAL8CgAAIAAoAgghAQsgACACIARqIgM2AgwgACABIAVqNgIIDAELQQEgASAHa0EBdSABIAdGGyICQf////8DSw0CQdSJC0EANgIAQQQgAkECdCIKEAYhCEHUiQsoAgAhDUHUiQtBADYCACANQQFGDQQgCCACQXxxaiICIQQgASADRwRAIAIgASADa2ohBCACIQUDQCAFIAMoAgA2AgAgA0EEaiEDIAVBBGoiBSAERw0ACwsgACAIIApqNgIQIAAgBDYCDCAAIAI2AgggACAINgIEIAcQWiAAKAIMIQMLIAMgCTYCACAAIAAoAgxBBGo2AgwMBQsgACgCECICIAAoAgQiBGsiBSAISwRAIAEgAkcEQEHUiQtBADYCAEEEQYAgEAYhAkHUiQsoAgAhDkHUiQtBADYCACAOQQFGDQQgASACNgIAIAAgACgCDEEEajYCDAwGC0HUiQtBADYCAEEEQYAgEAYhCkHUiQsoAgAhD0HUiQtBADYCACAPQQFGDQMCQCADIARHBEAgAyEBDAELQQEgAiADa0EBdSAJGyIBQf////8DSw0CQdSJC0EANgIAQQQgAUECdCIMEAYhB0HUiQsoAgAhEEHUiQtBADYCACAQQQFGDQQgByABQQNqQXxxaiIBIQIgCUUEQCABIAhqIQIgASEFIAMhBANAIAUgBCgCADYCACAEQQRqIQQgBUEEaiIFIAJHDQALCyAAIAcgDGo2AhAgACACNgIMIAAgATYCCCAAIAc2AgQgA0UNACADEFogACgCCCEBCyABQQRrIAo2AgAgACAAKAIIIgNBBGsiATYCCCABKAIAIQggACADNgIIAkAgACgCDCIFIAAoAhBHDQAgACgCBCICIANJBEAgBSADayEBIAMgAyACa0ECdUEBakF+bUECdCIEaiECIAMgBUcEQCACIAMgAfwKAAAgACgCCCEDCyAAIAEgAmoiBTYCDCAAIAMgBGo2AggMAQtBASAFIAJrQQF1IAIgBUYbIgFB/////wNLDQJB1IkLQQA2AgBBBCABQQJ0IgkQBiEHQdSJCygCACERQdSJC0EANgIAIBFBAUYNBCAHIAFBfHFqIgEhBCADIAVHBEAgASAFIANraiEEIAEh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ACABNgKMAUHUiQtBADYCACADIAE2AgxBkooBIABB9ABqIANBDGoQA0HUiQsoAgAhBEHUiQtBADYCACAEQQFHBEAgAygCDCIBBEAgASgCGCICBEAgASACNgIcIAIQWgsgASgCDCICBEAgASACNgIQIAIQWgsgASgCACICBEAgASACNgIEIAIQWgsgARBaCyAAKAKMASEFIANBEGokACAFDwsQACEGIANBDGoQnQggBhAHAAvUAwIEfwR8IAMoAgAiBCgCACAEKAIEIAEoAgAQrgIhBSAEKAIAIAQoAgQgACgCABCuAiIEKAIAIQYgBSgCACEHIAQrAwghCCAFKwMIIQkgAygCACIEKAIAIAQoAgQgAigCABCuAiEFIAQoAgAgBCgCBCABKAIAEK4CIQQgBSsDCCIKIAQrAwgiC2MgBSgCACAEKAIASyAKIAtiGyEEAkAgCCAJZCAGIAdJIAggCWIbRQRAIARFDQEgASgCACEEIAEgAigCADYCACACIAQ2AgAgAygCACICKAIAIAIoAgQgASgCABCuAiEDIAIoAgAgAigCBCAAKAIAEK4CIQIgAysDCCIIIAIrAwgiCWMgAygCACACKAIASyAIIAliG0EBRw0BIAAoAgAhAiAAIAEoAgA2AgAgASACNgIADwsgACgCACEFIAQEQCAAIAIoAgA2AgAgAiAFNgIADwsgACABKAIANgIAIAEgBTYCACADKAIAIgAoAgAgACgCBCACKAIAEK4CIQMgACgCACAAKAIEIAEoAgAQrgIhACADKwMIIgggACsDCCIJYyADKAIAIAAoAgBLIAggCWIbQQFHDQAgASgCACEAIAEgAigCADYCACACIAA2AgALC5gCAQd/AkAgACgCPEUNACAAKAI4IgEoAgAiAiAAKAI0KAIEIgM2AgQgAyACNgIAIABBADYCPCABIABBNGoiA0YNAANAIAEoAgQhBCABEFogBCIBIANHDQALCyAAKAIoIgEEQANAIAEoAgAhBSABEFogBSIBDQALCyAAKAIgIQEgAEEANgIgIAEEQCABEFoLAkAgACgCHEUNACAAKAIYIgEoAgAiAiAAKAIUKAIEIgM2AgQgAyACNgIAIABBADYCHCABIABBFGoiA0YNAANAIAEoAgQhBiABEFogBiIBIANHDQALCyAAKAIIIgEEQANAIAEoAgAhByABEFog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QRBBCBBdIgFBAzYCACABQQMQtAIhCUGAqAtBEEEIEF0iCkEANgIAIApB+KILKQMANwIIIAkoAgBBAkYEQAJAIAkoAggiAigCACEFAkAgAigCBCIEIAIoAghHBEAgBSEBDAELIAIgBEEBdEECaiIBNgIIIAJBgKgLIAFBAnRBBBBdIgE2AgAgAigCBCIERQRAQQAhBAwBC0EAIQEgBEEETwRAIARBfHEhBgNAIAFBAnQiAyACKAIAaiADIAVqKAIANgIAIANBBHIiByACKAIAaiAFIAdqKAIANgIAIANBCHIiByACKAIAaiAFIAdqKAIANgIAIANBDHIiAyACKAIAaiADIAVqKAIANgIAIAFBBGoiASAGRw0ACwsgBEEDcSIDBEADQCABQQJ0IgYgAigCAGogBSAGaigCADYCACABQQFqIQEgCEEBaiIIIANHDQALCyACKAIAIQELIAEgBEECdGogCjYCACACIAIoAgRBAWo2AgRBgKgLQRBBCBBdIgogADcCCCAKQQA2AgAgCSgCAEECRw0AIAkoAggiAigCACEFAkAgAigCBCIEIAIoAghHBEAgBSEBDAELIAIgBEEBdEECaiIBNgIIIAJBgKgLIAFBAnRBBBBdIgE2AgAgAigCBCIERQRAQQAhBAwBC0EAIQhBACEBIARBBE8EQCAEQXxxIQYDQCABQQJ0IgMgAigCAGogAyAFaigCADYCACADQQRyIgcgAigCAGogBSAHaigCADYCACADQQhyIgcgAigCAGogBSAHaigCADYCACADQQxyIgMgAigCAGogAyAFaigCADYCACABQQRqIgEgBkcNAAsLIARBA3EiAwRAA0AgAUECdCIGIAIoAgBqIAUgBmooAgA2AgAgAUEBaiEBIAhBAWoiCCADRw0ACwsgAigCACEBCyABIARBAnRqIAo2AgAgAiACKAIEQQFqNgIEQYCoC0EQQQgQXSIBQQM2AgAgAUEAELQCIQogCSgCAEECRw0AIAkoAggiAigCACEFAkAgAigCBCIEIAIoAghHBEAgBSEBDAELIAIgBEEBdEECaiIBNgIIIAJBgKgLIAFBAnRBBBBdIgE2AgAgAigCBCIERQRAQQAhBAwBC0EAIQhBACEBIARBBE8EQCAEQXxxIQYDQCABQQJ0IgMgAigCAGogAyAFaigCADYCACADQQRyIgcgAigCAGogBSAHaigCADYCACADQQhyIgcgAigCAGogBSAHaigCADYCACADQQxyIgMgAigCAGogAyAFaigCADYCACABQQRqIgEgBkcNAAsLIARBA3EiAwRAA0AgAUECdCIGIAIoAgBqIAUgBmooAgA2AgAgAUEBaiEBIAhBAWoiCCADRw0ACwsgAigCACEBCyABIARBAnRqIAo2AgAgAiACKAIEQQFqNgIEIAkPCwtB//cFQeSGA0GzA0H4+wIQAQALlwMCCH8BfhC7AyEJIAAoAgAoAgAiACgCAEECRgRAIAAoAggiAygCACEGAkAgAygCBCIFIAMoAghHBEAgBiEADAELIAMgBUEBdEECaiIANgIIIANBgKgLIABBAnRBBBBdIgA2AgAgAygCBCIFRQRAQQAhBQwBC0EAIQAgBUEETwRAIAVBfHEhBwNAIABBAnQiBCADKAIAaiAEIAZqKAIANgIAIARBBHIiCCADKAIAaiAGIAhqKAIANgIAIARBCHIiCCADKAIAaiAGIAhqKAIANgIAIARBDHIiBCADKAIAaiAEIAZqKAIANgIAIABBBGoiACAHRw0ACwsgBUEDcSIEBEADQCAAQQJ0IgcgAygCAGogBiAHaigCADYCACAAQQFqIQAgCkEBaiIKIARHDQALCyADKAIAIQALIAAgBUECdGogCTYCACADIAMoAgRBAWo2AgRBqKALKQMAIQtBgKgLQRBBCBBdIgAgCzcCCCAAQQA2AgAgCSABIAIgABCdAxCBBBC6Aw8LQf/3BUHkhgNBswNB+PsCEAEACwcAIAEQWRoLhQICAn8BfiMAQSBrIgIkACABKAIQIgNBB0kEQAJAAkACQAJAAkACQCADQQJrDgQEAAECAwsgASkDACEEIABBAzYCECAAQgAgBH03AwAMBAsgASgCACEBIAJBAjYCGCACIAFBgICAgHhzIgE2AgggACABNgIAIABBBDYCECACQQhqEFkaDAMLIAEpAwAhBCACQQM2AhggAiAEQoCAgICAgICAgH+FIgQ3AwggACAENwMAIABBBTYCECACQQhqEFkaDAILQe+EBEHppAJBjAcQYgALIAEoAgAhASAAQQI2AhAgAEEAIAFrNgIACyACQSBqJAAPC0HhzQZBn58DQcMBQfPnBBABAAvIAQIEfwF+IAAgACgCGEUgAXIiATYCECAAKAIUIAFx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ayIGQQF1IgggAyADIAhJGyAGQfz///8HTxsiBgR/IAZBgICAgARPDQggBkECdBBcBUEACyIIIAVBAnRqIgMgATYCACADQQRqIQEgAiAERwRAA0AgA0EEayIDIAJBBGsiAigCADYCACACIARHDQALIAcoAgAhAgsgByADNgIAIAAgATYCCCAAIAggBkECdGo2AgwgAkUNCiACEFoMCgsgACgCECIDQQxrIQUCQCABKAIQKAIEIgJBB0kNACACKAIEDQACfwJAIAAoAgQiAigCuAIgAigCvAIgASkCCBCHAygCHCIEQQdJDQAgBCgCBA0AIAQoAgwgBCgCCGtBAnUMAQsgBEEARwsiAkUNCiAMQRhqIAAoAgQgASgCCCABKAIMIAJBAWsiBhCMCCADQQRrIQogA0EIayEIIARBB0khDQNAAkACQCANDQAgBCgCBA0AIAQoAgggBkECdGooAgAhAwwBCyAERQ0NIAQhAyAGDQ0LIAAoAghBqAFqQQhBBBBdIgIgAzYCBCACQSg2AgAgDCkDGCEYIAAoAghBqAFqQRRBBBBdIgcgAjYCECAHIBg3AgggB0ILNwIAIAIoAgRBAUYEQCAHQQE2AgQLAkAgCCgCACICIAooAgAiC0kEQCACIAc2AgAgCCACQQRqNgIADAELIAIgBSgCACIJa0ECdSIOQQFqIgNBgICAgARPDQpB/////wMgCyAJayILQQF1Ig8gAyADIA9JGyALQfz///8HTxsiCwR/IAtBgICAgARPDQogC0ECdBBcBUEACyIPIA5BAnRqIgMgBzYCACADQQRqIQcgAiAJRwRAA0AgA0EEayIDIAJBBGsiAigCADYCACACIAlHDQALIAUoAgAhAgsgBSADNgIAIAggBzYCACAKIA8gC0ECdGo2AgAgAkUNACACEFoLIAZFDQsgDEEYaiAAKAIEIAEoAgggASgCDCAGQQFrIgYQjAgMAAsACyAAKAIIIAEQiwggA0EQayIAKAIIIgIgACgCDCIGSQRAIAIgATYCACAAIAJBBGo2AggMCgsgAiAFKAIAIgRrQQJ1IgdBAWoiA0GAgICABE8NB0H/////AyAGIARrIgZBAXUiCCADIAMgCEkbIAZB/P///wdPGyIGBH8gBkGAgICABE8NByAGQQJ0EFwFQQALIgggB0ECdGoiAyABNgIAIANBBGohASAC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ACgCEBBaCyAAEFoLCwIAC7EBAQV/IABB+OsJNgIAAkAgACgCKEUNACAAKAIkIgEoAgAiAiAAKAIgKAIEIgM2AgQgAyACNgIAIABBADYCKCABIABBIGoiA0YNAANAIAEoAgQhBCABEFogBCIBIANHDQALCyAAKAIUIgEEQANAIAEoAgAhBSABEFogBSIBDQALCyAAKAIMIQEgAEEANgIMIAEEQCABEFoLIAAoAgghASAAQQA2AgggAQRAIAEQkQMLIAALUgEDfyAABEAgACgCABC9BSAAKAIEEL0FIAAoAhwiAgRAA0AgAigCACEDIAIQWiADIgINAAsLIAAoAhQhASAAQQA2AhQgAQRAIAEQWgsgABBaCwv6AwEGfwJAAkACQAJAIAAoAhAiA0UNACAAKAIMAn8gAUGV08feBWwiAkEYdiACc0GV08feBWxBqJm99H1zQZXTx94FbCICQQ12IAJzQZXTx94FbCICQQ92IAJzIgUgA0EBa3EgA2kiBEEBTQ0AGiAFIAMgBUsNABogBSADcAsiBkECdGooAgAiAkUNACACKAIAIgJFDQAgBEEBTQRAIANBAWshAwNAAkAgAigCBCIEIAVHBEAgAyAEcSAGRg0BDAQLIAIoAgggAUYNBAsgAigCACICDQALDAELA0ACQCACKAIEIgQgBUcEQCADIARNBH8gBCADcAUgBAsgBkYNAQwDCyACKAIIIAFGDQMLIAIoAgAiAg0ACwsgACgCBCICIAAoAghHBEAgAiABNgIAIAAgAkEEajYCBA8LIAIgACgCACIDayIFQQJ1IgZBAWoiBEGAgICABE8NAUH/////AyAFQQF1IgcgBCAEIAdJGyAFQfz///8HTxsiBAR/IARBgICAgARPDQMgBEECdBBcBUEACyIHIAZBAnRqIgUgATYCACAFQQRqIQEgAiADRwRAA0AgBUEEayIFIAJBBGsiAigCADYCACACIANHDQALCyAAIAcgBEECdGo2AgggACABNgIEIAAgBTYCACADRQ0AIAMQWgsPCxBkAAsQagALjQEBA38jAEEgayIBJAACQCAALQAYIgJB/wFGDQAgAUGWFzYCHCABQZcXNgIYIAFBmBc2AhQgAUGZFzYCEEHUiQtBADYCACABQRBqIAJBAnRqKAIAIAFBD2ogABADQdSJCygCACEDQdSJC0EANgIAIANBAUcNAEEAEAsaEHAACyAAQf8BOgAYIAFBIGokAAuzBwIKfwJ9IAJBldPH3gVsIgRBGHYgBHNBldPH3gVsQdTMnvoGcyIEQQ12IARzQZXTx94FbCIEQQ92IARzIQQCQCAAAn8CQCABKAIEIgVFDQAgASgCAAJ/IAQgBUEBa3EgBWkiCEEBTQ0AGiAEIAQgBUkNABogBCAFcAsiB0ECdGooAgAiBkUNACAGKAIAIgZFDQAgCEEBTQRAIAVBAWshCANAAkAgBCAGKAIEIglHBEAgCCAJcSAHRw0EDAELIAYoAgggAkcNAEEADAQLIAYoAgAiBg0ACwwBCwNAAkAgBCAGKAIEIghHBEAgBSAITQR/IAggBXAFIAgLIAdHDQMMAQsgBigCCCACRw0AQQAMAwsgBigCACIGDQALC0EMEFwiBiAENgIEIAYgAzYCCCAGQQA2AgAgASoCECEOIAEoAgxBAWqzIQ8CQAJAIAVFDQAgDiAFs5QgD10NACAHIQQMAQtBAiECAkAgBSAFQQFrcUEARyAFQQNJciAFQQF0ciIDAn8gDyAOlY0iDkMAAIBPXSAOQwAAAABgcQRAIA6pDAELQQALIgcgAyAHSxsiA0EBRg0AIAMgA0EBa3FFBEAgAyECDAELQdSJC0EANgIAQRUgAxAGIQJB1IkLKAIAIQpB1IkLQQA2AgAgCkEBRg0DIAEoAgQhBQsCQCACIAVNBEAgAiAFTw0BIAVBA0khBwJ/IAEoAgyzIAEqAhCVjSIOQwAAgE9dIA5DAAAAAGBxBEAgDqkMAQtBAAshAwJAAkAgBw0AIAVpQQFLDQAgA0EBQSAgA0EBa2drdCADQQJJGyEHDAELQdSJC0EANgIAQRUgAxAGIQdB1IkLKAIAIQtB1IkLQQA2AgAgC0EBRg0FCyACIAcgAiAHSxsiAiAFTw0BC0HUiQtBADYCAEGXFiABIAIQA0HUiQsoAgAhDEHUiQtBADYCACAMQQFGDQMLIAEoAgQiBSAFQQFrIgJxRQRAIAIgBHEhBAwBCyAEIAVJDQAgBCAFcCEECwJAAkAgASgCACAEQQJ0aiICKAIAIgRFBEAgBiABQQhqIgMoAgA2AgAgASAGNgIIIAIgAzYCACAGKAIAIgJFDQIgAigCBCEEAkAgBSAFQQFrIgJxRQRAIAIgBHEhBAwBCyAEIAVJDQAgBCAFcCEECyABKAIAIARBAnRqIQQMAQsgBiAEKAIANgIACyAEIAY2AgALIAEgASgCDEEBajYCDEEBCzoABCAAIAY2AgAPCxAAIQ0gBhBaIA0QBwALsgYBB38jAEEQayIDJAACQAJ/IAFBBk0EQAJAAkACQAJAAkACQAJAIAFBAWsOBgECAwQFBgALIAAoAgBB3JEEQQQQXwwHCyAAKAIAQeOvBEELEF8MBgsgACgCAEHmuQVBAxBfDAULIAAoAgBBmagFQQMQXwwECyAAKAIAQd67BUEDEF8MAwsgACgCAEHlqgVBAxBfDAILIAAoAgBB9p8FQQQQXwwBCyABLQAABEAgACgCAEHe/QZBCxBfGgsCQAJAAkAgASgCBA4CAAEECyAAKAIAIQUgA0EoOgAOIAUgA0EOakEBEF8aAkAgASgCCCICIAEoAgwiBEYNACACKAIAIQEgACgCAEGVqwdBABBfGiAAIAEQwQUaIAJBBGoiASAERg0AA0AgASgCACECIAAoAgBBjJgHQQEQXxogACACEMEFGiABQQRqIgEgBEcNAAsLIAAoAgAhBiADQSk6AA8gBiADQQ9qQQEQXxoMAQsCQCABKAIIIgJBD0sNACABKAIMQQFHDQACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCACQQFrDg8BAgMEBQYHCAkKCwwNDg8ACyAAKAIAQY+yA0EJEF8MEQsgACgCAEHHsgNBBxBfDBALIAAoAgBB/q8DQQYQXwwPCyAAKAIAQfuwA0EFEF8MDgsgACgCAEG6swNBBhBfDA0LIAAoAgBBjrADQQkQXwwMCyAAKAIAQYWwA0EIEF8MCwsgACgCAEG4sQNBBhBfDAoLIAAoAgBBobIDQQkQXwwJCyAAKAIAQe2aBUEPEF8MCAsgACgCAEGQoQVBEBBfDAcLIAAoAgBBufwBQQ8QXwwGCyAAKAIAQZmyA0EHEF8MBQsgACgCAEG/sQNBDRBfDAQLIAAoAgBBq7IDQQsQXwwDCyAAKAIAQYGxA0EKEF8MAgsgACgCAEGQ4wZBBRBfGgJAIAEoAgRBAUcNACABKAIMQQFHDQAgACgCAEGb4AZBBRBfGgsgACACEJ4QIAAoAgAhByADQSk6AA0gByADQQ1qQQEQXxoLIAAoAgALIQggA0EQaiQAIAgPC0HvhARBuLMCQdEOEGIACzkBA38gACgCECICBEADQCACKAIAIQMgAhBaIAMiAg0ACwsgACgCCCEBIABBADYCCCABBEAgARBaCwt7AQJ/AkAgAEEQTwRAIAAhAgNAIAIoAgQiAgRAIAFBAWohASACQQ9LDQELCwJAAkACQCAAKAIQIgAOAwAEAQILIAFBAWoPCyABQQNqDwsgAUEDaiABIABBA0YbDwsgAEEDayIAQQxLDQAgAEECdEG4/ApqKAIAIQELIAELjgQBBn8gASgCACECIAAoAgRBqAFqQQxBBBBdIgNBADYCCAJAAkACQAJAAkACQCACQQFrDgMAAQIDCyADIAE2AgQgA0EBNgIAIAEoAgAiAkEBa0EDTyACQTNHcQ0DQQAhAgwECyADIAE2AgQgA0EDNgIAIAEoAgAiAkEBa0EDTyACQTNHcQ0CQQAhAgwDCyADIAE2AgQgA0EGNgIAIAEoAgAiAkEBa0EDTyACQTNHcQ0BQQAhAgwCCyACQTNHBEAgAyABNgIEQQAhAiADQQA2AgAgASgCACIEQQFrQQNJDQIgBEEzRg0CDAELIAMgATYCBCADQQg2AgAgASgCACICQQFrQQNPIAJBM0dxDQBBACECDAELIAEoAgQhAgsgAyACNgIIIAAoAgwiASAAKAIQRwRAIAEgAzYCACAAIAFBBGo2AgwPCwJAIAEgACgCCCIGayICQQJ1IgdBAWoiBEGAgICABEkEQEH/////AyACQQF1IgUgBCAEIAVJGyACQfz///8HTxsiBAR/IARBgICAgARPDQIgBEECdBBcBUEACyIFIAdBAnRqIgIgAzYCACACQQRqIQMgASAGRwRAA0AgAkEEayICIAFBBGsiASgCADYCACABIAZHDQALIAAoAgghAQsgACAFIARBAnRqNgIQIAAgAzYCDCAAIAI2AgggAQRAIAEQWgsPCxBkAAsQagALhwcCB38CfiMAQUBqIgQkACAAKAIEQTBBCBBdIgVCADcDCCAFIAI2AgQgBUEZNgIAIAVCADcDKCAFQgA3AyAgBUIANwMYIAVBEGoiBkIANwMAIAUgAzoACAJ/IAFBBBCJBQRAAn8CQCABQQEQaSICLQAADQAgAi0AHEUNACAEQShqIgMgAhDsASADDAELIAIQiwMhAiAEQShqIgMgACgCUCAAKAJUIAIQ9gIgAwspAgAhC0ECDAELIARBKGogACgCUCAAKAJUQQAQ9gIgBCkDKCELQQELIQcgBSALNwIkIAUxAAghDCAEIAs3AxggBCAMNwMgIAAoAgAhAyAEIAs3AwAgByABIAYgBEEgaiADIAQQxgQQiAUhAgJAAkACQAJAIAQpAyAgBTEACFIEQEEUEHIhBUHUiQtBADYCAEHMASAEQQxqQbPAAxACIQNB1IkLKAIAIQhB1IkLQQA2AgBBASECIAhBAUYNAkHUiQtBADYCAEHQASAFIAMgARAEIQBB1IkLKAIAIQlB1IkLQQA2AgAgCUEBRwRAQQAhAkHUiQtBADYCAEHNASAAQbC5B0HOARAIQdSJCygCACEKQdSJC0EANgIAIApBAUcNAgsQACEAIAMsAAtBAEgEQCADKAIAEFoLIAJFDQQMAwsgBCAAIAEgAhBpIgYQpAEiAzYCNAJAIAYoAigiBkUNACAAKALQAUUNACAEQShqIAAgBhCjASAEQThqIAAoAtABQeAAaiADIARBNGoQeCAEKAI4IgYgBCgCMDYCFCAGIAQpAig3AgwLIAUgAzYCGCAEIAAgASACQQFqEGkiBhCkASIDNgI0AkAgBigCKCIGRQ0AIAAoAtABRQ0AIARBKGogACAGEKMBIARBOGogACgC0AFB4ABqIAMgBEE0ahB4IAQoAjgiBiAEKAIwNgIUIAYgBCkCKDcCDAsgBSADNgIcIAQgACABIAJBAmoQaSICEKQBIgE2AjQCQCACKAIoIgJFDQAgACgC0AFFDQAgBEEoaiAAIAIQowEgBEE4aiAAKALQAUHgAGogASAEQTRqEHggBCgCOCIAIAQoAjA2AhQgACAEKQIoNwIMCyAFIAE2AiACQAJAIAUoAhgoAgRBAUYNACAFKAIcKAIEQQFGDQAgASgCBEEBRw0BCyAFQQE2AgQLIARBQGskACAFDwsACxAAIQALIAUQbgsgABAHAAuYBQIGfwJ+IwBBMGsiAiQAAkACQAJAAkACQAJAIAAQwQsiB0IAWQRAIAenIgEgACgCTCAAKAJIIgNrQQJ1SQ0BIAJBFGoiASAHEKcIQdSJC0EANgIAQfwBIAFBjekGEAIhAUHUiQsoAgAhA0HUiQtBADYCAAJAAkAgA0EBRwRAIAIgASgCCDYCKCACIAEpAgA3AyAgAUIANwIAIAFBADYCCEHUiQtBADYCAEGwAiAAIAJBIGoQA0HUiQsoAgAhBEHUiQtBADYCACAEQQFGDQEMCQsQACEADAELEAAhACACLAArQQBODQAgAigCIBBaCyACLAAfQQBODQUgAigCFBBaDAULAkAgB0IffCIIQhJWBEAgB0KBflINAUEPIQEMAwsCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAinQQFrDhIIDg4OBwYOBQQDAgEAEA0KCwwJC0ECIQEMDwtBAyEBDA4LQQQhAQwNC0EFIQEMDAtBBiEBDAsLQQchAQwKC0EIIQEMCQtBCSEBDAgLQQohAQwHC0ELIQEMBgtBDCEBDAULQQ0hAQwEC0EOIQEMAwtBASEBDAILIAJBFGoiASAHEKcIQdSJC0EANgIAQfwBIAFBh/gGEAIhAUHUiQsoAgAhBUHUiQtBADYCACAFQQFGDQIgAiABKAIINgIQIAIgASkCADcDCCABQgA3AgAgAUEANgIIQdSJC0EANgIAQbACIAAgAkEIahADQdSJCygCACEGQdSJC0EANgIAIAZBAUcNBRAAIQAgAiwAE0EATg0DIAIoAggQWgwDCyADIAFBAnRqKAIAIQELIAJBMGokACABDwsQACEACyACLAAfQQBODQAgAigCFBBaIAAQBwALIAAQBwALAAveBAEIfyMAQdAAayICJAAgASAAKAJMIAAoAkgiA2tBAnVPBEAgAkEUaiIDIAEQoQRB1IkLQQA2AgBB/AEgA0GV0wYQAiEBQdSJCygCACEDQdSJC0EANgIAAkACQAJAAkACQAJAAkACQCADQQFHBEAgAiABKAIINgIoIAIgASkCADcDICABQgA3AgAgAUEANgIIQdSJC0EANgIAQY0CIAJBIGpB/PwGEAIhAUHUiQsoAgAhBUHUiQtBADYCACAFQQFGDQEgAiABKAIINgI4IAIgASkCADcDMCABQgA3AgAgAUEANgIIIAAoAkghASAAKAJMIQNB1IkLQQA2AgBBwAIgAkEIaiIEIAMgAWtBAnUQA0HUiQsoAgAhBkHUiQtBADYCACAGQQFGDQJB1IkLQQA2AgBBjAIgAkEwaiACKAIIIAQgAi0AEyIBwEEASCIDGyACKAIMIAEgAxsQBCEBQdSJCygCACEHQdSJC0EANgIAIAdBAUYNAyACIAEoAgg2AkggAiABKQIANwNAIAFCADcCACABQQA2AghB1IkLQQA2AgBBsAIgACACQUBrEANB1IkLKAIAIQhB1IkLQQA2AgAgCEEBRg0EAAsQACEADAcLEAAhAAwFCxAAIQAMAwsQACEADAELEAAhACACLABLQQBODQAgAigCQBBaCyACLAATQQBODQAgAigCCBBaCyACLAA7QQBODQAgAigCMBBaCyACLAArQQBODQAgAigCIBBaCyACLAAfQQBIBEAgAigCFBBaCyAAEAcACyADIAFBAnRqKAIAIQkgAkHQAGokACAJC7QCAQN/AkAgAyAAKAIIIgUgACgCACIEa0ECdU0EQCADIAAoAgQiBiAEayIFQQJ1SwRAIAQgBkcEQCAEIAEgBfwKAAAgACgCBCEECyACIAEgBWoiAWshAyABIAJHBEAgBCABIAP8CgAACwwCCyACIAFrIQMgASACRwRAIAQgASAD/AoAAAsMAQsgBARAIAAgBDYCBCAEEFogAEEANgIIIABCADcCAEEAIQULAkAgA0GAgICABE8NAEH/////AyAFQQF1IgQgAyADIARJGyAFQfz///8HTxsiA0GAgICABE8NACAAIANBAnQiBBBcIgM2AgQgACADNgIAIAAgAyAEajYCCCACIAFrIQQgASACRwRAIAMgASAE/AoAAAsgACADIARqNgIEDwsQZAALIAAgAyAEajYCBAuquAECLn8BfgJAAkACQAJAAkACQAJAAkACQAJAAkAgAQRAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAQQFrDlwAAQIDBAUGBwgJCgsMHR4fICEiIyRaJQ0ODxAREhMUFRYXGBkaGxxbJicoKSorLC0uLzAxMjM0WzU2Nzg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFkLIwBBEGsiAyQAAkACQAJAIAAoAigiAiAAKAIsRwRAIAIgASkCCDcCACAAIAJBCGo2AigMAQsgAiAAKAIkIgZrIgRBA3UiB0EBaiIFQYCAgIACTw1fQf////8BIARBAnUiCCAFIAUgCEkbIARB+P///wdPGyIFBH8gBUGAgICAAk8NAiAFQQN0EFwFQQALIgggB0EDdGoiBCABKQIINwIAIARBCGohByACIAZHBEADQCAEQQhrIgQgAkEIayICKQIANwIAIAIgBkcNAAsgACgCJCECCyAAIAggBUEDdGo2AiwgACAHNgIoIAAgBDYCJCACRQ0AIAIQWgsgACgCGEECEGMaAkAgASgCBCIBQQFGBEAgACgCFEEAENADDAELAkAgAUEHSQ0AIAEoAgQNACAAKAIYIRIgACgCFCEAIAMgATYCDCADQQA2AgggACgCxAEhASASISsgACgCwAEhESADIAMpAgg3AwAgKyARIAEgAxC+BxD3AhoMAQsgACgCFCABENADCyADQRBqJAAMAQsQagALDwsjAEEQayIDJAACQAJAAkAgACgCKCICIAAoAiwiBkkEQCACQdCdCykDADcCACAAIAJBCGo2AigMAQsgAiAAKAIkIgVrQQN1IghBAWoiBEGAgICAAk8NXkH/////ASAGIAVrIgZBAnUiCSAEIAQgCUkbIAZB+P///wdPGyIGBEAgBkGAgICAAk8NAiAGQQN0EFwhBwsgCEEDdCAHaiIEQdCdCykDADcCACAEQQhqIQggAiAFRwRAA0AgBEEIayIEIAJBCGsiAikCADcCACACIAVHDQALIAAoAiQhAgsgACAHIAZBA3RqNgIsIAAgCDYCKCAAIAQ2AiQgAkUNACACEFoLIAAoAhhBBBBjGgJAIAEoAgQiAUEBRgRAIAAoAhRBABDQAwwBCwJAIAFBB0kNACABKAIEDQAgACgCGCEUIAAoAhQhACADIAE2AgwgA0EANgIIIAAoAsQBIQEgFCEsIAAoAsABIRMgAyADKQIINwMAICwgEyABIAMQvgcQ9wIaDAELIAAoAhQgARDQAwsgA0EQaiQADAELEGoACw8LIwBBEGsiAyQAAkACQAJAIAAoAigiAiAAKAIsRwRAIAIgASkCCDcCACAAIAJBCGo2AigMAQsgAiAAKAIkIgZrIgRBA3UiB0EBaiIFQYCAgIACTw1dQf////8BIARBAnUiCCAFIAUgCEkbIARB+P///wdPGyIFBH8gBUGAgICAAk8NAiAFQQN0EFwFQQALIgggB0EDdGoiBCABKQIINwIAIARBCGoh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ayAAQQFrLQAAOgAAIAJBAmsgAEECay0AADoAACACQQNrIABBA2stAAA6AAAgAkEEayICIABBBGsiAC0AADoAACAAIARHDQALCyAFKAIAIQMLIAUgBzYCCCAFIAg2AgQgBSABNgIAIANFDQggAxBaDAgLIAAoAhhBfRBjQQwQZhogASgCGEEGRw0FIAEsABchAiABLAAWIQMgASwAFSEEIAEsABQhBSABLAATIQYgASwAEiEHIAEsABEhCCABLAAQIQkgASwADyEKIAEsAA4hCyABLAANIQwgASwADCENIAEsAAshDiABLAAKIQ8gASwACSEQIAAoAhggASwACBBjGiAAKAIYIBAQYxogACgCGCAPEGMaIAAoAhggDhBjGiAAKAIYIA0QYxogACgCGCAMEGMaIAAoAhggCxBjGiAAKAIYIAoQYxogACgCGCAJEGMaIAAoAhggCBBjGiAAKAIYIAcQYxogACgCGCAGEGMaIAAoAhggBRBjGiAAKAIYIAQQYxogACgCGCADEGMaIAAoAhggAhBjGgwHCwxJC0GZsQVB5poDQZgCQaKuBRABAAtB7aYFQeaaA0GhAkGJpAUQAQALQdC7BUHmmgNBwgJBk64FEAEAC0HXqgVB5poDQcYCQfqjBRABAAtBgZ0FQemkAkG+AkHjnAUQAQALQe+EBEH+pQJBgQYQYgALDwsgACgCGCEAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIIDoIBgQEDAAQBBQcOCA8JEAoRCxIMEw0UAgYVFhcaGxgZHh8cHSorIiMgISYnJCUpKCwtLi8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaW1xdXl9g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AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEoAggOzAHLAQABAgMEBQYHCAkLCgwNDg8QERITFBUWFxgZGhscHR4fICEiJCMlJicoKSorLC0uLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEBkgGTAZQBlQGWAZcBmAGZAZoBmwGcAZ0BngGfAaABoQGiAaMBpAGlAaYBpwGoAakBqgGrAawBrQGuAa8BsAGxAbIBswG0AbUBtgG3AbgBuQG6AbsBvAG9Ab4BvwHAAcEBwgHDAcQBxQHGAccByAHJAcoBzAELIABB6wAQYxoMywELIABB7AAQYxoMygELIABB7QAQYxoMyQELIABB7gAQYxoMyAELIABB7wAQYxoMxwELIABB8AAQYxoMxgELIABB8QAQYxoMxQELIABB8gAQYxoMxAELIABB8wAQYxoMwwELIABB9AAQYxoMwgELIABB9gAQYxoMwQELIABB9QAQYxoMwAELIABB9wAQYxoMvwELIABB+AAQYxoMvgELIABBxgAQYxoMvQELIABBxwAQYxoMvAELIABByAAQYxoMuwELIABByQAQYxoMugELIABBzAAQYxoMuQELIABBzQAQYxoMuAELIABBygAQYxoMtwELIABBywAQYxoMtgELIABBzgAQYxoMtQELIABBzwAQYxoMtAELIABB/AAQYxoMswELIABB/QAQYxoMsgELIABB/gAQYxoMsQELIABB/wAQYxoMsAELIABBgH8QYxoMrwELIABBgX8QYxoMrgELIABBgn8QYxoMrQELIABBg38QYxoMrAELIABBhH8QYxoMqwELIABBhX8QYxoMqgELIABBhn8QYxoMqQELIABBiH8QYxoMqAELIABBh38QYxoMpwELIABBiX8QYxoMpgELIABBin8QYxoMpQELIABB0QAQYxoMpAELIABB0gAQYxoMowELIABB0wAQYxoMogELIABB1AAQYxoMoQELIABB1wAQYxoMoAELIABB2AAQYxoMnwELIABB1QAQYxoMngELIABB1gAQYxoMnQELIABB2QAQYxoMnAELIABB2gAQYxoMmwELIABBkn8QYxoMmgELIABBk38QYxoMmQELIABBlH8QYxoMmAELIABBlX8QYxoMlwELIABBmH8QYxoMlgELIABBln8QYxoMlQELIABBl38QYxoMlAELIABB2wAQYxoMkwELIABB3AAQYxoMkgELIABB3QAQYxoMkQELIABB3wAQYxoMkAELIABB3gAQYxoMjwELIABB4AAQYxoMjgELIABBoH8QYxoMjQELIABBoX8QYxoMjAELIABBon8QYxoMiwELIABBo38QYxoMigELIABBpn8QYxoMiQELIABBpH8QYxoMiAELIABBpX8QYxoMhwELIABB4QAQYxoMhgELIABB4gAQYxoMhQELIABB4wAQYxoMhAELIABB5QAQYxoMgwELIABB5AAQYxoMggELIABB5gAQYxoMgQELIABBfRBjQSMQZhoMgAELIABBfRBjQSQQZhoMfwsgAEF9EGNBJRBmGgx+CyAAQX0QY0EmEGYaDH0LIABBfRBjQScQZhoMfAsgAEF9EGNBKBBmGgx7CyAAQX0QY0EpEGYaDHoLIABBfRBjQSoQZhoMeQsgAEF9EGNBKxBmGgx4CyAAQX0QY0EsEGYaDHcLIABBfRBjQS0QZhoMdgsgAEF9EGNBLhBmGgx1CyAAQX0QY0EvEGYaDHQLIABBfRBjQTAQZhoMcwsgAEF9EGNBMRBmGgxyCyAAQX0QY0EyEGYaDHELIABBfRBj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IAxBAUYNARARCyADQRBqJAAgAA8LEAAhAEHUiQtBADYCAEEcEAlB1IkLKAIAIQ1B1IkLQQA2AgAgDUEBRwRAIAAQBwALQQAQCxoQcAALNwEBfyAAKAIAIQEgAEEANgIAIAEEQAJAIAAtAAhFDQAgASwAE0EATg0AIAEoAggQWgsgARBaCwvbAQIBfwJ+QQEhBAJAIABCAFIgAUL///////////8AgyIFQoCAgICAgMD//wBWIAVCgICAgICAwP//AFEbDQAgAkIAUiADQv///////////wCDIgZCgICAgICAwP//AFYgBkKAgICAgIDA//8AURsNACAAIAKEIAUgBoSEUARAQQAPCyABIAODQgBZBEBBfyEEIAAgAlQgASADUyABIANRGw0BIAAgAoUgASADhYRCAFIPC0F/IQQgACACViABIANVIAEgA1EbDQAgACAChSABIAOFhEIAUiEECyAEC5UCAgJ/An4jAEEgayICJAAgASgCECIDQQdJBEACQAJAAkACQAJAAkAgA0ECaw4EBAABAgMLIAEpAwAhBCAAQQM2AhAgACAEIARCP4ciBYUgBX03AwAMBAsgASgCACEBIAJBAjYCGCACIAFB/////wdxIgE2AgggACABNgIAIABBBDYCECACQQhqEFkaDAMLIAEpAwAhBCACQQM2AhggAiAEQv///////////wCDIgQ3AwggACAENwMAIABBBTYCECACQQhqEFkaDAILQe+EBEHppAJBngcQYgALIAEoAgAhASAAQQI2AhAgACABIAFBH3UiAHMgAGs2AgALIAJBIGokAA8LQeHNBkGfnwNBwwFB8+cEEAEAC2kBA38gACgCACEBIABBADYCACABBEAgAC0ACARAIAEoAjAiAARAIAAhAiAAIAEoAjQiA0cEQANAIANBGGsQWSIDIABHDQALIAEoAjAhAgsgASAANgI0IAIQWgsgAUEYahBZGgsgARBaCwu8AQEDfyAAKAIIIgMoAgQiAUEBRgRAIABBATYCBA8LIAAoAgwhAgJAAkAgAAJ/AkAgAUEHTwRAAkAgASgCBARAIAIgAUEAR0kNAQwGCyACIAEoAgwgASgCCGtBAnVPDQULIAEoAgQNASABKAIIIAJBAnRqDAILIAIgAUEAR08NAwsgAUUNASACDQEgA0EEagsoAgA2AgQPC0HdwwZBuLMC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IAEgARAFQdSJCygCACEBQdSJC0EANgIAAkACQCABQQFHBEBBAiECAkACfyAAKAIosyADKgIQlY0iEkMAAIBPXSASQwAAAABgcQRAIBKpDAELQQALIgFBAUYNACABIAFBAWtxRQRAIAEhAgwBC0HUiQtBADYCAEEVIAEQBiECQdSJCygCACEKQdSJC0EANgIAIApBAUYNAwsCQCADKAIEIgQgAk8EQCACIARPDQEgBEEDSSEFAn8gAygCDLMgAyoCEJWNIhJDAACAT10gEkMAAAAAYHEEQCASqQwBC0EACyEBAkACQCAFDQAgBGlBAUsNACABQQFBICABQQFrZ2t0IAFBAkkbIQEMAQtB1IkLQQA2AgBBFSABEAYhAUHUiQsoAgAhC0HUiQtBADYCACALQQFGDQULIAIgASABIAJJGyICIARPDQELQdSJC0EANgIAQe4CIAMgAhADQdSJCygCACEMQdSJC0EANgIAIAxBAUYNAwsgACgCKCIERQ0BQQAhAgJAA0ACQCACIAAoAihPBEBB1IkLQQA2AgBBDUHFogFBiaIDQbwBQaaIBRAFQdSJCygCACENQdSJC0EANgIAIA1BAUYNAQALIAAoAiQgAkECdGooAgAoAgQhAUHUiQtBADYCAEE9IANBGGogAyABIAEQBUHUiQsoAgAhDkHUiQtBADYCACAOQQFGDQIgAkEBaiICIARHDQEMBAsLDAMLDAILDAULAkACQCADKAIIIgJFBEAgAEEANgIEDAELIAIoAgghBAJAA0AgAigCACICRQ0BIAIoAgghAUHUiQtBADYCAEE+IAQgARACIQRB1IkLKAIAIQ9B1IkLQQA2AgAgD0EBRg0DIAQNAAtBACEECyADKAIIIQIgACAENgIEIAJFDQADQCACKAIAIRAgAhBaIBAiAg0ACwsgAygCACEAIANBADYCACAARQ0EIAAQWgwECwsMAwsgBkUNAANAIAQgByACQQJ0aigCACgCBEEBRnEhBCACQQFqIQIgCUEBaiIJIAZHDQALCyABDQAgBEEBcUUNACAAQQE2AgQLIANBIGokAA8LEAAhESADEKIBIBEQBwALYgEGfyMAQSBrIgIkACACQQxqIQcCQCACQRVqIgYiAyACQSBqIgRGDQAgAUEATg0AIANBLToAACADQQFqIQNBACABayEBCyAHIAMgBCABENER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GGoQA0HUiQsoAgAhE0HUiQtBADYCACATQQFGDQsLIAFB/wE6ADAgAUHIAGoiASAFRw0ACwsgAEEgaiQAIwBBIGsiACQAIAMoApgBIgEgAygClAEiBUcEQANAIAMgAUHIAGsiBDYCmAEgBCgCOCIEBEAgAUEMayAENgIAIAQQWgsgAUEYayIELQAAIgZB/wFHBEAgAEGLwwA2AhwgAEGMwwA2AhggAEGNwwA2AhQgAEGOwwA2AhAgAEGPwwA2AgxB1IkLQQA2AgAgAEEMaiAGQQJ0aigCACAAQQtqIAFBMGsQA0HUiQsoAgAhFEHUiQtBADYCACAUQQFGDQsLIARB/wE6AAAgAygCmAEiASAFRw0ACwsgAygCkAEiAQRAIAEQWgsgAEEgaiQAIAIQBwALIAEQcQALEGQACxBqAAtBABALGhBwAAtB66y4oXoCfyABLQAQIgJB/wFGBEBBkrqFowYhAkH/AQwBCyADQcqmATYCLCADQcumATYCKCADQcymATYCJCADQc2mATYCICADQc6mATYCHCADQc+mATYCGCADQdCmATYCFCADQdGmATYCECADQdKmATYCDCADQdOmATYCCCADQdSmATYCBCADQdWmATYCACADQZABaiABIAMgAkECdGooAgARBABBldPH3gVsIQIgAS0AEAtB/wFxIgRBldPH3gVsIARB/wFGGyIEQRh2IARzQZXTx94FbCACQRh2IAJzQZXTx94FbEGomb30fXNBldPH3gVscyICQQ12IAJzQZXTx94FbCICQQ92IAJzIQgCQAJAIAAoAhgiAkUNAAJAIAJpIgRBAU0EQCAIIAJBAWtxIQYMAQsgCCIGIAJJDQAgBiACcCEGCyAAKAIUIAZBAnRqKAIAIgVFDQAgBSgCACIHRQ0AIARBAU0EQCACQQFrIQoDQAJAIAggBygCBCIERwRAIAQgCnEgBkYNAQwECyABLQAQIgQgBy0AGCIFRiAEQf8BR3EiCSAFQf8BRyILcUUEQCAJIARB/wFGIAsbRQ0BDAULIAMgA0GkAWo2ApABIANB+cQANgIsIANB+sQANgIoIANB+8QANgIkIANB/MQANgIgIANB/cQANgIcIANB/sQANgIYIANB/8QANgIUIANBgMUANgIQIANBgcUANgIMIANBgsUANgIIIANBg8UANgIEIANBhMUANgIAIANB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AAJ/IAAoAgQiAiAAKAIIRwRAIAAgAkEBajYCBCACLQAADAELIAAQuwkLIQMgASgCABogAUEANgIAIAMLC5QBACAAQagBakEUQQQQXSIAIAM2AhAgACACNgIMIAAgATYCCCAAQhA3AgACQCACRQ0AIANFDQAgAAJ/QQEgAigCBCICQQFGDQAaQQEgAygCBEEBRg0AGkECIAJC/4eA8P+Av8AfIAFBD2siAa2Ip0EBcRsgAiABQT1JGws2AgQgAA8LQb/zAEGkpAJB8AVBssMDEAEAC+4FAQp/QYCoC0EQQQgQXSIAQQM2AgAgAEECELQCIQdBgKgLQRBBCBBdIglBADYCACAJQZCiCykDADcCCCAHKAIAQQJGBEACQCAHKAIIIgEoAgAhBAJAIAEoAgQiAyABKAIIRwRAIAQhAAwBCyABIANBAXRBAmoiADYCCCABQYCoCyAAQQJ0QQQQXSIANgIAIAEoAgQiA0UEQEEAIQMMAQtBACEAIANBBE8EQCADQXxxIQUDQCAAQQJ0IgIgASgCAGogAiAEaigCADYCACACQQRyIgYgASgCAGogBCAGaigCADYCACACQQhyIgYgASgCAGogBCAGaigCADYCACACQQxyIgIgASgCAGogAiAEaigCADYCACAAQQRqIgAgBUcNAAsLIANBA3EiAgRAA0AgAEECdCIFIAEoAgBqIAQgBWooAgA2AgAgAEEBaiEAIAhBAWoiCCACRw0ACwsgASgCACEACyAAIANBAnRqIAk2AgAgASABKAIEQQFqNgIEQYCoC0EQQQgQXSIAQQM2AgAgAEEAELQCIQkgBygCAEECRw0AIAcoAggiASgCACEEAkAgASgCBCIDIAEoAghHBEAgBCEADAELIAEgA0EBdEECaiIANgIIIAFBgKgLIABBAnRBBBBdIgA2AgAgASgCBCIDRQRAQQAhAwwBC0EAIQhBACEAIANBBE8EQCADQXxxIQUDQCAAQQJ0IgIgASgCAGogAiAEaigCADYCACACQQRyIgYgASgCAGogBCAGaigCADYCACACQQhyIgYgASgCAGogBCAGaigCADYCACACQQxyIgIgASgCAGogAiAEaigCADYCACAAQQRqIgAgBUcNAAsLIANBA3EiAgRAA0AgAEECdCIFIAEoAgBqIAQgBWooAgA2AgAgAEEBaiEAIAhBAWoiCCACRw0ACwsgASgCACEACyAAIANBAnRqIAk2AgAgASABKAIEQQFqNgIEIAcPCwtB//cFQeSGA0GzA0H4+wIQAQAL7gUBCn9BgKgLQRBBCBBdIgBBAzYCACAAQQIQtAIhB0GAqAtBEEEIEF0iCUEANgIAIAlBgKcLKQMANwIIIAcoAgBBAkYEQAJAIAcoAggiASgCACEEAkAgASgCBCIDIAEoAghHBEAgBCEADAELIAEgA0EBdEECaiIANgIIIAFBgKgLIABBAnRBBBBdIgA2AgAgASgCBCIDRQRAQQAhAwwBC0EAIQAgA0EETwRAIANBfHEhBQNAIABBAnQiAiABKAIAaiACIARqKAIANgIAIAJBBHIiBiABKAIAaiAEIAZqKAIANgIAIAJBCHIiBiABKAIAaiAEIAZqKAIANgIAIAJBDHIiAiABKAIAaiACIARqKAIANgIAIABBBGoiACAFRw0ACwsgA0EDcSICBEADQCAAQQJ0IgUgASgCAGogBCAFaigCADYCACAAQQFqIQAgCEEBaiIIIAJHDQALCyABKAIAIQALIAAgA0ECdGogCTYCACABIAEoAgRBAWo2AgRBgKgLQRBBCBBdIgBBAzYCACAAQQAQtAIhCSAHKAIAQQJHDQAgBygCCCIBKAIAIQQCQCABKAIEIgMgASgCCEcEQCAEIQAMAQsgASADQQF0QQJqIgA2AgggAUGAqAsgAEECdEEEEF0iADYCACABKAIEIgNFBEBBACEDDAELQQAhCEEAIQAgA0EETwRAIANBfHEhBQNAIABBAnQiAiABKAIAaiACIARqKAIANgIAIAJBBHIiBiABKAIAaiAEIAZqKAIANgIAIAJBCHIiBiABKAIAaiAEIAZqKAIANgIAIAJBDHIiAiABKAIAaiACIARqKAIANgIAIABBBGoiACAFRw0ACwsgA0EDcSICBEADQCAAQQJ0IgUgASgCAGogBCAFaigCADYCACAAQQFqIQAgCEEBaiIIIAJHDQALCyABKAIAIQALIAAgA0ECdGogCTYCACABIAEoAgRBAWo2AgQgBw8LC0H/9wVB5IYDQbMDQfj7AhABAAvgAQECfwJAAkAgAkUNACABAn8gAkEBayADcSACaSIEQQFNDQAaIAMgAiADSw0AGiADIAJwCyIFQQJ0aigCACIBRQ0AIAEoAgAiAUUNACAEQQFNBEAgAkEBayECA0ACQCADIAEoAgQiBEcEQCACIARxIAVGDQEMBAsgASgCCCADRg0ECyABKAIAIgENAAsMAQsDQAJAIAMgASgCBCIERwRAIAIgBE0EfyAEIAJwBSAECyAFRg0BDAMLIAEoAgggA0YNAwsgASgCACIBDQALCyAAIAMQ9QQPCyAAIAEpAgw3AgALpAsBCn9BgKgLQRBBCBBdIgFBAzYCACABQQQQtAIhCUGAqAtBEEEIEF0iCkEANgIAIApBiKILKQMANwIIIAkoAgBBAkYEQAJAIAkoAggiAigCACEFAkAgAigCBCIEIAIoAghHBEAgBSEBDAELIAIgBEEBdEECaiIBNgIIIAJBgKgLIAFBAnRBBBBdIgE2AgAgAigCBCIERQRAQQAhBAwBC0EAIQEgBEEETwRAIARBfHEhBgNAIAFBAnQiAyACKAIAaiADIAVqKAIANgIAIANBBHIiByACKAIAaiAFIAdqKAIANgIAIANBCHIiByACKAIAaiAFIAdqKAIANgIAIANBDHIiAyACKAIAaiADIAVqKAIANgIAIAFBBGoiASAGRw0ACwsgBEEDcSIDBEADQCABQQJ0IgYgAigCAGogBSAGaigCADYCACABQQFqIQEgCEEBaiIIIANHDQALCyACKAIAIQELIAEgBEECdGogCjYCACACIAIoAgRBAWo2AgRBgKgLQRBBCBBdIgogADcCCCAKQQA2AgAgCSgCAEECRw0AIAkoAggiAigCACEFAkAgAigCBCIEIAIoAghHBEAgBSEBDAELIAIgBEEBdEECaiIBNgIIIAJBgKgLIAFBAnRBBBBdIgE2AgAgAigCBCIERQRAQQAhBAwBC0EAIQhBACEBIARBBE8EQCAEQXxxIQYDQCABQQJ0IgMgAigCAGogAyAFaigCADYCACADQQRyIgcgAigCAGogBSAHaigCADYCACADQQhyIgcgAigCAGogBSAHaigCADYCACADQQxyIgMgAigCAGogAyAFaigCADYCACABQQRqIgEgBkcNAAsLIARBA3EiAwRAA0AgAUECdCIGIAIoAgBqIAUgBmooAgA2AgAgAUEBaiEBIAhBAWoiCCADRw0ACwsgAigCACEBCyABIARBAnRqIAo2AgAgAiACKAIEQQFqNgIEQYCoC0EQQQgQXSIBQQM2AgAgAUEAELQCIQogCSgCAEEC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AAsQagAL6wEBBn8gACgCfCICIAAoAoABRwRAIAIgATYCACAAIAJBBGo2AnwPCwJAIAIgACgCeCIFayIDQQJ1IgdBAWoiBEGAgICABEkEQEH/////AyADQQF1IgYgBCAEIAZJGyADQfz///8HTxsiBAR/IARBgICAgARPDQIgBEECdBBcBUEACyIGIAdBAnRqIgMgATYCACADQQRqIQEgAiAFRwRAA0AgA0EEayIDIAJBBGsiAigCADYCACACIAVHDQALCyAAIAYgBEECdGo2AoABIAAgATYCfCAAIAM2AnggBQRAIAUQWgsPCxBkAAsQagALuQICCH8BfgJAIAAoAgQiBkUNACABQiCIIgqnIQUgAachByAAQQRqIgghAyAGIQQDQAJAIAQpAhAiAacgByAFIAFCIIgiAaciAiACIAVLGxBeIgINAEEAIQIgASAKUQ0AQX9BASABIApUGyECCyADIAQgAkEASCICGyEDIARBBGogBCACGygCACIEDQALIAMgCEYNAAJAIAcgAykCECIBpyABQiCIIgGnIgIgBSACIAVJGxBeIgJFBEAgASAKWA0BDAILIAJBAEgNAQsCQCADKAIEIgJFBEAgAyECA0AgAigCCCIEKAIAIAJHIQkgBCECIAkNAAsMAQsDQCACIgQoAgAiAg0ACwsgAyAAKAIARgRAIAAgBDYCAAsgACAAKAIIQQFrNgIIIAYgAxDlASADKAIcEJkFIAMQWgsLIwAgAARAIAAoAgAQgAggACgCBBCACCAAKAIcEJkFIAAQWgsL6QEBA38CQAJAIAAgAUYNAANAAn8CQAJAIAAoAgAoAgAiAigCAEEEaw4QAQUFBQUFBQUFBQUFBQUFAAULIAJBCGoMAQsgAkEQagsoAgANASAAQQRqIgAgAUcNAAsgAQ8LAkAgACABRg0AIABBBGoiAiABRg0AA0ACfwJAAkAgAigCACIEKAIAIgMoAgBBBGsOEAEFBQUFBQUFBQUFBQUFBQAFCyADQQhqDAELIANBEGoLKAIARQRAIAAgBDYCACAAQQRqIQALIAJBBGoiAiABRw0ACwsgAA8LQfDtBUHFmANBlAZBjd4AEAEACzIBAX8gAARAIAAoAgAQggggACgCBBCCCCAAKAIUIgEEQCAAIAE2AhggARBaCyAAEFoLC90HAQp/AkACQCADIAJBAWpGBEAg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C0HUiQtBADYCAEEEIARBAnQQBiEFQdSJCygCACEPQdSJC0EANgIAIA9BAUYNASAKKAIIIQgLIAUgB0ECdGoiAiAINgIAIAUgBEECdGohBCACQQRqIQcgASAJRwRAA0AgAkEEayICIAFBBGsiASgCADYCACABIAlHDQALCyAAIAQ2AgggACAHNgIEIAAgAjYCACAJRQ0BIAkQWgwBCxAAIQEgACgCACICBEAgACACNgIEIAIQWgsgAxDeAwwFCyACIQkgBCEBDAELAAsgCigCBCIKIAtHDQALDAILEAAhAQsgA0EgahDeAyABEAcACwJAIAMoAhxFDQAgAygCGCIBKAIAIgAgAygCFCgCBCICNgIEIAIgADYCACADQQA2AhwgASADQRRqIgJGDQADQCABKAIEIRAgARBaIBAiASACRw0ACwsgAygCCCIBBEADQCABKAIAIREgARBaIBEiAQ0ACwsgAygCACEAIANBADYCACAABEAgABBaCwJAIAMoAjxFDQAgAygCOCIBKAIAIgAgAygCNCgCBCICNgIEIAIgADYCACADQQA2AjwgASALRg0AA0AgASgCBCESIAEQWiASIgEgC0cNAAsLIAMoAigiAQRAA0AgASgCACETIAEQWiATIgENAAsLIAMoAiAhACADQQA2AiAgAARAIAAQWgsgA0FAayQAC9gCAQh/IwBBEGsiBSQAAkAgASAAKAIUIAAoAhAiA2tBAnVPBEBB1IkLQQA2AgBBDUGqkQZB/pQDQd8AQafdAhAFQdSJCygCACEHQdSJC0EANgIAIAdBAUYNAQALAkACQCACRQ0AIAMgAUECdGoiAygCACIEIAJGDQAgACgCJCEJIAQEQEHUiQtBADYCAEGbigEgBCACEAIhAkHUiQsoAgAhCEHUiQtBADYCACAIQQFGDQIgAiADKAIARg0BCyADIAI2AgAgACAAKAIcQQFqIgI2AhwgCSACNgIEIAAoAiggAUEMbGoiASgCACICIAEoAgQiAUYNACAAQTRqIQMDQCACKAIAIQBB1IkLQQA2AgBBl4oBIAVBCGogAyAAIAAQBUHUiQsoAgAhCkHUiQtBADYCACAKQQFGDQMgAkEEaiICIAFHDQALCyAFQRBqJAAPCwtBABALGhBwAAsbACAABEAgACgCABDcCSAAKAIEENwJIAAQWgsL0wgCCX8CfiMAQRBrIg8kAAJAIAVFDQADQAJAAkAgBSAHTA0AIAQgB0wNACAERQ0DA0AgAyABKAIAIAAQ9gMNAiAAQQhqIQAgBEEBayIEDQALDAMLAkACQCAEIAVMBEAgACABRg0FIAYhCSAAIQQDQCAJIgUgBCkCADcCACAJQQhqIQkgBEEIaiIEIAFHDQALDAELIAEgAkYNBCAGIQQgASEJA0AgBCAJKQIANwIAIARBCGohBCAJQQhqIgkgAkcNAAsMAQsDQCABIAJHBEAgACABIAYgAyABKAIAIAYQ9gMiBBspAgA3AgAgASAEQQN0aiEBIABBCGohACAJIAYgBEEBc0EDdGoiBkcNAQwFCwsDQCAAIAYpAgA3AgAgAEEIaiEAIAUgBkYhECAGQQhqIQYgEEUNAAsMAwsDQCAAIAFHBEAgAkEIayICIAFBCGsiBSAEQQhrIgcgAyAHKAIAIAUQ9gMiCBspAgA3AgAgBSABIAgbIQEgBiAEIAcgCBsiBEcNAQwECwsDQCACQQhrIgIgBEEIayIEKQIANwIAIAQgBkcNAAsMAgsCQCAEIAVIBEAgASAFQQJtIg1BA3RqIQkCfyAAIAFGBEAgASIKDAELIAEgAGtBA3UhCCAAIQoDQCAKIAogCEEBdiILQQN0aiIKQQhqIAMgCSgCACAKEPYDIgwbIQogCyAIIAtBf3NqIAwbIggNAAsgAAshCCAKIAhrQQN1IQ4MAQsgBEEBRgRAIAApAgAhESAAIAEpAgA3AgAgASARNwIADAMLIA8gAygCADYCDCAAIARBAm0iDkEDdGohCgJ/IAEgAkYEQCACIgkMAQsgAiABa0EDdSEIIAEhCQNAIAkgCEEBdiILQQN0aiIMQQhqIAkgD0EMaiAMKAIAIAoQ9gMiDBshCSAIIAtBf3NqIAsgDBsiCA0ACyABCyEIIAkgCGtBA3UhDQsgBSANayEFIAQgDmshBCAJIQgCQCABIApGDQAgCiEIIAEgCUYNACAIKQIAIREgCCABKQIANwIAIAEgETcCACAIQQhqIQsgCSABIghBCGoiAUcEQANAIAspAgAhESALIAEpAgA3AgAgASARNwIAIAEgCCAIIAtGGyEIIAtBCGohCyABQQhqIgEgCUcNAAsLIAghDCALIgEgCEYNAANAIAEpAgAhESABIAwpAgA3AgAgDCARNwIAIAFBCGohAQJAIAxBCGoiDCAJRw0AIAEgCEcEQCAIQQhqIQwgCCkCACERA0AgASkCACESIAEgETcCACAIIBI3AgAgAUEIaiEBIAkgDEcNAiASIREgASAIRw0ACwsgCyEIDAILIAwgCCABIAhGGyEIDAALAAsCfyANIA5qIAQgBWpIBEAgACAKIAggAyAOIA0gBiAHEN0JIAghACAJDAELIAggCSACIAMgBCAFIAYgBxDdCSANIQUgDiEEIAghAiAKCyEBIAUNAAsLIA9BEGokAAu4AgEGfyMAQRBrIgUkACAAIAEgAiAEEN8DIAVBCGoiByAEKAIAIAMoAgAiBigCACAGELcCIAUoAggoAhAhBiAHIAQoAgAgAigCACIIKAIAIAgQtwICQCAGIAUoAggoAhBPDQAgAigCACEGIAIgAygCADYCACADIAY2AgAgByAEKAIAIAIoAgAiAygCACADELcCIAUoAggoAhAhCSAHIAQoAgAgASgCACIGKAIAIAYQtwIgCSAFKAIIKAIQTw0AIAEoAgAhAyABIAIoAgA2AgAgAiADNgIAIAcgBCgCACABKAIAIgIoAgAgAhC3AiAFKAIIKAIQIQogByAEKAIAIAAoAgAiAygCACADELcCIAogBSgCCCgCEE8NACAAKAIAIQIgACABKAIANgIAIAEgAjYCAAsgBUEQaiQAC5gBAQV/IAAoAjAiAQRAA0AgASgCACEEIAEoAhAiAwRAIAEgAzYCFCADEFoLIAEQWiAEIgENAAsLIAAoAighASAAQQA2AiggAQRAIAEQWgsgACgCFCIBBEADQCABKAIAIQUgARBaIAUiAQ0ACwsgACgCDCEBIABBADYCDCABBEAgARBaCyAAKAIAIgEEQCAAIAE2AgQgARBaCwupAgICfgR/IAAgASACEOADAkACQCADKAIAIgYpAgAiBKcgAigCACIHKQIAIgWnIAVCIIgiBaciCCAEQiCIIgSnIgkgCCAJSRsQXiIIRQRAIAQgBVQNAQwCCyAIQQBODQELIAIgBjYCACADIAc2AgACQCACKAIAIgMpAgAiBKcgASgCACIGKQIAIgWnIAVCIIgiBaciByAEQiCIIgSnIgggByAISRsQXiIHRQRAIAQgBVQNAQwCCyAHQQBODQELIAEgAzYCACACIAY2AgACQCABKAIAIgIpAgAiBKcgACgCACIDKQIAIgWn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DAMLIAFCADcDCCABQgA3AwAgACABQRAQXkUMAgtB74QEQeaaA0H2ABBiAAsgACgCAEULIQMgAUEQaiQAIAMPC0HhzQZBn58DQcMBQfPnBBABAAuXAgEDfyMAQYABayIBJAACQCAAKAIEQQJHDQAgACgCACIDQQ9GBEAgACgCCEEva0EBSw0BIAAoAgwhAgwBCyABQQA2AmQgAUEANgJgIAFBADYCXCABIAFBIGo2AlQgAUKAgICAoAE3AkggASABQdwAajYCQCABIAFB5ABqNgIwIAFBADYCKCABQQA2AiAgASABQUBrNgJQIAEgAUHgAGo2AhAgAUEANgIIIAFBADYCACABQoCAgICwATcDaCABIAE2AnQgASABQcgAajYCcAJAIANBEEcNACAAKAIIQQtHDQAgACABQfAAahDeBEUNACABKAJkIgAgASgCYEcNACABKAJcQQAgABshAgwBCwsgAUGAAWokACACC+ABAQV/IwBBIGsiAiQAIAJBAzYCGCACIAE3AwhB1IkLQQA2AgBBDCAAQagBakEgQQgQBCEAQdSJCygCACEDQdSJC0EANgIAAkAgA0EBRg0AIABCADcCBCAAQQ42AgAgAEIANwIMIABCADcCFCAAIABBCGoiAyACQQhqIgRHBH8gAxBZIQNB1IkLQQA2AgBBwAAgAyAEEAIaQdSJCygCACEFQdSJC0EANgIAIAVBAUYNASACKAIYBUEDCzYCBCACQQhqEFkaIAJBIGokACAADwsQACEGIAJBCGoQWRogBhAHAAsEAEEiC7sCAQR/AkACQAJAQQAgACgCBGsgACgCXCAAKAJYa0EDdUYEQCABKAIARQ0BIABBBGpB5ecAIAEQW0EAIAAoAgQiAmsgACgCXCIBIAAoAlgiA2tBA3VHBEAgAEEUayEEIABBCGohBQNAAkAgASADRgRAIAJFDQYgBSACQQFrIgJBA3RqIgMoAgQhASADKAIAIQMgACACNgIEDAELIAFBCGsiAigCACEDIAIoAgQhASAAIAI2AlwLIAAgATYCACABKAIARQ0FIAQgASADEQAAQQAgACgCBCICayAAKAJcIgEgACgCWCIDa0EDdUcNAAsLDwtBzcoFQdOZA0HIAkHQ+AIQAQALQYGDAkHTmQNBuQJBrvcCEAEAC0HexAVBsJQDQdoAQf37AhABAAtB9YICQdOZA0HNAkHQ+AIQAQALkAQCBn8BfiMAQTBrIgIkAAJAAkAgACgCBCIBKQMQIgdQDQACQAJAAkAgASgCJCIDKAIAQQ5GBEAgA0EIaiEBIAMoAhghAyAALQAQBEAgA0EDRw0CIAEpAwAgB0J/hVYNBUHUiQtBADYCACACQQM2AhAgAiAHNwMAQZUEIAJBGGoiAyABIAIQCEHUiQsoAgAhBEHUiQtBADYCAAJAIARBAUcEQCABIANHBEAgARBZIQFB1IkLQQA2AgBBwAAgASADEAIaQdSJCygCACEFQdSJC0EANgIAIAVBAUYNAgsMBgsQACEADAcLEAAhACACQRhqEFkaDAYLIANBAkcNAiABNQIAIAdC/////w+DfEL/////D1YNBEHUiQtBADYCACACQQI2AhAgAiAHPgIAQZUEIAJBGGoiAyABIAIQCEHUiQsoAgAhBEHUiQtBADYCAAJAAkAgBEEBRwRAIAEgA0cEQCABEFkhAUHUiQtBADYCAEHAACABIAMQAhpB1IkLKAIAIQZB1IkLQQA2AgAgBkEBRg0CCwwGCxAAIQAMAQsQACEAIAJBGGoQWRoLDAULQfDtBUHFmANBlAZBjd4AEAEAC0HtpgVB5poDQaECQYmkBRABAAtBmbEFQeaaA0GYAkGirgUQAQALIAJBGGoQWRogAhBZGiAAKAIEQgA3AxALIAJBMGokAA8LIAIQWRogABAHAAuCBAEKfwJAAkACQCAAKALkASAAKALgAWtBAnUiASAAKALYASAAKALUAWsiAkEMbUYEQAJAIAJBAEwNACABQQFrIQIDQCAAKALgASIDIAJBAnRqKAIAIgcoAgBBM0cNBQJAIAcoAjQiAQRAIAFB+LELKAIARg0DA0AgAkEASgRAIAMgAkEBayICQQJ0aigCACIEKAIAQTNHDQkgBCgCCCABRw0BDAMLC0G0wgRBm5oDQa0CQbbSABABAAsgACgCoAEhBgJAIAAoAtQBIAJBDGxqIgMoAgQiASADKAIIRwRAIAEgBjYCACADIAFBBGo2AgQMAQsgASADKAIAIglrIgRBAnUiCkEBaiIFQYCAgIAETw0FQf////8DIARBAXUiCCAFIAUgCEkbIARB/P///wdPGyIFBH8gBUGAgICABE8NByAFQQJ0EFwFQQALIgggCkECdGoiBCAGNgIAIARBBGohBiABIAlHBEADQCAEQQRrIgQgAUEEayIBKAIANgIAIAEgCUcNAAsgAygCACEBCyADIAQ2AgAgAyAGNgIEIAMgCCAFQQJ0ajYCCCABRQ0AIAEQWgsgBygCKCAHKAIYa0EBRg0CIAJBAWshAgsgAkEATg0ACwsPC0GzjwZBm5oDQZkCQbbSABABAAsQZAALEGoAC0Hw7QVBxZgDQZQGQY3eABABAAsyAQF/IAAEQCAAKAIAEIcKIAAoAgQQhwogACgCGCIBBEAgACABNgIcIAEQWgsgABBaCwv3BQIGfwF+IwBBEGsiByQAAkAgASgCHCICQRBJDQAgAigCEA0AAkAgAikCFEIAUg0AIAEoAjAiAigCAEEBRw0AIAIoAhRBAkkNACACKAIQIgUoAgAiAigCAEECRw0AIAIoAggiAygCAEEKRw0AIAIoAgwoAgBBE0cNACACKAIQDQAgBSgCBCICKAIAQQtHDQAgAigCCCADKAIIRw0AIAIoAgRBAUYNACAHIAMpAggiCDcDACAIpyIGRQ0AAkACQCAAKAKUASIDKAIYIgRFDQAgASgCACECIAMoAhQCfyAEQQFrIAJxIARpIgVBAU0NABogAiACIARJDQAaIAIgBHALIgFBAnRqKAIAIgNFDQAgAygCACIDRQ0AIAVBAU0EQCAEQQFrIQUDQAJAIAIgAygCBCIERwRAIAQgBXEgAUYNAQwECyADKAIIIAJGDQQLIAMoAgAiAw0ACwwBCwNAAkAgAiADKAIEIgVHBEAgBCAFTQR/IAUgBHAFIAULIAFGDQEMAwsgAygCCCACRg0DCyADKAIAIgMNAAsLQZDABBDqAgALIAMgCDcCECAHQQhqIABBgAFqIAYgBxC3AiAHKAIIIgFBEGogASgCEEEBazYCAAsgACgCiAEiBgRAA0AgBigCEARAAkACQCAAKAKUASIDKAIEIgRFDQAgBigCCCECIAMoAgACfyAEQQFrIAJxIARpQQFLIgVFDQAaIAIgAiAESQ0AGiACIARwCyIBQQJ0aigCACIDRQ0AIAMoAgAiA0UNACAFRQRAIARBAWshBQNAAkAgAiADKAIEIgRHBEAgBCAFcSABRg0BDAQLIAMoAgggAkYNBAsgAygCACIDDQALDAELA0ACQCACIAMoAgQiBUcEQCAEIAVNBH8gBSAEcAUgBQsgAUYNAQwDCyADKAIIIAJGDQMLIAMoAgAiAw0ACwtBkMAEEOoCAAsgA0EAOgAQCyAGKAIAIgYNAAsLIAdBEGokAA8LQeGVBkG4swJB2wlBj+IDEAEAC/0BAQN/IAAgASACEOQDIAIoAgAiBC0AACEFAkACQAJAIAMoAgAiBi0AAEHbAEYEQCAFQdsARg0BDAILIAVB2wBGDQILIAQgBhCtAkEATA0BCyACIAY2AgAgAyAENgIAIAEoAgAiAy0AACEEAkACQCACKAIAIgUtAABB2wBGBEAgBEHbAEYNAQwCCyAEQdsARg0CCyADIAUQrQJBAEwNAQsgASAFNgIAIAIgAzYCACAAKAIAIgItAAAhAwJAAkAgASgCACIELQAAQdsARgRAIANB2wBGDQEMAgsgA0HbAEYNAgsgAiAEEK0CQQBMDQELIAAgBDYCACABIAI2AgALC4QEAgJ+A38gACABIAIQ5QMCQAJAIAMoAgApAgAiBKcgAigCACIGKQIAIgWnIAVCIIgiBaciByAEQiCIIgSnIgggByAISRsQXiIHRQRAIAQgBVQNAQwCCyAHQQBODQELIAIpAgQhBCACQgA3AgQgAigCDCEHIAJBADYCDCACIAMoAgA2AgAgAiADKAIENgIEIAIgAygCCDYCCCACIAMoAgw2AgwgAyAHNgIMIAMgBDcCBCADIAY2AgACQCACKAIAKQIAIgSnIAEoAgAiAykCACIFpyAFQiCIIgWnIgYgBEIgiCIEpyIHIAYgB0kbEF4iBkUEQCAEIAVUDQEMAgsgBkEATg0BCyABKQIEIQQgAUIANwIEIAEoAgwhBiABQQA2AgwgASACKAIANgIAIAEgAigCBDYCBCABIAIoAgg2AgggASACKAIMNgIMIAIgBjYCDCACIAQ3AgQgAiADNgIAAkAgASgCACkCACIEpyAAKAIAIgIpAgAiBacgBUIgiCIFpyIDIARCIIgiBKciBiADIAZJGxBeIgNFBEAgBCAFVA0BDAILIANBAE4NAQsgACkCBCEEIABCADcCBCAAKAIMIQMgAEEANgIMIAAgASgCADYCACAAIAEoAgQ2AgQgACABKAIINgIIIAAgASgCDDYCDCABIAM2AgwgASAENwIEIAEgAjYCAAsLBABBIQsFAEHXAAsEAEE6CzABAX8gACgCmAEiAQRAIAAgATYCnAEgARBaCyAAKAJYIgEEQCAAIAE2AlwgARBaCwsFAEHBAAsEAEE0C7sCAQR/AkACQAJAQQAgACgCBGsgACgCXCAAKAJYa0EDdUYEQCABKAIARQ0BIABBBGpB/9wAIAEQW0EAIAAoAgQiAmsgACgCXCIBIAAoAlgiA2tBA3VHBEAgAEEUayEEIABBCGohBQNAAkAgASADRgRAIAJFDQYgBSACQQFrIgJBA3RqIgMoAgQhASADKAIAIQMgACACNgIEDAELIAFBCGsiAigCACEDIAIoAgQhASAAIAI2AlwLIAAgATYCACABKAIARQ0FIAQgASADEQAAQQAgACgCBCICayAAKAJcIgEgACgCWCIDa0EDdUcNAAsLDwtBzcoFQdOZA0HIAkHQ+AIQAQALQYGDAkHTmQNBuQJBrvcCEAEAC0HexAVBsJQDQdoAQf37AhABAAtB9YICQdOZA0HNAkHQ+AIQAQALTgEEfyAAKAIIIgEEQANAIAEoAgAhBCABKAIQIgMEQCABIAM2AhQgAxBaCyABEFogBCIBDQALCyAAKAIAIQIgAEEANgIAIAIEQCACEFoLC/4DAQ1/IwBBEGsiAyQAAkACQCAAIAFGDQAgASgCECECIAAgACgCECIERgRAIAEgAkYEQCAAKAIAKAIMIQVB1IkLQQA2AgAgBSAAIAMQA0HUiQsoAgAhBkHUiQtBADYCACAGQQFGDQMgACgCECICIAIoAgAoAhARAQAgAEEANgIQIAEoAhAiAigCACgCDCEHQdSJC0EANgIAIAcgAiAAEANB1IkLKAIAIQhB1IkLQQA2AgAgCEEBRg0DIAEoAhAiAiACKAIAKAIQEQEAIAFBADYCECAAIAA2AhAgAygCACgCDCEJQdSJC0EANgIAIAkgAyABEANB1IkLKAIAIQpB1IkLQQA2AgAgCkEBRg0DIAMgAygCACgCEBEBACABIAE2AhAMAgsgACgCACgCDCELQdSJC0EANgIAIAsgACABEANB1IkLKAIAIQxB1IkLQQA2AgAgDEEBRg0CIAAoAhAiAiACKAIAKAIQEQEAIAAgASgCEDYCECABIAE2AhAMAQsgASACRgRAIAEoAgAoAgwhDUHUiQtBADYCACANIAEgABADQdSJCygCACEOQdSJC0EANgIAIA5BAUYNAiABKAIQIgIgAigCACgCEBEBACABIAAoAhA2AhAgACAANgIQDAELIAAgAjYCECABIAQ2AhALIANBEGokAA8LQQAQCxoQcAALtAMCBH8BfiABIAIgAykCHBC6AiICKAI0IQYgAikDACEIIAMoAhAhAyAAKAIAQagBakEUQQQQXSIBQgA3AgwgAUECNgIIIAFClICAgCA3AgBBAyEEAkAgACgCACIFKAL8ASAFKAKAAiAIELoCKAI0QQNHBEAgASgCCCEEDAELIAFBAzYCCAsgASAENgIEIAEgCDcCDCAAQhAgAigCNBCGAyEEIAAoAgBBqAFqQRRBBBBdIgIgBDYCECACIAE2AgwgAkEjQQogBkEDRiIGGyIHNgIIIAJCEDcCACAEBEACQEEvQRYgBhshBSACAn9BASABKAIEIgFBAUYNABpBASAEKAIEQQFGDQAaQQIgAUL/h4Dw/4C/wB8gB0EPayIErYinQQFxGyABIARBPUkbCzYCBCAAKAIAQagBakEUQQQQXSIBIAI2AhAgASADNgIMIAEgBTYCCCABQhA3AgAgA0UNACABAn9BASADKAIEIgNBAUYNABpBASACKAIEQQFGDQAaIANBAkL/h4Dw/4C/wB8gBUEPa62IQgGDUBsLNgIEIAEPCwtBv/MAQaSkAkHwBUGywwMQAQALjAgCC38CfSMAQRBrIgkkACACQZXTx94FbCIEQRh2IARzQZXTx94FbEGomb30fXNBldPH3gVsIgRBDXYgBHNBldPH3gVsIgRBD3YgBHMhBAJAIAACfwJAIAEoAgQiBUUNACABKAIAAn8gBUEBayAEcSAFaSIIQQFNDQAaIAQgBCAFSQ0AGiAEIAVwCyIHQQJ0aigCACIGRQ0AIAYoAgAiBkUNACAIQQFNBEAgBUEBayEIA0ACQCAEIAYoAgQiCkcEQCAIIApxIAdHDQQMAQsgBigCCCACRw0AQQAMBAsgBigCACIGDQALDAELA0ACQCAEIAYoAgQiCEcEQCAFIAhNBH8gCCAFcAUgCAsgB0cNAwwBCyAGKAIIIAJHDQBBAAwDCyAGKAIAIgYNAAsLQSgQXCEGIAkgAUEIaiIINgIIIAkgBjYCBCADKAIAIQIgBkIANwIMIAYgAjYCCCAGQgA3AhQgBkIANwIcIAZBgICA/AM2AiQgCUEBOgAMIAZBADYCACAGIAQ2AgQgASoCECEPIAEoAgxBAWqzIRACQAJAIAVFDQAgDyAFs5QgEF0NACAHIQQMAQtBAiECAkAgBSAFQQFrcUEARyAFQQNJciAFQQF0ciIDAn8gECAPlY0iD0MAAIBPXSAPQwAAAABgcQRAIA+pDAELQQALIgcgAyAHSxsiA0EBRg0AIAMgA0EBa3FFBEAgAyECDAELQdSJC0EANgIAQRUgAxAGIQJB1IkLKAIAIQtB1IkLQQA2AgAgC0EBRg0DIAEoAgQhBQsCQCACIAVNBEAgAiAFTw0BIAVBA0khBwJ/IAEoAgyzIAEqAhCVjSIPQwAAgE9dIA9DAAAAAGBxBEAgD6kMAQtBAAshAwJAAkAgBw0AIAVpQQFLDQAgA0EBQSAgA0EBa2drdCADQQJJGyEHDAELQdSJC0EANgIAQRUgAxAGIQdB1IkLKAIAIQxB1IkLQQA2AgAgDEEBRg0FCyACIAcgAiAHSxsiAiAFTw0BC0HUiQtBADYCAEHMAiABIAIQA0HUiQsoAgAhDUHUiQtBADYCACANQQFGDQMLIAEoAgQiBSAFQQFrIgJxRQRAIAIgBHEhBAwBCyAEIAVJDQAgBCAFcCEECwJAAkAgASgCACAEQQJ0aiICKAIAIgRFBEAgBiABKAIINgIAIAEgBjYCCCACIAg2AgAgBigCACICRQ0CIAIoAgQhBAJAIAUgBUEBayICcUUEQCACIARxIQQMAQsgBCAFSQ0AIAQgBXAhBAsgASgCACAEQQJ0aiEEDAELIAYgBCgCADYCAAsgBCAGNgIACyABIAEoAgxBAWo2AgxBAQs6AAQgACAGNgIAIAlBEGokAA8LEAAhDiAJQQRqEO0LIA4QBwALuwIBBH8CQAJAAkBBACAAKAIEayAAKAJcIAAoAlhrQQN1RgRAIAEoAgBFDQEgAEEEakGK1wAgARBbQQAgACgCBCICayAAKAJcIgEgACgCWCIDa0EDdUcEQCAAQRRrIQQgAEEIaiEFA0ACQCABIANGBEAgAkUNBiAFIAJBAWsiAkEDdGoiAygCBCEBIAMoAgAhAyAAIAI2AgQMAQsgAUEIayICKAIAIQMgAigCBCEBIAAgAjYCXAsgACABNgIAIAEoAgBFDQUgBCABIAMRAABBACAAKAIEIgJrIAAoAlwiASAAKAJYIgNrQQN1Rw0ACwsPC0HNygVB05kDQcgCQdD4AhABAAtBgYMCQdOZA0G5AkGu9wIQAQALQd7EBUGwlANB2gBB/fsCEAEAC0H1ggJB05kDQc0CQdD4AhABAAvHAQEDfwJAIAIgAC0AC0GAAXFBB3YEfyAAKAIIQf////8HcUEBawVBCgsiBCAAKAIEIAAtAAsiBSIDQf8AcSADQYABcUEHdhsiA2tNBEAgAkUNASAAKAIAIAAgBUGAAXFBB3YbIgQgA2ogASACEN0DGiACIANqIQECQCAALQALQYABcUEHdgRAIAAgATYCBAwBCyAAIAFB/wBxOgALCyABIARqQQA6AAAgAA8LIAAgBCACIARrIANqIAMgA0EAIAIgARDXBwsgAAuxAwERfwJ/QQAgACgCPCAAQUBrKAIARg0AGgJAIAAoAkwiASAAKAJIIgJGDQBBASACKAIALQAURQ0BGkEBIAEgAmtBAnUiAyADQQFNGyEEQQAhAQNAIAFBAWoiASAERg0BIAIgAUECdGooAgAtABQNAAtBASABIANJDQEaC0EAIAAoAgwiASAAKAIQIgJGDQAaQQAhAEGArgsoAgAhBEH4rQsoAgAhA0HwrQsoAgAhBUHgrQsoAgAhBkHYrQsoAgAhB0HQrQsoAgAhCEHIrQsoAgAhCUHorQsoAgAhCkHArQsoAgAhC0G4rQsoAgAhDEGwrQsoAgAhDUGorQsoAgAhDkGgrQsoAgAhD0GYrQsoAgAhEANAIAEoAgAiESgCDARAQQFBAUEBQQFBAUEBQQFBAUEBQQFBAUEBQQFBASAAIAQgESgCFCIARhsgACADRhsgACAFRhsgACAGRhsgACAHRhsgACAIRhsgACAJRhsgACAKRhsgACALRhsgACAMRhsgACANRhsgACAORhsgACAPRhsgACAQRhshAAsgAUEEaiIBIAJHDQALIABB/wFxQQBHCwusBQIIfwJ9IAFBldPH3gVsIgJBGHYgAnNBldPH3gVsQdTMnvoGcyICQQ12IAJzQZXTx94FbCICQQ92IAJzIQICQAJAAkAgACgCBCIDRQ0AIAAoAgACfyACIANBAWtxIANpIgdBAU0NABogAiACIANJDQAaIAIgA3ALIgVBAnRqKAIAIgZFDQAgBigCACIERQ0AIAdBAU0EQCADQQFrIQcDQAJAIAIgBCgCBCIGRwRAIAYgB3EgBUYNAQwECyAEKAIIIAFGDQQLIAQoAgAiBA0ACwwBCwNAAkAgAiAEKAIEIgZHBEAgAyAGTQR/IAYgA3AFIAYLIAVGDQEMAwsgBCgCCCABRg0DCyAEKAIAIgQNAAsLQRQQXCIEIAE2AgggBCACNgIEIARBADYCACAEQgA3AgwgACoCECELIAAoAgxBAWqzIQoCQAJAIANFDQAgCyADs5QgCl0NACAFIQIMAQtB1IkLQQA2AgBBjdQAIAAgAyADQQFrcUEARyADQQNJciADQQF0ciIFAn8gCiALlY0iCkMAAIBPXSAKQwAAAABgcQRAIAqpDAELQQALIgEgASAFSRsQA0HUiQsoAgAhCEHUiQtBADYCACAIQQFGDQIgACgCBCIDIANBAWsiAXFFBEAgASACcSECDAELIAIgA0kNACACIANwIQILAkACQCAAKAIAIAJBAnRqIgUoAgAiAkUEQCAEIABBCGoiASgCADYCACAAIAQ2AgggBSABNgIAIAQoAgAiAUUNAiABKAIEIQICQCADIANBAWsiAXFFBEAgASACcSECDAELIAIgA0kNACACIANwIQILIAAoAgAgAkECdGohAgwBCyAEIAIoAgA2AgALIAIgBDYCAAsgACAAKAIMQQFqNgIMCyAEQQxqDwsQACEJIAQQWiAJEAcAC+YDAQh/IAAoAvQBEI8DIAAoAugBEJEFIAAoAtgBIgEEQCAAIAE2AtwBIAEQWgsgACgC0AEhASAAQQA2AtABIAEEQCABEKQCEFoLIAAoAsQBIgIEQANAIAIoAgAhBiACKAIUIgEEQANAIAEoAgAhBSABEFogBSIBDQALCyACKAIMIQEgAkEANgIMIAEEQCABEFoLIAIQWiAGIgINAAsLIAAoArwBIQEgAEEANgK8ASABBEAgARBaCyAAKAKwASIBBEADQCABKAIAIQcgARBaIAciAQ0ACwsgACgCqAEhASAAQQA2AqgBIAEEQCABEFoLIAAoAqABEIoJIAAoAnQiAQRAIAAgATYCeCABEFoLIAAoAmgiAQRAIAAgATYCbCABEFoLIAAoAlwiAQRAIAAgATYCYCABEFoLIAAoAlAiAQRAIAAgATYCVCABEFoLIAAoAkQiAQRAIAAgATYCSCABEFoLIAAoAjgiAQRAIAAgATYCPCABEFoLIAAoAiwiAQRAIAAgATYCMCABEFoLIAAoAiAiAQRAA0AgASgCACEIIAEsABNBAEgEQCABKAIIEFoLIAEQWiAIIgENAAsLIAAoAhghASAAQQA2AhggAQRAIAEQWgsgACgCDCIBBEAgACABNgIQIAEQWgsLuwIBBH8CQAJAAkBBACAAKAIEayAAKAJcIAAoAlhrQQN1RgRAIAEoAgBFDQEgAEEEakGI1AAgARBbQQAgACgCBCICayAAKAJcIgEgACgCWCIDa0EDdUcEQCAAQRRrIQQgAEEIaiEFA0ACQCABIANGBEAgAkUNBiAFIAJBAWsiAkEDdGoiAygCBCEBIAMoAgAhAyAAIAI2AgQMAQsgAUEIayICKAIAIQMgAigCBCEBIAAgAjYCXAsgACABNgIAIAEoAgBFDQUgBCABIAMRAABBACAAKAIEIgJrIAAoAlwiASAAKAJYIgNrQQN1Rw0ACwsPC0HNygVB05kDQcgCQdD4AhABAAtBgYMCQdOZA0G5AkGu9wIQAQALQd7EBUGwlANB2gBB/fsCEAEAC0H1ggJB05kDQc0CQdD4AhABAAtqAQR/IAAoAgAiAwRAIAAoAgQiAiADIgFHBEADQCACQQRrIgIoAgAhASACQQA2AgAgAQRAIAEoAhwiBARAIAEgBDYCICAEEFoLIAEQWgsgAiADRw0ACyAAKAIAIQELIAAgAzYCBCABEFoLC7oDAQl/IABB9K4HNgIAIAAoApADEOAEIAAoAvgCIgQEQCAAKAL8AiICIAQiAUcEQANAIAJBQGoiBigCKCIDBEAgAyEFIAMgAkEUayIHKAIAIgFHBEADQCABQRhrEFkiASADRw0ACyAGKAIoIQULIAcgAzYCACAFEFoLIAJBMGsQWRogBiICIARHDQALIAAoAvgCIQELIAAgBDYC/AIgARBaCyAAQfgAahD+ECAAKAJcIgEEQANAIAEoAgAhCCABEFogCCIBDQALCyAAKAJUIQEgAEEANgJUIAEEQCABEFoLIAAoAkgiAQRAA0AgASgCACEJIAEQWiAJIgENAAsLIAAoAkAhASAAQQA2AkAgAQRAIAEQWgsgACgCNCIBBEAgACABNgI4IAEQWgsgACgCJCIEBEAgACgCKCICIAQiAUcEQANAIAJBMGsiBigCICIDBEAgAyEFIAMgAkEMayIHKAIAIgFHBEADQCABQRhrEFkiASADRw0ACyAGKAIgIQULIAcgAzYCACAFEFoLIAJBKGsQWRogBiICIARHDQALIAAoAiQhAQsgACAENgIoIAEQWgsgACgCHBCrBCAAC+AnAUh/IwBB0AFrIgUkACABKAIwIg5B+wFPBEAgASgCiAMiBEG08gAgBCgCACgCIBEAACABKAIwIQ4LIAEgDkEBajYCMCABKAI4IgcgASgCNCIGayENAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAI8IAdHBEAgByACNwIAIAEgB0EIajYCOAwBCyANQQN1IglBAWoiBEGAgICAAk8NAUH/////ASANQQJ1IgogBCAEIApJGyANQfj///8HTxsiBAR/IARBgICAgAJPDQMgBEEDdBBcBUEACyIKIAlBA3RqIgggAjcCACAIQQhqIQkgBiAHRwRAA0AgCEEIayIIIAdBCGsiBykCADcCACAGIAdHDQALIAEoAjQhBwsgASAKIARBA3RqNgI8IAEgCTYCOCABIAg2AjQgB0UNACAHEFoLIAEoAhQiBCgC1AEgBCgC2AEgAhDkAiILRQ0CIAVCADcCeCAFIAE2AnAgBUEANgJoIAVCADcCYCAFIAs2AmwgBSABKAJoNgJ0IAEgBUHgAGo2AmgCQAJAAkAgCygCHCIHQRBPBEAgBygCEEUNAQtB1IkLQQA2AgBBDUHhlQZBuLMCQdsJQY/iAxAFQdSJCygCACEVQdSJC0EANgIAIBVBAUYNAQwPCwJ/AkAgBygCFCIEQQdJDQAgBCgCBA0AIAQoAgwgBCgCCGtBAnUMAQsgBEEARwsgAygCACADKAIkIAMoAiBrQRhtakcEQEHUiQtBADYCAEEJQYzDC0Hy8ARBChAEGkHUiQsoAgAhFkHUiQtBADYCACAWQQFGDQ0gCykCACECQdSJC0EANgIAIAUgAjcDoAEgBSACNwMYQbEBQYzDCyAFQRhqEAIaQdSJCygCACEXQdSJC0EANgIAIBdBAUYNDUHUiQtBADYCAEEJQYzDC0GN2AZBChAEGkHUiQsoAgAhGEHUiQtBADYCACAYQQFGDQ0gCygCHCEAQdSJC0EANgIAQbIBIAVBKGogABADQdSJCygCACEAQdSJC0EANgIAAkAgAEEBRg0AAn8CQCAFKAIoIgBBB0kNACAAKAIEDQAgACgCDCAAKAIIa0ECdQwBCyAAQQBHCyEAQdSJC0EANgIAQbMBQYzDCyAAEAIaQdSJCygCACEZQdSJC0EANgIAIBlBAUYNAEHUiQtBADYCAEEJQYzDC0GV1QZBERAEGkHUiQsoAgAhGkHUiQtBADYCACAaQQFGDQAgAygCACEAIAMoAiAhASADKAIkIQNB1IkLQQA2AgBBswFBjMMLIAAgAyABa0EYbWoQAhpB1IkLKAIAIRtB1IkLQQA2AgAgG0EBRg0AQdSJC0EANgIAQQlBjMMLQeHOBUELEAQaQdSJCygCACEcQdSJC0EANgIAIBxBAUYNAEHUiQtBADYCAEG0AUGMwwsQBhpB1IkLKAIAIR1B1IkLQQA2AgAgHUEBRg0AQdSJC0EANgIAQRRBuuMAQdCVA0HsFRAIQdSJCygCACEeQdSJC0EANgIAIB5BAUcNEAwOCxAAIQgMDgsCQAJAAn8CQCAEQQdJDQAgBCgCBA0AIAQoAgwgBCgCCGtBAnUMAQsgBEEARwsgCygCKCALKAIka0ECdWoiBARAIARB1qrVKk8EQEHUiQtBADYCAEG1ARAJQdSJCygCACEfQdSJC0EANgIAIB9BAUcNEgwQCyAFIAVB6ABqNgI4QdSJC0EANgIAQQQgBEEwbCIGEAYhBEHUiQsoAgAhIEHUiQtBADYCACAgQQFGDQ8gBSAENgIsIAUgBDYCKCAFIAQgBmo2AjQgBEEAIAZBMGsiBiAGQTBwa0EwaiIG/AsAQdSJC0EANgIAIAUgBCAGajYCMEG2ASAFQeAAaiAFQShqEANB1IkLKAIAISFB1IkLQQA2AgAgIUEBRg0IIAUoAjAiBCAFKAIsIghHBEADQCAFIARBMGsiBjYCMCAGKAIgIgoEQCAEQQxrIgwoAgAiByAKIglHBEADQCAHQRhrEFkiByAKRw0ACyAGKAIgIQkLIAwgCjYCACAJEFoLIARBKGsQWRogBiIEIAhHDQALCyAFKAIoIgQEQCAEEFoLIAsoAhwiB0EQSQ0BCyAHKAIQRQ0BC0HUiQtBADYCAEENQeGVBkG4swJB2wlBj+IDEAVB1IkLKAIAISJB1IkLQQA2AgAgIkEBRw0PEAAhCAwOCyAFIAcoAhQiDDYCgAEgA0EIaiEPIAVBqAFqIRAgBUEwaiERQQAhCAJAA0BBj+IDIQRB2wkhCUG4swIhEkHhlQYhCiAHQRBJDQ0gBygCEA0NIAgCfwJAIAcoAhQiBEEHSSIJDQAgBCgCBA0AIAQoAgwgBCgCCGtBAnUMAQsgBEEARwsgCygCKCALKAIka0ECdSIHak8NAwJAAkACQAJAIAMoAgAgAygCJCADKAIgIgZrQRhtaiAISwRAIAYgCEEYbCIUakEYayAPIAgbKAIQIQcCQAJAIAxBB0kNACAMKAIEDQAgDCgCCCAIQQJ0aiETDAELQaDWBSEEQdgIIQlB3cMGIQogDEUNEyAFQYABaiETIAgNEwsCQAJAAkACQAJAIBMoAgAiBCAHRwRAQdSJC0EANgIAQawBIAcgBBACISRB1IkLKAIAISNB1IkLQQA2AgAgI0EBRg0XICRFDQEgAygCICEGC0HUiQtBADYCAEHAACAFQYgBaiAGIBRqQRhrIA8gCBsQAiEJQdSJCygCACElQdSJC0EANgIAICVBAUYNAkHUiQtBADYCAEG3ASAFQaABaiAJQQEQBCEEQdSJCygCACEmQdSJC0EANgIAICZBAUYNAyAFKAKYAUECSQ0BIAUoAmAgCEEwbGoiBiAEKAIANgIAIAQgBkcEQCAGQQhqEFkhB0HUiQtBADYCAEHAACAHIBAQAhpB1IkLKAIAISdB1IkLQQA2AgAgJ0EBRg0FCyAGKAIgIgQEQCAEIQogBCAGKAIkIgdHBEADQCAHQRhrEFkiByAERw0ACyAGKAIgIQoLIAYgBDYCJCAKEFogBkEANgIoIAZCADcCIAsgBiAFKALAATYCICAGIAUoAsQBNgIkIAYgBSgCyAE2AiggBUEANgLIASAFQgA3A8ABIBAQWRogCRBZGgwIC0HUiQtBADYCAEEJQYzDC0Hy8ARBChAEGkHUiQsoAgAhKEHUiQtBADYCACAoQQFGDQUgCykCACECQdSJC0EANgIAIAUgAjcDKCAFIAI3AwhBsQFBjMMLIAVBCGoQAhpB1IkLKAIAISlB1IkLQQA2AgAgKUEBRg0FQdSJC0EANgIAQQlBjMMLQfPjBkEPEAQaQdSJCygCACEqQdSJC0EANgIAICpBAUYNBUHUiQtBADYCAEG4ASAFQYABaiAIEAIhLEHUiQsoAgAhK0HUiQtBADYCACArQQFGDQUgLCgCACEAQdSJC0EANgIAQa0BQYzDCyAAEAIhAEHUiQsoAgAhLUHUiQtBADYCACAtQQFGDQVB1IkLQQA2AgBBCSAAQdbZBkEPEAQhAEHUiQsoAgAhLkHUiQtBADYCACAuQQFGDQVB1IkLQQA2AgBBswEgACAIEAIhAEHUiQsoAgAhL0HUiQtBADYCACAvQQFGDQVB1IkLQQA2AgBBCSAAQaDVBkEGEAQhAEHUiQsoAgAhMEHUiQtBADYCACAwQQFGDQUgAygCICAIQRhsakEYayAPIAgbKAIQIQFB1IkLQQA2AgBBrQEgACABEAIhAEHUiQsoAgAhMUHUiQtBADYCACAxQQFGDQVB1IkLQQA2AgBBCSAAQbXVBUEBEAQhAEHUiQsoAgAhMkHUiQtBADYCACAyQQFGDQVB1IkLQQA2AgBBtAEgABAGGkHUiQsoAgAhM0HUiQtBADYCACAzQQFGDQVB1IkLQQA2AgBBFEG64wBB0JUDQfYVEAhB1IkLKAIAITRB1IkLQQA2AgAgNEEBRw0ZDAULQdSJC0EANgIAQQ1BkpMGQeaaA0G3BUGbuQEQBUHUiQsoAgAhNUHUiQtBADYCACA1QQFHDRgQACEIIAQQaCAJEFkaDBcLEAAhCAwWCxAAIQggCRBZGgwVCxAAIQggBBBoIAkQWRoMFAsgCCAHAn8CQCAJDQAgBCgCBA0AIAQoAgwgBCgCCGtBAnUMAQsgBEEARwsiBGpPBEBB84ACIQRBiQshCUGkpAIhEkGBgwYhCgwSCyAEIAhNDQFB1IkLQQA2AgBBDUHd4wVB0JUDQfoVQeCMBBAFQdSJCygCACE2QdSJC0EANgIAIDZBAUcNFAsQACEIDBILQdSJC0EANgIAQbkBIAsgCBACIQRB1IkLKAIAITdB1IkLQQA2AgAgN0EBRg0BQdSJC0EANgIAQboBIAVBKGoiCSAEEANB1IkLKAIAIThB1IkLQQA2AgAgOEEBRg0BIAUoAmAgCEEwbGoiBiAFKAIoNgIAIAYgCUcEQCAGQQhqEFkhBEHUiQtBADYCAEHAACAEIBEQAhpB1IkLKAIAITlB1IkLQQA2AgAgOUEBRg0ECyAGKAIgIgQEQCAEIQkgBCAGKAIkIgdHBEADQCAHQRhrEFkiByAERw0ACyAGKAIgIQkLIAYgBDYCJCAJEFogBkEANgIoIAZCADcCIAsgBiAFKAJINgIgIAYgBSgCTDYCJCAGIAUoAlA2AiggBUEANgJQIAVCADcDSCAREFkaCyAIQQFqIQggCygCHCEHDAELCxAAIQgMDgsQACEIIAVBKGoQaAwNCxAAIQgMDAsgCygCMCEDQdSJC0EANgIAQaIBIAVBKGogASADEAhB1IkLKAIAITpB1IkLQQA2AgAgOkEBRg0EAkAgBSgCWCIDRQ0AIANBkK0LKAIARg0AQdSJC0EANgIAQQ1B1IsFQdCVA0GnH0Hp8gIQBUHUiQsoAgAhO0HUiQtBADYCACA7QQFHDQ0QACEHDAcLQdSJC0EANgIAQasBIAVBKGoQBiEDQdSJCygCACE8QdSJC0EANgIAIDxBAUYNBQJAIAsoAhwiBEEQTwRAIAQoAhBFDQELQdSJC0EANgIAQQ1B4ZUGQbizAkHbCUGP4gMQBUHUiQsoAgAhPUHUiQtBADYCACA9QQFHDQ0MBgsCQCADIAQoAhgiBEYNAEHUiQtBADYCAEGsASADIAQQAiE/QdSJCygCACE+QdSJC0EANgIAID5BAUYNBiA/DQBB1IkLQQA2AgBBCUGMwwtBrOIGQQgQBBpB1IkLKAIAIUBB1IkLQQA2AgAgQEEBRg0GIAspAgAhAkHUiQtBADYCACAFIAI3AyAgBSACNwMQQbEBQYzDCyAFQRBqEAIaQdSJCygCACFBQdSJC0EANgIAIEFBAUYNBkHUiQtBADYCAEEJQYzDC0GH3wZBDRAEGkHUiQsoAgAhQkHUiQtBADYCACBCQQFGDQZB1IkLQQA2AgBBrQFBjMMLIAMQAiEAQdSJCygCACFDQdSJC0EANgIAIENBAUYNBkHUiQtBADYCAEEJIABBwNgGQRoQBCEAQdSJCygCACFEQdSJC0EANgIAIERBAUYNBiALKAIcIQFB1IkLQQA2AgBBsgEgBUGAAWoiAyABEANB1IkLKAIAIUVB1IkLQQA2AgAgRUEBRg0GQdSJC0EANgIAQa0BIAAgBSgChAEQAiEAQdSJCygCACFGQdSJC0EANgIAIEZBAUYNBkHUiQtBADYCACAFQQo6AIABQQkgACADQQEQBBpB1IkLKAIAIUdB1IkLQQA2AgAgR0EBRg0GQdSJC0EANgIAQRRBmvMDQdCVA0GtHxAIQdSJCygCACFIQdSJC0EANgIAIEhBAUcNDQwGCyABIA42AjAgDSABKAI4IgcgASgCNCIDa0kEQANAIAdBCGsiByADayANSw0ACyABIAc2AjgLIAAgBSgCKDYCAEHUiQtBADYCAEHAACAAQQhqIAVBMGoiARACIQNB1IkLKAIAIUlB1IkLQQA2AgAgSUEBRg0FIABCADcDICAAQQA2AihB1IkLQQA2AgBBuwEgAEEgaiAFKAJIIgAgBSgCTCIEIAQgAGtBGG0QBUHUiQsoAgAhSkHUiQtBADYCACBKQQFGBEAQACEHIAMQWRoMBwsgBSgCSCIABEAgBSgCTCIHIAAiBEcEQANAIAdBGGsQWSIHIABHDQALIAUoAkghBAsgBSAANgJMIAQQWgsgARBZGiAFKAJwIAUoAnQ2AmggBSgCYCIABEAgBSgCZCIGIAAiB0cEQANAIAZBMGsiAygCICIBBEAgBkEMayIJKAIAIgcgASIERwRAA0AgB0EYaxBZIgcgAUcNAAsgAygCICEECyAJIAE2AgAgBBBaCyAGQShrEFkaIAMiBiAARw0ACyAFKAJgIQcLIAUgADYCZCAHEFoLIAVB0AFqJAAPCxBkAAsQagALQdnSAkHQlQNBmx9B6fICEAEACxAAIQggBUEoahD7EAwHCxAAIQcMAgsQACEHCyAFQShqEGgLIAUoAnAgBSgCdDYCaCAFKAJgIgEEQCAFKAJkIgMgASIARwRAA0AgA0EwayIJKAIgIgQEQCADQQxrIgooAgAiACAEIgZHBEADQCAAQRhrEFkiACAERw0ACyAJKAIgIQYLIAogBDYCACAGEFoLIANBKGsQWRogCSIDIAFHDQALIAUoAmAhAAsgBSABNgJkIAAQWgsgBxAHAAsQACEIDAILQdSJC0EANgIAQQ0gCiASIAkgBBAFQdSJCygCACFLQdSJC0EANgIAIEtBAUcNAhAAIQgMAQsQACEICyAFQeAAahC1DiAIEAcACwAL5QICC38BfiMAQYABayIBJAAgAUEINgIUIAFBpfIENgIQIAEgASkCEDcDACABQQhqIAEQZQJAAkAgASkDCCIMQiCIpyIFBEAgACgCBCIEIAVIDQEgACgCACICIARqIQYgDKciBywAACEIIAIhAwNAIAQgBWtBAWoiBEUNAiADIAggBBDaAyIDRQ0CIAMgByAFEF4EQCAGIANBAWoiA2siBCAFTg0BDAMLCyADIAZGDQEgAyACa0F/Rg0BCyABIAAoAjA2AgggAUIANwJoIAFCADcCcCABQgA3AnhB1IkLQQA2AgAgAUIANwIQQecpIAFBEGogAUEIahADQdSJCygCACEJQdSJC0EANgIAIAlBAUYNASABKAJ8IQogASgCaCICBEAgASACNgJsIAIQWgsgCkECSw0AIABBADsBwAELIAFBgAFqJAAPCxAAIQsgASgCaCIABEAgASAANgJsIAAQWgsgCxAHAAvYBwILfwF+IwBBoAFrIgIkACACQQg2AhggAkGl8gQ2AhQgAiACKQIUNwMIIAJBkAFqIAJBCGoQZSABKAIAIQQCQAJAIAIpA5ABIg1CIIinIgdFBEAgASgCBCEGDAELIAEoAgQiBiAHSA0BIAQgBmohCCANpyIJLAAAIQogBiEFIAQhAwNAIAUgB2tBAWoiBUUNAiADIAogBRDaAyIDRQ0CIAMgCSAHEF4EQCAIIANBAWoiA2siBSAHTg0BDAMLCyADIAhGDQEgAyAEa0F/Rg0BCwJAAkAgBkUNACAEIAZqIQNBfyEFAkADQCADIARGDQEgA0EBayIDLQAAQcAARw0ACyADIARrIQULIAUgBksNACACIAYgBWs2AhggAiAEIAVqNgIUIAIgAikCFDcDACACQYgBaiACEGUgACgCgAEhBgJAIAEoAjAiBCgCAEEBRgRAIAQoAhQiBUUNAUEAIQMgAigCiAEhBwNAIAQoAhQgA00NBCAAIAQoAhAgA0ECdGooAgAgBxC6DiADQQFqIgMgBUcNAAsMAQsgACAEIAIoAogBELoOCyAAKAKAASAGRg0CIAAoAnwhACACQgA3ACUgAkIANwJIIAJBADoARCACQUBrQRQ2AgAgAkKCgICAcDcCOCACQgA3AjAgAkGBAjsALSACQgA3AlAgAkIANwJYIAJCgICAgICAgMA/NwJgIAJCADcCaCACQgA3AnAgAkGAgID8AzYCeCACQQA7AYQBIAJCADcCfCACQgA3AiAgAiAANgIYIAJB/OwJNgIUIAIgAEGoAWo2AhxB1IkLQQA2AgAgAkEGOgCbASACQvbCjavXrhs3ApABQdkAIAJBkAFqEAYhAEHUiQsoAgAhA0HUiQtBADYCAAJAAkACQCADQQFGDQBB1IkLQQA2AgBB3hsgAkEUaiAAEANB1IkLKAIAIQtB1IkLQQA2AgAgC0EBRg0AIAIsAJsBQQBIBEAgAigCkAEQWgtB1IkLQQA2AgAgAkEBOgCEAUHQACACQRRqIAEQA0HUiQsoAgAhDEHUiQtBADYCACAMQQFGDQEgAkH87Ak2AhQgAkEsahBhIAIoAiAiAEUNBSACKAIkIgMgACIBRwRAA0AgA0EEayIDKAIAIQEgA0EANgIAIAEEQCABIAEoAgAoAgQRAQALIAAgA0cNAAsgAigCICEBCyACIAA2AiQgARBaDAULEAAhAyACLACbAUEATg0BIAIoApABEFoMAQsQACEDCyACQRRqEHwaIAMQBwALQeHtARDqAgALQcWiAUGJogNBvAFBpogFEAEACyACQaABaiQACwQAQT8LBABBMguABAEIfyMAQYABayIDJAAgACABEPsEIQUCQAJAIAEoAhwiAEEQSQ0AIAAoAhANAAJAAkACfwJAIAAoAhQiAkEHTwRAIAJBBGoiBygCAA0BIAIoAgwgAigCCGtBAnUiBEUNBCACQQhqDAILIAJFIgANAyAADQUgAkEARyEEIAJBCGohBiACQQRqIQcgAiEADAILIAJBAEchBCACQQhqCyEGIAIoAgRFBEAgBigCACgCACEADAELIAIhACACRQ0DCwJAIABBAkkNAEEBIQAgBEEBRg0BIAJBB0khAgNAIAINBCAHKAIADQQgBigCACAAQQJ0aigCAEEBTQ0BIABBAWoiACAERw0ACwwBCyAFQQE2AhALIAMgASgCMDYCfCADQgA3AmQgA0IANwJsIANCADcCdEHUiQtBADYCACADQgA3AgxB5ykgA0EMaiADQfwAahADQdSJCygCACEIQdSJC0EANgIAIAhBAUcEQCADKAJ4IQAgAygCZCICBEAgAyACNgJoIAIQWgsgBSAANgIEAkAgASgCMCIBKAIAQQZHDQAgACABKAIMQQFqRw0AIAVBAToADAsgA0GAAWokAA8LEAAhCSADKAJkIgAEQCADIAA2AmggABBaCyAJEAcAC0HhlQZBuLMCQdsJQY/iAxABAAtB3cMGQbizAkHYCEGg1gUQAQALjAcCCX8CfQJAIAACfwJAIAEoAgQiBEUNACABKAIAAn8gBEEBayACcSAEaSIHQQFNDQAaIAIgAiAESQ0AGiACIARwCyIGQQJ0aigCACIFRQ0AIAUoAgAiBUUNACAHQQFNBEAgBEEBayEHA0ACQCACIAUoAgQiCEcEQCAHIAhxIAZHDQQMAQsgBSgCCCACRw0AQQAMBAsgBSgCACIFDQALDAELA0ACQCACIAUoAgQiB0cEQCAEIAdNBH8gByAEcAUgBwsgBkcNAwwBCyAFKAIIIAJHDQBBAAwDCyAFKAIAIgUNAAsLQRAQXCEFIAMoAgAhAyAFQQA2AgwgBSADNgIIIAUgAjYCBCAFQQA2AgAgASoCECENIAEoAgxBAWqzIQ4CQAJAIARFDQAgDSAEs5QgDl0NACAGIQIMAQtBAiEDAkAgBCAEQQFrcUEARyAEQQNJciAEQQF0ciIGAn8gDiANlY0iDUMAAIBPXSANQwAAAABgcQRAIA2pDAELQQALIgcgBiAHSxsiBkEBRg0AIAYgBkEBa3FFBEAgBiEDDAELQdSJC0EANgIAQRUgBhAGIQNB1IkLKAIAIQlB1IkLQQA2AgAgCUEBRg0DIAEoAgQhBAsCQCADIARNBEAgAyAETw0BIARBA0khBwJ/IAEoAgyzIAEqAhCVjSINQwAAgE9dIA1DAAAAAGBxBEAgDakMAQtBAAshBgJAAkAgBw0AIARpQQFLDQAgBkEBQSAgBkEBa2drdCAGQQJJGyEGDAELQdSJC0EANgIAQRUgBhAGIQZB1IkLKAIAIQpB1IkLQQA2AgAgCkEBRg0FCyADIAYgAyAGSxsiAyAETw0BC0HUiQtBADYCAEGlwwAgASADEANB1IkLKAIAIQtB1IkLQQA2AgAgC0EBRg0DCyABKAIEIgQgBEEBayIDcUUEQCACIANxIQIMAQsgAiAESQ0AIAIgBHAhAgsCQAJAIAEoAgAgAkECdGoiAygCACICRQRAIAUgAUEIaiICKAIANgIAIAEgBTYCCCADIAI2AgAgBSgCACICRQ0CIAIoAgQhAgJAIAQgBEEBayIDcUUEQCACIANxIQIMAQsgAiAESQ0AIAIgBHAhAgsgASgCACACQQJ0aiECDAELIAUgAigCADYCAAsgAiAFNgIACyABIAEoAgxBAWo2AgxBAQs6AAQgACAFNgIADwsQACEMIAUQWiAMEAcAC80UAxt/An0BfiMAQdAAayIGJAACQAJAAkACQAJAAkACQAJAAkACQCABKAIMDQAgASgCHCIFQRBJDQggBSgCEA0IAkACQCAFKQIUIh9CgICAgHCDQoCAgIAwUQRAIAZBAjYCPCAGIB8+AjggBiAGKQI4NwMQIAEgBkEoaiAGQRBqEKcDKAIAIgU2AhwCQCAAKAKwASIDRQ0AIAAoAqwBAn8gASgCMCIIQZXTx94FbCICQRh2IAJzQZXTx94FbEHUzJ76BnMiAkENdiACc0GV08feBWwiAkEPdiACcyIHIANBAWtxIANpIgJBAU0NABogByADIAdLDQAaIAcgA3ALIgpBAnRqKAIAIgRFDQAgBCgCACIERQ0AAkAgAkEBTQRAIANBAWshAwNAAkAgByAEKAIEIgJHBEAgAiADcSAKRg0BDAULIAQoAgggCEYNAwsgBCgCACIEDQALDAILA0ACQCAHIAQoAgQiAkcEQCACIANPBEAgAiADcCECCyACIApGDQEMBAsgBCgCCCAIRg0CCyAEKAIAIgQNAAsMAQsgBkE4aiAAIAgQ+wNB1IkLQQA2AgBBisgAIAZBKGogAEECEAhB1IkLKAIAIQxB1IkLQQA2AgAgDEEBRg0CIAYtADAEQEHUiQtBADYCAEENQfnVBEHGqwJBzwBBjuYAEAVB1IkLKAIAIQ1B1IkLQQA2AgAgDUEBRg0JDAwLIAEoAjAhAiAAKAKAASgCACEFQdSJC0EANgIAIAYoAighB0EMIAVBqAFqQRBBBBAEIQVB1IkLKAIAIQ5B1IkLQQA2AgAgDkEBRg0IIAUgAjYCDCAFIAc2AgggBUIJNwIAIAUgAigCBEEBRiIDNgIEIAUgAyACKAIEQQFGcjYCBCAGLQBABEBB1IkLQQA2AgBBDUH51QRBxqsCQc8AQY7mABAFQdSJCygCACEPQdSJC0EANgIAIA9BAUcNDAwJC0HIqQspAwAhHyAAKAKAASIDKAIAIQJB1IkLQQA2AgAgBigCOCEEQQwgAkGoAWpBDEEEEAQhAkHUiQsoAgAhEEHUiQtBADYCACAQQQFGDQggAiAENgIIIAJCiICAgCA3AgAgAygCACEDQdSJC0EANgIAQQwgA0GoAWpBFEEEEAQhA0HUiQsoAgAhEUHUiQtBADYCACARQQFGDQggAyACNgIQIAMgHzcCCCADQgs3AgAgAigCBEEBRgRAIANBATYCBAsgACgCgAEoAgAhAkHUiQtBADYCAEEMIAJBqAFqQQxBBBAEIQRB1IkLKAIAIRJB1IkLQQA2AgAgEkEBRg0IIAQgBzYCCCAEQoiAgIAgNwIAIAAoAoABIgcoAgAhAkHUiQtBADYCAEGLyAAgAiAFIAMQBCEFQdSJCygCACETQdSJC0EANgIAIBNBAUYNCCAHKAIAIQNB1IkLQQA2AgBBi8gAIAMgBSAEEAQhBUHUiQsoAgAhFEHUiQtBADYCACAUQQFGDQggASAFNgIwQdSJC0EANgIAQYfIACAGQShqEApB1IkLKAIAIRVB1IkLQQA2AgAgFUEBRg0NQdSJC0EANgIAQYfIACAGQThqEApB1IkLKAIAIRZB1IkLQQA2AgAgFkEBRg0NIAEoAhwhBQsgBUEQSQ0LCyAFKAIQRQ0BDAoLEAAhBAwGCwJ/AkAgBSgCFCIFQQdJDQAgBSgCBA0AIAUoAgwgBSgCCGtBAnUMAQsgBUEARwsgASgCKCABKAIka0ECdWoiBSAAKALoAU8NACAAQcgBaiELIABBwAFqIQhBACEKA0AgBkEoaiIDIAoQqQZB1IkLQQA2AgBB/AEgA0HvvQYQAiEDQdSJCygCACEXQdSJC0EANgIAIBdBAUYNAiAGQUBrIAMoAgg2AgAgBiADKQIANwM4IANCADcCACADQQA2AgggBiAGKAI8IAYsAEMiBEH/AXEgBEEASCIEGzYCTCAGIAYoAjggBkE4aiAEGzYCSEHUiQtBADYCACAGIAYpAkg3AwhBBiAGQSBqIAZBCGoQA0HUiQsoAgAhGEHUiQtBADYCACAYQQFGDQMgBiwAQ0EASARAIAYoAjgQWgsgBiwAM0EASARAIAMoAgAQWgsgBiAGKQMgNwMYAkACQCAAKALEASIHRQ0AAkAgB2lBAUsiA0UEQCAHQQFrIAVxIQIMAQsgByAFIgJLDQAgAiAHcCECCyAIKAIAIAJBAnRqKAIAIgRFDQAgBCgCACIERQ0AIANFBEAgB0EBayEDA0ACQCAFIAQoAgQiCUcEQCADIAlxIAJGDQEMBAsgBCgCCCAFRg0ECyAEKAIAIgQNAAsMAQsDQAJAIAUgBCgCBCIDRwRAIAMgB08EfyADIAdwBSADCyACRg0BDAMLIAQoAgggBUYNAwsgBCgCACIEDQALC0EQEFwiBCAFNgIIIAQgBTYCBCAEQQA2AgAgBEEANgIMIAAqAtABIR0gACgCzAFBAWqzIR4CQCAHBEAgHSAHs5QgHl1FDQELQQIhAgJAAkACQCAHIAdBAWtxQQBHIAdBA0lyIAdBAXRyIgMCfyAeIB2VjSIdQwAAgE9dIB1DAAAAAGBxBEAgHakMAQtBAAsiCSADIAlLGyIDQQFGDQAgAyADQQFrcUUEQCADIQIMAQtB1IkLQQA2AgBBFSADEAYhAkHUiQsoAgAhGUHUiQtBADYCACAZQQFGDQEgACgCxAEhBwsCQCACIAdNBEAgAiAHTw0BIAdBA0khCQJ/IAAoAswBsyAAKgLQAZWNIh1DAACAT10gHUMAAAAAYHEEQCAdqQwBC0EACyEDAkACQCAJDQAgB2lBAUsNACADQQFBICADQQFrZ2t0IANBAkkbIQMMAQtB1IkLQQA2AgBBFSADEAYhA0HUiQsoAgAhGkHUiQtBADYCACAaQQFGDQMLIAIgAyACIANLGyICIAdPDQELQdSJC0EANgIAQYzIACAIIAIQA0HUiQsoAgAhG0HUiQtBADYCACAbQQFGDQELIAAoAsQBIgcgB0EBayICcUUEQCACIAVxIQIMAwsgBSAHTw0BIAUhAgwCCxAAIRwgBBBaIBwQBwALIAUgB3AhAgsCQAJAIAgoAgAgAkECdGoiAygCACICRQRAIAQgACgCyAE2AgAgACAENgLIASADIAs2AgAgBCgCACICRQ0CIAIoAgQhAgJAIAcgB0EBayIDcUUEQCACIANxIQIMAQsgAiAHSQ0AIAIgB3AhAgsgCCgCACACQQJ0aiECDAELIAQgAigCADYCAAsgAiAENgIACyAAIAAoAswBQQFqNgLMAQsgCkEBaiEKIAQoAgwhAyAGIAYpAxg3AwAgASAGIAMQxgIaIAVBAWoiBSAAKALoAUkNAAsLIAZB0ABqJAAPCxAAIQQMAQsQACEEIAYsAENBAE4NACAGKAI4EFoLIAYsADNBAE4NAiAGKAIoEFogBBAHAAsQACEEIAZBKGoQwAILIAZBOGoQwAILIAQQBwALAAtB4ZUGQbizAkHbCUGP4gMQAQALQQAQCxoQcAALBABBNwvUDAIOfwJ9IAJBldPH3gVsIgRBGHYgBHNBldPH3gVsQdTMnvoGcyIEQQ12IARzQZXTx94FbCIEQQ92IARzIQgCQCAAAn8CQCABKAIEIgRFDQACQCAEaSIFQQFNBEAgCCAEQQFrcSEGDAELIAgiBiAESQ0AIAYgBHAhBgsgASgCACAGQQJ0aigCACIHRQ0AIAcoAgAiB0UNACAFQQFNBEAgBEEBayEFA0ACQCAIIAcoAgQiCUcEQCAFIAlxIAZHDQQMAQsgBygCCCACRw0AQQAMBAsgBygCACIHDQALDAELA0ACQCAIIAcoAgQiBUcEQCAEIAVNBH8gBSAEcAUgBQsgBkcNAwwBCyAHKAIIIAJHDQBBAAwDCyAHKAIAIgcNAAsLQQwQXCIHIAg2AgQgByADNgIIIAdBADYCACABQQhqIQkgASoCECESIAEoAgxBAWqzIRMCQAJAIARFDQAgEiAEs5QgE10NACAGIQgMAQtBAiECAkAgBCAEQQFrcUEARyAEQQNJciAEQQF0ciIDAn8gEyASlY0iEkMAAIBPXSASQwAAAABgcQRAIBKpDAELQQALIgYgAyAGSxsiA0EBRg0AIAMgA0EBa3FFBEAgAyECDAELQdSJC0EANgIAQRUgAxAGIQJB1IkLKAIAIQ1B1IkLQQA2AgAgDUEBRg0DIAEoAgQhBAsCQAJAIAIgBE0EQCACIARPDQIgBEEDSSEGAn8gASgCDLMgASoCEJWNIhJDAACAT10gEkMAAAAAYHEEQCASqQwBC0EACyEDAkACQCAGDQAgBGlBAUsNACADQQFBICADQQFrZ2t0IANBAkkbIQUMAQtB1IkLQQA2AgBBFSADEAYhBUHUiQsoAgAhDkHUiQtBADYCACAOQQFGDQYLIAQgAiAFIAIgBUsbIgJNBEAgASgCBCEEDAMLIAJFDQELIAJBgICAgARPBEBB1IkLQQA2AgBBAxAJQdSJCygCACEPQdSJC0EANgIAIA9BAUYNBQALQdSJC0EANgIAQQQgAkECdBAGIQRB1IkLKAIAIRBB1IkLQQA2AgAgEEEBRg0EIAEoAgAhAyABIAQ2AgAgAwRAIAMQWgsgASACNgIEQQAhBkEAIQQgAkEETwRAIAJB/P///wNxIQUDQCAEQQJ0IgMgASgCAGpBADYCACABKAIAIANqQQA2AgQgASgCACADakEANgIIIAEoAgAgA2pBADYCDCAEQQRqIgQgBUcNAAsLIAJBA3EiAwRAA0AgASgCACAEQQJ0akEANgIAIARBAWohBCAGQQFqIgYgA0cNAAsLIAEoAggiBEUEQCACIQQMAgsgBCgCBCEDAkAgAiACQQFrIgpxBEAgAiADTQRAIAMgAnAhAwsgASgCACADQQJ0aiAJNgIAIAQoAgAiBg0BIAIhBAwDCyABKAIAIAMgCnEiA0ECdGogCTYCACAEKAIAIgVFBEAgAiEEDAMLA0ACQCADIAUoAgQgCnEiBkYEQCAFIQQMAQsgBkECdCILIAEoAgBqIgwoAgAEQCAEIAUoAgA2AgAgBSABKAIAIAtqKAIAKAIANgIAIAEoAgAgC2ooAgAgBTYCAAwBCyAMIAQ2AgAgBSEEIAYhAwsgBCgCACIFDQALIAIhBAwCCwNAIAIgBigCBCIFTQRAIAUgAnAhBQsCQCADIAVGBEAgBiEEDAELIAVBAnQiCiABKAIAaiILKAIARQRAIAsgBDYCACAGIQQgBSEDDAELIAQgBigCADYCACAGIAEoAgAgCmooAgAoAgA2AgAgASgCACAKaigCACAGNgIACyAEKAIAIgYNAAsgAiEEDAELIAEoAgAhAkEAIQQgAUEANgIAIAIEQCACEFoLIAFBADYCBAsgBCAEQQFrIgJxRQRAIAIgCHEhCAwBCyAEIAhLDQAgCCAEcCEICwJAAkAgASgCACAIQQJ0aiICKAIAIgVFBEAgByABKAIINgIAIAEgBzYCCCACIAk2AgAgBygCACICRQ0CIAIoAgQhBQJAIAQgBEEBayICcUUEQCACIAVxIQUMAQsgBCAFSw0AIAUgBHAhBQsgASgCACAFQQJ0aiEFDAELIAcgBSgCADYCAAsgBSAHNgIACyABIAEoAgxBAWo2AgxBAQs6AAQgACAHNgIADwsQACERIAcQWiAREAcAC1kBAX8gACAAKAJIIgFBAWsgAXI2AkggACgCACIBQQhxBEAgACABQSByNgIAQX8PCyAAQgA3AgQgACAAKAIsIgE2AhwgACABNgIUIAAgASAAKAIwajYCEEEACzkBAX8gACgCqAEQtQUgACgCmAEiAQRAIAAgATYCnAEgARBaCyAAKAJYIgEEQCAAIAE2AlwgARBaCwu7AgEEfwJAAkACQEEAIAAoAgRrIAAoAlwgACgCWGtBA3VGBEAgASgCAEUNASAAQQRqQYXFACABEFtBACAAKAIEIgJrIAAoAlwiASAAKAJYIgNrQQN1RwRAIABBFGshBCAAQQhqIQUDQAJAIAEgA0YEQCACRQ0GIAUgAkEBayICQQN0aiIDKAIEIQEgAygCACEDIAAgAjYCBAwBCyABQQhrIgIoAgAhAyACKAIEIQEgACACNgJcCyAAIAE2AgAgASgCAEUNBSAEIAEgAxEAAEEAIAAoAgQiAmsgACgCXCIBIAAoAlgiA2tBA3VHDQALCw8LQc3KBUHTmQNByAJB0PgCEAEAC0GBgwJB05kDQbkCQa73AhABAAtB3sQFQbCUA0HaAEH9+wIQAQALQfWCAkHTmQNBzQJB0PgCEAEAC9YMAhN/AX4jAEGwAWsiAiQAIAEoAgAhBSABQQA2AgBB1IkLQQA2AgAgAiAFNgIYQQRBIBAGIQFB1IkLKAIAIQNB1IkLQQA2AgACQAJAAkACQAJAIANBAUcEQCACIAE2AgwgAkKRgICAgISAgIB/NwIQIAFB8OgALQAAOgAQIAFB6OgAKQAANwAIIAFB4OgAKQAANwAAIAFBADoAESACIAU2AqwBAkAgBSgCAEUEQEHUiQtBADYCAEEIIAJBHGoQBiEAQdSJCygCACEKQdSJC0EANgIAIApBAUYNAUHUiQtBADYCAEEJIABBCGpB+ZkFQQgQBCEBQdSJCygCACEFQdSJC0EANgIAAkAgBUEBRg0AQdSJC0EANgIAQQkgASACKAIMIAJBDGogAi0AFyIBwEEASCIFGyACKAIQIAEgBRsQBBpB1IkLKAIAIQtB1IkLQQA2AgAgC0EBRg0AQdSJC0EANgIAQSAgABAGIQFB1IkLKAIAIQxB1IkLQQA2AgAgDEEBRw0ECwwHCyAAQZACaiEGIAUoAgAhAyAAKAKUAiIERQ0DIAYoAgACfyAEQQFrIANxIARpIgdBAU0NABogAyADIARJDQAaIAMgBHALIghBAnRqKAIAIgFFDQMgASgCACIBRQ0DAkAgB0EBTQRAIARBAWshBANAAkAgAyABKAIEIgdHBEAgBCAHcSAIRg0BDAgLIAEoAgggA0YNAwsgASgCACIBDQALDAULA0ACQCADIAEoAgQiB0cEQCAEIAdNBH8gByAEcAUgBwsgCEYNAQwHCyABKAIIIANGDQILIAEoAgAiAQ0ACwwECyABKAIQRQ0DQdSJC0EANgIAQQggAkEcahAGIQBB1IkLKAIAIQFB1IkLQQA2AgACQCABQQFHBEBB1IkLQQA2AgBBCSAAQQhqQfmZBUEIEAQhAUHUiQsoAgAhDUHUiQtBADYCACANQQFGDQFB1IkLQQA2AgBBCSABIAIoAgwgAkEMaiACLQAXIgHAQQBIIgMbIAIoAhAgASADGxAEIQFB1IkLKAIAIQ5B1IkLQQA2AgAgDkEBRg0BQdSJC0EANgIAQQkgAUHt/AZBAhAEGkHUiQsoAgAhD0HUiQtBADYCACAPQQFGDQEgBSkCACEVQdSJC0EANgIAQSEgACAVELgCIQFB1IkLKAIAIRBB1IkLQQA2AgAgEEEBRg0BQdSJC0EANgIAQSIgAUHfmwEQAiESQdSJCygCACERQdSJC0EANgIAIBFBAUYNASASEHEACwwFCwwGCwwDCxAAIQEgAkEYahCoAwwDCyABEHEAC0HUiQtBADYCAEEjIAJBHGogBiADIAUQBUHUiQsoAgAhAUHUiQtBADYCAAJAIAFBAUYNACACKAIcIAU2AhACQAJAIAAoAjQiASAAKAI4IgZJBEAgAkEANgKsASABIAU2AgAgACABQQRqNgI0DAELIAEgACgCMCIHa0ECdSIIQQFqIgRBgICAgARPBEBB1IkLQQA2AgBBJBAJDAILQQAhA0H/////AyAGIAdrIgZBAXUiCSAEIAQgCUkbIAZB/P///wdPGyIGBEAgBkGAgICABE8EQEHUiQtBADYCAEEDEAkMAwtB1IkLQQA2AgBBBCAGQQJ0EAYhA0HUiQsoAgAhE0HUiQtBADYCACATQQFGDQMLIAJBADYCrAEgAyAIQQJ0aiIEIAU2AgAgAyAGQQJ0aiEDIARBBGohBgJAIAEgB0cEQANAIAFBBGsiASgCACEIIAFBADYCACAEQQRrIgQgCDYCACABIAdHDQALIAAgAzYCOCAAKAI0IQMgACAGNgI0IAAoAjAhASAAIAQ2AjAgASADRg0BA0AgA0EEayIDKAIAIQAgA0EANgIAIAAEQCAAKAIcIgQEQCAAIAQ2AiAgBBBaCyAAEFoLIAEgA0cNAAsMAQsgACADNgI4IAAgBjYCNCAAIAQ2AjALIAFFDQAgARBaCyACKAKsASIABEAgACgCHCIBBEAgACABNgIgIAEQWgsgABBaCyACLAAXQQBIBEAgAigCDBBaCyACQbABaiQAIAUPC0HUiQsoAgAhFEHUiQtBADYCACAUQQFGDQAACwsQACEBIAJBrAFqEKgDIAIsABdBAE4NACACKAIMEFogARAHAAsgARAHAAsQABogABBxAAtdACABKAIEIAEoAgBBldPH3gVsIgBBGHYgAHNBldPH3gVsQaiZvfR9c0GV08feBWwiAEENdiAAc0GV08feBWwiAEEPdiAAcyIAQQZ0IABBAnZqakHHjKKOBmsgAHMLtgMBBX8jAEEgayIDJAAgAS0AGCIFIAAtABgiBEYgBUH/AUdxIQYCQAJAAkAgBEH/AUYNACAGRQ0AIAMgA0EHajYCCCADQfTEADYCHCADQfXEADYCGCADQfbEADYCFCADQffEADYCECADQfjEADYCDEEBIQIgA0EIaiAAIAEgA0EMaiAEQQJ0aigCABEGAA0CIAAtABghBAwBC0EBIQIgBiAFQf8BRiAEQf8BRxsNAQsgBEUNACAEQQRGBEBBACECDAELIAEtABgiBUUEQEEAIQIMAQsgBUEERg0AIARBAUYEQEEAIQIgBUEBRg0BQQEhAiAAELIFIgAgARCyBSIBRg0BIAAgARDvASECDAELIAVBAUYEQEEAIQIMAQsCQCAFQQNHDQAgASkDAEKAgICAcFQNACAAEKYHBEAgARCyBSIAQQdJBEBBACECDAMLQQAhAiAAKAIEQQFHDQIgACgCDEEBRiECDAILIAAQsgUiACABELIFIgFGDQEgACABEO8BIQIMAQsgBEEDRgRAQQAhAiAAKQMAQv////9vVg0BC0HSngFB74cCQY0DEGIACyADQSBqJAAgAgsEAEE4C5oRARl/IwBBkAJrIgIkAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAAtAIYBRQ0AIAJCADcCFCACQQA2AnwgAkEcaiIDQgA3AgAgAkIANwKQASACQYCAgPwDNgKYASACQbjDAy8AADsBGCACQgA3AgwgAkIANwJ0IAJCADcCiAEgAkHM7Ak2AgggAkGwwwMpAAA3AhAgAkEKOgAbIAIgACgCfDYChAFB1IkLQQA2AgAgAiABNgKAAUHECiADIAFBMGoQA0HUiQsoAgAhCUHUiQtBADYCACAJQQFGDQEgAkHM7Ak2AgggAkIANwKAASACKAKQASIEBEADQCAEKAIAIQsgBCgCGCIDBEADQCADKAIAIQogAxBaIAoiAw0ACwsgBCgCECEDIARBADYCECADBEAgAxBaCyAEEFogCyIEDQALCyACKAKIASEDIAJBADYCiAEgAwRAIAMQWgsgAigCdCIDBEAgAiADNgJ4IAMQWgsgAkGQ7Qk2AgggAiwAG0EATg0AIAIoAhAQWgsgAC0AhQFFDQEgACgCfCIDLQCFAUEEcUUNASACQgA3AvQBIAJBADYC/AEgAkIANwKcASACQQA6AIwCIAIgADYCiAIgAiADNgKEAiACIAE2AoACQdOZAyEGIAEoAjBFBEBBrvcCIQNBuQIhBUGBgwIhBAwMC0HUiQtBADYCAEGxwwAgAkGgAWpBssMAIAFBMGoiCBAIQdSJCygCACEMQdSJC0EANgIAIAxBAUYNDAJAQQAgAigCoAEiBGsgAigC+AEiAyACKAL0ASIFa0EDdUcEQCACQaQBaiEHA0ACQCADIAVGBEAgBEUEQEH9+wIhA0HaACEFQbCUAyEGQd7EBSEEDBELIAcgBEEBayIEQQN0aiIFKAIEIQMgBSgCACEFIAIgBDYCoAEMAQsgA0EIayIEKAIAIQUgBCgCBCEDIAIgBDYC+AELIAIgAzYCnAEgAygCAEUEQEHQ+AIhA0HNAiEFQfWCAiEEDA8LQdSJC0EANgIAIAUgAkGcAWogAxADQdSJCygCACENQdSJC0EANgIAIA1BAUYNAkEAIAIoAqABIgRrIAIoAvgBIgMgAigC9AEiBWtBA3VHDQALCyACQgA3AoACAkAgAi0AjAIiBwRAIAJCADcCFCACQQA2AnwgAkEcaiIDQgA3AgAgAkIANwKQASACQYCAgPwDNgKYASACQbjDAy8AADsBGCACQgA3AgwgAkIANwJ0IAJCADcCiAEgAkHM7Ak2AgggAkGwwwMpAAA3AhAgAkEKOgAbIAIgACgCfDYChAEgAiABNgKAAUHUiQtBADYCAEHECiADIAgQA0HUiQsoAgAhDkHUiQtBADYCACAOQQFGDQEgAkHM7Ak2AgggAkIANwKAASACKAKQASIEBEADQCAEKAIAIRAgBCgCGCIDBEADQCADKAIAIQ8gAxBaIA8iAw0ACwsgBCgCECEDIARBADYCECADBEAgAxBaCyAEEFogECIEDQALCyACKAKIASEDIAJBADYCiAEgAwRAIAMQWgsgAigCdCIDBEAgAiADNgJ4IAMQWgsgAkGQ7Qk2AgggAiwAG0EASARAIAIoAhAQWgsgAigC9AEhBQsgBQRAIAIgBTYC+AEgBRBaCyAHRQ0DIABBAToAhgEMBAsQACEDIAJBCGoQyAIaDA4LEAAhAwwNCxAAIQMgAkEIahDIAhoMDQsgAC0AhgFFDQELIAEgACgCfBCCBSAALQCEAUUNACAAKAIEIQAgAkH87Ak2AgggAiAAKAIENgIMIAAoAgghAyACQQA2AhwgAkIANwIUIAIgAzYCECACIAApAiA3AiggAiAAKQIoNwIwIAIgACkCMDcCOCACQUBrIAApAjg3AgAgAiAAKQIYNwIgQdSJC0EANgIAQZsBIAJByABqIABBQGsQAiEEQdSJCygCACERQdSJC0EANgIAIBFBAUYNAkHUiQtBADYCAEGaASACQdwAaiAAQdQAahACGkHUiQsoAgAhEkHUiQtBADYCACASQQFGDQEgAiAAKAJoNgJwIAIgACgCbCIANgJ0IAAEQCAAIAAoAgRBAWo2AgQLQdSJC0EANgIAIAJBATsBeCACQQM6AKcBIAJB5MaVAzYCnAFB2QAgAkGcAWoQBiEAQdSJCygCACETQdSJC0EANgIAIBNBAUYNBCACKAIIKAIIIRRB1IkLQQA2AgAgFCACQQhqIAAQA0HUiQsoAgAhFUHUiQtBADYCACAVQQFGDQQgAiwApwFBAEgEQCACKAKcARBaC0HUiQtBADYCACACQQY6AKcBIAJC9sKNq9euGzcCnAFB2QAgAkGcAWoQBiEAQdSJCygCACEWQdSJC0EANgIAIBZBAUYNBSACKAIIKAIIIRdB1IkLQQA2AgAgFyACQQhqIAAQA0HUiQsoAgAhGEHUiQtBADYCACAYQQFGDQUgAiwApwFBAEgEQCACKAKcARBaC0HUiQtBADYCAEHQACACQQhqIAEQA0HUiQsoAgAhGUHUiQtBADYCACAZQQFGDQYgAkH87Ak2AgggAkEgahBhIAIoAhQiAEUNACACKAIYIgMgACIFRwRAA0AgA0EEayIDKAIAIQEgA0EANgIAIAEEQCABIAEoAgAoAgQRAQALIAAgA0cNAAsgAigCFCEFCyACIAA2AhggBRBaCyACQZACaiQADwsQACEDIAQQawwBCxAAIQMLIAJBFGoQ4AEMBwsQACEDIAIsAKcBQQBODQIgAigCnAEQWgwCCxAAIQMgAiwApwFBAE4NASACKAKcARBaDAELEAAhAwsgAkEIahB8GgwDC0HUiQtBADYCAEENIAQgBiAFIAMQBUHUiQsoAgAhGkHUiQtBADYCACAaQQFGDQAACxAAIQMLIAIoAvQBIgBFDQAgAiAANgL4ASAAEFoLIAMQBwALBABBKwuBAwEDfyMAQRBrIgUkACAAKAIEQQFLBEACQCABKAIEQQFGBEAgA0GoAWpBDEEEEF0iAiAANgIIIAJCEjcCACACIAAoAgRBAUY2AgQgAyACIAFCABDKAiEADAELIAQgAyAAIAEQoQMEQCADIAEgAEIAEMoCIQAMAQsgACgCBCEGIAVCADcDACAFQgA3AwggAiAFIAYQxgIhByADQagBaiIDQRBBBBBdIgIgADYCDCACIAc2AgggAkIJNwIAIAIgACgCBEEBRiIENgIEIAIgBCAAKAIEQQFGcjYCBCADQQxBBBBdIgQgBzYCCCAEQQg2AgAgBCAGNgIEIANBIEEEEF0iAEIANwIEIABBATYCACAAQgA3AgwgACADNgIcIABBFGpCgICAgDA3AgAgACADQQxBBBBdIgM2AhAgAyACNgIAIAAoAhAgATYCBCAAKAIQIAQ2AgggAEEDNgIUIABBAEEAQQAQ5gELIAVBEGokACAADwtBv5MGQYKeA0EvQZXRABABAAsFAEHOAAsEAEERCz4AIABBqAFqQRBBBBBdIgAgAjYCDCAAIAE2AgggAEEJNgIAIAAgAzYCBCAAQQEgAyACKAIEQQFGGzYCBCAAC4YBACAAQagBakEUQQQQXSIAIAE2AhAgAEIRNwIAIAAgAzYCDCAAIAI2AggCQCACRQ0AIANFDQAgAAJ/QQEgAigCBCICQQFGDQAaQQEgAygCBCIDQQFGDQAaQQEgASgCBEEBRg0AGiACIAMQkwMLNgIEIAAPC0Hy3QNBpKQCQf0FQbLDAxABAAsrACAAQagBakEQQQQQXSIAIAE2AgwgAEEANgIIIABCzgA3AgAgABD4AyAAC0QAIABBqAFqQRBBBBBdIgAgAjYCDCAAIAE2AgggAEIJNwIAIAAgAigCBEEBRiIBNgIEIAAgASACKAIEQQFGcjYCBCAAC7oCAQR/AkACQAJAQQAgACgCBGsgACgCXCAAKAJYa0EDdUYEQCABKAIARQ0BIABBBGpBnD8gARBbQQAgACgCBCICayAAKAJcIgEgACgCWCIDa0EDdUcEQCAAQRRrIQQgAEEIaiEFA0ACQCABIANGBEAgAkUNBiAFIAJBAWsiAkEDdGoiAygCBCEBIAMoAgAhAyAAIAI2AgQMAQsgAUEIayICKAIAIQMgAigCBCEBIAAgAjYCXAsgACABNgIAIAEoAgBFDQUgBCABIAMRAABBACAAKAIEIgJrIAAoAlwiASAAKAJYIgNrQQN1Rw0ACwsPC0HNygVB05kDQcgCQdD4AhABAAtBgYMCQdOZA0G5AkGu9wIQAQALQd7EBUGwlANB2gBB/fsCEAEAC0H1ggJB05kDQc0CQdD4AhABAAu6AgEEfwJAAkACQEEAIAAoAgRrIAAoAlwgACgCWGtBA3VGBEAgASgCAEUNASAAQQRqQYI9IAEQW0EAIAAoAgQiAmsgACgCXCIBIAAoAlgiA2tBA3VHBEAgAEEUayEEIABBCGohBQNAAkAgASADRgRAIAJFDQYgBSACQQFrIgJBA3RqIgMoAgQhASADKAIAIQMgACACNgIEDAELIAFBCGsiAigCACEDIAIoAgQhASAAIAI2AlwLIAAgATYCACABKAIARQ0FIAQgASADEQAAQQAgACgCBCICayAAKAJcIgEgACgCWCIDa0EDdUcNAAsLDwtBzcoFQdOZA0HIAkHQ+AIQAQALQYGDAkHTmQNBuQJBrvcCEAEAC0HexAVBsJQDQdoAQf37AhABAAtB9YICQdOZA0HNAkHQ+AIQAQALKwEBfyAAKAIAIQEgAEEANgIAIAEEQCAALQAIBEAgAUEIahDrAgsgARBaCwvbBAIMfwF+IwBBQGoiAiQAAkACQAJAIAEoAgwiBEUNACAEQcCwCygCAEcNACABKAIYQQdJDQAgASgCFEHv8QRBBxBeDQAgASgCHCIBQRBJDQIgASgCEA0CIAIgASkCFCIONwMwAn8CQCAOpyIBQQdJDQAgASgCBA0AIAEoAgwgASgCCGtBAnUMAQsgAUEARwshASACQQA2AiwgAkIANwIkIAJBJGogAkEwaq0iDkKAgICAEIQgAa1CIIYgDoQgAUEBaxDkCEHUiQtBADYCAEHhACACQRRqIAIoAiQiBCACKAIoEAQhCEHUiQsoAgAhB0HUiQtBADYCACAHQQFGDQEgCCgCACEBIAIgAigCNDYCHCACIAE2AhhB1IkLQQA2AgAgAiACKQIYNwMIQSkgAkEgaiACQQhqEAIhA0HUiQsoAgAhCUHUiQtBADYCACAJQQFGDQEgADUCnAEhDiADKAIAIQFB1IkLQQA2AgBBoTwgAkE4aiAAQYQBaiABIAGtIA5CIIaEEKgCQdSJCygCACEKQdSJC0EANgIAIApBAUYNASACLQA8BEAgAigCOCEMQdSJC0EANgIAQQRBDBAGIQFB1IkLKAIAIQtB1IkLQQA2AgAgC0EBRg0CIAMoAgAhAyABIABBmAFqNgIEIAEgAzYCCCABIAAoApgBIgM2AgAgAyABNgIEIAAgATYCmAEgACAAKAKgAUEBajYCoAEgDCABNgIMCyAERQ0AIAQQWgsgAkFAayQADwsQACENIAQEQCAEEFoLIA0QBwALQeGVBkG4swJB2wlBj+IDEAEACwQAQS0LBQBB0gALugIBBH8CQAJAAkBBACAAKAIEayAAKAJcIAAoAlhrQQN1RgRAIAEoAgBFDQEgAEEEakHsOSABEFtBACAAKAIEIgJrIAAoAlwiASAAKAJYIgNrQQN1RwRAIABBFGshBCAAQQhqIQUDQAJAIAEgA0YEQCACRQ0GIAUgAkEBayICQQN0aiIDKAIEIQEgAygCACEDIAAgAjYCBAwBCyABQQhrIgIoAgAhAyACKAIEIQEgACACNgJcCyAAIAE2AgAgASgCAEUNBSAEIAEgAxEAAEEAIAAoAgQiAmsgACgCXCIBIAAoAlgiA2tBA3VHDQALCw8LQc3KBUHTmQNByAJB0PgCEAEAC0GBgwJB05kDQbkCQa73AhABAAtB3sQFQbCUA0HaAEH9+wIQAQALQfWCAkHTmQNBzQJB0PgCEAEAC38BA38gAEH87wc2AgACQAJAIAAoApgBIgEgAEGIAWoiAkYEQEEEIQMgAiEBDAELQQUhAyABRQ0BCyABIAEoAgAgA0ECdGooAgARAQALIAAoAmwiAgRAIAAgAjYCcCACEFoLIABBkO0JNgIAIAAsABNBAEgEQCAAKAIIEFoLIAALBABBEwsEAEE7C+0aAi1/AX4jAEHgAWsiBCQAAkACQCABKAIMDQACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEoAhwiAkEQTwRAIAIoAhBFDQELQdSJC0EANgIAQQ1B4ZUGQbizAkHbCUGP4gMQBUHUiQsoAgAhD0HUiQtBADYCACAPQQFGDQEMDwsCfwJAIAIoAhQiAkEHSQ0AIAIoAgQNACACKAIMIAIoAghrQQJ1DAELIAJBAEcLIg1FDQ0gACgCfCIOQagBaiEKA0BB1IkLQQA2AgBBuQEgASAGEAIhAkHUiQsoAgAhA0HUiQtBADYCAAJAAkACQAJAIANBAUcEQAJAAkACQAJAAkAgAkEERgRAIAApArgBIS9B1IkLQQA2AgBBDCAKQQxBBBAEIQJB1IkLKAIAIQNB1IkLQQA2AgACQCADQQFHBEAgAiAGNgIIIAJCiICAgMAANwIAQdSJC0EANgIAQQRBBBAGIQtB1IkLKAIAIRBB1IkLQQA2AgAgEEEBRgRAEAAhBgwaCyALIAI2AgBB1IkLQQA2AgBBDCAKQSRBBBAEIQNB1IkLKAIAIRFB1IkLQQA2AgAgEUEBRg0BIANBADoAICADQgA3AgggA0KGgICAwAA3AgAgAyAvNwIYIAMgCjYCFCADQQE2AhBB1IkLQQA2AgBBDCAKQQRBBBAEIQJB1IkLKAIAIRJB1IkLQQA2AgAgEkEBRg0BIAMgAjYCCCACIAsoAgA2AgAgA0EAOgAgIANBATYCDEHUiQtBADYCAEEMIApBEEEEEAQhAkHUiQsoAgAhE0HUiQtBADYCACATQQFGDQEgAiADNgIMIAIgBjYCCCACQgk3AgAgAiADKAIEQQFGIgk2AgQgAiAJIAMoAgRBAUZyNgIEIAUgCEkNAwJAAkACQCAFIAdrQQJ1IgxBAWoiA0GAgICABE8EQEHUiQtBADYCAEEOEAkMAQtB/////wMgCCAHayIIQQF1IgkgAyADIAlJGyAIQfz///8HTxsiCUUEQEEAIQgMAwsgCUGAgICABEkNAUHUiQtBADYCAEEDEAkLQdSJCygCACEUQdSJC0EANgIAIBRBAUcNHhAAIQYgCxBaDBsLQdSJC0EANgIAQQQgCUECdBAGIQhB1IkLKAIAIRVB1IkLQQA2AgAgFUEBRg0CCyAIIAxBAnRqIgMgAjYCACADIQIgBSAHRwRAA0AgAkEEayICIAVBBGsiBSgCADYCACAFIAdHDQALIAchBQsgCUECdCAIaiEIIANBBGohByAFRQ0KIAUQWgwKCxAAIQYMGAsQACEGIAsQWgwXC0HUiQtBADYCAEG5ASABIAYQAiEXQdSJCygCACEWQdSJC0EANgIAIBZBAUYNAiAXQQVHDQkgACkCwAEhL0HUiQtBADYCAEEMIApBDEEEEAQhAkHUiQsoAgAhGEHUiQtBADYCACAYQQFGDQMgAiAGNgIIIAJCiICAgNAANwIAQdSJC0EANgIAQQRBBBAGIQtB1IkLKAIAIRlB1IkLQQA2AgAgGUEBRgRAEAAhBgwXCyALIAI2AgBB1IkLQQA2AgBBDCAKQSRBBBAEIQNB1IkLKAIAIRpB1IkLQQA2AgAgGkEBRg0EIANBADoAICADQgA3AgggA0KGgICA0AA3AgAgAyAvNwIYIAMgCjYCFCADQQE2AhBB1IkLQQA2AgBBDCAKQQRBBBAEIQJB1IkLKAIAIRtB1IkLQQA2AgAgG0EBRg0EIAMgAjYCCCACIAsoAgA2AgAgA0EAOgAgIANBATYCDEHUiQtBADYCAEEMIApBEEEEEAQhAkHUiQsoAgAhHEHUiQtBADYCACAcQQFGDQQgAiADNgIMIAIgBjYCCCACQgk3AgAgAiADKAIEQQFGIgk2AgQgAiAJIAMoAgRBAUZyNgIEIAUgCE8NAQsgBSACNgIAIAVBBGohBQwHCwJAAkACQCAFIAdrQQJ1IgxBAWoiA0GAgICABE8EQEHUiQtBADYCAEEOEAkMAQtB/////wMgCCAHayIIQQF1IgkgAyADIAlJGyAIQfz///8HTxsiCUUEQEEAIQgMAwsgCUGAgICABEkNAUHUiQtBADYCAEEDEAkLQdSJCygCACEdQdSJC0EANgIAIB1BAUcNGRAAIQYgCxBaDBYLQdSJC0EANgIAQQQgCUECdBAGIQhB1IkLKAIAIR5B1IkLQQA2AgAgHkEBRg0DCyAIIAxBAnRqIgMgAjYCACADIQIgBSAHRwRAA0AgAkEEayICIAVBBGsiBSgCADYCACAFIAdHDQALIAchBQsgCUECdCAIaiEIIANBBGohByAFRQ0EIAUQWgwECxAAIQYMEwsQACEGDBILEAAhBiALEFoMEQsQACEGDBALIAchBSACIQcMAQsgByEFIAIhBwsgCxBaCyAGQQFqIgYgDUcNAAsgBSAHRgRAIAUhBwwNCwJAIAUgCEcEQCAFIAEoAjA2AgAMAQsgCCAHayICQQJ1IgNBAWoiBUGAgICABE8EQEHUiQtBADYCAEEOEAlB1IkLKAIAIR9B1IkLQQA2AgAgH0EBRw0QDAILAkBB/////wMgAkEBdSIGIAUgBSAGSRsgAkH8////B08bIgJFBEBBACEFDAELIAJBgICAgARPBEBB1IkLQQA2AgBBAxAJQdSJCygCACEgQdSJC0EANgIAICBBAUcNEQwDC0HUiQtBADYCAEEEIAJBAnQQBiEFQdSJCygCACEhQdSJC0EANgIAICFBAUYNAgsgBSADQQJ0aiIFIAEoAjA2AgAgBSECA0AgAkEEayICIAhBBGsiCCgCADYCACAHIAhHDQALIAcEQCAHEFoLIAIhBwtB1IkLQQA2AgBBDCAOQagBaiICQSBBBBAEIQNB1IkLKAIAISJB1IkLQQA2AgAgIkEBRg0AIANCADcCBCADQQE2AgAgA0IANwIMIANCADcCFCADIAI2AhwgBUEEaiIGIAdrIgpBAnUhCCAGIAdHBEAgAyAINgIYQQAhBkHUiQtBADYCAEEMIAIgCkEEEAQhAkHUiQsoAgAhI0HUiQtBADYCACAjQQFGDQEgAyACNgIQIAchAgNAIAMoAhAgBkECdGogAigCADYCACAGQQFqIQYgAiAFRyEkIAJBBGohAiAkDQALCyADIAg2AhRB1IkLQQA2AgBBgwMgA0EAQQBBABAFQdSJCygCACElQdSJC0EANgIAICVBAUYNACABIAM2AjAgACgCfCEBIAQgACgCBCIAKQI4NwMoIAQgACkCMDcDICAEIAApAig3AxggBCAAKQIgNwMQIAQgACkCGDcDCEHUiQtBADYCAEGbASAEQTBqIABBQGsQAiECQdSJCygCACEmQdSJC0EANgIAICZBAUYNBUHUiQtBADYCAEGaASAEQcQAaiAAQdQAahACIQVB1IkLKAIAISdB1IkLQQA2AgAgJ0EBRg0IIAQgACgCaDYCWCAEIAAoAmwiADYCXCAABEAgACAAKAIEQQFqNgIECyAEQQA2AnQgBCAEKQMQNwKAASAEIAQpAxg3AogBIAQgBCkDIDcCkAEgBCAEKQMoNwKYASAEQgA3AmwgBEH87Ak2AmAgBCAEKQMINwJ4QdSJC0EANgIAIAQgATYCZCAEIAFBqAFqNgJoQZsBIARBoAFqIAIQAiEAQdSJCygCACEoQdSJC0EANgIAIChBAUYNAkHUiQtBADYCAEGaASAEQbQBaiAFEAIaQdSJCygCACEpQdSJC0EANgIAIClBAUYNASAEIAQoAlg2AsgBIAQgBCgCXCIANgLMASAABEAgACAAKAIEQQFqNgIECyAEQQA7AdABIARBCGoQYUHUiQtBADYCACAEQQE6ANABQQRBEBAGIQBB1IkLKAIAISpB1IkLQQA2AgAgKkEBRw0EDAkLEAAhBgwKCxAAIQYgABBrDAELEAAhBgsgBEHsAGoQ4AEgBEEIahBhDAcLIABBADoADCAAQdi9ASgAADYACCAAQdC9ASkAADcAAEHUiQtBADYCAEHUACAEQdQBaiIBIABBDBAIQdSJCygCACErQdSJC0EANgIAICtBAUYNAUHUiQtBADYCAEHZACABEAYhAUHUiQsoAgAhAkHUiQtBADYCAAJAIAJBAUYNACAEKAJgKAIIISxB1IkLQQA2AgAgLCAEQeAAaiABEANB1IkLKAIAIS1B1IkLQQA2AgAgLUEBRg0AIAQsAN8BQQBIBEAgBCgC1AEQWgsgABBaQdSJC0EANgIAQZcBIARB4ABqEApB1IkLKAIAIS5B1IkLQQA2AgAgLkEBRg0FIARB/OwJNgJgIARB+ABqEGEgBCgCbCIARQ0IIAQoAnAiBSAAIgJHBEADQCAFQQRrIgUoAgAhASAFQQA2AgAgAQRAIAEgASgCACgCBBEBAAsgACAFRw0ACyAEKAJsIQILIAQgADYCcCACEFoMCAsQACEGIAQsAN8BQQBODQIgBCgC1AEQWgwCCxAAIQYMBQsQACEGCyAAEFoMAgsQACEGIAIQawwCCxAAIQYLIARB4ABqEHwaCyAHBEAgBxBaCyAGEAcACyAHRQ0AIAcQWgsgBEHgAWokAA8LAAsFAEHbAAsFAEHaAAsEAEEuCwQAQT0LmAMCBn8BfgJAAkAgAEGoAWoiBSgCACIGRQ0AIAFCIIgiCqchCCABpyEJIAUhBANAAkAgBikCECIBpyAJIAggAUIgiCIBpyIHIAcgCEsbEF4iBw0AQQAhByABIApRDQBBf0EBIAEgClQbIQcLIAQgBiAHQQBIIgcbIQQgBkEEaiAGIAcbKAIAIgYNAAsgBCAFRg0AAkAgCSAEKQIQIgGnIAFCIIgiAaciBSAIIAUgCEkbEF4iBUUEQCABIApYDQEMAgsgBUEASA0BCyAEQRxqIAQoAhwgAmoiBTYCACAFQQBIDQEgBCgCGCIERQ0AAkAgBUUEQCAEKAIEQQFGDQIgBCgCFCIDRQ0CIAQoAhAiAiADQQJ0akEEaygCACgCBEEBSw0CQQAhBgNAIAIgBkECdGooAgAoAgRBAUcEQCADIAZBAWoiBkcNAQwECwsgBEEBNgIEDAELIAJBAUcNASAFQQFHDQEgBCgCBEEBRw0BIANBAUYNASAEIAM2AgQLIAAgBBCSBwsPC0GwyAVBuJ0DQb0BQYu0BBABAAsHACAAKAIgC9ABAQZ/IABBQGsoAgAiAQRAA0AgASgCACEEIAEQWiAEIgENAAsLIAAoAjghASAAQQA2AjggAQRAIAEQWgsgACgCKCIBBEADQCABKAIAIQUgARBaIAUiAQ0ACwsgACgCICEBIABBADYCICABBEAgARBaCyAAKAIUIgEEQANAIAEoAgAhBiABKAIQIgMEQCABIAM2AhQgAxBaCyABEFogBiIBDQALCyAAKAIMIQEgAEEANgIMIAEEQCABEFoLIAAoAgAiAQRAIAAgATYCBCABEFoLC9wNAw9/An0BfiMAQRBrIgkkACAAAn8CQCABKAIEIgRFDQACQCAEaSIHQQFNBEAgBEEBayACcSEFDAELIAQgAiIFSw0AIAUgBHAhBQsgASgCACAFQQJ0aigCACIIRQ0AIAgoAgAiBkUNACAHQQFNBEAgBEEBayEHA0ACQCACIAYoAgQiCEcEQCAHIAhxIAVHDQQMAQsgBigCCCACRw0AQQAMBAsgBigCACIGDQALDAELA0ACQCACIAYoAgQiB0cEQCAEIAdNBH8gByAEcAUgBwsgBUcNAwwBCyAGKAIIIAJHDQBBAAwDCyAGKAIAIgYNAAsLQeAAEFwhBiAJQQA6AAwgCSABQQhqIgw2AgggCSAGNgIEIAMpAgAhFSAGQgA3AhAgBiAVNwIIIAZCADcCGCAGQgA3AiAgBkIANwIwIAZCgICAgICAgMA/NwIoIAZCADcCOCAGQgA3AkggBkEAOgBEIAZBQGtBgICA/AM2AgAgBkIANwJQIAZBADoAXCAGQYCAgPwDNgJYIAlBAToADCAGQQA2AgAgBiACNgIEIAEqAhAhEyABKAIMQQFqsyEUAkAgBARAIBMgBLOUIBRdRQ0BC0ECIQMCQAJAAkAgBCAEQQFrcUEARyAEQQNJciAEQQF0ciIFAn8gFCATlY0iE0MAAIBPXSATQwAAAABgcQRAIBOpDAELQQALIgcgBSAHSxsiBUEBRg0AIAUgBUEBa3FFBEAgBSEDDAELQdSJC0EANgIAQRUgBRAGIQNB1IkLKAIAIQ5B1IkLQQA2AgAgDkEBRg0BIAEoAgQhBAsCQAJAIAMgBE0EQCADIARPDQIgBEEDSSEHAn8gASgCDLMgASoCEJWNIhNDAACAT10gE0MAAAAAYHEEQCATqQwBC0EACyEFAkACQCAHDQAgBGlBAUsNACAFQQFBICAFQQFrZ2t0IAVBAkkbIQUMAQtB1IkLQQA2AgBBFSAFEAYhBUHUiQsoAgAhD0HUiQtBADYCACAPQQFGDQQLIAQgAyAFIAMgBUsbIgNNBEAgASgCBCEEDAMLIANFDQELIANBgICAgARPBEBB1IkLQQA2AgBBAxAJQdSJCygCACEQQdSJC0EANgIAIBBBAUYNAwALQdSJC0EANgIAQQQgA0ECdBAGIQVB1IkLKAIAIRFB1IkLQQA2AgAgEUEBRg0CIAEoAgAhBCABIAU2AgAgBARAIAQQWgsgASADNgIEQQAhB0EAIQQgA0EETwRAIANB/P///wNxIQgDQCAEQQJ0IgUgASgCAGpBADYCACABKAIAIAVqQQA2AgQgASgCACAFakEANgIIIAEoAgAgBWpBADYCDCAEQQRqIgQgCEcNAAsLIANBA3EiBQRAA0AgASgCACAEQQJ0akEANgIAIARBAWohBCAHQQFqIgcgBUcNAAsLIAEoAggiBEUEQCADIQQMAgsgBCgCBCEIAkAgAyADQQFrIgpxBEAgAyAITQRAIAggA3AhCAsgASgCACAIQQJ0aiAMNgIAIAQoAgAiBw0BIAMhBAwDCyABKAIAIAggCnEiCEECdGogDDYCACAEKAIAIgVFBEAgAyEEDAMLA0ACQCAIIAUoAgQgCnEiB0YEQCAFIQQMAQsgB0ECdCILIAEoAgBqIg0oAgAEQCAEIAUoAgA2AgAgBSABKAIAIAtqKAIAKAIANgIAIAEoAgAgC2ooAgAgBTYCAAwBCyANIAQ2AgAgBSEEIAchCAsgBCgCACIFDQALIAMhBAwCCwNAIAMgBygCBCIFTQRAIAUgA3AhBQsCQCAFIAhGBEAgByEEDAELIAVBAnQiCiABKAIAaiILKAIARQRAIAsgBDYCACAHIQQgBSEIDAELIAQgBygCADYCACAHIAEoAgAgCmooAgAoAgA2AgAgASgCACAKaigCACAHNgIACyAEKAIAIgcNAAsgAyEEDAELIAEoAgAhA0EAIQQgAUEANgIAIAMEQCADEFoLIAFBADYCBAsgBCAEQQFrIgNxRQRAIAIgA3EhBQwDCyACIARPDQEgAiEFDAILEAAhEiAJKAIEIQAgCUEANgIEIAAEQCAJLQAMBEAgAEEQahDJCgsgABBaCyASEAcACyACIARwIQULAkACQCABKAIAIAVBAnRqIgIoAgAiBUUEQCAGIAEoAgg2AgAgASAGNgIIIAIgDDYCACAGKAIAIgJFDQIgAigCBCEFAkAgBCAEQQFrIgJxRQRAIAIgBXEhBQwBCyAEIAVLDQAgBSAEcCEFCyABKAIAIAVBAnRqIQUMAQsgBiAFKAIANgIACyAFIAY2AgALIAEgASgCDEEBajYCDEEBCzoABCAAIAY2AgAgCUEQaiQAC1oBBH8gACgCCCIBIAAoAgQiBEcEQANAIAAgAUEMayICNgIIIAIoAgAiAwR/IAFBCGsgAzYCACADEFogACgCCAUgAgsiASAERw0ACwsgACgCACIABEAgABBaCwvKDQMPfwJ9AX4jAEEQayIJJAAgAAJ/AkAgASgCBCIERQ0AAkAgBGkiBkEBTQRAIARBAWsgAnEhBQwBCyAEIAIiBUsNACAFIARwIQULIAEoAgAgBUECdGooAgAiCEUNACAIKAIAIgdFDQAgBkEBTQRAIARBAWshBgNAAkAgAiAHKAIEIghHBEAgBiAIcSAFRw0EDAELIAcoAgggAkcNAEEADAQLIAcoAgAiBw0ACwwBCwNAAkAgAiAHKAIEIgZHBEAgBCAGTQR/IAYgBHAFIAYLIAVHDQMMAQsgBygCCCACRw0AQQAMAwsgBygCACIHDQALC0EcEFwhByAJIAFBCGoiDDYCCCAJIAc2AgQgAykCACEVIAdBADYCGCAHQgA3AhAgByAVNwIIIAlBAToADCAHQQA2AgAgByACNgIEIAEqAhAhEyABKAIMQQFqsyEUAkAgBARAIBMgBLOUIBRdRQ0BC0ECIQMCQAJAAkAgBCAEQQFrcUEARyAEQQNJciAEQQF0ciIFAn8gFCATlY0iE0MAAIBPXSATQwAAAABgcQRAIBOpDAELQQALIgYgBSAGSxsiBUEBRg0AIAUgBUEBa3FFBEAgBSEDDAELQdSJC0EANgIAQRUgBRAGIQNB1IkLKAIAIQ5B1IkLQQA2AgAgDkEBRg0BIAEoAgQhBAsCQAJAIAMgBE0EQCADIARPDQIgBEEDSSEGAn8gASgCDLMgASoCEJWNIhNDAACAT10gE0MAAAAAYHEEQCATqQwBC0EACyEFAkACQCAGDQAgBGlBAUsNACAFQQFBICAFQQFrZ2t0IAVBAkkbIQUMAQtB1IkLQQA2AgBBFSAFEAYhBUHUiQsoAgAhD0HUiQtBADYCACAPQQFGDQQLIAQgAyAFIAMgBUsbIgNNBEAgASgCBCEEDAMLIANFDQELIANBgICAgARPBEBB1IkLQQA2AgBBAxAJQdSJCygCACEQQdSJC0EANgIAIBBBAUYNAwALQdSJC0EANgIAQQQgA0ECdBAGIQVB1IkLKAIAIRFB1IkLQQA2AgAgEUEBRg0CIAEoAgAhBCABIAU2AgAgBARAIAQQWgsgASADNgIEQQAhBkEAIQQgA0EETwRAIANB/P///wNxIQgDQCAEQQJ0IgUgASgCAGpBADYCACABKAIAIAVqQQA2AgQgASgCACAFakEANgIIIAEoAgAgBWpBADYCDCAEQQRqIgQgCEcNAAsLIANBA3EiBQRAA0AgASgCACAEQQJ0akEANgIAIARBAWohBCAGQQFqIgYgBUcNAAsLIAEoAggiBEUEQCADIQQMAgsgBCgCBCEIAkAgAyADQQFrIgpxBEAgAyAITQRAIAggA3AhCAsgASgCACAIQQJ0aiAMNgIAIAQoAgAiBg0BIAMhBAwDCyABKAIAIAggCnEiCEECdGogDDYCACAEKAIAIgVFBEAgAyEEDAMLA0ACQCAIIAUoAgQgCnEiBkYEQCAFIQQMAQsgBkECdCILIAEoAgBqIg0oAgAEQCAEIAUoAgA2AgAgBSABKAIAIAtqKAIAKAIANgIAIAEoAgAgC2ooAgAgBTYCAAwBCyANIAQ2AgAgBSEEIAYhCAsgBCgCACIFDQALIAMhBAwCCwNAIAMgBigCBCIFTQRAIAUgA3AhBQsCQCAFIAhGBEAgBiEEDAELIAVBAnQiCiABKAIAaiILKAIARQRAIAsgBDYCACAGIQQgBSEIDAELIAQgBigCADYCACAGIAEoAgAgCmooAgAoAgA2AgAgASgCACAKaigCACAGNgIACyAEKAIAIgYNAAsgAyEEDAELIAEoAgAhA0EAIQQgAUEANgIAIAMEQCADEFoLIAFBADYCBAsgBCAEQQFrIgNxRQRAIAIgA3EhBQwDCyACIARPDQEgAiEFDAILEAAhEiAJKAIEIQMgCUEANgIEIAMEQAJAIAktAAxFDQAgAygCECIARQ0AIAMoAhQiASAAIgJHBEADQCABQQxrIgIoAgAiBARAIAFBCGsgBDYCACAEEFoLIAIiASAARw0ACyADKAIQIQILIAMgADYCFCACEFoLIAMQWgsgEhAHAAsgAiAEcCEFCwJAAkAgASgCACAFQQJ0aiICKAIAIgVFBEAgByABKAIINgIAIAEgBzYCCCACIAw2AgAgBygCACICRQ0CIAIoAgQhBQJAIAQgBEEBayICcUUEQCACIAVxIQUMAQsgBCAFSw0AIAUgBHAhBQsgASgCACAFQQJ0aiEFDAELIAcgBSgCADYCAAsgBSAHNgIACyABIAEoAgxBAWo2AgxBAQs6AAQgACAHNgIAIAlBEGokAAu9BAIIfwF+IwBBIGsiBCQAAkACQAJAA0AgASgCACICQQVHBEACQAJAIAIOAwEABQQLIAAoAnghAiABKAIEIgMoAgBBDkYEQAJAIARBCGogA0EIahB6IgAoAhBBAmtBBU8EQEHUiQtBADYCAEENQZH7BUGalgNB1gRBrNIAEAVB1IkLKAIAIQVB1IkLQQA2AgAgBUEBRg0BAAtB1IkLQQA2AgBBDCACQagBakEgQQgQBCEBQdSJCygCACEGQdSJC0EANgIAIAZBAUYNACABQgA3AgQgAUEONgIAIAFCADcCDCABQgA3AhQgACABQQhqIgJHBEAgAhBZIQJB1IkLQQA2AgBBwAAgAiAAEAIaQdSJCygCACEHQdSJC0EANgIAIAdBAUYNAQsgASAAKAIQNgIEIAAQWRoMBwsQACEIIAAQWRogCBAHAAsgACgCdCAAKAJUIAAoAlggARD3DigCCCIAENACIQMgAkGoAWpBDEEEEF0iASAANgIIIAFBCDYCACABIAM2AgQMBQsFIAEoAgwoAgAhAQwBCwsgASgCBCECIAApAsABIQogACgCeEGoAWoiAEEkQQQQXSIBQgA3AgggAUEGNgIAIAFBADoAICABIAo3AhggASACNgIEIAFBADYCECABIAA2AhQMAgtBlIMEQa6cA0GXBhBiAAsgACgCeCEJIAAoAnQgASgCBCIAENACIQMgCUGoAWpBDEEEEF0iASAANgIIIAFBCDYCACABIAM2AgQLIARBIGokACABC8wCAQN/An8CQAJAIAFFDQAgAkGV08feBWwiA0EYdiADc0GV08feBWxB1Mye+gZzIgNBDXYgA3NBldPH3gVsIgNBD3YgA3MhBSAAAn8gAUEBayAFcSABaSIEQQFNDQAaIAUgASAFSw0AGiAFIAFwCyIDQQJ0aigCACIARQ0AIAAoAgAiAEUNACAEQQFNBEAgAUEBayEEA0ACQCAFIAAoAgQiAUcEQCABIARxIANGDQEMBAsgACgCCCACRg0ECyAAKAIAIgANAAsMAQsDQAJAIAUgACgCBCIERwRAIAEgBE0EfyAEIAFwBSAECyADRg0BDAMLIAAoAgggAkYNAwsgACgCACIADQALC0GwqQtBxKkLLQAAQQFxDQEaQbipC0IANwIAQbCpC0IANwIAQcCpC0GAgID8AzYCAEHEqQtBAToAAEGwqQsPCyAAQQxqCwu6AgEEfwJAAkACQEEAIAAoAgRrIAAoAlwgACgCWGtBA3VGBEAgASgCAEUNASAAQQRqQc0wIAEQW0EAIAAoAgQiAmsgACgCXCIBIAAoAlgiA2tBA3VHBEAgAEEUayEEIABBCGohBQNAAkAgASADRgRAIAJFDQYgBSACQQFrIgJBA3RqIgMoAgQhASADKAIAIQMgACACNgIEDAELIAFBCGsiAigCACEDIAIoAgQhASAAIAI2AlwLIAAgATYCACABKAIARQ0FIAQgASADEQAAQQAgACgCBCICayAAKAJcIgEgACgCWCIDa0EDdUcNAAsLDwtBzcoFQdOZA0HIAkHQ+AIQAQALQYGDAkHTmQNBuQJBrvcCEAEAC0HexAVBsJQDQdoAQf37AhABAAtB9YICQdOZA0HNAkHQ+AIQAQAL4gQBDH8gACgCtAEiAQRAA0AgASgCACEHIAFBCGoQWRogARBaIAciAQ0ACwsgACgCrAEhASAAQQA2AqwBIAEEQCABEFoLIAAoAqABIgMEQANAIAMoAgAhCCADKAIQIgQEQCADKAIUIgIgBCIBRwRAA0AgAkEMayIBKAIAIgUEQCACQQhrIAU2AgAgBRBaCyABIgIgBEcNAAsgAygCECEBCyADIAQ2AhQgARBaCyADEFogCCIDDQALCyAAKAKYASEBIABBADYCmAEgAQRAIAEQWgsgACgCjAEiAQRAIAAgATYCkAEgARBaCyAAKAJ8IgMEQCAAKAKAASIBIAMiAkcEQANAIAFBBGsiASgCACECIAFBADYCACACBEAgAigCDCIEBEAgAiAENgIQIAQQWgsgAhBaCyABIANHDQALIAAoAnwhAgsgACADNgKAASACEFoLIAAoAmgiAQRAIAAgATYCbCABEFoLIAAoAlwiAQRAA0AgASgCACEJIAEQWiAJIgENAAsLIAAoAlQhASAAQQA2AlQgAQRAIAEQWgsgACgCSCIBBEADQCABKAIAIQogARBaIAoiAQ0ACwsgACgCQCEBIABBADYCQCABBEAgARBaCyAAKAI0IgEEQANAIAEoAgAhCyABKAIMIgMEQCABIAM2AhAgAxBaCyABEFogCyIBDQALCyAAKAIsIQEgAEEANgIsIAEEQCABEFoLIAAoAiAiAQRAA0AgASgCACEMIAEQWiAMIgENAAsLIAAoAhghASAAQQA2AhggAQRAIAEQWgsgACgCDCIBBEAgACABNgIQIAEQWgsLKwEBfyAAKAIAIQEgAEEANgIAIAEEQCAALQAIBEAgAUEIahBZGgsgARBaCwvEDQIhfwF+IwBBQGoiBCQAAkACQAJAAkACQCAAKAKYASIKIABBlAFqIgxGDQADQCAKKAIgIQIgCigCJCEFQdSJC0EANgIAQcAAIARBCGogCkEIahACIQNB1IkLKAIAIRFB1IkLQQA2AgAgEUEBRg0CAkACQCAFIAJrIgVBAnUiCEECSQ0AAkACQAJAAkACQAJAAkAgBCgCGCICQQdPBEAgAigCBCEAQdSJC0EANgIAQQ1BvcEGQcjJBiAAG0HlpwJBzwBB9qQDEAVB1IkLKAIAIRJB1IkLQQA2AgAgEkEBRg0BDA8LAkACQAJAIAJBAmsOBQABBAQKAgsgAygCACECQdSJC0EANgIAIARBADYCKCAEQgA3AiBB7QAgBEEgaiACEAIhAkHUiQsoAgAhE0HUiQtBADYCACATQQFHBEAgBCgCJCEUIAIoAgAiAgRAIAQgAjYCJCACEFoLIBQgAmshAgwFCxAAIQIgBCgCICIARQ0GIAQgADYCJCAAEFogAxBZGgwPCyADKQMAISNB1IkLQQA2AgAgBEEANgI0IARCADcCLEHuLyAEQSxqICMQuAIhAkHUiQsoAgAhFUHUiQtBADYCACAVQQFHBEAgBCgCMCEWIAIoAgAiAgRAIAQgAjYCMCACEFoLIBYgAmshAgwECxAAIQIgBCgCLCIARQ0FIAQgADYCMCAAEFogAxBZGgwOC0HUiQtBADYCAEEUQe+EBEHlpwJB4wAQCEHUiQsoAgAhF0HUiQtBADYCACAXQQFHDQ4LEAAhAiADEFkaDAwLQdSJC0EANgIAQYgMIAIQBiECQdSJCygCACEYQdSJC0EANgIAIBhBAUYNAQsgAxBZGiAFQQF1IAJqQQJqIAIgCGxPDQUgACgCfCEDIAAoAnghAiAKKAIgKAIAKAIAKAIEIQhB1IkLQQA2AgAgBEIANwMAIARCADcDOEH2ECACIAQgCBAEIQZB1IkLKAIAIRlB1IkLQQA2AgAgGUEBRg0DIAooAiAoAgAoAgAhAkHUiQtBADYCAEEMIANBqAFqIg1BEEEEEAQhA0HUiQsoAgAhGkHUiQtBADYCACAaQQFGDQMgAyACNgIMIAMgBjYCCCADQgk3AgAgAyACKAIEQQFGIgU2AgQgAyAFIAIoAgRBAUZyNgIEIAooAiAiAiAKKAIkIg5HBEADQCACKAIAIRxB1IkLQQA2AgBBDCANQQxBBBAEIQVB1IkLKAIAIRtB1IkLQQA2AgAgG0EBRg0EIAUgBjYCCCAFQQg2AgAgBSAINgIEIBwgBTYCACACQQRqIgIgDkcNAAsLIAkgC0kEQCAJIAM2AgAgCUEEaiEJDAYLAkACQAJAIAkgB2tBAnUiBUEBaiICQYCAgIAETwRAQdSJC0EANgIAQQ4QCQwBC0H/////AyALIAdrIghBAXUiBiACIAIgBkkbIAhB/P///wdPGyIIRQRAQQAhAgwDCyAIQYCAgIAESQ0BQdSJC0EANgIAQQMQCQtB1IkLKAIAIR1B1IkLQQA2AgAgHUEBRw0NEAAhAgwMC0HUiQtBADYCAEEEIAhBAnQQBiECQdSJCygCACEeQdSJC0EANgIAIB5BAUYNBAsgAiAFQQJ0aiIFIAM2AgAgBSEDIAcgCUcEQANAIANBBGsiAyAJQQRrIgkoAgA2AgAgByAJRw0ACwsgCEECdCACaiELIAVBBGohCSAHRQRAIAMhBwwGCyAHEFogAyEHDAULEAAhAgsgAxBZGgwICxAAIQIMBwsQACECDAYLIAMQWRoLIAooAgQiCiAMRw0ACyAHIAlHBEAgACgCfCEFQdSJC0EANgIAQQwgBUGoAWoiA0EgQQQQBCEAQdSJCygCACEfQdSJC0EANgIAIB9BAUYNAyAAQgA3AgQgAEEBNgIAIABCADcCDCAAQQA2AhQgACADNgIcIAAgCSAHayICQQJ1Igo2AhhB1IkLQQA2AgBBDCADIAJBBBAEIQNB1IkLKAIAISBB1IkLQQA2AgAgIEEBRg0DIAAgAzYCEEEAIQMgByECA0AgACgCECADQQJ0aiACKAIANgIAIANBAWohAyACQQRqIgIgCUcNAAsgACAKNgIUQdSJC0EANgIAQYMDIABBAEEAQQAQBUHUiQsoAgAhIUHUiQtBADYCACAhQQFGDQMgASgCMCEDQdSJC0EANgIAQYIDIAUgACADQQBBABATIQBB1IkLKAIAISJB1IkLQQA2AgAgIkEBRg0DIAEgADYCMAsgB0UNACAHEFoLIARBQGskAA8LEAAhAgwBCxAAIQILIAcEQCAHEFoLIAIQBwALAAsFAEHEAAsEAEE+CwUAQdEACwUAQc0ACwUAQckACwUAQdkAC/NNAlN/AX4jAEHAAmsiBSQAIAUgAjYCvAECQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIEIgkgASgCACIKayIIQQxtQQJJDQACfwJAAkACfwJAIAkgCkYNACAAKALwASEEIAohBwNAAkACQAJAAkACQCAHKAIAIgwEQCAEIgNFDQIDQCADKAIQIgYgDE0EfyAGIAxPDQUgA0EEagUgAwsoAgAiAw0ACyAHKAIEIgYNAQwFCyAHKAIEIgZFDQQgBEUNBAsgBCEDA0AgAygCECILIAZNBH8gBiALTQ0DIANBBGoFIAMLKAIAIgMNAAsgDEUNAwwCCyAHKAIEIgYNAQwCCyAHIAlGDQMCQCAJIAdBDGoiA0cEQCAHIQgDQCAHIQYgAyEHAkACQAJAAkACQCAGKAIMIgoEQCAAKALwASIEIQMgBEUNAgNAIAMoAhAiDCAKTQR/IAogDE0NByADQQRqBSADCygCACIDDQALIAYoAhAiAw0BDAQLIAYoAhAiA0UNAyAAKALwASIERQ0DCwNAIAQoAhAiBiADTQR/IAMgBk0NBSAEQQRqBSAECygCACIEDQALIApFDQIMAQsgBigCECIDRQ0BCyADKAIUIgRFDQQgAygCECAEQQJ0akEEaygCACAKRg0ADCcLIAggBykCADcCACAIIAcoAgg2AgggCEEMaiEICyAHQQxqIgMgCUcNAAsgASgCACEKIAEoAgQhCSAIIQcLIAcgCmshCCAHIAlGDQQgCSAIIApqIgMgCSAHa2oiBGshByAEIAlHBEAgAyAEIAf8CgAAIAEoAgAhCgsgASADIAdqIgk2AgQgCSAKayEIDAQLDCMLIAYoAhQiA0UNIiAGKAIQIANBAnRqQQRrKAIAIAxGDQAMIQsgB0EMaiIHIAlHDQALCwJAAkACQAJAAkACQAJAIAkgCkYEQEEAIQwMAQsgCEEMbUHWqtWqAU8NBCAIEFwiDCAKIAj8CgAAIAggDGohDSAIRQ0AIAwhAwNAQdSJC0EANgIAQeMpIAVBvAFqIAAgAxAEIRpB1IkLKAIAIRlB1IkLQQA2AgAgGUEBRg0DIBpFBEAgA0EMaiIDIA1HDQEMAgsLAkAgAyANRg0AIANBDGoiBCANRg0AA0BB1IkLQQA2AgBB4ykgBUG8AWogACAEEAQhHEHUiQsoAgAhG0HUiQtBADYCACAbQQFGDQMgHEUEQCADIAQpAgA3AgAgAyAEKAIINgIIIANBDGohAwsgBEEMaiIEIA1HDQALCyADIA1GDQAgDSADIA0gA2tqIgRrIQcgBCANRwRAIAMgBCAH/AoAAAsgAyAHaiENCyANIAxrQQxtQQJJDQcgBUIANwLEASAFIAVBxAFqIhA2AsABIAUgBUG4AmoiEzYCtAIgBUIANwK4AiAMIA1HDQIgBUIANwK0ASAFIAVBtAFqNgKwAUEADAYLEAAhAwwgCxAAIQMMHwsgAkF/cyELIAwhCgJAA0ACQCAKKAIEIgIEfyACKAIUIgMgC2oiBCADTwRAQdSJC0EANgIAQQ1BxaIBQYmiA0G8AUGmiAUQBUHUiQsoAgAhHUHUiQtBADYCACAdQQFGDQIMJQsgAigCECAEQQJ0agUgCgsoAgAhBkHUiQtBADYCACAFQf0CNgIsIAVB6O4JNgIoIAUgBUEoaiICNgI4Qf4CIAYgAhACIQlB1IkLKAIAIR5B1IkLQQA2AgAgHkEBRg0EAkACQCACIAUoAjgiA0YEQEEEIQQgAiEDDAELQQUhBCADRQ0BCyADIAMoAgAgBEECdGooAgARAQALIBAiByEDAkACQCAFKALEASIERQ0AA0AgBCIDKAIQIgIgBksEQCADIQcgAygCACIEDQEMAgsgAiAGTw0CIAMoAgQiBA0ACyADQQRqIQcLQdSJC0EANgIAQQRBGBAGIQRB1IkLKAIAIR9B1IkLQQA2AgAgH0EBRg0DIAQgBjYCECAEIAM2AgggBEIANwIAIARBADYCFCAHIAQ2AgAgBCEDIAUoAsABKAIAIgIEQCAFIAI2AsABIAcoAgAhAwsgBSgCxAEgAxBnIAUgBSgCyAFBAWo2AsgBCyAEIAk2AhQgEyIIIQMCQAJAIAUoArgCIgRFDQADQCAEIgMoAhAiAiAJSwRAIAMhCCADKAIAIgQNAQwCCyACIAlPBEAgAyEHDAMLIAMoAgQiBA0ACyADQQRqIQgLQdSJC0EANgIAQQRBIBAGIQdB1IkLKAIAISBB1IkLQQA2AgAgIEEBRg0DIAcgCTYCECAHIAM2AgggB0IANwIAIAdBADYCHCAHQgA3AhQgCCAHNgIAIAchAyAFKAK0AigCACICBEAgBSACNgK0AiAIKAIAIQMLIAUoArgCIAMQZyAFIAUoArwCQQFqNgK8AgsCQCAHKAIYIgMgBygCHEcEQCADIAY2AgAgByADQQRqNgIYDAELAkACQAJAIAMgBygCFCIIayICQQJ1Ig5BAWoiBEGAgICABE8EQEHUiQtBADYCAEEOEAkMAQtB/////wMgAkEBdSIJIAQgBCAJSRsgAkH8////B08bIgJFBEBBACEJDAMLIAJBgICAgARJDQFB1IkLQQA2AgBBAxAJC0HUiQsoAgAhIUHUiQtBADYCACAhQQFHDSYQACEDDCILQdSJC0EANgIAQQQgAkECdBAGIQlB1IkLKAIAISJB1IkLQQA2AgAgIkEBRg0ECyAJIA5BAnRqIgQgBjYCACAEQQRqIQYgAyAIRwRAA0AgBEEEayIEIANBBGsiAygCADYCACADIAhHDQALIAcoAhQhAwsgByAJIAJBAnRqNgIcIAcgBjYCGCAHIAQ2AhQgA0UNACADEFoLIA0gCkEMaiIKRw0BDAULCxAAIQMMHQsQACEDDBwLEGQACxAAIQMCQCAFKAI4IgQgBUEoaiIARgRAQQQhBiAAIQQMAQtBBSEGIARFDRsLIAQgBCgCACAGQQJ0aigCABEBAAwaCyAFQgA3ArQBIAUgBUG0AWoiFTYCsAFBACAMIA1GIhcNABogDSAMayIWQQxtQdaq1aoBSSEYIAwhAgNAIAIiFCgCBCICBH8gAigCFCIDIAUoArwBQX9zaiIEIANPBEBB1IkLQQA2AgBBDUHFogFBiaIDQbwBQaaIBRAFQdSJCygCACEjQdSJC0EANgIAICNBAUcNIBAAIQMMGwsgAigCECAEQQJ0agUgFAsoAgAhByAQIgIhAwJAAkACQAJAAkACQCAFKALEASIERQ0AA0AgBCIDKAIQIgIgB0sEQCADIQIgAygCACIEDQEMAgsgAiAHTw0CIAMoAgQiBA0ACyADQQRqIQILQdSJC0EANgIAQQRBGBAGIQRB1IkLKAIAISRB1IkLQQA2AgAgJEEBRg0BIAQgBzYCECAEIAM2AgggBEIANwIAIARBADYCFCACIAQ2AgAgBCEDIAUoAsABKAIAIgcEQCAFIAc2AsABIAIoAgAhAwsgBSgCxAEgAxBnIAUgBSgCyAFBAWo2AsgBCyAEKAIUIQMgFSICIQQCQCAFKAK0ASIGRQ0AA0AgBiIEKAIQIgIgA0sEQCAEIQIgBCgCACIGDQEMAgsgAiADTw0FIAQoAgQiBg0ACyAEQQRqIQILQdSJC0EANgIAQQRBFBAGIQZB1IkLKAIAISVB1IkLQQA2AgAgJUEBRg0BIAYgBDYCCCAGQgA3AgAgBiADNgIQIAIgBjYCACAFKAKwASgCACIEBEAgBSAENgKwASACKAIAIQYLIAUoArQBIAYQZyAFIAUoArgBQQFqNgK4ASATIgIhBAJAAkACQAJAAkAgBSgCuAIiBkUNAANAIAYiBCgCECICIANLBEAgBCECIAQoAgAiBg0BDAILIAIgA08EQCAEIQkMAwsgBCgCBCIGDQALIARBBGohAgtB1IkLQQA2AgBBBEEgEAYhCUHUiQsoAgAhJkHUiQtBADYCACAmQQFGDQEgCSADNgIQIAkgBDYCCCAJQgA3AgAgCUEANgIcIAlCADcCFCACIAk2AgAgCSEDIAUoArQCKAIAIgQEQCAFIAQ2ArQCIAIoAgAhAwsgBSgCuAIgAxBnIAUgBSgCvAJBAWo2ArwCCyAJKAIYIgogCSgCFCIHayICQQJ1DgIBBgILEAAhAwwfC0HUiQtBADYCAEENQfDGBUHAsAJB9gRB1rgBEAVB1IkLKAIAISdB1IkLQQA2AgAgJ0EBRw0jEAAhAwweCyACQQVPDQIMAwsQACEDDBwLEAAhAwwbCwNAAkAgBygCACEOAkACQAJAAkACQAJAAkACQAJAAkACfyAHIApHBEAgByEEAkACQANAIAQoAgAiByAORwRAIAVBxO4JNgIoQdSJC0EANgIAIAUgBUEoaiICNgI4Qf8CIAcgDiACEAQhKUHUiQsoAgAhKEHUiQtBADYCACAoQQFGDQICQAJAIAIgBSgCOCIDRgRAQQQhCCACIQMMAQtBBSEIIANFDQELIAMgAygCACAIQQJ0aigCABEBAAsgKUUNAwsgBEEEaiIEIApHDQALQQAhB0EAIQNBACELIAohBAwECxAAIQMCQCAFKAI4IgQgBUEoaiIARgRAQQQhBiAAIQQMAQtBBSEGIARFDSoLIAQgBCgCACAGQQJ0aigCABEBAAwpC0HUiQtBADYCAEEEQQQQBiEIQdSJCygCACEqQdSJC0EANgIAICpBAUYNAyAIIAc2AgAgCEEEagwBC0EAIQggByEEQQALIQMgBCAKRgRAIAghByADIQsMAQsgCCEHIAMhCyAEQQRqIgggCkYNAANAAkACQAJAIAQgCCgCACISIA5HBH8gBUHE7gk2AihB1IkLQQA2AgAgBSAFQShqIg82AjhB/wIgEiAOIA8QBCEsQdSJCygCACErQdSJC0EANgIAICtBAUYNAQJAAkAgDyAFKAI4IgZGBEBBBCECIA8hBgwBC0EFIQIgBkUNAQsgBiAGKAIAIAJBAnRqKAIAEQEACyAsRQ0CIAgoAgAFIA4LNgIAIARBBGohBAwCCxAAIQMCQCAFKAI4IgQgBUEoaiIARgRAQQQhBiAAIQQMAQtBBSEGIARFDSkLIAQgBCgCACAGQQJ0aigCABEBAAwoCyADIAtHBEAgAyASNgIAIANBBGohAwwBCyADIAdrIgJBAnUiEUEBaiIGQf////8DSw0lAkBB/////wMgAkEBdSILIAYgBiALSRsgAkH8////B08bIgtFBEBBACEPDAELIAtB/////wNLDSVB1IkLQQA2AgBBBCALQQJ0EAYhD0HUiQsoAgAhLUHUiQtBADYCACAtQQFGDQULIA8gEUECdGoiAiASNgIAIAIhBiADIAdHBEADQCAGQQRrIgYgA0EEayIDKAIANgIAIAMgB0cNAAsLIAtBAnQgD2ohCyACQQRqIQMgBwRAIAcQWgsgBiEHCyAIQQRqIgggCkcNAAsLIAkoAhQhBiAJKAIYIgIgBEYEfyAEIAZrBSACIAQgAiAEa2oiCGshCiACIAhHBEAgBCAIIAr8CgAAIAkoAhQhBgsgCSAEIApqIgI2AhggAiAGawtBBUkNCCAGKAIAIRIgBUEANgKsASAFQgA3AqQBIBhFBEBB1IkLQQA2AgBB5CkQCUHUiQsoAgAhLkHUiQtBADYCACAuQQFHDSsQACEDDCULQdSJC0EANgIAQQQgFhAGIQRB1IkLKAIAIS9B1IkLQQA2AgAgL0EBRgRAEAAhAwwlCyAFIAQ2AqgBIAUgBDYCpAEgBSAEIBZqIgg2AqwBIAQgDCAW/AoAACAFIAg2AqgBAkACQCAXBEAgBCECDAELIAUoArwBQX9zIQ8CQANAIAQiAigCBCIGBH8gBigCFCIKIA9qIg4gCk8NByAGKAIQIA5BAnRqBSACCygCACEGQdSJC0EANgIAIAVBxO4JNgIoIAUgBUEoaiIONgI4Qf8CIAYgEiAOEAQhEUHUiQsoAgAhMEHUiQtBADYCACAwQQFHBEACQAJAIA4gBSgCOCIGRgRAQQQhCiAOIQYMAQtBBSEKIAZFDQELIAYgBigCACAKQQJ0aigCABEBAAsgEUUNAiACQQxqIgQgCEcNAQwKCwsQACEDIAUoAjgiBCAFQShqIgBHDQZBBCEGIAAhBAwHCyACIAhGBEAgCCECDAELIAggAkEMaiIGRg0AIAUoArwBQX9zIQ4DQCAEKAIQIgQEfyAEKAIUIgogDmoiDyAKTw0GIAQoAhAgD0ECdGoFIAYLKAIAIQRB1IkLQQA2AgAgBUHE7gk2AiggBSAFQShqIgo2AjhB/wIgBCASIAoQBCEyQdSJCygCACExQdSJC0EANgIAIDFBAUYNAgJAAkAgCiAFKAI4IgRGBEBBBCEPIAohBAwBC0EFIQ8gBEUNAQsgBCAEKAIAIA9BAnRqKAIAEQEACyAyBEAgAiAGKQIANwIAIAIgBigCCDYCCCACQQxqIQILIAYiBEEMaiIGIAhHDQALIAUoAqgBIQgLIAIgCEYNBiAIIAIgCCACa2oiBGshBiAEIAhHBEAgAiAEIAb8CgAACyAFIAIgBmo2AqgBDAYLEAAhAyAFKAI4IgQgBUEoaiIARw0DQQQhBiAAIQQMBAsQACEDDCQLEAAhAwwiC0HUiQtBADYCAEENQcWiAUGJogNBvAFBpogFEAVB1IkLKAIAITNB1IkLQQA2AgAgM0EBRw0nEAAhAwwDC0EFIQYgBEUNAgsgBCAEKAIAIAZBAnRqKAIAEQEADAELQdSJC0EANgIAQeUpIAAgBUGkAWogBSgCvAFBAWoQBCECQdSJCygCACE0QdSJC0EANgIAIDRBAUcNARAAIQMLIAUoAqQBIgBFDR0gABBaDB0LIAUoAqQBIgQEQCAEEFoLIAINASAJKAIUIQYLIAkgCzYCHCAJIAM2AhggCSAHNgIUIAYEfyAGEFogCSgCFCEHIAkoAhgFIAMLIgogB2tBBEsNAQwCCwsgBwRAIAcQWgsgBSgCtAEQmwcgBSgCuAIQmgcgBSgCxAEQmQcMBAsgFEEMaiICIA1HDQALIAUoArQBCxCbByAFKAK4AhCaByAFKALEARCZByAFKAK8ASECC0EAIAJFDQEaQdSJC0EANgIAQeYpIAVBwAFqIAIgARAIQdSJCygCACEDQdSJC0EANgIAAkACQAJAIANBAUcEQCAFKALAASIIIAUoAsQBIgpGBEAgASgCACEEIAEoAgQhB0EAIQYMAgtBACEGIAghAwNAAkAgBSADKAIANgK0AiAFQgA3AiggBUIANwKQASAFQgA3AogBIAVCADcCgAFB1IkLQQA2AgBB5ykgBUEoaiAFQbQCahADQdSJCygCACE1QdSJC0EANgIAIDVBAUYNACAFKAKUASE2IAUoAoABIgQEQCAFIAQ2AoQBIAQQWgsgNiABKAIEIgcgASgCACIEa0EMbUEBa2wgBmohBiAKIANBBGoiA0cNAQwDCwsQACEDIAUoAoABIgBFDQIgBSAANgKEASAAEFoMAgsQACEDDBsLIAAoAngoAjAhA0HUiQtBADYCAEHoKSAAIAVBwAFqIAMQBCEDQdSJCygCACE3QdSJC0EANgIAIDdBAUcEQCAIBEAgCBBaC0EAIAMgBiAHIARrQQxtQQNqS3FFDQQaQdSJC0EANgIAQeYpIAVBsAFqIAIgARAIQdSJCygCACE4QdSJC0EANgIAIDhBAUYNDCAAQQE6ALgBIAAoAnwhCiAAKAJ4IQIgBUIANwKIASAFQgA3AoABIAVBADYCkAEgBUGYAWoiA0IANwIAIAVCADcCKCAFQQA2AqABIAUgAzYClAEgBSACNgKMAUHTmQMhByACKAIwDQJBrvcCIQNBuQIhBEGBgwIhBgwSCxAAIQMLIAhFDRkgCBBaDBkLQdSJC0EANgIAQekpIAVBLGpB6ikgAkEwahAIQdSJCygCACE5QdSJC0EANgIAIDlBAUYNEEEAIAUoAiwiBmsgBSgChAEiAyAFKAKAASIEa0EDdUcEQCAFQTBqIQgDQAJAIAMgBEYEQCAGRQRAQf37AiEDQdoAIQRBsJQDIQdB3sQFIQYMFAsgCCAGQQFrIgJBA3RqIgQoAgQhAyAEKAIAIQQgBSACNgIsDAELIANBCGsiAigCACEEIAIoAgQhAyAFIAI2AoQBCyAFIAM2AiggAygCAEUEQEHQ+AIhA0HNAiEEQfWCAiEGDBILQdSJC0EANgIAIAQgBUEoaiADEANB1IkLKAIAITpB1IkLQQA2AgAgOkEBRg0SQQAgBSgCLCIGayAFKAKEASIDIAUoAoABIgRrQQN1Rw0ACwsgBUEANgKMAUHUiQtBADYCAEEEQRAQBiECQdSJCygCACE7QdSJC0EANgIAIDtBAUYNCCAFQZQBaiEDIAUgAjYCFCAFQo2AgICAgoCAgH83AhggAkGR/QEpAAA3AAUgAkGM/QEpAAA3AAAgAkEAOgANA0BB1IkLQQA2AgAgBSAFKAKgASICQQFqNgKgAUHAAiAFQbQCaiIEIAIQA0HUiQsoAgAhPEHUiQtBADYCACA8QQFGDQhB1IkLQQA2AgBB3BEgBCAFKAIUIAVBFGogBS0AHyICwEEASCIEGyAFKAIYIAIgBBsQBCECQdSJCygCACE9QdSJC0EANgIAID1BAUYNDCAFIAIoAgg2AsgBIAUgAikCADcDwAEgAkIANwIAIAJBADYCCCAFIAUoAsQBIAUsAMsBIgRB/wFxIARBAEgiBBs2AqgBIAUgBSgCwAEgBUHAAWogBBs2AqQBQdSJC0EANgIAIAUgBSkCpAE3AwhBBiAFQSBqIAVBCGoQA0HUiQsoAgAhPkHUiQtBADYCACA+QQFGDQsgBSwAywFBAEgEQCAFKALAARBaCyAFLAC/AkEASARAIAIoAgAQWgtB1IkLQQA2AgBB6ykgBUHAAWogAyAFKQMgIlYgVhDlAkHUiQsoAgAhP0HUiQtBADYCACA/QQFGDQggBS0AxAFFDQALIAUsAB9BAEgEQCAFKAIUEFoLIAEoAgAiCSABKAIEIg5HBEBBASAFKAK0ASIPIAUoArABIhVrQQJ1IgEgAUEBTRshFCAKQagBaiEQIABB7AFqIRMDQAJAAkAgCSgCBCIBBEAgBUIANwLAASAFIAE2AqQBIAVBADYCqAIgBUIANwKgAiAFQgA3ApgCQdSJC0EANgIAIAUgEzYCrAJB7CkgBUHAAWogBUGkAWoQA0HUiQsoAgAhQEHUiQtBADYCACBAQQFGBEAQACEDIAUoApgCIgBFDRQgBSAANgKcAiAAEFoMFAsgBSgCmAIiAQRAIAUgATYCnAIgARBaCyAJKAIEIQIgDyAVRg0BIAIoAhQhA0EAIQYDQCADBEAgAiADQQFrIgM2AhQgFCAGQQFqIgZHDQEMAwsLQdSJC0EANgIAQQ1BtMQFQYmiA0HVAUHv+wIQBUHUiQsoAgAhQUHUiQtBADYCACBBQQFHDSAQACEDDBMLIAkoAgAhASAFQgA3AsABIAUgATYCpAEgBUEANgKoAiAFQgA3AqACIAVCADcCmAJB1IkLQQA2AgAgBSATNgKsAkHsKSAFQcABaiAFQaQBahADQdSJCygCACFCQdSJC0EANgIAIEJBAUYEQBAAIQMgBSgCmAIiAEUNEyAFIAA2ApwCIAAQWgwTCyAFKAKYAiIBBEAgBSABNgKcAiABEFoLQdSJC0EANgIAQQwgEEEYQQQQBCEBQdSJCygCACFDQdSJC0EANgIAIENBAUYNCiABQgA3AhAgASBWNwIIIAFChICAgBA3AgAgCSgCCCABNgIADAELQdSJC0EANgIAQQwgEEEYQQQQBCEEQdSJCygCACFEQdSJC0EANgIAIERBAUYNCSAEQgA3AhAgBCBWNwIIIARChICAgBA3AgAgAigCECEBAkAgAigCFCILIAIoAhhHBEAgASEDDAELIAIgC0EBdEECaiIDNgIYIAIoAhwhB0HUiQtBADYCAEEMIAcgA0ECdEEEEAQhA0HUiQsoAgAhRUHUiQtBADYCACBFQQFGDQogAiADNgIQIAIoAhQiC0UEQEEAIQsMAQtBACEIQQAhAyALQQRPBEAgC0F8cSEGA0AgA0ECdCIHIAIoAhBqIAEgB2ooAgA2AgAgB0EEciINIAIoAhBqIAEgDWooAgA2AgAgB0EIciINIAIoAhBqIAEgDWooAgA2AgAgB0EMciIHIAIoAhBqIAEgB2ooAgA2AgAgA0EEaiIDIAZHDQALCyALQQNxIgcEQANAIANBAnQiBiACKAIQaiABIAZqKAIANgIAIANBAWohAyAIQQFqIgggB0cNAAsLIAIoAhAhAwsgAyALQQJ0aiAENgIAIAIgC0EBajYCFCAJKAIEIgEoAgQhAkHUiQtBADYCAEGDAyABIAJBAUEAEAVB1IkLKAIAIUZB1IkLQQA2AgAgRkEBRg0JCyAJQQxqIgkgDkcNAAsLIAAoAngoAjAhAUHUiQtBADYCAEEMIApBqAFqIgdBIEEEEAQhA0HUiQsoAgAhR0HUiQtBADYCACBHQQFGDQUgA0IANwIEIANCADcCDCADQQE2AgAgA0IANwIUIAMgBzYCHCADIFY3AggCQAJAAkACQCABKAIEDgIBAAILIANBAjYCGEHUiQtBADYCAEEMIAdBCEEEEAQhAkHUiQsoAgAhSEHUiQtBADYCACBIQQFGDQggAyACNgIQIAIgATYCACADQQE2AhQMAgsgA0ECNgIYQdSJC0EANgIAQQwgB0EIQQQQBCECQdSJCygCACFJQdSJC0EANgIAIElBAUYNByADIAI2AhAgAiABNgIAIANBATYCFEHUiQtBADYCAEEMIAdBDEEEEAQhCkHUiQsoAgAhSkHUiQtBADYCACBKQQFGDQcgCkEANgIIIApCk4CAgBA3AgAgAygCECEBAkAgAygCFCICIAMoAhhHBEAgASEEDAELIAMgAkEBdEECaiICNgIYIAMoAhwhBEHUiQtBADYCAEEMIAQgAkECdEEEEAQhBEHUiQsoAgAhS0HUiQtBADYCACBLQQFGDQggAyAENgIQIAMoAhQiAkUEQEEAIQIMAQtBACEIQQAhBCACQQRPBEAgAkF8cSEJA0AgBEECdCIGIAMoAhBqIAEgBmooAgA2AgAgBkEEciILIAMoAhBqIAEgC2ooAgA2AgAgBkEIciILIAMoAhBqIAEgC2ooAgA2AgAgBkEMciIGIAMoAhBqIAEgBmooAgA2AgAgBEEEaiIEIAlHDQALCyACQQNxIgYEQANAIARBAnQiCSADKAIQaiABIAlqKAIANgIAIARBAWohBCAIQQFqIgggBkcNAAsLIAMoAhAhBAsgBCACQQJ0aiAKNgIAIAMgAkEBajYCFAwBCwJAAkAgASgCAEEBRw0AQdSJC0EANgIAQYMDIAFBAEEAQQAQBUHUiQsoAgAhTEHUiQtBADYCACBMQQFGDQcgASgCBEEBRw0AIAEhBgwBC0HUiQtBADYCAEEMIAdBDEEEEAQhBkHUiQsoAgAhTUHUiQtBADYCACBNQQFGDQYgBiABNgIIIAZCk4CAgBA3AgALQdSJC0EANgIAQe0pIANBEGogBhADQdSJCygCACFOQdSJC0EANgIAIE5BAUYNBQtB1IkLQQA2AgBBgwMgA0EAQQBBABAFQdSJCygCACFPQdSJC0EANgIAIE9BAUYNBUHUiQtBADYCAEEMIAdBIEEEEAQhBEHUiQsoAgAhAUHUiQtBADYCAAJAAkAgAUEBRg0AIARCADcCBEEBIQkgBEEBNgIAIARCADcCDCAEIAc2AhwgBEKAgICAIDcCFEHUiQtBADYCAEEMIAdBCEEEEAQhAUHUiQsoAgAhUEHUiQtBADYCACBQQQFGDQAgBCABNgIQIAEgAzYCACAEQQE2AhQCQCAFKAKwASIGIAUoArQBIgJHBEADQCACQQRrIgIoAgAhCiAEKAIQIQECQCAEKAIYIAlHBEAgASEDDAELIAQgCUEBdEECaiIDNgIYIAQoAhwhB0HUiQtBADYCAEEMIAcgA0ECdEEEEAQhA0HUiQsoAgAhUUHUiQtBADYCACBRQQFGDQMgBCADNgIQIAQoAhQiCUUEQEEAIQkMAQtBACEHQQAhAyAJQQRPBEAgCUF8cSELA0AgA0ECdCIIIAQoAhBqIAEgCGooAgA2AgAgCEEEciIQIAQoAhBqIAEgEGooAgA2AgAgCEEIciIQIAQoAhBqIAEgEGooAgA2AgAgCEEMciIIIAQoAhBqIAEgCGooAgA2AgAgA0EEaiIDIAtHDQALCyAJQQNxIggEQANAIANBAnQiCyAEKAIQaiABIAtqKAIANgIAIANBAWohAyAHQQFqIgcgCEcNAAsLIAQoAhAhAwsgAyAJQQJ0aiAKNgIAIAQgCUEBaiIJNgIUIAIgBkcNAAsgBSAGNgK0AQsgACgCeCgCHCIBQRBPBEAgASgCEEUNAwtB1IkLQQA2AgBBDUHhlQZBuLMCQdsJQY/iAxAFQdSJCygCACFSQdSJC0EANgIAIFJBAUcNHgwGCxAAIQMMEAsQACEDDA8LIAEoAhghAUHUiQtBADYCAEGDAyAEIAFBAUEAEAVB1IkLKAIAIVNB1IkLQQA2AgAgU0EBRg0DIAAoAnggBDYCMCAFKAKYARBgIAUoAoABIgAEQCAFIAA2AoQBIAAQWgsgBkUNACAGEFoLQQELIQMgDEUNACAMEFoLIAVBwAJqJAAgAw8LEAAhAwwKCxAAIQMMCQsQACEDDAgLEAAhAwwHCxAAIQMMBQsQACEDDAULEAAhAwwOCxAAIQMgBSwAywFBAE4NASAFKALAARBaDAELEAAhAwsgBSwAvwJBAE4NACAFKAK0AhBaCyAFLAAfQQBODQAgBSgCFBBaCyAFQShqEM8FDAILQdSJC0EANgIAQQ0gBiAHIAQgAxAFQdSJCygCACFUQdSJC0EANgIAIFRBAUcNCwsQACEDIAUoApgBEGAgBSgCgAEiAEUNACAFIAA2AoQBIAAQWgsgBSgCsAEiAEUNBiAAEFoMBgtB1IkLQQA2AgBBAxAJDAELQdSJC0EANgIAQQ4QCQtB1IkLKAIAIVVB1IkLQQA2AgAgVUEBRw0GEAAhAwsgB0UNACAHEFoLIAUoArQBEJsHCyAFKAK4AhCaByAFKALEARCZBwsgDEUNAQsgDBBaCyADEAcACwALQcjzAUHAsAJB8wBBi9wDEAEAC0G0xAVBiaIDQdABQf37AhABAAsyAQF/IAAEQCAAKAIAENoKIAAoAgQQ2gogACgCGCIBBEAgACABNgIcIAEQWgsgABBaCwuUHAIMfwN8A0AgAUEMayEMIAFBCGshDSABQQRrIQsDQAJAAkACQAJAAkACQAJAIAEgACIGa0ECdSIIDgYGBgABAgQDCyALKAIAIgArAxAgBigCACIBKwMQZEUNBSAGIAA2AgAgCyABNgIADwsgCygCACIBKwMQIRAgBigCBCICKwMQIhEgBigCACIAKwMQIhJkRQRAIBAgEWRFDQUgBiABNgIEIAsgAjYCACAGKAIEIgArAxAgBigCACIBKwMQZEUNBSAGIAE2AgQgBiAANgIADwsgECARZARAIAYgATYCACALIAA2AgAPCyAGIAA2AgQgBiACNgIAIAsoAgAiASsDECASZEUNBCAGIAE2AgQgCyAANgIADwsgBkEIaiEDIAZBBGohACAGKAIIIgIrAxAhEAJAAkACQCAGKAIEIgQrAxAiESAGKAIAIggrAxAiEmRFBEAgECARZA0BIAIhBQwDCyAGIQcgAyEBIAghBSAQIBFkDQEgBiAFNgIEIAYgBDYCACAAIQcgECASZA0BIAIhBQwCCyAAIAI2AgAgAyAENgIAIAYhByAAIQEgBCEFIBAgEmRFDQELIAcgAjYCACABIAg2AgALIAsoAgAiASsDECAFKwMQZEUNAyADIAE2AgAgCyAFNgIAIAMoAgAiASsDECIQIAAoAgAiACsDEGRFDQMgBiAANgIIIAYgATYCBCAQIAYoAgAiACsDEGRFDQMgBiAANgIEIAYgATYCAA8LIAhBF0wEQCABIAZGIAZBBGoiBCABRnIhACADQQFxBEAgAA0EIAYhBwNAIAchCCAEIQcCQCAIKAIEIgIrAxAgCCgCACIAKwMQZEUNAEEAIQUgBEEANgIAIAQhCQNAIAgiBEEANgIAIAkgADYCACAFBEAgBSgCACIABEAgBSAANgIEIAAQWgsgBRBaCwJAIAQgBkYEQCAGIQQMAQsgAisDECAEQQRrIggoAgAiACsDEGRFDQAgBCgCACEFIAQhCQwBCwsgBCgCACEAIAQgAjYCACAARQ0AIAAoAgAiAgRAIAAgAjYCBCACEFoLIAAQWgsgB0EEaiIEIAFHDQALDAQLIAANAwNAIAQhACAGKAIEIgIrAxAiECAGKAIAIgMrAxBkBEAgAEEANgIAIAZBADYCACAAIAM2AgAgBkEEayIEKAIAIgUrAxAgEGMEQANAIARBADYCACAGIAU2AgAgECAEIgZBBGsiBCgCACIFKwMQZA0ACwsgBiACNgIACyAAIgZBBGoiBCABRw0ACwwDCyACRQRAIAEgBkYNAyAIQQJrQQF2IgchBANAAkAgByAEIgNIDQAgBiAEQQJ0aiEAIAYgBEEBdCIFQQFyIgJBAnRqIQQCQCAIIAVBAmoiBUwEQCACIQUMAQsgBCgCACsDECAEKAIEKwMQZEUEQCACIQUMAQsgBEEEaiEECyAEKAIAKwMQIAAoAgAiCSsDEGQNACAAQQA2AgAgBCgCACEKA0AgBCICQQA2AgAgACgCACEEIAAgCjYCACAEBEAgBCgCACIABEAgBCAANgIEIAAQWgsgBBBaCyAFIAdMBEAgBiAFQQF0IgVBAXIiAEECdGohBAJAIAggBUECaiIFTARAIAAhBQwBCyAEKAIAKwMQIAQoAgQrAxBkRQRAIAAhBQwBCyAEQQRqIQQLIAIhACAEKAIAIgorAxAgCSsDEGRFDQELCyACKAIAIQAgAiAJNgIAIABFDQAgACgCACICBEAgACACNgIEIAIQWgsgABBaCyADQQFrIQQgAw0ACwNAIAYoAgAhByAGQQA2AgAgCCICQQJrQQF2IQkgBiEIQQAhBQNAIAVBAXQiA0EBciEAIAggBUECdGoiCkEEaiEEAkAgAiADQQJqIgNMBEAgACEFDAELIAAhBSAKKAIEKwMQIApBCGoiACgCACsDEGRFDQAgACEEIAMhBQsgBCgCACEDIARBADYCACAIKAIAIQAgCCADNgIAIAAEQCAAKAIAIgMEQCAAIAM2AgQgAxBaCyAAEFoLIAQhCCAFIAlMDQALAkACQCABQQRrIgEgBEYEQCAEKAIAIQUgBCAHNgIAIAUNAQwCCyABKAIAIQMgAUEANgIAIAQoAgAhACAEIAM2AgAgAARAIAAoAgAiAwRAIAAgAzYCBCADEFoLIAAQWgsgASgCACEAIAEgBzYCACAABEAgACgCACIDBEAgACADNgIEIAMQWgsgABBaCyAEQQRqIAZrQQJ1IgBBAkgNASAGIABBAmtBAXYiCEECdGoiBSgCACsDECAEKAIAIgcrAxBkRQ0BIARBADYCACAFKAIAIQkDQCAFIgBBADYCACAEKAIAIQMgBCAJNgIAIAMEQCADKAIAIgUEQCADIAU2AgQgBRBaCyADEFoLIAgEQCAAIQQgBiAIQQFrQQF2IghBAnRqIgUoAgAiCSsDECAHKwMQZA0BCwsgACgCACEFIAAgBzYCACAFRQ0BCyAFKAIAIgAEQCAFIAA2AgQgABBaCyAFEFoLIAJBAWshCCACQQJKDQALDAMLIAYgCEEBdkECdCIKaiEEIAsoAgAiACsDECEQAkAgCEGBAU8EQAJAIAQoAgAiBSsDECIRIAYoAgAiBysDECISZEUEQCAQIBFkRQ0BIAQgADYCACALIAU2AgAgBCgCACIAKwMQIAYoAgAiBSsDEGRFDQEgBiAANgIAIAQgBTYCAAwBCwJAIBAgEWQEQCAGIAA2AgAMAQsgBiAFNgIAIAQgBzYCACALKAIAIgArAxAgEmRFDQEgBCAANgIACyALIAc2AgALIA0oAgAiACsDECEQAkAgBiAKaiIJQQRrIgUoAgAiBysDECIRIAYoAgQiCCsDECISZEUEQCAQIBFkRQ0BIAUgADYCACANIAc2AgAgBSgCACIAKwMQIAYoAgQiBysDEGRFDQEgBiAANgIEIAUgBzYCAAwBCwJAIBAgEWQEQCAGIAA2AgQMAQsgBiAHNgIEIAUgCDYCACANKAIAIgArAxAgEmRFDQEgBSAANgIACyANIAg2AgALIAwoAgAiACsDECEQAkAgCUEEaiIIKAIAIgcrAxAiESAGKAIIIgorAxAiEmRFBEAgECARZEUNASAJIAA2AgQgDCAHNgIAIAkoAgQiACsDECAGKAIIIgcrAxBkRQ0BIAYgADYCCCAJIAc2AgQMAQsCQCAQIBFkBEAgBiAANgIIDAELIAYgBzYCCCAJIAo2AgQgDCgCACIAKwMQIBJkRQ0BIAkgADYCBAsgDCAKNgIACyAJKAIEIgcrAxAhEAJAAkAgBCgCACIAKwMQIhEgBSgCACIKKwMQIhJkRQRAIBAgEWRFDQIgBCAHNgIAIAkgADYCBCAEIQggCiEAIBAgEmQNASAHIQAMAgsgECARZA0AIAUgADYCACAEIAo2AgAgBCEFIAchACAQIBJkDQAgCiEADAELIAUgBzYCACAIIAo2AgALIAYoAgAhBSAGIAA2AgAgBCAFNgIADAELIAYoAgAiBSsDECIRIAQoAgAiBysDECISZEUEQCAQIBFkRQ0BIAYgADYCACALIAU2AgAgBigCACIAKwMQIAQoAgAiBSsDEGRFDQEgBCAANgIAIAYgBTYCAAwBCwJAIBAgEWQEQCAEIAA2AgAMAQsgBCAFNgIAIAYgBzYCACALKAIAIgArAxAgEmRFDQEgBiAANgIACyALIAc2AgALIAJBAWshAiAGKAIAIQ4gA0EBcSIPBEAgDisDECEQDAILIA4rAxAiECAGQQRrKAIAKwMQYw0BIAZBADYCACAGIgUhBAJAIAsoAgArAxAgEGMEQANAIAUoAgQhACAFQQRqIgQhBSAQIAArAxBkRQ0ADAILAAsDQCAEQQRqIgQgAU8NASAQIAQoAgArAxBkRQ0ACwsgBCABIgVJBEADQCAQIAVBBGsiBSgCACsDEGQNAAsLAkAgBCAFTwRAIAQhAAwBCyAFKAIAIQkgBCgCACEIA0AgBCAJNgIAIAUgCDYCAANAIAQoAgQhCCAEQQRqIgAhBCAQIAgrAxBkRQ0ACwNAIBAgBUEEayIFKAIAIgkrAxBkDQALIAAgBUkNAAsLAkAgAEEEayIDIAZGDQAgAygCACEEIANBADYCACAGKAIAIQUgBiAENgIAIAVFDQAgBSgCACIEBEAgBSAENgIEIAQQWgsgBRBaCyADKAIAIQUgAyAONgIAQQAhAyAFRQ0DIAUoAgAiBARAIAUgBDYCBCAEEFoLIAUQWgwDCyAGIAZBBGogBkEIaiAGQQxqIAsQlA8MAQsgBkEANgIAIAYhCgNAIAoiBEEEaiEKIAQoAgQiACsDECAQZA0ACyABIQcCQCAEIAZGBEADQCAHIApNDQIgB0EEayIHKAIAKwMQIBBkRQ0ADAILAAsDQCAHQQRrIgcoAgArAxAgEGRFDQALCyAHIApLBEAgBygCACEJIAohBSAHIQgDQCAFIAk2AgAgCCAANgIAA0AgBSIEQQRqIQUgBCgCBCIAKwMQIBBkDQALA0AgCEEEayIIKAIAIgkrAxAgEGRFDQALIAUgCEkNAAsLAkAgBCAGRg0AIAQoAgAhBSAEQQA2AgAgBigCACEAIAYgBTYCACAARQ0AIAAoAgAiBQRAIAAgBTYCBCAFEFoLIAAQWgsgBCgCACEAIAQgDjYCACAABEAgACgCACIFBEAgACAFNgIEIAUQWgsgABBaCyAHIApNBEAgBiAEEJIPIQUgBEEEaiIAIAEQkg8EQCAEIQEgBiEAIAVFDQQMAgsgBQ0CCyAGIAQgAiAPENsKIARBBGohAEEAIQMMAQsLCwtqAQR/IAAoAgAiAwRAIAAoAgQiAiADIgFHBEADQCACQQRrIgIoAgAhASACQQA2AgAgAQRAIAEoAgAiBARAIAEgBDYCBCAEEFoLIAEQWgsgAiADRw0ACyAAKAIAIQELIAAgAzYCBCABEFoLC7QCAQV/IAAgASACIAQQ4gQCQCAEKAIAKAIAIgUgAygCACIGQQJ0aigCACIIIAUgAigCACIHQQJ0aigCACIJTQRAIAggCUcNASAEKAIEKAIAIgggBkECdGooAgAgCCAHQQJ0aigCAE8NAQsgAiAGNgIAIAMgBzYCACAFIAIoAgAiA0ECdGooAgAiByAFIAEoAgAiBkECdGooAgAiCE0EQCAHIAhHDQEgBCgCBCgCACIHIANBAnRqKAIAIAcgBkECdGooAgBPDQELIAEgAzYCACACIAY2AgAgBSABKAIAIgJBAnRqKAIAIgYgBSAAKAIAIgNBAnRqKAIAIgVNBEAgBSAGRw0BIAQoAgQoAgAiBCACQQJ0aigCACAEIANBAnRqKAIATw0BCyAAIAI2AgAgASADNgIACwuCBAEJfwJAAkACQCAAKALkASAAKALgAWtBAnUiASAAKALYASAAKALUAWsiAkEMbUYEQAJAIAJBAEwNACABQQFrIQIDQCAAKALgASIDIAJBAnRqKAIAIgYoAgBBM0cNBQJAIAYoAjQiAQRAIAFB+LELKAIARg0DA0AgAkEASgRAIAMgAkEBayICQQJ0aigCACIEKAIAQTNHDQkgBCgCCCABRw0BDAMLC0G0wgRBm5oDQa0CQbbSABABAAsCQCAAKALUASACQQxsaiIDKAIEIgEgAygCCEcEQCABIAAoAqABNgIAIAMgAUEEajYCBAwBCyABIAMoAgAiCWsiBEECdSIHQQFqIgVBgICAgARPDQVB/////wMgBEEBdSIIIAUgBSAISRsgBEH8////B08bIgUEfyAFQYCAgIAETw0HIAVBAnQQXAVBAAsiCCAHQQJ0aiIEIAAoAqABNgIAIARBBGohByABIAlHBEADQCAEQQRrIgQgAUEEayIBKAIANgIAIAEgCUcNAAsgAygCACEBCyADIAQ2AgAgAyAHNgIEIAMgCCAFQQJ0ajYCCCABRQ0AIAEQWgsgBigCKCAGKAIYa0EBRg0CIAJBAWshAgsgAkEATg0ACwsPC0GzjwZBm5oDQZkCQbbSABABAAsQZAALEGoAC0Hw7QVBxZgDQZQGQY3eABABAAuZAQECfyAAKAKgASECIABBADYCoAEgACgChAEiA0UEQCAAIAI2AoQBDwsgAC0AhAJFBEBBPBBcIgFCADcCACABQQA2AjggAUIANwIwIAFCADcCKCABQgA3AiAgAUIANwIYIAFCADcCECABQgA3AgggACABNgKEASADIAEQqwIgAiAAKAKEARCrAiAAQQE6AIQCDwsgAiADEKsCC8cGARB/IwBBIGsiBCQAIAEoAgAiAyEGAkACQAJAAkACQAJAAkACQAJAIANBzgBGBEAgASECA0AgAigCCEEBa0EBSw0CIAIoAgwiAigCACIGQc4ARg0ACwsgBkEOayICQR1NQQBBASACdEGBgIDAAnEbDQEgBkHQAEYNAQsCQAJAIANBOEYEQCAAQgA3AwggAEEANgIAIABCADcDICAAQgA3AxAgAEEANgIYIABBADYCKCABKAIMIgdFDQQgAEEgaiEIIABBCGohBkEAIQIDQCACIAEoAgxPBEBB1IkLQQA2AgBBDUHFogFBiaIDQbwBQaaIBRAFQdSJCygCACEKQdSJC0EANgIAIApBAUcNDBAAIQIgABBoDAsLIAEoAgggAkECdGooAgAhBUHUiQtBADYCAEGuJyAEQQhqIgMgBRADQdSJCygCACELQdSJC0EANgIAIAtBAUcEQAJAIAAoAgBFBEAgAEEBNgIAIAMgBkYNASAGEFkhBUHUiQtBADYCAEHAACAFIAMQAhpB1IkLKAIAIQxB1IkLQQA2AgAgDEEBRw0BDAULIAAoAiQiAyAAKAIoRwRAQdSJC0EANgIAQcAAIAMgBEEIahACIQVB1IkLKAIAIQ1B1IkLQQA2AgAgDUEBRgRAEAAhAiAAIAM2AiQMBwsgACAFQRhqNgIkDAELQdSJC0EANgIAQbIFIAggBEEIahADQdSJCygCACEOQdSJC0EANgIAIA5BAUYNBAsgBEEIahBZGiACQQFqIgIgB0cNAQwGCwsQACECIAAQaAwJC0HF2gJB6ZMDQZIBEGIACxAAIQILIARBCGoQWRogABBoDAYLQdSJC0EANgIAQa4nIARBCGoiAiABEANB1IkLKAIAIQ9B1IkLQQA2AgAgD0EBRg0EQdSJC0EANgIAQbcBIAAgAkEBEAQhAEHUiQsoAgAhEEHUiQtBADYCACAQQQFGDQIgBCgCGEECSQ0BIAIQWRoLIARBIGokAA8LQdSJC0EANgIAQQ1BkpMGQeaaA0G3BUGbuQEQBUHUiQsoAgAhEUHUiQtBADYCACARQQFHDQQQACECIAAQaAwBCxAAIQILIARBCGoQWRoMAQsQACECCyACEAcLAAsFAEHcAAsEAEEXCwQAQRYLBABBMQsEAEEvCwQAQTMLBABBMAsFAEHVAAu6AgEEfwJAAkACQEEAIAAoAgRrIAAoAlwgACgCWGtBA3VGBEAgASgCAEUNASAAQQRqQYoiIAEQW0EAIAAoAgQiAmsgACgCXCIBIAAoAlgiA2tBA3VHBEAgAEEUayEEIABBCGohBQNAAkAgASADRgRAIAJFDQYgBSACQQFrIgJBA3RqIgMoAgQhASADKAIAIQMgACACNgIEDAELIAFBCGsiAigCACEDIAIoAgQhASAAIAI2AlwLIAAgATYCACABKAIARQ0FIAQgASADEQAAQQAgACgCBCICayAAKAJcIgEgACgCWCIDa0EDdUcNAAsLDwtBzcoFQdOZA0HIAkHQ+AIQAQALQYGDAkHTmQNBuQJBrvcCEAEAC0HexAVBsJQDQdoAQf37AhABAAtB9YICQdOZA0HNAkHQ+AIQAQALugIBBH8CQAJAAkBBACAAKAIEayAAKAJcIAAoAlhrQQN1RgRAIAEoAgBFDQEgAEEEakHwHyABEFtBACAAKAIEIgJrIAAoAlwiASAAKAJYIgNrQQN1RwRAIABBFGshBCAAQQhqIQUDQAJAIAEgA0YEQCACRQ0GIAUgAkEBayICQQN0aiIDKAIEIQEgAygCACEDIAAgAjYCBAwBCyABQQhrIgIoAgAhAyACKAIEIQEgACACNgJcCyAAIAE2AgAgASgCAEUNBSAEIAEgAxEAAEEAIAAoAgQiAmsgACgCXCIBIAAoAlgiA2tBA3VHDQALCw8LQc3KBUHTmQNByAJB0PgCEAEAC0GBgwJB05kDQbkCQa73AhABAAtB3sQFQbCUA0HaAEH9+wIQAQALQfWCAkHTmQNBzQJB0PgCEAEAC4IEAQp/AkACQAJAIAAoAtABIAAoAswBa0ECdSIBIAAoAsQBIAAoAsABayICQQxtRgRAAkAgAkEATA0AIAFBAWshAgNAIAAoAswBIgMgAkECdGooAgAiBygCAEEzRw0FAkAgBygCNCIBBEAgAUH4sQsoAgBGDQMDQCACQQBKBEAgAyACQQFrIgJBAnRqKAIAIgQoAgBBM0cNCSAEKAIIIAFHDQEMAwsLQbTCBEGbmgNBrQJBttIAEAEACyAAKAKMASEGAkAgACgCwAEgAkEMbGoiAygCBCIBIAMoAghHBEAgASAGNgIAIAMgAUEEajYCBAwBCyABIAMoAgAiCWsiBEECdSIKQQFqIgVBgICAgARPDQVB/////wMgBEEBdSIIIAUgBSAISRsgBEH8////B08bIgUEfyAFQYCAgIAETw0HIAVBAnQQXAVBAAsiCCAKQQJ0aiIEIAY2AgAgBEEEaiEGIAEgCUcEQANAIARBBGsiBCABQQRrIgEoAgA2AgAgASAJRw0ACyADKAIAIQELIAMgBDYCACADIAY2AgQgAyAIIAVBAnRqNgIIIAFFDQAgARBaCyAHKAIoIAcoAhhrQQFGDQIgAkEBayECCyACQQBODQALCw8LQbOPBkGbmgNBmQJBttIAEAEACxBkAAsQagALQfDtBUHFmANBlAZBjd4AEAEACzIBAX8gAARAIAAoAgAQ7AogACgCBBDsCiAAKAIYIgEEQCAAIAE2AhwgARBaCyAAEFoLCxsAIAAEQCAAKAIAEO0KIAAoAgQQ7QogABBaCwsKACAAQQA2AowBCycAIAAgACgC3AFBDGsoAgAgACgC6AFBBGsoAgBBAnRqKAIANgKMAQs9ACAAKALcAUEMaygCACAAKALoAUEEaygCAEECdGogACgCjAE2AgAgACgC6AFBBGsiACAAKAIAQQFqNgIAC4gDAgd/AX4jAEEgayIDJABBuKgLKQMAIQkgACgCAEGoAWpBEEEEEF0iBCAJNwIIIARCioCAgCA3AgAgA0ECNgIYIAMgATYCCCAAKAIAIQFB1IkLQQA2AgBBDCABQagBakEgQQgQBCEBQdSJCygCACECQdSJC0EANgIAAkAgAkEBRg0AIAFCADcCBCABQQ42AgAgAUIANwIMIAFCADcCFCABIAFBCGoiAiADQQhqIgVHBH8gAhBZIQJB1IkLQQA2AgBBwAAgAiAFEAIaQdSJCygCACEGQdSJC0EANgIAIAZBAUYNASADKAIYBUECCzYCBCAAKAIAIQBB1IkLQQA2AgBBDCAAQagBakEUQQQQBCEAQdSJCygCACEHQdSJC0EANgIAIAdBAUYNACAAIAE2AhAgACAENgIMIABBDzYCCCAAQhA3AgAgACAEKAIEQQFHBH9BAUECIAEoAgRBAUYbBUEBCzYCBCADQQhqEFkaIANBIGokACAADwsQACEIIANBCGoQWRogCBAHAAuEAgEJfyAAKAIEIAAoAgBrQQR1IgdBAEoEQANAAkACQAJAIAAoAgAgByIKQQFrIgdBBHRqIgIoAgAOAgABAgsgASACKAIEEOgPDAELIAEoAgQiAyABKAIAIgVGDQAgAigCBCEIIAMgBWtBAnUhBCAFIQIDQCACIARBAXYiCUECdGoiBkEEaiACIAYoAgAgCEkiBhshAiAEIAlBf3NqIAkgBhsiBA0ACyACIANGDQAgAigCACAIRw0AIAJBBGoiBCADRwRAIAIgBCADIARr/AoAACABKAIEIQMgASgCACEFCyADIAVGBEAgAUF/EIgDDAELIAEgA0EEazYCBAsgCkEBSg0ACwsLMwAgACgCNBC6BSAAKAIoEJIEIAAoAhwQkgQgACgCEBBgIAAsAAtBAEgEQCAAKAIAEFoLC00BAn8CQCAALQAMDQAgACgCCCgCACIBIAAoAgQoAgAiAkYNAANAIAFBDGshACABQQFrLAAAQQBIBEAgACgCABBaCyAAIgEgAkcNAAsLC5UBAQR/IABBDGohAQN/IAEoAgAiAQR/IAAoAgAgASkCDBCKCAwBBSAAKAIgIgEEQANAIAEoAgAhAyABEFogAyIBDQALCyAAKAIYIQEgAEEANgIYIAEEQCABEFoLIAAoAgwiAQRAA0AgASgCACEEIAEQWiAEIgENAAsLIAAoAgQhASAAQQA2AgQgAQRAIAEQWgsgAAsLGgu6AgEEfwJAAkACQEEAIAAoAgRrIAAoAlwgACgCWGtBA3VGBEAgASgCAEUNASAAQQRqQZsaIAEQW0EAIAAoAgQiAmsgACgCXCIBIAAoAlgiA2tBA3VHBEAgAEEUayEEIABBCGohBQNAAkAgASADRgRAIAJFDQYgBSACQQFrIgJBA3RqIgMoAgQhASADKAIAIQMgACACNgIEDAELIAFBCGsiAigCACEDIAIoAgQhASAAIAI2AlwLIAAgATYCACABKAIARQ0FIAQgASADEQAAQQAgACgCBCICayAAKAJcIgEgACgCWCIDa0EDdUcNAAsLDwtBzcoFQdOZA0HIAkHQ+AIQAQALQYGDAkHTmQNBuQJBrvcCEAEAC0HexAVBsJQDQdoAQf37AhABAAtB9YICQdOZA0HNAkHQ+AIQAQAL4gMBCX8jAEEgayIEJAACQAJAAkAgAUEHSQ0AIAEoAgRBAUcNAAJAIAAoAiwiAigCBCIDRQ0AIAIoAgACfyABKAIIIgdBldPH3gVsIgJBGHYgAnNBldPH3gVsQaiZvfR9c0GV08feBWwiAkENdiACc0GV08feBWwiAkEPdiACcyIGIANBAWtxIANpIgVBAU0NABogBiADIAZLDQAaIAYgA3ALIghBAnRqKAIAIgJFDQAgAigCACICRQ0AAkAgBUEBTQRAIANBAWshAwNAAkAgAigCBCIFIAZHBEAgAyAFcSAIRg0BDAULIAIoAgggB0YNAwsgAigCACICDQALDAILA0ACQCACKAIEIgUgBkcEQCADIAVNBH8gBSADcAUgBQsgCEYNAQwECyACKAIIIAdGDQILIAIoAgAiAg0ACwwBCyABKAIMIQMgAigCDCIBQRBPBEAgAS0AAA0DCyAEIANBAUY2AhggBCABNgIUIARBADoADEHUiQtBADYCACAEQQE2AhBBB0HYnQsgBEEMahACIQFB1IkLKAIAIQlB1IkLQQA2AgAgCUEBRg0DCyAAIAEQpQchAQsgBEEgaiQAIAEPC0H+0AZBuLMCQegFQbiMBBABAAsQACEKIARBDGoQdyAKEAcAC7oCAQR/AkACQAJAQQAgACgCBGsgACgCXCAAKAJYa0EDdUYEQCABKAIARQ0BIABBBGpByBggARBbQQAgACgCBCICayAAKAJcIgEgACgCWCIDa0EDdUcEQCAAQRRrIQQgAEEIaiEFA0ACQCABIANGBEAgAkUNBiAFIAJBAWsiAkEDdGoiAygCBCEBIAMoAgAhAyAAIAI2AgQMAQsgAUEIayICKAIAIQMgAigCBCEBIAAgAjYCXAsgACABNgIAIAEoAgBFDQUgBCABIAMRAABBACAAKAIEIgJrIAAoAlwiASAAKAJYIgNrQQN1Rw0ACwsPC0HNygVB05kDQcgCQdD4AhABAAtBgYMCQdOZA0G5AkGu9wIQAQALQd7EBUGwlANB2gBB/fsCEAEAC0H1ggJB05kDQc0CQdD4AhABAAutGAIqfwF+IwBBsANrIgMkAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgASABKAIAKAIQEQIABEAgACgCVCAAKAJYIAFBCGoiChDDAw0IAkBBsKgLLQAABEBBrKgLKAIAIQQMAQtBmJIFEJkDIgUEQCAFEKQDIQQLQbCoC0EBOgAAQayoCyAENgIACwJAIARBAkcNACAALQAZRQ0AIAEoAgwhCyABLQATIQQgA0Ggkgo2AkAgA0GMkgo2AgAgA0HkkQo2AgggA0EANgIEIANBQGsgA0EMaiIGEO0BIANB+JEKNgJAIANB0JEKNgIAIANCgICAgHA3AogBIANB5JEKNgIIIAYQ7gFBuIwKNgIAIANCADcCNCADQgA3AiwgA0EYNgI8IAsgBCAEwEEASBtFDQIgAigCMCEEQdSJC0EANgIAQa4BIAQgA0EIakEAEAQhBEHUiQsoAgAhBUHUiQtBADYCAAJAIAVBAUYNAEHUiQtBADYCACADQQo6AJABQQkgBCADQZABakEBEAQaQdSJCygCACEMQdSJC0EANgIAIAxBAUYNAEEBIQgMAwsQACEADBcLIANBoJIKNgJAIANBjJIKNgIAIANB5JEKNgIIIANBADYCBCADQUBrIANBDGoiBRDtASADQfiRCjYCQCADQdCRCjYCACADQoCAgIBwNwKIASADQeSRCjYCCCAFEO4BQbiMCjYCACADQgA3AjQgA0IANwIsIANBGDYCPCAEDQFBASEEDAILQfr8BUGNiwJB7QdB3NMCEAEAC0EAIQRB1IkLQQA2AgBBBEEUEAYhBkHUiQsoAgAhDUHUiQtBADYCACANQQFGDQIgBiACNgIAIAYgAikCADcCBCAGIAIoAjQiBUEARzoADCAFRQ0AIANB/QI2ApQBIANB6O4JNgKQAUHUiQtBADYCACADIANBkAFqIgU2AqABQbsYIAIgBRACIQlB1IkLKAIAIQ5B1IkLQQA2AgAgDkEBRg0BAkACQCAFIAMoAqABIgRGBEBBBCEHIAUhBAwBC0EFIQcgBEUNAQsgBCAEKAIAIAdBAnRqKAIAEQEACyAGIAk2AhBBACEECyABKAIAKAIUIQ9B1IkLQQA2AgAgDyABEAYhBUHUiQsoAgAhEEHUiQtBADYCACAQQQFGDRAgBSgCBCIHRQ0CIAAgB0YNAkHUiQtBADYCAEENQeLEBkG6iwNB4wNB/vwBEAVB1IkLKAIAIRFB1IkLQQA2AgAgEUEBRg0DAAsQACEAAkAgAygCoAEiBCADQZABaiIBRgRAQQQhCCABIQQMAQtBBSEIIARFDRILIAQgBCgCACAIQQJ0aigCABEBAAwRCxAAIQAMEQsgBSAANgIEIAUoAgAoAgwhEiAAKAIEIQlB1IkLQQA2AgAgEiAFIAkgAhAIQdSJCygCACETQdSJC0EANgIAIBNBAUYNAEHUiQtBADYCAEG8GCAAIAEgAhAIQdSJCygCACEUQdSJC0EANgIAIBRBAUYNACAEDQFB1IkLQQA2AgBBvRggBhAKQdSJCygCACEVQdSJC0EANgIAIBVBAUcNAQsQACEADAsLIAgEQCAAKAIEIQAgA0IANwKMAyADQgA3ApQDIANCADcCnAMgA0IANwKkAyADQYCAgPwDNgKsAyADQgA3AoQDIAMgADYC+AIgA0EAOgD+AiADQQA7AfwCIANBAToAgAMgA0EANgKEAiADQgA3ApwBIANBpAFqIgRCADcCACADQgA3ApwCIANBgICA/AM2AqQCIANCADcCsAIgA0GAgID8AzYCuAIgA0IANwLEAiADQYCAgPwDNgLMAiADQgA3AtgCIANCADcC/AEgA0IANwKUASADQgA3ApQCIANB0LwHNgKQASADQgA3AqgCIANCADcCvAIgA0IANwLQAiADIANB+AJqIgg2ApACIANBgICA/AM2AuACIANCADcC7AIgA0GAgID8AzYC9AIgA0IANwLkAiADIAA2AowCQdSJC0EANgIAIAMgAjYCiAJB1wIgBCACQTBqEANB1IkLKAIAIRZB1IkLQQA2AgAgFkEBRg0HQdSJC0EANgIAQb4YIANBkAFqIgAgAhADQdSJCygCACEXQdSJC0EANgIAIBdBAUYNByADQQA2AogCIAAQlgQaAkAgAy0A/gIgAy0AgANBAXFyDQBB1IkLQQA2AgBB1gIgCCACEAIhBEHUiQsoAgAhGEHUiQtBADYCACAYQQFGDQNB1IkLQQA2AgBBHSAAIARBBGoQA0HUiQsoAgAhGUHUiQtBADYCACAZQQFGDQNB1IkLQQA2AgBBCUGMwwsgAygCkAEgACADLQCbASIAwEEASCIEGyADKAKUASAAIAQbEAQaQdSJCygCACEaQdSJC0EANgIAIBpBAUYNBCADLACbAUEASARAIAMoApABEFoLQdSJC0EANgIAQdYCIANB+AJqQQAQAiEAQdSJCygCACEbQdSJC0EANgIAIBtBAUYNBUHUiQtBADYCAEEdIANBkAFqIgQgAEEEahADQdSJCygCACEcQdSJC0EANgIAIBxBAUYNBUHUiQtBADYCAEEJQYzDCyADKAKQASAEIAMtAJsBIgDAQQBIIgQbIAMoApQBIAAgBBsQBBpB1IkLKAIAIR1B1IkLQQA2AgAgHUEBRg0GIAMsAJsBQQBODQAgAygCkAEQWgsgAy0AgAMhHyADKAKkAyIABEADQCAAKAIMIQggAEEANgIMIAAoAgAhHiAIBEAgCCAIKAIAKAIEEQEACyAAEFogHiIADQALCyADKAKcAyEAIANBADYCnAMgAARAIAAQWgsgH0EBcUUNBgsgBSAFKAIAKAIEEQEAIAYEQCAGEFoLIANB+JEKNgJAIANB0JEKNgIAIANBuIwKNgIMIANB5JEKNgIIIAMsADdBAEgEQCADKAIsEFoLIANBDGoQ6wEaIANBQGsQ6AEaCyADQbADaiQADwsQACEADAULEAAhACADLACbAUEATg0EIAMoApABEFoMBAsQACEADAMLEAAhACADLACbAUEATg0CIAMoApABEFoMAgtB1IkLQQA2AgBBCCADQZABahAGIQBB1IkLKAIAISBB1IkLQQA2AgAgIEEBRg0DQdSJC0EANgIAQQkgAEEIakH3tQZBJBAEIQRB1IkLKAIAISFB1IkLQQA2AgAgIUEBRg0JIAEoAgwhBSABKAIIIQYgAS0AEyEBQdSJC0EANgIAQQkgBCAGIAogAcBBAEgiBBsgBSABIAQbEAQhAUHUiQsoAgAhIkHUiQtBADYCACAiQQFGDQlB1IkLQQA2AgBBCSABQefcBkEfEAQhAUHUiQsoAgAhI0HUiQtBADYCACAjQQFGDQkgAikCACEtQdSJC0EANgIAQSEgACAtELgCIQRB1IkLKAIAISRB1IkLQQA2AgAgJEEBRg0JQdSJC0EANgIAQQkgAUH0pwdBJBAEIQVB1IkLKAIAISVB1IkLQQA2AgAgJUEBRg0JQdSJC0EANgIAQR0gA0H4AmoiASADQQxqEANB1IkLKAIAISZB1IkLQQA2AgAgJkEBRg0JQdSJC0EANgIAQQkgBSADKAL4AiABIAMtAIMDIgXAQQBIIgYbIAMoAvwCIAUgBhsQBCEFQdSJCygCACEnQdSJC0EANgIAICdBAUYNAkHUiQtBADYCAEEJIAVB3acHQRYQBCEFQdSJCygCACEoQdSJC0EANgIAIChBAUYNAiACKAIwIQJB1IkLQQA2AgBBrgEgAiAFQQAQBBpB1IkLKAIAISlB1IkLQQA2AgAgKUEBRg0CQdSJC0EANgIAQb8YIARBChACIStB1IkLKAIAISpB1IkLQQA2AgAgKkEBRg0CIAEQwgEaICsQcQALEAAhACADQZABahCWBBoLIAMoAqQDIgEEQANAIAEoAgwhBCABQQA2AgwgASgCACEsIAQEQCAEIAQoAgAoAgQRAQALIAEQWiAsIgENAAsLIAMoApwDIQEgA0EANgKcAyABBEAgARBaCwwCCxAAGiADLACDA0EASARAIAMoAvgCEFoLIAAQcQALEAAhAAsgBSAFKAIAKAIEEQEADAELEAAhAAsgBkUNAQsgBhBaCyADEM4DGiAAEAcACxAAGiAAEHEACwcAIAAoAgQL3AEBBX8jAEEgayICJAAgAkHA7Qk2AghB1IkLQQA2AgAgAiACQQhqIgM2AhhBxAAgACABIAMQBCEEQdSJCygCACEFQdSJC0EANgIAIAVBAUcEQAJAAkAgAyACKAIYIgFGBEBBBCEAIAMhAQwBC0EFIQAgAUUNAQsgASABKAIAIABBAnRqKAIAEQEACyACQSBqJAAgBA8LEAAhBgJAAkAgAigCGCIBIAJBCGoiA0YEQEEEIQAgAyEBDAELQQUhACABRQ0BCyABIAEoAgAgAEECdGooAgARAQALIAYQBwALBABBFQsEAEEUCwUAQdYAC4IBAQN/IAAEQCAAKAIAEP8KIAAoAgQQ/woCQAJAIABBQGsoAgAiASAAQTBqIgNGBEBBBCECIAMhAQwBC0EFIQIgAUUNAQsgASABKAIAIAJBAnRqKAIAEQEACyAALAArQQBIBEAgACgCIBBaCyAALAAbQQBIBEAgACgCEBBaCyAAEFoLCwQAQQ8LBABBOQvYBAELfyMAQaABayIGJAACQAJAAkACQCABQQFGDQAgASACRg0AIAZBxJMKNgJQIAZBsJMKNgIYIAZB0ABqIgkgBkEcaiIHEO0BIAZBnJMKNgJQIAZBiJMKNgIYIAZCgICAgHA3ApgBIAcQ7gEiB0G4jAo2AgAgBkIANwJEIAZCADcCPCAGQRA2AkxB1IkLQQA2AgBBrQEgBkEYaiABEAIhAUHUiQsoAgAhCkHUiQtBADYCACAKQQFGDQFB1IkLQQA2AgBBCSABQcjnBkEEEAQhAUHUiQsoAgAhC0HUiQtBADYCACALQQFGDQFB1IkLQQA2AgBBrQEgASACEAIhAUHUiQsoAgAhDEHUiQtBADYCACAMQQFGDQFB1IkLQQA2AgBBCSABQe38BkECEAQhAUHUiQsoAgAhDUHUiQtBADYCACANQQFGDQEgBBBsIQJB1IkLQQA2AgBBCSABIAQgAhAEGkHUiQsoAgAhDkHUiQtBADYCACAOQQFGDQFB1IkLQQA2AgBBHSAGQQxqIgEgBxADQdSJCygCACEPQdSJC0EANgIAIA9BAUYNAUHUiQtBADYCAEGgFiAAIAEgAyAFEAVB1IkLKAIAIRBB1IkLQQA2AgAgEEEBRg0CIAYsABdBAEgEQCAGKAIMEFoLIAZBnJMKNgJQIAZBiJMKNgIYIAdBuIwKNgIAIAYsAEdBAEgEQCAGKAI8EFoLIAcQ6wEaIAkQ6AEaCyAGQaABaiQADwsQACEBDAELEAAhASAGLAAXQQBODQAgBigCDBBaCyAGQRhqEKYCGiABEAcACwQAQRILBABBHQsFAEHCAAvXCwEVfyMAQdAAayICJAAgAEIANwIIIABBADYCACAAQQA2AhAgAkEANgJMQdSJC0EANgIAIAJCADcCRCACQQA2AiBBmBYgAkEgaiABEANB1IkLKAIAIQFB1IkLQQA2AgACQAJAIAFBAUcEQEEAIAIoAiAiB2sgAigCSCIBIAIoAkQiA2tBAnVHBEAgAkEEaiENIAJBJGohCwNAAkACQAJAAkACQAJAIAEgA0YEQCAHRQRAQdSJC0EANgIAQQ1B3sQFQbCUA0HaAEH9+wIQBUHUiQsoAgAhEUHUiQtBADYCACARQQFGDQMMDAsgCyAHQQFrIgdBAnRqKAIAIQQgAiAHNgIgDAELIAFBBGsiASgCACEEIAIgATYCSAsCQCAEKAIAQShrDgwABAQEBAQEBAQEBAMECyAORQRAIAAgBDYCBEEBIQ4gAEEBNgIADAULIAAoAgwiASAAKAIQRwRAIAEgBDYCACAAIAFBBGo2AgwMBQsCQAJAAkAgASAAKAIIIghrIgNBAnUiCUEBaiIFQYCAgIAETwRAQdSJC0EANgIAQZkWEAkMAQtB/////wMgA0EBdSIGIAUgBSAGSRsgA0H8////B08bIgVFBEBBACEGDAMLIAVBgICAgARJDQFB1IkLQQA2AgBBAxAJC0HUiQsoAgAhEkHUiQtBADYCACASQQFHDQsQACEBDAoLQdSJC0EANgIAQQQgBUECdBAGIQZB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRg0CCyAGIAlBAnRqIgMgBDYCACADQQRqIQQgASAIRwRAA0AgA0EEayIDIAFBBGsiASgCADYCACABIAhHDQALIAAoAgghAQsgACAGIAVBAnRqNgIQIAAgBDYCDCAAIAM2AgggAUUNBCABEFoMBAsQACEBDAcLEAAhAQwGCyAEKAIQIQFB1IkLQQA2AgBBmBYgAkEgaiABEANB1IkLKAIAIRRB1IkLQQA2AgAgFEEBRwRAIAIoAiAhBwwCCxAAIQEMBQtB1IkLQQA2AgBBmhYgAiAEEAIhCUHUiQsoAgAhAUHUiQtBADYCAAJAAkACQAJAIAFBAUcEQEEAIQQgCSgCACACKAIYIAIoAhQiAWtBAnVqIg9FDQIDQCAEIAkoAgAgAigCGCACKAIUIgNrQQJ1aiIBTwRAQdSJC0EANgIAQQ1Bm48GQf+XA0HKAEGFMhAFDAULIA0gASAEQX9zaiIBQQJ0IgVqIAMgBWpBEGsgAUEESRsoAgAoAgAhBQJAAkAgB0EHTQRAIAsgB0ECdGogBTYCACAHQQFqIQcMAQsgAigCSCIBIAIoAkxHBEAgASAFNgIAIAIgAUEEajYCSAwBCyABIAIoAkQiDGsiBkECdSIQQQFqIghBgICAgARPBEBB1IkLQQA2AgBBDhAJDAcLAkBB/////wMgBkEBdSIKIAggCCAKSRsgBkH8////B08bIgZFBEBBACEIDAELIAZBgICAgARPBEBB1IkLQQA2AgBBAxAJDAgLQdSJC0EANgIAQQQgBkECdBAGIQhB1IkLKAIAIRVB1IkLQQA2AgAgFUEBRg0CCyAIIBBBAnRqIgMgBTYCACADQQRqIQUgASAMRwRAA0AgA0EEayIDIAFBBGsiASgCADYCACABIAxHDQALIAIoAkQhAQsgAiAIIAZBAnRqNgJMIAIgBTYCSCACIAM2AkQgAUUNACABEFoLIARBAWoiBCAPRg0DDAELCxAAIQEMBAsQACEBDAgLIAIgBzYCICACKAIUIQELIAFFDQIgAiABNgIYIAEQWgwCC0HUiQsoAgAhFkHUiQtBADYCACAWQQFHDQYQACEBIAIoAhQhAwsgA0UNBCACIAM2AhggAxBaDAQLQQAgB2sgAigCSCIBIAIoAkQiA2tBAnVHDQALCyADBEAgAxBaCyACQdAAaiQADwsQACEBCyACKAJEIgIEQCACEFoLIAAoAggiAgRAIAAgAjYCDCACEFoLIAEQBwALAAsEAEE1CwQAQSwLBABBNgsEAEEqC24BAn8gACABEGwiACACKAIEIAItAAsiA0H/AHEgA0GAAXFBB3YbIgNqENURIgQoAgAgBCAELQALQYABcUEHdhsgASAAEN0DIABqIAIoAgAgAiACLQALQYABcUEHdhsgAxDdAyADakEBQQAQswkaCwQAQSkLigQBCX8jAEGAAWsiAiQAIAIgATYCfCACQgA3AmQgAkIANwJsIAJCADcCDCACQQE6AHggAiAANgJ0QdOZAyEEAkACQCABRQRAQa73AiEBQbkCIQBBgYMCIQMMAQtB1IkLQQA2AgBB+BMgAkEQakH5EyACQfwAahAIQdSJCygCACEGQdSJC0EANgIAIAZBAUYNAQJAQQAgAigCECIDayACKAJoIgEgAigCZCIAa0EDdUcEQCACQRRqIQUDQAJAIAAgAUYEQCADRQRAQf37AiEBQdoAIQBBsJQDIQRB3sQFIQMMBgsgBSADQQFrIgNBA3RqIgAoAgQhASAAKAIAIQAgAiADNgIQDAELIAFBCGsiAygCACEAIAMoAgQhASACIAM2AmgLIAIgATYCDCABKAIARQRAQdD4AiEBQc0CIQBB9YICIQMMBAtB1IkLQQA2AgAgACACQQxqIAEQA0HUiQsoAgAhB0HUiQtBADYCACAHQQFGDQJBACACKAIQIgNrIAIoAmgiASACKAJkIgBrQQN1Rw0ACwsgAi0AeCEIIAAEQCACIAA2AmggABBaCyACQYABaiQAIAhBAEcPCwwBC0HUiQtBADYCAEENIAMgBCAAIAEQBUHUiQsoAgAhCUHUiQtBADYCACAJQQFGDQAACxAAIQogAigCZCIABEAgAiAANgJoIAAQWgsgChAHAAsEAEEmC9IEAQt/IwBBoAFrIgUkAAJAAkACQCABQQFrQQJPBEAgBUHEkwo2AlAgBUGwkwo2AhggBUHQAGoiCCAFQRxqIgcQ7QEgBUGckwo2AlAgBUGIkwo2AhggBUKAgICAcDcCmAEgBxDuASIHQbiMCjYCACAFQgA3AkQgBUIANwI8IAVBEDYCTEHUiQtBADYCAEGtASAFQRhqIAEQAiEBQdSJCygCACEJQdSJC0EANgIAIAlBAUYNAUHUiQtBADYCAEEJIAFByOcGQQQQBCEBQdSJCygCACEKQdSJC0EANgIAIApBAUYNAUHUiQtBADYCAEGtASABQQIQAiEBQdSJCygCACELQdSJC0EANgIAIAtBAUYNAUHUiQtBADYCAEEJIAFB7fwGQQIQBCEBQdSJCygCACEMQdSJC0EANgIAIAxBAUYNASADEGwhBkHUiQtBADYCAEEJIAEgAyAGEAQaQdSJCygCACENQdSJC0EANgIAIA1BAUYNAUHUiQtBADYCAEEdIAVBDGoiASAHEANB1IkLKAIAIQ5B1IkLQQA2AgAgDkEBRg0BQdSJC0EANgIAQfMTIAAgASACIAQQBUHUiQsoAgAhD0HUiQtBADYCACAPQQFGDQIgBSwAF0EASARAIAUoAgwQWgsgBUGckwo2AlAgBUGIkwo2AhggB0G4jAo2AgAgBSwAR0EASARAIAUoAjwQWgsgBxDrARogCBDoARoLIAVBoAFqJAAPCxAAIQEMAQsQACEBIAUsABdBAE4NACAFKAIMEFoLIAVBGGoQpgIaIAEQBwAL0gQBC38jAEGgAWsiBSQAAkACQAJAIAFBAWtBAk8EQCAFQcSTCjYCUCAFQbCTCjYCGCAFQdAAaiIIIAVBHGoiBxDtASAFQZyTCjYCUCAFQYiTCjYCGCAFQoCAgIBwNwKYASAHEO4BIgdBuIwKNgIAIAVCADcCRCAFQgA3AjwgBUEQNgJMQdSJC0EANgIAQa0BIAVBGGogARACIQFB1IkLKAIAIQlB1IkLQQA2AgAgCUEBRg0BQdSJC0EANgIAQQkgAUHI5wZBBBAEIQFB1IkLKAIAIQpB1IkLQQA2AgAgCkEBRg0BQdSJC0EANgIAQa0BIAFBAhACIQFB1IkLKAIAIQtB1IkLQQA2AgAgC0EBRg0BQdSJC0EANgIAQQkgAUHt/AZBAhAEIQFB1IkLKAIAIQxB1IkLQQA2AgAgDEEBRg0BIAMQbCEGQdSJC0EANgIAQQkgASADIAYQBBpB1IkLKAIAIQ1B1IkLQQA2AgAgDUEBRg0BQdSJC0EANgIAQR0gBUEMaiIBIAcQA0HUiQsoAgAhDkHUiQtBADYCACAOQQFGDQFB1IkLQQA2AgBB8hMgACABIAIgBBAFQdSJCygCACEPQdSJC0EANgIAIA9BAUYNAiAFLAAXQQBIBEAgBSgCDBBaCyAFQZyTCjYCUCAFQYiTCjYCGCAHQbiMCjYCACAFLABHQQBIBEAgBSgCPBBaCyAHEOsBGiAIEOgBGgsgBUGgAWokAA8LEAAhAQwBCxAAIQEgBSwAF0EATg0AIAUoAgwQWgsgBUEYahCmAhogARAHAAv5AgEGfyMAQSBrIgUkAAJAAkACQAJAAkAgAQ0AIAMQbCIGQfD///8HTw0EAkACQCAGQQtPBEAgBkEPckEBaiIIEFwhByAFIAhBgICAgHhyNgIMIAUgBzYCBCAFIAY2AggMAQsgBSAGOgAPIAVBBGohByAGRQ0BCyAHIAMgBvwKAAALIAYgB2pBADoAAEHUiQtBADYCAEH8ASAFQQRqQaz3BhACIQNB1IkLKAIAIQlB1IkLQQA2AgAgCUEBRg0BIAUgAygCCDYCGCAFIAMpAgA3AxAgA0IANwIAIANBADYCCEHUiQtBADYCAEHvEyAAIAVBEGogAiAEEAVB1IkLKAIAIQpB1IkLQQA2AgAgCkEBRg0CIAUsABtBAEgEQCAFKAIQEFoLIAMsAAtBAE4NACADKAIAEFoLIAVBIGokACABDwsQACEBDAELEAAhASAFLAAbQQBODQAgBSgCEBBaCyAFLAAPQQBIBEAgBSgCBBBaCyABEAcACxDqAQALBABBJQv5AgEGfyMAQSBrIgUkAAJAAkACQAJAAkAgAQ0AIAMQbCIGQfD///8HTw0EAkACQCAGQQtPBEAgBkEPckEBaiIIEFwhByAFIAhBgICAgHhyNgIMIAUgBzYCBCAFIAY2AggMAQsgBSAGOgAPIAVBBGohByAGRQ0BCyAHIAMgBvwKAAALIAYgB2pBADoAAEHUiQtBADYCAEH8ASAFQQRqQaz3BhACIQNB1IkLKAIAIQlB1IkLQQA2AgAgCUEBRg0BIAUgAygCCDYCGCAFIAMpAgA3AxAgA0IANwIAIANBADYCCEHUiQtBADYCAEHrEyAAIAVBEGogAiAEEAVB1IkLKAIAIQpB1IkLQQA2AgAgCkEBRg0CIAUsABtBAEgEQCAFKAIQEFoLIAMsAAtBAE4NACADKAIAEFoLIAVBIGokACABDwsQACEBDAELEAAhASAFLAAbQQBODQAgBSgCEBBaCyAFLAAPQQBIBEAgBSgCBBBaCyABEAcACxDqAQAL+QIBBn8jAEEgayIFJAACQAJAAkACQAJAIAENACADEGwiBkHw////B08NBAJAAkAgBkELTwRAIAZBD3JBAWoiCBBcIQcgBSAIQYCAgIB4cjYCDCAFIAc2AgQgBSAGNgIIDAELIAUgBjoADyAFQQRqIQcgBkUNAQsgByADIAb8CgAACyAGIAdqQQA6AABB1IkLQQA2AgBB/AEgBUEEakGs9wYQAiEDQdSJCygCACEJQdSJC0EANgIAIAlBAUYNASAFIAMoAgg2AhggBSADKQIANwMQIANCADcCACADQQA2AghB1IkLQQA2AgBB6BMgACAFQRBqIAIgBBAFQdSJCygCACEKQdSJC0EANgIAIApBAUYNAiAFLAAbQQBIBEAgBSgCEBBaCyADLAALQQBODQAgAygCABBaCyAFQSBqJAAgAQ8LEAAhAQwBCxAAIQEgBSwAG0EATg0AIAUoAhAQWgsgBSwAD0EASARAIAUoAgQQWgsgARAHAAsQ6gEAC/kCAQZ/IwBBIGsiBSQAAkACQAJAAkACQCABDQAgAxBsIgZB8P///wdPDQQCQAJAIAZBC08EQCAGQQ9yQQFqIggQXCEHIAUgCEGAgICAeHI2AgwgBSAHNgIEIAUgBjYCCAwBCyAFIAY6AA8gBUEEaiEHIAZFDQELIAcgAyAG/AoAAAsgBiAHakEAOgAAQdSJC0EANgIAQfwBIAVBBGpBrPcGEAIhA0HUiQsoAgAhCUHUiQtBADYCACAJQQFGDQEgBSADKAIINgIYIAUgAykCADcDECADQgA3AgAgA0EANgIIQdSJC0EANgIAQeQTIAAgBUEQaiACIAQQBUHUiQsoAgAhCkHUiQtBADYCACAKQQFGDQIgBSwAG0EASARAIAUoAhAQWgsgAywAC0EATg0AIAMoAgAQWgsgBUEgaiQAIAEPCxAAIQEMAQsQACEBIAUsABtBAE4NACAFKAIQEFoLIAUsAA9BAEgEQCAFKAIEEFoLIAEQBwALEOoBAAvQBAELfyMAQaABayIGJAACQAJAAkAgASACRwRAIAZBxJMKNgJQIAZBsJMKNgIYIAZB0ABqIgkgBkEcaiIHEO0BIAZBnJMKNgJQIAZBiJMKNgIYIAZCgICAgHA3ApgBIAcQ7gEiB0G4jAo2AgAgBkIANwJEIAZCADcCPCAGQRA2AkxB1IkLQQA2AgBBswEgBkEYaiABEAIhAUHUiQsoAgAhCkHUiQtBADYCACAKQQFGDQFB1IkLQQA2AgBBCSABQcjnBkEEEAQhAUHUiQsoAgAhC0HUiQtBADYCACALQQFGDQFB1IkLQQA2AgBBswEgASACEAIhAUHUiQsoAgAhDEHUiQtBADYCACAMQQFGDQFB1IkLQQA2AgBBCSABQe38BkECEAQhAUHUiQsoAgAhDUHUiQtBADYCACANQQFGDQEgBBBsIQJB1IkLQQA2AgBBCSABIAQgAhAEIQFB1IkLKAIAIQ5B1IkLQQA2AgAgDkEBRg0BQdSJC0EANgIAQR0gBkEMaiICIAcQA0HUiQsoAgAhD0HUiQtBADYCACAPQQFGDQFB1IkLQQA2AgBB4xMgACACIAMgBRAFQdSJCygCACEQQdSJC0EANgIAIBBBAUYNAiAGLAAXQQBIBEAgBigCDBBaCyABQYiTCjYCACAGQZyTCjYCUCAHQbiMCjYCACABLAAvQQBIBEAgBigCPBBaCyAHEOsBGiAJEOgBGgsgBkGgAWokAA8LEAAhAQwBCxAAIQEgBiwAF0EATg0AIAYoAgwQWgsgBkEYahCmAhogARAHAAvUBAEMfyMAQaABayIGJAACQAJAAkAgASACRiIJRQRAIAZBxJMKNgJQIAZBsJMKNgIYIAZB0ABqIgogBkEcaiIHEO0BIAZBnJMKNgJQIAZBiJMKNgIYIAZCgICAgHA3ApgBIAcQ7gEiB0G4jAo2AgAgBkIANwJEIAZCADcCPCAGQRA2AkxB1IkLQQA2AgBBrQEgBkEYaiABEAIhAUHUiQsoAgAhC0HUiQtBADYCACALQQFGDQFB1IkLQQA2AgBBCSABQcjnBkEEEAQhAUHUiQsoAgAhDEHUiQtBADYCACAMQQFGDQFB1IkLQQA2AgBBrQEgASACEAIhAUHUiQsoAgAhDUHUiQtBADYCACANQQFGDQFB1IkLQQA2AgBBCSABQe38BkECEAQhAUHUiQsoAgAhDkHUiQtBADYCACAOQQFGDQEgBBBsIQJB1IkLQQA2AgBBCSABIAQgAhAEGkHUiQsoAgAhD0HUiQtBADYCACAPQQFGDQFB1IkLQQA2AgBBHSAGQQxqIgEgBxADQdSJCygCACEQQdSJC0EANgIAIBBBAUYNAUHUiQtBADYCAEHiEyAAIAEgAyAFEAVB1IkLKAIAIRFB1IkLQQA2AgAgEUEBRg0CIAYsABdBAEgEQCAGKAIMEFoLIAZBnJMKNgJQIAZBiJMKNgIYIAdBuIwKNgIAIAYsAEdBAEgEQCAGKAI8EFoLIAcQ6wEaIAoQ6AEaCyAGQaABaiQAIAkPCxAAIQEMAQsQACEBIAYsABdBAE4NACAGKAIMEFoLIAZBGGoQpgIaIAEQBwALBABBKAvSBAELfyMAQaABayIFJAACQAJAAkAgAUEBa0ECTwRAIAVBxJMKNgJQIAVBsJMKNgIYIAVB0ABqIgggBUEcaiIHEO0BIAVBnJMKNgJQIAVBiJMKNgIYIAVCgICAgHA3ApgBIAcQ7gEiB0G4jAo2AgAgBUIANwJEIAVCADcCPCAFQRA2AkxB1IkLQQA2AgBBrQEgBUEYaiABEAIhAUHUiQsoAgAhCUHUiQtBADYCACAJQQFGDQFB1IkLQQA2AgBBCSABQcjnBkEEEAQhAUHUiQsoAgAhCkHUiQtBADYCACAKQQFGDQFB1IkLQQA2AgBBrQEgAUECEAIhAUHUiQsoAgAhC0HUiQtBADYCACALQQFGDQFB1IkLQQA2AgBBCSABQe38BkECEAQhAUHUiQsoAgAhDEHUiQtBADYCACAMQQFGDQEgAxBsIQZB1IkLQQA2AgBBCSABIAMgBhAEGkHUiQsoAgAhDUHUiQtBADYCACANQQFGDQFB1IkLQQA2AgBBHSAFQQxqIgEgBxADQdSJCygCACEOQdSJC0EANgIAIA5BAUYNAUHUiQtBADYCAEHhEyAAIAEgAiAEEAVB1IkLKAIAIQ9B1IkLQQA2AgAgD0EBRg0CIAUsABdBAEgEQCAFKAIMEFoLIAVBnJMKNgJQIAVBiJMKNgIYIAdBuIwKNgIAIAUsAEdBAEgEQCAFKAI8EFoLIAcQ6wEaIAgQ6AEaCyAFQaABaiQADwsQACEBDAELEAAhASAFLAAXQQBODQAgBSgCDBBaCyAFQRhqEKYCGiABEAcAC/kCAQZ/IwBBIGsiBSQAAkACQAJAAkACQCABDQAgAxBsIgZB8P///wdPDQQCQAJAIAZBC08EQCAGQQ9yQQFqIggQXCEHIAUgCEGAgICAeHI2AgwgBSAHNgIEIAUgBjYCCAwBCyAFIAY6AA8gBUEEaiEHIAZFDQELIAcgAyAG/AoAAAsgBiAHakEAOgAAQdSJC0EANgIAQfwBIAVBBGpBrPcGEAIhA0HUiQsoAgAhCUHUiQtBADYCACAJQQFGDQEgBSADKAIINgIYIAUgAykCADcDECADQgA3AgAgA0EANgIIQdSJC0EANgIAQeETIAAgBUEQaiACIAQQBUHUiQsoAgAhCkHUiQtBADYCACAKQQFGDQIgBSwAG0EASARAIAUoAhAQWgsgAywAC0EATg0AIAMoAgAQWgsgBUEgaiQAIAEPCxAAIQEMAQsQACEBIAUsABtBAE4NACAFKAIQEFoLIAUsAA9BAEgEQCAFKAIEEFoLIAEQBwALEOoBAAv3AgEFfyMAQSBrIgUkAAJAAkACQAJAAkAgAQ0AIAMQbCIBQfD///8HTw0EAkACQCABQQtPBEAgAUEPckEBaiIHEFwhBiAFIAdBgICAgHhyNgIMIAUgBjYCBCAFIAE2AggMAQsgBSABOgAPIAVBBGohBiABRQ0BCyAGIAMgAfwKAAALIAEgBmpBADoAAEHUiQtBADYCAEH8ASAFQQRqQaz3BhACIQFB1IkLKAIAIQhB1IkLQQA2AgAgCEEBRg0BIAUgASgCCDYCGCAFIAEpAgA3AxAgAUIANwIAIAFBADYCCEHUiQtBADYCAEHcEyAAIAVBEGogAiAEEAVB1IkLKAIAIQlB1IkLQQA2AgAgCUEBRg0CIAUsABtBAEgEQCAFKAIQEFoLIAEsAAtBAE4NACABKAIAEFoLIAVBIGokAA8LEAAhAQwBCxAAIQEgBSwAG0EATg0AIAUoAhAQWgsgBSwAD0EASARAIAUoAgQQWgsgARAHAAsQ6gEACwQAQScL9wIBBX8jAEEgayIFJAACQAJAAkACQAJAIAENACADEGwiAUHw////B08NBAJAAkAgAUELTwRAIAFBD3JBAWoiBxBcIQYgBSAHQYCAgIB4cjYCDCAFIAY2AgQgBSABNgIIDAELIAUgAToADyAFQQRqIQYgAUUNAQsgBiADIAH8CgAACyABIAZqQQA6AABB1IkLQQA2AgBB/AEgBUEEakGs9wYQAiEBQdSJCygCACEIQdSJC0EANgIAIAhBAUYNASAFIAEoAgg2AhggBSABKQIANwMQIAFCADcCACABQQA2AghB1IkLQQA2AgBB2xMgACAFQRBqIAIgBBAFQdSJCygCACEJQdSJC0EANgIAIAlBAUYNAiAFLAAbQQBIBEAgBSgCEBBaCyABLAALQQBODQAgASgCABBaCyAFQSBqJAAPCxAAIQEMAQsQACEBIAUsABtBAE4NACAFKAIQEFoLIAUsAA9BAEgEQCAFKAIEEFoLIAEQBwALEOoBAAv3AgEFfyMAQSBrIgUkAAJAAkACQAJAAkAgAQ0AIAMQbCIBQfD///8HTw0EAkACQCABQQtPBEAgAUEPckEBaiIHEFwhBiAFIAdBgICAgHhyNgIMIAUgBjYCBCAFIAE2AggMAQsgBSABOgAPIAVBBGohBiABRQ0BCyAGIAMgAfwKAAALIAEgBmpBADoAAEHUiQtBADYCAEH8ASAFQQRqQaz3BhACIQFB1IkLKAIAIQhB1IkLQQA2AgAgCEEBRg0BIAUgASgCCDYCGCAFIAEpAgA3AxAgAUIANwIAIAFBADYCCEHUiQtBADYCAEHYEyAAIAVBEGogAiAEEAVB1IkLKAIAIQlB1IkLQQA2AgAgCUEBRg0CIAUsABtBAEgEQCAFKAIQEFoLIAEsAAtBAE4NACABKAIAEFoLIAVBIGokAA8LEAAhAQwBCxAAIQEgBSwAG0EATg0AIAUoAhAQWgsgBSwAD0EASARAIAUoAgQQWgsgARAHAAsQ6gEACwQAQSQL9wIBBX8jAEEgayIFJAACQAJAAkACQAJAIAENACADEGwiAUHw////B08NBAJAAkAgAUELTwRAIAFBD3JBAWoiBxBcIQYgBSAHQYCAgIB4cjYCDCAFIAY2AgQgBSABNgIIDAELIAUgAToADyAFQQRqIQYgAUUNAQsgBiADIAH8CgAACyABIAZqQQA6AABB1IkLQQA2AgBB/AEgBUEEakGs9wYQAiEBQdSJCygCACEIQdSJC0EANgIAIAhBAUYNASAFIAEoAgg2AhggBSABKQIANwMQIAFCADcCACABQQA2AghB1IkLQQA2AgBB1hMgACAFQRBqIAIgBBAFQdSJCygCACEJQdSJC0EANgIAIAlBAUYNAiAFLAAbQQBIBEAgBSgCEBBaCyABLAALQQBODQAgASgCABBaCyAFQSBqJAAPCxAAIQEMAQsQACEBIAUsABtBAE4NACAFKAIQEFoLIAUsAA9BAEgEQCAFKAIEEFoLIAEQBwALEOoBAAvbBAELfyMAQaABayIFJAACQAJAAkACQAJAIAFBAWsOBgEAAAAAAQALIAVBxJMKNgJQIAVBsJMKNgIYIAVB0ABqIgggBUEcaiIHEO0BIAVBnJMKNgJQIAVBiJMKNgIYIAVCgICAgHA3ApgBIAcQ7gEiB0G4jAo2AgAgBUIANwJEIAVCADcCPCAFQRA2AkxB1IkLQQA2AgBBrQEgBUEYaiABEAIhAUHUiQsoAgAhCUHUiQtBADYCACAJQQFGDQFB1IkLQQA2AgBBCSABQcjnBkEEEAQhAUHUiQsoAgAhCkHUiQtBADYCACAKQQFGDQFB1IkLQQA2AgBBrQEgAUEGEAIhAUHUiQsoAgAhC0HUiQtBADYCACALQQFGDQFB1IkLQQA2AgBBCSABQe38BkECEAQhAUHUiQsoAgAhDEHUiQtBADYCACAMQQFGDQEgAxBsIQZB1IkLQQA2AgBBCSABIAMgBhAEGkHUiQsoAgAhDUHUiQtBADYCACANQQFGDQFB1IkLQQA2AgBBHSAFQQxqIgEgBxADQdSJCygCACEOQdSJC0EANgIAIA5BAUYNAUHUiQtBADYCAEHUEyAAIAEgAiAEEAVB1IkLKAIAIQ9B1IkLQQA2AgAgD0EBRg0CIAUsABdBAEgEQCAFKAIMEFoLIAVBnJMKNgJQIAVBiJMKNgIYIAdBuIwKNgIAIAUsAEdBAEgEQCAFKAI8EFoLIAcQ6wEaIAgQ6AEaCyAFQaABaiQADwsQACEBDAELEAAhASAFLAAXQQBODQAgBSgCDBBaCyAFQRhqEKYCGiABEAcAC9gEAQt/IwBBoAFrIgYkAAJAAkACQAJAIAFBAUYNACABIAJGDQAgBkHEkwo2AlAgBkGwkwo2AhggBkHQAGoiCSAGQRxqIgcQ7QEgBkGckwo2AlAgBkGIkwo2AhggBkKAgICAcDcCmAEgBxDuASIHQbiMCjYCACAGQgA3AkQgBkIANwI8IAZBEDYCTEHUiQtBADYCAEGtASAGQRhqIAEQAiEBQdSJCygCACEKQdSJC0EANgIAIApBAUYNAUHUiQtBADYCAEEJIAFByOcGQQQQBCEBQdSJCygCACELQdSJC0EANgIAIAtBAUYNAUHUiQtBADYCAEGtASABIAIQAiEBQdSJCygCACEMQdSJC0EANgIAIAxBAUYNAUHUiQtBADYCAEEJIAFB7fwGQQIQBCEBQdSJCygCACENQdSJC0EANgIAIA1BAUYNASAEEGwhAkHUiQtBADYCAEEJIAEgBCACEAQaQdSJCygCACEOQdSJC0EANgIAIA5BAUYNAUHUiQtBADYCAEEdIAZBDGoiASAHEANB1IkLKAIAIQ9B1IkLQQA2AgAgD0EBRg0BQdSJC0EANgIAQdMTIAAgASADIAUQBUHUiQsoAgAhEEHUiQtBADYCACAQQQFGDQIgBiwAF0EASARAIAYoAgwQWgsgBkGckwo2AlAgBkGIkwo2AhggB0G4jAo2AgAgBiwAR0EASARAIAYoAjwQWgsgBxDrARogCRDoARoLIAZBoAFqJAAPCxAAIQEMAQsQACEBIAYsABdBAE4NACAGKAIMEFoLIAZBGGoQpgIaIAEQBwAL2AQBC38jAEGgAWsiBiQAAkACQAJAAkAgAUEBRg0AIAEgAkYNACAGQcSTCjYCUCAGQbCTCjYCGCAGQdAAaiIJIAZBHGoiBxDtASAGQZyTCjYCUCAGQYiTCjYCGCAGQoCAgIBwNwKYASAHEO4BIgdBuIwKNgIAIAZCADcCRCAGQgA3AjwgBkEQNgJMQdSJC0EANgIAQa0BIAZBGGogARACIQFB1IkLKAIAIQpB1IkLQQA2AgAgCkEBRg0BQdSJC0EANgIAQQkgAUHI5wZBBBAEIQFB1IkLKAIAIQtB1IkLQQA2AgAgC0EBRg0BQdSJC0EANgIAQa0BIAEgAhACIQFB1IkLKAIAIQxB1IkLQQA2AgAgDEEBRg0BQdSJC0EANgIAQQkgAUHt/AZBAhAEIQFB1IkLKAIAIQ1B1IkLQQA2AgAgDUEBRg0BIAQQbCECQdSJC0EANgIAQQkgASAEIAIQBBpB1IkLKAIAIQ5B1IkLQQA2AgAgDkEBRg0BQdSJC0EANgIAQR0gBkEMaiIBIAcQA0HUiQsoAgAhD0HUiQtBADYCACAPQQFGDQFB1IkLQQA2AgBB0RMgACABIAMgBRAFQdSJCygCACEQQdSJC0EANgIAIBBBAUYNAiAGLAAXQQBIBEAgBigCDBBaCyAGQZyTCjYCUCAGQYiTCjYCGCAHQbiMCjYCACAGLABHQQBIBEAgBigCPBBaCyAHEOsBGiAJEOgBGgsgBkGgAWokAA8LEAAhAQwBCxAAIQEgBiwAF0EATg0AIAYoAgwQWgsgBkEYahCmAhogARAHAAsEAEEjC9gEAQt/IwBBoAFrIgYkAAJAAkACQAJAIAFBAUYNACABIAJGDQAgBkHEkwo2AlAgBkGwkwo2AhggBkHQAGoiCSAGQRxqIgcQ7QEgBkGckwo2AlAgBkGIkwo2AhggBkKAgICAcDcCmAEgBxDuASIHQbiMCjYCACAGQgA3AkQgBkIANwI8IAZBEDYCTEHUiQtBADYCAEGtASAGQRhqIAEQAiEBQdSJCygCACEKQdSJC0EANgIAIApBAUYNAUHUiQtBADYCAEEJIAFByOcGQQQQBCEBQdSJCygCACELQdSJC0EANgIAIAtBAUYNAUHUiQtBADYCAEGtASABIAIQAiEBQdSJCygCACEMQdSJC0EANgIAIAxBAUYNAUHUiQtBADYCAEEJIAFB7fwGQQIQBCEBQdSJCygCACENQdSJC0EANgIAIA1BAUYNASAEEGwhAkHUiQtBADYCAEEJIAEgBCACEAQaQdSJCygCACEOQdSJC0EANgIAIA5BAUYNAUHUiQtBADYCAEEdIAZBDGoiASAHEANB1IkLKAIAIQ9B1IkLQQA2AgAgD0EBRg0BQdSJC0EANgIAQc8TIAAgASADIAUQBUHUiQsoAgAhEEHUiQtBADYCACAQQQFGDQIgBiwAF0EASARAIAYoAgwQWgsgBkGckwo2AlAgBkGIkwo2AhggB0G4jAo2AgAgBiwAR0EASARAIAYoAjwQWgsgBxDrARogCRDoARoLIAZBoAFqJAAPCxAAIQEMAQsQACEBIAYsABdBAE4NACAGKAIMEFoLIAZBGGoQpgIaIAEQBwAL6wQBDH8jAEGgAWsiBiQAAkACQAJAIAEgAkcEQCAGQcSTCjYCTCAGQbCTCjYCFCAGQcwAaiIKIAZBGGoiBxDtASAGQZyTCjYCTCAGQYiTCjYCFCAGQoCAgIBwNwKUASAHEO4BIgdBuIwKNgIAIAZBQGtCADcCACAGQgA3AjggBkEQNgJIQdSJC0EANgIAIAYgAToAnwFBCSAGQRRqIAZBnwFqIgFBARAEIQhB1IkLKAIAIQtB1IkLQQA2AgAgC0EBRg0BQdSJC0EANgIAQQkgCEHI5wZBBBAEIQhB1IkLKAIAIQxB1IkLQQA2AgAgDEEBRg0BQdSJC0EANgIAIAYgAjoAnwFBCSAIIAFBARAEIQFB1IkLKAIAIQ1B1IkLQQA2AgAgDUEBRg0BQdSJC0EANgIAQQkgAUHt/AZBAhAEIQFB1IkLKAIAIQ5B1IkLQQA2AgAgDkEBRg0BIAQQbCECQdSJC0EANgIAQQkgASAEIAIQBCEBQdSJCygCACEPQdSJC0EANgIAIA9BAUYNAUHUiQtBADYCAEEdIAZBCGoiAiAHEANB1IkLKAIAIRBB1IkLQQA2AgAgEEEBRg0BQdSJC0EANgIAQdkCIAAgAiADIAUQBUHUiQsoAgAhEUHUiQtBADYCACARQQFGDQIgBiwAE0EASARAIAYoAggQWgsgAUGIkwo2AgAgBkGckwo2AkwgB0G4jAo2AgAgASwAL0EASARAIAYoAjgQWgsgBxDrARogChDoARoLIAZBoAFqJAAPCxAAIQEMAQsQACEBIAYsABNBAE4NACAGKAIIEFoLIAZBFGoQpgIaIAEQBwAL+QIBBn8jAEEgayIFJAACQAJAAkACQAJAIAENACADEGwiBkHw////B08NBAJAAkAgBkELTwRAIAZBD3JBAWoiCBBcIQcgBSAIQYCAgIB4cjYCDCAFIAc2AgQgBSAGNgIIDAELIAUgBjoADyAFQQRqIQcgBkUNAQsgByADIAb8CgAACyAGIAdqQQA6AABB1IkLQQA2AgBB/AEgBUEEakGs9wYQAiEDQdSJCygCACEJQdSJC0EANgIAIAlBAUYNASAFIAMoAgg2AhggBSADKQIANwMQIANCADcCACADQQA2AghB1IkLQQA2AgBByxMgACAFQRBqIAIgBBAFQdSJCygCACEKQdSJC0EANgIAIApBAUYNAiAFLAAbQQBIBEAgBSgCEBBaCyADLAALQQBODQAgAygCABBaCyAFQSBqJAAgAQ8LEAAhAQwBCxAAIQEgBSwAG0EATg0AIAUoAhAQWgsgBSwAD0EASARAIAUoAgQQWgsgARAHAAsQ6gEAC8kEAQt/IwBBoAFrIgQkAAJAAkACQCABRQRAIARBxJMKNgJQIARBsJMKNgIYIARB0ABqIgcgBEEcaiIBEO0BIARBnJMKNgJQIARBiJMKNgIYIARCgICAgHA3ApgBIAEQ7gEiAUG4jAo2AgAgBEIANwJEIARCADcCPCAEQRA2AkxB1IkLQQA2AgBBrQEgBEEYakEAEAIhBUHUiQsoAgAhCEHUiQtBADYCACAIQQFGDQFB1IkLQQA2AgBBCSAFQcPnBkEEEAQhBUHUiQsoAgAhCUHUiQtBADYCACAJQQFGDQFB1IkLQQA2AgBBrQEgBUEAEAIhBUHUiQsoAgAhCkHUiQtBADYCACAKQQFGDQFB1IkLQQA2AgBBCSAFQe38BkECEAQhBUHUiQsoAgAhC0HUiQtBADYCACALQQFGDQFB1IkLQQA2AgBBCSAFQevNA0EeEAQaQdSJCygCACEMQdSJC0EANgIAIAxBAUYNAUHUiQtBADYCAEEdIARBDGoiBSABEANB1IkLKAIAIQ1B1IkLQQA2AgAgDUEBRg0BQdSJC0EANgIAQdkCIAAgBSACIAMQBUHUiQsoAgAhDkHUiQtBADYCACAOQQFGDQIgBCwAF0EASARAIAQoAgwQWgsgBEGckwo2AlAgBEGIkwo2AhggAUG4jAo2AgAgBCwAR0EASARAIAQoAjwQWgsgARDrARogBxDoARoLIARBoAFqJAAPCxAAIQEMAQsQACEBIAQsABdBAE4NACAEKAIMEFoLIARBGGoQpgIaIAEQBwALzwQBC38jAEGgAWsiBiQAAkACQAJAIAEgAkcEQCAGQcSTCjYCUCAGQbCTCjYCGCAGQdAAaiIJIAZBHGoiBxDtASAGQZyTCjYCUCAGQYiTCjYCGCAGQoCAgIBwNwKYASAHEO4BIgdBuIwKNgIAIAZCADcCRCAGQgA3AjwgBkEQNgJMQdSJC0EANgIAQa0BIAZBGGogARACIQFB1IkLKAIAIQpB1IkLQQA2AgAgCkEBRg0BQdSJC0EANgIAQQkgAUHI5wZBBBAEIQFB1IkLKAIAIQtB1IkLQQA2AgAgC0EBRg0BQdSJC0EANgIAQa0BIAEgAhACIQFB1IkLKAIAIQxB1IkLQQA2AgAgDEEBRg0BQdSJC0EANgIAQQkgAUHt/AZBAhAEIQFB1IkLKAIAIQ1B1IkLQQA2AgAgDUEBRg0BIAQQbCECQdSJC0EANgIAQQkgASAEIAIQBBpB1IkLKAIAIQ5B1IkLQQA2AgAgDkEBRg0BQdSJC0EANgIAQR0gBkEMaiIBIAcQA0HUiQsoAgAhD0HUiQtBADYCACAPQQFGDQFB1IkLQQA2AgBByhMgACABIAMgBRAFQdSJCygCACEQQdSJC0EANgIAIBBBAUYNAiAGLAAXQQBIBEAgBigCDBBaCyAGQZyTCjYCUCAGQYiTCjYCGCAHQbiMCjYCACAGLABHQQBIBEAgBigCPBBaCyAHEOsBGiAJEOgBGgsgBkGgAWokAA8LEAAhAQwBCxAAIQEgBiwAF0EATg0AIAYoAgwQWgsgBkEYahCmAhogARAHAAtuAgF/AX4gACABEJUDIQIgAC0ABkUEQCABBEAgAkHE3AZBIhBfIQACQCABKQIAIgOnIgEEQCAAIAEgA0IgiKcQXxoMAQsgAEGo6gVBCxBfGgsgAEGs5wZBAhBfGiACDwsgAkGN5wZBIRBfGgsgAgswAQF/IAAoAgAhASAAQQA2AgAgAQRAIAEoAgAiAARAIAEgADYCBCAAEFoLIAEQWgsL0wMCAn4CfyMAQSBrIgQkAAJAIAFC////////////AIMiA0KAgICAgIDAgDx9IANCgICAgICAwP/DAH1UBEAgAUIEhiAAQjyIhCEDIABC//////////8PgyIAQoGAgICAgICACFoEQCADQoGAgICAgICAwAB8IQIMAgsgA0KAgICAgICAgEB9IQIgAEKAgICAgICAgAhSDQEgAiADQgGDfCECDAELIABQIANCgICAgICAwP//AFQgA0KAgICAgIDA//8AURtFBEAgAUIEhiAAQjyIhEL/////////A4NCgICAgICAgPz/AIQhAgwBC0KAgICAgICA+P8AIQIgA0L///////+//8MAVg0AQgAhAiADQjCIpyIFQZH3AEkNACAEQRBqIAAgAUL///////8/g0KAgICAgIDAAIQiAiAFQYH3AGsQuQMgBCAAIAJBgfgAIAVrENAFIAQpAwhCBIYgBCkDACIAQjyIhCECIAQpAxAgBCkDGIRCAFKtIABC//////////8Pg4QiAEKBgICAgICAgAhaBEAgAkIBfCECDAELIABCgICAgICAgIAIUg0AIAJCAYMgAnwhAgsgBEEgaiQAIAIgAUKAgICAgICAgIB/g4S/C9cDAQl/IwBBMGsiAiQAIAJCADcDECACQgA3AwggAkEANgIsIAJCgICAgICAgMA/NwMYIAJCADcDACACQgA3AiRB1IkLQQA2AgAgAkEBOgAgQQRBCBAGIQNB1IkLKAIAIQRB1IkLQQA2AgACQCAEQQFGDQAgAyABNgIEIANBAzYCACACIANBCGoiATYCCCACIAE2AgQgAiADNgIAQdSJC0EANgIAQb4TIAIQCkHUiQsoAgAhBkHUiQtBADYCACAGQQFGDQAgAEEANgIIIABCADcCACACKAIoIgMgAigCJCIBRwRAIAMgAWsiA0EASARAQdSJC0EANgIAQYwBEAlB1IkLKAIAIQdB1IkLQQA2AgAgB0EBRg0CAAtB1IkLQQA2AgBBBCADEAYhBEHUiQsoAgAhCEHUiQtBADYCACAIQQFGDQEgACAENgIAIAAgAyAEaiIFNgIIIAQgASAD/AoAACAAIAU2AgQLIAEEQCACIAE2AiggARBaCyACKAIUIgAEQANAIAAoAgAhCSAAEFogCSIADQALCyACKAIMIQAgAkEANgIMIAAEQCAAEFoLIAIoAgAiAARAIAIgADYCBCAAEFoLIAJBMGokAA8LEAAhCiACEKIQIAoQBwALuwEBBH8CQCAAKAIIIgEgACgCBCIDRwRAA0AgACABQQRrIgI2AgggAigCACEBIAJBADYCACABBEACQAJAIAEoAhAOBAEBAAEFCyABKAIUIgJFDQAgASACNgIYIAIQWgsgARBaCyAAKAIIIgEgA0cNAAsLIAAoAgAiAARAIAAQWgsPC0HUiQtBADYCAEEUQfjFBEG4swJBwQQQCEHUiQsoAgAhBEHUiQtBADYCACAEQQFGBEBBABALGhBwCwAL5iABHn8jAEFAaiICJAACQAJAAkACQAJAIABBB08EQAJAIAAoAgQiAUEBRwRAIAENAUGEyAZBuLMCQcsHQcP6BRABAAsgAkIANwMgIAJCADcDGCACQoCAgICAgIDAPzcDKCACQgA3AxAgAkEANgI0IAJBAToAMCAAKAIEQQFHBEBB1IkLQQA2AgBBDUG//wVBuLMCQeQHQauJBBAFQdSJCygCACELQdSJC0EANgIAIAtBAUYNBgwHCyAAKAIIIQBB1IkLQQA2AgAgAiAANgIMQQRBCBAGIQFB1IkLKAIAIQxB1IkLQQA2AgAgDEEBRg0FIAFBAzYCACABIAJBDGo2AgQgAiABQQhqIgM2AhggAiADNgIUIAIgATYCECACQRxqIQoCQANAIANBCGsiACgCBCEIIAAoAgAhBCACIAA2AhQCQAJAAkAgBEECaw4CAAECCwJAIAIoAhgiBCAASwRAIABBBDYCACAAIAg2AgQgAiADNgIUDAELIAAgAWtBA3UiBkEBaiIDQYCAgIACTw0JAkBB/////wEgBCABayIEQQJ1IgUgAyADIAVJGyAEQfj///8HTxsiBUUEQEEAIQQMAQsgBUGAgICAAk8NCUHUiQtBADYCAEEEIAVBA3QQBiEEQdSJCygCACENQdSJC0EANgIAIA1BAUYNBQsgBCAGQQN0aiIDIAg2AgQgA0EENgIAIAQgBUEDdGohBCADQQhqIQUCQCAAIAFGBEAgAiAENgIYIAIgBTYCFCACIAM2AhAMAQsDQCADQQhrIgMgAEEIayIAKQIANwIAIAAgAUcNAAsgAiAENgIYIAIgBTYCFCACKAIQIQEgAiADNgIQIAFFDQELIAEQWgsgCCgCACEFIAJBADoAMAJAIAVBB0kNAAJAAkAgBSgCBA4CAAECCyAFKAIMIgMgBSgCCEYNAQNAIANBBGshAwJAIAIoAhQiACACKAIYIgRJBEAgACADNgIEIABBAjYCACACIABBCGo2AhQMAQsgACACKAIQIgZrQQN1IglBAWoiAUH/////AUsNDAJAQf////8BIAQgBmsiBEECdSIHIAEgASAHSRsgBEH4////B08bIgdFBEBBACEEDAELIAdB/////wFLDQxB1IkLQQA2AgBBBCAHQQN0EAYhBEHUiQsoAgAhDkHUiQtBADYCACAOQQFGDQ4LIAQgCUEDdGoiASADNgIEIAFBAjYCACABQQhqIQkgACAGRwRAA0AgAUEIayIBIABBCGsiACkCADcCACAAIAZHDQALIAIoAhAhAAsgAiAEIAdBA3RqNgIYIAIgCTYCFCACIAE2AhAgAEUNACAAEFoLIAMgBSgCCEcNAAsMAQsgBUEIaiEGIAIoAhQiACACKAIYIgNJBEAgACAGNgIEIABBAzYCACACIABBCGo2AhQMAQsgACACKAIQIgRrQQN1IgdBAWoiAUH/////AUsNCQJAQf////8BIAMgBGsiA0ECdSIFIAEgASAFSRsgA0H4////B08bIgVFBEBBACEDDAELIAVB/////wFLDQlB1IkLQQA2AgBBBCAFQQN0EAYhA0HUiQsoAgAhD0HUiQtBADYCACAPQQFGDQULIAMgB0EDdGoiASAGNgIEIAFBAzYCACABQQhqIQYgACAERwRAA0AgAUEIayIBIABBCGsiACkCADcCACAAIARHDQALIAIoAhAhAAsgAiADIAVBA3RqNgIYIAIgBjYCFCACIAE2AhAgAEUNACAAEFoLIAIoAhQiACACKAIYIgRJBEAgACAINgIEIABBADYCACACIABBCGo2AhQMAgsgACACKAIQIgNrQQN1IgZBAWoiAUH/////AUsNCAJAQf////8BIAQgA2siBEECdSIFIAEgASAFSRsgBEH4////B08bIgVFBEBBACEEDAELIAVB/////wFLDQhB1IkLQQA2AgBBBCAFQQN0EAYhBEHUiQsoAgAhEEHUiQtBADYCACAQQQFGDQQLIAQgBkEDdGoiASAINgIEIAFBADYCACABQQhqIQggACADRwRAA0AgAUEIayIBIABBCGsiACkCADcCACAAIANHDQALIAIoAhAhAAsgAiAEIAVBA3RqNgIYIAIgCDYCFCACIAE2AhAgAEUNASAAEFoMAQsCQCACKAIYIgQgAEsEQCAAQQU2AgAgACAINgIEIAIgAzYCFAwBCyAAIAFrQQN1IgZBAWoiA0H/////AUsNCAJAQf////8BIAQgAWsiBEECdSIFIAMgAyAFSRsgBEH4////B08bIgVFBEBBACEEDAELIAVB/////wFLDQhB1IkLQQA2AgBBBCAFQQN0EAYhBEHUiQsoAgAhEUHUiQtBADYCACARQQFGDQQLIAQgBkEDdGoiAyAINgIEIANBBTYCACAEIAVBA3RqIQQgA0EIaiEFAkAgACABRgRAIAIgBDYCGCACIAU2AhQgAiADNgIQDAELA0AgA0EIayIDIABBCGsiACkCADcCACAAIAFHDQALIAIgBDYCGCACIAU2AhQgAigCECEBIAIgAzYCECABRQ0BCyABEFoLAkAgAi0AMARAIAgoAgAhAEHUiQtBADYCAEHiAiACQThqIAogACAAEAVB1IkLKAIAIRJB1IkLQQA2AgAgEkEBRg0EIAItADxFDQEgCCgCACIFQRBJDQECQAJAAkACQCAFKAIQDgQAAQIDBQsgBUEYaiEAAkAgAigCFCIBIAIoAhgiBEkEQCABIAA2AgQgAUECNgIAIAIgAUEIaiIANgIUDAELIAEgAigCECIGa0EDdSIJQQFqIgNB/////wFLDQ0CQEH/////ASAEIAZrIgRBAnUiByADIAMgB0kbIARB+P///wdPGyIHRQRAQQAhBAwBCyAHQf////8BSw0NQdSJC0EANgIAQQQgB0EDdBAGIQRB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRg0JCyAEIAlBA3RqIgMgADYCBCADQQI2AgAgA0EIaiEAIAEgBkcEQANAIANBCGsiAyABQQhrIgEpAgA3AgAgASAGRw0ACyACKAIQIQELIAIgBCAHQQN0ajYCGCACIAA2AhQgAiADNgIQIAFFDQAgARBaIAIoAhQhAAsgBUEUaiEGIAIoAhgiAyAASwRAIAAgBjYCBCAAQQI2AgAgAiAAQQhqNgIUDAULIAAgAigCECIEa0EDdSIHQQFqIgFB/////wFLDQwCQEH/////ASADIARrIgNBAnUiBSABIAEgBUkbIANB+P///wdPGyIFRQRAQQAhAwwBCyAFQf////8BSw0MQdSJC0EANgIAQQQgBUEDdBAGIQNB1IkLKAIAIRRB1IkLQQA2AgAgFEEBRg0ICyADIAdBA3RqIgEgBjYCBCABQQI2AgAgAUEIaiEGIAAgBEcEQANAIAFBCGsiASAAQQhrIgApAgA3AgAgACAERw0ACyACKAIQIQALIAIgAyAFQQN0ajYCGCACIAY2AhQgAiABNgIQIABFDQQgABBaDAQLIAVBFGohBiACKAIUIgAgAigCGCIDSQRAIAAgBjYCBCAAQQM2AgAgAiAAQQhqNgIUDAQLIAAgAigCECIEa0EDdSIHQQFqIgFB/////wFLDQsCQEH/////ASADIARrIgNBAnUiBSABIAEgBUkbIANB+P///wdPGyIFRQRAQQAhAwwBCyAFQf////8BSw0LQdSJC0EANgIAQQQgBUEDdBAGIQNB1IkLKAIAIRVB1IkLQQA2AgAgFUEBRg0HCyADIAdBA3RqIgEgBjYCBCABQQM2AgAgAUEIaiEGIAAgBEcEQANAIAFBCGsiASAAQQhrIgApAgA3AgAgACAERw0ACyACKAIQIQALIAIgAyAFQQN0ajYCGCACIAY2AhQgAiABNgIQIABFDQMgABBaDAMLIAUoAhgiAyAFKAIURg0CA0AgA0EMayEDAkAgAigCFCIAIAIoAhgiBEkEQCAAIAM2AgQgAEECNgIAIAIgAEEIajYCFAwBCyAAIAIoAhAiBmtBA3UiCUEBaiIBQf////8BSw0MAkBB/////wEgBCAGayIEQQJ1IgcgASABIAdJGyAEQfj///8HTxsiB0UEQEEAIQQMAQsgB0H/////AUsNDEHUiQtBADYCAEEEIAdBA3QQBiEEQdSJCygCACEWQdSJC0EANgIAIBZBAUYNDgsgBCAJQQN0aiIBIAM2AgQgAUECNgIAIAFBCGohCSAAIAZHBEADQCABQQhrIgEgAEEIayIAKQIANwIAIAAgBkcNAAsgAigCECEACyACIAQgB0EDdGo2AhggAiAJNgIUIAIgATYCECAARQ0AIAAQWgsgAyAFKAIURw0ACwwCCyAFQRRqIQYgAigCFCIAIAIoAhgiA0kEQCAAIAY2AgQgAEECNgIAIAIgAEEIajYCFAwCCyAAIAIoAhAiBGtBA3UiB0EBaiIBQf////8BSw0JAkBB/////wEgAyAEayIDQQJ1IgUgASABIAVJGyADQfj///8HTxsiBUUEQEEAIQMMAQsgBUH/////AUsNCUHUiQtBADYCAEEEIAVBA3QQBiEDQdSJCygCACEXQdSJC0EANgIAIBdBAUYNBQsgAyAHQQN0aiIBIAY2AgQgAUECNgIAIAFBCGohBiAAIARHBEADQCABQQhrIgEgAEEIayIAKQIANwIAIAAgBEcNAAsgAigCECEACyACIAMgBUEDdGo2AhggAiAGNgIUIAIgATYCECAARQ0BIAAQWgwBC0HUiQtBADYCAEG7EyACQRBqIAgQA0HUiQsoAgAhGEHUiQtBADYCACAYQQFGDQMLIAJBADoAMCACKAIUIgAgAigCGCIESQRAIAAgCDYCBCAAQQE2AgAgAiAAQQhqNgIUDAELIAAgAigCECIDa0EDdSIGQQFqIgFB/////wFLDQcCQEH/////ASAEIANrIgRBAnUiBSABIAEgBUkbIARB+P///wdPGyIFRQRAQQAhBAwBCyAFQf////8BSw0HQdSJC0EANgIAQQQgBUEDdBAGIQRB1IkLKAIAIRlB1IkLQQA2AgAgGUEBRg0DCyAEIAZBA3RqIgEgCDYCBCABQQE2AgAgAUEIaiEIIAAgA0cEQANAIAFBCGsiASAAQQhrIgApAgA3AgAgACADRw0ACyACKAIQIQALIAIgBCAFQQN0ajYCGCACIAg2AhQgAiABNgIQIABFDQAgABBaCyACKAIQIgEgAigCFCIDRw0AC0HUiQtBADYCAEG7EyACQRBqIAJBDGoQA0HUiQsoAgAhGkHUiQtBADYCACAaQQFGDQYgAigCNCEDIAIoAiQiAARAA0AgACgCACEbIAAQWiAbIgANAAsLIAIoAhwhACACQQA2AhwgAARAIAAQWgsgAigCECIARQ0DIAIgADYCFCAAEFoMAwsMBQtB5b8GQbizAkHLB0HD+gUQAQALIABBBkZBA3QhAwsgAkFAayQAIAMPC0HUiQtBADYCAEEDEAlB1IkLKAIAIRxB1IkLQQA2AgAgHEEBRw0CDAELQdSJC0EANgIAQbwTEAlB1IkLKAIAIR1B1IkLQQA2AgAgHUEBRw0BCxAAIR4gAkEQahCFBCAeEAcACwAL0AwBC38CQCAFRQ0AA0ACQAJAIAUgB0wNACAEIAdMDQAgBEUNAyABKAIAIgpBB0khCyADKAIALQAAIQwDQCAAKAIAIQgCQAJAAkAgC0UEQCAKKAIEIQkgDEUNASAJQQFHDQMgCEEHSQ0GIAgoAgRBAUYNAwwGCyAMDQIgCEEHTw0BDAILIAlBAUYNASAIQQdJDQELIAgoAgRBAUYNAwsgAEEEaiEAIARBAWsiBA0ACwwDCyAEIAVMBEAgACABRg0DIAYhCCAAIQQDQCAIIAQoAgA2AgAgCEEEaiEIIARBBGoiBCABRw0ACyADKAIAIQoDQCABIAJGBEAgACAGIAggBmv8CgAADwsgCi0AACEEIAYoAgAhAwJAAkACQAJAAkAgASgCACIFQQdPBEAgBSgCBCEHIARFDQEgB0EBRw0EIANBB0kNAyADKAIEQQFHDQMMBAsgBA0DDAELIAdBAUYNAgsgA0EHSQ0BIAMoAgRBAUcNAQsgACAFNgIAIAFBBGohAQwBCyAAIAM2AgAgBkEEaiEGCyAAQQRqIQAgBiAIRw0ACwwDCyABIAJGDQIgBiEIIAEhBANAIAggBCgCADYCACAIQQRqIQggBEEEaiIEIAJHDQALIAMoAgAhCwNAIAAgASIDRgRAA0AgAkEEayICIAhBBGsiCCgCADYCACAGIAhHDQAMBQsACyADQQRrIgEoAgAhBCALLQAAIQoCQAJAAkACQCAIQQRrIgcoAgAiBUEHTwRAIAUoAgQhCSAKRQ0BIAlBAUcNAyAEQQdJDQQgBCgCBEEBRg0DDAQLIAoNAiAEQQdPDQEMAgsgCUEBRg0BIARBB0kNAQsgBCgCBEEBRg0BCyAFIQQgAyEBIAchCAsgAkEEayICIAQ2AgAgBiAIRw0ACwwCCwJAIAQgBUgEQCABIAVBAm0iD0ECdGohCwJ/IAAgAUYEQCABIgoMAQsgASAAa0ECdSEIIAsoAgAhECAAIQoDQCAKIAhBAXYiCUECdGoiESgCACEOAn8CQAJAAkACQCAQQQdPBEAgECgCBCENIAxFDQEgDUEBRw0EIA5BB0kNAyAOKAIEQQFGDQQMAwsgDA0DIA5BB08NAQwDCyANQQFGDQIgDkEHSQ0CCyAOKAIEQQFHDQELIAkMAQsgEUEEaiEKIAggCUF/c2oLIggNAAsgAAshCCAKIAhrQQJ1IQ4MAQsgBEEBRgRAIAAgCjYCACABIAg2AgAPCyAAIARBAm0iDkECdGohCgJ/IAEgAkYEQCACIgsMAQsgCigCACIPQQdJIhAgDEEAR3IhESACIAFrQQJ1IQggASELA0ACfwJAAkACQAJAIAsgCEEBdiIJQQJ0aiISKAIAIg1BB08EQCANKAIEIQ0gDEUNAiANQQFGDQEgCQwFCyARRQ0CIAkMBAsgEA0CIA8oAgRBAUcNAiAJDAMLIAkgDUEBRg0CGiAQRQ0AIAkMAgsgDygCBEEBRg0AIAkMAQsgEkEEaiELIAggCUF/c2oLIggNAAsgAQshCCALIAhrQQJ1IQ8LIAUgD2shBSAEIA5rIQQgCyEIAkAgASAKRg0AIAohCCABIAtGDQAgASAIQQRqRgRAIAgoAgAhCSAIIAEgCyABayIB/AoAACABIAhqIgggCTYCAAwBCyALIAFBBGpGBEAgCyALQQRrIgEgCmsiCWshCCABKAIAIQwgASAKRwRAIAggCiAJ/AoAAAsgCiAMNgIADAELIAEhDCABIAprIhFBAnUiDSEQIAsgAWsiEkECdSIJIA1GBEADQCAIKAIAIQkgCCAMKAIANgIAIAwgCTYCACABIAhBBGoiCEYEQCABIQgMAwsgDEEEaiIMIAtHDQALIAEhCAwBCwNAIBAgCSIBbyEJIAEhECAJDQALIAogAUECdGohAQNAIAFBBGsiASARaiEMIAEoAgAhCCABIQkDQCAJIAwoAgA2AgAgDCIJIA1BAnRqIAogDSALIAlrQQJ1IgxrQQJ0aiAMIA1KGyIMIAFHDQALIAkgCDYCACABIApHDQALIAogEmohCAsCfyAOIA9qIAQgBWpIBEAgACAKIAggAyAOIA8gBiAHELALIAghACALDAELIAggCyACIAMgBCAFIAYgBxCwCyAPIQUgDiEEIAghAiAKCyEBIAUNAAsLC24BAn9B1IkLQQA2AgBBBCAAEAYhAEHUiQsoAgAhAUHUiQtBADYCAAJAIAFBAUYEQEEAEAsQDhpB1IkLQQA2AgBBHBAJQdSJCygCACECQdSJC0EANgIAQQAhACACQQFGDQELIAAPC0EAEAsaEHAAC8IEAQh/IwBBEGsiBiQAIAYgATYCBCAAQTxqIQkCQAJAAkACQCAAQUBrKAIAIgNFDQAgCSgCAAJ/IAFBldPH3gVsIgJBGHYgAnNBldPH3gVsQaiZvfR9c0GV08feBWwiAkENdiACc0GV08feBWwiAkEPdiACcyIFIANBAWtxIANpIgRBAU0NABogBSADIAVLDQAaIAUgA3ALIgdBAnRqKAIAIgJFDQAgAigCACICRQ0AIARBAU0EQCADQQFrIQMDQAJAIAIoAgQiBCAFRwRAIAMgBHEgB0YNAQwECyACKAIIIAFGDQQLIAIoAgAiAg0ACwwBCwNAAkAgAigCBCIEIAVHBEAgAyAETQR/IAQgA3AFIAQLIAdGDQEMAwsgAigCCCABRg0DCyACKAIAIgINAAsLIAAoAjQiAiAAKAI4RwRAIAIgATYCACAAIAJBBGo2AjQMAQsgAiAAKAIwIgNrIgVBAnUiB0EBaiIEQYCAgIAETw0BQf////8DIAVBAXUiCCAEIAQgCEkbIAVB/P///wdPGyIEBH8gBEGAgICABE8NAyAEQQJ0EFwFQQALIgggB0ECdGoiBSABNgIAIAVBBGohASACIANHBEADQCAFQQRrIgUgAkEEayICKAIANgIAIAIgA0cNAAsLIAAgCCAEQQJ0ajYCOCAAIAE2AjQgACAFNgIwIANFDQAgAxBaCyAGQQhqIAkgBigCBCAGQQRqEKgQIAYoAggiACAAKAIMQQFqNgIMIAZBEGokAA8LEGQACxBqAAvmAgIDfwF+IwBBEGsiBCQAAkAgAi0AAEUNAEGwmwsoAgAhBSACEKUCKAIERQ0AIAJBABBpLQAADQAgBEEIaiACQQAQaRDsASAEKAIIIAVHDQAgAhClAigCBEEDRgRAIAQgAkEBEGkQ7AEgAyAEKQMANwIACyACIAIQpQIoAgRBAWsQaSECC0EAIQMCQCACLQAARQ0AQaCdCygCACEGIAIQpQIoAgRFDQAgAkEAEGktAAANACAEQQhqIAJBABBpEOwBIAYgBCgCCEcEQAwBC0EBIQMgAkEBEGkhAgsCfwJAIAItAAANAEHImwsoAgAhBSAEQQhqIAIQ7AEgBCgCCCAFRgRAQQEhBUECDAILIAItAAANAEHQmwspAwAhByAEQQhqIAIQ7AEgBCgCCCAHp0cNAEECIQVBAgwBC0EAIQUgASgCACACEKsQCyECIAAgAzYCCCAAIAU2AgQgACACNgIAIARBEGokAAurCAIQfwF+IwBB0ABrIgIkAAJAAkACQAJAAkACQAJAIAAoAtABRQRAQRQQciEDQdSJC0EANgIAQcwBIAJBxABqQb2MBBACIQJB1IkLKAIAIQlB1IkLQQA2AgBBASEEIAlBAUYNAUHUiQtBADYCAEHQASADIAIgARAEIQBB1IkLKAIAIQpB1IkLQQA2AgAgCkEBRwRAQQAhBEHUiQtBADYCAEHNASAAQbC5B0HOARAIQdSJCygCACELQdSJC0EANgIAIAtBAUcNCAsQACEAIAIsAAtBAEgEQCACKAIAEFoLIARFDQYgAxBuDAYLAkACQAJAIAEtAAANACABLQAcRQ0AIAJBOGogARDsAQJAIAAoAtABIgAoAlAiBEUNACAAKAJMIgcCfyACKQM4IhKnIgMgBEEBa3EgBGkiBUEBTQ0AGiADIAMgBEkNABogAyAEcAsiBkECdGooAgAiAEUNACAAKAIAIgBFDQAgBUEBTQRAIARBAWshBQNAAkAgAyAAKAIEIghHBEAgBSAIcSAGRg0BDAQLIAAoAgggA0YNBQsgACgCACIADQALDAELA0ACQCADIAAoAgQiBUcEQCAEIAVNBH8gBSAEcAUgBQsgBkYNAQwDCyAAKAIIIANGDQQLIAAoAgAiAA0ACwtBFBByIQNB1IkLQQA2AgBBzAEgAkEsakH+mAQQAiECQdSJCygCACEMQdSJC0EANgIAQQEhBCAMQQFGDQRB1IkLQQA2AgBB0AEgAyACIAEQBCEAQdSJCygCACENQdSJC0EANgIAIA1BAUcEQEEAIQRB1IkLQQA2AgBBzQEgAEGwuQdBzgEQCEHUiQsoAgAhDkHUiQtBADYCACAOQQFHDQoLEAAhACACLAALQQBIBEAgAigCABBaCyAERQ0IIAMQbgwICyABEIsDIQQgACgC0AEiAygCHCIAQRBJDQQgACgCEA0EIAQCfwJAIAAoAhQiAEEHSQ0AIAAoAgQNACAAKAIMIAAoAghrQQJ1DAELIABBAEcLIAMoAiggAygCJGtBAnVqSQ0BQRQQciEDQdSJC0EANgIAQcwBIAJBFGpB8ykQAiECQdSJCygCACEPQdSJC0EANgIAQQEhBCAPQQFGDQVB1IkLQQA2AgBB0AEgAyACIAEQBCEAQdSJCygCACEQQdSJC0EANgIAIBBBAUcEQEEAIQRB1IkLQQA2AgBBzQEgAEGwuQdBzgEQCEHUiQsoAgAhEUHUiQtBADYCACARQQFHDQkLEAAhACACLAALQQBIBEAgAigCABBaCyAERQ0HDAYLIAIgEjcDCCACIBI3AyAgByAEIAJBCGoQjBEhBAsgAkHQAGokACAEDwsQACEAIAMQbgwECxAAIQAgAxBuDAMLQeGVBkG4swJB2wlBj+IDEAEACxAAIQALIAMQbgsgABAHCwALwwMBCX8jAEEgayIHJAAgAiADSQRAA0AgByAAIAEgAhBpIgYQpAEiDDYCFAJAIAYoAigiBkUNACAAKALQAUUNACAHQQhqIAAgBhCjASAHQRhqIAAoAtABQeAAaiAMIAdBFGoQeCAHKAIYIgYgBygCEDYCFCAGIAcpAgg3AgwLIAQoAgAhBgJAIAQoAgQiCCAEKAIIRwRAIAYhBQwBCyAEIAhBAXRBAmoiBTYCCCAEIAQoAgwgBUECdEEEEF0iBTYCACAEKAIEIghFBEBBACEIDAELQQAhDUEAIQUgCEEETwRAIAhBfHEhCwNAIAVBAnQiCiAEKAIAaiAGIApqKAIANgIAIApBBHIiCSAEKAIAaiAGIAlqKAIANgIAIApBCHIiCSAEKAIAaiAGIAlqKAIANgIAIApBDHIiCSAEKAIAaiAGIAlqKAIANgIAIAVBBGoiBSALRw0ACwsgCEEDcSILBEADQCAFQQJ0IgkgBCgCAGogBiAJaigCADYCACAFQQFqIQUgDUEBaiINIAtHDQALCyAEKAIAIQULIAUgCEECdGogDDYCACAEIAhBAWo2AgQgAkEBaiICIANHDQALCyAHQSBqJAALBQBB2AALoQMBBX8jAEEwayIDJAAgAyAAIAFBARBpIgQQpAEiBTYCJAJAIAQoAigiBEUNACAAKALQAUUNACADQRhqIAAgBBCjASADQShqIAAoAtABQeAAaiAFIANBJGoQeCADKAIoIgQgAygCIDYCFCAEIAMpAhg3AgwLAkACQCAFKAIEIgRBB08EQCAEKAIEQQFHDQEMAgsgBEEBRg0BC0EUEHIhAkHUiQtBADYCAEHMASADQQxqQcqzAxACIQBB1IkLKAIAIQVB1IkLQQA2AgBBASEDAkACQAJAIAVBAUcEQEHUiQtBADYCAEHQASACIAAgARAEIQFB1IkLKAIAIQZB1IkLQQA2AgAgBkEBRwRAQQAhA0HUiQtBADYCAEHNASABQbC5B0HOARAIQdSJCygCACEHQdSJC0EANgIAIAdBAUcNBAsQACEBIAAsAAtBAEgEQCAAKAIAEFoLIANFDQIMAQsQACEBCyACEG4LIAEQBwsACyAAKAIAQagBakEQQQQQXSIAIAU2AgwgACACNgIIIABCzgA3AgAgABD4AyADQTBqJAAgAAv6AwEJfyMAQTBrIgMkAAJAAkACQAJAAkACQCAAIAFBARBpEKMDIgRBEE8EQCAEKAIQQQJGDQELQRQQciECQdSJC0EANgIAQcwBIANBDGpB4vkDEAIhAEHUiQsoAgAhCUHUiQtBADYCACAJQQFGDQJB1IkLQQA2AgBB0AEgAiAAIAEQBCEBQdSJCygCACEKQdSJC0EANgIAQQEhAyAKQQFHBEBBACEDQdSJC0EANgIAQc0BIAFBsLkHQc4BEAhB1IkLKAIAIQtB1IkLQQA2AgAgC0EBRw0CCxAAIQEgACwAC0EASARAIAAoAgAQWgsgA0UNBQwECyAAIAFBARBpIAFBAhBpELEQIQcgBCgCEEECRw0CIAQoAhQgB0EMbGooAgAhCCADIAAgAUEDEGkiBRCkASIGNgIkAkAgBSgCKCIFRQ0AIAAoAtABRQ0AIANBGGogACAFEKMBIANBKGogACgC0AFB4ABqIAYgA0EkahB4IAMoAigiBSADKAIgNgIUIAUgAykCGDcCDAsgBiAEIAEQ5wQgACgCAEGoAWpBFEEEEF0iACAGNgIMIAAgBzYCCCAAQcEANgIAIAAgAjoAECAAIAg2AgQgABDhByADQTBqJAAgAA8LAAsQACEBDAELQZn5BUG4swJB5QlB6IYBEAEACyACEG4LIAEQBwALqwEBBH8jAEEgayIDJAAgACgCACEGIAMgACABQQEQaSIEEKQBIgE2AhQCQCAEKAIoIgRFDQAgACgC0AFFDQAgA0EIaiAAIAQQowEgA0EYaiAAKALQAUHgAGogASADQRRqEHggAygCGCIAIAMoAhA2AhQgACADKQIINwIMCyAGQagBakEQQQQQXSIAIAE2AgwgACACNgIIIABC1QA3AgAgABC+BiADQSBqJAAgAAtFAQF/IwBBEGsiBSQAIAUgASACIAMgBEKAgICAgICAgIB/hRDZAyAFKQMAIQEgACAFKQMINwMIIAAgATcDACAFQRBqJAALxAQBB38jAEEwayIDJAACQAJAAkACQAJAAkAgACABQQEQaRCjAyIEQRBPBEAgBCgCEEEDRg0BC0EUEHIhAkHUiQtBADYCAEHMASADQQxqQc75AxACIQBB1IkLKAIAIQdB1IkLQQA2AgAgB0EBRg0CQdSJC0EANgIAQdABIAIgACABEAQhAUHUiQsoAgAhCEHUiQtBADYCAEEBIQMgCEEBRwRAQQAhA0HUiQtBADYCAEHNASABQbC5B0HOARAIQdSJCygCACEJQdSJC0EANgIAIAlBAUcNAgsQACEBIAAsAAtBAEgEQCAAKAIAEFoLIANFDQUMBAsgAyAAIAFBAhBpIgUQpAEiBjYCJAJAIAUoAigiBUUNACAAKALQAUUNACADQRhqIAAgBRCjASADQShqIAAoAtABQeAAaiAGIANBJGoQeCADKAIoIgUgAygCIDYCFCAFIAMpAhg3AgwLIAQoAhBBA0cNAiAEKAIUIQUgBiAEIAEQ5wQgAyAAIAFBAxBpIgQQpAEiATYCJAJAIAQoAigiBEUNACAAKALQAUUNACADQRhqIAAgBBCjASADQShqIAAoAtABQeAAaiABIANBJGoQeCADKAIoIgQgAygCIDYCFCAEIAMpAhg3AgwLIAAoAgBBqAFqQRRBBBBdIgAgATYCDCAAIAY2AgggAEHHADYCACAAIAI6ABAgACAFNgIEIAAQpQYgA0EwaiQAIAAPCwALEAAhAQwBC0H/9wVBuLMCQeoJQecjEAEACyACEG4LIAEQBwAL1gUBCH8gAigCBCACLQALIgQgBMBBAEgiBBsiCCEDIAIoAgAgAiAEGyIHIQICQCAIIgRBBEkNACAEIQUgA0EEayIEQQRxRQRAIAIoAABBldPH3gVsIgVBGHYgBXNBldPH3gVsIANBldPH3gVscyEDIAJBBGohAiAEIQUgBEEESQ0BCyAFIQQDQCACKAAEQZXTx94FbCIFQRh2IAVzQZXTx94FbCACKAAAQZXTx94FbCIFQRh2IAVzQZXTx94FbCADQZXTx94FbHNBldPH3gVscyEDIAJBCGohAiAEQQhrIgRBA0sNAAsLAkACQAJAAkAgBEEBaw4DAgEAAwsgAi0AAkEQdCADcyEDCyACLQABQQh0IANzIQMLIAMgAi0AAHNBldPH3gVsIQMLAkACQCABRQ0AIANBDXYgA3NBldPH3gVsIgJBD3YgAnMhBiAAAn8gBiABQQFrcSABaSIEQQFNDQAaIAYgASAGSw0AGiAGIAFwCyIKQQJ0aigCACIARQ0AIAAoAgAiAkUNACAEQQFNBEAgAUEBayEJA0ACQCAGIAIoAgQiAEcEQCAAIAlxIApGDQFBAA8LIAIoAgwiBCACLQATIgUgBcAiAUEASCIAGyAIRw0AIAJBCGohAyAARQRAIAchBCABRQ0FA0AgAy0AACAELQAARw0CIARBAWohBCADQQFqIQMgBUEBayIFDQALDAULIAMoAgAgByAEEF4NAAwECyACKAIAIgINAAsMAQsDQAJAIAYgAigCBCIDRwRAIAEgA00EfyADIAFwBSADCyAKRg0BQQAPCyACKAIMIgQgAi0AEyIFIAXAIglBAEgiABsgCEcNACACQQhqIQMgAEUEQCAHIQQgCUUNBANAIAMtAAAgBC0AAEcNAiAEQQFqIQQgA0EBaiEDIAVBAWsiBQ0ACwwECyADKAIAIAcgBBBeDQAMAwsgAigCACICDQALC0EADwsgAgu8AgEFfyMAQSBrIgMkAAJAAkACQAJAIAACfwJAIAItAAANACACLQAcRQ0AIANBGGoiACACEOwBIAAMAQsgAhCLAyIAIAEoAmwgASgCaCIBa0EDdU8EQEEUEHIhAUHUiQtBADYCAEHMASADQQxqQdaeBBACIQBB1IkLKAIAIQVB1IkLQQA2AgBBASEDIAVBAUYNA0HUiQtBADYCAEHQASABIAAgAhAEIQJB1IkLKAIAIQZB1IkLQQA2AgAgBkEBRwRAQQAhA0HUiQtBADYCAEHNASACQbC5B0HOARAIQdSJCygCACEHQdSJC0EANgIAIAdBAUcNAwsQACECIAAsAAtBAEgEQCAAKAIAEFoLIANFDQUMBAsgASAAQQN0agspAAA3AgAgA0EgaiQADwsACxAAIQILIAEQbgsgAhAHAAsEAEE8C7EJAQ1/IwBBMGsiCCQAAkACQAJAAkAgASgCBCIFQQdJDQAgBSgCBA0AIAAoAnAiAkUEQCAIQRRqQYjqBhDIASECQdSJC0EANgIAQY0CIAJBzqEEEAIhAUHUiQsoAgAhA0HUiQtBADYCAAJAAkAgA0EBRwRAIAggASgCCDYCKCAIIAEpAgA3AyAgAUIANwIAIAFBADYCCEHUiQtBADYCAEGwAiAAIAhBIGoQA0HUiQsoAgAhDUHUiQtBADYCACANQQFGDQEACxAAIQMMAQsQACEDIAgsACtBAE4NACAIKAIgEFoLIAIsAAtBAEgEQCACKAIAEFoLIAMQBwALIAAoAgAhDiAIQgA3AwggCEIANwMgIAIgCEEIaiAFEMYCIQsgDkGoAWoiDEEQQQQQXSIEIAE2AgwgBCALNgIIIARCCTcCACAEIAEoAgRBAUYiAjYCBCAEIAIgASgCBEEBRnI2AgQCQCAAKAKoAiICIAAoAqwCIgZJBEAgAiAENgIAIAAgAkEEajYCqAIMAQsgAiAAKAKkAiIBa0ECdSIHQQFqIgNBgICAgARPDQNB/////wMgBiABayIGQQF1IgkgAyADIAlJGyAGQfz///8HTxsiBgR/IAZBgICAgARPDQUgBkECdBBcBUEACyIJIAdBAnRqIgMgBDYCACADQQRqIQQgASACRwRAA0AgA0EEayIDIAJBBGsiAigCADYCACABIAJHDQALIAAoAqQCIQILIAAgCSAGQQJ0ajYCrAIgACAENgKoAiAAIAM2AqQCIAJFDQAgAhBaC0EAIQEDQCAFKAIEBH9BAQUgBSgCDCAFKAIIa0ECdQsgAU0NAiAMQQxBBBBdIgIgCzYCCCACQQg2AgAgAiAFNgIEIAxBEEEEEF0iBCABNgIMIAQgAjYCCCAEQjk3AgAgBBDXBSAAKAKoAiICIAAoAqwCIgdJBEAgAiAENgIAIAAgAkEEajYCqAIgAUEBaiEBDAELIAIgACgCpAIiBmtBAnUiCUEBaiIDQYCAgIAETw0DQf////8DIAcgBmsiB0EBdSIKIAMgAyAKSRsgB0H8////B08bIgcEfyAHQYCAgIAETw0FIAdBAnQQXAVBAAsiCiAJQQJ0aiIDIAQ2AgAgA0EEaiEEIAIgBkcEQANAIANBBGsiAyACQQRrIgIoAgA2AgAgAiAGRw0ACyAAKAKkAiECCyAAIAogB0ECdGo2AqwCIAAgBDYCqAIgACADNgKkAiACBEAgAhBaCyABQQFqIQEMAAsACyAAKAKoAiICIAAoAqwCRwRAIAIgATYCACAAIAJBBGo2AqgCDAELIAIgACgCpAIiBGsiA0ECdSIGQQFqIgVBgICAgARPDQFB/////wMgA0EBdSIHIAUgBSAHSRsgA0H8////B08bIgUEfyAFQYCAgIAETw0DIAVBAnQQXAVBAAsiByAGQQJ0aiIDIAE2AgAgA0EEaiEBIAIgBEcEQANAIANBBGsiAyACQQRrIgIoAgA2AgAgAiAERw0ACyAAKAKkAiECCyAAIAcgBUECdGo2AqwCIAAgATYCqAIgACADNgKkAiACRQ0AIAIQWgsgCEEwaiQADwsQZAALEGoAC6t6Ao0CfwF+IwBBoAFrIgUkAAJAIAAoAiQgACgCdEYEQCAFQeAAakHgtQQQyAEhAUHUiQtBADYCAEGwAiAAIAEQA0HUiQsoAgAhDkHUiQtBADYCACAOQQFHDQEQACEPIAEsAAtBAEgEQCABKAIAEFoLIA8QBwALIAAQxAsgBSAFQdgAaiIGNgJUIAVCADcCWAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAAoAjQEQCAAKAIsIQNB1IkLQQA2AgBBBEEcEAYhAkHUiQsoAgAhEEHUiQtBADYCACAQQQFGDQEgAiADKQIQNwIQIAIgAygCGDYCGCACIAY2AgggAkIANwIAIAUgAjYCVCAFIAI2AlggAkEBOgAMIAVBATYCXAsgACgCJCINIAAoAggiAigCBCACKAIAIgJrTwRAQdSJC0EANgIAQcwBIAVBgAFqQYrQABACIQFB1IkLKAIAIRFB1IkLQQA2AgAgEUEBRg0YQdSJC0EANgIAQbACIAAgARADQdSJCygCACESQdSJC0EANgIAIBJBAUcNGhAAIQAgASwAC0EATg0ZIAEoAgAQWgwZCyAAIA1BAWo2AiQCQAJAAkACQAJAIAIgDWotAAAiBkH/AUYNAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgBkEBaw7+AQ8AAgEUHxQhIiMTAwMEDgUGBwgmJiwsFRQSDQ0sLCAJCgoLDB0eLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsJCUsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLBYXGBkaGxwsLCwsLCwsLCwsLCwnLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwrKSooEAsgACgCBCEDQdSJC0EANgIAQQwgA0EgQQQQBCECQdSJCygCACETQdSJC0EANgIAIBNBAUYNRyACQgA3AgQgAkEBNgIAIAJCADcCDCACQgA3AhQgAiADNgIcIAEgAjYCAEHUiQtBADYCAEGUECAAIAIQA0HUiQsoAgAhFEHUiQtBADYCAEECIQYgFEEBRg1HDC0LIAAoAgQhAkHUiQtBADYCAEEEIQZBDCACQRRBBBAEIQJB1IkLKAIAIRVB1IkLQQA2AgAgFUEBRg1GIAJBADYCECACQgI3AgAgASACNgIAQdSJC0EANgIAQZUQIAAgAhADQdSJCygCACEWQdSJC0EANgIAIBZBAUYNRgwsCyAAKAIEIQJB1IkLQQA2AgBBDCACQRRBBBAEIQJB1IkLKAIAIRdB1IkLQQA2AgAgF0EBRg1FIAJCADcCCCACQgM3AgAgASACNgIAQdSJC0EANgIAQZYQIAAgAhADQdSJCygCACEYQdSJC0EANgIAQQMhBiAYQQFGDUUMKwsgACgCBCECQdSJC0EANgIAQQwgAkEYQQQQBCEEQdSJCygCACEZQdSJC0EANgIAIBlBAUYNRCAEQgA3AgggBEKEgICAEDcCACAEQgA3AhAgASAENgIAQdSJC0EANgIAIAUgADYChAEgBUGMsgc2AoABIAUgBUGAAWoiAjYCkAFBsQIgBUGcAWogAhACIQdB1IkLKAIAIQNB1IkLQQA2AgACQAJAAkAgA0EBRwRAAkACQCACIAUoApABIgNGBEBBBCEIIAIhAwwBC0EFIQggA0UNAQsgAyADKAIAIAhBAnRqKAIAEQEACyAHKAIAIQJB1IkLQQA2AgBBlxAgBUGAAWogACACEAhB1IkLKAIAIRpB1IkLQQA2AgAgGkEBRg1IIAQgBSkDgAE3AgggBkENRgRAQdSJC0EANgIAQZgQIAAQBiECQdSJCygCACEbQdSJC0EANgIAIBtBAUYNSSAEIAI2AhQLIAUoAogBIgJBAkkNAyACQQdPBEAgAigCBEUNAgtB1IkLQQA2AgBBmBAgABAGIQNB1IkLKAIAIRxB1IkLQQA2AgAgHEEBRw0CDEgLEAAhAAJAIAUoApABIgIgBUGAAWoiAUYEQEEEIQYgASECDAELQQUhBiACRQ1JCyACIAIoAgAgBkECdGooAgARAQAMSAsgAigCDCEDIAIoAgghAkHUiQtBADYCAEGZECAAIAMgAmtBAnUQAiEDQdSJCygCACEdQdSJC0EANgIAIB1BAUYNRgsgBCADNgIQCyAEKAIUIgJFBEAgBEEBNgIEDCsLIAQgAigCBEEBRwR/IAQoAhAiAkUEQCAEQQA2AgQMLAsgAigCBAVBAQs2AgQMKgsgACgCBCEDQdSJC0EANgIAQQwgA0EoQQQQBCECQdSJCygCACEeQdSJC0EANgIAIB5BAUYNQyACQgA3AgggAkKFgICAEDcCACACQgA3AhggAkEANgIQIAIgAzYCFCACQgA3AiAgASACNgIAQdSJC0EANgIAQZoQIAAgAhADQdSJCygCACEfQdSJC0EANgIAQQ4hBiAfQQFGDUMMKQsgACgCBCEDQdSJC0EANgIAQQwgA0EkQQQQBCECQdSJCygCACEgQdSJC0EANgIAICBBAUYNQiACQgA3AgQgAkEGNgIAIAJBADoAICACQgA3AhggAkIANwIMIAIgAzYCFCABIAI2AgBB1IkLQQA2AgBBmxAgACACEANB1IkLKAIAISFB1IkLQQA2AgBBECEGICFBAUYNQgwoCyAAKAIEIQJB1IkLQQA2AgBBnBAgAhAGIQJB1IkLKAIAISJB1IkLQQA2AgAgIkEBRg1BIAEgAjYCACACKAIAQQdGDSYMPwsgACgCBCEDQdSJC0EANgIAQQwgA0EkQQQQBCECQdSJCygCACEjQdSJC0EANgIAICNBAUcEQCACQgA3AgQgAkEGNgIAIAJBAToAICACQgA3AhggAkIANwIMIAIgAzYCFCABIAI2AgBB1IkLQQA2AgBBmxAgACACEANB1IkLKAIAISRB1IkLQQA2AgBBEiEGICRBAUcNJwsQACEADEELIAAoAgQhAkHUiQtBADYCAEGcECACEAYhAkHUiQsoAgAhJUHUiQtBADYCACAlQQFHBEAgAkEBOgAoIAEgAjYCAEHUiQtBADYCAEGdECAAIAIQA0HUiQsoAgAhJkHUiQtBADYCAEETIQYgJkEBRw0mCxAAIQAMQAsgACgCBCECQdSJC0EANgIAQQwgAkEMQQQQBCECQdSJCygCACEnQdSJC0EANgIAICdBAUYNPiACQgg3AgAgASACNgIAQdSJC0EANgIAQZ4QIAAgAhADQdSJCygCACEoQdSJC0EANgIAQSAhBiAoQQFGDT4MJAsgACgCBCECQdSJC0EANgIAQQwgAkEQQQQQBCEHQdSJCygCACEpQdSJC0EANgIAIClBAUYNPSAHQgk3AgAgASAHNgIAIAAoAnBFBEBB1IkLQQA2AgBBzAEgBUHwAGpBiOoGEAIhAkHUiQsoAgAhKkHUiQtBADYCACAqQQFGDT5B1IkLQQA2AgBBjQIgAkHp0QIQAiEBQdSJCygCACErQdSJC0EANgIAICtBAUYNKCAFIAEoAgg2AogBIAUgASkCADcDgAEgAUIANwIAIAFBADYCCEHUiQtBADYCAEGwAiAAIAVBgAFqEANB1IkLKAIAISxB1IkLQQA2AgAgLEEBRw1AEAAhACAFLACLAUEATg07IAUoAoABEFoMOwtB1IkLQQA2AgAgBSAANgKEASAFQYyyBzYCgAEgBSAFQYABaiICNgKQAUGxAiAFQZwBaiACEAIhBEHUiQsoAgAhA0HUiQtBADYCAAJ/AkAgA0EBRwRAAkACQCACIAUoApABIgNGBEBBBCEIIAIhAwwBC0EFIQggA0UNAQsgAyADKAIAIAhBAnRqKAIAEQEACyAHIAQoAgAiCzYCCEGP4gMhA0HbCSEEQbizAiEKQeGVBiEIIAAoAnAiCSgCHCICQRBJDT8gAigCEA0/IAIoAhQiAkEHSQ0BIAIoAgQNASACKAIMIAIoAghrQQJ1DAILEAAhAAJAIAUoApABIgIgBUGAAWoiAUYEQEEEIQYgASECDAELQQUhBiACRQ1BCyACIAIoAgAgBkECdGooAgARAQAMQAsgAkEARwshAiAJKAIoIAkoAiRrQQJ1IAJqIAtNBEBB1IkLQQA2AgBBzAEgBUGAAWpBgCkQAiEBQdSJCygCACEtQdSJC0EANgIAIC1BAUYNPkHUiQtBADYCAEGwAiAAIAEQA0HUiQsoAgAhLkHUiQtBADYCACAuQQFHDUAQACEAIAEsAAtBAE4NPyABKAIAEFoMPwtB1IkLQQA2AgBBmBAgABAGIQNB1IkLKAIAIS9B1IkLQQA2AgAgL0EBRg09IAcgAzYCDCAHAn8gBkEiRgRAIAcoAgghAiAAKAJwIQNB1IkLQQA2AgBBuQEgAyACEAIhAkHUiQsoAgAhMEHUiQtBADYCACAwQQFGDT8gByACNgIEQQEgAiAHKAIMIgMoAgRBAUYbDAELIAdBADYCBCADKAIEQQFGCyICNgIEIAdBASACIAMoAgRBAUYbNgIEDCMLIAAoAgQhAkHUiQtBADYCAEEMIAJBEEEEEAQhAkHUiQsoAgAhMUHUiQtBADYCACAxQQFGDTwgAkIANwIIIAJCCjcCACABIAI2AgBB1IkLQQA2AgBBnxAgACACEANB1IkLKAIAITJB1IkLQQA2AgBBIyEGIDJBAUYNPAwiCyAAKAIEIQJB1IkLQQA2AgBBDCACQRRBBBAEIQJB1IkLKAIAITNB1IkLQQA2AgAgM0EBRg07IAJCADcCCCACQgs3AgAgASACNgIAQdSJC0EANgIAQaAQIAAgAhADQdSJCygCACE0QdSJC0EANgIAQSQhBiA0QQFGDTsMIQsgACgCBCECQdSJC0EANgIAQQwgAkEUQQQQBCEJQdSJCygCACE1QdSJC0EANgIAIDVBAUYNOiAJQhE3AgAgASAJNgIAIAZBHEYEQCAFIAA2AoQBIAVBjLIHNgKAAUHUiQtBADYCACAFIAVBgAFqIgY2ApABQbECIAVB/ABqIAYQAiE3QdSJCygCACE2QdSJC0EANgIAIDZBAUYNNwJAAkAgBiAFKAKQASICRgRAQQQhAyAGIQIMAQtBBSEDIAJFDQELIAIgAigCACADQQJ0aigCABEBAAtBACEDQQAhAiA3KAIAIgsEQANAIAUgADYChAEgBUHUsgc2AoABQdSJC0EANgIAIAUgBUGAAWoiBzYCkAFBuAIgBUGcAWogBxACIQxB1IkLKAIAIQZB1IkLQQA2AgACQCAGQQFHBEACQAJAIAcgBSgCkAEiBkYEQEEEIQQgByEGDAELQQUhBCAGRQ0BCyAGIAYoAgAgBEECdGooAgARAQALIAwoAgAhBkHUiQtBADYCAEHEAiAAIAYQAiEGQdSJCygCACE4QdSJC0EANgIAIDhBAUcNAQw5CxAAIQACQCAFKAKQASICIAVBgAFqIgFGBEBBBCEGIAEhAgwBC0EFIQYgAkUNOgsgAiACKAIAIAZBAnRqKAIAEQEADDkLAkAgAiAKSQRAIAIgBjYCACACQQRqIQIMAQsCQAJAAkAgAiADa0ECdSIMQQFqIgRBgICAgARPBEBB1IkLQQA2AgBBExAJQdSJCygCACE5QdSJC0EANgIAIDlBAUYNAQxEC0H/////AyAKIANrIgdBAXUiCiAEIAQgCkkbIAdB/P///wdPGyIHRQRAQQAhCgwDCyAHQYCAgIAESQ0BQdSJC0EANgIAQQMQCUHUiQsoAgAhOkHUiQtBADYCACA6QQFHDUMLEAAhAAw7C0HUiQtBADYCAEEEIAdBAnQQBiEKQdSJCygCACE7QdSJC0EANgIAIDtBAUYNOQsgCiAMQQJ0aiIEIAY2AgAgBCEGIAIgA0cEQANAIAZBBGsiBiACQQRrIgIoAgA2AgAgAiADRw0ACwsgB0ECdCAKaiEKIARBBGohAiADBEAgAxBaCyAGIQMLIAhBAWoiCCALRw0ACwtB1IkLQQA2AgBB4QAgBUHsAGogAyACEAQhAkHUiQsoAgAhPEHUiQtBADYCACA8QQFHBEAgCSACKAIANgIEIAMEQCADEFoLQdSJC0EANgIAQZgQIAAQBiECQdSJCygCACE9QdSJC0EANgIAID1BAUYNPCAJIAI2AhBB1IkLQQA2AgBBmBAgABAGIQJB1IkLKAIAIT5B1IkLQQA2AgAgPkEBRg08IAkgAjYCDEHUiQtBADYCAEGYECAAEAYhAkHUiQsoAgAhP0HUiQtBADYCACA/QQFGDTwgCSACNgIIQRwhBgwiCxAAIQAMNgtB1IkLQQA2AgBBmBAgABAGIQJB1IkLKAIAIUBB1IkLQQA2AgAgQEEBRg06IAkgAjYCEEHUiQtBADYCAEGYECAAEAYhAkHUiQsoAgAhQUHUiQtBADYCACBBQQFGDTogCSACNgIMQdSJC0EANgIAQZgQIAAQBiECQdSJCygCACFCQdSJC0EANgIAIEJBAUYNOiAJIAI2AghBssMDIQNB/QUhBEGkpAIhCkHy3QMhCCACRQ05IAkoAgwiB0UNOUEBIQMCQCACKAIEIgJBAUYNACAHKAIEIgRBAUYNACAJKAIQKAIEQQFGDQBB1IkLQQA2AgBBPiACIAQQAiEDQdSJCygCACFDQdSJC0EANgIAIENBAUYNOwsgCSADNgIEDCALIAAoAgQhAkHUiQtBADYCAEEMIAJBDEEEEAQhAkHUiQsoAgAhREHUiQtBADYCACBEQQFGDTkgAkEANgIIIAJCk4CAgBA3AgAgASACNgIAQdSJC0EANgIAQaEQIAAgAhADQdSJCygCACFFQdSJC0EANgIAQQ8hBiBFQQFGDTkMHwsgACgCBCECQQAhA0HUiQtBADYCAEEMIAJBCEEEEAQhAkHUiQsoAgAhRkHUiQtBADYCACBGQQFGDTggAkEWNgIADAELIAAoAgQhAkHUiQtBADYCAEEMIAJBCEEEEAQhAkHUiQsoAgAhR0HUiQtBADYCAEEBIQMgR0EBRg03IAJBFzYCAAsgAiADNgIEIAEgAjYCAAwdCyAAKAIEIQJB1IkLQQA2AgBBDCACQQxBBBAEIQJB1IkLKAIAIUhB1IkLQQA2AgAgSEEBRg01IAJCEjcCACABIAI2AgBB1IkLQQA2AgBBmBAgABAGIQNB1IkLKAIAIUlB1IkLQQA2AgAgSUEBRg01IAIgAzYCCCACIAMoAgRBAUY2AgRBGiEGDBsLIAFBADYCAEELIQYgACgCtAIiAiAAKAKwAkYNGiAAIAJBBGs2ArQCDBoLIAFBADYCACAALQAiRQ0bIAAoAnAiAkUNGSAAKAK0AiIDIAAoArACRgRAQYTdAiEDQfoeIQQMLQsgBSADQQRrKAIAIgM2AnAgAygCAEECRgR/QQAFQdSJC0EANgIAQf8AIAVBgAFqIAJBoAFqIAMgBUHwAGoQBUHUiQsoAgAhSkHUiQtBADYCACBKQQFGDSwgACgCcCECIAUoAoABIgQoAhggBCgCFGtBAnUgBCgCDGoLIQQgACgCOCEHQdSJC0EANgIAQf8AIAVBgAFqIAJBoAFqIAMgBUHwAGoQBUHUiQsoAgAhS0HUiQtBADYCACBLQQFGDStB1IkLQQA2AgBBgAEgBSgCgAFBDGogBBACIU1B1IkLKAIAIUxB1IkLQQA2AgAgTEEBRg0rIE0gDSAHazYCAAwZCyABQQA2AgBBGCEGIAAtACJFDRggACgCcEUNGCAAKAK0AiICIAAoArACRgRAQYTdAiEDQY4fIQQMLAsgACACQQRrNgK0AgwYCyAAKAIEIQJB1IkLQQA2AgBBDCACQQhBBBAEIQJB1IkLKAIAIU5B1IkLQQA2AgAgTkEBRg0xIAJCKTcCACABIAI2AgBB1IkLQQA2AgBBohAgACACEANB1IkLKAIAIU9B1IkLQQA2AgBB0AEhBiBPQQFGDTEMFwsgACgCBCECQdSJC0EANgIAQQwgAkEMQQQQBCECQdSJCygCACFQQdSJC0EANgIAIFBBAUYNMCACQio3AgAgASACNgIAQdSJC0EANgIAQZgQIAAQBiEDQdSJCygCACFRQdSJC0EANgIAIFFBAUYNMCACIAM2AgggAkEBQQIgAygCBEEBRhs2AgRB0QEhBgwWCyAAKAIEIQJB1IkLQQA2AgBBDCACQRBBBBAEIQJB1IkLKAIAIVJB1IkLQQA2AgAgUkEBRg0vIAJCADcCCCACQis3AgAgASACNgIAQdSJC0EANgIAQaMQIAAgAhADQdSJCygCACFTQdSJC0EANgIAQdIBIQYgU0EBRg0vDBULIAAoAgQhAkHUiQtBADYCAEEMIAJBEEEEEAQhAkHUiQsoAgAhVEHUiQtBADYCACBUQQFGDS4gAkIsNwIAIAEgAjYCAEHUiQtBADYCAEGkECAAIAIQA0HUiQsoAgAhVUHUiQtBADYCAEHTASEGIFVBAUYNLgwUCyAAKAIEIQJB1IkLQQA2AgBBDCACQRBBBBAEIQJB1IkLKAIAIVZB1IkLQQA2AgAgVkEBRg0tIAJCzgA3AgAgASACNgIAQdSJC0EANgIAQdQBIQZBpRAgACACQdQBEAhB1IkLKAIAIVdB1IkLQQA2AgAgV0EBRg0tDBMLQdSJC0EANgIAQdUBIQZBphAgACABQdUBEAQaQdSJCygCACFYQdSJC0EANgIAIFhBAUYNLAwSC0HUiQtBADYCAEHWASEGQaYQIAAgAUHWARAEGkHUiQsoAgAhWUHUiQtBADYCACBZQQFGDSsMEQsgACgCBCECQdSJC0EANgIAQQwgAkEUQQQQBCECQdSJCygCACFaQdSJC0EANgIAIFpBAUYNKiACQgA3AgggAkItNwIAIAEgAjYCAEHUiQtBADYCAEGnECAAIAIQA0HUiQsoAgAhW0HUiQtBADYCAEElIQYgW0EBRg0qDBALIAAoAgQhAkHUiQtBADYCAEEMIAJBGEEEEAQhAkHUiQsoAgAhXEHUiQtBADYCACBcQQFGDSkgAkIANwIIIAJCLjcCACABIAI2AgBB1IkLQQA2AgBBqBAgACACEANB1IkLKAIAIV1B1IkLQQA2AgBBJiEGIF1BAUYNKQwPC0HUiQtBADYCAEGpECAAIAEQA0HUiQsoAgAhXkHUiQtBADYCAEEGIQYgXkEBRg0oDA4LIAAoAgQhAkHUiQtBADYCAEGqECACEAYhAkHUiQsoAgAhX0HUiQtBADYCACBfQQFGDScgASACNgIAIAIoAgBBNEcNJUHUiQtBADYCAEGrECAAIAIQA0HUiQsoAgAhYEHUiQtBADYCAEEfIQYgYEEBRg0nDA0LIAAoAgQhA0HUiQtBADYCAEEMIANBIEEEEAQhAkHUiQsoAgAhYUHUiQtBADYCACBhQQFGDSYgAkIANwIEIAJBNTYCACACQgA3AgwgAkIANwIUIAIgAzYCHCABIAI2AgBB1IkLQQA2AgBBrBAgACACEANB1IkLKAIAIWJB1IkLQQA2AgBBCCEGIGJBAUYNJgwMCyAAKAIEIQJB1IkLQQA2AgBBDCACQRBBBBAEIQJB1IkLKAIAIWNB1IkLQQA2AgAgY0EBRg0lIAJCADcCCCACQjY3AgAgASACNgIAQdSJC0EANgIAQa0QIAAgAhADQdSJCygCACFkQdSJC0EANgIAQQkhBiBkQQFGDSUMCwsgACgCBCECQdSJC0EANgIAQQwgAkEMQQQQBCECQdSJCygCACFlQdSJC0EANgIAIGVBAUYNJCACQjc3AgAgASACNgIAQdSJC0EANgIAQZgQIAAQBiEDQdSJCygCACFmQdSJC0EANgIAIGZBAUYNJCACQQE2AgQgAiADNgIIQQohBgwKCyAAKAIEIQJB1IkLQQA2AgBBDCACQRRBBBAEIQJB1IkLKAIAIWdB1IkLQQA2AgAgZ0EBRwRAIAJCADcCDCACQQI2AgggAkKUgICAIDcCACABIAI2AgBB1IkLQQA2AgBBrhAgACACEANB1IkLKAIAIWhB1IkLQQA2AgBBPyEGIGhBAUcNCgsQACEADCQLIAAoAgQhAkHUiQtBADYCAEEMIAJBGEEEEAQhAkHUiQsoAgAhaUHUiQtBADYCACBpQQFHBEAgAkIANwIQIAJCgICAgCA3AgggAkKVgICAIDcCACABIAI2AgBB1IkLQQA2AgBBrxAgACACEANB1IkLKAIAIWpB1IkLQQA2AgBBwAAhBiBqQQFHDQkLEAAhAAwjCyAAKAIEIQJB1IkLQQA2AgBBDCACQSBBBBAEIQdB1IkLKAIAIWtB1IkLQQA2AgAga0EBRg0YIAdCADcCBCAHQTw2AgAgB0IANwIMIAcgBkEVRjoAHCAHIAI2AhQgASAHNgIAQdSJC0EANgIAQZgQIAAQBiECQdSJCygCACFsQdSJC0EANgIAIGxBAUYNGCAHIAI2AhhB1IkLQQA2AgAgBSAANgKEASAFQYyyBzYCgAEgBSAFQYABaiICNgKQAUGxAiAFQZwBaiACEAIhBEHUiQsoAgAhA0HUiQtBADYCAAJAIANBAUcEQAJAAkAgAiAFKAKQASIDRgRAQQQhCCACIQMMAQtBBSEIIANFDQELIAMgAygCACAIQQJ0aigCABEBAAsgBCgCACECQdSJC0EANgIAQbAQIAAgAhACIQJB1IkLKAIAIW1B1IkLQQA2AgAgbUEBRg0aIAUgAjYCfCAHKAIYKAIEIQMgAkEQSQ0BIAItAABFDQFBuIwEIQBB6AUhAkG4swIhBkH+0AYhAwwZCxAAIQACQCAFKAKQASICIAVBgAFqIgFGBEBBBCEGIAEhAgwBC0EFIQYgAkUNJAsgAiACKAIAIAZBAnRqKAIAEQEADCMLIAVBATYCjAEgBSACNgKIASAFQQE2AoQBIAVBADoAgAFB1IkLQQA2AgBBB0HYnQsgBUGAAWoiCBACIQRB1IkLKAIAIW5B1IkLQQA2AgAgbkEBRgRAEAAhACAIEHcMIwsCQCADIARGDQBB1IkLQQA2AgBBrAEgAyAEEAIhcEHUiQsoAgAhb0HUiQtBADYCACBvQQFGDRkgcA0AIAcoAhghAUHUiQtBADYCAEHpBiAFQfAAaiICIAFBBGoQA0HUiQsoAgAhcUHUiQtBADYCACBxQQFGDRlB1IkLQQA2AgBB/AEgAkHD+AYQAiEBQdSJCygCACFyQdSJC0EANgIAIHJBAUYNDSAFIAEoAgg2AogBIAUgASkCADcDgAEgAUIANwIAIAFBADYCCEHUiQtBADYCAEGwAiAAIAVBgAFqEANB1IkLKAIAIXNB1IkLQQA2AgAgc0EBRw0kEAAhACAFLACLAUEATg0XIAUoAoABEFoMFwsCQCACQRBPBEAgAigCEEUNAQtB1IkLQQA2AgBBywIgBUHwAGoiASAFQfwAahADQdSJCygCACF0QdSJC0EANgIAIHRBAUYNGUHUiQtBADYCAEH8ASABQYn2BhACIQFB1IkLKAIAIXVB1IkLQQA2AgAgdUEBRg0OIAUgASgCCDYCiAEgBSABKQIANwOAASABQgA3AgAgAUEANgIIQdSJC0EANgIAQbACIAAgBUGAAWoQA0HUiQsoAgAhdkHUiQtBADYCACB2QQFHDSQQACEAIAUsAIsBQQBODRYgBSgCgAEQWgwWCwJAAn8CQCACKQIUIo8CpyICQQdJDQAgAigCBA0AIAIoAgwgAigCCGtBAnUMAQsgAkEARwsiCSAHKAIQTQRAIAcoAgwhBAwBCyAHIAk2AhAgBygCCCEIIAcoAhQhAkEAIQRB1IkLQQA2AgBBDCACIAlBAnRBBBAEIQJB1IkLKAIAIXdB1IkLQQA2AgAgd0EBRg0ZIAcgAjYCCCAHKAIMIgJFDQBBACEDIAJBBE8EQCACQXxxIQsDQCADQQJ0IgogBygCCGogCCAKaigCADYCACAKQQRyIgwgBygCCGogCCAMaigCADYCACAKQQhyIgwgBygCCGogCCAMaigCADYCACAKQQxyIgogBygCCGogCCAKaigCADYCACADQQRqIgMgC0cNAAsLIAJBA3EiCgRAA0AgA0ECdCILIAcoAghqIAggC2ooAgA2AgAgA0EBaiEDIARBAWoiBCAKRw0ACwsgAiEECwJAAkAgBCAJSQRAIAkgBCIDa0EDcSICBEBBACEIA0AgBygCCCADQQJ0akEANgIAIANBAWohAyAIQQFqIgggAkcNAAsLIAQgCWtBfE0EQANAIANBAnQiAiAHKAIIakEANgIAIAcoAgggAmpBADYCBCAHKAIIIAJqQQA2AgggBygCCCACakEANgIMIANBBGoiAyAJRw0ACwsgB0EMaiIEIAk2AgAMAQsgB0EMaiIEIAk2AgAgCUUNAQtBACEDA0BB1IkLQQA2AgBBmBAgABAGIQJB1IkLKAIAIXhB1IkLQQA2AgAgeEEBRg0QIAkgA0F/c2oiCCAEKAIATwRAQaaIBSEAQbwBIQJBiaIDIQZBxaIBIQMMGgsgBygCCCAIQQJ0aiACNgIAIANBAWoiAyAJRw0ACwsgByCPAkIgiD4CBEHUiQtBADYCAEE/IAcQCkHUiQsoAgAheUHUiQtBADYCACB5QQFHDQcMGAsgACgCBCECQdSJC0EANgIAQbEQIAIQBiECQdSJCygCACF6QdSJC0EANgIAIHpBAUYNICABIAI2AgAgAigCAEHcAEcNHkHUiQtBADYCAEGyECAAIAIQA0HUiQsoAgAhe0HUiQtBADYCAEHjASEGIHtBAUcNBgwgC0HUiQtBADYCAEGzECAAEAYhBkHUiQsoAgAhfEHUiQtBADYCACB8QQFGDR9B1IkLQQA2AgBBtBAgACABIAZB/wFxIgJBARANIX5B1IkLKAIAIX1B1IkLQQA2AgAgfUEBRg0fIH4NBUHUiQtBADYCAEG1ECAAIAEgAkEBEA0hgAFB1IkLKAIAIX9B1IkLQQA2AgAgf0EBRg0fIIABDQVB1IkLQQA2AgBBthAgACABIAIQBCGCAUHUiQsoAgAhgQFB1IkLQQA2AgAggQFBAUYNHyCCAQ0FQdSJC0EANgIAQbcQIAAgASACEAQhhAFB1IkLKAIAIYMBQdSJC0EANgIAIIMBQQFGDR8ghAENBUHUiQtBADYCAEG4ECAAIAEgAhAEIYYBQdSJCygCACGFAUHUiQtBADYCACCFAUEBRg0fIIYBDQVB1IkLQQA2AgBBuRAgACABIAIQBCGIAUHUiQsoAgAhhwFB1IkLQQA2AgAghwFBAUYNHyCIAQ0FQdSJC0EANgIAQboQIAAgASACEAQhigFB1IkLKAIAIYkBQdSJC0EANgIAIIkBQQFGDR8gigENBUHUiQtBADYCAEH7ASAFQYABaiIBIAIQA0HUiQsoAgAhAkHUiQtBADYCAAJAAkAgAkEBRwRAQdSJC0EANgIAQfwBIAFBqugGEAIhAUHUiQsoAgAhiwFB1IkLQQA2AgAgiwFBAUYNASAFIAEoAgg2AlAgBSABKQIANwNIIAFCADcCACABQQA2AghB1IkLQQA2AgBBsAIgACAFQcgAahADQdSJCygCACGMAUHUiQtBADYCACCMAUEBRw0kEAAhACAFLABTQQBODQIgBSgCSBBaDAILEAAhAAwiCxAAIQALIAUsAIsBQQBODSAgBSgCgAEQWgwgC0HUiQtBADYCAEGzECAAEAYhAkHUiQsoAgAhjQFB1IkLQQA2AgAgjQFBAUYNDEHUiQtBADYCAEG7ECAAIAEgAhAEIY8BQdSJCygCACGOAUHUiQtBADYCACCOAUEBRg0MQfwBIQYgjwENBEHUiQtBADYCAEG8ECAAIAEgAhAEIZEBQdSJCygCACGQAUHUiQtBADYCACCQAUEBRg0MIJEBDQRB1IkLQQA2AgBBvRAgACABIAIQBCGTAUHUiQsoAgAhkgFB1IkLQQA2AgAgkgFBAUYNDCCTAQ0EQdSJC0EANgIAQb4QIAAgASACEAQhlQFB1IkLKAIAIZQBQdSJC0EANgIAIJQBQQFGDQwglQENBEHUiQtBADYCAEG/ECAAIAEgAhAEIZcBQdSJCygCACGWAUHUiQtBADYCACCWAUEBRg0MIJcBDQRB1IkLQQA2AgBBwBAgACABIAIQBCGZAUHUiQsoAgAhmAFB1IkLQQA2AgAgmAFBAUYNDCCZAQ0EQdSJC0EANgIAQcEQIAAgASACEAQhmwFB1IkLKAIAIZoBQdSJC0EANgIAIJoBQQFGDQwgmwENBEHUiQtBADYCAEHCECAAIAEgAhAEIZ0BQdSJCygCACGcAUHUiQtBADYCACCcAUEBRg0MIJ0BDQRB1IkLQQA2AgBBwxAgACABIAIQBCGfAUHUiQsoAgAhngFB1IkLQQA2AgAgngFBAUYNDCCfAQ0EQdSJC0EANgIAQboCIAVBgAFqIgEgAhADQdSJCygCACECQdSJC0EANgIAAkACQCACQQFHBEBB1IkLQQA2AgBB/AEgAUGJ6AYQAiEBQdSJCygCACGgAUHUiQtBADYCACCgAUEBRg0BIAVBQGsgASgCCDYCACAFIAEpAgA3AzggAUIANwIAIAFBADYCCEHUiQtBADYCAEGwAiAAIAVBOGoQA0HUiQsoAgAhoQFB1IkLQQA2AgAgoQFBAUcNIxAAIQAgBSwAQ0EATg0CIAUoAjgQWgwCCxAAIQAMIQsQACEACyAFLACLAUEATg0fIAUoAoABEFoMHwtB1IkLQQA2AgBBsxAgABAGIQJB1IkLKAIAIaIBQdSJC0EANgIAIKIBQQFGDQxB1IkLQQA2AgBBxBAgACABIAIQBCGkAUHUiQsoAgAhowFB1IkLQQA2AgAgowFBAUYNDEH9ASEGIKQBDQNB1IkLQQA2AgBBxRAgACABIAIQBCGmAUHUiQsoAgAhpQFB1IkLQQA2AgAgpQFBAUYNDCCmAQ0DQdSJC0EANgIAQcYQIAAgASACEAQhqAFB1IkLKAIAIacBQdSJC0EANgIAIKcBQQFGDQwgqAENA0HUiQtBADYCAEHHECAAIAEgAhAEIaoBQdSJCygCACGpAUHUiQtBADYCACCpAUEBRg0MIKoBDQNB1IkLQQA2AgBByBAgACABIAIQBCGsAUHUiQsoAgAhqwFB1IkLQQA2AgAgqwFBAUYNDCCsAQ0DQdSJC0EANgIAQckQIAAgASACEAQhrgFB1IkLKAIAIa0BQdSJC0EANgIAIK0BQQFGDQwgrgENA0HUiQtBADYCAEHKECAAIAEgAhAEIbABQdSJCygCACGvAUHUiQtBADYCACCvAUEBRg0MILABDQNB1IkLQQA2AgBByxAgACABIAIQBCGyAUHUiQsoAgAhsQFB1IkLQQA2AgAgsQFBAUYNDCCyAQ0DQdSJC0EANgIAQcwQIAAgASACEAQhtAFB1IkLKAIAIbMBQdSJC0EANgIAILMBQQFGDQwgtAENA0HUiQtBADYCAEHNECAAIAEgAhAEIbYBQdSJCygCACG1AUHUiQtBADYCACC1AUEBRg0MILYBDQNB1IkLQQA2AgBBzhAgACABIAIQBCG4AUHUiQsoAgAhtwFB1IkLQQA2AgAgtwFBAUYNDCC4AQ0DQdSJC0EANgIAQboCIAVBgAFqIgEgAhADQdSJCygCACECQdSJC0EANgIAAkACQCACQQFHBEBB1IkLQQA2AgBB/AEgAUHN6AYQAiEBQdSJCygCACG5AUHUiQtBADYCACC5AUEBRg0BIAUgASgCCDYCMCAFIAEpAgA3AyggAUIANwIAIAFBADYCCEHUiQtBADYCAEGwAiAAIAVBKGoQA0HUiQsoAgAhugFB1IkLQQA2AgAgugFBAUcNIhAAIQAgBSwAM0EATg0CIAUoAigQWgwCCxAAIQAMIAsQACEACyAFLACLAUEATg0eIAUoAoABEFoMHgtB1IkLQQA2AgBBsxAgABAGIQJB1IkLKAIAIQNB1IkLQQA2AgACQAJAIANBAUYNAEHUiQtBADYCAEHPECAAIAEgAhAEIbwBQdSJCygCACG7AUHUiQtBADYCACC7AUEBRg0AQfsBIQYgvAENBEHUiQtBADYCAEHQECAAIAEgAhAEIb4BQdSJCygCACG9AUHUiQtBADYCACC9AUEBRg0AIL4BDQRB1IkLQQA2AgBB0RAgACABIAIQBCHAAUHUiQsoAgAhvwFB1IkLQQA2AgAgvwFBAUYNACDAAQ0EQdSJC0EANgIAQdIQIAAgASACEAQhwgFB1IkLKAIAIcEBQdSJC0EANgIAIMEBQQFGDQAgwgENBEHUiQtBADYCAEGmECAAIAEgAhAEIcQBQdSJCygCACHDAUHUiQtBADYCACDDAUEBRg0AIMQBDQRB1IkLQQA2AgBB0xAgACABIAIQBCHGAUHUiQsoAgAhxQFB1IkLQQA2AgAgxQFBAUYNACDGAQ0EQdSJC0EANgIAQdQQIAAgASACEAQhyAFB1IkLKAIAIccBQdSJC0EANgIAIMcBQQFGDQAgyAENBEHUiQtBADYCAEHVECAAIAEgAhAEIcoBQdSJCygCACHJAUHUiQtBADYCACDJAUEBRg0AIMoBDQRB1IkLQQA2AgBB1hAgACABIAIQBCHMAUHUiQsoAgAhywFB1IkLQQA2AgAgywFBAUYNACDMAQ0EQdSJC0EANgIAQdcQIAAgASACEAQhzgFB1IkLKAIAIc0BQdSJC0EANgIAIM0BQQFGDQAgzgENBEHUiQtBADYCAEHYECAAIAEgAhAEIdABQdSJCygCACHPAUHUiQtBADYCACDPAUEBRg0AINABDQRB1IkLQQA2AgBB2RAgACABIAIQBCHSAUHUiQsoAgAh0QFB1IkLQQA2AgAg0QFBAUYNACDSAQ0EQdSJC0EANgIAQdoQIAAgASACEAQh1AFB1IkLKAIAIdMBQdSJC0EANgIAINMBQQFGDQAg1AENBEHUiQtBADYCAEHbECAAIAEgAhAEIdYBQdSJCygCACHVAUHUiQtBADYCACDVAUEBRg0AINYBDQRB1IkLQQA2AgBB3BAgACABIAIQBCHYAUHUiQsoAgAh1wFB1IkLQQA2AgAg1wFBAUYNACDYAQ0EQdSJC0EANgIAQd0QIAAgASACEAQh2gFB1IkLKAIAIdkBQdSJC0EANgIAINkBQQFGDQAg2gENBEHUiQtBADYCAEHeECAAIAEgAhAEIdwBQdSJCygCACHbAUHUiQtBADYCACDbAUEBRg0AINwBDQRB1IkLQQA2AgBB3xAgACABIAIQBCHeAUHUiQsoAgAh3QFB1IkLQQA2AgAg3QFBAUYNACDeAQ0EQdSJC0EANgIAQeAQIAAgASACEAQh4AFB1IkLKAIAId8BQdSJC0EANgIAIN8BQQFGDQAg4AENBEHUiQtBADYCAEHhECAAIAEgAhAEIeIBQdSJCygCACHhAUHUiQtBADYCACDhAUEBRg0AIOIBDQRB1IkLQQA2AgBB4hAgACABIAIQBCHkAUHUiQsoAgAh4wFB1IkLQQA2AgAg4wFBAUYNACDkAQ0EQdSJC0EANgIAQeMQIAAgASACEAQh5gFB1IkLKAIAIeUBQdSJC0EANgIAIOUBQQFGDQAg5gENBEHUiQtBADYCAEHkECAAIAEgAhAEIegBQdSJCygCACHnAUHUiQtBADYCACDnAUEBRg0AIOgBDQRB1IkLQQA2AgBB5RAgACABIAIQBCHqAUHUiQsoAgAh6QFB1IkLQQA2AgAg6QFBAUYNACDqAQ0EQdSJC0EANgIAQeYQIAAgASACEAQh7AFB1IkLKAIAIesBQdSJC0EANgIAIOsBQQFGDQAg7AENBEHUiQtBADYCAEHnECAAIAEgAhAEIe4BQdSJCygCACHtAUHUiQtBADYCACDtAUEBRg0AIO4BDQRB1IkLQQA2AgBB6BAgACABIAIQBCHwAUHUiQsoAgAh7wFB1IkLQQA2AgAg7wFBAUYNACDwAQ0EQdSJC0EANgIAQekQIAAgASACEAQh8gFB1IkLKAIAIfEBQdSJC0EANgIAIPEBQQFGDQAg8gENBEHUiQtBADYCAEHqECAAIAEgAhAEIfQBQdSJCygCACHzAUHUiQtBADYCACDzAUEBRg0AIPQBDQRB1IkLQQA2AgBB6xAgACABIAIQBCH2AUHUiQsoAgAh9QFB1IkLQQA2AgAg9QFBAUYNACD2AQ0EIAJBfnFBGkcNASAAKAIEIQNB1IkLQQA2AgBBDCADQRBBBBAEIQNB1IkLKAIAIfcBQdSJC0EANgIAIPcBQQFGDQAgA0LOADcCACABIAM2AgBB1IkLQQA2AgBBpRAgACADIAJB/wFxEAhB1IkLKAIAIfgBQdSJC0EANgIAIPgBQQFHDQQLEAAhAAweC0HUiQtBADYCAEG6AiAFQYABaiIBIAIQA0HUiQsoAgAhAkHUiQtBADYCAAJAAkAgAkEBRwRAQdSJC0EANgIAQfwBIAFB7ugGEAIhAUHUiQsoAgAh+QFB1IkLQQA2AgAg+QFBAUYNASAFIAEoAgg2AiAgBSABKQIANwMYIAFCADcCACABQQA2AghB1IkLQQA2AgBBsAIgACAFQRhqEANB1IkLKAIAIfoBQdSJC0EANgIAIPoBQQFHDSEQACEAIAUsACNBAE4NAiAFKAIYEFoMAgsQACEADB8LEAAhAAsgBSwAiwFBAE4NHSAFKAKAARBaDB0LQdSJC0EANgIAQewQIAAgASAGEAQh/AFB1IkLKAIAIfsBQdSJC0EANgIAIPsBQQFGDRsg/AENAUHUiQtBADYCAEHtECAAIAEgBhAEIf4BQdSJCygCACH9AUHUiQtBADYCACD9AUEBRg0bIP4BDQFB1IkLQQA2AgBB7hAgACABIAYQBCGAAkHUiQsoAgAh/wFB1IkLQQA2AgAg/wFBAUYNGyCAAg0BQdSJC0EANgIAQbQQIAAgASAGQQAQDSGCAkHUiQsoAgAhgQJB1IkLQQA2AgAggQJBAUYNGyCCAg0BQdSJC0EANgIAQbUQIAAgASAGQQAQDSGEAkHUiQsoAgAhgwJB1IkLQQA2AgAggwJBAUYNGyCEAg0BQdSJC0EANgIAQfsBIAVBgAFqIgEgBhADQdSJCygCACECQdSJC0EANgIAAkACQCACQQFHBEBB1IkLQQA2AgBB/AEgAUGq5QYQAiEBQdSJCygCACGFAkHUiQtBADYCACCFAkEBRg0BIAUgASgCCDYCECAFIAEpAgA3AwggAUIANwIAIAFBADYCCEHUiQtBADYCAEGwAiAAIAVBCGoQA0HUiQsoAgAhhgJB1IkLQQA2AgAghgJBAUcNIBAAIQAgBSwAE0EATg0CIAUoAggQWgwCCxAAIQAMHgsQACEACyAFLACLAUEATg0cIAUoAoABEFoMHAtB1IkLQQA2AgBBnRAgACACEANB1IkLKAIAIYcCQdSJC0EANgIAQREhBiCHAkEBRg0aCyABKAIAIgJFDQELIAUoAlwEQCAAKAJwIgRFBEBB1IkLQQA2AgBBzAEgBUHwAGpBiOoGEAIhAkHUiQsoAgAhiAJB1IkLQQA2AgAgiAJBAUYNGkHUiQtBADYCAEGNAiACQZTaAhACIQFB1IkLKAIAIYkCQdSJC0EANgIAIIkCQQFGDQogBSABKAIINgKIASAFIAEpAgA3A4ABIAFCADcCACABQQA2AghB1IkLQQA2AgBBsAIgACAFQYABahADQdSJCygCACGKAkHUiQtBADYCACCKAkEBRw0cEAAhACAFLACLAUEATg0NIAUoAoABEFoMDQtB1IkLQQA2AgAgBSgCVCEDQe0BIAVBgAFqIARB4ABqIAIgARAFQdSJCygCACGLAkHUiQtBADYCACCLAkEBRg0KIAUoAoABIgIgAygCGDYCFCACIAMpAhA3AgwLIAAtACJFDQAgACgCcCICRQ0AIAAoAiQhAyAAKAI4IQAgASgCACEEQdSJC0EANgIAQe8QIAVBgAFqIAJBjAFqIAQgARAFQdSJCygCACGMAkHUiQtBADYCACCMAkEBRg0KIAUoAoABIgEgAyAAazYCECABIA0gAGs2AgwLIAUoAlgQhAQgBUGgAWokACAGQf8BcQ8LEAAhAAwXCxAAIQAMEgsQACEADAkLEAAhAAwHCxAAIQAMEwsQACEADBILEAAhAAwRCxAAIQAMAgsQACEADA8LEAAhAAwOCyACLAALQQBODQ0gAigCABBaDA0LIAUsAHtBAE4NDCAFKAJwEFoMDAsgBSwAe0EATg0LIAUoAnAQWgwLC0HUiQtBADYCAEENIAMgBiACIAAQBUHUiQsoAgAhjQJB1IkLQQA2AgAgjQJBAUcNCwsQACEADAkLEAAhAAwIC0GIgwIhCkGW9gUhCAwFCxAAIQALIANFDQUgAxBaDAULEAAhAAJAIAUoApABIgIgBUGAAWoiAUYEQEEEIQYgASECDAELQQUhBiACRQ0FCyACIAIoAgAgBkECdGooAgARAQAMBAsgAiwAC0EATg0DIAIoAgAQWgwDC0GN3gAhA0GUBiEEQcWYAyEKQfDtBSEIC0HUiQtBADYCAEENIAggCiAEIAMQBUHUiQsoAgAhjgJB1IkLQQA2AgAgjgJBAUcNAgsQACEACyAFKAJYEIQEIAAQBwALAAv1DwIgfwJ+IwBBMGsiBCQAIAQgADYCDCAEQfiyBzYCCEHUiQtBADYCACAEIARBCGoiADYCGEGTECAAEAYhAEHUiQsoAgAhAUHUiQtBADYCAAJAAkACQAJAAkACQAJAAkACQAJAAkAgAUEBRg0AIABB/wBxIQEgAEEATgRAIABB/wFxIQAgAa0hIUI5ISIMAgsCQCAEKAIYIgBFDQAgACgCACgCGCEFQdSJC0EANgIAIAUgABAGIQBB1IkLKAIAIQZB1IkLQQA2AgAgBkEBRg0BIAEgAEEHdEGA/wBxciEBIABBAE4EQCAAQf8BcSEAIAGtISFCMiEiDAMLIAQoAhgiAEUNACAAKAIAKAIYIQdB1IkLQQA2AgAgByAAEAYhAEHUiQsoAgAhCEHUiQtBADYCACAIQQFGDQEgASAAQQ50QYCA/wBxciEBIABBAE4EQCAAQf8BcSEAIAGtISFCKyEiDAMLIAQoAhgiAEUNACAAKAIAKAIYIQlB1IkLQQA2AgAgCSAAEAYhAEHUiQsoAgAhCkHUiQtBADYCACAKQQFGDQEgASAAQRV0QYCAgP8AcXKtISEgAEEATgRAIABB/wFxIQBCJCEiDAMLIAQoAhgiAEUNACAAKAIAKAIYIQtB1IkLQQA2AgAgCyAAEAYhAEHUiQsoAgAhDEHUiQtBADYCACAMQQFGDQEgAEH/AHGtQhyGICGEISEgAEEATgRAIABB/wFxIQBCHSEiDAMLIAQoAhgiAEUNACAAKAIAKAIYIQ1B1IkLQQA2AgAgDSAAEAYhAEHUiQsoAgAhDkHUiQtBADYCACAOQQFGDQEgISAAQf8Aca1CI4aEISEgAEEATgRAIABB/wFxIQBCFiEiDAMLIAQoAhgiAEUNACAAKAIAKAIYIQ9B1IkLQQA2AgAgDyAAEAYhAEHUiQsoAgAhEEHUiQtBADYCACAQQQFGDQEgISAAQf8Aca1CKoaEISEgAEEATgRAIABB/wFxIQBCDyEiDAMLIAQoAhgiAEUNACAAKAIAKAIYIRFB1IkLQQA2AgAgESAAEAYhAEHUiQsoAgAhEkHUiQtBADYCACASQQFGDQEgISAAQf8Aca1CMYaEISEgAEEATgRAIABB/wFxIQBCCCEiDAMLIAQoAhgiAEUNACAAKAIAKAIYIRNB1IkLQQA2AgAgEyAAEAYhAEHUiQsoAgAhFEHUiQtBADYCACAUQQFGDQEgISAAQf8Aca1COIaEISEgAEEATgRAIABB/wFxIQBCASEiDAMLIAQoAhgiAEUNACAAKAIAKAIYIRVB1IkLQQA2AgAgFSAAEAYhAEHUiQsoAgAhFkHUiQtBADYCACAWQQFGDQEgAEEATiIBQQEgAEH+AHEbBEAgAQRAICEgAEH/AXGtQj+GhCEhDAULQRQQciEAQdSJC0EANgIAQcwBIARBJGpBvzcQAiEBQdSJCygCACEXQdSJC0EANgIAIBdBAUcEQAJAAkAgASwAC0EATgRAIAAgASkCADcCACAAIAEoAgg2AggMAQsgASgCBCECIAEoAgAhA0HUiQtBADYCAEHUACAAIAMgAhAIQdSJCygCACEYQdSJC0EANgIAQQEhAiAYQQFGDQELIABCfzcCDEEAIQJB1IkLQQA2AgBBzQEgAEHAighBzgEQCEHUiQsoAgAhGUHUiQtBADYCACAZQQFHDQ4LEAAhAyABLAALQQBIBEAgASgCABBaCyACDQcMDAsQACEDIAAQbgwLC0EUEHIhAEHUiQtBADYCAEHMASAEQSRqQceWBRACIQFB1IkLKAIAIRpB1IkLQQA2AgAgGkEBRwRAAkACQCABLAALQQBOBEAgACABKQIANwIAIAAgASgCCDYCCAwBCyABKAIEIQIgASgCACEDQdSJC0EANgIAQdQAIAAgAyACEAhB1IkLKAIAIRtB1IkLQQA2AgBBASECIBtBAUYNAQsgAEJ/NwIMQQAhAkHUiQtBADYCAEHNASAAQcCKCEHOARAIQdSJCygCACEcQdSJC0EANgIAIBxBAUcNDQsQACEDIAEsAAtBAEgEQCABKAIAEFoLIAINBgwLCxAAIQMgABBuDAoLQdSJC0EANgIAQcUAEAlB1IkLKAIAIR1B1IkLQQA2AgAgHUEBRw0KCxAAIQMMCAsgAEHAAHFFDQAgISAihiAihyIhQgBZDQELIAQoAhgiACAEQQhqIgFHDQJBBCEDIAEhAAwDC0EUEHIhAEHUiQtBADYCAEHMASAEQSRqQZ/NAxACIQFB1IkLKAIAIR5B1IkLQQA2AgAgHkEBRg0EAkACQCABLAALQQBOBEAgACABKQIANwIAIAAgASgCCDYCCAwBCyABKAIEIQIgASgCACEDQdSJC0EANgIAQdQAIAAgAyACEAhB1IkLKAIAIR9B1IkLQQA2AgBBASECIB9BAUYNAQsgAEJ/NwIMQQAhAkHUiQtBADYCAEHNASAAQcCKCEHOARAIQdSJCygCACEgQdSJC0EANgIAICBBAUcNBwsQACEDIAEsAAtBAEgEQCABKAIAEFoLIAJFDQULIAAQbgwEC0EFIQMgAEUNAQsgACAAKAIAIANBAnRqKAIAEQEACyAEQTBqJAAgIQ8LEAAhAyAAEG4LAkACQCAEKAIYIgAgBEEIaiIBRgRAQQQhAiABIQAMAQtBBSECIABFDQELIAAgACgCACACQQJ0aigCABEBAAsgAxAHAAsAC5oLAh1/AX4jAEEwayICJAAgAiAANgIMIAJBsLIHNgIIQdSJC0EANgIAIAIgAkEIaiIANgIYQZIQIAAQBiEAQdSJCygCACEBQdSJC0EANgIAAkACQCABQQFGDQAgAMAiAK1C/wCDIR4CQAJAAkACQAJAAkACQAJAAkACQAJAIABBAE4NACACKAIYIgBFDQkgACgCACgCGCEFQdSJC0EANgIAIAUgABAGIQdB1IkLKAIAIQZB1IkLQQA2AgAgBkEBRg0LIAfAIgCtQv8Ag0IHhiAehCEeIABBAE4NACACKAIYIgBFDQkgACgCACgCGCEIQdSJC0EANgIAIAggABAGIQBB1IkLKAIAIQlB1IkLQQA2AgAgCUEBRg0LIB4gAMAiAK1C/wCDQg6GhCEeIABBAE4NACACKAIYIgBFDQkgACgCACgCGCEKQdSJC0EANgIAIAogABAGIQBB1IkLKAIAIQtB1IkLQQA2AgAgC0EBRg0LIB4gAMAiAK1C/wCDQhWGhCEeIABBAE4NACACKAIYIgBFDQkgACgCACgCGCEMQdSJC0EANgIAIAwgABAGIQBB1IkLKAIAIQ1B1IkLQQA2AgAgDUEBRg0LIB4gAMAiAK1C/wCDQhyGhCEeIABBAE4NACACKAIYIgBFDQkgACgCACgCGCEOQdSJC0EANgIAIA4gABAGIQBB1IkLKAIAIQ9B1IkLQQA2AgAgD0EBRg0LIB4gAMAiAK1C/wCDQiOGhCEeIABBAE4NACACKAIYIgBFDQkgACgCACgCGCEQQdSJC0EANgIAIBAgABAGIQBB1IkLKAIAIRFB1IkLQQA2AgAgEUEBRg0LIB4gAMAiAK1C/wCDQiqGhCEeIABBAE4NACACKAIYIgBFDQkgACgCACgCGCESQdSJC0EANgIAIBIgABAGIQBB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRg0LIB4gAMAiAK1C/wCDQjGGhCEeIABBAE4NACACKAIYIgBFDQkgACgCACgCGCEUQdSJC0EANgIAIBQgABAGIQBB1IkLKAIAIRVB1IkLQQA2AgAgFUEBRg0LIB4gAMAiAK1C/wCDQjiGhCEeIABBAE4NACACKAIYIgBFDQkgACgCACgCGCEWQdSJC0EANgIAIBYgABAGIRhB1IkLKAIAIRdB1IkLQQA2AgAgF0EBRg0LIBjAIgBB/gBxDQYgAEEASA0BIB4gAK1CP4aEIR4LIAIoAhgiACACQQhqIgFHDQFBBCEDIAEhAAwCC0EUEHIhAEHUiQtBADYCAEHMASACQSRqQb83EAIhBEHUiQsoAgAhGUHUiQtBADYCACAZQQFGDQMMBQtBBSEDIABFDQELIAAgACgCACADQQJ0aigCABEBAAsgAkEwaiQAIB4PCxAAIQMgABBuDAYLQRQQciEAQdSJC0EANgIAQcwBIAJBJGpBx5YFEAIhBEHUiQsoAgAhGkHUiQtBADYCACAaQQFGDQELAkACQCAELAALQQBOBEAgACAEKQIANwIAIAAgBCgCCDYCCAwBCyAEKAIEIQEgBCgCACEDQdSJC0EANgIAQdQAIAAgAyABEAhB1IkLKAIAIRtB1IkLQQA2AgBBASEBIBtBAUYNAQsgAEJ/NwIMQQAhAUHUiQtBADYCAEHNASAAQcCKCEHOARAIQdSJCygCACEcQdSJC0EANgIAIBxBAUcNAwsQACEDIAQsAAtBAEgEQCAEKAIAEFoLIAFFDQQgABBuDAQLEAAhAyAAEG4MAwtB1IkLQQA2AgBBxQAQCUHUiQsoAgAhHUHUiQtBADYCACAdQQFGDQELAAsQACEDCwJAAkAgAigCGCIAIAJBCGoiAUYEQEEEIQQgASEADAELQQUhBCAARQ0BCyAAIAAoAgAgBEECdGooAgARAQALIAMQBwALsCMBNH8jAEGwAWsiBCQAAkAgASgChAEiB0GAAnFFDQAgACgCJCIDIAAoAigiCUYNAAJAAkACQAJAAkACQAJAAkACQANAAkACQAJAAkACfwJAIAMoAgAiAkEHSSIMRQRAIAJBBGoiBSgCAA0BIAIoAgwgAigCCGtBAnUiCEUNBCACQQhqDAILIAJFIggNAyAIDQcgAkEARyEIIAJBCGohBiACQQRqIQUMAgsgAkEARyEIIAJBCGoLIQYgAkUhCgJAIAIoAgRFBEAgBigCACgCACECDAELIAoNBgsgAkEHSQ0AIAIoAgRBAUcNACACKAIMRQ0CC0EBIQIgCEEBRg0AA0AgDA0FIAUoAgANBQJAIAYoAgAgAkECdGooAgAiCkEHSQ0AIAooAgRBAUcNACAKKAIMRQ0DCyACQQFqIgIgCEcNAAsLIANBBGoiAyAJRw0CIAtBAXENAQwMC0EBIQsgA0EEaiIDIAlHDQELCyAEQTBqIAAgB0EBEPYPIQwgBEIANwMgIARCADcDGCAEQYCAgPwDNgIoIAwoAgAiAiAMQQRqIgpGDQMDQCACKAIQIQhB1IkLQQA2AgBBjRAgBEE8aiAEQRhqIAggCBAFQdSJCygCACEDQdSJC0EANgIAAkACQAJAAkAgA0EBRwRAQdSJC0EANgIAQbkBIAAgCBACIQNB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRg0BAkAgA0EHSQ0AIAMoAgRBAUcNACADKAIMRQ0FC0HUiQtBADYCAEG5ASAAIAgQAiEDQdSJCygCACEUQdSJC0EANgIAIBRBAUYNAiADQQdPBEAgAygCBEUNBQtB1IkLQQA2AgBBDUHWmAZBtagCQdQCQfa7ARAFQdSJCygCACEVQdSJC0EANgIAIBVBAUYNAwwOCxAAIQIMDAsQACECDAsLEAAhAgwKCxAAIQIMCQtBj+IDIQVB2wkhBkG4swIhA0HhlQYhBwJAAkAgACgCHCIJQRBJDQAgCSgCEA0AAn8CQCAJKAIUIgNBB0kNACADKAIEDQAgAygCDCADKAIIa0ECdQwBCyADQQBHCyIDIAAoAiggACgCJGtBAnVqIAhLDQFBo+gCIQVBgwshBkGkpAIhA0HmggYhBwtB1IkLQQA2AgBBDSAHIAMgBiAFEAVB1IkLKAIAIRZB1IkLQQA2AgAgFkEBRw0KEAAhAgwJCyADIAhLBEBB1IkLQQA2AgBBDUHR2QVBtagCQdUCQfa7ARAFQdSJCygCACEXQdSJC0EANgIAIBdBAUcNChAAIQIMCQsCQCACIggoAgQiAwRAA0AgAyICKAIAIgMNAAwCCwALA0AgCCgCCCICKAIAIAhHIRggAiEIIBgNAAsLIAIgCkcNAAsgBCgCJEUNAyAEQQA2AhQgBEIANwIMIARCADcClAEgBEIANwKcASAEQoCAgICAATcCpAFB1IkLQQA2AgAgBEIANwI8IAQgBEEMajYCrAFBjhAgBEE8aiAAQTBqIgcQA0HUiQsoAgAhGUHUiQtBADYCACAZQQFGDQYgBCgClAEiAgRAIAQgAjYCmAEgAhBaCyAEKAIMIgYgBCgCECILRg0CA0ACQAJAIAYoAgAiDSgCACIKKAIAQQhHBEBB1IkLQQA2AgBBDUHw7QVBxZgDQZQGQY3eABAFQdSJCygCACEaQdSJC0EANgIAIBpBAUcNDAwBCyAEKAIcIgVFDQEgCigCCCEIAkAgBWlBAUsiCUUEQCAFQQFrIAhxIQMMAQsgCCIDIAVJDQAgAyAFcCEDCyAEKAIYIANBAnRqKAIAIgJFDQEgAigCACICRQ0BAkAgCUUEQCAFQQFrIQUDQAJAIAIoAgQiCSAIRwRAIAUgCXEgA0YNAQwGCyACKAIIIAhGDQMLIAIoAgAiAg0ACwwDCwNAAkAgAigCBCIJIAhHBEAgBSAJTQR/IAkgBXAFIAkLIANGDQEMBQsgAigCCCAIRg0CCyACKAIAIgINAAsMAgtB1IkLQQA2AgBBjxAgCiABEAIhAkHUiQsoAgAhG0HUiQtBADYCACAbQQFHBEAgDSACNgIADAILCxAAIQIgBCgCDCIARQ0JIAQgADYCECAAEFoMCQsgCyAGQQRqIgZHDQALDAELQd3DBkG4swJB2AhBoNYFEAEACyAEKAIMIQYLIAYEQCAEIAY2AhAgBhBaCyAEQQA2AhQgBEIANwIMIARCADcClAEgBEIANwKcASAEQoCAgICQATcCpAFB1IkLQQA2AgAgBEIANwI8IAQgBEEMajYCrAFBjhAgBEE8aiAHEANB1IkLKAIAIRxB1IkLQQA2AgAgHEEBRg0CIAQoApQBIgIEQCAEIAI2ApgBIAIQWgsgBCgCDCIIIAQoAhAiEUcEQCABQagBaiEJAkADQAJAIAgoAgAiECgCACIKKAIAQQlHBEBB1IkLQQA2AgBBDUHw7QVBxZgDQZQGQY3eABAFQdSJCygCACEdQdSJC0EANgIAIB1BAUcNChAAIQIMAQtBj+IDIQJB2wkhA0G4swIhB0HhlQYhCwJAAkAgACgCHCIGQRBJDQAgBigCEA0AIAooAggiAgJ/AkAgBigCFCIDQQdJDQAgAygCBA0AIAMoAgwgAygCCGtBAnUMAQsgA0EARwsiAyAAKAIoIAAoAiRrQQJ1akkNAUHzgAIhAkGJCyEDQaSkAiEHQYGDBiELC0HUiQtBADYCAEENIAsgByADIAIQBUHUiQsoAgAhHkHUiQtBADYCACAeQQFHDQoQACECDAELAkAgAiADSQ0AIAooAgRBAkkNACAEKAIcIgZFDQAgBCgCGAJ/IAZBAWsgAnEgBmlBAUsiBUUNABogAiACIAZJDQAaIAIgBnALIgdBAnRqKAIAIgNFDQAgAygCACIDRQ0AAkAgBUUEQCAGQQFrIQYDQAJAIAMoAgQiBSACRwRAIAUgBnEgB0YNAQwFCyADKAIIIAJGDQMLIAMoAgAiAw0ACwwCCwNAAkAgAygCBCIFIAJHBEAgBSAGTwR/IAUgBnAFIAULIAdGDQEMBAsgAygCCCACRg0CCyADKAIAIgMNAAsMAQtB1IkLQQA2AgBBuQEgACACEAIhBUHUiQsoAgAhAkHUiQtBADYCAAJAAkAgAkEBRwRAQdSJC0EANgIAQZAQIAUQBiELQdSJCygCACECQdSJC0EANgIAAkACQAJAIAJBAUYNACAFQQdJDQECQCAFKAIEDgIDAAILIAogCzYCBEHUiQtBADYCAEEMIAlBEEEEEAQhAkHUiQsoAgAhH0HUiQtBADYCACAfQQFGDQAgAiAKNgIMIAJBADYCCCACQs4ANwIAQdSJC0EANgIAQdgFIAIQCkHUiQsoAgAhIEHUiQtBADYCACAgQQFGDQAgECACNgIADAYLEAAhAgwGC0HUiQtBADYCAEENQceYBkG1qAJB+AJB9rsBEAVB1IkLKAIAISFB1IkLQQA2AgAgIUEBRw0OEAAhAgwFCyAKQQA2AgRBASECIAogCigCDCgCBEEBRjYCBAJAAkACfwJAIAUoAgQNACAFKAIMIAUoAghrQQJ1IgJFBEBBACEGQQAMAgsgAkGAgICABEkNAEHUiQtBADYCAEEOEAlB1IkLKAIAISJB1IkLQQA2AgAgIkEBRw0REAAhAgwIC0HUiQtBADYCAEEEIAJBAnQiAhAGIQZB1IkLKAIAISNB1IkLQQA2AgAgI0EBRg0BIAZBACAC/AsAIAIgBmoLIQ1BASEPIAUoAgRFBEAgBSgCDCAFKAIIa0ECdSIPRQ0ECyAKKAIIIQJB1IkLQQA2AgBBDCAJQQxBBBAEIQNB1IkLKAIAISRB1IkLQQA2AgAgJEEBRg0EIAMgAjYCCCADQQg2AgAgAyALNgIEQdSJC0EANgIAQQwgCUEQQQQQBCECQdSJCygCACElQdSJC0EANgIAICVBAUYNBCACQQA2AgwgAiADNgIIIAJCOTcCAEHUiQtBADYCAEGRECACEApB1IkLKAIAISZB1IkLQQA2AgAgJkEBRg0EIAYgAjYCAAJAIAUiAygCBEUEQCADKAIIKAIAIgNBB0kNAQsgAygCBEEBRw0AIAMoAgwNAEHUiQtBADYCAEEMIAlBEEEEEAQhA0HUiQsoAgAhJ0HUiQtBADYCACAnQQFGDQUgAyACNgIMIANBADYCCCADQs4ANwIAQdSJC0EANgIAQdgFIAMQCkHUiQsoAgAhKEHUiQtBADYCACAoQQFGDQUgBiADNgIAC0EBIQMgD0EBRw0BDAMLEAAhAgwFCwNAIAooAgghAkHUiQtBADYCAEEMIAlBDEEEEAQhB0HUiQsoAgAhKUHUiQtBADYCACApQQFGDQMgByACNgIIIAdBCDYCACAHIAs2AgRB1IkLQQA2AgBBDCAJQRBBBBAEIQJB1IkLKAIAISpB1IkLQQA2AgAgKkEBRg0DIAIgAzYCDCACIAc2AgggAkI5NwIAQdSJC0EANgIAQZEQIAIQCkHUiQsoAgAhK0HUiQtBADYCACArQQFGDQMgBiADQQJ0IgdqIg4gAjYCACAFKAIERQRAAkAgBSgCCCAHaigCACIHQQdJDQAgBygCBEEBRw0AIAcoAgwNAEHUiQtBADYCAEEMIAlBEEEEEAQhB0HUiQsoAgAhLEHUiQtBADYCACAsQQFGDQUgByACNgIMIAdBADYCCCAHQs4ANwIAQdSJC0EANgIAQdgFIAcQCkHUiQsoAgAhLUHUiQtBADYCACAtQQFGDQUgDiAHNgIACyADQQFqIgMgD0YNAwwBCwtB1IkLQQA2AgBBDUHdwwZBuLMCQdgIQaDWBRAFQdSJCygCACEuQdSJC0EANgIAIC5BAUcNDRAAIQIgBhBaDAQLEAAhAgwDC0HUiQtBADYCAEEMIAlBGEEEEAQhBUHUiQsoAgAhAkHUiQtBADYCAAJAIAJBAUYNACAFQgA3AgQgBUE4NgIAIAVCADcCDCAFIAk2AhQgDSAGayICQQJ1IQcgBiANRwRAIAUgBzYCEEHUiQtBADYCAEEMIAkgAkEEEAQhAkHUiQsoAgAhL0HUiQtBADYCACAvQQFGDQEgBSACNgIIQQAhAiAGIQMDQCAFKAIIIAJBAnRqIAMoAgA2AgAgAkEBaiECIANBBGoiAyANRw0ACwsgBSAHNgIMQdSJC0EANgIAQfACIAUQCkHUiQsoAgAhMEHUiQtBADYCACAwQQFGDQBB1IkLQQA2AgBBggMgASAKIAVBAEEAEBMhAkHUiQsoAgAhMUHUiQtBADYCACAxQQFGDQAgECACNgIAIAZFDQIgBhBaDAILCxAAIQIgBkUNASAGEFoMAQsgESAIQQRqIghHDQEMAgsLIAQoAgwiAEUNBiAEIAA2AhAgABBaDAYLIAQoAgwhCAsgCARAIAQgCDYCECAIEFoLIAQoAiAiAkUNAANAIAIoAgghA0HUiQtBADYCAEG5ASAAIAMQAiEBQdSJCygCACEyQdSJC0EANgIAIDJBAUYNAkHUiQtBADYCAEGQECABEAYhCEHUiQsoAgAhM0HUiQtBADYCACAzQQFGDQICfwJAAkAgACgCHCIBQRBJDQAgASgCEA0AIAEoAhQiAUEHSQ0BIAEoAgQNASABKAIMIAEoAghrQQJ1DAILQdSJC0EANgIAQQ1B4ZUGQbizAkHbCUGP4gMQBUHUiQsoAgAhNEHUiQtBADYCACA0QQFHDQgQACECDAcLIAFBAEcLIQEgACgCJCADIAFrQQJ0aiAINgIAIAIoAgAiAg0ACwsgBCgCICICBEADQCACKAIAITUgAhBaIDUiAg0ACwsgBCgCGCEAIARBADYCGCAABEAgABBaCyAMKAIEEG8MBQsQACECDAILEAAhAiAEKAKUASIABEAgBCAANgKYASAAEFoLIAQoAgwiAEUNASAEIAA2AhAgABBaDAELEAAhAiAEKAKUASIABEAgBCAANgKYASAAEFoLIAQoAgwiAEUNACAEIAA2AhAgABBaCyAEQRhqEKIBIAwoAgQQbyACEAcACwALIARBsAFqJAAL9AcBDH8jAEEQayIDJAACQAJAIAAoAgxFDQAgACgCECIBBEAgACgCJCABQQFrTQ0BIABBMGohBQNAIAAoAjAQhAQgACAFNgIsIABCADcCMAJAIAAoAnBFDQAgAC0AIARAQRwQXCIBIAAoAhw2AhggASAAKQIUNwIQIAEgBTYCCCABQgA3AgAgACABNgIsIAAgATYCMCABIAEQZyAAIAAoAjRBAWo2AjQMAQsgACAFNgIsCwJAIANBD2ogACgCDCIBQQAQ6AQtAABFDQACQAJAIAEgASgCAEEMaygCAGooAhgiAigCDCIEIAIoAhBGBEAgAigCACgCKCEIQdSJC0EANgIAIAggAhAGIQJB1IkLKAIAIQRB1IkLQQA2AgACfyAEQQFHBEAgAkF/Rw0DQQYMAQtBABALEA4aIAEgASgCAEEMayICKAIAaiIEIAQoAhBBAXI2AhAgASACKAIAai0AFEEBcQRAQdSJC0EANgIAQdUAEAlB1IkLKAIAIQlB1IkLQQA2AgAgCUEBRw0JEAAhA0HUiQtBADYCAEEcEAlB1IkLKAIAIQpB1IkLQQA2AgAgCkEBRw0EQQAQCxoQcAwJCxARQQELIQIgASABKAIAQQxrKAIAaiIBIAEoAhAgAnIQngUMAwsgAiAEQQFqNgIMIAQtAAAhAgsgASABKAIAQQxrKAIAaiIBIAEoAhAQngUgAkH/AXEiAUEsRg0BIAFBIkYEQCAAQQA2AhAMBQtBDBByIQFB1IkLQQA2AgBBzAEgA0Gk/AEQAiEAQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAAkACQCAALAALQQBOBEAgASAAKQIANwIAIAEgACgCCDYCCAwBCyAAKAIEIQIgACgCACEDQdSJC0EANgIAQdQAIAEgAyACEAhB1IkLKAIAIQtB1IkLQQA2AgBBASECIAtBAUYNAQtBACECQdSJC0EANgIAQc0BIAFBlLEHQbICEAhB1IkLKAIAIQxB1IkLQQA2AgAgDEEBRw0ICxAAIQMgACwAC0EASARAIAAoAgAQWgsgAkUNAgwBCxAAIQMLIAEQbgsgAxAHAAsgACAAKAIMEI8FIAAoAhBqNgIQAkACQCAAKAIMELEEQSJrDgsAAQEBAQEBAQEBAAELIABBADoAIAwDCyAAKAIMEI8FIQEgACgCFCECIAAoAgwQjwUhBCAAKAIYIQYgACgCDBCPBSEHIABBAToAICAAIAQgBmo2AhggACABIAJqNgIUIAAgByAAKAIcajYCHCAAKAIkIAAoAhBBAWtLDQALDAELIABBMGoiASgCABCEBCAAIAE2AiwgAEIANwIwCyADQRBqJAAPCwALkAEBAn8gAC0AC0GAAXFBB3YEfyAAKAIIQf////8HcUEBawVBCgsiAyACTwRAIAAhBCAAKAIAIAAgAC0AC0GAAXFBB3YbIQAgAgRAIAAgASAC/AoAAAsgBCAAIAIQrBIPCyAAIAMgAiADayAAKAIEIAAtAAsiAEH/AHEgAEGAAXFBB3YbIgBBACAAIAIgARDXBwunCwEUfyMAQSBrIgIkAEECIQMCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABBH2oOHw8OFRUVDQwVCwoJCAcGBQQQERIVFRUVFRUVAwIBABQTC0EDIQMMEwtBBCEDDBILQQUhAwwRC0EGIQMMEAsgAkEBNgIYIAJCgYCAgBA3AhAgAkEAOgAMQdSJC0EANgIAQQdB2J0LIAJBDGoiBBACIQNB1IkLKAIAIQVB1IkLQQA2AgAgBUEBRw0PDBELIAJBATYCGCACQgE3AhAgAkEAOgAMQdSJC0EANgIAQQdB2J0LIAJBDGoiBBACIQNB1IkLKAIAIQZB1IkLQQA2AgAgBkEBRw0ODBALIAJBATYCGCACQoGAgIAgNwIQIAJBADoADEHUiQtBADYCAEEHQdidCyACQQxqIgQQAiEDQdSJCygCACEHQdSJC0EANgIAIAdBAUcNDQwPCyACQQE2AhggAkKBgICAMDcCECACQQA6AAxB1IkLQQA2AgBBB0HYnQsgAkEMaiIEEAIhA0HUiQsoAgAhCEHUiQtBADYCACAIQQFHDQwMDgsgAkEBNgIYIAJCgYCAgMAANwIQIAJBADoADEHUiQtBADYCAEEHQdidCyACQQxqIgQQAiEDQdSJCygCACEJQdSJC0EANgIAIAlBAUcNCwwNCyACQQE2AhggAkKBgICA0AA3AhAgAkEAOgAMQdSJC0EANgIAQQdB2J0LIAJBDGoiBBACIQNB1IkLKAIAIQpB1IkLQQA2AgAgCkEBRw0KDAwLIAJBATYCGCACQoGAgIDgADcCECACQQA6AAxB1IkLQQA2AgBBB0HYnQsgAkEMaiIEEAIhA0HUiQsoAgAhC0HUiQtBADYCACALQQFHDQkMCwsgAkEBNgIYIAJCgYCAgPAANwIQIAJBADoADEHUiQtBADYCAEEHQdidCyACQQxqIgQQAiEDQdSJCygCACEMQdSJC0EANgIAIAxBAUcNCAwKCyACQQE2AhggAkKBgICAgAE3AhAgAkEAOgAMQdSJC0EANgIAQQdB2J0LIAJBDGoiBBACIQNB1IkLKAIAIQ1B1IkLQQA2AgAgDUEBRw0HDAkLIAJBATYCGCACQoGAgICQATcCECACQQA6AAxB1IkLQQA2AgBBB0HYnQsgAkEMaiIEEAIhA0HUiQsoAgAhDkHUiQtBADYCACAOQQFHDQYMCAsgAkEBNgIYIAJCgYCAgKABNwIQIAJBADoADEHUiQtBADYCAEEHQdidCyACQQxqIgQQAiEDQdSJCygCACEPQdSJC0EANgIAIA9BAUcNBQwHCyACQQE2AhggAkKBgICAsAE3AhAgAkEAOgAMQdSJC0EANgIAQQdB2J0LIAJBDGoiBBACIQNB1IkLKAIAIRBB1IkLQQA2AgAgEEEBRw0EDAYLIAJBATYCGCACQoGAgIDAATcCECACQQA6AAxB1IkLQQA2AgBBB0HYnQsgAkEMaiIEEAIhA0HUiQsoAgAhEUHUiQtBADYCACARQQFHDQMMBQsgAkEBNgIYIAJCgYCAgNABNwIQIAJBADoADEHUiQtBADYCAEEHQdidCyACQQxqIgQQAiEDQdSJCygCACESQdSJC0EANgIAIBJBAUcNAgwECyACQQE2AhggAkKBgICA4AE3AhAgAkEAOgAMQdSJC0EANgIAQQdB2J0LIAJBDGoiBBACIQNB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRw0BDAMLIABBgX5HDQEgAkEBNgIYIAJCgYCAgPABNwIQIAJBADoADEHUiQtBADYCAEEHQdidCyACQQxqIgQQAiEDQdSJCygCACEUQdSJC0EANgIAIBRBAUcNAAwCCyABIAM2AgBBASEECyACQSBqJAAgBA8LEAAhFSAEEHcgFRAHAAvkAQECfwJAAkAgAUUNACAAAn8gAUEBayACcSABaSIDQQFNDQAaIAIgASACSw0AGiACIAFwCyIEQQJ0aigCACIARQ0AIAAoAgAiAEUNACADQQFNBEAgAUEBayEBA0ACQCACIAAoAgQiA0cEQCABIANxIARGDQEMBAsgACgCCCACRg0ECyAAKAIAIgANAAsMAQsDQAJAIAIgACgCBCIDRwRAIAEgA00EfyADIAFwBSADCyAERg0BDAMLIAAoAgggAkYNAwsgACgCACIADQALC0GMnwZBiIMCQaQFQdssEAEACyAAKAIQC7oCAQR/AkACQAJAQQAgACgCBGsgACgCXCAAKAJYa0EDdUYEQCABKAIARQ0BIABBBGpBqA8gARBbQQAgACgCBCICayAAKAJcIgEgACgCWCIDa0EDdUcEQCAAQRRrIQQgAEEIaiEFA0ACQCABIANGBEAgAkUNBiAFIAJBAWsiAkEDdGoiAygCBCEBIAMoAgAhAyAAIAI2AgQMAQsgAUEIayICKAIAIQMgAigCBCEBIAAgAjYCXAsgACABNgIAIAEoAgBFDQUgBCABIAMRAABBACAAKAIEIgJrIAAoAlwiASAAKAJYIgNrQQN1Rw0ACwsPC0HNygVB05kDQcgCQdD4AhABAAtBgYMCQdOZA0G5AkGu9wIQAQALQd7EBUGwlANB2gBB/fsCEAEAC0H1ggJB05kDQc0CQdD4AhABAAuLAgIEfgJ/IAAgASACEOsDAkACQCADKQIAIgSnIAIpAgAiBacgBUIgiCIGpyIIIARCIIgiB6ciCSAIIAlJGxBeIghFBEAgBiAHVg0BDAILIAhBAE4NAQsgAiAENwIAIAMgBTcCAAJAIAIpAgAiBKcgASkCACIFpyAFQiCIIganIgMgBEIgiCIHpyIIIAMgCEkbEF4iA0UEQCAGIAdWDQEMAgsgA0EATg0BCyABIAQ3AgAgAiAFNwIAAkAgASkCACIEpyAAKQIAIgWnIAVCIIgiBqciAiAEQiCIIgenIgMgAiADSRsQXiICRQRAIAYgB1YNAQwCCyACQQBODQELIAAgBDcCACABIAU3AgALC5sDAgJ+BH8gACABIAIQ7AMCQAJAIAMoAgAiBiACKAIAIgdJDQAgBiAHSw0BIAMpAgQiBKcgAikCBCIFpyAFQiCIIgWnIgggBEIgiCIEpyIJIAggCUkbEF4iCEUEQCAEIAVUDQEMAgsgCEEATg0BCyACIAY2AgAgAyAHNgIAIAIpAgQhBCACIAMpAgQ3AgQgAyAENwIEAkAgAigCACIDIAEoAgAiBkkNACADIAZLDQEgAikCBCIEpyABKQIEIgWnIAVCIIgiBaciByAEQiCIIgSnIgggByAISRsQXiIHRQRAIAQgBVQNAQwCCyAHQQBODQELIAEgAzYCACACIAY2AgAgASkCBCEEIAEgAikCBDcCBCACIAQ3AgQCQCABKAIAIgIgACgCACIDSQ0AIAIgA0sNASABKQIEIgSnIAApAgQiBacgBUIgiCIFpyIGIARCIIgiBKciByAGIAdJGxBeIgZFBEAgBCAFVA0BDAILIAZBAE4NAQsgACACNgIAIAEgAzYCACAAKQIEIQQgACABKQIENwIEIAEgBDcCBAsL5AwCDn8CfSACQZXTx94FbCIEQRh2IARzQZXTx94FbEHUzJ76BnMiBEENdiAEc0GV08feBWwiBEEPdiAEcyEIAkAgAAJ/AkAgASgCBCIERQ0AAkAgBGkiBUEBTQRAIAggBEEBa3EhBgwBCyAIIgYgBEkNACAGIARwIQYLIAEoAgAgBkECdGooAgAiB0UNACAHKAIAIgdFDQAgBUEBTQRAIARBAWshBQNAAkAgCCAHKAIEIglHBEAgBSAJcSAGRw0EDAELIAcoAgggAkcNAEEADAQLIAcoAgAiBw0ACwwBCwNAAkAgCCAHKAIEIgVHBEAgBCAFTQR/IAUgBHAFIAULIAZHDQMMAQsgBygCCCACRw0AQQAMAwsgBygCACIHDQALC0EUEFwhByADKAIAIQIgB0IANwIMIAcgAjYCCCAHIAg2AgQgB0EANgIAIAFBCGohCSABKgIQIRIgASgCDEEBarMhEwJAAkAgBEUNACASIASzlCATXQ0AIAYhCAwBC0ECIQICQCAEIARBAWtxQQBHIARBA0lyIARBAXRyIgMCfyATIBKVjSISQwAAgE9dIBJDAAAAAGBxBEAgEqkMAQtBAAsiBiADIAZLGyIDQQFGDQAgAyADQQFrcUUEQCADIQIMAQtB1IkLQQA2AgBBFSADEAYhAkHUiQsoAgAhDUHUiQtBADYCACANQQFGDQMgASgCBCEECwJAAkAgAiAETQRAIAIgBE8NAiAEQQNJIQYCfyABKAIMsyABKgIQlY0iEkMAAIBPXSASQwAAAABgcQRAIBKpDAELQQALIQMCQAJAIAYNACAEaUEBSw0AIANBAUEgIANBAWtna3QgA0ECSRshBQwBC0HUiQtBADYCAEEVIAMQBiEFQdSJCygCACEOQdSJC0EANgIAIA5BAUYNBgsgBCACIAUgAiAFSxsiAk0EQCABKAIEIQQMAwsgAkUNAQsgAkGAgICABE8EQEHUiQtBADYCAEEDEAlB1IkLKAIAIQ9B1IkLQQA2AgAgD0EBRg0FAAtB1IkLQQA2AgBBBCACQQJ0EAYhBEHUiQsoAgAhEEHUiQtBADYCACAQQQFGDQQgASgCACEDIAEgBDYCACADBEAgAxBaCyABIAI2AgRBACEGQQAhBCACQQRPBEAgAkH8////A3EhBQNAIARBAnQiAyABKAIAakEANgIAIAEoAgAgA2pBADYCBCABKAIAIANqQQA2AgggASgCACADakEANgIMIARBBGoiBCAFRw0ACwsgAkEDcSIDBEADQCABKAIAIARBAnRqQQA2AgAgBEEBaiEEIAZBAWoiBiADRw0ACwsgASgCCCIERQRAIAIhBAwCCyAEKAIEIQMCQCACIAJBAWsiCnEEQCACIANNBEAgAyACcCEDCyABKAIAIANBAnRqIAk2AgAgBCgCACIGDQEgAiEEDAMLIAEoAgAgAyAKcSIDQQJ0aiAJNgIAIAQoAgAiBUUEQCACIQQMAwsDQAJAIAMgBSgCBCAKcSIGRgRAIAUhBAwBCyAGQQJ0IgsgASgCAGoiDCgCAARAIAQgBSgCADYCACAFIAEoAgAgC2ooAgAoAgA2AgAgASgCACALaigCACAFNgIADAELIAwgBDYCACAFIQQgBiEDCyAEKAIAIgUNAAsgAiEEDAILA0AgAiAGKAIEIgVNBEAgBSACcCEFCwJAIAMgBUYEQCAGIQQMAQsgBUECdCIKIAEoAgBqIgsoAgBFBEAgCyAENgIAIAYhBCAFIQMMAQsgBCAGKAIANgIAIAYgASgCACAKaigCACgCADYCACABKAIAIApqKAIAIAY2AgALIAQoAgAiBg0ACyACIQQMAQsgASgCACECQQAhBCABQQA2AgAgAgRAIAIQWgsgAUEANgIECyAEIARBAWsiAnFFBEAgAiAIcSEIDAELIAQgCEsNACAIIARwIQgLAkACQCABKAIAIAhBAnRqIgIoAgAiBUUEQCAHIAEoAgg2AgAgASAHNgIIIAIgCTYCACAHKAIAIgJFDQIgAigCBCEFAkAgBCAEQQFrIgJxRQRAIAIgBXEhBQwBCyAEIAVLDQAgBSAEcCEFCyABKAIAIAVBAnRqIQUMAQsgByAFKAIANgIACyAFIAc2AgALIAEgASgCDEEBajYCDEEBCzoABCAAIAc2AgAPCxAAIREgBxBaIBEQBwAL+hgCC38FfgJAAkACQAJAAkACQAJAA0ACQAJAIAEgAGtBA3UiCQ4GCQkIAQcGAAsgCUEYSA0DIAJFDQIgAUEIayEKIAAgCUEBdkEDdCIFaiEEAkAgCUGAAU0EQCAEIAAgChDrAwwBCyAAIAQgChDrAyAAQQhqIgYgBEEIayIHIAFBEGsQ6wMgAEEQaiAFIAZqIgUgAUEYaxDrAyAHIAQgBRDrAyAAKQIAIQ8gACAEKQIANwIAIAQgDzcCAAsgAkEBayECAkAgA0EBcSIMBEAgACkCACIRQiCIIhCnIQUgEachCQwBCwJAIABBCGspAgAiD6cgACkCACIRpyIJIBFCIIgiEKciBSAPQiCIIg+nIgQgBCAFSxsQXiIEBEAgBEEATg0BDAILIA8gEFQNAQsgAUEYayELIAFBEGshDQNAAkACQAJAIAApAgAiEqciCCABIgVBCGspAgAiD6cgD0IgiCIQpyIEIBJCIIgiD6ciByAEIAdJGxBeIgZFBEAgACEEIA8gEFQNAQwCCyAAIQQgBkEATg0BCwNAIAQpAgghECAEQQhqIQQCQCAIIBCnIBBCIIgiEKciBiAHIAYgB0kbEF4iBg0AQQAhBiAPIBBRDQBBASEGIA8gEFQNAwsgBkEATg0ACwwBCwNAIARBCGoiBCAFTw0BAkAgCCAEKQIAIhCnIBBCIIgiEKciBiAHIAYgB0kbEF4iBg0AQQAhBiAPIBBRDQBBASEGIA8gEFQNAgsgBkEATg0ACwsCQCAEIAVPDQADQCAIIAVBCGsiBSkCACIQpyAQQiCIIhCnIgYgByAGIAdJGxBeIgZFBEBBfyEGIA8gEFoNAgsgBkEASA0ACwsgBCAFSQRAIAUpAgAhESAEKQIAIRADQCAEIBE3AgAgBSAQNwIAA0ACQCAEKQIIIRAgBEEIaiEEAkAgCCAQpyAQQiCIIhGnIgYgByAGIAdJGxBeIgYNAEEAIQYgDyARUQ0AQQEhBiAPIBFUDQELIAZBAE4NAQsLA0ACQCAIIAVBCGsiBSkCACIRpyARQiCIIhOnIgYgByAGIAdJGxBeIgZFBEBBfyEGIA8gE1oNAQsgBkEASA0BCwsgBCAFSQ0ACwsgACAEQQhrIgVHBEAgACAFKQIANwIACyAFIBI3AgACQCABIAQiAGtBA3UiCQ4GCwsKAwkIAAsgCUEXTARAIAAgAUYNCyAAQQhqIgUgAUcNBwwLCyACRQ0EIAAgCUEBdkEDdCIFaiEEAkAgCUGBAU8EQCAAIAQgChDrAyAAQQhqIgYgBEEIayIHIA0Q6wMgAEEQaiAFIAZqIgUgCxDrAyAHIAQgBRDrAyAAKQIAIQ8gACAEKQIANwIAIAQgDzcCAAwBCyAEIAAgChDrAwsgAkEBayECIABBCGspAgAiD6cgACkCACIRpyIJIBFCIIgiEKciBSAPQiCIIg+nIgQgBCAFSxsQXiIERQRAIA8gEFoNAQwCCyAEQQBODQALCyAAIgohCwNAAkAgCyIIQQhqIQsgCCkCCCISpyAJIAUgEkIgiCIPpyIAIAAgBUsbEF4iBEUEQEF/IQQgDyAQWg0BCyAEQQBIDQELCyABIQcCQCAIIApGBEADQCAHIAtNDQICQCAHQQhrIgcpAgAiD6cgCSAFIA9CIIgiD6ciACAAIAVLGxBeIgQNAEEAIQQgDyAQUQ0AQQEhBCAPIBBUDQMLIARBAE4NAAwCCwALA0ACQCAHQQhrIgcpAgAiD6cgCSAFIA9CIIgiD6ciACAAIAVLGxBeIgQNAEEAIQQgDyAQUQ0AQQEhBCAPIBBUDQILIARBAE4NAAsLIAcgC0sEQCAHKQIAIQ8gCyEGIAchAANAIAYgDzcCACAAIBI3AgADQAJAIAYiCEEIaiEGIAgpAggiEqcgCSAFIBJCIIgiD6ciBCAEIAVLGxBeIgRFBEBBfyEEIA8gEFoNAQsgBEEASA0BCwsDQAJAAkAgAEEIayIAKQIAIg+nIAkgBSAPQiCIIhOnIgQgBCAFSxsQXiIEDQBBACEEIBAgE1ENAEEBIQQgECATVg0BCyAEQQBODQELCyAAIAZLDQALCyAIIApHBEAgCiAIKQIANwIACyAIIBE3AgAgByALTQRAIAogCBDgECEEIAhBCGoiACABEOAQBEAgCCEBIAohACAERQ0DDAoLIAQNAgsgCiAIIAIgDBDMCyAIQQhqIQBBACEDDAELCyAAIABBCGogAUEIaxDrAwwGCyAAIAFGDQUgCUECa0EBdiIKIQUDQAJAIAogBSIDSA0AIAAgBUEDdGohBiAAIAVBAXQiBEEBciICQQN0aiEFAkAgCSAEQQJqIgRMBEAgAiEEDAELAkAgBSkCACIPpyAFKQIIIhCnIBBCIIgiEKciByAPQiCIIg+nIgggByAISRsQXiIHRQRAIA8gEFQNASACIQQMAgsgB0EASA0AIAIhBAwBCyAFQQhqIQULAkAgBSkCACIPpyAGKQIAIhGnIgsgEUIgiCIQpyIHIA9CIIgiEqciAiACIAdLGxBeIgJFBEAgECASWA0BDAILIAJBAEgNAQsDQAJAIAYhDiAFIQYgDiAPNwIAIAQgCkoNACAAIARBAXQiBEEBciICQQN0aiEFAkAgCSAEQQJqIgRMBEAgAiEEDAELAkAgBSkCACIPpyAFKQIIIhKnIBJCIIgiEqciCCAPQiCIIg+nIgwgCCAMSRsQXiIIRQRAIA8gElQNASACIQQMAgsgCEEASA0AIAIhBAwBCyAFQQhqIQULAkAgBSkCACIPpyALIAcgD0IgiCISpyICIAIgB0sbEF4iCA0AQQAhCCAQIBJRDQBBASEIIBAgElYNAQsgCEEATg0BCwsgBiARNwIACyADQQFrIQUgAw0ACwNAAkAgCSIDQQJIDQAgCUECa0EBdiEKIAApAgAhD0EAIQUgACEEA0AgBUEBdCIHQQFyIQIgBCIGIAVBA3RqIgVBCGohBAJAIAMgB0ECaiIHTARAIAIhBQwBCwJAIAUpAggiEKcgBUEQaiIIKQIAIhGnIBFCIIgiEaciBSAQQiCIIhCnIgsgBSALSRsQXiILRQRAIAIhBSAQIBFUDQEMAgsgAiEFIAtBAE4NAQsgCCEEIAchBQsgBiAEKQIANwIAIAUgCkwNAAsgAUEIayICIARGBEAgBCAPNwIADAELIAQgAikCADcCACACIA83AgAgBCAAa0EIakEDdSICQQJIDQACQCAAIAJBAmtBAXYiBUEDdGoiBikCACIPpyAEKQIAIhCnIgggEEIgiCIRpyIHIA9CIIgiEqciAiACIAdLGxBeIgJFBEAgESASVg0BDAILIAJBAE4NAQsDQAJAIAYhAiAEIA83AgAgBUUNACAAIAVBAWtBAXYiBUEDdGoiBikCACIPpyAIIAcgD0IgiCISpyIEIAQgB0sbEF4iCUUEQEF/IQkgESASWA0BCyACIQQgCUEASA0BCwsgAiAQNwIACyADQQFrIQkgAUEIayEBIANBAksNAAsMBQsgACABRiAAQQhqIgUgAUZyIQIgA0EBcQRAIAINBSAAIQcDQCAHIQQgBSEHAkACQCAEKQIIIhCnIgMgBCkCACIPpyAPQiCIIhKnIgUgEEIgiCIRpyICIAIgBUsbEF4iBUUEQCARIBJUDQEMAgsgBUEATg0BCyAHIQYDQAJAIAYgDzcCACAAIAQiBUYEQCAAIQUMAQsgAyAFQQhrIgQpAgAiD6cgD0IgiCISpyIGIAIgAiAGSxsQXiIJRQRAQX8hCSARIBJaDQELIAUhBiAJQQBIDQELCyAFIBA3AgALIAdBCGoiBSABRw0ACwwFCyACDQQLA0AgACEEAkACQCAFIgApAgAiEKciAyAEKQIAIg+nIA9CIIgiEqciBSAQQiCIIhGnIgIgAiAFSxsQXiIFRQRAIBEgElQNAQwCCyAFQQBODQELIAAhCANAAkAgCCAPNwIAIAMgBCIIQQhrIgQpAgAiD6cgD0IgiCISpyIFIAIgAiAFSxsQXiIFRQRAQX8hBSARIBJaDQELIAVBAEgNAQsLIAggEDcCAAsgAEEIaiIFIAFHDQALDAMLIAAgAEEIaiAAQRBqIABBGGogAUEIaxDfEA8LIAAgAEEIaiAAQRBqIAFBCGsQyQsPCwJAIAFBCGsiASkCACIPpyAAKQIAIhCnIBBCIIgiEaciAiAPQiCIIhKnIgMgAiADSRsQXiICRQRAIBEgElYNAQwCCyACQQBODQELIAAgDzcCACABIBA3AgALC8oHAgp/An0gAkGV08feBWwiBEEYdiAEc0GV08feBWxBqJm99H1zQZXTx94FbCIEQQ12IARzQZXTx94FbCIEQQ92IARzIQQCQCAAAn8CQCABKAIEIgVFDQAgASgCAAJ/IAVBAWsgBHEgBWkiCEEBTQ0AGiAEIAQgBUkNABogBCAFcAsiB0ECdGooAgAiBkUNACAGKAIAIgZFDQAgCEEBTQRAIAVBAWshCANAAkAgBCAGKAIEIglHBEAgCCAJcSAHRw0EDAELIAYoAgggAkcNAEEADAQLIAYoAgAiBg0ACwwBCwNAAkAgBCAGKAIEIghHBEAgBSAITQR/IAggBXAFIAgLIAdHDQMMAQsgBigCCCACRw0AQQAMAwsgBigCACIGDQALC0EQEFwhBiADKAIAIQIgBkEANgIMIAYgAjYCCCAGIAQ2AgQgBkEANgIAIAEqAhAhDiABKAIMQQFqsyEPAkACQCAFRQ0AIA4gBbOUIA9dDQAgByEEDAELQQIhAgJAIAUgBUEBa3FBAEcgBUEDSXIgBUEBdHIiAwJ/IA8gDpWNIg5DAACAT10gDkMAAAAAYHEEQCAOqQwBC0EACyIHIAMgB0sbIgNBAUYNACADIANBAWtxRQRAIAMhAgwBC0HUiQtBADYCAEEVIAMQBiECQdSJCygCACEKQdSJC0EANgIAIApBAUYNAyABKAIEIQULAkAgAiAFTQRAIAIgBU8NASAFQQNJIQcCfyABKAIMsyABKgIQlY0iDkMAAIBPXSAOQwAAAABgcQRAIA6pDAELQQALIQMCQAJAIAcNACAFaUEBSw0AIANBAUEgIANBAWtna3QgA0ECSRshBwwBC0HUiQtBADYCAEEVIAMQBiEHQdSJCygCACELQdSJC0EANgIAIAtBAUYNBQsgAiAHIAIgB0sbIgIgBU8NAQtB1IkLQQA2AgBBwA4gASACEANB1IkLKAIAIQxB1IkLQQA2AgAgDEEBRg0DCyABKAIEIgUgBUEBayICcUUEQCACIARxIQQMAQsgBCAFSQ0AIAQgBXAhBAsCQAJAIAEoAgAgBEECdGoiAigCACIERQRAIAYgAUEIaiIDKAIANgIAIAEgBjYCCCACIAM2AgAgBigCACICRQ0CIAIoAgQhBAJAIAUgBUEBayICcUUEQCACIARxIQQMAQsgBCAFSQ0AIAQgBXAhBAsgASgCACAEQQJ0aiEEDAELIAYgBCgCADYCAAsgBCAGNgIACyABIAEoAgxBAWo2AgxBAQs6AAQgACAGNgIADwsQACENIAYQWiANEAcAC8wCAQV/AkACQAJAIAAoAgQgACgCACIEa0ECdSIFQQFqIgJBgICAgARJBEBB/////wMgACgCCCAEayIEQQF1IgYgAiACIAZJGyAEQfz///8HTxsiAgRAIAJBgICAgARPDQIgAkECdBBcIQMLIAEoAgAhBCABQQA2AgAgAyAFQQJ0aiIBIAQ2AgAgAyACQQJ0aiECIAFBBGohBCAAKAIEIgMgACgCACIFRg0CA0AgA0EEayIDKAIAIQYgA0EANgIAIAFBBGsiASAGNgIAIAMgBUcNAAsgACACNgIIIAAoAgQhAiAAIAQ2AgQgACgCACEDIAAgATYCACACIANGDQMDQCACQQRrIgIoAgAhACACQQA2AgAgAARAIAAQWgsgAiADRw0ACwwDCxBkAAsQagALIAAgAjYCCCAAIAQ2AgQgACABNgIACyADBEAgAxBaCwudAwEFfyMAQRBrIgQkAAJAAkACQCAAKAJgRQRAAkAgACgCACICBEAgAEEEaiEFIAEoAgAhBgNAIAUgA0EDdGooAgAgBkYNBCADQQFqIgMgAkcNAAsgAkELTw0EIAJBCkYNAQsgACACQQFqNgIAIAAgAkEDdGogASkCADcCBAwCCyAEQQhqIgMgAEHUAGoiAiAAKAIEIAApAgQQ4QIgAyACIAAoAgwgACkCDBDhAiADIAIgACgCFCAAKQIUEOECIAMgAiAAKAIcIAApAhwQ4QIgAyACIAAoAiQgACkCJBDhAiADIAIgACgCLCAAKQIsEOECIAMgAiAAKAI0IAApAjQQ4QIgAyACIAAoAjwgACkCPBDhAiADIAIgACgCRCAAKQJEEOECIAMgAiAAKAJMIAApAkwQ4QIgAyACIAEoAgAgASkCABDhAiAAKAJgRQ0DIABBADYCAAwBCyAEQQhqIABB1ABqIAEoAgAgASkCABDhAgsgBEEQaiQADwtB0ZAFQYuIA0E+QZ/gABABAAtBwqAGQYuIA0GsAUGf4AAQAQALsQIBBH8CQAJAIAAoAmBFBEAgACgCACIERQRAQQAPCyAAQQRqIgIoAgAgAUYNAUEAIQADQCAEIABBAWoiAEYEQEEADwsgAiAAQQN0aigCACABRw0ACyAAIARJDwsgACgCWCICRQ0BIAAoAlQCfyACQQFrIAFxIAJpIgNBAU0NABogASABIAJJDQAaIAEgAnALIgRBAnRqKAIAIgBFDQEgACgCACIARQ0BIANBAU0EQCACQQFrIQIDQAJAIAEgACgCBCIDRwRAIAIgA3EgBEcNBQwBCyAAKAIIIAFGDQMLIAAoAgAiAA0ACwwCCwNAAkAgASAAKAIEIgNHBEAgAiADTQR/IAMgAnAFIAMLIARHDQQMAQsgACgCCCABRg0CCyAAKAIAIgANAAsMAQtBASEFCyAFC9wCAQh/IwBB0ABrIgIkACACIAJBOGoiAzYCSCACQgA3AhQgAkIANwIcIAJCADcCJCACQQE6ADAgAkGAgID8AzYCLCACIAA2AgggAkGcuwc2AjggAkIANwIMQdSJC0EANgIAIAIgAkEIaiIANgI8QaYMIAAgARACIQRB1IkLKAIAIQZB1IkLQQA2AgAgBkEBRwRAAkACQCADIAIoAkgiAEYEQEEEIQEgAyEADAELQQUhASAARQ0BCyAAIAAoAgAgAUECdGooAgARAQALAkAgAi0AMEUNACACKAIkIgEEQANAIAEoAgAhCCABKAIcIgAEQANAIAAoAgAhByAAEFogByIADQALCyABKAIUIQAgAUEANgIUIAAEQCAAEFoLIAEQWiAIIgENAAsLIAIoAhwhACACQQA2AhwgAEUNACAAEFoLIAJB0ABqJAAgBA8LEAAhCSACQQhqEIsGIAkQBwALBABBAAuYAgEDfwJAIAMgACgCCCIFIAAoAgAiBGtNBEAgAyAAKAIEIgYgBGsiBUsEQCAEIAZHBEAgBCABIAX8CgAAIAAoAgQhBAsgAiABIAVqIgFrIQMgASACRwRAIAQgASAD/AoAAAsMAgsgAiABayEDIAEgAkcEQCAEIAEgA/wKAAALDAELIAQEQCAAIAQ2AgQgBBBaIABBADYCCCAAQgA3AgBBACEFCyADQQBOBEAgAEH/////ByAFQQF0IgQgAyADIARJGyAFQf////8DTxsiBBBcIgM2AgQgACADNgIAIAAgAyAEajYCCCACIAFrIQQgASACRwRAIAMgASAE/AoAAAsgACADIARqNgIEDwsQZAALIAAgAyAEajYCBAuFAQEDfyMAQRBrIgEkAAJAIAAtADgiAkH/AUYNACABQZIMNgIMIAFBkww2AgggAUGUDDYCBEHUiQtBADYCACABQQRqIAJBAnRqKAIAIAFBA2ogABADQdSJCygCACEDQdSJC0EANgIAIANBAUcNAEEAEAsaEHAACyAAQf8BOgA4IAFBEGokAAtJAQF/AkACQCAAKAIAIgJBB0kNACACKAIEDQAgAigCCCABQQJ0aiEADAELQQAgAiABGw0AQd3DBkG4swJB2AhBoNYFEAEACyAACzIBAX8gAARAIAAoAgAQ1gsgACgCBBDWCyAAKAIYIgEEQCAAIAE2AhwgARBaCyAAEFoLCwUAQdQAC0QBAX8gACgCLARAQQEhASAAIAAoAiQoAgRBAUcEfyAAKAIoKAIEQQFGBUEBCzYCBA8LQZuPBEGkpAJBzgJBssMDEAEACwUAQdAACwQAQRoLBABBGwsEAEEcC5IBAgV/AX4gAARAIAFCIIgiB6chBCABpyEFA0ACQAJAIAUgACkCECIBpyICIAFCIIgiAaciAyAEIAMgBEkbIgMQXiIGRQRAIAEgB1gNAQwCCyAGQQBIDQELAkAgAiAFIAMQXiICRQRAIAEgB1QNAUEBDwsgAkEASA0AQQEPCyAAQQRqIQALIAAoAgAiAA0ACwtBAAuWCAEKf0GAqAtBEEEIEF0iAkEDNgIAIAJBAxC0AiEJQYCoC0EQQQgQXSIHQQA2AgAgB0HoogspAwA3AgggCSgCAEECRgRAAkAgCSgCCCIDKAIAIQQCQCADKAIEIgUgAygCCEcEQCAEIQIMAQsgAyAFQQF0QQJqIgI2AgggA0GAqAsgAkECdEEEEF0iAjYCACADKAIEIgVFBEBBACEFDAELQQAhAiAFQQRPBEAgBUF8cSEKA0AgAkECdCIGIAMoAgBqIAQgBmooAgA2AgAgBkEEciILIAMoAgBqIAQgC2ooAgA2AgAgBkEIciILIAMoAgBqIAQgC2ooAgA2AgAgBkEMciIGIAMoAgBqIAQgBmooAgA2AgAgAkEEaiICIApHDQALCyAFQQNxIgYEQANAIAJBAnQiCiADKAIAaiAEIApqKAIANgIAIAJBAWohAiAIQQFqIgggBkcNAAsLIAMoAgAhAgsgAiAFQQJ0aiAHNgIAIAMgAygCBEEBajYCBCAJKAIAQQJHDQAgCSgCCCIDKAIAIQQCQCADKAIEIgUgAygCCEcEQCAEIQIMAQsgAyAFQQF0QQJqIgI2AgggA0GAqAsgAkECdEEEEF0iAjYCACADKAIEIgVFBEBBACEFDAELQQAhCEEAIQIgBUEETwRAIAVBfHEhBwNAIAJBAnQiBiADKAIAaiAEIAZqKAIANgIAIAZBBHIiCiADKAIAaiAEIApqKAIANgIAIAZBCHIiCiADKAIAaiAEIApqKAIANgIAIAZBDHIiBiADKAIAaiAEIAZqKAIANgIAIAJBBGoiAiAHRw0ACwsgBUEDcSIGBEADQCACQQJ0IgcgAygCAGogBCAHaigCADYCACACQQFqIQIgCEEBaiIIIAZHDQALCyADKAIAIQILIAIgBUECdGogADYCACADIAMoAgRBAWo2AgQgCSgCAEECRw0AIAkoAggiBCgCACEAAkAgBCgCBCIFIAQoAghHBEAgACECDAELIAQgBUEBdEECaiICNgIIIARBgKgLIAJBAnRBBBBdIgI2AgAgBCgCBCIFRQRAQQAhBQwBC0EAIQhBACECIAVBBE8EQCAFQXxxIQYDQCACQQJ0IgMgBCgCAGogACADaigCADYCACADQQRyIgcgBCgCAGogACAHaigCADYCACADQQhyIgcgBCgCAGogACAHaigCADYCACADQQxyIgMgBCgCAGogACADaigCADYCACACQQRqIgIgBkcNAAsLIAVBA3EiAwRAA0AgAkECdCIGIAQoAgBqIAAgBmooAgA2AgAgAkEBaiECIAhBAWoiCCADRw0ACwsgBCgCACECCyACIAVBAnRqIAE2AgAgBCAEKAIEQQFqNgIEIAkPCwtB//cFQeSGA0GzA0H4+wIQAQALiQYBCn9BgKgLQRBBCBBdIgFBAzYCACABQQIQtAIhCEGAqAtBEEEIEF0iB0EANgIAIAdBiKMLKQMANwIIIAgoAgBBAkYEQAJAIAgoAggiAigCACEDAkAgAigCBCIFIAIoAghHBEAgAyEBDAELIAIgBUEBdEECaiIBNgIIIAJBgKgLIAFBAnRBBBBdIgE2AgAgAigCBCIFRQRAQQAhBQwBC0EAIQEgBUEETwRAIAVBfHEhBgNAIAFBAnQiBCACKAIAaiADIARqKAIANgIAIARBBHIiCiACKAIAaiADIApqKAIANgIAIARBCHIiCiACKAIAaiADIApqKAIANgIAIARBDHIiBCACKAIAaiADIARqKAIANgIAIAFBBGoiASAGRw0ACwsgBUEDcSIEBEADQCABQQJ0IgYgAigCAGogAyAGaigCADYCACABQQFqIQEgCUEBaiIJIARHDQALCyACKAIAIQELIAEgBUECdGogBzYCACACIAIoAgRBAWo2AgQgACgCACEBQYCoC0EQQQgQXSIFAn8gAQRAIAUgACkCADcCCEEADAELIAVCADcDCEEDCzYCACAIKAIAQQJHDQAgCCgCCCIDKAIAIQACQCADKAIEIgIgAygCCEcEQCAAIQEMAQsgAyACQQF0QQJqIgE2AgggA0GAqAsgAUECdEEEEF0iATYCACADKAIEIgJFBEBBACECDAELQQAhCUEAIQEgAkEETwRAIAJBfHEhBwNAIAFBAnQiBCADKAIAaiAAIARqKAIANgIAIARBBHIiBiADKAIAaiAAIAZqKAIANgIAIARBCHIiBiADKAIAaiAAIAZqKAIANgIAIARBDHIiBCADKAIAaiAAIARqKAIANgIAIAFBBGoiASAHRw0ACwsgAkEDcSIEBEADQCABQQJ0IgcgAygCAGogACAHaigCADYCACABQQFqIQEgCUEBaiIJIARHDQALCyADKAIAIQELIAEgAkECdGogBTYCACADIAMoAgRBAWo2AgQgCA8LC0H/9wVB5IYDQbMDQfj7AhABAAvUEgEJf0GAqAtBEEEIEF0iBUEDNgIAAkAgBUEEELQCIgsoAgBBAkcNACALKAIIIgcoAgAhBgJAIAcoAgQiCCAHKAIIRwRAIAYhBQwBCyAHIAhBAXRBAmoiBTYCCCAHQYCoCyAFQQJ0QQQQXSIFNgIAIAcoAgQiCEUEQEEAIQgMAQtBACEFIAhBBE8EQCAIQXxxIQwDQCAFQQJ0IgkgBygCAGogBiAJaigCADYCACAJQQRyIg0gBygCAGogBiANaigCADYCACAJQQhyIg0gBygCAGogBiANaigCADYCACAJQQxyIgkgBygCAGogBiAJaigCADYCACAFQQRqIgUgDEcNAAsLIAhBA3EiCQRAA0AgBUECdCIMIAcoAgBqIAYgDGooAgA2AgAgBUEBaiEFIApBAWoiCiAJRw0ACwsgBygCACEFCyAFIAhBAnRqIAE2AgAgByAHKAIEQQFqNgIEIAsoAgBBAkcNACALKAIIIgYoAgAhAQJAIAYoAgQiCCAGKAIIRwRAIAEhBQwBCyAGIAhBAXRBAmoiBTYCCCAGQYCoCyAFQQJ0QQQQXSIFNgIAIAYoAgQiCEUEQEEAIQgMAQtBACEKQQAhBSAIQQRPBEAgCEF8cSEJA0AgBUECdCIHIAYoAgBqIAEgB2ooAgA2AgAgB0EEciIMIAYoAgBqIAEgDGooAgA2AgAgB0EIciIMIAYoAgBqIAEgDGooAgA2AgAgB0EMciIHIAYoAgBqIAEgB2ooAgA2AgAgBUEEaiIFIAlHDQALCyAIQQNxIgcEQANAIAVBAnQiCSAGKAIAaiABIAlqKAIANgIAIAVBAWohBSAKQQFqIgogB0cNAAsLIAYoAgAhBQsgBSAIQQJ0aiACNgIAIAYgBigCBEEBajYCBCALKAIAQQJHDQAgCygCCCICKAIAIQECQCACKAIEIgggAigCCEcEQCABIQUMAQsgAiAIQQF0QQJqIgU2AgggAkGAqAsgBUECdEEEEF0iBTYCACACKAIEIghFBEBBACEIDAELQQAhCkEAIQUgCEEETwRAIAhBfHEhBwNAIAVBAnQiBiACKAIAaiABIAZqKAIANgIAIAZBBHIiCSACKAIAaiABIAlqKAIANgIAIAZBCHIiCSACKAIAaiABIAlqKAIANgIAIAZBDHIiBiACKAIAaiABIAZqKAIANgIAIAVBBGoiBSAHRw0ACwsgCEEDcSIGBEADQCAFQQJ0IgcgAigCAGogASAHaigCADYCACAFQQFqIQUgCkEBaiIKIAZHDQALCyACKAIAIQULIAUgCEECdGogAzYCACACIAIoAgRBAWo2AgQgCygCAEECRw0AIAsoAggiAigCACEBAkAgAigCBCIIIAIoAghHBEAgASEFDAELIAIgCEEBdEECaiIDNgIIIAJBgKgLIANBAnRBBBBdIgU2AgAgAigCBCIIRQRAQQAhCAwBC0EAIQpBACEFIAhBBE8EQCAIQXxxIQYDQCAFQQJ0IgMgAigCAGogASADaigCADYCACADQQRyIgcgAigCAGogASAHaigCADYCACADQQhyIgcgAigCAGogASAHaigCADYCACADQQxyIgMgAigCAGogASADaigCADYCACAFQQRqIgUgBkcNAAsLIAhBA3EiAwRAA0AgBUECdCIGIAIoAgBqIAEgBmooAgA2AgAgBUEBaiEFIApBAWoiCiADRw0ACwsgAigCACEFCyAFIAhBAnRqIAQ2AgAgAiACKAIEQQFqNgIEQYCoC0EQQQgQXSIBQQM2AgAgAUEDELQCIQRBgKgLQRBBCBBdIghBADYCACAIQfiiCykDADcCCCAEKAIAQQJHBEAMAQsgBCgCCCIDKAIAIQICQCADKAIEIgEgAygCCEcEQCACIQUMAQsgAyABQQF0QQJqIgE2AgggA0GAqAsgAUECdEEEEF0iBTYCACADKAIEIgFFBEBBACEBDAELQQAhCkEAIQUgAUEETwRAIAFBfHEhBwNAIAVBAnQiBiADKAIAaiACIAZqKAIANgIAIAZBBHIiCSADKAIAaiACIAlqKAIANgIAIAZBCHIiCSADKAIAaiACIAlqKAIANgIAIAZBDHIiBiADKAIAaiACIAZqKAIANgIAIAVBBGoiBSAHRw0ACwsgAUEDcSIGBEADQCAFQQJ0IgcgAygCAGogAiAHaigCADYC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QfCnCyABKALoBTYCACABIAI2AuAFIAEgAjYC3AUgASADNgLoBSAAIAJHBEADQCABIABBKGsiBDYC5AUgBCgCFCIDBEAgAEEQayADNgIAIAMQWgsgAEEgaygCACIABEADQCAAKAIAIQ8gABBaIA8iAA0ACwsgBCgCACEAIARBADYCACAABEAgABBaCyABKALkBSIAIAJHDQALIAEoAtwFIQALIAAEQCAAEFoLQeynCygCACEADAILEAAhECABQdwFahDqDyAQEAcACyADQQE2AiQgA0EBOgAgQeynCyADQShqIgA2AgALAkBB8KcLKAIAIABLBEBB1IkLQQA2AgBBphYgAEHyuwYQAiEDQdSJCygCACERQdSJC0EANgIAIBFBAUYNAiADQQA2AiQgA0EAOgAgQeynCyADQShqIgA2AgAMAQtB8rsGQQBBABCVBEHspwsoAgAhAAsCQEHwpwsoAgAgAEsEQEHUiQtBADYCAEGmFiAAQerVBRACIQNB1IkLKAIAIRJB1IkLQQA2AgAgEkEBRg0CIANBADYCJCADQQA6ACBB7KcLIANBKGoiADYCAAwBC0Hq1QVBAEEAEJUEQeynCygCACEACwJAQfCnCygCACAASwRAQdSJC0EANgIAQaYWIABBzZgFEAIhA0HUiQsoAgAhE0HUiQtBADYCACATQQFGDQIgA0EANgIkIANBADoAIEHspwsgA0EoaiIANgIADAELQc2YBUEAQQAQlQRB7KcLKAIAIQALAkBB8KcLKAIAIABLBEBB1IkLQQA2AgBBphYgAEHomAUQAiEDQdSJCygCACEUQdSJC0EANgIAIBRBAUYNAiADQQA2AiQgA0EAOgAgQeynCyADQShqIgA2AgAMAQtB6JgFQQBBABCVBEHspwsoAgAhAAsCQEHwpwsoAgAgAEsEQEHUiQtBADYCAEGmFiAAQYuZBRACIQNB1IkLKAIAIRVB1IkLQQA2AgAgFUEBRg0CIANBADYCJCADQQA6ACBB7KcLIANBKGoiADYCAAwBC0GLmQVBAEEAEJUEQeynCygCACEACwJAQfCnCygCACAASwRAQdSJC0EANgIAQaYWIABB1bsGEAIhA0HUiQsoAgAhFkHUiQtBADYCACAWQQFGDQIgA0EANgIkIANBADoAIEHspwsgA0EoaiIANgIADAELQdW7BkEAQQAQlQRB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WgsgACwAY0EASARAIAAoAlgQWgsgACwAV0EASARAIAAoAkwQWgsgACwAS0EASARAIAAoAkAQWgsgACwAP0EASARAIAAoAjQQWgsgACwAM0EASARAIAAoAigQWgsgACwAJ0EASARAIAAoAhwQWgsgACwAG0EASARAIAAoAhAQWgsgACwAD0EASARAIAAoAgQQWgtB7LALQcAAEFwiAzYCAEHwsAtCtoCAgICIgICAfzcCACADQea9BikAADcALiADQeC9BikAADcAKCADQdi9BikAADcAICADQdC9BikAADcAGCADQci9BikAADcAECADQcC9BikAADcACCADQbi9BikAADcAACADQQA6ADZB+LALQdAAEFwiAzYCAEH8sAtCwICAgICKgICAfzcCACADQb6aBSkAADcAOCADQbaaBSkAADcAMCADQa6aBSkAADcAKCADQaaaBSkAADcAICADQZ6aBSkAADcAGCADQZaaBSkAADcAECADQY6aBSkAADcACCADQYaaBSkAADcAACADQQA6AEAgAEHAAWokAAwBCxAAIQNB2LALEOkLIAAsALcBQQBIBEAgACgCrAEQWgsgACwAqwFBAEgEQCAAKAKgARBaCyAALACfAUEASARAIAAoApQBEFoLIAAsAJMBQQBIBEAgACgCiAEQWgsgACwAhwFBAEgEQCAAKAJ8EFoLIAAsAHtBAEgEQCAAKAJwEFoLIAAsAG9BAEgEQCAAKAJkEFoLIAAsAGNBAEgEQCAAKAJYEFoLIAAsAFdBAEgEQCAAKAJMEFoLIAAsAEtBAEgEQCAAKAJAEFoLIAAsAD9BAEgEQCAAKAI0EFoLIAAsADNBAEgEQCAAKAIoEFoLIAAsACdBAEgEQCAAKAIcEFoLIAAsABtBAEgEQCAAKAIQEFoLIAAsAA9BAEgEQCAAKAIEEFoLDAELIwBBIGsiACQAIABBFzYCHCAAQeufBDYCGCAAIAApAhg3AxBBmLELIABBEGoQZSAAQRw2AhwgAEHCmwE2AhggACAAKQIYNwMIQaCxCyAAQQhqEGUgAEEgaiQAQaixC0GssQs2AgBBrLELQgA3AgBBqLcLQSo2AgBB8LcLQdjgCzYCAA8LIAMQBwALggQBCX8CQAJAAkAgACgC0AEgACgCzAFrQQJ1IgEgACgCxAEgACgCwAFrIgJBDG1GBEACQCACQQBMDQAgAUEBayECA0AgACgCzAEiAyACQQJ0aigCACIGKAIAQTNHDQUCQCAGKAI0IgEEQCABQfixCygCAEYNAwNAIAJBAEoEQCADIAJBAWsiAkECdGooAgAiBCgCAEEzRw0JIAQoAgggAUcNAQwDCwtBtMIEQZuaA0GtAkG20gAQAQALAkAgACgCwAEgAkEMbGoiAygCBCIBIAMoAghHBEAgASAAKAKMATYCACADIAFBBGo2AgQMAQsgASADKAIAIglrIgRBAnUiB0EBaiIFQYCAgIAETw0FQf////8DIARBAXUiCCAFIAUgCEkbIARB/P///wdPGyIFBH8gBUGAgICABE8NByAFQQJ0EFwFQQALIgggB0ECdGoiBCAAKAKMATYCACAEQQRqIQcgASAJRwRAA0AgBEEEayIEIAFBBGsiASgCADYCACABIAlHDQALIAMoAgAhAQsgAyAENgIAIAMgBzYCBCADIAggBUECdGo2AgggAUUNACABEFoLIAYoAiggBigCGGtBAUYNAiACQQFrIQILIAJBAE4NAAsLDwtBs48GQZuaA0GZAkG20gAQAQALEGQACxBqAAtB8O0FQcWYA0GUBkGN3gAQAQALtwMBBH8gACgC+AEQ4gcgACgC5AEiAQRAIAAgATYC6AEgARBaCyAAKALYASIDBEAgACgC3AEiASADIgJHBEADQCABQQxrIgIoAgAiBARAIAFBCGsgBDYCACAEEFoLIAIiASADRw0ACyAAKALYASECCyAAIAM2AtwBIAIQWgsgACgCzAEiAQRAIAAgATYC0AEgARBaCyAAKALAASIDBEAgACgCxAEiASADIgJHBEADQCABQQxrIgIoAgAiBARAIAFBCGsgBDYCACAEEFoLIAIiASADRw0ACyAAKALAASECCyAAIAM2AsQBIAIQWgsgACgCtAEiAQRAIAAgATYCuAEgARBaCyAAKAKoASIBBEAgACABNgKsASABEFoLIAAoApwBIgEEQCAAIAE2AqABIAEQWgsgACgClAEQwQkgACgCgAEiAQRAIAAgATYChAEgARBaCyAAKAJ0IgMEQCAAKAJ4IgIgAyIBRwRAA0AgAkEEayICKAIAIQEgAkEANgIAIAEEQCABEIUDCyACIANHDQALIAAoAnQhAQsgACADNgJ4IAEQWgsgACgCWCIBBEAgACABNgJcIAEQWgsL3R4BDn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAIgIoAgAOXgABAgMEBQYHCAkKCwwNHh8gISIjJCU1Ng4PEBESExQVFhcYGRobHB03JicoKSorLC0uLzAxMjM0ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXABdC0GY/QNB5bMDQeoBEGIACyAAQa2oASABEFggAigCAEEBRw1cIAIoAhQiAUEATA1bIABBBGohBANAIAFBAWsiACACKAIUTw1eIAIoAhAgAEECdGoiAygCAEUNXyAEQayoASADEFsgAUEBSyEGIAAhASAGDQALDFsLIABBr6gBIAEQWCACKAIAQQJHDVsgAigCEARAIABBBGpBrKgBIAJBEGoQWwsMYAsgAEGwqAEgARBYIAIoAgBBA0cNWgxjCyAAQbGoASABEFggAigCAEEERw1ZIAIoAhQEQCAAQQRqQayoASACQRRqEFsLIAIoAhBFDVggAEEEakGsqAEgAkEQahBbDwsgAEGyqAEgARBYIAIoAgBBBUcNWCAAQayoASACQSRqEFggAigCIEUNVyAAQQRqQayoASACQSBqEFsPCyAAQbmoASABEFggAigCAEEGRw1XIAIoAgwiAUEATA1WIABBBGohBANAIAFBAWsiACACKAIMTw1ZIAIoAgggAEECdGoiAygCAEUNWiAEQayoASADEFsgAUEBSyEHIAAhASAHDQALDFYLIABBuqgBIAEQWCACKAIAQQdHDVYgAEGsqAEgAkEcahBYIAIoAhAiAUEATA1VIABBBGohBANAIAFBAWsiACACKAIQTw1YIAIoAgwgAEECdGoiAygCAEUNWSAEQayoASADEFsgAUEBSyEIIAAhASAIDQALDFULIABBu6gBIAEQWCACKAIAQQhGDVQMVQsgAEG8qAEgARBYIAIoAgBBCUcNVAxgCyAAQb2oASABEFggAigCAEEKRg1SDFMLIABBvqgBIAEQWCACKAIAQQtHDVIMWwsgAEG/qAEgARBYIAIoAgBBDEcNUQxfCyAAQcCoASABEFggAigCAEENRw1QDF0LIABBwagBIAEQWCACKAIAQRhHDU8MXgsgAEHCqAEgARBYIAIoAgBBGUcNTiAAQayoASACQSBqEFgMXQsgAEHDqAEgARBYIAIoAgBBGkcNTQxUCyAAQcSoASABEFggAigCAEEbRw1MDFQLIABBxagBIAEQWCACKAIAQRxGDUoMSwsgAEHGqAEgARBYIAIoAgBBHUcNSgxWCyAAQceoASABEFggAigCAEEeRw1JIABBrKgBIAJBFGoQWAxVCyAAQcioASABEFggAigCAEEfRw1IDE0LIABByagBIAEQWCACKAIAQSBHDUcMUQsgAEHKqAEgARBYIAIoAgBBIUcNRgxRCyAAQcuoASABEFggAigCAEEiRw1FIABBrKgBIAJBIGoQWA8LIABBzKgBIAEQWCACKAIAQSNHDUQMUQsgAEHNqAEgARBYIAIoAgBBJEcNQwxKCyAAQc6oASABEFggAigCAEElRg1BDEILIABBz6gBIAEQWCACKAIAQSZHDUEMRQsgAEHQqAEgARBYIAIoAgBBJ0cNQAxECyAAQdGoASABEFggAigCAEEORg0+DD8LIABB0qgBIAEQWCACKAIAQQ9HDT4MSgsgAEHTqAEgARBYIAIoAgBBEEcNPQxICyAAQdSoASABEFggAigCAEERRw08DEALIABB1agBIAEQWCACKAIAQRJHDTsMSwsgAEGzqAEgARBYIAIoAgBBE0cNOiACKAIIRQ05DEsLIABB1qgBIAEQWCACKAIAQRRGDTgMOQsgAEHXqAEgARBYIAIoAgBBFUcNOAxICyAAQdioASABEFggAigCAEEpRg02DDcLIABB2agBIAEQWCACKAIAQSpHDTYMRgsgAEHaqAEgARBYIAIoAgBBK0YNNAw1CyAAQduoASABEFggAigCAEEsRw00DDkLIABB3KgBIAEQWCACKAIAQS1HDTMMPAsgAEHdqAEgARBYIAIoAgBBLkcNMgw6CyAAQd6oASABEFggAigCAEEvRg0wDDELIABB36gBIAEQWCACKAIAQTBHDTAMOAsg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ACIBBEAgAyABNgIEIAEQWgsgAxBaCyAAKAJoIgEEQANAIAEoAgAhCSABEFogCSIBDQALCyAAKAJgIQEgAEEANgJgIAEEQCABEFoLAkAgACgCXEUNACAAKAJYIgEoAgAiAiAAKAJUKAIEIgM2AgQgAyACNgIAIABBADYCXCABIABB1ABqIgNGDQADQCABKAIEIQogARBaIAoiASADRw0ACwsgACgCSCIBBEADQCABKAIAIQsgARBaIAsiAQ0ACwsgACgCQCEBIABBADYCQCABBEAgARBaCyAAKAI0IgEEQANAIAEoAgAhDCABEFogDCIBDQALCyAAKAIsIQEgAEEANgIsIAEEQCABEFoLIABBKGpBABDjByAAKAIcIgEEQANAIAEoAgAhDSABEFogDSIBDQALCyAAKAIUIQEgAEEANgIUIAEEQCABEFoLAkAgACgCCCICBEAgACgCDCIBIAIiA0cEQANAIAFByABrIgMoAjgiBQRAIAFBDGsgBTYCACAFEFoLIAFBGGsiBS0AACIGQf8BRwRAIARBi8MANgIcIARBjMMANgIYIARBjcMANgIUIARBjsMANgIQIARBj8MANgIMQdSJC0EANgIAIARBDGogBkECdGooAgAgBEELaiABQTBrEANB1IkLKAIAIQ5B1IkLQQA2AgAgDkEBRg0ECyAFQf8BOgAAIAMiASACRw0ACyAAKAIIIQMLIAAgAjYCDCADEFoLIARBIGokAA8LQQAQCxoQcAALjQcBCX8jAEFAaiICJAACfyABLQAQIgNB/wFGBEBBkrqFowYhA0H/AQwBCyACQcqmATYCPCACQcumATYCOCACQcymATYCNCACQc2mATYCMCACQc6mATYCLCACQc+mATYCKCACQdCmATYCJCACQdGmATYCICACQdKmATYCHCACQdOmATYCGCACQdSmATYCFCACQdWmATYCECACQQxqIAEgAkEQaiADQQJ0aigCABEEAEGV08feBWwhAyABLQAQCyEEAkAgACgCBCIFRQ0AQeusuKF6IARB/wFxIgZBldPH3gVsIAZB/wFGGyIGQRh2IAZzQZXTx94FbCADQRh2IANzQZXTx94FbEGomb30fXNBldPH3gVscyIDQQ12IANzQZXTx94FbCIDQQ92IANzIQMgACgCAAJ/IAMgBUEBa3EgBWkiBEEBTQ0AGiADIAMg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AgQgBygCACIFayIAIAQoAjAiAyAEKAIsIgJrIgFGBEAgBSACIAAQXkUNAQsgACABTwRAQfwBIQNBk5AGIQYMCAtB1IkLQQA2AgBB4BwgByACIAMgAUECdRAFQdSJCygCACEmQdSJC0EANgIAICZBAUYNBiAHKAIwIgMgBygCNCIBRg0AA0AgAygCACEAQdSJC0EANgIAQbqdASAEQRhqIARBOGogACAAEAVB1IkLKAIAISdB1IkLQQA2AgAgJ0EBRg0GIANBBGoiAyABRw0ACwsgAkUNACAEIAI2AjAgAhBaCyAEKAJEIgANAAsLIAQoAkAiAgRAA0AgAigCACEoIAIQWiAoIgINAAsLIAQoAjghACAEQQA2AjggAARAIAAQWgsgBEHQAGokAA8LEAAhAwwDCxAAIQMMAgsQACEDIAQoAiwhAgwBC0HUiQtBADYCAEENIAZBg5kDIANB66kBEAVB1IkLKAIAISlB1IkLQQA2AgAgKUEBRwRAAAsQACEDCyACRQ0AIAQgAjYCMCACEFoLIARBOGoQogEgAxAHAAsQACECIARBOGoQogEgBEEYahCiAQwBCxAAIQIgBCgCOCIARQ0AIAAQvwILIAIQBwAL1QQBBn8gACgCvAIiAQRAIAAgATYCwAIgARBaCyAAKAKsAiIBBEADQCABKAIAIQUgARBaIAUiAQ0ACwsgACgCpAIhASAAQQA2AqQCIAEEQCABEFoLIAAoApgCIgEEQCAAIAE2ApwCIAEQWgsgACgCjAIiAQRAA0AgASgCACEGIAEQWiAGIgENAAsLIAAoAoQCIQEgAEEANgKEAiABBEAgARBaCyAAKAL4ARDqByAAKALkASIBBEAgACABNgLoASABEFoLIAAoAtgBIgMEQCAAKALcASICIAMiAUcEQANAIAJBDGsiASgCACIEBEAgAkEIayAENgIAIAQQWgsgASICIANHDQALIAAoAtgBIQELIAAgAzYC3AEgARBaCyAAKALMASIBBEAgACABNgLQASABEFoLIAAoAsABIgMEQCAAKALEASICIAMiAUcEQANAIAJBDGsiASgCACIEBEAgAkEIayAENgIAIAQQWgsgASICIANHDQALIAAoAsABIQELIAAgAzYCxAEgARBaCyAAKAK0ASIBBEAgACABNgK4ASABEFoLIAAoAqgBIgEEQCAAIAE2AqwB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EFoglQEiAg0ACwsgAygCCCEBIANBADYCCCABRQ0DIAEQWgwDC0HUiQtBADYCAEENQavLAUHUgwJB7gVBidQCEAVB1IkLKAIAIZYBQdSJC0EANgIAIJYBQQFGDQELAAsQACEJIAMQwgUMBAsgA0EgahDhDAsgCUEEaiIJIBJHDQEMBQsLEAAhCSALEKIBCyADQSBqEOEMDAMLIANB5ABqIQQgA0HEAGohBRAAIQkLIAMoAowBIgAEQCADIAA2ApABIAAQWgsgEBCiASAEKAIIIgAEQANAIAAoAgwhAiAAQQA2AgwgACgCACGXASACBEAgAigCDCIHBEAgAiAHNgIQIAcQWgsgAhBaCyAAEFoglwEiAA0ACwsgBCgCACEAIARBADYCACAABEAgABBaCyADKAJYIgAEQCADIAA2AlwgABBaCyAFEKIBIAMoAjgiAEUNASADIAA2AjwgABBaDAELIAMoAqgBIgIEQANAIAIoAgAhmAEgAhBaIJgBIgINAAsLIAMoAqABIQAgA0EANgKgASAABEAgABBaCyAPEN8CGiAMENAKIANBgARqJAAPCyADQaABahCiASAPEN8CGgwECxAAIQkgDxDfAhoMAwsQACEJDAILEAAhCQwBCxAAIQkLIAwQ0AoLIAkQBwALviIBDn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEoAgAiAigCAA5eAAECAwQFBgcICQoLDA0eHyAhIiMkJTU2Dg8QERITFBUWFxgZGhscHTcmJygpKissLS4vMDEyMzQ4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcAF0LQZj9A0HlswNB6gEQYgALIABBFGpBlZsBIAEQWCACKAIAQQFHDVwgAigCFCIBQQBMDVsgAEEYaiEDA0AgAUEBayIAIAIoAhRPDV4gAigCECAAQQJ0aiIEKAIARQ1fIANBjpsBIAQQWyABQQFLIQYgACEBIAYNAAsMWwsgAEEUaiIDQYCcASABEFggAigCAEECRw1bIAIoAhAEQCAAQRhqQY6bASACQRBqEFsLIANBjpsBIAJBDGoQWCADQY6bASACQQhqEFgPCyAAQRRqIgBBl5sBIAEQWCACKAIAQQNHDVoMYAsgAEEUakGYmwEgARBYIAIoAgBBBEcNWSACKAIUBEAgAEEYakGOmwEgAkEUahBbCyACKAIQRQ1YIABBGGpBjpsBIAJBEGoQWw8LIABBFGoiA0GZmwEgARBYIAIoAgBBBUcNWCADQY6bASACQSRqEFggAigCIEUNVyAAQRhqQY6bASACQSBqEFsPCyAAQRRqQYGcASABEFggAigCAEEGRw1XIAIoAgwiAUEATA1WIABBGGohAwNAIAFBAWsiACACKAIMTw1ZIAIoAgggAEECdGoiBCgCAEUNWiADQY6bASAEEFsgAUEBSyEHIAAhASAHDQALDFYLIABBFGoiA0GCnAEgARBYIAIoAgBBB0cNViADQY6bASACQRxqEFggAigCECIBQQBMDVUgAEEYaiEDA0AgAUEBayIAIAIoAhBPDVggAigCDCAAQQJ0aiIEKAIARQ1ZIANBjpsBIAQQWyABQQFLIQggACEBIAgNAAsMVQsgAEEUakGDnAEgARBYIAIoAgBBCEYNVAxVCyAAQRRqIgBBhJwBIAEQWCACKAIAQQlHDVQMXQsgAEEUakGFnAEgARBYIAIoAgBBCkYNUgxTCyAAQRRqIgBBhpwBIAEQWCACKAIAQQtHDVIMWAsgAEEUaiIAQYecASABEFggAigCAEEMRw1RDFwLIABBFGoiAEGInAEgARBYIAIoAgBBDUcNUAxaCyAAQRRqIgBBiZwBIAEQWCACKAIAQRhHDU8MWwsgAEEUaiIAQYqcASABEFggAigCAEEZRw1OIABBjpsBIAJBIGoQWAxaCyAAQRRqIgBBi5wBIAEQWCACKAIAQRpHDU0MUQsgAEEUaiIAQYycASABEFggAigCAEEbRw1MDFELIABBFGpBjZwBIAEQWCACKAIAQRxGDUoMSwsgAEEUaiIAQY6cASABEFggAigCAEEdRw1KDFMLIABBFGoiAEGPnAEgARBYIAIoAgBBHkcNSSAAQY6bASACQRRqEFgMUgsgAEEUaiIAQZCcASABEFggAigCAEEfRw1IDFcLIABBFGoiAEGRnAEgARBYIAIoAgBBIEcNRwxOCyAAQRRqIgBBkpwBIAEQWCACKAIAQSFHDUYMTgsgAEEUaiIAQZOcASABEFggAigCAEEiRw1FIABBjpsBIAJBIGoQWA8LIABBFGoiAEGUnAEgARBYIAIoAgBBI0cNRAxOCyAAQRRqIgBBlZwBIAEQWCACKAIAQSRHDUMMRwsgAEEUakGWnAEgARBYIAIoAgBBJUYNQQxCCyAAQRRqIgBBl5wBIAEQWCACKAIAQSZHDUEMTwsgAEEUaiIAQZicASABEFggAigCAEEnRw1ADE4LIABBFGpBmZwBIAEQWCACKAIAQQ5GDT4MPwsgAEEUaiIAQZqcASABEFggAigCAEEPRw0+DEcLIABBFGoiAEGbnAEgARBYIAIoAgBBEEcNPQxFCyAAQRRqIgBBnJwBIAEQWCACKAIAQRFHDTwMSgsgAEEUaiIAQZ2cASABEFggAigCAEESRw07DEsLIABBFGpBmpsBIAEQWCACKAIAQRNHDTogAigCCEUNOQxLCyAAQRRqQZ6cASABEFggAigCAEEURg04DDkLIABBFGoiAEGfnAEgARBYIAIoAgBBFUcNOAxICyAAQRRqQaCcASABEFggAigCAEEpRg02DDcLIABBFGoiAEGhnAEgARBYIAIoAgBBKkcNNgxGCyAAQRRqQaKcASABEFggAigCAEErRg00DDULIABBFGoiAEGjnAEgARBYIAIoAgBBLEcNNAxDCyAAQRRqIgBBpJwBIAEQWCACKAIAQS1HDTMMOQsgAEEUaiIAQaWcASABEFggAigCAEEuRw0yDDcLIABBFGpBppwBIAEQWCACKAIAQS9GDTAMMQsgAEEUaiIAQaecASABEFggAigCAEEwRw0wDDULIABBFGoiAEGonAEgARBYIAIoAgBBMUcNLwwzCyAAQRRqIgBBqZwBIAEQWCACKAIAQTJHDS4MPAsgAEEUaiIDQZubASABEFggAigCAEEzRw0tIAIoAigiAUEASgRAIABBGGohBANAIAFBAWsiACACKAIoTw0wIAIoAiQgAEECdGoiBSgCAEUNMSAEQY6bASAFEFsgAUEBSyEJIAAhASAJDQALCyADQY6bASACQRBqEFgPCyAAQRRqIgBBqpwBIAEQWCACKAIAQTRGBEAMPQsMLAsgAEEUakGcmwEgARBYIAIoAgBBNUcNKyACKAIUIgFBAEwNKiAAQRhqIQMDQCABQQFrIgAgAigCFE8NLSACKAIQIABBAnRqIgQoAgBFDS4gA0GOmwEgBBBbIAFBAUshCiAAIQEgCg0ACwwqCyAAQRRqQZ2bASABEFggAigCAEE2Rg0pDCoLIABBFGoiAEGrnAEgARBYIAIoAgBBN0cNKQw5CyAAQRRqQaycASABEFggAigCAEEWRg0nDCgLIABBFGpBnpsBIAEQWCACKAIAQRdGDSYMJwsgAEEUakGtnAEgARBYIAIoAgBBKEYNJQwmCyAAQRRqQa6cASABEFggAigCAEE4Rw0lIAIoAgwiAUEATA0kIABBGGohAwNAIAFBAWsiACACKAIMTw0nIAIoAgggAEECdGoiBCgCAEUNKCADQY6bASAEEFsgAUEBSyELIAAhASALDQALDCQLIABBFGoiAEGvnAEgARBYIAIoAgBBOUcNJAw0CyAAQRRqIgBBsJwBIAEQWCACKAIAQTpHDSMMMwsgAEEUaiIAQbGcASABEFggAigCAEE7Rw0iDDILIABBFGoiA0GynAEgARBYIAIoAgBBPEcNISADQY6bASACQRhqEFggAigCDCIBQQBMDSAgAEEYaiEDA0AgAUEBayIAIAIoAgxPDSMgAigCCCAAQQJ0aiIEKAIARQ0kIANBjpsBIAQQWyABQQFLIQwgACEBIAwNAAsMIAsgAEEUaiIAQbOcASABEFggAigCAEE9Rw0gDDALIABBFGoiAEG0nAEgARBYIAIoAgBBPkcNHwwvCyAAQRRqIgBBn5sBIAEQWCACKAIAQT9HDR4gAEGOmwEgAkEUahBYDwsgAEEUakG1nAEgARBYIAIoAgBBwABHDR0gAigCDCIBQQBMDRwgAEEYaiEDA0AgAUEBayIAIAIoAgxPDR8gAigCCCAAQQJ0aiIEKAIARQ0gIANBjpsBIAQQWyABQQFLIQ0gACEBIA0NAAsMHAsgAEEUaiIAQbacASABEFggAigCAEHBAEcNHAwlCyAAQRRqIgBBt5wBIAEQWCACKAIAQcIARw0bDCMLIABBFGoiA0G4nAEgARBYIAIoAgBBwwBHDRogA0GOmwEgAkEMahBYIAIoAghFDRkMKwsgAEEUaiIAQbmcASABEFggAigCAEHEAEcNGQweCyAAQRRqIgBBupwBIAEQWCACKAIAQcUARw0YDB0LIABBFGpBu5wBIAEQWCACKAIAQcYARw0XIAIoAgwiAUEATA0WIABBGGohAwNAIAFBAWsiACACKAIMTw0ZIAIoAgggAEECdGoiBCgCAEUNGiADQY6bASAEEFsgAUEBSyEOIAAhASAODQALDBYLIABBFGoiAEG8nAEgARBYIAIoAgBBxwBHDRYMJQsgAEEUaiIAQb2cASABEFggAigCAEHIAEcNFQwjCyAAQRRqIgBBvpwBIAEQWCACKAIAQckARw0UDCQLIABBFGoiAEG/nAEgARBYIAIoAgBBygBHDRMgAEGOmwEgAkEYahBYDCALIABBFGoiAEHAnAEgARBYIAIoAgBBywBHDRIMHwsgAEEUaiIAQcGcASABEFggAigCAEHMAEcNEQwUCyAAQRRqIgBBwpwBIAEQWCACKAIAQc0ARw0QDBMLIABBFGoiAEHDnAEgARBYIAIoAgBBzgBHDQ8MGAsgAEEUaiIDQcScASABEFggAigCAEHPAEcNDiACKAIYBEAgAEEYakGOmwEgAkEYahBbCyACKAIUBEAgAEEYakGOmwEgAkEUahBbCyACKAIQBEAgAEEYakGOmwEgAkEQahBbCwwgCyAAQRRqQcWcASABEFggAigCAEHQAEYNDAwNCyAAQRRqIgBBxpwBIAEQWCACKAIAQdEARw0MDBULIABBFGoiA0HHnAEgARBYIAIoAgBB0gBHDQsgAigCFARAIABBGGpBjpsBIAJBFGoQWwsgA0GOmwEgAkEQahBYDB0LIABBFGoiAEHInAEgARBYIAIoAgBB0wBHDQoMGQsgAEEUaiIAQcmcASABEFggAigCAEHUAEcNCQwRCyAAQRRqIgBBypwBIAEQWCACKAIAQdUARw0IDBELIABBFGoiAEHLnAEgARBYIAIoAgBB1gBHDQcMFQsgAEEUaiIAQcycASABEFggAigCAEHXAEcNBgwVCyAAQRRqIgBBzZwBIAEQWCACKAIAQdgARw0FDBULIABBFGoiAEHOnAEgARBYIAIoAgBB2QBHDQQMDAsgAEEUaiIAQc+cASABEFggAigCAEHaAEcNAwwKCyAAQRRqIgBB0JwBIAEQWCACKAIAQdsARw0CDBELIABBFGoiA0HRnAEgARBYIAIoAgBB3ABHDQEgA0GOmwEgAkE8ahBYIAIoAjAiAUEATA0AIABBGGohAwNAIAFBAWsiACACKAIwTw0DIAIoAiwgAEECdGoiBCgCAEUNBCADQY6bASAEEFsgAUEBSyEPIAAhASAPDQALCw8LQfDtBUHFmANBlAZBjd4AEAEAC0HFogFBiaIDQbwBQaaIBRABAAtBgYMCQdOZA0G5AkGu9wIQAQALIABBjpsBIAJBHGoQWAsgAEGOmwEgAkEYahBYCyAAQY6bASACQRRqEFgLIABBjpsBIAJBEGoQWA8LIABBjpsBIAJBFGoQWAsgAEGOmwEgAkEQahBYCyAAQY6bASACQQxqEFgPCyAAQY6bASACQShqEFgLIABBjpsBIAJBJGoQWA8LIABBjpsBIAJBHGoQWCAAQY6bASACQRhqEFgPCyAAQY6bASACQRRqEFgLIABBjpsBIAJBEGoQWAsgAEGOmwEgAkEMahBYCyAAQY6bASACQQhqEFgPCyAAQRhqQY6bASACQQhqEFsPCyADQY6bASACQQxqEFgL3R4BDn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAIgIoAgAOXgABAgMEBQYHCAkKCwwNHh8gISIjJCU1Ng4PEBESExQVFhcYGRobHB03JicoKSorLC0uLzAxMjM0ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXABdC0GY/QNB5bMDQeoBEGIACyAAQaGbASABEFggAigCAEEBRw1cIAIoAhQiAUEATA1bIABBBGohBANAIAFBAWsiACACKAIUTw1eIAIoAhAgAEECdGoiAygCAEUNXyAEQZCbASADEFsgAUEBSyEGIAAhASAGDQALDFsLIABBo5sBIAEQWCACKAIAQQJHDVsgAigCEARAIABBBGpBkJsB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CwwkCyAAQdubASABEFggAigCAEE5Rw0kDDQLIABB3JsBIAEQWCACKAIAQTpHDSMMMwsgAEHdmwEgARBYIAIoAgBBO0cNIgwyCyAAQd6bASABEFggAigCAEE8Rw0hIABBkJsBIAJBGGoQWCACKAIMIgFBAEwNICAAQQRqIQQDQCABQQFrIgAgAigCDE8NIyACKAIIIABBAnRqIgMoAgBFDSQgBEGQmwEgAxBbIAFBAUshDCAAIQEgDA0ACwwgCyAAQd+bASABEFggAigCAEE9Rw0gDDALIABB4JsBIAEQWCACKAIAQT5HDR8MLwsgAEGsmwEgARBYIAIoAgBBP0cNHiAAQZCbASACQRRqEFgPCyAAQeGbASABEFggAigCAEHAAEcNHSACKAIMIgFBAEwNHCAAQQRqIQQDQCABQQFrIgAgAigCDE8NHyACKAIIIABBAnRqIgMoAgBFDSAgBEGQmwEgAxBbIAFBAUshDSAAIQEgDQ0ACwwcCyAAQeKbASABEFggAigCAEHBAEcNHAwoCyAAQeObASABEFggAigCAEHCAEcNGwwmCyAAQeSbASABEFggAigCAEHDAEcNGiAAQZCbASACQQxqEFggAigCCEUNGQwrCyAAQeWbASABEFggAigCAEHEAEcNGQwhCyAAQeabASABEFggAigCAEHFAEcNGAwgCyAAQeebASABEFggAigCAEHGAEcNFyACKAIMIgFBAEwNFiAAQQRqIQQDQCABQQFrIgAgAigCDE8NGSACKAIIIABBAnRqIgMoAgBFDRogBEGQmwEgAxBbIAFBAUshDiAAIQEgDg0ACwwWCyAAQeibASABEFggAigCAEHHAEcNFgwbCyAAQembASABEFggAigCAEHIAEcNFQwZCyAAQeqbASABEFggAigCAEHJAEcNFAwkCyAAQeubASABEFggAigCAEHKAEcNEyAAQZCbASACQRhqEFgMFgsgAEHsmwEgARBYIAIoAgBBywBHDRIMFQsgAEHtmwEgARBYIAIoAgBBzABHDREMFwsgAEHumwEgARBYIAIoAgBBzQBHDRAMFgsgAEHvmwEgARBYIAIoAgBBzgBHDQ8MGwsgAEHwmwEgARBYIAIoAgBBzwBHDQ4gAigCGARAIABBBGpBkJsBIAJBGGoQWwsgAigCFARAIABBBGpBkJsBIAJBFGoQWwsgAigCEARAIABBBGpBkJsBIAJBEGoQWwsMGgsgAEHxmwEgARBYIAIoAgBB0ABGDQwMDQsgAEHymwEgARBYIAIoAgBB0QBHDQwMGAsgAEHzmwEgARBYIAIoAgBB0gBHDQsgAigCFARAIABBBGpBkJsBIAJBFGoQWwsMFgsgAEH0mwEgARBYIAIoAgBB0wBHDQoMDwsgAEH1mwEgARBYIAIoAgBB1ABHDQkMFAsgAEH2mwEgARBYIAIoAgBB1QBHDQgMFAsgAEH3mwEgARBYIAIoAgBB1gBHDQcMCwsgAEH4mwEgARBYIAIoAgBB1wBHDQYMCwsgAEH5mwEgARBYIAIoAgBB2ABHDQUMFQsgAEH6mwEgARBYIAIoAgBB2QBHDQQMDwsgAEH7mwEgARBYIAIoAgBB2gBHDQMMDQsgAEH8mwEgARBYIAIoAgBB2wBHDQIMBwsgAEH9mwEgARBYIAIoAgBB3ABHDQEgAEGQmwEgAkE8ahBYIAIoAjAiAUEATA0AIABBBGohBANAIAFBAWsiACACKAIwTw0DIAIoAiwgAEECdGoiAygCAEUNBCAEQZCbASADEFsgAUEBSyEPIAAhASAPDQALCw8LQfDtBUHFmANBlAZBjd4AEAEAC0HFogFBiaIDQbwBQaaIBRABAAtBgYMCQdOZA0G5AkGu9wIQAQALIABBkJsBIAJBFGoQWAsgAEGQmwEgAkEQahBYCyAAQZCbASACQQxqEFgMCgsgAEGQmwEgAkEcahBYCyAAQZCbASACQRhqEFgLIABBkJsBIAJBFGoQWAsgAEGQmwEgAkEQahBYDwsgAEGQmwEgAkEUahBYCyAAQZCbASACQRBqEFgLIABBkJsBIAJBDGoQWA8LIABBkJsBIAJBKGoQWAsgAEGQmwEgAkEkahBYDwsgAEGQmwEgAkEcahBYIABBkJsBIAJBGGoQWA8LIABBkJsBIAJBCGoQWA8LIABBBGpBkJsBIAJBCGoQWwu4EQENfyAAQQA6ALQBIABBFGogAUEwahDsByAAKALwAiIMIAAoAuwCIgVHBEADQCAFKAIAIQMgACgCfEGoAWpBCEEEEF0iCUIWNwIAIAMoAhAhAgJAIAMoAhQiBCADKAIYRwRAIAIhAQwBCyADIARBAXRBAmoiATYCGCADIAMoAhwgAUECdEEEEF0iATYCECADKAIUIgRFBEBBACEEDAELQQAhCEEAIQEgBEEETwRAIARBfHEhCgNAIAFBAnQiBiADKAIQaiACIAZqKAIANgIAIAZBBHIiByADKAIQaiACIAdqKAIANgIAIAZBCHIiByADKAIQaiACIAdqKAIANgIAIAZBDHIiBiADKAIQaiACIAZqKAIANgIAIAFBBGoiASAKRw0ACwsgBEEDcSIGBEADQCABQQJ0IgogAygCEGogAiAKaigCADYCACABQQFqIQEgCEEBaiIIIAZHDQALCyADKAIQIQELIAEgBEECdGogCTYCACADIARBAWo2AhQgBUEEaiIFIAxHDQALIABBAToAtAEgACAAKALsAjYC8AILIAAoAvwCIgogACgC+AIiBkcEQANAIAAoAnwhAQJAAkAgBigCACIJKAIMIgJFDQAgAigCAEEBRw0AIAIoAggNACACIQEMAQsgAUGoAWoiA0EgQQQQXSIBQgA3AgQgAUEBNgIAIAFCADcCDCABQRRqQgA3AgAgASADNgIcIAJFDQAgAUECNgIYIAEgA0EIQQQQXSIDNgIQIAMgAjYCACABQQE2AhQgASANQYB+cSINQQBBABDmAQsgAUIANwIIIAkgATYCDAJAIAEoAhQiAgRAIAEoAhAgAkECdGpBBGsoAgAoAgBBFkYNAQsgACgCfEGoAWpBCEEEEF0iDEIWNwIAIAEoAhAhAwJAIAEoAhQiBSABKAIYRwRAIAMhAgwBCyABIAVBAXRBAmoiAjYCGCABIAEoAhwgAkECdEEEEF0iAjYCECABKAIUIgVFBEBBACEFDAELQQAhCEEAIQIgBUEETwRAIAVBfHEhBwNAIAJBAnQiBCABKAIQaiADIARqKAIANgIAIARBBHIiCyABKAIQaiADIAtqKAIANgIAIARBCHIiCyABKAIQaiADIAtqKAIANgIAIARBDHIiBCABKAIQaiADIARqKAIANgIAIAJBBGoiAiAHRw0ACwsgBUEDcSIEBEADQCACQQJ0IgcgASgCEGogAyAHaigCADYCACACQQFqIQIgCEEBaiIIIARHDQALCyABKAIQIQILIAIgBUECdGogDDYCACABIAVBAWo2AhQLAkAgCSgCECICRQ0AIAAoAnwhAQJAAkAgAigCAEEBRw0AIAIoAggNACACIQEMAQsgAUGoAWoiA0EgQQQQXSIBQgA3AgQgAUEBNgIAIAFCADcC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IAIoAjAiAUEATA0AIABBGGohAwNAIAFBAWsiACACKAIwTw0DIAIoAiwgAEECdGoiBCgCAEUNBCADQcqZASAEEFsgAUEBSyEPIAAhASAPDQALCw8LQfDtBUHFmANBlAZBjd4AEAEAC0HFogFBiaIDQbwBQaaIBRABAAtBgYMCQdOZA0G5AkGu9wIQAQALIABBypkBIAJBHGoQWAsgAEHKmQEgAkEYahBYCyAAQcqZASACQRRqEFgLIABBypkBIAJBEGoQWA8LIABBypkBIAJBFGoQWAsgAEHKmQEgAkEQahBYCyAAQcqZASACQQxqEFgPCyAAQcqZASACQShqEFgLIABBypkBIAJBJGoQWA8LIABBypkBIAJBHGoQWCAAQcqZASACQRhqEFgPCyAAQcqZASACQRRqEFgLIABBypkBIAJBEGoQWAsgAEHKmQEgAkEMahBYCyAAQcqZASACQQhqEFgPCyAAQRhqQcqZASACQQhqEFsPCyADQcqZASACQQxqEFgL3R4BDn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAIgIoAgAOXgABAgMEBQYHCAkKCwwNHh8gISIjJCU1Ng4PEBESExQVFhcYGRobHB03JicoKSorLC0uLzAxMjM0ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXABdC0GY/QNB5bMDQeoBEGIACyAAQd2ZASABEFggAigCAEEBRw1cIAIoAhQiAUEATA1bIABBBGohBANAIAFBAWsiACACKAIUTw1eIAIoAhAgAEECdGoiAygCAEUNXyAEQcyZASADEFsgAUEBSyEGIAAhASAGDQALDFsLIABB35kBIAEQWCACKAIAQQJHDVsgAigCEARAIABBBGpBzJkBIAJBEGoQWwsMYAsgAEHgmQEgARBY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fHEhCgNAIAFBAnQiBiADKAIQaiACIAZqKAIANgIAIAZBBHIiByADKAIQaiACIAdqKAIANgIAIAZBCHIiByADKAIQaiACIAdqKAIANgIAIAZBDHIiBiADKAIQaiACIAZqKAIANgIAIAFBBGoiASAKRw0ACwsgBEEDcSIGBEADQCABQQJ0IgogAygCEGogAiAKaigCADYCACABQQFqIQEgCEEBaiIIIAZHDQALCyADKAIQIQELIAEgBEECdGogCTYCACADIARBAWo2AhQgBUEEaiIFIAxHDQALIABBAToAtAEgACAAKALsAjYC8AILIAAoAvwCIgogACgC+AIiBkcEQANAIAAoAnwhAQJAAkAgBigCACIJKAIMIgJFDQAgAigCAEEBRw0AIAIoAggNACACIQEMAQsgAUGoAWoiA0EgQQQQXSIBQgA3AgQgAUEBNgIAIAFCADcCDCABQRRqQgA3AgAgASADNgIcIAJFDQAgAUECNgIYIAEgA0EIQQQQXSIDNgIQIAMgAjYCACABQQE2AhQgASANQYB+cSINQQBBABDmAQsgAUIANwIIIAkgATYCDAJAIAEoAhQiAgRAIAEoAhAgAkECdGpBBGsoAgAoAgBBFkYNAQsgACgCfEGoAWpBCEEEEF0iDEIWNwIAIAEoAhAhAwJAIAEoAhQiBSABKAIYRwRAIAMhAgwBCyABIAVBAXRBAmoiAjYCGCABIAEoAhwgAkECdEEEEF0iAjYCECABKAIUIgVFBEBBACEFDAELQQAhCEEAIQIgBUEETwRAIAVBfHEhBwNAIAJBAnQiBCABKAIQaiADIARqKAIANgIAIARBBHIiCyABKAIQaiADIAtqKAIANgIAIARBCHIiCyABKAIQaiADIAtqKAIANgIAIARBDHIiBCABKAIQaiADIARqKAIANgIAIAJBBGoiAiAHRw0ACwsgBUEDcSIEBEADQCACQQJ0IgcgASgCEGogAyAHaigCADYCACACQQFqIQIgCEEBaiIIIARHDQALCyABKAIQIQILIAIgBUECdGogDDYCACABIAVBAWo2AhQLAkAgCSgCECICRQ0AIAAoAnwhAQJAAkAgAigCAEEBRw0AIAIoAggNACACIQEMAQsgAUGoAWoiA0EgQQQQXSIBQgA3AgQgAUEBNgIAIAFCADcCDCABIAM2AhwgAUEUakKAgICAIDcC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EFggAigCAEEERw1ZIAIoAhQEQCAAQQRqQYiYASACQRRqEFsLIAIoAhBFDVggAEEEakGImAEgAkEQahBbDwsgAEGemAEgARBYIAIoAgBBBUcNWCAAQYiYASACQSRqEFggAigCIEUNVyAAQQRqQYiYASACQSBqEFsPCyAAQaWYASABEFggAigCAEEGRw1XIAIoAgwiAUEATA1WIABBBGohBANAIAFBAWsiACACKAIMTw1ZIAIoAgggAEECdGoiAygCAEUNWiAEQYiYASADEFsgAUEBSyEHIAAhASAHDQALDFYLIABBppgBIAEQWCACKAIAQQdHDVYgAEGImAEgAkEcahBYIAIoAhAiAUEATA1VIABBBGohBANAIAFBAWsiACACKAIQTw1YIAIoAgwgAEECdGoiAygCAEUNWSAEQYiYASADEFsgAUEBSyEIIAAhASAIDQALDFULIABBp5gBIAEQWCACKAIAQQhGDVQMVQsgAEGomAEgARBYIAIoAgBBCUcNVAxgCyAAQamYASABEFggAigCAEEKRg1SDFMLIABBqpgBIAEQWCACKAIAQQtHDVIMWwsgAEGrmAEgARBYIAIoAgBBDEcNUQxfCyAAQayYASABEFggAigCAEENRw1QDF0LIABBrZgBIAEQWCACKAIAQRhHDU8MXgsgAEGumAEgARBYIAIoAgBBGUcNTiAAQYiYASACQSBqEFgMXQsgAEGvmAEgARBYIAIoAgBBGkcNTQxUCyAAQbCYASABEFggAigCAEEbRw1MDFQLIABBsZgBIAEQWCACKAIAQRxGDUoMSwsgAEGymAEgARBYIAIoAgBBHUcNSgxWCyAAQbOYASABEFggAigCAEEeRw1JIABBiJgBIAJBFGoQWAxVCyAAQbSYASABEFggAigCAEEfRw1IDE0LIABBtZgBIAEQWCACKAIAQSBHDUcMUQsgAEG2mAEgARBYIAIoAgBBIUcNRgxRCyAAQbeYASABEFggAigCAEEiRw1FIABBiJgBIAJBIGoQWA8LIABBuJgBIAEQWCACKAIAQSNHDUQMUQsgAEG5mAEgARBYIAIoAgBBJEcNQwxKCyAAQbqYASABEFggAigCAEElRg1BDEILIABBu5gBIAEQWCACKAIAQSZHDUEMRQsgAEG8mAEgARBYIAIoAgBBJ0cNQAxECyAAQb2YASABEFggAigC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IAZqKAIANgIAIAZBBHIiByADKAIQaiACIAdqKAIANgIAIAZBCHIiByADKAIQaiACIAdqKAIANgIAIAZBDHIiBiADKAIQaiACIAZqKAIANgIAIAFBBGoiASAKRw0ACwsgBEEDcSIGBEADQCABQQJ0IgogAygCEGogAiAKaigCADYCACABQQFqIQEgCEEBaiIIIAZHDQALCyADKAIQIQELIAEgBEECdGogCTYCACADIARBAWo2AhQgBUEEaiIFIAxHDQALIABBAToAtAEgACAAKALsAjYC8AILIAAoAvwCIgogACgC+AIiBkcEQANAIAAoAnwhAQJAAkAgBigCACIJKAIMIgJFDQAgAigCAEEBRw0AIAIoAggNACACIQEMAQsgAUGoAWoiA0EgQQQQXSIBQgA3AgQgAUEBNgIAIAFCADcCDCABQRRqQgA3AgAgASADNgIcIAJFDQAgAUECNgIYIAEgA0EIQQQQXSIDNgIQIAMgAjYCACABQQE2AhQgASANQYB+cSINQQBBABDmAQsgAUIANwIIIAkgATYCDAJAIAEoAhQiAgRAIAEoAhAgAkECdGpBBGsoAgAoAgBBFkYNAQsgACgCfEGoAWpBCEEEEF0iDEIWNwIAIAEoAhAhAwJAIAEoAhQiBSABKAIYRwRAIAMhAgwBCyABIAVBAXRBAmoiAjYCGCABIAEoAhwgAkECdEEEEF0iAjYCECABKAIUIgVFBEBBACEFDAELQQAhCEEAIQIgBUEETwRAIAVBfHEhBwNAIAJBAnQiBCABKAIQaiADIARqKAIANgIAIARBBHIiCyABKAIQaiADIAtqKAIANgIAIARBCHIiCyABKAIQaiADIAtqKAIANgIAIARBDHIiBCABKAIQaiADIARqKAIANgIAIAJBBGoiAiAHRw0ACwsgBUEDcSIEBEADQCACQQJ0IgcgASgCEGogAyAHaigCADYCACACQQFqIQIgCEEBaiIIIARHDQALCyABKAIQIQILIAIgBUECdGogDDYCACABIAVBAWo2AhQLAkAgCSgCECICRQ0AIAAoAnwhAQJAAkAgAigCAEEBRw0AIAIoAggNACACIQEMAQsgAUGoAWoiA0EgQQQQXSIBQgA3AgQgAUEBNgIAIAFCADcCDCABIAM2AhwgAUEUakKAgICAIDcCACABIANBCEEEEF0iAzYCECADIAI2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oAIQWgsgAkGABGokAA8LEAAhHiACQZgCahDIAhogHhAHAAtB1IkLQQA2AgBBDSAFIAkgAyAHEAVB1IkLKAIAIR9B1IkLQQA2AgAgH0EBRwRAAAsQACEDCyACQZgCahDEBiADEAcAC0HhlQZBuLMCQdsJQY/iAxABAAuxAgEDfyAAQdyjCDYCACAAKAKEAyIBBEAgACABNgKIAyABEFoLIAAoAvgCIgEEQCAAIAE2AvwCIAEQWgsgACgC7AIiAQRAIAAgATYC8AIgARBaCyAAKALgAiIBBEAgACABNgLkAiABEFoLIAAoAqQCIgEEQCAAIAE2AqgCIAEQWgsgACgCkAIiAQRAIAAgATYClAIgARBaCyAAKAKoASIBBEAgACgCrAEiAiABIgNHBEADQCACQQxrIgIgAigCBBC1AyABIAJHDQALIAAoAqgBIQMLIAAgATYCrAEgAxBaCyAAKAKgARBgIAAoApQBEPEHIABBhAFqIAAoAogBELUDIAAoAmwiAQRAIAAgATYCcCABEFoLIABBkO0JNgIAIAAsABNBAEgEQCAAKAIIEFoLIAALtAEBBH8CQCABKAIEIgJFBEAgASECA0AgAigCCCIDKAIAIAJHIQUgAyECIAUNAAsMAQsDQCACIgMoAgAiAg0ACwsgASAAKAIARgRAIAAgAzYCAAsgACAAKAIIQQFrNgIIIAAoAgQgARDlASABKAIYIgAEQCABKAIcIgMgACICRwRAA0AgA0EMayADQRBrIgMoAggQlwMgACADRw0ACyABKAIYIQILIAEgADYCHCACEFoLIAEQWgu+IgEOfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgASgCACICKAIADl4AAQIDBAUGBwgJCgsMDR4fICEiIyQlNTYODxAREhMUFRYXGBkaGxwdNyYnKCkq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lwEgARBYIAIoAgBBKEYNJQwmCyAAQYyXASABEFggAigCAEE4Rw0lIAIoAgwiAUEATA0kIABBBGohBANAIAFBAWsiACACKAIMTw0nIAIoAgggAEECdGoiAygCAEUNKCAEQcKWASADEFsgAUEBSyELIAAhASALDQALDCQLIABBjZcBIAEQWCACKAIAQTlHDSQMNAsgAEGOlwEgARBYIAIoAgBBOkcNIwwzCyAAQY+XASABEFggAigCAEE7Rw0iDDILIABBkJcBIAEQWCACKAIAQTxHDSEgAEHClgEgAkEYahBYIAIoAgwiAUEATA0gIABBBGohBANAIAFBAWsiACACKAIMTw0jIAIoAgggAEECdGoiAygCAEUNJCAEQcKWASADEFsgAUEBSyEMIAAhASAMDQALDCALIABBkZcBIAEQWCACKAIAQT1HDSAMMAsgAEGSlwEgARBYIAIoAgBBPkcNHwwvCyAAQd6WASABEFggAigCAEE/Rw0eIABBwpYBIAJBFGoQWA8LIABBk5cBIAEQWCACKAIAQcAARw0dIAIoAgwiAUEATA0cIABBBGohBANAIAFBAWsiACACKAIMTw0fIAIoAgggAEECdGoiAygCAEUNICAEQcKWASADEFsgAUEBSyENIAAhASANDQALDBwLIABBlJcBIAEQWCACKAIAQcEARw0cDCgLIABBlZcBIAEQWCACKAIAQcIARw0bDCYLIABBlpcBIAEQWCACKAIAQcMARw0aIABBwpYBIAJBDGoQWCACKAIIRQ0ZDCsLIABBl5cBIAEQWCACKAIAQcQARw0ZDCELIABBmJcBIAEQWCACKAIAQcUARw0YDCALIABBmZcBIAEQWCACKAIAQcYARw0XIAIoAgwiAUEATA0WIABBBGohBANAIAFBAWsiACACKAIMTw0ZIAIoAgggAEECdGoiAygCAEUNGiAEQcKWASADEFsgAUEBSyEOIAAhASAODQALDBYLIABBmpcBIAEQWCACKAIAQccARw0WDBsLIABBm5cBIAEQWCACKAIAQcgARw0VDBkLIABBnJcBIAEQWCACKAIAQckARw0UDCQLIABBnZcBIAEQWCACKAIAQcoARw0TIABBwpYBIAJBGGoQWAwWCyAAQZ6XASABEFggAigCAEHLAEcNEgwVCyAAQZ+XASABEFggAigCAEHMAEcNEQwXCyAAQaCXASABEFggAigCAEHNAEcNEAwWCyAAQaGXASABEFggAigCAEHOAEcNDwwbCyAAQaKXASABEFggAigCAEHPAEcNDiACKAIYBEAgAEEEakHClgEgAkEYahBbCyACKAIUBEAgAEEEakHClgEgAkEUahBbCyACKAIQBEAgAEEEakHClgEgAkEQahBbCwwaCyAAQaOXASABEFggAigCAEHQAEYNDAwNCyAAQaSXASABEFggAigCAEHRAEcNDAwYCyAAQaWXASABEFggAigCAEHSAEcNCyACKAIUBEAgAEEEakHClgEgAkEUahBbCwwWCyAAQaaXASABEFggAigCAEHTAEcNCgwPCyAAQaeXASABEFggAigCAEHUAEcNCQwUCyAAQaiXASABEFggAigCAEHVAEcNCAwUCyAAQamXASABEFggAigCAEHWAEcNBwwLCyAAQaqXASABEFggAigCAEHXAEcNBgwLCyAAQauXASABEFggAigCAEHYAEcNBQwVCyAAQayXASABEFggAigCAEHZAEcNBAwPCyAAQa2XASABEFggAigCAEHaAEcNAwwNCyAAQa6XASABEFggAigCAEHbAEcNAgwHCyAAQa+XASABEFggAigCAEHcAEcNASAAQcKWASACQTxqEFggAigCMCIBQQBMDQAgAEEEaiEEA0AgAUEBayIAIAIoAjBPDQMgAigCLCAAQQJ0aiIDKAIARQ0EIARBwpYBIAMQWyABQQFLIQ8gACEBIA8NAAsLDwtB8O0FQcWYA0GUBkGN3gAQAQALQcWiAUGJogNBvAFBpogFEAEAC0GBgwJB05kDQbkCQa73AhABAAsgAEHClgEgAkEUahBYCyAAQcKWASACQRBqEFgLIABBwpYBIAJBDGoQWAwKCyAAQcKWASACQRxqEFgLIABBwpYBIAJBGGoQWAsgAEHClgEgAkEUahBYCyAAQcKWASACQRBqEFgPCyAAQcKWASACQRRqEFgLIABBwpYBIAJBEGoQWAsgAEHClgEgAkEMahBYDwsgAEHClgEgAkEoahBYCyAAQcKWASACQSRqEFgPCyAAQcKWASACQRxqEFggAEHClgEgAkEYahBYDwsgAEHClgEgAkEIahBYDwsgAEEEakHClgEgAkEIahBbC7gRAQ1/IABBADoAtAEgAEEUaiABQTBqEPIHIAAoAvACIgwgACgC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NwKQAyACKAKgAyIEBEADQCAEKAIAIR0gBCgCGCIDBEADQCADKAIAIRwgAxBaIBwiAw0ACwsgBCgCECEBIARBADYCECABBEAgARBaCyAEEFogHSIEDQALCyACKAKYAyEAIAJBADYCmAMgAARAIAAQWgsgAigChAMiAARAIAIgADYCiAMgABBaCyACQZDtCTYCmAIgAiwAqwJBAE4NACACKAKgAhBaCyACQYAEaiQADwsQACEeIAJBmAJqEMgCGiAeEAcAC0HUiQtBADYCAEENIAUgCSADIAcQBUHUiQsoAgAhH0HUiQtBADYCACAfQQFHBEAACxAAIQMLIAJBmAJqEMQGIAMQBwALQeGVBkG4swJB2wlBj+IDEAEAC7ECAQN/IABBrKMINgIAIAAoAoQDIgEEQCAAIAE2AogDIAEQWgsgACgC+AIiAQRAIAAgATYC/AIgARBaCyAAKALsAiIBBEAgACABNgLwAiABEFoLIAAoAuACIgEEQCAAIAE2AuQCIAEQWgsgACgCpAIiAQRAIAAgATYCqAIgARBaCyAAKAKQAiIBBEAgACABNgKUAiABEFoLIAAoAqgBIgEEQCAAKAKsASICIAEiA0cEQANAIAJBDGsiAiACKAIEEJcDIAEgAkcNAAsgACgCqAEhAwsgACABNgKsASADEFoLIAAoAqABEGAgACgClAEQ8wcgAEGEAWogACgCiAEQlwMgACgCbCIBBEAgACABNgJwIAEQWgsgAEGQ7Qk2AgAgACwAE0EASARAIAAoAggQWgsgAAu0AQEEfwJAIAEoAgQiAkUEQCABIQIDQCACKAIIIgMoAgAgAkchBSADIQIgBQ0ACwwBCwNAIAIiAygCACICDQALCyABIAAoAgBGBEAgACADNgIACyAAIAAoAghBAWs2AgggACgCBCABEOUBIAEoAhgiAARAIAEoAhwiAyAAIgJHBEADQCADQQxrIANBEGsiAygCCBCYAyAAIANHDQALIAEoAhghAgsgASAANgIcIAIQWgsgARBaC74iAQ5/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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AEUNKCAEQfuUASADEFsgAUEBSyELIAAhASALDQALDCQLIABBxpUBIAEQWCACKAIAQTlHDSQMNAsgAEHHlQEgARBYIAIoAgBBOkcNIwwzCyAAQciVASABEFggAigCAEE7Rw0iDDILIABByZUBIAEQWCACKAIAQTxHDSEgAEH7lAEgAkEYahBYIAIoAgwiAUEATA0gIABBBGohBANAIAFBAWsiACACKAIMTw0jIAIoAgggAEECdGoiAygCAEUNJCAEQfuUASADEFsgAUEBSyEMIAAhASAMDQALDCALIABBypUBIAEQWCACKAIAQT1HDSAMMAsgAEHLlQEgARBYIAIoAgBBPkcNHwwvCyAAQZeVASABEFggAigCAEE/Rw0eIABB+5QBIAJBFGoQWA8LIABBzJUBIAEQWCACKAIAQcAARw0dIAIoAgwiAUEATA0cIABBBGohBANAIAFBAWsiACACKAIMTw0fIAIoAgggAEECdGoiAygCAEUNICAEQfuUASADEFsgAUEBSyENIAAhASANDQALDBwLIABBzZUBIAEQWCACKAIAQcEARw0cDCgLIABBzpUBIAEQWCACKAIAQcIARw0bDCYLIABBz5UBIAEQWCACKAIAQcMARw0aIABB+5QBIAJBDGoQWCACKAIIRQ0ZDCsLIABB0JUBIAEQWCACKAIAQcQARw0ZDCELIABB0ZUBIAEQWCACKAIAQcUARw0YDCALIABB0pUBIAEQWCACKAIAQcYARw0XIAIoAgwiAUEATA0WIABBBGohBANAIAFBAWsiACACKAIMTw0ZIAIoAgggAEECdGoiAygCAEUNGiAEQfuUASADEFsgAUEBSyEOIAAhASAODQALDBYLIABB05UBIAEQWCACKAIAQccARw0WDBsLIABB1JUBIAEQWCACKAIAQcgARw0VDBkLIABB1ZUBIAEQWCACKAIAQckARw0UDCQLIABB1pUBIAEQWCACKAIAQcoARw0TIABB+5QBIAJBGGoQWAwWCyAAQdeVASABEFggAigCAEHLAEcNEgwVCyAAQdiVASABEFggAigCAEHMAEcNEQwXCyAAQdmVASABEFggAigCAEHNAEcNEAwWCyAAQdqVASABEFggAigCAEHOAEcNDwwbCyAAQduVASABEFggAigCAEHPAEcNDiACKAIYBEAgAEEEakH7lAEgAkEYahBbCyACKAIUBEAgAEEEakH7lAEgAkEUahBbCyACKAIQBEAgAEEEakH7lAEgAkEQahBbCwwaCyAAQdyVASABEFggAigCAEHQAEYNDAwNCyAAQd2VASABEFggAigCAEHRAEcNDAwYCyAAQd6VASABEFggAigCAEHSAEcNCyACKAIUBEAgAEEEakH7lAEgAkEUahBbCwwWCyAAQd+VASABEFggAigCAEHTAEcNCgwPCyAAQeCVASABEFggAigCAEHUAEcNCQwUCyAAQeGVASABEFggAigCAEHVAEcNCAwUCyAAQeKVASABEFggAigCAEHWAEcNBwwLCyAAQeOVASABEFggAigCAEHXAEcNBgwLCyAAQeSVASABEFggAigCAEHYAEcNBQwVCyAAQeWVASABEFggAigCAEHZAEcNBAwPCyAAQeaVASABEFggAigCAEHaAEcNAwwNCyAAQeeVASABEFggAigCAEHbAEcNAgwHCyAAQeiVASABEFggAigCAEHcAEcNASAAQfuUASACQTxqEFggAigCMCIBQQBMDQAgAEEEaiEEA0AgAUEBayIAIAIoAjBPDQMgAigCLCAAQQJ0aiIDKAIARQ0EIARB+5QBIAMQWyABQQFLIQ8gACEBIA8NAAsLDwtB8O0FQcWYA0GUBkGN3gAQAQALQcWiAUGJogNBvAFBpogFEAEAC0GBgwJB05kDQbkCQa73AhABAAsgAEH7lAEgAkEUahBYCyAAQfuUASACQRBqEFgLIABB+5QBIAJBDGoQWAwKCyAAQfuUASACQRxqEFgLIABB+5QBIAJBGGoQWAsgAEH7lAEgAkEUahBYCyAAQfuUASACQRBqEFgPCyAAQfuUASACQRRqEFgLIABB+5QBIAJBEGoQWAsgAEH7lAEgAkEMahBYDwsgAEH7lAEgAkEoahBYCyAAQfuUASACQSRqEFgPCyAAQfuUASACQRxqEFggAEH7lAEgAkEYahBYDwsgAEH7lAEgAkEIahBYDwsgAEEEakH7lAEgAkEIahBbC7gRAQ1/IABBADoAtAEgAEEUaiABQTBqEPUHIAAoAvACIgwgACgC7AIiBUcEQANAIAUoAgAhAyAAKAJ8QagBakEIQQQQXSIJQhY3AgAgAygCECECAkAgAygCFCIEIAMoAhhHBEAgAiEBDAELIAMgBEEBdEECaiIBNgIYIAMgAygC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QgA3AgAgBUEANgIIQdSJC0EANgIAQYwCIAQgAigCKCACQShqIAItADMiBMBBAEgiBhsgAigCLCAEIAYbEAQhBEHUiQsoAgAhC0HUiQtBADYCACALQQFGDQUgAiwAM0EASARAIAIoAigQWgsgBSwAC0EASARAIAUoAgAQWgsgAywAC0EASARAIAMoAgAQWgsgAS0AIEUNCEHUiQtBADYCAEGNAiAEQdCXBRACGkHUiQsoAgAhDEHUiQtBADYCACAMQQFHDQkMDAsQACEADAwLEAAhACACLAAzQQBODQsgAigCKBBaDAsLEAAhAAwKCxAAIQAMAwsQACEADAELEAAhACACLAAzQQBODQAgAigCKBBaCyACLAAjQQBODQAgAigCGBBaCyACLAAXQQBODQUgAigCDBBaDAULIAEpAxghEEHUiQtBADYCAEHWjwEgAkEoaiIBIBAQ1gdB1IkLKAIAIQ1B1IkLQQA2AgAgDUEBRg0BQdSJC0EANgIAQYwCIAQgAigCKCABIAItADMiAcBBAEgiAxsgAigCLCABIAMbEAQaQdSJCygCACEOQdSJC0EANgIAIA5BAUYNAiACLAAzQQBODQAgAigCKBBaCyAEKAIAIQEgAiACKAI4IAQtAAsiAyADwEEASCIDGzYCLCACIAEgBCADGzYCKEHUiQtBADYCACACIAIpAig3AwBBBiAAIAIQA0HUiQsoAgAhD0HUiQtBADYCACAPQQFGDQIgBCwAC0EASARAIAQoAgAQWgsgAkFAayQADwsQACEADAILEAAhACACLAAzQQBODQEgAigCKBBaDAELEAAhAAsgAiwAP0EASARAIAIoAjQQWgsgABAHAAvPCQIQfwF+IwBBQGoiAiQAIAJBEBBcIgQ2AjQgAkKPgICAgIKAgIB/NwI4IARBnPIEKQAANwAHIARBlfIEKQAANwAAIARBADoAD0HUiQtBADYCAEHpBiACQShqIgQgAUEEahADQdSJCygCACEDQdSJC0EANgIAAkACQAJAAkACQAJAAkACQAJAAkAgA0EBRwRAQdSJC0EANgIAQYwCIAJBNGogAigCKCAEIAItADMiBMBBAEgiAxsgAigCLCAEIAMbEAQhBEHUiQsoAgAhB0HUiQtBADYCACAHQQFGDQEgAiwAM0EASARAIAIoAigQWgsgAS0ACCEDQdSJC0EANgIA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IAFBCGsiASAAIAIgASgCACAAEPYDIgIbKQIANwIAIAAgASACGyEAIARBCGohBAsgBCAAKQIANwIACwuVAwEHfyMAQRBrIgYkACAAIAEgAiADIAUQ3gkgBkEIaiIHIAUoAgAgBCgCACIIKAIAIAgQtwIgBigCCCgCECEIIAcgBSgCACADKAIAIgkoAgAgCRC3AgJAIAggBigCCCgCEE8NACADKAIAIQggAyAEKAIANgIAIAQgCDYCACAHIAUoAgAgAygCACIEKAIAIAQQtwIgBigCCCgCECEKIAcgBSgCACACKAIAIggoAgAgCBC3AiAKIAYoAggoAhBPDQAgAigCACEEIAIgAygCADYCACADIAQ2AgAgByAFKAIAIAIoAgAiAygCACADELcCIAYoAggoAhAhCyAHIAUoAgAgASgCACIEKAIAIAQQtwIgCyAGKAIIKAIQTw0AIAEoAgAhAyABIAIoAgA2AgAgAiADNgIAIAcgBSgCACABKAIAIgIoAgAgAhC3AiAGKAIIKAIQIQwgByAFKAIAIAAoAgAiAygCACADELcCIAwgBigCCCgCEE8NACAAKAIAIQIgACABKAIANgIAIAEgAjYCAAsgBkEQaiQAC6UFARB/IwBBEGsiBSQAQQEhAwJAAkACQAJAAkACQCABIABrQQJ1DgYFBQABAgMECyAFQQhqIgYgAigCACABQQRrIgcoAgAiASgCACABELcCIAUoAggoAhAhDiAGIAIoAgAgACgCACIBKAIAIAEQtwIgDiAFKAIIKAIQTw0EIAAoAgAhASAAIAcoAgA2AgAgByABNgIADAQLIAAgAEEEaiABQQRrIAIQ3wMMAwsgACAAQQRqIABBCGogAUEEayACEN4JDAILIAAgAEEEaiAAQQhqIABBDGogAUEEayACEJoNDAELIAAgAEEEaiAAQQhqIgYgAhDfAyAAQQxqIgcgAUYNAANAIAVBCGoiCCACKAIAIAcoAgAiAygCACADELcCIAUoAggoAhAhBCAIIAIoAgAgBigCACIDKAIAIAMQtwICQCAEIAUoAggoAhBPDQAgBygCACEJQQAhCCAHQQA2AgAgByEEAkADQCAGIgMoAgAhBiADQQA2AgAgBCAGNgIAIAgEQCAIEFoLAkAgACADRgRAIAAhAwwBCyACKAIAIQYgCSgCACEEQdSJC0EANgIAQeYA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aiADIAhqKAIANgIAIAVBDHIiBSABKAIQaiADIAVqKAIANgIAIABBBGoiACAGRw0ACwsgBEEDcSIFBEADQCAAQQJ0IgYgASgCEGogAyAGaigCADYCACAAQQFqIQAgB0EBaiIHIAVHDQALCyABKAIQIQALIAAgBEECdGogAjYCACABIARBAWo2AhQMAQsgAigCFCIIRQ0AA0AgAigCFCAFTQ0CIAIoAhAgBUECdGooAgAhCyABKAIQIQMCQCABKAIUIgQgASgCGEcEQCADIQAMAQsgASAEQQF0QQJqIgA2AhggASABKAIcIABBAnRBBBBdIgA2AhAgASgCFCIERQRAQQAhBAwBC0EAIQdBACEAIARBBE8EQCAEQXxxIQkDQCAAQQJ0IgYgASgCEGogAyAGaigCADYCACAGQQRyIgogASgCEGogAyAKaigCADYCACAGQQhyIgogASgCEGogAyAKaigCADYCACAGQQxyIgYgASgCEGogAyAGaigCADYCACAAQQRqIgAgCUcNAAsLIARBA3EiBgRAA0AgAEECdCIJIAEoAhBqIAMgCWooAgA2AgAgAEEBaiEAIAdBAWoiByAGRw0ACwsgASgCECEACyAAIARBAnRqIAs2AgAgASAEQQFqNgIUIAVBAWoiBSAIRw0ACwsgAUEAQQBBABDmASABDwtBxaIBQYmiA0G8AUGmiAUQAQALuC0CM38BfiMAQeACayICJAAgAUEwaiEKIABBFGohFCACQSRqIRAgAkHUAWohEiACQdABaiETIAJBgAFqIRUgAkH0AGohFiACQdAAaiEXIAJBxABqIRggAkE4aiEZIAJBLGohGgJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQANAIABBADoAgAEgFCAKEIQIAkAgACgCkAEgACgClAFGBEBBACEEIAAoAogBIgMhCyADIAAoAoQBIgVGDQEDQCAFIARBAnRqKAIAIgcoAgAiCSgCAEETRgRAAkAgCSgCCCIDRQRAIAlCFjcCAAwBCyAHIAM2AgAgACgChAEhBSAAKAKIASELCyAAQQE6AIABCyAEQQFqIgQgCyAFIgNrQQJ1SQ0ACwwBC0Hd9gVBpIwCQZcHQYnUAhABAAsgACADNgKIAQJAIAAoApwBIgQgACgCoAEiC0YEQCAALQCAASEFDAELA0BBACEFAkAgBCgC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AQsQACECCyADQUBrEGgMBgsQACECDAULEAAhAgwICyADKAKAASICBEADQCACKAIAISQgAhBaICQiAg0ACwsgAygCeCEAIANBADYCeCAARQ0AIAAQWgsCQCADKALUAkUNACADKALQAiICKAIAIgAgAygCzAIoAgQiATYCBCABIAA2AgAgA0EANgLUAiACIAtGDQADQCACKAIEISUgAigCOCIBBEAgAiABNgI8IAEQWgsgAhBaICUiAiALRw0ACwsgAygCwAIiAgRAA0AgAigCACEmIAIQWiAmIgINAAsLIAMoArgCIQAgA0EANgK4AiAABEAgABBaCyADKAKoAiIABEAgAyAANgKsAiAAEFoLIAMoAugBIgBFDQAgAyAANgLsASAAEFoLIANB4AJqJAAPC0HUiQtBADYCAEENIAUgBiACIAQQBUHUiQsoAgAhJ0HUiQtBADYCACAnQQFHDQIQACECCyADQfgAahCiAQwDC0HUiQtBADYCAEENIAQgByAFIAIQBUHUiQsoAgAhKEHUiQtBADYCACAoQQFGDQELAAsQACECCwJAIANBkAFqIgYoAsQBRQ0AIAYoAsABIgAoAgAiASAGKAK8ASgCBCIINgIEIAggATYCACAGQQA2AsQBIAAgBkG8AWoiBEYNAANAIAAoAgQhKSAAKAI4IggEQCAAIAg2AjwgCBBaCyAAEFogKSIAIARHDQALCyAGKAKwASIABEADQCAAKAIAISogABBaICoiAA0ACwsgBigCqAEhACAGQQA2AqgBIAAEQCAAEFoLIAYoApgBIgAEQCAGIAA2ApwBIAAQWgsgBigCWCIABEAgBiAANgJcIAAQWgsgAhAHAAveAgEHfyAAQeiECDYCACAAKAK4ASIBBEADQCABKAIAIQYgARBaIAYiAQ0ACwsgACgCsAEhASAAQQA2ArABIAEEQCABEFoLIAAoAqABIgEEQANAIAEiAigCACEBAkAgAigCECIDRQ0AIAMgAygCBCIEQQFrNgIEIAQNACADIAMoAgAoAggRAQAgAxB1CyACEFogAQ0ACwsgACgCmAEhASAAQQA2ApgBIAEEQCABEFoLIAAoAowBIgIEQANAIAIoAgAhByACKAIwIgMEQCADIQQgAyACKAI0IgFHBEADQCABQRhrEFkiASADRw0ACyACKAIwIQQLIAIgAzYCNCAEEFoL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AgRBGGogACgCfCADIAYQoQMEQCABIAQ2AhAgASADNgIMIAEgBjYCCCABIQMMCQsgASgCAEERRw0BIAEoAhAhByABKAIMIQYgASgCCCEDCyACQcTuCTYC4AFB1IkLQQA2AgAgAiACQeABaiIENgLwAUH/AiADIAYgBBAEIQZB1IkLKAIAIQFB1IkLQQA2AgACQCABQQFHBEACQAJAIAQgAigC8AEiAUYEQEEEIQUgBCEBDAELQQUhBSABRQ0BCyABIAEoAgAgBUECdGooAgARAQALIAZFDQIgAkHgAWogACgCBCAAKAJ8IAMQlQgCQCACLQCwAg0AIAIoAowCDQAgAi0AvAINACACKAKkAg0AIAItAKkCDQAgAi0AqwINACACLQCtAg0AIAItAK8CDQAgAi0AsgINACACLQD1AQ0AIAItALMCDQAgAigC1AINACACLQD0AQ0AIAIoAsgCDQAgAi0AvQJFDQILIAIoAtACEGAgAigCxAIQYCACKAKgAhBgIAIoApQCEGAgAigCiAIQbyACKAL8ARBvIAIoAugBIgBFDQIgACAAKAIEIgFBAWs2AgQgAQ0CIAAgACgCACgCCBEBACAAEHUMAgsQACEBAkAgAigC8AEiACACQeABaiIERgRAQQQhAyAEIQAMAQtBBSEDIABFDQsLIAAgACgCACADQQJ0aigCABEBACABEAcACyAAKAJ8IQEgACgCBCEAQdSJC0EANgIAQe/tACACQegAaiAAIAEgBxAFQdSJCygCACEAQdSJC0EANgIAAkACQCAAQQFHBEACQCACLQC4AQ0AIAIoApQBDQAgAi0AxAENACACKAKsAQ0AIAItALEBDQAgAi0AswENACACLQC1AQ0AIAItALcBDQAgAi0AugENACACLQB9DQAgAi0AuwENACACKALcAQ0AIAItAHwNACACKALQAQ0AQQAhACACLQDFAUUNAwtB1IkLQQA2AgBB8wUgAkHoAGogAkHgAWoQAiEBQdSJCygCACEEQdSJC0EANgIAQQEhAAJAIARBAUYNACABDQNBACEAQdSJC0EANgIAQbvBACAIIAcQAiEBQdSJCygCACEuQdSJC0EANgIAIC5BAUYNAEHUiQtBADYCAEGCAyAIIAEgA0EAQQAQEyEDQdSJCygCACEvQdSJC0EANgIAIC9BAUcNAwsQACEBIAJB6ABqEN8BGgwBCxAAIQELIAJB4AFqEN8BGiABEAcACyACKALYARBgIAIoAswBEGAgAigCqAEQYCACKAKcARBgIAIoApABEG8gAigChAEQbwJAIAIoAnAiAUUNACABIAEoAgQiBEEBazYCBCAEDQAgASABKAIAKAIIEQEAIAEQdQsgAigC0AIQYCACKALEAhBgIAIoAqACEGAgAigClAIQYCACKAKIAhBvIAIoAvwBEG8CQCACKALoASIBRQ0AIAEgASgCBCIEQQFrNgIEIAQNACABIAEoAgAoAggRAQAgARB1CyAARQ0HC0EAIQMMBgsgCEGoAWpBDEEEEF0iACAENgIIIABCEjcCACAAIAQoAgRBAUY2AgQgCCAAIAZCABDKAiEDDAULQfDtBUHFmANBlAZBjd4AEAEAC0HhzQZBn58DQcMBQfPnBBABAAsgACgCCEUNAQsgCEGoAWoiBEEQQQQQXSIDIAA2AgwgA0EUNgIIIANCDzcCACADELMCIARBEEEEEF0iACADNgIMIABBFDYCCCAAQg83AgAgABCzAiACIAA2ArADCyABKAIEQQNHBEAgACEDDAELIAhBqAFqQRBBBBBdIgMgADYCDCADQRc2AgggA0IPNwIAIAMQswILIAJBkAZqJAAgAw8LEAAhASADEFkaCyABEAcACxAAIQAgBRBZGgwFCxAACyEADAELEAAhACACQeABahBZGgwCCyADEFkaDAELEAAhACAEEFkaCyAAEAcAC+LRAwSHAn8LfgF8AX0jAEGAA2siByQAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgASgCBEEBRg0AAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ+AkACQAJAAkACQCABKAIIIgVBGkcgBUEBR3ENACABKAIQKAIAQQ5HDQAgASgCDCgCAEEORw0BC0EBIQICQAJAIAUOSAEAAQAAAAABAQEAAAAAAAEBAAAAAAAAAAABAAEAAAAAAQEBAAAAAAABAQAAAAAAAAAAAAAAAAABAQEBAAAAAAAAAAAAAQEBAQALQQAhAgsgAg0AIAVBD2siAkE8TQRAQv+HgPD/gL/AHyACrYhCAYOnDQELIAVBMmsiAkEPSw0BQQEgAnQiAkGFwAJxRQRAIAJBgoABcUUNAiABKAIQKAIAQQ5GDQEMAgsgASgCDCICKAIAQQ5HDQECQAJAIAIoAhhBBGsOAgABAgsgAioCCCKVAiCVAlsNAQwCCyACKwMIIpQCIJQCYg0BCwJAAkAgBUEaRyAFQQFHcQ0AIAEoAhAoAgBBDkcNACABKAIMKAIAQQ5HDQELQQEhAgJAAkAgBQ5IAQABAAAAAAEBAQAAAAAAAQEAAAAAAAAAAAEAAQAAAAABAQEAAAAAAAEBAAAAAAAAAAAAAAAAAAEBAQEAAAAAAAAAAAABAQEBAAtBACECCyACDQAgBUEPayICQTxNBEBC/4eA8P+Av8AfIAKtiEIBg6cNAQsgBUEyayICQQ9LDRxBASACdCICQYXAAnFFBEAgAkGCgAFxRQ0dIAEoAhAoAgBBDkcNHQwBCyABKAIMIgIoAgBBDkcNHAJAAkAgAigCGEEEaw4CAQACCyACKwMIIpQCIJQCYQ0BDB0LIAIqAggilQIglQJcDRwLIAEoAhAhAgJAAkACQAJAAkAgASgCDCIDKAIAQQ5GBEAgAigCAEEORg0BIAAoAgRBGGogACgCfCADIAIQoQNFDSUCQCABKAIIIgVBD2siAkE8Sw0AQv+HgPD/gL/AHyACrYhCAYNQDQAgASACQQJ0QYT9B2ooAgAiBTYCCAsgASgCECEDIAEgASgCDCICNgIQIAEgAzYCDAsgAigCACIEQQ5HDQELIAIoAgQiA0EHTw0xIANBAnQiBEG8/wdqKAIAIAVGBEAgB0HwAGoiBSACQQhqIgMQnQUgAyAFRwRAIAMQWSEDQdSJC0EANgIAQcAAIAMgBRACGkHUiQsoAgAhFEHUiQtBADYCACAUQQFGDQMLIAdB8ABqEFkaIAIoAgQiAkEHTw0yIAEgAkECdEHY/wdqKAIANgIIDAULAkAgBSAEQez6B2ooAgAiBkcNACACKAIYIgtBB08NMiACQQhqIQQCfgJAAkAgC0ECaw4CAQAJCyAEKQMADAELIAQ0AgALQn9SDQAgASADQQJ0QdD6B2ooAgA2AgggB0HwAGoiBSACKAIEEP8CAkAgBCAFRwRAIAQQWSECQdSJC0EANgIAQcAAIAIgBRACGkHUiQsoAgAhFUHUiQtBADYCACAVQQFGDQELIAdB8ABqEFkaDAYLDCELAkAgBSADQQJ0IgtBtPoHaigCACIJRw0AIAIoAhgiCkEHTw0yIAJBCGohBAJ+AkACQCAKQQJrDgIBAAkLIAQpAwAMAQsgBDQCAAtCf1INACABIANBAnRBmPoHaigCADYCCCAHQfAAaiIFIAIoAgQQ/wICQCAEIAVHBEAgBBBZIQJB1IkLQQA2AgBBwAAgAiAFEAIaQdSJCygCACEWQdSJC0EANgIAIBZBAUYNAQsgB0HwAGoQWRoMBgsMIQsCQCAFIAtBmPoHaigCAEcNACACKAIYIgtBB08NMiACQQhqIQQCfgJAAkAgC0ECaw4CAQAJCyAEKQMADAELIAQ0AgALQgFSDQAgASAJNgIIIAdB8ABqIgUgAigCBBD/AgJAIAQgBUcEQCAEEFkhAkHUiQtBADYCAEHAACACIAUQAhpB1IkLKAIAIRdB1IkLQQA2AgAgF0EBRg0BCyAHQfAAahBZGgwGCwwhCwJAIAUgA0ECdCILQdD6B2ooAgBHDQAgAigCGCIJQQdPDTIgAkEIaiEEAn4CQAJAIAlBAmsOAgEACQsgBCkDAAwBCyAENAIAC0IBUg0AIAEgBjYCCCAHQfAAaiIFIAIoAgQQ/wICQCAEIAVHBEAgBBBZIQJB1IkLQQA2AgBBwAAgAiAFEAIaQdSJCygCACEYQdSJC0EANgIAIBhBAUYNAQsgB0HwAGoQWRoMBgsMIQsCQCAFIAtBwKYIaigCAEcNACACKAIYIgZBB08NMiACQQhqIQQCfgJAAkAgBkECaw4CAQAJCyAEKQMADAELIAQ0AgALQgFSDQAgASADQQJ0QaSACGooAgA2AgggB0HwAGoiBSACKAIEEP8CAkAgBCAFRwRAIAQQWSECQdSJC0EANgIAQcAAIAIgBRACGkHUiQsoAgAhGUHUiQtBADYCACAZQQFGDQELIAdB8ABqEFkaDAYLDCELAkAgBSADQQJ0QYj7B2ooAgBHDQAgAigCGCIGQQdPDTIgAkEIaiEEAn4CQAJAIAZBAmsOAgEACQsgBCkDAAwBCyAENAIAC0IBUg0AIAEgA0ECdEHo/AdqKAIANgIIIAdB8ABqIgUgAigCBBD/AkHUiQtBADYCAEGxBSAEIAUQAhpB1IkLKAIAIRpB1IkLQQA2AgAgGkEBRwRAIAUQWRoMBgsMIQsCQAJAAkACQAJAAkACQAJAAkAgBUERaw4gAAgGCAQIAggICAgICAgICAgICAgICAgICAEIBwgFCAMICyACKAIYQQJHDTIgAkEIaiIEKAIAQYGAgIB4Rw0HIAFBDzYCCEHUiQtBADYCACAHQQI2AoABIAdBgICAgHg2AnBBsQUgBCAHQfAAaiICEAIaQdSJCygCACEbQdSJC0EANgIAIBtBAUcEQCACEFkaDA0LDCgLIAIoAhhBA0cNMiACQQhqIgQpAwBCgYCAgICAgICAf1INBiABQSg2AghB1IkLQQA2AgAgB0EDNgKAASAHQoCAgICAgICAgH83A3BBsQUgBCAHQfAAaiICEAIaQdSJCygCACEcQdSJC0EANgIAIBxBAUcEQCACEFkaDAwLDCcLIAIoAhhBAkcNMCACQQhqIgQoAgBBgYCAgHhHDQUgAUEQNgIIQdSJC0EANgIAIAdBAjYCgAEgB0GAgICAeDYCcEGxBSAEIAdB8ABqIgIQAhpB1IkLKAIAIR1B1IkLQQA2AgAgHUEBRwRAIAIQWRoMCwsMJgsgAigCGEEDRw0wIAJBCGoiBCkDAEKBgICAgICAgIB/Ug0EIAFBKTYCCEHUiQtBADYCACAHQQM2AoABIAdCgICAgICAgICAfzcDcEGxBSAEIAdB8ABqIgIQAhpB1IkLKAIAIR5B1IkLQQA2AgAgHkEBRwRAIAIQWRoMCgsMJQsgAigCGEECRw0uIAJBCGoiBCgCAEH+////B0cNAyABQQ82AghB1IkLQQA2AgAgB0ECNgKAASAHQf////8HNgJwQbEFIAQgB0HwAGoiAhACGkHUiQsoAgAhH0HUiQtBADYCACAfQQFHBEAgAhBZGgwJCwwkCyACKAIYQQNHDS4gAkEIaiIEKQMAQv7//////////wBSDQIgAUEoNgIIQdSJC0EANgIAIAdBAzYCgAEgB0L///////////8ANwNwQbEFIAQgB0HwAGoiAhACGkHUiQsoAgAhIEHUiQtBADYCACAgQQFHBEAgAhBZGgwICwwjCyACKAIYQQJHDSwgAkEIaiIEKAIAQf7///8HRw0BIAFBEDYCCEHUiQtBADYCACAHQQI2AoABIAdB/////wc2AnBBsQUgBCAHQfAAaiICEAIaQdSJCygCACEhQdSJC0EANgIAICFBAUcEQCACEFkaDAcLDCILIAIoAhhBA0cNLCACQQhqIgQpAwBC/v//////////AFINACABQSk2AghB1IkLQQA2AgAgB0EDNgKAASAHQv///////////wA3A3BBsQUgBCAHQfAAaiICEAIaQdSJCygCACEiQdSJC0EANgIAICJBAUcEQCACEFkaDAYLDCELQQEgA3RB8wBxBH9BywEFQdTQB0HozwcgA0ECRxsoAgALIAVGBEAgAkEIaiIDEPcLQn5RBEAgASACKAIEQRUQvQI2AgggB0HwAGoiBSACKAIEEOQNQdSJC0EANgIAQbEFIAMgBRACGkHUiQsoAgAhI0HUiQtBADYCACAjQQFHBEAgBRBZGgwHCwwiCyACKAIEIgNBB08NMiABKAIIIQULQQEgA3RB8wBxBH9BywEFQdzQB0HwzwcgA0ECRxsoAgALIAVHDQQgAkEIaiIDEPcLQn5SDQQgASACKAIEQRQQvQI2AgggB0HwAGoiBSACKAIEEOQNQdSJC0EANgIAQbEFIAMgBRACGkHUiQsoAgAhJEHUiQtBADYCACAkQQFHBEAgBRBZGgwFCwwgCyADKAIAIgVBCEcNASAEQQhGDQIgACgCBEEYaiAAKAJ8IAMgAhChA0UNAyAAKAIEQRhqIAAoAnwgASgCDCABKAIQEKEDRQ0iAkAgASgCCEEPayICQTxLDQBC/4eA8P+Av8AfIAKtiEIBg1ANACABIAJBAnRBhP0HaigCADYCCAsgASABKQIMQiCJNwIMDAMLEAAhBSAHQfAAahBZGgwlCyAEIAVHBEAgBCAFTg0CIAAoAgRBGGogACgCfCADIAIQoQNFDQIgACgCBEEYaiAAKAJ8IAEoAgwgASgCEBChA0UNIQJAIAEoAghBD2siAkE8Sw0AQv+HgPD/gL/AHyACrYhCAYNQDQAgASACQQJ0QYT9B2ooAgA2AggLIAEgASkCDEIgiTcCDAwCCwJAAkAgBEEPaw4CAAEDCyADKAIIIAIoAghMDQIgACgCBEEYaiAAKAJ8IAMgAhChA0UNAiAAKAIEQRhqIAAoAnwgASgCDCABKAIQEKEDRQ0hAkAgASgCCEEPayICQTxLDQBC/4eA8P+Av8AfIAKtiEIBg1ANACABIAJBAnRBhP0HaigCADYCCAsgASABKQIMQiCJNwIMDAILIAMoAgggAigCCEwNASAAKAIEQRhqIAAoAnwgAyACEKEDRQ0BIAAoAgRBGGogACgCfCABKAIMIAEoAhAQoQNFDSACQCABKAIIQQ9rIgJBPEsNAEL/h4Dw/4C/wB8gAq2IQgGDUA0AIAEgAkECdEGE/QdqKAIANgIICyABIAEpAgxCIIk3AgwMAQsgAygCCCACKAIITQ0AIAAoAgRBGGogACgCfCADIAIQoQNFDQAgACgCBEEYaiAAKAJ8IAEoAgwgASgCEBChA0UNHwJAIAEoAghBD2siAkE8Sw0AQv+HgPD/gL/AHyACrYhCAYNQDQAgASACQQJ0QYT9B2ooAgA2AggLIAEgASkCDEIgiTcCDAsgACgCfCEDIAdCADcDiAEgB0EANgKAASAHQQA2AnggB0EANgJwIAcgB0HcAGo2AvQCIAdBBDYC7AIgByAHQfAAajYC8AIgByAHQTxqNgLoAiAHIAdBzABqNgJcIAcgB0HEAGo2AiggB0KAgICAMDcD8AEgAEEUaiELIAcgB0EoajYC/AEgByAHQegCajYC+AECQCABKAIAQRBHDQAgASgCDCgCBCICQQdPDS0gASgCCCACQQJ0Qdj/B2ooAgBHDQAgASAHQfgBahDjDUUNACAAKAIEQRhqIAAoAnwgBygCTCAHKAJEEKEDRQ0AIAcoAjwiASAHKAJENgIMIAEgBygCTDYCECABKAIEIAsoAgAoAgAoAgRHBEAgAEEBOgCBAQsgCyABEHkgAC0AgwEEQCAAQQE6AIIBDBkLIABBAToAgwEDQCAAQQA6AIIBIAsgACgCFCgCABDEAiAALQCCAQ0ACyAAQQA6AIMBDBgLIAcgB0HMAGo2AlwgB0IANwOIASAHQQA2AoABIAdBADYCeCAHQQA2AnAgByAHQShqNgL0AiAHQQQ2AuwCIAdBADYCKCAHIAdB8ABqNgLwAiAHIAdBxABqNgLoAiAHQoCAgIAwNwPwASAHIAdB6AJqNgL8ASAHIAdB3ABqNgL4AQJAAkACQAJAAkAgASgCACIFQRBHDQAgASgCDCgCBCICQQdPDTEgASgCCCACQQJ0Qdj/B2ooAgBHDQAgASAHQfgBahDiDQ0BIAEoAgAhBQsgBUEQRw0DIAEoAgwhAiABKAIIIgRBB0cNAiACKAIAQQ9HDQIgAigCCEEURw0CIAEoAhAiBSgCAEEPRw0CIAUoAghBFEcNAiACKAIMIQMgASAFKAIMNgIQIAEgAzYCDCABQQg2AgggAiABNgIMIAIoAgQgCygCACgCACgCBEcEQCAAQQE6AIEBCyALIAIQeSAALQCDAUUNASAAQQE6AIIBDBsLIAcoAkQiASAHKAJMNgIMIAEoAgQgCygCACgCACgCBEcEQCAAQQE6AIEBCyALIAEQeSAALQCDAQRAIABBAToAggEMGwsgAEEBOgCDAQNAIABBADoAggEgCyAAKAIUKAIAEMQCIAAtAIIBDQALIABBADoAgwEMGgsgAEEBOgCDAQNAIABBADoAggEgCyAAKAIUKAIAEMQCIAAtAIIBDQALIABBADoAgwEMGQsgB0EANgKAASAHIAQ2AugCIAdBADYCeCAHIAdB3ABqNgJwIAEoAhAiBSgCAEEORw0AIAcgBTYCXCAHQfABaiIEIAVBCGoQeiEFQdSJC0EANgIAQdvtACAHQfgAaiAFEAIhJkHUiQsoAgAhJUHUiQtBADYCACAlQQFGDSAgBRBZGiAmRQ0AIAcoAugCQQprIgVBHUsNAEEBIAV0QZ+AgPADcUUNACAEIAcoAlwiBSgCBBDdAkEDdEEBayAHKAJcKAIEEMsDAkACQAJAAkAgBSgCGCIEQQdPBEBB1IkLQQA2AgBBDUHhzQZBn58DQcMBQfPnBBAFQdSJCygCACEnQdSJC0EANgIAICdBAUYNAQwfCwJAAkAgBEECaw4CAwABCyAHIAcpA/ABIAUpAwiDNwNwDAMLQdSJC0EANgIAQRRB74QEQemkAkH6CRAIQdSJCygCACEoQdSJC0EANgIAIChBAUcNHgsQACEFDAILIAcgBygC8AEgBSgCCHE2AnALIAcgBDYCgAECQCAHKAJcQQhqIgUgB0HwAGoiBEcEQCAFEFkhBUHUiQtBADYCAEHAACAFIAQQAhpB1IkLKAIAISlB1IkLQQA2AgAgKUEBRg0BCyAHQfAAahBZGiAHQfABahBZGiAHKAJcIgUoAhgiBEEHTw0vIAVBCGohBQJAAkACQAJAAkACQCAEQQJrDgUEAAECAyULIAUpAwBCAFINBwwECyAFKgIAQwAAAABcDQYMAwsgBSsDAEQAAAAAAAAAAGINBQwCCyAHQgA3A3ggB0IANwNwIAUgB0HwAGpBEBBeRQ0BDAQLIAUoAgANAwsgAigCBCALKAIAKAIAKAIERwRAIABBAToAgQELIAsgAhB5IAAtAIMBBEAgAEEBOgCCAQwbCyAAQQE6AIMBA0AgAEEAOgCCASALIAAoAhQoAgAQxAIgAC0AggENAAsgAEEAOgCDAQwaCxAAIQUgB0HwAGoQWRoLDB4LIAdBADYCgAEgB0EANgJ4IAcgB0HcAGo2AnACQCABKAIAQRBHDQAgByABKAIINgLoAiABKAIQIgUoAgBBEEcNAAJAIAUoAgwiBigCBCIJQQdJBEAgBSgCCCEKQcsBIQJBwM8HIQQCQAJAAkACQAJAIAlBAmsOBAMAAQIEC0Gs0AchBAwCC0GY0QchBAwBC0Hk0QchBAsgBCgCACECCyACIApHDQIgBSgCECICKAIAQQ5HDQIgASgCDCEFIAcgAjYCXCAHQfABaiACQQhqEHohAkHUiQtBADYCAEHb7QAgB0H4AGogAhACIStB1IkLKAIAISpB1IkLQQA2AgAgKkEBRgRAEAAhACACEFkaDDMLIAIQWRogK0UNAiAHKALoAkEKayICQR1LDQJBASACdEGfgIDwA3FFDQICQAJAAkACQCAHKAJcIgIoAgRBAmsOAgABBgsgAigCGEECRw0rIAIoAghBH3EiAkUNAiACQR9GDQEMBQsgAigCGEEDRw0rIAIpAwhCP4MiiQJQDQEgiQJCP1INBAsgASgCAEEQRw0CIAEgBjYCECAAIAEQtQIMGwsgB0HwAGoiAiAAKAIEIAAoAnwgBhCVCCACEO0FISwgAhDfARogLA0CIAAgBRC1AgwaCwwuCwwkCwJAIAEoAgAiBUEQRwRAQQAhAgwBCwJAIAEoAgwiAigCBCIEQQdJBEACQAJAAkAgASgCCCAEQQJ0Qdj/B2ooAgBHDQAgAigCAEEPRw0AIAIoAgwiBCgCBCIGQQdPDTIgAigCCCAGQQJ0QaT9CmooAgBHDQAgACgCBEEYaiAAKAJ8IAQgASgCEBChA0UNASABKAIEIgJBB08NMiABKAIQIQUgASAENgIQIAEgBTYCDCABIAJBAnRBvP8HaigCADYCCCALKAIAKAIAKAIEIAJHBEAgAEEBOgCBAQsgCyABEHkgAC0AgwEEQCAAQQE6AIIBDB4LIABBAToAgwEDQCAAQQA6AIIBIAsgACgCFCgCABDEAiAALQCCAQ0ACyAAQQA6AIMBDB0LIAVBEEYhAgwBCyABKAIAIgVBEEYhAiAFQRBHDQMLIAEoAgwoAgQiBEEHTw0vAkACQCABKAIIIgogBEECdEHY/wdqKAIARw0AIAEoAhAiBigCAEEPRw0AIAYoAgwiBCgCBCIJQQdPDTEgBigCCCAJQQJ0QcD9CmooAgBGDQELIAJFDQMgASgCDCgCBCIEQQdPDTAgASgCCCIKIARBAnRBvP8HaigCAEcNAyABKAIQIgYoAgBBD0cNAyAGKAIMIgQoAgQiCUEHTw0wIAYoAgggCUECdEHc/QpqKAIARw0DCyABKAIEIgNBB08NAUEEQQMgCiADQQJ0Qdj/B2ooAgBGGyEFQcsBIQICQAJ/AkACQAJAAkAgA0ECaw4EAAECAwULIAVBAnRBhM8HagwDCyAFQQJ0QfDPB2oMAgsgBUECdEHc0AdqDAELIAVBAnRBqNEHagsoAgAhAgsgASAENgIQIAEgAjYCCCALKAIAKAIAKAIEIANHBEAgAEEBOgCBAQsgCyABEHkgAC0AgwEEQCAAQQE6AIIBDBsLIABBAToAgwEDQCAAQQA6AIIBIAsgACgCFCgCABDEAiAALQCCAQ0ACyAAQQA6AIMBDBoLDC4LDC0LIAdCADcDiAEgB0EANgKAASAHQQA2AnggB0EANgJwIAdCADcDiAIgB0EANgKAAiAHQQA2AvgBIAdBADYC8AECQCACRQ0AIAEoAgwiCSgCBCIGQQdPDS0gASgCCCEKQcsBIQJBmM8HIQQCQAJAAkACQAJAIAZBAmsOBAMAAQIEC0GE0AchBAwCC0Hw0AchBAwBC0G80QchBAsgBCgCACECCyACIApHDQACQCAJKAIAQRBHDQAgCSgCDCICKAIEIgZBB08NLiAJKAIIIQpBywEhBUGUzwchBAJAAkACQAJAAkAgBkECaw4EAwABAgQLQYDQByEEDAILQezQByEEDAELQbjRByEECyAEKAIAIQULIAUgCkcNACACKAIAQQ5HDQAgB0HoAmogAkEIahB6IQVB1IkLQQA2AgBB5O0AIAdB+ABqIAUQAiECQdSJCygCACEEQdSJC0EANgIAAkAgBEEBRwRAIAUQWRogAkUNAiABKAIQIgIoAgBBEEcNAiACKAIMIgQoAgQiCkEHTw0wIAIoAgghDUHLASEFQZTPByEGAkACQAJAAkACQCAKQQJrDgQDAAECBAtBgNAHIQYMAgtB7NAHIQYMAQtBuNEHIQYLIAYoAgAhBQsgBSANRw0CIAQoAgBBDkcNAiAJKAIQIQYgB0HoAmogBEEIahB6IQVB1IkLQQA2AgBB5O0AIAdB+AFqIAUQAiEEQdSJCygCACEtQdSJC0EANgIAIC1BAUcNAQsMIgsgBRBZGiAERQ0AIAEgAigCEDYCECABIAY2AgwgASgCBCALKAIAKAIAKAIERwRAIABBAToAgQELIAsgARB5IAAtAIMBBEAgAEEBOgCCAQwaCyAAQQE6AIMBA0AgAEEAOgCCASALIAAoAhQoAgAQxAIgAC0AggENAAsgAEEAOgCDAQwZCyABKAIAIQULIAdCADcDiAEgB0EANgKAASAHQQA2AnggB0EANgJwIAcgB0HMAGo2AmggB0KAgICAwAA3AlwgByAHQfAAajYCZCAHIAdB2ABqNgJMIAcgB0HUAGo2AkQgB0KAgICA0AA3A/ABIAcgB0HEAGo2AvwBIAcgB0HcAGo2AvgBAkACQAJAAkACfwJAAkACQCAFQRBHDQAgASgCDCgCBCIGQQdPDTQgASgCCCEJQcsBIQJBmM8HIQQCQAJAAkACQAJAIAZBAmsOBAMAAQIEC0GE0AchBAwCC0Hw0AchBAwBC0G80QchBAsgBCgCACECCyACIAlHDQAgASAHQfgBahDjDQ0BIAEoAgAhBQsgB0IANwOIAiAHQQA2AoACIAdBADYC+AEgB0EANgLwASAHQoCAgIDAADcCKCAHIAdBIGo2AjQgByAHQdgAajYCPCAHIAdB1ABqNgIgIAcgB0HwAWo2AjAgB0KAgICA0AA3A+gCIAcgB0EoajYC9AIgByAHQTxqNgLwAiAFQRBHDQEgASgCDCgCBCICQQdPDTMgASgCCCEuQcsBIQVBmM8HIQoCQAJAAkACQAJAIAJBAmsOBAMAAQIEC0GE0AchCgwCC0Hw0AchCgwBC0G80QchCgsgCigCACEFCyAuIAVHDQEgASAHQfACahDiDUUNAQsgBygCWCgCAEEORg0AIAAoAnwiBSAHKAJUKAIAQQ5GDQEaIAEoAgQiAkEHTw0yIAdBCGogAhD/AiAHKAIYQQJrQQVPBEBB1IkLQQA2AgBBDUGR+wVBmpYDQdYEQazSABAFQdSJCygCACEvQdSJC0EANgIAIC9BAUcNIAwfCyACQQJ0Qbz/B2ooAgAhA0HUiQtBADYCAEEMIAVBqAFqIgVBIEEIEAQhAkHUiQsoAgAhMEHUiQtBADYCACAwQQFGDR4gAkIANwIEIAJBDjYCACACQgA3AgwgAkIANwIUQdSJC0EANgIAQbEFIAJBCGogB0EIaiIEEAIaQdSJCygCACExQdSJC0EANgIAIDFBAUYNHiACIAcoAhg2AgQgASgCCCEGQdSJC0EANgIAIAcoAlQhCCAHKAJYIQtBDCAFQRRBBBAEIQFB1IkLKAIAITJB1IkLQQA2AgAgMkEBRg0eIAEgCDYCECABIAs2AgwgASAGNgIIIAFCEDcCAEHUiQtBADYCAEHl7QAgARAKQdSJCygCACEzQdSJC0EANgIAIDNBAUYNHkHUiQtBADYCAEEMIAVBFEEEEAQhBUHUiQsoAgAhNEHUiQtBADYCACA0QQFGDR4gBSABNgIQIAUgAjYCDCAFIAM2AgggBUIQNwIAQdSJC0EANgIAQeXtACAFEApB1IkLKAIAITVB1IkLQQA2AgAgNUEBRg0eQdSJC0EANgIAQePtACAAIAUQA0HUiQsoAgAhNkHUiQtBADYCACA2QQFGDR4gBBBZGgwdCyAAKAJ8Cy0AhAFBIHFFDQAgB0EANgKAASAHQQA2AnggByAHQcwAajYCcCAHQQA2AoACIAdBADYC+AEgByAHQcQAajYC8AECQCABKAIAQRBHDQAgASgCCEEkRw0AIAEoAgwiAigCAEEQRw0AIAIoAghBI0cNACAHIAIoAgw2AjwgAigCECICKAIAQQ5HDQAgByACNgJMIAdB6AJqIAJBCGoQeiEFQdSJC0EANgIAQebtACAHQfgAaiAFEAIhAkHUiQsoAgAhBEHUiQtBADYCAAJAIARBAUcEQCAFEFkaIAJFDQIgASgCECICKAIAQQ5HDQIgByACNgJEIAdB6AJqIAJBCGoQeiEFQdSJC0EANgIAQebtACAHQfgBaiAFEAIhAkHUiQsoAgAhN0HUiQtBADYCACA3QQFHDQELDCULIAUQWRogAkUNACAHKAJMEPwCIAcoAkQQ/AJHDQACQAJAIAcoAkwQ/AJBIGsOGQECAgICAgICAgICAgICAgIAAgICAgICAgQCCyAAIANBMiAHKAI8ENIDELUCDB0LIAAgA0EzIAcoAjwQ0gMQtQIMHAsgByAHQTxqNgIoIAdBADYCgAEgB0KAgICAoAE3AlwgByAHQfAAajYCaCAHQQA2AnggByAHQShqNgJkIAcgB0HMAGo2AnAgB0EANgKAAiAHQQA2AvgBIAcgB0HEAGo2AvABIAdCgICAgLABNwPoAiAHIAdB8AFqNgL0AiAHIAdB3ABqNgLwAiABKAIAQRBHDQAgASgCCEELRw0AIAEgB0HwAmoQ3gRFDQAgBygCTBD8AiAHKAJEEPwCRw0AAkACQCAHKAJMEPwCQRBrDgkBAgICAgICAgACCyAAIANBLyAHKAI8ENIDELUCDBwLIAAgA0EwIAcoAjwQ0gMQtQIMGwsgByAANgLsAiAHIAdBKGo2AugCIAdBADYCgAEgB0EANgJ4IAcgB0HcAGo2AnAgB0KAgICA0AM3A/ABIAcgB0HwAGo2AvwBIAcgB0HoAmo2AvgBAkAgB0HwAWogARDsBUUNACAHKAJcIgIoAhgiBUEHTw0wIAJBCGohAgJAAkACQAJAAkAgBUECaw4FAwQAAQIlCyACKgIAQwAAAABbDR0MBAsgAisDAEQAAAAAAAAAAGENHAwDCyAHQgA3A/gBIAdCADcD8AEgAiAHQfABakEQEF5FDRsMAgsgAigCAA0BDBoLIAIpAwBQDRkLIAcgADYC7AIgByAHQShqNgLoAiAHQQA2AoABIAdBADYCeCAHIAdB3ABqNgJwIAdCgICAgPACNwPwASAHIAdB8ABqNgL8ASAHIAdB6AJqNgL4ASAHQfABaiABEOwFRQ0CIAcoAlwiAigCGCIFQQdPDS8gAkEIaiECAkACQAJAAkAgBUECaw4FAwUAAQIjCyACKgIAQwAAAABbDRoMBQsgAisDAEQAAAAAAAAAAGENGQwECyAHQgA3A/gBIAdCADcD8AEgAiAHQfABakEQEF5FDRgMAwsgAigCAA0CDBcLIAAgA0ExIAcoAjwQ0gMQtQIMGQsgAikDAFANFQsgB0EANgJMIAdBADYCRCAHQQA2AjwgByAHQfAAajYCaCAHQoCAgICgATcCXCAHIAdBPGo2AiggByAHQcwAajYCgAEgB0EANgJ4IAdBADYCcCAHIAdBKGo2AmQgByAHQcQAajYCgAIgB0EANgL4ASAHQQA2AvABIAdCgICAgLABNwPoAiAHIAdB8AFqNgL0AiAHIAdB3ABqNgLwAgJAAkAgASgCAEEQRw0AIAEoAghBC0cNACABIAdB8AJqEN4ERQ0AIAcoAkQiAkEfcSAHKAJMQR9xSw0AIAJFDQAgBygCPCIFRQ0AAn8gASgCAEEQRgRAIAEoAgwiAigCAEEQRw0nIAIoAhAiAygCAEEORw0nIAEoAhAhAgJ/AkACQCADKAIEQQJrDgIAASsLIAMoAhhBAkcNKyADKAIIQR9xDAELIAMoAhhBA0cNKyADKAIIQT9xCyEDIAIoAgBBDkcNJyAHIAMCfwJAAkAgAigCBEECaw4CAAErCyACKAIYQQJHDSsgAigCCEEfcQwBCyACKAIYQQNHDSsgAigCCEE/cQtrNgLwASABEIsEDAELDCYLIQQCQCAHKALwASIGDQAgACgCBEEYaiEIIAAoAnwhCSAFIQIDQCAHIAIiAzYCcCADIAdB8ABqIAggCUEAEP0CKAIAIgJHDQALIAMoAgBBDEcNACADLQAgDQAgBEEIRiADLQAIIgJBAUZxRQRAIARBEEcNASACQQJHDQELIAMgBUcEQCADLQAJRQ0BCyADQQE6AAkgACAFELUCDBoLIAQgBSAAEL4CIAZqSwRAIAEQ4Q0iASgCBCALKAIAKAIAKAIERwRAIABBAToAgQELIAsgARB5IAAtAIMBBEAgAEEBOgCCAQwbCyAAQQE6AIMBA0AgAEEAOgCCASALIAAoAhQoAgAQxAIgAC0AggENAAsgAEEAOgCDAQwaCyMAQYABayICJAAgBSgCACEDAn8CQEEAIAUoAgRBAkYEfwJ/IANBD0YEQEEAIAUoAghBL2tBAUsNBBogBSgCDAwBCyACQQA2AmQgAkEANgJgIAJBADYCXCACIAJBIGo2AlQgAkKAgICAoAE3AkggAiACQdwAajYCQCACIAJB5ABqNgIwIAJBADYCKCACQQA2AiAgAiACQUBrNgJQIAIgAkHgAGo2AhAgAkEANgIIIAJBADYCACACQoCAgICwATcDaCACIAI2AnQgAiACQcgAajYCcAJAIANBEEcNACAFKAIIQQtHDQAgBSACQfAAahDeBEUNACACKAJkIgMgAigCYEcNACACKAJcQQAgAxsMAQtBAAsNASAFKAIABSADC0EIRw0BGiAAKAKEASAFKAIIQQN0aigCBCAERgwBCyAFEIsEIARGCyE4IAJBgAFqJAAgOEUNASAGDQEgARDhDSIBKAIEIAsoAgAoAgAoAgRHBEAgAEEBOgCBAQsgCyABEHkgAC0AgwEEQCAAQQE6AIIBDBoLIABBAToAgwEDQCAAQQA6AIIBIAsgACgCFCgCABDEAiAALQCCAQ0ACyAAQQA6AIMBDBkLAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIIDkMBAQsLCwsLCwsLCwsLCwsAAAsLCwsLCwsLAQELCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLAgILCwsLCwsLCwsLCwICCwsgASgCECIDKAIAITlBACEFAkAgASgCDCICKAIEQQJHDQAgAigCACIGQQ9GBEAgAigCCEEva0EBSw0BIAIoAgwhBQwBCyAHQQA2AkwgB0EANgJEIAdBADYCPCAHIAdB8ABqNgJoIAdCgICAgKABNwJcIAcgB0E8ajYCKCAHIAdBzABqNgKAASAHQQA2AnggB0EANgJwIAcgB0EoajYCZCAHIAdBxABqNgKAAiAHQQA2AvgBIAdBADYC8AEgB0KAgICAsAE3A+gCIAcgB0HwAWo2AvQCIAcgB0HcAGo2AvACAkAgBkEQRw0AIAIoAghBC0cNACACIAdB8AJqEN4ERQ0AIAcoAkwiAiAHKAJERw0AIAcoAjxBACACGyEFCwsgOUEORgRAIAVFDQsgASgCDBCLBCECIAMoAhhBAkcNMSADQQhqIgQoAgAgAkEBa3YiCEUEQCABIAAoAnwgBSACEPgENgIMIAAgARC1AgwkCyAAKAJ8IQYgCGlBISACa0YEQCABIAYgBSACEPgENgIMQdSJC0EANgIAIAdBAjYCgAIgB0F/QX9BICACa3YgAkEfShs2AvABQZ4EIAdB8ABqIgIgBCAHQfABaiIFEAhB1IkLKAIAIQNB1IkLQQA2AgACQAJAIANBAUcEQEHUiQtBADYCAEGxBSAEIAIQAhpB1IkLKAIAITpB1IkLQQA2AgAgOkEBRg0BIAIQWRogBRBZGiAAIAEQtQIMJwsQACEFDAELEAAhBSAHQfAAahBZGgsMKgsgB0HwAGoiAiABKAIIQRBGIAMoAgQQywNB1IkLQQA2AgBBsQUgBCACEAIaQdSJCygCACE7QdSJC0EANgIAIDtBAUcEQCACEFkaIAAgBiAGIAUQrwQgA0IAEMoCELUCDCQLDCcLIAUEQCABKAIQEIEKIgMEQCABKAIMEIsEIgIgASgCEBCLBEcNDCABIAAoAnwgBSACEPgENgIMIAEgACgCfCADIAIQ+AQ2AhAgACABELUCDCQLIAEoAhAiAigCAEEMRw0LIAEoAgwQiwQhAyACLQAJRQ0LIAMgAi0ACEEDdEcNCyACQQA6AAkgASAAKAJ8IAUgAxD4BDYCDCAAIAEQtQIMIwsgASgCDCICKAIAQQxHDQogASgCEBCBCiIDRQ0KIAEoAhAQiwQhBSACLQAJRQ0KIAUgAi0ACEEDdEcNCiACQQA6AAkgASAAKAJ8IAMgBRD4BDYCECAAIAEQtQIMIgsgASgCBEF+cUECRw0BQRAQXCIDQgE3AwggAyABNgIAQQAhBkEAIQogA0EQaiINIQUCQANAIAUiAkEQayIFKQMIIYkCAkACQAJAIAUoAgAiCSgCAEEOaw4DAAIBAgsgCSgCGCICQQdPBEBB1IkLQQA2AgBBDUHhzQZBn58DQcMBQfPnBBAFDCELAn4CQAJAAkAgAkECaw4CAgABCyAJKQMIDAILQdSJC0EANgIAQYkCEAkMIgsgCTQCCAsiigJQDQEgiQIgigJ+IIsCfCGLAiAIIApHBEAgCCAJNgIAIAhBBGohCAwCCwJAAkACQCAKIAZrIgJBAnUiCEEBaiIEQYCAgIAETwRAQdSJC0EANgIAQeftABAJDAELQf////8DIAJBAXUiDCAEIAQgDEkbIAJB/P///wdPGyIMRQRAQQAhBAwDCyAMQYCAgIAESQ0BQdSJC0EANgIAQQMQCQtB1IkLKAIAITxB1IkLQQA2AgAgPEEBRw0pEAAhBQwjC0HUiQtBADYCAEEEIAxBAnQQBiEEQdSJCygCACE9QdSJC0EANgIAID1BAUYNBAsgBCAIQQJ0aiIIIAk2AgAgCCECIAYgCkcEQANAIAJBBGsiAiAKQQRrIgooAgA2AgAgBiAKRw0ACwsgDEECdCAEaiEKIAhBBGohCCAGBEAgBhBaCyACIQYMAQsgCSgCBCIMQQdPBEBB1IkLQQA2AgBBDUHhzQZBn58DQcMBQfPnBBAFDB8LIAkoAggiBCAMQQJ0IgxB2P8HaigCAEYEQAJAAkAgBSANSQRAIAUgCSgCEDYCAAwBCyAFIANrIgRBBHUiDEEBaiICQYCAgIABTw0gQf////8AIA0gA2siDUEDdSIOIAIgAiAOSRsgDUHw////B08bIgJBgICAgAFPDR9B1IkLQQA2AgBBBCACQQR0Ig4QBiENQdSJCygCACE+QdSJC0EANgIAID5BAUYNASAEIA1qIgIgCSgCEDYCACANIAxBBHRqIIkCNwMIIAIhBCADIAVHBEADQCAEQRBrIgQgBUEQayIFKQMANwMAIAQgBSkDCDcDCCADIAVHDQALCyACQRBqIQIgDSAOaiENIAMEQCADEFoLIAQhAwsgAiANSQRAIAkoAgwhBSACIIkCNwMIIAIgBTYCACACQRBqIQUMAwsgAiADayIEQQR1IgxBAWoiBUH/////AEsNH0H/////ACANIANrIg1BA3UiDiAFIAUgDkkbIA1B8P///wdPGyIFQf////8ASw0eQdSJC0EANgIAQQQgBUEEdCIOEAYhDUHUiQsoAgAhP0HUiQtBADYCACA/QQFGDQAgBCANaiIFIAkoAgw2AgAgDSAMQQR0aiCJAjcDCCAFIQQgAiADRwRAA0AgBEEQayIEIAJBEGsiAikDADcDACAEIAIpAwg3AwggAiADRw0ACwsgBUEQaiEFIA0gDmohDSADRQRAIAQhAwwDCyADEFogBCEDDAILEAAhBQwhCyAMQbz/B2ooAgAgBEYEQCAJKAIMIgwoAgAhDkIAIIkCfSGKAgJAAkACQCAFIA1JBEAgBSAJKAIQNgIAIAUgigI3AwgMAQsCQAJAIAUgA2siBEEEdSIPQQFqIgJBgICAgAFPBEBB1IkLQQA2AgBB6O0AEAkMAQtB/////wAgDSADayINQQN1IhAgAiACIBBJGyANQfD///8HTxsiAkGAgICAAUkNAUHUiQtBADYCAEEDEAkLQdSJCygCACFAQdSJC0EANgIAIEBBAUcNKxAAIQUMJQtB1IkLQQA2AgBBBCACQQR0IhAQBiENQdSJCygCACFBQdSJC0EANgIAIEFBAUYNASAEIA1qIgIgCSgCEDYCACANIA9BBHRqIIoCNwMIIAIhBCADIAVHBEADQCAEQRBrIgQgBUEQayIFKQMANwMAIAQgBSkDCDcDCCADIAVHDQALCyACQRBqIQIgDSAQaiENIAMEQCADEFoLIAQhAwsCQCAMQQAgDkEORhsiBUUNACAFKAIYIgRBB08EQEHUiQtBADYCAEENQeHNBkGfnwNBwwFB8+cEEAUMIAsgBUEIaiEFAkACQAJAAkACQAJAIARBAmsOBQUAAQIDBAsgBSkDAEIAUg0FIAIhBQwJCyAFKgIAQwAAAABcDQQgAiEFDAgLIAUrAwBEAAAAAAAAAABiDQMgAiEFDAcLIAdCADcDeCAHQgA3A3AgBSAHQfAAakEQEF4NAiACIQUMBgtB1IkLQQA2AgBBFEHvhARB5poDQfYAEAgMIAsgBSgCAA0AIAIhBQwECyACIA1JBEAgCSgCDCEFIAIgiQI3AwggAiAFNgIAIAJBEGohBQwECyACIANrIgRBBHUiDEEBaiIFQYCAgIABTwRAQdSJC0EANgIAQejtABAJDB8LQf////8AIA0gA2siDUEDdSIOIAUgBSAOSRsgDUHw////B08bIgVBgICAgAFPBEBB1IkLQQA2AgBBAxAJDB8LQdSJC0EANgIAQQQgBUEEdCIOEAYhDUHUiQsoAgAhQkHUiQtBADYCACBCQQFGDQEgBCANaiIFIAkoAgw2AgAgDSAMQQR0aiCJAjcDCCAFIQQgAiADRwRAA0AgBEEQayIEIAJBEGsiAikDADcDACAEIAIpAwg3AwggAiADRw0ACwsgBUEQaiEFIA0gDmohDSADRQRAIAQhAwwECyADEFogBCEDDAMLEAAhBQwiCxAAIQUMIQsgDEGk+wdqKAIAIARGBEAgCSgCECIEKAIAQQ5HDQEgiQICfwJAAkACQAJAIAQoAgRBAmsOAgABAgsgBCgCGEECRg0CQaKuBSEAQZgCIQVBmbEFIQIMHgsgBCgCGEEDRwRAQYmkBSEAQaECIQVB7aYFIQIMHgsgBCgCCEE/cQwCC0HUiQtBADYCAEEUQe+EBEHpiQNBygAQCAwdCyAEKAIIQR9xC62GIYkCIAUgDUkEQCAFIAkoAgw2AgAgBSCJAjcDCCACIQUMAgsgBSADayIEQQR1IgxBAWoiAkGAgICAAU8EQEHUiQtBADYCAEHo7QAQCQwcC0H/////ACANIANrIg1BA3UiDiACIAIgDkkbIA1B8P///wdPGyICQYCAgIABTwRAQdSJC0EANgIAQQMQCQwcC0HUiQtBADYCAEEEIAJBBHQiDhAGIQ1B1IkLKAIAIUNB1IkLQQA2AgAgQ0EBRwRAIAQgDWoiBCAJKAIMNgIAIA0gDEEEdGogiQI3AwggBCECIAMgBUcEQANAIAJBEGsiAiAFQRBrIgUpAwA3AwAgAiAFKQMINwMIIAMgBUcNAAsLIARBEGohBSANIA5qIQ0gA0UEQCACIQMMAwsgAxBaIAIhAwwCCxAAIQUMIQsgBCAMQdz7B2ooAgBHDQAgCSgCDCIEKAIAQQ5GBEAgBCgCGCIMQQdPBEBB1IkLQQA2AgBBDUHhzQZBn58DQcMBQfPnBBAFDBoLAn4CQAJAAkAgDEECaw4CAgABCyAEKQMIDAILQdSJC0EANgIAQYkCEAkMGwsgBDQCCAsgiQJ+IYkCIAUgDUkEQCAFIAkoAhA2AgAgAkEIayCJAjcDACACIQUMAgsCQAJAIAUgA2siBEEEdSIMQQFqIgJBgICAgAFPBEBB1IkLQQA2AgBB6O0AEAkMAQtB/////wAgDSADayINQQN1Ig4gAiACIA5JGyANQfD///8HTxsiAkGAgICAAUkNAUHUiQtBADYCAEEDEAkLQdSJCygCACFEQdSJC0EANgIAIERBAUcNKBAAIQUMIgtB1IkLQQA2AgBBBCACQQR0Ig4QBiENQdSJCygCACFFQdSJC0EANgIAIEVBAUcEQCAEIA1qIgQgCSgCEDYCACANIAxBBHRqIIkCNwMIIAQhAiADIAVHBEADQCACQRBrIgIgBUEQayIFKQMANwMAIAIgBSkDCDcDCCADIAVHDQALCyAEQRBqIQUgDSAOaiENIANFBEAgAiEDDAMLIAMQWiACIQMMAgsQACEFDCELIAkoAhAiDCgCAEEORw0AIAwoAhgiDkEHTwRAQdSJC0EANgIAQQ1B4c0GQZ+fA0HDAUHz5wQQBQwYCwJ+AkACQAJAIA5BAmsOAgIAAQsgDCkDCAwCC0HUiQtBADYCAEGJAhAJDBkLIAw0AggLIIkCfiGJAiAFIA1JBEAgBSAENgIAIAJBCGsgiQI3AwAgAiEFDAELAkACQCAFIANrIgRBBHUiDEEBaiICQYCAgIABTwRAQdSJC0EANgIAQejtABAJDAELQf////8AIA0gA2siDUEDdSIOIAIgAiAOSRsgDUHw////B08bIgJBgICAgAFJDQFB1IkLQQA2AgBBAxAJC0HUiQsoAgAhRkHUiQtBADYCACBGQQFHDScQACEFDCELQdSJC0EANgIAQQQgAkEEdCIOEAYhDUHUiQsoAgAhR0HUiQtBADYCACBHQQFGDRMgBCANaiIEIAkoAgw2AgAgDSAMQQR0aiCJAjcDCCAEIQIgAyAFRwRAA0AgAkEQayICIAVBEGsiBSkDADcDACACIAUpAwg3AwggAyAFRw0ACwsgBEEQaiEFIA0gDmohDSADBEAgAxBaCyACIQMLIAMgBUcNAAsgCCAGa0EISQ0IIAYgCEcEQCAGIQUDQCAFKAIAIgQoAgQhCUHUiQtBADYCAEG3BSAHQfAAaiICIAkQA0HUiQsoAgAhSEHUiQtBADYCACBIQQFGDQkgAiAEQQhqIgRHBEAgBBBZIQRB1IkLQQA2AgBBwAAgBCACEAIaQdSJCygCACFJQdSJC0EANgIAIElBAUYNCQsgB0HwAGoQWRogBUEEaiIFIAhHDQALCyABKAIEIQggByABNgJcIAAoAgQhAiAHQgA3AsgBIAdCADcC0AEgB0IANwJwIAcgAkEYajYC3AEgACgCfCECQdSJC0EANgIAIAcgAjYC2AFB6e0AIAdB9ABqQertACAHQdwAahAIQdSJCygCACFKQdSJC0EANgIAIEpBAUYNEwJAQQAgBygCdCIEayAHKALMASIFIAcoAsgBIgJrQQN1RwRAIAdB+ABqIQkDQAJAIAIgBUYEQCAERQRAQf37AiEFQdoAIQJBsJQDIQBB3sQFIQEMGAsgCSAEQQFrIgRBA3RqIgIoAgQhBSACKAIAIQIgByAENgJ0DAELIAVBCGsiBCgCACECIAQoAgQhBSAHIAQ2AswBCyAHIAU2AnAgBSgCAEUEQEHQ+AIhBUHNAiECQdOZAyEAQfWCAiEBDBYLQdSJC0EANgIAIAIgB0HwAGogBRADQdSJCygCACFLQdSJC0EANgIAIEtBAUYNAkEAIAcoAnQiBGsgBygCzAEiBSAHKALIASICa0EDdUcNAAsLAkACQCCLAlAEQCAHKAJcIQUMAQtB1IkLQQA2AgBBjwwgB0HwAWoiCSCLAiAIENUHQdSJCygCACECQdSJC0EANgIAAkACQAJAIAJBAUcEQCAHKAJcIgIoAgBBDkcNAkHUiQtBADYCAEGVBCAHQegCaiIFIAJBCGoiBCAJEAhB1IkLKAIAIUxB1IkLQQA2AgAgTEEBRg0FIAQgBUcEQCAEEFkhBEHUiQtBADYCAEHAACAEIAUQAhpB1IkLKAIAIU1B1IkLQQA2AgAgTUEBRg0CCyAHQegCahBZGiACIQUMAwsQACEFDBoLEAAhBSAHQegCahBZGgwKCyAIQQdPBEBB1IkLQQA2AgBBDUHhzQZBn58DQcMBQfPnBBAFQdSJCygCACFOQdSJC0EANgIAIE5BAUcNKQwJCyAAKAJ8IQVB1IkLQQA2AgBBwAAgB0HoAmogB0HwAWoQAiEJQdSJCygCACFPQdSJC0EANgIAIE9BAUYNCCAJKAIQQQJrQQVPBEBB1IkLQQA2AgBBDUGR+wVBmpYDQdYEQazSABAFQdSJCygCACFQQdSJC0EANgIAIFBBAUcNKQwICyAIQQJ0Qdj/B2ooAgAhCkHUiQtBADYCAEEMIAVBqAFqIgVBIEEIEAQhCEHUiQsoAgAhUUHUiQtBADYCACBRQQFGDQcgCEIANwIEIAhBDjYCACAIQgA3AgwgCEIANwIUIAkgCEEIaiIERwRAIAQQWSEEQdSJC0EANgIAQcAAIAQgCRACGkHUiQsoAgAhUkHUiQtBADYCACBSQQFGDQgLIAggCSgCEDYCBEHUiQtBADYCAEEMIAVBFEEEEAQhBUHUiQsoAgAhU0HUiQtBADYCAEEBIQQgU0EBRg0HIAUgCDYCECAFIAI2AgwgBSAKNgIIIAVCEDcCAAJAIAIoAgQiAkEBRg0AIAgoAgRBAUYNAEECIAJC/4eA8P+Av8AfIApBD2siBK2Ip0EBcRsgAiAEQT1JGyEECyAFIAQ2AgQgCRBZGgsgB0HwAWoQWRogBygCyAEhAgsgAkUNCyAHIAI2AswBIAIQWgwLCxAAIQUMBgsQACEFDBQLEAAhBQwdCyABKAIMIgIoAgQgASgCECgCBEcNCCACKAIAQQ9HDQggAigCCCABKAIEQQAQlAhHDQggASgCECIFKAIAQQ9HDQggAigCCCAFKAIIRw0IIAEgAigCDDYCDCABIAUoAgw2AhAgAiABNgIMIAAgAhC1AgwgC0H4+gVBx40CQfoVQe6jARABAAsQACEFIAkQWRoMAQsQACEFCyAHQfABahBZGgwOCxAAIQUgB0HwAGoQWRoMFwsQACEFDBYLQQAhBSABKAIQIgIoAgBBDkcNAAJAAkACQAJAAkAgAigCGCIEQQdPBEBB1IkLQQA2AgBBDUHhzQZBn58DQcMBQfPnBBAFDAELIAJBCGohAgJAAkACQCAEQQJrDgUGBQQAAQILIAIrAwBEAAAAAAAAAABhDQYMBwsgB0IANwN4IAdCADcDcCACIAdB8ABqQRAQXkUNBQwGC0HUiQtBADYCAEEUQe+EBEHmmgNB9gAQCAtB1IkLKAIAIVRB1IkLQQA2AgAgVEEBRw0fEAAhBQwZCyACKgIAQwAAAABcDQMMAgsgAikDAFANAQwCCyACKAIADQELIAEoAgwhBQsgAwRAIAMQWgsgBgRAIAYQWgsgBUUNACAFKAIEIAsoAgAoAgAoAgRHBEAgAEEBOgCBAQsgCyAFEHkgAC0AgwEEQCAAQQE6AIIBDBkLIABBAToAgwEDQCAAQQA6AIIBIAsgACgCFCgCABDEAiAALQCCAQ0ACyAAQQA6AIMBDBgLAkACQAJAAkACQCABKAIQIgkoAgBBDkcNAAJAIAEoAghBB0cNACAJKAIYQQJHDSsgASgCDCECIAkoAggiBUF/RgRAIAAgAhC1AgweCyACKAIAQQxGBEAgBUH/AUYgAi0ACCIDQQFGcUUEQCAFQf//A0cNAiADQQJHDQILIAJBADoACSAAIAIQtQIMHgsgBUUNACAFQQFqIAVxDQAgAiAAEL4CQSAgBWdrSw0AIAAgASgCDBC1AgwdCwJ/IwBB8AxrIgMkAAJAAkACQAJAAkACQAJAAkACfwJAIAEiAigCECIFKAIAQQ5GBEAgACgCfCENIAUoAgQhCCADQbAMakIANwMAIANBqAxqQQA2AgAgA0EANgKgDCADQQA2ApgMAkAgAigCACIEQRBHDQAgAigCDCIMKAIEIg5BB08NPiACKAIIIQ9BywEhCkGszwchBgJAAkACQAJAAkAgDkECaw4EAwABAgQLQZjQByEGDAILQYTRByEGDAELQdDRByEGCyAGKAIAIQoLIAogD0cNACADIAw2AtQMIANB4AtqIAVBCGoQeiEEQdSJC0EANgIAQeTtACADQaAMaiAEEAIhVkHUiQsoAgAhVUHUiQtBADYCACBVQQFGDQogBBBZGiBWDQQgAigCACEECyADQfgLakIANwMAIANB8AtqQQA2AgAgA0EANgLoCyADQQA2AuALIARBEEcEQCADQcALakIANwMAIANBuAtqQQA2AgAgA0EANgKwCyADQQA2AqgLDAULIAIoAgwiCigCBCIMQQdPDT0gAigCCCEOQcsBIQRBsM8HIQYCQAJAAkACQAJAIAxBAmsOBAMAAQIEC0Gc0AchBgwCC0GI0QchBgwBC0HU0QchBgsgBigCACEECwJAAkAgBCAORw0AIAMgCjYC1AwgAigCECIEKAIAQQ5HDQAgA0HYDGogBEEIahB6IQRB1IkLQQA2AgBB5O0AIANB6AtqIAQQAiEGQdSJCygCACFXQdSJC0EANgIAIFdBAUcNAQwLCyADQcALakIANwMAIANBuAtqQQA2AgAgA0EANgKwCyADQQA2AqgLIANBsAtqDAMLIAQQWRogBkUNAQwDCwwzCyACKAIAIVggA0HAC2pCADcDACADQbgLakEANgIAIANBADYCsAsgA0EANgKoCyBYQRBHDQIgA0GwC2oLIQoCQCACKAIMIgwoAgQiDkEHSQRAIAIoAgghD0HLASEEQbTPByEGAkACQAJAAkACQCAOQQJrDgQDAAECBAtBoNAHIQYMAgtBjNEHIQYMAQtB2NEHIQYLIAYoAgAhBAsCfwJAAkAgBCAPRw0AIAMgDDYC1AwgAigCECIEKAIAQQ5HDQAgA0HYDGogBEEIahB6IQRB1IkLQQA2AgBB5O0AIAogBBACIQZB1IkLKAIAIVlB1IkLQQA2AgAgWUEBRw0BDAsLIANBiAtqQgA3AwAgA0GAC2pBADYCACADQQA2AvgKIANBADYC8AogA0H4CmoMAQsgBBBZGiAGDQMgAigCACFaIANBiAtqQgA3AwAgA0GAC2pBADYCACADQQA2AvgKIANBADYC8AogWkEQRw0FIANB+ApqCyEKIAIoAgwiDCgCBCIOQQdPDTwgAigCCCEPQcsBIQRBxM8HIQYCQAJAAkACQAJAIA5BAmsOBAMAAQIEC0Gw0AchBgwCC0Gc0QchBgwBC0Ho0QchBgsgBigCACEECwJ/AkACQCAEIA9HDQAgAyAMNgLUDCACKAIQIgQoAgBBDkcNACADQdgMaiAEQQhqEHohBEHUiQtBADYCAEHk7QAgCiAEEAIhBkHUiQsoAgAhW0HUiQtBADYCACBbQQFHDQEMCwsgA0HQCmpCADcDACADQcgKakEANgIAIANBADYCwAogA0EANgK4CiADQcAKagwBCyAEEFkaIAYNAyACKAIAIVwgA0HQCmpCADcDACADQcgKakEANgIAIANBADYCwAogA0EANgK4CiBcQRBHDQYgA0HACmoLIQogAigCDCIMKAIEIg5BB08NASACKAIIIQ9BywEhBEHIzwchBgJAAkACQAJAAkAgDkECaw4EAwABAgQLQbTQByEGDAILQaDRByEGDAELQezRByEGCyAGKAIAIQQLIAQgD0cNBSADIAw2AtQMIAIoAhAiBCgCAEEORw0FIANB2AxqIARBCGoQeiEEQdSJC0EANgIAQeTtACAKIAQQAiFeQdSJCygCACFdQdSJC0EANgIAIF1BAUYNCCAEEFkaIF4NAgwFCww7Cww6CyADKALUDCECDAMLIANBiAtqQgA3AwAgA0GAC2pBADYCACADQQA2AvgKIANBADYC8AoLIANB0ApqQgA3AwAgA0HICmpBADYCACADQQA2AsAKIANBADYCuAoLIAMgADYC9AogAyADQdQMaiIENgLwCiADQbAMakIANwMAIANBqAxqQQA2AgAgA0EANgKgDCADQQA2ApgMIANCgICAgNAANwPgCyADIANBmAxqNgLsCyADIANB8ApqNgLoCwJAIANB4AtqIgYgAhC7BEUEQCADQfgLakIANwMAIANB8AtqQQA2AgAgAyAANgK8CiADQQA2AugLIANBADYC4AsgAyAENgK4CiADQoCAgIDwATcDqAsgAyAGNgK0CyADIANBuApqNgKwCyADQagLaiACELsERQ0BCyAFIQIMAQsgA0GwDGpCADcDACADQagMakEANgIAIANBADYCoAwgA0EANgKYDCADQfALakEANgIAIANBADYC6AsgA0EANgLgCwJAIAIoAgBBEEcNACACKAIMIgooAgQiDEEHTw03IAIoAgghDkHLASEEQZjPByEGAkACQAJAAkACQCAMQQJrDgQDAAECBAtBhNAHIQYMAgtB8NAHIQYMAQtBvNEHIQYLIAYoAgAhBAsgBCAORw0AIAooAgBBEEcNACAKKAIMIgwoAgQiDkEHTw03IAooAgghD0HLASEEQZTPByEGAkACQAJAAkACQCAOQQJrDgQDAAECBAtBgNAHIQYMAgtB7NAHIQYMAQtBuNEHIQYLIAYoAgAhBAsgBCAPRw0AIAwoAgBBDkcNACADQagLaiIGIAxBCGoQeiEEQdSJC0EANgIAQeTtACADQaAMaiAEEAIhYEHUiQsoAgAhX0HUiQtBADYCACBfQQFGDQMgBBBZGiBgRQ0AIAMgCigCEDYC1AwgAigCECIEKAIAQQ5HDQAgBiAEQQhqEHohBEHUiQtBADYCAEHb7QAgA0HoC2ogBBACIWJB1IkLKAIAIWFB1IkLQQA2AgAgYUEBRg0DIAQQWRogYkUNAAJAIAAoAgQoAiBFBEAgBSgCGCIEQQdPDTkCfgJAAkACQCAEQQJrDgICAAELIAUpAwgMAgsQDwALIAU0AggL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BikCADcDmAUgA0EANgKwCyADQQA2AqgLIANCgICAgIACNwL8CSADQoCAgICAAjcDkAUgAyAENgK4CiACIANBkAVqEPwJDQAgA0GwDGpCATcDACADQagMakEANgIAIAMgA0H4CWooAgA2AogFIANB9AlqIANBmAxqNgIAIANB8AlqIgYgA0HYDGo2AgAgAyAGKQIANwOABSADQQA2AqAMIANBADYCmAwgA0KAgICA8AE3AugJIANCgICAgPABNwP4BCADIAQ2AtgMIAIgA0H4BGoQugRFDQELIAMoAtQMIAAQvgJBAUcNACADKALUDCECDAELIAMgA0HUDGoiBDYCqAsgA0GwDGpCATcDACADQagMakEANgIAIAMgA0HkCWooAgA2AvAEIANB4AlqIANBmAxqNgIAIANB3AlqIgYgA0GoC2o2AgAgAyAGKQIANwPoBCADQoCAgICABTcC1AkgA0KAgICAgAU3A+AEIANBADYCoAwgA0EANgKYDAJAIAIgA0HgBGoQ+wlFBEAgA0H4C2pCADcDACADQfALakEANgIAIAMgA0HQCWooAgA2AtgEIANBzAlqIANB4AtqNgIAIANByAlqIgYgA0HwCmo2AgAgAyAGKQIANwPQBCADQQA2AugLIANBADYC4AsgA0KAgICAkAU3AsAJIANCgICAgJAFNwPIBCADIAQ2AvAKIAIgA0HIBGoQ+wlFDQELIAMoAtQMIAAQvgJBAUcNACANQRggAygC1AwQ0gMhAgwBCyADIANB1AxqNgLgCyADQbAMakIBNwMAIANBqAxqQQA2AgAgAyADQbwJaigCADYCwAQgA0G4CWogA0GYDGo2AgAgA0G0CWoiBCADQeALajYCACADIAQpAgA3A7gEIANCgICAgNACNwKsCSADQoCAgIDQAjcDsAQgA0EANgKgDCADQQA2ApgMAkAgAiADQbAEahC6BEUNACADKALUDCAAEL4CQQFHDQAgDSAIQRMQlAggAygC1AwQ0gMhAgwBCyADIANB1AxqNgLgCyADQbAMakIBNwMAIANBqAxqQQA2AgAgAyADQagJaigCADYCqAQgA0GkCWogA0GYDGo2AgAgA0GgCWoiBCADQeALajYCACADIAQpAgA3A6AEIANCgICAgJACNwKYCSADQoCAgICQAjcDmAQgA0EANgKgDCADQQA2ApgMAkAgAiADQZgEahC6BEUNACADKALUDCAAEL4CQQFHDQAgDSAIQRMQlAggAygC1AwQ0gMhAiADKALUDCgCBEEDRw0BIA1BFyACENIDIQIMAQsgAyAANgKsCyADIANB1AxqNgKoCyADQbAMakIBNwMAIANBqAxqQQA2AgAgA0EANgKgDCADQQA2ApgMIANCgICAgIACNwPgCyADIANBmAxqNgLsCyADIANBqAtqNgLoCwJAIANB4AtqIAIQuwRFDQAgAygC1AwgABC+AkEBRw0AIAUhAgwBCyADIANB1AxqNgLgCyADQbAMaiIEQn83AwAgA0GoDGoiBkEANgIAIAMgA0GUCWooAgA2ApAEIANBkAlqIANBmAxqNgIAIANBjAlqIgogA0HgC2o2AgAgAyAKKQIANwOIBCADQoCAgIDwATcChAkgA0KAgICA8AE3A4AEIANBADYCoAwgA0EANgKYDCACIANBgARqELoEBEAgAygC1AwhAgwBCyADIAA2AqwLIAMgA0HUDGo2AqgLIARCfzcDACAGQQA2AgAgA0EANgKgDCADQQA2ApgMIANCgICAgIACNwPgCyADIANBmAxqNgLsCyADIANBqAtqNgLoCyADQeALaiACELsEBEAgBSECDAELIAMgADYCrAsgAyADQdQMajYCqAsgA0GwDGpCfzcDACADQagMaiIGQQA2AgAgA0EANgKgDCADQQA2ApgMIANCgICAgJABNwPgCyADIANBmAxqIgQ2AuwLIAMgA0GoC2o2AugLIANB4AtqIAIQuwQEQCAEIAgQ/wJB1IkLQQA2AgBBsQUgBUEIaiAEEAIaQdSJCygCACFtQdSJC0EANgIAIG1BAUcEQCAEEFkaIAUhAgwCCwwCCyADQQA2AuALIAZCgICAgICAgICAfzcCACADIANBgAlqKAIANgL4AyADQfwIaiADQZgMajYCACADQfgIaiIEIANB4AtqNgIAIAMgBCkCADcD8AMgA0KAgICAMDcC8AggA0KAgICAMDcD6AMgA0EANgKgDCADQQA2ApgMIAIgA0HoA2oQ/AkEQCACQQ82AggMAQsCQCAAKAIEKAIgDQAgA0GwDGpCgICAgICAgICAfzcDACADQagMakEANgIAIAMgA0HsCGooAgA2AuADIANB6AhqIANBmAxqNgIAIANB5AhqIgQgA0HgC2o2AgAgAyAEKQIANwPYAyADQQA2AqAMIANBADYC4AsgA0EANgKYDCADQoCAgIDAAzcC3AggA0KAgICAwAM3A9ADIAIgA0HQA2oQ+wlFDQAgAkKCgICAgAU3AgQgDUEXIAIQ0gMhAgwBCyADIAA2AqwLIAMgA0HUDGo2AqgLIANBsAxqIgZCADcDACADQagMaiIKQQA2AgAgA0EANgKgDCADQQA2ApgMIANCgICAgPACNwPgCyADIANBmAxqIgQ2AuwLIAMgA0GoC2o2AugLIANB4AtqIAIQuwQEQCAEQQIQ/wJB1IkLQQA2AgBBsQUgBUEIaiAEEAIaQdSJCygCACFuQdSJC0EANgIAIG5BAUcEQCAEEFkaIAVBAjYCBCAFIQIMAgsMAgsgAyAANgKsCyADIANB1AxqNgKoCyAGQn83AwAgCkEANgIAIANBADYCoAwgA0EANgKYDCADQoCAgICQAzcD4AsgAyADQZgMaiIENgLsCyADIANBqAtqNgLoCyADQeALaiACELsEBEAgA0ECNgKoDEHUiQtBADYCACADQQE2ApgMQbEFIAVBCGogBBACGkHUiQsoAgAhb0HUiQtBADYCACBvQQFHBEAgBBBZGiAFQQI2AgQgBSECDAILDAILIAMgADYCrAsgAyADQdQMajYCqAsgA0GwDGoiBkJ/NwMAIANBqAxqIgpBADYCACADQQA2AqAMIANBADYCmAwgA0KAgICAsAM3A+ALIAMgA0GYDGoiBDYC7AsgAyADQagLajYC6AsgA0HgC2ogAhC7BARAIARBAhD/AkHUiQtBADYCAEGxBSAFQQhqIAQQAhpB1IkLKAIAIXBB1IkLQQA2AgAgcEEBRwRAIAQQWRogBUECNgIEIAUhAgwCCwwCCyADIAA2AqwLIAMgA0HUDGo2AqgLIAZCADcDACAKQQA2AgAgA0EANgKgDCADQQA2ApgMIANCgICAgNADNwPgCyADIANBmAxqIgQ2AuwLIAMgA0GoC2o2AugLIANB4AtqIAIQuwQEQCADQQI2AqgMQdSJC0EANgIAIANBATYCmAxBsQUgBUEIaiAEEAIaQdSJCygCACFxQdSJC0EANgIAIHFBAUcEQCAEEFkaIAVBAjYCBCAFIQIMAgsMAgsgA0EANgLgCyADQbAMaiIEQn83AwAgA0GoDGoiBkEANgIAIAMgA0HYCGooAgA2AsgDIANB1AhqIANBmAxqNgIAIANB0AhqIgogA0HgC2o2AgAgAyAKKQIANwPAAyADQoCAgIDwAjcCyAggA0KAgICA8AI3A7gDIANBADYCoAwgA0EANgKYDCACIANBuANqELoEBEAgAiAIQRUQvQI2AggMAQsgA0EANgLgCyAEQgA3AwAgBkEANgIAIAMgA0HECGooAgA2ArADIANBwAhqIANBmAxqNgIAIANBvAhqIgQgA0HgC2o2AgAgAyAEKQIANwOoAyADQoCAgICQAzcCtAggA0KAgICAkAM3A6ADIANBADYCoAwgA0EANgKYDCACIANBoANqELoEBEAgAiAIQRQQvQI2AggMAQsgA0EANgLgCyADQbAMaiIEQgA3AwAgA0GoDGoiBkEANgIAIAMgA0GwCGooAgA2ApgDIANBrAhqIANBmAxqNgIAIANBqAhqIgogA0HgC2o2AgAgAyAKKQIANwOQAyADQoCAgICwAzcCoAggA0KAgICAsAM3A4gDIANBADYCoAwgA0EANgKYDCACIANBiANqELoEBEAgAiAIQRUQvQI2AggMAQsgA0EANgLgCyAEQn83AwAgBkEANgIAIAMgA0GcCGooAgA2AoADIANBmAhqIANBmAxqNgIAIANBlAhqIgQgA0HgC2o2AgAgAyAEKQIANwP4AiADQoCAgIDQAzcCjAggA0KAgICA0AM3A/ACIANBADYCoAwgA0EANgKYDCACIANB8AJqELoEBEAgAiAIQRQQvQI2AggMAQsgAyAANgKsCyADIANB1AxqNgKoCyADQagMakEANgIAIANBADYCoAwgAyADQfAKajYCmAwgA0KAgICA4AI3A+ALIAMgA0GYDGoiBDYC7AsgAyADQagLajYC6AsCQCADQeALaiACEOwFRQ0AIAMoAvAKQQhqEK0FRQ0AIARBAhD/AkHUiQtBADYCAEGxBSAFQQhqIAQQAhpB1IkLKAIAIXJB1IkLQQA2AgAgckEBRwRAIAQQWRogBUECNgIEIAUhAgwCCwwCCyADIAA2AqwLIAMgA0HUDGo2AqgLIANBqAxqQQA2AgAgA0EANgKgDCADIANB8ApqNgKYDCADQoCAgICAAzcD4AsgAyADQZgMaiIENgLsCyADIANBqAtqNgLoCwJAIANB4AtqIAIQ7AVFDQAgAygC8ApBCGoQkQhFDQAgA0ECNgKo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AEEQRw0AIAMoArABIgQEQCAEIAI2AgALIAIoAgwiDigCBCIPQQdPDTogAigCCCEQIAMoArQBIQRBywEhDAJAAn8CQAJAAkACQCAPQQJrDgQAAQIDBQsgBEEDayIEQRtPDQQgBEECdEGQzwdqDAMLIARBA2siBEEbTw0DIARBAnRB/M8HagwCCyAEQQNrIgRBE08NAiAEQQJ0QejQB2oMAQsgBEEDayIEQRNPDQEgBEECdEG00QdqCygCACEMCyAMIBBHDQAgAygCuAEoAgAiBARAIAQgDjYCAAsgAigCECIEKAIAQQ5HDQAgAygCvAEiBigCACIMBEAgDCAENgIACyAKQQhqIARBCGoQeiEEQdSJC0EANgIAQevtACAGQQhqIAQQAiEGQdSJCygCACF5QdSJC0EANgIAIHlBAUYNASAEEFkaCyAKQSBqJAAgBgwBCww6C0UNACADKwPgCyKUAkQAAAAAAAAAAGINACCUAr1CAFkNACACKAIMIQIMAQsgAyADKALoBjYCqAEgAyADQZgMajYC5AYgAyADQagLajYC4AYgAyADKQLgBjcDoAEgA0KAgICAEDcCqAsgAyADQbgKajYCsAsgAyADQdQMaiIENgK4CiADQagMakEANgIAIANCgICAgNAANwLYBiADQoCAgIDQADcDmAEgA0EANgKgDCADQQA2ApgMAkAgAiADQZgBahDaDUUEQCADQfALakEANgIAIAMgAygC1AY2ApABIAMgA0HgC2o2AtAGIAMgA0HwCmo2AswGIAMgAykCzAY3A4gBIANCgICAgBA3AvAKIANBADYC6AsgA0EANgLgCyADQoCAgIDwADcCxAYgA0KAgICA8AA3A4ABIAMgA0HYDGo2AvgKIAMgBDYC2AwgAiADQYABahDaDUUNAQsgA0GYDGoiBCAFQQhqIgUQnQVB1IkLQQA2AgBBsQUgBSAEEAIaQdSJCygCACF6QdSJC0EANgIAIHpBAUcEQCAEEFkaIAIgAygC1Aw2AgwMAgsMAgsgA0EANgLgCyADQbAMakKAgICAgICA+L9/NwMAIANBqAxqQQA2AgAgAyADKALABjYCeCADIANBmAxqNgK8BiADIANB4AtqNgK4BiADIAMpArgGNwNwIANCgICAgNAANwKwBiADQoCAgIDQADcDaCADQQA2AqAMIANBADYCmAwgAiAD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AgBBA0cNWgxjCyAAQbnpACABEFggAigCAEEERw1ZIAIoAhQEQCAAQQRqQe7nACACQRRqEFsLIAIoAhBFDVggAEEEakHu5wAgAkEQahBbDwsgAEG66QAgARBYIAIoAgBBBUcNWCAAQe7nACACQSRqEFggAigCIEUNVyAAQQRqQe7nACACQSBqEFsPCyAAQe7qACABEFggAigCAEEGRw1XIAIoAgwiAUEATA1WIABBBGohBANAIAFBAWsiACACKAIMTw1ZIAIoAgggAEECdGoiAygCAEUNWiAEQe7nACADEFsgAUEBSyEHIAAhASAHDQALDFYLIABB7+oAIAEQWCACKAIAQQdHDVYgAEHu5wAgAkEcahBYIAIoAhAiAUEATA1VIABBBGohBANAIAFBAWsiACACKAIQTw1YIAIoAgwgAEECdGoiAygCAEUNWSAEQe7nACADEFsgAUEBSyEIIAAhASAIDQALDFULIABB8OoAIAEQWCACKAIAQQhGDVQMVQsgAEHx6gAgARBYIAIoAgBBCUcNVAxgCyAAQfLqACABEFggAigCAEEKRg1SDFMLIABB8+oAIAEQWCACKAIAQQtHDVIMWwsgAEH06gAgARBYIAIoAgBBDEcNUQxfCyAAQfXqACABEFggAigCAEENRw1QDF0LIABB9uoAIAEQWCACKAIAQRhHDU8MXgsgAEH36gAgARBYIAIoAgBBGUcNTiAAQe7nACACQSBqEFgMXQsgAEH46gAgARBYIAIoAgBBGkcNTQxUCyAAQfnqACABEFggAigCAEEbRw1MDFQLIABB+uoAIAEQWCACKAIAQRxGDUoMSwsgAEH76gAgARBYIAIoAgBBHUcNSgxWCyAAQfzqACABEFggAigCAEEeRw1JIABB7ucAIAJBFGoQWAxVCyAAQf3qACABEFggAigCAEEfRw1IDE0LIABB/uoAIAEQWCACKAIAQSBHDUcMUQsgAEH/6gAgARBYIAIoAgBBIUcNRgxRCyAAQYDrACABEFggAigCAEEiRw1FIABB7ucAIAJBIGoQWA8LIABBgesAIAEQWCACKAIAQSNHDUQMUQsgAEGC6wAgARBYIAIoAgBBJEcNQwxKCyAAQYPrACABEFggAigCAEElRg1BDEILIABBhOsAIAEQWCACKAIAQSZHDUEMRQsgAEGF6wAgARBYIAIoAgBBJ0cN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EFggAigCAEE1Rw0rIAIoAhQiAUEATA0qIABBBGohBANAIAFBAWsiACACKAIUTw0tIAIoAhAgAEECdGoiAygCAEUNLiAEQennACADEFsgAUEBSyEKIAAhASAKDQALDCoLIABB1ugAIAEQWCACKAIAQTZGDSkMKgsgAEHH6gAgARBYIAIoAgBBN0cNKQw5CyAAQcjqACABEFggAigCAEEWRg0nDCgLIABB1+gAIAEQWCACKAIAQRdGDSYMJwsgAEHJ6gAgARBYIAIoAgBBKEYNJQwmCyAAQcrqACABEFggAigCAEE4Rw0lIAIoAgwiAUEATA0kIABBBGohBANAIAFBAWsiACACKAIMTw0nIAIoAgggAEECdGoiAygCAEUNKCAEQennACADEFsgAUEBSyELIAAhASALDQALDCQLIABBy+oAIAEQWCACKAIAQTlHDSQMNAsgAEHM6gAgARBYIAIoAgBBOkcNIwwzCyAAQc3qACABEFggAigCAEE7Rw0iDDILIABBzuoAIAEQWCACKAIAQTxHDSEgAEHp5wAgAkEYahBYIAIoAgwiAUEATA0gIABBBGohBANAIAFBAWsiACACKAIMTw0jIAIoAgggAEECdGoiAygCAEUNJCAEQennACADEFsgAUEBSyEMIAAhASAMDQALDCALIABBz+oAIAEQWCACKAIAQT1HDSAMMAsgAEHQ6gAgARBYIAIoAgBBPkcNHwwvCyAAQdjoACABEFggAigCAEE/Rw0eIABB6ecAIAJBFGoQWA8LIABB0eoAIAEQWCACKAIAQcAARw0dIAIoAgwiAUEATA0cIABBBGohBANAIAFBAWsiACACKAIMTw0fIAIoAgggAEECdGoiAygCAEUNICAEQennACADEFsgAUEBSyENIAAhASANDQALDBwLIABB0uoAIAEQWCACKAIAQcEARw0cDCgLIABB0+oAIAEQWCACKAIAQcIARw0bDCYLIABB1OoAIAEQWCACKAIAQcMARw0aIABB6ecAIAJBDGoQWCACKAIIRQ0ZDCsLIABB1eoAIAEQWCACKAIAQcQARw0ZDCELIABB1uoAIAEQWCACKAIAQcUARw0YDCALIABB1+oAIAEQWCACKAIAQcYARw0XIAIoAgwiAUEATA0WIABBBGohBANAIAFBAWsiACACKAIMTw0ZIAIoAgggAEECdGoiAygCAEUNGiAEQennACADEFsgAUEBSyEOIAAhASAODQALDBYLIABB2OoAIAEQWCACKAIAQccARw0WDBsLIABB2eoAIAEQWCACKAIAQcgARw0VDBkLIABB2uoAIAEQWCACKAIAQckARw0UDCQLIABB2+oAIAEQWCACKAIAQcoARw0TIABB6ecAIAJBGGoQWAwWCyAAQdzqACABEFggAigCAEHLAEcNEgwVCyAAQd3qACABEFggAigCAEHMAEcNEQwXCyAAQd7qACABEFggAigCAEHNAEcNEAwWCyAAQd/qACABEFggAigCAEHOAEcNDwwbCyAAQeDqACABEFggAigCAEHPAEcNDiACKAIYBEAgAEEEakHp5wAgAkEYahBbCyACKAIUBEAgAEEEakHp5wAgAkEUahBbCyACKAIQBEAgAEEEakHp5wAgAkEQahBbCwwaCyAAQeHqACABEFggAigCAEHQAEYNDAwNCyAAQeLqACABEFggAigCAEHRAEcNDAwYCyAAQePqACABEFggAigCAEHSAEcNCyACKAIUBEAgAEEEakHp5wAgAkEUahBbCwwWCyAAQeTqACABEFggAigCAEHTAEcNCgwPCyAAQeXqACABEFggAigCAEHUAEcNCQwUCyAAQebqACABEFggAigCAEHVAEcNCAwUCyAAQefqACABEFggAigCAEHWAEcNBwwLCyAAQejqACABEFggAigCAEHXAEcNBgwLCyAAQenqACABEFggAigCAEHYAEcNBQwVCyAAQerqACABEFggAigCAEHZAEcNBAwPCyAAQevqACABEFggAigCAEHaAEcNAwwNCyAAQezqACABEFggAigCAEHbAEcNAgwHCyAAQe3qACABEFggAigCAEHcAEcNASAAQennACACQTxqEFggAigCMCIBQQBMDQAgAEEEaiEEA0AgAUEBayIAIAIoAjBPDQMgAigCLCAAQQJ0aiIDKAIARQ0EIARB6ecAIAMQWyABQQFLIQ8gACEBIA8NAAsLDwtB8O0FQcWYA0GUBkGN3gAQAQALQcWiAUGJogNBvAFBpogFEAEAC0GBgwJB05kDQbkCQa73AhABAAsgAEHp5wAgAkEUahBYCyAAQennACACQRBqEFgLIABB6ecAIAJBDGoQWAwKCyAAQennACACQRxqEFgLIABB6ecAIAJBGGoQWAsgAEHp5wAgAkEUahBYCyAAQennACACQRBqEFgPCyAAQennACACQRRqEFgLIABB6ecAIAJBEGoQWAsgAEHp5wAgAkEMahBYDwsgAEHp5wAgAkEoahBYCyAAQennACACQSRqEFgPCyAAQennACACQRxqEFggAEHp5wAgAkEYahBYDwsgAEHp5wAgAkEIahBYDwsgAEEEakHp5wAgAkEIahBbC4MDAQR/IAAoAvADIgEEQANAIAEoAgAhAyABEFogAyIBDQALCyAAKALoAyEBIABBADYC6AMgAQRAIAEQWgsgACgC3AMiAQRAA0AgASgCACEEIAEQWiAEIgENAAsLIAAoAtQDIQEgAEEANgLUAyABBEAgARBaCyAAKALMAxBgIAAoAsADEGAgACgCnAMQYCAAKAKQAxBgIAAoAoQDEG8gACgC+AIQbwJAIAAoAuQCIgFFDQAgASABKAIEIgJBAWs2AgQgAg0AIAEgASgCACgCCBEBACABEHULIAAoAtQCEGAgACgCyAIQYCAAKAKkAhBgIAAoApgCEGAgACgCjAIQbyAAKAKAAhBvAkAgACgC7AEiAUUNACABIAEoAgQiAkEBazYCBCACDQAgASABKAIAKAIIEQEAIAEQdQsgACgC2AEiAQRAIAAgATYC3AEgARBaCyAAKALMASIBBEAgACABNgLQASABEFoLIABB8ABqEGEgACgCWCIBBEAgACABNgJcIAEQWgsLpgEBBX8gACgC5AEiAQRAA0AgASgCACEEIAEoAgwiAwRAIAEgAzYCECADEFoLIAEQWiAEIgENAAsLIAAoAtwBIQEgAEEANgLcASABBEAgARBaCyAAKALQASIBBEADQCABKAIAIQUgARBaIAUiAQ0ACwsgACgCyAEhASAAQQA2AsgBIAEEQCABEFoLIABB8ABqEGEgACgCWCIBBEAgACABNgJcIAEQWgsLywIBC38jAEEQayIEJAAgACgCyAEEQCAAQegDaiEJIABB1ANqIQogAEHwAGohCANAIAAoAmghBSAGQQN0IgsgACgCzAFqIgEoAgAEQCABKAIEIgIEQANAIAQgAiIDNgIIIAMgBEEIaiIHIAggBUEAEP0CKAIAIgJHDQALIAEoAgAiAiADRwRAIAEoAgQhAyAHIAogAiABEMQDIAQoAgggAzYCDAsgAUEANgIECyABQQA2AgAgACgCaCEFCyAAKALYASALaiIBKAIABEAgASgCBCICBEADQCAEIAIiAzYCCCADIARBCGoiByAIIAVBABD9AigCACICRw0ACyABKAIAIgIgA0cEQCABKAIEIQMgByAJIAIgARDEAyAEKAIIIAM2AgwLIAFBADYCBAsgAUEANgIACyAGQQFqIgYgACgCyAFJDQALCyAEQRBqJAAL4y0BK38jAEHQCGsiAiQAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAJ8LQCFAUEEcQRAIAIgACgCBCIHKQI4NwOYBCACIAcpAjA3A5AEIAIgBykCKDcDiAQgAiAHKQIgNwOABCACIAcpAhg3A/gDIAJBoARqIAdBQGsQ4wEhBUHUiQtBADYCAEGaASACQbQEaiAHQdQAahACIQRB1IkLKAIAIQNB1IkLQQA2AgACQAJAAkACQAJAIANBAUcEQCACIAcoAmg2AsgEIAIgBygCbCIDNgLMBCADBEAgAyADKAIEQQFqNgIECyAAKAJ8IQogAkIANwKsBSACQgA3ArQFIAJCADcAuQUgAiACKQOABDcCzAUgAiACKQOIBDcC1AUgAiACKQOQBDcC3AUgAiACKQOYBDcC5AUgAkIANwLUBCACIAIpA/gDNwLEBUHUiQtBADYCAEGbASACQewFaiAFEAIhBUHUiQsoAgAhC0HUiQtBADYCACALQQFGDQJB1IkLQQA2AgBBmgEgAkGABmogBBACGkHUiQsoAgAhDEHUiQtBADYCACAMQQFGDQQgAiACKALIBDYClAYgAiACKALMBCIDNgKYBiADBEAgAyADKAIEQQFqNgIECyABKAIcIglBEE8EQCAJKAIQRQ0CC0HUiQtBADYCAEENQeGVBkG4swJB2wlBj+IDEAVB1IkLKAIAIQ1B1IkLQQA2AgAgDUEBRg0DDB0LEAAhDiAFEGsgDhAHAAsgAgJ/AkAgCSgCFCIDQQdJDQAgAygCBA0AIAMoAgwgAygCCGtBAnUMAQsgA0EARwsgASgCKCABKAIka0ECdSIFajYCnAYCfwJAIAkoAhQiA0EHSQ0AIAMoAgQNACADKAIMIAMoAghrQQJ1DAELIANBAEcLIQ8gAkEANgKoBiACQgA3AqAGIA8gBWoiAwRAIANBgICAgAJPBEBB1IkLQQA2AgBB5ucAEAlB1IkLKAIAIRBB1IkLQQA2AgAgEEEBRw0dDBoLQdSJC0EANgIAQQQgA0EDdCIEEAYhB0HUiQsoAgAhEUHUiQtBADYCACARQQFGDRkgAiAHNgKgBiACIAQgB2oiAzYCqAYgB0EAIAT8CwAgAiADNgKkBgsgCSgCEARAQdSJC0EANgIAQQ1B4ZUGQbizAkHbCUGP4gMQBUHUiQsoAgAhEkHUiQtBADYCACASQQFHDRwQACEEDBgLAn8CQCAJKAIUIgNBB0kNACADKAIEDQAgAygCDCADKAIIa0ECdQwBCyADQQBHCyETQQAhBCACQQA2ArQGIAJCADcCrAYgEyAFaiIDBEAgA0GAgICAAk8EQEHUiQtBADYCAEHn5wAQCUHUiQsoAgAhFEHUiQtBADYCACAUQQFHDR0MGAtB1IkLQQA2AgBBBCADQQN0IgUQBiEHQdSJCygCACEVQdSJC0EANgIAIBVBAUYNFyACIAc2AqwGIAIgBSAHaiIDNgK0BiAHQQAgBfwLACACIAM2ArAGCyACIAItAJkEIgY6ALkGIAIgAigCyAQiCTYCvAYgAiACKALMBCIDNgLABiACIAItAJgEIgg6ALgGIAMEQCADIAMoAgRBAWo2AgQgAigCyAQhCSACLQCZBCEGIAItAJgEIQggAigCzAQhBAsgAkG4BmohByACIAo2AsQGIAooAoQBIQUgAkHUBmoiA0IANwIAIAJBADsBzAYgAiAFNgLIBiACQeAGaiIFQgA3AgAgAiADNgLQBiACQewGaiIDQgA3AgAgAiAFNgLcBiACQfgGaiIFQgA3AgAgAiADNgLoBiACQZwHaiIDQgA3AgAgAiAFNgL0BiACQgA3AoAHIAJCADcCiAcgAkIANwGOByACIAM2ApgHIAJBqAdqIgNCADcCACACIAY6ALEHIAIgBDYCuAcgAiAJNgK0ByACIAM2AqQHIAIgCDoAsAcgBARAIAQgBCgCBEEBajYCBAsgAkGwB2ohBSACIAo2ArwHIAooAoQBIQQgAkHMB2oiA0IANwIAIAJBADsBxAcgAiAENgLAByACQdgHaiIEQgA3AgAgAiADNgLIByACQeQHaiIDQgA3AgAgAiAENgLUByACQfAHaiIEQgA3AgAgAiADNgLgByACQZQIaiIDQgA3AgAgAiAENgLsByACQgA3AvgHIAJBgAhqQgA3AgAgAkGGCGpCADcBACACQZAIaiADNgIAIAJBoAhqIgNCADcCACACQZwIaiADNgIAIAJBsAhqQgA3AgAgAkG4CGpBgICA/AM2AgAgAkHECGpCADcCACACQcwIakGAgID8AzYCACACQgA3AqgIIAJCADcCvAggAkI+NwKUASACQQA2AgggAkLOADcCACACQgA3AtwCIAJCADcC5AIgAkEANgLsAiACQgA3AoQCIAIgBzYC8AJB1IkLQQA2AgBBqjggAkGEAmogAkGUAWoQA0HUiQsoAgAhFkHUiQtBADYCACAWQQFHBEAgAigC3AIiAwRAIAIgAzYC4AIgAxBaCyACKAKMBw0VIAItALgGBEAgAkEAOgCJBwwFCyACLQCJB0UNBCACQQE6AIgHDAQLEAAhBCACKALcAiIARQ0VIAIgADYC4AIgABBaDBULEAAhBAwZCxAAIQQMFwsQACEEIAUQawwXCyACQgA3AtwCIAJCADcC5AIgAkEANgLsAiACQgA3AoQCIAIgBTYC8AJB1IkLQQA2AgBBqjggAkGEAmogAhADQdSJCygCACEDQdSJC0EANgIAAkAgA0EBRwRAIAIoAtwCIgMEQCACIAM2AuACIAMQWgsgAkGECGooAgANEiACLQCwBwRAIAJBADoAgQgMAgsgAi0AgQhFDQEgAkGACGpBAToAAAwBCxAAIQQgAigC3AIiAEUNEiACIAA2AuACIAAQWgwSCyACQfgDahBhIAIgACgCfDYCvAUgAigC2AQhBSACKAKwBSEEIAIoAqwFIQMgAiABNgK4BUHQ+AIhCEHTmQMhCUEAIAVrIAQgA2tBA3VHBEBByAIhBEHNygUhBgwOCyABQTBqIgooAgBFBEBBrvcCIQhBuQIhBEGBgwIhBgwOC0HUiQtBADYCAEHo5wAgAkHYBGpB6ecAIAoQCEHUiQsoAgAhF0HUiQtBADYCACAXQQFGDQ4CQAJAAkACQEEAIAIoAtgEIgNrIAIoArAFIgQgAigCrAUiBmtBA3VHBEAgAkHcBGohBwNAAkAgBCAGRgRAIANFBEBB/fsCIQhB2gAhBEGwlAMhCUHexAUhBgwWCyAHIANBAWsiBUEDdGoiAygCBCEEIAMoAgAhBiACIAU2AtgEDAELIARBCGsiAygCACEGIAMoAgQhBCACIAM2ArAFCyACIAQ2AtQEIAQoAgBFBEBBzQIhBEH1ggIhBgwUC0HUiQtBADYCACAGIAJB1ARqIAQQA0HUiQsoAgAhGEHUiQtBADYCACAYQQFGDQJBACACKALYBCIDayACKAKwBSIEIAIoAqwFIgZrQQN1Rw0ACwtB1IkLQQA2AgBB6ucAIAJB1ARqIgQQCkHUiQsoAgAhGUHUiQtBADYCACAZQQFGDRIgAkIANwK4BQJAIAIoArQIIAIoAsgIckUNACACQgA3AlggAkEANgJgIAJCADcCACACIAQ2AmwgAiAAKAJ8NgJoIAIgATYCZEHTmQMhCCABKAIwRQRAQa73AiEEQbkCIQZBgYMCIQMMEAtB1IkLQQA2AgBB6+cAIAJBBGpB7OcAIAoQCEHUiQsoAgAhGkHUiQtBADYCACAaQQFGDRBBACACKAIEIgNrIAIoAlwiBCACKAJYIgZrQQN1RwRAIAJBCGohBwNAAkAgBCAGRgRAIANFBEBB/fsCIQRB2gAhBkGwlAMhCEHexAUhAwwUCyAHIANBAWsiBUEDdGoiAygCBCEEIAMoAgAhBiACIAU2AgQMAQsgBEEIayIDKAIAIQYgAygCBCEEIAIgAzYCXAsgAiAENgIAIAQoAgBFBEBB0PgCIQRBzQIhBkH1ggIhAwwSC0HUiQtBADYCACAGIAIgBBADQdSJCygCACEbQdSJC0EANgIAIBtBAUYNBEEAIAIoAgQiA2sgAigCXCIEIAIoAlgiBmtBA3VHDQALCyACQgA3AmQgAkIANwKQAiACQQA2AvgCIAJBmAJqIgRCADcCACACQgA3AowDIAJBgICA/AM2ApQDIAJBuMMDLwAAOwGUAiACQgA3AogCIAJCADcC8AIgAkIANwKEAyACQczsCTYChAIgAkGwwwMpAAA3AowCIAJBCjoAlwIgACgCfCEDQdSJC0EANgIAIAIgAzYCgAMgAiABNgL8AkHECiAEIAoQA0HUiQsoAgAhHEHUiQtBADYCACAcQQFGDQMgAkHM7Ak2AoQCIAJCADcC/AIgAigCjAMiAwRAA0AgAygCACEeIAMoAhgiBARAA0AgBCgCACEdIAQQWiAdIgQNAAsLIAMoAhAhBCADQQA2AhAgBARAIAQQWgsgAxBaIB4iAw0ACwsgAigChAMhAyACQQA2AoQDIAMEQCADEFoLIAIoAvACIgMEQCACIAM2AvQCIAMQWgsgAkGQ7Qk2AoQCIAIsAJcCQQBIBEAgAigCjAIQWgsgAigCWCIDRQ0AIAIgAzYCXCADEFoLIAJCADcC3AIgAkIANwLkAiACQgA3AOkCIAJCADcCkAMgAkEAOgCMAyACQRQ2AogDIAJCgoCAgHA3AoADIAJCADcC+AIgAkEBOgD2AiACQgA3ApgDIAJCADcCoAMgAkKAgICAgICAwD83AqgDIAJBsANqIgRCADcCACACQgA3ArgDIAJBgICA/AM2AsADIAJCADcC1AMgAkIANwLMAyACQgA3AsQDIAJCADcChAIgAkGAAjsB9AIgAkGAgID8AzYC3AMgAkIANwLoAyACQYCAgPwDNgLwAyACQgA3AuADIAJBAToA9AMgAiAAKAIEIgUpAjg3ApQDIAIgBSkCMDcCjAMgAiAFKQIoNwKEAyACIAUpAiA3AvwCIAIgBSkCGDcC9AIgBUHcAmsgAkcEQCACIAUqAlA4AqwDIAUoAkghA0HUiQtBADYCAEHNACACQZwDaiADEANB1IkLKAIAIR9B1IkLQQA2AgAgH0EBRg0NIAIgBSoCZDgCwAMgBSgCXCEDQdSJC0EANgIAQc4AIAQgAxADQdSJCygCACEgQdSJC0EANgIAICBBAUYNDQsgBSgCaCEDIAUoAmwiBARAIAQgBCgCBEEBajYCBAsgAigCyAMhBSACIAQ2AsgDIAIgAzYCxAMCQCAFRQ0AIAUgBSgCBCIDQQFrNgIEIAMNACAFIAUoAgAoAggRAQAgBRB1CyAAKAJ8IQMgAiABNgLoAiACIAM2AuwCQdD4AiEIQQAgAigCiAJrIAIoAuACIAIoAtwCa0EDdUYNA0HIAiEEQc3KBSEGDAsLEAAhBAwSCxAAIQQMDgsQACEEIAJBhAJqEMgCGgwNCyAKKAIARQRAQa73AiEIQbkCIQRBgYMCIQYMCAtB1IkLQQA2AgBB7ecAIAJBiAJqQe7nACAKEAhB1IkLKAIAISFB1IkLQQA2AgAgIUEBRg0IQQAgAigCiAIiA2sgAigC4AIiBCACKALcAiIGa0EDdUcEQCACQYwCaiEHA0ACQCAEIAZGBEAgA0UEQEH9+wIhCEHaACEEQbCUAyEJQd7EBSEGDAwLIAcgA0EBayIFQQN0aiIDKAIEIQQgAygCACEGIAIgBTYCiAIMAQsgBEEIayIDKAIAIQYgAygCBCEEIAIgAzYC4AILIAIgBDYChAIgBCgCAEUEQEHNAiEEQfWCAiEGDAoLQdSJC0EANgIAIAYgAkGEAmogBBADQdSJCygCACEiQdSJC0EANgIAICJBAUYNBUEAIAIoAogCIgNrIAIoAuACIgQgAigC3AIiBmtBA3VHDQALCyACQgA3AugCAkAgAigC7ANFDQAgAkIANwLsASACQQA2AvQBIAJCADcClAEgAiACQYQCajYCgAIgAiAAKAJ8NgL8ASACIAE2AvgBQdOZAyEIIAEoAjBFBEBBrvcCIQRBuQIhBkGBgwIhAwwGC0HUiQtBADYCAEHv5wAgAkGYAWpB8OcAIAoQCEHUiQsoAgAhI0HUiQtBADYCACAjQQFGDQZBACACKAKYASIDayACKALwASIEIAIoAuwBIgZrQQN1RwRAIAJBnAFqIQcDQAJAIAQgBkYEQCADRQRAQf37AiEEQdoAIQZBsJQDIQhB3sQFIQMMCgsgByADQQFrIgVBA3RqIgMoAgQhBCADKAIAIQYgAiAFNgKYAQwBCyAEQQhrIgMoAgAhBiADKAIEIQQgAiADNgLwAQsgAiAENgKUASAEKAIARQRAQdD4AiEEQc0CIQZB9YICIQMMCAtB1IkLQQA2AgAgBiACQZQBaiAEEANB1IkLKAIAISRB1IkLQQA2AgAgJEEBRg0EQQAgAigCmAEiA2sgAigC8AEiBCACKALsASIGa0EDdUcNAAsLIAJCADcC+AEgAkIANwIMIAJBADYCdCACQRRqIgNCADcCACACQgA3AogBIAJBgICA/AM2ApABIAJBuMMDLwAAOwEQIAJCADcCBCACQgA3AmwgAkIANwKAASACQczsCTYCACACQbDDAykAADcCCCACQQo6ABMgACgCfCEAQdSJC0EANgIAIAIgADYCfCACIAE2AnhBxAogAyAKEANB1IkLKAIAISVB1IkLQQA2AgAgJUEBRg0DIAJBzOwJNgIAIAJCADcCeCACKAKIASIDBEADQCADKAIAIScgAygCGCIEBEADQCAEKAIAISYgBBBaICYiBA0ACwsgAygCECEAIANBADYCECAABEAgABBaCyADEFogJyIDDQALCyACKAKAASEAIAJBADYCgAEgAARAIAAQWgsgAigCbCIABEAgAiAANgJwIAAQWgsgAkGQ7Qk2AgAgAiwAE0EASARAIAIoAggQWgsgAigC7AEiAEUNACACIAA2AvABIAAQWgsgAkGEAmoQgg4gAkHUBGoQgQ4LIAJB0AhqJAAPCxAAIQQMBAsQACEEIAIQyAIaDAMLEAAhBAwFC0HUiQtBADYCAEENIAMgCCAGIAQQBUHUiQsoAgAhKEHUiQtBADYCACAoQQFHDRILEAAhBAsgAigC7AEiAEUNAiACIAA2AvABIAAQWgwCC0HUiQtBADYCAEENIAYgCSAEIAgQBUHUiQsoAgAhKUHUiQtBADYCACApQQFHDQ8LEAAhBAsgAkGEAmoQgg4MBQtB1IkLQQA2AgBBDSADIAggBiAEEAVB1IkLKAIAISpB1IkLQQA2AgAgKkEBRw0MCxAAIQQLIAIoAlgiAEUNAiACIAA2AlwgABBaDAILQdSJC0EANgIAQQ0gBiAJIAQgCBAFQdSJCygCACErQdSJC0EANgIAICtBAUcNCQsQACEECyACQdQEahCBDiAEEAcAC0HUiQtBADYCAEENQZHJBUH2igNBxAhBptEAEAVB1IkLKAIAISxB1IkLQQA2AgAgLEEBRw0GEAAhBAsgAkG8CGoQogEgAkGoCGoQogEgBRDfARogBxDfARogAigCrAYiAEUNASACIAA2ArAGIAAQWgwBCxAAIQQgAigCrAYiAEUNACACIAA2ArAGIAAQWgsgAigCoAYiAEUNASACIAA2AqQGIAAQWgwBCxAAIQQgAigCoAYiAEUNACACIAA2AqQGIAAQWgsgAkHEBWoQYQsgAigCrAUiAARAIAIgADYCsAUgABBaCyACQfgDahBhIAQQBwALAAu7CwELfyMAQfABayICJAAgASgCDCEIAkAgASgCBCIKBEAgAiAINgJ8AkAgACgCZCIDRQ0AIAMoAmxFDQAgA0HgAGohCQJAIAMoAmQiBUUNACAIQZXTx94FbCIDQRh2IANzQZXTx94FbEHUzJ76BnMiA0ENdiADc0GV08feBWwiA0EPdiADcyEGAkAgBWkiB0EBTQRAIAVBAWsgBnEhAwwBCyAGIgMgBUkNACADIAVwIQMLIAkoAgAgA0ECdGooAgAiBEUNACAEKAIAIgRFDQAgB0EBTQRAIAVBAWshBwNAAkAgBCgCBCILIAZHBEAgByALcSADRg0BDAQLIAQoAgggCEYNBAsgBCgCACIEDQALDAELA0ACQCAEKAIEIgcgBkcEQCAFIAdNBH8gByAFcAUgBwsgA0YNAQwDCyAEKAIIIAhGDQMLIAQoAgAiBA0ACwsgBUUNACAAKAIAKAIAIgtBldPH3gVsIgNBGHYgA3NBldPH3gVsQdTMnvoGcyIDQQ12IANzQZXTx94FbCIDQQ92IANzIQYCQCAFaSIHQQFNBEAgBiAFQQFrcSEDDAELIAYiAyAFSQ0AIAMgBXAhAwsgCSgCACADQQJ0aigCACIERQ0AIAQoAgAiBEUNAAJAIAdBAU0EQCAFQQFrIQUDQAJAIAYgBCgCBCIHRwRAIAUgB3EgA0YNAQwFCyAEKAIIIAtGDQMLIAQoAgAiBA0ACwwCCwNAAkAgBiAEKAIEIgdHBEAgBSAHTQR/IAcgBXAFIAcLIANGDQEMBAsgBCgCCCALRg0CCyAEKAIAIgQNAAsMAQsgAkEEaiAJIAggAkH8AGoQeCACKAIEIgMgBCgCFDYCFCADIAQpAgw3AgwgASgCBCEKCyAAKAIAIAg2AgAgCCgCBCAKRg0BIABBAToAeQwBCyAAKAJ0IQYgAiAAKAJsIgMtACA6AAQgAiADLQAhOgAFIAIgAygCUDYCCCACIAMoAlQiAzYCDCADBEAgAyADKAIEQQFqNgIECyACIAY2AhAgBigChAEhAyACQSBqIgZCADcCACACQSxqIgRCADcCACACQThqIgVCADcCACACQcQAaiIJQgA3AgAgAkHoAGoiB0IANwIAIAJCADcCVCACQgA3AVogAkH0AGoiCkIANwIAIAJBADsBGCACIAM2AhQgAiAGNgIcIAIgBDYCKCACIAU2AjQgAiAJNgJAIAJCADcCTCACIAc2AmQgAiAKNgJwIAIgCDYC7AEgAkIANwLUASACQgA3AtwBIAJBADYC5AFB1IkLQQA2AgAgAkIANwJ8IAIgAkEEajYC6AFBxwAgAkH8AGogAkHsAWoQA0HUiQsoAgAhA0HUiQtBADYCAAJAAkACQCADQQFHBEAgAigC1AEiAwRAIAIgAzYC2AEgAxBaCyACKAJYBEBB1IkLQQA2AgBBDUGRyQVB9ooDQcQIQabRABAFQdSJCygCACEMQdSJC0EANgIAIAxBAUYNAgALIAItAAQEQCACQQA6AFUMBAsgAi0AVUUNAyACQQE6AFQMAwsQACEAIAIoAtQBIgFFDQEgAiABNgLYASABEFoMAQsQACEACyACQQRqEN8BGiAAEAcAC0EBIQYCQCACLQBUDQAgAigCMA0AIAItAGANACACKAJIDQAgAi0ATQ0AIAItAE8NACACLQBRDQAgAi0AUw0AIAItAFYNACACLQAZDQAgAi0AVw0AIAIoAngNACACLQAYDQAgAigCbA0AIAItAGFBAEchBgsgAigCdBBgIAIoAmgQYCACKAJEEGAgAigCOBBgIAIoAiwQbyACKAIgEG8CQCACKAIMIgNFDQAgAyADKAIEIgRBAWs2AgQgBA0AIAMgAygCACgCCBEBACADEHULIAYEQCABIAg2AgggAUISNwIAIAEgCCgCBEEBRjYCBAwBCyABQhY3AgALIABBAToAeCACQfABaiQAC/oMARd/IwBBIGsiBiQAIAZCADcDCCAGQgA3AwAgBkGAgID8AzYCEAJAAkACQCAAKAIIIggEQANAAkACfyAIKAIgIgpFBEAgCCgCDCEOQQAhCUEAIQxBAAwBCyAIQRxqIQwgCCgCGAsiBCAMRyAJIA5HIAobQQFHDQAgCEEQaiEPAkADQAJAIARBEGogDyAJQQJ0aiAKGygCACENIAgoAggiASgCCCECQdSJC0EANgIAQc3lACAGQRhqIAYgAiABQQhqEAVB1IkLKAIAIRBB1IkLQQA2AgAgEEEBRg0AIAYoAhgiC0EQaiIDIQcCQAJAIAMiASgCACICRQ0AA0AgAiIBKAIQIgIgDUsEQCABIQcgASgCACICDQEMAgsgAiANTw0CIAEoAgQiAg0ACyABQQRqIQcLQdSJC0EANgIAQQRBFBAGIQVB1IkLKAIAIRFB1IkLQQA2AgAgEUEBRg0DIAUgATYCCCAFQgA3AgAgBSANNgIQIAcgBTYCACALKAIMKAIAIgEEQCALIAE2AgwgBygCACEFCyAFIAUgAygCACIHRiIBOgAMAkAgAQ0AA0AgBSgCCCICLQAMDQECQCACIAIoAggiASgCACIDRgRAAkAgASgCBCIDRQ0AIAMtAAwNAAwCCwJAIAUgAigCAEYEQCACIQMMAQsgAiACKAIEIgMoAgAiBTYCBCACIQcgBQRAIAUgAjYCCCACKAIIIgEoAgAhBwsgAyABNgIIIAEgAUEEaiACIAdGGyADNgIAIAMgAjYCACACIAM2AgggAygCCCIBKAIAIQILIANBAToADCABQQA6AAwgASACKAIEIgM2AgAgAwRAIAMgATYCCAsgAiABKAIIIgM2AgggAyADKAIAIAFHQQJ0aiACNgIAIAIgATYCBCABIAI2AggMAwsCQCADRQ0AIAMtAAwNAAwBCwJAIAUgAigCAEcEQCACIQUMAQsgAiAFKAIEIgM2AgAgAwRAIAMgAjYCCCACKAIIIQELIAUgATYCCCABIAFBBGogASgCACACRhsgBTYCACAFIAI2AgQgAiAFNgIIIAUoAgghAQsgBUEBOgAMIAFBADoADCABIAEoAgQiAigCACIDNgIEIAMEQCADIAE2AggLIAIgASgCCCIDNgIIIAMgAygCACABR0ECdGogAjYCACACIAE2AgAgASACNgIIDAILIAJBAToADCABIAEgB0Y6AAwgA0EBOgAMIAcgASIFRw0ACwsgCyALKAIUQQFqNgIUCwJAIApFBEAgCUEBaiEJDAELIAQoAgQiAQRAA0AgASIEKAIAIgENAAwCCwALA0AgBCAEKAIIIgQoAgBHDQALCyAEIAxHIAkgDkcgChsNAQwDCwsMBAsMAwsgCCgCACIIDQALCwJAIAAoAhQiAiAAQRhqIgNGDQADQAJAAkAgAigCECIBKAIAQQlHDQAgASgCCCEEQdSJC0EANgIAQc3lACAGQRhqIAYgBCABQQhqEAVB1IkLKAIAIRJB1IkLQQA2AgAgEkEBRg0BIAYoAhgiASgCFEEBRw0AIAEoAgwoAhAgAigCEEYNACABQRBqIgQoAgAQkwQgASAENgIMIAFCADcCEAsCQCACKAIEIgEEQANAIAEiBCgCACIBDQAMAgsACwNAIAIoAggiBCgCACACRyETIAQhAiATDQALCyADIAQiAkcNAQwCCwsMAQsgBigCCCIFRQ0CIABB0ABqIQIDQAJAAkAgBSgCFEEBRw0AIAUoAgghBwJAIAIiAyIEKAIAIgFFDQADQCABIgQoAhAiASAHSwRAIAQiAygCACIBDQEMAgsgASAHTw0CIAQoAgQiAQ0ACyAEQQRqIQMLQdSJC0EANgIAQQRBFBAGIQFB1IkLKAIAIRRB1IkLQQA2AgAgFEEBRg0BIAEgBDYCCCABQgA3AgAgASAHNgIQIAMgATYCACAAKAJMKAIAIgQEQCAAIAQ2AkwgAygCACEBCyAAKAJQIAEQZyAAIAAoAlRBAWo2AlQLIAUoAgAiBQ0BDAMLCwsQACEWIAYoAggiAQRAA0AgASgCACEVIAEoAhAQkwQgARBaIBUiAQ0ACwsgBigCACEAIAZBADYCACAABEAgABBaCyAWEAcACyAGKAIIIgRFDQADQCAEKAIAIRcgBCgCEBCTBCAEEFogFyIEDQALCyAGKAIAIQAgBkEANgIAIAAEQCAAEFoLIAZBIGokAAuvEgEjfyMAQcACayIEJAACQAJAAkACQAJAIAAoAgQtADoEQCABQTBqIQsgAEEUaiEMIABBjAFqIQkgAEGYAWohDSAAQZQBaiEOIARB+ABqIQ8gBEEUaiEQIARBtAFqIQogBEEQaiERAkADQCAAQQA6AIEBIAAoApgBEOsGIAAgDTYClAEgAEIANwKYASAAKAKMARCTBCAAIAk2AogBIABCADcCjAECQCAALQCAAUUNACAAKAJ8IQNB2AAQXCECQdSJC0EANgIAQevgACACIAEgAxAEIQNB1IkLKAIAIRRB1IkLQQA2AgAgFEEBRgRAEAAhFSACEFogFRAHAAsgACgChAEhAiAAIAM2AoQBIAIEfyACEN8CEFogACgChAEFIAMLEMsOIAAoAoQBEIYOIAAoAngoAjAhAiAEQQA2AqwBIARCADcCpAEgBEIANwIMIAQgAjYCvAEgBEIANwJ0IARCADcCbCAEQgA3AmQgBCAKNgKwASAEQgA3ArQBQdSJC0EANgIAQYbFACAEQQxqIgIgBEG8AWoQA0HUiQsoAgAhFkHUiQtBADYCACAWQQFGBEAQACEXIAIQqQogFxAHAAsCQCAAKAKEASICKAIUIgUgAkEYaiISRg0AA0ACQCAEIAUoAhAiAkEAIAIoAgBBCUYbIgI2AggCQCACRQ0AIAIoAgwiAygCAEEQRw0AIAMoAggNACADKAIMKAIAQQ5HBEAgAygCECgCAEEORw0BCyAAKAKEASEDQdSJC0EANgIAQengACAEQbwBaiADQTRqIAIgBEEIahAFQdSJCygCACEYQdSJC0EANgIAIBhBAUYNASAEKAK8AUEUaiEHA0ACQCAHKAIAIgcEQCAHKAIIIQggCiIGIQICQAJAIAQoArQBIgNFDQADQCAIIAMiAigCECIDSQRAIAIhBiACKAIAIgMNAQwCCyADIAhPBEAgAiEDDAMLIAIoAgQiAw0ACyACQQRqIQYLQdSJC0EANgIAQQRBGBAGIQNB1IkLKAIAIRlB1IkLQQA2AgAgGUEBRg0FIAMgCDYCECADIAI2AgggA0IANwIAIANBADYCFCAGIAM2AgAgAyECIAQoArABKAIAIggEQCAEIAg2ArABIAYoAgAhAgsgBCgCtAEgAhBnIAQgBCgCuAFBAWo2ArgBCyADKAIUIgINAUHUiQtBADYCAEENQdDmAEGciQJB6wJBz6kEEAVB1IkLKAIAIRpB1IkLQQA2AgAgGkEBRwRADA8LDAQLIAQoAgghBwJAIAkiBiICKAIAIgNFDQADQCADIgIoAhAiAyAHSwRAIAIhBiACKAIAIgMNAQwCCyADIAdPDQQgAigCBCIDDQALIAJBBGohBgtB1IkLQQA2AgBBBEEUEAYhA0HUiQsoAgAhG0HUiQtBADYCACAbQQFHBEAgAyACNgIIIANCADcCACADIAc2AhAgBiADNgIAIAAoAogBKAIAIgIEQCAAIAI2AogBIAYoAgAhAwsgACgCjAEgAxBnIAAgACgCkAFBAWo2ApABDAMLDAMLIAIoAgBBfnFBDEYNAAsLAkAgBSgCBCIDBEADQCADIgIoAgAiAw0ADAILAAsDQCAFKAIIIgIoAgAgBUchHCACIQUgHA0ACwsgEiACIgVHDQEMAgsLEAAhAiAEQQxqEKkKDAcLIAQoArQBELUFIAQoAqQBIgIEQCAEIAI2AqgBIAIQWgsgBCgCZCICRQ0AIAQgAjYCaCACEFoLIAwgCxCcCAJAIAAoApwBRQ0AIARCADcCDCAEQQA2AnQgBEIANwJsIARCADcCZCAEIA42AnggBCAAKAJ8NgJ8QdOZAyEGIAAoAngiAigCMEUEQEGu9wIhAkG5AiEDQYGDAiEFDAULQdSJC0EANgIAQe3kACARQe7kACACQTBqEAhB1IkLKAIAIR1B1IkLQQA2AgAgHUEBRg0FQQAgBCgCECIFayAEKAJoIgIgBCgCZCIDa0EDdUcEQANAAkAgAiADRgRAIAVFBEBB/fsCIQJB2gAhA0GwlAMhBkHexAUhBQwJCyAQIAVBAWsiBUEDdGoiAygCBCECIAMoAgAhAyAEIAU2AhAMAQsgAkEIayIFKAIAIQMgBSgCBCECIAQgBTYCaAsgBCACNgIMIAIoAgBFBEBB0PgCIQJBzQIhA0H1ggIhBQwHC0HUiQtBADYCACADIARBDGogAhADQdSJCygCACEeQdSJC0EANgIAIB5BAUYNB0EAIAQoAhAiBWsgBCgCaCICIAQoAmQiA2tBA3VHDQALCyADRQ0AIAQgAzYCaCADEFoLIAAtAIEBRQ0BIAAoAnwhBiAAKAIEIQUgACgCeCECIARCADcCDCAEQgA3AnwgBEIANwJ0IARCADcCbCAEQgA3AmQgBCACKAIwNgK8AQJAAkACQCACKAIcIgNBEE8EQCADKAIQRQ0BC0HUiQtBADYCAEENQeGVBkG4swJB2wlBj+IDEAVB1IkLKAIAIR9B1IkLQQA2AgAgH0EBRw0JDAELAkACfwJAIAMoAhQiA0EHSQ0AIAMoAgQNACADKAIMIAMoAghrQQJ1DAELIANBAEcLIAIoAiggAigCJGtBAnVqIgMEQEHUiQtBADYCAEHYHCAPIAMQA0HUiQsoAgAhIEHUiQtBADYCACAgQQFGDQELQdSJC0EANgIAQe/kACAEQQxqIARBvAFqEANB1IkLKAIAISFB1IkLQQA2AgAgIUEBRw0CCwsQACECIAQoAngiAARAIAQgADYCfCAAEFoLIAQoAmQiAEUNBgwIC0HUiQtBADYCAEHw5AAgBEHEAWogBEEMaiACIAVBGGogBhAQGkHUiQsoAgAhIkHUiQtBADYCACAiQQFHBEAgBCgCnAIiAgRAIAQgAjYCoAIgAhBaCyAEKAJ4IgIEQCAEIAI2AnwgAhBaCyAEKAJkIgJFDQEgBCACNgJoIAIQWgwBCwsQACEjIARBDGoQgQcgIxAHAAsgBEHAAmokAA8LQafbBEGciQJBoQJBidQCEAEAC0HUiQtBADYCAEENIAUgBiADIAIQBUHUiQsoAgAhJEHUiQtBADYCACAkQQFHDQILEAAhAiAEKAJkIgBFDQAMAgsgAhAHAAsACyAEIAA2AmggABBaIAIQBwALDwAgABCGCiAAQQA2AqABC6oCAQZ/AkACQCABKAIAIgQoAgBBM0YEQCAAQdQBahD/BSAAKALkASIBIAAoAugBIgJJBEAgASAENgIAIAAgAUEEajYC5AEPCyABIAAoAuABIgVrQQJ1IgdBAWoiA0GAgICABE8NAUH/////AyACIAVrIgJBAXUiBiADIAMgBkkbIAJB/P///wdPGyICBH8gAkGAgICABE8NAyACQQJ0EFwFQQALIgYgB0ECdGoiAyAENgIAIANBBGohBCABIAVHBEADQCADQQRrIgMgAUEEayIBKAIANgIAIAEgBUcNAAsgACgC4AEhAQsgACAGIAJBAnRqNgLoASAAIAQ2AuQBIAAgAzYC4AEgAQRAIAEQWgsPC0Hw7QVBxZgDQZQGQY3eABABAAsQZAALEGoAC/4DAQh/IAEgACgCCCIDIAAoAgQiBGtBAnVNBEACQCABRQ0AIAQhAyABQQdxIgYEQANAIAMgAjYCACADQQRqIQMgBUEBaiIFIAZHDQALCyABQQJ0IARqIQQgAUEBa0H/////A3FBB0kNAANAIAMgAjYCHCADIAI2AhggAyACNgIUIAMgAjYCECADIAI2AgwgAyACNgIIIAMgAjYCBCADIAI2AgAgA0EgaiIDIARHDQALCyAAIAQ2AgQPCwJAIAQgACgCACIIa0ECdSIFIAFqIgdBgICAgARJBEBB/////wMgAyAIayIJQQF1IgMgByADIAdLGyAJQfz///8HTxsiBwRAIAdBgICAgARPDQIgB0ECdBBcIQoLIAogBUECdGoiBSEDIAFBB3EiCQRAA0AgAyACNgIAIANBBGohAyAGQQFqIgYgCUcNAAsLIAFBAnQgBWohBiABQQFrQf////8DcUEHTwRAA0AgAyACNgIcIAMgAjYCGCADIAI2AhQgAyACNgIQIAMgAjYCDCADIAI2AgggAyACNgIEIAMgAjYCACADQSBqIgMgBkcNAAsLIAQgCEcEQANAIAVBBGsiBSAEQQRrIgQoAgA2AgAgBCAIRw0ACwsgACAKIAdBAnRqNgIIIAAgBjYCBCAAIAU2AgAgCARAIAgQWgsPCxBkAAsQagALuwMBBX8gACgCBCIDIAAoAggiBEkEQCABKAIAIQIgAUEANgIAIAMgAjYCACAAIANBBGo2AgQPCwJAAkACQCADIAAoAgAiBWtBAnUiBkEBaiICQYCAgIAESQRAQQAhA0H/////AyAEIAVrIgRBAXUiBSACIAIgBUkbIARB/P///wdPGyIEBEAgBEGAgICABE8NAiAEQQJ0EFwhAwsgASgCACEFIAFBADYCACADIAZBAnRqIgIgBTYCACADIARBAnRqIQMgAkEEaiEEIAAoAgQiASAAKAIAIgVGDQIDQCABQQRrIgEoAgAhBiABQQA2AgAgAkEEayICIAY2AgAgASAFRw0ACyAAIAM2AgggACgCBCEDIAAgBDYCBCAAKAIAIQEgACACNgIAIAEgA0YNAwNAIANBBGsiAygCACEAIANBADYCACAABEAgACgCGCICBEAgACACNgIcIAIQWgsgACgCDCICBEAgACACNgIQIAIQWgsgACgCACICBEAgACACNgIEIAIQWgsgABBaCyABIANHDQALDAMLEGQACxBqAAsgACADNgIIIAAgBDYCBCAAIAI2AgALIAEEQCABEFoLC48uAzB/AX4CfSMAQUBqIgckACAAKAKMASIEIAAoAogBIghHBEADQCAEQQRrIgQoAgAhAiAEQQA2AgAgAgRAIAIoAhgiAwRAIAIgAzYCHCADEFoLIAIoAgwiAwRAIAIgAzYCECADEFoLIAIoAgAiAwRAIAIgAzYCBCADEFoLIAIQWgsgBCAIRw0ACwsgACAINgKMASAAKAKMAhCeCCAAIABBjAJqNgKIAiAAQgA3AowCIABBFGoiAhCnBBogACAAKAKgATYCgAEgAiABQTBqEJ8IAkAgACgCoAEiA0UNACAAQQA2AqABIAAoAoQBIgVFBEAgACADNgKEAQwBCyAALQCEAkUEQEEkEFwiAkIANwIAIAJBADYCICACQgA3AhggAkIANwIQIAJCADcCCCAAIAI2AoQBIAUgAhDcAiADIAAoAoQBENwCIABBAToAhAIMAQsgAyAFENwCCyAAQYgBaiEQAkACQAJAAkAgAC0AhAJFDQAgACgChAEhAkHUiQtBADYCACAHIAI2AihB9uMAIBAgB0EoahADQdSJCygCACEVQdSJC0EANgIAIBVBAUYNASAHKAIoIgJFDQAgAigCGCIDBEAgAiADNgIcIAMQWgsgAigCDCIDBEAgAiADNgIQIAMQWgsgAigCACIDBEAgAiADNgIEIAMQWgsgAhBaCwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCrAFFBEAgACgCtAEgACgCsAFHDQEgACgCwAEgACgCvAFHDQIgACgCzAEgACgCyAFHDQMgACgC2AEgACgC1AFHDQQgACgC5AEgACgC4AFHDQUgACgC8AEgACgC7AFHDQYgACgCiAEiAiAAKAKMASIDRg0IIAdBADYCFCAHQgA3AgwgByADIAJrIg1BAnUiCzYCPCAHQTBqIglCADcDACAHQgA3AyggB0GAgID8AzYCOEEBIAsgC0EBTRshDkEAIQRBACEDAkAD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IAcoAigiAigCHARAIAIoAhgiBARAA0AgBCgCACEvIAQQWiAvIgQNAAsLQQAhBCACQQA2AhgCQCACKAIUIgBFDQAgAEEETwRAIABBfHEhAwNAIARBAnQiASACKAIQakEANgIAIAIoAhAgAWpBADYCBCACKAIQIAFqQQA2AgggAigCECABakEANgIMIARBBGoiBCADRw0ACwsgAEEDcSIARQ0AQQAhAQNAIAIoAhAgBEECdGpBADYCACAEQQFqIQQgAUEBaiIBIABHDQALCyACQQA2AhwLIAgoAgAhASAIQQA2AgAgAigCECEAIAIgATYCECAABEAgABBaCyACIAgoAgQ2AhQgCEEANgIEIAIgCCgCDCIANgIcIAIgCCoCEDgCICACQRhqIgEgCCgCCCIDNgIAIAAEQCADKAIEIQQCQCACKAIUIgAgAEEBayIDcUUEQCADIARxIQQMAQsgACAESw0AIAQgAHAhBAsgAigCECAEQQJ0aiABNgIAIAhCADcCCAsgCCAKRwRAA0AgCkEUayIKKAIIIgIEQANAIAIoAgAhMCACEFogMCICDQALCyAKKAIAIQAgCkEANgIAIAAEQCAAEFoLIAggCkcNAAsLIAgQWiAHKAIMIgBFDQAgByAANgIQIAAQWgsgB0FAayQADwsQACEBIAhFDQELIAggCkcEQANAIApBFGsiCigCCCICBEADQCACKAIAITEgAhBaIDEiAg0ACwsgCigCACEAIApBADYCACAABEAgABBaCyAIIApHDQALCyAIEFoLIAcoAgwiAEUNBAwFCwALEAAhAQsgB0EoahCiASAHKAIMIgBFDQEMAgsQACEBIAdBKGoQnQgLIAEQBwALIAcgADYCECAAEFogARAHAAvCAgEKfyAAKAJEIgIEQANAIAIoAgAhBiACKAIYIgEEQANAIAEoAgAhBSABEFogBSIBDQALCyACKAIQIQEgAkEANgIQIAEEQCABEFoLIAIQWiAGIgINAAsLIAAoAjwhASAAQQA2AjwgAQRAIAEQWgsgACgCMCICBEADQCACKAIAIQggAigCGCIBBEADQCABKAIAIQcgARBaIAciAQ0ACwsgAigCECEBIAJBADYCECABBEAgARBaCyACEFogCCICDQALCyAAKAIoIQEgAEEANgIoIAEEQCABEFoLIAAoAhwiAQRAA0AgASgCACEJ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kwo2AlQgB0GIkwo2AhwgCkG4jAo2AgAgBywAS0EASARAIAcoAkAQWgsgChDrARogDBDoARogARCMBCAHKALEBCIABEAgByAANgLIBCAAEFoLIAdB0ARqJAAPCxAAIQQMAQsQACEECyAHQRxqEKYCGiABEIwECyAHKALEBCIABEAgByAANgLIBCAAEFoLIAQQBwALpwMBB38jAEGgAWsiAiQAIABBADoAgAEgAEEUaiABQTBqIgMQpAgCQAJAIAAtAIABRQ0AIAJCADcCGCACQQA2AoABIAJBIGoiBEIANwIAIAJCADcClAEgAkGAgID8AzYCnAEgAkG4wwMvAAA7ARwgAkIANwIQIAJCADcCeCACQgA3AowBIAJBzOwJNgIMIAJBsMMDKQAANwIUIAJBCjoAHyACIAAoAnw2AogBIAIgATYChAFB1IkLQQA2AgBBxAogBCADEANB1IkLKAIAIQVB1IkLQQA2AgAgBUEBRg0BIAJBzOwJNgIMIAJCADcChAEgAigClAEiAQRAA0AgASgCACEHIAEoAhgiAARAA0AgACgCACEGIAAQWiAGIgANAAsLIAEoAhAhACABQQA2AhAgAARAIAAQWgsgARBaIAciAQ0ACwsgAigCjAEhACACQQA2AowBIAAEQCAAEFoLIAIoAngiAARAIAIgADYCfCAAEFoLIAJBkO0JNgIMIAIsAB9BAE4NACACKAIUEFoLIAJBoAFqJAAPCxAAIQggAkEMahDIAhogCBAHAAt/AQN/IABBnO8HNgIAAkACQCAAKAKYASIBIABBiAFqIgJGBEBBBCEDIAIhAQwBC0EFIQMgAUUNAQsgASABKAIAIANBAnRqKAIAEQEACyAAKAJsIgIEQCAAIAI2AnAgAhBaCyAAQZDtCTYCACAALAATQQBIBEAgACgCCBBaCyAAC2EBA38gACgCACEBIABBADYCACABBEACQCAALQAIRQ0AAkAgASgCICIAIAFBEGoiA0YEQEEEIQIgAyEADAELQQUhAiAARQ0BCyAAIAAoAgAgAkECdGooAgARAQALIAEQWgsL8QUBD38gACgC1AIiAQRAA0AgASgCACEFIAEQWiAFIgENAAsLIAAoAswCIQEgAEEANgLMAiABBEAgARBaCyAAKALAAiIBBEADQCABKAIAIQYgARBaIAYiAQ0ACwsgACgCuAIhASAAQQA2ArgCIAEEQCABEFoLIAAoAqwCIgEEQANAIAEoAgAhByABEFogByIBDQALCyAAKAKkAiEBIABBADYCpAIgAQRAIAEQWgsgACgCmAIiAQRAA0AgASgCACEIIAEQWiAIIgENAAsLIAAoApACIQEgAEEANgKQAiABBEAgARBaCyAAKAKEAiIBBEADQCABKAIAIQkgARBaIAkiAQ0ACwsgACgC/AEhASAAQQA2AvwBIAEEQCABEFoLIAAoAvABIgEEQANAIAEoAgAhCiABEFogCiIBDQALCyAAKALoASEBIABBADYC6AEgAQRAIAEQWgsgACgC3AEiAQRAA0AgASgCACELIAEQWiALIgENAAsLIAAoAtQBIQEgAEEANgLUASABBEAgARBaCyAAKALIASIBBEADQCABKAIAIQwgARBaIAwiAQ0ACwsgACgCwAEhASAAQQA2AsABIAEEQCABEFoLIAAoArQBIgEEQANAIAEoAgAhDSABEFogDSIBDQALCyAAKAKsASEBIABBADYCrAEgAQRAIAEQWgsgACgCoAEiAQRAA0AgASgCACEOIAEQWiAOIgENAAsLIAAoApgBIQEgAEEANgKYASABBEAgARBaCyAAKAKMASICBEAgACgCkAEiAyACIgFHBEADQCADQQxrIgEoAgAiBARAIANBCGsgBDYCACAEEFoLIAEiAyACRw0ACyAAKAKMASEBCyAAIAI2ApABIAEQWgsgACgCgAEiAQRAIAAgATYChAEgARBaCyAAQShqEGEgACwAJ0EASARAIAAoAhwQWgsgACgCCCIBBEADQCABKAIAIQ8gARBaIA8iAQ0ACwsgACgCACEBIABBADYCACABBEAgARBaCwvDJgI5fwF+IwBBwAJrIgMkAAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAJ8IgYtAIUBQQRxBEACQAJAAkAgASgCHCICQRBJDQAgAigCEA0AAn8CQCACKAIUIgJBB0kNACACKAIEDQAgAigCDCACKAIIa0ECdQwBCyACQQBHCyEEIAEoAighBSABKAIkIQIgA0HkAWogASAGEJQEIQ8gA0EANgLgASADQgA3AtgBIANBADoAHCADIANB2AFqNgIYAkACQCAFIAJrQQJ1IARqIg5FBEAgA0EANgLUASADQgA3AswBDAELAkACQCAOQdaq1aoBTwRA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BkHUiQtBADYCAEEMIAZBqAFqIgRBDEEEEAQhB0HUiQsoAgAhNEHUiQtBADYCACA0QQFGDQEgByARNgIIIAdCEjcCACAHIBEoAgRBAUY2AgRB1IkLQQA2AgBBDCAEQQhBBBAEIQRB1IkLKAIAITVB1IkLQQA2AgAgNUEBRg0BIARCl4CAgBA3AgBB1IkLQQA2AgBBggMgBiAHIARBAEEAEBMhBEHUiQsoAgAhNkHUiQtBADYCACA2QQFGDQEgCCAENgIMCyAFQQRqIgUgC0YNAwwBCwsMCQsQACECIANBGGoQyAIaDAoLIAMoAgwhBQsgBQRAIAMgBTYCECAFEFoLIANCADcCJCADQQA2AowBIANBLGoiAkIANwIAIANCADcCoAEgA0GAgID8AzYCqAEgA0G4wwMvAAA7ASggA0IANwIcIANCADcChAEgA0IANwKYASADQczsCTYCGCADQbDDAykAADcCICADQQo6ACsgAyAAKAJ8NgKUASADIAE2ApABQdSJC0EANgIAQcQKIAIgEBADQdSJCygCACE3QdSJC0EANgIAIDdBAUYNAiADQczsCTYCGCADQgA3ApABIAMoAqABIgUEQANAIAUoAgAhOSAFKAIYIgIEQANAIAIoAgAhOCACEFogOCICDQALCyAFKAIQIQAgBUEANgIQIAAEQCAAEFoLIAUQWiA5IgUNAAsLIAMoApgBIQAgA0EANgKYASAABEAgABBaCyADKAKEASIABEAgAyAANgKIASAAEFoLIANBkO0JNgIYIAMsACtBAE4NACADKAIgEFoLIBIoAgQQbyADKALAASICBEADQCACKAIAITogAhBaIDoiAg0ACwsgAygCuAEhACADQQA2ArgBIAAEQCAAEFoLIAMoAswBIgEEQCADKALQASIEIAEiAkcEQANAIARBDGsiACgCACICBEAgBEEIayACNgIAIAIQWgsgACIEIAFHDQALIAMoAswBIQILIAMgATYC0AEgAhBaCyADKALYASIBBEAgAygC3AEiBCABIgJHBEADQCAEQQxrIgAoAgAiAgRAIARBCGsgAjYCACACEFoLIAAiBCABRw0ACyADKALYASECCyADIAE2AtwBIAIQWgsgDxDfAhoLIANBwAJqJAAPCxAAIQIgA0EYahDIAhoMBQsQACECIAMoAgwiAEUNBCADIAA2AhAgABBa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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAIgIoAgAOXgABAgMEBQYHCAkKCwwNHh8gISIjJCU1Ng4PEBESExQVFhcYGRobHB03JicoKSorLC0uLzAxMjM0ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXABdC0GY/QNB5bMDQeoBEGIACyAAQYTVACABEFggAigCAEEBRw1cIAIoAhQiAUEATA1bIABBBGohBANAIAFBAWsiACACKAIUTw1eIAIoAhAgAEECdGoiAygCAEUNXyAEQY/UACADEFsgAUEBSyEGIAAhASAGDQALDFsLIABBhtUAIAEQWCACKAIAQQJHDVsgAigCEARAIABBBGpBj9QAIAJBEGoQWwsMYAsgAEGH1QAgARBYIAIoAgBBA0cNWgxjCyAAQYjVACABEFggAigCAEEERw1ZIAIoAhQEQCAAQQRqQY/UACACQRRqEFsLIAIoAhBFDVggAEEEakGP1AAgAkEQahBbDwsgAEGJ1QAgARBYIAIoAgBBBUcNWCAAQY/UACACQSRqEFggAigCIEUNVyAAQQRqQY/UACACQSBqEFsPCyAAQbLWACABEFggAigCAEEGRw1XIAIoAgwiAUEATA1WIABBBGohBANAIAFBAWsiACACKAIMTw1ZIAIoAgggAEECdGoiAygCAEUNWiAEQY/UACADEFsgAUEBSyEHIAAhASAHDQALDFYLIABBs9YAIAEQWCACKAIAQQdHDVYgAEGP1AAgAkEcahBYIAIoAhAiAUEATA1VIABBBGohBANAIAFBAWsiACACKAIQTw1YIAIoAgwgAEECdGoiAygCAEUNWSAEQY/UACADEFsgAUEBSyEIIAAhASAIDQALDFULIABBtNYAIAEQWCACKAIAQQhGDVQMVQsgAEG11gAgARBYIAIoAgBBCUcNVAxgCyAAQbbWACAB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ahBYIAIoAgwiAUEATA0gIABBBGohBANAIAFBAWsiACACKAIMTw0jIAIoAgggAEECdGoiAygCAEUNJCAEQYzUACADEFsgAUEBSyEMIAAhASAMDQALDCALIABBk9YAIAEQWCACKAIAQT1HDSAMMAsgAEGU1gAgARBYIAIoAgBBPkcNHwwvCyAAQYPVACABEFggAigCAEE/Rw0eIABBjNQAIAJBFGoQWA8LIABBldYAIAEQWCACKAIAQcAARw0dIAIoAgwiAUEATA0cIABBBGohBANAIAFBAWsiACACKAIMTw0fIAIoAgggAEECdGoiAygCAEUNICAEQYzUACADEFsgAUEBSyENIAAhASANDQALDBwLIABBltYAIAEQWCACKAIAQcEARw0cDCgLIABBl9YAIAEQWCACKAIAQcIARw0bDCYLIABBmNYAIAEQWCACKAIAQcMARw0aIABBjNQAIAJBDGoQWCACKAIIRQ0ZDCsLIABBmdYAIAEQWCACKAIAQcQARw0ZDCELIABBmtYAIAEQWCACKAIAQcUARw0YDCALIABBm9YAIAEQWCACKAIAQcYARw0XIAIoAgwiAUEATA0WIABBBGohBANAIAFBAWsiACACKAIMTw0ZIAIoAgggAEECdGoiAygCAEUNGiAEQYzUACADEFsgAUEBSyEOIAAhASAODQALDBYLIABBnNYAIAEQWCACKAIAQccARw0WDBsLIABBndYAIAEQWCACKAIAQcgARw0VDBkLIABBntYAIAEQWCACKAIAQckARw0UDCQLIABBn9YAIAEQWCACKAIAQcoARw0TIABBjNQAIAJBGGoQWAwWCyAAQaDWACABEFggAigCAEHLAEcNEgwVCyAAQaHWACABEFggAigCAEHMAEcNEQwXCyAAQaLWACABEFggAigCAEHNAEcNEAwWCyAAQaPWACABEFggAigCAEHOAEcNDwwbCyAAQaTWACABEFggAigCAEHPAEcNDiACKAIYBEAgAEEEakGM1AAgAkEYahBbCyACKAIUBEAgAEEEakGM1AAgAkEUahBbCyACKAIQBEAgAEEEakGM1AAgAkEQahBbCwwaCyAAQaXWACABEFggAigCAEHQAEYNDAwNCyAAQabWACABEFggAigCAEHRAEcNDAwYCyAAQafWACABEFggAigCAEHSAEcNCyACKAIUBEAgAEEEakGM1AAgAkEUahBbCwwWCyAAQajWACABEFggAigCAEHTAEcNCgwPCyAAQanWACABEFggAigCAEHUAEcNCQwUCyAAQarWACABEFggAigCAEHVAEcNCAwUCyAAQavWACABEFggAigCAEHWAEcNBwwLCyAAQazWACABEFggAigCAEHXAEcNBgwLCyAAQa3WACABEFggAigCAEHYAEcNBQwVCyAAQa7WACABEFggAigCAEHZAEcNBAwPCyAAQa/WACABEFggAigCAEHaAEcNAwwNCyAAQbDWACABEFggAigCAEHbAEcNAgwHCyAAQbHWACABEFggAigCAEHcAEcNASAAQYzUACACQTxqEFggAigCMCIBQQBMDQAgAEEEaiEEA0AgAUEBayIAIAIoAjBPDQMgAigCLCAAQQJ0aiIDKAIARQ0EIARBjNQAIAMQWyABQQFLIQ8gACEBIA8NAAsLDwtB8O0FQcWYA0GUBkGN3gAQAQALQcWiAUGJogNBvAFBpogFEAEAC0GBgwJB05kDQbkCQa73AhABAAsgAEGM1AAgAkEUahBYCyAAQYzUACACQRBqEFgLIABBjNQAIAJBDGoQWAwKCyAAQYzUACACQRxqEFgLIABBjNQAIAJBGGoQWAsgAEGM1AAgAkEUahBYCyAAQYzUACACQRBqEFgPCyAAQYzUACACQRRqEFgLIABBjNQAIAJBEGoQWAsgAEGM1AAgAkEMahBYDwsgAEGM1AAgAkEoahBYCyAAQYzUACACQSRqEFgPCyAAQYzUACACQRxqEFggAEGM1AAgAkEYahBYDwsgAEGM1AAgAkEIahBYDwsgAEEEakGM1AAgAkEIahBbC40BAQd/IAAoAgAiAgRAIAIhASACIAAoAgQiA0cEQANAIANBMGsiBigCICIEBEAgBCEFIAQgA0EMayIHKAIAIgFHBEADQCABQRhrEFkiASAERw0ACyAGKAIgIQULIAcgBDYCACAFEFoLIANBKGsQWRogBiIDIAJHDQALIAAoAgAhAQsgACACNgIEIAEQWgsL3R4BDn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAIgIoAgAOXgABAgMEBQYHCAkKCwwNHh8gISIjJCU1Ng4PEBESExQVFhcYGRobHB03JicoKSorLC0uLzAxMjM0ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXABdC0GY/QNB5bMDQeoBEGIACyAAQezUACABEFggAigCAEEBRw1cIAIoAhQiAUEATA1bIABBBGohBANAIAFBAWsiACACKAIUTw1eIAIoAhAgAEECdGoiAygCAEUNXyAEQYrUACADEFsgAUEBSyEGIAAhASAGDQALDFsLIABB7tQAIAEQWCACKAIAQQJHDVsgAigCEARAIABBBGpBitQAIAJBEGoQWwsMYAsgAEHv1AAgARBYIAIoAgBBA0cNWgxjCyAAQfDUACABEFggAigCAEEERw1ZIAIoAhQEQCAAQQRqQYrUACACQRRqEFsLIAIoAhBFDVggAEEEakGK1AAgAkEQahBbDwsgAEHx1AAgARBYIAIoAgBBBUcNWCAAQYrUACACQSRqEFggAigCIEUNVyAAQQRqQYrUACACQSBqEFsPCyAAQZDVACABEFggAigCAEEGRw1XIAIoAgwiAUEATA1WIABBBGohBANAIAFBAWsiACACKAIMTw1ZIAIoAgggAEECdGoiAygCAEUNWiAEQYrUACADEFsgAUEBSyEHIAAhASAHDQALDFYLIABBkdUAIAEQWCACKAIAQQdHDVYgAEGK1AAgAkEcahBYIAIoAhAiAUEATA1VIABBBGohBANAIAFBAWsiACACKAIQTw1YIAIoAgwgAEECdGoiAygCAEUNWSAEQYrUACADEFsgAUEBSyEIIAAhASAIDQALDFULIABBktUAIAEQWCACKAIAQQhGDVQMVQsgAEGT1QAgARBYIAIoAgBBCUcNVAxgCyAAQZTVACABEFggAigCAEEKRg1SDFMLIABBldUAIAEQWCACKAIAQQtHDVIMWwsgAEGW1QAgARBYIAIoAgBBDEcNUQxfCyAAQZfVACABEFggAigCAEENRw1QDF0LIABB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ACEBQQAhAiAAQQA2AgAgAQRAIAEQWgsgAEEANgIECyACIAJBAWsiAXFFBEAgASAGcSEFDAMLIAIgBk0NASAGIQUMAgsQACEQIAdBBGoQvQggEBAHAAsgBiACcCEFCyAHKAIEIQMCQAJAIAVBAnQiASAAKAIAaigCACIFRQRAIAMgACgCCDYCACAAIAM2AgggACgCACABaiAINgIAIAMoAgAiAUUNAiABKAIEIQUCQCACIAJBAWsiAXFFBEAgASAFcSEFDAELIAIgBUsNACAFIAJwIQULIAAoAgAgBUECdGohBQwBCyADIAUoAgA2AgALIAUgAzYCAAsgACAAKAIMQQFqNgIMCyAHQRBqJAAgA0EQagurAQEFfyAAQdjiBzYCACAAKAIsIQIgAEEANgIsIAIEQCACKAIQIgEEQANAIAEoAgAhBCABEFogBCIBDQALCyACKAIIIQEgAkEANgIIIAEEQCABEFoLIAIQWgsgACgCICIBBEADQCABKAIAIQUgARBaIAUiAQ0ACwsgACgCGCEBIABBADYCGCABBEAgARBaCyAAQZDtCTYCACAALAATQQBIBEAgACgCCBBaCyAACyoAIAIEQANAIAEgACgCAEYEQCAADwsgAEEEaiEAIAJBAWsiAg0ACwtBAAufEQIhfwF+IwBBMGsiCCQAQcQBEFwiBEEIakEAQbwB/AsAIARCADcCDCAEQQA6AAggBEIANwIAIARCADcCFEHUiQtBADYCACAIQgA3AhggCEIANwMIQSkgBEEcaiAIQQhqEAIhDUHUiQsoAgAhC0HUiQtBADYCACALQQFGBEAQACEMIAQQWiAMEAcACyAEQgA3AiAgBEIANwJMIARCADcCYCAEQgA3AowBIARBQGtCADcCACAEQgA3AjggBEIANwIwIARCADcCKCAEQYCAgPwDNgJIIARCADcCVCAEQYCAgPwDNgJcIARCADcCaCAEQfgAaiIFQgA3AgAgBEGAgID8AzYCcCAEQYQBaiIGQgA3AgAgBCAFNgJ0IAQgBjYCgAEgBEIANwKUASAEQgA3AqABIARBgICA/AM2ApwBIARCADcCqAEgBEGAgID8AzYCsAEgBEIANwK0ASAEQgA3AboBIAggBDYCFCAEIAIgACACKAIAGykCADcCACANIAAoAhw2AgACQAJAAkACQAJAAkACQAJAAkAgACAE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ADYCDCACQQRqIgIgBUcNAAsLIARBA3EiBkUNAEEAIQQDQCAAKAKYASACQQJ0akEANgIAIAJBAWohAiAEQQFqIgQgBkcNAAsLIABBADYCpAELIANB5ABqIgJBAEGJAfwLACADQgA3AoACIANCADcC+AEgA0GAgID8AzYCiAIgA0IANwLwASADQgA3ApQCIANBADYCoAIgA0GQtws2ApwCIANCADcCrAIgA0GAgID8AzYCtAIgA0IANwLAAiADQYCAgPwDNgLIAiADQgA3AtQCIANBgICA/AM2AtwCIANCADcC6AIgA0GAgID8AzYC8AIgA0IANwL8AiADQgA3AowCIANCADcCpAIgA0IANwK4AiADQgA3AswCIANCADcC4AIgA0IANwL0AiADQYCAgPwDNgKEAyADQgA3ApADIANBgICA/AM2ApgDIANCADcCpAMgA0GAgID8AzYCrAMgA0IANwK4AyADQYCAgPwDNgLAAyADQgA3AogDIANCADcCnAMgA0IANwKwAyADQgA3A1hB1IkLQQA2AgAgA0IANwMgQY3IACABIAIgA0EgahAEIQZB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRg0DIAEoAhwiAkEQTwRAIAIoAhBFDQILQdSJC0EANgIAQQ1B4ZUGQbizAkHbCUGP4gMQBUHUiQsoAgAhFEHUiQtBADYCACAUQQFGDQMMBQsQACECIAMoArwBIgBFDQMgAyAANgLAASAAEFogAhAHAAsgAyACNQIYPgLMAyADQQA2AsgDQdSJC0EANgIAIAMgAykCyAM3AxhBKSADQcQDaiADQRhqEAIhAkHUiQsoAgAhFUHUiQtBADYCACAVQQFGDQEgASACKAIANgIcIAEgASgCJDYCKCABKAJEBEAgAUFAaygCACICBEADQCACKAIAIRYgAhBaIBYiAg0ACwtBACECIAFBADYCQAJAIAEoAjwiBEUNACAEQQRPBEAgBEF8cSEHA0AgAkECdCIFIAEoAjhqQQA2AgAgASgCOCAFakEANgIEIAEoAjggBWpBADYCCCABKAI4IAVqQQA2AgwgAkEEaiICIAdHDQALCyAEQQNxIgVFDQBBACEEA0AgASgCOCACQQJ0akEANgIAIAJBAWohAiAEQQFqIgQgBUcNAAsLIAFBADYCRAsgASgCWARAIAEoAlQiAgRAA0AgAigCACEXIAIQWiAXIgINAAsLQQAhAiABQQA2AlQCQCABKAJQIgRFDQAgBEEETwRAIARBfHEhBwNAIAJBAnQiBSABKAJMakEANgIAIAEoAkwgBWpBADYCBCABKAJMIAVqQQA2AgggASgCTCAFakEANgIMIAJBBGoiAiAHRw0ACwsgBEEDcSIFRQ0AQQAhBANAIAEoAkwgAkECdGpBADYCACACQQFqIQIgBEEBaiIEIAVHDQALCyABQQA2AlgLQdSJC0EANgIAQY7IACAGEApB1IkLKAIAIRhB1IkLQQA2AgAgGEEBRg0BQQAhBCAAAn8DQCADIAQ2AlQCQCAGKAIcIgJBEE8EQCACKAIQRQ0BC0HUiQtBADYCAEENQeGVBkG4swJB2wlBj+IDEAVB1IkLKAIAIRlB1IkLQQA2AgAgGUEBRw0GDAQLAkACfwJAIAIoAhQiAkEHSQ0AIAIoAgQNACACKAIMIAIoAghrQQJ1DAELIAJBAEcLIAYoAiggBigCJGtBAnVqIARNBEACQCABKAIcIgJBEE8EQCACKAIQRQ0BC0HUiQtBADYCAEENQeGVBkG4swJB2wlBj+IDEAVB1IkLKAIAIRpB1IkLQQA2AgAgGkEBRw0IDAYLIAIoAhQiAkEHSQ0BIAIoAgQNASACKAIMIAIoAghrQQJ1DAMLAkACQCAGKAI8IgVFDQAgBigCOCIMAn8gBUEBayAEcSAFaUEBSyIHRQ0AGiAEIAQgBUkNABogBCAFcAsiCkECdGooAgAiAkUNACACKAIAIgJFDQAgB0UEQCAFQQFrIQcDQAJAIAQgAigCBCINRwRAIAcgDXEgCkYNAQwECyACKAIIIARGDQQLIAIoAgAiAg0ACwwBCwNAAkAgBCACKAIEIgdHBEAgBSAHTQR/IAcgBXAFIAcLIApGDQEMAwsgAigCCCAERg0DCyACKAIAIgINAAsLQdSJC0EANgIAQQ1B8OMFQcarAkGuAUGJ1AIQBUHUiQsoAgAhG0HUiQtBADYCACAbQQFHDQcMBQtB1IkLQQA2AgBBiAEgA0HIAGogDCAFIAQQBUHUiQsoAgAhAkHUiQtBADYCAAJAIAJBAUcEQEHUiQtBADYCAEGIyAAgA0FAayADKAJIIAMoAkwQCEHUiQsoAgAhHEHUiQtBADYCACAcQQFGDQZB1IkLQQA2AgBBuQEgBiAEEAIhBUHUiQsoAgAhHUHUiQtBADYCACAdQQFGDQYCQCAGKAIcIgJBEE8EQCACKAIQRQ0BC0HUiQtBADYCAEENQeGVBkG4swJB2wlBj+IDEAVB1IkLKAIAIR5B1IkLQQA2AgAgHkEBRw0JDAcLQY/IAEH2EAJ/AkAgAigCFCICQQdJDQAgAigCBA0AIAIoAgwgAigCCGtBAnUMAQsgAkEARwsgBEsbIQIgAykDSCElIAVBA0cNAUHUiQtBADYCACADICU3AzggAyAlNwMIIAIgASADQQhqQQIQBBpB1IkLKAIAIR9B1IkLQQA2AgAgH0EBRg0GIAMgAykDQCIlNwMwQdSJC0EANgIAIAMgJTcDACACIAEgA0ECEAQaQdSJCygCACEgQdSJC0EANgIAICBBAUYNBkHUiQtBADYCAEGNMyADQcgDaiAIIAQgA0HUAGoQBUHUiQsoAgAhIUHUiQtBADYCACAhQQFGDQYgAygCyAMgCTYCDCAJQQJqIQkgBEEBaiEEDAMLDAULQdSJC0EANgIAIAMgJTcDKCADICU3AxAgAiABIANBEGogBRAEGkHUiQsoAgAhIkHUiQtBADYCACAiQQFGDQRB1IkLQQA2AgBBjTMgA0HIA2ogCCAEIANB1ABqEAVB1IkLKAIAISNB1IkLQQA2AgAgI0EBRg0EIAMoAsgDIAk2AgwgCUEBaiEJIARBAWohBAwBCwsgAkEARwsgASgCKCABKAIka0ECdWo2AugBQdSJC0EANgIAQZDIACAAQRRqIAsQA0HUiQsoAgAhJEHUiQtBADYCACAkQQFGDQEgA0HkAGoQ5gMaIANB0ANqJAAPC0EAEAsaEHAACxAAIQIgA0HkAGoQ5gMaCyACEAcACwALmgMBBH8jAEEwayIDJAAgAkHw////B0kEQAJAAkAgAkELTwRAIAJBD3JBAWoiBRBcIQQgAyAFQYCAgIB4cjYCFCADIAQ2AgwgAyACNgIQDAELIAMgAjoAFyADQQxqIQQgAkUNAQsgBCABIAL8CgAACyACIARqQQA6AABB1IkLQQA2AgBBjQIgA0EMakG6/AIQAiEBQdSJCygCACECQdSJC0EANgIAAkACQCACQQFHBEAgAyABKAIINgIgIAMgASkCADcDGCABQgA3AgAgAUEANgIIIAMgAygCHCADLAAjIgJB/wFxIAJBAEgiAhs2AiwgAyADKAIYIANBGGogAhs2AihB1IkLQQA2AgAgAyADKQIoNwMAQQYgACADEANB1IkLKAIAIQZB1IkLQQA2AgAgBkEBRg0BIAMsACNBAEgEQCADKAIYEFoLIAEsAAtBAEgEQCABKAIAEFoLIANBMGokAA8LEAAhAgwBCxAAIQIgAywAI0EATg0AIAMoAhgQWgsgAywAF0EASARAIAMoAgwQWgsgAhAHAAsQ6gEAC8cDAQl/IABBxOAHNgIAIAAoAtwBIgEEQANAIAEoAgAhBCABEFogBCIBDQALCyAAKALUASEBIABBADYC1AEgAQRAIAEQWgsgACgCyAEiAQRAA0AgASgCACEFIAEQWiAFIgENAAsLIAAoAsABIQEgAEEANgLAASABBEAgARBaCwJAIAAoArQBIgEEQANAIAEoAgAhByABLQAURQRAQdSJC0EANgIAQYfIACABQQxqEApB1IkLKAIAIQZB1IkLQQA2AgAgBkEBRg0DCyABEFogByIBDQALCyAAKAKsASEBIABBADYCrAEgAQRAIAEQWgsgACgCoAEiAQRAA0AgASgCACEIIAEoAgwiAwRAIAEgAzYCECADEFoLIAEQWiAIIgENAAsLIAAoApgBIQEgAEEANgKYASABBEAgARBaCyAAKAKMASIBBEADQCABKAIAIQkgARBaIAkiAQ0ACwsgACgChAEhASAAQQA2AoQBIAEEQCABEFoLIAAoAoABIQEgAEEANgKAASABBEAgARBaCyAAKAJsIgEEQCAAIAE2AnAgARBaCyAAQZDtCTYCACAALAATQQBIBEAgACgCCBBaCyAADwtBABALGhBwAAvSAwEGfyMAQSBrIgQkAAJAAkACQAJAIAFFDQAgAAJ/IAJBldPH3gVsIgNBGHYgA3NBldPH3gVsQdTMnvoGcyIDQQ12IANzQZXTx94FbCIDQQ92IANzIgMgAUEBa3EgAWkiBUEBTQ0AGiADIAEgA0sNABogAyABcAsiBkECdGooAgAiAEUNACAAKAIAIgBFDQACQCAFQQFNBEAgAUEBayEBA0ACQCAAKAIEIgUgA0cEQCABIAVxIAZGDQEMBQsgACgCCCACRg0DCyAAKAIAIgANAAsMAgsDQAJAIAAoAgQiBSADRwRAIAEgBU0EfyAFIAFwBSAFCyAGRg0BDAQLIAAoAgggAkYNAgsgACgCACIADQALDAELIAIoAgQiAEEHSQ0BIAAoAgRBAUcNASAAKAIIIgBBEE8EQCAALQAADQMLIARBATYCGCAEIAA2AhQgBEEBNgIQIARBADoADEHUiQtBADYCAEEHQdidCyAEQQxqEAIhAEHUiQsoAgAhB0HUiQtBADYCACAHQQFGDQMgAiAANgIECyAEQSBqJAAPC0Gg/gVBsaUCQagCQYr/AhABAAtB/tAGQbizAkHoBUG4jAQQAQALEAAhCCAEQQxqEHcgCBAHAAu3DAEOfwJAAkACQAJAAkACQAJAIAAoAhAiAkGABE8EQCAAIAJBgARrNgIQIAAoAgQiAigCACEHIAAgAkEEaiIBNgIEAkAgACgCCCIDIAAoAgxHDQAgACgCACIFIAFJBEAgAyABayECIAEgASAFa0ECdUEBakF+bUECdCIFaiEEIAEgA0cEQCAEIAEgAvwKAAAgACgCBCEBCyAAIAIgBGoiAzYCCCAAIAEgBWo2AgQMAQtBASADIAVrQQF1IAMgBUYbIgJBgICAgARPDQIgAkECdCIEEFwiBiAEaiEIIAYgAkF8cWoiBCECIAEgA0cEQCAEIAMgAWtqIQIgBCEDA0AgAyABKAIANgIAIAFBBGohASADQQRqIgMgAkcNAAsLIAAgCDYCDCAAIAI2AgggACAENgIEIAAgBjYCACAFEFogACgCCCEDCwwGCyAAKAIIIgcgACgCBCICayIFIAAoAgwiAyAAKAIAIgRrIgFJBEBBgCAQXCEGIAMgB0cEQCAHIAY2AgAMCAsCQCACIARHBEAgAiEEDAELQQEgAyACa0EBdSACIAdGIgEbIgNBgICAgARPDQIgA0ECdCIEEFwiCCAEaiEJIAggA0EDakF8cWoiBCEHIAFFBEAgBCAFaiEHIAQhASACIQMDQCABIAMoAgA2AgAgA0EEaiEDIAFBBGoiASAHRw0ACwsgACAJNgIMIAAgBzYCCCAAIAQ2AgQgACAINgIAIAJFDQAgAhBaIAAoAgQhBAsgBEEEayAGNgIAIAAgACgCBCIBQQRrIgI2AgQgAigCACEHIAAgATYCBAJAIAAoAggiAyAAKAIMRw0AIAAoAgAiBSABSQRAIAMgAWshAiABIAEgBWtBAnVBAWpBfm1BAnQiBWohBCABIANHBEAgBCABIAL8CgAAIAAoAgQhAQsgACACIARqIgM2AgggACABIAVqNgIEDAELQQEgAyAFa0EBdSADIAVGGyICQYCAgIAETw0CIAJBAnQiBBBcIgYgBGohCCAGIAJBfHFqIgQhAiABIANHBEAgBCADIAFraiECIAQhAwNAIAMgASgCADYCACABQQRqIQEgA0EEaiIDIAJHDQALCyAAIAg2AgwgACACNgIIIAAgBDYCBCAAIAY2AgAgBRBaIAAoAgghAwsMBgtBASABQQF1IAMgBEYbIgNBgICAgARPDQAgA0ECdCIDEFwhBEHUiQtBADYCAEEEQYAgEAYhBkHUiQsoAgAhCkHUiQtBADYCACAKQQFGDQICQCAEIAVqIgEgAyAEaiIDRwRAIAEhAgwBCyAFQQBKBEAgASAFQQF2QQJqQXxxayECIAEhAwwBC0EBIAVBAXUgAiAHRhsiAkGAgICABE8EQEHUiQtBADYCAEEDEAlB1IkLKAIAIQtB1IkLQQA2AgAgC0EBRg0DDAYLQdSJC0EANgIAQQQgAkECdCIDEAYhAkHUiQsoAgAhDEHUiQtBADYCACAMQQFGDQIgBBBaIAIgA2ohAyAAKAIIIQcgAiEECyACIAY2AgAgAkEEaiEBA0AgACgCBCAHRgRAIAAgAzYCDCAAIAE2AgggACACNgIEIAAoAgAhAiAAIAQ2AgAgAgRAIAIQWgsPCwJAIAIgBEcEQCACIQUMAQsCQCABIANJBEAgASADIAFrQQJ1QQFqQQJtQQJ0aiIEIAEgAmsiBmshBSABIAJGDQEgBSACIAb8CgAADAELAkBBASADIAJrQQF1IAIgA0YbIgNBgICAgARPBEBB1IkLQQA2AgBBAxAJQdSJCygCACENQdSJC0EANgIAIA1BAUcNCQwBC0HUiQtBADYCAEEEIANBAnQiCBAGIQRB1IkLKAIAIQ5B1IkLQQA2AgAgDkEBRwRAIAQgA0EDakF8cWoiBSEGIAEgAkcEQCAFIAEgAmtqIQYgBSEBIAIhAwNAIAEgAygCADYCACADQQRqIQMgAUEEaiIBIAZHDQALCyAEIAhqIQMgAhBaIAYhAQwDCwsQACEBIAIhBAwGCyAEIQEgAiEECyAFQQRrIgIgB0EEayIHKAIANgIADAALAAsQagALEAAhASAGEFoMAQsQACEBCyAEEFogARAHAAsACyADIAc2AgALIAAgACgCCEEEajYCCAvGDQMNfwJ9AX4gAkGV08feBWwiBUEYdiAFc0GV08feBWxB1Mye+gZzIgVBDXYgBXNBldPH3gVsIgVBD3YgBXMiBUEGdCAFQQJ2aiADQZXTx94FbCIIQRh2IAhzQZXTx94FbEHUzJ76BnMiCEENdiAIc0GV08feBWwiCEEPdiAIc2pBx4yijgZrIAVzIQgCQCAAAn8CQCABKAIEIgVFDQACQCAFaSIJQQFNBEAgCCAFQQFrcSEHDAELIAgiByAFSQ0AIAcgBXAhBwsgASgCACAHQQJ0aigCACIGRQ0AIAYoAgAiBkUNACAJQQFNBEAgBUEBayEJA0ACQCAIIAYoAgQiCkcEQCAJIApxIAdHDQQMAQsgBigCCCACRw0AIAYoAgwgA0cNAEEADAQLIAYoAgAiBg0ACwwBCwNAAkAgCCAGKAIEIglHBEAgBSAJTQR/IAkgBXAFIAkLIAdHDQMMAQsgBigCCCACRw0AIAYoAgwgA0cNAEEADAMLIAYoAgAiBg0ACwtBFBBcIQYgBCkCACEUIAZBADYCECAGIBQ3AgggBiAINgIEIAZBADYCACABQQhqIQkgASoCECESIAEoAgxBAWqzIRMCQAJAIAVFDQAgEiAFs5QgE10NACAHIQgMAQtBAiECAkAgBSAFQQFrcUEARyAFQQNJciAFQQF0ciIDAn8gEyASlY0iEkMAAIBPXSASQwAAAABgcQRAIBKpDAELQQALIgQgAyAESxsiA0EBRg0AIAMgA0EBa3FFBEAgAyECDAELQdSJC0EANgIAQRUgAxAGIQJB1IkLKAIAIQ1B1IkLQQA2AgAgDUEBRg0DIAEoAgQhBQsCQAJAIAIgBU0EQCACIAVPDQIgBUEDSSEEAn8gASgCDLMgASoCEJWNIhJDAACAT10gEkMAAAAAYHEEQCASqQwBC0EACyEDAkACQCAEDQAgBWlBAUsNACADQQFBICADQQFrZ2t0IANBAkkbIQQMAQtB1IkLQQA2AgBBFSADEAYhBEHUiQsoAgAhDkHUiQtBADYCACAOQQFGDQYLIAUgAiAEIAIgBEsbIgJNBEAgASgCBCEFDAMLIAJFDQELIAJBgICAgARPBEBB1IkLQQA2AgBBAxAJQdSJCygCACEPQdSJC0EANgIAIA9BAUYNBQALQdSJC0EANgIAQQQgAkECdBAGIQRB1IkLKAIAIRBB1IkLQQA2AgAgEEEBRg0EIAEoAgAhAyABIAQ2AgAgAwRAIAMQWgsgASACNgIEQQAhB0EAIQUgAkEETwRAIAJB/P///wNxIQQDQCAFQQJ0IgMgASgCAGpBADYCACABKAIAIANqQQA2AgQgASgCACADakEANgIIIAEoAgAgA2pBADYCDCAFQQRqIgUgBEcNAAsLIAJBA3EiAwRAA0AgASgCACAFQQJ0akEANgIAIAVBAWohBSAHQQFqIgcgA0cNAAsLIAEoAggiBUUEQCACIQUMAgsgBSgCBCEDAkAgAiACQQFrIgpxBEAgAiADTQRAIAMgAnAhAwsgASgCACADQQJ0aiAJNgIAIAUoAgAiBw0BIAIhBQwDCyABKAIAIAMgCnEiA0ECdGogCTYCACAFKAIAIgRFBEAgAiEFDAMLA0ACQCADIAQoAgQgCnEiB0YEQCAEIQUMAQsgB0ECdCILIAEoAgBqIgwoAgAEQCAFIAQoAgA2AgAgBCABKAIAIAtqKAIAKAIANgIAIAEoAgAgC2ooAgAgBDYCAAwBCyAMIAU2AgAgBCEFIAchAwsgBSgCACIEDQALIAIhBQwCCwNAIAIgBygCBCIETQRAIAQgAnAhBAsCQCADIARGBEAgByEFDAELIARBAnQiCiABKAIAaiILKAIARQRAIAsgBTYCACAHIQUgBCEDDAELIAUgBygCADYCACAHIAEoAgAgCmooAgAoAgA2AgAgASgCACAKaigCACAHNgIACyAFKAIAIgcNAAsgAiEFDAELIAEoAgAhAkEAIQUgAUEANgIAIAIEQCACEFoLIAFBADYCBAsgBSAFQQFrIgJxRQRAIAIgCHEhCAwBCyAFIAhLDQAgCCAFcCEICwJAAkAgASgCACAIQQJ0aiICKAIAIgRFBEAgBiABKAIINgIAIAEgBjYCCCACIAk2AgAgBigCACICRQ0CIAIoAgQhBAJAIAUgBUEBayICcUUEQCACIARxIQQMAQsgBCAFSQ0AIAQgBXAhBAsgASgCACAEQQJ0aiEEDAELIAYgBCgCADYCAAsgBCAGNgIACyABIAEoAgxBAWo2AgxBAQs6AAQgACAGNgIADwsQACERIAYQWiAREAcAC/oCAQ5/IwBBEGsiAyQAIAAoAhQiBCAAQRhqIgpHBEAgAEE0aiELA0AgAyAEKAIQIgJBACACKAIAQQhGGyIGNgIEAkAgBkUNACADQQhqIAAgBiADQQRqENMIAn8gAygCCCIBKAIgIgdFBEAgASgCDCEJQQAhBUEAIQhBAAwBCyABQRxqIQggASgCGAsiAiAIRyAFIAlHIAcbQQFHDQAgAUEQaiEMA0AgAyACQRBqIAwgBUECdGogBxsoAgAiATYCACADQQhqIg0gCyABIAMQtwUgDSADKAIIQQxqIAYgBhCnCgJAIAdFBEAgBUEBaiEFDAELIAIoAgQiAQRAA0AgASICKAIAIgENAAwCCwALA0AgAiACKAIIIgIoAgBHDQALCyACIAhHIAUgCUcgBxsNAAsLAkAgBCgCBCIBBEADQCABIgIoAgAiAQ0ADAILAAsDQCAEKAIIIgIoAgAgBEchDiACIQQgDg0ACwsgAiIEIApHDQALCyADQRBqJAALrYIBA3Z/A34CfSMAQZAHayIDJAAgAyABNgIkIAMgAjYCICADIABBGGo2AiggA0EsaiACIAEQlAQhFCACKAIwIQAgA0EANgKkAiADQgA3ApwCIANCADcC3AEgA0IANwLkASADQgA3AuwBIANBrAJqIhVCADcCACADIBU2AqgCIANCADcChAFB1IkLQQA2AgAgAyAANgKwBEGGxQAgA0GEAWoiHiADQbAEahADQdSJCygCACEAQdSJC0EANgIAAkAgAEEBRgRAEAAhAAwBCyACKAIwIQAgA0IANwKMAyADQgA3ApQDIANBADYCnAMgA0GkA2oiHEIANwIAIANBsANqIhlCADcCACADIBw2AqADIAMgGTYCrAMgA0IANwK0AiADIAA2ArAEIANBtAJqIRFB05kDIQYCQAJAAkACQCAARQRAQa73AiECQbkCIQFBgYMCIQAMAQtB1IkLQQA2AgBBh8UAIANBuAJqQYjFACADQbAEahAIQdSJCygCACEnQdSJC0EANgIAICdBAUYNAgJAQQAgAygCuAIiBWsgAygCkAMiASADKAKMAyIAa0EDdUcEQCADQbwCaiEHA0ACQCAAIAFGBEAgBUUEQEH9+wIhAkHaACEBQbCUAyEGQd7EBSEADAYLIAcgBUEBayIEQQN0aiIAKAIEIQEgACgCACEAIAMgBDYCuAIMAQsgAUEIayIEKAIAIQAgBCgCBCEBIAMgBDYCkAMLIAMgATYCtAIgASgCAEUEQEHQ+AIhAkHNAiEBQfWCAiEADAQLQdSJC0EANgIAIAAgESABEANB1IkLKAIAIShB1IkLQQA2AgAgKEEBRg0CQQAgAygCuAIiBWsgAygCkAMiASADKAKMAyIAa0EDdUcNAAsLIANCADcCwAMgA0GAgID8AzYCyAMgA0IANwK4A0HUiQtBADYCAEGJxQAgFBAKQdSJCygCACEAQdSJC0EANgIAIANBuANqIR0CQAJAAkACQAJAIABBAUcEQCACKAIwIQAgA0EANgLUAyADQgA3AswDIAMgADYC8AUgA0IANwKIBSADQgA3ApAFIANBADYCmAVB1IkLQQA2AgAgA0IANwKwBCADIANBzANqNgKcBUH6PyADQbAEaiADQfAFahADQdSJCygCACEpQdSJC0EANgIAIClBAUYNAyADKAKIBSIABEAgAyAANgKMBSAAEFoLIAMoAswDIg4gAygC0AMiH0YNAiADQcADaiEgIANBpARqIRogA0GEBmohISADQfQFaiEQIANBuARqISIgA0GIBGohEiADQcQFaiEWIANBsAVqIRsgA0G0BGohIwJAAkACQAJAA0ACQAJAIA4oAgAiDSgCBCIAQQFGDQBBq4kEIQVB5AchBEG//wUhAgJAAkACQCAAQQdJDQAgACgCBEEBRw0AQeiGASEFQeUJIQRBmfkFIQIgACgCCCIAQRBJDQAgACgCEEECRw0AIAAoAhQiASAAKAIYIgBHDQEMAgtB1IkLQQA2AgBBDSACQbizAiAEIAUQBUHUiQsoAgAhKkHUiQtBADYCACAqQQFHDREQACEADA0LA0AgASgCACICQQJJDQIgASgCBCIEQQAgAkECRxtFBEAgBA0DIAFBDGoiASAARg0CDAELC0HUiQtBADYCAEENQcrKBkGfnwNBiwRBv+IEEAVB1IkLKAIAIStB1IkLQQA2AgAgK0EBRw0QEAAhAAwMCyADQgA3ArAEIAMoAiAhASADKAIkIQAgA0EANgKYBSADQgA3ApAFIANCADcCiAUgAyAANgKoBSADIAA2AqQFIAMgATYCoAUgAyANNgKcBUGriQQhAEHkByEFQb//BSEEIA0oAgQiAUEHSQ0GIAEoAgRBAUcNBkHohgEhAEHlCSEFQZn5BSEEIAEoAggiAUEQSQ0GIAEoAhBBAkcNBiADIAFBFGo2AqwFIBtCADcCCCAbQgA3AgAgA0GAgID8AzYCwAUgFkIANwIIIBZCADcCACADQYCAgPwDNgLUBSADQgA3AN0FIANCADcC2AUgA0IANwOQBCASQgA3AwAgA0IANwOABCADQgA3A/gDIANCADcD8AMgA0GAgID8AzYCmAQgA0IANwKkBCADQgA3ApwEIANBgICA/AM2AqwEIBUiBSEBAkACQAJAAkACQAJAAkACQAJAIAMoAqwCIgBFDQADQCANIAAiASgCECIASQRAIAEhBSABKAIAIgANAQwCCyAAIA1PBEAgASEADAMLIAEoAgQiAA0ACyABQQRqIQULQdSJC0EANgIAQQRBGBAGIQBB1IkLKAIAISxB1IkLQQA2AgAgLEEBRg0BIAAgDTYCECAAIAE2AgggAEIANwIAIABBADYCFCAFIAA2AgAgACEBIAMoAqgCKAIAIgIEQCADIAI2AqgCIAUoAgAhAQsgAygCrAIgARBnIAMgAygCsAJBAWo2ArACCyADIAAoAhQ2AuwDIAMgDTYC6ANB1IkLQQA2AgAgAyADKQLoAzcDGEGKxQAgA0HwA2ogA0EYahADQdSJCygCACEtQdSJC0EANgIAIC1BAUYNAAJAAkAgAygChAQEQANAIAMoAoQERQRAQdSJC0EANgIAQQ1Bq/cFQceeA0E0Qe+6AhAFQdSJCygCACEuQdSJC0EANgIAIC5BAUcNGxAAIQAMEQsgAyADKAL0AyADKAKABCIAQQd2Qfz//w9xaigCACAAQf8DcUEDdGopAgAieTcD4ANB1IkLQQA2AgBBi8UAIANB8AVqIBIgeaciCSB5QiCIpyIIIANB4ANqEAxB1IkLKAIAIQBB1IkLQQA2AgACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABBAUYNACADKALwBSIAIAAoAhBBAWs2AhAgAyADKAKEBEEBazYChAQgAyADKAKABEEBaiIANgKABCAAQYAITwRAIAMoAvQDKAIAEFogAyADKAL0A0EEajYC9AMgAyADKAKABEGABGs2AoAEC0HUiQtBADYCAEGLxQAgA0HwBWogEiAJIAggA0HgA2oQDEHUiQsoAgAhL0HUiQtBADYCACAvQQFGDQAgAygC8AUoAhANDiAIQZXTx94FbCIAQRh2IABzQZXTx94FbEHUzJ76BnMiAEENdiAAc0GV08feBWwiF0EPdiIkIBdzIgIgCUGV08feBWwiAEEYdiAAc0GV08feBWxB1Mye+gZzIgBBDXYgAHNBldPH3gVsIgBBD3YgAHMiE0EGdCIYIBNBAnYiJWpqQceMoo4GayATcyEEAkACQCADKAKgBCIARQ0AIAMoApwEAn8gBCAAQQFrcSAAaUEBSyIFRQ0AGiAEIAAgBEsNABogBCAAcAsiBkECdGooAgAiAUUNACABKAIAIgFFDQAgBUUEQCAAQQFrIQUDQAJAIAQgASgCBCIHRwRAIAUgB3EgBkYNAQwECyABKAIIIAlHDQAgASgCDCAIRg0ECyABKAIAIgENAAsMAQsDQAJAIAQgASgCBCIFRwRAIAAgBU0EfyAFIABwBSAFCyAGRg0BDAMLIAEoAgggCUcNACABKAIMIAhGDQMLIAEoAgAiAQ0ACwtB1IkLQQA2AgBBBEEQEAYhB0HUiQsoAgAhMEHUiQtBADYCACAwQQFGDQIgByAENgIEIAcgeTcCCCAHQQA2AgAgAyoCrAQhfCADKAKoBEEBarMhfQJAAkACQAJAAkACQAJAAkAgAEUNACB8IACzlCB9XQ0AIAYhBAwBC0ECIQYCQCAAIABBAWtxQQBHIABBA0lyIABBAXRyIgECfyB9IHyVjSJ8QwAAgE9dIHxDAAAAAGBxBEAgfKkMAQtBAAsiBSABIAVLGyIBQQFGDQAgASABQQFrcUUEQCABIQYMAQtB1IkLQQA2AgBBFSABEAYhBkHUiQsoAgAhMUHUiQtBADYCACAxQQFGDQIgAygCoAQhAAsCQAJAIAAgBk8EQCAAIAZNDQIgAEEDSSEFAn8gAygCqASzIAMqAqwElY0ifEMAAIBPXSB8QwAAAABgcQRAIHypDAELQQALIQECQAJAIAUNACAAaUEBSw0AIAFBAUEgIAFBAWtna3QgAUECSRshAQwBC0HUiQtBADYCAEEVIAEQBiEBQdSJCygCACEyQdSJC0EANgIAIDJBAUYNBQsgACAGIAEgASAGSRsiBk0EQCADKAKgBCEADAMLIAZFDQELIAZBgICAgARPBEBB1IkLQQA2AgBBAxAJQdSJCygCACEzQdSJC0EANgIAIDNBAUcNMxAAIQAgBxBaDCkLQdSJC0EANgIAQQQgBkECdBAGIQFB1IkLKAIAITRB1IkLQQA2AgAgNEEBRg0DIAMoApwEIQAgAyABNgKcBCAABEAgABBaCyADIAY2AqAEQQAhBUEAIQEgBkEETwRAIAZB/P///wNxIQoDQCABQQJ0IgAgAygCnARqQQA2AgAgAygCnAQgAGpBADYCBCADKAKcBCAAakEANgIIIAMoApwEIABqQQA2AgwgAUEEaiIBIApHDQALCyAGQQNxIgAEQANAIAMoApwEIAFBAnRqQQA2AgAgAUEBaiEBIAVBAWoiBSAARw0ACwsgAygCpAQiAUUEQCAGIQAMAgsgASgCBCEKAkAgBiAGQQFrIgtxBEAgBiAKTQRAIAogBnAhCgsgAygCnAQgCkECdGogGjYCACABKAIAIgUNASAGIQAMAwsgAygCnAQgCiALcSIKQQJ0aiAaNgIAIAEoAgAiAEUEQCAGIQAMAwsDQAJAIAogACgCBCALcSIFRgRAIAAhAQwBCyAFQQJ0IgwgAygCnARqIg8oAgAEQCABIAAoAgA2AgAgACADKAKcBCAMaigCACgCADYCACADKAKcBCAMaigCACAANgIADAELIA8gATYCACAAIQEgBSEKCyABKAIAIgANAAsgBiEADAILA0AgBiAFKAIEIgBNBEAgACAGcCEACwJAIAAgCkYEQCAFIQEMAQsgAEECdCILIAMoApwEaiIMKAIARQRAIAwgATYCACAFIQEgACEKDAELIAEgBSgCADYCACAFIAMoApwEIAtqKAIAKAIANgIAIAMoApwEIAtqKAIAIAU2AgALIAEoAgAiBQ0ACyAGIQAMAQsgAygCnAQhACADQQA2ApwEIAAEQCAAEFoLQQAhACADQQA2AqAECyAAIABBAWsiAXFFBEAgASAEcSEEDAELIAAgBEsNACAEIABwIQQLIAMoApwEIARBAnRqIgUoAgAiAQ0DIAcgAygCpAQ2AgAgAyAHNgKkBCAFIBo2AgAgBygCACIBRQ0FIAEoAgQhASAAIABBAWsiBXENASABIAVxIQEMAgsQACEAIAcQWgwkCyAAIAFLDQAgASAAcCEBCyADKAKcBCABQQJ0aiEBDAELIAcgASgCADYCAAsgASAHNgIACyADIAMoAqgEQQFqNgKoBAsgCEUNGEEAIQZBxQAhAUHTmQMhAAJAAkAgCCgCAEEBaw5cBRoFBQUaGgUFGhoaGhoaGhoPGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGgAaGg8BGhoaGhoaGhoaGhoEGhoaGhoaGhoaGhoaGhoNCyANKAIEIgAgCCgCBCIBRg0EQdSJC0EANgIAQawBIAAgARACITZB1IkLKAIAITVB1IkLQQA2AgAgNUEBRg0FIDZFDRkMBAsgCCgCDCAJRiEFDAgLEAAhAAwdCxAAIQAMHAsgCCgCCA0VCyAIKAIEIgBBB0kNCSAAKAIEQQFHDQlB1IkLQQA2AgAgAygCJCEAIAMoAighASADIAg2AvAFQZ8nIANB8AVqIAEgAEEAEA0hAEHUiQsoAgAhN0HUiQtBADYCACA3QQFGDQAgCSAAKAIARgRAQQEhBgwKC0HqASEBQeWzAyEAQgAheQJAAkACQCAIKAIAIgQOBAoBAgEACyAEQTNGDQAgBEHdAEYNCQwBCyAIKQIIIXkLAkAgAygCsAMiBEUNACB5QiCIInqnIQUgeachByAZIQADQCAAIQYCQCAEIgEpAhAieacgByAFIHlCIIgieaciACAAIAVLGxBeIgANAEEAIQAgeSB6UQ0AQX9BASB5IHpUGyEACyAGIAEgAEEASCIKGyEAIAFBBGogASAKGygCACIEDQALIAAgGUYNACAHIAYgASAKGyIHKQIQInmnIHlCIIgieaciACAFIAAgBUkbEF4iAEUEQCB5IHpWDQEMAwsgAEEATg0CCyADQgA3A/gFIANCADcD8AUgA0GAgID8AzYCgAYMAgsQACEADBkLIANCADcD+AUgA0IANwPwBSADIAcoAig2AoAGQQIhBQJAAkACQAJAIAMCfwJAAkACQAJAAkACQCAHKAIcIgBBAUYNAEEAIQQgACAAQQFrcQRAQdSJC0EANgIAQRUgABAGIQBB1IkLKAIAIThB1IkLQQA2AgAgOEEBRg0DIAMoAvQFIQQLIAAgBEsEQCAAIQUMAQsgACAETw0BIARBA0khBgJ/IAMoAvwFsyADKgKABpWNInxDAACAT10gfEMAAAAAYHEEQCB8qQwBC0EACyEBAkACQCAGDQAgBGlBAUsNACABQQFBICABQQFrZ2t0IAFBAkkbIQUMAQtB1IkLQQA2AgBBFSABEAYhBUHUiQsoAgAhBkHUiQtBADYCACAGQQFGDQMLIAAgBSAAIAVLGyIFIARPDQELQdSJC0EANgIAQZcWIANB8AVqIAUQA0HUiQsoAgAhOUHUiQtBADYCACA5QQFGDQELAkAgBygCICIBBEADQCABKAIIIQBB1IkLQQA2AgBBjR8gA0GIB2ogA0HwBWogACAAEAVB1IkLKAIAITpB1IkLQQA2AgAgOkEBRg0CIAEoAgAiAQ0ACwtBAyEFIAMoAvwFQQFHDQsgAygC+AUoAgghACADQQA2AoQHIAMgADYC6AUgAyADQYQHajYCiAcgACgCACIBDgYHCQkJAwYCCwsQACEAIANB8AVqEKIBDCALAkACQCABQTRrDgwBCAgICAgICAgICAMACyABQdwAaw4CBgUHCyAAKAIgIgxFDQYgAygC6AUiAEEQaiEHIABBIGohCiAAQRRqIQsgACgCACEGQQAhACADKAKIByEPA0AgByEEQQAhAQJAAkACQAJAAkACQCAGQQRrDjwDAREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREQUEEQUREREREREREQIACyAGQdwARg0DDBALIAohBAwBCyALIQQLIAQoAgAhAQsgDyABNgIACyAAQQFqIgAgDEcNAAsMBgsgAEEQagwBCyAAQRRqCygCADYChAcMAwsgAyAAKAIgNgKEByAAKAIMIgxFDQIgAygC6AUiAEEQaiEHIABBIGohCiAAQRRqIQsgACgCACEGQQAhACADKAKIByEPA0AgByEEQQAhAQJAAkACQAJAAkACQCAGQQRrDjwCAA0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQUEDQUNDQ0NDQ0NDQEDCyAKIQQMAQsgCyEECyAEKAIAIQEMAQsgBkHcAEcNCQsgDyABNgIACyAAQQFqIgAgDEcNAAsMAgtB1IkLQQA2AgBBFEGY/QNB5bMDQeoBEAgMBgsgACgCICIGRQ0AIAMoAugFIgFBEGohByABQSBqIQogAUEUaiELQQAhACADKAKIByEMIAEoAgAiD0HcAEYhJgNAIAchBEEAIQECQAJAAkACQAJAAkAgD0EEaw48AwILCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsFBAsFCwsLCwsLCwsBAAsgJkUNCgwDCyALIQQMAQsgCiEECyAEKAIAIQELIAwgATYCAAsgAEEBaiIAIAZHDQALCyADKAKEByAJRw0BIAgoAgBBAUcNACAIKAIUIgBFBEBB1IkLQQA2AgBBDUG0xAVBiaIDQdABQf37AhAFDAULQQIhBSAIKAIQIABBAnRqQQRrKAIAKAIEQQFGDQELQQMhBQsgAygC+AUiAQRAA0AgASgCACE7IAEQWiA7IgENAAsLIAMoAvAFIQAgA0EANgLwBSAARQ0AIAAQWgsCQCAFDgQQAAAQAAsgBUEBa0ECSQRAIAVBAkYhBgwFC0HUiQtBADYCAEENQdKaAUGxpQJBqwRBjbsBEAUMAwtB1IkLQQA2AgBBDUHBowZBwJADQfkAQcP6BRAFC0HUiQsoAgAhPEHUiQtBADYCACA8QQFHDR0QACEAIANB8AVqEKIBDBMLQdSJC0EANgIAQRRBmP0DIAAgARAIC0HUiQsoAgAhPUHUiQtBADYCACA9QQFHDRsQACEADBELAkAgAygCvAMiAEUNAAJAIABpQQFLIgVFBEAgAiAAQQFrcSEEDAELIAIiBCAASQ0AIAQgAHAhBAsgAygCuAMgBEECdGooAgAiAUUNACABKAIAIgFFDQAgBUUEQCAAQQFrIQUDQAJAIAIgASgCBCIHRwRAIAUgB3EgBEYNAQwECyABKAIIIAhGDQ4LIAEoAgAiAQ0ACwwBCwNAAkAgAiABKAIEIgVHBEAgACAFTQR/IAUgAHAFIAULIARGDQEMAwsgASgCCCAIRg0NCyABKAIAIgENAAsLQdSJC0EANgIAQQRBDBAGIQdB1IkLKAIAIQFB1IkLQQA2AgACQAJAAkACQAJAIAFBAUcEQCAHIAI2AgQgByAINgIIIAdBADYCACADKgLIAyF8IAMoAsQDQQFqsyF9AkACQCAARQ0AIHwgALOUIH1dDQAgBCECDAELQQIhBQJAIAAgAEEBa3FBAEcgAEEDSXIgAEEBdHIiAQJ/IH0gfJWNInxDAACAT10gfEMAAAAAYHEEQCB8qQwBC0EACyIEIAEgBEsbIgFBAUYNACABIAFBAWtxRQRAIAEhBQwBC0HUiQtBADYCAEEVIAEQBiEFQdSJCygCACE+QdSJC0EANgIAID5BAUYNBSADKAK8AyEACwJAIAAgBU8EQCAAIAVNDQEgAEEDSSEEAn8gAygCxAOzIAMqAsgDlY0ifEMAAIBPXSB8QwAAAABgcQRAIHypDAELQQALIQECQAJAIAQNACAAaUEBSw0AIAFBAUEgIAFBAWtna3QgAUECSRshBAwBC0HUiQtBADYCAEEVIAEQBiEEQdSJCygCACE/QdSJC0EANgIAID9BAUYNBwsgBSAEIAQgBUkbIgUgAE8NAQtB1IkLQQA2AgBBlxYgHSAFEANB1IkLKAIAIUBB1IkLQQA2AgAgQEEBRg0FCyADKAK8AyIAIABBAWsiAXFFBEAgASACcSECDAELIAAgAksNACACIABwIQILIAMoArgDIAJBAnRqIgIoAgAiAQ0BIAcgAygCwAM2AgAgAyAHNgLAAyACICA2AgAgBygCACIBRQ0CIAEoAgQhBQJAIAAgAEEBayIBcUUEQCABIAVxIQUMAQsgACAFSw0AIAUgAHAhBQsgAygCuAMgBUECdGogBzYCAAwCCxAAIQAMFQsgByABKAIANgIAIAEgBzYCAAsgAyADKALEA0EBajYCxAMCQCAGRQ0AIBUiBSEBAkACQAJAIAMoAqwCIgBFDQADQCAIIAAiASgCECIASQRAIAEhBSABKAIAIgANAQwCCyAAIAhPBEAgASEADAMLIAEoAgQiAA0ACyABQQRqIQULQdSJC0EANgIAQQRBGBAGIQBB1IkLKAIAIUFB1IkLQQA2AgAgQUEBRg0BIAAgCDYCECAAIAE2AgggAEIANwIAIABBADYCFCAFIAA2AgAgACEBIAMoAqgCKAIAIgIEQCADIAI2AqgCIAUoAgAhAQsgAygCrAIgARBnIAMgAygCsAJBAWo2ArACCyADIAAoAhQ2AtwDIAMgCDYC2ANB1IkLQQA2AgAgAyADKQLYAzcDEEGKxQAgA0HwA2ogA0EQahADQdSJCygCACFCQdSJC0EANgIAIEJBAUcNAQsQACEADBQLIAgoAgBBCUcNAkHUiQtBADYCAEGMxQAgA0HwBWogGyAIIAgQBUHUiQsoAgAhAEHUiQtBADYCAAJAIABBAUcEQCADKAJkIgRFDQQgFyAkcyEAIAMoAmAhQwJAIARpQQFLIgVFBEAgACAEQQFrcSECDAELIAAiAiAESQ0AIAAgBHAhAgsgQyACQQJ0aigCACIBRQ0EIAEoAgAiAUUNBCAFRQRAIARBAWshBANAAkAgACABKAIEIgVHBEAgBCAFcSACRg0BDAgLIAEoAgggCEYNBAsgASgCACIBDQALDAULA0ACQCAAIAEoAgQiBUcEQCAEIAVNBH8gBSAEcAUgBQsgAkYNAQwHCyABKAIIIAhGDQMLIAEoAgAiAQ0ACwwECxAAIQAMFAsgASgCFCIKDQEMAgsQACEAIAcQWgwSCwNAAkAgCigCCCEFIBUiAiEBAkACQCADKAKsAiIARQ0AA0AgBSAAIgEoAhAiAEkEQCABIQIgASgCACIADQEMAgsgACAFTwRAIAEhBwwDCyABKAIEIgANAAsgAUEEaiECC0HUiQtBADYCAEEEQRgQBiEHQdSJCygCACFEQdSJC0EANgIAIERBAUYNASAHIAU2AhAgByABNgIIIAdCADcCACAHQQA2AhQgAiAHNgIAIAchBCADKAKoAigCACIABEAgAyAANgKoAiACKAIAIQQLIAQgBCADKAKsAiIGRiIAOgAMAkAgAA0AA0AgBCgCCCIALQAMDQECQCAAIAAoAggiASgCACICRgRAAkAgASgCBCICRQ0AIAItAAwNAAwCCwJAIAQgACgCAEYEQCAAIQQMAQsgACAAKAIEIgQoAgAiAjYCBCAAIQYgAgRAIAIgADYCCCAAKAIIIgEoAgAhBgsgBCABNgIIIAEgAUEEaiAAIAZGGyAENgIAIAQgADYCACAAIAQ2AgggBCgCCCIBKAIAIQALIARBAToADCABQQA6AAwgASAAKAIEIgI2AgAgAgRAIAIgATYCCAsgACABKAIIIgI2AgggAiACKAIAIAFHQQJ0aiAANgIAIAAgATYCBCABIAA2AggMAwsCQCACRQ0AIAItAAwNAAwBCwJAIAQgACgCAEcEQCAAIQQMAQsgACAEKAIEIgI2AgAgAgRAIAIgADYCCCAAKAIIIQELIAQgATYCCCABIAFBBGogASgCACAARhsgBDYCACAEIAA2AgQgACAENgIIIAQoAgghAQsgBEEBOgAMIAFBADoADCABIAEoAgQiACgCACICNgIEIAIEQCACIAE2AggLIAAgASgCCCICNgIIIAIgAigCACABR0ECdGogADYCACAAIAE2AgAgASAANgIIDAILIABBAToADCABIAEgBkY6AAwgAkEBOgAMIAYgASIERw0ACwsgAyADKAKwAkEBajYCsAILIAcoAhQhAgJAAkAgAygCoAQiBkUNACAFQZXTx94FbCIAQRh2IABzQZXTx94FbEHUzJ76BnMiAEENdiAAc0GV08feBWwiAEEPdiAAcyIAQQZ0IABBAnZqIAJBldPH3gVsIgFBGHYgAXNB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SA0AIAEhBwwDCyABKAIEIgANAAsgAUEEaiEGC0HUiQtBADYCAEEEQRwQBiEHQdSJCygCACFcQdSJC0EANgIAIFxBAUYNASAHIHk3AhAgByABNgIIIAdCADcCACAHQQA2AhggBiAHNgIAIAchBCADKAKgAygCACIABEAgAyAANgKgAyAGKAIAIQQLIAQgBCADKAKkAyIGRiIAOgAMAkAgAA0AA0AgBCgCCCIALQAMDQECQCAAIAAoAggiASgCACICRgRAAkAgASgCBCICRQ0AIAItAAwNAAwCCwJAIAQgACgCAEYEQCAAIQQMAQsgACAAKAIEIgQoAgAiAjYCBCAAIQYgAgRAIAIgADYCCCAAKAIIIgEoAgAhBgsgBCABNgIIIAEgAUEEaiAAIAZGGyAENgIAIAQgADYCACAAIAQ2AgggBCgCCCIBKAIAIQALIARBAToADCABQQA6AAwgASAAKAIEIgI2AgAgAgRAIAIgATYCCAsgACABKAIIIgI2AgggAiACKAIAIAFHQQJ0aiAANgIAIAAgATYCBCABIAA2AggMAwsCQCACRQ0AIAItAAwNAAwBCwJAIAQgACgCAEcEQCAAIQQMAQsgACAEKAIEIgI2AgAgAgRAIAIgADYCCCAAKAIIIQELIAQgATYCCCABIAFBBGogASgCACAARhsgBDYCACAEIAA2AgQgACAENgIIIAQoAgghAQsgBEEBOgAMIAFBADoADCABIAEoAgQiACgCACICNgIEIAIEQCACIAE2AggLIAAgASgCCCICNgIIIAIgAigCACABR0ECdGogADYCACAAIAE2AgAgASAANgIIDAILIABBAToADCABIAEgBkY6AAwgAkEBOgAMIAYgASIERw0ACwsgAyADKAKoA0EBajYCqAMLIAcoAhghAgJAAkAgAygCoAQiBkUNACACQZXTx94FbCIAQRh2IABzQZXTx94FbEHUzJ76BnMiAEENdiAAc0GV08feBWwiAEEPdiAAcyAYaiAlakHHjKKOBmsgE3MhAAJAIAZpQQFLIgRFBEAgACAGQQFrcSEHDAELIAAiByAGSQ0AIAAgBnAhBwsgAygCnAQgB0ECdGooAgAiAUUNACABKAIAIgFFDQAgBEUEQCAGQQFrIQYDQAJAIAEoAgQiBCAARwRAIAQgBnEgB0YNAQwECyABKAIIIAlHDQAgASgC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BEEDTwRAA0AgASgCABBaIAMgAygC9ANBBGoiATYC9AMgAygC+AMiBiABa0ECdSIEQQJLDQALC0GAAiECAkACQAJAIARBAWsOAgEAAgtBgAQhAgsgAyACNgKABAsCQCABIAZGDQADQCABKAIAEFogAUEEaiIBIAZHDQALIAMoAvgDIgEgAygC9AMiAkYNACADIAEgAiABa0EDakF8cWo2AvgDCyADKALwAyIBBEAgARBaCyADKALYBSIBBEAgAyABNgLcBSABEFoLIAMoAswFIgEEQANAIAEoAgAhdCABEFogdCIBDQALCyADKALEBSEBIANBADYCxAUgAQRAIAEQWgsgAygCuAUiAQRAA0AgASgCACF1IAEQWiB1IgENAAsLIAMoArAFIQEgA0EANgKwBSABBEAgARBaCyADKAKIBSIBBEAgAyABNgKMBSABEFoLDAULQdSJC0EANgIAQQ0gBEG4swIgBSAAEAVB1IkLKAIAIXZB1IkLQQA2AgAgdkEBRw0IEAAhACADKAKIBSIBRQ0EIAMgATYCjAUgARBaDAQLEAAhAAwECyADKALMAyEOCyAOBEAgAyAONgLQAyAOEFoLIAMoAsADIgEEQANAIAEoAgAhdyABEFogdyIBDQALCyADKAK4AyEAIANBADYCuAMgAARAIAAQWgsgAygCsAMQsQggAygCpAMQsAggAygCjAMiAARAIAMgADYCkAMgABBaCyADKAKsAhC1BSADKAKcAiIABEAgAyAANgKgAiAAEFoLIAMoAtwBIgAEQCADIAA2AuABIAAQWgsgFBDfAhogA0GQB2okAA8LEAAhACADKAKIBSIBRQ0AIAMgATYCjAUgARBaCyADKALMAyIBRQ0AIAMgATYC0AMgARBaCyAdEKIBDAQLEAAhAAwDC0HUiQtBADYCAEENIAAgBiABIAIQBUHUiQsoAgAheEHUiQtBADYCACB4QQFGDQELAAsQACEACyARKAJ8ELEIIBEoAnAQsAggESgCWCIBBEAgESABNgJcIAEQWgsLIB4QqQogFBDfAhogABAHAAsZACABKAIAIAIoAgBGIAEoAgggAigCCEZxCw0AIAEoAgAgAigCAEYL1AcBCX8jAEHQAGsiAyQAAkACQCACKAIEIgRBB08EQCAEKAIEDQEgBCgCDCAEKAIIa0EERg0BDAILIARFDQELIANB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IAIQWgsgARBaIAUiAQ0ACwsgACgCKCEBIABBADYCKCABBEAgARBaCyAAKAIcIgEEQANAIAEoAgAhBiABKAIMIgIEQCABIAI2AhAgAhBaCyABEFogBiIBDQALCyAAKAIUIQEgAEEANgIUIAEEQCABEFoLIABBkO0JNgIAIAAsABNBAEgEQCAAKAIIEFoLIAALuQIBBn8jAEEQayIGJAACQCAAKAKEASIFKAIEIgQEQCAEIQIDQCABIAIoAhAiA08EfyABIANNDQMgAkEEagUgAgsoAgAiAg0ACwtB898FQdORA0GtAkGJ1AIQAQALAkACfwNAIAEgBCICKAIQIgRJBEAgAigCACIEDQEgAgwCCyABIARNBEAgAiEDDAMLIAIoAgQiBA0ACyACQQRqCyEEQSAQXCIDIAE2AhAgAyACNgIIIANCADcCACADQgA3AhQgA0EANgIcIAQgAzYCACADIQIgBSgCACgCACIHBEAgBSAHNgIAIAQoAgAhAgsgBSgCBCACEGcgBSAFKAIIQQFqNgIICyAAKAKYASEAIAYgATYCDCAARQRAEOcCAAsgACAGQQxqIANBFGogACgCACgCGBEDACAGQRBqJAALfwEDfyAAQezbBzYCAAJAAkAgACgCmAEiASAAQYgBaiICRgRAQQQhAyACIQEMAQtBBSEDIAFFDQELIAEgASgCACADQQJ0aigCABEBAAsgACgCbCICBEAgACACNgJwIAIQWgsgAEGQ7Qk2AgAgACwAE0EASARAIAAoAggQWgsgAAvcAgEEfyAAIAEtACA6AAAgACABLQAhOgABIAAgASgCUDYCBCAAIAEoAlQiATYCCCABBEAgASABKAIEQQFqNgIECyAAIAI2AgwgAigChAEhAiAAQRxqIgFCADcCACAAQQA7ARQgACACNgIQIABBKGoiAkIANwIAIAAgATYCGCAAQTRqIgRCADcCACAAIAI2AiQgAEFAayIFQgA3AgAgACAENgIwIABB5ABqIgRCADcCACAAIAU2AjwgAEIANwJIIABCADcCUCAAQgA3AVYgACAENgJgIABB8ABqIgRCADcCACAAIAQ2AmwgAygCMCEDQdSJC0EANgIAQaAnIAAgAxADQdSJCygCACEGQdSJC0EANgIAIAZBAUcEQCAAQQA6ABQgACgCKBBvIAAgAjYCJCAAQgA3AiggACgC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Rw0DIAhBDGohBiABKAIYIAEoAhRrIgRBDG0iCSAIKAIQIgEgCCgCDCIKayILSwRAIAkgC2siByAIKAIUIgAgAWtNBEAgAUEAIAf8CwAgCCABIAdqNgIQDAILIARBAEgNBUEAIQNB/////wcgACAKayIEQQF0IgAgCSAAIAlLGyAEQf////8DTxsiBRBcIgQgC2oiAkEAIAf8CwAgASAKRwRAAkAgC0EDcSIHRQRAIAEhAAwBCyABIQADQCACQQFrIgIgAEEBayIALQAAOgAAIANBAWoiAyAHRw0ACwsgCiABa0F8TQRAA0AgAkEBayAAQQFrLQAAOgAAIAJBAmsgAEECay0AADoAACACQQNrIABBA2stAAA6AAAgAkEEayICIABBBGsiAC0AADoAACAAIApHDQALCyAEIQILIAggBCAFajYCFCAIIAQgCWo2AhAgCCACNgIMIApFDQEgChBaDAELIAkgC08NACAIIAkgCmo2AhALIAxBEGokACAGDwtBgPkFQZqOA0E6QaaIBRABAAsQACESIAxBBGoQqgMgEhAHAAtBmfkFQbizAkHlCUHohgEQAQALEGQAC4sDAQd/IwBBIGsiBCQAAkACQCABKAIUIgNFBEBBACEBDAELIAEoAhAgA0ECdGpBBGsoAgAhASACKAIAIQVB1IkLQQA2AgAgBEHE7gk2AgggBCAEQQhqIgM2AhhB/wIgBSABIAMQBCEIQdSJCygCACEHQdSJC0EANgIAIAdBAUYNAQJAAkAgAyAEKAIYIgFGBEBBBCEFIAMhAQwBC0EFIQUgAUUNAQsgASABKAIAIAVBAnRqKAIAEQEAC0EAIQEgCEUNACACKAIAIQMgACgCfEGoAWoiAEEgQQQQXSIBQgA3AgQgAUEBNgIAIAFCADcCDCABQgA3AhQgASAANgIcIAMEQCABQQI2AhggASAAQQhBBBBdIgA2AhAgACADNgIAIAFBATYCFCABQQBBAEEAEOYBCyACIAE2AgALIARBIGokACABDwsQACEJAkACQCAEKAIYIgEgBEEIaiICRgRAQQQhACACIQEMAQtBBSEAIAFFDQELIAEgASgCACAAQQJ0aigCABEBAAsgCRAHAAucAgEGfyAAKAIEIgIgACgCCCIESQRAIAIgASkCADcCACACIAEoAgg2AgggACACQQxqNgIEDwsCQCACIAAo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DQELIAJBMBBcIgE2AvQCIAJCooCAgICGgICAfzcC+AIgAUHD2wMvAAA7ACAgAUG72wMpAAA3ABggAUGz2wMpAAA3ABAgAUGr2wMpAAA3AAggAUGj2wMpAAA3AAAgAUEAOgAiQdSJC0EANgIAQdcAIAAgAkH0AmoQA0HUiQsoAgAhC0HUiQtBADYCACALQQFHDQEMAwsgAkEgEFwiATYC6AIgAkKYgICAgISAgIB/NwLsAiABQf2iASkAADcAECABQfWiASkAADcACCABQe2iASkAADcAACABQQA6ABhB1IkLQQA2AgBB1wAgACACQegCahADQdSJCygCACEMQdSJC0EANgIAIAxBAUcNAAwCCyABEFoLAkACQCAAKAIcQQFMBEAgACgCIEECSA0BCyACQRAQXCIBNgLcAiACQoyAgICAgoCAgH83AuACIAFB1qsDKAAANgAIIAFBzqsDKQAANwAAIAFBADoADEHUiQtBADYCAEHXACAAIAJB3AJqEANB1IkLKAIAIQ1B1IkLQQA2AgAgDUEBRg0BIAEQWgsgACgCBC0AhQFBAnEEQCACQSAQXCIBNgLQAiACQpKAgICAhICAgH83AtQCIAFB29YCLwAAOwAQIAFB09YCKQAANwAIIAFBy9YCKQAANwAAIAFBADoAEkHUiQtBADYCAEHXACAAIAJB0AJqEANB1IkLKAIAIQ5B1IkLQQA2AgAgDkEBRg0BIAEQWgsgAkEgEFwiATYCxAIgAkKbgICAgISAgIB/NwLIAiABQfbgAygAADYAFyABQe/gAykAADcAECABQefgAykAADcACCABQd/gAykAADcAACABQQA6ABtB1IkLQQA2AgBB1wAgACACQcQCahADQdSJCygCACEDQdSJC0EANgIAAkACQCADQQFHBEAgARBaIAJBtuMCLwAAOwG8AiACQQA6AL4CIAJBsuMCKAAANgK4AiACQQY6AMMCIAAgAkG4AmoQxQMgAkEQEFwiATYCrAIgAkKOgICAgIKAgIB/NwKwAiABQfO5ASkAADcABiABQe25ASkAADcAACABQQA6AA5B1IkLQQA2AgBB1wAgACACQawCahADQdSJCygCACEPQdSJC0EANgIAIA9BAUYNBCABEFogAkEgEFwiATYCoAIgAkKRgICAgISAgIB/NwKkAiABQYqtAS0AADoAECABQYKtASkAADcACCABQfqsASkAADcAACABQQA6ABFB1IkLQQA2AgBB1wAgACACQaACahADQdSJCygCACEQQdSJC0EANgIAIBBBAUYNBCABEFoCQCAAKAIcIgFBAkgNACAAKAIELQCFAUEEcUUNACACQeP0Ai8AADsBmAIgAkGAFDsBmgIgAkHb9AIpAAA3A5ACIAAgAkGQAmoQxQMgACgCHCEBCyABQQJMBEAgACgCIEECSA0DCyACQRAQXCIBNgKEAiACQoyAgICAgoCAgH83AogCIAFBhLoBKAAANgAIIAFB/LkBKQAANwAAIAFBADoADEHUiQtBADYCAEHXACAAIAJBhAJqEANB1IkLKAIAIRFB1IkLQQA2AgAgEUEBRw0BDAQLDAMLIAEQWiAAKAIcIQELAkAgAUECSA0AIAAoAgQtAIUBQQRxRQ0AIAJBEBBcIgE2AvgBIAJCjoCAgICCgICAfzcC/AEgAUGVnAEpAAA3AAYgAUGPnAEpAAA3AAAgAUEAOgAOQdSJC0EANgIAQdcAIAAgAkH4AWoQA0HUiQsoAgAhEkHUiQtBADYCACASQQFGDQIgARBaIAJBEBBcIgE2AuwBIAJCj4CAgICCgICAfzcC8AEgAUGqqAMpAAA3AAcgAUGjqAMpAAA3AAAgAUEAOgAPQdSJC0EANgIAQdcAIAAgAkHsAWoQA0HUiQsoAgAhE0HUiQtBADYCACATQQFGDQIgARBaCyACQRAQXCIBNgLgASACQo+AgICAgoCAgH83AuQBIAFBkLoBKQAANwAHIAFBiboBKQAANwAAIAFBADoAD0HUiQtBADYCAEHXACAAIAJB4AFqEANB1IkLKAIAIRRB1IkLQQA2AgAgFEEBRg0AIAEQWgJAIAAoAhxBAkwEQCAAKAIgQQBMDQELIAJBADoA2QEgAkGs3wMtAAA6ANgBIAJBCToA2wEgAkGk3wMpAAA3A9ABIAAgAkHQAWoQxQMLIAJBEBBcIgE2AsQBIAJCj4CAgICCgICAfzcCyAEgAUHSuQEpAAA3AAcgAUHLuQEpAAA3AAAgAUEAOgAPQdSJC0EANgIAQdcAIAAgAkHEAWoQA0HUiQsoAgAhFUHUiQtBADYCACAVQQFGDQEgARBaIAJBtuMCLwAAOwG8ASACQQA6AL4BIAJBsuMCKAAANgK4ASACQQY6AMMBIAAgAkG4AWoQxQMgAkEQEFwiATYCrAEgAkKOgICAgIKAgIB/NwKwASABQfO5ASkAADcABiABQe25ASkAADcAACABQQA6AA5B1IkLQQA2AgBB1wAgACACQawBahADQdSJCygCACEWQdSJC0EANgIAIBZBAUYNASABEFogAkEQEFwiATYCoAEgAkKPgICAgIKAgIB/NwKkASABQZC6ASkAADcAByABQYm6ASkAADcAACABQQA6AA9B1IkLQQA2AgBB1wAgACACQaABahADQdSJCygCACEXQdSJC0EANgIAIBdBAUYNASABEFogAkEQEFwiATYClAEgAkKOgICAgIKAgIB/NwKYASABQfO5ASkAADcABiABQe25ASkAADcAACABQQA6AA5B1IkLQQA2AgBB1wAgACACQZQBahADQdSJCygCACEYQdSJC0EANgIAIBhBAUYNASABEFogAkEAOgCOASACQbbjAi8AADsBjAEgAkEGOgCTASACQbLjAigAADYCiAEgACACQYgBahDFAwJAIAAoAhxBAkwEQCAAKAIgQQBMDQELIAJBEBBcIgE2AnwgAkKMgICAgIKAgIB/NwKAASABQYKsAygAADYACCABQfqrAykAADcAACABQQA6AAxB1IkLQQA2AgBB1wAgACACQfwAahADQdSJCygCACEZQdSJC0EANgIAIBlBAUYNAiABEFoLIAJBEBBcIgE2AnAgAkKMgICAgIKAgIB/NwJ0IAFB2L0BKAAANgAIIAFB0L0BKQAANwAAIAFBADoADEHUiQtBADYCAEHXACAAIAJB8ABqEANB1IkLKAIAIRpB1IkLQQA2AgAgGkEBRg0BIAEQWiACQSAQXCIBNgJkIAJCkYCAgICEgICAfzcCaCABQYqtAS0AADoAECABQYKtASkAADcACCABQfqsASkAADcAACABQQA6ABFB1IkLQQA2AgBB1wAgACACQeQAahADQdSJCygCACEbQdSJC0EANgIAIBtBAUYNASABEFogAkEgEFwiATYCWCACQpOAgICAhICAgH83AlwgAUHB1QEoAAA2AA8gAUG61QEpAAA3AAggAUGy1QEpAAA3AAAgAUEAOgATQdSJC0EANgIAQdcAIAAgAkHYAGoQA0HUiQsoAgAhHEHUiQtBADYCACAcQQFGDQEgARBaIAJBEBBcIgE2AkwgAkKMgICAgIKAgIB/NwJQ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ACgCnAEiAyADQQFrIgFxRQRAIAEgAnEhAgwBCyACIANJDQAgAiADcCECCwJAAkAgCCgCACACQQJ0aiIBKAIAIgJFBEAgBCAAQaABaiICKAIANgIAIAAgBDYCoAEgASACNgIAIAQoAgAiAUUNAiABKAIEIQICQCADIANBAWsiAXFFBEAgASACcSECDAELIAIgA0kNACACIANwIQILIAgoAgAgAkECdGohAgwBCyAEIAIoAgA2AgALIAIgBDYCAAsgACAAKAKkAUEBajYCpAELIAQgBzYCDAwCCyAEKAIMIQcMAQsQACEPIAQQWiAPEAcACyAJQRBqJAAgBwsPACAAEOsKIABBADYCjAELqgIBBn8CQAJAIAEoAgAiBCgCAEEzRgRAIABBwAFqEP8FIAAoAtABIgEgACgC1AEiAkkEQCABIAQ2AgAgACABQQRqNgLQAQ8LIAEgACgCzAEiBWtBAnUiB0EBaiIDQYCAgIAETw0BQf////8DIAIgBWsiAkEBdSIGIAMgAyAGSRsgAkH8////B08bIgIEfyACQYCAgIAETw0DIAJBAnQQXAVBAAsiBiAHQQJ0aiIDIAQ2AgAgA0EEaiEEIAEgBUcEQANAIANBBGsiAyABQQRrIgEoAgA2AgAgASAFRw0ACyAAKALMASEBCyAAIAYgAkECdGo2AtQBIAAgBDYC0AEgACADNgLMASABBEAgARBaCw8LQfDtBUHFmANBlAZBjd4AEAEACxBkAAsQagALywQBBn8gACgCzAIQ7QogACgCvAIiAQRAIAAgATYCwAIgARBaCyAAKAKsAiIBBEADQCABKAIAIQUgARBaIAUiAQ0ACwsgACgCpAIhASAAQQA2AqQCIAEEQCABEFoLIAAoApgCIgEEQCAAIAE2ApwCIAEQWgsgACgCjAIiAQRAA0AgASgCACEGIAEQWiAGIgENAAsLIAAoAoQCIQEgAEEANgKEAiABBEAgARBaCyAAKAL4ARDfCCAAKALkASIBBEAgACABNgLoASABEFoLIAAoAtgBIgMEQCAAKALcASICIAMiAUcEQANAIAJBDGsiASgCACIEBEAgAkEIayAENgIAIAQQWgsgASICIANHDQALIAAoAtgBIQELIAAgAzYC3AEgARBaCyAAKALMASIBBEAgACABNgLQASABEFoLIAAoAsABIgMEQCAAKALEASIC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KGoQqQIhAEHUiQtBADYCAEHhHCAAEAYhAUHUiQsoAgAhQkHUiQtBADYCACBCQQFGDRgMGQsgBBDdAiAIaiEICyADQQFqIgMgEUYNBCAAKAKwASECDAALAAsMEwsQACEDDBELEAAhAwwHCyAAKAKQASgCAEGoAWoiAkEgQQQQXSILQgA3AgQgC0EBNgIAIAtCADcCDCALQgA3AhQgCyACNgIcIAAoApABQQAgCGsQ3QghByALKAIQIQMCQCALKAIUIg0gCygCGEcEQCADIQIMAQsgCyANQQF0QQJqIgI2AhggCyALKAIcIAJBAnRBBBBdIgI2AhAgCygCFCINRQRAQQAhDQwBC0EAIQZBACECIA1BBE8EQCANQXxxIQgDQCACQQJ0IgQgCygCEGogAyAEaigCADYCACAEQQRyIgkgCygCEGogAyAJaigCADYCACAEQQhyIgkgCygCEGogAyAJaigCADYCACAEQQxyIgQgCygCEGogAyAEaigCADYCACACQQRqIgIgCEcNAAsLIA1BA3EiBARAA0AgAkECdCIIIAsoAhBqIAMgCGooAgA2AgAgAkEBaiECIAZBAWoiBiAERw0ACwsgCygCECECCyACIA1BAnRqIAc2AgAgCyANQQFqNgIUIAAoApABKAIIIQIgBUIANwMQIAVCADcDKCAOIAVBEGogAhDGAiEUIAAoApABIgMoAggQ3QIhByADKAIIEN0CIQggAygCCCECQQAhBkHIqAspAwAhWyADKAIAQagBakEQQQQQXSIEIFs3AgggBEEKNgIAIAQgAjYCBCADKAIIIQkgAykCDCFbIAMoAgBBqAFqQTBBCBBdIgJBADoAICACQQw2AgAgAiAENgIkIAIgCK03AxggAkIANwMQIAJBADoACSACIAc6AAggAiBbNwIoIAIgCTYCBCADKAIAQagBakEQQQQQXSIHIAI2AgwgByAUNgIIIAdCCTcCACAHIAIoAgRBAUYiAzYCBCAHIAMgAigCBEEBRnI2AgQgCygCECEDAkAgCygCFCICIAsoAhhHBEAgAiEGIAMhAgwBCyALIAJBAXRBAmoiAjYCGCALIAsoAhwgAkECdEEEEF0iAjYCECALKAIUIgRFDQBBACECIARBBE8EQCAEQXxxIQkDQCACQQJ0IgggCygCEGogAyAIaigCADYCACAIQQRyIgogCygC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BSABEFogBSIBDQALCyAAKAIUIQEgAEEANgIUIAEEQCABEFoLIABBkO0JNgIAIAAsABNBAEgEQCAAKAIIEFoLIAALcgEDfyAAQfzsCTYCACAAQRhqEGEgACgCDCIDBEAgACgCECICIAMiAUcEQANAIAJBBGsiAigCACEBIAJBADYCACABBEAgASABKAIAKAIEEQEACyACIANHDQALIAAoAgwhAQsgACADNgIQIAEQWgsgABBaC50FAQt/IAEoAgAoAhwhCEHUiQtBADYCACAIIAEQBhpB1IkLKAIAIQJB1IkLQQA2AgACQAJAIAJBAUYNACABQQhqIQICQAJAAkACQCABKAIMIAEtABMiAyADwCIDQQBIG0EFaw4HAQMDAwMDAAMLIAIoAgAgAiADQQBIGyICQbejA0ELEF5FDQEgAkH9rgNBCxBeRQ0BDAILIAIoAgAgAiADQQBIG0HAvgJBBRBeDQELIABBAToAcQsgACgCECICIAAoAhQiBEkEQCACIAE2AgAgACACQQRqNgIQDwsgAiAAKAIMIgZrQQJ1IgdBAWoiA0GAgICABE8EQEHUiQtBADYCAEHHGBAJQdSJCygCACEJQdSJC0EANgIAIAlBAUYNAQwCCwJAQf////8DIAQgBmsiBEEBdSIFIAMgAyAFSRsgBEH8////B08bIgRFBEBBACEFDAELIARBgICAgARPBEBB1IkLQQA2AgBBAxAJQdSJCygCACEKQdSJC0EANgIAIApBAUcNAwwCC0HUiQtBADYCAEEEIARBAnQQBiEFQdSJCygCACELQdSJC0EANgIAIAtBAUYNAQsgBSAHQQJ0aiIDIAE2AgAgBSAEQQJ0aiEBIANBBGohBAJAIAIgBkcEQANAIAJBBGsiAigCACEFIAJBADYCACADQQRrIgMgBTYCACACIAZHDQALIAAgATYCFCAAKAIQIQEgACAENgIQIAAoAgwhAiAAIAM2AgwgASACRg0BA0AgAUEEayIBKAIAIQAgAUEANgIAIAAEQCAAIAAoAgAoAgQRAQALIAEgAkcNAAsMAQsgACABNgIUIAAgBDYCECAAIAM2AgwLIAIEQCACEFoLDwsQACEMIAEgASgCACgCBBEBACAMEAcACwAL7wUBBn8CQAJAIAEgASgCACgCGBECAEUNACACRQRAIAEgASgCACgCEBECAA0CIAAo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QcCKCEHOARAIQdSJCygCACEdQdSJC0EANgIAIB1BAUcNHxAAIQIgBUEATg0EIAYQWiAALAALQQBODQcgACgCABBaIAQQzwIaDB4LEAAhAiABLAALQQBODR0gASgCABBaDB0LEAAhAiABEG4gBBDPAhoMHAsQACECIAYQWiAALAALQQBODRggACgCABBaDBgLEAAhAiADLABLQQBODRcgAygCQBBaIAEQbiAEEM8CGgwaCyAALAALQQBODQIgACgCABBaIAQQzwIaDBkLIAMgAykDIEKAgICAgICA+P8AhDcDICABEM8CGgwDCxAAIQILIAQQzwIaDBYLIANCgICAgICAgPz/ADcDIAsCQCAIQS1GBEAgAyADKQMgQoCAgICAgICAgH+EIj43AyAgPr8hQAwBCyADKwMgIkC9IT4LIEAgQGEEQCADID5CAYQiPjcDIAsgA0EFNgJQIAMgPjcDQEHUiQtBADYCACADQQM2AjggAyA+NwMoQbEFIAUgA0FAayIAEAIaQdSJCygCACEeQdSJC0EANgIAIB5BAUcEQCAAEFkaIANBKGoQWRoMAgsQACECIANBQGsQWRogA0EoahBZGgwUC0HInQsoAgAgAEcNAgJAAkAgAUEEaw4CAAERCyADQQQ2AnAgA0GAgIB+NgJgQdSJC0EANgIAQbEFIAUgA0HgAGoiABACGkHUiQsoAgAhH0HUiQtBADYCACAfQQFHBEAgABBZGgwCCxAAIQIgA0HgAGoQWRoMFAsgA0EFNgJwIANCgICAgICAgHw3A2BB1IkLQQA2AgBBsQUgBSADQeAAaiIAEAIaQdSJCygCACEgQdSJC0EANgIAICBBAUYNASAAEFkaCyAGIQIMDgsQACECIANB4ABqEFkaDBELAkACQAJAAkAgAUECaw4EAAECAxALAkACQAJAIAAtAAAiB0Etaw4EAAICAQILQQEhAiAALQABQTBHDQEgAC0AAkH4AEcNAQwLCyAALQABQfgARg0KCyAAIAJqIgcQbCICQfD///8HTw0LAkACQCACQQtPBEAgAkEPckEBaiIIEFwhBCADIAhBgICAgHhyNgJIIAMgBDYCQCADIAI2AkQMAQsgAyACOgBLIANBQGshBCACRQ0BCyAEIAcgAvwKAAALIAIgBGpBADoAAEHUiQtBADYCAEH7ESADQeAAaiADQUBrEAIhBEHUiQsoAgAhAkHUiQtBADYCAAJAAkACQAJAAkACQAJAIAJBAUcEQCADLABLQQBIBEAgAygCQBBaC0HUiQtBADYCAEH8ESAEIANBKGoQAiECQdSJCygCACEhQdSJC0EANgIAICFBAUYNASACIAIoAgBBDGsoAgBqLQAQQQVxRQ0GQRQQciEBQdSJC0EANgIAQQRBIBAGIQJB1IkLKAIAISJB1IkLQQA2AgAgIkEBRg0CIAMgAjYCQCADQpSAgICAhICAgH83AkQgAkGr7AYoAAA2ABAgAkGj7AYpAAA3AAggAkGb7AYpAAA3AAAgAkEAOgAUQdSJC0EANgIAQY0CIANBQGsgABACIQBB1IkLKAIAISNB1IkLQQA2AgAgI0EBRg0EIAAoAgAhBiADIAMvAUg7ARQgAyADLQBKOgAWIAMoAkQhAiAAQgA3AgAgACwACyEFIABBADYCCAJAIAVBAE4EQCABIAI2AgQgASAGNgIAIAEgAy8BFDsBCCABIAMtABY6AAogASAFOgALDAELQdSJC0EANgIAQdQAIAEgBiACEAhB1IkLKAIAISRB1IkLQQA2AgAgJEEBRg0ECyABQn83AgxB1IkLQQA2AgBBzQEgAUHAighBzgEQCEHUiQsoAgAhJUHUiQtBADYCACAlQQFHDRwQACECIAVBAE4NBSAGEFogACwAC0EATg0HIAAoAgAQWiAEEM8CGgwbCxAAIQIgAywAS0EATg0aIAMoAkAQWgwaCxAAIQIgBBDPAhoMGQsQACECIAEQbiAEEM8CGgwYCxAAIQIgBhBaIAAsAAtBAE4NDCAAKAIAEFoMDAsQACECIAMsAEtBAE4NCyADKAJAEFogARBuIAQQzwIaDBYLIAAsAAtBAE4NASAAKAIAEFogBBDPAhoMFQsgAC0AACEHIANBAjYCUCADQQAgAygCKCIIayAIIAdBLUYbNgJAAkAgA0FAayIHIAVHBEAgBRBZIQVB1IkLQQA2AgBBwAAgBSAHEAIaQdSJCygCACEmQdSJC0EANgIAICZBAUYNAQsgA0FAaxBZGiACQcCUCjYCPCACQayUCjYCACACQbiMCjYCCCACLAAzQQBIBEAgAigCKBBaCyACQQhqEOsBGiACQTxqEOgBGgwMCxAAIQIgA0FAaxBZGgsgBBDPAhoMEwsCQAJAAkAgAC0AACIHQS1rDgQAAgIBAgtBASECIAAtAAFBMEcNASAALQACQfgARw0BDAgLIAAtAAFB+ABGDQcLIAAgAmoiBxBsIgJB8P///wdPDQoCQAJAIAJBC08EQCACQQ9yQQFqIggQXCEEIAMgCEGAgICAeHI2AkggAyAENgJAIAMgAjYCRAwBCyADIAI6AEsgA0FAayEEIAJFDQELIAQgByAC/AoAAAsgAiAEakEAOgAAQdSJC0EANgIAQfsRIANB4ABqIANBQGsQAiEEQdSJCygCACECQdSJC0EANgIAAkACQAJAAkACQAJAAkAgAkEBRwRAIAMsAEtBAEgEQCADKAJAEFoLQdSJC0EANgIAQf0RIAQgA0EoahACIQJB1IkLKAIAISdB1IkLQQA2AgAgJ0EBRg0BIAIgAigCAEEMaygCAGotABBBBXFFDQZBFBByIQFB1IkLQQA2AgBBBEEgEAYhAkHUiQsoAgAhKEHUiQtBADYCACAoQQFGDQIgAyACNgJAIANClICAgICEgICAfzcCRCACQYHsBigAADYAECACQfnrBikAADcACCACQfHrBikAADcAACACQQA6ABRB1IkLQQA2AgBBjQIgA0FAayAAEAIhAEHUiQsoAgAhKUHUiQtBADYCACApQQFGDQQgACgCACEGIAMgAy8BSDsBDCADIAMtAEo6AA4gAygCRCECIABCADcCACAALAALIQUgAEEANgIIAkAgBUEATgRAIAEgAjYCBCABIAY2AgAgASADLwEMOwEIIAEgAy0ADjoACiABIAU6AAsMAQtB1IkLQQA2AgBB1AAgASAGIAIQCEHUiQsoAgAhKkHUiQtBADYCACAqQQFGDQQLIAFCfzcCDEHUiQtBADYCAEHNASABQcCKCEHOARAIQdSJCygCACErQdSJC0EANgIAICtBAUcNGxAAIQIgBUEATg0FIAYQWiAALAALQQBODQcgACgCABBaIAQQzwIaDBoLEAAhAiADLABLQQBODRkgAygCQBBaDBkLEAAhAiAEEM8CGgwYCxAAIQIgARBuIAQQzwIaDBcLEAAhAiAGEFogACwAC0EATg0JIAAoAgAQWgwJCxAAIQIgAywAS0EATg0IIAMoAkAQWiABEG4gBBDPAhoMFQsgACwAC0EATg0BIAAoAgAQWiAEEM8CGgwUCyAALQAAIQcgA0EDNgJQIANCACADKQMoIj59ID4g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AgAgNUEBRg0BIAIgAigCAEEMaygCAGotABBBBXFFDQZBFBByIQFB1IkLQQA2AgBBBEEgEAYhAkHUiQsoAgAhNkHUiQtBADYCACA2QQFGDQIgAyACNgJAIANClICAgICEgICAfzcCRCACQavsBigAADYAECACQaPsBikAADcACCACQZvsBikAADcAACACQQA6ABRB1IkLQQA2AgBBjQIgA0FAayAAEAIhAEHUiQsoAgAhN0HUiQtBADYCACA3QQFGDQQgACgCACEGIAMgAy8BSDsBGCADIAMtAEo6ABogAygCRCECIABCADcCACAALAALIQUgAEEANgIIAkAgBUEATgRAIAEgAjYCBCABIAY2AgAgASADLwEYOwEIIAEgAy0AGjoACiABIAU6AAsMAQtB1IkLQQA2AgBB1AAgASAGIAIQCEHUiQsoAgAhOEHUiQtBADYCACA4QQFGDQQLIAFCfzcCDEHUiQtBADYCAEHNASABQcCKCEHOARAIQdSJCygCACE5QdSJC0EANgIAIDlBAUcNEhAAIQIgBUEATg0FIAYQWiAALAALQQBODQcgACgCABBaIAQQzwIaDBELEAAhAiADLABLQQBODRAgAygCQBBaDBALEAAhAiAEEM8CGgwPCxAAIQIgARBuIAQQzwIaDA4LEAAhAiAGEFogACwAC0EATg0IIAAoAgAQWgwICxAAIQIgAywAS0EATg0HIAMoAkAQWiABEG4gBBDPAhoMDAsgACwAC0EATg0BIAAoAgAQWiAEEM8CGgwLCyADQQI2AlAgA0EAIAMoAigiCGsgCCAHQS1GGzYCQAJAIANBQGsiByAFRwRAIAUQWSEFQdSJC0EANgIAQcAAIAUgBxACGkHUiQsoAgAhOkHUiQtBADYCACA6QQFGDQELIANBQGsQWRogAkHAlAo2AjwgAkGslAo2AgAgAkG4jAo2AgggAiwAM0EASARAIAIoAigQWgsgAkEIahDrARogAkE8ahDoARoMAgsQACECIANBQGsQWRoLIAQQzwIaDAkLIAYiAigCGCABRg0EQRQQciEBQdSJC0EANgIAQQRBMBAGIQJB1IkLKAIAITtB1IkLQQA2AgAgO0EBRg0BIAMgAjYCQCADQqqAgICAhoCAgH83AkQgAkGZ+QYvAAA7ACggAkGR+QYpAAA3ACAgAkGJ+QYpAAA3ABggAkGB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IQJB1IkLQQA2AgBBzQEgAUGwuQdBzgEQCEHUiQsoAgAhCkHUiQtBADYCACAKQQFHDQYLEAAhASADLAALQQBIBEAgAygCABBaCyACDQMMBAsgAyAAIAFBBBBpIgUQpAEiBjYCNAJAIAUoAigiBUUNACAAKALQAUUNACADQShqIAAgBRCjASADQThqIAAoAtABQeAAaiAGIANBNGoQeCADKAI4IgUgAygCMDYCFCAFIAMpAig3AgwLAkAgBigCBCIFIARGDQAgBSAEEO8BDQBBFBByIQBB1IkLQQA2AgBBzAEgA0EIakH/hAQQAiEDQdSJCygCACELQdSJC0EANgIAQQEhAiALQQFGDQJB1IkLQQA2AgBB0AEgACADIAEQBCEBQdSJCygCACEMQdSJC0EANgIAIAxBAUcEQEEAIQJB1IkLQQA2AgBBzQEgAUGwuQdBzgEQCEHUiQsoAgAhDUHUiQtBADYCACANQQFHDQYLEAAhASADLAALQQBIBEAgAygCABBaCyACDQMMBAsgAykDICEOIAAoAgBBqAFqQRxBBBBdIgAgBzYCGCAAIAY2AhQgACAONwIMIABBA0ECIAIbNgIIIABCPzcCACAAEM0FIANBQGskACAADwsQACEBDAELEAAhAQsgABBuCyABEAcLAAuDBAEFfyMAQSBrIgMkACAAKAIEQRhBBBBdIgRCADcCCCAEQoSAgIAQNwIAIARCADcCECADQQhqIgYgACABQQEQaUEAEOYEIAQgAykDCDcCCCABEKUCKAIEQQJHBEACQCACBEAgARClAigCBCEHIAFBAhBpIQIgB0EETwRAIAMgACACEKQBIgU2AhQCQCACKAIoIgJFDQAgACgC0AFFDQAgBiAAIAIQowEgA0EYaiAAKALQAUHgAGogBSADQRRqEHggAygCGCICIAMoAhA2AhQgAiADKQIINwIMCyAEIAU2AhAgAUEDEGkhAgsgAyAAIAIQpAEiATYCFAJAIAIoAigiAkUNACAAKALQAUUNACADQQhqIAAgAhCjASADQRhqIAAoAtABQeAAaiABIANBFGoQeCADKAIYIgAgAygCEDYCFCAAIAMpAgg3AgwLIAQgATYCFAwBCyADIAAgAUECEGkiAhCkASIBNgIUAkAgAigCKCICRQ0AIAAoAtABRQ0AIANBCGogACACEKMBIANBGGogACgC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BCABNgIAIAAoAgAoAgAiAgRAIAAgAjYCACAEKAIAIQELIAEgASAJKAIAIgZGIgI6AAwCQCACDQADQCABKAIIIgMtAAwNAQJAIAMgAygCCCICKAIAIgRGBEACQCACKAIEIgRFDQAgBC0ADA0ADAILAkAgASADKAIARgRAIAMhAQwBCyADIAMoAgQiASgCACIGNgIEIAMhBCAGBEAgBiADNgIIIAMoAggiAigCACEECyABIAI2AgggAiACQQRqIAMgBEYbIAE2AgAgASADNgIAIAMgATYCCCABKAIIIgIoAgAhAwsgAUEBOgAMIAJBADoADCACIAMoAgQiATYCACABBEAgASACNgIICyADIAIoAggiATYCCCABIAEoAgAgAkdBAnRqIAM2AgAgAyACNgIEIAIgAzYCCAwDCwJAIARFDQAgBC0ADA0ADAELAkAgASADKAIARwRAIAMhAQwBCyADIAEoAgQiBDYCACAEBEAgBCADNgIIIAMoAgghAgsgASACNgIIIAIgAkEEaiACKAIAIANGGyABNgIAIAEgAzYCBCADIAE2AgggASgCCCECCyABQQE6AAwgAkEAOgAMIAIgAigCBCIBKAIAIgM2AgQgAwRAIAMgAjYCCAsgASACKAIIIgM2AgggAyADKAIAIAJHQQJ0aiABNgIAIAEgAjYCACACIAE2AggMAgsgA0EBOgAMIAIgAiAGRjoADCAEQQE6AAwgBiACIgFHDQALCyAAIBFBAWoiETYCCAsgCigCACIKDQEMAgsLEAAhAiADEGAgDigCABDqBAwECwJAIAcoAgQiAwRAA0AgAyICKAIAIgMNAAwCCwALA0AgBygCCCICKAIAIAdHIRUgAiEHIBUNAAsLIA4gAiIHRw0ACwwDCxAAIQICQCAFIAUoAhAiA0YEQEEEIQEgBSEDDAELQQUhASADRQ0CCyADIAMoAgAgAUECdGooAgARAQAMAQsQACECCyAFQShqEKIBIAIQBwALIAwoAggQ6gQgBSgCMCICBEADQCACKAIAIRYgAhBaIBYiAg0ACwsgBSgCKCEAIAVBADYCKCAARQ0AIAAQWgsgBUFAayQAC+8CAQd/IwBBEGsiBSQAIABBpAJqIQQgACgCsAIEQCAAKAKsAiIBBEADQCABKAIAIQcgARBaIAciAQ0ACwtBACEBIABBADYCrAICQCAAKAKo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QCAIQQhqIAYgAykCECIQIBAQsAICQCADKAIEIgIEQANAIAIiBCgCACICDQAMAgsACwNAIAMoAggiBCgCACADRyENIAQhAyANDQALCyAFIAQiA0cNAAsLIAEoAmAiAyABQeQAaiIFRwRAIABB4ABqIQYDQCAIQQhqIAYgAykCECIQIBAQsAICQCADKAIEIgIEQANAIAIiBCgCACICDQAMAgsACwNAIAMoAggiBCgCACADRyEOIAQhAyAODQALCyAFIAQiA0cNAAsLIAEoAmwiAyABQfAAaiIBRwRAIABB7ABqIQADQCAIQQhqIAAgAykCECIQIBAQsAICQCADKAIEIgIEQANAIAIiBCgCACICDQAMAgsACwNAIAMoAggiBCgCACADRyEPIAQhAyAPDQALCyABIAQiA0cNAAsLIAhBEGokAAuoBQEDfyAAIAEvAQA7AQAgACABKAIENgIEIAAgASgCCCICNgIIIAIEQCACIAIoAgRBAWo2AgQLIAAgASkCDDcCDCAAIAEvARQ7ARQgAEEcaiICQgA3AgAgACACNgIYIAEoAhghAkHUiQtBADYCAEHjCSAAQRhqIAIgAUEcahAIQdSJCygCACECQdSJC0EANgIAAkACQCACQQFGBEAQACEBDAELIAAgAEEoajYCJCAAQgA3AiggASgCJCECQdSJC0EANgIAQeMJIABBJGogAiABQShqEAhB1IkLKAIAIQJB1IkLQQA2AgACQCACQQFGBEAQACEBDAELIAAgAEE0ajYCMCAAQgA3AjQgASgCMCECQdSJC0EANgIAQeQJIABBMGogAiABQTRqEAhB1IkLKAIAIQJB1IkLQQA2AgACQCACQQFGBEAQACEBDAELIAAgAEFAayICNgI8IAJCADcCACABKAI8IQNB1IkLQQA2AgBB5AkgAEE8aiADIAFBQGsQCEHUiQsoAgAhA0HUiQtBADYCAAJAIANBAUYEQBAAIQEMAQsgACABKQJINwJIIAAgASkBVjcBViAAIAEpAlA3AlAgAEHkAGoiA0IANwIAIAAgAzYCYCABKAJgIQNB1IkLQQA2AgBB5AkgAEHgAGogAyABQeQAahAIQdSJCygCACEDQdSJC0EANgIAAkAgA0EBRgRAEAAhAQwBCyAAIABB8ABqNgJsIABCADcCcCABKAJsIQNB1IkLQQA2AgBB5AkgAEHsAGogAyABQfAAahAIQdSJCygCACEEQdSJC0EANgIAIARBAUcNBRAAIQEgACgCcBBgCyAAKAJkEGALIAIoAgAQYAsgACgCNBBgCyAAKAIoEG8LIAAoAhwQbyAAQQRqEMMCIAEQBwALIAALcAEBfwJAAkACQCABKAIIKAIEIgJBB0kNACACKAIEQQFHDQAgAigCCEF8cUEMRg0BCyABKAIQKAIEIgFBB0kNASABKAIEQQFHDQEgASgCCEF8cUEMRw0BCyAAQQE6AFAPCyAAQQE6AFEgAEGBAjsBTgvUAQEDfwJAAkACQCABKAIMIgQoAgQiAkEBRg0AIAJBB0kNAQJAIAJBBGooAgBBAUcNACACKAIIQXxxQQxHDQAgAEEBOgBQDwsgAigCBEEBRw0BIAIoAggiA0EQSQ0CIAMoAhBBAkcNAiADKAIUIAEoAghBDGxqKAIIQQFGBEAgAEEBOgBMIAQoAgQiAkEHSQ0BCyACKAIEQQFHDQAgAigCDEEBRw0AIABBAToAUQsPC0G//wVBuLMCQeQHQauJBBABAAtBmfkFQbizAkHlCUHohgEQAQALqwIBA38jAEEQayICJAACQAJAIAEoAggiA0EfSw0AQQEgA3RB+ICAgH9xRQ0AAkAgASgCECIBKAIAQQ5HDQAgASgCGCIEQQdPDQIgAUEIaiEBAkACQAJAAkACQAJAAkAgBEECaw4FBQABAgMECyABKQMAQgBSDQUMBgsgASoCAEMAAAAAXA0EDAULIAErAwBEAAAAAAAAAABiDQMMBAsgAkIANwMIIAJCADcDACABIAJBEBBeDQIMAwtB74QEQeaaA0H2ABBiAAsgASgCAEUNAQsgA0EcRyADQQNHcQ0BAn4CQAJAAkAgBEECaw4CAgABCyABKQMADAILEA8ACyABNAIAC0J/Ug0BCyAAQQE6AFELIAJBEGokAA8LQeHNBkGfnwNBwwFB8+cEEAEAC5UEAQh/IwBBgAFrIgYkAAJAIAAoAmwoAgwgARCeBg0AIAAoAmwhBCABLQAgBEAgBEEBOgAUCwJAIAQoAgQiA0UNACADKAIEIgJFDQAgAygCAAJ/IAEoAhgiAyACQQFrcSACaSIFQQFNDQAaIAMgAiADSw0AGiADIAJwCyIHQQJ0aigCACIBRQ0AIAEoAgAiAUUNAAJAIAVBAU0EQCACQQFrIQIDQAJAIAMgASgCBCIFRwRAIAIgBXEgB0YNAQwFCyABKAIIIANGDQMLIAEoAgAiAQ0ACwwCCwNAAkAgAyABKAIEIgVHBEAgAiAFTQR/IAUgAnAFIAULIAdGDQEMBAsgASgCCCADRg0CCyABKAIAIgENAAsMAQsgAUEQaiECAkAgAS0AY0UNACAEKAJURQ0AIAZBCGogAhCGESIBQQA6AFMgACgCbCEAQdSJC0EANgIAQeIJIAAgARADQdSJCygCACEIQdSJC0EANgIAIAhBAUcEQCABKAJwEGAgASgCZBBgIAFBQGsoAgAQYCABKAI0EGAgASgCKBBvIAEoAhwQbyABKAIIIgBFDQMgACAAKAIEIgFBAWs2AgQgAQ0DIAAgACgCACgCCBEBACAAEHUMAwsQACEJIAEQ3wEaIAkQBwALIAQgAhCFEQwBCyAEQQE6ABUgBC0AEEHAAHFFDQAgBCgCVA0AIARBAToAUwsgBkGAAWokAAu+DwIFfw9+IwBB0AJrIgUkACAEQv///////z+DIQogAkL///////8/gyELIAIgBIVCgICAgICAgICAf4MhDCAEQjCIp0H//wFxIQgCQAJAIAJCMIinQf//AXEiCUH//wFrQYKAfk8EQCAIQf//AWtBgYB+Sw0BCyABUCACQv///////////wCDIg1CgICAgICAwP//AFQgDUKAgICAgIDA//8AURtFBEAgAkKAgICAgIAghCEMDAILIANQIARC////////////AIMiAkKAgICAgIDA//8AVCACQoCAgICAgMD//wBRG0UEQCAEQoCAgICAgCCEIQwgAyEBDAILIAEgDUKAgICAgIDA//8AhYRQBEAgAyACQoCAgICAgMD//wCFhFAEQEIAIQFCgICAgICA4P//ACEMDAMLIAxCgICAgICAwP//AIQhDEIAIQEMAgsgAyACQoCAgICAgMD//wCFhFAEQEIAIQEMAgsgASANhFAEQEKAgICAgIDg//8AIAwgAiADhFAbIQxCACEBDAILIAIgA4RQBEAgDEKAgICAgIDA//8AhCEMQgAhAQwCCyANQv///////z9YBEAgBUHAAmogASALIAEgCyALUCIGG3kgBkEGdK18pyIGQQ9rELkDQRAgBmshBiAFKQPIAiELIAUpA8ACIQELIAJC////////P1YNACAFQbACaiADIAogAyAK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QQFqNgIEQYCoC0EQQQgQXSIBQQM2AgAgAUEDELQCIQZBgKgLQRBBCBBdIgdBADYCACAHQfiiCykDADcCCCAGKAIAQQJHBEAMAQsgBigCCCIDKAIAIQICQCADKAIEIgEgAygCCEcEQCACIQQMAQsgAyABQQF0QQJqIgE2AgggA0GAqAsgAUECdEEEEF0iBDYCACADKAIEIgFFBEBBACEBDAELQQAhCUEAIQQgAUEETwRAIAFBfHEhCANAIARBAnQiBSADKAIAaiACIAVqKAIANgIAIAVBBHIiCiADKAIAaiACIApqKAIANgIAIAVBCHIiCiADKAIAaiACIApqKAIANgIAIAVBDHIiBSADKAIAaiACIAVqKAIANgIAIARBBGoiBCAIRw0ACwsgAUEDcSIFBEADQCAEQQJ0IgggAygCAGogAiAIaigCADYCACAEQQFqIQQgCUEBaiIJIAVHDQALCyADKAIAIQQLIAQgAUECdGogBzYCACADIAMoAgRBAWo2AgRBgKgLQRBBCBBdIgcgADcCCCAHQQA2AgAgBigCAEECRgRAAkAgBigCCCIDKAIAIQICQCADKAIEIgEgAygCCEcEQCACIQQMAQsgAyABQQF0QQJqIgE2AgggA0GAqAsgAUECdEEEEF0iBDYCACADKAIEIgFFBEBBACEBDAELQQAhCUEAIQQgAUEETwRAIAFBfHEhCANAIARBAnQiBSADKAIAaiACIAVqKAIANgIAIAVBBHIiCiADKAIAaiACIApqKAIANgIAIAVBCHIiCiADKAIAaiACIApqKAIANgIAIAVBDHIiBSADKAIAaiACIAVqKAIANgIAIARBBGoiBCAIRw0ACwsgAUEDcSIFBEADQCAEQQJ0IgggAygCAGogAiAIaigCADYCACAEQQFqIQQgCUEBaiIJIAVHDQALCyADKAIAIQQLIAQgAUECdGogBzYCACADIAMoAgRBAWo2AgQgBigCAEECRw0AIAYoAggiAygCACECAkAgAygCBCIBIAMoAghHBEAgAiEEDAELIAMgAUEBdEECaiIBNgIIIANBgKgLIAFBAnRBBBBdIgQ2AgAgAygCBCIBRQRAQQAhAQwBC0EAIQlBACEEIAFBBE8EQCABQXxxIQcDQCAEQQJ0IgUgAygCAGogAiAFaigCADYCACAFQQRyIgggAygCAGogAiAIaigC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IQxBACEDIAtBBE8EQCALQXxxIQUDQCADQQJ0IgogCSgCAGogASAKaigCADYCACAKQQRyIgQgCSgCAGogASAEaigCADYCACAKQQhyIgQgCSgCAGogASAEaigCADYCACAKQQxyIgQgCSgCAGogASAEaigCADYCACADQQRqIgMgBUcNAAsLIAtBA3EiBQRAA0AgA0ECdCIEIAkoAgBqIAEgBGooAgA2AgAgA0EBaiEDIAxBAWoiDCAFRw0ACwsgCSgCACEDCyADIAtBAnRqIBI2AgAgCSAJKAIEQQFqNgIECyARIAcpAyggBhC6AyAOQQFqIQ4gAigCHCEDDAELCwwHCwwGC0HUiQtBADYCAEENIAYgDCAEIAMQBUHUiQsoAgAhH0HUiQtBADYCACAfQQFGDQAACxAAISEgBygCrAIiAQRAA0AgASgCACEgIAEQWiAgIgENAAsLIAcoAqQCIQAgB0EANgKkAiAABEAgABBaCyAHKAKcAhCRCSAHKAKQAhCZBSAHKAKAAiIABEAgByAANgKEAiAAEFoLIAcoAsABIgAEQCAHIAA2AsQBIAAQWgsgIRAHAAtB4ZUGQbizAkHbCUGP4gMQAQALQf/3BUHkhgNBrgNBpogFEAEAC0HFogFBiaIDQbwBQaaIBRABAAtB//cFQeSGA0GaA0H8wgMQAQALQf/3BUHkhgNBswNB+PsCEAEAC8ABAgF/An5BfyEDAkAgAEIAUiABQv///////////wCDIgRCgICAgICAwP//AFYgBEKAgICAgIDA//8AURsNACACQv///////////wCDIgVCgICAgICAwP//AFYgBUKAgICAgIDA//8AUnENACAAIAQgBYSEUARAQQAPCyABIAKDQgBZBEAgASACUiABIAJTcQ0BIAAgASAChYRCAFIPCyAAQgBSIAEgAlUgASACURsNACAAIAEgAoWEQgBSIQMLIAML7gUBCn9BgKgLQRBBCBBdIgBBAzYCACAAQQIQtAIhB0GAqAtBEEEIEF0iCUEANgIAIAlBgKILKQMANwIIIAcoAgBBAkYEQAJAIAcoAggiASgCACEEAkAgASgCBCIDIAEoAghHBEAgBCEADAELIAEgA0EBdEECaiIANgIIIAFBgKgLIABBAnRBBBBdIgA2AgAgASgCBCIDRQRAQQAhAwwBC0EAIQAgA0EETwRAIANBfHEhBQNAIABBAnQiAiABKAIAaiACIARqKAIANgIAIAJBBHIiBiABKAIAaiAEIAZqKAIANgIAIAJBCHIiBiABKAIAaiAEIAZqKAIANgIAIAJBDHIiAiABKAIAaiACIARqKAIANgIAIABBBGoiACAFRw0ACwsgA0EDcSICBEADQCAAQQJ0IgUgASgCAGogBCAFaigCADYCACAAQQFqIQAgCEEBaiIIIAJHDQALCyABKAIAIQALIAAgA0ECdGogCTYCACABIAEoAgRBAWo2AgRBgKgLQRBBCBBdIgBBAzYCACAAQQAQtAIhCSAHKAIAQQJHDQAgBygCCCIBKAIAIQQCQCABKAIEIgMgASgCCEcEQCAEIQAMAQsgASADQQF0QQJqIgA2AgggAUGAqAsgAEECdEEEEF0iADYCACABKAIEIgNFBEBBACEDDAELQQAhCEEAIQAgA0EETwRAIANBfHEhBQNAIABBAnQiAiABKAIAaiACIARqKAIANgIAIAJBBHIiBiABKAIAaiAEIAZqKAIANgIAIAJBCHIiBiABKAIAaiAEIAZqKAIANgIAIAJBDHIiAiABKAIAaiACIARqKAIANgIAIABBBGoiACAFRw0ACwsgA0EDcSICBEADQCAAQQJ0IgUgASgCAGogBCAFaigCADYCACAAQQFqIQAgCEEBaiIIIAJHDQALCyABKAIAIQALIAAgA0ECdGogCTYCACABIAEoAgRBAWo2AgQgBw8LC0H/9wVB5IYDQbMDQfj7AhABAAv4EQIRfwJ9IAEoAgggAUEIaiIPIAEtABMiA8BBAEgiBhshAgJAIAEoAgwgAyAGGyIEQQRJBEAgBCEIDAELAkAgBEEEayIIQQRxBEAgBCEIDAELIAIoAABBldPH3gVsIgNBGHYgA3NBldPH3gVsIARBldPH3gVscyEEIAJBBGohAiAIQQRJDQELA0AgAigABEGV08feBWwiA0EYdiADc0GV08feBWwgAigAAEGV08feBWwiA0EYdiADc0GV08feBWwgBEGV08feBWxzQZXTx94FbHMhBCACQQhqIQIgCEEIayIIQQNLDQALCwJAAkACQAJAIAhBAWsOAwIBAAMLIAItAAJBEHQgBHMhBAsgAi0AAUEIdCAEcyEECyAEIAItAABzQZXTx94FbCEECyABIARBDXYgBHNBldPH3gVsIgNBD3Yg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WCIABEADQCAAKAIAIRsgABBaIBsiAA0ACwsgAygCUCEAIANBADYCUCAABEAgABBaCyADKAIsIgAEQCADIAA2AjAgABBaCyADKAIgIgAEQANAIAAoAgAhHCAAEFogHCIADQALCyADKAIYIQAgA0EANgIYIAAEQCAAEFoLDAMLEAAhAQwCCyADKAJ4IgZFDQAgBiEBA0AgASABKwMYIAEoAggiAkEBcQR/QQEFIAIoAgQgAigCAGtBAnULuKM5AxggASgCACIBDQALIAZFDQACQANAAkAgBigCOCEHQQEhAUEBIQhBACEEIAYoAigiAiEFAkAgAkUEQCAHIQQMAQsDQCABIgpBAWohASAIIglBAWohCCAEIg5BAWohBCAFKAIAIgUNAAsgDiAGKAI8IgEgB2tBAnVIBEAgBEEHcSIFBEAgCkEHcSEEQQAhAQNAIAFBAWoiASAFRw0ACyAJIARrIQQLIA5BB08EQANAIARBCWshHSAEQQhrIQQgHUF+SQ0ACwsDQCAHIAIoAgg2AgAgB0EEaiEHIAIoAgAiAg0ACyAGIAc2AjggByEEDAELAkACQAJAIAcgBigCNCILa0ECdSIJIARqIgpBgICAgARPBEBB1IkLQQA2AgBB3AUQCQwBC0EAIQVBACEMQf////8DIAEgC2siCEEBdSIBIAogASAKSxsgCEH8////B08bIgpFDQIgCkGAgICABEkNAUHUiQtBADYCAEEDEAkLQdSJCygCACEeQdSJC0EANgIAIB5BAUcNCBAAIQEMBwtB1IkLQQA2AgBBBCAKQQJ0EAYhDEHUiQsoAgAhH0HUiQtBADYCACAfQQFGDQILIAwgCUECdGoiCCEBIARBB3EiCQRAA0AgASACKAIINgIAIAFBBGohASACKAIAIQIgBUEBaiIFIAlHDQALCyAIIARBAnRqIQQgDkH/////A3FBB08EQANAIAEgAigCCDYCACABIAIoAgAiAigCCDYCBCABIAIoAgAiAigCCDYCCCABIAIoAgAiAigCCDYCDCABIAIoAgAiAigCCDYCECABIAIoAgAiAigCCDYCFCABIAIoAgAiAigCCDYCGCABIAIoAgAiAigCCDYCHCACKAIAIQIgAUEgaiIBIARHDQALCyAHIAtHBEADQCAIQQRrIgggB0EEayIHKAIANgIAIAcgC0cNAAsLIAYgDCAK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BCALKAIMIARqQQA2AgggCygCDCAEakEANgIMIAJBBGoiAiADRw0ACwsgCARAA0AgCygCDCACQQJ0akEANgIAIAJBAWohAiAFQQFqIgUgCEcNAAsLIAsoAhQiAkUNASACKAIEIQgCQCAKIApBAWsiD3EEQCAIIApPBEAgCCAKcCEICyALKAIMIAhBAnRqIA42AgAMAQsgCygCDCAIIA9xIgpBAnRqIA42AgADQCACKAIAIgNFDQMgCiADKAIEIA9xIgRGBEAgAyECDAELIARBAnQiCCALKAIMaiIFKAIABEAgAiADKAIANgIAIAMgCygCDCAIaigCACgCADYCACALKAIMIAhqKAIAIAM2AgAFIAUgAjYCACADIQIgBCEKCwwACwALA0AgAigCACIDRQ0CIAogAygCBCIETQRAIAQgCnAhBAsgBCAIRgRAIAMhAgwBCyAEQQJ0Ig8gCygCDGoiBSgCAARAIAIgAygCADYCACADIAsoAgwgD2ooAgAoAgA2AgAgCygCDCAPaigCACADNgIABSAFIAI2AgAgAyECIAQhCAsMAAsACyALKAIMIQIgC0EANgIMIAIEQCACEFoLIAtBADYCEAsgCygCECIEIARBAWsiAnFFBEAgAiAJcSEJDAELIAQgCUsNACAJIARwIQkLIAsoAgwgCUECdGoiAygCACICDQMgByALKAIUNgIAIAsgBzYCFCADIA42AgAgBygCACICRQ0FIAIoAgQhAiAEIARBAWsiA3ENASACIANxIQIMAgsQACEFIAcQWgwcCyACIARJDQAgAiAEcCECCyALKAIMIAJBAnRqIQIMAQsgByACKAIANgIACyACIAc2AgALIAsgCygCGEEBajYCGAwECwJAIAYoAkgiBSADSwRAIANBBDYCACADIBA2AgQgBiAENgJEDAELIAMgAmtBA3UiB0EBaiIKQf////8BSw0CAkBB/////wEgBSACayIFQQJ1IgQgCiAEIApLGyAFQfj///8HTxsiBUUEQEEAIQoMAQsgBUH/////AUsNDUHUiQtBADYCAEEEIAVBA3QQBiEKQdSJCygCACFRQdSJC0EANgIAIFFBAUYNCwsgCiAHQQN0aiIEIBA2AgQgBEEENgIAIAogBUEDdGohCiAEQQhqIQUCQCACIANGBEAgBiAKNgJIIAYgBTYCRCAGIAQ2AkAMAQsD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BSgCQCICKAIAIgAgBSgCPCgCBCIBNgIEIAEgADYCACAFQQA2AkQgAiAERg0AA0AgAigCBCFpIAIQWiBpIgIgBEcNAAsLIAUoAjAiAgRAA0AgAigCACFqIAIQWiBqIgINAAsLIAUoAighACAFQQA2AiggAARAIAAQWgsCQCAFKAJoRQ0AIAUoAmQiAigCACIAIAUoAmAoAgQiATYCBCABIAA2AgAgBUEANgJoIAIgEUYNAANAIAIoAgQhayACEFogayICIBFHDQALCyAFKAJUIgIEQANAIAIoAgAhbCACEFogbCICDQALCyAFKAJMIQAgBUEANgJMIAAEQCAAEFoLIAVBgAFqJAAPCxAAIQIgBUEIahDeAwwBCxAAIQILIAVBKGoQ3gMMAgsQACECCyAFQShqEKcFCyAFQcgAahDWEiACEAcACxAAIQILIAUoAkwQvwkgAhAHAAsAC0EFIQMgAkUNAQsgAiACKAIAIANBAnRqKAIAEQEACyAMBEAgDBBaCyAFKAIwIgIEQANAIAIoAgAhbSACKAIMIgEEQCACIAE2AhAgARBaCyACEFogbSICDQALCyAFKAIoIQAgBUEANgIoIABFDQAgABBaIAQQBwALIAQQBwALBQBB/AALBQBB/wALJABB1I8BIAAgAacgAUIgiKcgAiADIAQgBSAGpyAGQiCIpxAlCx0AQdOPASAAIAEgAiADIAQgBSAGpyAGQiCIpxAmCxkAQeOEASAAIAEgAiADIASnIARCIIinECcLFwBBpNMAIAAgAacgAUIgiKcgAiADECkLGgBBnzwgACABpyABQiCIpyACIAMgBCAFECoLGABB5zYgACABpyABQiCIpyACIAMgBBAsCxQAQYACIACnIABCIIinIAEgAhAvCxsAIAAgASACpyACQiCIpyADEDetIwGtQiCGhAsoAEGHDCAAIAGnIAFCIIinIAIgAyAEpyAEQiCIpyAFpyAFQiCIpxA6CxcAIAAgASACIAOnIANCIIinIAQgBRA8CxcAIAAgASACIAMgBKcgBEIgiKcgBRA9CycBAX8gACgCAEEMayIAIAAoAghBAWsiATYCCCABQQBIBEAgABBaCwtEACAAIAICf0EAIANFDQAaIAFBCHUiAiABQQFxRQ0AGiACIAMoAgBqKAIACyADaiAEQQIgAUECcRsgACgCACgCHBEHAAuA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NgK0ASAAIABBEGo2AgwgAEEANgIIA0ACQEHUiQtBADYCAEGbrgEgAEHMAmogAEHIAmoQAiEKQdSJCygCACEJQdSJC0EANgIAIAlBAUYNACAKDQMgACgCtAEgAiABKAIEIAEtAAsiA0H/AHEgA0GAAXFBB3YbIgNqRgRAQdSJC0EANgIAQfmtASABIANBAXQQA0HUiQsoAgAhC0HUiQtBADYCACALQQFGDQUgAS0AC0GAAXFBB3YEfyABKAIIQf////8HcUEBawVBCgshAkHUiQtBADYCAEH5rQEgASACEANB1IkLKAIAIQxB1IkLQQA2AgAgDEEBRg0FIAAgASgCACABIAEtAAtBgAFxQQd2GyICIANqNgK0AQtB1IkLQQA2AgBBnK4BIAAoAswCEAYhDkHUiQsoAgAhDUHUiQtBADYCACANQQFGDQAgDiAHIAIgAEG0AWogAEEIaiAAKALEAiAAKALIASAALQDPASAAQRBqIABBDGogCBCsBg0DQdSJC0EANgIAQZ6uASAAQcwCahAGGkHUiQsoAgAhD0HUiQtBADYCACAPQQFHDQELCwwCCwwBCwJAIAAoAsgBIAAtAM8BIgNB/wBxIANBgAFxQQd2G0UNACAAKAIMIgMgAEEQamtBnwFKDQAgACADQQRqNgIMIAMgACgCCDYCAAsgBSACIAAoArQBIAQgBxCKEjYCACAAQcQBaiAAQRBqIAAoAgwgBBC9A0HUiQtBADYCAEGbrgEgAEHMAmogAEHIAmoQAiECQdSJCygCACEQQdSJC0EANgIAIBBBAUcEQCACBEAgBCAEKAIAQQJyNgIACyAAKALMAiERIAEQwgEaIABBxAFqEMIBGiAAQdACaiQAIBEMAgsLEAAhEiABEMIBGiAAQcQBahDCARogEhAHAAsLYwECfyMAQRBrIgMkACADIAI2AgwgA0EIaiABELcEIQQgAEGixwIgAygCDBDPEiECIAQoAgAiAARAQfC3CygCABogAARAQfC3C0HY4AsgACAAQX9GGzYCAAsLIANBEGokACACC7ICAgR+BX8jAEEgayIIJAACQAJAAkAgASACRwRAQeCFCygCACEMQeCFC0EANgIAIwBBEGsiCSQAENoCGiMAQRBrIgokACMAQRBrIgskACALIAEgCEEcakECELQMIAspAwAhBCAKIAspAwg3AwggCiAE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AgAiASgCAEEERwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQnQILLgAgASgCACIBKAIAQQNHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCdAgsuACABKAIAIgEoAgBBAkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJ0CCy4AIAEoAgAiASgCAEEBRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQnQIL3R4BDn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAIgIoAgAOXgABAgMEBQYHCAkKCwwNHh8gISIjJCU1Ng4PEBESExQVFhcYGRobHB03JicoKSorLC0uLzAxMjM0ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXABdC0GY/QNB5bMDQeoBEGIACyAAQbarASABEFggAigCAEEBRw1cIAIoAhQiAUEATA1bIABBBGohBANAIAFBAWsiACACKAIUTw1eIAIoAhAgAEECdGoiAygCAEUNXyAEQbWrASADEFsgAUEBSyEGIAAhASAGDQALDFsLIABBt6sBIAEQWCACKAIAQQJHDVsgAigCEARAIABBBGpBtasBIAJBEGoQWwsMYAsgAEG4qwEgARBYIAIoAgBBA0cNWgxjCyAAQbmrASABEFggAigCAEEERw1ZIAIoAhQEQCAAQQRqQbWrASACQRRqEFsLIAIoAhBFDVggAEEEakG1qwEgAkEQahBbDwsgAEG6qwEgARBYIAIoAgBBBUcNWCAAQbWrASACQSRqEFggAigCIEUNVyAAQQRqQbWrASACQSBqEFsPCyAAQburASABEFggAigCAEEGRw1XIAIoAgwiAUEATA1WIABBBGohBANAIAFBAWsiACACKAIMTw1ZIAIoAgggAEECdGoiAygCAEUNWiAEQbWrASADEFsgAUEBSyEHIAAhASAHDQALDFYLIABBvKsBIAEQWCACKAIAQQdHDVYgAEG1qwEgAkEcahBYIAIoAhAiAUEATA1VIABBBGohBANAIAFBAWsiACACKAIQTw1YIAIoAgwgAEECdGoiAygCAEUNWSAEQbWrASADEFsgAUEBSyEIIAAhASAIDQALDFULIABBvasBIAEQWCACKAIAQQhGDVQMVQsgAEG+qwEgARBYIAIoAgBBCUcNVAxgCyAAQb+rASABEFggAigCAEEKRg1SDFMLIABBwKsBIAEQWCACKAIAQQtHDVIMWwsgAEHBqwEgARBYIAIoAgBBDEcNUQxfCyAAQcKrASABEFggAigCAEENRw1QDF0LIABBw6sBIAEQWCACKAIAQRhHDU8MXgsgAEHEqwEgARBYIAIoAgBBGUcNTiAAQbWrASACQSBqEFgMXQsgAEHFqwEgARBYIAIoAgBBGkcNTQxUCyAAQcarASABEFggAigCAEEbRw1MDFQLIABBx6sBIAEQWCACKAIAQRxGDUoMSwsgAEHIqwEgARBYIAIoAgBBHUcNSgxWCyAAQcmrASABEFggAigCAEEeRw1JIABBtasBIAJBFGoQWAxVCyAAQcqrASABEFggAigCAEEfRw1IDE0LIABBy6sBIAEQWCACKAIAQSBHDUcMUQsgAEHMqwEgARBYIAIoAgBBIUcNRgxRCyAAQc2rASABEFggAigCAEEiRw1FIABBtasBIAJBIGoQWA8LIABBzqsBIAEQWCACKAIAQSNHDUQMUQsgAEHPqwEgARBYIAIoAgBBJEcNQwxKCyAAQdCrASABEFggAigCAEElRg1BDEILIABB0asBIAEQWCACKAIAQSZHDUEMRQsgAEHSqwEgARBYIAIoAgBBJ0cNQAxECyAAQdOrASABEFggAigCAEEORg0+DD8LIABB1KsBIAEQWCACKAIAQQ9HDT4MSgsgAEHVqwEgARBYIAIoAgBBEEcNPQxICyAAQdarASABEFggAigCAEERRw08DEALIABB16sBIAEQWCACKAIAQRJHDTsMSwsgAEHYqwEgARBYIAIoAgBBE0cNOiACKAIIRQ05DEsLIABB2asBIAEQWCACKAIAQRRGDTgMOQsgAEHaqwEgARBYIAIoAgBBFUcNOAxICyAAQdur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AANAQQEgASgCGCICIARBAnRqQRRrKAIAIgN0IgUgCCADQQN2Qfz///8BcWoiAygCACIGcUUNBCADIAYgBUF/c3E2AgAgBEEBaiIEIAdHDQALDAELIAJFDQELIAEgAjYCHCACEFoLIAAgATYCgAEPC0He9ARB77UCQe8AQe6MBBABAAuEAwEHfwJAAkAgASgCACIBKAIAQQlGBEACQCAAKAJwIAEoAggiBEEDdkH8////AXFqIgEoAgAiAkEBIAR0IgNxDQAgASACIANyNgIAIAAoAoABIgIgACgCfEYNACACQSRrIgEoAgAiAEEETQRAIAEgAEEBajYCACACIABBAnRqQSBrIAQ2AgAPCyABKAIcIgAgASgCIEcEQCAAIAQ2AgAgASAAQQRqNgIcDwsgACACQQxrIgcoAgAiAmsiA0ECdSIIQQFqIgVBgICAgARPDQJB/////wMgA0EBdSIGIAUgBSAGSRsgA0H8////B08bIgUEfyAFQYCAgIAETw0EIAVBAnQQXAVBAAsiBiAIQQJ0aiIDIAQ2AgAgA0EEaiEEIAAgAkcEQANAIANBBGsiAyAAQQRrIgAoAgA2AgAgACACRw0ACwsgByADNgIAIAEgBDYCHCABIAYgBUECdGo2AiAgAkUNACACEFoLDwtB8O0FQcWYA0GUBkGN3gAQAQALEGQACxBqAAv6IwEWfyAAQQhqIQwgAEH8AGohDQJAAkACQANAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgASgCACICKAIAIgMONQADBAUICAgIAQIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAYHCAtBx9IEQe+1AkGJARBiAAsgACgCcCACKAIIIglBA3ZB/P///wFxaigCACAJdkEBcQ0HAkAgACgCbCIFKAIEIgBFBEAgBUEEaiIBIQMMAQsDQCAAIgMoAhAiACAJSwRAIAMiASgCACIADQEMAgsgACAJTw0JIAMoAgQiAA0ACyADQQRqIQELQRQQXCIAIAM2AgggAEIANwIAIAAgCTYCECABIAA2AgAgBSgCACgCACIDBEAgBSADNgIAIAEoAgAhAAsgBSgCBCAAEGcgBSAFKAIIQQFqNgIIDwsgACgCcCACKAIIIgNBA3ZB/P///wFxaigCACADdkEBcUUEQCAAQbGrASABEJ4CCyACQQxqIQEMCgsgAigCCARAIABBsqsBIAEQngILIAIoAhQiAUEASgRAA0AgASIFQQFrIgEgAigCFE8NDCACKAIQIAFBAnRqIgYoAgBFDQ0CQCAAKAIEIgNBCU0EQCAAIANBAWo2AgQgDCADQQN0aiIDIAY2AgQgA0H3EzYCAAwBCyAAKAJcIgMgACgCYCIHSQRAIAMgBjYCBCADQfcTNgIAIAAgA0EIajYCXAwBCyADIAAoAlgiCWsiCEEDdSIKQQFqIgRBgICAgAJPDQlB/////wEgByAJayIHQQJ1IgsgBCAEIAtJGyAHQfj///8HTxsiBEGAgICAAk8NCiAIIARBA3QiCxBcIgdqIgRB9xM2AgAgByAKQQN0aiAGNgIEIARBCGohBiADIAlHBEADQCAEQQhrIgQgA0EIayIDKQIANwIAIAMgCUcNAAsLIAAgByALajYCYCAAIAY2AlwgACAENgJYIAlFDQAgCRBaCyAFQQFKDQALCyACKAIIRQ0FIAAoAoABIgEgACgChAFJBEAgAUIANwIYIAFBADYCACABQQA2AiAgACABQSRqNgKAAQ8LIA0QtQYPCyACKAIQBEAgAEGyqwEgARCeAiACKAIAQQJHDQwgAkEQaiIDKAIABEAgAEH3EyADEJ4CCyAAQbOrASABEJ4CCyAAQbKrASABEJ4CIAIoAgBBAkcNCyAAQfcTIAJBDGoQngIgAEGzqwEgARCeAiACKAIAQQJHDQsgAkEIaiEBDAgLIABBsqsBIAEQngICQCAAKAKAASIBIAAoAoQBSQRAIAFCADcCGCABQQA2AgAgAUEANgIgIAAgAUEkajYCgAEMAQsgDRC1BgsgAigCAEEDRw0KIAJBEGohAQwHCyACKAIoIgVBAEwNBQNAIAEoAgBFDQkgBSEJAkAgACgCBCIDQQlNBEAgACADQQFqNgIEIAwgA0EDdGoiAyABNgIEIANBsqsBNgIADAELIAAoAlwiAyAAKAJgIgZJBEAgAyABNgIEIANBsqsBNgIAIAAgA0EIajYCXAwBCyADIAAoAlgiBWsiB0EDdSIIQQFqIgRBgICAgAJPDQVB/////wEgBiAFayIGQQJ1IgogBCAEIApJGyAGQfj///8HTxsiBEGAgICAAk8NBiAHIARBA3QiChBcIgZqIgRBsqsBNgIAIAYgCEEDdGogATYCBCAEQQhqIQcgAyAFRwRAA0AgBEEIayIEIANBCGsiAykCADcCACADIAVHDQALCyAAIAYgCmo2AmAgACAHNgJcIAAgBDYCWCAFRQ0AIAUQWgsgCUEBayIFIAIoAihPDQggAigCJCAFQQJ0aiIHKAIARQ0JAkAgACgCBCIDQQlNBEAgACADQQFqNgIEIAwgA0EDdGoiAyAHNgIEIANB9xM2AgAMAQsgACgCXCIDIAAoAmAiCEkEQCADIAc2AgQgA0H3EzYCACAAIANBCGo2AlwMAQsgAyAAKAJYIgZrIgpBA3UiC0EBaiIEQYCAgIACTw0FQf////8BIAggBmsiCEECdSIOIAQgBCAOSRsgCEH4////B08bIgRBgICAgAJPDQYgCiAEQQN0Ig4QXCIIaiIEQfcTNgIAIAggC0EDdGogBzYCBCAEQQhqIQcgAyAGRwRAA0AgBEEIayIEIANBCGsiAykCADcCACADIAZHDQALCyAAIAggDmo2AmAgACAHNgJcIAAgBDYCWCAGRQ0AIAYQWgsgASgCAEUNCQJAIAAoAgQiA0EJTQRAIAAgA0EBajYCBCAMIANBA3RqIgMgATYCBCADQbOrATYCAAwBCyAAKAJcIgMgACgCYCIHSQRAIAMgATYCBCADQbOrATYCACAAIANBCGo2AlwMAQsgAyAAKAJYIgZrIghBA3UiCkEBaiIEQYCAgIACTw0FQf////8BIAcgBmsiB0ECdSILIAQgBCALSRsgB0H4////B08bIgRBgICAgAJPDQYgCCAEQQN0IgsQXCIHaiIEQbOrATYCACAHIApBA3RqIAE2AgQgBEEIaiEIIAMgBkcEQANAIARBCGsiBCADQQhrIgMpAgA3AgAgAyAGRw0ACwsgACAHIAtqNgJgIAAgCDYCXCAAIAQ2AlggBkUNACAGEFoLIAlBAUoNAAsMBQsgAEGyqwEgARCeAgJAIAAoAoABIgEgACgChAFJBEAgAUIANwIYIAFBADYCACABQQA2AiAgACABQSRqNgKAAQwBCyANELUGCyACKAIAQTRHDQggAkEIaiEBDAULIABB9xMCfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCADDl4BTExMAgMEBUxMTAYHCEwXGBkaG0wcTEwJCgsMTA0ODxAREhMUTBUWTEwdTB4fIEwhIiMkSiVMJicoKSorLC0uLzAxMjM0NTY3ODk6Ozw9Pkw/QEFCQ0RFRkdISQABTAsgAEH3EyACQTxqEJ4CIAIoAjAiA0EATA1LA0AgA0EBayIBIAIoAjBPDVEgAEH3EyACKAIsIAFBAnRqEJ4CIANBAUshDyABIQMgDw0ACwxLC0GY/QNB5bMDQeoBEGIACyACKAIUBEAgAEH3EyACQRRqEJ4CCyACKAIQRQ1JIAJBEGoMSAsgAEH3EyACQSRqEJ4CIAIoAiBFDUggAkEgagxHCyACKAIMIgNBAEwNRwNAIANBAWsiASACKAIMTw1NIABB9xMgAigCCCABQQJ0ahCeAiADQQFLIRAgASEDIBANAAsMRwsgAEH3EyACQRxqEJ4CIAIoAhAiA0EATA1GA0AgA0EBayIBIAIoAhBPDUwgAEH3EyACKAIMIAFBAnRqEJ4CIANBAUshESABIQMgEQ0ACwxGCyACQRBqDEQLIAJBJGoMQwsgAEH3EyACQShqEJ4CIAJBJGoMQgsgAEH3EyACQRxqEJ4CIAJBGGoMQQsgAEH3EyACQSBqEJ4CIABB9xMgAkEcahCeAiACQRhqDEALIABB9xMgAkEYahCeAiAAQfcTIAJBFGoQngIgAkEQagw/CyAAQfcTIAJBFGoQngIgAkEQagw+CyACQQxqDD0LIABB9xMgAkEUahCeAiACQQxqDDwLIABB9xMgAkEMahCeAiACQQhqDDsLIABB9xMgAkEUahCeAiAAQfcTIAJBEGoQngIgAkEMagw6CyAAQfcTIAJBEGoQngIgAkEMagw5CyACQSBqDDgLIABB9xMgAkEoahCeAiACQSRqDDcLIABB9xMgAkEYahCeAiAAQfcTIAJBFGoQngIgAkEQagw2CyAAQfcTIAJBEGoQngIgAEH3EyACQQxqEJ4CIAJBCGoMNQsgAEH3EyACQRBqEJ4CIABB9xMgAkEMahCeAiACQQhqDDQLIAJBDGoMMwsgAEH3EyACQRBqEJ4CIAJBDGoMMgsgAEH3EyACQRBqEJ4CIABB9xMgAkEMahCeAiACQQhqDDELIAJBCGoMMAsgAigCCEUNMCACQQhqDC8LIAJBCGoMLgsgAkEIagwtCyAAQfcTIAJBDGoQngIgAkEIagwsCyACQRBqDCsLIABB9xMgAkEUahCeAiACQRBqDCoLIABB9xMgAkEUahCeAiACQRBqDCkLIABB9xMgAkEYahCeAiAAQfcTIAJBFGoQngIgAkEQagwoCyAAQfcTIAJBEGoQngIgAEH3EyACQQxqEJ4CIAJBCGoMJwsgAigCKCIDQQBKBEADQCADQQFrIgEgAigCKE8NLiAAQfcTIAIoAiQgAUECdGoQngIgA0EBSyESIAEhAyASDQALCyACQRBqDCYLIAIoAhQiA0EATA0mA0AgA0EBayIBIAIoAhRPDSwgAEH3EyACKAIQIAFBAnRqEJ4CIANBAUshEyABIQMgEw0ACwwmCyACQQhqDCQLIAIoAgwiA0EATA0kA0AgA0EBayIBIAIoAgxPDSogAEH3EyACKAIIIAFBAnRqEJ4CIANBAUshFCABIQMgFA0ACwwkCyACQQhqDCILIAJBCGoMIQsgAkEIagwgCyAAQfcTIAJBGGoQngIgAigCDCIDQQBMDSADQCADQQFrIgEgAigCDE8NJiAAQfcTIAIoAgggAUECdGoQngIgA0EBSyEVIAEhAyAVDQALDCALIAJBCGoMHgsgAkEIagwdCyACQRRqDBwLIAIoAgwiA0EATA0cA0AgA0EBayIBIAIoAgxPDSIgAEH3EyACKAIIIAFBAnRqEJ4CIANBAUshFiABIQMgFg0ACwwcCyACQQxqDBoLIABB9xMgAkEQahCeAiACQQxqDBkLIABB9xMgAkEMahCeAiACKAIIRQ0ZIAJBCGoMGAsgAEH3EyACQRRqEJ4CIAJBEGoMFwsgAEH3EyACQRRqEJ4CIAJBEGoMFgsgAigCDCIDQQBMDRYDQCADQQFrIgEgAigCDE8NHCAAQfcTIAIoAgggAUECdGoQngIgA0EBSyEXIAEhAyAXDQALDBYLIABB9xMgAkEMahCeAiACQQhqDBQLIABB9xMgAkEQahCeAiAAQfcTIAJBDGoQngIgAkEIagwTCyACQQhqDBILIABB9xMgAkEYahCeAiAAQfcTIAJBFGoQngIgAEH3EyACQRBqEJ4CIABB9xMgAkEMahCeAiACQQhqDBELIABB9xMgAkEUahCeAiAAQfcTIAJBEGoQngIgAEH3EyACQQxqEJ4CIAJBCGoMEAsgAEH3EyACQRxqEJ4CIABB9xMgAkEYahCeAiAAQfcTIAJBFGoQngIgAkEQagwPCyAAQfcTIAJBHGoQngIgAEH3EyACQRhqEJ4CIABB9xMgAkEUahCeAiACQRBqDA4LIAJBDGoMDQsgAigCGARAIABB9xMgAkEYahCeAgsgAigCFARAIABB9xMgAkEUahCeAgsgAigCEARAIABB9xMgAkEQahCeAgsgAkEMagwMCyACQQxqDAsLIAIoAhQEQCAAQfcTIAJBFGoQngILIABB9xMgAkEQahCeAiACQQxqDAoLIABB9xMgAkEMahCeAiACQQhqDAkLIABB9xMgAkEQahCeAiACQQxqDAgLIAJBDGoMBwsgAEH3EyACQRBqEJ4CIABB9xMgAkEMahCeAiACQQhqDAYLIABB9xMgAkEMahCeAiACQQhqDAULIAJBCGoMBAsgAEH3EyACQRBqEJ4CIAJBDGoMAwsgAEH3EyACQRRqEJ4CIABB9xMgAkEQahCeAiACQQxqDAILIABB9xMgAkEMahCeAiACQQhqDAELIAJBCGoLEJ4CCw8LEGQACxBqAAsgAEGyqwEgARCeAgJAIAAoAoABIgEgACgChAFJBEAgAUIANwIYIAFBADYCACABQQA2AiAgACABQSRqNgKAAQwBCyANELUGCyACKAIAQTNGBEAgAkEQaiEBDAELCwwCC0HFogFBiaIDQbwBQaaIBRABAAtBgYMCQdOZA0G5AkGu9wIQAQALQfDtBUHFmANBlAZBjd4AEAEAC/4MAg9/An0jAEEQayIJJAACQCAAAn8CQCABKAIEIgRFDQACQCAEaSIFQQFNBEAgBEEBayACcSEGDAELIAQgAiIGSw0AIAYgBHAhBgsgASgCACAGQQJ0aigCACIIRQ0AIAgoAgAiB0UNACAFQQFNBEAgBEEBayEFA0ACQCACIAcoAgQiCEcEQCAFIAhxIAZHDQQMAQsgBygCCCACRw0AQQAMBAsgBygCACIHDQALDAELA0ACQCACIAcoAgQiBUcEQCAEIAVNBH8gBSAEcAUgBQsgBkcNAwwBCyAHKAIIIAJHDQBBAAwDCyAHKAIAIgcNAAsLQRgQXCEHIAkgAUEIaiIMNgIIIAkgBzYCBCADKAIAIQMgB0EQaiIFQgA3AgAgByADNgIIIAcgBTYCDCAJQQE6AAwgB0EANgIAIAcgAjYCBCABKgIQIRMgASgCDEEBarMhFAJAAkAgBEUNACATIASzlCAUXQ0AIAYhAgwBC0ECIQMCQCAEIARBAWtxQQBHIARBA0lyIARBAXRyIgYCfyAUIBOVjSITQwAAgE9dIBNDAAAAAGBxBEAgE6kMAQtBAAsiBSAFIAZJGyIGQQFGDQAgBiAGQQFrcUUEQCAGIQMMAQtB1IkLQQA2AgBBFSAGEAYhA0HUiQsoAgAhDkHUiQtBADYCACAOQQFGDQMgASgCBCEECwJAAkAgAyAETQRAIAMgBE8NAiAEQQNJIQUCfyABKAIMsyABKgIQlY0iE0MAAIBPXSATQwAAAABgcQRAIBOpDAELQQALIQYCQAJAIAUNACAEaUEBSw0AIAZBAUEgIAZBAWtna3QgBkECSRshBQwBC0HUiQtBADYCAEEVIAYQBiEFQdSJCygCACEPQdSJC0EANgIAIA9BAUYNBgsgBCADIAUgAyAFSxsiA00EQCABKAIEIQQMAwsgA0UNAQsgA0GAgICABE8EQEHUiQtBADYCAEEDEAlB1IkLKAIAIRBB1IkLQQA2AgAgEEEBRg0FAAtB1IkLQQA2AgBBBCADQQJ0EAYhBkHUiQsoAgAhEUHUiQtBADYCACARQQFGDQQgASgCACEEIAEgBjYCACAEBEAgBBBaCyABIAM2AgRBACEGQQAhBCADQQRPBEAgA0H8////A3EhCANAIARBAnQiBSABKAIAakEANgIAIAEoAgAgBWpBADYCBCABKAIAIAVqQQA2AgggASgCACAFakEANgIMIARBBGoiBCAIRw0ACwsgA0EDcSIFBEADQCABKAIAIARBAnRqQQA2AgAgBEEBaiEEIAZBAWoiBiAFRw0ACwsgASgCCCIERQRAIAMhBAwCCyAEKAIEIQgCQCADIANBAWsiCnEEQCADIAhNBEAgCCADcCEICyABKAIAIAhBAnRqIAw2AgAgBCgCACIGDQEgAyEEDAMLIAEoAgAgCCAKcSIIQQJ0aiAMNgIAIAQoAgAiBUUEQCADIQQMAwsDQAJAIAggBSgCBCAKcSIGRgRAIAUhBAwBCyAGQQJ0IgsgASgCAGoiDSgCAARAIAQgBSgCADYCACAFIAEoAgAgC2ooAgAoAgA2AgAgASgCACALaigCACAFNgIADAELIA0gBDYCACAFIQQgBiEICyAEKAIAIgUNAAsgAyEEDAILA0AgAyAGKAIEIgVNBEAgBSADcCEFCwJAIAUgCEYEQCAGIQQMAQsgBUECdCIKIAEoAgBqIgsoAgBFBEAgCyAENgIAIAYhBCAFIQgMAQsgBCAGKAIANgIAIAYgASgCACAKaigCACgCADYCACABKAIAIApqKAIAIAY2AgALIAQoAgAiBg0ACyADIQQMAQsgASgCACEDQQAhBCABQQA2AgAgAwRAIAMQWgsgAUEANgIECyAEIARBAWsiA3FFBEAgAiADcSECDAELIAIgBEkNACACIARwIQILAkACQCABKAIAIAJBAnRqIgIoAgAiBUUEQCAHIAEoAgg2AgAgASAHNgIIIAIgDDYCACAHKAIAIgJFDQIgAigCBCEFAkAgBCAEQQFrIgJxRQRAIAIgBXEhBQwBCyAEIAVLDQAgBSAEcCEFCyABKAIAIAVBAnRqIQUMAQsgByAFKAIANgIACyAFIAc2AgALIAEgASgCDEEBajYCDEEBCzoABCAAIAc2AgAgCUEQaiQADwsQACESIAkoAgQhACAJQQA2AgQgAARAIAktAAwEQCAAKAIQEJMECyAAEFoLIBIQBwALyA8CEX8CfQJAAkACQAJAAkACQAJAAkAgASgCACIKKAIAQQlGBEAgACgCjAEiBEUNCAJAIAQoAgQiAyAEKAIIIgZJBEAgAyAKNgIAIAQgA0EEajYCBAwBCyADIAQoAgAiB2tBAnUiCEEBaiICQYCAgIAETw0CQf////8DIAYgB2siBkEBdSIJIAIgAiAJSRsgBkH8////B08bIgYEfyAGQYCAgIAETw0EIAZBAnQQXAVBAAsiCSAIQQJ0aiICIAo2AgAgAkEEaiEIIAMgB0cEQANAIAJBBGsiAiADQQRrIgMoAgA2AgAgAyAHRw0ACyAEKAIAIQMLIAQgCSAGQQJ0ajYCCCAEIAg2AgQgBCACNgIAIANFDQAgAxBaCyAKKAIIIQkCQCAAKAKMASIFKAIQIgJFDQAgBSgCDAJ/IAJBAWsgCXEgAmkiA0EBTQ0AGiAJIAIgCUsNABogCSACcAsiCEECdGooAgAiBEUNACAEKAIAIgdFDQAgA0EBTQRAIAJBAWshAwNAAkAgCSAHKAIEIgRHBEAgAyAEcSAIRg0BDAQLIAcoAgggCUYNCwsgBygCACIHDQALDAELA0ACQCAJIAcoAgQiA0cEQCACIANNBH8gAyACcAUgAwsgCEYNAQwDCyAHKAIIIAlGDQoLIAcoAgAiBw0ACwtBEBBcIgcgCTYCCCAHIAk2AgQgB0EANgIAIAdBADYCDCAFQRRqIQwgBSoCHCETIAUoAhhBAWqzIRQCQCACRQ0AIBMgArOUIBRdDQAgCCEJDAcLQQIhBAJAIAIgAkEBa3FBAEcgAkEDSXIgAkEBdHIiAwJ/IBQgE5WNIhNDAACAT10gE0MAAAAAYHEEQCATqQwBC0EACyIIIAMgCEsbIgNBAUYNACADIANBAWtxRQRAIAMhBAwBC0HUiQtBADYCAEEVIAMQBiEEQdSJCygCACEOQdSJC0EANgIAIA5BAUYNBCAFKAIQIQILAkAgAiAETwRAIAIgBE0NByACQQNJIQgCfyAFKAIYsyAFKgIclY0iE0MAAIBPXSATQwAAAABgcQRAIBOpDAELQQALIQMCQAJAIAgNACACaUEBSw0AIANBAUEgIANBAWtna3QgA0ECSRshBgwBC0HUiQtBADYCAEEVIAMQBiEGQdSJCygCACEPQdSJC0EANgIAIA9BAUYNBgsgBCAGIAQgBksbIgQgAk8NByAERQ0BCyAEQYCAgIAETwRAQdSJC0EANgIAQQMQCUHUiQsoAgAhEEHUiQtBADYCACAQQQFGDQUAC0HUiQtBADYCAEEEIARBAnQQBiEDQdSJCygCACERQdSJC0EANgIAIBFBAUYNBCAFKAIMIQIgBSADNgIMIAIEQCACEFoLIAUgBDYCEEEAIQhBACECIARBBE8EQCAEQfz///8DcSEGA0AgAkECdCIDIAUoAgxqQQA2AgAgBSgCDCADakEANgIEIAUoAgwgA2pBADYCCCAFKAIMIANqQQA2AgwgAkEEaiICIAZHDQALCyAEQQNxIgMEQANAIAUoAgwgAkECdGpBADYCACACQQFqIQIgCEEBaiIIIANHDQALCyAFKAIUIgJFDQYgAigCBCEIIAQgBEEBayIGcUUNBSAEIAhNBEAgCCAEcCEICyAFKAIMIAhBAnRqIAw2AgADQCACKAIAIgNFDQcgBCADKAIEIgZNBEAgBiAEcCEGCyAGIAhGBEAgAyECDAELIAZBAnQiCyAFKAIMaiINKAIABEAgAiADKAIANgIAIAMgBSgCDCALaigCACgCADYCACAFKAIMIAtqKAIAIAM2AgAFIA0gAjYCACADIQIgBiEICwwACwALIAUoAgwhAiAFQQA2AgwgAgRAIAIQWgsgBUEANgIQDAULQfDtBUHFmANBlAZBjd4AEAEACxBkAAsQagALEAAhEiAHEFogEhAHAAsgBSgCDCAGIAhxIgRBAnRqIAw2AgADQCACKAIAIgNFDQEgBCADKAIEIAZxIghGBEAgAyECDAELIAhBAnQiCyAFKAIMaiINKAIABEAgAiADKAIANgIAIAMgBSgCDCALaigCACgCADYCACAFKAIMIAtqKAIAIAM2AgAFIA0gAjYCACADIQIgCCEECwwACwALIAUoAhAiAiACQQFrIgNxRQRAIAMgCXEhCQwBCyACIAlLDQAgCSACcCEJCwJAAkAgBSgCDCAJQQJ0aiIDKAIAIgZFBEAgByAFKAIUNgIAIAUgBzYCFCADIAw2AgAgBygCACIDRQ0CIAMoAgQhBgJAIAIgAkEBayIDcUUEQCADIAZxIQYMAQsgAiAGSw0AIAYgAnAhBgsgBSgCDCAGQQJ0aiEGDAELIAcgBigCADYCAAsgBiAHNgIACyAFIAUoAhhBAWo2AhgLIAcgCjYCDAJAAkAgACgChAIiACgCBCICRQRAIABBBGoiByEDDAELA0AgAiIDKAIQIgIgCksEQCADIgcoAgAiAg0BDAILIAIgCk8EQCADIQIMAwsgAygCBCICDQALIANBBGohBwtBGBBcIgIgCjYCECACIAM2AgggAkIANwIAIAJBADYCFCAHIAI2AgAgAiEDIAAoAgAoAgAiBARAIAAgBDYCACAHKAIAIQMLIAAoAgQgAxBnIAAgACgCCEEBajYCCAsgAiABNgIUCwvlAwEIfwJAAkAgASgCACIFKAIAQQhGBEAgACgCjAEiBARAAkAgBCgCBCICIAQoAggiBkkEQCACIAU2AgAgBCACQQRqNgIEDAELIAIgBCgCACIHa0ECdSIIQQFqIgNBgICAgARPDQNB/////wMgBiAHayIGQQF1IgkgAyADIAlJGyAGQfz///8HTxsiBgR/IAZBgICAgARPDQUgBkECdBBcBUEACyIJIAhBAnRqIgMgBTYCACADQQRqIQggAiAHRwRAA0AgA0EEayIDIAJBBGsiAigCADYCACACIAdHDQALIAQoAgAhAgsgBCAJIAZBAnRqNgIIIAQgCDYCBCAEIAM2AgAgAkUNACACEFoLAkACQCAAKAKEAiIEKAIEIgNFBEAgBEEEaiIAIQIMAQsDQCADIgIoAhAiACAFSwRAIAIhACACKAIAIgMNAQwCCyAAIAVPDQIgAigCBCIDDQALIAJBBGohAAtBGBBcIgMgBTYCECADIAI2AgggA0IANwIAIANBADYCFCAAIAM2AgAgAyECIAQoAgAoAgAiBQRAIAQgBTYCACAAKAIAIQILIAQoAgQgAhBnIAQgBCgCCEEBajYCCAsgAyABNgIUCw8LQfDtBUHFmANBlAZBjd4AEAEACxBkAAsQagALQgACQCAAKAIAQdoARgRAIAFFDQEgACABNgIMDwtBwrQGQae3AkH4JUGQuAMQAQALQbr1AUGntwJB+SVBkLgDEAEAC+8FAQl/IwBBEGsiBSQAIAAoAowBIQZBOBBcIgFCADcCACABQgA3AiAgAUIANwIQIAFCADcCCCABQoCAgICAgIDAPzcCGCABQgA3AiggAUIANwIwIAAgATYCjAEgBSABNgIMAkACQAJAAkACQAJAIAAoAngiAiAAKAJ8SQRAIAIgATYCACAAIAJBBGo2AngMAQtB1IkLQQA2AgBB0qoBIABB9ABqIAVBDGoQA0HUiQsoAgAhCUHUiQtBADYCACAJQQFGDQEgBSgCDCIBRQ0AIAEQhQMLIAAoAoQBIgEgACgCiAFGDQEgASAAKAKMATYCACAAIAFBBGo2AoQBDAILEAAhCiAFKAIMIgEEQCABEIUDCyAKEAcACyABIAAoAoABIgdrIgJBAnUiBEEBaiIDQYCAgIAETw0BQf////8DIAJBAXUiCCADIAMgCEkbIAJB/P///wdPGyIDBH8gA0GAgICABE8NAyADQQJ0EFwFQQALIgggBEECdGoiAiAAKAKMATYCACACQQRqIQQgASAHRwRAA0AgAkEEayICIAFBBGsiASgCADYCACABIAdHDQALIAAoAoABIQELIAAgCCADQQJ0ajYCiAEgACAENgKEASAAIAI2AoABIAFFDQAgARBaCyAGIAAoAowBEMADAkAgACgCrAEiASAAKAKwAUcEQCABIAAoAowBNgIAIAAgAUEEajYCrAEMAQsgASAAKAKoASIHayICQQJ1IgZBAWoiA0GAgICABE8NAUH/////AyACQQF1IgQgAyADIARJGyACQfz///8HTxsiAwR/IANBgICAgARPDQMgA0ECdBBcBUEACyIEIAZBAnRqIgIgACgCjAE2AgAgAkEEaiEGIAEgB0cEQANAIAJBBGsiAiABQQRrIgEoAgA2AgAgASAHRw0ACyAAKAKoASEBCyAAIAQgA0ECdGo2ArABIAAgBjYCrAEgACACNgKoASABRQ0AIAEQWgsgBUEQaiQADwsQZAALEGoAC/AHAhR/AX4jAEEgayICJAAgASgCACEJQdSJC0EANgIAIAIgAkEQaiIKNgIMIAJCADcCEEHPHSAJIAJBDGoQA0HUiQsoAgAhDUHUiQtBADYCACANQQFGBEAQACEOIAIoAhAQYCAOEAcACwJAAkACQCAKIAIoAgwiBEcEQCAAQZABaiEMA0AgAiAEKQIQIhY3AwBB1IkLQQA2AgBB06oBIAJBGGogDCAWIAIQwgJB1IkLKAIAIQ9B1IkLQQA2AgAgD0EBRg0CAkAgAigCGCIFKAIcIgEgBSgCIEcEQCABIAAoAowBNgIAIAUgAUEEajYCHAwBCwJAAkACQCABIAUoAhgiC2siA0ECdSIIQQFqIgZBgICAgARPBEBB1IkLQQA2AgBB1KoBEAlB1IkLKAIAIRBB1IkLQQA2AgAgEEEBRg0BDAkLQf////8DIANBAXUiByAGIAYgB0kbIANB/P///wdPGyIGRQRAQQAhBwwDCyAGQYCAgIAESQ0BQdSJC0EANgIAQQMQCUHUiQsoAgAhEUHUiQtBADYCACARQQFHDQgLEAAhAQwGC0HUiQtBADYCAEEEIAZBAnQQBiEHQdSJCygCACESQdSJC0EANgIAIBJBAUYNBAsgByAIQQJ0aiIDIAAoAowBNgIAIANBBGohCCABIAtHBEADQCADQQRrIgMgAUEEayIBKAIANgIAIAEgC0cNAAsgBSgCGCEBCyAFIAcgBkECdGo2AiAgBSAINgIcIAUgAzYCGCABRQ0AIAEQWgsCQCAEKAIEIgMEQANAIAMiASgCACIDDQAMAgsACwNAIAQoAggiASgCACAERyETIAEhBCATDQALCyAKIAEiBEcNAAsLAkAgCSgCBEEBRwRAIAAoAowBIQNB1IkLQQA2AgBBBEE4EAYhAUHUiQsoAgAhBEHUiQtBADYCAAJAIARBAUcEQCABQgA3AgAgAUIANwIgIAFCADcCECABQgA3AgggAUKAgICAgICAwD83AhggAUIANwIoIAFCADcCMCAAIAE2AowBIAIgATYCGAJAIAAoAngiBCAAKAJ8SQRAIAQgATYCACAAIARBBGo2AngMAQtB1IkLQQA2AgBB0qoBIABB9ABqIAJBGGoQA0HUiQsoAgAhFEHUiQtBADYCACAUQQFGDQIgAigCGCIBRQ0AIAEQhQMLIAAoAowBIQBB1IkLQQA2AgBBqhYgAyAAEANB1IkLKAIAIRVB1IkLQQA2AgAgFUEBRw0DCxAAIQEMBAsQACEBIAIoAhgiAEUNAyAAEIUDDAMLIABBADYCjAELIAIoAhAQYCACQSBqJAAPCxAAIQELIAIoAhAQYCABEAcACwALDwAgABC7DCAAQQA2AowBC9oCAQZ/AkACQCABKAIAIgQoAgBBM0YEQAJAIAAoAsQBIgEgACgCyAFJBEAgAUEANgIIIAFCADcCACAAIAFBDGo2AsQBDAELIABBwAFqEJ4HCyAAKALQASIBIAAoAtQBIgJJBEAgASAENgIAIAAgAUEEajYC0AEPCyABIAAoAswBIgVrQQJ1IgdBAWoiA0GAgICABE8NAUH/////AyACIAVrIgJBAXUiBiADIAMgBkkbIAJB/P///wdPGyICBH8gAkGAgICABE8NAyACQQJ0EFwFQQALIgYgB0ECdGoiAyAENgIAIANBBGohBCABIAVHBEADQCADQQRrIgMgAUEEayIBKAIANgIAIAEgBUcNAAsgACgCzAEhAQsgACAGIAJBAnRqNgLUASAAIAQ2AtABIAAgAzYCzAEgAQRAIAEQWgsPC0Hw7QVBxZgDQZQGQY3eABABAAsQZAALEGoAC8YKARF/IwBBEGsiCSQAAkACQAJAAkACQAJAIAAoArgBIgIgACgCvAFHBEAgAiAAKAKMATYCACAAIAJBBGo2ArgBDAELIAIgACgCtAEiBWsiA0ECdSIGQQFqIgRBgICAgARPDQFB/////wMgA0EBdSIHIAQgBCAHSRsgA0H8////B08bIgQEfyAEQYCAgIAETw0FIARBAnQQXAVBAAsiByAGQQJ0aiIDIAAoAowBNgIAIANBBGohBiACIAVHBEADQCADQQRrIgMgAkEEayICKAIANgIAIAIgBUcNAAsgACgCtAEhAgsgACAHIARBAnRqNgK8ASAAIAY2ArgBIAAgAzYCtAEgAkUNACACEFoLIAEoAgAiDCgCAEEzRw0BIAAoAowBIQ4CQCAAKALcASIBIAAoAuABSQRAIAFBADYCCCABQgA3AgAgACABQQxqIgU2AtwBDAELIABB2AFqEJ4HIAAoAtwBIQULIAVBDGshBiAMKAIoRQ0CIAVBBGshDSAFQQhrIQcgAEH0AGohD0EAIQQDQEE4EFwiAUIANwIAIAFCADcCICABQgA3AhAgAUIANwIIIAFCgICAgICAgMA/NwIYIAFCADcCKCABQgA3AjAgACABNgKMASAJIAE2AgwCQAJAAkACQCAAKAJ4IgMgACgCfEkEQCADIAE2AgAgACADQQRqNgJ4DAELQdSJC0EANgIAQdKqASAPIAlBDGoQA0HUiQsoAgAhEUHUiQtBADYCACARQQFGDQEgCSgCDCIBRQ0AIAEQhQMLIAAoAowBIQogBygCACICIA0oAgAiCE8NASACIAo2AgAgByACQQRqNgIADAILEAAhEiAJKAIMIgEEQCABEIUDCyASEAcACyACIAYoAgAiAWtBAnUiEEEBaiIDQYCAgIAETw0CQf////8DIAggAWsiCEEBdSILIAMgAyALSRsgCEH8////B08bIggEfyAIQYCAgIAETw0GIAhBAnQQXAVBAAsiCyAQQQJ0aiIDIAo2AgAgA0EEaiEKIAEgAkcEQANAIANBBGsiAyACQQRrIgIoAgA2AgAgASACRw0ACyAGKAIAIQILIAYgAzYCACAHIAo2AgAgDSALIAhBAnRqNgIAIAJFDQAgAhBaCyAEQQFqIgQgDCgCKEkNAAsMAgsQZAALQfDtBUHFmANBlAZBjd4AEAEACyAAIA42AowBIAAoAsQBIgJBDGsiASgCACIEIAEoAgQiB0cEQCAFQQhrIgUoAgAhASAGKAIAIQMDQAJAIAEgA0YEQCADIQEMAQsgBCgCACEIQQAhAgNAIAggAyACQQJ0aigCABDAAyACQQFqIgIgBSgCACIBIAYoAgAiA2tBAnVJDQALCyAEQQRqIgQgB0cNAAsgACgCxAEiAkEMaygCACEECyAEBEAgAkEIayAENgIAIAQQWgsgACACQQxrNgLEASAAIAAoAtABQQRrNgLQAQJAIAAoAugBIgIgACgC7AEiBUkEQCACQQA2AgAgACACQQRqNgLoAQwBCyACIAAoAuQBIgRrQQJ1IgZBAWoiA0GAgICABE8NAkEAIQFB/////wMgBSAEayIFQQF1IgcgAyADIAdJGyAFQfz///8HTxsiBQRAIAVBgICAgARPDQIgBUECdBBcIQELIAEgBkECdGoiA0EANgIAIANBBGohBiACIARHBEADQCADQQRrIgMgAkEEayICKAIANgIAIAIgBEcNAAsLIAAgASAFQQJ0ajYC7AEgACAGNgLoASAAIAM2AuQBIARFDQAgBBBaCyAJQRBqJAAPCxBqAAsQZAALgAMBBX8jAEEQayIDJABBOBBcIgFCADcCACABQgA3AiAgAUIANwIQIAFCADcCCCABQoCAgICAgIDAPzcCGCABQgA3AiggAUIANwIwIAAgATYCjAEgAyABNgIMAkACQAJAAkAgACgCeCICIAAoAnxJBEAgAiABNgIAIAAgAkEEajYCeAwBC0HUiQtBADYCAEHSqgEgAEH0AGogA0EMahADQdSJCygCACEFQdSJC0EANgIAIAVBAUYNASADKAIMIgFFDQAgARCFAwsgACgC3AFBDGsiAigCACIBIAIoAgQiAkcNAQwCCxAAIQYgAygCDCIBBEAgARCFAwsgBhAHAAsDQCABKAIAIAAoAowBEMADIAFBBGoiASACRw0ACwsgACgCuAFBBGsoAgAgACgCjAEQwAMgACAAKAK4AUEEazYCuAEgACgC3AEiAkEMayIEKAIAIgEEQCACQQhrIAE2AgAgARBaCyAAIAQ2AtwBIAAgACgC6AFBBGs2AugBIANBEGokAAuXAgEGfyMAQRBrIgIkACAAELsMAkACQCAAKALAASAAKALEAUYEQCAALQCIAg0BCyAAKAKMASEGQTgQXCIBQgA3AgAgAUIANwIgIAFCADcCECABQgA3AgggAUKAgICAgICAwD83AhggAUIANwIoIAFCADcCMCAAIAE2AowBIAIgATYCDAJAIAAoAngiAyAAKAJ8SQRAIAMgATYCACAAIANBBGo2AngMAQtB1IkLQQA2AgBB0qoBIABB9ABqIAJBDGoQA0HUiQsoAgAhBUHUiQtBADYCACAFQQFGDQIgAigCDCIBRQ0AIAEQhQMLIAYgACgCjAEQwAMLIAJBEGokAA8LEAAhByACKAIMIgEEQCABEIUDCyAHEAcAC5YBAQJ/IAAoAowBIQIgAEEANgKMASAAKAJwIgNFBEAgACACNgJwDwsgAC0A8AFFBEBBOBBcIgFCADcCACABQgA3AiAgAUIANwIQIAFCADcCCCABQoCAgICAgIDAPzcCGCABQgA3AiggAUIANwIwIAAgATYCcCADIAEQwAMgAiAAKAJwEMADIABBAToA8AEPCyACIAMQwAMLlgMBB38jAEEQayIDJAAgACgCjAEhBUE4EFwiAkIANwIAIAJCADcCICACQgA3AhAgAkIANwIIIAJCgICAgICAgMA/NwIYIAJCADcCKCACQgA3AjAgACACNgKMASADIAI2AgQCQAJAAkAgACgCeCIEIAAoAnxJBEAgBCACNgIAIAAgBEEEajYCeAwBC0HUiQtBADYCAEHSqgEgAEH0AGogA0EEahADQdSJCygCACEHQdSJC0EANgIAIAdBAUYNASADKAIEIgJFDQAgAhCFAwsgBSAAKAKMARDAAyABKAIAIgEoAgBBA0cNASABKAIIBEAgACgCrAFBBGsoAgAhBCADQQhqIABBkAFqIgUgAUEIaiICKQIAIAIQ+gIgAygCCCIGKAIYIgEgBigCHCIGRwRAA0AgASgCACAEEMADIAFBBGoiASAGRw0ACwsgBSACKQIAEOcDCyAAIAAoAqwBQQRrNgKsASADQRBqJAAPCxAAIQggAygCBCIBBEAgARCFAwsgCBAHAAtB8O0FQcWYA0GUBkGN3gAQAQAL8gMBCX8jAEEQayIEJAAgACgCjAEhBUE4EFwiAUIANwIAIAFCADcCICABQgA3AhAgAUIANwIIIAFCgICAgICAgMA/NwIYIAFCADcCKCABQgA3AjAgACABNgKMASAEIAE2AgwCQAJAAkACQAJAAkAgACgCeCICIAAoAnxJBEAgAiABNgIAIAAgAkEEajYCeAwBC0HUiQtBADYCAEHSqgEgAEH0AGogBEEMahADQdSJCygCACEJQdSJC0EANgIAIAlBAUYNASAEKAIMIgFFDQAgARCFAwsgBSAAKAKMARDAAyAAKAKgASIBIAAoAqQBRg0BIAEgBTYCACAAIAFBBGo2AqABDAILEAAhCiAEKAIMIgEEQCABEIUDCyAKEAcACyABIAAoApwBIgdrIgJBAnUiCEEBaiIDQYCAgIAETw0BQf////8DIAJBAXUiBiADIAMgBkkbIAJB/P///wdPGyIDBH8gA0GAgICABE8NAyADQQJ0EFwFQQALIgYgCEECdGoiAiAFNgIAIAJBBGohBSABIAdHBEADQCACQQRrIgIgAUEEayIBKAIANgIAIAEgB0cNAAsgACgCnAEhAQsgACAGIANBAnRqNgKkASAAIAU2AqABIAAgAjYCnAEgAUUNACABEFoLIARBEGokAA8LEGQACxBqAAsnACAAKAIAQdoARwRAQcK0BkGntwJB7SVB08MCEAEACyAAIAE2AggLhAQBCH8jAEEQayIGJAACQAJAAkAgACgCoAEiAyAAKAKkAUcEQCADIAAoAowBNgIAIAAgA0EEaiIFNgKgAQwBCyADIAAoApwBIgdrIgVBAnUiBEEBaiICQYCAgIAETw0BQf////8DIAVBAXUiASACIAEgAksbIAVB/P///wdPGyICBH8gAkGAgICABE8NAyACQQJ0EFwFQQALIgEgBEECdGoiBCAAKAKMATYCACAEQQRqIQUgAyAHRwRAA0AgBEEEayIEIANBBGsiAygCADYCACADIAdHDQALIAAoApwBIQMLIAAgASACQQJ0ajYCpAEgACAFNgKgASAAIAQ2ApwBIANFDQAgAxBaIAAoAqABIQULIAVBCGsoAgAhBEE4EFwiAkIANwIAIAJCADcCICACQgA3AhAgAkIANwIIIAJCgICAgICAgMA/NwIYIAJCADcCKCACQgA3AjAgACACNgKMASAGIAI2AgwCQAJAIAAoAngiASAAKAJ8SQRAIAEgAjYCACAAIAFBBGo2AngMAQtB1IkLQQA2AgBB0qoBIABB9ABqIAZBDGoQA0HUiQsoAgAhCEHUiQtBADYCACAIQQFGDQEgBigCDCIBRQ0AIAEQhQMLIAQgACgCjAEQwAMgBkEQaiQADwsQACEJIAYoAgwiAARAIAAQhQMLIAkQBwALEGQACxBqAAvcAgEHfyMAQRBrIgMkACAAKAKMASEFQTgQXCICQgA3AgAgAkIANwIgIAJCADcCECACQgA3AgggAkKAgICAgICAwD83AhggAkIANwIoIAJCADcCMCAAIAI2AowBIAMgAjYCDAJAAkACQCAAKAJ4IgQgACgCfEkEQCAEIAI2AgAgACAEQQRqNgJ4DAELQdSJC0EANgIAQdKqASAAQfQAaiADQQxqEANB1IkLKAIAIQZB1IkLQQA2AgAgBkEBRg0BIAMoAgwiAkUNACACEIUDCyAFIAAoAowBEMADIAEoAgAiASgCAEECRw0BIAEoAhAhByAAKAKgAUEEaygCACAAKAKMARDAAyAAKAKgASEBIAcEQCAAIAFBBGsiATYCoAELIAAgAUEEazYCoAEgA0EQaiQADwsQACEIIAMoAgwiAQRAIAEQhQMLIAgQBwALQfDtBUHFmANBlAZBjd4AEAEAC7kEAgJ+CX8jAEEQayIHJAACQCABKAIAIgkoAgBBAUYEQCAJKAIIRQ0BIABBlAFqIggoAgAiAUUNASAJKQIIIgJCIIgiA6chBiACpyEKIAghBANAAkAgASkCECICpyAKIAYgAkIgiCICpyIFIAUgBksbEF4iBQ0AQQAhBSACIANRDQBBf0EBIAIgA1QbIQULIAQgASAFQQBIIgUbIQQgAUEEaiABIAUbKAIAIgENAAsgBCAIRg0BIABBkAFqIQUCQCAKIAQpAhAiAqcgAkIgiCICpyIBIAYgASAGSRsQXiIBRQRAIAIgA1gNAQwDCyABQQBIDQILIAQoAhwgBCgCGEYNASAAKAKMASEGQTgQXCIBQgA3AgAgAUIANwIgIAFCADcCECABQgA3AgggAUKAgICAgICAwD83AhggAUIANwIoIAFCADcCMCAAIAE2AowBIAcgATYCDAJAAkAgACgCeCIIIAAoAnxJBEAgCCABNgIAIAAgCEEEajYCeAwBC0HUiQtBADYCAEHSqgEgAEH0AGogB0EMahADQdSJCygCACELQdSJC0EANgIAIAtBAUYNASAHKAIMIgFFDQAgARCFAwsgBiAAKAKMARDAAyAEKAIYIgEgBCgCHCIERwRAA0AgASgCACAAKAKMARDAAyABQQRqIgEgBEcNAAsLIAUgCSkCCBDnAwwCCxAAIQwgBygCDCIBBEAgARCFAwsgDBAHAAtB8O0FQcWYA0GUBkGN3gAQAQALIAdBEGokAAvNAgEFfwJAAkACQCAAKAIEIAAoAgAiBGtBAnUiBUEBaiICQYCAgIAESQRAQf////8DIAAoAgggBGsiBEEBdSIGIAIgAiAGSRsgBEH8////B08bIgIEQCACQYCAgIAETw0CIAJBAnQQXCEDCyABKAIAIQQgAUEANgIAIAMgBUECdGoiASAENgIAIAMgAkECdGohAiABQQRqIQQgACgCBCIDIAAoAgAiBUYNAgNAIANBBGsiAygCACEGIANBADYCACABQQRrIgEgBjYCACADIAVHDQALIAAgAjYCCCAAKAIEIQIgACAENgIEIAAoAgAhAyAAIAE2AgAgAiADRg0DA0AgAkEEayICKAIAIQAgAkEANgIAIAAEQCAAEIUDCyACIANHDQALDAMLEGQACxBqAAsgACACNgIIIAAgBDYCBCAAIAE2AgALIAMEQCADEFoLC50JAQh/AkACQAJAAkACQCAAKAIURQRAAkACQCAAKAIAIgRFBEAMAQsgAEEEaiEGIAEoAgAhAgJAAkADQCAGIANBAnRqKAIAIgUgAk8NASADQQFqIgMgBEcNAAsgBCEDDAELIAIgBUYNBAsgBEEDTw0EIARBAkYNAQsCQCADIARGDQAgBCADQQFqIgVJDQAgAEEEaiEGIAQhAgNAIAYgAkECdGogBiACQQFrIgJBAnRqKAIANgIAIAIgBU8NAAsLIAAgA0ECdGogASgCADYCBCAAIARBAWo2AgAPCyAAQRBqIgQoAgAhBSAEIgMgACgCDEYNAwJAIAVFBEAgAyECA0AgAigCCCIDKAIAIAJGIQggAyECIAgNAAsMAQsgBSECA0AgAiIDKAIEIgINAAsLIAAoAgQiAiADKAIQSw0DIAQiBiEDIAVFDQQDQCAFIgMoAhAiBiACSwRAIAMhBiADKAIAIgUNAQwGCyACIAZNBEAMBwsgAygCBCIFDQALIANBBGohBgwECyABKAIAIQEgAEEQaiIEIQMCQCAAKAIQIgJFDQADQCACIgMoAhAiAiABSwRAIAMhBCADKAIAIgINAQwCCyABIAJNDQIgAygCBCICDQALIANBBGohBAtBFBBcIgIgAzYCCCACQgA3AgAgAiABNgIQIAQgAjYCACAAKAIMKAIAIgEEQCAAIAE2AgwgBCgCACECCyAAKAIQIAIQZyAAIAAoAhRBAWo2AhQLDwtB0ZAFQYuIA0HjAEGf4AAQAQALIANBBGogBCAFGyIGKAIADQEgAyAEIAUbIQMLQRQQXCECIAAoAgQhBSACIAM2AgggAkIANwIAIAIgBTYCECAGIAI2AgAgACgCDCgCACIDBEAgACADNgIMIAYoAgAhAgsgACgCECACEGcgACAAKAIUQQFqIgc2AhQLIAAoAhAhBQJAAkACQCAEIgMgACgCDEYNAAJAIAVFBEAgAyECA0AgAigCCCIDKAIAIAJGIQkgAyECIAkNAAsMAQsgBSECA0AgAiIDKAIEIgINAAsLIAAoAggiAiADKAIQSw0AIAQiBiEDIAVFDQEDQCAFIgMoAhAiBiACTQRAIAIgBk0NBCADKAIEIgUNASADQQRqIQYMAwsgAyEGIAMoAgAiBQ0ACwwBCyADQQRqIAQgBRsiBigCAA0BIAMgBCAFGyEDC0EUEFwhAiAAKAIIIQUgAiADNgIIIAJCADcCACACIAU2AhAgBiACNgIAIAAoAgwoAgAiAwRAIAAgAzYCDCAGKAIAIQILIAAoAhAgAhBnIAAgACgCFEEBaiIHNgIUCyABKAIAIQECQAJAIAQiAygCACICRQ0AA0AgAiIDKAIQIgIgAUsEQCADIQQgAygCACICDQEMAgsgASACTQ0CIAMoAgQiAg0ACyADQQRqIQQLQRQQXCICIAM2AgggAkIANwIAIAIgATYCECAEIAI2AgAgACgCDCgCACIBBEAgACABNgIMIAQoAgAhAgsgACgCECACEGcgACAAKAIUQQFqIgc2AhQLIAcEQCAAQQA2AgAPC0HCoAZBi4gDQawBQZ/gABABAAueIwERf0HCqgEhAwJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAIAEoAgAiBigCAEEBaw4/CwABCQkCAwoKCgoKCgoKCgoKBgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoHCggICgoKCgoECgoJCgsgAEEEaiIAQcOqASABEFsgBigCAEECRw0MIAYoAhAEQCAAQakWIAZBEGoQWyABKAIARQ0PIABBxKoBIAEQWyAGKAIAQQJHDQ0LIAYoAgxFDQ4gAEGpFiAGQQxqEFsgASgCAEUNDiAAQcWqASABEFsgBigCAEECRw0MIAYoAghFDQ4gAEGpFiAGQQhqEFsPC0HGqgEhAwwJCyAGQSBqDAILIAZBKGoMAQsgBkEcagshCEHHqgEhAyAILQAADQVByKoBIQMgACgCaCIFRQ0FIAUtAIQBQcAAcQ0FDAYLQceqASEDDAQLIABBBGoiA0HJqgEgARBbIAYoAgBBM0cNBSAGKAIoBEBBACEAA0AgASgCAEUNCSADQcqqASABEFsgBigCKCAATQ0IIAYoAiQgAEECdGoiBSgCAEUNCSADQakWIAUQWyABKAIARQ0JIANBy6oBIAEQWyAAQQFqIgAgBigCKEkNAAsLIAEoAgBFDQcgA0HMqgEgARBbIAYoAgBBM0cNBSAGKAIQRQ0HIANBqRYgBkEQahBbIAEoAgBFDQcgA0HNqgEgARBbDwtBzqoBIQMMAgtBz6oBIQMMAQtB0KoBIQMgBigCBEEBRw0BCyAAQQRqIAMgARBbCyAAIQMCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAIgIoAgAOXgABAgMEBQYHCAkKCwwNHh8gISIjJCU1Ng4PEBESExQVFhcYGRobHB03JicoKSorLC0uLzAxMjM0ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXABsC0GY/QNB5bMDQeoBEGIACyADQdWqASABEFggAigCAEEBRw1rIAIoAhQiAEEATA1qIANBBGohBwNAIABBAWsiBSACKAIUTw1tIAIoAhAgBUECdGoiBCgCAEUNbiAHQakWIAQQWyAAQQFLIQkgBSEAIAkNAAsMagsgA0HWqgEgARBYIAIoAgBBAkcNaiACKAIQBEAgA0EEakGpFiACQRBqEFsLDFwLIANB16oBIAEQWCACKAIAQQNHDWkMXwsgA0HYqgEgARBYIAIoAgBBBEcNaCACKAIUBEAgA0EEakGpFiACQRRqEFsLIAIoAhBFDWcgA0EEakGpFiACQRBqEFsMZwsgA0HZqgEgARBYIAIoAgBBBUcNZyADQakWIAJBJGoQWCACKAIgRQ1mIANBBGpBqRYgAkEgahBbDGYLIANB2qoBIAEQWCACKAIAQQZHDWYgAigCDCIAQQBMDWUgA0EEaiEHA0AgAEEBayIFIAIoAgxPDWggAigCCCAFQQJ0aiIEKAIARQ1pIAdBqRYgBBBbIABBAUshCiAFIQAgCg0ACwxlCyADQduqASABEFggAigCAEEHRw1lIANBqRYgAkEcahBYIAIoAhAiAEEATA1kIANBBGohBwNAIABBAWsiBSACKAIQTw1nIAIoAgwgBUECdGoiBCgCAEUNaCAHQakWIAQQWyAAQQFLIQsgBSEAIAsNAAsMZAsgA0HcqgEgARBYIAIoAgBBCEYNYwxkCyADQd2qASABEFggAigCAEEJRw1jDFwLIANB3qoBIAEQWCACKAIAQQpGDWEMYgsgA0HfqgEgARBYIAIoAgBBC0cNYQxXCyADQeCqASABEFggAigCAEEMRw1gDFsLIANB4aoBIAEQWCACKAIAQQ1HDV8MWQsgA0HiqgEgARBYIAIoAgBBGEcNXgxaCyADQeOqASABEFggAigCAEEZRw1dIANBqRYgAkEgahBYDFkLIANB5KoBIAEQWCACKAIAQRpHDVwMUAsgA0HlqgEgARBYIAIoAgBBG0cNWwxQCyADQeaqASABEFggAigCAEEcRg1ZDFoLIANB56oBIAEQWCACKAIAQR1HDVkMUgsgA0HoqgEgARBYIAIoAgBBHkcNWCADQakWIAJBFGoQWAxRCyADQemqASABEFggAigCAEEfRw1XDEkLIANB6qoBIAEQWCACKAIAQSBHDVYMTQsgA0HrqgEgARBYIAIoAgBBIUcNVQxNCyADQeyqASABEFggAigCAEEiRw1UIANBqRYgAkEgahBYDFMLIANB7aoBIAEQWCACKAIAQSNHDVMMTQsgA0HuqgEgARBYIAIoAgBBJEcNUgxGCyADQe+qASABEFggAigCAEElRg1QDFELIANB8KoBIAEQWCACKAIAQSZHDVAMQQsgA0HxqgEgARBYIAIoAgBBJ0cNTwxACyADQfKqASABEFggAigCAEEORg1NDE4LIANB86oBIAEQWCACKAIAQQ9HDU0MRgsgA0H0qgEgARBYIAIoAgBBEEcNTAxECyADQfWqASABEFggAigCAEERRw1LDDwLIANB9qoBIAEQWCACKAIAQRJHDUoMRwsgA0H3qgEgARBYIAIoAgBBE0cNSQxHCyADQfiqASABEFggAigCAEEURg1HDEgLIANB+aoBIAEQWCACKAIAQRVHDUcMRAsgA0H6qgEgARBYIAIoAgBBKUYNRQxGCyADQfuqASABEFggAigCAEEqRw1FDEILIANB/KoBIAEQWCACKAIAQStGDUMMRAsgA0H9qgEgARBYIAIoAgBBLEcNQww1CyADQf6qASABEFggAigCAEEtRw1CDDgLIANB/6oBIAEQWCACKAIAQS5HDUEMNgsgA0GAqwEgARBYIAIoAgBBL0YNPwxACyADQYGrASABEFggAigCAEEwRw0/DDQLIANBgqsBIAEQWCACKAIAQTFHDT4MMgsgA0GDqwEgARBYIAIoAgBBMkcNPQwuCyADQYSrASABEFggAigCAEEzRw08IAIoAigiAEEASgRAIANBBGohBwNAIABBAWsiBSACKAIoTw0/IAIoAiQgBUECdGoiBCgCAEUNQCAHQakWIAQQWyAAQQFLIQwgBSEAIAwNAAsLDDILIANBhasBIAEQWCACKAIAQTRGDTgMOwsgA0GGqwEgARBYIAIoAgBBNUcNOiACKAIUIgBBAEwNOSADQQRqIQcDQCAAQQFrIgUgAigCFE8NPCACKAIQIAVBAnRqIgQoAgBFDT0gB0GpFiAEEFsgAEEBSyENIAUhACANDQALDDkLIANBh6sBIAEQWCACKAIAQTZGDTgMOQsgA0GIqwEgARBYIAIoAgBBN0cNOAw1CyADQYmrASABEFggAigCAEEWRg02DDcLIANBiqsBIAEQWCACKAIAQRdGDTUMNgsgA0GLqwEgARBYIAIoAgBBKEYNNAw1CyADQYyrASABEFggAigCAEE4Rw00IAIoAgwiAEEATA0zIANBBGohBwNAIABBAWsiBSACKAIMTw02IAIoAgggBUECdGoiBCgCAEUNNyAHQakWIAQQWyAAQQFLIQ4gBSEAIA4NAAsMMwsgA0GNqwEgARBYIAIoAgBBOUcNMwwwCyADQY6rASABEFggAigCAEE6Rw0yDC8LIANBj6sBIAEQWCACKAIAQTtHDTEMLgsgA0GQqwEgARBYIAIoAgBBPEcNMCADQakWIAJBGGoQWCACKAIMIgBBAEwNLyADQQRqIQcDQCAAQQFrIgUgAigCDE8NMiACKAIIIAVBAnRqIgQoAgBFDTMgB0GpFiAEEFsgAEEBSyEPIAUhACAPDQALDC8LIANBkasBIAEQWCACKAIAQT1HDS8MLAsgA0GSqwEgARBYIAIoAgBBPkcNLgwrCyADQZOrASABEFggAigCAEE/Rw0tIANBqRYgAkEUahBYDCwLIANBlKsBIAEQWCACKAIAQcAARw0sIAIoAgwiAEEATA0rIANBBGohBwNAIABBAWsiBSACKAIMTw0uIAIoAgggBUECdGoiBCgCAEUNLyAHQakWIAQQWyAAQQFLIRAgBSEAIBANAAsMKwsgA0GVqwEgARBYIAIoAgBBwQBHDSsMJAsgA0GWqwEgARBYIAIoAgBBwgBHDSoMIgsgA0GXqwEgARBYIAIoAgBBwwBHDSkgA0GpFiACQQxqEFgMJwsgA0GYqwEgARBYIAIoAgBBxABHDSgMHQsgA0GZqwEgARBYIAIoAgBBxQBHDScMHAsgA0GaqwEgARBYIAIoAgBBxgBHDSYgAigCDCIAQQBMDSUgA0EEaiEHA0AgAEEBayIFIAIoAgxPDSggAigCCCAFQQJ0aiIEKAIARQ0pIAdBqRYgBBBbIABBAUshESAFIQAgEQ0ACwwlCyADQZurASABEFggAigCAEHHAEcNJQwXCyADQZyrASABEFggAigCAEHIAEcNJAwVCyADQZ2rASABEFggAigCAEHJAEcNIwwgCyADQZ6rASABEFggAigCAEHKAEcNIiADQakWIAJBGGoQWAwSCyADQZ+rASABEFggAigCAEHLAEcNIQwRCyADQaCrASABEFggAigCAEHMAEcNIAwTCyADQaGrASABEFggAigCAEHNAEcNHwwSCyADQaKrASABEFggAigCAEHOAEcNHgwXCyADQaOrASABEFggAigCAEHPAEcNHSACKAIYBEAgA0EEakGpFiACQRhqEFsLIAIoAhQEQCADQQRqQakWIAJBFGoQWwsgAigCEARAIANBBGpBqRYgAkEQahBbCwwWCyADQaSrASABEFggAigCAEHQAEYNGwwcCyADQaWrASABEFggAigCAEHRAEcNGwwUCyADQaarASABEFggAigCAEHSAEcNGiACKAIUBEAgA0EEakGpFiACQRRqEFsLDBILIANBp6sBIAEQWCACKAIAQdMARw0ZDAsLIANBqKsBIAEQWCACKAIAQdQARw0YDBALIANBqasBIAEQWCACKAIAQdUARw0XDBALIANBqqsBIAEQWCACKAIAQdYARw0WDAcLIANBq6sBIAEQWCACKAIAQdcARw0VDAcLIANBrKsBIAEQWCACKAIAQdgARw0UDBELIANBrasBIAEQWCACKAIAQdkARw0TDAsLIANBrqsBIAEQWCACKAIAQdoARw0SDAkLIANBr6sBIAEQWCACKAIAQdsARw0RDAMLIANBsKsBIAEQWCACKAIAQdwARw0QIANBqRYgAkE8ahBYIAIoAjAiAEEATA0PIANBBGohBwNAIABBAWsiBSACKAIwTw0SIAIoAiwgBUECdGoiBCgCAEUNEyAHQakWIAQQWyAAQQFLIRIgBSEAIBINAAsMDwsgA0GpFiACQRRqEFgLIANBqRYgAkEQahBYCyADQakWIAJBDGoQWAwKCyADQakWIAJBHGoQWAsgA0GpFiACQRhqEFgLIANBqRYgAkEUahBYCyADQakWIAJBEGoQWAwICyADQakWIAJBFGoQWAsgA0GpFiACQRBqEFgLIANBqRYgAkEMahBYDAULIANBqRYgAkEoahBYCyADQakWIAJBJGoQWAwDCyADQakWIAJBHGoQWCADQakWIAJBGGoQWAwCCyADQakWIAJBCGoQWAwBCyACKAIIRQ0AIANBBGpBqRYgAkEIahBbCyAGKAIAQQNGBEAgASgCAEUNAyADQQRqQdGqASABEFsLDwtB8O0FQcWYA0GUBkGN3gAQAQALQcWiAUGJogNBvAFBpogFEAEAC0GBgwJB05kDQbkCQa73AhABAAtCAAJAIAAoAgBB2gBGBEAgAUUNASAAIAE2AhQPC0HCtAZBp7cCQZEmQfjJBBABAAtBofYBQae3AkGSJkH4yQQQAQALLAAgASgCACIBKAIAQdwARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQ9QELLAAgASgCACIBKAIAQdsARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQ9QELLAAgASgCACIBKAIAQdoARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQ9QELLAAgASgCACIBKAIAQdkARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQ9QELLAAgASgCACIBKAIAQdgARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQ9QELLAAgASgCACIBKAIAQdcARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQ9QELLAAgASgCACIBKAIAQdYARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQ9QELLAAgASgCACIBKAIAQdUARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQ9QELJQAgACgCAEHaAEcEQEHCtAZBp7cCQf8lQdDhABABAAsgACgCEAssACABKAIAIgEoAgBB1ABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARD1AQssACABKAIAIgEoAgBB0wBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARD1AQssACABKAIAIgEoAgBB0gBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARD1AQssACABKAIAIgEoAgBB0QBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARD1AQssACABKAIAIgEoAgBB0ABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARD1AQssACABKAIAIgEoAgBBzwBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARD1AQssACABKAIAIgEoAgBBzgBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARD1AQssACABKAIAIgEoAgBBzQBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARD1AQssACABKAIAIgEoAgBBzABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARD1AQssACABKAIAIgEoAgBBywBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARD1AQslACAAKAIAQdoARwRAQcK0BkGntwJB8iVBxLsDEAEACyAAKAIMCywAIAEoAgAiASgCAEHKAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPUBCywAIAEoAgAiASgCAEHJAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPUBCywAIAEoAgAiASgCAEHIAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPUBCywAIAEoAgAiASgCAEHHAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPUBCywAIAEoAgAiASgCAEHGAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPUBCywAIAEoAgAiASgCAEHFAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPUBCywAIAEoAgAiASgCAEHEAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPUBCywAIAEoAgAiASgCAEHDAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPUBCywAIAEoAgAiASgCAEHCAEcEQEHw7QVBxZgDQZQGQY3eABAB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mANBlAZBjd4AEAEACyAAIAEQ9QELsR4BDn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAIgIoAgAOXgABAgMEBQYHCAkKCwwNHh8gISIjJCU1Ng4PEBESExQVFhcYGRobHB03JicoKSorLC0uLzAxMjM0ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXABdC0GY/QNB5bMDQeoBEGIACyAAQeapASABEFggAigCAEEBRw1cIAIoAhQiAUEATA1bIABBBGohBANAIAFBAWsiACACKAIUTw1eIAIoAhAgAEECdGoiAygCAEUNXyAEQfkTIAMQWyABQQFLIQYgACEBIAYNAAsMWwsgAEHnqQEgARBYIAIoAgBBAkcNWyACKAIQBEAgAEEEakH5EyACQRBqEFsLDGALIABB6KkBIAEQWCACKAIAQQNHDVoMYwsgAEHpqQEgARBYIAIoAgBBBEcNWSACKAIUBEAgAEEEakH5EyACQRRqEFsLIAIoAhBFDVggAEEEakH5EyACQRBqEFsPCyAAQeqpASABEFggAigCAEEFRw1YIABB+RMgAkEkahBYIAIoAiBFDVcgAEEEakH5EyACQSBqEFsPCyAAQeupASABEFggAigCAEEGRw1XIAIoAgwiAUEATA1WIABBBGohBANAIAFBAWsiACACKAIMTw1ZIAIoAgggAEECdGoiAygCAEUNWiAEQfkTIAMQWyABQQFLIQcgACEBIAcNAAsMVgsgAEHsqQEgARBYIAIoAgBBB0cNViAAQfkTIAJBHGoQWCACKAIQIgFBAEwNVSAAQQRqIQQDQCABQQFrIgAgAigCEE8NWCACKAIMIABBAnRqIgMoAgBFDVkgBEH5EyADEFsgAUEBSyEIIAAhASAIDQALDFULIABB7akBIAEQWCAC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IAEQWCACKAIAQcIARw0bDCYLIABBqKoBIAEQWCACKAIAQcMARw0aIABB+RMgAkEMahBYIAIoAghFDRkMKwsgAEGpqgEgARBYIAIoAgBBxABHDRkMIQsgAEGqqgEgARBYIAIoAgBBxQBHDRgMIAsgAEGrqgEgARBYIAIoAgBBxgBHDRcgAigCDCIBQQBMDRYgAEEEaiEEA0AgAUEBayIAIAIoAgxPDRkgAigCCCAAQQJ0aiIDKAIARQ0aIARB+RMgAxBbIAFBAUshDiAAIQEgDg0ACwwWCyAAQayqASABEFggAigCAEHHAEcNFgwbCyAAQa2qASABEFggAigCAEHIAEcNFQwZCyAAQa6qASABEFggAigCAEHJAEcNFAwkCyAAQa+qASABEFggAigCAEHKAEcNEyAAQfkTIAJBGGoQWAwWCyAAQbCqASABEFggAigCAEHLAEcNEgwVCyAAQbGqASABEFggAigCAEHMAEcNEQwXCyAAQbKqASABEFggAigCAEHNAEcNEAwWCyAAQbOqASABEFggAigCAEHOAEcNDwwbCyAAQbSqASABEFggAigCAEHPAEcNDiACKAIYBEAgAEEEakH5EyACQRhqEFsLIAIoAhQEQCAAQQRqQfkTIAJBFGoQWwsgAigCEARAIABBBGpB+RMgAkEQahBbCwwaCyAAQbWqASABEFggAigCAEHQAEYNDAwNCyAAQbaqASABEFggAigCAEHRAEcNDAwYCyAAQbeqASABEFggAigCAEHSAEcNCyACKAIUBEAgAEEEakH5EyACQRRqEFsLDBYLIABBuKoBIAEQWCACKAIAQdMARw0KDA8LIABBuaoBIAEQWCACKAIAQdQARw0JDBQLIABBuqoBIAEQWCACKAIAQdUARw0IDBQLIABBu6oBIAEQWCACKAIAQdYARw0HDAsLIABBvKoBIAEQWCACKAIAQdcARw0GDAsLIABBvaoBIAEQWCACKAIAQdgARw0FDBULIABBvqoBIAEQWCACKAIAQdkARw0EDA8LIABBv6oBIAEQWCACKAIAQdoARw0DDA0LIABBwKoBIAEQWCACKAIAQdsARw0CDAcLIABBwaoBIAEQWCACKAIAQdwARw0BIABB+RMgAkE8ahBYIAIoAjAiAUEATA0AIABBBGohBANAIAFBAWsiACACKAIwTw0DIAIoAiwgAEEC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AhgLIAJCADcCbCACQgA3AgQgAiAENgKEASACIAU2AoABIAJBlOcJNgIAQQAhASACQQA2AnwgAkIANwJ0IAJCADcCDCACQgA3AhQCQCAABEAgA0EIaiIBIABGBEAgAiACQYgBaiIANgKYASADKAIIKAIMIQtB1IkLQQA2AgAgCyABIAAQA0HUiQsoAgAhDEHUiQtBADYCACAMQQFHDQIMBAsgACgCACgCCCENQdSJC0EANgIAIA0gABAGIQFB1IkLKAIAIQ5B1IkLQQA2AgAgDkEBRg0DCyACIAE2ApgBCwJAAkAgAygCGCIAIANBCGoiBEYEQEEEIQEgBCEADAELQQUhASAARQ0BCyAAIAAoAgAgAUECdGooAgARAQALIANBIGokACACDwsQACEADAELEAAhACACEOQBGgJAIAMoAhgiASADQQhqIgRGBEBBBCEDIAQhAQwBC0EFIQMgAUUNAQsgASABKAIAIANBAnRqKAIAEQEACyACEFogABAHAAsnACAAKAIAQc8ARwRAQYqlBkGntwJBtCNBw+AAEAEACyAAIAE2AhQLOQAgACgCBEUEQEHo+gVBuosDQZwEQe7TAhABAAsgACACNgJ4IAAgATYCfCAAIAIQvgwgAEIANwJ4C74iAQ5/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAIgIoAgAOXgABAgMEBQYHCAkKCwwNHh8gISIjJCU1Ng4PEBESExQVFhcYGRobHB03JicoKSorLC0uLzAxMjM0ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXABdC0GY/QNB5bMDQeoBEGIACyAAQRRqQc+nASABEFggAigCAEEBRw1cIAIoAhQiAUEATA1bIABBGGohAwNAIAFBAWsiACACKAIUTw1eIAIoAhAg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JGoQBUHUiQsoAgAhCEHUiQtBADYCACAIQQFGDQAgAygCKCAHNgIMIAUgAUEEaiIBRw0BDAILCxAAIQkgAxCiASADQRhqEJINIAkQBwALIAJBLGoiAiAERw0ACwsCQAJAIAAoAgAiAi0AFARAIAIoAgwEQCACKAIIIgEEQANAIAEoAgAhCiABEFogCiIBDQALC0EAIQEgAkEANgIIAkAgAigCBCIARQ0AIABBBE8EQCAAQXxxIQUDQCABQQJ0IgQgAigCAGpBADYCACACKAIAIARqQQA2AgQgAigCACAEakEANgIIIAIoAgAgBGpBADYCDCABQQRqIgEgBUcNAAsLIABBA3EiBEUNAEEAIQADQCACKAIAIAFBAnRqQQA2AgAgAUEBaiEBIABBAWoiACAERw0ACwsgAkEANgIMCyADKAIAIQEgA0EANgIAIAIoAgAhACACIAE2AgAgAARAIAAQWgsgAiADKAIENgIEIANBADYCBCACIAMoAgwiADYCDCACIAMqAhA4AhAgAiADKAIIIgE2AgggAEUNASACQQhqIQQgASgCBCEBAkAgAigCBCIAIABBAWsiBXFFBEAgASAFcSEBDAELIAAgAUsNACABIABwIQELIAIoAgAgAUECdGogBDYCACADQgA3AwgMAgsgAygCACEEIANBADYCACACIAQ2AgAgAiADKAIENgIEIANBADYCBCACIAMoAggiATYCCCACIAMoAgwiADYCDCACIAMoAhA2AhAgAARAIAJBCGohBSABKAIEIQECQCACKAIEIgAgAEEBayIGcUUEQCABIAZxIQEMAQsgACABSw0AIAEgAHAhAQsgBCABQQJ0aiAFNgIAIANCADcDCEEAIQELIAJBAToAFAsgAUUNAANAIAEoAgAhCyABEFogCyIBDQALCyADKAIAIQAgA0EANgIAIAAEQCAAEFoLIAMoAhgiAkUNACACIAMoAhwiAUcEQANAIAFBLGsiACgCICIEBEAgAUEIayAENgIAIAQQWgsgAUEYaygCACIEBEAgAUEUayAENgIAIAQQWgsgAUEkaygCACIEBEAgAUEgayAENgIAIAQQWgsgACIBIAJHDQALCyACEFoLIANBMGokAAu1LwI5fwF+IwBBsAFrIgQkACAEIAEoAgA2AnwgACgCBCEKIARBADoAeCAEQQA6AGQgBCAEQfwAajYC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QQI6ABAgACADNwIACzwBAX4gACgCACIALQAQQQNGBEAgASACKQIANwIADwsgAEH/AToAECACKQIAIQMgAEEDOgAQIAAgAzcCAAtUACAAKAIAIgAtABBBBEYEQCABIAIoAgA2AgAgASACKQIENwIEIAEgAigCDDYCDA8LIABB/wE6ABAgACACKQIANwIAIAAgAikCCDcCCCAAQQQ6ABALPAEBfiAAKAIAIgAtABBBBUYEQCABIAIpAgA3AgAPCyAAQf8BOgAQIAIpAgAhAyAAQQU6ABAgACADNwIACzwBAX4gACgCACIALQAQQQZGBEAgASACKQIANwIADwsgAEH/AToAECACKQIAIQMgAEEGOgAQIAAgAzcCAAs8AQF+IAAoAgAiAC0AEEEHRgRAIAEgAikCADcCAA8LIABB/wE6ABAgAikCACEDIABBBzoAECAAIAM3AgALJwAgACgCAEHPAEcEQEGKpQZBp7cCQZEjQYXBAhABAAsgACABNgIICzwBAX4gACgCACIALQAQQQhGBEAgASACKQIANwIADwsgAEH/AToAECACKQIAIQMgAEEIOgAQIAAgAzcCAAtKACAAKAIAIgAtABBBCUYEQCABIAIpAgA3AgAgASACKAIINgIIDwsgAEH/AToAECAAIAIpAgA3AgAgACACKAIINgIIIABBCToAEAsvACACKAIAIQIgACgCACIALQAQQQpGBEAgASACNgIADwsgAEEKOgAQIAAgAjYCAAtKACAAKAIAIgAtABBBC0YEQCABIAIpAgA3AgAgASACKAIINgIIDwsgAEH/AToAECAAIAIpAgA3AgAgACACKAIINgIIIABBCzoAEAuIFwIlfwR+IwBBwAJrIgMkACAAKAIEIQAgASgCACEJIANCADcCZCADQgA3AmwgA0EANgJ0IANCADcCDCADQgA3AnwgAyACNgJ4AkACQAJAAkACQAJAIAkoAgwEQAJAIAkoAhwiAEEQTwRAIAAoAhBFDQELQdSJC0EANgIAQQ1B4ZUGQbizAkHbCUGP4gMQBUHUiQsoAgAhF0HUiQtBADYCACAXQQFGDQQMBwsgACgCGCIEQQBHIQggBEEHSSEMQQAhAAJAAkADQAJAIAMCfgJAAkACQAJAAkAgDEUEQCAEKAIEBH8gCAUgBCgCDCAEKAIIa0ECdQsgAE0NECAMDQIgBCgC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jAIgA0G9pwE2ArwCIANBvqcBNgK4AiADQb+nATYCtAIgA0HApwE2ArACIANBwacBNgKsAiADQcKnATYCqAIgA0HDpwE2AqQCIANBxKcBNgKgAiADQcWnATYCnAIgA0HGpwE2ApgCIANBx6cBNgKUAiADQcinATYCkAJB1IkLQQA2AgAgA0GQAmogAEECdGooAgAgA0GMAmogASADQYQBahAIQdSJCygCACEkQdSJC0EANgIAICRBAUcNAQsMAwsgBSgCCCEPIAMoAngiAigCBCIAIAIoAggiB0kEQCADKQOgASEpIAMpA5gBISsgACADKAKoATYCECAAICk3AgggACArNwIAIABBADoAJCAAICg+AhggACAPNgIUIAIgAEEoajYCBCAoQgF8ISgMAQsCQAJAAkACQCAAIAIoAgAiBmtBKG0iEkEBaiIBQefMmTNPBEBB1IkLQQA2AgBBocMAEAkMAQtB5syZMyAHIAZrQShtIgdBAXQiCiABIAEgCkkbIAdBs+bMGU8bIgdFBEBBACEKDAMLIAdB58yZM0kNAUHUiQtBADYCAEEDEAkLQdSJCygCACElQdSJC0EANgIAICVBAUcNDwwFC0HUiQtBADYCAEEEIAdBKGwQBiEKQdSJCygCACEmQdSJC0EANgIAICZBAUYNAQsgCiASQShsaiIBIAMpA5gBNwIAIAMpA6ABISkgAygCqAEhEiABQQA6ACQgASAoPgIYIAEgDzYCFCABIBI2AhAgASApNwIIIAFBKGohDyAAIAZHBEADQCABQShrIgEgAEEoayIAKQIANwIAIAEgACkCIDcCICABIAApAhg3AhggASAAKQIQNwIQIAEgACkCCDcCCCAAIAZHDQALIAIoAgAhAAsgAiAKIAdBKGxqNgIIIAIgDzYCBCACIAE2AgAgAARAIAAQWgsgKEIBfCEoDAELCwsLEAAhACAQEN8CGgwHCyAFKAIAIgUNAAsLIBAQ3wIaIANCADcCcAwFCxAAIQAMAwsgA0GwAWoQ6QEMAgtB1IkLQQA2AgBBDSAFQZuJAyAGQdWJBBAFQdSJCygCACEnQdSJC0EANgIAICdBAUcNAxAAIQAMAQsQACEACyADKAJkIgEEQCADIAE2AmggARBaCyAAEAcACyADKAJkIgAEQCADIAA2AmggABBaCyADQcACaiQADwsACxUAIAEg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A0GUBkGN3gAQAQALgQIBA38jAEFAaiICJAAgASgCACIBKAIAQQxGBEBB1IkLQQA2AgAgAkEEOgAgQdymASAAIAEgAkEIaiIAEAhB1IkLKAIAIQFB1IkLQQA2AgACQCABQQFHBEAgAi0AICIBQf8BRg0BIAJBi8MANgI8IAJBjMMANgI4IAJBjcMANgI0IAJBjsMANgIwIAJBj8MANgIsQdSJC0EANgIAIAJBLGogAUECdGooAgAgAkEraiAAEANB1IkLKAIAIQNB1IkLQQA2AgAgA0EBRw0BQQAQCxoQcAALEAAhBCACQQhqEOkBIAQQBwALIAJBQGskAA8LQfDtBUHFmANBlAZBjd4AEAEAC50DAgd/AX4CQAJAIAEoAgAiASgCAEELRgRAAkAgASgCECgCBBD7AkUNACABKQIIIQkgASgCECEEIAAoAmwiAigCBCIBIAIoAggiA0kEQCABQQU6ACQgASAJNwIUIAFBADoAECABQQA2AgQgASAENgIAIAIgAUEoajYCBA8LIAEgAigCACIFa0EobSIHQQFqIgBB58yZM08NAkHmzJkzIAMgBWtBKG0iA0EBdCIIIAAgACAISRsgA0Gz5swZTxsiAwRAIANB58yZM08NBCADQShsEFwhBgsgB0EobCAGaiIAQQU6ACQgACAJNwIUIABBADoAECAAQQA2AgQgACAENgIAIABBKGohBCABIAVHBEADQCAAQShrIgAgAUEoayIBKQIANwIAIAAgASkCIDcCICAAIAEpAhg3AhggACABKQIQNwIQIAAgASkCCDcCCCABIAVHDQALIAIoAgAhAQsgAiAGIANBKGxqNgIIIAIgBDYCBCACIAA2AgAgAUUNACABEFoLDwtB8O0FQcWYA0GUBkGN3gAQAQALEGQACxBqAAu9AwIHfwF+AkACQAJAIAEoAgAiAigCAEEKRgRAAkAgAigCBBD7AkUNACACKAIEIgFBB08EQCABKAIERQ0DCyACKQIIIQkgACgCbCIDKAIEIgEgAygCCCIESQRAIAFBADoAJCABQQA2AhggASACNgIUIAFBBToAECABIAk3AgAgAyABQShqNgIEDwsgASADKAIAIgVrQShtIgdBAWoiAEHnzJkzTw0DQebMmTMgBCAFa0EobSIEQQF0IgggACAAIAhJGyAEQbPmzBlPGyIEBEAgBEHnzJkz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QY3DADYCsAEgA0GOwwA2AqwBIANBj8MANgKoAUHUiQtBADYCACADQagBaiAEQQJ0aigCACADQfABaiAHEANB1IkLKAIAIRxB1IkLQQA2AgAgHEEBRg0VCyAHQf8BOgAYIANBiAFqEFkaIAYQWRogA0HAAWoQWRoMAQsgA0GIAWoQWRoMCwsgCS0AGCEEC0EBIQpBASEFAkACQAJAAkACQAJAAkACQCAEQf8BcQ4FBAABAgMFCyAJKAIQIQUMAwsgCSgCCCEFDAILIAkoAgAhBQwBC0EAIQULAkACQAJAIAItABgiBg4FBQABAgQDCyACKAIQIQoMBAsgAigCCCEKDAMLIAIoAgAhCgwCC0HUiQtBADYCAEEUQYrOA0GbiQNB2wEQCEHUiQsoAgAhHUHUiQtBADYCACAdQQFHDREMAwtBACEKCwJAAkACQAJAAkAgBEH/AXEiBCAGRgRAIAMgA0H7AWo2AvwBIANB9MQANgKYASADQfXEADYClAEgA0H2xAA2ApABIANB98QANgKMASADQfjEADYCiAFB1IkLQQA2AgAgA0GIAWogBEECdGooAgAgA0H8AWogCSACEAQhH0HUiQsoAgAhHkHUiQtBADYCACAeQQFGDQcgHw0BIAItABghBgsgBkH/AXENAiADQQA6AMABIANB/wE6ANgBIAktABgiAkH/AUYNDCADQZrDADYCmAEgA0GbwwA2ApQBIANBnMMANgKQASADQZ3DADYCjAEgA0GewwA2AogBQdSJC0EANgIAIANBiAFqIAJBAnRqKAIAIANB/AFqIANBwAFqIAkQCEHUiQsoAgAhIEHUiQtBADYCACAgQQFHDQEMAwsgA0EAOgDAASADQf8BOgDYASAJLQAYIgJB/wFGDQsgA0GawwA2ApgBIANBm8MANgKUASADQZzDADYCkAEgA0GdwwA2AowBIANBnsMANgKIAUHUiQtBADYCACADQYgBaiACQQJ0aigCACADQfwBaiADQcABaiAJEAhB1IkLKAIAISFB1IkLQQA2AgAgIUEBRg0CCyADIAktABgiBDoA2AEMCQsCQCAJLQAYDgUAAgICCAILQf8BIQQgA0H/AToA2AEgA0EAOgDAASAGQf8BcSIFQf8BRg0IIANBmsMANgKYASADQZvDADYClAEgA0GcwwA2ApABIANBncMANgKMAUHUiQtB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DQALDCQLIABBpaYBIAEQWCACKAIAQTlHDSQMNAsgAEGmpgEgARBYIAIoAgBBOkcNIwwzCyAAQaemASABEFggAigCAEE7Rw0iDDILIABBqKYBIAEQWCACKAIAQTxHDSEgAEGYwwAgAkEYahBYIAIoAgwiAUEATA0gIABBBGohBANAIAFBAWsiACACKAIMTw0jIAIoAgggAEECdGoiAygCAEUNJCAEQZjDACADEFsgAUEBSyEMIAAhASAMDQALDCALIABBqaYBIAEQWCACKAIAQT1HDSAMMAsgAEGqpgEgARBYIAIoAgBBPkcNHwwvCyAAQaumASABEFggAigCAEE/Rw0eIABBmMMAIAJBFGoQWA8LIABBrKYBIAEQWCACKAIAQcAARw0dIAIoAgwiAUEATA0cIABBBGohBANAIAFBAWsiACACKAIMTw0fIAIoAgggAEECdGoiAygCAEUNICAEQZjDACADEFsgAUEBSyENIAAhASANDQALDBwLIABBraYBIAEQWCACKAIAQcEARw0cDCgLIABBrqYBIAEQWCACKAIAQcIARw0bDCYLIABBr6YBIAEQWCACKAIAQcMARw0aIABBmMMAIAJBDGoQWCACKAIIRQ0ZDCsLIABBsKYBIAEQWCACKAIAQcQARw0ZDCELIABBsaYBIAEQWCACKAIAQcUARw0YDCALIABBsqYBIAEQWCACKAIAQcYARw0XIAIoAgwiAUEATA0WIABBBGohBANAIAFBAWsiACACKAIMTw0ZIAIoAgggAEECdGoiAygCAEUNGiAEQZjDACADEFsgAUEBSyEOIAAhASAODQALDBYLIABBs6YBIAEQWCACKAIAQccARw0WDBsLIABBtKYBIAEQWCACKAIAQcgARw0VDBkLIABBtaYBIAEQWCACKAIAQckARw0UDCQLIABBtqYBIAEQWCACKAIAQcoARw0TIABBmMMAIAJBGGoQWAwWCyAAQbemASABEFggAigCAEHLAEcNEgwVCyAAQbimASABEFggAigCAEHMAEcNEQwXCyAAQbmmASABEFggAigCAEHNAEcNEAwWCyAAQbqmASABEFggAigCAEHOAEcNDwwbCyAAQbumASABEFggAigCAEHPAEcNDiACKAIYBEAgAEEEakGYwwAgAkEYahBbCyACKAIUBEAgAEEEakGYwwAgAkEUahBbCyAC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EAtBACEFIAJBADYClAEgAkIANwKMASACQgA3AiQgAkIANwIsIAJCADcChAEgAkIANwIcIAIgAzYCmAEgAkGU5wk2AhggAiAAQQRqNgKcASACQaABaiEBAkAgBARAIAIgBEYEQCACIAE2ArABIAIoAgAoAgwhD0HUiQtBADYCACAPIAIgARADQdSJCygCACEQQdSJC0EANgIAIBBBAUcNAgwFCyAEKAIAKAIIIRFB1IkLQQA2AgAgESAEEAYhBUHUiQsoAgAhEkHUiQtBADYCACASQQFGDQQLIAIgBTYCsAELAkAgAigCHCIDRQ0AIAMgAkG8AWpGDQBB1IkLQQA2AgBBDUHixAZBuosDQeMDQf78ARAFQdSJCygCACETQdSJC0EANgIAIBNBAUYNAgALIAAoAgAhACACIAJBvAFqNgIcIAIoAhgoAgghFEHUiQtBADYCACAUIAJBGGogABADQdSJCygCACEVQdSJC0EANgIAIBVBAUYNASACQZTnCTYCGAJAAkAgASACKAKwASIDRgRAQQQhBCABIQMMAQtBBSEEIANFDQELIAMgAygCACAEQQJ0aigCABEBAAsgAigChAEiAARAIAIgADYCiAEgABBaCyACQZDtCTYCGCACLAArQQBIBEAgAigCIBBaCwJAAkAgAiACKAIQIgNGBEBBBCEEIAIhAwwBC0EFIQQgA0UNAQsgAyADKAIAIARBAnRqKAIAEQEACyACQfzsCTYCvAEgAkHUAWoQYSACKALIASIABEAgAigCzAEiAyAAIgRHBEADQCADQQRrIgMoAgAhASADQQA2AgAgAQRAIAEgASgCACgCBBEBAAsgACADRw0ACyACKALIASEECyACIAA2AswBIAQQWgsgAkGwAmokAA8LEAAhBAwDCxAAIQQgAkEYahDDDBoMAQsQACEEIAJBGGoQ5AEaCwJAIAIgAigCECIDRgRAQQQhACACIQMMAQtBBSEAIANFDQELIAMgAygCACAAQQJ0aigCABEBAAsgAkG8AWoQfBogBBAHAAtCAAJAIAAoAgBB2ABGBEAgAUUNASAAIAE2AggPC0GmpQZBp7cCQb4lQfm0AxABAAtBuvUBQae3AkG/JUH5tAMQAQAL8w4CDn8CfiMAQTBrIgIkAAJAAkACQAJAAkACQCABLQAYIgNBA0YgASkDAEL/////b1ZxRSAD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AEHopAEgARBYIAIoAgBBKEYNJQwmCyAAQemkASABEFggAigCAEE4Rw0lIAIoAgwiAUEATA0kIABBBGohBANAIAFBAWsiACACKAIMTw0nIAIoAgggAEECdGoiAygCAEUNKCAEQamkASADEFsgAUEBSyELIAAhASALDQALDCQLIABB6qQBIAEQWCACKAIAQTlHDSQMNAsgAEHrpAEgARBYIAIoAgBBOkcNIwwzCyAAQeykASABEFggAigCAEE7Rw0iDDILIABB7aQBIAEQWCACKAIAQTxHDSEgAEGppAEgAkEYahBYIAIoAgwiAUEATA0gIABBBGohBANAIAFBAWsiACACKAIMTw0jIAIoAgggAEECdGoiAygCAEUNJCAEQamkASADEFsgAUEBSyEMIAAhASAMDQALDCALIABB7qQBIAEQWCACKAIAQT1HDSAMMAsgAEHvpAEgARBYIAIoAgBBPkcNHwwvCyAAQfCkASABEFggAigCAEE/Rw0eIABBqaQBIAJBFGoQWA8LIABB8aQBIAEQWCACKAIAQcAARw0dIAIoAgwiAUEATA0cIABBBGohBANAIAFBAWsiACACKAIMTw0fIAIoAgggAEECdGoiAygCAEUNICAEQamkASADEFsgAUEBSyENIAAhASANDQALDBwLIABB8qQBIAEQWCACKAIAQcEARw0cDCgLIABB86QBIAEQWCACKAIAQcIARw0bDCYLIABB9KQBIAEQWCACKAIAQcMARw0aIABBqaQBIAJBDGoQWCACKAIIRQ0ZDCsLIABB9aQBIAEQWCACKAIAQcQARw0ZDCELIABB9qQBIAEQWCACKAIAQcUARw0YDCALIABB96QBIAEQWCACKAIAQcYARw0XIAIoAgwiAUEATA0WIABBBGohBANAIAFBAWsiACACKAIMTw0ZIAIoAgggAEECdGoiAygCAEUNGiAEQamkASADEFsgAUEBSyEOIAAhASAODQALDBYLIABB+KQBIAEQWCACKAIAQccARw0WDBsLIABB+aQBIAEQWCACKAIAQcgARw0VDBkLIABB+qQBIAEQWCACKAIAQckARw0UDCQLIABB+6QBIAEQWCACKAIAQcoARw0TIABBqaQBIAJBGGoQWAwWCyAAQfykASABEFggAigCAEHLAEcNEgwVCyAAQf2kASABEFggAigCAEHMAEcNEQwXCyAAQf6kASABEFggAigCAEHNAEcNEAwWCyAAQf+kASABEFggAigCAEHOAEcNDwwbCyAAQYClASABEFggAigCAEHPAEcNDiACKAIYBEAgAEEEakGppAEgAkEYahBbCyACKAIUBEAgAEEEakGppAEgAkEUahBbCyACKAIQBEAgAEEEakGppAEgAkEQahBbCwwaCyAAQYGlASABEFggAigCAEHQAEYNDAwNCyAAQYKlASABEFggAigCAEHRAEcNDAwYCyAAQYOlASABEFggAigCAEHSAEcNCyACKAIUBEAgAEEEakGppAEgAkEUahBbCwwWCyAAQYSlASABEFggAigCAEHTAEcNCgwPCyAAQYWlASABEFggAigCAEHUAEcNCQwUCyAAQYalASABEFggAigCAEHVAEcNCAwUCyAAQYelASABEFggAigCAEHWAEcNBwwLCyAAQYilASABEFggAigCAEHXAEcNBgwLCyAAQYmlASABEFggAigCAEHYAEcNBQwVCyAAQYqlASABEFggAigCAEHZAEcNBAwPCyAAQYulASABEFggAigCAEHaAEcNAwwNCyAAQYylASABEFggAigCAEHbAEcNAgwHCyAAQY2lASABEFggAigCAEHcAEcNASAAQamkASACQTxqEFggAigCMCIBQQBMDQAgAEEEaiEEA0AgAUEBayIAIAIoAjBPDQMgAigCLCAAQQJ0aiIDKAIARQ0EIARBqaQBIAMQWyABQQFLIQ8gACEBIA8NAAsLDwtB8O0FQcWYA0GUBkGN3gAQAQALQcWiAUGJogNBvAFBpogFEAEAC0GBgwJB05kDQbkCQa73AhABAAsgAEGppAEgAkEUahBYCyAAQamkASACQRBqEFgLIABBqaQBIAJBDGoQWAwKCyAAQamkASACQRxqEFgLIABBqaQBIAJBGGoQWAsgAEGppAEgAkEUahBYCyAAQamkASACQRBqEFgPCyAAQamkASACQRRqEFgLIABBqaQBIAJBEGoQWAsgAEGppAEgAkEMahBYDwsgAEGppAEgAkEoahBYCyAAQamkASACQSRqEFgPCyAAQamkASACQRxqEFggAEGppAEgAkEYahBYDwsgAEGppAEgAkEIahBYDwsgAEEEakGppAEgAkEIahBbC7QCAQN/AkACQAJAQQAgACgCBGsgACgCXCAAKAJYa0EDdUYE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CBBtDCELIABBDGoiAyABKAIUEG0gAEEYaiIAIAIoAhQQbSADIAEoAhAQbSAAIAIoAhAQbSADIAEoAgwQbSAAIAIoAgwQbSADIAEoAggQbSAAIAIoAggQbQwgCyABKAIIIAIoAghHDSAgAEEMaiIDIAEoAhwQbSAAQRhqIgAgAigCHBBtIAMgASgCGBBtIAAgAigCGBBtIAMgASgCFBBtIAAgAigCFBBtIAMgASgCEBBtIAAgAigCEBBtDB8LIAEoAgggAigCCEcNHyAAQQxqIgMgASgCHBBtIABBGGoiACACKAIcEG0gAyABKAIYEG0gACACKAIYEG0gAyABKAIUEG0gACACKAIUEG0gAyABKAIQEG0gACACKAIQEG0MHgsgASgCCCACKAIIRw0eIABBDGogASgCDBBtIABBGGogAigCDBBtDB0LIAEoAgggAigCCEcNHSABLQAcIAItABxHDR0gAEEMaiIDIAEoAhgQbSAAQRhqIgAgAigCGBBtIAMgASgCFBBtIAAgAigCFBBtIAMgASgCEBBtIAAgAigCEBBtIAMgASgCDBBtIAAgAigCDBBtDBwLIAEoAgggAigCCEYNGwwcCyABKAIIIAIoAghHDRsgAEEMaiABKAIMEG0gAEEYaiACKAIMEG0MGgsgASgCCCACKAIIRw0aIABBDGoiAyABKAIUEG0gAEEYaiIAIAIoAhQQbSADIAEoAhAQbSAAIAIoAhAQbSADIAEoAgwQbSAAIAIoAgwQbQwZCyAAQQxqIgMgASgCDBBtIABBGGoiACACKAIMEG0gAyABKAIIEG0gACACKAIIEG0MGAsgASgCCCACKAIIRw0YIABBDGoiAyABKAIQEG0gAEEYaiIAIAIoAhAQbSADIAEoAgwQbSAAIAIoAgwQbQwXCyABKAIIIAIoAghHDRcgAEEMaiABKAIMEG0gAEEYaiACKAIMEG0MFgsgAEEMaiIDIAEoAhAQbSAAQRhqIgAgAigCEBBtIAMgASgCDBBtIAAgAigCDBBtIAMgASgCCBBtIAAgAigCCBBtDBULIABBDGoiAyABKAIMEG0gAEEYaiIAIAIoAgwQbSADIAEoAggQbSAAIAIoAggQbQwUCyAAQQxqIAEoAggQbSAAQRhqIAIoAggQbQwTCyABKAIIIAIoAghHDRMgAEEMaiIDIAEoAhAQbSAAQRhqIgAgAigCEBBtIAMgASgCDBBtIAAgAigCDBBtDBILIAEoAgggAigCCEcNEiAAQQxqIgMgASgCFBBtIABBGGoiACACKAIUEG0gAyABKAIQEG0gACACKAIQEG0gAyABKAIMEG0gACACKAIMEG0MEQsgAEEMaiIDIAEoAgwQbSAAQRhqIgAgAigCDBBtIAMgASgCCBBtIAAgAigCCBBtDBALIAEoAkQiAyACKAJERw0QAkAgA0UNACACKAJAIQUgASgCQCEGA0AgBiAEQQJ0IgdqKAIAIAUgB2ooAgBGBEAgAyAEQQFqIgRHDQEMAgsLDBELIABBDGogASgCPBBtIABBGGogAigCPBBtIAEoAjAiByACKAIwRw0QAkAgB0UNAEEAIQMDQCABKAIwIANNDRUgASgCLCADQQJ0aigCACEJAkAgACgCECIEIAAoAhRHBEAgBCAJNgIAIAAgBEEEajYCEAwBCyAEIAAoAgwiCmsiBUECdSIMQQFqIgZBgICAgARPDRRB/////wMgBUEBdSILIAYgBiALSRsgBUH8////B08bIgYEfyAGQYCAgIAETw0WIAZBAnQQXAVBAAsiCyAMQQJ0aiIFIAk2AgAgBUEEaiEJIAQgCkcEQANAIAVBBGsiBSAEQQRrIgQoAgA2AgAgBCAKRw0ACyAAKAIMIQQLIAAgCyAGQQJ0ajYCFCAAIAk2AhAgACAFNgIMIARFDQAgBBBaCyAHIANBAWoiA0cNAAsgAigCMCIKRQ0AQQAhAwNAIAMgAigCMEkEQCACKAIsIANBAnRqKAIAIQcCQCAAKAIcIgQgACgCIEcEQCAEIAc2AgAgACAEQQRqNgIcDAELIAQgACgCGCIJayIFQQJ1IgxBAWoiBkGAgICABE8NFUH/////AyAFQQF1IgsgBiAGIAtJGyAFQfz///8HTxsiBgR/IAZBgICAgARPDRcgBkECdBBcBUEACyILIAxBAnRqIgUgBzYCACAFQQRqIQcgBCAJRwRAA0AgBUEEayIFIARBBGsiBCgCADYCACAEIAlHDQALIAAoAhghBAsgACALIAZBAnRqNgIgIAAgBzYCHCAAIAU2AhggBEUNACAEEFoLIANBAWoiAyAKRw0BDAILCwwUCyABKAIgIgMgAigCIEcNEAJAIANFDQAgAigCHCEFIAEoAhwhBkEAIQQDQAJAIA0gBiAEQQN0IgdqKQIAIg43A0AgBSAHaigCACEHIA0gDjcDGCAAIA1BGGogBxCoBUUNACADIARBAWoiBEcNAQwCCwsMEQsgASgCECIDIAIoAhBHDRACQCADRQ0AIAIoAgwhBCABKAIMIQVBACEAA0AgBSAAQQN0IgZqKAIAIAQgBmooAgBGBEAgAyAAQQFqIgBHDQEMAgsLDBELIAEoAgggAigCCEcNEAwPCyACKAIMIgdFDQ5BACEFA0AgBSACKAIMSQRAIAIoAgggBUECdGooAgAhBAJAIAAoAhwiASAAKAIgRwRAIAEgBDYCACAAIAFBBGo2AhwMAQsgASAAKAIYIgZrIgNBAnUiCUEBaiIIQYCAgIAETw0TQf////8DIANBAXUiCiAIIAggCkkbIANB/P///wdPGyIDBH8gA0GAgICABE8NFSADQQJ0EFwFQQALIgogCUECdGoiCCAENgIAIAhBBGohBCABIAZHBEADQCAIQQRrIgggAUEEayIBKAIANgIAIAEgBkcNAAsgACgCGCEBCyAAIAogA0ECdGo2AiAgACAENgIcIAAgCDYCGCABRQ0AIAEQWgsgBUEBaiIFIAdHDQEMEAsLDBILIAIoAgwiB0UNDUEAIQUDQCAFIAIoAgxJBEAgAigCCCAFQQJ0aigCACEEAkAgACgCHCIBIAAoAiBHBEAgASAENgIAIAAgAUEEajYCHAwBCyABIAAoAhgiBmsiA0ECdSIJQQFqIghBgICAgARPDRJB/////wMgA0EBdSIKIAggCCAKSRsgA0H8////B08bIgMEfyADQYCAgIAETw0UIANBAnQQXAVBAAsiCiAJQQJ0aiIIIAQ2AgAgCEEEaiEEIAEgBkcEQANAIAhBBGsiCCABQQRrIgEoAgA2AgAgASAGRw0ACyAAKAIYIQELIAAgCiADQQJ0ajYCICAAIAQ2AhwgACAINgIYIAFFDQAgARBaCyAFQQFqIgUgB0cNAQwPCwsMEQsgAigCDCIKRQ0AQQAhAwNAIAIoAgwgA00NESACKAIIIANBAnRqKAIAIQcCQCAAKAIcIgQgACgCIEcEQCAEIAc2AgAgACAEQQRqNgIcDAELIAQgACgCGCIJayIFQQJ1IgxBAWoiBkGAgICABE8NEEH/////AyAFQQF1IgsgBiAGIAtJGyAFQfz///8HTxsiBgR/IAZBgICAgARPDRIgBkECdBBcBUEACyILIAxBAnRqIgUgBzYCACAFQQRqIQcgBCAJRwRAA0AgBUEEayIFIARBBGsiBCgCADYCACAEIAlHDQALIAAoAhghBAsgACALIAZBAnRqNgIgIAAgBzYCHCAAIAU2AhggBEUNACAEEFoLIANBAWoiAyAKRw0ACwsgAS0AHCACLQAcRg0LDAwLIAIoAgwiB0UNCkEAIQUDQCAFIAIoAgxJBEAgAigCCCAFQQJ0aigCACEEAkAgACgCHCIBIAAoAiBHBEAgASAENgIAIAAgAUEEajYCHAwBCyABIAAoAhgiBmsiA0ECdSIJQQFqIghBgICAgARPDQ9B/////wMgA0EBdSIKIAggCCAKSRsgA0H8////B08bIgMEfyADQYCAgIAETw0RIANBAnQQXAVBAAsiCiAJQQJ0aiIIIAQ2AgAgCEEEaiEEIAEgBkcEQANAIAhBBGsiCCABQQRrIgEoAgA2AgAgASAGRw0ACyAAKAIYIQELIAAgCiADQQJ0ajYCICAAIAQ2AhwgACAINgIYIAFFDQAgARBaCyAFQQFqIgUgB0cNAQwMCwsMDgsgAigCFCIKRQ0AQQAhAwNAIAIoAhQgA00NDiACKAIQIANBAnRqKAIAIQcCQCAAKAIcIgQgACgCIEcEQCAEIAc2AgAgACAEQQRqNgIcDAELIAQgACgCGCIJayIFQQJ1IgxBAWoiBkGAgICABE8NDUH/////AyAFQQF1IgsgBiAGIAtJGyAFQfz///8HTxsiBgR/IAZBgICAgARPDQ8gBkECdBBcBUEACyILIAxBAnRqIgUgBzYCACAFQQRqIQcgBCAJRwRAA0AgBUEEayIFIARBBGsiBCgCADYCACAEIAlHDQALIAAoAhghBAsgACALIAZBAnRqNgIgIAAgBzYCHCAAIAU2AhggBEUNACAEEFoLIANBAWoiAyAKRw0ACwsgASgCCCACKAIIRg0IDAkLIAIoAigiCkUNAEEAIQMDQCADIAIoAihJBEAgAigCJCADQQJ0aigCACEHAkAgACgCHCIEIAAoAiBHBEAgBCAHNgIAIAAgBEEEajYCHAwBCyAEIAAoAhgiCWsiBUECdSIMQQFqIgZBgICAgARPDQxB/////wMgBUEBdSILIAYgBiALSRsgBUH8////B08bIgYEfyAGQYCAgIAETw0OIAZBAnQQXAVBAAsiCyAMQQJ0aiIFIAc2AgAgBUEEaiEHIAQgCUcEQANAIAVBBGsiBSAEQQRrIgQoAgA2AgAgBCAJRw0ACyAAKAIYIQQLIAAgCyAGQQJ0ajYCICAAIAc2AhwgACAFNgIYIARFDQAgBBBaCyADQQFqIgMgCkcNAQwCCwsMCwsgASgCGCIDIAIoAhhHDQcgAwRAIAIoAhQhBSABKAIUIQZBACEEA0AgBiAEQQN0IgdqKAIAIAUgB2ooAgBHDQkgBEEBaiIEIANHDQALCyABKAIIQQBHIAIoAghBAEdzDQcgDUH4AGogACABKQIIIAFBCGoQlgMgDSgCeCACKQIINwIYIABBDGogASgCEBBtIABBGGogAigCEBBtDAYLIAIoAhAiCkUNAEEAIQMDQCADIAIoAhBJBEAgAigCDCADQQJ0aigCACEHAkAgACgCHCIEIAAoAiBHBEAgBCAHNgIAIAAgBEEEajYCHAwBCyAEIAAoAhgiCWsiBUECdSIMQQFqIgZBgICAgARPDQpB/////wMgBUEBdSILIAYgBiALSRsgBUH8////B08bIgYEfyAGQYCAgIAETw0MIAZBAnQQXAVBAAsiCyAMQQJ0aiIFIAc2AgAgBUEEaiEHIAQgCUcEQANAIAVBBGsiBSAEQQRrIgQoAgA2AgAgBCAJRw0ACyAAKAIYIQQLIAAgCyAGQQJ0ajYCICAAIAc2AhwgACAFNgIYIARFDQAgBBBaCyADQQFqIgMgCkcNAQwCCwsMCQsgASgCCCACKAIIRw0FIAEtACggAi0AKEYNBAwFCyACKAIMIgpFDQBBACEDA0AgAyACKAIMSQRAIAIoAgggA0ECdGooAgAhBwJAIAAoAhwiBCAAKAIgRwRAIAQgBzYCACAAIARBBGo2AhwMAQsgBCAAKAIYIglrIgVBAnUiDEEBaiIGQYCAgIAETw0IQf////8DIAVBAXUiCyAGIAYgC0kbIAVB/P///wdPGyIGBH8gBkGAgICABE8NCiAGQQJ0EFwFQQALIgsgDEECdGoiBSAHNgIAIAVBBGohByAEIAlHBEADQCAFQQRrIgUgBEEEayIEKAIANgIAIAQgCUcNAAsgACgCGCEECyAAIAsgBkECdGo2AiAgACAHNgIcIAAgBTYCGCAERQ0AIAQQWgsgA0EBaiIDIApHDQEMAgsLDAcLIAEoAhggAigCGEcNAyABLQAgIAItACBGDQIMAwsgAigCFCIJRQ0AQQAhAwNAIAIoAhQgA00NBiACKAIQIANBAnRqKAIAIQYCQCAAKAIcIgggACgCIEcEQCAIIAY2AgAgACAIQQRqNgIcDAELIAggACgCGCIHayIEQQJ1IgpBAWoiBUGAgICABE8NBUH/////AyAEQQF1IgwgBSAFIAxJGyAEQfz///8HTxsiBQR/IAVBgICAgARPDQcgBUECdBBcBUEACyIMIApBAnRqIgQgBjYCACAEQQRqIQYgByAIRwRAA0AgBEEEayIEIAhBBGsiCCgCADYCACAHIAhHDQALIAAoAhghCAsgACAMIAVBAnRqNgIgIAAgBjYCHCAAIAQ2AhggCEUNACAIEFoLIANBAWoiAyAJRw0ACwtBACEIIAEoAghBAEcgAigCCEEAR3MNASANQfgAaiAAIAFBCGoiACkCACAAEJYDIA0oAnggAikCCDcCGAtBASEICyANQYABaiQAIAgPCxBkAAsQagALQcWiAUGJogNBvAFBpogFEAEAC0oBBX8gAEUEQEEADwsgACgCACEBA0ACQCABRSECIAINACABKAIIIQMgACgCCCEFIAEoAgAhASAAKAIAIQAgBSADEJMDDQELCyACC5QMAQ5/IwBB8AFrIgIkAAJAAkACQCABKAIAIgQoAgBBM0YEQCAEKAIQIQUgACgCfCEDIAIgACgCBCIBLQA4OgAEIAIgAS0AOToABSACIAEoAmg2AgggAiABKAJsIgE2AgwgAQRAIAEgASgCBEEBajYCBAsgAiADNgIQIAMoAoQBIQEgAkEgaiIDQgA3AgAgAkEsaiIGQgA3AgAgAkE4aiIHQgA3AgAgAkHEAGoiCEIANwIAIAJB6ABqIglCADcCACACQgA3AlQgAkIANwFaIAJB9ABqIgpCADcCACACQQA7ARggAiABNgIUIAIgAzYCHCACIAY2AiggAiAHNgI0IAIgCDYCQCACQgA3AkwgAiAJNgJkIAIgCjYCcCACIAU2AuwBIAJCADcC1AEgAkIANwLcASACQQA2AuQBQdSJC0EANgIAIAJCADcCfCACIAJBBGo2AugBQccAIAJB/ABqIAJB7AFqEANB1IkLKAIAIQFB1IkLQQA2AgACQCABQQFHBEAgAigC1AEiAQRAIAIgATYC2AEgARBaCyACKAJYBEBB1IkLQQA2AgBBDUGRyQVB9ooDQcQIQabRABAFQdSJCygCACELQdSJC0EANgIAIAtBAUYNAgwGCyACLQAEBEAgAkEAOgBVDAQLIAItAFVFDQMgAkEBOgBUDAMLEAAhACACKALUASIBBEAgAiABNgLYASABEFoLDAMLEAAhAAwCC0Hw7QVBxZgDQZQGQY3eABABAAsgAi0AVyEPIAIoAnghDCACKAJ0EGAgAigCaBBgIAIoAkQQYCACKAI4EGAgAigCLBBvIAIoAiAQbyAPIAxyQQBHIQMCQCACKAIMIgFFDQAgASABKAIEIgVBAWs2AgQgBQ0AIAEgASgCACgCCBEBACABEHULAkACQAJAIANFBEAgAEEUaiAEKAIQIgEQeSAAKAKwASIEIAAoAqwBRgRAIAAoAoABIgRFDQIgBEECdCAAaiABNgKAAQwECyAEQQRrIAE2AgAMAwsgBCgCBA0CIAQoAiggBCgCGGtBAUcNAiAAKAJ8IQEgAiAAKAIEIgAtADg6AAQgAiAALQA5OgAFIAIgACgCaDYCCCACIAAoAmwiADYCDCAABEAgACAAKAIEQQFqNgIECyACIAE2AhAgASgChAEhACACQSBqIgFCADcCACACQSxqIgNCADcCACACQThqIgVCADcCACACQcQAaiIGQgA3AgAgAkHoAGoiB0IANwIAIAJCADcCVCACQgA3AVogAkH0AGoiCEIANwIAIAJBADsBGCACIAA2AhQgAiABNgIcIAIgAzYCKCACIAU2AjQgAiAGNgJAIAJCADcCTCACIAc2AmQgAiAINgJwIAIgBDYC7AEgAkIANwLUASACQgA3AtwBIAJBADYC5AFB1IkLQQA2AgAgAkIANwJ8IAIgAkEEajYC6AFBxwAgAkH8AGogAkHsAWoQA0HUiQsoAgAhDUHUiQtBADYCACANQQFHBEAgAigC1AEiAARAIAIgADYC2AEgABBaCyACKAJYBEBB1IkLQQA2AgBBDUGRyQVB9ooDQcQIQabRABAFQdSJCygCACEOQdSJC0EANgIAIA5BAUcNBhAAIQAMBQsgAi0ABARAIAJBADoAVQwDCyACLQBVRQ0CIAJBAToAVAwCCxAAIQAgAigC1AEiAQRAIAIgATYC2AEgARBaCwwDC0HexAVBsJQDQdoAQf37AhABAAtBACEBAkAgAigCMA0AIAItAGANACACKAJIDQAgAi0ATQ0AIAItAE8NACACLQBRDQAgAi0AUw0AIAItAFYNACACLQAZDQAgAi0AVw0AIAIoAngNACACLQAYDQAgAigCbA0AIAItAGENACACLQBURQRAQQEhAQwBCyACLQAFQQBHIQELIAIoAnQQYCACKAJoEGAgAigCRBBgIAIoAjgQYCACKAIsEG8gAigCIBBvAkAgAigCDCIARQ0AIAAgACgCBCIDQQFrNgIEIAMNACAAIAAoAgAoAggRAQAgABB1CyABRQ0AIARCFjcCAAsgAkHwAWokAA8LIAJBBGoQ3wEaIAAQBwALAAu6DAILfwF+IwBBgAJrIgIkAAJAAkACQAJAAkACQAJAAkAgASgCACIEKAIAQRJGBEAgBCAAIAQoAghBAEEAEOYHIgE2AgggAUUEQCAEQhY3AgAMBwsgASgCACIDQQlGBEAgASgCBEUNAiABQQA2AgQgASABKAIMKAIEQQFGNgIEIABBFGogARB5IAAoArABIgQgACgCrAFGBEAgACgCgAEiBEUNBCAEQQJ0IABqIAE2AoABDAgLIARBBGsgATYCAAwHCyAEKAIEDQQgACgCfCEDIAIgACgCBCIBLQA4OgAAIAIgAS0AOToAASACIAEoAmg2AgQgAiABKAJsIgE2AgggAQRAIAEgASgCBEEBajYCBAsgAiADNgIMIAMoAoQBIQEgAkEcaiIDQgA3AgAgAkEoaiIFQgA3AgAgAkE0aiIGQgA3AgAgAkFAayIHQgA3AgAgAkHkAGoiCEIANwIAIAJCADcCUCACQgA3AVYgAkHwAGoiCUIANwIAIAJBADsBFCACIAE2AhAgAiADNgIYIAIgBTYCJCACIAY2AjAgAiAHNgI8IAJCADcCSCACIAg2AmAgAiAJNgJsIAIgBDYC/AEgAkIANwLkASACQgA3AuwBIAJBADYC9AFB1IkLQQA2AgAgAkIANwKMASACIAI2AvgBQccAIAJBjAFqIAJB/AFqEANB1IkLKAIAIQFB1IkLQQA2AgACQAJAIAFBAUcEQCACKALkASIBBEAgAiABNgLoASABEFoLIAIoAlQEQEHUiQtBADYCAEENQZHJBUH2igNBxAhBptEAEAVB1IkLKAIAIQpB1IkLQQA2AgAgCkEBRg0CAAsgAi0AAARAIAJBADoAUQwHCyACLQBRRQ0GIAJBAToAUAwGCxAAIQEgAigC5AEiAEUNASACIAA2AugBIAAQWgwJCxAAIQELDAcLQfDtBUHFmANBlAZBjd4AEAEAC0H6mgZBj6MCQc4CQdq6AhABAAtB3sQFQbCUA0HaAEH9+wIQAQALQQEhAwJAIAIoAiwNACACLQBcDQAgAigCRA0AIAItAEkNACACLQBLDQAgAi0ATQ0AIAItAE8NACACLQBSDQAgAi0AFQ0AIAItAFMNACACKAJ0DQAgAi0AFA0AIAIoAmgNACACLQBdDQAgAi0AUEUEQEEAIQMMAQsgAi0AAUUhAwsgAigCcBBgIAIoAmQQYCACKAJAEGAgAigCNBBgIAIoAigQbyACKAIcEG8CQCACKAIIIgFFDQAgASABKAIEIgVBAWs2AgQgBQ0AIAEgASgCACgCCBEBACABEHULIANFDQEgBCgCCCIBKAIAIQMLAkAgA0EBRw0AIAEoAhQiA0UNBCABKAIQIANBAnRqQQRrKAIAIgMoAgQiBUECSQ0AIAEoAgQgBUcNACAAIANBAEEAEOYHDQACQCABKAIIRQ0AIAEpAgghDSACQgA3AlggAkIANwJgIAJBADYCaCACQgA3AnwgAkKAgICAgICAwD83AoQBIAJCADcCACACQgA3AnQgAiANNwJsQdSJC0EANgIAIAIgATYCjAFBPCACIAJBjAFqEANB1IkLKAIAIQNB1IkLQQA2AgACQCADQQFHBEAgAigCdEUEQCACEMoFDAMLQdSJC0EANgIAQaekASACKAKAARAGIQNB1IkLKAIAIQtB1IkLQQA2AgAgC0EBRw0BCxAAIQwgAhDKBSAMEAcACyACEMoFIAMNAQsgASgCFCIDRQ0EIAEoAhAgA0ECdGpBBGtBADYCACABQQA2AgQgASADQQFrIgM2AhQgA0ECTwRAIABBFGogARD5BRoMAwsgA0EBRgRAIABBFGogASgCECgCABD5BRoMAwsgBEIWNwIADAILIAQoAggiASgCAEECRw0BIAEoAhAiA0UNASABKAIEQQJJDQEgAygCBCEFIAEoAgwiBigCBCIHQQFGBEAgBUECSQ0CIAQgAzYCCCABQQA2AgQgASAENgIQIABBFGogARD5BRoMAgsgB0UNASAFQQFHDQEgBCAGNgIIIAFBADYCBCABIAQ2AgwgAEEUaiABEPkFGgwBCyAEQhY3AgALIAJBgAJqJAAPCyACEN8BGiABEAcAC0G0xAVBiaIDQdABQf37AhABAAs6ACABKAIAIgAoAgBBA0YEQCAAKAIQKAIAQRZGBEAgAEIWNwIACw8LQfDtBUHFmANBlAZBjd4AEAEAC5YHAQR/AkACQAJAAkACQAJAAkAgASgCACIBKAIAQQJGBEAgASgCCCICKAIAQQ5GBEAgAigCGCIDQQdPDQICfgJAAkACQCADQQJrDgICAAELIAIpAwgMAgsQDwALIAI0AggLQgBSBEAgASgCDCECDAQLIAEoAhAiAg0DIAFCFjcCAA8LIAIoAgRBAUYEQCAAQRRqIAIQeSAAKAKwASIBIAAoAqwBRgRAIAAoAoABIgFFDQUMBgsMBgsCQCAAKAIELQA5RQ0AIAEoAgRBAUYNACABKAIQIQMgASgCDCIEKAIAQRdGBEAgACgCfCIEQagBakEMQQQQXSIBIAI2AgggAUISNwIAIAEgAigCBEEBRjYCBCADBEAgBCABIANCABDKAiEBCyAAQRRqIAEQeSAAKAKwASICIAAoAqwBRgRAIAAoAoABIgJFDQYMCQsMCQsgA0UNACADKAIAQRdHDQAgACgCfCIDQagBakEMQQQQXSIBIAI2AgggAUISNwIAIAEgAigCBEEBRjYCBCAAQRRqIAMgASAEQgAQygIiARB5IAAoArABIgIgACgCrAFGBEAgACgCgAEiAkUNBQwICwwICwJAIAEoAhAiAwRAIAMoAgAiBEEWRgRAIAFBADYCEA8LAkACQCABKAIMIgUoAgBBEmsOBQEDAwMAAwsgAUEANgIQIAEgAzYCDCAAKAJ8QagBakEQQQQQXSIAIAI2AgwgAEEUNgIIIABCDzcCACAAELMCIAEgADYCCA8LIARBEkcNASAFKAIIIgIoAgQgAygCCCIDKAIERw0BIAEgAzYCECABIAI2AgwgARCcBiAAQRRqIAAoAnwgARCvBBD5BRoPCyABKAIMKAIAQRZHDQAgACgCfEGoAWpBDEEEEF0iASACNgIIIAFCEjcCACABIAIoAgRBAUY2AgQgAEEUaiABEHkCfyAAKAKwASICIAAoAqwBRgRAIAAoAoABIgJFDQYgAkECdCAAakGAAWoMAQsgAkEEawsgATYCAAsPC0Hw7QVBxZgDQZQGQY3eABABAAtB4c0GQZ+fA0HDAUHz5wQQAQALIABBFGogAhB5AkAgACgCsAEiASAAKAKsAUYEQCAAKAKAASIBRQ0BDAMLDAMLC0HexAVBsJQDQdoAQf37AhABAAsgAUECdCAAaiACNgKAAQ8LIAFBBGsgAjYCAA8LIAJBAnQgAGogATYCgAEPCyACQQRrIAE2AgAL4iUCIH8BfiMAQYACayICJAACQAJAAkACQAJAAkACQAJAAkACQCABKAIAIgEoAgBBAUYEQAJAIAAoAgQtADlFDQAgASgCFCIDQQJJDQAgA0EBayIEQQBIDQAgAkH4AGohDiACQewAaiEHIAJByABqIQsgAkE8aiEMIAJBMGohDSACQSRqIQgDQCAFIQMCQAJAIAQiBiABKAIUSQRAIARBAnQiCiABKAIQaigCACIJKAIAQRdGIgQgA3IhBSAEDQIgA0EBc0EBcQ0CIAAoAnwhBSACIAAoAgQiBC0AODoACCACIAQtADk6AAkgAiAEKAJoNgIMIAIgBCgCbCIENgIQIAQEQCAEIAQoAgRBAWo2AgQLIAIgBTYCFCAFKAKEASEFIAJCADcCJCACQQA7ARwgAiAFNgIYIAJCADcCMCACIAg2AiAgAkIANwI8IAIgDTYCLCACQgA3AkggAiAMNgI4IAJCADcCbCACIAs2AkQgAkIANwFeIAJCADcCWCACQgA3AlAgAkIANwJ4IAIgBzYCaCACIA42AnQgAiAJNgKAASACQgA3AogBIAJBADYC8AEgAkIANwLoASACQgA3AuABQdSJC0EANgIAIAIgAkEIajYC9AFBxwAgAkGIAWogAkGAAWoQA0HUiQsoAgAhBUHUiQtBADYCAAJAAkAgBUEBRwRAIAIoAuABIgUEQCACIAU2AuQBIAUQWgsgAigCXARAQdSJC0EANgIAQQ1BkckFQfaKA0HECEGm0QAQBUHUiQsoAgAhD0HUiQtBADYCACAPQQFGDQIMEAsgAi0ACARAIAJBADoAWQwFCyACLQBZRQ0EIAJBAToAWAwECxAAIQEgAigC4AEiAEUNASACIAA2AuQBIAAQWgwBCxAAIQELDA0LDA0LQQEhBAJAIAItABwNACACLQBbDQAgAigCfA0AIAIoAnBBAEchBAtBACEFAkAgBA0AIAItAB0NACACLQBkDQAgBiABKAIUTwRAQdSJC0EANgIAQQ1BxaIBQYmiA0G8AUGmiAUQBUHUiQsoAgAhEEHUiQtBADYCACAQQQFHDQwQACEAIAJBCGoQ3wEaDA8LIAEoAhAgCmooAgBCFjcCACADIQULIAIoAngQYCACKAJsEGAgAigCSBBgIAIoAjwQYCACKAIwEG8gAigCJBBvIAIoAhAiBEUNACAEIAQoAgQiA0EBazYCBCADDQAgBCAEKAIAKAIIEQEAIAQQdQsgBkEBayEEIAZBAEoNAAsLAkACQCABKAIUIg1FBEAgAEEUaiEGDAELIABBgAFqIQQgDUEBayEJQQAhDEEAIQYCQAJAA0ACQAJAAkACQCAGIAEoAhRJBEAgBkECdCIIIAEoAhBqKAIAIQpBACEFAkAgBiAJRw0AIAEoAgRBAkkNACAEIAAoAngQgxEhBQsgACAKIAVBARDmByIFRQRAIAooAgQiA0ECSQ0CIAIgAzYCCCACQQhqEJcERQ0DIAMgACgCfBDkBCIFRQ0ECyAFIApGDQIgASgCFCAGTQ0TIAEoAhAgCGogBTYCAAwCCwwSCyADQQFHDQELIAEoAhQhBwJAIAxBAEwEQCAGIAxrIQUMAQsgBiAHTw0RIAcgBiAMayIFTQ0RIAEoAhAiAyAFQQJ0aiADIAhqKAIANgIAIAEoAhAgCGpBADYCAAsgBSAHSQRAIAYgCU8NAiABKAIQIgggBUECdGooAgAoAgRBAUcNAiAFQQFqIQsCQAJAIAEoAhggBUsNACABIAs2AhggASABKAIcIAtBAnRBBBBdNgIQIAEoAhQiB0UEQEEAIQcMAgtBACEJQQAhBiAHQQRPBEAgB0F8cSEEA0AgBkECdCIKIAEoAhBqIAggCmooAgA2AgAgCkEEciIDIAEoAhBqIAMgCGooAgA2AgAgCkEIciIDIAEoAhBqIAMgCGooAgA2AgAgCkEMciIDIAEoAhBqIAMgCGooAgA2AgAgBkEEaiIGIARHDQALCyAHQQNxIgRFDQADQCAGQQJ0IgMgASgCEGogAyAIaigCADYCACAGQQFqIQYgCUEBaiIJIARHDQALCyAFIAdJDQULIAUgB2siBEEBakEDcSIDBEBBACEGA0AgASgCECAHQQJ0akEANgIAIAdBAWohByAGQQFqIgYgA0cNAAsLIARBA0kNBANAIAdBAnQiAyABKAIQakEANgIAIAEoAhAgA2pBADYCBCABKAIQIANqQQA2AgggASgCECAHQQNqIgNBAnRqQQA2AgAgB0EEaiEHIAMgBUcNAAsMBAsMEAsgDEEBaiEMCyAGQQFqIgYgDUcNAAsgDEEATARAIAEoAhQhCwwCCwJAIA0gDGsiCyABKAIYTQRAIAEoAhQhBQwBCyABIAs2AhggASgCECEIIAEgASgCHCALQQJ0QQQQXTYCECABKAIUIgVFBEBBACEFDAELQQAhBEEAIQYgBUEETwRAIAVBfHEhCQNAIAZBAnQiCiABKAIQaiAIIApqKAIANgIAIApBBHIiAyABKAIQaiADIAhqKAIANgIAIApBCHIiAyABKAIQaiADIAhqKAIANgIAIApBDHIiAyABKAIQaiADIAhqKAIANgIAIAZBBGoiBiAJRw0ACwsgBUEDcSIJRQ0AA0AgBkECdCIDIAEoAhBqIAMgCGooAgA2AgAgBkEBaiEGIARBAWoiBCAJRw0ACwsgBSALTw0AIA0gDCAFIgZqa0EDcSIDBEBBACEHA0AgASgCECAGQQJ0akEANgIAIAZBAWohBiAHQQFqIgcgA0cNAAsLIAUgDWsgDGpBfEsNAANAIAZBAnQiAyABKAIQakEANgIAIAEoAhAgA2pBADYCBCABKAIQIANqQQA2AgggASgCECADakEANgIMIAZBBGoiBiALRw0ACwsgASALNgIUCyAAQRRqIQYCQCALQQFHDQAgASgCECgCACERIAIgASkCCCIiNwMAIAIgIjcDgAEgESACEPECIRIgASgCFCELIBINACALRQ0CIAEoAhAoAgAhAyAAKAJ8IQUgAiAAKAIEIgQtADg6AAggAiAELQA5OgAJIAIgBCgCaDYCDCACIAQoAmwiBDYCECAEBEAgBCAEKAIEQQFqNgIECyACIAU2AhQgBSgChAEhDCACQSRqIg1CADcCACACQTBqIghCADcCACACQTxqIgpCADcCACACQcgAaiIJQgA3AgAgAkHsAGoiBEIANwIAIAJCADcCWCACQgA3AV4gAkH4AGoiBUIANwIAIAJBADsBHCACIAw2AhggAiANNgIgIAIgCDYCLCACIAo2AjggAiAJNgJEIAJCADcCUCACIAQ2AmggAiAFNgJ0IAIgAzYC/AEgAkIANwLgASACQgA3AugBIAJBADYC8AFB1IkLQQA2AgAgAkIANwKIASACIAJBCGo2AvQBQccAIAJBiAFqIAJB/AFqEANB1IkLKAIAIQVB1IkLQQA2AgACQCAFQQFHBEAgAigC4AEiBQRAIAIgBTYC5AEgBRBaCyACKAJcBEBB1IkLQQA2AgBBDUGRyQVB9ooDQcQIQabRABAFQdSJCygCACETQdSJC0EANgIAIBNBAUcNDRAAIQEMAgsgAi0ACARAIAJBADoAWQwHCyACLQBZRQ0GIAJBAToAWAwGCxAAIQEgAigC4AEiAEUNACACIAA2AuQBIAAQWgsMCwsgCw0ECyABQhY3AgAMAwsMCQtB8O0FQcWYA0GUBkGN3gAQAQALQQEhBAJAIAItAFgNACACKAI0DQAgAi0AZA0AIAIoAkwNACACLQBRDQAgAi0AUw0AIAItAFUNACACLQBXDQAgAi0AWg0AIAItAB0NACACLQBbDQAgAigCfA0AIAItABwNACACKAJwDQAgAi0AZUEARyEECyACKAJ4EGAgAigCbBBgIAIoAkgQYCACKAI8EGAgAigCMBBvIAIoAiQQbwJAIAIoAhAiCUUNACAJIAkoAgQiBUEBazYCBCAFDQAgCSAJKAIAKAIIEQEAIAkQdQsgBCADKAIEIglBAUtyRQRAIAIgACgCfCIFNgL8AQJAAkAgASgCBCIHQQdJDQAgAUEEaiEJIAcoAgRFBEAgCRCXBCEUIAkoAgAhByAUBEAgAkEIaiIBIAcQyAdB1IkLQQA2AgBB8wIgAkH8AWogARACIQFB1IkLKAIAIRVB1IkLQQA2AgAgFUEBRwRAIAIoAigiAwRAIAIoAiwiByADIgRHBEADQCAHQRhrEFkiByADRw0ACyACKAIoIQQLIAIgAzYCLCAEEFoLIAJBEGoQWRoMBgsQACEAIAJBCGoQaAwNCyAHQQdJDQELIAcoAgRBAUcNAwJAIAcoAgxBAUcNACAHKAIIQXxxQQxHDQAgASAHNgIEIAFBKTYCAAwECyAHKAIIQQRHDQMgAkECNgIYIAJBADYCCEHUiQtBADYCAEEMIAVBqAFqIgpBIEEIEAQhCEHUiQsoAgAhFkHUiQtBADYCACAWQQFGDQQgCEIANwIEIAhBDjYCACAIQgA3AgwgCEIANwIUIAhBCGoiASACQQhqIgNHBEAgARBZIQFB1IkLQQA2AgBBwAAgASADEAIaQdSJCygCACEXQdSJC0EANgIAIBdBAUYNBQsgCCACKAIYNgIEIAJBCGoiBBBZGiAKQQxBBBBdIgMgCDYCCCADQjo3AgBBASEFAkAgCCgCBEEBRg0AIAJBADYCFCACQoGAgIDAADcCDCACQQA6AAhB1IkLQQA2AgBBB0HYnQsgBBACIQVB1IkLKAIAIRhB1IkLQQA2AgAgGEEBRw0AEAAhACAEEHcMDAsgAyAFNgIEIAkoAgAiBEEHSQRAIAMhAQwECyAEKAIEQQFHBEAgAyEBDAQLIAQoAgxBAUYNASADIQEMAwsgAkEANgIYIAJCADcDECACQgA3AwgCQAJAAkACQAJAAkACQAJAAkACQAJAAkAgB0EBaw4GBwABAgMECQsgAkECNgKYASACQQA2AogBIAJBCGoQWSEBQdSJC0EANgIAQcAAIAEgAkGIAWoiAyIEEAIaQdSJCygCACEZQdSJC0EANgIAIBlBAUcNBBAAIQEgAxBZGgwRCyACQQM2ApgBIAJCADcDiAEgAkEIahBZIQFB1IkLQQA2AgBBwAAgASACQYgBaiIDIgQQAhpB1IkLKAIAIRpB1IkLQQA2AgAgGkEBRw0DEAAhASADEFkaDBALIAJBBDYCmAEgAkEANgKIASACQQhqEFkhAUHUiQtBADYCAEHAACABIAJBiAFqIgMiBBACGkHUiQsoAgAhG0HUiQtBADYCACAbQQFHDQIQACEBIAMQWRoMDwsgAkEFNgKYASACQgA3A4gBIAJBCGoQWSEBQdSJC0EANgIAQcAAIAEgAkGIAWoiAyIEEAIaQdSJCygCACEcQdSJC0EANgIAIBxBAUcNARAAIQEgAxBZGgwOCyACQgA3A5ABIAJCADcDiAEgAkEGNgKYASACQQhqEFkhAUHUiQtBADYCAEHAACABIAJBiAFqIgQQAhpB1IkLKAIAIR1B1IkLQQA2AgAgHUEBRg0BCyAEEFkaQdSJC0EANgIAQcAAIAJBiAFqIAJBCGoQAiEEQdSJCygCACEeQdSJC0EANgIAIB5BAUYNBSAEKAIQQQJrQQVJDQJB1IkLQQA2AgBBDUGR+wVBmpYDQdYEQazSABAFQdSJCygCACEfQdSJC0EANgIAIB9BAUcNDQwLCxAAIQEgAkGIAWoQWRoMCwsgAUKXgICAEDcCAAwCC0HUiQtBADYCAEEMIAVBqAFqQSBBCBAEIQFB1IkLKAIAISBB1IkLQQA2AgAgIEEBRg0IIAFCADcCBCABQQ42AgAgAUIANwIMIAFCADcCFCAEIAFBCGoiA0cEQCADEFkhA0HUiQtBADYCAEHAACADIAQQAhpB1IkLKAIAISFB1IkLQQA2AgAgIUEBRg0JCyABIAQoAhA2AgQgBBBZGgwBCyABQhY3AgALIAJBCGoQWRoMAwsQACEBDAYLIApBIEEEEF0iAUIANwIEIAFBATYCACABQgA3AgwgASAKNgIcIAFCgICAgBA3AhQgASAKQQRBBBBdIgU2AhAgBSADNgIAIAFBATYCFCABIARBAUEAEOYBDAELIAEoAgQiBSAJRgRAIAMhAQwBCyAJIAUQ7wEEQCADIQEMAQsgASgCBEECTwRAIAMoAgRBAUYNAQtBzawEQfiPA0E2Qf2dARABAAsgBiABEHkCfyAAKAKwASIDIAAoAqwBRgRAIAAoAoABIgNFDQMgA0ECdCAAakGAAWoMAQsgA0EEawsgATYCACACQYACaiQADwsQACEAIAJBCGoQWRoMBgtB3sQFQbCUA0HaAEH9+wIQAQALEAAhASAEEFkaCyACQQhqEFkaIAEQBwALAAsgAkEIahDfARogARAHAAtBxaIBQYmiA0G8AUGmiAUQAQALIAAQBwALJQAgACgCAEHUAEcEQEHSrAZBp7cCQcckQeL3ABABAAsgACgCDAscAEG4ARBcIgBBAEG4AfwLACAAQfSqCDYCACAAC0AAIAAoAgRFBEBB6PoFQbqLA0GcBEHu0wIQAQALIAAgAjYCeCAAIAE2AnwgACACENQMIAAgAhDNCSAAQgA3AngL7iIBEH8gASgCAARAAkAgAEEYaiIHQcmjASABEFsgACEDAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgASgCACICKAIADl4AAQIDBAUGBwgJCgsMDR4fICEiIyQlNTYODxAREhMUFRYXGBkaGxwdNyYn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aiIAQYukASABEFggAigCAEHBAEcNGwwjCyADQRRqIgBBjKQBIAEQWCACKAIAQcIARw0aDCELIANBFGoiAEGNpAEgARBYIAIoAgBBwwBHDRkgAEHIowEgAkEMahBYDCkLIANBFGoiAEGOpAEgARBYIAIoAgBBxABHDRgMHAsgA0EUaiIAQY+kASABEFggAigCAEHFAEcNFwwbCyADQRRqQZCkASABEFggAigCAEHGAEcNFiACKAIMIgBBAEwNKCADQRhqIQUDQCAAQQFrIgMgAigCDE8NGCACKAIIIANBAnRqIgQoAgBFDSogBUHIowEgBBBbIABBAUshECADIQAgEA0ACwwoCyADQRRqIgBBkaQBIAEQWCACKAIAQccARw0VDCMLIANBFGoiAEGSpAEgARBYIAIoAgBByABHDRQMIQsgA0EUaiIAQZOkASABEFggAigCAEHJAEcNEwwiCyADQRRqIgBBlKQBIAEQWCACKAIAQcoARw0SIABByKMBIAJBGGoQWAweCyADQRRqIgBBlaQBIAEQWCACKAIAQcsARw0RDB0LIANBFGoiAEGWpAEgARBYIAIoAgBBzABHDRAMEgsgA0EUaiIAQZekASABEFggAigCAEHNAEcNDwwRCyADQRRqIgBBmKQBIAEQWCACKAIAQc4ARw0ODBYLIANBFGoiAEGZpAEgARBYIAIoAgBBzwBHDQ0gAigCGARAIANBGGpByKMBIAJBGGoQWwsgAigCFARAIANBGGpByKMBIAJBFGoQWwsgAigCEARAIANBGGpByKMBIAJBEGoQWwsMHgsgA0EUakGapAEgARBYIAIoAgBB0ABGDR4MDAsgA0EUaiIAQZukASABEFggAigCAEHRAEcNCwwTCyADQRRqIgBBnKQBIAEQWCACKAIAQdIARw0KIAIoAhQEQCADQRhqQcijASACQRRqEFsLIABByKMBIAJBEGoQWAwbCyADQRRqIgBBnaQBIAEQWCACKAIAQdMARw0JDBcLIANBFGoiAEGepAEgARBYIAIoAgBB1ABHDQgMDwsgA0EUaiIAQZ+kASABEFggAigCAEHVAEcNBwwPCyADQRRqIgBBoKQBIAEQWCACKAIAQdYARw0GDBMLIANBFGoiAEGhpAEgARBYIAIoAgBB1wBHDQUMEwsgA0EUaiIAQaKkASABEFggAigCAEHYAEcN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DyAAIQEgDw0ACwsPC0Hw7QVBxZgDQZQGQY3eABABAAtBxaIBQYmiA0G8AUGmiAUQAQALQYGDAkHTmQNBuQJBrvcCEAEACyAAQeuiASACQRxqEFgLIABB66IBIAJBGGoQWAsgAEHrogEgAkEUahBYCyAAQeuiASACQRBqEFgPCyAAQeuiASACQRRqEFgLIABB66IBIAJBEGoQWAsgAEHrogEgAkEMahBYDwsgAEHrogEgAkEoahBYCyAAQeuiASACQSRqEFgPCyAAQeuiASACQRxqEFggAEHrogEgAkEYahBYDwsgAEHrogEgAkEUahBYCyAAQeuiASACQRBqEFgLIABB66IBIAJBDGoQWAsgAEHrogEgAkEIahBYDwsgAEEYakHrogEgAkEIahBbDwsgA0HrogEgAkEMahBYC/IPARh/IwBBsAJrIgMkAAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCBARAIAAgACgCACgCEBECAARAIAMgACgCBCICKQI4NwP4ASADIAIpAjA3A/ABIAMgAikCKDcD6AEgAyACKQIgNwPgASADIAIpAhg3A9gBIANBgAJqIAJBQGsQ4wEhBEHUiQtBADYCAEGaASADQZQCaiACQdQAahACIQVB1IkLKAIAIRFB1IkLQQA2AgAgEUEBRg0CIAMgAigCaDYCqAIgAyACKAJsIgI2AqwCIAIEQCACIAIoAgRBAWo2AgQLIANBASADKALgASICIAJBAEobNgLgASADIAMpA+gBNwMYIAMgAykD8AE3AyAgAyADKQP4ATcDKCADIAMpA+ABNwMQIANBASADKALcASICIAJBAEobNgLcAUHUiQtBADYCACADIAMpA9gBNwMIQZsBIANBMGogBBACIQRB1IkLKAIAIQJB1IkLQQA2AgACQCACQQFHBEBB1IkLQQA2AgBBmgEgA0HEAGogBRACIQVB1IkLKAIAIRJB1IkLQQA2AgAgEkEBRg0FIAMgAygCrAIiAjYCXCADIAMoAqgCNgJYIAIEQCACIAIoAgRBAWo2AgQLIANBADYCeCADIAMpAxA3AoQBIAMgAykDGDcCjAEgAyADKQMgNwKUASADIAMpAyg3ApwBIANCADcCcCADQfzsCTYCZCADIAMpAwg3AnxB1IkLQQA2AgAgAyABNgJoIAMgAUGoAWo2AmxBmwEgA0GkAWog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IABBGGpBsKEBIAEQWwsgACEDAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAIgIoAgAOXgABAgMEBQYHCAkKCwwNHh8gISIjJCU1Ng4PEBESExQVFhcYGRobHB03JicoKSorLC0uLzAxMjM0ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXABvC0GY/QNB5bMDQeoBEGIACyADQRRqQbKhASABEFggAigCAEEBRw1bIAIoAhQiAEEATA1tIANBGGohBgNAIABBAWsiBSACKAIUTw1dIAIoAhAgBUECdGoiBCgCAEUNbyAGQa6hASAEEFsgAEEBSyEJIAUhACAJDQALDG0LIANBFGoiAEGzoQEgARBYIAIoAgBBAkcNWiACKAIQBEAgA0EYakGuoQEgAkEQahBbCyAAQa6hASACQQxqEFggAEGuoQEgAkEIahBYDGwLIANBFGoiAEG0oQEgARBYIAIoAgBBA0cNWQxeCyADQRRqQbWhASABEFggAigCAEEERw1YIAIoAhQEQCADQRhqQa6hASACQRRqEFsLIAIoAhBFDWogA0EYakGuoQEgAkEQahBbDGoLIANBFGoiAEG2oQEgARBYIAIoAgBBBUcNVyAAQa6hASACQSRqEFggAigCIEUNaSADQRhqQa6hASACQSBqEFsMaQsgA0EUakG3oQEgARBYIAIoAgBBBkcNViACKAIMIgBBAEwNaCADQRhqIQYDQCAAQQFrIgUgAigCDE8NWCACKAIIIAVBAnRqIgQoAgBFDWogBkGuoQEgBBBbIABBAUshCiAFIQAgCg0ACwxoCyADQRRqIgBBuKEBIAEQWCACKAIAQQdHDVUgAEGuoQEgAkEcahBYIAIoAhAiAEEATA1nIANBGGohBgNAIABBAWsiBSACKAIQTw1XIAIoAgwgBUECdGoiBCgCAEUNaSAGQa6hASAEEFsgAEEBSyELIAUhACALDQALDGcLIANBFGpBuaEBIAEQWCACKAIAQQhGDWYMVAsgA0EUaiIAQbqhASABEFggAigCAEEJRw1TDFsLIANBFGpBu6EBIAEQWCACKAIAQQpGDWQMUgsgA0EUaiIAQbyhASABEFggAigCAEELRw1RDFYLIANBFGoiAEG9oQEgARBYIAIoAgBBDEcNUAxaCyADQRRqIgBBvqEBIAEQWCACKAIAQQ1HDU8MWAsgA0EUaiIAQb+hASABEFggAigCAEEYRw1ODFkLIANBFGoiAEHAoQEgARBYIAIoAgBBGUcNTSAAQa6hASACQSBqEFgMWAsgA0EUaiIAQcGhASABEFggAigCAEEaRw1MDE8LIANBFGoiAEHCoQEgARBYIAIoAgBBG0cNSwxPCyADQRRqQcOhASABEFggAigCAEEcRg1cDEoLIANBFGoiAEHEoQEgARBYIAIoAgBBHUcNSQxRCyADQRRqIgBBxaEBIAEQWCACKAIAQR5HDUggAEGuoQEgAkEUahBYDFALIANBFGoiAEHGoQEgARBYIAIoAgBBH0cNRwxVCyADQRRqIgBBx6EBIAEQWCACKAIAQSBHDUYMTAsgA0EUaiIAQcihASABEFggAigCAEEhRw1FDEwLIANBFGoiAEHJoQEgARBYIAIoAgBBIkcNRCAAQa6hASACQSBqEFgMVgsgA0EUaiIAQcqhASABEFggAigCAEEjRw1DDEwLIANBFGoiAEHLoQEgARBYIAIoAgBBJEcNQgxFCyADQRRqQcyhASABEFggAigCAEElRg1TDEELIANBFGoiAEHNoQEgARBYIAIoAgBBJkcNQAxNCyADQRRqIgBBzqEBIAEQWCACKAIAQSdHDT8MTAsgA0EUakHPoQEgARBYIAIoAgBBDkYNUAw+CyADQRRqIgBB0KEBIAEQWCACKAIAQQ9HDT0MRQsgA0EUaiIAQdGhASABEFggAigCAEEQRw08DEMLIANBFGoiAEHSoQEgARBYIAIoAgBBEUcNOwxICyADQRRqIgBB06EBIAEQWCACKAIAQRJHDToMSQsgA0EUakHUoQEgARBYIAIoAgBBE0cNOQxJCyADQRRqQdWhASABEFggAigCAEEURg1KDDgLIANBFGoiAEHWoQEgARBYIAIoAgBBFUcNNwxGCyADQRRqQdehASABEFggAigCAEEpRg1IDDYLIANBFGoiAEHYoQEgARBYIAIoAgBBKkcNNQxECyADQRRqQdmhASABEFggAigCAEErRg1GDDQLIANBFGoiAEHaoQEgARBYIAIoAgBBLEcNMwxBCyADQRRqIgBB26EBIAEQWCACKAIAQS1HDTIMNwsgA0EUaiIAQdyhASABEFggAigCAEEuRw0xDDULIANBFGpB3aEBIAEQWCACKAIAQS9GDUIMMAsgA0EUaiIAQd6hASABEFggAigCAEEwRw0vDDMLIANBFGoiAEHfoQEgARBYIAIoAgBBMUcNLgwxCyADQRRqIgBB4KEBIAEQWCACKAIAQTJHDS0MOgsgA0EUaiIGQeGhASABEFggAigCAEEzRw0sIAIoAigiAEEASgRAIANBGGohBANAIABBAWsiBSACKAIoTw0vIAIoAiQgBUECdGoiBygCAEUNQSAEQa6hASAHEFsgAEEBSyEMIAUhACAMDQALCyAGQa6hASACQRBqEFgMPgsgA0EUaiIAQeKhASABEFggAigCAEE0Rg06DCsLIANBFGpB46EBIAEQWCACKAIAQTVHDSogAigCFCIAQQBMDTwgA0EYaiEGA0AgAEEBayIFIAIoAhRPDSwgAigCECAFQQJ0aiIEKAIARQ0+IAZBrqEBIAQQWyAAQQFLIQ0gBSEAIA0NAAsMPAsgA0EUakHkoQEgARBYIAIoAgBBNkYNOwwpCyADQRRqIgBB5aEBIAEQWCACKAIAQTdHDSgMNwsgA0EUakHmoQEgARBYIAIoAgBBFkYNOQwnCyADQRRqQeehASABEFggAigCAEEXRg04DCYLIANBFGpB6KEBIAEQWCACKAIAQShGDTcMJQsgA0EUakHpoQEgARBYIAIoAgBBOEcNJCACKAIMIgBBAEwNNiADQRhqIQYDQCAAQQFrIgUgAigCDE8NJiACKAIIIAVBAnRqIgQoAgBFDTggBkGuoQEgBBBbIABBAUshDiAFIQAgDg0ACww2CyADQRRqIgBB6qEBIAEQWCACKAIAQTlHDSMMMgsgA0EUaiIAQeuhASABEFggAigCAEE6Rw0iDDELIANBFGoiAEHsoQEgARBYIAIoAgBBO0cNIQwwCyADQRRqIgBB7aEBIAEQWCACKAIAQTxHDSAgAEGuoQEgAkEYahBYIAIoAgwiAEEATA0yIANBGGohBgNAIABBAWsiBSACKAIMTw0iIAIoAgggBUECdGoiBCgCAEUNNCAGQa6hASAEEFsgAEEBSyEPIAUhACAPDQALDDILIANBFGoiAEHuoQEgARBYIAIoAgBBPUcNHwwuCyADQRRqIgBB76EBIAEQWCACKAIAQT5HDR4MLQsgA0EUaiIAQfChASABEFggAigCAEE/Rw0dIABBrqEBIAJBFGoQWAwvCyADQRRqQfGhASABEFggAigCAEHAAEcNHCACKAIMIgBBAEwNLiADQRhqIQYDQCAAQQFrIgUgAigCDE8NHiACKAIIIAVBAnRqIgQoAgBFDTAgBkGuoQEgBBBbIABBAUshECAFIQAgEA0ACwwuCyADQRRqIgBB8qEBIAEQWCACKAIAQcEARw0bDCMLIANBFGoiAEHzoQEgARBYIAIoAgBBwgBHDRoMIQsgA0EUaiIAQfShASABEFggAigCAEHDAEcNGSAAQa6hASACQQxqEFgMKQsgA0EUaiIAQfWhASABEFggAigCAEHEAEcNGAwcCyADQRRqIgBB9qEBIAEQWCACKAIAQcUARw0XDBsLIANBFGpB96EBIAEQWCACKAIAQcYARw0WIAIoAgwiAEEATA0oIANBGGohBgNAIABBAWsiBSACKAIMTw0YIAIoAgggBUECdGoiBCgCAEUNKiAGQa6hASAEEFsgAEEBSyERIAUhACARDQALDCgLIANBFGoiAEH4oQEgARBYIAIoAgBBxwBHDRUMIwsgA0EUaiIAQfmhASABEFggAigCAEHIAEcNFAwhCyADQRRqIgBB+qEBIAEQWCACKAIAQckARw0TDCILIANBFGoiAEH7oQEgARBYIAIoAgBBygBHDRIgAEGuoQEgAkEYahBYDB4LIANBFGoiAEH8oQEgARBYIAIoAgBBywBHDREMHQsgA0EUaiIAQf2hASABEFggAigCAEHMAEcNEAwSCyADQRRqIgBB/qEBIAEQWCACKAIAQc0ARw0PDBELIANBFGoiAEH/oQEgARBYIAIoAgBBzgBHDQ4MFgsgA0EUaiIAQYCiASABEFggAigCAEHPAEcNDSACKAIYBEAgA0EYakGuoQEgAkEYahBbCyACKAIUBEAgA0EYakGuoQEgAkEUahBbCyACKAIQBEAgA0EYakGuoQEgAkEQahBbCwweCyADQRRqQYGiASABEFggAigCAEHQAEYNHgwMCyADQRRqIgBBgqIBIAEQWCACKAIAQdEARw0LDBMLIANBFGoiAEGDogEgARBYIAIoAgBB0gBHDQogAigCFARAIANBGGpBrqEBIAJBFGoQWwsgAEGuoQEgAkEQahBYDBsLIANBFGoiAEGEogEgARBYIAIoAgBB0wBHDQkMFwsgA0EUaiIAQYWiASABEFggAigCAEHUAEcNCAwPCyADQRRqIgBBhqIBIAEQWCACKAIAQdUARw0HDA8LIANBFGoiAEGHogEgARBYIAIoAgBB1gBHDQYMEwsgA0EUaiIAQYiiASABEFggAigCAEHXAEcNBQwTCyADQRRqIgBBiaIBIAEQWCACKAIAQdgARw0EDBMLIANBFGoiAEGKogEgARBYIAIoAgBB2QBHDQMMCgsgA0EUaiIAQYuiASABEFggAigCAEHaAEcNAgwICyADQRRqIgBBjKIBIAEQWCACKAIAQdsARw0BDA8LIANBFGoiAEGNogEgARBYIAIoAgBB3ABHDQAgAEGuoQEgAkE8ahBYIAIoAjAiAEEATA0SIANBGGohBgNAIABBAWsiBSACKAIwTw0CIAIoAiwgBUECdGoiBCgCAEUNFCAGQa6hASAEEFsgAEEBSyESIAUhACASDQALDBILQfDtBUHFmANBlAZBjd4AEAEAC0HFogFBiaIDQbwBQaaIBRABAAsgAEGuoQEgAkEcahBYCyAAQa6hASACQRhqEFgLIABBrqEBIAJBFGoQWAsgAEGuoQEgAkEQahBYDAwLIABBrqEBIAJBFGoQWAsgAEGuoQEgAkEQahBYCyAAQa6hASACQQxqEFgMCQsgAEGuoQEgAkEoahBYCyAAQa6hASACQSRqEFgMBwsgAEGuoQEgAkEcahBYIABBrqEBIAJBGGoQWAwGCyAAQa6hASACQRRqEFgLIABBrqEBIAJBEGoQWAsgAEGuoQEgAkEMahBYCyAAQa6hASACQQhqEFgMAgsgAigCCEUNASADQRhqQa6hASACQQhqEFsMAQsgAEGuoQEgAkEMahBYCwJAIAgoAgAiAEEBa0EDTyAAQTNrQQFLcUUEQCABKAIARQ0BIANBGGpBsaEBIAEQWwsPCwtBgYMCQdOZA0G5AkGu9wIQAQALlDgCQn8CfiMAQYADayIEJAACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEtAIUBQQRxRQ0AIARB6ABqIAEQ9A8gBCgCaCIDIAQoAmwiCEcEQCADIQIDQAJAIAIoAgAiBUEQSQ0AIAUoAgQiBkUNAEHUiQtBADYCAEGqoQEgACAFIAYQCEHUiQsoAgAhFEHUiQtBADYCACAUQQFHDQAQACECIANFDRYgAxBaIAIQBwALIAJBBGoiAiAIRw0ACwsgAwRAIAMQWgsgACABNgJ8IAQgATYCNCAEQSxqIgZCADcCAEHMqQghAiAEQcypCDYCCCAEIAE2AiQgBCAGNgIoIAQgBEEIajYCGCAEIARBNGo2AgwCQAJAAkACQCABKAIMIgggASgCECIJRwRAAkADQAJAIAgoAgAhByAGIgUhAgJAAkAgBCgCLCIDRQ0AA0AgByADIgIoAhAiA0kEQCACIQUgAigCACIDDQEMAgsgAyAHTw0CIAIoAgQiAw0ACyACQQRqIQULQdSJC0EANgIAQQRBoAIQBiEDQdSJCygCACEVQdSJC0EANgIAIBVBAUYNASADIAc2AhAgA0EYakEAQbQB/AsAIANCADcCzAEgA0GcqQg2AhQgA0IANwLUASADQgA3AuABIANBgICA/AM2AtwBIANCADcC6AEgA0IANwL0ASADQYCAgPwDNgLwASADQgA3AvwBIANCADcChAIgA0IANwKMAiADQgA3ApQCIANBgICA/AM2ApwCIAMgAjYCCCADQgA3AgAgBSADNgIAIAQoAigoAgAiAgRAIAQgAjYCKCAFKAIAIQMLIAQoAiwgAxBnIAQgBCgCMEEBajYCMAsgCSAIQQRqIghHDQEMAgsLEAAhAgwYCyAEKAIYIgJFBEBBACECDAQLIAIgBEEIakcNASAEKAIIIQILIAQgBEE4aiIDNgJIIAIoAgwhFkHUiQtBADYCACAWIARBCGogAxADQdSJCygCACEXQdSJC0EANgIAIBdBAUcNAwwBCyACKAIAKAIIIRhB1IkLQQA2AgAgGCACEAYhAkHUiQsoAgAhGUHUiQtBADYCACAZQQFHDQELEAAhAgwUCyAEIAI2AkgLIAQoAiQiAigCDCIIIAIoAhAiCUcEQAJAAkADQAJAIAgoAgAiBygCDARAIAYiBSECAkACQCAEKAIsIgNFDQADQCAHIAMiAigCECIDSQRAIAIhBSACKAIAIgMNAQwCCyADIAdPBEAgAiEDDAMLIAIoAgQiAw0ACyACQQRqIQULQdSJC0EANgIAQQRBoAIQBiEDQdSJCygCACEaQdSJC0EANgIAIBpBAUYNAiADIAc2AhAgA0EYakEAQbQB/AsAIANCADcCzAEgA0GcqQg2AhQgA0IANwLUASADQgA3AuABIANBgICA/AM2AtwBIANCADcC6AEgA0IANwL0ASADQYCAgPwDNgLwASADQgA3AvwBIANCADcChAIgA0IANwKMAiADQgA3ApQCIANBgICA/AM2ApwCIAMgAjYCCCADQgA3AgAgBSADNgIAIAMhAiAEKAIoKAIAIgoEQCAEIAo2AiggBSgCACECCyAEKAIsIAIQZyAEIAQoAjBBAWo2AjALIAQoAkghAiAEIAc2AmggAkUEQEHUiQtBADYCAEHFABAJQdSJCygCACEbQdSJC0EANgIAIBtBAUYNBAwUCyACKAIAKAIYIRxB1IkLQQA2AgAgHCACIARB6ABqIANBFGoQCEHUiQsoAgAhHUHUiQtBADYCACAdQQFGDQELIAkgCEEEaiIIRw0BDAMLCxAAIQIMFAsQACECDBMLIAQoAiQhAgsgBEIANwCdAiAEQgA3AsACQQAhAyAEQQA6ALwCIARBFDYCuAIgBEKCgICAcDcCsAIgBEIANwKoAiAEQYECOwClAiAEQgA3AsgCIARCADcC0AIgBEKAgICAgICAwD83AtgCIARCADcC4AIgBEIANwLoAiAEQYCAgPwDNgLwAiAEQQA7AfwCIARCADcC9AIgBEIANwKYAiAEQfzsCTYCjAIgBCACNgKQAiAEIAJBqAFqNgKUAgJAAkACQAJAAkAgBCgCSCIFBEAgBEE4aiIDIAVGBEAgBCAEQdAAaiIFNgJgIAQoAjgoAgwhHkHUiQtBADYCACAeIAMgBRADQdSJCygCACEfQdSJC0EANgIAIB9BAUYNAyAEKAJgIQMMAgsgBSgCACgCCCEgQdSJC0EANgIAICAgBRAGIQNB1IkLKAIAISFB1IkLQQA2AgAgIUEBRg0CCyAEIAM2AmALQQAhBSAEQQA2AuQBIARCADcC3AEgBEIANwJ0IARCADcCfCAEQgA3AtQBIARCADcCbCAEIARBKGo2AuwBIAQgAjYC6AEgBEHwqQg2AmggBEHwAWohCAJAIAMEQCAEQdAAaiICIANGBEAgBCAINgKAAiAEKAJQKAIMISJB1IkLQQA2AgAgIiACIAgQA0HUiQsoAgAhI0HUiQtBADYCACAjQQFHDQIMFQsgAygCACgCCCEkQdSJC0EANgIAICQgAxAGIQVB1IkLKAIAISVB1IkLQQA2AgAgJUEBRg0UCyAEIAU2AoACCwJAIAQoAmwiAkUNACACIARBjAJqRg0AQdSJC0EANgIAQQ1B4sQGQbqLA0HjA0H+/AEQBUHUiQsoAgAhJkHUiQtBADYCACAmQQFHDRIMEQsgBCAEQYwCajYCbCAEKAJoKAIIISdB1IkLQQA2AgAgJyAEQegAaiAEKAIkEANB1IkLKAIAIShB1IkLQQA2AgAgKEEBRg0QIARB8KkINgJoAkACQCAIIAQoAoACIgJGBEBBBCEDIAghAgwBC0EFIQMgAkUNAQsgAiACKAIAIANBAnRqKAIAEQEACyAEKALUASICBEAgBCACNgLYASACEFoLIARBkO0JNgJoIAQsAHtBAEgEQCAEKAJwEFoLAkACQCAEKAJgIgIgBEHQAGoiBUYEQEEEIQMgBSECDAELQQUhAyACRQ0BCyACIAIoAgAgA0ECdGooAgARAQALIARB/OwJNgKMAiAEQaQCahBhIAQoApgCIgUEQCAEKAKcAiICIAUiA0cEQANAIAJBBGsiAigCACEDIAJBADYCACADBEAgAyADKAIAKAIEEQEACyACIAVHDQALIAQoApgCIQMLIAQgBTYCnAIgAxBaCyAEKAJIIgIgBEE4aiIFRw0BQQQhAyAFIQIMAgsQACECDBMLQQUhAyACRQ0BCyACIAIoAgAgA0ECdGooAgARAQALAkACQCAEKAIYIgIgBEEIaiIFRgRAQQQhAyAFIQIMAQtBBSEDIAJFDQELIAIgAigCACADQQJ0aigCABEBAAsCQCAEKAIoIgIgBkYNACAAQcwBaiEJA0AgAiIIQdQBaiECA0AgAigCACICRQRAIAgoAugBIgUEQANAIAUoAhQiAwRAA0AgAygCCCECIAQgBSgCCCIHNgKMAgJAIAIgB0YNACACQXxxQQxGDQBB1IkLQQA2AgBBjAMgAiAHEAIhKkHUiQsoAgAhKUHUiQtBADYCACApQQFGDRQgKkUEQEHUiQtBADYCAEENQY/uBUGZrAJByAFBn94AEAVB1IkLKAIAIStB1IkLQQA2AgAgK0EBRw0XDBULQdSJC0EANgIAQauhASAEQegAaiIKIAkgByAEQYwCahAFQdSJCygCACEsQdSJC0EANgIAICxBAUYNFEHUiQtBADYCAEHiAiAKIAQoAmhBDGogAiACEAVB1IkLKAIAIS1B1IkLQQA2AgAgLUEBRg0UCyADKAIAIgMNAAsLIAUoAgAiBQ0ACwsCQCAIKAIEIgMEQANAIAMiAigCACIDDQAMAgsACwNAIAgoAggiAigCACAIRyEuIAIhCCAuDQALCyACIAZHDQIMAwsgAikCCCFEQdSJC0EANgIAQaqhASAAIESnIERCIIinEAhB1IkLKAIAIS9B1IkLQQA2AgAgL0EBRw0ACwsMDAsgBCgCNCIHKAIYIgIgBygCHCIDRwRAA0AgAigCACIFKAIgIggEQCAIKAIEIQggBSgCHCEFQdSJC0EANgIAQayhASAAIAggBRAIQdSJCygCACEwQdSJC0EANgIAIDBBAUYNDgsgAkEEaiICIANHDQALIAQoAjQhBwsgBygCMCIJIAcoAjQiBUcEQANAIAkoAgAiAygCFARAIAAoAnwiAigC7AEhCCACKALoASECIAMoAhghBiADKQIMIURB1IkLQQA2AgBB+gAgAiAIIEQQ8QEhMkHUiQsoAgAhMUHUiQtBADYCACAxQQFGDQ4gMigCMCECQdSJC0EANgIAQayhASAAIAYgAhAIQdSJCygCACEzQdSJC0EANgIAIDNBAUYNDgsgAygCHCICIAMoAiAiCEcEQANAIAMoAhghBiACKAIAKAIEIQdB1IkLQQA2AgBBrKEBIAAgByAGEAhB1IkLKAIAITRB1IkLQQA2AgAgNEEBRg0PIAJBBGoiAiAIRw0ACwsgCUEEaiIJIAVHDQALIAQoAjQhBwsgAEEUaiEKIAAgBzYCfCAHKAIYIgIgBygCHCIDRwRAA0AgAigCACIFKAIMRQRAQdSJC0EANgIAQa2hASAKIAVBIGoQA0HUiQsoAgAhNUHUiQtBADYCACA1QQFGDQ4LIAJBBGoiAiADRw0ACwsgBygCMCILIAcoAjQiEUcEQCAAQRxqIQ8DQCALKAIAIgIoAhQEQEHUiQtBADYCAEGtoQEgCiACQRRqEANB1IkLKAIAITZB1IkLQQA2AgAgNkEBRg0OIAsoAgAhAgsgAigCHCIIIAIoAiAiEkcEQCAAKAJwIQUgACgCbCEDIAAoAhghBgNAIAQgCCgCACIJNgJoQdD4AiENQdOZAyEQIAUgA2siE0EDdSICQQAgBmtHBEBByAIhAEHNygUhAgwOCyAJRQRAQa73AiENQbkCIQBBgYMCIQIMDgsCQCAGQQlNBEAgACAGQQFqIgM2AhggDyAGQQN0aiICQa6hATYCACACIARB6ABqNgIEIAUhAiADIQYMAQsgACgCdCIMIAVLBEAgBUGuoQE2AgAgBSAEQegAajYCBCAAIAVBCGoiAjYCcAwBCyACQQFqIglBgICAgAJPBEBB1IkLQQA2AgBBr6EBEAkMEAtB/////wEgDCADayIMQQJ1Ig4gCSAJIA5JGyAMQfj///8HTxsiCUGAgICAAk8EQEHUiQtBADYCAEEDEAkMEAtB1IkLQQA2AgBBBCAJQQN0Ig4QBiEMQdSJCygCACE3QdSJC0EANgIAIDdBAUYNECAMIBNqIglBrqEBNgIAIAwgAkEDdGogBEHoAGo2AgQgCUEIaiECIAMgBUcEQANAIAlBCGsiCSAFQQhrIgUpAgA3AgAgAyAFRw0ACwsgACAMIA5qNgJ0IAAgAjYCcCAAIAk2AmwgA0UNACADEFogACgCcCECIAAoAhghBgtBACAGayACIAAoAmwiA2tBA3VHBEADQAJAIAIgA0YEQCAGRQRAQf37AiENQdoAIQBBsJQDIRBB3sQFIQIMEgsgDyAGQQFrIgVBA3RqIgMoAgQhAiADKAIAIQMgACAFNgIYDAELIAJBCGsiBSgCACEDIAUoAgQhAiAAIAU2AnALIAogAjYCACACKAIARQRAQc0CIQBB9YICIQIMEAtB1IkLQQA2AgAgAyAAIAIQA0HUiQsoAgAhOEHUiQtBADYCACA4QQFGDRFBACAAKAIYIgZrIAAoAnAiAiAAKAJsIgNrQQN1Rw0ACwsgAiEFIAhBBGoiCCASRw0ACwsgC0EEaiILIBFHDQALCyAHKAJIIgIgBygCTCIDRwRAA0AgAigCACIFKAIYBEBB1IkLQQA2AgBBraEBIAogBUEYahADQdSJCygCACE5QdSJC0EANgIAIDlBAUYNDgsgAkEEaiICIANHDQALCyAAQQA2AnwgBCgCLBC7BiAAQQA2AnwCQCAAKAL0AUUNACAAQfgBaiELA0AgACgC9AFFDQkgBCAAKALkASAAKALwASICQQh2Qfz//wdxaigCACACQf8HcUECdGooAgAiBTYCjAIgBEHoAGogCyAFIARBjAJqEP4EIAQoAmgiAiACKAIMQQFrNgIMIAAgACgC9AFBAWs2AvQBIAAgACgC8AFBAWoiAjYC8AEgAkGAEE8EQCAAKALkASgCABBaIAAgACgC5AFBBGo2AuQBIAAgACgC8AFBgAhrNgLwAQsgBEHoAGogCyAFIARBjAJqEP4EIAQoAmgoAgwNAAJAAkAgACgCvAEiBkUNACAFQZXTx94FbCICQRh2IAJzQZXTx94FbEGomb30fXNBldPH3gVsIgJBDXYgAnNBldPH3gVsIgJBD3YgAnMhAwJAIAZpQQFLIgdFBEAgBkEBayADcSEIDAELIAMiCCAGSQ0AIAMgBnAhCAsgACgCuAEgCEECdGooAgAiAkUNACACKAIAIgJFDQAgB0UEQCAGQQFrIQYDQAJAIAMgAigCBCIHRwRAIAYgB3EgCEYNAQwECyACKAIIIAVGDQQLIAIoAgAiAg0ACwwBCwNAAkAgAyACKAIEIgdHBEAgBiAHTQR/IAcgBnAFIAcLIAhGDQEMAwsgAigCCCAFRg0DCyACKAIAIgINAAsLQZDABBDqAgALAkAgAigCDCIDQRBJDQACQAJAIAVBEEkNAAJAAkAgBSgCEA4EAwIAAQILIAMoAhBBAkcNDCADKAIYIgIgAygCFCIIRg0DQQEgAiAIa0EMbSICIAJBAU0bIQhBACECA0AgACACQQxsIgYgBSgCFGooAgAgAygCFCAGaigCABDNAiACQQFqIgIgCEcNAAsMAwsgAygCEEEDRw0KIAAgBSgCFCADKAIUEM0CDAILQYGVBkGZrAJB+gFBm9gBEAEACyADKAIQDQcgACADKQIUIkSnIAUpAhQiRacQzQIgACBFQiCIpyBEQiCIpxDNAgsgACgC9AENACAAKALAASIIRQ0BA0AgCCgCCCEJIAghAgNAIAIoAgwiBUGV08feBWwiA0EYdiADc0GV08feBWxBqJm99H1zQZXTx94FbCIDQQ12IANzQZXTx94FbCIDQQ92IANzIQMCQCAAKALQASIHRQ0AIAAoAswBAn8gB0EBayADcSAHaUEBSyIKRQ0AGiADIAMgB0kNABogAyAHcAsiDUECdGooAgAiBkUNACAGKAIAIgZFDQACQCAKRQRAIAdBAWshBwNAAkAgAyAGKAIEIgpHBEAgByAKcSANRg0BDAULIAYoAgggBUYNAwsgBigCACIGDQALDAILA0ACQCADIAYoAgQiCkcEQCAHIApNBH8gCiAHcAUgCgsgDUYNAQwECyAGKAIIIAVGDQILIAYoAgAiBg0ACwwBCyAGKAIUIgZFDQADQAJAIAYoAggiAyAJRwRAIAkgAxCUA0UNAQsgACAJIAMQ6AcLIAYoAgAiBg0ACyACKAIMIgVBldPH3gVsIgJBGHYgAnNBldPH3gVsQaiZvfR9c0GV08feBWwiAkENdiACc0GV08feBWwiAkEPdiACcyEDCwJAIAAoArwBIgZFDQAgACgCuAECfyAGQQFrIANxIAZpQQFLIgdFDQAaIAMgAyAGSQ0AGiADIAZwCyIKQQJ0aigCACICRQ0AIAIoAgAiAkUNACAHRQRAIAZBAWshBgNAAkAgAyACKAIEIgdHBEAgBiAHcSAKRw0EDAELIAIoAgggBUYNBAsgAigCACICDQALDAELA0ACQCADIAIoAgQiB0cEQCAGIAdNBH8gByAGcAUgBwsgCkcNAwwBCyACKAIIIAVGDQMLIAIoAgAiAg0ACwsLIAgoAgAiCA0ACyAAKAL0AQ0ACwsgBCABNgJsIARB+OsJNgJoQdgAEFwiAkIANwIYIAJCADcCOCACQgA3AiggAkIANwIgIAJCgICAgICAgMA/NwIwIAJBQGtCADcCACACQgA3AlAgAkKAgID8AzcCSCAEQgA3AnwgBEEANgKQASAEIARBiAFqIgU2AowBIARBgICA/AM2AoQBIARCADcCdCAEIAI2AnAgBSAFNgIAIAQgADYClAEgBEGgqgg2AmhB1IkLQQA2AgBBzcEAIARBjAJqIgIgBEHoAGoiAxADQdSJCygCACE6QdSJC0EANgIAIDpBAUYNAUHUiQtBADYCAEGQGiADIAIQA0HUiQsoAgAhO0HUiQtBADYCACA7QQFGDQMgBCgClAIiAgRAA0AgAigCACE8IAIQWiA8IgINAAsLIAQoAowCIQIgBEEANgKMAiACBEAgAhBaCyAEQfjrCTYCaAJAIAQoApABRQ0AIAQoAowBIgIoAgAiAyAEKAKIASgCBCIINgIEIAggAzYCACAEQQA2ApABIAIgBUYNAANAIAIoAgQhPSACEFogPSICIAVHDQALCyAEKAJ8IgIEQANAIAIoAgAhPiACEFogPiICDQALCyAEKAJ0IQIgBEEANgJ0IAIEQCACEFoLIAQoAnAhAiAEQQA2AnAgAgRAIAIQkQMLIARCADcCeCAEQQA2AuQBIARCADcC3AEgBEEANgKAASAEQgA3AvABIARBgICA/AM2AvgBIARBuMMDLwAAOwF4IARCADcC1AEgBEIANwLoASAEQczsCTYCaCAEQbDDAykAADcCcCAEQQo6AHsgBCAAKAIENgJsQdSJC0EANgIAQbIZIARB6ABqIAEQA0HUiQsoAgAhP0HUiQtBADYCACA/QQFGDQIgBEHM7Ak2AmggBCgC8AEiAwRAA0AgAygCACFBIAMoAhgiAARAA0AgACgCACFAIAAQWiBAIgANAAsLIAMoAhAhACADQQA2AhAgAARAIAAQWgsgAxBaIEEiAw0ACwsgBCgC6AEhACAEQQA2AugBIAAEQCAAEFoLIAQoAtQBIgAEQCAEIAA2AtgBIAAQWgsgBEGQ7Qk2AmggBCwAe0EATg0AIAQoAnAQWgsgBEGAA2okAA8LEAAhAAwGCxAAIQIgBEHoAGoQyAIaDBALEAAhACAEQYwCahCiAQwEC0HhlQZBuLMCQdsJQY/iAxABAAtB//cFQbizAkHqCUHnIxABAAtBmfkFQbizAkHlCUHohgEQAQALQav3BUHHngNBNEHvugIQAQALIARB6ABqELwFGiAAEAcAC0HUiQtBADYCAEENIAIgECAAIA0QBQtB1IkLKAIAIUJB1IkLQQA2AgAgQkEBRw0CCxAAIUMgBCgCLBC7BiBDEAcACxAAIQIgBEHoAGoQ1wwaDAILAAsQACECIARB6ABqEOQBGgsCQCAEKAJgIgAgBEHQAGoiAUYEQEEEIQMgASEADAELQQUhAyAARQ0BCyAAIAAoAgAgA0ECdGooAgARAQALIARBjAJqEHwaCwJAIAQoAkgiACAEQThqIgFGBEBBBCEDIAEhAAwBC0EFIQMgAEUNAQsgACAAKAIAIANBAnRqKAIAEQEACyAEKAIsELsGAkAgBCgCGCIAIARBCGoiAUYEQEEEIQMgASEADAELQQUhAyAARQ0BCyAAIAAoAgAgA0ECdGooAgARAQAgAhAHAAsgAhAHAAsJACAAENEJEFoL4gIBBX8CQAJAIAAoAiwiBygCHCIERQ0AIANBldPH3gVsIgBBGHYgAHNBldPH3gVsQaiZvfR9c0GV08feBWwiAEENdiAAc0GV08feBWwiAEEPdiAAcyEGIAcoAhgCfyAEQQFrIAZxIARpIgVBAU0NABogBiAEIAZLDQAaIAYgBHALIghBAnRqKAIAIgBFDQAgACgCACIARQ0AAkAgBUEBTQRAIARBAWshBANAAkAgACgCBCIFIAZHBEAgBCAFcSAIRg0BDAULIAAoAgggA0YNAwsgACgCACIADQALDAILA0ACQCAAKAIEIgUgBkcEQCAEIAVNBH8gBSAEcAUgBQsgCEYNAQwECyAAKAIIIANGDQILIAAoAgAiAA0ACwwBCyABKAIAIgAoAlAgACgCTCIAa0EDdSACTQ0BIAAgAkEDdGooAgAgBy0AFEEBczoAAQsPC0G5wwZBuLMCQdITQa3iAhABAAslACAAKAIAQdIARwRAQbuyBkGntwJB/yNBibsDEAEACyAAKAIMC/sJARR/IwBBoAFrIgMkAAJAAkACQAJAAkACQAJAAkACQCABLQCFAUEEcUUNACADQQA6AIgBIANBADoAaAJAIAAtABRFDQBB1IkLQQA2AgBBqhkgA0EMaiICIAEQA0HUiQsoAgAhCkHUiQtBADYCACAKQQFGDQdB1IkLQQA2AgBBqxkgA0HIAGogAhACIQRB1IkLKAIAIQtB1IkLQQA2AgAgC0EBRg0IIAMoAgwiAgRAIAIQWgsgA0HoAGogBBDiCSAEKAIUIgIEQANAIAIoAgAhDCACKAIMIgYEQCACIAY2AhAgBhBaCyACEFogDCICDQALCyAEKAIMIQIgBEEANgIMIAIEQCACEFoLIAQoAgAiAkUNACAEIAI2AgQgAhBaC0HUiQtBADYCAEGpoQEgA0E8aiABEANB1IkLKAIAIQJB1IkLQQA2AgACQCACQQFHBEAgAygCPCIFIAMoAkAiB0cEQCAAQRhqIQggBSECA0AgAigCACEEAkAgAC0AFARAQdSJC0EANgIAQa4ZIAMoAnQgAygCeCAEEAQhBkHUiQsoAgAhDUHUiQtBADYCACANQQFGDQggBigCACAGKAIERw0BC0HUiQtBADYCAEHiAiADQQxqIAggBCAEEAVB1IkLKAIAIQ5B1IkLQQA2AgAgDkEBRw0AEAAhAgwKCyACQQRqIgIgB0cNAAsLIAMgATYCECADQfjrCTYCDEHUiQtBADYCAEEEQdgAEAYhAUHUiQsoAgAhD0HUiQtBADYCACAPQQFGDQMgAUIANwIYIAFCADcCOCABQgA3AiggAUIANwIgIAFCgICAgICAgMA/NwIwIAFBQGtCADcCACABQgA3AlAgAUKAgID8AzcCSCADQgA3AiAgA0EANgI0IAMgA0EsaiIENgIwIANBgICA/AM2AiggA0IANwIYIAMgATYCFCAEIAQ2AgAgAyAANgI4IANB+KgINgIMQdSJC0EANgIAQc3BACADQYwBaiADQQxqEANB1IkLKAIAIRBB1IkLQQA2AgAgEEEBRw0BEAAhAgwGCxAAIQIMCQtB1IkLQQA2AgBBkBogA0EMaiADQYwBahADQdSJCygCACERQdSJC0EANgIAIBFBAUYNAyADKAKUASICBEADQCACKAIAIRIgAhBaIBIiAg0ACwsgAygCjAEhACADQQA2AowBIAAEQCAAEFoLIANB+OsJNgIMAkAgAygCNEUNACADKAIwIgIoAgAiACADKAIsKAIEIgE2AgQgASAANgIAIANBADYCNCACIARGDQADQCACKAIEIRMgAhBaIBMiAiAERw0ACwsgAygCICICBEADQCACKAIAIRQgAhBaIBQiAg0ACwsgAygCGCEAIANBADYCGCAABEAgABBaCyADKAIUIQAgA0EANgIUIAAEQCAAEJEDCyAFBEAgBRBaCyADLQCIAUUNACADKAJ8IgIEQANAIAIoAgAhFSACKAIMIgEEQCACIAE2AhAgARBaCyACEFogFSICDQALCyADKAJ0IQAgA0EANgJ0IAAEQCAAEFoLIAMoAmgiAEUNACADIAA2AmwgABBaCyADQaABaiQADwsQACECDAMLEAAhAgwCCxAAIQIgA0GMAWoQogELIANBDGoQvAUaCyAFRQ0CIAUQWgwCCxAAIQIMAQsQACECIAMoAgwiAEUNACAAEFoLIANB6ABqEKYNIAIQBwALYQEDfyAAQcioCDYCACAAKAIgIgIEQANAIAIoAgAhAyACEFogAyICDQALCyAAKAIYIQEgAEEANgIYIAEEQCABEFoLIABBkO0JNgIAIAAsABNBAEgEQCAAKAIIEFoLIAAQWgtfAQN/IABByKgINgIAIAAoAiAiAgRAA0AgAigCACEDIAIQWiADIgINAAsLIAAoAhghASAAQQA2AhggAQRAIAEQWgsgAEGQ7Qk2AgAgACwAE0EASARAIAAoAggQWgsgAAtZACABKAIAIgEoAgBBOUYEQAJAAkAgASgCCCIBKAIAQQhrDgIAAAELIAAoAowBIAEoAghBAnRqIgAgACgCAEEBajYCAAsPC0Hw7QVBxZgDQZQGQY3eABABAAvJAwEEfyMAQRBrIgUkACABKAIAIgEoAgBBCUYEQAJAIAAoAnggASgCCBDQAiIDQQdJDQAgAygCBA0AIAAoAoABIAEoAghBAnRqIgMgAygCAEECQQEgASgCBBtqNgIAAkACQAJAIAEoAgwiAygCACICQQhrDgIBAAILAkACQCADKAIEDgIABAELQZqbBkG4ngJB/wBBw4QBEAEACyAAKAKMASICIAMoAghBAnRqIgQgBCgCAEEBajYCACACIAEoAghBAnRqIgIgAigCAEEBajYCACAFQQhqIgQgACgCmAEgAygCCEEUbGogASgCCCICIAIQhgYgBCAAKAKYASABKAIIQRRsaiADKAIIIgAgABCGBgwCCyAAKAKMASICIAMoAghBAnRqIgQgBCgCAEEBajYCACACIAEoAghBAnRqIgIgAigCAEEBajYCACAFQQhqIgQgACgCmAEgAygCCEEUbGogASgCCCICIAIQhgYgBCAAKAKYASABKAIIQRRsaiADKAIIIgAgABCGBgwBCyACQThHDQAgACgCjAEgASgCCEECdGoiACAAKAIAQQFqNgIACyAFQRBqJAAPC0Hw7QVBxZgDQZQGQY3eABABAAtZAQF/IAEoAgAiASgCAEEIRgRAAkAgASgCBCICQQdJDQAgAigCBA0AIAAoAoABIAEoAghBAnRqIgAgACgCAEEBajYCAAsPC0Hw7QVBxZgDQZQGQY3eABABAAv9AwEGfwJAAkAgASgCACIHKAIAQTlGBEAgBygCCCEFIAAoAnQiA0UNASAFQZXTx94FbCIBQRh2IAFzQZXTx94FbEHUzJ76BnMiAUENdiABc0GV08feBWwiAUEPdiABcyECIAAoAnACfyACIANBAWtxIANpIgRBAU0NABogAiACIANJDQAaIAIgA3ALIgZBAnRqKAIAIgFFDQEgASgCACIBRQ0BAkAgBEEBTQRAIANBAWshAwNAAkAgAiABKAIEIgRHBEAgAyAEcSAGRw0GDAELIAEoAgggBUYNAwsgASgCACIBDQALDAMLA0ACQCACIAEoAgQiBEcEQCADIARNBH8gBCADcAUgBAsgBkcNBQwBCyABKAIIIAVGDQILIAEoAgAiAQ0ACwwCCyABKAIMIQEMAgtB8O0FQcWYA0GUBkGN3gAQAQALIAUhAUEAIQULAkACQCABKAIEIgJBAUYNACAAKAJsIAEQ2QwiBEUNACAHKAIMIQYgACgCaCEDAkACQCACQQdJDQAgAigCBA0AIAIoAgggBkECdGooAgAhAgwBCyACRQ0CIAYNAgsgA0GoAWpBDEEEEF0iASAEIAZqNgIIIAFBCDYCACABIAI2AgQgBQRAIAAgAyAFIAFCABDKAhB5DwsgACABEHkLDwtB3cMGQbizAkHYCEGg1gUQAQALvBYBI38jAEEQayIMJAACQAJAAkACQAJAAkACQCABKAIAIg4oAgBBCUYEQCAAKAJsIgEoAgQiBUUNByAOKAIIIQQCQCAFaSIGQQFNBEAgBUEBayAEcSECDAELIAQiAiAFSQ0AIAQgBXAhAgsgASgCACACQQJ0aigCACIBRQ0HIAEoAgAiAUUNBwJAIAZBAU0EQCAFQQFrIQUDQAJAIAQgASgCBCIGRwRAIAUgBnEgAkYNAQwMCyABKAIIIARGDQMLIAEoAgAiAQ0ACwwJCwNAAkAgBCABKAIEIgZHBEAgBSAGTQR/IAYgBXAFIAYLIAJGDQEMCwsgASgCCCAERg0CCyABKAIAIgENAAsMCAsgASgCDCIQRQ0HIAAoAmghBiAAKAJkIAQQ0AIhCCAOKAIMIgkoAgBBOEYEQCAIQQBHIQogBkGoAWohDSAIQQdJIQ9BACEEQQAhAUEAIQVBACECAkACQANAIAohBgJAIA8NACAIKAIEDQAgCCgCDCAIKAIIa0ECdSEGCyACIAZPBEBB1IkLQQA2AgBBDCANQSBBBBAEIQNB1IkLKAIAIRJB1IkLQQA2AgAgEkEBRg0DIANCADcCBCADQQE2AgAgA0IANwIMIANCADcCFCADIA02AhwgBSABayICQQJ1IQggASAFRwRAIAMgCDYCGEEAIQZB1IkLQQA2AgBBDCANIAJBBBAEIQJB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRg0EIAMgAjYCECABIQIDQCADKAIQIAZBAnRqIAIoAgA2AgAgBkEBaiEGIAJBBGoiAiAFRw0ACwsgAyAINgIUQdSJC0EANgIAQYMDIANBAEEAQQAQBUHUiQsoAgAhFEHUiQtBADYCACAUQQFGDQMgDCADNgIEIA4oAgQEQEHUiQtBADYCAEGnoQEgDEEIaiAAQfAAaiADIAxBBGoQBUHUiQsoAgAhFUHUiQtBADYCACAVQQFGDQQgDCgCCCAONgIMC0HUiQtBADYCAEGooQEgACADEANB1IkLKAIAIRZB1IkLQQA2AgAgFkEBRg0DDAYLAkAgAiAJKAIMTwRAQdSJC0EANgIAQQ1BxaIBQYmiA0G8AUGmiAUQBUHUiQsoAgAhF0HUiQtBADYCACAXQQFGDQEMDAsgCSgCCCACQQJ0aigCACEGQdSJC0EANgIAQQwgDUEQQQQQBCELQdSJCygCACEYQdSJC0EANgIAIBhBAUYNAiALIAY2AgwgC0IJNwIAIAsgAiAQajYCCCALIAYoAgRBAUYiAzYCBCALIAMgBigCBEEBRnI2AgQCQCAFIAdJBEAgBSALNgIADAELAkACQAJAIAUgBGtBAnUiBkEBaiIBQYCAgIAETwRAQdSJC0EANgIAQQ4QCQwBC0H/////AyAHIARrIgNBAXUiByABIAEgB0kbIANB/P///wdPGyIHRQRAQQAhAwwDCyAHQYCAgIAESQ0BQdSJC0EANgIAQQMQCQtB1IkLKAIAIRlB1IkLQQA2AgAgGUEBRw0OEAAhASAEDQwMDQtB1IkLQQA2AgBBBCAHQQJ0EAYhA0HUiQsoAgAhGkHUiQtBADYCACAaQQFGDQQLIAMgBkECdGoiBiALNgIAIAYhASAEIAVHBEADQCABQQRrIgEgBUEEayIFKAIANgIAIAQgBUcNAAsLIAdBAnQgA2ohByAEBEAgBBBaCyABIQQgBiEFCyACQQFqIQIgBUEEaiEFDAELCxAAIQEgBA0HDAgLEAAhASAEDQYMBwsQACEBIAQNBQwGCyAAQfAAaiELAkAgACgCdCIERQRAQQAhBAwBCyAJQZXTx94FbCIBQRh2IAFzQZXTx94FbEHUzJ76BnMiAUENdiABc0GV08feBWwiAUEPdiABcyECAkAgBGkiBUEBTQRAIARBAWsgAnEhAwwBCyACIgMgBEkNACADIARwIQMLIAsoAgAgA0ECdGooAgAiAUUEQEEAIQQMAQsgASgCACIBRQRAQQAhBAwBCwJAIAVBAU0EQCAEQQFrIQQDQAJAIAIgASgCBCIFRwRAIAQgBXEgA0YNAUEAIQQMBQsgASgCCCAJRg0DCyABKAIAIgENAAtBACEEDAILA0ACQCACIAEoAgQiBUcEQCAEIAVNBH8gBSAEcAUgBQsgA0YNAUEAIQQMBAsgASgCCCAJRg0CCyABKAIAIgENAAtBACEEDAELQQQQXCIEIAk2AgAgBEEEaiEHIAEoAgwhCQsgACgCbCAJENkMIhFFDQIgCEEARyENIAZBqAFqIQkgCEEHSSEPIAQhASAHIQVBACEDAkADQAJAAkACQCAPRQRAIAgoAgQEfyANBSAIKAIMIAgoAghrQQJ1CyADTQ0BIA8NAiAIKAIEDQIgCCgCCCADQQJ0aigCACECDAMLIAMgDUkNAQtB1IkLQQA2AgBBDCAJQSBBBBAEIQNB1IkLKAIAIRtB1IkLQQA2AgAgG0EBRg0HIANCADcCBCADQQE2AgAgA0IANwIMIANCADcCFCADIAk2AhwgBSABayICQQJ1IQggASAFRwRAIAMgCDYCGEEAIQZB1IkLQQA2AgBBDCAJIAJBBBAEIQJB1IkLKAIAIRxB1IkLQQA2AgAgHEEBRg0IIAMgAjYCECABIQIDQCADKAIQIAZBAnRqIAIoAgA2AgAgBkEBaiEGIAJBBGoiAiAFRw0ACwsgAyAINgIUQdSJC0EANgIAQYMDIANBAEEAQQAQBUHUiQsoAgAhHUHUiQtBADYCACAdQQFGDQcgDCADNgIEIA4oAgQEQEHUiQtBADYCAEGnoQEgDEEIaiALIAMgDEEEahAFQdSJCygCACEeQdSJC0EANgIAIB5BAUYNCCAMKAIIIA42AgwLQdSJC0EANgIAQaihASAAIAMQA0HUiQsoAgAhH0HUiQtBADYCACAfQQFGDQcMBQsgCARAIAghAiADRQ0BC0HUiQtBADYCAEENQd3DBkG4swJB2AhBoNYFEAVB1IkLKAIAISBB1IkLQQA2AgAgIEEBRw0JDAYLQdSJC0EANgIAQQwgCUEMQQQQBCEGQdSJCygCACEhQdSJC0EANgIAICFBAUYNASAGQQg2AgAgBiACNgIEIAYgAyARajYCCEHUiQtBADYCAEEMIAlBEEEEEAQhCkHUiQsoAgAhAkHUiQtBADYCAAJAIAJBAUYNACAKIAY2AgwgCkIJNwIAIAogAyAQajYCCCAKIAYoAgRBAUYiAjYCBCAKIAIgBigCBEEBRnI2AgQCQCAFIAdJBEAgBSAKNgIADAELAkACQAJAIAUgBGtBAnUiAkEBaiIBQYCAgIAETwRAQdSJC0EANgIAQQ4QCQwBC0H/////AyAHIARrIgZBAXUiByABIAEgB0kbIAZB/P///wdPGyIHRQRAQQAhBgwDCyAHQYCAgIAESQ0BQdSJC0EANgIAQQMQCQtB1IkLKAIAISJB1IkLQQA2AgAgIkEBRw0MDAkLQdSJC0EANgIAQQQgB0ECdBAGIQZB1IkLKAIAISNB1IkLQQA2AgAgI0EBRg0CCyAGIAJBAnRqIgIgCjYCACACIQEgBCAFRwRAA0AgAUEEayIBIAVBBGsiBSgCADYCACAEIAVHDQALCyAHQQJ0IAZqIQcgBARAIAQQWgsgASEEIAIhBQsgA0EBaiEDIAVBBGohBQwBCwsMBAsMAwtB8O0FQcWYA0GUBkGN3gAQAQALIAFFDQUgARBaDAULQdSJC0EANgIAQQ1Bu+ADQbieAkHBAkHDhAEQBUHUiQsoAgAhJEHUiQtBADYCACAkQQFHDQMLEAAhASAERQ0BCyAEEFoLIAEQBwALAAsgDEEQaiQAC90eAQ5/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgASgCACICKAIADl4AAQIDBAUGBwgJCgsMDR4fICEiIyQlNTYODxAREhMUFRYXGBkaGxwdNyYnKCkqKywtLi8wMTIzNDg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaW1wAXQtBmP0DQeWzA0HqARBiAAsgAEHLoAEgARBYIAIoAgBBAUcNXCACKAIUIgFBAEwNWyAAQQRqIQQDQCABQQFrIgAgAigCFE8NXiACKAIQIABBAnRqIgMoAgBFDV8gBEHunwEgAxBbIAFBAUshBiAAIQEgBg0ACwxbCyAAQcygASABEFggAigCAEECRw1bIAIoAhAEQCAAQQRqQe6fASACQRBqEFsLDGALIABBzaABIAEQWCACKAIAQQNHDVoMYwsgAEHOoAEgARBYIAIoAgBBBEcNWSACKAIUBEAgAEEEakHunwEgAkEUahBbCyACKAIQRQ1YIABBBGpB7p8BIAJBEGoQWw8LIABBz6ABIAEQWCACKAIAQQVHDVggAEHunwEgAkEkahBYIAIoAiBFDVcgAEEEakHunwEgAkEgahBbDwsgAEHQoAEgARBYIAIoAgBBBkcNVyACKAIMIgFBAEwNViAAQQRqIQQDQCABQQFrIgAgAigCDE8NWSACKAIIIABBAnRqIgMoAgBFDVogBEHunwEgAxBbIAFBAUshByAAIQEgBw0ACwxWCyAAQdGgASABEFggAigCAEEHRw1WIABB7p8BIAJBHGoQWCACKAIQIgFBAEwNVSAAQQRqIQQDQCABQQFrIgAgAigCEE8NWCACKAIMIABBAnRqIgMoAgBFDVkgBEHunwEgAxBbIAFBAUshCCAAIQEgCA0ACwxVCyAAQdKgASABEFggAigCAEEIRg1UDFULIABB06ABIAEQWCACKAIAQQlHDVQMYAsgAEHUoAEgARBYIAIoAgBBCkYNUgxTCyAAQdWgASABEFggAigCAEELRw1SDFsLIABB1qABIAEQWCACKAIAQQxHDVEMXwsgAEHXoAEgARBYIAIoAgBBDUcNUAxdCyAAQdigASABEFggAigCAEEYRw1PDF4LIABB2aABIAEQWCACKAIAQRlHDU4gAEHunwEgAkEgahBYDF0LIABB2qABIAEQWCACKAIAQRpHDU0MVAsgAEHboAEgARBYIAIoAgBBG0cNTAxUCyAAQdygASABEFggAigCAEEcRg1KDEsLIABB3aABIAEQWCACKAIAQR1HDUoMVgsgAEHeoAEgARBYIAIoAgBBHkcNSSAAQe6fASACQRRqEFgMVQsgAEHfoAEgARBYIAIoAgBBH0cNSAxNCyAAQeCgASABEFggAigCAEEgRw1HDFELIABB4aABIAEQWCACKAIAQSFHDUYMUQsgAEHioAEgARBYIAIoAgBBIkcNRSAAQe6fASACQSBqEFgPCyAAQeOgASABEFggAigCAEEjRw1EDFELIABB5KABIAEQWCACKAIAQSRHDUMMSgsgAEHloAEgARBYIAIoAgBBJUYNQQxCCyAAQeagASABEFggAigCAEEmRw1BDEULIABB56ABIAEQWCACKAIAQSdHDUAMRAsgAEHooAEgARBYIAIoAgBBDkYNPgw/CyAAQemgASABEFggAigCAEEPRw0+DEoLIABB6qABIAEQWCACKAIAQRBHDT0MSAsgAEHroAEgARBYIAIoAgBBEUcNPAxACyAAQeygASABEFggAigCAEESRw07DEsLIABB7aABIAEQWCACKAIAQRNHDTogAigCCEUNOQxLCyAAQe6gASABEFggAigCAEEURg04DDkLIABB76ABIAEQWCACKAIAQRVHDTgMSAsgAEHwoAEgARBYIAIoAgBBKUYNNgw3CyAAQfGgASABEFggAigCAEEqRw02DEYLIABB8qABIAEQWCACKAIAQStGDTQMNQsgAEHzoAEgARBYIAIoAgBBLEcNNAw5CyAAQfSgASABEFggAigCAEEtRw0zDDwLIABB9aABIAEQWCACKAIAQS5HDTIMOgsgAEH2oAEgARBYIAIoAgBBL0YNMAwxCyAAQfegASABEFggAigCAEEwRw0wDDgLIABB+KABIAEQWCACKAIAQTFHDS8MNgsgAEH5oAEgARBYIAIoAgBBMkcNLgwyCyAAQfqgASABEFggAigCAEEzRw0tIAIoAigiAUEASgRAIABBBGohAwNAIAFBAWsiBCACKAIoTw0wIAIoAiQgBEECdGoiBSgCAEUNMSADQe6fASAFEFsgAUEBSyEJIAQhASAJDQALCww2CyAAQfugASABEFggAigCAEE0RgRADD0LDCwLIABB/KABIAEQWCACKAIAQTVHDSsgAigCFCIBQQBMDSogAEEEaiEEA0AgAUEBayIAIAIoAhRPDS0gAigCECAAQQJ0aiIDKAIARQ0uIARB7p8BIAMQWyABQQFLIQogACEBIAoNAAsMKgsgAEH9oAEgARBYIAIoAgBBNkYNKQwqCyAAQf6gASABEFggAigCAEE3Rw0pDDkLIABB/6ABIAEQWCACKAIAQRZGDScMKAsgAEGAoQEgARBYIAIoAgBBF0YNJgwnCyAAQYGhASABEFggAigCAEEoRg0lDCYLIABBgqEBIAEQWCACKAIAQThHDSUgAigCDCIBQQBMDSQgAEEEaiEEA0AgAUEBayIAIAIoAgxPDScgAigCCCAAQQJ0aiIDKAIARQ0oIARB7p8BIAMQWyABQQFLIQsgACEBIAsNAAsMJAsgAEGDoQEgARBYIAIoAgBBOUcNJAw0CyAAQYShASABEFggAigCAEE6Rw0jDDMLIABBhaEBIAEQWCACKAIAQTtHDSIMMgsgAEGGoQEgARBYIAIoAgBBPEcNISAAQe6fASACQRhqEFggAigCDCIBQQBMDSAgAEEEaiEEA0AgAUEBayIAIAIoAgxPDSMgAigCCCAAQQJ0aiIDKAIARQ0kIARB7p8BIAMQWyABQQFLIQwgACEBIAwNAAsMIAsgAEGHoQEgARBYIAIoAgBBPUcNIAwwCyAAQYihASABEFggAigCAEE+Rw0fDC8LIABBiaEBIAEQWCACKAIAQT9HDR4gAEHunwEgAkEUahBYDwsgAEGKoQEgARBYIAIoAgBBwABHDR0gAigCDCIBQQBMDRwgAEEEaiEEA0AgAUEBayIAIAIoAgxPDR8gAigCCCAAQQJ0aiIDKAIARQ0gIARB7p8BIAMQWyABQQFLIQ0gACEBIA0NAAsMHAsgAEGLoQEgARBYIAIoAgBBwQBHDRwMKAsgAEGMoQEgARBYIAIoAgBBwgBHDRsMJgsgAEGNoQEgARBYIAIoAgBBwwBHDRogAEHunwEgAkEMahBYIAIoAghFDRkMKwsgAEGOoQEgARBYIAIoAgBBxABHDRkMIQsgAEGPoQEgARBYIAIoAgBBxQBHDRgMIAsgAEGQoQEgARBYIAIoAgBBxgBHDRcgAigCDCIBQQBMDRYgAEEEaiEEA0AgAUEBayIAIAIoAgxPDRkgAigCCCAAQQJ0aiIDKAIARQ0aIARB7p8BIAMQWyABQQFLIQ4gACEBIA4NAAsMFgsgAEGRoQEgARBYIAIoAgBBxwBHDRYMGwsgAEGSoQEgARBYIAIoAgBByABHDRUMGQsgAEGToQEgARBYIAIoAgBByQBHDRQMJAsgAEGUoQEgARBYIAIoAgBBygBHDRMgAEHunwEgAkEYahBYDBYLIABBlaEBIAEQWCACKAIAQcsARw0SDBULIABBlqEBIAEQWCACKAIAQcwARw0RDBcLIABBl6EBIAEQWCACKAIAQc0ARw0QDBYLIABBmKEBIAEQWCACKAIAQc4ARw0PDBsLIABBmaEBIAEQWCACKAIAQc8ARw0OIAIoAhgEQCAAQQRqQe6fASACQRhqEFsLIAIoAhQEQCAAQQRqQe6fASACQRRqEFsLIAIoAhAEQCAAQQRqQe6fASACQRBqEFsLDBoLIABBmqEBIAEQWCACKAIAQdAARg0MDA0LIABBm6EBIAEQWCACKAIAQdEARw0MDBgLIABBnKEBIAEQWCACKAIAQdIARw0LIAIoAhQEQCAAQQRqQe6fASACQRRqEFsLDBYLIABBnaEBIAEQWCACKAIAQdMARw0KDA8LIABBnqEBIAEQWCACKAIAQdQARw0JDBQLIABBn6EBIAEQWCACKAIAQdUARw0IDBQLIABBoKEBIAEQWCACKAIAQdYARw0HDAsLIABBoaEBIAEQWCACKAIAQdcARw0GDAsLIABBoqEBIAEQWCACKAIAQdgARw0FDBULIABBo6EBIAEQWCACKAIAQdkARw0EDA8LIABBpKEBIAEQWCACKAIAQdoARw0DDA0LIABBpaEBIAEQWCACKAIAQdsARw0CDAcLIABBpqEBIAEQWCACKAIAQdwARw0BIABB7p8BIAJBPGoQWCACKAIwIgFBAEwNACAAQQRqIQQDQCABQQFrIgAgAigCME8NAyACKAIsIABBAnRqIgMoAgBFDQQgBEHunwEgAxBbIAFBAUshDyAAIQEgDw0ACwsPC0Hw7QVBxZgDQZQGQY3eABABAAtBxaIBQYmiA0G8AUGmiAUQAQALQYGDAkHTmQNBuQJBrvcCEAEACyAAQe6fASACQRRqEFgLIABB7p8BIAJBEGoQWAsgAEHunwEgAkEMahBYDAoLIABB7p8BIAJBHGoQWAsgAEHunwEgAkEYahBYCyAAQe6fASACQRRqEFgLIABB7p8BIAJBEGoQWA8LIABB7p8BIAJBFGoQWAsgAEHunwEgAkEQahBYCyAAQe6fASACQQxqEFgPCyAAQe6fASACQShqEFgLIABB7p8BIAJBJGoQWA8LIABB7p8BIAJBHGoQWCAAQe6fASACQRhqEFgPCyAAQe6fASACQQhqEFgPCyAAQQRqQe6fASACQQhqEFsLJQAgACgCAEHSAEcEQEG7sgZBp7cCQYskQfjxARABAAsgACgCEAtEAEGkARBcIgBBAEGAAfwLACAAQgA3AoABIABBmKgINgIAIABCADcCiAEgAEIANwKQASAAQgA3ApgBIABBADYCoAEgAAs5ACAAKAIERQRAQej6BUG6iwNBnARB7tMCEAEACyAAIAI2AnggACABNgJ8IAAgAhDaDCAAQgA3AngLviIBDn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEoAgAiAigCAA5eAAECAwQFBgcICQoLDA0eHyAhIiMkJTU2Dg8QERITFBUWFxgZGhscHTcmJygpKissLS4vMDEyMzQ4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcAF0LQZj9A0HlswNB6gEQYgALIABBFGpB758BIAEQWCACKAIAQQFHDVwgAigCFCIBQQBMDVsgAEEYaiEDA0AgAUEBayIAIAIoAhRPDV4gAigCECAAQQJ0aiIEKAIARQ1fIANB7J8BIAQQWyABQQFLIQYgACEBIAYNAAsMWwsgAEEUaiIDQfCfASABEFggAigCAEECRw1bIAIoAhAEQCAAQRhqQeyfASACQRBqEFsLIANB7J8BIAJBDGoQWCADQeyfASACQQhqEFgPCyAAQRRqIgBB8Z8BIAEQWCACKAIAQQNHDVoMYAsgAEEUakHynwEgARBYIAIoAgBBBEcNWSACKAIUBEAgAEEYakHsnwEgAkEUahBbCyACKAIQRQ1YIABBGGpB7J8BIAJBEGoQWw8LIABBFGoiA0HznwEgARBYIAIoAgBBBUcNWCADQeyfASACQSRqEFggAigCIEUNVyAAQRhqQeyfASACQSBqEFsPCyAAQRRqQfSfASABEFggAigCAEEGRw1XIAIoAgwiAUEATA1WIABBGGohAwNAIAFBAWsiACACKAIMTw1ZIAIoAgggAEECdGoiBCgCAEUNWiADQeyfASAEEFsgAUEBSyEHIAAhASAHDQALDFYLIABBFGoiA0H1nwEgARBYIAIoAgBBB0cNViADQeyfASACQRxqEFggAigCECIBQQBMDVUgAEEYaiEDA0AgAUEBayIAIAIoAhBPDVggAigCDCAAQQJ0aiIEKAIARQ1ZIANB7J8BIAQQWyABQQFLIQggACEBIAgNAAsMVQsgAEEUakH2nwEgARBYIAIoAgBBCEYNVAxVCyAAQRRqIgBB958BIAEQWCACKAIAQQlHDVQMXQsgAEEUakH4nwEgARBYIAIoAgBBCkYNUgxTCyAAQRRqIgBB+Z8BIAEQWCACKAIAQQtHDVIMWAsgAEEUaiIAQfqfASABEFggAigCAEEMRw1RDFwLIABBFGoiAEH7nwEgARBYIAIoAgBBDUcNUAxaCyAAQRRqIgBB/J8BIAEQWCACKAIAQRhHDU8MWwsgAEEUaiIAQf2fASABEFggAigCAEEZRw1OIABB7J8BIAJBIGoQWAxaCyAAQRRqIgBB/p8BIAEQWCACKAIAQRpHDU0MUQsgAEEUaiIAQf+fASABEFggAigCAEEbRw1MDFELIABBFGpBgKABIAEQWCACKAIAQRxGDUoMSwsgAEEUaiIAQYGgASABEFggAigCAEEdRw1KDFMLIABBFGoiAEGCoAEgARBYIAIoAgBBHkcNSSAAQeyfASACQRRqEFgMUgsgAEEUaiIAQYOgASABEFggAigCAEEfRw1IDFcLIABBFGoiAEGEoAEgARBYIAIoAgBBIEcNRwxOCyAAQRRqIgBBhaABIAEQWCACKAIAQSFHDUYMTgsgAEEUaiIAQYagASABEFggAigCAEEiRw1FIABB7J8BIAJBIGoQWA8LIABBFGoiAEGHoAEgARBYIAIoAgBBI0cNRAxOCyAAQRRqIgBBiKABIAEQWCACKAIAQSRHDUMMRwsgAEEUakGJoAEgARBYIAIoAgBBJUYNQQxCCyAAQRRqIgBBiqABIAEQWCACKAIAQSZHDUEMTwsgAEEUaiIAQYugASABEFggAigCAEEnRw1ADE4LIABBFGpBjKABIAEQWCACKAIAQQ5GDT4MPwsgAEEUaiIAQY2gASABEFggAigCAEEPRw0+DEcLIABBFGoiAEGOoAEgARBYIAIoAgBBEEcNPQxFCyAAQRRqIgBBj6ABIAEQWCACKAIAQRFHDTwMSgsgAEEUaiIAQZCgASABEFggAigCAEESRw07DEsLIABBFGpBkaABIAEQWCACKAIAQRNHDTogAigCCEUNOQxLCyAAQRRqQZKgASABEFggAigCAEEURg04DDkLIABBFGoiAEGToAEgARBYIAIoAgBBFUcNOAxICyAAQRRqQZSgASABEFggAigCAEEpRg02DDcLIABBFGoiAEGVoAEgARBYIAIoAgBBKkcNNgxGCyAAQRRqQZagASABEFggAigCAEErRg00DDULIABBFGoiAEGXoAEgARBYIAIoAgBBLEcNNAxDCyAAQRRqIgBBmKABIAEQWCACKAIAQS1HDTMMOQsgAEEUaiIAQZmgASABEFggAigCAEEuRw0yDDcLIABBFGpBmqABIAEQWCACKAIAQS9GDTAMMQsgAEEUaiIAQZugASABEFggAigCAEEwRw0wDDULIABBFGoiAEGcoAEgARBYIAIoAgBBMUcNLwwzCyAAQRRqIgBBnaABIAEQWCACKAIAQTJHDS4MPAsgAEEUaiIDQZ6gASABEFggAigCAEEzRw0tIAIoAigiAUEASgRAIABBGGohBANAIAFBAWsiACACKAIoTw0wIAIoAiQgAEECdGoiBSgCAEUNMSAEQeyfASAFEFsgAUEBSyEJIAAhASAJDQALCyADQeyfASACQRBqEFgPCyAAQRRqIgBBn6ABIAEQWCACKAIAQTRGBEAMPQsMLAsgAEEUakGgoAEgARBYIAIoAgBBNUcNKyACKAIUIgFBAEwNKiAAQRhqIQMDQCABQQFrIgAgAigCFE8NLSACKAIQIABBAnRqIgQoAgBFDS4gA0HsnwEgBBBbIAFBAUshCiAAIQEgCg0ACwwqCyAAQRRqQaGgASABEFggAigCAEE2Rg0pDCoLIABBFGoiAEGioAEgARBYIAIoAgBBN0cNKQw5CyAAQRRqQaOgASABEFggAigCAEEWRg0nDCgLIABBFGpBpKABIAEQWCACKAIAQRdGDSYMJwsgAEEUakGloAEgARBYIAIoAgBBKEYNJQwmCyAAQRRqQaagASABEFggAigCAEE4Rw0lIAIoAgwiAUEATA0kIABBGGohAwNAIAFBAWsiACACKAIMTw0nIAIoAgggAEECdGoiBCgCAEUNKCADQeyfASAEEFsgAUEBSyELIAAhASALDQALDCQLIABBFGoiAEGnoAEgARBYIAIoAgBBOUcNJAw0CyAAQRRqIgBBqKABIAEQWCACKAIA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A+gBIAMgAikCIDcD4AEgAyACKQIYNwPYASADQYACaiACQUBrEOMBIQRB1IkLQQA2AgBBmgEgA0GUAmogAkHUAGoQAiEFQdSJCygCACERQdSJC0EANgIAIBFBAUYNAiADIAIoAmg2AqgCIAMgAigCbCICNgKsAiACBEAgAiACKAIEQQFqNgIECyADQQEgAygC4AEiAiACQQBKGzYC4AEgAyADKQPoATcDGCADIAMpA/ABNwMgIAMgAykD+AE3AyggAyADKQPgATcDECADQQEgAygC3AEiAiACQQBKGzYC3AFB1IkLQQA2AgAgAyADKQPYATcDCEGbASADQTBqIAQQAiEEQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBxABqIAUQAiEFQdSJCygCACESQdSJC0EANgIAIBJBAUYNBSADIAMoAqwCIgI2AlwgAyADKAKoAjYCWCACBEAgAiACKAIEQQFqNgIECyADQQA2AnggAyADKQMQNwKEASADIAMpAxg3AowBIAMgAykDIDcClAEgAyADKQMoNwKcASADQgA3AnAgA0H87Ak2AmQgAyADKQMINwJ8QdSJC0EANgIAIAMgATYCaCADIAFBqAFqNgJsQZsBIANBpAFqIAQQAiEBQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBuAFqIAUQAhpB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRwRAIAMgAygCWDYCzAEgAyADKAJcIgE2AtABIAEEQCABIAEoAgRBAWo2AgQLIANBADsB1AEgA0EIahBhIANBAToA1AEgACgCACgCFCEUQdSJC0EANgIAIBQgABAGIQBB1IkLKAIAIRVB1IkLQQA2AgAgFUEBRg0EIAMoAmQoAgghFkHUiQtBADYCACAWIANB5ABqIgEgABADQdSJCygCACEXQdSJC0EANgIAIBdBAUYNBEHUiQtBADYCAEGXASABEApB1IkLKAIAIRhB1IkLQQA2AgAgGEEBRg0EIANB/OwJNgJkIANB/ABqEGEgAygCcCIBBEAgAygCdCIAIAEiAkcEQANAIABBBGsiACgCACECIABBADYCACACBEAgAiACKAIAKAIEEQEACyAAIAFHDQALIAMoAnAhAgsgAyABNgJ0IAIQWgsgA0HYAWoQ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CCACQQR0IgkQXCIEaiICQQI2AgAgBCAKQQR0aiAHNgIIIAJBEGohCCABIAZHBEADQCACQRBrIgIgAUEQayIBKQIANwIAIAIgASkABTcABSABIAZHDQALCyADIAQgCWo2AiAgAyAINgIcIAMgAjYCGCAGRQ0AIAYQWgsgBUEIaiAAQdwCaiAHIAVBBGoQ0wkgBSgCCCAHNgIMCyAFQRBqJAAPC0Hw7QVBxZgDQZQGQY3eABABAAsQZAALEGoAC/EFAQl/IwBBEGsiBSQAIAAoAqABIQZBPBBcIgFCADcCACABQQA2AjggAUIANwIwIAFCADcCKCABQgA3AiAgAUIANwIYIAFCADcCECABQgA3AgggACABNgKgASAFIAE2AgwCQAJAAkACQAJAAkAgACgCjAEiAiAAKAKQAUkEQCACIAE2AgAgACACQQRqNgKMAQwBC0HUiQtBADYCAEG5nQEgAEGIAWogBUEMahADQdSJCygCACEJQdSJC0EANgIAIAlBAUYNASAFKAIMIgFFDQAgARC/AgsgACgCmAEiASAAKAKcAUYNASABIAAoAqABNgIAIAAgAUEEajYCmAEMAgsQACEKIAUoAgwiAQRAIAEQvwILIAoQBwALIAEgACgClAEiB2siAkECdSIEQQFqIgNBgICAgARPDQFB/////wMgAkEBdSIIIAMgAyAISRsgAkH8////B08bIgMEfyADQYCAgIAETw0DIANBAnQQXAVBAAsiCCAEQQJ0aiICIAAoAqABNgIAIAJBBGohBCABIAdHBEADQCACQQRrIgIgAUEEayIBKAIANgIAIAEgB0cNAAsgACgClAEhAQsgACAIIANBAnRqNgKcASAAIAQ2ApgBIAAgAjYClAEgAUUNACABEFoLIAYgACgCoAEQqwICQCAAKALAASIBIAAoAsQBRwRAIAEgACgCoAE2AgAgACABQQRqNgLAAQwBCyABIAAoArwBIgdrIgJBAnUiBkEBaiIDQYCAgIAETw0BQf////8DIAJBAXUiBCADIAMgBEkbIAJB/P///wdPGyIDBH8gA0GAgICABE8NAyADQQJ0EFwFQQALIgQgBkECdGoiAiAAKAKgATYCACACQQRqIQYgASAHRwRAA0AgAkEEayICIAFBBGsiASgCADYCACABIAdHDQALIAAoArwBIQELIAAgBCADQQJ0ajYCxAEgACAGNgLAASAAIAI2ArwBIAFFDQAgARBaCyAFQRBqJAAPCxBkAAsQagAL8wcCFH8BfiMAQSBrIgIkACABKAIAIQlB1IkLQQA2AgAgAiACQRBqIgo2AgwgAkIANwIQQc8dIAkgAkEMahADQdSJCygCACENQdSJC0EANgIAIA1BAUYEQBAAIQ4gAigCEBBgIA4QBwALAkACQAJAIAogAigCDCIERwRAIABBpAFqIQwDQCACIAQpAhAiFjcDAEHUiQtBADYCAEHQnQEgAkEYaiAMIBYgAhDCAkHUiQsoAgAhD0HUiQtBADYCACAPQQFGDQICQCACKAIYIgUoAhwiASAFKAIgRwRAIAEgACgCoAE2AgAgBSABQQRqNgIcDAELAkACQAJAIAEgBSgCGCILayIDQQJ1IghBAWoiBkGAgICABE8EQEHUiQtBADYCAEHRnQEQCUHUiQsoAgAhEEHUiQtBADYCACAQQQFGDQEMCQtB/////wMgA0EBdSIHIAYgBiAHSRsgA0H8////B08bIgZFBEBBACEHDAMLIAZBgICAgARJDQFB1IkLQQA2AgBBAxAJQdSJCygCACERQdSJC0EANgIAIBFBAUcNCAsQACEBDAYLQdSJC0EANgIAQQQgBkECdBAGIQdB1IkLKAIAIRJB1IkLQQA2AgAgEkEBRg0ECyAHIAhBAnRqIgMgACgCoAE2AgAgA0EEaiEIIAEgC0cEQANAIANBBGsiAyABQQRrIgEoAgA2AgAgASALRw0ACyAFKAIYIQELIAUgByAGQQJ0ajYCICAFIAg2AhwgBSADNgIYIAFFDQAgARBaCwJAIAQoAgQiAwRAA0AgAyIBKAIAIgMNAAwCCwALA0AgBCgCCCIBKAIAIARHIRMgASEEIBMNAAsLIAogASIERw0ACwsCQCAJKAIEQQFHBEAgACgCoAEhA0HUiQtBADYCAEEEQTwQBiEBQdSJCygCACEEQdSJC0EANgIAAkAgBEEBRwRAIAFCADcCACABQQA2AjggAUIANwIwIAFCADcCKCABQgA3AiAgAUIANwIYIAFCADcCECABQgA3AgggACABNgKgASACIAE2AhgCQCAAKAKMASIEIAAoApABSQRAIAQgATYCACAAIARBBGo2AowBDAELQdSJC0EANgIAQbmdASAAQYgBaiACQRhqEANB1IkLKAIAIRRB1IkLQQA2AgAgFEEBRg0CIAIoAhgiAUUNACABEL8CCyAAKAKgASEAQdSJC0EANgIAQdKdASADIAAQA0HUiQsoAgAhFUHUiQtBADYCACAVQQFHDQMLEAAhAQwECxAAIQEgAigCGCIARQ0DIAAQvwIMAwsgAEEANgKgAQsgAigCEBBgIAJBIGokAA8LEAAhAQsgAigCEBBgIAEQBwALAAvICgERfyMAQRBrIgkkAAJAAkACQAJAAkACQCAAKALMASICIAAoAtABRwRAIAIgACgCoAE2AgAgACACQQRqNgLMAQwBCyACIAAoAsgBIgVrIgNBAnUiBkEBaiIEQYCAgIAETw0BQf////8DIANBAXUiByAEIAQgB0kbIANB/P///wdPGyIEBH8gBEGAgICABE8NBSAEQQJ0EFwFQQALIgcgBkECdGoiAyAAKAKgATYCACADQQRqIQYgAiAFRwRAA0AgA0EEayIDIAJBBGsiAigCADYCACACIAVHDQALIAAoAsgBIQILIAAgByAEQQJ0ajYC0AEgACAGNgLMASAAIAM2AsgBIAJFDQAgAhBaCyABKAIAIgwoAgBBM0cNASAAKAKgASEOAkAgACgC8AEiASAAKAL0AUkEQCABQQA2AgggAUIANwIAIAAgAUEMaiIFNgLwAQwBCyAAQewBahCeByAAKALwASEFCyAFQQxrIQYgDCgCKEUNAiAFQQRrIQ0gBUEIayEHIABBiAFqIQ9BACEEA0BBPBBcIgFCADcCACABQQA2AjggAUIANwIwIAFCADcCKCABQgA3AiAgAUIANwIYIAFCADcCECABQgA3AgggACABNgKgASAJIAE2AgwCQAJAAkACQCAAKAKMASIDIAAoApABSQRAIAMgATYCACAAIANBBGo2AowBDAELQdSJC0EANgIAQbmdASAPIAlBDGoQA0HUiQsoAgAhEUHUiQtBADYCACARQQFGDQEgCSgCDCIBRQ0AIAEQvwILIAAoAqABIQogBygCACICIA0oAgAiCE8NASACIAo2AgAgByACQQRqNgIADAILEAAhEiAJKAIMIgEEQCABEL8CCyASEAcACyACIAYoAgAiAWtBAnUiEEEBaiIDQYCAgIAETw0CQf////8DIAggAWsiCEEBdSILIAMgAyALSRsgCEH8////B08bIggEfyAIQYCAgIAETw0GIAhBAnQQXAVBAAsiCyAQQQJ0aiIDIAo2AgAgA0EEaiEKIAEgAkcEQANAIANBBGsiAyACQQRrIgIoAgA2AgAgASACRw0ACyAGKAIAIQILIAYgAzYCACAHIAo2AgAgDSALIAhBAnRqNgIAIAJFDQAgAhBaCyAEQQFqIgQgDCgCKEkNAAsMAgsQZAALQfDtBUHFmANBlAZBjd4AEAEACyAAIA42AqABIAAoAtgBIgJBDGsiASgCACIEIAEoAgQiB0cEQCAFQQhrIgUoAgAhASAGKAIAIQMDQAJAIAEgA0YEQCADIQEMAQsgBCgCACEIQQAhAgNAIAggAyACQQJ0aigCABCrAiACQQFqIgIgBSgCACIBIAYoAgAiA2tBAnVJDQALCyAEQQRqIgQgB0cNAAsgACgC2AEiAkEMaygCACEECyAEBEAgAkEIayAENgIAIAQQWgsgACACQQxrNgLYASAAIAAoAuQBQQRrNgLkAQJAIAAoAvwBIgIgACgCgAIiBUkEQCACQQA2AgAgACACQQRqNgL8AQwBCyACIAAoAvgBIgRrQQJ1IgZBAWoiA0GAgICABE8NAkEAIQFB/////wMgBSAEayIFQQF1IgcgAyADIAdJGyAFQfz///8HTxsiBQRAIAVBgICAgARPDQIgBUECdBBcIQELIAEgBkECdGoiA0EANgIAIANBBGohBiACIARHBEADQCADQQRrIgMgAkEEayICKAIANgIAIAIgBEcNAAsLIAAgASAFQQJ0ajYCgAIgACAGNgL8ASAAIAM2AvgBIARFDQAgBBBaCyAJQRBqJAAPCxBqAAsQZAALggMBBX8jAEEQayIDJABBPBBcIgFCADcCACABQQA2AjggAUIANwIwIAFCADcCKCABQgA3AiAgAUIANwIYIAFCADcCECABQgA3AgggACABNgKgASADIAE2AgwCQAJAAkACQCAAKAKMASICIAAoApABSQRAIAIgATYCACAAIAJBBGo2AowBDAELQdSJC0EANgIAQbmdASAAQYgBaiADQQxqEANB1IkLKAIAIQVB1IkLQQA2AgAgBUEBRg0BIAMoAgwiAUUNACABEL8CCyAAKALwAUEMayICKAIAIgEgAigCBCICRw0BDAILEAAhBiADKAIMIgEEQCABEL8CCyAGEAcACwNAIAEoAgAgACgCoAEQqwIgAUEEaiIBIAJHDQALCyAAKALMAUEEaygCACAAKAKgARCrAiAAIAAoAswBQQRrNgLMASAAKALwASICQQxrIgQoAgAiAQRAIAJBCGsgATYCACABEFoLIAAgBDYC8AEgACAAKAL8AUEEazYC/AEgA0EQaiQAC5kCAQZ/IwBBEGsiAiQAIAAQ3goCQAJAIAAoAtQBIAAoAtgBRgRAIAAtAIUCDQELIAAoAqABIQZBPBBcIgFCADcCACABQQA2AjggAUIANwIwIAFCADcCKCABQgA3AiAgAUIANwIYIAFCADcCECABQgA3AgggACABNgKgASACIAE2AgwCQCAAKAKMASIDIAAoApABSQRAIAMgATYCACAAIANBBGo2AowBDAELQdSJC0EANgIAQbmdASAAQYgBaiACQQxqEANB1IkLKAIAIQVB1IkLQQA2AgAgBUEBRg0CIAIoAgwiAUUNACABEL8CCyAGIAAoAqABEKsCCyACQRBqJAAPCxAAIQcgAigCDCIBBEAgARC/AgsgBxAHAAuYAwEHfyMAQRBrIgMkACAAKAKgASEFQTwQXCICQgA3AgAgAkEANgI4IAJCADcCMCACQgA3AiggAkIANwIgIAJCADcCGCACQgA3AhAgAkIANwIIIAAgAjYCoAEgAyACNgIEAkACQAJAIAAoAowBIgQgACgCkAFJBEAgBCACNgIAIAAgBEEEajYCjAEMAQtB1IkLQQA2AgBBuZ0BIABBiAFqIANBBGoQA0HUiQsoAgAhB0HUiQtBADYCACAHQQFGDQEgAygCBCICRQ0AIAIQvwILIAUgACgCoAEQqwIgASgCACIBKAIAQQNHDQEgASgCCARAIAAoAsABQQRrKAIAIQQgA0EIaiAAQaQBaiIFIAFBCGoiAikCACACEPoCIAMoAggiBigCGCIBIAYoAhwiBkcEQANAIAEoAgAgBBCrAiABQQRqIgEgBkcNAAsLIAUgAikCABDnAwsgACAAKALAAUEEazYCwAEgA0EQaiQADwsQACEIIAMoAgQiAQRAIAEQvwILIAgQBwALQfDtBUHFmANBlAZBjd4AEAEAC/QDAQl/IwBBEGsiBCQAIAAoAqABIQVBPBBcIgFCADcCACABQQA2AjggAUIANwIwIAFCADcCKCABQgA3AiAgAUIANwIYIAFCADcCECABQgA3AgggACABNgKgASAEIAE2AgwCQAJAAkACQAJA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ADoAHEEHQdidCyACQRxqIgEQAiEDQdSJCygCACEFQdSJC0EANgIAIAVBAUYEQBAAIQYgARB3IAYQBwALIAAgAzYCBCACQTBqJAAgAAv0DwEYfyMAQbACayIDJAACQAJAAkACQAJAAkACQAJAAkACQAJAIAAoAgQEQCAAIAAoAgAoAhARAgAEQCADIAAoAgQiAikCODcD+AEgAyACKQIwNwPwASADIAIpAig3A+gBIAMgAikCIDcD4AEgAyACKQIYNwPYASADQYACaiACQUBrEOMBIQRB1IkLQQA2AgBBmgEgA0GUAmogAkHUAGoQAiEFQdSJCygCACERQdSJC0EANgIAIBFBAUYNAiADIAIoAmg2AqgCIAMgAigCbCICNgKsAiACBEAgAiACKAIEQQFqNgIECyADQQEgAygC4AEiAiACQQBKGzYC4AEgAyADKQPoATcDGCADIAMpA/ABNwMgIAMgAykD+AE3AyggAyADKQPgATcDECADQQEgAygC3AEiAiACQQBKGzYC3AFB1IkLQQA2AgAgAyADKQPYATcDCEGbASADQTBqIAQQAiEEQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBxABqIAUQAiEFQdSJCygCACESQdSJC0EANgIAIBJBAUYNBSADIAMoAqwCIgI2AlwgAyADKAKoAjYCWCACBEAgAiACKAIEQQFqNgIECyADQQA2AnggAyADKQMQNwKEASADIAMpAxg3AowBIAMgAykDIDcClAEgAyADKQMoNwKcASADQgA3AnAgA0H87Ak2AmQgAyADKQMINwJ8QdSJC0EANgIAIAMgATYCaCADIAFBqAFqNgJsQZsBIANBpAFqIAQQAiEBQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBuAFqIAUQAhpB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRwRAIAMgAygCWDYCzAEgAyADKAJcIgE2AtABIAEEQCABIAEoAgRBAWo2AgQLIANBADsB1AEgA0EIahBhIANBAToA1AEgACgCACgCFCEUQdSJC0EANgIAIBQgABAGIQBB1IkLKAIAIRVB1IkLQQA2AgAgFUEBRg0EIAMoAmQoAgghFkHUiQtBADYCACAWIANB5ABqIgEgABADQdSJCygCACEX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QYgBahDfARoMBwsgAi0A5AEhFSACKAL4ARBgIAIoAuwBEGAgAigCyAEQYCACKAK8ARBgIAIoArABEG8gAigCpAEQbwJAIAIoApABIgNFDQAgAyADKAIEIgVBAWs2AgQgBQ0AIAMgAygCACgCCBEBACADEHULIBUNAQsgACgCpAIgBigCCCIFQQJ0aigCAEEBSw0AAkACQAJAAkAgAEGIAWoiBygCACIEBEADQCAEKAIQIgMgBU0EfyADIAVPDQMgBEEEagUgBAsoAgAiBA0ACwsgACgCBCEDIAAoAnwhBCACIAE2AgwgASgCACEJIAIgAy0AODoAECACIAMtADk6ABEgAiADKAJoNgIUIAIgAygCbCIBNgIYIAJBEGohAyABBEAgASABKAIEQQFqNgIECyACIAQ2AhwgBCgChAEhASACQSxqIgRCADcCACACQQA7ASQgAiABNgIgIAJBOGoiBkIANwIAIAIgBDYCKCACQcQAaiIKQgA3AgAgAiAGNgI0IAJB0ABqIgtCADcCACACQUBrIAo2AgAgAkH0AGoiDEIANwIAIAIgCzYCTCACQgA3AlggAkIANwJgIAJCADcBZiACIAw2AnAgAkGAAWoiDUIANwIAIAIgDTYCfCACIAk2AvwDIAJCADcC5AMgAkIANwLsAyACQQA2AvQDQdSJC0EANgIAIAJCADcCjAMgAiADNgL4A0HHACACQYwDaiACQfwDahADQdSJCygCACEWQdSJC0EANgIAIBZBAUYNAiACKALkAyIBBEAgAiABNgLoAyABEFoLIAIoAmRFDQFB1IkLQQA2AgBBDUGRyQVB9ooDQcQIQabRABAFQdSJCygCACEXQdSJC0EANgIAIBdBAUcNBxAAIQQgAxDfARoMCQtB1IkLQQA2AgBBDUHNyQVBxpICQbIDQbPRABAFQdSJCygCACEYQdSJC0EANgIAIBhBAUcNBhAAIQQMCAsgAi0AEARAIAJBADoAYQwCCyACLQBhRQ0BIAJBAToAYAwBCxAAIQQgAigC5AMiAARAIAIgADYC6AMgABBaCyADEN8BGgwGCyACIAIvARA7AZABIAIgAigCFCIONgKUASACIAIoAhgiDzYCmAEgAiAFNgKIASACIAIoAgwiEDYCjAEgAkIANwIUIAIvASQhASACKQIcIRsgAiACKAIoNgKoASACIBs3ApwBIAIgATsBpAEgAkGsAWoiASACKAIsIgM2AgAgAiACKAIwIgk2ArABAkAgCUUEQCACIAE2AqgBDAELIAMgATYCCCACQgA3AiwgAiAENgIoCyACIAIoAjQ2ArQBIAJBuAFqIgkgAigCOCIDNgIAIAIgAigCPCIENgK8AQJAIARFBEAgAiAJNgK0AQwBCyADIAk2AgggAkIANwI4IAIgBjYCNAsgAiACKAJANgLAASACQcQBaiIIIAIoAkQiAzYCACACIAIoAkgiBDYCyAECQCAERQRAIAIgCDYCwAEMAQsgAyAINgIIIAJCADcCRCACIAo2AkALIAIgAigCTDYCzAEgAkHQAWoiCiACKAJQIgM2AgAgAiACKAJUIgQ2AtQBAkAgBEUEQCACIAo2AswBDAELIAMgCjYCCCACQgA3AlAgAiALNgJMCyACIAIpAlg3AtgBIAIgAikBZjcB5gEgAiACKQJgNwLgASACIAIoAnA2AvABIAJB9AFqIgsgAigCdCIDNgIAIAIgAigCeCIENgL4AQJAIARFBEAgAiALNgLwAQwBCyADIAs2AgggAkIANwJ0IAIgDDYCcAsgAiACKAJ8NgL8ASACQYACaiIMIAIoAoABIgY2AgAgAiACKAKEASIDNgKEAgJAIANFBEAgAiAMNgL8AQwBCyAGIAw2AgggAkIANwKAASACIA02AnwLAkACQCAHIgQoAgAiA0UNAANAIAMiBCgCECIDIAVLBEAgBCIHKAIAIgMNAQwCCyADIAVPDQIgBCgCBCIDDQALIARBBGohBwtB1IkLQQA2AgBBBEGQARAGIQNB1IkLKAIAIRlB1IkLQQA2AgAgGUEBRg0CIAMgBTYCECADIBA2AhQgAi8BkAEhBSADIA82AiAgAyAONgIcIAMgBTsBGCACQgA3ApQBIAMgAi8BpAE7ASwgAyACKQKcATcCJCADIAIoAqgBNgIwIANBNGoiBSACKAKsASIGNgIAIAMgAigCsAEiDTYCOAJAIA1FBEAgAyAFNgIwDAELIAYgBTYCCCACQgA3AqwBIAIgATYCqAELIAMgAigCtAE2AjwgA0FAayIBIAIoArgBIgU2AgAgAyACKAK8ASIGNgJEAkAgBkUEQCADIAE2AjwMAQsgBSABNgIIIAJCADcCuAEgAiAJNgK0AQsgAyACKALAATYCSCADQcwAaiIBIAIoAsQBIgU2AgAgAyACKALIASIGNgJQAkAgBkUEQCADIAE2AkgMAQsgBSABNgIIIAJCADcCxAEgAiAINgLAAQsgAyACKALMATYCVCADQdgAaiIBIAIoAtABIgU2AgAgAyACKALUASIGNgJcAkAgBkUEQCADIAE2AlQMAQsgBSABNgIIIAJCADcC0AEgAiAKNgLMAQsgAyACKQLYATcCYCADIAIpAeYBNwFuIAMgAikC4AE3AmggAyACKALwATYCeCADQfwAaiIBIAIoAvQBIgU2AgAgAyACKAL4ASIGNgKAAQJAIAZFBEAgAyABNgJ4DAELIAUgATYCCCACQgA3AvQBIAIgCzYC8AELIAMgAigC/AE2AoQBIANBiAFqIgEgAigCgAIiBTYCACADIAIoAoQCIgY2AowBAkAgBkUEQCADIAE2AoQBDAELIAUgATYCCCACQgA3AoACIAIgDDYC/AELIAMgBDYCCCADQgA3AgAgByADNgIAIAAoAoQBKAIAIgEEQCAAIAE2AoQBIAcoAgAhAwsgACgCiAEgAxBnIAAgACgCjAFBAWo2AowBIAIoAoACIQYLIAYQYCACKAL0ARBgIAIoAtABEGAgAigCxAEQYCACKAK4ARBvIAIoAqwBEG8CQCACKAKYASIBRQ0AIAEgASgCBCIDQQFrNgIEIAMNACABIAEoAgAoAggRAQAgARB1CyACKAKAARBgIAIoAnQQYCACKAJQEGAgAigCRBBgIAIoAjgQbyACKAIsEG8gAigCGCIBRQ0AIAEgASgCBCIDQQFrNgIEIAMNACABIAEoAgAoAggRAQAgARB1CwJAIAAoAuQCIgEgACgC4AJGBEAgACgCtAIiAUUEQEHv+wIhBEHRACEFQbCUAyEDQd7EBSEHDAQLIAAgAUEBazYCtAIMAQsgACABQQRrNgLkAgsgAigC+AIQYCACKALsAhBgIAIoAsgCEGAgAigCvAIQYCACKAKwAhBvIAIoAqQCEG8CQCACKAKQAiIARQ0AIAAgACgCBCIBQQFrNgIEIAENACAAIAAoAgAoAggRAQAgABB1CyACQYAEaiQADwsQACEEIAJBiAFqEOsCIAJBDGoQwAQMAwtB1IkLQQA2AgBBDSAHIAMgBSAEEAVB1IkLKAIAIRpB1IkLQQA2AgAgGkEBRg0BCwALEAAhBAsgAkGIAmoQ3wEaIAQQBwALQfDtBUHFmANBlAZBjd4AEAEAC4QLAQd/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEoAgAiAigCAA5AAAECAwQFBxAQEBAQEBAQEBAQEAYQEBAMEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQCQ8KCxAQEBAQCBAQDRALQcfSBEHglgNB4gAQYgALIABBBGoiA0GhmwEgARBbIAIoAgBBAUcNDyACKAIIBEAgASgCAEUNESADQaKbASABEFsgAigCAEEBRw0QCyACKAIUIgFBAEwNDANAIAFBAWsiACACKAIUTw0SIAIoAhAgAEECdGoiBCgCAEUNESADQZCbASAEEFsgAUEBSyEGIAAhASAGDQALDAwLIABBBGoiA0GjmwEgARBbIAEoAgBFDQ8gA0GimwEgARBbIAIoAgBBAkcNDiACKAIQBEAgA0GQmwEgAkEQahBbCyABKAIARQ0PIANBopsBIAEQWyACKAIAQQJHDQ4gAigCDEUNDyADQZCbASACQQxqEFsgAC0AbUUEQCABKAIARQ0QIANBopsBIAEQWwsgAigCAEECRw0OIAIoAghFDQ8gA0GQmwEgAkEIahBbDwsgAEEEaiIAQaSbASABEFsgAigCAEEDRw0NIAIoAhBFDQ4gAEGQmwEgAkEQahBbIAEoAgBFDQ4MEAsgAEEEaiIDQaWbASABEFsgAigCAEEERw0MIAJBFGohBAJAAkAgAigCFARAIAAtAG0NAQsgASgCAEUNDyADQaKbASABEFsgBCgCAEUNAQsgA0GQmwEgBBBbCyACKAIQRQ0JIANBkJsBIAJBEGoQWw8LIABBBGoiAEGmmwEgARBbIAEoAgBFDQwgAEGimwEgARBbIAIoAgBBBUcNCyACKAIkRQ0MIABBkJsBIAJBJGoQWyACKAIAQQVHDQsgAigCIEUNCCAAQZCbASACQSBqEFsPCyAAQQRqIgBBp5sBIAEQWyABKAIARQ0LIABBopsBIAEQWyACKAIAQRNHDQogAigCCEUNByAAQZCbASACQQhqEFsPCyAALQBtDQgCQCACLQAgDQAgACgCaCIDRQ0AIAMtAIQBQcAAcUUNCQsgAEEEakGimwEgARBbDAgLIAAtAG0NBwJAIAItABwNACAAKAJoIgNFDQAgAy0AhAFBwABxRQ0ICyAAQQRqQaKbASABEFsgACABEOYMDwsgAEEEaiIEQaibASABEFsgASgCAEUNCCAEQaKbASABEFsgAigCAEEzRw0HIAIoAigiAEEASgRAA0AgAEEBayIDIAIoAihPDQsgAigCJCADQQJ0aiIFKAIARQ0KIARBkJsBIAUQWyABKAIARQ0KIARBopsBIAEQWyAAQQFLIQcgAyEAIAcNAAsgAigCAEEzRw0ICyACKAIQRQ0IIARBkJsBIAJBEGoQWw8LIABBBGoiA0GpmwEgARBbIAEoAgBFDQcgA0GimwEgARBbIAIoAgBBNUcNBiACKAIUIgFBAEwNAwNAIAFBAWsiACACKAIUTw0JIAIoAhAgAEECdGoiBCgCAEUNCCADQZCbASAEEFsgAUEBSyEIIAAhASAIDQALDAMLIABBBGoiAEGqmwEgARBbIAEoAgBFDQYMCAsgAEEEaiIAQaubASABEFsgASgCAEUNBQwHCyAAQQRqIgNBrJsBIAEQWyAALQBtRQRAIAEoAgBFDQUgA0GimwEgARBbCyACKAIAQT9HDQMgAigCFEUNBCADQZCbASACQRRqEFsLDwtByuAFQeCWA0HLAUGO4wIQAQALIAAgARDmDA8LQfDtBUHFmANBlAZBjd4AEAEAC0GBgwJB05kDQbkCQa73AhABAAtBxaIBQYmiA0G8AUGmiAUQAQALIABBopsBIAEQWwslACAAKAIAQdMARwRAQd6rBkGntwJBsCRB4/QAEAEACyAAKAIMC5gBAEGQAxBcIgBBAEHgAvwLACAAQgA3ApACIAAgAEGgAWo2ApwBIAAgAEGUAWo2ApABIAAgAEGIAWo2AoQBIABBvKQINgIAIABCADcCmAIgAEIANwKgAiAAQgA3AqgCIABBADoAsAIgAEIANwLgAiAAQgA3AugCIABCADcC8AIgAEIANwL4AiAAQgA3AoADIABCADcCiAMgAAs5ACAAKAIERQRAQej6BUG6iwNBnARB7tMCEAEACyAAIAI2AnggACABNgJ8IAAgAhDoDCAAQgA3AngL3woBB38CQAJAAkACQAJAAkAgASgCAARAIABBGGoiA0GRmwEgARBbAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAIgIoAgAOQAECAAMEBQcQEBAQEBAQEBAQEBAGEBAQDBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAkPCgsQEBAQEAgQEA0QCyACKAIQBEAgA0GSmwEgARBbIAJBEGoiACgCAEUNEiADQY6bASAAEFsgASgCAEUNEgsgA0GTmwEgARBbIAIoAgxFDREgA0GOmwEgAkEMahBbIAEoAgBFDREgA0GUmwEgARBbIAIoAghFDREgA0GOmwEgAkEIahBbDBALQcfSBEHglgNB4gAQYgALIANBlZsBIAEQWyACKAIAQQFHDRAgAigCCARAIAEoAgBFDRAgA0GWmwEgARBbIAIoAgBBAUcNEQsgAigCFCIAQQBMDQ4DQCAAQQFrIgQgAigCFE8NEiACKAIQIARBAnRqIgUoAgBFDRAgA0GOmwEgBRBbIABBAUshBiAEIQAgBg0ACwwOCyADQZebASABEFsgAigCAEEDRw0PIAIoAhBFDQ4gA0GOmwEgAkEQahBbIAEoAgBFDQ4gA0GWmwEgARBbDA0LIANBmJsBIAEQWyACKAIAQQRHDQ4gAkEUaiEEAkACQCACKAIUBEAgAC0AgAENAQsgASgCAEUNDyADQZabASABEFsgBCgCAEUNAQsgA0GOmwEgBBBbCyACKAIQRQ0MIANBjpsBIAJBEGoQWwwMCyADQZmbASABEFsgASgCAEUNDCADQZabASABEFsgAigCAEEFRw0NIAIoAiRFDQwgA0GOmwEgAkEkahBbIAIoAgBBBUcNDSACKAIgRQ0LIANBjpsBIAJBIGoQWwwLCyADQZqbASABEFsgASgCAEUNCyADQZabASABEFsgAigCAEETRw0MIAIoAghFDQogA0GOmwEgAkEIahBbDAoLIAAtAIABDQgCQCACLQAgDQAgACgCfCIERQ0AIAQtAIQBQcAAcUUNCQsgA0GWmwEgARBbDAgLIAAtAIABDQcCQCACLQAcDQAgACgCfCIERQ0AIAQtAIQBQcAAcUUNCAsgA0GWmwEgARBbIAAgARDlDAwICyADQZubASABEFsgASgCAEUNCCADQZabASABEFsgAigCAEEzRw0JIAIoAigiAEEASgRAA0AgAEEBayIEIAIoAihPDQwgAigCJCAEQQJ0aiIFKAIARQ0KIANBjpsBIAUQWyABKAIARQ0KIANBlpsBIAEQWyAAQQFLIQcgBCEAIAcNAAsgAigCAEEzRw0KCyACKAIQRQ0IIANBjpsBIAJBEGoQWwwHCyADQZybASABEFsgASgCAEUNByADQZabASABEFsgAigCAEE1Rw0IIAIoAhQiAEEATA0GA0AgAEEBayIEIAIoAhRPDQogAigCECAEQQJ0aiIFKAIARQ0IIANBjpsBIAUQWyAAQQFLIQggBCEAIAgNAAsMBgsgA0GdmwEgARBbIAEoAgBFDQYgA0GWmwEgARBbDAULIANBnpsBIAEQWyABKAIARQ0FIANBlpsBIAEQWwwECyADQZ+bASABEFsgAC0AgAFFBEAgASgCAEUNBSADQZabASABEFsLIAIoAgBBP0cNBSACKAIURQ0EIANBjpsBIAJBFGoQWwwDCwwDC0HK4AVB4JYDQcsBQY7jAhABAAsgACABEOUMCyABKAIABEAgA0GgmwEgARBbDwsLQYGDAkHTmQNBuQJBrvcCEAEAC0Hw7QVBxZgDQZQGQY3eABABAAtBxaIBQYmiA0G8AUGmiAUQAQAL7w8BGH8jAEGwAmsiAyQAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIEBEAgACAAKAIAKAIQEQIABEAgAyAAKAIEIgIpAjg3A/gBIAMgAikCMDcD8AEgAyACKQIoNwPoASADIAIpAiA3A+ABIAMgAikCGDcD2AEgA0GAAmogAkFAaxDjASEEQdSJC0EANgIAQZoBIANBlAJqIAJB1ABqEAIhBUHUiQsoAgAhEUHUiQtBADYCACARQQFGDQIgAyACKAJoNgKoAiADIAIoAmwiAjYCrAIgAgRAIAIgAigCBEEBajYCBAsgA0EBIAMoAuABIgIgAkEAShs2AuABIAMgAykD6AE3AxggAyADKQPwATcDICADIAMpA/gBNwMoIAMgAykD4AE3AxAgA0EBIAMoAtwBIgIgAkEAShs2AtwBQdSJC0EANgIAIAMgAykD2AE3AwhBmwEgA0EwaiAEEAIhBEHUiQsoAgAhAkHUiQtBADYCAAJAIAJBAUcEQEHUiQtBADYCAEGaASADQcQAaiAFEAIhBUHUiQsoAgAhEkHUiQtBADYCACASQQFGDQUgAyADKAKsAiICNgJcIAMgAygCqAI2AlggAgRAIAIgAigCBEEBajYCBAsgA0EANgJ4IAMgAykDEDcChAEgAyADKQMYNwKMASADIAMpAyA3ApQBIAMgAykDKDcCnAEgA0IANwJwIANB/OwJNgJkIAMgAykDCDcCfEHUiQtBADYCACADIAE2AmggAyABQagBajYCbEGbASADQaQBaiAEEAIhAUHUiQsoAgAhAkHUiQtBADYCAAJAIAJBAUcEQEHUiQtBADYCAEGaASADQbgBaiAFEAIaQdSJCygCACETQdSJC0EANgIAIBNBAUcEQCADIAMoAlg2AswBIAMgAygCXCIBNgLQASABBEAgASABKAIEQQFqNgIECyADQQA7AdQBIANBCGoQYSADQQE6ANQBIAAoAgAoAhQhFEHUiQtBADYCACAUIAAQBiEAQdSJCygCACEVQdSJC0EANgIAIBVBAUYNBCADKAJkKAIIIRZB1IkLQQA2AgAgFiADQeQAaiIBIAAQA0HUiQsoAgAhF0HUiQtBADYCACAXQQFGDQRB1IkLQQA2AgBBlwEgARAKQdSJCygCACEYQdSJC0EANgIAIBhBAUYNBCADQfzsCTYCZCADQfwAahBhIAMoAnAiAQRAIAMoAnQiACABIgJHBEADQCAAQQRrIgAoAgAhAiAAQQA2AgAgAgRAIAIgAigCACgCBBEBAAsgACABRw0ACyADKAJwIQILIAMgATYCdCACEFoLIANB2AFqEGEMEAsQACEAIAEQawwBCxAAIQALIANB8ABqEOABIANBCGoQYQwOCxAAIQAMDQsQACEAIANB5ABqEHwaDAwLIAAgATYCfCAAQRRqIQkgASgCGCICIAEoAhwiBEcEQANAIAIoAgAiBSgCDEUEQCAJIAVBIGoQ7AcLIAJBBGoiAiAERw0ACwsgASgCDCICIAEoAhAiBUcEQANAIAIoAgAiBCgCDEUEQCAAIAQ2AnggACAEEOgMIABBADYCeAsgAkEEaiICIAVHDQALCyABKAIwIgogASgCNCIORg0JIABBHGohDQNAIAooAgAiAigCDARAIAkgAkEUahDsBwsgAigCHCILIAIoAiAiD0cEQCAAKAJsIQYgACgCcCEEIAAoAhghBQNAIAMgCygCACIHNgJkIAQgBmsiEEEDdSICQQAgBWtHDQYgB0UNBwJAIAVBCU0EQCAAIAVBAWoiBjYCGCANIAVBA3RqIgJBjpsBNgIAIAIgA0HkAGo2AgQgBCECIAYhBQwBCyAAKAJ0IgggBEsEQCAEQY6bATYCACAEIANB5ABqNgIEIAAgBEEIaiICNgJwDAELIAJBAWoiB0GAgICAAk8NCUH/////ASAIIAZrIghBAnUiDCAHIAcgDEkbIAhB+P///wdPGyIHQYCAgIACTw0KIBAgB0EDdCIMEFwiCGoiB0GOmwE2AgAgCCACQQN0aiADQeQAajYCBCAHQQhqIQIgBCAGRwRAA0AgB0EIayIHIARBCGsiBCkCADcCACAEIAZHDQALCyAAIAggDGo2AnQgACACNgJwIAAgBzYCbCAGRQ0AIAYQWiAAKAJwIQIgACgCGCEFC0EAIAVrIAIgACgCbCIGa0EDdUcEQANAAkAgAiAGRgRAIAVFDQ4gDSAFQQFrIgRBA3RqIgUoAgQhAiAFKAIAIQYgACAENgIYDAELIAJBCGsiBCgCACEGIAQoAgQhAiAAIAQ2AnALIAkgAjYCACACKAIARQ0NIAAgAiAGEQAAQQAgACgCGCIFayAAKAJwIgIgACgCbCIGa0EDdUcNAAsLIAIhBCALQQRqIgsgD0cNAAsLIApBBGoiCiAORw0ACwwJC0Ho+gVBuosDQfwDQdrLAhABAAsQACEZIAQQayAZEAcACxAAIQAgBBBrDAgLQc3KBUHTmQNByAJB0PgCEAEAC0GBgwJB05kDQbkCQa73AhABAAsQZAALEGoAC0HexAVBsJQDQdoAQf37AhABAAtB9YICQdOZA0HNAkHQ+AIQAQALIAEoAkgiAiABKAJMIgFHBEADQCACKAIAIgQtABRFBEAgCSAEQRhqEOwHCyACQQRqIgIgAUcNAAsLIABBADYCfAsgA0GwAmokAA8LIANB2AFqEGEgABAHAAsJACAAEOkMEFoLJQAgACgCAEHTAEcEQEHeqwZBp7cCQaQkQcb3ABABAAsgACgCCAuyCQERfyMAQYABayICJAACQCABKAIAIgsoAgBBM0cNACAAKAKEASIFIABBiAFqIgpGDQACQAJAAkACQANAAkACQCAFLQBrRQRAIAUoAowBRQ0BCyAGIAhHBEAgCCAFKAIQNgIAIAhBBGohCAwBCwJAAkACQCAIIAdrIgZBAnUiCUEBaiIDQYCAgIAETwRAQdSJC0EANgIAQfgCEAlB1IkLKAIAIQxB1IkLQQA2AgAgDEEBRg0BDAkLQf////8DIAZBAXUiASADIAEgA0sbIAZB/P///wdPGyIGRQRAQQAhAwwDCyAGQYCAgIAESQ0BQdSJC0EANgIAQQMQCUHUiQsoAgAhDUHUiQtBADYCACANQQFHDQgLEAAhASAERQ0FDAYLQdSJC0EANgIAQQQgBkECdBAGIQNB1IkLKAIAIQ5B1IkLQQA2AgAgDkEBRg0CCyADIAlBAnRqIgEgBSgCEDYCACABIQQgByAIRwRAA0AgBEEEayIEIAhBBGsiCCgCADYCACAHIAhHDQALCyAGQQJ0IANqIQYgAUEEaiEIIAcEQCAHEFoLIAQhBwsCQCAFKAIEIgMEQANAIAMiASgCACIDDQAMAgsACwNAIAUoAggiASgCACAFRyEPIAEhBSAPDQALCyAKIAEiBUcNAQwFCwsQACEBIAciBA0BCyABEAcACyAEEFogARAHAAsACwJAIAcgCEYNACAAKAKIASIGRQ0AIAchCQNAAkAgBkUNACAJKAIAIQUgCiEDIAYhAQNAIAMgASABKAIQIAVJIgQbIQMgAUEEaiABIAQbKAIAIgENAAsgAyAKRg0AIAUgAygCEEkNACADIQQCQCADKAIEIgUEQANAIAUiASgCACIFDQAMAgsACwNAIAQoAggiASgCACAERyEQIAEhBCAQDQALCyADIAAoAoQBRgRAIAAgATYChAELIAAgACgCjAFBAWs2AowBIAYgAxDlASADQRBqEOsCIAMQWgsgCUEEaiIJIAhGDQEgCigCACEGDAALAAsgB0UNACAHEFoLIAAoAnwhASACIAAoAgQiBC0AODoACCACIAQtADk6AAkgAiAEKAJoNgIMIAIgBCgCbCIENgIQIAQEQCAEIAQoAgRBAWo2AgQLIAIgATYCFCABKAKEASEKIAJBJGoiCUIANwIAIAJBMGoiA0IANwIAIAJBPGoiBUIANwIAIAJByABqIgdCADcCACACQewAaiIEQgA3AgAgAkIANwJYIAJCADcBXiACQfgAaiIBQgA3AgAgAkEAOwEcIAIgCjYCGCACIAk2AiAgAiADNgIsIAIgBTYCOCACIAc2AkQgAkIANwJQIAIgBDYCaCACIAE2AnQCQCALKAIAQQNGBH9B1IkLQQA2AgAgAkEBOgAcQbqaASAAIAJBCGoQA0HUiQsoAgAhEUHUiQtBADYCACARQQFGDQEgAigCeAVBAAsQYCACKAJsEGAgAigCSBBgIAIoAjwQYCACKAIwEG8gAigCJBBvAkAgAigCECIBRQ0AIAEgASgCBCIAQQFrNgIEIAANACABIAEoAgAoAggRAQAgARB1CyACQYABaiQADwsQACESIAJBCGoQ3wEaIBIQBwAL6QkCFH8BfiMAQSBrIgMkAAJAAkACQAJAAkACQAJAAkACQAJAAkAgASgCACICKAIAQQFrDgQHAQIAAgsgAkEIaiEEIAIoAhAEQCADQQhqIABBnAFqIAQpAgAiFiAWELACDAYLIANBCGogAEGQAWogBCkCACAEEPoCIAMoAgghBSADIAE2AgggAyAAKAKEASIGNgIMIANBEGoiByAAQYgBaiICKAIAIgQ2AgAgAyAAKAKMASIINgIUAkAgCEUEQCADIAc2AgwgByEGDAELIAQgBzYCCCAAQgA3AogBIAAgAjYChAELIANBDGohDSAFKAIcIgIgBSgCICIJSQRAIAIgATYCACACIAMoAgw2AgQgAkEIaiIBIAMoAhAiBDYCACACIAMoAhQiBjYCDAJAIAZFBEAgAiABNgIEDAELIAQgATYCCCADQgA3AhAgAyAHNgIMCyAFIAJBEGo2AhwMBQsgAiAFKAIYIghrIgpBBHUiC0EBaiIEQYCAgIABTwRAQdSJC0EANgIAQbuaARAJQdSJCygCACEOQdSJC0EANgIAIA5BAUYNCAwJC0H/////ACAJIAhrIglBA3UiDCAEIAQgDEkbIAlB8P///wdPGyIEQYCAgIABTwRAQdSJC0EANgIAQQMQCUHUiQsoAgAhD0HUiQtBADYCACAPQQFHDQkMCAtB1IkLQQA2AgBBBCAEQQR0IgwQBiEJQdSJCygCACEQQdSJC0EANgIAIBBBAUYNByAJIApqIgQgATYCACAJIAtBBHRqIgEgBjYCBCABQQhqIgYgAygCECIKNgIAIAEgAygCFCILNgIMAkAgC0UEQCABIAY2AgQMAQsgCiAGNgIIIANCADcCECADIAc2AgwgBSgCGCEIIAUoAhwhAgsgCSAMaiEBIARBEGohByACIAhGDQIDQCAEQRBrIgQgAkEQayICKAIANgIAIAQgAigCBDYCBCAEQQhqIgYgAkEIaiIJKAIAIgo2AgAgBCACKAIMIgs2AgwCQCALRQRAIAQgBjYCBAwBCyAKIAY2AgggAiAJNgIEIAJBADYCCCACQQA2AgwLIAIgCEcNAAsgBSABNgIgIAUoAhwhAiAFIAc2AhwgBSgCGCEIIAUgBDYCGCACIAhGDQMDQCACQQxrIAJBEGsiAigCCBC0AyACIAhHDQALDAMLIAIoAhBFDQRBst0DQcaSAkGRAUG8gAIQAQALIANCADcCDEHUiQtBADYCACADIANBDGoiBzYCCEHPHSACIANBCGoQA0HUiQsoAgAhEUHUiQtBADYCACARQQFGDQcgByADKAIIIgJHBEAgAEGcAWohBgNAIAIpAhAhFkHUiQtBADYCAEH9BSADQRhqIAYgFiAWEOUCQdSJCygCACESQdSJC0EANgIAIBJBAUYNCQJAIAIiASgCBCIEBEADQCAEIgIoAgAiBA0ADAILAAsDQCABKAIIIgIoAgAgAUchEyACIQEgEw0ACwsgAiAHRw0ACwsgAygCDBBgDAMLIAUgATYCICAFIAc2AhwgBSAENgIYCyAIRQ0AIAgQWgsgDSADKAIQELQDCyAAQYQBaiAAQYgBaiIBKAIAELQDIAAgATYChAEgAEIANwKIAQsgA0EgaiQADwsQACEUIA0gAygCEBC0AyAUEAcACwALEAAhFSADKAIMEGAgFRAHAAvsBQILfwJ+IwBBEGsiCCQAAkACQAJAIAEoAgAiASgCAEEBRgRAIAEoAghFDQMgCEEIaiAAQZABaiABQQhqIgIpAgAgAhD6AiACKAIARQ0DIAgoAggiASgCGCEGIAEoAhwhBSAAKAKgASIBRQ0CIABBnAFqIQcgAikCACINQiCIIg6nIQMgDachBANAAkACQCAEIAEpAhAiDaciCSANQiCIIg2nIgogAyADIApLGyIKEF4iC0UEQCANIA5YDQEMAgsgC0EASA0BCwJAIAkgBCAKEF4iCUUEQCANIA5UDQEMBQsgCUEATg0ECyABQQRqIQELIAEoAgAiAQ0ACwwCC0Hw7QVBxZgDQZQGQY3eABABAAsgAEGEAWogAEGIAWoiASgCABC0AyAAIAE2AoQBIABCADcCiAEgByACKQIAEP0DGgsgBSAGRg0AIABBhAFqIABBiAFqIgEoAgAQtAMgACABNgKEASAAQgA3AogBIABBlAFqIgQoAgAiBkUNACACKQIAIg1CIIgiDqchBSANpyEHIAQhAyAGIQEDQAJAIAEpAhAiDacgByAFIA1CIIgiDaciAiACIAVLGxBeIgINAEEAIQIgDSAOUQ0AQX9BASANIA5UGyECCyADIAEgAkEASCICGyEDIAFBBGogASACGygCACIBDQALIAMgBEYNAAJAIAcgAykCECINpyANQiCIIg2nIgEgBSABIAVJGxBeIgFFBEAgDSAOWA0BDAILIAFBAEgNAQsCQCADKAIEIgJFBEAgAyECA0AgAigCCCIBKAIAIAJHIQwgASECIAwNAAsMAQsDQCACIgEoAgAiAg0ACwsgAyAAKAKQAUYEQCAAIAE2ApABCyAAIAAoApgBQQFrNgKYASAGIAMQ5QEgAygCGCIABEAgAygCHCIBIAAiAkcEQANAIAFBDGsgAUEQayIBKAIIELQDIAAgAUcNAAsgAygCGCECCyADIAA2AhwgAhBaCyADEFoLIAhBEGokAAsmACAAQYQBaiAAQYgBaiIBKAIAELQDIAAgATYChAEgAEIANwKIAQupBQEIfwJAAkACQAJAAkAgASgCACIBKAIAQQJGBEAgASgCEARAIAAoAqwBIgEgACgCsAEiA0kEQCABIAAoAoQBNgIAIAEgAEGIAWoiBCgCACIDNgIEIAEgACgCjAEiBTYCCCABQQRqIQICQCAFRQRAIAEgAjYCAAwBCyADIAI2AgggAEIANwKIASAAIAQ2AoQBCyAAIAFBDGo2AqwBDwsgASAAKAKoASIEa0EMbSIFQQFqIgJB1qrVqgFPDQJB1arVqgEgAyAEa0EMbSIDQQF0IgYgAiACIAZJGyADQarVqtUATxsiAwR/IANB1qrVqgFPDQQgA0EMbBBcBUEACyIGIAVBDGxqIgIgACgChAE2AgAgAiAAQYgBaiIFKAIAIgc2AgQgAiAAKAKMASIINgIIIANBDGwhCSACQQRqIQMCQCAIRQRAIAIgAzYCAAwBCyAHIAM2AgggAEIANwKIASAAIAU2AoQBIAAoAqgBIQQgACgCrAEhAQsgBiAJaiEDIAJBDGohBSABIARGDQQDQCACQQxrIgIgAUEMayIBKAIANgIAIAJBBGoiBiABQQRqIgcoAgAiCDYCACACIAEoAggiCTYCCAJAIAlFBEAgAiAGNgIADAELIAggBjYCCCABIAc2AgAgAUEANgIEIAFBADYCCAsgASAERw0ACyAAIAM2ArABIAAoAqwBIQEgACAFNgKsASAAKAKoASEEIAAgAjYCqAEgASAERg0FA0AgAUEMayIBIAEoAgQQtAMgASAERw0ACwwFCyAAQYQBaiAAQYgBaiIBKAIAELQDIAAgATYChAEgAEIANwKIAQwFC0Hw7QVBxZgDQZQGQY3eABABAAsQZAALEGoACyAAIAM2ArABIAAgBTYCrAEgACACNgKoAQsgBEUNACAEEFoLC4EBAAJAIAEoAgAiASgCAEECRgRAIAEoAhBFDQEgACgCrAFBDGsiASABKAIEELQDIAAgATYCrAEgAEGEAWogAEGIAWoiASgCABC0AyAAIAE2AoQBIABCADcCiAEPC0Hw7QVBxZgDQZQGQY3eABABAAtBpd0DQcaSAkG9AUHg3gMQAQAL3CQCGX8BfiMAQYAEayICJAAgASgCACEFIAJCCDcCgAMCQAJAIAUoAgAiBEEIRwR/IAUFIAIgBSgCCDYCiAMgAiAFKQIANwOAAyACQYADaiEHIABBiAFqIgMoAgAiBEUNASAFKAIIIQggAyEGA0AgBiAEIAQoAhAgCEkiCRshBiAEQQRqIAQgCRsoAgAiBA0ACyADIAZGDQEgCCAGKAIQSQ0BAkACQAJAIAYoAhQoAgAiAygCAEEJRgRAAkACQCAALQC1AUUEQCAAKAKkAiAIQQJ0aigCAEEBRw0BCyAAQRRqIAMoAgwQeSADKAIMKAIEIAUoAgRGDQEgAEEBOgCwAgwBCyAAQRRqIAMQeSADKAIEDQIgAyAAKAJ4IAMoAggQ0AIiBDYCBCADQQEgBCADKAIMKAIEQQFGGzYCBAsgBigCFCAFNgIAIAVCFjcCACAGKAIEIgMNAiAGIQMDQCADKAIIIgQoAgAgA0chESAEIQMgEQ0ACwwDCwwFC0H5mgZBxpICQZkCQbCFARABAAsDQCADIgQoAgAiAw0ACwsgBiAAKAKEAUYEQCAAIAQ2AoQBCyAAIAAoAowBQQFrNgKMASAAKAKIASAGEOUBIAZBEGoQ6wIgBhBaIABBAToAtAEgASgCACIFKAIAIQQgAkGAA2oLIQcgBEEJRiEKIARBCUcNACAAQYgBaiIDKAIAIgRFDQAgBSgCCCEIIAMhBgNAIAYgBCAEKAIQIAhJIgkbIQYgBEEEaiAEIAkbKAIAIgQNAAsgAyAGRg0AIAggBigCEEkNAAJAAkACQCAGKAIUKAIAIgMoAgBBCUYEQCADKAIEDQEgA0ISNwIAIAMgAygCDCIENgIIIAMgBCgCBEEBRjYCBCAGKAIEIgMNAiAGIQMDQCADKAIIIgQoAgAgA0chEiAEIQMgEg0ACwwDCwwEC0GHmwZBxpICQaEDQbPRABABAAsDQCADIgQoAgAiAw0ACwsgBiAAKAKEAUYEQCAAIAQ2AoQBCyAAIAAoAowBQQFrNgKMASAAKAKIASAGEOUBIAZBEGoQ6wIgBhBaIABBAToAtAELIAAoAnwhBCACIAAoAgQiAy0AODoAiAIgAiADLQA5OgCJAiACIAMoAmg2AowCIAIgAygCbCIDNgKQAiADBEAgAyADKAIEQQFqNgIECyACIAQ2ApQCIAQoAoQBIQMgAkGkAmoiBEIANwIAIAJBsAJqIgZCADcCACACQbwCaiIIQgA3AgAgAkHIAmoiCUIANwIAIAJB7AJqIgtCADcCACACQgA3AtgCIAJCADcB3gIgAkH4AmoiDEIANwIAIAJBADsBnAIgAiADNgKYAiACIAQ2AqACIAIgBjYCrAIgAiAINgK4AiACIAk2AsQCIAJCADcC0AIgAiALNgLoAiACIAw2AvQCIAJCADcC4AEgAkIANwLoASACQQA2AvABQdSJC0EANgIAIAJCADcCiAEgAiACQYgCajYC9AFBqjggAkGIAWogBxADQdSJCygCACEDQdSJC0EANgIAAkACQAJAAkACQCADQQFHBEAgAigC4AEiAwRAIAIgAzYC5AEgAxBaCyACKALcAgRAQdSJC0EANgIAQQ1BkckFQfaKA0HECEGm0QAQBUHUiQsoAgAhE0HUiQtBADYCACATQQFGDQMMBgsgAi0AiAIEQCACQQA6ANkCDAILIAItANkCRQ0BIAJBAToA2AIMAQsQACEEIAIoAuABIgBFDQMgAiAANgLkASAAEFoMAwsgBygCAEEDRgRAIAJBAToAnAILAkAgAi0A2AINACACKAK0Ag0AIAItAOQCDQAgAigCzAINACACLQDRAg0AIAItANMCDQAgAi0A1QINACACLQDXAg0AIAItANoCDQAgAi0AnQINACACLQDbAg0AIAIoAvwCDQAgAi0AnAINACACKALwAg0AIAItAOUCDQAgAigCqAINACACKALAAg0AIAItANACDQAgAi0A0gINACACLQDUAg0AIAItANYCRQ0CC0HUiQtBADYCAEG6mgEgACACQYgCahADQdSJCygCACEUQdSJC0EANgIAIBRBAUcNAQsQACEEDAELAkACQCAKRQ0AIAUoAgQNACAAKAJ8IgYo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aiILIAIoAnQiAzYCACACIAIoAngiBDYC+AECQCAERQRAIAIgCzYC8AEMAQsgAyALNgIIIAJCADcCdCACIAw2AnALIAIgAigCfDYC/AEgAkGAAmoiDCACKAKAASIFNgIAIAIgAigChAEiAzYChAICQCADRQRAIAIgDDYC/AEMAQsgBSAMNgIIIAJCADcCgAEgAiANNgJ8CwJAAkAgBiIEKAIAIgNFDQADQCADIgQoAhAiAyAHSwRAIAQiBigCACIDDQEMAgsgAyAHTw0CIAQoAgQiAw0ACyAEQQRqIQYLQdSJC0EANgIAQQRBkAEQBiEDQdSJCygCACEaQdSJC0EANgIAIBpBAUYNAiADIAc2AhAgAyAQNgIUIAIvAZABIQUgAyAPNgIgIAMgDjYCHCADIAU7ARggAkIANwKUASADIAIvAaQBOwEsIAMgAikCnAE3AiQgAyACKAKoATYCMCADQTRqIgUgAigCrAEiBzYCACADIAIoArABIg02AjgCQCANRQRAIAMgBTYCMAwBCyAHIAU2AgggAkIANwKsASACIAE2AqgBCyADIAIoArQBNgI8IANBQGsiASACKAK4ASIFNgIAIAMgAigCvAEiBzYCRAJAIAdFBEAgAyABNgI8DAELIAUgATYCCCACQgA3ArgBIAIgCDYCtAELIAMgAigCwAE2AkggA0HMAGoiASACKALEASIFNgIAIAMgAigCyAEiBzYCUAJAIAdFBEAgAyABNgJIDAELIAUgATYCCCACQgA3AsQBIAIgCTYCwAELIAMgAigCzAE2AlQgA0HYAGoiASACKALQASIFNgIAIAMgAigC1AEiBzYCXAJAIAdFBEAgAyABNgJUDAELIAUgATYCCCACQgA3AtABIAIgCjYCzAELIAMgAikC2AE3AmAgAyACKQHmATcBbiADIAIpAuABNwJoIAMgAigC8AE2AnggA0H8AGoiASACKAL0ASIFNgIAIAMgAigC+AEiBzYCgAECQCAHRQRAIAMgATYCeAwBCyAFIAE2AgggAkIANwL0ASACIAs2AvABCyADIAIoAvwBNgKEASADQYgBaiIBIAIoAoACIgU2AgAgAyACKAKEAiIHNgKMAQJAIAdFBEAgAyABNgKEAQwBCyAFIAE2AgggAkIANwKAAiACIAw2AvwBCyADIAQ2AgggA0IANwIAIAYgAzYCACAA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AAvvDwEYfyMAQbACayIDJAACQAJAAkACQAJAAkACQAJAAkACQAJAIAAoAgQEQCAAIAAoAgAoAhARAgAEQCADIAAoAgQiAikCODcD+AEgAyACKQIwNwPwASADIAIpAig3A+gBIAMgAikCIDcD4AEgAyACKQIYNwPYASADQYACaiACQUBrEOMBIQRB1IkLQQA2AgBBmgEgA0GUAmogAkHUAGoQAiEFQdSJCygCACERQdSJC0EANgIAIBFBAUYNAiADIAIoAmg2AqgCIAMgAigCbCICNgKsAiACBEAgAiACKAIEQQFqNgIECyADQQEgAygC4AEiAiACQQBKGzYC4AEgAyADKQPoATcDGCADIAMpA/ABNwMgIAMgAykD+AE3AyggAyADKQPgATcDECADQQEgAygC3AEiAiACQQBKGzYC3AFB1IkLQQA2AgAgAyADKQPYATcDCEGbASADQTBqIAQQAiEEQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBxABqIAUQAiEFQdSJCygCACESQdSJC0EANgIAIBJBAUYNBSADIAMoAqwCIgI2AlwgAyADKAKoAjYCWCACBEAgAiACKAIEQQFqNgIECyADQQA2AnggAyADKQMQNwKEASADIAMpAxg3AowBIAMgAykDIDcClAEgAyADKQMoNwKcASADQgA3AnAgA0H87Ak2AmQgAyADKQMINwJ8QdSJC0EANgIAIAMgATYCaCADIAFBqAFqNgJsQZsBIANBpAFqIAQQAiEBQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBuAFqIAUQAhpB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRwRAIAMgAygCWDYCzAEgAyADKAJcIgE2AtABIAEEQCABIAEoAgRBAWo2AgQLIANBADsB1AEgA0EIahBhIANBAToA1AEgACgCACgCFCEUQdSJC0EANgIAIBQgABAGIQBB1IkLKAIAIRVB1IkLQQA2AgAgFUEBRg0EIAMoAmQoAgghFkHUiQtBADYCACAWIANB5ABqIgEgABADQdSJCygCACEXQdSJC0EANgIAIBdBAUYNBEHUiQtBADYCAEGXASABEApB1IkLKAIAIRhB1IkLQQA2AgAgGEEBRg0EIANB/OwJNgJkIANB/ABqEGEg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9wIQAQALQfDtBUHFmANBlAZBjd4AEAEAC0HFogFBiaIDQbwBQaaIBRABAAvvDwEYfyMAQbACayIDJAACQAJAAkACQAJAAkACQAJAAkACQAJAIAAoAgQEQCAAIAAoAgAoAhARAgAEQCADIAAoAgQiAikCODcD+AEgAyACKQIwNwPwASADIAIpAig3A+gBIAMgAikCIDcD4AEgAyACKQIYNwPYASADQYACaiACQUBrEOMBIQRB1IkLQQA2AgBBmgEgA0GUAmogAkHUAGoQAiEFQdSJCygCACERQdSJC0EANgIAIBFBAUYNAiADIAIoAmg2AqgCIAMgAigCbCICNgKsAiACBEAgAiACKAIEQQFqNgIECyADQQEgAygC4AEiAiACQQBKGzYC4AEgAyADKQPoATcDGCADIAMpA/ABNwMgIAMgAykD+AE3AyggAyADKQPgATcDECADQQEgAygC3AEiAiACQQBKGzYC3AFB1IkLQQA2AgAgAyADKQPYATcDCEGbASADQTBqIAQQAiEEQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBxABqIAUQAiEFQdSJCygCACESQdSJC0EANgIAIBJBAUYNBSADIAMoAqwCIgI2AlwgAyADKAKoAjYCWCACBEAgAiACKAIEQQFqNgIECyADQQA2AnggAyADKQMQNwKEASADIAMpAxg3AowBIAMgAykDIDcClAEgAyADKQMoNwKcASADQgA3AnAgA0H87Ak2AmQgAyADKQMINwJ8QdSJC0EANgIAIAMgATYCaCADIAFBqAFqNgJsQZsBIANBpAFqIAQQAiEBQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBuAFqIAUQAhpB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRwRAIAMgAygCWDYCzAEgAyADKAJcIgE2AtABIAEEQCABIAEoAgRBAWo2AgQLIANBADsB1AEgA0EIahBhIANBAToA1AEgACgCACgCFCEUQdSJC0EANgIAIBQgABAGIQBB1IkLKAIAIRVB1IkLQQA2AgAgFUEBRg0EIAMoAmQoAgghFkHUiQtBADYCACAWIANB5ABqIgEgABADQdSJCygCACEXQdSJC0EANgIAIBdBAUYNBEHUiQtBADYCAEGXASABEApB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AyACKAKoATYCMCADQTRqIgUgAigCrAEiBjYCACADIAIoArABIg02AjgCQCANRQRAIAMgBTYCMAwBCyAGIAU2AgggAkIANwKsASACIAE2AqgBCyADIAIoArQBNgI8IANBQGsiASACKAK4ASIFNgIAIAMgAigCvAEiBjYCRAJAIAZFBEAgAyABNgI8DAELIAUgATYCCCACQgA3ArgBIAIgBzYCtAELIAMgAigCwAE2AkggA0HMAGoiASACKALEASIFNgIAIAMgAigCyAEiBjYCUAJAIAZFBEAgAyABNgJIDAELIAUgATYCCCACQgA3AsQBIAIgCTYCwAELIAMgAigCzAE2AlQgA0HYAGoiASACKALQASIFNgIAIAMgAigC1AEiBjYCXAJAIAZFBEAgAyABNgJUDAELIAUgATYCCCACQgA3AtABIAIgCjYCzAELIAMgAikC2AE3AmAgAyACKQHmATcBbiADIAIpAuABNwJoIAMgAigC8AE2AnggA0H8AGoiASACKAL0ASIFNgIAIAMgAigC+AEiBjYCgAECQCAGRQRAIAMgATYCeAwBCyAFIAE2AgggAkIANwL0ASACIAs2AvABCyADIAIoAvwBNgKEASADQYgBaiIBIAIoAoACIgU2AgAgAyACKAKEAiIGNgKMAQJAIAZFBEAgAyABNgKEAQwBCyAFIAE2AgggAkIANwKAAiACIAw2AvwBCyADIAQ2AgggA0IANwIAIAggAzYCACAAKAKEASgCACIBBEAgACABNgKEASAIKAIAIQMLIAAoAogBIAMQZyAAIAAoAowBQQFqNgKMASACKAKAAiEGCyAGEGAgAigC9AEQYCACKALQARBgIAIoAsQBEGAgAigCuAEQbyACKAKsARBvAkAgAigCmAEiAEUNACAAIAAoAgQiAUEBazYCBCABDQAgACAAKAIAKAIIEQEAIAAQdQsgAigCgAEQYCACKAJ0EGAgAigCUBBgIAIoAkQQYCACKAI4EG8gAigCLBBvIAIoAhgiAEUNACAAIAAoAgQiAUEBazYCBCABDQAgACAAKAIAKAIIEQEAIAAQdQsgAigC+AIQYCACKALsAhBgIAIoAsgCEGAgAigCvAIQYCACKAKwAhBvIAIoAqQCEG8CQCACKAKQAiIARQ0AIAAgACgCBCIBQQFrNgIEIAENACAAIAAoAgAoAggRAQAg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DQggA0GBlQEgARBbIAIoAgBBM0cNCSACKAIoIgBBAEoEQANAIABBAWsiBCACKAIoTw0MIAIoAiQgBEECdGoiBSgCAEUNCiADQfmUASAFEFsgASgCAEUNCiADQYGVASABEFsgAEEBSyEHIAQhACAHDQALIAIoAgBBM0cNCgsgAigCEEUNCCADQfmUASACQRBqEFsMBwsgA0GHlQEgARBbIAEoAgBFDQcgA0GBlQEgARBbIAIoAgBBNUcNCCACKAIUIgBBAEwNBgNAIABBAWsiBCACKAIUTw0KIAIoAhAgBEECdGoiBSgCAEUNCCADQfmUASAFEFsgAEEBSyEIIAQhACAIDQALDAYLIANBiJUBIAEQWyABKAIARQ0GIANBgZUBIAEQWwwFCyADQYmVASABEFsgASgCAEUNBSADQYGVASABEFsMBAsgA0GKlQEgARBbIAAtAIABRQRAIAEoAgBFDQUgA0GBlQEgARBbCyACKAIAQT9HDQUgAigCFEUNBCADQfmUASACQRRqEFsMAwsMAwtByuAFQeCWA0HLAUGO4wIQAQALIAAgARD7DAsgASgCAARAIANBi5UBIAEQWw8LC0GBgwJB05kDQbkCQa73AhABAAtB8O0FQcWYA0GUBkGN3gAQAQALQcWiAUGJogNBvAFBpogFEAEAC+8PARh/IwBBsAJrIgMkAAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCBARAIAAgACgCACgCEBECAARAIAMgACgCBCICKQI4NwP4ASADIAIpAjA3A/ABIAMgAikCKDcD6AEgAyACKQIgNwPgASADIAIpAhg3A9gBIANBgAJqIAJBQGsQ4wEhBEHUiQtBADYCAEGaASADQZQCaiACQdQAahACIQVB1IkLKAIAIRFB1IkLQQA2AgAgEUEBRg0CIAMgAigCaDYCqAIgAyACKAJsIgI2AqwCIAIEQCACIAIoAgRBAWo2AgQLIANBASADKALgASICIAJBAEobNgLgASADIAMpA+gBNwMYIAMgAykD8AE3AyAgAyADKQP4ATcDKCADIAMpA+ABNwMQIANBASADKALcASICIAJBAEobNgLcAUHUiQtBADYCACADIAMpA9gBNwMIQZsBIANBMGogBBACIQRB1IkLKAIAIQJB1IkLQQA2AgACQCACQQFHBEBB1IkLQQA2AgBBmgEgA0HE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A0GtlAEgARBYIAIoAgBBHEYNWwxKCyADQa6UASABEFggAigCAEEdRw1JDFQLIANBr5QBIAEQWCACKAIAQR5HDUggA0GYlAEgAkEUahBYDFMLIANBsJQBIAEQWCACKAIAQR9HDUcMSwsgA0GxlAEgARBYIAIoAgBBIEcNRgxPCyADQbKUASABEFggAigCAEEhRw1FDE8LIANBs5QBIAEQWCACKAIAQSJHDUQgA0GYlAEgAkEgahBYDFULIANBtJQBIAEQWCACKAIAQSNHDUMMTwsgA0G1lAEgARBYIAIoAgBBJEcNQgxICyADQbaUASABEFggAigCAEElRg1SDEELIANBt5QBIAEQWCACKAIAQSZHDUAMQwsgA0G4lAEgARBYIAIoAgBBJ0cNPwxCCyADQbmUASABEFggAigCAEEORg1PDD4LIANBupQBIAEQWCACKAIAQQ9HDT0MSAsgA0G7lAEgARBYIAIoAgBBEEcNPAxGCyADQbyUASABEFggAigCAEERRw07DD4LIANBvZQBIAEQWCACKAIAQRJHDToMSQsgA0G+lAEgARBYIAIoAgBBE0cNOQxJCyADQb+UASABEFggAigCAEEURg1JDDgLIANBwJQBIAEQWCACKAIAQRVHDTcMRgsgA0HBlAEgARBYIAIoAgBBKUYNRww2CyADQcKUASABEFggAigCAEEqRw01DEQLIANBw5QBIAEQWCACKAIAQStGDUUMNAsgA0HElAEgARBYIAIoAgBBLEcNMww3CyADQcWUASABEFggAigCAEEtRw0yDDoLIANBxpQBIAEQWCACKAIAQS5HDTEMOAsgA0HHlAEgARBYIAIoAgBBL0YNQQwwCyADQciUASABEFggAigCAEEwRw0vDDYLIANByZQBIAEQWCACKAIAQTFHDS4MNAsgA0HKlAEgARBYIAIoAgBBMkcNLQwwCyADQcuUASABEFggAigCAEEzRw0sIAIoAigiAEEASgRAIANBBGohBANAIABBAWsiBSACKAIoTw0vIAIoAiQgBUECdGoiBigCAEUNQCAEQZiUASAGEFsgAEEBSyELIAUhACALDQALCww0CyADQcyUASABEFggAigCAEE0Rg06DCsLIANBzZQBIAEQWCACKAIAQTVHDSogAigCFCIAQQBMDTsgA0EEaiEFA0AgAEEBayIDIAIoAhRPDSwg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IAggAigCACkDADcDEAsgCCkDECEKIABBqAFqQThBCBBdIgBCADcDCCAAQgA3AyAgACAKNwIwIAAgBjYCLCAAIAU2AiggACADrTcDGCAAIAk3AxAgAEINNwIAIAAgAToACCAAIAQ2AiQCQCAGBEBBASEBIAAgBCgCBEEBRwR/IAUoAgRBAUYFQQELNgIEIAUoAgQiAUECTyABIAZHcQ0BIAhBIGokACAADwtBm48EQaSkAkHOAkGywwMQAQALQarIA0GalgNBowNBx+QDEAEACywAIAEoAgAiASgCAEHXAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPgBCywAIAEoAgAiASgCAEHWAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPgBCywAIAEoAgAiASgCAEHVAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPgBCywAIAEoAgAiASgCAEHUAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPgBCywAIAEoAgAiASgCAEHTAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPgBCywAIAEoAgAiASgCAEHSAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPgBCywAIAEoAgAiASgCAEHRAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPgBCywAIAEoAgAiASgCAEHQAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPgBCywAIAEoAgAiASgCAEHPAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPgBCywAIAEoAgAiASgCAEHOAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPgBCywAAkAgAEEQTwRAIAAoAhBFDQELQfCUBkGntwJBjANB/KQBEAEACyAAKAIYCywAIAEoAgAiASgCAEHNAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPgBCywAIAEoAgAiASgCAEHMAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPgBCywAIAEoAgAiASgCAEHLAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPgBCywAIAEoAgAiASgCAEHKAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPgBCywAIAEoAgAiASgCAEHJAEcE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IQRB1IkLQQA2AgBBmgEgA0GUAmogAkHUAGoQAiEFQdSJCygCACERQdSJC0EANgIAIBFBAUYNAiADIAIoAmg2AqgCIAMgAigCbCICNgKsAiACBEAgAiACKAIEQQFqNgIECyADQQEgAygC4AEiAiACQQBKGzYC4AEgAyADKQPoATcDGCADIAMpA/ABNwMgIAMgAykD+AE3AyggAyADKQPgATcDECADQQEgAygC3AEiAiACQQBKGzYC3AFB1IkLQQA2AgAgAyADKQPYATcDCEGbASADQTBqIAQQAiEEQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBxABqIAUQAiEFQdSJCygCACESQdSJC0EANgIAIBJBAUYNBSADIAMoAqwCIgI2AlwgAyADKAKoAjYCWCACBEAgAiACKAIEQQFqNgIECyADQQA2AnggAyADKQMQNwKEASADIAMpAxg3AowBIAMgAykDIDcClAEgAyADKQMoNwKcASADQgA3AnAgA0H87Ak2AmQgAyADKQMINwJ8QdSJC0EANgIAIAMgATYCaCADIAFBqAFqNgJsQZsBIANBpAFqIAQQAiEBQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBuAFqIAUQAhpB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRwRAIAMgAygCWDYCzAEgAyADKAJcIgE2AtABIAEEQCABIAEoAgRBAWo2AgQLIANBADsB1AEgA0EIahBhIANBAToA1AEgACgCACgCFCEUQdSJC0EANgIAIBQgABAGIQBB1IkLKAIAIRVB1IkLQQA2AgAgFUEBRg0EIAMoAmQoAgghFkHUiQtBADYCACAWIANB5ABqIgEgABADQdSJCygCACEXQdSJC0EANgIAIBdBAUYNBEHUiQtBADYCAEGXASABEApB1IkLKAIAIRhB1IkLQQA2AgAgGEEBRg0EIANB/OwJNgJkIANB/ABqEGEgAygCcCIBBEAgAygCdCIAIAEiAkcEQANAIABBBGsiACgCACECIABBADYCACACBEAgAiACKAIAKAIEEQEACyAAIAFHDQALIAMoAnAhAgsgAyABNgJ0IAIQWgsgA0HYAWoQYQwQCxAAIQAgARBrDAELEAAhAAsgA0HwAGoQ4AEgA0EIahBhDA4L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KAIEIQIgBSgCACEGIAAgBDYCGAwBCyACQQhrIgQoAgAhBiAEKAIEIQIgACAENgJwCyAJIAI2AgAgAigCAEUNDSAAIAIgBhEAAEEAIAAoAhgiBWsgACgCcCICIAAoAmwiBmtBA3VHDQALCyACIQQgC0EEaiILIA9HDQALCyAKQQRqIgogDkcNAAsMCQtB6PoFQbqLA0H8A0HaywIQAQALEAAhGSAEEGsgGRAHAAsQACEAIAQQawwIC0HNygVB05kDQcgCQdD4AhABAAtBgYMCQdOZA0G5AkGu9wIQAQALEGQACxBqAAtB3sQFQbCUA0HaAEH9+wIQAQALQfWCAkHTmQNBzQJB0PgCEAEACyABKAJIIgIgASgCTCIBRwRAA0AgAigCACIELQAURQRAIAkgBEEYahDGBgsgAkEEaiICIAFHDQALCyAAQQA2AnwLIANBsAJqJAAPCyADQdgBahBhIAAQBwAL3R4BDn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAIgIoAgAOXgABAgMEBQYHCAkKCwwNHh8gISIjJCU1Ng4PEBESExQVFhcYGRobHB03JicoKSorLC0uLzAxMjM0ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXABdC0GY/QNB5bMDQeoBEGIACyAAQaORASABEFggAigCAEEBRw1cIAIoAhQiAUEATA1bIABBBGohBANAIAFBAWsiACACKAIUTw1eIAIoAhAgAEECdGoiAygCAEUNXyAEQb+QASADEFsgAUEBSyEGIAAhASAGDQALDFsLIABBpJEBIAEQWCACKAIAQQJHDVsgAigCEARAIABBBGpBv5ABIAJBEGoQWwsMYAsgAEGlkQEgARBYIAIoAgBBA0cNWgxjCyAAQaaRASABEFggAigCAEEE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NgIAQZyKC0GcigsoAgBBAWs2AgAgACwAH0EASARAIAAoAhQQWgsgACwAE0EASARAIAAoAggQWgsgABBaIAYtAB8hAQsgAcBBAE4NACAGKAIUEFoLIAZBIGokAA8LIAYsABNBAEgEQCAGKAIIEFoLIAAQBwALviIBDn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEoAgAiAigCAA5eAAECAwQFBgcICQoLDA0eHyAhIiMkJTU2Dg8QERITFBUWFxgZGhscHTcmJygpKissLS4vMDEyMzQ4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcAF0LQZj9A0HlswNB6gEQYgALIABBFGpBx5ABIAEQWCACKAIAQQFHDVwgAigCFCIBQQBMDVsgAEEYaiEDA0AgAUEBayIAIAIoAhRPDV4gAigCECAAQQJ0aiIEKAIARQ1fIANBu5ABIAQQWyABQQFLIQYgACEBIAYNAAsMWwsgAEEUaiIDQciQASABEFggAigCAEECRw1bIAIoAhAEQCAAQRhqQbuQASACQRBqEFsLIANBu5ABIAJBDGoQWCADQbuQASACQQhqEFgPCyAAQRRqIgBByZABIAEQWCACKAIAQQNHDVoMYAsgAEEUakHKkAEgARBYIAIoAgBBBEcNWSACKAIUBEAgAEEYakG7kAEgAkEUahBbCyACKAIQRQ1YIABBGGpBu5ABIAJBEGoQWw8LIABBFGoiA0HLkAEgARBYIAIoAgBBBUcNWCADQbuQASACQSRqEFggAigCIEUNVyAAQRhqQbuQASACQSBqEFsPCyAAQRRqQcyQASABEFggAigCAEEGRw1XIAIoAgwiAUEATA1WIABBGGohAwNAIAFBAWsiACACKAIMTw1ZIAIoAgggAEECdGoiBCgCAEUNWiADQbuQASAEEFsgAUEBSyEHIAAhASAHDQALDFYLIABBFGoiA0HNkAEgARBYIAIoAgBBB0cNViADQbuQASACQRxqEFggAigCECIBQQBMDVUgAEEYaiEDA0AgAUEBayIAIAIoAhBPDVggAigCDCAAQQJ0aiIEKAIARQ1ZIANBu5ABIAQQWyABQQFLIQggACEBIAgNAAsMVQsgAEEUakHOkAEgARBYIAIoAgBBCEYNVAxVCyAAQRRqIgBBz5ABIAEQWCACKAIAQQlHDVQMXQsgAEEUakHQkAEgARBYIAIoAgBBCkYNUgxTCyAAQRRqIgBB0ZABIAEQWCACKAIAQQtHDVIMWAsgAEEUaiIAQdKQASABEFggAigCAEEMRw1RDFwLIABBFGoiAEHTkAEgARBYIAIoAgBBDUcNUAxaCyAAQRRqIgBB1JABIAEQWCACKAIAQRhHDU8MWwsgAEEUaiIAQdWQASABEFggAigCAEEZRw1OIABBu5ABIAJBIGoQWAxaCyAAQRRqIgBB1pABIAEQWCACKAIAQRpHDU0MUQsgAEEUaiIAQdeQASABEFggAigCAEEbRw1MDFELIABBFGpB2JABIAEQWCACKAIAQRxGDUoMSwsgAEEUaiIAQdmQASABEFggAigCAEEdRw1KDFMLIABBFGoiAEHakAEgARBYIAIoAgBBHkcNSSAAQbuQASACQRRqEFgMUgsgAEEUaiIAQduQASABEFggAigCAEEfRw1IDFcLIABBFGoiAEHckAEgARBYIAIoAgBBIEcNRwxOCyAAQRRqIgBB3ZABIAEQWCACKAIAQSFHDUYMTgsgAEEUaiIAQd6QASABEFggAigCAEEiRw1FIABBu5ABIAJBIGoQWA8LIABBFGoiAEHfkAEgARBYIAIoAgBBI0cNRAxOCyAAQRRqIgBB4JABIAEQWCACKAIAQSRHDUMMRwsgAEEUakHhkAEgARBYIAIoAgBBJUYNQQxCCyAAQRRqIgBB4pABIAEQWCACKAIAQSZHDUEMTwsgAEEUaiIAQeOQASABEFggAigCAEEnRw1ADE4LIABBFGpB5JABIAEQWCACKAIAQQ5GDT4MPwsgAEEUaiIAQeWQASABEFggAigCAEEPRw0+DEcLIABBFGoiAEHmkAEgARBYIAIoAgBBEEcNPQxFCyAAQRRqIgBB55ABIAEQWCACKAIAQRFHDTwMSgsgAEEUaiIAQeiQASABEFggAigCAEESRw07DEsLIABBFGpB6ZABIAEQWCACKAIAQRNHDTogAigCCEUNOQxLCyAAQRRqQeqQASABEFggAigCAEEURg04DDkLIABBFGoiAEHrkAEgARBYIAIoAgBBFUcNOAxICyAAQRRqQeyQASABEFggAigCAEEpRg02DDcLIABBFGoiAEHtkAEgARBYIAIoAgBBKkcNNgxGCyAAQRRqQe6QASABEFggAigCAEErRg00DDULIABBFGoiAEHvkAEgARBYIAIoAgBBLEcNNAxDCyAAQRRqIgBB8JABIAEQWCACKAIAQS1HDTMMOQsgAEEUaiIAQfGQASABEFggAigCAEEuRw0yDDcLIABBFGpB8pABIAEQWCACKAIAQS9GDTAMMQsgAEEUaiIAQfOQASABEFggAigCAEEwRw0wDDULIABBFGoiAEH0kAEgARBYIAIoAgBBMUcNLwwzCyAAQRRqIgBB9ZABIAEQWCACKAIAQTJHDS4MPAsgAEEUaiIDQfaQASABEFggAigCAEEzRw0tIAIoAigiAUEASgRAIABBGGohBANAIAFBAWsiACACKAIoTw0wIAIoAiQgAEECdGoiBSgCAEUNMSAEQbuQASAFEFsgAUEBSyEJIAAhASAJDQALCyADQbuQASACQRBqEFgPCyAAQRRqIgBB95ABIAEQWCACKAIAQTRGBEAMPQsMLAsgAEEUakH4kAEgARBYIAIoAgBBNUcNKyACKAIUIgFBAEwNKiAAQRhqIQMDQCABQQFrIgAgAigCFE8NLSACKAIQIABBAnRqIgQoAgBFDS4gA0G7kAEgBBBbIAFBAUshCiAAIQEgCg0ACwwqCyAAQRRqQfmQASABEFggAigCAEE2Rg0pDCoLIABBFGoiAEH6kAEgARBYIAIoAgBBN0cNKQw5CyAAQRRqQfuQASABEFggAigCAEEWRg0nDCgLIABBFGpB/JABIAEQWCACKAIAQRdGDSYMJwsgAEEUakH9kAEgARBYIAIoAgBBKEYNJQwmCyAAQRRqQf6QASABEFggAigCAEE4Rw0lIAIoAgwiAUEATA0kIABBGGohAwNAIAFBAWsiACACKAIMTw0nIAIoAgggAEECdGoiBCgCAEUNKCADQbuQASAEEFsgAUEBSyELIAAhASALDQALDCQLIABBFGoi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KAJ8IgE2AgwgASgC/AEgASgCgAIgAikDKBC6AiEDIAYgAhCHDSACKAIkIQQgBkEMaiACKQMQIAMoAjQQhgMhBUEIEFwiAyAFNgIEIAMgBDYCACACKAIEIQRB1IkLQQA2AgAgBikDACEOQQwgAUGoAWoiAkEkQQQQBCEBQdSJCygCACEJQdSJC0EANgIAIAlBAUYNAiABQQA6ACAgAUIANwIIIAFBBjYCACABIA43AhggASAENgIEIAEgAjYCFCABQQI2AhBB1IkLQQA2AgBBDCACQQhBBBAEIQJB1IkLKAIAIQpB1IkLQQA2AgAgCkEBRg0CIAEgAjYCCCACIAMoAgA2AgAgASgCCCADKAIENgIEIAFBADoAICABQQI2AgxB1IkLQQA2AgBBtJABIABBFGogARADQdSJCygCACELQdSJC0EANgIAIAtBAUYNAiADEFoLIAZBEGokAA8LQfDtBUHFmANBlAZBjd4AEAEACxAAIQwgAxBaIAwQBwALngIBBX8jAEEQayICJABBjAEQXCEBIAIgAkEIaiIDNgIEIAJCADcCCCAAKAKAASEEQdSJC0EANgIAQeQJIAJBBGogBCAAQYQBahAIQdSJCygCACEAQdSJC0EANgIAAkACQCAAQQFGBEAQACEADAELIAFCADcCbCABQgA3AgQgAUHonwg2AgAgAUEANgJ8IAFCADcCdCABQgA3AgwgAUIANwIUIAFBhAFqIgBCADcCACABIAA2AoABQdSJC0EANgIAQeQJIAFBgAFqIAIoAgQgAxAIQdSJCygCACEFQdSJC0EANgIAIAVBAUcNARAAIQAgASgChAEQYCABEOQBGgsgAigCCBBgIAEQWiAAEAcACyACKAIIEGAgAkEQaiQAIAELPwAgACgCBEUEQEHo+gVBuosDQZwEQe7TAhABAAsgACACNgJ4IAAgATYCfCAAQRRqIAJBMGoQyQYgAEIANwJ4C74iAQ5/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAIgIoAgAOXgABAgMEBQYHCAkKCwwNHh8gISIjJCU1Ng4PEBESExQVFhcYGRobHB03JicoKSorLC0uLzAxMjM0ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXABdC0GY/QNB5bMDQeoBEGIACyAAQRRqQdiPASABEFggAigCAEEBRw1cIAIoAhQiAUEATA1bIABBGGohAwNAIAFBAWsiACACKAIUTw1eIAIoAhAgAEECdGoiBCgCAEUNXyADQdePASAEEFsgAUEBSyEGIAAhASAGDQALDFsLIABBFGoiA0HZjwEgARBYIAIoAgBBAkcNWyACKAIQBEAgAEEYakHXjwEgAkEQahBbCyADQdePASACQQxqEFggA0HXjwEgAkEIahBYDwsgAEEUaiIAQdqPASABEFggAigCAEEDRw1aDGALIABBFGpB248BIAEQWCACKAIAQQRHDVkgAigCFARAIABBGGpB148BIAJBFGoQWwsgAigCEEUNWCAAQRhqQdePASACQRBqEFsPCyAAQRRqIgNB3I8BIAEQWCACKAIAQQVHDVggA0HXjwEgAkEkahBYIAIoAiBFDVcgAEEYakHXjwEgAkEgahBbDwsgAEEUakHdjwEgARBYIAIoAgBBBkcNVyACKAIMIgFBAEwNViAAQRhqIQMDQCABQQFrIgAgAigCDE8NWSACKAIIIABBAnRqIgQoAgBFDVogA0HXjwEgBBBbIAFBAUshByAAIQEgBw0ACwxWCyAAQRRqIgNB3o8BIAEQWCACKAIAQQdHDVYgA0HXjwEgAkEcahBYIAIoAhAiAUEATA1VIABBGGohAwNAIAFBAWsiACACKAIQTw1YIAIoAgwgAEECdGoiBCgCAEUNWSADQdePASAEEFsgAUEBSyEIIAAhASAIDQALDFULIABBFGpB348BIAEQWCACKAIAQQhGDVQMVQsgAEEUaiIAQeCPASABEFggAigCAEEJRw1UDF0LIABBFGpB4Y8BIAEQWCACKAIAQQpGDVIMUwsgAEEUaiIAQeKPASABEFggAigCAEELRw1SDFgLIABBFGoiAEHjjwEgARBYIAIoAgBBDEcNUQxc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148BIAJBFGoQWA8LIABBFGpBl5ABIAEQWCACKAIAQcAARw0dIAIoAgwiAUEATA0cIABBGGohAwNAIAFBAWsiACACKAIMTw0fIAIoAgggAEECdGoiBCgCAEUNICADQdePASAEEFsgAUEBSyENIAAhASANDQALDBwLIABBFGoiAEGYkAEgARBYIAIoAgBBwQBHDRwMJQsgAEEUaiIAQZmQASABEFggAigCAEHCAEcNGwwjCyAAQRRqIgNBmpABIAEQWCACKAIAQcMARw0aIANB148BIAJBDGoQWCACKAIIRQ0ZDCsLIABBFGoiAEGbkAEgARBYIAIoAgBBxABHDRkMHgsgAEEUaiIAQZyQASABEFggAigCAEHFAEcNGAwdCyAAQRRqQZ2QASABEFggAigCAEHGAEcNFyACKAIMIgFBAEwNFiAAQRhqIQMDQCABQQFrIgAgAigCDE8NGSACKAIIIABBAnRqIgQoAgBFDRogA0HXjwEgBBBbIAFBAUshDiAAIQEgDg0ACwwWCyAAQRRqIgBBnpABIAEQWCACKAIAQccARw0WDCULIABBFGoiAEGfkAEgARBYIAIoAgBByABHDRUMIwsgAEEUaiIAQaCQASABEFggAigCAEHJAEcNFAwkCyAAQRRqIgBBoZABIAEQWCACKAIAQcoARw0TIABB148BIAJBGGoQWAwgCyAAQRRqIgBBopABIAEQWCACKAIAQcsARw0SDB8LIABBFGoiAEGjkAEgARBYIAIoAgBBzABHDREMFAsgAEEUaiIAQaSQASABEFggAigCAEHNAEcNEAwTCyAAQRRqIgBBpZABIAEQWCACKAIAQc4ARw0PDBgLIABBFGoiA0GmkAEgARBYIAIoAgBBzwBHDQ4gAigCGARAIABBGGpB148BIAJBGGoQWwsgAigCFARAIABBGGpB148BIAJBFGoQWwsgAigCEARAIABBGGpB148BIAJBEGoQWwsMIAsgAEEUakGnkAEgARBYIAIoAgBB0ABGDQwMDQsgAEEUaiIAQaiQASABEFggAigCAEHRAEcNDAwVCyAAQRRqIgNBqZABIAEQWCACKAIAQdIARw0LIAIoAhQEQCAAQRhqQdePASACQRRqEFsLIANB148BIAJBEGoQWAwdCyAAQRRqIgBBqpABIAEQWCACKAIAQdMARw0KDBkLIABBFGoiAEGrkAEgARBYIAIoAgBB1ABHDQkMEQsgAEEUaiIAQayQASABEFggAigCAEHVAEcNCAwRCyAAQRRqIgBBrZABIAEQWCACKAIAQdYARw0HDBULIABBFGoiAEGukAEgARBYIAIoAgBB1wBHDQYMFQsgAEEUaiIAQa+QASABEFggAigCAEHYAEcNBQwVCyAAQRRqIgBBsJABIAEQWCACKAIAQdkARw0EDAwLIABBFGoiAEGxkAEgARBYIAIoAgBB2gBHDQMMCgsgAEEUaiIAQbKQASABEFggAigCAEHbAEcNAgwRCyAAQRRqIgNBs5ABIAEQWCACKAIAQdwARw0BIANB148BIAJBPGoQWCACKAIwIgFBAEwNACAAQRhqIQMDQCABQQFrIgAgAigCME8NAyACKAIsIABBAnRqIgQoAgBFDQQgA0HXjwEgBBBbIAFBAUshDyAAIQEgDw0ACwsPC0Hw7QVBxZgDQZQGQY3eABABAAtBxaIBQYmiA0G8AUGmiAUQAQALQYGDAkHTmQNBuQJBrvcCEAEACyAAQdePASACQRxqEFgLIABB148BIAJBGGoQWAsgAEHXjwEgAkEUahBYCyAAQdePASACQRBqEFgPCyAAQdePASACQRRqEFgLIABB148BIAJBEGoQWAsgAEHXjwEgAkEMahBYDwsgAEHXjwEgAkEoahBYCyAAQdePASACQSRqEFgPCyAAQdePASACQRxqEFggAEHXjwEgAkEYahBYDwsgAEHXjwEgAkEUahBYCyAAQdePASACQRBqEFgLIABB148BIAJBDGoQWAsgAEHXjwEgAkEIahBYDwsgAEEYakHXjwEgAkEIahBbDwsgA0HXjwEgAkEMahBYC/IPARh/IwBBsAJrIgMkAAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCBARAIAAgACgCACgCEBECAARAIAMgACgCBCICKQI4NwP4ASADIAIpAjA3A/ABIAMgAikCKDcD6AEgAyACKQIgNwPgASADIAIpAhg3A9gBIANBgAJqIAJBQGsQ4wEhBEHUiQtBADYCAEGaASADQZQCaiACQdQAahACIQVB1IkLKAIAIRFB1IkLQQA2AgAgEUEBRg0CIAMgAigCaDYCqAIgAyACKAJsIgI2AqwCIAIEQCACIAIoAgRBAWo2AgQLIANBASADKALgASICIAJBAEobNgLg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ACgCgAEhBUGgARBcIQICQAJAAkACQAJAIAAoApgBIgFFBEBBACEADAELIABBiAFqIgAgAUYEQCADIANBCGoiATYCGCAAKAIAKAIMIQdB1IkLQQA2AgAgByAAIAEQA0HUiQsoAgAhCEHUiQtBADYCACAIQQFGDQMgAygCGCEADAILIAEoAgAoAgghCUHUiQtBADYCACAJIAEQBiEAQdSJCygCACEKQdSJC0EANgIAIApBAUYNAgsgAyAANgIYCyACQgA3AmwgAkIANwIEIAIgBDYChAEgAiAFNgKAASACQeSeCDYCAEEAIQEgAkEANgJ8IAJCADcCdCACQgA3AgwgAkIANwIUAkAgAARAIANBCGoiASAARgRAIAIgAkGIAWoiADYCmAEgAygCCCgCDCELQdSJC0EANgIAIAsgASAAEANB1IkLKAIAIQxB1IkLQQA2AgAgDEEBRw0CDAQLIAAoAgAoAgghDUHUiQtBADYCACANIAAQBiEBQdSJCygCACEOQdSJC0EANgIAIA5BAUYNAwsgAiABNgKYAQsCQAJAIAMoAhgiACADQQhqIgRGBEBBBCEBIAQhAAwBC0EFIQEgAEUNAQsgACAAKAIAIAFBAnRqKAIAEQEACyADQSBqJAAgAg8LEAAhAAwBCxAAIQAgAhDkARoCQCADKAIYIgEgA0EIaiIERgRAQQQhAyAEIQEMAQtBBSEDIAFFDQELIAEgASgCACADQQJ0aigCABEBAAsgAhBaIAAQBwALOQAgACgCBEUEQEHo+gVBuosDQZwEQe7TAhABAAsgACACNgJ4IAAgATYCfCAAIAIQiQ0gAEIANwJ4C74iAQ5/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAIgIoAgAOXgABAgMEBQYHCAkKCwwNHh8gISIjJCU1Ng4PEBES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AigCAEEYRw1PDF4LIABBpo4BIAEQWCACKAIAQRlHDU4gAEGVjgEgAkEgahBYDF0LIABBp44BIAEQWCACKAIAQRpHDU0MVAsgAEGojgEgARBYIAIoAgBBG0cNTAxUCyAAQamOASABEFggAigCAEEcRg1KDEsLIABBqo4BIAEQWCACKAIAQR1HDUoMVgsgAEGrjgEgARBYIAIoAgBBHkcNSSAAQZWOASACQRRqEFgMVQsgAEGsjgEgARBYIAIoAgBBH0cNSAxNCyAAQa2OASABEFggAigCAEEgRw1HDFELIABBro4BIAEQWCACKAIAQSFHDUYMUQsgAEGvjgEgARBYIAIoAgBBIkcNRSAAQZWOASACQSBqEFgPCyAAQbCOASABEFggAigCAEEjRw1EDFELIABBsY4BIAEQWCACKAIAQSRHDUMMSgsgAEGyjgEgARBYIAIoAgBBJUYNQQxCCyAAQbOOASABEFggAigCAEEmRw1BDEULIABBtI4BIAEQWCACKAIAQSdHDUAMRAsgAEG1jgEgARBYIAIoAgBBDkYNPgw/CyAAQbaOASABEFggAigCAEEPRw0+DEoLIABBt44BIAEQWCACKAIAQRBHDT0MSAsgAEG4jgEgARBYIAIoAgBBEUcNPAxACyAAQbmOASABEFggAigCAEESRw07DEsLIABBuo4BIAEQWCACKAIAQRNHDTogAigCCEUNOQxLCyAAQbuOASABEFggAigCAEEURg04DDkLIABBvI4BIAEQWCACKAIAQRVHDTgMSAsgAEG9jgEgARBYIAIoAgBBKUYNNgw3CyAAQb6OASABEFggAigCAEEqRw02DEYLIABBv44BIAEQWCACKAIAQStGDTQMNQsgAEHAjgEgARBYIAIoAgBBLEcNNAw5CyAAQcGOASABEFggAigCAEEtRw0zDDwLIABBwo4BIAEQWCACKAIAQS5HDTIMOgsgAEHDjgEgARBYIAIoAgBBL0YNMAwxCyAAQcSOASABEFggAigCAEEwRw0wDDgLIABBxY4BIAEQWCACKAIAQTFHDS8MNgsgAEHGjgEgARBYIAIoAgBBMkcNLgwyCyAAQceOASABEFggAigCAEEzRw0tIAIoAigiAUEASgRAIABBBGohAwNAIAFBAWsiBCACKAIoTw0wIAIoAiQgBEECdGoiBSgCAEUNMSADQZWOASAF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ayIDJAACQAJAIAEoAgAiASgCDA0AIAAoAgQoAgQhBiADQgA3AlwgA0IANwJkIANCADcCbCADQgA3AogBIANBATYChAEgA0KBgICAEDcCfCADQoGAgIAQNwJ0IANCADcCkAEgA0GAgID8AzYCmAEgA0IANwIEIAYtADkhAEHUiQtBADYCACADIAA6AJwBQcKMASADQQRqIAFBMGoQA0HUiQsoAgAhB0HUiQtBADYCACAHQQFGDQEgAiADKQJwNwIAIAIgAykCgAE3AhAgAiADKQJ4NwIIIAIoAiQEQCACKAIgIgEEQANAIAEoAgAhCCABEFogCCIBDQALC0EAIQEgAkEANgIgAkAgAigCHCIARQ0AIABBBE8EQCAAQXxxIQUDQCABQQJ0IgQgAigCGGpBADYCACACKAIYIARqQQA2AgQgAigCGCAEakEANgIIIAIoAhggBGpBADYCDCABQQRqIgEgBUcNAAsLIABBA3EiBEUNAEEAIQADQCACKAIYIAFBAnRqQQA2AgAgAUEBaiEBIABBAWoiACAERw0ACwsgAkEANgIkCyADKAKIASEBIANBADYCiAEgAigCGCEAIAIgATYCGCAABEAgABBaCyACIAMoAowBIgA2AhwgA0EANgKMASACIAMoApQBIgQ2AiQgAiADKgKYATgCKCACQSBqIgUgAygCkAEiATYCAAJAIAQEQCABKAIEIQECQCAAIABBAWsiBHFFBEAgASAEcSEBDAELIAAgAUsNACABIABwIQELIAIoAhggAUECdGogBTYCACADQgA3ApABDAELIAFFDQADQCABKAIAIQkgARBaIAkiAQ0ACwsgAygCiAEhACADQQA2AogBIAAEQCAAEFoLIAMoAlwiAEUNACADIAA2AmAgABBaCyADQaABaiQADwsQACEKIANBBGoQjw0gChAHAAsVACABIAAoAgQ2AgQgAUGYnQg2AgALHQEBf0EIEFwiASAAKAIENgIEIAFBmJ0INgIAIAELzwQBDn8jAEEgayIDJAAgACgChAEhBCAAKAKAASEFQaABEFwhAgJAAkACQAJAAkAgACgCmAEiAUUEQEEAIQAMAQsgAEGIAWoiACABRgRAIAMgA0EIaiIBNgIYIAAoAgAoAgwhB0HUiQtBADYCACAHIAAgARADQdSJCygCACEIQdSJC0EANgIAIAhBAUYNAyADKAIYIQAMAgsgASgCACgCCCEJQdSJC0EANgIAIAkgARAGIQBB1IkLKAIAIQpB1IkLQQA2AgAgCkEBRg0CCyADIAA2AhgLIAJCADcCbCACQgA3AgQgAiAENgKEASACIAU2AoABIAJBvJ0INgIAQQAhASACQQA2AnwgAkIANwJ0IAJCADcCDCACQgA3AhQCQCAABEAgA0EIaiIBIABGBEAgAiACQYgBaiIANgKYASADKAIIKAIMIQtB1IkLQQA2AgAgCyABIAAQA0HUiQsoAgAhDEHUiQtBADYCACAMQQFHDQIMBAsgACgCACgCCCENQdSJC0EANgIAIA0gABAGIQFB1IkLKAIAIQ5B1IkLQQA2AgAgDkEBRg0DCyACIAE2ApgBCwJAAkAgAygCGCIAIANBCGoiBEYEQEEEIQEgBCEADAELQQUhASAARQ0BCyAAIAAoAgAgAUECdGooAgARAQALIANBIGokACACDwsQACEADAELEAAhACACEOQBGgJAIAMoAhgiASADQQhqIgRGBEBBBCEDIAQhAQwBC0EFIQMgAUUNAQsgASABKAIAIANBAnRqKAIAEQEACyACEFogABAHAAs5ACAAKAIERQRAQej6BUG6iwNBnARB7tMCEAEACyAAIAI2AnggACABNgJ8IAAgAhCLDSAAQgA3AngLviIBDn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEoAgAiAigCAA5eAAECAwQFBgcICQoLDA0eHyAhIiMkJTU2Dg8QERITFBUWFxgZGhscHTcmJygpKissLS4vMDEyMzQ4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcAF0LQZj9A0HlswNB6gEQYgALIABBFGpBuI0BIAEQWCACKAIAQQFHDVwgAigCFCIBQQBMDVsgAEEY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QYACaiACQUBrEOMBIQRB1IkLQQA2AgBBmgEgA0GUAmogAkHUAGoQAiEFQdSJCygCACERQdSJC0EANgIAIBFBAUYNAiADIAIoAmg2AqgCIAMgAigCbCICNgKsAiACBEAgAiACKAIEQQFqNgIECyADQQEgAygC4AEiAiACQQBKGzYC4AEgAyADKQPoATcDGCADIAMpA/ABNwMgIAMgAykD+AE3AyggAyADKQPgATcDECADQQEgAygC3AEiAiACQQBKGzYC3AFB1IkLQQA2AgAgAyADKQPYATcDCEGbASADQTBqIAQQAiEEQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBxABqIAUQAiEFQdSJCygCACESQdSJC0EANgIAIBJBAUYNBSADIAMoAqwCIgI2AlwgAyADKAKoAjYCWCACBEAgAiACKAIEQQFqNgIECyADQQA2AnggAyADKQMQNwKEASADIAMpAxg3AowBIAMgAykDIDcClAEgAyADKQMoNwKcASADQgA3AnAgA0H87Ak2AmQgAyADKQMINwJ8QdSJC0EANgIAIAMgATYCaCADIAFBqAFqNgJsQZsBIANBpAFqIAQQAiEBQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBuAFqIAUQAhpB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRwRAIAMgAygCWDYCzAEgAyADKAJcIgE2AtABIAEEQCABIAEoAgRBAWo2AgQLIANBADsB1AEgA0EIahBhIANBAToA1AEgACgCACgCFCEUQdSJC0EANgIAIBQgABAGIQBB1IkLKAIAIRVB1IkLQQA2AgAgFUEBRg0EIAMoAmQoAgghFkHUiQtBADYCACAWIANB5ABqIgEgABADQdSJCygCACEXQdSJC0EANgIAIBdBAUYNBEHUiQtBADYCAEGXASABEApB1IkLKAIAIRhB1IkLQQA2AgAgGEEBRg0EIANB/OwJNgJkIANB/ABqEGEgAygCcCIBBEAgAygCdCIAIAEiAkcEQANAIABBBGsiACgCACECIABBADYCACACBEAgAiACKAIAKAIEEQEACyAAIAFHDQALIAMoAnAhAgsgAyABNgJ0IAIQWgsgA0HYAWoQYQwQCxAAIQAgARBrDAELEAAhAAsgA0HwAGoQ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ASABEFggAigCAEEGRw1XIAIoAgwiAUEATA1WIABBBGohBANAIAFBAWsiACACKAIMTw1ZIAIoAgggAEECdGoiAygCAEUNWiAEQcOMASADEFsgAUEBSyEHIAAhASAHDQALDFYLIABBzYwBIAEQWCACKAIAQQdHDVYgAEHDjAEgAkEcahBYIAIoAhAiAUEATA1VIABBBGohBANAIAFBAWsiACACKAIQTw1YIAIoAgwgAEECdGoiAygCAEUNWSAEQcOMASADEFsgAUEBSyEIIAAhASAIDQALDFULIABBzowBIAEQWCACKAIAQQhGDVQMVQsgAEHPjAEgARBYIAIoAgBBCUcNVAxgCyAAQdCMASABEFggAigCAEEKRg1SDFMLIABB0YwBIAEQWCACKAIAQQtHDVIMWwsgAEHSjAEgARBYIAIoAgBBDEcNUQxfCyAAQdOMASABEFggAigCAEENRw1QDF0LIABB1IwBIAEQWCACKAIAQRhHDU8MXgsgAEHVjAEgARBYIAIoAgBBGUcNTiAAQcOMASACQSBqEFgMXQsgAEHWjAEgARBYIAIoAgBBGkcNTQxUCyAAQdeMASABEFggAigCAEEbRw1MDFQLIABB2IwBIAEQWCACKAIAQRxGDUoMSwsgAEHZjAEgARBYIAIoAgBBHUcNSgxWCyAAQdqMASABEFggAigCAEEeRw1JIABBw4wBIAJBFGoQWAxVCyAAQduMASABEFggAigCAEEfRw1IDE0LIABB3IwBIAEQWCACKAIAQSBHDUcMUQsgAEHdjAEgARBYIAIoAgBBIUcNRgxRCyAAQd6MASABEFggAigCAEEiRw1FIABBw4wBIAJBIGoQWA8LIABB34wBIAEQWCACKAIAQSNHDUQMUQsgAEHgjAEgARBYIAIoAgBBJEcNQwxKCyAAQeGMASABEFggAigCAEElRg1BDEILIABB4owBIAEQWCACKAIAQSZHDUEMRQsgAEHjjAEgARBYIAIoAgBBJ0cNQAxECyAAQeSMASABEFggAigCAEEORg0+DD8LIABB5YwBIAEQWCACKAIAQQ9HDT4MSgsgAEHmjAEgARBYIAIoAgBBEEcNPQxICyAAQeeMASABEFggAigCAEERRw08DEALIABB6IwBIAEQWCACKAIAQRJHDTsMSwsgAEHpjAEgARBYIAIoAgBBE0cNOiACKAII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AEGrigEgAkEYahBYCyAAQauKASACQRRqEFgLIABBq4oBIAJBEGoQWA8LIABBq4oBIAJBFGoQWAsgAEGrigEgAkEQahBYCyAAQauKASACQQxqEFgPCyAAQauKASACQShqEFgLIABBq4oBIAJBJGoQWA8LIABBq4oBIAJBHGoQWCAAQauKASACQRhqEFgPCyAAQauKASACQRRqEFgLIABBq4oBIAJBEGoQWAsgAEGrigEgAkEMahBYCyAAQauKASACQQhqEFgPCyAAQRhqQauKASACQQhqEFsPCyADQauKASACQQxqEFgL8g8BGH8jAEGwAmsiAyQAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIEBEAgACAAKAIAKAIQEQIABEAgAyAAKAIEIgIpAjg3A/gBIAMgAikCMDcD8AEgAyACKQIoNwPoASADIAIpAiA3A+ABIAMgAikCGDcD2AEgA0GAAmogAkFAaxDjASEEQdSJC0EANgIAQZoBIANBlAJqIAJB1ABqEAIhBUHUiQsoAgAhEUHUiQtBADYCACARQQFGDQIgAyACKAJoNgKoAiADIAIoAmwiAjYCrAIgAgRAIAIgAigCBEEBajYCBAsgA0EBIAMoAuABIgIgAkEAShs2AuABIAMgAykD6AE3AxggAyADKQPwATcDICADIAMpA/gBNwMoIAMgAykD4AE3AxAgA0EBIAMoAtwBIgIgAkEAShs2AtwBQdSJC0EANgIAIAMgAykD2AE3AwhBmwEgA0EwaiAEEAIhBEHUiQsoAgAhAkHUiQtBADYCAAJAIAJBAUcEQEHUiQtBADYCAEGaASADQcQAaiAFEAIhBUHUiQsoAgAhEkHUiQtBADYCACASQQFGDQUgAyADKAKsAiICNgJcIAMgAygCqAI2AlggAgRAIAIgAigCBEEBajYCBAsgA0EANgJ4IAMgAykDEDcChAEgAyADKQMYNwKMASADIAMpAyA3ApQBIAMgAykDKDcCnAEgA0IANwJwIANB/OwJNgJkIAMgAykDCDcCfEHUiQtBADYCACADIAE2AmggAyABQagBajYCbEGbASADQaQBaiAEEAIhAUHUiQsoAgAhAkHUiQtBADYCAAJAIAJBAUcEQEHUiQtBADYCAEGaASADQbgBaiAFEAIaQdSJCygCACETQdSJC0EANgIAIBNBAUcEQCADIAMo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AkACQAJAAkACQAJAAkACQAJAIAEtAIUBQQRxRQ0AAkACQCAAKAIELQA9RQRAIANBuAJqEKkCIQJB1IkLQQA2AgBBnIoBIAIQBiEBQdSJCygCACEVQdSJC0EANgIAIBVBAUcNARAAGiACEHEACyADQgA3A6gCIANCADcDoAIgA0GAgID8AzYCsAICQCABKAIMIgIgASgCECIGRwRAAkACQANAIAMgAigCACIENgKAAUHUiQtBADYCAEGdigEgA0G4AmogA0GgAmogBCADQYABahAFQdSJCygCACEWQdSJC0EANgIAIBZBAUYNASACQQRqIgIgBkcNAAsgASgCECEGIAEoAgwhAiADQgA3A5ACIANCADcDiAIgA0GAgID8AzYCmAIgAiAGRg0DA0AgAyACKAIAIgQ2AoABQdSJC0EANgIAQZ2KASADQbgCaiADQYgCaiAEIANBgAFqEAVB1IkLKAIAIRdB1IkLQQA2AgAgF0EBRg0CIAJBBGoiAiAGRw0ACwwDCxAAIRggA0GgAmoQtQggGBAHAAsQACECDBwLIANCADcDkAIgA0IANwOIAiADQYCAgPwDNgKYAgsgA0EANgL8ASADQgA3AvQBIANCADcCkAEgA0EANgKYASADQgA3AuwBIANCADcCiAEgA0G0mwg2AoABIAMgA0GIAmo2AoQCIAMgA0GgAmo2AoACIAAoAgQhAkHUiQtBADYCACADIAI2AoQBQZ6KASADQYABaiABEANB1IkLKAIAIRlB1IkLQQA2AgAgGUEBRg0YIAAoAgQhBAJAIAMoAoQBIgJFDQAgAiAERg0AQf78ASEHQeMDIQJBuosDIRBB4sQGIQUMFwsgAyAENgKEASADIAE2AvwBIANBlAFqIQoCQCABKAIYIgIgASgCHCIGRwRAA0AgAigCACIEKAIMRQRAQdSJC0EANgIAQZ+KASAKIARBIGoQA0HUiQsoAgAhGkHUiQtBADYCACAaQQFGDQMLIAJBBGoiAiAGRw0ACwsgASgCMCINIAEoAjQiFEYNAiADQZwBaiERAkACQANAAkAgDSgCACICKAIUBEBB1IkLQQA2AgBBn4oBIAogAkEUahADQdSJCygCACEbQdSJC0EANgIAIBtBAUYNBCANKAIAIQILIAIoAhwiDyACKAIgIglHBEAgAygC8AEhBCADKALsASEFIAMoApgB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REHUiQtBADYCACBEQQFGDQIgAygC1AMiAgRAA0AgAigCACFFIAIQWiBFIgINAAsLIAMoAswDIQIgA0EANgLMAyACBEAgAhBaCyADQfjrCTYCuAICQCADKALgAkUNACADKALcAiICKAIAIgYgAygC2AIoAgQiBDYCBCAEIAY2AgAgA0EANgLgAiACIAVGDQADQCACKAIEIUYgAhBaIEYiAiAFRw0ACwsgAygCzAIiAgRAA0AgAigCACFHIAIQWiBHIgINAAsLIAMoAsQCIQIgA0EANgLEAiACBEAgAhBaCyADKALAAiECIANBADYCwAIgAgRAIAIQkQMLIANCADcCyAIgA0EANgK0AyADQgA3AqwDIANBADYC0AIgA0IANwLAAyADQYCAgPwDNgLIAyADQbjDAy8AADsByAIgA0IANwKkAyADQgA3ArgDIANBzOwJNgK4AiADQbDDAykAADcCwAIgA0EKOgDLAiADIAAoAgQ2ArwCQdSJC0EANgIAQbIZIANBuAJqIAEQA0HUiQsoAgAhSEHUiQtBADYCACBIQQFGDQEgA0HM7Ak2ArgCIAMoAsADIgYEQANAIAYoAgAhSiAGKAIYIgIEQANAIAIoAgAhSSACEFogSSICDQALCyAGKAIQIQIgBkEANgIQIAIEQCACEFoLIAYQWiBKIgYNAAsLIAMoArgDIQIgA0EANgK4AyACBEAgAhBaCyADKAKkAyICBEAgAyACNgKoAyACEFoLIANBkO0JNgK4AiADLADLAkEASARAIAMoAsACEFoLIANBADYCtAMgA0IANwKsAyADQgA3AsgCIANBADYC0AIgA0IANwKkAyADQgA3AsACIANBuJwINgK4AiAAKAIEIQJB1IkLQQA2AgAgAyACNgK8AkGpigEgA0G4AmogARADQdSJCygCACFLQdSJC0EANgIAIEtBAUYNCCAAKAIEIQICQCADKAK8AiIARQ0AIAAgAkYNAEH+/AEhB0HjAyECQbqLAyEQQeLEBiEFDAgLIAMgAjYCvAIgAyABNgK0AyADQcwCaiEKIAEoAhgiAiABKAIcIgRHBEADQCACKAIAIgAoAgxFBEBB1IkLQQA2AgBBqooBIAogAEEgahADQdSJCygCACFMQdSJC0EANgIAIExBAUYNCwsgAkEEaiICIARHDQALCyABKAIwIg0gASgCNCIURg0EIANB1AJqIRIDQCANKAIAIgIoAhQEQEHUiQtBADYCAEGqigEgCiACQRRqEANB1IkLKAIAIU1B1IkLQQA2AgAgTUEBRg0KIA0oAgAhAgsgAigCHCIPIAIoAiAiCUcEQCADKAKoAyEEIAMoAqQDIQUgAygC0AIhBgNAIAMgDygCACIANgLMA0HQ+AIhB0HTmQMhECAEIAVrIgtBA3UiCEEAIAZrRwRAQcgCIQJBzcoFIQUMCwsgAEUEQEGu9wIhB0G5AiECQYGDAiEFDAsLAkAgBkEJTQRAIAMgBkEBaiIANgLQAiASIAZBA3RqIgJBq4oBNgIAIAIgA0HMA2o2AgQgBCECIAAhBgwBCyADKAKsAyIAIARLBEAgBEGrigE2AgAgBCADQcwDajYCBCADIARBCGoiAjYCqAMMAQsgCEEBaiIMQYCAgIACTwRAQdSJC0EANgIAQayKARAJQdSJCygCACFOQdSJC0EANgIAIE5BAUcNIAwNC0H/////ASAAIAVrIgJBAnUiACAMIAAgDEsbIAJB+P///wdPGyIAQYCAgIACTwRAQdSJC0EANgIAQQMQCUHUiQsoAgAhT0HUiQtBADYCACBPQQFHDSAMDQtB1IkLQQA2AgBBBCAAQQN0IgwQBiERQdSJCygCACFQQdSJC0EANgIAIFBBAUYNDCALIBFqIg5Bq4oBNgIAIBEgCEEDdGogA0HMA2o2AgQgDkEIaiECIAQgBUcEQANAIA5BCGsiDiAEQQhrIgQpAgA3AgAgBCAFRw0ACwsgAyAMIBFqNgKsAyADIAI2AqgDIAMgDjYCpAMgBUUNACAFEFogAygCqAMhAiADKALQAiEGC0EAIAZrIAIgAygCpAMiBWtBA3VHBEADQAJAIAIgBUYEQCAGRQRAQf37AiEHQdoAIQJBsJQDIRBB3sQFIQUMDwsgEiAGQQFrIgRBA3RqIgAoAgQhAiAAKAIAIQUgAyAENgLQAgwBCyACQQhrIgAoAgAhBSAAKAIEIQIgAyAANgKoAwsgAyACNgLMAiACKAIARQRAQc0CIQJB9YICIQUMDQtB1IkLQQA2AgAgBSADQbgCaiACEANB1IkLKAIAIVFB1IkLQQA2AgAgUUEBRg0NQQAgAygC0AIiBmsgAygCqAMiAiADKAKkAyIFa0EDdUcNAAsLIAIhBCAPQQRqIg8gCUcNAAsLIA1BBGoiDSAURw0ACwwECxAAIQIMAgsQACECIANBuAJqEMgCGgwPCxAAIQIgA0HMA2oQogELIANBuAJqELwFGgwNCyABKAJIIgIgASgCTCIBRwRAA0AgAigCACIAKAIYBEBB1IkLQQA2AgBBqooBIAogAEEYahADQdSJCygCACFSQdSJC0EANgIAIFJBAUYNBgsgAkEEaiICIAFHDQALCyADQQA2ArQDIAMoAqQDIgAEQCADIAA2AqgDIAAQWgsgA0GQ7Qk2ArgCIAMsAMsCQQBODQAgAygCwAIQWgsgAygCICICBEADQCACKAIAIVMgAhBaIFMiAg0ACwsgAygCGCEAIANBADYCGCAABEAgABBaCyADQQA2AhQgAygCCCIFIAMoAgQiAmtBAnUiBkEDTwRAA0AgAigCABBaIAMgAygCBEEEaiICNgIEIAMoAggiBSACa0ECdSIGQQJLDQALC0GABCEEAkACQAJAIAZBAWsOAgEAAgtBgAghBAsgAyAENgIQCwJAIAIgBUYNAANAIAIoAgAQWiACQQRqIgIgBUcNAAsgAygCCCIBIAMoAgQiAEYNACADIAEgACABa0EDakF8cWo2AggLIAMoAgAiAARAIAAQWgsgEygCFCICBEADQCACKAIAIVQgAigCDCIBBEAgAiABNgIQIAEQWgsgAhBaIFQiAg0ACwsgEygCDCEAIBNBADYCDCAABEAgABBaCyATKAIAIgAEQCATIAA2AgQgABBaCyADKAJYIgIEQANAIAIoAgAhVSACKAIMIgEEQCACIAE2AhAgARBaCyACEFogVSICDQALCyADKAJQIQAgA0EANgJQIAAEQCAAEFoLIAMoAnAiAgRAA0AgAigCACFWIAIoAgwiAQRAIAIgATYCECABEFoLIAIQWiBWIgINAAsLIAMoAmghACADQQA2AmggAARAIAAQWgsgAygC7AEiAARAIAMgADYC8AEgABBaCyADQZDtCTYCgAEgAywAkwFBAEgEQCADKAKIARBaCyADKAKQAiIEBEADQCAEKAIAIVggBCgCFCICBEADQCACKAIAIVcgAigCDCIGBEAgAiAGNgIQIAYQWgsgAhBaIFciAg0ACwsgBCgCDCEAIARBADYCDCAABEAgABBaCyAEEFogWCIEDQALCyADKAKIAiEAIANBADYCiAIgAARAIAAQWgsgAygCqAIi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eCAAIAE2AnxB1IkLQQA2AgBBjYoBIABBFGogAkEwaiIDEANB1IkLKAIAISxB1IkLQQA2AgAgLEEBRg0DIABCADcCeAJAIAAtAIwBRQ0AIARCADcCGCAEQQA2AoABIARBIGoiAEIANwIAIARCADcClAEgBEGAgID8AzYCnAEgBEG4wwMvAAA7ARwgBEIANwIQIARCADcCeCAEQgA3AowBIARBzOwJNgIMIAQgATYCiAEgBCACNgKEASAEQbDDAykAADcCFCAEQQo6AB9B1IkLQQA2AgBBxAogACADEANB1IkLKAIAIS1B1IkLQQA2AgAgLUEBRg0CIARBzOwJNgIMIARCADcChAEgBCgClAEiBgRAA0AgBigCACEvIAYoAhgiAwRAA0AgAygCACEuIAMQWiAuIgMNAAsLIAYoAhAhASAGQQA2AhAgAQRAIAEQWgsgBhBaIC8iBg0ACwsgBCgCjAEhACAEQQA2AowBIAAEQCAAEFoLIAQoAngiAARAIAQgADYCfCAAEFoLIARBkO0JNgIMIAQsAB9BAE4NACAEKAIUEFoLIAQoAqwBIgAEQCAEKAKwASIFIAAiA0cEQANAIAVBFGsiASgCCCICBEAgBUEIayACNgIAIAIQWgsgASIFIABHDQALIAQoAqwBIQMLIAQgADYCsAEgAxBaCyAEKAL0ASIDBEADQCADKAIAITAgAxBaIDAiAw0ACwsgBCgC7AEhACAEQQA2AuwBIAAEQCAAEFoLIAQoAuABIgAEQCAEKALkASIFIAAiA0cEQANAIAVBDGsiASgCACICBEAgBUEIayACNgIAIAIQWgsgASIFIABHDQALIAQoAuABIQMLIAQgADYC5AEgAxBaCyAEKALIASIABEAgBCAANgLMASAAEFoLIAQoAoACIgAEQCAEKAKEAiIDIAAiBUcEQANAIANBLGsiASgCICICBEAgA0EIayACNgIAIAIQWgsgA0EYaygCACICBEAgA0EUayACNgIAIAIQWgsgA0EkaygCACICBEAgA0EgayACNgIAIAIQWgsgASIDIABHDQALIAQoAoACIQULIAQgADYChAIgBRBaCyAEQfzsCTYCjAIgBEGkAmoQYSAEKAKYAiIABEAgBCgCnAIiAyAAIgVHBEADQCADQQRrIgMoAgAhASADQQA2AgAgAQRAIAEgASgCACgCBBEBAAsg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ajYCACAAKAKMASABKAIIQQJ0aiIBKAIARQRAIAAgACgCmAEiAEEBajYCmAEgASAANgIACw8LQfDtBUHFmANBlAZBjd4AEAEACz0AIAEoAgAiASgCAEEJRwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAoAnAoAgAgASgCCEECdGooAgA2AggLPQAgASgCACIBKAIAQQhHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAEgACgCcCgCACABKAIIQQJ0aigCADYCCAskACAAKAIAQRFHBEBBiKsGQae3AkHTFkH8yQMQAQALIAAoAggL3R4BDn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAIgIoAgAOXgABAgMEBQYHCAkKCwwNHh8gISIjJCU1Ng4PEBESExQVFhcYGRobHB03JicoKSorLC0uLzAxMjM0ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXABdC0GY/QNB5bMDQeoBEGIACyAAQeqHASABEFggAigCAEEBRw1cIAIoAhQiAUEATA1bIABBBGohBANAIAFBAWsiACACKAIUTw1eIAIoAhAgAEECdGoiAygCAEUNXyAEQY2HASADEFsgAUEBSyEGIAAhASAGDQALDFsLIABB64cBIAEQWCACKAIAQQJHDVsgAigCEARAIABBBGpBjYcBIAJBEGoQWwsMYAsgAEHshwEgARBYIAIoAgBBA0cNWgxjCyAAQe2HASABEFggAigCAEEERw1ZIAIoAhQEQCAAQQRqQY2HASACQRRqEFsLIAIoAhBFDVggAEEEakGNhwEgAkEQahBbDwsgAEHuhwEgARBYIAIoAgBBBUcNWCAAQY2HASACQSRqEFggAigCIEUNVyAAQQRqQY2HASACQSBqEFsPCyAAQe+HASABEFgg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DAMLIAEoAgggAEYNAwsgASgCACIBDQALC0HpxQVBq5YCQS9BwYUBEAEACyAEQQhqIAYgACAFQQhqEOwCIAQoAggiAEEQaiAAKAIQQQFqNgIAIARBEGokAA8LQfDtBUHFmANBlAZBjd4AEAEACyQAIAAoAgBBEUcEQEGIqwZBp7cCQesWQYTQAhABAAsgACgCEAvxBAINfwF+IwBBEGsiBSQAIABBKGohCiAAKAIEIQECQAJAA0AgASAAKAIARwRAIAFBCGsiASgCACELIAUgASkCACIONwMAIAVBCGogCiAOpyAFEK4FIAUoAggiASgCECIHIAEoAhQiDEcEQANAIAcpAgAiDqchBAJAAkAgACgCECICRQ0AIAAoAgwCfyACQQFrIARxIAJpQQFLIgNFDQAaIAQgAiAESw0AGiAEIAJwCyIGQQJ0aigCACIBRQ0AIAEoAgAiAUUNACADRQRAIAJBAWshAgNAAkAgBCABKAIEIgNHBEAgAiADcSAGRg0BDAQLIAEoAgggBEYNBAsgASgCACIBDQALDAELA0ACQCAEIAEoAgQiA0cEQCACIANNBH8gAyACcAUgAwsgBkYNAQwDCyABKAIIIARGDQMLIAEoAgAiAQ0ACwsgDkIgiKchBiAAKAIEIgEgACgCCEcEQCABIAY2AgQgASAENgIAIAAgAUEIajYCBAwBCyABIAAoAgAiCWsiAkEDdSINQQFqIgNBgICAgAJPDQVB/////wEgAkECdSIIIAMgAyAISRsgAkH4////B08bIgMEfyADQYCAgIACTw0HIANBA3QQXAVBAAsiCCANQQN0aiICIAY2AgQgAiAENgIAIAJBCGohBCABIAlHBEADQCACQQhrIgIgAUEIayIBKQIANwIAIAEgCUcNAAsgACgCACEBCyAAIAggA0EDdGo2AgggACAENgIEIAAgAjYCACABRQ0AIAEQWgsgB0EIaiIHIAxHDQALCyAAKAIEIgFBCGsoAgAgC0cNAQsLIAVBEGokAA8LEGQACxBqAAu+IgEOfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJA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AiACBEAgAiACKAIEQQFqNgIECyADQQEgAygC4AEiAiACQQBKGzYC4AEgAyADKQPoATcDGCADIAMpA/ABNwMgIAMgAykD+AE3AyggAyADKQPgATcDECADQQEgAygC3AEiAiACQQBKGzYC3AFB1IkLQQA2AgAgAyADKQPYATcDCEGbASADQTBqIAQQAiEEQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBxABqIAUQAiEFQdSJCygCACESQdSJC0EANgIAIBJBAUYNBSADIAMoAqwCIgI2AlwgAyADKAKoAjYCWCACBEAgAiACKAIEQQFqNgIECyADQQA2AnggAyADKQMQNwKEASADIAMpAxg3AowBIAMgAykDIDcClAEgAyADKQMoNwKcASADQgA3AnAgA0H87Ak2AmQgAyADKQMINwJ8QdSJC0EANgIAIAMgATYCaCADIAFBqAFqNgJsQZsBIANBpAFqIAQQAiEBQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBuAFqIAUQAhpB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRwRAIAMgAygCWDYCzAEgAyADKAJcIgE2AtABIAEEQCABIAEoAgRBAWo2AgQLIANBADsB1AEgA0EIahBhIANBAToA1AEgACgCACgCFCEUQdSJC0EANgIAIBQgABAGIQBB1IkLKAIAIRVB1IkLQQA2AgAgFUEBRg0EIAMoAmQoAgghFkHUiQtBADYCACAWIANB5ABqIgEgABADQdSJCygCACEXQdSJC0EANgIAIBdBAUYNBEHUiQtBADYCAEGXASABEApB1IkLKAIAIRhB1IkLQQA2AgAgGEEBRg0EIANB/OwJNgJkIANB/ABqEGEgAygCcCIBBEAgAygCdCIAIAEiAkcEQANAIABBBGsiACgCACECIABBADYCACACBEAgAiACKAIAKAIEEQEACyAAIAFHDQALIAMoAnAhAgsgAyABNgJ0IAIQWgsgA0HYAWoQYQwQCxAAIQAgARBrDAELEAAhAAsgA0HwAGoQ4AEgA0EIahBhDA4LEAAhAAwNCxAAIQAgA0HkAGoQfBoMDAsgACABNgJ8IABBFGohCSABKAIYIgIgASgCHCIERwRAA0AgAigCACIFKAIMRQRAIAkgBUEgahDl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QfDtBUHFmANBlAZBjd4AEAEAC0HFogFBiaIDQbwBQaaIBRABAAtBgYMCQdOZA0G5AkGu9wIQAQALIABByIUBIAJBHGoQWAsgAEHIhQEgAkEYahBYCyAAQciFASACQRRqEFgLIABByIUBIAJBEGoQWA8LIABByIUBIAJBFGoQWAsgAEHIhQEgAkEQahBYCyAAQciFASACQQxqEFgPCyAAQciFASACQShqEFgLIABByIUBIAJBJGoQWA8LIABByIUBIAJBHGoQWCAAQciFASACQRhqEFgPCyAAQciFASACQRRqEFgLIABByIUBIAJBEGoQWAsgAEHIhQEgAkEMahBYCyAAQciFASACQQhqEFgPCyAAQRhqQciFASACQQhqEFsPCyADQciFASACQQxqEFgL8g8BGH8jAEGwAmsiAyQAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIEBEAgACAAKAIAKAIQEQIABEAgAyAAKAIEIgIpAjg3A/gBIAMgAikCMDcD8AEgAyACKQIoNwPoASADIAIpAiA3A+ABIAMgAikCGDcD2AEgA0GAAmogAkFAaxDjASEEQdSJC0EANgIAQZoBIANBlAJqIAJB1ABqEAIhBUHUiQsoAgAhEUHUiQtBADYCACARQQFGDQIgAyACKAJoNgKoAiADIAIoAmwiAjYCrAIgAgRAIAIgAigCBEEBajYCBAsgA0EBIAMoAuABIgIgAkEAShs2AuABIAMgAykD6AE3AxggAyADKQPwATcDICADIAMpA/gBNwMoIAMgAykD4AE3AxAgA0EBIAMoAtwBIgIgAkEAShs2AtwBQdSJC0EANgIAIAMgAykD2AE3AwhBmwEgA0EwaiAEEAIhBEHUiQsoAgAhAkHUiQtBADYCAAJAIAJBAUcEQEHUiQtBADYCAEGaASADQcQAaiAFEAIhBUHUiQsoAgAhEkHUiQtBADYCACASQQFGDQUgAyADKAKsAiICNgJcIAMgAygCqAI2AlggAgRAIAIgAigCBEEBajYCBAsgA0EANgJ4IAMgAykDEDcChAEgAyADKQMYNwKMASADIAMpAyA3ApQBIAMgAykDKDcCnAEgA0IANwJwIANB/OwJNgJkIAMgAykDCDcCfEHUiQtBADYCACADIAE2AmggAyABQagBajYCbEGbASADQaQBaiAEEAIhAUHUiQsoAgAh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NwIYIAIgADYCFCADIAM2AgBB1IkLQQA2AgBBzcEAIAJBnAFqIgAgAkEMaiIBEANB1IkLKAIAIQZB1IkLQQA2AgAgBkEBRg0BQdSJC0EANgIAQZAaIAEgABADQdSJCygCACEHQdSJC0EANgIAIAdBAUYNAyACKAKkASIBBEADQCABKAIAIQggARBaIAgiAQ0ACwsgAigCnAEhACACQQA2ApwBIAAEQCAAEFoLIAJB+OsJNgIMAkAgAigCNEUNACACKAIwIgEoAgAiACACKAIsKAIEIgQ2AgQgBCAANgIAIAJBADYCNCABIANGDQADQCABKAIEIQkgARBaIAkiASADRw0ACwsgAigCICIBBEADQCABKAIAIQogARBaIAoiAQ0ACwsgAigCGCEAIAJBADYCGCAABEAgABBaCyACKAIUIQAgAkEANgIUIABFDQAgABCRAwsgAkGwAWokAA8LEAAhAQwCCyABEHEACxAAIQEgAkGcAWoQogELIAJBDGoQvAUaIAEQBwALQQACQCAAKAIAQSBGBEAgAUUNASAAIAE2AhQPC0GEogZBp7cCQfoZQaaUBRABAAtBzvYBQae3AkH7GUGmlAUQAQALLAAgASgCACIBKAIAQdwARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILLAAgASgCACIBKAIAQdsARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILLAAgASgCACIBKAIAQdoARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILLAAgASgCACIBKAIAQdkARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILLAAgASgCACIBKAIAQdgARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILLAAgASgCACIBKAIAQdcARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILLAAgASgCACIBKAIAQdYARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILLAAgASgCACIBKAIAQdUARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILLAAgASgCACIBKAIAQdQARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILQQACQCAAKAIAQSBGBEAgAUUNASAAIAE2AhAPC0GEogZBp7cCQe4ZQYKVBRABAAtB1PYBQae3AkHvGUGClQUQAQALLAAgASgCACIBKAIAQdMARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILLAAgASgCACIBKAIAQdIARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILLAAgASgCACIBKAIAQdEARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILLAAgASgCACIBKAIAQdAARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILLAAgASgCACIBKAIAQc8ARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILLAAgASgCACIBKAIAQc4ARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILLAAgASgCACIBKAIAQc0ARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILLAAgASgCACIBKAIAQcwARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILLAAgASgCACIBKAIAQcsARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILLAAgASgCACIBKAIAQcoARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILQQACQCAAKAIAQSBGBEAgAUUNASAAIAE2AgwPC0GEogZBp7cCQeIZQYqXBRABAAtB3vYBQae3AkHjGUGKlwUQAQALLAAgASgCACIBKAIAQckARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILLAAgASgCACIBKAIAQcgARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILLAAgASgCACIBKAIAQccARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILLAAgASgCACIBKAIAQcYARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILLAAgASgCACIBKAIAQcUARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILLAAgASgCACIBKAIAQcQARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILLAAgASgCACIBKAIAQcMARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILLAAgASgCACIBKAIAQcIARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILgwMCBX8BfgJAIAEoAgAiAigCAEHBAEYEQAJAIAIoAgwoAgQiAUEBRg0AIAFBB0kNAiABKAIEQQFGBEAgASgCCEF8cUEMRg0BCyABKAIEQQFHDQIgATUCCCACNQIIQiCGhCEHAkAgACgClAEiASAAKAKYAUcEQCABIAc3AgAgACABQQhqNgKUAQwBCwJAIAEgACgCkAEiBmsiAkEDdSIEQQFqIgNBgICAgAJJBEBB/////wEgAkECdSIFIAMgAyAFSRsgAkH4////B08bIgMEfyADQYCAgIACTw0CIANBA3QQXAVBAAsiBSAEQQN0aiICIAc3AgAgAkEIaiEEIAEgBkcEQANAIAJBCGsiAiABQQhrIgEpAgA3AgAgASAGRw0ACyAAKAKQASEBCyAAIAUgA0EDdGo2ApgBIAAgBDYClAEgACACNgKQASABBEAgARBaCwwCCxBkAAsQagALCw8LQfDtBUHFmANBlAZBjd4AEAEAC0G//wVBuLMCQeQHQauJBBABAAssACABKAIAIgEoAgBBwABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCjAgskACAAKAIAQSBHBEBBhKIGQae3AkHSGUHvwwIQAQALIAAoAggLKwAgASgCACIBKAIAQT9HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCjAgsrACABKAIAIgEoAgBBPkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEKMCCysAIAEoAgAiASgCAEE9RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILSwAgASgCACIBKAIAQTxGBEACQCABKAIYKAIEIgFBB0kNACABKAIEQQFHDQAgACABKAIIEP4HCw8LQfDtBUHFmANBlAZBjd4AEAEACysAIAEoAgAiASgCAEE7RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILKwAgASgCACIBKAIAQTpHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCjAgsrACABKAIAIgEoAgBBOUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEKMCCysAIAEoAgAiASgCAEE4RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILKwAgASgCACIBKAIAQShHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCjAgsrACABKAIAIgEoAgBBF0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEKMCCyQAIAAoAgBBIEcEQEGEogZBp7cCQfQZQb6UBRABAAsgACgCFAsrACABKAIAIgEoAgBBFkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEKMCCysAIAEoAgAiASgCAEE3RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILKwAgASgCACIBKAIAQTZHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCjAgsrACABKAIAIgEoAgBBNUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEKMCCysAIAEoAgAiASgCAEE0RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILKwAgASgCACIBKAIAQTNHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCjAgsrACABKAIAIgEoAgBBMkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEKMCCysAIAEoAgAiASgCAEExRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILKwAgASgCACIBKAIAQTBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCjAgsrACABKAIAIgEoAgBBL0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEKMCCyQAIAAoAgBBIEcEQEGEogZBp7cCQegZQZqVBRABAAsgACgCEAsrACABKAIAIgEoAgBBLkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEKMCCysAIAEoAgAiASgCAEEtRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILKwAgASgCACIBKAIAQSxHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCjAguoAgIFfwF+IAEoAgAiASgCAEErRwRAQfDtBUHFmANBlAZBjd4AEAEACyABKQIIIQcCQCAAKAKIASIBIAAoAowBRwRAIAEgBzcCACAAIAFBCGo2AogBDAELAkAgASAAKAKEASIGayICQQN1IgRBAWoiA0GAgICAAkkEQEH/////ASACQQJ1IgUgAyADIAVJGyACQfj///8HTxsiAwR/IANBgICAgAJPDQIgA0EDdBBcBUEACyIFIARBA3RqIgIgBzcCACACQQhqIQQgASAGRwRAA0AgAkEIayICIAFBCGsiASkCADcCACABIAZHDQALIAAoAoQBIQELIAAgBSADQQN0ajYCjAEgACAENgKIASAAIAI2AoQBIAEEQCABEFoLDAILEGQACxBqAAsLKwAgASgCACIBKAIAQSpHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCjAgsrACABKAIAIgEoAgBBKUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEKMCCysAIAEoAgAiASgCAEEVRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILKwAgASgCACIBKAIAQRRHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCjAgsrACABKAIAIgEoAgBBE0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEKMCCysAIAEoAgAiASgCAEESRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILJAAgACgCAEEgRwRAQYSiBkGntwJB3BlBopcFEAEACyAAKAIMCysAIAEoAgAiASgCAEERRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILKwAgASgCACIBKAIAQRBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCjAgsrACABKAIAIgEoAgBBD0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEKMCCysAIAEoAgAiASgCAEEORwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILKwAgASgCACIBKAIAQSdHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCjAgsrACABKAIAIgEoAgBBJkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEKMCCysAIAEoAgAiASgCAEElRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILKwAgASgCACIBKAIAQSRHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCjAgsrACABKAIAIgEoAgBBI0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEKMCCysAIAEoAgAiASgCAEEiRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILigEAIABBqAFqQRhBBBBdIgAgBDYCFCAAIAM2AhAgACACNgIMIAAgATYCCCAAQiA3AgACQCACRQ0AIANFDQAgBEUNACAAQQY2AgQCQAJAIAIoAgRBAUYNACADKAIEQQFGDQAgBCgCBEEBRw0BCyAAQQE2AgQLIAAPC0Hd6wRBpKQCQaEDQbLDAxABAAsrACABKAIAIgEoAgBBIUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEKMCCysAIAEoAgAiASgCAEEgRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILKwAgASgCACIBKAIAQR9HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCjAgsrACABKAIAIgEoAgBBHkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEKMCCysAIAEoAgAiASgCAEEdRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILKwAgASgCACIBKAIAQRxHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCjAgsrACABKAIAIgEoAgBBG0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEKMCCysAIAEoAgAiASgCAEEaRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILKwAgASgCACIBKAIAQRlHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCjAgsrACABKAIAIgEoAgBBGEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEKMCC0EAAkAgACgCAEEfRgRAIAFFDQEgACABNgIMDwtBrLEGQae3AkG9GUGw9AAQAQALQdD0AUGntwJBvhlBsPQAEAEACysAIAEoAgAiASgCAEENRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILKwAgASgCACIBKAIAQQxHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCjAgsrACABKAIAIgEoAgBBC0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEKMCCysAIAEoAgAiASgCAEEKRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILKwAgASgCACIBKAIAQQlHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCjAgsrACABKAIAIgEoAgBBCEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEKMCCysAIAEoAgAiASgCAEEHRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQpQ0LKwAgASgCACIBKAIAQQZHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARDjCQsrACABKAIAIgEoAgBBBUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEKMCCysAIAEoAgAiASgCAEEERwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILTgACQCAAKAIAQR9GBEAgAUUNASAAIAEpAAA3ABAgACABKQAINwAYDwtBrLEGQae3AkHKGUG39wIQAQALQafxBEGntwJByxlBt/cCEAEACwUAQYwBCysAIAEoAgAiASgCAEEDRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILKwAgASgCACIBKAIAQQJHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCjAgsrACABKAIAIgEoAgBBAUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEKMCC90eAQ5/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgASgCACICKAIADl4AAQIDBAUGBwgJCgsMDR4fICEiIyQlNTYODxAREhMUFRYXGBkaGxwdNyYnKCkqKywtLi8wMTIzNDg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaW1wAXQtBmP0DQeWzA0HqARBiAAsgAEHphAEgARBYIAIoAgBBAUcNXCACKAIUIgFBAEwNWyAAQQRqIQQDQCABQQFrIgAgAigCFE8NXiACKAIQIABBAnRqIgMoAgBFDV8gBEHohAEgAxBbIAFBAUshBiAAIQEgBg0ACwxbCyAAQeqEASABEFggAigCAEECRw1bIAIoAhAEQCAAQQRqQeiEASACQRBqEFsLDGALIABB64QBIAEQWCACKAIAQQNHDVoMYwsgAEHshAEgARBYIAIoAgBBBEcNWSACKAIUBEAgAEEEakHohAEgAkEUahBbCyACKAIQRQ1YIABBBGpB6IQBIAJBEGoQWw8LIABB7YQBIAEQWCACKAIAQQVHDVggAEHohAEgAkEkahBYIAIoAiBFDVcgAEEEakHohAEgAkEgahBbDwsgAEHuhAEgARBYIAIoAgBBBkcNVyACKAIMIgFBAEwNViAAQQRqIQQDQCABQQFrIgAgAigCDE8NWSACKAIIIABBAnRqIgMoAgBFDVogBEHohAEgAxBbIAFBAUshByAAIQEgBw0ACwxWCyAAQe+EASABEFggAigCAEEHRw1WIABB6IQBIAJBHGoQWCACKAIQIgFBAEwNVSAAQQRqIQQDQCABQQFrIgAgAigCEE8NWCACKAIMIABBAnRqIgMoAgBFDVkgBEHohAEgAxBbIAFBAUshCCAAIQEgCA0ACwxVCyAAQfCEASABEFggAigCAEEIRg1UDFULIABB8YQBIAEQWCACKAIAQQlHDVQMYAsgAEHyhAEgARBYIAIoAgBBCkYNUgxTCyAAQfOEASABEFggAigCAEELRw1SDFsLIABB9IQBIAEQWCACKAIAQQxHDVEMXwsgAEH1hAEgARBYIAIoAgBBDUcNUAxdCyAAQfaEASABEFggAigCAEEYRw1PDF4LIABB94QBIAEQWCACKAIAQRlHDU4gAEHohAEgAkEgahBYDF0LIABB+IQBIAEQWCACKAIAQRpHDU0MVAsgAEH5hAEgARBYIAIoAgBBG0cNTAxUCyAAQfqEASABEFggAigCAEEcRg1KDEsLIABB+4QBIAEQWCACKAIAQR1HDUoMVgsgAEH8hAEgARBYIAIoAgBBHkcNSSAAQeiEASACQRRqEFgMVQsgAEH9hAEgARBYIAIoAgBBH0cNSAxNCyAAQf6EASABEFggAigCAEEgRw1HDFELIABB/4QBIAEQWCACKAIAQSFHDUYMUQsgAEGAhQEgARBYIAIoAgBBIkcNRSAAQeiEASACQSBqEFgPCyAAQYGFASABEFggAigCAEEjRw1EDFELIABBgoUBIAEQWCACKAIAQSRHDUMMSgsgAEGDhQEgARBYIAIoAgBBJUYNQQxCCyAAQYSFASABEFggAigCAEEmRw1BDEULIABBhYUBIAEQWCACKAIAQSdHDUAMRAsgAEGGhQEgARBYIAIoAgBBDkYNPgw/CyAAQYeFASABEFggAigCAEEPRw0+DEoLIABBiIUBIAEQWCACKAIAQRBHDT0MSAsgAEGJhQEgARBYIAIoAgBBEUcNPAxACyAAQYqFASABEFggAigCAEESRw07DEsLIABBi4UBIAEQWCACKAIAQRNHDTogAigCCEUNOQxLCyAAQYyFASABEFggAigCAEEURg04DDkLIABBjYUBIAEQWCACKAIAQRVHDTgMSAsgAEGOhQEgARBYIAIoAgBBKUYNNgw3CyAAQY+FASABEFggAigCAEEqRw02DEYLIABBkIUBIAEQWCACKAIAQStGDTQMNQsgAEGRhQEgARBYIAIoAgBBLEcNNAw5CyAAQZKFASABEFggAigCAEEtRw0zDDwLIABBk4UBIAEQWCACKAIAQS5HDTIMOgsgAEGUhQEgARBYIAIoAgBBL0YNMAwxCyAAQZWFASABEFggAigCAEEwRw0wDDgLIABBloUBIAEQWCACKAIAQTFHDS8MNgsgAEGXhQEgARBYIAIoAgBBMkcNLgwyCyAAQZiFASABEFggAigCAEEzRw0tIAIoAigiAUEASgRAIABBBGohAwNAIAFBAWsiBCACKAIoTw0wIAIoAiQgBEECdGoiBSgCAEUNMSADQeiEASAFEFsgAUEBSyEJIAQhASAJDQALCww2CyAAQZmFASABEFggAigCAEE0RgRADD0LDCwLIABBmoUBIAEQWCACKAIAQTVHDSsgAigCFCIBQQBMDSogAEEEaiEEA0AgAUEBayIAIAIoAhRPDS0gAigCECAAQQJ0aiIDKAIARQ0uIARB6IQBIAMQWyABQQFLIQogACEBIAoNAAsMKgsgAEGbhQEgARBYIAIoAgBBNkYNKQwqCyAAQZyFASABEFggAigCAEE3Rw0pDDkLIABBnYUBIAEQWCACKAIAQRZGDScMKAsgAEGehQEgARBYIAIoAgBBF0YNJgwnCyAAQZ+FASABEFggAigCAEEoRg0lDCYLIABBoIUBIAEQWCACKAIAQThHDSUgAigCDCIBQQBMDSQgAEEEaiEEA0AgAUEBayIAIAIoAgxPDScgAigCCCAAQQJ0aiIDKAIARQ0oIARB6IQBIAMQWyABQQFLIQsgACEBIAsNAAsMJAsgAEGhhQEgARBYIAIoAgBBOUcNJAw0CyAAQaKFASABEFggAigCAEE6Rw0jDDMLIABBo4UBIAEQWCACKAIAQTtHDSIMMgsgAEGkhQEgARBYIAIoAgBBPEcNISAAQeiEASACQRhqEFggAigCDCIBQQBMDSAgAEEEaiEEA0AgAUEBayIAIAIoAgxPDSMgAigCCCAAQQJ0aiIDKAIARQ0kIARB6IQBIAMQWyABQQFLIQwgACEBIAwNAAsMIAsgAEGlhQEgARBYIAIoAgBBPUcNIAwwCyAAQaaFASABEFggAigCAEE+Rw0fDC8LIABBp4UBIAEQWCACKAIAQT9HDR4gAEHohAEgAkEUahBYDwsgAEGohQEgARBYIAIoAgBBwABHDR0gAigCDCIBQQBMDRwgAEEEaiEEA0AgAUEBayIAIAIoAgxPDR8gAigCCCAAQQJ0aiIDKAIARQ0gIARB6IQBIAMQWyABQQFLIQ0gACEBIA0NAAsMHAsgAEGphQEgARBYIAIoAgBBwQBHDRwMKAsgAEGqhQEgARBYIAIoAgBBwgBHDRsMJgsgAEGrhQEgARBYIAIoAgBBwwBHDRogAEHohAEgAkEMahBYIAIoAghFDRkMKwsgAEGshQEgARBYIAIoAgBBxABHDRkMIQsgAEGthQEgARBYIAIoAgBBxQBHDRgMIAsgAEGuhQEgARBYIAIoAgBBxgBHDRcgAigCDCIBQQBMDRYgAEEEaiEEA0AgAUEBayIAIAIoAgxPDRkgAigCCCAAQQJ0aiIDKAIARQ0aIARB6IQBIAMQWyABQQFLIQ4gACEBIA4NAAsMFgsgAEGvhQEgARBYIAIoAgBBxwBHDRYMGwsgAEGwhQEgARBYIAIoAgBByABHDRUMGQsgAEGxhQEgARBYIAIoAgBByQBHDRQMJAsgAEGyhQEgARBYIAIoAgBBygBHDRMgAEHohAEgAkEYahBYDBYLIABBs4UBIAEQWCACKAIAQcsARw0SDBULIABBtIUBIAEQWCACKAIAQcwARw0RDBcLIABBtYUBIAEQWCACKAIAQc0ARw0QDBYLIABBtoUBIAEQWCACKAIAQc4ARw0PDBsLIABBt4UBIAEQWCACKAIAQc8ARw0OIAIoAhgEQCAAQQRqQeiEASACQRhqEFsLIAIoAhQEQCAAQQRqQeiEASACQRRqEFsLIAIoAhAEQCAAQQRqQeiEASACQRBqEFsLDBoLIABBuIUBIAEQWCACKAIAQdAARg0MDA0LIABBuYUBIAEQWCACKAIAQdEARw0MDBgLIABBuoUBIAEQWCACKAIAQdIARw0LIAIoAhQEQCAAQQRqQeiEASACQRRqEFsLDBYLIABBu4UBIAEQWCACKAIAQdMARw0KDA8LIABBvIUBIAEQWCACKAIAQdQARw0JDBQLIABBvYUBIAEQWCACKAIAQdUARw0IDBQLIABBvoUBIAEQWCACKAIAQdYARw0HDAsLIABBv4UBIAEQWCACKAIAQdcARw0GDAsLIABBwIUBIAEQWCACKAIAQdgARw0FDBULIABBwYUBIAEQWCACKAIAQdkARw0EDA8LIABBwoUBIAEQWCACKAIAQdoARw0DDA0LIABBw4UBIAEQWCACKAIAQdsARw0CDAcLIABBxIUBIAEQWCACKAIAQdwARw0BIABB6IQBIAJBPGoQWCACKAIwIgFBAEwNACAAQQRqIQQDQCABQQFrIgAgAigCME8NAyACKAIsIABBAnRqIgMoAgBFDQQgBEHohAEgAxBbIAFBAUshDyAAIQEgDw0ACwsPC0Hw7QVBxZgDQZQGQY3eABABAAtBxaIBQYmiA0G8AUGmiAUQAQALQYGDAkHTmQNBuQJBrvcCEAEACyAAQeiEASACQRRqEFgLIABB6IQBIAJBEGoQWAsgAEHohAEgAkEMahBYDAoLIABB6IQBIAJBHGoQWAsgAEHohAEgAkEYahBYCyAAQeiEASACQRRqEFgLIABB6IQBIAJBEGoQWA8LIABB6IQBIAJBFGoQWAsgAEHohAEgAkEQahBYCyAAQeiEASACQQxqEFgPCyAAQeiEASACQShqEFgLIABB6IQBIAJBJGoQWA8LIABB6IQBIAJBHGoQWCAAQeiEASACQRhqEFgPCyAAQeiEASACQQhqEFgPCyAAQQRqQeiEASACQQhqEFsL+A4DFn8CfQF+IwBBwAFrIgQkACAEIAE2ArQBIARCADcCGCAEQfAAakEAQcQA/AsAIAQgACgCADYCgAFB05kDIQcCQAJAAkAgAUUEQEGu9wIhAUG5AiECQYGDAiEDDAELQdSJC0EANgIAQeeEASAEQRxqQeiEASAEQbQBahAIQdSJCygCACEOQdSJC0EANgIAIA5BAUYNAQJAAkACQEEAIAQoAhwiA2sgBCgCdCIBIAQoAnAiAmtBA3VHBEAgBEEgaiEGA0ACQCABIAJGBEAgA0UEQEH9+wIhAUHaACECQbCUAyEHQd7EBSEDDAgLIAYgA0EBayIFQQN0aiIDKAIEIQEgAygCACECIAQgBTYCHAwBCyABQQhrIgUoAgAhAiAFKAIEIQEgBCAFNgJ0CyAEIAE2AhggASgCAEUEQEHQ+AIhAUHNAiECQfWCAiEDDAYLQdSJC0EANgIAIAIgBEEYaiABEANB1IkLKAIAIQ9B1IkLQQA2AgAgD0EBRg0CQQAgBCgCHCIDayAEKAJ0IgEgBCgCcCICa0EDdUcNAAsLIAQoAoQBIgEgBCgCiAEiBUYNAiAAQRxqIQIMAQsQACECDAQLAkADQCAEIAEoAgg2AhAgBCABKQIAIho3AwhB1IkLQQA2AgBB4oQBIARBuAFqIAIgGqciAyAEKAIMIARBCGoQDEHUiQsoAgAhEEHUiQtBADYCACAQQQFGDQECQAJAIANBA0cNACAAKAIAIgMoArwCIQYgAygCuAIhA0HUiQtBADYCAEGLAiADIAYgBCkCDBDxASEDQdSJCygCACERQdSJC0EANgIAIBFBAUYNASADKAIMDQAgAygCICEDQdSJC0EANgIAQeWEASAAIAMQA0HUiQsoAgAhEkHUiQtBADYCACASQQFGDQELIAFBDGoiASAFRg0DDAELCxAAIQIMBAsQACECDAMLAkAgBCgCnAEiCCAEKAKgASIKRg0AIABBJGohCyAAQRxqIQkgACgCICECA0ACQCAIKAIAIgdBx4yijgZrIQMgCCgCBCEMAkACQCACRQ0AAkAgAmlBAUsiBkUEQCADIAJBAWtxIQUMAQsgAyIFIAJJDQAgAyACcCEFCyAJKAIAIAVBAnRqKAIAIgFFDQAgASgCACIBRQ0AIAZFBEAgAkEBayEGA0ACQCADIAEoAgQiDUcEQCAGIA1xIAVGDQEMBAsgASgCCA0AIAEoAgwgB0YNBAsgASgCACIBDQALDAELA0ACQCADIAEoAgQiBkcEQCACIAZNBH8gBiACcAUgBgsgBUYNAQwDCyABKAIIDQAgASgCDCAHRg0DCyABKAIAIgENAAsLQdSJC0EANgIAQQRBFBAGIQZB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRg0BIAZBADYCCCAGIAM2AgQgBkEANgIAIAYgDDYCECAGIAc2AgwgACoCLCEYIAAoAihBAWqzIRkCQCACBEAgGCACs5QgGV1FDQELQQIhBQJAAkACQCACIAJBAWtxQQBHIAJBA0lyIAJBAXRyIgECfyAZIBiVjSIYQwAAgE9dIBhDAAAAAGBxBEAgGKkMAQtBAAsiByABIAdLGyIBQQFGDQAgASABQQFrcUUEQCABIQUMAQtB1IkLQQA2AgBBFSABEAYhBUHUiQsoAgAhFEHUiQtBADYCACAUQQFGDQEgACgCICECCwJAIAIgBU8EQCACIAVNDQEgAkEDSSEHAn8gACgCKLMgACoCLJWNIhhDAACAT10gGEMAAAAAYHEEQCAYqQwBC0EACyEBAkACQCAHDQAgAmlBAUsNACABQQFBICABQQFrZ2t0IAFBAkkbIQcMAQtB1IkLQQA2AgBBFSABEAYhB0HUiQsoAgAhFUHUiQtBADYCACAVQQFGDQMLIAUgByAFIAdLGyIFIAJPDQELQdSJC0EANgIAQeaEASAJIAUQA0HUiQsoAgAhFkHUiQtBADYCACAWQQFGDQELIAAoAiAiAiACQQFrIgFxRQRAIAEgA3EhBQwDCyACIANNDQEgAyEFDAILEAAhAiAGEFoMCAsgAyACcCEFCwJAAkAgCSgCACAFQQJ0aiIFKAIAIgNFBEAgBiAAKAIkNgIAIAAgBjYCJCAFIAs2AgAgBigCACIBRQ0CIAEoAgQhAwJAIAIgAkEBayIFcUUEQCADIAVxIQMMAQsgAiADSw0AIAMgAnAhAwsgCSgCACADQQJ0aiEDDAELIAYgAygCADYCAAsgAyAGNgIACyAAIAAoAihBAWo2AigLIAhBCGoiCCAKRw0BDAILCxAAIQIMAwsgBCgCqAEiAARAIAQgADYCrAEgABBaCyAEKAKcASIABEAgBCAANgKgASAAEFoLIAQoApABIgAEQCAEIAA2ApQBIAAQWgsgBCgChAEiAARAIAQgADYCiAEgABBaCyAEKAJwIgAEQCAEIAA2AnQgABBaCyAEQcABaiQADwtB1IkLQQA2AgBBDSADIAcgAiABEAVB1IkLKAIAIRdB1IkLQQA2AgAgF0EBRg0AAAsQACECCyAEQRhqEKMNIAIQBwALhw0CDn8CfSACQZXTx94FbCIFQRh2IAVzQZXTx94FbEGomb30fXNBldPH3gVsIgVBDXYgBXNBldPH3gVsIgVBD3YgBXMiBUEGdCAFQQJ2aiADakHHjKKOBmsgBXMhCQJAIAACfwJAIAEoAgQiBUUNAAJAIAVpIgZBAU0EQCAJIAVBAWtxIQcMAQsgCSIHIAVJDQAgByAFcCEHCyABKAIAIAdBAnRqKAIAIghFDQAgCCgCACIIRQ0AIAZBAU0EQCAFQQFrIQYDQAJAIAkgCCgCBCIKRwRAIAYgCnEgB0cNBAwBCyAIKAIIIAJHDQAgCCgCDCADRw0AQQAMBAsgCCgCACIIDQALDAELA0ACQCAJIAgoAgQiBkcEQCAFIAZNBH8gBiAFcAUgBgsgB0cNAwwBCyAIKAIIIAJHDQAgCCgCDCADRw0AQQAMAwsgCCgCACIIDQALC0EQEFwiCCAJNgIEIAggBDcCCCAIQQA2AgAgAUEIaiEKIAEqAhAhEyABKAIMQQFqsyEUAkACQCAFRQ0AIBMgBbOUIBRdDQAgByEJDAELQQIhAgJAIAUgBUEBa3FBAEcgBUEDSXIgBUEBdHIiAwJ/IBQgE5WNIhNDAACAT10gE0MAAAAAYHEEQCATqQwBC0EACyIHIAMgB0sbIgNBAUYNACADIANBAWtxRQRAIAMhAgwBC0HUiQtBADYCAEEVIAMQBiECQdSJCygCACEOQdSJC0EANgIAIA5BAUYNAyABKAIEIQULAkACQCACIAVNBEAgAiAFTw0CIAVBA0khBwJ/IAEoAgyzIAEqAhCVjSITQwAAgE9dIBNDAAAAAGBxBEAgE6kMAQtBAAshAwJAAkAgBw0AIAVpQQFLDQAgA0EBQSAgA0EBa2drdCADQQJJGyEGDAELQdSJC0EANgIAQRUgAxAGIQZB1IkLKAIAIQ9B1IkLQQA2AgAgD0EBRg0GCyAFIAIgBiACIAZLGyICTQRAIAEoAgQhBQwDCyACRQ0BCyACQYCAgIAETwRAQdSJC0EANgIAQQMQCUHUiQsoAgAhEEHUiQtBADYCACAQQQFGDQUAC0HUiQtBADYCAEEEIAJBAnQQBiEFQdSJCygCACERQdSJC0EANgIAIBFBAUYNBCABKAIAIQMgASAFNgIAIAMEQCADEFoLIAEgAjYCBEEAIQdBACEFIAJBBE8EQCACQfz///8DcSEGA0AgBUECdCIDIAEoAgBqQQA2AgAgASgCACADakEANgIEIAEoAgAgA2pBADYCCCABKAIAIANqQQA2AgwgBUEEaiIFIAZHDQALCyACQQNxIgMEQANAIAEoAgAgBUECdGpBADYCACAFQQFqIQUgB0EBaiIHIANHDQALCyABKAIIIgVFBEAgAiEFDAILIAUoAgQhAwJAIAIgAkEBayILcQRAIAIgA00EQCADIAJwIQMLIAEoAgAgA0ECdGogCjYCACAFKAIAIgcNASACIQUMAwsgASgCACADIAtxIgNBAnRqIAo2AgAgBSgCACIGRQRAIAIhBQwDCwNAAkAgAyAGKAIEIAtxIgdGBEAgBiEFDAELIAdBAnQiDCABKAIAaiINKAIABEAgBSAGKAIANgIAIAYgASgCACAMaigCACgCADYCACABKAIAIAxqKAIAIAY2AgAMAQsgDSAFNgIAIAYhBSAHIQMLIAUoAgAiBg0ACyACIQUMAgsDQCACIAcoAgQiBk0EQCAGIAJwIQYLAkAgAyAGRgRAIAchBQwBCyAGQQJ0IgsgASgCAGoiDCgCAEUEQCAMIAU2AgAgByEFIAYhAwwBCyAFIAcoAgA2AgAgByABKAIAIAtqKAIAKAIANgIAIAEoAgAgC2ooAgAgBzYCAAsgBSgCACIHDQALIAIhBQwBCyABKAIAIQJBACEFIAFBADYCACACBEAgAhBaCyABQQA2AgQLIAUgBUEBayICcUUEQCACIAlxIQkMAQsgBSAJSw0AIAkgBXAhCQsCQAJAIAEoAgAgCUECdGoiAigCACIGRQRAIAggASgCCDYCACABIAg2AgggAiAKNgIAIAgoAgAiAkUNAiACKAIEIQYCQCAFIAVBAWsiAnFFBEAgAiAGcSEGDAELIAUgBksNACAGIAVwIQYLIAEoAgAgBkECdGohBgwBCyAIIAYoAgA2AgALIAYgCDYCAAsgASABKAIMQQFqNgIMQQELOgAEIAAgCDYCAA8LEAAhEiAIEFogEhAHAAu3BwIKfwJ9IAJBBnQgAkECdmogA2pBx4yijgZrIAJzIQYCQCAAAn8CQCABKAIEIgVFDQAgASgCAAJ/IAYgBUEBa3EgBWkiCEEBTQ0AGiAGIAUgBksNABogBiAFcAsiCUECdGooAgAiB0UNACAHKAIAIgdFDQAgCEEBTQRAIAVBAWshCANAAkAgBiAHKAIEIgpHBEAgCCAKcSAJRw0EDAELIAcoAgggAkcNACAHKAIMIANHDQBBAAwECyAHKAIAIgcNAAsMAQsDQAJAIAYgBygCBCIIRwRAIAUgCE0EfyAIIAVwBSAICyAJRw0DDAELIAcoAgggAkcNACAHKAIMIANHDQBBAAwDCyAHKAIAIgcNAAsLQRQQXCIHIAQoAgg2AhAgByAEKQIANwIIIAcgBjYCBCAHQQA2AgAgASoCECEPIAEoAgxBAWqzIRACQAJAIAVFDQAgDyAFs5QgEF0NACAJIQYMAQtBAiECAkAgBSAFQQFrcUEARyAFQQNJciAFQQF0ciIDAn8gECAPlY0iD0MAAIBPXSAPQwAAAABgcQRAIA+pDAELQQALIgQgAyAESxsiA0EBRg0AIAMgA0EBa3FFBEAgAyECDAELQdSJC0EANgIAQRUgAxAGIQJB1IkLKAIAIQtB1IkLQQA2AgAgC0EBRg0DIAEoAgQhBQsCQCACIAVNBEAgAiAFTw0BIAVBA0khBAJ/IAEoAgyzIAEqAhCVjSIPQwAAgE9dIA9DAAAAAGBxBEAgD6kMAQtBAAshAwJAAkAgBA0AIAVpQQFLDQAgA0EBQSAgA0EBa2drdCADQQJJGyEDDAELQdSJC0EANgIAQRUgAxAGIQNB1IkLKAIAIQxB1IkLQQA2AgAgDEEBRg0FCyACIAMgAiADSxsiAiAFTw0BC0HUiQtBADYCAEHmhAEgASACEANB1IkLKAIAIQ1B1IkLQQA2AgAgDUEBRg0DCyABKAIEIgUgBUEBayICcUUEQCACIAZxIQYMAQsgBSAGSw0AIAYgBXAhBgsCQAJAIAEoAgAgBkECdGoiAigCACIGRQRAIAcgAUEIaiIDKAIANgIAIAEgBzYCCCACIAM2AgAgBygCACICRQ0CIAIoAgQhBgJAIAUgBUEBayICcUUEQCACIAZxIQYMAQsgBSAGSw0AIAYgBXAhBgsgASgCACAGQQJ0aiEGDAELIAcgBigCADYCAAsgBiAHNgIACyABIAEoAgxBAWo2AgxBAQs6AAQgACAHNgIADwsQACEOIAcQWiAOEAcAC0EAAkAgACgCAEEfRgRAIAFFDQEgACABNgIIDwtBrLEGQae3AkGxGUGV9wAQAQALQeT0AUGntwJBshlBlfcAEAEAC6MGAgh/An0gAiACKAIMIgkgAigCCCIIQQZ0IAhBAnZqakHHjKKOBmsgCHMiBDYCBCAAAn8CQAJAIAEoAgQiBUUNACABKAIAAn8gBUEBayAEcSAFaSIHQQFNDQAaIAQgBCAFSQ0AGiAEIAVwCyIGQQJ0aigCACIDRQ0AIAMoAgAiA0UNACAHQQFNBEAgBUEBayEHA0ACQCAEIAMoAgQiCkcEQCAHIApxIAZHDQQMAQsgAygCCCAIRw0AIAMoAgwgCUYNBAsgAygCACIDDQALDAELA0ACQCAEIAMoAgQiB0cEQCAFIAdNBH8gByAFcAUgBwsgBkYNAQwDCyADKAIIIAhHDQAgAygCDCAJRg0DCyADKAIAIgMNAAsLIAEqAhAhCyABKAIMQQFqsyEMAkAgBQRAIAsgBbOUIAxdRQ0BC0ECIQMCQCAFIAVBAWtxQQBHIAVBA0lyIAVBAXRyIgYCfyAMIAuVjSILQwAAgE9dIAtDAAAAAGBxBEAgC6kMAQtBAAsiBCAEIAZJGyIEQQFGDQAgBCAEQQFrcUUEQCAEIQMMAQsgBBD1AyEDIAEoAgQhBQsgAyAFTQRAIAMgBU8NASAFQQNJIQYCfyABKAIMsyABKgIQlY0iC0MAAIBPXSALQwAAAABgcQRAIAupDAELQQALIQQgAwJ/AkAgBg0AIAVpQQFLDQAgBEEBQSAgBEEBa2drdCAEQQJJGwwBCyAEEPUDCyIEIAMgBEsbIgMgBU8NAQsgASADENMCCyACKAIEIQMCQCABKAIEIgRpIgZBAU0EQCAEQQFrIANxIQMMAQsgAyAESQ0AIAMgBHAhAwsCQAJAIANBAnQiBSABKAIAaigCACIDRQRAIAIgASgCCDYCACABIAI2AgggASgCACAFaiABQQhqNgIAIAIoAgAiA0UNAiADKAIEIQMCQCAGQQFNBEAgAyAEQQFrcSEDDAELIAMgBEkNACADIARwIQMLIAEoAgAgA0ECdGohAwwBCyACIAMoAgA2AgALIAMgAjYCAAsgASABKAIMQQFqNgIMQQEMAQsgAyECQQALOgAEIAAgAjYCAAtuAQJ/AkAgACgCBCICKAIIIAIoAgxBACABKAIAIgEoAgAiAxDVAw0AIAIoAhwgAigCIEEAIAMQ1QNFBEBBAQ8LIAEoAgwNACAAKAIIKAIAQagBakEIQQQQXSIAQpeAgIAQNwIAIAEgADYCMAtBAAsVACABQdyTCDYCACABIAApAgQ3AgQLHQEBf0EMEFwiAUHckwg2AgAgASAAKQIENwIEIAELPQEBfyAAKAIEKAIAIgAoAgggACgCDEEDIAEoAgAoAgAiARDVAwR/QQEFIAAoAhwgACgCIEEDIAEQ1QMLRQskACAAKAIAQR9HBEBBrLEGQae3AkG3GUGv9QAQAQALIAAoAgwLHQEBf0EIEFwiAUGAlAg2AgAgASAAKAIENgIEIAELPQEBfyAAKAIEKAIAIgAoAgggACgCDEEEIAEoAgAoAgAiARDVAwR/QQEFIAAoAhwgACgCIEEEIAEQ1QMLRQsVACABQaSUCDYCACABIAAoAgQ2AgQLHQEBf0EIEFwiAUGklAg2AgAgASAAKAIENgIEIAELPQEBfyAAKAIEKAIAIgAoAgggACgCDEECIAEoAgAoAgAiARDVAwR/QQEFIAAoAhwgACgCIEECIAEQ1QMLRQsVACABQciUCDYCACABIAAoAgQ2AgQLHQEBf0EIEFwiAUHIlAg2AgAgASAAKAIENgIEIAELPQEBfyAAKAIEKAIAIgAoAgggACgCDEEBIAEoAgAoAgAiARDVAwR/QQEFIAAoAhwgACgCIEEBIAEQ1QMLRQsdAQF/QQgQXCIBQeyUCDYCACABIAAoAgQ2AgQgAQs9AQF/IAAoAgQoAgAiACgCCCAAKAIMQQUgASgCACgCACIBENUDBH9BAQUgACgCHCAAKAIgQQUgARDVAwtFC04AAkAgACgCAEEfRgRAIAFFDQEgASAAKQAQNwAAIAEgACkAGDcACA8LQayxBkGntwJBwxlB0vcCEAEAC0Gp9wJBp7cCQcQZQdL3AhABAAsVACABQZCVCDYCACABIAAoAgQ2AgQLHQEBf0EIEFwiAUGQlQg2AgAgASAAKAIENgIEIAELPQEBfyAAKAIEKAIAIgAoAgggACgCDEEGIAEoAgAoAgAiARDVAwR/QQEFIAAoAhwgACgCIEEGIAEQ1QMLRQsdAQF/QQgQXCIBQbSVCDYCACABIAAoAgQ2AgQgAQsVACABQbSVCDYCACABIAAoAgQ2AgQLFQAgAUHslAg2AgAgASAAKAIENgIECxUAIAFBgJQINgIAIAEgACgCBDYCBAv4AQEGfyAAQUBrKAIAIgIgACgCRCIDSQRAIAIgATYCACAAIAJBBGo2AkAPCwJAIAIgACgCPCIFa0ECdSIHQQFqIgRBgICAgARJBEBB/////wMgAyAFayIDQQF1IgYgBCAEIAZJGyADQfz///8HTxsiAwR/IANBgICAgARPDQIgA0ECdBBcBUEACyIGIAdBAnRqIgQgATYCACAEQQRqIQEgAiAFRwRAA0AgBEEEayIEIAJBBGsiAigCADYCACACIAVHDQALIAAoAjwhAgsgACAGIANBAnRqNgJEIAAgATYCQCAAIAQ2AjwgAgRAIAIQWgsPCxBkAAsQagALJAAgACgCAEEfRwRAQayxBkGntwJBqxlBj/gAEAEACyAAKAIIC/VyA2d/An4CfSMAQZAEayIDJAACQAJAAkACQAJAIABBQGsoAgAiFyAAKAI8IhtHBEAgAEGMAWohECAAQfAAaiEYIABBHGohHCAAQeQAaiERIABByABqIRQgAEGYAWohGSAAQQhqIRogA0HgAmohHSADQdACaiEeIANBxAJqIR8gA0GgAmohICADQZQCaiEhIANBiAJqISIgA0H8AWohIyADQeQBaiEVIANB/ABqISQgFyEBA0AgAUEEayIBKAIAIQ8gACABNgJAIANCADcCJCAkQQBBxAD8CwAgAyAAKAIANgKMASAPRQRAQbLvACECQTohBEHTmQMhBkGm8wEhCQwECwJAAkACQAJAAkACQAJAAkAgDygCAEEBaw5cAwMDAwMGBQMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAMDAwMDAwMDAwMDAwMDAwMBAwMDAwIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMECyAPKQIIIWhB1IkLQQA2AgBBBEEIEAYhAUHUiQsoAgAhJUHUiQtBADYCACAlQQFGDQkgASBoNwIAIAMgAUEIaiICNgKwASADIAI2AqwBIAMgATYCqAEMBgsgDygCGCgCBCIBQQdJDQUgASgCBEEBRw0FIAEoAgghAUHUiQtBADYCAEHehAEgA0EkaiABEANB1IkLKAIAISZB1IkLQQA2AgAgJkEBRw0FDAgLIA8oAgwoAgQiAUEBRg0EQauJBCECQeQHIQRBuLMCIQZBv/8FIQkgAUEHSQ0IIAEoAgRBAUYEQCABKAIIQXxxQQxGDQULIAEoAgRBAUcNCCAPNQIIIWggATUCCCFpQdSJC0EANgIAQQRBCBAGIQFB1IkLKAIAISdB1IkLQQA2AgAgJ0EBRg0HIAEgaEIghiBphDcCACADIAFBCGoiAjYCvAEgAyACNgK4ASADIAE2ArQBDAQLQdSJC0EANgIAQd+EASADQSRqIA8QA0HUiQsoAgAhKEHUiQtBADYCACAoQQFHDQMMBgtB1IkLQQA2AgBBFEGY/QNB05kDQcUAEAhB1IkLKAIAISlB1IkLQQA2AgAgKUEBRw0HDAgLQdSJC0EANgIAQeCEASADQSRqIA8QA0HUiQsoAgAhKkHUiQtBADYCACAqQQFGDQQMAQtB1IkLQQA2AgBB4YQBIANBJGogDxADQdSJCygCACErQdSJC0EANgIAICtBAUYNAwsgAygCkAEiBiADKAKUASIJRwRAA0AgAyAGKAIINgLoASADIAYpAgA3A+ABQdSJC0EANgIAQQRBFBAGIQFB1IkLKAIAIQJB1IkLQQA2AgACQAJAAkACQCACQQFGDQAgASADKQPgASJoNwIIIAEgAygC6AE2AhAgAUEANgIAIAEgASgCDCBopyICQQZ0IAJBAnZqakHHjKKOBmsgAnM2AgRB1IkLQQA2AgBB3YQBIANB/AJqIBogARAIQdSJCygCACEsQdSJC0EANgIAICxBAUYNASADLQCAA0UNAiAAKAI0IgEgACgCOCIFSQRAIAEgAykD4AE3AgAgASADKALoATYCCCAAIAFBDGo2AjQMBAsCQAJAAkAgASAAKAIwIgdrQQxtIghBAWoiAkHWqtWqAU8EQEHUiQtBADYCAEHYhAEQCQwBC0HVqtWqASAFIAdrQQxtIgVBAXQiBCACIAIgBEkbIAVBqtWq1QBPGyIERQRAQQAhBQwDCyAEQdaq1aoBSQ0BQdSJC0EANgIAQQMQCQtB1IkLKAIAIS1B1IkLQQA2AgAgLUEBRw0MEAAhAgwOC0HUiQtBADYCAEEEIARBDGwQBiEFQdSJCygCACEuQdSJC0EANgIAIC5BAUYNAQsgBSAIQQxsaiICIAMpA+ABNwIAIAIgAygC6AE2AgggAkEMaiEIIAEgB0cEQANAIAJBDGsiAiABQQxrIgEpAgA3AgAgAiABKAIINgIIIAEgB0cNAAsgACgCMCEBCyAAIAUgBEEMbGo2AjggACAINgI0IAAgAjYCMCABRQ0DIAEQWgwDCxAAIQIMCwsQACECIAEQWgwKCyABEFoLIAZBDGoiBiAJRw0ACwsgAygCnAEiDSADKAKgASISRwRAA0ACQCANKAIAIg5BEEkNAAJAAkACQAJAAkAgAC0AuAENACAAKAIAIQFB1IkLQQA2AgBBqhkgA0HgAWoiAiABEANB1IkLKAIAIS9B1IkLQQA2AgAgL0EBRg0BQdSJC0EANgIAQasZIANBwAFqIAIQAiEFQdSJCygCACEwQdSJC0EANgIAIDBBAUYNAyADKALgASIBBEAgARBaCyAZIAUQ4gkgAygC1AEiAQRAA0AgASgCACExIAEoAgwiBwRAIAEgBzYCECAHEFoLIAEQWiAxIgENAAsLIAMoAswBIQEgA0EANgLMASABBEAgARBaCyAFKAIAIgFFDQAgAyABNgLEASABEFoLQdSJC0EANgIAQQRBBBAGIQZB1IkLKAIAITJB1IkLQQA2AgAgMkEBRg0BIAYgDjYCAEEAIQJBACEHQQAhCSAGQQRqIgohAQNAIAFBBGsiASgCACEFIAAoAqgBIQQgACgCpAEhCEHUiQtBADYCAEGuGSAIIAQgBRAEIQVB1IkLKAIAIQRB1IkLQQA2AgACQAJAAkAgBEEBRwRAIAUoAgAiCCAFKAIEIhZHDQEMAwsMAQsCQAJAAkADQAJAIAgoAgAhDAJAIAIgB0cEQCAHIAw2AgAMAQsgAiAJayIFQQJ1IgRBAWoiB0GAgICABE8NBAJAQf////8DIAVBAXUiCyAHIAcgC0kbIAVB/P///wdPGyIFRQRAQQAhCwwBCyAFQYCAgIAETw0EQdSJC0EANgIAQQQgBUECdBAGIQtB1IkLKAIAITNB1IkLQQA2AgAgM0EBRg0CCyALIARBAnRqIgcgDDYCACAHIQQgAiAJRwRAA0AgBEEEayIEIAJBBGsiAigCADYCACACIAlHDQALCyAFQQJ0IAtqIQIgCQRAIAkQWgsgBCEJCwJAIAEgCkcEQCABIAw2AgAMAQsgASAGayIFQQJ1IhNBAWoiBEH/////A0sNBAJAQf////8DIAVBAXUiCiAEIAQgCkkbIAVB/P///wdPGyILRQRAQQAhCgwBCyALQf////8DSw0EQdSJC0EANgIAQQQgC0ECdBAGIQpB1IkLKAIAITRB1IkLQQA2AgAgNEEBRg0CCyAKIBNBAnRqIgUgDDYCACAFIQQgASAGRwRAA0AgBEEEayIEIAFBBGsiASgCADYCACABIAZHDQALCyALQQJ0IApqIQogBgRAIAYQWgsgBSEBIAQhBgsgB0EEaiEHIAFBBGohASAWIAhBBGoiCEcNAQwGCwsMAwtB1IkLQQA2AgBBAxAJDAELQdSJC0EANgIAQYwBEAkLQdSJCygCACE1QdSJC0EANgIAIDVBAUcNDgsQACECIAYEQCAGEFoLIAlFDQ8gCRBaDA8LIAEgBkcNAAsgARBaIAIgB0cEQCAHIA42AgAMBAsCQAJAAkACQCACIAlrIgFBAnUiB0EBaiIFQYCAgIAETwRAQdSJC0EANgIAQYwBEAkMAQtB/////wMgAUEBdSIEIAUgBCAFSxsgAUH8////B08bIgFFBEBBACEBDAMLIAFBgICAgARJDQFB1IkLQQA2AgBBAxAJC0HUiQsoAgAhNkHUiQtBADYCACA2QQFHDQ4MAgtB1IkLQQA2AgBBBCABQQJ0EAYhAUHUiQsoAgAhN0HUiQtBADYCACA3QQFGDQELIAEgB0ECdGoiByAONgIAIAchASACIAlHBEADQCABQQRrIgEgAkEEayICKAIANgIAIAIgCUcNAAsLIAkEQCAJEFoLIAEhCQwECxAAIQIgCUUNDSAJEFoMDQsQACECDAwLEAAhAgwLCxAAIQIgAygC4AEiAEUNCiAAEFoMCgsgCSIFIAdBBGoiAUcEQAJAAkADQCAFKAIAIQgCQCAAKAJgIgZFDQAgACgCXAJ/IAhBldPH3gVsIgFBGHYgAXNBldPH3gVsQaiZvfR9c0GV08feBWwiAUENdiABc0GV08feBWwiAUEPdiABcyIBIAZBAWtxIAZpIgtBAUsiAkUNABogASABIAZJDQAaIAEgBnALIgpBAnRqKAIAIgRFDQAgBCgCACIERQ0AAkAgAkUEQCAGQQFrIQIDQAJAIAEgBCgCBCIMRwRAIAIgDHEgCkYNAQwFCyAEKAIIIAhGDQMLIAQoAgAiBA0ACwwCCwNAAkAgASAEKAIEIgJHBEAgAiAGTwR/IAIgBnAFIAILIApGDQEMBAsgBCgCCCAIRg0CCyAEKAIAIgQNAAsMAQsCQCAAKAJMIgpFDQAgFCgCAAJ/IApBAWsgAXEgCmlBAUsiDEUNABogASABIApJDQAaIAEgCnALIg5BAnRqKAIAIgJFDQAgAigCACICRQ0AAkAgDEUEQCAKQQFrIQoDQAJAIAIoAgQiDCABRwRAIAogDHEgDkYNAQwFCyACKAIIIAhGDQMLIAIoAgAiAg0ACwwCCwNAAkAgAigCBCIMIAFHBEAgCiAMTQR/IAwgCnAFIAwLIA5GDQEMBAsgAigCCCAIRg0CCyACKAIAIgINAAsMAQtB1IkLQQA2AgBBDUGTygVBv4gCQa0CQZaKBBAFQdSJCygCACE4QdSJC0EANgIAIDhBAUcNDRAAIQIMAwsCQCAEKAIUIgoEQANAIAopAgghaEHUiQtBADYCAEEEQRQQBiEBQdSJCygCACE5QdSJC0EANgIAIDlBAUYNAiABQQA2AgggAUEANgIAIAEgaDcCDCABIGinQceMoo4GazYCBEHUiQtBADYCAEHdhAEgA0HgAWogGiABEAhB1IkLKAIAIQJB1IkLQQA2AgACQAJAAkAgAkEBRwRAIAMtAOQBRQ0BIAAoAjQiASAAKAI4IgtPDQIgASBoNwIEIAFBADYCACAAIAFBDGo2AjQMAwsQACECIAEQWgwICyABEFoMAQsCQAJAAkAgASAAKAIwIgZrQQxtIg5BAWoiAkHWqtWqAU8EQEHUiQtBADYCAEHYhAEQCQwBC0HVqtWqASALIAZrQQxtIgtBAXQiDCACIAIgDEkbIAtBqtWq1QBPGyIMRQRAQQAhCwwDCyAMQdaq1aoBSQ0BQdSJC0EANgIAQQMQCQtB1IkLKAIAITpB1IkLQQA2AgAgOkEBRw0SEAAhAgwIC0HUiQtBADYCAEEEIAxBDGwQBiELQdSJCygCACE7QdSJC0EANgIAIDtBAUYNBAsgCyAOQQxsaiICIGg3AgQgAkEANgIAIAJBDGohDiABIAZHBEADQCACQQxrIgIgAUEMayIBKQIANwIAIAIgASgCCDYCCCABIAZHDQALIAAoAjAhAQsgACALIAxBDGxqNgI4IAAgDjYCNCAAIAI2AjAgAUUNACABEFoLIAooAgAiCg0ACyAAKAJgIgZpIQsgBCgCBCEBCwJAIAtBAUsiDEUEQCAGQQFrIAFxIQEMAQsgASAGSQ0AIAEgBnAhAQsgACgCXCABQQJ0aiILKAIAIQIDQCACIgooAgAiAiAERw0ACwJAIAogEUcEQCAKKAIEIQICQCAMRQRAIAIgBkEBa3EhAgwBCyACIAZJDQAgAiAGcCECCyABIAJGDQELIAQoAgAiAgRAIAIoAgQhAgJAIAxFBEAgAiAGQQFrcSECDAELIAIgBkkNACACIAZwIQILIAEgAkYNAQsgC0EANgIACwJAIAQoAgAiAkUEQEEAIQIMAQsgAigCBCELAkAgDEUEQCALIAZBAWtxIQsMAQsgBiALSw0AIAsgBnAhCwsgASALRg0AIAAoAlwgC0ECdGogCjYCACAEKAIAIQILIAogAjYCACAEQQA2AgAgACAAKAJoQQFrNgJoIAQoAhQiAQRAA0AgASgCACE8IAEQWiA8IgENAAsLIAQoAgwhASAEQQA2AgwgAQRAIAEQWgsgBBBaDAELEAAhAgwCC0HUiQtBADYCAEHiAiADQeABaiAUIAggCBAFQdSJCygCACE9QdSJC0EANgIAID1BAUcEQCAFIAdGIT4gBUEEaiEFID4NAwwBCwsQACECCyAJRQ0LIAkQWgwLCyAJIgFFDQELIAEQWgsgDUEEaiINIBJHDQALCwJAIAMoAqgBIgcgAygCrAEiDEYNAANAAkAgBygCBCEBIAcoAgAhCgJAIAAoAgQtACVFBEAgAyABNgLoASADIAE2AhAgAyAKNgLkASADQQA2AuABQdSJC0EANgIAIAMgAykC4AE3AwhB2YQBIAAgA0EIahADQdSJCygCACE/QdSJC0EANgIAID9BAUYNAgwBCyADQQA2AvwCIAMgCq0gAa1CIIaEImg3AoADIAAoAgAiASgC2AEhAiABKALUASEBQdSJC0EANgIAQagBIAEgAiBoEPEBIUFB1IkLKAIAIUBB1IkLQQA2AgAgQEEBRg0BIEEoAhwiBUGV08feBWwiAUEYdiABc0GV08feBWxBqJm99H1zQZXTx94FbCIBQQ12IAFzQZXTx94FbCIBQQ92IAFzIQYCQCAAKAJMIgJFDQAgFCgCAAJ/IAJBAWsgBnEgAmlBAUsiBEUNABogBiACIAZLDQAaIAYgAnALIghBAnRqKAIAIgFFDQAgASgCACIBRQ0AAkAgBEUEQCACQQFrIQIDQAJAIAEoAgQiBCAGRwRAIAIgBHEgCEYNAQwFCyABKAIIIAVGDQMLIAEoAgAiAQ0ACwwCCwNAAkAgASgCBCIEIAZHBEAgAiAETQR/IAQgAnAFIAQLIAhGDQEMBAsgASgCCCAFRg0CCyABKAIAIgENAAsMAQsCQCAAKAJgIgJFDQAgACgCXAJ/IAJBAWsgBnEgAmlBAUsiBEUNABogBiACIAZLDQAaIAYgAnALIghBAnRqKAIAIgFFDQAgASgCACIBRQ0AAkAgBEUEQCACQQFrIQIDQAJAIAEoAgQiBCAGRwRAIAIgBHEgCEYNAQwFCyABKAIIIAVGDQMLIAEoAgAiAQ0ACwwCCwNAAkAgASgCBCIEIAZHBEAgAiAETQR/IAQgAnAFIAQLIAhGDQEMBAsgASgCCCAFRg0CCyABKAIAIgENAAsMAQtB1IkLQQA2AgBBDUHvyQVBv4gCQcsCQbDnBBAFQdSJCygCACFCQdSJC0EANgIAIEJBAUcNChAAIQIMDAsgAyADKAKEAzYCIEHUiQtBADYCACADIAMpAvwCNwMYQdmEASAAIANBGGoQA0HUiQsoAgAhQ0HUiQtBADYCACBDQQFHDQEMAgsCQAJAIAAoAmAiAUUNACAAKAJcAn8gAUEBayAGcSABaUEBSyIERQ0AGiAGIAEgBksNABogBiABcAsiCEECdGooAgAiAkUNACACKAIAIgJFDQAgBEUEQCABQQFrIQQDQAJAIAYgAigCBCIJRwRAIAQgCXEgCEYNAQwECyACKAIIIAVGDQQLIAIoAgAiAg0ACwwBCwNAAkAgBiACKAIEIgRHBEAgASAETQR/IAQgAXAFIAQLIAhGDQEMAwsgAigCCCAFRg0DCyACKAIAIgINAAsLQdSJC0EANgIAQQRBIBAGIQJB1IkLKAIAIURB1IkLQQA2AgAgREEBRg0CIAMgETYC5AEgAyACNgLgASACQgA3AgwgAiAFNgIIIAJCADcCFCACQYCAgPwDNgIcIANBAToA6AEgAkEANgIAIAIgBjYCBCAAKgJsIWogACgCaEEBarMhawJAAkACQAJAAkACQAJAAkAgAUUNACBqIAGzlCBrXQ0AIAghBgwBC0ECIQgCQCABIAFBAWtxQQBHIAFBA0lyIAFBAXRyIgUCfyBrIGqVjSJqQwAAgE9dIGpDAAAAAGBxBEAgaqkMAQtBAAsiBCAEIAVJGyIFQQFGDQAgBSAFQQFrcUUEQCAFIQgMAQtB1IkLQQA2AgBBFSAFEAYhCEHUiQsoAgAhRUHUiQtBADYCACBFQQFGDQIgACgCYCEBCwJAAkAgASAITwRAIAEgCE0NAiABQQNJIQQCfyAAKAJosyAAKgJslY0iakMAAIBPXSBqQwAAAABgcQRAIGqpDAELQQALIQUCQAJAIAQNACABaUEBSw0AIAVBAUEgIAVBAWtna3QgBUECSRshBAwBC0HUiQtBADYCAEEVIAUQBiEEQdSJCygCACFGQdSJC0EANgIAIEZBAUYNBQsgCCAEIAQgCEkbIgggAU8NAiAIRQ0BCyAIQYCAgIAETwRAQdSJC0EANgIAQQMQCUHUiQsoAgAhR0HUiQtBADYCACBHQQFHDRMMBAtB1IkLQQA2AgBBBCAIQQJ0EAYhBUHUiQsoAgAhSEHUiQtBADYCACBIQQFGDQMgACgCXCEBIAAgBTYCXCABBEAgARBaCyAAIAg2AmBBACEJQQAhASAIQQRPBEAgCEH8////A3EhBANAIAFBAnQiBSAAKAJcakEANgIAIAAoAlwgBWpBADYCBCAAKAJcIAVqQQA2AgggACgCXCAFakEANgIMIAFBBGoiASAERw0ACwsgCEEDcSIFBEADQCAAKAJcIAFBAnRqQQA2AgAgAUEBaiEBIAlBAWoiCSAFRw0ACwsgESgCACIBRQ0BIAEoAgQhBQJAIAggCEEBayIJcQRAIAUgCE8EQCAFIAhwIQULIAAoAlwgBUECdGogETYCAAwBCyAAKAJcIAUgCXEiCEECdGogETYCAANAIAEoAgAiBUUNAyAIIAUoAgQgCXEiBEYEQCAFIQEMAQsgBEECdCILIAAoAlxqIg0oAgAEQCABIAUoAgA2AgAgBSAAKAJcIAtqKAIAKAIANgIAIAAoAlwgC2ooAgAgBTYCAAUgDSABNgIAIAUhASAEIQgLDAALAAsDQCABKAIAIglFDQIgCCAJKAIEIgRNBEAgBCAIcCEECyAEIAVGBEAgCSEBDAELIARBAnQiCyAAKAJcaiINKAIABEAgASAJKAIANgIAIAkgACgCXCALaigCACgCADYCACAAKAJcIAtqKAIAIAk2AgAFIA0gATYCACAJIQEgBCEFCwwACwALIAAoAlwhASAAQQA2AlwgAQRAIAEQWgsgAEEANgJgCyAAKAJgIgEgAUEBayIFcUUEQCAFIAZxIQYMAQsgASAGSw0AIAYgAXAhBgsgACgCXCAGQQJ0aiIFKAIAIgQNAyACIBEoAgA2AgAgESACNgIAIAUgETYCACACKAIAIgVFDQUgBSgCBCEEIAEgAUEBayIFcQ0BIAQgBXEhBAwCCxAAIQIgA0HgAWoQjgYMEAsgASAESw0AIAQgAXAhBAsgACgCXCAEQQJ0aiEEDAELIAIgBCgCADYCAAsgBCACNgIACyAAIAAoAmhBAWo2AmgLQdSJC0EANgIAQfYAIANB4AFqIgEgAkEMaiAKIGgQqAJB1IkLKAIAIUlB1IkLQQA2AgAgSUEBRg0BQdSJC0EANgIAQeKEASABIBwgAygC/AIgAygCgAMgA0H8AmoQDEHUiQsoAgAhSkHUiQtBADYCACBKQQFGDQELIAwgB0EIaiIHRw0BDAILCxAAIQIMBwsgAygCtAEiCyADKAK4ASISRwRAA0ACQCAAKAJwIAAoAnQgCykCACJopyIEIGhCIIinIgEQpA0NACADIAE2AowEAkACQAJAAkACQAJAAkACQAJAIAAtALgBDQAgACgCACEBQdSJC0EANgIAQaoZIANB4AFqIgIgARADQdSJCygCACFLQdSJC0EANgIAIEtBAUYNBUHUiQtBADYCAEGrGSADQewDaiACEAIhBUHUiQsoAgAhTEHUiQtBADYCACBMQQFGDQEgAygC4AEiAQRAIAEQWgsgGSAFEOIJIAMoAoAEIgEEQANAIAEoAgAhTSABKAIMIgcEQCABIAc2AhAgBxBaCyABEFogTSIBDQALCyADKAL4AyEBIANBADYC+AMgAQRAIAEQWgsgBSgCACIBRQ0AIAMgATYC8AMgARBaC0HUiQtBADYCACADQeABaiAYIAQgAygCjAQiByBoQv////8PgyAHrUIghoQQwhFB1IkLKAIAIU5B1IkLQQA2AgAgTkEBRg0EAkAgACgChAEiCCAAKAKIASIJIAQgBxDhCSICRQ0AIAIoAhAiASACKAIUIgJGDQADQCABKAIAIQVB1IkLQQA2AgBB24QBIAAgBRADQdSJCygCACFPQdSJC0EANgIAIE9BAUYNByABQQRqIgEgAkcNAAsgACgCiAEhCSAAKAKEASEICyAIIAkgBCAHEOEJIgVFDQMgBSgCBCEHIAlpQQFLIgYNASAJQQFrIAdxIQcMAgsQACECIAMoAuABIgBFDRAgABBaDBALIAcgCUkNACAHIAlwIQcLIAggB0ECdGoiCCgCACEBA0AgASICKAIAIgEgBUcNAAsCQCACIBBHBEAgAigCBCEBAkAgBkUEQCABIAlBAWtxIQEMAQsgASAJSQ0AIAEgCXAhAQsgASAHRg0BCyAFKAIAIgEEQCABKAIEIQECQCAGRQRAIAEgCUEBa3EhAQwBCyABIAlJDQAgASAJcCEBCyABIAdGDQELIAhBADYCAAsCQCAFKAIAIgFFBEBBACEBDAELIAEoAgQhCAJAIAZFBEAgCCAJQQFrcSEIDAELIAggCUkNACAIIAlwIQgLIAcgCEYNACAAKAKEASAIQQJ0aiACNgIAIAUoAgAhAQsgAiABNgIAIAVBADYCACAAIAAoApABQQFrNgKQASAFKAIQIgEEQCAFIAE2AhQgARBaCyAFEFoLIANBADYCvAIgA0IANwK0AiADQQA2AuABIAAoAqgBIQEgACgCpAEhAkHUiQtBADYCAEGuGSACIAEgBBAEIQVB1IkLKAIAIVBB1IkLQQA2AgAgUEEBRg0CAkAgAygC4AEiAUEJTQRAIAMgAUEBajYC4AEgFSABQQN0aiIBQQE2AgQgASAFNgIADAELIAMoArgCIgEgAygCvAJHBEAgAUEBNgIEIAEgBTYCACADIAFBCGo2ArgCDAELAkACQAJAIAEgAygCtAIiBmsiAkEDdSIIQQFqIgdBgICAgAJPBEBB1IkLQQA2AgBB5IQBEAkMAQtB/////wEgAkECdSIEIAcgBCAHSxsgAkH4////B08bIgRFBEBBACEHDAMLIARBgICAgAJJDQFB1IkLQQA2AgBBAxAJC0HUiQsoAgAhUUHUiQtBADYCACBRQQFHDQ4MBQtB1IkLQQA2AgBBBCAEQQN0EAYhB0HUiQsoAgAhUkHUiQtBADYCACBSQQFGDQQLIAcgCEEDdGoiAkEBNgIEIAIgBTYCACACQQhqIQUgASAGRwRAA0AgAkEIayICIAFBCGsiASkCADcCACABIAZHDQALIAMoArQCIQELIAMgByAEQQN0ajYCvAIgAyAFNgK4AiADIAI2ArQCIAFFDQAgARBaC0EAIAMoAuABIgRrIAMoArgCIgEgAygCtAIiAmtBA3VGDQMDQAJ/IAEgAkYEQCAERQRAQdSJC0EANgIAQQ1B3sQFQbCUA0HaAEH9+wIQBUHUiQsoAgAhU0HUiQtBADYCACBTQQFHDQ8MBgsgAyAEQQFrIgQ2AuABIAIhASAVIARBA3RqDAELIAMgAUEIayIBNgK4AiABCyIFKAIAIgYoAgAiDSAGKAIEIhZHBEAgBSgCBEEBaiEOA0AgDSgCACEMQdSJC0EANgIAIANB/AJqIBggDCADKAKMBCIJIAytIAmtQiCGhBDCEUHUiQsoAgAhAUHUiQtBADYCAAJAIAFBAUcEQAJAIAAoAoQBIAAoAogBIgQgDCAJEOEJIgFFDQAgASgCECIGIAEoAhQiE0YNAANAIAYoAgAhCgJAIAAoAkAiASAAKAJEIgRJBEAgASAKNgIAIAAgAUEEajYCQAwBCwJAAkACQCABIAAoAjwiBWtBAnUiB0EBaiICQYCAgIAETwRAQdSJC0EANgIAQQ4QCQwBC0H/////AyAEIAVrIgRBAXUiCCACIAIgCEkbIARB/P///wdPGyIERQRAQQAhCAwDCyAEQYCAgIAESQ0BQdSJC0EANgIAQQMQCQtB1IkLKAIAIVRB1IkLQQA2AgAgVEEBRw0VDAwLQdSJC0EANgIAQQQgBEECdBAGIQhB1IkLKAIAIVVB1IkLQQA2AgAgVUEBRg0LCyAIIAdBAnRqIgIgCjYCACACQQRqIQcgASAFRwRAA0AgAkEEayICIAFBBGsiASgCADYCACABIAVHDQALIAAoAjwhAQsgACAIIARBAnRqNgJEIAAgBzYCQCAAIAI2AjwgAUUNACABEFoLIAZBBGoiBiATRw0ACyAAKAKIASEECyAMQZXTx94FbCIBQRh2IAFzQZXTx94FbEGomb30fXNBldPH3gVsIgFBDXYgAXNBldPH3gVsIgFBD3YgAXMhBQJAIARFDQAgACgChAEiEwJ/IAVBBnQgBUECdmogCWpBx4yijgZrIAVzIgIgBEEBa3EgBGlBAUsiBkUNABogAiACIARJDQAaIAIgBHALIgdBAnRqKAIAIgFFDQAgASgCACIBRQ0AIARBAWshCAJAIAZFBEADQAJAIAIgASgCBCIKRwRAIAggCnEgB0YNAQwFCyABKAIIIAxHDQAgASgCDCAJRg0DCyABKAIAIgENAAwDCwALA0ACQCACIAEoAgQiCkcEQCAEIApNBH8gCiAEcAUgCgsgB0YNAQwECyABKAIIIAxHDQAgASgCDCAJRg0CCyABKAIAIgENAAsMAQsCQCAGRQRAIAIgCHEhAgwBCyACIARJDQAgAiAEcCECCyATIAJBAnRqIgooAgAhCQNAIAkiBygCACIJIAFHDQALAkAgByAQRwRAIAcoAgQhCQJAIAZFBEAgCCAJcSEJDAELIAQgCUsNACAJIARwIQkLIAIgCUYNAQsgASgCACIJBEAgCSgCBCEJAkAgBkUEQCAIIAlxIQkMAQsgBCAJSw0AIAkgBHAhCQsgAiAJRg0BCyAKQQA2AgALAkAgASgCACIJRQRAQQAhCQwBCyAJKAIEIQoCQCAGRQRAIAggCnEhCgwBCyAEIApLDQAgCiAEcCEKCyACIApGDQAgACgChAEgCkECdGogBzYCACABKAIAIQkLIAcgCTYCACABQQA2AgAgACAAKAKQAUEBazYCkAEgASgCECICBEAgASACNgIUIAIQWgsgARBaC0GQsQstAABBAXFFBEBBhLELQgA3AgBBkLELQQE6AABBjLELQQA2AgALQYSxCyEEAkAgDEF8cUEMRg0AIAxBD00EQEHUiQtBADYCAEENQZGhBkGkkwNBMUGI0gEQBUHUiQsoAgAhVkHUiQtBADYCACBWQQFHDRIMCQsgACgCqAEiAkUNAAJAIAJpQQFLIgZFBEAgAkEBayAFcSEHDAELIAIgBSIHSw0AIAUgAnAhBwsgACgCpAEgB0ECdGooAgAiAUUNACABKAIAIgFFDQACQCAGRQRAIAJBAWshAgNAAkAgASgCBCIGIAVHBEAgAiAGcSAHRg0BDAULIAEoAgggDEYNAwsgASgCACIBDQALDAILA0ACQCABKAIEIgYgBUcEQCACIAZNBH8gBiACcAUgBgsgB0YNAQwECyABKAIIIAxGDQILIAEoAgAiAQ0ACwwBCyABQQxqIQQLIAQoAgAgBCgCBEYNASADKALgASIBQQlNBEAgAyABQQFqNgLgASAVIAFBA3RqIgEgDjYCBCABIAQ2AgAMAgsgAygCuAIiASADKAK8AkcEQCABIA42AgQgASAENgIAIAMgAUEIajYCuAIMAgsCQAJAAkAgASADKAK0AiIGayICQQN1IghBAWoiBUGAgICAAk8EQEHUiQtBADYCAEHkhAEQCQwBC0H/////ASACQQJ1IgcgBSAFIAdJGyACQfj///8HTxsiBUUEQEEAIQcMAwsgBUGAgICAAkkNAUHUiQtBADYCAEEDEAkLQdSJCygCACFXQdSJC0EANgIAIFdBAUcNEgwJC0HUiQtBADYCAEEEIAVBA3QQBiEHQdSJCygCACFYQdSJC0EANgIAIFhBAUYNCAsgByAIQQN0aiICIA42AgQgAiAENgIAIAJBCGohBCABIAZHBEADQCACQQhrIgIgAUEIayIBKQIANwIAIAEgBkcNAAsgAygCtAIhAQsgAyAHIAVBA3RqNgK8AiADIAQ2ArgCIAMgAjYCtAIgAUUNASABEFoMAQsMBgsgDUEEaiINIBZHDQALIAMoArQCIQIgAygC4AEhBCADKAK4AiEBC0EAIARrIAEgAmtBA3VHDQALDAMLEAAhAgwMCxAAIQIMCwsQACECIAMoArQCIgBFDQogABBaDAoLIAJFDQAgAyACNgK4AiACEFoLIAtBCGoiCyASRw0ACwsCQAJAAkACQAJAIAAoAgQtACVFDQAgDygCBCIBQQFGDQAgDygCAEHAAEYNAQtB1IkLQQA2AgBBmhYgA0HcAmogDxACIQVB1IkLKAIAIVlB1IkLQQA2AgAgWUEBRg0GQQAhASAFKAIAIAMoAvQCIAMoAvACIgJrQQJ1aiIHRQ0CA0ACQCABIAUoAgAgAygC9AIgAygC8AIiAmtBAnVqIgRPBEBB1IkLQQA2AgBBDUGbjwZB/5cDQcoAQYUyEAVB1IkLKAIAIVpB1IkLQQA2AgAgWkEBRw0LDAELIB0gBCABQX9zaiIEQQJ0IgZqIAIgBmpBEGsgBEEESRsoAgAoAgAhAkHUiQtBADYCAEHbhAEgACACEANB1IkLKAIAIVtB1IkLQQA2AgAgW0EBRwRAIAFBAWoiASAHRg0EDAILCwsQACECIAMoAvACIgBFDQogAyAANgL0AiAAEFoMCgtBq4kEIQJB5AchBEG4swIhBkG//wUhCSABQQdJDQYgASgCBEEBRw0GIA8oAgxFDQIgASgCCCILQZXTx94FbCIBQRh2IAFzQZXTx94FbEGomb30fXNBldPH3gVsIgFBDXYgAXNBldPH3gVsIgFBD3YgAXMiDEEGdCAMQQJ2akHHjKKOBmshDiALrSFpQgAhaANAIA8oAgggaKciAkECdGooAgAhCQJAAkACQCAAKAJwIAAoAnQgCyACEKQNDQAgACgCACEFIAMgACgCBCIBLQAgOgDgASADIAEtACE6AOEBIAMgASgCUDYC5AEgAyABKAJUIgE2AugBIAEEQCABIAEoAgRBAWo2AgQLIAMgBTYC7AEgBSgChAEhASADQgA3AvwBIANBADsB9AEgAyABNgLwASADQgA3AogCIAMgIzYC+AEgA0IANwKUAiADICI2AoQCIANCADcCoAIgAyAhNgKQAiADQgA3AsQCIAMgIDYCnAIgA0IANwG2AiADQgA3ArACIANCADcCqAIgA0IANwLQAiADIB82AsACIAMgHjYCzAIgAyAJNgKMBCADQgA3AvwCIANBADYC5AMgA0IANwLcAyADQgA3AtQDQdSJC0EANgIAIAMgA0HgAWo2AugDQccAIANB/AJqIANBjARqEANB1IkLKAIAIQFB1IkLQQA2AgACQAJAAkAgAUEBRwRAIAMoAtQDIgEEQCADIAE2AtgDIAEQWgsgAygCtAIEQEHUiQtBADYCAEENQZHJBUH2igNBxAhBptEAEAVB1IkLKAIAIVxB1IkLQQA2AgAgXEEBRw0QEAAhAgwCCyADLQDgAQRAIANBADoAsQIMAwsgAy0AsQJFDQJBASEGIANBAToAsAIMAwsQACECIAMoAtQDIgBFDQAgAyAANgLYAyAAEFoLIANB4AFqEN8BGgwPC0EBIQYgAy0AsAINACADKAKMAg0AIAMtALwCDQAgAygCpAINACADLQCpAg0AIAMtAKsCDQAgAy0ArQINACADLQCvAg0AIAMtALICDQAgAy0A9QENACADLQCzAg0AIAMoAtQCDQAgAy0A9AENACADKALIAg0AIAMtAL0CQQBHIQYLIAMoAtACEGAgAygCxAIQYCADKAKgAhBgIAMoApQCEGAgAygCiAIQbyADKAL8ARBvAkAgAygC6AEiAUUNACABIAEoAgQiB0EBazYCBCAHDQAgASABKAIAKAIIEQEAIAEQdQsgBg0AIANBADYChAMgA0IANwL8AiADIAk2AowEIANCADcC4AEgA0EANgLIAiADQgA3AsACIANCADcCuAJB1IkLQQA2AgAgAyADQfwCajYCzAJB4AYgA0HgAWogA0GMBGoQA0HUiQsoAgAhAUHUiQtBADYCAAJAAkACfwJAIAFBAUcEQCADKAK4AiIBBEAgAyABNgK8AiABEFoLIAMoAoADIQUgAygC/AIiAQRAIAMgATYCgAMgARBaCyABIAVHDQUgAiAOaiAMcyEIIAAoAogBIgJFDQMgAmlBAUsiAQ0BIAggAkEBa3EMAgsQACECIAMoArgCIgAEQCADIAA2ArwCIAAQWgsgAygC/AIiAEUNESADIAA2AoADIAAQWgwRCyAIIAIgCEsNABogCCACcAshByAAKAKEASAHQQJ0aigCACIFRQ0AIAUoAgAiBEUNACABRQRAIAJBAWshAQNAAkAgCCAEKAIEIgVHBEAgASAFcSAHRg0BDAQLIAQoAgggC0cNACBoIAQ1AgxRDQQLIAQoAgAiBA0ACwwBCwNAAkAgCCAEKAIEIgFHBEAgASACTwR/IAEgAnAFIAELIAdGDQEMAwsgBCgCCCALRw0AIGggBDUCDFENAwsgBCgCACIEDQALC0HUiQtBADYCAEEEQRwQBiEEQdSJCygCACFdQdSJC0EANgIAIF1BAUYNAiADIBA2AuQBIAMgBDYC4AEgBEEANgIYIARCADcCECAEIGhCIIYgaYQ3AgggA0EBOgDoASAEQQA2AgAgBCAINgIEIAAqApQBIWogACgCkAFBAWqzIWsCQAJAAkACQAJAAkACQAJAIAJFDQAgaiACs5Qga10NACAHIQgMAQtBAiEFAkAgAiACQQFrcUEARyACQQNJciACQQF0ciIBAn8gayBqlY0iakMAAIBPXSBqQwAAAABgcQRAIGqpDAELQQALIgcgASAHSxsiAUEBRg0AIAEgAUEBa3FFBEAgASEFDAELQdSJC0EANgIAQRUgARAGIQVB1IkLKAIAIV5B1IkLQQA2AgAgXkEBRg0CIAAoAogBIQILAkACQCACIAVPBEAgAiAFTQ0CIAJBA0khBwJ/IAAoApABsyAAKgKUAZWNImpDAACAT10gakMAAAAAYHEEQCBqqQwBC0EACyEBAkACQCAHDQAgAmlBAUsNACABQQFBICABQQFrZ2t0IAFBAkkbIQYMAQtB1IkLQQA2AgBBFSABEAYhBkHUiQsoAgAhX0HUiQtBADYCACBfQQFGDQULIAIgBSAGIAUgBksbIgVNBEAgACgCiAEhAgwDCyAFRQ0BCyAFQYCAgIAETwRAQdSJC0EANgIAQQMQCUHUiQsoAgAhYEHUiQtBADYCACBgQQFHDRYMBAtB1IkLQQA2AgBBBCAFQQJ0EAYhAkHUiQsoAgAhYUHUiQtBADYCACBhQQFGDQMgACgChAEhASAAIAI2AoQBIAEEQCABEFoLIAAgBTYCiAFBACEHQQAhAiAFQQRPBEAgBUH8////A3EhBgNAIAJBAnQiASAAKAKEAWpBADYCACAAKAKEASABakEANgIEIAAoAoQBIAFqQQA2AgggACgChAEgAWpBADYCDCACQQRqIgIgBkcNAAsLIAVBA3EiAQRAA0AgACgChAEgAkECdGpBADYCACACQQFqIQIgB0EBaiIHIAFHDQALCyAQKAIAIgJFBEAgBSECDAILIAIoAgQhCgJAIAUgBUEBayIHcQRAIAUgCk0EQCAKIAVwIQoLIAAoAoQBIApBAnRqIBA2AgAgAigCACIHDQEgBSECDAMLIAAoAoQBIAcgCnEiCkECdGogEDYCACACKAIAIgZFBEAgBSECDAMLA0ACQCAKIAYoAgQgB3EiAUYEQCAGIQIMAQsgAUECdCINIAAoAoQBaiISKAIABEAgAiAGKAIANgIAIAYgACgChAEgDWooAgAoAgA2AgAgACgChAEgDWooAgAgBjYCAAwBCyASIAI2AgAgBiECIAEhCgsgAigCACIGDQALIAUhAgwCCwNAIAUgBygCBCIGTQRAIAYgBXAhBgsCQCAGIApGBEAgByECDAELIAZBAnQiASAAKAKEAWoiDSgCAEUEQCANIAI2AgAgByECIAYhCgwBCyACIAcoAgA2AgAgByAAKAKEASABaigCACgCADYCACAAKAKEASABaigCACAHNgIACyACKAIAIgcNAAsgBSECDAELIAAoAoQBIQEgAEEANgKEASABBEAgARBaC0EAIQIgAEEANgKIAQsgAiACQQFrIgFxRQRAIAEgCHEhCAwBCyACIAhLDQAgCCACcCEICyAAKAKEASAIQQJ0aiIHKAIAIgYNAyAEIBAoAgA2AgAgECAENgIAIAcgEDYCACAEKAIAIgFFDQUgASgCBCEGIAIgAkEBayIHcQ0BIAYgB3EhBgwCCxAAIQIgA0HgAWoQvQgMEwsgAiAGSw0AIAYgAnAhBgsgACgChAEgBkECdGohBgwBCyAEIAYoAgA2AgALIAYgBDYCAAsgACAAKAKQAUEBajYCkAELAkAgBCgCFCICIAQoAhhHBEAgAiAJNgIAIAQgAkEEajYCFAwBCyACIAQoAhAiB2siAUECdSIGQQFqIgVBgICAgARPBEBB1IkLQQA2AgBBDhAJQdSJCygCACFiQdSJC0EANgIAIGJBAUcNDQwOCwJAQf////8DIAFBAXUiCCAFIAUgCEkbIAFB/P///wdPGyIBRQRAQQAhBQwBCyABQYCAgIAETwRAQdSJC0EANgIAQQMQCUHUiQsoAgAhY0HUiQtBADYCACBjQQFHDQ4MDwtB1IkLQQA2AgBBBCABQQJ0EAYhBUHUiQsoAgAhZEHUiQtBADYCACBkQQFGDQMLIAUgBkECdGoiBiAJNgIAIAUgAUECdGohCCAGQQRqIQEgAiAHRwRAA0AgBkEEayIGIAJBBGsiAigCADYCACACIAdHDQALIAQoAhAhAgsgBCAINgIYIAQgATYCFCAEIAY2AhAgAkUNACACEFoLQdSJC0EANgIAQeWEASAAIAkQA0HUiQsoAgAhZUHUiQtBADYCACBlQQFGDQEMAgtB1IkLQQA2AgBB24QBIAAgCRADQdSJCygCACFmQdSJC0EANgIAIGZBAUcNAQsQACECDAsLIGhCAXwiaCAPNQIMVA0ACwwCCyADKALwAiECCyACRQ0AIAMgAjYC9AIgAhBaCyADKAK0ASIBBEAgAyABNgK4ASABEFoLIAMoAqgBIgEEQCADIAE2AqwBIAEQWgsgAygCnAEiAQRAIAMgATYCoAEgARBaCyADKAKQASIBBEAgAyABNgKUASABEFoLIAMoAnwiAQRAIAMgATYCgAEgARBaCyAAKAJAIgEgACgCPEcNAAsLIANBkARqJAAgFyAbRw8LEAAhAgwDC0HUiQtBADYCAEENIAkgBiAEIAIQBUHUiQsoAgAhZ0HUiQtBADYCACBnQQFGDQELAAsQACECCyADQSRqEKMNIAIQBwALzQMCCH8BfiMAQRBrIgUkAEEUEFwiAiABKQIAIgo3AgggAiABKAIINgIQIAJBADYCACACIAIoAgwgCqciA0EGdCADQQJ2ampBx4yijgZrIANzNgIEQdSJC0EANgIAQd2EASAFQQhqIABBCGogAhAIQdSJCygCACEDQdSJC0EANgIAAkACQAJAAkACQCADQQFHBEAgBS0ADEUNASAAKAI0IgIgACgCOCIETw0CIAIgASkCADcCACACIAEoAgg2AgggACACQQxqNgI0DAMLEAAhCSACEFogCRAHAAsgAhBaDAELIAIgACgCMCIGa0EMbSIIQQFqIgNB1qrVqgFPDQFB1arVqgEgBCAGa0EMbSIEQQF0IgcgAyADIAdJGyAEQarVqtUATxsiBAR/IARB1qrVqgFPDQMgBEEMbBBcBUEACyIHIAhBDGxqIgMgASkCADcCACADIAEoAgg2AgggA0EMaiEBIAIgBkcEQANAIANBDGsiAyACQQxrIgIpAgA3AgAgAyACKAIINgIIIAIgBkcNAAsgACgCMCECCyAAIAcgBEEMbGo2AjggACABNgI0IAAgAzYCMCACRQ0AIAIQWgsgBUEQaiQADwsQZAALEGoAC/RMAlR/AX4jAEHwA2siBCQAIAQgATYCuAMCQCABKAJgRQ0AAkAgASgC1AEgASgC2AEgASkCYBDkAiIBKAIMDQAgASgCMCgCAEEWRw0AIAQoArgDIgFCADcCYAwBCyAEKAK4AyEBQQwQXCIGQQA2AgAgBiABKQJgNwIEIAZBDGohBQsCQAJAAkACQAJAAkACQCAALQAURQRAIAUhAgwBCyABKAIMIgggASgCECIMRgRAIAUhAgwBCyAFIQIDQAJAIAgoAgAiAygCDA0AIAIgBUkEQCACQQA2AgAgAiADKQIANwIEIAJBDGohAgwBCwJAAkAgAiAGayIKQQxtIgtBAWoiB0HWqtWqAU8EQEHUiQtBADYCAEHYhAEQCUHUiQsoAgAhD0HUiQtBADYCACAPQQFGDQEMBgtB1arVqgEgBSAGa0EMbSIFQQF0IgkgByAHIAlJGyAFQarVqtUATxsiBUHWqtWqAUkNAUHUiQtBADYCAEEDEAlB1IkLKAIAIRBB1IkLQQA2AgAgEEEBRw0FCxAAIQIMCQtB1IkLQQA2AgBBBCAFQQxsIgkQBiEHQdSJCygCACERQdSJC0EANgIAIBFBAUYNBCAHIApqIgVBADYCACAHIAtBDGxqIAMpAgA3AgQgBSEDIAIgBkcEQANAIANBDGsiAyACQQxrIgIpAgA3AgAgAyACKAIINgIIIAIgBkcNAAsLIAVBDGohAiAHIAlqIQUgBgRAIAYQWgsgAyEGCyAIQQRqIgggDEcNAAsLAkAgASgCACIIIAEoAgQiDEYNAANAAkACQAJAAkACQAJAAkAgCCgCACIDKAIQDgUAAwQBAgULIAIgBUkEQCACQQA2AgAgAiADKQIINwIEIAJBDGohAgwFCwJAAkAgAiAGayIKQQxtIgtBAWoiB0HWqtWqAU8EQEHUiQtBADYCAEHYhAEQCQwBC0HVqtWqASAFIAZrQQxtIgVBAXQiCSAHIAcgCUkbIAVBqtWq1QBPGyIFQdaq1aoBSQ0BQdSJC0EANgIAQQMQCQtB1IkLKAIAIRJB1IkLQQA2AgAgEkEBRw0JEAAhAgwOC0HUiQtBADYCAEEEIAVBDGwiCRAGIQdB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRwRAIAcgCmoiBUEANgIAIAcgC0EMbGogAykCCDcCBCAFIQMgAiAGRwRAA0AgA0EMayIDIAJBDGsiAikCADcCACADIAIoAgg2AgggAiAGRw0ACwsgBUEMaiECIAcgCWohBSAGBEAgBhBaCyADIQYMBQsQACECDA0LIAIgBUkEQCACQQM2AgAgAiADKQIINwIEIAJBDGohAgwECwJAAkAgAiAGayIKQQxtIgtBAWoiB0HWqtWqAU8EQEHUiQtBADYCAEHYhAEQCQwBC0HVqtWqASAFIAZrQQxtIgVBAXQiCSAHIAcgCUkbIAVBqtWq1QBPGyIFQdaq1aoBSQ0BQdSJC0EANgIAQQMQCQtB1IkLKAIAIRRB1IkLQQA2AgAgFEEBRw0IEAAhAgwNC0HUiQtBADYCAEEEIAVBDGwiCRAGIQdB1IkLKAIAIRVB1IkLQQA2AgAgFUEBRwRAIAcgCmoiBUEDNgIAIAcgC0EMbGogAykCCDcCBCAFIQMgAiAGRwRAA0AgA0EMayIDIAJBDGsiAikCADcCACADIAIoAgg2AgggAiAGRw0ACwsgBUEMaiECIAcgCWohBSAGRQRAIAMhBgwFCyAGEFogAyEGDAQLEAAhAgwMCyACIAVJBEAgAkEENgIAIAIgAykCCDcCBCACQQxqIQIMAwsCQAJAIAIgBmsiCkEMbSILQQFqIgdB1qrVqgFPBEBB1IkLQQA2AgBB2IQBEAkMAQtB1arVqgEgBSAGa0EMbSIFQQF0IgkgByAHIAlJGyAFQarVqtUATxsiBUHWqtWqAUkNAUHUiQtBADYCAEEDEAkLQdSJCygCACEWQdSJC0EANgIAIBZBAUcNBxAAIQIMDAtB1IkLQQA2AgBBBCAFQQxsIgkQBiEHQdSJCygCACEXQdSJC0EANgIAIBdBAUcEQCAHIApqIgVBBDYCACAHIAtBDGxqIAMpAgg3AgQgBSEDIAIgBkcEQANAIANBDGsiAyACQQxrIgIpAgA3AgAgAyACKAIINgIIIAIgBkcNAAsLIAVBDGohAiAHIAlqIQUgBkUEQCADIQYMBAsgBhBaIAMhBgwDCxAAIQIMCwsgAiAFSQRAIAJBATYCACACIAMpAgg3AgQgAkEMaiECDAILAkACQCACIAZrIgpBDG0iC0EBaiIHQdaq1aoBTwRAQdSJC0EANgIAQdiEARAJDAELQdWq1aoBIAUgBmtBDG0iBUEBdCIJIAcgByAJSRsgBUGq1arVAE8bIgVB1qrVqgFJDQFB1IkLQQA2AgBBAxAJC0HUiQsoAgAhGEHUiQtBADYCACAYQQFHDQYQACECDAsLQdSJC0EANgIAQQQgBUEMbCIJEAYhB0HUiQsoAgAhGUHUiQtBADYCACAZQQFHBEAgByAKaiIFQQE2AgAgByALQQxsaiADKQIINwIEIAUhAyACIAZHBEADQCADQQxrIgMgAkEMayICKQIANwIAIAMgAigCCDYCCCACIAZHDQALCyAFQQxqIQIgByAJaiEFIAZFBEAgAyEGDAMLIAYQWiADIQYMAgsQACECDAoLIAIgBUkEQCACQQI2AgAgAiADKQIINwIEIAJBDGohAgwBCwJAAkAgAiAGayIKQQxtIgtBAWoiB0HWqtWqAU8EQEHUiQtBADYCAEHYhAEQCQwBC0HVqtWqASAFIAZrQQxtIgVBAXQiCSAHIAcgCUkbIAVBqtWq1QBPGyIFQdaq1aoBSQ0BQdSJC0EANgIAQQMQCQtB1IkLKAIAIRpB1IkLQQA2AgAgGkEBRw0FEAAhAgwKC0HUiQtBADYCAEEEIAVBDGwiCRAGIQdB1IkLKAIAIRtB1IkLQQA2AgAgG0EBRg0BIAcgCmoiBUECNgIAIAcgC0EMbGogAykCCDcCBCAFIQMgAiAGRwRAA0AgA0EMayIDIAJBDGsiAikCADcCACADIAIoAgg2AgggAiAGRw0ACwsgBUEMaiECIAcgCWohBSAGBEAgBhBaCyADIQYLIAwgCEEEaiIIRw0BDAILCxAAIQIMBgsgASgCSCIIIAEoAkwiB0cEQANAAkAgCCgCACIDLQAUDQAgBCgCuAMiASgCgAIhDCABKAL8ASEBIAMpAgwhVkHUiQtBADYCAEGODCABIAwgVhDxASEdQdSJCygCACEcQdSJC0EANgIAIBxBAUYNBSAdKAIMRQ0AIAMoAhwgAygCIEYNACACIAVJBEAgAkEFNgIAIAIgAykCADcCBCACQQxqIQIMAQsCQAJAIAIgBmsiDEEMbSIKQQFqIgFB1qrVqgFPBEBB1IkLQQA2AgBB2IQBEAkMAQtB1arVqgEgBSAGa0EMbSIFQQF0IgsgASABIAtJGyAFQarVqtUATxsiAUHWqtWqAUkNAUHUiQtBADYCAEEDEAkLQdSJCygCACEeQdSJC0EANgIAIB5BAUcNBBAAIQIMCQtB1IkLQQA2AgBBBCABQQxsIgsQBiEFQdSJCygCACEfQdSJC0EANgIAIB9BAUYNBSAFIAxqIgFBBTYCACAFIApBDGxqIAMpAgA3AgQgASEDIAIgBkcEQANAIANBDGsiAyACQQxrIgIpAgA3AgAgAyACKAIINgIIIAIgBkcNAAsLIAFBDGohAiAFIAtqIQUgBgRAIAYQWgsgAyEGCyAIQQRqIgggB0cNAAsgBCgCuAMhAQsCQCABKAIwIgggASgCNCIHRg0AA0ACQCAIKAIAIgMoAgxFDQAgBCgCuAMiASgC7AEhDCABKALoASEBIAMpAgwhVkHUiQtBADYCAEH6ACABIAwgVhDxASEhQdSJCygCACEgQdSJC0EANgIAICBBAUYNBiAhKAIMRQ0AIAMoAhwgAygCIEYNACACIAVJBEAgAkEGNgIAIAIgAykCADcCBCACQQxqIQIMAQsCQAJAIAIgBmsiDEEMbSIKQQFqIgFB1qrVqgFPBEBB1IkLQQA2AgBB2IQBEAkMAQtB1arVqgEgBSAGa0EMbSIFQQF0IgsgASABIAtJGyAFQarVqtUATxsiAUHWqtWqAUkNAUHUiQtBADYCAEEDEAkLQdSJCygCACEiQdSJC0EANgIAICJBAUcNBBAAIQIMCQtB1IkLQQA2AgBBBCABQQxsIgsQBiEFQdSJCygCACEjQdSJC0EANgIAICNBAUYNBiAFIAxqIgFBBjYCACAFIApBDGxqIAMpAgA3AgQgASEDIAIgBkcEQANAIANBDGsiAyACQQxrIgIpAgA3AgAgAyACKAIINgIIIAIgBkcNAAsLIAFBDGohAiAFIAtqIQUgBgRAIAYQWgsgAyEGCyAIQQRqIgggB0cNAAsgBCgCuAMiASgCMCIMIAEoAjQiC0YNAANAAkAgDCgCACIHKAIYIgNBB0kNACADKAIEQQFHDQACQCADKAIIIgNBD00EQCADQQFGDQEMAgsgAygCEA0BC0EAIQggBygCHCIDIAcoAiBGDQADQAJAIAMgCEECdGooAgAiAygCAEErRw0AIAIgBUkEQCACQQA2AgAgAiADKQIINwIEIAJBDGohAgwBCwJAAkAgAiAGayIJQQxtIg5BAWoiCkHWqtWqAU8EQEHUiQtBADYCAEHYhAEQCQwBC0HVqtWqASAFIAZrQQxtIgVBAXQiDSAKIAogDUkbIAVBqtWq1QBPGyIFQdaq1aoBSQ0BQdSJC0EANgIAQQMQCQtB1IkLKAIAISRB1IkLQQA2AgAgJEEBRw0GEAAhAgwLC0HUiQtBADYCAEEEIAVBDGwiDRAGIQpB1IkLKAIAISVB1IkLQQA2AgAgJUEBRg0JIAkgCmoiBUEANgIAIAogDkEMbGogAykCCDcCBCAFIQMgAiAGRwRAA0AgA0EMayIDIAJBDGsiAikCADcCACADIAIoAgg2AgggAiAGRw0ACwsgBUEMaiECIAogDWohBSAGBEAgBhBaCyADIQYLIAhBAWoiCCAHKAIgIAcoAhwiA2tBAnVJDQALCyAMQQRqIgwgC0cNAAsLIAAoAgQhACAEQgA3AowCIARBgICA/AM2ApQCIARCADcCoAIgBEGAgID8AzYCqAIgBEIANwK0AiAEQgA3ArwCIARBxAJqIgxCADcCACAEQgA3AswCIARBgICA/AM2AtQCIARCADcC4AIgBEGAgID8AzYC6AIgBEIANwL0AiAEQgA3AoQCIAQgAEEYajYCgAIgBCABNgL8ASAEQgA3ApgCIARCADcCrAIgBEIANwLYAiAEQgA3AuwCIARBgICA/AM2AvwCIARCADcCiAMgBEEAOgC0AyAEQYCAgPwDNgKQAyAEQgA3AoADIARBADoAlAMCQCACIAZHBEAgBiEDA0BB1IkLQQA2AgAgBCADKAIINgJIIAQgAykCADcDQEHZhAEgBEH8AWogBEFAaxADQdSJCygCACEmQdSJC0EANgIAICZBAUYNAiADQQxqIgMgAkcNAAsLAkACQAJAAkACQAJAAkACQAJAAkACQAJAA0BB1IkLQQA2AgBB2oQBIARB/AFqIgEQBiEoQdSJCygCACEnQdSJC0EANgIAICdBAUYNDSAoDQAgBCgCsAIiAiAEKAKsAkYEQCAEQdyTCDYC4AFB1IkLQQA2AgAgBCAEQbgDajYC6AEgBCAEQeABaiIANgLwASAEIAE2AuQBIAQgATYCvANB6zkgBCgCuAMgABADQdSJCygCACEpQdSJC0EANgIAIClBAUYNBSAAIAQoAvABIgJHDQJBBCEDIAAhAgwDCwNAIAJBDGsiAygCCCEBIAMoAgAhAiADKAIEIQAgBCADNgKwAiAEKAKEAiAEKAKIAiACIAAQ1QNFBEBBsqEEIQJB/gIhA0G/iAIhBUGD4AUhCAwNCwJAAkACQAJAAkACQAJ/AkACQCACDgcABAMBBwUGCAsgBCgC/AEiAygC2AEhAiADKALUASEDQdSJC0EANgIAQagBIAMgAiAArSABrUIghoQQ8QEhAEHUiQsoAgAhKkHUiQtBADYCACAqQQFGDRYgACgCDA0GIABBMGoMAQsgBCgC/AEiAygCvAIhAiADKAK4AiEDQdSJC0EANgIAQYsCIAMgAiAArSABrUIghoQQ8QEhAEHUiQsoAgAhK0HUiQtBADYCACArQQFGDRUgACgCDA0FIABBIGoLKAIAIQBB1IkLQQA2AgBB24QBIARB/AFqIAAQA0HUiQsoAgAhLEHUiQtBADYCACAsQQFGDRQMBAsgBCgC/AEiASgCSCICIAEoAkwiA0YNAwNAAkAgAigCACIBLQAUDQAgASgCDCAARw0AIAEoAhwgASgCIEYNACAEQQU2AsgDIAQgASkCADcCzAMgBCAEKALQAzYCCEHUiQtBADYCACAEIAQpAsgDNwMAQdmEASAEQfwBaiAEEANB1IkLKAIAIS1B1IkLQQA2AgAgLUEBRg0VCyACQQRqIgIgA0cNAAsMAwsgAEUEQEG8oAEhAkH0ACEDQdORAyEFQdXFBiEIDBELIAQoAvwBIgEoAjAiAiABKAI0IgNGDQIDQAJAIAIoAgAiASgCDCAARw0AIAEoAhwgASgCIEYNACAEQQY2AsgDIAQgASkCADcCzAMgBCAEKALQAzYCGEHUiQtBADYCACAEIAQpAsgDNwMQQdmEASAEQfwBaiAEQRBqEANB1IkLKAIAIS5B1IkLQQA2AgAgLkEBRg0UCyACQQRqIgIgA0cNAAsMAgsgBCgC/AEiAygCqAIhAiADKAKkAiEDQdSJC0EANgIAQYsMIAMgAiAArSABrUIghoQQ8QEhAEHUiQsoAgAhL0HUiQtBADYCACAvQQFGDREgACgCGCIBRQ0BQdSJC0EANgIAQduEASAEQfwBaiIDIAEQA0HUiQsoAgAhMEHUiQtBADYCACAwQQFGDREgBEECNgLkAyAEIAApAgw3AugDIAQgBCgC7AM2AihB1IkLQQA2AgAgBCAEKQLkAzcDIEHZhAEgAyAEQSBqEANB1IkLKAIAITFB1IkLQQA2AgAgMUEBRw0BDBELIAQoAvwBIgMoApQCIQIgAygCkAIhA0HUiQtBADYCAEGZDCADIAIgAK0gAa1CIIaEEPEBIQBB1IkLKAIAITJB1IkLQQA2AgAgMkEBRg0QIAAoAhQiAQRAQdSJC0EANgIAQduEASAEQfwBaiIDIAEQA0HUiQsoAgAhM0HUiQtBADYCACAzQQFGDREgBEEBNgK8AyAEIAApAgw3AsADIAQgBCgCxAM2AjhB1IkLQQA2AgAgBCAEKQK8AzcDMEHZhAEgAyAEQTBqEANB1IkLKAIAITRB1IkLQQA2AgAgNEEBRg0RCyAAKAIcIgggACgCICIKRg0AA0AgCCgCACEHAkAgBCgCvAIiAiAEKALAAiIDSQRAIAIgBzYCACAEIAJBBGo2ArwCDAELIAIgBCgCuAIiAGtBAnUiC0EBaiIBQYCAgIAETwRAQdSJC0EANgIAQQ4QCQwSCwJAQf////8DIAMgAGsiA0EBdSIFIAEgASAFSRsgA0H8////B08bIgFFBEBBACEFDAELIAFBgICAgARPBEBB1IkLQQA2AgBBAxAJDBMLQdSJC0EANgIAQQQgAUECdBAGIQVB1IkLKAIAITVB1IkLQQA2AgAgNUEBRg0TCyAFIAtBAnRqIgMgBzYCACADQQRqIQcgACACRwRAA0AgA0EEayIDIAJBBGsiAigCADYCACAAIAJHDQALIAQoArgCIQILIAQgBSABQQJ0ajYCwAIgBCAHNgK8AiAEIAM2ArgCIAJFDQAgAhBaCyAIQQRqIgggCkcNAAsLIAQoArACIgIgBCgCrAJGDQIMAQsLC0HUiQtBADYCAEEUQevFBEG/iAJBtwMQCAwLC0EFIQMgAkUNAQsgAiACKAIAIANBAnRqKAIAEQEACyAEQYCUCDYCyAEgBCgCuAMhASAEIARByAFqIgM2AtgBIAQgBEG8A2o2AswBIAQgBEHIA2oiADYC2AMgAEGAlAg2AgAgACADKAIENgIEIAEoAsACIgJFDQEgAUG4AmohAwNAIAQgAigCEDYC5AMgBCgC2AMiAEUNAyAAKAIAKAIYITZB1IkLQQA2AgAgNiAAIARB5ANqEAIhAEHUiQsoAgAhN0HUiQtBADYCACA3QQFHBEAgAEUEQCACKAIAIgINAgwECyACKAIAITggBEHkA2ogAyACELYDIAQoAuQDIgIEQCACEFoLIDgiAg0BDAMLCwwDCxAAIQIgBCgC8AEiAyAEQeABaiIARw0DQQQhBSAAIQMMBAsCQAJAIAEoAhgiAyABKAIcIgBGDQADQCAEIAMoAgA2AuQDIAQoAtgDIgJFDQMgAigCACgCGCE5QdSJC0EANgIAIDkgAiAEQeQDahACITtB1IkLKAIAITpB1IkLQQA2AgAgOkEBRg0EIDsNASADQQRqIgMgAEcNAAsgACEDDAELIAAgA0YEQCAAIQMMAQsgA0EEaiICIABGDQADQCAEIAIoAgA2AuQDIAQoAtgDIgVFDQIgBSgCACgCGCE8QdSJC0EANgIAIDwgBSAEQeQDahACIT5B1IkLKAIAIT1B1IkLQQA2AgAgPUEBRg0DID5FBEAgAigCACEIIAJBADYCACADKAIAIQUgAyAINgIAIAUEQCAFEFoLIANBBGohAwsgAkEEaiICIABHDQALCyABKAIcIgIgA0cEQAJAIAIgAyACIANraiIIRgRAIAMhBQwBCyADIQUDQCAIKAIAIQcgCEEANgIAIAUoAgAhACAFIAc2AgAgAARAIAAQWgsgBUEEaiEFIAhBBGoiCCACRw0ACyABKAIcIQILIAMgBSADa2oiACACRwRAA0AgAkEEayICKAIAIQMgAkEANgIAIAMEQCADEFoLIAAgAkcNAAsLIAEgADYCHAsCQAJAIAQoAtgDIgIgBEHIA2oiAEYEQEEEIQMgACECDAELQQUhAyACRQ0BCyACIAIoAgAgA0ECdGooAgARAQALAkACQCAEKALYASICIARByAFqIgBGBEBBBCEDIAAhAgwBC0EFIQMgAkUNAQsgAiACKAIAIANBAnRqKAIAEQEACyAEQaSUCDYCsAFB1IkLQQA2AgAgBCAEQbABaiIANgLAASAEIARBvANqNgK0AUHchAEgBCgCuAMgABADQdSJCygCACEBQdSJC0EANgIAAkACQAJAAkAgAUEBRwRAAkACQCAAIAQoAsABIgJGBEBBBCEDIAAhAgwBC0EFIQMgAkUNAQsgAiACKAIAIANBAnRqKAIAEQEACyAEQciUCDYCmAFB1IkLQQA2AgAgBCAEQZgBaiIANgKoASAEIARBvANqNgKcAUHrAiAEKAK4AyAAEANB1IkLKAIAIT9B1IkLQQA2AgAgP0EBRg0BAkACQCAAIAQoAqgBIgJGBEBBBCEDIAAhAgwBC0EFIQMgAkUNAQsgAiACKAIAIANBAnRqKAIAEQEACyAEQeyUCDYCgAEgBCgCuAMhASAEIARBgAFqIgM2ApABIAQgBEG8A2o2AoQBIAQgBEHIA2oiADYC2AMgAEHslAg2AgAgACADKAIENgIEIAEoAvABIgJFDQIgAUHoAWohAwNAIAQgAigCEDYC5AMgBCgC2AMiAEUNBCAAKAIAKAIYIUBB1IkLQQA2AgAgQCAAIARB5ANqEAIhAEHUiQsoAgAhQUHUiQtBADYCACBBQQFHBEAgAEUEQCACKAIAIgINAgwFCyACKAIAIUIgBEHkA2ogAyACELYDIAQoAuQDIgIEQCACEFoLIEIiAg0BDAQLCwwECxAAIQIgBCgCwAEiAyAEQbABaiIARw0GQQQhBSAAIQMMBwsQACECIAQoAqgBIgMgBEGYAWoiAEcNBUEEIQUgACEDDAYLAkACQCABKAJUIgMgASgCWCIARg0AA0AgBCADKAIANgLkAyAEKALYAyICRQ0DIAIoAgAoAhghQ0HUiQtBADYCACBDIAIgBEHkA2oQAiFFQdSJCygCACFEQdSJC0EANgIAIERBAUYNBCBFDQEgA0EEaiIDIABHDQALIAAhAwwBCyAAIANGBEAgACEDDAELIANBBGoiAiAARg0AA0AgBCACKAIANgLkAyAEKALYAyIFRQ0CIAUoAgAoAhghRkHUiQtBADYCACBGIAUgBEHkA2oQAiFIQdSJCygCACFHQdSJC0EANgIAIEdBAUYNAyBIRQRAIAIoAgAhCCACQQA2AgAgAygCACEFIAMgCDYCACAFBEAgBRBaCyADQQRqIQMLIAJBBGoiAiAARw0ACwsgASgCWCICIANHBEACQCACIAMgAiADa2oiCEYEQCADIQUMAQsgAyEFA0AgCCgCACEHIAhBADYCACAFKAIAIQAgBSAHNgIAIAAEQCAAEFoLIAVBBGohBSAIQQRqIgggAkcNAAsgASgCWCECCyADIAUgA2tqIgAgAkcEQANAIAJBBGsiAigCACEDIAJBADYCACADBEAgAxBaCyAAIAJHDQALCyABIAA2AlgLAkACQCAEKALYAyICIARByANqIgBGBEBBBCEDIAAhAgwBC0EFIQMgAkUNAQsgAiACKAIAIANBAnRqKAIAEQEACwJAAkAgBCgCkAEiAiAEQYABaiIARgRAQQQhAyAAIQIMAQtBBSEDIAJFDQELIAIgAigCACADQQJ0aigCABEBAAsgBEGQlQg2AmhB1IkLQQA2AgAgBCAEQegAaiIANgJ4IAQgBEG8A2o2AmxB6gIgBCgCuAMgABADQdSJCygCACEBQdSJC0EANgIAAkACQAJAIAFBAUcEQAJAAkAgACAEKAJ4IgJGBEBBBCEDIAAhAgwBC0EFIQMgAkUNAQsgAiACKAIAIANBAnRqKAIAEQEACyAEQbSVCDYCUCAEKAK4AyEBIAQgBEHQAGoiAzYCYCAEIARBvANqNgJUIAQgBEHIA2oiADYC2AMgAEG0lQg2AgAgACADKAIENgIEIAEoApgCIgJFDQEgAUGQAmohAwNAIAQgAigCEDYC5AMgBCgC2AMiAEUNAyAAKAIAKAIYIUlB1IkLQQA2AgAgSSAAIARB5ANqEAIhAEHUiQsoAgAhSkHUiQtBADYCACBKQQFHBEAgAEUEQCACKAIAIgINAgwECyACKAIAIUsgBEHkA2ogAyACELYDIAQoAuQDIgIEQCACEFoLIEsiAg0BDAMLCwwDCxAAIQIgBCgCeCIDIARB6ABqIgBHDQdBBCEFIAAhAwwICwJAAkAgASgCMCIDIAEoAjQiAEYNAANAIAQgAygCADYC5AMgBCgC2AMiAkUNAyACKAIAKAIYIUxB1IkLQQA2AgAgTCACIARB5ANqEAIhTkHUiQsoAgAhTUHUiQtBADYCACBNQQFGDQQgTg0BIANBBGoiAyAARw0ACyAAIQMMAQsgACADRgRAIAAhAwwBCyADQQRqIgIgAEYNAANAIAQgAigCADYC5AMgBCgC2AMiBUUNAiAFKAIAKAIYIU9B1IkLQQA2AgAgTyAFIARB5ANqEAIhUUHUiQsoAgAhUEHUiQtBADYCACBQQQFGDQMgUUUEQCACKAIAIQggAkEANgIAIAMoAgAhBSADIAg2AgAgBQRAIAUoAhwiCARAIAUgCDYCICAIEFoLIAUQWgsgA0EEaiEDCyACQQRqIgIgAEcNAAsLIAEoAjQiAiADRwRAAkAgAiADIAIgA2tqIghGBEAgAyEFDAELIAMhBQNAIAgoAgAhByAIQQA2AgAgBSgCACEAIAUgBzYCACAABEAgACgCHCIHBEAgACAHNgIgIAcQWgsgABBaCyAFQQRqIQUgCEEEaiIIIAJHDQALIAEoAjQhAgsgAyAFIANraiIDIAJHBEADQCACQQRrIgIoAgAhACACQQA2AgAgAARAIAAoAhwiBQRAIAAgBTYCICAFEFoLIAAQWgsgAiADRw0ACwsgASADNgI0CwJAAkAgBCgC2AMiAiAEQcgDaiIARgRAQQQhAyAAIQIMAQtBBSEDIAJFDQELIAIgAigCACADQQJ0aigCABEBAAsCQAJAIAQoAmAiAiAEQdAAaiIARgRAQQQhAyAAIQIMAQtBBSEDIAJFDQELIAIgAigCACADQQJ0aigCABEBAAsgBEH8AWoQpw0gBgRAIAYQWgsgBEHwA2okAA8LQdSJC0EANgIAQcUAEAlB1IkLKAIAIVJB1IkLQQA2AgAgUkEBRw0LCxAAIQICQAJAIAQoAtgDIgMgBEHIA2oiAEYEQEEEIQUgACEDDAELQQUhBSADRQ0BCyADIAMoAgAgBUECdGooAgARAQALIAQoAmAiAyAEQdAAaiIARw0EQQQhBSAAIQMMBQtB1IkLQQA2AgBBxQAQCUHUiQsoAgAhU0HUiQtBADYCACBTQQFHDQkLEAAhAgJAAkAgBCgC2AMiAyAEQcgDaiIARgRAQQQhBSAAIQMMAQtBBSEFIANFDQELIAMgAygCACAFQQJ0aigCABEBAAsgBCgCkAEiAyAEQYABaiIARw0CQQQhBSAAIQMMAwtB1IkLQQA2AgBBxQAQCUHUiQsoAgAhVEHUiQtBADYCACBUQQFHDQcLEAAhAgJAAkAgBCgC2AMiAyAEQcgDaiIARgRAQQQhBSAAIQMMAQtBBSEFIANFDQELIAMgAygCACAFQQJ0aigCABEBAAsgBCgC2AEiAyAEQcgBaiIARw0AQQQhBSAAIQMMAQtBBSEFIANFDQELIAMgAygCACAFQQJ0aigCABEBAAsgBEH8AWoQpw0MCAtB1IkLQQA2AgBBDSAIIAUgAyACEAULQdSJCygCACFVQdSJC0EANgIAIFVBAUcNAQsQACECIARBlANqEKYNIARBgANqEJIKIARB7AJqEKIBIARB2AJqEJQGIAwQogEgBCgCuAIiAARAIAQgADYCvAIgABBaCyAEKAKsAiIABEAgBCAANgKwAiAAEFoLIARBmAJqEKIBIARBhAJqEKIBDAULAAsQACECDAMLEAAhAgwCCxAAIQIMAQsQACECCyAGBEAgBhBaCyACEAcAC0oBAX8jAEEQayICJAAgASgCACIBKAIAQdwARwRAQfDtBUHFmANBlAZBjd4AEAEACyACIAE2AgwgASAAIAJBDGoQnwIgAkEQaiQAC0oBAX8jAEEQayICJAAgASgCACIBKAIAQdsARwRAQfDtBUHFmANBlAZBjd4AEAEACyACIAE2AgwgASAAIAJBDGoQnwIgAkEQaiQAC0oBAX8jAEEQayICJAAgASgCACIBKAIAQdoARwRAQfDtBUHFmANBlAZBjd4AEAEACyACIAE2AgwgASAAIAJBDGoQnwIgAkEQaiQAC7wBAQF/IwBBEGsiBCQAAkAgAwRAIAQgAykACDcDCCAEIAMpAAA3AwAgAEGoAWpBIEEEEF0iACACNgIMIAAgATYCCCAAQh83AgAgACAEKQMANwAQIAAgBCkDCDcAGCABRQ0BIAJFDQEgAEEGNgIEAkAgASgCBEEBRwRAIAIoAgRBAUcNAQsgAEEBNgIECyAEQRBqJAAgAA8LQafxBEGntwJB1QtBqKMEEAEAC0G/8wBBpKQCQZkDQbLDAxABAAtKAQF/IwBBEGsiAiQAIAEoAgAiASgCAEHZAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgAiABNgIMIAEgACACQQxqEJ8CIAJBEGokAAtKAQF/IwBBEGsiAiQAIAEoAgAiASgCAEHYAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgAiABNgIMIAEgACACQQxqEJ8CIAJBEGokAAtKAQF/IwBBEGsiAiQAIAEoAgAiASgCAEHXAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgAiABNgIMIAEgACACQQxqEJ8CIAJBEGokAAtKAQF/IwBBEGsiAiQAIAEoAgAiASgCAEHWAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgAiABNgIMIAEgACACQQxqEJ8CIAJBEGokAAtKAQF/IwBBEGsiAiQAIAEoAgAiASgCAEHVAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgAiABNgIMIAEgACACQQxqEJ8CIAJBEGokAAtKAQF/IwBBEGsiAiQAIAEoAgAiASgCAEHUAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgAiABNgIMIAEgACACQQxqEJ8CIAJBEGokAAtKAQF/IwBBEGsiAiQAIAEoAgAiASgCAEHTAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgAiABNgIMIAEgACACQQxqEJ8CIAJBEGokAAtKAQF/IwBBEGsiAiQAIAEoAgAiASgCAEHSAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgAiABNgIMIAEgACACQQxqEJ8CIAJBEGokAAtKAQF/IwBBEGsiAiQAIAEoAgAiASgCAEHRAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgAiABNgIMIAEgACACQQxqEJ8CIAJBEGokAAtKAQF/IwBBEGsiAiQAIAEoAgAiASgCAEHQAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgAiABNgIMIAEgACACQQxqEJ8CIAJBEGokAAtBAAJAIAAoAgBBIUYEQCABRQ0BIAAgATYCDA8LQZ6nBkGntwJBkRpBgeoEEAEAC0HM9gFBp7cCQZIaQYHqBBABAAtKAQF/IwBBEGsiAiQAIAEoAgAiASgCAEHPAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgAiABNgIMIAEgACACQQxqEJ8CIAJBEGokAAtKAQF/IwBBEGsiAiQAIAEoAgAiASgCAEHOAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgAiABNgIMIAEgACACQQxqEJ8CIAJBEGokAAtKAQF/IwBBEGsiAiQAIAEoAgAiASgCAEHNAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgAiABNgIMIAEgACACQQxqEJ8CIAJBEGokAAtKAQF/IwBBEGsiAiQAIAEoAgAiASgCAEHMAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgAiABNgIMIAEgACACQQxqEJ8CIAJBEGokAAtKAQF/IwBBEGsiAiQAIAEoAgAiASgCAEHLAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgAiABNgIMIAEgACACQQxqEJ8CIAJBEGokAAtKAQF/IwBBEGsiAiQAIAEoAgAiASgCAEHKAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgAiABNgIMIAEgACACQQxqEJ8CIAJBEGokAAtKAQF/IwBBEGsiAiQAIAEoAgAiASgCAEHJAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgAiABNgIMIAEgACACQQxqEJ8CIAJBEGokAAtKAQF/IwBBEGsiAiQAIAEoAgAiASgCAEHIAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgAiABNgIMIAEgACACQQxqEJ8CIAJBEGokAAtKAQF/IwBBEGsiAiQAIAEoAgAiASgCAEHHAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgAiABNgIMIAEgACACQQxqEJ8CIAJBEGokAAtKAQF/IwBBEGsiAiQAIAEoAgAiASgCAEHGAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgAiABNgIMIAEgACACQQxqEJ8CIAJBEGokAAtBAAJAIAAoAgBBIUYEQCABRQ0BIAAgATYCEA8LQZ6nBkGntwJBnRpB+PUAEAEAC0Ha9AFBp7cCQZ4aQfj1ABABAAtKAQF/IwBBEGsiAiQAIAEoAgAiASgCAEHFAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgAiABNgIMIAEgACACQQxqEJ8CIAJBEGokAAtKAQF/IwBBEGsiAiQAIAEoAgAiASgCAEHEAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgAiABNgIMIAEgACACQQxqEJ8CIAJBEGokAAtKAQF/IwBBEGsiAiQAIAEoAgAiASgCAEHDAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgAiABNgIMIAEgACACQQxqEJ8CIAJBEGokAAtKAQF/IwBBEGsiAiQAIAEoAgAiASgCAEHCAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgAiABNgIMIAEgACACQQxqEJ8CIAJBEGokAAtKAQF/IwBBEGsiAiQAIAEoAgAiASgCAEHBAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgAiABNgIMIAEgACACQQxqEJ8CIAJBEGokAAtKAQF/IwBBEGsiAiQAIAEoAgAiASgCAEHAAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgAiABNgIMIAEgACACQQxqEJ8CIAJBEGokAAtJAQF/IwBBEGsiAiQAIAEoAgAiASgCAEE/RwRAQfDtBUHFmANBlAZBjd4AEAEACyACIAE2AgwgASAAIAJBDGoQnwIgAkEQaiQAC0kBAX8jAEEQayICJAAgASgCACIBKAIAQT5HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAIgATYCDCABIAAgAkEMahCfAiACQRBqJAALSQEBfyMAQRBrIgIkACABKAIAIgEoAgBBPUcEQEHw7QVBxZgDQZQGQY3eABABAAsgAiABNgIMIAEgACACQQxqEJ8CIAJBEGokAAtJAQF/IwBBEGsiAiQAIAEoAgAiASgCAEE8RwRAQfDtBUHFmANBlAZBjd4AEAEACyACIAE2AgwgASAAIAJBDGoQnwIgAkEQaiQACyYAIAAoAgBBIUcEQEGepwZBp7cCQYYaQZzBAhABAAsgACABNgIIC0kBAX8jAEEQayICJAAgASgCACIBKAIAQTtHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAIgATYCDCABIAAgAkEMahCfAiACQRBqJAALSQEBfyMAQRBrIgIkACABKAIAIgEoAgBBOkcEQEHw7QVBxZgDQZQGQY3eABABAAsgAiABNgIMIAEgACACQQxqEJ8CIAJBEGokAAtJAQF/IwBBEGsiAiQAIAEoAgAiASgCAEE5RwRAQfDtBUHFmANBlAZBjd4AEAEACyACIAE2AgwgASAAIAJBDGoQnwIgAkEQaiQAC0kBAX8jAEEQayICJAAgASgCACIBKAIAQThHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAIgATYCDCABIAAgAkEMahCfAiACQRBqJAALSQEBfyMAQRBrIgIkACABKAIAIgEoAgBBKEcEQEHw7QVBxZgDQZQGQY3eABABAAsgAiABNgIMIAEgACACQQxqEJ8CIAJBEGokAAtJAQF/IwBBEGsiAiQAIAEoAgAiASgCAEEXRwRAQfDtBUHFmANBlAZBjd4AEAEACyACIAE2AgwgASAAIAJBDGoQnwIgAkEQaiQAC0kBAX8jAEEQayICJAAgASgCACIBKAIAQRZHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAIgATYCDCABIAAgAkEMahCfAiACQRBqJAALSQEBfyMAQRBrIgIkACABKAIAIgEoAgBBN0cEQEHw7QVBxZgDQZQGQY3eABABAAsgAiABNgIMIAEgACACQQxqEJ8CIAJBEGokAAtJAQF/IwBBEGsiAiQAIAEoAgAiASgCAEE2RwRAQfDtBUHFmANBlAZBjd4AEAEACyACIAE2AgwgASAAIAJBDGoQnwIgAkEQaiQAC0kBAX8jAEEQayICJAAgASgCACIBKAIAQTVHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAIgATYCDCABIAAgAkEMahCfAiACQRBqJAALJAAgACgCAEEhRwRAQZ6nBkGntwJBixpB7eoEEAEACyAAKAIMC0kBAX8jAEEQayICJAAgASgCACIBKAIAQTRHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAIgATYCDCABIAAgAkEMahCfAiACQRBqJAALUwEBfyMAQRBrIgIkACABKAIAIgEoAgBBM0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACABQQhqEOQJIAIgATYCDCABIAAgAkEMahCfAiACQRBqJAALSQEBfyMAQRBrIgIkACABKAIAIgEoAgBBMkcEQEHw7QVBxZgDQZQGQY3eABABAAsgAiABNgIMIAEgACACQQxqEJ8CIAJBEGokAAtJAQF/IwBBEGsiAiQAIAEoAgAiASgCAEExRwRAQfDtBUHFmANBlAZBjd4AEAEACyACIAE2AgwgASAAIAJBDGoQnwIgAkEQaiQAC0kBAX8jAEEQayICJAAgASgCACIBKAIAQTBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAIgATYCDCABIAAgAkEMahCfAiACQRBqJAALSQEBfyMAQRBrIgIkACABKAIAIgEoAgBBL0cEQEHw7QVBxZgDQZQGQY3eABABAAsgAiABNgIMIAEgACACQQxqEJ8CIAJBEGokAAtJAQF/IwBBEGsiAiQAIAEoAgAiASgCAEEuRwRAQfDtBUHFmANBlAZBjd4AEAEACyACIAE2AgwgASAAIAJBDGoQnwIgAkEQaiQAC0kBAX8jAEEQayICJAAgASgCACIBKAIAQS1HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAIgATYCDCABIAAgAkEMahCfAiACQRBqJAALSQEBfyMAQRBrIgIkACABKAIAIgEoAgBBLEcEQEHw7QVBxZgDQZQGQY3eABABAAsgAiABNgIMIAEgACACQQxqEJ8CIAJBEGokAAtJAQF/IwBBEGsiAiQAIAEoAgAiASgCAEErRwRAQfDtBUHFmANBlAZBjd4AEAEACyACIAE2AgwgASAAIAJBDGoQnwIgAkEQaiQACyQAIAAoAgBBIUcEQEGepwZBp7cCQZcaQZL2ABABAAsgACgCEAuDDQIXfwF+IwBB0AFrIgUkAEEoEFwiBEIANwIAIARCADcCICAEQgA3AhggBEIANwIQIARCADcCCCAFQQE2AjRB1IkLQQA2AgAgBUKBgICAEDcCLCAFQQA6AChBB0HYnQsgBUEoaiIGEAIhB0HUiQsoAgAhDkHUiQtBADYCACAOQQFGBEAQACEPIAYQdyAEEFogDxAHAAsgBCAHNgIYIARBADYCJCAEQgA3AhwgBSAENgLMASAFIAEQbDYCLCAFIAE2AihB1IkLQQA2AgAgBSAFKQIoNwMYQQYgBUHAAWogBUEYahADQdSJCygCACEBQdSJC0EANgIAAkACQCABQQFHBEAgBSkDwAEhGyAEQQE6AAggBCAbNwIAAkAgA0UNACAAQagBaiEMAkACQAJAA0AgBSACIAtBAnRqIggoAgAiARBsNgIsIAUgATYCKEHUiQtBADYCACAFIAUpAig3AxBBBiAFQbgBaiAFQRBqEANB1IkLKAIAIRBB1IkLQQA2AgAgEEEBRg0CAkACQCAAKALYASIBRQ0AIAAoAtQBAn8gBSgCuAEiBiABQQFrcSABaUEBSyIHRQ0AGiAGIAEgBksNABogBiABcAsiCUECdGooAgAiBEUNACAEKAIAIgRFDQACQCAHRQRAIAFBAWshAQNAAkAgBiAEKAIEIgdHBEAgASAHcSAJRg0BDAULIAQoAgggBkYNAwsgBCgCACIEDQALDAILA0ACQCAGIAQoAgQiB0cEQCABIAdNBH8gByABcAUgBwsgCUYNAQwECyAEKAIIIAZGDQILIAQoAgAiBA0ACwwBCyAEKAIQIgENAQtB1IkLQQA2AgBBCCAFQShqEAYhAEHUiQsoAgAhAUHUiQtBADYCAAJAIAFBAUcEQEHUiQtBADYCAEEJIABBCGpByLoGQRIQBBpB1IkLKAIAIRFB1IkLQQA2AgAgEUEBRg0BIAgoAgAhAUHUiQtBADYCAEEKIAAgARACIQFB1IkLKAIAIRJB1IkLQQA2AgAgEkEBRg0BQdSJC0EANgIAQQsgARAGIRRB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRg0BIBQQcQALEAAhBAwJCxAAGiAAEHEACyAFKALMASEGIAUgCCgCACIEEGw2AiwgBSAENgIoQdSJC0EANgIAIAUgBSkCKDcDCEEGIAVBIGogBUEIahADQdSJCygCACEEQdSJC0EANgIAAkAgBEEBRg0AIAEoAhwhAUHUiQtBADYCACAFKQMgIRtBDCAMQRBBBBAEIQdB1IkLKAIAIRVB1IkLQQA2AgAgFUEBRg0AIAcgGzcCCCAHQis3AgACQCABQRBJDQAgAS0AAEUNAEHUiQtBADYCAEENQf7QBkG4swJB6AVBuIwEEAVB1IkLKAIAIRZB1IkLQQA2AgAgFkEBRg0DDAULIAVBADYCNCAFIAE2AjAgBUEAOgAoQdSJC0EANgIAIAVBATYCLEEHQdidCyAFQShqIgEQAiEEQdSJCygCACEXQdSJC0EANgIAIBdBAUYEQBAAIQQgARB3DAkLIAcgBDYCBAJAIAYoAiAiBCAGKAIkIglJBEAgBCAHNgIAIAYgBEEEajYCIAwBCwJAAkACQCAEIAYoAhwiCGtBAnUiDUEBaiIBQYCAgIAETwRAQdSJC0EANgIAQQ4QCQwBC0H/////AyAJIAhrIglBAXUiCiABIAEgCkkbIAlB/P///wdPGyIJRQRAQQAhCgwDCyAJQYCAgIAESQ0BQdSJC0EANgIAQQMQCQtB1IkLKAIAIRhB1IkLQQA2AgAgGEEBRw0HEAAhBAwLC0HUiQtBADYCAEEEIAlBAnQQBiEKQdSJCygCACEZQdSJC0EANgIAIBlBAUYNAgsgCiANQQJ0aiIBIAc2AgAgAUEEaiEHIAQgCEcEQANAIAFBBGsiASAEQQRrIgQoAgA2AgAgBCAIRw0ACyAGKAIcIQQLIAYgCiAJQQJ0ajYCJCAGIAc2AiAgBiABNgIcIARFDQAgBBBaCyALQQFqIgsgA0cNAQwFCwsQACEEDAYLEAAhBAwFCxAAIQQMBAsAC0HUiQtBADYCAEEPIAAgBUHMAWoQAiECQdSJCygCACEaQdSJC0EANgIAIBpBAUcNAQsQACEEDAELIAUoAswBIgAEQCAAKAIcIgEEQCAAIAE2AiAgARBaCyAAEFoLIAVB0AFqJAAgAg8LIAVBzAFqEKgDIAQQBwALSQEBfyMAQRBrIgIkACABKAIAIgEoAgBBKkcEQEHw7QVBxZgDQZQGQY3eABABAAsgAiABNgIMIAEgACACQQxqEJ8CIAJBEGokAAtJAQF/IwBBEGsiAiQAIAEoAgAiASgCAEEpRwRAQfDtBUHFmANBlAZBjd4AEAEACyACIAE2AgwgASAAIAJBDGoQnwIgAkEQaiQAC0kBAX8jAEEQayICJAAgASgCACIBKAIAQRVHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAIgATYCDCABIAAgAkEMahCfAiACQRBqJAALSQEBfyMAQRBrIgIkACABKAIAIgEoAgBBFEcEQEHw7QVBxZgDQZQGQY3eABABAAsgAiABNgIMIAEgACACQQxqEJ8CIAJBEGokAAtJAQF/IwBBEGsiAiQAIAEoAgAiASgCAEETRwRAQfDtBUHFmANBlAZBjd4AEAEACyACIAE2AgwgASAAIAJBDGoQnwIgAkEQaiQAC0kBAX8jAEEQayICJAAgASgCACIBKAIAQRJHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAIgATYCDCABIAAgAkEMahCfAiACQRBqJAALSQEBfyMAQRBrIgIkACABKAIAIgEoAgBBEUcEQEHw7QVBxZgDQZQGQY3eABABAAsgAiABNgIMIAEgACACQQxqEJ8CIAJBEGokAAtJAQF/IwBBEGsiAiQAIAEoAgAiASgCAEEQRwRAQfDtBUHFmANBlAZBjd4AEAEACyACIAE2AgwgASAAIAJBDGoQnwIgAkEQaiQAC0kBAX8jAEEQayICJAAgASgCACIBKAIAQQ9HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAIgATYCDCABIAAgAkEMahCfAiACQRBqJAALSQEBfyMAQRBrIgIkACABKAIAIgEoAgBBDkcEQEHw7QVBxZgDQZQGQY3eABABAAsgAiABNgIMIAEgACACQQxqEJ8CIAJBEGokAAskACAAKAIAQSFHBEBBnqcGQae3AkGBGkHGxAIQAQALIAAoAggLSQEBfyMAQRBrIgIkACABKAIAIgEoAgBBJ0cEQEHw7QVBxZgDQZQGQY3eABABAAsgAiABNgIMIAEgACACQQxqEJ8CIAJBEGokAAtJAQF/IwBBEGsiAiQAIAEoAgAiASgCAEEmRwRAQfDtBUHFmANBlAZBjd4AEAEACyACIAE2AgwgASAAIAJBDGoQnwIgAkEQaiQAC0kBAX8jAEEQayICJAAgASgCACIBKAIAQSVHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAIgATYCDCABIAAgAkEMahCfAiACQRBqJAALSQEBfyMAQRBrIgIkACABKAIAIgEoAgBBJEcEQEHw7QVBxZgDQZQGQY3eABABAAsgAiABNgIMIAEgACACQQxqEJ8CIAJBEGokAAtJAQF/IwBBEGsiAiQAIAEoAgAiASgCAEEjRwRAQfDtBUHFmANBlAZBjd4AEAEACyACIAE2AgwgASAAIAJBDGoQnwIgAkEQaiQAC0kBAX8jAEEQayICJAAgASgCACIBKAIAQSJHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAIgATYCDCABIAAgAkEMahCfAiACQRBqJAALSQEBfyMAQRBrIgIkACABKAIAIgEoAgBBIUcEQEHw7QVBxZgDQZQGQY3eABABAAsgAiABNgIMIAEgACACQQxqEJ8CIAJBEGokAAtJAQF/IwBBEGsiAiQAIAEoAgAiASgCAEEgRwRAQfDtBUHFmANBlAZBjd4AEAEACyACIAE2AgwgASAAIAJBDGoQnwIgAkEQaiQAC0kBAX8jAEEQayICJAAgASgCACIBKAIAQR9HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAIgATYCDCABIAAgAkEMahCfAiACQRBqJAALSQEBfyMAQRBrIgIkACABKAIAIgEoAgBBHkcEQEHw7QVBxZgDQZQGQY3eABABAAsgAiABNgIMIAEgACACQQxqEJ8CIAJBEGokAAtyACAAQagBakEUQQQQXSIAIAM2AhAgACACNgIMIAAgATYCCCAAQiE3AgACQCACRQ0AIANFDQAgAEEGNgIEAkAgAigCBEEBRwRAIAMoAgRBAUcNAQsgAEEBNgIECyAADwtB6/UAQaSkAkHHA0GywwMQAQALSQEBfyMAQRBrIgIkACABKAIAIgEoAgBBHUcEQEHw7QVBxZgDQZQGQY3eABABAAsgAiABNgIMIAEgACACQQxqEJ8CIAJBEGokAAtJAQF/IwBBEGsiAiQAIAEoAgAiASgCAEEcRwRAQfDtBUHFmANBlAZBjd4AEAEACyACIAE2AgwgASAAIAJBDGoQnwIgAkEQaiQAC0kBAX8jAEEQayICJAAgASgCACIBKAIAQRtHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAIgATYCDCABIAAgAkEMahCfAiACQRBqJAALSQEBfyMAQRBrIgIkACABKAIAIgEoAgBBGkcEQEHw7QVBxZgDQZQGQY3eABABAAsgAiABNgIMIAEgACACQQxqEJ8CIAJBEGokAAtJAQF/IwBBEGsiAiQAIAEoAgAiASgCAEEZRwRAQfDtBUHFmANBlAZBjd4AEAEACyACIAE2AgwgASAAIAJBDGoQnwIgAkEQaiQAC0kBAX8jAEEQayICJAAgASgCACIBKAIAQRhHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAIgATYCDCABIAAgAkEMahCfAiACQRBqJAALSQEBfyMAQRBrIgIkACABKAIAIgEoAgBBDUcEQEHw7QVBxZgDQZQGQY3eABABAAsgAiABNgIMIAEgACACQQxqEJ8CIAJBEGokAAtJAQF/IwBBEGsiAiQAIAEoAgAiASgCAEEMRwRAQfDtBUHFmANBlAZBjd4AEAEACyACIAE2AgwgASAAIAJBDGoQnwIgAkEQaiQAC0kBAX8jAEEQayICJAAgASgCACIBKAIAQQtHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAIgATYCDCABIAAgAkEMahCfAiACQRBqJAALSQEBfyMAQRBrIgIkACABKAIAIgEoAgBBCkcEQEHw7QVBxZgDQZQGQY3eABABAAsgAiABNgIMIAEgACACQQxqEJ8CIAJBEGokAAtBAAJAIAAoAgBBHkYEQCABRQ0BIAAgATYCDA8LQZyzBkGntwJBjhlB0+oEEAEAC0HM9gFBp7cCQY8ZQdPqBBABAAtJAQF/IwBBEGsiAiQAIAEoAgAiASgCAEEJRwRAQfDtBUHFmANBlAZBjd4AEAEACyACIAE2AgwgASAAIAJBDGoQnwIgAkEQaiQAC0kBAX8jAEEQayICJAAgASgCACIBKAIAQQhHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAIgATYCDCABIAAgAkEMahCfAiACQRBqJAALSQEBfyMAQRBrIgIkACABKAIAIgEoAgBBB0cEQEHw7QVBxZgDQZQGQY3eABABAAsgAiABNgIMIAEgACACQQxqEJ8CIAJBEGokAAtJAQF/IwBBEGsiAiQAIAEoAgAiASgCAEEGRwRAQfDtBUHFmANBlAZBjd4AEAEACyACIAE2AgwgASAAIAJBDGoQnwIgAkEQaiQAC0kBAX8jAEEQayICJAAgASgCACIBKAIAQQVHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAIgATYCDCABIAAgAkEMahCfAiACQRBqJAALSQEBfyMAQRBrIgIkACABKAIAIgEoAgBBBEcEQEHw7QVBxZgDQZQGQY3eABABAAsgAiABNgIMIAEgACACQQxqEJ8CIAJBEGokAAtWAQF/IAEoAgAiASgCAEEDRgRAIAAgAUEIahDkCQJAIAEoAggNACABKAIQIgIoAgQgASgCBEcNACAAQRRqIAIQeQsPC0Hw7QVBxZgDQZQGQY3eABABAAtJAQF/IwBBEGsiAiQAIAEoAgAiASgCAEECRwRAQfDtBUHFmANBlAZBjd4AEAEACyACIAE2AgwgASAAIAJBDGoQnwIgAkEQaiQAC94CAgd/AX4jAEEwayICJAAgASgCACIBKAIAQQFGBEAgAUEIaiEFAkAgASgCCEUNACABKAIUQQFHDQAgASgCECgCACIDKAIAQQFHDQAgAygCCEUNACADKAIEIAEoAgRHDQAgAkEgaiAAQYABaiAFKQIAIAUQ5gUgAigCICIEKAIYIgEgBEEcaiIGRwRAA0AgASgCECEIIAMpAgghCSACIAUpAgA3AxAgAiAJNwMYIAIgAkEvaiIHNgIIIAIgBzYCKCACQQA6AC8gAiACQRhqNgIkIAIgAkEQajYCICACIAIpAiA3AwAgCCACEKgNAkAgASgCBCIEBEADQCAEIgEoAgAiBA0ADAILAAsDQCABIAEoAggiASgCAEcNAAsLIAEgBkcNAAsLIAMgAygCBEEBQQAQ5gEgAEEUaiADEHkLIAAgBRDkCSACQTBqJAAPC0Hw7QVBxZgDQZQGQY3eABABAAszAQF/QYwBEFwiAEEAQYAB/AsAIABBhAFqIgFCADcCACAAQfySCDYCACAAIAE2AoABIAALQQACQCAAKAIAQR5GBEAgAUUNASAAIAE2AhQPC0GcswZBp7cCQaQZQebSAxABAAtB7fUBQae3AkGlGUHm0gMQAQALbAACQCAAKAIEBEAgACACNgJ4IAAgATYCfCAAQRRqIAJBMGoQ1AYgAEGAAWpB+LELKQMAEP8HIAAoAogBDQEgAEIANwJ4DwtB6PoFQbqLA0GcBEHu0wIQAQALQYH2BUHKlwJB4gBB/tICEAEAC74iAQ5/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAIgIoAgAOXgABAgMEBQYHCAkKCwwNHh8gISIjJCU1Ng4PEBESExQVFhcYGRobHB03JicoKSorLC0uLzAxMjM0ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXABdC0GY/QNB5bMDQeoBEGIACyAAQRRqQfyDASABEFggAigCAEEBRw1cIAIoAhQiAUEATA1bIABBGGohAwNAIAFBAWsiACACKAIUTw1eIAIoAhAgAEECdGoiBCgCAEUNXyADQfuDASAEEFsgAUEBSyEGIAAhASAGDQALDFsLIABBFGoiA0H9gwEgARBYIAIoAgBBAkcNWyACKAIQBEAgAEEYakH7gwEgAkEQahBbCyADQfuDASACQQxqEFggA0H7gwEgAkEIahBYDwsgAEEUaiIAQf6DASABEFggAigCAEEDRw1aDGALIABBFGpB/4MBIAEQWCACKAIAQQRHDVkgAigCFARAIABBGGpB+4MBIAJBFGoQWwsgAigCEEUNWCAAQRhqQfuDASACQRBqEFsPCyAAQRRqIgNBgIQBIAEQWCACKAIAQQVHDVggA0H7gwEgAkEkahBYIAIoAiBFDVcgAEEYakH7gwEgAkEgahBbDwsgAEEUakGBhAEgARBYIAIoAgBBBkcNVyACKAIMIgFBAEwNViAAQRhqIQMDQCABQQFrIgAgAigCDE8NWSACKAIIIABBAnRqIgQoAgBFDVogA0H7gwEgBBBbIAFBAUshByAAIQEgBw0ACwxWCyAAQRRqIgNBgoQBIAEQWCACKAIAQQdHDVYgA0H7gwEgAkEcahBYIAIoAhAiAUEATA1VIABBGGohAwNAIAFBAWsiACACKAIQTw1YIAIoAgwgAEECdGoiBCgCAEUNWSADQfuDASAEEFsgAUEBSyEIIAAhASAIDQALDFULIABBFGpBg4QBIAEQWCACKAIAQQhGDVQMVQsgAEEUaiIAQYSEASABEFggAigCAEEJRw1UDF0LIABBFGpBhYQBIAEQWCACKAIAQQpGDVIMUwsgAEEUaiIAQYaEASABEFggAigCAEELRw1SDFgLIABBFGoiAEGHhAEgARBYIAIoAgBBDEcNUQxcCyAAQRRqIgBBiIQBIAEQWCACKAIAQQ1HDVAMWgsgAEEUaiIAQYmEASABEFggAigCAEEYRw1PDFsLIABBFGoiAEGKhAEgARBYIAIoAgBBGUcNTiAAQfuDASACQSBqEFgMWgsgAEEUaiIAQYuEASABEFggAigCAEEaRw1NDFELIABBFGoiAEGMhAEgARBYIAIoAgBBG0cNTAxRCyAAQRRqQY2EASABEFggAigCAEEcRg1KDEsLIABBFGoiAEGOhAEgARBYIAIoAgBBHUcNSgxTCyAAQRRqIgBBj4QBIAEQWCACKAIAQR5HDUkgAEH7gwEgAkEUahBYDFILIABBFGoiAEGQhAEgARBYIAIoAgBBH0cNSAxXCyAAQRRqIgBBkYQBIAEQWCACKAIAQSBHDUcMTgsgAEEUaiIAQZKEASABEFggAigCAEEhRw1GDE4LIABBFGoiAEGThAEgARBYIAIoAgBBIkcNRSAAQfuDASACQSBqEFgPCyAAQRRqIgBBlIQBIAEQWCACKAIAQSNHDUQMTgsgAEEUaiIAQZWEASABEFggAigCAEEkRw1DDEcLIABBFGpBloQBIAEQWCACKAIAQSVGDUEMQgsgAEEUaiIAQZeEASABEFggAigCAEEmRw1BDE8LIABBFGoiAEGYhAEgARBYIAIoAgBBJ0cNQAxOCyAAQRRqQZmEASABEFggAigCAEEORg0+DD8LIABBFGoiAEGahAEgARBYIAIoAgBBD0cNPgxHCyAAQRRqIgBBm4QBIAEQWCACKAIAQRBHDT0MRQsgAEEUaiIAQZyEASABEFggAigCAEERRw08DEoLIABBFGoiAEGdhAEgARBYIAIoAgBBEkcNOwxLCyAAQRRqQZ6EASABEFggAigCAEETRw06IAIoAghFDTkMSwsgAEEUakGfhAEgARBYIAIoAgBBFEYNOAw5CyAAQRRqIgBBoIQBIAEQWCACKAIAQRVHDTgMSAsgAEEUakGhhAEgARBYIAIoAgBBKUYNNgw3CyAAQRRqIgBBooQBIAEQWCACKAIAQSpHDTYMRgsgAEEUakGjhAEgARBYIAIoAgBBK0YNNAw1CyAAQRRqIgBBpIQBIAEQWCACKAIAQSxHDTQMQwsgAEEUaiIAQaWEASABEFggAigCAEEtRw0zDDkLIABBFGoiAEGmhAEgARBYIAIoAgBBLkcNMgw3CyAAQRRqQaeEASABEFggAigCAEEvRg0wDDELIABBFGoiAEGohAEgARBYIAIoAgBBMEcNMAw1CyAAQRRqIgBBqYQBIAEQWCACKAIAQTFHDS8MMwsgAEEUaiIAQaqEASABEFggAigCAEEyRw0uDDwLIABBFGoiA0GrhAEgARBYIAIoAgBBM0cNLSACKAIoIgFBAEoEQCAAQRhqIQQDQCABQQFrIgAgAigCKE8NMCACKAIkIABBAnRqIgUoAgBFDTEgBEH7gwEgBRBbIAFBAUshCSAAIQEgCQ0ACwsgA0H7gwEgAkEQahBYDwsgAEEUaiIAQayEASABEFggAigCAEE0RgRADD0LDCwLIABBFGpBrYQBIAEQWCACKAIAQTVHDSsgAigCFCIBQQBMDSogAEEYaiEDA0AgAUEBayIAIAIoAhRPDS0gAigCECAAQQJ0aiIEKAIARQ0uIANB+4MBIAQQWyABQQFLIQogACEBIAoNAAsMKgsgAEEUakGuhAEgARBYIAIoAgBBNkYNKQwqCyAAQRRqIgBBr4QBIAEQWCACKAIAQTdHDSkMOQsgAEEUakGwhAEgARBYIAIoAgBBFkYNJwwoCyAAQRRqQbGEASABEFggAigCAEEXRg0mDCcLIABBFGpBsoQBIAEQWCACKAIAQShGDSUMJgsgAEEUakGzhAEgARBYIAIoAgBBOEcNJSACKAIMIgFBAEwNJCAAQRhqIQMDQCABQQFrIgAgAigCDE8NJyACKAIIIABBAnRqIgQoAgBFDSggA0H7gwEgBBBbIAFBAUshCyAAIQEgCw0ACwwkCyAAQRRqIgBBtIQBIAEQWCACKAIAQTlHDSQMNAsgAEEUaiIAQbWEASABEFggAigCAEE6Rw0jDDMLIABBFGoiAEG2hAEgARBYIAIoAgBBO0cNIgwyCyAAQRRqIgNBt4QBIAEQWCACKAIAQTxHDSEgA0H7gwEgAkEYahBYIAIoAgwiAUEATA0gIABBGGohAwNAIAFBAWsiACACKAIMTw0jIAIoAgggAEECdGoiBCgCAEUNJCADQfuDASAEEFsgAUEBSyEMIAAhASAMDQALDCALIABBFGoiAEG4hAEgARBYIAIoAgBBPUcNIAwwCyAAQRRqIgBBuYQBIAEQWCACKAIAQT5HDR8MLwsgAEEUaiIAQbqEASABEFggAigCAEE/Rw0eIABB+4MBIAJBFGoQWA8LIABBFGpBu4QBIAEQWCACKAIAQcAARw0dIAIoAgwiAUEATA0cIABBGGohAwNAIAFBAWsiACACKAIMTw0fIAIoAgggAEECdGoiBCgCAEUNICADQfuDASAEEFsgAUEBSyENIAAhASANDQALDBwLIABBFGoiAEG8hAEgARBYIAIoAgBBwQBHDRwMJQsgAEEUaiIAQb2EASABEFggAigCAEHCAEcNGwwjCyAAQRRqIgNBvoQBIAEQWCACKAIAQcMARw0aIANB+4MBIAJBDGoQWCACKAIIRQ0ZDCsLIABBFGoiAEG/hAEgARBYIAIoAgBBxABHDRkMHgsgAEEUaiIAQcCEASABEFggAigCAEHFAEcNGAwdCyAAQRRqQcGEASABEFggAigCAEHGAEcNFyACKAIMIgFBAEwNFiAAQRhqIQMDQCABQQFrIgAgAigCDE8NGSACKAIIIABBAnRqIgQoAgBFDRogA0H7gwEgBBBbIAFBAUshDiAAIQEgDg0ACwwWCyAAQRRqIgBBwoQBIAEQWCACKAIAQccARw0WDCULIABBFGoiAEHDhAEgARBYIAIoAgBByABHDRUMIwsgAEEUaiIAQcSEASABEFggAigCAEHJAEcNFAwkCyAAQRRqIgBBxYQBIAEQWCACKAIAQcoARw0TIABB+4MBIAJBGGoQWAwgCyAAQRRqIgBBxoQBIAEQWCACKAIAQcsARw0SDB8LIABBFGoiAEHHhAEgARBYIAIoAgBBzABHDREMFAsgAEEUaiIAQciEASABEFggAigCAEHNAEcNEAwTCyAAQRRqIgBByYQBIAEQWCACKAIAQc4ARw0PDBgLIABBFGoiA0HKhAEgARBYIAIoAgBBzwBHDQ4gAigCGARAIABBGGpB+4MBIAJBGGoQWwsgAigCFARAIABBGGpB+4MBIAJBFGoQWwsgAigCEARAIABBGGpB+4MBIAJBEGoQWwsMIAsgAEEUakHLhAEgARBYIAIoAgBB0ABGDQwMDQsgAEEUaiIAQcyEASABEFggAigCAEHRAEcNDAwVCyAAQRRqIgNBzYQBIAEQWCACKAIAQdIARw0LIAIoAhQEQCAAQRhqQfuDASACQRRqEFsLIANB+4MBIAJBEGoQWAwdCyAAQRRqIgBBzoQBIAEQWCACKAIAQdMARw0KDBkLIABBFGoiAEHPhAEgARBYIAIoAgBB1ABHDQkMEQsgAEEUaiIAQdCEASABEFggAigCAEHVAEcNCAwRCyAAQRRqIgBB0YQBIAEQWCACKAIAQdYARw0HDBULIABBFGoiAEHShAEgARBYIAIoAgBB1wBHDQYMFQsgAEEUaiIAQdOEASABEFggAigCAEHYAEcNBQwVCyAAQRRqIgBB1IQBIAEQWCACKAIAQdkARw0EDAwLIABBFGoiAEHVhAEgARBYIAIoAgBB2gBHDQMMCgsgAEEUaiIAQdaEASABEFggAigCAEHbAEcNAgwRCyAAQRRqIgNB14QBIAEQWCACKAIAQdwARw0BIANB+4MBIAJBPGoQWCACKAIwIgFBAEwNACAAQRhqIQMDQCABQQFrIgAgAigCME8NAyACKAIsIABBAnRqIgQoAgBFDQQgA0H7gwEgBBBbIAFBAUshDyAAIQEgDw0ACwsPC0Hw7QVBxZgDQZQGQY3eABABAAtBxaIBQYmiA0G8AUGmiAUQAQALQYGDAkHTmQNBuQJBrvcCEAEACyAAQfuDASACQRxqEFgLIABB+4MBIAJBGGoQWAsgAEH7gwEgAkEUahBYCyAAQfuDASACQRBqEFgPCyAAQfuDASACQRRqEFgLIABB+4MBIAJBEGoQWAsgAEH7gwEgAkEMahBYDwsgAEH7gwEgAkEoahBYCyAAQfuDASACQSRqEFgPCyAAQfuDASACQRxqEFggAEH7gwEgAkEYahBYDwsgAEH7gwEgAkEUahBYCyAAQfuDASACQRBqEFgLIABB+4MBIAJBDGoQWAsgAEH7gwEgAkEIahBYDwsgAEEYakH7gwEgAkEIahBbDwsgA0H7gwEgAkEMahBYC7wQARh/IwBBsAJrIgMkAAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIEBEAgACAAKAIAKAIQEQIABEAgAyAAKAIEIgIpAjg3A/gBIAMgAikCMDcD8AEgAyACKQIoNwPoASADIAIpAiA3A+ABIAMgAikCGDcD2AEgA0GAAmogAkFAaxDjASEEQdSJC0EANgIAQZoBIANBlAJqIAJB1ABqEAIhBUHUiQsoAgAhEUHUiQtBADYCACARQQFGDQIgAyACKAJoNgKoAiADIAIoAmwiAjYCrAIgAgRAIAIgAigCBEEBajYCBAsgA0EBIAMoAuABIgIgAkEAShs2AuABIAMgAykD6AE3AxggAyADKQPwATcDICADIAMpA/gBNwMoIAMgAykD4AE3AxAgA0EBIAMoAtwBIgIgAkEAShs2AtwBQdSJC0EANgIAIAMgAykD2AE3AwhBmwEgA0EwaiAEEAIhBEHUiQsoAgAhAkHUiQtBADYCAAJAIAJBAUcEQEHUiQtBADYCAEGaASADQcQAaiAFEAIhBUHUiQsoAgAhEkHUiQtBADYCACASQQFGDQUgAyADKAKsAiICNgJcIAMgAygCqAI2AlggAgRAIAIgAigCBEEBajYCBAsgA0EANgJ4IAMgAykDEDcChAEgAyADKQMYNwKMASADIAMpAyA3ApQBIAMgAykDKDcCnAEgA0IANwJwIANB/OwJNgJkIAMgAykDCDcCfEHUiQtBADYCACADIAE2AmggAyABQagBajYCbEGbASADQaQBaiAEEAIhAUHUiQsoAgAhAkHUiQtBADYCAAJAIAJBAUcEQEHUiQtBADYCAEGaASADQbgBaiAFEAIaQdSJCygCACETQdSJC0EANgIAIBNBAUcEQCADIAMoAlg2AswBIAMgAygCXCIBNgLQASABBEAgASABKAIEQQFqNgIECyADQQA7AdQBIANBCGoQYSADQQE6ANQBIAAoAgAoAhQhFEHUiQtBADYCACAUIAAQBiEAQdSJCygCACEVQdSJC0EANgIAIBVBAUYNBCADKAJkKAIIIRZB1IkLQQA2AgAgFiADQeQAaiIBIAAQA0HUiQsoAgAhF0HUiQtBADYCACAXQQFGDQRB1IkLQQA2AgBBlwEgARAKQdSJCygCACEYQdSJC0EANgIAIBhBAUYNBCADQfzsCTYCZCADQfwAahBhIAMoAnAiAQRAIAMoAnQiACABIgJHBEADQCAAQQRrIgAoAgAhAiAAQQA2AgAgAgRAIAIgAigCACgCBBEBAAsgACABRw0ACyADKAJwIQILIAMgATYCdCACEFoLIANB2AFqEGEMEAsQACEAIAEQawwBCxAAIQALIANB8ABqEOABIANBCGoQYQwOCxAAIQAMDQsQACEAIANB5ABqEHwaDAwLIAAgATYCfCAAQRRqIQkgASgCGCICIAEoAhwiBEcEQANAIAIoAgAiBSgCDEUEQCAJIAVBIGoQ1AYLIAJBBGoiAiAERw0ACwsgASgCDCICIAEoAhAiBkcEQCAAQYABaiEEA0ACQCACKAIAIgUoAgwEQCAEQfixCykDABD/ByAAKAKIAUUNAQwQCyAAIAU2AnggCSAFQTBqENQGIARB+LELKQMAEP8HIAAoAogBDQ8gAEEANgJ4CyACQQRqIgIgBkcNAAsLIAEoAjAiCiABKAI0Ig5GDQkgAEEcaiENA0AgCigCACICKAIMBEAgCSACQRRqENQGCyACKAIcIgsgAigCICIPRwRAIAAoAmwhBiAAKAJwIQQgACgCGCEFA0AgAyALKAIAIgc2AmQgBCAGayIQQQN1IgJBACAFa0cNBiAHRQ0HAkAgBUEJTQRAIAAgBUEBaiIGNgIYIA0gBUEDdGoiAkH7gwE2AgAgAiADQeQAajYCBCAEIQIgBiEFDAELIAAoAnQiCCAESwRAIARB+4MBNgIAIAQgA0HkAGo2AgQgACAEQQhqIgI2AnAMAQsgAkEBaiIHQYCAgIACTw0JQf////8BIAggBmsiCEECdSIMIAcgByAMSRsgCEH4////B08bIgdBgICAgAJPDQogECAHQQN0IgwQXCIIaiIHQfuDATYCACAIIAJBA3RqIANB5ABqNgIEIAdBCGohAiAEIAZHBEADQCAHQQhrIgcgBEEIayIEKQIANwIAIAQgBkcNAAsLIAAgCCAMajYCdCAAIAI2AnAgACAHNgJsIAZFDQAgBhBaIAAoAnAhAiAAKAIYIQULQQAgBWsgAiAAKAJsIgZrQQN1RwRAA0ACQCACIAZGBEAgBUUNDiANIAVBAWsiBEEDdGoiBSgCBCECIAUoAgAhBiAAIAQ2AhgMAQsgAkEIayIEKAIAIQYgBCgCBCECIAAgBDYCcAsgCSACNgIAIAIoAgBFDQ0gACACIAYRAABBACAAKAIYIgVrIAAoAnAiAiAAKAJsIgZrQQN1Rw0ACwsgAiEEIAtBBGoiCyAPRw0ACwsgCkEEaiIKIA5HDQALDAkLQej6BUG6iwNB/ANB2ssCEAEACxAAIRkgBBBrIBkQBwALEAAhACAEEGsMCAtBzcoFQdOZA0HIAkHQ+AIQAQALQYGDAkHTmQNBuQJBrvcCEAEACxBkAAsQagALQd7EBUGwlANB2gBB/fsCEAEAC0H1ggJB05kDQc0CQdD4AhABAAsgASgCSCICIAEoAkwiAUcEQANAIAIoAgAiBC0AFEUEQCAJIARBGGoQ1AYLIAJBBGoiAiABRw0ACwsgAEEANgJ8CyADQbACaiQADwsgA0HYAWoQYSAAEAcAC0GB9gVBypcCQeIAQf7SAhABAAtKAQF/IABB/JIINgIAIAAoAoQBEIAIIAAoAmwiAQRAIAAgATYCcCABEFoLIABBkO0JNgIAIAAsABNBAEgEQCAAKAIIEFoLIAAQWgtIAQF/IABB/JIINgIAIAAoAoQBEIAIIAAoAmwiAQRAIAAgATYCcCABEFoLIABBkO0JNgIAIAAsABNBAEgEQCAAKAIIEFoLIAALnAIBBn8CQAJAIAEoAgAiBCgCAEEDRgRAIAAoAqABIgEgACgCpAFHBEAgASAENgIAIAAgAUEEajYCoAEPCyABIAAoApwBIgZrIgJBAnUiB0EBaiIDQYCAgIAETw0BQf////8DIAJBAXUiBSADIAMgBUkbIAJB/P///wdPGyIDBH8gA0GAgICABE8NAyADQQJ0EFwFQQALIgUgB0ECdGoiAiAENgIAIAJBBGohBCABIAZHBEADQCACQQRrIgIgAUEEayIBKAIANgIAIAEgBkcNAAsgACgCnAEhAQsgACAFIANBAnRqNgKkASAAIAQ2AqABIAAgAjYCnAEgAQRAIAEQWgsPC0Hw7QVBxZgDQZQGQY3eABABAAsQZAALEGoACyYAIAAoAgBBHkcEQEGcswZBp7cCQYMZQY3DAhABAAsgACABNgIICw4AIAAgACgChAE2AogBC9wDAQZ/IAAoApQBIgIgACgCmAEiBEkEQCACQQA2AgggAkIANwIAIAIgACgChAE2AgAgAiAAKAKIATYCBCACIAAoAowBNgIIIABBADYCjAEgACACQQxqNgKUASAAQgA3AoQBDwsCQAJAAkAgAiAAKAKQASIBayIFQQxtIgdBAWoiA0HWqtWqAUkEQEHVqtWqASAEIAFrQQxtIgRBAXQiBiADIAMgBkkbIARBqtWq1QBPGyIDQdaq1aoBTw0BIAUgA0EMbCIGEFwiBGoiAyAAKAKEATYCACAEIAdBDGxqIgUgACgCiAE2AgQgBSAAKAKMATYCCCAAQQA2AowBIABCADcChAEgBCAGaiEEIANBDGohBSABIAJGDQIDQCADQQxrIgMgAkEMayICKAIANgIAIAMgAigCBDYCBCADIAIoAgg2AgggAkEANgIIIAJCADcCACABIAJHDQALIAAgBDYCmAEgACgClAEhASAAIAU2ApQBIAAoApABIQIgACADNgKQASABIAJGDQMDQCABQQxrIgAoAgAiAwRAIAFBCGsgAzYCACADEFoLIAAiASACRw0ACwwDCxBkAAsQagALIAAgBDYCmAEgACAFNgKUASAAIAM2ApABCyACBEAgAhBaCwuJEgESfyMAQfABayICJAACQAJAAkACQAJAAkACfwJAIAEoAgAiBygCAEECRgRAIAcoAhANBCAHKAIMIgEoAgBBBEcNAyAHKAIIIAEoAhAgACgCBEEYaiAAKAJ8EOcJRQ0DIAEoAhRFBEAgBygCCAwDCwJAIAEoAhAiA0UNACADKAIEIgNBB0kNACADKAIERQ0FC0ECIAAoAnwQ5AQhBiAAKAIEIgMoAiBBAUwEQCABKAIUEOcBIQQgBhDnASEFQQQhCAJAAkACQCADKAIgDgICAQALQa3wAkGkjAJB6wAQYgALQQchCAsgCCAEIAUgBCAFSxtJDQUgACgCBCEDCyABKAIUIQUgACgCfCEEIAIgAy0AODoAACACIAMtADk6AAEgAiADKAJoNgIEIAIgAygCbCIDNgIIIAMEQCADIAMoAgRBAWo2AgQLIAIgBDYCDCAEKAKEASEDIAJBHGoiBEIANwIAIAJBKGoiCEIANwIAIAJBNGoiCUIANwIAIAJBQGsiCkIANwIAIAJB5ABqIgtCADcCACACQgA3AlAgAkIANwFWIAJB8ABqIgxCADcCACACQQA7ARQgAiADNgIQIAIgBDYCGCACIAg2AiQgAiAJNgIwIAIgCjYCPCACQgA3AkggAiALNgJgIAIgDDYCbCACIAU2AuwBIAJCADcC1AEgAkIANwLcASACQQA2AuQBQdSJC0EANgIAIAJCADcCfCACIAI2AugBQccAIAJB/ABqIAJB7AFqEANB1IkLKAIAIQNB1IkLQQA2AgACQCADQQFHBEAgAigC1AEiAwRAIAIgAzYC2AEgAxBaCyACKAJUBEBB1IkLQQA2AgBBDUGRyQVB9ooDQcQIQabRABAFQdSJCygCACENQdSJC0EANgIAIA1BAUYNAgwJCyACLQAABEAgAkEAOgBRDAQLIAItAFFFDQMgAkEBOgBQDAMLDAgLDAgLQfDtBUHFmANBlAZBjd4AEAEAC0EBIQQCQCACLQBQDQAgAigCLA0AIAItAFwNACACKAJEDQAgAi0ASQ0AIAItAEsNACACLQBNDQAgAi0ATw0AIAItAFINACACLQAVDQAgAi0AUw0AIAIoAnQNACACLQAUDQAgAigCaA0AIAItAF1BAEchBAsgAigCcBBgIAIoAmQQYCACKAJAEGAgAigCNBBgIAIoAigQbyACKAIcEG8CQCACKAIIIgNFDQAgAyADKAIEIgVBAWs2AgQgBQ0AIAMgAygCACgCCBEBACADEHULIAQNAiAAKAJ8IAEoAhQgBygCCCAGELUKCyEDIABBFGohDiABIAM2AhQCQAJAIAMEQCADKAIEQQFGBEAgAUEBNgIEDAMLIAEoAhAiAw0BIAFBADYCBAwCCyABQQE2AgQMAQsgASADKAIEIgM2AgQgA0ECSQ0AIAAoAnxBqAFqQQxBBBBdIgMgATYCCCADQhI3AgAgAyABKAIEQQFGNgIEIAMhAQsgDiABEHkgAEEBOgCAAQsgBygCDCIBKAIAQQJHDQAgASgCEA0AIAAoAgQiAygCIEEBTARAIAEoAggQ5wEhBkEEIQQCQAJAAkAgAygCIA4CAgEAC0Gt8AJBpIwCQesAEGIAC0EHIQQLIAQgBkkNASAAKAIEIQMLIAEoAgghBiAAKAJ8IQQgAiADLQA4OgAAIAIgAy0AOToAASACIAMoAmg2AgQgAiADKAJsIgM2AgggAwRAIAMgAygCBEEBajYCBAsgAiAENgIMIAQoAoQBIQMgAkEcaiIEQgA3AgAgAkEoaiIFQgA3AgAgAkE0aiIIQgA3AgAgAkFAayIJQgA3AgAgAkHkAGoiCkIANwIAIAJCADcCUCACQgA3AVYgAkHwAGoiC0IANwIAIAJBADsBFCACIAM2AhAgAiAENgIYIAIgBTYCJCACIAg2AjAgAiAJNgI8IAJCADcCSCACIAo2AmAgAiALNgJsIAIgBjYC7AEgAkIANwLUASACQgA3AtwBIAJBADYC5AFB1IkLQQA2AgAgAkIANwJ8IAIgAjYC6AFBxwAgAkH8AGogAkHsAWoQA0HUiQsoAgAhA0HUiQtBADYCAAJAIANBAUcEQCACKALUASIDBEAgAiADNgLYASADEFoLIAIoAlQEQEHUiQtBADYCAEENQZHJBUH2igNBxAhBptEAEAVB1IkLKAIAIQ9B1IkLQQA2AgAgD0EBRw0FDAcLIAItAAAEQCACQQA6AFEMAgsgAi0AUUUNASACQQE6AFAMAQsMBAtBASEEAkAgAi0AUA0AIAIoAiwNACACLQBcDQAgAigCRA0AIAItAEkNACACLQBLDQAgAi0ATQ0AIAItAE8NACACLQBSDQAgAi0AFQ0AIAItAFMNACACKAJ0DQAgAi0AFA0AIAIoAmgNACACLQBdQQBHIQQLIAIoAnAQYCACKAJkEGAgAigCQBBgIAIoAjQQYCACKAIoEG8gAigCHBBvAkAgAigCCCIDRQ0AIAMgAygCBCIGQQFrNgIEIAYNACADIAMoAgAoAggRAQAgAxB1CyAEDQAgBygCCCEEIAEoAgghBiAAKAJ8IQBB1IkLQQA2AgAgAkECNgIQIAJBADYCAEEMIABBqAFqIgNBIEEIEAQhAEHUiQsoAgAhBUHUiQtBADYCAAJAIAVBAUcEQCAAQgA3AgQgAEEONgIAIABCADcCDCAAQgA3AhQgAEEIaiIFIAJGDQEgBRBZIQVB1IkLQQA2AgBBwAAgBSACEAIaQdSJCygCACEQQdSJC0EANgIAIBBBAUcNAQsQACERIAIQWRogERAHAAsgACACKAIQNgIEIAIQWRogA0EUQQQQXSIDIAY2AhAgA0IRNwIAIAMgADYCDCADIAQ2AgggBEUNASADAn9BASAEKAIEIgRBAUYNABpBASAAKAIEIgBBAUYNABpBASAGKAIEQQFGDQAaIAQgABCTAws2AgQgByADNgIIIAcgASgCDDYCDAsgAkHwAWokAA8LQfLdA0GkpAJB/QVBssMDEAEACwALEAAhEiACKALUASIABEAgAiAANgLYASAAEFoLIAIQ3wEaIBIQBwALEAAhEyACEN8BGiATEAcAC/8gAht/AX4jAEEgayIJJAAgAEGEAWohBwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgASgCACIEKAIAQQFrDhYDAgsABgUFBQUFBQUFBQUFBQUBBQUHBQsgACAAKAKEASICNgKIASAEKAIUDQogACgCjAEgAkcEQCACIAE2AgAgACACQQRqNgKIAQwLC0EEEFwiAyABNgIAIAAgA0EEaiIBNgKMASAAIAE2AogBIAAgAzYChAEgAkUNCiACEFoMCgsgACAAKAKEASICNgKIASAAKAKMASACRwRAIAIgATYCACAAIAJBBGo2AogBDAoLQQQQXCIDIAE2AgAgACADQQRqIgE2AowBIAAgATYCiAEgACADNgKEASACRQ0JIAIQWgwJCyAEKAIIKAIEQQFGBEAgACAAKAKEATYCiAEMCQsgBCgCEARAIAAoApQBIgEgACgCkAFGDQIgAUEMayIBQQA2AgggASgCACEFIAEoAgQhAiABQgA3AgAgACgClAEiA0EMayIGKAIAIgEEQCADQQhrIAE2AgAgARBaCyAAIAY2ApQBAkAgBCgCDCgCBARAIAQoAhAoAgQNAQtB1IkLQQA2AgBBn4MBIAUgAhACIQFB1IkLKAIAIQ5B1IkLQQA2AgAgDkEBRg0HIAEgAkcEQCACIAEgAiABa2oiA2shBCACIANHBEAgASADIAT8CgAACyABIARqIQILIAAoAogBIQEgACgChAEhA0HUiQtBADYCAEGfgwEgAyABEAIhAUHUiQsoAgAhD0HUiQtBADYCACAPQQFGDQcgASAAKAKIASIDRg0AIAMgASADIAFraiIEayEGIAMgBEcEQCABIAQgBvwKAAALIAAgASAGajYCiAELIAIgBUYNCCAFIQMDQAJAIAMoAgAhCgJAIAAoAogBIgQgACgCjAFHBEAgBCAKNgIAIAAgBEEEajYCiAEMAQsgBCAHKAIAIgtrIgFBAnUiDEEBaiIGQYCAgIAETwRAQdSJC0EANgIAQcwwEAlB1IkLKAIAIRBB1IkLQQA2AgAgEEEBRg0KDAsLAkBB/////wMgAUEBdSIIIAYgBiAISRsgAUH8////B08bIghFBEBBACEGDAELIAhBgICAgARPBEBB1IkLQQA2AgBBAxAJQdSJCygCACERQdSJC0EANgIAIBFBAUcNDAwLC0HUiQtBADYCAEEEIAhBAnQQBiEGQdSJCygCACESQdSJC0EANgIAIBJBAUYNAgsgBiAMQQJ0aiIBIAo2AgAgAUEEaiEKIAQgC0cEQANAIAFBBGsiASAEQQRrIgQoAgA2AgAgBCALRw0ACyAHKAIAIQQLIAAgBiAIQQJ0ajYCjAEgACAKNgKIASAAIAE2AoQBIARFDQAgBBBaCyADQQRqIgMgAkcNAQwKCwsMBgsgACgChAEgACgCiAEQgQgiASAAKAKIASICRg0IIAIgASACIAFraiIDayEFIAIgA0cEQCABIAMgBfwKAAALIAAgASAFajYCiAEMCAsCQCAEKAIIIgtFDQAgACgCiAEiASAAKAKEASIGRg0AQQEgASAGa0ECdSIDIANBAU0bIQhBACEBA0ACQAJAAkACQCAGIAFBAnRqKAIAIgooAgAiAigCAEEERw0AIAIoAgggC0cNAAJAIAIoAhAiBkUEQCACQhY3AgAMAQsgCiAGNgIACyAAQQE6AIABIAVBAWohBQwBCyAFRQ0BIAYgASAFa0ECdGogCjYCAAsgAUEBaiIBIAhGDQEgBygCACEGDAILQQAhBSABQQFqIgEgCEcNAQwCCwsgBUUNACADIAVrIgEgACgCiAEgACgChAEiA2tBAnUiAksEQCAHIAEgAmsQ0wcMAQsgASACTw0AIAAgAyABQQJ0ajYCiAELIAQoAhQiA0UNByADQQJrIQtBACEGIAMhAgNAIAIiAUEBayECIAQoAhAiByABQQJ0akEEaygCACgCAEEWRwRAQQAhBANAAkAgAiAERg0AIAcgBEECdGooAgAoAgRBAUcNACAAKAKEASAAKAKIARCBCCIBIAAoAogBIgJGDQsgAiABIAIgAWtqIgNrIQUgAiADRwRAIAEgAyAF/AoAAAsgACABIAVqNgKIAQwLCyAEQQFqIgQgAUcNAAsMCQsCQCAEKAIYIAJPDQAgBCACNgIYIAQgBCgCHCACQQJ0QQQQXTYCECAEKAIUIgFFBEBBACEBDAELQQAhCkEAIQUgAUEETwRAIAFBfHEhDANAIAVBAnQiCCAEKAIQaiAHIAhqKAIANgIAIAhBBHIiDSAEKAIQaiAHIA1qKAIANgIAIAhBCHIiDSAEKAIQaiAHIA1qKAIANgIAIAhBDHIiCCAEKAIQaiAHIAhqKAIANgIAIAVBBGoiBSAMRw0ACwsgAUEDcSIIRQ0AA0AgBUECdCIMIAQoAhBqIAcgDGooAgA2AgAgBUEBaiEFIApBAWoiCiAIRw0ACwsCQCABIAJPDQAgCyABIAZqayETQQAhBSADIAZBf3NqIAFrQQNxIggEQANAIAQoAhAgAUECdGpBADYCACABQQFqIQEgBUEBaiIFIAhHDQALCyATQQNJDQADQCABQQJ0IgUgBCgCEGpBADYCACAEKAIQIAVqQQA2AgQgBCgCECAFakEANgIIIAQoAhAgBWpBADYCDCABQQRqIgEgAkcNAAsLIAQgAjYCFCAAQQE6AIABIAZBAWohBiACDQALDAcLQZfIBUGkjAJBvAFB9BsQAQALIAAgACgChAE2AogBDAULIAAgACgChAE2AogBAkACQCAEKAIMIgFFDQAgBCgCCCIDQQhrIQUgBCgCGCECAkADQAJAIAIgBSABQQN0aigCAEcEQEEAIQUCQANAIAMgBUEDdGooAgAgAkcNASAFQQFqIgUgAUcNAAsgASEFDAQLIAVFDQQgASAFTQ0DIAUhAwNAIAEgAyAFayICTQ0CIAQoAggiASACQQN0aiABIANBA3RqKQIANwIAIANBAWoiAyAEKAIMIgFJDQALDAMLIAQgAUEBayIBNgIMIAENAQwDCwsMCAsgASECAkAgASAFayIHIAQoAhBNDQAgBCAHNgIQIAQoAgghBiAEIAQoAhQgB0EDdEEEEF02AghBACEDIAQoAgxFBEBBACECDAELA0AgA0EDdCICIAQoAghqIAIgBmopAgA3AgAgA0EBaiIDIAQoAgwiAkkNAAsLAkAgAiAHTw0AIAIhAyABIAIgBWprQQNxIggEQEEAIQYDQCAEKAIIIANBA3RqQgA3AgAgA0EBaiEDIAZBAWoiBiAIRw0ACwsgBSABayACakF8Sw0AA0AgA0EDdCIBIAQoAghqQgA3AgAgBCgCCCABakIANwIIIAQoAgggAWpCADcCECAEKAIIIAFqQgA3AhggA0EEaiIDIAdHDQALCyAEIAc2AgwgBCgCJCEDIAAoAnwhAUHUiQtBADYCACAJQQI2AhggCSAFNgIIQQwgAUGoAWoiAkEgQQgQBCEBQdSJCygCACEUQdSJC0EANgIAIBRBAUYNASABQgA3AgQgAUEONgIAIAFCADcCDCABQgA3AhQgAUEIaiIFIAlBCGoiBkcEQCAFEFkhBUHUiQtBADYCAEHAACAFIAYQAhpB1IkLKAIAIRVB1IkLQQA2AgAgFUEBRg0CCyABIAkoAhg2AgQgCUEIahBZGiACQRRBBBBdIgIgATYCECACIAM2AgwgAkEBNgIIIAJCEDcCACADRQRAQb/zAEGkpAJB8AVBssMDEAEACyACIAMoAgQiA0EBRwR/QQEgAyABKAIEQQFGGwVBAQs2AgQgBCACNgIkCyAEKAIgDQUCQAJAAkAgBCgCDCICDgIAAQILIAQoAiQhAiAAKAJ8IgNBqAFqIgVBDEEEEF0iASACNgIIIAFCEjcCACABIAIoAgRBAUY2AgQgBCkCGCEdIAVBGEEEEF0iAkIANwIQIAIgHTcCCCACQoSAgIAQNwIAIABBFGogAyABIAJCABDKAhB5DAcLIAQoAiQhBSAEKQIYIR0gACgCfEGoAWoiAUEYQQQQXSICQgA3AhAgAiAdNwIIIAJChICAgBA3AgAgBCgCDEUNCCAEKAIIKQIAIR0gAUEYQQQQXSIDQgA3AhAgAyAdNwIIIANChICAgBA3AgAgAUEUQQQQXSIBIAM2AhAgASACNgIMIAEgBTYCCCABQgI3AgAgASACKAIEIAMoAgQQkwMiAjYCBCAAQRRqIRYCQCACDQAgASgCCCgCBEEBRw0AIAFBATYCBAsgFiABEHkMBgsgACgCBCgCIEEASiIBIAJBDEtxQQEgAkGAAUkgAXIbRQ0FIAJBAmshA0EBIQEDQCABIAJGDQcgBCgCCCABQQN0aigCACAEKAIYRw0GIAEgA0YhFyABQQFqIQEgF0UNAAsgACgCeCEYIAAoAnwhBSAJQgA3AwAgCUIANwMIIBggCUECEMYCIQIgBCgCJCEDIAVBqAFqIgFBEEEEEF0iBSADNgIMIAUgAjYCCCAFQomAgIAgNwIAIAVBAUECIAMoAgRBAUYbNgIEIAFBDEEEEF0iBiACNgIIIAZCiICAgCA3AgAgBCgCDCECQdSJC0EANgIAIAlBAjYCGCAJIAJBAWs2AghBDCABQSBBCBAEIQJB1IkLKAIAIQNB1IkLQQA2AgACQCADQQFHBEAgAkIANwIEIAJBDjYCACACQgA3AgwgAkIANwIUIAJBCGoiAyAJQQhqIgdGDQEgAxBZIQNB1IkLQQA2AgBBwAAgAyAHEAIaQdSJCygCACEZQdSJC0EANgIAIBlBAUcNAQsMAQsgAiAJKAIYNgIEIAlBCGoQWRogAUEUQQQQXSIDIAI2AhAgAyAGNgIMIANBDzYCCCADQhA3AgAgAyAGKAIEQQFHBH9BAUECIAIoAgRBAUYbBUEBCzYCBAJAIAQoAgwiAgRAIAQoAgggAkEDdGpBCGspAgAhHSABQRhBBBBdIgZCADcCECAGIB03AgggBkKEgICAEDcCACAEKQIYIR0gAUEYQQQQXSIHQgA3AhAgByAdNwIIIAdChICAgBA3AgAgAUEUQQQQXSICIAc2AhAgAiAGNgIMIAIgAzYCCCACQgI3AgAgAiAGKAIEIAcoAgQQkwMiAzYCBAJAIAMNACACKAIIKAIEQQFHDQAgAkEBNgIECyAEKAIMRQ0BIABBFGohGiAEKAIIKQIAIR0gAUEYQQQQXSIDQgA3AhAgAyAdNwIIIANChICAgBA3AgAgAUEUQQQQXSIAIAM2AhAgACACNgIMIAAgBTYCCCAAQgI3AgAgACACKAIEIAMoAgQQkwMiATYCBAJAIAENACAAKAIIKAIEQQFHDQAgAEEBNgIECyAaIAAQeQwHC0G0xAVBiaIDQdABQf37AhABAAsMBwsQACEbIAlBCGoQWRogGxAHAAsgACgChAEgACgCiAEQgQgiASAAKAKIASICRg0DIAIgASACIAFraiIDayEFIAIgA0cEQCABIAMgBfwKAAALIAAgASAFajYCiAEMAwsQACEcIAUEQCAFEFoLIBwQBwALAAsgBUUNACAFEFoLIAlBIGokAA8LQcWiAUGJogNBvAFBpogFEAEAC0G0xAVBiaIDQeMBQZTkABABAAuxCAILfwF+IwBBQGoiByQAAkAgASgCACICKAIAQQFGBEACQCACKAIIRQ0AIAIoAhRBAUcNAAJAAkACQCACKAIQIgEoAgAiAygCAEECaw4CAQADCyABIAMoAhA2AgAgAyACNgIQIAIgAigCBEEBQQAQ5gEgAyADKAIQKAIENgIEDAELIAMoAgghCiAHIAIpAggiDTcDECAHIA03AyggCiAHQRBqENYGDQEgA0EQaiEFAkACQCADKAIQIgEEQCAHIAIpAggiDTcDCCAHIA03AyAgASAHQQhqENYGDQELIANBDGohAQwBCyADKAIMIQsgByACKQIIIg03AwAgByANNwMYIAUhASALIAcQ1gYNAgsgAigCFEUNAyACKAIQIAEoAgA2AgAgASACNgIAIAJBAEEAQQAQ5gECfyAFKAIAIgFFBEAgA0EANgIEIANBBGoMAQsgAyADKAIMKAIEIAEoAgQQkwMiATYCBCABDQEgA0EEagshDCADKAIIKAIEQQFHDQAgDEEBNgIACyAHIAM2AjQCQCAAKAJkIgFFDQAgASgCbEUNACABQeAAaiEJAkAgASgCZCIERQ0AIANBldPH3gVsIgFBGHYgAXNBldPH3gVsQdTMnvoGcyIBQQ12IAFzQZXTx94FbCIBQQ92IAFzIQICQCAEaSIGQQFNBEAgBEEBayACcSEFDAELIAIiBSAESQ0AIAIgBHAhBQsgCSgCACAFQQJ0aigCACIBRQ0AIAEoAgAiAUUNACAGQQFNBEAgBEEBayEGA0ACQCABKAIEIgggAkcEQCAGIAhxIAVGDQEMBAsgASgCCCADRg0ECyABKAIAIgENAAsMAQsDQAJAIAEoAgQiBiACRwRAIAQgBk0EfyAGIARwBSAGCyAFRg0BDAMLIAEoAgggA0YNAwsgASgCACIBDQALCyAERQ0AIAAoAgAoAgAiCEGV08feBWwiAUEYdiABc0GV08feBWxB1Mye+gZzIgFBDXYgAXNBldPH3gVsIgFBD3YgAXMhAgJAIARpIgZBAU0EQCACIARBAWtxIQUMAQsgAiIFIARJDQAgAiAEcCEFCyAJKAIAIAVBAnRqKAIAIgFFDQAgASgCACIBRQ0AAkAgBkEBTQRAIARBAWshBANAAkAgAiABKAIEIgZHBEAgBCAGcSAFRg0BDAULIAEoAgggCEYNAwsgASgCACIBDQALDAILA0ACQCACIAEoAgQiBkcEQCAEIAZNBH8gBiAEcAUgBgsgBUYNAQwECyABKAIIIAhGDQILIAEoAgAiAQ0ACwwBCyAHQThqIAkgAyAHQTRqEHggBygCOCIFIAEoAhQ2AhQgBSABKQIMNwIMCyAAKAIAIAM2AgAgAEEBOgBsCyAHQUBrJAAPC0Hw7QVBxZgDQZQGQY3eABABAAtBxaIBQYmiA0G8AUGmiAUQAQAL2AgCBX8BfiMAQSBrIgIkAAJAAkAgASgCACIDKAIAQT9GBEACQCADKAIEQQFGDQAgAygCFCIBKAIEIgVBAUYNACACIAAoAmgiBDYCHAJAAkAgBUEHTwRAIAUoAgRBAUcNAiAAKAJsIQYDQCACIAE2AgwgASACQQxqIAYgBEEAEP0CKAIAIgFGDQIgBSABKAIEEJIDIgVBAUcNAAsMAwsgBUEBRg0CDAULIAVBB0kNBAsgBSgCBEEBRw0DIAIgAkEcajYCGAJAAkACQAJAIAMoAggOAgABAgsgBRDtBEF8cUEMRgRAIAMoAhQhBCACKAIcQagBakEMQQQQXSIBIAQ2AgggAUISNwIAIAEgBCgCBEEBRjYCBCADKQIMIQcgAigCHEGoAWpBGEEEEF0iBEIANwIQIAQgBzcCCCAEQoSAgIAQNwIAIAAgAigCHCABIARCABDKAhB5DAMLIAUoAgRBAUcNAyAFKAIMDQMgACACQRhqIAMoAhQgAygCBBDVBhB5DAILIAUQ7QRBfHFBDEYEQCADKAIUIQQgAigCHEGoAWpBDEEEEF0iASAENgIIIAFCEjcCACABIAQoAgRBAUY2AgQgACABEHkMAgsgBSgCBEEBRw0CIAUoAgwNAiADKQIMIQcgAkEYaiADKAIUIAMQkgUQ1QYhBCACKAIcQagBakEYQQQQXSIBQQA2AhQgASAENgIQIAEgBzcCCCABQoSAgIAQNwIAIAAgARB5DAELIAMoAhggBRCSAyEBIAUCfyADKAIYIgQgAUEBRg0AGiABIAEgBEYNABogAyABNgIYIAMQzQUgAEEBOgBwIAMoAhgLEJIIIQECQAJAAkACQCADKAIIQQNGBEACQCABDgYHAwIEBwUAC0Gi7gBBiZEDQcEAEGIACyABQQFrDgUAAQUCAwULIAMpAgwhByACQRhqIAMoAhQgAxCSBRDVBiEEIAIoAhxBqAFqQRhBBBBdIgFBADYCFCABIAQ2AhAgASAHNwIIIAFChICAgBA3AgAgACABEHkMAwsgACACQRhqIAMoAhQgAygCBBDVBhB5DAILIAJBGGogAygCFCACQRRqIAMQkgUQ7QRBARDJAygCABDVBiEBIANBADYCGCADIAE2AhQgA0KAgICAEDcCBCABKAIEIgFBB0kNBCABKAIEQQFHDQQgARDtBCEBIAIoAhwgARDeDSEBIAJBAjYCECACIAE2AgggAiADNgIEIAIgAkEEajYCDCAAIAIoAhwgAkEMaiABNQIEQoCAgIAQhBDoBhB5DAELIAIoAhwgAygCFBCvBCEBIANCl4CAgBA3AgAgAkECNgIQIAIgAzYCCCACIAE2AgQgAiACQQRqNgIMIAAgAigCHCACQQxqQgAQ6AYQeQsgAEEBOgBwCyACQSBqJAAPC0Hw7QVBxZgDQZQGQY3eABABAAtBs/4FQaSMAkHzBkGa4wIQAQALQbf/BUGkjAJB8AVBmuMCEAEAC7EIARN/IwBBEGsiBiQAAkACQAJAIAEoAgAiCSgCAEEFRgRAIAkoAiBFBEAgBkIANwIIQdSJC0EANgIAIAYgBkEIaiILNgIEQc8dIAkgBkEEahADQdSJCygCACEOQdSJC0EANgIAIA5BAUYEQAwFCyALIAYoAgQiB0cEQCAAQagBaiEMIABB8ABqIQ0DQCAAKAKcASAAKAKYASIBa0ECdSIEQQAgACgCbCIDa0YEQEGbAyEBQZb2BSEDDAULIAcoAhAhAiABQShrIQUgAyAEaiEBAkACQANAAkACQAJAAkAgDSAFIAFBAWsiAUEKSRsgAUECdGooAgAiAygCACIEQQFrDgMDAgEACyAEQTNrQQJJDQFBqgMhAUHKsQYhAwwKCyADKAIIIAJGDQQLIAENAQwDCyADKAIIIAJGDQEgAQ0AC0EAIQMLAkACQAJAIAwiBCIBKAIAIgJFDQADQCACIgEoAhAiAiADSwRAIAEhBCABKAIAIgINAQwCCyACIANPBEAgASECDAMLIAEoAgQiAg0ACyABQQRqIQQLQdSJC0EANgIAQQRBIBAGIQJB1IkLKAIAIQ9B1IkLQQA2AgAgD0EBRg0BIAIgAzYCECACIAE2AgggAkIANwIAIAJBADYCHCACQgA3AhQgBCACNgIAIAIhASAAKAKkASgCACIDBEAgACADNgKkASAEKAIAIQELIAAoAqgBIAEQZyAAIAAoAqwBQQFqNgKsAQsgAigCGCIBIAIoAhwiBUkEQCABIAk2AgAgAiABQQRqNgIYDAILAkACQAJAAkAgASACKAIUIgRrQQJ1IgpBAWoiA0GAgICABE8EQEHUiQtBADYCAEEOEAkMAQtB/////wMgBSAEayIFQQF1IgggAyADIAhJGyAFQfz///8HTxsiBUUEQEEAIQgMAwsgBUGAgICABEkNAUHUiQtBADYCAEEDEAkLQdSJCygCACEQQdSJC0EANgIAIBBBAUcNCgwLC0HUiQtBADYCAEEEIAVBAnQQBiEIQdSJCygCACERQdSJC0EANgIAIBFBAUYNAQsgCCAKQQJ0aiIDIAk2AgAgA0EEaiEKIAEgBEcEQANAIANBBGsiAyABQQRrIgEoAgA2AgAgASAERw0ACyACKAIUIQELIAIgCCAFQQJ0ajYCHCACIAo2AhggAiADNgIUIAFFDQIgARBaDAILDAgLDAcLAkAgBygCBCIDBEADQCADIgEoAgAiAw0ADAILAAsDQCAHKAIIIgEoAgAgB0chEiABIQcgEg0ACwsgCyABIgdHDQALCyAGKAIIEGALIAZBEGokAA8LQfDtBUHFmANBlAZBjd4AEAEAC0HUiQtBADYCAEENIANB05kDIAFBo4IBEAVB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRg0BCwALEAAhFCAGKAIIEGAgFBAHAAu5BQEGfwJAAkACQAJAIAEoAgAiBSgCAEEERgRAAkAgBSgCEA0AIAAoApwBIAAoApgBIgFrQQJ1IgRBACAAKAJsIgNrRg0CIAUoAgghAiABQShrIQcgAEHwAGohBiADIARqIQECQANAAkACQAJAAkAgBiAHIAFBAWsiAUEKSRsgAUECdGooAgAiAygCACIEQQFrDgMDAgABCyADKAIIIAJGDQUgAQ0DDAULIARBM2tBAk8NCQsgAQ0BDAMLIAMoAgggAkYNASABDQALQQAhAwsgAEGoAWoiBCEBAkACQCAAKAKoASICRQ0AA0AgAiIBKAIQIgIgA0sEQCABIQQgASgCACICDQEMAgsgAiADTwRAIAEhAgwDCyABKAIEIgINAAsgAUEEaiEEC0EgEFwiAiADNgIQIAIgATYCCCACQgA3AgAgAkEANgIcIAJCADcCFCAEIAI2AgAgAiEBIAAoAqQBKAIAIgMEQCAAIAM2AqQBIAQoAgAhAQsgACgCqAEgARBnIAAgACgCrAFBAWo2AqwBCyACKAIYIgEgAigCHCIDSQRAIAEgBTYCACACIAFBBGo2AhgPCyABIAIoAhQiAGtBAnUiB0EBaiIEQYCAgIAETw0DQf////8DIAMgAGsiA0EBdSIGIAQgBCAGSRsgA0H8////B08bIgQEfyAEQYCAgIAETw0FIARBAnQQXAVBAAsiBiAHQQJ0aiIDIAU2AgAgA0EEaiEFIAAgAUcEQANAIANBBGsiAyABQQRrIgEoAgA2AgAgACABRw0ACyACKAIUIQELIAIgBiAEQQJ0ajYCHCACIAU2AhggAiADNgIUIAFFDQAgARBaCw8LQfDtBUHFmANBlAZBjd4AEAEAC0GW9gVB05kDQZsDQaOCARABAAsQZAALEGoAC0HKsQZB05kDQaoDQaOCARABAAslACAAKAIAQR5HBEBBnLMGQae3AkGZGUGoLxABAAsgACABOgAQC84JAg1/AX4gASgCACIBKAIAQQFGBEACQAJ/AkACQCABKAIUQQFrDgIAAQMLIAEoAggiAkUNAiABKAIQKAIAIgMoAgBBAUcNAiADKAIIIglFDQIgAiAJRg0CIAMoAgQgASgCBEcNAiABQQhqDAELIAEoAhAiASgCACIDKAIAQQFHDQEgASgCBCIBKAIAQQRHDQEgAygCCEUNASABKAIUDQEgASgCEA0BIAFBCGoLKQIAIQ8jAEEwayIFJAAgACIGQagBaiIJIQICQAJAIAkiACgCACIERQ0AA0AgAyAEIgAoAhAiAUkEQCAAIQIgACgCACIEDQEMAgsgASADTwRAIAAhAQwDCyAAKAIEIgQNAAsgAEEEaiECC0EgEFwiASADNgIQIAEgADYCCCABQgA3AgAgAUEANgIcIAFCADcCFCACIAE2AgAgASEAIAYoAqQBKAIAIgQEQCAGIAQ2AqQBIAIoAgAhAAsgBigCqAEgABBnIAYgBigCrAFBAWo2AqwBCyABKAIUIgAgASgCGCICRwRAA0AgACgCACEOIAUgAykCCDcDECAFIA83AxggBSAFQS9qIgc2AgggBSAHNgIoIAVBADoALyAFIAVBGGo2AiQgBSAFQRBqNgIgIAUgBSkCIDcDACAOIAUQqA0gBS0ALwRAIAZBAToAsAELIABBBGoiACACRw0ACwsCQAJAIAYoApwBIAYoApgBIgBrQQJ1IgNBACAGKAJsIgRrRwRAIA+nIQIgAEEoayEHIAZB8ABqIQggAyAEaiEAAkACQAJAAkADQAJAAkACQAJAIAggByAAQQFrIgBBCkkbIABBAnRqKAIAIgQoAgAiA0EBaw4DAwIAAQsgBCgCCCACRg0FIAANAwwFCyADQTNrQQJPDQgLIAANAQwDCyAEKAIIIAJGDQEgAA0AC0EAIQQLIAEoAhQiByABKAIYIgxGDQADQCAHKAIAIQgCQAJAIAkiASIAKAIAIgNFDQADQCADIgAoAhAiASAESwRAIAAhASAAKAIAIgMNAQwCCyABIARPBEAgACECDAMLIAAoAgQiAw0ACyAAQQRqIQELQSAQXCICIAQ2AhAgAiAANgIIIAJCADcCACACQQA2AhwgAkIANwIUIAEgAjYCACACIQAgBigCpAEoAgAiAwRAIAYgAzYCpAEgASgCACEACyAGKAKoASAAEGcgBiAGKAKsAUEBajYCrAELAkAgAigCGCIAIAIoAhxHBEAgACAINgIAIAIgAEEEajYCGAwBCyAAIAIoAhQiC2siAUECdSINQQFqIgNBgICAgARPDQNB/////wMgAUEBdSIKIAMgAyAKSRsgAUH8////B08bIgEEfyABQYCAgIAETw0FIAFBAnQQXAVBAAsiCiANQQJ0aiIDIAg2AgAgA0EEaiEIIAAgC0cEQANAIANBBGsiAyAAQQRrIgAoAgA2AgAgACALRw0ACyACKAIUIQALIAIgCiABQQJ0ajYCHCACIAg2AhggAiADNgIUIABFDQAgABBaCyAHQQRqIgcgDEcNAAsLIAVBMGokAAwECxBkAAsQagALQZb2BUHTmQNBmwNBo4IBEAEAC0HKsQZB05kDQaoDQaOCARABAAsLDwtB8O0FQcWYA0GUBkGN3gAQAQAL2gEBAn8CQAJAAkACfyAAKAIUIgEoAgBBD0YEQCABKAIIQRRGDAELIAEoAhAiASgCGEECRw0DIAEoAghB/////wdJCyEBAkACQAJAIABBACABGygCFCIAKAIAQQ9rDgIBAAILIAAoAhAiACgCAEEORw0CIAAoAhhBAkcNBCAAKAIIIQIMAwsgACgCCEEURg0CQeCtBUGkjAJBogxBw/oFEAEAC0GFzwJBpIwCQaUMEGIAC0Hw7QVBxZgDQZQGQY3eABABAAsgAg8LQZmxBUHmmgNBmAJBoq4FEAEACzoAIAEoAgAoAgBBCUYEQCAAIAAoAgAiARDmCUUEQCAAIAEQ5QkLDwtB8O0FQcWYA0GUBkGN3gAQAQALvgICB38BfiMAQRBrIgMkAAJAIAEoAgAiASgCAEEFRgRAIANCADcCCEHUiQtBADYCACADIANBCGo2AgRBzx0gASADQQRqEANB1IkLKAIAIQdB1IkLQQA2AgAgB0EBRg0BIAMoAgwhAiADKAIIEGACQCACQQFHDQAgASgCICICBEAgACgCcCAAKAJoIAEoAiQgAhChA0UNAQsgASgCJCEEIAAoAmgiBUGoAWoiBkEMQQQQXSICIAQ2AgggAkISNwIAIAIgBCgCBEEBRjYCBCABKQIYIQkgASgCICEEIAZBGEEEEF0iAUEANgIUIAEgBDYCECABIAk3AgggAUKEgICAEDcCACAAIAUgAiABQgAQygIQeQsgA0EQaiQADwtB8O0FQcWYA0GUBkGN3gAQAQALEAAhCCADKAIIEGAgCBAHAAvREAEOfyMAQfACayICJAACQAJAAkACQCABKAIAIgMoAgBBAkYEQCADKAIQIgVFDQIgAygCDCIEKAIEIgFBAkkNAiABQQdPBEAgASgCBEUNAwsgBSgCBCIBQQJJDQIgAUEHTwRAIAEoAgRFDQMLIAMoAggoAgRBAUYNAiAAKAJwIgEoAghBAUwEQCAEEOcBIQQgBRDnASEFQQQhBgJAAkACQCABKAIIDgICAQALQa3wAkGkjAJB6wAQYgALQQchBgsgBiAEIAUgBCAFSxtJDQMgAygCDCEEIAAoAnAhAQsgACgCaCEFIAIgAS0AIDoA9AEgAiABLQAhOgD1ASACIAEoAlA2AvgBIAIgASgCVCIBNgL8ASABBEAgASABKAIEQQFqNgIECyACIAU2AoACIAUoAoQBIQEgAkGQAmoiBUIANwIAIAJBnAJqIgZCADcCACACQagCaiIHQgA3AgAgAkG0AmoiCEIANwIAIAJB2AJqIglCADcCACACQgA3AsQCIAJCADcBygIgAkHkAmoiCkIANwIAIAJBADsBiAIgAiABNgKEAiACIAU2AowCIAIgBjYCmAIgAiAHNgKkAiACIAg2ArACIAJCADcCvAIgAiAJNgLUAiACIAo2AuACIAIgBDYCBCACQgA3AtQBIAJCADcC3AEgAkEANgLkAUHUiQtBADYCACACQgA3AnwgAiACQfQBajYC6AFBxwAgAkH8AGogAkEEahADQdSJCygCACEBQdSJC0EANgIAAkACQCABQQFHBEAgAigC1AEiAQRAIAIgATYC2AEgARBaCyACKALIAgRAQdSJC0EANgIAQQ1BkckFQfaKA0HECEGm0QAQBUHUiQsoAgAhC0HUiQtBADYCACALQQFGDQIMBwsgAi0A9AEEQCACQQA6AMUCDAULIAItAMUCRQ0EIAJBAToAxAIMBAsQACEBIAIoAtQBIgBFDQEgAiAANgLYASAAEFoMAQsQACEBCwwEC0Hw7QVBxZgDQZQGQY3eABABAAtBACEBAkAgAi0AxAINACACKAKgAg0AIAItANACDQAgAigCuAINACACLQC9Ag0AIAItAL8CDQAgAi0AwQINACACLQDDAg0AIAItAMYCDQAgAi0AiQINACACLQDHAg0AIAIoAugCDQAgAi0AiAINACACKALcAg0AIAItANECDQAgAygCECEFIAAoAmghBCACIAAoAnAiAS0AIDoAfCACIAEtACE6AH0gAiABKAJQNgKAASACIAEoAlQiATYChAEgAQRAIAEgASgCBEEBajYCBAsgAiAENgKIASAEKAKEASEBIAJBmAFqIgRCADcCACACQaQBaiIGQgA3AgAgAkGwAWoiB0IANwIAIAJBvAFqIghCADcCACACQeABaiIJQgA3AgAgAkIANwLMASACQgA3AdIBIAJB7AFqIgpCADcCACACQQA7AZABIAIgATYCjAEgAiAENgKUASACIAY2AqABIAIgBzYCrAEgAiAINgK4ASACQgA3AsQBIAIgCTYC3AEgAiAKNgLoASACIAU2AuwCIAJCADcCXCACQgA3AmQgAkEANgJsQdSJC0EANgIAIAJCADcCBCACIAJB/ABqNgJwQccAIAJBBGogAkHsAmoQA0HUiQsoAgAhAUHUiQtBADYCAAJAAkACQCABQQFHBEAgAigCXCIBBEAgAiABNgJgIAEQWgsgAigC0AEEQEHUiQtBADYCAEENQZHJBUH2igNBxAhBptEAEAVB1IkLKAIAIQxB1IkLQQA2AgAgDEEBRw0HEAAhAQwDCyACLQB8BEAgAkEAOgDNAQwCCyACLQDNAUUNASACQQE6AMwBDAELEAAhASACKAJcIgBFDQEgAiAANgJgIAAQWgwBC0EAIQEgAi0AzAENASACKAKoAQ0BIAItANgBDQEgAigCwAENASACLQDFAQ0BIAItAMcBDQEgAi0AyQENASACLQDLAQ0BIAItAM4BDQEgAi0AkQENASACLQDPAQ0BIAIoAvABDQEgAi0AkAENASACKALkAQ0BIAItANkBDQEgAygCCCEBIAAoAmghBCAAKAJwIQVB1IkLQQA2AgBBwoIBIAJBBGogBSAEIAEQDSEEQdSJCygCACEBQdSJC0EANgIAAkAgAUEBRwRAQdSJC0EANgIAQfMFIAQgAkH0AWoQAiEFQdSJCygCACEBQdSJC0EANgIAAkAgAUEBRg0AQQAhAQJAIAUNAEHUiQtBADYCAEHzBSAEIAJB/ABqEAIhDkHUiQsoAgAhDUHUiQtBADYCACANQQFGDQEgDg0AIAMoAgQhBSADKAIQIQYgAygCDCEHIAMoAgghAyAAKAJoIQFB1IkLQQA2AgBBDCABQagBakEUQQQQBCEBQdSJCygCACEPQdSJC0EANgIAIA9BAUYNAyABIAM2AhAgAUERNgIAIAEgBjYCDCABIAc2AgggASAFNgIECyAEEN8BGgwECxAAIQEgBBDfARoMAgsQACEBDAELEAAhASAEEN8BGgsgAkH8AGoQ3wEaDAQLIAIoAuwBEGAgAigC4AEQYCACKAK8ARBgIAIoArABEGAgAigCpAEQbyACKAKYARBvIAIoAoQBIgNFDQAgAyADKAIEIgRBAWs2AgQgBA0AIAMgAygCACgCCBEBACADEHULIAIoAuQCEGAgAigC2AIQYCACKAK0AhBgIAIoAqgCEGAgAigCnAIQbyACKAKQAhBvAkAgAigC/AEiA0UNACADIAMoAgQiBEEBazYCBCAEDQAgAyADKAIAKAIIEQEAIAMQdQsgAUUNACAAIAEQeQsgAkHwAmokAA8LAAsgAkH0AWoQ3wEaIAEQBwALvEECPn8BfiMAQcACayICJAACQAJAAkACQAJAIAEoAgAiCCgCAEEBRgRAIAgoAhRFDQIgCEEQaiEOA0ACQAJAIAZBAnQiBSAOKAIAaigCACIHKAIAQQJHDQAgBygCECIDRQ0AAkACQCAHKAIMIgQoAgBBBEcNACAEKAIUDQAgB0EQaiENIAcoAgggBCgCECAAKAJwIAAoAmgQ5wlFBEAgBygCECEDDAELIAQgBygCCCIBNgIUAkACQCABBEAgASgCBEEBRgRAIARBATYCBAwDCyAEKAIQIgENASAEQQA2AgQMAgsgBEEBNgIEDAELIAQgASgCBCIBNgIEIAFBAkkNACAAKAJoQagBakEMQQQQXSIBIAQ2AgggAUISNwIAIAEgBCgCBEEBRjYCBCABIQQLIAgoAhQgBksNAQwJCyADKAIAQQRHDQEgAygCFA0BIAcoAgggAygCECAAKAJwIAAoAmgQ5wlFDQEgBygCCCEBIAAoAmhBqAFqQRBBBBBdIgQgATYCDCAEQRQ2AgggBEIPNwIAIAQQswIgAyAENgIUAkAgBCgCBEEBRgRAIANBATYCBAwBCyADKAIQIgFFBEAgA0EANgIEDAELIAMgASgCBCIBNgIEIAFBAkkNACAAKAJoQagBakEMQQQQXSIBIAM2AgggAUISNwIAIAEgAygCBEEBRjYCBCABIQMLIAgoAhQgBk0NAiAHQQxqIQ0gAyEECyAIKAIQIAVqIAQ2AgAgDiAGQQFqIA0oAgAQtQQgCCAIKAIEQQFBABDmAQsgBkEBaiIGIAgoAhQiAUkNAQwDCwsMBAtB8O0FQcWYA0GUBkGN3gAQAQALIAFBAkkNACACQbgCaiEKIAJBrAJqIQkgAkGIAmohDyACQfwBaiEMIAJB8AFqIQ0gAkHkAWohB0EAIQYDQAJAAkACQAJAAkAgASAGSwRAIA4oAgAiBCAGQQJ0IgVqKAIAIhEoAgBBBEcNBSARKAIUIhNFDQUgESgCBEEBRg0FIBEoAhANASABIAZBAWoiA00NCSAEIANBAnRqKAIAIhIoAgBBBEcNBSARKAIIIBIoAghHDQUgEigCEA0CIBIoAhQiAwRAIAAtAGxFDQYgEigCBEEBRg0GIAAoAmghASACIAAoAnAiBS0AIDoAyAEgAiAFLQAhOgDJASACIAUoAlA2AswBIAIgBSgCVCIFNgLQASAFBEAgBSAFKAIEQQFqNgIECyACIAE2AtQBIAEoAoQBIQEgAkIANwLkASACQQA7AdwBIAIgATYC2AEgAkIANwLwASACIAc2AuABIAJCADcC/AEgAiANNgLsASACQgA3AogCIAIgDDYC+AEgAkIANwKsAiACIA82AoQCIAJCADcBngIgAkIANwKYAiACQgA3ApACIAJCADcCuAIgAiAJNgKoAiACIAo2ArQCIAIgAzYCMCACQgA3AlggAkEANgLAASACQgA3ArgBIAJCADcCsAFB1IkLQQA2AgAgAiACQcgBajYCxAFBxwAgAkHYAGogAkEwahADQdSJCygCACEBQdSJC0EANgIAAkAgAUEBRwRAIAIoArABIgEEQCACIAE2ArQBIAEQWgsgAigCnAIEQEHUiQtBADYCAEENQZHJBUH2igNBxAhBptEAEAVB1IkLKAIAIR1B1IkLQQA2AgAgHUEBRw0MEAAhAQwCCyACLQDIAQRAIAJBADoAmQIMBwsgAi0AmQJFDQZBASEEIAJBAToAmAIMBwsQACEBIAIoArABIgBFDQAgAiAANgK0ASAAEFoLDAsLIAAoAmhBqAFqQQxBBBBdIgEgEzYCCCABQhI3AgAgASATKAIEQQFGNgIEIAgoAhQgBk0NCSAOKAIAIAVqIAE2AgAMBQsMCAtBx8sDQaSMAkHKCEHJ+gIQAQALQbvLA0GkjAJBzwhByfoCEAEAC0EBIQQgAi0AmAINACACKAL0AQ0AIAItAKQCDQAgAigCjAINACACLQCRAg0AIAItAJMCDQAgAi0AlQINACACLQCXAg0AIAItAJoCDQAgAi0A3QENACACLQCbAg0AIAIoArwCDQAgAi0A3AENACACKAKwAg0AIAItAKUCQQBHIQQLIAIoArgCEGAgAigCrAIQYCACKAKIAhBgIAIoAvwBEGAgAigC8AEQbyACKALkARBvAkAgAigC0AEiA0UNACADIAMoAgQiAUEBazYCBCABDQAgAyADKAIAKAIIEQEAIAMQdQsgBA0AIBEoAhQhASASKAIUIQMgACgCaEGoAWpBFEEEEF0iBSADNgIQIAUgATYCDCAFQQg2AgggBUIQNwIAIAFBACADG0UEQEG/8wBBpKQCQfAFQbLDAxABAAsgBSABKAIEIgFBAUcEf0EBIAEgAygCBEEBRhsFQQELNgIEIBEgBTYCFCASQhY3AgALIAZBAWoiBiAIKAIUIgFBAWtJDQALAkAgAUEBSwRAIAJBuAJqIRggAkGsAmohGSACQYgCaiEaIAJB/AFqIREgAkHwAWohEiACQeQBaiETQQAhBgNAAn8CQAJAAkAgASAGSwRAAkACQCAGQQJ0IhQgDigCAGooAgAiAygCAEEERw0AIAMoAhQiBUUNACADKAIQDQAgAygCBA0AAkACQAJAIAUoAgBBD2sOAgEAAwsgBSgCCEEPRw0CIAUoAhAiAygCAEEORw0CIAMoAhhBAkcNBSADKAIIQf7///8HTQ0BDAILIAUoAghBFEcNAQsgBSgCDCIFDQELIAZBAWoMBQsgAkIINwJEIAUoAgBBCUYEQCACIAUoAggiATYCTCACIAAoAmQgARDQAjYCSCACQcQAaiEFCyAAKAJoIQEgAiAAKAJwIgMtACA6AMgBIAIgAy0AIToAyQEgAiADKAJQNgLMASACIAMoAlQiAzYC0AEgAwRAIAMgAygCBEEBajYCBAsgAiABNgLUASABKAKEASEBIAJCADcC5AEgAkEAOwHcASACIAE2AtgBIAJCADcC8AEgAiATNgLgASACQgA3AvwBIAIgEjYC7AEgAkIANwKIAiACIBE2AvgBIAJCADcCrAIgAiAaNgKEAiACQgA3AZ4CIAJCADcCmAIgAkIANwKQAiACQgA3ArgCIAIgGTYCqAIgAiAYNgK0AiACIAU2AjAgAkIANwJYIAJBADYCwAEgAkIANwK4ASACQgA3ArABQdSJC0EANgIAIAIgAkHIAWo2AsQBQccAIAJB2ABqIAJBMGoQA0HUiQsoAgAhAUHUiQtBADYCAAJAAkAgAUEBRwRAIAIoArABIgEEQCACIAE2ArQBIAEQWgsgAigCnAIEQEHUiQtBADYCAEENQZHJBUH2igNBxAhBptEAEAVB1IkLKAIAIR5B1IkLQQA2AgAgHkEBRg0CDA0LIAItAMgBBEAgAkEAOgCZAgwGCyACLQCZAkUNBUEBIQQgAkEBOgCYAgwGCxAAIQEgAigCsAEiAEUNASACIAA2ArQBIAAQWgwBCxAAIQELDAsLDAkLQZmxBUHmmgNBmAJBoq4FEAEAC0EBIQQgAi0AmAINACACKAL0AQ0AIAItAKQCDQAgAigCjAINACACLQCRAg0AIAItAJMCDQAgAi0AlQINACACLQCXAg0AIAItAJoCDQAgAi0A3QENACACLQCbAg0AIAIoArwCDQAgAi0A3AENACACKAKwAg0AIAItAKUCQQBHIQQLIAIoArgCEGAgAigCrAIQYCACKAKIAhBgIAIoAvwBEGAgAigC8AEQbyACKALkARBvAkAgAigC0AEiA0UNACADIAMoAgQiAUEBazYCBCABDQAgAyADKAIAKAIIEQEAIAMQdQsgBkEBaiEDIAgoAhQhAQJAIAQEQCADIQ0MAQsgAkIANwNgIAJCADcDWCACQYCAgPwDNgJoAkACQCABIAZNBEBB1IkLQQA2AgBBDUHFogFBiaIDQbwBQaaIBRAFQdSJCygCACEfQdSJC0EANgIAIB9BAUcNCRAAIQEMAQsgDigCACAUaigCACEBQdSJC0EANgIAQcCCASABEAYhBEHUiQsoAgAhAUHUiQtBADYCAAJAAkACfwJAAkACfwJAIAFBAUcEQEHUiQtBADYCAEHBggEgAkHIAWogAkHYAGogBCAEEAVB1IkLKAIAIQFB1IkLQQA2AgACQAJAIAFBAUcEQCADIQ0CQCADIAgoAhRPDQADQEEAIQECQCANQQJ0IgwgDigCAGooAgAiBCgCAEEERw0AIAQoAhQiB0UNACAEKAIQDQAgBCgCBA0AAkACQAJAIAcoAgBBD2sOAgEAAwsgBygCCEEPRw0CIAcoAhAiBCgCAEEORw0CIAQoAhhBAkcEQEHUiQtBADYCAEENQZmxBUHmmgNBmAJBoq4FEAVB1IkLKAIAISBB1IkLQQA2AgAgIEEBRw0ZEAAhAQwRCyAEKAIIQf7///8HTQ0BDAILIAcoAghBFEcNAQsgBygCDCEBCyACQcTuCTYCyAFB1IkLQQA2AgAgAiACQcgBaiIENgLYAUH/AiABIAUgBBAEIQdB1IkLKAIAIQFB1IkLQQA2AgACQCABQQFHBEACQAJAIAQgAigC2AEiAUYEQEEEIQ8gBCEBDAELQQUhDyABRQ0BCyABIAEoAgAgD0ECdGooAgARAQALIAdFDQMgCCgCFCANSw0BQdSJC0EANgIAQQ1BxaIBQYmiA0G8AUGmiAUQBUHUiQsoAgAhIUHUiQtBADYCACAhQQFHDRcQACEBDA8LEAAhAQJAIAIoAtgBIgYgAkHIAWoiAEYEQEEEIQMgACEGDAELQQUhAyAGRQ0PCyAGIAYoAgAgA0ECdGooAgARAQAMDgsgDigCACAMaigCACEBQdSJC0EANgIAQcCCASABEAYhBEHUiQsoAgAhIkHUiQtBADYCACAiQQFGDQNB1IkLQQA2AgBBwYIBIAJByAFqIAJB2ABqIAQgBBAFQdSJCygCACEjQdSJC0EANgIAICNBAUYNAyACLQDMAUUNASANQQFqIg0gCCgCFEkNAAsLIA0gBmsiCUEDTw0CDAwLEAAhAQwKCxAAIQEMCQsgBiAIKAIUTwRAQdSJC0EANgIAQQ1BxaIBQYmiA0G8AUGmiAUQBUHUiQsoAgAhJEHUiQtBADYCACAkQQFHDREQACEBDAkLIA4oAgAgFGooAgAhAUHUiQtBADYCAEHAggEgARAGIQdB1IkLKAIAIQFB1IkLQQA2AgACQCABQQFHBEAgAyANSQ0BIAchAQwJCxAAIQEMCQsgCCgCFCEPIAchAQNAIAMgD08EQEHUiQtBADYCAEENQcWiAUGJogNBvAFBpogFEAVB1IkLKAIAISVB1IkLQQA2AgAgJUEBRw0SEAAhAQwKCwJ/IA4oAgAgA0ECdGooAgAiCygCFCIQKAIAQQ9HIgxFBEAgECgCCCIKQRRGDAELIBAoAhAiBSgCGEECRw0GQQ8hCiAFKAIIQf////8HSQshBQJAAkACQAJAIAtBACAFGygCFCIFKAIAQQ9rDgIBAAILIAUoAhAiBSgCAEEORwRAQY3eACEBQZQGIQZBxZgDIQNB8O0FDAoLIAUoAhhBAkcNCCAFKAIIIQQMAgtBACEEIAUoAghBFEYNAUHD+gUhAUGiDCEGQaSMAiEDQeCtBQwIC0HUiQtBADYCAEEUQYXPAkGkjAJBpQwQCAwICwJAAkACQAJAIAtBACAMBH8gECgCECIFKAIYQQJHDQcgBSgCCEH/////B0kFIApBFEYLGygCFCIMKAIAQQ9rDgIBAAILIAwoAhAiBSgCAEEORwRAQY3eACEBQZQGIQZBxZgDIQNB8O0FDAcLIAUoAhhBAkcNBSAFKAIIIQUMAgtBACEFIAwoAghBFEYNAUHD+gUhAUGiDCEGQaSMAiEDQeCtBQwFC0HUiQtBADYCAEEUQYXPAkGkjAJBpQwQCAwFCyAEIAcgBCAHSRshByABIAUgASAFSxshASANIANBAWoiA0cNAAsMBwsQACEBDAcLQaKuBSEBQZgCIQZB5poDIQNBmbEFCyEAQdSJC0EANgIAQQ0gACADIAYgARAFC0HUiQsoAgAhJkHUiQtBADYCACAmQQFHDQwQACEBDAQLQaKuBSEBQZgCIQZB5poDIQNBmbEFCyEAQdSJC0EANgIAQQ0gACADIAYgARAFC0HUiQsoAgAhJ0HUiQtBADYCACAnQQFHDQkQACEBDAELIAEgB2siAUGACEsNASABIAlBA2xLDQEgAkIANwM4IAJCADcDMCACQYCAgPwDNgJAAkACQCANIAYiAUsiCkUNAANAAn8CQAJ/IAEgCCgCFE8EQEGmiAUhAUG8ASEGQYmiAyEDQcWiAQwBCyAOKAIAIAFBAnRqKAIAIgUoAhQiAygCAEEPRgRAIAMoAghBFEYMAwsgAygCECIDKAIYQQJGDQFBoq4FIQFBmAIhBkHmmgMhA0GZsQULIQBB1IkLQQA2AgBBDSAAIAMgBiABEAVB1IkLKAIAIShB1IkLQQA2AgAgKEEBRw0NEAAhAQwECyADKAIIQf////8HSQshAyAFQQAgAxsiAykCCCFAIAMoAgghA0HUiQtBADYCAEH2ACACQcgBaiACQTBqIAMgQBCoAkHUiQsoAgAhKUHUiQtBADYCACApQQFHBEAgAUEBaiIBIA1GDQIMAQsLEAAhAQwBC0EAIQkCQAJAAkACQANAAkBB1IkLQQA2AgBBugIgAkEcaiIDIAkQA0HUiQsoAgAhKkHUiQtBADYCACAqQQFGDQBB1IkLQQA2AgBB/AEgA0GaEBACIQNB1IkLKAIAIStB1IkLQQA2AgAgK0EBRg0CIAIgAygCCDYC0AEgAiADKQIANwPIASADQgA3AgAgA0EANgIIIAIgAigCzAEgAiwA0wEiAUH/AXEgAUEASCIBGzYCVCACIAIoAsgBIAJByAFqIAEbNgJQQdSJC0EANgIAIAIgAikCUDcDEEEGIAJBKGogAkEQahADQdSJCygCACEsQdSJC0EANgIAICxBAUYNAyACKAIsIRUgAigCKCEMIAIsANMBQQBIBEAgAigCyAEQWgsgAiwAJ0EASARAIAMoAgAQWgsgAigCNCIERQ0FAkAgBGlBAUsiA0UEQCAEQQFrIAxxIQUMAQsgBCAMIgVLDQAgBSAEcCEFCyACKAIwIAVBAnRqKAIAIgFFDQUgASgCACIBRQ0FIAlBAWohCSADRQRAIARBAWshBANAAkAgDCABKAIEIgNHBEAgAyAEcSAFRg0BDAkLIAEoAgggDEYNBAsgASgCACIBDQALDAYLA0ACQCAMIAEoAgQiA0cEQCADIARPBH8gAyAEcAUgAwsgBUYNAQwICyABKAIIIAxGDQMLIAEoAgAiAQ0ACwwFCwsQACEBDAQLEAAhAQwBCxAAIQEgAiwA0wFBAE4NACACKALIARBaCyACLAAnQQBODQEgAigCHBBaDAELQQAhBUEAIQRBACEBIAYhDwJAAkAgCkUNAAJAAkACQANAAn8CQAJ/IA8gCCgCFE8EQEGmiAUhAUG8ASEGQYmiAyEDQcWiAQwBCyAOKAIAIA9BAnRqKAIAIgkoAhQiAygCAEEPRgRAIAMoAghBFEYMAwsgAygCECIDKAIYQQJGDQFBoq4FIQFBmAIhBkHmmgMhA0GZsQULIQBB1IkLQQA2AgBBDSAAIAMgBiABEAVB1IkLKAIAIS1B1IkLQQA2AgAgLUEBRw0REAAhAQwHCyADKAIIQf////8HSQshAyAJQQAgAxspAgghQEHUiQtBADYCAEHAggEgCRAGIQpB1IkLKAIAIS5B1IkLQQA2AgAgLkEBRg0CIAQgBWsiA0EDdSIJIAogB2siC00EQANAAkAgASAERwRAIAQgFTYCBCAEIAw2AgAMAQsgCUEBaiIKQYCAgIACTwRAQdSJC0EANgIAQfcAEAkMBwsCQEH/////ASADQQJ1IgQgCiAEIApLGyADQfj///8HTxsiEEUEQEEAIQoMAQsgEEGAgICAAk8EQEHUiQtBADYCAEEDEAkMCAtB1IkLQQA2AgBBBCAQQQN0EAYhCkHUiQsoAgAhL0HUiQtBADYCACAvQQFGDQULIAogCUEDdGoiBCAVNgIEIAQgDDYCACAEIQMgASAFRwRAA0AgA0EIayIDIAFBCGsiASkCADcCACABIAVHDQALIAUhAQsgAQRAIAEQWgsgAyEFIBBBA3QgCmohAQsgBEEIaiIEIAVrIgNBA3UiCSALTQ0ACwsgDCAFIAtBA3RqIgMoAgBGBEAgAyBANwIAIA9BAWoiDyANRg0FDAELC0HUiQtBADYCAEENQZSbBEGkjAJB9QxB5RwQBQwCCxAAIQEMAwsQACEBDAILQdSJCygCACEwQdSJC0EANgIAIDBBAUcNCxAAIQEMAQtBpogFIQ9BvAEhFkGJogMhF0HFogEhEAJAIAgoAhQgBk0NACAAKAJoIQtBACEJAkAgDigCACAUaigCACIBKAIAQQRHDQAgASgCFCIDRQ0AIAEoAhANACABKAIEDQACQAJAAkAgAygCAEEPaw4CAQADCyADKAIIQQ9HDQIgAygCECIBKAIAQQ5HDQIgASgCGEECRwRAQaKuBSEPQZgCIRZB5poDIRdBmbEFIRAMBAsgASgCCEH+////B00NAQwCCyADKAIIQRRHDQELIAMoAgwhCQsCQAJAAkACQCAHRQRAIAkhCgwBCyACQQI2AtgBIAIgBzYCyAFB1IkLQQA2AgBBDCALQagBaiIDQSBBCBAEIQdB1IkLKAIAIQFB1IkLQQA2AgACQCABQQFHBEAgB0IANwIEIAdBDjYCACAHQgA3AgwgB0IANwIUQdSJC0EANgIAQbEFIAdBCGogAkHIAWoQAhpB1IkLKAIAITFB1IkLQQA2AgAgMUEBRw0BCxAAIQEgAkHIAWoQWRoMBgsgByACKALYATYCBCACQcgBahBZGkHUiQtBADYCAEEMIANBFEEEEAQhCkHUiQsoAgAhMkHUiQtBADYCACAyQQFGDQEgCiAHNgIQIAogCTYCDCAKQQE2AgggCkIQNwIAQdSJC0EANgIAQeXtACAKEApB1IkLKAIAITNB1IkLQQA2AgAgM0EBRg0BC0HUiQtBADYCAEEMIAtBqAFqIglBKEEEEAQhC0HUiQsoAgAhNEHUiQtBADYCACA0QQFGDQAgC0IANwIIIAtChYCAgBA3AgAgC0IANwIYIAtBADYCECALIAk2AhQgC0IANwIgIAQgBWsiAUEDdSEHIAQgBUcEQCALIAc2AhBB1IkLQQA2AgBBDCAJIAFBBBAEIQNB1IkLKAIAITVB1IkLQQA2AgAgNUEBRg0BIAsgAzYCCEEAIQEgBSEDA0AgCygCCCABQQN0aiADKQIANwIAIAFBAWohASADQQhqIgMgBEcNAAsLIAsgCjYCJCALQQA2AiAgCyAMrSAVrUIghoQiQDcCGCALIAc2AgxB1IkLQQA2AgBBDCAJQSBBBBAEIQRB1IkLKAIAITZB1IkLQQA2AgAgNkEBRg0AIARCADcCBCAEQQE2AgAgBEIANwIMIAQgCTYCHCAEQoCAgIAgNwIUQdSJC0EANgIAQQwgCUEIQQQQBCEDQdSJCygCACE3QdSJC0EANgIAIDdBAUYNACAEIAM2AhAgAyALNgIAIARBATYCFEHUiQtBADYCAEGDAyAEIBtBgH5xIhtBAEEAEAVB1IkLKAIAIThB1IkLQQA2AgAgOEEBRg0AIAQgQDcCCEHUiQtBADYCAEGDAyAEIBxBgH5xIhxBAEEAEAVB1IkLKAIAITlB1IkLQQA2AgAgOUEBRg0AIAgoAhQiASANQQFrIgNNDQMgDigCACADQQJ0aiAENgIAIAMgBk0NAiAGIAEgASAGSRshAQwBCxAAIQEMAwsDQCABIAZHBEAgDigCACAGQQJ0aigCAEIWNwIAIAMgBkEBaiIGRw0BDAILC0HUiQtBADYCAEENQcWiAUGJogNBvAFBpogFEAVB1IkLKAIAITpB1IkLQQA2AgAgOkEBRw0MEAAhAQwCCyAAQQE6AHQgBQRAIAUQWgsgAigCOCIBBEADQCABKAIAITsgARBaIDsiAQ0ACwsgAigCMCEBIAJBADYCMCABRQ0EIAEQWgwEC0HUiQtBADYCAEENIBAgFyAWIA8QBUHUiQsoAgAhPEHUiQtBADYCACA8QQFHDQoQACEBCyAFRQ0AIAUQWgsgAkEwahCiAQsgAkHYAGoQogEgARAHAAsgAigCYCIBBEADQCABKAIAIT0gARBaID0iAQ0ACwsgAigCWCEBIAJBADYCWCABBEAgARBaCyAIKAIUIQELIA0LIQYgBiABQQFrSQ0ACyABQQFLDQELQcW9BUGkjAJBmglB3LwDEAEACyAIKAIIIgNFDQACQCAOKAIAKAIAIgEoAgAiBUESRgRAIAEoAggiASgCAEEERg0BDAILIAVBBEcNAQsgASgCFEUNACABKAIIIANHDQAgASgCBEEBRg0AIAAoAmghByACIAgpAggiQDcDCCACIEA3A1ggCCACQQhqENYGQQFHDQACQAJAIAVBEkcEQCABKAIQDQEgACAHIAdBFCABKAIUENIDIAhBAEIAEI8IEHkgAUIWNwIAIAggCCgCBEEBQQAQ5gEMAwsgAkHIAWogACgCcCAAKAJoIAEoAhAQnwciBRDtBSE+IAUQ3wEaID5FBEAgACgCcCAAKAJoIAEoAhQgASgCEBChA0UNAyAIKAIURQ0FIAgoAhAoAgBCFjcCACAAIAcgASgCFCABKAIQIAhCABCPCBB5DAMLIAgoAhRFDQQgCCgCECIDKAIAIQYgAkIWNwIwIAMgAkEwajYCACAAKAJwIAAoAmggASgCFCAIEKEDIQQgAkHIAWogACgCcCAAKAJoIAgQnwciBRDtBSE/IAUQ3wEaIAgoAhRFDQEgDigCACAGNgIAID8gBEEBc3INAiABKAIQIgMoAgQiBUECSQ0CIAVBB08EQCAFKAIERQ0DCyAIKAIEIgVBAkkNAiAFQQdPBEAgBSgCBEUNAwsgCCgCECgCAEIWNwIAIAAgByABKAIUIAMgCBC1ChB5DAILQbDLA0GkjAJBrQlB3LwDEAEACwwCCyACQcACaiQADwsAC0HFogFBiaIDQbwBQaaIBRABAAsgAkHIAWoQ3wEaIAEQBwALJAAgACgCAEEeRwRAQZyzBkGntwJBiBlBv+sEEAEACyAAKAIMC90eAQ5/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgASgCACICKAIADl4AAQIDBAUGBwgJCgsMDR4fICEiIyQlNTYODxAREhMUFRYXGBkaGxwdNyYnKCkqKywtLi8wMTIzNDg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaW1wAXQtBmP0DQeWzA0HqARBiAAsgAEHkgQEgARBYIAIoAgBBAUcNXCACKAIUIgFBAEwNWyAAQQRqIQQDQCABQQFrIgAgAigCFE8NXiACKAIQIABBAnRqIgMoAgBFDV8gBEGlgAEgAxBbIAFBAUshBiAAIQEgBg0ACwxbCyAAQeWBASABEFggAigCAEECRw1bIAIoAhAEQCAAQQRqQaWAASACQRBqEFsLDGALIABB5oEBIAEQWCACKAIAQQNHDVoMYwsgAEHngQEgARBYIAIoAgBBBEcNWSACKAIUBEAgAEEEakGlgAEgAkEUahBbCyACKAIQRQ1YIABBBGpBpYABIAJBEGoQWw8LIABB6IEBIAEQWCACKAIAQQVHDVggAEGlgAEgAkEkahBYIAIoAiBFDVcgAEEEakGlgAEgAkEgahBbDwsgAEHpgQEgARBYIAIoAgBBBkcNVyACKAIMIgFBAEwNViAAQQRqIQQDQCABQQFrIgAgAigCDE8NWSACKAIIIABBAnRqIgMoAgBFDVogBEGlgAEgAxBbIAFBAUshByAAIQEgBw0ACwxWCyAAQeqBASABEFggAigCAEEHRw1WIABBpYABIAJBHGoQWCACKAIQIgFBAEwNVSAAQQRqIQQDQCABQQFrIgAgAigCEE8NWCACKAIMIABBAnRqIgMoAgBFDVkgBEGlgAEgAxBbIAFBAUshCCAAIQEgCA0ACwxVCyAAQeuBASABEFggAigCAEEIRg1UDFULIABB7IEBIAEQWCACKAIAQQlHDVQMYAsgAEHtgQEgARBYIAIoAgBBCkYNUgxTCyAAQe6BASABEFggAigCAEELRw1SDFsLIABB74EBIAEQWCACKAIAQQxHDVEMXwsgAEHwgQEgARBYIAIoAgBBDUcNUAxdCyAAQfGBASABEFggAigCAEEYRw1PDF4LIABB8oEBIAEQWCACKAIAQRlHDU4gAEGlgAEgAkEgahBYDF0LIABB84EBIAEQWCACKAIAQRpHDU0MVAsgAEH0gQEgARBYIAIoAgBBG0cNTAxUCyAAQfWBASABEFggAigCAEEcRg1KDEsLIABB9oEBIAEQWCACKAIAQR1HDUoMVgsgAEH3gQEgARBYIAIoAgBBHkcNSSAAQaWAASACQRRqEFgMVQsgAEH4gQEgARBYIAIoAgBBH0cNSAxNCyAAQfmBASABEFggAigCAEEgRw1HDFELIABB+oEBIAEQWCACKAIAQSFHDUYMUQsgAEH7gQEgARBYIAIoAgBBIkcNRSAAQaWAASACQSBqEFgPCyAAQfyBASABEFggAigCAEEjRw1EDFELIABB/YEBIAEQWCACKAIAQSRHDUMMSgsgAEH+gQEgARBYIAIoAgBBJUYNQQxCCyAAQf+BASABEFggAigCAEEmRw1BDEULIABBgIIBIAEQWCACKAIAQSdHDUAMRAsgAEGBggEgARBYIAIoAgBBDkYNPgw/CyAAQYKCASABEFggAigCAEEPRw0+DEoLIABBg4IBIAEQWCACKAIAQRBHDT0MSAsgAEGEggEgARBYIAIoAgBBEUcNPAxACyAAQYWCASABEFggAigCAEESRw07DEsLIABBhoIBIAEQWCACKAIAQRNHDTogAigCCEUNOQxLCyAAQYeCASABEFggAigCAEEURg04DDkLIABBiIIBIAEQWCACKAIAQRVHDTgMSAsgAEGJggEgARBYIAIoAgBBKUYNNgw3CyAAQYqCASABEFggAigCAEEqRw02DEYLIABBi4IBIAEQWCACKAIAQStGDTQMNQsgAEGMggEgARBYIAIoAgBBLEcNNAw5CyAAQY2CASABEFggAigCAEEtRw0zDDwLIABBjoIBIAEQWCACKAIAQS5HDTIMOgsgAEGPggEgARBYIAIoAgBBL0YNMAwxCyAAQZCCASABEFggAigCAEEwRw0wDDgLIABBkYIBIAEQWCACKAIAQTFHDS8MNgsgAEGSggEgARBYIAIoAgBBMkcNLgwyCyAAQZOCASABEFggAigCAEEzRw0tIAIoAigiAUEASgRAIABBBGohAwNAIAFBAWsiBCACKAIoTw0wIAIoAiQgBEECdGoiBSgCAEUNMSADQaWAASAFEFsgAUEBSyEJIAQhASAJDQALCww2CyAAQZSCASABEFggAigCAEE0RgRADD0LDCwLIABBlYIBIAEQWCACKAIAQTVHDSsgAigCFCIBQQBMDSogAEEEaiEEA0AgAUEBayIAIAIoAhRPDS0gAigCECAAQQJ0aiIDKAIARQ0uIARBpYABIAMQWyABQQFLIQogACEBIAoNAAsMKgsgAEGWggEgARBYIAIoAgBBNkYNKQwqCyAAQZeCASABEFggAigCAEE3Rw0pDDkLIABBmIIBIAEQWCACKAIAQRZGDScMKAsgAEGZggEgARBYIAIoAgBBF0YNJgwnCyAAQZqCASABEFggAigCAEEoRg0lDCYLIABBm4IBIAEQWCACKAIAQThHDSUgAigCDCIBQQBMDSQgAEEEaiEEA0AgAUEBayIAIAIoAgxPDScg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UQxZCyADQc6CASABEFggAigCAEEMRw1QDF0LIANBz4IBIAEQWCACKAIAQQ1HDU8MWwsgA0HQggEgARBYIAIoAgBBGEcNTgxcCyADQdGCASABEFggAigCAEEZRw1NIANBo4ABIAJBIGoQWAxbCyADQdKCASABEFggAigCAEEaRw1MDFILIANB04IBIAEQWCACKAIAQRtHDUsMUgsgA0HUggEgARBYIAIoAgBBHEYNWwxKCyADQdWCASABEFggAigCAEEdRw1JDFQLIANB1oIBIAEQWCACKAIAQR5HDUggA0GjgAEgAkEUahBYDFMLIANB14IBIAEQWCACKAIAQR9HDUcMSwsgA0HYggEgARBYIAIoAgBBIEcNRgxPCyADQdmCASABEFggAigCAEEhRw1FDE8LIANB2oIBIAEQWCACKAIAQSJHDUQgA0GjgAEgAkEgahBYDFULIANB24IBIAEQWCACKAIAQSNHDUMMTwsgA0HcggEgARBYIAIoAgBBJEcNQgxICyADQd2CASABEFggAigCAEElRg1SDEELIANB3oIBIAEQWCACKAIAQSZHDUAMQwsgA0HfggEgARBYIAIoAgBBJ0cNPwxCCyADQeCCASABEFggAigCAEEORg1PDD4LIANB4YIBIAEQWCACKAIAQQ9HDT0MSAsgA0HiggEgARBYIAIoAgBBEEcNPAxGCyADQeOCASABEFggAigCAEERRw07DD4LIANB5IIBIAEQWCACKAIAQRJHDToMSQsgA0HlggEgARBYIAIoAgBBE0cNOQxJCyADQeaCASABEFggAigCAEEURg1JDDgLIANB54IBIAEQWCACKAIAQRVHDTcMRgsgA0HoggEgARBYIAIoAgBBKUYNRww2CyADQemCASABEFggAigCAEEqRw01DEQLIANB6oIBIAEQWCACKAIAQStGDUUMNAsgA0HrggEgARBYIAIoAgBBLEcNMww3CyADQeyCASABEFggAigCAEEtRw0yDDoLIANB7YIBIAEQWCACKAIAQS5HDTEMOAsgA0HuggEgARBYIAIoAgBBL0YNQQwwCyADQe+CASABEFggAigCAEEwRw0vDDYLIANB8IIBIAEQWCACKAIAQTFHDS4MNAsgA0HxggEgARBYIAIoAgBBMkcNLQwwCyADQfKCASABEFggAigCAEEzRw0sIAIoAigiAEEA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Rw0LIAIoAhQEQCAAQQRqQaGAASACQRRqEFsLDBYLIABB2IEBIAEQWCACKAIAQdMARw0KDA8LIABB2YEBIAEQWCACKAIAQdQARw0JDBQLIABB2oEBIAEQWCACKAIAQdUARw0IDBQLIABB24EBIAEQWCACKAIAQdYARw0HDAsLIABB3IEBIAEQWCACKAIAQdcARw0GDAsLIABB3YEBIAEQWCACKAIAQdgARw0FDBULIABB3oEBIAEQWCACKAIAQdkARw0EDA8LIABB34EBIAEQWCACKAIAQdoARw0DDA0LIABB4IEBIAEQWCACKAIAQdsARw0CDAcLIABB4YEBIAEQWCACKAIAQdwARw0BIABBoYABIAJBPGoQWCACKAIwIgFBAEwNACAAQQRqIQQDQCABQQFrIgAgAigCME8NAyACKAIsIABBAnRqIgMoAgBFDQQgBEGhgAEgAxBbIAFBAUshDyAAIQEgDw0ACwsPC0Hw7QVBxZgDQZQGQY3eABABAAtBxaIBQYmiA0G8AUGmiAUQAQALQYGDAkHTmQNBuQJBrvcCEAEACyAAQaGAASACQRRqEFgLIABBoYABIAJBEGoQWAsgAEGhgAEgAkEMahBYDAoLIABBoYABIAJBHGoQWAsgAEGhgAEgAkEYahBYCyAAQaGAASACQRRqEFgLIABBoYABIAJBEGoQWA8LIABBoYABIAJBFGoQWAsgAEGhgAEgAkEQahBYCyAAQaGAASACQQxqEFgPCyAAQaGAASACQShqEFgLIABBoYABIAJBJGoQWA8LIABBoYABIAJBHGoQWCAAQaGAASACQRhqEFgPCyAAQaGAASACQQhqEFgPCyAAQQRqQaGAASACQQhqEFsL3R4BDn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAIgIoAgAOXgABAgMEBQYHCAkKCwwNHh8gISIjJCU1Ng4PEBESExQVFhcYGRobHB03JicoKSorLC0uLzAxMjM0ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXABdC0GY/QNB5bMDQeoBEGIACyAAQaqAASABEFggAigCAEEBRw1cIAIoAhQiAUEATA1bIABBBGohBANAIAFBAWsiACACKAIUTw1eIAIoAhAgAEECdGoiAygCAEUNXyAEQZ+AASADEFsgAUEBSyEGIAAhASAGDQALDFsLIABBq4ABIAEQWCACKAIAQQJHDVsgAigCEARAIABBBGpBn4ABIAJBEGoQWwsMYAsgAEGsgAEgARBYIAIoAgBBA0cNWgxjCyAAQa2AASABEFggAigCAEEERw1ZIAIoAhQEQCAAQQRqQZ+AASACQRRqEFsLIAIoAhBFDVggAEEEakGfgAEgAkEQahBbDwsgAEGugAEgARBYIAIoAgBBBUcNWCAAQZ+AASACQSRqEFggAigCIEUNVyAAQQRqQZ+AASACQSBqEFsPCyAAQa+AASABEFggAigCAEEGRw1XIAIoAgwiAUEATA1WIABBBGohBANAIAFBAWsiACACKAIMTw1ZIAIoAgggAEECdGoiAygCAEUNWiAEQZ+AASADEFsgAUEBSyEHIAAhASAHDQALDFYLIABBsIABIAEQWCACKAIAQQdHDVYgAEGfgAEgAkEcahBYIAIoAhAiAUEATA1VIABBBGohBANAIAFBAWsiACACKAIQTw1YIAIoAgwgAEECdGoiAygCAEUNWSAEQZ+AASADEFsgAUEBSyEIIAAhASAIDQALDFULIABBsYABIAEQWCACKAIAQQhGDVQMVQsgAEGygAEgARBYIAIoAgBBCUcNVAxgCyAAQbOAASABEFggAigCAEEKRg1SDFMLIABBtIABIAEQWCACKAIAQQtHDVIMWwsgAEG1gAEgARBYIAIoAgBBDEcNUQxfCyAAQbaAASABEFggAigCAEENRw1QDF0LIABBt4ABIAEQWCACKAIAQRhHDU8MXgsgAEG4gAEgARBYIAIoAgBBGUcNTiAAQZ+AASACQSBqEFgMXQsgAEG5gAEgARBYIAIoAgBBGkcNTQxUCyAAQbqAASABEFggAigCAEEbRw1MDFQLIABBu4ABIAEQWCACKAIAQRxGDUoMSwsgAEG8gAEgARBYIAIoAgBBHUcNSgxWCyAAQb2AASABEFggAigCAEEeRw1JIABBn4ABIAJBFGoQWAxVCyAAQb6AASABEFggAigCAEEfRw1IDE0LIABBv4ABIAEQWCACKAIAQSBHDUcMUQsgAEHAgAEgARBYIAIoAgBBIUcNRgxRCyAAQcGAASABEFggAigCAEEiRw1FIABBn4ABIAJBIGoQWA8LIABBwoABIAEQWCACKAIAQSNHDUQMUQsgAEHDgAEgARBYIAIoAgBBJEcNQwxKCyAAQcSAASABEFggAigCAEElRg1BDEILIABBxYABIAEQWCACKAIAQSZHDUEMRQsgAEHGgAEgARBYIAIoAgBBJ0cNQAxECyAAQceAASABEFggAigCAEEORg0+DD8LIABByIABIAEQWCACKAIAQQ9HDT4MSgsgAEHJgAEgARBYIAIoAgBBEEcNPQxICyAAQcqAASABEFggAigCAEERRw08DEALIABBy4ABIAEQWCACKAIAQRJHDTsMSwsgAEHMgAEgARBYIAIoAgBBE0cNOiACKAIIRQ05DEsLIABBzYABIAEQWCACKAIAQRRGDTgMOQsgAEHOgAEgARBYIAIoAgBBFUcNOAxICyAAQc+AASABEFggAigCAEEpRg02DDcLIABB0IABIAEQWCACKAIAQSpHDTYMRgsgAEHRgAEgARBYIAIoAgBBK0YNNAw1CyAAQdKAASABEFggAigCAEEsRw00DDkLIABB04ABIAEQWCACKAIAQS1HDTMMPAsgAEHUgAEgARBYIAIoAgBBLkcNMgw6CyAAQdWAASABEFggAigCAEEvRg0wDDELIABB1oABIAEQWCACKAIAQTBHDTAMOAsgAEHXgAEgARBYIAIoAgBBMUcNLww2CyAAQdiAASABEFggAigCAEEyRw0uDDILIABB2YABIAEQWCACKAIAQTNHDS0gAigCKCIBQQBKBEAgAEEEaiEDA0AgAUEBayIEIAIoAihPDTAgAigCJCAEQQJ0aiIFKAIARQ0xIANBn4ABIAUQWyABQQFLIQkgBCEBIAkNAAsLDDYLIABB2oABIAEQWCACKAIAQTRGBEAMPQsMLAsgAEHbgAEgARBYIAIoAgBBNUcNKyACKAIUIgFBAEwNKiAAQQRqIQQDQCABQQFrIgAgAigCFE8NLSACKAIQIABBAnRqIgMoAgBFDS4gBEGfgAEgAxBbIAFBAUshCiAAIQEgCg0ACwwqCyAAQdyAASABEFggAigCAEE2Rg0pDCoLIABB3YABIAEQWCACKAIAQTdHDSkMOQsgAEHegAEgARBYIAIoAgBBFkYNJwwoCyAAQd+AASABEFggAigCAEEXRg0mDCcLIABB4IABIAEQWCACKAIAQShGDSUMJgsgAEHhgAEgARBYIAIoAgBBOEcNJSACKAIMIgFBAEwNJCAAQQRqIQQDQCABQQFrIgAgAigCDE8NJyACKAIIIABBAnRqIgMoAgBFDSggBEGfgAEgAxBbIAFBAUshCyAAIQEgCw0ACwwkCyAAQeKAASABEFggAigCAEE5Rw0kDDQLIABB44ABIAEQWCACKAIAQTpHDSMMMwsgAEHkgAEgARBYIAIoAgBBO0cNIgwyCyAAQeWAASABEFggAigCAEE8Rw0hIABBn4ABIAJBGGoQWCACKAIMIgFBAEwNICAAQQRqIQQDQCABQQFrIgAgAigCDE8NIyACKAIIIABBAnRqIgMoAgBFDSQgBEGfgAEgAxBbIAFBAUshDCAAIQEgDA0ACwwgCyAAQeaAASABEFggAigCAEE9Rw0gDDALIABB54ABIAEQWCACKAIAQT5HDR8MLwsgAEHogAEgARBYIAIoAgBBP0cNHiAAQZ+AASACQRRqEFgPCyAAQemAASABEFggAigCAEHAAEcNHSACKAIMIgFBAEwNHCAAQQRqIQQDQCABQQFrIgAgAigCDE8NHyACKAIIIABBAnRqIgMoAgBFDSAgBEGfgAEgAxBbIAFBAUshDSAAIQEgDQ0ACwwcCyAAQeqAASABEFggAigCAEHBAEcNHAwoCyAAQeuAASABEFggAigCAEHCAEcNGwwmCyAAQeyAASABEFggAigCAEHDAEcNGiAAQZ+AASACQQxqEFggAigCCEUNGQwrCyAAQe2AASABEFggAigCAEHEAEcNGQwhCyAAQe6AASABEFggAigCAEHFAEcNGAwgCyAAQe+AASABEFggAigCAEHGAEcNFyACKAIMIgFBAEwNFiAAQQRqIQQDQCABQQFrIgAgAigCDE8NGSACKAIIIABBAnRqIgMoAgBFDRogBEGfgAEgAxBbIAFBAUshDiAAIQEgDg0ACwwWCyAAQfCAASABEFggAigCAEHHAEcNFgwbCyAAQfGAASABEFggAigCAEHIAEcNFQwZCyAAQfKAASABEFggAigCAEHJAEcNFAwkCyAAQfOAASABEFggAigCAEHKAEcNEyAAQZ+AASACQRhqEFgMFgsgAEH0gAEgARBYIAIoAgBBywBHDRIMFQsgAEH1gAEgARBYIAIoAgBBzABHDREMFwsgAEH2gAEgARBYIAIoAgBBzQBHDRAMFgsgAEH3gAEgARBYIAIoAgBBzgBHDQ8MGwsgAEH4gAEgARBYIAIoAgBBzwBHDQ4gAigCGARAIABBBGpBn4ABIAJBGGoQWwsgAigCFARAIABBBGpBn4ABIAJBFGoQWwsgAigCEARAIABBBGpBn4ABIAJBEGoQWwsMGgsgAEH5gAEgARBYIAIoAgBB0ABGDQwMDQsgAEH6gAEgARBYIAIoAgBB0QBHDQwMGAsgAEH7gAEgARBYIAIoAgBB0gBHDQsgAigCFARAIABBBGpBn4ABIAJBFGoQWwsMFgsgAEH8gAEgARBYIAIoAgBB0wBHDQoMDwsgAEH9gAEgARBYIAIoAgBB1ABHDQkMFAsgAEH+gAEgARBYIAIoAgBB1QBHDQgMFAsgAEH/gAEgARBYIAIoAgBB1gBHDQcMCwsgAEGAgQEgARBYIAIoAgBB1wBHDQYMCwsgAEGBgQEgARBYIAIoAgBB2ABHDQUMFQsgAEGCgQEgARBYIAIoAgBB2QBHDQQMDwsgAEGDgQEgARBYIAIoAgBB2gBHDQMMDQsgAEGEgQEgARBYIAIoAgBB2wBHDQIMBwsgAEGFgQEgARBYIAIoAgBB3ABHDQEgAEGfgAEgAkE8ahBYIAIoAjAiAUEATA0AIABBBGohBANAIAFBAWsiACACKAIwTw0DIAIoAiwgAEECdGoiAygCAEUNBCAEQZ+AASADEFsgAUEBSyEPIAAhASAPDQALCw8LQfDtBUHFmANBlAZBjd4AEAEAC0HFogFBiaIDQbwBQaaIBRABAAtBgYMCQdOZA0G5AkGu9wIQAQALIABBn4ABIAJBFGoQWAsgAEGfgAEgAkEQahBYCyAAQZ+AASACQQxqEFgMCgsgAEGfgAEgAkEcahBYCyAAQZ+AASACQRhqEFgLIABBn4ABIAJBFGoQWAsgAEGfgAEgAkEQahBYDwsgAEGfgAEgAkEUahBYCyAAQZ+AASACQRBqEFgLIABBn4ABIAJBDGoQWA8LIABBn4ABIAJBKGoQWAsgAEGfgAEgAkEkahBYDwsgAEGfgAEgAkEcahBYIABBn4ABIAJBGGoQWA8LIABBn4ABIAJBCGoQWA8LIABBBGpBn4ABIAJBCGoQWwtEAEGoARBcIgBBAEGIAfwLACAAQgA3AoQBIABBzJIINgIAIABCADcCjAEgAEIANwKUASAAQgA3ApwBIABBADYCpAEgAAs5ACAAKAIERQRAQej6BUG6iwNBnARB7tMCEAEACyAAIAI2AnggACABNgJ8IAAgAhCrDSAAQgA3AngLJAAgACgCAEEeRwRAQZyzBkGntwJBnhlBnNYDEAEACyAAKAIUC+wjAQ5/IAEoAgAEQAJAIABBGGoiA0GmgAEgARBbAkAgASgCACICKAIAQQJGBEAgAigCCCgCBEEBRg0BIANBp4ABIAEQWyACKAIQBEAgA0GdgAEgAkEQahBbIAEoAgBFDQMgA0GogAEgARBbCyACKAIMRQ0CIANBnYABIAJBDGoQWyABKAIARQ0CIANBqYABIAEQWyACQQhqIgAoAgBFDQIgA0GdgAEgABBbDwsgACEDAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgASgCACICKAIADl4AAQIDBAUGBwgJCgsMDR4fICEiIyQlNTYODxAREhMUFRYXGBkaGxwdNyYnKCkqKywtLi8wMTIzNDg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaW1wAbwtBmP0DQeWzA0HqARBiAAsgA0EUakGggwEgARBYIAIoAgBBAUcNWyACKAIUIgBBAEwNbSADQRhqIQMDQCAAQQFrIgEgAigCFE8NXSACKAIQIAFBAnRqIgQoAgBFDXAgA0GdgAEgBBBbIABBAUshBiABIQAgBg0ACwxtCyADQRRqIgBBp4ABIAEQWCACKAIAQQJHDVogAigCEARAIANBGGpBnYABIAJBEGoQWwsgAEGdgAEgAkEMahBYIABBnYABIAJBCGoQWAxsCyADQRRqIgBBoYMBIAEQWCACKAIAQQNHDVkMXgsgA0EUakGigwEgARBYIAIoAgBBBEcNWCACKAIUBEAgA0EYakGdgAEgAkEUahBbCyACKAIQRQ1qIANBGGpBnYABIAJBEGoQWwxqCyADQRRqIgBBo4MBIAEQWCACKAIAQQVHDVcgAEGdgAEgAkEkahBYIAIoAiBFDWkgA0EYakGdgAEgAkEgahBbDGkLIANBFGpBpIMBIAEQWCACKAIAQQZHDVYgAigCDCIAQQBMDWggA0EYaiEDA0AgAEEBayIBIAIoAgxPDVggAigCCCABQQJ0aiIEKAIARQ1rIANBnYABIAQQWyAAQQFLIQcgASEAIAcNAAsMaAsgA0EUaiIAQaWDASABEFggAigCAEEHRw1VIABBnYABIAJBHGoQWCACKAIQIgBBAEwNZyADQRhqIQMDQCAAQQFrIgEgAigCEE8NVyACKAIMIAFBAnRqIgQoAgBFDWogA0GdgAEgBBBbIABBAUshCCABIQAgCA0ACwxnCyADQRRqQaaDASABEFggAigCAEEIRg1mDFQLIANBFGoiAEGngwEgARBYIAIoAgBBCUcNUwxbCyADQRRqQaiDASABEFggAigCAEEKRg1kDFILIANBFGoiAEGpgwEgARBYIAIoAgBBC0cNUQxWCyADQRRqIgBBqoMBIAEQWCACKAIAQQxHDVAMWgsgA0EUaiIAQauDASABEFggAigCAEENRw1PDFgLIANBFGoiAEGsgwEgARBYIAIoAgBBGEcNTgxZCyADQRRqIgBBrYMBIAEQWCACKAIAQRlHDU0gAEGdgAEgAkEgahBYDFgLIANBFGoiAEGugwEgARBYIAIoAgBBGkcNTAxPCyADQRRqIgBBr4MBIAEQWCACKAIAQRtHDUsMTwsgA0EUakGwgwEgARBYIAIoAgBBHEYNXAxKCyADQRRqIgBBsYMBIAEQWCACKAIAQR1HDUkMUQsgA0EUaiIAQbKDASABEFggAigCAEEeRw1IIABBnYABIAJBFGoQWAxQCyADQRRqIgBBs4MBIAEQWCACKAIAQR9HDUcMVQsgA0EUaiIAQbSDASABEFggAigCAEEgRw1GDEwLIANBFGoiAEG1gwEgARBYIAIoAgBBIUcNRQxMCyADQRRqIgBBtoMBIAEQWCACKAIAQSJHDUQgAEGdgAEgAkEgahBYDFYLIANBFGoiAEG3gwEgARBYIAIoAgBBI0cNQwxMCyADQRRqIgBBuIMBIAEQWCACKAIAQSRHDUIMRQsgA0EUakG5gwEgARBYIAIoAgBBJUYNUwxBCyADQRRqIgBBuoMBIAEQWCACKAIAQSZHDUAMTQsgA0EUaiIAQbuDASABEFggAigCAEEnRw0/DEwLIANBFGpBvIMBIAEQWCACKAIAQQ5GDVAMPgsgA0EUaiIAQb2DASABEFggAigCAEEPRw09DEULIANBFGoiAEG+gwEgARBYIAIoAgBBEEcNPAxDCyADQRRqIgBBv4MBIAEQWCACKAIAQRFHDTsMSAsgA0EUaiIAQcCDASABEFggAigCAEESRw06DEkLIANBFGpBwYMBIAEQWCACKAIAQRNHDTkMSQsgA0EUakHCgwEgARBYIAIoAgBBFEYNSgw4CyADQRRqIgBBw4MBIAEQWCACKAIAQRVHDTcMRgsgA0EUakHEgwEgARBYIAIoAgBBKUYNSAw2CyADQRRqIgBBxYMBIAEQWCACKAIAQSpHDTUMRAsgA0EUakHGgwEgARBYIAIoAgBBK0YNRgw0CyADQRRqIgBBx4MBIAEQWCACKAIAQSxHDTMMQQsgA0EUaiIAQciDASABEFggAigCAEEtRw0yDDcLIANBFGoiAEHJgwEgARBYIAIoAgBBLkcNMQw1CyADQRRqQcqDASABEFggAigCAEEvRg1CDDALIANBFGoiAEHLgwEgARBYIAIoAgBBMEcNLwwzCyADQRRqIgBBzIMBIAEQWCACKAIAQTFHDS4MMQsgA0EUaiIAQc2DASABEFggAigCAEEyRw0tDDoLIANBFGoiBEHOgwEgARBYIAIoAgBBM0cNLCACKAIoIgBBAEoEQCADQRhqIQMDQCAAQQFrIgEgAigCKE8NLyACKAIkIAFBAnRqIgUoAgBFDUIgA0GdgAEgBRBbIABBAUshCSABIQAgCQ0ACwsgBEGdgAEgAkEQahBYDD4LIANBFGoiAEHPgwEgARBYIAIoAgBBNEYNOgwrCyADQRRqQdCDASABEFggAigCAEE1Rw0qIAIoAhQiAEEATA08IANBGGohAwNAIABBAWsiASACKAIUTw0sIAIoAhAgAUECdGoiBCgCAEUNPyADQZ2AASAEEFsgAEEBSyEKIAEhACAKDQALDDwLIANBFGpB0YMBIAEQWCACKAIAQTZGDTsMKQsgA0EUaiIAQdKDASABEFggAigCAEE3Rw0oDDcLIANBFGpB04MBIAEQWCACKAIAQRZGDTkMJwsgA0EUakHUgwEgARBYIAIoAgBBF0YNOAwmCyADQRRqQdWDASABEFggAigCAEEoRg03DCULIANBFGpB1oMBIAEQWCACKAIAQThHDSQgAigCDCIAQQBMDTYgA0EYaiEDA0AgAEEBayIBIAIoAgxPDSYgAigCCCABQQJ0aiIEKAIARQ05IANBnYABIAQQWyAAQQFLIQsgASEAIAsNAAsMNgsgA0EUaiIAQdeDASABEFggAigCAEE5Rw0jDDILIANBFGoiAEHYgwEgARBYIAIoAgBBOkcNIgwxCyADQRRqIgBB2YMBIAEQWCACKAIAQTtHDSEMMAsgA0EUaiIAQdqDASABEFggAigCAEE8Rw0gIABBnYABIAJBGGoQWCACKAIMIgBBAEwNMiADQRhqIQMDQCAAQQFrIgEgAigCDE8NIiACKAIIIAFBAnRqIgQoAgBFDTUgA0GdgAEgBBBbIABBAUshDCABIQAgDA0ACwwyCyADQRRqIgBB24MBIAEQWCACKAIAQT1HDR8MLgsgA0EUaiIAQdyDASABEFggAigCAEE+Rw0eDC0LIANBFGoiAEHdgwEgARBYIAIoAgBBP0cNHSAAQZ2AASACQRRqEFgMLwsgA0EUakHegwEgARBYIAIoAgBBwABHDRwgAigCDCIAQQBMDS4gA0EYaiEDA0AgAEEBayIBIAIoAgxPDR4gAigCCCABQQJ0aiIEKAIARQ0xIANBnYABIAQQWyAAQQFLIQ0gASEAIA0NAAsMLgsgA0EUaiIAQd+DASABEFggAigCAEHBAEcNGwwjCyADQRRqIgBB4IMBIAEQWCACKAIAQcIARw0aDCELIANBFGoiAEHhgwEgARBYIAIoAgBBwwBHDRkgAEGdgAEgAkEMahBYDCkLIANBFGoiAEHigwEgARBYIAIoAgBBxABHDRgMHAsgA0EUaiIAQeODASABEFggAigCAEHFAEcNFwwbCyADQRRqQeSDASABEFggAigCAEHGAEcNFiACKAIMIgBBAEwNKCADQRhqIQMDQCAAQQFrIgEgAigCDE8NGCACKAIIIAFBAnRqIgQoAgBFDSsgA0GdgAEgBBBbIABBAUshDiABIQAgDg0ACwwoCyADQRRqIgBB5YMBIAEQWCACKAIAQccARw0VDCMLIANBFGoiAEHmgwEgARBYIAIoAgBByABHDRQMIQsgA0EUaiIAQeeDASABEFggAigCAEHJAEcNEwwiCyADQRRqIgBB6IMBIAEQWCACKAIAQcoARw0SIABBnYABIAJBGGoQWAweCyADQRRqIgBB6YMBIAEQWCACKAIAQcsARw0RDB0LIANBFGoiAEHqgwEgARBYIAIoAgBBzABHDRAMEgsgA0EUaiIAQeuDASABEFggAigCAEHNAEcNDwwRCyADQRRqIgBB7IMBIAEQWCACKAIAQc4ARw0ODBYLIANBFGoiAEHtgwEgARBYIAIoAgBBzwBHDQ0gAigCGARAIANBGGpBnYABIAJBGGoQWwsgAigCFARAIANBGGpBnYABIAJBFGoQWwsgAigCEARAIANBGGpBnYABIAJBEGoQWwsMHgsgA0EUakHugwEgARBYIAIoAgBB0ABGDR4MDAsgA0EUaiIAQe+DASABEFggAigCAEHRAEcNCwwTCyADQRRqIgBB8IMBIAEQWCACKAIAQdIARw0KIAIoAhQEQCADQRhqQZ2AASACQRRqEFsLIABBnYABIAJBEGoQWAwbCyADQRRqIgBB8YMBIAEQWCACKAIAQdMARw0JDBcLIANBFGoiAEHygwEgARBYIAIoAgBB1ABHDQgMDwsgA0EUaiIAQfODASABEFggAigCAEHVAEcNBwwPCyADQRRqIgBB9IMBIAEQWCACKAIAQdYARw0GDBMLIANBFGoiAEH1gwEgARBYIAIoAgBB1wBHDQUMEwsgA0EUaiIAQfaDASABEFggAigCAEHYAEcNBAwTCyADQRRqIgBB94MBIAEQWCACKAIAQdkARw0DDAoLIANBFGoiAEH4gwEgARBYIAIoAgBB2gBHDQIMCAsgA0EUaiIAQfmDASABEFggAigCAEHbAEcNAQwPCyADQRRqIgBB+oMBIAEQWCACKAIAQdwARw0AIABBnYABIAJBPGoQWCACKAIwIgBBAEwNEiADQRhqIQMDQCAAQQFrIgEgAigCME8NAiACKAIsIAFBAnRqIgQoAgBFDRUgA0GdgAEgBBBbIABBAUshDyABIQAgDw0ACwwSC0Hw7QVBxZgDQZQGQY3eABABAAtBxaIBQYmiA0G8AUGmiAUQAQALIABBnYABIAJBHGoQWAsgAEGdgAEgAkEYahBYCyAAQZ2AASACQRRqEFgLIABBnYABIAJBEGoQWAwMCyAAQZ2AASACQRRqEFgLIABBnYABIAJBEGoQWAsgAEGdgAEgAkEMahBYDAkLIABBnYABIAJBKGoQWAsgAEGdgAEgAkEkahBYDAcLIABBnYABIAJBHGoQWCAAQZ2AASACQRhqEFgMBgsgAEGdgAEgAkEUahBYCyAAQZ2AASACQRBqEFgLIABBnYABIAJBDGoQWAsgAEGdgAEgAkEIahBYDAILIAIoAghFDQEgA0EYakGdgAEgAkEIahBbDAELIABBnYABIAJBDGoQWAsLDwsLQYGDAkHTmQNBuQJBrvcCEAEAC+8PARh/IwBBsAJrIgMkAAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCBARAIAAgACgCACgCEBECAARAIAMgACgCBCICKQI4NwP4ASADIAIpAjA3A/ABIAMgAikCKDcD6AEgAyACKQIgNwPgASADIAIpAhg3A9gBIANBgAJqIAJBQGsQ4wEhBEHUiQtBADYCAEGaASADQZQCaiACQdQAahACIQVB1IkLKAIAIRFB1IkLQQA2AgAgEUEBRg0CIAMgAigCaDYCqAIgAyACKAJsIgI2AqwCIAIEQCACIAIoAgRBAWo2AgQLIANBASADKALgASICIAJBAEobNgLgASADIAMpA+gBNwMYIAMgAykD8AE3AyAgAyADKQP4ATcDKCADIAMpA+ABNwMQIANBASADKALcASICIAJBAEobNgLcAUHUiQtBADYCACADIAMpA9gBNwMIQZsBIANBMGogBBACIQRB1IkLKAIAIQJB1IkLQQA2AgACQCACQQFHBEBB1IkLQQA2AgBBmgEgA0HEAGogBRACIQVB1IkLKAIAIRJB1IkLQQA2AgAgEkEBRg0FIAMgAygCrAIiAjYCXCADIAMoAqgCNgJYIAIEQCACIAIoAgRBAWo2AgQLIANBADYCeCADIAMpAxA3AoQBIAMgAykDGDcCjAEgAyADKQMgNwKUASADIAMpAyg3ApwBIANCADcCcCADQfzsCTYCZCADIAMpAwg3AnxB1IkLQQA2AgAgAyABNgJoIAMgAUGoAWo2AmxBmwEgA0GkAWogBBACIQFB1IkLKAIAIQJB1IkLQQA2AgACQCACQQFHBEBB1IkLQQA2AgBBmgEgA0G4AWogBRACGkHUiQsoAgAhE0HUiQtBADYCACATQQFHBEAgAyADKAJYNgLMASADIAMoAlwiATYC0AEgAQRAIAEgASgCBEEBajYCBAsgA0EAOwHUASADQQhqEGEgA0EBOgDUASAAKAIAKAIUIRRB1IkLQQA2AgAgFCAAEAYhAEHUiQsoAgAhFUHUiQtBADYCACAVQQFGDQQgAygCZCgCCCEWQdSJC0EANgIAIBYgA0HkAGoiASAAEANB1IkLKAIAIRdB1IkLQQA2AgAgF0EBRg0EQdSJC0EANgIAQZcBIAEQCkHUiQsoAgAhGEHUiQtBADYCACAYQQFGDQQgA0H87Ak2AmQgA0H8AGoQYSADKAJwIgEEQCADKAJ0IgAgASICRwRAA0AgAEEEayIAKAIAIQIgAEEANgIAIAIEQCACIAIoAgAoAgQRAQALIAAgAUcNAAsgAygCcCECCyADIAE2AnQgAhBaCyADQdgBahBhDBALEAAhACABEGsMAQsQACEACyADQfAAahDgASADQQhqEGEMDgsQACEADA0LEAAhACADQeQAahB8GgwMCyAAIAE2AnwgAEEUaiEJIAEoAhgiAiABKAIcIgRHBEADQCACKAIAIgUoAgxFBEAgCSAFQSBqEIQICyACQQRqIgIgBEcNAAsLIAEoAgwiAiABKAIQIgVHBEADQCACKAIAIgQoAgxFBEAgACAENgJ4IAAgBBCrDSAAQQA2AngLIAJBBGoiAiAFRw0ACwsgASgCMCIKIAEoAjQiDkYNCSAAQRxqIQ0DQCAKKAIAIgIoAgwEQCAJIAJBFGoQhAgLIAIoAhwiCyACKAIgIg9HBEAgACgCbCEGIAAoAnAhBCAAKAIYIQUDQCADIAsoAgAiBzYCZCAEIAZrIhBBA3UiAkEAIAVrRw0GIAdFDQcCQCAFQQlNBEAgACAFQQFqIgY2AhggDSAFQQN0aiICQZ2AATYCACACIANB5ABqNgIEIAQhAiAGIQUMAQsgACgCdCIIIARLBEAgBEGdgAE2AgAgBCADQeQAajYCBCAAIARBCGoiAjYCcAwBCyACQQFqIgdBgICAgAJPDQlB/////wEgCCAGayIIQQJ1IgwgByAHIAxJGyAIQfj///8HTxsiB0GAgICAAk8NCiAQIAdBA3QiDBBcIghqIgdBnYABNgIAIAggAkEDdGogA0HkAGo2AgQgB0EIaiECIAQgBkcEQANAIAdBCGsiByAEQQhrIgQpAgA3AgAgBCAGRw0ACwsgACAIIAxqNgJ0IAAgAjYCcCAAIAc2AmwgBkUNACAGEFogACgCcCECIAAoAhghBQtBACAFayACIAAoAmwiBmtBA3VHBEADQAJAIAIgBkYEQCAFRQ0OIA0gBUEBayIEQQN0aiIFKAIEIQIgBSgCACEGIAAgBDYCGAwBCyACQQhrIgQoAgAhBiAEKAIEIQIgACAENgJwCyAJIAI2AgAgAigCAEUNDSAAIAIgBhEAAEEAIAAoAhgiBWsgACgCcCICIAAoAmwiBmtBA3VHDQALCyACIQQgC0EEaiILIA9HDQALCyAKQQRqIgogDkcNAAsMCQtB6PoFQbqLA0H8A0HaywIQAQALEAAhGSAEEGsgGRAHAAsQACEAIAQQawwIC0HNygVB05kDQcgCQdD4AhABAAtBgYMCQdOZA0G5AkGu9wIQAQALEGQACxBqAAtB3sQFQbCUA0HaAEH9+wIQAQALQfWCAkHTmQNBzQJB0PgCEAEACyABKAJIIgIgASgCTCIBRwRAA0AgAigCACIELQAURQRAIAkgBEEYahCECAsgAkEEaiICIAFHDQALCyAAQQA2AnwLIANBsAJqJAAPCyADQdgBahBhIAAQBwALCQAgABCsDRBaCz8AIAEoAgAiASgCAEEPRgRAIAEoAghBKUYEQCAAIAEoAgwgASgCBBCtDQsPC0Hw7QVBxZgDQZQGQY3eABABAAuxCgEWfwJAAkACQCABKAIAIggoAgBBB0YEQCAAKAJ8IQlBACEBIAgoAhAiCkUNASAJQagBaiELAkADQAJAIAYgCCgCEE8EQEHUiQtBADYCAEENQcWiAUGJogNBvAFBpogFEAVB1IkLKAIAIQ1B1IkLQQA2AgAgDUEBRg0BDAcLIAgoAgwgBkECdGooAgAhAkHUiQtBADYCAEEMIAtBDEEEEAQhA0HUiQsoAgAhDkHUiQtBADYCACAOQQFGDQIgAyACNgIIIANCEjcCACADIAIoAgRBAUY2AgQCfyABIAVJBEAgASADNgIAIAFBBGoMAQsCQAJAAkAgASAEa0ECdSIMQQFqIgJBgICAgARPBEBB1IkLQQA2AgBBDhAJDAELQf////8DIAUgBGsiBUEBdSIHIAIgAiAHSRsgBUH8////B08bIgdFBEBBACEFDAMLIAdBgICAgARJDQFB1IkLQQA2AgBBAxAJC0HUiQsoAgAhD0HUiQtBADYCACAPQQFHDQkMCAtB1IkLQQA2AgBBBCAHQQJ0EAYhBUHUiQsoAgAhEEHUiQtBADYCACAQQQFGDQQLIAUgDEECdGoiAiADNgIAIAIhAyAHQQJ0IAVqIQUgASAERwRAA0AgA0EEayIDIAFBBGsiASgCADYCACABIARHDQALIAQhAQsgAQRAIAEQWgsgAyEEIAJBBGoLIQEgBkEBaiIGIApHDQEMBAsLDAMLDAILQfDtBUHFmANBlAZBjd4AEAEACyAIKAIcIQJB1IkLQQA2AgBBDCAJQagBaiIHQQxBBBAEIQNB1IkLKAIAIQZB1IkLQQA2AgACQCAGQQFGDQAgAyACNgIIIANCEjcCACADIAIoAgRBAUY2AgQCQCABIAVJBEAgASADNgIAIAFBBGohBQwBCyABIARrQQJ1IglBAWoiAkGAgICABE8EQEHUiQtBADYCAEEOEAlB1IkLKAIAIRFB1IkLQQA2AgAgEUEBRw0EDAILAkBB/////wMgBSAEayIFQQF1IgYgAiACIAZJGyAFQfz///8HTxsiAkUEQEEAIQYMAQsgAkGAgICABE8EQEHUiQtBADYCAEEDEAlB1IkLKAIAIRJB1IkLQQA2AgAgEkEBRw0FDAMLQdSJC0EANgIAQQQgAkECdBAGIQZB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRg0CCyAGIAlBAnRqIgIgAzYCACABIARGBH8gAgUgAiEDA0AgA0EEayIDIAFBBGsiASgCADYCACABIARHDQALIAQhASADCyEEIAJBBGohBSABRQ0AIAEQWgtB1IkLQQA2AgBBDCAHQSBBBBAEIQJB1IkLKAIAIQFB1IkLQQA2AgACQCABQQFGDQAgAkIANwIEIAJBATYCACACQgA3AgwgAkIANwIUIAIgBzYCHCAFIARrIgNBAnUhBiAEIAVHBEAgAiAGNgIYQQAhAUHUiQtBADYCAEEMIAcgA0EEEAQhA0HUiQsoAgAhFEHUiQtBADYCACAUQQFGDQEgAiADNgIQIAQhAwNAIAIoAhAgAUECdGogAygCADYCACABQQFqIQEgA0EEaiIDIAVHDQALCyACIAY2AhRB1IkLQQA2AgBBgwMgAkEAQQBBABAFQdSJCygCACEVQdSJC0EANgIAIBVBAUYNACAIKAIEIQFB1IkLQQA2AgBBnIABIAAgAiABEAhB1IkLKAIAIRZB1IkLQQA2AgAgFkEBRg0AIAQEQCAEEFoLDwsLCxAAIRcgBARAIAQQWgsgFxAHAAsACxwAQYABEFwiAEEAQYAB/AsAIABBnJIINgIAIAALJAAgACgCAEEeRwRAQZyzBkGntwJB/hhBt8YCEAEACyAAKAIICz8AIAAoAgRFBEBB6PoFQbqLA0GcBEHu0wIQAQALIAAgAjYCeCAAIAE2AnwgAEEUaiACQTBqENcGIABCADcCeAu+IgEOfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgASgCACICKAIADl4AAQIDBAUGBwgJCgsMDR4fICEiIyQlNTYODxAREhMUFRYXGBkaGxwdNyYnKCkqKywtLi8wMTIzNDg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaW1wAXQtBmP0DQeWzA0HqARBiAAsgAEEUakHA/wAgARBYIAIoAgBBAUcNXCACKAIUIgFBAEwNWyAAQRhqIQMDQCABQQFrIgAgAigCFE8NXiACKAIQIABBAnRqIgQoAgBFDV8gA0G//wAgBBBbIAFBAUshBiAAIQEgBg0ACwxbCyAAQRRqIgNBwf8AIAEQWCACKAIAQQJHDVsgAigCEARAIABBGGpBv/8AIAJBEGoQWwsgA0G//wAgAkEMahBYIANBv/8AIAJBCGoQWA8LIABBFGoiAEHC/wAgARBYIAIoAgBBA0cNWgxgCyAAQRRqQcP/ACABEFggAigCAEEERw1ZIAIoAhQEQCAAQRhqQb//ACACQRRqEFsLIAIoAhBFDVggAEEYakG//wAgAkEQahBbDwsgAEEUaiIDQcT/ACABEFggAigCAEEFRw1YIANBv/8AIAJBJGoQWCACKAIgRQ1XIABBGGpBv/8AIAJBIGoQWw8LIABBFGpBxf8AIAEQWCACKAIAQQZHDVcgAigCDCIBQQBMDVYgAEEYaiEDA0AgAUEBayIAIAIoAgxPDVkgAigCCCAAQQJ0aiIEKAIARQ1aIANBv/8AIAQQWyABQQFLIQcgACEBIAcNAAsMVgsgAEEUaiIDQcb/ACABEFggAigCAEEHRw1WIANBv/8AIAJBHGoQWCACKAIQIgFBAEwNVSAAQRhqIQMDQCABQQFrIgAgAigCEE8NWCACKAIMIABBAnRqIgQoAgBFDVkgA0G//wAgBBBbIAFBAUshCCAAIQEgCA0ACwxVCyAAQRRqQcf/ACABEFggAigCAEEIRg1UDFULIABBFGoiAEHI/wAgARBYIAIoAgBBCUcNVAxdCyAAQRRqQcn/ACABEFggAigCAEEKRg1SDFMLIABBFGoiAEHK/wAgARBYIAIoAgBBC0cNUgxYCyAAQRRqIgBBy/8AIAEQWCACKAIAQQxHDVEMXAsgAEEUaiIAQcz/ACABEFggAigCAEENRw1QDFoLIABBFGoiAEHN/wAgARBYIAIoAgBBGEcNTwxbCyAAQRRqIgBBzv8AIAEQWCACKAIAQRlHDU4gAEG//wAgAkEgahBYDFoLIABBFGoiAEHP/wAgARBYIAIoAgBBGkcNTQxRCyAAQRRqIgBB0P8AIAEQWCACKAIAQRtHDUwMUQsgAEEUakHR/wAgARBYIAIoAgBBHEYNSgxLCyAAQRRqIgBB0v8AIAEQWCACKAIAQR1HDUoMUwsgAEEUaiIAQdP/ACABEFggAigCAEEeRw1JIABBv/8AIAJBFGoQWAxSCyAAQRRqIgBB1P8AIAEQWCACKAIAQR9HDUgMVwsgAEEUaiIAQdX/ACABEFggAigCAEEgRw1HDE4LIABBFGoiAEHW/wAgARBYIAIoAgBBIUcNRgxOCyAAQRRqIgBB1/8AIAEQWCACKAIAQSJHDUUgAEG//wAgAkEgahBYDwsgAEEUaiIAQdj/ACABEFggAigCAEEjRw1EDE4LIABBFGoiAEHZ/wAgARBYIAIoAgBBJEcNQwxHCyAAQRRqQdr/ACABEFggAigCAEElRg1BDEILIABBFGoiAEHb/wAgARBYIAIoAgBBJkcNQQxPCyAAQRRqIgBB3P8AIAEQWCACKAIAQSdHDUAMTgsgAEEUakHd/wAgARBYIAIoAgBBDkYNPgw/CyAAQRRqIgBB3v8AIAEQWCACKAIAQQ9HDT4MRwsgAEEUaiIAQd//ACABEFggAigCAEEQRw09DEULIABBFGoiAEHg/wAgARBYIAIoAgBBEUcNPAxKCyAAQRRqIgBB4f8AIAEQWCACKAIAQRJHDTsMSwsgAEEUakHi/wAgARBYIAIoAgBBE0cNOiACKAIIRQ05DEsLIABBFGpB4/8AIAEQWCACKAIAQRRGDTgMOQsgAEEUaiIAQeT/ACABEFggAigCAEEVRw04DEgLIABBFGpB5f8AIAEQWCACKAIAQSlGDTYMNwsgAEEUaiIAQeb/ACABEFggAigCAEEqRw02DEYLIABBFGpB5/8AIAEQWCACKAIAQStGDTQMNQsgAEEUaiIAQej/ACABEFggAigCAEEsRw00DEMLIABBFGoiAEHp/wAgARBYIAIoAgBBLUcNMww5CyAAQRRqIgBB6v8AIAEQWCACKAIAQS5HDTIMNwsgAEEUakHr/wAgARBYIAIoAgBBL0YNMAwxCyAAQRRqIgBB7P8AIAEQWCACKAIAQTBHDTAMNQsgAEEUaiIAQe3/ACABEFggAigCAEExRw0vDDMLIABBFGoiAEHu/wAgARBYIAIoAgBBMkcNLgw8CyAAQRRqIgNB7/8AIAEQWCACKAIAQTNHDS0gAigCKCIBQQBKBEAgAEEYaiEEA0AgAUEBayIAIAIoAihPDTAgAigCJCAAQQJ0aiIFKAIARQ0xIARBv/8AIAUQWyABQQFLIQkgACEBIAkNAAsLIANBv/8AIAJBEGoQWA8LIABBFGoiAEHw/wAgARBYIAIoAgBBNEYEQAw9CwwsCyAAQRRqQfH/ACABEFggAigCAEE1Rw0rIAIoAhQiAUEATA0qIABBGGohAwNAIAFBAWsiACACKAIUTw0tIAIoAhAgAEECdGoiBCgCAEUNLiADQb//ACAEEFsgAUEBSyEKIAAhASAKDQALDCoLIABBFGpB8v8AIAEQWCACKAIAQTZGDSkMKgsgAEEUaiIAQfP/ACABEFggAigCAEE3Rw0pDDkLIABBFGpB9P8AIAEQWCACKAIAQRZGDScMKAsgAEEUakH1/wAgARBYIAIoAgBBF0YNJgwnCyAAQRRqQfb/ACABEFggAigCAEEoRg0lDCYLIABBFGpB9/8AIAEQWCACKAIAQThHDSUgAigCDCIBQQBMDSQgAEEYaiEDA0AgAUEBayIAIAIoAgxPDScgAigCCCAAQQJ0aiIEKAIARQ0oIANBv/8AIAQQWyABQQFLIQsgACEBIAsNAAsMJAsgAEEUaiIAQfj/ACABEFggAigCAEE5Rw0kDDQLIABBFGoiAEH5/wAgARBYIAIoAgBBOkcNIwwzCyAAQRRqIgBB+v8AIAEQWCACKAIAQTtHDSIMMgsgAEEUaiIDQfv/ACABEFggAigCAEE8Rw0hIANBv/8AIAJBGGoQWCACKAIMIgFBAEwNICAAQRhqIQMDQCABQQFrIgAgAigCDE8NIyACKAIIIABBAnRqIgQoAgBFDSQgA0G//wAgBBBbIAFBAUshDCAAIQEgDA0ACwwgCyAAQRRqIgBB/P8AIAEQWCACKAIAQT1HDSAMMAsgAEEUaiIAQf3/ACABEFggAigCAEE+Rw0fDC8LIABBFGoiAEH+/wAgARBYIAIoAgBBP0cNHiAAQb//ACACQRRqEFgPCyAAQRRqQf//ACABEFggAigCAEHAAEcNHSACKAIMIgFBAEwNHCAAQRhqIQMDQCABQQFrIgAgAigCDE8NHyACKAIIIABBAnRqIgQoAgBFDSAgA0G//wAgBBBbIAFBAUshDSAAIQEgDQ0ACwwcCyAAQRRqIgBBgIABIAEQWCACKAIAQcEARw0cDCULIABBFGoiAEGBgAEgARBYIAIoAgBBwgBHDRsMIwsgAEEUaiIDQYKAASABEFggAigCAEHDAEcNGiADQb//ACACQQxqEFggAigCCEUNGQwrCyAAQRRqIgBBg4ABIAEQWCACKAIAQcQARw0ZDB4LIABBFGoiAEGEgAEgARBYIAIoAgBBxQBHDRgMHQsgAEEUakGFgAEgARBYIAIoAgBBxgBHDRcgAigCDCIBQQBMDRYgAEEYaiEDA0AgAUEBayIAIAIoAgxPDRkgAigCCCAAQQJ0aiIEKAIARQ0aIANBv/8AIAQQWyABQQFLIQ4gACEBIA4NAAsMFgsgAEEUaiIAQYaAASABEFggAigCAEHHAEcNFgwlCyAAQRRqIgBBh4ABIAEQWCACKAIAQcgARw0VDCMLIABBFGoiAEGIgAEgARBYIAIoAgBByQBHDRQMJAsgAEEUaiIAQYmAASABEFggAigCAEHKAEcNEyAAQb//ACACQRhqEFgMIAsgAEEUaiIAQYqAASABEFggAigCAEHLAEcNEgwfCyAAQRRqIgBBi4ABIAEQWCACKAIAQcwARw0RDBQLIABBFGoiAEGMgAEgARBYIAIoAgBBzQBHDRAMEwsgAEEUaiIAQY2AASABEFggAigCAEHOAEcNDwwYCyAAQRRqIgNBjoABIAEQWCACKAIAQc8ARw0OIAIoAhgEQCAAQRhqQb//ACACQRhqEFsLIAIoAhQEQCAAQRhqQb//ACACQRRqEFsLIAIoAhAEQCAAQRhqQb//ACACQRBqEFsLDCALIABBFGpBj4ABIAEQWCACKAIAQdAARg0MDA0LIABBFGoiAEGQgAEgARBYIAIoAgBB0QBHDQwMFQsgAEEUaiIDQZGAASABEFggAigCAEHSAEcNCyACKAIUBEAgAEEYakG//wAgAkEUahBbCyADQb//ACACQRBqEFgMHQsgAEEUaiIAQZKAASABEFggAigCAEHTAEcNCgwZCyAAQRRqIgBBk4ABIAEQWCACKAIAQdQARw0JDBELIABBFGoiAEGUgAEgARBYIAIoAgBB1QBHDQgMEQsgAEEUaiIAQZWAASABEFggAigCAEHWAEcNBwwVCyAAQRRqIgBBloABIAEQWCACKAIAQdcARw0GDBULIABBFGoiAEGXgAEgARBYIAIoAgBB2ABHDQUMFQsgAEEUaiIAQZiAASABEFggAigCAEHZAEcNBAwMCyAAQRRqIgBBmYABIAEQWCACKAIAQdoARw0DDAoLIABBFGoiAEGagAEgARBYIAIoAgBB2wBHDQIMEQsgAEEUaiIDQZuAASABEFggAigCAEHcAEcNASADQb//ACACQTxqEFggAigCMCIBQQBMDQAgAEEYaiEDA0AgAUEBayIAIAIoAjBPDQMgAigCLCAAQQJ0aiIEKAIARQ0EIANBv/8AIAQQWyABQQFLIQ8gACEBIA8NAAsLDwtB8O0FQcWYA0GUBkGN3gAQAQALQcWiAUGJogNBvAFBpogFEAEAC0GBgwJB05kDQbkCQa73AhABAAsgAEG//wAgAkEcahBYCyAAQb//ACACQRhqEFgLIABBv/8AIAJBFGoQWAsgAEG//wAgAkEQahBYDwsgAEG//wAgAkEUahBYCyAAQb//ACACQRBqEFgLIABBv/8AIAJBDGoQWA8LIABBv/8AIAJBKGoQWAsgAEG//wAgAkEkahBYDwsgAEG//wAgAkEcahBYIABBv/8AIAJBGGoQWA8LIABBv/8AIAJBFGoQWAsgAEG//wAgAkEQahBYCyAAQb//ACACQQxqEFgLIABBv/8AIAJBCGoQWA8LIABBGGpBv/8AIAJBCGoQWw8LIANBv/8AIAJBDGoQWAvyDwEYfyMAQbACayIDJAACQAJAAkACQAJAAkACQAJAAkACQAJAIAAoAgQEQCAAIAAoAgAoAhARAgAEQCADIAAoAgQiAikCODcD+AEgAyACKQIwNwPwASADIAIpAig3A+gBIAMgAikCIDcD4AEgAyACKQIYNwPYASADQYACaiACQUBrEOMBIQRB1IkLQQA2AgBBmgEgA0GUAmogAkHUAGoQAiEFQdSJCygCACERQdSJC0EANgIAIBFBAUYNAiADIAIoAmg2AqgCIAMgAigCbCICNgKsAiACBEAgAiACKAIEQQFqNgIECyADQQEgAygC4AEiAiACQQBKGzYC4AEgAyADKQPoATcDGCADIAMpA/ABNwMgIAMgAykD+AE3AyggAyADKQPgATcDECADQQEgAygC3AEiAiACQQBKGzYC3AFB1IkLQQA2AgAgAyADKQPYATcDCEGbASADQTBqIAQQAiEEQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBxABqIAUQAiEFQdSJCygCACESQdSJC0EANgIAIBJBAUYNBSADIAMoAqwCIgI2AlwgAyADKAKoAjYCWCACBEAgAiACKAIEQQFqNgIECyADQQA2AnggAyADKQMQNwKEASADIAMpAxg3AowBIAMgAykDIDcClAEgAyADKQMoNwKcASADQgA3AnAgA0H87Ak2AmQgAyADKQMINwJ8QdSJC0EANgIAIAMgATYCaCADIAFBqAFqNgJsQZsBIANBpAFqIAQQAiEBQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBuAFqIAUQAhpB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRwRAIAMgAygCWDYC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YSAAEAcAC7cFAQl/IwBBEGsiByQAIAAoAqABIQhBPBBcIgFCADcCACABQQA2AjggAUIANwIwIAFCADcCKCABQgA3AiAgAUIANwIYIAFCADcCECABQgA3AgggACABNgKgAUHUiQtBADYCACAHIAE2AgxBi/0AIABBiAFqIAdBDGoiARADQdSJCygCACECQdSJC0EANgIAAkACQCACQQFHBEAgARC5AhogACgCoAEhBAJAIAAoApgBIgEgACgCnAFHBEAgASAENgIAIAAgAUEEajYCmAEMAQsgASAAKAKUASIFayICQQJ1IgZBAWoiA0GAgICABE8NAkH/////AyACQQF1IgkgAyADIAlJGyACQfz///8HTxsiAwR/IANBgICAgARPDQQgA0ECdBBcBUEACyIJIAZBAnRqIgIgBDYCACACQQRqIQQgASAFRwRAA0AgAkEEayICIAFBBGsiASgCADYCACABIAVHDQALIAAoApQBIQELIAAgCSADQQJ0ajYCnAEgACAENgKYASAAIAI2ApQBIAFFDQAgARBaCyAIIAAoAqABEKsCIAAoAqABIQQCQCAAKALAASIBIAAoAsQBRwRAIAEgBDYCACAAIAFBBGo2AsABDAELIAEgACgCvAEiBWsiAkECdSIIQQFqIgNBgICAgARPDQJB/////wMgAkEBdSIGIAMgAyAGSRsgAkH8////B08bIgMEfyADQYCAgIAETw0EIANBAnQQXAVBAAsiBiAIQQJ0aiICIAQ2AgAgAkEEaiEEIAEgBUcEQANAIAJBBGsiAiABQQRrIgEoAgA2AgAgASAFRw0ACyAAKAK8ASEBCyAAIAYgA0ECdGo2AsQBIAAgBDYCwAEgACACNgK8ASABRQ0AIAEQWgsgB0EQaiQADwsQACEKIAdBDGoQuQIaIAoQBwALEGQACxBqAAupBwIWfwF+IwBBEGsiAyQAIAEoAgAhCUHUiQtBADYCACADIANBBGoiCjYCACADQgA3AgRBzx0gCSADEANB1IkLKAIAIQ5B1IkLQQA2AgAgDkEBRgRAEAAhDyADKAIEEGAgDxAHAAsCQAJAAkAgCiADKAIAIgRHBEAgAEGkAWohDANAIAQpAhAhGEHUiQtBADYCAEGi/QAgDCAYELgCIQVB1IkLKAIAIRBB1IkLQQA2AgAgEEEBRg0CIAAoAqABIQgCQCAFKAIEIgEgBSgCCEcEQCABIAg2AgAgBSABQQRqNgIEDAELAkACQAJAIAEgBSgCACILayICQQJ1Ig1BAWoiBkGAgICABE8EQEHUiQtBADYCAEGO/QAQCUHUiQsoAgAhEUHUiQtBADYCACARQQFGDQEMCQtB/////wMgAkEBdSIHIAYgBiAHSRsgAkH8////B08bIgZFBEBBACEHDAMLIAZBgICAgARJDQFB1IkLQQA2AgBBAxAJQdSJCygCACESQdSJC0EANgIAIBJBAUcNCAsQACEBDAYLQdSJC0EANgIAQQQgBkECdBAGIQdB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRg0ECyAHIA1BAnRqIgIgCDYCACACQQRqIQggASALRwRAA0AgAkEEayICIAFBBGsiASgCADYCACABIAtHDQALIAUoAgAhAQsgBSAHIAZBAnRqNgIIIAUgCDYCBCAFIAI2AgAgAUUNACABEFoLAkAgBCgCBCICBEADQCACIgEoAgAiAg0ADAILAAsDQCAEKAIIIgEoAgAgBEchFCABIQQgFA0ACwsgCiABIgRHDQALCwJAIAkoAgRBAUcEQCAAKAKgASEEQdSJC0EANgIAQQRBPBAGIQFB1IkLKAIAIRVB1IkLQQA2AgAgFUEBRwRAIAFCADcCACABQQA2AjggAUIANwIwIAFCADcCKCABQgA3AiAgAUIANwIYIAFCADcCECABQgA3AgggACABNgKgAUHUiQtBADYCACADIAE2AgxBi/0AIABBiAFqIANBDGoiAhADQdSJCygCACEWQdSJC0EANgIAIBZBAUYEQBAAIQEgAhC5AhoMBQsgA0EMahC5AhogACgCoAEhAEHUiQtBADYCAEGj/QAgBCAAEANB1IkLKAIAIRdB1IkLQQA2AgAgF0EBRw0CCxAAIQEMAwsgAEEANgKgAQsgAygCBBBgIANBEGokAA8LEAAhAQsgAygCBBBgIAEQBwALAAtBAAJAIAAoAgBBI0YEQCABRQ0BIAAgATYCKA8LQYixBkGntwJBjhtBs+oEEAEAC0HM9gFBp7cCQY8bQbPqBBABAAvZCQERfyMAQRBrIgkkACAAKAKgASEEAkACQAJAAkACQAJAAkAgACgCzAEiAiAAKALQAUcEQCACIAQ2AgAgACACQQRqNgLMAQwBCyACIAAoAsgBIgdrIgNBAnUiBkEBaiIFQYCAgIAETw0BQf////8DIANBAXUiCCAFIAUgCEkbIANB/P///wdPGyIFBH8gBUGAgICABE8NBiAFQQJ0EFwFQQALIgggBkECdGoiAyAENgIAIANBBGohBCACIAdHBEADQCADQQRrIgMgAkEEayICKAIANgIAIAIgB0cNAAsgACgCyAEhAgsgACAIIAVBAnRqNgLQASAAIAQ2AswBIAAgAzYCyAEgAkUNACACEFoLIAEoAgAiCCgCAEEzRw0BIAAoAqABIQ0gAEHsAWoQ/wUgACgC8AEiBUEMayEHIAgoAihFDQMgBUEEayEKIAVBCGshBCAAQYgBaiEOA0BBPBBcIgFCADcCACABQQA2AjggAUIANwIwIAFCADcCKCABQgA3AiAgAUIANwIYIAFCADcCECABQgA3AgggACABNgKgAUHUiQtBADYCACAJIAE2AgxBi/0AIA4gCUEMaiIBEANB1IkLKAIAIRFB1IkLQQA2AgAgEUEBRg0DIAEQuQIaIAAoAqABIQsCQCAEKAIAIgIgCigCACIGSQRAIAIgCzYCACAEIAJBBGo2AgAMAQsgAiAHKAIAIgFrQQJ1Ig9BAWoiA0GAgICABE8NAkH/////AyAGIAFrIgZBAXUiDCADIAMgDEkbIAZB/P///wdPGyIGBH8gBkGAgICABE8NByAGQQJ0EFwFQQALIgwgD0ECdGoiAyALNgIAIANBBGohCyABIAJHBEADQCADQQRrIgMgAkEEayICKAIANgIAIAEgAkcNAAsgBygCACECCyAHIAM2AgAgBCALNgIAIAogDCAGQQJ0ajYCACACRQ0AIAIQWgsgEEEBaiIQIAgoAihJDQALDAMLEGQAC0Hw7QVBxZgDQZQGQY3eABABAAsQACESIAlBDGoQuQIaIBIQBwALIAAgDTYCoAEgACgC2AEiAkEMayIBKAIAIgQgASgCBCIGRwRAIAVBCGsiCCgCACEFIAcoAgAhAQNAIAEgBSIDRwRAIAQoAgAhCkEAIQIgASEDA0AgCiADIAJBAnRqKAIAEKsCIAJBAWoiAiAIKAIAIgUgBygCACIDa0ECdUkNAAsLIAMhASAEQQRqIgQgBkcNAAsgACgC2AEiAkEMaygCACEECyAEBEAgAkEIayAENgIAIAQQWgsgACACQQxrNgLYASAAIAAoAuQBQQRrNgLkAQJAIAAoAvwBIgIgACgCgAIiBEkEQCACQQA2AgAgACACQQRqNgL8AQwBCyACIAAoAvgBIgVrQQJ1IgdBAWoiA0GAgICABE8NAkEAIQFB/////wMgBCAFayIEQQF1IgYgAyADIAZJGyAEQfz///8HTxsiBARAIARBgICAgARPDQIgBEECdBBcIQELIAEgB0ECdGoiA0EANgIAIANBBGohByACIAVHBEADQCADQQRrIgMgAkEEayICKAIANgIAIAIgBUcNAAsLIAAgASAEQQJ0ajYCgAIgACAHNgL8ASAAIAM2AvgBIAVFDQAgBRBaCyAJQRBqJAAPCxBqAAsQZAALxwIBBH8jAEEQayIDJABBPBBcIgFCADcCACABQQA2AjggAUIANwIwIAFCADcCKCABQgA3AiAgAUIANwIYIAFCADcCECABQgA3AgggACABNgKgAUHUiQtBADYCACADIAE2AgxBi/0AIABBiAFqIANBDGoiARADQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAIAEQuQIaIAAoAvABQQxrIgIoAgAiASACKAIEIgJGDQEDQCABKAIAIAAoAqABEKsCIAFBBGoiASACRw0ACwwBCxAAIQUgA0EMahC5AhogBRAHAAsgACgCzAFBBGsoAgAgACgCoAEQqwIgACAAKALMAUEEazYCzAEgACgC8AEiAkEMayIEKAIAIgEEQCACQQhrIAE2AgAgARBaCyAAIAQ2AvABIAAgACgC/AFBBGs2AvwBIANBEGokAAvjAQEGfyMAQRBrIgIkACAAEIYKAkACQCAAKALUASAAKALYAUYEQCAALQCUAg0BCyAAKAKgASEGQTwQXCIBQgA3AgAgAUEANgI4IAFCADcCMCABQgA3AiggAUIANwIgIAFCADcCGCABQgA3AhAgAUIANwIIIAAgATYCoAFB1IkLQQA2AgAgAiABNgIMQYv9ACAAQYgBaiACQQxqIgEQA0HUiQsoAgAhBUHUiQtBADYCACAFQQFGDQEgARC5AhogBiAAKAKgARCrAgsgAkEQaiQADwsQACEHIAJBDGoQuQIaIAcQBwALzwIBBn8jAEEQayIDJAAgACgCoAEhBEE8EFwiAkIANwIAIAJBADYCOCACQgA3AjAgAkIANwIoIAJCADcCICACQgA3AhggAkIANwIQIAJCADcCCCAAIAI2AqABQdSJC0EANgIAIAMgAjYCDEGL/QAgAEGIAWogA0EMaiICEANB1IkLKAIAIQVB1IkLQQA2AgACQCAFQQFHBEAgAhC5AhogBCAAKAKgARCrAiABKAIAIgEoAgBBA0cNASABKAIIBEAgACgCwAFBBGsoAgAhBCAAQaQBaiIFIAEpAggQgAUiBigCACICIAYoAgQiBkcEQANAIAIoAgAgBBCrAiACQQRqIgIgBkcNAAsLIAUgASkCCBDnAwsgACAAKALAAUEEazYCwAEgA0EQaiQADwsQACEHIANBDGoQuQIaIAcQBwALQfDtBUHFmANBlAZBjd4AEAEAC7oDAQh/IwBBEGsiBSQAIAAoAqABIQRBPBBcIgFCADcCACABQQA2AjggAUIANwIwIAFCADcCKCABQgA3AiAgAUIANwIYIAFCADcCECABQgA3AgggACABNgKgAUHUiQtBADYCACAFIAE2AgxBi/0AIABBiAFqIAVBDGoiARADQdSJCygCACECQdSJC0EANgIAAkACQCACQQFHBEAgARC5AhogBCAAKAKgARCrAgJAIAAoArQBIgEgACgCuAFHBEAgASAENgIAIAAgAUEEajYCtAEMAQsgASAAKAKwASIHayICQQJ1IghBAWoiA0GAgICABE8NAkH/////AyACQQF1IgYgAyADIAZJGyACQfz///8HTxsiAwR/IANBgICAgARPDQQgA0ECdBBcBUEACyIGIAhBAnRqIgIgBDYCACACQQRqIQQgASAHRwRAA0AgAkEEayICIAFBBGsiASgCADYCACABIAdHDQALIAAoArABIQELIAAgBiADQQJ0ajYCuAEgACAENgK0ASAAIAI2ArABIAFFDQAgARBaCyAFQRBqJAAPCxAAIQkgBUEMahC5AhogCRAHAAsQZAALEGoAC9ADAQp/IwBBEGsiBSQAIAAoAqABIQICQAJAAkACQCAAKAK0ASIBIAAoArgBRwRAIAEgAjYCACAAIAFBBGoiAjYCtAEMAQsgASAAKAKwASIHayIDQQJ1IghBAWoiBEGAgICABE8NAUH/////AyADQQF1IgYgBCAEIAZJGyADQfz///8HTxsiBAR/IARBgICAgARPDQMgBEECdBBcBUEACyIGIAhBAnRqIgMgAjYCACADQQRqIQIgASAHRwRAA0AgA0EEayIDIAFBBGsiASgCADYC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C0EANgIAIBFBAUYNAiADIAIoAmg2AqgCIAMgAigCbCICNgKsAiACBEAgAiACKAIEQQFqNgIECyADQQEgAygC4AEiAiACQQBKGzYC4AEgAyADKQPoATcDGCADIAMpA/ABNwMgIAMgAykD+AE3AyggAyADKQPgATcDECADQQEgAygC3AEiAiACQQBKGzYC3AFB1IkLQQA2AgAgAyADKQPYATcDCEGbASADQTBqIAQQAiEEQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBxABqIAUQAiEFQdSJCygCACESQdSJC0EANgIAIBJBAUYNBSADIAMoAqwCIgI2AlwgAyADKAKoAjYCWCACBEAgAiACKAIEQQFqNgIECyADQQA2AnggAyADKQMQNwKEASADIAMpAxg3AowBIAMgAykDIDcClAEgAyADKQMoNwKcASADQgA3AnAgA0H87Ak2AmQgAyADKQMINwJ8QdSJC0EANgIAIAMgATYCaCADIAFBqAFqNgJsQZsBIANBpAFqIAQQAiEBQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBuAFqIAUQAhpB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRwRAIAMgAygCWDYCzAEgAyADKAJcIgE2AtABIAEEQCABIAEoAgRBAWo2AgQLIANBADsB1AEgA0EIahBhIANBAToA1AEgACgCACgCFCEUQdSJC0EANgIAIBQgABAGIQBB1IkLKAIAIRVB1IkLQQA2AgAgFUEBRg0EIAMoAmQoAgghFkHUiQtBADYCACAWIANB5ABqIgEgABADQdSJCygCACEXQdSJC0EANgIAIBdBAUYNBEHUiQtBADYCAEGXASABEApB1IkLKAIAIRhB1IkLQQA2AgAgGEEBRg0EIANB/OwJNgJkIANB/ABqEGEgAygCcCIBBEAgAygCdCIAIAEiAkcEQANAIABBBGsiACgCACECIABBADYCACACBEAgAiACKAIAKAIEEQEACyAAIAFHDQALIAMoAnAhAgsgAyABNgJ0IAIQWgsgA0HYAWoQYQwQCxAAIQAgARBrDAELEAAhAAsgA0HwAGoQ4AEgA0EIahBhDA4LEAAhAAwNCxAAIQAgA0HkAGoQfBoMDAsgACABNgJ8IABBFGohCSABKAIY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IABBkfoAIAJBGGoQWA8LIABBkfoAIAJBCGoQWA8LIABBBGpBkfoAIAJBCGoQWwu0AgEDfwJAAkACQEEAIAAoAgRrIAAoAlwgACgCWGtBA3VGBEAgASgCAEUNASAAQQRqQZH6ACABEFtBACAAKAIEIgJrIAAoAlwiASAAKAJYIgNrQQN1RwRAIABBCGohBANAAkAgASADRgRAIAJFDQYgBCACQQFrIgJBA3RqIgMoAgQhASADKAIAIQMgACACNgIEDAELIAFBCGsiAigCACEDIAIoAgQhASAAIAI2AlwLIAAgATYCACABKAIARQ0FIAAgASADEQAAQQAgACgCBCICayAAKAJcIgEgACgCWCIDa0EDdUcNAAsLDwtBzcoFQdOZA0HIAkHQ+AIQAQALQYGDAkHTmQNBuQJBrvcCEAEAC0HexAVBsJQDQdoAQf37AhABAAtB9YICQdOZA0HNAkHQ+AIQAQALJwAgACgCAEEiRwRAQdqzBkGntwJBsxpBpf0AEAEACyAAIAGtNwMQC9IHAQZ/IwBBgAFrIgMkAAJAAkAgASgCACIAKAIMBEAgAkEAOgAsDAELIAAoAjAhASADQQA2AgggA0IANwIAIAMgATYCfCADQgA3AmQgA0IANwJsIANBADYCdEHUiQtBADYCACADQgA3AgwgAyADNgJ4QeAGIANBDGogA0H8AGoQA0HUiQsoAgAhAUHUiQtBADYCAAJAAkACQAJAAkAgAUEBRwRAIAMoAmQiAQRAIAMgATYCaCABEFoLIAIoAgAiAQRAIAIgATYCBCABEFogAkEANgIIIAJCADcCAAsgAiADKAIANgIAIAIgAygCBDYCBCACIAMoAgg2AgggACgCMCEBIANBADYCCCADQgA3AgAgAyABNgJ8IANCADcCZCADQgA3AmwgA0EANgJ0QdSJC0EANgIAIANCADcCDCADIAM2AnhBkDMgA0EMaiADQfwAahADQdSJCygCACEGQdSJC0EANgIAIAZBAUYNASADKAJkIgEEQCADIAE2AmggARBaCyACKAIMIgEEQCACIAE2AhAgARBaIAJBADYCFCACQgA3AgwLIAIgAygCADYCDCACIAMoAgQ2AhAgAiADKAIINgIUIANBDGogABDpDyACKAIkBEAgAigCICIBBEADQCABKAIAIQcgARBaIAciAQ0ACwtBACEBIAJBADYCIAJAIAIoAhwiAEUNACAAQQRPBEAgAEF8cSEFA0AgAUECdCIEIAIoAhhqQQA2AgAgAigCGCAEakEANgIEIAIoAhggBGpBADYCCCACKAIYIARqQQA2AgwgAUEEaiIBIAVHDQALCyAAQQNxIgRFDQBBACEAA0AgAigCGCABQQJ0akEANgIAIAFBAWohASAAQQFqIgAgBEcNAAsLIAJBADYCJAsgAygCDCEBIANBADYCDCACKAIYIQAgAiABNgIYIAAEQCAAEFoLIAIgAygCECIANgIcIANBADYCECACIAMoAhgiBDYCJCACIAMqAhw4AiggAkEgaiIFIAMoAhQiATYCACAERQ0EIAEoAgQhASAAIABBAWsiBHENAiABIARxIQEMAwsQACECIAMoAmQiAEUNBiADIAA2AmggABBaDAYLEAAhAiADKAJkIgBFDQUgAyAANgJoIAAQWgwFCyAAIAFLDQAgASAAcCEBCyACKAIYIAFBAnRqIAU2AgAgA0IANwIUDAELIAFFDQADQCABKAIAIQggARBaIAgiAQ0ACwsgAygCDCEAIANBADYCDCAARQ0AIAAQWgsgA0GAAWokAA8LIAMoAgAiAARAIAMgADYCBCAAEFoLIAIQBwALCwAgAUGQjAg2AgALEQBBCBBcIgBBkIwINgIAIAALzwQBDn8jAEEgayIDJAAgACgChAEhBCAAKAKAASEFQaABEFwhAgJAAkACQAJAAkAgACgCmAEiAUUEQEEAIQAMAQsgAEGIAWoiACABRgRAIAMgA0EIaiIBNgIYIAAoAgAoAgwhB0HUiQtBADYCACAHIAAgARADQdSJCygCACEIQdSJC0EANgIAIAhBAUYNAyADKAIYIQAMAgsgASgCACgCCCEJQdSJC0EANgIAIAkgARAGIQBB1IkLKAIAIQpB1IkLQQA2AgAgCkEBRg0CCyADIAA2AhgLIAJCADcCbCACQgA3AgQgAiAENgKEASACIAU2AoABIAJBtIwINgIAQQAhASACQQA2AnwgAkIANwJ0IAJCADcCDCACQgA3AhQCQCAABEAgA0EIaiIBIABGBEAgAiACQYgBaiIANgKYASADKAIIKAIMIQtB1IkLQQA2AgAgCyABIAAQA0HUiQsoAgAhDEHUiQtBADYCACAMQQFHDQIMBAsgACgCACgCCCENQdSJC0EANgIAIA0gABAGIQFB1IkLKAIAIQ5B1IkLQQA2AgAgDkEBRg0DCyACIAE2ApgBCwJAAkAgAygCGCIAIANBCGoiBEYEQEEEIQEgBCEADAELQQUhASAARQ0BCyAAIAAoAgAgAUECdGooAgARAQALIANBIGokACACDwsQACEADAELEAAhACACEOQBGgJAIAMoAhgiASADQQhqIgRGBEBBBCEDIAQhAQwBC0EFIQMgAUUNAQsgASABKAIAIANBAnRqKAIAEQEACyACEFogABAHAAvHAQEDfyMAQRBrIgMkAAJAIAAoAgQEQCAAIAI2AnggACABNgJ8AkAgACgChAEiBCgCBCIBBEADQCACIAEoAhAiBU8EfyACIAVNDQMgAUEEagUgAQsoAgAiAQ0ACwtB898FQdORA0GtAkGJ1AIQAQALIAQgAhC6DSEEIAAoApgBIQEgAyACNgIMIAFFDQEgASADQQxqIAQgASgCACgCGBEDACAAQgA3AnggA0EQaiQADwtB6PoFQbqLA0GcBEHu0wIQAQALEOcCAAu+IgEOfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgASgCACICKAIADl4AAQIDBAUGBwgJCgsMDR4fICEiIyQlNTYODxAREhMUFRYXGBkaGxwdNyYnKCkqKywtLi8wMTIzNDg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaW1wAXQtBmP0DQeWzA0HqARBiAAsgAEEUakG1+QAgARBYIAIoAgBBAUcNXCACKAIUIgFBAEwNWyAAQRhqIQMDQCABQQFrIgAgAigCFE8NXiACKAIQIABBAnRqIgQoAgBFDV8gA0G0+QAgBBBbIAFBAUshBiAAIQEgBg0ACwxbCyAAQRRqIgNBtvkAIAEQWCACKAIAQQJHDVsgAigCEARAIABBGGpBtPkAIAJBEGoQWwsgA0G0+QAgAkEMahBYIANBtPkAIAJBCGoQWA8LIABBFGoiAEG3+QAgARBYIAIoAgBBA0cNWgxgCyAAQRRqQbj5ACABEFggAigCAEEERw1ZIAIoAhQEQCAAQRhqQbT5ACACQRRqEFsLIAIoAhBFDVggAEEYakG0+QAgAkEQahBbDwsgAEEUaiIDQbn5ACABEFggAigCAEEFRw1YIANBtPkAIAJBJGoQWCACKAIgRQ1XIABBGGpBtPkAIAJBIGoQWw8LIABBFGpBuvkAIAEQWCACKAIAQQZHDVcgAigCDCIBQQBMDVYgAEEYaiEDA0AgAUEBayIAIAIoAgxPDVkgAigCCCAAQQJ0aiIEKAIARQ1aIANBtPkAIAQQWyABQQFLIQcgACEBIAcNAAsMVgsgAEEUaiIDQbv5ACABEFggAigCAEEHRw1WIANBtPkAIAJBHGoQWCACKAIQIgFBAEwNVSAAQRhqIQMDQCABQQFrIgAgAigCEE8NWCACKAIMIABBAnRqIgQoAgBFDVkgA0G0+QAgBBBbIAFBAUshCCAAIQEgCA0ACwxVCyAAQRRqQbz5ACABEFggAigCAEEIRg1UDFULIABBFGoiAEG9+QAgARBYIAIoAgBBCUcNVAxdCyAAQRRqQb75ACABEFggAigCAEEKRg1SDFMLIABBFGoiAEG/+QAgARBYIAIoAgBBC0cNUgxYCyAAQRRqIgBBwPkAIAEQWCACKAIAQQxHDVEMXAsgAEEUaiIAQcH5ACABEFggAigCAEENRw1QDFoLIABBFGoiAEHC+QAgARBYIAIoAgBBGEcNTwxbCyAAQRRqIgBBw/kAIAEQWCACKAIAQRlHDU4gAEG0+QAgAkEgahBYDFoLIABBFGoiAEHE+QAgARBYIAIoAgBBGkcNTQxRCyAAQRRqIgBBxfkAIAEQWCACKAIAQRtHDUwMUQsgAEEUakHG+QAgARBYIAIoAgBBHEYNSgxLCyAAQRRqIgBBx/kAIAEQWCACKAIAQR1HDUoMUwsgAEEUaiIAQcj5ACABEFggAigCAEEeRw1JIABBtPkAIAJBFGoQWAxSCyAAQRRqIgBByfkAIAEQWCACKAIAQR9HDUgMVwsgAEEUaiIAQcr5ACABEFggAigCAEEgRw1HDE4LIABBFGoiAEHL+QAgARBYIAIoAgBBIUcNRgxOCyAAQRRqIgBBzPkAIAEQWCACKAIAQSJHDUUgAEG0+QAgAkEgahBYDwsgAEEUaiIAQc35ACABEFggAigCAEEjRw1EDE4LIABBFGoiAEHO+QAgARBYIAIoAgBBJEcNQwxHCyAAQRRqQc/5ACABEFggAigCAEElRg1BDEILIABBFGoiAEHQ+QAgARBYIAIoAgBBJkcNQQxPCyAAQRRqIgBB0fkAIAEQWCACKAIAQSdHDUAMTgsgAEEUakHS+QAgARBYIAIoAgBBDkYNPgw/CyAAQRRqIgBB0/kAIAEQWCACKAIAQQ9HDT4MRwsgAEEUaiIAQdT5ACABEFggAigCAEEQRw09DEULIABBFGoiAEHV+QAgARBYIAIoAgBBEUcNPAxKCyAAQRRqIgBB1vkAIAEQWCACKAIAQRJHDTsMSwsgAEEUakHX+QAgARBYIAIoAgBBE0cNOiACKAIIRQ05DEsLIABBFGpB2PkAIAEQWCACKAIAQRRGDTgMOQsgAEEUaiIAQdn5ACABEFggAigCAEEVRw04DEgLIABBFGpB2vkAIAEQWCACKAIAQSlGDTYMNwsgAEEUaiIAQdv5ACABEFggAigCAEEqRw02DEYLIABBFGpB3PkAIAEQWCACKAIAQStGDTQMNQsgAEEUaiIAQd35ACABEFggAigCAEEsRw00DEMLIABBFGoiAEHe+QAgARBYIAIoAgBBLUcNMww5CyAAQRRqIgBB3/kAIAEQWCACKAIAQS5HDTIMNwsgAEEUakHg+QAgARBYIAIoAgBBL0YNMAwxCyAAQRRqIgBB4fkAIAEQWCACKAIAQTBHDTAMNQsgAEEUaiIAQeL5ACABEFggAigCAEExRw0vDDMLIABBFGoiAEHj+QAgARBYIAIoAgBBMkcNLgw8CyAAQRRqIgNB5PkAIAEQWCACKAIAQTNHDS0gAigCKCIBQQBKBEAgAEEYaiEEA0AgAUEBayIAIAIoAihPDTAgAigCJCAAQQJ0aiIFKAIARQ0xIARBtPkAIAUQWyABQQFLIQkgACEBIAkNAAsLIANBtPkAIAJBEGoQWA8LIABBFGoiAEHl+QAgARBYIAIoAgBBNEYEQAw9CwwsCyAAQRRqQeb5ACABEFggAigCAEE1Rw0rIAIoAhQiAUEATA0qIABBGGohAwNAIAFBAWsiACACKAIUTw0tIAIoAhAgAEECdGoiBCgCAEUNLiADQbT5ACAEEFsgAUEBSyEKIAAhASAKDQALDCoLIABBFGpB5/kAIAEQWCACKAIAQTZGDSkMKgsgAEEUaiIAQej5ACABEFggAigCAEE3Rw0pDDkLIABBFGpB6fkAIAEQWCACKAIAQRZGDScMKAsgAEEUakHq+QAgARBYIAIoAgBBF0YNJgwnCyAAQRRqQev5ACABEFggAigCAEEoRg0lDCYLIABBFGpB7PkAIAEQWCACKAIAQThHDSUgAigCDCIBQQBMDSQgAEEYaiEDA0AgAUEBayIAIAIoAgxPDScgAigCCCAAQQJ0aiIEKAIARQ0oIANBtPkAIAQQWyABQQFLIQsgACEBIAsNAAsMJAsgAEEUaiIAQe35ACABEFggAigCAEE5Rw0kDDQLIABBFGoiAEHu+QAgARBYIAIoAgBBOkcNIwwzCyAAQRRqIgBB7/kAIAEQWCACKAIAQTtHDSIMMgsgAEEUaiIDQfD5ACABEFggAigCAEE8Rw0hIANBtPkAIAJBGGoQWCACKAIMIgFBAEwNICAAQRhqIQMDQCABQQFrIgAgAigCDE8NIyACKAIIIABBAnRqIgQoAgBFDSQgA0G0+QAgBBBbIAFBAUshDCAAIQEgDA0ACwwgCyAAQRRqIgBB8fkAIAEQWCACKAIAQT1HDSAMMAsgAEEUaiIAQfL5ACABEFggAigCAEE+Rw0fDC8LIABBFGoiAEHz+QAgARBYIAIoAgBBP0cNHiAAQbT5ACACQRRqEFgPCyAAQRRqQfT5ACABEFggAigCAEHAAEcNHSACKAIMIgFBAEwNHCAAQRhqIQMDQCABQQFrIgAgAigCDE8NHyACKAIIIABBAnRqIgQoAgBFDSAgA0G0+QAgBBBbIAFBAUshDSAAIQEgDQ0ACwwcCyAAQRRqIgBB9fkAIAEQWCACKAIAQcEARw0cDCULIABBFGoiAEH2+QAgARBYIAIoAgBBwgBHDRsMIwsgAEEUaiIDQff5ACABEFggAigCAEHDAEcNGiADQbT5ACACQQxqEFggAigCCEUNGQwrCyAAQRRqIgBB+PkAIAEQWCACKAIAQcQARw0ZDB4LIABBFGoiAEH5+QAgARBYIAIoAgBBxQBHDRgMHQsgAEEUakH6+QAgARBYIAIoAgBBxgBHDRcgAigCDCIBQQBMDRYgAEEYaiEDA0AgAUEBayIAIAIoAgxPDRkgAigCCCAAQQJ0aiIEKAIARQ0aIANBtPkAIAQQWyABQQFLIQ4gACEBIA4NAAsMFgsgAEEUaiIAQfv5ACABEFggAigCAEHHAEcNFgwlCyAAQRRqIgBB/PkAIAEQWCACKAIAQcgARw0VDCMLIABBFGoiAEH9+QAgARBYIAIoAgBByQBHDRQMJAsgAEEUaiIAQf75ACABEFggAigCAEHKAEcNEyAAQbT5ACACQRhqEFgMIAsgAEEUaiIAQf/5ACABEFggAigCAEHLAEcNEgwfCyAAQRRqIgBBgPoAIAEQWCACKAIAQcwARw0RDBQLIABBFGoiAEGB+gAgARBYIAIoAgBBzQBHDRAMEwsgAEEUaiIAQYL6ACABEFggAigCAEHOAEcNDwwYCyAAQRRqIgNBg/oAIAEQWCACKAIAQc8ARw0OIAIoAhgEQCAAQRhqQbT5ACACQRhqEFsLIAIoAhQEQCAAQRhqQbT5ACACQRRqEFsLIAIoAhAEQCAAQRhqQbT5ACACQRBqEFsLDCALIABBFGpBhPoAIAEQWCACKAIAQdAARg0MDA0LIABBFGoiAEGF+gAgARBYIAIoAgBB0QBHDQwMFQsgAEEUaiIDQYb6ACABEFggAigCAEHSAEcNCyACKAIUBEAgAEEYakG0+QAgAkEUahBbCyADQbT5ACACQRBqEFgMHQsgAEEUaiIAQYf6ACABEFggAigCAEHTAEcNCgwZCyAAQRRqIgBBiPoAIAEQWCACKAIAQdQARw0JDBELIABBFGoiAEGJ+gAgARBYIAIoAgBB1QBHDQgMEQsgAEEUaiIAQYr6ACABEFggAigCAEHWAEcNBwwVCyAAQRRqIgBBi/oAIAEQWCACKAIAQdcARw0GDBULIABBFGoiAEGM+gAgARBYIAIoAgBB2ABHDQUMFQsgAEEUaiIAQY36ACABEFggAigCAEHZAEcNBAwMCyAAQRRqIgBBjvoAIAEQWCACKAIAQdoARw0DDAoLIABBFGoiAEGP+gAgARBYIAIoAgBB2wBHDQIMEQsgAEEUaiIDQZD6ACABEFggAigCAEHcAEcNASADQbT5ACACQTxqEFggAigCMCIBQQBMDQAgAEEYaiEDA0AgAUEBayIAIAIoAjBPDQMgAigCLCAAQQJ0aiIEKAIARQ0EIANBtPkAIAQQWyABQQFLIQ8gACEBIA8NAAsLDwtB8O0FQcWYA0GUBkGN3gAQAQALQcWiAUGJogNBvAFBpogFEAEAC0GBgwJB05kDQbkCQa73AhABAAsgAEG0+QAgAkEcahBYCyAAQbT5ACACQRhqEFgLIABBtPkAIAJBFGoQWAsgAEG0+QAgAkEQahBYDwsgAEG0+QAgAkEUahBYCyAAQbT5ACACQRBqEFgLIABBtPkAIAJBDGoQWA8LIABBtPkAIAJBKGoQWAsgAEG0+QAgAkEkahBYDwsgAEG0+QAgAkEcahBYIABBtPkAIAJBGGoQWA8LIABBtPkAIAJBFGoQWAsgAEG0+QAgAkEQahBYCyAAQbT5ACACQQxqEFgLIABBtPkAIAJBCGoQWA8LIABBGGpBtPkAIAJBCGoQWw8LIANBtPkAIAJBDGoQWAvsEAEYfyMAQbACayIDJAACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCBARAIAAgACgCACgCEBECAARAIAMgACgCBCICKQI4NwP4ASADIAIpAjA3A/ABIAMgAikCKDcD6AEgAyACKQIgNwPgASADIAIpAhg3A9gBIANBgAJqIAJBQGsQ4wEhBEHUiQtBADYCAEGaASADQZQCaiACQdQAahACIQVB1IkLKAIAIRFB1IkLQQA2AgAgEUEBRg0CIAMgAigCaDYCqAIgAyACKAJsIgI2AqwCIAIEQCACIAIoAgRBAWo2AgQLIANBASADKALgASICIAJBAEobNgLgASADIAMpA+gBNwMYIAMgAykD8AE3AyAgAyADKQP4ATcDKCADIAMpA+ABNwMQIANBASADKALcASICIAJBAEobNgLcAUHUiQtBADYCACADIAMpA9gBNwMIQZsBIANBMGogBBACIQRB1IkLKAIAIQJB1IkLQQA2AgACQCACQQFHBEBB1IkLQQA2AgBBmgEgA0HEAGogBRACIQVB1IkLKAIAIRJB1IkLQQA2AgAgEkEBRg0FIAMgAygCrAIiAjYCXCADIAMoAqgCNgJYIAIEQCACIAIoAgRBAWo2AgQLIANBADYCeCADIAMpAxA3AoQBIAMgAykDGDcCjAEgAyADKQMgNwKUASADIAMpAyg3ApwBIANCADcCcCADQfzsCTYCZCADIAMpAwg3AnxB1IkLQQA2AgAgAyABNgJoIAMgAUGoAWo2AmxBmwEgA0GkAWogBBACIQFB1IkLKAIAIQJB1IkLQQA2AgACQCACQQFHBEBB1IkLQQA2AgBBmgEgA0G4AWogBRACGkHUiQsoAgAhE0HUiQtBADYCACATQQFHBEAgAyADKAJYNgLMASADIAMoAlwiATYC0AEgAQRAIAEgASgCBEEBajYCBAsgA0EAOwHUASADQQhqEGEgA0EBOgDUASAAKAIAKAIUIRRB1IkLQQA2AgAgFCAAEAYhAEHUiQsoAgAhFUHUiQtBADYCACAVQQFGDQQgAygCZCgCCCEWQdSJC0EANgIAIBYgA0HkAGoiASAAEANB1IkLKAIAIRdB1IkLQQA2AgAgF0EBRg0EQdSJC0EANgIAQZcBIAEQCkHUiQsoAgAhGEHUiQtBADYCACAYQQFGDQQgA0H87Ak2AmQgA0H8AGoQYSADKAJwIgEEQCADKAJ0IgAgASICRwRAA0AgAEEEayIAKAIAIQIgAEEANgIAIAIEQCACIAIoAgAoAgQRAQALIAAgAUcNAAsgAygCcCECCyADIAE2AnQgAhBaCyADQdgBahBhDBELEAAhACABEGsMAQsQACEACyADQfAAahDgASADQQhqEGEMDwsQACEADA4LEAAhACADQeQAahB8GgwNCyAAIAE2AnwgAEEUaiEKIAEoAhgiAiABKAIcIgRHBEADQCACKAIAIgUoAgxFBEAgCiAFQSBqEOwJCyACQQRqIgIgBEcNAAsLIAEoAgwiBCABKAIQIgZHBEADQCAEKAIAIgUoAgxFBEAgACAFNgJ4AkAgACgChAEiBygCBCICBEADQCAFIAIoAhAiCU8EfyAFIAlNDQMgAkEEagUgAgsoAgAiAg0ACwtB898FQdORA0GtAkGJ1AIQAQALIAcgBRC6DSEHIAAoApgBIQIgAyAFNgJkIAJFDQYgAiADQeQAaiAHIAIoAgAoAhgRAwAgAEEANgJ4CyAEQQRqIgQgBkcNAAsLIAEoAjAiCSABKAI0Ig5GDQogAEEcaiENA0AgCSgCACICKAIMBEAgCiACQRRqEOwJCyACKAIcIgsgAigCICIPRwRAIAAoAnAhBCAAKAJsIQYgACgCGCEFA0AgAyALKAIAIgc2AmQgBCAGayIQQQN1IgJBACAFa0cNByAHRQ0IAkAgBUEJTQRAIAAgBUEBaiIGNgIYIA0gBUEDdGoiAkG0+QA2AgAgAiADQeQAajYCBCAEIQIgBiEFDAELIAAoAnQiCCAESwRAIARBtPkANgIAIAQgA0HkAGo2AgQgACAEQQhqIgI2AnAMAQsgAkEBaiIHQYCAgIACTw0KQf////8BIAggBmsiCEECdSIMIAcgByAMSRsgCEH4////B08bIgdBgICAgAJPDQsgECAHQQN0IgwQXCIIaiIHQbT5ADYCACAIIAJBA3RqIANB5ABqNgIEIAdBCGohAiAEIAZHBEADQCAHQQhrIgcgBEEIayIEKQIANwIAIAQgBkcNAAsLIAAgCCAMajYCdCAAIAI2AnAgACAHNgJsIAZFDQAgBhBaIAAoAnAhAiAAKAIYIQULQQAgBWsgAiAAKAJsIgZrQQN1RwRAA0ACQCACIAZGBEAgBUUNDyANIAVBAWsiBEEDdGoiBSgCBCECIAUoAgAhBiAAIAQ2AhgMAQsgAkEIayIEKAIAIQYgBCgCBCECIAAgBDYCcAsgCiACNgIAIAIoAgBFDQ4gACACIAYRAABBACAAKAIYIgVrIAAoAnAiAiAAKAJsIgZrQQN1Rw0ACwsgAiEEIAtBBGoiCyAPRw0ACwsgCUEEaiIJIA5HDQALDAoLQej6BUG6iwNB/ANB2ssCEAEACxAAIRkgBBBrIBkQBwALEAAhACAEEGsMCQsQ5wIAC0HNygVB05kDQcgCQdD4AhABAAtBgYMCQdOZA0G5AkGu9wIQAQALEGQACxBqAAtB3sQFQbCUA0HaAEH9+wIQAQALQfWCAkHTmQNBzQJB0PgCEAEACyABKAJIIgIgASgCTCIBRwRAA0AgAigCACIELQAURQRAIAogBEEYahDsCQsgAkEEaiICIAFHDQALCyAAQQA2AnwLIANBsAJqJAAPCyADQdgBahBhIAAQBwALgQEBA38gAEG0jAg2AgACQAJAIAAoApgBIgEgAEGIAWoiAkYEQEEEIQMgAiEBDAELQQUhAyABRQ0BCyABIAEoAgAgA0ECdGooAgARAQALIAAoAmwiAgRAIAAgAjYCcCACEFoLIABBkO0JNgIAIAAsABNBAEgEQCAAKAIIEFoLIAAQWgsnACAAKAIAQSJHBEBB2rMGQae3AkG9GkGa4AIQAQALIAAgAa03AxgLugIBBX8CQCAAKAIsIgMoAgQiBUUNACABQZXTx94FbCIEQRh2IARzQZXTx94FbEGomb30fXNBldPH3gVsIgRBDXYgBHNBldPH3gVsIgRBD3YgBHMhBCADKAIAAn8gBUEBayAEcSAFaSIGQQFNDQAaIAQgBCAFSQ0AGiAEIAVwCyIHQQJ0aigCACIDRQ0AIAMoAgAiA0UNAAJAIAZBAU0EQCAFQQFrIQUDQAJAIAMoAgQiBiAERwRAIAUgBnEgB0YNAQwFCyADKAIIIAFGDQMLIAMoAgAiAw0ACwwCCwNAAkAgAygCBCIGIARHBEAgBSAGTQR/IAYgBXAFIAYLIAdGDQEMBAsgAygCCCABRg0CCyADKAIAIgMNAAsMAQsgAiAAIAMoAgwQpQc2AgAgAiAAIAMoAhAQpQc2AgQLC6QEAQh/IwBB0ABrIgIkAAJAAkACQAJAIAAoAgxFDQAgAiABNgIQQdgAEFwiAUIANwIYIAFCADcCOCABQgA3AiggAUIANwIgIAFCgICAgICAgMA/NwIwIAFBQGtCADcCACABQgA3AlAgAUKAgID8AzcCSCACQgA3AiAgAkEANgI0IAIgAkEsaiIDNgIwIAJBgICA/AM2AiggAkIANwIYIAIgATYCFCADIAM2AgAgAiAANgI4IAJBmI4INgIMQdSJC0EANgIAQc3BACACQTxqIgAgAkEMaiIBEANB1IkLKAIAIQVB1IkLQQA2AgAgBUEBRg0CQdSJC0EANgIAQZAaIAEgABADQdSJCygCACEGQdSJC0EANgIAIAZBAUYNASACKAJEIgEEQANAIAEoAgAhByABEFogByIBDQALCyACKAI8IQAgAkEANgI8IAAEQCAAEFoLIAJB+OsJNgIMAkAgAigCNEUNACACKAIwIgEoAgAiACACKAIsKAIEIgQ2AgQgBCAANgIAIAJBADYCNCABIANGDQADQCABKAIEIQggARBaIAgiASADRw0ACwsgAigCICIBBEADQCABKAIAIQkgARBaIAkiAQ0ACwsgAigCGCEAIAJBADYCGCAABEAgABBaCyACKAIUIQAgAkEANgIUIABFDQAgABCRAwsgAkHQAGokAA8LEAAhASACQTxqEKIBDAELEAAhAQsgAkEMahC8BRogARAHAAvrDAIOfwJ9IAJBldPH3gVsIgRBGHYgBHNBldPH3gVsQaiZvfR9c0GV08feBWwiBEENdiAEc0GV08feBWwiBEEPdiAEcyEIAkAgAAJ/AkAgASgCBCIERQ0AAkAgBGkiBUEBTQRAIARBAWsgCHEhBgwBCyAIIgYgBEkNACAGIARwIQYLIAEoAgAgBkECdGooAgAiB0UNACAHKAIAIgdFDQAgBUEBTQRAIARBAWshBQNAAkAgCCAHKAIEIglHBEAgBSAJcSAGRw0EDAELIAcoAgggAkcNAEEADAQLIAcoAgAiBw0ACwwBCwNAAkAgCCAHKAIEIgVHBEAgBCAFTQR/IAUgBHAFIAULIAZHDQMMAQsgBygCCCACRw0AQQAMAwsgBygCACIHDQALC0EUEFwhByADKAIAIQIgB0IANwIMIAcgAjYCCCAHIAg2AgQgB0EANgIAIAFBCGohCSABKgIQIRIgASgCDEEBarMhEwJAAkAgBEUNACASIASzlCATXQ0AIAYhCAwBC0ECIQICQCAEIARBAWtxQQBHIARBA0lyIARBAXRyIgMCfyATIBKVjSISQwAAgE9dIBJDAAAAAGBxBEAgEqkMAQtBAAsiBiADIAZLGyIDQQFGDQAgAyADQQFrcUUEQCADIQIMAQtB1IkLQQA2AgBBFSADEAYhAkHUiQsoAgAhDUHUiQtBADYCACANQQFGDQMgASgCBCEECwJAAkAgAiAETQRAIAIgBE8NAiAEQQNJIQYCfyABKAIMsyABKgIQlY0iEkMAAIBPXSASQwAAAABgcQRAIBKpDAELQQALIQMCQAJAIAYNACAEaUEBSw0AIANBAUEgIANBAWtna3QgA0ECSRshBQwBC0HUiQtBADYCAEEVIAMQBiEFQdSJCygCACEOQdSJC0EANgIAIA5BAUYNBgsgBCACIAUgAiAFSxsiAk0EQCABKAIEIQQMAwsgAkUNAQsgAkGAgICABE8EQEHUiQtBADYCAEEDEAlB1IkLKAIAIQ9B1IkLQQA2AgAgD0EBRg0FAAtB1IkLQQA2AgBBBCACQQJ0EAYhBEHUiQsoAgAhEEHUiQtBADYCACAQQQFGDQQgASgCACEDIAEgBDYCACADBEAgAxBaCyABIAI2AgRBACEGQQAhBCACQQRPBEAgAkH8////A3EhBQNAIARBAnQiAyABKAIAakEANgIAIAEoAgAgA2pBADYCBCABKAIAIANqQQA2AgggASgCACADakEANgIMIARBBGoiBCAFRw0ACwsgAkEDcSIDBEADQCABKAIAIARBAnRqQQA2AgAgBEEBaiEEIAZBAWoiBiADRw0ACwsgASgCCCIERQRAIAIhBAwCCyAEKAIEIQMCQCACIAJBAWsiCnEEQCACIANNBEAgAyACcCEDCyABKAIAIANBAnRqIAk2AgAgBCgCACIGDQEgAiEEDAMLIAEoAgAgAyAKcSIDQQJ0aiAJNgIAIAQoAgAiBUUEQCACIQQMAwsDQAJAIAMgBSgCBCAKcSIGRgRAIAUhBAwBCyAGQQJ0IgsgASgCAGoiDCgCAARAIAQgBSgCADYCACAFIAEoAgAgC2ooAgAoAgA2AgAgASgCACALaigCACAFNgIADAELIAwgBDYCACAFIQQgBiEDCyAEKAIAIgUNAAsgAiEEDAILA0AgAiAGKAIEIgVNBEAgBSACcCEFCwJAIAMgBUYEQCAGIQQMAQsgBUECdCIKIAEoAgBqIgsoAgBFBEAgCyAENgIAIAYhBCAFIQMMAQsgBCAGKAIANgIAIAYgASgCACAKaigCACgCADYCACABKAIAIApqKAIAIAY2AgALIAQoAgAiBg0ACyACIQQMAQsgASgCACECQQAhBCABQQA2AgAgAgRAIAIQWgsgAUEANgIECyAEIARBAWsiAnFFBEAgAiAIcSEIDAELIAQgCEsNACAIIARwIQgLAkACQCABKAIAIAhBAnRqIgIoAgAiBUUEQCAHIAEoAgg2AgAgASAHNgIIIAIgCTYCACAHKAIAIgJFDQIgAigCBCEFAkAgBCAEQQFrIgJxRQRAIAIgBXEhBQwBCyAEIAVLDQAgBSAEcCEFCyABKAIAIAVBAnRqIQUMAQsgByAFKAIANgIACyAFIAc2AgALIAEgASgCDEEBajYCDEEBCzoABCAAIAc2AgAPCxAAIREgBxBaIBEQBwALw1ADXn8CfQJ+IwBBsANrIgQkAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABLQCFAUEEcUUNAAJAAkACQAJAAn8CQAJAIAAoAgQtAD1FBEAgBEGQAWoQqQIhAkHUiQtBADYCAEGJIiACQcDLBBACIQFB1IkLKAIAIRlB1IkLQQA2AgAgGUEBRw0BEAAaIAIQcQALIAEoAlQgASgCWEcNByAEQdgAaiILQgA3AgAgBEGQjAg2AjggBCALNgJUIAQgATYCUCAEIARBOGo2AkhBkIwIIAEoAgwiCSABKAIQIghGDQIaA0ACQCAJKAIAIQYgCyIHIQICQAJAIAQoAlgiA0UNAANAIAYgAyICKAIQIgNJBEAgAiEHIAIoAgAiAw0BDAILIAMgBk8NAiACKAIEIgMNAAsgAkEEaiEHC0HUiQtBADYCAEEEQcQAEAYhA0HUiQsoAgAhGkHUiQtBADYCACAaQQFGDQEgBCALNgKUASAEIAM2ApABIANCADcCPCADQgA3AhQgAyAGNgIQIANCADcCHCADQgA3AiQgA0IANwIsIANCADcCNCADQUBrQQE6AAAgA0GAgID8AzYCPCAEQQE6AJgBIAMgAjYCCCADQgA3AgAgByADNgIAIAQoAlQoAgAiAgRAIAQgAjYCVCAHKAIAIQMLIAQoAlggAxBnIARBADYCkAEgBCAEKAJcQQFqNgJcIARBkAFqEIcICyAIIAlBBGoiCUcNAQwDCwsQACEDDBQLIAEQcQALIAQoAkgiA0UEQEEAIQIMBAsgAyAEQThqRw0BIAQoAjgLIRsgBCAEQeAAaiIDNgJwIBsoAgwhHEHUiQtBADYCACAcIARBOGogAxADQdSJCygCACEdQdSJC0EANgIAIB1BAUcNAwwBCyADKAIAKAIIIR5B1IkLQQA2AgAgHiADEAYhAkHUiQsoAgAhH0HUiQtBADYCACAfQQFHDQELEAAhAwwPCyAEIAI2AnALIAQoAlAiAigCDCIJIAIoAhAiCEcEQAJAAkADQAJAIAkoAgAiBigCDARAIAsiByECAkACQCAEKAJYIgNFDQADQCAGIAMiAigCECIDSQRAIAIhByACKAIAIgMNAQwCCyADIAZPDQIgAigCBCIDDQALIAJBBGohBwtB1IkLQQA2AgBBBEHEABAGIQNB1IkLKAIAISBB1IkLQQA2AgAgIEEBRg0CIAQgCzYClAEgBCADNgKQASADQgA3AjwgA0IANwIUIAMgBjYCECADQgA3AhwgA0IANwIkIANCADcCLCADQgA3AjQgA0FAa0EBOgAAIANBgICA/AM2AjwgBEEBOgCYASADIAI2AgggA0IANwIAIAcgAzYCACAEKAJUKAIAIgIEQCAEIAI2AlQgBygCACEDCyAEKAJYIAMQZyAEKAKQASECIARBADYCkAEgBCAEKAJcQQFqNgJcIARBkAFqEIcICyAEKAJwIQUgBCAGNgKQASAFRQRAQdSJC0EANgIAQcUAEAlB1IkLKAIAISFB1IkLQQA2AgAgIUEBRg0EDA8LIAUoAgAoAhghIkHUiQtBADYCACAiIAUgBEGQAWogAkEUahAIQdSJCygCACEjQdSJC0EANgIAICNBAUYNAQsgCCAJQQRqIglHDQEMAwsLEAAhAwwPCxAAIQMMDgsgBCgCUCECCyAEQgA3AMUCIARCADcC6AJBACEDIARBADoA5AIgBEEUNgLgAiAEQoKAgIBwNwLYAiAEQgA3AtACIARBgQI7AM0CIARCADcC8AIgBEIANwL4AiAEQoCAgICAgIDAPzcCgAMgBEIANwKIAyAEQgA3ApADIARBgICA/AM2ApgDIARBADsBpAMgBEIANwKcAyAEQgA3AsACIARB/OwJNgK0AiAEIAI2ArgCIAQgAkGoAWo2ArwCAkACQAJAAkACQCAEKAJwIgUEQCAEQeAAaiIHIAVGBEAgBCAEQfgAaiIFNgKIASAEKAJgKAIMISRB1IkLQQA2AgAgJCAHIAUQA0HUiQsoAgAhJUHUiQtBADYCACAlQQFGDQMgBCgCiAEhAwwCCyAFKAIAKAIIISZB1IkLQQA2AgAgJiAFEAYhA0HUiQsoAgAhJ0HUiQtBADYCACAnQQFGDQILIAQgAzYCiAELQQAhByAEQQA2AowCIARCADcChAIgBEIANwKcASAEQgA3AqQBIARCADcC/AEgBEIANwKUASAEIARB1ABqNgKUAiAEIAI2ApACIARBtIwINgKQASAEQZgCaiEFAkAgAwRAIARB+ABqIgcgA0YEQCAEIAU2AqgCIAQoAngoAgwhKEHUiQtBADYCACAoIAcgBRADQdSJCygCACEpQdSJC0EANgIAIClBAUcNAgwQCyADKAIAKAIIISpB1IkLQQA2AgAgKiADEAYhB0HUiQsoAgAhK0HUiQtBADYCACArQQFGDQ8LIAQgBzYCqAILAkAgBCgClAEiAkUNACACIARBtAJqRg0AQdSJC0EANgIAQQ1B4sQGQbqLA0HjA0H+/AEQBUHUiQsoAgAhLEHUiQtBADYCACAsQQFHDQ0MDAsgBCAEQbQCajYClAEgBCgCkAEoAgghLUHUiQtBADYCACAtIARBkAFqIAQoAlAQA0HUiQsoAgAhLkHUiQtBADYCACAuQQFGDQsgBEG0jAg2ApABAkACQCAFIAQoAqgCIgJGBEBBBCEDIAUhAgwBC0EFIQMgAkUNAQsgAiACKAIAIANBAnRqKAIAEQEACyAEKAL8ASICBEAgBCACNgKAAiACEFoLIARBkO0JNgKQASAELACjAUEASARAIAQoApgBEFoLAkACQCAEKAKIASICIARB+ABqIgVGBEBBBCEDIAUhAgwBC0EFIQMgAkUNAQsgAiACKAIAIANBAnRqKAIAEQEACyAEQfzsCTYCtAIgBEHMAmoQYSAEKALAAiIFBEAgBCgCxAIiAiAFIgNHBEADQCACQQRrIgIoAgAhAyACQQA2AgAgAwRAIAMgAygCACgCBBEBAAsgAiAFRw0ACyAEKALAAiEDCyAEIAU2AsQCIAMQWgsgBCgCcCICIARB4ABqIgVHDQFBBCEDIAUhAgwCCxAAIQMMDgtBBSEDIAJFDQELIAIgAigCACADQQJ0aigCABEBAAsCQAJAIAQoAkgiAiAEQThqIgVGBEBBBCEDIAUhAgwBC0EFIQMgAkUNAQsgAiACKAIAIANBAnRqKAIAEQEACyAEQgA3A4ABIARCADcDeCAEQYCAgPwDNgKIASAEQZgBaiITQgA3AwAgBEEANgKsASAEIARBpAFqIhY2AqgBIARCADcDkAEgBCAWNgKkASAEQYCAgPwDNgKgAQJAIAEoAgwiFCABKAIQIhhGDQAgFq1CIIYhYwJAA0AgFCgCACEPIAsiAyEIAkACQAJAAkACQCAEKAJYIgJFDQADQCAPIAIiCCgCECICSQRAIAgiAygCACICDQEMAgsgAiAPTw0CIAgoAgQiAg0ACyAIQQRqIQMLQdSJC0EANgIAQQRBxAAQBiECQdSJCygCACEvQdSJC0EANgIAIC9BAUYNASAEIAs2ArgCIAQgAjYCtAIgAkIANwI8IAJCADcCFCACIA82AhAgAkIANwIcIAJCADcCJCACQgA3AiwgAkIANwI0IAJBQGtBAToAACACQYCAgPwDNgI8IARBAToAvAIgAiAINgIIIAJCADcCACADIAI2AgAgBCgCVCgCACIFBEAgBCAFNgJUIAMoAgAhAgsgBCgCWCACEGcgBCgCtAIhCCAEQQA2ArQCIAQgBCgCXEEBajYCXCAEQbQCahCHCAsgCCgCFCIFIAgoAhgiBkcNAQwCCxAAIQMMCwsCQAJAA0ACQCABKALYASEDIAEoAtQBIQIgBSgCACINKQIYIWJB1IkLQQA2AgBBqAEgAiADIGIQ8QEhMUHUiQsoAgAhMEHUiQtBADYCACAwQQFGDQAgMSgCHCECQdSJC0EANgIAQa35ACAEQfgAaiACEAIhCkHUiQsoAgAhMkHUiQtBADYCACAyQQFGDQACQCAKKAIEIgIgCigCCEcEQCACIA02AgAgCiACQQRqNgIEDAELAkACQAJAIAIgCigCACISayIJQQJ1IgdBAWoiDEGAgICABE8EQEHUiQtBADYCAEGmMhAJDAELQf////8DIAlBAXUiAyAMIAMgDEsbIAlB/P///wdPGyIMRQRAQQAhCQwDCyAMQYCAgIAESQ0BQdSJC0EANgIAQQMQCQtB1IkLKAIAITNB1IkLQQA2AgAgM0EBRw0TEAAhAwwRC0HUiQtBADYCAEEEIAxBAnQQBiEJQdSJCygCACE0QdSJC0EANgIAIDRBAUYNAgsgCSAHQQJ0aiIDIA02AgAgA0EEaiEHIAIgEkcEQANAIANBBGsiAyACQQRrIgIoAgA2AgAgAiASRw0ACyAKKAIAIQILIAogCSAMQQJ0ajYCCCAKIAc2AgQgCiADNgIAIAJFDQAgAhBaC0HUiQtBADYCAEGu+QAgASANEAIhA0HUiQsoAgAhNUHUiQtBADYCACA1QQFGDQICQCADRQ0AIA0oAgwiAkUEQEHUiQtBADYCAEENQbTEBUGJogNB0AFB/fsCEAVB1IkLKAIAITZB1IkLQQA2AgAgNkEBRw0SEAAhAwwQCyANKAIIIAJBAnRqQQRrKAIAKAIEIgJBAUYNAAJAIAJBB08EQCACKAIEQQFGDQELQdSJC0EANgIAQQ1Bv/8FQbizAkHkB0GriQQQBUHUiQsoAgAhN0HUiQtBADYCACA3QQFHDRIQACEDDBALIAIoAgghAkHUiQtBADYCAEGv+QAgBEH4AGogAhACITlB1IkLKAIAIThB1IkLQQA2AgAgOEEBRg0EIDlBADoALAsgBiAFQQRqIgVHDQEMBAsLEAAhAwwMCxAAIQMMCwsQACEDDAoLIAgoAiAiByAIKAIkIgxHBEADQAJAIAcoAgAiBSgCGCgCBCICQQFGDQACQCACQQdPBEAgAigCBEEBRg0BC0HUiQtBADYCAEENQb//BUG4swJB5AdBq4kEEAVB1IkLKAIAITpB1IkLQQA2AgAgOkEBRw0PEAAhAwwNCyACKAIIIQJB1IkLQQA2AgBBr/kAIARB+ABqIAIQAiEKQdSJCygCACECQdSJC0EANgIAAkAgAkEBRg0AIAooAhAiAiAKKAIURwRAIAIgBTYCACAKIAJBBGo2AhAMAgsCQAJAAkAgAiAKKAIMIg1rIhJBAnUiBkEBaiIJQYCAgIAETwRAQdSJC0EANgIAQbD5ABAJDAELQf////8DIBJBAXUiAyAJIAMgCUsbIBJB/P///wdPGyIJRQRAQQAhEQwDCyAJQYCAgIAESQ0BQdSJC0EANgIAQQMQCQtB1IkLKAIAITtB1IkLQQA2AgAgO0EBRw0REAAhAwwPC0HUiQtBADYCAEEEIAlBAnQQBiERQdSJCygCACE8QdSJC0EANgIAIDxBAUYNAQsgESAGQQJ0aiIDIAU2AgAgESAJQQJ0aiEFIANBBGohBiACIA1HBEADQCADQQRrIgMgAkEEayICKAIANgIAIAIgDUcNAAsgCigCDCECCyAKIAU2AhQgCiAGNgIQIAogAzYCDCACRQ0BIAIQWgwBCxAAIQMMDAsgB0EEaiIHIAxHDQALCyAPKAIcIQJB1IkLQQA2AgBBrfkAIARB+ABqIAIQAiEDQdSJCygCACE9QdSJC0EANgIAID1BAUYNAQJAIAgoAjQiAgRAIANBGGohBwNAIAIoAgghA0HUiQtBADYCAEGNECAEQbQCaiAHIAMgAxAFQdSJCygCACE+QdSJC0EANgIAID5BAUYNAiACKAIAIgINAAsLIAhBQGstAABFBEAgDygCHCECQdSJC0EANgIAQa35ACAEQfgAaiACEAIhQEHUiQsoAgAhP0HUiQtBADYCACA/QQFGDQMgQEEAOgAsCyAPKAIcIg1BldPH3gVsIgJBGHYgAnNBldPH3gVsQaiZvfR9c0GV08feBWwiAkENdiACc0GV08feBWwiAkEPdiACcyEHAkACfwJAAkAgBCgClAEiA0UNAAJAIANpQQFLIghFBEAgA0EBayAHcSEFDAELIAciBSADSQ0AIAUgA3AhBQsgBCgCkAEgBUECdGooAgAiAkUNACACKAIAIgJFDQAgCEUEQCADQQFrIQYDQAJAIAcgAigCBCIIRwRAIAYgCHEgBUYNAQwECyACKAIIIA1GDQQLIAIoAgAiAg0ACwwBCwNAAkAgByACKAIEIghHBEAgAyAITQR/IAggA3AFIAgLIAVGDQEMAwsgAigCCCANRg0DCyACKAIAIgINAAsLQdSJC0EANgIAQQRBEBAGIQpB1IkLKAIAIQJB1IkLQQA2AgACQCACQQFGDQAgCiAHNgIEIApBADYCACAKIGMgDa2ENwIIIAQqAqABIWEgBCgCnAFBAWqzIWACQAJAAkACQAJAAkACQCADRQ0AIGEgA7OUIGBdDQAgBSEHDAELQQIhBQJAIAMgA0EBa3FBAEcgA0EDSXIgA0EBdHIiCAJ/IGAgYZWNImBDAACAT10gYEMAAAAAYHEEQCBgqQwBC0EACyICIAIgCEkbIgJBAUYNACACIAJBAWtxRQRAIAIhBQwBC0HUiQtBADYCAEEVIAIQBiEFQdSJCygCACFBQdSJC0EANgIAIEFBAUYNAiAEKAKUASEDCwJAAkAgAyAFTwRAIAMgBU0NAiADQQNJIQICfyAEKAKcAbMgBCoCoAGVjSJgQwAAgE9dIGBDAAAAAGBxBEAgYKkMAQtBAAshCAJAAkAgAg0AIANpQQFLDQAgCEEBQSAgCEEBa2drdCAIQQJJGyECDAELQdSJC0EANgIAQRUgCBAGIQJB1IkLKAIAIUJB1IkLQQA2AgAgQkEBRg0FCyADIAUgAiACIAVJGyIFTQRAIAQoApQBIQMMAwsgBUUNAQsgBUGAgICABE8EQEHUiQtBADYCAEEDEAlB1IkLKAIAIUNB1IkLQQA2AgAgQ0EBRw0ZEAAhAyAKEFoMFwtB1IkLQQA2AgBBBCAFQQJ0EAYhA0HUiQsoAgAhREHUiQtBADYCACBEQQFGDQMgBCgCkAEhAiAEIAM2ApABIAIEQCACEFoLIAQgBTYClAFBACEGQQAhAiAFQQRPBEAgBUH8////A3EhAwNAIAJBAnQiCCAEKAKQAWpBADYCACAEKAKQASAIakEANgIEIAQoApABIAhqQQA2AgggBCgCkAEgCGpBADYCDCACQQRqIgIgA0cNAAsLIAVBA3EiAwRAA0AgBCgCkAEgAkECdGpBADYCACACQQFqIQIgBkEBaiIGIANHDQALCyAEKAKYASICRQRAIAUhAwwCCyACKAIEIQgCQCAFIAVBAWsiEnEEQCAFIAhNBEAgCCAFcCEICyAEKAKQASAIQQJ0aiATNgIAIAIoAgAiBg0BIAUhAwwDCyAEKAKQASAIIBJxIghBAnRqIBM2AgAgAigCACIDRQRAIAUhAwwDCwNAAkAgCCADKAIEIBJxIgZGBEAgAyECDAELIAZBAnQiCSAEKAKQAWoiDCgCAARAIAIgAygCADYCACADIAQoApABIAlqKAIAKAIANgIAIAQoApABIAlqKAIAIAM2AgAMAQsgDCACNgIAIAMhAiAGIQgLIAIoAgAiAw0ACyAFIQMMAgsDQCAFIAYoAgQiA00EQCADIAVwIQMLAkAgAyAIRgRAIAYhAgwBCyADQQJ0IgkgBCgCkAFqIgwoAgBFBEAgDCACNgIAIAYhAiADIQgMAQsgAiAGKAIANgIAIAYgBCgCkAEgCWooAgAoAgA2AgAgBCgCkAEgCWooAgAgBjYCAAsgAigCACIGDQALIAUhAwwBCyAEKAKQASECIARBADYCkAEgAgRAIAIQWgtBACEDIARBADYClAELIAMgA0EBayICcUUEQCACIAdxIQcMAQsgAyAHSw0AIAcgA3AhBwsgBCgCkAEgB0ECdGoiAigCACIFDQMgCiAEKAKYATYCACAEIAo2ApgBIAIgEzYCACAKKAIAIgJFDQQgAigCBCECIAMgA0EBayIFcQ0BIAIgBXEhAgwCCxAAIQMgChBaDBILIAIgA0kNACACIANwIQILIAQoApABIAJBAnRqIAo2AgAMAQsgCiAFKAIANgIAIAUgCjYCAAtB1IkLQQA2AgAgBCAEKAKcAUEBajYCnAFBBEEYEAYhBkHUiQsoAgAhRUHUiQtBADYCACBFQQFGDQAgBiANNgIIIAZBADYCACAGIBY2AgQgBkEANgIUIAZCADcCDCAGIAQoAqQBIgI2AgAgAiAGNgIEIAQgBjYCpAEgBCAEKAKsAUEBajYCrAEgCiAGNgIMQQAMAgsQACEDDA0LIAIoAgwiBigCEAsiAiAGKAIURwRAIAIgDzYCACAGIAJBBGo2AhAMAQsCQAJAAkAgAiAGKAIMIgxrIghBAnUiB0EBaiIFQYCAgIAETwRAQdSJC0EANgIAQaACEAkMAQtB/////wMgCEEBdSIDIAUgAyAFSxsgCEH8////B08bIghFBEBBACEFDAMLIAhBgICAgARJDQFB1IkLQQA2AgBBAxAJC0HUiQsoAgAhRkHUiQtBADYCACBGQQFHDQ8QACEDDA0LQdSJC0EANgIAQQQgCEECdBAGIQVB1IkLKAIAIUdB1IkLQQA2AgAgR0EBRg0ECyAFIAdBAnRqIgMgDzYCACADQQRqIQcgAiAMRwRAA0AgA0EEayIDIAJBBGsiAigCADYCACACIAxHDQALIAYoAgwhAgsgBiAFIAhBAnRqNgIUIAYgBzYCECAGIAM2AgwgAkUNACACEFoLIBRBBGoiFCAYRw0BDAMLCxAAIQMMCAsQACEDDAcLIAEoAgAiAiABKAIEIghHBEADQCACKAIAIgcoAhBFBEAgASgC2AEhBSABKALUASEDIAcpAgghYkHUiQtBADYCAEGoASADIAUgYhDxASFJQdSJCygCACFIQdSJC0EANgIAIEhBAUYNByBJKAIcIQNB1IkLQQA2AgBBrfkAIARB+ABqIAMQAiFLQdSJCygCACFKQdSJC0EANgIAIEpBAUYNByBLQQA6ACwLIAJBBGoiAiAIRw0ACwtB1IkLQQA2AgBBqhkgBEHgAGoiAyABEANB1IkLKAIAIUxB1IkLQQA2AgAgTEEBRg0DQdSJC0EANgIAQasZIARBtAJqIAMQAiEVQdSJCygCACFNQdSJC0EANgIAIE1BAUYNBSAEKAJgIgIEQCACEFoLIBYgBCgCqAEiEUcEQCAAQRRqIQ0DQAJAIBEoAggiAkEQTwRAIAIoAhBFDQELQdSJC0EANgIAQQ1B4ZUGQbizAkHbCUGP4gMQBUHUiQsoAgAhTkHUiQtBADYCACBOQQFHDQsQACEDDAULIAIpAhQhY0HUiQtBADYCAEGt+QAgBEH4AGogAhACIRBB1IkLKAIAIQJB1IkLQQA2AgACQAJAIAJBAUcEQAJ/AkAgY6ciF0EHSQ0AIBcoAgQNACAXKAIMIBcoAghrQQJ1DAELIBdBAEcLIQ8gEC0ALA0BDAILEAAhAwwGCyAVKAIQIQUgFSgCDCEDIBFBCGoiFCgCACECQdSJC0EANgIAQa4ZIAMgBSACEAQhA0HUiQsoAgAhT0HUiQtBADYCACBPQQFHBEAgAygCACADKAIERw0BAkAgFCgCACICQRBJDQAgAigCBCICRQ0AIAJBEEkNACACKAIQRQ0CC0HUiQtBADYCAEGrMiAEQeAAaiARQQxqIhIgECAQQQxqIgkgARAMQdSJCygCACECQdSJC0EANgIAAkACQAJAAkACQCACQQFHBEAgBCgCYCIIIAQoAmQiGEcEQCAQQSBqIQwDQAJAIBAoAhwiDkUNACAQKAIYIgcCfyAIKAIAIgMgDkEBa3EgDmlBAUsiCkUNABogAyADIA5JDQAaIAMgDnALIgtBAnRqKAIAIgJFDQAgAigCACICRQ0AIA5BAWshEwJAIApFBEADQAJAIAMgAigCBCIFRwRAIAUgE3EgC0YNAQwFCyACKAIIIANGDQMLIAIoAgAiAg0ADAMLAAsDQAJAIAMgAigCBCIFRwRAIAUgDk8EfyAFIA5wBSAFCyALRg0BDAQLIAIoAgggA0YNAgsgAigCACICDQALDAELAkAgCkUEQCADIBNxIQMMAQsgAyAOSQ0AIAMgDnAhAwsgByADQQJ0aiILKAIAIQYDQCAGIgUoAgAiBiACRw0ACwJAIAUgDEcEQCAFKAIEIQYCQCAKRQRAIAYgE3EhBgwBCyAGIA5JDQAgBiAOcCEGCyADIAZGDQELIAIoAgAiBwRAIAcoAgQhBgJAIApFBEAgBiATcSEGDAELIAYgDkkNACAGIA5wIQYLIAMgBkYNAQsgC0EANgIACwJAIAIoAgAiBkUEQEEAIQYMAQsgBigCBCEHAkAgCkUEQCAHIBNxIQcMAQsgByAOSQ0AIAcgDnAhBwsgAyAHRg0AIBAoAhggB0ECdGogBTYCACACKAIAIQYLIAUgBjYCACAQIBAoAiRBAWs2AiQgAhBaCyAIQQRqIgggGEcNAAsLIBAoAiQgD0YNAyAEQQA2AjQgBEIANwIsAkACQAJAAkACQCAPRQRAIAQgFzYCKEEAIQIgBEEANgIYIARCADcCEAwBC0EAIQMDQAJAAkAgECgCHCIHRQ0AIBAoAhgCfyAHQQFrIANxIAdpQQFLIgVFDQAaIAMgAyAHSQ0AGiADIAdwCyIIQQJ0aigCACICRQ0AIAIoAgAiAkUNACAFRQRAIAdBAWshBwNAAkAgAigCBCIFIANHBEAgBSAHcSAIRg0BDAQLIAIoAgggA0YNBAsgAigCACICDQALDAELA0ACQCACKAIEIgUgA0cEQCAFIAdPBH8gBSAHcAUgBQsgCEYNAQwDCyACKAIIIANGDQMLIAIoAgAiAg0ACwtB1IkLQQA2AgBBlBcgBEEsaiADEANB1IkLKAIAIVBB1IkLQQA2AgAgUEEBRg0ECyADQQFqIgMgD0cNAAsgBCgCMCEDIAQoAiwhByAEIBc2AihBACECIARBADYCGCAEQgA3AhAgAyAHRg0AIAMgB2siBUEASARAQdSJC0EANgIAQfgCEAlB1IkLKAIAIVFB1IkLQQA2AgAgUUEBRw0YEAAhAwwLC0HUiQtBADYCAEEEIAUQBiECQdSJCygCACFSQdSJC0EANgIAIFJBAUYNASAEIAI2AhAgBCACIAVqIgM2AhggAiAHIAX8CgAAIAQgAzYCFAsgACgCBCEDQdSJC0EANgIAQawyIARBHGogEiAEQRBqIBAgCSABIAMQFUHUiQsoAgAhU0HUiQtBADYCACBTQQFGDQIgAgRAIAQgAjYCFCACEFoLIAQoAhwiAiAEKAIgRg0GQQAhB0EAIQhBACEFQQAhCSAPDQMMBQsQACEDDAgLEAAhAwwHCxAAIQMgAkUNBiACEFoMBgsDQAJAAkACQCAEKAIgIgwgBCgCHCICRg0AIAwgAmtBAnUhAwNAIAIgA0EBdiIGQQJ0aiILQQRqIAIgCygCACAJSSILGyECIAMgBkF/c2ogBiALGyIDDQALIAIgDEYNACACKAIAIAlGDQELAkACQCAEKAIoIgJBB0kNACACKAIEDQAgAigCCCAJQQJ0aiECDAELIAIEQCAEQShqIQIgCUUNAQtB1IkLQQA2AgBBDUHdwwZBuLMCQdgIQaDWBRAFQdSJCygCACFUQdSJC0EANgIAIFRBAUcNFgwICyAFIAdHBEAgByACKAIANgIAIAdBBGohBwwBCwJAAkACQCAFIAhrIgZBAnUiB0EBaiILQYCAgIAETwRAQdSJC0EANgIAQRMQCQwBC0H/////AyAGQQF1IgMgCyADIAtLGyAGQfz///8HTxsiC0UEQEEAIQYMAwsgC0GAgICABEkNAUHUiQtBADYCAEEDEAkLQdSJCygCACFVQdSJC0EANgIAIFVBAUcNFwwJC0HUiQtBADYCAEEEIAtBAnQQBiEGQdSJCygCACFWQdSJC0EANgIAIFZBAUYNAgsgBiAHQQJ0aiIDIAIoAgA2AgAgAyECIAUgCEcEQANAIAJBBGsiAiAFQQRrIgUoAgA2AgAgBSAIRw0ACwsgC0ECdCAGaiEFIANBBGohByAIBEAgCBBaCyACIQgLIA8gCUEBaiIJRw0BDAMLCwwECxAAIQMMCwtB1IkLQQA2AgBB4QAgBEEMaiAIIAcQBCFYQdSJCygCACFXQdSJC0EANgIAIFdBAUYNAiBYNQIAIWIgFCgCACECQdSJC0EANgIAQbH5ACAEQagDaiANIAIgFBAFQdSJCygCACFZQdSJC0EANgIAIFlBAUYNAiAEKAKoAyBjQoCAgIBwgyBihDcCDCARKAIMIgIgESgCECIFRwRAIBQoAgAhAwNAIAIoAgAgAzYCHCACQQRqIgIgBUcNAAsLIAgEQCAIEFoLIAQoAhwhAgsgAgRAIAIQWgsgBCgCLCICRQ0AIAIQWgsgBCgCYCICRQ0DIAIQWgwDCxAAIQMgCARAIAgQWgsgBCgCHCIARQ0AIAAQWgsgBCgCLCIABEAgABBaCyAEKAJgIgBFDQYgABBaDAYLEAAhAwwFCyARKAIEIhEgFkcNAAsLQdSJC0EANgIAQbL5ACAAQRRqIAEQA0HUiQsoAgAhWkHUiQtBADYCACBaQQFGDQEgFSgCFCICBEADQCACKAIAIVsgAigCDCIBBEAgAiABNgIQIAEQWgsgAhBaIFsiAg0ACwsgFSgCDCEAIBVBADYCDCAABEAgABBaCyAVKAIAIgAEQCAVIAA2AgQgABBaCwJAIAQoAqwBRQ0AIAQoAqgBIgIoAgAiASAEKAKkASgCBCIANgIEIAAgATYCACAEQQA2AqwBIAIgFkYNAANAIAIoAgQhXCACKAIMIgEEQCACIAE2AhAgARBaCyACEFogXCICIBZHDQALCyAEKAKYASICBEADQCACKAIAIV0gAhBaIF0iAg0ACwsgBCgCkAEhACAEQQA2ApABIAAEQCAAEFoLIARB+ABqEL0NIAQoAlgQ3AYLIARBsANqJAAPCxAAIQMLIBUQgQUMAwsQACEDDAILEAAhAwwBCxAAIQMgBCgCYCIARQ0AIAAQWgsCQCAEQZABaiIHKAIcRQ0AIAcoAhgiACgCACICIAcoAhQoAgQiATYCBCABIAI2AgAgB0EANgIcIAAgB0EUaiICRg0AA0AgACgCBCFeIAAoAgwiBQRAIAAgBTYCECAFEFoLIAAQWiBeIgAgAkcNAAsLIAcoAggiAARAA0AgACgCACFfIAAQWiBfIgANAAsLIAcoAgAhACAHQQA2AgAgAARAIAAQWgsgBEH4AGoQvQ0gBCgCWBDcBgwHCxAAIQMgBEGQAWoQvA0aDAILAAsQACEDIARBkAFqEOQBGgsCQCAEKAKIASICIARB+ABqIgBGBEBBBCEGIAAhAgwBC0EFIQYgAkUNAQsgAiACKAIAIAZBAnRqKAIAEQEACyAEQbQCahB8GgsCQCAEKAJwIgIgBEHgAGoiAEYEQEEEIQYgACECDAELQQUhBiACRQ0BCyACIAIoAgAgBkECdGooAgARAQALIAQoAlgQ3AYCQCAEKAJIIgIgBEE4aiIARgRAQQQhBiAAIQIMAQtBBSEGIAJFDQELIAIgAigCACAGQQJ0aigCABEBACADEAcACyADEAcACyQAIAAoAgBBIkcEQEHaswZBp7cCQcIaQabyARABAAsgACgCIAubAQEDfyMAQSBrIgMkAEEUEFwiBEIANwIAIARBADYCECAEQgA3AgggAyABEGw2AhwgAyABNgIYIAMgAykCGDcDCCADQRBqIgEgA0EIahBlIAQgAykDEDcCCCADIAIQbDYCHCADIAI2AhggAyADKQIYNwMAIAEgAxBlIAQgAykDEDcCACAEQQI2AhAgACAEEN8EIQUgA0EgaiQAIAULYQEDfyAAQeCLCDYCACAAKAIcIgIEQANAIAIoAgAhAyACEFogAyICDQALCyAAKAIUIQEgAEEANgIUIAEEQCABEFoLIABBkO0JNgIAIAAsABNBAEgEQCAAKAIIEFoLIAAQWgtfAQN/IABB4IsINgIAIAAoAhwiAgRAA0AgAigCACEDIAIQWiADIgINAAsLIAAoAhQhASAAQQA2AhQgAQRAIAEQWgsgAEGQ7Qk2AgAgACwAE0EASARAIAAoAggQWgsgAAscAEGAARBcIgBBAEGAAfwLACAAQbCLCDYCACAAC3gBA38jAEEQayIDJAAgACgCBCIEBEAgACACNgJ4IAAgATYCfCACKAI0IgUEQCADIAEoAoQBNgIMIAMgBTYCCCADIARBGGo2AgQgAyACNgIAIAMQwA0LIABCADcCeCADQRBqJAAPC0Ho+gVBuosDQZwEQe7TAhABAAu+IgEOfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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EFgLIABB7vcAIAJBCGoQWA8LIABBGGpB7vcAIAJBCGoQWw8LIANB7vcAIAJBDGoQWAvyDwEYfyMAQbACayIDJAACQAJAAkACQAJAAkACQAJAAkACQAJAIAAoAgQEQCAAIAAoAgAoAhARAgAEQCADIAAoAgQiAikCODcD+AEgAyACKQIwNwPwASADIAIpAig3A+gBIAMgAikCIDcD4AEgAyACKQIYNwPYASADQYACaiACQUBrEOMBIQRB1IkLQQA2AgBBmgEgA0GUAmogAkHUAGoQAiEFQdSJCygCACERQdSJC0EANgIAIBFBAUYNAiADIAIoAmg2AqgCIAMgAigCbCICNgKsAiACBEAgAiACKAIEQQFqNgIECyADQQEgAygC4AEiAiACQQBKGzYC4AEgAyADKQPoATcDGCADIAMpA/ABNwMgIAMgAykD+AE3AyggAyADKQPgATcDECADQQEgAygC3AEiAiACQQBKGzYC3AFB1IkLQQA2AgAgAyADKQPYATcDCEGbASADQTBqIAQQAiEEQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBxABqIAUQAiEFQdSJCygCACESQdSJC0EANgIAIBJBAUYNBSADIAMoAqwCIgI2AlwgAyADKAKoAjYCWCACBEAgAiACKAIEQQFqNgIECyADQQA2AnggAyADKQMQNwKEASADIAMpAxg3AowBIAMgAykDIDcClAEgAyADKQMoNwKcASADQgA3AnAgA0H87Ak2AmQgAyADKQMINwJ8QdSJC0EANgIAIAMgATYCaCADIAFBqAFqNgJsQZsBIANBpAFqIAQQAiEBQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBuAFqIAUQAhpB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRwRAIAMgAygCWDYCzAEgAyADKAJcIgE2AtABIAEEQCABIAEoAgRBAWo2AgQLIANBADsB1AEgA0EIahBhIANBAToA1AEgACgCACgCFCEUQdSJC0EANgIAIBQgABAGIQBB1IkLKAIAIRVB1IkLQQA2AgAgFUEBRg0EIAMoAmQoAgghFkHUiQtBADYCACAWIANB5ABqIgEgABADQdSJCygCACEXQdSJC0EANgIAIBdBAUYNBEHUiQtBADYCAEGXASABEApB1IkLKAIAIRhB1IkLQQA2AgAgGEEBRg0EIANB/OwJNgJkIANB/ABqEGEgAygCcCIBBEAgAygCdCIAIAEiAkcEQANAIABBBGsiACgCACECIABBADYCACACBEAgAiACKAIAKAIEEQEACyAAIAFHDQALIAMoAnAhAgsgAyABNgJ0IAIQWgsgA0HYAWoQYQwQCxAAIQAgARBrDAELEAAhAAsgA0HwAGoQ4AEgA0EIahBhDA4LEAAhAAwNCxAAIQAgA0HkAGoQfBoMDAsgACABNgJ8IABBFGohCSABKAIYIgIgASgCHCIERwRAA0AgAigCACIFKAIMRQRAIAkgBUEgahDuCQsgAkEEaiICIARHDQALCyABKAIMIgIgASgCECIFRwRAA0AgAigCACIEKAIMRQRAIAAgBDYCeCAAKAJ8IAQQwQ0gAEEANgJ4CyACQQRqIgIgBUcNAAsLIAEoAjAiCiABKAI0Ig5GDQkgAEEcaiENA0AgCigCACICKAIMBEAgCSACQRRqEO4JCyACKAIcIgsgAigCICIPRwRAIAAoAmwhBiAAKAJwIQQgACgCGCEFA0AgAyALKAIAIgc2AmQgBCAGayIQQQN1IgJBACAFa0cNBiAHRQ0HAkAgBUEJTQRAIAAgBUEBaiIGNgIYIA0gBUEDdGoiAkHu9wA2AgAgAiADQeQAajYCBCAEIQIgBiEFDAELIAAoAnQiCCAESwRAIARB7vcANgIAIAQgA0HkAGo2AgQgACAEQQhqIgI2AnAMAQsgAkEBaiIHQYCAgIACTw0JQf////8BIAggBmsiCEECdSIMIAcgByAMSRsgCEH4////B08bIgdBgICAgAJPDQogECAHQQN0IgwQXCIIaiIHQe73ADYCACAIIAJBA3RqIANB5ABqNgIEIAdBCGohAiAEIAZHBEADQCAHQQhrIgcgBEEIayIEKQIANwIAIAQgBkcNAAsLIAAgCCAMajYCdCAAIAI2AnAgACAHNgJsIAZFDQAgBhBaIAAoAnAhAiAAKAIYIQULQQAgBWsgAiAAKAJsIgZrQQN1RwRAA0ACQCACIAZGBEAgBUUNDiANIAVBAWsiBEEDdGoiBSgCBCECIAUoAgAhBiAAIAQ2AhgMAQsgAkEIayIEKAIAIQYgBCgCBCECIAAgBDYCcAsgCSACNgIAIAIoAgBFDQ0gACACIAYRAABBACAAKAIYIgVrIAAoAnAiAiAAKAJsIgZrQQN1Rw0ACwsgAiEEIAtBBGoiCyAPRw0ACwsgCkEEaiIKIA5HDQALDAkLQej6BUG6iwNB/ANB2ssCEAEACxAAIRkgBBBrIBkQBwALEAAhACAEEGsMCAtBzcoFQdOZA0HIAkHQ+AIQAQALQYGDAkHTmQNBuQJBrvcCEAEACxBkAAsQagALQd7EBUGwlANB2gBB/fsCEAEAC0H1ggJB05kDQc0CQdD4AhABAAsgASgCSCICIAEoAkwiAUcEQANAIAIoAgAiBC0AFEUEQCAJIARBGGoQ7gkLIAJBBGoiAiABRw0ACwsgAEEANgJ8CyADQbACaiQADwsgA0HYAWoQYSAAEAcAC60XAht/AX4jAEHAAmsiAiQAIAAoAgQhAyACQRAQXCIANgKsAiACQouAgICAgoCAgH83ArACIABBqbwBKAAANgAHIABBorwBKQAANwAAIABBADoAC0HUiQtBADYCAEEEQcAAEAYhAEHUiQsoAgAhBkHUiQtBADYCAAJAAkACQAJAIAZBAUcEQCACIAA2AqACIAJCuoCAgICIgICAfzcCpAIgAEHfOi8AADsAOCAAQdc6KQAANwAwIABBzzopAAA3ACggAEHHOikAADcAICAAQb86KQAANwAYIABBtzopAAA3ABAgAEGvOikAADcACCAAQac6KQAANwAAIABBADoAOkHUiQtBADYCAEHJOiACQTBqIgAgA0EYaiACQawCaiACQaACahAFQdSJCygCACEDQdSJC0EANgIAAkAgA0EBRwRAIAIgAigCNCACLAA7IgNB/wFxIANBAEgiAxs2AsQBIAIgAigCMCAAIAMbNgLAAUHUiQtBADYCACACIAIpAsABNwMQQQYgAkG4AmogAkEQahADQdSJCygCACEKQdSJC0EANgIAIApBAUcEQCACLAA7QQBIBEAgAigCMBBaCyACLACrAkEASARAIAIoAqACEFoLIAIsALcCQQBIBEAgAigCrAIQWgsgAigCvAIiAEHw////B0kEQCACKAK4AiEGAkACQCAAQQtPBEAgAEEPckEBaiIEEFwhAyACIARBgICAgHhyNgI4IAIgAzYCMCACIAA2AjQMAQsgAiAAOgA7IAJBMGohAyAARQ0BCyADIAYgAPwKAAALIAAgA2pBADoAACACQQE6AJwC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IRtB1IkLQQA2AgAgG0EBRg0CIABCADcCBCAAQQ42AgAgAEIANwIMIABCADcCFCAEIABBCGoiBUcEQCAFEFkhBUHUiQtBADYCAEHAACAFIAQQAhpB1IkLKAIAIRxB1IkLQQA2AgAgHEEBRg0DCyAAIAIoAig2AgQgAyAANgIgIAQQWRogA0IANwIUIANCADcCDCACQcABahBZGiACLADrAUEASARAIAIoAuABEFoLIAIsAPsBQQBIBEAgAigC8AEQWgsgAigCgAIiBARAIAIoAoQCIgMgBCIARwRAA0AgA0EMayEAIANBAWssAABBAEgEQCAAKAIAEFoLIAAiAyAERw0ACyACKAKAAiEACyACIAQ2AoQCIAAQWgsgBkEMaiIGIAhGDQ8MAQsLEAAhAAwBCxAAIQAgBBBZGgsgAkHAAWoQWRoLIAIsAOsBQQBODQAgAigC4AEQWgsgAiwA+wFBAE4NACACKALwARBaCyACQYACahCrAwsgAkGQAmoQqwMMBgsQ6gEACxAAIQAgAiwAO0EATg0BIAIoAjAQWgwBCxAAIQALIAIsAKsCQQBODQEgAigCoAIQWgwBCxAAIQALIAIsALcCQQBODQAgAigCrAIQWiAAEAcACyAAEAcACyACKAKQAiEGCyAGBEAgAigClAIiAyAGIgBHBEADQCADQQxrIQAgA0EBaywAAEEASARAIAAoAgAQWgsgACIDIAZHDQALIAIoApACIQALIAIgBjYClAIgABBaCyACQcACaiQAC98MARJ/IwBBsAdrIgIkACACQQA2AqwHIAJCADcCpAcgASgChAEhB0HUiQtBADYCAEHkACACQYQEaiABIAJBpAdqEAQhA0HUiQsoAgAhBEHUiQtBADYCAAJAAkACQAJAAkACQAJAAkAgBEEBRwRAQdSJC0EANgIAQeUAIAMQCkHUiQsoAgAhDEHUiQtBADYCACAMQQFGDQEgAxCMBCABEOYDIgNBAEGJAfwLACADQgA3ApwBIANCADcClAEgA0IANwKMASADQYCAgPwDNgKkASADQgA3ArABIANCADcCqAEgA0IANwLAASADQQA2ArwBIANBkLcLNgK4ASADQgA3AsgBIANCADcC1AEgA0GAgID8AzYC0AEgA0IANwLcASADQgA3AugBIANBgICA/AM2AuQBIANCADcC8AEgA0IANwL8ASAD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ADYCACC4AUEBRg0cIAMgBDYC8AEgAyACNgL0ASADIAZBgICAgHhyNgL4AQwCCxAAIQIgAywA+wFBAE4NISADKALwARBaDCELIAMgAjoA+wEgA0HwAWohBCACRQ0BCyAEQSAgAvwLAAsgAiAEakEAOgAAQdSJC0EANgIAQQkgBSADKALwASADQfABaiADLQD7ASICwEEASCIFGyADKAL0ASACIAUbEAQhAkHUiQsoAgAhBUHUiQtBADYCAAJAAkACQCAFQQFHBEAgAywA+wFBAEgEQCADKALwARBaC0HUiQtBADYCAEEJIAJBnusGQRYQBCECQdSJCygCACG5AUHUiQtBADYCACC5AUEBRg0cIAEoAnQoAgghBUHUiQtBADYCAEGHAiACIAUQAiECQdSJCygCACG6AUHUiQtBADYCACC6AUEBRg0cQdSJC0EANgIAIANBCjoA8AFBCSACIANB8AFqQQEQBBpB1IkLKAIAIbsBQdSJC0EANgIAILsBQQFGDRwgACgCBCICQe////8HSw0LIAAoAgAhBSACQQtJDQFB1IkLQQA2AgBBBCACQQ9yQQFqIgYQBiEEQdSJCygCACG8AUHUiQtBADYCACC8AUEBRg0cIAMgBDYC8AEgAyACNgL0ASADIAZBgICAgHhyNgL4AQwCCxAAIQIgAywA+wFBAE4NISADKALwARBaDCELIAMgAjoA+wEgA0HwAWohBCACRQ0BCyAEQSAgAvwLAAsgAiAEakEAOgAAQdSJC0EANgIAQQkgBSADKALwASADQfABaiADLQD7ASICwEEASCIFGyADKAL0ASACIAUbEAQhAkHUiQsoAgAhBUHUiQtBADYCAAJAAkACQCAFQQFHBEAgAywA+wFBAEgEQCADKALwARBaC0HUiQtBADYCAEEJIAJBw/YGQRAQBCECQdSJCygCACG9AUHUiQtBADYCACC9AUEBRg0cIAEoAnQoAgwhBUHUiQtBADYCAEGHAiACIAUQAiECQdSJCygCACG+AUHUiQtBADYCACC+AUEBRg0cQdSJC0EANgIAIANBCjoA8AFBCSACIANB8AFqQQEQBBpB1IkLKAIAIb8BQdSJC0EANgIAIL8BQQFGDRwgACgCBCICQe////8HSw0LIAAoAgAhBSACQQtJDQFB1IkLQQA2AgBBBCACQQ9yQQFqIgYQBiEEQdSJ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AgAgBSEBIAIhBAwBCyABIAUoAgA2AgAgBSAAKAKoASAKaigCACgCADYCACAAKAKoASAKaigCACAFNgIACyABKAIAIgUNAAsgAyECDAELIAAoAqgBIQFBACECIABBADYCqAEgAQRAIAEQWgsgAEEANgKsAQsgAiACQQFrIgFxRQRAIAEgBnEhBgwBCyACIAZLDQAgBiACcCEGCyAAKAKoASAGQQJ0aiIBKAIAIgMNASAHIAAoArABNgIAIAAgBzYCsAEgASALNgIAIAcoAgAiAUUNAiABKAIEIQECQCACIAJBAWsiA3FFBEAgASADcSEBDAELIAEgAkkNACABIAJwIQELIAAoAqgBIAFBAnRqIAc2AgAMAgsgASgCDCEBDAILIAcgAygCADYCACADIAc2AgALIAAgACgCtAFBAWo2ArQBQcQAEFwiASAINgIIIAFBADYCACABQQA2AgwgASAJKQIINwIQIAEgCSkCEDcCGCABIAkpAhg3AiAgASAJKQIgNwIoIAEgCSkCKDcCMCABQUBrQQA2AgAgAUIANwI4IAEgDjYCBCABIAAoArwBIgM2AgAgAyABNgIEIAAgATYCvAEgACAAKALEAUEBajYCxAEgByABNgIMCyABQQxqIgMgAEHsAGoiAikCADcCACABIAIoAig2AjQgASACKQIgNwIsIAEgAikCGDcCJCABIAIpAhA3AhwgASACKQIINwIUIAIgA0YNACABQThqIAAoApgBIgEgACgCnAEiACAAIAFrQQJ1EMgFCyAJQTBqJAAPC0Hw7QVBxZgDQZQGQY3eABABAAsQACETIAcQWiATEAcAC+kBAQV/QcgAEFwiAkG0hgg2AgAgAkIANwIEIAIgASgCADYCECACIAEoAgg2AhhB1IkLQQA2AgBBwAAgAkEgaiABQRBqEAIhBEHUiQsoAgAhA0HUiQtBADYCAAJAAkAgA0EBRwRAIAJBQGtBADYCACACQThqIgVCADcCACABKAIsIQMgASgCKCEBQdSJC0EANgIAQbsBIAUgASADIAMgAWtBGG0QBUHUiQsoAgAhBkHUiQtBADYCACAGQQFHDQIQACEBIAQQWRoMAQsQACEBCyACEFogARAHAAsgACACNgIEIAAgAkEQajYCAAuLDQIPfwJ9IwBBEGsiCSQAIAJBldPH3gVsIgRBGHYgBHNBldPH3gVs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AxAFQdSJCygCACEMQdSJC0EANgIAIAxBAUcNBxAAIQEMBgsCQCADKAIARQRAIANBATYCACAAIANGDQEgChBZIQRB1IkLQQA2AgBBwAAgBCAHEAIaQdSJCygCACENQdSJC0EANgIAIA1BAUcNAQwGCyADKAIkIgQgAygCKEcEQEHUiQtBADYCAEHAACAEIAcQAiEFQdSJCygCACEOQdSJC0EANgIAIA5BAUYEQBAAIQEgAyAENgIkDAgLIAMgBUEYajYCJAwBC0HUiQtBADYCAEGyBSALIAcQA0HUiQsoAgAhD0HUiQtBADYCACAPQQFGDQULIAAoAiAiBARAIAQhBSAEIAAoAiQiCEcEQANAIAhBGGsQWSIIIARHDQALIAAoAiAhBQsgACAENgIkIAUQWgsgBxBZGiAJQQFqIgkgBkcNAAsLIABCADcDACAAQgA3AzAgAEIANwMoIABCADcDICAAQgA3AxggAEIANwMQIABCADcDCAsPC0HFogFBiaIDQbwBQaaIBRABAAsQACEBCyAAEGggARAHCwALYQEBfyMAQSBrIgIkACAAKAIAQTZHBEBB6KMGQae3AkGrHkHXgAEQAQALIAIgARBsNgIcIAIgATYCGCACIAIpAhg3AwggAkEQaiACQQhqEGUgACACKQMQNwIIIAJBIGokAAvLAgECfyMAQUBqIgMkACADQQhqIAEgAkEAEPcJAkAgAygCOARAIABCADcDACAAQgA3AyggAEIANwMgIABCADcDGCAAQgA3AxAgAEIANwMIDAELIAAgAygCCDYCAEHUiQtBADYCAEHAACAAQQhqIANBEGoQAiEBQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAIABCADcDICAAQQA2AihB1IkLQQA2AgBBuwEgAEEgaiADKAIoIgAgAygCLCICIAIgAGtBGG0QBUHUiQsoAgAhBEHUiQtBADYCACAEQQFHDQIQACEAIAEQWRoMAQsQACEACyADQQhqEGggABAHAAsgAygCKCICBEAgAiEBIAIgAygCLCIARwRAA0AgAEEYaxBZIgAgAkcNAAsgAygCKCEBCyADIAI2AiwgARBaCyADQRBqEFkaIANBQGskAAviAgEFfyMAQSBrIgckAAJAIAFFBEAgAkEwaiEADAELIABBBGoiAyABQQJ0IgJqIAAoAiwiACACakEo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AikCODcD+AEgAyACKQIwNwPwASADIAIpAig3A+gBIAMgAikCIDcD4AEgAyACKQIYNwPYASADQYACaiACQUBrEOMBIQRB1IkLQQA2AgBBmgEgA0GUAmogAkHUAGoQAiEFQdSJCygCACERQdSJC0EANgIAIBFBAUYNAiADIAIoAmg2AqgCIAMgAigCbCICNgKsAiACBEAgAiACKAIEQQFqNgIECyADQQEgAygC4AEiAiACQQBKGzYC4AEgAyADKQPoATcDGCADIAMpA/ABNwMgIAMgAykD+AE3AyggAyADKQPgATcDECADQQEgAygC3AEiAiACQQBKGzYC3AFB1IkLQQA2AgAgAyADKQPYATcDCEGbASADQTBqIAQQAiEEQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBxABqIAUQAiEFQdSJCygCACESQdSJC0EANgIAIBJBAUYNBSADIAMoAqwCIgI2AlwgAyADKAKoAjYCWCACBEAgAiACKAIEQQFqNgIECyADQQA2AnggAyADKQMQNwKEASADIAMpAxg3AowBIAMgAykDIDcClAEgAyADKQMoNwKcASADQgA3AnAgA0H87Ak2AmQgAyADKQMINwJ8QdSJC0EANgIAIAMgATYCaCADIAFBqAFqNgJsQZsBIANBpAFqIAQQAiEBQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBuAFqIAUQAhpB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRwRAIAMgAygCWDYCzAEgAyADKAJcIgE2AtABIAEEQCABIAEoAgRBAWo2AgQLIANBADsB1AEgA0EIahBhIANBAToA1AEgACgCACgCFCEUQdSJC0EANgIAIBQgABAGIQBB1IkLKAIAIRVB1IkLQQA2AgAgFUEBRg0EIAMoAmQoAgghFkHUiQtBADYCACAWIANB5ABqIgEgABADQdSJCygCACEXQdSJC0EANgIAIBdBAUYNBEHUiQtBADYCAEGXASABEApB1IkLKAIAIRhB1IkLQQA2AgAgGEEBRg0EIANB/OwJNgJkIANB/ABqEGEgAygCcCIBBEAgAygCdCIAIAEiAkcEQANAIABBBGsiACgCACECIABBADYCACACBEAgAiACKAIAKAIEEQEACyAAIAFHDQAL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AEHUiQsoAgAhAUHUiQtBADYCAAJAIAFBAUcEQEHUiQtBADYCAEEJIABBCGpB+ZkFQQgQBCEBQdSJCygCACENQdSJC0EANgIAIA1BAUYNAUHUiQtBADYCAEEJIAEgAigCACACIAItAAsiAcBBAEgiBBsgAigCBCABIAQbEAQhAUHUiQsoAgAhDkHUiQtBADYCACAOQQFGDQFB1IkLQQA2AgBBCSABQe38BkECEAQaQdSJCygCACEPQdSJC0EANgIAIA9BAUYNASADKQIAIRRB1IkLQQA2AgBBISAAIBQQuAIhAUHUiQsoAgAhEEHUiQtBADYCACAQQQFGDQFB1IkLQQA2AgBBIiABQd+bARACIRJB1IkLKAIAIRFB1IkLQQA2AgAgEUEBRg0BIBIQcQALEAAhAQwCCwwEC0HUiQtBADYCAEExIAJBDGogByAEIAMQBUHUiQsoAgAhAUHUiQtBADYCAAJAIAFBAUYNACACKAIMIAM2AhACQCAAKAIcIgEgACgCIEkEQCABIAM2AgAgACABQQRqNgIcDAELQdSJC0EANgIAQTAgAEEYaiACQZwBahADQdSJCygCACETQdSJC0EANgIAIBNBAUYNASACKAKcASIARQ0AIAAQWgsgAiwAC0EASARAIAIoAgAQWgsgAkGgAWokACADDwsQACEBIAIoApwBIQMLIAJBADYCnAEgA0UNAQsgAxBaCyACLAALQQBIBEAgAigCABBaCyABEAcACxAAGiAAEHEACxEAQQgQXCIAQdSCCDYCACAAC90eAQ5/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgASgCACICKAIADl4AAQIDBAUGBwgJCgsMDR4fICEiIyQlNTYODxAREhMUFRYXGBkaGxwdNyYnKCkqKywtLi8wMTIzNDg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaW1wAXQtBmP0DQeWzA0HqARBiAAsgAEHz8wAgARBYIAIoAgBBAUcNXCACKAIUIgFBAEwNWyAAQQRqIQQDQCABQQFrIgAgAigCFE8NXiACKAIQIABBAnRqIgMoAgBFDV8gBEHy8wAgAxBbIAFBAUshBiAAIQEgBg0ACwxbCyAAQfTzACABEFggAigCAEECRw1bIAIoAhAEQCAAQQRqQfLzACACQRBqEFsLDGALIABB9fMAIAEQWCACKAIAQQNHDVoMYwsgAEH28wAgARBYIAIoAgBBBEcNWSACKAIUBEAgAEEEakHy8wAgAkEUahBbCyACKAIQRQ1YIABBBGpB8vMAIAJBEGoQWw8LIABB9/MAIAEQWCACKAIAQQVHDVggAEHy8wAgAkEkahBYIAIoAiBFDVcgAEEEakHy8wAgAkEgahBbDwsgAEH48wAgARBYIAIoAgBBBkcNVyACKAIMIgFBAEwNViAAQQRqIQQDQCABQQFrIgAgAigCDE8NWSACKAIIIABBAnRqIgMoAgBFDVogBEHy8wAgAxBbIAFBAUshByAAIQEgBw0ACwxWCyAAQfnzACABEFggAigCAEEHRw1WIABB8vMAIAJBHGoQWCACKAIQIgFBAEwNVSAAQQRqIQQDQCABQQFrIgAgAigCEE8NWCACKAIMIABBAnRqIgMoAgBFDVkgBEHy8wAgAxBbIAFBAUshCCAAIQEgCA0ACwxVCyAAQfrzACABEFggAigCAEEIRg1UDFULIABB+/MAIAEQWCACKAIAQQlHDVQMYAsgAEH88wAgARBYIAIoAgBBCkYNUgxTCyAAQf3zACABEFggAigCAEELRw1SDFsLIABB/vMAIAEQWCACKAIAQQxHDVEMXwsgAEH/8wAgARBYIAIoAgBBDUcNUAxdCyAAQYD0ACABEFggAigCAEEYRw1PDF4LIABBgfQAIAEQWCACKAIAQRlHDU4gAEHy8wAgAkEgahBYDF0LIABBgvQAIAEQWCACKAIAQRpHDU0MVAsgAEGD9AAgARBYIAIoAgBBG0cNTAxUCyAAQYT0ACABEFggAigCAEEcRg1KDEsLIABBhfQAIAEQWCACKAIAQR1HDUoMVgsgAEGG9AAgARBYIAIoAgBBHkcNSSAAQfLzACACQRRqEFgMVQsgAEGH9AAgARBYIAIoAgBBH0cNSAxNCyAAQYj0ACABEFggAigCAEEgRw1HDFELIABBifQAIAEQWCACKAIAQSFHDUYMUQsgAEGK9AAgARBYIAIoAgBBIkcNRSAAQfLzACACQSBqEFgPCyAAQYv0ACABEFggAigCAEEjRw1EDFELIABBjPQAIAEQWCACKAIAQSRHDUMMSgsgAEGN9AAgARBYIAIoAgBBJUYNQQxCCyAAQY70ACABEFggAigCAEEmRw1BDEULIABBj/QAIAEQWCACKAIAQSdHDUAMRAsgAEGQ9AAgARBYIAIoAgBBDkYNPgw/CyAAQZH0ACABEFggAigCAEEPRw0+DEoLIABBkvQAIAEQWCACKAIAQRBHDT0MSAsgAEGT9AAgARBYIAIoAgBBEUcNPAxACyAAQZT0ACABEFggAigCAEESRw07DEsLIABBlfQAIAEQWCACKAIAQRNHDTogAigCCEUNOQxLCyAAQZb0ACABEFggAigCAEEURg04DDkLIABBl/QAIAEQWCACKAIAQRVHDTgMSAsgAEGY9AAgARBYIAIoAgBBKUYNNgw3CyAAQZn0ACABEFggAigCAEEqRw02DEYLIABBmvQAIAEQWCACKAIAQStGDTQMNQsgAEGb9AAgARBYIAIoAgBBLEcNNAw5CyAAQZz0ACABEFggAigCAEEtRw0zDDwLIABBnfQAIAEQWCACKAIAQS5HDTIMOgsgAEGe9AAgARBYIAIoAgBBL0YNMAwxCyAAQZ/0ACABEFggAigCAEEwRw0wDDgLIABBoPQAIAEQWCACKAIAQTFHDS8MNgsgAEGh9AAgARBYIAIoAgBBMkcNLgwyCyAAQaL0ACABEFggAigCAEEzRw0tIAIoAigiAUEASgRAIABBBGohAwNAIAFBAWsiBCACKAIoTw0wIAIoAiQgBEECdGoiBSgCAEUNMSADQfLzACAFEFsgAUEBSyEJIAQhASAJDQALCww2CyAAQaP0ACABEFggAigCAEE0RgRADD0LDCwLIABBpPQAIAEQWCACKAIAQTVHDSsgAigCFCIBQQBMDSogAEEEaiEEA0AgAUEBayIAIAIoAhRPDS0gAigCECAAQQJ0aiIDKAIARQ0uIARB8vMAIAMQWyABQQFLIQogACEBIAoNAAsMKgsgAEGl9AAgARBYIAIoAgBBNkYNKQwqCyAAQab0ACABEFggAigCAEE3Rw0pDDkLIABBp/QAIAEQWCACKAIAQRZGDScMKAsgAEGo9AAgARBYIAIoAgBBF0YNJgwnCyAAQan0ACABEFggAigCAEEoRg0lDCYLIABBqvQAIAEQWCACKAIAQThHDSUgAigCDCIBQQBMDSQgAEEEaiEEA0AgAUEBayIAIAIoAgxPDScgAigCCCAAQQJ0aiIDKAIARQ0oIARB8vMAIAMQWyABQQFLIQsgACEBIAsNAAsMJAsgAEGr9AAgARBYIAIoAgBBOUcNJAw0CyAAQaz0ACABEFggAigCAEE6Rw0jDDMLIABBrfQAIAEQWCACKAIAQTtHDSIMMgsgAEGu9AAgARBYIAIoAgBBPEcNISAAQfLzACACQRhqEFggAigCDCIBQQBMDSAgAEEEaiEEA0AgAUEBayIAIAIoAgxPDSMgAigCCCAAQQJ0aiIDKAIARQ0kIARB8vMAIAMQWyABQQFLIQwgACEBIAwNAAsMIAsgAEGv9AAgARBYIAIoAgBBPUcNIAwwCyAAQbD0ACABEFggAigCAEE+Rw0fDC8LIABBsfQAIAEQWCACKAIAQT9HDR4gAEHy8wAgAkEUahBYDwsgAEGy9AAgARBYIAIoAgBBwABHDR0gAigCDCIBQQBMDRwgAEEEaiEEA0AgAUEBayIAIAIoAgxPDR8gAigCCCAAQQJ0aiIDKAIARQ0gIARB8vMAIAMQWyABQQFLIQ0gACEBIA0NAAsMHAsgAEGz9AAgARBYIAIoAgBBwQBHDRwMKAsgAEG09AAgARBYIAIoAgBBwgBHDRsMJgsgAEG19AAgARBYIAIoAgBBwwBHDRogAEHy8wAgAkEMahBYIAIoAghFDRkMKwsgAEG29AAgARBYIAIoAgBBxABHDRkMIQsgAEG39AAgARBYIAIoAgBBxQBHDRgMIAsgAEG49AAgARBYIAIoAgBBxgBHDRcgAigCDCIBQQBMDRYgAEEEaiEEA0AgAUEBayIAIAIoAgxPDRkgAigCCCAAQQJ0aiIDKAIARQ0aIARB8vMAIAMQWyABQQFLIQ4gACEBIA4NAAsMFgsgAEG59AAgARBYIAIoAgBBxwBHDRYMGwsgAEG69AAgARBYIAIoAgBByABHDRUMGQsgAEG79AAgARBYIAIoAgBByQBHDRQMJAsgAEG89AAgARBYIAIoAgBBygBHDRMgAEHy8wAgAkEYahBYDBYLIABBvfQAIAEQWCACKAIAQcsARw0SDBULIABBvvQAIAEQWCACKAIAQcwARw0RDBcLIABBv/QAIAEQWCACKAIAQc0ARw0QDBYLIABBwPQAIAEQWCACKAIAQc4ARw0PDBsLIABBwfQAIAEQWCACKAIAQc8ARw0OIAIoAhgEQCAAQQRqQfLzACACQRhqEFsLIAIoAhQEQCAAQQRqQfLzACACQRRqEFsLIAIoAhAEQCAAQQRqQfLzACACQRBqEFsLDBoLIABBwvQAIAEQWCACKAIAQdAARg0MDA0LIABBw/QAIAEQWCACKAIAQdEARw0MDBgLIABBxPQAIAEQWCACKAIAQdIARw0LIAIoAhQEQCAAQQRqQfLzACACQRRqEFsLDBYLIABBxfQAIAEQWCACKAIAQdMARw0KDA8LIABBxvQAIAEQWCACKAIAQdQARw0JDBQLIABBx/QAIAEQWCACKAIAQdUARw0IDBQLIABByPQAIAEQWCACKAIAQdYARw0HDAsLIABByfQAIAEQWCACKAIAQdcARw0GDAsLIABByvQAIAEQWCACKAIAQdgARw0FDBULIABBy/QAIAEQWCACKAIAQdkARw0EDA8LIABBzPQAIAEQWCACKAIAQdoARw0DDA0LIABBzfQAIAEQWCACKAIAQdsARw0CDAcLIABBzvQAIAEQWCACKAIAQdwARw0BIABB8vMAIAJBPGoQWCACKAIwIgFBAEwNACAAQQRqIQQDQCABQQFrIgAgAigCME8NAyACKAIsIABBAnRqIgMoAgBFDQQgBEHy8wAgAxBbIAFBAUshDyAAIQEgDw0ACwsPC0Hw7QVBxZgDQZQGQY3eABABAAtBxaIBQYmiA0G8AUGmiAUQAQALQYGDAkHTmQNBuQJBrvcCEAEACyAAQfLzACACQRRqEFgLIABB8vMAIAJBEGoQWAsgAEHy8wAgAkEMahBYDAoLIABB8vMAIAJBHGoQWAsgAEHy8wAgAkEYahBYCyAAQfLzACACQRRqEFgLIABB8vMAIAJBEGoQWA8LIABB8vMAIAJBFGoQWAsgAEHy8wAgAkEQahBYCyAAQfLzACACQQxqEFgPCyAAQfLzACACQShqEFgLIABB8vMAIAJBJGoQWA8LIABB8vMAIAJBHGoQWCAAQfLzACACQRhqEFgPCyAAQfLzACACQQhqEFgPCyAAQQRqQfLzACACQQhqEFsLuQgBDH8jAEGwAWsiAyQAIAAoAgQhBCADIAEoAgAiBTYCIAJAAkACQAJAIAQoAhAiAQRAIAEgA0EgaiACIAEoAgAoAhgRAwACQAJAIAUoAgwNACAAKAIIIQQCQCADIAAoAgQiACgCECIBBH8gACABRgRAIAMgA0EIaiIBNgIYIAAgASAAKAIAKAIMEQAAIAMoAhghAQwCCyABIAEoAgAoAggRAgAFQQALIgE2AhgLIANCADcDeCADQgA3A4ABQQAhACADQQA2AogBIANCADcDICADIAI2ApABIAMgBDYCjAEgA0GYAWohAgJAIAEEQCADQQhqIgAgAUYEQCADIAI2AqgBIAMoAggoAgwhCEHUiQtBADYCACAIIAAgAhADQdSJCygCACEJQdSJC0EANgIAIAlBAUcNAgwICyABKAIAKAIIIQpB1IkLQQA2AgAgCiABEAYhAEHUiQsoAgAhC0HUiQtBADYCACALQQFGDQcLIAMgADYCqAELAkACQCADKAIYIgEgA0EIaiIERgRAQQQhACAEIQEMAQtBBSEAIAFFDQELIAEgASgCACAAQQJ0aigCABEBAAtB0PgCIQZB05kDIQdBACADKAIkayADKAJ8IAMoAnhrQQN1RwRAQcgCIQFBzcoFIQAMBAsgBSgCMEUEQEGu9wIhBkG5AiEBQYGDAiEADAQLQdSJC0EANgIAQfHzACADQSBqQQRyQfLzACAFQTBqEAhB1IkLKAIAIQxB1IkLQQA2AgAgDEEBRg0EQQAgAygCJCIEayADKAJ8IgEgAygCeCIAa0EDdUcEQCADQShqIQUDQAJAIAAgAUYEQCAERQRAQf37AiEGQdoAIQFBsJQDIQdB3sQFIQAMCAsgBSAEQQFrIgRBA3RqIgAoAgQhASAAKAIAIQAgAyAENgIkDAELIAFBCGsiBCgCACEAIAQoAgQhASADIAQ2AnwLIAMgATYCICABKAIARQRAQc0CIQFB9YICIQAMBgtB1IkLQQA2AgAgACADQSBqIAEQA0HUiQsoAgAhDUHUiQtBADYCACANQQFGDQNBACADKAIkIgRrIAMoAnwiASADKAJ4IgBrQQN1Rw0ACwsCQAJAIAIgAygCqAEiAUYEQEEEIQQgAiEBDAELQQUhBCABRQ0BCyABIAEoAgAgBEECdGooAgARAQAgAygCeCEACyAARQ0AIAMgADYCfCAAEFoLIANBsAFqJAAPCwwCCxDnAgALQdSJC0EANgIAQQ0gACAHIAEgBhAFQdSJCygCACEOQdSJC0EANgIAIA5BAUYNAAALEAAhASADQSBqELgPDAELEAAhASADKAJ4IgAEQCADIAA2AnwgABBaCwJAIAMoAhgiACADQQhqIgJGBEBBBCEEIAIhAAwBC0EFIQQgAEUNAQsgACAAKAIAIARBAnRqKAIAEQEAIAEQBwALIAEQBwALFQAgAUH4ggg2AgAgASAAKQIENwIECx0BAX9BDBBcIgFB+IIINgIAIAEgACkCBDcCBCABC88EAQ5/IwBBIGsiAyQAIAAoAoQBIQQgACgCgAEhBUGgARBcIQICQAJAAkACQAJAIAAoApgBIgFFBEBBACEADAELIABBiAFqIgAgAUYEQCADIANBCGoiATYCGCAAKAIAKAIMIQdB1IkLQQA2AgAgByAAIAEQA0HUiQsoAgAhCEHUiQtBADYCACAIQQFGDQMgAygCGCEADAILIAEoAgAoAgghCUHUiQtBADYCACAJIAEQBiEAQdSJCygCACEKQdSJC0EANgIAIApBAUYNAgsgAyAANgIYCyACQgA3AmwgAkIANwIEIAIgBDYChAEgAiAFNgKAASACQZyDCDYCAEEAIQEgAkEANgJ8IAJCADcCdCACQgA3AgwgAkIANwIUAkAgAARAIANBCGoiASAARgRAIAIgAkGIAWoiADYCmAEgAygCCCgCDCELQdSJC0EANgIAIAsgASAAEANB1IkLKAIAIQxB1IkLQQA2AgAgDEEBRw0CDAQLIAAoAgAoAgghDUHUiQtBADYCACANIAAQBiEBQdSJCygCACEOQdSJC0EANgIAIA5BAUYNAwsgAiABNgKYAQsCQAJAIAMoAhgiACADQQhqIgRGBEBBBCEBIAQhAAwBC0EFIQEgAEUNAQsgACAAKAIAIAFBAnRqKAIAEQEACyADQSBqJAAgAg8LEAAhAAwBCxAAIQAgAhDkARoCQCADKAIYIgEgA0EIaiIERgRAQQQhAyAEIQEMAQtBBSEDIAFFDQELIAEgASgCACADQQJ0aigCABEBAAsgAhBaIAAQBwALOQAgACgCBEUEQEHo+gVBuosDQZwEQe7TAhABAAsgACACNgJ4IAAgATYCfCAAIAIQ1Q0gAEIANwJ4C74iAQ5/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAIgIoAgAOXgABAgMEBQYHCAkKCwwNHh8gISIjJCU1Ng4PEBESExQVFhcYGRobHB03JicoKSorLC0uLzAxMjM0ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXABdC0GY/QNB5bMDQeoBEGIACyAAQRRqQZXzACABEFggAigCAEEBRw1cIAIoAhQiAUEATA1bIABBGGohAwNAIAFBAWsiACACKAIUTw1eIAIoAhAgAEECdGoiBCgCAEUNXyADQZTzACAEEFsgAUEBSyEGIAAhASAGDQALDFsLIABBFGoiA0GW8wAgARBYIAIoAgBBAkcNWyACKAIQBEAgAEEYakGU8wAgAkEQahBbCyADQZTzACACQQxqEFggA0GU8wAgAkEIahBYDwsgAEEUaiIAQZfzACABEFggAigCAEEDRw1aDGALIABBFGpBmPMAIAEQWCACKAIAQQRHDVkgAigCFARAIABBGGpBlPMAIAJBFGoQWwsgAigCEEUNWCAAQRhqQZTzACACQRBqEFsPCyAAQRRqIgNBmfMAIAEQWCACKAIAQQVHDVggA0GU8wAgAkEkahBYIAIoAiBFDVcgAEEYakGU8wAgAkEgahBbDwsgAEEUakGa8wAgARBYIAIoAgBBBkcNVyACKAIMIgFBAEwNViAAQRhqIQMDQCABQQFrIgAgAigCDE8NWSACKAIIIABBAnRqIgQoAgBFDVogA0GU8wAgBBBbIAFBAUshByAAIQEgBw0ACwxWCyAAQRRqIgNBm/MAIAEQWCACKAIAQQdHDVYgA0GU8wAgAkEcahBYIAIoAhAiAUEATA1VIABBGGohAwNAIAFBAWsiACACKAIQTw1YIAIoAgwgAEECdGoiBCgCAEUNWSADQZTzACAEEFsgAUEBSyEIIAAhASAIDQALDFULIABBFGpBnPMAIAEQWCACKAIAQQhGDVQMVQsgAEEUaiIAQZ3zACABEFggAigCAEEJRw1UDF0LIABBFGpBnvMAIAEQWCACKAIAQQpGDVIMUwsgAEEUaiIAQZ/zACABEFggAigCAEELRw1SDFgLIABBFGoiAEGg8wAgARBYIAIoAgBBDEcNUQxcCyAAQRRqIgBBofMAIAEQWCACKAIAQQ1HDVAMWgsgAEEUaiIAQaLzACABEFggAigCAEEYRw1PDFsLIABBFGoiAEGj8wAgARBYIAIoAgBBGUcNTiAAQZTzACACQSBqEFgMWgsgAEEUaiIAQaTzACABEFggAigCAEEaRw1NDFELIABBFGoiAEGl8wAgARBYIAIoAgBBG0cNTAxRCyAAQRRqQabzACABEFggAigCAEEcRg1KDEsLIABBFGoiAEGn8wAgARBYIAIoAgBBHUcNSgxTCyAAQRRqIgBBqPMAIAEQWCACKAIAQR5HDUkgAEGU8wAgAkEUahBYDFILIABBFGoiAEGp8wAgARBYIAIoAgBBH0cNSAxXCyAAQRRqIgBBqvMAIAEQWCACKAIAQSBHDUcMTgsgAEEUaiIAQavzACABEFggAigCAEEhRw1GDE4LIABBFGoiAEGs8wAgARBYIAIoAgBBIkcNRSAAQZTzACACQSBqEFgPCyAAQRRqIgBBrfMAIAEQWCACKAIAQSNHDUQMTgsgAEEUaiIAQa7zACABEFggAigCAEEkRw1DDEcLIABBFGpBr/MAIAEQWCACKAIAQSVGDUEMQgsgAEEUaiIAQbDzACABEFggAigCAEEmRw1BDE8LIABBFGoiAEGx8wAgARBYIAIoAgBBJ0cNQAxOCyAAQRRqQbLzACABEFggAigCAEEORg0+DD8LIABBFGoiAEGz8wAgARBYIAIoAgBBD0cNPgxHCyAAQRRqIgBBtPMAIAEQWCACKAIAQRBHDT0MRQsgAEEUaiIAQbXzACABEFggAigCAEERRw08DEoLIABBFGoiAEG28wAgARBYIAIoAgBBEkcNOwxLCyAAQRRqQbfzACABEFggAigCAEETRw06IAIoAghFDTkMSwsgAEEUakG48wAgARBYIAIoAgBBFEYNOAw5CyAAQRRqIgBBufMAIAEQWCACKAIAQRVHDTgMSAsgAEEUakG68wAgARBYIAIoAgBBKUYNNgw3CyAAQRRqIgBBu/MAIAEQWCACKAIAQSpHDTYMRgsgAEEUakG88wAgARBYIAIoAgBBK0YNNAw1CyAAQRRqIgBBvfMAIAEQWCACKAIAQSxHDTQMQwsgAEEUaiIAQb7zACABEFggAigCAEEtRw0zDDkLIABBFGoiAEG/8wAgARBYIAIoAgBBLkcNMgw3CyAAQRRqQcDzACABEFggAigCAEEvRg0wDDELIABBFGoiAEHB8wAgARBYIAIoAgBBMEcNMAw1CyAAQRRqIgBBwvMAIAEQWCACKAIAQTFHDS8MMwsgAEEUaiIAQcPzACABEFggAigCAEEyRw0uDDwLIABBFGoiA0HE8wAgARBYIAIoAgBBM0cNLSACKAIoIgFBAEoEQCAAQRhqIQQDQCABQQFrIgAgAigCKE8NMCACKAIkIABBAnRqIgUoAgBFDTEgBEGU8wAgBRBbIAFBAUshCSAAIQEgCQ0ACwsgA0GU8wAgAkEQahBYDwsgAEEUaiIAQcXzACABEFggAigCAEE0RgRADD0LDCwLIABBFGpBxvMAIAEQWCACKAIAQTVHDSsgAigCFCIBQQBMDSogAEEYaiEDA0AgAUEBayIAIAIoAhRPDS0gAigCECAAQQJ0aiIEKAIARQ0uIANBlPMAIAQQWyABQQFLIQogACEBIAoNAAsMKgsgAEEUakHH8wAgARBYIAIoAgBBNkYNKQwqCyAAQRRqIgBByPMAIAEQWCACKAIAQTdHDSkMOQsgAEEUakHJ8wAgARBYIAIoAgBBFkYNJwwoCyAAQRRqQcrzACABEFggAigCAEEXRg0mDCcLIABBFGpBy/MAIAEQWCACKAIAQShGDSUMJgsgAEEUakHM8wAgARBYIAIoAgBBOEcNJSACKAIMIgFBAEwNJCAAQRhqIQMDQCABQQFrIgAgAigCDE8NJyACKAIIIABBAnRqIgQoAgBFDSggA0GU8wAgBBBbIAFBAUshCyAAIQEgCw0ACwwkCyAAQRRqIgBBzfMAIAEQWCACKAIAQTlHDSQMNAsgAEEUaiIAQc7zACABEFggAigCAEE6Rw0jDDMLIABBFGoiAEHP8wAgARBYIAIoAgBBO0cNIgwyCyAAQRRqIgNB0PMAIAEQWCACKAIAQTxHDSEgA0GU8wAgAkEYahBYIAIoAgwiAUEATA0gIABBGGohAwNAIAFBAWsiACACKAIMTw0jIAIoAgggAEECdGoiBCgCAEUNJCADQZTzACAEEFsgAUEBSyEMIAAhASAMDQALDCALIABBFGoiAEHR8wAgARBYIAIoAgBBPUcNIAwwCyAAQRRqIgBB0vMAIAEQWCACKAIAQT5HDR8MLwsgAEEUaiIAQdPzACABEFggAigCAEE/Rw0eIABBlPMAIAJBFGoQWA8LIABBFGpB1PMAIAEQWCACKAIAQcAARw0dIAIoAgwiAUEATA0cIABBGGohAwNAIAFBAWsiACACKAIMTw0fIAIoAgggAEECdGoiBCgCAEUNICADQZTzACAEEFsgAUEBSyENIAAhASANDQALDBwLIABBFGoiAEHV8wAgARBYIAIoAgBBwQBHDRwMJQsgAEEUaiIAQdbzACABEFggAigCAEHCAEcNGwwjCyAAQRRqIgNB1/MAIAEQWCACKAIAQcMARw0aIANBlPMAIAJBDGoQWCACKAIIRQ0ZDCsLIABBFGoiAEHY8wAgARBYIAIoAgBBxABHDRkMHgsgAEEUaiIAQdnzACABEFggAigCAEHFAEcNGAwdCyAAQRRqQdrzACABEFggAigCAEHGAEcNFyACKAIMIgFBAEwNFiAAQRhqIQMDQCABQQFrIgAgAigCDE8NGSACKAIIIABBAnRqIgQoAgBFDRogA0GU8wAgBBBbIAFBAUshDiAAIQEgDg0ACwwWCyAAQRRqIgBB2/MAIAEQWCACKAIAQccARw0WDCULIABBFGoiAEHc8wAgARBYIAIoAgBByABHDRUMIwsgAEEUaiIAQd3zACABEFggAigCAEHJAEcNFAwkCyAAQRRqIgBB3vMAIAEQWCACKAIAQcoARw0TIABBlPMAIAJBGGoQWAwgCyAAQRRqIgBB3/MAIAEQWCACKAIAQcsARw0SDB8LIABBFGoiAEHg8wAgARBYIAIoAgBBzABHDREMFAsgAEEUaiIAQeHzACABEFggAigCAEHNAEcNEAwTCyAAQRRqIgBB4vMAIAEQWCACKAIAQc4ARw0PDBgLIABBFGoiA0Hj8wAgARBYIAIoAgBBzwBHDQ4gAigCGARAIABBGGpBlPMAIAJBGGoQWwsgAigCFARAIABBGGpBlPMAIAJBFGoQWwsgAigCEARAIABBGGpBlPMAIAJBEGoQWwsMIAsgAEEUakHk8wAgARBYIAIoAgBB0ABGDQwMDQsgAEEUaiIAQeXzACABEFggAigCAEHRAEcNDAwVCyAAQRRqIgNB5vMAIAEQWCACKAIAQdIARw0LIAIoAhQEQCAAQRhqQZTzACACQRRqEFsLIANBlPMAIAJBEGoQWAwdCyAAQRRqIgBB5/MAIAEQWCACKAIAQdMARw0KDBkLIABBFGoiAEHo8wAgARBYIAIoAgBB1ABHDQkMEQsgAEEUaiIAQenzACABEFggAigCAEHVAEcNCAwRCyAAQRRqIgBB6vMAIAEQWCACKAIAQdYARw0HDBULIABBFGoiAEHr8wAgARBYIAIoAgBB1wBHDQYMFQsgAEEUaiIAQezzACABEFggAigCAEHYAEcNBQwVCyAAQRRqIgBB7fMAIAEQWCACKAIAQdkARw0EDAwLIABBFGoiAEHu8wAgARBYIAIoAgBB2gBHDQMMCgsgAEEUaiIAQe/zACABEFggAigCAEHbAEcNAgwRCyAAQRRqIgNB8PMAIAEQWCACKAIAQdwARw0BIANBlPMAIAJBPGoQWCACKAIwIgFBAEwNACAAQRhqIQMDQCABQQFrIgAgAigCME8NAyACKAIsIABBAnRqIgQoAgBFDQQgA0GU8wAgBBBbIAFBAUshDyAAIQEgDw0ACwsPC0Hw7QVBxZgDQZQGQY3eABABAAtBxaIBQYmiA0G8AUGmiAUQAQALQYGDAkHTmQNBuQJBrvcCEAEACyAAQZTzACACQRxqEFgLIABBlPMAIAJBGGoQWAsgAEGU8wAgAkEUahBYCyAAQZTzACACQRBqEFgPCyAAQZTzACACQRRqEFgLIABBlPMAIAJBEGoQWAsgAEGU8wAgAkEMahBYDwsgAEGU8wAgAkEoahBYCyAAQZTzACACQSRqEFgPCyAAQZTzACACQRxqEFggAEGU8wAgAkEYahBYDwsgAEGU8wAgAkEUahBYCyAAQZTzACACQRBqEFgLIABBlPMAIAJBDGoQWAsgAEGU8wAgAkEIahBYDwsgAEEYakGU8wAgAkEIahBbDwsgA0GU8wAgAkEMahBYC4oEAQZ/IwBBIGsiBSQAIAUgARBsNgIYIAUgATYCFCAFIAUpAhQ3AwAgBUEMaiAFEGUgBSgCDCEEAkAgACgC7AEiAkUNACAAQegBaiIHKAIAAn8gAkEBayAEcSACaSIDQQFNDQAaIAQgAiAESw0AGiAEIAJwCyIGQQJ0aigCACIBRQ0AIAEoAgAiAUUNAAJAIANBAU0EQCACQQFrIQIDQAJAIAQgASgCBCIDRwRAIAIgA3EgBkYNAQwFCyABKAIIIARGDQMLIAEoAgAiAQ0ACwwCCwNAAkAgBCABKAIEIgNHBEAgAiADTQR/IAMgAnAFIAMLIAZGDQEMBAsgASgCCCAERg0CCyABKAIAIgENAAsMAQsgBUEUaiAHIAEQtgMgBSgCFCIBRQ0AIAEQWgsCQCAAKAJYIgIgACgCVCIGRg0AQQEgAiAGa0ECdSIBIAFBAU0bIQdBACEDA0AgBCAGIANBAnRqIgEoAgAoAgBHBEAgByADQQFqIgNHDQEMAgsLIAIgAUEEaiIDRwRAA0AgAygCACEGIANBADYCACABKAIAIQQgASAGNgIAIAQEQCAEEFoLIAFBBGohASADQQRqIgMgAkcNAAsgACgCWCECCyABIAJHBEADQCACQQRrIgIoAgAhBCACQQA2AgAgBARAIAQQWgsgASACRw0ACwsgACABNgJYCyAFQSBqJAAL7w8BGH8jAEGwAmsiAyQAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIEBEAgACAAKAIAKAIQEQIABEAgAyAAKAIEIgIpAjg3A/gBIAMgAikCMDcD8AEgAyACKQIoNwPoASADIAIpAiA3A+ABIAMgAikCGDcD2AEgA0GAAmogAkFAaxDjASEEQdSJC0EANgIAQZoBIANBlAJqIAJB1ABqEAIhBUHUiQsoAgAhEUHUiQtBADYCACARQQFGDQIgAyACKAJoNgKoAiADIAIoAmwiAjYCrAIgAgRAIAIgAigCBEEBajYCBAsgA0EBIAMoAuABIgIgAkEAShs2AuABIAMgAykD6AE3AxggAyADKQPwATcDICADIAMpA/gBNwMoIAMgAykD4AE3AxAgA0EBIAMoAtwBIgIgAkEAShs2AtwBQdSJC0EANgIAIAMgAykD2AE3AwhBmwEgA0EwaiAEEAIhBEHUiQsoAgAhAkHUiQtBADYCAAJAIAJBAUcEQEHUiQtBADYCAEGaASADQcQAaiAFEAIhBUHUiQsoAgAhEkHUiQtBADYCACASQQFGDQUgAyADKAKsAiICNgJcIAMgAygCqAI2AlggAgRAIAIgAigCBEEBajYCBAsgA0EANgJ4IAMgAykDEDcChAEgAyADKQMYNwKMASADIAMpAyA3ApQBIAMgAykDKDcCnAEgA0IANwJwIANB/OwJNgJkIAMgAykDCDcCfEHUiQtBADYCACADIAE2AmggAyABQagBajYCbEGbASADQaQBaiAEEAIhAUHUiQsoAgAhAkHUiQtBADYCAAJAIAJBAUcEQEHUiQtBADYCAEGaASADQbgBaiAFEAIaQdSJCygCACETQdSJC0EANgIAIBNBAUcEQCADIAMoAlg2AswBIAMgAygCXCIBNgLQASABBEAgASABKAIEQQFqNgIECyADQQA7AdQBIANBCGoQYSADQQE6ANQBIAAoAgAoAhQhFEHUiQtBADYCACAUIAAQBiEAQdSJCygCACEVQdSJC0EANgIAIBVBAUYNBCADKAJkKAIIIRZB1IkLQQA2AgAgFiADQeQAaiIBIAAQA0HUiQsoAgAhF0HUiQtBADYCACAXQQFGDQRB1IkLQQA2AgBBlwEgARAKQdSJCygCACEYQdSJC0EANgIAIBhBAUYNBCADQfzsCTYCZCADQfwAahBhIAMoAnAiAQRAIAMoAnQiACABIgJHBEADQCAAQQRrIgAoAgAhAiAAQQA2AgAgAgRAIAIgAigCACgCBBEBAAsgACABRw0ACyADKAJwIQILIAMgATYCdCACEFoLIANB2AFqEGEMEAsQACEAIAEQawwBCxAAIQALIANB8ABqEOABIANBCGoQYQwOCxAAIQAMDQsQACEAIANB5ABqEHwaDAwLIAAgATYCfCAAQRRqIQkgASgCGCICIAEoAhwiBEcEQANAIAIoAgAiBSgCDEUEQCAJIAVBIGoQ+QkLIAJBBGoiAiAERw0ACwsgASgCDCICIAEoAhAiBUcEQANAIAIoAgAiBCgCDEUEQCAAIAQ2AnggACAEENUNIABBADYCeAsgAkEEaiICIAVHDQALCyABKAIwIgogASgCNCIORg0JIABBHGohDQNAIAooAgAiAigCDARAIAkgAkEUahD5CQsgAigCHCILIAIoAiAiD0cEQCAAKAJsIQYgACgCcCEEIAAoAhghBQNAIAMgCygCACIHNgJkIAQgBmsiEEEDdSICQQAgBWtHDQYgB0UNBwJAIAVBCU0EQCAAIAVBAWoiBjYCGCANIAVBA3RqIgJBlPMANgIAIAIgA0HkAGo2AgQgBCECIAYhBQwBCyAAKAJ0IgggBEsEQCAEQZTzADYCACAEIANB5ABqNgIEIAAgBEEIaiICNgJwDAELIAJBAWoiB0GAgICAAk8NCUH/////ASAIIAZrIghBAnUiDCAHIAcgDEkbIAhB+P///wdPGyIHQYCAgIACTw0KIBAgB0EDdCIMEFwiCGoiB0GU8wA2AgAgCCACQQN0aiADQeQAajYCBCAHQQhqIQIgBCAGRwRAA0AgB0EIayIHIARBCGsiBCkCADcCACAEIAZHDQALCyAAIAggDGo2AnQgACACNgJwIAAgBzYCbCAGRQ0AIAYQWiAAKAJwIQIgACgCGCEFC0EAIAVrIAIgACgCbCIGa0EDdUcEQANAAkAgAiAGRgRAIAVFDQ4gDSAFQQFrIgRBA3RqIgUoAgQhAiAFKAIAIQYgACAENgIYDAELIAJBCGsiBCgCACEGIAQoAgQhAiAAIAQ2AnALIAkgAjYCACACKAIARQ0NIAAgAiAGEQAAQQAgACgCGCIFayAAKAJwIgIgACgCbCIGa0EDdUcNAAsLIAIhBCALQQRqIgsgD0cNAAsLIApBBGoiCiAORw0ACwwJC0Ho+gVBuosDQfwDQdrLAhABAAsQACEZIAQQayAZEAcACxAAIQAgBBBrDAgLQc3KBUHTmQNByAJB0PgCEAEAC0GBgwJB05kDQbkCQa73AhABAAsQZAALEGoAC0HexAVBsJQDQdoAQf37AhABAAtB9YICQdOZA0HNAkHQ+AIQAQALIAEoAkgiAiABKAJMIgFHBEADQCACKAIAIgQtABRFBEAgCSAEQRhqEPkJCyACQQRqIgIgAUcNAAsLIABBADYCfAsgA0GwAmokAA8LIANB2AFqEGEgABAHAAuBAQEDfyAAQZyDCDYCAAJAAkAgACgCmAEiASAAQYgBaiICRgRAQQQhAyACIQEMAQtBBSEDIAFFDQELIAEgASgCACADQQJ0aigCABEBAAsgACgCbCICBEAgACACNgJwIAIQWgsgAEGQ7Qk2AgAgACwAE0EASARAIAAoAggQWgsgABBaCwcAIAEtABkLCwAgAUHMgwg2AgALEQBBCBBcIgBBzIMINgIAIAALCwAgAUHwgwg2AgALEQBBCBBcIgBB8IMINgIAIAALCQAgAUEBOgAZCwsAIAFBlIQINgIACxEAQQgQXCIAQZSECDYCACAAC04BAX4gACkCgAEhAUGIARBcIgBCADcCbCAAQgA3AgQgACABNwKAASAAQbiECDYCACAAQQA2AnwgAEIANwJ0IABCADcCDCAAQgA3AhQgAAs/ACAAKAIERQRAQej6BUG6iwNBnARB7tMCEAEACyAAIAI2AnggACABNgJ8IABBFGogAkEwahDjBiAAQgA3AngLnwgBCX8CQAJAIAEoAgAiAigCAEEGRgRAAkAgACgCfCIBKALUASABKALYASACKQIYEOQCIgEoAgwiA0UNACADQcCwCygCAEcNACABKAIYQQdJDQAgASgCFEHv8QRBBxBeDQAgAigCDEUNAyACKAIIKAIAIgEoAgBBDkcNACABKAIYIgNBB08NAgJAAkAgA0ECaw4CAQEACxAPAAsgASgCCCIBIAAoAoQBIgMoAgQgAygCACIDa0EDdU8NACADIAFBA3RqIgEoAgAiBkUNACAAKAKAASEEIAAoAnwiACgC1AEgACgC2AEgBq0gASgCBCIHrUIghoQQ5AIhBQJAAkAgBCgCBCIBRQRAIARBBGoiAyEADAELA0AgASIAKAIQIgEgBUsEQCAAIQMgACgCACIBDQEMAgsgASAFTwRAIAAhAQwDCyAAKAIEIgENAAsgAEEEaiEDC0EwEFwiAUEgakIANwIAIAEgBTYCECABIAA2AgggAUIANwIAIAFBGGoiAEIANwIAIAFCADcCKCABIAA2AhQgASABQSRqNgIgIAMgATYCACABIQAgBCgCACgCACIFBEAgBCAFNgIAIAMoAgAhAAsgBCgCBCAAEGcgBCAEKAIIQQFqNgIICyABLQAtDQAgAiAGNgIYIAIgBzYCHCACKAIMIgNBAWsiBARAQQEgAyADQQFNG0EBayEBQQAhAANAIAAgAUYNBSACKAIIIgUgAEECdGogBSAAQQFqIgBBAnRqKAIANgIAIAAgBEcNAAsLIAMhAAJAIAIoAhAgBE8NACACIAQ2AhAgAigCCCEFIAIgAigCFCAEQQJ0QQQQXTYCCCACKAIMIgBFBEBBACEADAELQQAhB0EAIQEgAEEETwRAIABBfHEhCANAIAFBAnQiBiACKAIIaiAFIAZqKAIANgIAIAZBBHIiCSACKAIIaiAFIAlqKAIANgIAIAZBCHIiCSACKAIIaiAFIAlqKAIANgIAIAZBDHIiBiACKAIIaiAFIAZqKAIANgIAIAFBBGoiASAIRw0ACwsgAEEDcSIGRQ0AA0AgAUECdCIIIAIoAghqIAUgCGooAgA2AgAgAUEBaiEBIAdBAWoiByAGRw0ACwsCQCAAIARPDQAgAyAAa0ECayEKIAMgAEF/c2pBA3EiAwRAQQAhAQNAIAIoAgggAEECdGpBADYCACAAQQFqIQAgAUEBaiIBIANHDQALCyAKQQNJDQADQCAAQQJ0IgEgAigCCGpBADYCACACKAIIIAFqQQA2AgQgAigCCCABakEANgIIIAIoAgggAWpBADYCDCAAQQRqIgAgBEcNAAsLIAIgBDYCDAsPC0Hw7QVBxZgDQZQGQY3eABABAAtB4c0GQZ+fA0HDAUHz5wQQAQALQcWiAUGJogNBvAFBpogFEAEAC74iAQ5/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAIgIoAgAOXgABAgMEBQYHCAkKCwwNHh8gISIjJCU1Ng4PEBESExQVFhcYGRobHB03JicoKSorLC0uLzAxMjM0ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXABdC0GY/QNB5bMDQeoBEGIACyAAQRRqQbjyACABEFggAigCAEEBRw1cIAIoAhQiAUEATA1bIABBGGohAwNAIAFBAWsiACACKAIUTw1eIAIoAhAgAEECdGoiBCgCAEUNXyADQbfyACAEEFsgAUEBSyEGIAAhASAGDQALDFsLIABBFGoiA0G58gAgARBYIAIoAgBBAkcNWyACKAIQBEAgAEEYakG38gAgAkEQahBbCyADQbfyACACQQxqEFggA0G38gAgAkEIahBYDwsgAEEUaiIAQbryACABEFggAigCAEEDRw1aDGALIABBFGpBu/IAIAEQWCACKAIAQQRHDVkgAigCFARAIABBGGpBt/IAIAJBFGoQWwsgAigCEEUNWCAAQRhqQbfyACACQRBqEFsPCyAAQRRqIgNBvPIAIAEQWCACKAIAQQVHDVggA0G38gAgAkEkahBYIAIoAiBFDVcgAEEYakG38gAgAkEgahBbDwsgAEEUakG98gAgARBYIAIoAgBBBkcNVyACKAIMIgFBAEwNViAAQRhqIQMDQCABQQFrIgAgAigCDE8NWSACKAIIIABBAnRqIgQoAgBFDVogA0G38gAgBBBbIAFBAUshByAAIQEgBw0ACwxWCyAAQRRqIgNBvvIAIAEQWCACKAIAQQdHDVYgA0G38gAgAkEcahBYIAIoAhAiAUEATA1VIABBGGohAwNAIAFBAWsiACACKAIQTw1YIAIoAgwgAEECdGoiBCgCAEUNWSADQbfyACAEEFsgAUEBSyEIIAAhASAIDQALDFULIABBFGpBv/IAIAEQWCACKAIAQQhGDVQMVQsgAEEUaiIAQcDyACABEFggAigCAEEJRw1UDF0LIABBFGpBwfIAIAEQWCACKAIAQQpGDVIMUwsgAEEUaiIAQcLyACABEFggAigCAEELRw1SDFgLIABBFGoiAEHD8gAgARBYIAIoAgBBDEcNUQxcCyAAQRRqIgBBxPIAIAEQWCACKAIAQQ1HDVAMWgsgAEEUaiIAQcXyACABEFggAigCAEEYRw1PDFsLIABBFGoiAEHG8gAgARBYIAIoAgBBGUcNTiAAQbfyACACQSBqEFgMWgsgAEEUaiIAQcfyACABEFggAigCAEEaRw1NDFELIABBFGoiAEHI8gAgARBYIAIoAgBBG0cNTAxRCyAAQRRqQcnyACABEFggAigCAEEcRg1KDEsLIABBFGoiAEHK8gAgARBYIAIoAgBBHUcNSgxTCyAAQRRqIgBBy/IAIAEQWCACKAIAQR5HDUkgAEG38gAgAkEUahBYDFILIABBFGoiAEHM8gAgARBYIAIoAgBBH0cNSAxXCyAAQRRqIgBBzfIAIAEQWCACKAIAQSBHDUcMTgsgAEEUaiIAQc7yACABEFggAigCAEEhRw1GDE4LIABBFGoiAEHP8gAgARBYIAIoAgBBIkcNRSAAQbfyACACQSBqEFgPCyAAQRRqIgBB0PIAIAEQWCACKAIAQSNHDUQMTgsgAEEUaiIAQdHyACABEFggAigCAEEkRw1DDEcLIABBFGpB0vIAIAEQWCACKAIAQSVGDUEMQgsgAEEUaiIAQdPyACABEFggAigCAEEmRw1BDE8LIABBFGoiAEHU8gAgARBYIAIoAgBBJ0cNQAxOCyAAQRRqQdXyACABEFggAigCAEEORg0+DD8LIABBFGoiAEHW8gAgARBYIAIoAgBBD0cNPgxHCyAAQRRqIgBB1/IAIAEQWCACKAIAQRBHDT0MRQsgAEEUaiIAQdjyACABEFggAigCAEERRw08DEoLIABBFGoiAEHZ8gAgARBYIAIoAgBBEkcNOwxLCyAAQRRqQdryACABEFggAigCAEETRw06IAIoAghFDTkMSwsgAEEUakHb8gAgARBYIAIoAgBBFEYNOAw5CyAAQRRqIgBB3PIAIAEQWCACKAIAQRVHDTgMSAsgAEEUakHd8gAgARBYIAIoAgBBKUYNNgw3CyAAQRRqIgBB3vIAIAEQWCACKAIAQSpHDTYMRgsgAEEUakHf8gAgARBYIAIoAgBBK0YNNAw1CyAAQRRqIgBB4PIAIAEQWCACKAIAQSxHDTQMQwsgAEEUaiIAQeHyACABEFggAigCAEEtRw0zDDkLIABBFGoiAEHi8gAgARBYIAIoAgBBLkcNMgw3CyAAQRRqQePyACABEFggAigCAEEvRg0wDDELIABBFGoiAEHk8gAgARBYIAIoAgBBMEcNMAw1CyAAQRRqIgBB5fIAIAEQWCACKAIAQTFHDS8MMwsgAEEUaiIAQebyACABEFggAigCAEEyRw0uDDwLIABBFGoiA0Hn8gAgARBYIAIoAgBBM0cNLSACKAIoIgFBAEoEQCAAQRhqIQQDQCABQQFrIgAgAigCKE8NMCACKAIkIABBAnRqIgUoAgBFDTEgBEG38gAgBRBbIAFBAUshCSAAIQEgCQ0ACwsgA0G38gAgAkEQahBYDwsgAEEUaiIAQejyACABEFggAigCAEE0RgRADD0LDCwLIABBFGpB6fIAIAEQWCACKAIAQTVHDSsgAigCFCIBQQBMDSogAEEYaiEDA0AgAUEBayIAIAIoAhRPDS0gAigCECAAQQJ0aiIEKAIARQ0uIANBt/IAIAQQWyABQQFLIQogACEBIAoNAAsMKgsgAEEUakHq8gAgARBYIAIoAgBBNkYNKQwqCyAAQRRqIgBB6/IAIAEQWCACKAIAQTdHDSkMOQsgAEEUakHs8gAgARBYIAIoAgBBFkYNJwwoCyAAQRRqQe3yACABEFggAigCAEEXRg0mDCcLIABBFGpB7vIAIAEQWCACKAIAQShGDSUMJgsgAEEUakHv8gAgARBYIAIoAgBBOEcNJSACKAIMIgFBAEwNJCAAQRhqIQMDQCABQQFrIgAgAigCDE8NJyACKAIIIABBAnRqIgQoAgBFDSggA0G38gAgBBBbIAFBAUshCyAAIQEgCw0ACwwkCyAAQRRqIgBB8PIAIAEQWCACKAIAQTlHDSQMNAsgAEEUaiIAQfHyACABEFggAigCAEE6Rw0jDDMLIABBFGoiAEHy8gAgARBYIAIoAgBBO0cNIgwyCyAAQRRqIgNB8/IAIAEQWCACKAIAQTxHDSEgA0G38gAgAkEYahBYIAIoAgwiAUEATA0gIABBGGohAwNAIAFBAWsiACACKAIMTw0jIAIoAgggAEECdGoiBCgCAEUNJCADQbfyACAEEFsgAUEBSyEMIAAhASAMDQALDCALIABBFGoiAEH08gAgARBYIAIoAgBBPUcNIAwwCyAAQRRqIgBB9fIAIAEQWCACKAIAQT5HDR8MLwsgAEEUaiIAQfbyACABEFggAigCAEE/Rw0eIABBt/IAIAJBFGoQWA8LIABBFGpB9/IAIAEQWCACKAIAQcAARw0dIAIoAgwiAUEATA0cIABBGGohAwNAIAFBAWsiACACKAIMTw0fIAIoAgggAEECdGoiBCgCAEUNICADQbfyACAEEFsgAUEBSyENIAAhASANDQALDBwLIABBFGoiAEH48gAgARBYIAIoAgBBwQBHDRwMJQsgAEEUaiIAQfnyACABEFggAigCAEHCAEcNGwwjCyAAQRRqIgNB+vIAIAEQWCACKAIAQcMARw0aIANBt/IAIAJBDGoQWCACKAIIRQ0ZDCsLIABBFGoiAEH78gAgARBYIAIoAgBBxABHDRkMHgsgAEEUaiIAQfzyACABEFggAigCAEHFAEcNGAwdCyAAQRRqQf3yACABEFggAigCAEHGAEcNFyACKAIMIgFBAEwNFiAAQRhqIQMDQCABQQFrIgAgAigCDE8NGSACKAIIIABBAnRqIgQoAgBFDRogA0G38gAgBBBbIAFBAUshDiAAIQEgDg0ACwwWCyAAQRRqIgBB/vIAIAEQWCACKAIAQccARw0WDCULIABBFGoiAEH/8gAgARBYIAIoAgBByABHDRUMIwsgAEEUaiIAQYDzACABEFggAigCAEHJAEcNFAwkCyAAQRRqIgBBgfMAIAEQWCACKAIAQcoARw0TIABBt/IAIAJBGGoQWAwgCyAAQRRqIgBBgvMAIAEQWCACKAIAQcsARw0SDB8LIABBFGoiAEGD8wAgARBYIAIoAgBBzABHDREMFAsgAEEUaiIAQYTzACABEFggAigCAEHNAEcNEAwTCyAAQRRqIgBBhfMAIAEQWCACKAIAQc4ARw0PDBgLIABBFGoiA0GG8wAgARBYIAIoAgBBzwBHDQ4gAigCGARAIABBGGpBt/IAIAJBGGoQWwsgAigCFARAIABBGGpBt/IAIAJBFGoQWwsgAigCEARAIABBGGpBt/IAIAJBEGoQWwsMIAsgAEEUakGH8wAgARBYIAIoAgBB0ABGDQwMDQsgAEEUaiIAQYjzACABEFggAigCAEHRAEcNDAwVCyAAQRRqIgNBifMAIAEQWCACKAIAQdIARw0LIAIoAhQEQCAAQRhqQbfyACACQRRqEFsLIANBt/IAIAJBEGoQWAwdCyAAQRRqIgBBivMAIAEQWCACKAIAQdMARw0KDBkLIABBFGoiAEGL8wAgARBYIAIoAgBB1ABHDQkMEQsgAEEUaiIAQYzzACABEFggAigCAEHVAEcNCAwRCyAAQRRqIgBBjfMAIAEQWCACKAIAQdYARw0HDBULIABBFGoiAEGO8wAgARBYIAIoAgBB1wBHDQYMFQsgAEEUaiIAQY/zACABEFggAigCAEHYAEcNBQwVCyAAQRRqIgBBkPMAIAEQWCACKAIAQdkARw0EDAwLIABBFGoiAEGR8wAgARBYIAIoAgBB2gBHDQMMCgsgAEEUaiIAQZLzACABEFggAigCAEHbAEcNAgwRCyAAQRRqIgNBk/MAIAEQWCACKAIAQdwARw0BIANBt/IAIAJBPGoQWCACKAIwIgFBAEwNACAAQRhqIQMDQCABQQFrIgAgAigCME8NAyACKAIsIABBAnRqIgQoAgBFDQQgA0G38gAgBBBbIAFBAUshDyAAIQEgDw0ACwsPC0Hw7QVBxZgDQZQGQY3eABABAAtBxaIBQYmiA0G8AUGmiAUQAQALQYGDAkHTmQNBuQJBrvcCEAEACyAAQbfyACACQRxqEFgLIABBt/IAIAJBGGoQWAsgAEG38gAgAkEUahBYCyAAQbfyACACQRBqEFgPCyAAQbfyACACQRRqEFgLIABBt/IAIAJBEGoQWAsgAEG38gAgAkEMahBYDwsgAEG38gAgAkEoahBYCyAAQbfyACACQSRqEFgPCyAAQbfyACACQRxqEFggAEG38gAgAkEYahBYDwsgAEG38gAgAkEUahBYCyAAQbfyACACQRBqEFgLIABBt/IAIAJBDGoQWAsgAEG38gAgAkEIahBYDwsgAEEYakG38gAgAkEIahBbDwsgA0G38gAgAkEMahBYC/IPARh/IwBBsAJrIgMkAAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCBARAIAAgACgCACgCEBECAARAIAMgACgCBCICKQI4NwP4ASADIAIpAjA3A/ABIAMgAikCKDcD6AEgAyACKQIgNwPgASADIAIpAhg3A9gBIANBgAJqIAJBQGsQ4wEhBEHUiQtBADYCAEGaASADQZQCaiACQdQAahACIQVB1IkLKAIAIRFB1IkLQQA2AgAgEUEBRg0CIAMgAigCaDYCqAIgAyACKAJsIgI2AqwCIAIEQCACIAIoAgRBAWo2AgQLIANBASADKALgASICIAJBAEobNgLgASADIAMpA+gBNwMYIAMgAykD8AE3AyAgAyADKQP4ATcDKCADIAMpA+ABNwMQIANBASADKALcASICIAJBAEobNgLcAUHUiQtBADYCACADIAMpA9gBNwMIQZsBIANBMGogBBACIQRB1IkLKAIAIQJB1IkLQQA2AgACQCACQQFHBEBB1IkLQQA2AgBBmgEgA0HEAGogBRACIQVB1IkLKAIAIRJB1IkLQQA2AgAgEkEBRg0FIAMgAygCrAIiAjYCXCADIAMoAqgCNgJYIAIEQCACIAIoAgRBAWo2AgQLIANBADYCeCADIAMpAxA3AoQBIAMgAykDGDcCjAEgAyADKQMgNwKUASADIAMpAyg3ApwBIANCADcCcCADQfzsCTYCZCADIAMpAwg3AnxB1IkLQQA2AgAgAyABNgJoIAMgAUGoAWo2AmxBmwEgA0GkAWogBBACIQFB1IkLKAIAIQJB1IkLQQA2AgACQCACQQFHBEBB1IkLQQA2AgBBmgEgA0G4AWogBRACGkHUiQsoAgAhE0HUiQtBADYCACATQQFH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VQsgAEGS8QAgARBYIAIoAgBBH0cNSAxNCyAAQZPxACABEFggAigCAEEgRw1HDFELIABBlPEAIAEQWCACKAIAQSFHDUYMUQsgAEGV8QAgARBYIAIoAgBBIkcNRSAAQfXwACACQSBqEFgPCyAAQZbxACABEFggAigCAEEjRw1EDFELIABBl/EAIAEQWCACKAIAQSRHDUMMSgsgAEGY8QAgARBYIAIoAgBBJUYNQQxCCyAAQZnxACABEFggAigCAEEmRw1BDEULIABBmvEAIAEQWCACKAIAQSdHDUAMRAsgAEGb8QAgARBYIAIoAgBBDkYNPgw/CyAAQZzxACABEFggAigCAEEPRw0+DEoLIABBnfEAIAEQWCACKAIAQRBHDT0MSAsgAEGe8QAgARBYIAIoAgBBEUcNPAxACyAAQZ/xACABEFggAigCAEESRw07DEsLIABBoPEAIAEQWCACKAIAQRNHDTogAigCCEUNOQxLCyAAQaHxACABEFggAigCAEEURg04DDkLIABBovEAIAEQWCACKAIAQRVHDTgMSAsgAEGj8QAgARBYIAIoAgBBKUYNNgw3CyAAQaTxACABEFggAigCAEEqRw02DEYLIABBpfEAIAEQWCACKAIAQStGDTQMNQsgAEGm8QAgARBYIAIoAgBBLEcNNAw5CyAAQafxACABEFggAigCAEEtRw0zDDwLIABBqPEAIAEQWCACKAIAQS5HDTIMOgsgAEGp8QAgARBYIAIoAgBBL0YNMAwxCyAAQarxACABEFggAigCAEEwRw0wDDgLIABBq/EAIAEQWCACKAIAQTFHDS8MNgsgAEGs8QAgARBYIAIoAgBBMkcNLgwyCyAAQa3xACABEFggAigCAEEzRw0tIAIoAigiAUEASgRAIABBBGohAwNAIAFBAWsiBCACKAIoTw0wIAIoAiQgBEECdGoiBSgCAEUNMSADQfXwACAFEFsgAUEBSyEJIAQhASAJDQALCww2CyAAQa7xACABEFggAigCAEE0RgRADD0LDCwLIABBr/EAIAEQWCACKAIAQTVHDSsgAigCFCIBQQBMDSogAEEEaiEEA0AgAUEBayIAIAIoAhRPDS0gAigCECAAQQJ0aiIDKAIARQ0uIARB9fAAIAMQWyABQQFLIQogACEBIAoNAAsMKgsgAEGw8QAgARBYIAIoAgBBNkYNKQwq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ASgCTCABKAJIIgdrQQJ1SQ0ACyADIAI2ApACIAMgBDYCmAILIAMoAtADIgQEQANAIAQoAgAhIyAEEFogIyIEDQALCyADKALIAyECIANBADYCyAMgAgRAIAIQWgsgACgCBCEEQdSJC0EANgIAQQRBIBAGIQJB1IkLKAIAIQVB1IkLQQA2AgACQCAFQQFGDQAgAyACNgKoAiADQpuAgICAhICAgH83AqwCIAJBrKAEKAAANgAXIAJBpaAEKQAANwAQIAJBnaAEKQAANwAIIAJBlaAEKQAANwAAIAJBADoAGyAEQUBrKAIAIAQoAkQgA0GoAmoQwwMhJCACEFogJEUEQCADQQ42AswDIANBm+UCNgLIA0HUiQtBADYCACADIAMpAsgDNwNgQQYgA0H4AWogA0HgAGoQA0HUiQsoAgAhJUHUiQtBADYCACAlQQFGDQEgA0ENNgLMAyADQarlAjYCyANB1IkLQQA2AgAgAyADKQLIAzcDWEEGIANB0AFqIANB2ABqEANB1IkLKAIAISZB1IkLQQA2AgAgJkEBRg0BQdSJC0EANgIAQfjwACABIANBkAJqIgIgAykD+AEgAykD0AEQ5QJB1IkLKAIAISdB1IkLQQA2AgAgJ0EBRg0BIANBDTYCzAMgA0HivgE2AsgDQdSJC0EANgIAIAMgAykCyAM3A1BBBiADQZgBaiADQdAAahADQdSJCygCACEoQdSJC0EANgIAIChBAUYNASADQQw2AswDIANB8L4BNgLIA0HUiQtBADYCACADIAMpAsgDNwNIQQYgA0HoAWogA0HIAGoQA0HUiQsoAgAhKUHUiQtBADYCACApQQFGDQFB1IkLQQA2AgBB+PAAIAEgAiADKQOYASADKQPoARDlAkHUiQsoAgAhKkHUiQtBADYCACAqQQFGDQEgA0EONgLMAyADQZvlAjYCyANB1IkLQQA2AgAgAyADKQLIAzcDQEEGIANBwAFqIANBQGsQA0HUiQsoAgAhK0HUiQtBADYCACArQQFGDQEgASADKQPAARDWAyADQQ02AswDIANBquUCNgLIA0HUiQtBADYCACADIAMpAsgDNwM4QQYgA0GwAWogA0E4ahADQdSJCygCACEsQdSJC0EANgIAICxBAUYNASABIAMpA7ABENYDCyADQRM2AswDIANB464BNgLIA0HUiQtBADYCACADIAMpAsgDNwMwQQYgA0GQAWogA0EwahADQdSJCygCACEtQdSJC0EANgIAIC1BAUYNACADQRI2AswDIANB964BNgLIA0HUiQtBADYCACADIAMpAsgDNwMoQQYgA0GIAWogA0EoahADQdSJCygCACEuQdSJC0EANgIAIC5BAUYNAEHUiQtBADYCAEH48AAgASADQZACaiADKQOQASADKQOIARDlAkHUiQsoAgAhL0HUiQtBADYCACAvQQFGDQAgA0ENNgLMAyADQeK+ATYCyANB1IkLQQA2AgAgAyADKQLIAzcDIEEGIANBgAFqIANBIGoQA0HUiQsoAgAhMEHUiQtBADYCACAwQQFGDQAgASADKQOAARDWAyADQQw2AswDIANB8L4BNgLIA0HUiQtBADYCACADIAMpAsgDNwMYQQYgA0H4AGogA0EYahADQdSJCygCACExQdSJC0EANgIAIDFBAUYNACABIAMpA3gQ1gMgA0ETNgLMAyADQeOuATYCyANB1IkLQQA2AgAgAyADKQLIAzcDEEEGIANB8ABqIANBEGoQA0HUiQsoAgAhMkHUiQtBADYCACAyQQFGDQAgASADKQNwENYDIANBEjYCzAMgA0H3rgE2AsgDQdSJC0EANgIAIAMgAykCyAM3AwhBBiADQegAaiADQQhqEANB1IkLKAIAITNB1IkLQQA2AgAgM0EBRg0AIAEgAykDaBDWAyADKAKQAiICBEAgAyACNgKUAiACEFoLIAAoAgQhBCADQSAQXCICNgLIAyADQpuAgICAhICAgH83AswDIAJBrKAEKAAANgAXIAJBpaAEKQAANwAQIAJBnaAEKQAANwAIIAJBlaAEKQAANwAAIAJBADoAGyAEQUBrKAIAIAQoAkQgA0HIA2oQwwMhBCACEFogA0IANwKAAyADQgA3AogDIANBADYCoAMgA0IANwKoAiADQgA3ApgDIAMgBEEARzoAlAMgAyABNgKQAwJAAkACQAJAAkAgASgCACIFIAEoAgQiCUYNAAJAA0ACQCAFKAIAIQYCQCADLQCUAw0AQfisCykDACJzQiCIpyICIAYoAgRLDQAgBigCACBzpyACEF4NACADKAKcAyIEIAMoAqADRwRAIAQgBikCADcCACAEIAYoAhA2AhAgBCAGKQIINwIIIAMgBEEUajYCnAMMAQsgBCADKAKYAyII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gAghBQsgAyAFNgK4AgsCQCACIARGDQADQCAEKAIAEFogBEEEaiIEIAJHDQALIAMoArACIgIgAygCrAIiBEYNACADIAIgBCACa0EDakF8cWo2ArACCyADKAKoAiICBEAgAhBaCwJAAkAgAygCiAIiBCADQfgBaiIFRgRAQQQhAiAFIQQMAQtBBSECIARFDQELIAQgBCgCACACQQJ0aigCABEBAAsCQAJAIAMoAqACIgQgA0GQAmoiBUYEQEEEIQIgBSEEDAELQQUhAiAERQ0BCyAEIAQoAgAgAkECdGooAgARAQALAkACQCADKALYAyIEIANByANqIgVGBEBBBCECIAUhBAwBC0EFIQIgBEUNAQsgBCAEKAIAIAJBAnRqKAIAEQEACyADQQA2AqQDIANCADcCnAMgA0IANwK4AiADQQA2AsACIANCADcClAMgA0IANwKwAiADIBA2AqgDIANBuIQINgKoAiADIANBwAFqNgKsAyAAKAIEIQBB1IkLQQA2AgAgAyAANgKsAkH98AAgA0GoAmogARADQdSJCygCACFxQdSJC0EANgIAIHFBAUYNAiADKAKUAyIABEAgAyAANgKYAyAAEFoLIANBkO0JNgKoAiADLAC7AkEASARAIAMoArACEFoLIAMoArgBEPYECyADKALAASIARQ0AIAMgADYCxAEgABBaCyADQcAEaiQADwsQACEEIANBqAJqEOQBGgwBCxAAIQQgA0GoAmoQgQYCQAJAIAMoAogCIgIgA0H4AWoiAEYEQEEEIQcgACECDAELQQUhByACRQ0BCyACIAIoAgAgB0ECdGooAgARAQALAkACQCADKAKgAiICIANBkAJqIgBGBEBBBCEHIAAhAgwBC0EFIQcgAkUNAQsgAiACKAIAIAdBAnRqKAIAEQEACwJAIAMoAtgDIgIgA0HIA2oiAEYEQEEEIQcgACECDAELQQUhByACRQ0BCyACIAIoAgAgB0ECdGooAgARAQALIAMoArgBEPYEDAcLEAAhBCADQagCahDWDRoMAQsQACEEIANBqAJqEOQBGgsCQCADKAKgAiICIANBkAJqIgBGBEBBBCEHIAAhAgwBC0EFIQcgAkUNAQsgAiACKAIAIAdBAnRqKAIAEQEACyADQcgDahB8GgsCQCADKAKIAiICIANB+AFqIgBGBEBBBCEHIAAhAgwBC0EFIQcgAkUNAQsgAiACKAIAIAdBAnRqKAIAEQEACyADKALwARD2BAJAIAMoAuABIgIgA0HQAWoiAEYEQEEEIQcgACECDAELQQUhByACRQ0BCyACIAIoAgAgB0ECdGooAgARAQALIAMoArgBEPYEAkAgAygCqAEiAiADQZgBaiIARgRAQQQhByAAIQIMAQtBBSEHIAJFDQELIAIgAigCACAHQQJ0aigCABEBAAsgAygCwAEiAEUNCSADIAA2AsQBDAsLEAAhBCADKALAASIARQ0IDAoLQdSJC0EANgIAQQMQCQwBC0HUiQtBADYCAEENIAIgDCAEIAoQBQtB1IkLKAIAIXJB1IkLQQA2AgAgckEBRw0GCxAAIQQgAygCmAMiAARAIAMgADYCnAMgABBaCyADKAKAAyIABEAgAyAANgKEAyAAEFoLDAQLEAAhBAwCCxAAIQQgAygCgAMiAEUNACADIAA2AoQDIAAQWgsgA0HIA2oQogELIAMoApACIgBFDQAMAgsgBBAHAAsACyAAEFogBBAHAAufHwEOfyAALQBsRQRAIABBAToAbCAAIQMCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAIgIoAgAOXgABAgMEBQYHCAkKCwwNHh8gISIjJCU1Ng4PEBESExQVFhcYGRobHB03JicoKSorLC0uLzAxMjM0ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXABvC0GY/QNB5bMDQeoBEGIACyADQZjwACABEFggAigCAEEBRw1bIAIoAhQiAEEATA1tIANBBGohAwNAIABBAWsiASACKAIUTw1dIAIoAhAgAUECdGoiBCgCAEUNXiADQZfwACAEEFsgAEEBSyEGIAEhACAGDQALDG0LIANBmfAAIAEQWCACKAIAQQJHDVogAigCEARAIANBBGpBl/AAIAJBEGoQWwsMXwsgA0Ga8AAgARBYIAIoAgBBA0cNWQxiCyADQZvwACABEFggAigCAEEERw1YIAIoAhQEQCADQQRqQZfwACACQRRqEFsLIAIoAhBFDWogA0EEakGX8AAgAkEQahBbDGoLIANBnPAAIAEQWCACKAIAQQVHDVcgA0GX8AAgAkEkahBYIAIoAiBFDWkgA0EEakGX8AAgAkEgahBbDGkLIANBnfAAIAEQWCACKAIAQQZHDVYgAigCDCIAQQBMDWggA0EEaiEDA0AgAEEBayIBIAIoAgxPDVggAigCCCABQQJ0aiIEKAIARQ1ZIANBl/AAIAQQWyAAQQFLIQcgASEAIAcNAAsMaAsgA0Ge8AAgARBYIAIoAgBBB0cNVSADQZfwACACQRxqEFggAigCECIAQQBMDWcgA0EEaiEDA0AgAEEBayIBIAIoAhBPDVcgAigCDCABQQJ0aiIEKAIARQ1YIANBl/AAIAQQWyAAQQFLIQggASEAIAgNAAsMZwsgA0Gf8AAgARBYIAIoAgBBCEYNZgxUCyADQaDwACABEFggAigCAEEJRw1TDF8LIANBofAAIAEQWCACKAIAQQpGDWQMUgsgA0Gi8AAgARBYIAIoAgBBC0cNUQxaCyADQaPwACABEFggAigCAEEMRw1QDF4LIANBpPAAIAEQWCACKAIAQQ1HDU8MXAsgA0Gl8AAgARBYIAIoAgBBGEcNTgxdCyADQabwACABEFggAigCAEEZRw1NIANBl/AAIAJBIGoQWAxcCyADQafwACABEFggAigCAEEaRw1MDFMLIANBqPAAIAEQWCACKAIAQRtHDUsMUwsgA0Gp8AAgARBYIAIoAgBBHEYNXAxKCyADQarwACABEFggAigCAEEdRw1JDFULIANBq/AAIAEQWCACKAIAQR5HDUggA0GX8AAgAkEUahBYDFQLIANBrPAAIAEQWCACKAIAQR9HDUcMTAsgA0Gt8AAgARBYIAIoAgBBIEcNRgxQCyADQa7wACABEFggAigCAEEhRw1FDFALIANBr/AAIAEQWCACKAIAQSJHDUQgA0GX8AAgAkEgahBYDFYLIANBsPAAIAEQWCACKAIAQSNHDUMMUAsgA0Gx8AAgARBYIAIoAgBBJEcNQgxJCyADQbLwACABEFggAigCAEElRg1TDEELIANBs/AAIAEQWCACKAIAQSZHDUAMRAsgA0G08AAgARBYIAIoAgBBJ0cNPwxDCyADQbXwACABEFggAigCAEEORg1QDD4LIANBtvAAIAEQWCACKAIAQQ9HDT0MSQsgA0G38AAgARBYIAIoAgBBEEcNPAxHCyADQbjwACABEFggAigCAEERRw07DD8LIANBufAAIAEQWCACKAIAQRJHDToMSgsgA0G68AAgARBYIAIoAgBBE0cNOQxKCyADQbvwACABEFggAigCAEEURg1KDDgLIANBvPAAIAEQWCACKAIAQRVHDTcMRwsgA0G98AAgARBYIAIoAgBBKUYNSAw2CyADQb7wACABEFggAigCAEEqRw01DEULIANBv/AAIAEQWCACKAIAQStGDUYMNAsgA0HA8AAgARBYIAIoAgBBLEcNMww4CyADQcHwACABEFggAigCAEEtRw0yDDsLIANBwvAAIAEQWCACKAIAQS5HDTEMOQsgA0HD8AAgARBYIAIoAgBBL0YNQgwwCyADQcTwACABEFggAigCAEEwRw0vDDcLIANBxfAAIAEQWCACKAIAQTFHDS4MNQsgA0HG8AAgARBYIAIoAgBBMkcNLQwxCyADQcfwACABEFggAigCAEEzRw0sIAIoAigiAEEASgRAIANBBGohBANAIABBAWsiASACKAIoTw0vIAIoAiQgAUECdGoiBSgCAEUNMCAEQZfwACAFEFsgAEEBSyEJIAEhACAJDQALCww1CyADQcjwACABEFggAigCAEE0Rg07DCsLIANByfAAIAEQWCACKAIAQTVHDSogAigCFCIAQQBMDTwgA0EEaiEDA0AgAEEBayIBIAIoAhRPDSwgAigCECABQQJ0aiIEKAIARQ0tIANBl/AAIAQQWyAAQQFLIQogASEAIAoNAAsMPAsgA0HK8AAgARBYIAIoAgBBNkYNOwwpCyADQcvwACABEFggAigCAEE3Rw0oDDgLIANBzPAAIAEQWCACKAIAQRZGDTkMJwsgA0HN8AAgARBYIAIoAgBBF0YNOAwmCyADQc7wACABEFggAigCAEEoRg03DCULIANBz/AAIAEQWCACKAIAQThHDSQgAigCDCIAQQBMDTYgA0EEaiEDA0AgAEEBayIBIAIoAgxPDSYgAigCCCABQQJ0aiIEKAIARQ0nIANBl/AAIAQQWyAAQQFLIQsg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AWsiAyACKAIwTw0CIAIoAiwgA0ECdGoiBCgCAEUNFCAFQa7vACAEEFsgAEEBSyERIAMhACARDQALDBILQfDtBUHFmANBlAZBjd4AEAEAC0HFogFBiaIDQbwBQaaIBRABAAsgAEGu7wAgAkEcahBYCyAAQa7vACACQRhqEFgLIABBru8AIAJBFGoQWAsgAEGu7wAgAkEQahBYDAwLIABBru8AIAJBFGoQWAsgAEGu7wAgAkEQahBYCyAAQa7vACACQQxqEFgMCQsgAEGu7wAgAkEoahBYCyAAQa7vACACQSRqEFgMBwsgAEGu7wAgAkEcahBYIABBru8AIAJBGGoQWAwGCyAAQa7vACACQRRqEFgLIABBru8AIAJBEGoQWAsgAEGu7wAgAkEMahBYCyAAQa7vACACQQhqEFgMAgsgAigCCEUNASADQRhqQa7vACACQQhqEFsMAQsgAEGu7wAgAkEMahBYCyABKAIARQ0AIAdBsO8AIAEQWw8LC0GBgwJB05kDQbkCQa73AhABAAvvDwEYfyMAQbACayIDJAACQAJAAkACQAJAAkACQAJAAkACQAJAIAAoAgQEQCAAIAAoAgAoAhARAgAEQCADIAAoAgQiAikCODcD+AEgAyACKQIwNwPwASADIAIpAig3A+gBIAMgAikCIDcD4AEgAyACKQIYNwPYASADQYACaiACQUBrEOMBIQRB1IkLQQA2AgBBmgEgA0GUAmogAkHUAGoQAiEFQdSJCygCACERQdSJC0EANgIAIBFBAUYNAiADIAIoAmg2AqgCIAMgAigCbCICNgKsAiACBEAgAiACKAIEQQFqNgIECyADQQEgAygC4AEiAiACQQBKGzYC4AEgAyADKQPoATcDGCADIAMpA/ABNwMgIAMgAykD+AE3AyggAyADKQPgATcDECADQQEgAygC3AEiAiACQQBKGzYC3AFB1IkLQQA2AgAgAyADKQPYATcDCEGbASADQTBqIAQQAiEEQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBxABqIAUQAiEFQdSJCygCACESQdSJC0EANgIAIBJBAUYNBSADIAMoAqwCIgI2AlwgAyADKAKoAjYCWCACBEAgAiACKAIEQQFqNgIECyADQQA2AnggAyADKQMQNwKEASADIAMpAxg3AowBIAMg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ACEOQdSJC0EANgIAIA5BAUYNAkHUiQtBADYCAEHAACADQagBaiAGEAIhAkHUiQsoAgAhD0HUiQtBADYCACAPQQFHBEACfAJAAkAgAigCECIHQQdPBEBB1IkLQQA2AgBBDUHhzQZBn58DQcMBQfPnBBAFQdSJCygCACEQQdSJC0EANgIAIBBBAUYNAQwNCwJAAkAgB0EEaw4CAwABCyACKwMADAMLQdSJC0EANgIAQYkCEAlB1IkLKAIAIRFB1IkLQQA2AgAgEUEBRw0MCxAAIQEgAhBZGiAGEFkaDAYLIAIqAgC7CyETIAIQWRogACgCCCIABEAgACATOQMAC0HUiQtBADYCAEHAACADQfgAaiAEEAIhAEHUiQsoAgAhEkHUiQtBADYCACASQQFHDQULEAAhASAGEFkaDAMLEAAhAQwGCxAAIQEgBRBZGgwFCxAAIQELIAQQWRogBRBZGgwDCyAAEFkaIAYQWRogBBBZGgsgBRBZGiABEFkaIANBwAFqJAAgCEEERg8LEAAhASACEFkaCyADQcgAahBZGiABEAcACwAL3R4BDn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAIgIoAgAOXgABAgMEBQYHCAkKCwwNHh8gISIjJCU1Ng4PEBESExQVFhcYGRobHB03JicoKSorLC0uLzAxMjM0ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXABdC0GY/QNB5bMDQeoBEGIACyAAQfPtACABEFggAigCAEEBRw1cIAIoAhQiAUEATA1bIABBBGohBANAIAFBAWsiACACKAIUTw1eIAIoAhAgAEECdGoiAygCAEUNXyAEQertACADEFsgAUEBSyEGIAAhASAGDQALDFsLIABB9O0AIAEQWCACKAIAQQJHDVsgAigCEARAIABBBGpB6u0AIAJBEGoQWwsMYAsgAEH17QAgARBYIAIoAgBBA0cNWgxjCyAAQfbtACABEFggAigCAEEERw1ZIAIoAhQEQCAAQQRqQertACACQRRqEFsLIAIoAhBFDVggAEEEakHq7QAgAkEQahBbDwsgAEH37QAgARBYIAIoAgBBBUcNWCAAQertACACQSRqEFggAigCIEUNVyAAQQRqQertACACQSBqEFsPCyAAQfjtACABEFggAigCAEEGRw1XIAIoAgwiAUEATA1WIABBBGohBANAIAFBAWsiACACKAIMTw1ZIAIoAgggAEECdGoiAygCAEUNWiAEQertACADEFsgAUEBSyEHIAAhASAHDQALDFYLIABB+e0AIAEQWCACKAIAQQdHDVYgAEHq7QAgAkEcahBYIAIoAhAiAUEATA1VIABBBGohBANAIAFBAWsiACACKAIQTw1YIAIoAgwgAEECdGoiAygCAEUNWSAEQertACADEFsgAUEBSyEIIAAhASAIDQALDFULIABB+u0AIAEQWCACKAIAQQhGDVQMVQsgAEH77QAgARBYIAIoAgBBCUcNVAxgCyAAQfztACABEFggAigCAEEKRg1SDFMLIABB/e0AIAEQWCACKAIAQQtHDVIMWwsgAEH+7QAgARBYIAIoAgBBDEcNUQxfCyAAQf/tACABEFggAigCAEENRw1QDF0LIABBgO4AIAEQWCACKAIAQRhHDU8MXgsgAEGB7gAgARBYIAIoAgBBGUcNTiAAQertACACQSBqEFgMXQsgAEGC7gAgARBYIAIoAgBBGkcNTQxUCyAAQYPuACABEFggAigCAEEbRw1MDFQLIABBhO4AIAEQWCACKAIAQRxGDUoMSwsgAEGF7gAgARBYIAIoAgBBHUcNSgxWCyAAQYbuACABEFggAigCAEEeRw1JIABB6u0AIAJBFGoQWAxVCyAAQYfuACABEFggAigCAEEfRw1IDE0LIABBiO4AIAEQWCACKAIAQSBHDUcMUQsgAEGJ7gAgARBYIAIoAgBBIUcNRgxRCyAAQYruACABEFggAigCAEEiRw1FIABB6u0AIAJBIGoQWA8LIABBi+4AIAEQWCACKAIAQSNHDUQMUQsgAEGM7gAgARBYIAIoAgBBJEcNQwxKCyAAQY3uACABEFggAigCAEElRg1BDEILIABBju4AIAEQWCACKAIAQSZHDUEMRQsgAEGP7gAgARBYIAIoAgBBJ0cNQAxECyAAQZDuACABEFggAigCAEEORg0+DD8LIABBke4AIAEQWCACKAIAQQ9HDT4MSgsgAEGS7gAgARBYIAIoAgBBEEcNPQxICyAAQZPuACABEFggAigCAEERRw08DEALIABBlO4AIAEQWCACKAIAQRJHDTsMSwsgAEGV7gAgARBYIAIoAgBBE0cNOiACKAIIRQ05DEsLIABBlu4AIAEQWCACKAIAQRRGDTgMOQsgAEGX7gAgARBYIAIoAgBBFUcNOAxICyAAQZjuACABEFggAigCAEEpRg02DDcLIABBme4AIAEQWCACKAIAQSpHDTYMRgsgAEGa7gAgARBYIAIoAgBBK0YNNAw1CyAAQZvuACABEFggAigCAEEsRw00DDkLIABBnO4AIAEQWCACKAIAQS1HDTMMPAsgAEGd7gAgARBYIAIoAgBBLkcNMgw6CyAAQZ7uACABEFggAigCAEEvRg0wDDELIABBn+4AIAEQWCACKAIAQTBHDTAMOAsgAEGg7gAgARBYIAIoAgBBMUcNLww2CyAAQaHuACABEFggAigCAEEyRw0uDDILIABBou4AIAEQWCACKAIAQTNHDS0gAigCKCIBQQBKBEAgAEEEaiEDA0AgAUEBayIEIAIoAihPDTAgAigCJCAEQQJ0aiIFKAIARQ0xIANB6u0AIAUQWyABQQFLIQkgBCEBIAkNAAsLDDYLIABBo+4AIAEQWCACKAIAQTRGBEAMPQsMLAsgAEGk7gAgARBYIAIoAgBBNUcNKyACKAIUIgFBAEwNKiAAQQRqIQQDQCABQQFrIgAgAigCFE8NLSACKAIQIABBAnRqIgMoAgBFDS4gBEHq7QAgAxBbIAFBAUshCiAAIQEgCg0ACwwqCyAAQaXuACABEFggAigCAEE2Rg0pDCoLIABBpu4AIAEQWCACKAIAQTdHDSkMOQsgAEGn7gAgARBYIAIoAgBBFkYNJwwoCyAAQajuACABEFggAigCAEEXRg0mDCcLIABBqe4AIAEQWCACKAIAQShGDSUMJgsgAEGq7gAgARBYIAIoAgBBOEcNJSACKAIMIgFBAEwNJCAAQQRqIQQDQCABQQFrIgAgAigCDE8NJyACKAIIIABBAnRqIgMoAgBFDSggBEHq7QAgAxBbIAFBAUshCyAAIQEgCw0ACwwkCyAAQavuACABEFggAigCAEE5Rw0kDDQLIABBrO4AIAEQWCACKAIAQTpHDSMMMwsgAEGt7gAgARBYIAIoAgBBO0cNIgwyCyAAQa7uACABEFggAigCAEE8Rw0hIABB6u0AIAJBGGoQWCACKAIMIgFBAEwNICAAQQRqIQQDQCABQQFrIgAgAigCDE8NIyACKAIIIABBAnRqIgMoAgBFDSQgBEHq7QAgAxBbIAFBAUshDCAAIQEgDA0ACwwgCyAAQa/uACABEFggAigCAEE9Rw0gDDALIABBsO4AIAEQWCACKAIAQT5HDR8MLwsgAEGx7gAgARBYIAIoAgBBP0cNHiAAQertACACQRRqEFgPCyAAQbLuACABEFggAigCAEHAAEcNHSACKAIMIgFBAEwNHCAAQQRqIQQDQCABQQFrIgAgAigCDE8NHyACKAIIIABBAnRqIgMoAgBFDSAgBEHq7QAgAxBbIAFBAUshDSAAIQEgDQ0ACwwcCyAAQbPuACABEFggAigCAEHBAEcNHAwoCyAAQbTuACABEFggAigCAEHCAEcNGwwmCyAAQbXuACABEFggAigCAEHDAEcNGiAAQertACACQQxqEFggAigCCEUNGQwrCyAAQbbuACABEFggAigCAEHEAEcNGQwhCyAAQbfuACABEFggAigCAEHFAEcNGAwgCyAAQbjuACABEFggAigCAEHGAEcNFyACKAIMIgFBAEwNFiAAQQRqIQQDQCABQQFrIgAgAigCDE8NGSACKAIIIABBAnRqIgMoAgBFDRogBEHq7QAgAxBbIAFBAUshDiAAIQEgDg0ACwwWCyAAQbnuACABEFggAigCAEHHAEcNFgwbCyAAQbruACABEFggAigCAEHIAEcNFQwZCyAAQbvuACABEFggAigCAEHJAEcNFAwkCyAAQbzuACABEFggAigCAEHKAEcNEyAAQertACACQRhqEFgMFgsgAEG97gAgARBYIAIoAgBBywBHDRIMFQsgAEG+7gAgARBYIAIoAgBBzABHDREMFwsgAEG/7gAgARBYIAIoAgBBzQBHDRAMFgsgAEHA7gAgARBYIAIoAgBBzgBHDQ8MGwsgAEHB7gAgARBYIAIoAgBBzwBHDQ4gAigCGARAIABBBGpB6u0AIAJBGGoQWwsgAigCFARAIABBBGpB6u0A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CwxWCyAAQYXtACABEFggAigCAEEHRw1WIABBxusAIAJBHGoQWCACKAIQIgFBAEwNVSAAQQRqIQQDQCABQQFrIgAgAigCEE8NWCACKAIMIABBAnRqIgMoAgBFDVkgBEHG6wAgAxBbIAFBAUshCCAAIQEgCA0ACwxVCyAAQYbtACABEFggAigCAEEIRg1UDFULIABBh+0AIAEQWCACKAIAQQlHDVQMYAsgAEGI7QAgARBYIAIoAgBBCkYNUgxTCyAAQYntACABEFggAigCAEELRw1SDFsLIABBiu0AIAEQWCACKAIAQQxHDVEMXwsgAEGL7QAgARBYIAIoAgBBDUcNUAxdCyAAQYztACABEFggAigCAEEYRw1PDF4LIABBje0AIAEQWCACKAIAQRlHDU4gAEHG6wAgAkEgahBYDF0LIABBju0AIAEQWCACKAIAQRpHDU0MVAsgAEGP7QAgARBYIAIoAgBBG0cNTAxUCyAAQZDtACABEFggAigCAEEcRg1KDEsLIABBke0AIAEQWCACKAIAQR1HDUoMVgsgAEGS7QAgARBYIAIoAgBBHkcNSSAAQcbrACACQRRqEFgMVQsgAEGT7QAgARBYIAIoAgBBH0cNSAxNCyAAQZTtACABEFggAigCAEEgRw1HDFELIABBle0AIAEQWCACKAIAQSFHDUYMUQsgAEGW7QAgARBYIAIoAgBBIkcNRSAAQcbrACACQSBqEFgPCyAAQZftACABEFggAigCAEEjRw1EDFELIABBmO0AIAEQWCACKAIAQSRHDUMMSgsgAEGZ7QAgARBYIAIoAgBBJUYNQQxCCyAAQZrtACABEFggAigCAEEmRw1BDEULIABBm+0AIAEQWCACKAIAQSdHDUAMRAsgAEGc7QAgARBYIAIoAgBBDkYNPgw/CyAAQZ3tACABEFggAigCAEEPRw0+DEoLIABBnu0AIAEQWCACKAIAQRBHDT0MSAsgAEGf7QAgARBYIAIoAgBBEUcNPAxACyAAQaDtACABEFggAigCAEESRw07DEsLIABBoe0AIAEQWCACKAIAQRNHDTogAigCCEUNOQxLCyAAQaLtACABEFggAigCAEEURg04DDkLIABBo+0AIAEQWCACKAIAQRVHDTgMSAsgAEGk7QAgARBYIAIoAgBBKUYNNgw3CyAAQaXtACABEFggAigCAEEqRw02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IABB1+0AIAEQWCACKAIAQdkARw0EDA8LIABB2O0AIAEQWCACKAIAQdoARw0DDA0LIABB2e0AIAEQWCACKAIAQdsARw0CDAcLIABB2u0AIAEQWCACKAIAQdwARw0BIABBxusAIAJBPGoQWCACKAIwIgFBAEwNACAAQQRqIQQDQCABQQFrIgAgAigCME8NAyACKAIsIABBAnRqIgMoAgBFDQQgBEHG6wAgAxBbIAFBAUshDyAAIQEgDw0ACwsPC0Hw7QVBxZgDQZQGQY3eABABAAtBxaIBQYmiA0G8AUGmiAUQAQALQYGDAkHTmQNBuQJBrvcCEAEACyAAQcbrACACQRRqEFgLIABBxusAIAJBEGoQWAsgAEHG6wAgAkEMahBYDAoLIABBxusAIAJBHGoQWAsgAEHG6wAgAkEYahBYCyAAQcbrACACQRRqEFgLIABBxusAIAJBEGoQWA8LIABBxusAIAJBFGoQWAsgAEHG6wAgAkEQahBYCyAAQcbrACACQQxqEFgPCyAAQcbrACACQShqEFgLIABBxusAIAJBJGoQWA8LIABBxusAIAJBHGoQWCAAQcbrACACQRhqEFgPCyAAQcbrACACQQhqEFgPCyAAQQRqQcbrACACQQhqEFsL3R4BDn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAIgIoAgAOXgABAgMEBQYHCAkKCwwNHh8gISIjJCU1Ng4PEBESExQVFhcYGRobHB03JicoKSorLC0uLzAxMjM0ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXABdC0GY/QNB5bMDQeoBEGIACyAAQaPsACABEFggAigCAEEBRw1cIAIoAhQiAUEATA1bIABBBGohBANAIAFBAWsiACACKAIUTw1eIAIoAhAgAEECdGoiAygCAEUNXyAEQcTrACADEFsgAUEBSyEGIAAhASAGDQALDFsLIABBpOwAIAEQWCACKAIAQQJHDVsgAigCEARAIABBBGpBxOsAIAJBEGoQWwsMYAsgAEGl7AAgARBYIAIoAgBBA0cNWgxjCyAAQabsACABEFggAigCAEEERw1ZIAIoAhQEQCAAQQRqQcTrACACQRRqEFsLIAIoAhBFDVggAEEEakHE6wAgAkEQahBbDwsgAEGn7AAgARBYIAIoAgBBBUcNWCAAQcTrACACQSRqEFggAigCIEUNVyAAQQRqQcTrACACQSBqEFsPCyAAQajsACABEFggAigCAEEGRw1XIAIoAgwiAUEATA1WIABBBGohBANAIAFBAWsiACACKAIMTw1ZIAIoAgggAEECdGoiAygCAEUNWiAEQcTrACADEFsgAUEBSyEHIAAhASAHDQALDFYLIABBqewAIAEQWCACKAIAQQdHDVYgAEHE6wAgAkEcahBYIAIoAhAiAUEATA1VIABBBGohBANAIAFBAWsiACACKAIQTw1YIAIoAgwgAEECdGoiAygCAEUNWSAEQcTrACADEFsgAUEBSyEIIAAhASAIDQALDFULIABBquwAIAEQWCACKAIAQQhGDVQMVQsgAEGr7AAgARBYIAIoAgBBCUcNVAxgCyAAQazsACABEFggAigCAEEKRg1SDFMLIABBrewAIAEQWCACKAIAQQtHDVIMWwsgAEGu7AAgARBYIAIoAgBBDEcNUQxfCyAAQa/sACABEFggAigCAEENRw1QDF0LIABBsOwAIAEQWCACKAIAQRhHDU8MXgsgAEGx7AAgARBYIAIoAgBBGUcNTiAAQcTrACACQSBqEFgMXQsgAEGy7AAgARBYIAIoAgBBGkcNTQxUCyAAQbPsACABEFggAigCAEEbRw1MDFQLIABBtOwAIAEQWCACKAIAQRxGDUoMSwsgAEG17AAgARBYIAIoAgBBHUcNSgxWCyAAQbbsACABEFggAigCAEEeRw1JIABBxOsAIAJBFGoQWAxVCyAAQbfsACABEFggAigCAEEfRw1IDE0LIABBuOwAIAEQWCACKAIAQSBHDUcMUQsgAEG57AAgARBYIAIoAgBBIUcNRgxRCyAAQbrsACABEFggAigCAEEiRw1FIABBxOsAIAJBIGoQWA8LIABBu+wAIAEQWCACKAIAQSNHDUQMUQsgAEG87AAgARBYIAIoAgBBJEcNQwxKCyAAQb3sACABEFggAigCAEElRg1BDEILIABBvuwAIAEQWCACKAIAQSZHDUEMRQsgAEG/7AAgARBYIAIoAgBBJ0cNQAxECyAAQcDsACABEFggAigCAEEORg0+DD8LIABBwewAIAEQWCACKAIAQQ9HDT4MSgsgAEHC7AAgARBYIAIoAgBBEEcNPQxICyAAQcPsACABEFggAigCAEERRw08DEALIABBxOwAIAEQWCACKAIAQRJHDTsMSwsgAEHF7AAgARBYIAIoAgBBE0cNOiACKAIIRQ05DEsLIABBxuwAIAEQWCACKAIAQRRGDTgMOQsgAEHH7AAgARBYIAIoAgBBFUcNOAxICyAAQcjsACABEFggAigCAEEpRg02DDcLIABByewAIAEQWCACKAIAQSpHDTYMRgsgAEHK7AAgARBYIAIoAgBBK0YNNAw1CyAAQcvsACABEFggAigCAEEsRw00DDkLIABBzOwAIAEQWCACKAIAQS1HDTMMPAsgAEHN7AAgARBYIAIoAgBBLkcNMgw6CyAAQc7sACABEFggAigCAEEvRg0wDDELIABBz+wAIAEQWCACKAIAQTBHDTAMOAsgAEHQ7AAgARBYIAIoAgBBMUcNLww2CyAAQdHsACABEFggAigCAEEyRw0uDDILIABB0uwAIAEQWCACKAIAQTNHDS0gAigCKCIBQQBKBEAgAEEEaiEDA0AgAUEBayIEIAIoAihPDTAgAigCJCAEQQJ0aiIFKAIARQ0xIANBxOsAIAUQWyABQQFLIQkgBCEBIAkNAAsLDDYLIABB0+wAIAEQWCACKAIAQTRGBEAMPQsMLAsgAEHU7AAgARBYIAIoAgBBNUcNKyACKAIUIgFBAEwNKiAAQQRqIQQDQCABQQFrIgAgAigCFE8NLSACKAIQIABBAnRqIgMoAgBFDS4gBEHE6wAgAxBbIAFBAUshCiAAIQEgCg0ACwwqCyAAQdXsACABEFggAigCAEE2Rg0pDCoLIABB1uwAIAEQWCACKAIAQTdHDSkMOQsgAEHX7AAgARBYIAIoAgBBFkYNJwwoCyAAQdjsACABEFggAigCAEEXRg0mDCcLIABB2ewAIAEQWCACKAIAQShGDSUMJgsgAEHa7AAgARBYIAIoAgBBOEcNJSACKAIMIgFBAEwNJCAAQQRqIQQDQCABQQFrIgAgAigCDE8NJyACKAIIIABBAnRqIgMoAgBFDSggBEHE6wAgAxBbIAFBAUshCyAAIQEgCw0ACwwkCyAAQdvsACABEFggAigCAEE5Rw0kDDQLIABB3OwAIAEQWCACKAIAQTpHDSMMMwsgAEHd7AAgARBYIAIoAgBBO0cNIgwyCyAAQd7sACABEFggAigCAEE8Rw0hIABBxOsAIAJBGGoQWCACKAIMIgFBAEwNICAAQQRqIQQDQCABQQFrIgAgAigCDE8NIyACKAIIIABBAnRqIgMoAgBFDSQgBEHE6wAgAxBbIAFBAUshDCAAIQEgDA0ACwwgCyAAQd/sACABEFggAigCAEE9Rw0gDDALIABB4OwAIAEQWCACKAIAQT5HDR8MLwsgAEHh7AAgARBYIAIoAgBBP0cNHiAAQcTrACACQRRqEFgPCyAAQeLsACABEFggAigCAEHAAEcNHSACKAIMIgFBAEwNHCAAQQRqIQQDQCABQQFrIgAgAigCDE8NHyACKAIIIABBAnRqIgMoAgBFDSAgBEHE6wAgAxBbIAFBAUshDSAAIQEgDQ0ACwwcCyAAQePsACABEFggAigCAEHBAEcNHAwoCyAAQeTsACABEFggAigCAEHCAEcNGwwmCyAAQeXsACABEFggAigCAEHDAEcNGiAAQcTrACACQQxqEFggAigCCEUNGQwrCyAAQebsACABEFggAigCAEHEAEcNGQwhCyAAQefsACABEFggAigCAEHFAEcNGAwgCyAAQejsACABEFggAigCAEHGAEcNFyACKAIMIgFBAEwNFiAAQQRqIQQDQCABQQFrIgAgAigCDE8NGSACKAIIIABBAnRqIgMoAgBFDRogBEHE6wAgAxBbIAFBAUshDiAAIQEgDg0ACwwWCyAAQensACABEFggAigCAEHHAEcNFgwbCyAAQersACABEFggAigCAEHIAEcNFQwZCyAAQevsACABEFggAigCAEHJAEcNFAwkCyAAQezsACABEFggAigCAEHKAEcNEyAAQcTrACACQRhqEFgMFgsgAEHt7AAgARBYIAIoAgBBywBHDRIMFQsgAEHu7AAgARBYIAIoAgBBzABHDREMFwsgAEHv7AAgARBYIAIoAgBBzQBHDRAMFgsgAEHw7AAgARBYIAIoAgBBzgBHDQ8MGwsgAEHx7AAgARBYIAIoAgBBzwBHDQ4gAigCGARAIABBBGpBxOsAIAJBGGoQWwsgAigCFARAIABBBGpBxOsAIAJBFGoQWwsgAigCEARAIABBBGpBxOsAIAJBEGoQWwsMGgsgAEHy7AAgARBYIAIoAgBB0ABGDQwMDQsgAEHz7AAgARBYIAIoAgBB0QBHDQwMGAsgAEH07AAgARBYIAIoAgBB0gBHDQsgAigCFARAIABBBGpBxOsAIAJBFGoQWwsMFgsgAEH17AAgARBYIAIoAgBB0wBHDQoMDwsgAEH27AAgARBYIAIoAgBB1ABHDQkMFAsgAEH37AAgARBYIAIoAgBB1QBHDQgMFAsgAEH47AAgARBYIAIoAgBB1gBHDQcMCwsgAEH57AAgARBYIAIoAgBB1wBHDQYMCwsgAEH67AAgARBYIAIoAgBB2ABHDQUMFQsgAEH77AAgARBYIAIoAgBB2QBHDQQMDwsgAEH87AAgARBYIAIoAgBB2gBHDQMMDQsgAEH97AAgARBYIAIoAgBB2wBHDQIMBwsgAEH+7AAgARBYIAIoAgBB3ABHDQEgAEHE6wAgAkE8ahBYIAIoAjAiAUEATA0AIABBBGohBANAIAFBAWsiACACKAIwTw0DIAIoAiwgAEECdGoiAygCAEUNBCAEQcTrACADEFsgAUEBSyEPIAAhASAPDQALCw8LQfDtBUHFmANBlAZBjd4AEAEAC0HFogFBiaIDQbwBQaaIBRABAAtBgYMCQdOZA0G5AkGu9wIQAQALIABBxOsAIAJBFGoQWAsgAEHE6wAgAkEQahBYCyAAQcTrACACQQxqEFgMCgsgAEHE6wAgAkEcahBYCyAAQcTrACACQRhqEFgLIABBxOsAIAJBFGoQWAsgAEHE6wAgAkEQahBYDwsgAEHE6wAgAkEUahBYCyAAQcTrACACQRBqEFgLIABBxOsAIAJBDGoQWA8LIABBxOsAIAJBKGoQWAsgAEHE6wAgAkEkahBYDwsgAEHE6wAgAkEcahBYIABBxOsAIAJBGGoQWA8LIABBxOsAIAJBCGoQWA8LIABBBGpBxOsAIAJBCGoQWwssAEGQARBcIgBBAEGIAfwLACAAQgA3AIMBIABBqPcHNgIAIABCADcAiAEgAAs5ACAAKAIERQRAQej6BUG6iwNBnARB7tMCEAEACyAAIAI2AnggACABNgJ8IAAgAhD7DSAAQgA3AngLviIBDn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEoAgAiAigCAA5eAAECAwQFBgcICQoLDA0eHyAhIiMkJTU2Dg8QERITFBUWFxgZGhscHTcmJygpKissLS4vMDEyMzQ4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcAF0LQZj9A0HlswNB6gEQYgALIABBFGpBx+sAIAEQWCACKAIAQQFHDVwgAigCFCIBQQBMDVsgAEEYaiEDA0AgAUEBayIAIAIoAhRPDV4gAigCECAAQQJ0aiIEKAIARQ1fIANBwesAIAQQWyABQQFLIQYgACEBIAYNAAsMWwsgAEEUaiIDQcjrACABEFggAigCAEECRw1bIAIoAhAEQCAAQRhqQcHrACACQRBqEFsLIANBwesAIAJBDGoQWCADQcHrACACQQhqEFgPCyAAQRRqIgBByesAIAEQWCACKAIAQQNHDVoMYAsgAEEUakHK6wAgARBYIAIoAgBBBEcNWSACKAIUBEAgAEEYakHB6wAgAkEUahBbCyACKAIQRQ1YIABBGGpBwesAIAJBEGoQWw8LIABBFGoiA0HL6wAgARBYIAIoAgBBBUcNWCADQcHrACACQSRqEFggAigCIEUNVyAAQRhqQcHrACACQSBqEFsPCyAAQRRqQczrACABEFggAigCAEEGRw1XIAIoAgwiAUEATA1WIABBGGohAwNAIAFBAWsiACACKAIMTw1ZIAIoAgggAEECdGoiBCgCAEUNWiADQcHrACAEEFsgAUEBSyEHIAAhASAHDQALDFYLIABBFGoiA0HN6wAgARBYIAIoAgBBB0cNViADQcHrACACQRxqEFggAigCECIBQQBMDVUgAEEYaiEDA0AgAUEBayIAIAIoAhBP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DQALDCALIABB/ekAIAEQWCACKAIAQT1HDSAMMAsgAEH+6QAgARBYIAIoAgBBPkcNHwwvCyAAQf/pACABEFggAigCAEE/Rw0eIABB8OcAIAJBFGoQWA8LIABBgOoAIAEQWCACKAIAQcAARw0dIAIoAgwiAUEATA0cIABBBGohBANAIAFBAWsiACACKAIMTw0fIAIoAgggAEECdGoiAygCAEUNICAEQfDnACADEFsgAUEBSyENIAAhASANDQALDBwLIABBgeoAIAEQWCACKAIAQcEARw0cDCgLIABBguoAIAEQWCACKAIAQcIARw0bDCYLIABBg+oAIAEQWCACKAIAQcMARw0aIABB8OcAIAJBDGoQWCACKAIIRQ0ZDCsLIABBhOoAIAEQWCACKAIAQcQARw0ZDCELIABBheoAIAEQWCACKAIAQcUARw0YDCALIABBhuoAIAEQWCACKAIAQcYARw0XIAIoAgwiAUEATA0WIABBBGohBANAIAFBAWsiACACKAIMTw0ZIAIoAgggAEECdGoiAygCAEUNGiAEQfDnACADEFsgAUEBSyEOIAAhASAODQALDBYLIABBh+oAIAEQWCACKAIAQccARw0WDBsLIABBiOoAIAEQWCACKAIAQcgARw0VDBkLIABBieoAIAEQWCACKAIAQckARw0UDCQLIABBiuoAIAEQWCACKAIAQcoARw0TIABB8OcAIAJBGGoQWAwWCyAAQYvqACABEFggAigCAEHLAEcNEgwVCyAAQYzqACABEFggAigCAEHMAEcNEQwXCyAAQY3qACABEFggAigCAEHNAEcNEAwWCyAAQY7qACABEFggAigCAEHOAEcNDwwbCyAAQY/qACABEFggAigCAEHPAEcNDiACKAIYBEAgAEEEakHw5wAgAkEYahBbCyACKAIUBEAgAEEEakHw5wAgAkEUahBbCyACKAIQBEAgAEEEakHw5wAgAkEQahBbCwwaCyAAQZDqACABEFggAigCAEHQAEYNDAwNCyAAQZHqACABEFggAigCAEHRAEcNDAwYCyAAQZLqACABEFggAigCAEHSAEcNCyACKAIUBEAgAEEEakHw5wAgAkEUahBbCwwWCyAAQZPqACABEFggAigCAEHTAEcNCgwPCyAAQZTqACABEFggAigCAEHUAEcNCQwUCyAAQZXqACABEFggAigCAEHV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IgMoAgBFDVogBEHs5wAgAxBbIAFBAUshByAAIQEgBw0ACwxWCyAAQd/oACABEFggAigCAEEHRw1WIABB7OcAIAJBHGoQWCACKAIQIgFBAEwNVSAAQQRqIQQDQCABQQFrIgAgAigCEE8NWCACKAIMIABBAnRqIgMoAgBFDVkgBEHs5wAgAxBbIAFBAUshCCAAIQEgCA0ACwxVCyAAQeDoACABEFggAigCAEEIRg1UDFULIABB4egAIAEQWCACKAIAQQlHDVQMYAsgAEHi6AAgARBYIAIoAgBBCkYNUgxTCyAAQePoACABEFggAigCAEELRw1SDFsLIABB5OgAIAEQWCACKAIAQQxHDVEMXwsgAEHl6AAgARBYIAIoAgBBDUcNUAxdCyAAQeboACABEFggAigCAEEYRw1PDF4LIABB5+gAIAEQWCACKAIAQRlHDU4gAEHs5wAgAkEgahBYDF0LIABB6OgAIAEQWCACKAIAQRpHDU0MVAsgAEHp6AAgARBYIAIoAgBBG0cNTAxUCyAAQeroACABEFggAigCAEEcRg1KDEsLIABB6+gAIAEQWCACKAIAQR1HDUoMVgsgAEHs6AAgARBYIAIoAgBBHkcNSSAAQeznACACQRRqEFgMVQsgAEHt6AAgARBYIAIoAgBBH0cNSAxNCyAAQe7oACABEFggAigCAEEgRw1HDFELIABB7+gAIAEQWCACKAIAQSFHDUYMUQsgAEHw6AAgARBYIAIoAgBBIkcNRSAAQeznACACQSBqEFgPCyAAQfHoACABEFggAigCAEEjRw1EDFELIABB8ugAIAEQWCACKAIAQSRHDUMMSgsgAEHz6AAgARBYIAIoAgBBJUYNQQxCCyAAQfToACABEFggAigCAEEmRw1BDEULIABB9egAIAEQWCACKAIAQSdHDUAMRAsgAEH26AAgARBYIAIoAgBBDkYNPgw/CyAAQffoACABEFggAigCAEEPRw0+DEoLIABB+OgAIAEQWCACKAIAQRBHDT0MSAsgAEH56AAgARBYIAIoAgBBEUcNPAxACyAAQfroACABEFggAigCAEESRw07DEsLIABB++gAIAEQWCACKAIAQRNHDTogAigCCEUNOQxLCyAAQfzoACABEFggAigCAEEURg04DDkLIABB/egAIAEQWCACKAIAQRVHDTgMSAsgAEH+6AAgARBY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AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAIgIoAgAOXgABAgMEBQYHCAkKCwwNHh8gISIjJCU1Ng4PEBESExQVFhcYGRobHB03JicoKSorLC0uLzAxMjM0ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXABdC0GY/QNB5bMDQeoBEGIACyAAQYnnACABEFggAigCAEEBRw1cIAIoAhQiAUEATA1bIABBBGohBANAIAFBAWsiACACKAIUTw1eIAIoAhAgAEECdGoiAygCAEUNXyAEQarmACADEFsgAUEBSyEGIAAhASAGDQALDFsLIABBiucAIAEQWCACKAIAQQJHDVsgAigCEARAIABBBGpBquYAIAJBEGoQWwsMYAsgAEGL5wAgARBYIAIoAgBBA0cNWgxjCyAAQYznACABEFggAigCAEEERw1ZIAIoAhQEQCAAQQRqQarmACACQRRqEFsLIAIoAhBFDVggAEEEakGq5gAgAkEQahBbDwsgAEGN5wAgARBYIAIoAgBBBUcNWCAAQarmACACQSRqEFggAigCIEUNVyAAQQRqQarmACACQSBqEFsPCyAAQY7nACABEFggAigCAEEGRw1XIAIoAgwiAUEATA1WIABBBGohBANAIAFBAWsiACACKAIMTw1ZIAIoAgggAEECdGoiAygCAEUNWiAEQarmACADEFsgAUEBSyEHIAAhASAHDQALDFYLIABBj+cAIAEQWCACKAIAQQdHDVYgAEGq5gAgAkEcahBYIAIoAhAiAUEATA1VIABBBGohBANAIAFBAWsiACACKAIQTw1YIAIoAgwgAEECdGoiAygCAEUNWSAEQarmACADEFsgAUEBSyEIIAAhASAIDQALDFULIABBkOcAIAEQWCACKAIAQQhGDVQMVQsgAEGR5wAgARBYIAIoAgBBCUcNVAxgCyAAQZLnACABEFggAigCAEEKRg1SDFMLIABBk+cAIAEQWCACKAIAQQtHDVIMWwsgAEGU5wAgARBYIAIoAgBBDEcNUQxfCyAAQZXnACABEFggAigCAEENRw1QDF0LIABBlucAIAEQWCACKAIAQRhHDU8MXgsgAEGX5wAgARBYIAIoAgBBGUcNTiAAQarmACACQSBqEFgMXQsgAEGY5wAgARBYIAIoAgBBGkcNTQxUCyAAQZnnACABEFggAigCAEEbRw1MDFQLIABBmucAIAEQWCACKAIAQRxGDUoMSwsgAEGb5wAgARBYIAIoAgBBHUcNSgxWCyAAQZznACABEFggAigCAEEeRw1JIABBquYAIAJBFGoQWAxVCyAAQZ3nACABEFggAigCAEEfRw1IDE0LIABBnucAIAEQWCACKAIAQSBHDUcMUQsgAEGf5wAgARBYIAIoAgBBIUcNRgxRCyAAQaDnACABEFggAigCAEEiRw1FIABBquYAIAJBIGoQWA8LIABBoecAIAEQWCACKAIAQSNHDUQMUQsgAEGi5wAgARBYIAIoAgBBJEcNQwxKCyAAQaPnACABEFggAigCAEElRg1BDEILIABBpOcAIAEQWCACKAIAQSZHDUEMRQsgAEGl5wAgARBYIAIoAgBBJ0cNQAxECyAAQabnACABEFggAigCAEEORg0+DD8LIABBp+cAIAEQWCACKAIAQQ9HDT4MSgsgAEGo5wAgARBYIAIoAgBBEEcNPQxICyAAQannACABEFggAigCAEERRw08DEALIABBqucAIAEQWCACKAIAQRJHDTsMSwsgAEGr5wAgARBYIAIoAgBBE0cNOiACKAIIRQ05DEsLIABBrOcAIAEQWCACKAIAQRRGDTgMOQsgAEGt5wAgARBYIAIoAgBBFUcNOAxICyAAQa7nACABEFggAigCAEEpRg02DDcLIABBr+cAIAEQWCACKAIAQSpHDTYMRgsgAEGw5wAgARBYIAIoAgBBK0YNNAw1CyAAQbHnACABEFggAigCAEEsRw00DDkLIABBsucAIAEQWCACKAIAQS1HDTMMPAsgAEGz5wAgARBYIAIoAgBBLkcNMgw6CyAAQbTnACABEFggAigCAEEvRg0wDDELIABBtecAIAEQWCACKAIAQTBHDTAMOAsgAEG25wAgARBYIAIoAgBBMUcNLww2CyAAQbfnACABEFggAigCAEEyRw0uDDILIABBuOcAIAEQWCACKAIAQTNHDS0gAigCKCIBQQBKBEAgAEEEaiEDA0AgAUEBayIEIAIoAihPDTAgAigCJCAEQQJ0aiIFKAIARQ0xIANBquYAIAUQWyAB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WCACKAIAQdEARw0MDBgLIABB/uYAIAEQWCACKAIAQdIARw0LIAIoAhQEQCAAQQRqQazmACACQRRqEFsLDBYLIABB/+YAIAEQWCACKAIAQdMARw0KDA8LIABBgOcAIAEQWCACKAIAQdQARw0JDBQLIABBgecAIAEQWCACKAIAQdUARw0IDBQLIABBgucAIAEQWCACKAIAQdYARw0HDAsLIABBg+cAIAEQWCACKAIAQdcARw0GDAsLIABBhOcAIAEQWCACKAIAQdgARw0FDBULIABBhecAIAEQWCACKAIAQdkARw0EDA8LIABBhucAIAEQWCACKAIAQdoARw0DDA0LIABBh+cAIAEQWCACKAIAQdsARw0CDAcLIABBiOcAIAEQWCACKAIAQdwARw0BIABBrOYAIAJBPGoQWCACKAIwIgFBAEwNACAAQQRqIQQDQCABQQFrIgAgAigCME8NAyACKAIsIABBAnRqIgMoAgBFDQQgBEGs5gAgAxBbIAFBAUshDyAAIQEgDw0ACwsPC0Hw7QVBxZgDQZQGQY3eABABAAtBxaIBQYmiA0G8AUGmiAUQAQALQYGDAkHTmQNBuQJBrvcCEAEACyAAQazmACACQRRqEFgLIABBrOYAIAJBEGoQWAsgAEGs5gAgAkEMahBYDAoLIABBrOYAIAJBHGoQWAsgAEGs5gAgAkEYahBYCyAAQazmACACQRRqEFgLIABBrOYAIAJBEGoQWA8LIABBrOYAIAJBFGoQWAsgAEGs5gAgAkEQahBYCyAAQazmACACQQxqEFgPCyAAQazmACACQShqEFgLIABBrOYAIAJBJGoQWA8LIABBrOYAIAJBHGoQWCAAQazmACACQRhqEFgPCyAAQazmACACQQhqEFgPCyAAQQRqQazmACACQQhqEFsL+gYBC38jAEGgAWsiBSQAIABCADcCACAAQQA7AXggACAENgJ0IAAgATYCcCAAIAM2AmwgAEIANwJYIABCADcCYCAAQQA2AmhB05kDIQcCQAJAAkAgAigCMEUEQEGu9wIhAUG5AiEDQYGDAiEGDAELQdSJC0EANgIAQavmACAAQQRqQazmACACQTBqIggQCEHUiQsoAgAhCkHUiQtBADYCACAKQQFGDQECQEEAIAAoAgQiBmsgACgCXCIBIAAoAlgiA2tBA3VHBEAgAEEIaiEJA0ACQCAB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Qd/lACABEFggAigCAEEcRg1KDEsLIABB4OUAIAEQWCACKAIAQR1HDUoMVgsgAEHh5QAgARBYIAIoAgBBHkcNSSAAQe7kACACQRRqEFgMVQsgAEHi5QAgARBYIAIoAgBBH0cNSAxNCyAAQePlACABEFggAigCAEEgRw1HDFELIABB5OUAIAEQWCACKAIAQSFHDUYMUQsgAEHl5QAgARBYIAIoAgBBIkcNRSAAQe7kACACQSBqEFgPCyAAQeblACABEFggAigCAEEjRw1EDFELIABB5+UAIAEQWCACKAIAQSRHDUMMSgsgAEHo5QAgARBYIAIoAgBBJUYNQQxCCyAAQenlACABEFggAigCAEEmRw1BDEULIABB6uUAIAEQWCACKAIAQSdHDUAMRAsgAEHr5QAgARBYIAIoAgBBDkYNPgw/CyAAQezlACABEFggAigCAEEPRw0+DEoLIABB7eUAIAEQWCACKAIAQRBHDT0MSAsgAEHu5QAgARBYIAIoAgBBEUcNPAxACyAAQe/lACABEFggAigCAEESRw07DEsLIABB8OUAIAEQWCACKAIAQRNHDTogAigCCEUNOQxLCyAAQfHlACABEFggAigCAEEURg04DDkLIABB8uUAIAEQWCACKAIAQRVHDTgMSAsgAEHz5QAgARBYIAIoAgBBKUYNNgw3CyAAQfTlACABEFggAigCAEEqRw02DEYLIABB9eUAIAEQWCACKAIAQStGDTQMNQsgAEH25QAgARBYIAIoAgBBLEcNNAw5CyAAQfflACABEFggAigCAEEtRw0zDDwLIABB+OUAIAEQWCACKAIAQS5HDTIMOgsgAEH55QAgARBYIAIoAgBBL0YNMAwxCyAAQfrlACABEFggAigCAEEwRw0wDDgLIABB++UAIAEQWCACKAIAQTFHDS8MNgsgAEH85QAgARBYIAIoAgBBMkcNLgwyCyAAQf3lACABEFggAigCAEEzRw0tIAIoAigiAUEASgRAIABBBGohAwNAIAFBAWsiBCACKAIoTw0wIAIoAiQgBEECdGoiBSgCAEUNMSADQe7kACAFEFsgAUEBSyEJIAQhASAJDQALCww2CyAAQf7lACABEFggAigCAEE0RgRADD0LDCwLIABB/+UAIAEQWCACKAIAQTVHDSsgAigCFCIBQQBMDSogAEEEaiEEA0AgAUEBayIA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QbkCQa73AhABAAsgAEHs5AAgAkEcahBYCyAAQezkACACQRhqEFgLIABB7OQAIAJBFGoQWAsgAEHs5AAgAkEQahBYDwsgAEHs5AAgAkEUahBYCyAAQezkACACQRBqEFgLIABB7OQAIAJBDGoQWA8LIABB7OQAIAJBKGoQWAsgAEHs5AAgAkEkahBYDwsgAEHs5AAgAkEcahBYIABB7OQAIAJBGGoQWA8LIABB7OQAIAJBFGoQWAsgAEHs5AAgAkEQahBYCyAAQezkACACQQxqEFgLIABB7OQAIAJBCGoQWA8LIABBGGpB7OQAIAJBCGoQWw8LIANB7OQAIAJBDGoQWAvvDwEYfyMAQbACayIDJAACQAJAAkACQAJAAkACQAJAAkACQAJAIAAoAgQEQCAAIAAoAgAoAhARAgAEQCADIAAoAgQiAikCODcD+AEgAyACKQIwNwPwASADIAIpAig3A+gBIAMgAikCIDcD4AEgAyACKQIYNwPYASADQYACaiACQUBrEOMBIQRB1IkLQQA2AgBBmgEgA0GUAmogAkHUAGoQAiEFQdSJCygCACERQdSJC0EANgIAIBFBAUYNAiADIAIoAmg2AqgCIAMgAigCbCICNgKsAiACBEAgAiACKAIEQQFqNgIECyADQQEgAygC4AEiAiACQQBKGzYC4AEgAyADKQPoATcDGCADIAMpA/ABNwMgIAMgAykD+AE3AyggAyADKQPgATcDECADQQEgAygC3AEiAiACQQBKGzYC3AFB1IkLQQA2AgAgAyADKQPYATcDCEGbASADQTBqIAQQAiEEQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBxABqIAUQAiEFQdSJCygCACESQdSJC0EANgIAIBJBAUYNBSADIAMoAqwCIgI2AlwgAyADKAKoAjYCWCACBEAgAiACKAIEQQFqNgIECyADQQA2AnggAyADKQMQNwKEASADIAMpAxg3AowBIAMgAykDIDcClAEgAyADKQMoNwKcASADQgA3AnAgA0H87Ak2AmQgAyADKQMINwJ8QdSJC0EANgIAIAMgATYCaCADIAFBqAFqNgJsQZsBIANBpAFqIAQQAiEBQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBuAFqIAUQAhpB1IkL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QgA3AmwgAEIANwKoASAAQgA3AgQgAEIANwKMAiAAQgA3AnQgAEIANwJ8IABCADcChAEgAEIANwKMASAAQgA3ApQBIABBADYCnAEgAEIANwIMIABCADcCFCAAIABBqAFqNgKkASAAQbABakEAQdYA/AsAIAAgATYClAIgAEGY9gc2AgAgACAAQYwCajYCiAIgAAs5ACAAKAIERQRAQej6BUG6iwNBnARB7tMCEAEACyAAIAI2AnggACABNgJ8IAAgAhCMDiAAQgA3AngLCQAgABCgCBBaC6cCAQZ/AkACQCABKAIAIgQoAgBBC0YEQAJAIAAoAqABIgJFDQAgAigCBCIBIAIoAggiA0kEQCABIAQ2AgAgAiABQQRqNgIEDwsgASACKAIAIgVrQQJ1IgdBAWoiAEGAgICABE8NAkH/////AyADIAVrIgNBAXUiBiAAIAAgBkkbIANB/P///wdPGyIDBH8gA0GAgICABE8NBCADQQJ0EFwFQQALIgYgB0ECdGoiACAENgIAIABBBGohBCABIAVHBEADQCAAQQRrIgAgAUEEayIBKAIANgIAIAEgBUcNAAsgAigCACEBCyACIAYgA0ECdGo2AgggAiAENgIEIAIgADYCACABRQ0AIAEQWgsPC0Hw7QVBxZgDQZQGQY3eABABAAsQZAALEGoAC6cCAQZ/AkACQCABKAIAIgQoAgBBBkYEQAJAIAAoAqABIgJFDQAgAigCBCIBIAIoAggiA0kEQCABIAQ2AgAgAiABQQRqNgIEDwsgASACKAIAIgVrQQJ1IgdBAWoiAEGAgICABE8NAkH/////AyADIAVrIgNBAXUiBiAAIAAgBkkbIANB/P///wdPGyIDBH8gA0GAgICABE8NBCADQQJ0EFwFQQALIgYgB0ECdGoiACAENgIAIABBBGohBCABIAVHBEADQCAAQQRrIgAgAUEEayIBKAIANgIAIAEgBUcNAAsgAigCACEBCyACIAYgA0ECdGo2AgggAiAENgIEIAIgADYCACABRQ0AIAEQWgsPC0Hw7QVBxZgDQZQGQY3eABABAAsQZAALEGoAC5MEAQd/IAAoAqABIQcgAEEUahCnBBogACgCoAEhBAJAAkACQCAAKAKYASIBIAAoApwBRwRAIAEgBDYCACAAIAFBBGo2ApgBDAELIAEgACgClAEiBWsiAkECdSIG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IgOnIQYgAqchByAAQagBaiIJIQQDQAJAIAEpAhAiAqcgByAGIAJCIIgiAqciBSAFIAZLGxBeIgUNAEEAIQUgAiADUQ0AQX9BASACIANUGyEFCyAEIAEgBUEASCIFGyEEIAFBBGogASAFGygCACIBDQALIAQgCUYNACAAQaQBaiELIABBFGohCgJAIAcgBCkCECICpyACQiCIIgKnIgcgBiAGIAdLGxBeIgZFBEAgAiADWA0BDAILIAZBAEgNAQsgBEEcaigCACAEKAIYRg0AIAAoAqABIQYgChCnBBogBiAAKAKgARDcAiAEKAIYIgEgBCgCHCIERwRAA0AgASgCACAAKAKgARDcAiABQQRqIgEgBEcNAAsLIAsgCCkCCBDnAwsPC0Hw7QVBxZgDQZQGQY3eABABAAvRBwIRfwJ9IAAoAgAoAgBBAk8EQCAAKAIMIQxBASEHA0BBfyEFIAdBAnQiDSAAKAIEKAIAaigCACIBKAIYIgggASgCHCIORwRAA0AgCCgCACIJQZXTx94FbCIBQRh2IAFzQZXTx94FbEHUzJ76BnMiAUENdiABc0GV08feBWwiAUEPdiABcyEBAkACQAJAAkACQCAAKAIIIgYoAgQiA0UNACAGKAIAAn8gASADQQFrcSADaUEBSyIERQ0AGiABIAEgA0kNABogASADcAsiCkECdGooAgAiAkUNACACKAIAIgJFDQAgBEUEQCADQQFrIQsDQAJAIAEgAigCBCIERwRAIAQgC3EgCkYNAQwECyACKAIIIAlGDQQLIAIoAgAiAg0ACwwBCwNAAkAgASACKAIEIgRHBEAgAyAETQR/IAQgA3AFIAQLIApGDQEMAwsgAigCCCAJRg0DCyACKAIAIgINAAsLQRAQXCICIAk2AgggAiABNgIEIAJBADYCACACQQA2AgwgBioCECETIAYoAgxBAWqzIRICQAJAIANFDQAgEyADs5QgEl0NACAKIQEMAQtB1IkLQQA2AgBB9+MAIAYgAyADQQFrcUEARyADQQNJciADQQF0ciILAn8gEiATlY0iEkMAAIBPXSASQwAAAABgcQRAIBKpDAELQQALIgQgBCALSRsQA0HUiQsoAgAhEEHUiQtBADYCACAQQQFGDQIgBigCBCIDIANBAWsiBHFFBEAgASAEcSEBDAELIAEgA0kNACABIANwIQELAkAC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CwwJC0Ho+gVBuosDQfwDQdrLAhABAAsQACEZIAQQayAZEAcACxAAIQAgBBBrDAgLQc3KBUHTmQNByAJB0PgCEAEAC0GBgwJB05kDQbkCQa73AhABAAsQZAALEGoAC0HexAVBsJQDQdoAQf37AhABAAtB9YICQdOZA0HNAkHQ+AIQAQALIAEoAkgiAiABKAJMIgFHBEADQCACKAIAIgQtABRFBEAgCSAEQRhqEJ8ICyACQQRqIgIgAUcNAAsLIABBADYCfAsgA0GwAmokAA8LIANB2AFqEGEgABAHAAuEEAEYfyMAQbACayIDJAACQAJAAkACQAJAAkACQAJAAkACQAJAIAAoAgQEQCAAIAAoAgAoAhARAgAEQCADIAAoAgQiAikCODcD+AEgAyACKQIwNwPwASADIAIpAig3A+gBIAMgAikCIDcD4AEgAyACKQIYNwPYASADQYACaiACQUBrEOMBIQRB1IkLQQA2AgBBmgEgA0GUAmogAkHUAGoQAiEFQdSJCygCACERQdSJC0EANgIAIBFBAUYNAiADIAIoAmg2AqgCIAMgAigCbCICNgKsAiACBEAgAiACKAIEQQFqNgIECyADQQEgAygC4AEiAiACQQBKGzYC4AEgAyADKQPoATcDGCADIAMpA/ABNwMgIAMgAykD+AE3AyggAyADKQPgATcDECADQQEgAygC3AEiAiACQQBKGzYC3AFB1IkLQQA2AgAgAyADKQPYATcDCEGbASADQTBqIAQQAiEEQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBxABqIAUQAiEFQdSJCygCACESQdSJC0EANgIAIBJBAUYNBSADIAMoAqwCIgI2AlwgAyADKAKoAjYCWCACBEAgAiACKAIEQQFqNgIECyADQQA2AnggAyADKQMQNwKEASADIAMpAxg3AowBIAMgAykDIDcClAEgAyADKQMoNwKcASADQgA3AnAgA0H87Ak2AmQgAyADKQMINwJ8QdSJC0EANgIAIAMgATYCaCADIAFBqAFqNgJsQZsBIANBpAFqIAQQAiEBQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBuAFqIAUQAhpB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRwRAIAMgAygCWDYCzAEgAyADKAJcIgE2AtABIAEEQCABIAEoAgRBAWo2AgQLIANBADsB1AEgA0EIahBhIANBAToA1AEgACgCACgCFCEUQdSJC0EANgIAIBQgABAGIQBB1IkLKAIAIRVB1IkLQQA2AgAgFUEBRg0EIAMoAmQoAgghFkHUiQtBADYCACAWIANB5ABqIgEgABADQdSJCygCACEXQdSJC0EANgIAIBdBAUYNBEHUiQtBADYCAEGXASABEApB1IkLKAIAIRhB1IkLQQA2AgAgGEEBRg0EIANB/OwJNgJkIANB/ABqEGEgAygCcCIBBEAgAygCdCIAIAEiAkcEQANAIABBBGsiACgCACECIABBADYCACACBEAgAiACKAIAKAIEEQEACyAAIAFHDQALIAMoAnAhAgsgAyABNgJ0IAIQWgsgA0HYAWoQYQwQCxAAIQAgARBrDAELEAAhAAsgA0HwAGoQ4AEgA0EIahBhDA4LEAAhAAwNCxAAIQAgA0HkAGoQfBoMDAsgACABNgJ8IABBFGohCSABKAIYIgIgASgCHCIERwRAA0AgAigCACIFKAIMRQRAIAkgBUEgahDsBgsgAkEEaiICIARHDQALCyABKAIMIgIgASgCECIFRwRAA0ACQCACKAIAIgQoAgwEQCAAIAQQiAoMAQsgACAENgJ4IAkgBEEwahDsBiAAIAQQiAogAEEANgJ4CyACQQRqIgIgBUcNAAsLIAEoAjAiCiABKAI0Ig5GDQkgAEEcaiENA0AgCigCACICKAIMBEAgCSACQRRqEOwGCyACKAIcIgsgAigCICIPRwRAIAAoAnAhBCAAKAJsIQYgACgCGCEFA0AgAyALKAIAIgc2AmQgBCAGayIQQQN1IgJBACAFa0cNBiAHRQ0HAkAgBUEJTQRAIAAgBUEBaiIGNgIYIA0gBUEDdGoiAkGY4wA2AgAgAiADQeQAajYCBCAEIQIgBiEFDAELIAAoAnQiCCAESwRAIARBmOMANgIAIAQgA0HkAGo2AgQgACAEQQhqIgI2AnAMAQsgAkEBaiIHQYCAgIACTw0JQf////8BIAggBmsiCEECdSIMIAcgByAMSRsgCEH4////B08bIgdBgICAgAJPDQogECAHQQN0IgwQXCIIaiIHQZjjADYCACAIIAJBA3RqIANB5ABqNgIEIAdBCGohAiAEIAZHBEADQCAHQQhrIgcgBEEIayIEKQIANwIAIAQgBkcNAAsLIAAgCCAMajYCdCAAIAI2AnAgACAHNgJsIAZFDQAgBhBaIAAoAnAhAiAAKAIYIQULQQAgBWsgAiAAKAJsIgZrQQN1RwRAA0ACQCACIAZGBEAgBUUNDiANIAVBAWsiBEEDdGoiBSgCBCECIAUoAgAhBiAAIAQ2AhgMAQsgAkEIayIEKAIAIQYgBCgCBCECIAAgBDYCcAsgCSACNgIAIAIoAgBFDQ0gACACIAYRAABBACAAKAIYIgVrIAAoAnAiAiAAKAJsIgZrQQN1Rw0ACwsgAiEEIAtBBGoiCyAPRw0ACwsgCkEEaiIKIA5HDQALDAkLQej6BUG6iwNB/ANB2ssCEAEACxAAIRkgBBBrIBkQBwALEAAhACAEEGsMCAtBzcoFQdOZA0HIAkHQ+AIQAQALQYGDAkHTmQNBuQJBrvcCEAEACxBkAAsQagALQd7EBUGwlANB2gBB/fsCEAEAC0H1ggJB05kDQc0CQdD4AhABAAsgASgCSCICIAEoAkwiAUcEQANAIAIoAgAiBC0AFEUEQCAJIARBGGoQ7AYLIAJBBGoiAiABRw0ACwsgAEEANgJ8CyADQbACaiQADwsgA0HYAWoQYSAAEAcACyQAIAAoAgBBLEcEQEHtrAZBp7cCQc8cQfr3ABABAAsgACgCCAuuDAMOfwJ9AX4gAAJ/AkAgASgCBCIERQ0AAkAgBGkiBkEBTQRAIARBAWsgAnEhBQwBCyAEIAIiBUsNACAFIARwIQULIAEoAgAgBUECdGooAgAiCEUNACAIKAIAIgdFDQAgBkEBTQRAIARBAWshBgNAAkAgAiAHKAIEIghHBEAgBiAIcSAFRw0EDAELIAcoAgggAkcNAEEADAQLIAcoAgAiBw0ACwwBCwNAAkAgAiAHKAIEIgZHBEAgBCAGTQR/IAYgBHAFIAYLIAVHDQMMAQsgBygCCCACRw0AQQAMAwsgBygCACIHDQALC0EUEFwhByADKQIAIRQgB0EAOgAQIAcgFDcCCCAHIAI2AgQgB0EANgIAIAFBCGohCyABKgIQIRIgASgCDEEBarMhEwJAIAQEQCASIASzlCATXUUNAQtBAiEDAkACQAJAIAQgBEEBa3FBAEcgBEEDSXIgBEEBdHIiBQJ/IBMgEpWNIhJDAACAT10gEkMAAAAAYHEEQCASqQwBC0EACyIGIAUgBksbIgVBAUYNACAFIAVBAWtxRQRAIAUhAwwBC0HUiQtBADYCAEEVIAUQBiEDQdSJCygCACENQdSJC0EANgIAIA1BAUYNASABKAIEIQQLAkACQCADIARNBEAgAyAETw0CIARBA0khBgJ/IAEoAgyzIAEqAhCVjSISQwAAgE9dIBJDAAAAAGBxBEAgEqkMAQtBAAshBQJAAkAgBg0AIARpQQFLDQAgBUEBQSAgBUEBa2drdCAFQQJJGyEFDAELQdSJC0EANgIAQRUgBRAGIQVB1IkLKAIAIQ5B1IkLQQA2AgAgDkEBRg0ECyAEIAMgBSADIAVLGyIDTQRAIAEoAgQhBAwDCyADRQ0BCyADQYCAgIAETwRAQdSJC0EANgIAQQMQCUHUiQsoAgAhD0HUiQtBADYCACAPQQFGDQMAC0HUiQtBADYCAEEEIANBAnQQBiEFQdSJCygCACEQQdSJC0EANgIAIBBBAUYNAiABKAIAIQQgASAFNgIAIAQEQCAEEFoLIAEgAzYCBEEAIQZBACEEIANBBE8EQCADQfz///8DcSEIA0AgBEECdCIFIAEoAgBqQQA2AgAgASgCACAFakEANgIEIAEoAgAgBWpBADYCCCABKAIAIAVqQQA2AgwgBEEEaiIEIAhHDQALCyADQQNxIgUEQANAIAEoAgAgBEECdGpBADYCACAEQQFqIQQgBkEBaiIGIAVHDQALCyABKAIIIgRFBEAgAyEEDAILIAQoAgQhCAJAIAMgA0EBayIJcQRAIAMgCE0EQCAIIANwIQgLIAEoAgAgCEECdGogCzYCACAEKAIAIgYNASADIQQMAwsgASgCACAIIAlxIghBAnRqIAs2AgAgBCgCACIFRQRAIAMhBAwDCwNAAkAgCCAFKAIEIAlxIgZGBEAgBSEEDAELIAZBAnQiCiABKAIAaiIMKAIABEAgBCAFKAIANgIAIAUgASgCACAKaigCACgCADYCACABKAIAIApqKAIAIAU2AgAMAQsgDCAENgIAIAUhBCAGIQgLIAQoAgAiBQ0ACyADIQQMAgsDQCADIAYoAgQiBU0EQCAFIANwIQULAkAgBSAIRgRAIAYhBAwBCyAFQQJ0IgkgASgCAGoiCigCAEUEQCAKIAQ2AgAgBiEEIAUhCAwBCyAEIAYoAgA2AgAgBiABKAIAIAlqKAIAKAIANgIAIAEoAgAgCWooAgAgBjYCAAsgBCgCACIGDQALIAMhBAwBCyABKAIAIQNBACEEIAFBADYCACADBEAgAxBaCyABQQA2AgQLIAQgBEEBayIDcUUEQCACIANxIQUMAwsgAiAETw0BIAIhBQwCCxAAIREgBxBaIBEQBwALIAIgBHAhBQsCQAJAIAEoAgAgBUECdGoiAigCACIFRQRAIAcgASgCCDYCACABIAc2AgggAiALNgIAIAcoAgAiAkUNAiACKAIEIQUCQCAEIARBAWsiAnFFBEAgAiAFcSEFDAELIAQgBUsNACAFIARwIQULIAEoAgAgBUECdGohBQwBCyAHIAUoAgA2AgALIAUgBzYCAAsgASABKAIMQQFqNgIMQQELOgAEIAAgBzYCAAvtGQIdfwF+IwBB8AJrIgMkACADQgA3A6ACIANCADcCtAIgA0GAgID8AzYCvAIgA0IANwPIAiADQYCAgPwDNgLQAiADQgA3AtwCIANBgICA/AM2AuQCIANCADcDmAIgA0IANwKsAiADQYCAgPwDNgKoAiADQgA3A8ACIANCADcC1AICQAJAAkACQAJAAkACQAJAAkACQCABKAIYIgQgASgCHCIGRwRAA0BBACEFIAQoAgAiAigCHEF+cUECRgRAIAIoAgxFIQULIAIoAgAhB0HUiQtBADYCAEGV4wAgAyADQZgCaiAHIAIQBUHUiQsoAgAhDkHUiQtBADYCACAOQQFGDQIgAygCACAFOgAQIARBBGoiBCAGRw0ACwsgA0GsAmohBSABKAIMIgIgASgCECIERwRAA0AgAigCACIGKAIAIQdB1IkLQQA2AgBBvTsgAyAFIAcgBhAFQdSJCygCACEPQdSJC0EANgIAIA9BAUYNBSADKAIAQgA3AhAgAkEEaiICIARHDQALCyABKAIAIgIgASgCBCIGRwRAA0AgAigCACIEKAIQQQNGBEAgBCgCCCEHQdSJC0EANgIAQZXjACADIANBmAJqIAcgBEEIahAFQdSJCygCACEQQdSJC0EANgIAIBBBAUYNBCADKAIAQQA6ABALIAJBBGoiAiAGRw0ACwsgA0EANgJ8IANCADcCdCADQgA3AhAgA0EANgIYIANCADcCiAEgA0GAgID8AzYCkAEgA0IANwJsIANCADcCCCADQgA3AoABIANB6PUHNgIAIAMgA0GYAmo2ApQBIAAoAgQhAkHUiQtBADYCACADIAI2AgRBluMAIAMgARADQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAIANB6PUHNgIAIAMoAogBIgIEQANAIAIoAgAhESACEFogESICDQALCyADKAKAASECIANBADYCgAEgAgRAIAIQWgsgAygCbCICBEAgAyACNgJwIAIQWgsgA0GQ7Qk2AgAgAywAE0EASARAIAMoAggQWgsgAygCtAIiAgRAA0ACQCACQRBqIgQoAgAiBkUNAEHUiQtBADYCAEGV4wAgAyADQZgCaiAGIAQQBUHUiQsoAgAhEkHUiQtBADYCACASQQFGDQcgAygCAC0AEEEBcQ0AIARCADcCAAsgAigCACICDQALCyABKAIMIgIgASgCECIERg0KIANB1AJqIQggA0HAAmohCkEAIQYMAQsQACECIAMQjg4aDAcLA0AgAigCACIHKAIAIQlB1IkLQQA2AgBBgD0gAyAKIAkgBxAFQdSJCygCACEHQdSJC0EANgIAAkACQCAHQQFHBEAgAygCACEJIAIoAgAiBygCACELQdSJC0EANgIAQb07IAMgBSALIAcQBUHUiQsoAgAhE0HUiQtBADYCACATQQFGDQEgAygCACIHKAIQRQRAIAJBBGoiAiAERg0JDAQLIAcoAhAhBiAHNQIUIR9B1IkLQQA2AgBB9gAgAyAJQRBqIAYgBq0gH0IghoQQqAJB1IkLKAIAIRRB1IkLQQA2AgAgFEEBRw0CEAAhAgwKCxAAIQIMCQsQACECDAgLQQEhBiAEIAJBBGoiAkcNAAsMBQsQACECDAULEAAhAgwECxAAIQIMAwsQACECDAILIAZBAXFFDQMLIANByAJqIQogA0GMAmohCSADQbABaiELIANBqAFqIQxBACEGA0ACQAJAIAEoAgwiAiABKAIQIgRHBEADQCACKAIAIgUoAgAhB0HUiQtBADYCAEGAPSADIAggByAFEAVB1IkLKAIAIRVB1IkLQQA2AgAgFUEBRg0CIAJBBGoiAiAERw0ACwsgA0IANwKoASADQQA2ApwBIANCADcClAEgA0IANwKMASADQgA3AoQBIANCADcCfCADQgA3AnQgA0IANwJsIANBADYCGCADQgA3AhAgA0IANwIIIANCADcCjAIgAyAMNgKkASALQQBB1gD8CwAgA0GY9gc2AgAgAyAJNgKIAiADIANBmAJqNgKUAiAAKAIEIQJB1IkLQQA2AgAgAyACNgIEQZfjACADIAEQA0HUiQsoAgAhAkHUiQtBADYCAAJAIAJBAUcEQCADEKAIGiADKALMAgRAIAMoAsgCIgUEQANAIAUoAgAhFyAFKAIYIgIEQANAIAIoAgAhFiACEFogFiICDQALCyAFKAIQIQIgBUEANgIQIAIEQCACEFoLIAUQWiAXIgUNAAsLIANBADYCyAICQCADKALEAiIERQ0AQQAhBUEAIQIgBEEETwRAIARBfHEhDQNAIAJBAnQiByADKALAAmpBADYCACADKALAAiAHakEANgIEIAMoAsACIAdqQQA2AgggAygCwAIgB2pBADYCDCACQQRqIgIgDUcNAAsLIARBA3EiBEUNAANAIAMoAsACIAJBAnRqQQA2AgAgAkEBaiECIAVBAWoiBSAERw0ACwsgA0EANgLMAgsgAygC1AIhBCADQQA2AtQCIAMoAsACIQIgAyAENgLAAiACBEAgAhBaCyADKALYAiEEIANBADYC2AIgAyAENgLEAiADIAMoAuACIgU2AswCIAMgAyoC5AI4AtACIAMgAygC3AIiAjYCyAIgBQRAIAIoAgQhAgJAIAQgBEEBayIFcUUEQCACIAVxIQIMAQsgAiAESQ0AIAIgBHAhAgsgAygCwAIgAkECdGogCjYCACADQgA3AtwCIAMoAsgCIQILQQAhBCACDQEMAwsQACECIAMQoAgaDAQLA0AgAigCHCAEaiEEIAIoAgAiAg0ACwwBCxAAIQIMAgsgBCAGSQRAQdSJC0EANgIAQQ1BmoQBQY+dAkG0A0HaywIQBUHUiQsoAgAhGEHUiQtBADYCACAYQQFHDQUQACECDAILIAQgBkshGSAEIQYgGQ0ACyABKAIQIQogASgCDCEBIANCADcDCCADQgA3AwAgA0GAgID8AzYCECABIApGDQIDQAJAAkAgAygCsAIiBUUNACABKAIAIgkoAgAhAAJAIAVpQQFLIgZFBEAgBUEBayAAcSEEDAELIAAiBCAFSQ0AIAQgBXAhBAsgAygCrAIiDCAEQQJ0aigCACICRQ0AIAIoAgAiAkUNACAFQQFrIQcgBkUEQANAAkAgACACKAIEIghHBEAgByAIcSAERg0BDAQLIAIoAgggAEYNBAsgAigCACICDQAMAgsACwNAAkAgACACKAIEIghHBEAgBSAITQR/IAggBXAFIAgLIARGDQEMAwsgAigCCCAARg0DCyACKAIAIgINAAsLQdSJC0EANgIAQZEBQZDABBAKQdSJCygCACEaQdSJC0EANgIAIBpBAUcNBRAAIQIgAxCiAQwCCwJAIAIoAhBFDQAgCSgCMCICKAIAQQFHBEBB1IkLQQA2AgBBDUHw7QVBxZgDQZQGQY3eABAFQdSJCygCACEbQdSJC0EANgIAIBtBAUcNBhAAIQIgAxCiAQwDCwJAAkAgAigCFEECaw4CAAECCyACQhY3AgAMAQsgAigCECIIKAIIIgIoAgBBBkcNAAJAAkAgDAJ/IAIoAhgiBCAHcSAGRQ0AGiAEIAQgBUkNABogBCAFcAsiC0ECdGooAgAiAkUNACACKAIAIgJFDQAgBkUEQANAAkAgBCACKAIEIgVHBEAgBSAHcSALRg0BDAQLIAIoAgggBEYNBAsgAigCACICDQAMAgsACwNAAkAgBCACKAIEIgZHBEAgBSAGTQR/IAYgBXAFIAYLIAtGDQEMAwsgAigCCCAERg0DCyACKAIAIgINAAsLQdSJC0EANgIAQZEBQZDABBAKQdSJCygCACEcQdSJC0EANgIAIBxBAUcNBhAAIQIgAxCiAQwDCyACKAIQRQ0AAkAgAygCBCIFRQ0AIAMoAgACfyAFQQFrIARxIAVpQQFLIgZFDQAaIAQgBCAFSQ0AGiAEIAVwCyIHQQJ0aigCACICRQ0AIAIoAgAiAkUNACAGRQRAIAVBAWshBQNAAkAgBCACKAIEIgZHBEAgBSAGcSAHRg0BDAQLIAIoAgggBEYNBAsgAigCACICDQALDAELA0ACQCAEIAIoAgQiBkcEQCAFIAZNBH8gBiAFcAUgBgsgB0YNAQwDCyACKAIIIARGDQMLIAIoAgAiAg0ACwsgCCgCAEIWNwIAIAgoAgRCFjcCACAJKQIAIR9B1IkLQQA2AgBB9gAgA0HoAmogAyAAIB8QqAJB1IkLKAIAIR1B1IkLQQA2AgAgHUEBRw0AEAAhAiADEKIBDAILIAogAUEEaiIBRw0ACwwBCyADQZgCahCNDiACEAcACyADKAIIIgIEQANAIAIoAgAhHiACEFogHiICDQALCyADKAIAIQAgA0EANgIAIABFDQAgABBaCyADQZgCahCNDiADQfACaiQADwsAC+wGAQx/IwBBQGoiAiQAIABBCGohAyAAKAIEIQQCQCAALAATQQBOBEAgAiADKAIINgIwIAIgAykCADcDKAwBCyACQShqIAAoAgggACgCDBCRBAtB1IkLQQA2AgBB5QIgAkEMaiIFQczVBSADEAhB1IkLKAIAIQNB1IkLQQA2AgACQAJAAkACQCADQQFHBEBB1IkLQQA2AgBBjQIgBUGclAUQAiEDQdSJCygCACEFQdSJC0EANgIAAkAgBUEBRwRAIAIgAygCCDYCICACIAMpAgA3AxggA0IANwIAIANBADYCCEHUiQtBADYCAEHJOiACQTRqIARBGGogAkEoaiACQRhqEAVB1IkLKAIAIQlB1IkLQQA2AgAgCUEBRwRAIAIsACNBAEgEQCACKAIYEFoLIAMsAAtBAEgEQCADKAIAEFoLIAIsADNBAEgEQCACKAIoEFoLIAEoAgwiAyABKAIQIgVGDQcDQAJAAkACQAJAAkACQCADKAIAIgEoAgQiBEHw////B08EQEHUiQtBADYCAEHYABAJQdSJCygCACEKQdSJC0EANgIAIApBAUYNAQALIAEoAgAhBgJAAkACQCAEQQtPBEBB1IkLQQA2AgBBBCAEQQ9yQQFqIgcQBiEBQdSJCygCACELQdSJC0EANgIAIAtBAUYNAyACIAE2AgAgAiAENgIEIAIgB0GAgICAeHI2AggMAQsgAiAEOgALIAIhASAERQ0BCyABIAYgBPwKAAALIAEgBGpBADoAAEHUiQtBADYCAEHUHCACQTRqIAIQAiENQdSJCygCACEMQdSJC0EANgIAIAxBAUYNAiACLAALQQBIBEAgAigCABBaCyANRQ0GIAAoAhQiAQ4DBAUEBQsQACEADAILEAAhAAwBCxAAIQAgAiwAC0EATg0AIAIoAgAQWgsgAkE0aiEDIAIsAD9BAE4NCQwKCyADKAIAQQE6AMABCyABQQFrQQFLDQAgAygCAEEBOgDBAQsgA0EEaiIDIAVHDQALDAcLEAAhACACLAAjQQBODQEgAigCGBBaDAELEAAhAAsgAiwAF0EATg0BIAIoAgwQWgwBCxAAIQALIAJBKGohAyACLAAzQQBIDQELIAAQBwALIAMoAgAQWiAAEAcACyACLAA/QQBIBEAgAigCNBBaCyACQUBrJAAL3xgDG38CfQF+IwBB8ABrIgIkACACQdwAaiABENUPIAJCADcDUCACQgA3A0ggAkGAgID8AzYCWAJAAkAgAigCXCIIIAIoAmAiC0cEQCABQZQBaiEJIAghAwNAAkACQAJAAkACQAJAAkACQCABKAKYASIHRQ0AIAMoAgAiCkGV08feBWwiAEEYdiAAc0GV08feBWxBqJm99H1zQZXTx94FbCIAQQ12IABzQZXTx94FbCIAQQ92IABzIQACQCAHaUEBSyIGRQRAIAdBAWsgAHEhBQwBCyAAIgUgB0kNACAAIAdwIQULIAkoAgAgBUECdGooAgAiBEUNACAEKAIAIgRFDQACQCAGRQRAIAdBAWshBwNAAkAgBCgCBCIGIABHBEAgBiAHcSAFRg0BDAULIAQoAgggCkYNAwsgBCgCACIEDQALDAILA0ACQCAEKAIEIgYgAEcEQCAGIAdPBH8gBiAHcAUgBgsgBUYNAQwECyAEKAIIIApGDQILIAQoAgAiBA0ACwwBC0HUiQtBADYCAEGLASACQTBqIAkgCiADEAVB1IkLKAIAIQ1B1IkLQQA2AgAgDUEBRg0CIAIoAjAoAhBBFEkNAQtB1IkLQQA2AgBBwAIgAkEkaiIFIAwQA0HUiQsoAgAhDkHUiQtBADYCACAOQQFGDQJB1IkLQQA2AgBB/AEgBUG78QQQAiEFQdSJCygCACEPQdSJC0EANgIAIA9BAUYNAyACIAUoAgg2AjggAiAFKQIANwMwIAVCADcCACAFQQA2AgggAiACKAI0IAIsADsiAEH/AXEgAEEASCIAGzYCbCACIAIoAjAgAkEwaiAAGzYCaEHUiQtBADYCACACIAIpAmg3AxhBBiACQUBrIAJBGGoQA0HUiQsoAgAhEEHUiQtBADYCACAQQQFGDQQgAygCACEAQdSJC0EANgIAQYsBIAJB6ABqIAkgACADEAVB1IkLKAIAIRFB1IkLQQA2AgAgEUEBRg0EIAIoAmggAikDQDcCDCACLAA7QQBIBEAgAigCMBBaCyACLAAvQQBIBEAgBSgCABBaCyAMQQFqIQwLIAMoAgAhAEHUiQtBADYCAEGLASACQTBqIAkgACADEAVB1IkLKAIAIRJB1IkLQQA2AgAgEkEBRw0FCxAAIQMMCAsQACEDDAcLEAAhAwwBCxAAIQMgAiwAO0EATg0AIAIoAjAQWgsgAiwAL0EATg0EIAIoAiQQWgwECyACKAIwIgApAgwhHyAAKAIMIQBB1IkLQQA2AgBB9gAgAkEwaiACQcgAaiAAIB8QqAJB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRg0CIANBBGoiAyALRw0ACyACQdAAaiEHA0AgCCgCACEAQdSJC0EANgIAQYsBIAJBMGogCSAAIAgQBUHUiQsoAgAhAEHUiQtBADYCAAJAAkACQAJAIABBAUcEQCACKAIwIgYoAhAiBEHw////B08EQEHUiQtBADYCAEHYABAJQdSJCygCACEUQdSJC0EANgIAIBRBAUYNAwALIAYoAgwhBQJAAkAgBEELTwRAQdSJC0EANgIAQQQgBEEPckEBaiIBEAYhA0HUiQsoAgAhFUHUiQtBADYCACAVQQFGDQQgAiADNgIwIAIgBDYCNCACIAFBgICAgHhyNgI4DAELIAIgBDoAOyACQTBqIQMgBEUNAQsgAyAFIAT8CgAACyADIARqQQA6AAAgAigCNCACLQA7IgAgAMBBAEgiARsiBEECSQ0EA0AgAigCMCIDIAJBMGogAUEBcSIBGyAEakEBaywAACIAQTBrQQlLDQQgBEEBayEAAkAgAQRAIAIgADYCNAwBCyACIABB/wBxOgA7IAJBMGohAwsgACADakEAOgAAIAIoAjQgAi0AOyIAIADAQQBIIgEbIgRBAUsNAAsMBAsQACEDDAcLEAAhAwwGCxAAIQMMBQsgAEHfAEcNACAEQQFrIQACQCABBEAgAiAANgI0DAELIAIgAEH/AHE6ADsgAkEwaiEDCyAAIANqQQA6AAAgAiACKAI0IAIsADsiAEH/AXEgAEEASCIAGzYCbCACIAIoAjAgAkEwaiAAGzYCaEHUiQtBADYCACACIAIpAmg3AxBBBiACQUBrIAJBEGoQA0HUiQsoAgAhAEHUiQtBADYCAAJAAkACQAJAAkAgAEEBRwRAAkAgAigCTCIARQ0AIAIoAkAhAQJAIABpQQFLIgNFBEAgAEEBayABcSEFDAELIAEiBSAASQ0AIAEgAHAhBQsgAigCSCAFQQJ0aigCACIERQ0AIAQoAgAiBEUNACADRQRAIABBAWshAANAAkAgASAEKAIEIgNHBEAgACADcSAFRg0BDAQLIAQoAgggAUYNCgsgBCgCACIEDQALDAELA0ACQCABIAQoAgQiA0cEQCAAIANNBH8gAyAAcAUgAwsgBUYNAQwDCyAEKAIIIAFGDQkLIAQoAgAiBA0ACwsgAiACKAI0IAIsADsiAUH/AXEgAUEASCIBGzYCbCACIAIoAjAgAkEwaiABGzYCaEHUiQtBADYCACACIAIpAmg3AwhBBiACQUBrIgUgAkEIahADQdSJCygCACEWQdSJC0EANgIAIBZBAUYNASAGIAIpA0A3AgwgAiACKAI0IAIsADsiAUH/AXEgAUEASCIBGzYCbCACIAIoAjAgAkEwaiABGzYCaEHUiQtBADYCACACIAIpAmg3AwBBBiAFIAIQA0HUiQsoAgAhF0HUiQtBADYCACAXQQFGDQIgAigCQCEBAkAgAigCTCIDRQ0AAkAgA2lBAUsiBkUEQCADQQFrIAFxIQAMAQsgASIAIANJDQAgACADcCEACyACKAJIIABBAnRqKAIAIgVFDQAgBSgCACIERQ0AIAZFBEAgA0EBayEGA0ACQCABIAQoAgQiBUcEQCAFIAZxIABGDQEMBAsgBCgCCCABRg0KCyAEKAIAIgQNAAsMAQsDQAJAIAEgBCgCBCIFRwRAIAMgBU0EfyAFIANwBSAFCyAARg0BDAMLIAQoAgggAUYNCQsgBCgCACIEDQALC0HUiQtBADYCAEEEQRAQBiEGQdSJCygCACEYQdSJC0EANgIAIBhBAUYNAyACKQNAIR8gBiABNgIEIAYgHzcCCCAGQQA2AgAgAioCWCEeIAIoAlRBAWqzIR0CQCADBEAgHiADs5QgHV1FDQELQQIhAAJAIAMgA0EBa3FBAEcgA0EDSXIgA0EBdHIiBAJ/IB0gHpWNIh1DAACAT10gHUMAAAAAYHEEQCAdqQwBC0EACyIFIAQgBUsbIgVBAUYNACAFIAVBAWtxRQRAIAUhAAwBC0HUiQtBADYCAEEVIAUQBiEAQdSJCygCACEZQdSJC0EANgIAIBlBAUYNBiACKAJMIQMLAkAgACADTQRAIAAgA08NASADQQNJIQUCfyACKAJUsyACKgJYlY0iHUMAAIBPXSAdQwAAAABgcQRAIB2pDAELQQALIQQCQAJAIAUNACADaUEBSw0AIARBAUEgIARBAWtna3QgBEECSRshBQwBC0HUiQtBADYCAEEVIAQQBiEFQdSJCygCACEaQdSJC0EANgIAIBpBAUYNCAsgACAFIAAgBUsbIgAgA08NAQtB1IkLQQA2AgBBrQIgAkHIAGogABADQdSJCygCACEbQdSJC0EANgIAIBtBAUYNBgsgAigCTCIDIANBAWsiAHFFBEAgACABcSEADAELIAEgA0kEQCABIQAMAQsgASADcCEACwJAAkAgAigCSCAAQQJ0aiIAKAIAIgFFBEAgBiACKAJQNgIAIAIgBjYCUCAAIAc2AgAgBigCACIARQ0CIAAoAgQhAQJAIAMgA0EBayIAcUUEQCAAIAFxIQEMAQsgASADSQ0AIAEgA3AhAQsgAigCSCABQQJ0aiEBDAELIAYgASgCADYCAAsgASAGNgIACyACIAIoAlRBAWo2AlQMBgsQACEDDAQLEAAhAwwDCxAAIQMMAgsQACEDDAELEAAhAyAGEFoLIAIsADtBAE4NBCACKAIwEFoMBAsgAiwAO0EASARAIAIoAjAQWgsgCEEEaiIIIAtHDQALCyACKAJQIgQEQANAIAQoAgAhHCAEEFogHCIEDQALCyACKAJIIQAgAkEANgJIIAAEQCAAEFoLIAIoAlwiAARAIAAQWgsgAkHwAGokAA8LEAAhAwsgAkHIAGoQogEgAigCXCIABEAgABBaCyADEAcAC8QCAgV/AX4jAEGAAWsiACQAAkAgASgCDCICIAEoAhAiBEcEQANAIAIoAgAiASgCDEUEQEHkwQtBtJYHQQQQXxoCQCABKQIAIgenIgMEQEHkwQsgAyAHQiCIpxBfGgwBC0HkwQtBqOoFQQsQXxoLQeTBC0Hs/AZBAxBfGiAAIAEoAjA2AnwgAEIANwIMIABCADcCdCAAQgA3AmwgAEIANwJkQdSJC0EANgIAQecpIABBDGogAEH8AGoQA0HUiQsoAgAhBUHUiQtBADYCACAFQQFGDQMgACgCeCEDIAAoAmQiAQRAIAAgATYCaCABEFoLQeTBCyADEOkCGiAAQQo6AAxB5MELIABBDGpBARBfGgsgAkEEaiICIARHDQALCyAAQYABaiQADwsQACEGIAAoAmQiAQRAIAAgATYCaCABEFoLIAYQBwALCwAgAUG48wc2AgALEQBBCBBcIgBBuPMHNgIAIAALPwAgACgCBEUEQEHo+gVBuosDQZwEQe7TAhABAAsgACACNgJ4IAAgATYCfCAAQRRqIAJBMGoQ7QYgAEIANwJ4C7cEAgp/AX4CQCABKAIAIgUoAgBBFUYEQAJAAkAgACgCgAEiBigCYCICRQ0AIAYoAlwCfyAFKAIQIgMgAkEBa3EgAmkiBEEBTQ0AGiADIAIgA0sNABogAyACcAsiB0ECdGooAgAiAUUNACABKAIAIgFFDQAgBEEBTQRAIAJBAWshAgNAAkAgAyABKAIEIgRHBEAgAiAEcSAHRg0BDAQLIAEoAgggA0YNBAsgASgCACIBDQALDAELA0ACQCADIAEoAgQiBEcEQCACIARNBH8gBCACcAUgBAsgB0YNAQwDCyABKAIIIANGDQMLIAEoAgAiAQ0ACwtBkMAEEOoCAAsgBigCfCABKAIQQQN0aikCACEMIAUoAgghAUEEEFwiAiABNgIAIAUoAgQhBSAAKAKEASEBQdSJC0EANgIAQQwgAUGoAWoiA0EkQQQQBCEBQdSJCygCACEIQdSJC0EANgIAIAhBAUYNASABQQA6ACAgAUIANwIIIAFBBjYCACABIAw3AhggASAFNgIEIAEgAzYCFCABQQE2AhBB1IkLQQA2AgBBDCADQQRBBBAEIQNB1IkLKAIAIQlB1IkLQQA2AgAgCUEBRg0BIAEgAzYCCCADIAIoAgA2AgAgAUEAOgAgIAFBATYCDEHUiQtBADYCAEGU4wAgAEEUaiABEANB1IkLKAIAIQpB1IkLQQA2AgAgCkEBRg0BIAIQWg8LQfDtBUHFmANBlAZBjd4AEAEACxAAIQsgAhBaIAsQBwAL9gICBn8BfiABKAIAIgYoAgBBFEYEQAJAAkAgACgCgAEiBygCYCIDRQ0AIAYoAgwhAiAHKAJcAn8gA0EBayACcSADaSIEQQFNDQAaIAIgAiADSQ0AGiACIANwCyIFQQJ0aigCACIBRQ0AIAEoAgAiAUUNACAEQQFNBEAgA0EBayEDA0ACQCACIAEoAgQiBEcEQCADIARxIAVGDQEMBAsgASgCCCACRg0ECyABKAIAIgENAAsMAQsDQAJAIAIgASgCBCIERwRAIAMgBE0EfyAEIANwBSAECyAFRg0BDAMLIAEoAgggAkYNAwsgASgCACIBDQALC0GQwAQQ6gIACyAHKAJwIAEoAhBBA3RqKQIAIQggBigCBCEFIAAoAoQBQagBaiIBQSRBBBBdIgJCADcCCCACQQY2AgAgAkEAOgAgIAIgCDcCGCACIAU2AgQgAkEANgIQIAIgATYCFCAAQRRqIAIQeQ8LQfDtBUHFmANBlAZBjd4AEAEAC5oDAgh/AX4jAEEgayIEJAAgASgCACIBKAIAQSdGBEACQCAAKAKAASICLQCIAQRAIAIoAiAhAiAAKAJ4IQggBEIANwMQIARCADcDGCAIIARBEGogAhDGAiEFIAAoAnghCSAAKAKAASgCICEDIARCADcDCCAEQgA3AxggCSAEQQhqIAMQxgIhBiABKQIUIQogASgCDCEDIAAoAoQBQagBakEQQQQQXSICIAM2AgwgAiAFNgIIIAJCCTcCACACIAMoAgRBAUYiBzYCBCACIAcgAygCBEEBRnI2AgQgASAAIAEgCiAGIAIQoQg2AgggACgCgAEoAiAhAyAAKAKEAUGoAWpBDEEEEF0iAiAFNgIIIAJBCDYCACACIAM2AgQgASACNgIMIAAoAoABKAIgIQMgACgChAFBqAFqQQxBBBBdIgIgBjYCCCACQQg2AgAgAiADNgIEIAEgAjYCEAwBCyABIAAgASABKQIUQX9BABChCDYCCAsgASAAKAKAASkCGDcCFCAEQSBqJAAPC0Hw7QVBxZgDQZQGQY3eABABAAuRAwIIfwF+IwBBIGsiAyQAIAEoAgAiASgCAEEmRgRAAkAgACgCgAEiAi0AiAEEQCACKAIgIQIgACgCeCEIIANCADcDECADQgA3AxggCCADQRBqIAIQxgIhBiAAKAJ4IQkgACgCgAEoAiAhBCADQgA3AwggA0IANwMYIAkgA0EIaiAEEMYCIQQgASkCFCEKIAEoAgwhBSAAKAKEAUGoAWpBEEEEEF0iAiAFNgIMIAIgBjYCCCACQgk3AgAgAiAFKAIEQQFGIgc2AgQgAiAHIAUoAgRBAUZyNgIEIAEgACABIAogBCACEKEINgIIIAEgACABIAQgBhCPDjYCDCAAKAKAASgCICEFIAAoAoQBQagBakEMQQQQXSICIAQ2AgggAkEINgIAIAIgBTYCBCABIAI2AhAMAQsgASAAIAEgASkCFEF/QQAQoQg2AgggASAAIAFBf0F/EI8ONgIMCyABIAAoAoABKQIYNwIUIAEgACgCgAEpAhg3AhwgA0EgaiQADwtB8O0FQcWYA0GUBkGN3gAQAQALwgQCCn8BfiMAQSBrIgQkACABKAIAIgEoAgBBJEYEQAJAIAAoAoABIgItAIgBBEAgAigCICECIAAoAnghCiAEQgA3AxAgBEIANwMYIAogBEEQaiACEMYCIQUgACgCeCELIAAoAoABKAIgIQcgBEIANwMIIARCADcDGCALIARBCGogBxDGAiEHIAEpAhwhDCABKAIUIQMgACgChAFBqAFqQRBBBBBdIgIgAzYCDCACIAU2AgggAkIJNwIAIAIgAygCBEEBRiIGNgIEIAIgBiADKAIEQQFGcjYCBCAAKAKAASgCFCIDKAKkAiADKAKoAiABKQIIEMcHIQggACgCgAEoAiAhBiAAKAKEAUGoAWpBDEEEEF0iAyAFNgIIIANBCDYCACADIAY2AgQgACgCgAEoAiAhCSAAKAKEAUGoAWpBDEEEEF0iBiAHNgIIIAZBCDYCACAGIAk2AgQgASAAIAEgDCAHIAIgACADIAYgAEGEAWogCCgCICAIKAIca60gACgCgAEoAiAQhgMQkg4QkQ42AhAgACgCgAEoAiAhAyAAKAKEAUGoAWpBDEEEEF0iAiAFNgIIIAJBCDYCACACIAM2AgQgASACNgIUIAAoAoABKAIgIQUgACgChAFBqAFqQQxBBBBdIgIgBzYCCCACQQg2AgAgAiAFNgIEIAEgAjYCGAwBCyABIAAgASABKQIcQX9BAEEAEJEONgIQCyABIAAoAoABKQIYNwIcIARBIGokAA8LQfDtBUHFmANBlAZBjd4AEAEAC88FAgl/AX4jAEEQayIHJAACQAJAAkAgASgCACIFKAIAQSNGBEAgBSgCCCIBQQhPDQEgAUECdEHYsAdqNQIAIQsgACAFKAIkIAUoAiwQqQQhASAAKAKAASIDLQCIAQRAIAMoAiAhAyAAKAJ4IQogB0IANwMAIAdCADcDCCAKIAcgAxDGAiEEIAAoAoQBQagBakEQQQQQXSIDIAE2AgwgAyAENgIIIANCCTcCACADIAEoAgRBAUYiAjYCBCADIAIgASgCBEEBRnI2AgQgACgCgAEoAiAiCEEHTw0DIAAoAoQBQagBakEMQQQQXSICIAQ2AgggAkEINgIAIAIgCDYCBCAAQYQBaiIJIAUpAxAgACgCgAEoAiAQhgMhBiAAKAKEAUGoAWpBFEEEEF0iASAGNgIQIAEgAjYCDCABIAhBAnRB2P8HaigCACIINgIIIAFCEDcCACAGRQ0EIAECf0EBIAIoAgQiAkEBRg0AGkEBIAYoAgRBAUYNABpBAiACQv+HgPD/gL/AHyAIQQ9rIgatiKdBAXEbIAIgBkE9SRsLNgIEIAAgASAJIAsgACgCgAEoAiAQhgMgBSgCLBCoBCEGIAAoAoABKAIgIQEgACgChAFBqAFqQQxBBBBdIgIgBDYCCCACQQg2AgAgAiABNgIEIAAoAoQBQagBaiIEQSBBBBBdIgFCADcCBCABQQE2AgAgAUIANwIMIAEgBDYCHCABQRRqQoCAgIAwNwIAIAEgBEEMQQQQXSIENgIQIAQgAzYCACABKAIQIAY2AgQgASgCECACNgIIIAFBAzYCFCABQQBBAEEAEOYBIAAoAoABIQMLIAUgATYCJCAFIAMpAhg3AiwgB0EQaiQADwtB8O0FQcWYA0GUBkGN3gAQAQALQZe9AkGkpAJBgwQQYgALQeHNBkGfnwNBwwFB8+cEEAEAC0G/8wBBpKQCQfAFQbLDAxABAAtBAAJAIAAoAgBBPkYEQCABRQ0BIAAgATYCCA8LQcqmBkGntwJBgSBBrLUDEAEAC0G69QFBp7cCQYIgQay1AxABAAuYAQIDfwF+IwBBIGsiBiQAQSgQXCIFQgA3AgAgBUIANwIgIAVCADcCGCAFQgA3AhAgBUIANwIIIAYgARBsNgIcIAYgATYCGCAGIAYpAhg3AwggBkEQaiAGQQhqEGUgBikDECEIIAUgAzoAJCAFIAI2AhwgBUEBOgAIIAUgCDcCACAFIAQ2AiAgACAFEOoGIQcgBkEgaiQAIAcLzwUCCX8BfiMAQRBrIgckAAJAAkACQCABKAIAIgUoAgBBIkYEQCAFKAIIIgFBDE8NASABQQJ0QYiwB2o1AgAhCyAAIAUoAiAgBSgCJBCpBCEBIAAoAoABIgMtAIgBBEAgAygCICEDIAAoAnghCiAHQgA3AwAgB0IANwMIIAogByADEMYCIQQgACgChAFBqAFqQRBBBBBdIgMgATYCDCADIAQ2AgggA0IJNwIAIAMgASgCBEEBRiICNgIEIAMgAiABKAIEQQFGcjYCBCAAKAKAASgCICIIQQdPDQMgACgChAFBqAFqQQxBBBBdIgIgBDYCCCACQQg2AgAgAiAINgIEIABBhAFqIgkgBSkDECAAKAKAASgCIBCGAyEGIAAoAoQBQagBakEUQQQQXSIBIAY2AhAgASACNgIMIAEgCEECdEHY/wdqKAIAIgg2AgggAUIQNwIAIAZFDQQgAQJ/QQEgAigCBCICQQFGDQAaQQEgBigCBEEBRg0AGkECIAJC/4eA8P+Av8AfIAhBD2siBq2Ip0EBcRsgAiAGQT1JGws2AgQgACABIAkgCyAAKAKAASgCIBCGAyAFKAIkEKgEIQYgACgCgAEoAiAhASAAKAKEAUGoAWpBDEEEEF0iAiAENgIIIAJBCDYCACACIAE2AgQgACgChAFBqAFqIgRBIEEEEF0iAUIANwIEIAFBATYCACABQgA3AgwgASAENgIcIAFBFGpCgICAgDA3AgAgASAEQQxBBBBdIgQ2AhAgBCADNgIAIAEoAhAgBjYCBCABKAIQIAI2AgggAUEDNgIUIAFBAEEAQQAQ5gEgACgCgAEhAwsgBSABNgIgIAUgAykCGDcCJCAHQRBqJAAPC0Hw7QVBxZgDQZQGQY3eABABAAtBl70CQaSkAkHpAxBiAAtB4c0GQZ+fA0HDAUHz5wQQAQALQb/zAEGkpAJB8AVBssMDEAEAC6EFAQl/IwBBEGsiByQAAkACQCABKAIAIgYoAgBBG0YEQCAAIAYoAhAgBigCGBCpBCEBIAAoAoABIgMtAIgBBEAgAygCICEDIAAoAnghCiAHQgA3AwAgB0IANwMIIAogByADEMYCIQQgACgChAFBqAFqQRBBBBBdIgMgATYCDCADIAQ2AgggA0IJNwIAIAMgASgCBEEBRiICNgIEIAMgAiABKAIEQQFGcjYCBCAAKAKAASgCICIIQQdPDQIgACgChAFBqAFqQQxBBBBdIgIgBDYCCCACQQg2AgAgAiAINgIEIABBhAFqIgkgBikDCCAAKAKAASgCIBCGAyEFIAAoAoQBQagBakEUQQQQXSIBIAU2AhAgASACNgIMIAEgCEECdEHY/wdqKAIAIgg2AgggAUIQNwIAIAVFDQMgAQJ/QQEgAigCBCICQQFGDQAaQQEgBSgCBEEBRg0AGkECIAJC/4eA8P+Av8AfIAhBD2siBa2Ip0EBcRsgAiAFQT1JGws2AgQgACABIAlCBCAAKAKAASgCIBCGAyAGKAIYEKgEIQUgACgCgAEoAiAhASAAKAKEAUGoAWpBDEEEEF0iAiAENgIIIAJBCDYCACACIAE2AgQgACgChAFBqAFqIgRBIEEEEF0iAUIANwIEIAFBATYCACABQgA3AgwgASAENgIcIAFBFGpCgICAgDA3AgAgASAEQQxBBBBdIgQ2AhAgBCADNgIAIAEoAhAgBTYCBCABKAIQIAI2AgggAUEDNgIUIAFBAEEAQQAQ5gEgACgCgAEhAwsgBiABNgIQIAYgAykCGDcCGCAHQRBqJAAPC0Hw7QVBxZgDQZQGQY3eABABAAtB4c0GQZ+fA0HDAUHz5wQQAQALQb/zAEGkpAJB8AVBssMDEAEAC9UFAQp/AkAgASgCACIBKAIAQRpGBEAgASgCHCICQQdPDQFBBCEGAkACQAJAIAJBAmsOAgIBAAtB74QEQcmpAkHwAhBiAAtBCCEGCyABAn8jAEEQayIHJAAgACABKAIQIAEoAiAQqQQhAgJAIAAoAoABIgQtAIgBBEAgBCgCICEEIAAoAnghCyAHQgA3AwAgB0IANwMIIAsgByAEEMYCIQkgACgChAFBqAFqQRBBBBBdIgQgAjYCDCAEIAk2AgggBEIJNwIAIAQgAigCBEEBRiIDNgIEIAQgAyACKAIEQQFGcjYCBCAAKAKAASgCICIIQQdPDQQgACgChAFBqAFqQQxBBBBdIgMgCTYCCCADQQg2AgAgAyAINgIEIABBhAFqIgogASkDCCAAKAKAASgCIBCGAyEFIAAoAoQBQagBakEUQQQQXSICIAU2AhAgAiADNgIMIAIgCEECdEHY/wdqKAIAIgg2AgggAkIQNwIAIAVFDQEgAgJ/QQEgAygCBCIDQQFGDQAaQQEgBSgCBEEBRg0AGkECIANC/4eA8P+Av8AfIAhBD2siBa2Ip0EBcRsgAyAFQT1JGws2AgQgACACIAogBq0gACgCgAEoAiAQhgMgASgCIBCoBCEFIAAoAoABKAIgIQIgACgChAFBqAFqQQxBBBBdIgYgCTYCCCAGQQg2AgAgBiACNgIEIAAoAoQBQagBaiIDQSBBBBBdIgJCADcCBCACQQE2AgAgAkIANwIMIAIgAzYCHCACQoCAgIAwNwIUIAIgA0EMQQQQXSIDNgIQIAMgBDYCACACKAIQIAU2AgQgAigCECAGNgIIIAJBAzYCFCACQQBBAEEAEOYBCyAHQRBqJAAgAgwBC0G/8wBBpKQCQfAFQbLDAxABAAs2AhAgASAAKAKAASkCGDcCIA8LQfDtBUHFmANBlAZBjd4AEAEAC0HhzQZBn58DQcMBQfPnBBABAAuqBQIJfwF+IwBBEGsiByQAAkACQCABKAIAIgUoAgBBGUYEQCAFMQAIIQsgACAFKAIYIAUoAiQQqQQhASAAKAKAASIDLQCIAQRAIAMoAiAhAyAAKAJ4IQogB0IANwMAIAdCADcDCCAKIAcgAxDGAiEEIAAoAoQBQagBakEQQQQQXSIDIAE2AgwgAyAENgIIIANCCTcCACADIAEoAgRBAUYiAjYCBCADIAIgASgCBEEBRnI2AgQgACgCgAEoAiAiCEEHTw0CIAAoAoQBQagBakEMQQQQXSICIAQ2AgggAkEINgIAIAIgCDYCBCAAQYQBaiIJIAUpAxAgACgCgAEoAiAQhgMhBiAAKAKEAUGoAWpBFEEEEF0iASAGNgIQIAEgAjYCDCABIAhBAnRB2P8HaigCACIINgIIIAFCEDcCACAGRQ0DIAECf0EBIAIoAgQiAkEBRg0AGkEBIAYoAgRBAUYNABpBAiACQv+HgPD/gL/AHyAIQQ9rIgatiKdBAXEbIAIgBkE9SRsLNgIEIAAgASAJIAsgACgCgAEoAiAQhgMgBSgCJBCoBCEGIAAoAoABKAIgIQEgACgChAFBqAFqQQxBBBBdIgIgBDYCCCACQQg2AgAgAiABNgIEIAAoAoQBQagBaiIEQSBBBBBdIgFCADcCBCABQQE2AgAgAUIANwIMIAEgBDYCHCABQRRqQoCAgIAwNwIAIAEgBEEMQQQQXSIENgIQIAQgAzYCACABKAIQIAY2AgQgASgCECACNgIIIAFBAzYCFCABQQBBAEEAEOYBIAAoAoABIQMLIAUgATYCGCAFIAMpAhg3AiQgB0EQaiQADwtB8O0FQcWYA0GUBkGN3gAQAQALQeHNBkGfnwNBwwFB8+cEEAEAC0G/8wBBpKQCQfAFQbLDAxABAAuqBQIJfwF+IwBBEGsiByQAAkACQCABKAIAIgUoAgBBGEYEQCAFMQAMIQsgACAFKAIYIAUoAiAQqQQhASAAKAKAASIDLQCIAQRAIAMoAiAhAyAAKAJ4IQogB0IANwMAIAdCADcDCCAKIAcgAxDGAiEEIAAoAoQBQagBakEQQQQQXSIDIAE2AgwgAyAENgIIIANCCTcCACADIAEoAgRBAUYiAjYCBCADIAIgASgCBEEBRnI2AgQgACgCgAEoAiAiCEEHTw0CIAAoAoQBQagBakEMQQQQXSICIAQ2AgggAkEINgIAIAIgCDYCBCAAQYQBaiIJIAUpAxAgACgCgAEoAiAQhgMhBiAAKAKEAUGoAWpBFEEEEF0iASAGNgIQIAEgAjYCDCABIAhBAnRB2P8HaigCACIINgIIIAFCEDcCACAGRQ0DIAECf0EBIAIoAgQiAkEBRg0AGkEBIAYoAgRBAUYNABpBAiACQv+HgPD/gL/AHyAIQQ9rIgatiKdBAXEbIAIgBkE9SRsLNgIEIAAgASAJIAsgACgCgAEoAiAQhgMgBSgCIBCoBCEGIAAoAoABKAIgIQEgACgChAFBqAFqQQxBBBBdIgIgBDYCCCACQQg2AgAgAiABNgIEIAAoAoQBQagBaiIEQSBBBBBdIgFCADcCBCABQQE2AgAgAUIANwIMIAEgBDYCHCABQRRqQoCAgIAwNwIAIAEgBEEMQQQQXSIENgIQIAQgAzYCACABKAIQIAY2AgQgASgCECACNgIIIAFBAzYCFCABQQBBAEEAEOYBIAAoAoABIQMLIAUgATYCGCAFIAMpAhg3AiAgB0EQaiQADwtB8O0FQcWYA0GUBkGN3gAQAQALQeHNBkGfnwNBwwFB8+cEEAEAC0G/8wBBpKQCQfAFQbLDAxABAAuqBQIJfwF+IwBBEGsiByQAAkACQCABKAIAIgUoAgBBDUYEQCAFMQAIIQsgACAFKAIkIAUoAjAQqQQhASAAKAKAASIDLQCIAQRAIAMoAiAhAyAAKAJ4IQogB0IANwMAIAdCADcDCCAKIAcgAxDGAiEEIAAoAoQBQagBakEQQQQQXSIDIAE2AgwgAyAENgIIIANCCTcCACADIAEoAgRBAUYiAjYCBCADIAIgASgCBEEBRnI2AgQgACgCgAEoAiAiCEEHTw0CIAAoAoQBQagBakEMQQQQXSICIAQ2AgggAkEINgIAIAIgCDYCBCAAQYQBaiIJIAUpAxAgACgCgAEoAiAQhgMhBiAAKAKEAUGoAWpBFEEEEF0iASAGNgIQIAEgAjYCDCABIAhBAnRB2P8HaigCACIINgIIIAFCEDcCACAGRQ0DIAECf0EBIAIoAgQiAkEBRg0AGkEBIAYoAgRBAUYNABpBAiACQv+HgPD/gL/AHyAIQQ9rIgatiKdBAXEbIAIgBkE9SRsLNgIEIAAgASAJIAsgACgCgAEoAiAQhgMgBSgCMBCoBCEGIAAoAoABKAIgIQEgACgChAFBqAFqQQxBBBBdIgIgBDYCCCACQQg2AgAgAiABNgIEIAAoAoQBQagBaiIEQSBBBBBdIgFCADcCBCABQQE2AgAgAUIANwIMIAEgBDYCHCABQRRqQoCAgIAwNwIAIAEgBEEMQQQQXSIENgIQIAQgAzYCACABKAIQIAY2AgQgASgCECACNgIIIAFBAzYCFCABQQBBAEEAEOYBIAAoAoABIQMLIAUgATYCJCAFIAMpAhg3AjAgB0EQaiQADwtB8O0FQcWYA0GUBkGN3gAQAQALQeHNBkGfnwNBwwFB8+cEEAEAC0G/8wBBpKQCQfAFQbLDAxABAAuqBQIJfwF+IwBBEGsiByQAAkACQCABKAIAIgUoAgBBDEYEQCAFMQAIIQsgACAFKAIkIAUoAigQqQQhASAAKAKAASIDLQCIAQRAIAMoAiAhAyAAKAJ4IQogB0IANwMAIAdCADcDCCAKIAcgAxDGAiEEIAAoAoQBQagBakEQQQQQXSIDIAE2AgwgAyAENgIIIANCCTcCACADIAEoAgRBAUYiAjYCBCADIAIgASgCBEEBRnI2AgQgACgCgAEoAiAiCEEHTw0CIAAoAoQBQagBakEMQQQQXSICIAQ2AgggAkEINgIAIAIgCDYCBCAAQYQBaiIJIAUpAxAgACgCgAEoAiAQhgMhBiAAKAKEAUGoAWpBFEEEEF0iASAGNgIQIAEgAjYCDCABIAhBAnRB2P8HaigCACIINgIIIAFCEDcCACAGRQ0DIAECf0EBIAIoAgQiAkEBRg0AGkEBIAYoAgRBAUYNABpBAiACQv+HgPD/gL/AHyAIQQ9rIgatiKdBAXEbIAIgBkE9SRsLNgIEIAAgASAJIAsgACgCgAEoAiAQhgMgBSgCKBCoBCEGIAAoAoABKAIgIQEgACgChAFBqAFqQQxBBBBdIgIgBDYCCCACQQg2AgAgAiABNgIEIAAoAoQBQagBaiIEQSBBBBBdIgFCADcCBCABQQE2AgAgAUIANwIMIAEgBDYCHCABQRRqQoCAgIAwNwIAIAEgBEEMQQQQXSIENgIQIAQgAzYCACABKAIQIAY2AgQgASgCECACNgIIIAFBAzYCFCABQQBBAEEAEOYBIAAoAoABIQMLIAUgATYCJCAFIAMpAhg3AiggB0EQaiQADwtB8O0FQcWYA0GUBkGN3gAQAQALQeHNBkGfnwNBwwFB8+cEEAEAC0G/8wBBpKQCQfAFQbLDAxABAAu+IgEOfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgASgCACICKAIADl4AAQIDBAUGBwgJCgsMDR4fICEiIyQlNTYODxAREhMUFRYXGBkaGxwdNyYnKCkqKywtLi8wMTIzNDg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaW1wAXQtBmP0DQeWzA0HqARBiAAsgAEEUakG44gAgARBYIAIoAgBBAUcNXCACKAIUIgFBAEwNWyAAQRhqIQMDQCABQQFrIgAgAigCFE8NXiACKAIQIABBAnRqIgQoAgBFDV8gA0G34gAgBBBbIAFBAUshBiAAIQEgBg0ACwxbCyAAQRRqIgNBueIAIAEQWCACKAIAQQJHDVsgAigCEARAIABBGGpBt+IAIAJBEGoQWwsgA0G34gAgAkEMahBYIANBt+IAIAJBCGoQWA8LIABBFGoiAEG64gAgARBYIAIoAgBBA0cNWgxgCyAAQRRqQbviACABEFggAigCAEEERw1ZIAIoAhQEQCAAQRhqQbfiACACQRRqEFsLIAIoAhBFDVggAEEYakG34gAgAkEQahBbDwsgAEEUaiIDQbziACABEFggAigCAEEFRw1YIANBt+IAIAJBJGoQWCACKAIgRQ1XIABBGGpBt+IAIAJBIGoQWw8LIABBFGpBveIAIAEQWCACKAIAQQZHDVcgAigCDCIBQQBMDVYgAEEYaiEDA0AgAUEBayIAIAIoAgxPDVkgAigCCCAAQQJ0aiIEKAIARQ1aIANBt+IAIAQQWyABQQFLIQcgACEBIAcNAAsMVgsgAEEUaiIDQb7iACABEFggAigCAEEHRw1WIANBt+IAIAJBHGoQWCACKAIQIgFBAEwNVSAAQRhqIQMDQCABQQFrIgAgAigCEE8NWCACKAIMIABBAnRqIgQoAgBFDVkgA0G34gAgBBBbIAFBAUshCCAAIQEgCA0ACwxVCyAAQRRqQb/iACABEFggAigCAEEIRg1UDFULIABBFGoiAEHA4gAgARBYIAIoAgBBCUcNVAxdCyAAQRRqQcHiACABEFggAigCAEEKRg1SDFMLIABBFGoiAEHC4gAgARBYIAIoAgBBC0cNUgxYCyAAQRRqIgBBw+IAIAEQWCACKAIAQQxHDVEMXAsgAEEUaiIAQcTiACABEFggAigCAEENRw1QDFoLIABBFGoiAEHF4gAgARBYIAIoAgBBGEcNTwxbCyAAQRRqIgBBxuIAIAEQWCACKAIAQRlHDU4gAEG34gAgAkEgahBYDFoLIABBFGoiAEHH4gAgARBYIAIoAgBBGkcNTQxRCyAAQRRqIgBByOIAIAEQWCACKAIAQRtHDUwMUQsgAEEUakHJ4gAgARBYIAIoAgBBHEYNSgxLCyAAQRRqIgBByuIAIAEQWCACKAIAQR1HDUoMUwsgAEEUaiIAQcviACABEFggAigCAEEeRw1JIABBt+IAIAJBFGoQWAxSCyAAQRRqIgBBzOIAIAEQWCACKAIAQR9HDUgMVwsgAEEUaiIAQc3iACABEFggAigCAEEgRw1HDE4LIABBFGoiAEHO4gAgARBYIAIoAgBBIUcNRgxOCyAAQRRqIgBBz+IAIAEQWCACKAIAQSJHDUUgAEG34gAgAkEgahBYDwsgAEEUaiIAQdDiACABEFggAigCAEEjRw1EDE4LIABBFGoiAEHR4gAgARBYIAIoAgBBJEcNQwxHCyAAQRRqQdLiACABEFggAigCAEElRg1BDEILIABBFGoiAEHT4gAgARBYIAIoAgBBJkcNQQxPCyAAQRRqIgBB1OIAIAEQWCACKAIAQSdHDUAMTgsgAEEUakHV4gAgARBYIAIoAgBBDkYNPgw/CyAAQRRqIgBB1uIAIAEQWCACKAIAQQ9HDT4MRwsgAEEUaiIAQdfiACABEFggAigCAEEQRw09DEULIABBFGoiAEHY4gAgARBYIAIoAgBBEUcNPAxKCyAAQRRqIgBB2eIAIAEQWCACKAIAQRJHDTsMSwsgAEEUakHa4gAgARBYIAIoAgBBE0cNOiACKAIIRQ05DEsLIABBFGpB2+IAIAEQWCACKAIAQRRGDTgMOQsgAEEUaiIAQdziACABEFggAigCAEEVRw04DEgLIABBFGpB3eIAIAEQWCACKAIAQSlGDTYMNwsgAEEUaiIAQd7iACABEFggAigCAEEqRw02DEYLIABBFGpB3+IAIAEQWCACKAIAQStGDTQMNQsgAEEUaiIAQeDiACABEFggAigCAEEsRw00DEMLIABBFGoiAEHh4gAgARBYIAIoAgBBLUcNMww5CyAAQRRqIgBB4uIAIAEQWCACKAIAQS5HDTIMNwsgAEEUakHj4gAgARBYIAIoAgBBL0YNMAwxCyAAQRRqIgBB5OIAIAEQWCACKAIAQTBHDTAMNQsgAEEUaiIAQeXiACABEFggAigCAEExRw0vDDMLIABBFGoiAEHm4gAgARBYIAIoAgBBMkcNLgw8CyAAQRRqIgNB5+IAIAEQWCACKAIAQTNHDS0gAigCKCIBQQBKBEAgAEEYaiEEA0AgAUEBayIAIAIoAihPDTAgAigCJCAAQQJ0aiIFKAIARQ0xIARBt+IAIAUQWyABQQFLIQkgACEBIAkNAAsLIANBt+IAIAJBEGoQWA8LIABBFGoiAEHo4gAgARBYIAIoAgBBNEYEQAw9CwwsCyAAQRRqQeniACABEFggAigCAEE1Rw0rIAIoAhQiAUEATA0qIABBGGohAwNAIAFBAWsiACACKAIUTw0tIAIoAhAgAEECdGoiBCgCAEUNLiADQbfiACAEEFsgAUEBSyEKIAAhASAKDQALDCoLIABBFGpB6uIAIAEQWCACKAIAQTZGDSkMKgsgAEEUaiIAQeviACABEFggAigCAEE3Rw0pDDkLIABBFGpB7OIAIAEQWCACKAIAQRZGDScMKAsgAEEUakHt4gAgARBYIAIoAgBBF0YNJgwnCyAAQRRqQe7iACABEFggAigCAEEoRg0lDCYLIABBFGpB7+IAIAEQWCACKAIAQThHDSUgAigCDCIBQQBMDSQgAEEYaiEDA0AgAUEBayIAIAIoAgxPDScgAigCCCAAQQJ0aiIEKAIARQ0oIANBt+IAIAQQWyABQQFLIQsgACEBIAsNAAsMJAsgAEEUaiIAQfDiACABEFggAigCAEE5Rw0kDDQLIABBFGoiAEHx4gAgARBYIAIoAgBBOkcNIwwzCyAAQRRqIgBB8uIAIAEQWCACKAIAQTtHDSIMMgsgAEEUaiIDQfPiACABEFggAigCAEE8Rw0hIANBt+IAIAJBGGoQWCACKAIMIgFBAEwNICAAQRhqIQMDQCABQQFrIgAgAigCDE8NIyACKAIIIABBAnRqIgQoAgBFDSQgA0G34gAgBBBbIAFBAUshDCAAIQEgDA0ACwwgCyAAQRRqIgBB9OIAIAEQWCACKAIAQT1HDSAMMAsgAEEUaiIAQfXiACABEFggAigCAEE+Rw0fDC8LIABBFGoiAEH24gAgARBYIAIoAgBBP0cNHiAAQbfiACACQRRqEFgPCyAAQRRqQffiACABEFggAigCAEHAAEcNHSACKAIMIgFBAEwNHCAAQRhqIQMDQCABQQFrIgAgAigCDE8NHyACKAIIIABBAnRqIgQoAgBFDSAgA0G34gAgBBBbIAFBAUshDSAAIQEgDQ0ACwwcCyAAQRRqIgBB+OIAIAEQWCACKAIAQcEARw0cDCULIABBFGoiAEH54gAgARBYIAIoAgBBwgBHDRsMIwsgAEEUaiIDQfriACABEFggAigCAEHDAEcNGiADQbfiACACQQxqEFggAigCCEUNGQwrCyAAQRRqIgBB++IAIAEQWCACKAIAQcQARw0ZDB4LIABBFGoiAEH84gAgARBYIAIoAgBBxQBHDRgMHQsgAEEUakH94gAgARBYIAIoAgBBxgBHDRcgAigCDCIBQQBMDRYgAEEYaiEDA0AgAUEBayIAIAIoAgxPDRkgAigCCCAAQQJ0aiIEKAIARQ0aIANBt+IAIAQQWyABQQFLIQ4gACEBIA4NAAsMFgsgAEEUaiIAQf7iACABEFggAigCAEHHAEcNFgwlCyAAQRRqIgBB/+IAIAEQWCACKAIAQcgARw0VDCMLIABBFGoiAEGA4wAgARBYIAIoAgBByQBHDRQMJAsgAEEUaiIAQYHjACABEFggAigCAEHKAEcNEyAAQbfiACACQRhqEFgMIAsgAEEUaiIAQYLjACABEFggAigCAEHLAEcNEgwfCyAAQRRqIgBBg+MAIAEQWCACKAIAQcwARw0RDBQLIABBFGoiAEGE4wAgARBYIAIoAgBBzQBHDRAMEwsgAEEUaiIAQYXjACABEFggAigCAEHOAEcNDwwYCyAAQRRqIgNBhuMAIAEQWCACKAIAQc8ARw0OIAIoAhgEQCAAQRhqQbfiACACQRhqEFsLIAIoAhQEQCAAQRhqQbfiACACQRRqEFsLIAIoAhAEQCAAQRhqQbfiACACQRBqEFsLDCALIABBFGpBh+MAIAEQWCACKAIAQdAARg0MDA0LIABBFGoiAEGI4wAgARBYIAIoAgBB0QBHDQwMFQsgAEEUaiIDQYnjACABEFggAigCAEHSAEcNCyACKAIUBEAgAEEYakG34gAgAkEUahBbCyADQbfiACACQRBqEFgMHQsgAEEUaiIAQYrjACABEFggAigCAEHTAEcNCgwZCyAAQRRqIgBBi+MAIAEQWCACKAIAQdQARw0JDBELIABBFGoiAEGM4wAgARBYIAIoAgBB1QBHDQgMEQsgAEEUaiIAQY3jACABEFggAigCAEHWAEcNBwwVCyAAQRRqIgBBjuMAIAEQWCACKAIAQdcARw0GDBULIABBFGoiAEGP4wAgARBYIAIoAgBB2ABHDQUMFQsgAEEUaiIAQZDjACABEFggAigCAEHZAEcNBAwMCyAAQRRqIgBBkeMAIAEQWCACKAIAQdoARw0DDAoLIABBFGoiAEGS4wAgARBYIAIoAgBB2wBHDQIMEQsgAEEUaiIDQZPjACABEFggAigCAEHcAEcNASADQbfiACACQTxqEFggAigCMCIBQQBMDQAgAEEYaiEDA0AgAUEBayIAIAIoAjBPDQMgAigCLCAAQQJ0aiIEKAIARQ0EIANBt+IAIAQQWyABQQFLIQ8gACEBIA8NAAsLDwtB8O0FQcWYA0GUBkGN3gAQAQALQcWiAUGJogNBvAFBpogFEAEAC0GBgwJB05kDQbkCQa73AhABAAsgAEG34gAgAkEcahBYCyAAQbfiACACQRhqEFgLIABBt+IAIAJBFGoQWAsgAEG34gAgAkEQahBYDwsgAEG34gAgAkEUahBYCyAAQbfiACACQRBqEFgLIABBt+IAIAJBDGoQWA8LIABBt+IAIAJBKGoQWAsgAEG34gAgAkEkahBYDwsgAEG34gAgAkEcahBYIABBt+IAIAJBGGoQWA8LIABBt+IAIAJBFGoQWAsgAEG34gAgAkEQahBYCyAAQbfiACACQQxqEFgLIABBt+IAIAJBCGoQWA8LIABBGGpBt+IAIAJBCGoQWw8LIANBt+IAIAJBDGoQWAveEAEYfyMAQbACayIDJAACQAJAAkACQAJAAkACQAJAAkACQAJAIAAoAgQEQCAAIAAoAgAoAhARAgAEQCADIAAoAgQiAikCODcD+AEgAyACKQIwNwPwASADIAIpAig3A+gBIAMgAikCIDcD4AEgAyACKQIYNwPYASADQYACaiACQUBrEOMBIQRB1IkLQQA2AgBBmgEgA0GUAmogAkHUAGoQAiEFQdSJCygCACERQdSJC0EANgIAIBFBAUYNAiADIAIoAmg2AqgCIAMgAigCbCICNgKsAiACBEAgAiACKAIEQQFqNgIECyADQQEgAygC4AEiAiACQQBKGzYC4AEgAyADKQPoATcDGCADIAMpA/ABNwMgIAMgAykD+AE3AyggAyADKQPgATcDECADQQEgAygC3AEiAiACQQBKGzYC3AFB1IkLQQA2AgAgAyADKQPYATcDCEGbASADQTBqIAQQAiEEQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBxABqIAUQAiEFQdSJCygCACESQdSJC0EANgIAIBJBAUYNBSADIAMoAqwCIgI2AlwgAyADKAKoAjYCWCACBEAgAiACKAIEQQFqNgIECyADQQA2AnggAyADKQMQNwKEASADIAMpAxg3AowBIAMgAykDIDcClAEgAyADKQMoNwKcASADQgA3AnAgA0H87Ak2AmQgAyADKQMINwJ8QdSJC0EANgIAIAMgATYCaCADIAFBqAFqNgJsQZsBIANBpAFqIAQQAiEBQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBuAFqIAUQAhpB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRwRAIAMgAygCWDYCzAEgAyADKAJcIgE2AtABIAEEQCABIAEoAgRBAWo2AgQLIANBADsB1AEgA0EIahBhIANBAToA1AEgACgCACgCFCEUQdSJC0EANgIAIBQgABAGIQBB1IkLKAIAIRVB1IkLQQA2AgAgFUEBRg0EIAMoAmQoAgghFkHUiQtBADYCACAWIANB5ABqIgEgABADQdSJCygCACEXQdSJC0EANgIAIBdBAUYNBEHUiQtBADYCAEGXASABEApB1IkLKAIAIRhB1IkLQQA2AgAgGEEBRg0EIANB/OwJNgJkIANB/ABqEGEgAygCcCIBBEAgAygCdCIAIAEiAkcEQANAIABBBGsiACgCACECIABBADYCACACBEAgAiACKAIAKAIEEQEACyAAIAFHDQALIAMo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ARCkAhBaCyAFQQFqIgUgACgCFCICQUBrKAIAIgEgAigCPCIEa0ECdUkNAAsgASAERg0AQQAhCANAIAQgCEECdGooAgApAwAhdCADIAI2AugCIHRCIIgidaciAUHw////B08NGwJAAkAgAUELTwRAIAFBD3JBAWoiAhBcIQQgAyACQYCAgIB4cjYC2AIgAyAENgLQAiADIAE2AtQCDAELIAMgdTwA2wIgA0HQAmohBCABRQ0BCyAEIHSnIAH8CgAACyABIARqQQA6AABB1IkLQQA2AgBBjQIgA0HQAmpBiDUQAiEBQdSJCygCACECQdSJC0EANgIAAkACQAJAAkACQAJAAkACQAJAIAJBAUcEQCADIAEoAgg2AmggAyABKQIANwNgIAFCADcCACABQQA2AgggAyADKAJkIAMsAGsiAkH/AXEgAkEASCICGzYCpAIgAyADKAJgIANB4ABqIAIbNgKgAkHUiQtBADYCACADIAMpAqACNwM4QQYgA0HgAmogA0E4ahADQdSJCygCACE2QdSJC0EANgIAIDZBAUYNASADLABrQQBIBEAgAygCYBBaCyADLADbAkEASARAIAEoAgAQWgsgAykD4AIhdCADIAAoAhQiAjYCZCADQYzvCTYCYCADIANB4ABqIgE2AnAgAigCECEFIAIoAgwhAkHUiQtBADYCAEHYGyADQcgCaiB0IAEgBSACa0ECdRDzAkHUiQsoAgAhAkHUiQtBADYCAAJAAkACQCACQQFHBEACQAJAIAEgAygCcCICRgRAQQQhBCABIQIMAQtBBSEEIAJFDQELIAIgAigCACAEQQJ0aigCABEBAAsgAyAAKAIgIgE2AsACIAMgATYCvAIgAyADKQK8AjcDMCADKQPIAiF4IANBxAJqIANBMGoQpwMhNyADQQA2AmggA0IANwJgIDcoAgAhOEHUiQtBADYCACB4IDggA0HgAGpBABCNAyEFQdSJCygCACE5QdSJC0EANgIAIDlBAUYNLCADIAU2AuwCIAMoAmAiAQRAIAEQWgsgA0EKNgJkIANBku0ENgJgQdSJC0EANgIAIAMgAykCYDcDKEEGIANBtAJqIANBKGoQA0HUiQsoAgAhOkHUiQtBADYCACA6QQFGDQdB1IkLQQA2AgAgAyADKQK0AjcDIEG04gAgBUEAIANBIGoQCEHUiQsoAgAhO0HU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AogBIgJFBEAgAEGIAWoiAyEBDAELA0AgAiIBKAIQIgJB6PwBSwRAIAEhAyABKAIAIgINAQwCCyACQej8AU8EQCABIQIMAwsgASgCBCICDQALIAFBBGohAwtBGBBcIgJB6PwBNgIQIAIgATYCCCACQgA3AgAgAkEANgIUIAMgAjYCACACIQEgACgChAEoAgAiBARAIAAgBDYChAEgAygCACEBCyAAKAKIASABEGcgACAAKAKMAUEBajYCjAELIAJBFGogAigCFEEBajYCAA8LQfDtBUHFmANBlAZBjd4AEAEAC/oBAQN/IAEoAgAoAgBB2gBGBEACQAJAIAAoAogBIgJFBEAgAEGIAWoiAyEBDAELA0AgAiIBKAIQIgJBsZIFSwRAIAEhAyABKAIAIgINAQwCCyACQbGSBU8EQCABIQIMAwsgASgCBCICDQALIAFBBGohAwtBGBBcIgJBsZIFNgIQIAIgATYCCCACQgA3AgAgAkEANgIUIAMgAjYCACACIQEgACgChAEoAgAiBARAIAAgBDYChAEgAygCACEBCyAAKAKIASABEGcgACAAKAKMAUEBajYCjAELIAJBFGogAigCFEEBajYCAA8LQfDtBUHFmANBlAZBjd4AEAEAC/oBAQN/IAEoAgAoAgBB2QBGBEACQAJAIAAoAogBIgJFBEAgAEGIAWoiAyEBDAELA0AgAiIBKAIQIgJBhsYDSwRAIAEhAyABKAIAIgINAQwCCyACQYbGA08EQCABIQIMAwsgASgCBCICDQALIAFBBGohAwtBGBBcIgJBhsYDNgIQIAIgATYCCCACQgA3AgAgAkEANgIUIAMgAjYCACACIQEgACgChAEoAgAiBARAIAAgBDYChAEgAygCACEBCyAAKAKIASABEGcgACAAKAKMAUEBajYCjAELIAJBFGogAigCFEEBajYCAA8LQfDtBUHFmANBlAZBjd4AEAEAC1sBAX8gAEGoAWpBDEEEEF0iACABNgIIIABBPjYCACAAIAI2AgRBASEDAkAgACABKAIEIgFBAUcEfyABQQdJDQEgASgCBEEBRw0BIAIgARCSAwVBAQs2AgQLIAAL+gEBA38gASgCACgCAEHYAEYEQAJAAkAgACgCiAEiAkUEQCAAQYgBaiIDIQEMAQsDQCACIgEoAhAiAkHBzgBLBEAgASEDIAEoAgAiAg0BDAILIAJBwc4ATwRAIAEhAgwDCyABKAIEIgINAAsgAUEEaiEDC0EYEFwiAkHBzgA2AhAgAiABNgIIIAJCADcCACACQQA2AhQgAyACNgIAIAIhASAAKAKEASgCACIEBEAgACAENgKEASADKAIAIQELIAAoAogBIAEQZyAAIAAoAowBQQFqNgKMAQsgAkEUaiACKAIUQQFqNgIADwtB8O0FQcWYA0GUBkGN3gAQAQAL+gEBA38gASgCACgCAEHXAEYEQAJAAkAgACgCiAEiAkUEQCAAQYgBaiIDIQEMAQsDQCACIgEoAhAiAkHZhQFLBEAgASEDIAEoAgAiAg0BDAILIAJB2YUBTwRAIAEhAgwDCyABKAIEIgINAAsgAUEEaiEDC0EYEFwiAkHZhQE2AhAgAiABNgIIIAJCADcCACACQQA2AhQgAyACNgIAIAIhASAAKAKEASgCACIEBEAgACAENgKEASADKAIAIQELIAAoAogBIAEQZyAAIAAoAowBQQFqNgKMAQsgAkEUaiACKAIUQQFqNgIADwtB8O0FQcWYA0GUBkGN3gAQAQAL+gEBA38gASgCACgCAEHWAEYEQAJAAkAgACgCiAEiAkUEQCAAQYgBaiIDIQEMAQsDQCACIgEoAhAiAkHjvgRLBEAgASEDIAEoAgAiAg0BDAILIAJB474ETwRAIAEhAgwDCyABKAIEIgINAAsgAUEEaiEDC0EYEFwiAkHjvgQ2AhAgAiABNgIIIAJCADcCACACQQA2AhQgAyACNgIAIAIhASAAKAKEASgCACIEBEAgACAENgKEASADKAIAIQELIAAoAogBIAEQZyAAIAAoAowBQQFqNgKMAQsgAkEUaiACKAIUQQFqNgIADwtB8O0FQcWYA0GUBkGN3gAQAQAL+gEBA38gASgCACgCAEHVAEYEQAJAAkAgACgCiAEiAkUEQCAAQYgBaiIDIQEMAQsDQCACIgEoAhAiAkGu7QFLBEAgASEDIAEoAgAiAg0BDAILIAJBru0BTwRAIAEhAgwDCyABKAIEIgINAAsgAUEEaiEDC0EYEFwiAkGu7QE2AhAgAiABNgIIIAJCADcCACACQQA2AhQgAyACNgIAIAIhASAAKAKEASgCACIEBEAgACAENgKEASADKAIAIQELIAAoAogBIAEQZyAAIAAoAowBQQFqNgKMAQsgAkEUaiACKAIUQQFqNgIADwtB8O0FQcWYA0GUBkGN3gAQAQAL+gEBA38gASgCACgCAEHUAEYEQAJAAkAgACgCiAEiAkUEQCAAQYgBaiIDIQEMAQsDQCACIgEoAhAiAkGMggJLBEAgASEDIAEoAgAiAg0BDAILIAJBjIICTwRAIAEhAgwDCyABKAIEIgINAAsgAUEEaiEDC0EYEFwiAkGMggI2AhAgAiABNgIIIAJCADcCACACQQA2AhQgAyACNgIAIAIhASAAKAKEASgCACIEBEAgACAENgKEASADKAIAIQELIAAoAogBIAEQZyAAIAAoAowBQQFqNgKMAQsgAkEUaiACKAIUQQFqNgIADwtB8O0FQcWYA0GUBkGN3gAQAQAL+gEBA38gASgCACgCAEHTAEYEQAJAAkAgACgCiAEiAkUEQCAAQYgBaiIDIQEMAQsDQCACIgEoAhAiAkH5jwFLBEAgASEDIAEoAgAiAg0BDAILIAJB+Y8BTwRAIAEhAgwDCyABKAIEIgINAAsgAUEEaiEDC0EYEFwiAkH5jwE2AhAgAiABNgIIIAJCADcCACACQQA2AhQgAyACNgIAIAIhASAAKAKEASgCACIEBEAgACAENgKEASADKAIAIQELIAAoAogBIAEQZyAAIAAoAowBQQFqNgKMAQsgAkEUaiACKAIUQQFqNgIADwtB8O0FQcWYA0GUBkGN3gAQAQAL+gEBA38gASgCACgCAEHSAEYEQAJAAkAgACgCiAEiAkUEQCAAQYgBaiIDIQEMAQsDQCACIgEoAhAiAkGPtgRLBEAgASEDIAEoAgAiAg0BDAILIAJBj7YETwRAIAEhAgwDCyABKAIEIgINAAsgAUEEaiEDC0EYEFwiAkGPtgQ2AhAgAiABNgIIIAJCADcCACACQQA2AhQgAyACNgIAIAIhASAAKAKEASgCACIEBEAgACAENgKEASADKAIAIQELIAAoAogBIAEQZyAAIAAoAowBQQFqNgKMAQsgAkEUaiACKAIUQQFqNgIADwtB8O0FQcWYA0GUBkGN3gAQAQAL+gEBA38gASgCACgCAEHRAEYEQAJAAkAgACgCiAEiAkUEQCAAQYgBaiIDIQEMAQsDQCACIgEoAhAiAkGL4wNLBEAgASEDIAEoAgAiAg0BDAILIAJBi+MDTwRAIAEhAgwDCyABKAIEIgINAAsgAUEEaiEDC0EYEFwiAkGL4wM2AhAgAiABNgIIIAJCADcCACACQQA2AhQgAyACNgIAIAIhASAAKAKEASgCACIEBEAgACAENgKEASADKAIAIQELIAAoAogBIAEQZyAAIAAoAowBQQFqNgKMAQsgAkEUaiACKAIUQQFqNgIADwtB8O0FQcWYA0GUBkGN3gAQAQAL+gEBA38gASgCACgCAEHQAEYEQAJAAkAgACgCiAEiAkUEQCAAQYgBaiIDIQEMAQsDQCACIgEoAhAiAkGg0gBLBEAgASEDIAEoAgAiAg0BDAILIAJBoNIATwRAIAEhAgwDCyABKAIEIgINAAsgAUEEaiEDC0EYEFwiAkGg0gA2AhAgAiABNgIIIAJCADcCACACQQA2AhQgAyACNgIAIAIhASAAKAKEASgCACIEBEAgACAENgKEASADKAIAIQELIAAoAogBIAEQZyAAIAAoAowBQQFqNgKMAQsgAkEUaiACKAIUQQFqNgIADwtB8O0FQcWYA0GUBkGN3gAQAQAL9wEBA38gASgCACgCAEHPAEYEQAJAAkAgACgCiAEiAkUEQCAAQYgBaiIDIQEMAQsDQCACIgEoAhAiAkGdOksEQCABIQMgASgCACICDQEMAgsgAkGdOk8EQCABIQIMAwsgASgCBCICDQALIAFBBGohAwtBGBBcIgJBnTo2AhAgAiABNgIIIAJCADcCACACQQA2AhQgAyACNgIAIAIhASAAKAKEASgCACIEBEAgACAENgKEASADKAIAIQELIAAoAogBIAEQZyAAIAAoAowBQQFqNgKMAQsgAkEUaiACKAIUQQFqNgIADwtB8O0FQcWYA0GUBkGN3gAQAQALQgACQCAAKAIAQc4ARgRAIAFFDQEgACABNgIMDwtBmKwGQae3AkG9HEGs0QMQAQALQe31AUGntwJBvhxBrNEDEAEAC/oBAQN/IAEoAgAoAgBBzgBGBEACQAJAIAAoAogBIgJFBEAgAEGIAWoiAyEBDAELA0AgAiIBKAIQIgJBvO0BSwRAIAEhAyABKAIAIgINAQwCCyACQbztAU8EQCABIQIMAwsgASgCBCICDQALIAFBBGohAwtBGBBcIgJBvO0BNgIQIAIgATYCCCACQgA3AgAgAkEANgIUIAMgAjYCACACIQEgACgChAEoAgAiBARAIAAgBDYChAEgAygCACEBCyAAKAKIASABEGcgACAAKAKMAUEBajYCjAELIAJBFGogAigCFEEBajYCAA8LQfDtBUHFmANBlAZBjd4AEAEAC/oBAQN/IAEoAgAoAgBBzQBGBEACQAJAIAAoAogBIgJFBEAgAEGIAWoiAyEBDAELA0AgAiIBKAIQIgJB/OcCSwRAIAEhAyABKAIAIgINAQwCCyACQfznAk8EQCABIQIMAwsgASgCBCICDQALIAFBBGohAwtBGBBcIgJB/OcCNgIQIAIgATYCCCACQgA3AgAgAkEANgIUIAMgAjYCACACIQEgACgChAEoAgAiBARAIAAgBDYChAEgAygCACEBCyAAKAKIASABEGcgACAAKAKMAUEBajYCjAELIAJBFGogAigCFEEBajYCAA8LQfDtBUHFmANBlAZBjd4AEAEAC/oBAQN/IAEoAgAoAgBBzABGBEACQAJAIAAoAogBIgJFBEAgAEGIAWoiAyEBDAELA0AgAiIBKAIQIgJBj/AESwRAIAEhAyABKAIAIgINAQwCCyACQY/wBE8EQCABIQIMAwsgASgCBCICDQALIAFBBGohAwtBGBBcIgJBj/AENgIQIAIgATYCCCACQgA3AgAgAkEANgIUIAMgAjYCACACIQEgACgChAEoAgAiBARAIAAgBDYChAEgAygCACEBCyAAKAKIASABEGcgACAAKAKMAUEBajYCjAELIAJBFGogAigCFEEBajYCAA8LQfDtBUHFmANBlAZBjd4AEAEAC/oBAQN/IAEoAgAoAgBBywBGBEACQAJAIAAoAogBIgJFBEAgAEGIAWoiAyEBDAELA0AgAiIBKAIQIgJBiuwCSwRAIAEhAyABKAIAIgINAQwCCyACQYrsAk8EQCABIQIMAwsgASgCBCICDQALIAFBBGohAwtBGBBcIgJBiuwCNgIQIAIgATYCCCACQgA3AgAgAkEANgIUIAMgAjYCACACIQEgACgChAEoAgAiBARAIAAgBDYChAEgAygCACEBCyAAKAKIASABEGcgACAAKAKMAUEBajYCjAELIAJBFGogAigCFEEBajYCAA8LQfDtBUHFmANBlAZBjd4AEAEAC/cBAQN/IAEoAgAoAgBBygBGBEACQAJAIAAoAogBIgJFBEAgAEGIAWoiAyEBDAELA0AgAiIBKAIQIgJB3BtLBEAgASEDIAEoAgAiAg0BDAILIAJB3BtPBEAgASECDAMLIAEoAgQiAg0ACyABQQRqIQMLQRgQXCICQdwbNgIQIAIgATYCCCACQgA3AgAgAkEANgIUIAMgAjYCACACIQEgACgChAEoAgAiBARAIAAgBDYChAEgAygCACEBCyAAKAKIASABEGcgACAAKAKMAUEBajYCjAELIAJBFGogAigCFEEBajYCAA8LQfDtBUHFmANBlAZBjd4AEAEAC/oBAQN/IAEoAgAoAgBByQBGBEACQAJAIAAoAogBIgJFBEAgAEGIAWoiAyEBDAELA0AgAiIBKAIQIgJB1OICSwRAIAEhAyABKAIAIgINAQwCCyACQdTiAk8EQCABIQIMAwsgASgCBCICDQALIAFBBGohAwtBGBBcIgJB1OICNgIQIAIgATYCCCACQgA3AgAgAkEANgIUIAMgAjYCACACIQEgACgChAEoAgAiBARAIAAgBDYChAEgAygCACEBCyAAKAKIASABEGcgACAAKAKMAUEBajYCjAELIAJBFGogAigCFEEBajYCAA8LQfDtBUHFmANBlAZBjd4AEAEAC/oBAQN/IAEoAgAoAgBByABGBEACQAJAIAAoAogBIgJFBEAgAEGIAWoiAyEBDAELA0AgAiIBKAIQIgJBh4QBSwRAIAEhAyABKAIAIgINAQwCCyACQYeEAU8EQCABIQIMAwsgASgCBCICDQALIAFBBGohAwtBGBBcIgJBh4QBNgIQIAIgATYCCCACQgA3AgAgAkEANgIUIAMgAjYCACACIQEgACgChAEoAgAiBARAIAAgBDYChAEgAygCACEBCyAAKAKIASABEGcgACAAKAKMAUEBajYCjAELIAJBFGogAigCFEEBajYCAA8LQfDtBUHFmANBlAZBjd4AEAEAC/oBAQN/IAEoAgAoAgBBxwBGBEACQAJAIAAoAogBIgJFBEAgAEGIAWoiAyEBDAELA0AgAiIBKAIQIgJBioUBSwRAIAEhAyABKAIAIgINAQwCCyACQYqFAU8EQCABIQIMAwsgASgCBCICDQALIAFBBGohAwtBGBBcIgJBioUBNgIQIAIgATYCCCACQgA3AgAgAkEANgIUIAMgAjYCACACIQEgACgChAEoAgAiBARAIAAgBDYChAEgAygCACEBCyAAKAKIASABEGcgACAAKAKMAUEBajYCjAELIAJBFGogAigCFEEBajYCAA8LQfDtBUHFmANBlAZBjd4AEAEAC/oBAQN/IAEoAgAoAgBBxgBGBEACQAJAIAAoAogBIgJFBEAgAEGIAWoiAyEBDAELA0AgAiIBKAIQIgJBndMESwRAIAEhAyABKAIAIgINAQwCCyACQZ3TBE8EQCABIQIMAwsgASgCBCICDQALIAFBBGohAwtBGBBcIgJBndMENgIQIAIgATYCCCACQgA3AgAgAkEANgIUIAMgAjYCACACIQEgACgChAEoAgAiBARAIAAgBDYChAEgAygCACEBCyAAKAKIASABEGcgACAAKAKMAUEBajYCjAELIAJBFGogAigCFEEBajYCAA8LQfDtBUHFmANBlAZBjd4AEAEAC/oBAQN/IAEoAgAoAgBBxQBGBEACQAJAIAAoAogBIgJFBEAgAEGIAWoiAyEBDAELA0AgAiIBKAIQIgJB7+cCSwRAIAEhAyABKAIAIgINAQwCCyACQe/nAk8EQCABIQIMAwsgASgCBCICDQALIAFBBGohAwtBGBBcIgJB7+cCNgIQIAIgATYCCCACQgA3AgAgAkEANgIUIAMgAjYCACACIQEgACgChAEoAgAiBARAIAAgBDYChAEgAygCACEBCyAAKAKIASABEGcgACAAKAKMAUEBajYCjAELIAJBFGogAigCFEEBajYCAA8LQfDtBUHFmANBlAZBjd4AEAEACycAIAAoAgBBzgBHBEBBmKwGQae3AkGyHEHiwQIQAQALIAAgATYCCAv6AQEDfyABKAIAKAIAQcQARgRAAkACQCAAKAKIASICRQRAIABBiAFqIgMhAQwBCwNAIAIiASgCECICQYLwBEsEQCABIQMgASgCACICDQEMAgsgAkGC8ARPBEAgASECDAMLIAEoAgQiAg0ACyABQQRqIQMLQRgQXCICQYLwBDYCECACIAE2AgggAkIANwIAIAJBADYCFCADIAI2AgAgAiEBIAAoAoQBKAIAIgQEQCAAIAQ2AoQBIAMoAgAhAQsgACgCiAEgARBnIAAgACgCjAFBAWo2AowBCyACQRRqIAIoAhRBAWo2AgAPC0Hw7QVBxZgDQZQGQY3eABABAAv3AQEDfyABKAIAKAIAQcMARgRAAkACQCAAKAKIASICRQRAIABBiAFqIgMhAQwBCwNAIAIiASgCECICQYU6SwRAIAEhAyABKAIAIgINAQwCCyACQYU6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ASgCBCICDQALIAFBBGohAwtBGBBcIgJB/M0CNgIQIAIgATYCCCACQgA3AgAgAkEANgIUIAMgAjYCACACIQEgACgChAEoAgAiBARAIAAgBDYChAEgAygCACEBCyAAKAKIASABEGcgACAAKAKMAUEBajYCjAELIAJBFGogAigCFEEBajYCAA8LQfDtBUHFmANBlAZBjd4AEAEAC/kBAQN/IAEoAgAoAgBBEkYEQAJAAkAgACgCiAEiAkUEQCAAQYgBaiIDIQEMAQsDQCACIgEoAhAiAkHougJLBEAgASEDIAEoAgAiAg0BDAILIAJB6LoCTwRAIAEhAgwDCyABKAIEIgINAAsgAUEEaiEDC0EYEFwiAkHougI2AhAgAiABNgIIIAJCADcCACACQQA2AhQgAyACNgIAIAIhASAAKAKEASgCACIEBEAgACAENgKEASADKAIAIQELIAAoAogBIAEQZyAAIAAoAowBQQFqNgKMAQsgAkEUaiACKAIUQQFqNgIADwtB8O0FQcWYA0GUBkGN3gAQAQAL+QEBA38gASgCACgCAEERRgRAAkACQCAAKAKIASICRQRAIABBiAFqIgMhAQwBCwNAIAIiASgCECICQeCMAUsEQCABIQMgASgCACICDQEMAgsgAkHgjAFPBEAgASECDAMLIAEoAgQiAg0ACyABQQRqIQMLQRgQXCICQeCMATYCECACIAE2AgggAkIANwIAIAJBADYCFCADIAI2AgAgAiEBIAAoAoQBKAIAIgQEQCAAIAQ2AoQBIAMoAgAhAQsgACgCiAEgARBnIAAgACgCjAFBAWo2AowBCyACQRRqIAIoAhRBAWo2AgAPC0Hw7QVBxZgDQZQGQY3eABABAAv2AQEDfyABKAIAKAIAQRBGBEACQAJAIAAoAogBIgJFBEAgAEGIAWoiAyEBDAELA0AgAiIBKAIQIgJBrxhLBEAgASEDIAEoAgAiAg0BDAILIAJBrxhPBEAgASECDAMLIAEoAgQiAg0ACyABQQRqIQMLQRgQXCICQa8YNgIQIAIgATYCCCACQgA3AgAgAkEANgIUIAMgAjYCACACIQEgACgChAEoAgAiBARAIAAgBDYChAEgAygCACEBCyAAKAKIASABEGcgACAAKAKMAUEBajYCjAELIAJBFGogAigCFEEBajYCAA8LQfDtBUHFmANBlAZBjd4AEAEAC/YBAQN/IAEoAgAoAgBBD0YEQAJAAkAgACgCiAEiAkUEQCAAQYgBaiIDIQEMAQsDQCACIgEoAhAiAkHMGEsEQCABIQMgASgCACICDQEMAgsgAkHMGE8EQCABIQIMAwsgASgCBCICDQALIAFBBGohAwtBGBBcIgJBzBg2AhAgAiABNgIIIAJCADcCACACQQA2AhQgAyACNgIAIAIhASAAKAKEASgCACIEBEAgACAENgKEASADKAIAIQELIAAoAogBIAEQZyAAIAAoAowBQQFqNgKMAQsgAkEUaiACKAIUQQFqNgIADwtB8O0FQcWYA0GUBkGN3gAQAQAL+QEBA38gASgCACgCAEEORgRAAkACQCAAKAKIASICRQRAIABBiAFqIgMhAQwBCwNAIAIiASgCECICQbDSAEsEQCABIQMgASgCACICDQEMAgsgAkGw0gBPBEAgASECDAMLIAEoAgQiAg0ACyABQQRqIQMLQRgQXCICQbDSADYCECACIAE2AgggAkIANwIAIAJBADYCFCADIAI2AgAgAiEBIAAoAoQBKAIAIgQEQCAAIAQ2AoQBIAMoAgAhAQsgACgCiAEgARBnIAAgACgCjAFBAWo2AowBCyACQRRqIAIoAhRBAWo2AgAPC0Hw7QVBxZgDQZQGQY3eABABAAv5AQEDfyABKAIAKAIAQSdGBEACQAJAIAAoAogBIgJFBEAgAEGIAWoiAyEBDAELA0AgAiIBKAIQIgJB/+sCSwRAIAEhAyABKAIAIgINAQwCCyACQf/rAk8EQCABIQIMAwsgASgCBCICDQALIAFBBGohAwtBGBBcIgJB/+sCNgIQIAIgATYCCCACQgA3AgAgAkEANgIUIAMgAjYCACACIQEgACgChAEoAgAiBARAIAAgBDYChAEgAygCACEBCyAAKAKIASABEGcgACAAKAKMAUEBajYCjAELIAJBFGogAigCFEEBajYCAA8LQfDtBUHFmANBlAZBjd4AEAEACysAIABBqAFqQRBBBBBdIgAgAjYCDCAAIAE2AgggAELOADcCACAAEPgDIAAL9gEBA38gASgCACgCAEEmRgRAAkACQCAAKAKIASICRQRAIABBiAFqIgMhAQwBCwNAIAIiASgCECICQdEbSwRAIAEhAyABKAIAIgINAQwCCyACQdEbTwRAIAEhAgwDCyABKAIEIgIN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IAJBD3JBAWoiBhAGIQRB1IkLKAIAITZB1IkLQQA2AgAgNkEBRg0oIAMgBDYCiAggAyACNgKMCCADIAZBgICAgHhyNgKQCAwBCyADIAI6AJMIIANBiAhqIQQgAkUNAQsgBCAFIAL8CgAACyACIARqQQA6AABB1IkLQQA2AgBBjAIgA0GUCGogAygCiAggA0GICGogAy0AkwgiAsBBAEgiBBsgAygCjAggAiAEGxAEIQJB1IkLKAIAITdB1IkLQQA2AgAgN0EBRg0jIAMgAigCCDYCuAEgAyACKQIANwOwASACQgA3AgAgAkEANgIIQdSJC0EANgIAQczhACAAIANBsAFqEANB1IkLKAIAIThB1IkLQQA2AgAgOEEBRg0iIAMsALsBQQBIBEAgAygCsAEQWgsgAywAkwhBAEgEQCADKAKICBBaCyADLACfCEEASARAIAIoAgAQWgsgCUEBaiEJCyAIQQRqIgggDkcNAAsLIANBsAFqIgJBAEGJAfwLACADQgA3AswCIANCADcCxAIgA0GAgID8AzYC1AIgA0IANwK8AiADQgA3AuACIANBADYC7AIgA0GQtws2AugCIANCADcC+AIgA0GAgID8AzYCgAMgA0IANwKMAyADQYCAgPwDNgKUAyADQgA3AqADIANBgICA/AM2AqgDIANCADcCtAMgA0GAgID8AzYCvAMgA0IANwLIAyADQgA3AtgCIANCADcC8AIgA0IANwKEAyADQgA3ApgDIANCADcCrAMgA0IANwLAAyADQYCAgPwDNgLQAyADQgA3AtwDIANBgICA/AM2AuQDIANCADcC8AMgA0GAgID8AzYC+AMgA0IANwKEBCADQYCAgPwDNgKMBCADQgA3AtQDIANCADcC6AMgA0IANwL8A0HUiQtBADYCAEHN4QAgASACEANB1IkLKAIAITlB1IkLQQA2AgAgOUEBRg0bQdSJC0EANgIAQc7hACACEAYhCUHUiQsoAgAhOkHUiQtBADYCACA6QQFGDRsgAhDmAxogASgCACIGIAEoAgQiCEcEQANAIANBsAFqIgJBAEGJAfwLACADQgA3AswCIANCADcCxAIgA0IANwK8AiADQYCAgPwDNgLUAiADQgA3AuACIANCADcC2AIgA0EANgLsAiADQZC3CzYC6AIgA0IANwL4AiADQgA3AvACIANBgICA/AM2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b0EATg0AIAMoAmQQWgsgA0GwAWoQ5gMaDBkLEAAhACADLACTCEEATg0BIAMoAogIEFoMAQsQACEACyADLACrAUEATg0BIAMoAqABEFoMAQsQACEACyADLABjQQBODQEgAygCWBBaDAELEAAhAAsgAywAmwFBAE4NASADKAKQARBaDAELEAAhAAsgAywAiwFBAE4NASADKAKAARBaDAELEAAhAAsgAywAb0EATg0BIAMoAmQQWgwBCxAAIQALIAMsAHtBAE4NAiADKAJwEFoMAgsQACEADAELEAAhAAsgA0GwAWoQ5gMaDAkLEAAhACADQbABahDmAxoMCAsQACEADAcLEAAhAAwHCxAAIQAgAywAxwdBAE4NByADKAK8BxBaDAcLEAAhACADLAC7AUEATg0BIAMoArABEFoMAQsQACEACyADLACTCEEATg0BIAMoAogIEFoMAQsQACEACyADLACfCEEATg0AIAMoApQIEFoLIA0QjAQLIAMoArAHIgFFDQAgAyABNgK0ByABEFoLIAoQvgQgABAHAAsACyADQbABahBhIAAQBwALSgEBfyAAQfjxBzYCACAAKAKIARC8BCAAKAJsIgEEQCAAIAE2AnAgARBaCyAAQZDtCTYCACAALAATQQBIBEAgACgCCBBaCyAAEFoLSAEBfyAAQfjxBzYCACAAKAKIARC8BCAAKAJsIgEEQCAAIAE2AnAgARBaCyAAQZDtCTYCACAALAATQQBIBEAgACgCCBBaCyAAC4gDAQZ/AkACQCABKAIAIgQoAgBBCUYEQAJAIAQoAgwiAigCAEEIRw0AIAIoAggiBSAEKAIIRg0AIAIoAgQhAyAAKAJ8QagBakEQQQQQXSIBIAI2AgwgASAFNgIIIAFBCTYCACABIAM2AgQgAUEBIAMgAigCBEEBRhs2AgQgBCABNgIMIAAoAoQBIgEgACgCiAFHBEAgASAENgIAIAAgAUEEajYChAEPCyABIAAoAoABIgVrIgJBAnUiB0EBaiIDQYCAgIAETw0CQf////8DIAJBAXUiBiADIAMgBkkbIAJB/P///wdPGyIDBH8gA0GAgICABE8NBCADQQJ0EFwFQQALIgYgB0ECdGoiAiAENgIAIAJBBGohBCABIAVHBEADQCACQQRrIgIgAUEEayIBKAIANgIAIAEgBUcNAAsgACgCgAEhAQsgACAGIANBAnRqNgKIASAAIAQ2AoQBIAAgAjYCgAEgAUUNACABEFoLDwtB8O0FQcWYA0GUBkGN3gAQAQALEGQACxBqAAudBAEMfyMAQYABayIBJAACQCAAKAIUIgIgAEEYaiIFRwRAIABBIGohBgNAAkACQAJAAkACQCACKAIQIgMoAgBBCUcNACADKAIMIQAgAUEANgIIIAFCADcCACABIAA2AnwgAUIANwIMIAFBADYCdCABQgA3AmwgAUIANwJkQdSJC0EANgIAIAEgATYCeEGOMyABQQxqIAFB/ABqEANB1IkLKAIAIQlB1IkLQQA2AgAgCUEBRg0BIAEoAmQiAARAIAEgADYCaCAAEFoLIAEoAgAiACABKAIEIgdHBEADQCABIAAoAgAiBDYCfEHUiQtBADYCAEHI4QAgAUEMaiIIIAYgBCABQfwAahAFQdSJCygCACEKQdSJC0EANgIAIApBAUYNBEHUiQtBADYCAEGMxQAgCCABKAIMQQxqIAMgAxAFQdSJCygCACELQdSJC0EANgIAIAtBAUYNBCAAQQRqIgAgB0cNAAsgASgCACEACyAARQ0AIAEgADYCBCAAEFoLIAIoAgQiA0UNAgNAIAMiACgCACIDDQALDAMLEAAhACABKAJkIgIEQCABIAI2AmggAhBaCyABKAIAIgJFDQUgASACNgIEIAIQWgwFCxAAIQAgASgCACICRQ0EIAEgAjYCBCACEFogABAHAAsDQCACKAIIIgAoAgAgAkchDCAAIQIgDA0ACwsgBSAAIgJHDQALCyABQYABaiQADwsgABAHAAsFAEG1AQssAEGMARBcIgBBAEGAAfwLACAAQQA2AogBIABCADcCgAEgAEHI8Qc2AgAgAAtEACAAKAIERQRAQej6BUG6iwNBnARB7tMCEAEACyAAIAI2AnggACABNgJ8IABBFGogAkEwahDuBiAAEJcOIABCADcCeAu+IgEOfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJA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AyADKQPoATcDGCADIAMpA/ABNwMgIAMgAykD+AE3AyggAyADKQPgATcDECADQQEgAygC3AEiAiACQQBKGzYC3AFB1IkLQQA2AgAgAyADKQPYATcDCEGbASADQTBqIAQQAiEEQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBxABqIAUQAiEFQdSJCygCACESQdSJC0EANgIAIBJBAUYNBSADIAMoAqwCIgI2AlwgAyADKAKoAjYCWCACBEAgAiACKAIEQQFqNgIECyADQQA2AnggAyADKQMQNwKEASADIAMpAxg3AowBIAMgAykDIDcClAEgAyADKQMoNwKcASADQgA3AnAgA0H87Ak2AmQgAyADKQMINwJ8QdSJC0EANgIAIAMgATYCaCADIAFBqAFqNgJsQZsBIANBpAFqIAQQAiEBQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBuAFqIAUQAhpB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRwRAIAMgAygCWDYCzAEgAyADKAJcIgE2AtABIAEEQCABIAEoAgRBAWo2AgQLIANBADsB1AEgA0EIahBhIANBAToA1AEgACgCACgCFCEUQdSJC0EANgIAIBQgABAGIQBB1IkLKAIAIRVB1IkLQQA2AgAgFUEBRg0EIAMoAmQoAgghFkHUiQtBADYCACAWIANB5ABqIgEgABADQdSJCygCACEXQdSJC0EANgIAIBdBAUYNBEHUiQtBADYCAEGXASABEApB1IkLKAIAIRhB1IkLQQA2AgAgGEEBRg0EIANB/OwJNgJkIANB/ABqEGEgAygCcCIBBEAgAygCdCIAIAEiAkcEQANAIABBBGsiACgCACECIABBADYCACACBEAgAiACKAIAKAIEEQEACyAAIAFHDQALIAMoAnAhAgsgAyABNgJ0IAIQWgsgA0HYAWoQYQwQCxAAIQAgARBrDAELEAAhAAsgA0HwAGoQ4AEgA0EIahBhDA4LEAAhAAwNCxAAIQAgA0HkAGoQfBoMDAsgACABNgJ8IABBFGohCSABKAIYIgIgASgCHCIERwRAA0AgAigCACIFKAIMRQRAIAkgBUEgahDuBgsgAkEEaiICIARHDQALCyABKAIMIgIgASgCECIFRwRAA0AgAigCACIE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AEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPwBCywAIAEoAgAiASgCAEHTAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPwBCywAIAEoAgAiASgCAEHSAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPwBCywAIAEoAgAiASgCAEHRAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPwBCywAIAEoAgAiASgCAEHQAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPwBCywAIAEoAgAiASgCAEHPAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPwBCxcAIABBqAFqQQhBBBBdIgBCFjcCACAACywAIAEoAgAiASgCAEHOAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPwBCywAIAEoAgAiASgCAEHNAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPwBCywAIAEoAgAiASgCAEHMAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPwBCywAIAEoAgAiASgCAEHLAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPwBCywAIAEoAgAiASgCAEHKAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPwBCywAIAEoAgAiASgCAEHJAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPwBCywAIAEoAgAiASgCAEHIAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPwBCywAIAEoAgAiASgCAEHHAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPwBCywAIAEoAgAiASgCAEHGAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPwBCywAIAEoAgAiASgCAEHFAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPwBCywAIAEoAgAiASgCAEHEAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPwBCywAIAEoAgAiASgCAEHDAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPwBCywAIAEoAgAiASgCAEHCAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPwBCywAIAEoAgAiASgCAEHBAEcEQEHw7QVBxZgDQZQGQY3eABAB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IANBmt8AIAJBIGoQWAxVCyADQbnfACABEFggAigCAEEjRw1DDE8LIANBut8AIAEQWCACKAIAQSRHDUIMSAsgA0G73wAgARBYIAIoAgBBJUYNUgxBCyADQbzfACABEFggAigCAEEmRw1ADEMLIANBvd8AIAEQWCACKAIAQSdHDT8MQgsgA0G+3wAgARBYIAIoAgBBDkYNTww+CyADQb/fACABEFggAigCAEEPRw09DEgLIANBwN8AIAEQWCACKAIAQRBHDTwMRgsgA0HB3wAgARBYIAIoAgBBEUcNOww+CyADQcLfACABEFggAigCAEESRw06DEkLIANBw98AIAEQWCACKAIAQRNHDTkMSQsgA0HE3wAgARBYIAIoAgBBFEYNSQw4CyADQcXfACABEFggAigCAEEVRw03DEYLIANBxt8AIAEQWCACKAIAQSlGDUcMNgsgA0HH3wAgARBYIAIoAgBBKkcNNQxECyADQcjfACABEFggAigCAEErRg1FDDQLIANByd8AIAEQWCACKAIAQSxHDTMMNwsgA0HK3wAgARBYIAIoAgBBLUcNMgw6CyADQcvfACABEFggAigCAEEuRw0xDDgLIANBzN8AIAEQWCACKAIAQS9GDUEMMAsgA0HN3wAgARBYIAIoAgBBMEcNLww2CyADQc7fACABEFggAigCAEExRw0uDDQLIANBz98AIAEQWCACKAIAQTJHDS0MMAsgA0HQ3wAgARBYIAIoAgBBM0cNLCACKAIoIgBBAEoEQCADQQRqIQYDQCAAQQFrIgUgAigCKE8NLyACKAIkIAVBAnRqIgQoAgBFDUAgBkGa3wAgBBBbIABBAUshCyAFIQAgCw0ACwsMNAsgA0HR3wAgARBYIAIoAgBBNEYNOgwrCyADQdLfACABEFggAigCAEE1Rw0qIAIoAhQiAEEATA07IANBBGohBgNAIABBAWsiBSACKAIUTw0sIAIoAhAgBUECdGoiBCgCAEUNPSAGQZrfACAEEFsgAEEBSyEMIAUhACAMDQALDDsLIANB098AIAEQWCACKAIAQTZGDToMKQsgA0HU3wAgARBYIAIoAgBBN0cNKAw3CyADQdXfACABEFggAigCAEEWRg04DCcLIANB1t8AIAEQWCACKAIAQRdGDTcMJgsgA0HX3wAgARBYIAIoAgBBKEYNNgwlCyADQdjfACAB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LQsgA0G94AAgARBYIAIoAgBBwQBHDRsMJgsgA0G+4AAgARBYIAIoAgBBwgBHDRoMJAsgA0G/4AAgARBYIAIoAgBBwwBHDRkgA0GY3wAgAkEMahBYDCkLIANBwOAAIAEQWCACKAIAQcQARw0YDB8LIANBweAAIAEQWCACKAIAQcUARw0XDB4LIANBwuAAIAEQWCACKAIAQcYARw0WIAIoAgwiAEEATA0nIANBBGohBgNAIABBAWsiBSACKAIMTw0YIAIoAgggBUECdGoiBCgCAEUNKSAGQZjfACAEEFsgAEEBSyEQIAUhACAQDQALDCcLIANBw+AAIAEQWCACKAIAQccARw0VDBkLIANBxOAAIAEQWCACKAIAQcgARw0UDBcLIANBxeAAIAEQWCACKAIAQckARw0TDCILIANBxuAAIAEQWCACKAIAQcoARw0SIANBmN8AIAJBGGoQWAwUCyADQcfgACABEFggAigCAEHLAEcNEQwTCyADQcjgACABEFggAigCAEHMAEcNEAwVCyADQcngACABEFggAigCAEHNAEcNDwwUCyADQcrgACABEFggAigCAEHOAEcNDgwZCyADQcvgACABEFggAigCAEHPAEcNDSACKAIYBEAgA0EEakGY3wAgAkEYahBbCyACKAIUBEAgA0EEakGY3wAgAkEUahBbCyACKAIQBEAgA0EEakGY3wAgAkEQahBbCwwYCyADQczgACABEFggAigCAEHQAEYNHQwMCyADQc3gACABEFggAigCAEHRAEcNCwwWCyADQc7gACABEFggAigCAEHSAEcNCiACKAIUBEAgA0EEakGY3wAgAkEUahBbCwwUCyADQc/gACABEFggAigCAEHTAEcNCQwNCyADQdDgACABEFggAigCAEHUAEcNCAwSCyADQdHgACABEFggAigCAEHVAEcNBwwSCyADQdLgACABEFggAigCAEHWAEcNBgwJCyADQdPgACABEFggAigCAEHXAEcNBQwJCyADQdTgACABEFggAigCAEHYAEcNBAwTCyADQdXgACABEFggAigCAEHZAEcNAwwNCyADQdbgACABEFggAigCAEHaAEcNAgwLCyADQdfgACABEFggAigCAEHbAEcNAQwFCyADQdjgACABEFggAigCAEHcAEcNACADQZjfACACQTxqEFggAigCMCIAQQBMDREgA0EEaiEGA0AgAEEBayIFIAIoAjBPDQIgAigCLCAFQQJ0aiIEKAIARQ0TIAZBmN8AIAQQWyAAQQFLIREgBSEAIBENAAsMEQtB8O0FQcWYA0GUBkGN3gAQAQALQcWiAUGJogNBvAFBpogFEAEACyADQZjfACACQRRqEFgLIANBmN8AIAJBEGoQWAsgA0GY3wAgAkEMahBYDAoLIANBmN8AIAJBHGoQWAsgA0GY3wAgAkEYahBYCyADQZjfACACQRRqEFgLIANBmN8AIAJBEGoQWAwICyADQZjfACACQRRqEFgLIANBmN8AIAJBEGoQWAsgA0GY3wAgAkEMahBYDAULIANBmN8AIAJBKGoQWAsgA0GY3wAgAkEkahBYDAMLIANBmN8AIAJBHGoQWCADQZjfACACQRhqEFgMAgsgA0GY3wAgAkEIahBYDAELIAIoAghFDQAgA0EEakGY3wAgAkEIahBbCwJAIAcoAgAiAEEBa0EDTyAAQTNrQQFLcUUEQCABKAIARQ0BIANBBGpBnt8AIAEQWwsPCwtBgYMCQdOZA0G5AkGu9wIQAQALjwUBCH8jAEEgayIFJAACQAJAAkACQCAAKAIEIAAoAgAiBmtB+ABtIghBAWoiBEGjxIgRSQRAIABBCGoiBygCACEJIAUgBzYCHCAFQaLEiBEgCSAGa0H4AG0iBkEBdCIHIAQgBCAHSRsgBkGRosQITxsiBgR/IAZBo8SIEU8NAiAGQfgAbBBcBUEACyIHNgIMIAUgByAIQfgAbGoiBDYCFCAFIAcgBkH4AGxqNgIYIAUgBDYCECAEIAEtACA6AAAgBCABLQAhOgABIAQgASgCUDYCBCAEIAEoAlQiATYCCCABBEAgASABKAIEQQFqNgIECyAEIAI2AgwgAigChAEhASAEQRxqIgJCADcCACAEQQA7ARQgBCABNgIQIARBKGoiAUIANwIAIAQgAjYCGCAEQTRqIgJCADcCACAEIAE2AiQgBEFAayIBQgA3AgAgBCACNgIwIARB5ABqIgJCADcCACAEIAE2AjwgBEIANwJIIARCADcCUCAEQgA3AVYgBCACNgJgIARB8ABqIgFCADcCACAEIAE2AmxB1IkLQQA2AgBBoCcgBCADEANB1IkLKAIAIQpB1IkLQQA2AgAgCkEBRg0CIAUoAhRB+ABqIQQgBSgCECEBIAAoAgQiAiAAKAIAIgNGDQMDQCABQfgAayACQfgAayICELMIIQEgAiADRw0ACyAAKAIEIQMgACAENgIEIAAoAgAhAiAAIAE2AgAgACAFKAIYNgIIIAIgA0YNBANAIANB+ABrIgMQswUgAiADRw0ACwwECxBkAAsQagALEAAhCyAEEN8BGiAFQQxqENQOIAsQBwALIAAgBDYCBCAAIAE2AgAgACAFKAIYNgIICyACBEAgAhBaCyAFQSBqJAALLAAgASgCACIBKAIAQdwARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoQILLAAgASgCACIBKAIAQdsARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoQILBQBBngELLAAgASgCACIBKAIAQdoARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoQILLAAgASgCACIBKAIAQdkARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoQILLAAgASgCACIBKAIAQdgARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoQILLAAgASgCACIBKAIAQdcARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoQILLAAgASgCACIBKAIAQdYARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoQILLAAgASgCACIBKAIAQdUARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoQILLAAgASgCACIBKAIAQdQARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoQILLAAgASgCACIBKAIAQdMARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoQILLAAgASgCACIBKAIAQdIARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoQILLAAgASgCACIBKAIAQdEARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoQILBQBBkQELLAAgASgCACIBKAIAQdAARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoQILLAAgASgCACIBKAIAQc8ARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoQILLAAgASgCACIBKAIAQc4ARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoQILLAAgASgCACIBKAIAQc0ARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoQILLAAgASgCACIBKAIAQcwARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoQILLAAgASgCACIBKAIAQcsARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoQILLAAgASgCACIBKAIAQcoARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoQILLAAgASgCACIBKAIAQckARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoQILLAAgASgCACIBKAIAQcgARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoQILLAAgASgCACIBKAIAQccARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoQILBQBBuQELLAAgASgCACIBKAIAQcYARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoQILLAAgASgCACIBKAIAQcUARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoQILLAAgASgCACIBKAIAQcQARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoQILLAAgASgCACIBKAIAQcMARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoQILLAAgASgCACIBKAIAQcIARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoQILLAAgASgCACIBKAIAQcEARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoQILLAAgASgCACIBKAIAQcAARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoQILKwAgASgCACIBKAIAQT9HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARChAgsrACABKAIAIgEoAgBBPkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEKECCysAIAEoAgAiASgCAEE9RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoQILBQBBsQELKwAgASgCACIBKAIAQTxHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARChAgsrACABKAIAIgEoAgBBO0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEKECCysAIAEoAgAiASgCAEE6RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoQILKwAgASgCACIBKAIAQTlHBEBB8O0FQcWY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CUHUiQtBADYCACAJQQFHBEACQEHUiQtBADYCAEEdIANBBGoiACAEEANB1IkLKAIAIQpB1IkLQQA2AgAgCkEBRg0AIAEgAygCBCIBIAAgAy0ADyIFwCIAQQBIGyACEIoDGiADKAIIIQsgAEEASARAIAEQWgsgA0H4kQo2AlAgA0HQkQo2AhAgB0HkkQo2AgAgBEG4jAo2AgAgAywAR0EASARAIAMoAjwQWgsgBBDrARogBhDoARogA0GgAWokACALIAUgAEEASBsiACACIAAgAkkbDwsLEAAhDCADQRBqEM4DGiAMEAcACysAIAEoAgAiASgCAEEeRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoQILKwAgASgCACIBKAIAQR1HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARChAgsrACABKAIAIgEoAgBBHEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEKECCysAIAEoAgAiASgCAEEbRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoQILKwAgASgCACIBKAIAQRpHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARChAgsrACABKAIAIgEoAgBBGUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEKECCysAIAEoAgAiASgCAEEYRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoQILKwAgASgCACIBKAIAQQ1HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARChAgsrACABKAIAIgEoAgBBDEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEKECCysAIAEoAgAiASgCAEELRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoQILKwAgASgCACIBKAIAQQpHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARChAgsrACABKAIAIgEoAgBBCUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEKECCysAIAEoAgAiASgCAEEIRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoQILKwAgASgCACIBKAIAQQdHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARChAgsrACABKAIAIgEoAgBBBkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEKECCysAIAEoAgAiASgCAEEFRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoQILKwAgASgCACIBKAIAQQRHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARChAgsrACABKAIAIgEoAgBBA0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEKECCzMAIAEoAgAiASgCAEECRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEgAUEIakEAEJ8OGgs8ACABKAIAIgEoAgBBAUcEQEHw7QVBxZgDQZQGQY3eABABAAsgASAAKAJ8IAAoAgRBGGogAEGAAWoQoA4LOABBlAEQXCIAQQBBgAH8CwAgAEIANwKAASAAQczvBzYCACAAQgA3AogBIABBgICA/AM2ApABIAALPwAgACgCBEUEQEHo+gVBuosDQZwEQe7TAhABAAsgACACNgJ4IAAgATYCfCAAQRRqIAJBMGoQ8AYgAEIANwJ4C74iAQ5/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAIgIoAgAOXgABAgMEBQYHCAkKCwwNHh8gISIjJCU1Ng4PEBESExQVFhcYGRobHB03JicoKSorLC0uLzAxMjM0ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXABdC0GY/QNB5bMDQeoBEGIACyAAQRRqQbveACABEFggAigCAEEBRw1cIAIoAhQiAUEATA1bIABBGGohAwNAIAFBAWsiACACKAIUTw1eIAIoAhAgAEECdGoiBCgCAEUNXyADQbreACAEEFsgAUEBSyEGIAAhASAGDQALDFsLIABBFGoiA0G83gAgARBYIAIoAgBBAkcNWyACKAIQBEAgAEEYakG63gAgAkEQahBbCyADQbreACACQQxqEFggA0G63gAgAkEIahBYDwsgAEEUaiIAQb3eACABEFggAigCAEEDRw1aDGALIABBFGpBvt4AIAEQWCACKAIAQQRHDVkgAigCFARAIABBGGpBut4AIAJBFGoQWwsgAigCEEUNWCAAQRhqQbreACACQRBqEFsPCyAAQRRqIgNBv94AIAEQWCACKAIAQQVHDVggA0G63gAgAkEkahBYIAIoAiBFDVcgAEEYakG63gAgAkEgahBbDwsgAEEUakHA3gAgARBYIAIoAgBBBkcNVyACKAIMIgFBAEwNViAAQRhqIQMDQCABQQFrIgAgAigCDE8NWSACKAIIIABBAnRqIgQoAgBFDVogA0G63gAgBBBbIAFBAUshByAAIQEgBw0ACwxWCyAAQRRqIgNBwd4AIAEQWCACKAIAQQdHDVYgA0G63gAgAkEcahBYIAIoAhAiAUEATA1VIABBGGohAwNAIAFBAWsiACACKAIQTw1YIAIoAgwgAEECdGoiBCgCAEUNWSADQbreACAEEFsgAUEBSyEIIAAhASAIDQALDFULIABBFGpBwt4AIAEQWCACKAIAQQhGDVQMVQsgAEEUaiIAQcPeACABEFggAigCAEEJRw1UDF0LIABBFGpBxN4AIAEQWCACKAIAQQpGDVIMUwsgAEEUaiIAQcXeACABEFggAigCAEELRw1SDFgLIABBFGoiAEHG3gAgARBYIAIoAgBBDEcNUQxcCyAAQRRqIgBBx94AIAEQWCACKAIAQQ1HDVAMWgsgAEEUaiIAQcjeACABEFggAigCAEEYRw1PDFsLIABBFGoiAEHJ3gAgARBYIAIoAgBBGUcNTiAAQbreACACQSBqEFgMWgsgAEEUaiIAQcreACABEFggAigCAEEaRw1NDFELIABBFGoiAEHL3gAgARBYIAIoAgBBG0cNTAxRCyAAQRRqQczeACABEFggAigCAEEcRg1KDEsLIABBFGoiAEHN3gAgARBYIAIoAgBBHUcNSgxTCyAAQRRqIgBBzt4AIAEQWCACKAIAQR5HDUkgAEG63gAgAkEUahBYDFILIABBFGoiAEHP3gAgARBYIAIoAgBBH0cNSAxXCyAAQRRqIgBB0N4AIAEQWCACKAIAQSBHDUcMTgsgAEEUaiIAQdHeACABEFggAigCAEEhRw1GDE4LIABBFGoiAEHS3gAgARBYIAIoAgBBIkcNRSAAQbreACACQSBqEFgPCyAAQRRqIgBB094AIAEQWCACKAIAQSNHDUQMTgsgAEEUaiIAQdTeACABEFggAigCAEEkRw1DDEcLIABBFGpB1d4AIAEQWCACKAIAQSVGDUEMQgsgAEEUaiIAQdbeACABEFggAigCAEEmRw1BDE8LIABBFGoiAEHX3gAgARBYIAIoAgBBJ0cNQAxOCyAAQRRqQdjeACABEFggAigCAEEORg0+DD8LIABBFGoiAEHZ3gAgARBYIAIoAgBBD0cNPgxHCyAAQRRqIgBB2t4AIAEQWCACKAIAQRBHDT0MRQsgAEEUaiIAQdveACABEFggAigCAEERRw08DEoLIABBFGoiAEHc3gAgARBYIAIoAgBBEkcNOwxLCyAAQRRqQd3eACABEFggAigCAEETRw06IAIoAghFDTkMSwsgAEEUakHe3gAgARBYIAIoAgBBFEYNOAw5CyAAQRRqIgBB394AIAEQWCACKAIAQRVHDTgMSAsgAEEUakHg3gAgARBYIAIoAgBBKUYNNgw3CyAAQRRqIgBB4d4AIAEQWCACKAIAQSpHDTYMRgsgAEEUakHi3gAgARBYIAIoAgBBK0YNNAw1CyAAQRRqIgBB494AIAEQWCACKAIAQSxHDTQMQwsgAEEUaiIAQeTeACABEFggAigCAEEtRw0zDDkLIABBFGoiAEHl3gAgARBYIAIoAgBBLkcNMgw3CyAAQRRqQebeACABEFggAigCAEEvRg0wDDELIABBFGoiAEHn3gAgARBYIAIoAgBBMEcNMAw1CyAAQRRqIgBB6N4AIAEQWCACKAIAQTFHDS8MMwsgAEEUaiIAQeneACABEFggAigCAEEyRw0uDDwLIABBFGoiA0Hq3gAgARBYIAIoAgBBM0cNLSACKAIoIgFBAEoEQCAAQRhqIQQDQCABQQFrIgAgAigCKE8NMCACKAIkIABBAnRqIgUoAgBFDTEgBEG63gAgBRBbIAFBAUshCSAAIQEgCQ0ACwsgA0G63gAgAkEQahBYDwsgAEEUaiIAQeveACABEFggAigCAEE0RgRADD0LDCwLIABBFGpB7N4AIAEQWCACKAIAQTVHDSsgAigCFCIBQQBMDSogAEEYaiEDA0AgAUEBayIAIAIoAhRPDS0gAigCECAAQQJ0aiIEKAIARQ0uIANBut4AIAQQWyABQQFLIQogACEBIAoNAAsMKgsgAEEUakHt3gAgARBYIAIoAgBBNkYNKQwqCyAAQRRqIgBB7t4AIAEQWCACKAIAQTdHDSkMOQsgAEEUakHv3gAgARBYIAIoAgBBFkYNJwwoCyAAQRRqQfDeACABEFggAigCAEEXRg0mDCcLIABBFGpB8d4AIAEQWCACKAIAQShGDSUMJgsgAEEUakHy3gAgARBYIAIoAgBBOEcNJSACKAIMIgFBAEwNJCAAQRhqIQMDQCABQQFrIgAgAigCDE8NJyACKAIIIABBAnRqIgQoAgBFDSggA0G63gAgBBBbIAFBAUshCyAAIQEgCw0ACwwkCyAAQRRqIgBB894AIAEQWCACKAIAQTlHDSQMNAsgAEEUaiIAQfTeACABEFggAigCAEE6Rw0jDDMLIABBFGoiAEH13gAgARBYIAIoAgBBO0cNIgwyCyAAQRRqIgNB9t4AIAEQWCACKAIAQTxHDSEgA0G63gAgAkEYahBYIAIoAgwiAUEATA0gIABBGGohAwNAIAFBAWsiACACKAIMTw0jIAIoAgggAEECdGoiBCgCAEUNJCADQbreACAEEFsgAUEBSyEMIAAhASAMDQALDCALIABBFGoiAEH33gAgARBYIAIoAgBBPUcNIAwwCyAAQRRqIgBB+N4AIAEQWCACKAIAQT5HDR8MLwsgAEEUaiIAQfneACABEFggAigCAEE/Rw0eIABBut4AIAJBFGoQWA8LIABBFGpB+t4AIAEQWCACKAIAQcAARw0dIAIoAgwiAUEATA0cIABBGGohAwNAIAFBAWsiACACKAIMTw0fIAIoAgggAEECdGoiBCgCAEUNICADQbreACAEEFsgAUEBSyENIAAhASANDQALDBwLIABBFGoiAEH73gAgARBYIAIoAgBBwQBHDRwMJQsgAEEUaiIAQfzeACABEFggAigCAEHCAEcNGwwjCyAAQRRqIgNB/d4AIAEQWCACKAIAQcMARw0aIANBut4AIAJBDGoQWCACKAIIRQ0ZDCsLIABBFGoiAEH+3gAgARBYIAIoAgBBxABHDRkMHgsgAEEUaiIAQf/eACABEFggAigCAEHFAEcNGAwdCyAAQRRqQYDfACABEFggAigCAEHGAEcNFyACKAIMIgFBAEwNFiAAQRhqIQMDQCABQQFrIgAgAigCDE8NGSACKAIIIABBAnRqIgQoAgBFDRogA0G63gAgBBBbIAFBAUshDiAAIQEgDg0ACwwWCyAAQRRqIgBBgd8AIAEQWCACKAIAQccARw0WDCULIABBFGoiAEGC3wAgARBYIAIoAgBByABHDRUMIwsgAEEUaiIAQYPfACABEFggAigCAEHJAEcNFAwkCyAAQRRqIgBBhN8AIAEQWCACKAIAQcoARw0TIABBut4AIAJBGGoQWAwgCyAAQRRqIgBBhd8AIAEQWCACKAIAQcsARw0SDB8LIABBFGoiAEGG3wAgARBYIAIoAgBBzABHDREMFAsgAEEUaiIAQYffACABEFggAigCAEHNAEcNEAwTCyAAQRRqIgBBiN8AIAEQWCACKAIAQc4ARw0PDBgLIABBFGoiA0GJ3wAgARBYIAIoAgBBzwBHDQ4gAigCGARAIABBGGpBut4AIAJBGGoQWwsgAigCFARAIABBGGpBut4AIAJBFGoQWwsgAigCEARAIABBGGpBut4AIAJBEGoQWwsMIAsgAEEUakGK3wAgARBYIAIoAgBB0ABGDQwMDQsgAEEUaiIAQYvfACABEFggAigCAEHRAEcNDAwVCyAAQRRqIgNBjN8AIAEQWCACKAIAQdIARw0LIAIoAhQEQCAAQRhqQbreACACQRRqEFsLIANBut4AIAJBEGoQWAwdCyAAQRRqIgBBjd8AIAEQWCACKAIAQdMARw0KDBkLIABBFGoiAEGO3wAgARBYIAIoAgBB1ABHDQkMEQsgAEEUaiIAQY/fACABEFggAigCAEHVAEcNCAwRCyAAQRRqIgBBkN8AIAEQWCACKAIAQdYARw0HDBULIABBFGoiAEGR3wAgARBYIAIoAgBB1wBHDQYMFQsgAEEUaiIAQZLfACABEFggAigCAEHYAEcNBQwVCyAAQRRqIgBBk98AIAEQWCACKAIAQdkARw0EDAwLIABBFGoiAEGU3wAgARBYIAIoAgBB2gBHDQMMCgsgAEEUaiIAQZXfACABEFggAigCAEHbAEcNAgwRCyAAQRRqIgNBlt8AIAEQWCACKAIAQdwARw0BIANBut4AIAJBPGoQWCACKAIwIgFBAEwNACAAQRhqIQMDQCABQQFrIgAgAigCME8NAyACKAIsIABBAnRqIgQoAgBFDQQgA0G63gAgBBBbIAFBAUshDyAAIQEgDw0ACwsPC0Hw7QVBxZgDQZQGQY3eABABAAtBxaIBQYmiA0G8AUGmiAUQAQALQYGDAkHTmQNBuQJBrvcCEAEACyAAQbreACACQRxqEFgLIABBut4AIAJBGGoQWAsgAEG63gAgAkEUahBYCyAAQbreACACQRBqEFgPCyAAQbreACACQRRqEFgLIABBut4AIAJBEGoQWAsgAEG63gAgAkEMahBYDwsgAEG63gAgAkEoahBYCyAAQbreACACQSRqEFgPCyAAQbreACACQRxqEFggAEG63gAgAkEYahBYDwsgAEG63gAgAkEUahBYCyAAQbreACACQRBqEFgLIABBut4AIAJBDGoQWAsgAEG63gAgAkEIahBYDwsgAEEYakG63gAgAkEIahBbDwsgA0G63gAgAkEMahBYC/IPARh/IwBBsAJrIgMkAAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCBARAIAAgACgCACgCEBECAARAIAMgACgCBCICKQI4NwP4ASADIAIpAjA3A/ABIAMgAikCKDcD6AEgAyACKQIgNwPgASADIAIpAhg3A9gBIANBgAJqIAJBQGsQ4wEhBEHUiQtBADYCAEGaASADQZQCaiACQdQAahACIQVB1IkLKAIAIRFB1IkLQQA2AgAgEUEBRg0CIAMgAigCaDYCqAIgAyACKAJsIgI2AqwCIAIEQCACIAIoAgRBAWo2AgQLIANBASADKALgASICIAJBAEobNgLgASADIAMpA+gBNwMYIAMgAykD8AE3AyAgAyADKQP4ATcDKCADIAMpA+ABNwMQIANBASADKALcASICIAJBAEobNgLcAUHUiQtBADYCACADIAMpA9gBNwMIQZsBIANBMGogBBACIQRB1IkLKAIAIQJB1IkLQQA2AgACQCACQQFHBEBB1IkLQQA2AgBBmgEgA0HEAGogBRACIQVB1IkLKAIAIRJB1IkLQQA2AgAgEkEBRg0FIAMgAygCrAIiAjYCXCADIAMoAqgCNgJYIAIEQCACIAIoAgRBAWo2AgQLIANBADYCeCADIAMpAxA3AoQBIAMgAykDGDcCjAEgAyADKQMgNwKUASADIAMpAyg3ApwBIANCADcCcCADQfzsCTYCZCADIAMpAwg3AnxB1IkLQQA2AgAgAyABNgJoIAMgAUGoAWo2AmxBmwEgA0GkAWogBBACIQFB1IkLKAIAIQJB1IkLQQA2AgACQCACQQFHBEBB1IkLQQA2AgBB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AgAiBigCAEEkRgRAAkAgACgCgAEiASgCBCIDRQ0AIAZBldPH3gVsIgJBGHYgAnNBldPH3gVsQdTMnvoGcyICQQ12IAJzQZXTx94FbCICQQ92IAJzIQIgASgCAAJ/IANBAWsgAnEgA2kiBEEBTQ0AGiACIAIgA0kNABogAiADcAsiB0ECdGooAgAiAUUNACABKAIAIgFFDQACQCAEQQFNBEAgA0EBayEDA0ACQCACIAEoAgQiBEcEQCADIARxIAdGDQEMBQsgASgCCCAGRg0DCyABKAIAIgENAAsMAgsDQAJAIAIgASgCBCIERwRAIAMgBE0EfyAEIANwBSAECyAHRg0BDAQLIAEoAgggBkYNAgsgASgCACIBDQALDAELIAUgACgCeDYCDCABKAIgIgFFDQIgAEEUaiABIAVBDGogASgCACgCGBEEABB5CyAFQRBqJAAPC0Hw7QVBxZgDQZQGQY3eABABAAsQ5wIAC74iAQ5/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAIgIoAgAOXgABAgMEBQYHCAkKCwwNHh8gISIjJCU1Ng4PEBESExQVFhcYGRobHB03JicoKSorLC0uLzAxMjM0ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXABdC0GY/QNB5bMDQeoBEGIACyAAQRRqQaPcACABEFggAigCAEEBRw1cIAIoAhQiAUEATA1bIABBGGohAwNAIAFBAWsiACACKAIUTw1eIAIoAhAgAEECdGoiBCgCAEUNXyADQcbbACAEEFsgAUEBSyEGIAAhASAGDQALDFsLIABBFGoiA0Gk3AAgARBYIAIoAgBBAkcNWyACKAIQBEAgAEEYakHG2wAgAkEQahBbCyADQcbbACACQQxqEFggA0HG2wAgAkEIahBY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QYmiA0G8AUGmiAUQAQALQYGDAkHTmQNBuQJBrvcCEAEACyAAQcbbACACQRxqEFgLIABBxtsAIAJBGGoQWAsgAEHG2wAgAkEUahBYCyAAQcbbACACQRBqEFgPCyAAQcbbACACQRRqEFgLIABBxtsAIAJBEGoQWAsgAEHG2wAgAkEMahBYDwsgAEHG2wAgAkEoahBYCyAAQcbbACACQSRqEFgPCyAAQcbbACACQRxqEFggAEHG2wAgAkEYahBYDwsgAEHG2wAgAkEUahBYCyAAQcbbACACQRBqEFgLIABBxtsAIAJBDGoQWAsgAEHG2wAgAkEIahBYDwsgAEEYakHG2wAgAkEIahBbDwsgA0HG2wAgAkEMahBYC74iAQ5/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAIgIoAgAOXgABAgMEBQYHCAkKCwwNHh8gISIjJCU1Ng4PEBESExQVFhcYGRobHB03JicoKSorLC0uLzAxMjM0ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXABdC0GY/QNB5bMDQeoBEGIACyAAQRRqQcfbACABEFggAigCAEEBRw1cIAIoAhQiAUEATA1bIABBGGohAwNAIAFBAWsiACACKAIUTw1eIAIoAhAgAEECdGoiBCgCAEUNXyADQcXbACAEEFsgAUEBSyEGIAAhASAGDQALDFsLIABBFGoiA0HI2wAgARBYIAIoAgBBAkcNWyACKAIQBEAgAEEYakHF2wAgAkEQahBbCyADQcXbACACQQxqEFggA0HF2wAgAkEIahBYDwsgAEEUaiIAQcnbACABEFggAigCAEEDRw1aDGALIABBFGpBytsAIAEQWCACKAIAQQRHDVkgAigCFARAIABBGGpBxdsAIAJBFGoQWwsgAigCEEUN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QRBqEFgPCyAAQcXbACACQRRqEFgLIABBxdsAIAJBEGoQWAsgAEHF2wAgAkEMahBYDwsgAEHF2wAgAkEoahBYCyAAQcXbACACQSRqEFgPCyAAQcXbACACQRxqEFggAEHF2wAgAkEYahBYDwsgAEHF2wAgAkEUahBYCyAAQcXbACACQRBqEFgLIABBxdsAIAJBDGoQWAsgAEHF2wAgAkEIahBYDwsgAEEYakHF2wAgAkEIahBbDwsgA0HF2wAgAkEMahBYCwkAIABBAhCjCAvyDwEYfyMAQbACayIDJAACQAJAAkACQAJAAkACQAJAAkACQAJAIAAoAgQEQCAAIAAoAgAoAhARAgAEQCADIAAoAgQiAikCODcD+AEgAyACKQIwNwPwASADIAIpAig3A+gBIAMgAikCIDcD4AEgAyACKQIYNwPYASADQYACaiACQUBrEOMBIQRB1IkLQQA2AgBBmgEgA0GUAmogAkHUAGoQAiEFQdSJCygCACERQdSJC0EANgIAIBFBAUYNAiADIAIoAmg2AqgCIAMgAigCbCICNgKsAiACBEAgAiACKAIEQQFqNgIECyADQQEgAygC4AEiAiACQQBKGzYC4AEgAyADKQPoATcDGCADIAMpA/ABNwMgIAMgAykD+AE3AyggAyADKQPgATcDECADQQEgAygC3AEiAiACQQBKGzYC3AFB1IkLQQA2AgAgAyADKQPYATcDCEGbASADQTBqIAQQAiEEQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBxABqIAUQAiEFQdSJCygCACESQdSJC0EANgIAIBJBAUYNBSADIAMoAqwCIgI2AlwgAyADKAKoAjYCWCACBEAgAiACKAIEQQFqNgIECyADQQA2AnggAyADKQMQNwKEASADIAMpAxg3AowBIAMgAykDIDcClAEgAyADKQMoNwKcASADQgA3AnAgA0H87Ak2AmQgAyADKQMINwJ8QdSJC0EANgIAIAMgATYCaCADIAFBqAFqNgJsQZsBIANBpAFqIAQQAiEBQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBuAFqIAUQAhpB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRwRAIAMgAygCWDYCzAEgAyADKAJcIgE2AtABIAEEQCAB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AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAIgIoAgAOXgABAgMEBQYHCAkKCwwNHh8gISIjJCU1Ng4PEBESExQVFhcYGRobHB03JicoKSorLC0uLzAxMjM0ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXABvC0GY/QNB5bMDQeoBEGIACyADQRRqQYPaACABEFggAigCAEEBRw1bIAIoAhQiAEEATA1tIANBGGohBQNAIABBAWsiAyACKAIUTw1dIAIoAhAgA0ECdGoiBCgCAEUNbyAFQYDaACAEEFsgAEEBSyEIIAMhACAIDQALDG0LIANBFGoiAEGE2gAgARBYIAIoAgBBAkcNWiACKAIQBEAgA0EYakGA2gAgAkEQahBbCyAAQYDaACACQQxqEFggAEGA2gAgAkEIahBYDGwLIANBFGoiAEGF2gAgARBYIAIoAgBBA0cNWQxeCyADQRRqQYbaACABEFggAigCAEEERw1YIAIoAhQEQCADQRhqQYDaACACQRRqEFsLIAIoAhBFDWogA0EYakGA2gAgAkEQahBbDGoLIANBFGoiAEGH2gAgARBYIAIoAgBBBUcNVyAAQYDaACACQSRqEFggAigCIEUNaSADQRhqQYDaACACQSBqEFsMaQsgA0EUakGI2gAgARBYIAIoAgBBBkcNViACKAIMIgBBAEwNaCADQRhqIQUDQCAAQQFrIgMgAigCDE8NWCACKAIIIANBAnRqIgQoAgBFDWogBUGA2gAgBBBbIABBAUshCSADIQAgCQ0ACwxoCyADQRRqIgBBidoAIAEQWCACKAIAQQdHDVUgAEGA2gAgAkEcahBYIAIoAhAiAEEATA1nIANBGGohBQNAIABBAWsiAyACKAIQTw1XIAIoAgwgA0ECdGoiBCgCAEUNaSAFQYDaACAEEFsgAEEBSyEKIAMhACAKDQALDGcLIANBFGpBitoAIAEQWCACKAIAQQhGDWYMVAsgA0EUaiIAQYvaACABEFggAigCAEEJRw1TDFsLIANBFGpBjNoAIAEQWCACKAIAQQpGDWQMUgsgA0EUaiIAQY3aACABEFggAigCAEELRw1RDFYLIANBFGoiAEGO2gAgARBYIAIoAgBBDEcNUAxaCyADQRRqIgBBj9oAIAEQWCACKAIAQQ1HDU8MWAsgA0EUaiIAQZDaACABEFggAigCAEEYRw1ODFkLIANBFGoiAEGR2gAgARBYIAIoAgBBGUcNTSAAQYDaACACQSBqEFgMWAsgA0EUaiIAQZLaACABEFggAigCAEEaRw1MDE8LIANBFGoiAEGT2gAgARBYIAIoAgBBG0cNSwxPCyADQRRqQZTaACABEFggAigCAEEcRg1cDEoLIANBFGoiAEGV2gAgARBYIAIoAgBBHUcNSQxRCyADQRRqIgBBltoAIAEQWCACKAIAQR5HDUggAEGA2gAgAkEUahBYDFALIANBFGoiAEGX2gAgARBYIAIoAgBBH0cNRwxVCyADQRRqIgBBmNoAIAEQWCACKAIAQSBHDUYMTAsgA0EUaiIAQZnaACABEFggAigCAEEhRw1FDEwLIANBFGoiAEGa2gAgARBYIAIoAgBBIkcNRCAAQYDaACACQSBqEFgMVgsgA0EUaiIAQZvaACABEFggAigCAEEjRw1DDEwLIANBFGoiAEGc2gAgARBYIAIoAgBBJEcNQgxFCyADQRRqQZ3aACABEFggAigCAEElRg1TDEELIANBFGoiAEGe2gAgARBYIAIoAgBBJkcNQAxNCyADQRRqIgBBn9oAIAEQWCACKAIAQSdHDT8MTAsgA0EUakGg2gAgARBYIAIoAgBBDkYNUAw+CyADQRRqIgBBodoAIAEQWCACKAIAQQ9HDT0MRQsgA0EUaiIAQaLaACABEFggAigCAEEQRw08DEMLIANBFGoiAEGj2gAgARBYIAIoAgBBEUcNOwxICyADQRRqIgBBpNoAIAEQWCACKAIAQRJHDToMSQsgA0EUakGl2gAgARBYIAIoAgBBE0cNOQxJCyADQRRqQabaACABEFggAigCAEEURg1KDDgLIANBFGoiAEGn2gAgARBYIAIoAgBBFUcNNwxGCyADQRRqQajaACABEFggAigCAEEpRg1IDDYLIANBFGoiAEGp2gAgARBYIAIoAgBBKkcNNQxECyADQRRqQaraACABEFggAigCAEErRg1GDDQLIANBFGoiAEGr2gAgARBYIAIoAgBBLEcNMwxBCyADQRRqIgBBrNoAIAEQWCACKAIAQS1HDTIMNwsgA0EUaiIAQa3aACABEFggAigCAEEuRw0xDDULIANBFGpBrtoAIAEQWCACKAIAQS9GDUIMMAsgA0EUaiIAQa/aACABEFggAigCAEEwRw0vDDMLIANBFGoiAEGw2gAgARBYIAIoAgBBMUcNLgwxCyADQRRqIgBBsdoAIAEQWCACKAIAQTJHDS0MOgsgA0EUaiIFQbLaACABEFggAigCAEEzRw0sIAIoAigiAEEASgRAIANBGGohBANAIABBAWsiAyACKAIoTw0vIAIoAiQgA0ECdGoiBigCAEUNQSAEQYDaACAGEFsgAEEBSyELIAMhACALDQALCyAFQYDaACACQRBqEFgMPgsgA0EUaiIAQbPaACABEFggAigCAEE0Rg06DCsLIANBFGpBtNoAIAEQWCACKAIAQTVHDSogAigCFCIAQQBMDTwgA0EYaiEFA0AgAEEBayIDIAIoAhRPDSwgAigCECADQQJ0aiIEKAIARQ0+IAVBgNoAIAQQWyAAQQFLIQwgAyEAIAwNAAsMPAsgA0EUakG12gAgARBYIAIoAgBBNkYNOwwpCyADQRRqIgBBttoAIAEQWCACKAIAQTdHDSgMNwsgA0EUakG32gAgARBYIAIoAgBBFkYNOQwnCyADQRRqQbjaACABEFggAigCAEEXRg04DCYLIANBFGpBudoAIAEQWCACKAIAQShGDTcMJQsgA0EUakG62gAgARBYIAIoAgBBOEcNJCACKAIMIgBBAEwNNiADQRhqIQUDQCAAQQFrIgMgAigCDE8NJiACKAIIIANBAnRqIgQoAgBFDTggBUGA2gAgBBBbIABBAUshDSADIQAgDQ0ACww2CyADQRRqIgBBu9oAIAEQWCACKAIAQTlHDSMMMgsgA0EUaiIAQbzaACABEFggAigCAEE6Rw0iDDELIANBFGoiAEG92gAgARBYIAIoAgBBO0cNIQwwCyADQRRqIgBBvtoAIAEQWCACKAIAQTxHDSAgAEGA2gAgAkEYahBYIAIoAgwiAEEATA0yIANBGGohBQNAIABBAWsiAyACKAIMTw0iIAIoAgggA0ECdGoiBCgCAEUNNCAFQYDaACAEEFsgAEEBSyEOIAMhACAODQALDDILIANBFGoiAEG/2gAgARBYIAIoAgBBPUcNHwwuCyADQRRqIgBBwNoAIAEQWCACKAIAQT5HDR4MLQsgA0EUaiIAQcHaACABEFggAigCAEE/Rw0dIABBgNoAIAJBFGoQWAwvCyADQRRqQcLaACABEFggAigCAEHAAEcNHCACKAIMIgBBAEwNLiADQRhqIQUDQCAAQQFrIgMgAigCDE8NHiACKAIIIANBAnRqIgQoAgBFDTAgBUGA2gAgBBBbIABBAUshDyADIQAgDw0ACwwuCyADQRRqIgBBw9oAIAEQWCACKAIAQcEARw0bDCMLIANBFGoiAEHE2gAgARBYIAIoAgBBwgBHDRoMIQsgA0EUaiIAQcXaACABEFggAigCAEHDAEcNGSAAQYDaACACQQxqEFgMKQsgA0EUaiIAQcbaACABEFggAigCAEHEAEcNGAwcCyADQRRqIgBBx9oAIAEQWCACKAIAQcUARw0XDBsLIANBFGpByNoAIAEQWCACKAIAQcYARw0WIAIoAgwiAEEATA0oIANBGGohBQNAIABBAWsiAyACKAIMTw0YIAIoAgggA0ECdGoiBCgCAEUNKiAFQYDaACAEEFsgAEEBSyEQIAMhACAQDQALDCgLIANBFGoiAEHJ2gAgARBYIAIoAgBBxwBHDRUMIwsgA0EUaiIAQcraACABEFggAigCAEHIAEcNFAwhCyADQRRqIgBBy9oAIAEQWCACKAIAQckARw0TDCILIANBFGoiAEHM2gAgARBYIAIoAgBBygBHDRIgAEGA2gAgAkEYahBYDB4LIANBFGoiAEHN2gAgARBYIAIoAgBBywBHDREMHQsgA0EUaiIAQc7aACABEFggAigCAEHMAEcNEAwSCyADQRRqIgBBz9oAIAEQWCACKAIAQc0ARw0PDBELIANBFGoiAEHQ2gAgARBYIAIoAgBBzgBHDQ4MFgsgA0EUaiIAQdHaACABEFggAigCAEHPAEcNDSACKAIYBEAgA0EYakGA2gAgAkEYahBbCyACKAIUBEAgA0EYakGA2gAgAkEUahBbCyACKAIQBEAgA0EYakGA2gAgAkEQahBbCwweCyADQRRqQdLaACABEFggAigCAEHQAEYNHgwMCyADQRRqIgBB09oAIAEQWCACKAIAQdEARw0LDBMLIANBFGoiAEHU2gAgARBYIAIoAgBB0gBHDQogAigCFARAIANBGGpBgNoAIAJBFGoQWwsgAEGA2gAgAkEQahBYDBsLIANBFGoiAEHV2gAgARBYIAIoAgBB0wBHDQkMFwsgA0EUaiIAQdbaACABEFggAigCAEHUAEcNCAwPCyADQRRqIgBB19oAIAEQWCACKAIAQdUARw0HDA8LIANBFGoiAEHY2gAgARBYIAIoAgBB1gBHDQYMEwsgA0EUaiIAQdnaACABEFggAigCAEHXAEcNBQwTCyADQRRqIgBB2toAIAEQWCACKAIAQdgARw0EDBMLIANBFGoiAEHb2gAgARBYIAIoAgBB2QBHDQMMCgsgA0EUaiIAQdzaACABEFggAigCAEHaAEcNAgwICyADQRRqIgBB3doAIAEQWCACKAIAQdsARw0BDA8LIANBFGoiAEHe2gAgARBYIAIoAgBB3ABHDQAgAEGA2gAgAkE8ahBYIAIoAjAiAEEATA0SIANBGGohBQNAIABBAWsiAyACKAIwTw0CIAIoAiwgA0ECdGoiBCgCAEUNFCAFQYDaACAEEFsgAEEBSyERIAMhACARDQALDBILQfDtBUHFmANBlAZBjd4AEAEAC0HFogFBiaIDQbwBQaaIBRABAAsgAEGA2gAgAkEcahBYCyAAQYDaACACQRhqEFgLIABBgNoAIAJBFGoQWAsgAEGA2gAgAkEQahBYDAwLIABBgNoAIAJBFGoQWAsgAEGA2gAgAkEQahBYCyAAQYDaACACQQxqEFgMCQsgAEGA2gAgAkEoahBYCyAAQYDaACACQSRqEFgMBwsgAEGA2gAgAkEcahBYIABBgNoAIAJBGGoQWAwGCyAAQYDaACACQRRqEFgLIABBgNoAIAJBEGoQWAsgAEGA2gAgAkEMahBYCyAAQYDaACACQQhqEFgMAgsgAigCCEUNASADQRhqQYDaACACQQhqEFsMAQsgAEGA2gAgAkEMahBYCyABKAIARQ0AIAdBgtoAIAEQWw8LC0GBgwJB05kDQbkCQa73AhABAAvFEAEafyMAQbACayICJAACQAJAAkACQAJAAkACQAJAAkACQAJAIAAoAgQEQCAAIAAoAgAoAhARAgAEQCACIAAoAgQiAykCODcD+AEgAiADKQIwNwPwASACIAMpAig3A+gBIAIgAykCIDcD4AEgAiADKQIYNwPYASACQYACaiADQUBrEOMBIQRB1IkLQQA2AgBBmgEgAkGUAmogA0HUAGoQAiEFQdSJCygCACERQdSJC0EANgIAIBFBAUYNAiACIAMoAmg2AqgCIAIgAygCbCIDNgKsAiADBEAgAyADKAIEQQFqNgIECyACQQEgAigC4AEiAyADQQBKGzYC4AEgAiACKQPoATcDGCACIAIpA/ABNwMgIAIgAikD+AE3AyggAiACKQPgATcDECACQQEgAigC3AEiAyADQQBKGzYC3AFB1IkLQQA2AgAgAiACKQPYATcDCEGbASACQTBqIAQQAiEEQdSJCygCACEDQdSJC0EANgIAAkAgA0EBRwRAQdSJC0EANgIAQZoBIAJBxABqIAUQAiEFQdSJCygCACESQdSJC0EANgIAIBJBAUYNBSACIAIoAqwCIgM2AlwgAiACKAKoAjYCWCADBEAgAyADKAIEQQFqNgIECyACQQA2AnggAiACKQMQNwKEASACIAIpAxg3AowBIAIgAikDIDcClAEgAiACKQMoNwKcASACQgA3AnAgAkH87Ak2AmQgAiACKQMINwJ8QdSJC0EANgIAIAIgATYCaCACIAFBqAFqNgJsQZsBIAJBpAFqIAQQAiEBQdSJCygCACEDQdSJC0EANgIAAkAgA0EBRwRAQdSJC0EANgIAQZoBIAJBuAFqIAUQAhpB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRwRAIAIgAigCWDYCzAEgAiACKAJcIgE2AtABIAEEQCABIAEoAgRBAWo2AgQLIAJBADsB1AEgAkEIahBhIAJBAToA1AEgACgCACgCFCEUQdSJC0EANgIAIBQgABAGIQBB1IkLKAIAIRVB1IkLQQA2AgAgFUEBRg0EIAIoAmQoAgghFkHUiQtBADYCACAWIAJB5ABqIgEgABADQdSJCygCACEXQdSJC0EANgIAIBdBAUYNBEHUiQtBADYCAEGXASABEApB1IkLKAIAIRhB1IkLQQA2AgAgGEEBRg0EIAJB/OwJNgJkIAJB/ABqEGEgAigCcCIBBEAgAigCdCIAIAEiA0cEQANAIABBBGsiACgCACEDIABBADYCACADBEAgAyADKAIAKAIEEQEACyAAIAFHDQALIAIoAnAhAwsgAiABNgJ0IAMQWgsgAkHYAWoQYQwQCxAAIQAgARBrDAELEAAhAAsgAkHwAGoQ4AEgAkEIahBhDA4LEAAhAAwNCxAAIQAgAkHkAGoQfBoMDAsgACABNgJ8IABBFGohCSABKAIYIgMgASgCHCIERwRAA0AgAygCACIFKAIMRQRAIAkgBUEgahCmCAsgA0EEaiIDIARHDQALCyABKAIMIgMgASgCECIGRwRAA0AgAygCACIEKAIMRQRAIAAgBDYCeCAAIAJB5ABqIAQgACgCfBCUBCIFNgK4AUHUiQtBADYCAEH/2QAgCSAEQTBqEANB1IkLKAIAIRlB1IkLQQA2AgAgGUEBRgRAEAAhGiAFEN8CGiAaEAcACyAFEN8CGiAAQQA2AngLIANBBGoiAyAGRw0ACwsgASgCMCIKIAEoAjQiDkYNCSAAQRxqIQ0DQCAKKAIAIgMoAgwEQCAJIANBFGoQpggLIAMoAhwiCyADKAIgIg9HBEAgACgCbCEGIAAoAnAhBCAAKAIYIQUDQCACIAsoAgAiBzYCZCAEIAZrIhBBA3UiA0EAIAVrRw0GIAdFDQcCQCAFQQlNBEAgACAFQQFqIgY2AhggDSAFQQN0aiIDQYDaADYCACADIAJB5ABqNgIEIAQhAyAGIQUMAQsgACgCdCIIIARLBEAgBEGA2gA2AgAgBCACQeQAajYCBCAAIARBCGoiAzYCcAwBCyADQQFqIgdBgICAgAJPDQlB/////wEgCCAGayIIQQJ1IgwgByAHIAxJGyAIQfj///8HTxsiB0GAgICAAk8NCiAQIAdBA3QiDBBcIghqIgdBgNoANgIAIAggA0EDdGogAkHkAGo2AgQgB0EIaiEDIAQgBkcEQANAIAdBCGsiByAEQQhrIgQpAgA3AgAgBCAGRw0ACwsgACAIIAxqNgJ0IAAgAzYCcCAAIAc2AmwgBkUNACAGEFogACgCcCEDIAAoAhghBQtBACAFayADIAAoAmwiBmtBA3VHBEADQAJAIAMgBkYEQCAFRQ0OIA0gBUEBayIEQQN0aiIFKAIEIQMgBSgCACEGIAAgBDYCGAwBCyADQQhrIgQoAgAhBiAEKAIEIQMgACAENgJwCyAJIAM2AgAgAygCAEUNDSAAIAMgBhEAAEEAIAAoAhgiBWsgACgCcCIDIAAoAmwiBmtBA3VHDQALCyADIQQgC0EEaiILIA9HDQALCyAKQQRqIgogDkcNAAsMCQtB6PoFQbqLA0H8A0HaywIQAQALEAAhGyAEEGsgGxAHAAsQACEAIAQQawwIC0HNygVB05kDQcgCQdD4AhABAAtBgYMCQdOZA0G5AkGu9wIQAQALEGQACxBqAAtB3sQFQbCUA0HaAEH9+wIQAQALQfWCAkHTmQNBzQJB0PgCEAEACyABKAJIIgMgASgCTCIBRwRAA0AgAygCACIELQAURQRAIAkgBEEYahCmCAsgA0EEaiIDIAFHDQALCyAAQQA2AnwLIAJBsAJqJAAPCyACQdgBahBhIAAQBwALtQUBCH8jAEEQayIGJAAgASgCACIBKAIAQRNGBEAgBiAAKAJ8IAEQ8AUiBzYCBAJAIAAoAngiAUUNACABKAJsRQ0AIAFB4ABqIQkCQCABKAJkIgJFDQAgB0GV08feBWwiAUEYdiABc0GV08feBWxB1Mye+gZzIgFBDXYgAXNBldPH3gVsIgFBD3YgAXMhBQJAIAJpIgNBAU0EQCACQQFrIAVxIQQMAQsgBSIEIAJJDQAgBCACcCEECyAJKAIAIARBAnRqKAIAIgFFDQAgASgCACIBRQ0AIANBAU0EQCACQQFrIQMDQAJAIAEoAgQiCCAFRwRAIAMgCHEgBEYNAQwECyABKAIIIAdGDQQLIAEoAgAiAQ0ACwwBCwNAAkAgASgCBCIDIAVHBEAgAiADTQR/IAMgAnAFIAMLIARGDQEMAwsgASgCCCAHRg0DCyABKAIAIgENAAsLIAJFDQAgACgCFCgCACIIQZXTx94FbCIBQRh2IAFzQZXTx94FbEHUzJ76BnMiAUENdiABc0GV08feBWwiAUEPdiABcyEFAkAgAmkiA0EBTQRAIAUgAkEBa3EhBAwBCyAFIgQgAkkNACAEIAJwIQQLIAkoAgAgBEECdGooAgAiAUUNACABKAIAIgFFDQACQCADQQFNBEAgAkEBayECA0ACQCAFIAEoAgQiA0cEQCACIANxIARGDQEMBQsgASgCCCAIRg0DCyABKAIAIgENAAsMAgsDQAJAIAUgASgCBCIDRwRAIAIgA00EfyADIAJwBSADCyAERg0BDAQLIAEoAgggCEYNAgsgASgCACIBDQALDAELIAZBCGogCSAHIAZBBGoQeCAGKAIIIgQgASgCFDYCFCAEIAEpAgw3AgwLIAAoAhQgBzYCACAGQRBqJAAPC0Hw7QVBxZgDQZQGQY3eABABAAs2ACABKAIAIgEoAgBBA0cEQEHw7QVBxZgDQZQGQY3eABABAAsgASAAKAJ8IAEoAhAQ8AU2AhALywEBAn8CQCAAKAIEBEAgACACNgJ4IAAgATYCfCAAQRRqIAIiAUEwahD1BiACKAIMRQRAAkAgAigCMCICKAIAQQFHDQAgAigCFCIDRQ0AIAAoAnwgAigCECADQQJ0akEEaygCABDwBSEDIAIoAhQiBEUNAyACKAIQIARBAnRqQQRrIAM2AgAgASgCMCECCyABIAAoAnwgAhDwBTYCMAsgAEIANwJ4DwtB6PoFQbqLA0GcBEHu0wIQAQALQbTEBUGJogNB0AFB/fsCEAEAC74iAQ5/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAIgIoAgAOXgABAgMEBQYHCAkKCwwNHh8gISIjJCU1Ng4PEBESExQVFhcYGRobHB03JicoKSorLC0uLzAxMjM0ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXABdC0GY/QNB5bMDQeoBEGIACyAAQRRqQaPZACABEFggAigCAEEBRw1cIAIoAhQiAUEATA1bIABBGGohAwNAIAFBAWsiACACKAIUTw1eIAIoAhAgAEECdGoiBCgCAEUNXyADQaLZACAEEFsgAUEBSyEGIAAhASAGDQALDFsLIABBFGoiA0Gk2QAgARBYIAIoAgBBAkcNWyACKAIQBEAgAEEYakGi2QAgAkEQahBbCyADQaLZACACQQxqEFggA0Gi2QAgAkEIahBYDwsgAEEUaiIAQaXZACABEFggAigCAEEDRw1aDGALIABBFGpBptkAIAEQWCACKAIAQQRHDVkgAigCFARAIABBGGpBotkAIAJBFGoQWwsgAigCEEUNWCAAQRhqQaLZACACQRBqEFsPCyAAQRRqIgNBp9kAIAEQWCACKAIAQQVHDVggA0Gi2QAgAkEkahBYIAIoAiBFDVcgAEEYakGi2QAgAkEgahBbDwsgAEEUakGo2QAgARBYIAIoAgBBBkcNVyACKAIMIgFBAEwNViAAQRhqIQMDQCABQQFrIgAgAigCDE8NWSACKAIIIABBAnRqIgQoAgBFDVogA0Gi2QAgBBBbIAFBAUshByAAIQEgBw0ACwxWCyAAQRRqIgNBqdkAIAEQWCACKAIAQQdHDVYgA0Gi2QAgAkEcahBYIAIoAhAiAUEATA1VIABBGGohAwNAIAFBAWsiACACKAIQTw1YIAIoAgwgAEECdGoiBCgCAEUNWSADQaLZACAEEFsgAUEBSyEIIAAhASAIDQALDFULIABBFGpBqtkAIAEQWCACKAIAQQhGDVQMVQsgAEEUaiIAQavZACABEFggAigCAEEJRw1UDF0LIABBFGpBrNkAIAEQWCACKAIAQQpGDVIMUwsgAEEUaiIAQa3ZACABEFggAigCAEELRw1SDFgLIABBFGoiAEGu2QAgARBYIAIoAgBBDEcNUQxcCyAAQRRqIgBBr9kAIAEQWCACKAIAQQ1HDVAMWgsgAEEUaiIAQbDZACABEFggAigCAEEYRw1PDFsLIABBFGoiAEGx2QAgARBYIAIoAgBBGUcNTiAAQaLZACACQSBqEFgMWgsgAEEUaiIAQbLZACABEFggAigCAEEaRw1NDFELIABBFGoiAEGz2QAgARBYIAIoAgBBG0cNTAxRCyAAQRRqQbTZACABEFggAigCAEEcRg1KDEsLIABBFGoiAEG12QAgARBYIAIoAgBBHUcNSgxTCyAAQRRqIgBBttkAIAEQWCACKAIAQR5HDUkgAEGi2QAgAkEUahBYDFILIABBFGoiAEG32QAgARBYIAIoAgBBH0cNSAxXCyAAQRRqIgBBuNkAIAEQWCACKAIAQSBHDUcMTgsgAEEUaiIAQbnZACABEFggAigCAEEhRw1GDE4LIABBFGoiAEG62QAgARBYIAIoAgBBIkcNRSAAQaLZACACQSBqEFgPCyAAQRRqIgBBu9kAIAEQWCACKAIAQSNHDUQMTgsgAEEUaiIAQbzZACABEFggAigCAEEkRw1DDEcLIABBFGpBvdkAIAEQWCACKAIAQSVGDUEMQgsgAEEUaiIAQb7ZACABEFggAigCAEEmRw1BDE8LIABBFGoiAEG/2QAgARBYIAIoAgBBJ0cNQAxOCyAAQRRqQcDZACABEFggAigCAEEORg0+DD8LIABBFGoiAEHB2QAgARBYIAIoAgBBD0cNPgxHCyAAQRRqIgBBwtkAIAEQWCACKAIAQRBHDT0MRQsgAEEUaiIAQcPZACABEFggAigCAEERRw08DEoLIABBFGoiAEHE2QAgARBYIAIoAgBBEkcNOwxLCyAAQRRqQcXZACABEFggAigCAEETRw06IAIoAghFDTkMSwsgAEEUakHG2QAgARBYIAIoAgBBFEYNOAw5CyAAQRRqIgBBx9kAIAEQWCACKAIAQRVHDTgMSAsgAEEUakHI2QAgARBYIAIoAgBBKUYNNgw3CyAAQRRqIgBBydkAIAEQWCACKAIAQSpHDTYMRgsgAEEUakHK2QAgARBYIAIoAgBBK0YNNAw1CyAAQRRqIgBBy9kAIAEQWCACKAIAQSxHDTQMQwsgAEEUaiIAQczZACABEFggAigCAEEtRw0zDDkLIABBFGoiAEHN2QAgARBYIAIoAgBBLkcNMgw3CyAAQRRqQc7ZACABEFggAigCAEEvRg0wDDELIABBFGoiAEHP2QAgARBYIAIoAgBBMEcNMAw1CyAAQRRqIgBB0NkAIAEQWCACKAIAQTFHDS8MMwsgAEEUaiIAQdHZACABEFggAigCAEEyRw0uDDwLIABBFGoiA0HS2QAgARBYIAIoAgBBM0cNLSACKAIoIgFBAEoEQCAAQRhqIQQDQCABQQFrIgAgAigCKE8NMCACKAIkIABBAnRqIgUoAgBFDTEgBEGi2QAgBRBbIAFBAUshCSAAIQEgCQ0ACwsgA0Gi2QAgAkEQahBYDwsgAEEUaiIAQdPZACABEFggAigCAEE0RgRADD0LDCwLIABBFGpB1NkAIAEQWCACKAIAQTVHDSsgAigCFCIBQQBMDSogAEEYaiEDA0AgAUEBayIAIAIoAhRPDS0gAigCECAAQQJ0aiIEKAIARQ0uIANBotkAIAQQWyABQQFLIQogACEBIAoNAAsMKgsgAEEUakHV2QAgARBYIAIoAgBBNkYNKQwqCyAAQRRqIgBB1tkAIAEQWCACKAIAQTdHDSkMOQsgAEEUakHX2QAgARBYIAIoAgBBFkYNJwwoCyAAQRRqQdjZACABEFggAigCAEEXRg0mDCcLIABBFGpB2dkAIAEQWCACKAIAQShGDSUMJgsgAEEUakHa2QAgARBYIAIoAgBBOEcNJSACKAIMIgFBAEwNJCAAQRhqIQMDQCABQQFrIgAgAigCDE8NJyACKAIIIABBAnRqIgQoAgBFDSggA0Gi2QAgBBBbIAFBAUshCyAAIQEgCw0ACwwkCyAAQRRqIgBB29kAIAEQWCACKAIAQTlHDSQMNAsgAEEUaiIAQdzZACABEFggAigCAEE6Rw0jDDMLIABBFGoiAEHd2QAgARBYIAIoAgBBO0cNIgwyCyAAQRRqIgNB3tkAIAEQWCACKAIAQTxHDSEgA0Gi2QAgAkEYahBYIAIoAgwiAUEATA0gIABBGGohAwNAIAFBAWsiACACKAIMTw0jIAIoAgggAEECdGoiBCgCAEUNJCADQaLZACAEEFsgAUEBSyEMIAAhASAMDQALDCALIABBFGoiAEHf2QAgARBYIAIoAgBBPUcNIAwwCyAAQRRqIgBB4NkAIAEQWCACKAIAQT5HDR8MLwsgAEEUaiIAQeHZACABEFggAigCAEE/Rw0eIABBotkAIAJBFGoQWA8LIABBFGpB4tkAIAEQWCACKAIAQcAARw0dIAIoAgwiAUEATA0cIABBGGohAwNAIAFBAWsiACACKAIMTw0fIAIoAgggAEECdGoiBCgCAEUNICADQaLZACAEEFsgAUEBSyENIAAhASANDQALDBwLIABBFGoiAEHj2QAgARBYIAIoAgBBwQBHDRwMJQsgAEEUaiIAQeTZACABEFggAigCAEHCAEcNGwwjCyAAQRRqIgNB5dkAIAEQWCACKAIAQcMARw0aIANBotkAIAJBDGoQWCACKAIIRQ0ZDCsLIABBFGoiAEHm2QAgARBYIAIoAgBBxABHDRkMHgsgAEEUaiIAQefZACABEFggAigCAEHFAEcNGAwdCyAAQRRqQejZACABEFggAigCAEHGAEcNFyACKAIMIgFBAEwNFiAAQRhqIQMDQCABQQFrIgAgAigCDE8NGSACKAIIIABBAnRqIgQoAgBFDRogA0Gi2QAgBBBbIAFBAUshDiAAIQEgDg0ACwwWCyAAQRRqIgBB6dkAIAEQWCACKAIAQccARw0WDCULIABBFGoiAEHq2QAgARBYIAIoAgBByABHDRUMIwsgAEEUaiIAQevZACABEFggAigCAEHJAEcNFAwkCyAAQRRqIgBB7NkAIAEQWCACKAIAQcoARw0TIABBotkAIAJBGGoQWAwgCyAAQRRqIgBB7dkAIAEQWCACKAIAQcsARw0SDB8LIABBFGoiAEHu2QAgARBYIAIoAgBBzABHDREMFAsgAEEUaiIAQe/ZACABEFggAigCAEHNAEcNEAwTCyAAQRRqIgBB8NkAIAEQWCACKAIAQc4ARw0PDBgLIABBFGoiA0Hx2QAgARBYIAIoAgBBzwBHDQ4gAigCGARAIABBGGpBotkAIAJBGGoQWwsgAigCFARAIABBGGpBotkAIAJBFGoQWwsgAigCEARAIABBGGpBotkAIAJBEGoQWwsMIAsgAEEUakHy2QAgARBYIAIoAgBB0ABGDQwMDQsgAEEUaiIAQfPZACABEFggAigCAEHRAEcNDAwVCyAAQRRqIgNB9NkAIAEQWCACKAIAQdIARw0LIAIoAhQEQCAAQRhqQaLZACACQRRqEFsLIANBotkAIAJBEGoQWAwdCyAAQRRqIgBB9dkAIAEQWCACKAIAQdMARw0KDBkLIABBFGoiAEH22QAgARBYIAIoAgBB1ABHDQkMEQsgAEEUaiIAQffZACABEFggAigCAEHVAEcNCAwRCyAAQRRqIgBB+NkAIAEQWCACKAIAQdYARw0HDBULIABBFGoiAEH52QAgARBYIAIoAgBB1wBHDQYMFQsgAEEUaiIAQfrZACABEFggAigCAEHYAEcNBQwVCyAAQRRqIgBB+9kAIAEQWCACKAIAQdkARw0EDAwLIABBFGoiAEH82QAgARBYIAIoAgBB2gBHDQMMCgsgAEEUaiIAQf3ZACABEFggAigCAEHbAEcNAgwRCyAAQRRqIgNB/tkAIAEQWCACKAIAQdwARw0BIANBotkAIAJBPGoQWCACKAIwIgFBAEwNACAAQRhqIQMDQCABQQFrIgAgAigCME8NAyACKAIsIABBAnRqIgQoAgBFDQQgA0Gi2QAgBBBbIAFBAUshDyAAIQEgDw0ACwsPC0Hw7QVBxZgDQZQGQY3eABABAAtBxaIBQYmiA0G8AUGmiAUQAQALQYGDAkHTmQNBuQJBrvcCEAEACyAAQaLZACACQRxqEFgLIABBotkAIAJBGGoQWAsgAEGi2QAgAkEUahBYCyAAQaLZACACQRBqEFgPCyAAQaLZACACQRRqEFgLIABBotkAIAJBEGoQWAsgAEGi2QAgAkEMahBYDwsgAEGi2QAgAkEoahBYCyAAQaLZACACQSRqEFgPCyAAQaLZACACQRxqEFggAEGi2QAgAkEYahBYDwsgAEGi2QAgAkEUahBYCyAAQaLZACACQRBqEFgLIABBotkAIAJBDGoQWAsgAEGi2QAgAkEIahBYDwsgAEEYakGi2QAgAkEIahBbDwsgA0Gi2QAgAkEMahBYC5EUAhp/An4jAEHAAmsiAyQAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIEBEAgACAAKAIAKAIQEQIABEAgAyAAKAIEIgIpAjg3A4ACIAMgAikCMDcD+AEgAyACKQIoNwPwASADIAIpAiA3A+gBIAMgAikCGDcD4AEgA0GIAmogAkFAaxDjASEEQdSJC0EANgIAQZoBIANBnAJqIAJB1ABqEAIhBkHUiQsoAgAhEUHUiQtBADYCACARQQFGDQIgAyACKAJoNgKwAiADIAIoAmwiAjYCtAIgAgRAIAIgAigCBEEBajYCBAsgA0EBIAMoAugBIgIgAkEAShs2AugBIAMgAykD8AE3AyAgAyADKQP4ATcDKCADIAMpA4ACNwMwIAMgAykD6AE3AxggA0EBIAMoAuQBIgIgAkEAShs2AuQBQdSJC0EANgIAIAMgAykD4AE3AxBBmwEgA0E4aiAEEAIhBEHUiQsoAgAhAkHUiQtBADYCAAJAIAJBAUcEQEHUiQtBADYCAEGaASADQcwAaiAGEAIhBkHUiQsoAgAhEkHUiQtBADYCACASQQFGDQUgAyADKAK0AiICNgJkIAMgAygCsAI2AmAgAgRAIAIgAigCBEEBajYCBAsgA0EANgKAASADIAMpAxg3AowBIAMgAykDIDcClAEgAyADKQMoNwKcASADIAMpAzA3AqQBIANCADcCeCADQfzsCTYCbCADIAMpAxA3AoQBQdSJC0EANgIAIAMgATYCcCADIAFBqAFqNgJ0QZsBIANBrAFqIAQQAiEBQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBwAFqIAYQAhpB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRwRAIAMgAygCYDYC1AEgAyADKAJkIgE2AtgBIAEEQCABIAEoAgRBAWo2AgQLIANBADsB3AEgA0EQahBhIANBAToA3AEgACgCACgCFCEUQdSJC0EANgIAIBQgABAGIQBB1IkLKAIAIRVB1IkLQQA2AgAgFUEBRg0EIAMoAmwoAgghFkHUiQtBADYCACAWIANB7ABqIgEgABADQdSJCygCACEXQdSJC0EANgIAIBdBAUYNBEHUiQtBADYCAEGXASABEApB1IkLKAIAIRhB1IkLQQA2AgAgGEEBRg0EIANB/OwJNgJsIANBhAFqEGEgAygCeCIBBEAgAygCfCIAIAEiAkcEQANAIABBBGsiACgCACECIABBADYCACACBEAgAiACKAIAKAIEEQEACyAAIAFHDQALIAMoAnghAgsgAyABNgJ8IAIQWgsgA0HgAWoQYQwRCxAAIQAgARBrDAELEAAhAAsgA0H4AGoQ4AEgA0EQahBhDBALEAAhAAwPCxAAIQAgA0HsAGoQfBoMDgsgACABNgJ8IABBFGohCCABKAIYIgIgASgCHCIERwRAA0AgAigCACIGKAIMRQRAIAggBkEgahD1BgsgAkEEaiICIARHDQALCyABKAIMIgIgASgCECIGRwRAA0AgAigCACIEKAIMRQRAIAAgBDYCeCAIIARBMGoQ9QYgBCgCDEUEQAJAIAQoAjAiBSgCAEEBRw0AIAUoAhQiB0UNACAAKAJ8IAUoAhAgB0ECdGpBBGsoAgAQ8AUhByAFKAIUIgpFDQggBSgCECAKQQJ0akEEayAHNgIAIAQoAjAhBQsgBCAAKAJ8IAUQ8AU2AjALIABBADYCeAsgAkEEaiICIAZHDQALCyABKAIwIgogASgCNCIORg0KIABBHGohDQNAIAooAgAiAigCDARAIAggAkEUahD1BgsgAigCHCILIAIoAiAiD0cEQCAAKAJsIQUgACgCcCEEIAAoAhghBgNAIAMgCygCACIHNgJsIAQgBWsiEEEDdSICQQAgBmtHDQcgB0UNCAJAIAZBCU0EQCAAIAZBAWoiBTYCGCANIAZBA3RqIgJBotkANgIAIAIgA0HsAGo2AgQgBCECIAUhBgwBCyAAKAJ0IgkgBEsEQCAEQaLZADYCACAEIANB7ABqNgIEIAAgBEEIaiICNgJwDAELIAJBAWoiB0GAgICAAk8NCkH/////ASAJIAVrIglBAnUiDCAHIAcgDEkbIAlB+P///wdPGyIHQYCAgIACTw0LIBAgB0EDdCIMEFwiCWoiB0Gi2QA2AgAgCSACQQN0aiADQewAajYCBCAHQQhqIQIgBCAFRwRAA0AgB0EIayIHIARBCGsiBCkCADcCACAEIAVHDQALCyAAIAkgDGo2AnQgACACNgJwIAAgBzYCbCAFRQ0AIAUQWiAAKAJwIQIgACgCGCEGC0EAIAZrIAIgACgCbCIFa0EDdUcEQANAAkAgAiAFRgRAIAZFDQ8gDSAGQQFrIgRBA3RqIgYoAgQhAiAGKAIAIQUgACAENgIYDAELIAJBCGsiBCgCACEFIAQoAgQhAiAAIAQ2AnALIAggAjYCACACKAIARQ0OIAAgAiAFEQAAQQAgACgCGCIGayAAKAJwIgIgACgCbCIFa0EDdUcNAAsLIAIhBCALQQRqIgsgD0cNAAsLIApBBGoiCiAORw0ACwwKC0Ho+gVBuosDQfwDQdrLAhABAAsQACEAIAQQawwMCxAAIQAgBBBrDAoLQbTEBUGJogNB0AFB/fsCEAEAC0HNygVB05kDQcgCQdD4AhABAAtBgYMCQdOZA0G5AkGu9wIQAQALEGQACxBqAAtB3sQFQbCUA0HaAEH9+wIQAQALQfWCAkHTmQNBzQJB0PgCEAEACyABKAJIIgIgASgCTCIERwRAA0AgAigCACIGLQAURQRAIAggBkEYahD1BgsgAkEEaiICIARHDQALCyADQgI3AwggA0ICNwLgAUHIrAspAwAhHSADQbgCaiADQQhqEKcDIRkgA0EANgJ0IANCADcCbCAZKAIAIRpB1IkLQQA2AgAgHSAaIANB7ABqQQAQjQMhBEHUiQsoAgAhAkHUiQtBADYCAAJAAkAgAkEBRwRAIAMgBDYCvAIgAygCbCICBEAgAhBaCyABKAIMIgIgASgCECIGRg0CQcCwCygCACEFDAELEAAhACADKAJsIgFFDQUgARBaDAULA0AgAigCACIIKAIMIgdBACAFIAdGG0UEQCAGIAJBBGoiAkcNAQwCCwsgBCAIKQIMNwIMCwJAIAQoAgwNACABKAIMIgIgASgCECIGRg0AA0AgAigCACIFKAIMRQRAIAYgAkEEaiICRw0BDAILCyAEIAUpAgw3AgwLIARByKwLKQMANwIUQdSJC0EANgIAQS0gASADQbwCahACGkHUiQsoAgAhG0HUiQtBADYCACAbQQFGDQEgAygCvAIiAQRAIAEQpAIQWgsgAEEANgJ8CyADQcACaiQADwsQACEAIANBvAJqEMcCDAELIANB4AFqEGELIAAQBwALLwAgASgCACIBKAIAQdwARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQ/QELLwAgASgCACIBKAIAQdsARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQ/QELLwAgASgCACIBKAIAQdoARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQ/QELLwAgASgCACIBKAIAQdkARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQ/QELLwAgASgCACIBKAIAQdgARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQ/QELLwAgASgCACIBKAIAQdcARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQ/QELLwAgASgCACIBKAIAQdYARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQ/QELLwAgASgCACIBKAIAQdUARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQ/QELLwAgASgCACIBKAIAQdQARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQ/QELLwAgASgCACIBKAIAQdMARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQ/QELLwAgASgCACIBKAIAQdIARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQ/QELLwAgASgCACIBKAIAQdEARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQ/QELLwAgASgCACIBKAIAQdAARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQ/QELLwAgASgCACIBKAIAQc8ARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQ/QELLwAgASgCACIBKAIAQc4ARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQ/QELLwAgASgCACIBKAIAQc0ARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQ/QELLwAgASgCACIBKAIAQcwARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQ/QELLwAgASgCACIBKAIAQcsARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQ/QELgAEBAX8jAEEwayIEJAAgBCACNgIkIAQgAxBsNgIsIAQgAzYCKCAEIAQpAig3AwggBEEYaiAEQQhqEGUgBCABNgIUIARBKGoiAyAAQZQBaiABIARBFGoQlQogAyAEKAIoQRRqIAIgBEEkahD2BiAEKAIoIAQpAxg3AgwgBEEwaiQACy8AIAEoAgAiASgCAEHKAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEP0BCy8AIAEoAgAiASgCAEHJAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEP0BCy8AIAEoAgAiASgCAEHIAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEP0BCy8AIAEoAgAiASgCAEHHAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEP0BCy8AIAEoAgAiASgCAEHGAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEP0BCy8AIAEoAgAiASgCAEHFAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEP0BCy8AIAEoAgAiASgCAEHEAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEP0BCy8AIAEoAgAiASgCAEHDAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEP0BCy8AIAEoAgAiASgCAEHCAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEP0BCy8AIAEoAgAiASgCAEHBAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEP0BCwoAIAAgATYChAELLwAgASgCACIBKAIAQcAARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQ/QELLgAgASgCACIBKAIAQT9HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARD9AQsuACABKAIAIgEoAgBBPkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEP0BCy4AIAEoAgAiASgCAEE9RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQ/QELLgAgASgCACIBKAIAQTxHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARD9AQsuACABKAIAIgEoAgBBO0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEP0BCy4AIAEoAgAiASgCAEE6RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQ/QELLgAgASgCACIBKAIAQTlHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARD9AQsuACABKAIAIgEoAgBBOEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEP0BCy4AIAEoAgAiASgCAEEoRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQ/QEL6AgBDX8jAEGQAWsiAyQAIANBADYCICADQcwAaiIEQgA3AgAgA0IANwJUIANB4ABqIgVCADcCACADQgA3AmggA0IANwJ0IANBgICA/AM2AnAgA0EAOwF8IANB8IkLKQIANwIsIANB+IkLKQIANwI0IANBgIoLKQIANwI8IANBiIoLKQIANwJEIANCADcCGCADQfzsCTYCDCADQeiJCykCADcCJCADIAA2AhAgAyAAQagBajYCFCADQaCKCyoCADgCXEHUiQtBADYCAEHNACAEQZiKCygCABADQdSJCygCACEAQdSJC0EANgIAAkACQAJAIABBAUYNAEHUiQtBADYCACADQbSKCyoCADgCcEHOACAFQayKCygCABADQdSJCygCACEJQdSJC0EANgIAIAlBAUYNAEG4igsoAgAhBUG8igsoAgAiBARAIAQgBCgCBEEBajYCBAsgAygCeCEAIAMgBDYCeCADIAU2AnQCQCAARQ0AIAAgACgCBCIEQQFrNgIEIAQNACAAIAAoAgAoAggRAQAgABB1CwJAIAJFDQBBACEFAkACQAJAAkACQANAIAEgBUECdGooAgAiBhBsIgBB8P///wdPBEBB1IkLQQA2AgBB2AAQCUHUiQsoAgAhCkHUiQtBADYCACAKQQFGDQIACwJAAkAgAEELTwRAQdSJC0EANgIAQQQgAEEPckEBaiIHEAYhBEHUiQsoAgAhC0HUiQtBADYCACALQQFGDQggAyAENgIAIAMgADYCBCADIAdBgICAgHhyNgIIDAELIAMgADoACyADIQQgAEUNAQsgBCAGIAD8CgAACyAAIARqQQA6AAACQCADLAALIgBBAE4EQCADIAMoAgg2AogBIAMgAykCADcDgAEMAQtB1IkLQQA2AgBB1AAgA0GAAWogAygCACADKAIEEAhB1IkLKAIAIQxB1IkLQQA2AgAgDEEBRg0DC0HUiQtBADYCAEHZ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BEAgASAAKAIAIgIoAhAgAigCDCIFa0ECdU8EQCADQagCakGoKRDIASEBQdSJC0EANgIAQbACIAAgARADQdSJCygCACGUAUHUiQtBADYCACCUAUEBRw0dEAAhBiABLAALQQBODSYMAgsgAiAFIAFBAnRqKAIAKQIANwJgCyAAKALYASIHIAAoAtwBIgRHBEADQCAHKAIAIQUCQAJAIBIiBiIBKAIAIgJFDQADQCACIgEoAhAiAiAFSwRAIAEhBiABKAIAIgINAQwCCyACIAVPBEAgASECDAMLIAEoAgQiAg0ACyABQQRqIQYLQRgQXCICIAU2AhAgAiABNgIIIAJCADcCACACQQA2AhQgBiACNgIAIAIhASAAKALMASgCACIIBEAgACAINgLMASAGKAIAIQELIAAoAtABIAEQZyAAIAAoAtQBQQFqNgLUAQsgAigCFCEBIAUCfgJAAkACQAJAAkACQAJAIAUoAhAOBQABAgMEBQsgACgCACICKAIQIAIoAgwiAmtBAnUgAUsNBSADQagCakGoKRDIASEBQdSJC0EANgIAQbACIAAgARADQdSJCygCACGVAUHUiQtBADYCACCVAUEBRw0kEAAhBiABLAALQQBIDQkMLQsgASAAKAIAIgIoAlggAigCVCICa0ECdU8EQCADQagCakGWKxDIASEBQdSJC0EANgIAQbACIAAgARADQdSJCygCACGWAUHUiQtBADYCACCWAUEBRw0kEAAhBiABLAALQQBIDQkMLQsgAiABQQJ0aigCACkDAAwFCyABIAAoAgAiAkFAaygCACACKAI8IgJrQQJ1TwRAIANBqAJqQYcoEMgBIQFB1IkLQQA2AgBBsAIgACABEANB1IkLKAIAIZcBQdSJC0EANgIAIJcBQQFHDSMQACEGIAEsAAtBAEgNCAwsCyACIAFBAnRqKAIAKQMADAQLIAEgACgCACICKAIcIAIoAhgiAmtBAnVPBEAgA0GoAmpBgyoQyAEhAUHUiQtBADYCAEGwAiAAIAEQA0HUiQsoAgAhmAFB1IkLQQA2AgAgmAFBAUcNIhAAIQYgASwAC0EASA0HDCsLIAIgAUECdGooAgApAgAMAwsgASAAKAIAIgIoAiggAigCJCICa0ECdU8EQCADQagCakGpKhDIASEBQdSJC0EANgIAQbACIAAgARADQdSJCygCACGZ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AAAAAAAAAAAAAAAAAAAAAQALIANBqAJqQdIlEMgBIQFB1IkLQQA2AgBBsAIgACABEANB1IkLKAIAIYQDQdSJC0EANgIAIIQDQQFHDSQQACEGIAEsAAtBAE4NLQwmC0GMwwtB3NsEQTkQXxoLIANBgAZqIAAQygQgByAAKAIkSQRAIANBqAJqQfPVAhDIASEBQdSJC0EANgIAQbACIAAgARADQdSJCygCACGFA0HUiQtBADYCACCFA0EBRw0jEAAhBiABLAALQQBODSwMJQsgA0EANgLwBCADQQc2AqwCIANB9N8BNgKoAiADIAMpAqgCNwOAASADQZAFaiIBIANBgAFqEGUCQCADAn9BASADKAKABiICIAMoApAFRg0AGiADQQs2AqwCIANBmRQ2AqgCIAMgAykCqAI3A3ggASADQfgAahBlQRAgAygCkAUgAkYNABogA0ESNgKsAiADQZOqAzYCqAIgAyADKQKoAjcDcCABIANB8ABqEGVBwAAgAygCkAUgAkYNABogA0EPNgKsAiADQb68ATYCqAIgAyADKQKoAjcDaCABIANB6ABqEGVBAiADKAKQBSACRg0AGiADQRM2AqwCIANBveQANgKoAiADIAMpAqgCNwNgIAEgA0HgAGoQZUEEIAMoApAFIAJGDQAaIANBCDYCrAIgA0HQzgA2AqgCIAMgAykCqAI3A1ggASADQdgAahBlQSAgAygCkAUgAkYNABogA0EHNgKsAiADQYSgBTYCqAIgAyADKQKoAjcDUCABIANB0ABqEGVBCCADKAKQBSACRg0AGiADQQk2AqwCIANBs+0CNgKoAiADIAMpAqgCNwNIIAEgA0HIAGoQZUGAASADKAKQBSACRg0AGiADQQ82AqwCIANBrs0BNgKoAiADIAMpAqgCNwNAIAEgA0FAaxBlQYACIAMoApAFIAJGDQAaIANBCjYCrAIgA0H/ygM2AqgCIAMgAykCqAI3AzggASADQThqEGVBgAQgAygCkAUgAkYNABogA0ECNgKsAiADQczpBDYCqAIgAyADKQKoAjcDMCABIANBMGoQZUGACCADKAKQBSACRg0AGiADQQg2AqwCIANBgKMFNgKoAiADIAMpAqgCNwMoIAEgA0EoahBlQYAQIAMoApAFIAJGDQAaIANBDDYCrAIgA0GJywQ2AqgCIAMgAykCqAI3AyAgASADQSBqEGVBgCAgAygCkAUgAkYNABogA0EONgKsAiADQYfSADYCqAIgAyADKQKoAjcDGCABIANBGGoQZUGAwAAgAygCkAUgAkYNABogA0EHNgKsAiADQfHAATYCqAIgAyADKQKoAjcDECABIANBEGoQZUGAgAEgAygCkAUgAkYNABogA0ELNgKsAiADQb4TNgKoAiADIAMpAqgCNwMIIAEgA0EIahBlQYCAAiADKAKQBSACRg0AGkEAIQEjAEEQayIGJAAgBkH6tAE2AgggBkH6tAEQbDYCDCAGIAYpAgg3AwAgA0GoAmogBhBlIAZBEGokACACIAMoAqgCRw0BQYCABAsiATYC8AQLAkACQAJAIAgOEwECAAICAgICAgICAgICAgICAgECCyAAKAIAKAKEASABcSABRw0BQYzDC0HZ4wZBERBfGiADQagCaiIBIANB8ARqENUQQdSJC0EANgIAQQlBjMMLIAMoAqgCIAEgAy0AswIiAcBBAEgiAhsgAygCrAIgASACGxAEGkHUiQsoAgAhAUHUiQtBADYCAAJAIAFBAUYNAEHUiQtBADYCAEEJQYzDC0HQzwVBwQAQBBpB1IkLKAIAIYYDQdSJC0EANgIAIIYDQQFGDQAgAywAswJBAE4NAiADKAKoAhBaDAILEAAhBgwqCyAAKAIAIgIgAigChAEgAXI2AoQBCyAEIAVBAWoiBUcNAAsMBwsgtwSnQcn4AkEGEF4NAkEsEFwiAUIANwIAIAFBADYCKCABQgA3AiAgAUIANwIYIAFCADcCECABQgA3AgggACgCACIFKAJ0IQIgBSABNgJ0IAIEQCACKAIgIgEEQCACIAE2AiQgARBaCyACKAIUIgEEQCACIAE2AhggARBaCyACEFogACgCJCEKCyAAKAIAKAJ0QQE6AABB1IkLQQA2AgAgAyAANgKsAiADQYyyBzYCqAIgAyADQagCaiICNgK4AkGxAiADQaAHaiACEAIhBkHUiQsoAgAhAUHUiQtBADYCAAJAAkACQCABQQFHBEACQAJAIAIgAygCuAIiAUYEQEEEIQUgAiEBDAELQQUhBSABRQ0BCyABIAEoAgAgBUECdGooAgARAQALIAAoAgAoAnQgBigCADYCBEHUiQtBADYCACADIAA2AqwCIANBjLIHNgKoAiADIANBqAJqIgI2ArgCQbECIANB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AABBAEgEQCACKAIAEFoLIAIiASAFRw0ACwsgBiAFNgJsCyAAKAIAKAJsIgJBGGsiBiADKQOABSK3BKcgtwRCIIinEMULAkAgCCAAKAIIIgEoAgQgASgCACIJayIBTQRAIAAoAiQiByABIAhrTQ0BCyADQagCakGK0AAQyAEhAUHUiQtBADYCAEGwAiAAIAEQA0HUiQsoAgAhlANB1IkLQQA2AgAglANBAUcNHhAAIQYgASwAC0EATg0nDCALIAAgByAIajYCJEEAIQFBACEFIAQgFEcEQCAIQQBIDQEgCBBcIgUgByAJaiAI/AoAACAFIAhqIQELIAJBDGsiBygCACIEBEAgAkEIayICIAQ2AgAgBBBaIAJCADcCACAHQQA2AgALIAcgBTYCACAGIAE2AhQgBiABNgIQDAQLEGQACxBkAAsgACgCJCAIIApqRg0BIANBqAJqQaW/AxDIASEBQdSJC0EANgIAQbACIAAgARADQdSJCygCACGVA0HUiQtBADYCACCVA0EBRw0aEAAhBiABLAALQQBODSMMHAsgACgCJCAHRg0AIANBqAJqQfW+AxDIASEBQdSJC0EANgIAQbACIAAgARADQdSJCygCACGWA0HUiQtBADYCACCWA0EBRw0ZEAAhBiABLAALQQBODSIMGwsgEyAUaiIBIAAoAiRJBEAgA0HwBGoiASATEKEEQdSJC0EANgIAQfwBIAFBzNcGEAIhAUHUiQsoAgAhAkHUiQtBADYCAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAJBAUcEQCADIAEoAgg2AogFIAMgASkCADcDgAUgAUIANwIAIAFBADYCCEHUiQtBADYCAEGNAiADQYAFakG/5gYQAiEBQdSJCygCACGXA0HUiQtBADYCACCXA0EBRg0BIAMgASgCCDYCmAUgAyABKQIANwOQBSABQgA3AgAgAUEANgIIQdSJC0EANgIAQboCIANB5ARqIgEgFBADQdSJCygCACGYA0HUiQtBADYCACCYA0EBRg0CQdSJC0EANgIAQYwCIANBkAVqIAMoAuQEIAEgAy0A7wQiAcBBAEgiAhsgAygC6AQgASACGxAEIQFB1IkLKAIAIZkDQdSJC0EANgIAIJkDQQFGDQMgAyABKAIINgKIBiADIAEpAgA3A4AGIAFCADcCACABQQA2AghB1IkLQQA2AgBBjQIgA0GABmpBqtsGEAIhAUHUiQsoAgAhmgNB1IkLQQA2AgAgmgNBAUYNBCADIAEoAgg2ArACIAMgASkCADcDqAIgAUIANwIAIAFBADYCCCAAKAIkIQFB1IkLQQA2AgBBwAIgA0HYBGoiAiABEANB1IkLKAIAIZsDQdSJC0EANgIAIJsDQQFGDQVB1IkLQQA2AgBBjAIgA0GoAmogAygC2AQgAiADLQDjBCIBwEEASCICGyADKALcBCABIAIbEAQhAUHUiQsoAgAhnANB1IkLQQA2AgAgnANBAUYNBiADIAEoAgg2AvgBIAMgASkCADcD8AEgAUIANwIAIAFBADYCCEHUiQtBADYCAEGwAiAAIANB8AFqEANB1IkLKAIAIZ0DQdSJC0EANgIAIJ0DQQFHDScQACEGIAMsAPsBQQBODQcgAygC8AEQWgwHCxAAIQYMDAsQACEGDAoLEAAhBgwICxAAIQYMBgsQACEGDAQLEAAhBgwCCxAAIQYLIAMsAOMEQQBODQAgAygC2AQQWgsgAywAswJBAE4NACADKAKoAhBaCyADLACLBkEATg0AIAMoAoAGEFoLIAMsAO8EQQBODQAgAygC5AQQWgsgAywAmwVBAE4NACADKAKQBRBaCyADLACLBUEATg0AIAMoAoAFEFoLDCELIAAgATYCJAwMC0HUiQtBADYCACADIAA2AqwCIANBjLIHNgKoAiADIANBqAJqIgI2ArgCQbECIANBlAdqIAIQAiEGQdSJCygCACGeA0HUiQtBADYCACCeA0EBRwRAAkACQCACIAMoArgCIgFGBEBBBCEFIAIhAQwBC0EFIQUgAUUNAQsgASABKAIAIAVBAnRqKAIAEQEAC0EAIQUgBigCACIHRQ0MAkACQAJAAkACQANAIAAoAiQiASAAKAIIIgIoAgQgAigCAGtPBEAgA0GoAmpBitAAEMgBIQFB1IkLQQA2AgBBsAIgACABEANB1IkLKAIAIZ8DQdSJC0EANgIAIJ8DQQFHDR8QACEGIAEsAAtBAE4NKAwhCyAAIAFBAWo2AiRB1IkLQQA2AgAgAyAANgKsAiADQYyyBzYCqAIgAyADQagCaiICNgK4AkGxAiADQZgHaiACEAIhBEHUiQsoAgAhoANB1IkLQQA2AgAgoANBAUcEQAJAAkAgAiADKAK4AiIBRgRAQQQhBiACIQEMAQtBBSEGIAFFDQELIAEgASgCACAGQQJ0aigCABEBAAsgBCgCACEBIAAoAgAhBiADQYgHaiICIAUQoQRB1IkLQQA2AgBB/AEgAkHuvAYQAiECQdSJCygCACGhA0HUiQtBADYCACChA0EBRg0CIAMgAigCCDYCsAIgAyACKQIANwOoAiACQgA3AgAgAkEANgIIIAMgAygCrAIgAywAswIiBEH/AXEgBEEASCIEGzYChAYgAyADKAKoAiADQagCaiAEGzYCgAZB1IkLQQA2AgAgAyADKQKABjcD2AFBBiADQZAFaiADQdgBahADQdSJCygCACGiA0HUiQtBADYCACCiA0EBRg0DQdSJC0EANgIAQcECIANBgAVqIAAgARAIQdSJCygCACGjA0HUiQtBADYCACCjA0EBRg0DQdSJC0EANgIAIAMpA5AFIbcEIAMpA4AFIbgEQQRBJBAGIQFB1IkLKAIAIaQDQdSJC0EANgIAIKQDQQFGDQMgAUIANwIIIAEguAQ3AhwgASC3BDcCACABQQA2AhggAUIANwIQQdSJC0EANgIAIAMgATYC8ARBOyAGIANB8ARqEANB1IkLKAIAIaUDQdSJC0EANgIAIKUDQQFGDQQgAygC8AQiAQRAIAEQWgsgAywAswJBAEgEQCADKAKoAhBaCyADLACTB0EASARAIAIoAgAQWgsgBUEBaiIFIAdHDQEMEwsLDCALEAAhBgwDCxAAIQYMAQsQACEGIAMoAvAEIgBFDQAgABBaCyADLACzAkEATg0AIAMoAqgCEFoLDBwLDBoLQdSJC0EANgIAIAMgADYCrAIgA0GMsgc2AqgCIAMgA0GoAmoiBTYCuAJBsQIgA0GAB2ogBRACIQZB1IkLKAIAIaYDQdSJC0EANgIAIKYDQQFHBEACQAJAIAUgAygCuAIiAUYEQEEEIQIgBSEBDAELQQUhAiABRQ0BCyABIAEoAgAgAkECdGooAgARAQALQQAhAiAGKAIAIgdFDQsCQAJAA0AgAyAANgKsAiADQdSyBzYCqAJB1IkLQQA2AgAgAyADQagCaiIFNgK4AkG4AiADQYQHaiAFEAIhBEHUiQsoAgAhAUHUiQtBADYCAAJAIAFBAUcEQAJAAkAgBSADKAK4AiIBRgRAQQQhBiAFIQEMAQtBBSEGIAFFDQELIAEgASgCACAGQQJ0aigCABEBAAsgACAEKAIAEOkEIgVBB08EQCAFKAIEQQFGDQILIANBqAJqQf6DBBDIASEBQdSJC0EANgIAQbACIAAgARADQdSJCygCACGnA0HUiQtBADYCACCnA0EBRw0cEAAhBiABLAALQQBODSUMHgsMHgsgA0GABmogAhD1BCADKQOABiG3BEE4EFwiAUIANwIAIAFCADcCMCABQSBqIgZCADcCACABQgA3AhggAUIANwIQIAFCADcCCCABQShqIgRC/////w83AwBB1IkLQQA2AgAgA0KBgICAEDcCrAIgA0EAOgCoAiADQQE2ArQCQQdB2J0LIANBqAJqIggQAhpB1IkLKAIAIagDQdSJC0EANgIAIKgDQQFGBEAQACEAIAgQdyABEFoMIgsgASAFNgIwIAEgtwQ3AgAgAUL/////DzcDKCABQgA3AyAgAyABNgKQBUHUiQtBADYCACADQQA2AoAFIAAgBiAEIANB8ARqIANBgAVqQv////8PEKEJQdSJCygCACGpA0HUiQtBADYCACCpA0EBRg0BAkAgAy0A8AQEQEHUiQtBADYCAEHMASADQagCakGW3AQQAiECQdSJCygCACGqA0HUiQtBADYCACCqA0EBRg0BQdSJC0EANgIAQbACIAAgAhADQdSJCygCACGrA0HUiQtBADYCACCrA0EBRw0cEAAhBiACLAALQQBODQQgAigCABBaDAQLIAMoAoAFQQNGBEBB1IkLQQA2AgBBzAEgA0GoAmpB2vIAEAIhAkHUiQsoAgAhrANB1IkLQQA2AgAgrANBAUYNAUHUiQtBADYCAEGwAiAAIAIQA0HUiQsoAgAhrQNB1IkLQQA2AgAgrQNBAUcNHBAAIQYgAiwAC0EATg0EIAIoAgAQWgwECyAAKAIAIQFB1IkLQQA2AgBBNiABIANBkAVqEAIaQdSJCygCACGuA0HUiQtBADYCACCuA0EBRg0CIAMoApAFIgEEQCABEFoLIAJBAWoiAiAHRw0BDA8LCxAAIQYMAQsQACEGIAMoApAFIgFFDSELIAEQWgwgCwwZCyAAQQE6AMgCQdSJC0EANgIAIAMgADYCrAIgA0GMsgc2AqgCIAMgA0GoAmoiAjYCuAJBsQIgA0H8BmogAhACIQZB1IkLKAIAIa8DQdSJC0EANgIAIK8DQQFHBEACQAJAIAIgAygCuAIiAUYEQEEEIQUgAiEBDAELQQUhBSABRQ0BCyABIAEoAgAgBUECdGooAgARAQALIAAgBigCADYCxAIMCgsMGAtB1IkLQQA2AgAgAyAANgKsAiADQYyyBzYCqAIgAyADQagCaiICNgK4AkGxAiADQewGaiACEAIhBkHUiQsoAgAhsANB1IkLQQA2AgAgsANBAUcEQAJAAkAgAiADKAK4AiIBRgRAQQQhBSACIQEMAQtBBSEFIAFFDQELIAEgASgCACAFQQJ0aigCABEBAAtBACEJIAYoAgAiCEUNCQJAAkACQAJAAkACQAJAA0AgA0EANgKsAiADQZWrBzYCqAIgAyADKQKoAjcD0AEgA0GQBWogA0HQAWoQZSADQQA2AqwCIANBlasHNgKoAiADIAMpAqgCNwPIASADQYAFaiADQcgBahBlIAMpA4AFIbcEIAMpA5AFIbgEQSgQXCIBQgA3AgggAUIANwIQIAEguAQ3AgAgAUIANwIgIAFCADcCGCABILcENwIMIAMgATYC5ARB1IkLQQA2AgAgAyAANgKsAiADQYyyBzYCqAIgAyADQagCaiIFNgK4AkGxAiADQfAGaiAFEAIhB0HUiQsoAgAhAkHUiQtBADYCAAJAAkACQAJAIAJBAUcEQAJAAkAgBSADKAK4AiICRgRAQQQhBiAFIQIMAQtBBSEGIAJFDQELIAIgAigCACAGQQJ0aigCABEBAAsgBygCACICQQNJDQRB1IkLQQA2AgBBugIgA0GABmoiASACEANB1IkLKAIAIbEDQdSJC0EANgIAILEDQQFGDQFB1IkLQQA2AgBB/AEgAUHp1AYQAiEBQdSJCygCACGyA0HUiQtBADYCACCyA0EBRg0CIAMgASgCCDYCsAIgAyABKQIANwOoAiABQgA3AgAgAUEANgIIQdSJC0EANgIAQbACIAAgA0GoAmoQA0HUiQsoAgAhswNB1IkLQQA2AgAgswNBAUcNIhAAIQEgAywAswJBAE4NAyADKAKoAhBaDAMLEAAhAQJAIAMoArgCIgIgA0GoAmoiAEYEQEEEIQUgACECDAELQQUhBSACRQ0MCyACIAIoAgAgBUECdGooAgARAQAMCwsQACEBDAoLEAAhAQsgAywAiwZBAE4NCCADKAKABhBaDAgLQdSJC0EANgIAQegBIANB8ARqIAkQA0HUiQsoAgAhtANB1IkLQQA2AgAgtANBAUYNBiADKQPwBCG3BCABQQA6AAggASC3BDcCACABIAJBAXEiBToAFAJAIAUEQCABQgA3AgxBACECDAELQQAhBiACQQJGBEAgAyAANgKsAiADQYyyBzYCqAJB1IkLQQA2AgAgAyADQagCaiIFNgK4AkGxAiADQfQGaiAFEAIhtgNB1IkLKAIAIbUDQdSJC0EANgIAILUDQQFGDQcCQAJAIAUgAygCuAIiAkYEQEEEIQYgBSECDAELQQUhBiACRQ0BCyACIAIoAgAgBkECdGooAgARAQALILYDKAIAIQYLAkACQCAYIgQiAigCACIFRQ0AA0AgBSICKAIQIgUgBksEQCACIQQgAigCACIFDQEMAgsgBSAGTwRAIAIhBwwDCyACKAIEIgUNAAsgAkEEaiEEC0HUiQtBADYCAEEEQSAQBiEHQdSJCygCACG3A0HUiQtBADYCACC3A0EBRg0GIAcgBjYCECAHIAI2AgggB0IANwIAIAdBADYCHCAHQgA3AhQgBCAHNgIAIAchASAAKAKQASgCACICBEAgACACNgKQASAEKAIAIQELIAAoApQBIAEQZyAAIAAoApgBQQFqNgKYASADKALkBCEBCyABQQxqIQQCQCAHKAIYIgEgBygCHCIGSQRAIAEgBDYCACAHIAFBBGo2AhgMAQsCQAJAAkAgASAHKAIUIgVrQQJ1IgtBAWoiAkGAgICABE8EQEHUiQtBADYCAEHCAhAJDAELQf////8DIAYgBWsiBkEBdSIKIAIgAiAKSRsgBkH8////B08bIgZFBEBBACENDAMLIAZBgICAgARJDQFB1IkLQQA2AgBBAxAJC0HUiQsoAgAhuANB1IkLQQA2AgAguANBAUcNIRAAIQEMCwtB1IkLQQA2AgBBBCAGQQJ0EAYhDUHUiQsoAgAhuQNB1IkLQQA2AgAguQNBAUYNBQsgDSALQQJ0aiICIAQ2AgAgAkEEaiEEIAEgBUcEQANAIAJBBGsiAiABQQRrIgEoAgA2AgAgASAFRw0ACyAHKAIUIQELIAcgDSAGQQJ0ajYCHCAHIAQ2AhggByACNgIUIAFFDQAgARBaC0HUiQtBADYCAEHDAiAAEAYhAkHUiQsoAgAhugNB1IkLQQA2AgAgugNBAUYNBSADKALkBCEBCyABIAI2AhhB1IkLQQA2AgAgAyAANgKsAiADQYyyBzYCqAIgAyADQagCaiIFNgK4AkGxAiADQfgGaiAFEAIhB0HUiQsoAgAhAkHUiQtBADYCAAJ/AkACQCACQQFHBEACQAJAIAUgAygCuAIiAkYEQEEEIQYgBSECDAELQQUhBiACRQ0BCyACIAIoAgAgBkECdGooAgARAQALIAAoAggiAigCBCACKAIAIgRrIgUgBygCACICSQ0BIAAoAiQiBiAFIAJrSw0BIAAgAiAGajYCJCACDQJBACEFQQAMAwsQACEBAkAgAygCuAIiAiADQagCaiIARgRAQQQhBSAAIQIMAQtBBSEFIAJFDQsLIAIgAigCACAFQQJ0aigCABEBAAwKC0HUiQtBADYCAEHMASADQagCakGK0AAQAiECQdSJCygCACG7A0HUiQtBADYCACC7A0EBRg0DQdSJC0EANgIAQbACIAAgAhADQdSJCygCACG8A0HUiQtBADYCACC8A0EBRw0fEAAhASACLAALQQBODQkgAigCABBaDAkLIAJBAEgEQEHUiQtBADYCAEEFEAlB1IkLKAIAIb0DQdSJC0EANgIAIL0DQQFHDR8QACEBDAkLQdSJC0EANgIAQQQgAhAGIQVB1IkLKAIAIb4DQdSJC0EANgIAIL4DQQFGDQQgBSAEIAZqIAL8CgAAIAIgBWoLIQIgASgCHCIGBEAgASAGNgIgIAYQWiABQQA2AiQgAUIANwIcCyABIAU2AhwgASACNgIkIAEgAjYCICAAKAIAIQFB1IkLQQA2AgBB7wEgASADQeQEahADQdSJCygCACG/A0HUiQtBADYCACC/A0EBRwRAIAMoAuQEIgEEQCABKAIcIgIEQCABIAI2AiAgAhBaCyABEFoLIAlBAWoiCSAIRw0BDBILCxAAIQEMBgsQACEBDAULEAAhAQwECxAAIQEMAwsQACEBDAILEAAhAQJAIAMoArgCIgIgA0GoAmoiAEYEQEEEIQUgACECDAELQQUhBSACRQ0CCyACIAIoAgAgBUECdGooAgARAQAMAQsQACEBCyADQeQEahCoAwwfCwwXC0HUiQtBADYCACADIAA2AqwCIANBjLIHNgKoAiADIANBqAJqIgI2ArgCQbECIANB4AZqIAIQAiEGQdSJCygCACHAA0HUiQtBADYCACDAA0EBRwRAAkACQCACIAMoArgCIgFGBEBBBCEF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KAK4AiIBRgRAQQQhBSACIQEMAQtBBSEFIAFFDQELIAEgASgCACAFQQJ0aigCABEBAAsgACAHKAIAIg4QxwUhCiAAKAJYIgEgACgCXCIHTw0BIAEgCjYCACAAIAFBBGo2AlgMAgsMNgsgASAAKAJUIgVrQQJ1IgxBAWoiAkGAgICABE8NKEH/////AyAHIAVrIgdBAXUiESACIAIgEUkbIAdB/P///wdPGyIHBH8gB0GAgICABE8NKiAHQQJ0EFwFQQALIhEgDEECdGoiAiAKNgIAIAJBBGohCiABIAVHBEADQCACQQRrIgIgAUEEayIBKAIANgIAIAEgBUcNAAsLIAAgESAHQQJ0ajYCXCAAIAo2AlggACACNgJUIAVFDQAgBRBaCyADIAAgDhDHBSIBNgKcBSABQRBPBEAgASgCEEUNFgsgA0HkBGpBh90GEMgBIQJB1IkLQQA2AgBBygIgA0HYBGoiASADKALABSADKALEBRAIQdSJCygCACGJBEHUiQtBADYCACCJBEEBRg0FQdSJC0EANgIAQYwCIAIgAygC2AQgASADLQDjBCIBwEEASCIFGyADKALcBCABIAUbEAQhAUHUiQsoAgAhigRB1IkLQQA2AgAgigRBAUYNBiADIAEoAgg2AvgEIAMgASkCADcD8AQgAUIANwIAIAFBADYCCEHUiQtBADYCAEHRASADQfAEakEuEANB1IkLKAIAIYsEQdSJC0EANgIAIIsEQQFGDQcgAyADKAL4BDYCiAUgA0EANgL4BCADIAMpA/AENwOABSADQgA3A/AEQdSJC0EANgIAQcoCIANBzARqIgEgAygCuAUgAygCvAUQCEHUiQsoAgAhjARB1IkLQQA2AgAgjARBAUYNCEHUiQtBADYCAEGMAiADQYAFaiADKALMBCABIAMtANcEIgHAQQBIIgUbIAMoAtAEIAEgBRsQBCEBQdSJCygCACGNBEHUiQtBADYCACCNBEEBRg0JIAMgASgCCDYCmAUgAyABKQIANwOQBSABQgA3AgAgAUEANgIIQdSJC0EANgIAQY0CIANBkAVqQZD1BhACIQFB1IkLKAIAIY4EQdSJC0EANgIAII4EQQFGDQogAyABKAIINgKIBiADIAEpAgA3A4AGIAFCADcCACABQQA2AghB1IkLQQA2AgBBywIgA0HABGoiASADQZwFahADQdSJCygCACGPBEHUiQtBADYCACCPBEEBRg0LQdSJC0EANgIAQYwCIANBgAZqIAMoAsAEIAEgAy0AywQiAcBBAEgiBRsgAygCxAQgASAFGxAEIQFB1IkLKAIAIZAEQdSJC0EANgIAIJAEQQFGDQwgAyABKAIINgKwAiADIAEpAgA3A6gCIAFCADcCACABQQA2AghB1IkLQQA2AgBBsAIgACADQagCahADQdSJCygCACGRBEHUiQtBADYCACCRBEEBRw0xEAAhBiADLACzAkEATg0NIAMoAqgCEFoMDQsQACEGDAMLEAAhBgwBCxAAIQYgAywAswJBAE4NACADKAKoAhBaCyADLACLBkEATg0AIAMoAoAGEFoLIAMsAKsFQQBODTUgAygCoAUQWgw1CxAAIQYMDgsQACEGDAwLEAAhBgwKCxAAIQYMCAsQACEGDAYLEAAhBgwECxAAIQYMAgsQACEGCyADLADLBEEATg0AIAMoAsAEEFoLIAMsAIsGQQBODQAgAygCgAYQWgsgAywAmwVBAE4NACADKAKQBRBaCyADLADXBEEATg0AIAMoAswEEFoLIAMsAIsFQQBODQAgAygCgAUQWgsgAywA+wRBAE4NACADKALwBBBaCyADLADjBEEATg0AIAMoAtgEEFoLIAIsAAtBAE4NJSACKAIAEFoMJQtB1IkLQQA2AgAgAykDsAUhuQQgA0EANgKwAiADQgA3AqgCILkEIAEgA0GoAmpBABCNAyEBQdSJCygCACGSBEHUiQtBADYCACCSBEEBRwRAIAMgATYCgAYgAygCqAIiAgRAIAIQWgsgASADKQPABTcCDCABIAMpA7gFNwIUIAAoAgAhAUHUiQtBADYCAEEtIAEgA0GABmoQAhpB1IkLKAIAIZMEQdSJC0EANgIAIJMEQQFGDQ8gAygCgAYiAQRAIAEQpAIQWgsgDUEBaiENDAULEAAhBiADKAKoAiIARQ0kDCALIANBADoAuAQgA0L00rWD982cuiQ3A7AEIANBCDoAuwRB1IkLQQA2AgBBwAIgA0GABmoiASALEANB1IkLKAIAIQJB1IkLQQA2AgACQAJAAkACQAJAAkACQAJAAkACQAJAIAJBAUcEQEHUiQtBADYCAEGMAiADQbAEaiADKAKABiABIAMtAIsGIgHAQQBIIgIbIAMoAoQGIAEgAhsQBCEBQdSJCygCACGUBEHUiQtBADYCACCUBEEBRg0BIAMgASgCCDYCsAIgAyABKQIANwOoAiABQgA3AwAgAUEANgIIIAMgAygCrAIgAywAswIiAkH/AXEgAkEASCICGzYClAUgAyADKAKoAiADQagCaiACGzYCkAVB1IkLQQA2AgAgAyADKQKQBTcDkAFBBiADQYAFaiADQZABahADQdSJCygCACGVBEHUiQtBADYCACCVBEEBRg0CIAMsALMCQQBIBEAgAygCqAIQWgsgAywAiwZBAEgEQCADKAKABhBaCyADLAC7BEEASARAIAEoAgAQWgtB1IkLQQA2AgAgAykDgAUhtwQgA0KBgICAEDcCrAIgA0EAOgCoAiADQQE2ArQCQQdB2J0LIANBqAJqIgEQAiECQdSJCygCACGWBEHUiQtBADYCACCWBEEBRgRAEAAhACABEHcMLgtBOBBcIgFCADcCACABQgA3AjAgAUEgaiIHQgA3AgAgAUIANwIYIAFCADcCECABQgA3AgggAUEoaiIKQv////8PNwMAQdSJC0EANgIAIANCgYCAgBA3AqwCIANBADoAqAIgA0EBNgK0AkEHQdidCyADQagCaiIFEAIaQdSJCygCACGXBEHUiQtBADYCACCXBEEBRgRAEAAhACAFEHcgARBaDC4LIAEgAjYCMCABILcENwIAIAFC/////w83AyggAUIANwMgIAMgATYCgAYgASADKQPABTcCDCABIAMpA7gFNwIUQdSJC0EANgIAIAMgADYCrAIgA0HUsgc2AqgCIAMgA0GoAmoiBTYCuAJBuAIgA0HUBWogBRACIQxB1IkLKAIAIZgEQdSJC0EANgIAIJgEQQFHBEACQAJAIAUgAygCuAIiAkYEQEEEIQ4gBSECDAELQQUhDiACRQ0BCyACIAIoAgAgDkECdGooAgARAQALIAwoAgAhAkHUiQtBADYCAEHEAiAAIAIQAiECQdSJCygCACGZBEHUiQtBADYCACCZBEEBRg0HIAEgAjYCMEHUiQtBADYCACADQQA2ApAFIAAgByAKIANB8ARqIANBkAVqQv////8PEKEJQdSJCygCACGaBEHUiQtBADYCACCaBEEBRg0LIAMtAPAERQ0GQdSJC0EANgIAQcwBIANBqAJqQZbcBBACIQJB1IkLKAIAIZsEQdSJC0EANgIAIJsEQQFG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ACABEANB1IkLKAIAIaYEQdSJC0EANgIAIKYEQQFHDSAQACEGIAEsAAtBAE4NKQwiCwwiC0HUiQtBADYCACADIAA2AqwCIANBjLIHNgKoAiADIANBqAJqIgI2ArgCQbECIANB3AVqIAIQAiEHQdSJCygCACGnBEHUiQtBADYCACCnBEEBRwRAAkACQCACIAMoArgCIgFGBEBBBCEKIAIhAQwBC0EFIQogAUUNAQsgASABKAIAIApBAnRqKAIAEQEACyAHKAIAIQIgAykDgAUhtwRBKBBcIgFCADcCICABQgA3AhggAUIANwIIIAEgtwQ3AgAgAUIANwIQIAEgAkEARzoAJCABIAU2AhwgAyABNgKoAiABIAMpA8AFNwIMIAEgAykDuAU3AhQgACgCACEBQdSJC0EANgIAQTIgASADQagCahACGkHUiQsoAgAhqARB1IkLQQA2AgAgqARBAUYNBiADKAKoAiIBBEAgARBaCyAIQQFqIQgMCAsMIQsQACEGDAMLEAAhBgwBCxAAIQYgAywAswJBAE4NACADKAKoAhBaCyADLACLBkEATg0AIAMoAoAGEFoLIAMsAJsEQQBODSIgAygCkAQQWgwiCxAAIQYgAygCqAIiAEUNIQwdCyADQQA6AIgEIANC5dK1g/fNnLokNwOABCADQQg6AIsEQdSJC0EANgIAQcACIANBgAZqIgEgCRADQdSJCygCACGpBEHUiQtBADYCACCpBEEBRg0DQdSJC0EANgIAQYwCIANBgARqIAMoAoAGIAEgAy0AiwYiAcBBAEgiAhsgAygChAYgASACGxAEIQFB1IkLKAIAIaoEQdSJC0EANgIAIKoEQQFGDQQgAyABKAIINgKwAiADIAEpAgA3A6gCIAFCADcDACABQQA2AgggAyADKAKsAiADLACzAiICQf8BcSACQQBIIgIbNgKUBSADIAMoAqgCIANBqAJqIAIbNgKQBUHUiQtBADYCACADIAMpApAFNwOoAUEGIANBgAVqIANBqAFqEANB1IkLKAIAIasEQdSJC0EANgIAIKsEQQFGDQUgAywAswJBAEgEQCADKAKoAhBaCyADLACLBkEASARAIAMoAoAGEFoLIAMsAIsEQQBIBEAgASgCABBaCyAAKAIkIgEgACgCCCICKAIEIAIoAgBrTwRAIANBqAJqQYrQABDIASEBQdSJ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KAIAIgEoAgBBG0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEP0BCy4AIAEoAgAiASgCAEEaRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQ/QELLgAgASgCACIBKAIAQRlHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARD9AQv3CQEOfyMAQfACayICJABB4AIQXCIDQQBBiQH8CwAgA0IANwKcASADQgA3ApQBIANCADcCjAEgA0GAgID8AzYCpAEgA0IANwKwASADQgA3AqgBIANCADcCwAEgA0EANgK8ASADQZC3CzYCuAEgA0IANwLIASADQgA3AtQBIANBgICA/AM2AtABIANCADcC3AEgA0IANwLoASADQYCAgPwDNgLkASADQgA3AvABIANCADcC/AEgA0GAgID8AzYC+AEgA0IANwKEAiADQYCAgPwDNgKMAiADQgA3ApACIANCADcCmAIgA0IANwKkAiADQYCAgPwDNgKgAiADQgA3AqwCIANBgICA/AM2ArQCIANCADcCuAIgA0IANwLAAiADQYCAgPwDNgLIAiADQgA3AswCIANCADcC1AIgA0GAgID8AzYC3AIgAkEANgLsAiACQgA3AuQCAkACQAJAAkAgAQRAQdSJC0EANgIAQa4CIAJB5AJqIAEQA0HUiQsoAgAhCkHUiQtBADYCACAKQQFGDQEgAigC5AIgACAB/AoAAAsgAkIANwIUIAJCADcAGSACQTBqIgBCADcCACACQUBrIgFCADcCACACQegAaiIEQgA3AgAgAkIANwJQIAJCADcCWCACQfwAaiIFQgA3AgAgAkIANwIMIAIgA0GoAWo2AgQgAiADNgIAIAJCgICAgHA3AiQgAkEAOgAjIAJCADcCSCACQoCAgIBwNwJwIAIgADYCLCACIAE2AjwgAiAENgJkIAIgAkHkAmo2AgggAkEBOwAhIAJBiAFqIgBCADcCACACQZQBaiIBQgA3AgAgAkGgAWoiBEIANwIAIAJBrAFqIgZCADcCACACQbgBaiIHQgA3AgAgAkHEAWoiCEIANwIAIAJB0AFqIglCADcCACACQgA3AuABIAJCADcC6AEgAkIANwLwASACQgA3AvgBIAJCADcCgAIgAkEANgKIAiACIAU2AnggAiAANgKEASACIAE2ApABIAIgBDYCnAEg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AgBBA0cNWgxjCyAAQcnYACABEFggAigCAEEERw1ZIAIoAhQEQCAAQQRqQenXACACQRRqEFsLIAIoAhBFDVggAEEEakHp1wAgAkEQahBbDwsgAEHK2AAgARBYIAIoAgBBBUcNWCAAQenXACACQSRqEFggAigCIEUNVyAAQQRqQenXACACQSBqEFsPCyAAQcvYACABEFggAigCAEEGRw1XIAIoAgwiAUEATA1WIABBBGohBANAIAFBAWsiACACKAIMTw1ZIAIoAgggAEECdGoiAygCAEUNWiAEQenXACADEFsgAUEBSyEHIAAhASAHDQALDFYLIABBzNgAIAEQWCACKAIAQQdHDVYgAEHp1wAgAkEcahBYIAIoAhAiAUEATA1VIABBBGohBANAIAFBAWsiACACKAIQTw1YIAIoAgwgAEECdGoiAygCAEUNWSAEQenXACADEFsgAUEBSyEIIAAhASAIDQALDFULIABBzdgAIAEQWCACKAIAQQhGDVQMVQsgAEHO2AAgARBYIAIoAgBBCUcNVAxgCyAAQc/YACABEFggAigCAEEKRg1SDFMLIABB0NgAIAEQWCACKAIAQQtHDVIMWwsgAEHR2AAgARBYIAIoAgBBDEcNUQxfCyAAQdLYACABEFggAigCAEENRw1QDF0LIABB09gAIAEQWCACKAIAQRhHDU8MXgsgAEHU2AAgARBYIAIoAgBBGUcNTiAAQenXACACQSBqEFgMXQsgAEHV2AAgARBYIAIoAgBBGkcNTQxUCyAAQdbYACABEFggAigCAEEbRw1MDFQLIABB19gAIAEQWCACKAIAQRxGDUoMSwsgAEHY2AAgARBYIAIoAgBBHUcNSgxWCyAAQdnYACABEFggAigCAEEeRw1JIABB6dcAIAJBFGoQWAxVCyAAQdrYACABEFggAigCAEEfRw1IDE0LIABB29gAIAEQWCACKAIAQSBHDUcMUQsgAEHc2AAgARBYIAIoAgBBIUcNRgxRCyAAQd3YACABEFggAigCAEEiRw1FIABB6dcAIAJBIGoQWA8LIABB3tgAIAEQWCACKAIAQSNHDUQMUQsgAEHf2AAgARBYIAIoAgBBJEcNQwxKCyAAQeDYACABEFggAigCAEElRg1BDEILIABB4dgAIAEQWCACKAIAQSZHDUEMRQsgAEHi2AAgARBYIAIoAgBBJ0cN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EFggAigCAEE1Rw0rIAIoAhQiAUEATA0qIABBBGohBANAIAFBAWsiACACKAIUTw0tIAIoAhAgAEECdGoiAygCAEUNLiAEQejXACADEFsgAUEBSyEKIAAhASAKDQALDCoLIABBnNgAIAEQWCACKAIAQTZGDSkMKgsgAEGd2AAgARBYIAIoAgBBN0cNKQw5CyAAQZ7YACABEFggAigCAEEWRg0nDCgLIABBn9gAIAEQWCACKAIAQRdGDSYMJwsgAEGg2AAgARBYIAIoAgBBKEYNJQwmCyAAQaHYACABEFggAigCAEE4Rw0lIAIoAgwiAUEATA0kIABBBGohBANAIAFBAWsiACACKAIMTw0nIAIoAgggAEECdGoiAygCAEUNKCAEQejXACADEFsgAUEBSyELIAAhASALDQALDCQLIABBotgAIAEQWCACKAIAQTlHDSQMNAsgAEGj2AAgARBYIAIoAgBBOkcNIwwzCyAAQaTYACABEFggAigCAEE7Rw0iDDILIABBpdgAIAEQWCACKAIAQTxHDSEgAEHo1wAgAkEYahBYIAIoAgwiAUEATA0gIABBBGohBANAIAFBAWsiACACKAIMTw0jIAIoAgggAEECdGoiAygCAEUNJCAEQejXACADEFsgAUEBSyEMIAAhASAMDQALDCALIABBptgAIAEQWCACKAIAQT1HDSAMMAsgAEGn2AAgARBYIAIoAgBBPkcNHwwvCyAAQajYACABEFggAigCAEE/Rw0eIABB6NcAIAJBFGoQWA8LIABBqdgAIAEQWCACKAIAQcAARw0dIAIoAgwiAUEATA0cIABBBGohBANAIAFBAWsiACACKAIMTw0fIAIoAgggAEECdGoiAygCAEUNICAEQejXACADEFsgAUEBSyENIAAhASANDQALDBwLIABBqtgAIAEQWCACKAIAQcEARw0cDCgLIABBq9gAIAEQWCACKAIAQcIARw0bDCYLIABBrNgAIAEQWCACKAIAQcMARw0aIABB6NcAIAJBDGoQWCACKAIIRQ0ZDCsLIABBrdgAIAEQWCACKAIAQcQARw0ZDCELIABBrtgAIAEQWCACKAIAQcUARw0YDCALIABBr9gAIAEQWCACKAIAQcYARw0XIAIoAgwiAUEATA0WIABBBGohBANAIAFBAWsiACACKAIMTw0ZIAIoAgggAEECdGoiAygCAEUNGiAEQejXACADEFsgAUEBSyEOIAAhASAODQALDBYLIABBsNgAIAEQWCACKAIAQccARw0WDBsLIABBsdgAIAEQWCACKAIAQcgARw0VDBkLIABBstgAIAEQWCACKAIAQckARw0UDCQLIABBs9gAIAEQWCACKAIAQcoARw0TIABB6NcAIAJBGGoQWAwWCyAAQbTYACABEFggAigCAEHLAEcNEgwVCyAAQbXYACABEFggAigCAEHMAEcNEQwXCyAAQbbYACABEFggAigCAEHNAEcNEAwWCyAAQbfYACABEFggAigCAEHOAEcNDwwbCyAAQbjYACABEFggAigCAEHPAEcNDiACKAIYBEAgAEEEakHo1wAgAkEYahBbCyACKAIUBEAgAEEEakHo1wAgAkEUahBbCyACKAIQBEAgAEEEakHo1wAgAkEQahBbCwwaCyAAQbnYACABEFggAigCAEHQAEYNDAwNCyAAQbrYACABEFggAigCAEHRAEcNDAwYCyAAQbvYACABEFggAigCAEHSAEcNCyACKAIUBEAgAEEEakHo1wAgAkEUahBbCwwWCyAAQbzYACABEFggAigCAEHTAEcNCgwPCyAAQb3YACABEFggAigCAEHUAEcNCQwUCyAAQb7YACABEFggAigCAEHVAEcNCAwUCyAAQb/YACABEFggAigCAEHWAEcNBwwLCyAAQcDYACABEFggAigCAEHXAEcNBgwLCyAAQcHYACABEFggAigCAEHYAEcNBQwVCyAAQcLYACABEFggAigCAEHZAEcNBAwPCyAAQcPYACABEFggAigCAEHaAEcNAwwNCyAAQcTYACABEFggAigCAEHbAEcNAgwHCyAAQcXYACABEFggAigCAEHcAEcNASAAQejXACACQTxqEFggAigCMCIBQQBMDQAgAEEEaiEEA0AgAUEBayIAIAIoAjBPDQMgAigCLCAAQQJ0aiIDKAIARQ0EIARB6NcAIAMQWyABQQFLIQ8gACEBIA8NAAsLDwtB8O0FQcWYA0GUBkGN3gAQAQALQcWiAUGJogNBvAFBpogFEAEAC0GBgwJB05kDQbkCQa73AhABAAsgAEHo1wAgAkEUahBYCyAAQejXACACQRBqEFgLIABB6NcAIAJBDGoQWAwKCyAAQejXACACQRxqEFgLIABB6NcAIAJBGGoQWAsgAEHo1wAgAkEUahBYCyAAQejXACACQRBqEFgPCyAAQejXACACQRRqEFgLIABB6NcAIAJBEGoQWAsgAEHo1wAgAkEMahBYDwsgAEHo1wAgAkEoahBYCyAAQejXACACQSRqEFgPCyAAQejXACACQRxqEFggAEHo1wAgAkEYahBYDwsgAEHo1wAgAkEIahBYDwsgAEEEakHo1wAgAkEIahBbC7QCAQN/AkACQAJAQQAgACgCBGsgACgCXCAAKAJYa0EDdUYEQCABKAIARQ0BIABBBGpB6dcAIAEQW0EAIAAoAgQiAmsgACgCXCIBIAAoAlgiA2tBA3VHBEAgAEEIaiEEA0ACQCABIANGBEAgAkUNBiAEIAJBAWsiAkEDdGoiAygCBCEBIAMoAgAhAyAAIAI2AgQMAQsgAUEIayICKAIAIQMgAigCBCEBIAAgAjYCXAsgACABNgIAIAEoAgBFDQUgACABIAMRAABBACAAKAIEIgJrIAAoAlwiASAAKAJYIgNrQQN1Rw0ACwsPC0HNygVB05kDQcgCQdD4AhABAAtBgYMCQdOZA0G5AkGu9wIQAQALQd7EBUGwlANB2gBB/fsCEAEAC0H1ggJB05kDQc0CQdD4AhABAAu0AgEDfwJAAkACQEEAIAAoAgRrIAAoAlwgACgCWGtBA3VGBEAgASgCAEUNASAAQQRqQejXACABEFtBACAAKAIEIgJrIAAoAlwiASAAKAJYIgNrQQN1RwRAIABBCGohBANAAkAgASADRgRAIAJFDQYgBCACQQFrIgJBA3RqIgMoAgQhASADKAIAIQMgACACNgIEDAELIAFBCGsiAigCACEDIAIoAgQhASAAIAI2AlwLIAAgATYCACABKAIARQ0FIAAgASADEQAAQQAgACgCBCICayAAKAJcIgEgACgCWCIDa0EDdUcNAAsLDwtBzcoFQdOZA0HIAkHQ+AIQAQALQYGDAkHTmQNBuQJBrvcCEAEAC0HexAVBsJQDQdoAQf37AhABAAtB9YICQdOZA0HNAkHQ+AIQAQALHABBgAEQXCIAQQBBgAH8CwAgAEGM6wc2AgAgAAs5ACAAKAIERQRAQej6BUG6iwNBnARB7tMCEAEACyAAIAI2AnggACABNgJ8IAAgAhCmDiAAQgA3AngLviIBDn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEoAgAiAigCAA5eAAECAwQFBgcICQoLDA0eHyAhIiMkJTU2Dg8QERITFBUWFxgZGhscHTcmJygpKissLS4vMDEyMzQ4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcAF0LQZj9A0HlswNB6gEQYgALIABBFGpBjNcAIAEQWCACKAIAQQFHDVwgAigCFCIBQQBMDVsgAEEYaiEDA0AgAUEBayIAIAIoAhRPDV4gAigCECAAQQJ0aiIEKAIARQ1fIANBitcAIAQQWyABQQFLIQYgACEBIAYNAAsMWwsgAEEUaiIDQY3XACABEFggAigCAEECRw1bIAIoAhAEQCAAQRhqQYrXACACQRBqEFsLIANBitcAIAJBDGoQWCADQYrXACACQQhqEFgPCyAAQRRqIgBBjtcAIAEQWCACKAIAQQNHDVoMYAsgAEEUakGP1wAgARBYIAIoAgBBBEcNWSACKAIUBEAgAEEYakGK1wAgAkEUahBbCyACKAIQRQ1YIABBGGpBitcAIAJBEGoQWw8LIABBFGoiA0GQ1wAgARBYIAIoAgBBBUcNWCADQYrXACACQSRqEFggAigCIEUNVyAAQRhqQYrXACACQSBqEFsPCyAAQRRqQZHXACABEFggAigCAEEGRw1XIAIoAgwiAUEATA1WIABBGGohAwNAIAFBAWsiACACKAIMTw1ZIAIoAgggAEECdGoiBCgCAEUNWiADQYrXACAEEFsgAUEBSyEHIAAhASAHDQALDFYLIABBFGoiA0GS1wAgARBYIAIoAgBBB0cNViADQYrXACACQRxqEFggAigCECIBQQBMDVUgAEEYaiEDA0AgAUEBayIAIAIoAhBPDVggAigCDCAAQQJ0aiIEKAIARQ1ZIANBitcAIAQQWyABQQFLIQggACEBIAgNAAsMVQsgAEEUakGT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SCABEFoLIAAoAhAQ+QYgDhAHAAsACywAIAEoAgAiASgCAEHcAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEP8BCywAIAEoAgAiASgCAEHbAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEP8BCywAIAEoAgAiASgCAEHaAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEP8BCywAIAEoAgAiASgCAEHZAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEP8BCywAIAEoAgAiASgCAEHYAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEP8BCywAIAEoAgAiASgCAEHXAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEP8BCywAIAEoAgAiASgCAEHWAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEP8BCywAIAEoAgAiASgCAEHVAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEP8BCywAIAEoAgAiASgCAEHUAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEP8BCywAIAEoAgAiASgCAEHTAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEP8BCywAIAEoAgAiASgCAEHSAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEP8BCywAIAEoAgAiASgCAEHRAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEP8BCxIAIABBCGpB55oHQSoQXxogAAssACABKAIAIgEoAgBB0ABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARD/AQssACABKAIAIgEoAgBBzwBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARD/AQssACABKAIAIgEoAgBBzgBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARD/AQssACABKAIAIgEoAgBBzQBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARD/AQssACABKAIAIgEoAgBBzABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARD/AQssACABKAIAIgEoAgBBywBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARD/AQssACABKAIAIgEoAgBBygBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARD/AQssACAB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SARAIAQoAgQQWgsgAxAHAAssACABKAIAIgEoAgBB1gBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCAAgssACABKAIAIgEoAgBB1QBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCAAgssACABKAIAIgEoAgBB1ABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCAAgssACABKAIAIgEoAgBB0wBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCAAgssACABKAIAIgEoAgBB0gBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCAAgssACABKAIAIgEoAgBB0QBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCAAgssACABKAIAIgEoAgBB0ABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCAAgssACABKAIAIgEoAgBBzwBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCAAgssACABKAIAIgEoAgBBzgBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCAAgssACABKAIAIgEoAgBBzQBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCAAgssACABKAIAIgEoAgBBzABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCAAgssACABKAIAIgEoAgBBywBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCAAgssACABKAIAIgEoAgBBygBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCAAgssACABKAIAIgEoAgBByQBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCAAgssACABKAIAIgEoAgBByABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCAAgssACABKAIAIgEoAgBBxwBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCAAgssACABKAIAIgEoAgBBxgBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCAAgssACABKAIAIgEoAgBBxQBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCAAgssACABKAIAIgEoAgBBxABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCAAgssACABKAIAIgEoAgBBwwBHBEBB8O0FQcWYA0GU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AE4NBSAHKAKQBhBaIAQQWgw6CxAAIQUMOQsQACEFDDgLEAAhBQsgCRBaDDYLEAAhBQsgBBBaDDQLEAAhBSAHLACbBkEATg0HIAcoApAGEFogBBBaDDMLEAAhBSAHLACbBkEATg0yIAcoApAGEFoMMgsQACEFIAcsAJsGQQBODQcgBygCkAYQWiAEEFoMMQsQACEFIAcsAJsGQQBODQggBygCkAYQWiAEEFoMMAsQACEFIAcsAJsGQQBODQkgBygCkAYQWiAEEFoMLwsQACEFIAcsAJsGQQBODQogBygCkAYQWiAEEFoMLgsQACEFIAcsAJsGQQBODQsgBygCkAYQWiAEEFoMLQsQACEFCyAEEFoMKwsQACEFCyAEEFoMKQsQACEFCyAEEFoMJwsQACEFCyAEEFoMJQsQACEFCyAEEFoMIwsQACEFCyAEEFoMIQsQACEFIAcsAJsGQQBODQEgBygCkAYQWiAJEFoMIAsQACEFCyAJEFoMHgsQACEFIAcsAJsGQQBODR0gBygCkAYQWgwdCxAAIQUgBywAmwZBAE4NBSAHKAKQBhBaIAQQWgwcCxAAIQUgBywAmwZBAE4NBiAHKAKQBhBaIAQQWgwbCxAAIQUgBywAmwZBAE4NByAHKAKQBhBaIAQQWgwaCxAAIQUgBywAmwZBAE4NCCAHKAKQBhBaIAQQWgwZCxAAIQUgBywAmwZBAE4NCSAHKAKQBhBaIAQQWgwYCxAAIQULIAQQWgwWCxAAIQULIAQQWgwUCxAAIQULIAQQWgwSCxAAIQULIAQQWgwQCxAAIQULIAQQWgwOCxAAIQUgBywAmwZBAE4NBCAHKAKQBhBaIAQQWgwNCxAAIQUgBywAmwZBAE4NDCAHKAKQBhBaDAwLEAAhBSAHLACbBkEATg0EIAcoApAGEFoMBAsQACEFIAcsAJsGQQBODQogBygCkAYQWgwKCxAAIQULIAQQWgwICxAAIQULIAQQWgwGCxAAIQMgCBD3BgwHCxCkESEdIAIQ0AchFSAdKAIAQQJGBEAgHSgCCCIDKAIEQQFLBEAgAygCACgCBCIDKAIAQQJGBEAgAygCCCIKKAIAIQUCQCAKKAIEIgwgCigCCEcEQCAFIQMMAQsgCiAMQQF0QQJqIgM2AgggCkGAqAsgA0ECdEEEEF0iAzYCACAKKAIEIgxFBEBBACEMDAEL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IAYgBikDqAg3AwggDSABIAZBCGogABDzARDvAwsgCCgCAEECRw0tIAgoAggiACgCBEEDTQ0uIAAoAgAoAgwhASAGQQg2ArQEIAZBrNkBNgKwBCAGIAYpArAENwMAIAZBoAhqIAYQZSAGKQOgCCECQYCoC0EQQQgQXSIAIAI3AgggAEEANgIAIAAQ0QUhCSABKAIAQQJHDS8gASgCCCIKKAIAIQECQCAKKAIEIgUgCigCCEcEQCABIQAMAQsgCiAFQQF0QQJqIgA2AgggCkGAqAsgAEECdEEEEF0iADYCACAKKAIEIgVFBEBBACEFDAELQQAhGEEAIQAgBUEETwRAIAVBfHEhBANAIABBAnQiCyAKKAIAaiABIAtqKAIANgIAIAtBBHIiAyAKKAIAaiABIANqKAIANgIAIAtBCHIiAyAKKAIAaiABIANqKAIANgIAIAtBDHIiAyAKKAIAaiABIANqKAIANgIAIABBBGoiACAERw0ACwsgBUEDcSIEBEADQCAAQQJ0IgMgCigCAGogASADaigCADYCACAAQQFqIQAgGEEBaiIYIARHDQALCyAKKAIAIQALIAAgBUECdGogCTYCACAKIAooAgRBAWo2AgQgDCgCAEECRw0vIAwoAggiCygCACEBAkAgCygCBCIFIAsoAghHBEAgASEADAELIAsgBUEBdEECaiIANgIIIAtBgKgLIABBAnRBBBBdIgA2AgAgCygCBCIFRQRAQQAhBQwBC0EAIRhBACEAIAVBBE8EQCAFQXxxIQQDQCAAQQJ0IgkgCygCAGogASAJaigCADYCACAJQQRyIgMgCygCAGogASADaigCADYCACAJQQhyIgMgCygCAGogASADaigCADYCACAJQQxyIgMgCygCAGogASADaigCADYCACAAQQRqIgAgBEcNAAsLIAVBA3EiBARAA0AgAEECdCIDIAsoAgBqIAEgA2ooAgA2AgAgAEEBaiEAIBhBAWoiGCAERw0ACwsgCygCACEACyAAIAVBAnRqIAg2AgAgCyALKAIEQQFqNgIECyAVENEFIQkgDCgCAEECRw0uIAwoAggiCigCACEBAkAgCigCBCIFIAooAghHBEAgASEADAELIAogBUEBdEECaiIANgIIIApBgKgLIABBAnRBBBBdIgA2AgAgCigCBCIFRQRAQQAhBQwBC0EAIRhBACEA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CygCACEjQdSJC0EANgIAICNBAUYNBQsgAEEEaiIAIAVHDQALIAEoAkwhAwsgAygCDCICIAMoAhAiBUcEQANAAkAgAigCACIDKAIMRQ0AIAMpAhQioAGnIgBBmK0LKAIARg0AQaCtCygCACAARg0AQaitCygCACAARg0AQbCtCygCACAARg0AQbitCygCACAARg0AQcCtCygCACAARg0AQeitCygCACAARg0AQcitCygCACAARg0AQdCtCygCACAARg0AQditCygCACAARg0AQeCtCygCACAARg0AQfCtCygCACAARg0AQfitCygCACAARg0AQYCuCygCACAARg0AIAMpAgwhoQEgASCgATcD6AggASChATcD+AhB1IkLQQA2AgAgASChATcDECABIKABNwMIQYYCIAFBoAlqIAFBEGogAUEIahAIQdSJCygCACEkQdSJC0EANgIAICRBAUYNBQsgAkEEaiICIAVHDQALC0HUiQtBADYCACABKAJQIQAgAUEKOgD4CEEJIABBuAFqIAFB+AhqQQEQBBpB1IkLKAIAISVB1IkLQQA2AgAgJUEBRg0CIAQoAjQiAARAIAQgADYCOCAAEFoLIAQoAigiAARAIAQgADYCLCAAEFoLIAQoAhwiAARAIAQgADYCICAAEFoLIAQoAhAiAARAIAQgADYCFCAAEFoLIAQoAgQiAARAIAQgADYCCCAAEFoLIAEoApAJIgAEQANAIAAoAgAhJiAAEFogJiIADQALCyABKAKICSEAIAFBADYCiAkgAARAIAAQWgsgASgCmAciAARAA0AgACgCACEnIAAQWiAnIgANAAsLIAEoApAHIQAgAUEANgKQByAABEAgABBaCyABKAJMIgIoAlQiACACKAJYRg0LIAAoAgAiAygCDA0LIAIoAgAiACACKAIEIgRGDQsDQCAAKAIAIgUoAhBBAUYEQCAFKAIIIAMoAgBGDQYLIABBBGoiACAERw0ACwwLCxAAIQAMEgsQACEADAELEAAhACAEEL4ECyABQYgJahCiASABQZAHahCiAQwLC0HUiQtBADYCAEEJIAEoAlBBuAFqQY2ZB0EWEAQaQdSJCygCACEoQdSJC0EANgIAIChBAUYNByABKAJQQbgBaiEAIAEoAkwoAlQoAgAiAikDICACKQMoUQRAQTUhAkHPnwchBAwGC0HUiQtB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AUGQB2oiACABQaAJahADQdSJCygCACF1QdSJC0EANgIAIHVBAUYNEUHUiQtBADYCAEEJIAQgASgCkAcgACABLQCbByIAwEEASCICGyABKAKUByAAIAIbEAQhAEHUiQsoAgAhdkHUiQtBADYCACB2QQFGDRBB1IkLQQA2AgBBCSAAQdKoB0ECEAQaQdSJCygCACF3QdSJC0EANgIAIHdBAUYNECABLACbB0EASARAIAEoApAHEFoLIAEsAKsJQQBIBEAgASgCoAkQWgsgBSkCDCGgASAFKAIMIQBB1IkLQQA2AgBB9gAgAUGQB2ogAUGICWogACCgARCoAkHUiQsoAgAheEHUiQtBADYCACB4QQFGDRYLIANBBGoiAyAHRw0ACyABKAJMIQALIAAoAjwiAiAAQUBrKAIAIgVHBEADQAJAIAIoAgAiAygCDEUNACADKAIUIgBBmK0LKAIARg0AQaCtCygCACAARg0AQaitCygCACAARg0AQbCtCygCACAARg0AQbitCygCACAARg0AQcCtCygCACAARg0AQeitCygCACAARg0AQcitCygCACAARg0AQdCtCygCACAARg0AQditCygCACAARg0AQeCtCygCACAARg0AQfCtCygCACAARg0AQfitCygCACAARg0AQYCuCygCACAARg0AQdSJC0EANgIAQQkgASgCUEG4AWpBz9EGQQMQBCEAQdSJCygCACF5QdSJC0EANgIAIHlBAUYNEwJAIAMpAgwioAGnIgQEQEHUiQtBADYCAEEJIAAgBCCgAUIgiKcQBBoMAQtB1IkLQQA2AgBBCSAAQajqBUELEAQaC0HUiQsoAgAhekHUiQtBADYCACB6QQFGDRNB1IkLQQA2AgBBCSAAQeqYB0EFEAQaQdSJCygCACF7QdSJC0EANgIAIHtBAUYNE0HUiQtBADYCAEEJIAEoAlBBuAFqQbSWB0EEEAQhBkHUiQsoAgAhfEHUiQtBADYCACB8QQFGDRMgAygCGCIAQe////8HSw0UIAMoAhQhAwJAAkAgAEELTwRAQdSJC0EANgIAQQQgAEEPckEBaiIJEAYhBEHUiQsoAgAhfUHUiQtBADYCACB9QQFGDRYgASAENgKgCSABIAA2AqQJIAEgCUGAgICAeHI2AqgJDAELIAEgADoAqwkgAUGgCWohBCAARQ0BCyAEIAMg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IAEsAGdBAEgEQCABKAJcEFoLIA1BuAFqEL0EGiANQfCWCjYCaCANQdyWCjYCACANQQRqEPkDGiANQegAahDoARogASgCgAMQWiABQfADahClDiABQbAJaiQADwsQACEADAILAAsQACEAIAEsAJsHQQBODQAgASgCkAcQWgsgASwAZ0EATg0AIAEoAlwQWgsgDRD3BiABKAKAAwsQWgsgAUHwA2oQpQ4gABAHAAsgASwAlwRBAEgEQCABKAKMBBBaCyABQfADahCiASABQZgDahBhIAAQBwALKwAgASgCACIBKAIAQSxHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCAAgsrACABKAIAIgEoAgBBK0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIACCysAIAEoAgAiASgCAEEqRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQgAILKwAgASgCACIBKAIAQSlHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCAAgsrACABKAIAIgEoAgBBFUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIACCysAIAEoAgAiASgCAEEURwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQgAILKwAgASgCACIBKAIAQRJHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCAAgsrACABKAIAIgEoAgBBEUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIACCysAIAEoAgAiASgCAEEQRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQgAILKwAgASgCACIBKAIAQQ9HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCAAgsMAEHkwQsgABCsCBoLKwAgASgCACIBKAIAQQ5HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCAAgsrACABKAIAIgEoAgBBJ0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIACCysAIAEoAgAiASgCAEEmRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQgAILKwAgASgCACIBKAIAQSVHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCAAgsrACABKAIAIgEoAgBBJEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIACCysAIAEoAgAiASgC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AQALIAAgARCBAgsrACABKAIAIgEoAgBBK0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIECCysAIAEoAgAiASgCAEEqRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQgQILKwAgASgCACIBKAIAQSlHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCBAgsrACABKAIAIgEoAgBBFUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIECCysAIAEoAgAiASgCAEEURwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQgQILKwAgASgCACIBKAIAQRJHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCBAgsrACABKAIAIgEoAgBBEUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIECC4cGAQt/IwBBsAJrIgIkAEHgAhBcIgFBAEGJAfwLACABQgA3ApwBIAFCADcClAEgAUIANwKMASABQYCAgPwDNgKkASABQgA3ArABIAFCADcCqAEgAUIANwLAASABQQA2ArwBIAFBkLcLNgK4ASABQgA3AsgBIAFCADcC1AEgAUGAgID8AzYC0AEgAUIANwLcASABQgA3AugBIAFBgICA/AM2AuQBIAFCADcC8AEgAUIANwL8ASABQYCAgPwDNgL4ASABQgA3AoQCIAFBgICA/AM2AowCIAFCADcCkAIgAUIANwKYAiABQgA3AqQCIAFBgICA/AM2AqACIAFCADcCrAIgAUGAgID8AzYCtAIgAUIANwK4AiABQgA3AsACIAFBgICA/AM2AsgCIAFCADcCzAIgAUIANwLUAiABQYCAgPwDNgLcAkHUiQtBADYCAEHGASACQYQCaiAAEAIhA0HUiQsoAgAhAEHUiQtBADYCAAJAAkAgAEEBRwRAIAMoAighAEHUiQtBADYCAEHHASAAQQAQAiEAQdSJCygCACEFQdSJC0EANgIAIAVBAUYNAUHUiQtBADYCAEHIASACQQRqIAEgAEEAEA0hB0HUiQsoAgAhBkHUiQtBADYCACAGQQFGDQEgBxCaCiADQRBqEL8EGiACQbACaiQAIAEPC0HAiggQCyEAIwEhAQwBC0HAiggQCyEAIwEhASADQRBqEL8EGgsCQEHAiggQFiABRgRAIAAQDiEAQdSJC0EANgIAQckBIAAQCkHU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QZQGQY3eABABAAsgACABEIECCysAIAEoAgAiASgCAEEGRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQgQILKwAgASgCACIBKAIAQT9HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCBAgsrACABKAIAIgEoAgBBF0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIECC+8EAQd/IwBBgAFrIgEkACABQQA2AiAgAUHMAGoiAkIANwIAIAFCADcCVCABQeAAaiIDQgA3AgAgAUIANwJoIAFCADcCdCABQYCAgPwDNgJwIAFBADsBfCABQfCJCykCADcCLCABQfiJCykCADcCNCABQYCKCykCADcCPCABQYiKCykCADcCRCABQgA3AhggAUH87Ak2AgwgAUHoiQspAgA3AiQgASAANgIQIAEgAEGoAWo2AhQgAUGgigsqAgA4AlxB1IkLQQA2AgBBzQAgAkGYigsoAgAQA0HUiQsoAgAhAEHUiQtBADYCAAJAIABBAUYNAEHUiQtBADYCACABQbSKCyoCADgCcEHOACADQayKCygCABADQdSJCygCACEEQdSJC0EANgIAIARBAUYNAEG4igsoAgAhA0G8igsoAgAiAgRAIAIgAigCBEEBajYCBAsgASgCeCEAIAEgAjYCeCABIAM2AnQCQCAARQ0AIAAgACgCBCICQQFrNgIEIAINACAAIAAoAgAoAggRAQAgABB1C0HUiQtBADYCAEG8ASABQQxqIgAQCkHUiQsoAgAhBUHUiQtBADYCACAFQQFGDQBB1IkLQQA2AgBBlwEgABAKQdSJCygCACEGQdSJC0EANgIAIAZBAUYNACABQfzsCTYCDCABQSRqEGEgASgCGCICBEAgAiEDIAIgASgCHCIARwRAA0AgAEEEayIAKAIAIQMgAEEANgIAIAMEQCADIAMoAgAoAgQRAQALIAAgAkcNAAsgASgCGCEDCyABIAI2AhwgAxBaCyABQYABaiQADwsQACEHIAFBDGoQfBogBxAHAAsrACABKAIAIgEoAgBBNkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIECCysAIAEoAgAiASgCAEE1RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQgQILKwAgASgCACIBKAIAQTNHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCBAgsrACABKAIAIgEoAgBBE0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIECCysAIAEoAgAiASgCAEEFRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQgQILKwAgASgCACIBKAIAQQRHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCBAgsrACABKAIAIgEoAgBBA0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIECCysAIAEoAgAiASgCAEECRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQgQIL3gEBBH8gACgCkAEEQCAAKAKMASIBBEADQCABKAIAIQUgARBaIAUiAQ0ACwtBACEBIABBADYCjAECQCAAKAKIASICRQ0AIAJBBE8EQCACQXxxIQQDQCABQQJ0IgMgACgChAFqQQA2AgAgACgChAEgA2pBADYCBCAAKAKEASADakEANgIIIAAoAoQBIANqQQA2AgwgAUEEaiIBIARHDQALCyACQQNxIgNFDQBBACECA0AgACgChAEgAUECdGpBADYCACABQQFqIQEgAkEBaiICIANHDQALCyAAQQA2ApABCwsrACABKAIAIgEoAgBBAUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIECCysAIAEoAgAiASgCAEE/RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQgAILKwAgASgCACIBKAIAQRdHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCAAgsrACABKAIAIgEoAgBBNkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIACCysAIAEoAgAiASgCAEE1RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQgAILKwAgASgCACIBKAIAQTNHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCAAgsrACABKAIAIgEoAgBBE0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIACCysAIAEoAgAiASgCAEEFRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQgAILKwAgASgCACIBKAIAQQRHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCAAgsrACABKAIAIgEoAgBBA0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIACCysAIAEoAgAi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AiABNgIQIAIgBDYCDCACQSM2AgggAkIQNwIAIAIgBCgCBCIEQQFHBH9BASAEIAEoAgRBAUYbBUEBCzYCBCAAKAIAQagBakEUQQQQXSIAIAI2AhAgACAFNgIMIABBITYCCCAAQhA3AgAgACAFKAIEIgFBAUcEf0EBIAEgAigCBEEBRhsFQQELNgIEIANBIGokACAADwsQACEIIANBCGoQWRogCBAHAAv7iAECigF/An4jAEHwAmsiBCQAIABCADcCKCAAKAIEIQMgBEEwEFwiAjYCgAIgBEKmgICAgIaAgIB/NwKEAiACQcK5ASkAADcAHiACQby5ASkAADcAGCACQbS5ASkAADcAECACQay5ASkAADcACCACQaS5ASkAADcAACACQQA6ACYgA0FAaygCACADKAJEIARBgAJqEMMDIRQgAhBaIAAoAgQhAyAEQTAQXCICNgL0ASAEQqaAgICAhoCAgH83AvgBIAJBg6wBKQAANwAeIAJB/asBKQAANwAYIAJB9asBKQAANwAQIAJB7asBKQAANwAIIAJB5asBKQAANwAAIAJBADoAJiAAIANBQGsoAgAgAygCRCAEQfQBahDDA0EARzoAJCACEFogBEEANgLwASAEQgA3AugBAkACQAJAAkACQAJAAkACQAJAIAEoAgAiESABKAIEIhdGDQAgAUGoAWohEgNAAkAgESgCACICKAIQDQAgASgC2AEhAyABKALUASEIIAIpAgghjAFB1IkLQQA2AgBBqAEgCCADIIwBEPEBIRBB1IkLKAIAIQJB1IkLQQA2AgACQAJAAkACQCACQQFHBEACQCAQKAIcIgJBEE8EQCACKAIQRQ0BC0HUiQtBADYCAEENQeGVBkG4swJB2wlBj+IDEAVB1IkLKAIAIR1B1IkLQQA2AgAgHUEBRg0CDBALAkACQAJAAkACQAJAAn8CQCACKQIUIowBpyIDQQdJIgJFBEAgA0EEaiIFKAIADQEgAygCDCADKAIIa0ECdSIIRQ0EIANBCGoMAgsgA0UiCA0DIAgNBSADQQBHIQggA0EIaiEGIANBBGohBQwCCyADQQBHIQggA0EIagshBiADRSEeIAMoAgRFBEAgBigCACgCACEDDAELIB4NAwsgA0EDRg0BQQEhAyAIQQFGDQADQCACDQMgBSgCAA0DIAYoAgAgA0ECdGooAgBBA0YNAiADQQFqIgMgCEcNAAsLIIwBQoCAgIBwg0KAgICAMFINCQsgAC0AFEUEQCARKAIAKQIAIowBQoCAgICAAVQNCSCMAacpAABC5PK5m5SMm7bfAFINCQsgBEG1vQYvAAA7AZgCIARBgBQ7AZoCIARBrb0GKQAANwOQAiAQKAIEIgJB8P///wdJDQFB1IkLQQA2AgBB2AAQCUHUiQsoAgAhH0HUiQtBADYCACAfQQFHDRIQACECDAILQdSJC0EANgIAQQ1B3cMGQbizAkHYCEGg1gUQBUHUiQsoAgAhIEHUiQtBADYCACAgQQFHDREQACECDA4LIBAoAgAhAwJAAkACQAJAAkACQCACQQtPBEBB1IkLQQA2AgBBBCACQQ9yQQFqIggQBiEFQdSJCygCACEhQdSJC0EANgIAICFBAUYNAyAEIAU2AsgCIAQgAjYCzAIgBCAIQYCAgIB4cjYC0AIMAQsgBCACOgDTAiAEQcgCaiEFIAJFDQELIAUgAyAC/AoAAAsgAiAFakEAOgAAQdSJC0EANgIAQYwCIARBkAJqIAQoAsgCIARByAJqIAQtANMCIgLAQQBIIgMbIAQoAswCIAIgAxsQBCECQdSJCygCACEiQdSJC0EANgIAICJBAUYNASAEIAIoAgg2AmAgBCACKQIANwNYIAJCADcCACACQQA2AgggBCAEKAJcIAQsAGMiA0H/AXEgA0EASCIDGzYCwAIgBCAEKAJYIARB2ABqIAMbNgK8AkHUiQtBADYCACAEIAQpArwCNwNQQQYgBEGoAmogBEHQAGoQA0HUiQsoAgAhI0HUiQtBADYCACAjQQFGDQIgBCwAY0EASARAIAQoAlgQWgsgBCwA0wJBAEgEQCAEKALIAhBaCyAELACbAkEASARAIAIoAgAQWgsgBCkDqAIhjAEgASgC2AEiCEUNByCMAachAgJAIAhpQQFLIgVFBEAgCEEBayACcSEGDAELIAIiBiAISQ0AIAIgCHAhBgsgASgC1AEgBkECdGooAgAiA0UNByADKAIAIgNFDQcCQCAFRQRAIAhBAWshCANAAkAgAiADKAIEIgVHBEAgBSAIcSAGRg0BDAwLIAMoAgggAkYNAwsgAygCACIDDQALDAkLA0ACQCACIAMoAgQiBUcEQCAFIAhPBH8gBSAIcAUgBQsgBkYNAQwLCyADKAIIIAJGDQILIAMoAgAiAw0ACwwICyADKAIQRQ0HDAgLEAAhAgwDCxAAIQIMAQsQACECIAQsAGNBAE4NACAEKAJYEFoLIAQsANMCQQBODQAgBCgCyAIQWgsgBCwAmwJBAE4NDCAEKAKQAhBaDAwLEAAhAgwLCxAAIQIMCgtB1IkLQQA2AgAgBCABNgK8AkEEQcQBEAYhCkHUiQsoAgAhJEHUiQtBADYCACAkQQFGDQEgCkEIakEAQbwB/AsAIApCADcCDCAKQQA6AAggCkIANwIAIApCADcCFEHUiQtBADYCACAEQgA3AlggBEIANwNIQSkgCkEcaiAEQcgAahACIRpB1IkLKAIAIQJB1IkLQQA2AgACQAJAAkACQAJAIAJBAUcEQCAKQgA3AiAgCkIANwJMIApCADcCYCAKQgA3AowBIApBQGtCADcCACAKQgA3AjggCkIANwIwIApCADcCKCAKQYCAgPwDNgJIIApCADcCVCAKQYCAgPwDNgJcIApCADcCaCAKQfgAaiICQgA3AgAgCkGAgID8AzYCcCAKQYQBaiIDQgA3AgAgCiACNgJ0IAogAzYCgAEgCkIANwKUASAKQgA3AqABIApBgICA/AM2ApwBIApCADcCqAEgCkGAgID8AzYCsAEgCkIANwK0ASAKQgA3AboBIAogjAE3AgBB1IkLQQA2AgBBDCASQSRBBBAEIQlB1IkLKAIAISVB1IkLQQA2AgAgJUEBRg0HIAlCADcCBCAJQQY2AgAgCUEAOgAgIAlCADcCGCAJQgA3AgwgCSASNgIUIAkgECkCADcCGAJAIBAoAhwiAkEQTwRAIAIoAhBFDQELQdSJC0EANgIAQQ1B4ZUGQbizAkHbCUGP4gMQBUHUiQsoAgAhJkHUiQtBADYCACAmQQFHDRMQACECDBALIAkgAjUCGD4CBAJAIBAoAhwiAkEQTwRAIAIoAhBFDQELQdSJC0EANgIAQQ1B4ZUGQbizAkHbCUGP4gMQBUHUiQsoAgAhJ0HUiQtBADYCACAnQQFHDRMQACECDBALIAQgAigCFCIDNgJYAn8CQCADQQdJDQAgAygCBA0AIAMoAgwgAygCCGtBAnUMAQsgA0EARwsiGw0BQQAhBUEAIQgMAgsQACECIAoQWgwOC0EAIQ1BACEIQQAhBUEAIQwCQANAAkACQCAEKAJYIgJBB0kNACACKAIEDQAgAigCCCANQQJ0aiIOKAIAIQIMAQsgAgRAIARB2ABqIQ4gDUUNAQtB1IkLQQA2AgBBDUHdwwZBuLMCQdgIQaDWBRAFQdSJCygCACEoQdSJC0EANgIAIChBAUcNExAAIQIMBgsCQAJAIAJBA0YEQEHUiQtBADYCAEEMIAQoArwCQagBaiIDQQxBBBAEIQJB1IkLKAIAISlB1IkLQQA2AgAgKUEBRg0CIAIgBSAIa0ECdSIONgIIIAJCiICAgCA3AgBB1IkLQQA2AgBBDCADQQxBBBAEIQNB1IkLKAIAISpB1IkLQQA2AgAgKkEBRg0CIAMgDkEBaiIHNgIIIANCiICAgCA3AgBB1IkLQQA2AgBBo9MAIARBvAJqIAIgAxAEIRNB1IkLKAIAIStB1IkLQQA2AgAgK0EBRg0CIAkoAgghAwJAIAkoAgwiDyAJKAIQRwRAIAMhAgwBCyAJIA9BAXRBAmoiAjYCECAJKAIUIQZB1IkLQQA2AgBBDCAGIAJBAnRBBBAEIQJB1IkLKAIAISxB1IkLQQA2AgAgLEEBRg0DIAkgAjYCCCAJKAIMIg9FBEBBACEPDAELQQAhC0EAIQIgD0EETwRAIA9BfHEhFQNAIAJBAnQiBiAJKAIIaiADIAZqKAIANgIAIAZBBHIiFiAJKAIIaiADIBZqKAIANgIAIAZBCHIiFiAJKAIIaiADIBZqKAIANgIAIAZBDHIiBiAJKAIIaiADIAZqKAIANgIAIAJBBGoiAiAVRw0ACwsgD0EDcSIGBEADQCACQQJ0IhUgCSgCCGogAyAVaigCADYCACACQQFqIQIgC0EBaiILIAZHDQALCyAJKAIIIQILIAIgD0ECdGogEzYCACAJIA9BAWo2AgwCQAJAAkAgBSAMSQRAIAVBAjYCAAwBCwJAAkACQCAHQYCAgIAETwRAQdSJC0EANgIAQRMQCQwBC0H/////AyAMIAhrIgJBAXUiAyAHIAMgB0sbIAJB/P///wdPGyIHRQRAQQAhBgwDCyAHQYCAgIAESQ0BQdSJC0EANgIAQQMQCQtB1IkLKAIAIS1B1IkLQQA2AgAgLUEBRw0aEAAhAgwNC0HUiQtBADYCAEEEIAdBAnQQBiEGQdSJCygCACEuQdSJC0EANgIAIC5BAUYNAgsgBiAOQQJ0aiIDQQI2AgAgAyECIAUgCEcEQANAIAJBBGsiAiAFQQRrIgUoAgA2AgAgBSAIRw0ACwsgB0ECdCAGaiEMIAgEQCAIEFoLIAIhCCADIQULIAwgBUEEaiICSwRAIAVBAjYCBCAFQQhqIQUMBAsCQAJAAkAgAiAIa0ECdSIGQQFqIgNBgICAgARPBEBB1IkLQQA2AgBBExAJDAELQf////8DIAwgCGsiBUEBdSIHIAMgAyAHSRsgBUH8////B08bIgVFBEBBACEHDAMLIAVBgICAgARJDQFB1IkLQQA2AgBBAxAJC0HUiQsoAgAhL0HUiQtBADYCACAvQQFHDRkQACECDAwLQdSJC0EANgIAQQQgBUECdBAGIQdB1IkLKAIAITBB1IkLQQA2AgAgMEEBRg0CCyAHIAZBAnRqIgNBAjYCACADIQYgAiAIRwRAA0AgBkEEayIGIAJBBGsiAigCADYCACACIAhHDQALCyAFQQJ0IAdqIQwgA0EEaiEFIAhFBEAgBiEIDAQLIAgQWiAGIQgMAwsQACECDAkLEAAhAgwIC0HUiQtBADYCAEEMIAQoArwCQagBakEMQQQQBCEGQdSJCygCACExQdSJC0EANgIAIDFBAUYNASAGQQg2AgAgBiACNgIEIAYgBSAIayITQQJ1IhU2AgggCSgCCCEDAkAgCSgCDCIHIAkoAhBHBEAgAyECDAELIAkgB0EBdEECaiICNgIQIAkoAhQhB0HUiQtBADYCAEEMIAcgAkECdEEEEAQhAkHUiQsoAgAhMkHUiQtBADYCACAyQQFGDQIgCSACNgIIIAkoAgwiB0UEQEEAIQcMAQtBACELQQAhAiAHQQRPBEAgB0F8cSEWA0AgAkECdCIPIAkoAghqIAMgD2ooAgA2AgAgD0EEciIZIAkoAghqIAMgGWooAgA2AgAgD0EIciIZIAkoAghqIAMgGWooAgA2AgAgD0EMciIPIAkoAghqIAMgD2ooAgA2AgAgAkEEaiICIBZHDQALCyAHQQNxIg8EQANAIAJBAnQiFiAJKAIIaiADIBZqKAIANgIAIAJBAWohAiALQQFqIgsgD0cNAAsLIAkoAgghAgsgAiAHQQJ0aiAGNgIAIAkgB0EBajYCDCAFIAxHBEAgBSAOKAIANgIAIAVBBGohBQwBCwJAAkACQCAVQQFqIgJBgICAgARPBEBB1IkLQQA2AgBBExAJDAELQf////8DIBNBAXUiAyACIAIgA0kbIBNB/P///wdPGyIHRQRAQQAhBgwDCyAHQYCAgIAESQ0BQdSJC0EANgIAQQMQCQtB1IkLKAIAITNB1IkLQQA2AgAgM0EBRw0WEAAhAgwJC0HUiQtBADYCAEEEIAdBAnQQBiEGQdSJCygCACE0QdSJC0EANgIAIDRBAUYNAgsgBiAVQQJ0aiIDIA4oAgA2AgAgAyECIAUgCEcEQANAIAJBBGsiAiAFQQRrIgUoAgA2AgAgBSAIRw0ACwsgB0ECdCAGaiEMIANBBGohBSAIBEAgCBBaCyACIQgLIA1BAWoiDSAbRg0CDAELCxAAIQIMBAsgECgCHCICQRBJDQELIAIoAhBFDQELQdSJC0EANgIAQQ1B4ZUGQbizAkHbCUGP4gMQBUHUiQsoAgAhNUHUiQtBADYCACA1QQFHDQ4QACECDAELIAIpAhQhjAFB1IkLQQA2AgBB4QAgBEHoAmogCCAFEAQhAkHUiQsoAgAhA0HUiQtBADYCAAJAAkACQAJAAkACQCADQQFGDQAgBCACKAIANgJYIARBAiCMAUIgiKciAiACQQNGGzYCXEHUiQtBADYCACAEIAQpAlg3A0BBKSAEQYwCaiAEQUBrEAIhAkHUiQsoAgAhNkHUiQtBADYCACA2QQFGDQAgGiACKAIANgIAAkAgECgCHCICQRBPBEAgAigCEEUNAQtB1IkLQQA2AgBBDUHhlQZBuLMCQdsJQY/iAxAFQdSJCygCACE3QdSJC0EANgIAIDdBAUcNFBAAIQIMBwsCQCACNQIYQiCGQoCAgIAwUgRAIAkhBQwBC0HUiQtBADYCACAEQgA3A8gCIARCADcDOEH2ECAKIARBOGpBAxAEIQ9B1IkLKAIAIThB1IkLQQA2AgAgOEEBRg0CQdSJC0EANgIAQQwgBCgCvAJBqAFqIg1BIEEEEAQhBUHUiQsoAgAhOUHUiQtBADYCACA5QQFGDQYgBUIANwIEIAVBATYCACAFQgA3AgwgBUIANwIUIAUgDTYCHEHUiQtBADYCAEEMIA1BEEEEEAQhBkHUiQsoAgAhOkHUiQtBADYCACA6QQFGDQYgBiAJNgIMIAYgDzYCCCAGQgk3AgAgBiAJKAIEQQFGIgI2AgQgBiACIAkoAgRBAUZyNgIEIAUoAhAhAgJAIAUoAhQiCSAFKAIYRwRAIAIhAwwBCyAFIAlBAXRBAmoiAzYCGCAFKAIcIQdB1IkLQQA2AgBBDCAHIANBAnRBBBAEIQNB1IkLKAIAITtB1IkLQQA2AgAgO0EBRg0HIAUgAzYCECAFKAIUIglFBEBBACEJDAELQQAhB0EAIQMgCUEETwRAIAlBfHEhCwNAIANBAnQiDCAFKAIQaiACIAxqKAIANgIAIAxBBHIiDiAFKAIQaiACIA5qKAIANgIAIAxBCHIiDiAFKAIQaiACIA5qKAIANgIAIAxBDHIiDCAFKAIQaiACIAxqKAIANgIAIANBBGoiAyALRw0ACwsgCUEDcSIMBEADQCADQQJ0IgsgBSgCEGogAiALaigCADYCACADQQFqIQMgB0EBaiIHIAxHDQALCyAFKAIQIQMLIAMgCUECdGogBjYCACAFIAlBAWo2AhQgACgCLCIDRQRAAkAgAC0AJARAIAEoAsQBIQIgASgCwAEhA0HUiQtBADYCAEGmASADIAJBsKwLKQMAEPEBIT1B1IkLKAIAITxB1IkLQQA2AgAgPEEBRg0JIAEoAtgBIQMgASgC1AEhBiA9KQIIIYwBQdSJC0EANgIAQagBIAYgAyCMARDxASEDQdSJCygCACE+QdSJC0EANgIAID5BAUcNAQwJC0HUiQtBADYCACABQcCsCykDAEECQQAQwxEhA0HUiQsoAgAhP0HUiQtBADYCACA/QQFGDQgLIAAgAzYCLAsgAykCACGMAUHUiQtBADYCAEGl0wAgBEG8AmogDxACIQJB1IkLKAIAIUBB1IkLQQA2AgAgQEEBRg0DQdSJC0EANgIAQQRBBBAGIQxB1IkLKAIAIUFB1IkLQQA2AgAgQUEBRgRAEAAhAgwICyAMIAI2AgBB1IkLQQA2AgBBDCANQSRBBBAEIQZB1IkLKAIAIUJB1IkLQQA2AgAgQkEBRg0EIAZBADoAICAGQgA3AgggBkIGNwIAIAYgjAE3AhggBiANNgIUIAZBATYCEEHUiQtBADYCAEEMIA1BBEEEEAQhAkHUiQsoAgAhQ0HUiQtBADYCACBDQQFGDQQgBiACNgIIIAIgDCgCADYCACAGQQA6ACAgBkEBNgIMIAUoAhAhAgJAIAUoAhQiCSAFKAIYRwRAIAIhAwwBCyAFIAlBAXRBAmoiAzYCGCAFKAIcIQdB1IkLQQA2AgBBDCAHIANBAnRBBBAEIQNB1IkLKAIAIURB1IkLQQA2AgAgREEBRg0FIAUgAzYCECAFKAIUIglFBEBBACEJDAELQQAhB0EAIQMgCUEETwRAIAlBfHEhDgNAIANBAnQiCyAFKAIQaiACIAtqKAIANgIAIAtBBHIiEyAFKAIQaiACIBNqKAIANgIAIAtBCHIiEyAFKAIQaiACIBNqKAIANgIAIAtBDHIiCyAFKAIQaiACIAtqKAIANgIAIANBBGoiAyAORw0ACwsgCUEDcSILBEADQCADQQJ0Ig4gBSgCEGogAiAOaigCADYCACADQQFqIQMgB0EBaiIHIAtHDQALCyAFKAIQIQMLIAMgCUECdGogBjYCACAFIAlBAWo2AhQgDBBaQdSJC0EANgIAQQwgDUEMQQQQBCECQdSJCygCACFFQdSJC0EANgIAIEVBAUYNBiACIA82AgggAkKIgICAMDcCAEHUiQtBADYCAEEMIA1BEEEEEAQhBkHUiQsoAgAhRkHUiQtBADYCACBGQQFGDQYgBiACNgIMIAZBGDYCCCAGQg83AgBB1IkLQQA2AgBBkR8gBhAKQdSJCygCACFHQdSJC0EANgIAIEdBAUYNBiAFKAIQIQICQCAFKAIUIgwgBSgCGEcEQCACIQMMAQsgBSAMQQF0QQJqIgM2AhggBSgCHCEHQdSJC0EANgIAQQwgByADQQJ0QQQQBCEDQdSJCygCACFIQdSJC0EANgIAIEhBAUYNByAFIAM2AhAgBSgCFCIMRQRAQQAhDAwBC0EAIQdBACEDIAxBBE8EQCAMQXxxIQkDQCADQQJ0Ig0gBSgCEGogAiANaigCADYCACANQQRyIgsgBSgCEGogAiALaigCADYCACANQQhyIgsgBSgCEGogAiALaigCADYCACANQQxyIg0gBSgCEGogAiANaigCADYCACADQQRqIgMgCUcNAAsLIAxBA3EiDQRAA0AgA0ECdCIJIAUoAhBqIAIgCWooAgA2AgAgA0EBaiEDIAdBAWoiByANRw0ACwsgBSgCECEDCyADIAxBAnRqIAY2AgAgBSAMQQFqNgIUQdSJC0EANgIAQYMDIAUgHEGAfnEiHEEAQQAQBUHUiQsoAgAhSUHUiQtBADYCACBJQQFGDQYLIAogBTYCMEHUiQtBADYCAEEqIAEgChACIUtB1IkLKAIAIUpB1IkLQQA2AgAgSkEBRg0EIEspAgAhjAEgCEUNByAIEFoMBwsQACECDAULEAAhAgwECxAAIQIMAwsQACECIAwQWgwCCxAAIQIMAQsQACECCyAIRQ0JIAgQWgwJCyARKAIAIIwBNwIIIBRFDQEgECgCDA0BIBEoAgApAgAijAFCgICAgIABWgRAIIwBpykAAELk8rmblIybtt8AUQ0CCyAEQQA6AOEBIARB7LwGLQAAOgDgASAEQQU6AOcBIARB6LwGKAAANgLcAQJAAkACQCARKAIAIgMoAgQiAkHw////B08EQEHUiQtBADYCAEHYABAJQdSJCygCACFMQdSJC0EANgIAIExBAUcNDxAAIQIMAQsgAygCACEDAkACQAJAAkACQAJAIAJBC08EQEHUiQtBADYCAEEEIAJBD3JBAWoiCBAGIQVB1IkLKAIAIU1B1IkLQQA2AgAgTUEBRg0DIAQgBTYCyAIgBCACNgLMAiAEIAhBgICAgHhyNgLQAgwBCyAEIAI6ANMCIARByAJqIQUgAkUNAQsgBSADIAL8CgAACyACIAVqQQA6AABB1IkLQQA2AgBBjAIgBEHcAWogBCgCyAIgBEHIAmogBC0A0wIiAsBBAEgiAxsgBCgCzAIgAiADGxAEIQJB1IkLKAIAIU5B1IkLQQA2AgAgTkEBRg0BIAQgAigCCDYCYCAEIAIpAgA3A1ggAkIANwIAIAJBADYCCCAEIAQoAlwgBCwAYyIDQf8BcSADQQBIIgMbNgLAAiAEIAQoAlggBEHYAGogAxs2ArwCQdSJC0EANgIAIAQgBCkCvAI3AzBBBiAEQagCaiAEQTBqEANB1IkLKAIAIU9B1IkLQQA2AgAgT0EBRg0CIAQsAGNBAEgEQCAEKAJYEFoLIAQsANMCQQBIBEAgBCgCyAIQWgsgBCwA5wFBAEgEQCACKAIAEFoLIBApAgAhjAFB1IkLQQA2AgAgBCkDqAIhjQFBBEEUEAYhBkHUiQsoAgAhUEHUiQtBADYCACBQQQFGDQUgBkEANgIQIAYgjAE3AgggBiCNATcCACAEKALsASIDIAQoAvABIgVJBEAgAyAGNgIAIAQgA0EEajYC7AEMCQsCQAJAAkAgAyAEKALoASICa0ECdSINQQFqIghBgICAgARPBEBB1IkLQQA2AgBBptMAEAkMAQtB/////wMgBSACayIFQQF1IgcgCCAHIAhLGyAFQfz///8HTxsiBUUEQEEAIQcMAwsgBUGAgICABEkNAUHUiQtBADYCAEEDEAkLQdSJCygCACFRQdSJC0EANgIAIFFBAUcNFBAAIQIgBhBaDBELQdSJC0EANgIAQQQgBUECdBAGIQdB1IkLKAIAIVJB1IkLQQA2AgAgUkEBRg0HCyAHIA1BAnRqIgggBjYCACAHIAVBAnRqIQYgCEEEaiEHAkAgAiADRgRAIAQgBjYC8AEgBCAHNgLsASAEIAg2AugBDAELA0AgA0EEayIDKAIAIQUgA0EANgIAIAhBBGsiCCAFNgIAIAIgA0cNAAsgBCAGNgLwASAEKALsASEFIAQgBzYC7AEgBCgC6AEhAyAEIAg2AugBIAMgBUYNAANAIAVBBGsiBSgCACECIAVBADYCACACBEAgAhBaCyADIAVHDQALCyADRQ0IIAMQWgwICxAAIQIMAwsQACECDAELEAAhAiAELABjQQBODQAgBCgCWBBaCyAELADTAkEATg0AIAQoAsgCEFoLIAQsAOcBQQBODQogBCgC3AEQWgwKCxAAIQIMCQsQACECIAYQWgwICxAAIQIMBwsgEUEEaiIRIBdHDQALIAQoAugBIgMgBCgC7AEiAkYNAANAQdSJC0EANgIAQeAbIAEgAxADQdSJCygCACFTQdSJC0EANgIAIFNBAUYNAiADQQRqIgMgAkcNAAsLIAEoAgwiCCABKAIQIgdHDQFBACENDAILEAAhAgwDC0EAIQ1BACEDAkADQAJAIAgoAgAhBQJAIAMgGEkEQCADIAU2AgAgAyERDAELAkACQAJAIAMgDWtBAnUiEUEBaiICQYCAgIAETwRAQdSJC0EANgIAQaACEAkMAQtB/////wMgGCANayIGQQF1IgkgAiACIAlJGyAGQfz///8HTxsiAkUEQEEAIQYMAwsgAkGAgICABEkNAUHUiQtBADYCAEEDEAkLQdSJCygCACFUQdSJC0EANgIAIFRBAUcNCxAAIQIMBwtB1IkLQQA2AgBBBCACQQJ0EAYhBkHUiQsoAgAhVUHUiQtBADYCACBVQQFGDQILIAYgEUECdGoiESAFNgIAIBEhBSADIA1HBEADQCAFQQRrIgUgA0EEayIDKAIANgIAIAMgDUcNAAsLIAJBAnQgBmohGCANBEAgDRBaCyAFIQ0LIBFBBGohAyAHIAhBBGoiCEcNAQwCCwsQACECDAILIAMgDUYNACABQagBaiETIABBGGohFSANIQMCQAJAAkADQAJAAkAgAyIJKAIAIgooAgwiB0UNAAJAIAooAhwiAkEQTwRAIAIoAhBFDQELQdSJC0EANgIAQQ1B4ZUGQbizAkHbCUGP4gMQBUHUiQsoAgAhVkHUiQtBADYCACBWQQFHDQwQACECDAgLAkACQAJAAkACQAJ/AkAgAikCFCKMAaciA0EHSSICRQRAIANBBGoiBSgCAA0BIAMoAgwgAygCCGtBAnUiCEUNBCADQQhqDAILIANFIggNAyAIDQUgA0EARyEIIANBCGohBiADQQRqIQUMAgsgA0EARyEIIANBCGoLIQYgA0UhVyADKAIERQRAIAYoAgAoAgAhAwwBCyBXDQMLIANBA0YNAUEBIQMgCEEBRg0AA0AgAg0DIAUoAgANAyAGKAIAIANBAnRqKAIAQQNGDQIgA0EBaiIDIAhHDQALCyCMAUKAgICAcINCgICAgDBSDQMLIAAtABRFBEAgB0HAsAsoAgBHDQMgCigCGEEHSQ0DIAooAhRB7/EEQQcQXg0DCyAEIAE2AuQCQdSJC0EANgIAQQRBxAEQBiEDQdSJCygCACFYQdSJC0EANgIAIFhBAUcNAQwHC0HUiQtBADYCAEENQd3DBkG4swJB2AhBoNYFEAVB1IkLKAIAIVlB1IkLQQA2AgAgWUEBRw0MEAAhAgwICyADQQhqQQBBvAH8CwAgA0IANwIMIANBADoACCADQgA3AgAgA0IANwIUQdSJC0EANgIAIARCADcCWCAEQgA3AyhBKSADQRxqIARBKGoQAhpB1IkLKAIAIVpB1IkLQQA2AgAgWkEBRgRAEAAhAiADEFoMCAsgA0IANwIgIANCADcCTCADQgA3AmAgA0IANwKMASADQUBrQgA3AgAgA0IANwI4IANCADcCMCADQgA3AiggA0GAgID8AzYCSCADQgA3AlQgA0GAgID8AzYCXCADQgA3AmggA0H4AGoiAkIANwIAIANBgICA/AM2AnAgA0GEAWoiCEIANwIAIAMgAjYCdCADIAg2AoABIANCADcClAEgA0IANwKgASADQYCAgPwDNgKcASADQgA3AqgBIANBgICA/AM2ArABIANCADcCtAEgA0IANwG6ASAEIAM2AuACQdSJC0EANgIAQQRBEBAGIQJB1IkLKAIAIQNB1IkLQQA2AgACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCADQQFHBEAgBCACNgLIAiAEQoyAgICAgoCAgH83AswCIAJBqrwGKAAANgAIIAJBorwGKQAANwAAIAJBADoADCAKKAIEIgJB8P///wdPBEBB1IkLQQA2AgBB2AAQCUHUiQsoAgAhW0HUiQtBADYCACBbQQFHDR0QACECDAYLIAooAgAhAwJAAkAgAkELTwRAQdSJC0EANgIAQQQgAkEPckEBaiIIEAYhBUHUiQsoAgAhXEHUiQtBADYCACBcQQFGDQQgBCAFNgK8AiAEIAI2AsACIAQgCEGAgICAeHI2AsQCDAELIAQgAjoAxwIgBEG8AmohBSACRQ0BCyAFIAMgAvwKAAALIAIgBWpBADoAAEHUiQtBADYCAEGMAiAEQcgCaiAEKAK8AiAEQbwCaiAELQDHAiICwEEASCIDGyAEKALAAiACIAMbEAQhAkHUiQsoAgAhXUHUiQtBADYCACBdQQFGDQIgBCACKAIINgJgIAQgAikCADcDWCACQgA3AgAgAkEANgIIIAQgBCgCXCAELABjIgNB/wFxIANBAEgiAxs2AuwCIAQgBCgCWCAEQdgAaiADGzYC6AJB1IkLQQA2AgAgBCAEKQLoAjcDIEEGIARB2AJqIARBIGoQA0HUiQsoAgAhXkHUiQtBADYCACBeQQFGDQMgBCgC4AIiAyAEKQPYAjcCACAELABjQQBIBEAgBCgCWBBaCyAELADHAkEASARAIAQoArwCEFoLIAQsANMCQQBIBEAgAigCABBaCyADIAopAgw3AgwgAyAKKQIUNwIUQdSJC0EANgIAQQRBxAEQBiEDQdSJCygCACFfQdSJC0EANgIAIF9BAUYNBiADQQhqQQBBvAH8CwAgA0IANwIMIANBADoACCADQgA3AgAgA0IANwIUQdSJC0EANgIAIARCADcCWCAEQgA3AxhBKSADQRxqIARBGGoQAhpB1IkLKAIAIWBB1IkLQQA2AgAgYEEBRgRAEAAhAiADEFoMFgsgA0IANwIgIANCADcCTCADQgA3AmAgA0IANwKMASADQUBrQgA3AgAgA0IANwI4IANCADcCMCADQgA3AiggA0GAgID8AzYCSCADQgA3AlQgA0GAgID8AzYCXCADQgA3AmggA0H4AGoiAkIANwIAIANBgICA/AM2AnAgA0GEAWoiCEIANwIAIAMgAjYCdCADIAg2AoABIANCADcClAEgA0IANwKgASADQYCAgPwDNgKcASADQgA3AqgBIANBgICA/AM2ArABIANCADcCtAEgA0IANwG6ASAEIAM2ArgCIARBmr0GLwAAOwGwAiAEQYAUOwGyAiAEQZK9BikAADcDqAIgCigCBCICQfD///8HTwRAQdSJC0EANgIAQdgAEAlB1IkLKAIAIWFB1IkLQQA2AgAgYUEBRw0dEAAhAgwMCyAKKAIAIQMCQAJAIAJBC08EQEHUiQtBADYCAEEEIAJBD3JBAWoiCBAGIQVB1IkLKAIAIWJB1IkLQQA2AgAgYkEBRg0KIAQgBTYCvAIgBCACNgLAAiAEIAhBgICAgHhyNgLEAgwBCyAEIAI6AMcCIARBvAJqIQUgAkUNAQsgBSADIAL8CgAACyACIAVqQQA6AABB1IkLQQA2AgBBjAIgBEGoAmogBCgCvAIgBEG8AmogBC0AxwIiAsBBAEgiAxsgBCgCwAIgAiADGxAEIQJB1IkLKAIAIWNB1IkLQQA2AgAgY0EBRg0IIAQgAigCCDYCYCAEIAIpAgA3A1ggAkIANwIAIAJBADYCCCAEIAQoAlwgBCwAYyIDQf8BcSADQQBIIgMbNgLsAiAEIAQoAlggBEHYAGogAxs2AugCQdSJC0EANgIAIAQgBCkC6AI3AxBBBiAEQdgCaiAEQRBqEANB1IkLKAIAIWRB1IkLQQA2AgAgZEEBRg0JIAQoArgCIgMgBCkD2AI3AgAgBCwAY0EASARAIAQoAlgQWgsgBCwAxwJBAEgEQCAEKAK8AhBaCyAELACzAkEASARAIAIoAgAQWgsgAyAKKAIcNgIcQdSJC0EANgIAQQwgE0EkQQQQBCEDQdSJCygCACFlQdSJC0EANgIAIGVBAUYNDCADQgA3AgQgA0EGNgIAIANBADoAICADQgA3AhggA0IANwIMIAMgEzYCFCADIAQoAuACKQIANwIYAkAgCigCHCICQRBPBEAgAigCEEUNAQtB1IkLQQA2AgBBDUHhlQZBuLMCQdsJQY/iAxAFQdSJCygCACFmQdSJC0EANgIAIGZBAUcNHRAAIQIMFQsgBCACKAIUIgg2AlgCfwJAIAhBB0kNACAIKAIEDQAgCCgCDCAIKAIIa0ECdQwBCyAIQQBHCyIYDQ1BACEFQQAhCAwOCxAAIQIMFAsQACECDAMLEAAhAgwBCxAAIQIgBCwAY0EATg0AIAQoAlgQWgsgBCwAxwJBAE4NACAEKAK8AhBaCyAELADTAkEATg0PIAQoAsgCEFoMDwsQACECDA4LEAAhAgwDCxAAIQIMAQsQACECIAQsAGNBAE4NACAEKAJYEFoLIAQsAMcCQQBODQAgBCgCvAIQWgsgBCwAswJBAE4NCCAEKAKoAhBaDAgLEAAhAgwHC0EAIQxBACEIQQAhBUEAIQ8CQANAAkACQCAEKAJYIgJBB0kNACACKAIEDQAgAigCCCAMQQJ0aiISKAIAIQIMAQsgAgRAIARB2ABqIRIgDEUNAQtB1IkLQQA2AgBBDUHdwwZBuLMCQdgIQaDWBRAFQdSJCygCACFnQdSJC0EANgIAIGdBAUcNEQwHCyAEKALkAkGoAWohBgJAAkAgAkEDRgRAQdSJC0EANgIAQQwgBkEMQQQQBCECQdSJCygCACFoQdSJC0EANgIAIGhBAUYNAiACIAw2AgggAkKIgICAMDcCAEHUiQtBADYCAEEMIAZBEEEEEAQhEEHUiQsoAgAhaUHUiQtBADYCACBpQQFGDQIgECACNgIMIBBBGDYCCCAQQg83AgBB1IkLQQA2AgBBkR8gEBAKQdSJCygCACFqQdSJC0EANgIAIGpBAUYNAiADKAIIIQYCQCADKAIMIgcgAygCEEcEQCAGIQIMAQsgAyAHQQF0QQJqIgI2AhAgAygCFCEHQdSJC0EANgIAQQwgByACQQJ0QQQQBCECQdSJCygCACFrQdSJC0EANgIAIGtBAUYNAyADIAI2AgggAygCDCIHRQRAQQAhBwwBC0EAIQtBACECIAdBBE8EQCAHQXxxIRIDQCACQQJ0Ig4gAygCCGogBiAOaigCADYCACAOQQRyIhQgAygCCGogBiAUaigCADYCACAOQQhyIhQgAygCCGogBiAUaigCADYCACAOQQxyIg4gAygCCGogBiAOaigCADYCACACQQRqIgIgEkcNAAsLIAdBA3EiDgRAA0AgAkECdCISIAMoAghqIAYgEmooAgA2AgAgAkEBaiECIAtBAWoiCyAORw0ACwsgAygCCCECCyACIAdBAnRqIBA2AgAgAyAHQQFqNgIMQdSJC0EANgIAQaXTACAEQeQCaiAMEAIhDkHUiQsoAgAhbEHUiQtBADYCACBsQQFGDQIgAygCCCEGAkAgAygCDCIHIAMoAhBHBEAgBiECDAELIAMgB0EBdEECaiICNgIQIAMoAhQhB0HUiQtBADYCAEEMIAcgAkECdEEEEAQhAkHUiQsoAgAhbUHUiQtBADYCACBtQQFGDQMgAyACNgIIIAMoAgwiB0UEQEEAIQcMAQtBACELQQAhAiAHQQRPBEAgB0F8cSESA0AgAkECdCIQIAMoAghqIAYgEGooAgA2AgAgEEEEciIUIAMoAghqIAYgFGooAgA2AgAgEEEIciIUIAMoAghqIAYgFGooAgA2AgAgEEEMciIQIAMoAghqIAYgEGooAgA2AgAgAkEEaiICIBJHDQALCyAHQQNxIhAEQANAIAJBAnQiEiADKAIIaiAGIBJqKAIANgIAIAJBAWohAiALQQFqIgsgEEcNAAsLIAMoAgghAgsgAiAHQQJ0aiAONgIAIAMgB0EBajYCDAJAIAUgD0kEQCAFQQI2AgAMAQsCQAJAAkAgBSAIa0ECdSIHQQFqIgJBgICAgARPBEBB1IkLQQA2AgBBExAJDAELQf////8DIA8gCGsiBkEBdSILIAIgAiALSRsgBkH8////B08bIgtFBEBBACEGDAMLIAtBgICAgARJDQFB1IkLQQA2AgBBAxAJC0HUiQsoAgAhbkHUiQtBADYCACBuQQFHDRYMDAtB1IkLQQA2AgBBBCALQQJ0EAYhBkHUiQsoAgAhb0HUiQtBADYCACBvQQFGDQsLIAYgB0ECdGoiB0ECNgIAIAchAiAFIAhHBEADQCACQQRrIgIgBUEEayIFKAIANgIAIAUgCEcNAAsLIAtBAnQgBmohDyAIBEAgCBBaCyACIQggByEFCyAPIAVBBGoiAksEQCAFQQI2AgQgBUEIaiEFDAILAkACQAJAAkAgAiAIa0ECdSIFQQFqIgZBgICAgARPBEBB1IkLQQA2AgBBExAJDAELQf////8DIA8gCGsiB0EBdSILIAYgBiALSRsgB0H8////B08bIgtFBEBBACEHDAMLIAtBgICAgARJDQFB1IkLQQA2AgBBAxAJC0HUiQsoAgAhcEHUiQtBADYCACBwQQFHDRYMDAtB1IkLQQA2AgBBBCALQQJ0EAYhB0HUiQsoAgAhcUHUiQtBADYCACBxQQFGDQELIAcgBUECdGoiBUECNgIAIAUhBiACIAhHBEADQCAGQQRrIgYgAkEEayICKAIANgIAIAIgCEcNAAsLIAtBAnQgB2ohDyAFQQRqIQUgCEUEQCAGIQgMAwsgCBBaIAYhCAwCCwwJC0HUiQtBADYCAEEMIAZBDEEEEAQhEEHUiQsoAgAhckHUiQtBADYCACByQQFGDQEgECAMNgIIIBBBCDYCACAQIAI2AgQgAygCCCEGAkAgAygCDCIHIAMoAhBHBEAgBiECDAELIAMgB0EBdEECaiICNgIQIAMoAhQhB0HUiQtBADYCAEEMIAcgAkECdEEEEAQhAkHUiQsoAgAhc0HUiQtBADYCACBzQQFGDQIgAyACNgIIIAMoAgwiB0UEQEEAIQcMAQtBACELQQAhAiAHQQRPBEAgB0F8cSEUA0AgAkECdCIOIAMoAghqIAYgDmooAgA2AgAgDkEEciIXIAMoAghqIAYgF2ooAgA2AgAgDkEIciIXIAMoAghqIAYgF2ooAgA2AgAgDkEMciIOIAMoAghqIAYgDmooAgA2AgAgAkEEaiICIBRHDQALCyAHQQNxIg4EQANAIAJBAnQiFCADKAIIaiAGIBRqKAIANgIAIAJBAWohAiALQQFqIgsgDkcNAAsLIAMoAgghAgsgAiAHQQJ0aiAQNgIAIAMgB0EBajYCDCAFIA9HBEAgBSASKAIANgIAIAVBBGohBQwBCwJAAkACQCAFIAhrIgJBAnUiB0EBaiIGQYCAgIAETwRAQdSJC0EANgIAQRMQCQwBC0H/////AyACQQF1IgsgBiAGIAtJGyACQfz///8HTxsiC0UEQEEAIQYMAwsgC0GAgICABEkNAUHUiQtBADYCAEEDEAkLQdSJCygCACF0QdSJC0EANgIAIHRBAUcNFAwKC0HUiQtBADYCAEEEIAtBAnQQBiEGQdSJCygCACF1QdSJC0EANgIAIHVBAUYNAgsgBiAHQQJ0aiIHIBIoAgA2AgAgByECIAUgCEcEQANAIAJBBGsiAiAFQQRrIgUoAgA2AgAgBSAIRw0ACwsgC0ECdCAGaiEPIAdBBGohBSAIBEAgCBBaCyACIQgLIAxBAWoiDCAYRg0CDAELCwwFCyAKKAIcIgJBEEkNAQsgAigCEEUNAQtB1IkLQQA2AgBBDUHhlQZBuLMCQdsJQY/iAxAFQdSJCygCACF2QdSJC0EANgIAIHZBAUcNDAwCCyADIQYCQCACKAIYIgJBA0cEQCADIAI2AgQMAQtBAiEHIAZBAjYCBCAAKAIoIgJFBEACQCAALQAkBEAgASgCxAEhAiABKALAASEHQdSJC0EANgIAQaYBIAcgAkGorAspAwAQ8QEheEHUiQsoAgAhd0HUiQtBADYCACB3QQFGDQUgASgC2AEhByABKALUASEMIHgpAgghjAFB1IkLQQA2AgBBqAEgDCAHIIwBEPEBIQJB1IkLKAIAIXlB1IkLQQA2AgAgeUEBRw0BDAULQdSJC0EANgIAIAFBuKwLKQMAQQBBAhDDESECQdSJCygCACF6QdSJC0EANgIAIHpBAUYNBAsgACACNgIoIAYoAgQhBwsgAikCACGMAUHUiQtBADYCAEEMIAQoAuQCQagBaiIMQSRBBBAEIQJB1IkLKAIAIXtB1IkLQQA2AgAge0EBRwRAIAJCADcCCCACQQY2AgAgAkEAOgAgIAIgjAE3AhggAiAHNgIEIAJBADYCECACIAw2AhRB1IkLQQA2AgBBo9MAIARB5AJqIAMgAhAEIQNB1IkLKAIAIXxB1IkLQQA2AgAgfEEBRw0BDAMLDAILIAQoArgCIAM2AjBB1IkLQQA2AgBB4QAgBEGgAmogCCAFEAQhfkHUiQsoAgAhfUHUiQtBADYCACB9QQFGDQEgfigCACECIAQgBigCBDYCXCAEIAI2AlhB1IkLQQA2AgAgBCAEKQJYNwMIQSkgBEGkAmogBEEIahACIQJB1IkLKAIAIX9B1IkLQQA2AgAgf0EBRg0BIAQoAuACIgsgAigCADYCHCAEKAK4AiEMAkACQCABKALYASIFRQ0AIAwoAgAhAgJAIAVpQQFLIgZFBEAgBUEBayACcSEHDAELIAIiByAFSQ0AIAIgBXAhBwsgASgC1AEgB0ECdGooAgAiA0UNACADKAIAIgNFDQACQCAGRQRAIAVBAWshBgNAAkAgAiADKAIEIg9HBEAgBiAPcSAHRg0BDAULIAMoAgggAkYNAwsgAygCACIDDQALDAILA0ACQCACIAMoAgQiBkcEQCAFIAZNBH8gBiAFcAUgBgsgB0YNAQwECyADKAIIIAJGDQILIAMoAgAiAw0ACwwBCyADKAIQDQELQdSJC0EANgIAQS0gASAEQbgCahACGkHUiQsoAgAhgAFB1IkLQQA2AgAggAFBAUYNAiABKALYASEFCwJAAkAgBUUNACALKAIAIQICQCAFaUEBSyIGRQRAIAVBAWsgAnEhBwwBCyACIgcgBUkNACACIAVwIQcLIAEoAtQBIAdBAnRqKAIAIgNFDQAgAygCACIDRQ0AAkAgBkUEQCAFQQFrIQYDQAJAIAIgAygCBCIFRwRAIAUgBnEgB0YNAQwFCyADKAIIIAJGDQMLIAMoAgAiAw0ACwwCCwNAAkAgAiADKAIEIgZHBEAgBSAGTQR/IAYgBXAFIAYLIAdGDQEMBAsgAygCCCACRg0CCyADKAIAIgMNAAsMAQsgAygCEA0BC0HUiQtBADYCAEEtIAEgBEHgAmoQAhpB1IkLKAIAIYEBQdSJC0EANgIAIIEBQQFGDQILIAwpAgAhjAEgCARAIAgQWgsgBCgCuAIiAgRAIAIQpAIQWgsgBCgC4AIiAgRAIAIQpAIQWgsgCikCACGNAUHUiQtBADYCAEHpESAEQdgAaiAVII0BIAoQwgJB1IkLKAIAIYIBQdSJC0EANgIAIIIBQQFGDQUgBCgCWCCMATcCGCABKAIwIgIgASgCNCIMRg0AA0ACQCACKAIAIggoAhgiA0EHSQ0AIAMoAgRBAUcNAAJAIAMoAggiA0EPTQRAIANBAUYNAQwCCyADKAIQDQELQQAhAyAIKAIgIgYgCCgCHCIFRg0AA0ACQCAFIANBAnRqKAIAIgcoAgBBK0cNACAHKAIIIAooAgBHDQAgByCMATcCCCAIKAIcIQUgCCgCICEGCyADQQFqIgMgBiAFa0ECdUkNAAsLIAJBBGoiAiAMRw0ACwsgCUEEaiEDIAkgEUcNAQwFCwsQACECIAhFDQAgCBBaCyAEQbgCahDHAgsgBEHgAmoQxwIMAgsQACECDAELIAAoAiBFDQMgBEEANgLUASAEQgA3AswBIARCADcCaCAEQQA2AnAgBEIANwLEASAEQgA3AmAgBCAAQRhqNgLYASAEQfzpBzYCWCAAKAIEIQJB1IkLQQA2AgAgBCACNgJcQafTACAEQdgAaiABEANB1IkLKAIAIQJB1IkLQQA2AgACQCACQQFGDQAgACgCBCECAkACQAJAIAQoAlwiA0UNACACIANGDQBB/vwBIQxB4wMhA0G6iwMhCUHixAYhBQwBCyAEIAI2AlwgBCABNgLUASAEQewAaiERAkAgASgCGCIDIAEoAhwiAkcEQANAIAMoAgAiCCgCDEUEQEHUiQtBADYCAEGo0wAgESAIQSBqEANB1IkLKAIAIYMBQdSJC0EANgIAIIMBQQFGDQMLIANBBGoiAyACRw0ACwsgASgCMCIHIAEoAjQiEEYNAiAEQfQAaiEPAkADQAJAIAcoAgAiAygCFARAQdSJC0EANgIAQajTACARIANBFGoQA0HUiQsoAgAhhAFB1IkLQQA2AgAghAFBAUYNAyAHKAIAIQMLIAMoAhwiCyADKAIgIg5HBEAgBCgCxAEhBSAEKALIASECIAQoAnAhCANAIAQgCygCACIGNgK8AkHQ+AIhDEHTmQMhCSACIAVrIhJBA3UiA0EAIAhrRwRAQcgCIQNBzcoFIQUMBwsgBkUEQEGu9wIhDEG5AiEDQYGDAiEFDAcLAkAgCEEJTQRAIAQgCEEBaiIGNgJwIA8gCEEDdGoiA0Gp0wA2AgAgAyAEQbwCajYCBCACIQMgBiEIDAELIAQoAswBIgogAksEQCACQanTADYCACACIARBvAJqNgIEIAQgAkEIaiIDNgLIAQwBCyADQQFqIgZBgICAgAJPBEBB1IkLQQA2AgBBqtMAEAlB1IkLKAIAIYUBQdSJC0EANgIAIIUBQQFHDQ8MCgtB/////wEgCiAFayIKQQJ1IhMgBiAGIBNJGyAKQfj///8HTxsiBkGAgICAAk8EQEHUiQtBADYCAEEDEAlB1IkLKAIAIYYBQdSJC0EANgIAIIYBQQFHDQ8MCgtB1IkLQQA2AgBBBCAGQQN0IhMQBiEKQdSJCygCACGHAUHUiQtBADYCACCHAUEBRg0JIAogEmoiBkGp0wA2AgAgCiADQQN0aiAEQbwCajYCBCAGQQhqIQMgAiAFRwRAA0AgBkEIayIGIAJBCGsiAikCADcCACACIAVHDQALCyAEIAogE2o2AswBIAQgAzYCyAEgBCAGNgLEASAFRQ0AIAUQWiAEKALIASEDIAQoAnAhCAtBACAIayADIAQoAsQBIgVrQQN1RwRAA0ACQCADIAVGBEAgCEUEQEH9+wIhDEHaACEDQbCUAyEJQd7EBSEFDAsLIA8gCEEBayICQQN0aiIIKAIEIQMgCCgCACEFIAQgAjYCcAwBCyADQQhrIgIoAgAhBSACKAIEIQMgBCACNgLIAQsgBCADNgJsIAMoAgBFBEBBzQIhA0H1ggIhBQwJC0HUiQtBADYCACAFIARB2ABqIAMQA0HUiQsoAgAhiAFB1IkLQQA2AgAgiAFBAUYNBEEAIAQoAnAiCGsgBCgCyAEiAyAEKALEASIFa0EDdUcNAAsLIAMhAiALQQRqIgsgDkcNAAsLIAdBBGoiByAQRw0BDAULCwwECwwDCwwCC0HUiQtBADYCAEENIAUgCSADIAwQBUHUiQsoAgAhiQFB1IkLQQA2AgAgiQFBAUcNBgwBCwJAIAEoAkgiAyABKAJMIgJHBEADQCADKAIAIggoAhgEQEHUiQtBADYCAEGo0wAgESAIQRhqEANB1IkLKAIAIYoBQdSJC0EANgIAIIoBQQFGDQMLIANBBGoiAyACRw0ACwsgBEEANgLUASAAKAIYIgggAEEcaiIARg0EA0AgASAIKQIQEPcEAkAgCCgCBCIFBEADQCAFIgMoAgAiBQ0ADAILAAsDQCAIKAIIIgMoAgAgCEchiwEgAyEIIIsBDQALCyAAIAMiCEcNAAsMBAsLEAAhAiAEQdgAahDkARoLIA1FDQAgDRBaCyAEQegBahC5DiACEAcACyAEKALEASIABEAgBCAANgLIASAAEFoLIARBkO0JNgJYIAQsAGtBAE4NACAEKAJgEFoLIAFBqKwLKQMAENYDIAFBsKwLKQMAENYDIA0EQCANEFoLIAQoAugBIgAEQCAAIAQoAuwBIgNHBEADQCADQQRrIgMoAgAhASADQQA2AgAgAQRAIAEQWgsgACADRw0ACwsgABBaCyAEQfACaiQADwsACzIAIABBzOkHNgIAIAAoAhwQjwMgAEGQ7Qk2AgAgACwAE0EASARAIAAoAggQWgsgABBaCzAAIABBzOkHNgIAIAAoAhwQjwMgAEGQ7Qk2AgAgACwAE0EASARAIAAoAggQWgsgAAv8AQEEfyAAKAIEIgAoArwCIgJFBEBBAQ8LIAEoAgAhAUEBIQMCQCAAKAK4AgJ/IAJBAWsgAXEgAmkiBUEBTQ0AGiABIAEgAkkNABogASACcAsiBEECdGooAgAiAEUNACAAKAIAIgBFDQACQCAFQQFNBEAgAkEBayECA0ACQCABIAAoAgQiA0cEQCACIANxIARGDQFBAQ8LIAAoAgggAUYNAwsgACgCACIADQALQQEPCwNAAkAgASAAKAIEIgNHBEAgAiADTQR/IAMgAnAFIAMLIARGDQFBAQ8LIAAoAgggAUYNAgsgACgCACIADQALQQEPCyAAKAIQRSEDCyADCxUAIAFB1O8JNgIAIAEgACgCBDYCBAsdAQF/QQgQXCIBQdTvCTYCACABIAAoAgQ2AgQgAQuynQECkQF/A34jAEHwA2siBCQAIAAoAgQhBSAEQRAQXCICNgLQAiAEQoyAgICAgoCAgH83AtQCIAJBmp0BKAAANgAIIAJBkp0BKQAANwAAIAJBADoADCAEQQA6AMQCQdSJC0EANgIAIARBADoAzwJB1RsgBEGgAWoiAiAFQRhqIgkgBEHQAmogBEHEAmoQBUHUiQsoAgAhA0HUiQtBADYCAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCADQQFHBEBB1IkLQQA2AgBB1hsgBEHYA2oiAyACEANB1IkLKAIAIRpB1IkLQQA2AgAgGkEBRg0BIAQoAtgDIAMgBC0A4wMiAsBBAEgiAxshByAEKALcAyACIAMbIgYhAwNAAkAgAyICRQRAQQAhAgwBCyAHIAJBAWsiA2osAAAiC0EgRiALQQlrQQVJciEbIAtFDQEgGw0BCwsgBiACIAIgBksbIgJB8P///wdPBEBB1IkLQQA2AgBB2AAQCUHUiQsoAgAhHEHUiQtBADYCACAcQQFGDQMMIgsCQAJAIAJBC08EQEHUiQtBADYCAEEEIAJBD3JBAWoiBhAGIQNB1IkLKAIAIR1B1IkLQQA2AgAgHUEBRg0FIAQgAzYC3AIgBCACNgLgAiAEIAZBgICAgHhyNgLkAgwBCyAEIAI6AOcCIARB3AJqIQMgAkUNAQsgAyAHIAL8CgAACyACIANqQQA6AAAgBCwA4wNBAEgEQCAEKALYAxBaCyAELACrAUEASARAIAQoAqABEFoLIAQsAM8CQQBIBEAgBCgCxAIQWgsgBCwA2wJBAEgEQCAEKALQAhBaC0HUiQtBADYCACAEQQE6AMACIARBADYCvAIgBEIANwK0AiAEQSw7AdgDIARBAToA4wNB5xsgBEG0AmoiAiAEQdwCaiAEQdgDahAIQdSJCygCACEeQdSJC0EANgIAIB5BAUYEQBAAIQMgAhCrAyAELADjA0EATg0gIAQoAtgDEFoMIAsgBCwA4wNBAEgEQCAEKALYAxBaC0HUiQtBADYCAEEEQRAQBiECQdSJCygCACEfQdSJC0EANgIAIB9BAUYNBSAEIAI2ApwCIARCjICAgICCgICAfzcCoAIgAkHSnAEoAAA2AAggAkHKnAEpAAA3AAAgAkEAOgAMIARBADoAkAJB1IkLQQA2AgAgBEEAOgCbAkHVGyAEQaABaiICIAkgBEGcAmogBEGQAmoQBUHUiQsoAgAhIEHUiQtBADYCACAgQQFGDQZB1IkLQQA2AgBB1hsgBEHYA2oiAyACEANB1IkLKAIAISFB1IkLQQA2AgAgIUEBRg0HIAQoAtgDIAMgBC0A4wMiAsBBAEgiAxshByAEKALcAyACIAMbIgYhAwNAAkAgAyICRQRAQQAhAgwBCyAHIAJBAWsiA2osAAAiCUEgRiAJQQlrQQVJciEiIAlFDQEgIg0BCwsgBiACIAIgBksbIgJB8P///wdPBEBB1IkLQQA2AgBB2AAQCUHUiQsoAgAhI0HUiQtBADYCACAjQQFHDSIMHAsCQAJAIAJBC08EQEHUiQtBADYCAEEEIAJBD3JBAWoiBhAGIQNB1IkLKAIAISRB1IkLQQA2AgAgJEEBRg0eIAQgAzYCqAIgBCACNgKsAiAEIAZBgICAgHhyNgKwAgwBCyAEIAI6ALMCIARBqAJqIQMgAkUNAQsgAyAHIAL8CgAACyACIANqQQA6AAAgBCwA4wNBAEgEQCAEKALYAxBaCyAELACrAUEASARAIAQoAqABEFoLIAQsAJsCQQBIBEAgBCgCkAIQWgsgBCwApwJBAEgEQCAEKAKcAhBaC0HUiQtBADYCACAEQQE6AIwCIARBADYCiAIgBEIANwKAAiAEQSw7AdgDIARBAToA4wNB5xsgBEGAAmoiAiAEQagCaiAEQdgDahAIQdSJCygCACElQdSJC0EANgIAICVBAUYEQBAAIQMgAhCrAyAELADjA0EATg0bIAQoAtgDEFoMGwsgBCwA4wNBAEgEQCAEKALYAxBaC0HUiQtBADYCAEEEQSAQBiECQdSJCygCACEmQdSJC0EANgIAICZBAUYNCCAEIAI2AvQBIARCkYCAgICEgICAfzcC+AEgAkGToAQtAAA6ABAgAkGLoAQpAAA3AAggAkGDoAQpAAA3AAAgAkEAOgARIAVBQGsoAgAgBSgCRCAEQfQBahDDAyEZIAIQWiAZRQ0RIARCADcC6AFB1IkLQQA2AgAgBEIANwNgQaCsCykDACGVAUEpIARB8AFqIARB4ABqEAIhKEHUiQsoAgAhJ0HUiQtBADYCACAnQQFGDQkgBEEANgLgAyAEQgA3AtgDICgoAgAhKUHUiQtBADYCACCVASApIARB2ANqQQAQjQMhAkHUiQsoAgAhKkHUiQtBADYCACAqQQFGDQogBCACNgKwAyAEKALYAyIDBEAgAxBaCyACQcCwCykDADcCDCACQaCsCykDADcCFEHUiQtBADYCAEEtIAEgBEGwA2oQAhpB1IkLKAIAIStB1IkLQQA2AgAgK0EBRg0LQcSwCygCACICQfD///8HTwRAQdSJC0EANgIAQdgAEAlB1IkLKAIAISxB1IkLQQA2AgAgLEEBRw0iDBgLQcCwCygCACEFAkACQCACQQtPBEBB1IkLQQA2AgBBBCACQQ9yQQFqIgcQBiEDQdSJCygCACEtQdSJC0EANgIAIC1BAUYNGiAEIAM2AswBIAQgAjYC0AEgBCAHQYCAgIB4cjYC1AEMAQsgBCACOgDXASAEQcwBaiEDIAJFDQELIAMgBSAC/AoAAAsgAiADakEAOgAAQdSJC0EANgIAQY0CIARBzAFqQbXVBRACIQZB1IkLKAIAIS5B1IkLQQA2AgAgLkEBRg0MIAQgBigCCDYC4AEgBCAGKQIANwPYASAGQgA3AgAgBkEANgIIQaSsCygCACICQfD///8HTwRAQdSJC0EANgIAQdgAEAlB1IkLKAIAIS9B1IkLQQA2AgAgL0EBRw0iDBULQaCsCygCACEFAkACQCACQQtPBEBB1IkLQQA2AgBBBCACQQ9yQQFqIgcQBiEDQdSJCygCACEwQdSJC0EANgIAIDBBAUYNFyAEIAM2AtgDIAQgAjYC3AMgBCAHQYCAgIB4cjYC4AMMAQsgBCACOgDjAyAEQdgDaiEDIAJFDQELIAMgBSAC/AoAAAsgAiADakEAOgAAQdSJC0EANgIAQYwCIARB2AFqIAQoAtgDIARB2ANqIAQtAOMDIgLAQQBIIgMbIAQoAtwDIAIgAxsQBCEHQdSJCygCACExQdSJC0EANgIAIDFBAUYNDSAHKAIAIQUgBCAHKAIENgKgASAEIAcoAAc2AKMBIAdCADcCACAHLAALIQkgB0EANgIIIAQoArgCIgIgBCgCvAIiDEkEQCACIAU2AgAgAiAEKAKgATYCBCACIAQoAKMBNgAHIAIgCToACyAEIAJBDGo2ArgCDBELIAIgBCgCtAIiCGtBDG0iEEEBaiIDQdaq1aoBTwRAQdSJC0EANgIAQegbEAlB1IkLKAIAITJB1IkLQQA2AgAgMkEBRw0iDBMLQQAhC0HVqtWqASAMIAhrQQxtIgxBAXQiCiADIAMgCkkbIAxBqtWq1QBPGyIMBEAgDEHWqtWqAU8EQEHUiQtBADYCAEEDEAlB1IkLKAIAITNB1IkLQQA2AgAgM0EBRw0jDBQLQdSJC0EANgIAQQQgDEEMbBAGIQtB1IkLKAIAITRB1IkLQQA2AgAgNEEBRg0TCyALIBBBDGxqIgMgBTYCACADIAQoAqABNgIEIAMgBCgAowE2AAcgAyAJOgALIARBADYAowEgBEEANgKgASALIAxBDGxqIQUgA0EMaiEJIAIgCEYNDgNAIANBDGsiAyACQQxrIgIpAgA3AgAgAyACKAIINgIIIAJCADcCACACQQA2AgggAiAIRw0ACyAEIAU2ArwCIAQoArgCIQUgBCAJNgK4AiAEKAK0AiECIAQgAzYCtAIgAiAFRg0PA0AgBUEMayEDIAVBAWssAABBAEgEQCADKAIAEFoLIAMiBSACRw0ACwwPCxAAIQMMAwsQACEDDAELEAAhAyAELADjA0EATg0AIAQoAtgDEFoLIAQsAKsBQQBODQAgBCgCoAEQWgsgBCwAzwJBAEgEQCAEKALEAhBaCyAELADbAkEATg0bIAQoAtACEFogAxAHAAsQACEDDBgLEAAhAwwWCxAAIQMMFAsQACEDDBALEAAhAwwPCxAAIQMgBCgC2AMiAEUNDiAAEFoMDgsQACEDDAwLEAAhAwwJCxAAIQMMBQsgBCAFNgK8AiAEIAk2ArgCIAQgAzYCtAILIAJFDQAgAhBaCyAELADjA0EASARAIAQoAtgDEFoLIAcsAAtBAEgEQCAHKAIAEFoLIAYsAAtBAEgEQCAGKAIAEFoLIAQoArADIgJFDQAgAhCkAhBaCyAEQQk2AtwDIARByv8BNgLYA0HUiQtBADYCACAEIAQpAtgDNwNYQQYgBEG4AWogBEHYAGoQA0HUiQsoAgAhAkHUiQtBADYCAAJAAkACQCACQQFHBEAgBEHU7wk2AtgDIAQgATYC3AMgBCAEQdgDaiIFNgLoAyABKAIcIQIgASgCGCEDQdSJC0EANgIAQdgbIARBwAFqIAQpA7gBIAUgAiADa0ECdRDzAkHUiQsoAgAhAkHUiQtBADYCAAJAIAJBAUcEQAJAAkAgBSAEKALoAyICRgRAQQQhAyAFIQIMAQtBBSEDIAJFDQELIAIgAigCACADQQJ0aigCABEBAAsgACgCFCEFQdSJC0EANgIAIAQpA8ABIZMBQQwgAUGoAWoiEkEIQQQQBCEDQdSJCygCACE1QdSJC0EANgIAIDVBAUcNAQwFCxAAIQMCQCAEKALoAyICIARB2ANqIgBGBEBBBCEFIAAhAgwBC0EFIQUgAkUNDQsgAiACKAIAIAVBAnRqKAIAEQEADAwLIANCKTcCACAEQQE2AuQDQdSJC0EANgIAIARCgYCAgNABNwLcAyAEQQA6ANgDQQdB2J0LIARB2ANqIgIQAiEHQdSJCygCACE2QdSJC0EANgIAIDZBAUYEQBAAIQMgAhB3DAwLIAMgBzYCBEHUiQtBADYCAEEEQSgQBiECQdSJCygCACE3QdSJC0EANgIAIDdBAUYNAyACQgA3AiAgAkIANwIYIAJCADcCCCACIJMBNwIAIAJCADcCECACQQE6ACQgAiADNgIgIAIgBTYCHEHUiQtBADYCACAEIAI2AqABQTIgASAEQaABahACGkHUiQsoAgAhOEHUiQtBADYCACA4QQFHBEAgBCgCoAEiAgRAIAIQWgsgBEIANwOoASAEQgA3A6ABIARBgICA/AM2ArABIAEoAgAiEyABKAIEIhZGDQICQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAA0ACQAJAIBMoAgAiAygCEA0AIAMoAgQiAkHw////B08EQEHUiQtBADYCAEHYABAJQdSJCygCACE5QdSJC0EANgIAIDlBAUcNJhAAIQMMFQsgAygCACEFAkACQCACQQtPBEBB1IkLQQA2AgBBBCACQQ9yQQFqIgcQBiEDQdSJCygCACE6QdSJC0EANgIAIDpBAUYNCiAEIAM2ApQBIAQgAjYCmAEgBCAHQYCAgIB4cjYCnAEMAQsgBCACOgCfASAEQZQBaiEDIAJFDQELIAMgBSAC/AoAAAsgAiADakEAOgAAIARBADYCjAEgBEIANwKEAUHUiQtBADYCAEHZGyAEQYQBaiAEKAKAAiICIAQoAoQCIgMgAyACa0EMbRAFQdSJCygCACE7QdSJC0EANgIAIDtBAUYNBSAEIAQtAIwCOgCQAQJAIAQoAoQBIgIgBCgCiAEiA0YEQEEBIQUMAQsDQEHUiQtBADYCAEHUHCACIARBlAFqEAIhBUHUiQsoAgAhPEHUiQtBADYCACA8QQFGDQYgBSACQQxqIgIgA0ZyQQFHDQALIAQoAoQBIQILIAIEQCACIQMgAiAEKAKIASIHRwRAA0AgB0EMayEDIAdBAWssAABBAEgEQCADKAIAEFoLIAMiByACRw0ACyAEKAKEASEDCyAEIAI2AogBIAMQWgsgBCwAnwFBAEgEQCAEKAKUARBaCyAFRQ0AIAEoAtgBIQIgASgC1AEhAyATKAIAKQIIIZMBQdSJC0EANgIAQagBIAMgAiCTARDxASEVQdSJCygCACE9QdSJC0EANgIAID1BAUYNAwJAAkACQCAEKAKkASIFRQ0AIBUoAgAhAwJAIAVpQQFLIgdFBEAgBUEBayADcSEGDAELIAMiBiAFSQ0AIAMgBXAhBgsgBCgCoAEgBkECdGooAgAiAkUNACACKAIAIgJFDQAgB0UEQCAFQQFrIQUDQAJAIAMgAigCBCIHRwRAIAUgB3EgBkYNAQwECyACKAIIIANGDQQLIAIoAgAiAg0ACwwBCwNAAkAgAyACKAIEIgdHBEAgBSAHTQR/IAcgBXAFIAcLIAZGDQEMAwsgAigCCCADRg0DCyACKAIAIgINAAsLIAQpA8ABIZMBIARBBzoAhwMgBEEAOgCDAyAEQYi8BigAADYC/AIgBEGLvAYoAAA2AP8CIBUoAgQiAkHw////B08EQEHUiQtBADYCAEHYABAJQdSJCygCACE+QdSJC0EANgIAID5BAUcNKBAAIQMMEwsgFSgCACEFAkACQCACQQtPBEBB1IkLQQA2AgBBBCACQQ9yQQFqIgcQBiEDQdSJCygCACE/QdSJC0EANgIAID9BAUYNFCAEIAM2AqADIAQgAjYCpAMgBCAHQYCAgIB4cjYCqAMMAQsgBCACOgCrAyAEQaADaiEDIAJFDQELIAMgBSAC/AoAAAsgAiADakEAOgAAQdSJC0EANgIAQYwCIARB/AJqIAQoAqADIARBoANqIAQtAKsDIgLAQQBIIgMbIAQoAqQDIAIgAxsQBCEHQdSJCygCACFAQdSJC0EANgIAIEBBAUYNDyAEIAcoAgg2ArgDIAQgBykCADcDsAMgB0IANwIAIAdBADYCCCAEIAQoArQDIAQsALsDIgJB/wFxIAJBAEgiAhs2AtwDIAQgBCgCsAMgBEGwA2ogAhs2AtgDQdSJC0EANgIAIAQgBCkC2AM3A1BBBiAEQegCaiAEQdAAahADQdSJCygCACFBQdSJC0EANgIAIEFBAUYNDSAEQYzvCTYC2AMgBCAEQdgDaiICNgLoAyAEIAE2AtwDIAEoAhAhAyABKAIMIQVB1IkLQQA2AgBB2BsgBEGQA2ogBCkD6AIgAiADIAVrQQJ1EPMCQdSJCygCACEDQdSJC0EANgIAAkAgA0EBRwRAAkACQCACIAQoAugDIgNGBEBBBCEFIAIhAwwBC0EFIQUgA0UNAQsgAyADKAIAIAVBAnRqKAIAEQEACyAELAC7A0EASARAIAQoArADEFoLIAQsAKsDQQBIBEAgBCgCoAMQWgsgBCwAhwNBAEgEQCAHKAIAEFoLQdSJC0EANgIAQQwgEkEkQQQQBCEMQdSJCygCACFCQdSJC0EANgIAIEJBAUYNBSAMQgA3AgQgDEEGNgIAIAxBADoAICAMQgA3AhggDEIANwIMIAwgEjYCFCAMIBUpAgA3AhggFSgCHCICQRBPBEAgAigCEEUNAgtB1IkLQQA2AgBBDUHhlQZBuLMCQdsJQY/iAxAFQdSJCygCACFDQdSJC0EANgIAIENBAUcNKRAAIQMMGAsQACEDAkAgBCgC6AMiAiAEQdgDaiIARgRAQQQhBSAAIQIMAQtBBSEFIAJFDRALIAIgAigCACAFQQJ0aigCABEBAAwPCyAMIAI1Ahg+AgRB1IkLQQA2AgAgBEEANgK4AyAEQgA3ArADQQRBBBAGIQlB1IkLKAIAIURB1IkLQQA2AgAgREEBRg0MIAkgACgCFDYCACAEQfCCAjYC2ANB1IkLQQA2AgAgBEEENgLcAyAEIAQpAtgDNwNIQQYgBEHIA2ogBEHIAGoQA0HUiQsoAgAhRUHUiQtBADYCACBFQQFGDQogBEGo6Qc2AtgDIAQgBEHYA2o2AugDIAQgFTYC3AMCfwJAAkACQAJAIBUoAhwiAkEQTwRAIAIoAhBFDQELQdSJC0EANgIAQQ1B4ZUGQbizAkHbCUGP4gMQBUHUiQsoAgAhRkHUiQtBADYCACBGQQFHDSwMAQsCfwJAIAIoAhQiAkEHSQ0AIAIoAgQNACACKAIMIAIoAghrQQJ1DAELIAJBAEcLIQIgBCkDyAMhlAEgFSgCKCEFIBUoAiQhB0HUiQtBADYCAEHYGyAEQaADaiCUASAEQdgDaiIDIAUgB2tBAnUgAmoQ8wJB1IkLKAIAIUdB1IkLQQA2AgAgR0EBRwRAAkACQCADIAQoAugDIgJGBEBBBCEFIAMhAgwBC0EFIQUgAkUNAQsgAiACKAIAIAVBAnRqKAIAEQEAC0HUiQtBADYCAEEEQQwQBiECQdSJCygCACFIQdSJC0EANgIAIEhBAUYNDyAEKQOgAyGUASACIAAoAhQ2AgggAiCUATcCACAEIAJBDGoiAzYCuAMgBCADNgK0AyAEIAI2ArADIBUoAhwiAkEQSQ0CIAIoAhANAiAEIAIoAhQiAjYCoAMgAkEHSQ0DIAIoAgQNAyACKAIMIAIoAghrQQJ1DAQLCxAAIQMCQCAEKALoAyICIARB2ANqIgBGBEBBBCEFIAAhAgwBC0EFIQUgAkUNDwsgAiACKAIAIAVBAnRqKAIAEQEADA4LQdSJC0EANgIAQQ1B4ZUGQbizAkHbCUGP4gMQBUHUiQsoAgAhSUHUiQtBADYCACBJQQFHDSkQACEDDA0LIAJBAEcLIQogCUEEaiEHAkACQAJAAkACQAJAAkAgCgRAQQAhDyAHIQYDQAJAAkAgBCgCoAMiAkEHSQ0AIAIoAgQNACACKAIIIA9BAnRqIggoAgAhAgwBCyACBEAgBEGgA2ohCCAPRQ0BC0HUiQtBADYCAEENQd3DBkG4swJB2AhBoNYFEAVB1IkLKAIAIUpB1IkLQQA2AgAgSkEBRw0xEAAhAwwVC0HUiQtBADYCAEEMIBJBDEEEEAQhC0HUiQsoAgAhS0HUiQtBADYCACBLQQFGDQIgC0EINgIAIAsgAjYCBCALIAcgCWsiDUECdSIUNgIIIAwoAgghAwJAIAwoAgwiBSAMKAIQRwRAIAMhAgwBCyAMIAVBAXRBAmoiAjYCECAMKAIUIQVB1IkLQQA2AgBBDCAFIAJBAnRBBBAEIQJB1IkLKAIAIUxB1IkLQQA2AgAgTEEBRg0DIAwgAjYCCCAMKAIMIgVFBEBBACEFDAELQQAhDkEAIQIgBUEETwRAIAVBfHEhFwNAIAJBAnQiECAMKAIIaiADIBBqKAIANgIAIBBBBHIiESAMKAIIaiADIBFqKAIANgIAIBBBCHIiESAMKAIIaiADIBFqKAIANgIAIBBBDHIiECAMKAIIaiADIBBqKAIANgIAIAJBBGoiAiAXRw0ACwsgBUEDcSIQBEADQCACQQJ0IhcgDCgCCGogAyAXaigCADYCACACQQFqIQIgDkEBaiIOIBBHDQALCyAMKAIIIQILIAIgBUECdGogCzYCACAMIAVBAWo2AgwCQCAGIAdHBEAgByAIKAIANgIADAELAkACQAJAIBRBAWoiAkGAgICABE8EQEHUiQtBADYCAEETEAkMAQtB/////wMgDUEBdSIDIAIgAiADSRsgDUH8////B08bIgZFBEBBACEFDAMLIAZBgICAgARJDQFB1IkLQQA2AgBBAxAJC0HUiQsoAgAhTUHUiQtBADYCACBNQQFHDTMQACEDDBcLQdSJC0EANgIAQQQgBkECdBAGIQVB1IkLKAIAIU5B1IkLQQA2AgAgTkEBRg0ECyAFIBRBAnRqIgMgCCgCADYCACADIQIgByAJRwRAA0AgAkEEayICIAdBBGsiBygCADYCACAHIAlHDQALCyAGQQJ0IAVqIQYgCQRAIAkQWgsgAiEJIAMhBwsgFSgCPCECIBUoAjghA0HUiQtBADYCAEGi0wAgBEHYA2ogAyACIA8QBUHUiQsoAgAhT0HUiQtBADYCACBPQQFGDQMCQCAEKAK0AyICIAQoArgDIgtJBEAgBCkD2AMhlAEgAiAIKAIANgIIIAIglAE3AgAgBCACQQxqNgK0AwwBCwJAAkAgAiAEKAKwAyIDayIQQQxtIg1BAWoiBUHWqtWqAU8EQEHUiQtBADYCAEHyERAJDAELQdWq1aoBIAsgA2tBDG0iC0EBdCIUIAUgBSAUSRsgC0Gq1arVAE8bIgVB1qrVqgFJDQFB1IkLQQA2AgBBAxAJC0HUiQsoAgAhUEHUiQtBADYCACBQQQFHDTIQACEDDBYLQdSJC0EANgIAQQQgBUEMbCIUEAYhC0HUiQsoAgAhUUHUiQtBADYCACBRQQFGDQQgCCgCACEIIAsgEGoiBSAEKQPYAzcCACALIA1BDGxqIAg2AgggBUEMaiEIIAIgA0cEQANAIAVBDGsiBSACQQxrIgIpAgA3AgAgBSACKAIINgIIIAIgA0cNAAsLIAQgCyAUajYCuAMgBCAINgK0AyAEIAU2ArADIANFDQAgAxBaCyAHQQRqIQcgD0EBaiIPIApHDQALC0HUiQtBADYCAEEMIBJBIEEEEAQhCEHUiQsoAgAhUkHUiQtBADYCACBSQQFGDQQgCEIANwIEIAhBATYCACAIQgA3AgwgCEIANwIUIAggEjYCHCAAKAIUIQNB1IkLQQA2AgBBDCASQQxBBBAEIQJB1IkLKAIAIVNB1IkLQQA2AgAgU0EBRg0EIAJBADYCCCACQQg2AgAgAiADNgIEQdSJC0EANgIAQQwgEkEUQQQQBCEDQdSJCygCACFUQdSJC0EANgIAIFRBAUYNBCADIAI2AhAgAyCTATcCCCADQgs3AgAgAigCBEEBRgRAIANBATYCBAsgCCgCECECIAgoAhQiDyAIKAIYRg0CIAIhBQwDCxAAIQMMEQsQACEDDBALIAggD0EBdEECaiIFNgIYIAgoAhwhBkHUiQtBADYCAEEMIAYgBUECdEEEEAQhBUHUiQsoAgAhVUHUiQtBADYCACBVQQFGDQEgCCAFNgIQIAgoAhQiD0UEQEEAIQ8MAQtBACELQQAhBSAPQQRPBEAgD0F8cSEQA0AgBUECdCIGIAgoAhBqIAIgBmooAgA2AgAgBkEEciIKIAgoAhBqIAIgCmooAgA2AgAgBkEIciIKIAgoAhBqIAIgCmooAgA2AgAgBkEMciIGIAgoAhBqIAIgBmooAgA2AgAgBUEEaiIFIBBHDQALCyAPQQNxIgYEQANAIAVBAnQiECAIKAIQaiACIBBqKAIANgIAIAVBAWohBSALQQFqIgsgBkcNAAsLIAgoAhAhBQsgBSAPQQJ0aiADNgIAIAggD0EBaiIKNgIUIAgoAhAhAgJAIAgoAhggCkcEQCACIQUMAQsgCCAKQQF0QQJqIgM2AhggCCgCHCEFQdSJC0EANgIAQQwgBSADQQJ0QQQQBCEFQdSJCygCACFWQdSJC0EANgIAIFZBAUYNASAIIAU2AhAgCCgCFCIKRQRAQQAhCgwBC0EAIQtBACEFIApBBE8EQCAKQXxxIQYDQCAFQQJ0IgMgCCgCEGogAiADaigCADYCACADQQRyIhAgCCgCEGogAiAQaigCADYCACADQQhyIhAgCCgCEGogAiAQaigCADYCACADQQxyIgMgCCgCEGogAiADaigCADYCACAFQQRqIgUgBkcNAAsLIApBA3EiAwRAA0AgBUECdCIGIAgoAhBqIAIgBmooAgA2AgAgBUEBaiEFIAtBAWoiCyADRw0ACwsgCCgCECEFCyAFIApBAnRqIAw2AgAgCCAKQQFqNgIUAkAgFSgCHCICQRBPBEAgAigCEEUNAQtB1IkLQQA2AgBBDUHhlQZBuLMCQdsJQY/iAxAFQdSJCygCACFXQdSJC0EANgIAIFdBAUcNKxAAIQMMDwsgAigCGCIDRQRAIARBAjYC6AMgBEEANgLYA0HUiQtBADYCAEEMIBJBIEEIEAQhC0HUiQsoAgAhAkHUiQtBADYCAAJAAkACQCACQQFGDQAgC0IANwIEIAtBDjYCACALQgA3AgwgC0IANwIUIAtBCGoiAiAEQdgDaiIDRwRAIAIQWSECQdSJC0EANgIAQcAAIAIgAxACGkHUiQsoAgAhWEHUiQtBADYCACBYQQFGDQELIAsgBCgC6AM2AgQgBEHYA2oQWRogCCgCECECIAgoAhQiBSAIKAIYRg0BIAIhBgwCCxAAIQMgBEHYA2oQWRoMEQsgCCAFQQF0QQJqIgM2AhggCCgCHCEFQdSJC0EANgIAQQwgBSADQQJ0QQQQBCEGQdSJCygCACFZQdSJC0EANgIAIFlBAUYNAyAIIAY2AhAgCCgCFCIFRQRAQQAhBQwBC0EAIQ5BACEDIAVBBE8EQCAFQXxxIQwDQCADQQJ0IgYgCCgCEGogAiAGaigCADYCACAGQQRyIhAgCCgCEGogAiAQaigCADYCACAGQQhyIhAgCCgCEGogAiAQaigCADYCACAGQQxyIgYgCCgCEGogAiAGaigCADYCACADQQRqIgMgDEcNAAsLIAVBA3EiBgRAA0AgA0ECdCIMIAgoAhBqIAIgDGooAgA2AgAgA0EBaiEDIA5BAWoiDiAGRw0ACwsgCCgCECEGCyAGIAVBAnRqIAs2AgAgCCAFQQFqNgIUQQIhAwtB1IkLQQA2AgBBgwMgCCAYQYB+cSIYQQBBABAFQdSJCygCACFaQdSJC0EANgIAIFpBAUYNAUHUiQtBADYCACAEKQOQAyGTAUHhACAEQfQCaiAJIAcQBCECQdSJCygCACFbQdSJC0EANgIAIFtBAUcEQCACKAIAIQIgBCADNgKkAyAEIAI2AqADQdSJC0EANgIAIAQgBCkCoAM3A0BBKSAEQfgCaiAEQUBrEAIhAkHUiQsoAgAhXEHUiQtBADYCACBcQQFHDQMLEAAhAwwOCxAAIQMMDQsQACEDDAwLIARBADYC4AMgBEIANwLYAyACKAIAIQJB1IkLQQA2AgAgkwEgBEGwA2ogAiAEQdgDaiAIEIkMIQJB1IkLKAIAIQNB1IkLQQA2AgACQAJAIANBAUcEQCAEIAI2AsADQdSJC0EANgIAQS0gASAEQcADahACIV5B1IkLKAIAIV1B1IkLQQA2AgAgXUEBRg0BIF4pAgAhkwEgBCgCwAMiAgRAIAIQpAIQWgsgBCgCsAMiAgRAIAIQWgsgCQRAIAkQWgsgFSgCACECQdSJC0EANgIAQb07IARB2ANqIARBoAFqIAIgFRAFQdSJCygCACFfQdSJC0EANgIAIF9BAUYNAiAEKALYAyCTATcCEAwECxAAIQMMDQsQACEDIARBwANqEMcCDAwLEAAhAwwWCyACKQIQIZMBCyATKAIAIJMBNwIICyATQQRqIhMgFkcNAQwSCwsQACEDDBELEAAhAwwQCxAAIQMgBEGEAWoQqwMMAQsQACEDCyAELACfAUEATg0NIAQoApQBEFoMDQsQACEDDAwLEAAhAwsgBCgCsAMiAARAIAAQWgsgCUUNCiAJEFoMCgsQACEDDAkLEAAhAwsgBCwAuwNBAE4NASAEKAKwAxBaDAELEAAhAwsgBCwAqwNBAE4NASAEKAKgAxBaDAELEAAhAwsgBCwAhwNBAE4NAyAEKAL8AhBaDAMLEAAhAyAEKAKgASIARQ0LIAAQWgwLCxAAIQMMCgsgASgCMCILIAEoAjQiDEcEQANAAkAgCygCACIHKAIYIgJBB0kNACACKAIEQQFHDQACQCACKAIIIgJBD00EQCACQQFGDQEMAgsgAigCEA0BC0EAIQUgBygCHCICIAcoAiBGDQADQAJAIAIgBUECdCIQaigCACICKAIAQStHDQAgBCgCpAEiBkUNACACKAIIIQMCQCAGaUEBSyIIRQRAIAZBAWsgA3EhCQwBCyADIgkgBkkNACADIAZwIQkLIAQoAqABIAlBAnRqKAIAIgJFDQAgAigCACICRQ0AAkAgCEUEQCAGQQFrIQYDQAJAIAMgAigCBCIIRwRAIAYgCHEgCUYNAQwFCyACKAIIIANGDQMLIAIoAgAiAg0ACwwCCwNAAkAgAyACKAIEIghHBEAgBiAITQR/IAggBnAFIAgLIAlGDQEMBAsgAigCCCADRg0CCyACKAIAIgINAAsMAQsgASgC2AEhAyABKALUASEHIAIpAhAhkwFB1IkLQQA2AgBBqAEgByADIJMBEPEBIQJB1IkLKAIAIQNB1IkLQQA2AgACQAJAIANBAUYNACACKAIcIQNB1IkLQQA2AgBBDCASQRBBBBAEIQJB1IkLKAIAIWBB1IkLQQA2AgAgYEEBRg0AIAIgkwE3AgggAkIrNwIAAkAgA0EQSQ0AIAMtAABFDQBB1IkLQQA2AgBBDUH+0AZBuLMCQegFQbiMBBAFQdSJCygCACFhQdSJC0EANgIAIGFBAUcNGRAAIQMMCAsgBEEANgLkAyAEIAM2AuADIARBADoA2ANB1IkLQQA2AgAgBEEBNgLcA0EHQdidCyAEQdgDaiIHEAIhA0HUiQsoAgAhYkHUiQtBADYCACBiQQFHDQEQACEDIAcQdwwHCxAAIQMMBgsgAiADNgIEIAsoAgAoAhwgEGogAjYCACALKAIAIQcLIAVBAWoiBSAHKAIgIAcoAhwiAmtBAnVJDQALCyALQQRqIgsgDEcNAAsLAkACQCABKAIMIgUgASgCECIJRg0AQQAhB0EAIQhBACECAkADQAJAIAUoAgAhAwJAIAIgB0kEQCACIAM2AgAgAiEMDAELAkACQAJAIAIgCGtBAnUiC0EBaiIGQYCAgIAETwRAQdSJC0EANgIAQaACEAkMAQtB/////wMgByAIayIHQQF1IgwgBiAGIAxJGyAHQfz///8HTxsiB0UEQEEAIQYMAwsgB0GAgICABEkNAUHUiQtBADYCAEEDEAkLQdSJCygCACFjQdSJC0EANgIAIGNBAUcNGRAAIQMMBwtB1IkLQQA2AgBBBCAHQQJ0EAYhBkHUiQsoAgAhZEHUiQtBADYCACBkQQFGDQILIAYgC0ECdGoiDCADNgIAIAwhAyACIAhHBEADQCADQQRrIgMgAkEEayICKAIANgIAIAIgCEcNAAsLIAdBAnQgBmohByAIBEAgCBBaCyADIQgLIAxBBGohAiAJIAVBBGoiBUcNAQwCCwsQACEDDAILIAIgCEcEQCAIIQIDQAJAIAIiECgCACIUKAIMRQ0AIBQpAgwikwFCIIgilAGnIgNB8P///wdPBEBB1IkLQQA2AgBB2AAQCUHUiQsoAgAhZUHUiQtBADYCACBlQQFHDRcQACEDDAULIBQoAhghAiAUKAIUIQcCQAJAAkACQAJ/AkACQAJAAkACQCADQQtPBEBB1IkLQQA2AgBBBCADQQ9yQQFqIgYQBiEFQdSJCygCACFmQdSJC0EANgIAIGZBAUYNAyAEIAU2AtgDIAQgAzYC3AMgBCAGQYCAgIB4cjYC4AMMAQsgBCCUATwA4wMgBEHYA2ohBSADRQ0BCyAFIJMBpyAD/AoAAAsgAyAFakEAOgAAQdSJC0EANgIAQdEBIARB2ANqQS4QA0HUiQsoAgAhA0HUiQtBADYCAAJAAkACQAJAAkACQAJAAkACQCADQQFHBEAgBCAEKALgAzYC8AIgBEEANgLgAyAEIAQpA9gDNwPoAiAEQgA3A9gDIAJB8P///wdPBEBB1IkLQQA2AgBB2AAQCUHUiQsoAgAhZ0HUiQtBADYCACBnQQFHDSkQACEDDAQLAkACQCACQQtPBEBB1IkLQQA2AgBBBCACQQ9yQQFqIgUQBiEDQdSJCygCACFoQdSJC0EANgIAIGhBAUYNBCAEIAM2ArADIAQgAjYCtAMgBCAFQYCAgIB4cjYCuAMMAQsgBCACOgC7AyAEQbADaiEDIAJFDQELIAMgByAC/AoAAAsgAiADakEAOgAAQdSJC0EANgIAQYwCIARB6AJqIAQoArADIARBsANqIAQtALsDIgLAQQBIIgMbIAQoArQDIAIgAxsQBCECQdSJCygCACFpQdSJC0EANgIAIGlBAUYNAiAEIAIoAgg2AoABIAQgAikCADcDeCACQgA3AgAgAkEANgIIAkAgBCwAuwNBAE4NACAEKAKwAxBaIAQsAPMCQQBODQAgAigCABBaCyAELADjA0EASARAIAQoAtgDEFoLIARBADYCcCAEQgA3AmhB1IkLQQA2AgBB2RsgBEHoAGogBCgCtAIiAiAEKAK4AiIDIAMgAmtBDG0QBUHUiQsoAgAhakHUiQtBADYCACBqQQFGDQggBCAELQDAAjoAdCAEKAJoIgIgBCgCbCIDRw0FQQEhBQwGCxAAIQMMAwsQACEDDAELEAAhAyAELAC7A0EATg0AIAQoArADEFoLIAQsAPMCQQBODQAgBCgC6AIQWgsgBCwA4wNBAE4NESAEKALYAxBaDBELA0BB1IkLQQA2AgBB1BwgAiAEQfgAahACIQVB1IkLKAIAIWtB1IkLQQA2AgAga0EBRg0CIAUgAkEMaiICIANGckEBRw0ACyAEKAJoIQILIAIEQCACIQMgAiAEKAJsIgdHBEADQCAHQQxrIQMgB0EBaywAAEEASARAIAMoAgAQWgsgAyIHIAJHDQALIAQoAmghAwsgBCACNgJsIAMQWgsgBCwAgwFBAEgEQCAEKAJ4EFoLIAVFDQtB1IkLQQA2AgAgBCkDwAEhkwFBBEHEARAGIQJB1IkLKAIAIWxB1IkLQQA2AgAgbEEBRg0DIAJBCGpBAEG8AfwLACACQgA3AgwgAkEAOgAIIAJCADcCACACQgA3AhRB1IkLQQA2AgAgBEIANwLYAyAEQgA3AzhBKSACQRxqIARBOGoQAhpB1IkLKAIAIW1B1IkLQQA2AgAgbUEBRgRAEAAhAyACEFoMEAsgAkIANwIgIAJCADcCTCACQgA3AmAgAkIANwKMASACQUBrQgA3AgAgAkIANwI4IAJCADcCMCACQgA3AiggAkGAgID8AzYCSCACQgA3AlQgAkGAgID8AzYCXCACQgA3AmggAkH4AGoiA0IANwIAIAJBgICA/AM2AnAgAkGEAWoiBUIANwIAIAIgAzYCdCACIAU2AoABIAJCADcClAEgAkIANwKgASACQYCAgPwDNgKcASACQgA3AqgBIAJBgICA/AM2ArABIAJCADcCtAEgAkIANwG6ASAEIAI2AtQDIARBBzoAqwMgBEEAOgCnAyAEQcK8BigAADYCoAMgBEHFvAYoAAA2AKMDAkACQAJAAkACQCAUKAIEIgJB8P///wdPBEBB1IkLQQA2AgBB2AAQCUHUiQsoAgAhbkHUiQtBADYCACBuQQFHDScQACEDDAELIBQoAgAhBQJAAkACQAJAAkACQAJAIAJBC08EQEHUiQtBADYCAEEEIAJBD3JBAWoiBxAGIQNB1IkLKAIAIW9B1IkLQQA2AgAgb0EBRg0DIAQgAzYCkAMgBCACNgKUAyAEIAdBgICAgHhyNgKYAwwBCyAEIAI6AJsDIARBkANqIQMgAkUNAQsgAyAFIAL8CgAACyACIANqQQA6AABB1IkLQQA2AgBBjAIgBEGgA2ogBCgCkAMgBEGQA2ogBC0AmwMiAsBBAEgiAxsgBCgClAMgAiADGxAEIQdB1IkLKAIAIXBB1IkLQQA2AgAgcEEBRg0BIAQgBygCCDYCuAMgBCAHKQIANwOwAyAHQgA3AgAgB0EANgIIIAQgBCgCtAMgBCwAuwMiAkH/AXEgAkEASCICGzYC3AMgBCAEKAKwAyAEQbADaiACGzYC2ANB1IkLQQA2AgAgBCAEKQLYAzcDMEEGIARBwANqIARBMGoQA0HUiQsoAgAhcUHUiQtBADYCACBxQQFGDQIgBEGM7wk2AtgDIAQgBEHYA2oiAjYC6AMgBCABNgLcAyABKAIQIQMgASgCDCEFQdSJC0EANgIAQdgbIARByANqIAQpA8ADIAIgAyAFa0ECdRDzAkHUiQsoAgAhA0HUiQtBADYCAAJAIANBAUcEQAJAAkAgAiAEKALoAyIDRgRAQQQhBSACIQMMAQtBBSEFIANFDQELIAMgAygCACAFQQJ0aigCABEBAAsgBCgC1AMiAyAEKQPIAzcCACAELAC7A0EASARAIAQoArADEFoLIAQsAJsDQQBIBEAgBCgCkAMQWgsgBCwAqwNBAEgEQCAHKAIAEFoLIAMgFCkCDDcCDCADIBQpAhQ3AhRB1IkLQQA2AgBBBEHEARAGIQJB1IkLKAIAIXJB1IkLQQA2AgAgckEBRg0IIAJBCGpBAEG8AfwLACACQgA3AgwgAkEAOgAIIAJCADcCACACQgA3AhRB1IkLQQA2AgAgBEIANwLYAyAEQgA3AyhBKSACQRxqIARBKGoQAiEFQdSJCygCACFzQdSJC0EANgIAIHNBAUcNARAAIQMgAhBaDBYLEAAhAwJAIAQoAugDIgIgBEHYA2oiAEYEQEEEIQUgACECDAELQQUhBSACRQ0FCyACIAIoAgAgBUECdGooAgARAQAMBAsgAkIANwIgIAJCADcCTCACQgA3AmAgAkIANwKMASACQUBrQgA3AgAgAkIANwI4IAJCADcCMCACQgA3AiggAkGAgID8AzYCSCACQgA3AlQgAkGAgID8AzYCXCACQgA3AmggAkH4AGoiB0IANwIAIAJBgICA/AM2AnAgAkGEAWoiBkIANwIAIAIgBzYCdCACIAY2AoABIAJCADcClAEgAkIANwKgASACQYCAgPwDNgKcASACQgA3AqgBIAJBgICA/AM2ArABIAJCADcCtAEgAkIANwG6ASAEIAI2ApADIBQpAgAhlAFB1IkLQQA2AgAgBCCUATcDICAEIJQBNwPYA0EGIARBsANqIARBIGoQA0HUiQsoAgAhdEHUiQtBADYCACB0QQFGDQcgAiAEKQOwAzcCACAFIBQoAhw2AgBB1IkLQQA2AgBBDCASQSRBBBAEIQ1B1IkLKAIAIXVB1IkLQQA2AgAgdUEBRg0IIA1CADcCBCANQQY2AgAgDUEAOgAgIA1CADcCGCANQgA3AgwgDSASNgIUIA0gAykCADcCGEHUiQtBADYCAEEEQQQQBiELQdSJCygCACECQdSJC0EANgIAQQAgAkEBRg0QGiALIAAoAhQiAjYCAEHUiQtBADYCAEEMIBJBEEEEEAQhBUHUiQsoAgAhdkHUiQtBADYCACB2QQFGDQ8gBSCTATcCCCAFQQo2AgAgBSACNgIEIA0oAgghAgJAIA0oAgwiCiANKAIQRwRAIAIhAwwBCyANIApBAXRBAmoiAzYCECANKAIUIQdB1IkLQQA2AgBBDCAHIANBAnRBBBAEIQNB1IkLKAIAIXdB1IkLQQA2AgAgd0EBRg0QIA0gAzYCCCANKAIMIgpFBEBBACEKDAELQQAhBkEAIQMgCkEETwRAIApBfHEhCQNAIANBAnQiByANKAIIaiACIAdqKAIANgIAIAdBBHIiDyANKAIIaiACIA9qKAIANgIAIAdBCHIiDyANKAIIaiACIA9qKAIANgIAIAdBDHIiByANKAIIaiACIAdqKAIANgIAIANBBGoiAyAJRw0ACwsgCkEDcSIHBEADQCADQQJ0IgkgDSgCCGogAiAJaigCADYCACADQQFqIQMgBkEBaiIGIAdHDQALCyANKAIIIQMLIAMgCkECdGogBTYCACANIApBAWo2AgwCQCAUKAIcIgJBEE8EQCACKAIQRQ0BC0HUiQtBADYCAEENQeGVBkG4swJB2wlBj+IDEAVB1IkLKAIAIXhB1IkLQQA2AgAgeEEBRw0sEAAhAwwTCyAEIAIoAhQiAjYC2ANBACEPIAtBBGoiByETAn8CQCACQQdJDQAgAigCBA0AIAIoAgwgAigCCGtBAnUMAQsgAkEARwsiFg0JDA4LEAAhAwwECxAAIQMMAgsQACEDCyAELAC7A0EATg0AIAQoArADEFoLIAQsAJsDQQBODQAgBCgCkAMQWgsgBCwAqwNBAE4NDiAEKAKgAxBaDA4LEAAhAwwNCxAAIQMMCwsQACEDDAoLA0ACQAJAIAQoAtgDIgNBB0kNACADKAIEDQAgAygCCCAPQQJ0aiIKKAIAIQMMAQsgAwRAIARB2ANqIQogD0UNAQtB1IkLQQA2AgBBDUHdwwZBuLMCQdgIQaDWBRAFQdSJCygCACF5QdSJC0EANgIAIHlBAUcNIxAAIQMMCQtB1IkLQQA2AgBBDCASQQxBBBAEIQZB1IkLKAIAIQJB1IkLQQA2AgACQCACQQFGDQAgBiAPNgIIIAZBCDYCACAGIAM2AgQgDSgCCCECAkAgDSgCDCIFIA0oAhBHBEAgAiEDDAELIA0gBUEBdEECaiIDNgIQIA0oAhQhBUHUiQtBADYCAEEMIAUgA0ECdEEEEAQhA0HUiQsoAgAhekHUiQtBADYCACB6QQFGDQEgDSADNgIIIA0oAgwiBUUEQEEAIQUMAQtBACEOQQAhAyAFQQRPBEAgBUF8cSEXA0AgA0ECdCIJIA0oAghqIAIgCWooAgA2AgAgCUEEciIRIA0oAghqIAIgEWooAgA2AgAgCUEIciIRIA0oAghqIAIgEWooAgA2AgAgCUEMciIJIA0oAghqIAIgCWooAgA2AgAgA0EEaiIDIBdHDQALCyAFQQNxIgkEQANAIANBAnQiFyANKAIIaiACIBdqKAIANgIAIANBAWohAyAOQQFqIg4gCUcNAAsLIA0oAgghAwsgAyAFQQJ0aiAGNgIAIA0gBUEBajYCDAJAIAcgE0cEQCAHIAooAgA2AgAMAQsCQAJAAkAgByALayICQQJ1IglBAWoiA0GAgICABE8EQEHUiQtBADYCAEETEAkMAQtB/////wMgAkEBdSIFIAMgAyAFSRsgAkH8////B08bIgZFBEBBACEFDAMLIAZBgICAgARJDQFB1IkLQQA2AgBBAxAJC0HUiQsoAgAhe0HUiQtBADYCACB7QQFHDSYQACEDDAwLQdSJC0EANgIAQQQgBkECdBAGIQVB1IkLKAIAIXxB1IkLQQA2AgAgfEEBRg0CCyAFIAlBAnRqIgIgCigCADYCACACIQMgByALRwRAA0AgA0EEayIDIAdBBGsiBygCADYCACAHIAtHDQALCyAGQQJ0IAVqIRMgCwRAIAsQWgsgAyELIAIhBwsgB0EEaiEHIA9BAWoiDyAWRg0GDAELCxAAIQMMBwsQACEDIARB6ABqEKsDDAELEAAhAwsgBCwAgwFBAE4NDCAEKAJ4EFoMDAsQACEDDAsLQdSJC0EANgIAQQwgEkEgQQQQBCEDQdSJCygCACF9QdSJC0EANgIAIH1BAUYEQBAAIQMMAwsgA0IANwIEIANBATYCACADQgA3AgwgA0IANwIUIAMgEjYCHCAAKAIUIQJB1IkLQQA2AgAgBEIANwMYIAQoApADIQ8gBEIANwPYA0H2ECAPIARBGGogAhAEIRZB1IkLKAIAIQJB1IkLQQA2AgACQCACQQFHBEACQCAPKAIcIgJBEE8EQCACKAIQRQ0BC0HUiQtBADYCAEENQeGVBkG4swJB2wlBj+IDEAVB1IkLKAIAIX5B1IkLQQA2AgAgfkEBRw0fEAAhAwwFC0EAIRMgAigCGCICQQJJIhcNAUHUiQtBADYCACAEQgA3A9gDIARCADcDEEH2ECAPIARBEGogAhAEIRNB1IkLKAIAIX9B1IkLQQA2AgAgf0EBRw0BEAAhAwwECxAAIQMMAwsgACgCFCEFQdSJC0EANgIAQQwgEkEQQQQQBCECQdSJCygCACEGQdSJC0EANgIAAkAgBkEBRg0AIAIgkwE3AgggAkEKNgIAIAIgBTYCBEHUiQtBADYCAEEMIBJBEEEEEAQhBkHUiQsoAgAhgAFB1IkLQQA2AgAggAFBAUYNACAGIAI2AgwgBiAWNgIIIAZCCTcCACAGIAIoAgRBAUYiBTYCBCAGIAUgAigCBEEBRnI2AgQgAygCECECAkAgAygCFCIKIAMoAhhHBEAgAiEFDAELIAMgCkEBdEECaiIFNgIYIAMoAhwhCUHUiQtBADYCAEEMIAkgBUECdEEEEAQhBUHUiQsoAgAhgQFB1IkLQQA2AgAggQFBAUYNASADIAU2AhAgAygCFCIKRQRAQQAhCgwBC0EAIQlBACEFIApBBE8EQCAKQXxxIREDQCAFQQJ0Ig4gAygCEGogAiAOaigCADYCACAOQQRyIhggAygCEGogAiAYaigCADYCACAOQQhyIhggAygCEGogAiAYaigCADYCACAOQQxyIg4gAygCEGogAiAOaigCADYCACAFQQRqIgUgEUcNAAsLIApBA3EiDgRAA0AgBUECdCIRIAMoAhBqIAIgEWooAgA2AgAgBUEBaiEFIAlBAWoiCSAORw0ACwsgAygCECEFCyAFIApBAnRqIAY2AgAgAyAKQQFqIgY2AhQCQCAXRQRAQdSJC0EANgIAQQwgEkEQQQQQBCEKQdSJCygCACGCAUHUiQtBADYCACCCAUEBRg0CIAogDTYCDCAKIBM2AgggCkIJNwIAIAogDSgCBEEBRiICNgIEIAogAiANKAIEQQFGcjYCBCADKAIQIQICQCADKAIUIgYgAygCGEcEQCACIQUMAQsgAyAGQQF0QQJqIgU2AhggAygCHCEGQdSJC0EANgIAQQwgBiAFQQJ0QQQQBCEFQdSJCygCACGDAUHUiQtBADYCACCDAUEBRg0DIAMgBTYCECADKAIUIgZFBEBBACEGDAELQQAhCUEAIQUgBkEETwRAIAZBfHEhEQNAIAVBAnQiDiADKAIQaiACIA5qKAIANgIAIA5BBHIiGCADKAIQaiACIBhqKAIANgIAIA5BCHIiGCADKAIQaiACIBhqKAIANgIAIA5BDHIiDiADKAIQaiACIA5qKAIANgIAIAVBBGoiBSARRw0ACwsgBkEDcSIOBEADQCAFQQJ0IhEgAygCEGogAiARaigCADYCACAFQQFqIQUgCUEBaiIJIA5HDQALCyADKAIQIQULIAUgBkECdGogCjYCAAwBCyADKAIQIQICQCADKAIYIAZHBEAgAiEFDAELIAMgBkEBdEECaiIFNgIYIAMoAhwhBkHUiQtBADYCAEEMIAYgBUECdEEEEAQhBUHUiQsoAgAhhAFB1IkLQQA2AgAghAFBAUYNAiADIAU2AhAgAygCFCIGRQRAQQAhBgwBC0EAIQlBACEFIAZBBE8EQCAGQXxxIQ4DQCAFQQJ0IgogAygCEGogAiAKaigCADYCACAKQQRyIhEgAygCEGogAiARaigCADYCACAKQQhyIhEgAygCEGogAiARaigCADYCACAKQQxyIgogAygCEGogAiAKaigCADYCACAFQQRqIgUgDkcNAAsLIAZBA3EiCgRAA0AgBUECdCIOIAMoAhBqIAIgDmooAgA2AgAgBUEBaiEFIAlBAWoiCSAKRw0ACwsgAygCECEFCyAFIAZBAnRqIA02AgALIAMgBkEBajYCFCAAKAIUIQVB1IkLQQA2AgBBDCASQQxBBBAEIQJB1IkLKAIAIYUBQdSJC0EANgIAIIUBQQFGDQAgAiAWNgIIIAJBCDYCACACIAU2AgRB1IkLQQA2AgBBDCASQRRBBBAEIQZB1IkLKAIAIYYBQdSJC0EANgIAIIYBQQFGDQAgBiACNgIQIAYgkwE3AgggBkILNwIAIAIoAgRBAUYEQCAGQQE2AgQLIAMoAhAhAgJAIAMoAhQiCiADKAIYRwRAIAIhBQwBCyADIApBAXRBAmoiBTYCGCADKAIcIQlB1IkLQQA2AgBBDCAJIAVBAnRBBBAEIQVB1IkLKAIAIYcBQdSJC0EANgIAIIcBQQFGDQEgAyAFNgIQIAMoAhQiCkUEQEEAIQoMAQtBACEJQQAhBSAKQQRPBEAgCkF8cSEWA0AgBUECdCIOIAMoAhBqIAIgDmooAgA2AgAgDkEEciIRIAMoAhBqIAIgEWooAgA2AgAgDkEIciIRIAMoAhBqIAIgEWooAgA2AgAgDkEMciIOIAMoAhBqIAIgDmooAgA2AgAgBUEEaiIFIBZHDQALCyAKQQNxIg4EQANAIAVBAnQiFiADKAIQaiACIBZqKAIANgIAIAVBAWohBSAJQQFqIgkgDkcNAAsLIAMoAhAhBQsgBSAKQQJ0aiAGNgIAIAMgCkEBajYCFCAXRQRAAkAgDygCHCICQRBPBEAgAigCEEUNAQtB1IkLQQA2AgBBDUHhlQZBuLMCQdsJQY/iAxAFQdSJCygCACGIAUHUiQtBADYCACCIAUEBRw0fEAAhAwwFCyACKQIUIZMBQdSJC0EANgIAQQwgEkEMQQQQBCEGQdSJCygCACGJAUHUiQtBADYCACCJAUEBRg0BIAYgEzYCCCAGQQg2AgAgBiCTAUIgiD4CBCADKAIQIQICQCADKAIUIgogAygCGEcEQCACIQUMAQsgAyAKQQF0QQJqIgU2AhggAygCHCEJQdSJC0EANgIAQQwgCSAFQQJ0QQQQBCEFQdSJCygCACGKAUHUiQtBADYCACCKAUEBRg0CIAMgBTYCECADKAIUIgpFBEBBACEKDAELQQAhCUEAIQUgCkEETwRAIApBfHEhDgNAIAVBAnQiEyADKAIQaiACIBNqKAIANgIAIBNBBHIiFiADKAIQaiACIBZqKAIANgIAIBNBCHIiFiADKAIQaiACIBZqKAIANgIAIBNBDHIiEyADKAIQaiACIBNqKAIANgIAIAVBBGoiBSAORw0ACwsgCkEDcSITBEADQCAFQQJ0Ig4gAygCEGogAiAOaigCADYCACAFQQFqIQUgCUEBaiIJIBNHDQALCyADKAIQIQULIAUgCkECdGogBjYCACADIApBAWo2AhQLQdSJC0EANgIAQYMDIAMgFUGAfnEiFUEAQQAQBUHUiQsoAgAhiwFB1IkLQQA2AgAgiwFBAUYNAAJAIBQoAhwiAkEQTwRAIAIoAhBFDQELQdSJC0EANgIAQQ1B4ZUGQbizAkHbCUGP4gMQBUHUiQsoAgAhjAFB1IkLQQA2AgAgjAFBAUcNHhAAIQMMBAsgDSACNQIYPgIEIA8gAzYCMEHUiQtBADYCAEHhACAEQYgDaiALIAcQBCECQdSJCygCACEDQdSJC0EANgIAAkACQAJAIANBAUYNACACKAIAIQIgBCANKAIENgLcAyAEIAI2AtgDQdSJC0EANgIAIAQgBCkC2AM3AwhBKSAEQYwDaiAEQQhqEAIhAkHUiQsoAgAhjQFB1IkLQQA2AgAgjQFBAUYNACAEKALUAyACKAIANgIcAkAgGUUNACAUKAIAQaCsCygCAEcNAEHUiQtBADYCAEGgrAspAwAhkwFBBEEUEAYhAkHUiQsoAgAhjgFB1IkLQQA2AgAgjgFBAUYNAiACQQA2AhAgAiCTATcCCCACIJMBNwIAQdSJC0EANgIAIAQgAjYCsANB4BsgASAEQbADahADQdSJCygCACGPAUHUiQtBADYCACCPAUEBRg0DIAQoArADIgJFDQAgAhBaCyABIBQpAgAQ9wRB1IkLQQA2AgBBLSABIARBkANqEAIaQdSJCygCACGQAUHUiQtBADYCACCQAUEBRg0DQdSJC0EANgIAQS0gASAEQdQDahACGkHUiQsoAgAhkQFB1IkLQQA2AgAgkQFBAUYNAyALBEAgCxBaCyAEKAKQAyICBEAgAhCkAhBaCyAEKALUAyICRQ0KIAIQpAIQWgwKCxAAIQMMBQsQACEDDAQLEAAhAyAEKAKwAyIARQ0DIAAQWgwDCxAAIQMMAgsgCwshCxAAIQMLIAtFDQELIAsQWgsgBEGQA2oQxwILIARB1ANqEMcCDAQLIBBBBGohAiAMIBBHDQALIAhFDQELIAgQWgsgBCgCqAEiAgRAA0AgAigCACGSASACEFogkgEiAg0ACwsgBCgCoAEhACAEQQA2AqABIAAEQCAAEFoLIAQoAoACIgAEQCAEKAKEAiIDIAAiAkcEQANAIANBDGshASADQQFrLAAAQQBIBEAgASgCABBaCyABIgMgAEcNAAsgBCgCgAIhAgsgBCAANgKEAiACEFoLIAQsALMCQQBIBEAgBCgCqAIQWgsgBCgCtAIiAARAIAQoArgCIgMgACICRwRAA0AgA0EMayEBIANBAWssAABBAEgEQCABKAIAEFoLIAEiAyAARw0ACyAEKAK0AiECCyAEIAA2ArgCIAIQWgsgBCwA5wJBAEgEQCAEKALcAhBaCyAEQfADaiQADwsgCEUNACAIEFoLIARBoAFqEKIBDAgLEAAhAwwHCxAAIQMgCUEATg0AIAUQWgsgBCwA4wNBAE4NASAEKALYAxBaDAELEAAhAwsgBCwA4wFBAE4NACAEKALYARBaCyAELADXAUEATg0BIAQoAswBEFoMAQsQACEDCyAEQbADahDHAgsgBEGAAmoQqwMLIAQsALMCQQBODQMgBCgCqAIQWgwDCxAAIQMgBCwA4wNBAE4NACAEKALYAxBaCyAELACrAUEATg0AIAQoAqABEFoLIAQsAJsCQQBIBEAgBCgCkAIQWgsgBCwApwJBAE4NACAEKAKcAhBaCyAEQbQCahCrAwsgBCwA5wJBAE4NACAEKALcAhBaCyADEAcACwALPwAgACgCBEUEQEHo+gVBuosDQZwEQe7TAhABAAsgACACNgJ4IAAgATYCfCAAQRRqIAJBMGoQ/AYgAEIANwJ4C5EBAgF/AX4jAEEQayICJAAgASgCACIBKAIAQQtGBEAgACgCgAEhACACIAEpAggiAzcDACADpyEBAkAgA0IgiKdBE08EQCABQdKXBUETEF5FDQELIAJBCGogACABIAIQtwIgAigCCCIAQRBqIAAoAhBBAWo2AgALIAJBEGokAA8LQfDtBUHFmANBlAZBjd4AEAEAC0YAIAAoAgRFBEBB6PoFQbqLA0GcBEHu0wIQAQALIAAgAjYCeCAAIAE2AnwgAEEUaiACQTBqEPsGIAAgAhCgCiAAQgA3AngLRAAgACgCBEUEQEHo+gVBuosDQZwEQe7TAhABAAsgACACNgJ4IAAgATYCfCAAQRRqIAJBMGoQ+gYgAhCfCiAAQgA3AngLviIBDn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEoAgAiAigCAA5eAAECAwQFBgcICQoLDA0eHyAhIiMkJTU2Dg8QERITFBUWFxgZGhscHTcmJygpKissLS4vMDEyMzQ4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcAF0LQZj9A0HlswNB6gEQYgALIABBFGpBxtIAIAEQWCACKAIAQQFHDVwgAigCFCIBQQBMDVsgAEEYaiEDA0AgAUEBayIAIAIoAhRPDV4gAigCECAAQQJ0aiIEKAIARQ1fIANBjdEAIAQQWyABQQFLIQYgACEBIAYNAAsMWwsgAEEUaiIDQcfSACABEFggAigCAEECRw1bIAIoAhAEQCAAQRhqQY3RACACQRBqEFsLIANBjdEAIAJBDGoQWCADQY3RACACQQhqEFgPCyAAQRRqIgBByNIAIAEQWCACKAIAQQNHDVoMYAsgAEEUakHJ0gAgARBYIAIoAgBBBEcNWSACKAIUBEAgAEEYakGN0QAgAkEUahBbCyACKAIQRQ1YIABBGGpBjdEAIAJBEGoQWw8LIABBFGoiA0HK0gAgARBYIAIoAgBBBUcNWCADQY3RACACQSRqEFggAigCIEUNVyAAQRhqQY3RACACQSBqEFsPCyAAQRRqQcvSACABEFggAigCAEEGRw1XIAIoAgwiAUEATA1WIABBGGohAwNAIAFBAWsiACACKAIMTw1ZIAIoAgggAEECdGoiBCgCAEUNWiADQY3RACAEEFsgAUEBSyEHIAAhASAHDQALDFYLIABBFGoiA0HM0gAgARBYIAIoAgBBB0cNViADQY3RACACQRxqEFggAigCECIBQQBMDVUgAEEYaiEDA0AgAUEBayIAIAIoAhBPDVggAigCDCAAQQJ0aiIEKAIARQ1ZIANBjdEAIAQQWyABQQFLIQggACEBIAgNAAsMVQsgAEEUakHN0gAgARBYIAIoAgBBCEYNVAxVCyAAQRRqIgBBztIAIAEQWCACKAIAQQlHDVQMXQsgAEEUakHP0gAgARBYIAIoAgBBCkYNUgxTCyAAQRRqIgBB0NIAIAEQWCACKAIAQQtHDVIMWAsgAEEUaiIAQdHSACABEFggAigCAEEMRw1RDFwLIABBFGoiAEHS0gAgARBYIAIoAgBBDUcNUAxaCyAAQRRqIgBB09IAIAEQWCACKAIAQRhHDU8MWwsgAEEUaiIAQdTSACABEFggAigCAEEZRw1OIABBjdEAIAJBIGoQWAxaCyAAQRRqIgBB1dIAIAEQWCACKAIAQRpHDU0MUQsgAEEUaiIAQdbSACABEFggAigCAEEbRw1MDFELIABBFGpB19IAIAEQWCACKAIAQRxGDUoMSwsgAEEUaiIAQdjSACABEFggAigCAEEdRw1KDFMLIABBFGoiAEHZ0gAgARBYIAIoAgBBHkcNSSAAQY3RACACQRRqEFgMUgsgAEEUaiIAQdrSACABEFggAigCAEEfRw1IDFcLIABBFGoiAEHb0gAgARBYIAIoAgBBIEcNRwxOCyAAQRRqIgBB3NIAIAEQWCACKAIAQSFHDUYMTgsgAEEUaiIAQd3SACABEFggAigCAEEiRw1FIABBjdEAIAJBIGoQWA8LIABBFGoiAEHe0gAgARBYIAIoAgBBI0cNRAxOCyAAQRRqIgBB39IAIAEQWCACKAIAQSRHDUMMRwsgAEEUakHg0gAgARBYIAIoAgBBJUYNQQxCCyAAQRRqIgBB4dIAIAEQWCACKAIAQSZHDUEMTwsgAEEUaiIAQeLSACABEFggAigCAEEnRw1ADE4LIABBFGpB49IAIAEQWCACKAIAQQ5GDT4MPwsgAEEUaiIAQeTSACABEFggAigCAEEPRw0+DEcLIABBFGoiAEHl0gAgARBYIAIoAgBBEEcNPQxFCyAAQRRqIgBB5tIAIAEQWCACKAIAQRFHDTwMSgsgAEEUaiIAQefSACABEFggAigCAEESRw07DEsLIABBFGpB6NIAIAEQWCACKAIAQRNHDTogAigCCEUNOQxLCyAAQRRqQenSACABEFggAigCAEEURg04DDkLIABBFGoiAEHq0gAgARBYIAIoAgBBFUcNOAxICyAAQRRqQevSACABEFggAigCAEEpRg02DDcLIABBFGoiAEHs0gAgARBYIAIoAgBBKkcNNgxGCyAAQRRqQe3SACABEFggAigCAEErRg00DDULIABBFGoiAEHu0gAgARBYIAIoAgBBLEcNNAxDCyAAQRRqIgBB79IAIAEQWCACKAIAQS1HDTMMOQsgAEEUaiIAQfDSACABEFggAigCAEEuRw0yDDcLIABBFGpB8dIAIAEQWCACKAIAQS9GDTAMMQsgAEEUaiIAQfLSACABEFggAigCAEEwRw0wDDULIABBFGoiAEHz0gAgARBYIAIoAgBBMUcNLwwzCyAAQRRqIgBB9NIAIAEQWCACKAIAQTJHDS4MPAsgAEEUaiIDQfXSACABEFggAigCAEEzRw0tIAIoAigiAUEASgRAIABBGGohBANAIAFBAWsiACACKAIoTw0wIAIoAiQgAEECdGoiBSgCAEUNMSAEQY3RACAFEFsgAUEBSyEJIAAhASAJDQALCyADQY3RACACQRBqEFgPCyAAQRRqIgBB9tIAIAEQWCACKAIAQTRGBEAMPQsMLAsgAEEUakH30gAgARBYIAIoAgBBNUcNKyACKAIUIgFBAEwNKiAAQRhqIQMDQCABQQFrIgAgAigCFE8NLSACKAIQIABBAnRqIgQoAgBFDS4gA0GN0QAgBBBbIAFBAUshCiAAIQEgCg0ACwwqCyAAQRRqQfjSACABEFggAigCAEE2Rg0pDCoLIABBFGoiAEH50gAgARBYIAIoAgBBN0cNKQw5CyAAQRRqQfrSACABEFggAigCAEEWRg0nDCgLIABBFGpB+9IAIAEQWCACKAIAQRdGDSYMJwsgAEEUakH80gAgARBYIAIoAgBBKEYNJQwmCyAAQRRqQf3SACABEFggAigCAEE4Rw0lIAIoAgwiAUEATA0kIABBGGohAwNAIAFBAWsiACACKAIMTw0nIAIoAgggAEECdGoiBCgCAEUNKCADQY3RACAEEFsgAUEBSyELIAAhASALDQALDCQLIABBFGoiAEH+0gAgARBYIAIoAgBBOUcNJAw0CyAAQRRqIgBB/9IAIAEQWCACKAIAQTpHDSMMMwsgAEEUaiIAQYDTACABEFggAigCAEE7Rw0iDDILIABBFGoiA0GB0wAgARBYIAIoAgBBPEcNISADQY3RACACQRhqEFggAigCDCIBQQBMDSAgAEEYaiEDA0AgAUEBayIAIAIoAgxPDSMgAigCCCAAQQJ0aiIEKAIARQ0kIANBjdEAIAQQWyABQQFLIQwgACEBIAwNAAsMIAsgAEEUaiIAQYLTACABEFggAigCAEE9Rw0gDDALIABBFGoiAEGD0wAgARBYIAIoAgBBPkcNHwwvCyAAQRRqIgBBhNMAIAEQWCACKAIAQT9HDR4gAEGN0QAgAkEUahBYDwsgAEEUakGF0wAgARBYIAIoAgBBwABHDR0gAigCDCIBQQBMDRwgAEEYaiEDA0AgAUEBayIAIAIoAgxPDR8gAigCCCAAQQJ0aiIEKAIARQ0gIANBjdEAIAQQWyABQQFLIQ0gACEBIA0NAAsMHAsgAEEUaiIAQYbTACABEFggAigCAEHBAEcNHAwlCyAAQRRqIgBBh9MAIAEQWCACKAIAQcIARw0bDCMLIABBFGoiA0GI0wAgARBYIAIoAgBBwwBHDRogA0GN0QAgAkEMahBYIAIoAghFDRkMKwsgAEEUaiIAQYnTACABEFggAigCAEHEAEcNGQweCyAAQRRqIgBBitMAIAEQWCACKAIAQcUARw0YDB0LIABBFGpBi9MAIAEQWCACKAIAQcYARw0XIAIoAgwiAUEATA0WIABBGGohAwNAIAFBAWsiACACKAIMTw0ZIAIoAgggAEECdGoiBCgCAEUNGiADQY3RACAEEFsgAUEBSyEOIAAhASAODQALDBYLIABBFGoiAEGM0wAgARBYIAIoAgBBxwBHDRYMJQsgAEEUaiIAQY3TACABEFggAigCAEHIAEcNFQwjCyAAQRRqIgBBjtMAIAEQWCACKAIAQckARw0UDCQLIABBFGoiAEGP0wAgARBYIAIoAgBBygBHDRMgAEGN0QAgAkEYahBYDCALIABBFGoiAEGQ0wAgARBYIAIoAgBBywBHDRIMHwsgAEEUaiIAQZHTACABEFggAigCAEHMAEcNEQwUCyAAQRRqIgBBktMAIAEQWCACKAIAQc0ARw0QDBMLIABBFGoiAEGT0wAgARBYIAIoAgBBzgBHDQ8MGAsgAEEUaiIDQZTTACABEFggAigCAEHPAEcNDiACKAIYBEAgAEEYakGN0QAgAkEYahBbCyACKAIUBEAgAEEYakGN0QAgAkEUahBbCyACKAIQBEAgAEEYakGN0QAgAkEQahBbCwwgCyAAQRRqQZXTACABEFggAigCAEHQAEYNDAwNCyAAQRRqIgBBltMAIAEQWCACKAIAQdEARw0MDBULIABBFGoiA0GX0wAgARBYIAIoAgBB0gBHDQsgAigCFARAIABBGGpBjdEAIAJBFGoQWwsgA0GN0QAgAkEQahBYDB0LIABBFGoiAEGY0wAgARBYIAIoAgBB0wBHDQoMGQsgAEEUaiIAQZnTACABEFggAigCAEHUAEcNCQwRCyAAQRRqIgBBmtMAIAEQWCACKAIAQdUARw0IDBELIABBFGoiAEGb0wAgARBYIAIoAgBB1gBHDQcMFQsgAEEUaiIAQZzTACABEFggAigCAEHXAEcNBgwVCyAAQRRqIgBBndMAIAEQWCACKAIAQdgARw0FDBULIABBFGoiAEGe0wAgARBYIAIoAgBB2QBHDQQMDAsgAEEUaiIAQZ/TACABEFggAigCAEHaAEcNAwwKCyAAQRRqIgBBoNMAIAEQWCACKAIAQdsARw0CDBELIABBFGoiA0Gh0wAgARBYIAIoAgBB3ABHDQEgA0GN0QAgAkE8ahBYIAIoAjAiAUEATA0AIABBGGohAwNAIAFBAWsiACACKAIwTw0DIAIoAiwgAEECdGoiBCgCAEUNBCADQY3RACAEEFsgAUEBSyEPIAAhASAPDQALCw8LQfDtBUHFmANBlAZBjd4AEAEAC0HFogFBiaIDQbwBQaaIBRABAAtBgYMCQdOZA0G5AkGu9wIQAQALIABBjdEAIAJBHGoQWAsgAEGN0QAgAkEYahBYCyAAQY3RACACQRRqEFgLIABBjdEAIAJBEGoQWA8LIABBjdEAIAJBFGoQWAsgAEGN0QAgAkEQahBYCyAAQY3RACACQQxqEFgPCyAAQY3RACACQShqEFgLIABBjdEAIAJBJGoQWA8LIABBjdEAIAJBHGoQWCAAQY3RACACQRhqEFgPCyAAQY3RACACQRRqEFgLIABBjdEAIAJBEGoQWAsgAEGN0QAgAkEMahBYCyAAQY3RACACQQhqEFgPCyAAQRhqQY3RACACQQhqEFsPCyADQY3RACACQQxqEFgLviIBDn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEoAgAiAigCAA5eAAECAwQFBgcICQoLDA0eHyAhIiMkJTU2Dg8QERITFBUWFxgZGhscHTcmJygpKissLS4vMDEyMzQ4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcAF0LQZj9A0HlswNB6gEQYgALIABBFGpB6tEAIAEQWCACKAIAQQFHDVwgAigCFCIBQQBMDVsgAEEYaiEDA0AgAUEBayIAIAIoAhRPDV4gAigCECAAQQJ0aiIEKAIARQ1fIANBjNEAIAQQWyABQQFLIQYgACEBIAYNAAsMWwsgAEEUaiIDQevRACABEFggAigCAEECRw1bIAIoAhAEQCAAQRhqQYzRACACQRBqEFsLIANBjNEAIAJBDGoQWCADQYzRACACQQhqEFgPCyAAQRRqIgBB7NEAIAEQWCACKAIAQQNHDVoMYAsgAEEUakHt0QAgARBYIAIoAgBBBEcNWSACKAIUBEAgAEEYakGM0QAgAkEUahBbCyACKAIQRQ1YIABBGGpBjNEAIAJBEGoQWw8LIABBFGoiA0Hu0QAgARBYIAIoAgBBBUcNWCADQYzRACACQSRqEFggAigCIEUNVyAAQRhqQYzRACACQSBqEFsPCyAAQRRqQe/RACABEFggAigCAEEGRw1XIAIoAgwiAUEATA1WIABBGGohAwNAIAFBAWsiACACKAIMTw1ZIAIoAgggAEECdGoiBCgCAEUNWiADQYzRACAEEFsgAUEBSyEHIAAhASAHDQALDFYLIABBFGoiA0Hw0QAgARBYIAIoAgBBB0cNViADQYzRACACQRxqEFggAigCECIBQQBMDVUgAEEYaiEDA0AgAUEBayIAIAIoAhBPDVggAigCDCAAQQJ0aiIEKAIARQ1ZIANBjNEAIAQQWyABQQFLIQggACEBIAgNAAsMVQsgAEEUakHx0QAgARBYIAIoAgBBCEYNVAxVCyAAQRRqIgBB8tEAIAEQWCACKAIAQQlHDVQMXQsgAEEUakHz0QAgARBYIAIoAgBBCkYNUgxTCyAAQRRqIgBB9NEAIAEQWCACKAIAQQtHDVIMWAsgAEEUaiIAQfXRACABEFggAigCAEEMRw1RDFwLIABBFGoiAEH20QAgARBYIAIoAgBBDUcNUAxaCyAAQRRqIgBB99EAIAEQWCACKAIAQRhHDU8MWwsgAEEUaiIAQfjRACABEFggAigCAEEZRw1OIABBjNEAIAJBIGoQWAxaCyAAQRRqIgBB+dEAIAEQWCACKAIAQRpHDU0MUQsgAEEUaiIAQfrRACABEFggAigCAEEbRw1MDFELIABBFGpB+9EAIAEQWCACKAIAQRxGDUoMSwsgAEEUaiIAQfzRACABEFggAigCAEEdRw1KDFMLIABBFGoiAEH90QAgARBYIAIoAgBBHkcNSSAAQYzRACACQRRqEFgMUgsgAEEUaiIAQf7RACABEFggAigCAEEfRw1IDFcLIABBFGoiAEH/0QAgARBYIAIoAgBBIEcNRwxOCyAAQRRqIgBBgNIAIAEQWCACKAIAQSFHDUYMTgsgAEEUaiIAQYHSACABEFggAigCAEEiRw1FIABBjNEAIAJBIGoQWA8LIABBFGoiAEGC0gAgARBYIAIoAgBBI0cNRAxOCyAAQRRqIgBBg9IAIAEQWCACKAIAQSRHDUMMRwsgAEEUakGE0gAgARBYIAIoAgBBJUYNQQxCCyAAQRRqIgBBhdIAIAEQWCACKAIAQSZHDUEMTwsgAEEUaiIAQYbSACABEFggAigCAEEnRw1ADE4LIABBFGpBh9IAIAEQWCACKAIAQQ5GDT4MPwsgAEEUaiIAQYjSACABEFggAigCAEEPRw0+DEcLIABBFGoiAEGJ0gAgARBYIAIoAgBBEEcNPQxFCyAAQRRqIgBBitIAIAEQWCACKAIAQRFHDTwMSgsgAEEUaiIAQYvSACABEFggAigCAEESRw07DEsLIABBFGpBjNIAIAEQWCACKAIAQRNHDTogAigCCEUNOQxLCyAAQRRqQY3SACABEFggAigCAEEURg04DDkLIABBFGoiAEGO0gAgARBYIAIoAgBBFUcNOAxICyAAQRRqQY/SACABEFggAigCAEEpRg02DDcLIABBFGoiAEGQ0gAgARBYIAIoAgBBKkcNNgxGCyAAQRRqQZHSACABEFggAigCAEErRg00DDULIABBFGoiAEGS0gAgARBYIAIoAgBBLEcNNAxDCyAAQRRqIgBBk9IAIAEQWCACKAIAQS1HDTMMOQsgAEEUaiIAQZTSACABEFggAigCAEEuRw0yDDcLIABBFGpBldIAIAEQWCACKAIAQS9GDTAMMQsgAEEUaiIAQZbSACABEFggAigCAEEwRw0wDDULIABBFGoiAEGX0gAgARBYIAIoAgBBMUcNLwwzCyAAQRRqIgBBmNIAIAEQWCACKAIAQTJHDS4MPAsgAEEUaiIDQZnSACABEFggAigCAEEzRw0tIAIoAigiAUEASgRAIABBGGohBANAIAFBAWsiACACKAIoTw0wIAIoAiQgAEECdGoiBSgCAEUNMSAEQYzRACAFEFsgAUEBSyEJIAAhASAJDQALCyADQYzRACACQRBqEFgPCyAAQRRqIgBBmtIAIAEQWCACKAIAQTRGBEAMPQsMLAsgAEEUakGb0gAgARBYIAIoAgBBNUcNKyACKAIUIgFBAEwNKiAAQRhqIQMDQCABQQFrIgAgAigCFE8NLSACKAIQIABBAnRqIgQoAgBFDS4gA0GM0QAgBBBbIAFBAUshCiAAIQEgCg0ACwwqCyAAQRRqQZzSACABEFggAigCAEE2Rg0pDCoLIABBFGoiAEGd0gAgARBYIAIoAgBBN0cNKQw5CyAAQRRqQZ7SACABEFggAigCAEEWRg0nDCgLIABBFGpBn9IAIAEQWCACKAIAQRdGDSYMJwsgAEEUakGg0gAgARBYIAIoAgBBKEYNJQwmCyAAQRRqQaHSACABEFggAigCAEE4Rw0lIAIoAgwiAUEATA0kIABBGGohAwNAIAFBAWsiACACKAIMTw0nIAIoAgggAEECdGoiBCgCAEUNKCADQYzRACAEEFsgAUEBSyELIAAhASALDQALDCQLIABBFGoiAEGi0gAgARBYIAIoAgBBOUcNJAw0CyAAQRRqIgBBo9IAIAEQWCACKAIAQTpHDSMMMwsgAEEUaiIAQaTSACABEFggAigCAEE7Rw0iDDILIABBFGoiA0Gl0gAgARBYIAIoAgBBPEcNISADQYzRACACQRhqEFggAigCDCIBQQBMDSAgAEEYaiEDA0AgAUEBayIAIAIoAgxPDSMgAigCCCAAQQJ0aiIEKAIARQ0kIANBjNEAIAQQWyABQQFLIQwgACEBIAwNAAsMIAsgAEEUaiIAQabSACABEFggAigCAEE9Rw0gDDALIABBFGoiAEGn0gAgARBYIAIoAgBBPkcNHwwvCyAAQRRqIgBBqNIAIAEQWCACKAIAQT9HDR4gAEGM0QAgAkEUahBYDwsgAEEUakGp0gAgARBYIAIoAgBBwABHDR0gAigCDCIBQQBMDRwgAEEYaiEDA0AgAUEBayIAIAIoAgxPDR8gAigCCCAAQQJ0aiIEKAIARQ0gIANBjNEAIAQQWyABQQFLIQ0gACEBIA0NAAsMHAsgAEEUaiIAQarSACABEFggAigCAEHBAEcNHAwlCyAAQRRqIgBBq9IAIAEQWCACKAIAQcIARw0bDCMLIABBFGoiA0Gs0gAgARBYIAIoAgBBwwBHDRogA0GM0QAgAkEMahBYIAIoAghFDRkMKwsgAEEUaiIAQa3SACABEFggAigCAEHEAEcNGQweCyAAQRRqIgBBrtIAIAEQWCACKAIAQcUARw0YDB0LIABBFGpBr9IAIAEQWCACKAIAQcYARw0XIAIoAgwiAUEATA0WIABBGGohAwNAIAFBAWsiACACKAIMTw0ZIAIoAgggAEECdGoiBCgCAEUNGiADQYzRACAEEFsgAUEBSyEOIAAhASAODQALDBYLIABBFGoiAEGw0gAgARBYIAIoAgBBxwBHDRYMJQsgAEEUaiIAQbHSACABEFggAigCAEHIAEcNFQwjCyAAQRRqIgBBstIAIAEQWCACKAIAQckARw0UDCQLIABBFGoiAEGz0gAgARBYIAIoAgBBygBHDRMgAEGM0QAgAkEYahBYDCALIABBFGoiAEG00gAgARBYIAIoAgBBywBHDRIMHwsgAEEUaiIAQbXSACABEFggAigCAEHMAEcNEQwUCyAAQRRqIgBBttIAIAEQWCACKAIAQc0ARw0QDBMLIABBFGoiAEG30gAgARBYIAIoAgBBzgBHDQ8MGAsgAEEUaiIDQbjSACABEFggAigCAEHPAEcNDiACKAIYBEAgAEEYakGM0QAgAkEYahBbCyACKAIUBEAgAEEYakGM0QAgAkEUahBbCyACKAIQBEAgAEEYakGM0QAgAkEQahBbCwwgCyAAQRRqQbnSACABEFggAigCAEHQAEYNDAwNCyAAQRRqIgBButIAIAEQWCACKAIAQdEARw0MDBULIABBFGoiA0G70gAgARBYIAIoAgBB0gBHDQsgAigCFARAIABBGGpBjNEAIAJBFGoQWwsgA0GM0QAgAkEQahBYDB0LIABBFGoiAEG80gAgARBYIAIoAgBB0wBHDQoMGQsgAEEUaiIAQb3SACABEFggAigCAEHUAEcNCQwRCyAAQRRqIgBBvtIAIAEQWCACKAIAQdUARw0IDBELIABBFGoiAEG/0gAgARBYIAIoAgBB1gBHDQcMFQsgAEEUaiIAQcDSACABEFggAigCAEHXAEcNBgwVCyAAQRRqIgBBwdIAIAEQWCACKAIAQdgARw0FDBULIABBFGoiAEHC0gAgARBYIAIoAgBB2QBHDQQMDAsgAEEUaiIAQcPSACABEFggAigCAEHaAEcNAwwKCyAAQRRqIgBBxNIAIAEQWCACKAIAQdsARw0CDBELIABBFGoiA0HF0gAgARBYIAIoAgBB3ABHDQEgA0GM0QAgAkE8ahBYIAIoAjAiAUEATA0AIABBGGohAwNAIAFBAWsiACACKAIwTw0DIAIoAiwgAEECdGoiBCgCAEUNBCADQYzRACAEEFsgAUEBSyEPIAAhASAPDQALCw8LQfDtBUHFmANBlAZBjd4AEAEAC0HFogFBiaIDQbwBQaaIBRABAAtBgYMCQdOZA0G5AkGu9wIQAQALIABBjNEAIAJBHGoQWAsgAEGM0QAgAkEYahBYCyAAQYzRACACQRRqEFgLIABBjNEAIAJBEGoQWA8LIABBjNEAIAJBFGoQWAsgAEGM0QAgAkEQahBYCyAAQYzRACACQQxqEFgPCyAAQYzRACACQShqEFgLIABBjNEAIAJBJGoQWA8LIABBjNEAIAJBHGoQWCAAQYzRACACQRhqEFgPCyAAQYzRACACQRRqEFgLIABBjNEAIAJBEGoQWAsgAEGM0QAgAkEMahBYCyAAQYzRACACQQhqEFgPCyAAQRhqQYzRACACQQhqEFsPCyADQYzRACACQQxqEFgLviIBDn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEoAgAiAigCAA5eAAECAwQFBgcICQoLDA0eHyAhIiMkJTU2Dg8QERITFBUWFxgZGhscHTcmJygpKissLS4vMDEyMzQ4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcAF0LQZj9A0HlswNB6gEQYgALIABBFGpBjtEAIAEQWCACKAIAQQFHDVwgAigCFCIBQQBMDVsgAEEYaiEDA0AgAUEBayIAIAIoAhRPDV4gAigCECAAQQJ0aiIEKAIARQ1fIANBi9EAIAQQWyABQQFLIQYgACEBIAYNAAsMWwsgAEEUaiIDQY/RACABEFggAigCAEECRw1bIAIoAhAEQCAAQRhqQYvRACACQRBqEFsLIANBi9EAIAJBDGoQWCADQYvRACACQQhqEFgPCyAAQRRqIgBBkNEAIAEQWCACKAIAQQNHDVoMYAsgAEEUakGR0QAgARBYIAIoAgBBBEcNWSACKAIUBEAgAEEYakGL0QAgAkEUahBbCyACKAIQRQ1YIABBGGpBi9EAIAJBEGoQWw8LIABBFGoiA0GS0QAgARBYIAIoAgBBBUcNWCADQYvRACACQSRqEFggAigCIEUNVyAAQRhqQYvRACACQSBqEFsPCyAAQRRqQZPRACABEFggAigCAEEGRw1XIAIoAgwiAUEATA1WIABBGGohAwNAIAFBAWsiACACKAIMTw1ZIAIoAgggAEECdGoiBCgCAEUNWiADQYvRACAEEFsgAUEBSyEHIAAhASAHDQALDFYLIABBFGoiA0GU0QAgARBYIAIoAgBBB0cNViADQYvRACACQRxqEFggAigCECIBQQBMDVUgAEEYaiEDA0AgAUEBayIAIAIoAhBPDVggAigCDCAAQQJ0aiIEKAIARQ1ZIANBi9EAIAQQWyABQQFLIQggACEBIAgNAAsMVQsgAEEUakGV0QAgARBYIAIoAgBBCEYNVAxVCyAAQRRqIgBBltEAIAEQWCACKAIAQQlHDVQMXQsgAEEUakGX0QAgARBYIAIoAgBBCkYNUgxTCyAAQRRqIgBBmNEAIAEQWCACKAIAQQtHDVIMWAsgAEEUaiIAQZnRACABEFggAigCAEEMRw1RDFwLIABBFGoiAEGa0QAgARBYIAIoAgBBDUcNUAxaCyAAQRRqIgBBm9EAIAEQWCACKAIAQRhHDU8MWwsgAEEUaiIAQZzRACABEFggAigCAEEZRw1OIABBi9EAIAJBIGoQWAxaCyAAQRRqIgBBndEAIAEQWCACKAIAQRpHDU0MUQsgAEEUaiIAQZ7RACABEFggAigCAEEbRw1MDFELIABBFGpBn9EAIAEQWCACKAIAQRxGDUoMSwsgAEEUaiIAQaDRACABEFggAigCAEEdRw1KDFMLIABBFGoiAEGh0QAgARBYIAIoAgBBHkcNSSAAQYvRACACQRRqEFgMUgsgAEEUaiIAQaLRACABEFggAigCAEEfRw1IDFcLIABBFGoiAEGj0QAgARBYIAIoAgBBIEcNRwxOCyAAQRRqIgBBpNEAIAEQWCACKAIAQSFHDUYMTgsgAEEUaiIAQaXRACABEFggAigCAEEiRw1FIABBi9EAIAJBIGoQWA8LIABBFGoiAEGm0QAgARBYIAIoAgBBI0cNRAxOCyAAQRRqIgBBp9EAIAEQWCACKAIAQSRHDUMMRwsgAEEUakGo0QAgARBYIAIoAgBBJUYNQQxCCyAAQRRqIgBBqdEAIAEQWCACKAIAQSZHDUEMTwsgAEEUaiIAQarRACABEFggAigCAEEnRw1ADE4LIABBFGpBq9EAIAEQWCACKAIAQQ5GDT4MPwsgAEEUaiIAQazRACABEFggAigCAEEPRw0+DEcLIABBFGoiAEGt0QAgARBYIAIoAgBBEEcNPQxFCyAAQRRqIgBBrtEAIAEQWCACKAIAQRFHDTwMSgsgAEEUaiIAQa/RACABEFggAigCAEESRw07DEsLIABBFGpBsNEAIAEQWCACKAIAQRNHDTogAigCCEUNOQxLCyAAQRRqQbHRACABEFggAigCAEEURg04DDkLIABBFGoiAEGy0QAgARBYIAIoAgBBFUcNOAxICyAAQRRqQbPRACABEFggAigCAEEpRg02DDcLIABBFGoiAEG00QAgARBYIAIoAgBBKkcNNgxGCyAAQRRqQbXRACABEFggAigCAEErRg00DDULIABBFGoiAEG20QAgARBYIAIoAgBBLEcNNAxDCyAAQRRqIgBBt9EAIAEQWCACKAIAQS1HDTMMOQsgAEEUaiIAQbjRACABEFggAigCAEEuRw0yDDcLIABBFGpBudEAIAEQWCACKAIAQS9GDTAMMQsgAEEUaiIAQbrRACABEFggAigCAEEwRw0wDDULIABBFGoiAEG70QAgARBYIAIoAgBBMUcNLwwzCyAAQRRqIgBBvNEAIAEQWCACKAIAQTJHDS4MPAsgAEEUaiIDQb3RACABEFggAigCAEEzRw0tIAIoAigiAUEASgRAIABBGGohBANAIAFBAWsiACACKAIoTw0wIAIoAiQgAEECdGoiBSgCAEUNMSAEQYvRACAFEFsgAUEBSyEJIAAhASAJDQALCyADQYvRACACQRBqEFgPCyAAQRRqIgBBvtEAIAEQWCACKAIAQTRGBEAMPQsMLAsgAEEUakG/0QAgARBYIAIoAgBBNUcNKyACKAIUIgFBAEwNKiAAQRhqIQMDQCABQQFrIgAgAigCFE8NLSACKAIQIABBAnRqIgQoAgBFDS4gA0GL0QAgBBBbIAFBAUshCiAAIQEgCg0ACwwqCyAAQRRqQcDRACABEFggAigCAEE2Rg0pDCoLIABBFGoiAEHB0QAgARBYIAIoAgBBN0cNKQw5CyAAQRRqQcLRACABEFggAigCAEEWRg0nDCgLIABBFGpBw9EAIAEQWCACKAIAQRdGDSYMJwsgAEEUakHE0QAgARBYIAIoAgBBKEYNJQwmCyAAQRRqQcXRACABEFggAigCAEE4Rw0lIAIoAgwiAUEATA0kIABBGGohAwNAIAFBAWsiACACKAIMTw0nIAIoAgggAEECdGoiBCgCAEUNKCADQYvRACAEEFsgAUEBSyELIAAhASALDQALDCQLIABBFGoiAEHG0QAgARBYIAIoAgBBOUcNJAw0CyAAQRRqIgBBx9EAIAEQWCACKAIAQTpHDSMMMwsgAEEUaiIAQcjRACABEFggAigCAEE7Rw0iDDILIABBFGoiA0HJ0QAgARBYIAIoAgBBPEcNISADQYvRACACQRhqEFggAigCDCIBQQBMDSAgAEEYaiEDA0AgAUEBayIAIAIoAgxPDSMgAigCCCAAQQJ0aiIEKAIARQ0kIANBi9EAIAQQWyABQQFLIQwgACEBIAwNAAsMIAsgAEEUaiIAQcrRACABEFggAigCAEE9Rw0gDDALIABBFGoiAEHL0QAgARBYIAIoAgBBPkcNHwwvCyAAQRRqIgBBzNEAIAEQWCACKAIAQT9HDR4gAEGL0QAgAkEUahBYDwsgAEEUakHN0QAgARBYIAIoAgBBwABHDR0gAigCDCIBQQBMDRwgAEEYaiEDA0AgAUEBayIAIAIoAgxPDR8gAigCCCAAQQJ0aiIEKAIARQ0gIANBi9EAIAQQWyABQQFLIQ0gACEBIA0NAAsMHAsgAEEUaiIAQc7RACABEFggAigCAEHBAEcNHAwlCyAAQRRqIgBBz9EAIAEQWCACKAIAQcIARw0bDCMLIABBFGoiA0HQ0QAgARBYIAIoAgBBwwBHDRogA0GL0QAgAkEMahBYIAIoAghFDRkMKwsgAEEUaiIAQdHRACABEFggAigCAEHEAEcNGQweCyAAQRRqIgBB0tEAIAEQWCACKAIAQcUARw0YDB0LIABBFGpB09EAIAEQWCACKAIAQcYARw0XIAIoAgwiAUEATA0WIABBGGohAwNAIAFBAWsiACACKAIMTw0ZIAIoAgggAEECdGoiBCgCAEUNGiADQYvRACAEEFsgAUEBSyEOIAAhASAODQALDBYLIABBFGoiAEHU0QAgARBYIAIoAgBBxwBHDRYMJQsgAEEUaiIAQdXRACABEFggAigCAEHIAEcNFQwjCyAAQRRqIgBB1tEAIAEQWCACKAIAQckARw0UDCQLIABBFGoiAEHX0QAgARBYIAIoAgBBygBHDRMgAEGL0QAgAkEYahBYDCALIABBFGoiAEHY0QAgARBYIAIoAgBBywBHDRIMHwsgAEEUaiIAQdnRACABEFggAigCAEHMAEcNEQwUCyAAQRRqIgBB2tEAIAEQWCACKAIAQc0ARw0QDBMLIABBFGoiAEHb0QAgARBYIAIoAgBBzgBHDQ8MGAsgAEEUaiIDQdzRACABEFggAigCAEHPAEcNDiACKAIYBEAgAEEYakGL0QAgAkEYahBbCyACKAIUBEAgAEEYakGL0QAgAkEUahBbCyACKAIQBEAgAEEYakGL0QAgAkEQahBbCwwgCyAAQRRqQd3RACABEFggAigCAEHQAEYNDAwNCyAAQRRqIgBB3tEAIAEQWCACKAIAQdEARw0MDBULIABBFGoiA0Hf0QAgARBYIAIoAgBB0gBHDQsgAigCFARAIABBGGpBi9EAIAJBFGoQWwsgA0GL0QAgAkEQahBYDB0LIABBFGoiAEHg0QAgARBYIAIoAgBB0wBHDQoMGQsgAEEUaiIAQeHRACABEFggAigCAEHUAEcNCQwRCyAAQRRqIgBB4tEAIAEQWCACKAIAQdUARw0IDBELIABBFGoiAEHj0QAgARBYIAIoAgBB1gBHDQcMFQsgAEEUaiIAQeTRACABEFggAigCAEHXAEcNBgwVCyAAQRRqIgBB5dEAIAEQWCACKAIAQdgARw0FDBULIABBFGoiAEHm0QAgARBYIAIoAgBB2QBHDQQMDAsgAEEUaiIAQefRACABEFggAigCAEHaAEcNAwwKCyAAQRRqIgBB6NEAIAEQWCACKAIAQdsARw0CDBELIABBFGoiA0Hp0QAgARBYIAIoAgBB3ABHDQEgA0GL0QAgAkE8ahBYIAIoAjAiAUEATA0AIABBGGohAwNAIAFBAWsiACACKAIwTw0DIAIoAiwgAEECdGoiBCgCAEUNBCADQYvRACAEEFsgAUEBSyEPIAAhASAPDQALCw8LQfDtBUHFmANBlAZBjd4AEAEAC0HFogFBiaIDQbwBQaaIBRABAAtBgYMCQdOZA0G5AkGu9wIQAQALIABBi9EAIAJBHGoQWAsgAEGL0QAgAkEYahBYCyAAQYvRACACQRRqEFgLIABBi9EAIAJBEGoQWA8LIABBi9EAIAJBFGoQWAsgAEGL0QAgAkEQahBYCyAAQYvRACACQQxqEFgPCyAAQYvRACACQShqEFgLIABBi9EAIAJBJGoQWA8LIABBi9EAIAJBHGoQWCAAQYvRACACQRhqEFgPCyAAQYvRACACQRRqEFgLIABBi9EAIAJBEGoQWAsgAEGL0QAgAkEMahBYCyAAQYvRACACQQhqEFgPCyAAQRhqQYvRACACQQhqEFsPCyADQYvRACACQQxqEFgLgBABGH8jAEGwAmsiAyQAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIEBEAgACAAKAIAKAIQEQIABEAgAyAAKAIEIgIpAjg3A/gBIAMgAikCMDcD8AEgAyACKQIoNwPoASADIAIpAiA3A+ABIAMgAikCGDcD2AEgA0GAAmogAkFAaxDjASEEQdSJC0EANgIAQZoBIANBlAJqIAJB1ABqEAIhBUHUiQsoAgAhEUHUiQtBADYCACARQQFGDQIgAyACKAJoNgKoAiADIAIoAmwiAjYCrAIgAgRAIAIgAigCBEEBajYCBAsgA0EBIAMoAuABIgIgAkEAShs2AuABIAMgAykD6AE3AxggAyADKQPwATcDICADIAMpA/gBNwMoIAMgAykD4AE3AxAgA0EBIAMoAtwBIgIgAkEAShs2AtwBQdSJC0EANgIAIAMgAykD2AE3AwhBmwEgA0EwaiAEEAIhBEHUiQsoAgAhAkHUiQtBADYCAAJAIAJBAUcEQEHUiQtBADYCAEGaASADQcQAaiAFEAIhBUHUiQsoAgAhEkHUiQtBADYCACASQQFGDQUgAyADKAKsAiICNgJcIAMgAygCqAI2AlggAgRAIAIgAigCBEEBajYCBAsgA0EANgJ4IAMgAykDEDcChAEgAyADKQMYNwKMASADIAMpAyA3ApQBIAMgAykDKDcCnAEgA0IANwJwIANB/OwJNgJkIAMgAykDCDcCfEHUiQtBADYCACADIAE2AmggAyABQagBajYCbEGbASADQaQBaiAEEAIhAUHUiQsoAgAhAkHUiQtBADYCAAJAIAJBAUcEQEHUiQtBADYCAEGaASADQbgBaiAFEAIaQdSJCygCACETQdSJC0EANgIAIBNBAUcEQCADIAMoAlg2AswBIAMgAygCXCIBNgLQASABBEAgASABKAIEQQFqNgIECyADQQA7AdQBIANBCGoQYSADQQE6ANQBIAAoAgAoAhQhFEHUiQtBADYCACAUIAAQBiEAQdSJCygCACEVQdSJC0EANgIAIBVBAUYNBCADKAJkKAIIIRZB1IkLQQA2AgAgFiADQeQAaiIBIAAQA0HUiQsoAgAhF0HUiQtBADYCACAXQQFGDQRB1IkLQQA2AgBBlwEgARAKQdSJCygCACEYQdSJC0EANgIAIBhBAUYNBCADQfzsCTYCZCADQfwAahBhIAMoAnAiAQRAIAMoAnQiACABIgJHBEADQCAAQQRrIgAoAgAhAiAAQQA2AgAgAgRAIAIgAigCACgCBBEBAAsgACABRw0ACyADKAJwIQILIAMgATYCdCACEFoLIANB2AFqEGEMEAsQACEAIAEQawwBCxAAIQALIANB8ABqEOABIANBCGoQYQwOCxAAIQAMDQsQACEAIANB5ABqEHwaDAwLIAAgATYCfCAAQRRqIQkgASgCGCICIAEoAhwiBEcEQANAIAIoAgAiBSgCDEUEQCAJIAVBIGoQ+gYLIAJBBGoiAiAERw0ACwsgASgCDCICIAEoAhAiBUcEQANAAkAgAigCACIEKAIMBEAgBBCfCgwBCyAAIAQ2AnggCSAEQTBqEPoGIAQQnwogAEEANgJ4CyACQQRqIgIgBUcNAAsLIAEoAjAiCiABKAI0Ig5GDQkgAEEcaiENA0AgCigCACICKAIMBEAgCSACQRRqEPoGCyACKAIcIgsgAigCICIPRwRAIAAoAnAhBCAAKAJsIQYgACgCGCEFA0AgAyALKAIAIgc2AmQgBCAGayIQQQN1IgJBACAFa0cNBiAHRQ0HAkAgBUEJTQRAIAAgBUEBaiIGNgIYIA0gBUEDdGoiAkGN0QA2AgAgAiADQeQAajYCBCAEIQIgBiEFDAELIAAoAnQiCCAESwRAIARBjdEANgIAIAQgA0HkAGo2AgQgACAEQQhqIgI2AnAMAQsgAkEBaiIHQYCAgIACTw0JQf////8BIAggBmsiCEECdSIMIAcgByAMSRsgCEH4////B08bIgdBgICAgAJPDQogECAHQQN0IgwQXCIIaiIHQY3RADYCACAIIAJBA3RqIANB5ABqNgIEIAdBCGohAiAEIAZHBEADQCAHQQhrIgcgBEEIayIEKQIANwIAIAQgBkcNAAsLIAAgCCAMajYCdCAAIAI2AnAgACAHNgJsIAZFDQAgBhBaIAAoAnAhAiAAKAIYIQULQQAgBWsgAiAAKAJsIgZrQQN1RwRAA0ACQCACIAZGBEAgBUUNDiANIAVBAWsiBEEDdGoiBSgCBCECIAUoAgAhBiAAIAQ2AhgMAQsgAkEIayIEKAIAIQYgBCgCBCECIAAgBDYCcAsgCSACNgIAIAIoAgBFDQ0gACACIAYRAABBACAAKAIYIgVrIAAoAnAiAiAAKAJsIgZrQQN1Rw0ACwsgAiEEIAtBBGoiCyAPRw0ACwsgCkEEaiIKIA5HDQALDAkLQej6BUG6iwNB/ANB2ssCEAEACxAAIRkgBBBrIBkQBwALEAAhACAEEGsMCAtBzcoFQdOZA0HIAkHQ+AIQAQALQYGDAkHTmQNBuQJBrvcCEAEACxBkAAsQagALQd7EBUGwlANB2gBB/fsCEAEAC0H1ggJB05kDQc0CQdD4AhABAAsgASgCSCICIAEoAkwiAUcEQANAIAIoAgAiBC0AFEUEQCAJIARBGGoQ+gYLIAJBBGoiAiABRw0ACwsgAEEANgJ8CyADQbACaiQADwsgA0HYAWoQYSAAEAcAC4QQARh/IwBBsAJrIgMkAAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCBARAIAAgACgCACgCEBECAARAIAMgACgCBCICKQI4NwP4ASADIAIpAjA3A/ABIAMgAikCKDcD6AEgAyACKQIgNwPgASADIAIpAhg3A9gBIANBgAJqIAJBQGsQ4wEhBEHUiQtBADYCAEGaASADQZQCaiACQdQAahACIQVB1IkLKAIAIRFB1IkLQQA2AgAgEUEBRg0CIAMgAigCaDYCqAIgAyACKAJsIgI2AqwCIAIEQCACIAIoAgRBAWo2AgQLIANBASADKALgASICIAJBAEobNgLgASADIAMpA+gBNwMYIAMgAykD8AE3AyAgAyADKQP4ATcDKCADIAMpA+ABNwMQIANBASADKALcASICIAJBAEobNgLcAUHUiQtBADYCACADIAMpA9gBNwMIQZsBIANBMGogBBACIQRB1IkLKAIAIQJB1IkLQQA2AgACQCACQQFHBEBB1IkLQQA2AgBBmgEgA0HEAGogBRACIQVB1IkLKAIAIRJB1IkLQQA2AgAgEkEBRg0FIAMgAygCrAIiAjYCXCADIAMoAqgCNgJYIAIEQCACIAIoAgRBAWo2AgQLIANBADYCeCADIAMpAxA3AoQBIAMgAykDGDcCjAEgAyADKQMgNwKUASADIAMpAyg3ApwBIANCADcCcCADQfzsCTYCZCADIAMpAwg3AnxB1IkLQQA2AgAgAyABNgJoIAMgAUGoAWo2AmxBmwEgA0GkAWogBBACIQFB1IkLKAIAIQJB1IkLQQA2AgACQCACQQFHBEBB1IkLQQA2AgBBmgEgA0G4AWogBRACGkHUiQsoAgAhE0HUiQtBADYCACATQQFHBEAgAyADKAJYNgLMASADIAMoAlwiATYC0AEgAQRAIAEgASgCBEEBajYCBAsgA0EAOwHUASADQQhqEGEgA0EBOgDUASAAKAIAKAIUIRRB1IkLQQA2AgAgFCAAEAYhAEHUiQsoAgAhFUHUiQtBADYCACAVQQFGDQQgAygCZCgCCCEWQdSJC0EANgIAIBYgA0HkAGoiASAAEANB1IkLKAIAIRdB1IkLQQA2AgAgF0EBRg0EQdSJC0EANgIAQZcBIAEQCkHUiQsoAgAhGEHUiQtBADYCACAYQQFGDQQgA0H87Ak2AmQgA0H8AGoQYSADKAJwIgEEQCADKAJ0IgAgASICRwRAA0AgAEEEayIAKAIAIQIgAEEANgIAIAIEQCACIAIoAgAoAgQRAQALIAAgAUcNAAsgAygCcCECCyADIAE2AnQgAhBaCyADQdgBahBhDBALEAAhACABEGsMAQsQACEACyADQfAAahDgASADQQhqEGEMDgsQACEADA0LEAAhACADQeQAahB8GgwMCyAAIAE2AnwgAEEUaiEJIAEoAhgiAiABKAIcIgRHBEADQCACKAIAIgUoAgxFBEAgCSAFQSBqEPsGCyACQQRqIgIgBEcNAAsLIAEoAgwiAiABKAIQIgVHBEADQAJAIAIoAgAiBCgCDARAIAAgBBCgCgwBCyAAIAQ2AnggCSAEQTBqEPsGIAAgBBCgCiAAQQA2AngLIAJBBGoiAiAFRw0ACwsgASgCMCIKIAEoAjQiDkYNCSAAQRxqIQ0DQCAKKAIAIgIoAgwEQCAJIAJBFGoQ+wYLIAIoAhwiCyACKAIgIg9HBEAgACgCcCEEIAAoAmwhBiAAKAIYIQUDQCADIAsoAgAiBzYCZCAEIAZrIhBBA3UiAkEAIAVrRw0GIAdFDQcCQCAFQQlNBEAgACAFQQFqIgY2AhggDSAFQQN0aiICQYzRADYCACACIANB5ABqNgIEIAQhAiAGIQUMAQsgACgCdCIIIARLBEAgBEGM0QA2AgAgBCADQeQAajYCBCAAIARBCGoiAjYCcAwBCyACQQFqIgdBgICAgAJPDQlB/////wEgCCAGayIIQQJ1IgwgByAHIAxJGyAIQfj///8HTxsiB0GAgICAAk8NCiAQIAdBA3QiDBBcIghqIgdBjNEANgIAIAggAkEDdGogA0HkAGo2AgQgB0EIaiECIAQgBkcEQANAIAdBCGsiByAEQQhrIgQpAgA3AgAgBCAGRw0ACwsgACAIIAxqNgJ0IAAgAjYCcCAAIAc2AmwgBkUNACAGEFogACgCcCECIAAoAhghBQtBACAFayACIAAoAmwiBmtBA3VHBEADQAJAIAIgBkYEQCAFRQ0OIA0gBUEBayIEQQN0aiIFKAIEIQIgBSgCACEGIAAgBDYCGAwBCyACQQhrIgQoAgAhBiAEKAIEIQIgACAENgJwCyAJIAI2AgAgAigCAEUNDSAAIAIgBhEAAEEAIAAoAhgiBWsgACgCcCICIAAoAmwiBmtBA3VHDQALCyACIQQgC0EEaiILIA9HDQALCyAKQQRqIgogDkcNAAsMCQtB6PoFQbqLA0H8A0HaywIQAQALEAAhGSAEEGsgGRAHAAsQACEAIAQQawwIC0HNygVB05kDQcgCQdD4AhABAAtBgYMCQdOZA0G5AkGu9wIQAQALEGQACxBqAAtB3sQFQbCUA0HaAEH9+wIQAQALQfWCAkHTmQNBzQJB0PgCEAEACyABKAJIIgIgASgCTCIBRwRAA0AgAigCACIELQAURQRAIAkgBEEYahD7BgsgAkEEaiICIAFHDQALCyAAQQA2AnwLIANBsAJqJAAPCyADQdgBahBhIAAQBwALlxICGH8BfiMAQbACayICJAACQAJAAkACQAJAAkAgACgCBARAIAAgACgCACgCEBECAARAIAIgACgCBCIDKQI4NwP4ASACIAMpAjA3A/ABIAIgAykCKDcD6AEgAiADKQIgNwPgASACIAMpAhg3A9gBIAJBgAJqIANBQGsQ4wEhBEHUiQtBADYCAEGaASACQZQCaiADQdQAahACIQVB1IkLKAIAIRFB1IkLQQA2AgAgEUEBRg0CIAIgAygCaDYCqAIgAiADKAJsIgM2AqwCIAMEQCADIAMoAgRBAWo2AgQLIAJBASACKALgASIDIANBAEobNgLgASACIAIpA+gBNwMYIAIgAikD8AE3AyAgAiACKQP4ATcDKCACIAIpA+ABNwMQIAJBASACKALcASIDIANBAEobNgLcAUHUiQtBADYCACACIAIpA9gBNwMIQZsBIAJBMGogBBACIQRB1IkLKAIAIQNB1IkLQQA2AgACQCADQQFHBEBB1IkLQQA2AgBBmgEgAkHEAGogBRACIQVB1IkLKAIAIRJB1IkLQQA2AgAgEkEBRg0FIAIgAigCrAIiAzYCXCACIAIoAqgCNgJYIAMEQCADIAMoAgRBAWo2AgQLIAJBADYCdCACIAIpAxA3AoABIAIgAikDGDcCiAEgAiACKQMgNwKQASACIAIpAyg3ApgBIAJCADcCbCACQfzsCTYCYCACIAIpAwg3AnhB1IkLQQA2AgAgAiABNgJkIAIgAUGoAWo2AmhBmwEgAkGgAWogBBACIQFB1IkLKAIAIQNB1IkLQQA2AgACQCADQQFHBEBB1IkLQQA2AgBBmgEgAkG0AWogBRACGkHUiQsoAgAhE0HUiQtBADYCACATQQFHBEAgAiACKAJYNgLIASACIAIoAlwiATYCzAEgAQRAIAEgASgCBEEBajYCBAsgAkEAOwHQASACQQhqEGEgAkEBOgDQASAAKAIAKAIUIRRB1IkLQQA2AgAgFCAAEAYhAEHUiQsoAgAhFUHUiQtBADYCACAVQQFGDQQgAigCYCgCCCEWQdSJC0EANgIAIBYgAkHgAGoiASAAEANB1IkLKAIAIRdB1IkLQQA2AgAgF0EBRg0EQdSJC0EANgIAQZcBIAEQCkHUiQsoAgAhGEHUiQtBADYCACAYQQFGDQQgAkH87Ak2AmAgAkH4AGoQYSACKAJsIgEEQCACKAJwIgAgASIDRwRAA0AgAEEEayIAKAIAIQMgAEEANgIAIAMEQCADIAMoAgAoAgQRAQALIAAgAUcNAAsgAigCbCEDCyACIAE2AnAgAxBaCyACQdgBahBhDAsLEAAhACABEGsMAQsQACEACyACQewAahDgASACQQhqEGEMCQsQACEADAgLEAAhACACQeAAahB8GgwHCyAAIAE2AnwgAEEUaiEJIAEoAhgiAyABKAIcIgZGDQQDQCADKAIAIgUoAgxFBEAgCSAFQSBqEPwGCwJAIAUoAiAiBCgCACIHQSlGDQAgACgCgAEhCgJAIAdBDkcNACAEKAIYIgdBB08NBiAEQQhqIQQCQAJAAkACQAJAAkAgB0ECaw4FBQABAgMECyAEKQMAQgBSDQUMBgsgBCoCAEMAAAAAXA0EDAULIAQrAwBEAAAAAAAAAABiDQMMBAsgAkIANwNoIAJCADcDYCAEIAJB4ABqQRAQXg0CDAMLQe+EBEHmmgNB9gAQYgALIAQoAgBFDQELIAIgBSkCACIaNwPYASAapyEEIBpCIIinQRNPBEAgBEHSlwVBExBeRQ0BCyACQeAAaiAKIAQgAkHYAWoQtwIgAigCYCIEIAQoAhBBAWo2AhALIANBBGoiAyAGRw0ACwwEC0Ho+gVBuosDQfwDQdrLAhABAAsQACEZIAQQayAZEAcACxAAIQAgBBBrDAMLQeHNBkGfnwNBwwFB8+cEEAEACyABKAIMIgMgASgCECIFRwRAA0AgAygCACIEKAIMRQRAIAAgBDYCeCAJIARBMGoQ/AYgAEEANgJ4CyADQQRqIgMgBUcNAAsLAkAgASgCMCIKIAEoAjQiDkYNACAAQRxqIQ0CQAJAAkACQAJAA0AgCigCACIDKAIMBEAgCSADQRRqEPwGCwJAIAMoAhwiCyADKAIgIg9HBEAgACgCcCEEIAAoAmwhBiAAKAIYIQUDQCACIAsoAgAiBzYCYCAEIAZrIhBBA3UiA0EAIAVrRw0CIAdFDQQCQCAFQQlNBEAgACAFQQFqIgY2AhggDSAFQQN0aiIDQYvRADYCACADIAJB4ABqNgIEIAQhAyAGIQUMAQsgACgCdCIIIARLBEAgBEGL0QA2AgAgBCACQeAAajYCBCAAIARBCGoiAzYCcAwBCyADQQFqIgdBgICAgAJPDQZB/////wEgCCAGayIIQQJ1IgwgByAHIAxJGyAIQfj///8HTxsiB0GAgICAAk8NByAQIAdBA3QiDBBcIghqIgdBi9EANgIAIAggA0EDdGogAkHgAGo2AgQgB0EIaiEDIAQgBkcEQANAIAdBCGsiByAEQQhrIgQpAgA3AgAgBCAGRw0ACwsgACAIIAxqNgJ0IAAgAzYCcCAAIAc2AmwgBkUNACAGEFogACgCcCEDIAAoAhghBQtBACAFayADIAAoAmwiBmtBA3VHBEADQAJAIAMgBkYEQCAFRQ0LIA0gBUEBayIEQQN0aiIFKAIEIQMgBSgCACEGIAAgBDYCGAwBCyADQQhrIgQoAgAhBiAEKAIEIQMgACAENgJwCyAJIAM2AgAgAygCAEUNCiAAIAMgBhEAAEEAIAAoAhgiBWsgACgCcCIDIAAoAmwiBmtBA3VHDQALCyADIQQgC0EEaiILIA9HDQALCyAKQQRqIgogDkcNAQwHCwtBzcoFQdOZA0HIAkHQ+AIQAQALQYGDAkHTmQNBuQJBrvcCEAEACxBkAAsQagALQd7EBUGwlANB2gBB/fsCEAEAC0H1ggJB05kDQc0CQdD4AhABAAsgASgCSCIDIAEoAkwiAUcEQANAIAMoAgAiBC0AFEUEQCAJIARBGGoQ/AYLIANBBGoiAyABRw0ACwsgAEEANgJ8CyACQbACaiQADwsgAkHYAWoQYSAAEAcAC/8KAQ5/IwBBsAJrIgIkAAJAAkACQAJAAkACQAJAAkACQAJAAkAgAS0AhQFBBHFFDQAgAkIANwOgAiACQgA3A5gCIAJBgICA/AM2AqgCIAJBADYCkAIgAkIANwKIAiACQgA3AqQBIAJBADYCrAEgAkIANwKAAiACQgA3ApwBIAJB6OcHNgKUASACIAJBmAJqNgKUAiAAKAIEIQNB1IkLQQA2AgAgAiADNgKYAUGI0QAgAkGUAWogARADQdSJCygCACEFQdSJC0EANgIAIAVBAUYNAQNAIAJCADcCeCACQQA2AogBIAJCADcCgAEgAkEANgIkIAJCADcCHCACQgA3AhQgAkEANgKMASACQZjoBzYCDCACIAJBmAJqNgKQASAAKAIEIQNB1IkLQQA2AgAgAiADNgIQQYnRACACQQxqIAEQA0HUiQsoAgAhBkHUiQtBADYCACAGQQFGDQogAigCjAEhByACKAJ4IgMEQCACIAM2AnwgAxBaCyACQZDtCTYCDCACLAAfQQBIBEAgAigCFBBaCyAHDQALIAIoAoACIgMEQCACIAM2AoQCIAMQWgsgAkGQ7Qk2ApQBIAIsAKcBQQBIBEAgAigCnAEQWgsgAigCoAIiAwRAA0AgAygCACEIIAMQWiAIIgMNAAsLIAIoApgCIQMgAkEANgKYAiADBEAgAxBaCyACQQA2AogBIAJCADcCgAEgAkIANwIcIAJBADYCJCACQgA3AnggAkIANwIUIAJByOgHNgIMIAAoAgQhAEHUiQtBADYCACACIAA2AhBBitEAIAJBDGogARADQdSJCygCACEJQdSJC0EANgIAIAlBAUYNAyACQgA3AKUBIAJCADcCyAEgAkEAOgDEASACQRQ2AsABIAJCgoCAgHA3ArgBIAJCADcCsAEgAkGBAjsArQEgAkIANwLQASACQgA3AtgBIAJCgICAgICAgMA/NwLgASACQgA3AugBIAJCADcC8AEgAkGAgID8AzYC+AEgAkEAOwGEAiACQgA3AvwBIAJCADcCoAEgAkH87Ak2ApQBIAIgATYCmAEgAiABQagBajYCnAFB1IkLQQA2AgBBBEEgEAYhAUHUiQsoAgAhCkHUiQtBADYCACAKQQFGDQQgAUEAOgAWIAFBtZoBKQAANwAOIAFBr5oBKQAANwAIIAFBp5oBKQAANwAAQdSJC0EANgIAQdQAIAJBmAJqIgAgAUEWEAhB1IkLKAIAIQtB1IkLQQA2AgAgC0EBRg0FQdSJC0EANgIAQdkAIAAQBiEAQdSJCygCACEMQdSJC0EANgIAIAxBAUYNAiACKAKUASgCCCENQdSJC0EANgIAIA0gAkGUAWogABADQdSJCygCACEOQdSJC0EANgIAIA5BAUYNAiACLACjAkEASARAIAIoApgCEFoLIAEQWkHUiQtBADYCACACQQE6AIQCQZcBIAJBlAFqEApB1IkLKAIAIQ9B1IkLQQA2AgAgD0EBRg0EIAJB/OwJNgKUASACQawBahBhIAIoAqABIgEEQCACKAKkASIDIAEiAEcEQANAIANBBGsiAygCACEAIANBADYCACAABEAgACAAKAIAKAIEEQEACyABIANHDQALIAIoAqABIQALIAIgATYCpAEgABBaCyACKAJ4IgAEQCACIAA2AnwgABBaCyACQZDtCTYCDCACLAAfQQBODQAgAigCFBBaCyACQbACaiQADwsQACEDDAgLEAAhACACLACjAkEATg0DIAIoApgCEFoMAwsQACEADAQLEAAhAAwCCxAAIQALIAEQWgsgAkGUAWoQfBoLIAJBDGoQ5AEaIAAQBwALEAAhAyACQQxqEOQBGgsgAkGUAWoQ5AEaIAJBmAJqEKIBIAMQBwALkwwCCX8BfiMAQRBrIgokAAJAIAEoAgAiASgCAEEGRgRAIAAoAnwgARCeBgRAIAEoAgwiAkUNAiABKAIIIAJBAnRqQQRrKAIAIQYgASACQQFrNgIMIAAoAnwhAgJAIAYoAgBBK0YEQCABKAIEIQMgBikCCCELIAJBqAFqIgZBJEEEEF0iAkIANwIIIAJBBjYCACACQQA6ACAgAiALNwIYIAIgAzYCBCACQRBqQQA2AgAgAiAGNgIUIAEoAgwiBEUEQCACQQA6ACAMAgsgAiAENgIQIAIgBiAEQQJ0QQQQXSIDNgIIAn8gASgCDCIHRQRAIAJBADoAICACIAQ2AgxBAAwBC0EAIQZBACEDIAdBBE8EQCAHQXxxIQgDQCADQQJ0IgUgAigCCGogASgCCCAFaigCADYCACAFQQRyIgkgAigCCGogASgCCCAJaigCADYCACAFQQhyIgkgAigCCGogASgCCCAJaigCADYCACAFQQxyIgUgAigCCGogASgCCCAFaigCADYCACADQQRqIgMgCEcNAAsLIAdBA3EiBQRAA0AgA0ECdCIHIAIoAghqIAEoAgggB2ooAgA2AgAgA0EBaiEDIAZBAWoiBiAFRw0ACwsgAkEAOgAgIAIgBDYCDCACKAIIIQNBAAshAQNAIAMgAUECdGooAgAoAgRBAUcEQCAEIAFBAWoiAUcNAQwDCwsgAkEBNgIEDAELIAEoAgQhBCACQagBaiIDQSBBBBBdIgJCADcCCCACQTw2AgAgAkEAOgAcIAIgBjYCGCACIAQ2AgQgAkEQakEANgIAIAIgAzYCFAJAIAEoAgwiBUUNACACIAU2AhAgAiADIAVBAnRBBBBdNgIIIAEoAgwiB0UNAEEAIQZBACEDIAdBBE8EQCAHQXxxIQgDQCADQQJ0IgQgAigCCGogASgCCCAEaigCADYCACAEQQRyIgkgAigCCGogASgCCCAJaigCADYCACAEQQhyIgkgAigCCGogASgCCCAJaigCADYCACAEQQxyIgQgAigCCGogASgCCCAEaigCADYCACADQQRqIgMgCEcNAAsLIAdBA3EiBEUNAANAIANBAnQiByACKAIIaiABKAIIIAdqKAIANgIAIANBAWohAyAGQQFqIgYgBEcNAAsLIAJBADoAHCACIAU2AgwgAhCVBgsgCiACNgIEAkAgACgCeCIBRQ0AIAEoAmxFDQAgAUHgAGohBwJAIAEoAmQiBEUNACACQZXTx94FbCIBQRh2IAFzQZXTx94FbEHUzJ76BnMiAUENdiABc0GV08feBWwiAUEPdiABcyEDAkAgBGkiBUEBTQRAIARBAWsgA3EhBgwBCyADIgYgBEkNACADIARwIQYLIAcoAgAgBkECdGooAgAiAUUNACABKAIAIgFFDQAgBUEBTQRAIARBAWshBQNAAkAgASgCBCIIIANHBEAgBSAIcSAGRg0BDAQLIAEoAgggAkYNBAsgASgCACIBDQALDAELA0ACQCABKAIEIgUgA0cEQCAEIAVNBH8gBSAEcAUgBQsgBkYNAQwDCyABKAIIIAJGDQMLIAEoAgAiAQ0ACwsgBEUNACAAKAIUKAIAIghBldPH3gVsIgFBGHYgAXNBldPH3gVsQdTMnvoGcyIBQQ12IAFzQZXTx94FbCIBQQ92IAFzIQMCQCAEaSIFQQFNBEAgAyAEQQFrcSEGDAELIAMiBiAESQ0AIAMgBHAhBgsgBygCACAGQQJ0aigCACIBRQ0AIAEoAgAiAUUNAAJAIAVBAU0EQCAEQQFrIQQDQAJAIAMgASgCBCIFRwRAIAQgBXEgBkYNAQwFCyABKAIIIAhGDQMLIAEoAgAiAQ0ACwwCCwNAAkAgAyABKAIEIgVHBEAgBCAFTQR/IAUgBHAFIAULIAZGDQEMBAsgASgCCCAIRg0CCyABKAIAIgENAAsMAQsgCkEIaiAHIAIgCkEEahB4IAooAggiBiABKAIUNgIUIAYgASkCDDcCDAsgACgCFCACNgIACyAKQRBqJAAPC0Hw7QVBxZgDQZQGQY3eABABAAtBtMQFQYmiA0HQAUH9+wIQAQALHABBgAEQXCIAQQBBgAH8CwAgAEGI5wc2AgAgAAs/ACAAKAIERQRAQej6BUG6iwNBnARB7tMCEAEACyAAIAI2AnggACABNgJ8IABBFGogAkEwahD9BiAAQgA3AngLviIBDn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEoAgAiAigCAA5eAAECAwQFBgcICQoLDA0eHyAhIiMkJTU2Dg8QERITFBUWFxgZGhscHTcmJygpKissLS4vMDEyMzQ4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcAF0LQZj9A0HlswNB6gEQYgALIABBFGpBrNAAIAEQWCACKAIAQQFHDVwgAigCFCIBQQBMDVsgAEEYaiEDA0AgAUEBayIAIAIoAhRPDV4gAigCECAAQQJ0aiIEKAIARQ1fIANBq9AAIAQQWyABQQFLIQYgACEBIAYNAAsMWwsgAEEUaiIDQa3QACABEFggAigCAEECRw1bIAIoAhAEQCAAQRhqQavQACACQRBqEFsLIANBq9AAIAJBDGoQWCADQavQACACQQhqEFgPCyAAQRRqIgBBrtAAIAEQWCACKAIAQQNHDVoMYAsgAEEUakGv0AAgARBYIAIoAgBBBEcNWSACKAIUBEAgAEEYakGr0AAgAkEUahBbCyACKAIQRQ1YIABBGGpBq9AAIAJBEGoQWw8LIABBFGoiA0Gw0AAgARBYIAIoAgBBBUcNWCADQavQACACQSRqEFggAigCIEUNVyAAQRhqQavQACACQSBqEFsPCyAAQRRqQbHQACABEFggAigCAEEGRw1XIAIoAgwiAUEATA1WIABBGGohAwNAIAFBAWsi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CysAIAEoAgAoAgBB1QBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIABB1QAQggILKwAgASgCACgCAEHUAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgAEHUABCCAgsrACABKAIAKAIAQdMARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQdMAEIICCysAIAEoAgAoAgBB0gBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIABB0gAQggILKwAgASgCACgCAEHRAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgAEHRABCCAgsrACABKAIAKAIAQdAARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQdAAEIICCysAIAEoAgAoAgBBzwBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIABBzwAQggILKwAgASgCACgCAEHOAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgAEHOABCCAgsrACABKAIAKAIAQc0ARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQc0AEIICCysAIAEoAgAoAgBBzABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIABBzAAQggILKwAgASgCACgCAEHLAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgAEHLABCCAgsrACABKAIAKAIAQcoARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQcoAEIICCysAIAEoAgAoAgBByQBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIABByQAQggILKwAgASgCACgCAEHIAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgAEHIABCCAgsrACABKAIAKAIAQccARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQccAEIICCysAIAEoAgAoAgBBxgBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIABBxgAQggILKwAgASgCACgCAEHFAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgAEHFABCCAgsrACABKAIAKAIAQcQARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQcQAEIICCysAIAEoAgAoAgBBwwBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIABBwwAQggILKwAgASgCACgCAEHCAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgAEHCABCCAgsrACABKAIAKAIAQcEARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQcEAEIICCysAIAEoAgAoAgBBwABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIABBwAAQggILKQAgASgCACgCAEE/RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQT8QggILKQAgASgCACgCAEE+RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQT4QggILKQAgASgCACgCAEE9RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQT0QggILKQAgASgCACgCAEE8RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQTwQggILKQAgASgCACgCAEE7RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQTsQggILKQAgASgCACgCAEE6RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQToQggILKQAgASgCACgCAEE5RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQTkQggILKQAgASgCACgCAEE4RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQTgQggILKQAgASgCACgCAEEoRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQSgQggILKQAgASgCACgCAEEXRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQRcQggILKQAgASgCACgCAEEWRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQRYQggILKQAgASgCACgCAEE3RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQTcQggILKQAgASgCACgCAEE2RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQTYQggILKQAgASgCACgCAEE1RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQTUQggILKQAgASgCACgCAEE0RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQTQQggILKQAgASgCACgCAEEzRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQTMQggILKQAgASgCACgCAEEyRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQTIQggILKQAgASgCACgCAEExRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQTEQggILKQAgASgCACgCAEEwRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQTAQggILKQAgASgCACgCAEEvRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQS8QggILKQAgASgCACgCAEEuRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQS4QggILKQAgASgCACgCAEEtRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQS0QggILKQAgASgCACgCAEEsRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQSwQggILKQAgASgCACgCAEErRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQSsQggILKQAgASgCACgCAEEqRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQSoQggILKQAgASgCACgCAEEpRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQSkQggILKQAgASgCACgCAEEVRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQRUQggILKQAgASgCACgCAEEURwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQRQQggILKQAgASgCACgCAEETRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQRMQggILKQAgASgCACgCAEESRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQRIQggILKQAgASgCACgCAEERRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQREQggILKQAgASgCACgCAEEQRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQRAQggILKQAgASgCACgCAEEPRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQQ8QggILKQAgASgCACgCAEEORwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQQ4QggILKQAgASgCACgCAEEnRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQScQggILKQAgASgCACgCAEEmRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQSYQggILKQAgASgCACgCAEElRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQSUQggILKQAgASgCACgCAEEkRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQSQQggILKQAgASgCACgCAEEjRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQSMQggILKQAgASgCACgCAEEiRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQSIQggILKQAgASgCACgCAEEhRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQSEQggILKQAgASgCACgCAEEgRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQSAQggILKQAgASgCACgCAEEfRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQR8QggILKQAgASgCACgCAEEeRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQR4QggILKQAgASgCACgCAEEdRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQR0QggILKQAgASgCACgCAEEcRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQRwQggILKQAgASgCACgCAEEbRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQRsQggILKQAgASgCACgCAEEaRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQRoQggILKQAgASgCACgCAEEZRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQRkQggILKQAgASgCACgCAEEYRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQRgQggILKQAgASgCACgCAEENRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQQ0QggILKQAgASgCACgCAEEMRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQQwQggILKQAgASgCACgCAEELRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQQsQggILkwUCDH8BfiMAQZABayIGJAACQCACKAIYIgggAigCHCIKRwRAA0ACQCAIKAIAIgcoAgxFDQACQAJAIAAgBxD4ECILKAIUIgIoAsQBIgNFDQAgAigCwAECfyAHKAIUIgQgA0EBa3EgA2lBAUsiBUUNABogBCADIARLDQAaIAQgA3ALIglBAnRqKAIAIgJFDQAgAigCACICRQ0AAkAgBUUEQCADQQFrIQMDQAJAIAQgAigCBCIFRwRAIAMgBXEgCUYNAQwFCyACKAIIIARGDQMLIAIoAgAiAg0ACwwCCwNAAkAgBCACKAIEIgVHBEAgAyAFTQR/IAUgA3AFIAULIAlGDQEMBAsgAigCCCAERg0CCyACKAIAIgINAAsMAQsgAigCECICDQELIAYQqQIhAEHUiQtBADYCAEEJIABBCGpB9uoGQR8QBCEBQdSJCygCACECQdSJC0EANgIAAkAgAkEBRg0AIAcpAgwhD0HUiQtBADYCAEEJIAEgD6cgD0IgiKcQBCEBQdSJCygCACEMQdSJC0EANgIA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AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAIgIoAgAOXgABAgMEBQYHCAkKCwwNHh8gISIjJCU1Ng4PEBESExQVFhcYGRobHB03JicoKSorLC0uLzAxMjM0ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXABdC0GY/QNB5bMDQeoBEGIACyAAQZTOACABEFggAigCAEEBRw1cIAIoAhQiAUEATA1bIABBBGohBANAIAFBAWsiACACKAIUTw1eIAIoAhAgAEECdGoiAygCAEUNXyAEQZPOACADEFsgAUEBSyEGIAAhASAGDQALDFsLIABBlc4AIAEQWCACKAIAQQJHDVsgAigCEARAIABBBGpBk84AIAJBEGoQWwsMYAsgAEGWzgAgARBYIAIoAgBBA0cNWgxjCyAAQZfOACABEFggAigCAEEERw1ZIAIoAhQEQCAAQQRqQZPOACACQRRqEFsLIAIoAhBFDVggAEEEakGTzgAgAkEQahBbDwsgAEGYzgAgARBYIAIoAgBBBUcNWCAAQZPOACACQSRqEFggAigCIEUNVyAAQQRqQZPOACACQSBqEFsPCyAAQZnOACABEFggAigCAEEGRw1XIAIoAgwiAUEATA1WIABBBGohBANAIAFBAWsiACACKAIMTw1ZIAIoAgggAEECdGoiAygCAEUNWiAEQZPOACADEFsgAUEBSyEHIAAhASAHDQALDFYLIABBms4AIAEQWCACKAIAQQdHDVYgAEGTzgAgAkEcahBYIAIoAhAiAUEATA1VIABBBGohBANAIAFBAWsiACACKAIQTw1YIAIoAgwgAEECdGoiAygCAEUNWSAEQZPOACADEFsgAUEBSyEIIAAhASAIDQALDFULIABBm84AIAEQWCACKAIAQQhGDVQMVQsgAEGczgAgARBYIAIoAgBBCUcNVAxgCyAAQZ3OACABEFggAigCAEEKRg1SDFMLIABBns4AIAEQWCACKAIAQQtHDVIMWwsgAEGfzgAgARBYIAIoAgBBDEcNUQxfCyAAQaDOACABEFggAigCAEENRw1QDF0LIABBoc4AIAEQWCACKAIAQRhHDU8MXgsgAEGizgAgARBYIAIoAgBBGUcNTiAAQZPOACACQSBqEFgMXQsgAEGjzgAgARBYIAIoAgBBGkcNTQxUCyAAQaTOACABEFggAigCAEEbRw1MDFQLIABBpc4AIAEQWCACKAIAQRxGDUoMSwsgAEGmzgAgARBYIAIoAgBBHUcNSgxWCyAAQafOACABEFggAigCAEEeRw1JIABBk84AIAJBFGoQWAxVCyAAQajOACABEFggAigCAEEfRw1IDE0LIABBqc4AIAEQWCACKAIAQSBHDUcMUQsgAEGqzgAgARBYIAIoAgBBIUcNRgxRCyAAQavOACABEFggAigCAEEiRw1FIABBk84AIAJBIGoQWA8LIABBrM4AIAEQWCACKAIAQSNHDUQMUQsgAEGtzgAgARBYIAIoAgBBJEcNQwxKCyAAQa7OACABEFggAigCAEElRg1BDEILIABBr84AIAEQWCACKAIAQSZHDUEMRQsgAEGwzgAgARBYIAIoAgBBJ0cNQAxECyAAQbHOACABEFggAigCAEEORg0+DD8LIABBss4AIAEQWCACKAIAQQ9HDT4MSgsgAEGzzgAgARBYIAIoAgBBEEcNPQxICyAAQbTOACABEFggAigCAEERRw08DEALIABBtc4AIAEQWCACKAIAQRJHDTsMSwsgAEG2zgAgARBYIAIoAgBBE0cNOiACKAIIRQ05DEsLIABBt84AIAEQWCACKAIAQRRGDTgMOQsgAEG4zgAgARBYIAIoAgBBFUcNOAxICyAAQbnOACABEFggAigCAEEpRg02DDcLIABBus4AIAEQWCACKAIAQSpHDTYMRgsgAEG7zgAgARBYIAIoAgBBK0YNNAw1CyAAQbzOACABEFggAigCAEEsRw00DDkLIABBvc4AIAEQWCACKAIAQS1HDTMMPAsgAEG+zgAgARBYIAIoAgBBLkcNMgw6CyAAQb/OACABEFggAigCAEEvRg0wDDELIABBwM4AIAEQWCACKAIAQTBHDTAMOAsgAEHBzgAgARBYIAIoAgBBMUcNLww2CyAAQcLOACABEFggAigCAEEyRw0uDDILIABBw84AIAEQWCACKAIAQTNHDS0gAigCKCIBQQBKBEAgAEEEaiEDA0AgAUEBayIEIAIoAihPDTAgAigCJCAE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C0GY/QNB5bMDQeoBEGIACyAAQbfNACABEFggAigCAEEBRw1cIAIoAhQiAUEATA1bIABBBGohBANAIAFBAWsiACACKAIUTw1eIAIoAhAgAEECdGoiAygCAEUNXyAEQf3LACADEFsgAUEBSyEGIAAhASAGDQALDFsLIABBuM0AIAEQWCACKAIAQQJHDVsgAigCEARAIABBBGpB/csAIAJBEGoQWwsMYAsgAEG5zQAgARBYIAIoAgBBA0cNWgxjCyAAQbrNACABEFggAigCAEEERw1ZIAIoAhQEQCAAQQRqQf3LACACQRRqEFsLIAIoAhBFDVggAEEEakH9ywAgAkEQahBbDwsgAEG7zQAgARBYIAIoAgBBBUcNWCAAQf3LACACQSRqEFggAigCIEUNVyAAQQRqQf3LACACQSBqEFsPCyAAQbzNACABEFggAigCAEEGRw1XIAIoAgwiAUEATA1WIABBBGohBANAIAFBAWsiACACKAIMTw1ZIAIoAgggAEECdGoiAygCAEUNWiAEQf3LACADEFsgAUEBSyEHIAAhASAHDQALDFYLIABBvc0AIAEQWCACKAIAQQdHDVYgAEH9ywAgAkEcahBYIAIoAhAiAUEATA1VIABBBGohBANAIAFBAWsiACACKAIQTw1YIAIoAgwgAEECdGoiAygCAEUNWSAEQf3LACADEFsgAUEBSyEIIAAhASAIDQALDFULIABBvs0AIAEQWCACKAIAQQhGDVQMVQsgAEG/zQAgARBYIAIoAgBBCUcNVAxgCyAAQcDNACABEFggAigCAEEKRg1SDFMLIABBwc0AIAEQWCACKAIAQQtHDVIMWwsgAEHCzQAgARBYIAIoAgBBDEcNUQxfCyAAQcPNACABEFggAigCAEENRw1QDF0LIABBxM0AIAEQWCACKAIAQRhHDU8MXgsgAEHFzQAgARBYIAIoAgBBGUcNTiAAQf3LACACQSBqEFgMXQsgAEHGzQAgARBYIAIoAgBBGkcNTQxUCyAAQcfNACABEFggAigCAEEbRw1MDFQLIABByM0AIAEQWCACKAIAQRxGDUoMSwsgAEHJzQAgARBYIAIoAgBBHUcNSgxWCyAAQcrNACABEFggAigCAEEeRw1JIABB/csAIAJBFGoQWAxVCyAAQcvNACABEFggAigCAEEfRw1IDE0LIABBzM0AIAEQWCAC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QQFqIgogDUcNAAsLIAAoAhBBABBmGiAAKAIQIAAoAqwBIAAoArABIAkoAhwQogMQZhoLIAtBBGoiCyAQRw0ACyAAKAIMIQELIAEoAhgiCCABKAIcIhBHBEADQCAIKAIAIgsoAgwEQCAAKAIQIAspAgwisQJCIIinIg0QZhogDQRAILECpyERQQAhCgNAIAogEWotAAAhAQJAIAAoAhAiBigCBCIHIAYoAggiA0kEQCAHIAE6AAAgBiAHQQFqNgIEDAELIAcgBigCACIJayIMQQFqIgJBAEgNDCAMQf////8HIAMgCWsiA0EBdCIEIAIgAiAESRsgA0H/////A08bIgMEfyADEFwFQQALIgRqIgIgAToAACADIARqIQ8gAkEBaiESAkAgByAJRgRAIAIhBAwBC0EAIQMgByEBIAxBA3EiDARAA0AgAkEBayICIAFBAWsiAS0AADoAACADQQFqIgMgDEcNAAsLIAkgB2tBfE0EQANAIAJBAWsgAUEBay0AADoAACACQQJrIAFBAmstAAA6AAAgAkEDayABQQNrLQAAOgAAIAJBBGsiAiABQQRrIgEtAAA6AAAgASAJRw0ACwsgBigCACEHCyAGIA82AgggBiASNgIEIAYgBDYCACAHRQ0AIAcQWgsgCkEBaiIKIA1HDQALCyAAKAIQIAspAhQisQJCIIinIg0QZhogDQRAILECpyERQQAhCgNAIAogEWotAAAhAQJAIAAoAhAiBigCBCIHIAYoAggiA0kEQCAHIAE6AAAgBiAHQQFqNgIEDAELIAcgBigCACIJayIMQQFqIgJBAEgNDCAMQf////8HIAMgCWsiA0EBdCIEIAIgAiAESRsgA0H/////A08bIgMEfyADEFwFQQALIgRqIgIgAToAACADIARqIQ8gAkEBaiESAkAgByAJRgRAIAIhBAwBC0EAIQMgByEBIAxBA3EiDARAA0AgAkEBayICIAFBAWsiAS0AADoAACADQQFqIgMgDEcNAAsLIAkgB2tBfE0EQANAIAJBAWsgAUEBay0AADoAACACQQJrIAFBAmstAAA6AAAgAkEDayABQQNrLQAAOgAAIAJBBGsiAiABQQRrIgEtAAA6AAAgASAJRw0ACwsgBigCACEHCyAGIA82AgggBiASNgIEIAYgBDYCACAHRQ0AIAcQWgsgCkEBaiIKIA1HDQALCyAAKAIQQQMQZhogACALKAIcENADIAAoAhAgCy0AJBBmGgsgCEEEaiIIIBBHDQALIAAoAgwhAQsgASgCJCILIAEoAigiEEcEQANAIAsoAgAiCSgCDARAIAAoAhAgCSkCDCKxAkIgiKciDRBmGiANBEAgsQKnIRFBACEKA0AgCiARai0AACEBAkAgACgCECIGKAIEIgcgBigCCCIDSQRAIAcgAToAACAGIAdBAWo2AgQMAQsgByAGKAIAIghrIgxBAWoiAkEASA0MIAxB/////wcgAyAIayIDQQF0IgQgAiACIARJGyADQf////8DTxsiAwR/IAMQXAVBAAsiBGoiAiABOgAAIAMgBGohDyACQQFqIRICQCAHIAhGBEAgAiEEDAELQQAhAyAHIQEgDEEDcSIMBEADQCACQQFrIgIgAUEBayIBLQAAOgAAIANBAWoiAyAMRw0ACwsgCCAHa0F8TQRAA0AgAkEBayABQQFrLQAAOgAAIAJBAmsgAUECay0AADoAACACQQNrIAFBA2stAAA6AAAgAkEEayICIAFBBGsiAS0AADoAACABIAhHDQALCyAGKAIAIQcLIAYgDzYCCCAGIBI2AgQgBiAENgIAIAdFDQAgBxBaCyAKQQFqIgogDUcNAAsLIAAoAhAgCSkCFCKxAkIgiKciDRBmGiANBEAgsQKnIRFBACEKA0AgCiARai0AACEBAkAgACgCECIGKAIEIgcgBigCCCIDSQRAIAcgAToAACAGIAdBAWo2AgQMAQsgByAGKAIAIghrIgxBAWoiAkEASA0MIAxB/////wcgAyAIayIDQQF0IgQgAiACIARJGyADQf////8DTxsiAwR/IAMQXAVBAAsiBGoiAiABOgAAIAMgBGohDyACQQFqIRICQCAHIAhGBEAgAiEEDAELQQAhAyAHIQEgDEEDcSIMBEADQCACQQFrIgIgAUEBayIBLQAAOgAAIANBAWoiAyAMRw0ACwsgCCAHa0F8TQRAA0AgAkEBayABQQFrLQAAOgAAIAJBAmsgAUECay0AADoAACACQQNrIAFBA2stAAA6AAAgAkEEayICIAFBBGsiAS0AADoAACABIAhHDQALCyAGKAIAIQcLIAYgDzYCCCAGIBI2AgQgBiAENgIAIAdFDQAgBxBaCyAKQQFqIgogDUcNAAsLIAAoAhBBBBBmGiAAKAIQQQAQYxogACgCECFLIAUgCSkCHCKxAjcDiAEgBSCxAjcDiAIgBUGgAWogBUGIAWoQpwMhAiBLIAAoAqwBIAAoArABIAIoAgAQogMQZhoLIAtBBGoiCyAQRw0ACyAAKAIMIQELIAEoAjwiCCABQUBrKAIAIhBHBEADQAJAIAgoAgAiCygCDEUNACAAKAIQIAspAgwisQJCIIinIg0QZhogDQRAILECpyERQQAhCgNAIAogEWotAAAhAQJAIAAoAhAiBigCBCIHIAYoAggiA0kEQCAHIAE6AAAgBiAHQQFqNgIEDAELIAcgBigCACIJayIMQQFqIgJBAEgNDCAMQf////8HIAMgCWsiA0EBdCIEIAIgAiAESRsgA0H/////A08bIgMEfyADEFwFQQALIgRqIgIgAToAACADIARqIQ8gAkEBaiESAkAgByAJRgRAIAIhBAwBC0EAIQMgByEBIAxBA3EiDARAA0AgAkEBayICIAFBAWsiAS0AADoAACADQQFqIgMgDEcNAAsLIAkgB2tBfE0EQANAIAJBAWsgAUEBay0AADoAACACQQJrIAFBAmstAAA6AAAgAkEDayABQQNrLQAAOgAAIAJBBGsiAiABQQRrIgEtAAA6AAAgASAJRw0ACwsgBigCACEHCyAGIA82AgggBiASNgIEIAYgBDYCACAHRQ0AIAcQWgsgCkEBaiIKIA1HDQALCyAAKAIQIAspAhQisQJCIIinIg0QZhogDQRAILECpyERQQAhCgNAIAogEWotAAAhAQJAIAAoAhAiBigCBCIHIAYoAggiA0kEQCAHIAE6AAAgBiAHQQFqNgIEDAELIAcgBigCACIJayIMQQFqIgJBAEgNDCAMQf////8HIAMgCWsiA0EBdCIEIAIgAiAESRsgA0H/////A08bIgMEfyADEFwFQQALIgRqIgIgAToAACADIARqIQ8gAkEBaiESAkAgByAJRgRAIAIhBAwBC0EAIQMgByEBIAxBA3EiDARAA0AgAkEBayICIAFBAWsiAS0AADoAACADQQFqIgMgDEcNAAsLIAkgB2tBfE0EQANAIAJBAWsgAUEBay0AADoAACACQQJrIAFBAmstAAA6AAAgAkEDayABQQNrLQAAOgAAIAJBBGsiAiABQQRrIgEtAAA6AAAgASAJRw0ACwsgBigCACEHCyAGIA82AgggBiASNgIEIAYgBDYCACAHRQ0AIAcQWgsgCkEBaiIKIA1HDQALCyAAKAIQQQIQZhogCykDICGyAiAAKAIQIAstADBBAXQgCykDKCKxAkJ/UnIgCygCNCICQQNGQQJ0chBmGiAAKAIQIQEgAkEDRgRAIAEgsgIQwQcgsQJCf1ENASAAKAIQILECEMEHDAELIAEgsgKnEGYaILECQn9RDQAgACgCECCxAqcQZhoLIAhBBGoiCCAQRw0ACyAAKAIMIQELIAEoAlQiCCABKAJYIhBHBEADQAJAIAgoAgAiCygCDEUNACAAKAIQIAspAgwisQJCIIinIg0QZhogDQRAILECpyERQQAhCgNAIAogEWotAAAhAQJAIAAoAhAiBigCBCIHIAYoAggiA0kEQCAHIAE6AAAgBiAHQQFqNgIEDAELIAcgBigCACIJayIMQQFqIgJBAEgNDCAMQf////8HIAMgCWsiA0EBdCIEIAIgAiAESRsgA0H/////A08bIgMEfyADEFwFQQALIgRqIgIgAToAACADIARqIQ8gAkEBaiESAkAgByAJRgRAIAIhBAwBC0EAIQMgByEBIAxBA3EiDARAA0AgAkEBayICIAFBAWsiAS0AADoAACADQQFqIgMgDEcNAAsLIAkgB2tBfE0EQANAIAJBAWsgAUEBay0AADoAACACQQJrIAFBAmstAAA6AAAgAkEDayABQQNrLQAAOgAAIAJBBGsiAiABQQRrIgEtAAA6AAAgASAJRw0ACwsgBigCACEHCyAGIA82AgggBiASNgIEIAYgBDYCACAHRQ0AIAcQWgsgCkEBaiIKIA1HDQALCyAAKAIQIAspAhQisQJCIIinIg0QZhogDQRAILECpyERQQAhCgNAIAogEWotAAAhAQJAIAAoAhAiBigCBCIHIAYoAggiA0kEQCAHIAE6AAAgBiAHQQFqNgIEDAELIAcgBigCACIJayIMQQFqIgJBAEgNDCAMQf////8HIAMgCWsiA0EBdCIEIAIgAiAESRsgA0H/////A08bIgMEfyADEFwFQQALIgRqIgIgAToAACADIARqIQ8gAkEBaiESAkAgByAJRgRAIAIhBAwBC0EAIQMgByEBIAxBA3EiDARAA0AgAkEBayICIAFBAWsiAS0AADoAACADQQFqIgMgDEcNAAsLIAkgB2tBfE0EQANAIAJBAWsgAUEBay0AADoAACACQQJrIAFBAmstAAA6AAAgAkEDayABQQNrLQAAOgAAIAJBBGsiAiABQQRrIgEtAAA6AAAgASAJRw0ACwsgBigCACEHCyAGIA82AgggBiASNgIEIAYgBDYCACAHRQ0AIAcQWgsgCkEBaiIKIA1HDQALCyAAKAIQQQEQZhogACALKAIwENADIAsoAiAhASAAKAIQIAspAygisQJC/////w9SEGYaIAAoAhAgARBmGiCxAkL/////D1ENACAAKAIQILECpxBmGgsgCEEEaiIIIBBHDQALCyAAIA4gE2sQmwMgACgCqAIiASgCFCABKAIQayEDCyADIAEoAgAiAigCECACKAIMa0cEQCAAKAIQQQMQYxogACgC2AEEQCAAIAAoApACIAAoAowCa0EDdTYCmAILIAAgACgCuAI2AugCIAAoAhAiASgCBCECIAEoAgAhAyABQQAQggMaIAAoAhBBABBjGiAAKAIQIAAoAqgCIgEoAgAiBCgCECAEKAIMa0ECdSABKAIUIAEoAhBrQQJ1axBmGiAAKAIMIgQoAgwiASAEKAIQIgRHBEADQCABKAIAIgcoAgxFBEAgACgCECAAKAKsASAAKAKwASAHKAIcEKIDEGYaCyABQQRqIgEgBEcNAAsLIAAgAiADaxCbAyAAKAKoAiIBKAIAIQILIAIoAlggAigCVGsgASgCICABKAIca0cEQCAAKAIQQQQQYxogACgC2AEEQCAAIAAoApACIAAoAowCa0EDdTYCmAILIAAgACgCuAI2AugCIAAoAhAiASgCBCEDIAEoAgAhBCABQQAQggMaIAAoAhBBABBjGiAAKAIQIAAoAqgCIgEoAgAiAigCWCACKAJUa0ECdSABKAIgIAEoAhxrQQJ1axBmGiAAKAIMIgIoAlQiASACKAJYIgdHBEADQAJAIAEoAgAiAigCDA0AIAAgAigCMBDQAyACKAIgIQYgACgCECACKQMoIrECQv////8PUhBmGiAAKAIQIAYQZhogsQJC/////w9RDQAgACgCECCxAqcQZhoLIAFBBGoiASAHRw0ACwsgACADIARrEJsDIAAoAqgCIgEoAgAhAgsgAkFAaygCACACKAI8ayABKAIsIAEoAihrRwRAIAAoAhBBBRBjGiAAKALYAQRAIAAgACgCkAIgACgCjAJrQQN1NgKYAgsgACAAKAK4AjYC6AIgACgCECIBKAIEIQMgASgCACEEIAFBABCCAxogACgCEEEAEGMaIAAoAhAgACgCqAIiASgCACICQUBrKAIAIAIoAjxrQQJ1IAEoAiwgASgCKGtBAnVrEGYaIAAoAgwiAigCPCIBIAJBQGsoAgAiB0cEQANAAkAgASgCACICKAIMDQAgAikDICGyAiAAKAIQIAItADBBAXQgAikDKCKxAkJ/UnIgAigCNCIGQQNGQQJ0chBmGiAAKAIQIQIgBkEDRgRAIAIgsgIQwQcgsQJCf1ENASAAKAIQILECEMEHDAELIAIgsgKnEGYaILECQn9RDQAgACgCECCxAqcQZhoLIAFBBGoiASAHRw0ACwsgACADIARrEJsDIAAoAqgCIgEoAgAhAgsgAigCKCACKAIkayABKAI4IAEoAjRrRwRAIAAoAhBBDRBjGiAAKALYAQRAIAAgACgCkAIgACgCjAJrQQN1NgKYAgsgACAAKAK4AjYC6AIgACgCECIBKAIEIQIgASgCACEDIAFBABCCAxogACgCEEEAEGMaIAAoAhAgACgCqAIiASgCACIEKAIoIAQoAiRrQQJ1IAEoAjggASgCNGtBAnVrEGYaIAAoAgwiBCgCJCIBIAQoAigiBEcEQANAIAEoAgAiBygCDEUEQCAAKAIQQQAQYxogACgCECFMIAUgBykCHCKxAjcDgAEgBSCxAjcDiAIgBUGgAWogBUGAAWoQpwMhByBMIAAoAqwBIAAoArABIAcoAgAQogMQZhoLIAFBBGoiASAERw0ACwsgACACIANrEJsDCyAAKAIMIgEtAIUBQcAAcUUNBCAFQeixBzYCoAFB1IkLQQA2AgAgBSAFQaABaiIDNgKwAUHyACAFQZABaiABIAMQBCENQdSJCygCACEBQdSJC0EANgIAAkACQCABQQFHBEACQAJAIAMgBSgCsAEiAUYEQEEEIQIgAyEBDAELQQUhAiABRQ0BCyABIAEoAgAgAkECdGooAgARAQALIA1BCGoiEyEBAkAgEygCACICBEADQCACIgEoAhBFDQIgASgCACICDQALC0HUiQtBADYCAEEEQSgQBiECQdSJCygCACFNQdSJC0EANgIAIE1BAUYNAiACQgA3AhAgAiABNgIIIAJCADcCACACQgA3AhggAkKAgICAgICAwD83AiAgASACNgIAIAIh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AiAERw0ACwsgAEIANwKgASAAQgA3AsABIABBgQI7AdQBIABCADcCsAEgAEIANwKoASAAQoCAgICAgIDAPzcCuAEgAEIANwLIASAAQYCAgPwDNgLQASAAQQA2AoACIABCADcC+AEgAEIANwLwASAAQgA3AugBIABCADcC4AEgAEIANwLYASAAQgA3AqgCIABCADcCkAIgAEIANwKIAiAAQZC3CzYChAIgAEIANwKwAiAAQgA3AsACIABCgICAgICAgMA/NwK4AiAAQgA3AsgCIABBgICA/AM2AtACIABCADcC3AIgAEIANwLUAiAAQgA3AuwCIABBgICA/AM2AuQCIABCADcC9AIgAEIANwL8AiAAQoCAgICAgIDAPzcChAMgAEIANwKMAyAAQgA3ApQDIABBgICA/AM2ApwDIAAoAgwhAUHUiQtBADYCAEHnACAFIAEQA0HUiQsoAgAhAUHUiQtBADYCACAAQcABaiEJIABBoAFqIQwCQAJAIAFBAUYNACAMKAIAIgEEQCAAIAE2AqQBIAEQWiAAQQA2AqgBIABCADcCoAELIAAgBSgCADYCoAEgACAFKAIENgKkASAAIAUoAgg2AqgBIAVBADYCCCAFQgA3AgAgACgCuAEEQCAAKAK0ASICBEADQCACKAIAIRwgAhBaIBwiAg0ACwtBACECIABBADYCtAECQCAAKAKwASIERQ0AIARBBE8EQCAEQXxxIQEDQCACQQJ0IgMgACgCrAFqQQA2AgAgACgCrAEgA2pBADYCBCAAKAKsASADakEANgIIIAAoAqwBIANqQQA2AgwgAkEEaiICIAFHDQALCyAEQQNxIgFFDQBBACEDA0AgACgCrAEgAkECdGpBADYCACACQQFqIQIgA0EBaiIDIAFHDQALCyAAQQA2ArgBCyAFKAIMIQEgBUEANgIMIAAoAqwBIQIgACABNgKsASACBEAgAhBaCyAAIAUoAhAiBDYCsAEgBUEANgIQIAAgBSgCGCIBNgK4ASAAIAUqAhw4ArwBIABBtAFqIgMgBSgCFCICNgIAAkAgAQRAIAIoAgQhAgJAIAQgBEEBayIBcUUEQCABIAJxIQIMAQsgAiAESQ0AIAIgBHAhAgsgACgCrAEgAkECdGogAzYCACAFQgA3AhQMAQsgAkUNAANAIAIoAgAhHSACEFogHSICDQALCyAFKAIM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BDYCCCAAKAIEIQQgACACNgIEIAAoAgAhASAAIAM2AgAgASAERg0DA0AgBEEMayEAIARBAWssAABBAEgEQCAAKAIAEFoLIAAiBCABRw0ACwwDCxBkAAsQagALIAAgBDYCCCAAIAI2AgQgACADNgIACyABBEAgARBaCwsrACABKAIAIgEoAgBBA0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIQCCysAIAEoAgAiASgCAEECRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQhAILKwAgASgCACIBKAIAQQFHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCEAgvdHgEOfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEoAgAiAigCAA5eAAECAwQFBgcICQoLDA0eHyAhIiMkJTU2Dg8QERITFBUWFxgZGhscHTcmJygpKissLS4vMDEyMzQ4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcAF0LQZj9A0HlswNB6gEQYgALIABB28wAIAEQWCACKAIAQQFHDVwgAigCFCIBQQBMDVsgAEEEaiEEA0AgAUEBayIAIAIoAhRPDV4gAigCECAAQQJ0aiIDKAIARQ1fIARB/ssAIAMQWyABQQFLIQYgACEBIAYNAAsMWwsgAEHczAAgARBYIAIoAgBBAkcNWyACKAIQBEAgAEEEakH+ywAgAkEQahBbCwxgCyAAQd3MACABEFggAigCAEEDRw1aDGMLIABB3swAIAEQWCACKAIAQQRHDVkgAigCFARAIABBBGpB/ssAIAJBFGoQWwsgAigCEEUNWCAAQQRqQf7LACACQRBqEFsPCyAAQd/MACABEFggAigCAEEFRw1YIABB/ssAIAJBJGoQWCACKAIgRQ1XIABBBGpB/ssAIAJBIGoQWw8LIABB4MwAIAEQWCACKAIAQQZHDVcgAigCDCIBQQBMDVYgAEEEaiEEA0AgAUEBayIAIAIoAgxPDVkgAigCCCAAQQJ0aiIDKAIARQ1aIARB/ssAIAMQWyABQQFLIQcgACEBIAcNAAsMVgsgAEHhzAAgARBYIAIoAgBBB0cNViAAQf7LACACQRxqEFggAigCECIBQQBMDVUgAEEEaiEEA0AgAUEBayIAIAIoAhBPDVggAigCDCAAQQJ0aiIDKAIARQ1ZIARB/ssAIAMQWyABQQFLIQggACEBIAgNAAsMVQsgAEHizAAgARBYIAIoAgBBCEYNVAxVCyAAQePMACABEFggAigCAEEJRw1UDGALIABB5MwAIAEQWCACKAIAQQpGDVIMUwsgAEHlzAAgARBYIAIoAgBBC0cNUgxbCyAAQebMACABEFggAigCAEEMRw1RDF8LIABB58wAIAEQWCACKAIAQQ1HDVAMXQsgAEHozAAgARBYIAIoAgBBGEcNTwxeCyAAQenMACABEFggAigCAEEZRw1OIABB/ssAIAJBIGoQWAxdCyAAQerMACABEFggAigCAEEaRw1NDFQLIABB68wAIAEQWCACKAIAQRtHDUwMVAsgAEHszAAgARBYIAIoAgBBHEYNSgxLCyAAQe3MACABEFggAigCAEEdRw1KDFYLIABB7swAIAEQWCACKAIAQR5HDUkgAEH+ywAgAkEUahBYDFULIABB78wAIAEQWCACKAIAQR9HDUgMTQsgAEHwzAAgARBYIAIoAgBBIEcNRwxRCyAAQfHMACABEFggAigCAEEhRw1GDFELIABB8swAIAEQWCACKAIAQSJHDUUgAEH+ywAgAkEgahBYDwsgAEHzzAAgARBYIAIoAgBBI0cNRAxRCyAAQfTMACABEFggAigCAEEkRw1DDEoLIABB9cwAIAEQWCACKAIAQSVGDUEMQgsgAEH2zAAgARBYIAIoAgBBJkcNQQxFCyAAQffMACABEFggAigCAEEnRw1ADEQLIABB+MwAIAEQWCACKAIAQQ5GDT4MPwsgAEH5zAAgARBYIAIoAgBBD0cNPgxKCyAAQfrMACABEFggAigCAEEQRw09DEgLIABB+8wAIAEQWCACKAIAQRFHDTwMQAsgAEH8zAAgARBYIAIoAgBBEkcNOwxLCyAAQf3MACABEFggAigCAEETRw06IAIoAghFDTkMSwsgAEH+zAAgARBYIAIoAgBBFEYNOAw5CyAAQf/MACABEFggAigCAEEVRw04DEgLIABBgM0AIAEQWCACKAIAQSlGDTYMNwsgAEGBzQAgARBYIAIoAgBBKkcNNgxGCyAAQYLNACABEFggAigCAEErRg00DDULIABBg80AIAEQWCACKAIAQSxHDTQMOQsgAEGEzQAgARBYIAIoAgBBLUcNMww8CyAAQYXNACABEFggAigCAEEuRw0yDDoLIABBhs0AIAEQWCACKAIAQS9GDTAMMQsgAEGHzQAgARBYIAIoAgBBMEcNMAw4CyAAQYjNACABEFggAigCAEExRw0vDDYLIABBic0AIAEQWCACKAIAQTJHDS4MMgsgAEGKzQAgARBYIAIoAgBBM0cNLSACKAIoIgFBAEoEQCAAQQRqIQMDQCABQQFrIgQgAigCKE8NMCACKAIkIARBAnRqIgUoAgBFDTEgA0H+ywAgBRBbIAFBAUshCSAEIQEgCQ0ACwsMNgsgAEGLzQAgARBYIAIoAgBBNEYEQAw9CwwsCyAAQYzNACABEFggAigCAEE1Rw0rIAIoAhQiAUEATA0qIABBBGohBANAIAFBAWsiACACKAIUTw0tIAIoAhAgAEECdGoiAygCAEUNLiAEQf7LACADEFsgAUEBSyEKIAAhASAKDQALDCoLIABBjc0AIAEQWCACKAIAQTZGDSkMKgsgAEGOzQAgARBYIAIoAgBBN0cNKQw5CyAAQY/NACABEFggAigCAEEWRg0nDCgLIABBkM0AIAEQWCACKAIAQRdGDSYMJwsgAEGRzQAgARBYIAIoAgBBKEYNJQwmCyAAQZLNACABEFggAigCAEE4Rw0lIAIoAgwiAUEATA0kIABBBGohBANAIAFBAWsiACACKAIMTw0nIAIoAgggAEECdGoiAygCAEUNKCAEQf7LACADEFsgAUEBSyELIAAhASALDQALDCQLIABBk80AIAEQWCACKAIAQTlHDSQMNAsgAEGUzQAgARBYIAIoAgBBOkcNIwwzCyAAQZXNACABEFggAigCAEE7Rw0iDDILIABBls0AIAEQWCACKAIAQTxHDSEgAEH+ywAgAkEYahBYIAIoAgwiAUEATA0gIABBBGohBANAIAFBAWsiACACKAIMTw0jIAIoAgggAEECdGoiAygCAEUNJCAEQf7LACADEFsgAUEBSyEMIAAhASAMDQALDCALIABBl80AIAEQWCACKAIAQT1HDSAMMAsgAEGYzQAgARBYIAIoAgBBPkcNHwwvCyAAQZnNACABEFggAigCAEE/Rw0eIABB/ssAIAJBFGoQWA8LIABBms0AIAEQWCACKAIAQcAARw0dIAIoAgwiAUEATA0cIABBBGohBANAIAFBAWsiACACKAIMTw0fIAIoAgggAEECdGoiAygCAEUNICAEQf7LACADEFsgAUEBSyENIAAhASANDQALDBwLIABBm80AIAEQWCACKAIAQcEARw0cDCgLIABBnM0AIAEQWCACKAIAQcIARw0bDCYLIABBnc0AIAEQWCACKAIAQcMARw0aIABB/ssAIAJBDGoQWCACKAIIRQ0ZDCsLIABBns0AIAEQWCACKAIAQcQARw0ZDCELIABBn80AIAEQWCACKAIAQcUARw0YDCALIABBoM0AIAEQWCACKAIAQcYARw0XIAIoAgwiAUEATA0WIABBBGohBANAIAFBAWsiACACKAIMTw0ZIAIoAgggAEECdGoiAygCAEUNGiAEQf7LACADEFsgAUEBSyEOIAAhASAODQALDBYLIABBoc0AIAEQWCACKAIAQccARw0WDBsLIABBos0AIAEQWCACKAIAQcgARw0VDBkLIABBo80AIAEQWCACKAIAQckARw0UDCQLIABBpM0AIAEQWCACKAIAQcoARw0TIABB/ssAIAJBGGoQWAwWCyAAQaXNACABEFggAigCAEHLAEcNEgwVCyAAQabNACABEFggAigCAEHMAEcNEQwXCyAAQafNACABEFggAigCAEHNAEcNEAwWCyAAQajNACABEFggAigCAEHOAEcNDwwbCyAAQanNACABEFggAigCAEHPAEcNDiACKAIYBEAgAEEEakH+ywAgAkEYahBbCyACKAIUBEAgAEEEakH+ywAgAkEUahBbCyACKAIQBEAgAEEEakH+ywAgAkEQahBbCwwaCyAAQarNACABEFggAigCAEHQAEYNDAwNCyAAQavNACABEFggAigCAEHRAEcNDAwYCyAAQazNACABEFggAigCAEHSAEcNCyACKAIUBEAgAEEEakH+ywAgAkEUahBbCwwWCyAAQa3NACABEFggAigCAEHTAEcNCgwPCyAAQa7NACABEFgg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TA0kIABBBGohBANAIAFBAWsiACACKAIMTw0nIAIoAgggAEECdGoiAygCAEUNKCAEQefJACADEFsgAUEBSyELIAAhASALDQALDCQLIABBt8wAIAEQWCACKAIAQTlHDSQMNAsgAEG4zAAgARBYIAIoAgBBOkcNIwwzCyAAQbnMACABEFggAigCAEE7Rw0iDDILIABBuswAIAEQWCACKAIAQTxHDSEgAEHnyQAgAkEYahBYIAIoAgwiAUEATA0gIABBBGohBANAIAFBAWsiACACKAIMTw0jIAIoAgggAEECdGoiAygCAEUNJCAEQefJACADEFsgAUEBSyEMIAAhASAMDQALDCALIABBu8wAIAEQWCACKAIAQT1HDSAMMAsgAEG8zAAgARBYIAIoAgBBPkcNHwwvCyAAQb3MACABEFggAigCAEE/Rw0eIABB58kAIAJBFGoQWA8LIABBvswAIAEQWCACKAIAQcAARw0dIAIoAgwiAUEATA0cIABBBGohBANAIAFBAWsiACACKAIMTw0fIAIoAgggAEECdGoiAygCAEUNICAEQefJACADEFsgAUEBSyENIAAhASANDQALDBwLIABBv8wAIAEQWCACKAIAQcEARw0cDCgLIABBwMwAIAEQWCACKAIAQcIARw0bDCYLIABBwcwAIAEQWCACKAIAQcMARw0aIABB58kAIAJBDGoQWCACKAIIRQ0ZDCsLIABBwswAIAEQWCACKAIAQcQARw0ZDCELIABBw8wAIAEQWCACKAIAQcUARw0YDCALIABBxMwAIAEQWCACKAIAQcYARw0XIAIoAgwiAUEATA0WIABBBGohBANAIAFBAWsiACACKAIMTw0ZIAIoAgggAEECdGoiAygCAEUNGiAEQefJACADEFsgAUEBSyEOIAAhASAODQALDBYLIABBxcwAIAEQWCACKAIAQccARw0WDBsLIABBxswAIAEQWCACKAIAQcgARw0VDBkLIABBx8wAIAEQWCACKAIAQckARw0UDCQLIABByMwAIAEQWCACKAIAQcoARw0TIABB58kAIAJBGGoQWAwWCyAAQcnMACABEFggAigCAEHLAEcNEgwVCyAAQcrMACABEFggAigCAEHMAEcNEQwXCyAAQcvMACABEFggAigCAEHNAEcNEAwWCyAAQczMACABEFggAigCAEHOAEcNDwwbCyAAQc3MACABEFggAigCAEHPAEcNDiACKAIYBEAgAEEEakHnyQAgAkEYahBbCyACKAIUBEAgAEEEakHnyQAgAkEUahBbCyACKAIQBEAgAEEEakHnyQAgAkEQahBbCwwaCyAAQc7MACABEFggAigCAEHQAEYNDAwNCyAAQc/MACABEFggAigCAEHRAEcNDAwYCyAAQdDMACABEFggAigCAEHSAEcNCyACKAIUBEAgAEEEakHnyQAgAkEUahBbCwwWCyAAQdHMACABEFggAigCAEHTAEcNCgwPCyAAQdLMACABEFggAigCAEHUAEcNCQwUCyAAQdPMACABEFggAigCAEHVAEcNCAwUCyAAQdTMACABEFggAigCAEHWAEcNBwwLCyAAQdXMACABEFggAigCAEHXAEcNBgwLCyAAQdbMACABEFggAigCAEHYAEcNBQwVCyAAQdfMACABEFggAigCAEHZAEcNBAwPCyAAQdjMACABEFggAigCAEHaAEcNAwwNCyAAQdnMACABEFggAigCAEHbAEcNAgwHCyAAQdrMACABEFggAigCAEHcAEcNASAAQefJACACQTxqEFggAigCMCIBQQBMDQAgAEEEaiEEA0AgAUEBayIAIAIoAjBPDQMgAigCLCAAQQJ0aiIDKAIARQ0EIARB58kAIAMQWyABQQFLIQ8gACEBIA8NAAsLDwtB8O0FQcWYA0GUBkGN3gAQAQALQcWiAUGJogNBvAFBpogFEAEAC0GBgwJB05kDQbkCQa73AhABAAsgAEHnyQAgAkEUahBYCyAAQefJACACQRBqEFgLIABB58kAIAJBDGoQWAwKCyAAQefJACACQRxqEFgLIABB58kAIAJBGGoQWAsgAEHnyQAgAkEUahBYCyAAQefJACACQRBqEFgPCyAAQefJACACQRRqEFgLIABB58kAIAJBEGoQWAsgAEHnyQAgAkEMahBYDwsgAEHnyQAgAkEoahBYCyAAQefJACACQSRqEFgPCyAAQefJACACQRxqEFggAEHnyQAgAkEYahBYDwsgAEHnyQAgAkEIahBYDwsgAEEEakHnyQAgAkEIahBbC7QCAQN/AkACQAJAQQAgACgCBGsgACgCXCAAKAJYa0EDdUYEQCABKAIARQ0BIABBBGpB/ssAIAEQW0EAIAAoAgQiAmsgACgCXCIBIAAoAlgiA2tBA3VHBEAgAEEIaiEEA0ACQCABIANGBEAgAkUNBiAEIAJBAWsiAkEDdGoiAygCBCEBIAMoAgAhAyAAIAI2AgQMAQsgAUEIayICKAIAIQMgAigCBCEBIAAgAjYCXAsgACABNgIAIAEoAgBFDQUgACABIAMRAABBACAAKAIEIgJrIAAoAlwiASAAKAJYIgNrQQN1Rw0ACwsPC0HNygVB05kDQcgCQdD4AhABAAtBgYMCQdOZA0G5AkGu9wIQAQALQd7EBUGwlANB2gBB/fsCEAEAC0H1ggJB05kDQc0CQdD4AhABAAsFAEG7AQu0AgEDfwJAAkACQEEAIAAoAgRrIAAoAlwgACgCWGtBA3VGBEAgASgCAEUNASAAQQRqQf3LACABEFtBACAAKAIEIgJrIAAoAlwiASAAKAJYIgNrQQN1RwRAIABBCGohBANAAkAgASADRgRAIAJFDQYgBCACQQFrIgJBA3RqIgMoAgQhASADKAIAIQMgACACNgIEDAELIAFBCGsiAigCACEDIAIoAgQhASAAIAI2AlwLIAAgATYCACABKAIARQ0FIAAgASADEQAAQQAgACgCBCICayAAKAJcIgEgACgCWCIDa0EDdUcNAAsLDwtBzcoFQdOZA0HIAkHQ+AIQAQALQYGDAkHTmQNBuQJBrvcCEAEAC0HexAVBsJQDQdoAQf37AhABAAtB9YICQdOZA0HNAkHQ+AIQAQAL3R4BDn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAIgIoAgAOXgABAgMEBQYHCAkKCwwNHh8gISIjJCU1Ng4PEBESExQVFhcYGRobHB03JicoKSorLC0uLzAxMjM0ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXABdC0GY/QNB5bMDQeoBEGIACyAAQaHLACABEFggAigCAEEBRw1cIAIoAhQiAUEATA1bIABBBGohBANAIAFBAWsiACACKAIUTw1eIAIoAhAgAEECdGoiAygCAEUNXyAEQePJACADEFsgAUEBSyEGIAAhASAGDQALDFsLIABBossAIAEQWCACKAIAQQJHDVsgAigCEARAIABBBGpB48kAIAJBEGoQWwsMYAsgAEGjywAgARBYIAIoAgBBA0cNWgxjCyAAQaTLACABEFggAigCAEEERw1ZIAIoAhQEQCAAQQRqQePJACACQRRqEFsLIAIoAhBFDVggAEEEakHjyQAgAkEQahBbDwsgAEGlywAgARBYIAIoAgBBBUcNWCAAQePJACACQSRqEFggAigCIEUNVyAAQQRqQePJACACQSBqEFsPCyAAQabLACABEFggAigCAEEGRw1XIAIoAgwiAUEATA1WIABBBGohBANAIAFBAWsiACACKAIMTw1ZIAIoAgggAEECdGoiAygCAEUNWiAEQePJACADEFsgAUEBSyEHIAAhASAHDQALDFYLIABBp8sAIAEQWCACKAIAQQdHDVYgAEHjyQAgAkEcahBYIAIoAhAiAUEATA1VIABBBGohBANAIAFBAWsiACACKAIQTw1YIAIoAgwgAEECdGoiAygCAEUNWSAEQePJACADEFsgAUEBSyEIIAAhASAIDQALDFULIABBqMsAIAEQWCACKAIAQQhGDVQMVQsgAEGpywAgARBYIAIoAgBBCUcNVAxgCyAAQarLACABEFggAigCAEEKRg1SDFMLIABBq8sAIAEQWCACKAIAQQtHDVIMWwsgAEGsywAgARBYIAIoAgBBDEcNUQxfCyAAQa3LACABEFggAigCAEENRw1QDF0LIABBrssAIAEQWCACKAIAQRhHDU8MXgsgAEGvywAgARBYIAIoAgBBGUcNTiAAQePJACACQSBqEFgMXQsgAEGwywAgARBYIAIoAgBBGkcNTQxUCyAAQbHLACABEFggAigCAEEbRw1MDFQLIABBsssAIAEQWCACKAIAQRxGDUoMSwsgAEGzywAgARBYIAIoAgBBHUcNSgxWCyAAQbTLACABEFggAigCAEEeRw1JIABB48kAIAJBFGoQWAxVCyAAQbXLACABEFggAigCAEEfRw1IDE0LIABBtssAIAEQWCACKAIAQSBHDUcMUQsgAEG3ywAgARBYIAIoAgBBIUcNRgxRCyAAQbjLACABEFggAigCAEEiRw1FIABB48kAIAJBIGoQWA8LIABBucsAIAEQWCACKAIAQSNHDUQMUQsgAEG6ywAgARBYIAIoAgBBJEcNQwxKCyAAQbvLACABEFggAigCAEElRg1BDEILIABBvMsAIAEQWCACKAIAQSZHDUEMRQsgAEG9ywAgARBYIAIoAgBBJ0cNQAxECyAAQb7LACABEFggAigCAEEORg0+DD8LIABBv8sAIAEQWCACKAIAQQ9HDT4MSgsgAEHAywAgARBYIAIoAgBBEEcNPQxICyAAQcHLACABEFggAigCAEERRw08DEALIABBwssAIAEQWCACKAIAQRJHDTsMSwsgAEHDywAgARBYIAIoAgBBE0cNOiACKAIIRQ05DEsLIABBxMsAIAEQWCACKAIAQRRGDTgMOQsgAEHFywAgARBYIAIoAgBBFUcNOAxICyAAQcbLACABEFggAigCAEEpRg02DDcLIABBx8sAIAEQWCACKAIAQSpHDTYMRgsgAEHIywAgARBYIAIoAgBBK0YNNAw1CyAAQcnLACABEFggAigCAEEsRw00DDkLIABByssAIAEQWCACKAIAQS1HDTMMPAsgAEHLywAgARBYIAIoAgBBLkcNMgw6CyAAQczLACABEFggAigCAEEvRg0wDDELIABBzcsAIAEQWCACKAIAQTBHDTAMOAsgAEHOywAgARBYIAIoAgBBMUcNLww2CyAAQc/LACABEFggAigCAEEyRw0uDDILIABB0MsAIAEQWCACKAIAQTNHDS0gAigCKCIBQQBKBEAgAEEEaiEDA0AgAUEBayIEIAIoAihPDTAgAigCJCAEQQJ0aiIFKAIARQ0xIANB48kAIAUQWyABQQFLIQkgBCEBIAkNAAsLDDYLIABB0csAIAEQWCACKAIAQTRGBEAMPQsMLAsgAEHSywAgARBYIAIoAgBBNUcNKyACKAIUIgFBAEwNKiAAQQRqIQQDQCABQQFrIgAgAigCFE8NLSACKAIQIABBAnRqIgMoAgBFDS4gBEHjyQAgAxBbIAFBAUshCiAAIQEgCg0ACwwqCyAAQdPLACABEFggAigCAEE2Rg0pDCoLIABB1MsAIAEQWCACKAIAQTdHDSkMOQsgAEHVywAgARBYIAIoAgBBFkYNJwwoCyAAQdbLACABEFggAigCAEEXRg0mDCcLIABB18sAIAEQWCACKAIAQShGDSUMJgsgAEHYywAgARBYIAIoAgBBOEcNJSACKAIMIgFBAEwNJCAAQQRqIQQDQCABQQFrIgAgAigCDE8NJyACKAIIIABBAnRqIgMoAgBFDSggBEHjyQAgAxBbIAFBAUshCyAAIQEgCw0ACwwkCyAAQdnLACABEFggAigCAEE5Rw0kDDQLIABB2ssAIAEQWCACKAIAQTpHDSMMMwsgAEHbywAgARBYIAIoAgBBO0cNIgwyCyAAQdzLACABEFggAigCAEE8Rw0hIABB48kAIAJBGGoQWCACKAIMIgFBAEwNICAAQQRqIQQDQCABQQFrIgAgAigCDE8NIyACKAIIIABBAnRqIgMoAgBFDSQgBEHjyQAgAxBbIAFBAUshDCAAIQEgDA0ACwwgCyAAQd3LACABEFggAigCAEE9Rw0gDDALIABB3ssAIAEQWCACKAIAQT5HDR8MLwsgAEHfywAgARBYIAIoAgBBP0cNHiAAQePJACACQRRqEFgPCyAAQeDLACABEFggAigCAEHAAEcNHSACKAIMIgFBAEwNHCAAQQRqIQQDQCABQQFrIgAgAigCDE8NHyACKAIIIABBAnRqIgMoAgBFDSAgBEHjyQAgAxBbIAFBAUshDSAAIQEgDQ0ACwwcCyAAQeHLACABEFggAigCAEHBAEcNHAwoCyAAQeLLACABEFggAigCAEHCAEcNGwwmCyAAQePLACABEFggAigCAEHDAEcNGiAAQePJACACQQxqEFggAigCCEUNGQwrCyAAQeTLACABEFggAigCAEHEAEcNGQwhCyAAQeXLACABEFggAigCAEHFAEcNGAwgCyAAQebLACABEFggAigCAEHGAEcNFyACKAIMIgFBAEwNFiAAQQRqIQQDQCABQQFrIgAgAigCDE8NGSACKAIIIABBAnRqIgMoAgBFDRogBEHjyQAgAxBbIAFBAUshDiAAIQEgDg0ACwwWCyAAQefLACABEFggAigCAEHHAEcNFgwbCyAAQejLACABEFggAigCAEHIAEcNFQwZCyAAQenLACABEFggAigCAEHJAEcNFAwkCyAAQerLACABEFggAigCAEHKAEcNEyAAQePJACACQRhqEFgMFgsgAEHrywAgARBYIAIoAgBBywBHDRIMFQsgAEHsywAgARBYIAIoAgBBzABHDREMFwsgAEHtywAgARBYIAIoAgBBzQBHDRAMFgsgAEHuywAgARBYIAIoAgBBzgBHDQ8MGwsgAEHvywAgARBYIAIoAgBBzwBHDQ4gAigCGARAIABBBGpB48kAIAJBGGoQWwsgAigCFARAIABBBGpB48kAIAJBFGoQWwsgAigCEARAIABBBGpB48kAIAJBEGoQWwsMGgsgAEHwywAgARBYIAIoAgBB0ABGDQwMDQsgAEHxywAgARBYIAIoAgBB0QBHDQwMGAsgAEHyywAgARBYIAIoAgBB0gBHDQsgAigCFARAIABBBGpB48kAIAJBFGoQWwsMFgsgAEHzywAgARBYIAIoAgBB0wBHDQoMDwsgAEH0ywAgARBYIAIoAgBB1ABHDQkMFAsgAEH1ywAgARBYIAIoAgBB1QBHDQgMFAsgAEH2ywAgARBYIAIoAgBB1gBHDQcMCwsgAEH3ywAgARBYIAIoAgBB1wBHDQYMCwsgAEH4ywAgARBYIAIoAgBB2ABHDQUMFQsgAEH5ywAgARBYIAIoAgBB2QBHDQQMDwsgAEH6ywAgARBYIAIoAgBB2gBHDQMMDQsgAEH7ywAgARBYIAIoAgBB2wBHDQIMBwsgAEH8ywAgARBYIAIoAgBB3ABHDQEgAEHjyQAgAkE8ahBYIAIoAjAiAUEATA0AIABBBGohBANAIAFBAWsiACACKAIwTw0DIAIoAiwgAEECdGoiAygCAEUNBCAEQePJACADEFsgAUEBSyEPIAAhASAPDQALCw8LQfDtBUHFmANBlAZBjd4AEAEAC0HFogFBiaIDQbwBQaaIBRABAAtBgYMCQdOZA0G5AkGu9wIQAQALIABB48kAIAJBFGoQWAsgAEHjyQAgAkEQahBYCyAAQePJACACQQxqEFgMCgsgAEHjyQAgAkEcahBYCyAAQePJACACQRhqEFgLIABB48kAIAJBFGoQWAsgAEHjyQAgAkEQahBYDwsgAEHjyQAgAkEUahBYCyAAQePJACACQRBqEFgLIABB48kAIAJBDGoQWA8LIABB48kAIAJBKGoQWAsgAEHjyQAgAkEkahBYDwsgAEHjyQAgAkEcahBYIABB48kAIAJBGGoQWA8LIABB48kAIAJBCGoQWA8LIABBBGpB48kAIAJBCGoQWwvsAQEFfyABIAAQ1ANrIQECQCAALQALQYABcUEHdgR/IAAoAghB/////wdxQQFrBUEKCyAAKAIEIAAtAAsiAkH/AHEgAkGAAXFBB3YbIgJGBEAgACACQQEgAiABQQEQtAkgACgCACEDDAELIAAoAgAgACAALQALQYABcUEHdhshAyABIAJGDQAgASADaiIEQQFqIQUgAiABayIGBEAgBSAEIAb8CgAACwsgASADakEkOgAAIAMgAkEBaiIBakEAOgAAAkAgAC0AC0GAAXFBB3YEQCAAIAE2AgQMAQsgACABQf8AcToACwsgABDUAxoLviIBDn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEoAgAiAigCAA5eAAECAwQFBgcICQoLDA0eHyAhIiMkJTU2Dg8QERITFBUWFxgZGhscHTcmJygpKissLS4vMDEyMzQ4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcAF0LQZj9A0HlswNB6gEQYgALIABBFGpBxcoAIAEQWCACKAIAQQFHDVwgAigCFCIBQQBMDVsgAEEYaiEDA0AgAUEBayIAIAIoAhRPDV4gAigCECAAQQJ0aiIEKAIARQ1fIANB4MkAIAQQWyABQQFLIQYgACEBIAYNAAsMWwsgAEEUaiIDQcbKACABEFggAigCAEECRw1bIAIoAhAEQCAAQRhqQeDJACACQRBqEFsLIANB4MkAIAJBDGoQWCADQeDJACACQQhqEFgPCyAAQRRqIgBBx8oAIAEQWCACKAIAQQNHDVoMYAsgAEEUakHIygAgARBYIAIoAgBBBEcNWSACKAIUBEAgAEEYakHgyQAgAkEUahBbCyACKAIQRQ1YIABBGGpB4MkAIAJBEGoQWw8LIABBFGoiA0HJygAgARBYIAIoAgBBBUcNWCADQeDJACACQSRqEFggAigCIEUNVyAAQRhqQeDJACACQSBqEFsPCyAAQRRqQcrKACABEFggAigCAEEGRw1XIAIoAgwiAUEATA1WIABBGGohAwNAIAFBAWsiACACKAIMTw1ZIAIoAgggAEECdGoiBCgCAEUNWiADQeDJACAEEFsgAUEBSyEHIAAhASAHDQALDFYLIABBFGoiA0HLygAgARBYIAIoAgBBB0cNViADQeDJACACQRxqEFggAigCECIBQQBMDVUgAEEYaiEDA0AgAUEBayIAIAIoAhBPDVggAigCDCAAQQJ0aiIEKAIARQ1ZIANB4MkAIAQQWyABQQFLIQggACEBIAgNAAsMVQsgAEEUakHMygAgARBYIAIoAgBBCEYNVAxVCyAAQRRqIgBBzcoAIAEQWCACKAIAQQlHDVQMXQsgAEEUakHOygAgARBYIAIoAgBBCkYNUgxTCyAAQRRqIgBBz8oAIAEQWCACKAIAQQtHDVIMWAsgAEEUaiIAQdDKACABEFggAigCAEEMRw1RDFwLIABBFGoiAEHRygAgARBYIAIoAgBBDUcNUAxaCyAAQRRqIgBB0soAIAEQWCACKAIAQRhHDU8MWwsgAEEUaiIAQdPKACABEFggAigCAEEZRw1OIABB4MkAIAJBIGoQWAxaCyAAQRRqIgBB1MoAIAEQWCACKAIAQRpHDU0MUQsgAEEUaiIAQdXKACABEFggAigCAEEbRw1MDFELIABBFGpB1soAIAEQWCACKAIAQRxGDUoMSwsgAEEUaiIAQdfKACABEFggAigCAEEdRw1KDFMLIABBFGoiAEHYygAgARBYIAIoAgBBHkcNSSAAQeDJACACQRRqEFgMUgsgAEEUaiIAQdnKACABEFggAigCAEEfRw1IDFcLIABBFGoiAEHaygAgARBYIAIoAgBBIEcNRwxOCyAAQRRqIgBB28oAIAEQWCACKAIAQSFHDUYMTgsgAEEUaiIAQdzKACABEFggAigCAEEiRw1FIABB4MkAIAJBIGoQWA8LIABBFGoiAEHdygAgARBYIAIoAgBBI0cNRAxOCyAAQRRqIgBB3soAIAEQWCACKAIAQSRHDUMMRwsgAEEUakHfygAgARBYIAIoAgBBJUYNQQxCCyAAQRRqIgBB4MoAIAEQWCACKAIAQSZHDUEMTwsgAEEUaiIAQeHKACABEFggAigCAEEnRw1ADE4LIABBFGpB4soAIAEQWCACKAIAQQ5GDT4MPwsgAEEUaiIAQePKACABEFggAigCAEEPRw0+DEcLIABBFGoiAEHkygAgARBYIAIoAgBBEEcNPQxFCyAAQRRqIgBB5coAIAEQWCACKAIAQRFHDTwMSgsgAEEUaiIAQebKACABEFggAigCAEESRw07DEsLIABBFGpB58oAIAEQWCACKAIAQRNHDTogAigCCEUNOQxLCyAAQRRqQejKACABEFggAigCAEEURg04DDkLIABBFGoiAEHpygAgARBYIAIoAgBBFUcNOAxICyAAQRRqQerKACABEFggAigCAEEpRg02DDcLIABBFGoiAEHrygAgARBYIAIoAgBBKkcNNgxGCyAAQRRqQezKACABEFggAigCAEErRg00DDULIABBFGoiAEHtygAgARBYIAIoAgBBLEcNNAxDCyAAQRRqIgBB7soAIAEQWCACKAIAQS1HDTMMOQsgAEEUaiIAQe/KACABEFggAigCAEEuRw0yDDcLIABBFGpB8MoAIAEQWCACKAIAQS9GDTAMMQsgAEEUaiIAQfHKACABEFggAigCAEEwRw0wDDULIABBFGoiAEHyygAgARBYIAIoAgBBMUcNLwwzCyAAQRRqIgBB88oAIAEQWCACKAIAQTJHDS4MPAsgAEEUaiIDQfTKACABEFggAigCAEEzRw0tIAIoAigiAUEASgRAIABBGGohBANAIAFBAWsiACACKAIoTw0wIAIoAiQgAEECdGoiBSgCAEUNMSAEQeDJACAFEFsgAUEBSyEJIAAhASAJDQALCyADQeDJACACQRBqEFgPCyAAQRRqIgBB9coAIAEQWCACKAIAQTRGBEAMPQsMLAsgAEEUakH2ygAgARBYIAIoAgBBNUcNKyACKAIUIgFBAEwNKiAAQRhqIQMDQCABQQFrIgAgAigCFE8NLSACKAIQIABBAnRqIgQoAgBFDS4gA0HgyQAgBBBbIAFBAUshCiAAIQEgCg0ACwwqCyAAQRRqQffKACABEFggAigCAEE2Rg0pDCoLIABBFGoiAEH4ygAgARBYIAIoAgBBN0cNKQw5CyAAQRRqQfnKACABEFggAigCAEEWRg0nDCgLIABBFGpB+soAIAEQWCACKAIAQRdGDSYMJwsgAEEUakH7ygAgARBYIAIoAgBBKEYNJQwmCyAAQRRqQfzKACABEFggAigC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4MkAIAJBJGoQWA8LIABB4MkAIAJBHGoQWCAAQeDJACACQRhqEFgPCyAAQeDJACACQRRqEFgLIABB4MkAIAJBEGoQWAsgAEHgyQAgAkEMahBYCyAAQeDJACACQQhqEFgPCyAAQRhqQeDJACACQQhqEFsPCyADQeDJACACQQxqEFgL3R4BDn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAIgIoAgAOXgABAgMEBQYHCAkKCwwNHh8gISIjJCU1Ng4PEBESExQVFhcYGRobHB03JicoKSorLC0uLzAxMjM0ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXABdC0GY/QNB5bMDQeoBEGIACyAAQenJACABEFggAigCAEEBRw1cIAIoAhQiAUEATA1bIABBBGohBANAIAFBAWsiACACKAIUTw1eIAIoAhAgAEECdGoiAygCAEUNXyAEQd/JACADEFsgAUEBSyEGIAAhASAGDQALDFsLIABB6skAIAEQWCACKAIAQQJHDVsgAigCEARAIABBBGpB38kAIAJBEGoQWwsMYAsgAEHryQAgARBYIAIoAgBBA0cNWgxjCyAAQezJACABEFggAigCAEEERw1ZIAIoAhQEQCAAQQRqQd/JACACQRRqEFsLIAIoAhBFDVggAEEEakHfyQAgAkEQahBbDwsgAEHtyQAgARBYIAIoAgBBBUcNWCAAQd/JACACQSRqEFggAigCIEUNVyAAQQRqQd/JACACQSBqEFsPCyAAQe7JACABEFggAigCAEEGRw1XIAIoAgwiAUEATA1WIABBBGohBANAIAFBAWsiACACKAIMTw1ZIAIoAgggAEECdGoiAygCAEUNWiAEQd/JACADEFsgAUEBSyEHIAAhASAHDQALDFYLIABB78kAIAEQWCACKAIAQQdHDVYgAEHfyQAgAkEcahBYIAIoAhAiAUEATA1VIABBBGohBANAIAFBAWsiACACKAIQTw1YIAIoAgwgAEECdGoiAygCAEUNWSAEQd/JACADEFsgAUEBSyEIIAAhASAIDQALDFULIABB8MkAIAEQWCACKAIAQQhGDVQMVQsgAEHxyQAgARBYIAIoAgBBCUcNVAxgCyAAQfLJACABEFggAigCAEEKRg1SDFMLIABB88kAIAEQWCACKAIAQQtHDVIMWwsgAEH0yQAgARBYIAIoAgBBDEcNUQxfCyAAQfXJACABEFggAigCAEENRw1QDF0LIABB9skAIAEQWCACKAIAQRhHDU8MXgsgAEH3yQAgARBYIAIoAgBBGUcNTiAAQd/JACACQSBqEFgMXQsgAEH4yQAgARBYIAIoAgBBGkcNTQxUCyAAQfnJACABEFggAigCAEEbRw1MDFQLIABB+skAIAEQWCACKAIAQRxGDUoMSwsgAEH7yQAgARBYIAIoAgBBHUcNSgxWCyAAQfzJACABEFggAigCAEEeRw1JIABB38kAIAJBFGoQWAxVCyAAQf3JACABEFggAigCAEEfRw1IDE0LIABB/skAIAEQWCACKAIAQSBHDUcMUQsgAEH/yQAgARBYIAIoAgBBIUcNRgxRCyAAQYDKACABEFggAigCAEEiRw1FIABB38kAIAJBIGoQWA8LIABBgcoAIAEQWCACKAIAQSNHDUQMUQsgAEGCygAgARBYIAIoAgBBJEcNQwxKCyAAQYPKACABEFggAigCAEElRg1BDEILIABBhMoAIAEQWCACKAIAQSZHDUEMRQsgAEGFygAgARBYIAIoAgBBJ0cNQAxECyAAQYbKACABEFggAigCAEEORg0+DD8LIABBh8oAIAEQWCACKAIAQQ9HDT4MSgsgAEGIygAgARBYIAIoAgBBEEcNPQxICyAAQYnKACABEFggAigCAEERRw08DEALIABBisoAIAEQWCACKAIAQRJHDTsMSwsgAEGLygAgARBYIAIoAgBBE0cNOiACKAIIRQ05DEsLIABBjMoAIAEQWCACKAIAQRRGDTgMOQsgAEGNygAgARBYIAIoAgBBFUcNOAxICyAAQY7KACABEFggAigCAEEpRg02DDcLIABBj8oAIAEQWCACKAIAQSpHDTYMRgsgAEGQygAgARBYIAIo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ACEGIAQoAgQhAiAAIAQ2AnALIAkgAjYCACACKAIARQ0NIAAgAiAGEQAAQQAgACgCGCIFayAAKAJwIgIgACgCbCIGa0EDdUcNAAsLIAIhBCALQQRqIgsgD0cNAAsLIApBBGoiCiAORw0ACwwJC0Ho+gVBuosDQfwDQdrLAhABAAsQACEZIAQQayAZEAcACxAAIQAgBBBrDAgLQc3KBUHTmQNByAJB0PgCEAEAC0GBgwJB05kDQbkCQa73AhABAAsQZAALEGoAC0HexAVBsJQDQdoAQf37AhABAAtB9YICQdOZA0HNAkHQ+AIQAQALIAEoAkgiAiABKAJMIgFHBEADQCACKAIAIgQtABRFBEAgCSAEQRhqEIMHCyACQQRqIgIgAUcNAAsLIABBADYCfAsgA0GwAmokAA8LIANB2AFqEGEgABAHAAsFAEGHAQuzjAEDiwF/An4CfSMAQcACayIDJAAgACABNgIwIAEoAhAhiwEgASgCDCEgIANCADcDOCADQgA3AzAgA0GAgID8AzYCQCAAQRhqIRIgiwEgIGtBAnUhGyADQYACaiEZIANBjAJqIRggA0GMAWohFQJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAA0AgGiAbTQRAIANCADcDICADQgA3AxggA0GAgID8AzYCKCAAKAIkBEAgACgCICIBBEADQCABKAIAISEgARBaICEiAQ0ACwsgAEEANgIgAkAgACgCHCICRQ0AQQAhBEEAIQEgAkEETwRAIAJBfHEhBQNAIAFBAnQiBiASKAIAakEANgIAIBIoAgAgBmpBADYCBCASKAIAIAZqQQA2AgggEigCACAGakEANgIMIAFBBGoiASAFRw0ACwsgAkEDcSICRQ0AA0AgEigCACABQQJ0akEANgIAIAFBAWohASAEQQFqIgQgAkcNAAsLIABBADYCJAsCQAJAAkAgACgCMCICKAIMIgEgAigCECIERwRAA0AgASgCACECQdSJC0EANgIAQfrIACASIAIQAhpB1IkLKAIAISJB1IkLQQA2AgAgIkEBRg0CIAFBBGoiASAERw0ACyAAKAIwIQILIANCADcC3AEgA0EANgLsASADQgA3AuQBIANBADYCiAEgA0IANwKAASADQgA3AnggAyASNgLwASADQYjjBzYCcCAAKAIEIQFB1IkLQQA2AgAgAyABNgJ0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RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQhQILLAAgASgCACIBKAIAQdoARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQhQILLAAgASgCACIBKAIAQdkARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQhQILLAAgASgCACIBKAIAQdgARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQhQILLAAgASgCACIBKAIAQdcARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQhQILLAAgASgCACIBKAIAQdYARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQhQILLAAgASgCACIBKAIAQdUARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQhQILLAAgASgCACIBKAIAQdQARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQhQILLAAgASgCACIBKAIAQdMARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQhQILLAAgASgCACIBKAIAQdIARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQhQILLAAgASgCACIBKAIAQdEARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQhQILLAAgASgCACIBKAIAQdAARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQhQILLAAgASgCACIBKAIAQc8ARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQhQILxgECAX8BfiMAQSBrIgMkAAJAIAEEQCADIAEQbDYCHCADIAE2AhggAyADKQIYNwMIIANBEGogA0EIahBlDAELIABBQGsoAgAgACgCPCIBa0EERwRAIANBABBsNgIcIANBADYCGCADIAMpAhg3AwAgA0EQaiADEGUMAQsgAyABKAIAKQMANwMQCyADKQMQIQQgAEGoAWpBFEEEEF0iACAENwIMIABBA0ECIAIbIgE2AgggAEEUNgIAIAAgATYCBCADQSBqJAAgAAssACABKAIAIgEoAgBBzgBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCFAgssACABKAIAIgEoAgBBzQBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCFAgssACABKAIAIgEoAgBBzABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAg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MGokAA8LEAAhAQsgBBC/DiABEAcACwALLAAgASgCACIBKAIAQdIARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQhgILLAAgASgCACIBKAIAQdEARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQhgILLAAgASgCACIBKAIAQdAARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQhgILLAAgASgCACIBKAIAQc8ARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQhgILLAAgASgCACIBKAIAQc4ARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQhgILLAAgASgCACIBKAIAQc0ARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQhgILLAAgASgCACIBKAIAQcwARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQhgILLAAgASgCACIBKAIAQcsARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQhgILLAAgASgCACIBKAIAQcoARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQhgILLAAgASgCACIBKAIAQckARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQhgILJAAgACgCAEEkRwRAQeSmBkGntwJBpRtBxd0AEAEACyAAKAIQCywAIAEoAgAiASgCAEHIAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIYCCywAIAEoAgAiASgCAEHHAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIYCCywAIAEoAgAiASgCAEHGAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIYCCywAIAEoAgAiASgCAEHFAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIYCCywAIAEoAgAiASgCAEHEAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIYCCywAIAEoAgAiASgCAEHDAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIYCCywAIAEoAgAiASgCAEHCAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIYCCywAIAEoAgAiASgCAEHBAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIYCCywAIAEoAgAiASgCAEHAAEcEQEHw7QVBxZgDQZQG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IAIoAhRPDV0gAigCECADQQJ0aiIEKAIARQ1uIAVB7sUAIAQQWyAAQQFLIQggAyEAIAgNAAsMbAsgA0GsxwAgARBYIAIoAgBBAkcNWiACKAIQBEAgA0EEakHuxQAgAkEQahBbCwxeCyADQa3HACABEFggAigCAEEDRw1ZDGELIANBrscAIAEQWCACKAIAQQRHDVggAigCFARAIANBBGpB7sUAIAJBFGoQWwsgAigCEEUNaSADQQRqQe7FACACQRBqEFsMaQsgA0GvxwAgARBYIAIoAgBBBUcNVyADQe7FACACQSRqEFggAigCIEUNaCADQQRqQe7FACACQSBqEFsMaAsgA0GwxwAgARBYIAIoAgBBBkcNViACKAIMIgBBAEwNZyADQQRqIQUDQCAAQQFrIgMgAigCDE8NWCACKAIIIANBAnRqIgQoAgBFDWkgBUHuxQAgBBBbIABBAUshCSADIQAgCQ0ACwxnCyADQbHHACABEFggAigCAEEHRw1VIANB7sUAIAJBHGoQWCACKAIQIgBBAEwNZiADQQRqIQUDQCAAQQFrIgMgAigCEE8NVyACKAIMIANBAnRqIgQoAgBFDWggBUHuxQAgBBBbIABBAUshCiADIQAgCg0ACwxmCyADQbLHACABEFggAigCAEEIRg1lDFQLIANBs8cAIAEQWCACKAIAQQlHDVMMXgsgA0G0xwAgARBYIAIoAgBBCkYNYwxSCyADQbXHACABEFggAigCAEELRw1RDFkLIANBtscAIAEQWCACKAIAQQxHDVAMXQsgA0G3xwAgARBYIAIoAgBBDUcNTwxbCyADQbjHACABEFggAigCAEEYRw1ODFwLIANBuccAIAEQWCACKAIAQRlHDU0gA0HuxQAgAkEgahBYDFsLIANBuscAIAEQWCACKAIAQRpHDUwMUgsgA0G7xwAgARBYIAIoAgBBG0cNSwxSCyADQbzHACABEFggAigCAEEcRg1bDEoLIANBvccAIAEQWCACKAIAQR1HDUkMVAsgA0G+xwAgARBYIAIoAgBBHkcNSCADQe7FACACQRRqEFgMUwsgA0G/xwAgARBYIAIoAgBBH0cNRwxLCyADQcDHACABEFggAigCAEEgRw1GDE8LIANBwccAIAEQWCACKAIAQSFHDUUMTwsgA0HCxwAgARBYIAIoAgBBIkcNRCADQe7FACACQSBqEFgMVQsgA0HDxwAgARBYIAIoAgBBI0cNQwxPCyADQcTHACABEFggAigCAEEkRw1CDEgLIANBxccAIAEQWCACKAIAQSVGDVIMQQsgA0HGxwAgARBYIAIoAgBBJkcNQAxDCyADQcfHACABEFggAigCAEEnRw0/DEILIANByMcAIAEQWCACKAIAQQ5GDU8MPgsgA0HJxwAgARBYIAIoAgBBD0cNPQxICyADQcrHACABEFggAigCAEEQRw08DEYLIANBy8cAIAEQWCACKAIAQRFHDTsMPgsgA0HMxwAgARBYIAIoAgBBEkcNOgxJCyADQc3HACABEFggAigCAEETRw05DEkLIANBzscAIAEQWCACKAIAQRRGDUkMOAsgA0HPxwAgARBYIAIoAgBBFUcNNwxGCyADQdDHACABEFggAigCAEEpRg1HDDYLIANB0ccAIAEQWCACKAIAQSpHDTUMRAsgA0HSxwAgARBYIAIoAgBBK0YNRQw0CyADQdPHACABEFggAigCAEEsRw0zDDcLIANB1McAIAEQWCACKAIAQS1HDTIMOgsgA0HVxwAgARBYIAIoAgBBLkcNMQw4CyADQdbHACABEFggAigCAEEvRg1BDDALIANB18cAIAEQWCACKAIAQTBHDS8MNgsgA0HYxwAgARBYIAIoAgBBMUcNLgw0CyADQdnHACABEFggAigCAEEyRw0tDDALIANB2scAIAEQWCACKAIAQTNHDSwgAigCKCIAQQBKBEAgA0EEaiEEA0AgAEEBayIFIAIoAihPDS8gAigCJCAFQQJ0aiIGKAIARQ1AIARB7sUAIAYQWyAAQQFLIQsgBSEAIAsNAAsLDDQLIANB28cAIAEQWCACKAIAQTRGDToMKwsgA0HcxwAgARBYIAIoAgBBNUcNKiACKAIUIgBBAEwNOyADQQRqIQUDQCAAQQFrIgMgAigCFE8NLCACKAIQIANBAnRqIgQoAgBFDT0gBUHuxQAgBBBbIABBAUshDCADIQAgDA0ACww7CyADQd3HACABEFggAigCAEE2Rg06DCkLIANB3scAIAEQWCACKAIAQTdHDSgMNwsgA0HfxwAgARBYIAIoAgBBFkYNOAwnCyADQeDHACABEFggAigCAEEXRg03DCYLIANB4ccAIAEQWCACKAIAQShGDTYMJQsgA0HixwAgARBYIAIoAgBBOEcNJCACKAIMIgBBAEwNNSADQQRqIQUDQCAAQQFrIgMgAigCDE8NJiACKAIIIANBAnRqIgQoAgBFDTcgBUHuxQAgBBBbIABBAUshDSADIQAgDQ0ACww1CyADQePHACABEFggAigCAEE5Rw0jDDILIANB5McAIAEQWCACKAIAQTpHDSIMMQsgA0HlxwAgARBYIAIoAgBBO0cNIQwwCyADQebHACABEFggAigCAEE8Rw0gIANB7sUAIAJBGGoQWCACKAIMIgBBAEwNMSADQQRqIQUDQCAAQQFrIgMgAigCDE8NIiACKAIIIANBAnRqIgQoAgBFDTMgBUHuxQAgBBBbIABBAUshDiADIQAgDg0ACwwxCyADQefHACABEFggAigCAEE9Rw0fDC4LIANB6McAIAEQWCACKAIAQT5HDR4MLQsgA0HpxwAgARBYIAIoAgBBP0cNHSADQe7FACACQRRqEFgMLgsgA0HqxwAgARBYIAIoAgBBwABHDRwgAigCDCIAQQBMDS0gA0EEaiEFA0AgAEEBayIDIAIoAgxPDR4gAigCCCADQQJ0aiIEKAIARQ0vIAVB7sUAIAQQWyAAQQFLIQ8gAyEAIA8NAAsMLQsgA0HrxwAgARBYIAIoAgBBwQBHDRsMJgsgA0HsxwAgARBYIAIoAgBBwgBHDRoMJAsgA0HtxwAgARBYIAIoAgBBwwBHDRkgA0HuxQAgAkEMahBYDCkLIANB7scAIAEQWCACKAIAQcQARw0YDB8LIANB78cAIAEQWCACKAIAQcUARw0XDB4LIANB8McAIAEQWCACKAIAQcYARw0WIAIoAgwiAEEATA0nIANBBGohBQNAIABBAWsiAyACKAIMTw0YIAIoAgggA0ECdGoiBCgCAEUNKSAFQe7FACAEEFsgAEEBSyEQIAMhACAQDQALDCcLIANB8ccAIAEQWCACKAIAQccARw0VDBkLIANB8scAIAEQWCACKAIAQcgARw0UDBcLIANB88cAIAEQWCACKAIAQckARw0TDCILIANB9McAIAEQWCACKAIAQcoARw0SIANB7sUAIAJBGGoQWAwUCyADQfXHACABEFggAigCAEHLAEcNEQwTCyADQfbHACABEFggAigCAEHMAEcNEAwVCyADQffHACABEFggAigCAEHNAEcNDwwUCyADQfjHACABEFggAigCAEHOAEcNDgwZCyADQfnHACABEFggAigCAEHPAEcNDSACKAIYBEAgA0EEakHuxQAgAkEYahBbCyACKAIUBEAgA0EEakHuxQAgAkEUahBbCyACKAIQBEAgA0EEakHuxQAgAkEQahBbCwwYCyADQfrHACABEFggAigCAEHQAEYNHQwMCyADQfvHACABEFggAigCAEHRAEcNCwwWCyADQfzHACABEFggAigCAEHSAEcNCiACKAIUBEAgA0EEakHuxQAgAkEUahBbCwwUCyADQf3HACABEFggAigCAEHTAEcNCQwNCyADQf7HACABEFggAigCAEHUAEcNCAwSCyADQf/HACABEFggAigCAEHVAEcNBwwSCyADQYDIACABEFggAigCAEHWAEcNBgwJCyADQYHIACABEFggAigCAEHXAEcNBQwJCyADQYLIACABEFggAigCAEHYAEcNBAwTCyADQYPIACABEFggAigCAEHZAEcNAwwNCyADQYTIACABEFggAigCAEHaAEcNAgwLCyADQYXIACABEFggAigCAEHbAEcNAQwFCyADQYbIACABEFggAigCAEHcAEcNACADQe7FACACQTxqEFggAigCMCIAQQBMDREgA0EEaiEFA0AgAEEBayIDIAIoAjBPDQIgAigCLCADQQJ0aiIEKAIARQ0TIAVB7sUAIAQQWyAAQQFLIREgAyEAIBENAAsMEQtB8O0FQcWYA0GUBkGN3gAQAQALQcWiAUGJogNBvAFBpogFEAEACyADQe7FACACQRRqEFgLIANB7sUAIAJBEGoQWAsgA0HuxQAgAkEMahBYDAoLIANB7sUAIAJBHGoQWAsgA0HuxQAgAkEYahBYCyADQe7FACACQRRqEFgLIANB7sUAIAJBEGoQWAwICyADQe7FACACQRRqEFgLIANB7sUAIAJBEGoQWAsgA0HuxQAgAkEMahBYDAULIANB7sUAIAJBKGoQWAsgA0HuxQAgAkEkahBYDAMLIANB7sUAIAJBHGoQWCADQe7FACACQRhqEFgMAgsgA0HuxQAgAkEIahBYDAELIAIoAghFDQAgA0EEakHuxQAgAkEIahBbCyABKAIARQ0AIAdBqccAIAEQWw8LC0GBgwJB05kDQbkCQa73AhABAAvdHgEOfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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xgAgARBYIAIoAgBBM0cNLSACKAIoIgFBAEoEQCAAQQRqIQMDQCABQQFrIgQgAigCKE8NMCACKAIkIARBAnRqIgUoAgBFDTEgA0GRxQAgBRBbIAFBAUshCSAEIQEgCQ0ACwsMNgsgAEH8xgAgARBYIAIoAgBBNEYEQAw9CwwsCyAAQf3GACABEFggAigCAEE1Rw0rIAIoAhQiAUEATA0qIABBBGohBANAIAFBAWsiACACKAIUTw0tIAIoAhAgAEECdGoiAygCAEUNLiAEQZHFACADEFsgAUEBSyEKIAAhASAKDQALDCoLIABB/sYAIAEQWCACKAIAQTZGDSkMKgsgAEH/xgAgARBYIAIoAgBBN0cNKQw5CyAAQYDHACABEFggAigCAEEWRg0nDCgLIABBgccAIAEQWCACKAIAQRdGDSYMJwsgAEGCxwAgARBYIAIoAgBBKEYNJQwmCyAAQYPHACABEFggAigCAEE4Rw0lIAIoAgwiAUEATA0kIABBBGohBANAIAFBAWsiACACKAIMTw0nIAIoAgggAEECdGoiAygCAEUNKCAEQZHFACADEFsgAUEBSyELIAAhASALDQALDCQLIABBhMcAIAEQWCACKAIAQTlHDSQMNAsgAEGFxwAgARBYIAIoAgBBOkcNIwwzCyAAQYbHACABEFggAigCAEE7Rw0iDDILIABBh8cAIAEQWCACKAIAQTxHDSEgAEGRxQAgAkEYahBYIAIoAgwiAUEATA0gIABBBGohBANAIAFBAWsiACACKAIMTw0jIAIoAgggAEECdGoiAygCAEUNJCAEQZHFACADEFsgAUEBSyEMIAAhASAMDQALDCALIABBiMcAIAEQWCACKAIAQT1HDSAMMAsgAEGJxwAgARBYIAIoAgBBPkcNHwwvCyAAQYrHACABEFggAigCAEE/Rw0eIABBkcUAIAJBFGoQWA8LIABBi8cAIAEQWCACKAIAQcAARw0dIAIoAgwiAUEATA0cIABBBGohBANAIAFBAWsiACACKAIMTw0fIAIoAgggAEECdGoiAygCAEUNICAEQZHFACADEFsgAUEBSyENIAAhASANDQALDBwLIABBjMcAIAEQWCACKAIAQcEARw0cDCgLIABBjccAIAEQWCACKAIAQcIARw0bDCYLIABBjscAIAEQWCACKAIAQcMARw0aIABBkcUAIAJBDGoQWCACKAIIRQ0ZDCsLIABBj8cAIAEQWCACKAIAQcQARw0ZDCELIABBkMcAIAEQWCACKAIAQcUARw0YDCALIABBkccAIAEQWCACKAIAQcYARw0XIAIoAgwiAUEATA0WIABBBGohBANAIAFBAWsiACACKAIMTw0ZIAIoAgggAEECdGoiAygCAEUNGiAEQZHFACADEFsgAUEBSyEOIAAhASAODQALDBYLIABBkscAIAEQWCACKAIAQccARw0WDBsLIABBk8cAIAEQWCACKAIAQcgARw0VDBkLIABBlMcAIAEQWCACKAIAQckARw0UDCQLIABBlccAIAEQWCACKAIAQcoARw0TIABBkcUAIAJBGGoQWAwWCyAAQZbHACABEFggAigCAEHLAEcNEgwVCyAAQZfHACABEFggAigCAEHMAEcNEQwXCyAAQZjHACABEFggAigCAEHNAEcNEAwWCyAAQZnHACABEFggAigCAEHOAEcNDwwbCyAAQZrHACABEFggAigCAEHPAEcNDiACKAIYBEAgAEEEakGRxQAgAkEYahBbCyACKAIUBEAgAEEEakGRxQAgAkEUahBbCyACKAIQBEAgAEEEakGRxQAgAkEQahBbCwwaCyAAQZvHACABEFggAigCAEHQAEYNDAwNCyAAQZzHACABEFggAigCAEHRAEcNDAwYCyAAQZ3HACABEFggAigCAEHSAEcNCyACKAIUBEAgAEEEakGRxQAgAkEUahBbCwwWCyAAQZ7HACABEFggAigCAEHTAEcNCgwPCyAAQZ/HACABEFggAigCAEHUAEcNCQwUCyAAQaDHACABEFggAigCAEHVAEcNCAwUCyAAQaHHACABEFggAigCAEHWAEcNBwwLCyAAQaLHACABEFggAigCAEHXAEcNBgwLCyAAQaPHACABEFggAigCAEHYAEcNBQwVCyAAQaTHACABEFggAigCAEHZAEcNBAwPCyAAQaXHACABEFggAigCAEHaAEcNAwwNCyAAQabHACABEFggAigCAEHbAEcNAgwHCyAAQafHACABEFggAigCAEHcAEcNASAAQZHFACACQTxqEFggAigCMCIBQQBMDQAgAEEEaiEEA0AgAUEBayIAIAIoAjBPDQMgAigCLCAAQQJ0aiIDKAIARQ0EIARBkcUAIAMQWyABQQFLIQ8gACEBIA8NAAsLDwtB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AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAIgIoAgAOXgABAgMEBQYHCAkKCwwNHh8gISIjJCU1Ng4PEBESExQVFhcYGRobHB03JicoKSorLC0uLzAxMjM0ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXABdC0GY/QNB5bMDQeoBEGIACyAAQe/FACABEFggAigCAEEBRw1cIAIoAhQiAUEATA1bIABBBGohBANAIAFBAWsiACACKAIUTw1eIAIoAhAgAEECdGoiAygCAEUNXyAEQYjFACADEFsgAUEBSyEGIAAhASAGDQALDFsLIABB8MUAIAEQWCACKAIAQQJHDVsgAigCEARAIABBBGpBiMUAIAJBEGoQWwsMYAsgAEHxxQAgARBYIAIoAgBBA0cNWgxjCyAAQfLFACABEFggAigCAEEERw1ZIAIoAhQEQCAAQQRqQYjFACACQRRqEFsLIAIoAhBFDVggAEEEakGIxQAgAkEQahBbDwsgAEHzxQAgARBYIAIoAgBBBUcNWCAAQYjFACACQSRqEFggAigCIEUNVyAAQQRqQYjFACACQSBqEFsPCyAAQfTFACABEFggAigCAEEGRw1XIAIoAgwiAUEATA1WIABBBGohBANAIAFBAWsiACACKAIMTw1ZIAIoAgggAEECdGoiAygCAEUNWiAEQYjFACADEFsgAUEBSyEHIAAhASAHDQALDFYLIABB9cUAIAEQWCACKAIAQQdHDVYgAEGIxQAgAkEcahBYIAIoAhAiAUEATA1VIABBBGohBANAIAFBAWsiACACKAIQTw1YIAIoAgwgAEECdGoiAygCAEUNWSAEQYjFACADEFsgAUEBSyEIIAAhASAIDQALDFULIABB9sUAIAEQWCACKAIAQQhGDVQMVQsgAEH3xQAgARBYIAIoAgBBCUcNVAxgCyAAQfjFACABEFggAigCAEEKRg1SDFMLIABB+cUAIAEQWCACKAIAQQtHDVIMWwsgAEH6xQAgARBYIAIoAgBBDEcNUQxfCyAAQfvFACAB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NwJsIABCADcCBCAAQgA3AogBIABBADoAhgEgACADQQBHOgCFASAAIAJBAEc6AIQBIAAgATYCgAEgAEHk3wc2AgAgAEEANgJ8IABCADcCdCAAQgA3AgwgAEIANwIUIABCADcCkAEgAEGAgID8AzYCmAEgAAtGACAAKAIERQRAQej6BUG6iwNBnARB7tMCEAEACyAAIAI2AnggACABNgJ8IABBFGogAkEwahCHByAAIAIQrwogAEIANwJ4C4wCAQZ/IwBBIGsiAiQAIABB5N8HNgIAAkAgACgCkAEiAQRAA0AgASgCACEGIAEtACgiA0H/AUcEQCACQYvDADYCHCACQYzDADYCGCACQY3DADYCFCACQY7DADYCECACQY/DADYCDEHUiQtBADYCACACQQxqIANBAnRqKAIAIAJBC2ogAUEQahADQdSJCygCACEFQdSJC0EANgIAIAVBAUYNAwsgARBaIAYiAQ0ACwsgACgCiAEhASAAQQA2AogBIAEEQCABEFoLIAAoAmwiAQRAIAAgATYCcCABEFoLIABBkO0JNgIAIAAsABNBAEgEQCAAKAIIEFoLIAAQWiACQSBqJAAPC0EAEAsaEHAACywAIAEoAgAiASgCAEHcAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIcCCywAIAEoAgAiASgCAEHbAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIcCCywAIAEoAgAiASgCAEHaAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIcCC0EAAkAgACgCAEEnRgRAIAFFDQEgACABNgIQDwtBta4GQae3AkGZHEGsxAMQAQALQdn1AUGntwJBmhxBrMQDEAEACywAIAEoAgAiASgCAEHZAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIcCCywAIAEoAgAiASgCAEHYAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIcCCywAIAEoAgAiASgCAEHXAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIcCCywAIAEoAgAiASgCAEHWAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIcCCywAIAEoAgAiASgCAEHVAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIcCCywAIAEoAgAiASgCAEHUAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIcCCywAIAEoAgAiASgCAEHTAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIcCCywAIAEoAgAiASgCAEHSAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIcCCywAIAEoAgAiASgCAEHRAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIcCCywAIAEoAgAiASgCAEHQAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIcCC0EAAkAgACgCAEEnRgRAIAFFDQEgACABNgIIDwtBta4GQae3AkGBHEGR3QAQAQALQZ30AUGntwJBghxBkd0AEAEACywAIAEoAgAiASgCAEHPAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIcCCywAIAEoAgAiASgCAEHOAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIcCCywAIAEoAgAiASgCAEHNAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIcCCywAIAEoAgAiASgCAEHMAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIcCCywAIAEoAgAiASgCAEHLAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIcCCywAIAEoAgAiASgCAEHKAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIcCCywAIAEoAgAiASgCAEHJAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIcCCywAIAEoAgAiASgCAEHIAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIcCCywAIAEoAgAiASgCAEHHAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIcCCywAIAEoAgAiASgCAEHGAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIcCCyQAIAAoAgBBJ0cEQEG1rgZBp7cCQYccQb7VAxABAAsgACgCDAssACABKAIAIgEoAgBBxQBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCHAgssACABKAIAIgEoAgBBxABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCHAgssACABKAIAIgEoAgBBwwBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCHAgssACAB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8bcEEAEACyAAKAIMC0IAIAEoAgBBldPH3gVsIgBBGHYgAHNBldPH3gVsQaiZvfR9c0GV08feBWwiAEENdiAAc0GV08feBWwiAEEPdiAAcwsiACABKAIIIAEoAgAiAEEGdGogAEECdmpBx4yijgZrIABzCwcAIAEoAgALPQAgASgCDCABKAIEIAEoAgAiAEEGdGogAEECdmpBx4yijgZrIABzIgBBBnRqIABBAnZqQceMoo4GayAAcwsyAEEAIQACQCABKAIAIAIoAgBHDQAgASgCBCACKAIERw0AIAEoAgwgAigCDEYhAAsgAAsyAEEAIQACQCABKAIAIAIoAgBHDQAgASgCBCACKAIERw0AIAEoAgggAigCCEYhAAsgAAskACAAKAIAQSZHBEBB6aIGQae3AkHuG0HGxAMQAQALIAAoAhALpQEBAX8jAEEgayIBJAACQCAAKAIAIgAtABgiAgRAIAJB/wFHBEAgAUGLwwA2AhwgAUGMwwA2AhggAUGNwwA2AhQgAUGOwwA2AhAgAUGPwwA2AgxB1IkLQQA2AgAgAUEMaiACQQJ0aigCACABQQtqIAAQA0HUiQsoAgAhA0HUiQtBADYCACADQQFGDQILIABBADoAGAsgAUEgaiQADwtBABALGhBwAAvMAQEDfyMAQSBrIgMkAAJAAkAgACgCACIALQAYIgRB/wFHBEAgBEEBRgRAIAEgAkYNAiABEFkgAhB6GgwCCyADQYvDADYCHCADQYzDADYCGCADQY3DADYCFCADQY7DADYCECADQY/DADYCDEHUiQtBADYCACADQQxqIARBAnRqKAIAIANBC2ogABADQdSJCygCACEFQdSJC0EANgIAIAVBAUYNAgsgAEH/AToAGCAAIAIQehogAEEBOgAYCyADQSBqJAAPC0EAEAsaEHAAC90BAQN/IwBBIGsiAyQAAkACQCAAKAIAIgAtABgiBEH/AUcEQCAEQQJGBEAgASACKQMANwMAIAEgAigCCDYCCAwCCyADQYvDADYCHCADQYzDADYCGCADQY3DADYCFCADQY7DADYCECADQY/DADYCDEHUiQtBADYCACADQQxqIARBAnRqKAIAIANBC2ogABADQdSJCygCACEFQdSJC0EANgIAIAVBAUYNAgsgAEH/AToAGCAAIAIpAwA3AwAgACACKAIINgIIIABBAjoA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DAILQQAQCxoQcAALIAIgADYCCCACQZLDADYCHCACQZPDADYCGCACQZTDADYCFCACQZXDADYCECACQZbDADYCDCACQQhqIAAgASACQQxqIANBAnRqKAIAEQMACyACQSBqJAAgAAtoAQR/IwBBIGsiAiQAIAJBCGogARB6IQFB1IkLQQA2AgBBwAAgACABEAIhAEHUiQsoAgAhBEHUiQtBADYCACAEQQFHBEAgAEEBOgAYIAEQWRogAkEgaiQADwsQACEFIAEQWRogBRAHAAuFCQEMfyMAQUBqIgMkACADIAE2AiQgAyAAKAKAASAAKAIUKAIAEM8OQdSJC0EANgIAQZHDACADQSxqIABBiAFqIAEgA0EkahAFQdSJCygCACECQdSJC0EANgIAAkACQAJAIAJBAUcEQCADKAIsIgRBEGohAiADLQAYIQcCQCAELQAoIgVB/wFGBEAgB0H/AUYNBAwBCyAHQf8BRw0AIANBi8MANgI8IANBjMMANgI4IANBjcMANgI0IANBjsMANgIwIANBj8MANgIsQdSJC0EANgIAIANBLGogBUECdGooAgAgA0EoaiACEANB1IkLKAIAIQpB1IkLQQA2AgAgCkEBRwRAIARB/wE6ACgMAwsMBAsgAyACNgIoIANBksMANgI8IANBk8MANgI4IANBlMMANgI0IANBlcMANgIwIANBlsMANgIsQdSJC0EANgIAIANBLGogB0ECdGooAgAgA0EoaiACIAMQCEHUiQsoAgAhC0HUiQtBADYCACALQQFHDQELEAAhDCADEOkBIAwQBwALIAMtABgiAkH/AUYNACADQYvDADYCPCADQYzDADYCOCADQY3DADYCNCADQY7DADYCMCADQY/DADYCLEHUiQtBADYCACADQSxqIAJBAnRqKAIAIANBKGogAxADQdSJCygCACENQdSJC0EANgIAIA1BAUYNAQsgAyABNgIsAkAgACgCeCICRQ0AIAIoAmxFDQAgAkHgAGohCQJAIAIoAmQiBUUNACABQZXTx94FbCICQRh2IAJzQZXTx94FbEHUzJ76BnMiAkENdiACc0GV08feBWwiAkEPdiACcyEHAkAgBWkiBkEBTQRAIAVBAWsgB3EhAgwBCyAHIgIgBUkNACACIAVwIQILIAkoAgAgAkECdGooAgAiBEUNACAEKAIAIgRFDQAgBkEBTQRAIAVBAWshBgNAAkAgBCgCBCIIIAdHBEAgBiAIcSACRg0BDAQLIAQoAgggAUYNBAsgBCgCACIEDQALDAELA0ACQCAEKAIEIgYgB0cEQCAFIAZNBH8gBiAFcAUgBgsgAkYNAQwDCyAEKAIIIAFGDQMLIAQoAgAiBA0ACwsgBUUNACAAKAIUKAIAIghBldPH3gVsIgJBGHYgAnNBldPH3gVsQdTMnvoGcyICQQ12IAJzQZXTx94FbCICQQ92IAJzIQcCQCAFaSIGQQFNBEAgByAFQQFrcSECDAELIAciAiAFSQ0AIAIgBXAhAgsgCSgCACACQQJ0aigCACIERQ0AIAQoAgAiBEUNAAJAIAZBAU0EQCAFQQFrIQUDQAJAIAcgBCgCBCIGRwRAIAUgBnEgAkYNAQwFCyAEKAIIIAhGDQMLIAQoAgAiBA0ACwwCCwNAAkAgByAEKAIEIgZHBEAgBSAGTQR/IAYgBXAFIAYLIAJGDQEMBAsgBCgCCCAIRg0CCyAEKAIAIgQNAAsMAQsgAyAJIAEgA0EsahB4IAMoAgAiAiAEKAIUNgIUIAIgBCkCDDcCDAsgACgCFCABNgIAIANBQGskAA8LQQAQCxoQcAALLAAgASgCACIBKAIAQdwARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoAILogMCAX8CfiMAQUBqIgYkAAJAIAQEQCAGIAQQbDYCPCAGIAQ2AjggBiAGKQI4NwMgIAZBMGogBkEgahBlDAELIABBQGsoAgAgACgCPCIEa0EERwRAIAZBABBsNgI8IAZBADYCOCAGIAYpAjg3AxggBkEwaiAGQRhqEGUMAQsgBiAEKAIAKQMANwMwCwJAIAUEQCAGIAUQbDYCPCAGIAU2AjggBiAGKQI4NwMQIAZBKGogBkEQahBlDAELIABBQGsoAgAgACgCPCIEa0EERwRAIAZBABBsNgI8IAZBADYCOCAGIAYpAjg3AwggBkEoaiAGQQhqEGUMAQsgBiAEKAIAKQMANwMoCyAGKQMwIQcgBikDKCEIIABBqAFqQSRBBBBdIgAgCDcCHCAAIAc3AhQgACADNgIQIAAgAjYCDCAAIAE2AgggAEImNwIAAkAgAUUNACACRQ0AIANFDQACQAJAIAEoAgRBAUYNACACKAIEQQFGDQAgAygCBEEBRw0BCyAAQQE2AgQLIAZBQGskACAADwtB6sIDQaSkAkG1A0GywwMQAQALLAAgASgCACIBKAIAQdsARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoAILLAAgASgCACIBKAIAQdoARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoAILLAAgASgCACIBKAIAQdkARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoAILLAAgASgCACIBKAIAQdgARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoAILLAAgASgCACIBKAIAQdcARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoAILLAAgASgCACIBKAIAQdYARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoAILLAAgASgCACIBKAIAQdUARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoAILLAAgASgCACIBKAIAQdQARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoAILLAAgASgCACIBKAIAQdMARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoAILLAAgASgCACIBKAIAQdIARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoAILBQBBvAELLAAgASgCACIBKAIAQdEARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoAILLAAgASgCACIBKAIAQdAARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoAILLAAgASgCACIBKAIAQc8ARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoAILLAAgASgCACIBKAIAQc4ARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoAILLAAgASgCACIBKAIAQc0ARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoAILLAAgASgCACIBKAIAQcwARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoAILLAAgASgCACIBKAIAQcsARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoAILLAAgASgCACIBKAIAQcoARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoAILLAAgASgCACIBKAIAQckARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoAILLAAgASgCACIB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jcMANgJIIAJBjsMANgJEIAJBj8MANgJAQdSJC0EANgIAIAJBQGsgAEECdGooAgAgAkHfAGogAhADQdSJCygCACESQdSJC0EANgIAIBJBAUYNCQsgAi0AOCIBQf8BRg0BCyACQYvDADYCECACQYzDADYCDCACQY3DADYCCCACQY7DADYCBCACQY/DADYCAEHUiQtBADYCACACIAFBAnRqKAIAIAJBQGsgAkEgahADQdSJCygCACETQdSJC0EANgIAIBNBAUYNBwsgAkHgAGokAA8LEAAhAQwEC0Hw7QVBxZgDQZQGQY3eABABAAsQACEBIAJBQGsQWRogAhDpAQwCCxAAIQEgAkFAaxBZGiACEOkBDAELEAAhASACEOkBCyACQSBqEOkBIAEQBwALQQAQCxoQcAALKwAgASgCACIBKAIAQTxHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCgAgsrACABKAIAIgEoAgBBO0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEKACCysAIAEoAgAiASgCAEE6RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoAILKwAgASgCACIBKAIAQTlHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCgAgsrACABKAIAIgEoAgBBOEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEKACCysAIAEoAgAiASgCAEEoRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoAILKwAgASgCACIBKAIAQRdHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCgAgsrACABKAIAIgEoAgBBFkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEKACCysAIAEoAgAiASgCAEE3RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoAILBQBBogELKwAgASgCACIBKAIAQTZHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCgAgsrACABKAIAIgEoAgBBNUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEKACCysAIAEoAgAiASgCAEE0RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoAILKwAgASgCACIBKAIAQTNHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCgAgsrACABKAIAIgEoAgBB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ARCgAgsrACABKAIAIgEoAgBBA0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEKACCysAIAEoAgAiASgCAEECRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoAILKwAgASgCACIBKAIAQQFHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCgAgvdHgEOfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEoAgAiAigCAA5eAAECAwQFBgcICQoLDA0eHyAhIiMkJTU2Dg8QERITFBUWFxgZGhscHTcmJygpKissLS4vMDEyMzQ4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcAF0LQZj9A0HlswNB6gEQYgALIABBj8QAIAEQWCACKAIAQQFHDVwgAigCFCIBQQBMDVsgAEEEaiEEA0AgAUEBayIAIAIoAhRPDV4gAigCECAAQQJ0aiIDKAIARQ1fIARBssMAIAMQWyABQQFLIQYgACEBIAYNAAsMWwsgAEGQxAAgARBYIAIoAgBBAkcNWyACKAIQBEAgAEEEakGywwAgAkEQahBbCwxgCyAAQZHEACABEFggAigCAEEDRw1aDGMLIABBksQAIAEQWCACKAIAQQRHDVkgAigCFARAIABBBGpBssMAIAJBFGoQWwsgAigCEEUNWCAAQQRqQbLDACACQRBqEFsPCyAAQZPEACABEFggAigCAEEFRw1YIABBssMAIAJBJGoQWCACKAIgRQ1XIABBBGpBssMAIAJBIGoQWw8LIABBlMQAIAEQWCACKAIAQQZHDVcgAigCDCIBQQBMDVYgAEEEaiEEA0AgAUEBayIAIAIoAgxPDVkgAigCCCAAQQJ0aiIDKAIARQ1aIARBssMAIAMQWyABQQFLIQcgACEBIAcNAAsMVgsgAEGVxAAgARBYIAIoAgBBB0cNViAAQbLDACACQRxqEFggAigCECIBQQBMDVUgAEEEaiEEA0AgAUEBayIAIAIoAhBPDVggAigCDCAAQQJ0aiIDKAIARQ1ZIARBssMAIAMQWyABQQFLIQggACEBIAgNAAsMVQsgAEGWxAAgARBYIAIoAgBBCEYNVAxVCyAAQZfEACABEFggAigCAEEJRw1UDGALIABBmMQAIAEQWCACKAIAQQpGDVIMUwsgAEGZxAAgARBYIAIoAgBBC0cNUgxbCyAAQZrEACABEFggAigCAEEMRw1RDF8LIABBm8QAIAEQWCACKAIAQQ1HDVAMXQsgAEGcxAAgARBYIAIoAgBBGEcNTwxeCyAAQZ3EACABEFggAigCAEEZRw1OIABBssMAIAJBIGoQWAxdCyAAQZ7EACABEFggAigCAEEaRw1NDFQLIABBn8QAIAEQWCACKAIAQRtHDUwMVAsgAEGgxAAgARBYIAIoAgBBHEYNSgxLCyAAQaHEACABEFggAigCAEEdRw1KDFYLIABBosQAIAEQWCACKAIAQR5HDUkgAEGywwAgAkEUahBYDFULIABBo8QAIAEQWCACKAIAQR9HDUgMTQsgAEGkxAAgARBYIAIoAgBBIEcNRwxRCyAAQaXEACABEFggAigCAEEhRw1GDFELIABBpsQAIAEQWCACKAIAQSJHDUUgAEGywwAgAkEgahBYDwsgAEGnxAAgARBYIAIoAgBBI0cNRAxRCyAAQajEACABEFggAigCAEEkRw1DDEoLIABBqcQAIAEQWCACKAIAQSVGDUEMQgsgAEGqxAAgARBYIAIoAgBBJkcNQQxFCyAAQavEACABEFggAigCAEEnRw1ADEQLIABBrMQAIAEQWCACKAIAQQ5GDT4MPwsgAEGtxAAgARBYIAIoAgBBD0cNPgxKCyAAQa7EACABEFggAigCAEEQRw09DEgLIABBr8QAIAEQWCACKAIAQRFHDTwMQAsgAEGwxAAgARBYIAIoAgBBEkcNOwxLCyAAQbHEACABEFggAigCAEETRw06IAIoAghFDTkMSwsgAEGyxAAgARBYIAIoAgBBFEYNOAw5CyAAQbPEACABEFggAigCAEEVRw04DEgLIABBtMQAIAEQWCACKAIAQSlGDTYMNwsgAEG1xAAgARBYIAIoAgBBKkcNNgxGCyAAQbbEACABEFggAigCAEErRg00DDULIABBt8QAIAEQWCACKAIAQSxHDTQMOQsgAEG4xAAgARBYIAIoAgBBLUcNMww8CyAAQbnEACABEFggAigCAEEuRw0yDDoLIABBusQAIAEQWCACKAIAQS9GDTAMMQsgAEG7xAAgARBYIAIoAgBBMEcNMAw4CyAAQbzEACABEFggAigCAEExRw0vDDYLIABBvcQAIAEQWCACKAIAQTJHDS4MMgsgAEG+xAAgARBYIAIoAgBBM0cNLSACKAIoIgFBAEoEQCAAQQRqIQMDQCABQQFrIgQgAigCKE8NMCACKAIkIARBAnRqIgUoAgBFDTEgA0GywwAgBRBbIAFBAUshCSAEIQEgCQ0ACwsMNgsgAEG/xAAgARBYIAIoAgBBNEYEQAw9CwwsCyAAQcDEACABEFggAigCAEE1Rw0rIAIoAhQiAUEATA0qIABBBGohBANAIAFBAWsiACACKAIUTw0tIAIoAhAgAEECdGoiAygCAEUNLiAEQbLDACADEFsgAUEBSyEKIAAhASAKDQALDCoLIABBwcQAIAEQWCACKAIAQTZGDSkMKgsgAEHCxAAgARBYIAIoAgBBN0cNKQw5CyAAQcPEACABEFggAigCAEEWRg0nDCgLIABBxMQAIAEQWCACKAIAQRdGDSYMJwsgAEHFxAAgARBYIAIoAgBBKEYNJQwmCyAAQcbEACABEFggAigCAEE4Rw0lIAIoAgwiAUEATA0kIABBBGohBANAIAFBAWsiACACKAIMTw0nIAIoAgggAEECdGoiAygCAEUNKCAEQbLDACADEFsgAUEBSyELIAAhASALDQALDCQLIABBx8QAIAEQWCACKAIAQTlHDSQMNAsgAEHIxAAgARBYIAIoAgBBOkcNIwwzCyAAQcnEACABEFggAigCAEE7Rw0iDDILIABBysQAIAEQWCACKAIAQTxHDSEgAEGywwAgAkEYahBYIAIoAgwiAUEATA0gIABBBGohBANAIAFBAWsiACACKAIMTw0jIAIoAgggAEECdGoiAygCAEUNJCAEQbLDACADEFsgAUEBSyEMIAAhASAMDQALDCALIABBy8QAIAEQWCACKAIAQT1HDSAMMAsgAEHMxAAgARBYIAIoAgBBPkcNHwwvCyAAQc3EACABEFggAigCAEE/Rw0eIABBssMAIAJBFGoQWA8LIABBzsQAIAEQWCACKAIAQcAARw0dIAIoAgwiAUEATA0cIABBBGohBANAIAFBAWsiACACKAIMTw0fIAIoAgggAEECdGoiAygCAEUNICAEQbLDACADEFsgAUEBSyENIAAhASANDQALDBwLIABBz8QAIAEQWCACKAIAQcEARw0cDCgLIABB0MQAIAEQWCACKAIAQcIARw0bDCYLIABB0cQAIAEQWCACKAIAQcMARw0aIABBssMAIAJBDGoQWCACKAIIRQ0ZDCsLIABB0sQAIAEQWCACKAIAQcQARw0ZDCELIABB08QAIAEQWCACKAIAQcUARw0YDCALIABB1MQAIAEQWCACKAIAQcYARw0XIAIoAgwiAUEATA0WIABBBGohBANAIAFBAWsiACACKAIMTw0ZIAIoAgggAEECdGoiAygCAEUNGiAEQbLDACADEFsgAUEBSyEOIAAhASAODQALDBYLIABB1cQAIAEQWCACKAIAQccARw0WDBsLIABB1sQAIAEQWCACKAIAQcgARw0VDBkLIABB18QAIAEQWCACKAIAQckARw0UDCQLIABB2MQAIAEQWCACKAIAQcoARw0TIABBssMAIAJBGGoQWAwWCyAAQdnEACABEFggAigCAEHLAEcNEgwVCyAAQdrEACABEFggAigCAEHMAEcNEQwXCyAAQdvEACABEFggAigCAEHNAEcNEAwWCyAAQdzEACABEFggAigCAEHOAEcNDwwbCyAAQd3EACABEFggAigCAEHPAEcNDiACKAIYBEAgAEEEakGywwAgAkEYahBbCyACKAIUBEAgAEEEakGywwAgAkEUahBbCyACKAIQBEAgAEEEakGywwAgAkEQahBbCwwaCyAAQd7EACABEFggAigCAEHQAEYNDAwNCyAAQd/EACABEFggAigCAEHRAEcNDAwYCyAAQeDEACABEFggAigCAEHSAEcNCyACKAIUBEAgAEEEakGywwAgAkEUahBbCwwWCyAAQeHEACABEFggAigCAEHTAEcNCgwPCyAAQeLEACABEFggAigCAEHUAEcNCQwUCyAAQePEACABEFggAigCAEHVAEcNCAwUCyAAQeTEACABEFggAigCAEHWAEcNBwwLCyAAQeXEACABEFggAigCAEHXAEcNBgwLCyAAQebEACABEFggAigCAEHYAEcNBQwVCyAAQefEACABEFggAigCAEHZAEcNBAwPCyAAQejEACABEFggAigCAEHaAEcNAwwNCyAAQenEACABEFggAigCAEHbAEcNAgwHCyAAQerEACABEFggAigCAEHcAEcNASAAQbLDACACQTxqEFggAigCMCIBQQBMDQAgAEEEaiEEA0AgAUEBayIAIAIoAjBPDQMgAigCLCAAQQJ0aiIDKAIARQ0EIARBssMAIAMQWyABQQFLIQ8gACEBIA8NAAsLDwtB8O0FQcWYA0GUBkGN3gAQAQALQcWiAUGJogNBvAFBpogFEAEAC0GBgwJB05kDQbkCQa73AhABAAsgAEGywwAgAkEUahBYCyAAQbLDACACQRBqEFgLIABBssMAIAJBDGoQWAwKCyAAQbLDACACQRxqEFgLIABBssMAIAJBGGoQWAsgAEGywwAgAkEUahBYCyAAQbLDACACQRBqEFgPCyAAQbLDACACQRRqEFgLIABBssMAIAJBEGoQWAsgAEGywwAgAkEMahBYDwsgAEGywwAgAkEoahBYCyAAQbLDACACQSRqEFgPCyAAQbLDACACQRxqEFggAEGywwAgAkEYahBYDwsgAEGywwAgAkEIahBYDwsgAEEEakGywwAgAkEIahBbC74iAQ5/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAIgIoAgAOXgABAgMEBQYHCAkKCwwNHh8gISIjJCU1Ng4PEBESExQVFhcYGRobHB03JicoKSorLC0uLzAxMjM0ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXABdC0GY/QNB5bMDQeoBEGIACyAAQRRqQbPDACABEFggAigCAEEBRw1cIAIoAhQiAUEATA1bIABBGGohAwNAIAFBAWsiACACKAIUTw1eIAIoAhAgAEECdGoiBCgC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BCAANgIEIAAQWgsgBBBaCyABKAL8ASICBEADQCACKAIAIbcBIAIQWiC3ASICDQALCyABKAL0ASEAIAFBADYC9AEgAARAIAAQWgsCQCABKALwAUUNACABKALsASICKAIAIgAgASgC6AEoAgQiBDYCBCAEIAA2AgAgAUEANgLwASACIBRGDQADQCACKAIEIbgBIAIQWiC4ASICIBRHDQALCyABKALcASICBEADQCACKAIAIbkBIAIQWiC5ASICDQALCyABKALUASEAIAFBADYC1AEgAARAIAAQWgsgASgCyAEiAgRAA0AgAigCACG6ASACEFogugEiAg0ACwsgASgCwAEhACABQQA2AsABIAAEQCAAEFoLIBVBABDjByABKAKwASICBEADQCACKAIAIbsBIAIQWiC7ASICDQALCyABKAKoASEAIAFBADYCqAEgAARAIAAQWgsCQCABKAKcASIABEAgASgCoAEiAiAAIgNHBEADQCACQcgAayIEKAI4IgMEQCACQQxrIAM2AgAgAxBaCyACQRhrIgMtAAAiBkH/AUcEQCABQYvDADYCsAUgAUGMwwA2AqwFIAFBjcMANgKoBSABQY7DADYCpAUgAUGPwwA2AqAFQdSJC0EANgIAIAFBoAVqIAZBAnRqKAIAIAFBqAJqIAJBMGsQA0HUiQsoAgAhvAFB1IkLQQA2AgAgvAFBAUYNBAsgA0H/AToAACAEIgIgAEcNAAsgASgCnAEhAwsgASAANgKgASADEFoLIAUQBwALDAELAAtBABALGhBwAAvABwENfyMAQdABayICJAAgACgCBCEDIAJCADcCrAEgAkGAgID8AzYCtAEgAkIANwKkASACIAE2ApwBQdSJC0EANgIAIAIgA0EYajYCoAFBicMAIAJBnAFqEApB1IkLKAIAIQZB1IkLQQA2AgAgBkEBRgRAEAAhByACQaQBahDSDiAHEAcACyAALwEUIQMgAkIANwJ0IAJBADYCfCACQgA3AhAgAkEANgIYIAJCADcCkAEgAkGAgID8AzYCmAEgAkIANwJsIAJCADcCCCACQeTfBzYCACACQgA3AogBIAJBADoAhgEgAiADOwGEASACIAJBnAFqNgKAASAAKAIEIQBB1IkLQQA2AgAgAiAANgIEQYrDACACIAEQA0HUiQsoAgAhAEHUiQtBADYCAAJAIABBAUcEQCACQeTfBzYCACACKAKQASIABEADQCAAKAIAIQkgAC0AKCIDQf8BRwRAIAJBi8MANgLMASACQYzDADYCyAEgAkGNwwA2AsQBIAJBjsMANgLAASACQY/DADYCvAFB1IkLQQA2AgAgAkG8AWogA0ECdGooAgAgAkG7AWogAEEQahADQdSJCygCACEIQdSJC0EANgIAIAhBAUYNBAsgABBaIAkiAA0ACwsgAigCiAEhACACQQA2AogBIAAEQCAAEFoLIAIoAmwiAARAIAIgADYCcCAAEFoLIAJBkO0JNgIAIAIsABNBAEgEQCACKAIIEFoLIAIoAqwBIgAEQANAIAAoAgAhCyAALQA4IgNB/wFHBEAgAkGLwwA2AhAgAkGMwwA2AgwgAkGNwwA2AgggAkGOwwA2AgQgAkGPwwA2AgBB1IkLQQA2AgAgAiADQQJ0aigCACACQbwBaiAAQSBqEANB1IkLKAIAIQpB1IkLQQA2AgAgCkEBRg0ECyAAEFogCyIADQALCyACKAKkASEAIAJBADYCpAEgAARAIAAQWgsgAkHQAWokAA8LEAAhDiACENEOGiMAQSBrIgMkAAJAAkAgAigCrAEiAARAA0AgACgCACENIAAtADgiBEH/AUcEQCADQYvDADYCHCADQYzDADYCGCADQY3DADYCFCADQY7DADYCECADQY/DADYCDEHUiQtBADYCACADQQxqIARBAnRqKAIAIANBC2ogAEEgahADQdSJCygCACEMQdSJC0EANgIAIAxBAUYNAwsgABBaIA0iAA0ACwsgAigCpAEhACACQQA2AqQBIAAEQCAAEFoLIANBIGokAAwBC0EAEAsaEHAACyAOEAcAC0EAEAsaEHAAC04BAX4gACkCgAEhAUGIARBcIgBCADcCbCAAQgA3AgQgACABNwKAASAAQbDeBzYCACAAQQA2AnwgAEIANwJ0IABCADcCDCAAQgA3AhQgAAs/ACAAKAIERQRAQej6BUG6iwNBnARB7tMCEAEACyAAIAI2AnggACABNgJ8IABBFGogAkEwahD4BSAAQgA3AngLTgEBfyAAKAKAASEBQYQBEFwiAEIANwJsIABCADcCBCAAIAE2AoABIABB4N4HNgIAIABBADYCfCAAQgA3AnQgAEIANwIMIABCADcCFCAACz8AIAAoAgRFBEBB6PoFQbqLA0GcBEHu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CCgCACIIDQALDAELIAtBFGogCEEUaiIFEK4HIQwgCCgCIARAIAgoAhwiAARAA0AgACgCACESIAAQWiASIgANAAsLQQAhACAIQQA2AhwCQCAIKAIYIgNFDQAgA0EETwRAIANBfHEhAQNAIABBAnQiAiAFKAIAakEANgIAIAUoAgAgAmpBADYCBCAFKAIAIAJqQQA2AgggBSgCACACakEANgIMIABBBGoiACABRw0ACwsgA0EDcSICRQ0AQQAhAQNAIAUoAgAgAEECdGpBADYCACAAQQFqIQAgAUEBaiIBIAJHDQALCyAIQQA2AiALIAtBADYCEAJAIAwoAgwiCUUNAEEAIQEDQAJAIAsgBigCDCABQQJ0aigCACIHNgIMAkAgB0F/Rg0AIAwoAgQiA0UNACAMKAIAAn8gA0EBayABcSADaUEBSyICRQ0AGiABIAEgA0kNABogASADcAsiBEECdGooAgAiAEUNACAAKAIAIgBFDQACQCACRQRAIANBAWshAwNAAkAgACgCBCICIAFHBEAgAiADcSAERg0BDAULIAAoAgggAUYNAwsgACgCACIADQALDAILA0ACQCAAKAIEIgIgAUcEQCACIANPBH8gAiADcAUgAgsgBEYNAQwECyAAKAIIIAFGDQILIAAoAgAiAA0ACwwBC0HUiQtBADYCAEHpBSALQShqIAwgASALQRBqEAVB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRg0BIAsoAigoAgxFBEBB1IkLQQA2AgBBDUGe+gVB350CQbMCQduGARAFQdSJCygCACEUQdSJC0EANgIAIBRBAUcEQAALDAILQdSJC0EANgIAQekFIAtBKGoiAiAMIAEgC0EQahAFQdSJCygCACEVQdSJC0EANgIAIBVBAUYNAUHUiQtBADYCACALKAIoIQFB6QUgAiAFIAcgC0EMahAFQdSJCygCACEWQdSJC0EANgIAIBZBAUYNASALKAIoIAEpAgw3AgwgDCgCDCEJIAsoAhAhAQsgCyABQQFqIgE2AhAgASAJSQ0BDAILCxAAIRcgDBCiASAXEAcACyAMKAIIIgYEQANAIAYoAgAhGCAGEFogGCIGDQALCyAMKAIAIQAgDEEANgIAIABFDQAgABBaCyALQTBqJAALpQIBBH8CQCABKAIAIgEoAgBBwgBGBEAgASgCDCgCBCICQQFH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WAvyDwEYfyMAQbACayIDJAACQAJAAkACQAJAAkACQAJAAkACQAJAIAAoAgQEQCAAIAAoAgAoAhARAgAEQCADIAAoAgQiAikCODcD+AEgAyACKQIwNwPwASADIAIpAig3A+gBIAMgAikCIDcD4AEgAyACKQIYNwPYASADQYACaiACQUBrEOMBIQRB1IkLQQA2AgBBmgEgA0GUAmogAkHUAGoQAiEFQdSJCygCACERQdSJC0EANgIAIBFBAUYNAiADIAIoAmg2AqgCIAMgAigCbCICNgKsAiACBEAgAiACKAIEQQFqNgIECyADQQEgAygC4AEiAiACQQBKGzYC4AEgAyADKQPoATcDGCADIAMpA/ABNwMgIAMgAykD+AE3AyggAyADKQPgATcDECADQQEgAygC3AEiAiACQQBKGzYC3AFB1IkLQQA2AgAgAyADKQPYATcDCEGbASADQTBqIAQQAiEEQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBxABqIAUQAiEFQdSJCygCACESQdSJC0EANgIAIBJBAUYNBSADIAMoAqwCIgI2AlwgAyADKAKoAjYCWCACBEAgAiACKAIEQQFqNgIECyADQQA2AnggAyADKQMQNwKEASADIAMpAxg3AowBIAMgAykDIDcClAEgAyADKQMoNwKcASADQgA3AnAgA0H87Ak2AmQgAyADKQMINwJ8QdSJC0EANgIAIAMgATYCaCADIAFBqAFqNgJsQZsBIANBpAFqIAQQAiEBQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBuAFqIAUQAhpB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRwRAIAMgAygCWDYCzAEgAyADKAJcIgE2AtABIAEEQCABIAEoAgRBAWo2AgQLIANBADsB1AEgA0EIahBhIANBAToA1AEgACgCACgCFCEUQdSJC0EANgIAIBQgABAGIQBB1IkLKAIAIRVB1IkLQQA2AgAgFUEBRg0EIAMoAmQoAgghFkHUiQtBADYCACAWIANB5ABqIgEgABADQdSJCygCACEXQdSJC0EANgIAIBdBAUYNBEHUiQtBADYCAEGXASABEApB1IkLKAIAIRhB1IkLQQA2AgAgGEEBRg0EIANB/OwJNgJkIANB/ABqEGEg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1IkLQQA2AgAgCyABIAAQA0HUiQsoAgAhDEHUiQtBADYCACAMQQFHDQIMBAsgACgCACgCCCENQdSJC0EANgIAIA0gABAGIQFB1IkLKAIAIQ5B1IkLQQA2AgAgDkEBRg0DCyACIAE2ApgBCwJAAkAgAygCGCIAIANBCGoiBEYEQEEEIQEgBCEADAELQQUhASAARQ0BCyAAIAAoAgAgAUECdGooAgARAQALIANBIGokACACDwsQACEADAELEAAhACACEOQBGgJAIAMoAhgiASADQQhqIgRGBEBBBCEDIAQhAQwBC0EFIQMgAUUNAQsgASABKAIAIANBAnRqKAIAEQEACyACEFogABAHAAs5ACAAKAIERQRAQej6BUG6iwNBnARB7tMCEAEACyAAIAI2AnggACABNgJ8IAAgAhDYDiAAQgA3AngLsSEBDn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEoAgAiAigCAA5eAAECAwQFBgcICQoLDA0eHyAhIiMkJTU2Dg8QERITFBUWFxgZGhscHTcmJygpKissLS4vMDEyMzQ4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcAF0LQZj9A0HlswNB6gEQYgALIABBFGpBnT8gARBYIAIoAgBBAUcNXCACKAIUIgFBAEwNWyAAQRhqIQMDQCABQQFrIgAgAigCFE8NXiACKAIQIABBAnRqIgQoAgBFDV8gA0GcPyAEEFsgAUEBSyEGIAAhASAGDQALDFsLIABBFGoiA0GePyABEFggAigCAEECRw1bIAIoAhAEQCAAQRhqQZw/IAJBEGoQWwsgA0GcPyACQQxqEFggA0GcPyACQQhqEFgPCyAAQRRqIgBBnz8gARBYIAIoAgBBA0cNWgxgCyAAQRRqQaA/IAEQWCACKAIA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EIkCCywAIAEoAgAiASgCAEHVAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIkCCywAIAEoAgAiASgCAEHUAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIkCCywAIAEoAgAiASgCAEHTAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIkCCywAIAEoAgAiASgCAEHSAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIkCCyUAIABBqAFqQQxBBBBdIgAgATYCCCAAQQg2AgAgACACNgIEIAALLAAgASgCACIBKAIAQdEARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQiQILLAAgASgCACIBKAIAQdAARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQiQILLAAgASgCACIBKAIAQc8ARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQiQILLAAgASgCACIBKAIAQc4ARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQiQILLAAgASgCACIBKAIAQc0ARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQiQILLAAgASgCACIBKAIAQcwARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQiQILLAAgASgCACIBKAIAQcsARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQiQILLAAgASgCACIBKAIAQcoARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQiQILLAAgASgCACIBKAIAQckARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQiQILLAAgASgCACIBKAIAQcgARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQiQILJgAgACgCAEEMRwRAQfWzBkGntwJBzBRB1t4EEAEACyAAIAE6AAkLLAAgASgCACIBKAIAQccARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQiQILLAAgASgCACIBKAIAQcYARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQiQILLAAgASgCACIBKAIAQcUARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQiQILLAAgASgCACIBKAIAQcQARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQiQILLAAgASgCACIB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ACACIARwIQILIAcoAgAgAkECdGogBTYCAAwBCyAAIAEoAgA2AgAgASADKAJgNgIACyAHIAcoAgxBAWo2AgwLAkAgBigCBCICBEADQCACIgEoAgAiAg0ADAILAAsDQCAGKAIIIgEoAgAgBkchPiABIQYgPg0ACwsgCiABIgZHDQEMAwsLEAAhAQwECxAAIQEMAwsgAygCmAEiAQRAA0AgASgCACE/IAEQWiA/IgENAAsLIAMoApABIQAgA0EANgKQASAABEAgABBaCyADQQA2AowBIAMoAoABIgIgAygCfCIBa0ECdSIGQQNPBEADQCABKAIAEFogAyADKAJ8QQRqIgE2AnwgAygCgAEiAiABa0ECdSIGQQJLDQALC0GAASEEAkACQAJAIAZBAWsOAgEAAgtBgAIhBAsgAyAENgKIAQsCQCABIAJGDQADQCABKAIAEFogAUEEaiIBIAJHDQALIAMoAoABIgAgAygCfCIBRg0AIAMgACABIABrQQNqQXxxajYCgAELIAMoAngiAARAIAAQWgsgAygCoAIiBgRAA0AgBigCACFBIAYoAhgiAQRAA0AgASgCACFAIAEQWiBAIgENAAsLIAYoAhAhASAGQQA2AhAgAQRAIAEQWgsgBhBaIEEiBg0ACwsgAygCmAIhACADQQA2ApgCIAAEQCAAEFoLIAMoAjQQiwcgA0GQA2okAA8LEAAhAQwBCxAAIQELIAMoApgBIgAEQANAIAAoAgAhQiAAEFogQiIADQALCyADKAKQASEAIANBADYCkAEgAARAIAAQWgsgA0EANgKMASADKAKAASICIAMoAnwiAGtBAnUiBEEDTwRAA0AgACgCABBaIAMgAygCfEEEaiIANgJ8IAMoAoABIgIgAGtBAnUiBEECSw0ACwtBgAEhBQJAAkACQCAEQQFrDgIBAAILQYACIQULIAMgBTYCiAELAkAgACACRg0AA0AgACgCABBaIABBBGoiACACRw0ACyADKAKAASIAIAMoAnwiAkYNACADIAAgAiAAa0EDakF8cWo2AoABCyADKAJ4IgAEQCAAEFoLIANBmAJqEO4LIAMoAjQQiwcMBwsQACEBIANB+ABqEN0OGgwCCwALEAAhASADQfgAahDkARoLAkAgAygCcCICIANB4ABqIgBGBEBBBCEGIAAhAgwBC0EFIQYgAkUNAQsgAiAC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xZgDQZQGQY3eABABAAsgACABEIoCCywAIAEoAgAiASgCAEHGAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIoCCywAIAEoAgAiASgCAEHFAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIoCCywAIAEoAgAiASgCAEHEAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIoCCywAIAEoAgAiASgCAEHDAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIoCCywAIAEoAgAiASgCAEHCAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIoCCywAIAEoAgAiASgCAEHBAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIoCCywAIAEoAgAiASgCAEHAAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIoCCysAIAEoAgAiASgCAEE/RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQigILagEEfyMAQSBrIgIkACACQQU2AhggAiABOQMIQdSJC0EANgIAQeIAIAAgAkEIaiIAEANB1IkLKAIAIQRB1IkLQQA2AgAgBEEBRwRAIAAQWRogAkEgaiQADwsQACEFIAJBCGoQWRogBRAHAAsrACABKAIAIgEoAgBBPkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIoCCysAIAEoAgAiASgCAEE9RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQigILKwAgASgCACIBKAIAQTxHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCKAgsrACABKAIAIgEoAgBBO0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIoCCysAIAEoAgAiASgCAEE6RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQigILKwAgASgCACIBKAIAQTlHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCKAgsrACABKAIAIgEoAgBBOEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIoCCysAIAEoAgAiASgCAEEoRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQigILKwAgASgCACIBKAIAQRdHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCKAgsrACABKAIAIgEoAgBBFkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIoCC4IBAQN/IwBBMGsiAiQAIAJBAjYCECACIAE2AgAgAkEENgIoIAIgATYCGEHUiQtBADYCAEHiACAAIAJBGGoiABADQdSJCygCACEDQdSJC0EANgIAIANBAUcEQCAAEFkaIAIQWRogAkEwaiQADwsQACEEIAJBGGoQWRogAhBZGiAEEAcACysAIAEoAgAiASgCAEE3RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQigILKwAgASgCACIBKAIAQTZHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCKAgsrACABKAIAIgEoAgBBNUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIoCCysAIAEoAgAiASgCAEE0RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQigILKwAgASgCACIBKAIAQTNHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCKAgsrACABKAIAIgEoAgBBMkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIoCCysAIAEoAgAiASgCAEExRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQigILKwAgASgCACIBKAIAQTBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCKAgsrACABKAIAIgEoAgBBL0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIoCCysAIAEoAgAiASgCAEEuRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQigIL2wMBAn8gACABKAIQIgI2AgACQAJAAkACQAJAAkACQCACQQJPBEAgAkEHSQ0BIAIoAgQiA0EBRg0DIAMNAgtBp5kGQae3AkE2QbXyAhABAAsCQAJAAkACQAJAIAJBAmsOBQcAAQIDBAsgACABKQMANwMIDwsgACABKAIANgIIDwsgACABKQMANwMIDwsgACABKQAANwAIIAAgASkACDcAEA8LQe+EBEGntwJBygAQYgALQd/+BUGntwJBzQBBtfICEAEACyACKAIIIgNBD00EQCADQQxrQQRJDQICQAJAAkACQCADQQFrDgsCAgIAAgICAwMDAwELQYu/BUGntwJB0gAQYgALQe+4AUGntwJB1AAQYgALQdSEBEGntwJB2wAQYgALQYW5AUGntwJB4AAQYgALIAMoAhBFBEAgASgCACIBRQ0DIAAgATYCCA8LAn9BACEBAkACQCACQQdJDQAgAigCBEEBRw0AIAIoAggiAEEPSw0BIABBCU8NAEHgAiAAdkEBcSEBCyABDAELIAAoAhBBfnFBAkYLRQ0DQfTvBEGntwJB7gAQYgALIAAgASgCADYCCAsPC0G6/AVB5poDQa4CQeXmBBABAAtBwaEGQae3AkHtAEG18gIQAQALEgAgAEEIakG01QVBAhBfGiAACysAIAEoAgAiASgCAEEtRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQigILKwAgASgCACIBKAIAQSxHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCKAgsrACABKAIAIgEoAgBBK0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIoCCysAIAEoAgAiASgCAEEqRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQigILKwAgASgCACIBKAIAQSlHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCKAgsrACABKAIAIgEoAgBBFUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIoCCysAIAEoAgAiASgCAEEURwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQigILKwAgASgCACIBKAIAQRNHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCKAgsrACABKAIAIgEoAgBBEkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIoCCysAIAEoAgAiASgCAEERRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQigILagEEfyMAQSBrIgIkACACQQQ2AhggAiABOAIIQdSJC0EANgIAQeIAIAAgAkEIaiIAEANB1IkLKAIAIQRB1IkLQQA2AgAgBEEBRwRAIAAQWRogAkEgaiQADwsQACEFIAJBCGoQWRogBRAHAAsrACABKAIAIgEoAgBBEEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIoCCysAIAEoAgAiASgCAEEPRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQigILKwAgASgCACIBKAIAQQ5HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCKAgsrACABKAIAIgEoAgBBJ0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIoCCysAIAEoAgAiASgCAEEmRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQigILKwAgASgCACIBKAIAQSVHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCKAgsrACABKAIAIgEoAgBBJEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIoCCysAIAEoAgAiASgCAEEjRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQigILKwAgASgCACIBKAIAQSJHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCKAgsrACABKAIAIgEoAgBBIUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIoCCysAIAEoAgAiASgCAEEgRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQigILKwAgASgCACIBKAIAQR9HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCKAgsrACABKAIAIgEoAgBBHkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIoCCysAIAEoAgAiASgCAEEdRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQigILKwAgASgCACIBKAIAQRxHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCKAgsrACABKAIAIgEoAgBBG0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIoCCysAIAEoAgAiASgCAEEaRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQigILKwAgASgCACIBKAIAQRlHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCKAgsrACABKAIAIgEoAgBBGEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIoCCysAIAEoAgAiASgCAEENRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQigILKwAgASgCACIBKAIAQQxHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCKAgsrACABKAIAIgEoAgBBC0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIoCCysAIAEoAgAiASgCAEEKRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQigILKwAgASgCACIBKAIAQQlHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCKAgsrACABKAIAIgEoAgBBCEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIoCCysAIAEoAgAiASgCAEEHRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQigILKwAgASgCACIBKAIAQQZHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCKAgsrACABKAIAIgEoAgBBBUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIoCCysAIAEoAgAiASgCAEEERwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQigILKwAgASgCACIBKAIAQQNHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCKAgsrACABKAIAIgEoAgBBAkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIoCCysAIAEoAgAiASgCAEEBRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQigILVABB4AEQXCIAQQBBuAH8CwAgAEIANwK4ASAAQYjYBzYCACAAQgA3AsABIABCADcCzAEgAEGAgID8AzYCyAEgAEIANwLUASAAQYCAgPwDNgLcASAAC5UBAQF/IAAoAgQEQCAAIAI2AnggACABNgJ8IABBFGogAkEwahCOByACKAIwIgMhASADKAIEQQJPBEAgACgCfEGoAWpBDEEEEF0iASADNgIIIAFCk4CAgBA3AgAgAiABNgIwCyACIAAgAyABELcINgIwIAIgACgCfBCCBSAAQgA3AngPC0Ho+gVBuosDQZwEQe7TAhABAAvfIQEQfyABKAIABEACQCAAQRhqIgdBzjogARBbIAAhAwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEoAgAiAigCAA5eAAECAwQFBgcICQoLDA0eHyAhIiMkJTU2Dg8QERITFBUWFxgZGhscHTcmJygp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DQALC0EACxUAIAFBgNYHNgIAIAEgACgCBDYCBAsdAQF/QQgQXCIBQYDWBzYCACABIAAoAgQ2AgQgAQuxIQEOfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgASgCACICKAIADl4AAQIDBAUGBwgJCgsMDR4fICEiIyQlNTYODxAREhMUFRYXGBkaGxwdNyYnKCkqKywtLi8wMTIzNDg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaW1wAXQtBmP0DQeWzA0HqARBiAAsgAEEUakHtOSABEFggAigCAEEBRw1cIAIoAhQiAUEATA1bIABBGGohAwNAIAFBAWsiACACKAIUTw1eIAIoAhAgAEECdGoiBCgCAEUNXyADQew5IAQQWyABQQFLIQYgACEBIAYNAAsMWwsgAEEUaiIDQe45IAEQWCACKAIAQQJHDVsgAigCEARAIABBGGpB7DkgAkEQahBbCyADQew5IAJBDGoQWCADQew5IAJBCGoQWA8LIABBFGoiAEHvOSABEFggAigCAEEDRw1aDGALIABBFGpB8DkgARBYIAIoAgBBBEcNWSACKAIUBEAgAEEYakHsOSACQRRqEFsLIAIoAhBFDVggAEEYakHsOSACQRBqEFsPCyAAQRRqIgNB8TkgARBYIAIoAgBBBUcNWCADQew5IAJBJGoQWCACKAIgRQ1XIABBGGpB7DkgAkEgahBbDwsgAEEUakHyOSABEFggAigCAEEGRw1XIAIoAgwiAUEATA1WIABBGGohAwNAIAFBAWsiACACKAIMTw1ZIAIoAgggAEECdGoiBCgCAEUNWiADQew5IAQQWyABQQFLIQcgACEBIAcNAAsMVgsgAEEUaiIDQfM5IAEQWCACKAIAQQdHDVYgA0HsOSACQRxqEFggAigCECIBQQBM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CygCACERQdSJC0EANgIAIBFBAUYNAiADIAIoAmg2AqgCIAMgAigCbCICNgKsAiACBEAgAiACKAIEQQFqNgIECyADQQEgAygC4AEiAiACQQBKGzYC4AEgAyADKQPoATcDGCADIAMpA/ABNwMgIAMgAykD+AE3AyggAyADKQPgATcDECADQQEgAygC3AEiAiACQQBKGzYC3AFB1IkLQQA2AgAgAyADKQPYATcDCEGbASADQTBqIAQQAiEEQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBxABqIAUQAiEFQdSJCygCACESQdSJC0EANgIAIBJBAUYNBSADIAMoAqwCIgI2AlwgAyADKAKoAjYCWCACBEAgAiACKAIEQQFqNgIECyADQQA2AnggAyADKQMQNwKEASADIAMpAxg3AowBIAMgAykDIDcClAEgAyADKQMoNwKcASADQgA3AnAgA0H87Ak2AmQgAyADKQMINwJ8QdSJC0EANgIAIAMgATYCaCADIAFBqAFqNgJsQZsBIANBpAFqIAQQAiEBQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBuAFqIAUQAhpB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRwRAIAMgAygCWDYCzAEgAyADKAJcIgE2AtABIAEEQCABIAEoAgRBAWo2AgQLIANBADsB1AEgA0EIahBhIANBAToA1AEgACgCACgCFCEUQdSJC0EANgIAIBQgABAGIQBB1IkLKAIAIRVB1IkLQQA2AgAgFUEBRg0EIAMoAmQoAgghFkHUiQtBADYCACAWIANB5ABqIgEgABADQdSJCygCACEXQdSJC0EANgIAIBdBAUYNBEHUiQtBADYCAEGXASABEApB1IkLKAIAIRhB1IkLQQA2AgAgGEEBRg0EIANB/OwJNgJkIANB/ABqEGEgAygCcCIBBEAgAygCdCIAIAEiAkcEQANAIABBBGsiACgCACECIABBADYCACACBEAgAiACKAIAKAIEEQEACyAAIAFHDQALIAMoAnAhAgsgAyABNgJ0IAIQWgsgA0HYAWoQYQwQCxAAIQAgARBrDAELEAAhAAsgA0HwAGoQ4AEgA0EIahBhDA4LEAAhAAwNCxAAIQAgA0HkAGoQfBoMDAsgACABNgJ8IABB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DBQLIABBFGoiAEGVOCABEFggAigCAEHNAEcNEAwTCyAAQRRqIgBBljggARBYIAIoAgBBzgBHDQ8MGAsgAEEUaiIDQZc4IAEQWCACKAIAQc8ARw0OIAIoAhgEQCAAQRhqQcg3IAJBGGoQWwsgAigCFARAIABBGGpByDcgAkEUahBbCyACKAIQBEAgAEEYakHINyACQRBqEFsLDCALIABBFGpBmDggARBYIAIoAgBB0ABGDQwMDQsgAEEUaiIAQZk4IAEQWCACKAIAQdEARw0MDBULIABBFGoiA0GaOCABEFggAigCAEHSAEcNCyACKAIUBEAgAEEYakHINyACQRRqEFsLIANByDcgAkEQahBYDB0LIABBFGoiAEGbOCABEFggAigCAEHTAEcNCgwZCyAAQRRqIgBBnDggARBYIAIoAgBB1ABHDQkMEQsgAEEUaiIAQZ04IAEQWCACKAIAQdUARw0IDBELIABBFGoiAEGeOCABEFggAigCAEHWAEcNBwwVCyAAQRRqIgBBnzggARBYIAIoAgBB1wBHDQYMFQsgAEEUaiIAQaA4IAEQWCACKAIAQdgARw0FDBULIABBFGoiAEGhOCABEFggAigCAEHZAEcNBAwMCyAAQRRqIgBBojggARBYIAIoAgBB2gBHDQMMCgsgAEEUaiIAQaM4IAEQWCACKAIAQdsARw0CDBELIABBFGoiA0GkOCABEFggAigCAEHcAEcNASADQcg3IAJBPGoQWCACKAIwIgFBAEwNACAAQRhqIQMDQCABQQFrIgAgAigCME8NAyACKAIsIABBAnRqIgQoAgBFDQQgA0HINyAEEFsgAUEBSyEPIAAhASAPDQALCw8LQfDtBUHFmANBlAZBjd4AEAEAC0HFogFBiaIDQbwBQaaIBRABAAtBgYMCQdOZA0G5AkGu9wIQAQALIABByDcgAkEcahBYCyAAQcg3IAJBGGoQWAsgAEHINyACQRRqEFgLIABByDcgAkEQahBYDwsgAEHINyACQRRqEFgLIABByDcgAkEQahBYCyAAQcg3IAJBDGoQWA8LIABByDcgAkEoahBYCyAAQcg3IAJBJGoQWA8LIABByDcgAkEcahBYIABByDcgAkEYahBYDwsgAEHINyACQRRqEFgLIABByDcgAkEQahBYCyAAQcg3IAJBDGoQWAsgAEHINyACQQhqEFgP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CwNAIAUoAggiAigCACAFRyEfIAIhBSAfDQALCyAIIAIiBUcNAAsMAwsQACECDAgLEAAhAgwHCxAAIQICQCAEKAKYASIDIARBiAFqIgFGBEBBBCEAIAEhAwwBC0EFIQAgA0UNBwsgAyADKAIAIABBAnRqKAIAEQEADAYLAkAgBCgCuAEiAkUNAANAAkACQCACLQAQBEAgAi0AEUUNAQsgAigCFC0ADA0BCyACKAIAIgINAQwCCwsgBEEANgJ8IARCADcCdCAEQgA3AhAgBEEANgIYIARCADcCbCAEQgA3AgggBEEAOgCEASAEQczUBzYCACAEIARBsAFqNgKAASAAKAIEIQBB1IkLQQA2AgAgBCAANgIEQcc3IAQgARADQdSJCygCACEgQdSJC0EANgIAICBBAUYNBCAEKAJsIgAEQCAEIAA2AnAgABBaCyAEQZDtCTYCACAELAATQQBODQAgBCgCCBBaCyAGKAIIEOoEIAQoArgBIQMLIANFDQADQCADKAIUIQEgA0EANgIUIAMoAgAhISABBEAgASgCACICBEAgASACNgIEIAIQWgsgARBaCyADEFogISIDDQALCyAEKAKwASEAIARBADYCsAEgAEUNACAAEFoLIARB0AFqJAAPCxAAIQIgBBDkARoLIAgoAgAQ6gQLIAQoArgBIgAEQANAIAAoAhQhAyAAQQA2AhQgACgCACEiIAMEQCADKAIAIgUEQCADIAU2AgQgBRBaCyADEFoLIAAQWiAiIgANAAsLIAQoArABIQAgBEEANgKwASAABEAgABBaCyACEAcACwAL/AEBBH8gACgCBCIAKALYASICRQRAQQEPCyABKAIAIQFBASEDAkAgACgC1AECfyACQQFrIAFxIAJpIgVBAU0NABogASABIAJJDQAaIAEgAnALIgRBAnRqKAIAIgBFDQAgACgCACIARQ0AAkAgBUEBTQRAIAJBAWshAgNAAkAgASAAKAIEIgNHBEAgAiADcSAERg0BQQEPCyAAKAIIIAFGDQMLIAAoAgAiAA0AC0EBDwsDQAJAIAEgACgCBCIDRwRAIAIgA00EfyADIAJwBSADCyAERg0BQQEPCyAAKAIIIAFGDQILIAAoAgAiAA0AC0EBDwsgACgCEEUhAwsgAwskACAAKAIAQQJHBEBB/q8GQae3AkGcEEGUygMQAQALIAAoAgwLFQAgAUGM7wk2AgAgASAAKAIENgIECx0BAX9BCBBcIgFBjO8JNgIAIAEgACgCBDYCBCABCywAIAEoAgAiASgCAEHcAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIsCCywAIAEoAgAiASgCAEHbAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIsCCywAIAEoAgAiASgCAEHaAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIsCCywAIAEoAgAiASgCAEHZAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIsCCywAIAEoAgAiASgCAEHYAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIsCCywAIAEoAgAiASgCAEHXAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIsCCywAIAEoAgAiASgCAEHWAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIsCCyQAIAAoAgBBAkcEQEH+rwZBp7cCQagQQcveAxABAAsgACgCEAssACABKAIAIgEoAgBB1QBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCLAgssACABKAIAIgEoAgBB1ABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCLAgssACABKAIAIgEoAgBB0wBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCLAgssACABKAIAIgEoAgBB0gBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCLAgssACABKAIAIgEoAgBB0QBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCLAgssACABKAIAIgEoAgBB0ABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCLAgssACABKAIAIgEoAgBBzwBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCLAgssACABKAIAIgEoAgBBzgBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCLAgssACABKAIAIgEoAgBBzQBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCLAgssACABKAIAIgEoAgBBzABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCLAgskACAAKAIAQQJHBEBB/q8GQae3AkGQEEHU0AIQAQALIAAoAggLLAAgASgCACIBKAIAQcsARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQiwILLAAgASgCACIBKAIAQcoARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQiwILLAAgASgCACIBKAIAQckARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQiwILLAAgASgCACIBKAIAQcgARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQiwILLAAgASgCACIBKAIAQccARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQiwILLAAgASgCACIBKAIAQcYARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQiwILLAAgASgCACIBKAIAQcUARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQiwILLAAgASgCACIBKAIAQcQARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQiwILLAAgASgCACIBKAIAQcMARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQiwILLAAgASgCACIBKAIAQcIARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQiwILLAAgASgCACIBKAIAQcEARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQiwILLAAgASgCACIBKAIAQcAARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQiwILKwAgASgCACIBKAIAQT9HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCLAgsrACABKAIAIgEoAgBBPkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIsCCysAIAEoAgAiASgCAEE9RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQiwILKwAgASgCACIBKAIAQTxHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCLAgsrACABKAIAIgEoAgBBO0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIsCCysAIAEoAgAiASgCAEE6RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQiwILKwAgASgCACIBKAIAQTlHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCLAgsrACABKAIAIgEoAgBBOEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIsCC2MAIABBqAFqQRRBBBBdIgAg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1QBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCMAgssACABKAIAIgEoAgBB1ABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCMAgssACABKAIAIgEoAgBB0wBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCMAgsaAQF/QQEhAiAAIAFHBH8gACABEJQDBUEBCwssACABKAIAIgEoAgBB0gBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCMAgssACABKAIAIgEoAgBB0QBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCMAgssACABKAIAIgEoAgBB0ABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCMAgssACABKAIAIgEoAgBBzwBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCMAgssACABKAIAIgEoAgBBzgBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCMAgssACABKAIAIgEoAgBBzQBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCMAgssACABKAIAIgEoAgBBzABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCMAgssACABKAIAIgEoAgBBywBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCMAgssACABKAIAIgEoAgBBygBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCMAgssACABKAIAIgEoAgBByQBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCMAgsXAQF/IABBEE8EfyAAKAIQQQJGBUEACwssACABKAIAIgEoAgBByABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCMAgssACABKAIAIgEoAgBBxwBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCMAgssACABKAIAIgEoAgBBxgBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCMAgssACABKAIAIgEoAgBBxQBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCMAgssACABKAIAIgEoAgBBxABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCMAgssACABKAIAIgEoAgBBwwBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCMAgssACABKAIA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QRBqIAJBCGoQZSAAIAIpAxA3AgggAkEgaiQADwtB5akGQae3AkGlE0GWnAQQAQALQcuaBEGntwJBphNBlpwEEAEACywAIAEoAgAiASgCAEHLAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEI0CCywAIAEoAgAiASgCAEHKAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEI0CCywAIAEoAgAiASgCAEHJAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEI0CCywAIAEoAgAiASgCAEHIAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEI0CCywAIAEoAgAiASgCAEHHAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEI0CCywAIAEoAgAiASgCAEHGAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEI0CCywAIAEoAgAiASgCAEHFAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEI0CCywAIAEoAgAiASgCAEHEAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEI0CCywAIAEoAgAiASgCAEHDAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEI0CCywAIAEoAgAiASgCAEHCAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEI0CCywAIAEoAgAiASgCAEHBAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEI0CCywAIAEoAgAiASgCAEHAAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEI0CCysAIAEoAgAiASgCAEE/RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQjQILKwAgASgCACIBKAIAQT5HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCNAgsrACABKAIAIgEoAgBBPUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEI0CCysAIAEoAgAiASgCAEE8RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQjQILKwAgASgCACIBKAIAQTtHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCNAgsrACABKAIAIgEoAgBBOkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEI0CCysAIAEoAgAiASgCAEE5RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQjQILKwAgASgCACIBKAIAQThHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCNAgskACAAKAIAQQpHBEBB5akGQae3AkGgE0GtnQQQAQALIAAoAggLKwAgASgCACIBKAIAQShHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCNAgsrACABKAIAIgEoAgBBF0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEI0CCysAIAEoAgAiASgCAEEWRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQjQILKwAgASgCACIBKAIAQTdHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCNAgsrACABKAIAIgEoAgBBNkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEI0CCysAIAEoAgAiASgCAEE1RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQjQILKwAgASgCACIBKAIAQTRHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCNAgsrACABKAIAIgEoAgBBM0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEI0CCysAIAEoAgAiASgCAEEyRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQjQILKwAgASgCACIBKAIAQTFHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCNAgtmAgF/AX4jAEEgayIDJAAgAyABEGw2AhwgAyABNgIYIAMgAykCGDcDCCADQRBqIANBCGoQZSADKQMQIQQgAEGoAWpBEEEEEF0iACAENwIIIABBCjYCACAAIAI2AgQgA0EgaiQAIAALKwAgASgCACIBKAIAQTBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCNAgsrACABKAIAIgEoAgBBL0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEI0CCysAIAEoAgAiASgCAEEuRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQjQILKwAgASgCACIBKAIAQS1HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCNAgsrACABKAIAIgEoAgBBLEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEI0CCysAIAEoAgAiASgCAEErRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQjQILKwAgASgCACIBKAIAQSpHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCNAgsrACABKAIAIgEoAgBBKUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEI0CCysAIAEoAgAiASgCAEEVRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQjQILKwAgASgCACIBKAIAQRRHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCNAgsJAEGMigstAAALKwAgASgCACIBKAIAQRNHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCNAgsrACABKAIAIgEoAgBBEkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEI0CCysAIAEoAgAiASgCAEERRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQjQILKwAgASgCACIBKAIAQRBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCNAgsrACABKAIAIgEoAgBBD0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEI0CCysAIAEoAgAiASgCAEEORwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQjQILKwAgASgCACIBKAIAQSdHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCNAgsrACABKAIAIgEoAgBBJkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEI0CCysAIAEoAgAiASgCAEElRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQjQILKwAgASgCACIBKAIAQSRHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCNAgugAgEGfyMAQSBrIgMkACADIAEQbDYCHCADIAE2AhggAyADKQIYNwMIIANBEGogA0EIahBlAkAgACgC0AIiAkUNACADKAIQIQQgACgCzAICfyACQQFrIARxIAJpIgdBAU0NABogBCACIARLDQAaIAQgAnALIgZBAnRqKAIAIgBFDQAgACgCACIBRQ0AAkAgB0EBTQRAIAJBAWshAANAAkAgBCABKAIEIgJHBEAgACACcSAGRg0BDAULIAEoAgggBEYNAwsgASgCACIBDQALDAILA0ACQCAEIAEoAgQiAEcEQCAAIAJPBH8gACACcAUgAAsgBkYNAQwECyABKAIIIARGDQILIAEoAgAiAQ0ACwwB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BzYCACABCzkAIAAoAgRFBEBB6PoFQbqLA0GcBEHu0wIQAQALIAAgAjYCeCAAIAE2AnwgACACEPIOIABCADcCeAvsDwEYfyMAQbACayIDJAACQAJAAkACQAJAAkACQAJAAkACQAJAIAAoAgQEQCAAIAAoAgAoAhARAgAEQCADIAAoAgQiAikCODcD+AEgAyACKQIwNwPwASADIAIpAig3A+gBIAMgAikCIDcD4AEgAyACKQIYNwPYASADQYACaiACQUBrEOMBIQRB1IkLQQA2AgBBmgEgA0GUAmogAkHUAGoQAiEFQdSJCygCACERQdSJC0EANgIAIBFBAUYNAiADIAIoAmg2AqgCIAMgAigCbCICNgKsAiACBEAgAiACKAIEQQFqNgIECyADQQEgAygC4AEiAiACQQBKGzYC4AEgAyADKQPoATcDGCADIAMpA/ABNwMgIAMgAykD+AE3AyggAyADKQPgATcDECADQQEgAygC3AEiAiACQQBKGzYC3AFB1IkLQQA2AgAgAyADKQPYATcDCEGbASADQTBqIAQQAiEEQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBxABqIAUQAiEFQdSJCygCACESQdSJC0EANgIAIBJBAUYNBSADIAMoAqwCIgI2AlwgAyADKAKoAjYCWCACBEAgAiACKAIEQQFqNgIECyADQQA2AnggAyADKQMQNwKEASADIAMpAxg3AowBIAMgAykDIDcClAEgAyADKQMoNwKcASADQgA3AnAgA0H87Ak2AmQgAyADKQMINwJ8QdSJC0EANgIAIAMgATYCaCADIAFBqAFqNgJsQZsBIANBpAFqIAQQAiEBQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBuAFqIAUQAhpB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRwRAIAMgAygCWDYCzAEgAyADKAJcIgE2AtABIAEEQCABIAEoAgRBAWo2AgQLIANBADsB1AEgA0EIahBhIANBAToA1AEgACgCACgCFCEUQdSJC0EANgIAIBQgABAGIQBB1IkLKAIAIRVB1IkLQQA2AgAgFUEBRg0EIAMoAmQoAgghFkHUiQtBADYCACAWIANB5ABqIgEgABADQdSJCygCACEXQdSJC0EANgIAIBdB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aiQADwsQACEBIAMsAIMBQQBODQEgAygCeBBaDAELEAAhAQsgABBaDAILEAAhDSAEEGsgDRAHAAsQACEBCyADEHwaIAEQBwALowIBBH8jAEEgayIBJAACQCAABEAgABBsIgJB8P///wdPDQECQAJAIAJBC08EQCACQQ9yQQFqIgQQXCEDIAEgBEGAgICAeHI2AhwgASADNgIUIAEgAjYCGAwBCyABIAI6AB8gAUEUaiEDIAJFDQELIAMgACAC/AoAAAtBACEAIAIgA2pBADoAAEGQigsoAgBBlIoLKAIAIAFBFGoQwwMhAiABLAAfQQBIBEAgASgCFBBaCyACBEAgAkEUaiIAKAIAIQMgASACKAIYIAItAB8iAiACwEEASCICGzYCGCABIAMgACACGzYCFCABIAEpAhQ3AwAgAUEMaiABEGUgASgCDCEACyABQSBqJAAgAA8LQZYdQae3AkH2K0GE5wAQAQALEOoBAAvVHQEOfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEoAgAiAigCAA5eAAECAwQFBgcICQoLDA0eHyAhIiMkJTU2Dg8QERITFBUWFxgZGhscHTcmJygpKissLS4vMDEyMzQ4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcAF0LQZj9A0HlswNB6gEQYgALIABBkTMgARBYIAIoAgBBAUcNXCACKAIUIgFBAEwNWyAAQQRqIQQDQCABQQFrIgAgAigCFE8NXiACKAIQIABBAnRqIgMoAgBFDV8gBEGuMiADEFsgAUEBSyEGIAAhASAGDQALDFsLIABBkjMgARBYIAIoAgBBAkcNWyACKAIQBEAgAEEEakGuMiACQRBqEFsLDGALIABBkzMgARBYIAIoAgBBA0cNWgxjCyAAQZQzIAEQWCACKAIA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AoACIgIEQANAIAIoAgAhYiACEFogYiICDQALCyAEKAL4ASEAIARBADYC+AEgAARAIAAQWgsgBCgClAIQvggMAQsQACEFCyAEKAKIAyIABEAgBCAANgKMAyAAEFoLIARBkO0JNgKcAiAELACvAkEATg0AIAQoAqQCEFoLIAQoArADIgIEQANAIAIoAgAhYyACQRBqEMkKIAIQWiBjIgINAAsLIAQoAqgDIQAgBEEANgKoAyAABEAgABBaCyAFEAcACwALYQEDfyAAQYjSBzYCACAAKAIgIgIEQANAIAIoAgAhAyACEFogAyICDQALCyAAKAIYIQEgAEEANgIYIAEEQCABEFoLIABBkO0JNgIAIAAsABNBAEgEQCAAKAIIEFoLIAAQWgtfAQN/IABBiNIHNgIAIAAoAiAiAgRAA0AgAigCACEDIAIQWiADIgINAAsLIAAoAhghASAAQQA2AhggAQRAIAEQWgsgAEGQ7Qk2AgAgACwAE0EASARAIAAoAggQWgsgAAsJAEHsiQsoAgALLAAgASgCACIBKAIAQdwARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQjgILLAAgASgCACIBKAIAQdsARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQjgILLAAgASgCACIBKAIAQdoARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQjgILLAAgASgCACIBKAIAQdkARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQjgILLAAgASgCACIBKAIAQdgARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQjgILLAAgASgCACIBKAIAQdcARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQjgILLAAgASgCACIBKAIAQdYARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQjgILLAAgASgCACIBKAIAQdUARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQjgILLAAgASgCACIBKAIAQdQARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQjgILLAAgASgCACIBKAIAQdMARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQjgILCQBB+IkLKAIACywAIAEoAgAiASgCAEHSAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEI4CCywAIAEoAgAiASgCAEHRAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEI4CCywAIAEoAgAiASgCAEHQAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEI4CCywAIAEoAgAiASgCAEHPAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEI4CCywAIAEoAgAiASgCAEHOAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEI4CCywAIAEoAgAiASgCAEHNAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEI4CCywAIAEoAgAiASgCAEHMAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEI4CCywAIAEoAgAiASgCAEHLAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEI4CCywAIAEoAgAiASgCAEHKAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEI4CCywAIAEoAgAiASgCAEHJAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEI4CCxAAIAAoAlggACgCVGtBAnULLAAgASgCACIBKAIAQcgARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQjgILLAAgASgCACIBKAIAQccARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQjgILLAAgASgCACIBKAIAQcYARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQjgILLAAgASgCACIBKAIAQcUARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQjgILLAAgASgCACIBKAIAQcQARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQjgILLAAgASgCACIBKAIAQcMARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQjgILLAAgASgCACIBKAIAQcIARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQjgILLAAgASgCACIBKAIAQcEARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQjgILLAAgASgCACIBKAIAQcAARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQjgILKwAgASgCACIBKAIAQT9HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCOAgsQACAAKAJMIAAoAkhrQQJ1CysAIAEoAgAi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QZABayICJAACQCABIAAoAhwgACgCGCIAa0ECdU8EQCACEKkCIQBB1IkLQQA2AgBB3QAgAEH3zAUQAiEBQdSJCygCACEDQdSJC0EANgIAIANBAUcNARAAGiAAEHEACyAAIAFBAnRqKAIAIQQgAkGQAWokACAEDwsgARBxAAvsDwEYfyMAQbACayIDJAACQAJAAkACQAJAAkACQAJAAkACQAJAIAAoAgQEQCAAIAAoAgAoAhARAgAEQCADIAAoAgQiAikCODcD+AEgAyACKQIwNwPwASADIAIpAig3A+gBIAMgAikCIDcD4AEgAyACKQIYNwPYASADQYACaiACQUBrEOMBIQRB1IkLQQA2AgBBmgEgA0GUAmogAkHUAGoQAiEFQdSJCygCACERQdSJC0EANgIAIBFBAUYNAiADIAIoAmg2AqgCIAMgAigCbCICNgKsAiACBEAgAiACKAIEQQFqNgIECyADQQEgAygC4AEiAiACQQBKGzYC4AEgAyADKQPoATcDGCADIAMpA/ABNwMgIAMgAykD+AE3AyggAyADKQPgATcDECADQQEgAygC3AEiAiACQQBKGzYC3AFB1IkLQQA2AgAgAyADKQPYATcDCEGbASADQTBqIAQQAiEEQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBxABqIAUQAiEFQdSJCygCACESQdSJC0EANgIAIBJBAUYNBSADIAMoAqwCIgI2AlwgAyADKAKoAjYCWCACBEAgAiACKAIEQQFqNgIECyADQQA2AnggAyADKQMQNwKEASADIAMpAxg3AowBIAMgAykDIDcClAEgAyADKQMoNwKcASADQgA3AnAgA0H87Ak2AmQgAyADKQMINwJ8QdSJC0EANgIAIAMgATYCaCADIAFBqAFqNgJsQZsBIANBpAFqIAQQAiEBQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBuAFqIAUQAhpB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRwRAIAMgAygCWDYCzAEgAyADKAJcIgE2AtABIAEEQCABIAEoAgRBAWo2AgQLIANBADsB1AEgA0EIahBhIANBAToA1AEgACgCACgCFCEUQdSJC0EANgIAIBQgABAGIQBB1IkLKAIAIRVB1IkLQQA2AgAg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DQsQACEAIAoQWRoMDAsQACEAIAoQWRoMCwsQACEAIAoQWRoMCgsgChBZGiABKAIgIQILIAkoAhgiAQRAIAkgATYCHCABEFoLIAkQWRogACgCFCEGIAIoAiQiACACKAIoIgFPDQEgACAGNgIAIAIgAEEEajYCJAwCCxAAIQAMBwsgACACKAIgIghrQQJ1IgVBAWoiA0GAgICABE8NA0H/////AyABIAhrIgRBAXUiASADIAEgA0sbIARB/P///wdPGyIJBH8gCUGAgICABE8NBSAJQQJ0EFwFQQALIgMgBUECdGoiASAGNgIAIAFBBGohBCAAIAhHBEADQCABQQRrIgEgAEEEayIAKAIANgIAIAAgCEcNAAsgAigCICEACyACIAMgCUECdGo2AiggAiAENgIkIAIgATYCICAARQ0AIAAQWgsgB0HgAGokAA8LQfDtBUHFmANBlAZBjd4AEAEACxAAIQAgB0HUAGoQ0QogChBZGgwDCxBkAAsQagALEAAhACACKAIgIgEEQCACIAE2AiQgARBaCyAEEFkaIAIQWgsgCSIBKAIYIgQEQCABIAQ2AhwgBBBaCyABEFkaIAAQBwALAAtYAQF/QaABEFwiAEEAQYAB/AsAIABCADcCgAEgAEG4zgc2AgAgAEIANwKIASAAQQA2ApwBIAAgAEGUAWoiATYCmAEgAEGAgID8AzYCkAEgACABNgKUASAAC0YAIAAoAgRFBEBB6PoFQbqLA0GcBEHu0wIQAQALIAAgAjYCeCAAIAE2AnwgAEEUaiACQTBqEJcHIAAgAhDSCiAAQgA3AngLsSEBDn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEoAgAiAigCAA5eAAECAwQFBgcICQoLDA0eHyAhIiMkJTU2Dg8QERITFBUWFxgZGhscHTcmJygp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QQFqNgIECyADQQEgAygC4AEiAiACQQBKGzYC4AEgAyADKQPoATcDGCADIAMpA/ABNwMgIAMgAykD+AE3AyggAyADKQPgATcDECADQQEgAygC3AEiAiACQQBKGzYC3AFB1IkLQQA2AgAgAyADKQPYATcDCEGbASADQTBqIAQQAiEEQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBxABqIAUQAiEFQdSJCygCACESQdSJC0EANgIAIBJBAUYNBSADIAMoAqwCIgI2AlwgAyADKAKoAjYCWCACBEAgAiACKAIEQQFqNgIECyADQQA2AnggAyADKQMQNwKEASADIAMpAxg3AowBIAMgAykDIDcClAEgAyADKQMoNwKcASADQgA3AnAgA0H87Ak2AmQgAyADKQMINwJ8QdSJC0EANgIAIAMgATYCaCADIAFBqAFqNgJsQZsBIANBpAFqIAQQAiEBQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBuAFqIAUQAhpB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRwRAIAMgAygCWDYCzAEgAyADKAJcIgE2AtABIAEEQCABIAEoAgRBAWo2AgQLIANBADsB1AEgA0EIahBhIANBAToA1AEgACgCACgCFCEUQdSJC0EANgIAIBQgABAGIQBB1IkLKAIAIRVB1IkLQQA2AgAgFUEBRg0EIAMoAmQoAgghFkHUiQtBADYCACAWIANB5ABqIgEgABADQdSJCygCACEXQdSJC0EANgIAIBdBAUYNBEHUiQtBADYCAEGXASABEApB1IkLKAIAIRhB1IkLQQA2AgAgGEEBRg0EIANB/OwJNgJkIANB/ABqEGEgAygCcCIBBEAgAygCdCIAIAEiAkcEQANAIABBBGsiACgCACECIABBADYCACACBEAgAiACKAIAKAIEEQEACyAAIAFHDQALIAMoAnAhAgsgAyABNgJ0IAIQWgsgA0HYAWoQYQwQCxAAIQAgARBrDAELEAAhAAsgA0HwAGoQ4AEgA0EIahBhDA4LEAAhAAwNCxAAIQAgA0HkAGoQfBoMDAsgACABNgJ8IABBFGohCSABKAIYIgIgASgCHCIERwRAA0AgAigCACIFKAIMRQRAIAkgBUEgahCXBwsgAkEEaiICIARH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AEEOEAkMAQtB/////wMgCCAJayIIQQF1IgogASABIApJGyAIQfz///8HTxsiCEUEQEEAIQoMAwsgCEGAgICABEkNAUHUiQtBADYCAEEDEAkLQdSJCygCACEZQdSJC0EANgIAIBlBAUcNBxAAIQIMCwtB1IkLQQA2AgBBBCAIQQJ0EAYhCkHUiQsoAgAhGkHUiQtBADYCACAaQQFGDQILIAogDUECdGoiASAHNgIAIAFBBGohByACIAlHBEADQCABQQRrIgEgAkEEayICKAIANgIAIAIgCUcNAAsgBSgCHCECCyAFIAogCEECdGo2AiQgBSAHNgIgIAUgATYCHCACRQ0AIAIQWgsgC0EBaiILIARHDQEMBQsLEAAhAgwGCxAAIQIMBQsQACECDAQLAAtB1IkLQQA2AgBBDyAAIAZB1AFqEAIhAkHUiQsoAgAhG0HUiQtBADYCACAbQQFHDQELEAAhAgwBCyAGKALUASIABEAgACgCHCIBBEAgACABNgIgIAEQWgsgABBaCyAGQeABaiQAIAIPCyAGQdQBahCoAyACEAcAC+wPARh/IwBBsAJrIgMkAAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCBARAIAAgACgCACgCEBECAARAIAMgACgCBCICKQI4NwP4ASADIAIpAjA3A/ABIAMgAikCKDcD6AEgAyACKQIgNwPgASADIAIpAhg3A9gBIANBgAJqIAJBQGsQ4wEhBEHUiQtBADYCAEGaASADQZQCaiACQdQAahACIQVB1IkLKAIAIRFB1IkLQQA2AgAgEUEBRg0CIAMgAigCaDYCqAIgAyACKAJsIgI2AqwCIAIEQCACIAIoAgRBAWo2AgQLIANBASADKALgASICIAJBAEobNgLgASADIAMpA+gBNwMYIAMgAykD8AE3AyAgAyADKQP4ATcDKCADIAMpA+ABNwMQIANBASADKALcASICIAJBAEobNgLcAUHUiQtBADYCACADIAMpA9gBNwMIQZsBIANBMGogBBACIQRB1IkLKAIAIQJB1IkLQQA2AgACQCACQQFHBEBB1IkLQQA2AgBBmgEgA0HEAGogBRACIQVB1IkLKAIAIRJB1IkLQQA2AgAgEkEBRg0FIAMgAygCrAIiAjYCXCADIAMoAqgCNgJYIAIEQCACIAIoAgRBAWo2AgQLIANBADYCeCAD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ABCPAgssACABKAIAIgEoAgBB0wBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAEgABCPAgssACABKAIAIgEoAgBB0gBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAEgABCPAgssACABKAIAIgEoAgBB0QBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAEgABCPAgssACABKAIAIgEoAgBB0ABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAEgABCPAguCAQEDfyMAQZABayICJAACQCABIAAoAgQgACgCACIAa0ECdU8EQCACEKkCIQBB1IkLQQA2AgBB3QAgAEHJzAUQAiEBQdSJCygCACEDQdSJC0EANgIAIANBAUcNARAAGiAAEHEACyAAIAFBAnRqKAIAIQQgAkGQAWokACAEDwsgARBxAAssACABKAIAIgEoAgBBzwBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAEgABCPAgssACABKAIAIgEoAgBBzgBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAEgABCPAgssACABKAIAIgEoAgBBzQBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAEgABCPAgssACABKAIAIgEoAgBBzABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAEgABCPAgssACABKAIAIgEoAgBBywBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAEgABCPAgssACABKAIAIgEoAgBBygBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAEgABCPAgssACABKAIAIgEoAgBByQBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAEgABCPAgssACABKAIAIgEoAgBByABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAEgABCPAgssACABKAIAIgEoAgBBxwBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAEgABCPAgssACABKAIAIgEoAgBBxgBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAEgABCPAgugAgEGfyMAQSBrIgMkACADIAEQbDYCHCADIAE2AhggAyADKQIYNwMIIANBEGogA0EIahBlAkAgACgCxAEiAkUNACADKAIQIQQgACgCwAECfyACQQFrIARxIAJpIgdBAU0NABogBCACIARLDQAaIAQgAnALIgZBAnRqKAIAIgBFDQAgACgC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mANBlAZBjd4AEAEACyABIAAQjwILKwAgASgCACIBKAIAQQFHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAEgABCPAgsvACABKAIAIgEoAgBB3ABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCQAgsvACABKAIAIgEoAgBB2wBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCQAgsvACABKAIAIgEoAgBB2gBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCQAgsvACABKAIAIgEoAgBB2QBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCQAgsvACABKAIAIgEoAgBB2ABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCQAgsvACABKAIAIgEoAgBB1wBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCQAgsvACABKAIAIgEoAgBB1gBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCQAgsvACABKAIAIgEoAgBB1QBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCQAgsvACABKAIAIgEoAgBB1ABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCQAgsvACABKAIAIgEoAgBB0wBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCQAgsvACABKAIAIgEoAgBB0gBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCQAgsvACABKAIAIgEoAgBB0QBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCQAgsvACABKAIAIgEoAgBB0ABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCQAgsvACABKAIAIgEoAgBBzwBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCQAgsvACABKAIAIgEoAgBBzgBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCQAgsvACABKAIAIgEoAgBBzQBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCQAgsvACABKAIAIgEoAgBBzABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCQAgsvACABKAIAIgEoAgBBywBHBEBB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IAEQWCACKAIAQdEARw0MDBgLIABBti0gARBYIAIoAgBB0gBHDQsgAigCFARAIABBBGpBrCsgAkEUahBbCwwWCyAAQbctIAEQWCACKAIAQdMARw0KDA8LIABBuC0gARBYIAIoAgBB1ABHDQkMFAsgAEG5LSABEFggAigCAEHVAEcNCAwUCyAAQbotIAEQWCACKAIAQdYARw0HDAsLIABBuy0gARBYIAIoAgBB1wBHDQYMCwsgAEG8LSABEFggAigCAEHYAEcNBQwVCyAAQb0tIAEQWCACKAIAQdkARw0EDA8LIABBvi0gARBYIAIoAgBB2gBHDQMMDQsgAEG/LSABEFggAigCAEHbAEcNAgwHCyAAQcAtIAEQWCACKAIAQdwARw0BIABBrCsgAkE8ahBYIAIoAjAiAUEATA0AIABBBGohBANAIAFBAWsiACACKAIwTw0DIAIoAiwgAEECdGoiAygCAEUNBCAEQawrIAMQWyABQQFLIQ8gACEBIA8NAAsLDwtB8O0FQcWYA0GUBkGN3gAQAQALQcWiAUGJogNBvAFBpogFEAEAC0GBgwJB05kDQbkCQa73AhABAAsgAEGsKyACQRRqEFgLIABBrCsgAkEQahBYCyAAQawrIAJBDGoQWAwKCyAAQawrIAJBHGoQWAsgAEGsKyACQRhqEFgLIABBrCsgAkEUahBYCyAAQawrIAJBEGoQWA8LIABBrCsgAkEUahBYCyAAQawrIAJBEGoQWAsgAEGsKyACQQxqEFgPCyAAQawrIAJBKGoQWAsgAEGsKyACQSRqEFgPCyAAQawrIAJBHGoQWCAAQawrIAJBGGoQWA8LIABBrCsgAkEIahBYDwsgAEEEakGsKyACQQhqEFsL1R0BDn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAIgIoAgAO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IAEQWCACKAIAQTdHDSkMOQsgAEG9LCABEFggAigCAEEWRg0nDCgLIABBviwgARBYIAIoAgBBF0YNJgwnCyAAQb8sIAEQWCACKAIAQShGDSUMJgsgAEHALCABEFggAigCAEE4Rw0lIAIoAgwiAUEATA0kIABBBGohBANAIAFBAWsiACACKAIMTw0nIAIoAgggAEECdGoiAygCAEUNKCAEQasrIAMQWyABQQFLIQsgACEBIAsNAAsMJAsgAEHBLCABEFggAigCAEE5Rw0kDDQLIABBwiwgARBYIAIoAgBBOkcNIwwzCyAAQcMsIAEQWCACKAIAQTtHDSIMMgsgAEHELCABEFggAigCAEE8Rw0hIABBqysgAkEYahBYIAIoAgwiAUEATA0gIABBBGohBANAIAFBAWsiACACKAIMTw0jIAIoAgggAEECdGoiAygCAEUNJCAEQasrIAMQWyABQQFLIQwgACEBIAwNAAsMIAsgAEHFLCABEFggAigCAEE9Rw0gDDALIABBxiwgARBYIAIoAgBBPkcNHwwvCyAAQccsIAEQWCACKAIAQT9HDR4gAEGrKyACQRRqEFgPCyAAQcgsIAEQWCACKAIAQcAARw0dIAIoAgwiAUEATA0cIABBBGohBANAIAFBAWsiACACKAIMTw0fIAIoAgggAEECdGoiAygCAEUNICAEQasrIAMQWyABQQFLIQ0gACEBIA0NAAsMHAsgAEHJLCABEFggAigCAEHBAEcNHAwoCyAAQcosIAEQWCACKAIAQcIARw0bDCYLIABByywgARBYIAIoAgBBwwBHDRogAEGrKyACQQxqEFggAigCCEUNGQwrCyAAQcwsIAEQWCACKAIAQcQARw0ZDCELIABBzSwgARBYIAIoAgBBxQBHDRgMIAsgAEHOLCABEFggAigCAEHGAEcNFyACKAIMIgFBAEwNFiAAQQRqIQQDQCABQQFrIgAgAigCDE8NGSACKAIIIABBAnRqIgMoAgBFDRogBEGrKyADEFsgAUEBSyEOIAAhASAODQALDBYLIABBzywgARBYIAIoAgBBxwBHDRYMGwsgAEHQLCABEFggAigCAEHIAEcNFQwZCyAAQdEsIAEQWCACKAIAQckARw0UDCQLIABB0iwgARBYIAIoAgBBygBHDRMgAEGrKyACQRhqEFgMFgsgAEHTLCABEFggAigC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RgRAAkACQCAAKAJsIgIoAgQiAEUEQCACQQRqIgMhAQwBCwNAIAQgACIBKAIQIgBJBEAgASIDKAIAIgANAQwCCyAAIARPDQIgASgCBCIADQALIAFBBGohAwtBFBBcIgAgATYCCCAAQgA3AgAgACAENgIQIAMgADYCACACKAIAKAIAIgEEQCACIAE2AgAgAygCACEACyACKAIEIAAQZyACIAIoAghBAWo2AggLDwtB8O0FQcWYA0GUBkGN3gAQAQAL0AEBA38gASgCACIEKAIAQdkARgRAAkACQCAAKAJsIgIoAgQiAEUEQCACQQRqIgMhAQwBCwNAIAQgACIBKAIQIgBJBEAgASIDKAIAIgANAQwCCyAAIARPDQIgASgCBCIADQALIAFBBGohAwtBFBBcIgAgATYCCCAAQgA3AgAgACAENgIQIAMgADYCACACKAIAKAIAIgEEQCACIAE2AgAgAygCACEACyACKAIEIAAQZyACIAIoAghBAWo2AggLDwtB8O0FQcWYA0GUBkGN3gAQAQAL0AEBA38gASgCACIEKAIAQdgARgRAAkACQCAAKAJsIgIoAgQiAEUEQCACQQRqIgMhAQwBCwNAIAQgACIBKAIQIgBJBEAgASIDKAIAIgANAQwCCyAAIARPDQIgASgCBCIADQALIAFBBGohAwtBFBBcIgAgATYCCCAAQgA3AgAgACAENgIQIAMgADYCACACKAIAKAIAIgEEQCACIAE2AgAgAygCACEACyACKAIEIAAQZyACIAIoAghBAWo2AggLDwtB8O0FQcWYA0GUBkGN3gAQAQAL0AEBA38gASgCACIEKAIAQdcARgRAAkACQCAAKAJsIgIoAgQiAEUEQCACQQRqIgMhAQwBCwNAIAQgACIBKAIQIgBJBEAgASIDKAIAIgANAQwCCyAAIARPDQIgASgCBCIADQALIAFBBGohAwtBFBBcIgAgATYCCCAAQgA3AgAgACAENgIQIAMgADYCACACKAIAKAIAIgEEQCACIAE2AgAgAygCACEACyACKAIEIAAQZyACIAIoAghBAWo2AggLDwtB8O0FQcWYA0GUBkGN3gAQAQAL0AEBA38gASgCACIEKAIAQdYARgRAAkACQCAAKAJsIgIoAgQiAEUEQCACQQRqIgMhAQwBCwNAIAQgACIBKAIQIgBJBEAgASIDKAIAIgANAQwCCyAAIARPDQIgASgCBCIADQALIAFBBGohAwtBFBBcIgAgATYCCCAAQgA3AgAgACAENgIQIAMgADYCACACKAIAKAIAIgEEQCACIAE2AgAgAygCACEACyACKAIEIAAQZyACIAIoAghBAWo2AggLDwtB8O0FQcWYA0GUBkGN3gAQAQAL0AEBA38gASgCACIEKAIAQdUARgRAAkACQCAAKAJsIgIoAgQiAEUEQCACQQRqIgMhAQwBCwNAIAQgACIBKAIQIgBJBEAgASIDKAIAIgANAQwCCyAAIARPDQIgASgCBCIADQALIAFBBGohAwtBFBBcIgAgATYCCCAAQgA3AgAgACAENgIQIAMgADYCACACKAIAKAIAIgEEQCACIAE2AgAgAygCACEACyACKAIEIAAQZyACIAIoAghBAWo2AggLDwtB8O0FQcWYA0GUBkGN3gAQAQAL0AEBA38gASgCACIEKAIAQdQARgRAAkACQCAAKAJsIgIoAgQiAEUEQCACQQRqIgMhAQwBCwNAIAQgACIBKAIQIgBJBEAgASIDKAIAIgANAQwCCyAAIARPDQIgASgCBCIADQALIAFBBGohAwtBFBBcIgAgATYCCCAAQgA3AgAgACAENgIQIAMgADYCACACKAIAKAIAIgEEQCACIAE2AgAgAygCACEACyACKAIEIAAQZyACIAIoAghBAWo2AggLDwtB8O0FQcWYA0GUBkGN3gAQAQAL3gEBBH8CQCAAKAI8IgJFDQAgACgCOAJ/IAJBAWsgAXEgAmkiA0EBTQ0AGiABIAEgAkkNABogASACcAsiBUECdGooAgAiAEUNACAAKAIAIgBFDQACQCADQQFNBEAgAkEBayECA0ACQCABIAAoAgQiA0cEQCACIANxIAVHDQUMAQsgACgCCCABRg0DCyAAKAIAIgANAAsMAgsDQAJAIAEgACgCBCIDRwRAIAIgA00EfyADIAJwBSADCyAFRw0EDAELIAAoAgggAUYNAgsgACgCACIADQALDAELQQEhBAsgBAvQAQEDfyABKAIAIgQoAgBB0wBGBEACQAJAIAAoAmwiAigCBCIARQRAIAJBBGoiAyEBDAELA0AgBCAAIgEoAhAiAEkEQCABIgMoAgAiAA0BDAILIAAgBE8NAiABKAIEIgANAAsgAUEEaiEDC0EUEFwiACABNgIIIABCADcCACAAIAQ2AhAgAyAANgIAIAIoAgAoAgAiAQRAIAIgATYCACADKAIAIQALIAIoAgQgABBnIAIgAigCCEEBajYCCAsPC0Hw7QVBxZgDQZQGQY3eABABAAvQAQEDfyABKAIAIgQoAgBB0gBGBEACQAJAIAAoAmwiAigCBCIARQRAIAJBBGoiAyEBDAELA0AgBCAAIgEoAhAiAEkEQCABIgMoAgAiAA0BDAILIAAgBE8NAiABKAIEIgANAAsgAUEEaiEDC0EUEFwiACABNgIIIABCADcCACAAIAQ2AhAgAyAANgIAIAIoAgAoAgAiAQRAIAIgATYCACADKAIAIQALIAIoAgQgABBnIAIgAigCCEEBajYCCAsPC0Hw7QVBxZgDQZQGQY3eABABAAvQAQEDfyABKAIAIgQoAgBB0QBGBEACQAJAIAAoAmwiAigCBCIARQRAIAJBBGoiAyEBDAELA0AgBCAAIgEoAhAiAEkEQCABIgMoAgAiAA0BDAILIAAgBE8NAiABKAIEIgANAAsgAUEEaiEDC0EUEFwiACABNgIIIABCADcCACAAIAQ2AhAgAyAANgIAIAIoAgAoAgAiAQRAIAIgATYCACADKAIAIQALIAIoAgQgABBnIAIgAigCCEEBajYCCAsPC0Hw7QVBxZgDQZQGQY3eABABAAvQAQEDfyABKAIAIgQoAgBB0ABGBEACQAJAIAAoAmwiAigCBCIARQRAIAJBBGoiAyEBDAELA0AgBCAAIgEoAhAiAEkEQCABIgMoAgAiAA0BDAILIAAgBE8NAiABKAIEIgANAAsgAUEEaiEDC0EUEFwiACABNgIIIABCADcCACAAIAQ2AhAgAyAANgIAIAIoAgAoAgAiAQRAIAIgATYCACADKAIAIQALIAIoAgQgABBnIAIgAigCCEEBajYCCAsPC0Hw7QVBxZgDQZQGQY3eABABAAvQAQEDfyABKAIAIgQoAgBBzwBGBEACQAJAIAAoAmwiAigCBCIARQRAIAJBBGoiAyEBDAELA0AgBCAAIgEoAhAiAEkEQCABIgMoAgAiAA0BDAILIAAgBE8NAiABKAIEIgANAAsgAUEEaiEDC0EUEFwiACABNgIIIABCADcCACAAIAQ2AhAgAyAANgIAIAIoAgAoAgAiAQRAIAIgATYCACADKAIAIQALIAIoAgQgABBnIAIgAigCCEEBajYCCAsPC0Hw7QVBxZgDQZQGQY3eABABAAvQAQEDfyABKAIAIgQoAgBBzgBGBEACQAJAIAAoAmwiAigCBCIARQRAIAJBBGoiAyEBDAELA0AgBCAAIgEoAhAiAEkEQCABIgMoAgAiAA0BDAILIAAgBE8NAiABKAIEIgANAAsgAUEEaiEDC0EUEFwiACABNgIIIABCADcCACAAIAQ2AhAgAyAANgIAIAIoAgAoAgAiAQRAIAIgATYCACADKAIAIQALIAIoAgQgABBnIAIgAigCCEEBajYCCAsPC0Hw7QVBxZgDQZQGQY3eABABAAvQAQEDfyABKAIAIgQoAgBBzQBGBEACQAJAIAAoAmwiAigCBCIARQRAIAJBBGoiAyEBDAELA0AgBCAAIgEoAhAiAEkEQCABIgMoAgAiAA0BDAILIAAgBE8NAiABKAIEIgANAAsgAUEEaiEDC0EUEFwiACABNgIIIABCADcCACAAIAQ2AhAgAyAANgIAIAIoAgAoAgAiAQRAIAIgATYCACADKAIAIQALIAIoAgQgABBnIAIgAigCCEEBajYCCAsPC0Hw7QVBxZgDQZQGQY3eABABAAvQAQEDfyABKAIAIgQoAgBBzABGBEACQAJAIAAoAmwiAigCBCIARQRAIAJBBGoiAyEBDAELA0AgBCAAIgEoAhAiAEkEQCABIgMoAgAiAA0BDAILIAAgBE8NAiABKAIEIgANAAsgAUEEaiEDC0EUEFwiACABNgIIIABCADcCACAAIAQ2AhAgAyAANgIAIAIoAgAoAgAiAQRAIAIgATYCACADKAIAIQALIAIoAgQgABBnIAIgAigCCEEBajYCCAsPC0Hw7QVBxZgDQZQGQY3eABABAAvQAQEDfyABKAIAIgQoAgBBywBGBEACQAJAIAAoAmwiAigCBCIARQRAIAJBBGoiAyEBDAELA0AgBCAAIgEoAhAiAEkEQCABIgMoAgAiAA0BDAILIAAgBE8NAiABKAIEIgANAAsgAUEEaiEDC0EUEFwiACABNgIIIABCADcCACAAIAQ2AhAgAyAANgIAIAIoAgAoAgAiAQRAIAIgATYCACADKAIAIQALIAIoAgQgABBnIAIgAigCCEEBajYCCAsPC0Hw7QVBxZgDQZQGQY3eABABAAvQAQEDfyABKAIAIgQoAgBBygBGBEACQAJAIAAoAmwiAigCBCIARQRAIAJBBGoiAyEBDAELA0AgBCAAIgEoAhAiAEkEQCABIgMoAgAiAA0BDAILIAAgBE8NAiABKAIEIgANAAsgAUEEaiEDC0EUEFwiACABNgIIIABCADcCACAAIAQ2AhAgAyAANgIAIAIoAgAoAgAiAQRAIAIgATYCACADKAIAIQALIAIoAgQgABBnIAIgAigCCEEBajYCCAsPC0Hw7QVBxZgDQZQGQY3eABABAAs1ACABIAAoAiggACgCJCIAa0ECdU8EQEHSggZBp7cCQfYtQdyAAhABAAsgACABQQJ0aigCAAvQAQEDfyABKAIAIgQoAgBByQBGBEACQAJAIAAoAmwiAigCBCIARQRAIAJBBGoiAyEBDAELA0AgBCAAIgEoAhAiAEkEQCABIgMoAgAiAA0BDAILIAAgBE8NAiABKAIEIgANAAsgAUEEaiEDC0EUEFwiACABNgIIIABCADcCACAAIAQ2AhAgAyAANgIAIAIoAgAoAgAiAQRAIAIgATYCACADKAIAIQALIAIoAgQgABBnIAIgAigCCEEBajYCCAsPC0Hw7QVBxZgDQZQGQY3eABABAAvQAQEDfyABKAIAIgQoAgBByABGBEACQAJAIAAoAmwiAigCBCIARQRAIAJBBGoiAyEBDAELA0AgBCAAIgEoAhAiAEkEQCABIgMoAgAiAA0BDAILIAAgBE8NAiABKAIEIgANAAsgAUEEaiEDC0EUEFwiACABNgIIIABCADcCACAAIAQ2AhAgAyAANgIAIAIoAgAoAgAiAQRAIAIgATYCACADKAIAIQALIAIoAgQgABBnIAIgAigCCEEBajYCCAsPC0Hw7QVBxZgDQZQGQY3eABABAAvQAQEDfyABKAIAIgQoAgBBxwBGBEACQAJAIAAoAmwiAigCBCIARQRAIAJBBGoiAyEBDAELA0AgBCAAIgEoAhAiAEkEQCABIgMoAgAiAA0BDAILIAAgBE8NAiABKAIEIgANAAsgAUEEaiEDC0EUEFwiACABNgIIIABCADcCACAAIAQ2AhAgAyAANgIAIAIoAgAoAgAiAQRAIAIgATYCACADKAIAIQALIAIoAgQgABBnIAIgAigCCEEBajYCCAsPC0Hw7QVBxZgDQZQGQY3eABABAAvQAQEDfyABKAIAIgQoAgBBxgBGBEACQAJAIAAoAmwiAigCBCIARQRAIAJBBGoiAyEBDAELA0AgBCAAIgEoAhAiAEkEQCABIgMoAgAiAA0BDAILIAAgBE8NAiABKAIEIgANAAsgAUEEaiEDC0EUEFwiACABNgIIIABCADcCACAAIAQ2AhAgAyAANgIAIAIoAgAoAgAiAQRAIAIgATYCACADKAIAIQALIAIoAgQgABBnIAIgAigCCEEBajYCCAsPC0Hw7QVBxZgDQZQGQY3eABABAAvQAQEDfyABKAIAIgQoAgBBxQBGBEACQAJAIAAoAmwiAigCBCIARQRAIAJBBGoiAyEBDAELA0AgBCAAIgEoAhAiAEkEQCABIgMoAgAiAA0BDAILIAAgBE8NAiABKAIEIgANAAsgAUEEaiEDC0EUEFwiACABNgIIIABCADcCACAAIAQ2AhAgAyAANgIAIAIoAgAoAgAiAQRAIAIgATYCACADKAIAIQALIAIoAgQgABBnIAIgAigCCEEBajYCCAsPC0Hw7QVBxZgDQZQGQY3eABABAAvQAQEDfyABKAIAIgQoAgBBxABGBEACQAJAIAAoAmwiAigCBCIARQRAIAJBBGoiAyEBDAELA0AgBCAAIgEoAhAiAEkEQCABIgMoAgAiAA0BDAILIAAgBE8NAiABKAIEIgANAAsgAUEEaiEDC0EUEFwiACABNgIIIABCADcCACAAIAQ2AhAgAyAANgIAIAIoAgAoAgAiAQRAIAIgATYCACADKAIAIQALIAIoAgQgABBnIAIgAigCCEEBajYCCAsPC0Hw7QVBxZgDQZQGQY3eABABAAvQAQEDfyABKAIAIgQoAgBBwwBGBEACQAJAIAAoAmwiAigCBCIARQRAIAJBBGoiAyEBDAELA0AgBCAAIgEoAhAiAEkEQCABIgMoAgAiAA0BDAILIAAgBE8NAiABKAIEIgANAAsgAUEEaiEDC0EUEFwiACABNgIIIABCADcCACAAIAQ2AhAgAyAANgIAIAIoAgAoAgAiAQRAIAIgATYCACADKAIAIQALIAIoAgQgABBnIAIgAigCCEEBajYCCAsPC0Hw7QVBxZgDQZQGQY3eABABAAvQAQEDfyABKAIAIgQoAgBBwgBGBEACQAJAIAAoAmwiAigCBCIARQRAIAJBBGoiAyEBDAELA0AgBCAAIgEoAhAiAEkEQCABIgMoAgAiAA0BDAILIAAgBE8NAiABKAIEIgANAAsgAUEEaiEDC0EUEFwiACABNgIIIABCADcCACAAIAQ2AhAgAyAANgIAIAIoAgAoAgAiAQRAIAIgATYCACADKAIAIQALIAIoAgQgABBnIAIgAigCCEEBajYCCAsPC0Hw7QVBxZgDQZQGQY3eABABAAvQAQEDfyABKAIAIgQoAgBBwQBGBEACQAJAIAAoAmwiAigCBCIARQRAIAJBBGoiAyEBDAELA0AgBCAAIgEoAhAiAEkEQCABIgMoAgAiAA0BDAILIAAgBE8NAiABKAIEIgANAAsgAUEEaiEDC0EUEFwiACABNgIIIABCADcCACAAIAQ2AhAgAyAANgIAIAIoAgAoAgAiAQRAIAIgATYCACADKAIAIQALIAIoAgQgABBnIAIgAigCCEEBajYCCAsPC0Hw7QVBxZgDQZQGQY3eABABAAvQAQEDfyABKAIAIgQoAgBBwABGBEACQAJAIAAoAmwiAigCBCIARQRAIAJBBGoiAyEBDAELA0AgBCAAIgEoAhAiAEkEQCABIgMoAgAiAA0BDAILIAAgBE8NAiABKAIEIgANAAsgAUEEaiEDC0EUEFwiACABNgIIIABCADcCACAAIAQ2AhAgAyAANgIAIAIoAgAoAgAiAQRAIAIgATYCACADKAIAIQALIAIoAgQgABBnIAIgAigCCEEBajYCCAsPC0Hw7QVBxZgDQZQGQY3eABABAAsxAAJAIAAoAhwiAEEQTwRAIAAoAhBFDQELQeGVBkG4swJB2wlBj+IDEAEACyAAKAIYC88BAQN/IAEoAgAiBCgCAEE/RgRAAkACQCAAKAJsIgIoAgQiAEUEQCACQQRqIgMhAQwBCwNAIAQgACIBKAIQIgBJBEAgASIDKAIAIgANAQwCCyAAIARPDQIgASgCBCIADQALIAFBBGohAwtBFBBcIgAgATYCCCAAQgA3AgAgACAENgIQIAMgADYCACACKAIAKAIAIgEEQCACIAE2AgAgAygCACEACyACKAIEIAAQZyACIAIoAghBAWo2AggLDwtB8O0FQcWYA0GUBkGN3gAQAQALzwEBA38gASgCACIEKAIAQT5GBEACQAJAIAAoAmwiAigCBCIARQRAIAJBBGoiAyEBDAELA0AgBCAAIgEoAhAiAEkEQCABIgMoAgAiAA0BDAILIAAgBE8NAiABKAIEIgANAAsgAUEEaiEDC0EUEFwiACABNgIIIABCADcCACAAIAQ2AhAgAyAANgIAIAIoAgAoAgAiAQRAIAIgATYCACADKAIAIQALIAIoAgQgABBnIAIgAigCCEEBajYCCAsPC0Hw7QVBxZgDQZQGQY3eABABAAvPAQEDfyABKAIAIgQoAgBBPUYEQAJAAkAgACgCbCICKAIEIgBFBEAgAkEEaiIDIQEMAQsDQCAEIAAiASgCECIASQRAIAEiAygCACIADQEMAgsgACAETw0CIAEoAgQiAA0ACyABQQRqIQMLQRQQXCIAIAE2AgggAEIANwIAIAAgBDYCECADIAA2AgAgAigCACgCACIBBEAgAiABNgIAIAMoAgAhAAsgAigCBCAAEGcgAiACKAIIQQFqNgIICw8LQfDtBUHFmANBlAZBjd4AEAEAC88BAQN/IAEoAgAiBCgCAEE8RgRAAkACQCAAKAJsIgIoAgQiAEUEQCACQQRqIgMhAQwBCwNAIAQgACIBKAIQIgBJBEAgASIDKAIAIgANAQwCCyAAIARPDQIgASgCBCIADQALIAFBBGohAwtBFBBcIgAgATYCCCAAQgA3AgAgACAENgIQIAMgADYCACACKAIAKAIAIgEEQCACIAE2AgAgAygCACEACyACKAIEIAAQZyACIAIoAghBAWo2AggLDwtB8O0FQcWYA0GUBkGN3gAQAQALzwEBA38gASgCACIEKAIAQTtGBEACQAJAIAAoAmwiAigCBCIARQRAIAJBBGoiAyEBDAELA0AgBCAAIgEoAhAiAEkEQCABIgMoAgAiAA0BDAILIAAgBE8NAiABKAIEIgANAAsgAUEEaiEDC0EUEFwiACABNgIIIABCADcCACAAIAQ2AhAgAyAANgIAIAIoAgAoAgAiAQRAIAIgATYCACADKAIAIQALIAIoAgQgABBnIAIgAigCCEEBajYCCAsPC0Hw7QVBxZgDQZQGQY3eABABAAvPAQEDfyABKAIAIgQoAgBBOkYEQAJAAkAgACgCbCICKAIEIgBFBEAgAkEEaiIDIQEMAQsDQCAEIAAiASgCECIASQRAIAEiAygCACIADQEMAgsgACAETw0CIAEoAgQiAA0ACyABQQRqIQMLQRQQXCIAIAE2AgggAEIANwIAIAAgBDYCECADIAA2AgAgAigCACgCACIBBEAgAiABNgIAIAMoAgAhAAsgAigCBCAAEGcgAiACKAIIQQFqNgIICw8LQfDtBUHFmANBlAZBjd4AEAEAC88BAQN/IAEoAgAiBCgCAEE5RgRAAkACQCAAKAJsIgIoAgQiAEUEQCACQQRqIgMhAQwBCwNAIAQgACIBKAIQIgBJBEAgASIDKAIAIgANAQwCCyAAIARPDQIgASgCBCIADQALIAFBBGohAwtBFBBcIgAgATYCCCAAQgA3AgAgACAENgIQIAMgADYCACACKAIAKAIAIgEEQCACIAE2AgAgAygCACEACyACKAIEIAAQZyACIAIoAghBAWo2AggLDwtB8O0FQcWYA0GUBkGN3gAQAQALzwEBA38gASgCACIEKAIAQThGBEACQAJAIAAoAmwiAigCBCIARQRAIAJBBGoiAyEBDAELA0AgBCAAIgEoAhAiAEkEQCABIgMoAgAiAA0BDAILIAAgBE8NAiABKAIEIgANAAsgAUEEaiEDC0EUEFwiACABNgIIIABCADcCACAAIAQ2AhAgAyAANgIAIAIoAgAoAgAiAQRAIAIgATYCACADKAIAIQALIAIoAgQgABBnIAIgAigCCEEBajYCCAsPC0Hw7QVBxZgDQZQGQY3eABABAAvPAQEDfyABKAIAIgQoAgBBKEYEQAJAAkAgACgCbCICKAIEIgBFBEAgAkEEaiIDIQEMAQsDQCAEIAAiASgCECIASQRAIAEiAygCACIADQEMAgsgACAETw0CIAEoAgQiAA0ACyABQQRqIQMLQRQQXCIAIAE2AgggAEIANwIAIAAgBDYCECADIAA2AgAgAigCACgCACIBBEAgAiABNgIAIAMoAgAhAAsgAigCBCAAEGcgAiACKAIIQQFqNgIICw8LQfDtBUHFmANBlAZBjd4AEAEAC88BAQN/IAEoAgAiBCgCAEEXRgRAAkACQCAAKAJsIgIoAgQiAEUEQCACQQRqIgMhAQwBCwNAIAQgACIBKAIQIgBJBEAgASIDKAIAIgANAQwCCyAAIARPDQIgASgCBCIADQALIAFBBGohAwtBFBBcIgAgATYCCCAAQgA3AgAgACAENgIQIAMgADYCACACKAIAKAIAIgEEQCACIAE2AgAgAygCACEACyACKAIEIAAQZyACIAIoAghBAWo2AggLDwtB8O0FQcWYA0GUBkGN3gAQAQALMQACQCAAKAIcIgBBEE8EQCAAKAIQRQ0BC0HhlQZBuLMCQdsJQY/iAxABAAsgACgCFAvPAQEDfyABKAIAIgQoAgBBFkYEQAJAAkAgACgCbCICKAIEIgBFBEAgAkEEaiIDIQEMAQsDQCAEIAAiASgCECIASQRAIAEiAygCACIADQEMAgsgACAETw0CIAEoAgQiAA0ACyABQQRqIQMLQRQQXCIAIAE2AgggAEIANwIAIAAgBDYCECADIAA2AgAgAigCACgCACIBBEAgAiABNgIAIAMoAgAhAAsgAigCBCAAEGcgAiACKAIIQQFqNgIICw8LQfDtBUHFmANBlAZBjd4AEAEAC88BAQN/IAEoAgAiBCgCAEE3RgRAAkACQCAAKAJsIgIoAgQiAEUEQCACQQRqIgMhAQwBCwNAIAQgACIBKAIQIgBJBEAgASIDKAIAIgANAQwCCyAAIARPDQIgASgCBCIADQALIAFBBGohAwtBFBBcIgAgATYCCCAAQgA3AgAgACAENgIQIAMgADYCACACKAIAKAIAIgEEQCACIAE2AgAgAygCACEACyACKAIEIAAQZyACIAIoAghBAWo2AggLDwtB8O0FQcWYA0GUBkGN3gAQAQALzwEBA38gASgCACIEKAIAQTZGBEACQAJAIAAoAmwiAigCBCIARQRAIAJBBGoiAyEBDAELA0AgBCAAIgEoAhAiAEkEQCABIgMoAgAiAA0BDAILIAAgBE8NAiABKAIEIgANAAsgAUEEaiEDC0EUEFwiACABNgIIIABCADcCACAAIAQ2AhAgAyAANgIAIAIoAgAoAgAiAQRAIAIgATYCACADKAIAIQALIAIoAgQgABBnIAIgAigCCEEBajYCCAsPC0Hw7QVBxZgDQZQGQY3eABABAAvPAQEDfyABKAIAIgQoAgBBNUYEQAJAAkAgACgCbCICKAIEIgBFBEAgAkEEaiIDIQEMAQsDQCAEIAAiASgCECIASQRAIAEiAygCACIADQEMAgsgACAETw0CIAEoAgQiAA0ACyABQQRqIQMLQRQQXCIAIAE2AgggAEIANwIAIAAgBDYCECADIAA2AgAgAigCACgCACIBBEAgAiABNgIAIAMoAgAhAAsgAigCBCAAEGcgAiACKAIIQQFqNgIICw8LQfDtBUHFmANBlAZBjd4AEAEAC88BAQN/IAEoAgAiBCgCAEE0RgRAAkACQCAAKAJsIgIoAgQiAEUEQCACQQRqIgMhAQwBCwNAIAQgACIBKAIQIgBJBEAgASIDKAIAIgANAQwCCyAAIARPDQIgASgCBCIADQALIAFBBGohAwtBFBBcIgAgATYCCCAAQgA3AgAgACAENgIQIAMgADYCACACKAIAKAIAIgEEQCACIAE2AgAgAygCACEACyACKAIEIAAQZyACIAIoAghBAWo2AggLDwtB8O0FQcWYA0GUBkGN3gAQAQALzwEBA38gASgCACIEKAIAQTNGBEACQAJAIAAoAmwiAigCBCIARQRAIAJBBGoiAyEBDAELA0AgBCAAIgEoAhAiAEkEQCABIgMoAgAiAA0BDAILIAAgBE8NAiABKAIEIgANAAsgAUEEaiEDC0EUEFwiACABNgIIIABCADcCACAAIAQ2AhAgAyAANgIAIAIoAgAoAgAiAQRAIAIgATYCACADKAIAIQALIAIoAgQgABBnIAIgAigCCEEBajYCCAsPC0Hw7QVBxZgDQZQGQY3eABABAAvPAQEDfyABKAIAIgQoAgBBMkYEQAJAAkAgACgCbCICKAIEIgBFBEAgAkEEaiIDIQEMAQsDQCAEIAAiASgCECIASQRAIAEiAygCACIADQEMAgsgACAETw0CIAEoAgQiAA0ACyABQQRqIQMLQRQQXCIAIAE2AgggAEIANwIAIAAgBDYCECADIAA2AgAgAigCACgCACIBBEAgAiABNgIAIAMoAgAhAAsgAigCBCAAEGcgAiACKAIIQQFqNgIICw8LQfDtBUHFmANBlAZBjd4AEAEAC88BAQN/IAEoAgAiBCgCAEExRgRAAkACQCAAKAJsIgIoAgQiAEUEQCACQQRqIgMhAQwBCwNAIAQgACIBKAIQIgBJBEAgASIDKAIAIgANAQwCCyAAIARPDQIgASgCBCIADQALIAFBBGohAwtBFBBcIgAgATYCCCAAQgA3AgAgACAENgIQIAMgADYCACACKAIAKAIAIgEEQCACIAE2AgAgAygCACEACyACKAIEIAAQZyACIAIoAghBAWo2AggLDwtB8O0FQcWYA0GUBkGN3gAQAQALzwEBA38gASgCACIEKAIAQTBGBEACQAJAIAAoAmwiAigCBCIARQRAIAJBBGoiAyEBDAELA0AgBCAAIgEoAhAiAEkEQCABIgMoAgAiAA0BDAILIAAgBE8NAiABKAIEIgANAAsgAUEEaiEDC0EUEFwiACABNgIIIABCADcCACAAIAQ2AhAgAyAANgIAIAIoAgAoAgAiAQRAIAIgATYCACADKAIAIQALIAIoAgQgABBnIAIgAigCCEEBajYCCAsPC0Hw7QVBxZgDQZQGQY3eABABAAvPAQEDfyABKAIAIgQoAgBBL0YEQAJAAkAgACgCbCICKAIEIgBFBEAgAkEEaiIDIQEMAQsDQCAEIAAiASgCECIASQRAIAEiAygCACIADQEMAgsgACAETw0CIAEoAgQiAA0ACyABQQRqIQMLQRQQXCIAIAE2AgggAEIANwIAIAAgBDYCECADIAA2AgAgAigCACgCACIBBEAgAiABNgIAIAMoAgAhAAsgAigCBCAAEGcgAiACKAIIQQFqNgIICw8LQfDtBUHFmANBlAZBjd4AEAEACxAAIAAoAiggACgCJGtBAnULzwEBA38gASgCACIEKAIAQS5GBEACQAJAIAAoAmwiAigCBCIARQRAIAJBBGoiAyEBDAELA0AgBCAAIgEoAhAiAEkEQCABIgMoAgAiAA0BDAILIAAgBE8NAiABKAIEIgANAAsgAUEEaiEDC0EUEFwiACABNgIIIABCADcCACAAIAQ2AhAgAyAANgIAIAIoAgAoAgAiAQRAIAIgATYCACADKAIAIQALIAIoAgQgABBnIAIgAigCCEEBajYCCAsPC0Hw7QVBxZgDQZQGQY3eABABAAvPAQEDfyABKAIAIgQoAgBBLUYEQAJAAkAgACgCbCICKAIEIgBFBEAgAkEEaiIDIQEMAQsDQCAEIAAiASgCECIASQRAIAEiAygCACIADQEMAgsgACAETw0CIAEoAgQiAA0ACyABQQRqIQMLQRQQXCIAIAE2AgggAEIANwIAIAAgBDYCECADIAA2AgAgAigCACgCACIBBEAgAiABNgIAIAMoAgAhAAsgAigCBCAAEGcgAiACKAIIQQFqNgIICw8LQfDtBUHFmANBlAZBjd4AEAEAC88BAQN/IAEoAgAiBCgCAEEsRgRAAkACQCAAKAJsIgIoAgQiAEUEQCACQQRqIgMhAQwBCwNAIAQgACIBKAIQIgBJBEAgASIDKAIAIgANAQwCCyAAIARPDQIgASgCBCIADQALIAFBBGohAwtBFBBcIgAgATYCCCAAQgA3AgAgACAENgIQIAMgADYCACACKAIAKAIAIgEEQCACIAE2AgAgAygCACEACyACKAIEIAAQZyACIAIoAghBAWo2AggLDwtB8O0FQcWYA0GUBkGN3gAQAQALzwEBA38gASgCACIEKAIAQStGBEACQAJAIAAoAmwiAigCBCIARQRAIAJBBGoiAyEBDAELA0AgBCAAIgEoAhAiAEkEQCABIgMoAgAiAA0BDAILIAAgBE8NAiABKAIEIgANAAsgAUEEaiEDC0EUEFwiACABNgIIIABCADcCACAAIAQ2AhAgAyAANgIAIAIoAgAoAgAiAQRAIAIgATYCACADKAIAIQALIAIoAgQgABBnIAIgAigCCEEBajYCCAsPC0Hw7QVBxZgDQZQGQY3eABABAAvPAQEDfyABKAIAIgQoAgBBKkYEQAJAAkAgACgCbCICKAIEIgBFBEAgAkEEaiIDIQEMAQsDQCAEIAAiASgCECIASQRAIAEiAygCACIADQEMAgsgACAETw0CIAEoAgQiAA0ACyABQQRqIQMLQRQQXCIAIAE2AgggAEIANwIAIAAgBDYCECADIAA2AgAgAigCACgCACIBBEAgAiABNgIAIAMoAgAhAAsgAigCBCAAEGcgAiACKAIIQQFqNgIICw8LQfDtBUHFmANBlAZBjd4AEAEAC88BAQN/IAEoAgAiBCgCAEEpRgRAAkACQCAAKAJsIgIoAgQiAEUEQCACQQRqIgMhAQwBCwNAIAQgACIBKAIQIgBJBEAgASIDKAIAIgANAQwCCyAAIARPDQIgASgCBCIADQALIAFBBGohAwtBFBBcIgAgATYCCCAAQgA3AgAgACAENgIQIAMgADYCACACKAIAKAIAIgEEQCACIAE2AgAgAygCACEACyACKAIEIAAQZyACIAIoAghBAWo2AggLDwtB8O0FQcWYA0GUBkGN3gAQAQALzwEBA38gASgCACIEKAIAQRVGBEACQAJAIAAoAmwiAigCBCIARQRAIAJBBGoiAyEBDAELA0AgBCAAIgEoAhAiAEkEQCABIgMoAgAiAA0BDAILIAAgBE8NAiABKAIEIgANAAsgAUEEaiEDC0EUEFwiACABNgIIIABCADcCACAAIAQ2AhAgAyAANgIAIAIoAgAoAgAiAQRAIAIgATYCACADKAIAIQALIAIoAgQgABBnIAIgAigCCEEBajYCCAsPC0Hw7QVBxZgDQZQGQY3eABABAAvPAQEDfyABKAIAIgQoAgBBFEYEQAJAAkAgACgCbCICKAIEIgBFBEAgAkEEaiIDIQEMAQsDQCAEIAAiASgCECIASQRAIAEiAygCACIADQEMAgsgACAETw0CIAEoAgQiAA0ACyABQQRqIQMLQRQQXCIAIAE2AgggAEIANwIAIAAgBDYCECADIAA2AgAgAigCACgCACIBBEAgAiABNgIAIAMoAgAhAAsgAigCBCAAEGcgAiACKAIIQQFqNgIICw8LQfDtBUHFmANBlAZBjd4AEAEAC88BAQN/IAEoAgAiBCgCAEETRgRAAkACQCAAKAJsIgIoAgQiAEUEQCACQQRqIgMhAQwBCwNAIAQgACIBKAIQIgBJBEAgASIDKAIAIgANAQwCCyAAIARPDQIgASgCBCIADQALIAFBBGohAwtBFBBcIgAgATYCCCAAQgA3AgAgACAENgIQIAMgADYCACACKAIAKAIAIgEEQCACIAE2AgAgAygCACEACyACKAIEIAAQZyACIAIoAghBAWo2AggLDwtB8O0FQcWYA0GUBkGN3gAQAQALzwEBA38gASgCACIEKAIAQRJGBEACQAJAIAAoAmwiAigCBCIARQRAIAJBBGoiAyEBDAELA0AgBCAAIgEoAhAiAEkEQCABIgMoAgAiAA0BDAILIAAgBE8NAiABKAIEIgANAAsgAUEEaiEDC0EUEFwiACABNgIIIABCADcCACAAIAQ2AhAgAyAANgIAIAIoAgAoAgAiAQRAIAIgATYCACADKAIAIQALIAIoAgQgABBnIAIgAigCCEEBajYCCAsPC0Hw7QVBxZgDQZQGQY3eABABAAtqAQF/AkAgACgCHCIBQRBJDQAgASgCEA0AAn8CQCABKAIUIgFBB0kNACABKAIEDQAgASgCDCABKAIIa0ECdQwBCyABQQBHCyAAKAIoIAAoAiRrQQJ1ag8LQeGVBkG4swJB2wlBj+IDEAEAC88BAQN/IAEoAgAiBCgCAEERRgRAAkACQCAAKAJsIgIoAgQiAEUEQCACQQRqIgMhAQwBCwNAIAQgACIBKAIQIgBJBEAgASIDKAIAIgANAQwCCyAAIARPDQIgASgCBCIADQALIAFBBGohAwtBFBBcIgAgATYCCCAAQgA3AgAgACAENgIQIAMgADYCACACKAIAKAIAIgEEQCACIAE2AgAgAygCACEACyACKAIEIAAQZyACIAIoAghBAWo2AggLDwtB8O0FQcWYA0GUBkGN3gAQAQALzwEBA38gASgCACIEKAIAQRBGBEACQAJAIAAoAmwiAigCBCIARQRAIAJBBGoiAyEBDAELA0AgBCAAIgEoAhAiAEkEQCABIgMoAgAiAA0BDAILIAAgBE8NAiABKAIEIgANAAsgAUEEaiEDC0EUEFwiACABNgIIIABCADcCACAAIAQ2AhAgAyAANgIAIAIoAgAoAgAiAQRAIAIgATYCACADKAIAIQALIAIoAgQgABBnIAIgAigCCEEBajYCCAsPC0Hw7QVBxZgDQZQGQY3eABABAAvPAQEDfyABKAIAIgQoAgBBD0YEQAJAAkAgACgCbCICKAIEIgBFBEAgAkEEaiIDIQEMAQsDQCAEIAAiASgCECIASQRAIAEiAygCACIADQEMAgsgACAETw0CIAEoAgQiAA0ACyABQQRqIQMLQRQQXCIAIAE2AgggAEIANwIAIAAgBDYCECADIAA2AgAgAigCACgCACIBBEAgAiABNgIAIAMoAgAhAAsgAigCBCAAEGcgAiACKAIIQQFqNgIICw8LQfDtBUHFmANBlAZBjd4AEAEAC88BAQN/IAEoAgAiBCgCAEEORgRAAkACQCAAKAJsIgIoAgQiAEUEQCACQQRqIgMhAQwBCwNAIAQgACIBKAIQIgBJBEAgASIDKAIAIgANAQwCCyAAIARPDQIgASgCBCIADQALIAFBBGohAwtBFBBcIgAgATYCCCAAQgA3AgAgACAENgIQIAMgADYCACACKAIAKAIAIgEEQCACIAE2AgAgAygCACEACyACKAIEIAAQZyACIAIoAghBAWo2AggLDwtB8O0FQcWYA0GUBkGN3gAQAQALzwEBA38gASgCACIEKAIAQSdGBEACQAJAIAAoAmwiAigCBCIARQRAIAJBBGoiAyEBDAELA0AgBCAAIgEoAhAiAEkEQCABIgMoAgAiAA0BDAILIAAgBE8NAiABKAIEIgANAAsgAUEEaiEDC0EUEFwiACABNgIIIABCADcCACAAIAQ2AhAgAyAANgIAIAIoAgAoAgAiAQRAIAIgATYCACADKAIAIQALIAIoAgQgABBnIAIgAigCCEEBajYCCAsPC0Hw7QVBxZgDQZQGQY3eABABAAvPAQEDfyABKAIAIgQoAgBBJkYEQAJAAkAgACgCbCICKAIEIgBFBEAgAkEEaiIDIQEMAQsDQCAEIAAiASgCECIASQRAIAEiAygCACIADQEMAgsgACAETw0CIAEoAgQiAA0ACyABQQRqIQMLQRQQXCIAIAE2AgggAEIANwIAIAAgBDYCECADIAA2AgAgAigCACgCACIBBEAgAiABNgIAIAMoAgAhAAsgAigCBCAAEGcgAiACKAIIQQFqNgIICw8LQfDtBUHFmANBlAZBjd4AEAEAC88BAQN/IAEoAgAiBCgCAEElRgRAAkACQCAAKAJsIgIoAgQiAEUEQCACQQRqIgMhAQwBCwNAIAQgACIBKAIQIgBJBEAgASIDKAIAIgANAQwCCyAAIARPDQIgASgCBCIADQALIAFBBGohAwtBFBBcIgAgATYCCCAAQgA3AgAgACAENgIQIAMgADYCACACKAIAKAIAIgEEQCACIAE2AgAgAygCACEACyACKAIEIAAQZyACIAIoAghBAWo2AggLDwtB8O0FQcWYA0GUBkGN3gAQAQALzwEBA38gASgCACIEKAIAQSRGBEACQAJAIAAoAmwiAigCBCIARQRAIAJBBGoiAyEBDAELA0AgBCAAIgEoAhAiAEkEQCABIgMoAgAiAA0BDAILIAAgBE8NAiABKAIEIgANAAsgAUEEaiEDC0EUEFwiACABNgIIIABCADcCACAAIAQ2AhAgAyAANgIAIAIoAgAoAgAiAQRAIAIgATYCACADKAIAIQALIAIoAgQgABBnIAIgAigCCEEBajYCCAsPC0Hw7QVBxZgDQZQGQY3eABABAAvPAQEDfyABKAIAIgQoAgBBI0YEQAJAAkAgACgCbCICKAIEIgBFBEAgAkEEaiIDIQEMAQsDQCAEIAAiASgCECIASQRAIAEiAygCACIADQEMAgsgACAETw0CIAEoAgQiAA0ACyABQQRqIQMLQRQQXCIAIAE2AgggAEIANwIAIAAgBDYCECADIAA2AgAgAigCACgCACIBBEAgAiABNgIAIAMoAgAhAAsgAigCBCAAEGcgAiACKAIIQQFqNgIICw8LQfDtBUHFmANBlAZBjd4AEAEAC88BAQN/IAEoAgAiBCgCAEEiRgRAAkACQCAAKAJsIgIoAgQiAEUEQCACQQRqIgMhAQwBCwNAIAQgACIBKAIQIgBJBEAgASIDKAIAIgANAQwCCyAAIARPDQIgASgCBCIADQALIAFBBGohAwtBFBBcIgAgATYCCCAAQgA3AgAgACAENgIQIAMgADYCACACKAIAKAIAIgEEQCACIAE2AgAgAygCACEACyACKAIEIAAQZyACIAIoAghBAWo2AggLDwtB8O0FQcWYA0GUBkGN3gAQAQALzwEBA38gASgCACIEKAIAQSFGBEACQAJAIAAoAmwiAigCBCIARQRAIAJBBGoiAyEBDAELA0AgBCAAIgEoAhAiAEkEQCABIgMoAgAiAA0BDAILIAAgBE8NAiABKAIEIgANAAsgAUEEaiEDC0EUEFwiACABNgIIIABCADcCACAAIAQ2AhAgAyAANgIAIAIoAgAoAgAiAQRAIAIgATYCACADKAIAIQALIAIoAgQgABBnIAIgAigCCEEBajYCCAsPC0Hw7QVBxZgDQZQGQY3eABABAAvPAQEDfyABKAIAIgQoAgBBIEYEQAJAAkAgACgCbCICKAIEIgBFBEAgAkEEaiIDIQEMAQsDQCAEIAAiASgCECIASQRAIAEiAygCACIADQEMAgsgACAETw0CIAEoAgQiAA0ACyABQQRqIQMLQRQQXCIAIAE2AgggAEIANwIAIAAgBDYCECADIAA2AgAgAigCACgCACIBBEAgAiABNgIAIAMoAgAhAAsgAigCBCAAEGcgAiACKAIIQQFqNgIICw8LQfDtBUHFmANBlAZBjd4AEAEAC88BAQN/IAEoAgAiBCgCAEEfRgRAAkACQCAAKAJsIgIoAgQiAEUEQCACQQRqIgMhAQwBCwNAIAQgACIBKAIQIgBJBEAgASIDKAIAIgANAQwCCyAAIARPDQIgASgCBCIADQALIAFBBGohAwtBFBBcIgAgATYCCCAAQgA3AgAgACAENgIQIAMgADYCACACKAIAKAIAIgEEQCACIAE2AgAgAygCACEACyACKAIEIAAQZyACIAIoAghBAWo2AggLDwtB8O0FQcWYA0GUBkGN3gAQAQALzwEBA38gASgCACIEKAIAQR5GBEACQAJAIAAoAmwiAigCBCIARQRAIAJBBGoiAyEBDAELA0AgBCAAIgEoAhAiAEkEQCABIgMoAgAiAA0BDAILIAAgBE8NAiABKAIEIgANAAsgAUEEaiEDC0EUEFwiACABNgIIIABCADcCACAAIAQ2AhAgAyAANgIAIAIoAgAoAgAiAQRAIAIgATYCACADKAIAIQALIAIoAgQgABBnIAIgAigCCEEBajYCCAsPC0Hw7QVBxZgDQZQGQY3eABABAAvPAQEDfyABKAIAIgQoAgBBHUYEQAJAAkAgACgCbCICKAIEIgBFBEAgAkEEaiIDIQEMAQsDQCAEIAAiASgCECIASQRAIAEiAygCACIADQEMAgsgACAETw0CIAEoAgQiAA0ACyABQQRqIQMLQRQQXCIAIAE2AgggAEIANwIAIAAgBDYCECADIAA2AgAgAigCACgCACIBBEAgAiABNgIAIAMoAgAhAAsgAigCBCAAEGcgAiACKAIIQQFqNgIICw8LQfDtBUHFmANBlAZBjd4AEAEAC88BAQN/IAEoAgAiBCgCAEEcRgRAAkACQCAAKAJsIgIoAgQiAEUEQCACQQRqIgMhAQwBCwNAIAQgACIBKAIQIgBJBEAgASIDKAIAIgANAQwCCyAAIARPDQIgASgCBCIADQALIAFBBGohAwtBFBBcIgAgATYCCCAAQgA3AgAgACAENgIQIAMgADYCACACKAIAKAIAIgEEQCACIAE2AgAgAygCACEACyACKAIEIAAQZyACIAIoAghBAWo2AggLDwtB8O0FQcWYA0GUBkGN3gAQAQALzwEBA38gASgCACIEKAIAQRtGBEACQAJAIAAoAmwiAigCBCIARQRAIAJBBGoiAyEBDAELA0AgBCAAIgEoAhAiAEkEQCABIgMoAgAiAA0BDAILIAAgBE8NAiABKAIEIgANAAsgAUEEaiEDC0EUEFwiACABNgIIIABCADcCACAAIAQ2AhAgAyAANgIAIAIoAgAoAgAiAQRAIAIgATYCACADKAIAIQALIAIoAgQgABBnIAIgAigCCEEBajYCCAsPC0Hw7QVBxZgDQZQGQY3eABABAAvPAQEDfyABKAIAIgQoAgBBGkYEQAJAAkAgACgCbCICKAIEIgBFBEAgAkEEaiIDIQEMAQsDQCAEIAAiASgCECIASQRAIAEiAygCACIADQEMAgsgACAETw0CIAEoAgQiAA0ACyABQQRqIQMLQRQQXCIAIAE2AgggAEIANwIAIAAgBDYCECADIAA2AgAgAigCACgCACIBBEAgAiABNgIAIAMoAgAhAAsgAigCBCAAEGcgAiACKAIIQQFqNgIICw8LQfDtBUHFmANBlAZBjd4AEAEAC88BAQN/IAEoAgAiBCgCAEEZRgRAAkACQCAAKAJsIgIoAgQiAEUEQCACQQRqIgMhAQwBCwNAIAQgACIBKAIQIgBJBEAgASIDKAIAIgANAQwCCyAAIARPDQIgASgCBCIADQALIAFBBGohAwtBFBBcIgAgATYCCCAAQgA3AgAgACAENgIQIAMgADYCACACKAIAKAIAIgEEQCACIAE2AgAgAygCACEACyACKAIEIAAQZyACIAIoAghBAWo2AggLDwtB8O0FQcWYA0GUBkGN3gAQAQALzwEBA38gASgCACIEKAIAQRhGBEACQAJAIAAoAmwiAigCBCIARQRAIAJBBGoiAyEBDAELA0AgBCAAIgEoAhAiAEkEQCABIgMoAgAiAA0BDAILIAAgBE8NAiABKAIEIgANAAsgAUEEaiEDC0EUEFwiACABNgIIIABCADcCACAAIAQ2AhAgAyAANgIAIAIoAgAoAgAiAQRAIAIgATYCACADKAIAIQALIAIoAgQgABBnIAIgAigCCEEBajYCCAsPC0Hw7QVBxZgDQZQGQY3eABABAAsxAQJ/IwBBEGsiAiQAIAJBCGogACgCOCAAKAI8IAEQiQ8gAigCCCEDIAJBEGokACADC88BAQN/IAEoAgAiBCgCAEENRgRAAkACQCAAKAJsIgIoAgQiAEUEQCACQQRqIgMhAQwBCwNAIAQgACIBKAIQIgBJBEAgASIDKAIAIgANAQwCCyAAIARPDQIgASgCBCIADQALIAFBBGohAwtBFBBcIgAgATYCCCAAQgA3AgAgACAENgIQIAMgADYCACACKAIAKAIAIgEEQCACIAE2AgAgAygCACEACyACKAIEIAAQZyACIAIoAghBAWo2AggLDwtB8O0FQcWYA0GUBkGN3gAQAQALzwEBA38gASgCACIEKAIAQQxGBEACQAJAIAAoAmwiAigCBCIARQRAIAJBBGoiAyEBDAELA0AgBCAAIgEoAhAiAEkEQCABIgMoAgAiAA0BDAILIAAgBE8NAiABKAIEIgANAAsgAUEEaiEDC0EUEFwiACABNgIIIABCADcCACAAIAQ2AhAgAyAANgIAIAIoAgAoAgAiAQRAIAIgATYCACADKAIAIQALIAIoAgQgABBnIAIgAigCCEEBajYCCAsPC0Hw7QVBxZgDQZQGQY3eABABAAvPAQEDfyABKAIAIgQoAgBBC0YEQAJAAkAgACgCbCICKAIEIgBFBEAgAkEEaiIDIQEMAQsDQCAEIAAiASgCECIASQRAIAEiAygCACIADQEMAgsgACAETw0CIAEoAgQiAA0ACyABQQRqIQMLQRQQXCIAIAE2AgggAEIANwIAIAAgBDYCECADIAA2AgAgAigCACgCACIBBEAgAiABNgIAIAMoAgAhAAsgAigCBCAAEGcgAiACKAIIQQFqNgIICw8LQfDtBUHFmANBlAZBjd4AEAEAC88BAQN/IAEoAgAiBCgCAEEKRgRAAkACQCAAKAJsIgIoAgQiAEUEQCACQQRqIgMhAQwBCwNAIAQgACIBKAIQIgBJBEAgASIDKAIAIgANAQwCCyAAIARPDQIgASgCBCIADQALIAFBBGohAwtBFBBcIgAgATYCCCAAQgA3AgAgACAENgIQIAMgADYCACACKAIAKAIAIgEEQCACIAE2AgAgAygCACEACyACKAIEIAAQZyACIAIoAghBAWo2AggLDwtB8O0FQcWYA0GUBkGN3gAQAQALzwEBA38gASgCACIEKAIAQQlGBEACQAJAIAAoAmwiAigCBCIARQRAIAJBBGoiAyEBDAELA0AgBCAAIgEoAhAiAEkEQCABIgMoAgAiAA0BDAILIAAgBE8NAiABKAIEIgANAAsgAUEEaiEDC0EUEFwiACABNgIIIABCADcCACAAIAQ2AhAgAyAANgIAIAIoAgAoAgAiAQRAIAIgATYCACADKAIAIQALIAIoAgQgABBnIAIgAigCCEEBajYCCAsPC0Hw7QVBxZgDQZQGQY3eABABAAvPAQEDfyABKAIAIgQoAgBBCEYEQAJAAkAgACgCbCICKAIEIgBFBEAgAkEEaiIDIQEMAQsDQCAEIAAiASgCECIASQRAIAEiAygCACIADQEMAgsgACAETw0CIAEoAgQiAA0ACyABQQRqIQMLQRQQXCIAIAE2AgggAEIANwIAIAAgBDYCECADIAA2AgAgAigCACgCACIBBEAgAiABNgIAIAMoAgAhAAsgAigCBCAAEGcgAiACKAIIQQFqNgIICw8LQfDtBUHFmANBlAZBjd4AEAEAC88BAQN/IAEoAgAiBCgCAEEHRgRAAkACQCAAKAJsIgIoAgQiAEUEQCACQQRqIgMhAQwBCwNAIAQgACIBKAIQIgBJBEAgASIDKAIAIgANAQwCCyAAIARPDQIgASgCBCIADQALIAFBBGohAwtBFBBcIgAgATYCCCAAQgA3AgAgACAENgIQIAMgADYCACACKAIAKAIAIgEEQCACIAE2AgAgAygCACEACyACKAIEIAAQZyACIAIoAghBAWo2AggLDwtB8O0FQcWYA0GUBkGN3gAQAQALzwEBA38gASgCACIEKAIAQQZGBEACQAJAIAAoAmwiAigCBCIARQRAIAJBBGoiAyEBDAELA0AgBCAAIgEoAhAiAEkEQCABIgMoAgAiAA0BDAILIAAgBE8NAiABKAIEIgANAAsgAUEEaiEDC0EUEFwiACABNgIIIABCADcCACAAIAQ2AhAgAyAANgIAIAIoAgAoAgAiAQRAIAIgATYCACADKAIAIQALIAIoAgQgABBnIAIgAigCCEEBajYCCAsPC0Hw7QVBxZgDQZQGQY3eABABAAvPAQEDfyABKAIAIgQoAgBBBUYEQAJAAkAgACgCbCICKAIEIgBFBEAgAkEEaiIDIQEMAQsDQCAEIAAiASgCECIASQRAIAEiAygCACIADQEMAgsgACAETw0CIAEoAgQiAA0ACyABQQRqIQMLQRQQXCIAIAE2AgggAEIANwIAIAAgBDYCECADIAA2AgAgAigCACgCACIBBEAgAiABNgIAIAMoAgAhAAsgAigCBCAAEGcgAiACKAIIQQFqNgIICw8LQfDtBUHFmANBlAZBjd4AEAEAC88BAQN/IAEoAgAiBCgCAEEERgRAAkACQCAAKAJsIgIoAgQiAEUEQCACQQRqIgMhAQwBCwNAIAQgACIBKAIQIgBJBEAgASIDKAIAIgANAQwCCyAAIARPDQIgASgCBCIADQALIAFBBGohAwtBFBBcIgAgATYCCCAAQgA3AgAgACAENgIQIAMgADYCACACKAIAKAIAIgEEQCACIAE2AgAgAygCACEACyACKAIEIAAQZyACIAIoAghBAWo2AggLDwtB8O0FQcWYA0GUBkGN3gAQAQALzwEBA38gASgCACIEKAIAQQNGBEACQAJAIAAoAmwiAigCBCIARQRAIAJBBGoiAyEBDAELA0AgBCAAIgEoAhAiAEkEQCABIgMoAgAiAA0BDAILIAAgBE8NAiABKAIEIgANAAsgAUEEaiEDC0EUEFwiACABNgIIIABCADcCACAAIAQ2AhAgAyAANgIAIAIoAgAoAgAiAQRAIAIgATYC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AgwDCyAEKAIAKAIIIQtB1IkLQQA2AgAgCyAEEAYhAkHUiQsoAgAhDEHUiQtBADYCACAMQQFGDQILIAMgAjYCEAsgA0IANwNAQdSJC0EANgIAQe4pIANByABqIANBHGpCACADQUBrEMICQdSJCygCACECQdSJC0EANgIAAkAgAkEBRg0AIAMoAkhCADcCGAJAAkACQAJAIAMoAiwiAiADKAIwRwRAIAIgADYCACADIAJBBGo2AiwMAQsgAiADKAIoIgdrIgRBAnUiCEEBaiIFQYCAgIAETw0CAkBB/////wMgBEEBdSIGIAUgBSAGSRsgBEH8////B08bIgVFBEBBACEGDAELIAVBgICAgARPDQJB1IkLQQA2AgBBBCAFQQJ0EAYhBkHUiQsoAgAhDUHUiQtBADYCACANQQFGDQULIAYgCEECdGoiBCAANgIAIARBBGohACACIAdHBEADQCAEQQRrIgQgAkEEayICKAIANgIAIAIgB0cNAAsgAygCKCECCyADIAYgBUECdGo2AjAgAyAANgIsIAMgBDYCKCACRQ0AIAIQWgsCQCADKAI4IgIgAygCPEcEQCACIAE2AgAgAyACQQRqNgI4DAELIAIgAygCNCIGayIAQQJ1IgdBAWoiBEH/////A0sNAgJAQf////8DIABBAXUiBSAEIAQgBUkbIABB/P///wdPGyIARQRAQQAhBQwBCyAAQf////8DSw0CQdSJC0EANgIAQQQgAEECdBAGIQVB1IkLKAIAIQ5B1IkLQQA2AgAgDkEBRg0FCyAFIAdBAnRqIgQgATYCACAEQQRqIQEgAiAGRwRAA0AgBEEEayIEIAJBBGsiAigCADYCACACIAZHDQALIAMoAjQhAgsgAyAFIABBAnRqNgI8IAMgATYCOCADIAQ2AjQgAkUNACACEFoLAkAgAygCLCICIAMoAihHBEADQCADKAI4IgAgAygCNEYEQEEAIQAMAwsgAkEEayICKAIAIQEgAyACNgIsIABBBGsiACgCACECIAMgADYCOEEAIQAgAUUiBCACQQBHRg0CAkAgBA0AIAMgATYCSCADIAI2AkAgAygCECIERQRAQdSJC0EANgIAQcUAEAlB1IkLKAIAIQ9B1IkLQQA2AgAgD0EBRw0HDAgLIAQoAgAoAhghEEHUiQtBADYCACAQIAQgA0HIAGogA0FAaxAEIQRB1IkLKAIAIQVB1IkLQQA2AgACQCAFQQFGDQAgBA0BIAEoAgQgAigCBEcNBEHUiQtBADYCAEHvKSADQRxqIAEgAhAEIRJB1IkLKAIAIRFB1IkLQQA2AgAgEUEBRg0AIBINAQwECwwHCyADKAIsIgIgAygCKEcNAAsLIAMoAjggAygCNEYhAAsCQAJAIAMgAygCECICRgRAQQQhBCADIQIMAQtBBSEEIAJFDQELIAIgAigCACAEQQJ0aigCABEBAAsgAygCNCIBBEAgAyABNgI4IAEQWgsgAygCKCIBBEAgAyABNgIsIAEQWgsgAygCIBCPAyADQdAAaiQAIAAPC0HUiQtBADYCAEEDEAlB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRw0BDAILQdSJC0EANgIAQQ4QCUHUiQsoAgAhFEHUiQtBADYCACAUQQFGDQELAAsQACEEAkAgAyADKAIQIgJGBEBBBCEAIAMhAgwBC0EFIQAgAkUNAgsgAiACKAIAIABBAnRqKAIAEQEADAELEAAhBAsgAygCNCIABEAgAyAANgI4IAAQWgsgAygCKCIABEAgAyAANgIsIAAQWgsgAygCIBCPAyAEEAcAC/kFAQh/IwBB8AFrIgMkAAJAAkACQAJAIAIoAgQiBUUEQEEBIQQgACgCAEEBa0F+Tw0BDAQLQQEhBCAFKAIUIgIgACgCACIAQQFqSQ0DIAIgAEF/c2oiACACTw0BIAUoAhAgAEECdGohAgsgAigCACEEIAEoAnwhAiADIAEoAgQiAC0AODoABCADIAAtADk6AAUgAyAAKAJoNgIIIAMgACgCbCIANgIMIAAEQCAAIAAoAgRBAWo2AgQLIAMgAjYCECACKAKEASEAIANBIGoiAUIANwIAIANBLGoiAkIANwIAIANBOGoiBUIANwIAIANBxABqIgZCADcCACADQegAaiIHQgA3AgAgA0IANwJUIANCADcBWiADQfQAaiIIQgA3AgAgA0EAOwEYIAMgADYCFCADIAE2AhwgAyACNgIoIAMgBTYCNCADIAY2AkAgA0IANwJMIAMgBzYCZCADIAg2AnAgAyAENgLsASADQgA3AtQBIANCADcC3AEgA0EANgLkAUHUiQtBADYCACADQgA3AnwgAyADQQRqNgLoAUHHACADQfwAaiADQewBahADQdSJCygCACEAQdSJC0EANgIAAkACQCAAQQFHBEAgAygC1AEiAARAIAMgADYC2AEgABBaCyADKAJYBEBB1IkLQQA2AgBBDUGRyQVB9ooDQcQIQabRABAFQdSJCygCACEJQdSJC0EANgIAIAlBAUYNAgALIAMtAAQEQCADQQA6AFUMBQsgAy0AVUUNBCADQQE6AFQMBAsQACECIAMoAtQBIgBFDQEgAyAANgLYASAAEFoMAQsQACECCyADQQRqEN8BGiACEAcAC0HFogFBiaIDQbwBQaaIBRABAAsgAygCbCEKIAMoAnQQYCADKAJoEGAgAygCRBBgIAMoAjgQYCADKAIsEG8gAygCIBBvAkAgAygCDCIARQ0AIAAgACgCBCICQQFrNgIEIAINACAAIAAoAgAoAggRAQAgABB1CyAKQQBHIQQLIANB8AFqJAAgBAt1AQJ/QfgBEFwiAEEAQcAB/AsAIABBwAFqIgFCADcCACAAQfjMBzYCACAAQeQBaiICQgA3AgAgACABNgK8ASAAQgA3AsgBIABCADcC0AEgAEIANwLYASAAQfABaiIBQgA3AgAgACACNgLgASAAIAE2AuwBIAALOQAgACgCBEUEQEHo+gVBuosDQZwEQe7TAhABAAsgACACNgJ4IAAgATYCfCAAIAIQiw8gAEIANwJ4C5QiARF/IAEoAgAiCCgCACIDQQFrQQNPIANBM2tBAUtxRQRAIABBGGpB4SkgARBbCyAAIQMCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEoAgAiAigCAA5eAAECAwQFBgcICQoLDA0eHyAhIiMkJTU2Dg8QERITFBUWFxgZGhscHTcmJygpKissLS4vMDEyMzQ4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcAG8LQZj9A0HlswNB6gEQYgAL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QCABKAIAQQlHDQAgACgCBCIFKAJsIAEoAggiBEEDdkH8////AXFqKAIAIAR2QQFxRQ0AIARBAnQiBCAAKAIIKAIAaigCACAFKAKEASAEaigCAEcNACABKAIMIQQgACgCECEDIAIgACgCDCIALQAgOgAEIAIgAC0AIToABSACIAAoAlA2AgggAiAAKAJUIgA2AgwgAARAIAAgACgCBEEBajYCBAsgAiADNgIQIAMoAoQBIQAgAkEgaiIDQgA3AgAgAkEsaiIFQgA3AgAgAkE4aiIGQgA3AgAgAkHEAGoiB0IANwIAIAJB6ABqIghCADcCACACQgA3AlQgAkIANwFaIAJB9ABqIglCADcCACACQQA7ARggAiAANgIUIAIgAzYCHCACIAU2AiggAiAGNgI0IAIgBzYCQCACQgA3AkwgAiAINgJkIAIgCTYCcCACIAQ2AuwBIAJCADcC1AEgAkIANwLcASACQQA2AuQBQdSJC0EANgIAIAJCADcCfCACIAJBBGo2AugBQccAIAJB/ABqIAJB7AFqEANB1IkLKAIAIQBB1IkLQQA2AgACQAJAAkAgAEEBRwRAIAIoAtQBIgAEQCACIAA2AtgBIAAQWgsgAigCWARAQdSJC0EANgIAQQ1BkckFQfaKA0HECEGm0QAQBUHUiQsoAgAhCkHUiQtBADYCACAKQQFGDQIACyACLQAEBEAgAkEAOgBVDAQLIAItAFVFDQMgAkEBOgBUDAMLEAAhASACKALUASIARQ0BIAIgADYC2AEgABBaDAELEAAhAQsgAkEEahDfARogARAHAAtBACEDAkAgAigCMA0AIAItAGANACACKAJIDQAgAi0ATQ0AIAItAE8NACACLQBRDQAgAi0AUw0AIAItAFYNACACLQAZDQAgAi0AVw0AIAIoAngNACACLQAYDQAgAigCbA0AIAItAGENACACLQBURQRAIAEhAwwBCyABQQAgAi0ABRshAwsgAigCdBBgIAIoAmgQYCACKAJEEGAgAigCOBBgIAIoAiwQbyACKAIgEG8gAigCDCIARQ0AIAAgACgCBCIBQQFrNgIEIAENACAAIAAoAgAoAggRAQAgABB1CyACQfABaiQAIAMLQAAgASgCACIBKAIAQQhHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoApACIAEoAghBAnRqIgAgACgCAEEBajYCAAulOAFJfyMAQZAFayICJAACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgASgCACIBKAIAQQFGBEACQCABKAIUIgRBAkkNACAAKAIEIQcgACgCfCEDIAJCADcCJCACQYCAgPwDNgIsIAJCADcCHCACIAM2AhggAiAAQZACajYCECACIABBgAFqNgIMIAIgAUEQaiIDNgIIIAIgB0EYajYCFCACQYgFaiEMIAJB/ARqIQ0gAkHYBGohDiACQcwEaiEPIAJBwARqIRAgAkG0BGohESACQawBaiESIAJBoAFqIRMgAkH8AGohFCACQfAAaiEVIAJB5ABqIRYgAkHYAGohFyACQaQCaiEYIAJBmAJqIRkgAkH0AWohGiACQegBaiEbIAJB3AFqIRwgAkHQAWohHSACQZwDaiEeIAJBkANqIR8gAkHsAmohICACQeACaiEhIAJB1AJqISIgAkHIAmohI0EAIQBBfyEHA0ACQAJAIAdBf0YEQANAAkAgAygCACAAQQJ0aigCACEBQdSJC0EANgIAQdwpIAJBCGogARACIShB1IkLKAIAISdB1IkLQQA2AgAgJ0EBRg0AIABBAWohASAoBEAgACEHIAEhAAwECyABIgAgAigCCCIDKAIESQ0BDAQLCxAAIQAMEQsgACAEIAAgBEsbIQYDQCAAIAZGBEBB1IkLQQA2AgBBDUHFogFBiaIDQbwBQaaIBRAFQdSJCygCACEpQdSJC0EANgIAIClBAUcNERAAIQAMEgsgAEECdCIJIAMoAgBqKAIAIgUoAgAiAUESRgRAIAUoAggiBSgCACEBCwJAAkACQAJAIAFBAmsOAwMCAAELIAUoAhRFDQEMAgsgAUE/Rg0BCyAAQQFqIgAgBEkNAQwDCwtBzbwDIQFBjgIhBUGkrwIhA0Ho5AAhBAJAAkAgACAHTQ0AIABBf0YNACACKAIIIgEoAgQiBSAASw0BQaaIBSEBQbwBIQVBiaIDIQNBxaIBIQQLQdSJC0EANgIAQQ0gBCADIAUgARAFQdSJCygCACEqQdSJC0EANgIAICpBAUcNEBAAIQAMEQsgASgCACAJaigCACIEKAIAQQJGBEAgBCgCCCEFIAIgAigCFCIBLQAgOgCYBCACIAEtACE6AJkEIAIgASgCUDYCnAQgAiABKAJUIgE2AqAEIAIoAhghAyABBEAgASABKAIEQQFqNgIECyACIAM2AqQEIAMoAoQBIQEgAkIANwK0BCACQQA7AawEIAIgATYCqAQgAkIANwLABCACIBE2ArAEIAJCADcCzAQgAiAQNgK8BCACQgA3AtgEIAIgDzYCyAQgAkIANwL8BCACIA42AtQEIAJCADcB7gQgAkIANwLoBCACQgA3AuAEIAJCADcCiAUgAiANNgL4BCACIAw2AoQFIAIgBTYCtAEgAkIANwKsAiACQQA2ApQDIAJCADcCjAMgAkIANwKEA0HUiQtBADYCACACIAJBmARqNgKYA0HHACACQawCaiACQbQBahADQdSJCygCACEBQdSJC0EANgIAAkACQCABQQFHBEAgAigChAMiAQRAIAIgATYCiAMgARBaCyACKALsBARAQdSJC0EANgIAQQ1BkckFQfaKA0HECEGm0QAQBUHUiQsoAgAhK0HUiQtBADYCACArQQFHDRQQACEADAILIAItAJgEBEAgAkEAOgDpBAwDCyACLQDpBEUNAiACQQE6AOgEDAILEAAhACACKAKEAyIBRQ0AIAIgATYCiAMgARBaCyACQZgEahDfARoMEgsgAkEAOgCsBCACKAL8BBBgIAIgDTYC+AQgAkIANwL8BCACQQA6AOsEIAIoAogFEGAgAiAMNgKEBSACQgA3AogFAkACQAJAAkAgAi0ArAQNACACLQDrBA0AIAIoAoAFDQAgBCgCDCEFIAIgAigCFCIBLQAgOgCsAiACIAEtACE6AK0CIAIgASgCUDYCsAIgAiABKAJUIgE2ArQCIAIoAhghAyABBEAgASABKAIEQQFqNgIECyACIAM2ArgCIAMoAoQBIQEgAkIANwLIAiACQQA7AcACIAIgATYCvAIgAkIANwLUAiACICM2AsQCIAJCADcC4AIgAiAiNgLQAiACQgA3AuwCIAIgITYC3AIgAkIANwKQAyACICA2AugCIAJCADcBggMgAkIANwL8AiACQgA3AvQCIAJCADcCnAMgAiAfNgKMAyACIB42ApgDIAIgBTYCPCACQgA3ArQBIAJBADYCnAIgAkIANwKUAiACQgA3AowCQdSJC0EANgIAIAIgAkGsAmo2AqACQccAIAJBtAFqIAJBPGoQA0HUiQsoAgAhLEHUiQtBADYCACAsQQFGDQIgAigCjAIiAQRAIAIgATYCkAIgARBaCyACKAKA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AhABAAsgAEGiKCACQRxqEFgLIABBoiggAkEYahBYCyAAQaIoIAJBFGoQWAsgAEGiKCACQRBqEFgPCyAAQaIoIAJBFGoQWAsgAEGiKCACQRBqEFgLIABBoiggAkEMahBYDwsgAEGiKCACQShqEFgLIABBoiggAkEkahBYDwsgAEGiKCACQRxqEFggAEGiKCACQRhqEFgPCyAAQaIoIAJBFGoQWAsgAEGiKCACQRBqEFgLIABBoiggAkEMahBYCyAAQaIoIAJBCGoQWA8LIABBGGpBoiggAkEIahBbDwsgA0GiKCACQQxqEFgLgxEBGH8jAEGwAmsiAyQAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAAoAgQEQCAAIAAoAgAoAhARAgAEQCADIAAoAgQiAikCODcD+AEgAyACKQIwNwPwASADIAIpAig3A+gBIAMgAikCIDcD4AEgAyACKQIYNwPYASADQYACaiACQUBrEOMBIQRB1IkLQQA2AgBBmgEgA0GUAmogAkHUAGoQAiEFQdSJCygCACERQdSJC0EANgIAIBFBAUYNAiADIAIoAmg2AqgCIAMgAigCbCICNgKsAiACBEAgAiACKAIEQQFqNgIECyADQQEgAygC4AEiAiACQQBKGzYC4AEgAyADKQPoATcDGCADIAMpA/ABNwMgIAMgAykD+AE3AyggAyADKQPgATcDECADQQEgAygC3AEiAiACQQBKGzYC3AFB1IkLQQA2AgAgAyADKQPYATcDCEGbASADQTBqIAQQAiEEQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBxABqIAUQAiEFQdSJCygCACESQdSJC0EANgIAIBJBAUYNBSADIAMoAqwCIgI2AlwgAyADKAKoAjYCWCACBEAgAiACKAIEQQFqNgIECyADQQA2AnggAyADKQMQNwKEASADIAMpAxg3AowBIAMgAykDIDcClAEgAyADKQMoNwKcASADQgA3AnAgA0H87Ak2AmQgAyADKQMINwJ8QdSJC0EANgIAIAMgATYCaCADIAFBqAFqNgJsQZsBIANBpAFqIAQQAiEBQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBuAFqIAUQAhpB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRwRA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AiAAQgA3AqwCIABBgICA/AM2AqgCIABCADcCtAIgAEIANwK8AiAAQgA3AswCIABCgICAgICAgMA/NwLEAiAAQgA3AtQCIABCADcC4AIgAEEBOgDcAiAAQeDLBzYCACAAQgA3AugCIABCADcC8AIgAEEANgL4AiAAQoCAgPwDNwL8AiAACzkAIAAoAgRFBEBB6PoFQbqLA0GcBEHu0wIQAQALIAAgAjYCeCAAIAE2AnwgACACEKMPIABCADcCeAvsDwEYfyMAQbACayIDJAACQAJAAkACQAJAAkACQAJAAkACQAJAIAAoAgQEQCAAIAAoAgAoAhARAgAEQCADIAAoAgQiAikCODcD+AEgAyACKQIwNwPwASADIAIpAig3A+gBIAMgAikCIDcD4AEgAyACKQIYNwPYASADQYACaiACQUBrEOMBIQRB1IkLQQA2AgBBmgEgA0GUAmogAkHUAGoQAiEFQdSJCygCACERQdSJC0EANgIAIBFBAUYNAiADIAIoAmg2AqgCIAMgAigCbCICNgKsAiACBEAgAiACKAIEQQFqNgIECyADQQEgAygC4AEiAiACQQBKGzYC4AEgAyADKQPoATcDGCADIAMpA/ABNwMgIAMgAykD+AE3AyggAyADKQPgATcDECADQQEgAygC3AEiAiACQQBKGzYC3AFB1IkLQQA2AgAgAyADKQPYATcDCEGbASADQTBqIAQQAiEEQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBxABqIAUQAiEFQdSJCygCACESQdSJC0EANgIAIBJBAUYNBSADIAMoAqwCIgI2AlwgAyADKAKoAjYCWCACBEAgAiACKAIEQQFqNgIECyADQQA2AnggAyADKQMQNwKEASADIAMpAxg3AowBIAMgAykDIDcClAEgAyADKQMoNwKcASADQgA3AnAgA0H87Ak2AmQgAyADKQMINwJ8QdSJC0EANgIAIAMgATYCaCADIAFBqAFqNgJsQZsBIANBpAFqIAQQAiEBQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBuAFqIAUQAhpB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRwRAIAMgAygCWDYCzAEgAyADKAJcIgE2AtABIAEEQCABIAEoAgRBAWo2AgQLIANB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NgIMAkACQAJAAkACQAJAIAAoAowBIgIgACgCkAFJBEAgAiABNgIAIAAgAkEEajYCjAEMAQtB1IkLQQA2AgBBoScgAEGIAWogBUEMahADQdSJCygCACEJQdSJC0EANgIAIAlBAUYNASAFKAIMIgFFDQAgARC/AgsgACgCmAEiASAAKAKcAUYNASABIAAoAqABNgIAIAAgAUEEajYCmAEMAgsQACEKIAUoAgwiAQRAIAEQvwILIAoQBwALIAEgACgClAEiB2siAkECdSIEQQFqIgNBgICAgARPDQFB/////wMgAkEBdSIIIAMgAyAISRsgAkH8////B08bIgMEfyADQYCAgIAETw0DIANBAnQQXAVBAAsiCCAEQQJ0aiICIAAoAqABNgIAIAJBBGohBCABIAdHBEADQCACQQRrIgIgAUEEayIBKAIANgIAIAEgB0cNAAsgACgClAEhAQsgACAIIANBAnRqNgKcASAAIAQ2ApgBIAAgAjYClAEgAUUNACABEFoLIAYgACgCoAEQqwICQCAAKALAASIBIAAoAsQBRwRAIAEgACgCoAE2AgAgACABQQRqNgLAAQwBCyABIAAoArwBIgdrIgJBAnUiBkEBaiIDQYCAgIAETw0BQf////8DIAJBAXUiBCADIAMgBEkbIAJB/P///wdPGyIDBH8gA0GAgICABE8NAyADQQJ0EFwFQQALIgQgBkECdGoiAiAAKAKgATYCACACQQRqIQYgASAHRwRAA0AgAkEEayICIAFBBGsiASgCADYCACABIAdHDQALIAAoArwBIQELIAAgBCADQQJ0ajYCxAEgACAGNgLAASAAIAI2ArwBIAFFDQAgARBaCyAFQRBqJAAPCxBkAAsQagAL7wcCFH8BfiMAQSBrIgIkACABKAIAIQlB1IkLQQA2AgAgAiACQRBqIgo2AgwgAkIANwIQQc8dIAkgAkEMahADQdSJCygCACENQdSJC0EANgIAIA1BAUYEQBAAIQ4gAigCEBBgIA4QBwALAkACQAJAIAogAigCDCIERwRAIABBpAFqIQwDQCACIAQpAhAiFjcDAEHUiQtBADYCAEG/JyACQRhqIAwgFiACEMICQdSJCygCACEPQdSJC0EANgIAIA9BAUYNAgJAIAIoAhgiBSgCHCIBIAUoAiBHBEAgASAAKAKgATYCACAFIAFBBGo2AhwM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IAdHDQALIAAoAtgBIgJBDGsoAgAhBAsgBARAIAJBCGsgBDYCACAEEFoLIAAgAkEMazYC2AEgACAAKALkAUEEazYC5AECQCAAKAL8ASICIAAoAoACIgVJBEAgAkEANgIAIAAgAkEEajYC/AEMAQsgAiAAKAL4ASIEa0ECdSIGQQFqIgNBgICAgARPDQJBACEBQf////8DIAUgBGsiBUEBdSIHIAMgAyAHSRsgBUH8////B08bIgUEQCAFQYCAgIAETw0CIAVBAnQQXCEBCyABIAZBAnRqIgNBADYCACADQQRqIQYgAiAERwRAA0AgA0EEayIDIAJBBGsiAigCADYCACACIARHDQALCyAAIAEgBUECdGo2AoACIAAgBjYC/AEgACADNgL4ASAERQ0AIAQQWgsgCUEQaiQADwsQagALEGQAC4EDAQV/IwBBEGsiAyQAQTwQXCIBQgA3AgAgAUEANgI4IAFCADcCMCABQgA3AiggAUIANwIgIAFCADcCGCABQgA3AhAgAUIANwIIIAAgATYCoAEgAyABNgIMAkACQAJAAkAgACgCjAEiAiAAKAKQAUkEQCACIAE2AgAgACACQQRqNgKMAQwBC0HUiQtBADYCAEGhJyAAQYgBaiADQQxqEANB1IkLKAIAIQVB1IkLQQA2AgAgBUEBRg0BIAMoAgwiAUUNACABEL8CCyAAKALwAUEMayICKAIAIgEgAigCBCICRw0BDAILEAAhBiADKAIMIgEEQCABEL8CCyAGEAcACwNAIAEoAgAgACgCoAEQqwIgAUEEaiIBIAJHDQALCyAAKALMAUEEaygCACAAKAKgARCrAiAAIAAoAswBQQRrNgLMASAAKALwASICQQxrIgQoAgAiAQRAIAJBCGsgATYCACABEFoLIAAgBDYC8AEgACAAKAL8AUEEazYC/AEgA0EQaiQAC5gCAQZ/IwBBEGsiAiQAIAAQ3goCQAJAIAAoAtQBIAAoAtgBRgRAIAAtANwCDQELIAAoAqABIQZBPBBcIgFCADcCACABQQA2AjggAUIANwIwIAFCADcCKCABQgA3AiAgAUIANwIYIAFCADcCECABQgA3AgggACABNgKgASACIAE2AgwCQCAAKAKMASIDIAAoApABSQRAIAMgATYCACAAIANBBGo2AowBDAELQdSJC0EANgIAQaEnIABBiAFqIAJBDGoQA0HUiQsoAgAhBUHUiQtBADYCACAFQQFGDQIgAigCDCIBRQ0AIAEQvwILIAYgACgCoAEQqwILIAJBEGokAA8LEAAhByACKAIMIgEEQCABEL8CCyAHEAcAC5cDAQd/IwBBEGsiAyQAIAAoAqABIQVBPBBcIgJCADcCACACQQA2AjggAkIANwIwIAJCADcCKCACQgA3AiAgAkIANwIYIAJCADcCECACQgA3AgggACACNgKgASADIAI2AgQCQAJAAkAgACgCjAEiBCAAKAKQAUkEQCAEIAI2AgAgACAEQQRqNgKMAQwBC0HUiQtBADYCAEGhJyAAQYgBaiADQQRqEANB1IkLKAIAIQdB1IkLQQA2AgAgB0EBRg0BIAMoAgQiAkUNACACEL8CCyAFIAAoAqABEKsCIAEoAgAiASgCAEEDRw0BIAEoAggEQCAAKALAAUEEaygCACEEIANBCGogAEGkAWoiBSABQQhqIgIpAgAgAhD6AiADKAIIIgYoAhgiASAGKAIcIgZHBEADQCABKAIAIAQQqwIgAUEEaiIBIAZHDQALCyAFIAIpAgAQ5wMLIAAgACgCwAFBBGs2AsABIANBEGokAA8LEAAhCCADKAIEIgEEQCABEL8CCyAIEAcAC0Hw7QVBxZgDQZQGQY3eABABAAvzAwEJfyMAQRBrIgQkACAAKAKgASEFQTwQXCIBQgA3AgAgAUEANgI4IAFCADcCMCABQgA3AiggAUIANwIgIAFCADcCGCABQgA3AhAgAUIANwIIIAAgATYCoAEgBCABNgIMAkACQAJAAkACQAJAIAAoAowBIgIgACgCkAFJBEAgAiABNgIAIAAgAkEEajYCjAEMAQtB1IkLQQA2AgBBoScgAEGIAWogBEEMahADQdSJCygCACEJQdSJC0EANgIAIAlBAUYNASAEKAIMIgFFDQAgARC/AgsgBSAAKAKgARCrAiAAKAK0ASIBIAAoArgBRg0BIAEgBTYCACAAIAFBBGo2ArQBDAILEAAhCiAEKAIMIgEEQCABEL8CCyAKEAcACyABIAAoArABIgdrIgJBAnUiCEEBaiIDQYCAgIAETw0BQf////8DIAJBAXUiBiADIAMgBkkbIAJB/P///wdPGyIDBH8gA0GAgICABE8NAyADQQJ0EFwFQQALIgYgCEECdGoiAiAFNgIAIAJBBGohBSABIAdHBEADQCACQQRrIgIgAUEEayIBKAIANgIAIAEgB0cNAAsgACgCsAEhAQsgACAGIANBAnRqNgK4ASAAIAU2ArQBIAAgAjYCsAEgAUUNACABEFoLIARBEGokAA8LEGQACxBqAAsGAEGAgAILhQQBCH8jAEEQayIGJAACQAJAAkAgACgCtAEiAyAAKAK4AUcEQCADIAAoAqABNgIAIAAgA0EEaiIFNgK0AQwBCyADIAAoArABIgdrIgVBAnUiBEEBaiICQYCAgIAETw0BQf////8DIAVBAXUiASACIAEgAksbIAVB/P///wdPGyICBH8gAkGAgICABE8NAyACQQJ0EFwFQQALIgEgBEECdGoiBCAAKAKgATYCACAEQQRqIQUgAyAHRwRAA0AgBEEEayIEIANBBGsiAygCADYCACADIAdHDQALIAAoArABIQMLIAAgASACQQJ0ajYCuAEgACAFNgK0ASAAIAQ2ArABIANFDQAgAxBaIAAoArQBIQULIAVBCGsoAgAhBEE8EFwiAkIANwIAIAJBADYCOCACQgA3AjAgAkIANwIoIAJCADcCICACQgA3AhggAkIANwIQIAJCADcCCCAAIAI2AqABIAYgAjYCDAJAAkAgACgCjAEiASAAKAKQAUkEQCABIAI2AgAgACABQQRqNgKMAQwBC0HUiQtBADYCAEGhJyAAQYgBaiAGQQxqEANB1IkLKAIAIQhB1IkLQQA2AgAgCEEBRg0BIAYoAgwiAUUNACABEL8CCyAEIAAoAqABEKsCIAZBEGokAA8LEAAhCSAGKAIMIgAEQCAAEL8CCyAJEAcACxBkAAsQagAL3QIBB38jAEEQayIDJAAgACgCoAEhBUE8EFwiAkIANwIAIAJBADYCOCACQgA3AjAgAkIANwIoIAJCADcCICACQgA3AhggAkIANwIQIAJCADcCCCAAIAI2AqABIAMgAjYCDAJAAkACQCAAKAKMASIEIAAoApABSQRAIAQgAjYCACAAIARBBGo2AowBDAELQdSJC0EANgIAQaEnIABBiAFqIANBDGoQA0HUiQsoAgAhBkHUiQtBADYCACAGQQFGDQEgAygCDCICRQ0AIAIQvwILIAUgACgCoAEQqwIgASgCACIBKAIAQQJHDQEgASgCECEHIAAoArQBQQRrKAIAIAAoAqABEKsCIAAoArQBIQEgBwRA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ACIBKAIAQdgARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQkQILLwAgASgCACIBKAIAQdcARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQkQILLwAgASgCACIBKAIAQdYARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQkQILLwAgASgCACIBKAIAQdUARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQkQILLwAgASgCACIBKAIAQdQARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQkQILLwAgASgCACIBKAIAQdMARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQkQILLwAgASgCACIBKAIAQdIARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQkQILLwAgASgCACIBKAIAQdEARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQkQILLwAgASgCACIBKAIAQdAARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQkQILLwAgASgCACIBKAIAQc8ARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQkQILLwAgASgCACIBKAIAQc4ARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQkQILLwAgASgCACIBKAIAQc0ARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQkQILLwAgASgCACIBKAIAQcwARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQkQILLwAgASgCACIBKAIAQcsARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQkQILLwAgASgCACIBKAIAQcoARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQkQILLwAgASgCACIBKAIAQckARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQkQILLwAgASgCACIBKAIAQcgARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQkQILLwAgASgCACIBKAIAQccARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQkQILLwAgASgCACIBKAIAQcYARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJs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AEEJRw1UDGALIABBtiEgARBYIAIoAgBBCkYNUgxTCyAAQbchIAEQWCACKAIAQQtHDVIMWwsgAEG4ISABEFggAigCAEEMRw1RDF8LIABBuSEgARBYIAIoAgBBDUcNUAxdCyAAQbohIAEQWCACKAIAQRhHDU8MXgsgAEG7ISABEFggAigCAEEZRw1OIABBrCEgAkEgahBYDF0LIABBvCEgARBYIAIoAgBBGkcNTQxUCyAAQb0hIAEQWCACKAIAQRtHDUwMVAsgAEG+ISABEFggAigCAEEcRg1KDEsLIABBvyEgARBYIAIoAgBBHUcNSgxWCyAAQcAhIAEQWCACKAIAQR5HDUkgAEGsISACQRRqEFgMVQsgAEHBISABEFggAigCAEEfRw1IDE0LIABBwiEgARBYIAIoAgBBIEcNRwxRCyAAQcMhIAEQWCACKAIAQSFHDUYMUQsgAEHEISABEFggAigCAEEiRw1FIABBrCEgAkEgahBYDwsgAEHFISABEFggAigCAEEjRw1EDFELIABBxiEgARBYIAIoAgBBJEcNQwxKCyAAQcchIAEQWCACKAIAQSVGDUEMQgsgAEHIISABEFggAigCAEEmRw1BDEULIABBySEgARBYIAIoAgBBJ0cNQAxECyAAQcohIAEQWCACKAIAQQ5GDT4MPwsgAEHLISABEFggAigCAEEPRw0+DEoLIABBzCEgARBYIAIoAgBBEEcNPQxICyAAQc0hIAEQWCACKAIAQRFHDTwMQAsgAEHOISABEFggAigCAEESRw07DEsLIABBzyEgARBYIAIoAgBBE0cNOiACKAIIRQ05DEsLIABB0CEgARBYIAIoAgBBFEYNOAw5CyAAQdEhIAEQWCACKAIAQRVHDTgMSAsgAEHSISABEFggAigCAEEpRg02DDcLIABB0yEgARBYIAIoAgBBKkcNNgxGCyAAQdQhIAEQWCACKAIAQStGDTQMNQsgAEHVISABEFggAigCAEEsRw00DDkLIABB1iEgARBYIAIoAgBBLUcNMww8CyAAQdchIAEQWCACKAIAQS5HDTIMOgsgAEHYISABEFggAigCAEEvRg0wDDELIABB2SEgARBYIAIoAgBBMEcNMAw4CyAAQdohIAEQWCACKAIAQTFHDS8MNgsgAEHbISABEFggAigCAEEyRw0uDDILIABB3CEgARBYIAIo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WCACKAIAQQNHDVoMYwsgAEHSICABEFggAigCAEEERw1ZIAIoAhQEQCAAQQRqQc4gIAJBFGoQWwsgAigCEEUNWCAAQQRqQc4gIAJBEGoQWw8LIABB0yAgARBYIAIoAgBBBUcNWCAAQc4gIAJBJGoQWCACKAIgRQ1XIABBBGpBziAgAkEgahBbDwsgAEHUICABEFggAigCAEEGRw1XIAIoAgwiAUEATA1WIABBBGohBANAIAFBAWsiACACKAIMTw1ZIAIoAgggAEECdGoiAygCAEUNWiAEQc4gIAMQWyABQQFLIQcgACEBIAcNAAsMVgsgAEHVICABEFggAigCAEEHRw1WIABBziAgAkEcahBYIAIoAhAiAUEATA1VIABBBGohBANAIAFBAWsiACACKAIQTw1YIAIoAgwgAEECdGoiAygCAEUNWSAEQc4gIAMQWyABQQFLIQggACEBIAgNAAsMVQsgAEHWICABEFggAigCAEEIRg1UDFULIABB1yAgARBYIAIoAgBBCUcNVAxgCyAAQdggIAEQWCACKAIAQQpGDVIMUwsgAEHZICABEFggAigCAEELRw1SDFsLIABB2iAgARBYIAIoAgBBDEcNUQxfCyAAQdsgIAEQWCACKAIAQQ1HDVAMXQsgAEHcICABEFggAigCAEEYRw1PDF4LIABB3SAgARBYIAIoAgBBGUcNTiAAQc4gIAJBIGoQWAxdCyAAQd4gIAEQWCACKAIAQRpHDU0MVAsgAEHfICABEFggAigCAEEbRw1MDFQLIABB4CAgARBYIAIoAgBBHEYNSgxLCyAAQeEgIAEQWCACKAIAQR1HDUoMVgsgAEHiICABEFggAigCAEEeRw1JIABBziAgAkEUahBYDFULIABB4yAgARBYIAIoAgBBH0cNSAxNCyAAQeQgIAEQWCACKAIAQSBHDUcMUQsgAEHlICABEFggAigCAEEhRw1GDFELIABB5iAgARBYIAIoAgBBIkcNRSAAQc4gIAJBIGoQWA8LIABB5yAgARBYIAIoAgBBI0cNRAxRCyAAQeggIAEQWCACKAIAQSRHDUMMSgsgAEHpICABEFggAigCAEElRg1BDEILIABB6iAgARBYIAIoAgBBJkcNQQxFCyAAQesgIAEQWCACKAIAQSdHDUAMRAsgAEHsICABEFggAigCAEEORg0+DD8LIABB7SAgARBYIAIoAgBBD0cNPgxKCyAAQe4gIAEQWCACKAIAQRBHDT0MSAsgAEHvICABEFggAigCAEERRw08DEALIABB8CAgARBYIAIoAgBBEkcNOwxLCyAAQfEgIAEQWCACKAIAQRNHDTogAigCCEUNOQxLCyAAQfIgIAEQWCACKAIAQRRGDTgMOQsgAEHzICABEFggAigCAEEVRw04DEgLIABB9CAgARBYIAIoAgBBKUYNNgw3CyAAQfUgIAEQWCACKAIAQSpHDTYMRgsgAEH2ICABEFggAigCAEErRg00DDULIABB9yAgARBYIAIoAgBBLEcNNAw5CyAAQfggIAEQWCACKAIAQS1HDTMMPAsgAEH5ICABEFggAigCAEEuRw0yDDoLIABB+iAgARBYIAIoAgBBL0YNMAwxCyAAQfsgIAEQWCACKAIAQTBHDTAMOAsgAEH8ICABEFggAigCAEExRw0vDDYLIABB/SAgARBYIAIoAgBBMkcNLgwyCyAAQf4gIAEQWCACKAIAQTNHDS0gAigCKCIBQQBKBEAgAEEEaiEDA0AgAUEBayIEIAIoAihPDTAgAigCJCAEQQJ0aiIFKAIARQ0xIANBziAgBRBbIAFBAUshCSAEIQEgCQ0ACwsMNgsgAEH/ICABEFggAigCAEE0RgRADD0LDCwLIABBgCEgARBYIAIoAgBBNUcNKyACKAIUIgFBAEwNKiAAQQRqIQQDQCABQQFrIgAgAigCFE8NLSACKAIQIABBAnRqIgMoAgBFDS4gBEHOICADEFsgAUEBSyEKIAAhASAKDQALDCoLIABBgSEgARBYIAIoAgBBNkYNKQwqCyAAQYIhIAEQWCACKAIAQTdHDSkMOQsgAEGDISABEFggAigCAEEWRg0nDCgLIABBhCEgARBYIAIoAgBBF0YNJgwnCyAAQYUhIAEQWCACKAIAQShGDSUMJgsgAEGGISABEFggAigCAEE4Rw0lIAIoAgwiAUEATA0kIABBBGohBANAIAFBAWsiACACKAIMTw0nIAIoAgggAEECdGoiAygCAEUNKCAEQc4gIAMQWyABQQFLIQsgACEBIAsNAAsMJAsgAEGHISABEFggAigCAEE5Rw0kDDQLIABBiCEgARBYIAIoAgBBOkcNIwwzCyAAQYkhIAEQWCACKAIAQTtHDSIMMgsgAEGKISABEFggAigCAEE8Rw0hIABBziAgAkEYahBYIAIoAgwiAUEATA0gIABBBGohBANAIAFBAWsiACACKAIMTw0jIAIoAgggAEECdGoiAygCAEUNJCAEQc4gIAMQWyABQQFLIQwgACEBIAwNAAsMIAsgAEGLISABEFggAigCAEE9Rw0gDDALIABBjCEgARBYIAIoAgBBPkcNHwwvCyAAQY0hIAEQWCACKAIAQT9HDR4gAEHOICACQRRqEFgPCyAAQY4hIAEQWCACKAIAQcAARw0dIAIoAgwiAUEATA0cIABBBGohBANAIAFBAWsiACACKAIMTw0fIAIoAgggAEECdGoiAygCAEUNICAEQc4gIAMQWyABQQFLIQ0gACEBIA0NAAsMHAsgAEGPISABEFggAigCAEHBAEcNHAwoCyAAQZAhIAEQWCACKAIAQcIARw0bDCYLIABBkSEgARBYIAIoAgBBwwBHDRogAEHOICACQQxqEFggAigCCEUNGQwrCyAAQZIhIAEQWCACKAIAQcQARw0ZDCELIABBkyEgARBYIAIoAgBBxQBHDRgMIAsgAEGUISABEFggAigCAEHGAEcNFyACKAIMIgFBAEwNFiAAQQRqIQQDQCABQQFrIgAgAigCDE8NGSACKAIIIABBAnRqIgMoAgBFDRogBEHOICADEFsgAUEBSyEOIAAhASAODQALDBYLIABBlSEgARBYIAIoAgBBxwBHDRYMGwsgAEGWISABEFggAigCAEHIAEcNFQwZCyAAQZchIAEQWCACKAIAQckARw0UDCQLIABBmCEgARBYIAIoAgBBygBHDRMgAEHOICACQRhqEFgMFgsgAEGZISABEFggAigCAEHLAEcNEgwVCyAAQZohIAEQWCACKAIAQcwARw0RDBcLIABBmyEgARBYIAIoAgBBzQBHDRAMFgsgAEGcISABEFggAigCAEHOAEcNDwwbCyAAQZ0hIAEQWCACKAIAQc8ARw0OIAIoAhgEQCAAQQRqQc4gIAJBGGoQWwsgAigCFARAIABBBGpBziAgAkEUahBbCyACKAIQBEAgAEEEakHOICACQRBqEFsLDBoLIABBniEgARBYIAIoAgBB0ABGDQwMDQsgAEGfISABEFggAigCAEHRAEcNDAwYCyAAQaAhIAEQWCACKAIAQdIARw0LIAIoAhQEQCAAQQRqQc4gIAJBFGoQWwsMFgsgAEGh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A0UNACACKAIYIQIgASgC1AECfyADQQFrIAJxIANpIgRBAU0NABogAiACIANJDQAaIAIgA3ALIgVBAnRqKAIAIgFFDQAgASgCACIBRQ0AAkAgBEEBTQRAIANBAWshAwNAAkAgAiABKAIEIgRHBEAgAyAEcSAFRg0BDAULIAEoAgggAkYNAwsgASgCACIBDQALDAILA0ACQCACIAEoAgQiBEcEQCADIARNBH8gBCADcAUgBAsgBUYNAQwECyABKAIIIAJGDQILIAEoAgAiAQ0ACwwBCyABKAIQIgRFDQACQAJAIAAoAnQiAygCBCICRQRAIANBBGoiBSEBDAELA0AgBCACIgEoAhAiAkkEQCABIQUgASgCACICDQEMAgsgAiAETwRAIAEhAgwDCyABKAIEIgINAAsgAUEEaiEFC0HAABBcIgJBIGpCADcCACACQgA3AjggAkIANwIwIAIgBDYCECACIAE2AgggAkIANwIAIAJBGGoiAUIANwIAIAJCADcCKCACIAE2AhQgAiACQSRqNgIgIAJCADcANSAFIAI2AgAgAiEBIAMoAgAoAgAiBARAIAMgBDYCACAFKAIAIQELIAMoAgQgARBnIAMgAygCCEEBajYCCAsgAi0AOEUNACAAQQE6AHkLDwtB8O0FQcWYA0GUBkGN3gAQAQALBQBBrQEL1R0BDn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAIgIoAgAOXgABAgMEBQYHCAkKCwwNHh8gISIjJCU1Ng4PEBESExQVFhcYGRobHB03JicoKSorLC0uLzAxMjM0ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXABdC0GY/QNB5bMDQeoBEGIACyAAQZQfIAEQWCACKAIAQQFHDVwgAigCFCIBQQBMDVsgAEEE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BkYEQCABKAIYIgJB8KgLKAIARgRAIAEoAgxFDQNB8KgLKQMAIQsgASgCCCgCACECIAAoApABKAIAQagBakEYQQQQXSIBQQA2AhQgASACNgIQIAEgCzcCCCABQoSAgIAQNwIAIABBFGogARB5DwtBoKkLKAIAIAJGBEAgACgCkAEiBEF8EN0IIQUgACgClAEhBiAAKAKQASIDKAIIEN0CIQcgAygCCBDdAiEIIAMoAgghAUHIqAspAwAhCyADKAIAQagBakEQQQQQXSICIAs3AgggAkEKNgIAIAIgATYCBCADKAIIIQkgAykCDCELIAMoAgBBqAFqQTBBCBBdIgFBADoAICABQQw2AgAgASACNgIkIAEgCK03AxggAUIANwMQIAFBADoACSABIAc6AAggASALNwIoIAEgCTYCBCAAKQKIASELIAMoAgBBqAFqQTBBCBBdIgJBADoAICACQoyAgIAgNwIAIAIgATYCJCACQgQ3AxggAkIANwMQIAJBBDsBCCACIAs3AiggAygCAEGoAWpBEEEEEF0iASACNgIMIAEgBjYCCCABQgk3AgAgASACKAIEQQFGIgM2AgQgASADIAIoAgRBAUZyNgIEIABBFGogBCgCACAFIAFCABDKAhB5DwtBqKkLKAIAIAJGBEAgACgClAEhAyAAKAKQASIEKAIAQagBakEMQQQQXSICIAM2AgggAkKIgICAIDcCACABKAIMRQ0DIAEoAggoAgAhAyAEKAIAQagBakEUQQQQXSIBIAM2AhAgASACNgIMIAFBDzYCCCABQhA3AgAgA0UNAiAAQRRqIQpBASEAIAEgAigCBEEBRwR/QQFBAiADKAIEQQFGGwVBAQs2AgQgCiABEHkLDwtB8O0FQcWYA0GUBkGN3gAQAQALQb/zAEGkpAJB8AVBssMDEAEAC0HFogFBiaIDQbwBQaaIBRABAAu2BQEJfyMAQRBrIgckACAAKAKMASEIQTwQXCIBQgA3AgAgAUEANgI4IAFCADcCMCABQgA3AiggAUIANwIgIAFCADcCGCABQgA3AhAgAUIANwIIIAAgATYCjAFB1IkLQQA2AgAgByABNgIMQc4dIABB9ABqIAdBDGoiARADQdSJCygCACECQdSJC0EANgIAAkACQCACQQFHBEAgARC5AhogACgCjAEhBAJAIAAoAoQBIgEgACgCiAFH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AUIANwIAIAFBADYCOCABQgA3AjAgAUIANwIoIAFCADcCICABQgA3AhggAUIANwIQIAFCADcCCCAAIAE2AowBQdSJC0EANgIAIAkgATYCDEHOHSAOIAlBDGoiARADQdSJCygCACERQdSJC0EANgIAIBFBAUYNAyABELkCGiAAKAKMASELAkAgBCgCACICIAooAgAiBkkEQCACIAs2AgAgBCACQQRqNgIADAELIAIgBygCACIBa0ECdSIPQQFqIgNBgICAgARPDQJB/////wMgBiABayIGQQF1IgwgAyADIAxJGyAGQfz///8HTxsiBgR/IAZBgICAgARPDQcgBkECdBBcBUEACyIMIA9BAnRqIgMgCzYCACADQQRqIQsgASACRwRAA0AgA0EEayIDIAJBBGsiAigCADYCACABIAJHDQALIAcoAgAhAgsgByADNgIAIAQgCzYCACAKIAwgBkECdGo2AgAgAkUNACACEFoLIBBBAWoiECAIKAIoSQ0ACwwDCxBkAAtB8O0FQcWYA0GUBkGN3gAQAQALEAAhEiAJQQxqELkCGiASEAcACyAAIA02AowBIAAoAsQBIgJBDGsiASgCACIEIAEoAgQiBkcEQCAFQQhrIggoAgAhBSAHKAIAIQEDQCABIAUiA0cEQCAEKAIAIQpBACECIAEhAwNAIAogAyACQQJ0aigCABCrAiACQQFqIgIgCCgCACIFIAcoAgAiA2tBAnVJDQALCyADIQEgBEEEaiIEIAZHDQALIAAoAsQBIgJBDGsoAgAhBAsgBARAIAJBCGsgBDYCACAEEFoLIAAgAkEMazYCxAEgACAAKALQAUEEazYC0AECQCAAKALoASICIAAoAuwBIgRJBEAgAkEANgIAIAAgAkEEajYC6AEMAQsgAiAAKALkASIFa0ECdSIHQQFqIgNBgICAgARPDQJBACEBQf////8DIAQgBWsiBEEBdSIGIAMgAyAGSRsgBEH8////B08bIgQEQCAEQYCAgIAETw0CIARBAnQQXCEBCyABIAdBAnRqIgNBADYCACADQQRqIQcgAiAFRwRAA0AgA0EEayIDIAJBBGsiAigCADYCACACIAVHDQALCyAAIAEgBEECdGo2AuwBIAAgBzYC6AEgACADNgLkASAFRQ0AIAUQWgsgCUEQaiQADwsQagALEGQACwUAQaQBC8YCAQR/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QgA3AiAgAUIANwIYIAFCADcCECABQgA3AgggACABNgKMAUHUiQtBADYCACAFIAE2AgxBzh0gAEH0AGogBUEMaiIBEANB1IkLKAIAIQlB1IkLQQA2AgAgCUEBRg0CIAEQuQIaIAogACgCjAEQqwIgBUEQaiQADwsQZAALEGoACxAAIQsgBUEMahC5AhogCxAHAAunAgEGfyMAQRBrIgMkACAAKAKMASEEQTwQXCICQgA3AgAgAkEANgI4IAJCADcCMCACQgA3AiggAkIANwIgIAJCADcCGCACQgA3AhAgAkIANwIIIAAgAjYCjAFB1IkLQQA2AgAgAyACNgIMQc4dIABB9ABqIANBDGoiAhADQdSJCygCACEFQdSJC0EANgIAAkAgBUEBRwRAIAIQuQIaIAQgACgCjAEQqwIgASgCACIBKAIAQQJHDQEgASgCECEGIAAiASgCoAFBBGsoAgAgACgCjAEQqwIgACgCoAEhACAGBEAgASAAQQRrIgA2AqABCyABIABBBGs2AqABIANBEGokAA8LEAAhByADQQxqELkCGiAHEAcAC0Hw7QVBxZgDQZQGQY3eABABAAuDBAICfgt/IwBBEGsiByQAAkAgASgCACIJKAIAQQFGBEACQCAJKAIIRQ0AIABBlAFqIggoAgAiAUUNACAJKQIIIgJCIIgiA6chBiACpyEKIAghBANAAkAgASkCECICpyAKIAYgAkIgiCICpyIFIAUgBksbEF4iBQ0AQQAhBSACIANRDQBBf0EBIAIgA1QbIQULIAQgASAFQQBIIgUbIQQgAUEEaiABIAUbKAIAIgENAAsgBCAIRg0AIABBkAFqIQ0CQCAKIAQpAhAiAqcgAkIgiCICpyIBIAYgASAGSRsQXiIBRQRAIAIgA1gNAQwCCyABQQBIDQELIAQoAhwgBCgCGEYNACAAKAKMASEMQTwQXCIBQgA3AgAgAUEANgI4IAFCADcCMCABQgA3AiggAUIANwIgIAFCADcCGCABQgA3AhAgAUIANwIIIAAgATYCjAFB1IkLQQA2AgAgByABNgIMQc4dIABB9ABqIAdBDGoiARADQdSJCygCACELQdSJC0EANgIAIAtBAUYNAiABELkCGiAMIAAoAowBEKsCIAQoAhgiASAEKAIcIgRHBEADQCABKAIAIAAoAowBEKsCIAFBBGoiASAERw0A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ADYCACAOQQFGDQULIAEgAjYCCCABQgA3AgAgAUEANgIkIAFCADcCHCAFIAE2AgAgACgCMCgCACICBEAgACACNgIwIAUoAgAhAQsgACgCNCABEGcgACAAKAI4QQFqNgI4IAYoAgQhAgtBjMMLIAJBHGoiASgCACABIAItACciAcBBAEgiBRsgAigCICABIAUbEF8aQYzDC0HktgZBAhBfGkGMwwsgAygCECAIIAMtABsiAsBBAEgiARsgAygCFCACIAEbEF8aQYzDC0GYqQdBAhBfGgsCQCADKAIEIgEEQANAIAEiAigCACIBDQAMAgsACwNAIAMoAggiAigCACADRyEPIAIhAyAPDQALCyACIgMgDUcNAAsLIAZBEGokAA8LEAAhECAGKAIEIQAgBkEANgIEIAAEQAJAIAYtAAxFDQAgACwAJ0EASARAIAAoAhwQWgsgACwAG0EATg0AIAAoAhAQWgsgABBaCyAQEAcAC/kEAQx/IwBBEGsiAyQAQdSJC0EANgIAQRcgA0EIaiAAEAIhBUHUiQsoAgAhAkHUiQtBADYCAAJAAkACQCACQQFHBEACQCAFLQAARQ0AIANBBGoiBCAAIAAoAgBBDGsoAgBqKAIcIgI2AgAgAiACKAIEQQFqNgIEQdSJC0EANgIAQaUCIAMoAgQQBiEHQdSJCygCACECQdSJC0EANgIAAkACQCACQQFHBEAgBCgCACICIAIoAgRBAWsiBDYCBCAEQX9GBEAgAiACKAIAKAIIEQEACyADIAAgACgCAEEMaygCAGooAhg2AgAgACgCAEEMaygCACECQdSJC0EANgIAQaYCIAAgAmoiAhAGIQRB1IkLKAIAIQhB1IkLQQA2AgAgCEEBRg0BIAMoAgAhBkHUiQtBADYCAEHVHCAHIAYgAiAEIAEQECEKQdSJCygCACEJQdSJC0EANgIAIAlBAUYNASAKDQMgACgCAEEMaygCACEBQdSJC0EANgIAQagCIAAgAWpBBRADQdSJCygCACELQdSJC0EANgIAIAtBAUcNA0EAEAshAQwCC0EAEAshASADKAIEIgIgAigCBEEBayIENgIEIARBf0YEQCACIAIoAgAoAggRAQALDAELQQAQCyEBCyAFEJ4DDAILIAUQngMMAgtBABALIQELIAEQDhogACgCAEEMaygCACEBQdSJC0EANgIAQRsg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AkEsNgKYASACQQE6AKMBQdcbIAJB9ARqIAJBxAVqIAJBmAFqEAQhDUHUiQsoAgAhA0HUiQtBADYCAAJAIANBAUcEQCACLACjAUEASARAIAIoApgBEFoLQdSJC0EANgIAQQRBIBAGIQNB1IkLKAIAIQRB1IkLQQA2AgACQCAEQQFHBEAgAiADNgLoBCACQpiAgICAhICAgH83AuwEIANBtosBKQAANwAQIANBrosBKQAANwAIIANBposBKQAANwAAIANBADoAGCAFQUBrKAIAIAUoAkQgAkHoBGoQwwMhDiADEFpB1IkLQQA2AgBBBEEgEAYhA0HUiQsoAgAhF0HUiQtBADYCACAXQQFHBEAgAiADNgLMBCACQpOAgICAhICAgH83AtAEIANB+toAKAAANgAPIANB89oAKQAANwAIIANB69oAKQAANwAAIANBADoAEyACQQA6AMAEQdSJC0EANgIAIAJBADoAywRB1RsgAkHYBGogCiACQcwEaiACQcAEahAFQdSJCygCACEYQdSJC0EANgIAIBhBAUcEQCACLADLBEEASARAIAIoAsAEEFoLIAIsANcEQQBIBEAgAigCzAQQWgsCQAJAAkACQCACKALcBCACLQDjBCIDIAPAQQBIGw0AQdSJC0EANgIAQQRBIBAGIQNB1IkLKAIAIRlB1IkLQQA2AgAgGUEBRg0CIAIgAzYCtAQgAkKSgICAgISAgIB/NwK4BCADQejaAC8AADsAECADQeDaACkAADcACCADQdjaACkAADcAACADQQA6ABIgAkEAOgCoBEHUiQtBADYCACACQQA6ALMEQdUbIAJBmAFqIAogAkG0BGogAkGoBGoQBUHUiQsoAgAhGkHUiQtBADYCACAaQQFGDQEgAiwA4wRBAEgEQCACKALYBBBaCyACIAIoAqABNgLgBCACIAIpApgBNwPYBCACQQA6AJgBIAJBADoAowEgAiwAswRBAEgEQCACKAKoBBBaCyACLAC/BEEATg0AIAIoArQEEFoLQdSJC0EANgIAQdYbIAJB0ABqIgMgAkHYBGoQA0HUiQsoAgAhBEHUiQtBADYCAAJAAkACQAJAAkACQAJAIARBAUcEQCACKAJQIAMgAi0AWyIDwEEASCIEGyEJIAIoAlQgAyAEGyIHIQQDQAJAIAQiA0UEQEEAIQMMAQsgCSADQQFrIgRq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ISkgC0UNASApDQELCyAIIAMgAyAISxsiA0Hw////B08EQEHUiQtBADYCAEHYABAJQdSJCygCACEqQdSJC0EANgIAICpBAUcNQAwZCwJAAkAgA0ELTwRAQdSJC0EANgIAQQQgA0EPckEBaiIIEAYhBEHUiQsoAgAhK0HUiQtBADYCACArQQFGDRsgAiAENgKYASACIAM2ApwBIAIgCEGAgICAeHI2AqABDAELIAIgAzoAowEgAkGYAWohBCADRQ0BCyAEIAYgA/wKAAALIAMgBGpBADoAAEHUiQtBADYCACACQSw2AtAFIAJBAToA2wVB1xsgAkGgA2ogAkGYAWogAkHQBWoQBCEGQdSJCygCACEsQdSJC0EANgIAICxBAUYNASACLADbBUEASARAIAIoAtAFEFoLIAIsAKMBQQBIBEAgAigCmAEQWgsgAiwAW0EASARAIAIoAlAQWgtB1IkLQQA2AgBBBEEgEAYhA0HUiQsoAgAhLUHUiQtBADYCACAtQQFGDQIgAiADNgKUAyACQpCAgICAhICAgH83ApgDIANB6J0BKQAANwAIIANB4J0BKQAANwAAIANBADoAECAFKAJAIAUoAkQgAkGUA2oQwwMhECADEFpB1IkLQQA2AgBBBEEgEAYhA0HUiQsoAgAhLkHUiQtBADYCACAuQQFGDQMgAiADNgKIAyACQpCAgICAhICAgH83AowDIANBt9wDKQAANwAIIANBr9wDKQAANwAAIANBADoAECAFKAJAIAUoAkQgAkGIA2oQwwMhCCADEFpB1IkLQQA2AgBBBEEgEAYhA0HUiQsoAgAhL0HUiQtBADYCACAvQQFGDQQgAiADNgL8AiACQpSAgICAhICAgH83AoADIANB8KkEKAAANgAQIANB6KkEKQAANwAIIANB4KkEKQAANwAAIANBADoAFCAFKAJAIAUoAkQgAkH8AmoQwwMhCyADEFpB1IkLQQA2AgBBBEEgEAYhA0HUiQsoAgAhMEHUiQtBADYCACAwQQFGDRYgAiADNgLwAiACQpyAgICAhICAgH83AvQCIANBghQoAAA2ABggA0H6EykAADcAECADQfITKQAANwAIIANB6hMpAAA3AAAgA0EAOgAcIAUoAkAgBSgCRCACQfACahDDAyExIAMQWiAxRQ0JQdSJC0EANgIAQQRBIBAGIQNB1IkLKAIAITJB1IkLQQA2AgAgMkEBRg0FIAIgAzYC5AIgAkKegICAgISAgIB/NwLoAiADQfO9AykAADcAFiADQe29AykAADcAECADQeW9AykAADcACCADQd29AykAADcAACADQQA6AB4gAkExOwHYAkHUiQtBADYCACACQQE6AOMCQdUbIAJB0ABqIAogAkHkAmogAkHYAmoQBUHUiQsoAgAhM0HUiQtBADYCACAzQQFGDQYgAiwA4wJBAEgEQCACKALYAhBaCyACLADvAkEASARAIAIoAuQCEFoLQdSJC0EANgIAQeQRIAJB0ABqEAYhCkHUiQsoAgAhNEHUiQtBADYCACA0QQFGDQcgAkEPNgKcASACQcoTNgKYAUHUiQtBADYCACACIAIpApgBNwMYQQYgAkHQBWogAkEYahADQdSJCygCACEDQdSJC0EANgIAAkACQCADQQFHBEAgAkGw7wk2ApgBIAIgATYCnAEgAiACQZgBaiIENgKoASABQUBrKAIAIQMgASgCPCEFQdSJC0EANgIAQdgbIAJBIGogAikD0AUgBCADIAVrQQJ1EPMCQdSJCygCACE1QdSJC0EANgIAIDVBAUYNAQJAAkAgBCACKAKoASIDRgRAQQQhBSAEIQMMAQtBBSEFIANFDQELIAMgAygCACAFQQJ0aigCABEBAAtB1IkLQQA2AgAgAikDICGOAUEEQTgQBiEDQdSJCygCACE2QdSJC0EANgIAIDZBAUcNAgsQACEEDAoLEAAhBAJAIAIoAqgBIgMgAkGYAWoiAEYEQEEEIQUgACEDDAELQQUhBSADRQ0KCyADIAMoAgAgBUECdGooAgARAQAMCQsgA0IANwIIIAMgCqwijwE3AyggAyCPATcDICADII4BNwIAIANCADcCGCADQgA3AhAgA0KAgICAIDcCMEHUiQtBADYCACACIAM2ApgBQTMgASACQZgBahADQdSJCygCACE3QdSJC0EANgIAIDdBAUcEQCACKAKYASIDBEAgAxBaCyAAII4BNwIYIAIsAFtBAE4NCyACKAJQEFogACkCGCGOAQwLCxAAIQQgAigCmAEiAEUNCCAAEFoMCAsQACEEDBsLEAAhBCACLADbBUEASARAIAIoAtAFEFoLIAIsAKMBQQBODRcgAigCmAEQWgwXCxAAIQQMFAsQACEEDBMLEAAhBAwSCxAAIQQM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ahAFQdSJCygCACE8QdSJC0EANgIAIDxBAUYNByADKAJgIAIoAgw2AgwLIAZBBGoiBiAIRw0ACyADKAKEAkUNACADIAE2AmQgA0H46wk2AmBB1IkLQQA2AgBBBEHYABAGIQJB1IkLKAIAIT1B1IkLQQA2AgAgPUEBRg0CIAJCADcCGCACQgA3AjggAkIANwIoIAJCADcCICACQoCAgICAgIDAPzcCMCACQUBrQgA3AgAgAkIANwJQIAJCgICA/AM3AkggA0IANwJ0IANBADYCiAEgAyADQYABaiILNgKEASADQYCAgPwDNgJ8IANCADcCmAEgA0GAgID8AzYCoAEgA0IANwJsIAMgAjYCaCADQgA3ApABIAsgCzYCACADQeDFBzYCYEHUiQtBADYCACADIANB+AFqNgKMAUGxGSADQeAAahAKQdSJCygCACE+QdSJC0EANgIAID5BAUYNAyADQeydCDYCYCADKAKYASICBEADQCACKAIAIT8gAhBaID8iAg0ACwsgAygCkAEhAiADQQA2ApABIAIEQCACEFoLIANB+OsJNgJgAkAgAygCiAFFDQAgAygChAEiAigCACIEIAMoAoABKAIEIgU2AgQgBSAENgIAIANBADYCiAEgAiALRg0AA0AgAigCBCFAIAIQWiBAIgIgC0cNAAsLIAMoAnQiAgRAA0AgAigCACFBIAIQWiBBIgINAAsLIAMoAmwhAiADQQA2AmwgAgRAIAIQWgsgAygCaCECIANBADYCaCACBEAgAhCRAwsgA0IANwJwIANBADYC3AEgA0IANwLUASADQQA2AnggA0IANwLoASADQYCAgPwDNgLwASADQbjDAy8AADsBcCADQgA3AswBIANCADcC4AEgA0HM7Ak2AmAgA0GwwwMpAAA3AmggA0EKOgBzIAMgACgCBDYCZEHUiQtBADYCAEGyGSADQeAAaiABEANB1IkLKAIAIUJB1IkLQQA2AgAgQkEBRg0EIANBzOwJNgJgIAMoAugBIgQEQANAIAQoAgAhRCAEKAIYIgIEQANAIAIoAgAhQyACEFogQyICDQALCyAEKAIQIQEgBEEANgIQIAEEQCABEFoLIAQQWiBEIgQNAAsLIAMoAuABIQAgA0EANgLgASAABEAgABBaCyADKALMASIABEAgAyAANgLQASAAEFoLIANBkO0JNgJgIAMsAHNBAE4NACADKAJoEFoLIAMoAoACIgIEQANAIAIoAgAhRSACEFogRSICDQALCyADKAL4ASEAIANBADYC+AEgAARAIAAQWgsgDCgCFCICBEADQCACKAIAIUYgAigCDCIBBEAgAiABNgIQIAEQWgsgAhBaIEYiAg0ACwsgDCgCDCEAIAxBADYCDCAABEAgABBaCyAMKAIAIgAEQCAMIAA2AgQgABBaCyARKAIIEL0FCyADQZACaiQADwsQACEGDAMLEAAhBiADQeAAahDhCBoMAgsQACEGIANB4ABqEMgCGgwBCxAAIQYLIANB+AFqEKIBDAELQQAQCxAOGgNAIAIoAgAhRyACEFogRyICDQALQdSJC0EANgIAQdUAEAlB1IkLKAIAIUhB1IkLQQA2AgAgSEEBRw0EEAAhBkHUiQtBADYCAEEcEAlB1IkLKAIAIUlB1IkLQQA2AgAgSUEBRw0AQQAQCxoQcAALIAwQgQUMAQsQACEGIAMoAmAiAEUNACAAEFoLIBIoAgAQvQUMAwtB1IkLQQA2AgBBDSAGIBEgAiANEAVB1IkLKAIAIUpB1IkLQQA2AgAgSkEBRg0BCwALEAAhBiADKAK4ASIARQ0AIAMgADYCvAEgABBaIAYQBwALIAYQBwALCQAgABDWDxBaCwkAIAAgATYCBAscAEGAARBcIgBBAEGAAfwLACAAQdzEBzYCACAACzkAIAAoAgRFBEBB6PoFQbqLA0GcBEHu0wIQAQALIAAgAjYCeCAAIAE2AnwgAiABEIIFIABCADcCeAuxIQEOfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgASgCACICKAIADl4AAQIDBAUGBwgJCgsMDR4fICEiIyQlNTYODxAREhMUFRYXGBkaGxwdNyYnKCkqKywtLi8wMTIzNDg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaW1wAXQtBmP0DQeWzA0HqARBiAAsgAEEUakHKGCABEFggAigCAEEBRw1cIAIoAhQiAUEATA1bIABBGGohAwNAIAFBAWsiACACKAIUTw1eIAIoAhAgAEECdGoiBCgCAEUNXyADQcgYIAQQWyABQQFLIQYgACEBIAYNAAsMWwsgAEEUaiIDQcsYIAEQWCACKAIAQQJHDVsgAigCEARAIABBGGpByBggAkEQahBbCyADQcgYIAJBDGoQWCADQcgYIAJBCGoQWA8LIABBFGoiAEHMGCABEFggAigCAEEDRw1aDGALIABBFGpBzRggARBYIAIoAgBBBEcNWSACKAIUBEAgAEEYakHIGCACQRRqEFsLIAIoAhBFDVggAEEYakHIGCACQRBqEFsPCyAAQRRqIgNBzhggARBYIAIoAgBBBUcNWCADQcgYIAJBJGoQWCACKAIgRQ1XIABBGGpByBggAkEgahBbDwsgAEEUakHPGCABEFggAigCAEEGRw1XIAIoAgwiAUEATA1WIABBGGohAwNAIAFBAWsiACACKAIMTw1ZIAIoAgggAEECdGoiBCgCAEUNWiADQcgYIAQQWyABQQFLIQcgACEBIAcNAAsMVgsgAEEUaiIDQdAYIAEQWCACKAIAQQdHDVYgA0HIGCACQRxqEFggAigCECIBQQBMDVUgAEEYaiEDA0AgAUEBayIAIAIoAhBPDVggAigCDCAAQQJ0aiIEKAIARQ1ZIANByBggBBBbIAFBAUshCCAAIQEgCA0ACwxVCyAAQRRqQdEYIAEQWCACKAIAQQhGDVQMVQsgAEEUaiIAQdIYIAEQWCACKAIAQQlHDVQMXQsgAEEUakHTGCABEFggAigCAEEKRg1SDFMLIABBFGoiAEHUGCABEFggAigCAEELRw1SDFgLIABBFGoiAEHVGCABEFggAigCAEEMRw1RDFwLIABBFGoiAEHWGCABEFggAigCAEENRw1QDFoLIABBFGoiAEHXGCABEFggAigCAEEYRw1PDFsLIABBFGoiAEHYGCABEFggAigCAEEZRw1OIABByBggAkEgahBYDFoLIABBFGoiAEHZGCABEFggAigCAEEaRw1NDFELIABBFGoiAEHaGCABEFggAigCAEEbRw1MDFELIABBFGpB2xggARBYIAIo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GiACEHEACyAAEHEACwoAIAAoAgQRBQALFQAgAUG4xAc2AgAgASAAKAIENgIECx0BAX9BCBBcIgFBuMQHNgIAIAEgACgCBDYCBCABC4IDAQd/AkACQCABKAIEIgRFBEAgAUEEaiIFIQIMAQsgAigCACACIAItAAsiBcBBAEgiBhshByACKAIEIAUgBhshBgNAIAcgBCICKAIQIARBEGogBC0AGyIEwEEASCIFGyIIIAIoAhQgBCAFGyIEIAYgBCAGSSIJGyIKEF4iBUEASCAEIAZLIAUbQQFGBEAgAiEFIAIoAgAiBA0BDAILQQAhBSAIIAcgChBeIgRBAEggCSAEG0EBRwRAIAIhBAwDCyACKAIEIgQNAAsgAkEEaiEFC0HQABBcIgQgAygCCDYCGCAEIAMpAgA3AhAgA0IANwIAIANBADYCCCAEQgA3A0ggBEFAa0IANwMAIARCADcDOCAEQgA3AzAgBEIANwMoIARCADcDICAEIAI2AgggBEIANwIAIAUgBDYCACAEIQIgASgCACgCACIDBEAgASADNgIAIAUoAgAhAgsgASgCBCACEGdBASEFIAEgASgCCEEBajYCCAsgACAFOgAEIAAgBDYCAAtOAQF/QZABEFwiAEIANwJsIABCADcCBCAAQgA3AoABIABB1JoINgIAIABBADYCfCAAQgA3AnQgAEIANwIMIABCADcCFCAAQgA3AIUBIAALHgEBf0GAARBcIgBBAEGAAfwLACAAQdzEBzYCACAACx4BAX9BuAEQXCIAQQBBuAH8CwAgAEH0qgg2AgAgAAseAQF/QYABEFwiAEEAQYAB/AsAIABBxKoINgIAIAALigEBAX9BjAIQXCIAQQBBuAH8CwAgAEIANwK4ASAAQZypCDYCACAAQgA3AsABIABCADcCzAEgAEGAgID8AzYCyAEgAEIANwLUASAAQgA3AuABIABBgICA/AM2AtwBIABCADcC6AEgAEIANwLwASAAQgA3AvgBIABCADcCgAIgAEGAgID8AzYCiAIgAAtBAQF/QSwQXCIAQgA3AgQgAEIANwIYIABBADoAFCAAQcioCDYCACAAQgA3AgwgAEIANwIgIABBgICA/AM2AiggAAs2AQF/QSgQXCIAQgA3AwAgAEIANwIYIABCADcDECAAQgA3AwggAEGQngg2AgAgAEIANwIgIAALnwEBAX9B+AAQXCIAQgA3AwAgAEIANwIYIABCADcCWCAAQgA3AxAgAEIANwMIIABB6JwINgIAIABCADcCICAAQgA3AkQgAEFAa0EBNgIAIABCgYCAgBA3AjggAEKBgICAEDcCMCAAQoCAgPwDNwIoIABCADcCTCAAQYCAgPwDNgJUIABCADcCYCAAQgA3AmggAEKAgICAgICAwD83AnAgAAtBAQF/QSwQXCIAQgA3AgQgAEIANwIYIABBAToAFCAAQcioCDYCACAAQgA3AgwgAEIANwIgIABBgICA/AM2AiggAAtGAQF/QaQBEFwiAEEAQYAB/AsAIABCADcCgAEgAEGYqAg2AgAgAEIANwKIASAAQgA3ApABIABCADcCmAEgAEEANgKgASAAC0oBAX9BiAEQXCIAQgA3AmwgAEIANwIEIABBADYChAEgAEGEmgg2AgAgAEKAgICAIDcCfCAAQgA3AnQgAEIANwIMIABCADcCFCAAC0oBAX9BiAEQXCIAQgA3AmwgAEIANwIEIABBADYChAEgAEGEmgg2AgAgAEKAgICAEDcCfCAAQgA3AnQgAEIANwIMIABCADcCFCAACygBAX9BGBBcIgBCADcCBCAAQQE6ABQgAEGIkAg2AgAgAEIANwIMIAALKAEBf0EUEFwiAEIANwMAIABBADYCECAAQgA3AwggAEHkpgg2AgAgAAs0AQF/QTAQXCIAQgA3AgQgAEHsjgg2AgAgAEHkjwg2AhggAEIANwIMIAAgAEEYajYCKCAACzQBAX9BMBBcIgBCADcCBCAAQeyOCDYCACAAQcCPCDYCGCAAQgA3AgwgACAAQRhqNgIoIAALIQEBf0EUEFwiAEIANwIEIABBzKUINgIAIABCADcCDCAACzQBAX9BMBBcIgBCADcCBCAAQeyOCDYCACAAQZyPCDYCGCAAQgA3AgwgACAAQRhqNgIoIAALNgEBf0EwEFwiAEIANwIEIABCADcCICAAQQA6ABQgAEHopwg2AgAgAEIANwIMIABCADcAJSAACzYBAX9BMBBcIgBCADcCBCAAQgA3AiAgAEEBOgAUIABB6KcINgIAIABCADcCDCAAQgA3ACUgAAseAQF/QYABEFwiAEEAQYAB/AsAIABBnJIINgIAIAALtAEBAX9B9AIQXCIAQQBBmAL8CwAgACAAQagBajYCpAEgAEGwAWpBAEHWAPwLACAAQgA3ApgCIAAgAEGMAmo2AogCIABCADcCoAIgAEIANwKsAiAAQYCAgPwDNgKoAiAAQgA3ArQCIABCADcCvAIgAEIANwLMAiAAQoCAgICAgIDAPzcCxAIgAEIANwLUAiAAQgA3AtwCIABBnKUINgIAIABCADcC5AIgAEKAgID8AzcC7AIgAAtGAQF/QYQBEFwiAEIANwJsIABCADcCBCAAQQE6AIABIABB7KQINgIAIABBADYCfCAAQgA3AnQgAEIANwIMIABCADcCFCAAC0YBAX9BhAEQXCIAQgA3AmwgAEIANwIEIABBADoAgAEgAEHspAg2AgAgAEEANgJ8IABCADcCdCAAQgA3AgwgAEIANwIUIAALogEBAX9BkAMQXCIAQQBB4AL8CwAgAEIANwKQAiAAQQA2ArgBIAAgAEGgAWo2ApwBIAAgAEGUAWo2ApABIAAgAEGIAWo2AoQBIABBjKQINgIAIABCADcCmAIgAEIANwKgAiAAQgA3AqgCIABBADoAsAIgAEIANwLgAiAAQgA3AugCIABCADcC8AIgAEIANwL4AiAAQgA3AoADIABCADcCiAMgAAuiAQEBf0GQAxBcIgBBAEHgAvwLACAAQgA3ApACIABBADYCuAEgACAAQaABajYCnAEgACAAQZQBajYCkAEgACAAQYgBajYChAEgAEHcowg2AgAgAEIANwKYAiAAQgA3AqACIABCADcCqAIgAEEAOgCwAiAAQgA3AuACIABCADcC6AIgAEIANwLwAiAAQgA3AvgCIABCADcCgAMgAEIANwKIAyAAC6IBAQF/QZADEFwiAEEAQeAC/AsAIABCADcCkAIgAEEANgK4ASAAIABBoAFqNgKcASAAIABBlAFqNgKQASAAIABBiAFqNgKEASAAQayjCDYCACAAQgA3ApgCIABCADcCoAIgAEIANwKoAiAAQQA6ALACIABCADcC4AIgAEIANwLoAiAAQgA3AvACIABCADcC+AIgAEIANwKAAyAAQgA3AogDIAALogEBAX9BkAMQXCIAQQBB4AL8CwAgAEIANwKQAiAAQQA2ArgBIAAgAEGgAWo2ApwBIAAgAEGUAWo2ApABIAAgAEGIAWo2AoQBIABBvKQINgIAIABCADcCmAIgAEIANwKgAiAAQgA3AqgCIABBADoAsAIgAEIANwLgAiAA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OgBVQQEMBQsgAi0AVQ0DQQEMBAsQACEAIAIoAtQBIgFFDQEgAiABNgLYASABEFoMAQsQACEACyACQQRqEN8BGiAAEAcACyACQQE6AFRBAAshASACLQAYIRUgAigCbCEUIAItABkhBSACKAIkIQYgAigCMCEHIAIoAjwhCCACKAJIIQkgAi0ATCEKIAItAE0hCyACLQBOIQwgAi0ATyENIAItAAUhDiACLQBWIQ8gAi0AVyEQIAItAGAhESACKAJ0EGAgAigCaBBgIAIoAkQQYCACKAI4EGAgAigCLBBvIAIoAiAQbwJAIAIoAgwiAEUNACAAIAAoAgQiEkEBazYCBCASDQAgACAAKAIAKAIIEQEAIAAQdQsgAkHwAWokACAVIBRyQQBHIgBBAnIgACAFGyIAQQRyIAAgBhsiAEEIciAAIAcbIgBBEHIgACAIGyIAQSByIAAgCRsiAEHAAHIgACAKGyIAQYABciAAIAsbIgBBgAJyIAAgDBsiAEGABHIgACANGyIAIABBgAhyIAEbIgBBgIABciAAIA4bIgBBgBByIAAgDxsiAEGAIHIgACAQGyIAQYDAAHIgACARGwsoAQF/QRgQXCIAQgA3AgQgAEEBOgAUIABBmJcINgIAIABCADcCDCAACygBAX9BGBBcIgBCADcCBCAAQQA6ABQgAEGYlwg2AgAgAEIANwIMIAALKAEBf0EUEFwiAEIANwMAIABBADYCECAAQgA3AwggAEGIlgg2AgAgAAsoAQF/QRQQXCIAQgA3AwAgAEEANgIQIABCADcDCCAAQeiWCDYCACAACygBAX9BFBBcIgBCADcDACAAQQA2AhAgAEIANwMIIABB2JUINgIAIAALMwECf0GMARBcIgBBAEGAAfwLACAAQYQBaiIBQgA3AgAgAEH8kgg2AgAgACABNgKAASAACygBAX9BGBBcIgBCADcCBCAAQQE6ABQgAEGskwg2AgAgAEIANwIMIAALKAEBf0EYEFwiAEIANwIEIABBADoAFCAAQayTCDYCACAAQgA3AgwgAAtGAQF/QagBEFwiAEEAQYgB/AsAIABCADcChAEgAEHMkgg2AgAgAEIANwKMASAAQgA3ApQBIABCADcCnAEgAEEANgKkASAACygBAX9BFBBcIgBCADcDACAAQQA2AhAgAEIANwMIIABBmJEINgIAIAALHgEBf0GAARBcIgBBAEGAAfwLACAAQeiQCDYCACAAC3gBAn9BuAEQXCIAQQBBgAH8CwAgAEIANwKAASAAQeyRCDYCACAAQgA3AogBIABCADcCmAEgAEKAgICAgICAwD83ApABIABCADcCoAEgAEEANgK0ASAAIABBrAFqIgE2ArABIABBgICA/AM2AqgBIAAgATYCrAEgAAsxAQF/QRgQXCIAQgA3AwAgAEIANwMQIABCADcDCCAAQYSICDYCACAAQeTBCzYCFCAACygBAX9BFBBcIgBCADcDACAAQQA2AhAgAEIANwMIIABB0IkINgIAIAALKAEBf0EUEFwiAEIANwMAIABBADYCECAAQgA3AwggAEHwiAg2AgAgAAsxAQF/QRgQXCIAQgA3AwAgAEIANwMQIABCADcDCCAAQdSHCDYCACAAQeTBCzYCFCAACygBAX9BFBBcIgBCADcDACAAQQA2AhAgAEIANwMIIABBoIkINgIAIAALMQEBf0EYEFwiAEIANwMAIABCADcDECAAQgA3AwggAEGkhwg2AgAgAEHkwQs2AhQgAAsqAQF/QRgQXCIAQgA3AgQgAEHkwQs2AhQgAEH0hgg2AgAgAEIANwIMIAALmgEBAX9BxAEQXCIAQgA3AmwgAEIANwIEIABCADcChAEgAEEBOgCAASAAQeiECDYCACAAQgA3ApgBIABCADcCsAEgAEEANgJ8IABCADcCdCAAQgA3AgwgAEIANwIUIABCADcCjAEgAEGAgID8AzYClAEgAEIANwKgASAAQYCAgPwDNgKoASAAQgA3ArgBIABBgICA/AM2AsABIAALBwAgABCFBguaAQEBf0HEARBcIgBCADcCbCAAQgA3AgQgAEIANwKEASAAQQA6AIABIABB6IQINgIAIABCADcCmAEgAEIANwKwASAAQQA2AnwgAEIANwJ0IABCADcCDCAAQgA3AhQgAEIANwKMASAAQYCAgPwDNgKUASAAQgA3AqABIABBgICA/AM2AqgBIABCADcCuAEgAEGAgID8AzYCwAEgAAseAQF/QYABEFwiAEEAQYAB/AsAIABB/P8HNgIAIAALKAEBf0EUEFwiAEIANwMAIABBADYCECAAQgA3AwggAEH0gQg2AgAgAAshAQF/QRQQXCIAQgA3AgQgAEGUgQg2AgAgAEIANwIMIAALRgEBf0HYARBcIgBBAEG4AfwLACAAQgA3ArgBIABB5IAINgIAIABCADcCwAEgAEIANwLIASAAQoCAgICAgIDAPzcC0AEgAAseAQF/QYABEFwiAEEAQYAB/AsAIABBsIsINgIAIAALVgEBf0GQARBcIgBCADcCbCAAQgA3AgQgAEIANwCDASAAQQA6AIEBIABBqPcHNgIAIABBADYCfCAAQgA3AnQgAEIANwIMIABCADcCFCAAQgA3AIgBIAALHgEBf0GAARBcIgBBAEGAAfwLACAAQfj2BzYCACAAC3gBA39BoAEQXCIAQgA3AmwgAEIANwIEIABBADYChAEgAEEBOgCAASAAQcj2BzYCACAAQQA2AnwgAEIANwJ0IABCADcCDCAAQgA3AhQgAEGMAWoiAUIANwIAIABBmAFqIgJCADcCACAAIAE2AogBIAAgAjYClAEgAAt4AQN/QaABEFwiAEIANwJsIABCADcCBCAAQQA2AoQBIABBADoAgAEgAEHI9gc2AgAgAEEANgJ8IABCADcCdCAAQgA3AgwgAEIANwIUIABBjAFqIgFCADcCACAAQZgBaiICQgA3AgAgACABNgKIASAAIAI2ApQBIAALnN0EAZ8FfyMAQRBrIhAkAEEIEFwiBCAANgIAIAQgEEEIajYCBCABQagBaiENIARBCGoiCCEAAkADQCAAIgFBCGsiACgCBCGgBSAQIAAoAgAiCzYCDAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAigCECIHRQRAQdSJC0EANgIAQcUAEAlB1IkLKAIAIRJB1IkLQQA2AgAgEkEBRg0BDC4LIAcoAgAoAhghE0HUiQtBADYCACATIAcgEEEMahACIQZB1IkLKAIAIRRB1IkLQQA2AgAgFEEBRwRAIAYNLCALRQRAQQAhBgwtC0EAIQYCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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IABBADoAgAEgAEH48Qc2AgAgAEEANgJ8IABCADcCdCAAQgA3AgwgAEIANwIUIABBiAFqIgFCADcCACAAIAE2AoQBIAALLgEBf0GMARBcIgBBAEGAAfwLACAAQQA2AogBIABCADcCgAEgAEHI8Qc2AgAgAAsoAQF/QRQQXCIAQgA3AwAgAEEANgIQIABCADcDCCAAQazwBzYCACAACzoBAX9BlAEQXCIAQQBBgAH8CwAgAEIANwKAASAAQczvBzYCACAAQgA3AogBIABBgICA/AM2ApABIAALKAEBf0EUEFwiAEIANwMAIABBADYCECAAQgA3AwggAEHM7Ac2AgAgAAseAQF/QYABEFwiAEEAQYAB/AsAIABBnOwHNgIAIAALKAEBf0EUEFwiAEIANwMAIABBADYCECAAQgA3AwggAEGs6gc2AgAgAAseAQF/QbwBEFwiAEEAQbwB/AsAIABB7OsHNgIAIAALHgEBf0GEARBcIgBBAEGEAfwLACAAQfjlBzYCACAACyYBAX9BhAEQXCIAQQBBgAH8CwAgAEEANgKAASAAQcjlBzYCACAAC64BAQF/QewBEFwiAEEAQewB/AsAIABCADcCgAEgAEHE4Ac2AgAgAEIANwKIASAAQgA3ApgBIABCgICAgICAgMA/NwKQASAAQgA3AqABIABCADcCrAEgAEGAgID8AzYCqAEgAEIANwK0ASAAQgA3AsABIABBgICA/AM2ArwBIABCADcCyAEgAEIANwLUASAAQYCAgPwDNgLQASAAQgA3AtwBIABBgICA/AM2AuQBIAALHgEBf0GAARBcIgBBAEGAAfwLACAAQbzrBzYCACAACx4BAX9BgAEQXCIAQQBBgAH8CwAgAEGM6wc2AgAgAAseAQF/QYABEFwiAEEAQYAB/AsAIABB3OoHNgIAIAALSQECf0EwEFwiAEIANwIEIABBADoAFCAAQczpBzYCACAAQgA3AiggAEEAOgAkIABCADcCDCAAQRxqIgFCADcCACAAIAE2AhggAAsHACAAKAIQC0kBAn9BMBBcIgBCADcCBCAAQQE6ABQgAEHM6Qc2AgAgAEIANwIoIABBADoAJCAAQgA3AgwgAEEcaiIBQgA3AgAgACABNgIYIAALogEBB38jAEEgayIAJABBGBBcIgFCADcDACABQgA3AxAgAUIANwMIIAFB+OgHNgIAIABBATYCGEHUiQtBADYCACAAQgE3AhAgAEEAOgAMQQdB2J0LIABBDGoiAhACIQNB1IkLKAIAIQVB1IkLQQA2AgAgBUEBRgRAEAAhBiACEHcgAUGQ7Qk2AgAgARBaIAYQBwALIAEgAzYCFCAAQSBqJAAgAQseAQF/QYABEFwiAEEAQYAB/AsAIABBiOcHNgIAIAALTwEBf0E4EFwiAEIANwMAIABCADcDECAAQgA3AhggAEIANwIwIABCADcDCCAAQdjiBzYCACAAQgA3AiAgAEKAgID8AzcCKCAAQQE6ABQgAAtIAQF/QTgQXCIAQgA3AwAgAEIANwIYIABCADcCMCAAQgA3AxAgAEIANwMIIABB2OIHNgIAIABCADcCICAAQoCAgPwDNwIoIAALKAEBf0EUEFwiAEIANwMAIABBADYCECAAQgA3AwggAEGY5Qc2AgAgAAseAQF/QYABEFwiAEEAQYAB/AsAIABBlOAHNgIAIAALQQEBf0EoEFwiAEIANwMAIABCADcDECAAQgA3AwggAEGEmwg2AgAgAEIANwIcIABBgICA/AM2AiQgAEIANwIUIAALKAEBf0EUEFwiAEIANwMAIABBADYCECAAQgA3AwggAEG45wc2AgAgAAsoAQF/QRgQXCIAQgA3AgQgAEEBOwEUIABBtN8HNgIAIABCADcCDCAACykBAX9BGBBcIgBCADcCBCAAQYACOwEUIABBtN8HNgIAIABCADcCDCAACygBAX9BGBBcIgBCADcCBCAAQQA7ARQgAEG03wc2AgAgAEIANwIMIAALdAEBf0HQABBcIgBCADcDACAAQgA3AxAgAEIANwIoIABCADcCPCAAQgA3AwggAEGA3gc2AgAgAEIANwIcIABBgICA/AM2AiQgAEIANwIwIABBgICA/AM2AjggAEIANwJEIABBgICA/AM2AkwgAEIANwIUIAALQQEBf0EoEFwiAEIANwMAIABCADcDECAAQgA3AwggAEHM3Ac2AgAgAEIANwIcIABBgICA/AM2AiQgAEIANwIUIAALKAEBf0EUEFwiAEIANwMAIABBADYCECAAQgA3AwggAEGY2wc2AgAgAAseAQF/QYABEFwiAEEAQYAB/AsAIABBgIsINgIAIAALKAEBf0EUEFwiAEIANwMAIABBADYCECAAQgA3AwggAEHI2Qc2AgAgAAuAAQECf0GkARBcIgBCADcCbCAAQgA3AgQgAEIANwKEASAAQQE6AIABIABBmNkHNgIAIABBADYCfCAAQgA3AnQgAEIANwIMIABCADcCFCAAQgA3AowBIABBADYCoAEgACAAQZgBaiIBNgKcASAAQYCAgPwDNgKUASAAIAE2ApgBIAALgAEBAn9BpAEQXCIAQgA3AmwgAEIANwIEIABCADcChAEgAEEAOgCAASAAQZjZBzYCACAAQQA2AnwgAEIANwJ0IABCADcCDCAAQgA3AhQgAEIANwKMASAAQQA2AqABIAAgAEGYAWoiATYCnAEgAEGAgID8AzYClAEgACABNgKYASAAC1sBAn9BkAEQXCIAQgA3AmwgAEIANwIEIABBAToAgAEgAEH48Qc2AgAgAEEANgJ8IABCADcCdCAAQgA3AgwgAEIANwIUIABBiAFqIgFCADcCACAAIAE2AoQBIAALKAEBf0EUEFwiAEIANwMAIABBADYCECAAQgA3AwggAEG42Ac2AgAgAAtWAQF/QeABEFwiAEEAQbgB/AsAIABCADcCuAEgAEGI2Ac2AgAgAEIANwLAASAAQgA3AswBIABBgICA/AM2AsgBIABCADcC1AEgAEGAgID8AzYC3AEgAAsoAQF/QRQQXCIAQgA3AwAgAEEANgIQIABCADcDCCAAQdjXBzYCACAACygBAX9BFBBcIgBCADcDACAAQQA2AhAgAEIANwMIIABBqNcHNgIAIAALKAEBf0EYEFwiAEIANwIEIABBADoAFCAAQYiQCDYCACAAQgA3AgwgAAsoAQF/QRQQXCIAQgA3AwAgAEEANgIQIABCADcDCCAAQdDVBzYCACAACygBAX9BFBBcIgBCADcDACAAQQA2AhAgAEIANwMIIABBoNUHNgIAIAALKAEBf0EUEFwiAEIANwMAIABBADYCECAAQgA3AwggAEH41gc2AgAgAAunAQEEf0HwAhBcIgBBAEHwAvwLACAAQgA3AoABIABB6M4HNgIAIABCADcCiAEgAEIANwKUASAAQYCAgPwDNgKQASAAQgA3ApwBIABBgICA/AM2AqQBQdSJC0EANgIAQbkYIABBqAFqEAYaQdSJCygCACECQdSJC0EANgIAIAJBAUYEQBAAIQMgAEGUAWoQogEgAEGAAWoQlAYgABDkARBaIAMQBwALIAALKAEB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DSAEIAUgAyABEAVB1IkLKAIAIRxB1IkLQQA2AgAgHEEBRwRAAAsLEAAhBSACKAIUIgAEQCACIAA2AhggABBaCyACKALAASEBCyABRQ0AIAEQWiAFEAcACyAFEAcACyAHKAIEQQJJDQAgACgCgAEgBygCFEEARyAHQYURIAAoAngQhAUaCyACQdABaiQADwsgAhCmAhogABAHAAtBxaIBQYmiA0G8AUGmiAUQAQALQd3DBkG4swJB2AhBoNYFEAEACywAIAEoAgAiASgCAEHcAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJMCCywAIAEoAgAiASgCAEHbAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJMCCywAIAEoAgAiASgCAEHaAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJMCCywAIAEoAgAiASgCAEHZAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJMCCywAIAEoAgAiASgCAEHYAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJMCCywAIAEoAgAiASgCAEHXAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJMCCywAIAEoAgAiASgCAEHWAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJMCCywAIAEoAgAiASgCAEHVAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJMCCywAIAEoAgAiASgCAEHUAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJMCCywAIAEoAgAiASgCAEHTAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJMCCywAIAEoAgAiASgCAEHSAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJMCCywAIAEoAgAiASgCAEHRAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJMCCywAIAEoAgAiASgCAEHQAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJMCCywAIAEoAgAiASgCAEHPAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJMCCywAIAEoAgAiASgCAEHOAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJMCCywAIAEoAgAiASgCAEHNAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJMCCywAIAEoAgAiASgCAEHMAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJMCCywAIAEoAgAiASgCAEHLAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJMCCywAIAEoAgAiASgCAEHKAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJMCCywAIAEoAgAiASgCAEHJAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJMCCywAIAEoAgAiASgCAEHIAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJMCCywAIAEoAgAiASgCAEHHAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJMCCywAIAEoAgAiASgCAEHGAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJMCCywAIAEoAgAiASgCAEHFAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJMCCywAIAEoAgAiASgCAEHEAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJMCCywAIAEoAgAiASgCAEHDAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJMCCywAIAEoAgAiASgCAEHCAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJMCCywAIAEoAgAiASgCAEHBAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJMCC2EBAX8jAEEgayICJAAgACgCAEElRwRAQYWtBkGntwJB0BtBj+kAEAEACyACIAEQbDYCHCACIAE2AhggAiACKQIYNwMIIAJBEGogAkEIahBlIAAgAikDEDcCCCACQSBqJAALLAAgASgCACIBKAIAQcAARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQkwILKwAgASgCACIBKAIAQT9HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCTAgsrACABKAIAIgEoAgBBPkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJMCCysAIAEoAgAiASgCAEE9RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQkwILKwAgASgCACIBKAIAQTxHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCTAgsrACABKAIAIgEoAgBBO0cEQEHw7QVBxZgDQZQG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iQsoAgAhEkHUiQtBADYCACASQQFGDQUgAyADKAKsAiICNgJcIAMgAygCqAI2AlggAgRAIAIgAigCBEEBajYCBAsgA0EANgJ4IAMgAykDEDcChAEgAyADKQMYNwKMASADIAMpAyA3ApQBIAMgAykDKDcCnAEgA0IANwJwIANB/OwJNgJkIAMgAykDCDcCfEHUiQtBADYCACADIAE2AmggAyABQagBajYCbEGbASADQaQBaiAEEAIhAUHUiQsoAgAhAkHUiQtBADYCAAJAIAJBAUcEQEHUiQtBADYCAEGaASADQbgBaiAFEAIaQdSJCygCACETQdSJC0EANgIAIBNBAUcEQCADIAMoAlg2AswBIAMgAygCXCIBNgLQASABBEAgASABKAIEQQFqNgIECyADQQA7AdQBIANBCGoQYSADQQE6ANQBIAAoAgAoAhQhFEHUiQtBADYCACAUIAAQBiEAQdSJCygCACEVQdSJC0EANgIAIBVBAUYNBCADKAJkKAIIIRZB1IkLQQA2AgAgFiADQeQAaiIBIAAQA0HUiQsoAgAhF0HUiQtBADYCACAXQQFGDQRB1IkLQQA2AgBBlwEgARAKQdSJCygCACEYQdSJC0EANgIAIBhBAUYNBCADQfzsCTYCZCADQfwAahBhIAMoAnAiAQRAIAMoAnQiACABIgJHBEADQCAAQQRrIgAoAgAhAiAAQQA2AgAgAgRAIAIgAigCACgCBBEBAAsgACABRw0ACyADKAJwIQILIAMgATYCdCACEFoLIANB2AFqEGEMEAsQACEAIAEQawwBCxAAIQALIANB8ABqEOABIANBCGoQYQwOCxAAIQAMDQsQACEAIANB5ABqEHwaDAwLIAAgATYCfCAAQRRqIQkgASgCGCICIAEoAhwiBEcEQANAIAIoAgAiBSgCDEUEQCAJIAVBIGoQiAYLIAJBBGoiAiAERw0ACwsgASgCDCICIAEoAhAiBUcEQANAAkAgAigCACIEKAIMBEAgACAEEOYIDAELIAAgBDYCeCAJIARBMGoQiAYgACAEEOYIIABBADYCeAsgAkEEaiICIAVHDQALCyABKAIwIgogASgCNCIORg0JIABBHGohDQNAIAooAgAiAigCDARAIAkgAkEUahCIBgsgAigCHCILIAIoAiAiD0cEQCAAKAJsIQYgACgCcCEEIAAoAhghBQNA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BEH/////ASADIARrIgNBAnUiBSACIAIgBUkbIANB+P///wdPGyIDBH8gA0GAgICAAk8NBiADQQN0EFwFQQALIgUgBkEDdGoiAiAINgIEIAJBADYCACACQQhqIQggASAERwRAA0AgAkEIayICIAFBCGsiASkCADcCACABIARHDQALIAAoAgAhAQsgACAFIANBA3RqNgIIIAAgCDYCBCAAIAI2AgAgAUUNASABEFoMAQsCQCAAKAIIIgMgAUsEQCABQQU2AgAgASAINgIEIAAgBDYCBAwBCyABIAJrQQN1IgZBAWoiBEGAgICAAk8NBEH/////ASADIAJrIgNBAnUiBSAEIAQgBUkbIANB+P///wdPGyIDBH8gA0GAgICAAk8NBiADQQN0EFwFQQALIgUgBkEDdGoiBCAINgIEIARBBTYCACAFIANBA3RqIQMgBEEIaiEGAkAgASACRgRAIAAgAzYCCCAAIAY2AgQgACAENgIADAELA0AgBEEIayIEIAFBCGsiASkCADcCACABIAJHDQALIAAgAzYCCCAAIAY2AgQgACgCACECIAAgBDYCACACRQ0BCyACEFoLAkAgAC0AIARAIApBCGogCyAIKAIAIgEgARD8AyAKLQAMRQ0BIAgoAgAiA0EQSQ0BAkACQAJAAkAgAygCEA4EAAECAwULIANBGGohAQJAIAAoAgQiAiAAKAIIIgVJBEAgAiABNgIEIAJBAjYCACAAIAJBCGoiATYCBAwBCyACIAAoAgAiBmtBA3UiB0EBaiIEQYCAgIACTw0JQf////8BIAUgBmsiBUECdSIJIAQgBCAJSRsgBUH4////B08bIgUEfyAFQYCAgIACTw0LIAVBA3QQXAVBAAsiCSAHQQN0aiIEIAE2AgQgBEECNgIAIARBCGohASACIAZHBEADQCAEQQhrIgQgAkEIayICKQIANwIAIAIgBkcNAAsgACgCACECCyAAIAkgBUEDdGo2AgggACABNgIEIAAgBDYCACACRQ0AIAIQWiAAKAIEIQELIANBFGohBiAAKAIIIgMgAUsEQCABIAY2AgQgAUECNgIAIAAgAUEIajYCBAwFCyABIAAoAgAiBGtBA3UiBUEBaiICQYCAgIACTw0IQf////8BIAMgBGsiA0ECdSIHIAIgAiAHSRsgA0H4////B08bIgMEfyADQYCAgIACTw0KIANBA3QQXAVBAAsiByAFQQN0aiICIAY2AgQgAkECNgIAIAJBCGohBiABIARHBEADQCACQQhrIgIgAUEIayIBKQIANwIAIAEgBEcNAAsgACgCACEBCyAAIAcgA0EDdGo2AgggACAGNgIEIAAgAjYCACABRQ0EIAEQWgwECyADQRRqIQYgACgCBCIBIAAoAggiA0kEQCABIAY2AgQgAUEDNgIAIAAgAUEIajYCBAwECyABIAAoAgAiBGtBA3UiBUEBaiICQYCAgIACTw0HQf////8BIAMgBGsiA0ECdSIHIAIgAiAHSRsgA0H4////B08bIgMEfyADQYCAgIACTw0JIANBA3QQXAVBAAsiByAFQQN0aiICIAY2AgQgAkEDNgIAIAJBCGohBiABIARHBEADQCACQQhrIgIgAUEIayIBKQIANwIAIAEgBEcNAAsgACgCACEBCyAAIAcgA0EDdGo2AgggACAGNgIEIAAgAjYCACABRQ0DIAEQWgwDCyADKAIYIgQgAygCFEYNAgNAIARBDGshBAJAIAAoAgQiASAAKAIIIgVJBEAgASAENgIEIAFBAjYCACAAIAFBCGo2AgQMAQsgASAAKAIAIgZrQQN1IgdBAWoiAkGAgICAAk8NCEH/////ASAFIAZrIgVBAnUiCSACIAIgCUkbIAVB+P///wdPGyIFBH8gBUGAgICAAk8NCiAFQQN0EFwFQQALIgkgB0EDdGoiAiAENgIEIAJBAjYCACACQQhqIQcgASAGRwRAA0AgAkEIayICIAFBCGsiASkCADcCACABIAZHDQALIAAoAgAhAQsgACAJIAVBA3RqNgIIIAAgBzYCBCAAIAI2AgAgAUUNACABEFoLIAQgAygCFEcNAAsMAgsgA0EUaiEGIAAoAgQiASAAKAIIIgNJBEAgASAGNgIEIAFBAjYCACAAIAFBCGo2AgQMAgsgASAAKAIAIgRrQQN1IgVBAWoiAkGAgICAAk8NBUH/////ASADIARrIgNBAnUiByACIAIgB0kbIANB+P///wdPGyIDBH8gA0GAgICAAk8NByADQQN0EFwFQQALIgcgBUEDdGoiAiAGNgIEIAJBAjYCACACQQhqIQYgASAERwRAA0AgAkEIayICIAFBCGsiASkCADcCACABIARHDQALIAAoAgAhAQsgACAHIANBA3RqNgIIIAAgBjYCBCAAIAI2AgAgAUUNASABEFoMAQsgACgCKCIBIAAoAixHBEAgASAIKAIANgIAIAAgAUEEajYCKAwBCyABIAAoAiQiBGsiAkECdSIGQQFqIgNBgICAgARPDQZB/////wMgAkEBdSIFIAMgAyAFSRsgAkH8////B08bIgMEfyADQYCAgIAETw0GIANBAnQQXAVBAAsiBSAGQQJ0aiICIAgoAgA2AgAgAkEEaiEGIAEgBEcEQANAIAJBBGsiAiABQQRrIgEoAgA2AgAgASAERw0ACwsgACAFIANBAnRqNgIsIAAgBjYCKCAAIAI2AiQgBEUNACAEEFoLIABBADoAICAAKAIEIgEgACgCCCIDSQRAIAEgCDYCBCABQQE2AgAgACABQQhqNgIEDAELIAEgACgCACIEa0EDdSIGQQFqIgJBgICAgAJPDQNB/////wEgAyAEayIDQQJ1IgUgAiACIAVJGyADQfj///8HTxsiAwR/IANBgICAgAJPDQUgA0EDdBBcBUEACyIFIAZBA3RqIgIgCDYCBCACQQE2AgAgAkEIaiEIIAEgBEcEQANAIAJBCGsiAiABQQhrIgEpAgA3AgAgASAERw0ACyAAKAIAIQELIAAgBSADQQN0ajYCCCAAIAg2AgQgACACNgIAIAFFDQAgARBaCyAAKAIAIgIgACgCBCIERw0ACwsgCkEQaiQADwsQZAALEGoACxBkAAubAQEEfyMAQSBrIgIkAAJAIAAoAgBBDkYEQCACQQU2AhggAiABOQMIIABBCGoiAyACQQhqIgBGDQEgAxBZIQNB1IkLQQA2AgBBwAAgAyAAEAIaQdSJCygCACEEQdSJC0EANgIAIARBAUcNARAAIQUgABBZGiAFEAcAC0GApgZBp7cCQYcWQd2rBRABAAsgAkEIahBZGiACQSBqJAAL0g4CEn8BfiMAQRBrIgskAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEoAgAiBUEPTQRAAkACQAJAAkAgBUECaw4OAAAAAAADAQEBAQICAgMFCyAAIAAoAiRBgApyNgIkDA8LIAAgACgCJEGAggFyNgIkDA4LIAAgACgCJEGAAnI2AiQMDQsgACAAKAIkQcACcjYCJAwMCwJAAkACQAJAIAUoAhAiAkF+cUECRg0AIAUoAggiAyAFQQFyIAMbIgNBAXFFBEAgAygCBCADKAIAa0EESw0BCyAFKAIERQ0BCyAAIAAoAiRBgApyNgIkDAELAkACQCACDgIAAQILIAAgACgCJCICQYACcjYCJCABKAIAIgNBEEkNAiADKAIQDQIgAygCGCIDQQdJDQEgAygCBA0BIAAgAkGABnI2AiQMAQsgACAAKAIkQYCABHI2AiQLIAEoAgAiAUEQSQ0MAkACQAJAAkAgASgCEA4EAxAAAQYLIAEoAhQiBiABKAIYIgVGDQ9BACECQQAhAQNAAkAgAiAERwRAIAIgBigCADYCAAwBCwJAAkACQCAEIAFrIglBAnUiAkEBaiIKQYCAgIAETwRAQdSJC0EANgIAQRMQCUHUiQsoAgAhDUHUiQtBADYCACANQQFGDQEMGQtB/////wMgCUEBdSIDIAogAyAKSxsgCUH8////B08bIglFBEBBACEKDAMLIAlBgICAgARJDQFB1IkLQQA2AgBBAxAJQdSJCygCACEOQdSJC0EANgIAIA5BAUcNGAsQACEEIAENFQwWC0HUiQtBADYCAEEEIAlBAnQQBiEKQdSJCygCACEPQdSJC0EANgIAIA9BAUYNBAsgCiACQQJ0aiICIAYoAgA2AgAgAiEDIAEgBEcEQANAIANBBGsiAyAEQQRrIgQoAgA2AgAgASAERw0ACwsgCUECdCAKaiEEIAEEQCABEFoLIAMhAQsgAkEEaiECIAZBDGoiBiAFRw0ACwwHCyABKAIUIQNBBBBcIgEgAzYCACABQQRqIQIMDAsQACEEIAFFDRAMDwsCfwJAIAEpAhQiFKciBUEHSQ0AIAUoAgQNACAFKAIMIAUoAghrQQJ1DAELIAVBAEcLIgxFBEBBACECQQAhAQwECyAFQQdJIQlBACECQQAhAQNAAkACQCAJDQAgBSgCBA0AIAUoAgggBkECdGooAgAhAwwBCyAGDQcgBSIDRQ0HCwJAAkAgAiAERwRAIAIgAzYCAAwBCyAEIAFrIgdBAnUiCkEBaiIIQYCAgIAETw0JAkBB/////wMgB0EBdSICIAggAiAISxsgB0H8////B08bIghFBEBBACEHDAELIAhBgICAgARPDQtB1IkLQQA2AgBBBCAIQQJ0EAYhB0HUiQsoAgAhEEHUiQtBADYCACAQQQFGDQILIAcgCkECdGoiAiADNgIAIAIhAyABIARHBEADQCADQQRrIgMgBEEEayIEKAIANgIAIAEgBEcNAAsLIAhBAnQgB2ohBCABBEAgARBaCyADIQELIAJBBGohAiAGQQFqIgYgDEYNBQwBCwsQACEEIAENDgwPC0HhlQZBuLMCQdsJQY/iAxABAAsgACAAKAIkQYACcjYCJAwKC0H4xQRBuLMCQbULEGIACwJ/AkAgFEIgiKciBUEHSQ0AIAUoAgQNACAFKAIMIAUoAghrQQJ1DAELIAVBAEcLIgxFDQAgBUEHSSEJQQAhBgNAAkACQCAJDQAgBSgCBA0AIAUoAgggBkECdGooAgAhAwwBCyAGDQMgBSIDRQ0DCwJAIAIgBEcEQCACIAM2AgAMAQsgBCABayIHQQJ1IgpBAWoiCEH/////A0sNBAJAQf////8DIAdBAXUiAiAIIAIgCEsbIAdB/P///wdPGyIIRQRAQQAhBwwBCyAIQf////8DSw0GQdSJC0EANgIAQQQgCEECdBAGIQdB1IkLKAIAIRFB1IkLQQA2AgAgEUEBRg0ICyAHIApBAnRqIgIgAzYCACACIQMgASAERwRAA0AgA0EEayIDIARBBGsiBCgCADYCACABIARHDQALCyAIQQJ0IAdqIQQgAQRAIAEQWgsgAyEBCyACQQRqIQIgBkEBaiIGIAxHDQALCyABIAJHDQUMBgtB1IkLQQA2AgBBDUHdwwZBuLMCQdgIQaDWBRAFDAILQdSJC0EANgIAQRMQCQwBC0HUiQtBADYCAEEDEAkLQdSJCygCACESQdSJC0EANgIAIBJBAUcNBxAAIQQgAQ0FDAYLEAAhBCABDQQMBQsgASEEA0AgCyAEKAIAIgM2AgwCQCADQQdPBEAgAygCBEEBRg0BC0HUiQtBADYCAEHTAiALQQxqEAYhBUHUiQsoAgAhE0HUiQtBADYCACATQQFGDQQgACAAKAIkIAVyNgIkCyAEQQRqIgQgAkcNAAsgASECCyACRQ0AIAIQWgsgC0EQaiQADwsQACEEIAFFDQELIAEQWgsgBBAHAAsAC5kCAQJ/AkACQAJAIAAoAgQOAgACAQsgACgCDCICIAAoAggiAWtBAnUhACABIAJHBEADQCAAIABBBnQgAEECdmogASgCAEGV08feBWwiAEEYdiAAc0GV08feBWxBqJm99H1zQZXTx94FbCIAQQ12IABzQZXTx94FbCIAQQ92IABzakHHjKKOBmtzIQAgAUEEaiIBIAJHDQALCyAAQceMoo4Gaw8LQfjFBEG4swJBvhYQYgALIAAoAgxBh4yijgZrIgFBAnYgAUEBcyIBQQZ0aiAAKAIIQZXTx94FbCIAQRh2IABzQZXTx94FbEGomb30fXNBldPH3gVsIgBBDXYgAHNBldPH3gVsIgBBD3YgAHNqQceMoo4GayABcwubAQEEfyMAQSBrIgIkAAJAIAAoAgBBDkYEQCACQQQ2AhggAiABOAIIIABBCGoiAyACQQhqIgBGDQEgAxBZIQNB1IkLQQA2AgBBwAAgAyAAEAIaQdSJCygCACEEQdSJC0EANgIAIARBAUcNARAAIQUgABBZGiAFEAcAC0GApgZBp7cCQf0VQYu9BRABAAsgAkEIahBZGiACQSBqJAALLwAgASgCACIBKAIAQdwARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLwAgASgCACIBKAIAQdsARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLwAgASgCACIBKAIAQdoARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLwAgASgCACIBKAIAQdkARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLwAgASgCACIBKAIAQdgARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLwAgASgCACIBKAIAQdcARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLwAgASgCACIBKAIAQdYARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLwAgASgCACIBKAIAQdUARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLwAgASgCACIBKAIAQdQARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLwAgASgCACIBKAIAQdMARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLwAgASgCACIBKAIAQdIARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLwAgASgCACIBKAIAQdEARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLwAgASgCACIBKAIAQdAARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLwAgASgCACIBKAIAQc8ARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLwAgASgCACIBKAIAQc4ARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLwAgASgCACIBKAIAQc0ARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLwAgASgCACIBKAIAQcwARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLwAgASgCACIBKAIAQcsARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILWQEBfgJAIAAoAgBBDkYEQCAAKAIYQQZHDQEgACkACCECIAEgACkAEDcACCABIAI3AAAPC0GApgZBp7cCQYwWQa6gBRABAAtBgZ0FQemkAkG+AkHjnAUQAQALLwAgASgCACIBKAIAQcoARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLwAgASgCACIBKAIAQckARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLwAgASgCACIBKAIAQcgARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLwAgASgCACIBKAIAQccARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLwAgASgCACIBKAIAQcYARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLwAgASgCACIBKAIAQcUARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLwAgASgCACIBKAIAQcQARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLwAgASgCACIBKAIAQcMARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLwAgASgCACIBKAIAQcIARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLwAgASgCACIBKAIAQcEARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILQwACQCAAKAIAQQ5GBEAgACgCGEEDRw0BIAAoAggPC0GApgZBp7cCQdwVQY84EAEAC0HtpgVB5poDQaECQYmkBRABAAsvACABKAIAIgEoAgBBwABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCUAgsuACABKAIAIgEoAgBBP0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJQCCy4AIAEoAgAiASgCAEE+RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLgAgASgCACIBKAIAQT1HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCUAgsuACABKAIAIgEoAgBBPEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJQCCy4AIAEoAgAiASgCAEE7RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLgAgASgCACIBKAIAQTpHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCUAgsuACABKAIAIgEoAgBBOUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJQCCy4AIAEoAgAiASgCAEE4RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLgAgASgCACIBKAIAQShHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCUAgtEAAJAIAAoAgBBDkYEQCAAKAIYQQNHDQEgACgCDA8LQYCmBkGntwJB6hVBioADEAEAC0HtpgVB5poDQaECQYmkBRABAAsuACABKAIAIgEoAgBBF0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJQCCy4AIAEoAgAiASgCAEEWRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLgAgASgCACIBKAIAQTdHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCUAgsuACABKAIAIgEoAgBBNkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJQCCy4AIAEoAgAiASgCAEE1RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLgAgASgCACIBKAIAQTRHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCUAgsuACABKAIAIgEoAgBBM0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJQCCy4AIAEoAgAiASgCAEEyRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLgAgASgCACIBKAIAQTFHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCUAgsuACABKAIAIgEoAgBBMEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJQCC0QAAkAgACgCAEEORgRAIAAoAhhBAkcNASAAKAIIDwtBgKYGQae3AkHIFUHNvAUQAQALQZmxBUHmmgNBmAJBoq4FEAEACy4AIAEoAgAiASgCAEEvRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLgAgASgCACIBKAIAQS5HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCUAgsuACABKAIAIgEoAgBBLUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJQCCy4AIAEoAgAiASgCAEEsRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLgAgASgCACIBKAIAQStHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCUAgsuACABKAIAIgEoAgBBKkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJQCCy4AIAEoAgAiASgCAEEpRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLgAgASgCACIBKAIAQRVHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCUAgsuACABKAIAIgEoAgBBFEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJQCCy4AIAEoAgAiASgCAEETRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILRAACQCAAKAIAQQ5GBEAgACgCGEEFRw0BIAArAwgPC0GApgZBp7cCQYIWQfarBRABAAtB16oFQeaaA0GpAkGdqAUQAQALLgAgASgCACIBKAIAQRJHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCUAgsuACABKAIAIgEoAgBBEUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJQCCy4AIAEoAgAiASgCAEEQRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLgAgASgCACIBKAIAQQ9HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCUAgsuACABKAIAIgEoAgBBDkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJQCCy4AIAEoAgAiASgCAEEnRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLgAgASgCACIBKAIAQSZHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCUAgsuACABKAIAIgEoAgBBJUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJQCCy4AIAEoAgAiASgCAEEkRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLgAgASgCACIBKAIAQSNHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCUAgtEAAJAIAAoAgBBDkYEQCAAKAIYQQRHDQEgACoCCA8LQYCmBkGntwJB+BVBpL0FEAEAC0HQuwVB5poDQaUCQeq5BRABAAsuACABKAIAIgEoAgBBIkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJQCCy4AIAEoAgAiASgCAEEhRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLgAgASgCACIBKAIAQSBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCUAgsuACABKAIAIgEoAgBBH0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJQCCy4AIAEoAgAiASgCAEEeRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLgAgASgCACIBKAIAQR1HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCUAgsuACABKAIAIgEoAgBBHEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJQCCy4AIAEoAgAiASgCAEEbRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLgAgASgCACIBKAIAQRpHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCUAgsuACABKAIAIgEoAgBBGUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJQCCy4AIAEoAgAiASgCAEEYRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLgAgASgCACIBKAIAQQ1HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCUAgsuACABKAIAIgEoAgBBDEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJQCCy4AIAEoAgAiASgCAEELRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLgAgASgCACIBKAIAQQpHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCUAgsuACABKAIAIgEoAgBBCUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJQCCy4AIAEoAgAiASgCAEEIRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLgAgASgCACIBKAIAQQdHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCUAgsuACABKAIAIgEoAgBBBkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJQCCy4AIAEoAgAiASgCAEEFRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLgAgASgCACIBKAIAQQRHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCUAgsuACABKAIAIgEoAgBBA0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJQCCy4AIAEoAgAiASgCAEECRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLgAgASgCACIBKAIAQQFHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCUAgvVHQEOfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEoAgAiAigCAA5eAAECAwQFBgcICQoLDA0eHyAhIiMkJTU2Dg8QERITFBUWFxgZGhscHTcmJygpKissLS4vMDEyMzQ4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcAF0LQZj9A0HlswNB6gEQYgALIABB3xIgARBYIAIoAgBBAUcNXCACKAIUIgFBAEwNWyAAQQRqIQQDQCABQQFrIgAgAigCFE8NXiACKAIQIABBAnRqIgMoAgBFDV8gBEHeEiADEFsgAUEBSyEGIAAhASAGDQALDFsLIABB4BIgARBYIAIoAgBBAkcNWyACKAIQBEAgAEEEakHeEiACQRBqEFsLDGALIABB4RIgARBYIAIoAgBBA0cNWgxjCyAAQeISIAEQWCACKAIAQQRHDVkgAigCFARAIABBBGpB3hIgAkEUahBbCyACKAIQRQ1YIABBBGpB3hIgAkEQahBbDwsgAEHjEiABEFggAigCAEEFRw1YIABB3hIgAkEkahBYIAIoAiBFDVcgAEEEakHeEiACQSBqEFsPCyAAQeQSIAEQWCACKAIAQQZHDVcgAigCDCIBQQBMDVYgAEEEaiEEA0AgAUEBayIAIAIoAgxPDVkgAigCCCAAQQJ0aiIDKAIARQ1aIARB3hIgAxBbIAFBAUshByAAIQEgBw0ACwxWCyAAQeUSIAEQWCACKAIAQQdHDVYgAEHeEiACQRxqEFggAigCECIBQQBMDVUgAEEEaiEEA0AgAUEBayIAIAIoAhBPDVggAigCDCAAQQJ0aiIDKAIARQ1ZIARB3hIgAxBbIAFBAUshCCAAIQEgCA0ACwxVCyAAQeYSIAEQWCACKAIAQQhGDVQMVQsgAEHnEiABEFggAigCAEEJRw1UDGALIABB6BIgARBYIAIoAgBBCkYNUgxTCyAAQekSIAEQWCACKAIAQQtHDVIMWwsgAEHqEiABEFggAigCAEEMRw1RDF8LIABB6xIgARBYIAIoAgBBDUcNUAxdCyAAQewSIAEQWCACKAIAQRhHDU8MXgsgAEHtEiABEFggAigCAEEZRw1OIABB3hIgAkEgahBYDF0LIABB7hIgARBYIAIoAgBBGkcNTQxUCyAAQe8SIAEQWCACKAIAQRtHDUwMVAsgAEHwEiABEFggAigCAEEcRg1KDEsLIABB8RIgARBYIAIoAgBBHUcNSgxWCyAAQfISIAEQWCACKAIAQR5HDUkgAEHeEiACQRRqEFgMVQsgAEHzEiABEFggAigCAEEfRw1IDE0LIABB9BIgARBYIAIoAgBBIEcNRwxRCyAAQfUSIAEQWCACKAIAQSFHDUYMUQsgAEH2EiABEFggAigCAEEiRw1FIABB3hIgAkEgahBYDwsgAEH3EiABEFggAigCAEEjRw1EDFELIABB+BIgARBYIAIoAgBBJEcNQwxKCyAAQfkSIAEQWCACKAIAQSVGDUEMQgsgAEH6EiABEFggAigCAEEmRw1BDEULIABB+xIgARBYIAIoAgBBJ0cNQAxECyAAQfwSIAEQWCACKAIAQQ5GDT4MPwsgAEH9EiABEFggAigCAEEPRw0+DEoLIABB/hIgARBYIAIoAgBBEEcNPQxICyAAQf8SIAEQWCACKAIAQRFHDTwMQAsgAEGAEyABEFggAigCAEESRw07DEsLIABBgRMgARBYIAIoAgBBE0cNOiACKAIIRQ05DEsLIABBghMgARBYIAIoAgBBFEYNOAw5CyAAQYMTIAEQWCACKAIAQRVHDTgMSAsgAEGEEyABEFggAigCAEEpRg02DDcLIABBhRMgARBYIAIoAgBBKkcNNgxGCyAAQYYTIAEQWCACKAIAQStGDTQMNQsgAEGHEyABEFggAigCAEEsRw00DDkLIABBiBMgARBYIAIoAgBBLUcNMww8CyAAQYkTIAEQWCACKAIAQS5HDTIMOgsgAEGKEyABEFggAigCAEEvRg0wDDELIABBixMgARBYIAIoAgBBMEcNMAw4CyAAQYwTIAEQWCACKAIAQTFHDS8MNgsgAEGNEyABEFggAigCAEEyRw0uDDILIABBjhMgARBYIAIoAgBBM0cNLSACKAIoIgFBAEoEQCAAQQRqIQMDQCABQQFrIgQgAigCKE8NMCACKAIkIARBAnRqIgUoAgBFDTEgA0HeEiAFEFsgAUEBSyEJIAQhASAJDQALCww2CyAAQY8TIAEQWCACKAIAQTRGBEAMPQsMLAsgAEGQEyABEFggAigCAEE1Rw0rIAIoAhQiAUEATA0qIABBBGohBANAIAFBAWsiACACKAIUTw0tIAIoAhAgAEECdGoiAygCAEUNLiAEQd4SIAMQWyABQQFLIQogACEBIAoNAAsMKgsgAEGREyABEFggAigCAEE2Rg0pDCoLIABBkhMgARBYIAIoAgBBN0cNKQw5CyAAQZMTIAEQWCACKAIAQRZGDScMKAsgAEGUEyABEFggAigCAEEXRg0mDCcLIABBlRMgARBYIAIoAgBBKEYNJQwmCyAAQZYTIAEQWCACKAIAQThHDSUgAigCDCIBQQBMDSQgAEEEaiEEA0AgAUEBayIAIAIoAgxPDScgAigCCCAAQQJ0aiIDKAIARQ0oIARB3hIgAxBbIAFBAUshCyAAIQEgCw0ACwwkCyAAQZcTIAEQWCACKAIAQTlHDSQMNAsgAEGYEyABEFggAigCAEE6Rw0jDDMLIABBmRMgARBYIAIoAgBBO0cNIgwyCyAAQZoTIAEQWCACKAIAQTxHDSEgAEHeEiACQRhqEFggAigCDCIBQQBMDSAgAEEEaiEEA0AgAUEBayIAIAIoAgxPDSMgAigCCCAAQQJ0aiIDKAIARQ0kIARB3hIgAxBbIAFBAUshDCAAIQEgDA0ACwwgCyAAQZsTIAEQWCACKAIAQT1HDSAMMAsgAEGcEyABEFggAigCAEE+Rw0fDC8LIABBnRMgARBYIAIoAgBBP0cNHiAAQd4SIAJBFGoQWA8LIABBnhMgARBYIAIoAgBBwABHDR0gAigCDCIBQQBMDRwgAEEEaiEEA0AgAUEBayIAIAIoAgxPDR8gAigCCCAAQQJ0aiIDKAIARQ0gIARB3hIgAxBbIAFBAUshDSAAIQEgDQ0ACwwcCyAAQZ8TIAEQWCACKAIAQcEARw0cDCgLIABBoBMgARBYIAIoAgBBwgBHDRsMJgsgAEGhEyABEFggAigCAEHDAEcNGiAAQd4SIAJBDGoQWCACKAIIRQ0ZDCsLIABBohMgARBYIAIoAgBBxABHDRkMIQsgAEGjEyABEFggAigCAEHFAEcNGAwgCyAAQaQTIAEQWCACKAIAQcYARw0XIAIoAgwiAUEATA0WIABBBGohBANAIAFBAWsiACACKAIMTw0ZIAIoAgggAEECdGoiAygCAEUNGiAEQd4SIAMQWyABQQFLIQ4gACEBIA4NAAsMFgsgAEGlEyABEFggAigCAEHHAEcNFgwbCyAAQaYTIAEQWCACKAIAQcgARw0VDBkLIABBpxMgARBYIAIoAgBByQBHDRQMJAsgAEGoEyABEFggAigCAEHKAEcNEyAAQd4SIAJBGGoQWAwWCyAAQakTIAEQWCACKAIAQcsARw0SDBULIABBqhMgARBYIAIoAgBBzABHDREMFwsgAEGrEyABEFggAigCAEHNAEcNEAwWCyAAQawTIAEQWCACKAIAQc4ARw0PDBsLIABBrRMgARBYIAIoAgBBzwBHDQ4gAigCGARAIABBBGpB3hIgAkEYahBbCyACKAIUBEAgAEEEakHeEiACQRRqEFsLIAIoAhAEQCAAQQRqQd4SIAJBEGoQWwsMGgsgAEGuEyABEFggAigCAEHQAEYNDAwNCyAAQa8TIAEQWCACKAIAQdEARw0MDBgLIABBsBMgARBYIAIoAgBB0gBHDQsgAigCFARAIABBBGpB3hIgAkEUahBbCwwWCyAAQbETIAEQWCACKAIAQdMARw0KDA8LIABBshMgARBYIAIoAgBB1ABHDQkMFAsgAEGzEyABEFggAigCAEHVAEcNCAwUCyAAQbQTIAEQWCACKAIAQdYARw0HDAsLIABBtRMgARBYIAIoAgBB1wBHDQYMCwsgAEG2EyABEFggAigCAEHYAEcNBQwVCyAAQbcTIAEQWCACKAIAQdkARw0EDA8LIABBuBMgARBYIAIoAgBB2gBHDQMMDQsgAEG5EyABEFggAigCAEHbAEcNAgwHCyAAQboTIAEQWCACKAIAQdwARw0BIABB3hIgAkE8ahBYIAIoAjAiAUEATA0AIABBBGohBANAIAFBAWsiACACKAIwTw0DIAIoAiwgAEECdGoiAygCAEUNBCAEQd4SIAMQWyABQQFLIQ8gACEBIA8NAAsLDwtB8O0FQcWYA0GUBkGN3gAQAQALQcWiAUGJogNBvAFBpogFEAEAC0GBgwJB05kDQbkCQa73AhABAAsgAEHeEiACQRRqEFgLIABB3hIgAkEQahBYCyAAQd4SIAJBDGoQWAwKCyAAQd4SIAJBHGoQWAsgAEHeEiACQRhqEFgLIABB3hIgAkEUahBYCyAAQd4SIAJBEGoQWA8LIABB3hIgAkEUahBYCyAAQd4SIAJBEGoQWAsgAEHeEiACQQxqEFgPCyAAQd4SIAJBKGoQWAsgAEHeEiACQSRqEFgPCyAAQd4SIAJBHGoQWCAAQd4SIAJBGGoQWA8LIABB3hIgAkEIahBYDwsgAEEEakHeEiACQQhqEFsLswIBA38CQAJAAkBBACAAKAIEayAAKAJcIAAoAlhrQQN1RgRAIAEoAgBFDQEgAEEEakHeEiABEFtBACAAKAIEIgJrIAAoAlwiASAAKAJYIgNrQQN1RwRAIABBCGohBANAAkAgASADRgRAIAJFDQYgBCACQQFrIgJBA3RqIgMoAgQhASADKAIAIQMgACACNgIEDAELIAFBCGsiAigCACEDIAIoAgQhASAAIAI2AlwLIAAgATYCACABKAIARQ0FIAAgASADEQAAQQAgACgCBCICayAAKAJcIgEgACgCWCIDa0EDdUcNAAsLDwtBzcoFQdOZA0HIAkHQ+AIQAQALQYGDAkHTmQNBuQJBrvcCEAEAC0HexAVBsJQDQdoAQf37AhABAAtB9YICQdOZA0HNAkHQ+AIQAQAL1QMBA38gASAAQSBqIgJHBEACQCACLQALQYABcUEHdkUEQCABLQALIgNBgAFxQQd2RQRAIAIgASkCADcCACACIAEoAgg2AggMAgsgAiABKAIAIAEgAS0AC0GAAXFBB3YbIAEoAgQgA0H/AHEgA0GAAXFBB3YbELAFGgwBCyACIAEoAgAgASABLQALIgJBgAFxQQd2GyABKAIEIAIiAUH/AHEgAUGAAXFBB3YbELEFGgsLIABBADYCLCAAQSBqIgMiASgCACABIAEtAAtBgAFxQQd2GyECIAAoAiQgAC0AKyIBQf8AcSABQYABcUEHdhshAQJAIAAoAjAiBEEIcQR/IAAgASACaiIENgIsIAAgBDYCECAAIAI2AgwgACACNgIIIAAoAjAFIAQLQRBxRQ0AIAAgASACajYCLCADIAMtAAtBgAFxQQd2BH8gAygCCEH/////B3FBAWsFQQoLELcMIAAgAiAAKAIkIAAtACsiA0H/AHEgA0GAAXFBB3YbajYCHCAAIAI2AhQgACACNgIYIAAtADBBA3FFDQADQCABQQBIBEAgACAAKAIYQf////8HajYCGCABQf////8HayEBDAELCyABRQ0AIAAgACgCGCABajYCGAsLqAQBC38CfyMAQSBrIgIkACACQQA2AhwCQAJAIAJBG2ogAEEAEOgELQAABEAgAkEUaiIEIAAgACgCAEEMaygCAGooAhwiAzYCACADIAMoAgRBAWo2AgRB1IkLQQA2AgBB9a0BIAIoAhQQBiEDQdSJCygCACEFQdSJC0EANgIAAkACQCAFQQFGDQAgAiAAIAAoAgBBDGsoAgBqKAIYNgIQIAJBADYCDCAAKAIAQQxrKAIAIQUgAigCDCEGIAIoAhAhB0HUiQtBADYCAEH3rQEgAyAHIAYgACAFaiACQRxqIAEQF0HUiQsoAgAhCEHUiQtBADYCACAIQQFGDQAgBCgCACIBIAEoAgRBAWsiAzYCBCADQX9GBEAgASABKAIAKAIIEQEACwwBC0EAEAshCSACKAIUIgEgASgCBEEBayIENgIEIARBf0YEQCABIAEoAgAoAggRAQALIAkQDhogAiACKAIcQQFyIgM2AhwgACAAKAIAQQxrKAIAaiIBIAEoAhhFIAEoAhAgA3JyNgIQIAAgACgCAEEMaygCAGooAhRBAXEEQEHUiQtBADYCAEHVABAJQdSJCygCACEKQdSJC0EANgIAIApBAUcNBBAAIQxB1IkLQQA2AgBBHBAJQdSJCygCACELQdSJC0EANgIAIAtBAUYNAyAMEAcACxARCyAAIAAoAgBBDGsoAgBqIAIoAhwQrgwLIAJBIGokACAADAILQQAQCxoQcAsACwuoBAELfwJ/IwBBIGsiAiQAIAJBADYCHAJAAkAgAkEbaiAAQQAQ6AQtAAAEQCACQRRqIgQgACAAKAIAQQxrKAIAaigCHCIDNgIAIAMgAygCBEEBajYCBEHUiQtBADYCAEH1rQEgAigCFBAGIQNB1IkLKAIAIQVB1IkLQQA2AgACQAJAIAVBAUYNACACIAAgACgCAEEMaygCAGooAhg2AhAgAkEANgIMIAAoAgBBDGsoAgAhBSACKAIMIQYgAigCECEHQdSJC0EANgIAQfatASADIAcgBiAAIAVqIAJBHGogARAXQdSJCygCACEIQdSJC0EANgIAIAhBAUYNACAEKAIAIgEgASgCBEEBayIDNgIEIANBf0YEQCABIAEoAgAoAggRAQALDAELQQAQCyEJIAIoAhQiASABKAIEQQFrIgQ2AgQgBEF/RgRAIAEgASgCACgCCBEBAAsgCRAOGiACIAIoAhxBAXIiAzYCHCAAIAAoAgBBDGsoAgBqIgEgASgCGEUgASgCECADcnI2AhAgACAAKAIAQQxrKAIAaigCFEEBcQRAQdSJC0EANgIAQdUAEAlB1IkLKAIAIQpB1IkLQQA2AgAgCkEBRw0EEAAhDEHUiQtBADYCAEEcEAlB1IkLKAIAIQtB1IkLQQA2AgAgC0EBRg0DIAwQBwALEBELIAAgACgCAEEMaygCAGogAigCHBCuDAsgAkEgaiQAIAAMAgtBABALGhBwCwALC8QBAQR/IABB6JQKNgI8IABB1JQKNgIAIABBADYCBCAAQTxqIgMgAEEIaiICEO0BIABBwJQKNgI8IABBrJQKNgIAIABCgICAgHA3AoQBIAIQ7gEiAkG4jAo2AgAgAEIANwIwIABCADcCKCAAQQg2AjhB1IkLQQA2AgBB2hIgAiABEANB1IkLKAIAIQRB1IkLQQA2AgAgBEEBRgRAEAAhBSAALAAzQQBIBEAgACgCKBBaCyACEOsBGiADEOgBGiAFEAcACyAACysAIAEoAgAiASgCAEE/RwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAQtgcLkQgBDH8jAEFAaiICJAAgASgCCCEDAkACQAJAAkACQAJAAkACQCABKAIAIgRBBk0EQCABKAIMIQUCQAJAAkACQAJAIARBAmsOBQYAAQIDBAsgAkEDNgIgIAIgBTYCFAwGCyACQQI2AjggAiADNgIoIAJBBDYCICACIAM2AhAgAkEoahBZGgwGCyACIAU2AiwgAiADNgIoIAJBAzYCOCACQQU2AiAgAiACKQMoNwMQIAJBKGoQWRoMBQsgAiABKQMQNwMYIAIgBTYCFCACIAM2AhAgAkEGNgIgDAQLQe+EBEGntwJBgQEQYgALIAQoAgRBAUcNAyAEKAIIIgFBD00EQCABQQxrQQRPBEACQAJAAkACQCABQQFrDgsCAQIAAgICAwMDAwELQYu/BUGntwJBiQEQYgALQe+4AUGntwJBjAEQYgALQdSEBEGntwJBkgEQYgALQYW5AUGntwJBlwEQYgALIAQoAgxBAUcNBSACQQE2AjQgAkEBNgIsIAJBADoAKEHUiQtBADYCACACIAFBAnRB3LsHaigCADYCMEEHQdidCyACQShqIgEQAiEDQdSJCygCACEGQdSJC0EANgIAIAZBAUYEQBAAIQcgARB3IAcQBwALIAJBEGogAxDEBBoMAwsgASgCECIERQRAIAIgAxBsNgIsIAIgAzYCKCACIAIpAig3AwggAkEQaiACQQhqEGUgAS0AAA0GIAJBADYCNCACIAE2AjAgAkEAOgAoQdSJC0EANgIAIAJBATYCLEEHQdidCyACQShqIgMQAiEEQdSJCygCACEIQdSJC0EANgIAIAhBAUYEQBAAIQkgAxB3IAkQBwALIAIgBDYCICABKAIQRQ0DQYGVBkHmmgNB1QBB0/ICEAEACyAEQX5xQQJHDQZB9O8EQae3AkGkARBiAAsgAkECNgIgCyACIAM2AhALAkAgAigCIEECa0EFTwRAQdSJC0EANgIAQQ1BkfsFQZqWA0HWBEGs0gAQBUHUiQsoAgAhCkHUiQtBADYCACAKQQFGDQEAC0HUiQtBADYCAEEMIABBqAFqQSBBCBAEIQBB1IkLKAIAIQtB1IkLQQA2AgAgC0EBRg0AIABCADcCBCAAQQ42AgAgAEIANwIMIABCADcCFCAAQQhqIgEgAkEQaiIDRg0FIAEQWSEBQdSJC0EANgIAQcAAIAEgAxACGkHUiQsoAgAhDEHUiQtBADYCACAMQQFHDQULEAAhDSACQRBqEFkaIA0QBwALQZn/BUGntwJBhAFBx/ICEAEAC0H/mQZBp7cCQZwBQcfyAhABAAtB/tAGQbizAkHoBUG4jAQQAQALQd2hBkGntwJBowFBx/ICEAEACyAAIAIoAiA2AgQgAkEQahBZGiACQUBrJAAgAAsrACABKAIAIgEoAgBBBUcEQEHw7QVBxZgDQZQGQY3eABABAAsgASAAELYHCysAIAEoAgAiASgCAEEERwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAQtgcL1R0BDn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAIgIoAgAOXgABAgMEBQYHCAkKCwwNHh8gISIjJCU1Ng4PEBESExQVFhcYGRobHB03JicoKSorLC0uLzAxMjM0ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXABdC0GY/QNB5bMDQeoBEGIACyAAQf4RIAEQWCACKAIAQQFHDVwgAigCFCIBQQBMDVsgAEEEaiEEA0AgAUEBayIAIAIoAhRPDV4gAigCECAAQQJ0aiIDKAIARQ1fIARB+hEgAxBbIAFBAUshBiAAIQEgBg0ACwxbCyAAQf8RIAEQWCACKAIAQQJHDVsgAigCEARAIABBBGpB+hEgAkEQahBbCwxgCyAAQYASIAEQWCACKAIAQQNHDVoMYwsgAEGBEiABEFggAigCAEEERw1ZIAIoAhQEQCAAQQRqQfoRIAJBFGoQWwsgAigCEEUNWCAAQQRqQfoRIAJBEGoQWw8LIABBghIgARBYIAIoAgBBBUcNWCAAQfoRIAJBJGoQWCACKAIgRQ1XIABBBGpB+hEgAkEgahBbDwsgAEGDEiABEFggAigCAEEGRw1XIAIoAgwiAUEATA1WIABBBGohBANAIAFBAWsiACACKAIMTw1ZIAIoAgggAEECdGoiAygCAEUNWiAEQfoRIAMQWyABQQFLIQcgACEBIAcNAAsMVgsgAEGEEiABEFggAigCAEEHRw1WIABB+hEgAkEcahBYIAIoAhAiAUEATA1VIABBBGohBANAIAFBAWsiACACKAIQTw1YIAIoAgwgAEECdGoiAygCAEUNWSAEQfoRIAMQWyABQQFLIQggACEBIAgNAAsMVQsgAEGFEiABEFggAigCAEEIRg1UDFULIABBhhIgARBYIAIoAgBBCUcNVAxgCyAAQYcSIAEQWCACKAIAQQpGDVIMUwsgAEGIEiABEFggAigCAEELRw1SDFsLIABBiRIgARBYIAIoAgBBDEcNUQxfCyAAQYoSIAEQWCACKAIAQQ1HDVAMXQsgAEGLEiABEFggAigCAEEYRw1PDF4LIABBjBIgARBYIAIoAgBBGUcNTiAAQfoRIAJBIGoQWAxdCyAAQY0SIAEQWCACKAIAQRpHDU0MVAsgAEGOEiABEFggAigCAEEbRw1MDFQLIABBjxIgARBYIAIoAgBBHEYNSgxLCyAAQZASIAEQWCACKAIAQR1HDUoMVgsgAEGREiABEFggAigCAEEeRw1JIABB+hEgAkEUahBYDFULIABBkhIgARBYIAIoAgBBH0cNSAxNCyAAQZMSIAEQWCACKAIAQSBHDUcMUQsgAEGUEiABEFggAigCAEEhRw1GDFELIABBlRIgARBYIAIoAgBBIkcNRSAAQfoRIAJBIGoQWA8LIABBlhIgARBYIAIoAgBBI0cNRAxRCyAAQZcSIAEQWCACKAIAQSRHDUMMSgsgAEGYEiABEFggAigCAEElRg1BDEILIABBmRIgARBYIAIoAgBBJkcNQQxFCyAAQZoSIAEQWCACKAIAQSdHDUAMRAsgAEGbEiABEFggAigCAEEORg0+DD8LIABBnBIgARBYIAIoAgBBD0cNPgxKCyAAQZ0SIAEQWCACKAIAQRBHDT0MSAsgAEGeEiABEFggAigCAEERRw08DEALIABBnxIgARBYIAIoAgBBEkcNOwxLCyAAQaASIAEQWCACKAIAQRNHDTogAigCCEUNOQxLCyAAQaESIAEQWCACKAIAQRRGDTgMOQsgAEGiEiABEFggAigCAEEVRw04DEgLIABBoxIgARBYIAIoAgBBKUYNNgw3CyAAQaQSIAEQWCACKAIAQSpHDTYMRgsgAEGlEiABEFggAigCAEErRg00DDULIABBphIgARBYIAIoAgBBLEcNNAw5CyAAQacSIAEQWCACKAIAQS1HDTMMPAsgAEGoEiABEFggAigCAEEuRw0yDDoLIABBqRIgARBYIAIoAgBBL0YNMAwxCyAAQaoSIAEQWCACKAIAQTBHDTAMOAsgAEGrEiABEFggAigCAEExRw0vDDYLIABBrBIgARBYIAIoAgBBMkcNLgwyCyAAQa0SIAEQWCACKAIAQTNHDS0gAigCKCIBQQBKBEAgAEEEaiEDA0AgAUEBayIEIAIoAihPDTAgAigCJCAEQQJ0aiIFKAIARQ0xIANB+hEgBRBbIAFBAUshCSAEIQEgCQ0ACwsMNgsgAEGuEiABEFggAigCAEE0RgRADD0LDCwLIABBrxIgARBYIAIoAgBBNUcNKyACKAIUIgFBAEwNKiAAQQRqIQQDQCABQQFrIgAgAigCFE8NLSACKAIQIABBAnRqIgMoAgBFDS4gBEH6ESADEFsgAUEBSyEKIAAhASAKDQALDCoLIABBsBIgARBYIAIoAgBBNkYNKQwqCyAAQbESIAEQWCACKAIAQTdHDSkMOQsgAEGyEiABEFggAigCAEEWRg0nDCgLIABBsxIgARBYIAIoAgBBF0YNJgwnCyAAQbQSIAEQWCACKAIAQShGDSUMJgsgAEG1EiABEFggAigCAEE4Rw0lIAIoAgwiAUEATA0kIABBBGohBANAIAFBAWsiACACKAIMTw0nIAIoAgggAEECdGoiAygCAEUNKCAEQfoRIAMQWyABQQFLIQsgACEBIAsNAAsMJAsgAEG2EiABEFggAigCAEE5Rw0kDDQLIABBtxIgARBYIAIoAgBBOkcNIwwzCyAAQbgSIAEQWCACKAIAQTtHDSIMMgsgAEG5EiABEFggAigCAEE8Rw0hIABB+hEgAkEYahBYIAIoAgwiAUEATA0gIABBBGohBANAIAFBAWsiACACKAIMTw0jIAIoAgggAEECdGoiAygCAEUNJCAEQfoRIAMQWyABQQFLIQwgACEBIAwNAAsMIAsgAEG6EiABEFggAigCAEE9Rw0gDDALIABBuxIgARBYIAIoAgBBPkcNHwwvCyAAQbwSIAEQWCACKAIAQT9HDR4gAEH6ESACQRRqEFgPCyAAQb0SIAEQWCACKAIAQcAARw0dIAIoAgwiAUEATA0cIABBBGohBANAIAFBAWsiACACKAIMTw0fIAIoAgggAEECdGoiAygCAEUNICAEQfoRIAMQWyABQQFLIQ0gACEBIA0NAAsMHAsgAEG+EiABEFggAigCAEHBAEcNHAwoCyAAQb8SIAEQWCACKAIAQcIARw0bDCYLIABBwBIgARBYIAIoAgBBwwBHDRogAEH6ESACQQxqEFggAigCCEUNGQwrCyAAQcESIAEQWCACKAIAQcQARw0ZDCELIABBwhIgARBYIAIoAgBBxQBHDRgMIAsgAEHDEiABEFggAigCAEHGAEcNFyACKAIMIgFBAEwNFiAAQQRqIQQDQCABQQFrIgAgAigCDE8NGSACKAIIIABBAnRqIgMoAgBFDRogBEH6ESADEFsgAUEBSyEOIAAhASAODQALDBYLIABBxBIgARBYIAIoAgBBxwBHDRYMGwsgAEHFEiABEFggAigCAEHIAEcNFQwZCyAAQcYSIAEQWCACKAIAQckARw0UDCQLIABBxxIgARBYIAIoAgBBygBHDRMgAEH6ESACQRhqEFgMFgsgAEHIEiABEFggAigCAEHLAEcNEgwVCyAAQckSIAEQWCACKAIAQcwARw0RDBcLIABByhIgARBYIAIoAgBBzQBHDRAMFgsgAEHLEiABEFggAigCAEHOAEcNDwwbCyAAQcwSIAEQWCACKAIAQc8ARw0OIAIoAhgEQCAAQQRqQfoRIAJBGGoQWwsgAigCFARAIABBBGpB+hEgAkEUahBbCyACKAIQBEAgAEEEakH6ESACQRBqEFsLDBoLIABBzRIgARBYIAIoAgBB0ABGDQwMDQsgAEHOEiABEFggAigCAEHRAEcNDAwYCyAAQc8SIAEQWCACKAIAQdIARw0LIAIoAhQEQCAAQQRqQfoRIAJBFGoQWwsMFgsgAEHQEiABEFggAigCAEHTAEcNCgwPCyAAQdESIAEQWCACKAIAQdQARw0JDBQLIABB0hIgARBYIAIoAgBB1QBHDQgMFAsgAEHTEiABEFggAigCAEHWAEcNBwwLCyAAQdQSIAEQWCACKAIAQdcARw0GDAsLIABB1RIgARBYIAIoAgBB2ABHDQUMFQsgAEHWEiABEFggAigCAEHZAEcNBAwPCyAAQdcSIAEQWCACKAIAQdoARw0DDA0LIABB2BIgARBYIAIoAgBB2wBHDQIMBwsgAEHZEiABEFggAigCAEHcAEcNASAAQfoRIAJBPGoQWCACKAIwIgFBAEwNACAAQQRqIQQDQCABQQFrIgAgAigCME8NAyACKAIsIABBAnRqIgMoAgBFDQQgBEH6ESADEFsgAUEBSyEPIAAhASAPDQALCw8LQfDtBUHFmANBlAZBjd4AEAEAC0HFogFBiaIDQbwBQaaIBRABAAtBgYMCQdOZA0G5AkGu9wIQAQALIABB+hEgAkEUahBYCyAAQfoRIAJBEGoQWAsgAEH6ESACQQxqEFgMCgsgAEH6ESACQRxqEFgLIABB+hEgAkEYahBYCyAAQfoRIAJBFGoQWAsgAEH6ESACQRBqEFgPCyAAQfoRIAJBFGoQWAsgAEH6ESACQRBqEFgLIABB+hEgAkEMahBYDwsgAEH6ESACQShqEFgLIABB+hEgAkEkahBYDwsgAEH6ESACQRxqEFggAEH6ESACQRhqEFgPCyAAQfoRIAJBCGoQWA8LIABBBGpB+hEgAkEIahBbC4wCAQV/QZyKCygCAARAQZiKCygCACIABEADQCAAKAIAIQQgACwAH0EASARAIAAoAhQQWgsgACwAE0EASARAIAAoAggQWgsgABBaIAQiAA0ACwtBACEAQZiKC0EANgIAAkBBlIoLKAIAIgNFDQAgA0EETwRAIANBfHEhAgNAIABBAnQiAUGQigsoAgBqQQA2AgBBkIoLKAIAIAFqQQA2AgRBkIoLKAIAIAFqQQA2AghBkIoLKAIAIAFqQQA2AgwgAEEEaiIAIAJHDQALCyADQQNxIgJFDQBBACEBA0BBkIoLKAIAIABBAnRqQQA2AgAgAEEBaiEAIAFBAWoiASACRw0ACwtBnIoLQQA2AgALC2gBBX8jAEEQayICJAAgAkEEakG1/AIQyAEhAUHUiQtBADYCAEH3ESABIAAQAiEAQdSJCygCACEEQdSJC0EANgIAIARBAUcEQCABEMIBGiACQRBqJAAgAA8LEAAhBSABEMIBGiAFEAcAC3wBAX8jAEEgayICJAACQCAAKAIAQQZGBEAgAUUNASACIAEQbDYCHCACIAE2AhggAiACKQIYNwMIIAJBEGogAkEIahBlIAAgAikDEDcCGCACQSBqJAAPC0HSrgZBp7cCQcgRQY6BARABAAtBwoABQae3AkHJEUGOgQEQAQAL4gMBBX8CQAJAAkAgBEEATA0AIAQgACgCCCIFIAAoAgQiCGtBAnVMBEACQCAEIAggAWsiBUECdSIHTARAIAIgBEECdGohBiAIIQUMAQsgAyACIAVqIgZrIQUgAyAGRwRAIAggBiAF/AoAAAsgACAFIAhqIgU2AgQgB0EATA0CCyABIARBAnQiA2ohByAIIAUiBCADayIDSwRAA0AgBCADKAIANgIAIARBBGohBCADQQRqIgMgCEkNAAsLIAAgBDYCBCAFIAdHBEAgBSAFIAdrIgBrIAEgAPwKAAALIAIgBkYNASABIAIgBiACa/wKAAAPCyAIIAAoAgAiBmtBAnUgBGoiA0GAgICABE8NAUH/////AyAFIAZrIgVBAXUiByADIAMgB0kbIAVB/P///wdPGyIHBH8gB0GAgICABE8NAyAHQQJ0EFwFQQALIgkgASAGa0F8cWoiBSACIARBAnQiAvwKAAAgBSEDIAEgBkcEQCABIQQDQCADQQRrIgMgBEEEayIEKAIANgIAIAQgBkcNAAsLIAIgBWohAiAIIAFrIQQgASAIRwRAIAIgASAE/AoAAAsgACAHQQJ0IAlqNgIIIAAgAzYCACAAIAIgBGo2AgQgBkUNACAGEFoLDwsQZAALEGoAC5gUAhR/AX4jAEEwayILJAAgAEGcAWohEQJAAkACQANAAkACQAJAAkACQAJAAkACQCABEKUCKAIEIANLBEAgASADEGktAABFBEAgC0EQaiIFIAAgASADEGkQ/AggAigCACEHIAAoAgAhEiALQRxqIBEgCykDECIZIAUQyxAgCygCHCgCGCEFIBJBqAFqQRBBBBBdIgwgGTcCCCAMQis3AgAgBUEQTwRAIAUtAAANBAsgC0EANgIoIAsgBTYCJCALQQA6ABxB1IkLQQA2AgAgC0EBNgIgQQdB2J0LIAtBHGoiCRACIQVB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRgRAEAAhFCAJEHcgFBAHAAsgDCAFNgIEIAcoAiAiBSAHKAIkIgZJBEAgBSAMNgIAIAcgBUEEajYCICADQQFqIQMMCwsgBSAHKAIcIg5rQQJ1IghBAWoiCkGAgICABE8NCUH/////AyAGIA5rIglBAXUiBiAKIAYgCksbIAlB/P///wdPGyIKBH8gCkGAgICABE8NDCAKQQJ0EFwFQQALIgkgCEECdGoiCCAMNgIAIAhBBGohBiAFIA5HBEADQCAIQQRrIgggBUEEayIFKAIANgIAIAUgDkcNAAsgBygCHCEFCyAHIAkgCkECdGo2AiQgByAGNgIgIAcgCDYCHCAFRQ0IIAUQWiADQQFqIQMMCgsgBEUEQEEUEHIhAkHUiQtBADYCAEHMASALQZLQBRACIQRB1IkLKAIAIRVB1IkLQQA2AgBBASEDIBVBAUYNBEHUiQtBADYCAEHQASACIAQgARAEIQFB1IkLKAIAIRZB1IkLQQA2AgAgFkEBRwRAQQAhA0HUiQtBADYCAEHNASABQbC5B0HOARAIQdSJCygCACEXQdSJC0EANgIAIBdBAUcNAwsQACEFIAQsAAtBAEgEQCAEKAIAEFoLIANFDQ0MDAsCQCABIAMQaSIPLQAARQ0AQeCbCygCACEGIA8QpQIoAgRFDQAgD0EAEGktAAANACALQRxqIgUgD0EAEGkQ7AEgCygCHCAGRw0AIA9BARBpLQAABEAgAigCACEHIAsgACAPQQEQaSIGEKQBIgw2AgwCQCAGKAIoIgZFDQAgACgC0AFFDQAgBSAAIAYQowEgC0EQaiAAKALQAUHgAGogDCALQQxqEHggCygCECIGIAsoAiQ2AhQgBiALKQIcNwIMCyAHKAIgIgUgBygCJCIGSQRAIAUgDDYCACAHIAVBBGo2AiAgA0EBaiEDDAwLIAUgBygCHCIOa0ECdSIIQQFqIgpBgICAgARPDQpB/////wMgBiAOayIJQQF1IgYgCiAGIApLGyAJQfz///8HTxsiCgR/IApBgICAgARPDQ0gCkECdBBcBUEACyIJIAhBAnRqIgggDDYCACAIQQRqIQYgBSAORwRAA0AgCEEEayIIIAVBBGsiBSgCADYCACAFIA5HDQALIAcoAhwhBQsgByAJIApBAnRqNgIkIAcgBjYCICAHIAg2AhwgBUUNCSAFEFogA0EBaiEDDAsLIA8QpQIiDSgCBCIGRQ0FIAZBAWsiB0UNB0EAIQUgB0EDcSIIBEADQCANKAIAIgkgBUECdGogCSAFQQFqIgVBAnRqKAIANgIAIAUgCEcNAAsLIAZBAmtBAksNBgwHCyACKAIAIQcgCyAAIA8QpAEiDDYCDAJAIA8oAigiBkUNACAAKALQAUUNACALQRxqIAAgBhCjASALQRBqIAAoAtABQeAAaiAMIAtBDGoQeCALKAIQIgYgCygCJDYCFCAGIAspAhw3AgwLIAcoAiAiBSAHKAIkIgZJBEAgBSAMNgIAIAcgBUEEajYCICADQQFqIQMMCgsgBSAHKAIcIg5rQQJ1IghBAWoiCkGAgICABE8NCEH/////AyAGIA5rIglBAXUiBiAKIAYgCksbIAlB/P///wdPGyIKBH8gCkGAgICABE8NCyAKQQJ0EFwFQQALIgkgCEECdGoiCCAMNgIAIAhBBGohBiAFIA5HBEADQCAIQQRrIgggBUEEayIFKAIANgIAIAUgDkcNAAsgBygCHCEFCyAHIAkgCkECdGo2AiQgByAGNgIgIAcgCDYCHCAFRQ0HIAUQWgwHCyAAKAIAIAIQqwoaIAtBMGokAA8LAAtB/tAGQbizAkHoBUG4jAQQAQALEAAhBQwHC0GDkwZBiaIDQf0CQfiRARABAAsDQCANKAIAIgggBUECdCIKaiAIIApBBGoiCWooAgA2AgAgDSgCACIIIAlqIAggCkEIaiIJaigCADYCACAJIA0oAgAiCWogCSAKQQxqIghqKAIANgIAIAggDSgCACIJaiAJIAVBBGoiBUECdGooAgA2AgAgBSAHRw0ACwsgBiEFAkAgDSgCCCAHTw0AIA0gBzYCCCANKAIAIQwgDSANKAIMIAdBAnRBBBBdNgIAIA0oAgQiBUUEQEEAIQUMAQtBACEKQQAhECAFQQRPBEAgBUF8cSEIA0AgEEECdCIOIA0oAgBqIAwgDmooAgA2AgAgDkEEciIJIA0oAgBqIAkgDGooAgA2AgAgDkEIciIJIA0oAgBqIAkgDGooAgA2AgAgDkEMciIJIA0oAgBqIAkgDGooAgA2AgAgEEEEaiIQIAhHDQALCyAFQQNxIghFDQADQCAQQQJ0IgkgDSgCAGogCSAMaigCADYCACAQQQFqIRAgCkEBaiIKIAhHDQALCwJAIAUgB08NACAGIAVrQQJrIRhBACEQIAYgBUF/c2pBA3EiBgRAA0AgDSgCACAFQQJ0akEANgIAIAVBAWohBSAQQQFqIhAgBkcNAAsLIBhBA0kNAANAIAVBAnQiBiANKAIAakEANgIAIA0oAgAgBmpBADYCBCANKAIAIAZqQQA2AgggDSgCACAGakEANgIMIAVBBGoiBSAHRw0ACwsgDSAHNgIEIAIoAgAhByALIAAgDxCkASIMNgIMAkAgDygCKCIGRQ0AIAAoAtABRQ0AIAtBHGogACAGEKMBIAtBEGogACgC0AFB4ABqIAwgC0EMahB4IAsoAhAiBiALKAIkNgIUIAYgCykCHDcCDAsgBygCICIFIAcoAiQiBkkEQCAFIAw2AgAgByAFQQRqNgIgIANBAWohAwwDCyAFIAcoAhwiDmtBAnUiCEEBaiIKQYCAgIAETw0BQf////8DIAYgDmsiCUEBdSIGIAogBiAKSxsgCUH8////B08bIgoEfyAKQYCAgIAETw0EIApBAnQQXAVBAAsiCSAIQQJ0aiIIIAw2AgAgCEEEaiEGIAUgDkcEQANAIAhBBGsiCCAFQQRrIgUoAgA2AgAgBSAORw0ACyAHKAIcIQULIAcgCSAKQQJ0ajYCJCAHIAY2AiAgByAINgIcIAVFDQAgBRBaIANBAWohAwwCCyADQQFqIQMMAQsLEGQACxBqAAsgAhBuCyAFEAcAC4UNARR/IwBBIGsiBiQAAkACQAJAAkACQAJAAkACQCACQRBJDQAgAigCEA0AQcQBEFwiBUEIakEAQbwB/AsAIAVCADcCDCAFQQA6AAggBUIANwIAIAVCADcCFEHUiQtBADYCACAGQgA3AhggBkIANwMIQSkgBUEcaiAGQQhqEAIhDUHUiQsoAgAhC0HUiQtBADYCACALQQFGBEAQACEMIAUQWiAMEAcACyAFQgA3AiAgBUIANwJMIAVCADcCYCAFQgA3AowBIAVBQGtCADcCACAFQgA3AjggBUIANwIwIAVCADcCKCAFQYCAgPwDNgJIIAVCADcCVCAFQYCAgPwDNgJcIAVCADcCaCAFQfgAaiIIQgA3AgAgBUGAgID8AzYCcCAFQYQBaiIJQgA3AgAgBSAINgJ0IAUgCTYCgAEgBUIANwKUASAFQgA3AqABIAVBgICA/AM2ApwBIAVCADcCqAEgBUGAgID8AzYCsAEgBUIANwK0ASAFQgA3AboBIAYgBTYCFCAFIAA3AgAgDSACNgIAIAUgBDYCMCABKAIAIgIgASgCBEYNAiAFKAIcIgRBEEkNBCAEKAIQDQQgBCgCFCIEQQdPBEAgBCgCBA0CIAQoAggoAgAhBAwCCyAEDQFBoNYFIQRB2AghCEHdwwYhCQwFC0GBlQZBmpYDQcAAQZjUAhABAAsgBCACKAIIRw0BIAYgBSgCRCIENgIQIAIoAgAhB0HUiQtBADYCAEHmACAGQRhqIgggBUHMAGogByACEAVB1IkLKAIAIQ5B1IkLQQA2AgAgDkEBRg0FIAYoAhggBDYCEEHUiQtBADYCAEHpBSAIIAYoAhQiBUE4aiAGKAIQIAZBEGoQBUHUiQsoAgAhD0HUiQtBADYCACAPQQFGDQUgBigCGCACKQIANwIMQQEhAiABKAIEIAEoAgAiB2tBDG1BAU0NAANAIAUoAhwiCkEQSQ0DIAooAhANA0Gg1gUhBEHYCCEIQd3DBiEJIAooAhQiCkEHSQ0EIAooAgQNBCAKKAIIIAJBAnRqKAIAIAcgAkEMbGoiBCgCCEcNAiAGIAUoAkQiBzYCECAEKAIAIQhB1IkLQQA2AgBB5gAgBkEYaiIJIAVBzABqIAggBBAFQdSJCygCACEQQdSJC0EANgIAIBBBAUYNBiAGKAIYIAc2AhBB1IkLQQA2AgBB6QUgCSAGKAIUIgVBOGogBigCECAGQRBqEAVB1IkLKAIAIRFB1IkLQQA2AgAgEUEBRg0GIAYoAhggBCkCADcCDCACQQFqIgIgASgCBCABKAIAIgdrQQxtSQ0ACwsCQCADKAIAIgcgAygCBCIJRwRAA0ACQCAFKAIoIgIgBSgCLEcEQCACIAcoAgg2AgAgBSACQQRqNgIoDAELAkACQAJAIAIgBSgCJCIBayIDQQJ1IgpBAWoiBEGAgICABE8EQEHUiQtBADYCAEETEAkMAQtB/////wMgA0EBdSIIIAQgBCAISRsgA0H8////B08bIgNFBEBBACEIDAMLIANBgICAgARJDQFB1IkLQQA2AgBBAxAJC0HUiQsoAgAhEkHUiQtBADYCACASQQFHDQkMCgtB1IkLQQA2AgBBBCADQQJ0EAYhCEHUiQsoAgAhE0HUiQtBADYCACATQQFGDQkLIAggCkECdGoiBCAHKAIINgIAIARBBGohCiABIAJHBEADQCAEQQRrIgQgAkEEayICKAIANgIAIAEgAkcNAAsLIAUgCCADQQJ0ajYCLCAFIAo2AiggBSAENgIkIAFFDQAgARBaCyAGIAUoAkQiATYCECAHKAIAIQJB1IkLQQA2AgBB5gAgBkEYaiIDIAVBzABqIAIgBxAFQdSJCygCACEUQdSJC0EANgIAIBRBAUYNAiAGKAIYIAE2AhBB1IkLQQA2AgBB6QUgAyAGKAIUIgVBOGogBigCECAGQRBqEAVB1IkLKAIAIRVB1IkLQQA2AgAgFUEBRg0CIAYoAhggBykCADcCDCAHQQxqIgcgCUcNAAsLIAZBIGokACAFDwsMBAtB1IkLQQA2AgBBDUGB6QNBmpYDQccAQZjUAhAFQdSJCygCACEWQdSJC0EANgIAIBZBAUcNAgwDC0HhlQYhCUHbCSEIQY/iAyEEC0HUiQtBADYCAEENIAlBuLMCIAggBBAFQdSJCygCACEXQdSJC0EANgIAIBdBAUYNAQsACxAAIRggBkEUahDHAiAYEAcAC7cGAQd/AkACQAJAIARBAEwNACAEIAAoAggiByAAKAIEIghrQQxtTARAAkAgBCAIIAFrIgdBDG1MBEAgAiAEQQxsaiEJIAghBQwBCwJAIAMgAiAHaiIJRgRAIAghBQwBCyAJIQYgCCEFA0AgBSAGKQIANwIAIAUgBigCCDYCCCAFQQxqIQUgBkEMaiIGIANHDQALCyAAIAU2AgQgB0EATA0CCyABIARBDGwiBGohByAFIQMgCCAFIARrIgZLBEAgBiEEA0AgAyAEKQIANwIAIAMgBCgCCDYCCCADQQxqIQMgBEEMaiIEIAhJDQALCyAAIAM2AgQgBSAHRwRAA0AgBUEMayIFIAZBDGsiBikCADcCACAFIAYoAgg2AgggASAGRw0ACwsgAiAJRg0BA0AgASACKQIANwIAIAEgAigCCDYCCCABQQxqIQEgAkEMaiICIAlHDQALDAELIAggACgCACIDa0EMbSAEaiIFQdaq1aoBTw0BQdWq1aoBIAcgA2tBDG0iB0EBdCIKIAUgBSAKSRsgB0Gq1arVAE8bIgcEQCAHQdaq1aoBTw0DIAdBDGwQXCEJCyAJIAEgA2tBDG1BDGxqIQMCQCAEQQxsIgRBDGsiCkEMbkEBakEDcSILRQRAIAMhBQwBCyADIQUDQCAFIAIpAgA3AgAgBSACKAIINgIIIAJBDGohAiAFQQxqIQUgBkEBaiIGIAtHDQALCyADIARqIQYgCkEkTwRAA0AgBSACKQIANwIAIAUgAigCCDYCCCAFIAIoAhQ2AhQgBSACKQIMNwIMIAUgAigCIDYCICAFIAIpAhg3AhggBSACKQIkNwIkIAUgAigCLDYCLCACQTBqIQIgBUEwaiIFIAZHDQALCyABIAAoAgAiBEcEQCABIQIDQCADQQxrIgMgAkEMayICKQIANwIAIAMgAigCCDYCCCACIARHDQALIAAoAgQhCAsgASAIRwRAA0AgBiABKQIANwIAIAYgASgCCDYCCCAGQQxqIQYgAUEMaiIBIAhHDQALCyAAIAdBDGwgCWo2AgggACAGNgIEIAAoAgAhASAAIAM2AgAgAUUNACABEFoLDwsQZAALEGoAC+8QASV/IwBBMGsiByQAAkACQAJAAkACQAJAAkACQAJAAkAgAi0AAEUNAEHgnAsoAgAhBCACEKUCKAIERQ0AIAJBABBpLQAADQAgB0EoaiACQQAQaRDsASAHKAIoIARGDQELIAItAABFDQFB6JwLKAIAIQQgAhClAigCBEUNASACQQAQaS0AAA0BIAdBKGogAkEAEGkQ7AEgBygCKCAERw0BCyAAQQA2AgggAEIANwIAQdSJC0EANgIAQc8BIAIQBiEFQdSJCygCACEQQdSJC0EANgIAIBBBAUcEQAJAIAUoAgRBAUYNAEEAIQVBASEIA0BB1IkLQQA2AgBBzwEgAhAGIQZB1IkLKAIAIRFB1IkLQQA2AgAgEUEBRg0EIAggBigCBE8NAUHUiQtBADYCAEHHASACIAgQAiEGQdSJCygCACESQdSJC0EANgIAIBJBAUYNCQJ/AkAgBi0AAA0AIAYtABxFDQAgCEEBRwRAQRQQciEDQdSJC0EANgIAQcwBIAdBHGpBs/0DEAIhBEHUiQsoAgAhAUHUiQtBADYCAEEBIQYCQCABQQFHBEBB1IkLQQA2AgBBxwEgAiAIEAIhAkHUiQsoAgAhAUHUiQtBADYCAAJAIAFBAUYNAEHUiQtBADYCAEHQASADIAQgAhAEIQJB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRg0AQdSJC0EANgIAQc0BIAJBsLkHQc4BEAhB1IkLKAIAIRRB1IkLQQA2AgBBACEGIBRBAUcNDQsQACEFIAQsAAtBAEgEQCAEKAIAEFoLIAYNAQwPCxAAIQULIAMQbgwNC0HUiQtBADYCAEHPASACEAYhFkHUiQsoAgAhFUHUiQtBADYCACAVQQFGDQsgFigCBEECTQRAQRQQciEEQdSJC0EANgIAQcwBIAdBEGpBuRIQAiEDQdSJCygCACEXQdSJC0EANgIAQQEhCCAXQQFGDQhB1IkLQQA2AgBB0AEgBCADIAIQBCECQdSJCygCACEYQdSJC0EANgIAIBhBAUcEQEEAIQhB1IkLQQA2AgBBzQEgAkGwuQdBzgEQCEHUiQsoAgAhGUHUiQtBADYCACAZQQFHDQsLEAAhBSADLAALQQBIBEAgAygCABBaCyAIRQ0NIAQQbgwNC0HUiQtBADYCAEHHASACQQEQAiEGQdSJCygCACEEQdSJC0EANgIAAkAgBEEBRg0AQdSJC0EANgIAQdQBIAdBKGogBhADQdSJCygCACEaQdSJC0EANgIAIBpBAUYNACAHKAIsIQ1BAiEIIAcoAigMAgsQACEFDAwLIAMoAgAhBEHUiQtBADYCAEHoASAHQShqIAQQA0HUiQsoAgAhG0HUiQtBADYCACAbQQFGDQcgBygCLCENIAcoAigLIQ8gAyADKAIAQQFqNgIAQdSJC0EANgIAQccBIAIgCBACIQZB1IkLKAIAIQRB1IkLQQA2AgACQAJAAkACQCAEQQFGDQBB1IkLQQA2AgBB6xEgASAGEAIhDEHUiQsoAgAhHEHUiQtBADYCACAcQQFGDQAgAi0AAEUNA0HgnAsoAgAhDkHUiQtBADYCAEHPASACEAYhHkHUiQsoAgAhHUHUiQtBADYCACAdQQFGDQwgHigCBEUNA0HUiQtBADYCAEHHASACQQAQAiEgQdSJCygCACEfQdSJC0EANgIAIB9BAUYNDCAgLQAADQNB1IkLQQA2AgBBxwEgAkEAEAIhBkHUiQsoAgAhIUHUiQtBADYCACAhQQFGDQxB1IkLQQA2AgBB1AEgB0EoaiAGEANB1IkLKAIAISJB1IkLQQA2AgAgIkEBRg0MIAcoAiggDkcNAyAMQQdJDQMgDCgCBA0DQRQQciEDQdSJC0EANgIAQcwBIAdBBGpBrtABEAIhBEHUiQsoAgAhI0HUiQtBADYCAEEBIQYgI0EBRg0BQdSJC0EANgIAQccBIAIgCBACIQJB1IkLKAIAIQFB1IkLQQA2AgACQCABQQFGDQBB1IkLQQA2AgBB0AEgAyAEIAIQBCECQdSJCygCACEkQdSJC0EANgIAICRBAUYNAEHUiQtBADYCAEHNASACQbC5B0HOARAIQdSJCygCACElQdSJC0EANgIAQQAhBiAlQQFHDQwLEAAhBSAELAALQQBIBEAgBCgCABBaCyAGDQIMDgsQACEFDA0LEAAhBQsgAxBuDAsLIAAoAggiBCAFSwRAIAUgDDYCCCAFIA02AgQgBSAPNgIAIAAgBUEMaiIFNgIEIAhBAWohCAwBCwJAAkAgBSAAKAIAIgtrIglBDG0iDkEBaiIKQdaq1aoBTwRAQdSJC0EANgIAQfIREAlB1IkLKAIAISZB1IkLQQA2AgAgJkEBRg0BDAoLQdWq1aoBIAQgC2tBDG0iBkEBdCIEIAogBCAKSxsgBkGq1arVAE8bIgRB1qrVqgFJDQFB1IkLQQA2AgBBAxAJQdSJCygCACEnQdSJC0EANgIAICdBAUcNCQsQACEFDAsLQdSJC0EANgIAQQQgBEEMbCIGEAYhCkHUiQsoAgAhKEHUiQtBADYCACAoQQFGDQggCSAKaiIJIA02AgQgCSAPNgIAIAogDkEMbGogDDYCCCAJQQxqIQQgBSALRwRAA0AgCUEMayIJIAVBDGsiBSkCADcCACAJIAUoAgg2AgggBSALRw0ACwsgACAGIApqNgIIIAAgBDYCBCAAIAk2AgAgCwRAIAsQWgsgBCEFIAhBAWohCAwACwALIAdBMGokAA8LEAAhBQwHC0Hy7wVBiZoCQfcEQbH1AhABAAsQACEFDAULEAAhBSAEEG4MBAsQACEFDAMLAAsQACEFDAELEAAhBQsgACgCACIBBEAgACABNgIEIAEQWgsgBRAHAAsmACAAKAIAQQZHBEBB0q4GQae3AkGBEkGtzAIQAQALIAAgAToAIAv7IgJDfwJ+IwBBkAFrIgQkAEE4EFwiCEIANwIAIAhCADcCICAIQgA3AhggCEIANwIQIAhCADcCCCAIQoCAgIAgNwIwIAhCgIAENwMoQdSJC0EANgIAIAQgCDYChAFBzwEgARAGIQJB1IkLKAIAIQNB1IkLQQA2AgACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIANBAUYNACACKAIEIQJB1IkLQQA2AgBBxwEgASACQQFrEAIhAkHUiQsoAgAhDUHUiQtBADYCACANQQFGDQAgCCACLQAABH9BAAVBmJ0LKAIAIQNB1IkLQQA2AgBB1AEgBEGIAWogAhADQdSJCygCACEOQdSJC0EANgIAIA5BAUYNASAEKAKIASADRgs6ADBB1IkLQQA2AgBBxwEgAUEBEAIhAkHUiQsoAgAhD0HUiQtBADYCACAPQQFGDQsCQAJAIAItAAANACACLQAcRQ0AQdSJC0EANgIAQccBIAFBARACIQJB1IkLKAIAIRBB1IkLQQA2AgAgEEEBRg0NQdSJC0EANgIAQdQBIARB+ABqIAIQA0HUiQsoAgAhEUHUiQtBADYCACARQQFGDQ0gBCkDeCFFIAhBAToACCAIIEU3AgBBAiEFDAELQQEhBSAAIAAoApQBIgJBAWo2ApQBQdSJC0EANgIAQegBIARBiAFqIAIQA0HUiQsoAgAhEkHUiQtBADYCACASQQFGDQIgCCAEKQOIASJFNwIACwJAIAAoAlQiAiAAKAJYRwRAIAIgRTcCACAAIAJBCGo2AlQMAQsgAiAAKAJQIglrIgNBA3UiCkEBaiIHQYCAgIACTwRAQdSJC0EANgIAQfcAEAlB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRg0NDA8LAkBB/////wEgA0ECdSIGIAcgBiAHSxsgA0H4////B08bIgdFBEBBACEGDAELIAdBgICAgAJPBEBB1IkLQQA2AgBBAxAJQdSJCygCACEUQdSJC0EANgIAIBRBAUcNEAwOC0HUiQtBADYCAEEEIAdBA3QQBiEGQdSJCygCACEVQdSJC0EANgIAIBVBAUYNDQsgBiAKQQN0aiIDIEU3AgAgA0EIaiEKIAIgCUcEQANAIANBCGsiAyACQQhrIgIpAgA3AgAgAiAJRw0ACyAAKAJQIQILIAAgBiAHQQN0ajYCWCAAIAo2AlQgACADNgJQIAJFDQAgAhBaC0HUiQtBADYCAEH0ESABIAUgBEGEAWoQBCECQdSJCygCACEWQdSJC0EANgIAIBZBAUYNC0HUiQtBADYCAEHHASABIAIQAiEYQdSJCygCACEXQdSJC0EANgIAIBdBAUYNCiAYLQAARQ0HQdSJC0EANgIAQccBIAEgAhACIQdB1IkLKAIAIRlB1IkLQQA2AgAgGUEBRg0EAkAgBy0AAEUNAEHInAsoAgAhA0HUiQtBADYCAEHPASAHEAYhG0HUiQsoAgAhGkHUiQtBADYCACAaQQFGDQUgGygCBEUNAEHUiQtBADYCAEHHASAHQQAQAiEdQdSJCygCACEcQdSJC0EANgIAIBxBAUYNBSAdLQAADQBB1IkLQQA2AgBBxwEgB0EAEAIhBUHUiQsoAgAhHkHUiQtBADYCACAeQQFGDQVB1IkLQQA2AgBB1AEgBEGIAWogBRADQdSJCygCACEfQdSJC0EANgIAIB9BAUYNBSAEKAKIASADRw0AQdSJC0EANgIAQQRBFBAGIQVB1IkLKAIAIQNB1IkLQQA2AgACQAJAAkACQCADQQFHBEAgBUIANwIAIAVBADYCECAFQgA3AghB1IkLQQA2AgBBxwEgB0EBEAIhA0HUiQsoAgAhIEHUiQtBADYCACAgQQFGDQNB1IkLQQA2AgBB1AEgBEHwAGogAxADQdSJCygCACEhQdSJC0EANgIAICFBAUYNAyAFIAQpA3AiRTcCACAIKQIAIUYgBUECNgIQIAUgRjcCCCAAKAIAIgsoAsQBIgZFDQsgCygCwAECfyBFpyIJIAZBAWtxIAZpIgpBAU0NABogCSAGIAlLDQAaIAkgBnALIgxBAnRqKAIAIgNFDQsgAygCACIDRQ0LAkAgCkEBTQRAIAZBAWshBgNAAkAgCSADKAIEIgpHBEAgBiAKcSAMRg0BDBALIAMoAgggCUYNAwsgAygCACIDDQALDA0LA0ACQCAJIAMoAgQiCkcEQCAGIApNBH8gCiAGcAUgCgsgDEYNAQwPCyADKAIIIAlGDQILIAMoAgAiAw0ACwwMCyADKAIQRQ0LQRQQciEDQdSJC0EANgIAQcwBIARB5ABqQefeABACIQFB1IkLKAIAISJB1IkLQQA2AgBBASEAICJBAUYNAUHUiQtBADYCAEHQASADIAEgBxAEIQJB1IkLKAIAISNB1IkLQQA2AgAgI0EBRwRAQQAhAEHUiQtBADYCAEHNASACQbC5B0HOARAIQdSJCygCACEkQdSJC0EANgIAICRBAUcNFAsQACECIAEsAAtBAEgEQCABKAIAEFoLIAANAgwECxAAIQIMEQsQACECCyADEG4gBRBaDA8LEAAhAgsgBRBaDA0LAkAgBy0AAEUNAEGQnAsoAgAhA0HUiQtBADYCAEHPASAHEAYhJkHUiQsoAgAhJUHUiQtBADYCACAlQQFGDQUgJigCBEUNAEHUiQtBADYCAEHHASAHQQAQAiEoQdSJCygCACEnQdSJC0EANgIAICdBAUYNBSAoLQAADQBB1IkLQQA2AgBBxwEgB0EAEAIhBUHUiQsoAgAhKUHUiQtBADYCACApQQFGDQVB1IkLQQA2AgBB1AEgBEGIAWogBRADQdSJCygCACEqQdSJC0EANgIAICpBAUYNBSAEKAKIASADRw0AQdSJC0EANgIAQccBIAdBARACIQNB1IkLKAIAIQVB1IkLQQA2AgACQAJAIAVBAUYNAEHUiQtBADYCAEHUASAEQdgAaiADEANB1IkLKAIAIStB1IkLQQA2AgAgK0EBRg0AIAggBCkDWDcCDEHUiQtBADYCAEHHASAHQQIQAiEDQdSJCygCACEsQdSJC0EANgIAICxBAUYNAUHUiQtBADYCAEHUASAEQdAAaiADEANB1IkLKAIAIS1B1IkLQQA2AgAgLUEBRg0BIAggBCkDUDcCFAwJCxAAIQIMDgsQACECDA0LQdSJC0EANgIAQc8BIAcQBiEBQdSJCygCACEuQdSJC0EANgIAIC5BAUYNBAJAIAEoAgRFDQBB1IkLQQA2AgBBxwEgB0EAEAIhAUHUiQsoAgAhAkHUiQtBADYCAAJAAkACQCACQQFGDQBB1IkLQQA2AgBB1AEgBEGIAWogARADQdSJCygCACEvQdSJC0EANgIAIC9BAUYNACAEKAKIAUGQnAsoAgBHDQNBFBByIQNB1IkLQQA2AgBBzAEgBEHEAGpB6KsDEAIhAUHUiQsoAgAhMEHUiQtBADYCAEEBIQAgMEEBRg0BQdSJC0EANgIAQdABIAMgASAHEAQhAkHUiQsoAgAhMUHUiQtBADYCACAxQQFHBEBB1IkLQQA2AgBBzQEgAkGwuQdBzgEQCEHUiQsoAgAhMkHUiQtBADYCAEEAIQAgMkEBRw0SCxAAIQIgASwAC0EASARAIAEoAgAQWgsgAA0CDBALEAAhAgwPCxAAIQILIAMQbgwNC0HUiQtBADYCAEH0ESAHQQEgBEGEAWoQBCEKQdSJCygCACEBQdSJC0EANgIAAn8CQAJAAkACQCABQQFHBEAgACgCBCEBQdSJC0EANgIAQQwgAUEgQQgQBCECQdSJCygCACEzQdSJC0EANgIAIDNBAUYNASACQgA3AgQgAkEONgIAIAJCADcCDCACQgA3AhQgAkEIaiEBIAgoAjRBA0cNAiAEQQM2AjggBEIANwMoIAEgBEEoaiIDRw0DQQAMBQsQACECDBELEAAhAgwQCyAEQQI2AiAgBEEANgIQQQAgBEEQaiIDIAFGDQIaIAEQWSEBQdSJC0EANgIAQcAAIAEgAxACGkHUiQsoAgAhNEHUiQtBADYCACA0QQFHDQEQACECIAMQWRoMDwsgARBZIQFB1IkLQQA2AgBBwAAgASAEQShqIgMQAhpB1IkLKAIAITVB1IkLQQA2AgAgNUEBRg0FCyACKAIYCyEFIAIgBTYCBCADEFkaIAAgACgCmAEiAUEBajYCmAFB1IkLQQA2AgBB6AEgBEGIAWogARADQdSJCygCACEBQdSJC0EANgIAAkAgAUEBRwRAIAgpAwAhRkHUiQtBADYCACAEKQOIASFFQQRBKBAGIQFB1IkLKAIAITZB1IkLQQA2AgAgNkEBRg0BIAFCADcCGCABQgA3AgggAUIANwIQIAEgRTcCACABQgA3AiAgASACNgIYIAEgRjcCDCAEIAE2AgwCQCAAKAJgIgIgACgCZEcEQCACIEU3AgAgACACQQhqNgJgDAELIAIgACgCXCIJayIDQQN1IgtBAWoiBUGAgICAAk8EQEHUiQtBADYCAEH3ABAJQdSJCygCACE3QdSJC0EANgIAIDdBAUcNEQwGCwJAQf////8BIANBAnUiBiAFIAUgBkkbIANB+P///wdPGyIGRQRAQQAhBQwBCyAGQYCAgIACTwRAQdSJC0EANgIAQQMQCUHUiQsoAgAhOEHUiQtBADYCACA4QQFHDRIMBwtB1IkLQQA2AgBBBCAGQQN0EAYhBUHUiQsoAgAhOUHUiQtBADYCACA5QQFGDQYLIAUgC0EDdGoiAyBFNwIAIANBCGohCyACIAlHBEADQCADQQhrIgMgAkEIayICKQIANwIAIAIgCUcNAAsgACgCXCECCyAAIAUgBkEDdGo2AmQgACALNgJgIAAgAzYCXCACRQ0AIAIQWgtB1IkLQQA2AgBB7gEgByAKIARBDGoiAhAIQdSJCygCACE6QdSJC0EANgIAIDpBAUYNBCAIIAEoAiAgASgCHGutNwMgIAAoAgAhAUHUiQtBADYCAEHvASABIAIQA0HUiQsoAgAhO0HUiQtBADYCACA7QQFGDQQgACgCACEAQdSJC0EANgIAQTMgACAEQYQBahADQdSJCygCACE8QdSJC0EANgIAIDxBAUYNBCAEKAIMIgBFDQogACgCHCIBBEAgACABNgIgIAEQWgsgABBaDAoLEAAhAgwNCxAAIQIMDAsQACECDAsLEAAhAgwKCxAAIQIgBEEMahCoAwwJCxAAIQIgBEEoahBZGgwICxAAIQIMBwtB1IkLQQA2AgBB9wEgCyAFEAIaQdSJCygCACE9QdSJC0EANgIAID1BAUcNABAAIQIMBgsgAkEBaiECC0HUiQtBADYCAEGBAiABIAIgBEGEAWoQBCECQdSJCygCACE+QdSJC0EANgIAID5BAUYNAiAILQAwIQNB1IkLQQA2AgBBzwEgARAGIUBB1IkLKAIAIT9B1IkLQQA2AgAgP0EBRg0CIEAoAgQgAiADakcEQEEUEHIhAEHUiQtBADYCAEHMASAEQa0VEAIhA0HUiQsoAgAhQUHUiQtBADYCAEEBIQUgQUEBRg0CQdSJC0EANgIAQccBIAEgAhACIQFB1IkLKAIAIQJB1IkLQQA2AgACQCACQQFGDQBB1IkLQQA2AgBB0AEgACADIAEQBCEBQdSJCygCACFCQdSJC0EANgIAIEJBAUYNAEHUiQtBADYCAEHNASABQbC5B0HOARAIQdSJCygCACFDQdSJC0EANgIAQQAhBSBDQQFHDQcLEAAhAiADLAALQQBIBEAgAygCABBaCyAFRQ0FIAAQbgwFCyAAKAIAIQBB1IkLQQA2AgBBMyAAIARBhAFqEANB1IkLKAIAIURB1IkLQQA2AgAgREEBRg0CCyAEKAKEASIABEAgABBaCyAEQZABaiQADwsQACECIAAQbgwCCxAAIQIMAQsQACECCyAEKAKEASIABEAgABBaCyACEAcACwALowYCC38BfiMAQTBrIgMkAAJAAkACQAJAAkAgACABIAIQyBAiBCAAEKUCKAIERgRAQRQQciECQdSJC0EANgIAQcwBIANBGGpBvKUBEAIhA0HUiQsoAgAhB0HUiQtBADYCAEEBIQEgB0EBRg0BQdSJC0EANgIAQdABIAIgAyAAEAQhAEHUiQsoAgAhCEHUiQtBADYCACAIQQFHBEBBACEBQdSJC0EANgIAQc0BIABBsLkHQc4BEAhB1IkLKAIAIQlB1IkLQQA2AgAgCUEBRw0GCxAAIQAgAywAC0EASARAIAMoAgAQWgsgAUUNBCACEG4MBAsgA0EkaiIBIAAgBBBpIgUQmgRB1IkLQQA2AgAgAUEKEO4EIQ5B1IkLKAIAIQFB1IkLQQA2AgACQAJAAkACQCABQQFHBEAgAywAL0EASARAIAMoAiQQWgsgBEEBaiEBIAIoAgAgDjcDICACKAIAIgYoAjRBA0cEQCAGKQMgQaDxACAFEMoQCyABIAAQpQIoAgRHDQEgAigCAEJ/NwMoDAILEAAhACADLAAvQQBODQcgAygCJBBaDAcLIANBJGoiBSAAIAEQaSIGEJoEQdSJC0EANgIAIAVBChDuBCEOQdSJCygCACEKQdSJC0EANgIAIApBAUYNASADLAAvQQBIBEAgAygCJBBaCyAEQQJqIQEgAigCACAONwMoIAIoAgAiAigCNEEDRg0AIAIpAyhCgYAEWg0CCyADQTBqJAAgAQ8LEAAhACADLAAvQQBODQQgAygCJBBaDAQLQRQQciEEQdSJC0EANgIAQcwBIANBDGpBjZYFEAIhAkHUiQsoAgAhC0HUiQtBADYCAEEBIQEgC0EBRg0BQdSJC0EANgIAQf0BIAQgAiAAIAYQDSEAQdSJCygCACEMQdSJC0EANgIAIAxBAUcEQEEAIQFB1IkLQQA2AgBBzQEgAEGwuQdBzgEQCEHUiQsoAgAhDUHUiQtBADYCACANQQFHDQULEAAhACACLAALQQBIBEAgAigCABBaCyABRQ0DDAILEAAhACACEG4MAgsQACEACyAEEG4LIAAQBwsAC3QCBH8BfiMAQRBrIgMkACADQQRqQevqAhDIASECQdSJC0EANgIAQfMRIAIgACABECOtIwGtQiCGhCEGQdSJCygCACEEQdSJC0EANgIAIARBAUcEQCACEMIBGiADQRBqJAAgBg8LEAAhBSACEMIBGiAFEAcAC/kEAQh/IwBBIGsiBCQAAkACQCABKAIEIAEtAAsiBSAFwCIIQQBIGyIHQQJqIgVB8P///wdJBEACQAJAIAVBC08EQCAFQQ9yQQFqIgkQXCEGIAQgBTYCFCAEIAY2AhAgBCAJQYCAgIB4cjYCGAwBCyAEQQA2AhggBEIANwMQIAQgBToAGyAEQRBqIQYgB0UNAQsgBiABKAIAIAEgCEEASBsgB/wKAAALIAYgB2oiAUEAOgACIAFBusAAOwAAQdSJC0EANgIAQd0RIARBBGoiASACEANB1IkLKAIAIQJB1IkLQQA2AgACQAJAAkACQCACQQFHBEBB1IkLQQA2AgBBjAIgBEEQaiAEKAIEIAEgBC0ADyIBwEEASCICGyAEKAIIIAEgAhsQBCEBQdSJCygCACEKQdSJC0EANgIAIApBAUYNASABKAIEIQUgASgCACECIAQgAS0ACjoAHiAEIAEvAQg7ARwgAUIANwIAIAEsAAshBiABQQA2AgggAygCJCEHIAMoAiAhAyAGQQBODQZB1IkLQQA2AgBB1AAgACACIAUQCEHUiQsoAgAhC0HUiQtBADYCACALQQFGDQIgACAHNgIQIAAgAzYCDCACEFoMBwsQACEBDAMLEAAhAQwBCxAAIQEgAhBaCyAELAAPQQBODQAgBCgCBBBaCyAELAAbQQBIBEAgBCgCEBBaCyABEAcACxDqAQALIAAgBTYCBCAAIAI2AgAgACAELwEcOwEIIAAgBC0AHjoACiAAIAc2AhAgACADNgIMIAAgBjoACwsgBCwAD0EASARAIAQoAgQQWgsgASwAC0EASARAIAEoAgAQWgsgBEEgaiQAIAALwicCU38BfiMAQdAAayIIJAAgCEEANgI8IAhCADcCNEHUiQtBADYCAEHPASABEAYhBkHUiQsoAgAhBUHUiQtBADYCAAJAAkACQAJAAkACQAJAAkAgBUEBRg0AIAYoAgQgAk0NAkHUiQtBADYCAEHHASABIAIQAiEKQdSJCygCACESQdSJC0EANgIAIBJBAUYNACAKLQAARQ0CQdicCygCACEJQdSJC0EANgIAQc8BIAoQBiEUQdSJCygCACETQdSJC0EANgIAIBNBAUYNACAUKAIERQ0CQdSJC0EANgIAQccBIApBABACIRZB1IkLKAIAIRVB1IkLQQA2AgAgFUEBRg0AIBYtAAANAkHUiQtBADYCAEHHASAKQQAQAiEGQdSJCygCACEXQdSJC0EANgIAIBdBAUYNAEHUiQtBADYCAEHUASAIQUBrIgogBhADQdSJCygCACEYQdSJC0EANgIAIBhBAUYNACAIKAJAIAlHDQJB1IkLQQA2AgBBxwEgASACEAIhDEHUiQsoAgAhGUHUiQtBADYCACAZQQFGDQECQAJAIAwtAABFDQBB2JwLKAIAIQlB1IkLQQA2AgBBzwEgDBAGIRtB1IkLKAIAIRpB1IkLQQA2AgAgGkEBRg0DIBsoAgRFDQBB1IkLQQA2AgBBxwEgDEEAEAIhHUHUiQsoAgAhHEHUiQtBADYCACAcQQFGDQMgHS0AAA0AQdSJC0EANgIAQccBIAxBABACIQZB1IkLKAIAIR5B1IkLQQA2AgAgHkEBRg0DQdSJC0EANgIAQdQBIAogBhADQdSJCygCACEfQdSJC0EANgIAIB9BAUYNAyAIKAJAIAlGDQELQdSJC0EANgIAQQ1BrfAFQYmaAkGkBUHuuwMQBUHUiQsoAgAhIEHUiQtBADYCACAgQQFGDQIMCAtB1IkLQQA2AgBBzwEgDBAGISJB1IkLKAIAISFB1IkLQQA2AgAgIUEBRg0BICIoAgRBAkcEQEEUEHIhBkHUiQtBADYCAEHMASAIQUBrQa69BBACIQJB1IkLKAIAISNB1IkLQQA2AgBBASELICNBAUYNBUHUiQtBADYCAEHQASAGIAIgDBAEIQFB1IkLKAIAISRB1IkLQQA2AgAgJEEBRwRAQQAhC0HUiQtBADYCAEHNASABQbC5B0HOARAIQdSJCygCACElQdSJC0EANgIAICVBAUcNCQsQACEHIAIsAAtBAEgEQCACKAIAEFoLIAsNBgwHC0HUiQtBADYCAEHHASAMQQEQAiEGQdSJCygCACEmQdSJC0EANgIAICZBAUYNAUHUiQtBADYCAEHvESAAIAYQAiEGQdSJCygCACEnQdSJC0EANgIAICdBAUYNAQJAIAZBEE8EQCAGKAIQRQ0BC0EUEHIhBkHUiQtBADYCAEHMASAIQUBrQaKABBACIQJB1IkLKAIAIShB1IkLQQA2AgBBASELIChBAUYNBEHUiQtBADYCAEHQASAGIAIgDBAEIQFB1IkLKAIAISlB1IkLQQA2AgAgKUEBRwRAQQAhC0HUiQtBADYCAEHNASABQbC5B0HOARAIQdSJCygCACEqQdSJC0EANgIAICpBAUcNCQsQACEHIAIsAAtBAEgEQCACKAIAEFoLIAtFDQcMBgsgAkEBaiECIAMgBjYCAEEBIREMAgsQACEHDAULEAAhBwwECyAIQQA2AjAgAiEMA0BB1IkLQQA2AgBBzwEgARAGIQZB1IkLKAIAIQVB1IkLQQA2AgACQAJAAkACQAJAAkAgBUEBRg0AIAwgBigCBE8NBEHUiQtBADYCAEHHASABIAwQAiEJQdSJCygCACErQdSJC0EANgIAICtBAUYNACAJLQAARQ0EQeCcCygCACEKQdSJC0EANgIAQc8BIAkQBiEtQdSJCygCACEsQdSJC0EANgIAICxBAUYNACAtKAIERQ0EQdSJC0EANgIAQccBIAlBABACIS9B1IkLKAIAIS5B1IkLQQA2AgAgLkEBRg0AIC8tAAANBEHUiQtBADYCAEHHASAJQQAQAiEGQdSJCygCACEwQdSJC0EANgIAIDBBAUYNAEHUiQtBADYCAEHUASAIQUBrIgkgBhADQdSJCygCACExQdSJC0EANgIAIDFBAUYNACAIKAJAIApHDQRB1IkLQQA2AgBBxwEgASAMEAIhBkHUiQsoAgAhMkHUiQtBADYCACAyQQFGDQFB1IkLQQA2AgBB4REgCSAAIAYgCEEwahAFQdSJCygCACEzQdSJC0EANgIAIDNBAUYNASAEKAIEIQVB1IkLQQA2AgBB4hEgBCAFIAgoAkAiCiAIKAJEIg4gDiAKa0EMbRAMQdSJCygCACE0QdSJC0EANgIAIDRBAUYNAyAKIQkgCiAORw0CDAULEAAhBwwJCxAAIQcMCAsDQAJAIAkoAgghEAJAIAcgC0cEQCAHIBA2AgAMAQsCQAJAAkAgByANayIPQQJ1IgZBAWoiC0GAgICABE8EQEHUiQtBADYCAEETEAkMAQtB/////wMgD0EBdSIFIAsgBSALSxsgD0H8////B08bIg9FBEBBACELDAMLIA9BgICAgARJDQFB1IkLQQA2AgBBAxAJC0HUiQsoAgAhNUHUiQtBADYCACA1QQFHDQ0MBQtB1IkLQQA2AgBBBCAPQQJ0EAYhC0HUiQsoAgAhNkHUiQtBADYCACA2QQFGDQILIAsgBkECdGoiBSAQNgIAIAUhBiAHIA1HBEADQCAGQQRrIgYgB0EEayIHKAIANgIAIAcgDUcNAAsLIA9BAnQgC2ohCyANBEAgDRBaCyAGIQ0gBSEHCyAHQQRqIQcgDiAJQQxqIglHDQEMBAsLCxAAIQcgCkUNBiAKEFoMBgtB1IkLQQA2AgBBzwEgARAGIQZB1IkLKAIAIQVB1IkLQQA2AgACQAJAAkAgBUEBRg0AIAwgBigCBE8NAkHUiQtBADYCAEHHASABIAwQAiEJQdSJCygCACE3QdSJC0EANgIAIDdBAUYNACAJLQAARQ0CQfCcCygCACEKQdSJC0EANgIAQc8BIAkQBiE5QdSJCygCACE4QdSJC0EANgIAIDhBAUYNACA5KAIERQ0CQdSJC0EANgIAQccBIAlBABACITtB1IkLKAIAITpB1IkLQQA2AgAgOkEBRg0AIDstAAANAkHUiQtBADYCAEHHASAJQQAQAiEGQdSJCygCACE8QdSJC0EANgIAIDxBAUYNAEHUiQtBADYCAEHUASAIQUBrIgkgBhADQdSJCygCACE9QdSJC0EANgIAID1BAUYNACAIKAJAIApHDQJB1IkLQQA2AgBBxwEgASAMEAIhBkHUiQsoAgAhBUHUiQtBADYCAAJAAkAgBUEBRg0AQdSJC0EANgIAQfARIAkgACAGEAhB1IkLKAIAIT5B1IkLQQA2AgAgPkEBRg0AQdSJC0EANgIAQfERIAhBNGpBACAIKAJAIgYgCCgCRCIFIAUgBmtBAnUQDEHUiQsoAgAhP0HUiQtBADYCACA/QQFGDQEgBgRAIAYQWgsDQEHUiQtBADYCAEHPASABEAYhBkHUiQsoAgAhBUHUiQtBADYCAAJAAkAgBUEBRg0AIAxBAWoiDCAGKAIETw0GQdSJC0EANgIAQccBIAEgDBACIQpB1IkLKAIAIUBB1IkLQQA2AgAgQEEBRg0AQQEhDiAKLQAARQ0HQfCcCygCACEJQdSJC0EANgIAQc8BIAoQBiFCQdSJCygCACFBQdSJC0EANgIAIEFBAUYNACBCKAIERQ0HQdSJC0EANgIAQccBIApBABACIURB1IkLKAIAIUNB1IkLQQA2AgAgQ0EBRg0AIEQtAAANB0HUiQtBADYCAEHHASAKQQAQAiEGQdSJCygCACFFQdSJC0EANgIAIEVBAUYNAEHUiQtBADYCAEHUASAIQUBrIAYQA0HUiQsoAgAhRkHUiQtBADYCACBGQQFHDQELEAAhBwwMCyAIKAJAIAlHDQRB1IkLQQA2AgBBxwEgASAMEAIhBkHUiQsoAgAhBUHUiQtBADYCAAJAIAVBAUYNAEHUiQtBADYCAEHwESAIQUBrIAAgBhAIQdSJCygCACFHQdSJC0EANgIAIEdBAUYNAEHUiQtBADYCAEHxESAIQTRqIAgoAjggCCgCQCIGIAgoAkQiBSAFIAZrQQJ1EAxB1IkLKAIAIUhB1IkLQQA2AgAgSEEBRg0DIAZFDQEgBhBaDAELCxAAIQcMCgsQACEHDAkLEAAhByAGRQ0IIAYQWgwICxAAIQcMBwtBASEOC0HUiQtBADYCAEHhACAIQSxqIA0gBxAEIQlB1IkLKAIAIQVB1IkLQQA2AgACQCAFQQFGDQBB1IkLQQA2AgBB4QAgCEEoaiAIKAI0Ig8gCCgCOBAEIUpB1IkLKAIAIUlB1IkLQQA2AgAgSUEBRg0AIA5B/wFxIQsgSigCACEKIAkoAgAhBgJAAkACQAJAAkACQAJAAkAgEQRAIAtFDQEgAygCACIFQRBJDQMgBSgCEA0DIAUpAhQiWKcgBkYgCiBYQiCIp0ZxDQFBFBByIQNB1IkLQQA2AgBBzAEgCEEMakGthAMQAiEEQdSJCygCACFLQdSJC0EANgIAQQEhCyBLQQFGDQRB1IkLQQA2AgBBxwEgASACEAIhAUHUiQsoAgAhAEHUiQtBADYCAAJAIABBAUYNAEHUiQtBADYCAEHQASADIAQgARAEIQFB1IkLKAIAIUxB1IkLQQA2AgAgTEEBRg0AQdSJC0EANgIAQc0BIAFBsLkHQc4BEAhB1IkLKAIAIU1B1IkLQQA2AgBBACELIE1BAUcNEQsQACEHIAQsAAtBAEgEQCAEKAIAEFoLIAsNBQwPC0HUiQtBADYCACAIIAatIAqtQiCGhCJYNwMYIAggWDcDAEEpIAhBJGogCBACIQJB1IkLKAIAIU5B1IkLQQA2AgAgTkEBRg0BIAMgAigCADYCAAsgACgCDCIQIQcgECAAKAIQIgZGIgUNBCADKAIAIQEDQCAHKAIAIAFGDQUgB0EEaiIHIAZHDQALDAULEAAhBwwMC0HUiQtBADYCAEENQeGVBkG4swJB2wlBj+IDEAVB1IkLKAIAIU9B1IkLQQA2AgAgT0EBRw0MEAAhBwwLCxAAIQcLIAMQbgwJCyAGIAdHDQELIAAoAhQgBkcEQCAGIAMoAgA2AgAgACAGQQRqNgIQDAELIAYgEGsiCkECdSICQQFqIglBgICAgARPBEBB1IkLQQA2AgBBjAEQCUHUiQsoAgAhUEHUiQtBADYCACBQQQFHDQkMAgsCQEH/////AyAKQQF1IgEgCSABIAlLGyAKQfz///8HTxsiCUUEQEEAIQ4MAQsgCUGAgICABE8EQEHUiQtBADYCAEEDEAlB1IkLKAIAIVFB1IkLQQA2AgAgUUEBRw0KDAMLQdSJC0EANgIAQQQgCUECdBAGIQ5B1IkLKAIAIVJB1IkLQQA2AgAgUkEBRg0CCyAOIAJBAnRqIgcgAygCADYCACAHQQRqIQEgBUUEQANAIAdBBGsiByAGQQRrIgYoAgA2AgAgBiAQRw0ACwsgACAOIAlBAnRqNgIUIAAgATYCECAAIAc2AgwgEEUNACAQEFoLAkACQCARIAtFcUUNAAJAIAMoAgAiAEEQTwRAIAAoAhBFDQELQdSJC0EANgIAQQ1Bq5UGQYmaAkHvBUHG4AMQBUHUiQsoAgAhU0HUiQtBADYCACBTQQFHDQoQACEHDAkLIAggACgCFCIANgIIAn8CQCAAQQdJDQAgACgCBA0AIAAoAgwgACgCCGtBAnUMAQsgAEEARwsiBUUNAEEAIQsDQAJAAkAgCCgCCCIAQQdJDQAgACgCBA0AIAAoAgggC0ECdGohBgwBCyAABEAgCEEIaiEGIAtFDQELQdSJC0EANgIAQQ1B3cMGQbizAkHYCEGg1gUQBUHUiQsoAgAhVEHUiQtBADYCACBUQQFHDQsQACEHDAoLQdSJC0EANgIAQegBIAhBQGsgCxADQdSJCygCACFVQdSJC0EANgIAIFVBAUYNAgJAIAQoAgQiByAEKAIIIgBJBEAgCCkDQCFYIAcgBigCADYCCCAHIFg3AgAgBCAHQQxqNgIEDAELAkACQCAHIAQoAgAiCmsiA0EMbSICQQFqIglB1qrVqgFPBEBB1IkLQQA2AgBB8hEQCQwBC0HVqtWqASAAIAprQQxtIgFBAXQiACAJIAAgCUsbIAFBqtWq1QBPGyIAQdaq1aoBSQ0BQdSJC0EANgIAQQMQCQtB1IkLKAIAIVZB1IkLQQA2AgAgVkEBRw0MEAAhBwwLC0HUiQtBADYCAEEEIABBDGwiARAGIQlB1IkLKAIAIVdB1IkLQQA2AgAgV0EBRg0DIAYoAgAhACADIAlqIgYgCCkDQDcCACAJIAJBDGxqIAA2AgggBkEMaiEAIAcgCkcEQANAIAZBDGsiBiAHQQxrIgcpAgA3AgAgBiAHKAIINgIIIAcgCkcNAAsLIAQgASAJajYCCCAEIAA2AgQgBCAGNgIAIApFDQAgChBaCyALQQFqIgsgBUcNAAsgCCgCNCEPCyAPBEAgCCAPNgI4IA8QWgsgDQRAIA0QWgsgCEHQAGokACAMDwsQACEHDAYLEAAhBwwFCyAKBEAgChBaCyAMQQFqIQxBASEODAALAAsQACEHDAELEAAhBwsgBhBuCyAIKAI0IgAEQCAAEFoLIA0EQCANEFoLIAcQBwALAAtpAAJAAkAgACgCAEEGRgRAIAAoAgwgAU0NASACRQ0CIAAoAgggAUECdGogAjYCAA8LQdKuBkGntwJB3BFBhJYBEAEAC0GGjAZBp7cCQd0RQYSWARABAAtBqfYBQae3AkHeEUGElgEQAQAL/CoCUH8BfiMAQbABayIHJABBJBBcIgpCADcCACAKQQA2AiAgCkIANwIYIApCADcCECAKQgA3AghB1IkLQQA2AgBBxwEgAUEBEAIhA0HUiQsoAgAhBEHUiQtBADYCAAJAAkACQCAEQQFGDQACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAIAMtAAANAEHUiQtBADYCAEHHASABQQEQAiEDQdSJCygCACENQdSJC0EANgIAIA1BAUYNFCADLQAADQAgAy0AHEUNAEHUiQtBADYCAEHHASABQQEQAiELQdSJCygCACEDQdSJC0EANgIAAkACQAJAIANBAUYNAEHUiQtBADYCAEHUASAHQZgBaiALEANB1IkLKAIAIQ5B1IkLQQA2AgAgDkEBRg0AIAcpA5gBIVMgCkEBOgAIIAogUzcCACAAKAIAIgUoAtACIgZFBEBBAiEJDAULIFOnIQQCQCAGaSIIQQFNBEAgBkEBayAEcSEDDAELIAQiAyAGSQ0AIAMgBnAhAwtBAiEJIAUoAswCIANBAnRqKAIAIgVFDQQgBSgCACIFRQ0EAkAgCEEBTQRAIAZBAWshBgNAAkAgBCAFKAIEIghHBEAgBiAIcSADRw0JDAELIAUoAgggBEYNAwsgBSgCACIFDQALDAYLA0ACQCAEIAUoAgQiCEcEQCAGIAhNBH8gCCAGcAUgCAsgA0cNCAwBCyAFKAIIIARGDQILIAUoAgAiBQ0ACwwFCyAFKAIQRQ0EQRQQciECQdSJC0EANgIAQcwBIAdBjAFqQfWtAxACIQFB1IkLKAIAIQ9B1IkLQQA2AgBBASEAIA9BAUYNAUHUiQtBADYCAEHQASACIAEgCxAEIQNB1IkLKAIAIRBB1IkLQQA2AgAgEEEBRwRAQQAhAEHUiQtBADYCAEHNASADQbC5B0HOARAIQdSJCygCACERQdSJC0EANgIAIBFBAUcNGgsQACEFIAEsAAtBAEgEQCABKAIAEFoLIAANAgwYCxAAIQUMFwsQACEFCyACEG4MFQsgACgCiAEhA0HUiQtBADYCAEHoASAHQaABaiADEANB1IkLKAIAIRJB1IkLQQA2AgBBASEJIBJBAUcEQCAKIAcpA6ABIlM3AgAgACgCACIFKALQAiIGRQ0BIFOnIQQCQCAGaSIIQQFNBEAgBkEBayAEcSEDDAELIAQiAyAGSQ0AIAMgBnAhAwsgBSgCzAIgA0ECdGooAgAiBUUNASAFKAIAIgVFDQECQCAIQQFNBEAgBkEBayEJA0ACQCAEIAUoAgQiBkcEQCAGIAlxIANGDQFBASEJDAYLIAUoAgggBEYNAwsgBSgCACIFDQALQQEhCQwDCwNAAkAgBCAFKAIEIghHBEAgBiAITQR/IAggBnAFIAgLIANGDQEMBQsgBSgCCCAERg0CCyAFKAIAIgUNAAsMAgtBASEJIAUoAhBFDQFBiSAhBUHn6QUMAgsQACEFDBQLIAAgACgCiAFBAWo2AogBAkAgACgCeCIFIAAoAnxHBEAgBSBTNwIAIAAgBUEIajYCeAwBCyAFIAAoAnQiCGsiA0EDdSILQQFqIgRBgICAgAJPBEBB1IkLQQA2AgBB9wAQCUHUiQsoAgAhE0HUiQtBADYCACATQQFGDRQMFgsCQEH/////ASADQQJ1IgYgBCAEIAZJGyADQfj///8HTxsiBkUEQEEAIQMMAQsgBkGAgICAAk8EQEHUiQtBADYCAEEDEAlB1IkLKAIAIRRB1IkLQQA2AgAgFEEBRw0XDBULQdSJC0EANgIAQQQgBkEDdBAGIQNB1IkLKAIAIRVB1IkLQQA2AgAgFUEBRg0UCyADIAtBA3RqIgQgUzcCACAEQQhqIQsgBSAIRwRAA0AgBEEIayIEIAVBCGsiBSkCADcCACAFIAhHDQALIAAoAnQhBQsgACADIAZBA3RqNgJ8IAAgCzYCeCAAIAQ2AnQgBUUNACAFEFoLQdSJC0EANgIAQc8BIAEQBiEDQdSJCygCACEWQdSJC0EANgIAIBZBAUYNEiAJIAMoAgRPDQJB1IkLQQA2AgBBxwEgASAJEAIhA0HUiQsoAgAhF0HUiQtBADYCACAXQQFGDRIgAy0AAEUNAkGQnAsoAgAhBEHUiQtBADYCAEHPASADEAYhGUHUiQsoAgAhGEHUiQtBADYCACAYQQFGDRIgGSgCBEUNAkHUiQtBADYCAEHHASADQQAQAiEbQdSJCygCACEaQdSJC0EANgIAIBpBAUYNEiAbLQAADQJB1IkLQQA2AgBBxwEgA0EAEAIhA0HUiQsoAgAhHEHUiQtBADYCACAcQQFGDRJB1IkLQQA2AgBB1AEgB0GgAWogAxADQdSJCygCACEdQdSJC0EANgIAIB1BAUYNEiAHKAKgASAERw0CIAINAUGQICEFQZbLBgshAEHUiQtBADYCAEENIABBiZoCIAVB7a4DEAVB1IkLKAIAIR5B1IkLQQA2AgAgHkEBRw0TDBELQdSJC0EANgIAQccBIAEgCRACIQJB1IkLKAIAIR9B1IkLQQA2AgAgH0EBRg0PQdSJC0EANgIAQc8BIAIQBiEhQdSJCygCACEgQdSJC0EANgIAICBBAUYNDyAhKAIEQQNHBEBBFBByIQNB1IkLQQA2AgBBzAEgB0GAAWpBkOAAEAIhAUHUiQsoAgAhBEHUiQtBADYCAEEBIQACQCAEQQFHBEBB1IkLQQA2AgBB0AEgAyABIAIQBCECQdSJCygCACEiQdSJC0EANgIAICJBAUcEQEEAIQBB1IkLQQA2AgBBzQEgAkGwuQdBzgEQCEHUiQsoAgAhI0HUiQtBADYCACAjQQFHDRYLEAAhBSABLAALQQBIBEAgASgCABBaCyAADQEMFAsQACEFCyADEG4MEgtB1IkLQQA2AgBBxwEgAkEBEAIhA0HUiQsoAgAhJEHUiQtBADYCACAkQQFGDQ8CQCADLQAARQRAQdSJC0EANgIAQccBIAJBARACIQNB1IkLKAIAISVB1IkLQQA2AgAgJUEBRg0RIAMtAAANASADLQAcRQ0BC0EUEHIhAUHUiQtBADYCAEHMASAHQfQAakHFmQQQAiEDQdSJCygCACEmQdSJC0EANgIAQQEhACAmQQFGDQVB1IkLQQA2AgBB0AEgASADIAIQBCECQdSJCygCACEnQdSJC0EANgIAICdBAUcEQEEAIQBB1IkLQQA2AgBBzQEgAkGwuQdBzgEQCEHUiQsoAgAhKEHUiQtBADYCACAoQQFHDRQLEAAhBSADLAALQQBIBEAgAygCABBaCyAARQ0SIAEQbgwSC0HUiQtBADYCAEHHASACQQIQAiEDQdSJCygCACEpQdSJC0EANgIAIClBAUYNDwJAIAMtAABFBEBB1IkLQQA2AgBBxwEgAkECEAIhA0HUiQsoAgAhKkHUiQtBADYCACAqQQFGDREgAy0AAA0BIAMtABxFDQELQRQQciEBQdSJC0EANgIAQcwBIAdB6ABqQZqZBBACIQNB1IkLKAIAIStB1IkLQQA2AgBBASEAICtBAUYNBkHUiQtBADYCAEHQASABIAMgAhAEIQJB1IkLKAIAISxB1IkLQQA2AgAgLEEBRwRAQQAhAEHUiQtBADYCAEHNASACQbC5B0HOARAIQdSJCygCACEtQdSJC0EANgIAIC1BAUcNFAsQACEFIAMsAAtBAEgEQCADKAIAEFoLIABFDRIgARBuDBILQdSJC0EANgIAQccBIAJBARACIQNB1IkLKAIAIS5B1IkLQQA2AgAgLkEBRg0BQdSJC0EANgIAQdQBIAdB4ABqIAMQA0HUiQsoAgAhL0HUiQtBADYCACAvQQFGDQEgCiAHKQNgNwIMQdSJC0EANgIAQccBIAJBAhACIQJB1IkLKAIAITBB1IkLQQA2AgAgMEEBRg0CQdSJC0EANgIAQdQBIAdB2ABqIAIQA0HUiQsoAgAhMUHUiQtBADYCACAxQQFGDQIgCUEBaiEJIAogBykDWDcCFAtB1IkLQQA2AgBBzwEgARAGIQJB1IkLKAIAITJB1IkLQQA2AgAgMkEBRg0PIAkgAigCBE8NCUHUiQtBADYCAEHHASABIAkQAiECQdSJCygCACEzQdSJC0EANgIAIDNBAUYNDyACLQAARQ0JQcicCygCACEDQdSJC0EANgIAQc8BIAIQBiE1QdSJCygCACE0QdSJC0EANgIAIDRBAUYNDyA1KAIERQ0JQdSJC0EANgIAQccBIAJBABACITdB1IkLKAIAITZB1IkLQQA2AgAgNkEBRg0PIDctAAANCUHUiQtBADYCAEHHASACQQAQAiECQdSJCygCACE4QdSJC0EANgIAIDhBAUYND0HUiQtBADYCAEHUASAHQaABaiACEANB1IkLKAIAITlB1IkLQQA2AgAgOUEBRg0PIAcoAqABIANHDQlB1IkLQQA2AgBBxwEgASAJEAIhA0HUiQsoAgAhOkHUiQtBADYCACA6QQFHDQIMDQsQACEFDA8LEAAhBQwOCyAKKAIMBEBBFBByIQFB1IkLQQA2AgBBzAEgB0HMAGpBgP4BEAIhAkHUiQsoAgAhO0HUiQtBADYCAEEBIQAgO0EBRg0DQdSJC0EANgIAQdABIAEgAiADEAQhA0HUiQsoAgAhPEHUiQtBADYCACA8QQFHBEBBACEAQdSJC0EANgIAQc0BIANBsLkHQc4BEAhB1IkLKAIAIT1B1IkLQQA2AgAgPUEBRw0QCxAAIQUgAiwAC0EASARAIAIoAgAQWgsgAEUNDiABEG4MDgtB1IkLQQA2AgBBzwEgAxAGIT9B1IkLKAIAIT5B1IkLQQA2AgAgPkEBRg0KID8oAgRBAkcEQEEUEHIhAUHUiQtBADYCAEHMASAHQUBrQfjeABACIQJB1IkLKAIAIUBB1IkLQQA2AgBBASEAIEBBAUYNBEHUiQtBADYCAEHQASABIAIgAxAEIQNB1IkLKAIAIUFB1IkLQQA2AgAgQUEBRwRAQQAhAEHUiQtBADYCAEHNASADQbC5B0HOARAIQdSJCygCACFCQdSJC0EANgIAIEJBAUcNEAsQACEFIAIsAAtBAEgEQCACKAIAEFoLIABFDQ4gARBuDA4LQdSJC0EANgIAQccBIANBARACIQJB1IkLKAIAIUNB1IkLQQA2AgAgQ0EBRg0KAkAgAi0AAEUEQEHUiQtBADYCAEHHASADQQEQAiECQdSJCygCACFEQdSJC0EANgIAIERBAUYNDCACLQAADQEgAi0AHEUNAQtBFBByIQFB1IkLQQA2AgBBzAEgB0E0akHWmAQQAiECQdSJCygCACFFQdSJC0EANgIAQQEhACBFQQFGDQVB1IkLQQA2AgBB0AEgASACIAMQBCEDQdSJCygCACFGQdSJC0EANgIAIEZBAUcEQEEAIQBB1IkLQQA2AgBBzQEgA0GwuQdBzgEQCEHUiQsoAgAhR0HUiQtBADYCACBHQQFHDRALEAAhBSACLAALQQBIBEAgAigCABBaCyAARQ0OIAEQbgwOC0HUiQtBADYCAEEEQRQQBiECQdSJCygCACEEQdSJC0EANgIAAkACQAJAAkAgBEEBRwRAIAJCADcCACACQQA2AhAgAkIANwIIQdSJC0EANgIAQccBIANBARACIQRB1IkLKAIAIUhB1IkLQQA2AgAgSEEBRg0DQdSJC0EANgIAQdQBIAdBKGogBBADQdSJCygCACFJQdSJC0EANgIAIElBAUYNAyACIAcpAygiUzcCACAAKAIAIgsoAsQBIgRFDQogCygCwAECfyBTpyIGIARBAWtxIARpIghBAU0NABogBiAEIAZLDQAaIAYgBHALIgxBAnRqKAIAIgVFDQogBSgCACIFRQ0KAkAgCEEBTQRAIARBAWshBANAAkAgBiAFKAIEIghHBEAgBCAIcSAMRg0BDA8LIAUoAgggBkYNAwsgBSgCACIFDQALDAwLA0ACQCAGIAUoAgQiCEcEQCAEIAhNBH8gCCAEcAUgCAsgDEYNAQwOCyAFKAIIIAZGDQILIAUoAgAiBQ0ACwwLCyAFKAIQRQ0KQRQQciEEQdSJC0EANgIAQcwBIAdBHGpB594AEAIhAUHUiQsoAgAhSkHUiQtBADYCAEEBIQAgSkEBRg0BQdSJC0EANgIAQdABIAQgASADEAQhA0HUiQsoAgAhS0HUiQtBADYCACBLQQFHBEBBACEAQdSJC0EANgIAQc0BIANBsLkHQc4BEAhB1IkLKAIAIUxB1IkLQQA2AgAgTEEBRw0UCxAAIQUgASwAC0EASARAIAEoAgAQWgsgAA0CDAQLEAAhBQwRCxAAIQULIAQQbiACEFoMDwsQACEFCyACEFoMDQsQACEFIAEQbgwMCxAAIQUgARBuDAsLEAAhBSABEG4MCgsQACEFIAEQbgwJCxAAIQUgARBuDAgLIAopAgAhUyACQQQ2AhAgAiBTNwIIQdSJC0EANgIAQfcBIAsgAhACGkHUiQsoAgAhTUHUiQtBADYCACBNQQFGDQEgCUEBaiEJC0HUiQtBADYCACAHQQE2AhggB0EANgKoASAHQgA3AqABQfoBIAAgASAJIAdBGGogB0GgAWoQECEEQdSJCygCACFOQdSJC0EANgIAIE5BAUYNASAHKAKgASICBEAgAhBaCyAHKAIYIgJBEE8EQCACKAIQRQ0DC0HUiQtBADYCAEENQeGVBkG4swJB2wlBj+IDEAVB1IkLKAIAIU9B1IkLQQA2AgAgT0EBRw0HEAAhBQwGCxAAIQUMBQsQACEFIAcoAqABIgBFDQQgABBaDAQLIAogAikCFDcCHEHUiQtBADYCAEHPASABEAYhAkHUiQsoAgAhA0HUiQtBADYCAAJAAkAgA0EBRwRAIAQgAigCBE8NAkEUEHIhAkHUiQtBADYCAEHMASAHQQxqQYbrABACIQNB1IkLKAIAIVBB1IkLQQA2AgBBASEAIFBBAUYNAUHUiQtBADYCAEHHASABIAQQAiEBQdSJCygCACEEQdSJC0EANgIAAkAgBEEBRg0AQdSJC0EANgIAQdABIAIgAyABEAQhAUHUiQsoAgAhUUHUiQtBADYCACBRQQFGDQBB1IkLQQA2AgBBzQEgAUGwuQdBzgEQCEHUiQsoAgAhUkHUiQtBADYCAEEAIQAgUkEBRw0ICxAAIQUgAywAC0EASARAIAMoAgAQWgsgAEUNBiACEG4MBgsQACEFDAULEAAhBSACEG4MBAsgACgCACAKEOUHGiAHQbABaiQADwsQACEFDAILEAAhBQwBCxAAIQULIAoQWiAFEAcACwAL2yECQX8BfiMAQfAAayIEJABBASEGIAAgACgCkAEiA0EBajYCkAEgBEFAayADEPUEAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAIEQCAAKAIEQSBBCBBdIgZCADcCBCAGQQ42AgAgBkIANwIMIAZCADcCFCAEQQI2AjggBEEANgIoAkAgBiAGQQhqIgMgBEEoaiIHRwR/IAMQWSEDQdSJC0EANgIAQcAAIAMgBxACGkHUiQsoAgAhC0HUiQtBADYCACALQQFGDQEgBigCGAVBAAs2AgQgBEEoahBZGkEoEFwhAyACKQIAIUQgBEEBNgJkQdSJC0EANgIAIARCgYCAgBA3AlwgBEEAOgBYQQdB2J0LIARB2ABqIgIQAiEHQdSJCygCACEMQdSJC0EANgIAIAxBAUYEQBAAIQAgAhB3IAMQWgwOCyADQgA3AhwgAyAHNgIYIAMgBjYCFCADIEQ3AgwgA0EANgIkIAQgAzYCUCAEKQNAIUQgA0EAOgAIIAMgRDcCAAJAIAAoAkgiAyAAKAJMRwRAIAMgRDcCACAAIANBCGo2AkgMAQsgAyAAKAJEIgdrIgJBA3UiCEEBaiIGQYCAgIACTwRAQdSJC0EANgIAQfcAEAlB1IkLKAIAIQ1B1IkLQQA2AgAgDUEBRg0NDA4LAkBB/////wEgAkECdSIFIAYgBSAGSxsgAkH4////B08bIgZFBEBBACEFDAELIAZBgICAgAJPBEBB1IkLQQA2AgBBAxAJQdSJCygCACEOQdSJC0EANgIAIA5BAUcNDwwOC0HUiQtBADYCAEEEIAZBA3QQBiEFQdSJCygCACEPQdSJC0EANgIAIA9BAUYNDQsgBSAIQQN0aiICIEQ3AgAgAkEIaiEIIAMgB0cEQANAIAJBCGsiAiADQQhrIgMpAgA3AgAgAyAHRw0ACyAAKAJEIQMLIAAgBSAGQQN0ajYCTCAAIAg2AkggACACNgJEIANFDQAgAxBaC0HUiQtBADYCAEHHASABQQEQAiERQdSJCygCACEQQdSJC0EANgIAIBBBAUYNCyARLQAAIQJB1IkLQQA2AgBB7hEgACABIARB0ABqQQEgAhAMQdSJCygCACESQdSJC0EANgIAIBJBAUYNCyAEKAJQIgBFDQIgACgCHCIBBEAgACABNgIgIAEQWgsgABBaDAILEAAhACAEQShqEFkaDAwLAkAgAUEBEGktAAANACABQQEQaSICLQAADQAgAi0AHEUNAEEBIQUgBEFAayABQQEQaRDsAUECIQYLAkAgACgCSCIDIAAoAkxHBEAgAyAEKQNANwIAIAAgA0EIajYCSAwBCyADIAAoAkQiCGsiAkEDdSIJQQFqIgdBgICAgAJPDQNB/////wEgAkECdSIKIAcgByAKSRsgAkH4////B08bIgcEfyAHQYCAgIACTw0FIAdBA3QQXAVBAAsiCiAJQQN0aiICIAQpA0A3AgAgAkEIaiEJIAMgCEcEQANAIAJBCGsiAiADQQhrIgMpAgA3AgAgAyAIRw0ACyAAKAJEIQMLIAAgCiAHQQN0ajYCTCAAIAk2AkggACACNgJEIANFDQAgAxBaCyABIAYQaS0AAEUEQCAEQdgAaiABIAYQaRDsASAEKAJYQdibCygCAEYNAQtBKBBcIgdCADcCACAHQgA3AiAgB0IANwIYIAdCADcCECAHQgA3AgggBEEBNgJkQdSJC0EANgIAIARCgYCAgBA3AlwgBEEAOgBYQQdB2J0LIARB2ABqIgIQAiEDQdSJCygCACETQdSJC0EANgIAIBNBAUYEQBAAIQAgAhB3IAcQWgwMCyAHIAM2AhggB0EANgIkIAdCADcCHCAEIAc2AiQgBCkDQCFEIAcgBToACCAHIEQ3AgBB1IkLQQA2AgBBxwEgASAGEAIhAkHUiQsoAgAhFEHUiQtBADYCACAUQQFGDQECf0EBIAItAABFDQAaQdSJC0EANgIAQccBIAEgBhACIQJB1IkLKAIAIRVB1IkLQQA2AgAgFUEBRg0CAkAgAi0AAEUNAEGAnQsoAgAhA0HUiQtBADYCAEHPASACEAYhF0HUiQsoAgAhFkHUiQtBADYCACAWQQFGDQMgFygCBEUNAEHUiQtBADYCAEHHASACQQAQAiEZQdSJCygCACEYQdSJC0EANgIAIBhBAUYNAyAZLQAADQBB1IkLQQA2AgBBxwEgAkEAEAIhAkHUiQsoAgAhGkHUiQtBADYCACAaQQFGDQNB1IkLQQA2AgBB1AEgBEHYAGogAhADQdSJCygCACEbQdSJC0EANgIAIBtBAUYNAyAEKAJYIANHDQBBAQwBC0HUiQtBADYCAEHHASABIAYQAiECQdSJCygCACEcQdSJC0EANgIAIBxBAUYNAgJAAkACQAJAAkACQCACLQAARQ0AQaCcCygCACEDQdSJC0EANgIAQc8BIAIQBiEeQdSJCygCACEdQdSJC0EANgIAIB1BAUYNCCAeKAIERQ0AQdSJC0EANgIAQccBIAJBABACISBB1IkLKAIAIR9B1IkLQQA2AgAgH0EBRg0IICAtAAANAEHUiQtBADYCAEHHASACQQAQAiECQdSJCygCACEhQdSJC0EANgIAICFBAUYNCEHUiQtBADYCAEHUASAEQdgAaiIFIAIQA0HUiQsoAgAhIkHUiQtBADYCACAiQQFGDQggBCgCWCADRw0AQdSJC0EANgIAQccBIAEgBhACIQJB1IkLKAIAISNB1IkLQQA2AgAgI0EBRg0BQdSJC0EANgIAQccBIAJBARACIQJB1IkLKAIAISRB1IkLQQA2AgAgJEEBRg0CQdSJC0EANgIAQfABIAUgACACEAhB1IkLKAIAISVB1IkLQQA2AgAgJUEBRg0CIAZBAWohBiAHIAQpA1g3AgwLQdSJC0EANgIAQccBIAEgBhACIQNB1IkLKAIAISZB1IkLQQA2AgAgJkEBRg0NIAZBAWohBiADLQAARQ0DQeibCygCACECQdSJC0EANgIAQc8BIAMQBiEoQdSJCygCACEnQdSJC0EANgIAICdBAUYNDSAoKAIERQ0DQdSJC0EANgIAQccBIANBABACISpB1IkLKAIAISlB1IkLQQA2AgAgKUEBRg0NICotAAANA0HUiQtBADYCAEHHASADQQAQAiEFQdSJCygCACErQdSJC0EANgIAICtBAUYNDUHUiQtBADYCAEHUASAEQdgAaiAFEANB1IkLKAIAISxB1IkLQQA2AgAgLEEBRg0NIAQoAlggAkcNA0HUiQtBADYCAEHPASADEAYhAkHUiQsoAgAhLUHUiQtBADYCACAtQQFHDQIMDQsQACEDDA0LEAAhAwwMCyACKAIEQQNPBEBBFBByIQBB1IkLQQA2AgBBzAEgBEEYakGyzgUQAiEHQdSJCygCACEuQdSJC0EANgIAQQEhAiAuQQFGDQhB1IkLQQA2AgBBxwEgASAGEAIhA0HUiQsoAgAhBkHUiQtBADYCAAJAIAZBAUYNAEHUiQtBADYCAEH9ASAAIAcgASADEA0hAUHUiQsoAgAhL0HUiQtBADYCACAvQQFGDQBB1IkLQQA2AgBBzQEgAUGwuQdBzgEQCEHUiQsoAgAhMEHUiQtBADYCAEEAIQIgMEEBRw0PCxAAIQMgBywAC0EASARAIAcoAgAQWgsgAkUNDCAAEG4MDAtB1IkLQQA2AgBBxwEgA0EBEAIhA0HUiQsoAgAhMUHUiQtBADYCACAxQQFGDQpB1IkLQQA2AgBB6wEgACADEAIhAkHUiQsoAgAhMkHUiQtBADYCACAyQQFGDQogBCACNgJMIAMoAigiA0UNASAAKALQAUUNAUHUiQtBADYCAEHsASAEQdgAaiAAIAMQCEHUiQsoAgAhM0HUiQtBADYCACAzQQFGDQogACgC0AEhA0HUiQtBADYCAEHtASAEQdAAaiADQeAAaiACIARBzABqEAVB1IkLKAIAITRB1IkLQQA2AgAgNEEBRg0KIAQoAlAiAyAEKQJYNwIMIAMgBCgCYDYCFAwBC0HUiQtBADYCAEHrASAAIAMQAiECQdSJCygCACE1QdSJC0EANgIAIDVBAUYNCSAEIAI2AkwgAygCKCIDRQ0AIAAoAtABRQ0AQdSJC0EANgIAQewBIARB2ABqIAAgAxAIQdSJCygCACE2QdSJC0EANgIAIDZBAUYNCSAAKALQASEDQdSJC0EANgIAQe0BIARB0ABqIANB4ABqIAIgBEHMAGoQBUHUiQsoAgAhN0HUiQtBADYCACA3QQFGDQkgBCgCUCIDIAQpAlg3AgwgAyAEKAJgNgIUCyAHIAI2AhRBAAshBUEAIQNB1IkLQQA2AgBBzwEgARAGIQJB1IkLKAIAIThB1IkLQQA2AgAgOEEBRg0BAkAgBiACKAIETw0AQdSJC0EANgIAQccBIAEgBhACIQJB1IkLKAIAITlB1IkLQQA2AgAgOUEBRg0CAkAgAi0AAA0AQQAhA0HUiQtBADYCAEHHASABIAYQAiECQdSJCygCACE6QdSJC0EANgIAIDpBAUYNAyACLQAADQAgAi0AHA0BC0HUiQtBADYCAEHHASABIAYQAiECQdSJCygCACE7QdSJC0EANgIAIDtBAUYNAgJAIAItAAANAEHUiQtBADYCAEHHASABIAYQAiECQdSJCygCACEDQdSJC0EANgIAAkAgA0EBRg0AQdSJC0EANgIAQdQBIARB2ABqIAIQA0HUiQsoAgAhPEHUiQtBADYCACA8QQFGDQBBACEDIAQoAlhBiJwLKAIARw0BIAZBAWohBgwCCxAAIQMMCgtB1IkLQQA2AgBBxwEgASAGEAIhAkHUiQsoAgAhPUHUiQtBADYCACA9QQFGDQZB1IkLQQA2AgBB6xEgACACEAIhAkHUiQsoAgAhPkHUiQtBADYCACA+QQFGDQYgByACNgIYQQEhAyAGQQFqIQYLAkAgBQ0AIAcoAgwNACAAKAIAIgIoAlQiBSACKAJYRgRAQRQQciEAQdSJC0EANgIAQcwBIARBDGpBoqoEEAIhAkHUiQsoAgAhP0HUiQtBADYCAEEBIQYgP0EBRg0IQdSJC0EANgIAQdABIAAgAiABEAQhAUHUiQsoAgAhQEHUiQtBADYCACBAQQFHBEBBACEGQdSJC0EANgIAQc0BIAFBsLkHQc4BEAhB1IkLKAIAIUFB1IkLQQA2AgAgQUEBRw0NCxAAIQMgAiwAC0EASARAIAIoAgAQWgsgBkUNCiAAEG4MCgsgByAFKAIAKQIANwIMC0EBIQIgA0UEQEEAIQICQCAHKAIcIgMgBygCICIFRg0AA0AgAygCACgCAEErRyICDQEgA0EEaiIDIAVHDQALCyAEQQE2AmQgBEKBgICAEDcCXCAEQQA6AFhB1IkLQQA2AgBBB0HYnQsgBEHYAGoiBRACIQNB1IkLKAIAIUJB1IkLQQA2AgAgQkEBRgRAEAAhAyAFEHcMCgsgAiAHKAIYIANHciECC0HUiQtBADYCAEHuESAAIAEgBEEkaiAGIAIQDEHUiQsoAgAhQ0HUiQtBADYCACBDQQFGDQEgBCgCJCIARQ0AIAAoAhwiAQRAIAAgATYCICABEFoLIAAQWgsgBEHwAGokAA8LEAAhAwwGCxBkAAsQagALEAAhAyAAEG4MAwsQACEDDAILEAAhAyAAEG4MAQsQACEDCyAEQSRqEKgDIAMQBwALEAAhACAEQdAAahCoAwwBCwALIAAQBwAL0CQCRn8CfiMAQYABayIFJABBOBBcIglCADcCACAJQgA3AjAgCUIANwIgIAlCADcCGCAJQgA3AhAgCUIANwIIIAlC/////w83AyggBUEBNgJ0QdSJC0EANgIAIAVCgYCAgBA3AmwgBUEAOgBoQQdB2J0LIAVB6ABqIgcQAiEDQdSJCygCACEEQdSJC0EANgIAAkACQAJAIARBAUYEQBAAIQMgBxB3DAELIAkgAzYCMCAFIAk2AmRB1IkLQQA2AgBBxwEgAUEBEAIhA0HUiQsoAgAhB0HUiQtBADYCAAJAIAdBAUYNAAJAAkACQAJAAkACQCADLQAADQAgAy0AHEUNAEHUiQtBADYCAEHHASABQQEQAiEDQdSJCygCACENQdSJC0EANgIAIA1BAUYNBkHUiQtBADYCAEHUASAFQdgAaiADEANB1IkLKAIAIQ5B1IkLQQA2AgAgDkEBRg0GIAUpA1ghSSAJQQE6AAggCSBJNwIAQQIhBwwBC0EBIQcgACAAKAKMASIDQQFqNgKMAUHUiQtBADYCAEHoASAFQegAaiADEANB1IkLKAIAIQ9B1IkLQQA2AgAgD0EBRg0BIAkgBSkDaCJJNwIACwJAIAAoAjwiAyAAQUBrKAIARwRAIAMgSTcCACAAIANBCGo2AjwMAQsgAyAAKAI4IgprIgRBA3UiC0EBaiIGQYCAgIACTwRAQdSJC0EANgIAQfcAEAlB1IkLKAIAIRBB1IkLQQA2AgAgEEEBRg0GDAkLAkBB/////wEgBEECdSIIIAYgBiAISRsgBEH4////B08bIghFBEBBACEGDAELIAhBgICAgAJPBEBB1IkLQQA2AgBBAxAJQdSJCygCACERQdSJC0EANgIAIBFBAUcNCgwHC0HUiQtBADYCAEEEIAhBA3QQBiEGQdSJCygCACESQdSJC0EANgIAIBJBAUYNBgsgBiALQQN0aiIEIEk3AgAgBEEIaiELIAMgCkcEQANAIARBCGsiBCADQQhrIgMpAgA3AgAgAyAKRw0ACyAAKAI4IQMLIAAgBiAIQQN0ajYCQCAAIAs2AjwgACAENgI4IANFDQAgAxBaC0HUiQtBADYCAEHHASABIAcQAiEDQdSJCygCACEEQdSJC0EANgIAAkACQAJAAkACQAJAIARBAUcEQCADLQAARQ0KQdSJC0EANgIAQccBIAEgBxACIQNB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRg0IIAMtAABFDQZByJwLKAIAIQRB1IkLQQA2AgBBzwEgAxAGIRVB1IkLKAIAIRRB1IkLQQA2AgAgFEEBRg0IIBUoAgRFDQZB1IkLQQA2AgBBxwEgA0EAEAIhF0HUiQsoAgAhFkHUiQtBADYCACAWQQFGDQggFy0AAA0GQdSJC0EANgIAQccBIANBABACIQZB1IkLKAIAIRhB1IkLQQA2AgAgGEEBRg0IQdSJC0EANgIAQdQBIAVB6ABqIAYQA0HUiQsoAgAhGUHUiQtBADYCACAZQQFGDQggBSgCaCAERw0GQdSJC0EANgIAQQRBFBAGIQJB1IkLKAIAIRpB1IkLQQA2AgAgGkEBRg0BIAJCADcCACACQQA2AhAgAkIANwIIQdSJC0EANgIAQccBIANBARACIQRB1IkLKAIAIRtB1IkLQQA2AgAgG0EBRg0EQdSJC0EANgIAQdQBIAVB0ABqIAQQA0HUiQsoAgAhHEHUiQtBADYCACAcQQFGDQQgAiAFKQNQIkk3AgAgCSkCACFKIAJBATYCECACIEo3AgggACgCACILKALEASIGRQ0JIAsoAsABAn8gSaciCCAGQQFrcSAGaSIKQQFNDQAaIAggBiAISw0AGiAIIAZwCyIMQQJ0aigCACIERQ0JIAQoAgAiBEUNCQJAIApBAU0EQCAGQQFrIQYDQAJAIAggBCgCBCIKRwRAIAYgCnEgDEYNAQwOCyAEKAIIIAhGDQMLIAQoAgAiBA0ACwwLCwNAAkAgCCAEKAIEIgpHBEAgBiAKTQR/IAogBnAFIAoLIAxGDQEMDQsgBCgCCCAIRg0CCyAEKAIAIgQNAAsMCgsgBCgCEEUNCUEUEHIhB0HUiQtBADYCAEHMASAFQcQAakHn3gAQAiEBQdSJCygCACEdQdSJC0EANgIAQQEhACAdQQFGDQJB1IkLQQA2AgBB0AEgByABIAMQBCEDQdSJCygCACEeQdSJC0EANgIAIB5BAUcEQEEAIQBB1IkLQQA2AgBBzQEgA0GwuQdBzgEQCEHUiQsoAgAhH0HUiQtBADYCACAfQQFHDQ8LEAAhAyABLAALQQBIBEAgASgCABBaCyAADQMMBQsQACEDDAsLEAAhAwwKCxAAIQMLIAcQbiACEFoMCAsQACEDCyACEFoMBgsCQCADLQAARQ0AQZCcCygCACEEQdSJC0EANgIAQc8BIAMQBiEhQdSJCygCACEgQdSJC0EANgIAICBBAUYNAiAhKAIERQ0AQdSJC0EANgIAQccBIANBABACISNB1IkLKAIAISJB1IkLQQA2AgAgIkEBRg0CICMtAAANAEHUiQtBADYCAEHHASADQQAQAiEGQdSJCygCACEkQdSJC0EANgIAICRBAUYNAkHUiQtBADYCAEHUASAFQegAaiAGEANB1IkLKAIAISVB1IkLQQA2AgAgJUEBRg0CIAUoAmggBEcNACACRQRAQRQQciECQdSJC0EANgIAQcwBIAVBOGpBv6oEEAIhAUHUiQsoAgAhBUHUiQtBADYCAEEBIQACQCAFQQFHBEBB1IkLQQA2AgBB0AEgAiABIAMQBCEDQdSJCygCACEmQdSJC0EANgIAICZBAUcEQEEAIQBB1IkLQQA2AgBBzQEgA0GwuQdBzgEQCEHUiQsoAgAhJ0HUiQtBADYCACAnQQFHDQwLEAAhAyABLAALQQBIBEAgASgCABBaCyAADQEMCQsQACEDCyACEG4MBwtB1IkLQQA2AgBBxwEgA0EBEAIhAkHUiQsoAgAhBEHUiQtBADYCAAJAAkAgBEEBRg0AQdSJC0EANgIAQdQBIAVBMGogAhADQdSJCygCACEoQdSJC0EANgIAIChBAUYNACAJIAUpAzA3AgxB1IkLQQA2AgBBxwEgA0ECEAIhAkHUiQsoAgAhKUHUiQtBADYCACApQQFGDQFB1IkLQQA2AgBB1AEgBUEoaiACEANB1IkLKAIAISpB1IkLQQA2AgAgKkEBRg0BIAkgBSkDKDcCFCAHQQFqIQcMBgsQACEDDAcLEAAhAwwGCwJAIAMtAABFDQBBgJ0LKAIAIQJB1IkLQQA2AgBBzwEgAxAGISxB1IkLKAIAIStB1IkLQQA2AgAgK0EBRg0CICwoAgRFDQBB1IkLQQA2AgBBxwEgA0EAEAIhLkHUiQsoAgAhLUHUiQtBADYCACAtQQFGDQIgLi0AAA0AQdSJC0EANgIAQccBIANBABACIQRB1IkLKAIAIS9B1IkLQQA2AgAgL0EBRg0CQdSJC0EANgIAQdQBIAVB6ABqIAQQA0HUiQsoAgAhMEHUiQtBADYCACAwQQFGDQIgBSgCaCACRg0EC0EUEHIhAkHUiQtBADYCAEHMASAFQRxqQZerBBACIQFB1IkLKAIAIQVB1IkLQQA2AgBBASEAAkAgBUEBRwRAQdSJC0EANgIAQdABIAIgASADEAQhA0HUiQsoAgAhMUHUiQtBADYCACAxQQFHBEBBACEAQdSJC0EANgIAQc0BIANBsLkHQc4BEAhB1IkLKAIAITJB1IkLQQA2AgAgMkEBRw0KCxAAIQMgASwAC0EASARAIAEoAgAQWgsgAA0BDAcLEAAhAwsgAhBuDAULEAAhAwwECxAAIQMMAwtB1IkLQQA2AgBB9wEgCyACEAIaQdSJCygCACEzQdSJC0EANgIAIDNBAUYEQBAAIQMMAwsgB0EBaiEHC0EAIQZB1IkLQQA2AgBBxwEgASAHEAIhAkHUiQsoAgAhA0HUiQtBADYCAAJAIANBAUYNAAJAAkACQAJAAkACQCACLQAADQBB1IkLQQA2AgBBxwEgASAHEAIhAkHUiQsoAgAhNEHUiQtBADYCACA0QQFGDQFB1IkLQQA2AgBB/gEgBUHoAGoiAyACEANB1IkLKAIAITVB1IkLQQA2AgAgNUEBRg0BQQAhAgJAIAUoAmwgBS0AcyIEIATAIgRBAEgbIgZFDQAgBiAFKAJoIAMgBEEASBsiA2ohBgNAIAMsAABBMGsiCEEKSSECIAhBCUsNASADQQFqIgMgBkcNAAsLIARBAEgEQCAFKAJoEFoLQQAhBiACRQ0AQdSJC0EANgIAQccBIAEgBxACIQJB1IkLKAIAITZB1IkLQQA2AgAgNkEBRg0GQdSJC0EANgIAQekBIAIQBiECQdSJCygCACE3QdSJC0EANgIAIDdBAUYNBiAHQQFqIQcgCSACrDcDIEEBIQYLQdSJC0EANgIAQccBIAEgBxACIQJB1IkLKAIAIThB1IkLQQA2AgAgOEEBRg0FAkAgAi0AAA0AQdSJC0EANgIAQccBIAEgBxACIQJB1IkLKAIAITlB1IkLQQA2AgAgOUEBRg0CQdSJC0EANgIAQf4BIAVB6ABqIgMgAhADQdSJCygCACE6QdSJC0EANgIAIDpBAUYNAkEAIQICQCAFKAJsIAUtAHMiBCAEwCIEQQBIGyIIRQ0AIAggBSgCaCADIARBAEgbIgNqIQgDQCADLAAAQTBrIgpBCkkhAiAKQQlLDQEgA0EBaiIDIAhHDQALCyAEQQBIBEAgBSgCaBBaCyACRQ0AQdSJC0EANgIAQccBIAEgBxACIQJB1IkLKAIAITtB1IkLQQA2AgAgO0EBRg0GQdSJC0EANgIAQekBIAIQBiECQdSJCygCACE8QdSJC0EANgIAIDxBAUYNBiAHQQFqIQcgCSACrDcDKAtB1IkLQQA2AgBBxwEgASAHEAIhAkHUiQsoAgAhPUHUiQtBADYCACA9QQFGDQJB1IkLQQA2AgBB6xEgACACEAIhAkHUiQsoAgAhPkHUiQtBADYCACA+QQFGDQIgCSACNgIwAkAgAkEHTwRAIAIoAgRBAUYNAQtBFBByIQdB1IkLQQA2AgBBzAEgBUEQakH91gEQAiECQdSJCygCACEDQdSJC0EANgIAQQEhAAJAIANBAUcEQEHUiQtBADYCAEHQASAHIAIgARAEIQFB1IkLKAIAIT9B1IkLQQA2AgAgP0EBRwRAQQAhAEHUiQtBADYCAEHNASABQbC5B0HOARAIQdSJCygCACFAQdSJC0EANgIAIEBBAUcNDQsQACEDIAIsAAtBAEgEQCACKAIAEFoLIAANAQwKCxAAIQMLIAcQbgwIC0HUiQtBADYCAEHPASABEAYhA0HUiQsoAgAhQUHUiQtBADYCACBBQQFGDQUgB0EBaiICIAMoAgRPDQRB1IkLQQA2AgBBxwEgASACEAIhQ0HUiQsoAgAhQkHUiQtBADYCACBCQQFGDQUgQy0AAEUNBCAGBEBBFBByIQdB1IkLQQA2AgBBzAEgBUEEakGi8gUQAiECQdSJCygCACEDQdSJC0EANgIAQQEhAAJAIANBAUcEQEHUiQtBADYCAEHQASAHIAIgARAEIQFB1IkLKAIAIURB1IkLQQA2AgAgREEBRwRAQQAhAEHUiQtBADYCAEHNASABQbC5B0HOARAIQdSJCygCACFFQdSJC0EANgIAIEVBAUcNDQsQACEDIAIsAAtBAEgEQCACKAIAEFoLIAANAQwKCxAAIQMLIAcQbgwIC0HUiQtBADYCAEHHASABIAIQAiEBQdSJCygCACFGQdSJC0EANgIAIEZBAUYNBUHUiQtBADYCAEH1ASAAIAEgCRAIQdSJCygCACFHQdSJC0EANgIAIEdBAUYNBQJAIAAoAgAiASgCMCIDIAEoAjQiAUYNACAJKAIAIQIDQCADKAIAKAIMIAJGDQEgA0EEaiIDIAFHDQALDAQLIAEgA0YNAyAJIAMoAgAiASgCICABKAIca0ECda0iSTcDICAJIEk3AygMBAsQACEDDAYLEAAhAwwFCxAAIQMMBAsgCUIANwMgIAlCADcDKAsgACgCACEAQdSJC0EANgIAQTYgACAFQeQAahACGkHUiQsoAgAhSEHUiQtBADYCACBIQQFGDQAgBSgCZCIABEAgABBaCyAFQYABaiQADwsQACEDIAUoAmQiCUUNAgwBCxAAIQMLIAkQWgsgAxAHAAsAC/srAk9/A34jAEHAAWsiBiQAQSgQXCIJQgA3AgAgCUIANwIgIAlCADcCGCAJQgA3AhAgCUIANwIIQdSJC0EANgIAQccBIAFBARACIQNB1IkLKAIAIQRB1IkLQQA2AgACQAJAAkAgBEEBRg0AAkACQAJAIAMtAAANACADLQAcRQ0AQdSJC0EANgIAQccBIAFBARACIQNB1IkLKAIAIRBB1IkLQQA2AgAgEEEBRg0DQdSJC0EANgIAQdQBIAZBoAFqIAMQA0HUiQsoAgAhEUHUiQtBADYCACARQQFGDQMgBikDoAEhUiAJQQE6AAggCSBSNwIAQQIhBAwBCyACBEAgACgChAEhA0HUiQtBADYCAEH7ASAGQYwBaiIEIAMQA0HUiQsoAgAhA0HUiQtBADYCAAJAAkACQCADQQFHBEBB1IkLQQA2AgBB/AEgBEGvvAYQAiEDQdSJCygCACESQdSJC0EANgIAIBJBAUYNASAGIAMoAgg2ArABIAYgAykCADcDqAEgA0IANwIAIANBADYCCCAGIAYoAqwBIAYsALMBIgRB/wFxIARBAEgiBBs2ArwBIAYgBigCqAEgBkGoAWogBBs2ArgBQdSJC0EANgIAIAYgBikCuAE3AwhBBiAGQZgBaiAGQQhqEANB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRg0CIAkgBikDmAE3AgAgBiwAswFBAEgEQCAGKAKoARBaCyADLAALQQBIBEAgAygCABBaC0EBIQQMBQsQACEDDAcLEAAhAwwBCxAAIQMgBiwAswFBAE4NACAGKAKoARBaCyAGLACXAUEATg0EIAYoAowBEFoMBAsgACgChAEhA0HUiQtBADYCAEHoASAGQagBaiADEANB1IkLKAIAIRRB1IkLQQA2AgBBASEEIBRBAUYNASAJIAYpA6gBNwIACyAAIAAoAoQBQQFqNgKEAQJAIAAoAmwiAyAAKAJwRwRAIAMgCSkCADcCACAAIANBCGo2AmwMAQsgAyAAKAJoIgprIgdBA3UiC0EBaiIFQYCAgIACTwRAQdSJC0EANgIAQfcAEAlB1IkLKAIAIRVB1IkLQQA2AgAgFUEBRg0DDAULAkBB/////wEgB0ECdSIIIAUgBSAISRsgB0H4////B08bIgVFBEBBACEIDAELIAVBgICAgAJPBEBB1IkLQQA2AgBBAxAJQdSJCygCACEWQdSJC0EANgIAIBZBAUcNBgwEC0HUiQtBADYCAEEEIAVBA3QQBiEIQdSJCygCACEXQdSJC0EANgIAIBdBAUYNAwsgCCALQQN0aiIHIAkpAgA3AgAgB0EIaiELIAMgCkcEQANAIAdBCGsiByADQQhrIgMpAgA3AgAgAyAKRw0ACyAAKAJoIQMLIAAgCCAFQQN0ajYCcCAAIAs2AmwgACAHNgJoIANFDQAgAxBaC0IAIVIDQEHUiQtBADYCAEHPASABEAYhA0HUiQsoAgAhB0HUiQtBADYCAAJAAkACQAJAAkACQAJAAkACQAJAAkAgB0EBRg0AAkACQCADKAIEIARNBEBBACEHDAELQdSJC0EANgIAQccBIAEgBBACIRlB1IkLKAIAIRhB1IkLQQA2AgAgGEEBRg0CIBktAABFBEBBACEHDAELQdSJC0EANgIAQccBIAEgBBACIQNB1IkLKAIAIQdB1IkLQQA2AgACQAJAAkACQAJAAkACQCAHQQFGDQAgBEEBaiEEIAMtAABFDQZByJwLKAIAIQdB1IkLQQA2AgBBzwEgAxAGIRtB1IkLKAIAIRpB1IkLQQA2AgAgGkEBRg0AIBsoAgRFDQZB1IkLQQA2AgBBxwEgA0EAEAIhHUHUiQsoAgAhHEHUiQtBADYCACAcQQFGDQAgHS0AAA0GQdSJC0EANgIAQccBIANBABACIQVB1IkLKAIAIR5B1IkLQQA2AgAgHkEBRg0AQdSJC0EANgIAQdQBIAZBqAFqIAUQA0HUiQsoAgAhH0HUiQtBADYCACAfQQFGDQAgBigCqAEgB0cNBkHUiQtBADYCAEEEQRQQBiEHQdSJCygCACEgQdSJC0EANgIAICBBAUYNASAHQgA3AgAgB0EANgIQIAdCADcCCEHUiQtBADYCAEHHASADQQEQAiEDQdSJCygCACEhQdSJC0EANgIAICFBAUYNBEHUiQtBADYCAEHUASAGQYABaiADEANB1IkLKAIAISJB1IkLQQA2AgAgIkEBRg0EIAcgBikDgAEiUzcCACAJKQIAIVQgB0EDNgIQIAcgVDcCCCAAKAIAIgsoAsQBIgVFDRMgCygCwAECfyBTpyIIIAVBAWtxIAVpQQFLIgpFDQAaIAggBSAISw0AGiAIIAVwCyIMQQJ0aigCACIDRQ0TIAMoAgAiA0UNEwJAIApFBEAgBUEBayEFA0ACQCAIIAMoAgQiCkcEQCAFIApxIAxGDQEMGAsgAygCCCAIRg0DCyADKAIAIgMNAAsMFQsDQAJAIAggAygCBCIKRwRAIAUgCk0EfyAKIAVwBSAKCyAMRg0BDBcLIAMoAgggCEYNAgsgAygCACIDDQALDBQLIAMoAhBFDRNBFBByIQRB1IkLQQA2AgBBzAEgBkH0AGpB594AEAIhAkHUiQsoAgAhI0HUiQtBADYCAEEBIQAgI0EBRg0CQdSJC0EANgIAQdABIAQgAiABEAQhAUHUiQsoAgAhJEHUiQtBADYCACAkQQFHBEBBACEAQdSJC0EANgIAQc0BIAFBsLkHQc4BEAhB1IkLKAIAISVB1IkLQQA2AgAgJUEBRw0ZCxAAIQMgAiwAC0EASARAIAIoAgAQWgsgAA0DDAULEAAhAwwWCxAAIQMMFQsQACEDCyAEEG4gBxBaDBMLEAAhAwsgBxBaDBELAkAgAy0AAEUNAEGQnAsoAgAhB0HUiQtBADYCAEHPASADEAYhBUHUiQsoAgAhCEHUiQtBADYCAAJAAkAgCEEBRg0AIAUoAgRFDQJB1IkLQQA2AgBBxwEgA0EAEAIhJ0HUiQsoAgAhJkHUiQtBADYCACAmQQFGDQAgJy0AAA0CQdSJC0EANgIAQccBIANBABACIQVB1IkLKAIAIShB1IkLQQA2AgAgKEEBRg0AQdSJC0EANgIAQdQBIAZBqAFqIAUQA0HUiQsoAgAhKUHUiQtBADYCACApQQFHDQELEAAhAwwSCyAGKAKoASAHRw0AQdSJC0EANgIAQccBIANBARACIQdB1IkLKAIAIQVB1IkLQQA2AgACQAJAIAVBAUYNAEHUiQtBADYCAEHUASAGQegAaiAHEANB1IkLKAIAISpB1IkLQQA2AgAgKkEBRg0AQdSJC0EANgIAIAYpA2ghUkHHASADQQIQAiEDQdSJCygCACErQdSJC0EANgIAICtBAUYNAUHUiQtBADYCAEHUASAGQeAAaiADEANB1IkLKAIAISxB1IkLQQA2AgAgLEEBRg0BIFJCIIinIQ8gUqchDSAGKQNgIlJCIIinIQ4MEAsQACEDDBILEAAhAwwRCwJAAkAgAy0AAEUNAEGgnQsoAgAhB0HUiQtBADYCAEHPASADEAYhBUHUiQsoAgAhCEHUiQtBADYCAAJAAkAgCEEBRg0AIAUoAgRFDQJB1IkLQQA2AgBBxwEgA0EAEAIhLkHUiQsoAgAhLUHUiQtBADYCACAtQQFGDQAgLi0AAA0CQdSJC0EANgIAQccBIANBABACIQVB1IkLKAIAIS9B1IkLQQA2AgAgL0EBRg0AQdSJC0EANgIAQdQBIAZBqAFqIAUQA0HUiQsoAgAhMEHUiQtBADYCACAwQQFHDQELEAAhAwwTCyAGKAKoASAHRw0AQdSJC0EANgIAQQEhB0HHASADQQEQAiEDQdSJCygCACExQdSJC0EANgIAIDFBAUcEQEHUiQtBADYCAEHrESAAIAMQAiEDQdSJCygCACEyQdSJC0EANgIAIDJBAUcNAgsQACEDDBILQQAhB0HUiQtBADYCAEHrESAAIAMQAiEDQdSJCygCACEzQdSJC0EANgIAIDNBAUcNABAAIQMMEQsgAw0BC0HUiQtBADYCAEHHASABIAQQAiEDQdSJCygCACE0QdSJC0EANgIAIDRBAUYNAkHUiQtBADYCAEHUASAGQdgAaiADEANB1IkLKAIAITVB1IkLQQA2AgAgNUEBRg0CQdSJC0EANgIAQeURIAYoAlggBigCXEEAEAQhA0HUiQsoAgAhNkHUiQtBADYCACA2QQFGDQIgBEEBaiEECyANBEAgDkUEQEEUEHIhAEHUiQtBADYCAEHMASAGQcwAakHO3wAQAiECQdSJCygCACE3QdSJC0EANgIAQQEhBCA3QQFGDQRB1IkLQQA2AgBB0AEgACACIAEQBCEBQdSJCygCACE4QdSJC0EANgIAIDhBAUcEQEEAIQRB1IkLQQA2AgBBzQEgAUGwuQdBzgEQCEHUiQsoAgAhOUHUiQtBADYCACA5QQFHDRILEAAhAyACLAALQQBIBEAgAigCABBaCyAERQ0QIAAQbgwQCyACRQRAQRQQciEAQdSJC0EANgIAQcwBIAZBQGtBm/YCEAIhAkHUiQsoAgAhOkHUiQtBADYCAEEBIQQgOkEBRg0FQdSJC0EANgIAQdABIAAgAiABEAQhAUHUiQsoAgAhO0HUiQtBADYCACA7QQFHBEBBACEEQdSJC0EANgIAQc0BIAFBsLkHQc4BEAhB1IkLKAIAITxB1IkLQQA2AgAgPEEBRw0SCxAAIQMgAiwAC0EASARAIAIoAgAQWgsgBEUNECAAEG4MEAtB1IkLQQA2AgBBBEEoEAYhAkHUiQsoAgAhBEHUiQtBADYCAAJAAkACQCAEQQFHBEAgAkIANwIIIAJCADcCICACQgA3AhggAkIANwIQIAkpAgAhUyACIAc6ACQgAiADNgIcIAIgUkL/////D4MgDq1CIIaENwIUIAIgDzYCECACIA02AgwgAiBTNwIAIAAoAgAiBSgCvAIiAEUNDSAFKAK4AgJ/IFOnIgQgAEEBa3EgAGkiB0EBTQ0AGiAEIAAgBEsNABogBCAAcAsiCEECdGooAgAiA0UNDSADKAIAIgNFDQ0CQCAHQQFNBEAgAEEBayEAA0ACQCAEIAMoAgQiB0cEQCAAIAdxIAhGDQEMEgsgAygCCCAERg0DCyADKAIAIgMNAAsMDwsDQAJAIAQgAygCBCIHRwRAIAAgB00EfyAHIABwBSAHCyAIRg0BDBELIAMoAgggBEYNAgsgAygCACIDDQALDA4LIAMoAhBFDQ1BFBByIQRB1IkLQQA2AgBBzAEgBkE0akH/3wAQAiEGQdSJCygCACE9QdSJC0EANgIAQQEhACA9QQFGDQFB1IkLQQA2AgBB0AEgBCAGIAEQBCEBQdSJCygCACE+QdSJC0EANgIAID5BAUcEQEEAIQBB1IkLQQA2AgBBzQEgAUGwuQdBzgEQCEHUiQsoAgAhP0HUiQtBADYCACA/QQFHDRULEAAhAyAGLAALQQBIBEAgBigCABBaCyAADQIMAwsQACEDDBILEAAhAwsgBBBuCyACEFoMDwsgCSADNgIcQdSJC0EANgIAQc8BIAEQBiFBQdSJCygCACFAQdSJC0EANgIAIEBBAUYNBiBBKAIEIARLBEBB1IkLQQA2AgBBxwEgASAEEAIhA0HUiQsoAgAhQkHUiQtBADYCACBCQQFGDQdB1IkLQQA2AgBB6wEgACADEAIhAkHUiQsoAgAhQ0HUiQtBADYCACBDQQFGDQcgBiACNgKYAQJAIAMoAigiA0UNACAAKALQAUUNAEHUiQtBADYCAEHsASAGQagBaiAAIAMQCEHUiQsoAgAhREHUiQtBADYCACBEQQFGDQggACgC0AEhA0HUiQtBADYCAEHtASAGQbgBaiADQeAAaiACIAZBmAFqEAVB1IkLKAIAIUVB1IkLQQA2AgAgRUEBRg0IIAYoArgBIgMgBikCqAE3AgwgAyAGKAKwATYCFAsgBEEBaiEEIAkgAjYCIAwGCyACDQVBFBByIQBB1IkLQQA2AgBBzAEgBkEoakG28QAQAiECQdSJCygCACFGQdSJC0EANgIAQQEhBCBGQQFGDQRB1IkLQQA2AgBB0AEgACACIAEQBCEBQdSJCygCACFHQdSJC0EANgIAIEdBAUcEQEEAIQRB1IkLQQA2AgBBzQEgAUGwuQdBzgEQCEHUiQsoAgAhSEHUiQtBADYCACBIQQFHDRALEAAhAyACLAALQQBIBEAgAigCABBaCyAERQ0OIAAQbgwOCxAAIQMMDQsQACEDDAwLEAAhAyAAEG4MCwsQACEDIAAQbgwKCxAAIQMgABBuDAkLIAkgBzoAJEHUiQtBADYCAEHPASABEAYhAkHUiQsoAgAhSUHUiQtBADYCACBJQQFHDQELEAAhAwwHCwJAAkACQCACKAIEIARHBEBBFBByIQBB1IkLQQA2AgBBzAEgBkEcakGhoQEQAiECQdSJCygCACFKQdSJC0EANgIAQQEhBCBKQQFGDQFB1IkLQQA2AgBB0AEgACACIAEQBCEBQdSJCygCACFLQdSJC0EANgIAIEtBAUcEQEEAIQRB1IkLQQA2AgBBzQEgAUGwuQdBzgEQCEHUiQsoAgAhTEHUiQtBADYCACBMQQFHDQwLEAAhAyACLAALQQBIBEAgAigCABBaCyAERQ0KIAAQbgwKCyAAKAIAIgcoArwCIgBFDQIgBygCuAICfyAJKAIAIgIgAEEBa3EgAGkiBEEBTQ0AGiACIAAgAksNABogAiAAcAsiBUECdGooAgAiA0UNAiADKAIAIgNFDQICQCAEQQFNBEAgAEEBayEAA0ACQCACIAMoAgQiBEcEQCAAIARxIAVGDQEMBwsgAygCCCACRg0DCyADKAIAIgMNAAsMBAsDQAJAIAIgAygCBCIERwRAIAAgBE0EfyAEIABwBSAECyAFRg0BDAYLIAMoAgggAkYNAgsgAygCACIDDQALDAMLIAMoAhBFDQJBFBByIQBB1IkLQQA2AgBBzAEgBkEQakH/3wAQAiECQdSJCygCACFNQdSJC0EANgIAQQEhBCBNQQFGDQFB1IkLQQA2AgBB0AEgACACIAEQBCEBQdSJCygCACFOQdSJC0EANgIAIE5BAUcEQEEAIQRB1IkLQQA2AgBBzQEgAUGwuQdBzgEQCEHUiQsoAgAhT0HUiQtBADYCACBPQQFHDQsLEAAhAyACLAALQQBIBEAgAigCABBaCyAERQ0JIAAQbgwJCxAAIQMgABBuDAgLEAAhAyAAEG4MBwsgByAJEOoGGgwBC0HUiQtBADYCAEHtESAFIAIQAhpB1IkLKAIAIVBB1IkLQQA2AgAgUEEBRgRAEAAhAwwGCyAJEFoLIAZBwAFqJAAPC0HUiQtBADYCAEH3ASALIAcQAhpB1IkLKAIAIVFB1IkLQQA2AgAgUUEBRw0ACxAAIQMMAgsQACEDDAELEAAhAwsgCRBaIAMQBwALAAu8AgEFfyMAQSBrIgMkAAJAAkACQAJAIAACfwJAIAItAAANACACLQAcRQ0AIANBGGoiACACEOwBIAAMAQsgAhCLAyIAIAEoAjwgASgCOCIBa0EDdU8EQEEUEHIhAUHUiQtBADYCAEHMASADQQxqQZCfBBACIQBB1IkLKAIAIQVB1IkLQQA2AgBBASEDIAVBAUYNA0HUiQtBADYCAEHQASABIAAgAhAEIQJB1IkLKAIAIQZB1IkLQQA2AgAgBkEBRwRAQQAhA0HUiQtBADYCAEHNASACQbC5B0HOARAIQdSJCygCACEHQdSJC0EANgIAIAdBAUcNAwsQACECIAAsAAtBAEgEQCAAKAIAEFoLIANFDQUMBAsgASAAQQN0agspAAA3AgAgA0EgaiQADwsACxAAIQILIAEQbgsgAhAHAAupAwELfyMAQSBrIgQkACAEQQA2AhwgBEIANwIUAkACQANAQdSJC0EANgIAQc8BIAAQBiEDQdSJCygCACEIQdSJC0EANgIAIAhBAUYNAiABIAMoAgRPDQFB1IkLQQA2AgBBxwEgACABEAIhA0HUiQsoAgAhCUHUiQtBADYCACAJQQFGDQJB1IkLQQA2AgBB1AEgBEEIaiADEANB1IkLKAIAIQpB1IkLQQA2AgAgCkEBRg0CIAFBAWohAUHUiQtBADYCAEHVASAAIAQoAgggBCgCDCAEQRRqEAVB1IkLKAIAIQtB1IkLQQA2AgAgC0EBRw0ACwwBCwJAIAQoAhgiASAEKAIUIgBrIgMgAigCACIFKAIgIAUoAhwiB2siBksEQEHUiQtBADYCAEGuAiAFQRxqIAMgBmsQA0HUiQsoAgAhDEHUiQtBADYCACAMQQFHDQEMAgsgAyAGTw0AIAUgAyAHajYCIAsgACABRwRAIAIoAgAoAhwgACAD/AoAACAAIQELIAEEQCABEFoLIARBIGokAA8LEAAhDSAEKAIUIgEEQCABEFoLIA0QBwALKQAgACgCAEEGRwRAQdKuBkGntwJB9xFB5ZgBEAEACyAAQQhqIAEQ7AQLwTICP38CfiMAQcABayIFJAAgAEEAOgDUASAFQgA3A6ABIAVCADcDmAEgASAFQaABaiIEIAVBmAFqEMwQIQYgBSgCoAEhCQJAIAJFBEAgCUUEQCAEIAAoAoABEPUECyAAIAAoAoABQQFqNgKAAQwBCyAJDQAgBSAAKAIsIAAoAoABQQN0akEIaykCADcDoAELAkACQAJAAkAgBSgCmAEEQEEUEFwiCCAFKQOYASJDNwIAIAUpA6ABIUIgCEEANgIQIAggQjcCCAJAIAAoAgAiDCgCxAEiA0UNACAMKALAAQJ/IEOnIgcgA0EBa3EgA2kiCkEBTQ0AGiAHIAMgB0sNABogByADcAsiC0ECdGooAgAiBEUNACAEKAIAIgRFDQACQCAKQQFNBEAgA0EBayEDA0ACQCAHIAQoAgQiCkcEQCADIApxIAtGDQEMBQsgBCgCCCAHRg0DCyAEKAIAIgQNAAsMAgsDQAJAIAcgBCgCBCIKRwRAIAMgCk0EfyAKIANwBSAKCyALRg0BDAQLIAQoAgggB0YNAgsgBCgCACIEDQALDAELIAQoAhBFDQBBFBByIQJB1IkLQQA2AgBBzAEgBUGMAWpB594AEAIhAEHUiQsoAgAhBEHUiQtBADYCAEEBIQMCQAJAIARBAUcEQEHUiQtBADYCAEHQASACIAAgARAEIQFB1IkLKAIAIQ5B1IkLQQA2AgAgDkEBRwRAQQAhA0HUiQtBADYCAEHNASABQbC5B0HOARAIQdSJCygCACEPQdSJC0EANgIAIA9BAUcNBgsQACEEIAAsAAtBAEgEQCAAKAIAEFoLIANFDQIMAQsQACEECyACEG4LIAgQWiAEEAcACyAMIAgQ3wQaCwJ/AkACfiABEKUCKAIEIAZNBEBBACEHQgAMAQtBACEHAkAgASAGEGkiBC0AAEUNAEGQnAsoAgAhCCAEEKUCKAIERQ0AQQAhAyAEQQAQaS0AAEUNAgtCAAshQ0EAIQNBAAwBCyAFQagBaiAEQQAQaRDsASAIIAUoAqgBRwRAQgAhQ0EADAELIAVBgAFqIAEgBhBpIgRBARBpEOwBIAUpA4ABIUIgBUH4AGogBEECEGkQ7AEgBkEBaiEGIAUpA3giQ0IgiKchByBCpyEDIEJCIIinCyEIQdSJC0EANgIAIAVBATYCdCAFQQA2AnAgBUIANwJoQfoBIAAgASAGIAVB9ABqIAVB6ABqEBAhBEHUiQsoAgAhBkHUiQtBADYCAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgBkEBRwRAIANFDQQgBw0DQRQQciEEQdSJC0EANgIAQcwBIAVB3ABqQc7fABACIQJB1IkLKAIAIRBB1IkLQQA2AgBBASEGIBBBAUYNAUHUiQtBADYCAEHQASAEIAIgARAEIQBB1IkLKAIAIRFB1IkLQQA2AgAgEUEBRwRAQQAhBkHUiQtBADYCAEHNASAAQbC5B0HOARAIQdSJCygCACESQdSJC0EANgIAIBJBAUcNEwsQACEAIAIsAAtBAEgEQCACKAIAEFoLIAYNAgwVCxAAIQAMFAsQACEACyAEEG4MEgsgAkUEQEEUEHIhAkHUiQtBADYCAEHMASAFQdAAakG/5gQQAiEEQdSJCygCACETQdSJC0EANgIAQQEhBiATQQFGDQJB1IkLQQA2AgBB0AEgAiAEIAEQBCEAQdSJCygCACEUQdSJC0EANgIAIBRBAUcEQEEAIQZB1IkLQQA2AgBBzQEgAEGwuQdBzgEQCEHUiQsoAgAhFUHUiQtBADYCACAVQQFHDRALEAAhACAELAALQQBIBEAgBCgCABBaCyAGRQ0SIAIQbgwSC0HUiQtBADYCAEEEQcQBEAYhAkHUiQsoAgAhBEHUiQtBADYCAAJAAkAgBEEBRwRAIAJBCGpBAEG8AfwLACACQgA3AgwgAkEAOgAIIAJCADcCACACQgA3AhRB1IkLQQA2AgAgBUIANwKoASAFQgA3AwhBKSACQRxqIAVBCGoQAiEXQdSJCygCACEWQdSJC0EANgIAIBZBAUYEQBAAIQAgAhBaDBULIAJCADcCICACQgA3AkwgAkIANwJgIAJCADcCjAEgAkFAa0IANwIAIAJCADcCOCACQgA3AjAgAkIANwIoIAJBgICA/AM2AkggAkIANwJUIAJBgICA/AM2AlwgAkIANwJoIAJB+ABqIgZCADcCACACQYCAgPwDNgJwIAJBhAFqIgpCADcCACACIAY2AnQgAiAKNgKAASACQgA3ApQBIAJCADcCoAEgAkGAgID8AzYCnAEgAkIANwKoASACQYCAgPwDNgKwASACQgA3ArQBIAJCADcBugEgBSACNgIcIAUpA6ABIUIgAiBDQv////8PgyAHrUIghoQ3AhQgAiAINgIQIAIgAzYCDCACIAlBAEc6AAggAiBCNwIAIBcgBSgCdCIENgIAQdSJC0EANgIAQfkBIAVBqAFqIABBnAFqIEIgBUGgAWoQwgJB1IkLKAIAIRhB1IkLQQA2AgAgGEEBRg0QIAUoAqgBIAQ2AhggACgCACIIKALYASIHRQ0OIAIoAgAhAwJAIAdpIgZBAU0EQCAHQQFrIANxIQIMAQsgAyICIAdJDQAgAiAHcCECCyAIKALUASACQQJ0aigCACIERQ0OIAQoAgAiBEUNDgJAIAZBAU0EQCAHQQFrIQcDQAJAIAMgBCgCBCIGRwRAIAYgB3EgAkYNAQwTCyAEKAIIIANGDQMLIAQoAgAiBA0ACwwQCwNAAkAgAyAEKAIEIgZHBEAgBiAHTwR/IAYgB3AFIAYLIAJGDQEMEgsgBCgCCCADRg0CCyAEKAIAIgQNAAsMDwsgBCgCEEUNDkEUEHIhBEHUiQtBADYCAEHMASAFQcQAakH/3wAQAiECQdSJCygCACEZQdSJC0EANgIAQQEhBiAZQQFGDQFB1IkLQQA2AgBB0AEgBCACIAEQBCEAQdSJCygCACEaQdSJC0EANgIAIBpBAUcEQEEAIQZB1IkLQQA2AgBBzQEgAEGwuQdBzgEQCEHUiQsoAgAhG0HUiQtBADYCACAbQQFHDRILEAAhACACLAALQQBIBEAgAigCABBaCyAGDQIMEwsQACEADBMLEAAhAAsgBBBuDBALIAIEQEEUEHIhAkHUiQtBADYCAEHMASAFQSxqQcDmBBACIQRB1IkLKAIAIRxB1IkLQQA2AgBBASEGIBxBAUYNAkHUiQtBADYCAEHQASACIAQgARAEIQBB1IkLKAIAIR1B1IkLQQA2AgAgHUEBRwRAQQAhBkHUiQtBADYCAEHNASAAQbC5B0HOARAIQdSJCygCACEeQdSJC0EANgIAIB5BAUcNDwsQACEAIAQsAAtBAEgEQCAEKAIAEFoLIAZFDREgAhBuDBELIAUgBSgCbCAFKAJoa0EMbTYCKCAFQQA2AiQgBUIANwIcAkACQAJAA0BB1IkLQQA2AgBBzwEgARAGIQJB1IkLKAIAIR9B1IkLQQA2AgAgH0EBRg0DIAQgAigCBE8NAkHUiQtBADYCAEHHASABIAQQAiECQdSJCygCACEgQdSJC0EANgIAICBBAUYNAyACLQAARQ0CQeicCygCACEDQdSJC0EANgIAQc8BIAIQBiEiQdSJCygCACEhQdSJC0EANgIAICFBAUYNAyAiKAIERQ0CQdSJC0EANgIAQccBIAJBABACISRB1IkLKAIAISNB1IkLQQA2AgAgI0EBRg0DICQtAAANAkHUiQtBADYCAEHHASACQQAQAiECQdSJCygCACElQdSJC0EANgIAICVBAUYNA0HUiQtBADYCAEHUASAFQagBaiIHIAIQA0HUiQsoAgAhJkHUiQtBADYCACAmQQFGDQMgBSgCqAEgA0cNAkHUiQtBADYCAEHHASABIAQQAiECQdSJCygCACEDQdSJC0EANgIAAkAgA0EBRg0AQdSJC0EANgIAQeERIAcgACACIAVBKGoQBUHUiQsoAgAhJ0HUiQtBADYCACAnQQFGDQBB1IkLQQA2AgBB4hEgBUEcaiAFKAIgIAUoAqgBIgIgBSgCrAEiAyADIAJrQQxtEAxB1IkLKAIAIShB1IkLQQA2AgAgKEEBRg0CIAIEQCACEFoLIARBAWohBAwBCwsQACEADAwLEAAhACACRQ0LIAIQWgwLC0HUiQtBADYCACAFKQOgASAFQegAaiAFKAJ0IgogBUEcakEAEIkMIQJB1IkLKAIAISlB1IkLQQA2AgAgKUEBRg0JIAAoAtABIQMgACACNgLQASADBH8gAxCkAhBaIAAoAtABBSACCyAAKAIINgIgQQAhAgNAAkBB1IkLQQA2AgBBzwEgARAGIQNB1IkLKAIAIQdB1IkLQQA2AgACQAJAIAdBAUcEQCAEIAMoAgRPDQNB1IkLQQA2AgBBxwEgASAEEAIhB0HUiQsoAgAhKkHUiQtBADYCACAqQQFGDQFB1IkLQQA2AgBB6wEgACAHEAIhCEHUiQsoAgAhK0HUiQtBADYCACArQQFGDQEgBSAINgK0ASAAKALQASEDAkAgBygCKCIHRQ0AIANFDQBB1IkLQQA2AgBB7AEgBUGoAWogACAHEAhB1IkLKAIAISxB1IkLQQA2AgAgLEEBRg0CIAAoAtABIQNB1IkLQQA2AgBB7QEgBUG4AWogA0HgAGogCCAFQbQBahAFQdSJCygCACEtQdSJC0EANgIAIC1BAUYNAiAFKAK4ASIDIAUpAqgBNwIMIAMgBSgCsAE2AhQgACgC0AEhAwsgBEEBaiEEIAMoAjANAiADIAg2AjAMBAsQACEADA4LEAAhAAwNCwJ/IAIEQCACKAIUDAELIAAoAgQhA0HUiQtBADYCAEEMIANBIEEEEAQhAkHUiQsoAgAhLkHUiQtBADYCACAuQQFGDQogAkIANwIEIAJBATYCACACQgA3AgwgAkIANwIUIAIgAzYCHCAAKALQASgCMCEHIAJBAjYCGEHUiQtBADYCAEEMIANBCEEEEAQhA0HUiQsoAgAhL0HUiQtBADYCACAvQQFGDQogAiADNgIQIAMgBzYCACACQQE2AhQgACgC0AEgAjYCMEEBCyEGIAIoAhAhBwJAIAIoAhggBkcEQCAHIQMMAQsgAiAGQQF0QQJqIgM2AhggAigCHCEGQdSJC0EANgIAQQwgBiADQQJ0QQQQBCEDQdSJCygCACEwQdSJC0EANgIAIDBBAUYNCiACIAM2AhAgAigCFCIGRQRAQQAhBgwBC0EAIQxBACEDIAZBBE8EQCAGQXxxIQsDQCADQQJ0IgkgAigCEGogByAJaigCADYCACAJQQRyIg0gAigCEGogByANaigCADYCACAJQQhyIg0gAigCEGogByANaigCADYCACAJQQxyIgkgAigCEGogByAJaigCADYCACADQQRqIgMgC0cNAAsLIAZBA3EiCQRAA0AgA0ECdCILIAIoAhBqIAcgC2ooAgA2AgAgA0EBaiEDIAxBAWoiDCAJRw0ACwsgAigCECEDCyADIAZBAnRqIAg2AgAgAiAGQQFqNgIUDAELCwJAAkAgAC0A1AEEQCACRQRAIAAoAgQhBEHUiQtBADYCAEEMIARBIEEEEAQhAkHUiQsoAgAhMUHUiQtBADYCACAxQQFGDQwgAkIANwIEIAJBATYCACACQgA3AgwgAkIANwIUIAIgBDYCHCAAKALQASgCMCEDIAJBAjYCGEHUiQtBADYCAEEMIARBCEEEEAQhBEHUiQsoAgAhMkHUiQtBADYCACAyQQFGDQwgAiAENgIQIAQgAzYCACACQQE2AhQgACgC0AEgAjYCMAsgAkH4nAspAwA3AggMAQsgAkUNAQsCQAJAIApBEE8EQCAKKAIQRQ0BC0HUiQtBADYCAEENQeGVBkG4swJB2wlBj+IDEAVB1IkLKAIAITNB1IkLQQA2AgAgM0EBRg0BDBELIAooAhghBEHUiQtBADYCAEGDAyACIARBAUEAEAVB1IkLKAIAITRB1IkLQQA2AgAgNEEBRw0BCxAAIQAMCwsgACgC0AEiBygCMEUEQCAAKAIEIQJB1IkLQQA2AgBBDCACQQhBBBAEIQJB1IkLKAIAITVB1IkLQQA2AgAgNUEBRg0JIAJCFjcCACAAKALQASACNgIwIAAoAtABIQcLIAEoAigiAgRAQdSJC0EANgIAQewBIAVBqAFqIAAgAhAIQdSJCygCACE2QdSJC0EANgIAIDZBAUYNByAHQfgAaiICIQQCQAJAIAcoAngiA0UNACAFKAKwASEJIAUoAqwBIQYgBSgCqAEhCANAAkACQAJAIAMiBCgCECICIAhHBEAgAiAISw0BIAIgCEkNAwwGCyAEKAIUIgIgBkcEQCACIAZLDQEgAiAGSQ0DDAYLIAkgBCgCGCICTw0BCyAEIgIoAgAiAw0CDAMLIAIgCU8NAwsgBCgCBCIDDQALIARBBGohAgtB1IkLQQA2AgBBBEEcEAYhA0HUiQsoAgAhN0HUiQtBADYCACA3QQFGDQcgAyAFKQKoATcCECADIAUoArABNgIYIAMgBDYCCCADQgA3AgAgAiADNgIAIAcoAnQoAgAiBARAIAcgBDYCdCACKAIAIQMLIAcoAnggAxBnIAcgBygCfEEBajYCfAsgACgC0AEhBwsCQAJAAkAgASgCLCICBEBB1IkLQQA2AgBB7AEgBUGoAWogACACEAhB1IkLKAIAIThB1IkLQQA2AgAgOEEBRg0BIAdBhAFqIgIhBAJAAkAgBygChAEiA0UNACAFKAKwASEJIAUoAqwBIQYgBSgCqAEhCANAAkACQAJAIAMiBCgCECICIAhHBEAgAiAISw0BIAIgCEkNAwwGCyAEKAIUIgIgBkcEQCACIAZLDQEgAiAGSQ0DDAYLIAkgBCgCGCICTw0BCyAEIgIoAgAiAw0CDAMLIAIgCU8NAwsgBCgCBCIDDQALIARBBGohAgtB1IkLQQA2AgBBBEEcEAYhA0HUiQsoAgAhOUHUiQtBADYCACA5QQFGDQMgAyAFKQKoATcCECADIAUoArABNgIYIAMgBDYCCCADQgA3AgAgAiADNgIAIAcoAoABKAIAIgQEQCAHIAQ2AoABIAIoAgAhAwsgBygChAEgAxBnIAcgBygCiAFBAWo2AogBCyAAKALQASEHCyAAKAIAIggoAtgBIgINAgwHCxAAIQAMDAsQACEADAsLIAgoAtQBAn8gBygCACIDIAJBAWtxIAJpIgZBAU0NABogAyACIANLDQAaIAMgAnALIglBAnRqKAIAIgRFDQQgBCgCACIERQ0EAkAgBkEBTQRAIAJBAWshAgNAAkAgAyAEKAIEIgZHBEAgAiAGcSAJRw0JDAELIAQoAgggA0YNAwsgBCgCACIEDQALDAYLA0ACQCADIAQoAgQiBkcEQCACIAZNBH8gBiACcAUgBgsgCUcNCAwBCyAEKAIIIANGDQILIAQoAgAiBA0ACwwFCyAEKAIQRQ0EQRQQciECQdSJC0EANgIAQcwBIAVBEGpBotICEAIhBEHUiQsoAgAhOkHUiQtBADYCAEEBIQYgOkEBRg0DQdSJC0EANgIAQdABIAIgBCABEAQhAEHUiQsoAgAhO0HUiQtBADYCACA7QQFHBEBBACEGQdSJC0EANgIAQc0BIABBsLkHQc4BEAhB1IkLKAIAITxB1IkLQQA2AgAgPEEBRw0PCxAAIQAgBCwAC0EASARAIAQoAgAQWgsgBkUNCiACEG4MCgsQACEADAkLEAAhACACEG4MDwsQACEAIAIQbgwOCxAAIQAgAhBuDAYLIABBADYC0AFB1IkLQQA2AgBBKiAIIAcQAhpB1IkLKAIAIT1B1IkLQQA2AgAgPUEBRg0DIAAgACgC2AE2AtwBIABB6AFqIgEoAgAQkQUgACABNgLkASAAQgA3AugBIABB9AFqIgEoAgAQjwMgACABNgLwASAAQgA3AvQBIAUoAhwiAEUNByAAEFoMBwsQACEADAQLEAAhAAwDCxAAIQAMAgsQACEADAELEAAhAAsgBSgCHCIBRQ0GIAEQWgwGC0HUiQtBADYCAEEtIAggBUEcahACGkHUiQsoAgAhPkHUiQtBADYCACA+QQFGDQEgACgC0AEEQEEUEHIhAkHUiQtBADYCAEHMASAFQThqQd/pBBACIQRB1IkLKAIAIT9B1IkLQQA2AgBBASEGID9BAUYNBEHUiQtBADYCAEHQASACIAQgARAEIQBB1IkLKAIAIUBB1IkLQQA2AgAgQEEBRwRAQQAhBkHUiQtBADYCAEHNASAAQbC5B0HOARAIQdSJCygCACFBQdSJC0EANgIAIEFBAUcNBAsQACEAIAQsAAtBAEgEQCAEKAIAEFoLIAZFDQUgAhBuDAULIAAgACgC2AE2AtwBIABB6AFqIgEoAgAQkQUgACABNgLkASAAQgA3AugBIABB9AFqIgEoAgAQjwMgACABNgLwASAAQgA3AvQBIAUoAhwiAEUNACAAEKQCEFoLIAUoAmgiAARAIAAQWgsgBUHAAWokAA8LEAAhAAwCCwALEAAhACACEG4LIAVBHGoQxwILIAUoAmgiAQRAIAEQWgsgABAHAAt/AQV/IwBBEGsiAiQAA0ACQCABIAAQpQIoAgQiBE8NAAJAIAAgARBpIgMtAABFDQBBkJwLKAIAIQUgAxClAigCBEUNACADQQAQaS0AAA0AIAJBCGogA0EAEGkQ7AEgAigCCCAFRg0BCyABQQFqIQEMAQsLIAJBEGokACABIARJC5YEAg1/AX4CQAJAAkAgACgCBCIDRQ0AIANBBE8EQCADQXxxIQUDQCACQQJ0IgQgACgCAGpBADYCACAAKAIAIARqQQA2AgQgACgCACAEakEANgIIIAAoAgAgBGpBADYCDCACQQRqIgIgBUcNAAsLIANBA3EiAwRAA0AgACgCACACQQJ0akEANgIAIAJBAWohAiAGQQFqIgYgA0cNAAsLIAAoAgghAiAAQgA3AgggAkUNAANAIAFFBEADQCACKAIAIQcgAhBaIAciAg0ADAQLAAsgAiABKAIINgIIIAIgASkCDDcCDCACKAIAIQlB1IkLQQA2AgBB4BEgACACEAIaQdSJCygCACEIQdSJC0EANgIAIAhBAUYNAyABKAIAIQEgCSICDQALCyABRQ0AA0BBFBBcIgIgASgCEDYCECACIAEpAggiDzcCCCACIA8+AgQgAkEANgIAQdSJC0EANgIAQeARIAAgAhACGkHUiQsoAgAhCkHUiQtBADYCACAKQQFGBEAQACELIAIQWiALEAcACyABKAIAIgENAAsLDwtBABALEA4aA0AgAigCACEMIAIQWiAMIgINAAtB1IkLQQA2AgBB1QAQCUHUiQsoAgAhDUHUiQtBADYCACANQQFGBEAQACEAQdSJC0EANgIAQRwQCUHUiQsoAgAhDkHUiQtBADYCACAOQQFHBEAgABAHAAtBABALGhBwCwAL5QwCD38CfSMAQRBrIgkkAAJAIAACfwJAIAEoAgQiBEUNAAJAIARpIgVBAU0EQCAEQQFrIAJxIQYMAQsgBCACIgZLDQAgBiAEcCEGCyABKAIAIAZBAnRqKAIAIghFDQAgCCgCACIHRQ0AIAVBAU0EQCAEQQFrIQUDQAJAIAIgBygCBCIIRwRAIAUgCHEgBkcNBAwBCyAHKAIIIAJHDQBBAAwECyAHKAIAIgcNAAsMAQsDQAJAIAIgBygCBCIFRwRAIAQgBU0EfyAFIARwBSAFCyAGRw0DDAELIAcoAgggAkcNAEEADAMLIAcoAgAiBw0ACwtBIBBcIQcgCSABQQhqIgw2AgggCSAHNgIEIAMoAgAhAyAHQgA3AgwgByADNgIIIAdCADcCFCAHQYCAgPwDNgIcIAlBAToADCAHQQA2AgAgByACNgIEIAEqAhAhEyABKAIMQQFqsyEUAkACQCAERQ0AIBMgBLOUIBRdDQAgBiECDAELQQIhAwJAIAQgBEEBa3FBAEcgBEEDSXIgBEEBdHIiBgJ/IBQgE5WNIhNDAACAT10gE0MAAAAAYHEEQCATqQwBC0EACyIFIAUgBkkbIgZBAUYNACAGIAZBAWtxRQRAIAYhAwwBC0HUiQtBADYCAEEVIAYQBiEDQdSJCygCACEOQdSJC0EANgIAIA5BAUYNAyABKAIEIQQLAkACQCADIARNBEAgAyAETw0CIARBA0khBQJ/IAEoAgyzIAEqAhCVjSITQwAAgE9dIBNDAAAAAGBxBEAgE6kMAQtBAAshBgJAAkAgBQ0AIARpQQFLDQAgBkEBQSAgBkEBa2drdCAGQQJJGyEFDAELQdSJC0EANgIAQRUgBhAGIQVB1IkLKAIAIQ9B1IkLQQA2AgAgD0EBRg0GCyAEIAMgBSADIAVLGyIDTQRAIAEoAgQhBAwDCyADRQ0BCyADQYCAgIAETwRAQdSJC0EANgIAQQMQCUHUiQsoAgAhEEHUiQtBADYCACAQQQFGDQUAC0HUiQtBADYCAEEEIANBAnQQBiEGQdSJCygCACERQdSJC0EANgIAIBFBAUYNBCABKAIAIQQgASAGNgIAIAQEQCAEEFoLIAEgAzYCBEEAIQZBACEEIANBBE8EQCADQfz///8DcSEIA0AgBEECdCIFIAEoAgBqQQA2AgAgASgCACAFakEANgIEIAEoAgAgBWpBADYCCCABKAIAIAVqQQA2AgwgBEEEaiIEIAhHDQALCyADQQNxIgUEQANAIAEoAgAgBEECdGpBADYCACAEQQFqIQQgBkEBaiIGIAVHDQALCyABKAIIIgRFBEAgAyEEDAILIAQoAgQhCAJAIAMgA0EBayIKcQRAIAMgCE0EQCAIIANwIQgLIAEoAgAgCEECdGogDDYCACAEKAIAIgYNASADIQQMAwsgASgCACAIIApxIghBAnRqIAw2AgAgBCgCACIFRQRAIAMhBAwDCwNAAkAgCCAFKAIEIApxIgZGBEAgBSEEDAELIAZBAnQiCyABKAIAaiINKAIABEAgBCAFKAIANgIAIAUgASgCACALaigCACgCADYCACABKAIAIAtqKAIAIAU2AgAMAQsgDSAENgIAIAUhBCAGIQgLIAQoAgAiBQ0ACyADIQQMAgsDQCADIAYoAgQiBU0EQCAFIANwIQULAkAgBSAIRgRAIAYhBAwBCyAFQQJ0IgogASgCAGoiCygCAEUEQCALIAQ2AgAgBiEEIAUhCAwBCyAEIAYoAgA2AgAgBiABKAIAIApqKAIAKAIANgIAIAEoAgAgCmooAgAgBjYCAAsgBCgCACIGDQALIAMhBAwBCyABKAIAIQNBACEEIAFBADYCACADBEAgAxBaCyABQQA2AgQLIAQgBEEBayIDcUUEQCACIANxIQIMAQsgAiAESQ0AIAIgBHAhAgsCQAJAIAEoAgAgAkECdGoiAigCACIFRQRAIAcgASgCCDYCACABIAc2AgggAiAMNgIAIAcoAgAiAkUNAiACKAIEIQUCQCAEIARBAWsiAnFFBEAgAiAFcSEFDAELIAQgBUsNACAFIARwIQULIAEoAgAgBUECdGohBQwBCyAHIAUoAgA2AgALIAUgBzYCAAsgASABKAIMQQFqNgIMQQELOgAEIAAgBzYCACAJQRBqJAAPCxAAIRIgCUEEahCOBiASEAcAC9UWAhh/AX4jAEGAAWsiBCQAIAAoAhghCAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABQQFBAkEBIAFBARBpIgItABwbIAItAAAbEGkiA0EAEGkiAi0AAA0AQfCbCykDACEaIARB1ABqIgUgAhDsASAEKAJUIBqnRgRAAn8CQCADQQEQaSIGLQAADQBB+JsLKQMAIRogBSAGEOwBIAQoAlQgGqdHDQBBAgwBCyAAKAIEKAIAIgUgACgCACgCACIGKAJQIAYoAkwiBmtBA3VPDQUgBiAFQQN0aigCAEEBOgABQQELIQVBACEGIAMCfyAFIAMgBRBpIgctAAANABogBSAHLQAcRQ0AGiADIAUQaSEGIAVBAWoLIgcQaSEFIAMQpQIoAgQgB0EBakcEQEEUEHIhAUHUiQtBADYCAEHMASAEQfQAakHU5QIQAiEDQdSJCygCACEJQdSJC0EANgIAIAlBAUYNBkHUiQtBADYCAEHQASABIAMgAhAEIQBB1IkLKAIAIQpB1IkLQQA2AgBBASEEIApBAUcEQEEAIQRB1IkLQQA2AgBBzQEgAEGwuQdBzgEQCEHUiQsoAgAhC0HUiQtBADYCACALQQFHDRELEAAhACADLAALQQBIBEAgAygCABBaCyAERQ0PIAEQbgwPCwJAIAUtAAAEQCAFEKUCKAIEDQELQRQQciEBQdSJC0EANgIAQcwBIARB6ABqQerOAhACIQJB1IkLKAIAIQxB1IkLQQA2AgBBASEEIAxBAUYNB0HUiQtBADYCAEHQASABIAIgBRAEIQBB1IkLKAIAIQ1B1IkLQQA2AgAgDUEBRwRAQQAhBEHUiQtBADYCAEHNASAAQbC5B0HOARAIQdSJCygCACEOQdSJC0EANgIAIA5BAUcNEQsQACEAIAIsAAtBAEgEQCACKAIAEFoLIARFDQ8gARBuDA8LAkACQAJAIAVBABBpIgMtAAANAEGInAspAwAhGiAEQdQAaiADEOwBIAQoAlQgGqdHDQAgBEHgAGogACgCCCAFEK4QIAAoAgQoAgAiAiAAKAIAKAIAIgMoAlAgAygCTCIDa0EDdU8NEyADIAJBA3RqIgMoAgAiAiAEKQNgIho+AhQgAkEANgIQIAIgGkIgiD4CGCADQQE6AAQMAQsCQCACLQAADQBBqJ0LKQMAIRogBEHUAGogAhDsASAEKAJUIBqnRw0AIAAoAgwoAgAgBRCtECECIAAoAgQoAgAiAyAAKAIAKAIAIgUoAlAgBSgCTCIFa0EDdU8NFCAFIANBA3RqIgMoAgAiBSACNgIUIAVBATYCECADQQE6AAQMAQsgAy0AAA0BQaibCykDACEaIARB1ABqIgIgAxDsASAEKAJUIBqnRgRAIAIgACgCECAFIAAoAgQoAgAQrBAgACgCACgCACICKAJQIQMgAigCTCECIAAoAgQoAgAhBUHUiQtBADYCAEG+AiACIAMgBSAEKAJUIgIgBCgCWBAMQdSJCygCACEPQdSJC0EANgIAIA9BAUcEQCACRQ0CIAIQWgwCCxAAIQAgAkUNESACEFoMEQsgAy0AAA0BQbibCykDACEaIARB1ABqIgIgAxDsASAEKAJUIBqnRw0BIARByABqIAAoAhQoAgAgBUEBEGkgAhCzCyAAKAIEKAIAIgIgACgCACgCACIDKAJQIAMoAkwiA2tBA3VPDRQgBCgCUCEFIAMgAkEDdGoiAygCACICIAQpA0g3AhQgAkEDNgIQIAIgBTYCHCADQQE6AAQLIAZFDQQgBEHUAGoiAiAGEJoEIAgoAhggCCgCHCACELwLIQIgBCwAX0EASARAIAQoAlQQWgsCQCAGLQAADQAgBi0AHEUNACACDQQLQRQQciECQdSJC0EANgIAQcwBIARBCGpBv+UDEAIhA0HUiQsoAgAhEEHUiQtBADYCAEEBIQQgEEEBRg0KQdSJC0EANgIAQf0BIAIgAyABIAYQDSEAQdSJCygCACERQdSJC0EANgIAIBFBAUcEQEEAIQRB1IkLQQA2AgBBzQEgAEGwuQdBzgEQCEHUiQsoAgAhEkHUiQtBADYCACASQQFHDRELEAAhACADLAALQQBIBEAgAygCABBaCyAERQ0PIAIQbgwPC0EUEHIhAkHUiQtBADYCAEHMASAEQTxqQdbFBBACIQRB1IkLKAIAIRNB1IkLQQA2AgBBASEBIBNBAUYNB0HUiQtBADYCAEHQASACIAQgAxAEIQBB1IkLKAIAIRRB1IkLQQA2AgAgFEEBRwRAQQAhAUHUiQtBADYCAEHNASAAQbC5B0HOARAIQdSJCygCACEVQdSJC0EANgIAIBVBAUcNEAsQACEAIAQsAAtBAEgEQCAEKAIAEFoLIAFFDQ4gAhBuDA4LIAItAAANAEGInAspAwAhGiAEQdQAaiACEOwBIAQoAlQgGqdGBEAgBEEwaiAAKAIIIAMQrhAgACgCBCgCACIBIAAoAgAoAgAiAigCUCACKAJMIgJrQQN1Tw0QIAIgAUEDdGoiAigCACIBIAQpAzAiGj4CFCABQQA2AhAgASAaQiCIPgIYIAJBAToABAwDCyACLQAADQBBqJ0LKQMAIRogBEHUAGogAhDsASAEKAJUIBqnRgRAIAAoAgwoAgAgAxCtECEBIAAoAgQoAgAiAiAAKAIAKAIAIgMoAlAgAygCTCIDa0EDdU8NESADIAJBA3RqIgIoAgAiAyABNgIUIANBATYCECACQQE6AAQMAwsgAi0AAA0AQaibCykDACEaIARB1ABqIgEgAhDsASAEKAJUIBqnRgRAIAEgACgCECADIAAoAgQoAgAQrBAgACgCACgCACIBKAJQIQIgASgCTCEBIAAoAgQoAgAhA0HUiQtBADYCAEG+AiABIAIgAyAEKAJUIgEgBCgCWBAMQdSJCygCACEWQdSJC0EANgIAIBZBAUcEQCABRQ0EIAEQWgwECxAAIQAgAUUNDiABEFoMDgsgAi0AAA0AQbibCykDACEaIARB1ABqIgEgAhDsASAEKAJUIBqnRw0AIARBIGogACgCFCgCACADQQEQaSABELMLIAAoAgQoAgAiASAAKAIAKAIAIgIoAlAgAigCTCICa0EDdU8NESAEKAIoIQMgAiABQQN0aiICKAIAIgEgBCkDIDcCFCABQQM2AhAgASADNgIcIAJBAToABAwCC0EUEHIhA0HUiQtBADYCAEHMASAEQRRqQavFBBACIQRB1IkLKAIAIRdB1IkLQQA2AgBBASEBIBdBAUYNBkHUiQtBADYCAEHQASADIAQgAhAEIQBB1IkLKAIAIRhB1IkLQQA2AgAgGEEBRwRAQQAhAUHUiQtBADYCAEHNASAAQbC5B0HOARAIQdSJCygCACEZQdSJC0EANgIAIBlBAUcNDgsQACEAIAQsAAtBAEgEQCAEKAIAEFoLIAFFDQwMCwsgACgCACgCACIBKAJQIAEoAkwiAWtBA3UiAyACKAIUIgJNDQcgAyAAKAIEKAIAIgVNDQggASACQQN0aigCACICQQ9NDQkgASAFQQN0aigCACACNgIECyAAKAIEIgAgACgCAEEBajYCACAEQYABaiQADwtBucMGQbizAkHSE0Gt4gIQAQALEAAhACABEG4MCAsQACEAIAEQbgwHCxAAIQAgAhBuDAYLEAAhAAwECxAAIQAgAhBuDAQLQbnDBkG4swJBphNBt4kEEAEAC0G5wwZBuLMCQbkTQaOMBBABAAtBg6EGQbizAkGfA0GfywIQAQALIAMQbgsgABAHCwALQbnDBkG4swJBjRNBn4kEEAEAC0G5wwZBuLMCQZITQZ+JBBABAAtBucMGQbizAkGhE0GfiQQQAQAL3xACHX8CfSMAQUBqIgUkACAAKAIAIQgCQAJAAkACQAJAIAFBARBpIgItAAANACACLQAcRQ0AIAVBKGogAUEBEGkQmgQgACgCBCECAkACQAJAAkACQAJAAkACQAJAAkAgBSwAMyIRQQBOBEAgBSAFKAIwNgIgIAUgBSkCKDcDGAwBC0HUiQtBADYCAEHUACAFQRhqIAUoAiggBSgCLBAIQdSJCygCACEWQdSJC0EANgIAIBZBAUYNAQsgBSACKAIAIhI2AiQgBSgCHCIUIAUsACMiDkH/AXEgDkEASCIHIgIbIgwhBiAFKAIYIhMgBUEYaiILIAIbIgkhBAJAIAwiA0EESQ0AIAMiAkEEayIDQQRxRQRAIBNBBGogC0EEciAHGyEEIAkoAABBldPH3gVsIgJBGHYgAnNBldPH3gVsIAZBldPH3gVscyEGIAMiAkEESQ0BCyACIQMDQCAEKAAEQZXTx94FbCICQRh2IAJzQZXTx94FbCAEKAAAQZXTx94FbCICQRh2IAJzQZXTx94FbCAGQZXTx94FbHNBldPH3gVscyEGIARBCGohBCADQQhrIgNBA0sNAAsLAkACQAJAAkAgA0EBaw4DAgEAAwsgBC0AAkEQdCAGcyEGCyAELQABQQh0IAZzIQYLIAYgBC0AAHNBldPH3gVsIQYLIAhBGGohDSAGQQ12IAZzQZXTx94FbCICQQ92IAJzIQcgCCgCHCIGRQ0CIA0oAgACfyAHIAZBAWtxIAZpIgJBAU0NABogByAGIAdLDQAaIAcgBnALIg9BAnRqKAIAIgNFDQIgAygCACIERQ0CIAJBAUsNASAGQQFrIRADQAJAIAcgBCgCBCICRwRAIAIgEHEgD0cNBQwBCyAEKAIMIgIgBC0AEyILIAvAIgpBAEgiFRsgDEcNACAEQQhqIQMgFUUEQCAJIQIgCkUEQEEBIQoMBwsDQCADLQAAIAItAABHDQJBASEKIAJBAWohAiADQQFqIQMgC0EBayILDQALDAYLIAMoAgAgCSACEF4NAEEBIQoMBQsgBCgCACIEDQALDAILEAAhBAwMCwNAAkAgByAEKAIEIgJHBEAgAiAGTwR/IAIgBnAFIAILIA9HDQMMAQsgBCgCDCICIAQtABMiCyALwCIKQQBIIhAbIAxHDQAgBEEIaiEDIBBFBEAgCSECIApFBEBBASEKDAULA0AgAy0AACACLQAARw0CQQEhCiACQQFqIQIgA0EBaiEDIAtBAWsiCw0ACwwECyADKAIAIAkgAhBeDQBBASEKDAMLIAQoAgAiBA0ACwtB1IkLQQA2AgBBBEEYEAYhAkHUiQsoAgAhF0HUiQtBADYCACAXQQFGDQEgBSAIQSBqIgk2AjggBSACNgI0IAJBCGohAyAFQQA6ADwCQCAOQQBOBEAgAyAFKQMYNwIAIAMgBSgCIDYCCAwBC0HUiQtBADYCAEHUACADIBMgFBAIQdSJCygCACEYQdSJC0EANgIAIBhBAUYNCCAFKAIkIRILIAIgEjYCFCAFQQE6ADwgAkEANgIAIAIgBzYCBCAIKgIoIR8gCCgCJEEBarMhIAJAAkAgBkUNACAfIAazlCAgXQ0AIA8hBwwBC0ECIQQCQCAGIAZBAWtxQQBHIAZBA0lyIAZBAXRyIgICfyAgIB+VjSIfQwAAgE9dIB9DAAAAAGBxBEAgH6kMAQtBAAsiAyACIANLGyICQQFGDQAgAiACQQFrcUUEQCACIQQMAQtB1IkLQQA2AgBBFSACEAYhBEHUiQsoAgAhGUHUiQtBADYCACAZQQFGDQoLAkAgCCgCHCICIARPBEAgAiAETQ0BIAJBA0khDAJ/IAgoAiSzIAgqAiiVjSIfQwAAgE9dIB9DAAAAAGBxBEAgH6kMAQtBAAshAwJAAkAgDA0AIAJpQQFLDQAgA0EBQSAgA0EBa2drdCADQQJJGyEDDAELQdSJC0EANgIAQRUgAxAGIQNB1IkLKAIAIRpB1IkLQQA2AgAgGkEBRg0MCyAEIAMgAyAESRsiBCACTw0BC0HUiQtBADYCAEHfESANIAQQA0HUiQsoAgAhG0HUiQtBADYCACAbQQFGDQoLIAgoAhwiBiAGQQFrIgJxRQRAIAIgB3EhBwwBCyAGIAdLDQAgByAGcCEHCyAFKAI0IQICQCAHQQJ0IgQgDSgCAGooAgAiA0UEQCACIAgoAiA2AgAgCCAFKAI0NgIgIA0oAgAgBGogCTYCACAFKAI0IgIoAgAiA0UNASADKAIEIQQCQCAGIAZBAWsiA3FFBEAgAyAEcSEEDAELIAQgBkkNACAEIAZwIQQLIA0oAgAgBEECdGogAjYCAAwBCyACIAMoAgA2AgAgAyAFKAI0NgIACyAIIAgoAiRBAWo2AiRBACEKIAUtACMhDgsgDsBBAEgEQCAFKAIYEFoLIApFDQRBFBByIQNB1IkLQQA2AgBBzAEgBUEMakHv+wMQAiEAQdSJCygCACEcQdSJC0EANgIAQQEhAiAcQQFGDQFB1IkLQQA2AgBB0AEgAyAAIAEQBCEBQdSJCygCACEdQdSJC0EANgIAIB1BAUYNAkEAIQJB1IkLQQA2AgBBzQEgAUGwuQdBzgEQCEHUiQsoAgAhHkHUiQtBADYCACAeQQFGDQIACxAAIQQMBwsQACEEDAELEAAhBCAALAALQQBIBEAgACgCABBaCyACRQ0GCyADEG4MBQsgEUEATg0AIAUoAigQWgsgACgCBCIAIAAoAgBBAWo2AgAgBUFAayQADwsQACEEIAVBNGoQ0wUMAQsQACEEIAVBNGoQ0wULIAUsACNBAE4NACAFKAIYEFoLIBFBAEgEQCAFKAIoEFoLIAQQBwALQQACQCAAKAIAQTxGBEAgAUUNASAAIAE2AhgPC0HkrwZBp7cCQdIfQaSBARABAAtB+PQBQae3AkHTH0GkgQEQAQALnwYBDH8jAEEgayIIJAACQCADKAIEIAMoAgAiBGsiBiACIAZqIgVJBEAgAyACEPoEIAMoAgAhBAwBCyAFIAZPDQAgAyAEIAVqNgIECyAEIAZqIQcgAkEASgRAIAEgAmohCQNAQQEhAgJAIAEtAAAiBEHcAEcNAAJAAkACQAJAAkAgCSABQQFqTQRAQRQQciEBQdSJC0EANgIAQcwBIAhBFGpBzrgEEAIhBUHUiQsoAgAhCkHUiQtBADYCACAKQQFGDQFB1IkLQQA2AgBB0AEgASAFIAAQBCEDQdSJCygCACELQdSJC0EANgIAIAtBAUcEQEEAIQJB1IkLQQA2AgBBzQEgA0GwuQdBzgEQCEHUiQsoAgAhDEHUiQtBADYCACAMQQFHDQMLEAAhBCAFLAALQQBIBEAgBSgCABBaCyACDQQMBQsgAS0AASIGwCEFQQIhAkEKIQQCQAJAAkACQAJAIAZB3ABrDhkDBAQEBAQEBAQEBAQEBAQEBAQKBAQEAgQBAAsgBkEiaw4GAgMDAwMCAwtBCSEEDAgLQQ0hBAwHCyAFIQQMBgsgCSABQQJqTQRAQRQQciEBQdSJC0EANgIAQcwBIAhBCGpBzrgEEAIhBUHUiQsoAgAhDUHUiQtBADYCAEEBIQIgDUEBRg0DQdSJC0EANgIAQdABIAEgBSAAEAQhA0HUiQsoAgAhDkHUiQtBADYCACAOQQFHBEBBACECQdSJC0EANgIAQc0BIANBsLkHQc4BEAhB1IkLKAIAIQ9B1IkLQQA2AgAgD0EBRw0DCxAAIQQgBSwAC0EASARAIAUoAgAQWgsgAg0EDAULIAUQyRAhAiABLAACEMkQIAJBBHRyIQRBAyECDAULEAAhBAwCCwALEAAhBAsgARBuCyAEEAcACyAHIAQ6AAAgB0EBaiEHIAEgAmoiASAJSQ0ACyADKAIAIQQLIAQgB0sEQEGsoQZBiZoCQZMbQacYEAEACyAHIARrIgEgAygCBCAEayIATQRAIAAgAUsEQCADIAEgBGo2AgQLIAhBIGokAA8LQdGRBkGJmgJBlRtBpxgQAQALrwQBDH8jAEGgAWsiAiQAIAJBoJIKNgJQIAJBjJIKNgIQIAJB5JEKNgIYIAJBADYCFCACQdAAaiIGIAJBHGoiAxDtASACQfiRCjYCUCACQdCRCjYCECACQoCAgIBwNwKYASACQeSRCjYCGCADEO4BIgRBuIwKNgIAIAJCADcCRCACQgA3AjwgAkEYNgJMQdSJC0EANgIAQd4RIAJBGGogARACIQdB1IkLKAIAIQFB1IkLQQA2AgACQAJAAkAgAUEBRwRAQdSJC0EANgIAQR0gAkEEaiAEEANB1IkLKAIAIQxB1IkLQQA2AgAgDEEBRg0BQdAAIAIoAgggAi0ADyIBIAHAIghBAEgiCRsiASABQdAATxshAyACKAIEIQUCQAJAIAFBC08EQEHUiQtBADYCAEEEIANBD3JBAWoiChAGIQFB1IkLKAIAIQ1B1IkLQQA2AgAgDUEBRg0FIAAgATYCACAAIAM2AgQgACAKQYCAgIB4cjYCCCABIQAMAQsgACADOgALIAFFDQELIAAgBSACQQRqIAkbIAP8CgAACyAAIANqQQA6AAAgAiwAD0EASARAIAIoAgQQWgsgAkH4kQo2AlAgAkHQkQo2AhAgB0HkkQo2AgAgBEG4jAo2AgAgAiwAR0EASARAIAIoAjwQWgsgBBDrARogBhDoARogAkGgAWokAA8LEAAhAAwCCxAAIQAMAQsQACEAIAhBAE4NACAFEFoLIAJBEGoQzgMaIAAQBwAL+QQBCH8jAEEgayIDJAACQAJAIAEoAgQgAS0ACyIEIATAIgdBAEgbIgZBAmoiBEHw////B0kEQAJAAkAgBEELTwRAIARBD3JBAWoiCBBcIQUgAyAENgIUIAMgBTYCECADIAhBgICAgHhyNgIYDAELIANBADYCGCADQgA3AxAgAyAEOgAbIANBEGohBSAGRQ0BCyAFIAEoAgAgASAHQQBIGyAG/AoAAAsgBSAGaiIBQQA6AAIgAUG6wAA7AABB1IkLQQA2AgBB3REgA0EEaiIBIAIQA0HUiQsoAgAhBEHUiQtBADYCAAJAAkACQAJAIARBAUcEQEHUiQtBADYCAEGMAiADQRBqIAMoAgQgASADLQAPIgHAQQBIIgQbIAMoAgggASAEGxAEIQFB1IkLKAIAIQlB1IkLQQA2AgAgCUEBRg0BIAEoAgQhBSABKAIAIQQgAyABLQAKOgAeIAMgAS8BCDsBHCABQgA3AgAgASwACyEGIAFBADYCCCACKAIkIQcgAigCICECIAZBAE4NBkHUiQtBADYCAEHUACAAIAQgBRAIQdSJCygCACEKQdSJC0EANgIAIApBAUYNAiAAIAc2AhAgACACNgIMIAQQWgwHCxAAIQEMAwsQACEBDAELEAAhASAEEFoLIAMsAA9BAE4NACADKAIEEFoLIAMsABtBAEgEQCADKAIQEFoLIAEQBwALEOoBAAsgACAFNgIEIAAgBDYCACAAIAMvARw7AQggACADLQAeOgAKIAAgBzYCECAAIAI2AgwgACAGOgALCyADLAAPQQBIBEAgAygCBBBaCyABLAALQQBIBEAgASgCABBaCyADQSBqJAAgAAvyAQEEfwJAAkACQCAAKAIEIgAoAlAiAkUNACABKAIAIQFBASEDIAAoAkwCfyACQQFrIAFxIAJpIgVBAU0NABogASABIAJJDQAaIAEgAnALIgRBAnRqKAIAIgBFDQIgACgCACIARQ0CIAVBAU0EQCACQQFrIQIDQAJAIAEgACgCBCIDRwRAIAIgA3EgBEcNBAwBCyAAKAIIIAFGDQQLIAAoAgAiAA0ACwwBCwNAAkAgASAAKAIEIgNHBEAgAiADTQR/IAMgAnAFIAMLIARHDQMMAQsgACgCCCABRg0DCyAAKAIAIgANAAsLQQEPC0EAIQMLIAMLFQAgAUGo6Qc2AgAgASAAKAIENgIECyYAIAAoAgBBPEcEQEHkrwZBp7cCQd0fQcPMAhABAAsgACABOgAcCx0BAX9BCBBcIgFBqOkHNgIAIAEgACgCBDYCBCABC6oHAgp/AX4jAEHQAGsiBCQAIAQgATcDOAJAAkACQCACKAIQIgUEQAJAIAUgBEE4aiAFKAIAKAIYEQQABEAgACABNwIADAELIAFCIIgiDqciBUHw////B08NAgJAAkAgBUELTwRAIAVBD3JBAWoiBxBcIQYgBCAHQYCAgIB4cjYCMCAEIAY2AiggBCAFNgIsDAELIAQgDjwAMyAEQShqIQYgBUUNAQsgBiABpyAF/AoAAAsgBSAGakEAOgAAQdSJC0EANgIAQdEBIARBKGpB3wAQA0HUiQsoAgAhCEHUiQtBADYCACAIQQFGDQMgBEFAayAEKAIwNgIAIAQgBCkCKDcDOANAQdSJC0EANgIAQboCIARBHGoiBSADEANB1IkLKAIAIQZB1IkLQQA2AgACQAJAAkACQAJAIAZBAUcEQEHUiQtBADYCAEHcESAFIAQoAjggBEE4aiAELQBDIgXAQQBIIgYbIAQoAjwgBSAGGxAEIQVB1IkLKAIAIQlB1IkLQQA2AgAgCUEBRg0BIAQgBSgCCDYCMCAEIAUpAgA3AyggBUIANwIAIAVBADYCCCAEKAIoIQUgBCAEKAIsIAQtADMiBiAGwEEASCIGGzYCTCAEIAUgBEEoaiAGGzYCSEHUiQtBADYCACAEIAQpAkg3AwhBBiAEQRBqIARBCGoQA0HUiQsoAgAhBUHUiQtBADYCAAJAIAVBAUYNACAEIAQpAxA3A0ggAigCECIFRQRAQdSJC0EANgIAQcUAEAlB1IkLKAIAIQpB1IkLQQA2AgAgCkEBRg0EAAsgBSgCACgCGCELQdSJC0EANgIAIAsgBSAEQcgAahACIQVB1IkLKAIAIQxB1IkLQQA2AgAgDEEBRg0AIAVFDQUgBCAEKAIsIAQsADMiBkH/AXEgBkEASCIGGzYCTCAEIAQoAiggBEEoaiAGGzYCSEHUiQtBADYCACAEIAQpAkg3AwBBBiAAIAQQA0HUiQsoAgAhDUHUiQtBADYCACANQQFHDQYLDAILEAAhAAwCCxAAIQAgBCwAJ0EATg0BIAQoAhwQWgwBCxAAIQAgBCwAM0EATg0AIAQoAigQWgsgBCwAQ0EATg0HIAQoAjgQWgwHCyADQQFqIQMLIAQsADNBAEgEQCAEKAIoEFoLIAVFDQALIAQsAENBAE4NACAEKAI4EFoLIARB0ABqJAAPCxDnAgALEOoBAAsQACEAIAQsADNBAE4NACAEKAIoEFogABAHAAsgABAHAAv1AQEGfyAAKAIEIgIgACgCCCIDSQRAIAIgATYCACAAIAJBBGo2AgQPCwJAIAIgACgCACIFa0ECdSIHQQFqIgRBgICAgARJBEBB/////wMgAyAFayIDQQF1IgYgBCAEIAZJGyADQfz///8HTxsiAwR/IANBgICAgARPDQIgA0ECdBBcBUEACyIGIAdBAnRqIgQgATYCACAEQQRqIQEgAiAFRwRAA0AgBEEEayIEIAJBBGsiAigCADYCACACIAVHDQALIAAoAgAhAgsgACAGIANBAnRqNgIIIAAgATYCBCAAIAQ2AgAgAgRAIAIQWgsPCxBkAAsQagALKwAgASgCACIBKAIAQTZHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAEgABC2BwtpAAJAAkAgACgCAEE8RgRAIAAoAgwgAU0NASACRQ0CIAAoAgggAUECdGogAjYCAA8LQeSvBkGntwJBrB9BnZYBEAEAC0G+jAZBp7cCQa0fQZ2WARABAAtBqfYBQae3AkGuH0GdlgEQAQALKwAgASgCACIBKAIAQTNHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAEgABC2BwvVHQEOfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEoAgAiAigCAA5eAAECAwQFBgcICQoLDA0eHyAhIiMkJTU2Dg8QERITFBUWFxgZGhscHTcmJygpKissLS4vMDEyMzQ4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcAF0LQZj9A0HlswNB6gEQYgALIABBgBEgARBYIAIoAgBBAUcNXCACKAIUIgFBAEwNWyAAQQRqIQQDQCABQQFrIgAgAigCFE8NXiACKAIQIABBAnRqIgMoAgBFDV8gBEH/ECADEFsgAUEBSyEGIAAhASAGDQALDFsLIABBgREgARBYIAIoAgBBAkcNWyACKAIQBEAgAEEEakH/ECACQRBqEFsLDGALIABBghEgARBYIAIoAgBBA0cNWgxjCyAAQYMRIAEQWCACKAIAQQRHDVkgAigCFARAIABBBGpB/xAgAkEUahBbCyACKAIQRQ1YIABBBGpB/xAgAkEQahBbDwsgAEGEESABEFggAigCAEEFRw1YIABB/xAgAkEkahBYIAIoAiBFDVcgAEEEakH/ECACQSBqEFsPCyAAQYURIAEQWCACKAIAQQZHDVcgAigCDCIBQQBMDVYgAEEEaiEEA0AgAUEBayIAIAIoAgxPDVkgAigCCCAAQQJ0aiIDKAIARQ1aIARB/xAgAxBbIAFBAUshByAAIQEgBw0ACwxWCyAAQYYRIAEQWCACKAIAQQdHDVYgAEH/ECACQRxqEFggAigCECIBQQBMDVUgAEEEaiEEA0AgAUEBayIAIAIoAhBPDVggAigCDCAAQQJ0aiIDKAIARQ1ZIARB/xAgAxBbIAFBAUshCCAAIQEgCA0ACwxVCyAAQYcRIAEQWCACKAIAQQhGDVQMVQsgAEGIESABEFggAigCAEEJRw1UDGALIABBiREgARBYIAIoAgBBCkYNUgxTCyAAQYoRIAEQWCACKAIAQQtHDVIMWwsgAEGLESABEFggAigCAEEMRw1RDF8LIABBjBEgARBYIAIoAgBBDUcNUAxdCyAAQY0RIAEQWCACKAIAQRhHDU8MXgsgAEGOESABEFggAigCAEEZRw1OIABB/xAgAkEgahBYDF0LIABBjxEgARBYIAIoAgBBGkcNTQxUCyAAQZARIAEQWCACKAIAQRtHDUwMVAsgAEGRESABEFggAigCAEEcRg1KDEsLIABBkhEgARBYIAIoAgBBHUcNSgxWCyAAQZMRIAEQWCACKAIAQR5HDUkgAEH/ECACQRRqEFgMVQsgAEGUESABEFggAigCAEEfRw1IDE0LIABBlREgARBYIAIoAgBBIEcNRwxRCyAAQZYRIAEQWCACKAIAQSFHDUYMUQsgAEGXESABEFggAigCAEEiRw1FIABB/xAgAkEgahBYDwsgAEGYESABEFggAigCAEEjRw1EDFELIABBmREgARBYIAIoAgBBJEcNQwxKCyAAQZoRIAEQWCACKAIAQSVGDUEMQgsgAEGbESABEFggAigCAEEmRw1BDEULIABBnBEgARBYIAIoAgBBJ0cNQAxECyAAQZ0RIAEQWCACKAIAQQ5GDT4MPwsgAEGeESABEFggAigCAEEPRw0+DEoLIABBnxEgARBYIAIoAgBBEEcNPQxICyAAQaARIAEQWCACKAIAQRFHDTwMQAsgAEGhESABEFggAigCAEESRw07DEsLIABBohEgARBYIAIoAgBBE0cNOiACKAIIRQ05DEsLIABBoxEgARBYIAIoAgBBFEYNOAw5CyAAQaQRIAEQWCACKAIAQRVHDTgMSAsgAEGlESABEFggAigCAEEpRg02DDcLIABBphEgARBYIAIoAgBBKkcNNgxGCyAAQacRIAEQWCACKAIAQStGDTQMNQsgAEGoESABEFggAigCAEEsRw00DDkLIABB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AEGoAWpBEEEEEF0iACALNwIIIABC0AA3AgAgA0EANgIcQdSJC0EANgIAIANCgYCAgIABNwIUIANBADoAEEEHQdidCyADQRBqIgQQAiEFQdSJCygCACEJQdSJC0EANgIAIAlBAUYEQBAAIQogBBB3IAoQBwALIAAgBTYCBCABIAA2AgALIANBMGokACACQYIBRg8LAAtGAAJAIAAoAgBBPEYEQCACRQ0BIABBCGogASACELUEDwtB5K8GQae3AkG/H0HrlAEQAQALQan2AUGntwJBwB9B65QBEAEAC+gJAQ1/IwBB0ABrIgQkAEEIIQVBBCEGAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAIAJBgAFrDjkABBISEhISEhISEgECEhIDEhISEhISEhISEhISEhISEhISEhISEhISEgsSEhISEhIKCRISBgcSEggSCyAAKAIkIgIgACgCCCIDKAIEIAMoAgAiA2tPBEAgBEE8akGK0AAQyAEhAUHUiQtBADYCAEGwAiAAIAEQA0HUiQsoAgAhCUHUiQtBADYCACAJQQFHDQwQACEAIAEsAAtBAE4NFCABKAIAEFoMFAsgACACQQFqNgIkQQAhBSACIANqLQAARQ0MIARBMGpB5ycQyAEMBAsgACgCJCICIAAoAggiAygCBCADKAIAIgNrTwRAIARBPGpBitAAEMgBIQFB1IkLQQA2AgBBsAIgACABEANB1IkLKAIAIQpB1IkLQQA2AgAgCkEBRw0LDBILIAAgAkEBajYCJCACIANqLQAARQRAQQIhBQwMCyAEQSRqQecnEMgBDAMLIAAoAiQiAiAAKAIIIgMoAgQgAygCACIDa08EQCAEQTxqQYrQABDIASEBQdSJC0EANgIAQbACIAAgARADQdSJCygCACELQdSJC0EANgIAIAtBAUcNCgwRC0EBIQUgACACQQFqNgIkIAIgA2otAABFDQogBEEYakHnJxDIAQwCCyAAKAIkIgIgACgCCCIDKAIEIAMoAgAiA2tPBEAgBEE8akGK0AAQyAEhAUHUiQtBADYCAEGwAiAAIAEQA0HUiQsoAgAhDEHUiQtBADYCACAMQQFHDQkMEAtBASEHIAAgAkEBajYCJEEAIQUgAiADai0AAEUNCSAEQQxqQecnEMgBDAELIAAoAiQiAiAAKAII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AAsgASgCABBaIAAQBwAL5QcBAn9BPCEDAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAkEPaw72AUQAAQIDBEVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFBUVFRUVFBkVFRUVFRUVFRUU+PwgJBwoLRUUbHB0eRUVFRUVFRUVFIiNFRUVFJEUmJygpDA1FDg9FRS4vMDFFRUVFRUVFRUUlRUVFRUVFRUVFRUUQEUUSE0VFMjM0NUVFRUVFRUVFRUVFRUVFRUVFRUVFRRQVRRYXRUU2Nzg5RUVFRUVFRUVFRUVFRUVFRUVFRUVFGBlFGkVFRUVFRUVFHyBFIUVFRUVFRUVFKissLTw9OjtFQEFCQ0ULQT0hAwxDC0E+IQMMQgtBPyEDDEELQcAAIQMMQAtBwQAhAww/C0HCACEDDD4LQcMAIQMMPQtByAAhAww8C0HEACEDDDsLQcUAIQMMOgtBxgAhAww5C0HHACEDDDgLQckAIQMMNwtBygAhAww2C0HLACEDDDULQcwAIQMMNAtBzQAhAwwzC0HOACEDDDILQc8AIQMMMQtB0AAhAwwwC0HRACEDDC8LQdIAIQMMLgtB0wAhAwwtC0HUACEDDCwLQdUAIQMMKwtB1gAhAwwqC0HXACEDDCkLQdgAIQMMKAtB2QAhAwwnC0HaACEDDCYLQdsAIQMMJQtB3AAhAwwkC0HdACEDDCMLQd4AIQMMIgtB3wAhAwwhC0HgACEDDCALQeEAIQMMHwtB4gAhAwweC0HjACEDDB0LQeQAIQMMHAtB5QAhAwwbC0HmACEDDBoLQecAIQMMGQtB6AAhAwwYC0HpACEDDBcLQeoAIQMMFgtB6wAhAwwVC0HsACEDDBQLQe0AIQMMEwtB7gAhAwwSC0HvACEDDBELQfAAIQMMEAtB8QAhAwwPC0HyACEDDA4LQfMAIQMMDQtB9AAhAwwMC0H1ACEDDAsLQfYAIQMMCgtB9wAhAwwJC0H4ACEDDAgLQfkAIQMMBwtB+gAhAwwGC0H7ACEDDAULQfwAIQMMBAtB/QAhAwwDC0H+ACEDDAILQf8AIQMMAQtBgAEhAwsgACgCBEEQQQQQXSICIAM2AgggAkIPNwIAIAIgABDdATYCDCACELMCIAEgAjYCAEEBIQQLIAQLsw0BAn9BzAAhAwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCACQQ5rDoUCdn9/f39/f39/f39/f39/f39/f39/fgABAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhscIyQlJicoKSorLC0ufy8yMDF/f39/f39/f39/f39/f39/f39/cnN/f39/f39/MzQ1Njc4f385Ojs8fz1/f39/f39Kf390dX9/f39/f38+P0BBQkN/REVGR0h/SUtMTU5/f39/f39/f39/f39/f09/f1B/f39RUlNUVVZ/V1hZWn9/f39/f39/f39/f39/W39/XH9/f10dHh8gISJeX2Bhf39/f2JjZGVmZ2hpf39/f2prbG1ub3Bxf39/f39/f393f39/f39/f39/f39/eHl6e3x9fwtBzQAhAwx9C0HOACEDDHwLQc8AIQMMewtB0AAhAwx6C0HRACEDDHkLQdIAIQMMeAtB0wAhAwx3C0HUACEDDHYLQdUAIQMMdQtB1gAhAwx0C0HXACEDDHMLQdgAIQMMcgtB2QAhAwxxC0HaACEDDHALQdsAIQMMbwtB3AAhAwxuC0HdACEDDG0LQd4AIQMMbAtB3wAhAwxrC0HgACEDDGoLQeEAIQMMaQtB4gAhAwxoC0HjACEDDGcLQeQAIQMMZgtB5QAhAwxlC0HmACEDDGQLQecAIQMMYwtB6AAhAwxiC0HpACEDDGELQeoAIQMMYAtB6wAhAwxf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CgIDBAwLIAAoAgRBOEEIEF0iBEIANwMIIARCADcCMCAEQg03AgAgBEIANwMQIARCADcDKCAEQgA3AyAgBEIANwMYIARBAToACEECDAoLIAAoAgRBOEEIEF0iBEIANwMIIARCADcCMCAEQg03AgAgBEIANwMQIARCADcDKCAEQgA3AyAgBEIANwMYIARBBDoACEECDAkLIAAoAgRBOEEIEF0iBEIANwMIIARCADcCMCAEQg03AgAgBEIANwMQIARCADcDKCAEQgA3AyAgBEIANwMYIARBAToACAwGCyAAKAIEQThBCBBdIgRCADcDCCAEQgA3AjAgBEINNwIAIARCADcDECAEQgA3AyggBEIANwMgIARCADcDGCAEQQI6AAgMBQsgACgCBEE4QQgQXSIEQgA3AwggBEIANwIwIARCDTcCACAEQgA3AxAgBEIANwMoIARCADcDICAEQgA3AxggBEEEOgAIDAQLIAAoAgRBOEEIEF0iBEIANwMIIARCADcCMCAEQg03AgAgBEIANwMQIARCADcDKCAEQgA3AyAgBEIANwMYIARBCDoACAwDCyAAKAIEQThBCBBdIgRCADcDCCAEQgA3AjAgBEINNwIAIARCADcDECAEQgA3AyggBEIANwMgIARCADcDGCAEQQQ6AAhBBAwECyAAKAIEQThBCBBdIgRCADcDCCAEQgA3AjAgBEINNwIAIARCADcDECAEQgA3AyggBEIANwMgIARCADcDGCAEQQg6AAhBBQwDCwJAAkACQAJAAkACQCACQRdrDgcBBQAHAgMECQsgACgCBEE4QQgQXSIEQgA3AwggBEIANwIwIARCDTcCACAEQgA3AxAgBEIANwMoIARCADcDICAEQgA3AxggBEEBOgAIQQIMBwsgACgCBEE4QQgQXSIEQgA3AwggBEIANwIwIARCDTcCACAEQgA3AxAgBEIANwMoIARCADcDICAEQgA3AxggBEEEOgAIQQIMBgsgACgCBEE4QQgQXSIEQgA3AwggBEIANwIwIARCDTcCACAEQgA3AxAgBEIANwMoIARCADcDICAEQgA3AxggBEEBOgAIDAMLIAAoAgRBOEEIEF0iBEIANwMIIARCADcCMCAEQg03AgAgBEIANwMQIARCADcDKCAEQgA3AyAgBEIANwMYIARBAjoACAwCCyAAKAIEQThBCBBdIgRC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CxAAIQECQCAGKAIgIgIgBkEQaiIARgRAQQQhBCAAIQIMAQtBBSEEIAJFDQELIAIgAigCACAEQQJ0aigCABEBAAsgARAHAAsgBSgCACEJAkACfwJAIAIoAhQiAkEHSQ0AIAIoAgQNACACKAIMIAIoAghrQQJ1DAELIAJBAEcLIgQgASgCFE0EQCABKAIQIQMMAQsgASAENgIUIAEoAgwhByABIAEoAhggBEECdEEEEF02AgwgASgCECIDRQRAQQAhAwwBC0EAIQVBACECIANBBE8EQCADQXxxIQoDQCACQQJ0IgggASgCDGogByAIaigCADYCACAIQQRyIgsgASgCDGogByALaigCADYCACAIQQhyIgsgASgCDGogByALaigCADYCACAIQQxyIgggASgCDGogByAIaigCADYCACACQQRqIgIgCkcNAAsLIANBA3EiCEUNAANAIAJBAnQiCiABKAIMaiAHIApqKAIANgIAIAJBAWohAiAFQQFqIgUgCEcNAAsLAkAgAyAETw0AIAQgAyICa0EDcSIHBEBBACEFA0AgASgCDCACQQJ0akEANgIAIAJBAWohAiAFQQFqIgUgB0cNAAsLIAMgBGtBfEsNAANAIAJBAnQiAyABKAIMakEANgIAIAEoAgwgA2pBADYCBCABKAIMIANqQQA2AgggASgCDCADakEANgIMIAJBBGoiAiAERw0ACwsgASAENgIQIAEgABDdATYCHAJAIAQEQEEAIQIDQCAAEN0BIQMgBCACQX9zaiIFIAEoAhBPDQIgASgCDCAFQQJ0aiADNgIAIAJBAWoiAiAERw0ACwsgAEH8AGoiBSECAkACQCAAKAJ8IgRFDQADQCAEIgIoAhAiAyAJSwRAIAIhBSACKAIAIgQNAQwCCyADIAlPBEAgAiEDDAMLIAIoAgQiBA0ACyACQQRqIQULQSAQXCIDIAk2AhAgAyACNgIIIANCADcCACADQQA2AhwgA0IANwIUIAUgAzYCACADIQIgACgCeCgCACIEBEAgACAENgJ4IAUoAgAhAgsgACgCfCACEGcgACAAKAKAAUEBajYCgAELIAFBIGohBwJAAkACQAJAIAMoAhgiAiADKAIcIgVJBEAgAiAHNgIAIAMgAkEEajYCGAwBCyACIAMoAhQiAGtBAnUiCEEBaiIEQYCAgIAETw0BQf////8DIAUg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KAIIKAIMIQtB1IkLQQA2AgAgCyABIAAQA0HUiQsoAgAhDEHUiQtBADYCACAMQQFHDQIMBAsgACgCACgCCCENQdSJC0EANgIAIA0gABAGIQFB1IkLKAIAIQ5B1IkLQQA2AgAgDkEBRg0DCyACIAE2ApgBCwJAAkAgAygCGCIAIANBCGoiBEYEQEEEIQEgBCEADAELQQUhASAARQ0BCyAAIAAoAgAgAUECdGooAgARAQALIANBIGokACACDwsQACEADAELEAAhACACEOQBGgJAIAMoAhgiASADQQhqIgRGBEBBBCEDIAQhAQwBC0EFIQMgAUUNAQsgASABKAIAIANBAnRqKAIAEQEACyACEFogABAHAAuxIQEOfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgASgCACICKAIADl4AAQIDBAUGBwgJCgsMDR4fICEiIyQlNTYODxAREhMUFRYXGBkaGxwdNyYnKCkqKywtLi8wMTIzNDg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaW1wAXQtBmP0DQeWzA0HqARBiAAsgAEEUakGpDyABEFggAigCAEEBRw1cIAIoAhQiAUEATA1bIABBGGohAwNAIAFBAWsiACACKAIUTw1eIAIoAhAgAEECdGoiBCgCAEUNXyADQagPIAQQWyABQQFLIQYgACEBIAYNAAsMWwsgAEEUaiIDQaoPIAEQWCACKAIAQQJHDVsgAigCEARAIABBGGpBqA8gAkEQahBbCyADQagPIAJBDGoQWCADQagPIAJBCGoQWA8LIABBFGoiAEGrDyABEFggAigCAEEDRw1aDGALIABBFGpBrA8gARBYIAIoAgBBBEcNWSACKAIUBEAgAEEYakGoDyACQRRqEFsLIAIoAhBFDVggAEEYakGoDyACQRBq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NgIYIAIgAkEcajYCFCACIAJBGGo2AhAgAiACKQIQNwMIIAEgAkEIahCVAiACQSBqJAALbQEBfyMAQSBrIgIkACABKAIAIgEoAgBBywBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAIgADYCHCACIAE2AhggAiACQRxqNgIUIAIgAkEYajYCECACIAIpAhA3AwggASACQQhqEJUCIAJBIGokAAttAQF/IwBBIGsiAiQAIAEoAgAiASgCAEHKAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgAiAANgIcIAIgATYCGCACIAJBHGo2AhQgAiACQRhqNgIQIAIgAikCEDcDCCABIAJBCGoQlQIgAkEgaiQAC20BAX8jAEEgayICJAAgASgCACIBKAIAQckARwRAQfDtBUHFmANBlAZBjd4AEAEACyACIAA2AhwgAiABNgIYIAIgAkEcajYCFCACIAJBGGo2AhAgAiACKQIQNwMIIAEgAkEIahCVAiACQSBqJAALbQEBfyMAQSBrIgIkACABKAIAIgEoAgBByABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAIgADYCHCACIAE2AhggAiACQRxqNgIUIAIgAkEYajYCECACIAIpAhA3AwggASACQQhqEJUCIAJBIGokAAttAQF/IwBBIGsiAiQAIAEoAgAiASgCAEHHAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgAiAANgIcIAIgATYCGCACIAJBHGo2AhQgAiACQRhqNgIQIAIgAikCEDcDCCABIAJBCGoQlQIgAkEgaiQAC20BAX8jAEEgayICJAAgASgCACIBKAIAQcYARwRAQfDtBUHFmANBlAZBjd4AEAEACyACIAA2AhwgAiABNgIYIAIgAkEcajYCFCACIAJBGGo2AhAgAiACKQIQNwMIIAEgAkEIahCVAiACQSBqJAALbQEBfyMAQSBrIgIkACABKAIAIgEoAgBBxQBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAIgADYCHCACIAE2AhggAiACQRxqNgIUIAIgAkEYajYCECACIAIpAhA3AwggASACQQhqEJUCIAJBIGokAAskACAAKAIAQQdHBEBB6aoGQae3AkGhEkHR3AEQAQALIAAoAhALbQEBfyMAQSBrIgIkACABKAIAIgEoAgBBxABHBEBB8O0FQcWYA0GUBkGN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QRhqNgIQIAIgAikCEDcDCCABIAJBCGoQlQIgAkEgaiQAC2wBAX8jAEEgayICJAAgASgCACIBKAIAQQZHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAIgADYCHCACIAE2AhggAiACQRxqNgIUIAIgAkEYajYCECACIAIpAhA3AwggASACQQhqEJUCIAJBIGokAAtsAQF/IwBBIGsiAiQAIAEoAgAiASgCAEEFRwRAQfDtBUHFmANBlAZBjd4AEAEACyACIAA2AhwgAiABNgIYIAIgAkEcajYCFCACIAJBGGo2AhAgAiACKQIQNwMIIAEgAkEIahCVAiACQSBqJAALbAEBfyMAQSBrIgIkACABKAIAIgEoAgBBBEcEQEHw7QVBxZgDQZQGQY3eABABAAsgAiAANgIcIAIgATYCGCACIAJBHGo2AhQgAiACQRhqNgIQIAIgAikCEDcDCCABIAJBCGoQlQIgAkEgaiQAC2wBAX8jAEEgayICJAAgASgCACIBKAIAQQNHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAIgADYCHCACIAE2AhggAiACQRxqNgIUIAIgAkEYajYCECACIAIpAhA3AwggASACQQhqEJUCIAJBIGokAAtsAQF/IwBBIGsiAiQAIAEoAgAiASgCAEECRwRAQfDtBUHFmANBlAZBjd4AEAEACyACIAA2AhwgAiABNgIYIAIgAkEcajYCFCACIAJBGGo2AhAgAiACKQIQNwMIIAEgAkEIahCVAiACQSBqJAALbAEBfyMAQSBrIgIkACABKAIAIgEoAgBBAUcEQEHw7QVBxZgDQZQGQY3eABABAAsgAiAANgIcIAIgATYCGCACIAJBHGo2AhQgAiACQRhqNgIQIAIgAikCEDcDCCABIAJBCGoQlQIgAkEgaiQAC9UdAQ5/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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8O0FQcWYA0GUBkGN3gAQAQALIAAgARCWAgssACABKAIAIgEoAgBByQBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCWAgssACABKAIAIgEoAgBByABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCWAgssACABKAIAIgEoAgBBxwBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCWAgsRACAAIAEgAiADIARBABDyEAssACABKAIAIgEoAgBBxgBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCWAgssACABKAIAIgEoAgBBxQBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCWAgssACABKAIAIgEoAgBBxABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCWAgssACABKAIAIgEoAgBBwwBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCWAgssACABKAIAIgEoAgBBwgBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCWAgssACABKAIAIgEoAgBBwQBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCWAgssACABKAIAIgEoAgBBwABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCWAgsrACABKAIAIgEoAgBBP0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJYCCysAIAEoAgAiASgCAEE+RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQlgILKwAgASgCACIBKAIAQT1HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCWAgsmACAAKAIAQQRHBEBBk68GQae3AkHqEEGj0gMQAQALIAAgATYCEAsrACABKAIAIgEoAgBBPEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJYCCysAIAEoAgAiASgCAEE7RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQlgILKwAgASgCACIBKAIAQTpHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCWAgsrACABKAIAIgEoAgBBOUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJYCCysAIAEoAgAiASgCAEE4RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQlgILKwAgASgCACIBKAIAQShH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AmwgAEGkrAc2AgAgAEIANwJ0IABCADcCfCAAQgA3AhQgAEEIOgATIABC4erR+8bM3LfwADcACCAACzkAIAAoAgRFBEBB6PoFQbqLA0GcBEHu0wIQAQALIAAgAjYCeCAAIAE2AnwgACACEIQRIABCADcCeAvfIQEQfyABKAIABEACQCAAQRhqIgdBxQogARBbIAAhAwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEoAgAiAigCAA5eAAECAwQFBgcICQoLDA0eHyAhIiMkJTU2Dg8QERITFBUWFxgZGhscHTcmJygpKissLS4vMDEyMzQ4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcAG8LQZj9A0HlswNB6gEQYgALIANBFGpBpAsgARBYIAIoAgBBAUcNWyACKAIUIgBBAEwNbSADQRhqIQUDQCAAQQFrIgMgAigCFE8NXSACKAIQIANBAnRqIgQoAgBFDW8gBUGgASAEEFsgAEEBSyEIIAMhACAIDQALDG0LIANBFGoiAEGlCyABEFggAigCAEECRw1aIAIoAhAEQCADQRhqQaABIAJBEGoQWwsgAEGgASACQQxqEFggAEGgASACQQhqEFgMbAsgA0EUaiIAQaYLIAEQWCACKAIAQQNHDVkMXgsgA0EUakGnCyABEFggAigCAEEERw1YIAIoAhQEQCADQRhqQaABIAJBFGoQWwsgAigCEEUNaiADQRhqQaABIAJBEGoQWwxqCyADQRRqIgBBqAsgARBYIAIoAgBBBUcNVyAAQaABIAJBJGoQWCACKAIgRQ1pIANBGGpBoAEgAkEgahBbDGkLIANBFGpBqQsgARBYIAIoAgBBBkcNViACKAIMIgBBAEwNaCADQRhqIQUDQCAAQQFrIgMgAigCDE8NWCACKAIIIANB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mANBlAZBjd4AEAEACyABIAAQlwILLAAgASgCACIBKAIAQdsARwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAQlwILLAAgASgCACIBKAIAQdoARwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAQlwILLAAgASgCACIBKAIAQdkARwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAQlwILLAAgASgCACIBKAIAQdgARwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAQlwILLAAgASgCACIBKAIAQdcARwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAQlwILLAAgASgCACIBKAIAQdYARwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAQlwILLAAgASgCACIBKAIAQdUARwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAQlwILLAAgASgCACIBKAIAQdQARwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAQlwILLAAgASgCACIBKAIAQdMARwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAQlwILQQACQCAAKAIAQRBGBEAgAUUNASAAIAE2AgwPC0GiogZBp7cCQcAWQbb2ABABAAtB5PQBQae3AkHBFkG29gAQAQALLAAgASgCACIBKAIAQdIARwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAQlwILLAAgASgCACIBKAIAQdEARwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAQlwILLAAgASgCACIBKAIAQdAARwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAQlwILLAAgASgCACIBKAIAQc8ARwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAQlwILLAAgASgCACIBKAIAQc4ARwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAQlwILLAAgASgCACIBKAIAQc0ARwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAQlwILLAAgASgCACIBKAIAQcwARwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAQlwILLAAgASgCACIBKAIAQcsARwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAQlwILLAAgASgCACIBKAIAQcoARwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAQlwILLAAgASgCACIBKAIAQckARwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAQlwILLAAgASgCACIBKAIAQcgARwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAQlwILLAAgASgCACIBKAIAQccARwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAQlwILLAAgASgCACIBKAIAQcYARwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAQlwILLAAgASgCACIBKAIAQcUARwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAQlwILLAAgASgCACIBKAIAQcQARwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAQlwILLAAgASgCACIBKAIAQcMARwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAQlwILLAAgASgCACIBKAIAQcIARwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAQlwILLAAgASgCACIBKAIAQcEARwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAQlwILLAAgASgCACIBKAIAQcAARwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAQlwILKwAgASgCACIBKAIAQT9HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAEgABCXAgskACAAKAIAQRBHBEBBoqIGQae3AkHGFkHM9AAQAQALIAAoAhALKwAgASgCACIBKAIAQT5HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAEgABCXAgsrACABKAIAIgEoAgBBPUcEQEHw7QVBxZgDQZQGQY3eABABAAsgASAAEJcCCysAIAEoAgAiASgCAEE8RwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAQlwILKwAgASgCACIBKAIAQTtHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAEgABCXAgsrACABKAIAIgEoAgBBOkcEQEHw7QVBxZgDQZQGQY3eABABAAsgASAAEJcCCysAIAEoAgAiASgCAEE5RwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAQlwILKwAgASgCACIBKAIAQThHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAEgABCXAgsrACABKAIAIgEoAgBBKEcEQEHw7QVBxZgDQZQGQY3eABABAAsgASAAEJcCCysAIAEoAgAiASgCAEEXRwRAQfDt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QT9HDS0gA0HIACACQRRqEFgMLAsgA0HFCSABEFggAigCAEHAAEcNLCACKAIMIgBBAEwNKyADQQRqIQMDQCAAQQFrIgEgAigCDE8NLiACKAIIIAFBAnRqIgQoAgBFDS8gA0HIACAEEFsgAEEBSyEOIAEhACAODQALDCsLIANBxgkgARBYIAIoAgBBwQBHDSsMJAsgA0HHCSABEFggAigCAEHCAEcNKgwiCyADQcgJIAEQWCACKAIAQcMARw0pIANByAAgAkEMahBYDCcLIANByQkgARBYIAIoAgBBxABHDSgMHQsgA0HKCSABEFggAigCAEHFAEcNJwwcCyADQcsJIAEQWCACKAIAQcYARw0mIAIoAgwiAEEATA0lIANBBGohAwNAIABBAWsiASACKAIMTw0oIAIoAgggAUECdGoiBCgCAEUNKSADQcgAIAQQWyAAQQFLIQ8gASEAIA8NAAsMJQsgA0HMCSABEFggAigCAEHHAEcNJQwXCyADQc0JIAEQWCACKAIAQcgARw0kDBULIANBzgkgARBYIAIoAgBByQBHDSMMIAsgA0HPCSABEFggAigCAEHKAEcNIiADQcgAIAJBGGoQWAwSCyADQdAJIAEQWCACKAIAQcsARw0hDBELIANB0QkgARBYIAIoAgBBzABHDSAMEwsgA0HSCSABEFggAigCAEHNAEcNHwwSCyADQdMJIAEQWCACKAIAQc4ARw0eDBcLIANB1AkgARBYIAIoAgBBzwBHDR0gAigCGARAIANBBGpByAAgAkEYahBbCyACKAIUBEAgA0EEakHIACACQRRqEFsLIAIoAhAEQCADQQRqQcgAIAJBEGoQWwsMFgsgA0HVCSABEFggAigCAEHQAEYNGwwcCyADQdYJIAEQWCACKAIAQdEARw0bDBQLIANB1wkgARBYIAIoAgBB0gBHDRogAigCFARAIANBBGpByAAgAkEUahBbCwwSCyADQdgJIAEQWCACKAIAQdMARw0ZDAsLIANB2QkgARBYIAIoAgBB1ABHDRgMEAsgA0HaCSABEFggAigCAEHVAEcNFwwQCyADQdsJIAEQWCACKAIAQdYARw0WDAcLIANB3AkgARBYIAIoAgBB1wBHDRUMBwsgA0HdCSABEFggAigCAEHYAEcNFAwRCyADQd4JIAEQWCACKAIAQdkARw0TDAsLIANB3wkgARBYIAIoAgBB2gBHDRIMCQsgA0HgCSABEFggAigCAEHbAEcNEQwDCyADQeEJIAEQWCACKAIAQdwARw0QIANByAAgAkE8ahBYIAIoAjAiAEEATA0PIANBBGohAwNAIABBAWsiASACKAIwTw0SIAIoAiwgAUECdGoiBCgCAEUNEyADQcgAIAQQWyAAQQFLIRAgASEAIBANAAsMDwsgA0HIACACQRRqEFgLIANByAAgAkEQahBYCyADQcgAIAJBDGoQWAwKCyADQcgAIAJBHGoQWAsgA0HIACACQRhqEFgLIANByAAgAkEUahBYCyADQcgAIAJBEGoQWAwICyADQcgAIAJBFGoQWAsgA0HIACACQRBqEFgLIANByAAgAkEMahBYDAULIANByAAgAkEoahBYCyADQcgAIAJBJGoQWAwDCyADQcgAIAJBHGoQWCADQcgAIAJBGGoQWAwCCyADQcgAIAJBCGoQWAwBCyACKAIIRQ0AIANBBGpByAAgAkEIahBbCw8LQfDtBUHFmANBlAZBjd4AEAEAC0HFogFBiaIDQbwBQaaIBRABAAtBgYMCQdOZA0G5AkGu9wIQAQALoQYBCn8CQAJAAkACQAJAAkACQCAAKAIAQQJGBEAgACgCCCICKAIERQ0GIAIoAgAoAgAiAigCAA0BIAIoAghBmKMLKAIARw0BIAEoAgBBAkcNBSABKAIIIgIoAgRFDQYgAigCACgCACICKAIADQIgAigCCEGQogsoAgBHDQJBAiEDA0AgA0ECRw0GIAEoAggiAigCBEEBTQ0HIAIoAgAoAgQiAigCAEECRw0EIAIoAggiBSgCBCAHSwRAIAAoAgBBAkcNByAAKAIIIgIoAgRBAk0NCCACKAIAKAIIIgIoAgBBAkcNCSACKAIIIgMoAgQiAgR/IAMoAgAgAkECdGpBBGsoAgAFQQALIgMoAgBBAkcNCSADKAIIIgMoAgQiAgR/IAMoAgAgAkECdGpBBGsoAgAFQQALIgMoAgBBAkcNBiAFKAIAIAdBAnRqKAIAIQsgAygCCCIEKAIAIQICQCAEKAIEIgYgBCgCCEcEQCACIQMMAQsgBCAGQQF0QQJqIgM2AgggBEGAqAsgA0ECdEEEEF0iAzYCACAEKAIEIgZFBEBBACEGDAELQQAhCkEAIQMgBkEETwRAIAZBfHEhCQNAIANBAnQiCCAEKAIAaiACIAhqKAIANgIAIAhBBHIiBSAEKAIAaiACIAVqKAIANgIAIAhBCHIiBSAEKAIAaiACIAVqKAIANgIAIAhBDHIiBSAEKAIAaiACIAVqKAIANgIAIANBBGoiAyAJRw0ACwsgBkEDcSIJBEADQCADQQJ0IgUgBCgCAGogAiAFaigCADYCACADQQFqIQMgCkEBaiIKIAlHDQALCyAEKAIAIQMLIAMgBkECdGogCzYCACAEIAQoAgRBAWo2AgQgB0EBaiEHIAEoAgAhAwwBCwsPCwwEC0GDkgVB5IYDQfINQeyAAxABAAtBwZEFQeSGA0HzDUHsgAMQAQALQf/3BUHkhgNBmgNB/MIDEAEAC0H/9wVB5IYDQbMDQfj7AhABAAtB//cFQeSGA0GuA0GmiAUQAQALQcWiAUGJogNBvAFBpogFEAEAC0H/9wVB5IYDQb8DQf37AhABAAusCQEKfwJAAkACQCAAKAIAQQJGBEAgACgCCCIAKAIEIgRFDQIgACgCACIAKAIAIgMoAgANASADKAIIQZijCygCAEcNASAEQQJNDQIgACgCCCEJQYCoC0EQQQgQXSIAQQM2AgAgAEECELQCIQpBgKgLQRBBCBBdIgVBAzYCACAFQgA3AwggCigCAEECRw0DIAooAggiASgCACEEAkAgASgCBCIDIAEoAghHBEAgBCEADAELIAEgA0EBdEECaiIANgIIIAFBgKgLIABBAnRBBBBdIgA2AgAgASgCBCIDRQRAQQAhAwwBC0EAIQAgA0EETwRAIANBfHEhBwNAIABBAnQiAiABKAIAaiACIARqKAIANgIAIAJBBHIiCCABKAIAaiAEIAhqKAIANgIAIAJBCHIiCCABKAIAaiAEIAhqKAIANgIAIAJBDHIiAiABKAIAaiACIARqKAIANgIAIABBBGoiACAHRw0ACwsgA0EDcSICBEADQCAAQQJ0IgcgASgCAGogBCAHaigCADYCACAAQQFqIQAgBkEBaiIGIAJHDQALCyABKAIAIQALIAAgA0ECdGogBTYCACABIAEoAgRBAWo2AgRBgKgLQRBBCBBdIgBBAzYCACAAQQAQtAIhBSAKKAIAQQJHDQMgCigCCCIBKAIAIQQCQCABKAIEIgMgASgCCEcEQCAEIQAMAQsgASADQQF0QQJqIgA2AgggAUGAqAsgAEECdEEEEF0iADYCACABKAIEIgNFBEBBACEDDAELQQAhBkEAIQAgA0EETwRAIANBfHEhBwNAIABBAnQiAiABKAIAaiACIARqKAIANgIAIAJBBHIiCCABKAIAaiAEIAhqKAIANgIAIAJBCHIiCCABKAIAaiAEIAhqKAIANgIAIAJBDHIiAiABKAIAaiACIARqKAIANgIAIABBBGoiACAHRw0ACwsgA0EDcSICBEADQCAAQQJ0IgcgASgCAGogBCAHaigCADYCACAAQQFqIQAgBkEBaiIGIAJHDQALCyABKAIAIQALIAAgA0ECdGogBTYCACABIAEoAgRBAWo2AgQgCSgCAEECRw0DIAkoAggiASgCACEEAkAgASgCBCIDIAEoAghHBEAgBCEADAELIAEgA0EBdEECaiIANgIIIAFBgKgLIABBAnRBBBBdIgA2AgAgASgCBCIDRQRAQQAhAwwBC0EAIQZBACEAIANBBE8EQCADQXxxIQkDQCAAQQJ0IgIgASgCAGogAiAEaigCADYCACACQQRyIgUgASgCAGogBCAFaigCADYCACACQQhyIgUgASgCAGogBCAFaigCADYCACACQQxyIgIgASgCAGogAiAEaigCADYCACAAQQRqIgAgCUcNAAsLIANBA3EiAgRAA0AgAEECdCIJIAEoAgBqIAQgCWooAgA2AgAgAEEBaiEAIAZBAWoiBiACRw0ACwsgASgCACEACyAAIANBAnRqIAo2AgAgASABKAIEQQFqNgIEDwtB//cFQeSGA0GuA0GmiAUQAQALQYOSBUHkhgNB7A1Bw4ADEAEAC0HFogFBiaIDQbwBQaaIBRABAAtB//cFQeSGA0GzA0H4+wIQAQALJAAgACgCAEEZRwRAQcSvBkGntwJByRdBssgBEAEACyAALQAIC5IJAQl/AkACQAJAIAAoAgBBAkYEQCAAKAIIIgAoAgQiAkUNAiAAKAIAIgAoAgAiBCgCAA0BIAQoAghBmKMLKAIARw0BIAJBAk0NAiAAKAIIIQlBgKgLQRBBCBBdIgBBAzYCACAAQQIQtAIiCigCAEECRw0DIAooAggiAygCACECAkAgAygCBCIEIAMoAghHBEAgAiEADAELIAMgBEEBdEECaiIANgIIIANBgKgLIABBAnRBBBBdIgA2AgAgAygCBCIERQRAQQAhBAwBC0EAIQAgBEEETwRAIARBfHEhBwNAIABBAnQiBSADKAIAaiACIAVqKAIANgIAIAVBBHIiCCADKAIAaiACIAhqKAIANgIAIAVBCHIiCCADKAIAaiACIAhqKAIANgIAIAVBDHIiBSADKAIAaiACIAVqKAIANgIAIABBBGoiACAHRw0ACwsgBEEDcSIFBEADQCAAQQJ0IgcgAygCAGogAiAHaigCADYCACAAQQFqIQAgBkEBaiIGIAVHDQALCyADKAIAIQALIAAgBEECdGogATYCACADIAMoAgRBAWo2AgRBgKgLQRBBCBBdIgBBAzYCACAAQQAQtAIhBSAKKAIAQQJHDQMgCigCCCICKAIAIQECQCACKAIEIgQgAigCCEcEQCABIQAMAQsgAiAEQQF0QQJqIgA2AgggAkGAqAsgAEECdEEEEF0iADYCACACKAIEIgRFBEBBACEEDAELQQAhBkEAIQAgBEEETwRAIARBfHEhBwNAIABBAnQiAyACKAIAaiABIANqKAIANgIAIANBBHIiCCACKAIAaiABIAhqKAIANgIAIANBCHIiCCACKAIAaiABIAhqKAIANgIAIANBDHIiAyACKAIAaiABIANqKAIANgIAIABBBGoiACAHRw0ACwsgBEEDcSIDBEADQCAAQQJ0IgcgAigCAGogASAHaigCADYCACAAQQFqIQAgBkEBaiIGIANHDQALCyACKAIAIQALIAAgBEECdGogBTYCACACIAIoAgRBAWo2AgQgCSgCAEECRw0DIAkoAggiAigCACEBAkAgAigCBCIEIAIoAghHBEAgASEADAELIAIgBEEBdEECaiIANgIIIAJBgKgLIABBAnRBBBBdIgA2AgAgAigCBCIERQRAQQAhBAwBC0EAIQZBACEAIARBBE8EQCAEQXxxIQUDQCAAQQJ0IgMgAigCAGogASADaigCADYCACADQQRyIgkgAigCAGogASAJaigCADYCACADQQhyIgkgAigCAGogASAJaigCADYCACADQQxyIgMgAigCAGogASADaigCADYCACAAQQRqIgAgBUcNAAsLIARBA3EiAwRAA0AgAEECdCIFIAIoAgBqIAEgBWooAgA2AgAgAEEBaiEAIAZBAWoiBiADRw0ACwsgAigCACEACyAAIARBAnRqIAo2AgAgAiACKAIEQQFqNgIEDwtB//cFQeSGA0GuA0GmiAUQAQALQYOS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IAVHBEADQCAEQQhrIgQgAkEIayICKQIANwIAIAIgBUcNAAsgACgCACECCyAAIAYgA0EDdGo2AgggACABNgIEIAAgBDYCACACBEAgAhBaCw8LEGQACxBqAAvQAwEIfyMAQRBrIgUkAAJAAkAgAUEQSQ0AIAEoAhANAEHEARBcIgRBCGpBAEG8AfwLACAEQgA3AgwgBEEAOgAIIARCADcCACAEQgA3AhRB1IkLQQA2AgAgBUIANwIIIAVCADcDAEEpIARBHGogBRACIQpB1IkLKAIAIQlB1IkLQQA2AgAgCUEBRg0BIARCADcCICAEQgA3AkwgBEIANwJgIARCADcCjAEgBEFAa0IANwIAIARCADcCOCAEQgA3AjAgBEIANwIoIARBgICA/AM2AkggBEIANwJUIARBgICA/AM2AlwgBEIANwJoIARB+ABqIgZCADcCACAEQYCAgPwDNgJwIARBhAFqIghCADcCACAEIAY2AnQgBCAINgKAASAEQgA3ApQBIARCADcCoAEgBEGAgID8AzYCnAEgBEIANwKoASAEQgA3ArQBIARBgICA/AM2ArABIARCADcBugEgBCAANwIAIAogATYCACAEIAM2AjAgBCACKAIANgIkIAJBADYCACAEIAIoAgQ2AiggAkEANgIEIAQgAigCCDYCLCACQQA2AgggBUEQaiQAIAQPC0GBlQZBmpYDQTJBmNQCEAEACxAAIQsgBBBaIAsQBwALJQAgACgCAEHIAEcEQEG6pwZBp7cCQbQiQePTAxABAAsgACgCEAsSACAAQQhqQeXOAEEiEF8aIAALtAwCEX8CfSMAQRBrIggkACACKAIEIAItAAsiBCAEwEEASCIEGyIMIQUgAigCACACIAQbIgshAgJAIAwiBkEESQ0AIAYiBEEEayIGQQRxRQRAIAIoAABBldPH3gVsIgRBGHYgBHNBldPH3gVsIAVBldPH3gVscyEFIAJBBGohAiAGIgRBBEkNAQsgBCEGA0AgAigABEGV08feBWwiBEEYdiAEc0GV08feBWwgAigAAEGV08feBWwiBEEYdiAEc0GV08feBWwgBUGV08feBWxzQZXTx94FbHMhBSACQQhqIQIgBkEIayIGQQNLDQALCwJAAkACQAJAIAZBAWsOAwIBAAMLIAItAAJBEHQgBXMhBQsgAi0AAUEIdCAFcyEFCyAF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BCAJTQ0DIAAgASACKAIAIAlBAnRqKAIAEOACIAAoAjANAiAAKAIAIAAoAiQgACgCIGtBGG1qQQFHBEBB1IkLQQA2AgBBDUGHwQVB0JUDQccAQZjXAxAFQdSJCygCACEMQdSJC0EANgIAIAxBAUcNBxAAIQEMBgsCQCADKAIARQRAIANBATYCACAAIANGDQEgChBZIQRB1IkLQQA2AgBBwAAgBCAHEAIaQdSJCygCACENQdSJC0EANgIAIA1BAUcNAQwGCyADKAIkIgQgAygCKEcEQEHUiQtBADYCAEHAACAEIAcQAiEFQdSJCygCACEOQdSJC0EANgIAIA5BAUYEQBAAIQEgAyAENgIkDAgLIAMgBUEYajYCJAwBC0HUiQtBADYCAEGyBSALIAcQA0HUiQsoAgAhD0HUiQtBADYCACAPQQFGDQULIAAoAiAiBARAIAQhBSAEIAAoAiQiCEcEQANAIAhBGGsQWSIIIARHDQALIAAoAiAhBQsgACAENgIkIAUQWgsgBxBZGiAJQQFqIgkgBkcNAAsLIABCADcDACAAQgA3AzAgAEIANwMoIABCADcDICAAQgA3AxggAEIANwMQIABCADcDCAsPC0HFogFBiaIDQbwBQaaIBRABAAsQACEBCyAAEGggARAHCwAL9AoBFX8jAEHgB2siAyQAIANB4ARqIAEQrwNB1IkLQQA2AgBBzQUgA0HgAWogAhADQdSJCygCACEBQdSJC0EANgIAAkACQCABQQFHBEAgA0EANgIwIANCADcDKCADQUBrQgA3AwAgA0EANgJIIANCADcDWCADQQA2AmAgA0IANwNwIANBADYCeCADQgA3A4gBIANBADYCkAEgA0IANwOgASADQQA2AqgBIANCADcDICADQgA3AzggA0IANwNQIANCADcDaCADQgA3A4ABIANCADcDmAEgA0EANgLAASADQgA3A7gBIANBADYC2AEgA0IANwPQASADQgA3A7ABIANCADcDyAEgA0HIAWohFyADQbABaiEJIANBmAFqIQogA0GAAWohCyADQegAaiEMIANB0ABqIQ0gA0E4aiEOQQAhAgJAAkACQAJAAkADQCADQQI2AhggA0EANgIIIANBIGogAkEYbGoiASADQQhqIgVGIgZFBEAgARBZIQRB1IkLQQA2AgBBwAAgBCAFEAIaQdSJCygCACESQdSJC0EANgIAIBJBAUYNAgsgAkEBdCEFIANBCGoiBxBZGiABKAIQIQQCQCAGRQRAIARBAkcNBCAFQRhsIgQgA0HgBGoiD2oiBigCEEECRw0EIANB4AFqIhAgBGoiBCgCEEECRw0EIAEoAgAhESAEKAIAIQQgBigCACEGIANBAjYCGCADIBEgBCAGbGo2AgggARBZIQRB1IkLQQA2AgBBwAAgBCAHEAIhBkHUiQsoAgAhE0HUiQtBADYCACATQQFGDQUgBxBZIQQgASgCEEECRw0EIA8gBUEBckEYbCIBaiIFKAIQQQJHDQQgASAQaiIBKAIQQQJHDQQgBCAGKAIAIAEoAgAgBSgCAGxqNgIAIANBAjYCGCAGEFkhAUHUiQtBADYCAEHAACABIAQQAhpB1IkLKAIAIRRB1IkLQQA2AgAgFEEBRg0FDAELIARBAkcNAyAFQRhsIgQgA0HgBGoiBmooAhBBAkcNAyADQeABaiIHIARqKAIQQQJHDQMgA0ECNgIYIANBCGoQWSEEIAEoAhBBAkcNAyAGIAVBAXJBGGwiAWooAhBBAkcNAyABIAdqKAIQQQJHDQMgA0ECNgIYCyAEEFkaIAJBAWoiAkEIRw0AC0HUiQtBADYCAEHFBSAAIANBIGoQAhpB1IkLKAIAIRVB1IkLQQA2AgAgFUEBRw0EEAAhAQwDCxAAIQEgA0EIahBZGgwCC0HUiQtBADYCAEENQZmxBUHmmgNBmAJBoq4FEAVB1IkLKAIAIRZB1IkLQQA2AgAgFkEBRw0EEAAhAQwBCxAAIQEgA0EIahBZGgsgA0EgahDwASADQeABahCnAgwDCyAXEFkaIAkQWRogChBZGiALEFkaIAwQWRogDRBZGiAOEFkaIANBIGoQWRogA0HIBGoQWRogA0GwBGoQWRogA0GYBGoQWRogA0GABGoQWRogA0HoA2oQWRogA0HQA2oQWRogA0G4A2oQWRogA0GgA2oQWRogA0GIA2oQWRogA0HwAmoQWRogA0HYAmoQWRogA0HAAmoQWRogA0GoAmoQWRogA0GQAmoQWRogA0H4AWoQWRogA0HgAWoQWRogA0HIB2oQWRogA0GwB2oQWRogA0GYB2oQWRogA0GAB2oQWRogA0HoBmoQWRogA0HQBmoQWRogA0G4BmoQWRogA0GgBmoQWRogA0GIBmoQWRogA0HwBWoQWRogA0HYBWoQWRogA0HABWoQWRogA0GoBWoQWRogA0GQBWoQWRogA0H4BGoQWRogA0HgBGoQWRogA0HgB2okAA8LEAAhAQwBCwALIANB4ARqEKcCIAEQBwALwAoBFX8jAEGgCWsiAyQAIANBoAZqIAEQgwNB1IkLQQA2AgBBzAUgA0GgA2ogAhADQdSJCygCACEBQdSJC0EANgIAAkAgAUEBRwRAIANBADYCMCADQgA3AyggA0FAa0IANwMAIANBADYCSCADQgA3A1ggA0EANgJgIANCADcDcCADQQA2AnggA0IANwOIASADQQA2ApABIANCADcDoAEgA0EANgKoASADQgA3AyAgA0IANwM4IANCADcDUCADQgA3A2ggA0IANwOAASADQgA3A5gBIANBADYCwAEgA0IANwO4ASADQQA2AtgBIANCADcD0AEgA0EANgLwASADQgA3A+gBIANBADYCiAIgA0IANwOAAiADQQA2AqACIANCADcDmAIgA0IANwOwAiADQQA2ArgCIANCADcDsAEgA0IANwPIASADQgA3A+ABIANCADcD+AEgA0IANwOQAiADQgA3A6gCIANBADYC0AIgA0IANwPIAiADQgA3A8ACIANBADYC6AIgA0IANwPgAiADQgA3A9gCIANBADYCgAMgA0IANwP4AiADQgA3A/ACIANBADYCmAMgA0IANwOQAyADQgA3A4gDIANBiANqIQIgA0HwAmohBiADQdgCaiEHIANBwAJqIQggA0GoAmohCSADQZACaiEKIANB+AFqIQsgA0HgAWohDCADQcgBaiENIANBsAFqIQ4gA0GYAWohDyADQYABaiEQIANB6ABqIREgA0HQAGohEiADQThqIRNBACEBAkACQAJAAkACQANAIAFBGGwiBCADQaADamoiBSgCEEECRwRAQdSJC0EANgIAQQ1BmbEFQeaaA0GYAkGirgUQBUHUiQsoAgAhFEHUiQtBADYCACAUQQFGDQIACwJAIAUoAgAiBUEQTwRAIANBAjYCGCADQQA2AggMAQtB1IkLQQA2AgBBwAAgA0EIaiADQaAGaiAFQRhsahACGkHUiQsoAgAhFUHUiQtBADYCACAVQQFGDQMLIANBIGogBGoiBCADQQhqIgVHBEAgBBBZIQRB1IkLQQA2AgBBwAAgBCAFEAIaQdSJCygCACEWQdSJC0EANgIAIBZBAUYNBAsgA0EIahBZGiABQQFqIgFBEEcNAAtB1IkLQQA2AgBBxAUgACADQSBqIgAQAhpB1IkLKAIAIRdB1IkLQQA2AgAgF0EBRg0DIAIQWRogBhBZGiAHEFkaIAgQWRogCRBZGiAKEFkaIAsQWRogDBBZGiANEFkaIA4QWRogDxBZGiAQEFkaIBEQWRogEhBZGiATEFkaIAAQWRogA0GIBmoQWRogA0HwBWoQWRogA0HYBWoQWRogA0HABWoQWRogA0GoBWoQWRogA0GQBWoQWRogA0H4BGoQWRogA0HgBGoQWRogA0HIBGoQWRogA0GwBGoQWRogA0GYBGoQWRogA0GABGoQWRogA0HoA2oQWRogA0HQA2oQWRogA0G4A2oQWRogA0GgA2oQWRogA0GICWoQWRogA0HwCGoQWRogA0HYCGoQWRogA0HACGoQWRogA0GoCGoQWRogA0GQCGoQWRogA0H4B2oQWRogA0HgB2oQWRogA0HIB2oQWRogA0GwB2oQWRogA0GYB2oQWRogA0GAB2oQWRogA0HoBmoQWRogA0HQBmoQWRogA0G4BmoQWRogA0GgBmoQWRogA0GgCWokAA8LEAAhAQwDCxAAIQEMAgsQACEBIANBCGoQWRoMAQsQACEBCyADQSBqEKcCIANBoANqEKcCDAELEAAhAQsgA0GgBmoQpwIgARAHAAvFDAETfyMAQaADayIDJAAgA0HAAmogARDMAkHUiQtBADYCAEHQBSADQeABaiACEANB1IkLKAIAIQFB1IkLQQA2AgACQAJAAkACQAJAAkAgAUEBRwRAIANBADYCMCADQgA3AyggA0FAa0IANwMAIANBADYCSCADQgA3A1ggA0EANgJgIANCADcDcCADQQA2AnggA0IANwOIASADQQA2ApABIANCADcDoAEgA0EANgKoASADQgA3AyAgA0IANwM4IANCADcDUCADQgA3A2ggA0IANwOAASADQgA3A5gBIANBADYCwAEgA0IANwO4ASADQgA3A9ABIANBADYC2AEgA0IANwOwASADQgA3A8gBIAMoAtACQQJHDQIgA0ECNgIYIANB//8DIAMoAsACIgFBACABQQBKGyIBIAFB//8DThs2AgggA0EgahBZIQFB1IkLQQA2AgBBwAAgASADQQhqIgQiAhACIQtB1IkLKAIAIQFB1IkLQQA2AgACQAJAAkAgAUEBRg0AIAIQWSEBIAMoAvABQQJHDQQgA0ECNgIYIANB//8DIAMoAuABIghBACAIQQBKGyIIIAhB//8DThs2AgggA0GAAWoQWSEIQdSJC0EANgIAQcAAIAggAhACIQhB1IkLKAIAIQxB1IkLQQA2AgAgDEEBRg0BIAQQWSECIAMoAugCQQJHDQUgAUH//wMgAygC2AIiCUEAIAlBAEobIgkgCUH//wNOGzYCACADQQI2AhggA0E4ahBZIQlB1IkLQQA2AgBBwAAgCSABEAIhCUHUiQsoAgAhDUHUiQtBADYCACANQQFGDQAgARBZIQEgAygCiAJBAkcNBCACQf//AyADKAL4ASIEQQAgBEEAShsiBCAEQf//A04bNgIAIANBAjYCGCADQZgBahBZIQRB1IkLQQA2AgBBwAAgBCACEAIhBEHUiQsoAgAhDkHUiQtBADYCACAOQQFGDQEgAhBZIQIgAygCgANBAkcNBSABQf//AyADKALwAiIFQQAgBUEAShsiBSAFQf//A04bNgIAIANBAjYCGCADQdAAahBZIQVB1IkLQQA2AgBBwAAgBSABEAIhBUHUiQsoAgAhD0HUiQtBADYCACAPQQFGDQAgARBZIQEgAygCoAJBAkcNBCACQf//AyADKAKQAiIGQQAgBkEAShsiBiAGQf//A04bNgIAIANBAjYCGCADQbABahBZIQZB1IkLQQA2AgBBwAAgBiACEAIhBkHUiQsoAgAhEEHUiQtBADYCACAQQQFGDQEgAhBZIQIgAygCmANBAkcNBSABQf//AyADKAKIAyIHQQAgB0EAShsiByAHQf//A04bNgIAIANBAjYCGCADQegAahBZIQdB1IkLQQA2AgBBwAAgByABEAIhB0HUiQsoAgAhEUHUiQtBADYCACARQQFGDQAgARBZGiADKAK4AkECRw0EIAJB//8DIAMoAqgCIgFBACABQQBKGyIBIAFB//8DThs2AgAgA0ECNgIYIANByAFqEFkhAUHUiQtBADYCAEHAACABIAIQAiEBQdSJCygCACESQdSJC0EANgIAIBJBAUYNASACEFkaQdSJC0EANgIAQcUFIAAgCxACGkHUiQsoAgAhE0HUiQtBADYCACATQQFHDQIQACEBDAgLEAAhASADQQhqEFkaDAcLEAAhASADQQhqEFkaDAYLIAEQWRogBhBZGiAEEFkaIAgQWRogBxBZGiAFEFkaIAkQWRogCxBZGiADQagCahBZGiADQZACahBZGiADQfgBahBZGiADQeABahBZGiADQYgDahBZGiADQfACahBZGiADQdgCahBZGiADQcACahBZGiADQaADaiQADwsQACEBDAULQdSJC0EANgIAQQ1BmbEFQeaaA0GYAkGirgUQBUHUiQsoAgAhFEHUiQtBADYCACAUQQFHDQEQACEBDAMLQdSJC0EANgIAQQ1BmbEFQeaaA0GYAkGirgUQBUHUiQsoAgAhFUHUiQtBADYCACAVQQFGDQELAAsQACEBCyADQSBqEPABIANBqAJqEFkaIANBkAJqEFkaIANB+AFqEFkaIANB4AFqEFkaCyADQYgDahBZGiADQfACahBZGiADQdgCahBZGiADQcACahBZGiABEAcAC+UMARN/IwBBoANrIgMkACADQcACaiABEMwCQdSJC0EANgIAQdAFIANB4AFqIAIQA0HUiQsoAgAhAUHUiQtBADYCAAJAAkACQAJAAkACQCABQQFHBEAgA0EANgIwIANCADcDKCADQUBrQgA3AwAgA0EANgJIIANCADcDWCADQQA2AmAgA0IANwNwIANBADYCeCADQgA3A4gBIANBADYCkAEgA0IANwOgASADQQA2AqgBIANCADcDICADQgA3AzggA0IANwNQIANCADcDaCADQgA3A4ABIANCADcDmAEgA0EANgLAASADQgA3A7gBIANCADcD0AEgA0EANgLYASADQgA3A7ABIANCADcDyAEgAygC0AJBAkcNAiADQQI2AhggA0H//wFBgIB+IAMoAsACIgEgAUGAgH5MGyIBIAFB//8BThs2AgggA0EgahBZIQFB1IkLQQA2AgBBwAAgASADQQhqIgQiAhACIQtB1IkLKAIAIQFB1IkLQQA2AgACQAJAAkAgAUEBRg0AIAIQWSEBIAMoAvABQQJHDQQgA0ECNgIYIANB//8BQYCAfiADKALgASIIIAhBgIB+TBsiCCAIQf//AU4bNgIIIANBgAFqEFkhCEHUiQtBADYCAEHAACAIIAIQAiEIQdSJCygCACEMQdSJC0EANgIAIAxBAUYNASAEEFkhAiADKALoAkECRw0FIAFB//8BQYCAfiADKALYAiIJIAlBgIB+TBsiCSAJQf//AU4bNgIAIANBAjYCGCADQThqEFkhCUHUiQtBADYCAEHAACAJIAEQAiEJQdSJCygCACENQdSJC0EANgIAIA1BAUYNACABEFkhASADKAKIAkECRw0EIAJB//8BQYCAfiADKAL4ASIEIARBgIB+TBsiBCAEQf//AU4bNgIAIANBAjYCGCADQZgBahBZIQRB1IkLQQA2AgBBwAAgBCACEAIhBEHUiQsoAgAhDkHUiQtBADYCACAOQQFGDQEgAhBZIQIgAygCgANBAkcNBSABQf//AUGAgH4gAygC8AIiBSAFQYCAfkwbIgUgBUH//wFOGzYCACADQQI2AhggA0HQAGoQWSEFQdSJC0EANgIAQcAAIAUgARACIQVB1IkLKAIAIQ9B1IkLQQA2AgAgD0EBRg0AIAEQWSEBIAMoAqACQQJHDQQgAkH//wFBgIB+IAMoApACIgYgBkGAgH5MGyIGIAZB//8BThs2AgAgA0ECNgIYIANBsAFqEFkhBkHUiQtBADYCAEHAACAGIAIQAiEGQdSJCygCACEQQdSJC0EANgIAIBBBAUYNASACEFkhAiADKAKYA0ECRw0FIAFB//8BQYCAfiADKAKIAyIHIAdBgIB+TBsiByAHQf//AU4bNgIAIANBAjYCGCADQegAahBZIQdB1IkLQQA2AgBBwAAgByABEAIhB0HUiQsoAgAhEUHUiQtBADYCACARQQFGDQAgARBZGiADKAK4AkECRw0EIAJB//8BQYCAfiADKAKoAiIBIAFBgIB+TBsiASABQf//AU4bNgIAIANBAjYCGCADQcgBahBZIQFB1IkLQQA2AgBBwAAgASACEAIhAUHUiQsoAgAhEkHUiQtBADYCACASQQFGDQEgAhBZGkHUiQtBADYCAEHFBSAAIAsQAhpB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRw0CEAAhAQwICxAAIQEgA0EIahBZGgwHCxAAIQEgA0EIahBZGgwGCyABEFkaIAYQWRogBBBZGiAIEFkaIAcQWRogBRBZGiAJEFkaIAsQWRogA0GoAmoQWRogA0GQAmoQWRogA0H4AWoQWRogA0HgAWoQWRogA0GIA2oQWRogA0HwAmoQWRogA0HYAmoQWRogA0HAAmoQWRogA0GgA2okAA8LEAAhAQwFC0HUiQtBADYCAEENQZmxBUHmmgNBmAJBoq4FEAVB1IkLKAIAIRRB1IkLQQA2AgAgFEEBRw0BEAAhAQwDC0HUiQtBADYCAEENQZmxBUHmmgNBmAJBoq4FEAVB1IkLKAIAIRVB1IkLQQA2AgAgFUEBRg0BCwALEAAhAQsgA0EgahDwASADQagCahBZGiADQZACahBZGiADQfgBahBZGiADQeABahBZGgsgA0GIA2oQWRogA0HwAmoQWRogA0HYAmoQWRogA0HAAmoQWRogARAHAAvbCgEYfyMAQaAGayIDJAAgA0HgBGogARCcA0HUiQtBADYCAEHPBSADQaADaiACEANB1IkLKAIAIQFB1IkLQQA2AgACQAJAIAFBAUcEQCADQQA2AjAgA0IANwMoIANBQGtCADcDACADQQA2AkggA0IANwNYIANBADYCYCADQgA3A3AgA0EANgJ4IANCADcDiAEgA0EANgKQASADQgA3A6ABIANBADYCqAEgA0IANwMgIANCADcDOCADQgA3A1AgA0IANwNoIANCADcDgAEgA0IANwOYASADQQA2AsABIANCADcDuAEgA0EANgLYASADQgA3A9ABIANBADYC8AEgA0IANwPoASADQQA2AogCIANCADcDgAIgA0EANgKgAiADQgA3A5gCIANCADcDsAIgA0EANgK4AiADQgA3A7ABIANCADcDyAEgA0IANwPgASADQgA3A/gBIANCADcDkAIgA0IANwOoAiADQQA2AtACIANCADcDyAIgA0IANwPAAiADQQA2AugCIANCADcD4AIgA0IANwPYAiADQQA2AoADIANCADcD+AIgA0IANwPwAiADQQA2ApgDIANCADcDkAMgA0IANwOIAyADQYgDaiEaIANB8AJqIQYgA0HYAmohByADQcACaiEIIANBqAJqIQkgA0GQAmohCiADQfgBaiELIANB4AFqIQwgA0HIAWohDSADQbABaiEOIANBmAFqIQ8gA0GAAWohECADQegAaiERIANB0ABqIRIgA0E4aiETQQAhAQJAAkACQAJAAkADQCABQRhsIgIgA0HgBGpqIgQoAhBBAkcEQEHUiQtBADYCAEENQZmxBUHmmgNBmAJBoq4FEAVB1IkLKAIAIRVB1IkLQQA2AgAgFUEBRg0CDAkLIAQuAQAhBCADQQI2AhggA0H/ASAEQQAgBEEAShsiBCAEQf8BThs2AgggA0EgaiACaiIEIANBCGoiFEcEQCAEEFkhBEHUiQtBADYCAEHAACAEIBQQAhpB1IkLKAIAIRZB1IkLQQA2AgAgFkEBRg0DCyADQQhqEFkaIANBoANqIAJqIgIoAhBBAkcEQEHUiQtBADYCAEENQZmxBUHmmgNBmAJBoq4FEAVB1IkLKAIAIRdB1IkLQQA2AgAgF0EBRw0JEAAhAQwFCyACLgEAIQIgA0ECNgIYIANB/wEgAkEAIAJBAEobIgIgAkH/AU4bNgIIIANBIGogAUEIckEYbGoiAiADQQhqIgRHBEAgAhBZIQJB1IkLQQA2AgBBwAAgAiAEEAIaQdSJCygCACEYQdSJC0EANgIAIBhBAUYNBAsgA0EIahBZGiABQQFqIgFBCEcNAAtB1IkLQQA2AgBBxAUgACADQSBqEAIaQdSJCygCACEZQdSJC0EANgIAIBlBAUcNBBAAIQEMAwsQACEBDAILEAAhASADQQhqEFkaDAELEAAhASADQQhqEFkaCyADQSBqEKcCIANBoANqEPABDAILIBoQWRogBhBZGiAHEFkaIAgQWRogCRBZGiAKEFkaIAsQWRogDBBZGiANEFkaIA4QWRogDxBZGiAQEFkaIBEQWRogEhBZGiATEFkaIANBIGoQWRogA0HIBGoQWRogA0GwBGoQWRogA0GYBGoQWRogA0GABGoQWRogA0HoA2oQWRogA0HQA2oQWRogA0G4A2oQWRogA0GgA2oQWRogA0GIBmoQWRogA0HwBWoQWRogA0HYBWoQWRogA0HABWoQWRogA0GoBWoQWRogA0GQBWoQWRogA0H4BGoQWRogA0HgBGoQWRogA0GgBmokAA8LEAAhAQsgA0HgBGoQ8AEgARAHAAsAC98KARh/IwBBoAZrIgMkACADQeAEaiABEJwDQdSJC0EANgIAQc8FIANBoANqIAIQA0HUiQsoAgAhAUHUiQtBADYCAAJAAkAgAUEBRwRAIANBADYCMCADQgA3AyggA0FAa0IANwMAIANBADYCSCADQgA3A1ggA0EANgJgIANCADcDcCADQQA2AnggA0IANwOIASADQQA2ApABIANCADcDoAEgA0EANgKoASADQgA3AyAgA0IANwM4IANCADcDUCADQgA3A2ggA0IANwOAASADQgA3A5gBIANBADYCwAEgA0IANwO4ASADQQA2AtgBIANCADcD0AEgA0EANgLwASADQgA3A+gBIANBADYCiAIgA0IANwOAAiADQQA2AqACIANCADcDmAIgA0IANwOwAiADQQA2ArgCIANCADcDsAEgA0IANwPIASADQgA3A+ABIANCADcD+AEgA0IANwOQAiADQgA3A6gCIANBADYC0AIgA0IANwPIAiADQgA3A8ACIANBADYC6AIgA0IANwPgAiADQgA3A9gCIANBADYCgAMgA0IANwP4AiADQgA3A/ACIANBADYCmAMgA0IANwOQAyADQgA3A4gDIANBiANqIRogA0HwAmohBiADQdgCaiEHIANBwAJqIQggA0GoAmohCSADQZACaiEKIANB+AFqIQsgA0HgAWohDCADQcgBaiENIANBsAFqIQ4gA0GYAWohDyADQYABaiEQIANB6ABqIREgA0HQAGohEiADQThqIRNBACEBAkACQAJAAkACQANAIAFBGGwiAiADQeAEamoiBCgCEEECRwRAQdSJC0EANgIAQQ1BmbEFQeaaA0GYAkGirgUQBUHUiQsoAgAhFUHUiQtBADYCACAVQQFGDQIMCQsgBC4BACEEIANBAjYCGCADQf8AQYB/IAQgBEGAf0wbIgQgBEH/AE4bNgIIIANBIGogAmoiBCADQQhqIhRHBEAgBBBZIQRB1IkLQQA2AgBBwAAgBCAUEAIaQdSJCygCACEWQdSJC0EANgIAIBZBAUYNAwsgA0EIahBZGiADQaADaiACaiICKAIQQQJHBEBB1IkLQQA2AgBBDUGZsQVB5poDQZgCQaKuBRAFQdSJCygCACEXQdSJC0EANgIAIBdBAUcNCRAAIQEMBQsgAi4BACECIANBAjYCGCADQf8AQYB/IAIgAkGAf0wbIgIgAkH/AE4bNgIIIANBIGogAUEIckEYbGoiAiADQQhqIgRHBEAgAhBZIQJB1IkLQQA2AgBBwAAgAiAEEAIaQdSJCygCACEYQdSJC0EANgIAIBhBAUYNBAsgA0EIahBZGiABQQFqIgFBCEcNAAtB1IkLQQA2AgBBxAUgACADQSBqEAIaQdSJCygCACEZQdSJC0EANgIAIBlBAUcNBBAAIQEMAwsQACEBDAILEAAhASADQQhqEFkaDAELEAAhASADQQhqEFkaCyADQSBqEKcCIANBoANqEPABDAILIBoQWRogBhBZGiAHEFkaIAgQWRogCRBZ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AgBBxgUgACABEAIaQdSJCygCACESQdSJC0EANgIAIBJBAUcNAxAAIQEMAgsQACEBDAELEAAhASADQQhqEFkaCyADQegAahBZGiADQdAAahBZGiADQThqEFkaIANBIGoQWRoMAgsgChBZGiAJEFkaIAgQWRogA0EgahBZGiAGEFkaIAUQWRogBBBZGiABEFkaIANB4AFqJAAPCxAAIQELIANByAFqEFkaIANBsAFqEFkaIANBmAFqEFkaIANBgAFqEFkaIAEQBwAL4QUBEH8jAEHgAWsiAyQAIANBgAFqIgQgARD5AkHUiQtBADYCAEHIBSADQSBqIgEgAhADQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZUEIANBCGoiAiAEIAEQCEHUiQsoAgAhAUHUiQtBADYCAAJAAkACQAJAIAFBAUYNACAEEFkhAUHUiQtBADYCAEHAACABIAIQAiEBQdSJCygCACELQdSJC0EANgIAIAtBAUYNASACEFkhAkHUiQtBADYCAEGVBCACIAFBGGoiBCADQThqIggQCEHUiQsoAgAhDEHUiQtBADYCACAMQQFGDQAgBBBZIQRB1IkLQQA2AgBBwAAgBCACEAIhBEHUiQsoAgAhDUHUiQtBADYCACANQQFGDQEgAhBZIQJB1IkLQQA2AgBBlQQgAiABQTBqIgUgA0HQAGoiCRAIQdSJCygCACEOQdSJC0EANgIAIA5BAUYNACAFEFkhBUHUiQtBADYCAEHAACAFIAIQAiEFQdSJCygCACEPQdSJC0EANgIAIA9BAUYNASACEFkhAkHUiQtBADYCAEGVBCACIAFByABqIgYgA0HoAGoiChAIQdSJCygCACEQQdSJC0EANgIAIBBBAUYNACAGEFkhBkHUiQtBADYCAEHAACAGIAIQAiEGQdSJCygCACERQdSJC0EANgIAIBFBAUYNASACEFkaQdSJC0EANgIAQcYFIAAgARACGkHUiQsoAgAhEkHUiQtBADYCACASQQFHDQMQACEBDAILEAAhAQwBCxAAIQEgA0EIahBZGgsgA0HoAGoQWRogA0HQAGoQWRogA0E4ahBZGiADQSBqEFkaDAILIAoQWRogCRBZGiAIEFkaIANBIGoQWRogBhBZGiAFEFkaIAQQWRogARBZGiADQeABaiQADwsQACEBCyADQcgBahBZGiADQbABahBZGiADQZgBahBZGiADQYABahBZGiABEAcAC5kFAQd/IwBBkAJrIgMkACADQbABaiABEMwCQdSJC0EANgIAQdEFIANB0ABqIAIQA0HUiQsoAgAhAUHUiQtBADYCAAJAAkACQCABQQFHBEAgA0EANgIwIANCADcDKCADQUBrQgA3AwAgA0EANgJIIANCADcDICADQgA3AzggA0E4aiECIAMoAvABQQJHDQEgAygCkAFBAkcNASADQQM2AhggAyADNQKAASADNQLgAX43AwggA0EgahBZIQFB1IkLQQA2AgBBwAAgASADQQhqIgEQAiEFQdSJCygCACEEQdSJC0EANgIAAkACQCAEQQFGDQAgARBZIQEgAygCiAJBAkcNAyADKAKoAUECRw0DIAEgAzUCmAEgAzUC+AF+NwMAIANBAzYCGCACEFkhBEHUiQtBADYCAEHAACAEIAEQAiEEQdSJCygCACEHQdSJC0EANgIAIAdBAUYNACABEFkaQdSJC0EANgIAQccFIAAgBRACGkHUiQsoAgAhCEHUiQtBADYCACAIQQFHDQEQACEBDAQLEAAhASADQQhqEFkaDAMLIAQQWRogBRBZGiADQZgBahBZGiADQYABahBZGiADQegAahBZGiADQdAAahBZGiADQfgBahBZGiADQeABahBZGiADQcgBahBZGiADQbABahBZGiADQZACaiQADwsQACEBDAILQdSJC0EANgIAQQ1BmbEFQeaaA0GYAkGirgUQBUHUiQsoAgAhCUHUiQtBADYCACAJQQFHBEAACxAAIQELIAIQWRogA0EgahBZGiADQZgBahBZGiADQYABahBZGiADQegAahBZGiADQdAAahBZGgsgA0H4AWoQWRogA0HgAWoQWRogA0HIAWoQWRogA0GwAWoQWRogARAHAAuVBQEHfyMAQZACayIDJAAgA0GwAWogARDMAkHUiQtBADYCAEHRBSADQdAAaiACEANB1IkLKAIAIQFB1IkLQQA2AgACQAJAAkAgAUEBRwRAIANBADYCMCADQgA3AyggA0FAa0IANwMAIANBADYCSCADQgA3AyAgA0IANwM4IANBOGohAiADKALAAUECRw0BIAMoAmBBAkcNASADQQM2AhggAyADNQJQIAM1ArABfjcDCCADQSBqEFkhAUHUiQtBADYCAEHAACABIANBCGoiARACIQVB1IkLKAIAIQRB1IkLQQA2AgACQAJAIARBAUYNACABEFkhASADKALYAUECRw0DIAMoAnhBAkcNAyABIAM1AmggAzUCyAF+NwMAIANBAzYCGCACEFkhBEHUiQtBADYCAEHAACAEIAEQAiEEQdSJCygCACEHQdSJC0EANgIAIAdBAUYNACABEFkaQdSJC0EANgIAQccFIAAgBRACGkHUiQsoAgAhCEHUiQtBADYCACAIQQFHDQEQACEBDAQLEAAhASADQQhqEFkaDAMLIAQQWRogBRBZGiADQZgBahBZGiADQYABahBZGiADQegAahBZGiADQdAAahBZGiADQfgBahBZGiADQeABahBZGiADQcgBahBZGiADQbABahBZGiADQZACaiQADwsQACEBDAILQdSJC0EANgIAQQ1BmbEFQeaaA0GYAkGirgUQBUHUiQsoAgAhCUHUiQtBADYCACAJQQFHBEAACxAAIQELIAIQWRogA0EgahBZGiADQZgBahBZGiADQYABahBZGiADQegAahBZGiADQdAAahBZGgsgA0H4AWoQWRogA0HgAWoQWRogA0HIAWoQWRogA0GwAWoQWRogARAHAAuZBQEHfyMAQZACayIDJAAgA0GwAWogARDMAkHUiQtBADYCAEHQBSADQdAAaiACEANB1IkLKAIAIQFB1IkLQQA2AgACQAJAAkAgAUEBRwRAIANBADYCMCADQgA3AyggA0FAa0IANwMAIANBADYCSCADQgA3AyAgA0IANwM4IANBOGohAiADKALwAUECRw0BIAMoApABQQJHDQEgA0EDNgIYIAMgAzQCgAEgAzQC4AF+NwMIIANBIGoQWSEBQdSJC0EANgIAQcAAIAEgA0EIaiIBEAIhBUHUiQsoAgAhBEHUiQtBADYCAAJAAkAgBEEBRg0AIAEQWSEBIAMoAogCQQJHDQMgAygCqAFBAkcNAyABIAM0ApgBIAM0AvgBfjcDACADQQM2AhggAhBZIQRB1IkLQQA2AgBBwAAgBCABEAIhBEHUiQsoAgAhB0HUiQtBADYCACAHQQFGDQAgARBZGkHUiQtBADYCAEHHBSAAIAUQAhpB1IkLKAIAIQhB1IkLQQA2AgAgCEEBRw0BEAAhAQwECxAAIQEgA0EIahBZGgwDCyAEEFkaIAUQWRogA0GY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ahBZGgsgBhBZGiACEFkaCyAHEFkaIAgQWRogARAHAAsgBhBZGiACEFkaIAQQWRogBRBZGiADQYABaiQAC78HAhF/An4jAEGAAWsiAyQAAkACQAJAAkACQAJAIAEoAhBBBkYEQCABKQMIIRQgASkDACEVIANBADYCSCADQUBrQgA3AwAgA0IANwNYIANBADYCYCADQgA3AzggA0IANwNQIANBAzYCGCADIBU3AwggA0E4ahBZIQFB1IkLQQA2AgBBwAAgASADQQhqIgcQAiEIQdSJCygCACEFQdSJC0EANgIAIANB0ABqIQYCQCAFQQFHBEAgBxBZIgUgFDcDACADQQM2AhggBhBZIQdB1IkLQQA2AgBBwAAgByAFEAIhB0HUiQsoAgAhCkHUiQtBADYCACAKQQFHDQELEAAhCyADQQhqEFkaIAYQWRogARBZGiALEAcACyAFEFkaAkACQCACKAIQQQZHBEBB1IkLQQA2AgBBDUH9nAVB6aQCQYMNQenUARAFQdSJCygCACEMQdSJC0EANgIAIAxBAUYNAQALIAIpAwghFCACKQMAIRUgA0EANgIYIANCADcDECADQgA3AyggA0EANgIwIANCADcDCCADQgA3AyAgA0EDNgJ4IAMgFTcDaCADQQhqEFkhBUHUiQtBADYCAEHAACAFIANB6ABqIgEQAiECQdSJCygCACENQdSJC0EANgIAIANBIGohBCANQQFHBEAgARBZIgEgFDcDACADQQM2AnggBBBZIQZB1IkLQQA2AgBBwAAgBiABEAIhBkHUiQsoAgAhDkHUiQtBADYCACAOQQFHDQILEAAhASADQegAahBZGiAEEFkaIAUQWRoMBwsQACEBDAYLIAEQWRpB1IkLQQA2AgBBlgQgA0HoAGogCCACEAhB1IkLKAIAIQ9B1IkLQQA2AgAgD0EBRw0BDAILQf2cBUHppAJBgw1B6dQBEAEACyAIEFkhAUHUiQtBADYCAEHAACABIANB6ABqIgEQAiEFQdSJCygCACEQQdSJC0EANgIAIBBBAUYNASABEFkhAUHUiQtBADYCAEGWBCABIAcgBhAIQdSJCygCACERQdSJC0EANgIAIBFBAUYNACAHEFkhBEHUiQtBADYCAEHAACAEIAEQAiEEQdSJCygCACESQdSJC0EANgIAIBJBAUYNASABEFkaQdSJC0EA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EFkaIANB+AFqEFkaIANB4AFqEFkaIANByAFqEFkaIANBsAFqEFkaIANBmAFqEFkaIANBgAFqEFkaIANB6ANqEFkaIANB0ANqEFkaIANBuANqEFkaIANBoANqEFkaIANBiANqEFkaIANB8AJqEFkaIANB2AJqEFkaIANBwAJqEFkaIANBgARqJAAPCxAAIQEMAgtB1IkLQQA2AgBBDUGZsQVB5poDQZgCQaKuBRAFQdSJCygCACEPQdSJC0EANgIAIA9BAUcEQAALEAAhAQsgAhBZGiAHEFkaIAgQWRogA0EgahBZGiADQYABahDwAQsgA0HAAmoQ8AEgARAHAAvJBwENfyMAQYAEayIDJAAgA0HAAmogARCJA0HUiQtBADYCAEHOBSADQYABaiACEANB1IkLKAIAIQFB1IkLQQA2AgACQAJAAkAgAUEBRwRAIANBADYCMCADQgA3AyggA0FAa0IANwMAIANBADYCSCADQgA3A1ggA0EANgJgIANCADcDcCADQQA2AnggA0IANwMgIANCADcDOCADQgA3A1AgA0IANwNoIANB6ABqIQIgA0HQAGohByADQThqIQggAygC0AJBAkcNASADKAKQAUECRw0BIANBAjYCGCADIAMvAYABIAMvAcACbDYCCCADQSBqEFkhAUHUiQtBADYCAEHAACABIANBCGoiARACIQlB1IkLKAIAIQRB1IkLQQA2AgACQAJAIARBAUYNACABEFkhASADKALoAkECRw0DIAMoAqgBQQJHDQMgASADLwGYASADLwHYAmw2AgAgA0ECNgIYIAgQWSEEQdSJC0EANgIAQcAAIAQgARACIQRB1IkLKAIAIQtB1IkLQQA2AgAgC0EBRg0AIAEQWSEBIAMoAoADQQJHDQMgAygCwAFBAkcNAyABIAMvAbABIAMvAfACbDYCACADQQI2AhggBxBZIQVB1IkLQQA2AgBBwAAgBSABEAIhBUHUiQsoAgAhDEHUiQtBADYCACAMQQFGDQAgARBZIQEgAygCmANBAkcNAyADKALYAUECRw0DIAEgAy8ByAEgAy8BiANsNgIAIANBAjYCGCACEFkhBkHUiQtBADYCAEHAACAGIAEQAiEGQdSJCygCACENQdSJC0EANgIAIA1BAUYNACABEFkaQdSJC0EANgIAQcYFIAAgCRACGkHUiQsoAgAhDkHUiQtBADYCACAOQQFHDQEQACEBDAQLEAAhASADQQhqEFkaDAMLIAYQWRogBRBZGiAEEFkaIAkQWRogA0GoAmoQWRogA0GQAmoQWRogA0H4AWoQWRogA0HgAWoQWRogA0HIAWoQWRogA0GwAWoQWRogA0GYAWoQWRogA0GAAWoQWRogA0HoA2oQWRogA0HQA2oQWRogA0G4A2oQWRogA0GgA2oQWRogA0GIA2oQWRogA0HwAmoQWRogA0HYAmoQWRogA0HAAmoQWRogA0GABGokAA8LEAAhAQwCC0HUiQtBADYCAEENQZmxBUHmmgNBmAJBoq4FEAVB1IkLKAIAIQ9B1IkLQQA2AgAgD0EBRwRAAAsQACEBCyACEFkaIAcQWRogCBBZGiADQSBqEFkaIANBgAFqEPABCyADQcACahDwASABEAcAC8kHAQ1/IwBBgARrIgMkACADQcACaiABEJwDQdSJC0EANgIAQc8FIANBgAFqIAIQA0HUiQsoAgAhAUHUiQtBADYCAAJAAkACQCABQQFHBEAgA0EANgIwIANCADcDKCADQUBrQgA3AwAgA0EANgJIIANCADcDWCADQQA2AmAgA0IANwNwIANBADYCeCADQgA3AyAgA0IANwM4IANCADcDUCADQgA3A2ggA0HoAGohAiADQdAAaiEHIANBOGohCCADKAKwA0ECRw0BIAMoAvABQQJHDQEgA0ECNgIYIAMgAy4B4AEgAy4BoANsNgIIIANBIGoQWSEBQdSJC0EANgIAQcAAIAEgA0EIaiIBEAIhCUHUiQsoAgAhBEHUiQtBADYCAAJAAkAgBEEBRg0AIAEQWSEBIAMoAsgDQQJHDQMgAygCiAJBAkcNAyABIAMuAfgBIAMuAbgDbDYCACADQQI2AhggCBBZIQRB1IkLQQA2AgBBwAAgBCABEAIhBEHUiQsoAgAhC0HUiQtBADYCACALQQFGDQAgARBZIQEgAygC4ANBAkcNAyADKAKgAkECRw0DIAEgAy4BkAIgAy4B0ANsNgIAIANBAjYCGCAHEFkhBUHUiQtBADYCAEHAACAFIAEQAiEFQdSJCygCACEMQdSJC0EANgIAIAxBAUYNACABEFkhASADKAL4A0ECRw0DIAMoArgCQQJHDQMgASADLgGoAiADLgHoA2w2AgAgA0ECNgIYIAIQWSEGQdSJC0EANgIAQcAAIAYgARACIQZB1IkLKAIAIQ1B1IkLQQA2AgAgDUEBRg0AIAEQWRpB1IkLQQA2AgBBxgUgACAJEAIaQdSJCygCACEOQdSJC0EANgIAIA5BAUcNARAAIQEMBAsQACEBIANBCGoQWRoMAwsgBhBZGiAFEFkaIAQQWRogCRBZGiADQagCahBZGiADQZACahBZGiADQfgBahBZGiADQeABahBZGiADQcgBahBZGiADQbABahBZGiADQZgBahBZGiADQYABahBZGiADQegDahBZGiADQdADahBZGiADQbgDahBZGiADQaADahBZGiADQYgDahBZGiADQfACahBZGiADQdgCahBZGiADQcACahBZGiADQYAEaiQADwsQACEBDAILQdSJC0EANgIAQQ1BmbEFQeaaA0GYAkGirgUQBUHUiQsoAgAhD0HUiQtBADYCACAPQQFHBEAACxAAIQELIAIQWRogBxBZGiAIEFkaIANBIGoQWRogA0GAAWoQ8AELIANBwAJqEPABIAEQBwALyQcBDX8jAEGABGsiAyQAIANBwAJqIAEQnANB1IkLQQA2AgBBzwUgA0GAAWogAhADQdSJCygCACEBQdSJC0EANgIAAkACQAJAIAFBAUcEQCADQQA2AjAgA0IANwMoIANBQGtCADcDACADQQA2AkggA0IANwNYIANBADYCYCADQgA3A3AgA0EANgJ4IANCADcDICADQgA3AzggA0IANwNQIANCADcDaCADQegAaiECIANB0ABqIQcgA0E4aiEIIAMoAtACQQJHDQEgAygCkAFBAkcNASADQQI2AhggAyADLgGAASADLgHAAmw2AgggA0EgahBZIQFB1IkLQQA2AgBBwAAgASADQQhqIgEQAiEJQdSJCygCACEEQdSJC0EANgIAAkACQCAEQQFGDQAgARBZIQEgAygC6AJBAkcNAyADKAKoAUECRw0DIAEgAy4BmAEgAy4B2AJsNgIAIANBAjYCGCAIEFkhBEHUiQtBADYCAEHAACAEIAEQAiEEQdSJCygCACELQdSJC0EANgIAIAtBAUYNACABEFkhASADKAKAA0ECRw0DIAMoAsABQQJHDQMgASADLgGwASADLgHwAmw2AgAgA0ECNgIYIAcQWSEFQdSJC0EANgIAQcAAIAUgARACIQVB1IkLKAIAIQxB1IkLQQA2AgAgDEEB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IAEQAiEEQdSJCygCACEMQdSJC0EANgIAIAxBAUYNACABEFkhASADKALgBkECRw0DIAMoAuADQQJHDQMgASADLQDQAyADLQDQBmw2AgAgA0ECNgIYIANB0ABqEFkhBUHUiQtBADYCAEHAACAFIAEQAiEFQdSJCygCACENQdSJC0EANgIAIA1BAUYNACABEFkhASADKAL4BkECRw0DIAMoAvgDQQJHDQMgASADLQDoAyADLQDoBmw2AgAgA0ECNgIYIANB6ABqEFkhBkHUiQtBADYCAEHAACAGIAEQAiEGQdSJCygCACEOQdSJC0EANgIAIA5BAUYNACABEFkhASADKAKQB0ECRw0DIAMoApAEQQJHDQMgASADLQCABCADLQCAB2w2AgAgA0ECNgIYIANBgAFqEFkhB0HUiQtBADYCAEHAACAHIAEQAiEHQdSJCygCACEPQdSJC0EANgIAIA9BAUYNACABEFkhASADKAKoB0ECRw0DIAMoAqgEQQJHDQMgASADLQCYBCADLQCYB2w2AgAgA0ECNgIYIANBmAFqEFkhCEHUiQtBADYCAEHAACAIIAEQAiEIQdSJCygCACEQQdSJC0EANgIAIBBBAUYNACABEFkhASADKALAB0ECRw0DIAMoAsAEQQJHDQMgASADLQCwBCADLQCwB2w2AgAgA0ECNgIYIANBsAFqEFkhCUHUiQtBADYCAEHAACAJIAEQAiEJQdSJCygCACERQdSJC0EANgIAIBFBAUYNACABEFkhASADKALYB0ECRw0DIAMoAtgEQQJHDQMgASADLQDIBCADLQDIB2w2AgAgA0ECNgIYIANByAFqEFkhCkHUiQtBADYCAEHAACAKIAEQAiEKQdSJCygCACESQdSJC0EANgIAIBJBAUYNACABEFkaQdSJC0EANgIAQcUFIAAgAhACGkHUiQsoAgAhE0HUiQtBADYCACATQQFHDQEQACEBDAQLEAAhASADQQhqEFkaDAMLIAoQWRogCRBZGiAIEFkaIAcQWRogBhBZGiAFEFkaIAQQWRogAhBZGiADQcgEahBZGiADQbAEahBZGiADQZgEahBZGiADQYAEahBZGiADQegDahBZGiADQdADahBZGiADQbgDahBZGiADQaADahBZGiADQYgDahBZGiADQfACahBZGiADQdgCahBZGiADQcACahBZGiADQagCahBZGiADQZACahBZGiADQfgBahBZGiADQeABahBZGiADQcgHahBZGiADQbAHahBZGiADQZgHahBZGiADQYAHahBZGiADQegGahBZGiADQdAGahBZGiADQbgGahBZGiADQaAGahBZGiADQYgGahBZGiADQfAFahBZGiADQdgFahBZGiADQcAFahBZGiADQagFahBZGiADQZAFahBZGiADQfgEahBZGiADQeAEahBZGiADQeAHaiQADwsQACEBDAILQdSJC0EANgIAQQ1BmbEFQeaaA0GYAkGirgUQBUHUiQsoAgAhFEHUiQtBADYCACAUQQFHBEAACxAAIQELIANBIGoQ8AEgA0HgAWoQpwILIANB4ARqEKcCIAEQBwAL4gwBEn8jAEHgB2siAyQAIANB4ARqIAEQgwNB1IkLQQA2AgBBzAUgA0HgAWogAhADQdSJCygCACEBQdSJC0EANgIAAkACQAJAIAFBAUcEQCADQQA2AjAgA0IANwMoIANBQGtCADcDACADQQA2AkggA0IANwNYIANBADYCYCADQgA3A3AgA0EANgJ4IANCADcDiAEgA0EANgKQASADQgA3A6ABIANBADYCqAEgA0IANwMgIANCADcDOCADQgA3A1AgA0IANwNoIANCADcDgAEgA0IANwOYASADQQA2AsABIANCADcDuAEgA0IANwPQASADQQA2AtgBIANCADcDsAEgA0IANwPIASADKALwBEECRw0BIAMoAvABQQJHDQEgA0ECNgIYIAMgAy0A4AEgAy0A4ARsNgIIIANBIGoQWSEBQdSJC0EANgIAQcAAIAEgA0EIaiIBEAIhAkHUiQsoAgAhBEHUiQtBADYCAAJAAkAgBEEBRg0AIAEQWSEBIAMoAogFQQJHDQMgAygCiAJBAkcNAyABIAMtAPgBIAMtAPgEbDYCACADQQI2AhggA0E4ahBZIQRB1IkLQQA2AgBBwAAgBCABEAIhBEHUiQsoAgAhDEHUiQtBADYCACAMQQFGDQAgARBZIQEgAygCoAVBAkcNAyADKAKgAkECRw0DIAEgAy0AkAIgAy0AkAVsNgIAIANBAjYCGCADQdAAahBZIQVB1IkLQQA2AgBBwAAgBSABEAIhBUHUiQsoAgAhDUHUiQtBADYCACANQQFGDQAgARBZIQEgAygCuAVBAkcNAyADKAK4AkECRw0DIAEgAy0AqAIgAy0AqAVsNgIAIANBAjYCGCADQegAahBZIQZB1IkLQQA2AgBBwAAgBiABEAIhBkHUiQsoAgAhDkHUiQtBADYCACAOQQFGDQAgARBZIQEgAygC0AVBAkcNAyADKALQAkECRw0DIAEgAy0AwAIgAy0AwAVsNgIAIANBAjYCGCADQYABahBZIQdB1IkLQQA2AgBBwAAgByABEAIhB0HUiQsoAgAhD0HUiQtBADYCACAPQQFGDQAgARBZIQEgAygC6AVBAkcNAyADKALoAkECRw0DIAEgAy0A2AIgAy0A2AVsNgIAIANBAjYCGCADQZgBahBZIQhB1IkLQQA2AgBBwAAgCCABEAIhCEHUiQsoAgAhEEHUiQtBADYCACAQQQFGDQAgARBZIQEgAygCgAZBAkcNAyADKAKAA0ECRw0DIAEgAy0A8AIgAy0A8AVsNgIAIANBAjYCGCADQbABahBZIQlB1IkLQQA2AgBBwAAgCSABEAIhCUHUiQsoAgAhEUHUiQtBADYCACARQQFGDQAgARBZIQEgAygCmAZBAkcNAyADKAKYA0ECRw0DIAEgAy0AiAMgAy0AiAZsNgIAIANBAjYCGCADQcgBahBZIQpB1IkLQQA2AgBBwAAgCiABEAIhCkHUiQsoAgAhEkHUiQtBADYCACASQQFGDQAgARBZGkHUiQtBADYCAEHFBSAAIAIQAhpB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRw0BEAAhAQwECxAAIQEgA0EIahBZGgwDCyAKEFkaIAkQWRogCBBZGiAHEFkaIAYQWRogBRBZGiAEEFkaIAIQWRogA0HIBGoQWRogA0GwBGoQWRogA0GYBGoQWRogA0GABGoQWRogA0HoA2oQWRogA0HQA2oQWRogA0G4A2oQWRogA0GgA2oQWRogA0GIA2oQWRogA0HwAmoQWRogA0HYAmoQWRogA0HAAmoQWRogA0GoAmoQWRogA0GQAmoQWRogA0H4AWoQWRogA0HgAWoQWRogA0HIB2oQWRogA0GwB2oQWRogA0GYB2oQWRogA0GAB2oQWRogA0HoBmoQWRogA0HQBmoQWRogA0G4BmoQWRogA0GgBmoQWRogA0GIBmoQWRogA0HwBWoQWRogA0HYBWoQWRogA0HABWoQWRogA0GoBWoQWRogA0GQBWoQWRogA0H4BGoQWRogA0HgBGoQWRogA0HgB2okAA8LEAAhAQwCC0HUiQtBADYCAEENQZmxBUHmmgNBmAJBoq4FEAVB1IkLKAIAIRRB1IkLQQA2AgAgFEEBRwRAAAsQACEBCyADQSBqEPABIANB4AFqEKcCCyADQeAEahCnAiABEAcAC+IMARJ/IwBB4AdrIgMkACADQeAEaiABEK8DQdSJC0EANgIAQc0FIANB4AFqIAIQA0HUiQsoAgAhAUHUiQtBADYCAAJAAkACQCABQQFHBEAgA0EANgIwIANCADcDKCADQUBrQgA3AwAgA0EANgJIIANCADcDWCADQQA2AmAgA0IANwNwIANBADYCeCADQgA3A4gBIANBADYCkAEgA0IANwOgASADQQA2AqgBIANCADcDICADQgA3AzggA0IANwNQIANCADcDaCADQgA3A4ABIANCADcDmAEgA0EANgLAASADQgA3A7gBIANCADcD0AEgA0EANgLYASADQgA3A7ABIANCADcDyAEgAygCsAZBAkcNASADKAKwA0ECRw0BIANBAjYCGCADIAMsAKADIAMsAKAGbDYCCCADQSBqEFkhAUHUiQtBADYCAEHAACABIANBCGoiARACIQJB1IkLKAIAIQRB1IkLQQA2AgACQAJAIARBAUYNACABEFkhASADKALIBkECRw0DIAMoAsgDQQJHDQMgASADLAC4AyADLAC4Bmw2AgAgA0ECNgIYIANBOGoQWSEEQdSJC0EANgIAQcAAIAQgARACIQRB1IkLKAIAIQxB1IkLQQA2AgAgDEEBRg0AIAEQWSEBIAMoAuAGQQJHDQMgAygC4ANBAkcNAyABIAMsANADIAMsANAGbDYCACADQQI2AhggA0HQAGoQWSEFQdSJC0EANgIAQcAAIAUgARACIQVB1IkLKAIAIQ1B1IkLQQA2AgAgDUEBRg0AIAEQWSEBIAMoAvgGQQJHDQMgAygC+ANBAkcNAyABIAMsAOgDIAMsAOgGbDYCACADQQI2AhggA0HoAGoQWSEGQdSJC0EANgIAQcAAIAYgARACIQZB1IkLKAIAIQ5B1IkLQQA2AgAgDkEBRg0AIAEQWSEBIAMoApAHQQJHDQMgAygCkARBAkcNAyABIAMsAIAEIAMsAIAHbDYCACADQQI2AhggA0GAAWoQWSEHQdSJC0EANgIAQcAAIAcgARACIQdB1IkLKAIAIQ9B1IkLQQA2AgAgD0EBRg0AIAEQWSEBIAMoAqgHQQJHDQMgAygCqARBAkcNAyABIAMsAJgEIAMsAJgHbDYCACADQQI2AhggA0GYAWoQWSEIQdSJC0EANgIAQcAAIAggARACIQhB1IkLKAIAIRBB1IkLQQA2AgAgEEEBRg0AIAEQWSEBIAMoAsAHQQJHDQMgAygCwARBAkcNAyABIAMsALAEIAMsALAHbDYCACADQQI2AhggA0GwAWoQWSEJQdSJC0EANgIAQcAAIAkgARACIQlB1IkLKAIAIRFB1IkLQQA2AgAgEUEBRg0AIAEQWSEBIAMoAtgHQQJHDQMgAygC2ARBAkcNAyABIAMsAMgEIAMsAMgHbDYCACADQQI2AhggA0HIAWoQWSEKQdSJC0EANgIAQcAAIAogARACIQpB1IkLKAIAIRJB1IkLQQA2AgAgEkEBRg0AIAEQWRpB1IkLQQA2AgBBxQUgACACEAIaQdSJCygCACETQdSJC0EANgIAIBNBAUcNARAAIQEMBAsQACEBIANBCGoQWRoMAwsgChBZGiAJEFkaIAgQWRogBxBZGiAGEFkaIAUQWRogBBBZGiACEFkaIANByARqEFkaIANBsARqEFkaIANBmARqEFkaIANBgARqEFkaIANB6ANqEFkaIANB0ANqEFkaIANBuANqEFkaIANBoANqEFkaIANBiANqEFkaIANB8AJqEFkaIANB2AJqEFkaIANBwAJqEFkaIANBqAJqEFkaIANBkAJqEFkaIANB+AFqEFkaIANB4AFqEFkaIANByAdqEFkaIANBsAdqEFkaIANBmAdqEFkaIANBgAdqEFkaIANB6AZqEFkaIANB0AZqEFkaIANBuAZqEFkaIANBoAZqEFkaIANBiAZqEFkaIANB8AVqEFkaIANB2AVqEFkaIANBwAVqEFkaIANBqAVqEFkaIANBkAVqEFkaIANB+ARqEFkaIANB4ARqEFkaIANB4AdqJAAPCxAAIQEMAgtB1IkLQQA2AgBBDUGZsQVB5poDQZgCQaKuBRAFQdSJCygCACEUQdSJC0EANgIAIBRBAUcEQAALEAAhAQsgA0EgahDwASADQeABahCnAgsgA0HgBGoQpwIgARAHAAviDAESfyMAQeAHayIDJAAgA0HgBGogARCvA0HUiQtBADYCAEHNBSADQeABaiACEANB1IkLKAIAIQFB1IkLQQA2AgACQAJAAkAgAUEBRwRAIANBADYCMCADQgA3AyggA0FAa0IANwMAIANBADYCSCADQgA3A1ggA0EANgJgIANCADcDcCADQQA2AnggA0IANwOIASADQQA2ApABIANCADcDoAEgA0EANgKoASADQgA3AyAgA0IANwM4IANCADcDUCADQgA3A2ggA0IANwOAASADQgA3A5gBIANBADYCwAEgA0IANwO4ASADQgA3A9ABIANBADYC2AEgA0IANwOwASADQgA3A8gBIAMoAvAEQQJHDQEgAygC8AFBAkcNASADQQI2AhggAyADLADgASADLADgBGw2AgggA0EgahBZIQFB1IkLQQA2AgBBwAAgASADQQhqIgEQAiECQdSJCygCACEEQdSJC0EANgIAAkACQCAEQQFGDQAgARBZIQEgAygCiAVBAkcNAyADKAKIAkECRw0DIAEgAywA+AEgAywA+ARsNgIAIANBAjYCGCADQThqEFkhBEHUiQtBADYCAEHAACAEIAEQAiEEQdSJCygCACEMQdSJC0EANgIAIAxBAUYNACABEFkhASADKAKgBUECRw0DIAMoAqACQQJHDQMgASADLACQAiADLACQBWw2AgAgA0ECNgIYIANB0ABqEFkhBUHUiQtBADYCAEHAACAFIAEQAiEFQdSJCygCACENQdSJC0EANgIAIA1BAUYNACABEFkhASADKAK4BUECRw0DIAMoArgCQQJHDQMgASADLACoAiADLACoBWw2AgAgA0ECNgIYIANB6ABqEFkhBkHUiQtBADYCAEHAACAGIAEQAiEGQdSJCygCACEOQdSJC0EANgIAIA5BAUYNACABEFkhASADKALQBUECRw0DIAMoAtACQQJHDQMgASADLADAAiADLADABWw2AgAgA0ECNgIYIANBgAFqEFkhB0HUiQtBADYCAEHAACAHIAEQAiEHQdSJCygCACEPQdSJC0EANgIAIA9BAUYNACABEFkhASADKALoBUECRw0DIAMoAugCQQJHDQMgASADLADYAiADLADYBWw2AgAgA0ECNgIYIANBmAFqEFkhCEHUiQtBADYCAEHAACAIIAEQAiEIQdSJCygCACEQQdSJC0EANgIAIBBBAUYNACABEFkhASADKAKABkECRw0DIAMoAoADQQJHDQMgASADLADwAiADLADwBWw2AgAgA0ECNgIYIANBsAFqEFkhCUHUiQtBADYCAEHAACAJIAEQAiEJQdSJCygCACERQdSJC0EANgIAIBFBAUYNACABEFkhASADKAKYBkECRw0DIAMoApgDQQJHDQMgASADLACIAyADLACIBmw2AgAgA0ECNgIYIANByAFqEFkhCkHUiQtBADYCAEHAACAKIAEQAiEKQdSJCygCACESQdSJC0EANgIAIBJBAUYNACABEFkaQdSJC0EANgIAQcUFIAAgAhACGkHUiQsoAgAhE0HUiQtBADYCACATQQFHDQEQACEBDAQLEAAhASADQQhqEFkaDAMLIAoQWRogCRBZGiAIEFkaIAcQWRogBhBZGiAFEFkaIAQQWRogAhBZGiADQcgEahBZGiADQbAEahBZGiADQZgEahBZGiADQYAEahBZGiADQegDahBZGiADQdADahBZGiADQbgDahBZGiADQaADahBZGiADQYgDahBZGiADQfACahBZGiADQdgCahBZGiADQcACahBZGiADQagCahBZGiADQZACahBZGiADQfgBahBZGiADQeABahBZGiADQcgHahBZGiADQbAHahBZGiADQZgHahBZGiADQYAHahBZGiADQegGahBZGiADQdAGahBZGiADQbgGahBZGiADQaAGahBZGiADQYgGahBZGiADQfAFahBZGiADQdgFahBZGiADQcAFahBZGiADQagFahBZGiADQZAFahBZGiADQfgEahBZGiADQeAEahBZGiADQeAHaiQADwsQACEBDAILQdSJC0EANgIAQQ1BmbEFQeaaA0GYAkGirgUQBUHUiQsoAgAhFEHUiQtBADYCACAUQQFHBEAACxAAIQELIANBIGoQ8AEgA0HgAWoQpwILIANB4ARqEKcCIAEQBwAL5QsCEn8BfiMAQaADayIDJAAgA0HgAWoiBCABEJwDQdSJC0EANgIAQc8FIANBIGogAhADQdSJCygCACEBQdSJC0EANgIAAkACQAJAIAFBAUcEQCADKALwAUECRw0BIAMoAjBBAkcNASADQQI2AhggA0L//wFCgIB+IAM0AiAgAzQC4AF+QoCAAXxCD4ciFSAVQoCAflcbIhUgFUL//wFZGz4CCCAEEFkhAUHUiQtBADYCAEHAACABIANBCGoiAhACIQFB1IkLKAIAIQRB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IAYQWRogBRBZGiAEEFkaIAEQWRogA0GgA2okAA8LEAAhAQsgA0HgAWoQ8AEgARAHAAvFBQEGfyMAQaAGayIDJAAgA0GgA2ogARCDA0HUiQtBADYCAEHMBSADQSBqIAIQA0HUiQsoAgAhAUHUiQtBADYCAAJAIAFBAUcEQEEAIQICQAJAAkACQANAAkAgAkEYbCIEIANBoANqaiIBKAIQQQJGBEAgA0EgaiAEaiIEKAIQQQJGDQELQdSJC0EANgIAQQ1BmbEFQeaaA0GYAkGirgUQBUHUiQsoAgAhBkHUiQtBADYCACAGQQFGDQIACyAEKAIAIQQgASgCACEFIANBAjYCGCADIAQgBWpBAWpBAm02AgggA0EIaiIEIAFHBEAgARBZIQFB1IkLQQA2AgBBwAAgASAEEAIaQdSJCygCACEHQdSJC0EANgIAIAdBAUYNAwsgA0EIahBZGiACQQFqIgJBEEcNAAtB1IkLQQA2AgBBxAUgACADQaADahACGkHUiQsoAgAhCEHUiQtBADYCACAIQQFHDQMQACEBDAILEAAhAQwBCxAAIQEgA0EIahBZGgsgA0EgahCnAgwCCyADQYgDahBZGiADQfACahBZGiADQdgCahBZGiADQcACahBZGiADQagCahBZGiADQZACahBZGiADQfgBahBZGiADQeABahBZGiADQcgBahBZGiADQbABahBZGiADQZgBahBZGiADQYABahBZGiADQegAahBZGiADQdAAahBZGiADQThqEFkaIANBIGoQWRogA0GIBmoQWRogA0HwBWoQWRogA0HYBWoQWRogA0HABWoQWRogA0GoBWoQWRogA0GQBWoQWRogA0H4BGoQWRogA0HgBGoQWRogA0HIBGoQWRogA0GwBGoQWRogA0GYBGoQWRogA0GABGoQWRogA0HoA2oQWRogA0HQA2oQWRogA0G4A2oQWRogA0GgA2oQWRogA0GgBmokAA8LEAAhAQsgA0GgA2oQpwIgARAHAAvdBQEIfyMAQaAGayIDJAAgA0GgA2ogARCDA0HUiQtBADYCAEHMBSADQSBqIAIQA0HUiQsoAgAhAUHUiQtBADYCAAJAAkACQCABQQFHBEACQAJAAkADQCAFQRhsIgIgA0GgA2pqIgEoAhBBAkcNBSADQSBqIAJqIgIoAhBBAkcNBSACKAIAIQQgASgC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AkADQAJAIAJBGGwiASADQaADamoiBCgCEEECRgRAIANBIGogAWoiASgCEEECRg0BC0HUiQtBADYCAEENQZmxBUHmmgNBmAJBoq4FEAVB1IkLKAIAIQdB1IkLQQA2AgAgB0EBRg0CAAsgAS0AACEFIAQsAAAhASADQQI2AhggAyABQQd2Qf8AcyABIAVrIgYgASAGcyABIAVzccBBAEgbwDYCCCADQQhqIgEgBEcEQCAEEFkhBEHUiQtBADYCAEHAACAEIAEQAhpB1IkLKAIAIQhB1IkLQQA2AgAgCEEBRg0DCyADQQhqEFkaIAJBAWoiAkEQRw0AC0HUiQtBADYCAEHEBSAAIANBoANqEAIaQdSJCygCACEJQdSJC0EANgIAIAlBAUcNAxAAIQEMAgsQACEBDAELEAAhASADQQhqEFkaCyADQSBqEKcCDAILIANBiANqEFkaIANB8AJqEFkaIANB2AJqEFkaIANBwAJqEFkaIANBqAJqEFkaIANBkAJqEFkaIANB+AFqEFkaIANB4AFqEFkaIANByAFqEFkaIANBsAFqEFkaIANBmAFqEFkaIANBgAFqEFkaIANB6ABqEFkaIANB0ABqEFkaIANBOGoQWRogA0EgahBZGiADQYgGahBZGiADQfAFahBZGiADQdgFahBZGiADQcAFahBZGiADQagFahBZGiADQZAFahBZGiADQfgEahBZGiADQeAEahBZGiADQcgEahBZGiADQbAEahBZGiADQZgEahBZGiADQYAEahBZGiADQegDahBZGiADQdADahBZGiADQbgDahBZGiADQaADahBZGiADQaAGaiQADwsQACEBCyADQaADahCnAiABEAcAC/wQAUB/IwBBoAZrIgMkACADQaADaiIEIAEQgwNB1IkLQQA2AgBBzAUgA0EgaiIBIAIQA0HUiQsoAgAhAkHUiQtBADYCAAJAIAJBAUcEQEHUiQtBADYCAEGWBCADQQhqIgIgBCABEAhB1IkLKAIAIQFB1IkLQQA2AgACQAJAAkACQCABQQFGDQAgBBBZIQFB1IkLQQA2AgBBwAAgASACEAIhAUHUiQsoAgAhI0HUiQtBADYCACAjQQFGDQEgAhBZIQJB1IkLQQA2AgBBlgQgAiABQRhqIgQgA0E4aiIUEAhB1IkLKAIAISRB1IkLQQA2AgAgJEEBRg0AIAQQ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IBQQWRogA0EgahBZGiASEFkaIBEQWRogEBBZGiAPEFkaIA4QWRogDRBZGiAMEFkaIAsQWRogChBZGiAJEFkaIAgQWRogBxBZGiAGEFkaIAUQWRogBBBZGiABEFkaIANBoAZqJAAPCxAAIQELIANBoANqEKcCIAEQBwALTgACQCAAKAIAQcYARgRAIAAoAgwgAU0NASAAKAIIIAFBAnRqKAIADwtBurMGQae3AkHNIUHEkgEQAQALQcKHBkGntwJBziFBxJIBEAEAC8sFAQZ/IwBBoAZrIgMkACADQaADaiABEK8DQdSJC0EANgIAQc0FIANBIGogAhADQdSJCygCACEBQdSJC0EANgIAAkAgAUEBRwRAQQAhAgJAAkACQAJAA0ACQCACQRhsIgQgA0GgA2pqIgEoAhBBAkYEQCADQSBqIARqIgQoAhBBAkYNAQtB1IkLQQA2AgBBDUGZsQVB5poDQZgCQaKuBRAFQdSJCygCACEGQdSJC0EANgIAIAZBAUYNAgALIAQtAAAhBCABLQAAIQUgA0ECNgIYIANB/wEgBCAFaiIEIARB/wFPGzYCCCADQQhqIgQgAUcEQCABEFkhAUHUiQtBADYCAEHAACABIAQQAhpB1IkLKAIAIQdB1IkLQQA2AgAgB0EBRg0DCyADQQhqEFkaIAJBAWoiAkEQRw0AC0HUiQtBADYCAEHEBSAAIANBoANqEAIaQdSJCygCACEIQdSJC0EANgIAIAhBAUcNAxAAIQEMAgsQACEBDAELEAAhASADQQhqEFkaCyADQSBqEKcCDAILIANBiANqEFkaIANB8AJqEFkaIANB2AJqEFkaIANBwAJqEFkaIANBqAJqEFkaIANBkAJqEFkaIANB+AFqEFkaIANB4AFqEFkaIANByAFqEFkaIANBsAFqEFkaIANBmAFqEFkaIANBgAFqEFkaIANB6ABqEFkaIANB0ABqEFkaIANBOGoQWRogA0EgahBZGiADQYgGahBZGiADQfAFahBZGiADQdgFahBZGiADQcAFahBZGiADQagFahBZGiADQZAFahBZGiADQfgEahBZGiADQeAEahBZGiADQcgEahBZGiADQbAEahBZGiADQZgEahBZGiADQYAEahBZGiADQegDahBZGiADQdADahBZGiADQbgDahBZGiADQaADahBZGiADQaAGaiQADwsQACEBCyADQaADahCnAiABEAcAC9sFAQd/IwBBoAZrIgMkACADQaADaiABEIMDQdSJC0EANgIAQcwFIANBIGogAhADQdSJCygCACEBQdSJC0EANgIAAkAgAUEBRwRAQQAhAQJAAkACQAJAA0ACQCABQRhsIgQgA0GgA2pqIgIoAhBBAkYEQCADQSBqIARqIgQoAhBBAkYNAQtB1IkLQQA2AgBBDUGZsQVB5poDQZgCQaKuBRAFQdSJCygCACEHQdSJC0EANgIAIAdBAUYNAgALIAQtAAAhBSACLAAAIQQgA0ECNgIYIAMgBEEHdkH/AHMgBCAFaiIGIAQgBnMgBSAGc3HAQQBIG8A2AgggA0EIaiIEIAJHBEAgAhBZIQJB1IkLQQA2AgBBwAAgAiAEEAIaQdSJCygCACEIQdSJC0EANgIAIAhBAUYNAwsgA0EIahBZGiABQQFqIgFBEEcNAAtB1IkLQQA2AgBBxAUgACADQaADahACGkHUiQsoAgAhCUHUiQtBADYCACAJQQFHDQMQACEBDAILEAAhAQwBCxAAIQEgA0EIahBZGgsgA0EgahCnAgwCCyADQYgDahBZGiADQfACahBZGiADQdgCahBZGiADQcACahBZGiADQagCahBZGiADQZACahBZGiADQfgBahBZGiADQeABahBZGiADQcgBahBZGiADQbABahBZGiADQZgBahBZGiADQYABahBZGiADQegAahBZGiADQdAAahBZGiADQThqEFkaIANBIGoQWRogA0GIBmoQWRogA0HwBWoQWRogA0HYBWoQWRogA0HABWoQWRogA0GoBWoQWRogA0GQBWoQWRogA0H4BGoQWRogA0HgBGoQWRogA0HIBGoQWRogA0GwBGoQWRogA0GYBGoQWRogA0GABGoQWRogA0HoA2oQWRogA0HQA2oQWRogA0G4A2oQWRogA0GgA2oQWRogA0GgBmokAA8LEAAhAQsgA0GgA2oQpwIgARAHAAv8EAFAfyMAQaAGayIDJAAgA0GgA2oiBCABEIMDQdSJC0EANgIAQcwFIANBIGoiASACEANB1IkLKAIAIQJB1IkLQQA2AgACQCACQQFHBEBB1IkLQQA2AgBBlQQgA0EIaiICIAQgARAIQdSJCygCACEBQdSJC0EANgIAAkACQAJAAkAgAUEBRg0AIAQQWSEBQdSJC0EA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A0EgahBZGgwFCyAFEFkaIAkQWRogBxBZGiACEFkaIANBsAFqJAAPC0H9nAVB6aQCQYMNQenUARABAAtB1IkLQQA2AgBBFEHvhARB6aQCQbwLEAgMAQtB1IkLQQA2AgBBDUHhzQZBn58DQcMBQfPnBBAFC0HUiQsoAgAhFUHUiQtBADYCACAVQQFHDQIQACECCyAFEFkaIAkQWRoLIAgQWRogARBZGiACEAcACwALogoCE38CfiMAQbABayIDJAACQAJAAkACQAJAAkAgASgCEEEGRgRAIAEpAwghFiABKQMAIRcgA0EANgJ4IANCADcDcCADQgA3A4gBIANBADYCkAEgA0IANwNoIANCADcDgAEgA0EDNgJIIAMgFzcDOCADQegAahBZIQlB1IkLQQA2AgBBwAAgCSADQThqIggQAiEBQdSJCygCACEEQdSJC0EANgIAIANBgAFqIQUCQCAEQQFHBEAgCBBZIgQgFjcDACADQQM2AkggBRBZIQhB1IkLQQA2AgBBwAAgCCAEEAIhCEHUiQsoAgAhDEHUiQtBADYCACAMQQFHDQELEAAhDSADQThqEFkaIAUQWRogCRBZGiANEAcACyAEEFkaAkACQCACKAIQQQZHBEBB1IkLQQA2AgBBDUH9nAVB6aQCQYMNQenUARAFQdSJCygCACEOQdSJC0EANgIAIA5BAUYNAQwJCyACKQMIIRYgAikDACEXIANBADYCSCADQUBrQgA3AwAgA0IANwNYIANBADYCYCADQgA3AzggA0IANwNQIANBAzYCqAEgAyAXNwOYASADQThqEFkhBEHUiQtBADYCAEHAACAEIANBmAFqIgIQAiEJQdSJCygCACEPQdSJC0EANgIAIANB0ABqIQYgD0EBRwRAIAIQWSICIBY3AwAgA0EDNgKoASAGEFkhBUHUiQtBADYCAEHAACAFIAIQAiEFQdSJCygCACEQQdSJC0EANgIAIBBBAUcNAgsQACECIANBmAFqEFkaIAYQWRogBBBZGgwHCxAAIQIMBgsgAhBZGiABKAIQIgJBB08NAgJ/AkACQCACQQJrDgIBAAQLIAEpAwAgCSkDAFMMAQsgASgCACAJKAIASAshAiADQQI2AjAgAyACNgIgQdSJC0EANgIAIANBAjYCGCADQQE2AghBrwUgA0EgaiIKIANBCGoiBhACIQJB1IkL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AWoQWRogA0HoAGoQWRogA0HQAGoQWRogBBBZGiAHEFkaIAkQWRogARBZGiADQZACaiQADwsQACEBDAULQdSJC0EANgIAQRRB74QEQemkAkGbCxAIQdSJCygCACETQdSJC0EANgIAIBNBAUcNAQwCC0HUiQtBADYCAEENQeHNBkGfnwNBwwFB8+cEEAVB1IkLKAIAIRRB1IkLQQA2AgAgFEEBRg0BCwALEAAhAQsgA0GYAWoQWRogA0GAAWoQWRogA0HoAGoQWRogA0HQAGoQWRoLIANB+AFqEFkaIANB4AFqEFkaIANByAFqEFkaIANBsAFqEFkaIAEQBwALwgoBEn8jAEGQAmsiAyQAIANBsAFqIAEQzAJB1IkLQQA2AgBB0AUgA0HQAGogAhADQdSJCygCACEBQdSJC0EANgIAAkACQAJAAkACQAJAIAFBAUcEQCADKALAASIBQQdPDQICfwJAAkAgAUECaw4CAQAECyADKQOwASADKQNQVgwBCyADKAKwASADKAJQSwshASADQQI2AjAgAyABNgIgQdSJC0EANgIAIANBAjYCGCADQQE2AghBrwUgA0EgaiIFIANBCGoiBhACIQFB1IkLKAIAIQJB1IkLQQA2AgACQAJAAkACQCACQQFGDQAgA0ECNgJIIANBACABazYCOCADQbABahBZIQFB1IkLQQA2AgBBwAAgASADQThqIgIQAiEBQdSJCygCACELQdSJC0EANgIAIAtBAUYNASACEFkhAiAGEFkhBiAFEFkhBSABKAIoIglBBksNBiABQRhqIQQgBQJ/AkACQCAJQQJrDgIBAAgLIAQpAwAgAykDaFYMAQsgBCgCACADKAJoSws2AgAgA0ECNgIwIAZBATYCAEHUiQtBADYCACADQQI2AhhBrwUgBSAGEAIhCUHUiQsoAgAhDEHUiQtBADYCACAMQQFGDQAgAkEAIAlrNgIAIANBAjYCSCAEEFkhBEHUiQtBADYCAEHAACAEIAIQAiEJQdSJCygCACENQdSJC0EANgIAIA1BAUYNASACEFkhAiAGEFkhBiAFEFkhBSABQUBrKAIAIgdBBksNBiABQTBqIQQgBQJ/AkACQCAHQQJrDgIBAAgLIAQpAwAgAykDgAFWDAELIAQoAgAgAygCgAFLCzYCACADQQI2AjAgBkEBNgIAQdSJC0EANgIAIANB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1IkLQQA2AgBBFEHvhARB6aQCQegLEAhB1IkLKAIAIQdB1IkLQQA2AgAgB0EBRw0LCxAAIQEMBgsgASgCACAEKAIATwshBCADQQI2AjAgAyAENgIgQdSJC0EANgIAIANBAjYCGCADQQE2AghBrwUgA0EgaiADQQhqEAIhBEHUiQsoAgAhCEHUiQtBADYCACAIQQFGDQEgA0ECNgJIIANBACAEazYCOCADQThqIgQgAUcEQCABEFkhAUHUiQtBADYCAEHAACABIAQQAhpB1IkLKAIAIQlB1IkLQQA2AgAgCUEBRg0DCyADQThqEFkaIANBCGoQWRogA0EgahBZGiACQQFqIgJBCEcNAAtB1IkLQQA2AgBBxQUgACADQZACahACGkHUiQsoAgAhCkHUiQtBADYCACAKQQFHDQQQACEBDAMLEAAhAQwBCxAAIQEgA0E4ahBZGgsgA0EIahBZGiADQSBqEFkaCyADQdAAahDwAQwCCyADQfgBahBZGiADQeABahBZGiADQcgBahBZGiADQbABahBZGiADQZgBahBZGiADQYABahBZGiADQegAahBZGiADQdAAahBZGiADQbgDahBZGiADQaADahBZGiADQYgDahBZGiADQfACahBZGiADQdgCahBZGiADQcACahBZGiADQagCahBZGiADQZACahBZGiADQdADaiQADwsQACEBCyADQZACahDwASABEAcACwAL/gUBCH8jAEHQA2siAyQAIANBkAJqIAEQnANB1IkLQQA2AgBBzwUgA0HQAGogAhADQdSJCygCACEBQdSJC0EANgIAAkACQCABQQFHBEBBACECAkACQAJAAkACQANAAn8CQAJAIAJBGGwiBCADQZACamoiASgCECIFQQdPBEBB1IkLQQA2AgBBDUHhzQZBn58DQcMBQfPnBBAFQdSJCygCACEGQdSJC0EANgIAIAZBAUYNAQwMCyADQdAAaiAEaiEEAkACQCAFQQJrDgIDAAELIAEpAwAgBCkDAFkMAwtB1IkLQQA2AgBBFEHvhARB6aQCQd0LEAhB1IkLKAIAIQdB1IkLQQA2AgAgB0EBRw0LCxAAIQEMBgsgASgCACAEKAIATgshBCADQQI2AjAgAyAENgIgQdSJC0EANgIAIANBAjYCGCADQQE2AghBrwUgA0EgaiADQQhqEAIhBEHUiQsoAgAhCEHUiQtBADYCACAIQQFGDQEgA0ECNgJIIANBACAEazYCOCADQThqIgQgAUcEQCABEFkhAUHUiQtBADYCAEHAACABIAQQAhpB1IkLKAIAIQlB1IkLQQA2AgAgCUEBRg0DCyADQThqEFkaIANBCGoQWRogA0EgahBZGiACQQFqIgJBCEcNAAtB1IkLQQA2AgBBxQUgACADQZACahACGkHUiQsoAgAhCkHUiQtBADYCACAKQQFHDQQQACEBDAMLEAAhAQwBCxAAIQEgA0E4ahBZGgsgA0EIahBZGiADQSBqEFkaCyADQdAAahDwAQwCCyADQfgBahBZGiADQeABahBZGiADQcgBahBZGiADQbABahBZGiADQZgBahBZGiADQYABahBZGiADQegAahBZGiADQdAAahBZGiADQbgDahBZGiADQaADahBZGiADQYgDahBZGiADQfACahBZGiADQdgCahBZGiADQcACahBZGiADQagCahBZGiADQZACahBZGiADQdADaiQADwsQACEBCyADQZACahDwASABEAcACwAL/gUBCH8jAEHQA2siAyQAIANBkAJqIAEQiQNB1IkLQQA2AgBBzgUgA0HQAGogAhADQdSJCygCACEBQdSJC0EANgIAAkACQCABQQFHBEBBACECAkACQAJAAkACQANAAn8CQAJAIAJBGGwiBCADQZACamoiASgCECIFQQdPBEBB1IkLQQA2AgBBDUHhzQZBn58DQcMBQfPnBBAFQdSJCygCACEGQdSJC0EANgIAIAZBAUYNAQwMCyADQdAAaiAEaiEEAkACQCAFQQJrDgIDAAELIAEpAwAgBCkDAFgMAwtB1IkLQQA2AgBBFEHvhARB6aQCQaYLEAhB1IkLKAIAIQdB1IkLQQA2AgAgB0EBRw0LCxAAIQEMBgsgASgCACAEKAIATQshBCADQQI2AjAgAyAENgIgQdSJC0EANgIAIANBAjYCGCADQQE2AghBrwUgA0EgaiADQQhqEAIhBEHUiQsoAgAhCEHUiQtBADYCACAIQQFGDQEgA0ECNgJIIANBACAEazYCOCADQThqIgQgAUcEQCABEFkhAUHUiQtBADYCAEHAACABIAQQAhpB1IkLKAIAIQlB1IkLQQA2AgAgCUEBRg0DCyADQThqEFkaIANBCGoQWRogA0EgahBZGiACQQFqIgJBCEcNAAtB1IkLQQA2AgBBxQUgACADQZACahACGkHUiQsoAgAhCkHUiQtBADYCACAKQQFHDQQQACEBDAMLEAAhAQwBCxAAIQEgA0E4ahBZGgsgA0EIahBZGiADQSBqEFkaCyADQdAAahDwAQwCCyADQfgBahBZGiADQeABahBZGiADQcgBahBZGiADQbABahBZGiADQZgBahBZGiADQYABahBZGiADQegAahBZGiADQdAAahBZGiADQbgDahBZGiADQaADahBZGiADQYgDahBZGiADQfACahBZGiADQdgCahBZGiADQcACahBZGiADQagCahBZGiADQZACahBZGiADQdADaiQADwsQACEBCyADQZACahDwASABEAcACwAL/gUBCH8jAEHQA2siAyQAIANBkAJqIAEQnANB1IkLQQA2AgBBzwUgA0HQAGogAhADQdSJCygCACEBQdSJC0EANgIAAkACQCABQQFHBEBBACECAkACQAJAAkACQANAAn8CQAJAIAJBGGwiBCADQZACamoiASgCECIFQQdPBEBB1IkLQQA2AgBBDUHhzQZBn58DQcMBQfPnBBAFQdSJCygCACEGQdSJC0EANgIAIAZBAUYNAQwMCyADQdAAaiAEaiEEAkACQCAFQQJrDgIDAAELIAEpAwAgBCkDAFcMAwtB1IkLQQA2AgBBFEHvhARB6aQCQZsLEAhB1IkLKAIAIQdB1IkLQQA2AgAgB0EBRw0LCxAAIQEMBgsgASgCACAEKAIATAshBCADQQI2AjAgAyAENgIgQdSJC0EANgIAIANBAjYCGCADQQE2AghBrwUgA0EgaiADQQhqEAIhBEHUiQsoAgAhCEHUiQtBADYCACAIQQFGDQEgA0ECNgJIIANBACAEazYCOCADQThqIgQgAUcEQCABEFkhAUHUiQtBADYCAEHAACABIAQQAhpB1IkLKAIAIQlB1IkLQQA2AgAgCUEBRg0DCyADQThqEFkaIANBCGoQWRogA0EgahBZGiACQQFqIgJBCEcNAAtB1IkLQQA2AgBBxQUgACADQZACahACGkHUiQsoAgAhCkHUiQtBADYCACAKQQFHDQQQACEBDAMLEAAhAQwBCxAAIQEgA0E4ahBZGgsgA0EIahBZGiADQSBqEFkaCyADQdAAahDwAQwCCyADQfgBahBZGiADQeABahBZGiADQcgBahBZGiADQbABahBZGiADQZgBahBZGiADQYABahBZGiADQegAahBZGiADQdAAahBZGiADQbgDahBZGiADQaADahBZGiADQYgDahBZGiADQfACahBZGiADQdgCahBZGiADQcACahBZGiADQagCahBZGiADQZACahBZGiADQdADaiQADwsQACEBCyADQZACahDwASABEAcACwAL/gUBCH8jAEHQA2siAyQAIANBkAJqIAEQiQNB1IkLQQA2AgBBzgUgA0HQAGogAhADQdSJCygCACEBQdSJC0EANgIAAkACQCABQQFHBEBBACECAkACQAJAAkACQANAAn8CQAJAIAJBGGwiBCADQZACamoiASgCECIFQQdPBEBB1IkLQQA2AgBBDUHhzQZBn58DQcMBQfPnBBAFQdSJCygCACEGQdSJC0EANgIAIAZBAUYNAQwMCyADQdAAaiAEaiEEAkACQCAFQQJrDgIDAAELIAEpAwAgBCkDAFYMAwtB1IkLQQA2AgBBFEHvhARB6aQCQccLEAhB1IkLKAIAIQdB1IkLQQA2AgAgB0EBRw0LCxAAIQEMBgsgASgCACAEKAIASwshBCADQQI2AjAgAyAENgIgQdSJC0EANgIAIANBAjYCGCADQQE2AghBrwUgA0EgaiADQQhqEAIhBEHUiQsoAgAhCEHUiQtBADYCACAIQQFGDQEgA0ECNgJIIANBACAEazYCOCADQThqIgQgAUcEQCABEFkhAUHUiQtBADYCAEHAACABIAQQAhpB1IkLKAIAIQlB1IkLQQA2AgAgCUEBRg0DCyADQThqEFkaIANBCGoQWRogA0EgahBZGiACQQFqIgJBCEcNAAtB1IkLQQA2AgBBxQUgACADQZACahACGkHUiQsoAgAhCkHUiQtBADYCACAKQQFHDQQQACEBDAMLEAAhAQwBCxAAIQEgA0E4ahBZGgsgA0EIahBZGiADQSBqEFkaCyADQdAAahDwAQwCCyADQfgBahBZGiADQeABahBZGiADQcgBahBZGiADQbABahBZGiADQZgBahBZGiADQYABahBZGiADQegAahBZGiADQdAAahBZGiADQbgDahBZGiADQaADahBZGiADQYgDahBZGiADQfACahBZGiADQdgCahBZGiADQcACahBZGiADQagCahBZGiADQZACahBZGiADQdADaiQADwsQACEBCyADQZACahDwASABEAcACwAL/gUBCH8jAEHQA2siAyQAIANBkAJqIAEQnANB1IkLQQA2AgBBzwUgA0HQAGogAhADQdSJCygCACEBQdSJC0EANgIAAkACQCABQQFHBEBBACECAkACQAJAAkACQANAAn8CQAJAIAJBGGwiBCADQZACamoiASgCECIFQQdPBEBB1IkLQQA2AgBBDUHhzQZBn58DQcMBQfPnBBAFQdSJCygCACEGQdSJC0EANgIAIAZBAUYNAQwMCyADQdAAaiAEaiEEAkACQCAFQQJrDgIDAAELIAEpAwAgBCkDAFUMAwtB1IkLQQA2AgBBFEHvhARB6aQCQbwLEAhB1IkLKAIAIQdB1IkLQQA2AgAgB0EBRw0LCxAAIQEMBgsgASgCACAEKAIASgshBCADQQI2AjAgAyAENgIgQdSJC0EANgIAIANBAjYCGCADQQE2AghBrwUgA0EgaiADQQhqEAIhBEHUiQsoAgAhCEHUiQtBADYCACAIQQFGDQEgA0ECNgJIIANBACAEazYCOCADQThqIgQgAUcEQCABEFkhAUHUiQtBADYCAEHAACABIAQQAhpB1IkLKAIAIQlB1IkLQQA2AgAgCUEBRg0DCyADQThqEFkaIANBCGoQWRogA0EgahBZGiACQQFqIgJBCEcNAAtB1IkLQQA2AgBBxQUgACADQZACahACGkHUiQsoAgAhCkHUiQtBADYCACAKQQFHDQQQACEBDAMLEAAhAQwBCxAAIQEgA0E4ahBZGgsgA0EIahBZGiADQSBqEFkaCyADQdAAahDwAQwCCyADQfgBahBZGiADQeABahBZGiADQcgBahBZGiADQbABahBZGiADQZgBahBZGiADQYABahBZGiADQegAahBZGiADQdAAahBZGiADQbgDahBZGiADQaADahBZGiADQYgDahBZGiADQfACahBZGiADQdgCahBZGiADQcACahBZGiADQagCahBZGiADQZACahBZGiADQdADaiQADwsQACEBCyADQZACahDwASABEAcACwAL/gUBCH8jAEHQA2siAyQAIANBkAJqIAEQiQNB1IkLQQA2AgBBzgUgA0HQAGogAhADQdSJCygCACEBQdSJC0EANgIAAkACQCABQQFHBEBBACECAkACQAJAAkACQANAAn8CQAJAIAJBGGwiBCADQZACamoiASgCECIFQQdPBEBB1IkLQQA2AgBBDUHhzQZBn58DQcMBQfPnBBAFQdSJCygCACEGQdSJC0EANgIAIAZBAUYNAQwMCyADQdAAaiAEaiEEAkACQCAFQQJrDgIDAAELIAEpAwAgBCkDAFQMAwtB1IkLQQA2AgBBFEHvhARB6aQCQYULEAhB1IkLKAIAIQdB1IkLQQA2AgAgB0EBRw0LCxAAIQEMBgsgASgCACAEKAIASQshBCADQQI2AjAgAyAENgIgQdSJC0EANgIAIANBAjYCGCADQQE2AghBrwUgA0EgaiADQQhqEAIhBEHUiQsoAgAhCEHUiQtBADYCACAIQQFGDQEgA0ECNgJIIANBACAEazYCOCADQThqIgQgAUcEQCABEFkhAUHUiQtBADYCAEHAACABIAQQAhpB1IkLKAIAIQlB1IkLQQA2AgAgCUEBRg0DCyADQThqEFkaIANBCGoQWRogA0EgahBZGiACQQFqIgJBCEcNAAtB1IkLQQA2AgBBxQUgACADQZACahACGkHUiQsoAgAhCkHUiQtBADYCACAKQQFHDQQQACEBDAMLEAAhAQwBCxAAIQEgA0E4ahBZGgsgA0EIahBZGiADQSBqEFkaCyADQdAAahDwAQwCCyADQfgBahBZGiADQeABahBZGiADQcgBahBZGiADQbABahBZGiADQZgBahBZGiADQYABahBZGiADQegAahBZGiADQdAAahBZGiADQbgDahBZGiADQaADahBZGiADQYgDahBZGiADQfACahBZGiADQdgCahBZGiADQcACahBZGiADQagCahBZGiADQZACahBZGiADQdADaiQADwsQACEBCyADQZACahDwASABEAcACwAL/gUBCH8jAEHQA2siAyQAIANBkAJqIAEQnANB1IkLQQA2AgBBzwUgA0HQAGogAhADQdSJCygCACEBQdSJC0EANgIAAkACQCABQQFHBEBBACECAkACQAJAAkACQANAAn8CQAJAIAJBGGwiBCADQZACamoiASgCECIFQQdPBEBB1IkLQQA2AgBBDUHhzQZBn58DQcMBQfPnBBAFQdSJCygCACEGQdSJC0EANgIAIAZBAUYNAQwMCyADQdAAaiAEaiEEAkACQCAFQQJrDgIDAAELIAEpAwAgBCkDAFMMAwtB1IkLQQA2AgBBFEHvhARB6aQCQfoKEAhB1IkLKAIAIQdB1IkLQQA2AgAgB0EBRw0LCxAAIQEMBgsgASgCACAEKAIASAshBCADQQI2AjAgAyAENgIgQdSJC0EANgIAIANBAjYCGCADQQE2AghBrwUgA0EgaiADQQhqEAIhBEHUiQsoAgAhCEHUiQtBADYCACAIQQFGDQEgA0ECNgJIIANBACAEazYCOCADQThqIgQgAUcEQCABEFkhAUHUiQtBADYCAEHAACABIAQQAhpB1IkLKAIAIQlB1IkLQQA2AgAgCUEBRg0DCyADQThqEFkaIANBCGoQWRogA0EgahBZGiACQQFqIgJBCEcNAAtB1IkLQQA2AgBBxQUgACADQZACahACGkHUiQsoAgAhCkHUiQtBADYCACAKQQFHDQQQACEBDAMLEAAhAQwBCxAAIQEgA0E4ahBZGgsgA0EIahBZGiADQSBqEFkaCyADQdAAahDwAQwCCyADQfgBahBZGiADQeABahBZGiADQcgBahBZGiADQbABahBZGiADQZgBahBZGiADQYABahBZGiADQegAahBZGiADQdAAahBZGiADQbgDahBZGiADQaADahBZGiADQYgDahBZGiADQfACahBZGiADQdgCahBZGiADQcACahBZGiADQagCahBZGiADQZACahBZGiADQdADaiQADwsQACEBCyADQZACahDwASABEAcACwALhA8BK38jAEHQA2siAyQAIANBkAJqIgQgARCJA0HUiQtBADYCAEHOBSADQdAAaiIBIAIQA0HUiQsoAgAhAkHUiQtBADYCAAJAIAJBAUcEQEHUiQtBADYCAEGnBCADQSBqIgUgBCABEAhB1IkLKAIAIQFB1IkLQQA2AgACQAJAAkACQAJAAkAgAUEBRg0AIANBAjYCGEHUiQtBADYCACADQQE2AghBrwUgBSADQQhqIgwQAiEBQdSJCygCACEWQdSJC0EANgIAIBZBAUYNASADQQI2AkggA0EAIAFrNgI4IAQQWSEBQdSJC0EANgIAQcAAIAEgA0E4aiICEAIhAUHUiQsoAgAhF0HUiQtBADYCACAXQQFGDQIgAhBZIQIgDBBZIQQgBRBZIQVB1IkLQQA2AgBBpwQgBSABQRhqIgwgA0HoAGoiFBAIQdSJCygCACEYQdSJC0EANgIAIBhBAUYNACAEQQE2AgBB1IkLQQA2AgAgA0ECNgIYQa8F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1IkLQQA2AgBBDUHhzQZBn58DQcMBQfPnBBAFQdSJCygCACEGQdSJC0EANgIAIAZBAUYNAQwMCyADQdAAaiAEaiEEAkACQCAFQQJrDgIDAAELIAEpAwAgBCkDAFoMAwtB1IkLQQA2AgBBFEHvhARB6aQCQegLEAhB1IkLKAIAIQdB1IkLQQA2AgAgB0EBRw0LCxAAIQEMBgsgASgCACAEKAIATwshBCADQQI2AjAgAyAENgIgQdSJC0EANgIAIANBAjYCGCADQQE2AghBrwUgA0EgaiADQQhqEAIhBEHUiQsoAgAhCEHUiQtBADYCACAIQQFGDQEgA0ECNgJIIANBACAEazYCOCADQThqIgQgAUcEQCABEFkhAUHUiQtBADYCAEHAACABIAQQAhpB1IkLKAIAIQlB1IkLQQA2AgAgCUEBRg0DCyADQThqEFkaIANBCGoQWRogA0EgahBZGiACQQFqIgJBEEcNAAtB1IkLQQA2AgBBxAUgACADQdADahACGkHUiQsoAgAhCkHUiQtBADYCACAKQQFHDQQQACEBDAMLEAAhAQwBCxAAIQEgA0E4ahBZGgsgA0EIahBZGiADQSBqEFkaCyADQdAAahCnAgwCCyADQbgDahBZGiADQaADahBZGiADQYgDahBZGiADQfACahBZGiADQdgCahBZGiADQcACahBZGiADQagCahBZGiADQZACahBZGiADQfgBahBZGiADQeABahBZGiADQcgBahBZGiADQbABahBZGiADQZgBahBZGiADQYABahBZGiADQegAahBZGiADQdAAahBZGiADQbgGahBZGiADQaAGahBZGiADQYgGahBZGiADQfAFahBZGiADQdgFahBZGiADQcAFahBZGiADQagFahBZGiADQZAFahBZGiADQfgEahBZGiADQeAEahBZGiADQcgEahBZGiADQbAEahBZGiADQZgEahBZGiADQYAEahBZGiADQegDahBZGiADQdADahBZGiADQdAGaiQADwsQACEBCyADQdADahCnAiABEAcACwALjgcBCH8jAEHQBmsiAyQAIANB0ANqIAEQrwNB1IkLQQA2AgBBzQUgA0HQAGogAhADQdSJCygCACEBQdSJC0EANgIAAkACQCABQQFHBEBBACECAkACQAJAAkACQANAAn8CQAJAIAJBGGwiBCADQdADamoiASgCECIFQQdPBEBB1IkLQQA2AgBBDUHhzQZBn58DQcMBQfPnBBAFQdSJCygCACEGQdSJC0EANgIAIAZBAUYNAQwMCyADQdAAaiAEaiEEAkACQCAFQQJrDgIDAAELIAEpAwAgBCkDAFkMAwtB1IkLQQA2AgBBFEHvhARB6aQCQd0LEAhB1IkLKAIAIQdB1IkLQQA2AgAgB0EBRw0LCxAAIQEMBgsgASgCACAEKAIATgshBCADQQI2AjAgAyAENgIgQdSJC0EANgIAIANBAjYCGCADQQE2AghBrwUgA0EgaiADQQhqEAIhBEHUiQsoAgAhCEHUiQtBADYCACAIQQFGDQEgA0ECNgJIIANBACAEazYCOCADQThqIgQgAUcEQCABEFkhAUHUiQtBADYCAEHAACABIAQQAhpB1IkLKAIAIQlB1IkLQQA2AgAgCUEBRg0DCyADQThqEFkaIANBCGoQWRogA0EgahBZGiACQQFqIgJBEEcNAAtB1IkLQQA2AgBBxAUgACADQdADahACGkHUiQsoAgAhCkHUiQtBADYCACAKQQFHDQQQACEBDAMLEAAhAQwBCxAAIQEgA0E4ahBZGgsgA0EIahBZGiADQSBqEFkaCyADQdAAahCnAgwCCyADQbgDahBZGiADQaADahBZGiADQYgDahBZGiADQfACahBZGiADQdgCahBZGiADQcACahBZGiADQagCahBZGiADQZACahBZGiADQfgBahBZGiADQeABahBZGiADQcgBahBZGiADQbABahBZGiADQZgBahBZGiADQYABahBZGiADQegAahBZGiADQdAAahBZGiADQbgGahBZGiADQaAGahBZGiADQYgGahBZGiADQfAFahBZGiADQdgFahBZGiADQcAFahBZGiADQagFahBZGiADQZAFahBZGiADQfgEahBZGiADQeAEahBZGiADQcgEahBZGiADQbAEahBZGiADQZgEahBZGiADQYAEahBZGiADQegDahBZGiADQdADahBZGiADQdAGaiQADwsQACEBCyADQdADahCnAiABEAcACwALjgcBCH8jAEHQBmsiAyQAIANB0ANqIAEQgwNB1IkLQQA2AgBBzAUgA0HQAGogAhADQdSJCygCACEBQdSJC0EANgIAAkACQCABQQFHBEBBACECAkACQAJAAkACQANAAn8CQAJAIAJBGGwiBCADQdADamoiASgCECIFQQdPBEBB1IkLQQA2AgBBDUHhzQZBn58DQcMBQfPnBBAFQdSJCygCACEGQdSJC0EANgIAIAZBAUYNAQwMCyADQdAAaiAEaiEEAkACQCAFQQJrDgIDAAELIAEpAwAgBCkDAFgMAwtB1IkLQQA2AgBBFEHvhARB6aQCQaYLEAhB1IkLKAIAIQdB1IkLQQA2AgAgB0EBRw0LCxAAIQEMBgsgASgCACAEKAIATQshBCADQQI2AjAgAyAENgIgQdSJC0EANgIAIANBAjYCGCADQQE2AghBrwUgA0EgaiADQQhqEAIhBEHUiQsoAgAhCEHUiQtBADYCACAIQQFGDQEgA0ECNgJIIANBACAEazYCOCADQThqIgQgAUcEQCABEFkhAUHUiQtBADYCAEHAACABIAQQAhpB1IkLKAIAIQlB1IkLQQA2AgAgCUEBRg0DCyADQThqEFkaIANBCGoQWRogA0EgahBZGiACQQFqIgJBEEcNAAtB1IkLQQA2AgBBxAUgACADQdADahACGkHUiQsoAgAhCkHUiQtBADYCACAKQQFHDQQQACEBDAMLEAAhAQwBCxAAIQEgA0E4ahBZGgsgA0EIahBZGiADQSBqEFkaCyADQdAAahCnAgwCCyADQbgDahBZGiADQaADahBZGiADQYgDahBZGiADQfACahBZGiADQdgCahBZGiADQcACahBZGiADQagCahBZGiADQZACahBZGiADQfgBahBZGiADQeABahBZGiADQcgBahBZGiADQbABahBZGiADQZgBahBZGiADQYABahBZGiADQegAahBZGiADQdAAahBZGiADQbgGahBZGiADQaAGahBZGiADQYgGahBZGiADQfAFahBZGiADQdgFahBZGiADQcAFahBZGiADQagFahBZGiADQZAFahBZGiADQfgEahBZGiADQeAEahBZGiADQcgEahBZGiADQbAEahBZGiADQZgEahBZGiADQYAEahBZGiADQegDahBZGiADQdADahBZGiADQdAGaiQADwsQACEBCyADQdADahCnAiABEAcACwALjgcBCH8jAEHQBmsiAyQAIANB0ANqIAEQrwNB1IkLQQA2AgBBzQUgA0HQAGogAhADQdSJCygCACEBQdSJC0EANgIAAkACQCABQQFHBEBBACECAkACQAJAAkACQANAAn8CQAJAIAJBGGwiBCADQdADamoiASgCECIFQQdPBEBB1IkLQQA2AgBBDUHhzQZBn58DQcMBQfPnBBAFQdSJCygCACEGQdSJC0EANgIAIAZBAUYNAQwMCyADQdAAaiAEaiEEAkACQCAFQQJrDgIDAAELIAEpAwAgBCkDAFcMAwtB1IkLQQA2AgBBFEHvhARB6aQCQZsLEAhB1IkLKAIAIQdB1IkLQQA2AgAgB0EBRw0LCxAAIQEMBgsgASgCACAEKAIATAshBCADQQI2AjAgAyAENgIgQdSJC0EANgIAIANBAjYCGCADQQE2AghBrwUgA0EgaiADQQhqEAIhBEHUiQsoAgAhCEHUiQtBADYCACAIQQFGDQEgA0ECNgJIIANBACAEazYCOCADQThqIgQgAUcEQCABEFkhAUHUiQtBADYCAEHAACABIAQQAhpB1IkLKAIAIQlB1IkLQQA2AgAgCUEBRg0DCyADQThqEFkaIANBCGoQWRogA0EgahBZGiACQQFqIgJBEEcNAAtB1IkLQQA2AgBBxAUgACADQdADahACGkHUiQsoAgAhCkHUiQtBADYCACAKQQFHDQQQACEBDAMLEAAhAQwBCxAAIQEgA0E4ahBZGgsgA0EIahBZGiADQSBqEFkaCyADQdAAahCnAgwCCyADQbgDahBZGiADQaADahBZGiADQYgDahBZGiADQfACahBZGiADQdgCahBZGiADQcACahBZGiADQagCahBZGiADQZACahBZGiADQfgBahBZGiADQeABahBZGiADQcgBahBZGiADQbABahBZGiADQZgBahBZGiADQYABahBZGiADQegAahBZGiADQdAAahBZGiADQbgGahBZGiADQaAGahBZGiADQYgGahBZGiADQfAFahBZGiADQdgFahBZGiADQcAFahBZGiADQagFahBZGiADQZAFahBZGiADQfgEahBZGiADQeAEahBZGiADQcgEahBZGiADQbAEahBZGiADQZgEahBZGiADQYAEahBZGiADQegDahBZGiADQdADahBZGiADQdAGaiQADwsQACEBCyADQdADahCnAiABEAcACwALjgcBCH8jAEHQBmsiAyQAIANB0ANqIAEQgwNB1IkLQQA2AgBBzAUgA0HQAGogAhADQdSJCygCACEBQdSJC0EANgIAAkACQCABQQFHBEBBACECAkACQAJAAkACQANAAn8CQAJAIAJBGGwiBCADQdADamoiASgCECIFQQdPBEBB1IkLQQA2AgBBDUHhzQZBn58DQcMBQfPnBBAFQdSJCygCACEGQdSJC0EANgIAIAZBAUYNAQwMCyADQdAAaiAEaiEEAkACQCAFQQJrDgIDAAELIAEpAwAgBCkDAFYMAwtB1IkLQQA2AgBBFEHvhARB6aQCQccLEAhB1IkLKAIAIQdB1IkLQQA2AgAgB0EBRw0LCxAAIQEMBgsgASgCACAEKAIASwshBCADQQI2AjAgAyAENgIgQdSJC0EANgIAIANBAjYCGCADQQE2AghBrwUgA0EgaiADQQhqEAIhBEHUiQsoAgAhCEHUiQtBADYCACAIQQFGDQEgA0ECNgJIIANBACAEazYCOCADQThqIgQgAUcEQCABEFkhAUHUiQtBADYCAEHAACABIAQQAhpB1IkLKAIAIQlB1IkLQQA2AgAgCUEBRg0DCyADQThqEFkaIANBCGoQWRogA0EgahBZGiACQQFqIgJBEEcNAAtB1IkLQQA2AgBBxAUgACADQdADahACGkHUiQsoAgAhCkHUiQtBADYCACAKQQFHDQQQACEBDAMLEAAhAQwBCxAAIQEgA0E4ahBZGgsgA0EIahBZGiADQSBqEFkaCyADQdAAahCnAgwCCyADQbgDahBZGiADQaADahBZGiADQYgDahBZGiADQfACahBZGiADQdgCahBZGiADQcACahBZGiADQagCahBZGiADQZACahBZGiADQfgBahBZGiADQeABahBZGiADQcgBahBZGiADQbABahBZGiADQZgBahBZGiADQYABahBZGiADQegAahBZGiADQdAAahBZGiADQbgGahBZGiADQaAGahBZGiADQYgGahBZGiADQfAFahBZGiADQdgFahBZGiADQcAFahBZGiADQagFahBZGiADQZAFahBZGiADQfgEahBZGiADQeAEahBZGiADQcgEahBZGiADQbAEahBZGiADQZgEahBZGiADQYAEahBZGiADQegDahBZGiADQdADahBZGiADQdAGaiQADwsQACEBCyADQdADahCnAiABEAcACwALjgcBCH8jAEHQBmsiAyQAIANB0ANqIAEQrwNB1IkLQQA2AgBBzQUgA0HQAGogAhADQdSJCygCACEBQdSJC0EANgIAAkACQCABQQFHBEBBACECAkACQAJAAkACQANAAn8CQAJAIAJBGGwiBCADQdADamoiASgCECIFQQdPBEBB1IkLQQA2AgBBDUHhzQZBn58DQcMBQfPnBBAFQdSJCygCACEGQdSJC0EANgIAIAZBAUYNAQwMCyADQdAAaiAEaiEEAkACQCAFQQJrDgIDAAELIAEpAwAgBCkDAFUMAwtB1IkLQQA2AgBBFEHvhARB6aQCQbwLEAhB1IkLKAIAIQdB1IkLQQA2AgAgB0EBRw0LCxAAIQEMBgsgASgCACAEKAIASgshBCADQQI2AjAgAyAENgIgQdSJC0EANgIAIANBAjYCGCADQQE2AghBrwUgA0EgaiADQQhqEAIhBEHUiQsoAgAhCEHUiQtBADYCACAIQQFGDQEgA0ECNgJIIANBACAEazYCOCADQThqIgQgAUcEQCABEFkhAUHUiQtBADYCAEHAACABIAQQAhpB1IkLKAIAIQlB1IkLQQA2AgAgCUEBRg0DCyADQThqEFkaIANBCGoQWRogA0EgahBZGiACQQFqIgJBEEcNAAtB1IkLQQA2AgBBxAUgACADQdADahACGkHUiQsoAgAhCkHUiQtBADYCACAKQQFHDQQQACEBDAMLEAAhAQwBCxAAIQEgA0E4ahBZGgsgA0EIahBZGiADQSBqEFkaCyADQdAAahCnAgwCCyADQbgDahBZGiADQaADahBZGiADQYgDahBZGiADQfACahBZGiADQdgCahBZGiADQcACahBZGiADQagCahBZGiADQZACahBZGiADQfgBahBZGiADQeABahBZGiADQcgBahBZGiADQbABahBZGiADQZgBahBZGiADQYABahBZGiADQegAahBZGiADQdAAahBZGiADQbgGahBZGiADQaAGahBZGiADQYgGahBZGiADQfAFahBZGiADQdgFahBZGiADQcAFahBZGiADQagFahBZGiADQZAFahBZGiADQfgEahBZGiADQeAEahBZGiADQcgEahBZGiADQbAEahBZGiADQZgEahBZGiADQYAEahBZGiADQegDahBZGiADQdADahBZGiADQdAGaiQADwsQACEBCyADQdADahCnAiABEAcACwAL8AEBA38jAEEgayIEJAAgAEGoAWpBEEEEEF0iACACNgIMIABCwwA3AgAgACADNgIIAkACQCABQRBPBEAgAS0AAA0BCyAEQQA2AhggBCABNgIUIARBADoADEHUiQtBADYCACAEQQE2AhBBB0HYnQsgBEEMahACIQFB1IkLKAIAIQVB1IkLQQA2AgAgBUEBRg0BIAAgATYCBAJAIAAoAgwoAgRBAUcEQCAAKAIIIgFFDQEgASgCBEEBRw0BCyAAQQE2AgQLIARBIGokACAADwtB/tAGQbizAkHoBUG4jAQQAQALEAAhBiAEQQxqEHcgBhAHAAuOBwEIfyMAQdAGayIDJAAgA0HQA2ogARCDA0HUiQtBADYCAEHMBSADQdAAaiACEANB1IkLKAIAIQFB1IkLQQA2AgACQAJAIAFBAUcEQEEAIQICQAJAAkACQAJAA0ACfwJAAkAgAkEYbCIEIANB0ANqaiIBKAIQIgVBB08EQEHUiQtBADYCAEENQeHNBkGfnwNBwwFB8+cEEAVB1IkLKAIAIQZB1IkLQQA2AgAgBkEBRg0BDAwLIANB0ABqIARqIQQCQAJAIAVBAmsOAgMAAQsgASkDACAEKQMAVAwDC0HUiQtBADYCAEEUQe+EBEHppAJBhQsQCEHUiQsoAgAhB0HUiQtBADYCACAHQQFHDQsLEAAhAQwGCyABKAIAIAQoAgBJCyEEIANBAjYCMCADIAQ2AiBB1IkLQQA2AgAgA0ECNgIYIANBATYCCEGvBSADQSBqIANBCGoQAiEEQdSJCygCACEIQdSJC0EANgIAIAhBAUYNASADQQI2AkggA0EAIARrNgI4IANBOGoiBCABRwRAIAEQWSEBQdSJC0EANgIAQcAAIAEgBBACGkHUiQsoAgAhCUHUiQtBADYCACAJQQFGDQMLIANBOGoQWRogA0EIahBZGiADQSBqEFkaIAJBAWoiAkEQRw0AC0HUiQtBADYCAEHEBSAAIANB0ANqEAIaQdSJCygCACEKQdSJC0EANgIAIApBAUcNBBAAIQEMAwsQACEBDAELEAAhASADQThqEFkaCyADQQhqEFkaIANBIGoQWRoLIANB0ABqEKcCDAILIANBuANqEFkaIANBoANqEFkaIANBiANqEFkaIANB8AJqEFkaIANB2AJqEFkaIANBwAJqEFkaIANBqAJqEFkaIANBkAJqEFkaIANB+AFqEFkaIANB4AFqEFkaIANByAFqEFkaIANBsAFqEFkaIANBmAFqEFkaIANBgAFqEFkaIANB6ABqEFkaIANB0ABqEFkaIANBuAZqEFkaIANBoAZqEFkaIANBiAZqEFkaIANB8AVqEFkaIANB2AVqEFkaIANBwAVqEFkaIANBqAVqEFkaIANBkAVqEFkaIANB+ARqEFkaIANB4ARqEFkaIANByARqEFkaIANBsARqEFkaIANBmARqEFkaIANBgARqEFkaIANB6ANqEFkaIANB0ANqEFkaIANB0AZqJAAPCxAAIQELIANB0ANqEKcCIAEQBwALAAuOBwEIfyMAQdAGayIDJAAgA0HQA2ogARCvA0HUiQtBADYCAEHNBSADQdAAaiACEANB1IkLKAIAIQFB1IkLQQA2AgACQAJAIAFBAUcEQEEAIQICQAJAAkACQAJAA0ACfwJAAkAgAkEYbCIEIANB0ANqaiIBKAIQIgVBB08EQEHUiQtBADYCAEENQeHNBkGfnwNBwwFB8+cEEAVB1IkLKAIAIQZB1IkLQQA2AgAgBkEBRg0BDAwLIANB0ABqIARqIQQCQAJAIAVBAmsOAgMAAQsgASkDACAEKQMAUwwDC0HUiQtBADYCAEEUQe+EBEHppAJB+goQCEHUiQsoAgAhB0HUiQtBADYCACAHQQFHDQsLEAAhAQwGCyABKAIAIAQoAgBICyEEIANBAjYCMCADIAQ2AiBB1IkLQQA2AgAgA0ECNgIYIANBATYCCEGvBSADQSBqIANBCGoQAiEEQdSJCygCACEIQdSJC0EANgIAIAhBAUYNASADQQI2AkggA0EAIARrNgI4IANBOGoiBCABRwRAIAEQWSEBQdSJC0EANgIAQcAAIAEgBBACGkHUiQsoAgAhCUHUiQtBADYCACAJQQFGDQMLIANBOGoQWRogA0EIahBZGiADQSBqEFkaIAJBAWoiAkEQRw0AC0HUiQtBADYCAEHEBSAAIANB0ANqEAIaQdSJCygCACEKQdSJC0EANgIAIApBAUcNBBAAIQEMAwsQACEBDAELEAAhASADQThqEFkaCyADQQhqEFkaIANBIGoQWRoLIANB0ABqEKcCDAILIANBuANqEFkaIANBoANqEFkaIANBiANqEFkaIANB8AJqEFkaIANB2AJqEFkaIANBwAJqEFkaIANBqAJqEFkaIANBkAJqEFkaIANB+AFqEFkaIANB4AFqEFkaIANByAFqEFkaIANBsAFqEFkaIANBmAFqEFkaIANBgAFqEFkaIANB6ABqEFkaIANB0ABqEFkaIANBuAZqEFkaIANBoAZqEFkaIANBiAZqEFkaIANB8AVqEFkaIANB2AVqEFkaIANBwAVqEFkaIANBqAVqEFkaIANBkAVqEFkaIANB+ARqEFkaIANB4ARqEFkaIANByARqEFkaIANBsARqEFkaIANBmARqEFkaIANBgARqEFkaIANB6ANqEFkaIANB0ANqEFkaIANB0AZqJAAPCxAAIQELIANB0ANqEKcCIAEQBwALAAuCBgEHfyMAQdAGayIDJAAgA0HQA2ogARCDA0HUiQtBADYCAEHMBSADQdAAaiACEANB1IkLKAIAIQFB1IkLQQA2AgACQCABQQFHBEBBACEBAkACQAJAAkACQAJAA0BB1IkLQQA2AgBBpwQgA0EgaiIEIAFBGGwiBSADQdADamoiAiADQdAAaiAFahAIQdSJCygCACEGQdSJC0EANgIAIAZBAUYNASADQQI2AhhB1IkLQQA2AgAgA0EBNgIIQa8FIAQgA0EIahACIQRB1IkLKAIAIQdB1IkLQQA2AgAgB0EBRg0CIANBAjYCSCADQQAgBGs2AjggA0E4aiIEIAJHBEAgAhBZIQJB1IkLQQA2AgBBwAAgAiAEEAIaQdSJCygCACEIQdSJC0EANgIAIAhBAUYNBAsgA0E4ahBZGiADQQhqEFkaIANBIGoQWRogAUEBaiIBQRBHDQALQdSJC0EANgIAQcQFIAAgA0HQA2oQAhpB1IkLKAIAIQlB1IkLQQA2AgAgCUEBRw0FEAAhAQwECxAAIQEMAwsQACEBDAELEAAhASADQThqEFkaCyADQQhqEFkaIANBIGoQWRoLIANB0ABqEKcCDAILIANBuANqEFkaIANBoANqEFkaIANBiANqEFkaIANB8AJqEFkaIANB2AJqEFkaIANBwAJqEFkaIANBqAJqEFkaIANBkAJqEFkaIANB+AFqEFkaIANB4AFqEFkaIANByAFqEFkaIANBsAFqEFkaIANBmAFqEFkaIANBgAFqEFkaIANB6ABqEFkaIANB0ABqEFkaIANBuAZqEFkaIANBoAZqEFkaIANBiAZqEFkaIANB8AVqEFkaIANB2AVqEFkaIANBwAVqEFkaIANBqAVqEFkaIANBkAVqEFkaIANB+ARqEFkaIANB4ARqEFkaIANByARqEFkaIANBsARqEFkaIANBmARqEFkaIANBgARqEFkaIANB6ANqEFkaIANB0ANqEFkaIANB0AZqJAAPCxAAIQELIANB0ANqEKcCIAEQBwALggYBB38jAEHQBmsiAyQAIANB0ANqIAEQgwNB1IkLQQA2AgBBzAUgA0HQAGogAhADQdSJCygCACEBQdSJC0EANgIAAkAgAUEBRwRAQQAhAQJAAkACQAJAAkACQANAQdSJC0EANgIAQaYEIANBIGoiBCABQRhsIgUgA0HQA2pqIgIgA0HQAGogBWoQCEHUiQsoAgAhBkHUiQtBADYCACAGQQFGDQEgA0ECNgIYQdSJC0EANgIAIANBATYCCEGvBSAEIANBCGoQAiEEQdSJCygCACEHQdSJC0EANgIAIAdBAUYNAiADQQI2AkggA0EAIARrNgI4IANBOGoiBCACRwRAIAIQWSECQdSJC0EANgIAQcAAIAIgBBACGkHUiQsoAgAhCEHUiQtBADYCACAIQQFGDQQLIANBOGoQWRogA0EIahBZGiADQSBqEFkaIAFBAWoiAUEQRw0AC0HUiQtBADYCAEHEBSAAIANB0ANqEAIaQdSJCygCACEJQdSJC0EANgIAIAlBAUcNBRAAIQEMBAsQACEBDAMLEAAhAQwBCxAAIQEgA0E4ahBZGgsgA0EIahBZGiADQSBqEFkaCyADQdAAahCnAgwCCyADQbgDahBZGiADQaADahBZGiADQYgDahBZGiADQfACahBZGiADQdgCahBZGiADQcACahBZGiADQagCahBZGiADQZACahBZGiADQfgBahBZGiADQeABahBZGiADQcgBahBZGiADQbABahBZGiADQZgBahBZGiADQYABahBZGiADQegAahBZGiADQdAAahBZGiADQbgGahBZGiADQaAGahBZGiADQYgGahBZGiADQfAFahBZGiADQdgFahBZGiADQcAFahBZGiADQagFahBZGiADQZAFahBZGiADQfgEahBZGiADQeAEahBZGiADQcgEahBZGiADQbAEahBZGiADQZgEahBZGiADQYAEahBZGiADQegDahBZGiADQdADahBZGiADQdAGaiQADwsQACEBCyADQdADahCnAiABEAcAC6gEAwJ/An0CfCMAQSBrIgMkAAJAAkAgASgCECIEQQdJBEACQAJAAkACQAJA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AUECRw0CIAEgAi4BmAE2AgAgAkECNgIYIAgQWSEDQdSJC0EANgIAQcAAIAMgARACIQNB1IkLKAIAIQtB1IkLQQA2AgAgC0EBRg0AIAEQWSEBIAIoAsABQQJHDQIgASACLgGwATYCACACQQI2AhggBxBZIQRB1IkLQQA2AgBBwAAgBCABEAIhBEHUiQsoAgAhDEHUiQtBADYCACAMQQFGDQAgARBZIQEgAigC2AFBAkcNAiABIAIuAcgBNgIAIAJBAjYCGCAGEFkhBUHUiQtBADYCAEHAACAFIAEQAiEFQdSJCygCACENQdSJC0EANgIAIA1BAUYNACABEFkaQdSJC0EANgIAQcYFIAAgCRACGkHUiQsoAgAhDkHUiQtBADYCACAOQQFHDQEQACEBDAMLEAAhASACQQhqEFkaDAILIAUQWRogBBBZGiADEFkaIAkQWRogAkGoAmoQWRogAkGQAmoQWRogAkH4AWoQWRogAkHgAWoQWRogAkHIAWoQWRogAkGwAWoQWRogAkGYAWoQWRogAkGAAWoQWRogAkHAAmokAA8LQdSJC0EANgIAQQ1BmbEFQeaaA0GYAkGirgUQBUHUiQsoAgAhD0HUiQtBADYCACAPQQFHBEAACxAAIQELIAYQWRogBxBZGiAIEFkaIAJBIGoQWRogAkGAAWoQ8AEgARAHAAuACgETfyMAQeAEayICJAAgAkHgAWogARCDAyACQQA2AjAgAkIANwMoIAJBQGtCADcDACACQQA2AkggAkIANwNYIAJBADYCYCACQgA3A3AgAkEANgJ4IAJCADcDiAEgAkEANgKQASACQgA3A6ABIAJBADYCqAEgAkIANwMgIAJCADcDOCACQgA3A1AgAkIANwNoIAJCADcDgAEgAkIANwOYASACQQA2AsABIAJCADcDuAEgAkIANwPQASACQQA2AtgBIAJCADcDsAEgAkIANwPIAQJAAkAgAigCsANBAkcNACACQQI2AhggAiACLQCgAzYCCCACQSBqEFkhAUHUiQtBADYCAEHAACABIAJBCGoiARACIQpB1IkLKAIAIQNB1IkLQQA2AgACQAJAIANBAUYNACABEFkhASACKALIA0ECRw0CIAEgAi0AuAM2AgAgAkECNgIYIAJBOGoQWSEDQdSJC0EANgIAQcAAIAMgARACIQNB1IkLKAIAIQxB1IkLQQA2AgAgDEEBRg0AIAEQWSEBIAIoAuADQQJHDQIgASACLQDQAzYCACACQQI2AhggAkHQAGoQWSEEQdSJC0EANgIAQcAAIAQgARACIQRB1IkLKAIAIQ1B1IkLQQA2AgAgDUEBRg0AIAEQWSEBIAIoAvgDQQJHDQIgASACLQDoAzYCACACQQI2AhggAkHoAGoQWSEFQdSJC0EANgIAQcAAIAUgARACIQVB1IkLKAIAIQ5B1IkLQQA2AgAgDkEBRg0AIAEQWSEBIAIoApAEQQJHDQIgASACLQCABDYCACACQQI2AhggAkGAAWoQWSEGQdSJC0EANgIAQcAAIAYgARACIQZB1IkLKAIAIQ9B1IkLQQA2AgAgD0EBRg0AIAEQWSEBIAIoAqgEQQJHDQIgASACLQCYBDYCACACQQI2AhggAkGYAWoQWSEHQdSJC0EANgIAQcAAIAcgARACIQdB1IkLKAIAIRBB1IkLQQA2AgAgEEEBRg0AIAEQWSEBIAIoAsAEQQJHDQIgASACLQCwBDYCACACQQI2AhggAkGwAWoQWSEIQdSJC0EANgIAQcAAIAggARACIQhB1IkLKAIAIRFB1IkLQQA2AgAgEUEBRg0AIAEQWSEBIAIoAtgEQQJHDQIgASACLQDIBDYCACACQQI2AhggAkHIAWoQWSEJQdSJC0EANgIAQcAAIAkgARACIQlB1IkLKAIAIRJB1IkLQQA2AgAgEkEBRg0AIAEQWRpB1IkLQQA2AgBBxQUgACAKEAIaQdSJCygCACETQdSJC0EANgIAIBNBAUcNARAAIQEMAwsQACEBIAJBCGoQWRoMAgsgCRBZGiAIEFkaIAcQWRogBhBZGiAFEFkaIAQQWRogAxBZGiAKEFkaIAJByARqEFkaIAJBsARqEFkaIAJBmARqEFkaIAJBgARqEFkaIAJB6ANqEFkaIAJB0ANqEFkaIAJBuANqEFkaIAJBoANqEFkaIAJBiANqEFkaIAJB8AJqEFkaIAJB2AJqEFkaIAJBwAJqEFkaIAJBqAJqEFkaIAJBkAJqEFkaIAJB+AFqEFkaIAJB4AFqEFkaIAJB4ARqJAAPC0HUiQtBADYCAEENQZmxBUHmmgNBmAJBoq4FEAVB1IkLKAIAIRRB1IkLQQA2AgAgFEEBRwRAAAsQACEBCyACQSBqEPABIAJB4AFqEKcCIAEQBwALgAoBE38jAEHgBGsiAiQAIAJB4AFqIAEQgwMgAkEANgIwIAJCADcDKCACQUBrQgA3AwAgAkEANgJIIAJCADcDWCACQQA2AmAgAkIANwNwIAJBADYCeCACQgA3A4gBIAJBADYCkAEgAkIANwOgASACQQA2AqgBIAJCADcDICACQgA3AzggAkIANwNQIAJCADcDaCACQgA3A4ABIAJCADcDmAEgAkEANgLAASACQgA3A7gBIAJCADcD0AEgAkEANgLYASACQgA3A7ABIAJCADcDyAECQAJAIAIoAvABQQJHDQAgAkECNgIYIAIgAi0A4AE2AgggAkEgahBZIQFB1IkLQQA2AgBBwAAgASACQQhqIgEQAiEKQdSJCygCACEDQdSJC0EANgIAAkACQCADQQFGDQAgARBZIQEgAigCiAJBAkcNAiABIAItAPgBNgIAIAJBAjYCGCACQThqEFkhA0HUiQtBADYCAEHAACADIAEQAiEDQdSJCygCACEMQdSJC0EANgIAIAxBAUYNACABEFkhASACKAKgAkECRw0CIAEgAi0AkAI2AgAgAkECNgIYIAJB0ABqEFkhBEHUiQtBADYCAEHAACAEIAEQAiEEQdSJCygCACENQdSJC0EANgIAIA1BAUYNACABEFkhASACKAK4AkECRw0CIAEgAi0AqAI2AgAgAkECNgIYIAJB6ABqEFkhBUHUiQtBADYCAEHAACAFIAEQAiEFQdSJCygCACEOQdSJC0EANgIAIA5BAUYNACABEFkhASACKALQAkECRw0CIAEgAi0AwAI2AgAgAkECNgIYIAJBgAFqEFkhBkHUiQtBADYCAEHAACAGIAEQAiEGQdSJCygCACEPQdSJC0EANgIAIA9BAUYNACABEFkhASACKALoAkECRw0CIAEgAi0A2AI2AgAgAkECNgIYIAJBmAFqEFkhB0HUiQtBADYCAEHAACAHIAEQAiEHQdSJCygCACEQQdSJC0EANgIAIBBBAUYNACABEFkhASACKAKAA0ECRw0CIAEgAi0A8AI2AgAgAkECNgIYIAJBsAFqEFkhCEHUiQtBADYCAEHAACAIIAEQAiEIQdSJCygCACERQdSJC0EANgIAIBFBAUYNACABEFkhASACKAKYA0ECRw0CIAEgAi0AiAM2AgAgAkECNgIYIAJByAFqEFkhCUHUiQtBADYCAEHAACAJIAEQAiEJQdSJCygCACESQdSJC0EANgIAIBJBAUYNACABEFkaQdSJC0EANgIAQcUFIAAgChACGkHUiQsoAgAhE0HUiQtBADYCACATQQFHDQEQACEBDAMLEAAhASACQQhqEFkaDAILIAkQWRogCBBZGiAHEFkaIAYQWRogBRBZGiAEEFkaIAMQWRogChBZGiACQcgEahBZGiACQbAEahBZGiACQZgEahBZGiACQYAEahBZGiACQegDahBZGiACQdADahBZGiACQbgDahBZGiACQaADahBZGiACQYgDahBZGiACQfACahBZGiACQdgCahBZGiACQcACahBZGiACQagCahBZGiACQZACahBZGiACQfgBahBZGiACQeABahBZGiACQeAEaiQADwtB1IkLQQA2AgBBDUGZsQVB5poDQZgCQaKuBRAFQdSJCygCACEUQdSJC0EANgIAIBRBAUcEQAALEAAhAQsgAkEgahDwASACQeABahCnAiABEAcAC4AKARN/IwBB4ARrIgIkACACQeABaiABEK8DIAJBADYCMCACQgA3AyggAkFAa0IANwMAIAJBADYCSCACQgA3A1ggAkEANgJgIAJCADcDcCACQQA2AnggAkIANwOIASACQQA2ApABIAJCADcDoAEgAkEANgKoASACQgA3AyAgAkIANwM4IAJCADcDUCACQgA3A2ggAkIANwOAASACQgA3A5gBIAJBADYCwAEgAkIANwO4ASACQgA3A9ABIAJBADYC2AEgAkIANwOwASACQgA3A8gBAkACQCACKAKwA0ECRw0AIAJBAjYCGCACIAIsAKADNgIIIAJBIGoQWSEBQdSJC0EANgIAQcAAIAEgAkEIaiIBEAIhCkHUiQsoAgAhA0HUiQtBADYCAAJAAkAgA0EBRg0AIAEQWSEBIAIoAsgDQQJHDQIgASACLAC4AzYCACACQQI2AhggAkE4ahBZIQNB1IkLQQA2AgBBwAAgAyABEAIhA0HUiQsoAgAhDEHUiQtBADYCACAMQQFGDQAgARBZIQEgAigC4ANBAkcNAiABIAIsANADNgIAIAJBAjYCGCACQdAAahBZIQRB1IkLQQA2AgBBwAAgBCABEAIhBEHUiQsoAgAhDUHUiQtBADYCACANQQFGDQAgARBZIQEgAigC+ANBAkcNAiABIAIsAOgDNgIAIAJBAjYC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IAJBIGoQWRogAkGAAWoQ8AEgARAHAAuQCwETfyMAQeAEayICJAAgAkHgAWogARCDAyACQQA2AjAgAkIANwMoIAJBQGtCADcDACACQQA2AkggAkIANwNYIAJBADYCYCACQgA3A3AgAkEANgJ4IAJCADcDiAEgAkEANgKQASACQgA3A6ABIAJBADYCqAEgAkIANwMgIAJCADcDOCACQgA3A1AgAkIANwNoIAJCADcDgAEgAkIANwOYASACQQA2AsABIAJCADcDuAEgAkIANwPQASACQQA2AtgBIAJCADcDsAEgAkIANwPIAQJAAkAgAigC8AFBAkcNACACKAKIAkECRw0AIAJBAjYCGCACIAItAPgBIAItAOABajYCCCACQSBqEFkhAUHUiQtBADYCAEHAACABIAJBCGoiARACIQpB1IkLKAIAIQNB1IkLQQA2AgACQAJAIANBAUYNACABEFkhASACKAKgAkECRw0CIAIoArgCQQJHDQIgASACLQCoAiACLQCQAmo2AgAgAkECNgIYIAJBOGoQWSEDQdSJC0EANgIAQcAAIAMgARACIQNB1IkLKAIAIQxB1IkLQQA2AgAgDEEBRg0AIAEQWSEBIAIoAtACQQJHDQIgAigC6AJBAkcNAiABIAItANgCIAItAMACajYCACACQQI2AhggAkHQAGoQWSEEQdSJC0EANgIAQcAAIAQgARACIQRB1IkLKAIAIQ1B1IkLQQA2AgAgDUEBRg0AIAEQWSEBIAIoAoADQQJHDQIgAigCmANBAkcNAiABIAItAIgDIAItAPACajYCACACQQI2AhggAkHoAGoQWSEFQdSJC0EANgIAQcAAIAUgARACIQVB1IkLKAIAIQ5B1IkLQQA2AgAgDkEBRg0AIAEQWSEBIAIoArADQQJHDQIgAigCyANBAkcNAiABIAItALgDIAItAKADajYCACACQQI2AhggAkGAAWoQWSEGQdSJC0EANgIAQcAAIAYgARACIQZB1IkLKAIAIQ9B1IkLQQA2AgAgD0EBRg0AIAEQWSEBIAIoAuADQQJHDQIgAigC+ANBAkcNAiABIAItAOgDIAItANADajYCACACQQI2AhggAkGYAWoQWSEHQdSJC0EANgIAQcAAIAcgARACIQdB1IkLKAIAIRBB1IkLQQA2AgAgEEEBRg0AIAEQWSEBIAIoApAEQQJHDQIgAigCqARBAkcNAiABIAItAJgEIAItAIAEajYCACACQQI2AhggAkGwAWoQWSEIQdSJC0EANgIAQcAAIAggARACIQhB1IkLKAIAIRFB1IkLQQA2AgAgEUEBRg0AIAEQWSEBIAIoAsAEQQJHDQIgAigC2ARBAkcNAiABIAItAMgEIAItALAEajYCACACQQI2AhggAkHIAWoQWSEJQdSJC0EANgIAQcAAIAkgARACIQlB1IkLKAIAIRJB1IkLQQA2AgAgEkEBRg0AIAEQWRpB1IkLQQA2AgBBxQUgACAKEAIaQdSJCygCACETQdSJC0EANgIAIBNBAUcNARAAIQEMAwsQACEBIAJBCGoQWRoMAgsgCRBZGiAIEFkaIAcQWRogBhBZGiAFEFkaIAQQWRogAxBZGiAKEFkaIAJByARqEFkaIAJBsARqEFkaIAJBmARqEFkaIAJBgARqEFkaIAJB6ANqEFkaIAJB0ANqEFkaIAJBuANqEFkaIAJBoANqEFkaIAJBiANqEFkaIAJB8AJqEFkaIAJB2AJqEFkaIAJBwAJqEFkaIAJBqAJqEFkaIAJBkAJqEFkaIAJB+AFqEFkaIAJB4AFqEFkaIAJB4ARqJAAPC0HUiQtBADYCAEENQZmxBUHmmgNBmAJBoq4FEAVB1IkLKAIAIRRB1IkLQQA2AgAgFEEBRwRAAAsQACEBCyACQSBqEPABIAJB4AFqEKcCIAEQBwALkAsBE38jAEHgBGsiAiQAIAJB4AFqIAEQrwMgAkEANgIwIAJCADcDKCACQUBrQgA3AwAgAkEANgJIIAJCADcDWCACQQA2AmAgAkIANwNwIAJBADYCeCACQgA3A4gBIAJBADYCkAEgAkIANwOgASACQQA2AqgBIAJCADcDICACQgA3AzggAkIANwNQIAJCADcDaCACQgA3A4ABIAJCADcDmAEgAkEANgLAASACQgA3A7gBIAJCADcD0AEgAkEANgLYASACQgA3A7ABIAJCADcDyAECQAJAIAIoAvABQQJHDQAgAigCiAJBAkcNACACQQI2AhggAiACLAD4ASACLADgAWo2AgggAkEgahBZIQFB1IkLQQA2AgBBwAAgASACQQhqIgEQAiEKQdSJCygCACEDQdSJC0EANgIAAkACQCADQQFGDQAgARBZIQEgAigCoAJBAkcNAiACKAK4AkECRw0CIAEgAiwAqAIgAiwAkAJqNgIAIAJBAjYCGCACQThqEFkhA0HUiQtBADYCAEHAACADIAEQAiEDQdSJCygCACEMQdSJC0EANgIAIAxBAUYNACABEFkhASACKALQAkECRw0CIAIoAugCQQJHDQIgASACLADYAiACLADAAmo2AgAgAkECNgIYIAJB0ABqEFkhBEHUiQtBADYCAEHAACAEIAEQAiEEQdSJCygCACENQdSJC0EANgIAIA1BAUYNACABEFkhASACKAKAA0ECRw0CIAIoApgDQQJHDQIgASACLACIAyACLADwAmo2AgAgAkECNgIYIAJB6ABqEFkhBUHUiQtBADYCAEHAACAFIAEQAiEFQdSJCygCACEOQdSJC0EANgIAIA5BAUYNACABEFkhASACKAKwA0ECRw0CIAIoAsgDQQJHDQIgASACLAC4AyACLACgA2o2AgAgAkECNgIYIAJBgAFqEFkhBkHUiQtBADYCAEHAACAGIAEQAiEGQdSJCygCACEPQdSJC0EANgIAIA9BAUYNACABEFkhASACKALgA0ECRw0CIAIoAvgDQQJHDQIgASACLADoAyACLADQA2o2AgAgAkECNgIYIAJBmAFqEFkhB0HUiQtBADYCAEHAACAHIAEQAiEHQdSJCygCACEQQdSJC0EANgIAIBBBAUYNACABEFkhASACKAKQBEECRw0CIAIoAqgEQQJHDQIgASACLACYBCACLACABGo2AgAgAkECNgIYIAJBsAFqEFkhCEHUiQtBADYCAEHAACAIIAEQAiEIQdSJCygCACERQdSJC0EANgIAIBFBAUYNACABEFkhASACKALABEECRw0CIAIoAtgEQQJHDQIgASACLADIBCACLACwBGo2AgAgAkECNgIYIAJByAFqEFkhCUHUiQtBADYCAEHAACAJIAEQAiEJQdSJCygCACESQdSJC0EANgIAIBJBAUYNACABEFkaQdSJC0EANgIAQcUFIAAgChACGkHUiQsoAgAhE0HUiQtBADYCACATQQFHDQEQACEBDAMLEAAhASACQQhqEFkaDAILIAkQWRogCBBZGiAHEFkaIAYQWRogBRBZGiAEEFkaIAMQWRogChBZGiACQcgEahBZGiACQbAEahBZGiACQZgEahBZGiACQYAEahBZGiACQegDahBZGiACQdADahBZGiACQbgDahBZ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QcYFIAAgARACGkHUiQsoAgAhC0HUiQtBADYCACALQQFGBEAQACEBDAYLIAwQWRogDRBZGiAOEFkaIAEQWRogA0GAAWokAA8LEAAhASADQQhqEFkaDAQLQdSJC0EANgIAQRRB74QEQemkAkHWBxAIQdSJCygCACEPQdSJC0EANgIAIA9BAUcNAQwCC0HUiQtBADYCAEENQeHNBkGfnwNBwwFB8+cEEAVB1IkLKAIAIRBB1IkLQQA2AgAgEEEBRg0BCwALEAAhAQsgA0HoAGoQWRogA0HQAGoQWRogA0E4ahBZGiADQSBqEFkaIAEQBwALwgoCD38BfiMAQZABayICJAAgAkEYaiABEPkCAkACQAJAAkAgAigCKCIBQQdPDQACQAJAAkACQAJAAkAgAUECaw4EAwABAgULIAJBAzYCECACQgAgAikDGH03AwAMAwsgAkECNgKIASACQQQ2AhAgAiACKAIYQYCAgIB4cyIBNgJ4IAIgATYCACACQfgAahBZGgwCCyACQQM2AogBIAJBBTYCECACIAIpAxhCgICAgICAgICAf4UiETcDeCACIBE3AwAgAkH4AGoQWRoMAQsgAkECNgIQIAJBACACKAIYazYCAAsgAkEYahBZIQFB1IkLQQA2AgBBwAAgASACEAIhB0HUiQsoAgAhAUHUiQtBADYCAAJAIAFBAUYNACACEFkhASAHKAIoIgRBBksNAiAHQRhqIQMCQAJAAkACQAJAIARBAmsOBAABAgMGCyADKAIAIQQgAUECNgIQIAFBACAEazYCAAwDCyADKQMAIREgAUEDNgIQIAFCACARfTcDAAwCCyADKAIAIQQgAkECNgKIASACIARBgICAgHhzIgQ2AnggASAENgIAIAFBBDYCECACQfgAahBZGgwBCyADKQMAIREgAkEDNgKIASACIBFCgICAgICAgICAf4UiETcDeCABIBE3AwAgAUEFNgIQIAJB+ABqEFkaCyADEFkhA0HUiQtBADYCAEHAACADIAEQAiEOQdSJCygCACEIQdSJC0EANgIAIAhBAUYNACABEFkhASAHQUBrKAIAIgVBBksNAiAHQTBqIQMCQAJAAkACQAJAIAVBAmsOBAABAgMGCyADKAIAIQUgAUECNgIQIAFBACAFazYCAAwDCyADKQMAIREgAUEDNgIQIAFCACARfTcDAAwCCyADKAIAIQUgAkECNgKIASACIAVBgICAgHhzIgU2AnggASAFNgIAIAFBBDYCECACQfgAahBZGgwBCyADKQMAIREgAkEDNgKIASACIBFCgICAgICAgICAf4UiETcDeCABIBE3AwAgAUEFNgIQIAJB+ABqEFkaCyADEFkhA0HUiQtBADYCAEHAACADIAEQAiENQdSJCygCACEJQdSJC0EANgIAIAlBAUYNACABEFkhASAHKAJYIgZBBksNAiAHQcgAaiEDAkACQAJAAkACQCAGQQJrDgQAAQIDBgsgAygCACEGIAFBAjYCECABQQAgBms2AgAMAwsgAykDACERIAFBAzYCECABQgAgEX03AwAMAgsgAygCACEGIAJBAjYCiAEgAiAGQYCAgIB4cyIGNgJ4IAEgBjYCACABQQQ2AhAgAkH4AGoQWRoMAQsgAykDACERIAJBAzYCiAEgAiARQoCAgICAgICAgH+FIhE3A3ggASARNwMAIAFBBTYCECACQfgAahBZGgsgAxBZIQNB1IkLQQA2AgBBwAAgAyABEAIhDEHUiQsoAgAhCkHUiQtBADYCACAKQQFGDQAgARBZGkHUiQtBADYCAEHGBSAAIAcQAhpB1IkLKAIAIQtB1IkLQQA2AgAgC0EBRgRAEAAhAQwGCyAMEFkaIA0QWRogDhBZGiAHEFkaIAJBkAFqJAAPCxAAIQEgAhBZGgwEC0HUiQtBADYCAEEUQe+EBEHppAJBjAcQCEHUiQsoAgAhD0HUiQtBADYCACAPQQFHDQEMAgtB1IkLQQA2AgBBDUHhzQZBn58DQcMBQfPnBBAFQdSJCygCACEQQdSJC0EANgIAIBBBAUYNAQsACxAAIQELIAJB4ABqEFkaIAJByABqEFkaIAJBMGoQWRogAkEYahBZGiABEAcAC4YLAhB/An4jAEGQAWsiAiQAIAJBGGogARD5AgJAAkACQAJAIAIoAigiAUEHTw0AAkACQAJAAkACQAJAIAFBAmsOBAMAAQIFCyACQQM2AhAgAiACKQMYIhIgEkI/hyIShSASfTcDAAwDCyACQQI2AogBIAJBBDYCECACIAIoAhhB/////wdxIgE2AnggAiABNgIAIAJB+ABqEFkaDAILIAJBAzYCiAEgAkEFNgIQIAIgAikDGEL///////////8AgyISNwN4IAIgEjcDACACQfgAahBZGgwBCyACQQI2AhAgAiACKAIYIgEgAUEfdSIBcyABazYCAAsgAkEYahBZIQFB1IkLQQA2AgBBwAAgASACEAIhBUHUiQsoAgAhAUHUiQtBADYCAAJAIAFBAUYNACACEFkhASAFKAIoIgRBBksNAiAFQRhqIQMCQAJAAkACQAJAIARBAmsOBAABAgMGCyADKAIAIQQgAUECNgIQIAEgBCAEQR91IgZzIAZrNgIADAMLIAMpAwAhEiABQQM2AhAgASASIBJCP4ciE4UgE303AwAMAgsgAygCACEEIAJBAjYCiAEgAiAEQf////8HcSIENgJ4IAEgBDYCACABQQQ2AhAgAkH4AGoQWRoMAQsgAykDACESIAJBAzYCiAEgAiASQv///////////wCDIhI3A3ggASASNwMAIAFBBTYCECACQfgAahBZGgsgAxBZIQNB1IkLQQA2AgBBwAAgAyABEAIhD0HUiQsoAgAhCUHUiQtBADYCACAJQQFGDQAgARBZIQEgBUFAaygCACIEQQZLDQIgBUEwaiEDAkACQAJAAkACQCAEQQJrDgQAAQIDBgsgAygCACEEIAFBAjYCECABIAQgBEEfdSIHcyAHazYCAAwDCyADKQMAIRIgAUEDNgIQIAEgEiASQj+HIhOFIBN9NwMADAILIAMoAgAhBCACQQI2AogBIAIgBEH/////B3EiBDYCeCABIAQ2AgAgAUEENgIQIAJB+ABqEFkaDAELIAMpAwAhEiACQQM2AogBIAIgEkL///////////8AgyISNwN4IAEgEjcDACABQQU2AhAgAkH4AGoQWRoLIAMQWSEDQdSJC0EANgIAQcAAIAMgARACIQ5B1IkLKAIAIQpB1IkLQQA2AgAgCkEBRg0AIAEQWSEBIAUoAlgiBEEGSw0CIAVByABqIQMCQAJAAkACQAJAIARBAmsOBAABAgMGCyADKAIAIQQgAUECNgIQIAEgBCAEQR91IghzIAhrNgIADAMLIAMpAwAhEiABQQM2AhAgASASIBJCP4ciE4UgE303AwAMAgsgAygCACEEIAJBAjYCiAEgAiAEQf////8HcSIENgJ4IAEgBDYCACABQQQ2AhAgAkH4AGoQWRoMAQsgAykDACESIAJBAzYCiAEgAiASQv///////////wCDIhI3A3ggASASNwMAIAFBBTYCECACQfgAahBZ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WSEBIAVBQGsoAgAiBEEGSw0CIAVBMGohAwJAAkACQAJAAkAgBEECaw4EAAECAwYLIAMoAgAhBCABQQI2AhAgASAEIARBH3UiB3MgB2s2AgAMAwsgAykDACESIAFBAzYCECABIBIgEkI/hyIThSATfTcDAAwCCyADKAIAIQQgAkECNgKIASACIARB/////wdxIgQ2AnggASAENgIAIAFBBDYCECACQfgAahBZGgwBCyADKQMAIRIgAkEDNgKIASACIBJC////////////AIMiEjcDeCABIBI3AwAgAUEFNgIQIAJB+ABqEFkaCyADEFkhA0HUiQtBADYCAEHAACADIAEQAiEOQdSJCygCACEKQdSJC0EANgIAIApBAUYNACABEFkhASAFKAJYIgRBBksNAiAFQcgAaiEDAkACQAJAAkACQCAEQQJrDgQAAQIDBgsgAygCACEEIAFBAjYCECABIAQgBEEfdSIIcyAIazYCAAwDCyADKQMAIRIgAUEDNgIQIAEgEiASQj+HIhOFIBN9NwMADAILIAMoAgAhBCACQQI2AogBIAIgBEH/////B3EiBDYCeCABIAQ2AgAgAUEENgIQIAJB+ABqEFkaDAELIAMpAwAhEiACQQM2AogBIAIgEkL///////////8AgyISNwN4IAEgEjcDACABQQU2AhAgAkH4AGoQWRoLIAMQWSEDQdSJC0EANgIAQcAAIAMgARACIQ1B1IkLKAIAIQtB1IkLQQA2AgAgC0EBRg0AIAEQWRpB1IkLQQA2AgBBxgUgACAFEAIaQdSJCygCACEMQdSJC0EANgIAIAxBAUYEQBAAIQEMBgsgDRBZGiAOEFkaIA8QWRogBRBZGiACQZABaiQADwsQACEBIAIQWRoMBAtB1IkLQQA2AgBBFEHvhARB6aQCQZ4HEAhB1IkLKAIAIRBB1IkLQQA2AgAgEEEBRw0BDAILQdSJC0EANgIAQQ1B4c0GQZ+fA0HDAUHz5wQQBUHUiQsoAgAhEUHUiQtBADYCACARQQFGDQELAAsQACEBCyACQeAAahBZGiACQcgAahBZGiACQTBqEFkaIAJBGGoQWRogARAHAAuMAwEKfyMAQcABayICJAAgAiABEJwDAkACQAJAIAIoAhBBAkcNACACKAIoQQJHDQAgAkFAaygCAEECRw0AIAIoAlhBAkcNACACKAJwQQJHDQAgAigCiAFBAkcNACACKAKgAUECRw0AIAIoArgBQQJGDQELQdSJC0EANgIAQQ1BmbEFQeaaA0GYAkGirgUQBUHUiQsoAgAhCkHUiQtBADYCACAKQQFHDQEQACELIAIQ8AEgCxAHAAsgAi0AqwEhASACKAIYIQMgAigCACEEIAIoAjAhBSACKAJIIQYgAigCYCEHIAIoAnghCCACKAKQASEJIABBAjYCECAAIAFBgAFxIANBHnZBAnEgBUEddkEEcSAGQRx2QQhxIAdBG3ZBEHEgCEEadkEgcSAJQRl2QcAAcXJycnIgBEEfdnJycjYCACACQagBahBZGiACQZABahBZGiACQfgAahBZGiACQeAAahBZGiACQcgAahBZGiACQTBqEFkaIAJBGGoQWRogAhBZGiACQcABaiQADwsAC/gHARh/IwBB4AFrIgMkACADQSBqIgIgARCJA0HUiQtBADYCAEG3BSADQQhqIgEgAygCMBADQdSJCygCACEEQdSJC0EANgIAAkACQAJAIARBAUYNAEHUiQtBADYCAEGvBSACIAEQAiECQdSJCygCACEFQdSJC0EANgIAIAVBAUYNASABEFkhAQJ/AkAgAg0AQdSJC0EANgIAQbcFIAEgAygCSBADQdSJCygCACEGQdSJC0EANgIAIAZBAUYNAkHUiQtBADYCAEGvBSADQThqIAEQAiEIQdSJCygCACEHQdSJC0EANgIAIAdBAUYNAyABEFkhASAIDQBB1IkLQQA2AgBBtwUgASADKAJgEANB1IkLKAIAIQlB1IkLQQA2AgAgCUEBRg0CQdSJC0EANgIAQa8FIANB0ABqIAEQAiELQdSJCygCACEKQdSJC0EANgIAIApBAUYNAyABEFkhASALDQBB1IkLQQA2AgBBtwUgASADKAJ4EANB1IkLKAIAIQxB1IkLQQA2AgAgDEEBRg0CQdSJC0EANgIAQa8FIANB6ABqIAEQAiEOQdSJCygCACENQdSJC0EANgIAIA1BAUYNAyABEFkhASAODQBB1IkLQQA2AgBBtwUgASADKAKQARADQdSJCygCACEPQdSJC0EANgIAIA9BAUYNAkHUiQtBADYCAEGvBSADQYABaiABEAIhEUHUiQsoAgAhEEHUiQtBADYCACAQQQFGDQMgARBZIQEgEQ0AQdSJC0EANgIAQbcFIAEg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AygCACEFIARBAjYC6AEgBCAFQf////8HcSIFNgLYASACIAU2AgAgAkEENgIQIARB2AFqEFkaDAELIAMpAwAhHiAEQQM2AugBIAQgHkL///////////8AgyIeNwPYASACIB43AwAgAkEFNgIQIARB2AFqEFkaCyADEFkhA0HUiQtBADYCAEHAACADIAIQAiEaQdSJCygCACEOQdSJC0EANgIAIA5BAUYNACACEFkhAiABKAJYIgVBBksNAiABQcgAaiEDAkACQAJAAkACQCAFQQJrDgQAAQIDBgsgAygCACEFIAJBAjYCECACIAUgBUEfdSIIcyAIazYCAAwDCyADKQMAIR4gAkEDNgIQIAIgHiAeQj+HIh+FIB99NwMADAILIAMoAgAhBSAEQQI2AugBIAQgBUH/////B3EiBTYC2AEgAiAFNgIAIAJBBDYCECAEQdgBahBZGgwBCyADKQMAIR4gBEEDNgLoASAEIB5C////////////AIMiHjcD2AEgAiAeNwMAIAJBBTYCECAEQdgBahBZGgsgAxBZIQNB1IkLQQA2AgBBwAAgAyACEAIhGUHUiQsoAgAhD0HUiQtBADYCACAPQQFGDQAgAhBZIQIgASgCcCIFQQZLDQIgAUHgAGohAwJAAkACQAJAAkAgBUECaw4EAAECAwYLIAMoAgAhBSACQQI2AhAgAiAFIAVBH3UiCXMgCWs2AgAMAwsgAykDACEeIAJBAzYCECACIB4gHkI/hyIfhSAffTcDAAwCCyADKAIAIQUgBEECNgLoASAEIAVB/////wdxIgU2AtgBIAIgBTYCACACQQQ2AhAgBEHYAWoQWRoMAQsgAykDACEeIARBAzYC6AEgBCAeQv///////////wCDIh43A9gBIAIgHjcDACACQQU2AhAgBEHYAWoQWRoLIAMQWSEDQdSJC0EANgIAQcAAIAMgAhACIRhB1IkLKAIAIRBB1IkLQQA2AgAgEEEBRg0AIAIQWSECIAEoAogBIgVBBksNAiABQfgAaiEDAkACQAJAAkACQCAFQQJrDgQAAQIDBgsgAygCACEFIAJBAjYCECACIAUgBUEfdSIKcyAKazYCAAwDCyADKQMAIR4gAkEDNgIQIAIgHiAeQj+HIh+FIB99NwMADAILIAMoAgAhBSAEQQI2AugBIAQgBUH/////B3EiBTYC2AEgAiAFNgIAIAJBBDYCECAEQdgBahBZGgwBCyADKQMAIR4gBEEDNgLoASAEIB5C////////////AIMiHjcD2AEgAiAeNwMAIAJBBTYCECAEQdgBahBZGgsgAxBZIQNB1IkLQQA2AgBBwAAgAyACEAIhF0HUiQsoAgAhEUHUiQtBADYCACARQQFGDQAgAhBZIQIgASgCoAEiBUEGSw0CIAFBkAFqIQMCQAJAAkACQAJAIAVBAmsOBAABAgMGCyADKAIAIQUgAkECNgIQIAIgBSAFQR91IgtzIAtrNgIADAMLIAMpAwAhHiACQQM2AhAgAiAeIB5CP4ciH4UgH303AwAMAgsgAygCACEFIARBAjYC6AEgBCAFQf////8HcSIFNgLYASACIAU2AgAgAkEENgIQIARB2AFqEFkaDAELIAMpAwAhHiAEQQM2AugBIAQgHkL///////////8AgyIeNwPYASACIB43AwAgAkEFNgIQIARB2AFqEFkaCyADEFkhA0HUiQtBADYCAEHAACADIAIQAiEWQdSJCygCACESQdSJC0EANgIAIBJBAUYNACACEFkhAiABKAK4ASIFQQZLDQIgAUGoAWohAwJAAkACQAJAAkAgBUECaw4EAAECAwYLIAMoAgAhBSACQQI2AhAgAiAFIAVBH3UiDHMgDGs2AgAMAwsgAykDACEeIAJBAzYCECACIB4gHkI/hyIfhSAffTcDAAwCCyADKAIAIQUgBEECNgLoASAEIAVB/////wdxIgU2AtgBIAIgBTYCACACQQQ2AhAgBEHYAWoQWRoMAQsgAykDACEeIARBAzYC6AEgBCAeQv///////////wCDIh43A9gBIAIgHjcDACACQQU2AhAgBEHYAWoQWRoLIAMQWSEDQdSJC0EANgIAQcAAIAMgAhACIRVB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRg0AIAIQWRpB1IkLQQA2AgBBxQUgACABEAIaQdSJCygCACEUQdSJC0EANgIAIBRBAUYEQBAAIQEMBgsgFRBZGiAWEFkaIBcQWRogGBBZGiAZEFkaIBoQWRogGxBZGiABEFkaIARB8AFqJAAPCxAAIQEgBBBZGgwEC0HUiQtBADYCAEEUQe+EBEHppAJBngcQCEHUiQsoAgAhHEHUiQtBADYCACAcQQFHDQEMAgtB1IkLQQA2AgBBDUHhzQZBn58DQcMBQfPnBBAFQdSJCygCACEdQdSJC0EANgIAIB1BAUYNAQsACxAAIQELIARBGGoQ8AEgARAHAAvbAwEGfyMAQaADayICJAAgAkEgaiABEIMDAkACQAJAAkADQAJAAkACQAJAIAJBIGogBEEYbGoiASgCECIDQQJrDgICAAELIAIgASkDAHs3AwgMAgtB1IkLQQA2AgBBFEHUhARB6aQCQdAFEAhB1IkLKAIAIQVB1IkLQQA2AgAgBUEBRg0DAAsgAiABKAIAaTYCCAsgAiADNgIYIAJBCGoiAyABRwRAIAEQWSEBQdSJC0EANgIAQcAAIAEgAxACGkHUiQsoAgAhBkHUiQtBADYCACAGQQFGDQMLIAJBCGoQWRogBEEBaiIEQRBHDQALQdSJC0EANgIAQcQFIAAgAkEgahACGkHUiQsoAgAhB0HUiQtBADYCACAHQQFHDQMQACEBDAILEAAhAQwBCxAAIQEgAkEIahBZGgsgAkEgahCnAiABEAcACyACQYgDahBZGiACQfACahBZGiACQdgCahBZGiACQcACahBZGiACQagCahBZGiACQZACahBZGiACQfgBahBZGiACQeABahBZGiACQcgBahBZGiACQbABahBZGiACQZgBahBZGiACQYABahBZGiACQegAahBZGiACQdAAahBZGiACQThqEFkaIAJBIGoQWRogAkGgA2okAAu8BQESfyMAQYADayICJAAgAiABEK8DAkACQAJAIAIoAhBBAkcNACACKAIoQQJHDQAgAkFAaygCAEECRw0AIAIoAlhBAkcNACACKAJwQQJHDQAgAigCiAFBAkcNACACKAKgAUECRw0AIAIoArgBQQJHDQAgAigC0AFBAkcNACACKALoAUECRw0AIAIoAoACQQJHDQAgAigCmAJBAkcNACACKAKwAkECRw0AIAIoAsgCQQJHDQAgAigC4AJBAkcNACACKAL4AkECRg0BC0HUiQtBADYCAEENQZmxBUHmmgNBmAJBoq4FEAVB1IkLKAIAIRJB1IkLQQA2AgAgEkEBRw0BEAAhEyACEKcCIBMQBwALIAIvAeoCIQEgAi0AqwEhAyACKAIYIQQgAigCACEFIAIoAjAhBiACKAJIIQcgAigCYCEIIAIoAnghCSACKAKQASEKIAIoAsABIQsgAigC2AEhDCACKALwASENIAIoAogCIQ4gAigCoAIhDyACKAK4AiEQIAIoAtACIREgAEECNgIQIAAgAUGAgAJxIARBHnZBAnEgBkEddkEEcSAHQRx2QQhxIAhBG3ZBEHEgCUEadkEgcSAKQRl2QcAAcSADQYABcSALQRd2QYACcSAMQRZ2QYAEcSANQRV2QYAIcSAOQRR2QYAQcSAPQRN2QYAgcSAQQRJ2QYDAAHEgEUERdkGAgAFxcnJycnJycnJycnJyIAVBH3ZycnI2AgAgAkHoAmoQWRogAkHQAmoQWRogAkG4AmoQWRogAkGgAmoQWRogAkGIAmoQWRogAkHwAWoQWRogAkHYAWoQWRogAkHAAWoQWRogAkGoAWoQWRogAkGQAWoQWRogAkH4AGoQWRogAkHgAGoQWRogAkHIAGoQWRogAkEwahBZGiACQRhqEFkaIAIQWRogAkGAA2okAA8LAAuQDwEwfyMAQaADayIDJAAgA0EgaiICIAEQgwNB1IkLQQA2AgBBtwUgA0EIaiIBIAMoAjAQA0HUiQsoAgAhBEHUiQtBADYCAAJAAkACQCAEQQFGDQBB1IkLQQA2AgBBrwUgAiABEAIhAkHUiQsoAgAhBUHUiQtBADYCACAFQQFGDQEgARBZIQECfwJAIAINAEHUiQtBADYCAEG3BSABIAMoAkgQA0HUiQsoAgAhBkHUiQtBADYCACAGQQFGDQJB1IkLQQA2AgBBrwUgA0E4aiABEAIhCEHUiQsoAgAhB0HUiQtBADYCACAHQQFGDQMgARBZIQEgCA0AQdSJC0EANgIAQbcFIAEgAygCYBADQdSJCygCACEJQdSJC0EANgIAIAlBAUYNAkHUiQtBADYCAEGvBSADQdAAaiABEAIhC0HUiQsoAgAhCkHUiQtBADYCACAKQQFGDQMgARBZIQEgCw0AQdSJC0EANgIAQbcFIAEgAygCeBADQdSJCygCACEMQdSJC0EANgIAIAxBAUYNAkHUiQtBADYCAEGvBSADQegAaiABEAIhDkHUiQsoAgAhDUHUiQtBADYCACANQQFGDQMgARBZIQEgDg0AQdSJC0EANgIAQbcFIAEgAygCkAEQA0HUiQsoAgAhD0HUiQtBADYCACAPQQFGDQJB1IkLQQA2AgBBrwUgA0GAAWogARACIRFB1IkLKAIAIRBB1IkLQQA2AgAgEEEBRg0DIAEQWSEBIBENAEHUiQtBADYCAEG3BSABIAMoAqgBEANB1IkLKAIAIRJB1IkLQQA2AgAgEkEBRg0CQdSJC0EANgIAQa8FIANBmAFqIAEQAiEUQdSJCygCACETQdSJC0EANgIAIBNBAUYNAyABEFkhASAUDQBB1IkLQQA2AgBBtwUgASADKALAARADQdSJCygCACEVQdSJC0EANgIAIBVBAUYNAkHUiQtBADYCAEGvBSADQbABaiABEAIhF0HUiQsoAgAhFkHUiQtBADYCACAWQQFGDQMgARBZIQEgFw0AQdSJC0EANgIAQbcFIAEgAygC2AEQA0HUiQsoAgAhGEHUiQtBADYCACAYQQFGDQJB1IkLQQA2AgBBrwUgA0HIAWogARACIRpB1IkLKAIAIRlB1IkLQQA2AgAgGUEBRg0DIAEQWSEBIBoNAEHUiQtBADYCAEG3BSABIAMoAvABEANB1IkLKAIAIRtB1IkLQQA2AgAgG0EBRg0CQdSJC0EANgIAQa8FIANB4AFqIAEQAiEdQdSJCygCACEcQdSJC0EANgIAIBxBAUYNAyABEFkhASAdDQBB1IkLQQA2AgBBtwUgASADKAKIAhADQdSJCygCACEeQdSJC0EANgIAIB5BAUYNAkHUiQtBADYCAEGvBSADQfgBaiABEAIhIEHUiQsoAgAhH0HUiQtBADYCACAfQQFGDQMgARBZIQEgIA0AQdSJC0EANgIAQbcFIAEgAygCoAIQA0HUiQsoAgAhIUHUiQtBADYCACAhQQFGDQJB1IkLQQA2AgBBrwUgA0GQAmogARACISNB1IkLKAIAISJB1IkLQQA2AgAgIkEBRg0DIAEQWSEBICMNAEHUiQtBADYCAEG3BSABIAMoArgCEANB1IkLKAIAISRB1IkLQQA2AgAgJEEBRg0CQdSJC0EANgIAQa8FIANBqAJqIAEQAiEmQdSJCygCACElQdSJC0EANgIAICVBAUYNAyABEFkhASAmDQBB1IkLQQA2AgBBtwUgASADKALQAhADQdSJCygCACEnQdSJC0EANgIAICdBAUYNAkHUiQtBADYCAEGvBSADQcACaiABEAIhKUHUiQsoAgAhKEHUiQtBADYCACAoQQFGDQMgARBZIQEgKQ0AQdSJC0EANgIAQbcFIAEgAygC6AIQA0HUiQsoAgAhKkHUiQtBADYCACAqQQFGDQJB1IkLQQA2AgBBrwUgA0HYAmogARACISxB1IkLKAIAIStB1IkLQQA2AgAgK0EBRg0DIAEQWSEBICwNAEHUiQtBADYCAEG3BSABIAMoAoADEANB1IkLKAIAIS1B1IkLQQA2AgAgLUEBRg0CQdSJC0EANgIAQa8FIANB8AJqIAEQAiEvQdSJCygCACEuQdSJC0EANgIAIC5BAUYNAyABEFkhASAvDQBB1IkLQQA2AgBBtwUgASADKAKYAxADQdSJCygCACEwQdSJC0EANgIAIDBBAUYNAkHUiQtBADYCAEGvBSADQYgDaiABEAIhAkHUiQsoAgAhMUHUiQtBADYCACAxQQFGDQMgARBZGkEBIAJFDQEaC0EACyEBIABBAjYCECAAIAE2AgAgA0GIA2oQWRogA0HwAmoQWRogA0HYAmoQWRogA0HAAmoQWRogA0GoAmoQWRogA0GQAmoQWRogA0H4AWoQWRogA0HgAWoQWRogA0HIAWoQWRogA0GwAWoQWRogA0GYAWoQWRogA0GAAWoQWRogA0HoAGoQWRogA0HQAGoQWRogA0E4ahBZGiADQSBqEFkaIANBoANqJAAPCxAAIQAMAQsQACEAIANBCGoQWRoLIANBIGoQpwIgABAHAAvDJAIzfwF+IwBBsANrIgQkACAEQRhqIAEQgwMCQAJAAkACQCAEKAIoIgFBB08NAAJAAkACQAJAAkACQCABQQJrDgQDAAECBQsgBEEDNgIQIARCACAEKQMYfTcDAAwDCyAEQQI2AqgDIARBBDYCECAEIAQoAhhBgICAgHhzIgE2ApgDIAQgATYCACAEQZgDahBZGgwCCyAEQQM2AqgDIARBBTYCECAEIAQpAxhCgICAgICAgICAf4UiNTcDmAMgBCA1NwMAIARBmANqEFkaDAELIARBAjYCECAEQQAgBCgCGGs2AgALIARBGGoQWSEBQdSJC0EANgIAQcAAIAEgBBACIQFB1IkLKAIAIQJB1IkLQQA2AgACQCACQQFGDQAgBBBZIQIgASgCKCIFQQZLDQIgAUEYaiEDAkACQAJAAkACQCAFQQJrDgQAAQIDBgsgAygCACEFIAJBAjYCECACQQAgBWs2AgAMAwsgAykDACE1IAJBAzYCECACQgAgNX03AwAMAgsgAygCACEFIARBAjYCqAMgBCAFQYCAgIB4cyIFNgKYAyACIAU2AgAgAkEENgIQIARBmANqEFkaDAELIAMpAwAhNSAEQQM2AqgDIAQgNUKAgICAgICAgIB/hSI1NwOYAyACIDU3AwAgAkEFNgIQIARBmANqEFkaCyADEFkhA0HUiQtBADYCAEHAACADIAIQAiEyQdSJCygCACEUQdSJC0EANgIAIBRBAUYNACACEFkhAiABQUBrKAIAIgZBBksNAiABQTBqIQMCQAJAAkACQAJAIAZBAmsOBAABAgMGCyADKAIAIQYgAkECNgIQIAJBACAGazYCAAwDCyADKQMAITUgAkEDNgIQIAJCACA1fTcDAAwCCyADKAIAIQYgBEECNgKoAyAEIAZBgICAgHhzIgY2ApgDIAIgBjYCACACQQQ2AhAgBEGYA2oQWRoMAQsgAykDACE1IARBAzYCqAMgBCA1QoCAgICAgICAgH+FIjU3A5gDIAIgNTcDACACQQU2AhAgBEGYA2oQWRoLIAMQWSEDQdSJC0EANgIAQcAAIAMgAhACITFB1IkLKAIAIRVB1IkLQQA2AgAgFUEBRg0AIAIQWSECIAEoAlgiB0EGSw0CIAFByABqIQMCQAJAAkACQAJAIAdBAmsOBAABAgMGCyADKAIAIQcgAkECNgIQIAJBACAHazYCAAwDCyADKQMAITUgAkEDNgIQIAJCACA1fTcDAAwCCyADKAIAIQcgBEECNgKoAyAEIAdBgICAgHhzIgc2ApgDIAIgBzYCACACQQQ2AhAgBEGYA2oQWRoMAQsgAykDACE1IARBAzYCqAMgBCA1QoCAgICAgICAgH+FIjU3A5gDIAIgNTcDACACQQU2AhAgBEGYA2oQWRoLIAMQWSEDQdSJC0EANgIAQcAAIAMgAhACITBB1IkLKAIAIRZB1IkLQQA2AgAgFkEBRg0AIAIQWSECIAEoAnAiCEEGSw0CIAFB4ABqIQMCQAJAAkACQAJAIAhBAmsOBAABAgMGCyADKAIAIQggAkECNgIQIAJBACAIazYCAAwDCyADKQMAITUgAkEDNgIQIAJCACA1fTcDAAwCCyADKAIAIQggBEECNgKoAyAEIAhBgICAgHhzIgg2ApgDIAIgCDYCACACQQQ2AhAgBEGYA2oQWRoMAQsgAykDACE1IARBAzYCqAMgBCA1QoCAgICAgICAgH+FIjU3A5gDIAIgNTcDACACQQU2AhAgBEGYA2oQWRoLIAMQWSEDQdSJC0EANgIAQcAAIAMgAhACIS9B1IkLKAIAIRdB1IkLQQA2AgAgF0EBRg0AIAIQWSECIAEoAogBIglBBksNAiABQfgAaiEDAkACQAJAAkACQCAJQQJrDgQAAQIDBgsgAygCACEJIAJBAjYCECACQQAgCWs2AgAMAwsgAykDACE1IAJBAzYCECACQgAgNX03AwAMAgsgAygCACEJIARBAjYCqAMgBCAJQYCAgIB4cyIJNgKYAyACIAk2AgAgAkEENgIQIARBmANqEFkaDAELIAMpAwAhNSAEQQM2AqgDIAQgNUKAgICAgICAgIB/hSI1NwOYAyACIDU3AwAgAkEFNgIQIARBmANqEFkaCyADEFkhA0HUiQtBADYCAEHAACADIAIQAiEuQdSJCygCACEYQdSJC0EANgIAIBhBAUYNACACEFkhAiABKAKgASIKQQZLDQIgAUGQAWohAwJAAkACQAJAAkAgCkECaw4EAAECAwYLIAMoAgAhCiACQQI2AhAgAkEAIAprNgIADAMLIAMpAwAhNSACQQM2AhAgAkIAIDV9NwMADAILIAMoAgAhCiAEQQI2AqgDIAQgCkGAgICAeHMiCjYCmAMgAiAKNgIAIAJBBDYCECAEQZgDahBZGgwBCyADKQMAITUgBEEDNgKoAyAEIDVCgICAgICAgICAf4UiNTcDmAMgAiA1NwMAIAJBBTYCECAEQZgDahBZGgsgAxBZIQNB1IkLQQA2AgBBwAAgAyACEAIhLUHUiQsoAgAhGUHUiQtBADYCACAZQQFGDQAgAhBZIQIgASgCuAEiC0EGSw0CIAFBqAFqIQMCQAJAAkACQAJAIAtBAmsOBAABAgMGCyADKAIAIQsgAkECNgIQIAJBACALazYCAAwDCyADKQMAITUgAkEDNgIQIAJCACA1fTcDAAwCCyADKAIAIQsgBEECNgKoAyAEIAtBgICAgHhzIgs2ApgDIAIgCzYCACACQQQ2AhAgBEGYA2oQWRoMAQsgAykDACE1IARBAzYCqAMgBCA1QoCAgICAgICAgH+FIjU3A5gDIAIgNTcDACACQQU2AhAgBEGYA2oQWRoLIAMQWSEDQdSJC0EANgIAQcAAIAMgAhACISxB1IkLKAIAIRpB1IkLQQA2AgAgGkEBRg0AIAIQWSECIAEoAtABIgxBBksNAiABQcABaiEDAkACQAJAAkACQCAMQQJrDgQAAQIDBgsgAygCACEMIAJBAjYCECACQQAgDGs2AgAMAwsgAykDACE1IAJBAzYCECACQgAgNX03AwAMAgsgAygCACEMIARBAjYCqAMgBCAMQYCAgIB4cyIMNgKYAyACIAw2AgAgAkEENgIQIARBmANqEFkaDAELIAMpAwAhNSAEQQM2AqgDIAQgNUKAgICAgICAgIB/hSI1NwOYAyACIDU3AwAgAkEFNgIQIARBmANqEFkaCyADEFkhA0HUiQtBADYCAEHAACADIAIQAiErQdSJCygCACEbQdSJC0EANgIAIBtBAUYNACACEFkhAiABKALoASINQQZLDQIgAUHYAWohAwJAAkACQAJAAkAgDUECaw4EAAECAwYLIAMoAgAhDSACQQI2AhAgAkEAIA1rNgIADAMLIAMpAwAhNSACQQM2AhAgAkIAIDV9NwMADAILIAMoAgAhDSAEQQI2AqgDIAQgDUGAgICAeHMiDTYCmAMgAiANNgIAIAJBBDYCECAEQZgDahBZGgwBCyADKQMAITUgBEEDNgKoAyAEIDVCgICAgICAgICAf4UiNTcDmAMgAiA1NwMAIAJBBTYCECAEQZgDahBZGgsgAxBZIQNB1IkLQQA2AgBBwAAgAyACEAIhKkHUiQsoAgAhHEHUiQtBADYCACAcQQFGDQAgAhBZIQIgASgCgAIiDkEGSw0CIAFB8AFqIQMCQAJAAkACQAJAIA5BAmsOBAABAgMGCyADKAIAIQ4gAkECNgIQIAJBACAOazYCAAwDCyADKQMAITUgAkEDNgIQIAJCACA1fTcDAAwCCyADKAIAIQ4gBEECNgKoAyAEIA5BgICAgHhzIg42ApgDIAIgDjYCACACQQQ2AhAgBEGYA2oQWRoMAQsgAykDACE1IARBAzYCqAMgBCA1QoCAgICAgICAgH+FIjU3A5gDIAIgNTcDACACQQU2AhAgBEGYA2oQWRoLIAMQWSEDQdSJC0EANgIAQcAAIAMgAhACISlB1IkLKAIAIR1B1IkLQQA2AgAgHUEBRg0AIAIQWSECIAEoApgCIg9BBksNAiABQYgCaiEDAkACQAJAAkACQCAPQQJrDgQAAQIDBgsgAygCACEPIAJBAjYCECACQQAgD2s2AgAMAwsgAykDACE1IAJBAzYCECACQgAgNX03AwAMAgsgAygCACEPIARBAjYCqAMgBCAPQYCAgIB4cyIPNgKYAyACIA82AgAgAkEENgIQIARBmANqEFkaDAELIAMpAwAhNSAEQQM2AqgDIAQgNUKAgICAgICAgIB/hSI1NwOYAyACIDU3AwAgAkEFNgIQIARBmANqEFkaCyADEFkhA0HUiQtBADYCAEHAACADIAIQAiEoQdSJCygCACEeQdSJC0EANgIAIB5BAUYNACACEFkhAiABKAKwAiIQQQZLDQIgAUGgAmohAwJAAkACQAJAAkAgEEECaw4EAAECAwYLIAMoAgAhECACQQI2AhAgAkEAIBBrNgIADAMLIAMpAwAhNSACQQM2AhAgAkIAIDV9NwMADAILIAMoAgAhECAEQQI2AqgDIAQgEEGAgICAeHMiEDYCmAMgAiAQNgIAIAJBBDYCECAEQZgDahBZGgwBCyADKQMAITUgBEEDNgKoAyAEIDVCgICAgICAgICAf4UiNTcDmAMgAiA1NwMAIAJBBTYCECAEQZgDahBZGgsgAxBZIQNB1IkLQQA2AgBBwAAgAyACEAIhJ0HUiQsoAgAhH0HUiQtBADYCACAfQQFGDQAgAhBZIQIgASgCyAIiEUEGSw0CIAFBuAJqIQMCQAJAAkACQAJAIBFBAmsOBAABAgMGCyADKAIAIREgAkECNgIQIAJBACARazYCAAwDCyADKQMAITUgAkEDNgIQIAJCACA1fTcDAAwCCyADKAIAIREgBEECNgKoAyAEIBFBgICAgHhzIhE2ApgDIAIgETYCACACQQQ2AhAgBEGYA2oQWRoMAQsgAykDACE1IARBAzYCqAMgBCA1QoCAgICAgICAgH+FIjU3A5gDIAIgNTcDACACQQU2AhAgBEGYA2oQWRoLIAMQWSEDQdSJC0EANgIAQcAAIAMgAhACISZB1IkLKAIAISBB1IkLQQA2AgAgIEEBRg0AIAIQWSECIAEoAuACIhJBBksNAiABQdACaiEDAkACQAJAAkACQCASQQJrDgQAAQIDBgsgAygCACESIAJBAjYCECACQQAgEms2AgAMAwsgAykDACE1IAJBAzYCECACQgAgNX03AwAMAgsgAygCACESIARBAjYCqAMgBCASQYCAgIB4cyISNgKYAyACIBI2AgAgAkEENgIQIARBmANqEFkaDAELIAMpAwAhNSAEQQM2AqgDIAQgNUKAgICAgICAgIB/hSI1NwOYAyACIDU3AwAgAkEFNgIQIARBmANqEFkaCyADEFkhA0HUiQtBADYCAEHAACADIAIQAiElQdSJCygCACEhQdSJC0EANgIAICFBAUYNACACEFkhAiABKAL4AiITQQZLDQIgAUHoAmohAwJAAkACQAJAAkAgE0ECaw4EAAECAwYLIAMoAgAhEyACQQI2AhAgAkEAIBNrNgIADAMLIAMpAwAhNSACQQM2AhAgAkIAIDV9NwMADAILIAMoAgAhEyAEQQI2AqgDIAQgE0GAgICAeHMiEzYCmAMgAiATNgIAIAJBBDYCECAEQZgDahBZGgwBCyADKQMAITUgBEEDNgKoAyAEIDVCgICAgICAgICAf4UiNTcDmAMgAiA1NwMAIAJBBTYCECAEQZgDahBZGgsgAxBZIQNB1IkLQQA2AgBBwAAgAyACEAIhJEHUiQsoAgAhIkHUiQtBADYCACAiQQFGDQAgAhBZGkHUiQtBADYCAEHEBSAAIAEQAhpB1IkLKAIAISNB1IkLQQA2AgAgI0EBRgRAEAAhAQwGCyAkEFkaICUQWRogJhBZGiAnEFkaICgQWRogKRBZGiAqEFkaICsQWRogLBBZGiAtEFkaIC4QWRogLxBZGiAwEFkaIDEQWRogMhBZGiABEFkaIARBsANqJAAPCxAAIQEgBBBZGgwEC0HUiQtBADYCAEEUQe+EBEHppAJBjAcQCEHUiQsoAgAhM0HUiQtBADYCACAzQQFHDQEMAgtB1IkLQQA2AgBBDUHhzQZBn58DQcMBQfPnBBAFQdSJCygCACE0QdSJC0EANgIAIDRBAUYNAQsACxAAIQELIARBGGoQpwIgARAHAAvHJgI0fwJ+IwBBsANrIgUkACAFQRhqIAEQrwMCQAJAAkACQCAFKAIoIgFBB08NAAJAAkACQAJAAkACQCABQQJrDgQDAAECBQsgBUEDNgIQIAUgBSkDGCI2IDZCP4ciNoUgNn03AwAMAwsgBUECNgKoAyAFQQQ2AhAgBSAFKAIYQf////8HcSIBNgKYAyAFIAE2AgAgBUGYA2oQWRoMAgsgBUEDNgKoAyAFQQU2AhAgBSAFKQMYQv///////////wCDIjY3A5gDIAUgNjcDACAFQZgDahBZGgwBCyAFQQI2AhAgBSAFKAIYIgEgAUEfdSIBcyABazYCAAsgBUEYahBZIQFB1IkLQQA2AgBBwAAgASAFEAIhAUHUiQsoAgAhAkHUiQtBADYCAAJAIAJBAUYNACAFEFkhAiABKAIoIgRBBksNAiABQRhqIQMCQAJAAkACQAJAIARBAmsOBAABAgMGCyADKAIAIQQgAkECNgIQIAIgBCAEQR91IgZzIAZrNgIADAMLIAMpAwAhNiACQQM2AhAgAiA2IDZCP4ciN4UgN303AwAMAgsgAygCACEEIAVBAjYCqAMgBSAEQf////8HcSIENgKYAyACIAQ2AgAgAkEENgIQIAVBmANqEFkaDAELIAMpAwAhNiAFQQM2AqgDIAUgNkL///////////8AgyI2NwOYAyACIDY3AwAgAkEFNgIQIAVBmANqEFkaCyADEFkhA0HUiQtBADYCAEHAACADIAIQAiEzQdSJCygCACEVQdSJC0EANgIAIBVBAUYNACACEFkhAiABQUBrKAIAIgRBBksNAiABQTBqIQMCQAJAAkACQAJAIARBAmsOBAABAgMGCyADKAIAIQQgAkECNgIQIAIgBCAEQR91IgdzIAdrNgIADAMLIAMpAwAhNiACQQM2AhAgAiA2IDZCP4ciN4UgN303AwAMAgsgAygCACEEIAVBAjYCqAMgBSAEQf////8HcSIENgKYAyACIAQ2AgAgAkEENgIQIAVBmANqEFkaDAELIAMpAwAhNiAFQQM2AqgDIAUgNkL///////////8AgyI2NwOYAyACIDY3AwAgAkEFNgIQIAVBmANqEFkaCyADEFkhA0HUiQtBADYCAEHAACADIAIQAiEyQdSJCygCACEWQdSJC0EANgIAIBZBAUYNACACEFkhAiABKAJYIgRBBksNAiABQcgAaiEDAkACQAJAAkACQCAEQQJrDgQAAQIDBgsgAygCACEEIAJBAjYCECACIAQgBEEfdSIIcyAIazYCAAwDCyADKQMAITYgAkEDNgIQIAIgNiA2Qj+HIjeFIDd9NwMADAILIAMoAgAhBCAFQQI2AqgDIAUgBEH/////B3EiBDYCmAMgAiAENgIAIAJBBDYCECAFQZgDahBZGgwBCyADKQMAITYgBUEDNgKoAyAFIDZC////////////AIMiNjcDmAMgAiA2NwMAIAJBBTYCECAFQZgDahBZGgsgAxBZIQNB1IkLQQA2AgBBwAAgAyACEAIhMUHUiQsoAgAhF0HUiQtBADYCACAXQQFGDQAgAhBZIQIgASgCcCIEQQZLDQIgAUHgAGohAwJAAkACQAJAAkAgBEECaw4EAAECAwYLIAMoAgAhBCACQQI2AhAgAiAEIARBH3UiCXMgCWs2AgAMAwsgAykDACE2IAJBAzYCECACIDYgNkI/hyI3hSA3fTcDAAwCCyADKAIAIQQgBUECNgKoAyAFIARB/////wdxIgQ2ApgDIAIgBDYCACACQQQ2AhAgBUGYA2oQWRoMAQsgAykDACE2IAVBAzYCqAMgBSA2Qv///////////wCDIjY3A5gDIAIgNjcDACACQQU2AhAgBUGYA2oQWRoLIAMQWSEDQdSJC0EANgIAQcAAIAMgAhACITBB1IkLKAIAIRhB1IkLQQA2AgAgGEEBRg0AIAIQWSECIAEoAogBIgRBBksNAiABQfgAaiEDAkACQAJAAkACQCAEQQJrDgQAAQIDBgsgAygCACEEIAJBAjYCECACIAQgBEEfdSIKcyAKazYCAAwDCyADKQMAITYgAkEDNgIQIAIgNiA2Qj+HIjeFIDd9NwMADAILIAMoAgAhBCAFQQI2AqgDIAUgBEH/////B3EiBDYCmAMgAiAENgIAIAJBBDYCECAFQZgDahBZGgwBCyADKQMAITYgBUEDNgKoAyAFIDZC////////////AIMiNjcDmAMgAiA2NwMAIAJBBTYCECAFQZgDahBZGgsgAxBZIQNB1IkLQQA2AgBBwAAgAyACEAIhL0HUiQsoAgAhGUHUiQtBADYCACAZQQFGDQAgAhBZIQIgASgCoAEiBEEGSw0CIAFBkAFqIQMCQAJAAkACQAJAIARBAmsOBAABAgMGCyADKAIAIQQgAkECNgIQIAIgBCAEQR91IgtzIAtrNgIADAMLIAMpAwAhNiACQQM2AhAgAiA2IDZCP4ciN4UgN303AwAMAgsgAygCACEEIAVBAjYCqAMgBSAEQf////8HcSIENgKYAyACIAQ2AgAgAkEENgIQIAVBmANqEFkaDAELIAMpAwAhNiAFQQM2AqgDIAUgNkL///////////8AgyI2NwOYAyACIDY3AwAgAkEFNgIQIAVBmANqEFkaCyADEFkhA0HUiQtBADYCAEHAACADIAIQAiEuQdSJCygCACEaQdSJC0EANgIAIBpBAUYNACACEFkhAiABKAK4ASIEQQZLDQIgAUGoAWohAwJAAkACQAJAAkAgBEECaw4EAAECAwYLIAMoAgAhBCACQQI2AhAgAiAEIARBH3UiDHMgDGs2AgAMAwsgAykDACE2IAJBAzYCECACIDYgNkI/hyI3hSA3fTcDAAwCCyADKAIAIQQgBUECNgKoAyAFIARB/////wdxIgQ2ApgDIAIgBDYCACACQQQ2AhAgBUGYA2oQWRoMAQsgAykDACE2IAVBAzYCqAMgBSA2Qv///////////wCDIjY3A5gDIAIgNjcDACACQQU2AhAgBUGYA2oQWRoLIAMQWSEDQdSJC0EANgIAQcAAIAMgAhACIS1B1IkLKAIAIRtB1IkLQQA2AgAgG0EBRg0AIAIQWSECIAEoAtABIgRBBksNAiABQcABaiEDAkACQAJAAkACQCAEQQJrDgQAAQIDBgsgAygCACEEIAJBAjYCECACIAQgBEEfdSINcyANazYCAAwDCyADKQMAITYgAkEDNgIQIAIgNiA2Qj+HIjeFIDd9NwMADAILIAMoAgAhBCAFQQI2AqgDIAUgBEH/////B3EiBDYCmAMgAiAENgIAIAJBBDYCECAFQZgDahBZGgwBCyADKQMAITYgBUEDNgKoAyAFIDZC////////////AIMiNjcDmAMgAiA2NwMAIAJBBTYCECAFQZgDahBZGgsgAxBZIQNB1IkLQQA2AgBBwAAgAyACEAIhLEHUiQsoAgAhHEHUiQtBADYCACAcQQFGDQAgAhBZIQIgASgC6AEiBEEGSw0CIAFB2AFqIQMCQAJAAkACQAJAIARBAmsOBAABAgMGCyADKAIAIQQgAkECNgIQIAIgBCAEQR91Ig5zIA5rNgIADAMLIAMpAwAhNiACQQM2AhAgAiA2IDZCP4ciN4UgN303AwAMAgsgAygCACEEIAVBAjYCqAMgBSAEQf////8HcSIENgKYAyACIAQ2AgAgAkEENgIQIAVBmANqEFkaDAELIAMpAwAhNiAFQQM2AqgDIAUgNkL///////////8AgyI2NwOYAyACIDY3AwAgAkEFNgIQIAVBmANqEFkaCyADEFkhA0HUiQtBADYCAEHAACADIAIQAiErQdSJCygCACEdQdSJC0EANgIAIB1BAUYNACACEFkhAiABKAKAAiIEQQZLDQIgAUHwAWohAwJAAkACQAJAAkAgBEECaw4EAAECAwYLIAMoAgAhBCACQQI2AhAgAiAEIARBH3UiD3MgD2s2AgAMAwsgAykDACE2IAJBAzYCECACIDYgNkI/hyI3hSA3fTcDAAwCCyADKAIAIQQgBUECNgKoAyAFIARB/////wdxIgQ2ApgDIAIgBDYCACACQQQ2AhAgBUGYA2oQWRoMAQsgAykDACE2IAVBAzYCqAMgBSA2Qv///////////wCDIjY3A5gDIAIgNjcDACACQQU2AhAgBUGYA2oQWRoLIAMQWSEDQdSJC0EANgIAQcAAIAMgAhACISpB1IkLKAIAIR5B1IkLQQA2AgAgHkEBRg0AIAIQWSECIAEoApgCIgRBBksNAiABQYgCaiEDAkACQAJAAkACQCAEQQJrDgQAAQIDBgsgAygCACEEIAJBAjYCECACIAQgBEEfdSIQcyAQazYCAAwDCyADKQMAITYgAkEDNgIQIAIgNiA2Qj+HIjeFIDd9NwMADAILIAMoAgAhBCAFQQI2AqgDIAUgBEH/////B3EiBDYCmAMgAiAENgIAIAJBBDYCECAFQZgDahBZGgwBCyADKQMAITYgBUEDNgKoAyAFIDZC////////////AIMiNjcDmAMgAiA2NwMAIAJBBTYCECAFQZgDahBZGgsgAxBZIQNB1IkLQQA2AgBBwAAgAyACEAIhKUHUiQsoAgAhH0HUiQtBADYCACAfQQFGDQAgAhBZIQIgASgCsAIiBEEGSw0CIAFBoAJqIQMCQAJAAkACQAJAIARBAmsOBAABAgMGCyADKAIAIQQgAkECNgIQIAIgBCAEQR91IhFzIBFrNgIADAMLIAMpAwAhNiACQQM2AhAgAiA2IDZCP4ciN4UgN303AwAMAgsgAygCACEEIAVBAjYCqAMgBSAEQf////8HcSIENgKYAyACIAQ2AgAgAkEENgIQIAVBmANqEFkaDAELIAMpAwAhNiAFQQM2AqgDIAUgNkL///////////8AgyI2NwOYAyACIDY3AwAgAkEFNgIQIAVBmANqEFkaCyADEFkhA0HUiQtBADYCAEHAACADIAIQAiEoQdSJCygCACEgQdSJC0EANgIAICBBAUYNACACEFkhAiABKALIAiIEQQZLDQIgAUG4AmohAwJAAkACQAJAAkAgBEECaw4EAAECAwYLIAMoAgAhBCACQQI2AhAgAiAEIARBH3UiEnMgEms2AgAMAwsgAykDACE2IAJBAzYCECACIDYgNkI/hyI3hSA3fTcDAAwCCyADKAIAIQQgBUECNgKoAyAFIARB/////wdxIgQ2ApgDIAIgBDYCACACQQQ2AhAgBUGYA2oQWRoMAQsgAykDACE2IAVBAzYCqAMgBSA2Qv///////////wCDIjY3A5gDIAIgNjcDACACQQU2AhAgBUGYA2oQWRoLIAMQWSEDQdSJC0EANgIAQcAAIAMgAhACISdB1IkLKAIAISFB1IkLQQA2AgAgIUEBRg0AIAIQWSECIAEoAuACIgRBBksNAiABQdACaiEDAkACQAJAAkACQCAEQQJrDgQAAQIDBgsgAygCACEEIAJBAjYCECACIAQgBEEfdSITcyATazYCAAwDCyADKQMAITYgAkEDNgIQIAIgNiA2Qj+HIjeFIDd9NwMADAILIAMoAgAhBCAFQQI2AqgDIAUgBEH/////B3EiBDYCmAMgAiAENgIAIAJBBDYCECAFQZgDahBZGgwBCyADKQMAITYgBUEDNgKoAyAFIDZC////////////AIMiNjcDmAMgAiA2NwMAIAJBBTYCECAFQZgDahBZGgsgAxBZIQNB1IkLQQA2AgBBwAAgAyACEAIhJkHUiQsoAgAhIkHUiQtBADYCACAiQQFGDQAgAhBZIQIgASgC+AIiBEEGSw0CIAFB6AJqIQMCQAJAAkACQAJAIARBAmsOBAABAgMGCyADKAIAIQQgAkECNgIQIAIgBCAEQR91IhRzIBRrNgIADAMLIAMpAwAhNiACQQM2AhAgAiA2IDZCP4ciN4UgN303AwAMAgsgAygCACEEIAVBAjYCqAMgBSAEQf////8HcSIENgKYAyACIAQ2AgAgAkEENgIQIAVBmANqEFkaDAELIAMpAwAhNiAFQQM2AqgDIAUgNkL///////////8AgyI2NwOYAyACIDY3AwAgAkEFNgIQIAVBmANqEFkaCyADEFkhA0HUiQtBADYCAEHAACADIAIQAiElQdSJCygCACEjQdSJC0EANgIAICNBAUYNACACEFkaQdSJC0EANgIAQcQFIAAgARACGkHUiQsoAgAhJEHUiQtBADYCACAkQQFGBEAQACEBDAYLICUQWRogJhBZGiAnEFkaICgQWRogKRBZGiAqEFkaICsQWRog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B0kEQAJAAkACQCACQQRrDgICAAELIAAgASsDAJw5AwAgACACNgIQDwtB74QEQemkAkG1BxBiAAsgACABKgIAjjgCACAAIAI2AhAPC0HhzQZBn58DQcMBQfPnBBABAAtqAQF/IAEoAhAiAkEHSQRAAkACQAJAIAJBBGsOAgIAAQsgACABKwMAmzkDACAAIAI2AhAPC0HvhARB6aQCQaoHEGIACyAAIAEqAgCNOAIAIAAgAjYCEA8LQeHNBkGfnwNBwwFB8+cEEAEAC00BAX8CQAJAAkAgASgCECICQQJrDgICAAELIAAgATIBADcDACAAIAI2AhAPC0HUhARB6aQCQfMFEGIACyAAIAEuAQA2AgAgACACNgIQC00BAX8CQAJAAkAgASgCECICQQJrDgICAAELIAAgATAAADcDACAAIAI2AhAPC0HUhARB6aQCQekFEGIACyAAIAEsAAA2AgAgACACNgIQC0kBAXwCfAJAAkACQCABKAIQQQJrDgICAAELIAEpAwC5DAILQdSEBEHppAJBnQYQYgALIAEoAgC3CyECIABBBTYCECAAIAI5AwALSQEBfQJ9AkACQAJAIAEoAhBBAmsOAgIAAQsgASkDALQMAgtB1IQEQemkAkGJBhBiAAsgASgCALILIQIgAEEENgIQIAAgAjgCAAtJAQF8AnwCQAJAAkAgASgCEEECaw4CAgABCyABKQMAugwCC0HUhARB6aQCQacGEGIACyABKAIAuAshAiAAQQU2AhAgACACOQMAC0kBAX0CfQJAAkACQCABKAIQQQJrDgICAAELIAEpAwC1DAILQdSEBEHppAJBkwYQYgALIAEoAgCzCyECIABBBDYCECAAIAI4AgAL/wIBB38jAEEgayICJAACQCABKAIQIgNBB0kEQAJAAkACQAJAAkACQCADQQJrDgQAAQIDBQsgAkECNgIYIAJBADYCCEHUiQtBADYCAEGmBCAAIAEgAkEIaiIBEAhB1IkLKAIAIQRB1IkLQQA2AgAgBEEBRg0GDAMLIAJBAzYCGCACQgA3AwhB1IkLQQA2AgBBpgQgACABIAJBCGoiARAIQdSJCygCACEFQdSJC0EANgIAIAVBAUcNAgwFCyACQQQ2AhggAkEANgIIQdSJC0EANgIAQaYEIAAgASACQQhqIgEQCEHUiQsoAgAhBkHUiQtBADYCACAG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IAQgAzYCECAEQQA2AgwgBCACNgIIIAQgADYCBCAEQgA3AiwgBEGQrwc2AgAgBEIANwIgIARBgICA/AM2AiggBEIANwI0IARBgICA/AM2AjwgBAsbACAAQagBakEIQQQQXSIAQpeAgIAQNwIAIAALQQACQCAAKAIAQQ9GBEAgAUUNASAAIAE2AgwPC0G7ogZBp7cCQakWQf3PAxABAAtB7fUBQae3AkGqFkH9zwMQAQALJgAgACgCAEEPRwRAQbuiBkGntwJBnhZB8sACEAEACyAAIAE2AggLJAAgACgCAEEPRwRAQbuiBkGntwJBoxZBs9MDEAEACyAAKAIMCyQAIAAoAgBBD0cEQEG7ogZBp7cCQZkWQZzEAhABAAsgACgCCAt/ACAAQagBakEcQQQQXSIAIAU2AhggACAENgIUIAAgAzYCECAAIAI2AgwgACABNgIIIABCygA3AgAgAAJ/QQEgAygCBEEBRg0AGkEBIAQoAgRBAUYNABpBASABKAIEQQFGDQAaQQEgAigCBEEBRg0AGiAFKAIEQQFGCzYCBCAAC3EBB38jAEEgayIAJAAgAEEBNgIYIABCgYCAgNAANwIQIABBADoADEHUiQtBADYCAEEHQdidCyAAQQxqIgEQAiEGQdSJCygCACEEQdSJC0EANgIAIARBAUYEQBAAIQUgARB3IAUQBwALIABBIGokACAGC3EBB38jAEEgayIAJAAgAEEBNgIYIABCgYCAgJABNwIQIABBADoADEHUiQtBADYCAEEHQdidCyAAQQxqIgEQAiEGQdSJCygCACEEQdSJC0EANgIAIARBAUYEQBAAIQUgARB3IAUQBwALIABBIGokACAGC3EBB38jAEEgayIAJAAgAEEBNgIYIABCgYCAgKABNwIQIABBADoADEHUiQtBADYCAEEHQdidCyAAQQxqIgEQAiEGQdSJCygCACEEQdSJC0EANgIAIARBAUYEQBAAIQUgARB3IAUQBwALIABBIGokACAGC3EBB38jAEEgayIAJAAgAEEBNgIYIABCgYCAgLABNwIQIABBADoADEHUiQtBADYCAEEHQdidCyAAQQxqIgEQAiEGQdSJCygCACEEQdSJC0EANgIAIARBAUYEQBAAIQUgARB3IAUQBwALIABBIGokACAGC3EBB38jAEEgayIAJAAgAEEBNgIYIABCgYCA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IAYgABEdAAtNAAJAIAAoAgBBNUYEQCAAKAIUIAFNDQEgACgCECABQQJ0aigCAA8LQYKkBkGntwJB/R1B15YBEAEAC0HQigZBp7cCQf4dQdeWARABAAsZACABIAIgAyAErSAFrUIghoQgBiAAETEACx8AIAEgAiADrSAErUIghoQgBa0gBq1CIIaEIAARRwALIgEBfiABIAKtIAOtQiCGhCAEIAARGwAiBUIgiKckASAFpwslACABIAKtIAOtQiCGhCAEIAUgBiAHIAitIAmtQiCGhCAAETgACx0AIAEgAiADIAQgBSAGIAetIAitQiCGhCAAETkACxkAIAEgAiADIAQgBa0gBq1CIIaEIAARJQALFwAgASACrSADrUIghoQgBCAFIAAROgALGwAgASACrSADrUIghoQgBCAFIAYgByAAETsACxUAIAEgAq0gA61CIIaEIAQgABEOAAsZACABIAKtIAOtQiCGhCAEIAUgBiAAETwACyQAIAAoAgBBNUcEQEGCpAZBp7cCQfcdQZXcARABAAsgACgCFAsXACABIAKtIAOtQiCGhCAEIAUgABESAAsUAQF+IAARNgAiAUIgiKckASABpwsaAQF+IAEgAiADIAARSAAiBEIgiKckASAEpwsZACABrSACrUIghoQgAyAEIAUgBiAAESoACxUAIAEgAq0gA61CIIaEIAQgABEhAAsmAQF+IAEgAiADIAQgBa0gBq1CIIaEIAARMgAiB0IgiKckASAHpwsrACABIAKtIAOtQiCGhCAEIAUgBq0gB61CIIaEIAitIAmtQiCGhCAAET0ACy0AIAEgAiADrSAErUIghoQgBSAGIAetIAitQiCGhCAJrSAKrUIghoQgABE1AAshACABIAIgA60gBK1CIIaEIAWtIAatQiCGhCAHIAARJgALHwAgASACIAOtIAStQiCGhCAFrSAGrUIghoQgABEwAAvvAgEIfwJAIAAoAgBBNUYEQCABRQ0BIAAoAhAhBQJAIAAoAhQiBiAAKAIYRwRAIAYhBCAFIQIMAQsgACAGQQF0QQJqIgI2AhggACAAKAIcIAJBAnRBBBBdIgI2AhAgACgCFCIERQRAQQAhBAwBC0EAIQIgBEEETwRAIARBfHEhBwNAIAJBAnQiAyAAKAIQaiADIAVqKAIANgIAIANBBHIiCCAAKAIQaiAFIAhqKAIA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IAIoAgg2AgggAkIANwIAIAJBADYCCCAEQRBqJAAPCxAAIQcgBEEEahDCARogBxAHAAsmAEH04AstAABFBEBB9OALQQE6AAALIABB0IULNgIEIAAgAjYCAAsGAEG55gILBgBB/OcECxMAIAEoAgQgAEYgASgCACACRnELQQACQCAAKAIAQS5GBEAgAUUNASAAIAE2AhQPC0HCqAZBp7cCQfkTQZPRAxABAAtB7fUBQae3AkH6E0GT0QMQAQALQwECfyMAQRBrIgMkACADQQhqIAAgASAAKAIAKAIMEQMAIAMoAgwgAigCBEYgAygCCCACKAIARnEhBCADQRBqJAAgBAsQACAAIAE2AgQgACACNgIAC3wBAX8jAEEgayICJAACQCAAKAIAQS5GBEAgAUUNASACIAEQbDYCHCACIAE2AhggAiACKQIYNwMIIAJBEGogAkEIahBlIAAgAikDEDcCCCACQSBqJAAPC0HCqAZBp7cCQeETQaSwBBABAAtBn6sEQae3AkHiE0GksAQQAQALqQECAX8BfgJ+IwBBEGsiAyQAIANBADYCDCABKAIAIAEgAS0AC0GAAXFBB3YbIQEgA0HghQsoAgA2AghB4IULQQA2AgAgASADQQxqIAJCgICAgICAgICAfxDZBCEEQeCFCygCACECQeCFCyADKAIINgIAIAMgAjYCCAJAIAMoAghBxABHBEAgAygCDCABRg0BIANBEGokACAEDAILIAAQlQwACyAAEJQMAAsLowEBA38CfyMAQRBrIgIkACACQQA2AgwgASgCACABIAEtAAtBgAFxQQd2GyEBIAJB4IULKAIANgIIQeCFC0EANgIAIAEgAkEMakEKQv////8PENkEpyEDQeCFCygCACEEQeCFCyACKAIINgIAIAIgBDYCCAJAIAIoAghBxABHBEAgAigCDCABRg0BIAJBEGokACADDAILIAAQlQwACyAAEJQMAAsLFAAgACABEIAMIgBBnPkKNgIAIAALUgEEf0EIEHIhAUHUiQtBADYCAEHjrgEgASAAEAIhAEHUiQsoAgAhA0HUiQtBADYCACADQQFHBEAgAEHA+QpBsAEQEgALEAAhBCABEG4gBBAHAAujAQEDfwJ/IwBBEGsiAiQAIAJBADYCDCABKAIAIAEgAS0AC0GAAXFBB3YbIQEgAkHghQsoAgA2AghB4IUL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KAIcIABBxAJqENkHIABBuAFqIgFCADcCACABQQA2AgggAS0AC0GAAXFBB3YEfyABKAIIQf////8HcUEBawVBCgshAkHUiQtBADYCAEH5rQEgASACEANB1IkLKAIAIQJB1IkLQQA2AgACQAJAIAJBAUcEQCAAIAEoAgAgASABLQALQYABcUEHdhsiAjYCtAEgACAAQRBqNgIMIABBADYCCANAAkBB1IkLQQA2AgBBm64BIABBzAJqIABByAJqEAIhCkHUiQsoAgAhCUHUiQtBADYCACAJQQFGDQAgCg0DIAAoArQBIAIgASgCBCABLQALIgNB/wBxIANBgAFxQQd2GyIDakYEQEHUiQtBADYCAEH5rQEgASADQQF0EANB1IkLKAIAIQtB1IkLQQA2AgAgC0EBRg0FIAEtAAtBgAFxQQd2BH8gASgCCEH/////B3FBAWsFQQoLIQJB1IkLQQA2AgBB+a0BIAEgAhADQdSJCygCACEMQdSJC0EANgIAIAxBAUYNBSAAIAEoAgAgASABLQALQYABcUEHdhsiAiADajYCtAELQdSJC0EANgIAQZyuASAAKALMAhAGIQ5B1IkLKAIAIQ1B1IkLQQA2AgAgDUEBRg0AIA4gByACIABBtAFqIABBCGogACgCxAIgACgCyAEgAC0AzwEgAEEQaiAAQQxqIAgQrAYNA0HUiQtBADYCAEGergEgAEHMAmoQBhpB1IkLKAIAIQ9B1IkLQQA2AgAgD0EBRw0BCwsMAgsMAQsCQCAAKALIASAALQDPASIDQf8AcSADQYABcUEHdhtFDQAgACgCDCIDIABBEGprQZ8BSg0AIAAgA0EEajYCDCADIAAoAgg2AgALIAUgAiAAKAK0ASAEIAcQjRI3AwAgAEHEAWogAEEQaiAAKAIMIAQQvQNB1IkLQQA2AgBBm64BIABBzAJqIABByAJqEAIhAkHUiQsoAgAhEEHUiQtBADYCACAQQQFHBEAgAgRAIAQgBCgCAEECcjYCAAsgACgCzAIhESABEMIBGiAAQcQBahDCARogAEHQAmokACARDAILCxAAIRIgARDCARogAEHEAWoQwgEaIBIQBwALCxYAIAAgASACIAMgACgCACgCMBEIABoLYQEBfyMAQSBrIgIkACAAKAIAQQVHBEBBq68GQae3AkGkEUGwmwQQAQALIAIgARBsNgIc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EGokACAFDAELEAAhBiABKAIMIgAgACgCBEEBayIBNgIEIAFBf0YEQCAAIAAoAgAoAggRAQALIAYQBwALIgE2AkwLIAHACwsAIABB6NALEPQCCwUAQbABCz8BAn8jAEEQayIDJAAgASgCACgCFCEEIAMgAikDCDcDCCADIAIpAwA3AwAgACABIANBCCAEEQcAIANBEGokAAsXACAAIAFCACACQQggASgCACgCEBEdAAsTACAAIAEgAiAAKAIAKAIgEQYACxoAIAAgASACIAMgBCAFIAAoAgAoAiQRCwAaCxoAIAAgASACIAMgBCAFIAAoAgAoAhwRCwAaCwsAIABB2NALEPQCCwUAQYUBCwUAQagBCycBAX8gACgCDCIBIAAoAhBGBEAgACAAKAIAKAIkEQIADwsgAS0AAAsPACAAIAAoAgAoAhgRAgALLAEBfwJ/IAAoAgwiASAAKAIQRgRAIAAgACgCACgCJBECAAwBCyABLQAAC8ALCwAgAEGU0gsQ9AILBQBBkAELsQEBBH8jAEEQayIFJAADQAJAIAIgBEwNACAAKAIYIgMgACgCHCIGTwR/IAAgAS0AACAAKAIAKAI0EQQAQX9GDQEgBEEBaiEEIAFBAWoFIAUgBiADazYCDCAFIAIgBGs2AgggAyABIAVBCGoiAyAFQQxqIgYgAygCACAGKAIASBsoAgAiAxDdAxogACADIAAoAhhqNgIYIAMgBGohBCABIANqCyEBDAELCyAFQRBqJAAgBAsFAEGEAQssACAAIAAoAgAoAiQRAgBBf0cEfyAAIAAoAgwiAEEBajYCDCAALQAABUF/CwvYAQEFfyMAQRBrIgQkAANAAkAgAiAFTA0AAn8gACgCDCIDIAAoAhAiBkkEQCAEQf////8HNgIMIAQgBiADazYCCCAEIAIgBWs2AgQgASADIARBBGoiASAEQQhqIgMgASgCACADKAIASBsiASAEQQxqIgMgASgCACADKAIASBsoAgAiAxDdAyEHIAAgACgCDCADajYCDCAHIANqDAELIAAgACgCACgCKBECACIDQX9GDQEgASADwDoAAEEBIQMgAUEBagshASADIAVqIQUMAQsLIARBEGokACAFCwUAQY8BCxUAIABBljcQwhIiAEHc+go2AgAgAAsGAEGc7QIL3wIDA38CfgJ8IwBBMGsiACQAAn9BsMAL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bGooAgQPC0Hy+AVBp7cCQegCQf6LBBABAAtB/40GQae3AkHqAkH+iwQQAQALMAAgASgCACIBKAIAQdwARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAKMASABEJsCCzAAIAEoAgAiASgCAEHbAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCjAEgARCbAgswACABKAIAIgEoAgBB2gBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAowBIAEQmwILMAAgASgCACIBKAIAQdkARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAKMASABEJsCCzAAIAEoAgAiASgCAEHYAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCjAEgARCbAgswACABKAIAIgEoAgBB1wBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAowBIAEQmwILMAAgASgCACIBKAIAQdYARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAKMASABEJsCCzAAIAEoAgAiASgCAEHVAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCjAEgARCbAgswACABKAIAIgEoAgBB1ABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAowBIAEQmwILQgACQCAAKAIAQcIARgRAIAFFDQEgACABNgIQDwtB1acGQae3AkGmIUHG0AMQAQALQe31AUGntwJBpyFBxtADEAEACzAAIAEoAgAiASgCAEHTAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCjAEgARCbAgswACABKAIAIgEoAgBB0gBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAowBIAEQmwILMAAgASgCACIBKAIAQdEARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAKMASABEJsCCzAAIAEoAgAiASgCAEHQAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCjAEgARCbAgswACABKAIAIgEoAgBBzwBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAowBIAEQmwILMAAgASgCACIBKAIAQc4ARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAKMASABEJsCCzAAIAEoAgAiASgCAEHNAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCjAEgARCbAgswACAB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RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAKMASABEJsCCy8AIAEoAgAiASgCAEEJRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAKMASABEJsCCy8AIAEoAgAiASgCAEEIRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAKMASABEJsCCy8AIAEoAgAiASgCAEEHRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAKMASABEJsCCy8AIAEoAgAiASgCAEEGRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAKMASABEJsCCy8AIAEoAgAiASgCAEEFRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAKMASABEJsCCy8AIAEoAgAiASgCAEEERwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAKMASABEJsCCyoAIAAoAgBBwABHBEBB7qQGQae3AkHhIEGgmAEQAQALIABBCGogARDsBAsvACABKAIAIgEoAgBBA0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCjAEgARCbAgsvACABKAIAIgEoAgBBAkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCjAEgARCbAgsvACABKAIAIgEoAgBBAUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCjAEgARCbAguQBAEHfyAAKAKMASEHIAAQ2gQaIAAoAowBIQQCQAJAAkAgACgChAEiASAAKAKIAUcEQCABIAQ2AgAgACABQQRqNgKEAQwBCyABIAAoAoABIgVrIgJBAnUiBkEBaiIDQYCAgIAETw0BQf////8DIAJBAXUiCCADIAMgCEkbIAJB/P///wdPGyIDBH8gA0GAgICABE8NAyADQQJ0EFwFQQALIgggBkECdGoiAiAENgIAIAJBBGohBCABIAVHBEADQCACQQRrIgIgAUEEayIBKAIANgIAIAEgBUcNAAsgACgCgAEhAQsgACAIIANBAnRqNgKIASAAIAQ2AoQBIAAgAjYCgAEgAUUNACABEFoLIAcgACgCjAEQ3AIgACgCjAEhBCAAKAKsASIBIAAoArABRwRAIAEgBDYCACAAIAFBBGo2AqwBDwsgASAAKAKoASIFayICQQJ1IgdBAWoiA0GAgICABE8NAEH/////AyACQQF1IgYgAyADIAZJGyACQfz///8HTxsiAwR/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swNB6gEQYgALIANBj60BIAEQWCACKAIAQQFHDWsgAigCFCIAQQBMDWogA0EEaiEHA0AgAEEBayIFIAIoAhRPDW0gAigCECAFQQJ0aiIEKAIARQ1uIAdBkIoBIAQQWyAAQQFLIQkgBSEAIAkNAAsMagsgA0GQrQEgARBYIAIoAgBBAkcNaiACKAIQBEAgA0EEakGQigEgAkEQahBbCwxcCyADQZGtASABEFggAigCAEEDRw1pDF8LIANBkq0BIAEQWCACKAIAQQRHDWggAigCFARAIANBBGpBkIoBIAJBFGoQWwsgAigCEEUNZyADQQRqQZCKASACQRBqEFsMZwsgA0GTrQEgARBYIAIoAgBBBUcNZyADQZCKASACQSRqEFggAigCIEUNZiADQQRqQZCKASACQSBqEFsMZgsgA0GUrQEgARBYIAIoAgBBBkcNZiACKAIMIgBBAEwNZSADQQRqIQcDQCAAQQFrIgUgAigCDE8NaCACKAIIIAVBAnRqIgQoAgBFDWkgB0GQigEgBBBbIABBAUshCiAFIQAgCg0ACwxlCyADQZWtASABEFggAigCAEEHRw1lIANBkIoBIAJBHGoQWCACKAIQIgBBAEwNZCADQQRqIQcDQCAAQQFrIgUgAigCEE8NZyACKAIMIAVBAnRqIgQoAgBFDWggB0GQigEgBBBbIABBAUshCyAFIQAgCw0ACwxkCyADQZatASABEFggAigCAEEIRg1jDGQLIANBl60BIAEQWCACKAIAQQlHDWMMXAsgA0GYrQEgARBYIAIoAgBBCkYNYQxiCyADQZmtASABEFggAigCAEELRw1hDFcLIANBmq0BIAEQWCACKAIAQQxHDWAMWwsgA0GbrQEgARBYIAIoAgBBDUcNXwxZCyADQZytASABEFggAigCAEEYRw1eDFoLIANBna0BIAEQWCACKAIAQRlHDV0gA0GQigEgAkEgahBYDFkLIANBnq0BIAEQWCACKAIAQRpHDVwMUAsgA0GfrQEgARBYIAIoAgBBG0cNWwxQCyADQaCtASABEFggAigCAEEcRg1ZDFoLIANBoa0BIAEQWCACKAIAQR1HDVkMUgsgA0GirQEgARBYIAIoAgBBHkcNWCADQZCKASACQRRqEFgMUQsgA0GjrQEgARBYIAIoAgBBH0cNVwxJCyADQaStASABEFggAigCAEEg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AigCAEHMAEcNIAwTCyADQdutASABEFggAigCAEHNAEcNHwwSCyADQdytASABEFggAigCAEHOAEcNHgwXCyADQd2tASABEFggAigCAEHPAEcNHSACKAIYBEAgA0EEakGQigEgAkEYahBbCyACKAIUBEAgA0EEakGQigEgAkEUahBbCyACKAIQBEAgA0EEakGQigEgAkEQahBbCwwWCyADQd6tASABEFggAigCAEHQAEYNGwwcCyADQd+tASABEFggAigCAEHRAEcNGwwUCyADQeCtASABEFggAigCAEHSAEcNGiACKAIUBEAgA0EEakGQigEgAkEUahBbCwwSCyADQeGtASABEFggAigCAEHTAEcNGQwLCyADQeKtASABEFggAigCAEHUAEcNGAwQCyADQeOtASABEFggAigCAEHVAEcNFwwQCyADQeStASABEFggAigCAEHWAEcNFgwHCyADQeWtASABEFggAigCAEHXAEcNFQwHCyADQeatASABEFggAigCAEHYAEcNFAwRCyADQeetASABEFggAigCAEHZAEcNEwwLCyADQeitASABEFggAigCAEHaAEcNEgwJCyADQemtASABEFggAigCAEHbAEcNEQwDCyADQeqtASABEFggAigCAEHcAEcNECADQZCKASACQTxqEFggAigCMCIAQQBMDQ8gA0EEaiEHA0AgAEEBayIFIAIoAjBPDRIgAigCLCAFQQJ0aiIEKAIARQ0TIAdBkIoBIAQQWyAAQQFLIRIgBSEAIBINAAsMDwsgA0GQigEgAkEUahBYCyADQZCKASACQRBqEFgLIANBkIoBIAJBDGoQWAwKCyADQZCKASACQRxqEFgLIANBkIoBIAJBGGoQWAsgA0GQigEgAkEUahBYCyADQZCKASACQRBqEFgMCAsgA0GQigEgAkEUahBYCyADQZCKASACQRBqEFgLIANBkIoBIAJBDGoQWAwFCyADQZCKASACQShqEFgLIANBkIoBIAJBJGoQWAwDCyADQZCKASACQRxqEFggA0GQigEgAkEYahBYDAILIANBkIoBIAJBCGoQWAwBCyACKAIIRQ0AIANBBGpBkIoBIAJBCGoQWwsgBigCAEEDRgRAIAEoAgBFDQMgA0EEakGMrQEgARBbCw8LQfDtBUHFmANBlAZBjd4AEAEAC0HFogFBiaIDQbwBQaaI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BUHFmANBlAZBjd4AEAEACyAAIAEQnAILLAAgASgCACIBKAIAQdsARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQnAILLAAgASgCACIBKAIAQdoARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQnAILLAAgASgCACIBKAIAQdkARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQnAILQgACQCAAKAIAQcEARgRAIAFFDQEgACABNgIMDwtB+KgGQae3AkH4IEGItgMQAQALQbr1AUGntwJB+SBBiLYDEAEACywAIAEoAgAiASgCAEHYAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJwCCywAIAEoAgAiASgCAEHXAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJwCCywAIAEoAgAiASgCAEHWAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJwCCywAIAEoAgAiASgCAEHVAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJwCCywAIAEoAgAiASgCAEHUAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJwCCywAIAEoAgAiASgCAEHTAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJwCCywAIAEoAgAiASgCAEHSAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJwCCywAIAEoAgAiASgCAEHRAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJwCCywAIAEoAgAiASgCAEHQAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJwCCywAIAEoAgAiASgCAEHPAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJwCCyYAIAAoAgBBwQBHBEBB+KgGQae3AkHtIEGBLhABAAsgACABNgIICywAIAEoAgAiASgCAEHOAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJwCCywAIAEoAgAiASgCAEHNAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJwCCywAIAEoAgAiASgCAEHMAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJwCCywAIAEoAgAiASgCAEHLAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJwCCywAIAEo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a3VwWzY1K2ldID0gaTsgLy8gJ0EtWicKICAgIGJhc2U2NFJldmVyc2VMb29rdXBbOTcraV0gPSAyNitpOyAvLyAnYS16JwogIH0KICBiYXNlNjRSZXZlcnNlTG9va3VwWzQzXSA9IDYyOyAvLyAnKycKICBiYXNlNjRSZXZlcnNlTG9va3VwWzQ3XSA9IDYzOyAvLyAnLycKICAvKiogQG5vaW5saW5lIElubGluaW5nIHRoaXMgZnVuY3Rpb24gd291bGQgbWVhbiBleHBhbmRpbmcgdGhlIGJhc2U2NCBzdHJpbmcgNHggdGltZXMgaW4gdGhlIHNvdXJjZSBjb2RlLCB3aGljaCBDbG9zdXJlIHNlZW1zIHRvIGJlIGhhcHB5IHRvIGRvLiAqLwogIGZ1bmN0aW9uIGJhc2U2NERlY29kZVRvRXhpc3RpbmdVaW50OEFycmF5KHVpbnQ4QXJyYXksIG9mZnNldCwgYjY0KSB7CiAgICB2YXIgYjEsIGIyLCBpID0gMCwgaiA9IG9mZnNldCwgYkxlbmd0aCA9IGI2NC5sZW5ndGgsIGVuZCA9IG9mZnNldCArIChiTGVuZ3RoKjM+PjIpIC0gKGI2NFtiTGVuZ3RoLTJdID09ICc9JykgLSAoYjY0W2JMZW5ndGgtMV0gPT0gJz0nKTsKICAgIGZvciAoOyBpIDwgYkxlbmd0aDsgaSArPSA0KSB7CiAgICAgIGIxID0gYmFzZTY0UmV2ZXJzZUxvb2t1cFtiNjQuY2hhckNvZGVBdChpKzEpXTsKICAgICAgYjIgPSBiYXNlNjRSZXZlcnNlTG9va3VwW2I2NC5jaGFyQ29kZUF0KGkrMildOwogICAgICB1aW50OEFycmF5W2orK10gPSBiYXNlNjRSZXZlcnNlTG9va3VwW2I2NC5jaGFyQ29kZUF0KGkpXSA8PCAyIHwgYjEgPj4gNDsKICAgICAgaWYgKGogPCBlbmQpIHVpbnQ4QXJyYXlbaisrXSA9IGIxIDw8IDQgfCBiMiA+PiAyOwogICAgICBpZiAoaiA8IGVuZCkgdWludDhBcnJheVtqKytdID0gYjIgPDwgNiB8IGJhc2U2NFJldmVyc2VMb29rdXBbYjY0LmNoYXJDb2RlQXQoaSszKV07CiAgICB9AHRhYmxpZnl8AHsAY3R0egBpNjQuY3R6AGkzMi5jdHoAaTY0LmVxegBpMzIuZXF6AGN0bHoAaTY0LmNsegBpMzIuY2x6AHN0YWNrIGlzIG5vdCBlbXB0eQBzLWV4cHIgc3RhY2sgZW1wdHkAYmxvY2sgd2l0aCBhIHZhbHVlIG11c3Qgbm90IGJlIGVtcHR5AHNldElkZW50aXR5AFVuZXhwZWN0ZWQgdHVwbGUuZXh0cmFjdCBhcml0eQB1bmV4cGVjdGVkIHR1cGxlLmRyb3AgYXJpdHkALWluZmluaXR5AC1JbmZpbml0eQBFeHBlY3RlZCAwIG9yIDEgZm9yIG11dGFiaWxpdHkAdGVtcFR5cGVzW3JldF0gPT0gdHkAaW52YWxpZCBwYXJhbSBlbnRyeQBzdHJpbmcubmV3X3V0ZjhfYXJyYXlfdHJ5AHN0cmluZy5uZXdfdXRmOF90cnkAdGhlcmUgc2hvdWxkIGJlIGF0IG1vc3Qgb25lICdjYXRjaF9hbGwnIGNsYXVzZSBwZXIgdHJ5ACA7OyBlbmQgdHJ5AG11bHRpbWVtb3J5AGFzeW5jaWZ5X21lbW9yeQBjb21iaW5lZF9tZW1vcnkAYXN5bmNpZnktaW4tc2Vjb25kYXJ5LW1lbW9yeQBpbnN0cnVtZW50LW1lbW9yeQBidWxrLW1lbW9yeQByZW1vdmUtbWVtb3J5AGdyb3dNZW1vcnkgb24gbm9uLWV4aXN0aW5nIG1lbW9yeQBzZXRNZW1vcnlTaXplIGNhbGxlZCBvbiBub24tZXhpc3RpbmcgbWVtb3J5AGdldE1lbW9yeVNpemUgY2FsbGVkIG9uIG5vbi1leGlzdGluZyBtZW1vcnkAZXhwZWN0ZWQgZW5kIG9mIG1lbW9yeQBjb21iaW5lcyBtdWx0aXBsZSBtZW1vcmllcyBpbnRvIGEgc2luZ2xlIG1lbW9yeQBoaWdoZXN0ID4gbWVtb3J5AG9mZnNldCA+IG1lbW9yeQBieXRlcyA+IG1lbW9yeQBmaW5hbCA+IG1lbW9yeQBnZXRNZW1vcnkAbWFrZUZyb21NZW1vcnkAcHJlcENvbWJpbmVkTWVtb3J5AGFkZE1lbW9yeQBGZWJydWFyeQBKYW51YXJ5AHVuaGFuZGxlZCB1bmFyeQBvcHRpbWl6ZVRlcm5hcnkAU0lNRFRlcm5hcnkAd2FzbSBWTXMgbWF5IG5vdCBhY2NlcHQgdGhpcyBiaW5hcnkAZXJyb3IgaW4gcGFyc2luZyB3YXNtIGJpbmFyeQBkdW1wIERXQVJGIGRlYnVnIGluZm8gc2VjdGlvbnMgZnJvbSB0aGUgcmVhZCBiaW5hcnkAdmlzaXRCaW5hcnkAc3RyaW5nVG9CaW5hcnkAdmlzaXRVbmFyeQBkZWR1cGxpY2F0ZVVuYXJ5AGxlZ2FsaXplcyBpNjQgdHlwZXMgb24gdGhlIGltcG9ydC9leHBvcnQgYm91bmRhcnkAdmlzaXRUcnkAQmluYXJ5ZW5TdHJpbmdOZXdTZXRUcnkAQmluYXJ5ZW5TdHJpbmdOZXdJc1RyeQBzY29wZS5raW5kID09IFNjb3BlOjpUcnkAd2FzbTJqc19tZW1vcnlfY29weQBvdXQgb2YgYm91bmRzIHNlZ21lbnQgYWNjZXNzIGluIG1lbW9yeS5jb3B5AGFycmF5LmNvcHkAb3V0IG9mIGJvdW5kcyBzZWdtZW50IGFjY2VzcyBpbiB0YWJsZS5jb3B5AGludmFsaWQgZGVzdCB0YWJsZSBuYW1lIGluIHRhYmxlLmNvcHkAaW52YWxpZCBzb3VyY2UgdGFibGUgbmFtZSBpbiB0YWJsZS5jb3B5ACpwcmVHcmFwaC5nZXRTZXRzZXNbaW5mbHVlbmNlZEdldF0uYmVnaW4oKSA9PSBjb3B5AHZpc2l0TWVtb3J5Q29weQBBcnJheUNvcHkAVGFibGVDb3B5AGFueQB2aXNpdEFueQAhZHVtbXkASnVseQBmaW5hbGx5AGxlZ2FsaXplLWpzLWludGVyZmFjZS1taW5pbWFsbHkAbWVtb3J5LmF0b21pYy5ub3RpZnkAQXRvbWljTm90aWZ5AHNvdXBlcmlmeQBwb3BwaWZ5AHRhYmxpZnkAdGFpbCBjYWxscyBub3QgeWV0IHN1cHBvcnRlZCBpbiBhc3luY2lmeQBrZXkAdW5yZWFjaGFibGUgdHJ5LWNhdGNoIG11c3QgaGF2ZSB1bnJlYWNoYWJsZSB0cnkgYm9keQBpZiB3aXRob3V0IGVsc2UgbXVzdCBub3QgcmV0dXJuIGEgdmFsdWUgaW4gYm9keQB1bnJlYWNoYWJsZSB0cnktY2F0Y2ggbXVzdCBoYXZlIHVucmVhY2hhYmxlIGNhdGNoIGJvZHkAKSBoYXMgcGFyYW1zLCBzbyB0aGVyZSBzaG91bGQgYmUgYSBzaW5nbGUgcG9wIHdpdGhpbiB0aGUgY2F0Y2ggYm9keQBCaW5hcnllblRyeVNldEJvZHkAQmluYXJ5ZW5Mb29wU2V0Qm9keQBCaW5hcnllbkZ1bmN0aW9uU2V0Qm9keQBCaW5hcnllblRyeUdldEJvZHkAQmluYXJ5ZW5Mb29wR2V0Qm9keQBCaW5hcnllblRyeUFwcGVuZENhdGNoQm9keQBpNjQuY3R6IHNob3VsZCBiZSByZW1vdmVkIGFscmVhZHkAcmVzZXRUaHJlYWRzQXJlUmVhZHkAc29ydHMgZnVuY3Rpb25zIGJ5IGFjY2VzcyBmcmVxdWVuY3kAc29ydHMgbG9jYWxzIGJ5IGFjY2VzcyBmcmVxdWVuY3kAc29ydHMgZ2xvYmFscyBieSBhY2Nlc3MgZnJlcXVlbmN5AG9wdGltaXplIHRyaXZpYWwgdHVwbGVzIGF3YXkAc3RyaW5nLm5ld193dGY4X2FycmF5AHN0cmluZy5lbmNvZGVfd3RmOF9hcnJheQBzdHJpbmcubmV3X2xvc3N5X3V0ZjhfYXJyYXkAc3RyaW5nLmVuY29kZV9sb3NzeV91dGY4X2FycmF5AHN0cmluZy5uZXdfdXRmOF9hcnJheQBzdHJpbmcuZW5jb2RlX3V0ZjhfYXJyYXkAc3RyaW5nLm5ld193dGYxNl9hcnJheQBzdHJpbmcuZW5jb2RlX3d0ZjE2X2FycmF5AHdyb25nIG51bWJlciBvZiBlbGVtZW50cyBpbiBhcnJheQBhcnJheS5uZXcgaGVhcCB0eXBlIG11c3QgYmUgYXJyYXkAYXJyYXkuaW5pdCBoZWFwIHR5cGUgbXVzdCBiZSBhcnJheQBnZXRBcnJheQBhcHBlbmRUb0FycmF5AFVpbnQ4QXJyYXkASW50OEFycmF5AFVpbnQxNkFycmF5AEludDE2QXJyYXkARmxvYXQ2NEFycmF5AFVpbnQzMkFycmF5AEludDMyQXJyYXkARmxvYXQzMkFycmF5AFRodXJzZGF5AFR1ZXNkYXkAV2VkbmVzZGF5AFNhdHVyZGF5AFN1bmRheQBNb25kYXkARnJpZGF5AE1heQB2YWwudHlwZSA9PSBUeQAlbS8lZC8leQAweCVsbHgAdW5hcnktcG9zdGZpeAB1bmFyeS1wcmVmaXgAVW5yZWNvZ25pemVkIGZlYXR1cmUgcG9saWN5IHByZWZpeABhcnJheV9zZXRfaW5kZXgAYXJyYXlfZ2V0X2luZGV4AF9fYXN5bmNpZnlfZ2V0X2NhbGxfaW5kZXgAX19hc3luY2lmeV9jaGVja19jYWxsX2luZGV4AGluZmx1ZW5jZWRHZXQtPmluZGV4ID09IGNvcHktPmluZGV4AHNldC0+aW5kZXggPT0gZ2V0LT5pbmRleABmbG93LnZhbHVlcy5zaXplKCkgPiBjdXJyLT5pbmRleABpbmZsdWVuY2VkR2V0LT5pbmRleCA9PSB0cml2aWFsLT5pbmRleABleHRyYWN0LWZ1bmN0aW9uLWluZGV4AFVuZXhwZWN0ZWQgbm9uemVybyBtZW1vcnkgaW5kZXgAaW52YWxpZCBtZW1vcnkgaW5kZXgAbGVhdmVzIGp1c3Qgb25lIGZ1bmN0aW9uIHNlbGVjdGVkIGJ5IGluZGV4AGludmFsaWQgZWxlbWVudCBzZWdtZW50IGluZGV4AGludmFsaWQgZGF0YSBzZWdtZW50IGluZGV4AGJhZCBsb2NhbC5zZXQgaW5kZXgAYmFkIGxvY2FsLmdldCBpbmRleABpbnZhbGlkIGZ1bmN0aW9uIGluZGV4AEV4cGVjdGVkIG51bWVyaWMgZnVuY3Rpb24gaW5kZXgAaW52YWxpZCBsb2NhbCBpbmRleABiYWQgbG9jYWwgaW5kZXgAaW52YWxpZCBnbG9iYWwgaW5kZXgAYmFkIHN0cmluZyBpbmRleABpbnZhbGlkIHRhZyBpbmRleABiYWQgdGFnIGluZGV4AGludmFsaWQgdHlwZSBpbmRleABJbGxlZ2FsIGxhbmUgaW5kZXgAaW52YWxpZCBsYW5lIGluZGV4AEV4cGVjdGVkIGxhbmUgaW5kZXgAaW52YWxpZCB0YWJsZSBpbmRleABiYWQgdGFibGUgaW5kZXgAdW5leHBlY3RlZCBpbmRleABuZXdQYXJlbnQgPD0gaW5kZXgAb3RoZXIgIT0gaW5kZXgAZ2V0TWVtb3J5SW5kZXgAZ2V0TmV3SW5kZXgAQmluYXJ5ZW5BcnJheUNvcHlTZXREZXN0SW5kZXgAQmluYXJ5ZW5BcnJheUNvcHlHZXREZXN0SW5kZXgAZ2V0RWxlbWVudFNlZ21lbnRJbmRleABnZXREYXRhU2VnbWVudEluZGV4AHNldEluZGV4IDwgZ2V0SW5kZXgAQmluYXJ5ZW5BcnJheVNldFNldEluZGV4AEJpbmFyeWVuU3RydWN0U2V0U2V0SW5kZXgAQmluYXJ5ZW5Mb2NhbFNldFNldEluZGV4AEJpbmFyeWVuVGFibGVTZXRTZXRJbmRleABCaW5hcnllbkFycmF5R2V0U2V0SW5kZXgAQmluYXJ5ZW5TdHJ1Y3RHZXRTZXRJbmRleABCaW5hcnllbkxvY2FsR2V0U2V0SW5kZXgAQmluYXJ5ZW5UYWJsZUdldFNldEluZGV4AEJpbmFyeWVuVHVwbGVFeHRyYWN0U2V0SW5kZXgAQmluYXJ5ZW5TSU1ERXh0cmFjdFNldEluZGV4AEJpbmFyeWVuU0lNRExvYWRTdG9yZUxhbmVTZXRJbmRleABCaW5hcnllblNJTURSZXBsYWNlU2V0SW5kZXgAQmluYXJ5ZW5BcnJheVNldEdldEluZGV4AEJpbmFyeWVuU3RydWN0U2V0R2V0SW5kZXgAQmluYXJ5ZW5Mb2NhbFNldEdldEluZGV4AEJpbmFyeWVuVGFibGVTZXRHZXRJbmRleABCaW5hcnllbkFycmF5R2V0R2V0SW5kZXgAQmluYXJ5ZW5TdHJ1Y3RHZXRHZXRJbmRleABCaW5hcnllbkxvY2FsR2V0R2V0SW5kZXgAQmluYXJ5ZW5UYWJsZUdldEdldEluZGV4AEJpbmFyeWVuVHVwbGVFeHRyYWN0R2V0SW5kZXgAQmluYXJ5ZW5TSU1ERXh0cmFjdEdldEluZGV4AEJpbmFyeWVuU0lNRExvYWRTdG9yZUxhbmVHZXRJbmRleABCaW5hcnllblNJTURSZXBsYWNlR2V0SW5kZXgAbWFwSW5kZXgAZ2V0RnVuY3Rpb25JbmRleABnZXRHbG9iYWxJbmRleABnZXRTdHJpbmdJbmRleABnZXRUYWdJbmRleABnZXRTaWduYXR1cmVJbmRleABnZXRUeXBlSW5kZXgAZ2V0VGFibGVJbmRleABCaW5hcnllbkFycmF5Q29weVNldFNyY0luZGV4AEJpbmFyeWVuQXJyYXlDb3B5R2V0U3JjSW5kZXgAZ2V0RGF0YUluZGV4AGZyZWVJZHgAZjMyeDQucG1heABmNjR4Mi5wbWF4AE1hdGhfbWF4AGYzMng0LnJlbGF4ZWRfbWF4AGY2NHgyLnJlbGF4ZWRfbWF4AGYzMng0Lm1heABmNjQubWF4AGY2NHgyLm1heABmMzIubWF4AC0rICAgMFgweAA6MHgALTBYKzBYIDBYLTB4KzB4IDB4ADs7IGNvZGUgb2Zmc2V0OiAweAByZXRocm93AFJldGhyb3cAdmlzaXRUaHJvdwBfX3dhc21fbWVtb3J5X2dyb3cAbWVtb3J5Lmdyb3cAaW52YWxpZCB0YWJsZSBuYW1lIGluIHRhYmxlLmdyb3cATWVtb3J5R3JvdwBUYWJsZUdyb3cAcG93AHNob3VsZCBoYXZlIGJlZW4gcmVtb3ZlZCBieSBub3cAbW9kZSAhPSBUcmFwTW9kZTo6QWxsb3cAaTY0LnRydW5jVUZsb2F0IG92ZXJmbG93AGkzMi50cnVuY1VGbG9hdCBvdmVyZmxvdwBpNjQudHJ1bmNTRmxvYXQgb3ZlcmZsb3cAaTMyLnRydW5jU0Zsb2F0IG92ZXJmbG93AGk2NC5kaXZfcyBvdmVyZmxvdwBpMzIuZGl2X3Mgb3ZlcmZsb3cAX19uZXh0X3ByaW1lIG92ZXJmbG93AGNhbGxUYWJsZSBvdmVyZmxvdwBMRUIgb3ZlcmZsb3cAc2V0IHZhbHVlcyBjYW5ub3QgYmUgY29udHJvbCBmbG93AEZsb3cAQmluYXJ5ZW5Db25zdFNldFZhbHVlSTY0TG93AEJpbmFyeWVuQ29uc3RHZXRWYWx1ZUk2NExvdwAuYXRvbWljLnJtdwBhcnJheS5uZXcAYXJndW1lbnRzIHByb3ZpZGVkIGZvciBzdHJ1Y3QubmV3AGkzMS5uZXcAdW5rbm93biBuZXcAdmFyIGNvbnN0IGZ1bmN0aW9uIGlmIGVsc2UgZG8gd2hpbGUgZm9yIGJyZWFrIGNvbnRpbnVlIHJldHVybiBzd2l0Y2ggY2FzZSBkZWZhdWx0IHRocm93IHRyeSBjYXRjaCBmaW5hbGx5IHRydWUgZmFsc2UgbnVsbCBuZXcAYnVmZmVyVmlldwB2aXNpdEFycmF5TmV3AHZpc2l0U3RydWN0TmV3AFN0cmluZ05ldwBTZXRHbG9iYWxzIHVzYWdlOiAgd2FzbS1vcHQgLS1wYXNzLWFyZz1zZXQtZ2xvYmFsc0B4PXksej13AE5vdgBlbnYAX193YXNtX2k2NF91ZGl2AF9fd2FzbV9pNjRfc2RpdgBmMzJ4NC5kaXYAZjY0LmRpdgBmNjR4Mi5kaXYAZjMyLmRpdgBpNjR1LWRpdgBpMzJ1LWRpdgBpNjRzLWRpdgBpMzJzLWRpdgBmcGNhc3QtZW11ACVsbHUAVGh1AGkxNng4Lm1heF91AGk4eDE2Lm1heF91AGkzMng0Lm1heF91AGk2NC5kaXZfdQBpMzIuZGl2X3UAaTE2eDgubHRfdQBpOHgxNi5sdF91AGkzMng0Lmx0X3UAaTY0Lmx0X3UAaTMyLmx0X3UAaTE2eDguZ3RfdQBpOHgxNi5ndF91AGkzMng0Lmd0X3UAaTY0Lmd0X3UAaTMyLmd0X3UAYXJyYXkuZ2V0X3UAc3RydWN0LmdldF91AGkzMS5nZXRfdQBpMTZ4OC5hZGRfc2F0X3UAaTh4MTYuYWRkX3NhdF91AGkxNng4LnN1Yl9zYXRfdQBpOHgxNi5zdWJfc2F0X3UAaTY0LmF0b21pYy5ybXc4Lnhvcl91AGkzMi5hdG9taWMucm13OC54b3JfdQBpNjQuYXRvbWljLnJtdzE2Lnhvcl91AGkzMi5hdG9taWMucm13MTYueG9yX3UAaTY0LmF0b21pYy5ybXczMi54b3JfdQBpNjQuYXRvbWljLnJtdzgub3JfdQBpMzIuYXRvbWljLnJtdzgub3JfdQBpNjQuYXRvbWljLnJtdzE2Lm9yX3UAaTMyLmF0b21pYy5ybXcxNi5vcl91AGk2NC5hdG9taWMucm13MzIub3JfdQBpMTZ4OC5zaHJfdQBpOHgxNi5zaHJfdQBpMzJ4NC5zaHJfdQBpNjQuc2hyX3UAaTY0eDIuc2hyX3UAaTMyLnNocl91AGkxNng4LmF2Z3JfdQBpOHgxNi5hdmdyX3UAaTE2eDgubWluX3UAaTh4MTYubWluX3UAaTMyeDQubWluX3UAaTY0LnJlbV91AGkzMi5yZW1fdQBpNjQuYXRvbWljLnJtdzguY21weGNoZ191AGkzMi5hdG9taWMucm13OC5jbXB4Y2hnX3UAaTY0LmF0b21pYy5ybXcxNi5jbXB4Y2hnX3UAaTMyLmF0b21pYy5ybXcxNi5jbXB4Y2hnX3UAaTY0LmF0b21pYy5ybXczMi5jbXB4Y2hnX3UAaTY0LmF0b21pYy5ybXc4LnhjaGdfdQBpMzIuYXRvbWljLnJtdzgueGNoZ191AGk2NC5hdG9taWMucm13MTYueGNoZ191AGkzMi5hdG9taWMucm13MTYueGNoZ191AGk2NC5hdG9taWMucm13MzIueGNoZ191AGkxNng4LmV4dHJhY3RfbGFuZV91AGk4eDE2LmV4dHJhY3RfbGFuZV91AGkxNng4LmxlX3UAaTh4MTYubGVfdQBpMzJ4NC5sZV91AGk2NC5sZV91AGkzMi5sZV91AGkxNng4LmdlX3UAaTh4MTYuZ2VfdQBpMzJ4NC5nZV91AGk2NC5nZV91AGkzMi5nZV91AGk2NC5hdG9taWMucm13OC5hbmRfdQBpMzIuYXRvbWljLnJtdzguYW5kX3UAaTY0LmF0b21pYy5ybXcxNi5hbmRfdQBpMzIuYXRvbWljLnJtdzE2LmFuZF91AGk2NC5hdG9taWMucm13MzIuYW5kX3UAaTY0LmF0b21pYy5ybXc4LmFkZF91AGkzMi5hdG9taWMucm13OC5hZGRfdQBpNjQuYXRvbWljLnJtdzE2LmFkZF91AGkzMi5hdG9taWMucm13MTYuYWRkX3UAaTY0LmF0b21pYy5ybXczMi5hZGRfdQBpNjQuYXRvbWljLnJtdzguc3ViX3UAaTMyLmF0b21pYy5ybXc4LnN1Yl91AGk2NC5hdG9taWMucm13MTYuc3ViX3UAaTMyLmF0b21pYy5ybXcxNi5zdWJfdQBpNjQuYXRvbWljLnJtdzMyLnN1Yl91AHYxMjgubG9hZDh4OF91AGk4eDE2Lm5hcnJvd19pMTZ4OF91AGkzMng0LmV4dG11bF9sb3dfaTE2eDhfdQBpMzJ4NC5leHRlbmRfbG93X2kxNng4X3UAaTMyeDQuZXh0bXVsX2hpZ2hfaTE2eDhfdQBpMzJ4NC5leHRlbmRfaGlnaF9pMTZ4OF91AGkzMng0LmV4dGFkZF9wYWlyd2lzZV9pMTZ4OF91AGk2NC5hdG9taWMubG9hZDhfdQBpMzIuYXRvbWljLmxvYWQ4X3UAaTY0LmxvYWQ4X3UAaTMyLmxvYWQ4X3UAaTE2eDguZXh0bXVsX2xvd19pOHgxNl91AGkxNng4LmV4dGVuZF9sb3dfaTh4MTZfdQBpMTZ4OC5leHRtdWxfaGlnaF9pOHgxNl91AGkxNng4LmV4dGVuZF9oaWdoX2k4eDE2X3UAaTE2eDguZXh0YWRkX3BhaXJ3aXNlX2k4eDE2X3UAaTY0LmF0b21pYy5sb2FkMTZfdQBpMzIuYXRvbWljLmxvYWQxNl91AGk2NC5sb2FkMTZfdQBpMzIubG9hZDE2X3UAdjEyOC5sb2FkMTZ4NF91AGkxNng4Lm5hcnJvd19pMzJ4NF91AGY2NHgyLmNvbnZlcnRfbG93X2kzMng0X3UAaTY0eDIuZXh0bXVsX2xvd19pMzJ4NF91AGk2NHgyLmV4dGVuZF9sb3dfaTMyeDRfdQBmMzJ4NC5jb252ZXJ0X2kzMng0X3UAaTY0eDIuZXh0bXVsX2hpZ2hfaTMyeDRfdQBpNjR4Mi5leHRlbmRfaGlnaF9pMzJ4NF91AGkzMng0LnRydW5jX3NhdF9mMzJ4NF91AGkzMng0LnJlbGF4ZWRfdHJ1bmNfZjMyeDRfdQBmNjQuY29udmVydF9pNjRfdQBmMzIuY29udmVydF9pNjRfdQBpNjQudHJ1bmNfc2F0X2Y2NF91AGkzMi50cnVuY19zYXRfZjY0X3UAaTY0LnRydW5jX2Y2NF91AGkzMi50cnVuY19mNjRfdQB2MTI4LmxvYWQzMngyX3UAZjY0LmNvbnZlcnRfaTMyX3UAZjMyLmNvbnZlcnRfaTMyX3UAaTY0LmV4dGVuZF9pMzJfdQBpNjQudHJ1bmNfc2F0X2YzMl91AGkzMi50cnVuY19zYXRfZjMyX3UAaTY0LnRydW5jX2YzMl91AGkzMi50cnVuY19mMzJfdQBpNjQuYXRvbWljLmxvYWQzMl91AGk2NC5sb2FkMzJfdQBsb2FkOHUAbG9hZDE2dQBsb2FkNjR1AGxvYWQzMnUAemV4dABlcnJvciBpbiBwYXJzaW5nIHdhc20gdGV4dABzdHJpbmd2aWV3X2l0ZXIubmV4dABTdHJpbmdJdGVyTmV4dABzaWduLWV4dABtYWtlU2lnbkV4dABlcnJvciBpbiB2YWxpZGF0aW5nIHdhc20yanMgb3V0cHV0AGVtaXQgdGhlIHRhcmdldCBmZWF0dXJlcyBzZWN0aW9uIGluIHRoZSBvdXRwdXQAdW5hcmllcyBtdXN0IG5vdCByZWNlaXZlIGEgbm9uZSBhcyB0aGVpciBpbnB1dABTZWN0aW9uIGV4dGVuZHMgYmV5b25kIGVuZCBvZiBpbnB1dAB1bmV4cGVjdGVkIGVuZCBvZiBpbnB1dAB1bnN1cHBvcnRlZCBsb2NhbGUgZm9yIHN0YW5kYXJkIGlucHV0AEJpbmFyeWVuQXRvbWljV2FpdFNldFRpbWVvdXQAQmluYXJ5ZW5BdG9taWNXYWl0R2V0VGltZW91dABtdXQAc3R1Yk91dABBdWd1c3QAZ2V0UmVzdWx0T2ZGaXJzdABwb3N0AHRvcG1vc3QAdmlzaXRQb3N0AGk2NF9jb25zdABzdHJpbmcuY29uc3QAdjEyOC5jb25zdABpNjQuY29uc3QAZjY0LmNvbnN0AGkzMi5jb25zdABmMzIuY29uc3QAZXh0ZW5kZWQtY29uc3QAYmFkIGNvbnN0AFN0cmluZ0NvbnN0AG1ha2VDb25zdABkb0VuZFRocm93aW5nSW5zdABtZW1vcnkuYXRvbWljTm90aWZ5IG1lbW9yeSBtdXN0IGV4aXN0AG1lbW9yeS5ncm93IG1lbW9yeSBtdXN0IGV4aXN0AG1lbW9yeS5pbml0IG1lbW9yeSBtdXN0IGV4aXN0AG1lbW9yeS5hdG9taWNXYWl0IG1lbW9yeSBtdXN0IGV4aXN0AG1lbW9yeS5maWxsIG1lbW9yeSBtdXN0IGV4aXN0AG1lbW9yeS5hdG9taWNDbXB4Y2hnIG1lbW9yeSBtdXN0IGV4aXN0AG1lbW9yeS5zaXplIG1lbW9yeSBtdXN0IGV4aXN0AG1lbW9yeS5zdG9yZSBtZW1vcnkgbXVzdCBleGlzdABtZW1vcnkuU0lNRExvYWRTdG9yZUxhbmUgbWVtb3J5IG11c3QgZXhpc3QAbWVtb3J5LmxvYWQgbWVtb3J5IG11c3QgZXhpc3QAbWVtb3J5LlNJTURMb2FkIG1lbW9yeSBtdXN0IGV4aXN0AG1lbW9yeS5hdG9taWNSTVcgbWVtb3J5IG11c3QgZXhpc3QAbWVtb3J5LmNvcHkgZGVzdE1lbW9yeSBtdXN0IGV4aXN0AG1lbW9yeS5jb3B5IHNvdXJjZU1lbW9yeSBtdXN0IGV4aXN0AGFycmF5LmluaXRfZWxlbSBzZWdtZW50IG11c3QgZXhpc3QAYXJyYXkuaW5pdF9kYXRhIHNlZ21lbnQgbXVzdCBleGlzdABjYWxsIHRhcmdldCBtdXN0IGV4aXN0AHRocm93J3MgdGFnIG11c3QgZXhpc3QAdGFibGUuZ3JvdyB0YWJsZSBtdXN0IGV4aXN0AHRhYmxlLmNvcHkgZGVzdCB0YWJsZSBtdXN0IGV4aXN0AHRhYmxlLnNldCB0YWJsZSBtdXN0IGV4aXN0AHRhYmxlLmdldCB0YWJsZSBtdXN0IGV4aXN0AGNhbGwtaW5kaXJlY3QgdGFibGUgbXVzdCBleGlzdAB0YWJsZS5maWxsIHRhYmxlIG11c3QgZXhpc3QAdGFibGUuc2l6ZSB0YWJsZSBtdXN0IGV4aXN0AHRhYmxlLmNvcHkgc291cmNlIHRhYmxlIG11c3QgZXhpc3QAZnVuY3Rpb24gYXJndW1lbnQgb2YgcmVmLmZ1bmMgbXVzdCBleGlzdAAgZG9lcyBub3QgZXhpc3QAbWVtb3J5LmluaXQgc2VnbWVudCBzaG91bGQgZXhpc3QAZGF0YS5kcm9wIHNlZ21lbnQgc2hvdWxkIGV4aXN0AGFycmF5Lm5ld19lbGVtIHNlZ21lbnQgc2hvdWxkIGV4aXN0AGFycmF5Lm5ld19kYXRhIHNlZ21lbnQgc2hvdWxkIGV4aXN0AGFzeW5jaWZ5LW9ubHlsaXN0AGFzeW5jaWZ5LWJsYWNrbGlzdABhc3luY2lmeS1yZW1vdmVsaXN0AGFzeW5jaWZ5LXdoaXRlbGlzdABhc3luY2lmeS1hZGRsaXN0AGV4cGVjdGVkIG1vcmUgZWxlbWVudHMgaW4gbGlzdABuYW1lIGxpc3QAZXhwZWN0ZWQgbGlzdABsaW5rQ2hpbGRMaXN0AHNwZWN0ZXN0AGYzMng0Lm5lYXJlc3QAZjY0Lm5lYXJlc3QAZjY0eDIubmVhcmVzdABmMzIubmVhcmVzdAB0YWJsZS5jb3B5IHNvdXJjZSBtdXN0IGhhdmUgcmlnaHQgdHlwZSBmb3IgZGVzdABSZWZUZXN0AEJpbmFyeWVuTWVtb3J5Q29weVNldERlc3QAQmluYXJ5ZW5NZW1vcnlJbml0U2V0RGVzdABCaW5hcnllbk1lbW9yeUZpbGxTZXREZXN0AEJpbmFyeWVuTWVtb3J5Q29weUdldERlc3QAQmluYXJ5ZW5NZW1vcnlJbml0R2V0RGVzdABCaW5hcnllbk1lbW9yeUZpbGxHZXREZXN0AGJyX29uX2Nhc3QAc3RkOjpiYWRfY2FzdAB2aXNpdFJlZkNhc3QAbm90ZUNhc3QATWF0aF9zcXJ0AGYzMng0LnNxcnQAZjY0LnNxcnQAZjY0eDIuc3FydABmMzIuc3FydAAhbXVzdF9leHBvcnQAZHVwbGljYXRlIGV4cG9ydABpbnZhbGlkIGV4cG9ydABnZXRFeHBvcnQAYWRkRXhwb3J0AG1ha2VDYWxsU3VwcG9ydABjYWxsIHRvIHVuaWRlbmZpZWQgYXN5bmNpZnkgaW1wb3J0AG1vZHVsZSBidXQgbm8gYmFzZSBmb3IgaW1wb3J0AG5vIG5hbWUgZm9yIGltcG9ydABkdXBsaWNhdGUgaW1wb3J0AGludmFsaWQgaW1wb3J0AGluc2VydABsaXZlID09IGN1cnItPmNvbnRlbnRzLnN0YXJ0AEJpbmFyeWVuU3RyaW5nTmV3U2V0U3RhcnQAQmluYXJ5ZW5TdHJpbmdFbmNvZGVTZXRTdGFydABCaW5hcnllblN0cmluZ1NsaWNlV1RGU2V0U3RhcnQAQmluYXJ5ZW5TdHJpbmdOZXdHZXRTdGFydABCaW5hcnllblN0cmluZ0VuY29kZUdldFN0YXJ0AEJpbmFyeWVuU3RyaW5nU2xpY2VXVEZHZXRTdGFydABkZXB0aEZyb21Sb290IDw9IG90aGVyRGVwdGhGcm9tUm9vdABhRGVwdGhGcm9tUm9vdCA+PSBiRGVwdGhGcm9tUm9vdABsdWJEZXB0aEZyb21Sb290IDw9IGJEZXB0aEZyb21Sb290AGJEZXB0aEZyb21Sb290ID49IGFEZXB0aEZyb21Sb290AGx1YkRlcHRoRnJvbVJvb3QgPD0gYURlcHRoRnJvbVJvb3QAIVJvb3QAdjEyOC5hbmRub3QAdjEyOC5ub3QAZG90AGludmFsaWQgcGFyYW0gY291bnQAQmluYXJ5ZW5BdG9taWNOb3RpZnlTZXROb3RpZnlDb3VudABCaW5hcnllbkF0b21pY05vdGlmeUdldE5vdGlmeUNvdW50AGZyb250AGNvbnQAZjY0LXRvLXVpbnQAZjMyLXRvLXVpbnQAcHJpbnQAbm9udHJhcHBpbmctZnB0b2ludABzdHJpbmcuZnJvbV9jb2RlX3BvaW50AGZpcnN0UHVzaGFibGUgIT0gSW5kZXgoLTEpICYmIHB1c2hQb2ludCAhPSBJbmRleCgtMSkgJiYgZmlyc3RQdXNoYWJsZSA8IHB1c2hQb2ludABub250cmFwcGluZy1mbG9hdC10by1pbnQAZjY0LXRvLWludABmMzItdG8taW50AEF0b21pY1dhaXQgZXhwZWN0ZWQgdHlwZSBtdXN0IGJlIGludABvcGVyYXRvciB1bnNpZ25lZCBpbnQAYmFkIGNoaWxkUGFyZW50cyBjb250ZW50AGNoaWxkIG5vdCBmb3VuZCBpbiBwYXJlbnQAZ2V0UGFyZW50AGluc3RydW1lbnQAQmluYXJ5ZW5TZXRQYXNzQXJndW1lbnQAQmluYXJ5ZW5HZXRQYXNzQXJndW1lbnQAc3NhLWlmeSB2YXJpYWJsZXMgc28gdGhhdCB0aGV5IGhhdmUgYSBzaW5nbGUgYXNzaWdubWVudABhdG9taWMgYWNjZXNzZXMgbXVzdCBoYXZlIG5hdHVyYWwgYWxpZ25tZW50AGludmFsaWQgYWxpZ25tZW50AHZhbGlkYXRlQWxpZ25tZW50AHVua25vd24gZWxlbSBzZWdtZW50AHVua25vd24gZGF0YSBzZWdtZW50AGdldEVsZW1lbnRTZWdtZW50AGFkZEVsZW1lbnRTZWdtZW50AEJpbmFyeWVuTWVtb3J5SW5pdFNldFNlZ21lbnQAQmluYXJ5ZW5EYXRhRHJvcFNldFNlZ21lbnQAQmluYXJ5ZW5NZW1vcnlJbml0R2V0U2VnbWVudABCaW5hcnllbkRhdGFEcm9wR2V0U2VnbWVudABvcHRpbWl6ZVNlZ21lbnQAdmlzaXREYXRhU2VnbWVudABnZXREYXRhU2VnbWVudABhZGREYXRhU2VnbWVudAB1bmtub3duIG1vZHVsZSBlbGVtZW50AHVuaW5pdGlhbGl6ZWQgdGFibGUgZWxlbWVudAB1bnJlYWNoYWJsZSBibG9jayBzaG91bGQgaGF2ZSB1bnJlYWNoYWJsZSBlbGVtZW50AGludmFsaWQgZWxlbWVudAB0dXBsZS5leHRyYWN0IHR5cGUgZG9lcyBub3QgbWF0Y2ggdGhlIHR5cGUgb2YgdGhlIGV4dHJhY3RlZCBlbGVtZW50AENtcHhjaGcgcmVzdWx0IHR5cGUgbXVzdCBtYXRjaCByZXBsYWNlbWVudABCaW5hcnllbkF0b21pY0NtcHhjaGdTZXRSZXBsYWNlbWVudABCaW5hcnllbkF0b21pY0NtcHhjaGdHZXRSZXBsYWNlbWVudABkZWNJbmRlbnQAaTh4MTYucG9wY250AGk2NC5wb3BjbnQAaTMyLnBvcGNudABnbG9iYWwgaW5pdCBtdXN0IGJlIGNvbnN0YW50AG1lbW9yeSBzZWdtZW50IG9mZnNldCBzaG91bGQgYmUgY29uc3RhbnQAdGFibGUgc2VnbWVudCBvZmZzZXQgc2hvdWxkIGJlIGNvbnN0YW50AG9wdGltaXplRXhwclRvQ29uc3RhbnQAd2FzbTJqcyRleHByZXN1bHQAd2FzbTJqcyRub3Jlc3VsdAB1bmV4cGVjdGVkIHJlc3VsdABhbGlnbmZhdWx0AHNlZ2ZhdWx0AGFycmF5Lm5ld19kZWZhdWx0AHN0cnVjdC5uZXdfZGVmYXVsdABzbHQAZjMyeDQubHQAZjY0Lmx0AGY2NHgyLmx0AGYzMi5sdABzdGFjayBub3QgZW1wdHkgb24gZnVuY3Rpb24gZXhpdAB2aXNpdABzdHJpbmd2aWV3X3d0ZjE2LmdldF9jb2RldW5pdAB3YXNtMmpzX21lbW9yeV9pbml0AGN1cnItPmluaXQAb3V0IG9mIGJvdW5kcyBtZW1vcnkgYWNjZXNzIGluIG1lbW9yeS5pbml0AG91dCBvZiBib3VuZHMgc2VnbWVudCBhY2Nlc3MgaW4gbWVtb3J5LmluaXQAb3V0IG9mIGJvdW5kcyBhcnJheSBhY2Nlc3MgaW4gYXJyYXkuaW5pdABvdXQgb2YgYm91bmRzIHNlZ21lbnQgYWNjZXNzIGluIGFycmF5LmluaXQAZXhjZXNzaXZlIG1lbW9yeSBpbml0AGdsb2JhbCB3aXRob3V0IGluaXQAdmlzaXRNZW1vcnlJbml0AEJpbmFyeWVuQXJyYXlOZXdTZXRJbml0AEJpbmFyeWVuQXJyYXlOZXdHZXRJbml0AF9fc3RhY2tfbGltaXQAaW50ZXJwcmV0ZXIgcmVjdXJzaW9uIGxpbWl0AHN0YWNrIGxpbWl0AGRvU3BsaXQAaW52YWxpZCBWTFEgZGlnaXQAVGFibGVzIG1heSBub3QgYmUgNjQtYml0AG1lbW9yeS5hdG9taWMud2FpdAB2aXNpdEF0b21pY1dhaXQAd3JpdGUgdGhlIG1vZHVsZSB0byBiaW5hcnksIHRoZW4gcmVhZCBpdABsZWZ0ICYmIHJpZ2h0AEJpbmFyeWVuQmluYXJ5U2V0UmlnaHQAQmluYXJ5ZW5TdHJpbmdDb25jYXRTZXRSaWdodABCaW5hcnllblN0cmluZ0VxU2V0UmlnaHQAQmluYXJ5ZW5SZWZFcVNldFJpZ2h0AEJpbmFyeWVuU0lNRFNodWZmbGVTZXRSaWdodABCaW5hcnllbkJpbmFyeUdldFJpZ2h0AEJpbmFyeWVuU3RyaW5nQ29uY2F0R2V0UmlnaHQAQmluYXJ5ZW5TdHJpbmdFcUdldFJpZ2h0AEJpbmFyeWVuUmVmRXFHZXRSaWdodABCaW5hcnllblNJTURTaHVmZmxlR2V0UmlnaHQAZjMyeDQuZ3QAZjY0Lmd0AGY2NHgyLmd0AGYzMi5ndAB2ZWMgJiYgc2hpZnQAQmluYXJ5ZW5TSU1EU2hpZnRTZXRTaGlmdABCaW5hcnllblNJTURTaGlmdEdldFNoaWZ0AFNJTURTaGlmdABCaW5hcnllbkJpbmFyeVNldExlZnQAQmluYXJ5ZW5TdHJpbmdDb25jYXRTZXRMZWZ0AEJpbmFyeWVuU3RyaW5nRXFTZXRMZWZ0AEJpbmFyeWVuUmVmRXFTZXRMZWZ0AEJpbmFyeWVuU0lNRFNodWZmbGVTZXRMZWZ0AEJpbmFyeWVuQmluYXJ5R2V0TGVmdABCaW5hcnllblN0cmluZ0NvbmNhdEdldExlZnQAQmluYXJ5ZW5TdHJpbmdFcUdldExlZnQAQmluYXJ5ZW5SZWZFcUdldExlZnQAQmluYXJ5ZW5TSU1EU2h1ZmZsZUdldExlZnQAZmFuY3kgaW1wb3J0IHdlIGRvbid0IHN1cHBvcnQgeWV0AERhdGFGbG93IGRvZXMgbm90IHN1cHBvcnQgRUggaW5zdHJ1Y3Rpb25zIHlldABSZVJlbG9vcCBkb2VzIG5vdCBzdXBwb3J0IEVIIGluc3RydWN0aW9ucyB5ZXQAdHdvIGRpZmZlcmVudCBtb2R1bGVzIHlldABjb250cm9sIGZsb3cgaW5wdXRzIGFyZSBub3Qgc3VwcG9ydGVkIHlldABub24tY29uc3RhbnQgb2Zmc2V0cyBhcmVuJ3Qgc3VwcG9ydGVkIHlldAB2MTI4IG5vdCBpbXBsZW1lbnRlZCB5ZXQAX2J5dGVfb2Zmc2V0AGN1cnItPm9mZnNldCArIDQgPiBjdXJyLT5vZmZzZXQAbm9uLXRhYmxlIHNlZ21lbnQgb2Zmc2V0IHNob3VsZCBoYXZlIG5vIG9mZnNldABwYXNzaXZlIHNlZ21lbnQgc2hvdWxkIG5vdCBoYXZlIGFuIG9mZnNldAB0YWJsZSBzZWdtZW50IG9mZnNldCBzaG91bGQgaGF2ZSBhbiBvZmZzZXQAb3V0IG9mIHJhbmdlIGJyZWFrIG9mZnNldABpbnZhbGlkIGJyZWFrIG9mZnNldABiYWQgb2Zmc2V0AEJpbmFyeWVuTWVtb3J5SW5pdFNldE9mZnNldABCaW5hcnllbkF0b21pY0NtcHhjaGdTZXRPZmZzZXQAQmluYXJ5ZW5TdG9yZVNldE9mZnNldABCaW5hcnllblNJTURMb2FkU3RvcmVMYW5lU2V0T2Zmc2V0AEJpbmFyeWVuTG9hZFNldE9mZnNldABCaW5hcnllblNJTURMb2FkU2V0T2Zmc2V0AEJpbmFyeWVuQXRvbWljUk1XU2V0T2Zmc2V0AEJpbmFyeWVuTWVtb3J5SW5pdEdldE9mZnNldABCaW5hcnllbkF0b21pY0NtcHhjaGdHZXRPZmZzZXQAQmluYXJ5ZW5TdG9yZUdldE9mZnNldABCaW5hcnllblNJTURMb2FkU3RvcmVMYW5lR2V0T2Zmc2V0AEJpbmFyeWVuTG9hZEdldE9mZnNldABCaW5hcnllblNJTURMb2FkR2V0T2Zmc2V0AEJpbmFyeWVuQXRvbWljUk1XR2V0T2Zmc2V0AHJlc2V0AGFycmF5LnNldABzdHJ1Y3Quc2V0AGxvY2FsLnNldABnbG9iYWwuc2V0AGludmFsaWQgdGFibGUgbmFtZSBpbiB0YWJsZS5zZXQAcmVpbnRlcnByZXQAX19zZXRfdGVtcF9yZXQAX19nZXRfdGVtcF9yZXQAdmFyIHJldAAgPSByZXQAbGV0AF9fYmluYXJ5ZW5fZGVsZWdhdGVfY2FsbGVyX3RhcmdldABEZWZhdWx0VGFyZ2V0AEJpbmFyeWVuUmV0aHJvd1NldFRhcmdldABCaW5hcnllbkNhbGxJbmRpcmVjdFNldFRhcmdldABCaW5hcnllbkNhbGxTZXRUYXJnZXQAQmluYXJ5ZW5DYWxsUmVmU2V0VGFyZ2V0AEJpbmFyeWVuUmV0aHJvd0dldFRhcmdldABCaW5hcnllbkNhbGxJbmRpcmVjdEdldFRhcmdldABCaW5hcnllbkNhbGxHZXRUYXJnZXQAQmluYXJ5ZW5DYWxsUmVmR2V0VGFyZ2V0AGZpbmRCcmVha1RhcmdldABCaW5hcnllblRyeVNldERlbGVnYXRlVGFyZ2V0AEJpbmFyeWVuVHJ5R2V0RGVsZWdhdGVUYXJnZXQAYXJyYXkuZ2V0AHN0cnVjdC5nZXQAbG9jYWwuZ2V0AGdsb2JhbC5nZXQAaW52YWxpZCB0YWJsZSBuYW1lIGluIHRhYmxlLmdldABpZmYtPmlmRmFsc2UgPT0gZ2V0ACpzZXRJbmZsdWVuY2VzLmJlZ2luKCkgPT0gZ2V0AGV4cHJlc3Npb25TdGFjay5iYWNrKCkgPT0gZ2V0AEFycmF5U2V0AFN0cnVjdFNldABjdXJyT25jZUdsb2JhbHNTZXQgPj0gbGFzdE9uY2VHbG9iYWxzU2V0AHZpc2l0TG9jYWxTZXQAZG9WaXNpdExvY2FsU2V0AHZpc2l0R2xvYmFsU2V0AGdldFB1YmxpY1R5cGVTZXQAVGFibGVTZXQAQXJyYXlHZXQAdmlzaXRTdHJ1Y3RHZXQAdmlzaXRMb2NhbEdldABvcHRpbWl6ZUxvY2FsR2V0AHZpc2l0R2xvYmFsR2V0AFRhYmxlR2V0AFN0cmluZ1dURjE2R2V0AEkzMUdldAAoc3RydWN0AHN0cnVjdC5uZXcgaGVhcCB0eXBlIG11c3QgYmUgc3RydWN0AHN0cnVjdC5zZXQgcmVmIG11c3QgYmUgYSBzdHJ1Y3QAc3RydWN0LmdldCByZWYgbXVzdCBiZSBhIHN0cnVjdABtb2RpZnlTdHJ1Y3QAZ2V0U3RydWN0AGludGVyc2VjdABjb252ZXJ0IHR5cGUgbXVzdCBiZSBjb3JyZWN0AGxvY2FsLnNldCB0eXBlIG11c3QgYmUgY29ycmVjdAB3cmFwIHR5cGUgbXVzdCBiZSBjb3JyZWN0AGk2NCB1bmFyeSB2YWx1ZSB0eXBlIG11c3QgYmUgY29ycmVjdABmNjQgdW5hcnkgdmFsdWUgdHlwZSBtdXN0IGJlIGNvcnJlY3QAaTMyIHVuYXJ5IHZhbHVlIHR5cGUgbXVzdCBiZSBjb3JyZWN0AGYzMiB1bmFyeSB2YWx1ZSB0eXBlIG11c3QgYmUgY29ycmVjdABsb2NhbC5zZXQncyB2YWx1ZSB0eXBlIG11c3QgYmUgY29ycmVjdABwcm9tb3RlIHR5cGUgbXVzdCBiZSBjb3JyZWN0AGRlbW90ZSB0eXBlIG11c3QgYmUgY29ycmVjdABleHRlbmQgdHlwZSBtdXN0IGJlIGNvcnJlY3QAdHJ1bmMgdHlwZSBtdXN0IGJlIGNvcnJlY3QAcmVpbnRlcnByZXQvaTY0IHR5cGUgbXVzdCBiZSBjb3JyZWN0AHJlaW50ZXJwcmV0L2Y2NCB0eXBlIG11c3QgYmUgY29ycmVjdAByZWludGVycHJldC9pMzIgdHlwZSBtdXN0IGJlIGNvcnJlY3QAcmVpbnRlcnByZXQvZjMyIHR5cGUgbXVzdCBiZSBjb3JyZWN0AHJldHVybl9jYWxsX2luZGlyZWN0AGFzeW5jaWZ5LWlnbm9yZS1pbmRpcmVjdAB2aXNpdENhbGxJbmRpcmVjdABtYWtlQ2FsbEluZGlyZWN0AHYxMjguYml0c2VsZWN0AGkxNng4LmxhbmVzZWxlY3QAaTh4MTYubGFuZXNlbGVjdABpMzJ4NC5sYW5lc2VsZWN0AGk2NHgyLmxhbmVzZWxlY3QAc3RhY2suYmFjaygpID09IHNlbGVjdAB2aXNpdFNlbGVjdABvcHRpbWl6ZVNlbGVjdABvYmplY3QAT2JqZWN0AEJhZCBpbmRleCBvbiB0dXBsZS5leHRyYWN0AHZpc2l0VHVwbGVFeHRyYWN0AFNJTURFeHRyYWN0AE9jdABwcmludCBpbiBzLWV4cHJlc3Npb24gZm9ybWF0AHByaW50IGluIGZ1bGwgcy1leHByZXNzaW9uIGZvcm1hdABwcmludCBpbiBtaW5pZmllZCBzLWV4cHJlc3Npb24gZm9ybWF0AHYxMjgubG9hZDhfc3BsYXQAdjEyOC5sb2FkMTZfc3BsYXQAdjEyOC5sb2FkNjRfc3BsYXQAdjEyOC5sb2FkMzJfc3BsYXQAaTE2eDguc3BsYXQAaTh4MTYuc3BsYXQAaTMyeDQuc3BsYXQAZjMyeDQuc3BsYXQAaTY0eDIuc3BsYXQAZjY0eDIuc3BsYXQAbmFtZXMgaW4gQmluYXJ5ZW4gSVIgbXVzdCBiZSB1bmlxdWUgLSBJUiBnZW5lcmF0b3JzIG11c3QgZW5zdXJlIHRoYXQAc3RyaW5nLmNvbmNhdABTdHJpbmdDb25jYXQAU2F0AGFycmF5OjphdABcdABCaW5hcnllblRyeUluc2VydENhdGNoQm9keUF0AEJpbmFyeWVuVHJ5U2V0Q2F0Y2hCb2R5QXQAQmluYXJ5ZW5UcnlHZXRDYXRjaEJvZHlBdABCaW5hcnllblRyeVJlbW92ZUNhdGNoQm9keUF0AGluc2VydEF0AEJpbmFyeWVuVHJ5SW5zZXJ0Q2F0Y2hUYWdBdABCaW5hcnllblRyeVNldENhdGNoVGFnQXQAQmluYXJ5ZW5UcnlHZXRDYXRjaFRhZ0F0AEJpbmFyeWVuVHJ5UmVtb3ZlQ2F0Y2hUYWdBdAByZW1vdmVBdABCaW5hcnllbkFycmF5TmV3Rml4ZWRJbnNlcnRWYWx1ZUF0AEJpbmFyeWVuQXJyYXlOZXdGaXhlZFNldFZhbHVlQXQAQmluYXJ5ZW5BcnJheU5ld0ZpeGVkR2V0VmFsdWVBdABCaW5hcnllbkFycmF5TmV3Rml4ZWRSZW1vdmVWYWx1ZUF0AEJpbmFyeWVuU3dpdGNoSW5zZXJ0TmFtZUF0AEJpbmFyeWVuU3dpdGNoU2V0TmFtZUF0AEJpbmFyeWVuU3dpdGNoR2V0TmFtZUF0AEJpbmFyeWVuU3dpdGNoUmVtb3ZlTmFtZUF0AEJpbmFyeWVuVGhyb3dJbnNlcnRPcGVyYW5kQXQAQmluYXJ5ZW5TdHJ1Y3ROZXdJbnNlcnRPcGVyYW5kQXQAQmluYXJ5ZW5DYWxsSW5kaXJlY3RJbnNlcnRPcGVyYW5kQXQAQmluYXJ5ZW5DYWxsSW5zZXJ0T3BlcmFuZEF0AEJpbmFyeWVuQ2FsbFJlZkluc2VydE9wZXJhbmRBdABCaW5hcnllblR1cGxlTWFrZUluc2VydE9wZXJhbmRBdABCaW5hcnllblRocm93U2V0T3BlcmFuZEF0AEJpbmFyeWVuU3RydWN0TmV3U2V0T3BlcmFuZEF0AEJpbmFyeWVuQ2FsbEluZGlyZWN0U2V0T3BlcmFuZEF0AEJpbmFyeWVuQ2FsbFNldE9wZXJhbmRBdABCaW5hcnllbkNhbGxSZWZTZXRPcGVyYW5kQXQAQmluYXJ5ZW5UdXBsZU1ha2VTZXRPcGVyYW5kQXQAQmluYXJ5ZW5UaHJvd0dldE9wZXJhbmRBdABCaW5hcnllblN0cnVjdE5ld0dldE9wZXJhbmRBdABCaW5hcnllbkNhbGxJbmRpcmVjdEdldE9wZXJhbmRBdABCaW5hcnllbkNhbGxHZXRPcGVyYW5kQXQAQmluYXJ5ZW5DYWxsUmVmR2V0T3BlcmFuZEF0AEJpbmFyeWVuVHVwbGVNYWtlR2V0T3BlcmFuZEF0AEJpbmFyeWVuVGhyb3dSZW1vdmVPcGVyYW5kQXQAQmluYXJ5ZW5TdHJ1Y3ROZXdSZW1vdmVPcGVyYW5kQXQAQmluYXJ5ZW5DYWxsSW5kaXJlY3RSZW1vdmVPcGVyYW5kQXQAQmluYXJ5ZW5DYWxsUmVtb3ZlT3BlcmFuZEF0AEJpbmFyeWVuQ2FsbFJlZlJlbW92ZU9wZXJhbmRBdABCaW5hcnllblR1cGxlTWFrZVJlbW92ZU9wZXJhbmRBdABCaW5hcnllbkJsb2NrSW5zZXJ0Q2hpbGRBdABCaW5hcnllbkJsb2NrU2V0Q2hpbGRBdABCaW5hcnllbkJsb2NrR2V0Q2hpbGRBdABCaW5hcnllbkJsb2NrUmVtb3ZlQ2hpbGRBdAByZW9yZGVyLWdsb2JhbHMtYWx3YXlzAG1vbm9tb3JwaGl6ZS1hbHdheXMAaW50ZXJhY3Rpb24gPT0gUGFyZW50Q2hpbGRJbnRlcmFjdGlvbjo6RnVsbHlDb25zdW1lcyB8fCBpbnRlcmFjdGlvbiA9PSBQYXJlbnRDaGlsZEludGVyYWN0aW9uOjpGbG93cwBtb2RpZnlOZXdzAGxvYWRfc2Vjb25kYXJ5X21vZHVsZV9zdGF0dXMAIGFscmVhZHkgZXhpc3RzAEFzeW5jaWZ5OiBmYWlsZWQgdG8gcGFyc2UgbGlzdHMAb3B0aW1pemUtY2FzdHMAZWxpbWluYXRlIGFuZCByZXVzZSBjYXN0cwBvcHRpbWl6ZUNhbGxDYXN0cwBqc3BpLWV4cG9ydHMAbWluaWZ5LWltcG9ydHMtYW5kLWV4cG9ydHMAbWluaWZ5LWltcG9ydHMAYXN5bmNpZnktaW1wb3J0cwBqc3BpLWltcG9ydHMAcmVtb3ZlLWltcG9ydHMAYXN5bmNpZnktaWdub3JlLWltcG9ydHMAcmVtb3ZlcyBkdXBsaWNhdGUgaW1wb3J0cwBhc3luY2lmeS1hc3NlcnRzAGdldENvbnRlbnRzAHNpbXBsaWZ5VG9Db250ZW50cwBmaWx0ZXJFeHByZXNzaW9uQ29udGVudHMAY29udGVudHMgIT0gbmFpdmVDb250ZW50cwB1cGRhdGVDb250ZW50cwB1bmhhbmRsZWQgY2FzZSBvZiBpc1N1YkNvbnRlbnRzAGZpbHRlckRhdGFDb250ZW50cwBtZXJnZXMgYmxvY2tzIHRvIHRoZWlyIHBhcmVudHMAY2FsbEluZGlyZWN0OiBiYWQgIyBvZiBhcmd1bWVudHMAbGltaXQtc2VnbWVudHMAc2VwYXJhdGUtZGF0YS1zZWdtZW50cwByZW1vdmVzIG1lbW9yeSBzZWdtZW50cwBUb28gbWFueSBzZWdtZW50cwBjcmVhdGVTcGxpdFNlZ21lbnRzAGluaXRBY3RpdmVTZWdtZW50cwBpdGVyVGFibGVTZWdtZW50cwBpbXBsZW1lbnRzAHJlbW92ZS11bnVzZWQtbm9uZnVuY3Rpb24tbW9kdWxlLWVsZW1lbnRzAHJlbW92ZS11bnVzZWQtbW9kdWxlLWVsZW1lbnRzAGV4dHJhIGltcG9ydCBlbGVtZW50cwB1bmV4cGVjdGVkIG51bWJlciBvZiBlbGVtZW50cwByZW1vdmVzIHVudXNlZCBtb2R1bGUgZWxlbWVudHMAcHVzaEJsb2NrRWxlbWVudHMAc3RhcnRfaXQuaW5kZXggPD0gZW5kX2l0LmluZGV4ICYmIGVuZF9pdC5pbmRleCA8PSB1c2VkRWxlbWVudHMAaW5kZXggPCB1c2VkRWxlbWVudHMAY3JlYXRlUmVwbGFjZW1lbnRzAG9wdGltaXplLWFkZGVkLWNvbnN0YW50cwBtaXNjZWxsYW5lb3VzIGdsb2JhbHMtcmVsYXRlZCBvcHRpbWl6YXRpb25zLCBhbmQgb3B0aW1pemVzIHdoZXJlIHdlIHJlcGxhY2VkIGdsb2JhbC5nZXRzIHdpdGggY29uc3RhbnRzAG9wdGltaXplQWRkZWRDb25zdGFudHMARXhwb3J0ZWQgZnVuY3Rpb24gbXVzdCBub3QgaGF2ZSBpNjQgcmVzdWx0cwBJbXBvcnRlZCBmdW5jdGlvbiBtdXN0IG5vdCBoYXZlIGk2NCByZXN1bHRzAEJpbmFyeWVuQ2FsbEluZGlyZWN0R2V0UmVzdWx0cwBCaW5hcnllblNpZ25hdHVyZVR5cGVHZXRSZXN1bHRzAHBhcnNlUmVzdWx0cwBfX3NldF9zdGFja19saW1pdHMAbWlzc2luZyBtZW1vcnkgbGltaXRzAGF0dGVtcHQgdG8gbWVyZ2Ugc2VnbWVudHMgdG8gZml0IHdpdGhpbiB3ZWIgbGltaXRzAF9fd2FzbV9mZXRjaF9oaWdoX2JpdHMAd2FzbTJqc19nZXRfc3Rhc2hlZF9iaXRzAFRvbyBtYW55IGxvY2F0aW9ucyBmb3IgMzIgYml0cwBnZXRNYXhCaXRzAGdldFplcm9FeHRCaXRzAGdldFNpZ25FeHRCaXRzAG9wdGltaXplcyBhZGRlZCBjb25zdGFudHMgaW50byBsb2FkL3N0b3JlIG9mZnNldHMAcmVtb3ZlIHJlZHVuZGFudCBsb2NhbC5zZXRzAHRlZXMgYXJlIG5vdCBhbGxvd2VkLCBvbmx5IHNldHMAYXZvaWQtcmVpbnRlcnByZXRzAHN3aXRjaCB3aXRoIG5vIHRhcmdldHMAZ2V0VGFyZ2V0cwBub24tbnVsbGFibGUgbG9jYWwncyBzZXRzIG11c3QgZG9taW5hdGUgZ2V0cwByZW1vdmVzIGxvY2FsLnRlZXMsIHJlcGxhY2luZyB0aGVtIHdpdGggc2V0cyBhbmQgZ2V0cwBjYWxsLndpdGhvdXQuZWZmZWN0cwBnZW5lcmF0ZS1nbG9iYWwtZWZmZWN0cwBkaXNjYXJkLWdsb2JhbC1lZmZlY3RzAGhhbmRsZUFmdGVyRWZmZWN0cwBjYWxjdWxhdGVGaXRuZXNzAGZsb3dMaXZlbmVzcwBwcm9jZXNzAGJhZF92YXJpYW50X2FjY2VzcwBvdXQgb2YgYm91bmRzIHRhYmxlIGFjY2VzcwBjbGFzcwByZWdpc3RlclRlc3RQYXNzAHJlZ2lzdGVyUGFzcwBydW5QYXNzAFRyYXBNb2RlUGFzcwBzcGlsbC1wb2ludGVycwBFeHBvcnRlZCBmdW5jdGlvbiBtdXN0IG5vdCBoYXZlIGk2NCBwYXJhbWV0ZXJzAEltcG9ydGVkIGZ1bmN0aW9uIG11c3Qgbm90IGhhdmUgaTY0IHBhcmFtZXRlcnMAcmVtb3ZlUGFyYW1ldGVycwBsZWdhbGl6ZS1qcy1pbnRlcmZhY2UtZXhwb3J0ZWQtaGVscGVycwBhdG9taWMgc3RvcmVzIG11c3QgYmUgb2YgaW50ZWdlcnMAYXRvbWljIGxvYWRzIG11c3QgYmUgb2YgaW50ZWdlcnMAaWdub3JlQ29udHJvbEZsb3dUcmFuc2ZlcnMAc3RyaXAtcHJvZHVjZXJzAHJlbW92ZS11bnVzZWQtYnJzAGNhdGNoX2FsbCdzIGJvZHkgc2hvdWxkIG5vdCBoYXZlIHBvcHMAKSBkb2Vzbid0IGhhdmUgYW55IHBhcmFtcywgYnV0IHRoZXJlIGFyZSBwb3BzAHJlbW92ZXMgaW1wb3J0cyBhbmQgcmVwbGFjZXMgdGhlbSB3aXRoIG5vcHMAaGFuZGxlZFBvcHMgPT0gdG90YWxQb3BzAHJlbW92ZS1ub24tanMtb3BzAHJlbW92ZXMgdW5uZWNlc3Nhcnkgc3VidHlwaW5nIHJlbGF0aW9uc2hpcHMAX19zdGFydF9lbV9saWJfZGVwcwBfX3N0b3BfZW1fbGliX2RlcHMAdXBkYXRlTWFwcwBwYWNrcyBtZW1vcnkgaW50byBzZXBhcmF0ZSBzZWdtZW50cywgc2tpcHBpbmcgemVyb3MAbWFrZVplcm9zAEJpbmFyeWVuU3RyaW5nV1RGMTZHZXRTZXRQb3MAQmluYXJ5ZW5TdHJpbmdXVEY4QWR2YW5jZVNldFBvcwBCaW5hcnllblN0cmluZ1dURjE2R2V0R2V0UG9zAEJpbmFyeWVuU3RyaW5nV1RGOEFkdmFuY2VHZXRQb3MAZnVuY3Rpb24gcmVzdWx0IG11c3QgbWF0Y2gsIGlmIGZ1bmN0aW9uIGhhcyByZXR1cm5zAGZ1bmN0aW9uIGJvZHkgdHlwZSBtdXN0IG1hdGNoLCBpZiBmdW5jdGlvbiByZXR1cm5zAHJlZmluZVBhcnRpdGlvbnMAb3B0aW1pemUtaW5zdHJ1Y3Rpb25zAHN0cmlwIEVIIGluc3RydWN0aW9ucwByZW9yZGVyLWZ1bmN0aW9ucwBtZXJnZS1zaW1pbGFyLWZ1bmN0aW9ucwByZW1vdmVzIHVudXNlZCBtb2R1bGUgZWxlbWVudHMgdGhhdCBhcmUgbm90IGZ1bmN0aW9ucwBjcmVhdGVzIHNwZWNpYWxpemVkIHZlcnNpb25zIG9mIGZ1bmN0aW9ucwBibG9jayBpcyB1bmFsbG93ZWQgb3V0c2lkZSBvZiBmdW5jdGlvbnMAcmVtb3ZlcyBkdXBsaWNhdGUgZnVuY3Rpb25zAHJlbmFtZUZ1bmN0aW9ucwByZWFkRnVuY3Rpb25zAGhhc0RXQVJGU2VjdGlvbnMAY3JlYXRlIG5ldyBub21pbmFsIHR5cGVzIHRvIGhlbHAgb3RoZXIgb3B0aW1pemF0aW9ucwBtaXNjZWxsYW5lb3VzIGxvY2Fscy1yZWxhdGVkIG9wdGltaXphdGlvbnMAbWlzY2VsbGFuZW91cyBnbG9iYWxzLXJlbGF0ZWQgb3B0aW1pemF0aW9ucwB0eXBlZC1jb250aW51YXRpb25zAHN0dWIgb3V0IHVuc3VwcG9ydGVkIEpTIG9wZXJhdGlvbnMAb3B0aW1pemVzIGluc3RydWN0aW9uIGNvbWJpbmF0aW9ucwBjb21wdXRlcyBjb21waWxlLXRpbWUgZXZhbHVhdGFibGUgZXhwcmVzc2lvbnMAcHJvY2Vzc0V4cHJlc3Npb25zAHBpY2stbG9hZC1zaWducwBuZWVkUGFyZW5zAGYzMng0LnJlbGF4ZWRfZm1zAGY2NHgyLnJlbGF4ZWRfZm1zAG1heC1mdW5jLXBhcmFtcwApJ3MgcG9wIGRvZXNuJ3QgaGF2ZSB0aGUgc2FtZSB0eXBlIGFzIHRoZSB0YWcncyBwYXJhbXMAc3RhcnQgbXVzdCBoYXZlIDAgcGFyYW1zAEJpbmFyeWVuQ2FsbEluZGlyZWN0R2V0UGFyYW1zAEJpbmFyeWVuU2lnbmF0dXJlVHlwZUdldFBhcmFtcwBuZXdUb09sZFtpXSA8IG51bVBhcmFtcwBkZXJpdmVQYXJhbXMAZ2VuZXJhdGUtZHluY2FsbHMAZ2VuZXJhdGUtaTY0LWR5bmNhbGxzAG9wdGltaXplRXhwcmVzc2lvblRhaWxzAG9wdGltaXplVGVybWluYXRpbmdUYWlscwBUT0RPOiBleHRlcm4gbGl0ZXJhbHMAVE9ETzogc3RyaW5nIGxpdGVyYWxzAExpdGVyYWxzAGxlZ2FsaXplLWpzLWludGVyZmFjZS1leHBvcnQtb3JpZ2luYWxzAHNpbXBsaWZ5LWxvY2FscwBpbnN0cnVtZW50LWxvY2FscwByZW9yZGVyLWxvY2FscwBtZXJnZS1sb2NhbHMAY29hbGVzY2UtbG9jYWxzAHJlcGxhY2UgR0MgYWxsb2NhdGlvbnMgd2l0aCBsb2NhbHMAY29tcHV0ZXMgY29tcGlsZS10aW1lIGV2YWx1YXRhYmxlIGV4cHJlc3Npb25zIGFuZCBwcm9wYWdhdGVzIHRoZW0gdGhyb3VnaCBsb2NhbHMAY29udmVydFRvTG9jYWxzAG1heEluZGV4IDw9IHBhcmVudC0+bnVtTG9jYWxzAGN1cnJWYWx1ZXMuc2l6ZSgpID09IG51bUxvY2FscwBpbmRpY2VzLnNpemUoKSA9PSBudW1Mb2NhbHMAaGFuZGxlTm9uRGVmYXVsdGFibGVMb2NhbHMAc2ltcGxpZnktZ2xvYmFscwBzZXQtZ2xvYmFscwByZW9yZGVyLWdsb2JhbHMAbXV0YWJsZS1nbG9iYWxzAGdsb2JhbCBpbml0aWFsaXplciBzaG91bGQgb25seSByZWZlciB0byBwcmV2aW91cyBnbG9iYWxzAHJlZmluZSB0aGUgdHlwZXMgb2YgZ2xvYmFscwBUT0RPOiBpbXBvcnRlZCBpNjQgZ2xvYmFscwBsb3dlclR1cGxlR2xvYmFscwBtZXJnZS1ibG9ja3MAY29tbW9uIHN1YmV4cHJlc3Npb24gZWxpbWluYXRpb24gaW5zaWRlIGJhc2ljIGJsb2NrcwBTa2lwRW1wdHlCbG9ja3MATWVyZ2VDb25zZWN1dGl2ZUJsb2NrcwBtdWx0aS1tZW1vcnktbG93ZXJpbmctd2l0aC1ib3VuZHMtY2hlY2tzAF9fc3RhcnRfZW1fanMAX19zdG9wX2VtX2pzAHRhaWwgY2FsbHMgbm90IHlldCBzdXBwb3J0ZWQgaW4gd2FzbTJqcwBvcHRpbWl6ZS1mb3ItanMAdHJhcC1tb2RlLWpzAHN0dWItdW5zdXBwb3J0ZWQtanMAZWFybHkgb3B0aW1pemUgb2YgdGhlIGluc3RydWN0aW9uIGNvbWJpbmF0aW9ucyBmb3IganMAcmVtb3ZlcyBvcGVyYXRpb25zIGluY29tcGF0aWJsZSB3aXRoIGpzAGNvbXB1dGVHZXRzQW5kUGhpcwBnZXRNYXhEZXB0aHMAdW5leHBlY3RlZCByZXNlcnZlZCB2YWx1ZSBpbiBzdHJpbmdzAG1hcHBpbmdzAEJpbmFyeWVuVHJ5R2V0TnVtQ2F0Y2hUYWdzAGlubGluZWRVc2VzW2lubGluZWROYW1lXSA8PSBpbmZvc1tpbmxpbmVkTmFtZV0ucmVmcwBicklmcyA+PSBkcm9wcGVkQnJJZnMAY29udHJvbCBmbG93IHN0cnVjdHVyZXMgbXVzdCBub3QgZmxvdyB2YWx1ZXMAZnVuY3Rpb24gYm9kaWVzIG11c3Qgbm90IGZsb3cgdmFsdWVzAGdsb2JhbGx5IG9wdGltaXplIHN0cnVjdCB2YWx1ZXMAcHJvcGFnYXRlIGNvbnN0YW50IHN0cnVjdCBmaWVsZCB2YWx1ZXMAc2V0cyBzcGVjaWZpZWQgZ2xvYmFscyB0byBzcGVjaWZpZWQgdmFsdWVzAGZsb3dWYWx1ZXMAYXBwbHlDb25zdGFudFZhbHVlcwBCaW5hcnllbkFycmF5TmV3Rml4ZWRHZXROdW1WYWx1ZXMAIUludG8tPlN3aXRjaFZhbHVlcwAhTmV4dE5leHRCcmFuY2gtPkNvbmRpdGlvbiAmJiAhTmV4dE5leHRCcmFuY2gtPlN3aXRjaFZhbHVlcwAhQ3VyckJyYW5jaC0+U3dpdGNoVmFsdWVzACFQYXJlbnRCbG9jay0+QnJhbmNoZXNPdXQuYmVnaW4oKS0+c2Vjb25kLT5Td2l0Y2hWYWx1ZXMAY3Vyci0+YWxpZ24gPT0gMCB8fCBjdXJyLT5hbGlnbiA9PSBjdXJyLT5ieXRlcwB1bmV4cGVjdGVkIGJ5dGVzAGV4cGVjdGVkIGk2NCBvcGVyYXRpb24gdG8gdG91Y2ggMSwgMiwgNCwgb3IgOCBieXRlcwBleHBlY3RlZCBmNjQgb3BlcmF0aW9uIHRvIHRvdWNoIDggYnl0ZXMAZXhwZWN0ZWQgdjEyOCBvcGVyYXRpb24gdG8gdG91Y2ggMTYgYnl0ZXMAZXhwZWN0ZWQgaTMyIG9wZXJhdGlvbiB0byB0b3VjaCAxLCAyLCBvciA0IGJ5dGVzAGV4cGVjdGVkIGYzMiBvcGVyYXRpb24gdG8gdG91Y2ggNCBieXRlcwBCaW5hcnllbkF0b21pY0NtcHhjaGdTZXRCeXRlcwBCaW5hcnllblN0b3JlU2V0Qnl0ZXMAQmluYXJ5ZW5TdHJpbmdXVEY4QWR2YW5jZVNldEJ5dGVzAEJpbmFyeWVuTG9hZFNldEJ5dGVzAEJpbmFyeWVuQXRvbWljUk1XU2V0Qnl0ZXMAQmluYXJ5ZW5BdG9taWNDbXB4Y2hnR2V0Qnl0ZXMAQmluYXJ5ZW5TdG9yZUdldEJ5dGVzAEJpbmFyeWVuU3RyaW5nV1RGOEFkdmFuY2VHZXRCeXRlcwBCaW5hcnllbkxvYWRHZXRCeXRlcwBCaW5hcnllbkF0b21pY1JNV0dldEJ5dGVzAHNpemVGaWVsZFNpemUgPCBNYXhMRUIzMkJ5dGVzAGFwcGVuZFRvT2JqZWN0V2l0aFF1b3RlcwByZW1vdmVVbm5lZWRlZFdyaXRlcwBpbnZhbGlkYXRlcwBmb2xkIGNvZGUsIG1lcmdpbmcgZHVwbGljYXRlcwBwaWNrIGxvYWQgc2lnbnMgYmFzZWQgb24gdGhlaXIgdXNlcwBvcGVyYXRpb24gc2hvdWxkIGhhdmUgYmVlbiByZW1vdmVkIGluIHByZXZpb3VzIHBhc3NlcwBuZXN0ZWQgcGFzc2VzAGFkZFNldFVzZXMAZ2V0TnVtVXNlcwAhcHJpbnRlci5wcmludGVkSGFzRXh0ZXJuYWxVc2VzAHRhcmdldF9mZWF0dXJlcwBwcmludC1mZWF0dXJlcwBlbWl0LXRhcmdldC1mZWF0dXJlcwBzdHJpcC10YXJnZXQtZmVhdHVyZXMAcHJpbnQgb3B0aW9ucyBmb3IgZW5hYmxlZCBmZWF0dXJlcwBpbnN0cnVtZW50IHRoZSBidWlsZCB3aXRoIGNvZGUgdG8gaW50ZXJjZXB0IGFsbCBsb2FkcyBhbmQgc3RvcmVzACBzdXBlcnR5cGVzAG5hbWUtdHlwZXMALS1lbmFibGUtZ2MgcmVxdWlyZXMgLS1lbmFibGUtcmVmZXJlbmNlLXR5cGVzAHJlbW92ZS11bnVzZWQtdHlwZXMAQXRvbWljIG9wZXJhdGlvbnMgYXJlIG9ubHkgdmFsaWQgb24gaW50IHR5cGVzAGFycmF5LmNvcHkgbXVzdCBoYXZlIHRoZSBwcm9wZXIgdHlwZXMAKHJlKW5hbWUgYWxsIGhlYXAgdHlwZXMAY29udCB0eXBlcyBtdXN0IGJlIGJ1aWx0IGZyb20gZnVuY3Rpb24gdHlwZXMAaW52YWxpZCBmdW5jdGlvbiBzZWN0aW9uIHNpemUsIG11c3QgZXF1YWwgdHlwZXMAbG9vcCB3aXRoIHZhbHVlIGFuZCBib2R5IG11c3QgbWF0Y2ggdHlwZXMAYmxvY2sgd2l0aCB2YWx1ZSBhbmQgbGFzdCBlbGVtZW50IHdpdGggdmFsdWUgbXVzdCBtYXRjaCB0eXBlcwBWYWx1ZXMgaW4gYSB0YWcgc2hvdWxkIGhhdmUgY29uY3JldGUgdHlwZXMAcGFyYW1zIG1heSBub3QgaGF2ZSB0dXBsZSB0eXBlcwBUT0RPOiBnZW5lcmFsIHJlZmVyZW5jZSB0eXBlcwBnbG9iYWxseSBvcHRpbWl6ZSBHQyB0eXBlcwByZW1vdmUgdW51c2VkIHByaXZhdGUgR0MgdHlwZXMAcmVmaW5lIGFuZCBtZXJnZSBhYnN0cmFjdCAobmV2ZXItY3JlYXRlZCkgdHlwZXMAcmVidWlsZFR5cGVzAGdldElnbm9yYWJsZVB1YmxpY1R5cGVzAGl0ZXJTdWJUeXBlcwBnZXRJbW1lZGlhdGVTdWJUeXBlcwBpbnN0cnVtZW50IHRoZSBidWlsZCB3aXRoIGxvZ2dpbmcgb2Ygd2hlcmUgZXhlY3V0aW9uIGdvZXMAdHVybnMgaW5kaXJlY3QgY2FsbHMgaW50byBkaXJlY3Qgb25lcwBsb3dlciB1bmFsaWduZWQgbG9hZHMgYW5kIHN0b3JlcyB0byBzbWFsbGVyIGFsaWduZWQgb25lcwBtaW5pZmllcyBib3RoIGltcG9ydCBhbmQgZXhwb3J0IG5hbWVzLCBhbmQgZW1pdHMgYSBtYXBwaW5nIHRvIHRoZSBtaW5pZmllZCBvbmVzAG1pbmlmaWVzIGltcG9ydCBuYW1lcyAob25seSB0aG9zZSwgYW5kIG5vdCBleHBvcnQgbmFtZXMpLCBhbmQgZW1pdHMgYSBtYXBwaW5nIHRvIHRoZSBtaW5pZmllZCBvbmVzAGdldExhbmVzAENhbm5vdCBnZXQgb2Zmc2V0IG9mIHBhc3NpdmUgc2VnbWVudCBpbml0aWFsaXplZCBtdWx0aXBsZSB0aW1lcwByZW1vdmUtdW51c2VkLW5hbWVzAHByaW50IGEgbWFwIG9mIGZ1bmN0aW9uIGluZGV4ZXMgdG8gbmFtZXMAQmluYXJ5ZW5Td2l0Y2hHZXROdW1OYW1lcwB3cml0ZU5hbWVzAG1pbmlmeS1pbXBvcnRzLWFuZC1leHBvcnRzLWFuZC1tb2R1bGVzAEhhbmRsZUZvbGxvd3VwTXVsdGlwbGVzAG9ubHkgcmVmZXJlbmNlIHR5cGVzIGFyZSB2YWxpZCBmb3IgdGFibGVzAE9ubHkgcmVmZXJlbmNlIHR5cGVzIGFyZSB2YWxpZCBmb3IgdGFibGVzAE5vbi1udWxsYWJsZSByZWZlcmVuY2UgdHlwZXMgYXJlIG5vdCB5ZXQgc3VwcG9ydGVkIGZvciB0YWJsZXMAbm8gdGFibGVzAG9wdGltaXplQ29waWVzAEJpbmFyeWVuVHJ5R2V0TnVtQ2F0Y2hCb2RpZXMAYW5hbHl6ZVRyYW5zaXRpdmVEZXBlbmRlbmNpZXMAZml4dXAgbmVzdGVkIHBvcHMgd2l0aGluIGNhdGNoZXMAc3NhLWlmeSB2YXJpYWJsZXMgc28gdGhhdCB0aGV5IGhhdmUgYSBzaW5nbGUgYXNzaWdubWVudCwgaWdub3JpbmcgbWVyZ2VzAG5ld1BhZ2VzAG9sZFBhZ2VzAHNvdXJjZXMAY2FsY3VsYXRlSW50ZXJmZXJlbmNlcwBHVUZBIHBsdXMgYWRkIGNhc3RzIGZvciBhbGwgaW5mZXJlbmNlcwBhcHBseUluZGljZXMAdHVwbGUuZXh0cmFjdCBpbmRleCBvdXQgb2YgYm91bmRzAFN0cnVjdCBmaWVsZCBpbmRleCBvdXQgb2YgYm91bmRzAGFwcGx5IHRoZSBhc3N1bXB0aW9uIHRoYXQgYXN5bmNpZnkgbmV2ZXIgdW53aW5kcwBleHRlbmRzAFR5cGUgb2YgdHVwbGUubWFrZSBkb2VzIG5vdCBtYXRjaCB0eXBlcyBvZiBpdHMgb3BlcmFuZHMAc3RydWN0Lm5ldyBtdXN0IGhhdmUgdGhlIHJpZ2h0IG51bWJlciBvZiBvcGVyYW5kcwB0dXBsZS5tYWtlIG11c3QgaGF2ZSBtdWx0aXBsZSBvcGVyYW5kcwBCaW5hcnllblRocm93R2V0TnVtT3BlcmFuZHMAQmluYXJ5ZW5TdHJ1Y3ROZXdHZXROdW1PcGVyYW5kcwBCaW5hcnllbkNhbGxJbmRpcmVjdEdldE51bU9wZXJhbmRzAEJpbmFyeWVuQ2FsbEdldE51bU9wZXJhbmRzAEJpbmFyeWVuQ2FsbFJlZkdldE51bU9wZXJhbmRzAEJpbmFyeWVuVHVwbGVNYWtlR2V0TnVtT3BlcmFuZHMAQmluYXJ5ZW5TdHJ1Y3RUeXBlR2V0TnVtRmllbGRzAFRyaWVzIHRvIGF2b2lkIHJlaW50ZXJwcmV0IG9wZXJhdGlvbnMgdmlhIG1vcmUgbG9hZHMAdGhyZWFkcwByZXBsYWNlIHRyYXBwaW5nIG9wZXJhdGlvbnMgd2l0aCBqcyBzZW1hbnRpY3MAcmVwbGFjZSB0cmFwcGluZyBvcGVyYXRpb25zIHdpdGggY2xhbXBpbmcgc2VtYW50aWNzAGJpbmFyeWVuLWludHJpbnNpY3MAbG93ZXIgYXdheSBiaW5hcnllbiBpbnRyaW5zaWNzAGZ1bmMtbWV0cmljcwByZXBvcnRzIG1ldHJpY3MAcmVwb3J0cyBmdW5jdGlvbiBtZXRyaWNzAGF0b21pY3MAQXRvbWljcwBNYXRoX2FicwBpMTZ4OC5hYnMAaTh4MTYuYWJzAGkzMng0LmFicwBmMzJ4NC5hYnMAZjY0LmFicwBpNjR4Mi5hYnMAZjY0eDIuYWJzAGYzMi5hYnMAYmFkIHN0cmluZy5hcwBpMTZ4OC5tYXhfcwBpOHgxNi5tYXhfcwBpMzJ4NC5tYXhfcwBpNjQuZGl2X3MAaTMyLmRpdl9zAGkxNng4Lmx0X3MAaTh4MTYubHRfcwBpMzJ4NC5sdF9zAGk2NC5sdF9zAGk2NHgyLmx0X3MAaTMyLmx0X3MAaTE2eDguZ3RfcwBpOHgxNi5ndF9zAGkzMng0Lmd0X3MAaTY0Lmd0X3MAaTY0eDIuZ3RfcwBpMzIuZ3RfcwBhcnJheS5nZXRfcwBzdHJ1Y3QuZ2V0X3MAaTMxLmdldF9zAGkxNng4LnExNW11bHJfc2F0X3MAaTE2eDguYWRkX3NhdF9zAGk4eDE2LmFkZF9zYXRfcwBpMTZ4OC5zdWJfc2F0X3MAaTh4MTYuc3ViX3NhdF9zAGkxNng4LnJlbGF4ZWRfcTE1bXVscl9zAGkxNng4LnNocl9zAGk4eDE2LnNocl9zAGkzMng0LnNocl9zAGk2NC5zaHJfcwBpNjR4Mi5zaHJfcwBpMzIuc2hyX3MAaTE2eDgubWluX3MAaTh4MTYubWluX3MAaTMyeDQubWluX3MAaTY0LnJlbV9zAGkzMi5yZW1fcwBpMTZ4OC5leHRyYWN0X2xhbmVfcwBpOHgxNi5leHRyYWN0X2xhbmVfcwBpMTZ4OC5sZV9zAGk4eDE2LmxlX3MAaTMyeDQubGVfcwBpNjQubGVfcwBpNjR4Mi5sZV9zAGkzMi5sZV9zAGkxNng4LmdlX3MAaTh4MTYuZ2VfcwBpMzJ4NC5nZV9zAGk2NC5nZV9zAGk2NHgyLmdlX3MAaTMyLmdlX3MAaTMyeDQuZG90X2k4eDE2X2k3eDE2X2FkZF9zAHYxMjgubG9hZDh4OF9zAGk4eDE2Lm5hcnJvd19pMTZ4OF9zAGkzMng0LmV4dG11bF9sb3dfaTE2eDhfcwBpMzJ4NC5leHRlbmRfbG93X2kxNng4X3MAaTMyeDQuZG90X2kxNng4X3MAaTMyeDQuZXh0bXVsX2hpZ2hfaTE2eDhfcwBpMzJ4NC5leHRlbmRfaGlnaF9pMTZ4OF9zAGkzMng0LmV4dGFkZF9wYWlyd2lzZV9pMTZ4OF9zAGk2NC5leHRlbmQ4X3MAaTMyLmV4dGVuZDhfcwBpNjQubG9hZDhfcwBpMzIubG9hZDhfcwBpMTZ4OC5leHRtdWxfbG93X2k4eDE2X3MAaTE2eDguZXh0ZW5kX2xvd19pOHgxNl9zAGkxNng4LmV4dG11bF9oaWdoX2k4eDE2X3MAaTE2eDguZXh0ZW5kX2hpZ2hfaTh4MTZfcwBpMTZ4OC5leHRhZGRfcGFpcndpc2VfaTh4MTZfcwBpMTZ4OC5kb3RfaTh4MTZfaTd4MTZfcwBpNjQuZXh0ZW5kMTZfcwBpMzIuZXh0ZW5kMTZfcwBpNjQubG9hZDE2X3MAaTMyLmxvYWQxNl9zAHYxMjgubG9hZDE2eDRfcwBpMTZ4OC5uYXJyb3dfaTMyeDRfcwBmNjR4Mi5jb252ZXJ0X2xvd19pMzJ4NF9zAGk2NHgyLmV4dG11bF9sb3dfaTMyeDRfcwBpNjR4Mi5leHRlbmRfbG93X2kzMng0X3MAZjMyeDQuY29udmVydF9pMzJ4NF9zAGk2NHgyLmV4dG11bF9oaWdoX2kzMng0X3MAaTY0eDIuZXh0ZW5kX2hpZ2hfaTMyeDRfcwBpMzJ4NC50cnVuY19zYXRfZjMyeDRfcwBpMzJ4NC5yZWxheGVkX3RydW5jX2YzMng0X3MAZjY0LmNvbnZlcnRfaTY0X3MAZjMyLmNvbnZlcnRfaTY0X3MAaTY0LnRydW5jX3NhdF9mNjRfcwBpMzIudHJ1bmNfc2F0X2Y2NF9zAGk2NC50cnVuY19mNjRfcwBpMzIudHJ1bmNfZjY0X3MAdjEyOC5sb2FkMzJ4Ml9zAGY2NC5jb252ZXJ0X2kzMl9zAGYzMi5jb252ZXJ0X2kzMl9zAGk2NC5leHRlbmRfaTMyX3MAaTY0LnRydW5jX3NhdF9mMzJfcwBpMzIudHJ1bmNfc2F0X2YzMl9zAGk2NC50cnVuY19mMzJfcwBpMzIudHJ1bmNfZjMyX3MAaTY0LmV4dGVuZDMyX3MAaTY0LmxvYWQzMl9zAFN0cmluZ0FzAHZpc2l0UmVmQXMAbG9hZDhzAGxvYWQxNnMAbG9hZDY0cwBsb2FkMzJzAHN0cmluZ192aWV3OjpzdWJzdHIAZW50cnlGbG93QmxvY2sgIT0gbnVsbHB0cgBmcHRyAGVtc2NyaXB0ZW5fZ2V0X3NicmtfcHRyAHN0b3JlX3B0cgBsb2FkX3B0cgBpNjQucm90cgBpMzIucm90cgBzdHJpbmdTdHIAbmFtZVN0cgBCaW5hcnllbkF0b21pY05vdGlmeVNldFB0cgBCaW5hcnllblN0cmluZ05ld1NldFB0cgBCaW5hcnllbkF0b21pY1dhaXRTZXRQdHIAQmluYXJ5ZW5BdG9taWNDbXB4Y2hnU2V0UHRyAEJpbmFyeWVuU3RvcmVTZXRQdHIAQmluYXJ5ZW5TSU1ETG9hZFN0b3JlTGFuZVNldFB0cgBCaW5hcnllblN0cmluZ0VuY29kZVNldFB0cgBCaW5hcnllbkxvYWRTZXRQdHIAQmluYXJ5ZW5TSU1ETG9hZFNldFB0cgBCaW5hcnllbkF0b21pY1JNV1NldFB0cgBCaW5hcnllbkF0b21pY05vdGlmeUdldFB0cgBCaW5hcnllblN0cmluZ05ld0dldFB0cgBCaW5hcnllbkF0b21pY1dhaXRHZXRQdHIAQmluYXJ5ZW5BdG9taWNDbXB4Y2hnR2V0UHRyAEJpbmFyeWVuU3RvcmVHZXRQdHIAQmluYXJ5ZW5TSU1ETG9hZFN0b3JlTGFuZUdldFB0cgBCaW5hcnllblN0cmluZ0VuY29kZUdldFB0cgBCaW5hcnllbkxvYWRHZXRQdHIAQmluYXJ5ZW5TSU1ETG9hZEdldFB0cgBCaW5hcnllbkF0b21pY1JNV0dldFB0cgBwb3BQdHIAZXhwcmVzc2lvblN0YWNrW2V4cHJlc3Npb25TdGFjay5zaXplKCkgLSAxXSA9PSBjdXJyAG91dGVyLT5saXN0LmJhY2soKSA9PSBjdXJyAGludmFsaWQgZXhwcgB1bmV4cGVjdGVkIGV4cHIAYmxvY2stPmxpc3QuYmFjaygpID09IGV4cHIAYm9keUV4cHIAaW5kZXhFeHByAGRlc3RJbmRleEV4cHIAc3JjSW5kZXhFeHByAHRpbWVvdXRFeHByAGRlc3RFeHByAHN0YXJ0RXhwcgBub3RpZnlDb3VudEV4cHIAcmVwbGFjZW1lbnRFeHByAHJpZ2h0RXhwcgBzaGlmdEV4cHIAbGVmdEV4cHIAb2Zmc2V0RXhwcgB0YXJnZXRFeHByAHBvc0V4cHIAYnl0ZXNFeHByAHB0ckV4cHIAbnVtRXhwcgBsZW5ndGhFeHByAGNhdGNoRXhwcgByZWZFeHByAGRlc3RSZWZFeHByAHNyY1JlZkV4cHIAc2l6ZUV4cHIAaWZUcnVlRXhwcgB2YWx1ZUV4cHIAaWZGYWxzZUV4cHIAdHVwbGVFeHByAHNvdXJjZUV4cHIAY29uZEV4cHIAZW5kRXhwcgBvcGVyYW5kRXhwcgBjaGlsZEV4cHIAZXhwZWN0ZWRFeHByAHZlY0V4cHIAYkV4cHIAZGVsdGFFeHByAGkzMUV4cHIAQXByAGk2NC5hdG9taWMucm13LnhvcgBpMzIuYXRvbWljLnJtdy54b3IAdjEyOC54b3IAaTY0LnhvcgBpMzIueG9yAEFuY2VzdG9yAHZlY3RvcgB1bnZhbGlkIHVuYXJ5IG9wZXJhdG9yAHVudmFsaWQgYmluYXJ5IG9wZXJhdG9yAHVuaGFuZGxlZCBpMzIgYmluYXJ5IG9wZXJhdG9yAHVuaGFuZGxlZCB1bmFyeSBmbG9hdCBvcGVyYXRvcgB1bnNwZWNpZmllZCBpb3N0cmVhbV9jYXRlZ29yeSBlcnJvcgBjYXN0IGVycm9yAG1vbmV5X2dldCBlcnJvcgBNYXRoX2Zsb29yAGYzMng0LmZsb29yAGY2NC5mbG9vcgBmNjR4Mi5mbG9vcgBmMzIuZmxvb3IAaW5zdHJ1bWVudCBsb2FkcyBhbmQgc3RvcmVzIHRvIGNoZWNrIGZvciBpbnZhbGlkIGJlaGF2aW9yAGZvcgBpNjQuYXRvbWljLnJtdy5vcgBpMzIuYXRvbWljLnJtdy5vcgB2MTI4Lm9yAGk2NC5vcgBpMzIub3IAY2FuUmVtb3ZlU2V0R2V0UGFpcgBwcmludC1zdGFjay1pcgBvcHRpbWl6ZS1zdGFjay1pcgBnZW5lcmF0ZS1zdGFjay1pcgBsc2hyAGFzaHIAVW5leHBlY3RlZCB0dXBsZSBnbG9iYWwgaW5pdGlhbGl6ZXIARmxvd2VyAGZ1bmN0aW9uU3BsaXR0ZXIAYXBwZW5kVG9PYmplY3RBc1NldHRlcgBhcHBlbmRUb09iamVjdEFzR2V0dGVyAF9fc3RhY2tfcG9pbnRlcgBnZXRTdGFja1NwYWNlOiBmYWlsZWQgdG8gZmluZCB0aGUgc3RhY2sgcG9pbnRlcgBnZXRJbmRleFBvaW50ZXIAVW5leHBlY3RlZCBkZWxpbWl0ZXIAc3RyaW5ndmlld19pdGVyAHN0cmluZy5hc19pdGVyAHJlbW92ZVBhcmFtZXRlcgBTdHJpbmdTbGljZUl0ZXIAc3VwZXIAc2V0UGFzc1J1bm5lcgBmb2xkaW5nLWlubmVyAHJlbW92ZXMgYXJndW1lbnRzIHRvIGNhbGxzIGluIGFuIGx0by1saWtlIG1hbm5lcgBzdGFjay1jaGVjay1oYW5kbGVyAGludmFsaWQgcmVmZXJlbmNlIHR5cGUgcXVhbGlmaWVyAGltcG9ydCBhbmQgZXhwb3J0IGNhbm5vdCBiZSBzcGVjaWZpZWQgdG9nZXRoZXIAd2hhdCAhPSBPdGhlcgBkZWJ1Z2dlcgBleHBlY3RlZCBpbnRlZ2VyAHRyYW5zZmVyAGJ1ZmZlcgBBcnJheUJ1ZmZlcgBuZXdCdWZmZXIAQmluYXJ5ZW5BdG9taWNGZW5jZVNldE9yZGVyAEJpbmFyeWVuQXRvbWljRmVuY2VHZXRPcmRlcgBwaWNrSW5kaWNlc0Zyb21PcmRlcgBzdXNwZW5kZXIAUmVuZGVyAGxvY2FsSW5mb1Byb3ZpZGVyAG1hcExvY2Fsc0FuZEVtaXRIZWFkZXIAT2N0b2JlcgBnZXROdW1iZXIATm92ZW1iZXIAU2VwdGVtYmVyAERlY2VtYmVyAGJyACA9IHZhcgBkb05vdGVOb25MaW5lYXIAaW9zX2Jhc2U6OmNsZWFyAEJpbmFyeWVuRnVuY3Rpb25HZXRWYXIAaXNWYXIAVGVtcFZhcgBhcHBlbmRUb1ZhcgBhZGRWYXIATWFyAFxyAGNvbWJpbmVPcgBzZXEAc3RyaW5nLmVxAHJlZi5lcQBpMTZ4OC5lcQBpOHgxNi5lcQBpMzJ4NC5lcQBmMzJ4NC5lcQBpNjQuZXEAZjY0LmVxAGk2NHgyLmVxAGY2NHgyLmVxAGkzMi5lcQBmMzIuZXEAU3RyaW5nRXEAUmVmRXEAY2F0Y2gtcG9wLWZpeHVwAGVuc3VyZVR5cGVzQXJlSW5OZXdSZWNHcm91cABnZXRSZWNHcm91cABjcmVhdGVSZWNHcm91cABidWlsZFJlY0dyb3VwAHN1c3AAKnRhc2suY3VycnAAKmN1cnJwAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy93YXNtL3dhc20tYmluYXJ5LmNwcAAvaG9tZS9ydW5uZXIvd29yay9iaW5hcnllbi5qcy9iaW5hcnllbi5qcy9iaW5hcnllbi9zcmMvcGFzc2VzL1NvdXBlcmlmeS5jcHAAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL3Bhc3Nlcy9Qb3BwaWZ5LmNwcAAvaG9tZS9ydW5uZXIvd29yay9iaW5hcnllbi5qcy9iaW5hcnllbi5qcy9iaW5hcnllbi9zcmMvcGFzc2VzL0FzeW5jaWZ5LmNwcAAvaG9tZS9ydW5uZXIvd29yay9iaW5hcnllbi5qcy9iaW5hcnllbi5qcy9iaW5hcnllbi9zcmMvcGFzc2VzL1NTQWlmeS5jcHAAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL3Bhc3Nlcy9QcmludC5jcHAAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL3Bhc3Nlcy9NaW5pZnlJbXBvcnRzQW5kRXhwb3J0cy5jcHAAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL3Bhc3Nlcy9EYXRhRmxvd09wdHMuY3BwAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy9pci9wb3NzaWJsZS1jb250ZW50cy5jcHAAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL3Bhc3Nlcy9SZW1vdmVVbnVzZWRNb2R1bGVFbGVtZW50cy5jcHAAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL3Bhc3Nlcy9PcHRpbWl6ZUFkZGVkQ29uc3RhbnRzLmNwcAAvaG9tZS9ydW5uZXIvd29yay9iaW5hcnllbi5qcy9iaW5hcnllbi5qcy9iaW5hcnllbi9zcmMvc3VwcG9ydC9iaXRzLmNwcAAvaG9tZS9ydW5uZXIvd29yay9iaW5hcnllbi5qcy9iaW5hcnllbi5qcy9iaW5hcnllbi9zcmMvcGFzc2VzL0dsb2JhbEVmZmVjdHMuY3BwAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy9wYXNzZXMvcGFzcy5jcHAAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL3Bhc3Nlcy9TcGlsbFBvaW50ZXJzLmNwcAAvaG9tZS9ydW5uZXIvd29yay9iaW5hcnllbi5qcy9iaW5hcnllbi5qcy9iaW5hcnllbi9zcmMvcGFzc2VzL1JlbW92ZVVudXNlZEJycy5jcHAAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL3Bhc3Nlcy9SZW1vdmVOb25KU09wcy5jcHAAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL3Bhc3Nlcy9PcHRpbWl6ZUluc3RydWN0aW9ucy5jcHAAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL3Bhc3Nlcy9SZW9yZGVyRnVuY3Rpb25zLmNwcAAvaG9tZS9ydW5uZXIvd29yay9iaW5hcnllbi5qcy9iaW5hcnllbi5qcy9iaW5hcnllbi9zcmMvcGFzc2VzL01lcmdlU2ltaWxhckZ1bmN0aW9ucy5jcHAAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL3Bhc3Nlcy9HZW5lcmF0ZUR5bkNhbGxzLmNwcAAvaG9tZS9ydW5uZXIvd29yay9iaW5hcnllbi5qcy9iaW5hcnllbi5qcy9iaW5hcnllbi9zcmMvcGFzc2VzL3BhcmFtLXV0aWxzLmNwcAAvaG9tZS9ydW5uZXIvd29yay9iaW5hcnllbi5qcy9iaW5hcnllbi5qcy9iaW5hcnllbi9zcmMvaXIvc3RhY2stdXRpbHMuY3BwAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy9pci9laC11dGlscy5jcHAAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL2lyL21vZHVsZS11dGlscy5jcHAAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL3Bhc3Nlcy9TaW1wbGlmeUxvY2Fscy5jcHAAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL3Bhc3Nlcy9JbnN0cnVtZW50TG9jYWxzLmNwcAAvaG9tZS9ydW5uZXIvd29yay9iaW5hcnllbi5qcy9iaW5hcnllbi5qcy9iaW5hcnllbi9zcmMvcGFzc2VzL1Jlb3JkZXJMb2NhbHMuY3BwAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy9wYXNzZXMvTWVyZ2VMb2NhbHMuY3BwAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy9wYXNzZXMvQ29hbGVzY2VMb2NhbHMuY3BwAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy9wYXNzZXMvU2ltcGxpZnlHbG9iYWxzLmNwcAAvaG9tZS9ydW5uZXIvd29yay9iaW5hcnllbi5qcy9iaW5hcnllbi5qcy9iaW5hcnllbi9zcmMvcGFzc2VzL1Jlb3JkZXJHbG9iYWxzLmNwcAAvaG9tZS9ydW5uZXIvd29yay9iaW5hcnllbi5qcy9iaW5hcnllbi5qcy9iaW5hcnllbi9zcmMvcGFzc2VzL01lcmdlQmxvY2tzLmNwcAAvaG9tZS9ydW5uZXIvd29yay9iaW5hcnllbi5qcy9iaW5hcnllbi5qcy9iaW5hcnllbi9zcmMvcGFzc2VzL1JlbW92ZVVudXNlZE5hbWVzLmNwcAAvaG9tZS9ydW5uZXIvd29yay9iaW5hcnllbi5qcy9iaW5hcnllbi5qcy9iaW5hcnllbi9zcmMvc3VwcG9ydC90aHJlYWRzLmNwcAAvaG9tZS9ydW5uZXIvd29yay9iaW5hcnllbi5qcy9iaW5hcnllbi5qcy9iaW5hcnllbi9zcmMvd2FzbS93YXNtLXZhbGlkYXRvci5jcHAAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL2lyL0V4cHJlc3Npb25BbmFseXplci5jcHAAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL3dhc20vd2FzbS1zLXBhcnNlci5jcHAAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL2NmZy9SZWxvb3Blci5jcHAAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL3Bhc3Nlcy9SZVJlbG9vcC5jcHAAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL3Bhc3Nlcy9TYWZlSGVhcC5jcHAAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL3Bhc3Nlcy9Mb29wSW52YXJpYW50Q29kZU1vdGlvbi5jcHAAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL3Bhc3Nlcy9PbmNlUmVkdWN0aW9uLmNwcAAvaG9tZS9ydW5uZXIvd29yay9iaW5hcnllbi5qcy9iaW5hcnllbi5qcy9iaW5hcnllbi9zcmMvcGFzc2VzL0dsb2JhbFR5cGVPcHRpbWl6YXRpb24uY3BwAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy9wYXNzZXMvVHVwbGVPcHRpbWl6YXRpb24uY3BwAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy9wYXNzZXMvRGVhZEFyZ3VtZW50RWxpbWluYXRpb24uY3BwAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy9wYXNzZXMvUmVkdW5kYW50U2V0RWxpbWluYXRpb24uY3BwAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy9wYXNzZXMvRGVhZENvZGVFbGltaW5hdGlvbi5jcHAAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL3Bhc3Nlcy9GdW5jQ2FzdEVtdWxhdGlvbi5jcHAAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL3Bhc3Nlcy9Db25zdGFudEZpZWxkUHJvcGFnYXRpb24uY3BwAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy9wYXNzZXMvRmxhdHRlbi5jcHAAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL3Bhc3Nlcy9WYWN1dW0uY3BwAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy9hc21qcy9hc21fdl93YXNtLmNwcAAvaG9tZS9ydW5uZXIvd29yay9iaW5hcnllbi5qcy9iaW5hcnllbi5qcy9iaW5hcnllbi9zcmMvd2FzbS93YXNtLmNwcAAvaG9tZS9ydW5uZXIvd29yay9iaW5hcnllbi5qcy9iaW5hcnllbi5qcy9iaW5hcnllbi9zcmMvd2FzbS9saXRlcmFsLmNwcAAvaG9tZS9ydW5uZXIvd29yay9iaW5hcnllbi5qcy9iaW5hcnllbi5qcy9iaW5hcnllbi9zcmMvcGFzc2VzL0hlYXAyTG9jYWwuY3BwAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy93YXNtL3dhc20tc3RhY2suY3BwAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy9pci9Mb2NhbEdyYXBoLmNwcAAvaG9tZS9ydW5uZXIvd29yay9iaW5hcnllbi5qcy9iaW5hcnllbi5qcy9iaW5hcnllbi9zcmMvcGFzc2VzL1R5cGVHZW5lcmFsaXppbmcuY3BwAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy9wYXNzZXMvQ29uc3RIb2lzdGluZy5jcHAAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL2lyL3R5cGUtdXBkYXRpbmcuY3BwAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy93YXNtL3BhcnNpbmcuY3BwAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy9wYXNzZXMvTXVsdGlNZW1vcnlMb3dlcmluZy5jcHAAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL3Bhc3Nlcy9BbGlnbm1lbnRMb3dlcmluZy5jcHAAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL3Bhc3Nlcy9NZW1vcnk2NExvd2VyaW5nLmNwcAAvaG9tZS9ydW5uZXIvd29yay9iaW5hcnllbi5qcy9iaW5hcnllbi5qcy9iaW5hcnllbi9zcmMvcGFzc2VzL0k2NFRvSTMyTG93ZXJpbmcuY3BwAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy9wYXNzZXMvVW5zdWJ0eXBpbmcuY3BwAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy9wYXNzZXMvTG9jYWxTdWJ0eXBpbmcuY3BwAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy9wYXNzZXMvSW5saW5pbmcuY3BwAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy9wYXNzZXMvR2xvYmFsUmVmaW5pbmcuY3BwAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy9wYXNzZXMvTWVtb3J5UGFja2luZy5jcHAAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL3Bhc3Nlcy9Db2RlUHVzaGluZy5jcHAAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL3Bhc3Nlcy9UeXBlTWVyZ2luZy5jcHAAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL3Bhc3Nlcy9Db2RlRm9sZGluZy5jcHAAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL2FuYWx5c2lzL2NmZy5jcHAAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL3Bhc3Nlcy9EaXJlY3RpemUuY3BwAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy9pci9SZUZpbmFsaXplLmNwcAAvaG9tZS9ydW5uZXIvd29yay9iaW5hcnllbi5qcy9iaW5hcnllbi5qcy9iaW5hcnllbi9zcmMvcGFzc2VzL1ByZWNvbXB1dGUuY3BwAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy93YXNtL3dhc20tdHlwZS5jcHAAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL2FzbWpzL2FzbWFuZ2xlLmNwcAAvaG9tZS9ydW5uZXIvd29yay9iaW5hcnllbi5qcy9iaW5hcnllbi5qcy9iaW5hcnllbi9zcmMvcGFzc2VzL1RyYXBNb2RlLmNwcAAvaG9tZS9ydW5uZXIvd29yay9iaW5hcnllbi5qcy9iaW5hcnllbi5qcy9iaW5hcnllbi9zcmMvcGFzc2VzL0dsb2JhbFN0cnVjdEluZmVyZW5jZS5jcHAAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL2lyL0xvY2FsU3RydWN0dXJhbERvbWluYW5jZS5jcHAAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL2Vtc2NyaXB0ZW4tb3B0aW1pemVyL29wdGltaXplci1zaGFyZWQuY3BwAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy9iaW5hcnllbi1jLmNwcAAvaG9tZS9ydW5uZXIvd29yay9iaW5hcnllbi5qcy9iaW5hcnllbi5qcy9iaW5hcnllbi9zcmMvcGFzc2VzL1N0YWNrSVIuY3BwAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy9wYXNzZXMvTG9jYWxDU0UuY3BwAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy9wYXNzZXMvVHlwZVNTQS5jcHAAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL3Bhc3Nlcy9HVUZBLmNwcAB3YXNtMmpzX2RhdGFfZHJvcAB0dXBsZS5kcm9wAGRhdGEuZHJvcABleHBlY3RlZCB0dXBsZS5kcm9wLCBmb3VuZCBkcm9wAHZpc2l0RHJvcABEYXRhRHJvcABjdHBvcAByZXJlbG9vcAAgOzsgZW5kIGxvb3AAdmlzaXRMb29wAGRvVmlzaXRMb29wAG9wdGltaXplTG9vcABNYWtlTG9vcABub3AAdmlzaXRQb3AAZmluZFBvcABoYW5kbGVCbG9ja05lc3RlZFBvcABFeHBlY3RlZCBjb25kaXRpb24gdG8gYmUgYSBQb3AATm9wAGludmFsaWQgdW5hcnkgb3AAaW52YWxpZCBiaW5hcnkgb3AAaW52bGlhZCBiaW5hcnkgb3AAYmFkIHN0cmluZy5uZXcgb3AAYmFkIHN0cmluZy5tZWFzdXJlIG9wAFVuZXhwZWN0ZWQgU0lNRExvYWRTdG9yZUxhbmUgb3AAaW52YWxpZCBvcAB1bmV4cGV0ZWQgb3AAdW5leHBlY3RlZCBvcABiYWQgb3AAdjEyOCBvcABpNjQgb3AAZjY0IG9wAGkzMiBvcABmMzIgb3AAVW5leHBlY3RlZCBicl9vbiogb3AAZHdhcmZkdW1wAG1ha2VaZXJvQ29tcAB1bmltcABhc20yd2FzbV9pMzJfdGVtcABnZXRUZW1wAGZyZWVUZW1wAFNjb3BlZFRlbXAAdHJhcC1tb2RlLWNsYW1wAHN0cmlwAHJvdW5kdHJpcABjZnAAU2VwAHdhc20yanNfdHJhcAAhbXVzdE5vcCB8fCAhbXVzdFRyYXAAc3ltYm9sbWFwAHByaW50LWZ1bmN0aW9uLW1hcABjYW5ub3QgZmluZCB0aGUgJ21hcHBpbmdzJyBmaWVsZCBpbiBtYXAAY2Fubm90IGZpbmQgdGhlICdzb3VyY2VzJyBmaWVsZCBpbiBtYXAAc2FmZS1oZWFwAHVwZGF0ZURhdGFTZWdtZW50c01hcAB1cGRhdGVGdW5jdGlvbnNNYXAAc291cmNlTWFwAEJpbmFyeWVuTW9kdWxlV3JpdGVXaXRoU291cmNlTWFwAEJpbmFyeWVuU0lNRFRlcm5hcnlTZXRPcABCaW5hcnllbkJpbmFyeVNldE9wAEJpbmFyeWVuVW5hcnlTZXRPcABCaW5hcnllblN0cmluZ05ld1NldE9wAEJpbmFyeWVuU0lNRFNoaWZ0U2V0T3AAQmluYXJ5ZW5TSU1ERXh0cmFjdFNldE9wAEJpbmFyeWVuU3RyaW5nQXNTZXRPcABCaW5hcnllblJlZkFzU2V0T3AAQmluYXJ5ZW5TdHJpbmdFcVNldE9wAEJpbmFyeWVuQnJPblNldE9wAEJpbmFyeWVuU3RyaW5nSXRlck1vdmVTZXRPcABCaW5hcnllblN0cmluZ01lYXN1cmVTZXRPcABCaW5hcnllblNJTURMb2FkU3RvcmVMYW5lU2V0T3AAQmluYXJ5ZW5TdHJpbmdFbmNvZGVTZXRPcABCaW5hcnllblNJTURSZXBsYWNlU2V0T3AAQmluYXJ5ZW5TSU1ETG9hZFNldE9wAEJpbmFyeWVuQXRvbWljUk1XU2V0T3AAQmluYXJ5ZW5TdHJpbmdTbGljZVdURlNldE9wAEJpbmFyeWVuU0lNRFRlcm5hcnlHZXRPcABCaW5hcnllbkJpbmFyeUdldE9wAEJpbmFyeWVuVW5hcnlHZXRPcABCaW5hcnllblN0cmluZ05ld0dldE9wAEJpbmFyeWVuU0lNRFNoaWZ0R2V0T3AAQmluYXJ5ZW5TSU1ERXh0cmFjdEdldE9wAEJpbmFyeWVuU3RyaW5nQXNHZXRPcABCaW5hcnllblJlZkFzR2V0T3AAQmluYXJ5ZW5TdHJpbmdFcUdldE9wAEJpbmFyeWVuQnJPbkdldE9wAEJpbmFyeWVuU3RyaW5nSXRlck1vdmVHZXRPcABCaW5hcnllblN0cmluZ01lYXN1cmVHZXRPcABCaW5hcnllblNJTURMb2FkU3RvcmVMYW5lR2V0T3AAQmluYXJ5ZW5TdHJpbmdFbmNvZGVHZXRPcABCaW5hcnllblNJTURSZXBsYWNlR2V0T3AAQmluYXJ5ZW5TSU1ETG9hZEdldE9wAEJpbmFyeWVuQXRvbWljUk1XR2V0T3AAQmluYXJ5ZW5TdHJpbmdTbGljZVdURkdldE9wACVJOiVNOiVTICVwAHZhbHVlIHNob3VsZCBiZSBhIHBvd2VyIG9mIHR3bwBNZXJnZUJyYW5jaEludG8AQ3VyciAhPSBJbnRvAGd0bwByZW1vdmVzIG5hbWVzIGZyb20gbG9jYXRpb25zIHRoYXQgYXJlIG5ldmVyIGJyYW5jaGVkIHRvAGkzMng0LnRydW5jX3NhdF9mNjR4Ml91X3plcm8AaTMyeDQucmVsYXhlZF90cnVuY19mNjR4Ml91X3plcm8AaTMyeDQudHJ1bmNfc2F0X2Y2NHgyX3NfemVybwBpMzJ4NC5yZWxheGVkX3RydW5jX2Y2NHgyX3NfemVybwB2MTI4LmxvYWQ2NF96ZXJvAGYzMng0LmRlbW90ZV9mNjR4Ml96ZXJvAHYxMjgubG9hZDMyX3plcm8AbWFrZVplcm8AbWFrZUpzQ29lcmNlZFplcm8Ab3B0aW1pemVzIGFkZGVkIGNvbnN0YW50cyBpbnRvIGxvYWQvc3RvcmUgb2Zmc2V0cywgcHJvcGFnYXRpbmcgdGhlbSBhY3Jvc3MgbG9jYWxzIHRvbwBkaXNjYXJkcyBnbG9iYWwgZWZmZWN0IGluZm8Ac3RyaXAgZHdhcmYgZGVidWcgaW5mbwBnZXRUYXJnZXRJbmZvAGNvcHlEZWJ1Z0luZm8AZ2V0VHlwZUluZm8AZ2V0SGVhcFR5cGVJbmZvAGRmbwBkbwBBZGRTd2l0Y2hCcmFuY2hUbwBBZGRCcmFuY2hUbwBub2V4bgBydW4AZGVmdW4AU3VuAEp1bgBfX2JpbmFyeWVuX2Zha2VfcmV0dXJuAHZpc2l0UmV0dXJuAEJpbmFyeWVuQ2FsbEluZGlyZWN0U2V0UmV0dXJuAEJpbmFyeWVuQ2FsbFNldFJldHVybgBCaW5hcnllbkNhbGxSZWZTZXRSZXR1cm4AIWN1cnItPmlzUmV0dXJuAEJpbmFyeWVuQ2FsbEluZGlyZWN0SXNSZXR1cm4AQmluYXJ5ZW5DYWxsSXNSZXR1cm4AQmluYXJ5ZW5DYWxsUmVmSXNSZXR1cm4Ab3B0aW1pemVMb29wUmV0dXJuAG9wdGltaXplQmxvY2tSZXR1cm4Ab3B0aW1pemVJZlJldHVybgBvcHRpbWl6ZUlmRWxzZVJldHVybgBub2V4dGVybgBVbmV4cGVjdGVkIGVycm9yIHJlYXNvbgBsb2dfZXhlY3V0aW9uAGxvZy1leGVjdXRpb24Ac3RkOjpleGNlcHRpb24AbG9vcCBpbnZhcmlhbnQgY29kZSBtb3Rpb24AaW52YWxpZCBzdWJ0eXBlIGRlZmluaXRpb24AaW52YWxpZCBicl9pZiBjb25kaXRpb24AQmluYXJ5ZW5TZWxlY3RTZXRDb25kaXRpb24AQmluYXJ5ZW5CcmVha1NldENvbmRpdGlvbgBCaW5hcnllblN3aXRjaFNldENvbmRpdGlvbgBCaW5hcnllbklmU2V0Q29uZGl0aW9uAEJpbmFyeWVuU2VsZWN0R2V0Q29uZGl0aW9uAEJpbmFyeWVuQnJlYWtHZXRDb25kaXRpb24AQmluYXJ5ZW5Td2l0Y2hHZXRDb25kaXRpb24AQmluYXJ5ZW5JZkdldENvbmRpdGlvbgAhYmVmb3JlLT5Td2l0Y2hDb25kaXRpb24ARGV0YWlscy0+Q29uZGl0aW9uACFJbnRvLT5Db25kaXRpb24Abm90ZUFkZGl0aW9uAG9uY2UtcmVkdWN0aW9uAGV4dHJhY3QtZnVuY3Rpb24AYmFkIGhlbHBlciBmdW5jdGlvbgBsb2NhbC5zZXQgb3V0c2lkZSBvZiBmdW5jdGlvbgB1bmV4cGVjdGVkIGVuZCBvZiBmdW5jdGlvbgBkdXBsaWNhdGUgZnVuY3Rpb24AY2FsbC5pZi51c2VkJ3MgbGFzdCBwYXJhbSBtdXN0IGJlIGEgZnVuY3Rpb24AY29weUZ1bmN0aW9uAGV4cG9ydEZ1bmN0aW9uAHZpc2l0RnVuY3Rpb24AZ2V0SW5saW5lYWJsZVNwbGl0RnVuY3Rpb24AZ2V0RnVuY3Rpb24AcHJvY2Vzc0Z1bmN0aW9uAGFwcGVuZEFyZ3VtZW50VG9GdW5jdGlvbgBydW5QYXNzT25GdW5jdGlvbgBydW5PbkZ1bmN0aW9uAGZyb21GdW5jdGlvbgBkb1dhbGtGdW5jdGlvbgBtYWtlRnVuY3Rpb24AZ2V0QWN0dWFsbHlJbmxpbmVkRnVuY3Rpb24AdmlzaXREZWZpbmVkRnVuY3Rpb24AYWRkRnVuY3Rpb24AaGF2ZUludGVyc2VjdGlvbgBOdW1iZXIgb2Ygc2VnbWVudHMgZG9lcyBub3QgYWdyZWUgd2l0aCBEYXRhQ291bnQgc2VjdGlvbgBzdHJpcCB0aGUgd2FzbSBwcm9kdWNlcnMgc2VjdGlvbgBzdHJpcCB0aGUgd2FzbSB0YXJnZXQgZmVhdHVyZXMgc2VjdGlvbgBpbGwtZm9ybWVkIHN0cmluZyBleHRlbmRzIGJleW9uZCBzZWN0aW9uAGZpbmlzaFNlY3Rpb24AdW5leHBlY3RlZCBhY3Rpb24ATGl2ZW5lc3NBY3Rpb24AdHVwbGUtb3B0aW1pemF0aW9uAGdldENvbnRpbnVhdGlvbgB3cmFwIGltcG9ydHMgYW5kIGV4cG9ydHMgZm9yIEphdmFTY3JpcHQgcHJvbWlzZSBpbnRlZ3JhdGlvbgBpdGVyYXRpb24AaW52YWxpZCB1bmFyeSBvcGVyYXRpb24AdW5hbGlnbmVkIGF0b21pYyBvcGVyYXRpb24AZHVwbGljYXRlLWltcG9ydC1lbGltaW5hdGlvbgBkdXBsaWNhdGUtZnVuY3Rpb24tZWxpbWluYXRpb24AaW52YWxpZCBjYXRjaCBzZW50IHR5cGUgaW5mb3JtYXRpb24AR3JhbmQgVW5pZmllZCBGbG93IEFuYWx5c2lzOiBvcHRpbWl6ZSB0aGUgZW50aXJlIHByb2dyYW0gdXNpbmcgaW5mb3JtYXRpb24gYWJvdXQgd2hhdCBjb250ZW50IGNhbiBhY3R1YWxseSBhcHBlYXIgaW4gZWFjaCBsb2NhdGlvbgBiaW5hcnkgb2Zmc2V0IGF0IGZ1bmN0aW9uIGV4aXQgbm90IGF0IGV4cGVjdGVkIGxvY2F0aW9uAGdldExvY2F0aW9uAGJsb2NrLWRlYnVnTG9jYXRpb24AVW5leHBlY3RlZCBjb250cm9sIGZsb3cgZXhwcmVzc2lvbgBub24tY29uc3RhbnQgZXhwcmVzc2lvbgB1bnN1cHBvcnRlZCBjb25zdGFudCBleHByZXNzaW9uAGVsZW1lbnQgbXVzdCBiZSBhIGNvbnN0YW50IGV4cHJlc3Npb24AaW52YWxpZCB0eXBlIGluIFJlc3VtZSBleHByZXNzaW9uAGV4cGVjdGVkIHRvIHJlYWQgYSBzaW5nbGUgZXhwcmVzc2lvbgBnZXRDb25zdEV4cHJlc3Npb24AZ2V0TGl0ZXJhbEZyb21Db25zdEV4cHJlc3Npb24AcHJpbnRFeHByZXNzaW9uAG1ha2VDb25zdGFudEV4cHJlc3Npb24AdmlzaXRFeHByZXNzaW9uAHBvcEV4cHJlc3Npb24AbWFrZUV4cHJlc3Npb24AcG9wTm9uVm9pZEV4cHJlc3Npb24AcmVhZEV4cHJlc3Npb24AOiBubyBjb252ZXJzaW9uAE1vbgBqb2luAGYzMng0LnBtaW4AZjY0eDIucG1pbgBNYXRoX21pbgBmMzJ4NC5yZWxheGVkX21pbgBmNjR4Mi5yZWxheGVkX21pbgBmMzJ4NC5taW4AZjY0Lm1pbgBmNjR4Mi5taW4AZjMyLm1pbgBpID4gMCAmJiBzZXQtPnZhbHVlID09ICphY3Rpb25zW2kgLSAxXS5vcmlnaW4AX19vcmlnaW5hbF9tYWluAGlubGluZS1tYWluAGlubGluZSBfX29yaWdpbmFsX21haW4gaW50byBtYWluAGxvb3AtaW4AZjY0LmNvcHlzaWduAGYzMi5jb3B5c2lnbgB2aXNpdEFuZEFzc2lnbgBkZWFsaWduAGN1cnItPmFsaWduAGJhZCBhbGlnbgBCaW5hcnllblN0b3JlU2V0QWxpZ24AQmluYXJ5ZW5TSU1ETG9hZFN0b3JlTGFuZVNldEFsaWduAEJpbmFyeWVuTG9hZFNldEFsaWduAEJpbmFyeWVuU0lNRExvYWRTZXRBbGlnbgBCaW5hcnllblN0b3JlR2V0QWxpZ24AQmluYXJ5ZW5TSU1ETG9hZFN0b3JlTGFuZUdldEFsaWduAEJpbmFyeWVuTG9hZEdldEFsaWduAEJpbmFyeWVuU0lNRExvYWRHZXRBbGlnbgBmbGF0dGVuAEZsYXR0ZW4AcG9zdC1lbXNjcmlwdGVuAGluc3RydWN0aW9ucyBtdXN0IG9ubHkgaGF2ZSBjb25zdGFudCBleHByZXNzaW9ucywgbG9jYWwuZ2V0LCBvciB1bnJlYWNoYWJsZSBhcyBjaGlsZHJlbgBCaW5hcnllbkJsb2NrR2V0TnVtQ2hpbGRyZW4Ac2V0T3BlbgBhcnJheS5sZW4AcmVwbGFjZVVudGFrZW4AKHRoZW4AQXJyYXlMZW4AZGVuYW4ALW5hbgB0cnVuY1VGbG9hdCBvZiBuYW4AdHJ1bmNTRmxvYXQgb2YgbmFuAHNjYW4ASmFuAFxuAHZpc2l0QnJPbgB3b3JrT24AX19sbHZtAHZhY3V1bQBkb1dvcmtlcnMuc2l6ZSgpID09IG51bQBuZXdUeXBlcy5zaXplKCkgPT0gbnVtAHNpemUgbWluaW11bSBtdXN0IG5vdCBiZSBncmVhdGVyIHRoYW4gbWF4aW11bQBCaW5hcnllblN0cmluZ1NsaWNlSXRlclNldE51bQBCaW5hcnllblN0cmluZ0l0ZXJNb3ZlU2V0TnVtAEJpbmFyeWVuU3RyaW5nU2xpY2VJdGVyR2V0TnVtAEJpbmFyeWVuU3RyaW5nSXRlck1vdmVHZXROdW0AYXNtMndhc20ALndhc20AX19zdGFydF9lbV9hc20AX19zdG9wX2VtX2FzbQBlbWl0IFNvdXBlciBJUiBpbiB0ZXh0IGZvcm0AaW52YWxpZCAnc3ViJyBmb3JtAG9wdGltaXplU2V0SWZXaXRoQ29weUFybQBubQByZS1vcHRpbWl6ZSBjb250cm9sIGZsb3cgdXNpbmcgdGhlIHJlbG9vcGVyIGFsZ29yaXRobQBzeXN0ZW0AaXRlbQBfX3dhc21faTY0X3VyZW0AX193YXNtX2k2NF9zcmVtAGk2NHUtcmVtAGkzMnUtcmVtAGk2NHMtcmVtAGkzMnMtcmVtAGY2NC1yZW0AdmFyIG1lbQA6IHsgYnVmZmVyIDogbWVtAG91dCBvZiBib3VuZHMgc2VnbWVudCBhY2Nlc3MgaW4gYXJyYXkubmV3X2VsZW0AYXJyYXkuaW5pdF9lbGVtAChlbGVtAEFycmF5TmV3RWxlbQBBcnJheUluaXRFbGVtAGxpY20AcGFyYW0AZmV0Y2hPdXRQYXJhbQBpc1BhcmFtAGFkZFBhcmFtAGlvc3RyZWFtAHN0b3VsAE1hdGhfaW11bABfX3dhc21faTY0X211bABpMTZ4OC5tdWwAaTMyeDQubXVsAGYzMng0Lm11bABpNjQubXVsAGY2NC5tdWwAaTY0eDIubXVsAGY2NHgyLm11bABpMzIubXVsAGYzMi5tdWwASnVsAGk2NC5yb3RsAGkzMi5yb3RsAHVybAByZWYuaXNfbnVsbAByZWYuYXNfbm9uX251bGwAYnJfb25fbm9uX251bGwAYnJfb25fbnVsbABnbG9iYWwgaW5pdCBtdXN0IGJlIG5vbi1udWxsACBudWxsAHByaW50LWZ1bGwAUmVmSXNOdWxsAGN1cnItPm9wID09IFJlZkFzTm9uTnVsbABCaW5hcnllblJlZk51bGwAbWFrZVJlZk51bGwAc3RvbGwAd2FzbTJqc19tZW1vcnlfZmlsbABvdXQgb2YgYm91bmRzIG1lbW9yeSBhY2Nlc3MgaW4gbWVtb3J5LmZpbGwAb3V0IG9mIGJvdW5kcyBhcnJheSBhY2Nlc3MgaW4gYXJyYXkuZmlsbABpbnZhbGlkIHRhYmxlIG5hbWUgaW4gdGFibGUuZmlsbAB2aXNpdE1lbW9yeUZpbGwAQXJyYXlGaWxsAFRhYmxlRmlsbABtaW5pZmllcyBib3RoIGltcG9ydCBhbmQgZXhwb3J0IG5hbWVzLCBhbmQgZW1pdHMgYSBtYXBwaW5nIHRvIHRoZSBtaW5pZmllZCBvbmVzLCBhbmQgbWluaWZpZXMgdGhlIG1vZHVsZXMgYXMgd2VsbAByZXR1cm5fY2FsbABzdGQ6OmJhZF9mdW5jdGlvbl9jYWxsAHRhaWwtY2FsbABmYWtlJGRmbyRjYWxsAGxlZ2FsaXplcyBpNjQgdHlwZXMgb24gdGhlIGltcG9ydC9leHBvcnQgYm91bmRhcnkgaW4gYSBtaW5pbWFsIG1hbm5lciwgb25seSBvbiB0aGluZ3Mgb25seSBKUyB3aWxsIGNhbGwAY2F0Y2hfYWxsAHZpc2l0Q2FsbABoYW5kbGVJbmRpcmVjdENhbGwAYXBwZW5kVG9DYWxsAGhhbmRsZUNhbGwAZ3VmYS1jYXN0LWFsbABlbWl0Q2F0Y2hBbGwAQmluYXJ5ZW5UcnlIYXNDYXRjaEFsbABBcHJpbABNYXRoX2NlaWwAZjMyeDQuY2VpbABmNjQuY2VpbABmNjR4Mi5jZWlsAGYzMi5jZWlsAGJyX29uX2Nhc3RfZmFpbABpMTZ4OC5zaGwAaTh4MTYuc2hsAGkzMng0LnNobABpNjQuc2hsAGk2NHgyLnNobABpMzIuc2hsAHRvcGxldmVsAGJhZCBzaHJpbmsgbGV2ZWwAaXNGdW5jdGlvblBhcmFsbGVsAGludmFsaWQgbGFiZWwAZ2V0dGluZyBhIGxhYmVsAG9wdGltaXplLWoyY2wAZXZhbABqb2luZWUudmFsID09IGpvaW5lci52YWwAYmluYXJ5IGNoaWxkIHR5cGVzIG11c3QgYmUgZXF1YWwAc2tpcCA9PSB0b3RhbABhbGlnbm1lbnQgbXVzdCBub3QgZXhjZWVkIG5hdHVyYWwAVW5leHBlY3RlZCBudW1iZXIgb2YgbGFuZXMgaW4gdjEyOCBsaXRlcmFsAGdldENvbnN0YW50TGl0ZXJhbABnZXRMaXRlcmFsAHRvQmluYXJ5ZW5MaXRlcmFsAGZyb21CaW5hcnllbkxpdGVyYWwAcHJpbnRJbnRlcm5hbABjYWxsRnVuY3Rpb25JbnRlcm5hbABjb25kaXRpb25hbABvcHRpbWl6ZVJlbGF0aW9uYWwAcmVxdWVzdHMgfHwgb3JpZ2luYWwAY2hpbGRPcmlnaW5hbABtYXJrIGFsbCBsZWFmIHR5cGVzIGFzIGZpbmFsAGludmFsaWQgaGV4YWRlY2ltYWwAKnByZUdyYXBoLmdldFNldHNlc1tpbmZsdWVuY2VkR2V0XS5iZWdpbigpID09IHRyaXZpYWwAbWVtb3J5IG1heCA+PSBpbml0aWFsAG1lcmdlcyBsb2NhbHMgd2hlbiBiZW5lZmljaWFsAGhlYXAybG9jYWwAcG9wcGluZyB2b2lkIHdoZXJlIHdlIG5lZWQgYSBuZXcgbG9jYWwAaG9pc3QgcmVwZWF0ZWQgY29uc3RhbnRzIHRvIGEgbG9jYWwAcGFyc2VQYXJhbU9yTG9jYWwAbWVyZ2VzIHNpbWlsYXIgZnVuY3Rpb25zIHdoZW4gYmVuZWZpY2FsAGVuZm9yY2UgbGltaXRzIG9uIGxsdm0ncyBfX3N0YWNrX3BvaW50ZXIgZ2xvYmFsACFwcmVQYXJzZUltcG9ydCBpbiBnbG9iYWwAZ2V0Q29uc3RhbnRHbG9iYWwAZ2V0R2xvYmFsAGFkZEdsb2JhbABpMTZ4OC5iaXRtYXNrAGk4eDE2LmJpdG1hc2sAaTMyeDQuYml0bWFzawBpNjR4Mi5iaXRtYXNrAEludmFsaWQgbGFuZSBpbmRleCBpbiBtYXNrAHB1c2hUYXNrAEJpbmFyeWVuU0lNRFNodWZmbGVTZXRNYXNrAEJpbmFyeWVuU0lNRFNodWZmbGVHZXRNYXNrAGVtdWxhdGVzIGZ1bmN0aW9uIHBvaW50ZXIgY2FzdHMsIGFsbG93aW5nIGluY29ycmVjdCBpbmRpcmVjdCBjYWxscyB0byAoc29tZXRpbWVzKSB3b3JrAHNicmsAZHlsaW5rAHdhbGsAdGFpbC5ibG9jawAoYmxvY2sAVW5leHBlY3RlZCB0b3AtbGV2ZWwgcG9wIGluIGJsb2NrAGludmFsaWQgY2F0Y2ggYmxvY2sAaW52YWxpZCB0YWcgYmxvY2sAaW52YWxpZCBjYXRjaF9hbGwvY2F0Y2hfYWxsX3JlZiBibG9jawBpbnZhbGlkIGNhdGNoL2NhdGNoX3JlZiBibG9jawAgOzsgZW5kIGJsb2NrAEZ1bmN0aW9uIGJvZHkgbXVzdCBiZSBhIGJsb2NrAEV4cGVjdGVkIGNvbnRyb2wgZmxvdyBjaGlsZCB0byBiZSBhIGJsb2NrAHZpc2l0QmxvY2sAYXBwZW5kVG9CbG9jawBTSU1EX0ludDE2eDhfY2hlY2sAU0lNRF9JbnQ4eDE2X2NoZWNrAFNJTURfSW50MzJ4NF9jaGVjawBTSU1EX0Zsb2F0MzJ4NF9jaGVjawBTSU1EX0Zsb2F0NjR4Ml9jaGVjawBzdGFjay1jaGVjawBldmFsdWF0ZUNhc3RDaGVjawBsb2NhbDJTdGFjawBwb3BfYmFjawBwdXNoX2JhY2sAJGJyZWFrAERldGFpbHMtPlR5cGUgPT0gQnJhbmNoOjpCcmVhawBnc2kARnJpAGpzcGkAc3RvaQAkaGkAb3JkZXJbaV0gPT0gaQBpdC0+c2Vjb25kIDwgaQBjdXJyRGVwdGggPD0gZGVwdGgAcmVwbGFjZUFsbFVzZXNXaXRoAGJhZF9hcnJheV9uZXdfbGVuZ3RoAHN0cmluZ3ZpZXdfd3RmMTYubGVuZ3RoAGludmFsaWQgUk1XIGJ5dGUgbGVuZ3RoAEJpbmFyeWVuQXJyYXlDb3B5U2V0TGVuZ3RoAEJpbmFyeWVuU3RyaW5nTmV3U2V0TGVuZ3RoAEJpbmFyeWVuQXJyYXlDb3B5R2V0TGVuZ3RoAEJpbmFyeWVuU3RyaW5nTmV3R2V0TGVuZ3RoAGJ5dGVMZW5ndGgATWF0aABzdHJpbmcuaGFzaABwcmludC1jYWxsLWdyYXBoAHByaW50IGNhbGwgZ3JhcGgAZ2V0TW9zdFJlZmluZWRGYWxsdGhyb3VnaABhZGp1c3RUeXBlRmxvd2luZ1Rocm91Z2gAbG9jYWwuc2V0IGluZGV4IG11c3QgYmUgc21hbGwgZW5vdWdoAGxvY2FsLmdldCBpbmRleCBtdXN0IGJlIHNtYWxsIGVub3VnaABCaW5hcnllbkNvbnN0U2V0VmFsdWVJNjRIaWdoAEJpbmFyeWVuQ29uc3RHZXRWYWx1ZUk2NEhpZ2gAc3RyaXAtZWgAc3dpdGNoAHZpc2l0U3dpdGNoAGFwcGVuZERlZmF1bHRUb1N3aXRjaABhcHBlbmRDYXNlVG9Td2l0Y2gAYXBwZW5kQ29kZVRvU3dpdGNoAFVuU3dpdGNoAHRhZydzIHBhcmFtIG51bWJlcnMgbXVzdCBtYXRjaABhcnJheS5jb3B5IHR5cGVzIG11c3QgbWF0Y2gAY2FsbCBwYXJhbSB0eXBlcyBtdXN0IG1hdGNoAHRhZyBwYXJhbSB0eXBlcyBtdXN0IG1hdGNoAGNtcHhjaGcgb3BlcmFuZCB0eXBlcyBtdXN0IG1hdGNoAGNhbGwqIHBhcmFtIG51bWJlciBtdXN0IG1hdGNoAHN0b3JlIHZhbHVlIHR5cGUgbXVzdCBtYXRjaAB0aGUgbnVtYmVyIG9mIGNhdGNoIHRhZ3MgYW5kIGNhdGNoIGRlc3RpbmF0aW9ucyBkbyBub3QgbWF0Y2gAdGhlIG51bWJlciBvZiBjYXRjaCBibG9ja3MgYW5kIHRhZ3MgZG8gbm90IG1hdGNoAHRoZSBudW1iZXIgb2YgY2F0Y2ggdGFncyBhbmQgY2F0Y2ggcmVmcyBkbyBub3QgbWF0Y2gAdGhlIG51bWJlciBvZiBjYXRjaCB0YWdzIGFuZCBzZW50IHR5cGVzIGRvIG5vdCBtYXRjaAB0eXBlIGFuZCBwYXJhbS9yZXN1bHQgZG9uJ3QgbWF0Y2gAY2FsbEluZGlyZWN0OiBmdW5jdGlvbiB0eXBlcyBkb24ndCBtYXRjaAB0cnkgd2l0aG91dCBjYXRjaABkb1N0YXJ0Q2F0Y2gAZW1pdENhdGNoAGRvRW5kQ2F0Y2gAc2NvcGUua2luZCA9PSBTY29wZTo6Q2F0Y2gATWFyY2gAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL3N1cHBvcnQvc3BhcnNlX3NxdWFyZV9tYXRyaXguaAAvaG9tZS9ydW5uZXIvd29yay9iaW5hcnllbi5qcy9iaW5hcnllbi5qcy9iaW5hcnllbi9zcmMvaXIvY29zdC5oAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy9lbXNjcmlwdGVuLW9wdGltaXplci9zaW1wbGVfYXN0LmgAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL2lyL3Bvc3NpYmxlLWNvbnN0YW50LmgAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL3N1cHBvcnQvc21hbGxfc2V0LmgAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL2lyL2Fic3RyYWN0LmgAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL2lyL3Bvc3NpYmxlLWNvbnRlbnRzLmgAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL2lyL2JpdHMuaAAvaG9tZS9ydW5uZXIvd29yay9iaW5hcnllbi5qcy9iaW5hcnllbi5qcy9iaW5hcnllbi9zcmMvaXIvZXF1aXZhbGVudF9zZXRzLmgAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL2lyL2VmZmVjdHMuaAAvaG9tZS9ydW5uZXIvd29yay9iaW5hcnllbi5qcy9iaW5hcnllbi5qcy9iaW5hcnllbi9zcmMvcGFzcy5oAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy9pci9zdWJ0eXBlLWV4cHJzLmgAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL2RhdGFmbG93L3VzZXJzLmgAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL3N1cHBvcnQvcGVybXV0YXRpb25zLmgAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL2lyL3V0aWxzLmgAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL2lyL3N0cnVjdC11dGlscy5oAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy9wYXNzZXMvcGFzcy11dGlscy5oAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy9pci9saXRlcmFsLXV0aWxzLmgAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL2lyL2Jsb2NrLXV0aWxzLmgAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL2lyL2JyYW5jaC11dGlscy5oAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy9pci9nYy10eXBlLXV0aWxzLmgAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL2lyL21vZHVsZS11dGlscy5oAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy93YXNtMmpzLmgAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL3dhc20tZmVhdHVyZXMuaAAvaG9tZS9ydW5uZXIvd29yay9iaW5hcnllbi5qcy9iaW5hcnllbi5qcy9iaW5hcnllbi9zcmMvaXIvc3VidHlwZXMuaAAvaG9tZS9ydW5uZXIvd29yay9iaW5hcnllbi5qcy9iaW5hcnllbi5qcy9iaW5hcnllbi9zcmMvaXIvcHJvcGVydGllcy5oAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy9zdXBwb3J0L3NtYWxsX3ZlY3Rvci5oAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy9hbmFseXNpcy9sYXR0aWNlcy92ZWN0b3IuaAAvaG9tZS9ydW5uZXIvd29yay9iaW5hcnllbi5qcy9iaW5hcnllbi5qcy9iaW5hcnllbi9zcmMvd2FzbS1pbnRlcnByZXRlci5oAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy93YXNtLWJ1aWxkZXIuaAAvaG9tZS9ydW5uZXIvd29yay9iaW5hcnllbi5qcy9iaW5hcnllbi5qcy9iaW5hcnllbi9zcmMvaXIvbGluZWFyLWV4ZWN1dGlvbi5oAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy9zdXBwb3J0L2RmYV9taW5pbWl6YXRpb24uaAAvaG9tZS9ydW5uZXIvd29yay9iaW5hcnllbi5qcy9iaW5hcnllbi5qcy9iaW5hcnllbi9zcmMvaXIvaXRlcmF0aW9uLmgAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL3dhc20uaAAvaG9tZS9ydW5uZXIvd29yay9iaW5hcnllbi5qcy9iaW5hcnllbi5qcy9iaW5hcnllbi9zcmMvY2ZnL2xpdmVuZXNzLXRyYXZlcnNhbC5oAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy93YXNtLXRyYXZlcnNhbC5oAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy9jZmcvY2ZnLXRyYXZlcnNhbC5oAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy9saXRlcmFsLmgAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL2FiaS9zdGFjay5oAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy93YXNtLXN0YWNrLmgAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL2RhdGFmbG93L2dyYXBoLmgAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL2lyL2RlYnVnLmgAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL2lyL3R5cGUtdXBkYXRpbmcuaAAvaG9tZS9ydW5uZXIvd29yay9iaW5hcnllbi5qcy9iaW5hcnllbi5qcy9iaW5hcnllbi9zcmMvaXIvb3JkZXJpbmcuaAAvaG9tZS9ydW5uZXIvd29yay9iaW5hcnllbi5qcy9iaW5hcnllbi5qcy9iaW5hcnllbi9zcmMvc3VwcG9ydC91bmlxdWVfZGVmZXJyaW5nX3F1ZXVlLmgAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL3dhc20tdHlwZS5oAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy9jZmcvZG9tdHJlZS5oAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy9kYXRhZmxvdy9ub2RlLmgAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL3NoZWxsLWludGVyZmFjZS5oAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy9hbmFseXNpcy9sYXR0aWNlcy9zaGFyZWQuaAAvaG9tZS9ydW5uZXIvd29yay9iaW5hcnllbi5qcy9iaW5hcnllbi5qcy9iaW5hcnllbi9zcmMvbWl4ZWRfYXJlbmEuaAAvaG9tZS9ydW5uZXIvd29yay9iaW5hcnllbi5qcy9iaW5hcnllbi5qcy9iaW5hcnllbi9zcmMvc3VwcG9ydC9iYXNlNjQuaAByZWxvYy4uZGVidWcAZGVwcmVjYXRlZDsgc2FtZSBhcyBzdHJpcC1kZWJ1ZwBBdWcAc2ltcGxpZnktZ2xvYmFscy1vcHRpbWl6aW5nAGlubGluaW5nLW9wdGltaXppbmcAZGFlLW9wdGltaXppbmcAZ3VmYS1vcHRpbWl6aW5nAGV4cGVyaW1lbnRhbC10eXBlLWdlbmVyYWxpemluZwB0eXBlLXVuZmluYWxpemluZwB0eXBlLWZpbmFsaXppbmcAbWFrZUxvY2FsU2F2aW5nAGNvbnN0LWhvaXN0aW5nAHdvcnRoSG9pc3RpbmcAaXNJbnRlcmVzdGluZwBzaW1wbGlmeS1sb2NhbHMtbm9uZXN0aW5nAGZsYXR0ZW5zIG91dCBjb2RlLCByZW1vdmluZyBuZXN0aW5nAFRPRE8gR0MgdHlwZSB3cml0aW5nAG51bGxzdHJpbmcAYmFzaWNfc3RyaW5nAHVuZXhwZWN0ZWQgRU9GIGluIHRoZSBtaWRkbGUgb2Ygc3RyaW5nAGV4cGVjdGVkIHN0cmluZwB1bnRlcm1pbmF0ZWQgc3RyaW5nAEJpbmFyeWVuU3RyaW5nQ29uc3RTZXRTdHJpbmcAQmluYXJ5ZW5TdHJpbmdDb25zdEdldFN0cmluZwBudW1Ub1N0cmluZwBnZXRJU3RyaW5nAGdldENTdHJpbmcAbXVsdGktbWVtb3J5LWxvd2VyaW5nAHNpZ25leHQtbG93ZXJpbmcAYWxpZ25tZW50LWxvd2VyaW5nAGludHJpbnNpYy1sb3dlcmluZwBtZW1vcnk2NC1sb3dlcmluZwBpNjQtdG8taTMyLWxvd2VyaW5nAHVuc3VidHlwaW5nAGxvY2FsLXN1YnR5cGluZwBzaWduYXR1cmUtcHJ1bmluZwBjb2FsZXNjZS1sb2NhbHMtbGVhcm5pbmcAcmVkdWNlICMgb2YgbG9jYWxzIGJ5IGNvYWxlc2NpbmcgYW5kIGxlYXJuaW5nACFydW5uaW5nAGlubGluaW5nAGdsb2JhbC1yZWZpbmluZwBzaWduYXR1cmUtcmVmaW5pbmcAYWJzdHJhY3QtdHlwZS1yZWZpbmluZwBhc3luYy9hd2FpdCBzdHlsZSB0cmFuc2Zvcm0sIGFsbG93aW5nIHBhdXNpbmcgYW5kIHJlc3VtaW5nAGV4Y2VwdGlvbi1oYW5kbGluZwApIGhhcyByZXN1bHQgdmFsdWVzLCB3aGljaCBpcyBub3QgYWxsb3dlZCBmb3IgZXhjZXB0aW9uIGhhbmRsaW5nAHRhZ3Mgd2l0aCByZXN1bHQgdHlwZXMgbXVzdCBub3QgYmUgdXNlZCBmb3IgZXhjZXB0aW9uIGhhbmRsaW5nAGxpbmtpbmcAbWVtb3J5LXBhY2tpbmcAZXh0ZW5kRm9yUGFja2luZwBjb2RlLXB1c2hpbmcAdHlwZS1tZXJnaW5nAGJhZCBpbXBvcnQgZW5kaW5nAGNvZGUtZm9sZGluZwBtYWtlTG9jYWxMb2FkaW5nAHJlZHVjZSAjIG9mIGxvY2FscyBieSBjb2FsZXNjaW5nAGdldFNpZwBpNjQuYXRvbWljLnJtdy5jbXB4Y2hnAGkzMi5hdG9taWMucm13LmNtcHhjaGcAdmlzaXRBdG9taWNDbXB4Y2hnAGk2NC5hdG9taWMucm13LnhjaGcAaTMyLmF0b21pYy5ybXcueGNoZwBpMTZ4OC5uZWcAaTh4MTYubmVnAGkzMng0Lm5lZwBmMzJ4NC5uZWcAZjY0Lm5lZwBpNjR4Mi5uZWcAZjY0eDIubmVnAGYzMi5uZWcAZHVwbGljYXRlIHRhZwB1bmV4cGVjdGVkIGZlYXR1cmUgZmxhZwBnZXRUYWcAQmluYXJ5ZW5UaHJvd1NldFRhZwBCaW5hcnllblRocm93R2V0VGFnAGNhdGNoVGFnAEJpbmFyeWVuVHJ5QXBwZW5kQ2F0Y2hUYWcAcGFyc2VUYWcAYWRkVGFnAHN0cmlwLWR3YXJmAHR5cGVvZgBpbnN0YW5jZW9mAC1pbmYASGVhcCB0eXBlIGlzIGEgc3VwZXJ0eXBlIG9mIGl0c2VsZgAlbGYAYnJfaWYAIDs7IGVuZCBpZgBleHRlcm4uZXh0ZXJuYWxpemUgdmFsdWUgc2hvdWxkIGJlIGFuIGFueXJlZgBhcnJheXJlZgBzdHJ1Y3RyZWYAcmVmLmVxJ3MgcmlnaHQgYXJndW1lbnQgc2hvdWxkIGJlIGEgc3VidHlwZSBvZiBlcXJlZgByZWYuZXEncyBsZWZ0IGFyZ3VtZW50IHNob3VsZCBiZSBhIHN1YnR5cGUgb2YgZXFyZWYAbnVsbGV4bnJlZgB0aHJvd19yZWYncyBhcmd1bWVudCBzaG91bGQgYmUgYSBzdWJ0eXBlIG9mIGV4bnJlZgBudWxsZXh0ZXJucmVmAHNldF9leHRlcm5yZWYAZ2V0X2V4dGVybnJlZgBleHRlcm4uaW50ZXJuYWxpemUgdmFsdWUgc2hvdWxkIGJlIGFuIGV4dGVybnJlZgBudWxscmVmAHN0cmluZ3JlZgBudWxsZnVuY3JlZgBzZXRfZnVuY3JlZgBnZXRfZnVuY3JlZgB0aHJvd19yZWYAcmV0dXJuX2NhbGxfcmVmAG51bGwgdGFyZ2V0IGluIGNhbGxfcmVmAGNhdGNoX2FsbF9yZWYAY2F0Y2hfcmVmAGkzMS5nZXRfcy91J3MgYXJndW1lbnQgc2hvdWxkIGJlIGkzMXJlZgBudWxsIHJlZgByZWYuYXMgY2hpbGQgbXVzdCBiZSBhIHJlZgAvaG9tZS9ydW5uZXIvd29yay9iaW5hcnllbi5qcy9iaW5hcnllbi5qcy9iaW5hcnllbi9zcmMvd2FzbS1kZWxlZ2F0aW9ucy1maWVsZHMuZGVmAFRocm93UmVmAEJpbmFyeWVuQXJyYXlDb3B5U2V0RGVzdFJlZgBCaW5hcnllbkFycmF5Q29weUdldERlc3RSZWYAQmluYXJ5ZW5TdHJpbmdJdGVyTmV4dFNldFJlZgBCaW5hcnllblJlZlRlc3RTZXRSZWYAQmluYXJ5ZW5SZWZDYXN0U2V0UmVmAEJpbmFyeWVuQXJyYXlTZXRTZXRSZWYAQmluYXJ5ZW5TdHJ1Y3RTZXRTZXRSZWYAQmluYXJ5ZW5BcnJheUdldFNldFJlZgBCaW5hcnllblN0cnVjdEdldFNldFJlZgBCaW5hcnllblN0cmluZ1dURjE2R2V0U2V0UmVmAEJpbmFyeWVuU3RyaW5nQXNTZXRSZWYAQmluYXJ5ZW5TdHJpbmdTbGljZUl0ZXJTZXRSZWYAQmluYXJ5ZW5BcnJheUxlblNldFJlZgBCaW5hcnllbkJyT25TZXRSZWYAQmluYXJ5ZW5TdHJpbmdJdGVyTW92ZVNldFJlZgBCaW5hcnllblN0cmluZ01lYXN1cmVTZXRSZWYAQmluYXJ5ZW5TdHJpbmdFbmNvZGVTZXRSZWYAQmluYXJ5ZW5TdHJpbmdXVEY4QWR2YW5jZVNldFJlZgBCaW5hcnllblN0cmluZ1NsaWNlV1RGU2V0UmVmAEJpbmFyeWVuU3RyaW5nSXRlck5leHRHZXRSZWYAQmluYXJ5ZW5SZWZUZXN0R2V0UmVmAEJpbmFyeWVuUmVmQ2FzdEdldFJlZgBCaW5hcnllbkFycmF5U2V0R2V0UmVmAEJpbmFyeWVuU3RydWN0U2V0R2V0UmVmAEJpbmFyeWVuQXJyYXlHZXRHZXRSZWYAQmluYXJ5ZW5TdHJ1Y3RHZXRHZXRSZWYAQmluYXJ5ZW5TdHJpbmdXVEYxNkdldEdldFJlZgBCaW5hcnllblN0cmluZ0FzR2V0UmVmAEJpbmFyeWVuU3RyaW5nU2xpY2VJdGVyR2V0UmVmAEJpbmFyeWVuQXJyYXlMZW5HZXRSZWYAQmluYXJ5ZW5Cck9uR2V0UmVmAEJpbmFyeWVuU3RyaW5nSXRlck1vdmVHZXRSZWYAQmluYXJ5ZW5TdHJpbmdNZWFzdXJlR2V0UmVmAEJpbmFyeWVuU3RyaW5nRW5jb2RlR2V0UmVmAEJpbmFyeWVuU3RyaW5nV1RGOEFkdmFuY2VHZXRSZWYAQmluYXJ5ZW5TdHJpbmdTbGljZVdURkdldFJlZgB2aXNpdENhbGxSZWYAcGFyc2VUeXBlUmVmAEJpbmFyeWVuQXJyYXlDb3B5U2V0U3JjUmVmAEJpbmFyeWVuQXJyYXlDb3B5R2V0U3JjUmVmACUuMExmACVMZgB2aXNpdElmAGRvVmlzaXRJZgBvcHRpbWl6ZUludG9JZgByZXN0cnVjdHVyZUlmAHNjb3BlLmtpbmQgPT0gU2NvcGU6OklmACUuMGYAZGlyZWN0aXplAF9fd2FzbV9tZW1vcnlfc2l6ZQByZXR1cm5fc2l6ZQBtZW1vcnkuc2l6ZQBpbnZhbGlkIHRhYmxlIG5hbWUgaW4gdGFibGUuc2l6ZQBhc3luY2lmeS1zZWNvbmRhcnktbWVtb3J5LXNpemUAc2hhcmVkIG1lbW9yeSBtdXN0IGhhdmUgbWF4IHNpemUAZXhjZXNzaXZlIHRhYmxlIG1heCBzaXplAGludmFsaWQgcm13IHNpemUAZXhjZXNzaXZlIHRhYmxlIGluaXQgc2l6ZQBlbXB0eSBmdW5jdGlvbiBzaXplAGJhZCBmZWF0dXJlcyBzZWN0aW9uIHNpemUAYmFkIHVzZXIgc2VjdGlvbiBzaXplAGJhZCBkeWxpbmsgc2VjdGlvbiBzaXplAEFsaWduIG9mIEF0b21pY05vdGlmeSBtdXN0IG1hdGNoIHNpemUAQWxpZ24gb2YgbWVtb3J5LmF0b21pYy53YWl0IG11c3QgbWF0Y2ggc2l6ZQBBbGlnbiBvZiBBdG9taWNXYWl0IG11c3QgbWF0Y2ggc2l6ZQBBbGlnbiBvZiBBdG9taWMgQ21weGNoZyBtdXN0IG1hdGNoIHNpemUAQWxpZ24gb2YgQXRvbWljQ3B4Y2hnIG11c3QgbWF0Y2ggc2l6ZQBBbGlnbiBvZiBBdG9taWNSTVcgbXVzdCBtYXRjaCBzaXplAEFsaWduIG9mIEF0b21pYyBSTVcgbXVzdCBtYXRjaCBzaXplAGludmFsaWQgc3RvcmUgc2l6ZQBpbnZhbGlkIHJlZmVyZW5jZSB0eXBlIHNpemUAQWxpZ25tZW50IG11c3QgYmUgb2YgYSByZWFzb25hYmxlIHNpemUAaW52YWxpZCBzaXplAGludmFsaWQgbG9hZCBzaXplAGRlc3QgJiYgb2Zmc2V0ICYmIHNpemUAZGVzdCAmJiB2YWx1ZSAmJiBzaXplAGRlc3QgJiYgc291cmNlICYmIHNpemUAb3B0aW1pemUAZXh0ZXJuLmV4dGVybmFsaXplAGV4dGVybi5pbnRlcm5hbGl6ZQByZWZpbmFsaXplAGNhbm9uaWNhbGl6ZQBtb25vbW9ycGhpemUATWVtb3J5U2l6ZQBCaW5hcnllbk1lbW9yeUNvcHlTZXRTaXplAEJpbmFyeWVuQXJyYXlOZXdTZXRTaXplAEJpbmFyeWVuTWVtb3J5SW5pdFNldFNpemUAQmluYXJ5ZW5NZW1vcnlGaWxsU2V0U2l6ZQBCaW5hcnllbk1lbW9yeUNvcHlHZXRTaXplAEJpbmFyeWVuQXJyYXlOZXdHZXRTaXplAEJpbmFyeWVuTWVtb3J5SW5pdEdldFNpemUAQmluYXJ5ZW5NZW1vcnlGaWxsR2V0U2l6ZQB3cmFwVG9TbWFsbGVyU2l6ZQBidWlsdC0+c2l6ZSgpID09IGdyb3VwU2l6ZQBUYWJsZVNpemUAcmVtb3ZlAGJsb2NrLT5saXN0LmJhY2soKSA9PSBhYm92ZQBTdHJpbmdJdGVyTW92ZQBwYXNzaXZlACRsZWF2ZQB2MTI4LmFueV90cnVlAGkxNng4LmFsbF90cnVlAGk4eDE2LmFsbF90cnVlAGkzMng0LmFsbF90cnVlAGk2NHgyLmFsbF90cnVlAHVucmVhY2hhYmxlIGlmLWVsc2UgbXVzdCBoYXZlIHVucmVhY2hhYmxlIHRydWUAY3Vyci0+cmlnaHQtPnR5cGUuaXNDb25jcmV0ZSgpID8gcmlnaHQudHlwZSA9PSBjdXJyLT5yaWdodC0+dHlwZSA6IHRydWUAY3Vyci0+bGVmdC0+dHlwZS5pc0NvbmNyZXRlKCkgPyBsZWZ0LnR5cGUgPT0gY3Vyci0+bGVmdC0+dHlwZSA6IHRydWUAcmV0LT52YWx1ZS0+dHlwZS5pc0NvbmNyZXRlKCkgPyByZXQtPnZhbHVlLT50eXBlID09IHR5cGUgOiB0cnVlAGN1cnItPmlzVGVlKCkgPyBUeXBlOjppc1N1YlR5cGUoZmxvdy5nZXRUeXBlKCksIGN1cnItPnR5cGUpIDogdHJ1ZQBpZiB0eXBlIG11c3QgbWF0Y2ggY29uY3JldGUgaWZUcnVlAEJpbmFyeWVuU2VsZWN0U2V0SWZUcnVlAEJpbmFyeWVuSWZTZXRJZlRydWUAQmluYXJ5ZW5TZWxlY3RHZXRJZlRydWUAQmluYXJ5ZW5JZkdldElmVHJ1ZQBtb2R1bGUgZXhwb3J0cyBtdXN0IGJlIHVuaXF1ZQBsb2NhbCBuYW1lcyBtdXN0IGJlIHVuaXF1ZQBpbXBvc3NpYmxlLWNvbnRpbnVlACRjb250aW51ZQBtdWx0aXZhbHVlAGdyYXBoLmxvY2F0aW9uc1t2YWx1ZV0gPT0gJnNldC0+dmFsdWUAIWJyLT52YWx1ZQAhYnIyLT52YWx1ZQAhYnIxLT52YWx1ZQAhKCpicmVha3NbMF0uYnJwKS0+dGVtcGxhdGUgY2FzdDxCcmVhaz4oKS0+dmFsdWUAZXhwZWN0ZWQgaTY0IHNwbGF0IHZhbHVlAGV4cGVjdGVkIGY2NCBzcGxhdCB2YWx1ZQBleHBlY3RlZCBpMzIgc3BsYXQgdmFsdWUAZXhwZWN0ZWQgZjMyIHNwbGF0IHZhbHVlAGJhZCBib2R5IGZvciBhIGxvb3AgdGhhdCBoYXMgbm8gdmFsdWUAc3VycHJpc2luZyB2YWx1ZQAgTEVCc2lnbi1leHRlbmQgc2hvdWxkIHByb2R1Y2UgYSBuZWdhdGl2ZSB2YWx1ZQBjYW4gb25seSBkcm9wIGEgdmFsaWQgdmFsdWUAYnJlYWtzIG11c3QgaGF2ZSBhIHZhbGlkIHZhbHVlAGJhZCB2YWx1ZQBpZiBsb29wIGlzIG5vdCByZXR1cm5pbmcgYSB2YWx1ZSwgZmluYWwgZWxlbWVudCBzaG91bGQgbm90IGZsb3cgb3V0IGEgdmFsdWUAaWYgYmxvY2sgaXMgbm90IHJldHVybmluZyBhIHZhbHVlLCBmaW5hbCBlbGVtZW50IHNob3VsZCBub3QgZmxvdyBvdXQgYSB2YWx1ZQBicmVha3MgdG8gYSBsb29wIGNhbm5vdCBwYXNzIGEgdmFsdWUAc3RhcnQgbXVzdCBub3QgcmV0dXJuIGEgdmFsdWUAdmVjICYmIHZhbHVlAEJpbmFyeWVuVW5hcnlTZXRWYWx1ZQBCaW5hcnllblRhYmxlR3Jvd1NldFZhbHVlAEJpbmFyeWVuQXJyYXlTZXRTZXRWYWx1ZQBCaW5hcnllblN0cnVjdFNldFNldFZhbHVlAEJpbmFyeWVuTG9jYWxTZXRTZXRWYWx1ZQBCaW5hcnllbkdsb2JhbFNldFNldFZhbHVlAEJpbmFyeWVuVGFibGVTZXRTZXRWYWx1ZQBCaW5hcnllblJlZkFzU2V0VmFsdWUAQmluYXJ5ZW5Ecm9wU2V0VmFsdWUAQmluYXJ5ZW5SZXR1cm5TZXRWYWx1ZQBCaW5hcnllblJlZklzTnVsbFNldFZhbHVlAEJpbmFyeWVuTWVtb3J5RmlsbFNldFZhbHVlAEJpbmFyeWVuQnJlYWtTZXRWYWx1ZQBCaW5hcnllblN3aXRjaFNldFZhbHVlAEJpbmFyeWVuU3RvcmVTZXRWYWx1ZQBCaW5hcnllblNJTURSZXBsYWNlU2V0VmFsdWUAQmluYXJ5ZW5BdG9taWNSTVdTZXRWYWx1ZQBCaW5hcnllblJlZkkzMVNldFZhbHVlAEJpbmFyeWVuVW5hcnlHZXRWYWx1ZQBCaW5hcnllblRhYmxlR3Jvd0dldFZhbHVlAEJpbmFyeWVuQXJyYXlTZXRHZXRWYWx1ZQBCaW5hcnllblN0cnVjdFNldEdldFZhbHVlAEJpbmFyeWVuTG9jYWxTZXRHZXRWYWx1ZQBCaW5hcnllbkdsb2JhbFNldEdldFZhbHVlAEJpbmFyeWVuVGFibGVTZXRHZXRWYWx1ZQBCaW5hcnllblJlZkFzR2V0VmFsdWUAQmluYXJ5ZW5Ecm9wR2V0VmFsdWUAQmluYXJ5ZW5SZXR1cm5HZXRWYWx1ZQBCaW5hcnllblJlZklzTnVsbEdldFZhbHVlAEJpbmFyeWVuTWVtb3J5RmlsbEdldFZhbHVlAEJpbmFyeWVuQnJlYWtHZXRWYWx1ZQBCaW5hcnllblN3aXRjaEdldFZhbHVlAEJpbmFyeWVuU3RvcmVHZXRWYWx1ZQBCaW5hcnllblNJTURSZXBsYWNlR2V0VmFsdWUAQmluYXJ5ZW5BdG9taWNSTVdHZXRWYWx1ZQBCaW5hcnllblJlZkkzMUdldFZhbHVlAHJlbW92ZVJldHVyblZhbHVlAHNldExvY2FsVmFsdWUAc2V0R2xvYmFsVmFsdWUAZ2V0U2luZ2xlVmFsdWUAQmluYXJ5ZW5BcnJheU5ld0ZpeGVkQXBwZW5kVmFsdWUAcmVjZWl2ZUNoaWxkVmFsdWUAVHVlAHByZWNvbXB1dGUAcGFydGlhbGx5UHJlY29tcHV0ZQBwdXNoIGNvZGUgZm9yd2FyZCwgcG90ZW50aWFsbHkgbWFraW5nIGl0IG5vdCBhbHdheXMgZXhlY3V0ZQBtaXNzaW5nIHZhbHVlIGluIG1lbW9yeSBhdHRyaWJ1dGUAbWlzc2luZyA9IGluIG1lbW9yeSBhdHRyaWJ1dGUAYmFkIG1lbW9yeSBhdHRyaWJ1dGUAd3JpdGUAaW5mby53cml0dGVuID49IGluZm8ucmVhZE9ubHlUb1dyaXRlAERXQVJGICsgbXVsdGl2YWx1ZSBpcyBub3QgeWV0IGNvbXBsZXRlAHByaXZhdGUAX19hc3luY2lmeV9zdGF0ZQBhc3luY2lmeV9nZXRfc3RhdGUAX19tZW1fc2VnbWVudF9kcm9wX3N0YXRlAENhbGN1bGF0ZQBiYWQgbWVtb3J5IGF0dHJpYnV0ZSBpbW1lZGlhdGUAZXhjZXB0aW9uVGFyZ2V0TmFtZXMgbm90IGVtcHR5IC0gaW52YWxpZCBkZWxlZ2F0ZQBlbWl0RGVsZWdhdGUAQmluYXJ5ZW5UcnlJc0RlbGVnYXRlAG9wdGltaXplLWFkZGVkLWNvbnN0YW50cy1wcm9wYWdhdGUAcHJlY29tcHV0ZS1wcm9wYWdhdGUAY3JlYXRlAGZsb3dBZnRlclVwZGF0ZQBmbG93VG9UYXJnZXRzQWZ0ZXJVcGRhdGUAdmFsaWRhdGUAc291cGVyaWZ5LXNpbmdsZS11c2UAcGFyc2UAYXN5bmNpZnktdmVyYm9zZQAoZWxzZQB1bnJlYWNoYWJsZSBpZi1lbHNlIG11c3QgaGF2ZSB1bnJlYWNoYWJsZSBmYWxzZQBjdXJyLT5pZkZhbHNlAGFib3ZlID09IGlmZi0+aWZUcnVlIHx8IGFib3ZlID09IGlmZi0+aWZGYWxzZQAhY3Vyci0+Y2FzdDxJZj4oKSAtPmlmRmFsc2UAaWYgdHlwZSBtdXN0IG1hdGNoIGNvbmNyZXRlIGlmRmFsc2UAaWZUcnVlICYmIGlmRmFsc2UAQmluYXJ5ZW5TZWxlY3RTZXRJZkZhbHNlAEJpbmFyeWVuSWZTZXRJZkZhbHNlAEJpbmFyeWVuU2VsZWN0R2V0SWZGYWxzZQBCaW5hcnllbklmR2V0SWZGYWxzZQBkb05vdGVJZkZhbHNlAGlmSGFzRWxzZQBlbWl0SWZFbHNlAGNvbmRpdGlvbmFsaXplRXhwZW5zaXZlT25CaXR3aXNlAGxvY2FsLWNzZQBlcmFzZQBpbnZhbGlkIHBoYXNlAGNhc2UAX19tZW1vcnlfYmFzZQBfX3N0YWNrX2Jhc2UAc2VwYXJhdGUtZGF0YS1zZWdtZW50cy1nbG9iYWwtYmFzZQBpbXBvcnRzIG11c3QgaGF2ZSBtb2R1bGUgYW5kIGJhc2UAbmV3SW5kZXggPT0gbmV3QmFzZQBzb3VyY2VCYXNlAHBhcnNlVHlwZVVzZQBtYWtlTWl4dHVyZQBzaW1wbGlmeS1sb2NhbHMtbm9zdHJ1Y3R1cmUAc2ltcGxpZnktbG9jYWxzLW5vdGVlLW5vc3RydWN0dXJlAFVuZXhwZWN0ZWQgY29udHJvbCBmbG93IHN0cnVjdHVyZQB1bmltcGxlbWVudGVkIERDRSBjb250cm9sIGZsb3cgc3RydWN0dXJlACB0eXBlIGFubm90YXRpb24gc2hvdWxkIGJlIGEgc2lnbmF0dXJlAGdldFNpZ25hdHVyZQBTdGFja1NpZ25hdHVyZQBsb3dlciBzaWduLWV4dCBvcGVyYXRpb25zIHRvIHdhc20gbXZwIGFuZCBkaXNhYmxlIHRoZSBzaWduIGV4dGVuc2lvbiBmZWF0dXJlAHVuZXhwZWN0ZWQgZmVhdHVyZQBTdHJpbmdNZWFzdXJlAGFsbG9jYXRpb24gZmFpbHVyZQBpNjQuYXRvbWljLnN0b3JlAGkzMi5hdG9taWMuc3RvcmUAdjEyOC5zdG9yZQBpNjQuc3RvcmUAZjY0LnN0b3JlAGkzMi5zdG9yZQBmMzIuc3RvcmUAdW5oYW5kbGVkIHVuYWxpZ25lZCBzdG9yZQB2aXNpdFN0b3JlAEJpbmFyeWVuU0lNRExvYWRTdG9yZUxhbmVJc1N0b3JlAG1ha2VTdG9yZQB3ZSBydWxlZCBvdXQgbm8gc3VidHlwaW5nIGJlZm9yZQByZWxhdGlvbmFscyBoYW5kbGVkIGJlZm9yZQAhaXNSZWYgfHwgd29ydGhTZW5kaW5nTW9yZQBzdHJpbmcuY29tcGFyZQBkZWNsYXJlAHVua25vd24gc3VwZXJ0eXBlAHJlZi50ZXN0IHRhcmdldCB0eXBlIGFuZCByZWYgdHlwZSBtdXN0IGhhdmUgYSBjb21tb24gc3VwZXJ0eXBlAHJlZi5jYXN0IHRhcmdldCB0eXBlIGFuZCByZWYgdHlwZSBtdXN0IGhhdmUgYSBjb21tb24gc3VwZXJ0eXBlAGJyX29uX2Nhc3QqIHRhcmdldCB0eXBlIGFuZCByZWYgdHlwZSBtdXN0IGhhdmUgYSBjb21tb24gc3VwZXJ0eXBlAEhlYXAgdHlwZSBoYXMgYW4gaW52YWxpZCBzdXBlcnR5cGUASGVhcCB0eXBlIGhhcyBhbiB1bmRlY2xhcmVkIHN1cGVydHlwZQBFeHBlY3RlZCBhcnJheSBoZWFwdHlwZQBFeHBlY3RlZCBzdHJ1Y3QgaGVhcHR5cGUAcHJvdG90eXBlAG5vdGVTdWJ0eXBlAGlkID4gVHlwZTo6X2xhc3RfYmFzaWNfdHlwZQBmdW5jLT50eXBlID09IGZpcnN0LT50eXBlAGN1cnItPmlmVHJ1ZS0+dHlwZSA9PSBjdXJyLT5pZkZhbHNlLT50eXBlAGZ1bmMtPmdldFBhcmFtcygpW2ldID09IHBhcmFtLnR5cGUAVW5leHBlY3RlZCBlbXB0eSB0eXBlAHRyeSdzIHR5cGUgZG9lcyBub3QgbWF0Y2ggY2F0Y2gncyBib2R5IHR5cGUAbWVtb3J5Lmdyb3cgbXVzdCBtYXRjaCBtZW1vcnkgaW5kZXggdHlwZQBtZW1vcnkuaW5pdCBkZXN0IG11c3QgbWF0Y2ggbWVtb3J5IGluZGV4IHR5cGUAbWVtb3J5LmZpbGwgZGVzdCBtdXN0IG1hdGNoIG1lbW9yeSBpbmRleCB0eXBlAGxvYWRfc3BsYXQgYWRkcmVzcyBtdXN0IG1hdGNoIG1lbW9yeSBpbmRleCB0eXBlAGxvYWRYX2xhbmUgb3Igc3RvcmVYX2xhbmUgYWRkcmVzcyBtdXN0IG1hdGNoIG1lbW9yeSBpbmRleCB0eXBlAEF0b21pY05vdGlmeSBwb2ludGVyIG11c3QgbWF0Y2ggbWVtb3J5IGluZGV4IHR5cGUAQXRvbWljV2FpdCBwb2ludGVyIG11c3QgbWF0Y2ggbWVtb3J5IGluZGV4IHR5cGUAY21weGNoZyBwb2ludGVyIG11c3QgbWF0Y2ggbWVtb3J5IGluZGV4IHR5cGUAc3RvcmUgcG9pbnRlciBtdXN0IG1hdGNoIG1lbW9yeSBpbmRleCB0eXBlAG1lbW9yeS5maWxsIHNpemUgbXVzdCBtYXRjaCBtZW1vcnkgaW5kZXggdHlwZQBsb2FkIHBvaW50ZXIgdHlwZSBtdXN0IG1hdGNoIG1lbW9yeSBpbmRleCB0eXBlAEF0b21pY1JNVyBwb2ludGVyIHR5cGUgbXVzdCBtYXRjaCBtZW1vcnkgaW5kZXggdHlwZQBtZW1vcnkuY29weSBkZXN0IG11c3QgbWF0Y2ggZGVzdE1lbW9yeSBpbmRleCB0eXBlAG1lbW9yeS5jb3B5IHNpemUgbXVzdCBtYXRjaCBkZXN0TWVtb3J5IGluZGV4IHR5cGUAbWVtb3J5LmNvcHkgc291cmNlIG11c3QgbWF0Y2ggc291cmNlTWVtb3J5IGluZGV4IHR5cGUAdGFibGUuZ3JvdyBtdXN0IG1hdGNoIHRhYmxlIGluZGV4IHR5cGUAYnJfb25fY2FzdCogY2FzdCB0eXBlIG11c3QgYmUgYSBzdWJ0eXBlIG9mIGl0cyBpbnB1dCB0eXBlAGJyX29uX2Nhc3QqIHRhcmdldCB0eXBlIG11c3QgYmUgYSBzdWJ0eXBlIG9mIGl0cyBpbnB1dCB0eXBlAGJyX29uX2Nhc3QqIGNhc3QgdHlwZSBtdXN0IGJlIHN1YnR5cGUgb2YgaW5wdXQgdHlwZQB1bmtub3duIGNvbnN0IHR5cGUAYnJfb25fY2FzdCBtdXN0IGhhdmUgcmVmZXJlbmNlIGNhc3QgdHlwZQBjYWxsSW5kaXJlY3Q6IGJhZCBhcmd1bWVudCB0eXBlAGVsZW1lbnQgbXVzdCBiZSBhIHN1YnR5cGUgb2YgdGhlIHNlZ21lbnQgdHlwZQBhcnJheS5uZXdfZWxlbSBzZWdtZW50IHR5cGUgc2hvdWxkIGJlIGEgc3VidHlwZSBvZiB0aGUgcmVzdWx0IGVsZW1lbnQgdHlwZQBhcnJheS5maWxsIHZhbHVlIG11c3QgbWF0Y2ggZGVzdGluYXRpb24gZWxlbWVudCB0eXBlAHVuZXhwZWN0ZWQgcmVzdWx0IHR5cGUAY2FsbEluZGlyZWN0OiBiYWQgcmVzdWx0IHR5cGUAcmV0dXJuaW5nIGlmLWVsc2UncyB0cnVlIG11c3QgaGF2ZSByaWdodCB0eXBlAHRhYmxlLmdyb3cgdmFsdWUgbXVzdCBoYXZlIHJpZ2h0IHR5cGUAZ2xvYmFsLnNldCB2YWx1ZSBtdXN0IGhhdmUgcmlnaHQgdHlwZQB0YWJsZS5zZXQgdmFsdWUgbXVzdCBoYXZlIHJpZ2h0IHR5cGUAdGFibGUuZmlsbCB2YWx1ZSBtdXN0IGhhdmUgcmlnaHQgdHlwZQByZXR1cm5pbmcgaWYtZWxzZSdzIGZhbHNlIG11c3QgaGF2ZSByaWdodCB0eXBlAGdsb2JhbCBpbml0IG11c3QgaGF2ZSBjb3JyZWN0IHR5cGUAdHJ5J3MgdHlwZSBkb2VzIG5vdCBtYXRjaCB0cnkgYm9keSdzIHR5cGUAdHJ5X3RhYmxlJ3MgdHlwZSBkb2VzIG5vdCBtYXRjaCB0cnlfdGFibGUgYm9keSdzIHR5cGUAc2VsZWN0J3MgcmlnaHQgZXhwcmVzc2lvbiBtdXN0IGJlIHN1YnR5cGUgb2Ygc2VsZWN0J3MgdHlwZQBzZWxlY3QncyBsZWZ0IGV4cHJlc3Npb24gbXVzdCBiZSBzdWJ0eXBlIG9mIHNlbGVjdCdzIHR5cGUAdW5leHBlY3RlZCBleHByIHR5cGUAYXJyYXkubmV3IGluaXQgbXVzdCBoYXZlIHByb3BlciB0eXBlAGxvY2FsLmdldCBtdXN0IGhhdmUgcHJvcGVyIHR5cGUAYXJyYXkuaW5pdCB2YWx1ZSBtdXN0IGhhdmUgcHJvcGVyIHR5cGUAYXJyYXkuc2V0IG11c3QgaGF2ZSB0aGUgcHJvcGVyIHR5cGUAc3RydWN0LnNldCBtdXN0IGhhdmUgdGhlIHByb3BlciB0eXBlAGFycmF5LmdldCBtdXN0IGhhdmUgdGhlIHByb3BlciB0eXBlAHN0cnVjdC5nZXQgbXVzdCBoYXZlIHRoZSBwcm9wZXIgdHlwZQBiYWQgYXJyYXkgaGVhcCB0eXBlAGJhZCBzdHJ1Y3QgaGVhcCB0eXBlAHJlZi5udWxsIG11c3QgaGF2ZSBhIGJvdHRvbSBoZWFwIHR5cGUAaW52YWxpZCBoZWFwIHR5cGUAcmV0dXJuX2NhbGwqIGNhbGxlZSByZXR1cm4gdHlwZSBtdXN0IG1hdGNoIGNhbGxlciByZXR1cm4gdHlwZQBjYWxsKiB0eXBlIG11c3QgbWF0Y2ggY2FsbGVlIHJldHVybiB0eXBlAGFsbCBzaWJsaW5nIGZ1bmN0aW9ucyBzaG91bGQgaGF2ZSB0aGUgc2FtZSBpbnN0cnVjdGlvbiB0eXBlAHVuZXhwZWN0ZWQgbm9uLWZ1bmN0aW9uIHR5cGUAZHVwbGljYXRlIGZ1bmN0aW9uIHR5cGUAdW5rbm93biBpbmRleGVkIGZ1bmN0aW9uIHR5cGUAdW5rbm93biBkb2xsYXJlZCBmdW5jdGlvbiB0eXBlAGV4cGVjdGVkIGNvbnRpbnVhdGlvbiB0eXBlAGFycmF5LmluaXRfZWxlbSBzZWdtZW50IHR5cGUgbXVzdCBtYXRjaCBkZXN0aW5hdGlvbiB0eXBlAHVuZXhwZWN0ZWQgZXhwcmVzc2lvbiB0eXBlAGludmFsaWQgd2FzbSB0eXBlAEludmFsaWQgbGl0ZXJhbCB0eXBlAFVuZXhwZWN0ZWQgbGl0ZXJhbCB0eXBlAGJsb2NrIGNvbnRlbnRzIHNob3VsZCBzYXRpc2Z5IGJsb2NrIHR5cGUAYnJlYWsgdHlwZSBtdXN0IGJlIGEgc3VidHlwZSBvZiB0aGUgdGFyZ2V0IGJsb2NrIHR5cGUAcmVzdWx0cyBkbyBub3QgbWF0Y2ggdHlwZQByZWYudGVzdCB0YXJnZXQgbXVzdCBoYXZlIHJlZiB0eXBlAHJlZi50ZXN0IHJlZiBtdXN0IGhhdmUgcmVmIHR5cGUAYnJfb25fY2FzdCByZWYgbXVzdCBoYXZlIHJlZiB0eXBlAHJlZi5jYXN0IHJlZiBtdXN0IGhhdmUgcmVmIHR5cGUAdW5leHBlY3RlZCBjb25zdCB2YWx1ZSB0eXBlAHVuZXhwZWN0ZWQgdmFsdWUgdHlwZQBleHBlY3RlZCBzaWduYXR1cmUgdHlwZQBIZWFwIHR5cGUgbXVzdCBiZSBhIHNpZ25hdHVyZSB0eXBlAGJyZWFrIHZhbHVlIG11c3Qgbm90IGhhdmUgbm9uZSB0eXBlAFVuZXhwZWN0ZWQgdjEyOCBsaXRlcmFsIGxhbmUgdHlwZQBibG9jayBlbGVtZW50IGhhcyBpbmNvbXBhdGlibGUgdHlwZQBlbGVtZW50IHNlZ21lbnQgdHlwZSBtdXN0IGJlIGEgc3VidHlwZSBvZiB0aGUgdGFibGUgdHlwZQByZWYuZnVuYyBtdXN0IGhhdmUgbm9uLW51bGxhYmxlIHR5cGUAcmV0dXJuX2NhbGwqIHNob3VsZCBoYXZlIHVucmVhY2hhYmxlIHR5cGUAdW5leHBlY3RlZCBkYXRhZmxvdyBub2RlIHR5cGUAaW52YWxpZCBub2RlIHR5cGUAdW5leGVjcHRlZCBub2RlIHR5cGUAdW5leHBlY3RlZCBub2RlIHR5cGUAcmVmLmZ1bmMgbXVzdCBoYXZlIGEgZnVuY3Rpb24gcmVmZXJlbmNlIHR5cGUAc3RydWN0LnNldCByZWYgbXVzdCBiZSBhIHJlZmVyZW5jZSB0eXBlAFRhYmxlIHR5cGUgbXVzdCBiZSBhIHJlZmVyZW5jZSB0eXBlAHJlZi5pc19udWxsJ3MgYXJndW1lbnQgc2hvdWxkIGJlIGEgcmVmZXJlbmNlIHR5cGUAaW52YWxpZCB0eXBlAHVuZXhwdGVkIHR5cGUAdW5leHBlY3RlZCB0eXBlAGJyX29uX2Nhc3QqIHJlZiB0eXBlIGRvZXMgbm90IG1hdGNoIGV4cGVjdGVkIHR5cGUAIHRhcmdldCBzaG91bGQgbWF0Y2ggZXhwZWN0ZWQgdHlwZQBpbXBvc3NpYmxlIHBhY2tlZCB0eXBlAGludmFsaWQgcGFja2VkIHR5cGUAdW5leHBlY3RlZCBwYWNrZWQgdHlwZQBiYWQgdHlwZQBjb250IHR5cGUgbXVzdCBiZSBjcmVhdGVkIGZyb20gZnVuYyB0eXBlAHVuZXhwZWN0ZWQgYmFzaWMgdHlwZQBleHBlY3RlZCBzcGxhdCB0byBoYXZlIHYxMjggdHlwZQBleHBlY3RlZCB2MTI4IHR5cGUAZXhwZWN0ZWQgaTMyIHR5cGUAVHlwZUJ1aWxkZXJTZXRBcnJheVR5cGUAQmluYXJ5ZW5SZWZUZXN0U2V0Q2FzdFR5cGUAQmluYXJ5ZW5Cck9uU2V0Q2FzdFR5cGUAQmluYXJ5ZW5SZWZUZXN0R2V0Q2FzdFR5cGUAQmluYXJ5ZW5Cck9uR2V0Q2FzdFR5cGUAQmluYXJ5ZW5BcnJheVR5cGVHZXRFbGVtZW50VHlwZQBUeXBlQnVpbGRlclNldFN0cnVjdFR5cGUAd2FzbVRvSnNUeXBlAHVuaGFuZGxlZCBwb2ludGVyVHlwZQBtZW1vcnktPmluZGV4VHlwZSA9PSBwb2ludGVyVHlwZQBzZXRIZWFwVHlwZQBnZXRIZWFwVHlwZQBnZXRUZW1wSGVhcFR5cGUAd3JpdGVIZWFwVHlwZQBmcm9tVHlwZQBjdXJyLT50eXBlID09IG51bGxUeXBlAGdldFZhbGlkTG9jYWxUeXBlAHByaW50QmxvY2tUeXBlAHVzZUNhbGxSZWZUeXBlAEJpbmFyeWVuU3RvcmVTZXRWYWx1ZVR5cGUAQmluYXJ5ZW5TdG9yZUdldFZhbHVlVHlwZQB3cml0ZVR5cGUAbm9ybWFsaXplQ29uZVR5cGUAQmluYXJ5ZW5TdHJ1Y3RUeXBlR2V0RmllbGRUeXBlAEJpbmFyeWVuQXRvbWljV2FpdFNldEV4cGVjdGVkVHlwZQBCaW5hcnllbkF0b21pY1dhaXRHZXRFeHBlY3RlZFR5cGUAQmluYXJ5ZW5BcnJheVR5cGVHZXRFbGVtZW50UGFja2VkVHlwZQBCaW5hcnllblN0cnVjdFR5cGVHZXRGaWVsZFBhY2tlZFR5cGUAc2V0U3ViVHlwZQBhVHlwZSAhPSBiVHlwZQBsb2NhbCBhY2Nlc3MgaW4gbm9uLWZ1bmN0aW9uIHNjb3BlAEZ1bmN0aW9uU2NvcGUAZG9FbmRTY29wZQB1bnRlcm1pbmF0ZWQgc3RyaW5nIGVzY2FwZQBKdW5lAHNpZy5wYXJhbXMgPT0gVHlwZTo6bm9uZQBjdXJyLT5ib2R5LT50eXBlID09IFR5cGU6Om5vbmUAY3Vyci0+dHlwZSA9PSBUeXBlOjpub25lACFyZXN1bHRVc2VkIHx8IGN1cnItPnR5cGUgIT0gVHlwZTo6bm9uZQBibG9jay0+dHlwZSAhPSBUeXBlOjpub25lAGlmVHJ1ZUJsb2NrLT50eXBlICE9IFR5cGU6Om5vbmUAaWZGYWxzZUJsb2NrLT50eXBlICE9IFR5cGU6Om5vbmUAaWZmLT50eXBlICE9IFR5cGU6Om5vbmUAbmV3VHlwZSAhPSBUeXBlOjpub25lAHZhbHVlVHlwZSAhPSBUeXBlOjpub25lAGJsb2NrIHdpdGggdmFsdWUgbXVzdCBub3QgaGF2ZSBsYXN0IGVsZW1lbnQgdGhhdCBpcyBub25lAG1lbW9yeS5jb3B5IG11c3QgaGF2ZSB0eXBlIG5vbmUAbWVtb3J5LmluaXQgbXVzdCBoYXZlIHR5cGUgbm9uZQBkYXRhLmRyb3AgbXVzdCBoYXZlIHR5cGUgbm9uZQBtZW1vcnkuZmlsbCBtdXN0IGhhdmUgdHlwZSBub25lAHN0b3JlWF9sYW5lIG11c3QgaGF2ZSB0eXBlIG5vbmUAaWYgd2l0aG91dCBlbHNlIGFuZCByZWFjaGFibGUgY29uZGl0aW9uIG11c3QgYmUgbm9uZQBzdG9yZSB2YWx1ZSB0eXBlIG11c3Qgbm90IGJlIG5vbmUAbG93ZXIgbG9hZHMgYW5kIHN0b3JlcyB0byBhIDY0LWJpdCBtZW1vcnkgdG8gaW5zdGVhZCB1c2UgYSAzMi1iaXQgb25lAG1hcmsgZnVuY3Rpb25zIGFzIG5vLWlubGluZQBuby1mdWxsLWlubGluZQBuby1wYXJ0aWFsLWlubGluZQBjb21iaW5lAGkzMng0LmV4dHJhY3RfbGFuZQBmMzJ4NC5leHRyYWN0X2xhbmUAaTY0eDIuZXh0cmFjdF9sYW5lAGY2NHgyLmV4dHJhY3RfbGFuZQBpMTZ4OC5yZXBsYWNlX2xhbmUAaTh4MTYucmVwbGFjZV9sYW5lAGkzMng0LnJlcGxhY2VfbGFuZQBmMzJ4NC5yZXBsYWNlX2xhbmUAaTY0eDIucmVwbGFjZV9sYW5lAGY2NHgyLnJlcGxhY2VfbGFuZQB2MTI4LnN0b3JlOF9sYW5lAHYxMjgubG9hZDhfbGFuZQB2MTI4LnN0b3JlMTZfbGFuZQB2MTI4LmxvYWQxNl9sYW5lAHYxMjguc3RvcmU2NF9sYW5lAHYxMjgubG9hZDY0X2xhbmUAdjEyOC5zdG9yZTMyX2xhbmUAdjEyOC5sb2FkMzJfbGFuZQBleHRyYWN0X2xhbmUgbXVzdCBoYXZlIHNhbWUgdHlwZSBhcyB2ZWN0b3IgbGFuZQBDb3VsZCBub3QgcGFyc2UgdjEyOCBsYW5lAHZpc2l0U0lNRExvYWRTdG9yZUxhbmUAbWFrZU9uZQBpMTZ4OC5uZQBpOHgxNi5uZQBpMzJ4NC5uZQBmMzJ4NC5uZQBpNjQubmUAZjY0Lm5lAGk2NHgyLm5lAGY2NHgyLm5lAGkzMi5uZQBmMzIubmUAcmVzdW1lAFJlc3VtZQBpbnN0cnVtZW50IHRoZSB3YXNtIHRvIGNvbnZlcnQgTmFOcyBpbnRvIDAgYXQgcnVudGltZQB0cnkgY2Fubm90IGhhdmUgYm90aCBjYXRjaCBhbmQgZGVsZWdhdGUgYXQgdGhlIHNhbWUgdGltZQByZW9yZGVyLWZ1bmN0aW9ucy1ieS1uYW1lADogZW1wdHkgbmFtZQBhY3RpdmUgc2VnbWVudCBtdXN0IGhhdmUgYSB2YWxpZCBtZW1vcnkgbmFtZQBkdXBsaWNhdGUgZXhwb3J0IG5hbWUAaW52YWxpZCBleHBvcnQgbmFtZQBiYWQgZ2xvYmFsLmdldCBuYW1lAGJhZCBsb2NhbCBuYW1lAGJhZCB0YWcgbmFtZQBpbnZhbGlkIGltcG9ydCBiYXNlIG5hbWUAaW52YWxpZCB0eXBlIG5hbWUAaW52YWxpZCBpbXBvcnQgbW9kdWxlIG5hbWUAZWxlbWVudCBzZWdtZW50IG11c3QgaGF2ZSBhIHZhbGlkIHRhYmxlIG5hbWUAYmFkIHN0cnVjdCBmaWVsZCBuYW1lAGZ1bmMtPm5hbWUgPT0gbmFtZQBsYWJlbFN0YWNrLmJhY2soKSA9PSBuYW1lACF3YXNtLmdldEZ1bmN0aW9uT3JOdWxsKG5ld05hbWUpIHx8IGZ1bmMtPm5hbWUgPT0gbmV3TmFtZQBwcmludE5hbWUAdGFibGVbaW5kZXhdID09IGRlZmF1bHROYW1lAEJpbmFyeWVuU3dpdGNoU2V0RGVmYXVsdE5hbWUAQmluYXJ5ZW5Td2l0Y2hHZXREZWZhdWx0TmFtZQBCaW5hcnllblRyeVNldE5hbWUAQmluYXJ5ZW5HbG9iYWxTZXRTZXROYW1lAEJpbmFyeWVuR2xvYmFsR2V0U2V0TmFtZQBCaW5hcnllbkxvb3BTZXROYW1lAEJpbmFyeWVuQnJPblNldE5hbWUAQmluYXJ5ZW5CbG9ja1NldE5hbWUAQmluYXJ5ZW5CcmVha1NldE5hbWUAQmluYXJ5ZW5UcnlHZXROYW1lAEJpbmFyeWVuR2xvYmFsU2V0R2V0TmFtZQBCaW5hcnllbkdsb2JhbEdldEdldE5hbWUAQmluYXJ5ZW5Mb29wR2V0TmFtZQBCaW5hcnllbkJyT25HZXROYW1lAEJpbmFyeWVuQmxvY2tHZXROYW1lAEJpbmFyeWVuQnJlYWtHZXROYW1lAHVua25vd24gZnVuY3Rpb24gaW4gZ2V0RnVuY3Rpb25OYW1lAHBvcExhYmVsTmFtZQBzZXRMb2NhbE5hbWUAdW5rbm93biBnbG9iYWwgaW4gZ2V0R2xvYmFsTmFtZQB1bmtub3duIHRhZyBpbiBnZXRUYWdOYW1lAHVua25vd24gdGFibGUgaW4gZ2V0VGFibGVOYW1lAEJpbmFyeWVuU3dpdGNoQXBwZW5kTmFtZQBpOHgxNi5yZWxheGVkX3N3aXp6bGUAaTh4MTYuc3dpenpsZQBfX2xvYWRfc2Vjb25kYXJ5X21vZHVsZQBqc3BpLXNwbGl0LW1vZHVsZQBwb3N0LWVtc2NyaXB0ZW4tc2lkZS1tb2R1bGUAdG9wbGV2ZWwgZG9lcyBub3Qgc3RhcnQgd2l0aCBtb2R1bGUAd3JpdGUgZGF0YSBzZWdtZW50cyB0byBhIGZpbGUgYW5kIHN0cmlwIHRoZW0gZnJvbSB0aGUgbW9kdWxlAGVtcHR5IHRvcGxldmVsLCBleHBlY3RlZCBtb2R1bGUAcHJvY2Vzc01vZHVsZQBhc21Nb2R1bGUAc2xlAHB1c2hFeHByZXNzaW9uLXR1cGxlAEV4cG9ydGVkIGdsb2JhbCBjYW5ub3QgYmUgdHVwbGUASW1wb3J0ZWQgZ2xvYmFsIGNhbm5vdCBiZSB0dXBsZQBzZWxlY3QgdmFsdWUgbWF5IG5vdCBiZSBhIHR1cGxlAEJpbmFyeWVuVHVwbGVFeHRyYWN0U2V0VHVwbGUAQmluYXJ5ZW5UdXBsZUV4dHJhY3RHZXRUdXBsZQB2YWxpZGF0ZVR1cGxlAHdoaWxlAGFzbWFuZ2xlAGk4eDE2LnNodWZmbGUAQmluYXJ5ZW5TSU1EU2h1ZmZsZQBoYW5kbGUAZW5zdXJlRG91YmxlAGFwcGx5IG1vcmUgc3BlY2lmaWMgc3VidHlwZXMgdG8gbG9jYWxzIHdoZXJlIHBvc3NpYmxlAG1lcmdlIHR5cGVzIHRvIHRoZWlyIHN1cGVydHlwZXMgd2hlcmUgcG9zc2libGUAYXBwbHkgbW9yZSBzcGVjaWZpYyBzdWJ0eXBlcyB0byBzaWduYXR1cmUgdHlwZXMgd2hlcmUgcG9zc2libGUAcmVtb3ZlIHBhcmFtcyBmcm9tIGZ1bmN0aW9uIHNpZ25hdHVyZSB0eXBlcyB3aGVyZSBwb3NzaWJsZQBhcHBseSBtb3JlIHNwZWNpZmljIHN1YnR5cGVzIHRvIHR5cGUgZmllbGRzIHdoZXJlIHBvc3NpYmxlAGRpcmVjdGl6ZS1pbml0aWFsLWNvbnRlbnRzLWltbXV0YWJsZQBnbG9iYWwuc2V0IG9mIGltbXV0YWJsZQB0YWJsZS5pbml0aWFsQ29udGVudHNJbW11dGFibGUAYXJyYXkuY29weSBkZXN0aW5hdGlvbiBtdXN0IGJlIG11dGFibGUAYXJyYXkuZmlsbCBkZXN0aW5hdGlvbiBtdXN0IGJlIG11dGFibGUAYXJyYXkuaW5pdF8qIGRlc3RpbmF0aW9uIG11c3QgYmUgbXV0YWJsZQBnbG9iYWwuc2V0IGdsb2JhbCBtdXN0IGJlIG11dGFibGUAYXJyYXkuc2V0IHR5cGUgbXVzdCBiZSBtdXRhYmxlAHN0cnVjdC5zZXQgZmllbGQgbXVzdCBiZSBtdXRhYmxlAEJpbmFyeWVuQXJyYXlUeXBlSXNFbGVtZW50TXV0YWJsZQBCaW5hcnllblN0cnVjdFR5cGVJc0ZpZWxkTXV0YWJsZQBhcnJheS5uZXdfd2l0aF9kZWZhdWx0IHZhbHVlIHR5cGUgbXVzdCBiZSBkZWZhdWx0YWJsZQBzdHJ1Y3QubmV3X3dpdGhfZGVmYXVsdCB2YWx1ZSB0eXBlIG11c3QgYmUgZGVmYXVsdGFibGUAZmluZFByb3BhZ2F0YWJsZQBhc3luY2lmeS1yZWxvY2F0YWJsZQB0cnlfdGFibGUAYnJfdGFibGUAX19pbmRpcmVjdF9mdW5jdGlvbl90YWJsZQBhY3RpdmUgZWxlbWVudCB3aXRob3V0IHRhYmxlACFwcmVQYXJzZUltcG9ydCBpbiB0YWJsZQB0YWJsZUdldCBvbiBub24tZXhpc3RpbmcgdGFibGUAY2FsbFRhYmxlIG9uIG5vbi1leGlzdGluZyB0YWJsZQBpbnZhbGlkIHRhYmxlAHJlZi5udWxsIHR5cGVzIG11c3QgYmUgbnVsbGFibGUAQmxvY2sgcmVxdWlyZXMgbW9yZSB2YWx1ZXMgdGhhbiBhcmUgYXZhaWxhYmxlAGN1cnItPnR5cGUgPT0gVHlwZTo6bm9uZSB8fCBjdXJyLT50eXBlID09IFR5cGU6OnVucmVhY2hhYmxlAGJyLT50eXBlID09IFR5cGU6OnVucmVhY2hhYmxlAGJsb2NrLT50eXBlLmlzQ29uY3JldGUoKSAmJiBzaW5nbGV0b24tPnR5cGUgPT0gVHlwZTo6dW5yZWFjaGFibGUAYmxvY2stPnR5cGUgPT0gVHlwZTo6dW5yZWFjaGFibGUAaWZmLT5pZlRydWUtPnR5cGUgPT0gVHlwZTo6dW5yZWFjaGFibGUAdmFsdWUtPnR5cGUgPT0gVHlwZTo6dW5yZWFjaGFibGUAY3Vyci0+dGFyZ2V0LT50eXBlICE9IFR5cGU6OnVucmVhY2hhYmxlAGlmZi0+aWZGYWxzZS0+dHlwZSAhPSBUeXBlOjp1bnJlYWNoYWJsZQBJZiB0dXBsZS5leHRyYWN0IGhhcyBhbiB1bnJlYWNoYWJsZSBvcGVyYW5kLCBpdCBtdXN0IGJlIHVucmVhY2hhYmxlAElmIHR1cGxlLm1ha2UgaGFzIGFuIHVucmVhY2hhYmxlIG9wZXJhbmQsIGl0IG11c3QgYmUgdW5yZWFjaGFibGUAcmV0aHJvdydzIHR5cGUgbXVzdCBiZSB1bnJlYWNoYWJsZQBoYW5kbGVVbnJlYWNoYWJsZQBUcnlUYWJsZQBCaW5hcnllblRhYmxlR3Jvd1NldFRhYmxlAEJpbmFyeWVuVGFibGVTZXRTZXRUYWJsZQBCaW5hcnllblRhYmxlR2V0U2V0VGFibGUAQmluYXJ5ZW5DYWxsSW5kaXJlY3RTZXRUYWJsZQBCaW5hcnllblRhYmxlU2l6ZVNldFRhYmxlAEJpbmFyeWVuVGFibGVHcm93R2V0VGFibGUAQmluYXJ5ZW5UYWJsZVNldEdldFRhYmxlAEJpbmFyeWVuVGFibGVHZXRHZXRUYWJsZQBCaW5hcnllbkNhbGxJbmRpcmVjdEdldFRhYmxlAEJpbmFyeWVuVGFibGVTaXplR2V0VGFibGUAZXhwcmVzc2lvblN0YWNrW2ldID09IGJyVGFibGUAZjMyeDQubGUAZjY0LmxlAGY2NHgyLmxlAGYzMi5sZQB0dXBsZS5tYWtlAHZpc2l0VHVwbGVNYWtlAHNzYS1ub21lcmdlADogb3V0IG9mIHJhbmdlAGV4Y2hhbmdlAGNvbXBhcmVFeGNoYW5nZQBiYWQgbmFtZXMgc3Vic2VjdGlvbiBwb3NpdGlvbiBjaGFuZ2UAYmFkIGR5bGluay4wIHN1YnNlY3Rpb24gcG9zaXRpb24gY2hhbmdlAGJhZCBuYW1lcyBzZWN0aW9uIHBvc2l0aW9uIGNoYW5nZQBub3RlQnJlYWtDaGFuZ2UAcGFja2FnZQBmMzJ4NC5nZQBmNjQuZ2UAZjY0eDIuZ2UAZjMyLmdlAHNpbXBsaWZ5LWxvY2Fscy1ub3RlZQB1bnRlZQBsb2NhbC50ZWUARG9tVHJlZQBCaW5hcnllbkxvY2FsU2V0SXNUZWUAbG9jYWwuZ2V0IG11c3QgaGF2ZSBhIHZhbGlkIHR5cGUgLSBjaGVjayB3aGF0IHlvdSBwcm92aWRlZCB3aGVuIHlvdSBjb25zdHJ1Y3RlZCB0aGUgbm9kZQBSZWFjaGVkIGZ1bmN0aW9uIGVuZCB3aXRob3V0IHNlZWluZyBFbmQgb3Bjb2RlAFN0cmluZ0VuY29kZQBiYXNlNjRFbmNvZGUAcmVtb3ZlcyB1bnJlYWNoYWJsZSBjb2RlAG1pc2NlbGxhbmVvdXMgb3B0aW1pemF0aW9ucyBmb3IgRW1zY3JpcHRlbi1nZW5lcmF0ZWQgY29kZQByZW1vdmVzIG9idmlvdXNseSB1bm5lZWRlZCBjb2RlAGdldFNwbGl0RHJpdmVuSW5saW5pbmdNb2RlAGJsb2NrIGNhbm5vdCBwb3AgZnJvbSBvdXRzaWRlAEJpbmFyeWVuTWVtb3J5Q29weVNldFNvdXJjZQBCaW5hcnllbk1lbW9yeUNvcHlHZXRTb3VyY2UAcmVkdWNlcyBjYWxscyB0byBjb2RlIHRoYXQgb25seSBydW5zIG9uY2UAc3RyaW5nLmlzX3Vzdl9zZXF1ZW5jZQBVbnRlcm1pbmF0ZWQgZXNjYXBlIHNlcXVlbmNlAGFycmF5LmxlbiBhcmd1bWVudCBtdXN0IGJlIGFuIGFycmF5IHJlZmVyZW5jZQBhcnJheS5pbml0XyogZGVzdGluYXRpb24gbXVzdCBiZSBhbiBhcnJheSByZWZlcmVuY2UAYXJyYXkuc2V0IHRhcmdldCBzaG91bGQgYmUgYW4gYXJyYXkgcmVmZXJlbmNlAGFycmF5LmdldCB0YXJnZXQgc2hvdWxkIGJlIGFuIGFycmF5IHJlZmVyZW5jZQBhcnJheS5jb3B5IGRlc3RpbmF0aW9uIHNob3VsZCBiZSBhbiBhcnJheSByZWZlcmVuY2UAYXJyYXkuZmlsbCBkZXN0aW5hdGlvbiBzaG91bGQgYmUgYW4gYXJyYXkgcmVmZXJlbmNlAGFycmF5Lm5ld197ZGF0YSwgZWxlbX0gdHlwZSBzaG91bGQgYmUgYW4gYXJyYXkgcmVmZXJlbmNlAGFycmF5LmNvcHkgc291cmNlIHNob3VsZCBiZSBhbiBhcnJheSByZWZlcmVuY2UAYXJyYXkuc2V0IHRhcmdldCBzaG91bGQgYmUgYSBzcGVjaWZpYyBhcnJheSByZWZlcmVuY2UAYXJyYXkuZ2V0IHRhcmdldCBzaG91bGQgYmUgYSBzcGVjaWZpYyBhcnJheSByZWZlcmVuY2UAY2FsbF9yZWYgdGFyZ2V0IG11c3QgYmUgYSBmdW5jdGlvbiByZWZlcmVuY2UAaW52YWxpZCBoZWFwIHR5cGUgcmVmZXJlbmNlAGludmFsaWQgdHlwZSByZWZlcmVuY2UAYXJyYXkuY29weSBkZXN0aW5hdGlvbiBzaG91bGQgYmUgYSByZWZlcmVuY2UAYXJyYXkuY29weSBzb3VyY2Ugc2hvdWxkIGJlIGEgcmVmZXJlbmNlAGF0b21pYy5mZW5jZQBBdG9taWNGZW5jZQBzdHJpbmd2aWV3X2l0ZXIuYWR2YW5jZQBzdHJpbmd2aWV3X3d0ZjguYWR2YW5jZQBTdHJpbmdXVEY4QWR2YW5jZQBzdHJpbmd2aWV3X2l0ZXIuc2xpY2UAc3RyaW5ndmlld193dGY4LnNsaWNlAHN0cmluZ3ZpZXdfd3RmMTYuc2xpY2UAc3BsaWNlAGRjZQBhbGxvY1NwYWNlAHJlcGxhY2UAdmlzaXRTSU1EUmVwbGFjZQBsZWdhbGl6ZS1qcy1pbnRlcmZhY2UAZGFlACVlAE1hdGhfZnJvdW5kAHVub3JkZXJlZF9tYXA6OmF0OiBrZXkgbm90IGZvdW5kAG1hcDo6YXQ6ICBrZXkgbm90IGZvdW5kAGJyZWFrIGluZGV4IG5vdCBmb3VuZABjYWxsRXhwb3J0IG5vdCBmb3VuZABzdGFydCBtdXN0IGJlIGZvdW5kAG1vZHVsZSBtZW1vcnkgZXhwb3J0cyBtdXN0IGJlIGZvdW5kAG1vZHVsZSBmdW5jdGlvbiBleHBvcnRzIG11c3QgYmUgZm91bmQAbW9kdWxlIGdsb2JhbCBleHBvcnRzIG11c3QgYmUgZm91bmQAbW9kdWxlIHRhZyBleHBvcnRzIG11c3QgYmUgZm91bmQAbW9kdWxlIHRhYmxlIGV4cG9ydHMgbXVzdCBiZSBmb3VuZAByZXMuc2Vjb25kAF9fYXN5bmNpZnlfdW53aW5kAGFzeW5jaWZ5X3N0YXJ0X3Vud2luZABhc3luY2lmeV9zdG9wX3Vud2luZABtb2QtYXN5bmNpZnktYWx3YXlzLWFuZC1vbmx5LXVud2luZABtb2QtYXN5bmNpZnktbmV2ZXItdW53aW5kAGFzeW5jaWZ5X3N0YXJ0X3Jld2luZABhc3luY2lmeV9zdG9wX3Jld2luZABzdHJpbmd2aWV3X2l0ZXIucmV3aW5kAGFwcGx5IHRoZSBhc3N1bXB0aW9uIHRoYXQgYXN5bmNpZnkgaW1wb3J0cyBhbHdheXMgdW53aW5kLCBhbmQgd2UgbmV2ZXIgcmV3aW5kAHVuZXhwZWN0ZWQgZXhwb3J0IGtpbmQAYmFkIGV4cG9ydCBraW5kAGJhZCBpbXBvcnQga2luZAB1bmtub3duIGtpbmQAdW5leHBlY3RlZCBleHRlcm4ga2luZAB1bmtub3duIGhlYXB0eXBlIGtpbmQAdW5rbm93biB2YWx0eXBlIGtpbmQAdW5rbm93biBzdWJ0eXBlIGtpbmQAaW52YWxpZCBraW5kAHVuZXhwZWN0ZWQga2luZABpbnZhbGlkIEV4dGVybmFsS2luZAB0aGVyZSBzaG91bGQgYmUgYXQgbW9zdCBvbmUgY2F0Y2hfYWxsIGJsb2NrIGF0IHRoZSBlbmQAY2FsbC53aXRob3V0LmVmZmVjdHMgbXVzdCBoYXZlIGEgdGFyZ2V0IG9wZXJhbmQAQXRvbWljUk1XIHJlc3VsdCB0eXBlIG11c3QgbWF0Y2ggb3BlcmFuZABBdG9taWNXYWl0IGV4cGVjdGVkIHR5cGUgbXVzdCBtYXRjaCBvcGVyYW5kAGV4cGVjdGVkIHYxMjggb3BlcmFuZABCaW5hcnllblRocm93QXBwZW5kT3BlcmFuZABCaW5hcnllblN0cnVjdE5ld0FwcGVuZE9wZXJhbmQAQmluYXJ5ZW5DYWxsSW5kaXJlY3RBcHBlbmRPcGVyYW5kAEJpbmFyeWVuQ2FsbEFwcGVuZE9wZXJhbmQAQmluYXJ5ZW5DYWxsUmVmQXBwZW5kT3BlcmFuZABCaW5hcnllblR1cGxlTWFrZUFwcGVuZE9wZXJhbmQAaTY0LmF0b21pYy5ybXcuYW5kAGkzMi5hdG9taWMucm13LmFuZAB2MTI4LmFuZABpNjQuYW5kAGkzMi5hbmQAQmluYXJ5ZW5TdHJpbmdOZXdTZXRFbmQAQmluYXJ5ZW5TdHJpbmdTbGljZVdURlNldEVuZABCaW5hcnllblN0cmluZ05ld0dldEVuZABCaW5hcnllblN0cmluZ1NsaWNlV1RGR2V0RW5kAGVtaXRGdW5jdGlvbkVuZABlbWl0U2NvcGVFbmQAaWYgc2hvdWxkIGVuZCB3aXRoIEVuZABjb21iaW5lQW5kAHJlbGF4ZWQtc2ltZABSZW1vdmVVbnVzZWRUeXBlcyByZXF1aXJlcyAtLWNsb3NlZC13b3JsZABTaWduYXR1cmVQcnVuaW5nIHJlcXVpcmVzIC0tY2xvc2VkLXdvcmxkAEFic3RyYWN0VHlwZVJlZmluaW5nIHJlcXVpcmVzIC0tY2xvc2VkLXdvcmxkAFR5cGVNZXJnaW5nIHJlcXVpcmVzIC0tY2xvc2VkLXdvcmxkAEdUTyByZXF1aXJlcyAtLWNsb3NlZC13b3JsZABHU0kgcmVxdWlyZXMgLS1jbG9zZWQtd29ybGQAb3B0aW9ucy5jbG9zZWRXb3JsZABidWlsZABVbmV4cGVjdGVkIG5vbi1Qb3AgY2hpbGQAdW5yZWFjaGFibGUgYnV0IG5vIHVucmVhY2hhYmxlIGNoaWxkAHVucmVhY2hhYmxlIGluc3RydWN0aW9uIG11c3QgaGF2ZSB1bnJlYWNoYWJsZSBjaGlsZABIZWFwIHR5cGUgaGFzIGFuIHVuZGVjbGFyZWQgY2hpbGQAZ2V0LT5yZWYgPT0gY2hpbGQAc2V0LT5yZWYgPT0gY2hpbGQgfHwgc2V0LT52YWx1ZSA9PSBjaGlsZABCaW5hcnllbkJsb2NrQXBwZW5kQ2hpbGQAeWllbGQAYmFkIHN0cnVjdC5nZXQgZmllbGQAbm9uLWNhc3QgYnJfb24qIG11c3Qgbm90IHNldCBpbnRlbmRlZFR5cGUgZmllbGQAbmV3SW5kZXggPCBpbmRleGVzQWZ0ZXJSZW1vdmFsLnNpemUoKSB8fCBuZXdJbmRleCA9PSBSZW1vdmVkRmllbGQAbmV3SW5kZXggIT0gUmVtb3ZlZEZpZWxkACkncyBwb3AncyBsb2NhdGlvbiBpcyBub3QgdmFsaWQAc2VsZWN0IHJpZ2h0IG11c3QgYmUgdmFsaWQAYWxsIHJldGhyb3cgdGFyZ2V0cyBtdXN0IGJlIHZhbGlkAGFsbCBicmVhayB0YXJnZXRzIG11c3QgYmUgdmFsaWQAYWxsIGRlbGVnYXRlIHRhcmdldHMgbXVzdCBiZSB2YWxpZABzZWxlY3QgY29uZGl0aW9uIG11c3QgYmUgdmFsaWQAaWYgY29uZGl0aW9uIG11c3QgYmUgdmFsaWQAc2VsZWN0IHR5cGUgbXVzdCBiZSB2YWxpZABnbG9iYWwuZ2V0IG5hbWUgbXVzdCBiZSB2YWxpZAAoKml0KS0+X2lkID09IHByaW1hcnktPl9pZABiYWQgaWQAc2VudFR5cGVzIGNhY2hlIGluIFJlc3VtZSBpbnN0cnVjdGlvbiBoYXMgbm90IGJlZW4gaW5pdGlhbGl6ZWQAYXJyYXkubmV3X2ZpeGVkAEFycmF5TmV3Rml4ZWQAcmVmLmNhc3QgbnVsbCBvZiBub24tbnVsbGFibGUgcmVmZXJlbmNlcyBhcmUgbm90IGFsbG93ZWQAYWxsIHBhcmFtIHR5cGVzIGluIHRhZ3Mgc2hvdWxkIGJlIGFsbG93ZWQAYWxsIHVzZWQgZmVhdHVyZXMgc2hvdWxkIGJlIGFsbG93ZWQAYWxsIHVzZWQgdHlwZXMgc2hvdWxkIGJlIGFsbG93ZWQAaTMyIHVuYXJ5IHNob3VsZCBoYXZlIGJlZW4gcmVtb3ZlZAByZW1vdmVzIGFyZ3VtZW50cyB0byBjYWxscyBpbiBhbiBsdG8tbGlrZSBtYW5uZXIsIGFuZCBvcHRpbWl6ZXMgd2hlcmUgd2UgcmVtb3ZlZABpNjQucG9wY250IHNob3VsZCBhbHJlYWR5IGJlIHJlbW92ZWQAIW90aGVyLm1vdmVkACFtb3ZlZABVTlJFQUNIQUJMRSBleGVjdXRlZABNdWx0aU1lbW9yeUxvd2VyaW5nOiBvbmx5IHRoZSBmaXJzdCBtZW1vcnkgY2FuIGJlIGV4cG9ydGVkAFJlY3Vyc2lvbiBncm91cHMgb2Ygc2l6ZSB6ZXJvIG5vdCBzdXBwb3J0ZWQAbG9jYWxlIG5vdCBzdXBwb3J0ZWQAYmxvY2sgaW5wdXQgdmFsdWVzIGFyZSBub3QgeWV0IHN1cHBvcnRlZABNdWx0aU1lbW9yeUxvd2VyaW5nOiBvbmx5IHRoZSBmaXJzdCBtZW1vcnkgY2FuIGJlIGltcG9ydGVkAHVuaW1wbGVuZW50ZWQAdW5pbXBsZW1lbnRlZABzZXBhcmF0aW5nIHBhc3NpdmUgc2VnbWVudHMgbm90IGltcGxlbWVudGVkAHNlcGFyYXRpbmcgcmVsb2NhdGFibGUgc2VnbWVudHMgbm90IGltcGxlbWVudGVkAGk2NCB0byBpMzIgbG93ZXJpbmcgb2YgcmV0dXJuX2NhbGwgdmFsdWVzIG5vdCB5ZXQgaW1wbGVtZW50ZWQAbWF4IG1lbW9yeSBtdXN0IGJlIDw9IDRHQiwgb3IgdW5saW1pdGVkAHByb3RlY3RlZABDbXB4Y2hnIHJlc3VsdCB0eXBlIG11c3QgbWF0Y2ggZXhwZWN0ZWQAbm9uLWNvbmNyZXRlIHR5cGUgd2hlbiBvbmUgZXhwZWN0ZWQAQmluYXJ5ZW5BdG9taWNXYWl0U2V0RXhwZWN0ZWQAQmluYXJ5ZW5BdG9taWNDbXB4Y2hnU2V0RXhwZWN0ZWQAQmluYXJ5ZW5BdG9taWNXYWl0R2V0RXhwZWN0ZWQAQmluYXJ5ZW5BdG9taWNDbXB4Y2hnR2V0RXhwZWN0ZWQAZ2V0UGFzc09wdGlvbnMoKS5sb3dNZW1vcnlVbnVzZWQAZXJhc2VkAGlzUmVzdWx0VXNlZAB3YXJuaW5nOiByZXF1aXJlZCBmZWF0dXJlcyBpbiBmZWF0dXJlIHNlY3Rpb24gYXJlIGlnbm9yZWQAVGFibGVzIG1heSBub3QgYmUgc2hhcmVkAG1lbW9yeS0+c2hhcmVkID09IGlzU2hhcmVkAHJlc3VsdHMgbXVzdCBiZSBjb25jcmV0ZWx5IHR5cGVkAHBhcmFtcyBtdXN0IGJlIGNvbmNyZXRlbHkgdHlwZWQAaXNSZXN1bHREcm9wcGVkAGlubGluZSBmdW5jdGlvbnMgYW5kIG9wdGltaXplcyB3aGVyZSB3ZSBpbmxpbmVkAGF0b21pYyBsb2FkcyBtdXN0IGJlIHVuc2lnbmVkAG5vbi1wYWNrZWQgZ2V0IGNhbm5vdCBiZSBzaWduZWQAQmluYXJ5ZW5BcnJheUdldFNldFNpZ25lZABCaW5hcnllblN0cnVjdEdldFNldFNpZ25lZABCaW5hcnllbkkzMUdldFNldFNpZ25lZABCaW5hcnllbkxvYWRTZXRTaWduZWQAQmluYXJ5ZW5BcnJheUdldElzU2lnbmVkAEJpbmFyeWVuU3RydWN0R2V0SXNTaWduZWQAQmluYXJ5ZW5JMzFHZXRJc1NpZ25lZABCaW5hcnllbkxvYWRJc1NpZ25lZAByZWN1cnNpdmVfbXV0ZXggbG9jayBmYWlsZWQAY2xvY2tfZ2V0dGltZShDTE9DS19NT05PVE9OSUMpIGZhaWxlZABudWxsIGxpdGVyYWxzIHNob3VsZCBhbHJlYWR5IGhhdmUgYmVlbiBoYW5kbGVkAFR1cGxlcyBkcm9wcyBhcmUgbm90IGFsbG93ZWQgdW5sZXNzIG11bHRpdmFsdWUgaXMgZW5hYmxlZABUdXBsZXMgYXJlIG5vdCBhbGxvd2VkIHVubGVzcyBtdWx0aXZhbHVlIGlzIGVuYWJsZWQAY29uZGl0aW9uX3ZhcmlhYmxlOjp3YWl0OiBtdXRleCBub3QgbG9ja2VkAGVsZW1lbnRQYWNrZWRUeXBlID09IEZpZWxkOjpQYWNrZWRUeXBlOjpub3RfcGFja2VkAGZpZWxkUGFja2VkVHlwZXNbY3VyXSA9PSBGaWVsZDo6UGFja2VkVHlwZTo6bm90X3BhY2tlZABpc1BhY2tlZABwcmludC1taW5pZmllZABHVUZBIHBsdXMgbG9jYWwgb3B0aW1pemF0aW9ucyBpbiBmdW5jdGlvbnMgd2UgbW9kaWZpZWQAcmVtb3ZlcyBicmVha3MgZnJvbSBsb2NhdGlvbnMgdGhhdCBhcmUgbm90IG5lZWRlZABXZWQAaTY0LmF0b21pYy5ybXcuYWRkAGkzMi5hdG9taWMucm13LmFkZABpMTZ4OC5hZGQAaTh4MTYuYWRkAGkzMng0LmFkZABmMzJ4NC5hZGQAaTY0LmFkZABmNjQuYWRkAGk2NHgyLmFkZABmNjR4Mi5hZGQAaTMyLmFkZABmMzIuYWRkAHBhZ2VzVG9BZGQAaTY0LmF0b21pYy5sb2FkAGkzMi5hdG9taWMubG9hZAB2MTI4LmxvYWQAdW5oYW5kbGVkIHVuYWxpZ25lZCBsb2FkAHZpc2l0TG9hZAB2aXNpdFNJTURMb2FkAGxvd2VyIGFsbCB1c2VzIG9mIGk2NHMgdG8gdXNlIGkzMnMgaW5zdGVhZABiYWQAVW5rbm93biBlcnJvciAlZABzdGQ6OmJhZF9hbGxvYwBNYXRoX3RydW5jAGYzMng0LnRydW5jAGY2NC50cnVuYwBmNjR4Mi50cnVuYwBmMzIudHJ1bmMAbm9mdW5jAChmdW5jACFwcmVQYXJzZUltcG9ydCBpbiBmdW5jACBkZWNsYXJlIGZ1bmMAZ2V0RnVuYwBCaW5hcnllblJlZkZ1bmNTZXRGdW5jAEJpbmFyeWVuUmVmRnVuY0dldEZ1bmMAYXNtRnVuYwB2aXNpdFJlZkZ1bmMAdXNlUmVmRnVuYwBzY29wZS5raW5kID09IFNjb3BlOjpGdW5jAHN0YXRpYwBVbnJlY29nbml6ZWQgaW50cmluc2ljAGdldEJhc2ljAGdlbmVyaWMAYXJyYXkuaW5pdF9kYXRhIGRlc3RpbmF0aW9uIG11c3QgYmUgbnVtZXJpYwBhcnJheS5uZXdfZGF0YSByZXN1bHQgZWxlbWVudCB0eXBlIHNob3VsZCBiZSBudW1lcmljAC5hdG9taWMAQmluYXJ5ZW5TdG9yZVNldEF0b21pYwBCaW5hcnllbkxvYWRTZXRBdG9taWMAQmluYXJ5ZW5TdG9yZUlzQXRvbWljAEJpbmFyeWVuTG9hZElzQXRvbWljAHB1YmxpYwBnYwBwdHIgJiYgdmVjAChyZWMAaW1wb3J0IG1vZHVsZSBpbnNpZGUgZnVuY3Rpb24gZGVjAEJpbmFyeWVuU0lNRFNoaWZ0U2V0VmVjAEJpbmFyeWVuU0lNREV4dHJhY3RTZXRWZWMAQmluYXJ5ZW5TSU1ETG9hZFN0b3JlTGFuZVNldFZlYwBCaW5hcnllblNJTURSZXBsYWNlU2V0VmVjAEJpbmFyeWVuU0lNRFNoaWZ0R2V0VmVjAEJpbmFyeWVuU0lNREV4dHJhY3RHZXRWZWMAQmluYXJ5ZW5TSU1ETG9hZFN0b3JlTGFuZUdldFZlYwBCaW5hcnllblNJTURSZXBsYWNlR2V0VmVjAERlYwBhICYmIGIgJiYgYwB3YgBpNjQuYXRvbWljLnJtdy5zdWIAaTMyLmF0b21pYy5ybXcuc3ViAGkxNng4LnN1YgBpOHgxNi5zdWIAaTMyeDQuc3ViAGYzMng0LnN1YgBpNjQuc3ViAGY2NC5zdWIAaTY0eDIuc3ViAGY2NHgyLnN1YgBpMzIuc3ViAGYzMi5zdWIAcmIAYXJyYXkgb29iAEZlYgBhYgB3K2IAcitiAGErYgByd2EAcGFnZV9kZWx0YQBCaW5hcnllbk1lbW9yeUdyb3dTZXREZWx0YQBCaW5hcnllblRhYmxlR3Jvd1NldERlbHRhAEJpbmFyeWVuTWVtb3J5R3Jvd0dldERlbHRhAEJpbmFyeWVuVGFibGVHcm93R2V0RGVsdGEAX19hc3luY2lmeV9kYXRhAG91dCBvZiBib3VuZHMgc2VnbWVudCBhY2Nlc3MgaW4gYXJyYXkubmV3X2RhdGEAb3V0IG9mIGJvdW5kcyBzZWdtZW50IGFjY2VzcyBpbiBhcnJheS5pbml0X2RhdGEAY29tYmluZXMgbXVsdGlwbGUgbWVtb3JpZXMgaW50byBhIHNpbmdsZSBtZW1vcnksIHRyYXBwaW5nIGlmIHRoZSByZWFkIG9yIHdyaXRlIGlzIGxhcmdlciB0aGFuIHRoZSBsZW5ndGggb2YgdGhlIG1lbW9yeSdzIGRhdGEAVE9ETzogZ2MgZGF0YQBBcnJheU5ld0RhdGEAQXJyYXlJbml0RGF0YQB3cml0ZVRvRGF0YQByZWFkRnJvbURhdGEAZ2V0R0NEYXRhAHR5cGUtc3NhAGYzMng0LnJlbGF4ZWRfZm1hAGY2NHgyLnJlbGF4ZWRfZm1hAGd1ZmEARnVuY3Rpb24gYABfX2VtX2xpYl9kZXBzXwBhc3luY2lmeV9mYWtlX2NhbGxfZ2xvYmFsXwBtYXNrXwB3YXNpXwAuZGVidWdfAHR5cGVfAHRoaXMtPm1vZHVsZS0+Z2V0R2xvYmFsKGN1cnItPm5hbWUpLT5tdXRhYmxlXwBpbnZva2VfAF9fZW1fanNfXwBVXwBTQUZFX0hFQVBfU1RPUkVfAFNBRkVfSEVBUF9MT0FEXwBfPG9uY2U+XwBeAG11bHRpcGxlIG1lbW9yaWVzIHJlcXVpcmUgbXVsdGltZW1vcnkgWy0tZW5hYmxlLW11bHRpbWVtb3J5XQB0YWJsZS5jb3B5IHJlcXVpcmVzIGJ1bGstbWVtb3J5IFstLWVuYWJsZS1idWxrLW1lbW9yeV0AdGFibGUuZmlsbCByZXF1aXJlcyBidWxrLW1lbW9yeSBbLS1lbmFibGUtYnVsay1tZW1vcnldAEJ1bGsgbWVtb3J5IG9wZXJhdGlvbnMgcmVxdWlyZSBidWxrIG1lbW9yeSBbLS1lbmFibGUtYnVsay1tZW1vcnldAG5vbnplcm8gc2VnbWVudCBmbGFncyByZXF1aXJlIGJ1bGsgbWVtb3J5IFstLWVuYWJsZS1idWxrLW1lbW9yeV0Ac2VsZi0+bG9jYWxzU2V0W2luZGV4XQBbcmVtb3ZhYmxlLWJ5dGVzLXdpdGhvdXQtaXRdAFtleHBvcnRzXQBbaW1wb3J0c10AW3ZhcnNdAHJlc3VtZSByZXF1aXJlcyB0eXBlZC1jb250aW51YXRvbnMgWy0tZW5hYmxlLXR5cGVkLWNvbnRpbnVhdGlvbnNdAFRhZ3Mgd2l0aCByZXN1bHQgdHlwZXMgcmVxdWlyZSB0eXBlZCBjb250aW51YXRpb25zIGZlYXR1cmUgWy0tZW5hYmxlLXR5cGVkLWNvbnRpbnVhdGlvbnNdAFtnbG9iYWxzXQBFeHBvcnRlZCBtdXRhYmxlIGdsb2JhbCByZXF1aXJlcyBtdXRhYmxlLWdsb2JhbHMgWy0tZW5hYmxlLW11dGFibGUtZ2xvYmFsc10ASW1wb3J0ZWQgbXV0YWJsZSBnbG9iYWwgcmVxdWlyZXMgbXV0YWJsZS1nbG9iYWxzIFstLWVuYWJsZS1tdXRhYmxlLWdsb2JhbHNdAHN0cmluZyBvcGVyYXRpb25zIHJlcXVpcmUgcmVmZXJlbmNlLXR5cGVzIFstLWVuYWJsZS1zdHJpbmdzXQBbdGFnc10AW2JpbmFyeS1ieXRlc10AcmVmLmlzX251bGwgcmVxdWlyZXMgcmVmZXJlbmNlLXR5cGVzIFstLWVuYWJsZS1yZWZlcmVuY2UtdHlwZXNdAHJlZi5udWxsIHJlcXVpcmVzIHJlZmVyZW5jZS10eXBlcyBbLS1lbmFibGUtcmVmZXJlbmNlLXR5cGVzXQByZWYuZnVuYyByZXF1aXJlcyByZWZlcmVuY2UtdHlwZXMgWy0tZW5hYmxlLXJlZmVyZW5jZS10eXBlc10AdGFibGUuZ3JvdyByZXF1aXJlcyByZWZlcmVuY2UgdHlwZXMgWy0tZW5hYmxlLXJlZmVyZW5jZS10eXBlc10AdGFibGUuc2V0IHJlcXVpcmVzIHJlZmVyZW5jZSB0eXBlcyBbLS1lbmFibGUtcmVmZXJlbmNlLXR5cGVzXQB0YWJsZS5nZXQgcmVxdWlyZXMgcmVmZXJlbmNlIHR5cGVzIFstLWVuYWJsZS1yZWZlcmVuY2UtdHlwZXNdAHRhYmxlLnNpemUgcmVxdWlyZXMgcmVmZXJlbmNlIHR5cGVzIFstLWVuYWJsZS1yZWZlcmVuY2UtdHlwZXNdAFt0YWJsZXNdAFttZW1vcmllc10Ac2hhcmVkIG1lbW9yeSByZXF1aXJlcyB0aHJlYWRzIFstLWVuYWJsZS10aHJlYWRzXQBBdG9taWMgb3BlcmF0aW9ucyByZXF1aXJlIHRocmVhZHMgWy0tZW5hYmxlLXRocmVhZHNdAFtmdW5jc10AcmV0dXJuX2NhbGwqIHJlcXVpcmVzIHRhaWwgY2FsbHMgWy0tZW5hYmxlLXRhaWwtY2FsbF0AW3RvdGFsXQB2YWxpZFVzZXNbaV0gPD0gdXNlc1tpXQBjdXJyVmFsdWVzW2ldID49IGN1cnItPmNvbnRlbnRzLmVuZFtpXQB0cnkgcmVxdWlyZXMgZXhjZXB0aW9uLWhhbmRsaW5nIFstLWVuYWJsZS1leGNlcHRpb24taGFuZGxpbmddAHJldGhyb3cgcmVxdWlyZXMgZXhjZXB0aW9uLWhhbmRsaW5nIFstLWVuYWJsZS1leGNlcHRpb24taGFuZGxpbmddAHRyeV90YWJsZSByZXF1aXJlcyBleGNlcHRpb24taGFuZGxpbmcgWy0tZW5hYmxlLWV4Y2VwdGlvbi1oYW5kbGluZ10AVGFncyByZXF1aXJlIGV4Y2VwdGlvbi1oYW5kbGluZyBbLS1lbmFibGUtZXhjZXB0aW9uLWhhbmRsaW5nXQBJbXBvcnRlZCBtdWx0aXZhbHVlIGZ1bmN0aW9uIHJlcXVpcmVzIG11bHRpdmFsdWUgWy0tZW5hYmxlLW11bHRpdmFsdWVdAE11bHRpdmFsdWUgdGFnIHR5cGUgcmVxdWlyZXMgbXVsdGl2YWx1ZSBbLS1lbmFibGUtbXVsdGl2YWx1ZV0ATXVsdGl2YWx1ZSBibG9jayB0eXBlIHJlcXVpcmUgbXVsdGl2YWx1ZSBbLS1lbmFibGUtbXVsdGl2YWx1ZV0AU0lNRCBvcGVyYXRpb25zIHJlcXVpcmUgU0lNRCBbLS1lbmFibGUtc2ltZF0AIFtwb2x5bW9ycGhpY10AYXJyYXkubmV3X3tkYXRhLCBlbGVtfSByZXF1aXJlcyBnYyBbLS1lbmFibGUtZ2NdAGFycmF5LmNvcHkgcmVxdWlyZXMgZ2MgWy0tZW5hYmxlLWdjXQBhcnJheS5uZXcgcmVxdWlyZXMgZ2MgWy0tZW5hYmxlLWdjXQBzdHJ1Y3QubmV3IHJlcXVpcmVzIGdjIFstLWVuYWJsZS1nY10AaTMxLmdldF9zL3UgcmVxdWlyZXMgZ2MgWy0tZW5hYmxlLWdjXQByZWYudGVzdCByZXF1aXJlcyBnYyBbLS1lbmFibGUtZ2NdAGJyX29uX2Nhc3QgcmVxdWlyZXMgZ2MgWy0tZW5hYmxlLWdjXQByZWYuY2FzdCByZXF1aXJlcyBnYyBbLS1lbmFibGUtZ2NdAGFycmF5LmluaXQgcmVxdWlyZXMgZ2MgWy0tZW5hYmxlLWdjXQBhcnJheS5zZXQgcmVxdWlyZXMgZ2MgWy0tZW5hYmxlLWdjXQBzdHJ1Y3Quc2V0IHJlcXVpcmVzIGdjIFstLWVuYWJsZS1nY10AYXJyYXkuZ2V0IHJlcXVpcmVzIGdjIFstLWVuYWJsZS1nY10Ac3RydWN0LmdldCByZXF1aXJlcyBnYyBbLS1lbmFibGUtZ2NdAHJlZi5lcSByZXF1aXJlcyBnYyBbLS1lbmFibGUtZ2NdAGFycmF5LmxlbiByZXF1aXJlcyBnYyBbLS1lbmFibGUtZ2NdAGFycmF5LmZpbGwgcmVxdWlyZXMgZ2MgWy0tZW5hYmxlLWdjXQBjYWxsX3JlZiByZXF1aXJlcyBnYyBbLS1lbmFibGUtZ2NdAHJlZi5pMzEgcmVxdWlyZXMgZ2MgWy0tZW5hYmxlLWdjXQBhcnJheS5pbml0XyogcmVxdWlyZXMgZ2MgWy0tZW5hYmxlLWdjXQBleHRlcm4uZXh0ZXJuYWxpemUgcmVxdXJpZXMgR0MgWy0tZW5hYmxlLWdjXQBleHRlcm4uaW50ZXJuYWxpemUgcmVxdXJpZXMgR0MgWy0tZW5hYmxlLWdjXQBbbWVtb3J5LWRhdGFdAFt0YWJsZS1kYXRhXQBvcGVyYXRvcltdADY0LWJpdCBtZW1vcmllcyByZXF1aXJlIG1lbW9yeTY0IFstLWVuYWJsZS1tZW1vcnk2NF0AZnJlZXNbVHlwZTo6ZjY0XS5zaXplKCkgPT0gdGVtcHNbVHlwZTo6ZjY0XQBmcmVlc1tUeXBlOjppMzJdLnNpemUoKSA9PSB0ZW1wc1tUeXBlOjppMzJdAGZyZWVzW1R5cGU6OmYzMl0uc2l6ZSgpID09IHRlbXBzW1R5cGU6OmYzMl0AWy4uXQAnXQBcXABtZW1vcnlTZWdtZW50c1sAeyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbAEJJTkFSWUVOX0RFQlVHX1NPVVBFUklGWQBhcnJheVswXSA9PSBBUlJBWQAlYSAlYiAlZCAlSDolTTolUyAlWQBQT1NJWABjaGlsZFswXSA9PSBVTkFSWV9QUkVGSVgARXh0cmFjdEZ1bmN0aW9uSW5kZXggdXNhZ2U6IHdhc20tb3B0IC0tZXh0cmFjdC1mdW5jdGlvbi1pbmRleD1GVU5DVElPTl9JTkRFWABTVEFDS19NQVgAIWZsb3cuYnJlYWtpbmcoKSB8fCBmbG93LmJyZWFrVG8gPT0gUkVUVVJOX0ZMT1cAQXRvbWljUk1XAHJlc3VsdCAhPSBOT19SRVNVTFQAcG9zc2libGUgIT0gRVhQUkVTU0lPTl9SRVNVTFQAQklOQVJZRU5fU09VUEVSSUZZX1RPVEFMX0xJTUlUAEJJTkFSWUVOX1NPVVBFUklGWV9ERVBUSF9MSU1JVABhcnJheVswXSA9PSBPQkpFQ1QAaTY0dG9pMzJfaTMyJEhJR0hfQklUUwAlSDolTTolUwAhZnVuYy0+c3RhY2tJUgBwcmludFN0YWNrSVIAVHJhbmZvcm0gQmluYXJ5ZW4gSVIgaW50byBQb3BweSBJUgBPbmx5IGNvbnRyb2wgZmxvdyBzdHJ1Y3R1cmVzIGFuZCB1bnJlYWNoYWJsZSBwb2x5bW9ycGhpYyBpbnN0cnVjdGlvbnMgbWF5IGJlIHVucmVhY2hhYmxlIGluIFBvcHB5IElSAG9wdGltaXplIFN0YWNrIElSAGdlbmVyYXRlIFN0YWNrIElSAG9wdGltaXplcyB1c2luZyB0aGUgRGF0YUZsb3cgU1NBIElSAFNlcGFyYXRlRGF0YVNlZ21lbnRzIHVzYWdlOiB3YXNtLW9wdCAtLXBhc3MtYXJnPXNlcGFyYXRlLWRhdGEtc2VnbWVudHMtZ2xvYmFsLWJhc2VATlVNQkVSAHZhclswXSA9PSBWQVIAdW5leHBlY3RlZCBFT0YgaW4gdGhlIG1pZGRsZSBvZiBWTFEAU1RBQ0tUT1AAVE9ETwAtTmFOAGZ1bmNbMF0gPT0gREVGVU4ATkFOAHRoaXMtPnVzZWQgPD0gTgBqIDwgTgBpIDwgTgBQTQBBTQBzb3VyY2VNYXBwaW5nVVJMAEJJTkFSWUVOX1BSSU5UX0ZVTEwATENfQUxMAGNhbGxbMF0gPT0gQ0FMTABibG9ja1swXSA9PSBCTE9DSwBjb2RlWzBdID09IEJMT0NLAGdlbmVyYXRlIGR5bkNhbGwgZnVjdGlvbnMgdXNlZCBieSBlbXNjcmlwdGVuIEFCSQBzd2l0Y2hfWzBdID09IFNXSVRDSABCSU5BUllFTl9QQVNTX0RFQlVHAExBTkcAU3RyaW5nU2xpY2VXVEYASU5GAG5vZGUtPmlzQXJyYXkoKSAmJiBub2RlWzBdID09IElGAHNpemUgPD0gbnVtQ2h1bmtzICogQ0hVTktfU0laRQBFeHRyYWN0RnVuY3Rpb24gdXNhZ2U6ICB3YXNtLW9wdCAtLWV4dHJhY3QtZnVuY3Rpb249RlVOQ1RJT05fTkFNRQBTZXBhcmF0ZURhdGFTZWdtZW50cyB1c2FnZTogd2FzbS1vcHQgLS1zZXBhcmF0ZS1kYXRhLXNlZ21lbnRzQEZJTEVOQU1FAEZVTkNUSU9OX1RBQkxFAD1XSUxEQ0FSRABCaW5hcnllblNJTURUZXJuYXJ5U2V0QwBCaW5hcnllblNJTURUZXJuYXJ5R2V0QwBpbnZhbGlkIHR5cGUgd2l0aG91dCBHQwBiYWQgdHlwZSB3aXRob3V0IEdDAEJpbmFyeWVuU0lNRFRlcm5hcnlTZXRCAEJpbmFyeWVuU0lNRFRlcm5hcnlHZXRCAGlubGluaW5nTW9kZSA9PSBJbmxpbmluZ01vZGU6OlNwbGl0UGF0dGVybkEgfHwgaW5saW5pbmdNb2RlID09IElubGluaW5nTW9kZTo6U3BsaXRQYXR0ZXJuQgB0b3RhbCBtZW1vcnkgbXVzdCBiZSA8PSA0R0IAaW5pdGlhbCBtZW1vcnkgbXVzdCBiZSA8PSA0R0IATEVCIGRyb3BwZWQgYml0cyBvbmx5IHZhbGlkIGZvciBzaWduZWQgTEVCAGlubGluZWFibGUtQgBvdXRsaW5lZC1CAEJpbmFyeWVuU0lNRFRlcm5hcnlTZXRBAEJpbmFyeWVuU0lNRFRlcm5hcnlHZXRBAGlubGluZWFibGUtQQBvdXRsaW5lZC1BACRjbGFzcy1pbml0aWFsaXplZEAARnVuY0Nhc3RFbXVsYXRpb246Om1ha2VUaHVuayBzZWVtcyBhIHRodW5rIG5hbWUgYWxyZWFkeSBpbiB1c2UuIFdhcyB0aGUgcGFzcyBhbHJlYWR5IHJ1biBvbiB0aGlzIGNvZGU/ADw8ID4+ID4+PgAgb2Zmc2V0PQAgYWxpZ249ADwgPD0gPiA+PQBvcGVyYXRvcj09ADw9AG9wZXJhdG9yKz0APT0gIT0Ab3BlcmF0b3I8PAAKICAgIHJldHVybiB1aW50OEFycmF5OwBkZWZhdWx0OgBHZW5lcmF0ZUR5bkNhbGxzOiBDYW5ub3Qgb3BlcmF0ZSBvbiBtdWx0aXBsZSByZXR1cm4gdmFsdWVzOgBNb2R1bGU6OgA/IDoAYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWl8kMDEyMzQ1Njc4OQBTSU1EX0ludDE2eDgAaTE2eDgAaTgAc3RyaW5nLm5ld193dGY4AHN0cmluZ3ZpZXdfd3RmOABzdHJpbmcuYXNfd3RmOABzdHJpbmcubWVhc3VyZV93dGY4AHN0cmluZy5lbmNvZGVfd3RmOABzdHJpbmcubmV3X2xvc3N5X3V0ZjgAc3RyaW5nLmVuY29kZV9sb3NzeV91dGY4AHN0cmluZy5uZXdfdXRmOABzdHJpbmcubWVhc3VyZV91dGY4AHN0cmluZy5lbmNvZGVfdXRmOABpNjQuYXRvbWljLnN0b3JlOABpMzIuYXRvbWljLnN0b3JlOABpNjQuc3RvcmU4AGkzMi5zdG9yZTgASEVBUFU4AG5ld0hFQVA4AGdldHYxMjgAc2V0X3YxMjgAZ2V0X3YxMjgAdmFsLnR5cGUgPT0gVHlwZTo6djEyOABleHBlY3RlZCBvcGVyYW5kIG9mIHR5cGUgdjEyOABTSU1EIHRlcm5hcnkgbXVzdCBoYXZlIHR5cGUgdjEyOABsb2FkWF9sYW5lIG9yIHN0b3JlWF9sYW5lIHZlY3RvciBhcmd1bWVudCBtdXN0IGhhdmUgdHlwZSB2MTI4AHZlY3RvciBzaGlmdCBtdXN0IGhhdmUgdHlwZSB2MTI4AGxvYWRfc3BsYXQgbXVzdCBoYXZlIHR5cGUgdjEyOAByZXBsYWNlX2xhbmUgbXVzdCBoYXZlIHR5cGUgdjEyOABsb2FkWF9sYW5lIG11c3QgaGF2ZSB0eXBlIHYxMjgAaTh4MTYuc2h1ZmZsZSBtdXN0IGhhdmUgdHlwZSB2MTI4AGV4dHJhY3RfbGFuZSBtdXN0IG9wZXJhdGUgb24gYSB2MTI4AHJlcGxhY2VfbGFuZSBtdXN0IG9wZXJhdGUgb24gYSB2MTI4AHN0b3JlMTI4AHNpbWQxMjgAbG9hZDEyOABCaW5hcnllbkNvbnN0U2V0VmFsdWVWMTI4AEJpbmFyeWVuQ29uc3RHZXRWYWx1ZVYxMjgAQy5VVEYtOABieXRlcyA9PSA4AFNJTURfSW50OHgxNgBpOHgxNgBzaHVmZmxlVjh4MTYAaTE2AHN0cmluZy5uZXdfd3RmMTYAc3RyaW5ndmlld193dGYxNgBzdHJpbmcuYXNfd3RmMTYAc3RyaW5nLm1lYXN1cmVfd3RmMTYAc3RyaW5nLmVuY29kZV93dGYxNgBpNjQuYXRvbWljLnN0b3JlMTYAaTMyLmF0b21pYy5zdG9yZTE2AGk2NC5zdG9yZTE2AGkzMi5zdG9yZTE2AEhFQVBVMTYASEVBUDE2AGN1cnItPmluZGV4IDwgMTYAU0lNRF9JbnQzMng0AFNJTURfRmxvYXQzMng0AGkzMng0AGY2NHgyLnByb21vdGVfbG93X2YzMng0AF9fX3VkaXZtb2RkaTQAbWVtb3J5NjQAZjY0LXRvLXVpbnQ2NABmMzItdG8tdWludDY0AGY2NC10by1pbnQ2NABmMzItdG8taW50NjQAbWVtb3J5LmF0b21pYy53YWl0NjQAd3JhcEFkZHJlc3M2NABleHRlbmRBZGRyZXNzNjQAZGVOYW42NAByZWludGVycHJldGk2NABnZXRpNjQAX193YXNtX2N0el9pNjQAX193YXNtX2Nsel9pNjQAd2FzbTJqc19hdG9taWNfcm13X2k2NABfX3dhc21fcG9wY250X2k2NABzZXRfaTY0AGY2NC5yZWludGVycHJldF9pNjQAZ2V0X2k2NABfX3dhc21fcm90cl9pNjQAaTMyLndyYXBfaTY0AF9fd2FzbV9yb3RsX2k2NABhcnJheV9zZXRfdmFsX2k2NABzdHJ1Y3Rfc2V0X3ZhbF9pNjQAYXJyYXlfZ2V0X3ZhbF9pNjQAc3RydWN0X2dldF92YWxfaTY0AHN0b3JlX3ZhbF9pNjQAbG9hZF92YWxfaTY0AHB0ci0+dHlwZSA9PSBUeXBlOjppNjQAdmFsdWUtPnR5cGUgPT0gVHlwZTo6aTY0AGMtPnZhbHVlLnR5cGUgPT0gVHlwZTo6aTY0AHR5cGUgPT0gVHlwZTo6aTMyIHx8IHR5cGUgPT0gVHlwZTo6aTY0AEF0b21pYyBzdG9yZSBzaG91bGQgYmUgaTMyIG9yIGk2NABBdG9taWMgbG9hZCBzaG91bGQgYmUgaTMyIG9yIGk2NABpNjQuZXF6IGlucHV0IG11c3QgYmUgaTY0AEF0b21pY1dhaXQgdGltZW91dCB0eXBlIG11c3QgYmUgaTY0AHNlZ21lbnQgb2Zmc2V0IHNob3VsZCBiZSBpNjQAZ2V0ZjY0AF9fd2FzbV9uZWFyZXN0X2Y2NABzZXRfZjY0AGk2NC5yZWludGVycHJldF9mNjQAZ2V0X2Y2NABhcnJheV9zZXRfdmFsX2Y2NABzdHJ1Y3Rfc2V0X3ZhbF9mNjQAYXJyYXlfZ2V0X3ZhbF9mNjQAc3RydWN0X2dldF92YWxfZjY0AHN0b3JlX3ZhbF9mNjQAbG9hZF92YWxfZjY0AGYzMi5kZW1vdGVfZjY0AHdhc20yanNfc2NyYXRjaF9zdG9yZV9mNjQAd2FzbTJqc19zY3JhdGNoX2xvYWRfZjY0AGhhc091dFBhcmFtKGN1cnItPnZhbHVlKSB8fCBjdXJyLT50eXBlID09IFR5cGU6Omk2NCB8fCBjdXJyLT50eXBlID09IFR5cGU6OmY2NABleHByLT50eXBlID09IFR5cGU6OmY2NABzdG9yZTY0AGNhc3RUb0k2NABCaW5hcnllbkNvbnN0U2V0VmFsdWVJNjQAQmluYXJ5ZW5Db25zdEdldFZhbHVlSTY0AGV4dGVuZFRvVUk2NABleHRlbmRUb1NJNjQAY2FzdFRvRjY0AGV4dGVuZFRvRjY0AEJpbmFyeWVuQ29uc3RTZXRWYWx1ZUY2NABCaW5hcnllbkNvbnN0R2V0VmFsdWVGNjQASEVBUEY2NABBbGlnbiBvZiBtZW1vcnkuYXRvbWljLm5vdGlmeSBtdXN0IGJlIDQAYnl0ZXMgPT0gNABTSU1EX0Zsb2F0NjR4MgBpNjR4MgBmNjR4MgBkb0MyU3ViQzEgfHwgZG9DMVN1YkMyAE1hdGhfY2x6MzIAYmluYXJ5LT5vcCA9PSBBbmRJbnQzMiB8fCBiaW5hcnktPm9wID09IE9ySW50MzIAY3Vyci0+b3AgPT0gT3JJbnQzMgBjdXJyLT5vcCA9PSBBbmRJbnQzMgB1bmFyeS0+b3AgPT0gRXFaSW50MzIAbWVtb3J5LmF0b21pYy53YWl0MzIAZGVOYW4zMgByZWludGVycHJldGkzMgBnZXRpMzIAX2xsdm1fY3R0el9pMzIAX193YXNtX2N0el9pMzIAX193YXNtX2Nsel9pMzIAX193YXNtX3BvcGNudF9pMzIAd2FzbTJqc19hdG9taWNfd2FpdF9pMzIAc2V0X2kzMgBmMzIucmVpbnRlcnByZXRfaTMyAGdldF9pMzIAX193YXNtX3JvdHJfaTMyAF9fd2FzbV9yb3RsX2kzMgBhcnJheV9zZXRfdmFsX2kzMgBzdHJ1Y3Rfc2V0X3ZhbF9pMzIAYXJyYXlfZ2V0X3ZhbF9pMzIAc3RydWN0X2dldF92YWxfaTMyAHN0b3JlX3ZhbF9pMzIAbG9hZF92YWxfaTMyAHdhc20yanNfc2NyYXRjaF9zdG9yZV9pMzIAd2FzbTJqc19zY3JhdGNoX2xvYWRfaTMyAGN1cnItPnR5cGUgPT0gVHlwZTo6aTMyAGN1cnItPnZhbHVlLT50eXBlID09IFR5cGU6OmkzMgBzaGlmdC50eXBlID09IFR5cGU6OmkzMgBhcnJheS5jb3B5IGRlc3QgaW5kZXggbXVzdCBiZSBhbiBpMzIAYXJyYXkuc2V0IGluZGV4IG11c3QgYmUgYW4gaTMyAHRhYmxlLnNldCBpbmRleCBtdXN0IGJlIGFuIGkzMgBhcnJheS5nZXQgaW5kZXggbXVzdCBiZSBhbiBpMzIAdGFibGUuZ2V0IGluZGV4IG11c3QgYmUgYW4gaTMyAGFycmF5LmZpbGwgaW5kZXggbXVzdCBiZSBhbiBpMzIAYXJyYXkuY29weSBzcmMgaW5kZXggbXVzdCBiZSBhbiBpMzIAYXJyYXkuaW5pdF8qIGluZGV4IG11c3QgYmUgYW4gaTMyAGFycmF5LmxlbiByZXN1bHQgbXVzdCBiZSBhbiBpMzIAYXJyYXkubmV3X3tkYXRhLCBlbGVtfSBvZmZzZXQgbXVzdCBiZSBhbiBpMzIAbWVtb3J5LmluaXQgb2Zmc2V0IG11c3QgYmUgYW4gaTMyAGFycmF5LmluaXRfKiBvZmZzZXQgbXVzdCBiZSBhbiBpMzIAaW5kaXJlY3QgY2FsbCB0YXJnZXQgbXVzdCBiZSBhbiBpMzIAYXJyYXkubmV3X3tkYXRhLCBlbGVtfSBzaXplIG11c3QgYmUgYW4gaTMyAGFycmF5Lm5ldyBzaXplIG11c3QgYmUgYW4gaTMyAG1lbW9yeS5pbml0IHNpemUgbXVzdCBiZSBhbiBpMzIAYXJyYXkuZmlsbCBzaXplIG11c3QgYmUgYW4gaTMyAGFycmF5LmluaXRfKiBzaXplIG11c3QgYmUgYW4gaTMyAG1lbW9yeS5maWxsIHZhbHVlIG11c3QgYmUgYW4gaTMyAEF0b21pY05vdGlmeSBtdXN0IGhhdmUgdHlwZSBpMzIAQXRvbWljV2FpdCBtdXN0IGhhdmUgdHlwZSBpMzIAZXhwZWN0ZWQgc2hpZnQgYW1vdW50IHRvIGhhdmUgdHlwZSBpMzIAaTMyLmVxeiBpbnB1dCBtdXN0IGJlIGkzMgB0YWJsZS5jb3B5IGRlc3QgbXVzdCBiZSBpMzIAdGFibGUuZmlsbCBkZXN0IG11c3QgYmUgaTMyAGJyZWFrIGNvbmRpdGlvbiBtdXN0IGJlIGkzMgBicl90YWJsZSBjb25kaXRpb24gbXVzdCBiZSBpMzIAdGFibGUuY29weSBzaXplIG11c3QgYmUgaTMyAHRhYmxlLmZpbGwgc2l6ZSBtdXN0IGJlIGkzMgBBdG9taWNOb3RpZnkgbm90aWZ5Q291bnQgdHlwZSBtdXN0IGJlIGkzMgB0YWJsZS5jb3B5IHNvdXJjZSBtdXN0IGJlIGkzMgByZWYuaTMxJ3MgYXJndW1lbnQgc2hvdWxkIGJlIGkzMgBlbGVtZW50IHNlZ21lbnQgb2Zmc2V0IHNob3VsZCBiZSBpMzIAZ2V0ZjMyAF9fd2FzbV9uZWFyZXN0X2YzMgBzZXRfZjMyAGkzMi5yZWludGVycHJldF9mMzIAZ2V0X2YzMgBhcnJheV9zZXRfdmFsX2YzMgBzdHJ1Y3Rfc2V0X3ZhbF9mMzIAYXJyYXlfZ2V0X3ZhbF9mMzIAc3RydWN0X2dldF92YWxfZjMyAHN0b3JlX3ZhbF9mMzIAbG9hZF92YWxfZjMyAGY2NC5wcm9tb3RlX2YzMgB3YXNtMmpzX3NjcmF0Y2hfc3RvcmVfZjMyAHdhc20yanNfc2NyYXRjaF9sb2FkX2YzMgB0eXBlID09IFR5cGU6OmYzMgBfX21lbW9yeV9iYXNlMzIAaTY0LmF0b21pYy5zdG9yZTMyAGk2NC5zdG9yZTMyAEhFQVBVMzIASEVBUDMyAGNhc3RUb0kzMgB3cmFwVG9JMzIAQmluYXJ5ZW5Db25zdFNldFZhbHVlSTMyAEJpbmFyeWVuQ29uc3RHZXRWYWx1ZUkzMgBsb3dlclN0b3JlSTMyAGxvd2VyTG9hZEkzMgBjYXN0VG9GMzIAQmluYXJ5ZW5Db25zdFNldFZhbHVlRjMyAEJpbmFyeWVuQ29uc3RHZXRWYWx1ZUYzMgBIRUFQRjMyAGxpc3Quc2l6ZSgpID49IDIAZnVuY3Rpb25zLnNpemUoKSA+PSAyAHN0YWNrLnNpemUoKSA+PSAyAGV4cHJlc3Npb25TdGFjay5zaXplKCkgPj0gMgB2YWx1ZXMuc2l6ZSgpID09IDIAdmFsdWVzLnNpemUoKSA8PSAyACAxOmkxAGdldGkzMQBnY0RhdGEtPnZhbHVlc1swXS50eXBlLmdldEhlYXBUeXBlKCkgPT0gSGVhcFR5cGU6OmkzMQByZWYuaTMxAFRPRE86IGkzMQBCaW5hcnllbkkzMUdldFNldEkzMQBCaW5hcnllbkkzMUdldEdldEkzMQBSZWZJMzEAZm9yY2VzIGFsbCBsb2FkcyBhbmQgc3RvcmVzIHRvIGhhdmUgYWxpZ25tZW50IDEAR2xvYmFsIG11dGFiaWxpdHkgbXVzdCBiZSAwIG9yIDEAcmV0ID49IDEAc2l6ZSA+PSAxACgqbnVtTG9jYWxHZXRzKVtjdXJyLT5pbmRleF0gPj0gMQBzZXRzLmxpc3Quc2l6ZSgpID09IDEAcmVzdWx0cy5zaXplKCkgPT0gMQBwb3BzLnNpemUoKSA9PSAxAHZhbHVlcy5zaXplKCkgPT0gMQByYW5nZXMuc2l6ZSgpID09IDEAY3Vyci0+dHlwZS5zaXplKCkgPT0gMQBzZXRzLnNpemUoKSA8PSAxAG5ld0luZGV4ID09IGxhc3ROZXdJbmRleCArIDEAdHlwZXMuc2l6ZSgpID09IG51bSArIDEAc2V0VGVtcFJldDAAZ2V0VGVtcFJldDAAZjAAbnVtIDwgMTAwMAAuMAAtMABpNjQuZGl2X3UgYnkgMABpMzIuZGl2X3UgYnkgMABpNjQucmVtX3UgYnkgMABpMzIucmVtX3UgYnkgMABpNjQuZGl2X3MgYnkgMABpMzIuZGl2X3MgYnkgMABpNjQucmVtX3MgYnkgMABpMzIucmVtX3MgYnkgMABDdXJyZW50bHkgb25seSBzZXF1ZW50aWFsbHkgY29uc2lzdGVudCBhdG9taWNzIGFyZSBzdXBwb3J0ZWQsIHNvIEF0b21pY0ZlbmNlJ3Mgb3JkZXIgc2hvdWxkIGJlIDAAaW5kZW50ID4gMABjaGlsZE9yaWdpbmFsUmVxdWVzdHMgPiAwAHVzZWRFbGVtZW50cyA+IDAATWF4SWZzID4gMABudW0gPiAwAGkgPiAwAHVzZWRGaXhlZCA+IDAAbnVtU2V0c0ZvckluZGV4W3NldC0+aW5kZXhdID4gMABOdW1QcmVkZWNlc3NvcnNbTmV4dEJsb2NrXSA+IDAAY291bnRzLT5jb3VudChjdXJyLT50YXJnZXQpID4gMABpbmZvcy5jb3VudChjdXJyLT50YXJnZXQpID4gMABjb3VudHMuY291bnQoY3Vyci0+bmFtZSkgPiAwAHN0YXRlLT5hY3Rpb25zRm9yRnVuY3Rpb24uY291bnQoZ2V0RnVuY3Rpb24oKS0+bmFtZSkgPiAwAGluZm9zLmNvdW50KGN1cnItPmZ1bmMpID4gMABkb1dvcmtlcnMuc2l6ZSgpID4gMABpdGVtcy5zaXplKCkgPiAwAElubmVyQmxvY2tzLnNpemUoKSA+IDAAdmFsdWVzLnNpemUoKSA+IDAATG9vcC0+RW50cmllcy5zaXplKCkgPiAwACFjdXJyTW9kdWxlIHx8IGN1cnJNb2R1bGUtPm1lbW9yaWVzLnNpemUoKSA+IDAAb3BlcmFuZHMuc2l6ZSgpID4gMABmdW5jcy5zaXplKCkgPiAwAHNlbGYtPmlmU3RhY2suc2l6ZSgpID4gMABpbmZvLm51bUJyZWFrcyA+PSAwAGQgPj0gMABpbmRleCA9PSAwAGJpbmFyeUxvY2F0aW9uc1NpemVBdFNlY3Rpb25TdGFydCA9PSAwAHBvcyA9PSAwAGRlcHRoID09IDAAdHJ5RGVwdGggPT0gMABjb250cm9sRmxvd0RlcHRoID09IDAAc2l6ZSAlIFNUQUNLX0FMSUdOID09IDAAc2VsZi0+c2lua2FibGVzLmNvdW50KGluZGV4KSA9PSAwAHVuY2FsbGVkUmVmRnVuY01hcC5jb3VudCh0eXBlKSA9PSAwAGNhbGxlZFNpZ25hdHVyZXMuY291bnQoc3ViVHlwZSkgPT0gMABicmFuY2hlcy5zaXplKCkgPT0gMABzdGFjay5zaXplKCkgPT0gMAB0cnlTdGFjay5zaXplKCkgPT0gMAB0aHJvd2luZ0luc3RzU3RhY2suc2l6ZSgpID09IDAAdW53aW5kRXhwclN0YWNrLnNpemUoKSA9PSAwAGxvb3BTdGFjay5zaXplKCkgPT0gMABwcm9jZXNzQ2F0Y2hTdGFjay5zaXplKCkgPT0gMABpZlN0YWNrLnNpemUoKSA9PSAwAGNvbmQgIT0gMABBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvAGFycmF5LgBpbnZhbGlkIGV4cG9ydCBpbmRleC4AaW52YWxpZCBmdW5jdGlvbiBpbmRleC4AaW52YWxpZCBnbG9iYWwgaW5kZXguAGludmFsaWQgdGFibGUgaW5kZXguAEl0IG1ha2VzIG5vIHNlbnNlIHRvIHVzZSBib3RoIGFuIGFzeW5jaWZ5IG9ubHktbGlzdCB0b2dldGhlciB3aXRoIGFub3RoZXIgbGlzdC4AY29udC4ATWVtb3J5IGluZGV4IG91dCBvZiByYW5nZSB3aGlsZSByZWFkaW5nIG1lbW9yeSBhbGlnbm1lbnQuAEludmFsaWQgb2Zmc2V0IGZvciBhbiBlbGVtZW50IHNlZ21lbnQuAHN0cnVjdC4AIGFyZ3VtZW50cy4Ab3B0aW1pemVzIEoyQ0wgc3BlY2lmaWMgY29uc3RydWN0cy4ASW52YWxpZCBraW5kICghPSBmdW5jcmVmKDApKSBzaW5jZSAhdXNlc0V4cHJlc3Npb25zLgAgc2Vjb25kcy4AIHdhcyBlbmFibGVkIGJ5IHRoZSB1c2VyLCBidXQgZGlzYWxsb3dlZCBpbiB0aGUgZmVhdHVyZXMgc2VjdGlvbi4AZXhwZWN0ZWQgYW4gTVZQLXN0eWxlICRmdW5jbmFtZSBpbiBlbGVtLgBlbGVtIHNlZ21lbnQgaXMgcGFzc2l2ZS4AY2FsbC1pbmRpcmVjdCB0YWJsZSBtdXN0IGJlIG9mIGZ1bmN0aW9uIHR5cGUuAGVsZW1lbnQgc2VnbWVudCB0eXBlIG11c3QgYmUgb2YgcmVmZXJlbmNlIHR5cGUuAHRhYmxlLmdldCBtdXN0IGhhdmUgc2FtZSB0eXBlIGFzIHRhYmxlLgBNZW1vcnkgaW5kZXggb3V0IG9mIHJhbmdlLgBUYWJsZSBpbmRleCBvdXQgb2YgcmFuZ2UuACBieXRlcy4gVHJ5IHJlYnVpbGRpbmcgaW4gNjQtYml0IG1vZGUuAGludmFsaWQgc2VnbWVudCBpZC4AaW52YWxpZCBzZWdtZW50IGRhdGEgaWQuAGZ1bmMuAGludmFsaWQgZXhwcmVzc2lvbiBpbiBzZWdtZW50IGRhdGEuAGFsbCB0YWJsZSBlbGVtZW50cyBtdXN0IGJlIG5vbi1udWxsIGZ1bmNyZWZzIGluIE1WUC4AYWxsIGVsZW1lbnQgc2VnbWVudHMgc2hvdWxkIHJlZmVyIHRvIGEgc2luZ2xlIHRhYmxlIGluIE1WUC4AZ2VuZXJhdGUgZHluQ2FsbCBmdW5jdGlvbnMgdXNlZCBieSBlbXNjcmlwdGVuIEFCSSwgYnV0IG9ubHkgZm9yIGZ1bmN0aW9ucyB3aXRoIGk2NCBpbiB0aGVpciBzaWduYXR1cmUgKHdoaWNoIGNhbm5vdCBiZSBpbnZva2VkIHZpYSB0aGUgd2FzbSB0YWJsZSB3aXRob3V0IEphdmFTY3JpcHQgQmlnSW50IHN1cHBvcnQpLgAnLgBieW4tc3BsaXQtAC0tZW5hYmxlLQBVc2FnZSB1c2FnZTogIHdhc20tb3B0IC0tACEgfiArIC0ALAB3KwByKwBhKwBpbnZhbGlkIHN0cmluZy5uZXcqAGludmFsaWQgc3RyaW5nLmFzKgBvcGVyYXRvcioAaW52YWxpZCBzdHJpbmcuZXEqAGludmFsaWQgc3RyaW5nLm1vdmUqAGludmFsaWQgc3RyaW5nLm1lYXN1cmUqAGludmFsaWQgc3RyaW5nLmVuY29kZSoAaW52YWxpZCBzdHJpbmcuc2xpY2UqAGludmFsaWQgcmVmLmlzXyoAaW52YWxpZCBjb2RlIGZvciByZWYuYXNfKgBpbnZhbGlkIHJlZi5hc18qAHVuaW1wbGVtZW50ZWQgcmVmLmFzXyoAaW52YWxpZCBicl9vbl8qACpub25jb25zdGFudDopKgAqcmV0dXJuOikqAHNob3VsZENhbm9uaWNhbGl6ZShiaW5hcnkpAGVtaXQgU291cGVyIElSIGluIHRleHQgZm9ybSAoc2luZ2xlLXVzZSBub2RlcyBvbmx5KQBtYXJrIGZ1bmN0aW9ucyBhcyBuby1pbmxpbmUgKGZvciBmdWxsIGlubGluaW5nIG9ubHkpAG1hcmsgZnVuY3Rpb25zIGFzIG5vLWlubGluZSAoZm9yIHBhcnRpYWwgaW5saW5pbmcgb25seSkAIWZ1bmMtPmlzUGFyYW0oaW5kZXgpAGJhZCBicmVha2luZGV4IChsb3cpAHNvcnRzIGdsb2JhbHMgYnkgYWNjZXNzIGZyZXF1ZW5jeSAoZXZlbiBpZiB0aGVyZSBhcmUgZmV3KQBub24tZmluYWwgYmxvY2sgZWxlbWVudHMgcmV0dXJuaW5nIGEgdmFsdWUgbXVzdCBiZSBkcm9wKCllZCAoYmluYXJ5ZW4ncyBhdXRvZHJvcCBvcHRpb24gbWlnaHQgaGVscCB5b3UpAGNvbXBvc2VzKG5leHQpAFByb3BlcnRpZXM6OmlzQ29uc3RhbnRFeHByZXNzaW9uKGdsb2JhbC0+aW5pdCkAIDs7IChyZXBsYWNlcyBzb21ldGhpbmcgdW5yZWFjaGFibGUgd2UgY2FuJ3QgZW1pdCkAY2FuUmVvcmRlcihiaW5hcnktPmxlZnQsIGJpbmFyeS0+cmlnaHQpACFjb250YWlucyhCcmFuY2hlc091dCwgVGFyZ2V0KQBQb3NzaWJsZUNvbnRlbnRzOjppc1N1YkNvbnRlbnRzKHJlZkNvbnRlbnRzLCBtYXhpbWFsQ29udGVudHMpAG1pc2NlbGxhbmVvdXMgbG9jYWxzLXJlbGF0ZWQgb3B0aW1pemF0aW9ucyAobm8gbmVzdGluZyBhdCBhbGw7IHByZXNlcnZlcyBmbGF0bmVzcykAIGZ1bmN0aW9ucykAIWlzSW5VbnJlYWNoYWJsZShzdGF0ZS5sb2NhbHMpAGdlbmVyYXRlIGdsb2JhbCBlZmZlY3QgaW5mbyAoaGVscHMgbGF0ZXIgcGFzc2VzKQAgKGhhc0V4dGVybmFsVXNlcykAT25seSAxIHRhYmxlIGRlZmluaXRpb24gYWxsb3dlZCBpbiBNVlAgKHJlcXVpcmVzIC0tZW5hYmxlLXJlZmVyZW5jZS10eXBlcykAbWlzY2VsbGFuZW91cyBsb2NhbHMtcmVsYXRlZCBvcHRpbWl6YXRpb25zIChubyB0ZWVzKQAhYWN0aXZlT3JpZ2luYWxzLmNvdW50KGN1cnIpAG1hcC5jb3VudChjdXJyKQB1c2VkLmNvdW50KGN1cnIpAFByb3BlcnRpZXM6OmlzQ29uc3RhbnRFeHByZXNzaW9uKGN1cnIpAGRvZXNDYWxsKGN1cnIpACFQcm9wZXJ0aWVzOjppc0NvbnRyb2xGbG93U3RydWN0dXJlKGN1cnIpACFjYWxsZXJzW2NhbGxlZF0uY291bnQoY2FsbGVyKQAhaXNJblVucmVhY2hhYmxlKG90aGVyKQAoYWxpYXMgZm9yIHByaW50LWZ1bmN0aW9uLW1hcCkAc3RyaXAgZGVidWcgaW5mbyAoaW5jbHVkaW5nIHRoZSBuYW1lcyBzZWN0aW9uKQAobnVsbCBleHByZXNzaW9uKQBtYXJrIGFsbCB0eXBlcyBhcyBub24tZmluYWwgKG9wZW4pAGNyZWF0ZXMgc3BlY2lhbGl6ZWQgdmVyc2lvbnMgb2YgZnVuY3Rpb25zIChldmVuIGlmIHVuaGVscGZ1bCkAKG51bGwpAG9yaWdpbmFsTG9jYWxNYXAuY291bnQoaW5mby5vcmlnaW5hbCkAIShyZXF1ZXN0cyAmJiBvcmlnaW5hbCkAc2VnbWVudCBzaXplIHNob3VsZCBmaXQgaW4gbWVtb3J5IChpbml0aWFsKQBmdW5jdGlvbi0+aXNWYXIoaSkAb2xkRnVuYy0+aGFzTG9jYWxOYW1lKGkpAGJhZCBicmVha2luZGV4IChoaWdoKQBiYWQgdHJ5IGluZGV4IChoaWdoKQBpbmxpbmUgZnVuY3Rpb25zICh5b3UgcHJvYmFibHkgd2FudCBpbmxpbmluZy1vcHRpbWl6aW5nKQBsZWF2ZXMganVzdCBvbmUgZnVuY3Rpb24gKHVzZWZ1bCBmb3IgZGVidWdnaW5nKQBzb3J0cyBmdW5jdGlvbnMgYnkgbmFtZSAodXNlZnVsIGZvciBkZWJ1Z2dpbmcpAHByaW50IG91dCBTdGFjayBJUiAodXNlZnVsIGZvciBpbnRlcm5hbCBkZWJ1Z2dpbmcpAGMgPT0gKGMgJiAweGZmKQBjID09IChjICYgMHhmZmZmKQAhaGFzT3V0UGFyYW0oY3Vyci0+aWZGYWxzZSkAbWlzY2VsbGFuZW91cyBsb2NhbHMtcmVsYXRlZCBvcHRpbWl6YXRpb25zIChubyB0ZWVzIG9yIHN0cnVjdHVyZSkAbWlzY2VsbGFuZW91cyBsb2NhbHMtcmVsYXRlZCBvcHRpbWl6YXRpb25zIChubyBzdHJ1Y3R1cmUpAFR5cGU6OmlzU3ViVHlwZSh0eXBlLCBjdXJyLT50eXBlKQBUeXBlOjppc1N1YlR5cGUocmV0LmdldFR5cGUoKSwgY3Vyci0+dHlwZSkAVHlwZTo6aXNTdWJUeXBlKGN1cnItPnR5cGUsIGN1cnItPnJlZi0+dHlwZSkAVHlwZTo6aXNTdWJUeXBlKGN1cnItPmNhc3RUeXBlLCBjdXJyLT5yZWYtPnR5cGUpAFR5cGU6OmlzU3ViVHlwZShyZWZUeXBlLCByZWYtPnR5cGUpAGNhbk1ha2VaZXJvKHR5cGUpACFleGlzdGluZ1NldC5jb3VudChuZXdUeXBlKQBUeXBlOjppc1N1YlR5cGUobmV3VHlwZSwgb2xkVHlwZSkAKGdsb2JhbCBzY29wZSkAIXdhc20uZ2V0VGFnT3JOdWxsKHRhZy0+bmFtZSkAb3B0SW5mby5vbmNlR2xvYmFscy5hdChnbG9iYWxOYW1lKQAobnVsbCBOYW1lKQBJc0NvZGVFcXVpdmFsZW50KEludG8tPkNvZGUsIEN1cnItPkNvZGUpAGdlbmVyYWxpemUgdHlwZXMgKG5vdCB5ZXQgc291bmQpAE9ubHkgZnVuY3JlZiBhbmQgZXh0ZXJucmVmIGFyZSB2YWxpZCBmb3IgdGFibGUgdHlwZSAod2hlbiBnYyBpcyBkaXNhYmxlZCkAT25seSBmdW5jdGlvbiByZWZlcmVuY2UgdHlwZXMgb3IgZXh0ZXJucmVmIGFyZSB2YWxpZCBmb3IgdGFibGUgdHlwZSAod2hlbiBHQyBpcyBkaXNhYmxlZCkAT25seSBmdW5jcmVmIGlzIHZhbGlkIGZvciB0YWJsZSB0eXBlICh3aGVuIHJlZmVyZW5jZSB0eXBlcyBhcmUgZGlzYWJsZWQpAE11bHRpdmFsdWUgZnVuY3Rpb24gcmVzdWx0cyAobXVsdGl2YWx1ZSBpcyBub3QgZW5hYmxlZCkAZ2xvYmFsLnNldCBuYW1lIG11c3QgYmUgdmFsaWQgKGFuZCBub3QgYW4gaW1wb3J0OyBpbXBvcnRzIGNhbid0IGJlIG1vZGlmaWVkKQBpbnQoX2lkKSA9PSBpbnQoVDo6U3BlY2lmaWNJZCkASGVhcFR5cGU6OmlzU3ViVHlwZShkZXN0LCBzcmMpACgqaW5mb01hcCkuY291bnQoY3Vyci0+ZnVuYykAIWFuYWx5emVyLT5jYW5DaGFuZ2VTdGF0ZShpZmYtPmNvbmRpdGlvbiwgZnVuYykAKGlzRGF0YSgpICYmIGdjRGF0YSkgfHwgKHR5cGUgPT0gSGVhcFR5cGU6OmV4dCAmJiBnY0RhdGEpIHx8ICh0eXBlLmlzQm90dG9tKCkgJiYgIWdjRGF0YSkAZWxlbWVudFN0YXJ0c1dpdGgocywgUkVTVUxUKQBlbGVtZW50U3RhcnRzV2l0aChzLCBQQVJBTSkgfHwgZWxlbWVudFN0YXJ0c1dpdGgocywgTE9DQUwpAGVsZW1lbnRTdGFydHNXaXRoKHMsIFRZUEUpAHNwaWxsIHBvaW50ZXJzIHRvIHRoZSBDIHN0YWNrICh1c2VmdWwgZm9yIEJvZWhtLXN0eWxlIEdDKQAgKDsgaGFzIFN0YWNrIElSIDspAEFzeW5jaWZ5IGRvZXMgbm90IHlldCBzdXBwb3J0IG5vbi1udW1iZXIgdHlwZXMsIGxpa2UgcmVmZXJlbmNlcyAoc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9XZWJBc3NlbWJseS9iaW5hcnllbi9pc3N1ZXMvMzczOSkAYmVzdCAhPSBJbmRleCgtMSkAVGFibGUgY2Fubm90IGhhdmUgYm90aCBleHBsaWNpdCBsaW1pdHMgYW5kIGFuIGlubGluZSAoZWxlbSAuLi4pACEoKHRyYXAgJiYgb3RoZXIudGhyb3dzKCkpIHx8ICh0aHJvd3MoKSAmJiBvdGhlci50cmFwKSkAIXNldC0+ZW1wdHkoKQBPdXRlci0+bGlzdC5lbXB0eSgpAGN1cnJEZXBlbmRlbnRzLmVtcHR5KCkAdGFyZ2V0cy5lbXB0eSgpAHNlbGYtPmFjdGl2ZU9yaWdpbmFscy5lbXB0eSgpACFjZmcuYmxvY2tzLmVtcHR5KCkAIWluZGV4ZXMuZW1wdHkoKQAhbXVsdGlWYWx1ZXMuZW1wdHkoKQAhc2F2ZWRWYWx1ZXMuZW1wdHkoKQBicmVha1R5cGVzLmVtcHR5KCkAcmV0aHJvd1RhcmdldE5hbWVzLmVtcHR5KCkAZXhjZXB0aW9uVGFyZ2V0TmFtZXMuZW1wdHkoKQBicmVha1RhcmdldE5hbWVzLmVtcHR5KCkAZGVsZWdhdGVUYXJnZXROYW1lcy5lbXB0eSgpACFtb2R1bGUtPm1lbW9yaWVzLmVtcHR5KCkAY2FsbC0+b3BlcmFuZHMuZW1wdHkoKQBicmFuY2hlc1NlZW4uZW1wdHkoKQAhY29udHJvbEZsb3dTdGFjay5lbXB0eSgpACFleHByZXNzaW9uU3RhY2suZW1wdHkoKQAhYnJlYWtTdGFjay5lbXB0eSgpAGlmU3RhY2suZW1wdHkoKQAhbmFtZS5lbXB0eSgpAGJpbmFyeUxvY2F0aW9uVHJhY2tlZEV4cHJlc3Npb25zRm9yRnVuYy5lbXB0eSgpACFlbXB0eSgpAGdldE1vZHVsZSgpLT5mZWF0dXJlcy5oYXNCdWxrTWVtb3J5KCkAIWNvbnRlbnRzLmlzTWFueSgpAGh0LmlzQXJyYXkoKQB0eXBlLmlzQXJyYXkoKQAhdHJhbnNmZXJzQ29udHJvbEZsb3coKQBnZXRNb2R1bGUoKS0+ZmVhdHVyZXMuaGFzU2lnbkV4dCgpAHdpdGgtPmlzQ29uc3QoKQAhbm9kZS0+aXNDb25zdCgpAGlzQ29uc3RhbnQoKQBodC5pc1N0cnVjdCgpAHR5cGUuaXNTdHJ1Y3QoKQBoZWFwVHlwZS5pc1N0cnVjdCgpAG51bU9wZXJhbmRzID09IGZ1bmMtPmdldE51bVBhcmFtcygpAGluZGV4IDwgZ2V0TnVtTG9jYWxzKCkAIXByb2Nlc3NCbG9ja3MoKQAhQ3Vyci0+bmFtZS5pcygpAGZ1bmMuaXMoKSAmJiBvdGhlci5mdW5jLmlzKCkAb2xkRmllbGROYW1lc1tpXS5pcygpAG5vZGUtPmlzRXhwcigpAG9wZXJhdG9yKCkAIXJlc3VsdC5nZXRFcnJvcigpACFwYXNzLT5nZXRQYXNzUnVubmVyKCkAYmluYXJ5LT50eXBlLmlzSW50ZWdlcigpAHZhbHVlLnR5cGUuaXNOdW1iZXIoKQBpc0NvbnRpbnVhdGlvbigpAGNhbk1ha2VFeHByZXNzaW9uKCkAdGFyZ2V0VHlwZS5pc0JvdHRvbSgpAGhlYXBUeXBlLmlzQm90dG9tKCkAcmVmVHlwZS5nZXRIZWFwVHlwZSgpLmlzQm90dG9tKCkAdHlwZS5pc051bGxhYmxlKCkgJiYgdHlwZS5pc051bGwoKQB0eXBlLmlzRnVuY3Rpb24oKSAmJiAhZnVuYy5pc051bGwoKQAhYS5pc051bGwoKSB8fCAhYi5pc051bGwoKQAhcGFzcy0+aXNGdW5jdGlvblBhcmFsbGVsKCkAaXNMaXRlcmFsKCkAY3VyciA9PSBjb250cm9sRmxvd1N0YWNrLmJhY2soKQBpc1N0cmluZygpAGluaXQuYnJlYWtpbmcoKQBzcmMuaXNSZWYoKSAmJiBkZXN0LmlzUmVmKCkAbmV4dC0+dHlwZS5pc1JlZigpAHRhcmdldC0+dHlwZS5pc1JlZigpAGN1cnItPnR5cGUuaXNSZWYoKQBjdXJyLT5yZWYtPnR5cGUuaXNSZWYoKQB0YWJsZS0+dHlwZS5pc1JlZigpAHgudHlwZS5pc1JlZigpAGxpdGVyYWwudHlwZS5pc1JlZigpAGV4cHItPnR5cGUuaXNSZWYoKSAmJiB0eXBlLmlzUmVmKCkAY2FzdFR5cGUuaXNSZWYoKQByZWZUeXBlLmlzUmVmKCkAaW5kZXggPCB0aGlzLT5zaXplKCkAaW5kZXggPCBzdGF0aWNfY2FzdDxCbG9jayo+KGV4cHJlc3Npb24pLT5saXN0LnNpemUoKQBvcmlnaW5MaXN0Lmxpc3Quc2l6ZSgpID09IGNvcHlMaXN0Lmxpc3Quc2l6ZSgpAGluZGV4IDwgbGlzdC5zaXplKCkAaSA8IGluc3RzLnNpemUoKQBleHBvcnRzTWFwLnNpemUoKSA9PSBleHBvcnRzLnNpemUoKQBlbGVtZW50U2VnbWVudHNNYXAuc2l6ZSgpID09IGVsZW1lbnRTZWdtZW50cy5zaXplKCkAZGF0YVNlZ21lbnRzTWFwLnNpemUoKSA9PSBkYXRhU2VnbWVudHMuc2l6ZSgpAGkgPD0gdGFyZ2V0VHlwZS5nZXRTaWduYXR1cmUoKS5yZXN1bHRzLnNpemUoKQBpbmRleCA8IHN0YXRpY19jYXN0PFN3aXRjaCo+KGV4cHJlc3Npb24pLT50YXJnZXRzLnNpemUoKQBpbmRleCA8IHZhcnMuc2l6ZSgpAGluZGV4IDwgc2l6ZSArIHZhcnMuc2l6ZSgpAGluZGV4IDwgYmFzZSArIHZhcnMuc2l6ZSgpAGZ1bmN0aW9uc01hcC5zaXplKCkgPT0gZnVuY3Rpb25zLnNpemUoKQBpbmRleCA8IGxvY2F0aW9ucy5zaXplKCkAY3Vyci0+b3BlcmFuZHMuc2l6ZSgpID09IHNpZy5wYXJhbXMuc2l6ZSgpAGkgPD0gdGFyZ2V0VHlwZS5nZXRTaWduYXR1cmUoKS5wYXJhbXMuc2l6ZSgpAHBvcC0+dHlwZS5zaXplKCkgPT0gcGFyYW1zLnNpemUoKQBnbG9iYWxzTWFwLnNpemUoKSA9PSBnbG9iYWxzLnNpemUoKQB0YWdzTWFwLnNpemUoKSA9PSB0YWdzLnNpemUoKQBpbmRleCA8IHN0YXRpY19jYXN0PFRyeSo+KGV4cHJlc3Npb24pLT5jYXRjaFRhZ3Muc2l6ZSgpAGNoZWNrZWQgPT0gaW5kZXhlcy5tZW1vcnlJbmRleGVzLnNpemUoKQBlbWl0dGVkID09IGluZGV4ZXMuZnVuY3Rpb25JbmRleGVzLnNpemUoKQBjaGVja2VkID09IGluZGV4ZXMuZnVuY3Rpb25JbmRleGVzLnNpemUoKQBjaGVja2VkID09IGluZGV4ZXMuZWxlbUluZGV4ZXMuc2l6ZSgpAGNoZWNrZWQgPT0gaW5kZXhlcy5nbG9iYWxJbmRleGVzLnNpemUoKQBjaGVja2VkID09IGluZGV4ZXMudGFibGVJbmRleGVzLnNpemUoKQBpbmRleCA8IHN0YXRpY19jYXN0PEFycmF5TmV3Rml4ZWQqPihleHByZXNzaW9uKS0+dmFsdWVzLnNpemUoKQBlbWl0dGVkID09IGZ1bmN0aW9uc1dpdGhMb2NhbE5hbWVzLnNpemUoKQBsb2NhbHNXaXRoTmFtZXMuc2l6ZSgpAHRhYmxlc01hcC5zaXplKCkgPT0gdGFibGVzLnNpemUoKQBtZW1vcmllc01hcC5zaXplKCkgPT0gbWVtb3JpZXMuc2l6ZSgpAGluZGV4IDwgc3RhdGljX2Nhc3Q8VHJ5Kj4oZXhwcmVzc2lvbiktPmNhdGNoQm9kaWVzLnNpemUoKQBmaXJzdFJhbmdlSWR4IDwgcmFuZ2VzLnNpemUoKQBpIDw9IHN0cnVjdE5ldy0+b3BlcmFuZHMuc2l6ZSgpAHBhcmFtcy5zaXplKCkgPT0gY3Vyci0+b3BlcmFuZHMuc2l6ZSgpAGZpZWxkcy5zaXplKCkgPT0gY3Vyci0+b3BlcmFuZHMuc2l6ZSgpAGluZGV4IDwgc3RhdGljX2Nhc3Q8VGhyb3cqPihleHByZXNzaW9uKS0+b3BlcmFuZHMuc2l6ZSgpAGluZGV4IDwgc3RhdGljX2Nhc3Q8U3RydWN0TmV3Kj4oZXhwcmVzc2lvbiktPm9wZXJhbmRzLnNpemUoKQBpbmRleCA8IHN0YXRpY19jYXN0PENhbGxJbmRpcmVjdCo+KGV4cHJlc3Npb24pLT5vcGVyYW5kcy5zaXplKCkAaW5kZXggPCBzdGF0aWNfY2FzdDxDYWxsKj4oZXhwcmVzc2lvbiktPm9wZXJhbmRzLnNpemUoKQBpbmRleCA8IHN0YXRpY19jYXN0PENhbGxSZWYqPihleHByZXNzaW9uKS0+b3BlcmFuZHMuc2l6ZSgpAGluZGV4IDwgc3RhdGljX2Nhc3Q8VHVwbGVNYWtlKj4oZXhwcmVzc2lvbiktPm9wZXJhbmRzLnNpemUoKQBpbmRleGVzQWZ0ZXJSZW1vdmFsLnNpemUoKSA9PSBvcGVyYW5kcy5zaXplKCkAbmV3SW5kZXggPCBvcGVyYW5kcy5zaXplKCkAaW5kZXggPCBmaWVsZHMuc2l6ZSgpAG9sZCA9PSB0aHJlYWRzLnNpemUoKQBzdGFjay5zaXplKCkgPT0gc3RhY2tMb2NzLnNpemUoKQBzdXBlci5pc1R1cGxlKCkgJiYgc3ViLnNpemUoKSA9PSBzdXBlci5zaXplKCkAY2Fub25pY2FsLnNpemUoKSA9PSBncm91cC5zaXplKCkAaW5kZXggPCBjaGlsZHJlbi5zaXplKCkAc2VsZi0+dW53aW5kRXhwclN0YWNrLnNpemUoKSA9PSBzZWxmLT50aHJvd2luZ0luc3RzU3RhY2suc2l6ZSgpAHN0YXJ0IDw9IGV4cHJlc3Npb25TdGFjay5zaXplKCkAY3Vyci0+Y29udGVudHMuc3RhcnQuc2l6ZSgpIDwgbGl2ZS5zaXplKCkAY3Vyci0+Y29udGVudHMuZW5kLnNpemUoKSA8IGxpdmUuc2l6ZSgpAGNoaWxkLT50eXBlLnNpemUoKSA9PSBwYXJlbnQtPnR5cGUuc2l6ZSgpAGluZGV4IDwgdHVwbGUtPnR5cGUuc2l6ZSgpAGluZGV4IDwgam9pbmVlLnNpemUoKQBpID09IGRhdGEuc2l6ZSgpAGFjdHVhbCA8PSBkYXRhLnNpemUoKQBpIDw9IHRhcmdldC0+Z2V0UmVzdWx0cygpLnNpemUoKQBpIDw9IHRhcmdldC0+Z2V0UGFyYW1zKCkuc2l6ZSgpAGZ1bmMtPmxvY2FsSW5kaWNlcy5zaXplKCkgPT0gZnVuYy0+Z2V0UGFyYW1zKCkuc2l6ZSgpAHNpemUoKSArIG4gPj0gc2l6ZSgpAGluZGV4IDw9IHNpemUoKQBpbmRleCA8IHNpemUoKQBsaXQuaXNDb25jcmV0ZSgpAGFyZ0Zsb3cudmFsdWVzLmlzQ29uY3JldGUoKQBmaXJzdC0+dHlwZS5pc0NvbmNyZXRlKCkAIWJsb2NrLT50eXBlLmlzQ29uY3JldGUoKQAhaWZmLT50eXBlLmlzQ29uY3JldGUoKQBjdXJyLT52YWx1ZS0+dHlwZS5pc0NvbmNyZXRlKCkAY2hpbGQtPnR5cGUuaXNDb25jcmV0ZSgpAGFyZy50eXBlLmlzQ29uY3JldGUoKQB2YWx1ZS50eXBlLmlzQ29uY3JldGUoKQBodC5pc1NpZ25hdHVyZSgpAHR5cGUuaXNTaWduYXR1cmUoKQBoZWFwVHlwZS5pc1NpZ25hdHVyZSgpAGZ1bmN0aW9uVHlwZS5pc1NpZ25hdHVyZSgpAHRhcmdldC0+dHlwZS5nZXRIZWFwVHlwZSgpLmlzU2lnbmF0dXJlKCkAY2FzdC5nZXRGYWlsdXJlKCkAcmVmQ29udGVudHMuaXNHbG9iYWwoKSB8fCByZWZDb250ZW50cy5pc0NvbmVUeXBlKCkAY29uZS5pc0NvbmVUeXBlKCkAIWNvbnRlbnRzLmlzTm9uZSgpAG90aGVyLmlzRnVsbENvbmVUeXBlKCkgfHwgb3RoZXIuaXNMaXRlcmFsKCkgfHwgb3RoZXIuaXNOb25lKCkAaW50ZXJzZWN0aW9uLmlzTnVsbCgpIHx8IGludGVyc2VjdGlvbi5pc05vbmUoKQAhc3JjLmlzVHVwbGUoKSAmJiAhZGVzdC5pc1R1cGxlKCkAIXJlc3VsdHMuaXNUdXBsZSgpACFyZXQtPnR5cGUuaXNUdXBsZSgpACFjdXJyLT50eXBlLmlzVHVwbGUoKQAhb3BlcmFuZC0+dHlwZS5pc1R1cGxlKCkAIWNoaWxkLT50eXBlLmlzVHVwbGUoKQBmdW5jLT5nZXRMb2NhbFR5cGUoaW5kZXgpLmlzTm9uTnVsbGFibGUoKSB8fCBmdW5jLT5nZXRMb2NhbFR5cGUoaW5kZXgpLmlzVHVwbGUoKQB4LnR5cGUuaXNTaW5nbGUoKQBsaXRlcmFsLnR5cGUuaXNTaW5nbGUoKQBsb2NhbFR5cGUuaXNTaW5nbGUoKQBjdXJyLT50eXBlLmlzTnVsbGFibGUoKQAhdHlwZS5pc051bGxhYmxlKCkAcmVmVHlwZS5pc051bGxhYmxlKCkAdHlwZV8uaXNOdWxsYWJsZSgpAHR5cGUuaXNOb25OdWxsYWJsZSgpAGNhc3RUeXBlLmlzTm9uTnVsbGFibGUoKQBpc0luVW5yZWFjaGFibGUoKQAhc2V0LT5pc1RlZSgpACFwcmV2aW91cy0+aXNUZWUoKQB0ZWUtPmlzVGVlKCkAc3RkOjpmaW5kKGZyZWVMaXN0LmJlZ2luKCksIGZyZWVMaXN0LmVuZCgpLCBpZHgpID09IGZyZWVMaXN0LmVuZCgpAHBhcmVudHMuZmluZChjdXJyKSA9PSBwYXJlbnRzLmVuZCgpAG91dFBhcmFtSXQgIT0gaGlnaEJpdFZhcnMuZW5kKCkAcGFzc0luZm9zLmZpbmQobmFtZSkgPT0gcGFzc0luZm9zLmVuZCgpAGl0ZXIgIT0gYWxsRHJvcHBlZENhbGxzLmVuZCgpAHNjcmF0Y2hMb2NhbHMuZmluZChjdXJyLT50eXBlKSAhPSBzY3JhdGNoTG9jYWxzLmVuZCgpAGl0ICE9IGluZGV4ZXMubWVtb3J5SW5kZXhlcy5lbmQoKQBpdCAhPSBpbmRleGVzLmZ1bmN0aW9uSW5kZXhlcy5lbmQoKQBpdCAhPSBpbmRleGVzLmVsZW1JbmRleGVzLmVuZCgpAGl0ICE9IGluZGV4ZXMuZ2xvYmFsSW5kZXhlcy5lbmQoKQBpdCAhPSBzdHJpbmdJbmRleGVzLmVuZCgpAGl0ICE9IGluZGV4ZXMudGFnSW5kZXhlcy5lbmQoKQBpdCAhPSBpbmRleGVzLnRhYmxlSW5kZXhlcy5lbmQoKQBpdCAhPSBpbmRleGVzLmRhdGFJbmRleGVzLmVuZCgpAGl0ZXIgIT0gYnJlYWtUeXBlcy5lbmQoKQBpdCAhPSBtZW1vcmllcy5lbmQoKQBwcmVsdWRlcy5maW5kKGN1cnIpID09IHByZWx1ZGVzLmVuZCgpAGFkZGVkTm9kZXMuZmluZChub2RlKSA9PSBhZGRlZE5vZGVzLmVuZCgpAGl0ICE9IGRhdGFJbmRpY2VzLmVuZCgpACF1c2luZ0ZpeGVkKCkAZnVuYy0+aW1wb3J0ZWQoKQAhZ2xvYmFsLmltcG9ydGVkKCkAIW5vZGUtPmlzQmFkKCkAIWh0LmlzQmFzaWMoKQAhdHlwZS5pc0Jhc2ljKCkAIWlzQmFzaWMoKQB3cml0ZSA+PSBkYXRhLmRhdGEoKQB4LmlzRGF0YSgpAGxpdGVyYWwuaXNEYXRhKCkAaGVhcFR5cGUuaXNEYXRhKCkAaXNOdWxsKCkgfHwgaXNEYXRhKCkAZXhwcmVzc2lvbi0+aXM8U0lNRFRlcm5hcnk+KCkAZXhwcmVzc2lvbi0+aXM8QmluYXJ5PigpAGV4cHJlc3Npb24tPmlzPFVuYXJ5PigpAGV4cHJlc3Npb24tPmlzPFRyeT4oKQBleHByZXNzaW9uLT5pczxNZW1vcnlDb3B5PigpAGV4cHJlc3Npb24tPmlzPEFycmF5Q29weT4oKQBleHByZXNzaW9uLT5pczxBdG9taWNOb3RpZnk+KCkAZXhwci0+aXM8VHJ5PigpIHx8IGV4cHItPmlzPFJldGhyb3c+KCkAZXhwcmVzc2lvbi0+aXM8UmV0aHJvdz4oKQBleHByZXNzaW9uLT5pczxUaHJvdz4oKQBleHByZXNzaW9uLT5pczxNZW1vcnlHcm93PigpAGV4cHJlc3Npb24tPmlzPFRhYmxlR3Jvdz4oKQBleHByZXNzaW9uLT5pczxBcnJheU5ldz4oKQBleHByZXNzaW9uLT5pczxTdHJ1Y3ROZXc+KCkAZXhwcmVzc2lvbi0+aXM8U3RyaW5nTmV3PigpAGV4cHJlc3Npb24tPmlzPFN0cmluZ0l0ZXJOZXh0PigpAGV4cHJlc3Npb24tPmlzPFN0cmluZ0NvbnN0PigpAGJpbmFyeS0+cmlnaHQtPmlzPENvbnN0PigpAGV4cHJlc3Npb24tPmlzPENvbnN0PigpAHNldC0+dmFsdWUtPmlzPENvbnN0PigpAGV4cHJlc3Npb24tPmlzPFJlZlRlc3Q+KCkAZXhwcmVzc2lvbi0+aXM8UmVmQ2FzdD4oKQBleHByZXNzaW9uLT5pczxNZW1vcnlJbml0PigpAGV4cHJlc3Npb24tPmlzPEF0b21pY1dhaXQ+KCkAZXhwcmVzc2lvbi0+aXM8U0lNRFNoaWZ0PigpAGV4cHJlc3Npb24tPmlzPEFycmF5U2V0PigpAGV4cHJlc3Npb24tPmlzPFN0cnVjdFNldD4oKQBleHByZXNzaW9uLT5pczxMb2NhbFNldD4oKQAoKm9yaWdpbiktPmlzPExvY2FsU2V0PigpAGV4cHJlc3Npb24tPmlzPEdsb2JhbFNldD4oKQBleHByZXNzaW9uLT5pczxUYWJsZVNldD4oKQBleHByZXNzaW9uLT5pczxBcnJheUdldD4oKQBleHByZXNzaW9uLT5pczxTdHJ1Y3RHZXQ+KCkAIW5vZGUtPmV4cHItPmlzPExvY2FsR2V0PigpAGV4cHJlc3Npb24tPmlzPExvY2FsR2V0PigpACgqb3JpZ2luKS0+aXM8TG9jYWxHZXQ+KCkAZXhwcmVzc2lvbi0+aXM8R2xvYmFsR2V0PigpAGMtPmlzPEdsb2JhbEdldD4oKQBleHByZXNzaW9uLT5pczxUYWJsZUdldD4oKQBleHByZXNzaW9uLT5pczxTdHJpbmdXVEYxNkdldD4oKQBleHByZXNzaW9uLT5pczxJMzFHZXQ+KCkAZXhwcmVzc2lvbi0+aXM8Q2FsbEluZGlyZWN0PigpAGV4cHJlc3Npb24tPmlzPFNlbGVjdD4oKQBleHByZXNzaW9uLT5pczxUdXBsZUV4dHJhY3Q+KCkAZXhwcmVzc2lvbi0+aXM8U0lNREV4dHJhY3Q+KCkAZXhwcmVzc2lvbi0+aXM8U3RyaW5nQ29uY2F0PigpAGV4cHJlc3Npb24tPmlzPFN0cmluZ0FzPigpAGV4cHJlc3Npb24tPmlzPFJlZkFzPigpAGV4cHJlc3Npb24tPmlzPFN0cmluZ1NsaWNlSXRlcj4oKQBleHByZXNzaW9uLT5pczxTdHJpbmdFcT4oKQBleHByZXNzaW9uLT5pczxSZWZFcT4oKQBleHByZXNzaW9uLT5pczxEYXRhRHJvcD4oKQBleHByZXNzaW9uLT5pczxEcm9wPigpAGV4cHJlc3Npb24tPmlzPExvb3A+KCkAZXhwcmVzc2lvbi0+aXM8UmV0dXJuPigpAGV4cHJlc3Npb24tPmlzPEFycmF5TGVuPigpAGV4cHJlc3Npb24tPmlzPEJyT24+KCkAZXhwcmVzc2lvbi0+aXM8UmVmSXNOdWxsPigpAGV4cHJlc3Npb24tPmlzPE1lbW9yeUZpbGw+KCkAZXhwcmVzc2lvbi0+aXM8Q2FsbD4oKQBib2R5LT5pczxCbG9jaz4oKQBleHByZXNzaW9uLT5pczxCbG9jaz4oKQBleHByZXNzaW9uLT5pczxCcmVhaz4oKQBleHByZXNzaW9uLT5pczxTd2l0Y2g+KCkAZXhwcmVzc2lvbi0+aXM8QXRvbWljQ21weGNoZz4oKQBleHByZXNzaW9uLT5pczxDYWxsUmVmPigpAGV4cHJlc3Npb24tPmlzPElmPigpAGV4cHJlc3Npb24tPmlzPFRhYmxlU2l6ZT4oKQBleHByZXNzaW9uLT5pczxTdHJpbmdJdGVyTW92ZT4oKQBleHByZXNzaW9uLT5pczxTdHJpbmdNZWFzdXJlPigpAGV4cHJlc3Npb24tPmlzPFN0b3JlPigpAGV4cHJlc3Npb24tPmlzPFNJTURMb2FkU3RvcmVMYW5lPigpAGV4cHJlc3Npb24tPmlzPFNJTURTaHVmZmxlPigpAGN1cnItPnRlbXBsYXRlIGlzPElmPigpIHx8IGN1cnItPnRlbXBsYXRlIGlzPFRyeT4oKSB8fCBjdXJyLT50ZW1wbGF0ZSBpczxUcnlUYWJsZT4oKQBleHByZXNzaW9uLT5pczxUdXBsZU1ha2U+KCkAZXhwcmVzc2lvbi0+aXM8U3RyaW5nRW5jb2RlPigpAGV4cHJlc3Npb24tPmlzPEF0b21pY0ZlbmNlPigpAGV4cHJlc3Npb24tPmlzPFN0cmluZ1dURjhBZHZhbmNlPigpAGV4cHJlc3Npb24tPmlzPFNJTURSZXBsYWNlPigpAGV4cHJlc3Npb24tPmlzPEFycmF5TmV3Rml4ZWQ+KCkAZXhwcmVzc2lvbi0+aXM8U0lNRExvYWQ+KCkAZXhwcmVzc2lvbi0+aXM8TG9hZD4oKQBleHByZXNzaW9uLT5pczxSZWZGdW5jPigpAGV4cHJlc3Npb24tPmlzPEF0b21pY1JNVz4oKQBleHByZXNzaW9uLT5pczxTdHJpbmdTbGljZVdURj4oKQBleHByZXNzaW9uLT5pczxSZWZJMzE+KCkAIikAICkAXSA9IGJhc2U2NERlY29kZVRvRXhpc3RpbmdVaW50OEFycmF5KG5ldyBVaW50OEFycmF5KAAgPSBuZXcgQXJyYXlCdWZmZXIoAGZ1bmNyZWYoAGkzMXJlZigAY2F0Y2gncyBib2R5ICgATGFzdCBwYXNzICgATGFzdCBuZXN0ZWQgZnVuY3Rpb24tcGFyYWxsZWwgcGFzcyAoAGJsb2NrICgAIGNhdGNoICgAY2F0Y2gncyB0YWcgKABJUiBtdXN0IGJlIGZsYXQ6IHJ1biAtLWZsYXR0ZW4gYmVmb3JlaGFuZCAoAHRyeSBib2R5IHNob3VsZCBzdGFydCB3aXRoICdkbycAZXhwZWN0ZWQgJ3RoZW4nAGV4cGVjdGVkICdlbHNlJwBcJwBpbXBvcnRzWycAJ11bJwBbUGFzc1J1bm5lcl0gUEFTU19ERUJVRyBjaGVjayBmYWlsZWQ6IGhhZCBTdGFjayBJUiBiZWZvcmUgYW5kIGFmdGVyIHRoZSBwYXNzIHJhbiwgYW5kIHRoZSBwYXNzIG1vZGlmaWVkIGdsb2JhbCBmdW5jdGlvbiBzdGF0ZSAtIHBhc3Mgc2hvdWxkIGhhdmUgYmVlbiBtYXJrZWQgJ21vZGlmaWVzQmluYXJ5ZW5JUicAW1Bhc3NSdW5uZXJdIFBBU1NfREVCVUcgY2hlY2sgZmFpbGVkOiBoYWQgU3RhY2sgSVIgYmVmb3JlIGFuZCBhZnRlciB0aGUgcGFzcyByYW4sIGFuZCB0aGUgcGFzcyBtb2RpZmllZCB0aGUgbWFpbiBJUiwgd2hpY2ggaW52YWxpZGF0ZXMgU3RhY2sgSVIgLSBwYXNzIHNob3VsZCBoYXZlIGJlZW4gbWFya2VkICdtb2RpZmllc0JpbmFyeWVuSVInAGludmFsaWQgbWVtb3J5ICcAJyBnb3QgJwBpbnZhbGlkIGZ1bmN0aW9uICcAIGZyb20gJwBGYWlsZWQgb3BlbmluZyAnAEZhaWxlZCBvcGVuaW5nIHNvdXJjZW1hcCBvdXRwdXQgZmlsZSAnAEZhaWxlZCBvcGVuaW5nIG91dHB1dCBmaWxlICcAVW5leHBlY3RlZCBjaGFyOiBleHBlY3RlZCAnACYmAGluZmVyICUAID0gcGhpICUAYmxvY2twYyAlACogLyAlAGJ5biRmcGNhc3QtZW11JABleHBvcnQkAHRpbXBvcnQkAG1pbXBvcnQkAGxlZ2FsaW1wb3J0JABnaW1wb3J0JABmaW1wb3J0JABlaW1wb3J0JABsYWJlbCQAZ2xvYmFsJABibG9jayQAc3dpdGNoJABvcmlnJAB0YWckACRjYXNlJABzaGFwZSQAYnluJG1nZm4tc2hhcmVkJABsZWdhbGZ1bmMkAF9faW5saW5lZF9mdW5jJABsZWdhbHN0dWIkAGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpfJABpNjR0b2kzMl9pMzIkAChtZW1vcnkgJAAodHlwZSAkACBhdCB0eXBlICQAcHVibGljbHkgZXhwb3NlZCB0eXBlIGRpc2FsbG93ZWQgd2l0aCBhIGNsb3NlZCB3b3JsZDogJABmdW5jICYmICJCaW5hcnlJbnN0V3JpdGVyOiBmdW5jdGlvbiBpcyBub3Qgc2V0IgBmdW5jICYmICJCaW5hcnllbklSV3JpdGVyOiBmdW5jdGlvbiBpcyBub3Qgc2V0IgBvZmZzZXQgJiYgIlRPRE86IGhhbmRsZSBub24tY29uc3Qgc2VnbWVudCBvZmZzZXRzIgB0LmlzQmFzaWMoKSAmJiAiVE9ETzogaGFuZGxlIGNvbXBvdW5kIHR5cGVzIgBjdXJyLT50eXBlLmlzQmFzaWMoKSAmJiAiVE9ETzogaGFuZGxlIGNvbXBvdW5kIHR5cGVzIgBjdXJyLT52YWx1ZS0+dHlwZS5pc0Jhc2ljKCkgJiYgIlRPRE86IGhhbmRsZSBjb21wb3VuZCB0eXBlcyIAY29uc3RfLT50eXBlLmlzQmFzaWMoKSAmJiAiVE9ETzogaGFuZGxlIGNvbXBvdW5kIHR5cGVzIgB2YWx1ZS50eXBlLmlzQmFzaWMoKSAmJiAiVE9ETzogaGFuZGxlIGNvbXBvdW5kIHR5cGVzIgBUeXBlOjppc1N1YlR5cGUodHlwZSwgVHlwZShIZWFwVHlwZTo6ZXh0LCBOdWxsYWJsZSkpICYmICJjYW4gb25seSBpbnRlcm5hbGl6ZSBleHRlcm5hbCByZWZlcmVuY2VzIgBUeXBlOjppc1N1YlR5cGUodHlwZSwgVHlwZShIZWFwVHlwZTo6YW55LCBOdWxsYWJsZSkpICYmICJjYW4gb25seSBleHRlcm5hbGl6ZSBpbnRlcm5hbCByZWZlcmVuY2VzIgBpIDwgc2l6ZSgpICYmICJpbmRleCBvdXQgb2YgYm91bmRzIgBpbmRleCA9PSAwICYmIHBhcmVudC0+aWQgIT0gVHlwZTo6bm9uZSAmJiAiSW5kZXggb3V0IG9mIGJvdW5kcyIAaW5kZXggPD0gc2l6ZSgpICYmIGluZGV4ICsgbGVuZ3RoIDw9IHNpemUoKSAmJiAiZ3JvdXAgb3V0IG9mIGJvdW5kcyIAKCFydW5uZXIgfHwgcnVubmVyID09IHJ1bm5lcl8pICYmICJQYXNzIGFscmVhZHkgaGFkIGEgcnVubmVyIgAhaW5mby0+cmVjR3JvdXAgJiYgIlVuZXhwZWN0ZWQgbm9udHJpdmlhbCByZWMgZ3JvdXAiAHRhYmxlLmlzKCkgJiYgIlRhYmxlIG5hbWUgbXVzdCBub3QgYmUgbnVsbCIAcG9wICYmICJQb3AgaGFzIG5vdCBiZWVuIGZvdW5kIGluIHRoaXMgY2F0Y2giAHNlbGYtPnBhcmVudC50cnlEZXB0aCA+IDAgJiYgInRyeSBkZXB0aCBjYW5ub3QgYmUgbmVnYXRpdmUiAHNlbGYtPnBhcmVudC5jYXRjaERlcHRoID4gMCAmJiAiY2F0Y2ggZGVwdGggY2Fubm90IGJlIG5lZ2F0aXZlIgBpdCAhPSBpbmRpY2VzLmVuZCgpICYmICJ1bmtub3duIHN1Y2Nlc3NvciB2YWx1ZSIAaW5zZXJ0ZWQgJiYgInVuZXhwZWN0ZWQgcmVwZWF0ZWQgdmFsdWUiACF0LmlzVHVwbGUoKSAmJiAiVW5leHBlY3RlZCB0dXBsZSB0eXBlIgAhY3Vyci0+dHlwZS5pc1R1cGxlKCkgJiYgIlVuZXhwZWN0ZWQgdHVwbGUgdHlwZSIAIWN1cnItPnZhbHVlLT50eXBlLmlzVHVwbGUoKSAmJiAiVW5leHBlY3RlZCB0dXBsZSB0eXBlIgAhY29uc3RfLT50eXBlLmlzVHVwbGUoKSAmJiAiVW5leHBlY3RlZCB0dXBsZSB0eXBlIgAhdmFsdWUudHlwZS5pc1R1cGxlKCkgJiYgIlVuZXhwZWN0ZWQgdHVwbGUgdHlwZSIAIXR5cGUuaXNUdXBsZSgpICYmICJVbmV4cGVjdGVkIHR1cGxlIHR5cGUiACFpc1R1cGxlKCkgJiYgIlVuZXhwZWN0ZWQgdHVwbGUgdHlwZSIAdHlwZSA9PSBUeXBlOjppMzIgJiYgInVuZXhwZWN0ZWQgdHlwZSIAbmFtZSAmJiAiQ2Fubm90IHByaW50IGFuIGVtcHR5IG5hbWUiAHByZVBhcnNlSW1wb3J0ICYmICJpbXBvcnQgZWxlbWVudCBpbiBub24tcHJlUGFyc2VJbXBvcnQgbW9kZSIAZmFsc2UgJiYgIlRvcCBjb25zdCB0eXBlIG5vdCBzdXBwb3J0ZWQiAGZhbHNlICYmICJUb3AgaW5pdCB0eXBlIG5vdCBzdXBwb3J0ZWQiAGN1cnItPnR5cGUgIT0gVHlwZTo6aTY0ICYmICI2NC1iaXQgQXRvbWljQ21weGNoZyBub3QgaW1wbGVtZW50ZWQiACFjdXJyLT5pc0F0b21pYyAmJiAiYXRvbWljIHN0b3JlIG5vdCBpbXBsZW1lbnRlZCIAIWN1cnItPmlzQXRvbWljICYmICI2NC1iaXQgYXRvbWljIGxvYWQgbm90IGltcGxlbWVudGVkIgByZXBsYWNlbWVudC0+dHlwZS5pc0Jhc2ljKCkgJiYgIkJhc2ljIHR5cGUgZXhwZWN0ZWQiAGluZm8tPnJlY0dyb3VwID09IG51bGxwdHIgJiYgImdyb3VwIGFscmVhZHkgYXNzaWduZWQiAFwiAF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIAIURlZmF1bHRUYXJnZXQgJiYgImJsb2NrIGhhcyBicmFuY2hlcyB3aXRob3V0IGEgZGVmYXVsdCAobnVsbHB0ciBmb3IgdGhlICIgImNvbmRpdGlvbikiAHN0cmluZygiACFpc1RlbXAoc2lnLnJlc3VsdHMpICYmICJMZWFraW5nIHRlbXBvcmFyeSB0eXBlISIAIWlzVGVtcChzaWcucGFyYW1zKSAmJiAiTGVha2luZyB0ZW1wb3JhcnkgdHlwZSEiACFpc1RlbXAoY29udGludWF0aW9uLnR5cGUpICYmICJMZWFraW5nIHRlbXBvcmFyeSB0eXBlISIAIWlzVGVtcCh0eXBlKSAmJiAiTGVha2luZyB0ZW1wb3JhcnkgdHlwZSEiACFpc1RlbXAoaGVhcFR5cGUpICYmICJMZWFraW5nIHRlbXBvcmFyeSB0eXBlISIAOzsgY3VzdG9tIHNlY3Rpb24gIgAiIC0+ICIALCAwLCAiACAgIgAhISFCQUQhISEAdHJ5IABhcnJheS5jb3B5IAB0YWJsZS5jb3B5IAAhIChtb2R1bGUgaGFzIG9ubHkgAHdhcm5pbmc6IEFzeW5jaWZ5IAAoYXJyYXkgAHdhcm5pbmc6IGVtcHR5IGxvY2FsIG5hbWUgYXQgaW5kZXggAE91dCBvZiBib3VuZHMgZnVuY3Rpb24gaW5kZXggAChvbiBpbmRleCAAT3V0IG9mIGJvdW5kcyBzdXBlcnR5cGUgaW5kZXggAGludmFsaWQgdHlwZSBpbmRleCAAcmV0aHJvdyAAdGFibGUuZ3JvdyAAbmV3IABhcnJheS5nZXRfdSAAc3RydWN0LmdldF91IAAgPSB6ZXh0IAAobXV0IABzdHJpbmcuY29uc3QgAHJlZi50ZXN0IABtYXgtZnVuYy1wYXJhbXMgbmVlZHMgdG8gYmUgYXQgbGVhc3QgAGJyX29uX2Nhc3QgAHJlZi5jYXN0IABleHBvcnQgAGltcG9ydCAAd2FzbTJqcyBjYW5ub3QgY29udmVydCAAYmFkIHNlZ21lbnQgZmxhZ3MsIG11c3QgYmUgMCwgMSwgb3IgMiwgbm90IAAgcGFyYW1ldGVycywgZ290IAAoY29udCAAKG9uIGFyZ3VtZW50IABiYWQgbW9kdWxlIGVsZW1lbnQgAChyZXN1bHQgAFtob3N0IGxpbWl0IABhcnJheS5zZXQgAHN0cnVjdC5zZXQgAGxvY2FsLnNldCAAZ2xvYmFsLnNldCAAdGFibGUuc2V0IABhcnJheS5nZXQgAHN0cnVjdC5nZXQgAGxvY2FsLmdldCAAZ2xvYmFsLmdldCAAdGFibGUuZ2V0IAByZXR1cm5fY2FsbF9pbmRpcmVjdCAAc2VsZWN0IAB0dXBsZS5leHRyYWN0IAAgKGF0IABhdHRlbXB0ZWQgcG9wIGZyb20gZW1wdHkgc3RhY2sgLyBiZXlvbmQgYmxvY2sgc3RhcnQgYm91bmRhcnkgYXQgAGJhZCB1c2VyIHNlY3Rpb24gc2l6ZSwgc3RhcnRlZCBhdCAAYmFkIHNlY3Rpb24gc2l6ZSwgc3RhcnRlZCBhdCAAYCBleHBlY3RzIABTZWdtZW50IGRhdGEgbm90IGZvdW5kIGJldHdlZW4gc3ltYm9scyAAIGJ1dCB0aGUgZnVuY3Rpb24gdHlwZSBpcyAAZm9sbG93aW5nIG5vZGUgaGFzIAAKKG1hcmtlZCBhcyAAaW1wb3J0ICogYXMgAGFycmF5LmdldF9zIABzdHJ1Y3QuZ2V0X3MgAGV4cHIgAGFkZFNldFVzZXMgZm9yIABJbnZhbGlkIHJlZmVyZW5jZSB0eXBlIGZvciAAIGZvciBwYXJhbWV0ZXIgAGJyIABleHBvcnQgdmFyIAB0dXBsZS5kcm9wIABVbmhhbmRsZWQgYmluYXJ5IG9wIABbdHJhcCAAJ3Mgc3RhdGUgaXMgc2V0IGJhc2VkIG9uIHRoZSBvbmx5LWxpc3QgdG8gAG51bWJlciBvZiBkYXRhIHNlZ21lbnRzLiBSdW4gdGhlIGxpbWl0LXNlZ21lbnRzIHBhc3MgdG8gACBjYW4gY2hhbmdlIHRoZSBzdGF0ZSBkdWUgdG8gACAgZHVlIHRvIAAgbm90IGJlaW5nIGVxdWFsIHRvIG5ldyBwb3NpdGlvbiAAbm9uLWNvbnRpbnVhdGlvbiB0eXBlIGluIHJlc3VtZSBpbnN0cnVjdGlvbiAAW1Bhc3NSdW5uZXJdIHJ1bm5pbmcgcGFzc2VzIG9uIGZ1bmN0aW9uIABudW1iZXIgb2YgcGFyYW1ldGVycyBpbiBmdW5jdGlvbiAAW3dhc20tdmFsaWRhdG9yIGVycm9yIGluIGZ1bmN0aW9uIAApIGJyb2tlIHZhbGlkYXRpb24gb2YgZnVuY3Rpb24gAEltcG9ydGVkIGZ1bmN0aW9uIAAgb24gAG5vdGUgb3JpZ2luIAAKc3RhcnQgYSB0cmFjZSAoaW4gAAo7IHN0YXJ0IExIUyAoaW4gAF5eIHN1c3BpY2lvdXMgY29uc3RhbnQgaW5wdXRzISBtaXNzaW5nIG9wdGltaXphdGlvbiBpbiAAXl4gc3VzcGljaW91cyBpZGVudGljYWwgaW5wdXRzISBtaXNzaW5nIG9wdGltaXphdGlvbiBpbiAAZXhwcmVzc2lvbiBzZWVuIG1vcmUgdGhhbiBvbmNlIGluIHRoZSB0cmVlIGluIABzdGFsZSB0eXBlIGZvdW5kIGluIAAgcmVzdWx0ZWQgaW4gACwgaW4gAGxhbmUgaW5kZXggbXVzdCBiZSBsZXNzIHRoYW4gAEJhZCB0eXBlIGZvcm0gACBjYW5ub3QgYmUgaW1wb3J0ZWQgZnJvbSAAYXJyYXkuaW5pdF9lbGVtIAAocGFyYW0gAGJyX29uX25vbl9udWxsIABicl9vbl9udWxsIAByZWYubnVsbCAAYXJyYXkuZmlsbCAAdGFibGUuZmlsbCAAcmV0dXJuX2NhbGwgAGNhdGNoX2FsbCAAYnJfb25fY2FzdF9mYWlsIABmaW5hbCAAICBhbmQgdGhhdCBpcyBzZXQgdG8gbG9jYWwgAChnbG9iYWwgAChvbiBnbG9iYWwgACB0b29rIAAgPSBibG9jayAAcGhpIABJbnZhbGlkIHR5cGUgZGVmaW5pdGlvbiB3aXRoIABjYXRjaCAAd2FybmluZzogYWN0aXZlIG1lbW9yeSBzZWdtZW50cyBoYXZlIG92ZXJsYXAsIHdoaWNoIABleHRyYWN0aW5nIABbUGFzc1J1bm5lcl0gcnVubmluZyAAY2FsbGluZyAALCBzZWVpbmcgACh0YWcgAEZvdW5kIG9ubHkgb25lIG9mIABicl9pZiAAcmV0dXJuX2NhbGxfcmVmIABjYXRjaF9hbGxfcmVmIABjYXRjaF9yZWYgAFtyZWYgAChyZWYgAHRhYmxlLnNpemUgADs7ICAgZXh0cmEgZHlsaW5rIGRhdGEsIHNpemUgACIsIHNpemUgAGRlbGVnYXRlIABjYXNlIAB3YXJuaW5nOiBmZWF0dXJlIAAgKHR5cGUgAGAgZXhwZWN0cyB0eXBlIABpbnZhbGlkIHNpZ25hdHVyZSB0eXBlIAByZXRocm93IHRhcmdldCBjYW5ub3QgdXNlIGludGVybmFsIG5hbWUgAHRoZSBuYW1lIAAgKHRhYmxlIAB0dXBsZS5tYWtlIABTb21lIFZNcyBtYXkgbm90IGFjY2VwdCB0aGlzIGJpbmFyeSBiZWNhdXNlIGl0IGhhcyBhIGxhcmdlIABsb2NhbC50ZWUgAGJhZCBub2RlIGNvZGUgACwgc2hvdWxkIGJlIAAgYnV0IGZvdW5kIABjb25kIABzdHJ1Y3QubmV3IG9wZXJhbmQgACkgYW5kIAAgKGZpZWxkIAB3YXJuaW5nOiB1bmtub3duIG5hbWUgc3Vic2VjdGlvbiB3aXRoIGlkIABiYWQgaGVhcCB0eXBlOiBleHBlY3RlZCAAIHBsdXMgcGF5bG9hZCAAcGMgAHJlZi5mdW5jIAAoc3ViIABhcnJheS5pbml0X2RhdGEgAFthc3luY2lmeV0gAFtQYXNzUnVubmVyXSAAW3dhc20tdmFsaWRhdG9yIGVycm9yIGluIG1vZHVsZV0gAE5PREUgADs7QCAAID0+IAAgPiAAID09IAAgIT0gACA9IAA7IABVbmhhbmRsZWQgdHlwZSBpbiB1bmFyeTogAFVuaGFuZGxlZCB0eXBlIGluIGJpbmFyeTogAGludmFsaWQgY29kZSBhZnRlciBtaXNjIHByZWZpeDogAGludmFsaWQgY29kZSBhZnRlciBhdG9taWMgcHJlZml4OiAAaW52YWxpZCBjb2RlIGFmdGVyIFNJTUQgcHJlZml4OiAAaW52YWxpZCBjb2RlIGFmdGVyIEdDIHByZWZpeDogAGludmFsaWQgc2lnbmF0dXJlIGluZGV4OiAAaW52YWxpZCBoZWFwIHR5cGUgaW5kZXg6IABpbnZhbGlkIHR5cGUgaW5kZXg6IAB1bmV4cGVjdGVkIHR5cGUgaW5kZXg6IABGdW5jdGlvbjo6Z2V0TG9jYWxJbmRleDogAGluIGEgbm9uLWZ1bmN0aW9uIGNvbnRleHQ6IABiYWQgbmFuIGlucHV0OiAAY2FsbCB0byB1bmlkZW5maWVkIGFzeW5jaWZ5IGltcG9ydDogAGNhbGxJbXBvcnQ6IHVua25vd24gaW1wb3J0OiAAaW1wb3J0R2xvYmFsczogdW5rbm93biBpbXBvcnQ6IABzdGFydDogADs7ICAgbWVtb3J5YWxpZ25tZW50OiAAOzsgICB0YWJsZWFsaWdubWVudDogAGJhZCBhbGlnbm1lbnQ6IABpbnZhbGlkIGNhbGwgdGFyZ2V0OiAAaW52YWxpZCBpNjQgZm9ybWF0OiAAaW52YWxpZCBmNjQgZm9ybWF0OiAAaW52YWxpZCBpMzIgZm9ybWF0OiAAaW52YWxpZCBmMzIgZm9ybWF0OiAALCBjb250ZW50czogAFtQYXNzUnVubmVyXSAgIHJ1bm5pbmcgcGFzczogAENvdWxkIG5vdCBmaW5kIHBhc3M6IABiYWQgaW5wdXQgdHlwZSBmb3IgcmVmLmFzOiAAVW5oYW5kbGVkIHVuYXJ5IG9wZXJhdG9yOiAAVW5oYW5kbGVkIGJpbmFyeSBmbG9hdCBvcGVyYXRvcjogAEludGVybmFsIEdsb2JhbFR5cGVSZXdyaXRlciBidWlsZCBlcnJvcjogAGxpc3QgY29udGFpbmVkIGEgbm9uLW1hdGNoaW5nIHBhdHRlcm46IABwYXJzZSBleGNlcHRpb246IAAKOyBmdW5jdGlvbjogAHdhcm5pbmc6IG1lbW9yeSBpbmRleCBvdXQgb2YgYm91bmRzIGluIG5hbWUgc2VjdGlvbiwgbWVtb3J5IHN1YnNlY3Rpb246IAB3YXJuaW5nOiBmdW5jdGlvbiBpbmRleCBvdXQgb2YgYm91bmRzIGluIG5hbWUgc2VjdGlvbiwgZnVuY3Rpb24gc3Vic2VjdGlvbjogAHdhcm5pbmc6IGVsZW0gaW5kZXggb3V0IG9mIGJvdW5kcyBpbiBuYW1lIHNlY3Rpb24sIGVsZW0gc3Vic2VjdGlvbjogAHdhcm5pbmc6IGZ1bmN0aW9uIGluZGV4IG91dCBvZiBib3VuZHMgaW4gbmFtZSBzZWN0aW9uLCBsb2NhbCBzdWJzZWN0aW9uOiAAd2FybmluZzogbG9jYWwgaW5kZXggb3V0IG9mIGJvdW5kcyBpbiBuYW1lIHNlY3Rpb24sIGxvY2FsIHN1YnNlY3Rpb246IAB3YXJuaW5nOiBnbG9iYWwgaW5kZXggb3V0IG9mIGJvdW5kcyBpbiBuYW1lIHNlY3Rpb24sIGdsb2JhbCBzdWJzZWN0aW9uOiAAd2FybmluZzogdGFnIGluZGV4IG91dCBvZiBib3VuZHMgaW4gbmFtZSBzZWN0aW9uLCB0YWcgc3Vic2VjdGlvbjogAHdhcm5pbmc6IHR5cGUgaW5kZXggb3V0IG9mIGJvdW5kcyBpbiBuYW1lIHNlY3Rpb24sIHR5cGUgc3Vic2VjdGlvbjogAHdhcm5pbmc6IG91dC1vZi1vcmRlciBuYW1lIHN1YnNlY3Rpb246IAB3YXJuaW5nOiB0YWJsZSBpbmRleCBvdXQgb2YgYm91bmRzIGluIG5hbWUgc2VjdGlvbiwgdGFibGUgc3Vic2VjdGlvbjogAHdhcm5pbmc6IGRhdGEgaW5kZXggb3V0IG9mIGJvdW5kcyBpbiBuYW1lIHNlY3Rpb24sIGRhdGEgc3Vic2VjdGlvbjogAHdhcm5pbmc6IG91dC1vZi1vcmRlciBkeWxpbmsuMCBzdWJzZWN0aW9uOiAAOzsgZmVhdHVyZXMgc2VjdGlvbjogAF0gKG9yaWdpbjogACdzIHR5cGUgbXVzdCBiZSBhIHNpZ25hdHVyZS4gR2l2ZW46IABGYXRhbDogAHdhcm5pbmc6IGNvdWxkIG5vdCBmaW5kIGdsb2JhbDogAHdhc20yanM6IHdhcm5pbmc6IGV4cG9ydCBuYW1lcyBjb2xsaWRpbmc6IABJbnZhbGlkIHJlZmVyZW5jZSB0eXBlIGZvciBhIGNhbGxfcmVmOiAAOzsgICBtZW1vcnlzaXplOiAAOzsgICB0YWJsZXNpemU6IAB1bmV4cGVjdGVkIHRydWU6IAB1c2Ugb2YgcG9wcGVkIGxhYmVsIGluIHNvdXJjZVRvVW5pcXVlOiAAYmFkIGxhYmVsIGluIHNvdXJjZVRvVW5pcXVlOiAAdW5leHBlY3RlZCBmYWxzZTogAE1pc3Npbmcgc2lnbmF0dXJlOiAAVW5oYW5kbGVkIHR5cGUgaW4gc3RvcmU6IAB1bnN1cHBvcnRlZCBleHBvcnQgdHlwZTogAGludmFsaWQgd2FzbSBoZWFwIHR5cGU6IABpbnZhbGlkIHdhc20gdHlwZTogAE1pc3NpbmcgdHlwZTogAENhbGwgdGFyZ2V0IGhhcyBpbnZhbGlkIHR5cGU6IABJbnZhbGlkIHR5cGU6IABwYXJzZWQgdHlwZSBkb2VzIG5vdCBtYXRjaCBleHBlY3RlZCB0eXBlOiAACiksIHR5cGU6IABsaXN0IGNvbnRhaW5lZCBhIG5vbi1leGlzdGluZyBmdW5jdGlvbiBuYW1lOiAAdW5rbm93biBtZW1vcnkgaW4gZ2V0TWVtb3J5TmFtZTogACwgYXZhaWxhYmxlOiAAJzogSW5wdXQgZmlsZSB0b28gbGFyZ2U6IABzZWN0aW9uIHNlZW4gbW9yZSB0aGFuIG9uY2U6IABjYXRjaCdzIHRhZyBuYW1lIGlzIGludmFsaWQ6IABnbG9iYWwncyB0eXBlIGlzIG5vdCBzdXBwb3J0ZWQ6IABleHBlY3RlZDogAAopLCByZXF1aXJlZDogAFVuaGFuZGxlZCB0eXBlIGluIGxvYWQ6IABVbmhhbmRsZWQgbnVtYmVyIG9mIGJ5dGVzIGluIGkzMiBsb2FkOiAAZnVuYzogADs7ICAgbmVlZGVkIGR5bmxpYjogAGludmFsaWQgbWVtb3J5IG5hbWUgaW4gaXNNZW1vcnk2NDogAGxpc3QgY29udGFpbmVkIGFuIGltcG9ydGVkIGZ1bmN0aW9uIG5hbWUgKHVzZSB0aGUgaW1wb3J0IGxpc3QgZm9yIGltcG9ydHMpOiAAJzogACI6IAAgOiAAaTMyeDQgAGk2NCAAIC8gAFVuYWJsZSB0byBtZXJnZSBzZWdtZW50cy4gAC4uLiAAICBiYXNlNjREZWNvZGVUb0V4aXN0aW5nVWludDhBcnJheShidWZmZXJWaWV3LCAAcG9seW1vcnBoaWMsIAAoOyB0ZW1wIDspIAAKICBmdW5jdGlvbiB3YXNtMmpzX2F0b21pY19ybXdfaTY0KG9wLCBieXRlcywgb2Zmc2V0LCBwdHIsIHZhbHVlTG93LCB2YWx1ZUhpZ2gpIHsKICAgIC8vIFRPRE86IHN1cHBvcnQgYnl0ZXM9MSwgMiwgNCBhcyB3ZWxsIGFzIDguCiAgICB2YXIgdmlldyA9IG5ldyBCaWdJbnQ2NEFycmF5KGJ1ZmZlclZpZXcuYnVmZmVyKTsgLy8gVE9ETyBjYWNoZQogICAgcHRyID0gKHB0ciArIG9mZnNldCkgPj4gMzsKICAgIHZhciB2YWx1ZSA9IEJpZ0ludCh2YWx1ZUxvdyA+Pj4gMCkgfCAoQmlnSW50KHZhbHVlSGlnaCA+Pj4gMCkgPDwgQmlnSW50KDMyKSk7CiAgICB2YXIgcmVzdWx0OwogICAgc3dpdGNoIChvcCkgewogICAgICBjYXNlIDA6IHsgLy8gQWRkCiAgICAgICAgcmVzdWx0ID0gQXRvbWljcy5hZGQodmlldywgcHRyLCB2YWx1ZSk7CiAgICAgICAgYnJlYWs7CiAgICAgIH0KICAgICAgY2FzZSAxOiB7IC8vIFN1YgogICAgICAgIHJlc3VsdCA9IEF0b21pY3Muc3ViKHZpZXcsIHB0ciwgdmFsdWUpOwogICAgICAgIGJyZWFrOwogICAgICB9CiAgICAgIGNhc2UgMjogeyAvLyBBbmQKICAgICAgICByZXN1bHQgPSBBdG9taWNzLmFuZCh2aWV3LCBwdHIsIHZhbHVlKTsKICAgICAgICBicmVhazsKICAgICAgfQogICAgICBjYXNlIDM6IHsgLy8gT3IKICAgICAgICByZXN1bHQgPSBBdG9taWNzLm9yKHZpZXcsIHB0ciwgdmFsdWUpOwogICAgICAgIGJyZWFrOwogICAgICB9CiAgICAgIGNhc2UgNDogeyAvLyBYb3IKICAgICAgICByZXN1bHQgPSBBdG9taWNzLnhvcih2aWV3LCBwdHIsIHZhbHVlKTsKICAgICAgICBicmVhazsKICAgICAgfQogICAgICBjYXNlIDU6IHsgLy8gWGNoZwogICAgICAgIHJlc3VsdCA9IEF0b21pY3MuZXhjaGFuZ2UodmlldywgcHRyLCB2YWx1ZSk7CiAgICAgICAgYnJlYWs7CiAgICAgIH0KICAgICAgZGVmYXVsdDogdGhyb3cgJ2JhZCBvcCc7CiAgICB9CiAgICB2YXIgbG93ID0gTnVtYmVyKHJlc3VsdCAmIEJpZ0ludCgweGZmZmZmZmZmKSkgfCAwOwogICAgdmFyIGhpZ2ggPSBOdW1iZXIoKHJlc3VsdCA+PiBCaWdJbnQoMzIpKSAmIEJpZ0ludCgweGZmZmZmZmZmKSkgfCAwOwogICAgc3Rhc2hlZEJpdHMgPSBoaWdoOwogICAgcmV0dXJuIGxvdzsKICB9CiAgICAgIAAKICBmdW5jdGlvbiB3YXNtMmpzX2F0b21pY193YWl0X2kzMihvZmZzZXQsIHB0ciwgZXhwZWN0ZWQsIHRpbWVvdXRMb3csIHRpbWVvdXRIaWdoKSB7CiAgICBwdHIgPSAocHRyICsgb2Zmc2V0KSA+PiAyOwogICAgdmFyIHRpbWVvdXQgPSBJbmZpbml0eTsKICAgIGlmICh0aW1lb3V0SGlnaCA+PSAwKSB7CiAgICAgIC8vIENvbnZlcnQgZnJvbSBuYW5vc2Vjb25kcyB0byBtaWxsaXNlY29uZHMKICAgICAgLy8gVGFrZW4gZnJvbSBjb252ZXJ0STMyUGFpclRvSTUzIGluIGVtc2NyaXB0ZW4ncyBsaWJyYXJ5X2ludDUzLmpzCiAgICAgIHRpbWVvdXQgPSAoKHRpbWVvdXRMb3cgPj4+IDApIC8gMWU2KSArIHRpbWVvdXRIaWdoICogKDQyOTQ5NjcyOTYgLyAxZTYpOwogICAgfQogICAgdmFyIHZpZXcgPSBuZXcgSW50MzJBcnJheShidWZmZXJWaWV3LmJ1ZmZlcik7IC8vIFRPRE8gY2FjaGUKICAgIHZhciByZXN1bHQgPSBBdG9taWNzLndhaXQodmlldywgcHRyLCBleHBlY3RlZCwgdGltZW91dCk7CiAgICBpZiAocmVzdWx0ID09ICdvaycpIHJldHVybiAwOwogICAgaWYgKHJlc3VsdCA9PSAnbm90LWVxdWFsJykgcmV0dXJuIDE7CiAgICBpZiAocmVzdWx0ID09ICd0aW1lZC1vdXQnKSByZXR1cm4gMjsKICAgIHRocm93ICdiYWQgcmVzdWx0ICcgKyByZXN1bHQ7CiAgfQogICAgICAACiAgdmFyIHN0YXNoZWRCaXRzID0gMDsKCiAgZnVuY3Rpb24gd2FzbTJqc19nZXRfc3Rhc2hlZF9iaXRzKCkgewogICAgcmV0dXJuIHN0YXNoZWRCaXRzOwogIH0KICAgICAgAAogIGZ1bmN0aW9uIHdhc20yanNfc2NyYXRjaF9zdG9yZV9pMzIoaW5kZXgsIHZhbHVlKSB7CiAgICBpMzJTY3JhdGNoVmlld1tpbmRleF0gPSB2YWx1ZTsKICB9CiAgICAgIAAKICBmdW5jdGlvbiB3YXNtMmpzX3NjcmF0Y2hfc3RvcmVfZjMyKHZhbHVlKSB7CiAgICBmMzJTY3JhdGNoVmlld1syXSA9IHZhbHVlOwogIH0KICAgICAgAAogIGZ1bmN0aW9uIHdhc20yanNfc2NyYXRjaF9zdG9yZV9mNjQodmFsdWUpIHsKICAgIGY2NFNjcmF0Y2hWaWV3WzBdID0gdmFsdWU7CiAgfQogICAgICAACiAgZnVuY3Rpb24gd2FzbTJqc19zY3JhdGNoX2xvYWRfaTMyKGluZGV4KSB7CiAgICByZXR1cm4gaTMyU2NyYXRjaFZpZXdbaW5kZXhdOwogIH0KICAgICAgAAogIGZ1bmN0aW9uIHdhc20yanNfc2NyYXRjaF9sb2FkX2YzMigpIHsKICAgIHJldHVybiBmMzJTY3JhdGNoVmlld1syXTsKICB9CiAgICAgIAAKICBmdW5jdGlvbiB3YXNtMmpzX3NjcmF0Y2hfbG9hZF9mNjQoKSB7CiAgICByZXR1cm4gZjY0U2NyYXRjaFZpZXdbMF07CiAgfQogICAgICAACiAgZnVuY3Rpb24gd2FzbTJqc19tZW1vcnlfaW5pdChzZWdtZW50LCBkZXN0LCBvZmZzZXQsIHNpemUpIHsKICAgIC8vIFRPRE86IHRyYXBzIG9uIGludmFsaWQgdGhpbmdzCiAgICBidWZmZXJWaWV3LnNldChtZW1vcnlTZWdtZW50c1tzZWdtZW50XS5zdWJhcnJheShvZmZzZXQsIG9mZnNldCArIHNpemUpLCBkZXN0KTsKICB9CiAgICAgIAAKICBmdW5jdGlvbiB3YXNtMmpzX21lbW9yeV9maWxsKGRlc3QsIHZhbHVlLCBzaXplKSB7CiAgICBkZXN0ID0gZGVzdCA+Pj4gMDsKICAgIHNpemUgPSBzaXplID4+PiAwOwogICAgaWYgKGRlc3QgKyBzaXplID4gYnVmZmVyVmlldy5sZW5ndGgpIHRocm93ICJ0cmFwOiBpbnZhbGlkIG1lbW9yeS5maWxsIjsKICAgIGJ1ZmZlclZpZXcuZmlsbCh2YWx1ZSwgZGVzdCwgZGVzdCArIHNpemUpOwogIH0KICAgICAgAAogIGZ1bmN0aW9uIHdhc20yanNfbWVtb3J5X2NvcHkoZGVzdCwgc291cmNlLCBzaXplKSB7CiAgICAvLyBUT0RPOiB0cmFwcyBvbiBpbnZhbGlkIHRoaW5ncwogICAgYnVmZmVyVmlldy5jb3B5V2l0aGluKGRlc3QsIHNvdXJjZSwgc291cmNlICsgc2l6ZSk7CiAgfQogICAgICAACiAgZnVuY3Rpb24gd2FzbTJqc19kYXRhX2Ryb3Aoc2VnbWVudCkgewogICAgLy8gVE9ETzogdHJhcHMgb24gaW52YWxpZCB0aGluZ3MKICAgIG1lbW9yeVNlZ21lbnRzW3NlZ21lbnRdID0gbmV3IFVpbnQ4QXJyYXkoMCk7CiAgfQogICAgICAACiAgdmFyIHNjcmF0Y2hCdWZmZXIgPSBuZXcgQXJyYXlCdWZmZXIoMTYpOwogIHZhciBpMzJTY3JhdGNoVmlldyA9IG5ldyBJbnQzMkFycmF5KHNjcmF0Y2hCdWZmZXIpOwogIHZhciBmMzJTY3JhdGNoVmlldyA9IG5ldyBGbG9hdDMyQXJyYXkoc2NyYXRjaEJ1ZmZlcik7CiAgdmFyIGY2NFNjcmF0Y2hWaWV3ID0gbmV3IEZsb2F0NjRBcnJheShzY3JhdGNoQnVmZmVyKTsKICAAZnVuY3Rpb24gd2FzbTJqc190cmFwKCkgeyB0aHJvdyBuZXcgRXJyb3IoJ2Fib3J0Jyk7IH0KAAogIH0KACAgcmV0dXJuIGFzbUZ1bmMoaW5mbyk7Cn0KACh7CgAiOiB7CgAgIHJldC5ncm93ID0gZnVuY3Rpb24oYnkpIHsKAGZ1bmN0aW9uIFRhYmxlKHJldCkgewoAZnVuY3Rpb24gaW5pdEFjdGl2ZVNlZ21lbnRzKGltcG9ydHMpIHsKACAgcmV0LmdldCA9IGZ1bmN0aW9uKGkpIHsKACAgcmV0LnNldCA9IGZ1bmN0aW9uKGksIGZ1bmMpIHsKAHdhcm5pbmc6IGNhbm5vdCBkZS1uYW4gb3V0c2lkZSBvZiBmdW5jdGlvbiBjb250ZXh0CgB3YXJuaW5nOiBubyBEV0FSRiBkdW1waW5nIHN1cHBvcnQgcHJlc2VudAoAbm9uLWNvbnN0YW50IG9mZnNldHMgYXJlbid0IHN1cHBvcnRlZCB5ZXQKAGNvdWxkIG5vdCBmaW5kIHRoZSBmdW5jdGlvbiB0byBleHRyYWN0CgAgZ2V0cwoAKSBicm9rZSB2YWxpZGF0aW9uLiBSdW4gd2l0aCBCSU5BUllFTl9QQVNTX0RFQlVHPTIgaW4gdGhlIGVudiB0byBzZWUgdGhlIGVhcmxpZXIgc3RhdGUsIG9yIDMgdG8gZHVtcCBieW4tKiBmaWxlcyBmb3IgZWFjaCBwYXNzCgBUT0RPOiBzaWRlIGVmZmVjdHMgaW4gcmVtb3ZlZCBmaWVsZHMgaW4gZ2xvYmFscwoAIHVzZXMKAGdldFVzZXMKAHdhc20yanMgZG9lc24ndCBzdXBwb3J0IG5vbi1mdW5jdGlvbiB0YWJsZXMKAGFkZCBudWxscHRyCgBmb3VuZCBleHRlcm5hbCB1c2UgZm9yCgA7OyBkeWxpbmsgc2VjdGlvbgoAd2FybmluZzogaW52YWxpZCBmaWVsZCBpbmRleCBpbiBuYW1lIGZpZWxkIHNlY3Rpb24KACBjYW4gY2hhbmdlIHRoZSBzdGF0ZSBkdWUgdG8gaW5pdGlhbCBzY2FuCgAgZnJvbQoAIjsgLy8gY2FsbAoAYWRkIGEgdmFsdWUKACBpcyBhbiBpbXBvcnQgdGhhdCBjYW4gY2hhbmdlIHRoZSBzdGF0ZQoAZmluYWwgbW9kdWxlIGRvZXMgbm90IHZhbGlkYXRlCgAgaXMgaW4gdGhlIHJlbW92ZS1saXN0LCBpZ25vcmUKACAgLy8gZ3JvdyBtZXRob2Qgbm90IGluY2x1ZGVkOyB0YWJsZSBpcyBub3QgZ3Jvd2FibGUKAHdhc20yanMgZG9lc24ndCBzdXBwb3J0IGEgdGFibGUgdGhhdCBpcyBib3RoIGltcG9ydGVkIGFuZCBleHBvcnRlZAoAIGlzIGluIHRoZSBhZGQtbGlzdCwgYWRkCgA/IF5eCgAgY29uZHMpXQoALy8gRU1TQ1JJUFRFTl9TVEFSVF9GVU5DUwoALy8gRU1TQ1JJUFRFTl9FTkRfRlVOQ1MKACAgdmFyIG1lbW9yeVNlZ21lbnRzID0ge307CgAgIH07CgAgICAgdGhpcy5sZW5ndGggPSB0aGlzLmxlbmd0aCArIGJ5OwoAICB2YXIgYnVmZmVyVmlldzsKACAgcmV0dXJuIHJldDsKACAgICB2YXIgb2xkID0gdGhpcy5sZW5ndGg7CgAgICAgcmV0dXJuIG9sZDsKACAgICB0aGlzW2ldID0gZnVuYzsKACAgICByZXR1cm4gdGhpc1tpXTsKAGRpZ3JhcGggY2FsbCB7CiAgcmFua2RpciA9IExSOwogIHN1YmdyYXBoIGNsdXN0ZXJfa2V5IHsKICAgIG5vZGUgW3NoYXBlPWJveCwgZm9udG5hbWU9Y291cmllciwgZm9udHNpemU9MTBdOwogICAgZWRnZSBbZm9udG5hbWU9Y291cmllciwgZm9udHNpemU9MTBdOwogICAgbGFiZWwgPSAiS2V5IjsKICAgICJJbXBvcnQiIFtzdHlsZT0iZmlsbGVkIiwgZmlsbGNvbG9yPSJ0dXJxdW9pc2UiXTsKICAgICJFeHBvcnQiIFtzdHlsZT0iZmlsbGVkIiwgZmlsbGNvbG9yPSJncmF5Il07CiAgICAiSW5kaXJlY3QgVGFyZ2V0IiBbc3R5bGU9ImZpbGxlZCwgcm91bmRlZCIsIGZpbGxjb2xvcj0id2hpdGUiXTsKICAgICJBIiAtPiAiQiIgW3N0eWxlPSJmaWxsZWQsIHJvdW5kZWQiLCBsYWJlbCA9ICJEaXJlY3QgQ2FsbCJdOwogIH0KCiAgbm9kZSBbc2hhcGU9Ym94LCBmb250bmFtZT1jb3VyaWVyLCBmb250c2l6ZT0xMF07CgAiIFtzdHlsZT0iZmlsbGVkIiwgZmlsbGNvbG9yPSJncmF5Il07CgAiIFtzdHlsZT0iZmlsbGVkIiwgZmlsbGNvbG9yPSJ3aGl0ZSJdOwoAIiBbc3R5bGU9ImZpbGxlZCIsIGZpbGxjb2xvcj0idHVycXVvaXNlIl07CgAiIFtzdHlsZT0iZmlsbGVkLCByb3VuZGVkIl07CgB9KTsKACIpOwoAJzsKAAoKQW5kIGhlcmUgaXQgaXMgbm93OgoALiBIZXJlIGlzIHRoZSBmdW5jdGlvbiBib2R5IGJlZm9yZToKACAxOmkxCgBtZXJnZSBzZWdtZW50cy4KAHByZXZlbnRzIHNvbWUgb3B0aW1pemF0aW9ucy4KACAgfSwKAFtQYXNzUnVubmVyXSAoZmluYWwgdmFsaWRhdGlvbikKAFtQYXNzUnVubmVyXSAgICh2YWxpZGF0aW5nKQoAZXhpdCgpCgB3YXJuaW5nOiBsaW5raW5nIHNlY3Rpb24gaXMgcHJlc2VudCwgc28gdGhpcyBpcyBub3QgYSBzdGFuZGFyZCB3YXNtIGZpbGUgLSBiaW5hcnllbiBjYW5ub3QgaGFuZGxlIHRoaXMgcHJvcGVybHkhCgBPdXQgb2YgbWVtb3J5IGFsbG9jYXRpbmcgJXpkIGJ5dGVzIGZvciBvdXRwdXQgYnVmZmVyIQoALCBvbiAKACkgYnJva2UgdmFsaWRhdGlvbi4gSGVyZSBpcyB0aGUgbW9kdWxlIGJlZm9yZTogCgB9CgoAY2Fubm90IHlldCBwcmludCAlcwoKAE40d2FzbTI0Q29uc3RhbnRFeHByZXNzaW9uUnVubmVySU5TXzE3Q0V4cHJlc3Npb25SdW5uZXJFRTIwTm9uY29uc3RhbnRFeGNlcHRpb25FAACkvQIAltUBAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAEGkrAcLJmZXAABnVwAAnAAAAGhXAABpVwAAalcAAGtXAABsVwAAbVcAAG5XAEHUrAcL+wFvVwAAcFcAAHFXAAChAAAAclcAAHNXAAB0VwAAdVcAAHZXAAB3VwAAeFcAAHlXAAB6VwAAe1cAAHxXAAB9VwAAflcAAH9XAACAVwAAgVcAAIJXAACDVwAAhFcAAIVXAACGVwAAh1cAAIhXAACJVwAAilcAAItXAABONHdhc20xM0V4aXRFeGNlcHRpb25FAACkvQIAzNYBAE40d2FzbTEzV2FzbUV4Y2VwdGlvbkUAAKS9AgDs1gEATjR3YXNtMTNUcmFwRXhjZXB0aW9uRQAApL0CAAzXAQBONHdhc20xOEhvc3RMaW1pdEV4Y2VwdGlvbkUApL0CACzXAQBB2K4HCxKMVwAAjVcAAI5XAACPVwAAkFcAQfSuBwsSjFcAAJFXAACOVwAAj1cAAJBXAEGQrwcLEpJXAACTVwAAlFcAAJVXAACWVwBBrK8HCxKSVwAAl1cAAJRXAACVVwAAllcAQcivBwsamFcAAJlXAACaVwAAm1cAAJxXAACdVwAAnlcAQeyvBwtZn1cAAKBXAAChVwAAolcAAKNXAACkVwAApVcAAAEAAAACAAAABAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAEAAAACAAAAAYAAAAGAAAABgAAAAYAQdiwBwuGAQEAAAACAAAABAAAAAgAAAABAAAAAgAAAAQAAAAIAAAATjR3YXNtMTdNYXBQYXJzZUV4Y2VwdGlvbkUAAKS9AgB42AEA9G8AABkKAAAT1QAAPl4AAD0yAABQJwAABFABALO2AACuZgAAf+UAAMw0AQCAUQEAiSUBAAcpAABxYAAAvgkAAHpaAEHosQcLGqZXAACnVwAAqFcAAKlXAACqVwAAq1cAAKxXAEGMsgcLGq1XAACuVwAAr1cAALBXAACxVwAAslcAALNXAEGwsgcLGq1XAAC0VwAAtVcAALZXAAC3VwAAuFcAABIIAEHUsgcLGrlXAAC6VwAAu1cAALxXAAC9VwAAvlcAAL9XAEH4sgcLvAG5VwAAwFcAAMFXAADCVwAAw1cAAMRXAAATCAAAAAAAAO//////////8P/////////u/////////+3/////////7P/////////r/////////+r/////////6f/////////n/////////+b/////////4v/////////h//////////H/////////8v/////////z/////////wH/////////wP///8D//////////v////3////8////+////wBB0LQHC+EDAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAACAAAAAwAAAAIAAAACAAAAAwAAAAMAAAADAAAAAgAAAAMAAAACAAAAAgAAAAMAAAADAAAAAwAAAAIAAAADAAAAAgAAAAIAAAADAAAAAwAAAAMAAAACAAAAAwAAAAIAAAACAAAAAwAAAAMAAAADAAAAAgAAAAMAAAACAAAAAgAAAAMAAAADAAAAAwAAAAIAAAADAAAAAgAAAAIAAAADAAAAAwAAAAMAAAAECAECAQIEBAgBAgECBAQIAQIBAgQECAECAQIEBAgBAgECBAQIAQIBAgQAAAIAAAADAAAAAgAAAAIAAAADAAAAAwAAAAMAAAAAAAAAAQAAAAAAAAACAAAAAwAAAAAAAAAEAAAAAAAAAAUAAAAAAAAABgAAAAAAAAAHAAAAEAAAABAAAAAQAAAACAAAAAgAAAAQAAAABAAAABAAAAACAAAAEAAAAAQAAAAQAAAAAgBBwLgHC9ECAQAAAAAAAAACAAAAAAAAAAMAAAAAAAAABAAAAAAAAAAFAAAAEAAAABAAAAAQAAAACAAAABAAAAAEAAAAEAAAAAIAAAAQAAAABAAAABAAAAACAAAATjR3YXNtMTVTUGFyc2VFeGNlcHRpb25FAAAAAOS9AgCU3AEAQAUCABUAAAAWAAAAGAAAABkAAAAbAAAAHQAAAB8AAAAhAAAAFwAAABoAAAAcAAAAHgAAACAAAAAiAAAAUgAAAAUBAAAGAQAABwEAAAgBAAAJAQAACgEAAAsBAAAMAQAAEwEAAGsAAABsAAAAbQAAAIsAAACMAAAAjQAAAKsAAACsAAAArQAAAMsAAADMAAAAzQAAAAcAAAAIAAAACQAAAAoAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAABcAAAAXQAAAIMAAACEAAAAhQAAAIoAAACZAAAAqgBBnLsHC6kBxVcAAMZXAADHVwAAyFcAAMlXAADKVwAAy1cAAAQAAAAIAAAABAAAAAgAAAAQAAAAAQAAAAIAAAACAAAAAgAAAA0AAAAOAAAADAAAAAwAAAAMAAAADAAAAAwAAAAPAAAADAAAAAwAAAAMAAAADAAAAAwAAAANAAAADgAAAA8AAAAOAAAADAAAAAwAAAAMAAAAAQAAAAIAAAAFAAAABgAAAAQAAAABAAAAAgBB0LwHC/0CzFcAAM1XAABOAQAAzlcAAM9XAADQVwAA0VcAAGxXAABtVwAAblcAAAIAAAACAAAAAgAAAAIAAAACAAAAAwAAAAQAAAAFAAAAEAAAABAAAAAIAAAACAAAAAQAAAACAAAABAAAAAIAAAACAAAAAgAAAAIAAAADAAAABAAAAAUAAAAQAAAACAAAAAQAAAACAAAABAAAAAIAAAACAAAAAgAAAAIAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAgAAAAMAAAACAAAAAgAAAAIAAAADAAAAAgAAAAIAAAACAAAAAwAAABAAAAAIAAAABAAAAAIAAAAQAAAACAAAAAQAAAACAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAEHovwcLVQgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAAAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAQdTABwsZCAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACABBmMEHCwkIAAAACAAAAAgAQcjBBwsFCAAAAAgAQeTBBwsVCAAAAAgAAAAIAAAACAAAAAgAAAAIAEGEwgcLZQgAAAAIAAAACAAAAAgAAAAIAAAACAAAACAAAAAgAAAAIAAAACAAAAAgAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAEH0wgcLBQgAAAAIAEGIwwcLBQgAAAAIAEGYwwcLBQgAAAAIAEGowwcLAQgAQbTDBwsJCAAAAAgAAAAIAEHQwwcLCQgAAAAIAAAACABB/MMHCw0IAAAACAAAAAgAAAAIAEGUxAcLGtJXAADTVwAA1FcAANVXAADWVwAA11cAANhXAEG4xAcLGtlXAADaVwAA21cAANxXAADdVwAA3lcAAN9XAEHcxAcLJuBXAADhVwAA4lcAAONXAADkVwAA5VcAAGtXAABsVwAAbVcAAG5XAEGMxQcLJuZXAADnVwAA6FcAAOlXAADqVwAA61cAAGtXAABsVwAA7FcAAG5XAEG8xQcLGu1XAADuVwAA71cAAPBXAADxVwAA8lcAAPNXAEHgxQcLGvRXAAD1VwAA9lcAAPdXAAD4VwAA+VcAAPpXAEGExgcLJvtXAAD8VwAA/VcAAP5XAADqVwAA61cAAGtXAABsVwAAbVcAAG5XAEG0xgcLJv9XAAAAWAAAAVgAAOlXAADqVwAA61cAAGtXAABsVwAAbVcAAAJYAEHkxgcLGgNYAAAEWAAABVgAAAZYAAAHWAAACFgAAAlYAEGIxwcLGgpYAAALWAAADFgAAA1YAAAOWAAAD1gAABBYAEGsxwcLJhFYAAASWAAAE1gAABRYAAAVWAAAFlgAABdYAABsVwAAbVcAAG5XAEHcxwcLGhhYAAAZWAAAGlgAABtYAAAcWAAAHVgAAB5YAEGAyAcLGhhYAAAfWAAAIFgAACFYAAAiWAAAI1gAACRYAEGkyAcLJiVYAAAmWAAAJ1gAAChYAAApWAAAKlgAACtYAABsVwAAbVcAAG5XAEHUyAcLGixYAAAtWAAALlgAAC9YAAAwWAAAMVgAADJYAEH4yAcLGixYAAAzWAAANFgAADVYAAA2WAAAN1gAADhYAEGcyQcLGjlYAAA6WAAAO1gAADxYAAA9WAAAPlgAAD9YAEHAyQcLJkBYAABBWAAAQlgAAENYAABEWAAARVgAAGtXAABsVwAAbVcAAG5XAEHwyQcLJkZYAABHWAAAQlgAAEhYAABJWAAASlgAAGtXAABsVwAAbVcAAG5XAEGgygcLJktYAABMWAAATVgAAE5YAABPWAAAUFgAAGtXAABsVwAAbVcAAG5XAEHQygcLJlFYAABSWAAAU1gAAFRYAABVWAAAVlgAAGtXAABsVwAAbVcAAG5XAEGAywcLJldYAABYWAAAWVgAAFpYAABbWAAAXFgAAGtXAABsVwAAbVcAAG5XAEGwywcLJl1YAABeWAAAX1gAAGBYAABhWAAAYlgAAGtXAABsVwAAbVcAAG5XAEHgywcLKmNYAABkWAAAZVgAAGZYAABnWAAAaFgAAGtXAABpWAAAbVcAAG5XAABqWABBlMwHCypjWAAAa1gAAGVYAABmWAAAZ1gAAGxYAABrVwAAaVgAAG1XAABuVwAAbVgAQcjMBwsmblgAAG9YAABwWAAAcVgAAHJYAABzWAAAa1cAAGxXAABtVwAAblcAQfjMBwsmdFgAAHVYAAB2WAAAd1gAAHhYAAB5WAAAa1cAAGxXAABtVwAAblcAQajNBwsm/1cAAHpYAAB7WAAA6VcAAOpXAADrVwAAa1cAAGxXAAB8WAAAblcAQdjNBwsmfVgAAH5YAAAgFwAAf1gAAIBYAACBWAAAglgAAGxXAABtVwAAblcAQYjOBwsmg1gAAIRYAAAsFwAAhVgAAIZYAACHWAAAa1cAAGxXAACIWAAAblcAQbjOBwsmiVgAAIpYAACLWAAAjFgAAI1YAACOWAAAa1cAAGxXAABtVwAAblcAQejOBwuVA49YAACQWAAAkVgAAJJYAACTWAAAlFgAAGtXAABsVwAAbVcAAG5XAAAAAAAAAQAAAAIAAAAEAAAAAwAAAAYAAAAFAAAACgAAAAwAAAALAAAADQAAAA4AAAAHAAAACAAAAAkAAADLAAAAywAAAA8AAAAQAAAAEQAAABIAAAATAAAAFAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAABsAAAAdAAAAHAAAAB8AAAAeAAAAIwAAACUAAAAkAAAAJgAAACcAAAAgAAAAIQAAACIAAADLAAAAywAAACgAAAApAAAAKgAAACsAAAAsAAAALQAAAC4AAAAvAAAAMAAAADEAAAAyAAAAMwAAADQAAAA1AAAANQAAAMsAAADLAAAAywAAAMsAAADLAAAAywAAAMsAAADLAAAAywAAAMsAAAA2AAAAywAAADkAAAA6AAAAPwAAAEAAAABBAAAAQgAAAEIAAADLAAAAywAAAMsAAADLAAAAywAAAMsAAADLAAAAywAAAMsAAADLAAAAQwAAAMsAAABGAAAARwBBiNIHCyaVWAAAllgAAJdYAADpVwAA6lcAAOtXAABrVwAAmFgAAG1XAABuVwBBuNIHCyaZWAAAmlgAAJtYAACcWAAAnVgAAJ5YAABrVwAAbFcAAG1XAABuVwBB6NIHCyafWAAAoFgAAKFYAACiWAAAo1gAAKRYAABrVwAAbFcAAKVYAABuVwBBmNMHCyamWAAAp1gAAKhYAACpWAAAqlgAAKtYAABrVwAAbFcAAG1XAABuVwBByNMHCyasWAAArVgAAK5YAACvWAAA6lcAAOtXAABrVwAAbFcAAG1XAACwWABB+NMHCyb/VwAAsVgAALJYAADpVwAA6lcAAOtXAABrVwAAbFcAAG1XAABuVwBBqNQHCxqmVwAAs1gAALRYAAC1WAAAtlgAALdYAAC4WABBzNQHCya5WAAAulgAAMcbAAC7WAAAvFgAAL1YAABrVwAAbFcAAG1XAABuVwBB/NQHCxq+WAAAv1gAAMBYAADBWAAAwlgAAMNYAAAoHABBoNUHCyb/VwAAxFgAAMVYAADpVwAA6lcAAOtXAABrVwAAbFcAAMZYAABuVwBB0NUHCyb/VwAAx1gAAMhYAADpVwAA6lcAAOtXAABrVwAAyVgAAMpYAABuVwBBgNYHCxrLWAAAzFgAAM1YAADOWAAAz1gAANBYAADRWABBpNYHCxrSWAAA01gAANRYAADVWAAA1lgAANdYAADYWABByNYHCybZWAAA2lgAAIocAADbWAAA3FgAAN1YAABrVwAAbFcAAG1XAABuVwBB+NYHCyb/VwAA3lgAAN9YAADpVwAA6lcAAOtXAABrVwAAbFcAAG1XAABuVwBBqNcHCyb/VwAA4FgAAOFYAADpVwAA6lcAAOtXAABrVwAAbFcAAG1XAADiWABB2NcHCyb/VwAA41gAAORYAADpVwAA6lcAAOtXAABrVwAAbFcAAG1XAADlWABBiNgHCybmWAAA51gAAOhYAADpWAAA6lgAAOtYAABrVwAA7FgAAG1XAABuVwBBuNgHCyb/VwAA7VgAAO5YAADpVwAA6lcAAOtXAABrVwAAbFcAAG1XAADvWABB6NgHCybwWAAA8VgAAL4dAADyWAAA81gAAPRYAABrVwAAbFcAAG1XAABuVwBBmNkHCyb1WAAA9lgAAPdYAAD4WAAA6lcAAOtXAABrVwAAbFcAAG1XAABuVwBByNkHCyb/VwAA+VgAAPpYAADpVwAA6lcAAOtXAABrVwAAbFcAAG1XAABuVwBB+NkHCxr7WAAA/FgAAP1YAAD+WAAA/1gAAABZAAABWQBBnNoHCyYCWQAAA1kAAARZAAAFWQAABlkAAAdZAAAIWQAAbFcAAG1XAABuVwBBzNoHCxIJWQAAClkAAAtZAAAMWQAADVkAQejaBwsm/1cAAA5ZAAAPWQAA6VcAAOpXAADrVwAAa1cAAGxXAABtVwAAblcAQZjbBwsm/1cAABBZAAARWQAA6VcAAOpXAADrVwAAa1cAAGxXAAASWQAAblcAQcjbBwsaE1kAABRZAAAVWQAAFlkAABdZAAAYWQAAGVkAQezbBwsmGlkAABtZAAAcWQAAHVkAAB5ZAAAfWQAAIFkAAGxXAABtVwAAblcAQZzcBwsmIVkAACJZAAA+HwAAI1kAACRZAAAlWQAAa1cAAGxXAAAmWQAAblcAQczcBwsmJ1kAAChZAAApWQAA6VcAAOpXAADrVwAAa1cAAGxXAAAqWQAAblcAQfzcBwsa7VcAACtZAAAsWQAALVkAAC5ZAAAvWQAAMFkAQaDdBwsmMVkAADJZAAAzWQAANFkAADVZAAA2WQAAN1kAAGxXAABtVwAAblcAQdDdBwsmOFkAADlZAAD+HwAAOlkAADtZAAA8WQAAa1cAAGxXAABtVwAAblcAQYDeBwsmPVkAAD5ZAAA/WQAA6VcAAOpXAADrVwAAa1cAAGxXAABtVwAAblcAQbDeBwsmQFkAAEFZAADBIAAAQlkAAENZAABEWQAARVkAAGxXAABtVwAAblcAQeDeBwsmRlkAAEdZAADJIAAASFkAAElZAABKWQAAa1cAAGxXAABtVwAAblcAQZDfBwsaS1kAAExZAABNWQAATlkAAE9ZAAD5VwAAUFkAQbTfBwsm/1cAAFFZAABSWQAA6VcAAOpXAADrVwAAa1cAAGxXAABtVwAAblcAQeTfBwsmU1kAAFRZAACKIQAAVVkAAFZZAABXWQAAa1cAAGxXAABtVwAAblcAQZTgBwsmWFkAAFlZAABaWQAAW1kAAFxZAABdWQAAa1cAAGxXAABtVwAAblcAQcTgBwsmXlkAAF9ZAABgWQAAYVkAAGJZAABjWQAAa1cAAGxXAABtVwAAZFkAQfTgBwsaZVkAAGZZAABnWQAAaFkAAGlZAABqWQAAa1kAQZjhBwu1AWxZAABtWQAAblkAAG9ZAABwWQAAcVkAAHJZAAAkAAAAJAAAACYAAAAmAAAAGAAAABgAAAAWAAAAGAAAABQAAAAYAAAAEgAAABMAAAATAAAAEwAAABMAAAAXAAAAEwAAABcAAAARAAAAEQAAABEAAAARAAAAFQAAABEAAAAVAAAAEgAAABIAAAAUAAAAEgAAABYAAAASAAAAGAAAABIAAAASAAAAEgAAABIAAAAWAAAAEgAAABYAQdjiBwsmc1kAAHRZAAB1WQAA6VcAAOpXAADrVwAAa1cAAHZZAABtVwAAblcAQYjjBwsmd1kAAHhZAAB7JAAAeVkAAHpZAAB7WQAAa1cAAGxXAABtVwAAblcAQbjjBwsmfFkAAH1ZAAB/JAAAflkAAH9ZAACAWQAAa1cAAGxXAABtVwAAblcAQejjBwsagVkAAIJZAACDWQAAhFkAAIVZAACGWQAAh1kAQYzkBwsKiFkAAIlZAACKWQBBoOQHCyaLWQAAjFkAAEJYAACNWQAAjlkAAI9ZAACQWQAAkVkAAJJZAACTWQBB0OQHCxrLWAAAlFkAAJVZAACWWQAAl1kAAJhZAACZWQBB9OQHCxrLWAAAmlkAAJtZAACcWQAAnVkAAJ5ZAACfWQBBmOUHCyb/VwAAoFkAAKFZAADpVwAA6lcAAOtXAABrVwAAbFcAAG1XAABuVwBByOUHCyaiWQAAo1kAAKRZAAClWQAA6lcAAOtXAABrVwAAbFcAAG1XAACmWQBB+OUHC4cBp1kAAKhZAACpWQAAqlkAAOpXAADrVwAAa1cAAGxXAABtVwAAq1kAAEjVAgBQ1QIAWNUCAGDVAgBw1QIAeNUCAIDVAgCI1QIAkNUCAJjVAgCg1QIAqNUCALDVAgC41QIAwNUCAMjVAgDQ1QIA2NUCAODVAgDo1QIA8NUCAPjVAgAA1gIACNYCAEGI5wcLJqxZAACtWQAArlkAAK9ZAACwWQAAsVkAAGtXAABsVwAAbVcAAG5XAEG45wcLJv9XAACyWQAAs1kAAOlXAADqVwAA61cAAGtXAABsVwAAbVcAAG5XAEHo5wcLJrRZAAC1WQAAiCgAALZZAADqVwAA61cAAGtXAABsVwAAbVcAAG5XAEGY6AcLJrdZAAC4WQAAiSgAALlZAADqVwAA61cAAGtXAABsVwAAbVcAAG5XAEHI6AcLJrpZAAC7WQAAiigAALxZAADqVwAA61cAAGtXAABsVwAAbVcAAG5XAEH46AcLJv9XAAC9WQAAvlkAAOlXAADqVwAA61cAAGtXAABsVwAAbVcAAG5XAEGo6QcLGoFZAAC/WQAAwFkAAMFZAADCWQAAw1kAAMRZAEHM6QcLJsVZAADGWQAAx1kAAOlXAADqVwAA61cAAGtXAABsVwAAbVcAAMhZAEH86QcLJslZAADKWQAApykAAMtZAADMWQAAzVkAAGtXAABsVwAAbVcAAG5XAEGs6gcLJv9XAADOWQAAz1kAAOlXAADqVwAA61cAAGtXAABsVwAAbVcAAG5XAEHc6gcLJtBZAADRWQAA0lkAANNZAADUWQAA1VkAAGtXAADWWQAAbVcAAG5XAEGM6wcLJtdZAADYWQAA2VkAANpZAADbWQAA3FkAAGtXAABsVwAA3VkAAG5XAEG86wcLJt5ZAADfWQAA4FkAAOFZAADqVwAA61cAAGtXAABsVwAAbVcAAOJZAEHs6wcLJuNZAADkWQAA5VkAAOZZAADnWQAA6FkAAGtXAABsVwAAbVcAAG5XAEGc7AcLJulZAADqWQAA61kAAOxZAADqVwAA61cAAGtXAABsVwAAbVcAAG5XAEHM7AcLJv9XAADtWQAA7lkAAOlXAADqVwAA61cAAGtXAABsVwAA71kAAG5XAEH87AcLJvBZAADxWQAAvC0AAPJZAADzWQAA9FkAAGtXAABsVwAA9VkA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YXNtX2N0el9pNjQsIHdoaWNoIHdhcyB3cm9uZyBzb21laG93LAo7OyAgICBpMzIsIGkzMiA9PiBpMzIgaW5zdGVhZCBvZiBpNjQgPT4gaTY0Cjs7ICAqIFJlbW92ZSB1bm5lY2Vzc2FyeSBtZW1vcnkgaW1wb3J0Lgo7Owo7OyBbMV06IGh0dHBzOi8vZ2lzdC5naXRodWIuY29tL2FsZXhjcmljaHRvbi9lN2VhNjdiY2RkMTdjZTRiNjI1NGU2NmY3NzE2NTY5MAoKKG1vZHVsZQogKHR5cGUgJDAgKGZ1bmMgKHBhcmFtIGk2NCBpNjQpIChyZXN1bHQgaTY0KSkpCiAodHlwZSAkMSAoZnVuYyAocGFyYW0gZjMyKSAocmVzdWx0IGYzMikpKQogKHR5cGUgJDIgKGZ1bmMgKHBhcmFtIGY2NCkgKHJlc3VsdCBmNjQpKSkKICh0eXBlICQzIChmdW5jIChwYXJhbSBpMzIpIChyZXN1bHQgaTMyKSkpCiAodHlwZSAkNCAoZnVuYyAocGFyYW0gaTMyIGkzMikgKHJlc3VsdCBpMzIpKSkKICh0eXBlICQ1IChmdW5jIChwYXJhbSBpNjQpIChyZXN1bHQgaTY0KSkpCiAoZXhwb3J0ICJfX3dhc21faTY0X3NkaXYiIChmdW5jICRfX3dhc21faTY0X3NkaXYpKQogKGV4cG9ydCAiX193YXNtX2k2NF91ZGl2IiAoZnVuYyAkX193YXNtX2k2NF91ZGl2KSkKIChleHBvcnQgIl9fd2FzbV9pNjRfc3JlbSIgKGZ1bmMgJF9fd2FzbV9pNjRfc3JlbSkpCiAoZXhwb3J0ICJfX3dhc21faTY0X3VyZW0iIChmdW5jICRfX3dhc21faTY0X3VyZW0pKQogKGV4cG9ydCAiX193YXNtX2k2NF9tdWwiIChmdW5jICRfX3dhc21faTY0X211bCkpCiAoZXhwb3J0ICJfX3dhc21fY3R6X2kzMiIgKGZ1bmMgJF9fd2FzbV9jdHpfaTMyKSkKIChleHBvcnQgIl9fd2FzbV9jdHpfaTY0IiAoZnVuYyAkX193YXNtX2N0el9pNjQpKQogKGV4cG9ydCAiX193YXNtX3JvdGxfaTMyIiAoZnVuYyAkX193YXNtX3JvdGxfaTMyKSkKIChleHBvcnQgIl9fd2FzbV9yb3RyX2kzMiIgKGZ1bmMgJF9fd2FzbV9yb3RyX2kzMikpCiAoZXhwb3J0ICJfX3dhc21fcm90bF9pNjQiIChmdW5jICRfX3dhc21fcm90bF9pNjQpKQogKGV4cG9ydCAiX193YXNtX3JvdHJfaTY0IiAoZnVuYyAkX193YXNtX3JvdHJfaTY0KSkKIChleHBvcnQgIl9fd2FzbV9uZWFyZXN0X2YzMiIgKGZ1bmMgJF9fd2FzbV9uZWFyZXN0X2YzMikpCiAoZXhwb3J0ICJfX3dhc21fbmVhcmVzdF9mNjQiIChmdW5jICRfX3dhc21fbmVhcmVzdF9mNjQpKQogKGV4cG9ydCAiX193YXNtX3BvcGNudF9pMzIiIChmdW5jICRfX3dhc21fcG9wY250X2kzMikpCiAoZXhwb3J0ICJfX3dhc21fcG9wY250X2k2NCIgKGZ1bmMgJF9fd2FzbV9wb3BjbnRfaTY0KSkKIChnbG9iYWwgJF9fd2FzbS1pbnRyaW5zaWNzLXRlbXAtaTY0IChtdXQgaTY0KSAoaTY0LmNvbnN0IDApKQoKIDs7IGxvd2VyaW5nIG9mIHRoZSBpMzIucG9wY250IGluc3RydWN0aW9uLCBjb3VudHMgdGhlIG51bWJlciBvZiBiaXRzIHNldCBpbiB0aGUKIDs7IGlucHV0IGFuZCByZXR1cm5zIHRoZSByZXN1bHQKIChmdW5jICRfX3dhc21fcG9wY250X2kzMiAocGFyYW0gJHZhciQwIGkzMikgKHJlc3VsdCBpMzIpCiAgKGxvY2FsICR2YXIkMSBpMzIpCiAgKGJsb2NrICRsYWJlbCQxIChyZXN1bHQgaTMyKQogICAobG9vcCAkbGFiZWwkMgogICAgKGRyb3AKICAgICAoYnJfaWYgJGxhYmVsJDEKICAgICAgKGxvY2FsLmdldCAkdmFyJDEpCiAgICAgIChpMzIuZXF6CiAgICAgICAobG9jYWwuZ2V0ICR2YXIkMCkKICAgICAgKQogICAgICkKICAgICkKICAgIChsb2NhbC5zZXQgJHZhciQwCiAgICAgKGkzMi5hbmQKICAgICAgKGxvY2FsLmdldCAkdmFyJDApCiAgICAgIChpMzIuc3ViCiAgICAgICAobG9jYWwuZ2V0ICR2YXIkMCkKICAgICAgIChpMzIuY29uc3QgMSkKICAgICAgKQogICAgICkKICAgICkKICAgIChsb2NhbC5zZXQgJHZhciQxCiAgICAgKGkzMi5hZGQKICAgICAgKGxvY2FsLmdldCAkdmFyJDEpCiAgICAgIChpMzIuY29uc3QgMSkKICAgICApCiAgICApCiAgICAoYnIgJGxhYmVsJDIpCiAgICkKICApCiApCiA7OyBsb3dlcmluZyBvZiB0aGUgaTY0LnBvcGNudCBpbnN0cnVjdGlvbiwgY291bnRzIHRoZSBudW1iZXIgb2YgYml0cyBzZXQgaW4gdGhlCiA7OyBpbnB1dCBhbmQgcmV0dXJucyB0aGUgcmVzdWx0CiAoZnVuYyAkX193YXNtX3BvcGNudF9pNjQgKHBhcmFtICR2YXIkMCBpNjQpIChyZXN1bHQgaTY0KQogIChsb2NhbCAkdmFyJDEgaTY0KQogIChibG9jayAkbGFiZWwkMSAocmVzdWx0IGk2NCkKICAgKGxvb3AgJGxhYmVsJDIKICAgIChkcm9wCiAgICAgKGJyX2lmICRsYWJlbCQxCiAgICAgIChsb2NhbC5nZXQgJHZhciQxKQogICAgICAoaTY0LmVxegogICAgICAgKGxvY2FsLmdldCAkdmFyJDApCiAgICAgICkKICAgICApCiAgICApCiAgICAobG9jYWwuc2V0ICR2YXIkMAogICAgIChpNjQuYW5kCiAgICAgIChsb2NhbC5nZXQgJHZhciQwKQogICAgICAoaTY0LnN1YgogICAgICAgKGxvY2FsLmdldCAkdmFyJDApCiAgICAgICAoaTY0LmNvbnN0IDEpCiAgICAgICkKICAgICApCiAgICApCiAgICAobG9jYWwuc2V0ICR2YXIkMQogICAgIChpNjQuYWRkCiAgICAgIChsb2NhbC5nZXQgJHZhciQxKQogICAgICAoaTY0LmNvbnN0IDEpCiAgICAgKQogICAgKQogICAgKGJyICRsYWJlbCQyKQogICApCiAgKQogKQogOzsgbG93ZXJpbmcgb2YgdGhlIGk2NC5kaXZfcyBpbnN0cnVjdGlvbiwgcmV0dXJuICR2YXIwIC8gJHZhciQxCiAoZnVuYyAkX193YXNtX2k2NF9zZGl2ICg7IDAgOykgKHR5cGUgJDApIChwYXJhbSAkdmFyJDAgaTY0KSAocGFyYW0gJHZhciQxIGk2NCkgKHJlc3VsdCBpNjQpCiAgKGNhbGwgJF9aTjE3Y29tcGlsZXJfYnVpbHRpbnMzaW50NHNkaXYzRGl2M2RpdjE3aGU3OGZjNDgzZTQxZDdlYzdFCiAgIChsb2NhbC5nZXQgJHZhciQwKQogICAobG9jYWwuZ2V0ICR2YXIkMSkKICApCiApCiA7OyBsb3dlcmluZyBvZiB0aGUgaTY0LmRpdl91IGluc3RydWN0aW9uLCByZXR1cm4gJHZhcjAgLyAkdmFyJDEKIChmdW5jICRfX3dhc21faTY0X3VkaXYgKDsgMSA7KSAodHlwZSAkMCkgKHBhcmFtICR2YXIkMCBpNjQpIChwYXJhbSAkdmFyJDEgaTY0KSAocmVzdWx0IGk2NCkKICAoY2FsbCAkX1pOMTdjb21waWxlcl9idWlsdGluczNpbnQ0dWRpdjEwZGl2bW9kX3U2NDE3aDYwMjY5MTBiNWVkMDhlNDBFCiAgIChsb2NhbC5nZXQgJHZhciQwKQogICAobG9jYWwuZ2V0ICR2YXIkMSkKICApCiApCiA7OyBsb3dlcmluZyBvZiB0aGUgaTY0LnJlbV9zIGluc3RydWN0aW9uLCByZXR1cm4gJHZhcjAgJSAkdmFyJDEKIChmdW5jICRfX3dhc21faTY0X3NyZW0gKDsgMiA7KSAodHlwZSAkMCkgKHBhcmFtICR2YXIkMCBpNjQpIChwYXJhbSAkdmFyJDEgaTY0KSAocmVzdWx0IGk2NCkKICAoY2FsbCAkX1pOMTdjb21waWxlcl9idWlsdGluczNpbnQ0c2RpdjNNb2Q0bW9kXzE3aDJjYmI3YmJmMzZlNDFkNjhFCiAgIChsb2NhbC5nZXQgJHZhciQwKQogICAobG9jYWwuZ2V0ICR2YXIkMSkKICApCiApCiA7OyBsb3dlcmluZyBvZiB0aGUgaTY0LnJlbV91IGluc3RydWN0aW9uLCByZXR1cm4gJHZhcjAgJSAkdmFyJDEKIChmdW5jICRfX3dhc21faTY0X3VyZW0gKDsgMyA7KSAodHlwZSAkMCkgKHBhcmFtICR2YXIkMCBpNjQpIChwYXJhbSAkdmFyJDEgaTY0KSAocmVzdWx0IGk2NCkKICAoZHJvcAogICAoY2FsbCAkX1pOMTdjb21waWxlcl9idWlsdGluczNpbnQ0dWRpdjEwZGl2bW9kX3U2NDE3aDYwMjY5MTBiNWVkMDhlNDBFCiAgICAobG9jYWwuZ2V0ICR2YXIkMCkKICAgIChsb2NhbC5nZXQgJHZhciQxKQogICApCiAgKQogIChnbG9iYWwuZ2V0ICRfX3dhc20taW50cmluc2ljcy10ZW1wLWk2NCkKICkKIDs7IGxvd2VyaW5nIG9mIHRoZSBpNjQubXVsIGluc3RydWN0aW9uLCByZXR1cm4gJHZhcjAgKiAkdmFyJDEKIChmdW5jICRfX3dhc21faTY0X211bCAoOyA0IDspICh0eXBlICQwKSAocGFyYW0gJHZhciQwIGk2NCkgKHBhcmFtICR2YXIkMSBpNjQpIChyZXN1bHQgaTY0KQogIChjYWxsICRfWk4xN2NvbXBpbGVyX2J1aWx0aW5zM2ludDNtdWwzTXVsM211bDE3aDA3MGU5YTFjNjlmYWVjNWJFCiAgIChsb2NhbC5nZXQgJHZhciQwKQogICAobG9jYWwuZ2V0ICR2YXIkMSkKICApCiApCiA7OyBsb3dlcmluZyBvZiB0aGUgaTMyLmN0eiBpbnN0cnVjdGlvbiwgY291bnRpbmcgdGhlIG51bWJlciBvZiB6ZXJvcyBpbiAkdmFyJDAKIChmdW5jICRfX3dhc21fY3R6X2kzMiAoOyA3IDspICh0eXBlICQzKSAocGFyYW0gJHZhciQwIGkzMikgKHJlc3VsdCBpMzIpCiAgKGlmCiAgIChsb2NhbC5nZXQgJHZhciQwKQogICAodGhlbgogICAgKHJldHVybgogICAgIChpMzIuc3ViCiAgICAgIChpMzIuY29uc3QgMzEpCiAgICAgIChpMzIuY2x6CiAgICAgICAoaTMyLnhvcgogICAgICAgIChpMzIuYWRkCiAgICAgICAgIChsb2NhbC5nZXQgJHZhciQwKQogICAgICAgICAoaTMyLmNvbnN0IC0xKQogICAgICAgICkKICAgICAgICAobG9jYWwuZ2V0ICR2YXIkMCkKICAgICAgICkKICAgICAgKQogICAgICkKICAgICkKICAgKQogICkKICAoaTMyLmNvbnN0IDMyKQogKQogOzsgbG93ZXJpbmcgb2YgdGhlIGk2NC5jdHogaW5zdHJ1Y3Rpb24sIGNvdW50aW5nIHRoZSBudW1iZXIgb2YgemVyb3MgaW4gJHZhciQwCiAoZnVuYyAkX193YXNtX2N0el9pNjQgKDsgOCA7KSAodHlwZSAkNSkgKHBhcmFtICR2YXIkMCBpNjQpIChyZXN1bHQgaTY0KQogIChpZgogICAoaTMyLmVxegogICAgKGk2NC5lcXoKICAgICAobG9jYWwuZ2V0ICR2YXIkMCkKICAgICkKICAgKQogICAodGhlbgogICAgKHJldHVybgogICAgIChpNjQuc3ViCiAgICAgIChpNjQuY29uc3QgNjMpCiAgICAgIChpNjQuY2x6CiAgICAgICAoaTY0LnhvcgogICAgICAgIChpNjQuYWRkCiAgICAgICAgIChsb2NhbC5nZXQgJHZhciQwKQogICAgICAgICAoaTY0LmNvbnN0IC0xKQogICAgICAgICkKICAgICAgICAobG9jYWwuZ2V0ICR2YXIkMCkKICAgICAgICkKICAgICAgKQogICAgICkKICAgICkKICAgKQogICkKICAoaTY0LmNvbnN0IDY0KQogKQogOzsgbG93ZXJpbmcgb2YgdGhlIGkzMi5yb3RsIGluc3RydWN0aW9uLCByb3RhdGluZyB0aGUgZmlyc3QgYXJndW1lbnQsIHdpdGgKIDs7IHdyYXBhcm91bmQsIGJ5IHRoZSBzZWNvbmQgYXJndW1lbnQKIChmdW5jICRfX3dhc21fcm90bF9pMzIgKDsgOCA7KSAodHlwZSAkNCkgKHBhcmFtICR2YXIkMCBpMzIpIChwYXJhbSAkdmFyJDEgaTMyKSAocmVzdWx0IGkzMikKICAobG9jYWwgJHZhciQyIGkzMikKICAoaTMyLm9yCiAgIChpMzIuc2hsCiAgICAoaTMyLmFuZAogICAgIChpMzIuc2hyX3UKICAgICAgKGkzMi5jb25zdCAtMSkKICAgICAgKGxvY2FsLnRlZSAkdmFyJDIKICAgICAgIChpMzIuYW5kCiAgICAgICAgKGxvY2FsLmdldCAkdmFyJDEpCiAgICAgICAgKGkzMi5jb25zdCAzMSkKICAgICAgICkKICAgICAgKQogICAgICkKICAgICAobG9jYWwuZ2V0ICR2YXIkMCkKICAgICkKICAgIChsb2NhbC5nZXQgJHZhciQyKQogICApCiAgIChpMzIuc2hyX3UKICAgIChpMzIuYW5kCiAgICAgKGkzMi5zaGwKICAgICAgKGkzMi5jb25zdCAtMSkKICAgICAgKGxvY2FsLnRlZSAkdmFyJDEKICAgICAgIChpMzIuYW5kCiAgICAgICAgKGkzMi5zdWIKICAgICAgICAgKGkzMi5jb25zdCAwKQogICAgICAgICAobG9jYWwuZ2V0ICR2YXIkMSkKICAgICAgICApCiAgICAgICAgKGkzMi5jb25zdCAzMSkKICAgICAgICkKICAgICAgKQogICAgICkKICAgICAobG9jYWwuZ2V0ICR2YXIkMCkKICAgICkKICAgIChsb2NhbC5nZXQgJHZhciQxKQogICApCiAgKQogKQogOzsgbG93ZXJpbmcgb2YgdGhlIGkzMi5yb3RyIGluc3RydWN0aW9uLCByb3RhdGluZyB0aGUgZmlyc3QgYXJndW1lbnQsIHdpdGgKIDs7IHdyYXBhcm91bmQsIGJ5IHRoZSBzZWNvbmQgYXJndW1lbnQKIChmdW5jICRfX3dhc21fcm90cl9pMzIgKDsgOSA7KSAodHlwZSAkNCkgKHBhcmFtICR2YXIkMCBpMzIpIChwYXJhbSAkdmFyJDEgaTMyKSAocmVzdWx0IGkzMikKICAobG9jYWwgJHZhciQyIGkzMikKICAoaTMyLm9yCiAgIChpMzIuc2hyX3UKICAgIChpMzIuYW5kCiAgICAgKGkzMi5zaGwKICAgICAgKGkzMi5jb25zdCAtMSkKICAgICAgKGxvY2FsLnRlZSAkdmFyJDIKICAgICAgIChpMzIuYW5kCiAgICAgICAgKGxvY2FsLmdldCAkdmFyJDEpCiAgICAgICAgKGkzMi5jb25zdCAzMSkKICAgICAgICkKICAgICAgKQogICAgICkKICAgICAobG9jYWwuZ2V0ICR2YXIkMCkKICAgICkKICAgIChsb2NhbC5nZXQgJHZhciQyKQogICApCiAgIChpMzIuc2hsCiAgICAoaTMyLmFuZAogICAgIChpMzIuc2hyX3UKICAgICAgKGkzMi5jb25zdCAtMSkKICAgICAgKGxvY2FsLnRlZSAkdmFyJDEKICAgICAgIChpMzIuYW5kCiAgICAgICAgKGkzMi5zdWIKICAgICAgICAgKGkzMi5jb25zdCAwKQogICAgICAgICAobG9jYWwuZ2V0ICR2YXIkMSkKICAgICAgICApCiAgICAgICAgKGkzMi5jb25zdCAzMSkKICAgICAgICkKICAgICAgKQogICAgICkKICAgICAobG9jYWwuZ2V0ICR2YXIkMCkKICAgICkKICAgIChsb2NhbC5nZXQgJHZhciQxKQogICApCiAgKQogKQogOzsgbG93ZXJpbmcgb2YgdGhlIGk2NC5yb3RsIGluc3RydWN0aW9uLCByb3RhdGluZyB0aGUgZmlyc3QgYXJndW1lbnQsIHdpdGgKIDs7IHdyYXBhcm91bmQsIGJ5IHRoZSBzZWNvbmQgYXJndW1lbnQKIChmdW5jICRfX3dhc21fcm90bF9pNjQgKDsgMTAgOykgKHR5cGUgJDApIChwYXJhbSAkdmFyJDAgaTY0KSAocGFyYW0gJHZhciQxIGk2NCkgKHJlc3VsdCBpNjQpCiAgKGxvY2FsICR2YXIkMiBpNjQpCiAgKGk2NC5vcgogICAoaTY0LnNobAogICAgKGk2NC5hbmQKICAgICAoaTY0LnNocl91CiAgICAgIChpNjQuY29uc3QgLTEpCiAgICAgIChsb2NhbC50ZWUgJHZhciQyCiAgICAgICAoaTY0LmFuZAogICAgICAgIChsb2NhbC5nZXQgJHZhciQxKQogICAgICAgIChpNjQuY29uc3QgNjMpCiAgICAgICApCiAgICAgICkKICAgICApCiAgICAgKGxvY2FsLmdldCAkdmFyJDApCiAgICApCiAgICAobG9jYWwuZ2V0ICR2YXIkMikKICAgKQogICAoaTY0LnNocl91CiAgICAoaTY0LmFuZAogICAgIChpNjQuc2hsCiAgICAgIChpNjQuY29uc3QgLTEpCiAgICAgIChsb2NhbC50ZWUgJHZhciQxCiAgICAgICAoaTY0LmFuZAogICAgICAgIChpNjQuc3ViCiAgICAgICAgIChpNjQuY29uc3QgMCkKICAgICAgICAgKGxvY2FsLmdldCAkdmFyJDEpCiAgICAgICAgKQogICAgICAgIChpNjQuY29uc3QgNjMpCiAgICAgICApCiAgICAgICkKICAgICApCiAgICAgKGxvY2FsLmdldCAkdmFyJDApCiAgICApCiAgICAobG9jYWwuZ2V0ICR2YXIkMSkKICAgKQogICkKICkKIDs7IGxvd2VyaW5nIG9mIHRoZSBpNjQucm90ciBpbnN0cnVjdGlvbiwgcm90YXRpbmcgdGhlIGZpcnN0IGFyZ3VtZW50LCB3aXRoCiA7OyB3cmFwYXJvdW5kLCBieSB0aGUgc2Vjb25kIGFyZ3VtZW50CiAoZnVuYyAkX193YXNtX3JvdHJfaTY0ICg7IDExIDspICh0eXBlICQwKSAocGFyYW0gJHZhciQwIGk2NCkgKHBhcmFtICR2YXIkMSBpNjQpIChyZXN1bHQgaTY0KQogIChsb2NhbCAkdmFyJDIgaTY0KQogIChpNjQub3IKICAgKGk2NC5zaHJfdQogICAgKGk2NC5hbmQKICAgICAoaTY0LnNobAogICAgICAoaTY0LmNvbnN0IC0xKQogICAgICAobG9jYWwudGVlICR2YXIkMgogICAgICAgKGk2NC5hbmQKICAgICAgICAobG9jYWwuZ2V0ICR2YXIkMSkKICAgICAgICAoaTY0LmNvbnN0IDYzKQogICAgICAgKQogICAgICApCiAgICAgKQogICAgIChsb2NhbC5nZXQgJHZhciQwKQogICAgKQogICAgKGxvY2FsLmdldCAkdmFyJDIpCiAgICkKICAgKGk2NC5zaGwKICAgIChpNjQuYW5kCiAgICAgKGk2NC5zaHJfdQogICAgICAoaTY0LmNvbnN0IC0xKQogICAgICAobG9jYWwudGVlICR2YXIkMQogICAgICAgKGk2NC5hbmQKICAgICAgICAoaTY0LnN1YgogICAgICAgICAoaTY0LmNvbnN0IDApCiAgICAgICAgIChsb2NhbC5nZXQgJHZhciQxKQogICAgICAgICkKICAgICAgICAoaTY0LmNvbnN0IDYzKQogICAgICAgKQogICAgICApCiAgICAgKQogICAgIChsb2NhbC5nZXQgJHZhciQwKQogICAgKQogICAgKGxvY2FsLmdldCAkdmFyJDEpCiAgICkKICApCiApCiA7OyBsb3dlcmluZyBvZiB0aGUgZjMyLm5lYXJlc3QgaW5zdHJ1Y3Rpb24sIHJvdW5kaW5nIHRoZSBpbnB1dCB0byB0aGUgbmVhcmVzdAogOzsgaW50ZWdlciB3aGlsZSBicmVha2luZyB0aWVzIGJ5IHJvdW5kaW5nIHRvIGV2ZW4KIChmdW5jICRfX3dhc21fbmVhcmVzdF9mMzIgKDsgMTIgOykgKHR5cGUgJDEpIChwYXJhbSAkdmFyJDAgZjMyKSAocmVzdWx0IGYzMikKICAobG9jYWwgJHZhciQxIGYzMikKICAobG9jYWwgJHZhciQyIGYzMikKICAoaWYKICAgKGkzMi5lcXoKICAgIChmMzIubHQKICAgICAobG9jYWwudGVlICR2YXIkMgogICAgICAoZjMyLnN1YgogICAgICAgKGxvY2FsLmdldCAkdmFyJDApCiAgICAgICAobG9jYWwudGVlICR2YXIkMQogICAgICAgIChmMzIuZmxvb3IKICAgICAgICAgKGxvY2FsLmdldCAkdmFyJDApCiAgICAgICAgKQogICAgICAgKQogICAgICApCiAgICAgKQogICAgIChmMzIuY29uc3QgMC41KQogICAgKQogICApCiAgICh0aGVuCiAgICAoYmxvY2sKICAgICAobG9jYWwuc2V0ICR2YXIkMAogICAgICAoZjMyLmNlaWwKICAgICAgIChsb2NhbC5nZXQgJHZhciQwKQogICAgICApCiAgICAgKQogICAgIChpZgogICAgICAoZjMyLmd0CiAgICAgICAobG9jYWwuZ2V0ICR2YXIkMikKICAgICAgIChmMzIuY29uc3QgMC41KQogICAgICApCiAgICAgICh0aGVuCiAgICAgICAocmV0dXJuCiAgICAgICAgKGxvY2FsLmdldCAkdmFyJDApCiAgICAgICApCiAgICAgICkKICAgICApCiAgICAgKGxvY2FsLnNldCAkdmFyJDEKICAgICAgKHNlbGVjdAogICAgICAgKGxvY2FsLmdldCAkdmFyJDEpCiAgICAgICAobG9jYWwuZ2V0ICR2YXIkMCkKICAgICAgIChmMzIuZXEKICAgICAgICAoZjMyLnN1YgogICAgICAgICAobG9jYWwudGVlICR2YXIkMgogICAgICAgICAgKGYzMi5tdWwKICAgICAgICAgICAobG9jYWwuZ2V0ICR2YXIkMSkKICAgICAgICAgICAoZjMyLmNvbnN0IDAuNSkKICAgICAgICAgICkKICAgICAgICAgKQogICAgICAgICAoZjMyLmZsb29yCiAgICAgICAgICAobG9jYWwuZ2V0ICR2YXIkMikKICAgICAgICAgKQogICAgICAgICkKICAgICAgICAoZjMyLmNvbnN0IDApCiAgICAgICApCiAgICAgICkKICAgICApCiAgICApCiAgICkKICApCiAgKGxvY2FsLmdldCAkdmFyJDEpCiApCiA7OyBsb3dlcmluZyBvZiB0aGUgZjY0Lm5lYXJlc3QgaW5zdHJ1Y3Rpb24sIHJvdW5kaW5nIHRoZSBpbnB1dCB0byB0aGUgbmVhcmVzdAogOzsgaW50ZWdlciB3aGlsZSBicmVha2luZyB0aWVzIGJ5IHJvdW5kaW5nIHRvIGV2ZW4KIChmdW5jICRfX3dhc21fbmVhcmVzdF9mNjQgKDsgMTMgOykgKHR5cGUgJDIpIChwYXJhbSAkdmFyJDAgZjY0KSAocmVzdWx0IGY2NCkKICAobG9jYWwgJHZhciQxIGY2NCkKICAobG9jYWwgJHZhciQyIGY2NCkKICAoaWYKICAgKGkzMi5lcXoKICAgIChmNjQubHQKICAgICAobG9jYWwudGVlICR2YXIkMgogICAgICAoZjY0LnN1YgogICAgICAgKGxvY2FsLmdldCAkdmFyJDApCiAgICAgICAobG9jYWwudGVlICR2YXIkMQogICAgICAgIChmNjQuZmxvb3IKICAgICAgICAgKGxvY2FsLmdldCAkdmFyJDApCiAgICAgICAgKQogICAgICAgKQogICAgICApCiAgICAgKQogICAgIChmNjQuY29uc3QgMC41KQogICAgKQogICApCiAgICh0aGVuCiAgICAoYmxvY2sKICAgICAobG9jYWwuc2V0ICR2YXIkMAogICAgICAoZjY0LmNlaWwKICAgICAgIChsb2NhbC5nZXQgJHZhciQwKQogICAgICApCiAgICAgKQogICAgIChpZgogICAgICAoZjY0Lmd0CiAgICAgICAobG9jYWwuZ2V0ICR2YXIkMikKICAgICAgIChmNjQuY29uc3QgMC41KQogICAgICApCiAgICAgICh0aGVuCiAgICAgICAocmV0dXJuCiAgICAgICAgKGxvY2FsLmdldCAkdmFyJDApCiAgICAgICApCiAgICAgICkKICAgICApCiAgICAgKGxvY2FsLnNldCAkdmFyJDEKICAgICAgKHNlbGVjdAogICAgICAgKGxvY2FsLmdldCAkdmFyJDEpCiAgICAgICAobG9jYWwuZ2V0ICR2YXIkMCkKICAgICAgIChmNjQuZXEKICAgICAgICAoZjY0LnN1YgogICAgICAgICAobG9jYWwudGVlICR2YXIkMgogICAgICAgICAgKGY2NC5tdWwKICAgICAgICAgICAobG9jYWwuZ2V0ICR2YXIkMSkKICAgICAgICAgICAoZjY0LmNvbnN0IDAuNSkKICAgICAgICAgICkKICAgICAgICAgKQogICAgICAgICAoZjY0LmZsb29yCiAgICAgICAgICAobG9jYWwuZ2V0ICR2YXIkMikKICAgICAgICAgKQogICAgICAgICkKICAgICAgICAoZjY0LmNvbnN0IDApCiAgICAgICApCiAgICAgICkKICAgICApCiAgICApCiAgICkKICApCiAgKGxvY2FsLmdldCAkdmFyJDEpCiApCiAoZnVuYyAkX1pOMTdjb21waWxlcl9idWlsdGluczNpbnQ0dWRpdjEwZGl2bW9kX3U2NDE3aDYwMjY5MTBiNWVkMDhlNDBFICg7IDE0IDspICh0eXBlICQwKSAocGFyYW0gJHZhciQwIGk2NCkgKHBhcmFtICR2YXIkMSBpNjQpIChyZXN1bHQgaTY0KQogIChsb2NhbCAkdmFyJDIgaTMyKQogIChsb2NhbCAkdmFyJDMgaTMyKQogIChsb2NhbCAkdmFyJDQgaTMyKQogIChsb2NhbCAkdmFyJDUgaTY0KQogIChsb2NhbCAkdmFyJDYgaTY0KQogIChsb2NhbCAkdmFyJDcgaTY0KQogIChsb2NhbCAkdmFyJDggaTY0KQogIChibG9jayAkbGFiZWwkMQogICAoYmxvY2sgJGxhYmVsJDIKICAgIChibG9jayAkbGFiZWwkMwogICAgIChibG9jayAkbGFiZWwkNAogICAgICAoYmxvY2sgJGxhYmVsJDUKICAgICAgIChibG9jayAkbGFiZWwkNgogICAgICAgIChibG9jayAkbGFiZWwkNwogICAgICAgICAoYmxvY2sgJGxhYmVsJDgKICAgICAgICAgIChibG9jayAkbGFiZWwkOQogICAgICAgICAgIChibG9jayAkbGFiZWwkMTAKICAgICAgICAgICAgKGJsb2NrICRsYWJlbCQxMQogICAgICAgICAgICAgKGlmCiAgICAgICAgICAgICAgKGxvY2FsLnRlZSAkdmFyJDIKICAgICAgICAgICAgICAgKGkzMi53cmFwX2k2NAogICAgICAgICAgICAgICAgKGk2NC5zaHJfdQogICAgICAgICAgICAgICAgIChsb2NhbC5nZXQgJHZhciQwKQogICAgICAgICAgICAgICAgIChpNjQuY29uc3QgMzIpCiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgKHRoZW4KICAgICAgICAgICAgICAgKGJsb2NrCiAgICAgICAgICAgICAgICAoYnJfaWYgJGxhYmVsJDExCiAgICAgICAgICAgICAgICAgKGkzMi5lcXoKICAgICAgICAgICAgICAgICAgKGxvY2FsLnRlZSAkdmFyJDMKICAgICAgICAgICAgICAgICAgIChpMzIud3JhcF9pNjQKICAgICAgICAgICAgICAgICAgICAobG9jYWwuZ2V0ICR2YXIkMSkKICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgIChicl9pZiAkbGFiZWwkOQogICAgICAgICAgICAgICAgIChpMzIuZXF6CiAgICAgICAgICAgICAgICAgIChsb2NhbC50ZWUgJHZhciQ0CiAgICAgICAgICAgICAgICAgICAoaTMyLndyYXBfaTY0CiAgICAgICAgICAgICAgICAgICAgKGk2NC5zaHJfdQogICAgICAgICAgICAgICAgICAgICAobG9jYWwuZ2V0ICR2YXIkMSkKICAgICAgICAgICAgICAgICAgICAgKGk2NC5jb25zdCAzMikKICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAoYnJfaWYgJGxhYmVsJDgKICAgICAgICAgICAgICAgICAoaTMyLmxlX3UKICAgICAgICAgICAgICAgICAgKGxvY2FsLnRlZSAkdmFyJDIKICAgICAgICAgICAgICAgICAgIChpMzIuc3ViCiAgICAgICAgICAgICAgICAgICAgKGkzMi5jbHoKICAgICAgICAgICAgICAgICAgICAgKGxvY2FsLmdldCAkdmFyJDQpCiAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgICAgIChpMzIuY2x6CiAgICAgICAgICAgICAgICAgICAgIChsb2NhbC5nZXQgJHZhciQyKQogICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgICAoaTMyLmNvbnN0IDMxKQogICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgIChiciAkbGFiZWwkMikKICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICkKICAgICAgICAgICAgICkKICAgICAgICAgICAgIChicl9pZiAkbGFiZWwkMgogICAgICAgICAgICAgIChpNjQuZ2VfdQogICAgICAgICAgICAgICAobG9jYWwuZ2V0ICR2YXIkMSkKICAgICAgICAgICAgICAgKGk2NC5jb25zdCA0Mjk0OTY3Mjk2KQogICAgICAgICAgICAgICkKICAgICAgICAgICAgICkKICAgICAgICAgICAgIChnbG9iYWwuc2V0ICRfX3dhc20taW50cmluc2ljcy10ZW1wLWk2NAogICAgICAgICAgICAgIChpNjQuZXh0ZW5kX2kzMl91CiAgICAgICAgICAgICAgIChpMzIuc3ViCiAgICAgICAgICAgICAgICAobG9jYWwudGVlICR2YXIkMgogICAgICAgICAgICAgICAgIChpMzIud3JhcF9pNjQKICAgICAgICAgICAgICAgICAgKGxvY2FsLmdldCAkdmFyJDApCiAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgKGkzMi5tdWwKICAgICAgICAgICAgICAgICAobG9jYWwudGVlICR2YXIkMgogICAgICAgICAgICAgICAgICAoaTMyLmRpdl91CiAgICAgICAgICAgICAgICAgICAobG9jYWwuZ2V0ICR2YXIkMikKICAgICAgICAgICAgICAgICAgIChsb2NhbC50ZWUgJHZhciQzCiAgICAgICAgICAgICAgICAgICAgKGkzMi53cmFwX2k2NAogICAgICAgICAgICAgICAgICAgICAobG9jYWwuZ2V0ICR2YXIkMSkKICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgKGxvY2FsLmdldCAkdmFyJDMpCiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICApCiAgICAgICAgICAgICApCiAgICAgICAgICAgICAocmV0dXJuCiAgICAgICAgICAgICAgKGk2NC5leHRlbmRfaTMyX3UKICAgICAgICAgICAgICAgKGxvY2FsLmdldCAkdmFyJDIpCiAgICAgICAgICAgICAgKQogICAgICAgICAgICAgKQogICAgICAgICAgICApCiAgICAgICAgICAgIChsb2NhbC5zZXQgJHZhciQzCiAgICAgICAgICAgICAoaTMyLndyYXBfaTY0CiAgICAgICAgICAgICAgKGk2NC5zaHJfdQogICAgICAgICAgICAgICAobG9jYWwuZ2V0ICR2YXIkMSkKICAgICAgICAgICAgICAgKGk2NC5jb25zdCAzMikKICAgICAgICAgICAgICApCiAgICAgICAgICAgICApCiAgICAgICAgICAgICkKICAgICAgICAgICAgKGJyX2lmICRsYWJlbCQ3CiAgICAgICAgICAgICAoaTMyLmVxegogICAgICAgICAgICAgIChpMzIud3JhcF9pNjQKICAgICAgICAgICAgICAgKGxvY2FsLmdldCAkdmFyJDApCiAgICAgICAgICAgICAgKQogICAgICAgICAgICAgKQogICAgICAgICAgICApCiAgICAgICAgICAgIChicl9pZiAkbGFiZWwkNgogICAgICAgICAgICAgKGkzMi5lcXoKICAgICAgICAgICAgICAobG9jYWwuZ2V0ICR2YXIkMykKICAgICAgICAgICAgICkKICAgICAgICAgICAgKQogICAgICAgICAgICAoYnJfaWYgJGxhYmVsJDYKICAgICAgICAgICAgIChpMzIuYW5kCiAgICAgICAgICAgICAgKGxvY2FsLnRlZSAkdmFyJDQKICAgICAgICAgICAgICAgKGkzMi5hZGQKICAgICAgICAgICAgICAgIChsb2NhbC5nZXQgJHZhciQzKQogICAgICAgICAgICAgICAgKGkzMi5jb25zdCAtMSkKICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICkKICAgICAgICAgICAgICAobG9jYWwuZ2V0ICR2YXIkMykKICAgICAgICAgICAgICkKICAgICAgICAgICAgKQogICAgICAgICAgICAoZ2xvYmFsLnNldCAkX193YXNtLWludHJpbnNpY3MtdGVtcC1pNjQKICAgICAgICAgICAgIChpNjQub3IKICAgICAgICAgICAgICAoaTY0LnNobAogICAgICAgICAgICAgICAoaTY0LmV4dGVuZF9pMzJfdQogICAgICAgICAgICAgICAgKGkzMi5hbmQKICAgICAgICAgICAgICAgICAobG9jYWwuZ2V0ICR2YXIkNCkKICAgICAgICAgICAgICAgICAobG9jYWwuZ2V0ICR2YXIkMikKICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAoaTY0LmNvbnN0IDMyKQogICAgICAgICAgICAgICkKICAgICAgICAgICAgICAoaTY0LmFuZAogICAgICAgICAgICAgICAobG9jYWwuZ2V0ICR2YXIkMCkKICAgICAgICAgICAgICAgKGk2NC5jb25zdCA0Mjk0OTY3Mjk1KQogICAgICAgICAgICAgICkKICAgICAgICAgICAgICkKICAgICAgICAgICAgKQogICAgICAgICAgICAocmV0dXJuCiAgICAgICAgICAgICAoaTY0LmV4dGVuZF9pMzJfdQogICAgICAgICAgICAgIChpMzIuc2hyX3UKICAgICAgICAgICAgICAgKGxvY2FsLmdldCAkdmFyJDIpCiAgICAgICAgICAgICAgIChpMzIuYW5kCiAgICAgICAgICAgICAgICAoaTMyLmN0egogICAgICAgICAgICAgICAgIChsb2NhbC5nZXQgJHZhciQzKQogICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgKGkzMi5jb25zdCAzMSkKICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICkKICAgICAgICAgICAgICkKICAgICAgICAgICAgKQogICAgICAgICAgICkKICAgICAgICAgICAodW5yZWFjaGFibGUpCiAgICAgICAgICApCiAgICAgICAgICAoYnJfaWYgJGxhYmVsJDUKICAgICAgICAgICAoaTMyLmVxegogICAgICAgICAgICAoaTMyLmFuZAogICAgICAgICAgICAgKGxvY2FsLnRlZSAkdmFyJDQKICAgICAgICAgICAgICAoaTMyLmFkZAogICAgICAgICAgICAgICAobG9jYWwuZ2V0ICR2YXIkMykKICAgICAgICAgICAgICAgKGkzMi5jb25zdCAtMSkKICAgICAgICAgICAgICApCiAgICAgICAgICAgICApCiAgICAgICAgICAgICAobG9jYWwuZ2V0ICR2YXIkMykKICAgICAgICAgICAgKQogICAgICAgICAgICkKICAgICAgICAgICkKICAgICAgICAgIChsb2NhbC5zZXQgJHZhciQzCiAgICAgICAgICAgKGkzMi5zdWIKICAgICAgICAgICAgKGkzMi5jb25zdCAwKQogICAgICAgICAgICAobG9jYWwudGVlICR2YXIkMgogICAgICAgICAgICAgKGkzMi5zdWIKICAgICAgICAgICAgICAoaTMyLmFkZAogICAgICAgICAgICAgICAoaTMyLmNsegogICAgICAgICAgICAgICAgKGxvY2FsLmdldCAkdmFyJDMpCiAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgKGkzMi5jb25zdCAzMykKICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgKGkzMi5jbHoKICAgICAgICAgICAgICAgKGxvY2FsLmdldCAkdmFyJDIpCiAgICAgICAgICAgICAgKQogICAgICAgICAgICAgKQogICAgICAgICAgICApCiAgICAgICAgICAgKQogICAgICAgICAgKQogICAgICAgICAgKGJyICRsYWJlbCQzKQogICAgICAgICApCiAgICAgICAgIChsb2NhbC5zZXQgJHZhciQzCiAgICAgICAgICAoaTMyLnN1YgogICAgICAgICAgIChpMzIuY29uc3QgNjMpCiAgICAgICAgICAgKGxvY2FsLmdldCAkdmFyJDIpCiAgICAgICAgICApCiAgICAgICAgICkKICAgICAgICAgKGxvY2FsLnNldCAkdmFyJDIKICAgICAgICAgIChpMzIuYWRkCiAgICAgICAgICAgKGxvY2FsLmdldCAkdmFyJDIpCiAgICAgICAgICAgKGkzMi5jb25zdCAxKQogICAgICAgICAgKQogICAgICAgICApCiAgICAgICAgIChiciAkbGFiZWwkMykKICAgICAgICApCiAgICAgICAgKGdsb2JhbC5zZXQgJF9fd2FzbS1pbnRyaW5zaWNzLXRlbXAtaTY0CiAgICAgICAgIChpNjQuc2hsCiAgICAgICAgICAoaTY0LmV4dGVuZF9pMzJfdQogICAgICAgICAgIChpMzIuc3ViCiAgICAgICAgICAgIChsb2NhbC5nZXQgJHZhciQyKQogICAgICAgICAgICAoaTMyLm11bAogICAgICAgICAgICAgKGxvY2FsLnRlZSAkdmFyJDQKICAgICAgICAgICAgICAoaTMyLmRpdl91CiAgICAgICAgICAgICAgIChsb2NhbC5nZXQgJHZhciQyKQogICAgICAgICAgICAgICAobG9jYWwuZ2V0ICR2YXIkMykKICAgICAgICAgICAgICApCiAgICAgICAgICAgICApCiAgICAgICAgICAgICAobG9jYWwuZ2V0ICR2YXIkMykKICAgICAgICAgICAgKQogICAgICAgICAgICkKICAgICAgICAgICkKICAgICAgICAgIChpNjQuY29uc3QgMzIpCiAgICAgICAgICkKICAgICAgICApCiAgICAgICAgKHJldHVybgogICAgICAgICAoaTY0LmV4dGVuZF9pMzJfdQogICAgICAgICAgKGxvY2FsLmdldCAkdmFyJDQpCiAgICAgICAgICkKICAgICAgICApCiAgICAgICApCiAgICAgICAoYnJfaWYgJGxhYmVsJDQKICAgICAgICAoaTMyLmx0X3UKICAgICAgICAgKGxvY2FsLnRlZSAkdmFyJDIKICAgICAgICAgIChpMzIuc3ViCiAgICAgICAgICAgKGkzMi5jbHoKICAgICAgICAgICAgKGxvY2FsLmdldCAkdmFyJDMpCiAgICAgICAgICAgKQogICAgICAgICAgIChpMzIuY2x6CiAgICAgICAgICAgIChsb2NhbC5nZXQgJHZhciQyKQogICAgICAgICAgICkKICAgICAgICAgICkKICAgICAgICAgKQogICAgICAgICAoaTMyLmNvbnN0IDMxKQogICAgICAgICkKICAgICAgICkKICAgICAgIChiciAkbGFiZWwkMikKICAgICAgKQogICAgICAoZ2xvYmFsLnNldCAkX193YXNtLWludHJpbnNpY3MtdGVtcC1pNjQKICAgICAgIChpNjQuZXh0ZW5kX2kzMl91CiAgICAgICAgKGkzMi5hbmQKICAgICAgICAgKGxvY2FsLmdldCAkdmFyJDQpCiAgICAgICAgIChpMzIud3JhcF9pNjQKICAgICAgICAgIChsb2NhbC5nZXQgJHZhciQwKQogICAgICAgICApCiAgICAgICAgKQogICAgICAgKQogICAgICApCiAgICAgIChicl9pZiAkbGFiZWwkMQogICAgICAgKGkzMi5lcQogICAgICAgIChsb2NhbC5nZXQgJHZhciQzKQogICAgICAgIChpMzIuY29uc3QgMSkKICAgICAgICkKICAgICAgKQogICAgICAocmV0dXJuCiAgICAgICAoaTY0LnNocl91CiAgICAgICAgKGxvY2FsLmdldCAkdmFyJDApCiAgICAgICAgKGk2NC5leHRlbmRfaTMyX3UKICAgICAgICAgKGkzMi5jdHoKICAgICAgICAgIChsb2NhbC5nZXQgJHZhciQzKQogICAgICAgICApCiAgICAgICAgKQogICAgICAgKQogICAgICApCiAgICAgKQogICAgIChsb2NhbC5zZXQgJHZhciQzCiAgICAgIChpMzIuc3ViCiAgICAgICAoaTMyLmNvbnN0IDYzKQogICAgICAgKGxvY2FsLmdldCAkdmFyJDIpCiAgICAgICkKICAgICApCiAgICAgKGxvY2FsLnNldCAkdmFyJDIKICAgICAgKGkzMi5hZGQKICAgICAgIChsb2NhbC5nZXQgJHZhciQyKQogICAgICAgKGkzMi5jb25zdCAxKQogICAgICApCiAgICAgKQogICAgKQogICAgKGxvY2FsLnNldCAkdmFyJDUKICAgICAoaTY0LnNocl91CiAgICAgIChsb2NhbC5nZXQgJHZhciQwKQogICAgICAoaTY0LmV4dGVuZF9pMzJfdQogICAgICAgKGkzMi5hbmQKICAgICAgICAobG9jYWwuZ2V0ICR2YXIkMikKICAgICAgICAoaTMyLmNvbnN0IDYzKQogICAgICAgKQogICAgICApCiAgICAgKQogICAgKQogICAgKGxvY2FsLnNldCAkdmFyJDAKICAgICAoaTY0LnNobAogICAgICAobG9jYWwuZ2V0ICR2YXIkMCkKICAgICAgKGk2NC5leHRlbmRfaTMyX3UKICAgICAgIChpMzIuYW5kCiAgICAgICAgKGxvY2FsLmdldCAkdmFyJDMpCiAgICAgICAgKGkzMi5jb25zdCA2MykKICAgICAgICkKICAgICAgKQogICAgICkKICAgICkKICAgIChibG9jayAkbGFiZWwkMTMKICAgICAoaWYKICAgICAgKGxvY2FsLmdldCAkdmFyJDIpCiAgICAgICh0aGVuCiAgICAgICAoYmxvY2sKICAgICAgICAobG9jYWwuc2V0ICR2YXIkOAogICAgICAgICAoaTY0LmFkZAogICAgICAgICAgKGxvY2FsLmdldCAkdmFyJDEpCiAgICAgICAgICAoaTY0LmNvbnN0IC0xKQogICAgICAgICApCiAgICAgICAgKQogICAgICAgIChsb29wICRsYWJlbCQxNQogICAgICAgICAobG9jYWwuc2V0ICR2YXIkNQogICAgICAgICAgKGk2NC5zdWIKICAgICAgICAgICAobG9jYWwudGVlICR2YXIkNQogICAgICAgICAgICAoaTY0Lm9yCiAgICAgICAgICAgICAoaTY0LnNobAogICAgICAgICAgICAgIChsb2NhbC5nZXQgJHZhciQ1KQogICAgICAgICAgICAgIChpNjQuY29uc3QgMSkKICAgICAgICAgICAgICkKICAgICAgICAgICAgIChpNjQuc2hyX3UKICAgICAgICAgICAgICAobG9jYWwuZ2V0ICR2YXIkMCkKICAgICAgICAgICAgICAoaTY0LmNvbnN0IDYzKQogICAgICAgICAgICAgKQogICAgICAgICAgICApCiAgICAgICAgICAgKQogICAgICAgICAgIChpNjQuYW5kCiAgICAgICAgICAgIChsb2NhbC50ZWUgJHZhciQ2CiAgICAgICAgICAgICAoaTY0LnNocl9zCiAgICAgICAgICAgICAgKGk2NC5zdWIKICAgICAgICAgICAgICAgKGxvY2FsLmdldCAkdmFyJDgpCiAgICAgICAgICAgICAgIChsb2NhbC5nZXQgJHZhciQ1KQogICAgICAgICAgICAgICkKICAgICAgICAgICAgICAoaTY0LmNvbnN0IDYzKQogICAgICAgICAgICAgKQogICAgICAgICAgICApCiAgICAgICAgICAgIChsb2NhbC5nZXQgJHZhciQxKQogICAgICAgICAgICkKICAgICAgICAgICkKICAgICAgICAgKQogICAgICAgICAobG9jYWwuc2V0ICR2YXIkMAogICAgICAgICAgKGk2NC5vcgogICAgICAgICAgIChpNjQuc2hsCiAgICAgICAgICAgIChsb2NhbC5nZXQgJHZhciQwKQogICAgICAgICAgICAoaTY0LmNvbnN0IDEpCiAgICAgICAgICAgKQogICAgICAgICAgIChsb2NhbC5nZXQgJHZhciQ3KQogICAgICAgICAgKQogICAgICAgICApCiAgICAgICAgIChsb2NhbC5zZXQgJHZhciQ3CiAgICAgICAgICAobG9jYWwudGVlICR2YXIkNgogICAgICAgICAgIChpNjQuYW5kCiAgICAgICAgICAgIChsb2NhbC5nZXQgJHZhciQ2KQogICAgICAgICAgICAoaTY0LmNvbnN0IDEpCiAgICAgICAgICAgKQogICAgICAgICAgKQogICAgICAgICApCiAgICAgICAgIChicl9pZiAkbGFiZWwkMTUKICAgICAgICAgIChsb2NhbC50ZWUgJHZhciQyCiAgICAgICAgICAgKGkzMi5hZGQKICAgICAgICAgICAgKGxvY2FsLmdldCAkdmFyJDIpCiAgICAgICAgICAgIChpMzIuY29uc3QgLTEpCiAgICAgICAgICAgKQogICAgICAgICAgKQogICAgICAgICApCiAgICAgICAgKQogICAgICAgIChiciAkbGFiZWwkMTMpCiAgICAgICApCiAgICAgICkKICAgICApCiAgICApCiAgICAoZ2xvYmFsLnNldCAkX193YXNtLWludHJpbnNpY3MtdGVtcC1pNjQKICAgICAobG9jYWwuZ2V0ICR2YXIkNSkKICAgICkKICAgIChyZXR1cm4KICAgICAoaTY0Lm9yCiAgICAgIChpNjQuc2hsCiAgICAgICAobG9jYWwuZ2V0ICR2YXIkMCkKICAgICAgIChpNjQuY29uc3QgMSkKICAgICAgKQogICAgICAobG9jYWwuZ2V0ICR2YXIkNikKICAgICApCiAgICApCiAgICkKICAgKGdsb2JhbC5zZXQgJF9fd2FzbS1pbnRyaW5zaWNzLXRlbXAtaTY0CiAgICAobG9jYWwuZ2V0ICR2YXIkMCkKICAgKQogICAobG9jYWwuc2V0ICR2YXIkMAogICAgKGk2NC5jb25zdCAwKQogICApCiAgKQogIChsb2NhbC5nZXQgJHZhciQwKQogKQogKGZ1bmMgJF9aTjE3Y29tcGlsZXJfYnVpbHRpbnMzaW50M211bDNNdWwzbXVsMTdoMDcwZTlhMWM2OWZhZWM1YkUgKDsgMTUgOykgKHR5cGUgJDApIChwYXJhbSAkdmFyJDAgaTY0KSAocGFyYW0gJHZhciQxIGk2NCkgKHJlc3VsdCBpNjQpCiAgKGxvY2FsICR2YXIkMiBpMzIpCiAgKGxvY2FsICR2YXIkMyBpMzIpCiAgKGxvY2FsICR2YXIkNCBpMzIpCiAgKGxvY2FsICR2YXIkNSBpMzIpCiAgKGxvY2FsICR2YXIkNiBpMzIpCiAgKGk2NC5vcgogICAoaTY0LnNobAogICAgKGk2NC5leHRlbmRfaTMyX3UKICAgICAoaTMyLmFkZAogICAgICAoaTMyLmFkZAogICAgICAgKGkzMi5hZGQKICAgICAgICAoaTMyLmFkZAogICAgICAgICAoaTMyLm11bAogICAgICAgICAgKGxvY2FsLnRlZSAkdmFyJDQKICAgICAgICAgICAoaTMyLnNocl91CiAgICAgICAgICAgIChsb2NhbC50ZWUgJHZhciQyCiAgICAgICAgICAgICAoaTMyLndyYXBfaTY0CiAgICAgICAgICAgICAgKGxvY2FsLmdldCAkdmFyJDEpCiAgICAgICAgICAgICApCiAgICAgICAgICAgICkKICAgICAgICAgICAgKGkzMi5jb25zdCAxNikKICAgICAgICAgICApCiAgICAgICAgICApCiAgICAgICAgICAobG9jYWwudGVlICR2YXIkNQogICAgICAgICAgIChpMzIuc2hyX3UKICAgICAgICAgICAgKGxvY2FsLnRlZSAkdmFyJDMKICAgICAgICAgICAgIChpMzIud3JhcF9pNjQKICAgICAgICAgICAgICAobG9jYWwuZ2V0ICR2YXIkMCkKICAgICAgICAgICAgICkKICAgICAgICAgICAgKQogICAgICAgICAgICAoaTMyLmNvbnN0IDE2KQogICAgICAgICAgICkKICAgICAgICAgICkKICAgICAgICAgKQogICAgICAgICAoaTMyLm11bAogICAgICAgICAgKGxvY2FsLmdldCAkdmFyJDIpCiAgICAgICAgICAoaTMyLndyYXBfaTY0CiAgICAgICAgICAgKGk2NC5zaHJfdQogICAgICAgICAgICAobG9jYWwuZ2V0ICR2YXIkMCkKICAgICAgICAgICAgKGk2NC5jb25zdCAzMikKICAgICAgICAgICApCiAgICAgICAgICApCiAgICAgICAgICkKICAgICAgICApCiAgICAgICAgKGkzMi5tdWwKICAgICAgICAgKGkzMi53cmFwX2k2NAogICAgICAgICAgKGk2NC5zaHJfdQogICAgICAgICAgIChsb2NhbC5nZXQgJHZhciQxKQogICAgICAgICAgIChpNjQuY29uc3QgMzIpCiAgICAgICAgICApCiAgICAgICAgICkKICAgICAgICAgKGxvY2FsLmdldCAkdmFyJDMpCiAgICAgICAgKQogICAgICAgKQogICAgICAgKGkzMi5zaHJfdQogICAgICAgIChsb2NhbC50ZWUgJHZhciQyCiAgICAgICAgIChpMzIuYWRkCiAgICAgICAgICAoaTMyLnNocl91CiAgICAgICAgICAgKGxvY2FsLnRlZSAkdmFyJDYKICAgICAgICAgICAgKGkzMi5tdWwKICAgICAgICAgICAgIChsb2NhbC50ZWUgJHZhciQyCiAgICAgICAgICAgICAgKGkzMi5hbmQKICAgICAgICAgICAgICAgKGxvY2FsLmdldCAkdmFyJDIpCiAgICAgICAgICAgICAgIChpMzIuY29uc3QgNjU1MzUpCiAgICAgICAgICAgICAgKQogICAgICAgICAgICAgKQogICAgICAgICAgICAgKGxvY2FsLnRlZSAkdmFyJDMKICAgICAgICAgICAgICAoaTMyLmFuZAogICAgICAgICAgICAgICAobG9jYWwuZ2V0ICR2YXIkMykKICAgICAgICAgICAgICAgKGkzMi5jb25zdCA2NTUzNSkKICAgICAgICAgICAgICApCiAgICAgICAgICAgICApCiAgICAgICAgICAgICkKICAgICAgICAgICApCiAgICAgICAgICAgKGkzMi5jb25zdCAxNikKICAgICAgICAgICkKICAgICAgICAgIChpMzIubXVsCiAgICAgICAgICAgKGxvY2FsLmdldCAkdmFyJDIpCiAgICAgICAgICAgKGxvY2FsLmdldCAkdmFyJDUpCiAgICAgICAgICApCiAgICAgICAgICkKICAgICAgICApCiAgICAgICAgKGkzMi5jb25zdCAxNikKICAgICAgICkKICAgICAgKQogICAgICAoaTMyLnNocl91CiAgICAgICAobG9jYWwudGVlICR2YXIkMgogICAgICAgIChpMzIuYWRkCiAgICAgICAgIChpMzIuYW5kCiAgICAgICAgICAobG9jYWwuZ2V0ICR2YXIkMikKICAgICAgICAgIChpMzIuY29uc3QgNjU1MzUpCiAgICAgICAgICkKICAgICAgICAgKGkzMi5tdWwKICAgICAgICAgIChsb2NhbC5nZXQgJHZhciQ0KQogICAgICAgICAgKGxvY2FsLmdldCAkdmFyJDMpCiAgICAgICAgICkKICAgICAgICApCiAgICAgICApCiAgICAgICAoaTMyLmNvbnN0IDE2KQogICAgICApCiAgICAgKQogICAgKQogICAgKGk2NC5jb25zdCAzMikKICAgKQogICAoaTY0LmV4dGVuZF9pMzJfdQogICAgKGkzMi5vcgogICAgIChpMzIuc2hsCiAgICAgIChsb2NhbC5nZXQgJHZhciQyKQogICAgICAoaTMyLmNvbnN0IDE2KQogICAgICkKICAgICAoaTMyLmFuZAogICAgICAobG9jYWwuZ2V0ICR2YXIkNikKICAgICAgKGkzMi5jb25zdCA2NTUzNSkKICAgICApCiAgICApCiAgICkKICApCiApCiAoZnVuYyAkX1pOMTdjb21waWxlcl9idWlsdGluczNpbnQ0c2RpdjNEaXYzZGl2MTdoZTc4ZmM0ODNlNDFkN2VjN0UgKDsgMTYgOykgKHR5cGUgJDApIChwYXJhbSAkdmFyJDAgaTY0KSAocGFyYW0gJHZhciQxIGk2NCkgKHJlc3VsdCBpNjQpCiAgKGxvY2FsICR2YXIkMiBpNjQpCiAgKGk2NC5zdWIKICAgKGk2NC54b3IKICAgIChpNjQuZGl2X3UKICAgICAoaTY0LnN1YgogICAgICAoaTY0LnhvcgogICAgICAgKGxvY2FsLnRlZSAkdmFyJDIKICAgICAgICAoaTY0LnNocl9zCiAgICAgICAgIChsb2NhbC5nZXQgJHZhciQwKQogICAgICAgICAoaTY0LmNvbnN0IDYzKQogICAgICAgICkKICAgICAgICkKICAgICAgIChsb2NhbC5nZXQgJHZhciQwKQogICAgICApCiAgICAgIChsb2NhbC5nZXQgJHZhciQyKQogICAgICkKICAgICAoaTY0LnN1YgogICAgICAoaTY0LnhvcgogICAgICAgKGxvY2FsLnRlZSAkdmFyJDIKICAgICAgICAoaTY0LnNocl9zCiAgICAgICAgIChsb2NhbC5nZXQgJHZhciQxKQogICAgICAgICAoaTY0LmNvbnN0IDYzKQogICAgICAgICkKICAgICAgICkKICAgICAgIChsb2NhbC5nZXQgJHZhciQxKQogICAgICApCiAgICAgIChsb2NhbC5nZXQgJHZhciQyKQogICAgICkKICAgICkKICAgIChsb2NhbC50ZWUgJHZhciQwCiAgICAgKGk2NC5zaHJfcwogICAgICAoaTY0LnhvcgogICAgICAgKGxvY2FsLmdldCAkdmFyJDEpCiAgICAgICAobG9jYWwuZ2V0ICR2YXIkMCkKICAgICAgKQogICAgICAoaTY0LmNvbnN0IDYzKQogICAgICkKICAgICkKICAgKQogICAobG9jYWwuZ2V0ICR2YXIkMCkKICApCiApCiAoZnVuYyAkX1pOMTdjb21waWxlcl9idWlsdGluczNpbnQ0c2RpdjNNb2Q0bW9kXzE3aDJjYmI3YmJmMzZlNDFkNjhFICg7IDE3IDspICh0eXBlICQwKSAocGFyYW0gJHZhciQwIGk2NCkgKHBhcmFtICR2YXIkMSBpNjQpIChyZXN1bHQgaTY0KQogIChsb2NhbCAkdmFyJDIgaTY0KQogIChpNjQuc3ViCiAgIChpNjQueG9yCiAgICAoaTY0LnJlbV91CiAgICAgKGk2NC5zdWIKICAgICAgKGk2NC54b3IKICAgICAgIChsb2NhbC50ZWUgJHZhciQyCiAgICAgICAgKGk2NC5zaHJfcwogICAgICAgICAobG9jYWwuZ2V0ICR2YXIkMCkKICAgICAgICAgKGk2NC5jb25zdCA2MykKICAgICAgICApCiAgICAgICApCiAgICAgICAobG9jYWwuZ2V0ICR2YXIkMCkKICAgICAgKQogICAgICAobG9jYWwuZ2V0ICR2YXIkMikKICAgICApCiAgICAgKGk2NC5zdWIKICAgICAgKGk2NC54b3IKICAgICAgIChsb2NhbC50ZWUgJHZhciQwCiAgICAgICAgKGk2NC5zaHJfcwogICAgICAgICAobG9jYWwuZ2V0ICR2YXIkMSkKICAgICAgICAgKGk2NC5jb25zdCA2MykKICAgICAgICApCiAgICAgICApCiAgICAgICAobG9jYWwuZ2V0ICR2YXIkMSkKICAgICAgKQogICAgICAobG9jYWwuZ2V0ICR2YXIkMCkKICAgICApCiAgICApCiAgICAobG9jYWwuZ2V0ICR2YXIkMikKICAgKQogICAobG9jYWwuZ2V0ICR2YXIkMikKICApCiApCiA7OyBjdXN0b20gc2VjdGlvbiAibGlua2luZyIsIHNpemUgMwopCgBB7OUJCxrlXAAA5lwAAOdcAADoXAAA6VwAAOpcAADrXABBkOYJCybsXAAA7VwAAO5cAADvXAAA8FwAAPFcAADyXAAAbFcAAG1XAABuVwBBwOYJCybzXAAA9FwAAO0NAAD1XAAA9lwAAPdcAABrVwAAbFcAAG1XAABuVwBB8OYJCxr4XAAA+VwAAPpcAAD7XAAA/FwAAP1cAAD+XABBlOcJCyb/XAAAAF0AAAFdAAACXQAAA10AAARdAAAFXQAAbFcAAG1XAABuVwBBxOcJCxr4XAAABl0AAAddAAAIXQAACV0AAApdAAALXQBB6OcJCxoMXQAADV0AAA5dAAAPXQAAEF0AABFdAAASXQBBjOgJCxoTXQAAFF0AABVdAAAWXQAAF10AABhdAAAZXQBBsOgJCxoTXQAAGl0AABtdAAAcXQAAHV0AAB5dAAAfXQBB1OgJCxoTXQAAIF0AACFdAAAiXQAAI10AACRdAAAlXQBB+OgJCxoTXQAAJl0AACddAAAoXQAAKV0AACpdAAArXQBBnOkJCxoTXQAALF0AAC1dAAAuXQAAL10AADBdAAAxXQBBwOkJCxoTXQAAMl0AADNdAAA0XQAANV0AADZdAAA3XQBB5OkJCxoTXQAAOF0AADldAAA6XQAAO10AADxdAAA9XQBBiOoJCxoTXQAAPl0AAD9dAABAXQAAQV0AAEJdAABDXQBBrOoJCxoTXQAARF0AAEVdAABGXQAAR10AAEhdAABJXQBB0OoJCxoTXQAASl0AAEtdAABMXQAATV0AAE5dAABPXQBB9OoJCyZQXQAAUV0AAFJdAABTXQAAVF0AAFVdAABWXQAAbFcAAG1XAABuVwBBpOsJCxqmVwAAV10AAFhdAABZXQAAWl0AAFtdAABcXQBByOsJCyZdXQAAXl0AAF9dAABgXQAAYV0AAGJdAABjXQAAbFcAAG1XAABuVwBB+OsJCxpLWQAAZF0AAEhbAABOWQAAT1kAAPlXAABQWQBBnOwJCyZlXQAAZl0AAGddAABoXQAAaV0AAGpdAABrVwAAbFcAAG1XAABuVwBBzOwJCyZrXQAAbF0AALIMAABtXQAAbl0AAG9dAABrVwAAbFcAAHBdAABuVwBB/OwJCwqIWQAAcV0AAN4NAEGQ7QkLJv9XAAByXQAAQlgAAOlXAADqVwAA61cAAGtXAABsVwAAbVcAAG5XAEHA7QkLGj9aAABzXQAAdF0AAHVdAAB2XQAAd10AAHhdAEHk7QkLCnldAAB6XQAAe10AQfjtCQsKfF0AAH1dAAB+XQBBjO4JCwp/XQAAgF0AAIFdAEGg7gkLGoJdAACDXQAAhF0AAIVdAACGXQAAh10AAHFWAEHE7gkLGjFaAACIXQAAiV0AAIpdAACLXQAAjF0AAI1dAEHo7gkLGjhaAACOXQAAj10AAJBdAACRXQAAkl0AAJNdAEGM7wkLGoFZAACUXQAAlV0AAJZdAACXXQAAmF0AAJldAEGw7wkLGoFZAACaXQAAm10AAJxdAACdXQAAnl0AAJ9dAEHU7wkLlQ+BWQAAoF0AAKFdAACiXQAAo10AAKRdAAClXQAATm8gZXJyb3IgaW5mb3JtYXRpb24ASWxsZWdhbCBieXRlIHNlcXVlbmNlAERvbWFpbiBlcnJvcgBSZXN1bHQgbm90IHJlcHJlc2VudGFibGUATm90IGEgdHR5AFBlcm1pc3Npb24gZGVuaWVkAE9wZXJhdGlvbiBub3QgcGVybWl0dGVkAE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkATm8gc3VjaCBwcm9jZXNzAEZpbGUgZXhpc3RzAFZhbHVlIHRvbyBsYXJnZSBmb3IgZGF0YSB0eXBlAE5vIHNwYWNlIGxlZnQgb24gZGV2aWNlAE91dCBvZiBtZW1vcnkAUmVzb3VyY2UgYnVzeQBJbnRlcnJ1cHRlZCBzeXN0ZW0gY2FsbABSZXNvdXJjZSB0ZW1wb3JhcmlseSB1bmF2YWlsYWJsZQBJbnZhbGlkIHNlZWsAQ3Jvc3MtZGV2aWNlIGxpbmsAUmVhZC1vbmx5IGZpbGUgc3lzdGVtAERpcmVjdG9yeSBub3QgZW1wdHkAQ29ubmVjdGlvbiByZXNldCBieSBwZWVyAE9wZXJhdGlvbiB0aW1lZCBvdXQAQ29ubmVjdGlvbiByZWZ1c2VkAEhvc3QgaXMgZG93bgBIb3N0IGlzIHVucmVhY2hhYmxlAEFkZHJlc3MgaW4gdXNlAEJyb2tlbiBwaXBlAEkvTyBlcnJvcgBObyBzdWNoIGRldmljZSBvciBhZGRyZXNzAEJsb2NrIGRldmljZSByZXF1aXJlZABObyBzdWNoIGRldmljZQBOb3QgYSBkaXJlY3RvcnkASXMgYSBkaXJlY3RvcnkAVGV4dCBmaWxlIGJ1c3kARXhlYyBmb3JtYXQgZXJyb3IASW52YWxpZCBhcmd1bWVudABBcmd1bWVudCBsaXN0IHRvbyBsb25nAFN5bWJvbGljIGxpbmsgbG9vcABGaWxlbmFtZSB0b28gbG9uZwBUb28gbWFueSBvcGVuIGZpbGVzIGluIHN5c3RlbQBObyBmaWxlIGRlc2NyaXB0b3JzIGF2YWlsYWJsZQBCYWQgZmlsZSBkZXNjcmlwdG9yAE5vIGNoaWxkIHByb2Nlc3MAQmFkIGFkZHJlc3MARmlsZSB0b28gbGFyZ2UAVG9vIG1hbnkgbGlua3MATm8gbG9ja3MgYXZhaWxhYmxlAFJlc291cmNlIGRlYWRsb2NrIHdvdWxkIG9jY3VyAFN0YXRlIG5vdCByZWNvdmVyYWJsZQBQcmV2aW91cyBvd25lciBkaWVkAE9wZXJhdGlvbiBjYW5jZWxlZABGdW5jdGlvbiBub3QgaW1wbGVtZW50ZWQATm8gbWVzc2FnZSBvZiBkZXNpcmVkIHR5cGUASWRlbnRpZmllciByZW1vdmVkAERldmljZSBub3QgYSBzdHJlYW0ATm8gZGF0YSBhdmFpbGFibGUARGV2aWNlIHRpbWVvdXQAT3V0IG9mIHN0cmVhbXMgcmVzb3VyY2VzAExpbmsgaGFzIGJlZW4gc2V2ZXJlZABQcm90b2NvbCBlcnJvcgBCYWQgbWVzc2FnZQBGaWxlIGRlc2NyaXB0b3IgaW4gYmFkIHN0YXRlAE5vdCBhIHNvY2tldABEZXN0aW5hdGlvbiBhZGRyZXNzIHJlcXVpcmVkAE1lc3NhZ2UgdG9vIGxhcmdlAFByb3RvY29sIHdyb25nIHR5cGUgZm9yIHNvY2tldABQcm90b2NvbCBub3QgYXZhaWxhYmxlAFByb3RvY29sIG5vdCBzdXBwb3J0ZWQAU29ja2V0IHR5cGUgbm90IHN1cHBvcnRlZABOb3Qgc3VwcG9ydGVkAFByb3RvY29sIGZhbWlseSBub3Qgc3VwcG9ydGVkAEFkZHJlc3MgZmFtaWx5IG5vdCBzdXBwb3J0ZWQgYnkgcHJvdG9jb2wAQWRkcmVzcyBub3QgYXZhaWxhYmxlAE5ldHdvcmsgaXMgZG93bgBOZXR3b3JrIHVucmVhY2hhYmxlAENvbm5lY3Rpb24gcmVzZXQgYnkgbmV0d29yawBDb25uZWN0aW9uIGFib3J0ZWQATm8gYnVmZmVyIHNwYWNlIGF2YWlsYWJsZQBTb2NrZXQgaXMgY29ubmVjdGVkAFNvY2tldCBub3QgY29ubmVjdGVkAENhbm5vdCBzZW5kIGFmdGVyIHNvY2tldCBzaHV0ZG93bgBPcGVyYXRpb24gYWxyZWFkeSBpbiBwcm9ncmVzcwBPcGVyYXRpb24gaW4gcHJvZ3Jlc3MAU3RhbGUgZmlsZSBoYW5kbGUAUmVtb3RlIEkvTyBlcnJvcgBRdW90YSBleGNlZWRlZABObyBtZWRpdW0gZm91bmQAV3JvbmcgbWVkaXVtIHR5cGUATXVsdGlob3AgYXR0ZW1wdGVkAFJlcXVpcmVkIGtleSBub3QgYXZhaWxhYmxlAEtleSBoYXMgZXhwaXJlZABLZXkgaGFzIGJlZW4gcmV2b2tlZABLZXkgd2FzIHJlamVjdGVkIGJ5IHNlcnZpY2UAQfL+CQuWAaUCWwDwAbUFjAUlAYMGHQOUBP8AxwMxAwsGvAGPAX8DygQrANoGrwBCA04D3AEOBBUAoQYNAZQCCwI4BmQCvAL/Al0D5wQLB88CywXvBdsF4QIeBkUChQCCAmwDbwTxAPMDGAXZANoDTAZUAnsBnQO9BAAAUQAVArsAswNtAP8BhQQvBfkEOABlAUYBnwC3BqgBcwJTAQBBuIAKCwwhBAAAAAAAAAAALwIAQdiACgsGNQRHBFYEAEHugAoLAqAEAEGCgQoLIkYFYAVuBWEGAADPAQAAAAAAAAAAyQbpBvkGHgc5B0kHXgcAQbCBCguRAdF0ngBXnb0qgHBSD///PicKAAAAZAAAAOgDAAAQJwAAoIYBAEBCDwCAlpgAAOH1BRgAAAA1AAAAcQAAAGv////O+///kr///wAAAAAAAAAAGQAKABkZGQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAAZABEKGRkZAwoHAAEACQsYAAAJBgsAAAsABhkAAAAZGRkAQdGCCgshDgAAAAAAAAAAGQAKDRkZGQANAAACAAkOAAAACQAOAAAOAEGLgwoLAQwAQZeDCgsVEwAAAAATAAAAAAkMAAAAAAAMAAAMAEHFgwoLARAAQdGDCgsVDwAAAAQPAAAAAAkQAAAAAAAQAAAQAEH/gwoLARIAQYuECgseEQAAAAARAAAAAAkSAAAAAAASAAASAAAaAAAAGhoaAEHChAoLDhoAAAAaGhoAAAAAAAAJAEHzhAoLARQAQf+ECgsVFwAAAAAXAAAAAAkUAAAAAAAUAAAUAEGthQoLARYAQbmFCgvuAhUAAAAAFQAAAAAJFgAAAAAAFgAAFgAAMDEyMzQ1Njc4OUFCQ0RFRv////////////////////////////////////////////////////////////////8AAQIDBAUGBwgJ/////////woLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIj////////CgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiP/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAECBAcDBgUAAAAAAAAAHIQCAD8HAACoXQAAqV0AAE5TdDNfXzIxN2JhZF9mdW5jdGlvbl9jYWxsRQDkvQIAAIQCABC+AgBBtIgKC5AXAgAAAAMAAAAFAAAABwAAAAsAAAANAAAAEQAAABMAAAAXAAAAHQAAAB8AAAAlAAAAKQAAACsAAAAvAAAANQAAADsAAAA9AAAAQwAAAEcAAABJAAAATwAAAFMAAABZAAAAYQAAAGUAAABnAAAAawAAAG0AAABxAAAAfwAAAIMAAACJAAAAiwAAAJUAAACXAAAAnQAAAKMAAACnAAAArQAAALMAAAC1AAAAvwAAAMEAAADFAAAAxwAAANMAAAABAAAACwAAAA0AAAARAAAAEwAAABcAAAAdAAAAHwAAACUAAAApAAAAKwAAAC8AAAA1AAAAOwAAAD0AAABDAAAARwAAAEkAAABPAAAAUwAAAFkAAABhAAAAZQAAAGcAAABrAAAAbQAAAHEAAAB5AAAAfwAAAIMAAACJAAAAiwAAAI8AAACVAAAAlwAAAJ0AAACjAAAApwAAAKkAAACtAAAAswAAALUAAAC7AAAAvwAAAMEAAADFAAAAxwAAANEAAAAAAAAADI0CAKpdAACrXQAArF0AAK1dAACuXQAAr10AALBdAACxXQAAsl0AALNdAAC0XQAAtV0AALZdAAC3XQAAAAAAAJSOAgC4XQAAuV0AALpdAAC7XQAAvF0AAL1dAAC+XQAAv10AAMBdAADBXQAAwl0AAMNdAADEXQAAxV0AAAAAAAC4iAIAxl0AAMddAACsXQAArV0AAMhdAADJXQAAsF0AALFdAACyXQAAyl0AALRdAADLXQAAtl0AAMxdAAAAAAAADIwCAM1dAADOXQAAz10AANBdAADRXQAA0l0AANNdAACxXQAAsl0AANRdAAC0XQAA1V0AALZdAADWXQAATlN0M19fMjliYXNpY19pb3NJY05TXzExY2hhcl90cmFpdHNJY0VFRUUATlN0M19fMjE1YmFzaWNfc3RyZWFtYnVmSWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFAE5TdDNfXzIxM2Jhc2ljX2lzdHJlYW1JY05TXzExY2hhcl90cmFpdHNJY0VFRUUATlN0M19fMjEzYmFzaWNfb3N0cmVhbUljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRQBOU3QzX18yMTRiYXNpY19pb3N0cmVhbUljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRQAAAACIuwIAaYcCAAMAAAACAAAASI0CAAIAAAAkjgIAAggAAE5TdDNfXzI5YmFzaWNfaW9zSXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFAE5TdDNfXzIxNWJhc2ljX3N0cmVhbWJ1Zkl3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRQBOU3QzX18yMTNiYXNpY19pc3RyZWFtSXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFAE5TdDNfXzIxM2Jhc2ljX29zdHJlYW1Jd05TXzExY2hhcl90cmFpdHNJd0VFRUUATlN0M19fMjE1YmFzaWNfc3RyaW5nYnVmSWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VFRUUAAOS9AgB1iAIADI0CAEAAAAAAAAAAcIkCANddAADYXQAAOAAAAPj///9wiQIA2V0AANpdAADA////wP///3CJAgDbXQAA3F0AAEAAAAAAAAAASI0CAN1dAADeXQAAwP///8D///9IjQIA310AAOBdAABOU3QzX18yMThiYXNpY19zdHJpbmdzdHJlYW1JY05TXzExY2hhcl90cmFpdHNJY0VFTlNfOWFsbG9jYXRvckljRUVFRQAAAADkvQIAKIkCAJyHAgA4AAAAAAAAABSKAgDhXQAA4l0AAMj////I////FIoCAONdAADkXQAAOAAAAAAAAAAkjgIA5V0AAOZdAADI////yP///ySOAgDnXQAA6F0AAE5TdDNfXzIxOWJhc2ljX29zdHJpbmdzdHJlYW1JY05TXzExY2hhcl90cmFpdHNJY0VFTlNfOWFsbG9jYXRvckljRUVFRQAAAOS9AgDMiQIAJI4CADwAAAAAAAAAuIoCAOldAADqXQAAxP///8T///+4igIA610AAOxdAAA8AAAAAAAAAEiNAgDdXQAA3l0AAMT////E////SI0CAN9dAADgXQAATlN0M19fMjE5YmFzaWNfaXN0cmluZ3N0cmVhbUljTlNfMTFjaGFyX3RyYWl0c0ljRUVOU185YWxsb2NhdG9ySWNFRUVFAAAA5L0CAHCKAgBIjQIAbAAAAAAAAABEiwIA7V0AAO5dAACU////lP///0SLAgDvXQAA8F0AAGwAAAAAAAAASI0CAN1dAADeXQAAlP///5T///9IjQIA310AAOBdAABOU3QzX18yMTRiYXNpY19pZnN0cmVhbUljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRQDkvQIAFIsCAEiNAgBoAAAAAAAAANCLAgDxXQAA8l0AAJj///+Y////0IsCAPNdAAD0XQAAaAAAAAAAAAAkjgIA5V0AAOZdAACY////mP///ySOAgDnXQAA6F0AAE5TdDNfXzIxNGJhc2ljX29mc3RyZWFtSWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFAOS9AgCgiwIAJI4CAE5TdDNfXzIxM2Jhc2ljX2ZpbGVidWZJY05TXzExY2hhcl90cmFpdHNJY0VFRUUAAOS9AgDciwIADI0CAAAAAACojAIA9V0AAPZdAAD3XQAA+F0AAPldAAD6XQAA+10AAAAAAAB8jAIAA1cAAPxdAAD9XQAATlN0M19fMjhpb3NfYmFzZUUATlN0M19fMjhpb3NfYmFzZTdmYWlsdXJlRQDkvQIAYowCAIS5AgBOU3QzX18yMTlfX2lvc3RyZWFtX2NhdGVnb3J5RQAAAOS9AgCIjAIANLoCAAAAAAAUjQIAql0AAP5dAAD/XQAArV0AAK5dAACvXQAAsF0AALFdAACyXQAAAF4AAAFeAAACXgAAtl0AALddAABOU3QzX18yMTBfX3N0ZGluYnVmSWNFRQCkvQIA2oYCAOS9AgD0jAIADI0CAAgAAAAAAAAASI0CAN1dAADeXQAA+P////j///9IjQIA310AAOBdAACIuwIAC4cCAAAAAAABAAAAcI0CAAP0//8AAAAAcI0CAANeAAAEXgAA5L0CALCGAgCMjQIAAAAAAIyNAgAFXgAABl4AAKS9AgBQjAIAAAAAAPCNAgCqXQAAB14AAAheAACtXQAArl0AAK9dAAAJXgAAsV0AALJdAACzXQAAtF0AALVdAAAKXgAAC14AAE5TdDNfXzIxMV9fc3Rkb3V0YnVmSWNFRQAAAADkvQIA1I0CAAyNAgAEAAAAAAAAACSOAgDlXQAA5l0AAPz////8////JI4CAOddAADoXQAAiLsCADqHAgAAAAAAAQAAAHCNAgAD9P//AAAAAJyOAgC4XQAADF4AAA1eAAC7XQAAvF0AAL1dAAC+XQAAv10AAMBdAAAOXgAAD14AABBeAADEXQAAxV0AAE5TdDNfXzIxMF9fc3RkaW5idWZJd0VFAKS9AgDmhwIA5L0CAHyOAgCUjgIACAAAAAAAAADQjgIAEV4AABJeAAD4////+P///9COAgATXgAAFF4AAIi7AgAXiAIAAAAAAAEAAAD4jgIAA/T//wAAAAD4jgIAFV4AABZeAADkvQIAvIcCAIyNAgAAAAAAYI8CALhdAAAXXgAAGF4AALtdAAC8XQAAvV0AABleAAC/XQAAwF0AAMFdAADCXQAAw10AABpeAAAbXgAATlN0M19fMjExX19zdGRvdXRidWZJd0VFAAAAAOS9AgBEjwIAlI4CAAQAAAAAAAAAlI8CABxeAAAdXgAA/P////z///+UjwIAHl4AAB9eAACIuwIARogCAAAAAAABAAAA+I4CAAP0//8AAAAA3hIElQAAAAD///////////////8AQdCfCgvtBDAxMjM0NTY3ODlhYmNkZWZBQkNERUZ4WCstcFBpSW5OAAAAAAAAAABEmQIAIF4AACFeAAAiXgAAAAAAAKSZAgAjXgAAJF4AACJeAAAlXgAAJl4AACdeAAAoXgAAKV4AACpeAAArXgAALF4AAAAAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAFAgAABQAAAAUAAAAFAAAABQAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAMCAACCAAAAggAAAIIAAACCAAAAggAAAIIAAACCAAAAggAAAIIAAACCAAAAggAAAIIAAACCAAAAggAAAIIAAABCAQAAQgEAAEIBAABCAQAAQgEAAEIBAABCAQAAQgEAAEIBAABCAQAAggAAAIIAAACCAAAAggAAAIIAAACCAAAAggAAACoBAAAqAQAAKgEAACoBAAAqAQAAKgEAACoAAAAqAAAAKgAAACoAAAAqAAAAKgAAACoAAAAqAAAAKgAAACoAAAAqAAAAKgAAACoAAAAqAAAAKgAAACoAAAAqAAAAKgAAACoAAAAqAAAAggAAAIIAAACCAAAAggAAAIIAAACCAAAAMgEAADIBAAAyAQAAMgEAADIBAAAyAQAAMgAAADIAAAAyAAAAMgAAADIAAAAyAAAAMgAAADIAAAAyAAAAMgAAADIAAAAyAAAAMgAAADIAAAAyAAAAMgAAADIAAAAyAAAAMgAAADIAAACCAAAAggAAAIIAAACCAAAABABBxKgKC+0CDJkCAC1eAAAuXgAAIl4AAC9eAAAwXgAAMV4AADJeAAAzXgAANF4AADVeAAAAAAAA3JkCADZeAAA3XgAAIl4AADheAAA5XgAAOl4AADteAAA8XgAAAAAAAACaAgA9XgAAPl4AACJeAAA/XgAAQF4AAEFeAABCXgAAQ14AAHQAAAByAAAAdQAAAGUAAAAAAAAAZgAAAGEAAABsAAAAcwAAAGUAAAAAAAAAJQAAAG0AAAAvAAAAJQAAAGQAAAAvAAAAJQAAAHkAAAAAAAAAJQAAAEgAAAA6AAAAJQAAAE0AAAA6AAAAJQAAAFMAAAAAAAAAJQAAAGEAAAAgAAAAJQAAAGIAAAAgAAAAJQAAAGQAAAAgAAAAJQAAAEgAAAA6AAAAJQAAAE0AAAA6AAAAJQAAAFMAAAAgAAAAJQAAAFkAAAAAAAAAJQAAAEkAAAA6AAAAJQAAAE0AAAA6AAAAJQAAAFMAAAAgAAAAJQAAAHAAQbyrCgv/CuSVAgBEXgAARV4AACJeAABOU3QzX18yNmxvY2FsZTVmYWNldEUAAADkvQIAzJUCACy6AgAAAAAAZJYCAEReAABGXgAAIl4AAEdeAABIXgAASV4AAEpeAABLXgAATF4AAE1eAABOXgAAT14AAFBeAABRXgAAUl4AAE5TdDNfXzI1Y3R5cGVJd0VFAE5TdDNfXzIxMGN0eXBlX2Jhc2VFAACkvQIARpYCAIi7AgA0lgIAAAAAAAIAAADklQIAAgAAAFyWAgACAAAAAAAAAPiWAgBEXgAAU14AACJeAABUXgAAVV4AAFZeAABXXgAAWF4AAFleAABaXgAATlN0M19fMjdjb2RlY3Z0SWNjMTFfX21ic3RhdGVfdEVFAE5TdDNfXzIxMmNvZGVjdnRfYmFzZUUAAAAApL0CANaWAgCIuwIAtJYCAAAAAAACAAAA5JUCAAIAAADwlgIAAgAAAAAAAABslwIARF4AAFteAAAiXgAAXF4AAF1eAABeXgAAX14AAGBeAABhXgAAYl4AAE5TdDNfXzI3Y29kZWN2dElEc2MxMV9fbWJzdGF0ZV90RUUAAIi7AgBIlwIAAAAAAAIAAADklQIAAgAAAPCWAgACAAAAAAAAAOCXAgBEXgAAY14AACJeAABkXgAAZV4AAGZeAABnXgAAaF4AAGleAABqXgAATlN0M19fMjdjb2RlY3Z0SURzRHUxMV9fbWJzdGF0ZV90RUUAiLsCALyXAgAAAAAAAgAAAOSVAgACAAAA8JYCAAIAAAAAAAAAVJgCAEReAABrXgAAIl4AAGxeAABtXgAAbl4AAG9eAABwXgAAcV4AAHJeAABOU3QzX18yN2NvZGVjdnRJRGljMTFfX21ic3RhdGVfdEVFAACIuwIAMJgCAAAAAAACAAAA5JUCAAIAAADwlgIAAgAAAAAAAADImAIARF4AAHNeAAAiXgAAdF4AAHVeAAB2XgAAd14AAHheAAB5XgAAel4AAE5TdDNfXzI3Y29kZWN2dElEaUR1MTFfX21ic3RhdGVfdEVFAIi7AgCkmAIAAAAAAAIAAADklQIAAgAAAPCWAgACAAAATlN0M19fMjdjb2RlY3Z0SXdjMTFfX21ic3RhdGVfdEVFAAAAiLsCAOiYAgAAAAAAAgAAAOSVAgACAAAA8JYCAAIAAABOU3QzX18yNmxvY2FsZTVfX2ltcEUAAADkvQIALJkCAOSVAgBOU3QzX18yN2NvbGxhdGVJY0VFAOS9AgBQmQIA5JUCAE5TdDNfXzI3Y29sbGF0ZUl3RUUA5L0CAHCZAgDklQIATlN0M19fMjVjdHlwZUljRUUAAACIuwIAkJkCAAAAAAACAAAA5JUCAAIAAABclgIAAgAAAE5TdDNfXzI4bnVtcHVuY3RJY0VFAAAAAOS9AgDEmQIA5JUCAE5TdDNfXzI4bnVtcHVuY3RJd0VFAAAAAOS9AgDomQIA5JUCAAAAAABkmQIAe14AAHxeAAAiXgAAfV4AAH5eAAB/XgAAAAAAAISZAgCAXgAAgV4AACJeAACCXgAAg14AAIReAAAAAAAAIJsCAEReAACFXgAAIl4AAIZeAACHXgAAiF4AAIleAACKXgAAi14AAIxeAACNXgAAjl4AAI9eAACQXgAATlN0M19fMjdudW1fZ2V0SWNOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yOV9fbnVtX2dldEljRUUATlN0M19fMjE0X19udW1fZ2V0X2Jhc2VFAACkvQIA5poCAIi7AgDQmgIAAAAAAAEAAAAAmwIAAAAAAIi7AgCMmgIAAAAAAAIAAADklQIAAgAAAAibAgBBxLYKC8sB9JsCAEReAACRXgAAIl4AAJJeAACTXgAAlF4AAJVeAACWXgAAl14AAJheAACZXgAAml4AAJteAACcXgAATlN0M19fMjdudW1fZ2V0SXdOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yOV9fbnVtX2dldEl3RUUAAACIuwIAxJsCAAAAAAABAAAAAJsCAAAAAACIuwIAgJsCAAAAAAACAAAA5JUCAAIAAADcmwIAQZi4CgvfAdycAgBEXgAAnV4AACJeAACeXgAAn14AAKBeAAChXgAAol4AAKNeAACkXgAApV4AAE5TdDNfXzI3bnVtX3B1dEljTlNfMTlvc3RyZWFtYnVmX2l0ZXJhdG9ySWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFRUUATlN0M19fMjlfX251bV9wdXRJY0VFAE5TdDNfXzIxNF9fbnVtX3B1dF9iYXNlRQAApL0CAKKcAgCIuwIAjJwCAAAAAAABAAAAvJwCAAAAAACIuwIASJwCAAAAAAACAAAA5JUCAAIAAADEnAIAQYC6Cgu/AaSdAgBEXgAApl4AACJeAACnXgAAqF4AAKleAACqXgAAq14AAKxeAACtXgAArl4AAE5TdDNfXzI3bnVtX3B1dEl3TlNfMTlvc3RyZWFtYnVmX2l0ZXJhdG9ySXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFRUUATlN0M19fMjlfX251bV9wdXRJd0VFAAAAiLsCAHSdAgAAAAAAAQAAALycAgAAAAAAiLsCADCdAgAAAAAAAgAAAOSVAgACAAAAjJ0CAEHIuwoLmwukngIAr14AALBeAAAiXgAAsV4AALJeAACzXgAAtF4AALVeAAC2XgAAt14AAPj///+kngIAuF4AALleAAC6XgAAu14AALxeAAC9XgAAvl4AAE5TdDNfXzI4dGltZV9nZXRJY05TXzE5aXN0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzI5dGltZV9iYXNlRQCkvQIAXZ4CAE5TdDNfXzIyMF9fdGltZV9nZXRfY19zdG9yYWdlSWNFRQAAAKS9AgB4ngIAiLsCABieAgAAAAAAAwAAAOSVAgACAAAAcJ4CAAIAAACcngIAAAgAAAAAAACQnwIAv14AAMBeAAAiXgAAwV4AAMJeAADDXgAAxF4AAMVeAADGXgAAx14AAPj///+QnwIAyF4AAMleAADKXgAAy14AAMxeAADNXgAAzl4AAE5TdDNfXzI4dGltZV9nZXRJd05TXzE5aXN0cmVhbWJ1Zl9pdGVyYXRvckl3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRUVFAE5TdDNfXzIyMF9fdGltZV9nZXRfY19zdG9yYWdlSXdFRQAApL0CAGWfAgCIuwIAIJ8CAAAAAAADAAAA5JUCAAIAAABwngIAAgAAAIifAgAACAAAAAAAADSgAgDPXgAA0F4AACJeAADRXgAATlN0M19fMjh0aW1lX3B1dEljTlNfMTlvc3RyZWFtYnVmX2l0ZXJhdG9ySWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFRUUATlN0M19fMjEwX190aW1lX3B1dEUAAACkvQIAFaACAIi7AgDQnwIAAAAAAAIAAADklQIAAgAAACygAgAACAAAAAAAALSgAgDSXgAA014AACJeAADUXgAATlN0M19fMjh0aW1lX3B1dEl3TlNfMTlvc3RyZWFtYnVmX2l0ZXJhdG9ySXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFRUUAAAAAiLsCAGygAgAAAAAAAgAAAOSVAgACAAAALKACAAAIAAAAAAAASKECAEReAADVXgAAIl4AANZeAADXXgAA2F4AANleAADaXgAA214AANxeAADdXgAA3l4AAE5TdDNfXzIxMG1vbmV5cHVuY3RJY0xiMEVFRQBOU3QzX18yMTBtb25leV9iYXNlRQAAAACkvQIAKKECAIi7AgAMoQIAAAAAAAIAAADklQIAAgAAAEChAgACAAAAAAAAALyhAgBEXgAA314AACJeAADgXgAA4V4AAOJeAADjXgAA5F4AAOVeAADmXgAA514AAOheAABOU3QzX18yMTBtb25leXB1bmN0SWNMYjFFRUUAiLsCAKChAgAAAAAAAgAAAOSVAgACAAAAQKECAAIAAAAAAAAAMKICAEReAADpXgAAIl4AAOpeAADrXgAA7F4AAO1eAADuXgAA714AAPBeAADxXgAA8l4AAE5TdDNfXzIxMG1vbmV5cHVuY3RJd0xiMEVFRQCIuwIAFKICAAAAAAACAAAA5JUCAAIAAABAoQIAAgAAAAAAAACkogIARF4AAPNeAAAiXgAA9F4AAPVeAAD2XgAA914AAPheAAD5XgAA+l4AAPteAAD8XgAATlN0M19fMjEwbW9uZXlwdW5jdEl3TGIxRUVFAIi7AgCIogIAAAAAAAIAAADklQIAAgAAAEChAgACAAAAAAAAAEijAgBEXgAA/V4AACJeAAD+XgAA/14AAE5TdDNfXzI5bW9uZXlfZ2V0SWNOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yMTFfX21vbmV5X2dldEljRUUAAKS9AgAmowIAiLsCAOCiAgAAAAAAAgAAAOSVAgACAAAAQKMCAEHsxgoLmwHsowIARF4AAABfAAAiXgAAAV8AAAJfAABOU3QzX18yOW1vbmV5X2dldEl3TlNfMTlpc3RyZWFtYnVmX2l0ZXJhdG9ySXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFRUUATlN0M19fMjExX19tb25leV9nZXRJd0VFAACkvQIAyqMCAIi7AgCEowIAAAAAAAIAAADklQIAAgAAAOSjAgBBkMgKC5sBkKQCAEReAAADXwAAIl4AAARfAAAFXwAATlN0M19fMjltb25leV9wdXRJY05TXzE5b3N0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzIxMV9fbW9uZXlfcHV0SWNFRQAApL0CAG6kAgCIuwIAKKQCAAAAAAACAAAA5JUCAAIAAACIpAIAQbTJCgubATSlAgBEXgAABl8AACJeAAAHXwAACF8AAE5TdDNfXzI5bW9uZXlfcHV0SXdOU18xOW9zdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yMTFfX21vbmV5X3B1dEl3RUUAAKS9AgASpQIAiLsCAMykAgAAAAAAAgAAAOSVAgACAAAALKUCAEHYygoLuQispQIARF4AAAlfAAAiXgAACl8AAAtfAAAMXwAATlN0M19fMjhtZXNzYWdlc0ljRUUATlN0M19fMjEzbWVzc2FnZXNfYmFzZUUAAAAApL0CAImlAgCIuwIAdKUCAAAAAAACAAAA5JUCAAIAAACkpQIAAgAAAAAAAAAEpgIARF4AAA1fAAAiXgAADl8AAA9fAAAQXwAATlN0M19fMjhtZXNzYWdlc0l3RUUAAAAAiLsCAOylAgAAAAAAAgAAAOSVAgACAAAApKUCAAIAAABTAAAAdQAAAG4AAABkAAAAYQAAAHkAAAAAAAAATQAAAG8AAABuAAAAZAAAAGEAAAB5AAAAAAAAAFQAAAB1AAAAZQAAAHMAAABkAAAAYQAAAHkAAAAAAAAAVwAAAGUAAABkAAAAbgAAAGUAAABzAAAAZAAAAGEAAAB5AAAAAAAAAFQAAABoAAAAdQAAAHIAAABzAAAAZAAAAGEAAAB5AAAAAAAAAEYAAAByAAAAaQAAAGQAAABhAAAAeQAAAAAAAABTAAAAYQAAAHQAAAB1AAAAcgAAAGQAAABhAAAAeQAAAAAAAABTAAAAdQAAAG4AAAAAAAAATQAAAG8AAABuAAAAAAAAAFQAAAB1AAAAZQAAAAAAAABXAAAAZQAAAGQAAAAAAAAAVAAAAGgAAAB1AAAAAAAAAEYAAAByAAAAaQAAAAAAAABTAAAAYQAAAHQAAAAAAAAASgAAAGEAAABuAAAAdQAAAGEAAAByAAAAeQAAAAAAAABGAAAAZQAAAGIAAAByAAAAdQAAAGEAAAByAAAAeQAAAAAAAABNAAAAYQAAAHIAAABjAAAAaAAAAAAAAABBAAAAcAAAAHIAAABpAAAAbAAAAAAAAABNAAAAYQAAAHkAAAAAAAAASgAAAHUAAABuAAAAZQAAAAAAAABKAAAAdQAAAGwAAAB5AAAAAAAAAEEAAAB1AAAAZwAAAHUAAABzAAAAdAAAAAAAAABTAAAAZQAAAHAAAAB0AAAAZQAAAG0AAABiAAAAZQAAAHIAAAAAAAAATwAAAGMAAAB0AAAAbwAAAGIAAABlAAAAcgAAAAAAAABOAAAAbwAAAHYAAABlAAAAbQAAAGIAAABlAAAAcgAAAAAAAABEAAAAZQAAAGMAAABlAAAAbQAAAGIAAABlAAAAcgAAAAAAAABKAAAAYQAAAG4AAAAAAAAARgAAAGUAAABiAAAAAAAAAE0AAABhAAAAcgAAAAAAAABBAAAAcAAAAHIAAAAAAAAASgAAAHUAAABuAAAAAAAAAEoAAAB1AAAAbAAAAAAAAABBAAAAdQAAAGcAAAAAAAAAUwAAAGUAAABwAAAAAAAAAE8AAABjAAAAdAAAAAAAAABOAAAAbwAAAHYAAAAAAAAARAAAAGUAAABjAAAAAAAAAEEAAABNAAAAAAAAAFAAAABNAEGc0woLQpyeAgC4XgAAuV4AALpeAAC7XgAAvF4AAL1eAAC+XgAAAAAAAIifAgDIXgAAyV4AAMpeAADLXgAAzF4AAM1eAADOXgBB+NMKCwNYqgIAQZDUCgtXTENfQ1RZUEUAAAAATENfTlVNRVJJQwAATENfVElNRQAAAAAATENfQ09MTEFURQAATENfTU9ORVRBUlkATENfTUVTU0FHRVMAsI8CABQAAABDLlVURi04AEGE2QoL+QMBAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAABIAAAATAAAAFAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAfAAAAIAAAACEAAAAiAAAAIwAAACQAAAAlAAAAJgAAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAC0AAAAuAAAALwAAADAAAAAxAAAAMgAAADMAAAA0AAAANQAAADYAAAA3AAAAOAAAADkAAAA6AAAAOwAAADwAAAA9AAAAPgAAAD8AAABAAAAAYQAAAGIAAABjAAAAZAAAAGUAAABmAAAAZwAAAGgAAABpAAAAagAAAGsAAABsAAAAbQAAAG4AAABvAAAAcAAAAHEAAAByAAAAcwAAAHQAAAB1AAAAdgAAAHcAAAB4AAAAeQAAAHoAAABbAAAAXAAAAF0AAABeAAAAXwAAAGAAAABhAAAAYgAAAGMAAABkAAAAZQAAAGYAAABnAAAAaAAAAGkAAABqAAAAawAAAGwAAABtAAAAbgAAAG8AAABwAAAAcQAAAHIAAABzAAAAdAAAAHUAAAB2AAAAdwAAAHgAAAB5AAAAegAAAHsAAAB8AAAAfQAAAH4AAAB/AEGE5QoL+QMBAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAABIAAAATAAAAFAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAfAAAAIAAAACEAAAAiAAAAIwAAACQAAAAlAAAAJgAAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAC0AAAAuAAAALwAAADAAAAAxAAAAMgAAADMAAAA0AAAANQAAADYAAAA3AAAAOAAAADkAAAA6AAAAOwAAADwAAAA9AAAAPgAAAD8AAABAAAAAQQAAAEIAAABDAAAARAAAAEUAAABGAAAARwAAAEgAAABJAAAASgAAAEsAAABMAAAATQAAAE4AAABPAAAAUAAAAFEAAABSAAAAUwAAAFQAAABVAAAAVgAAAFcAAABYAAAAWQAAAFoAAABbAAAAXAAAAF0AAABeAAAAXwAAAGAAAABBAAAAQgAAAEMAAABEAAAARQAAAEYAAABHAAAASAAAAEkAAABKAAAASwAAAEwAAABNAAAATgAAAE8AAABQAAAAUQAAAFIAAABTAAAAVAAAAFUAAABWAAAAVwAAAFgAAABZAAAAWgAAAHsAAAB8AAAAfQAAAH4AAAB/AEGA7QoL5AECAADAAwAAwAQAAMAFAADABgAAwAcAAMAIAADACQAAwAoAAMALAADADAAAwA0AAMAOAADADwAAwBAAAMARAADAEgAAwBMAAMAUAADAFQAAwBYAAMAXAADAGAAAwBkAAMAaAADAGwAAwBwAAMAdAADAHgAAwB8AAMAAAACzAQAAwwIAAMMDAADDBAAAwwUAAMMGAADDBwAAwwgAAMMJAADDCgAAwwsAAMMMAADDDQAA0w4AAMMPAADDAAAMuwEADMMCAAzDAwAMwwQADNtOU3QzX18yMTRfX3NoYXJlZF9jb3VudEUAQfTuCgv0AQoAAABkAAAA6AMAABAnAACghgEAQEIPAICWmAAA4fUFAMqaOwAAAAAAAAAAMDAwMTAyMDMwNDA1MDYwNzA4MDkxMDExMTIxMzE0MTUxNjE3MTgxOTIwMjEyMjIzMjQyNTI2MjcyODI5MzAzMTMyMzMzNDM1MzYzNzM4Mzk0MDQxNDI0MzQ0NDU0NjQ3NDg0OTUwNTE1MjUzNTQ1NTU2NTc1ODU5NjA2MTYyNjM2NDY1NjY2NzY4Njk3MDcxNzI3Mzc0NzU3Njc3Nzg3OTgwODE4MjgzODQ4NTg2ODc4ODg5OTA5MTkyOTM5NDk1OTY5Nzk4OTkAQfjwCgvxEAoAAAAAAAAAZAAAAAAAAADoAwAAAAAAABAnAAAAAAAAoIYBAAAAAABAQg8AAAAAAICWmAAAAAAAAOH1BQAAAAAAypo7AAAAAADkC1QCAAAAAOh2SBcAAAAAEKXU6AAAAACgck4YCQAAAEB6EPNaAAAAgMakfo0DAAAAwW/yhiMAAACKXXhFYwEAAGSns7bgDQAA6IkEI8eKAAAAAPC5AgD1XQAAEV8AABJfAAD4XQAA+V0AAPpdAAATXwAAAAAAACC6AgD1XQAAFF8AABVfAAAWXwAA+V0AAPpdAAAXXwAAAAAAAIS5AgDwVgAAGF8AAP1dAABOU3QzX18yMTJzeXN0ZW1fZXJyb3JFAADkvQIAbLkCAEi9AgBOU3QzX18yMTRlcnJvcl9jYXRlZ29yeUUAAAAApL0CAJC5AgBOU3QzX18yMTJfX2RvX21lc3NhZ2VFAE5TdDNfXzIyNF9fZ2VuZXJpY19lcnJvcl9jYXRlZ29yeUUAAADkvQIAy7kCADS6AgBOU3QzX18yMjNfX3N5c3RlbV9lcnJvcl9jYXRlZ29yeUUAAADkvQIA/LkCADS6AgCkvQIATLcCAOS9AgC0uQIArLkCAAAAAAAsugIA+VsAABlfAAAaXwAAAAAAAIC6AgAQAAAAG18AABxfAABTdDE4YmFkX3ZhcmlhbnRfYWNjZXNzAADkvQIAaLoCABC+AgBOMTBfX2N4eGFiaXYxMTZfX3NoaW1fdHlwZV9pbmZvRQAAAADkvQIAjLoCANS9AgBOMTBfX2N4eGFiaXYxMTdfX2NsYXNzX3R5cGVfaW5mb0UAAADkvQIAvLoCALC6AgBOMTBfX2N4eGFiaXYxMTdfX3BiYXNlX3R5cGVfaW5mb0UAAADkvQIA7LoCALC6AgBOMTBfX2N4eGFiaXYxMTlfX3BvaW50ZXJfdHlwZV9pbmZvRQDkvQIAHLsCABC7AgBOMTBfX2N4eGFiaXYxMjBfX3NpX2NsYXNzX3R5cGVfaW5mb0UAAAAA5L0CAEy7AgDgugIAAAAAANC7AgAdXwAAHl8AAB9fAAAgXwAAIV8AACJfAAAjXwAAJF8AAE4xMF9fY3h4YWJpdjEyMV9fdm1pX2NsYXNzX3R5cGVfaW5mb0UAAADkvQIAqLsCAOC6AgAAAAAAOLwCABAAAAAlXwAAJl8AAAAAAABEvAIAEAAAACdfAAAoXwAAU3Q5ZXhjZXB0aW9uAFN0MjBiYWRfYXJyYXlfbmV3X2xlbmd0aABTdDliYWRfYWxsb2MAAOS9AgAqvAIAEL4CAOS9AgARvAIAOLwCAAAAAACIvAIAsAAAAClfAAAqXwAAAAAAAEi9AgDyVgAAK18AAP1dAABTdDExbG9naWNfZXJyb3IA5L0CAHi8AgAQvgIAAAAAAMC8AgCwAAAALF8AACpfAABTdDE2aW52YWxpZF9hcmd1bWVudAAAAADkvQIAqLwCAIi8AgAAAAAA9LwCALAAAAAtXwAAKl8AAFN0MTJsZW5ndGhfZXJyb3IAAAAA5L0CAOC8AgCIvAIAAAAAACi9AgCwAAAALl8AACpfAABTdDEyb3V0X29mX3JhbmdlAAAAAOS9AgAUvQIAiLwCAFN0MTNydW50aW1lX2Vycm9yAAAA5L0CADS9AgAQvgIAAAAAAHy9AgDyVgAAL18AAP1dAABTdDE0b3ZlcmZsb3dfZXJyb3IAAOS9AgBovQIASL0CAAAAAAAYvgIA+1YAADBfAAAxXwAAAAAAAOC6AgAdXwAAMl8AAB9fAAAgXwAAIV8AADNfAAA0XwAANV8AAFN0OXR5cGVfaW5mbwAAAACkvQIAxL0CAAAAAAB0uwIAHV8AADZfAAAfXwAAIF8AACFfAAA3XwAAOF8AADlfAABTdDhiYWRfY2FzdACkvQIABLwCAOS9AgAEvgIAEL4CAAAAAAAQvgIAEAAAADpfAAA7XwAAAQAAAAIAAAACAAAAAgAAAAAAAAACAAAAAgAAAAIAAAACAAAA/////////////////////4EAAACBAAAAFAAAABUAAACBAAAAgQAAAIEAAACBAAAAgQAAABQAAAAVAAAAgQAAAIEAAACBAAAAgQAAAIEAAACBAAAAgQAAAAYAAAAHAAAAgQAAAIEAAACBAAAAgQAAAIEAAAAGAAAABwAAAIEAAACBAAAAgQAAAIEAAACBAAAABgAAAAcAAACBAAAAgQAAAIEAAACBAAAAgQAAAAYAAAAHAAAAgQAAAIEAAACBAAAAFAAAABUAAACBAAAAgQAAAIEAAACBAAAAgQAAAAQAAAAFAAAAgQAAAIEAAACBAAAASggAAEoIAAAlCAAAJQgAAG2dAABtnQAABAAAAAQAAAAEAAAABAAAAAUAAAAFAAAAQjIBAGo2AQCqtAAAhR0AAHUdAABgswAAULMAANwkAQAWfQAAq3sAACC4AABlfQAAYH0AAL+0AABMdwAACYEAAGwLAQBtNwAAaTcAAMoQAQDGEAEAQjIBAEIyAQBCMgEAQjIBAEIyAQBqNgEAqrQAAIUdAAB1HQAAYLMAAFCzAADcJAEAFn0AAKt7AAAguAAAZX0AAGB9AAC/tAAATHcAAAmBAABsCwEAbTcAAGk3AADKEAEAxhABAAMAAAADAAAAAwAAAAQAAAAEAAAABAAAAAQAAAADAAAAAgAAAAMAAAADAAAABAAAAAQAAAAEAAAABAAAAAIAAAACAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAAEAAAABAAAAAQAAAAEAAAAAwAAAAIAAAADAAAAAwAAAAQAAAAEAAAABAAAAAQAAAACAAAAAgAAAAMAAAADAAAAAwAAAAMAQfCBCwshkPJSACEjJCUmJyorLS4vOjw9Pj9AXF5fYHx+AQAAAAAFAEGcggsLAv9WAEG0ggsLC/1WAAD8VgAAHNwCAEHMggsLAQIAQdyCCwsI//////////8AQaCDCwsJEMECAAAAAAAFAEG0gwsLAqZdAEHMgwsLDv1WAACnXQAAKNwCAAAEAEHkgwsLAQEAQfSDCwsF/////woAQbiECwsJqMECACCMAgAJAEHMhAsLAv9WAEHghAsLEv5WAAAAAAAA/FYAAEjkAgAABABBjIULCwT/////AEHQhQsLChi5AgA8uQIACQE=",!og(_)){var Ng=_;_=A.locateFile?A.locateFile(Ng,e):e+Ng}function nI(){var g=_;return Promise.resolve().then(()=>{if(g==_&&ZA)var I=new Uint8Array(ZA);else{if(og(g))if(I=g.slice(37),typeof AA!="undefined"&&AA)I=Buffer.from(I,"base64"),I=new Uint8Array(I.buffer,I.byteOffset,I.length);else{I=atob(I);for(var E=new Uint8Array(I.length),Q=0;QWebAssembly.instantiate(E,g)).then(E=>E).then(I,E=>{gA(`failed to asynchronously prepare wasm: ${E}`),T(E)})}function VI(g,I){return eI(g,I)}var $,eA;function VA(g){this.name="ExitStatus",this.message=`Program terminated with exit(${g})`,this.status=g}var rA=g=>{for(;0{I>>>=0;for(var E=I+NaN,Q=I;g[Q]&&!(Q>=E);)++Q;if(16C?E+=String.fromCharCode(C):(C-=65536,E+=String.fromCharCode(55296|C>>10,56320|C&1023))}}else E+=String.fromCharCode(C)}return E},F=g=>(g>>>=0)?QA(r,g):"",YA=[],HA=0,j=0;class TA{constructor(I){this.PB=I,this.EB=I-24}}var lA=g=>{var I=j;if(!I)return wA(0),0;var E=new TA(I);a[E.EB+16>>>2>>>0]=I;var Q=a[E.EB+4>>>2>>>0];if(!Q)return wA(0),I;for(var C in g){var D=g[C];if(D===0||D===Q)break;if(fg(D,Q,E.EB+16))return wA(D),I}return wA(Q),I},Rg=(g,I)=>{for(var E=0,Q=g.length-1;0<=Q;Q--){var C=g[Q];C==="."?g.splice(Q,1):C===".."?(g.splice(Q,1),E++):E&&(g.splice(Q,1),E--)}if(I)for(;E;E--)g.unshift("..");return g},BA=g=>{var I=g.charAt(0)==="/",E=g.substr(-1)==="/";return(g=Rg(g.split("/").filter(Q=>!!Q),!I).join("/"))||I||(g="."),g&&E&&(g+="/"),(I?"/":"")+g},TI=g=>{var I=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(g).slice(1);return g=I[0],I=I[1],!g&&!I?".":(I&&=I.substr(0,I.length-1),g+I)},kg=g=>{if(g==="/")return"/";g=BA(g),g=g.replace(/\/$/,"");var I=g.lastIndexOf("/");return I===-1?g:g.substr(I+1)},lI=()=>{if(typeof crypto=="object"&&typeof crypto.getRandomValues=="function")return E=>crypto.getRandomValues(E);if(AA)try{var g=FA("crypto");if(g.randomFillSync)return E=>g.randomFillSync(E);var I=g.randomBytes;return E=>(E.set(I(E.byteLength)),E)}catch{}T("initRandomDevice")},Ug=g=>(Ug=lI())(g);function SA(){for(var g="",I=!1,E=arguments.length-1;-1<=E&&!I;E--){if(I=0<=E?arguments[E]:"/",typeof I!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!I)return"";g=I+"/"+g,I=I.charAt(0)==="/"}return g=Rg(g.split("/").filter(Q=>!!Q),!I).join("/"),(I?"/":"")+g||"."}var pA=[],Fg=g=>{for(var I=0,E=0;E=Q?I++:2047>=Q?I+=2:55296<=Q&&57343>=Q?(I+=4,++E):I+=3}return I},Gg=(g,I,E,Q)=>{if(E>>>=0,!(0=i){var N=g.charCodeAt(++D);i=65536+((i&1023)<<10)|N&1023}if(127>=i){if(E>=Q)break;I[E++>>>0]=i}else{if(2047>=i){if(E+1>=Q)break;I[E++>>>0]=192|i>>6}else{if(65535>=i){if(E+2>=Q)break;I[E++>>>0]=224|i>>12}else{if(E+3>=Q)break;I[E++>>>0]=240|i>>18,I[E++>>>0]=128|i>>12&63}I[E++>>>0]=128|i>>6&63}I[E++>>>0]=128|i&63}}return I[E>>>0]=0,E-C};function Jg(g,I){var E=Array(Fg(g)+1);return g=Gg(g,E,0,E.length),I&&(E.length=g),E}var Yg=[];function Hg(g,I){Yg[g]={input:[],output:[],JB:I},fA(g,pI)}var pI={open(g){var I=Yg[g.node.rdev];if(!I)throw new G(43);g.tty=I,g.seekable=!1},close(g){g.tty.JB.fsync(g.tty)},fsync(g){g.tty.JB.fsync(g.tty)},read(g,I,E,Q){if(!g.tty||!g.tty.JB.cC)throw new G(60);for(var C=0,D=0;D=I||(I=Math.max(I,E*(1048576>E?2:1.125)>>>0),E!=0&&(I=Math.max(I,256)),E=g.BB,g.BB=new Uint8Array(I),0=g.node.DB)return 0;if(g=Math.min(g.node.DB-C,Q),8I)throw new G(28);return I},ZB(g,I,E){Sg(g.node,I+E),g.node.DB=Math.max(g.node.DB,I+E)},dC(g,I,E,Q,C){if((g.node.mode&61440)!=32768)throw new G(43);if(g=g.node.BB,C&2||g.buffer!==t.buffer){if((0>>0)}else E=!1,I=g.byteOffset;return{EB:I,tC:E}},fC(g,I,E,Q){return K.CB.write(g,I,0,Q,E,!1),0}}},fI=(g,I)=>{var E=0;return g&&(E|=365),I&&(E|=146),E},bA=null,Lg={},CA=[],jI=1,EA=null,yg=!0,G=null,mA={};function u(g,I={}){if(g=SA(g),!g)return{path:"",node:null};if(I=Object.assign({bC:!0,XB:0},I),8!!i);for(var E=bA,Q="/",C=0;C>>0)%EA.length}function LA(g,I){var E;if(E=(E=yA(g,"x"))?E:g.AB.lookup?0:2)throw new G(E,g);for(E=EA[sg(g.id,I)];E;E=E.mC){var Q=E.name;if(E.parent.id===g.id&&Q===I)return E}return g.AB.lookup(g,I)}function hg(g,I,E,Q){return g=new Tg(g,I,E,Q),I=sg(g.parent.id,g.name),g.mC=EA[I],EA[I]=g}function Mg(g){var I=["r","w","rw"][g&3];return g&512&&(I+="w"),I}function yA(g,I){if(yg)return 0;if(!I.includes("r")||g.mode&292){if(I.includes("w")&&!(g.mode&146)||I.includes("x")&&!(g.mode&73))return 2}else return 2;return 0}function cg(g,I){try{return LA(g,I),20}catch{}return yA(g,"wx")}function PI(){for(var g=0;4096>=g;g++)if(!CA[g])return g;throw new G(33)}function P(g){if(g=CA[g],!g)throw new G(8);return g}function ag(g,I=-1){return iA||(iA=function(){this.QB={}},iA.prototype={},Object.defineProperties(iA.prototype,{object:{get(){return this.node},set(E){this.node=E}},flags:{get(){return this.QB.flags},set(E){this.QB.flags=E}},position:{get(){return this.QB.position},set(E){this.QB.position=E}}})),g=Object.assign(new iA,g),I==-1&&(I=PI()),g.fd=I,CA[I]=g}var OI={open(g){g.CB=Lg[g.node.rdev].CB,g.CB.open?.(g)},MB(){throw new G(70)}};function fA(g,I){Lg[g]={CB:I}}function dg(g,I){var E=I==="/",Q=!I;if(E&&bA)throw new G(10);if(!E&&!Q){var C=u(I,{bC:!1});if(I=C.path,C=C.node,C.SB)throw new G(10);if((C.mode&61440)!=16384)throw new G(54)}I={type:g,BC:{},eC:I,lC:[]},g=g.IB(I),g.IB=I,I.root=g,E?bA=g:C&&(C.SB=I,C.IB&&C.IB.lC.push(I))}function jA(g,I,E){var Q=u(g,{parent:!0}).node;if(g=kg(g),!g||g==="."||g==="..")throw new G(28);var C=cg(Q,g);if(C)throw new G(C);if(!Q.AB.RB)throw new G(63);return Q.AB.RB(Q,g,I,E)}function l(g){return jA(g,16895,0)}function KA(g,I,E){typeof E=="undefined"&&(E=I,I=438),jA(g,I|8192,E)}function PA(g,I){if(!SA(g))throw new G(44);var E=u(I,{parent:!0}).node;if(!E)throw new G(44);I=kg(I);var Q=cg(E,I);if(Q)throw new G(Q);if(!E.AB.symlink)throw new G(63);E.AB.symlink(E,I,g)}function XI(g){if(g=u(g).node,!g)throw new G(44);if(!g.AB.readlink)throw new G(28);return SA(Kg(g.parent),g.AB.readlink(g))}function sA(g,I,E){if(g==="")throw new G(44);if(typeof I=="string"){var Q={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[I];if(typeof Q=="undefined")throw Error(`Unknown file open mode: ${I}`);I=Q}if(E=I&64?(typeof E=="undefined"?438:E)&4095|32768:0,typeof g=="object")var C=g;else{g=BA(g);try{C=u(g,{aC:!(I&131072)}).node}catch{}}if(Q=!1,I&64)if(C){if(I&128)throw new G(20)}else C=jA(g,E,0),Q=!0;if(!C)throw new G(44);if((C.mode&61440)==8192&&(I&=-513),I&65536&&(C.mode&61440)!=16384)throw new G(54);if(!Q&&(E=C?(C.mode&61440)==40960?32:(C.mode&61440)==16384&&(Mg(I)!=="r"||I&512)?31:yA(C,Mg(I)):44))throw new G(E);if(I&512&&!Q){if(E=C,E=typeof E=="string"?u(E,{aC:!0}).node:E,!E.AB.GB)throw new G(63);if((E.mode&61440)==16384)throw new G(31);if((E.mode&61440)!=32768)throw new G(28);if(Q=yA(E,"w"))throw new G(Q);E.AB.GB(E,{size:0,timestamp:Date.now()})}return I&=-131713,C=ag({node:C,path:Kg(C),flags:I,seekable:!0,position:0,CB:C.CB,sC:[],error:!1}),C.CB.open&&C.CB.open(C),!A.logReadFiles||I&1||(OA||={},g in OA||(OA[g]=1)),C}function tg(g,I,E){if(g.fd===null)throw new G(8);if(!g.seekable||!g.CB.MB)throw new G(70);if(E!=0&&E!=1&&E!=2)throw new G(28);g.position=g.CB.MB(g,I,E),g.sC=[]}function Wg(){G||(G=function(g,I){this.name="ErrnoError",this.node=I,this.nC=function(E){this.LB=E},this.nC(g),this.message="FS error"},G.prototype=Error(),G.prototype.constructor=G,[44].forEach(g=>{mA[g]=new G(g),mA[g].stack=""}))}var qg;function DA(g,I,E){g=BA("/dev/"+g);var Q=fI(!!I,!!E);Zg||=64;var C=Zg++<<8|0;fA(C,{open(D){D.seekable=!1},close(){E?.buffer?.length&&E(10)},read(D,i,N,R){for(var U=0,S=0;S>>2>>>0];return oA+=4,g}var XA={},xg=()=>{if(!uA){var g={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:tA||"./this.program"},I;for(I in XA)XA[I]===void 0?delete g[I]:g[I]=XA[I];var E=[];for(I in g)E.push(`${I}=${g[I]}`);uA=E}return uA},uA,zA=(g,I)=>{for(var E=0;E>>0>>>0]=g.charCodeAt(E);t[I>>>0>>>0]=0},hA=g=>g%4==0&&(g%100!=0||g%400==0),ng=[31,29,31,30,31,30,31,31,30,31,30,31],eg=[31,28,31,30,31,30,31,31,30,31,30,31];function uI(g,I,E,Q){function C(w,s,y){for(w=typeof w=="number"?w.toString():w||"";w.lengthn?-1:0d-w.getDate())s-=d-w.getDate()+1,w.setDate(1),11>y?w.setMonth(y+1):(w.setMonth(0),w.setFullYear(w.getFullYear()+1));else{w.setDate(w.getDate()+s);break}}return y=new Date(w.getFullYear()+1,0,4),s=N(new Date(w.getFullYear(),0,4)),y=N(y),0>=i(s,w)?0>=i(y,w)?w.getFullYear()+1:w.getFullYear():w.getFullYear()-1}g>>>=0,I>>>=0,E>>>=0,Q>>>=0;var U=a[Q+40>>>2>>>0];Q={qC:W[Q>>>2>>>0],pC:W[Q+4>>>2>>>0],TB:W[Q+8>>>2>>>0],YB:W[Q+12>>>2>>>0],UB:W[Q+16>>>2>>>0],OB:W[Q+20>>>2>>>0],HB:W[Q+24>>>2>>>0],NB:W[Q+28>>>2>>>0],CC:W[Q+32>>>2>>>0],oC:W[Q+36>>>2>>>0],rC:U?F(U):""},E=F(E),U={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var S in U)E=E.replace(new RegExp(S,"g"),U[S]);var h="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),M="January February March April May June July August September October November December".split(" ");U={"%a":w=>h[w.HB].substring(0,3),"%A":w=>h[w.HB],"%b":w=>M[w.UB].substring(0,3),"%B":w=>M[w.UB],"%C":w=>D((w.OB+1900)/100|0,2),"%d":w=>D(w.YB,2),"%e":w=>C(w.YB,2," "),"%g":w=>R(w).toString().substring(2),"%G":R,"%H":w=>D(w.TB,2),"%I":w=>(w=w.TB,w==0?w=12:12{for(var s=0,y=0;y<=w.UB-1;s+=(hA(w.OB+1900)?ng:eg)[y++]);return D(w.YB+s,3)},"%m":w=>D(w.UB+1,2),"%M":w=>D(w.pC,2),"%n":()=>` +`,"%p":w=>0<=w.TB&&12>w.TB?"AM":"PM","%S":w=>D(w.qC,2),"%t":()=>" ","%u":w=>w.HB||7,"%U":w=>D(Math.floor((w.NB+7-w.HB)/7),2),"%V":w=>{var s=Math.floor((w.NB+7-(w.HB+6)%7)/7);if(2>=(w.HB+371-w.NB-2)%7&&s++,s)s==53&&(y=(w.HB+371-w.NB)%7,y==4||y==3&&hA(w.OB)||(s=1));else{s=52;var y=(w.HB+7-w.NB-1)%7;(y==4||y==5&&hA(w.OB%400-1))&&s++}return D(s,2)},"%w":w=>w.HB,"%W":w=>D(Math.floor((w.NB+7-(w.HB+6)%7)/7),2),"%y":w=>(w.OB+1900).toString().substring(2),"%Y":w=>w.OB+1900,"%z":w=>{w=w.oC;var s=0<=w;return w=Math.abs(w)/60,(s?"+":"-")+String("0000"+(w/60*100+w%60)).slice(-4)},"%Z":w=>w.rC,"%%":()=>"%"},E=E.replace(/%%/g,"\0\0");for(S in U)E.includes(S)&&(E=E.replace(new RegExp(S,"g"),U[S](Q)));return E=E.replace(/\0\0/g,"%"),S=Jg(E,!1),S.length>I?0:(t.set(S,g>>>0),S.length-1)}var MA=[],Vg,c=g=>{var I=MA[g];return I||(g>=MA.length&&(MA.length=g+1),MA[g]=I=Vg.get(g)),I},rg=g=>{var I=Fg(g)+1,E=Z(I);return Gg(g,r,E,I),E};function Tg(g,I,E,Q){g||=this,this.parent=g,this.IB=g.IB,this.SB=null,this.id=jI++,this.name=I,this.mode=E,this.AB={},this.CB={},this.rdev=Q}Object.defineProperties(Tg.prototype,{read:{get:function(){return(this.mode&365)==365},set:function(g){g?this.mode|=365:this.mode&=-366}},write:{get:function(){return(this.mode&146)==146},set:function(g){g?this.mode|=146:this.mode&=-147}}}),Wg(),EA=Array(4096),dg(K,"/"),l("/tmp"),l("/home"),l("/home/web_user"),function(){l("/dev"),fA(259,{read:()=>0,write:(Q,C,D,i)=>i}),KA("/dev/null",259),Hg(1280,bI),Hg(1536,mI),KA("/dev/tty",1280),KA("/dev/tty1",1536);var g=new Uint8Array(1024),I=0,E=()=>(I===0&&(I=Ug(g).byteLength),g[--I]);DA("random",E),DA("urandom",E),l("/dev/shm"),l("/dev/shm/tmp")}(),function(){l("/proc");var g=l("/proc/self");l("/proc/self/fd"),dg({IB(){var I=hg(g,"fd",16895,73);return I.AB={lookup(E,Q){var C=P(+Q);return E={parent:null,IB:{eC:"fake"},AB:{readlink:()=>C.path}},E.parent=E}},I}},"/proc/self/fd")}();var zI={b:function(g,I,E,Q){I>>>=0,Q>>>=0,T(`Assertion failed: ${F(g>>>0)}, at: `+[I?F(I):"unknown filename",E,Q?F(Q):"unknown function"])},o:function(g){if(g=new TA(g>>>0),t[g.EB+12>>>0>>>0]==0&&(t[g.EB+12>>>0>>>0]=1,HA--),t[g.EB+13>>>0>>>0]=0,YA.push(g),mg(g.PB),jg(a[g.EB+4>>>2>>>0]))g=a[g.PB>>>2>>>0];else{var I=a[g.EB+16>>>2>>>0];g=I!==0?I:g.PB}return g},r:()=>{J(0,0);var g=YA.pop();bg(g.PB),j=0},a:function(){return lA([])},l:function(g){return lA([g>>>0])},F:function(g,I){return lA([g>>>0,I>>>0])},E:()=>{var g=YA.pop();g||T("no exception to throw");var I=g.PB;throw t[g.EB+13>>>0>>>0]==0&&(YA.push(g),t[g.EB+13>>>0>>>0]=1,t[g.EB+12>>>0>>>0]=0,HA++),j=I,j},s:function(g,I,E){g>>>=0;var Q=new TA(g);throw a[Q.EB+16>>>2>>>0]=0,a[Q.EB+4>>>2>>>0]=I>>>0,a[Q.EB+8>>>2>>>0]=E>>>0,j=g,HA++,j},Ea:()=>HA,h:function(g){throw j||=g>>>0,j},G:function(g,I,E){oA=E>>>0;try{var Q=P(g);switch(I){case 0:var C=p();if(0>C)break;for(;CA[C];)C++;return ag(Q,C).fd;case 1:case 2:return 0;case 3:return Q.flags;case 4:return C=p(),Q.flags|=C,0;case 12:return C=p(),JA[C+0>>>1>>>0]=2,0;case 13:case 14:return 0}return-28}catch(D){if(typeof z=="undefined"||D.name!=="ErrnoError")throw D;return-D.LB}},Ca:function(g,I,E){oA=E>>>0;try{var Q=P(g);switch(I){case 21509:return Q.tty?0:-59;case 21505:if(!Q.tty)return-59;if(Q.tty.JB.iC){I=[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];var C=p();W[C>>>2>>>0]=25856,W[C+4>>>2>>>0]=5,W[C+8>>>2>>>0]=191,W[C+12>>>2>>>0]=35387;for(var D=0;32>D;D++)t[C+D+17>>>0>>>0]=I[D]||0}return 0;case 21510:case 21511:case 21512:return Q.tty?0:-59;case 21506:case 21507:case 21508:if(!Q.tty)return-59;if(Q.tty.JB.jC)for(C=p(),I=[],D=0;32>D;D++)I.push(t[C+D+17>>>0>>>0]);return 0;case 21519:return Q.tty?(C=p(),W[C>>>2>>>0]=0):-59;case 21520:return Q.tty?-28:-59;case 21531:if(C=p(),!Q.CB.hC)throw new G(59);return Q.CB.hC(Q,I,C);case 21523:return Q.tty?(Q.tty.JB.kC&&(D=[24,80],C=p(),JA[C>>>1>>>0]=D[0],JA[C+2>>>1>>>0]=D[1]),0):-59;case 21524:return Q.tty?0:-59;case 21515:return Q.tty?0:-59;default:return-28}}catch(i){if(typeof z=="undefined"||i.name!=="ErrnoError")throw i;return-i.LB}},Da:function(g,I,E,Q){I>>>=0,oA=Q>>>=0;try{I=F(I);var C=I;if(C.charAt(0)==="/")I=C;else{var D=g===-100?"/":P(g).path;if(C.length==0)throw new G(44);I=BA(D+"/"+C)}var i=Q?p():0;return sA(I,E,i).fd}catch(N){if(typeof z=="undefined"||N.name!=="ErrnoError")throw N;return-N.LB}},Fa:()=>1,p:()=>{T("")},I:()=>performance.now(),Ga:function(g){g>>>=0;var I=r.length;if(4294901760=E;E*=2){var Q=I*(1+.2/E);Q=Math.min(Q,g+100663296);var C=Math;Q=Math.max(g,Q);A:{C=(C.min.call(C,4294901760,Q+(65536-Q%65536)%65536)-GA.buffer.byteLength+65535)/65536;try{GA.grow(C),Bg();var D=1;break A}catch{}D=void 0}if(D)return!0}return!1},R:function(g,I){g>>>=0,I>>>=0;var E=0;return xg().forEach((Q,C)=>{var D=I+E;a[g+4*C>>>2>>>0]=D,zA(Q,D),E+=Q.length+1}),0},$:function(g,I){g>>>=0,I>>>=0;var E=xg();a[g>>>2>>>0]=E.length;var Q=0;return E.forEach(C=>Q+=C.length+1),a[I>>>2>>>0]=Q,0},H:function(g){try{var I=P(g);if(I.fd===null)throw new G(8);I.VB&&(I.VB=null);try{I.CB.close&&I.CB.close(I)}catch(E){throw E}finally{CA[I.fd]=null}return I.fd=null,0}catch(E){if(typeof z=="undefined"||E.name!=="ErrnoError")throw E;return E.LB}},Ba:function(g,I,E,Q){I>>>=0,E>>>=0,Q>>>=0;try{A:{var C=P(g);g=I;for(var D,i=I=0;i>>2>>>0],R=a[g+4>>>2>>>0];g+=8;var U=C,S=N,h=R,M=D,w=t;if(0>h||0>M)throw new G(28);if(U.fd===null)throw new G(8);if((U.flags&2097155)==1)throw new G(8);if((U.node.mode&61440)==16384)throw new G(31);if(!U.CB.read)throw new G(28);var s=typeof M!="undefined";if(!s)M=U.position;else if(!U.seekable)throw new G(70);var y=U.CB.read(U,w,S,h,M);s||(U.position+=y);var d=y;if(0>d){var n=-1;break A}if(I+=d,d>>2>>>0]=n,0}catch(m){if(typeof z=="undefined"||m.name!=="ErrnoError")throw m;return m.LB}},ua:function(g,I,E,Q,C){I=E+2097152>>>0<4194305-!!I?(I>>>0)+4294967296*E:NaN,C>>>=0;try{if(isNaN(I))return 61;var D=P(g);return tg(D,I,Q),eA=[D.position>>>0,($=D.position,1<=+Math.abs($)?0<$?+Math.floor($/4294967296)>>>0:~~+Math.ceil(($-+(~~$>>>0))/4294967296)>>>0:0)],W[C>>>2>>>0]=eA[0],W[C+4>>>2>>>0]=eA[1],D.VB&&I===0&&Q===0&&(D.VB=null),0}catch(i){if(typeof z=="undefined"||i.name!=="ErrnoError")throw i;return i.LB}},Ha:function(g,I,E,Q){I>>>=0,E>>>=0,Q>>>=0;try{A:{var C=P(g);g=I;for(var D,i=I=0;i>>2>>>0],R=a[g+4>>>2>>>0];g+=8;var U=C,S=N,h=R,M=D,w=t;if(0>h||0>M)throw new G(28);if(U.fd===null)throw new G(8);if((U.flags&2097155)==0)throw new G(8);if((U.node.mode&61440)==16384)throw new G(31);if(!U.CB.write)throw new G(28);U.seekable&&U.flags&1024&&tg(U,0,2);var s=typeof M!="undefined";if(!s)M=U.position;else if(!U.seekable)throw new G(70);var y=U.CB.write(U,w,S,h,M,void 0);s||(U.position+=y);var d=y;if(0>d){var n=-1;break A}I+=d,typeof D!="undefined"&&(D+=d)}n=I}return a[Q>>>2>>>0]=n,0}catch(m){if(typeof z=="undefined"||m.name!=="ErrnoError")throw m;return m.LB}},z:oQ,g:$I,xa:kQ,c:_I,e:AQ,n:CQ,va:YQ,q:wQ,u:DQ,C:JQ,wa:UQ,B:HQ,M:gB,O:$Q,t:uQ,ra:sQ,T:XQ,Z:bQ,pa:MQ,ca:rQ,P:_Q,Q:vQ,L:IB,la:tQ,ma:dQ,U:OQ,K:QB,na:aQ,W:jQ,J:BB,da:VQ,ba:TQ,j:IQ,k:QQ,ya:RQ,D:iQ,d:vI,i:BQ,f:gQ,m:EQ,x:FQ,v:GQ,za:NQ,y:SQ,A:LQ,X:fQ,N:AB,oa:cQ,ha:ZQ,sa:KQ,ta:yQ,ga:xQ,fa:nQ,ja:WQ,Y:mQ,qa:hQ,_:pQ,aa:lQ,S:zQ,ea:eQ,ia:qQ,V:PQ,w:function(g){return g>>>0},ka:g=>{rI||(A.onExit?.(g),xA=!0),WA(g,new VA(g))},Aa:function(g,I,E,Q){return uI(g>>>0,I>>>0,E>>>0,Q>>>0)}},B=function(){function g(E){return B=E.exports,B=CB(),GA=B.Ia,Bg(),Vg=B.HA,Eg.unshift(B.Ja),X--,A.monitorRunDependencies?.(X),X==0&&(nA!==null&&(clearInterval(nA),nA=null),IA&&(E=IA,IA=null,E())),B}var I={a:zI};if(X++,A.monitorRunDependencies?.(X),A.instantiateWasm)try{return A.instantiateWasm(I,g)}catch(E){gA(`Module.instantiateWasm callback failed with error: ${E}`),RA(E)}return VI(I,function(E){g(E.instance)}).catch(RA),{}}();A._BinaryenTypeNone=()=>(A._BinaryenTypeNone=B.Ka)(),A._BinaryenTypeInt32=()=>(A._BinaryenTypeInt32=B.La)(),A._BinaryenTypeInt64=()=>(A._BinaryenTypeInt64=B.Ma)(),A._BinaryenTypeFloat32=()=>(A._BinaryenTypeFloat32=B.Na)(),A._BinaryenTypeFloat64=()=>(A._BinaryenTypeFloat64=B.Oa)(),A._BinaryenTypeVec128=()=>(A._BinaryenTypeVec128=B.Pa)(),A._BinaryenTypeFuncref=()=>(A._BinaryenTypeFuncref=B.Qa)(),A._BinaryenTypeExternref=()=>(A._BinaryenTypeExternref=B.Ra)(),A._BinaryenTypeAnyref=()=>(A._BinaryenTypeAnyref=B.Sa)(),A._BinaryenTypeEqref=()=>(A._BinaryenTypeEqref=B.Ta)(),A._BinaryenTypeI31ref=()=>(A._BinaryenTypeI31ref=B.Ua)(),A._BinaryenTypeStructref=()=>(A._BinaryenTypeStructref=B.Va)(),A._BinaryenTypeArrayref=()=>(A._BinaryenTypeArrayref=B.Wa)(),A._BinaryenTypeStringref=()=>(A._BinaryenTypeStringref=B.Xa)(),A._BinaryenTypeStringviewWTF8=()=>(A._BinaryenTypeStringviewWTF8=B.Ya)(),A._BinaryenTypeStringviewWTF16=()=>(A._BinaryenTypeStringviewWTF16=B.Za)(),A._BinaryenTypeStringviewIter=()=>(A._BinaryenTypeStringviewIter=B._a)(),A._BinaryenTypeNullref=()=>(A._BinaryenTypeNullref=B.$a)(),A._BinaryenTypeNullExternref=()=>(A._BinaryenTypeNullExternref=B.ab)(),A._BinaryenTypeNullFuncref=()=>(A._BinaryenTypeNullFuncref=B.bb)(),A._BinaryenTypeUnreachable=()=>(A._BinaryenTypeUnreachable=B.cb)(),A._BinaryenTypeAuto=()=>(A._BinaryenTypeAuto=B.db)(),A._BinaryenTypeCreate=(g,I)=>(A._BinaryenTypeCreate=B.eb)(g,I),A._BinaryenTypeArity=g=>(A._BinaryenTypeArity=B.fb)(g),A._BinaryenTypeExpand=(g,I)=>(A._BinaryenTypeExpand=B.gb)(g,I),A._BinaryenPackedTypeNotPacked=()=>(A._BinaryenPackedTypeNotPacked=B.hb)(),A._BinaryenPackedTypeInt8=()=>(A._BinaryenPackedTypeInt8=B.ib)(),A._BinaryenPackedTypeInt16=()=>(A._BinaryenPackedTypeInt16=B.jb)(),A._BinaryenHeapTypeExt=()=>(A._BinaryenHeapTypeExt=B.kb)(),A._BinaryenHeapTypeFunc=()=>(A._BinaryenHeapTypeFunc=B.lb)(),A._BinaryenHeapTypeAny=()=>(A._BinaryenHeapTypeAny=B.mb)(),A._BinaryenHeapTypeEq=()=>(A._BinaryenHeapTypeEq=B.nb)(),A._BinaryenHeapTypeI31=()=>(A._BinaryenHeapTypeI31=B.ob)(),A._BinaryenHeapTypeStruct=()=>(A._BinaryenHeapTypeStruct=B.pb)(),A._BinaryenHeapTypeArray=()=>(A._BinaryenHeapTypeArray=B.qb)(),A._BinaryenHeapTypeString=()=>(A._BinaryenHeapTypeString=B.rb)(),A._BinaryenHeapTypeStringviewWTF8=()=>(A._BinaryenHeapTypeStringviewWTF8=B.sb)(),A._BinaryenHeapTypeStringviewWTF16=()=>(A._BinaryenHeapTypeStringviewWTF16=B.tb)(),A._BinaryenHeapTypeStringviewIter=()=>(A._BinaryenHeapTypeStringviewIter=B.ub)(),A._BinaryenHeapTypeNone=()=>(A._BinaryenHeapTypeNone=B.vb)(),A._BinaryenHeapTypeNoext=()=>(A._BinaryenHeapTypeNoext=B.wb)(),A._BinaryenHeapTypeNofunc=()=>(A._BinaryenHeapTypeNofunc=B.xb)(),A._BinaryenHeapTypeIsBasic=g=>(A._BinaryenHeapTypeIsBasic=B.yb)(g),A._BinaryenHeapTypeIsSignature=g=>(A._BinaryenHeapTypeIsSignature=B.zb)(g),A._BinaryenHeapTypeIsStruct=g=>(A._BinaryenHeapTypeIsStruct=B.Ab)(g),A._BinaryenHeapTypeIsArray=g=>(A._BinaryenHeapTypeIsArray=B.Bb)(g),A._BinaryenHeapTypeIsBottom=g=>(A._BinaryenHeapTypeIsBottom=B.Cb)(g),A._BinaryenHeapTypeGetBottom=g=>(A._BinaryenHeapTypeGetBottom=B.Db)(g),A._BinaryenHeapTypeIsSubType=(g,I)=>(A._BinaryenHeapTypeIsSubType=B.Eb)(g,I),A._BinaryenStructTypeGetNumFields=g=>(A._BinaryenStructTypeGetNumFields=B.Fb)(g),A._BinaryenStructTypeGetFieldType=(g,I)=>(A._BinaryenStructTypeGetFieldType=B.Gb)(g,I),A._BinaryenStructTypeGetFieldPackedType=(g,I)=>(A._BinaryenStructTypeGetFieldPackedType=B.Hb)(g,I),A._BinaryenStructTypeIsFieldMutable=(g,I)=>(A._BinaryenStructTypeIsFieldMutable=B.Ib)(g,I),A._BinaryenArrayTypeGetElementType=g=>(A._BinaryenArrayTypeGetElementType=B.Jb)(g),A._BinaryenArrayTypeGetElementPackedType=g=>(A._BinaryenArrayTypeGetElementPackedType=B.Kb)(g),A._BinaryenArrayTypeIsElementMutable=g=>(A._BinaryenArrayTypeIsElementMutable=B.Lb)(g),A._BinaryenSignatureTypeGetParams=g=>(A._BinaryenSignatureTypeGetParams=B.Mb)(g),A._BinaryenSignatureTypeGetResults=g=>(A._BinaryenSignatureTypeGetResults=B.Nb)(g),A._BinaryenTypeGetHeapType=g=>(A._BinaryenTypeGetHeapType=B.Ob)(g),A._BinaryenTypeIsNullable=g=>(A._BinaryenTypeIsNullable=B.Pb)(g),A._BinaryenTypeFromHeapType=(g,I)=>(A._BinaryenTypeFromHeapType=B.Qb)(g,I),A._BinaryenInvalidId=()=>(A._BinaryenInvalidId=B.Rb)(),A._BinaryenNopId=()=>(A._BinaryenNopId=B.Sb)(),A._BinaryenBlockId=()=>(A._BinaryenBlockId=B.Tb)(),A._BinaryenIfId=()=>(A._BinaryenIfId=B.Ub)(),A._BinaryenLoopId=()=>(A._BinaryenLoopId=B.Vb)(),A._BinaryenBreakId=()=>(A._BinaryenBreakId=B.Wb)(),A._BinaryenSwitchId=()=>(A._BinaryenSwitchId=B.Xb)(),A._BinaryenCallId=()=>(A._BinaryenCallId=B.Yb)(),A._BinaryenCallIndirectId=()=>(A._BinaryenCallIndirectId=B.Zb)(),A._BinaryenLocalGetId=()=>(A._BinaryenLocalGetId=B._b)(),A._BinaryenLocalSetId=()=>(A._BinaryenLocalSetId=B.$b)(),A._BinaryenGlobalGetId=()=>(A._BinaryenGlobalGetId=B.ac)(),A._BinaryenGlobalSetId=()=>(A._BinaryenGlobalSetId=B.bc)(),A._BinaryenLoadId=()=>(A._BinaryenLoadId=B.cc)(),A._BinaryenStoreId=()=>(A._BinaryenStoreId=B.dc)(),A._BinaryenAtomicRMWId=()=>(A._BinaryenAtomicRMWId=B.ec)(),A._BinaryenAtomicCmpxchgId=()=>(A._BinaryenAtomicCmpxchgId=B.fc)(),A._BinaryenAtomicWaitId=()=>(A._BinaryenAtomicWaitId=B.gc)(),A._BinaryenAtomicNotifyId=()=>(A._BinaryenAtomicNotifyId=B.hc)(),A._BinaryenAtomicFenceId=()=>(A._BinaryenAtomicFenceId=B.ic)(),A._BinaryenSIMDExtractId=()=>(A._BinaryenSIMDExtractId=B.jc)(),A._BinaryenSIMDReplaceId=()=>(A._BinaryenSIMDReplaceId=B.kc)(),A._BinaryenSIMDShuffleId=()=>(A._BinaryenSIMDShuffleId=B.lc)(),A._BinaryenSIMDTernaryId=()=>(A._BinaryenSIMDTernaryId=B.mc)(),A._BinaryenSIMDShiftId=()=>(A._BinaryenSIMDShiftId=B.nc)(),A._BinaryenSIMDLoadId=()=>(A._BinaryenSIMDLoadId=B.oc)(),A._BinaryenSIMDLoadStoreLaneId=()=>(A._BinaryenSIMDLoadStoreLaneId=B.pc)(),A._BinaryenMemoryInitId=()=>(A._BinaryenMemoryInitId=B.qc)(),A._BinaryenDataDropId=()=>(A._BinaryenDataDropId=B.rc)(),A._BinaryenMemoryCopyId=()=>(A._BinaryenMemoryCopyId=B.sc)(),A._BinaryenMemoryFillId=()=>(A._BinaryenMemoryFillId=B.tc)(),A._BinaryenConstId=()=>(A._BinaryenConstId=B.uc)(),A._BinaryenUnaryId=()=>(A._BinaryenUnaryId=B.vc)(),A._BinaryenBinaryId=()=>(A._BinaryenBinaryId=B.wc)(),A._BinaryenSelectId=()=>(A._BinaryenSelectId=B.xc)(),A._BinaryenDropId=()=>(A._BinaryenDropId=B.yc)(),A._BinaryenReturnId=()=>(A._BinaryenReturnId=B.zc)(),A._BinaryenMemorySizeId=()=>(A._BinaryenMemorySizeId=B.Ac)(),A._BinaryenMemoryGrowId=()=>(A._BinaryenMemoryGrowId=B.Bc)(),A._BinaryenUnreachableId=()=>(A._BinaryenUnreachableId=B.Cc)(),A._BinaryenPopId=()=>(A._BinaryenPopId=B.Dc)(),A._BinaryenRefNullId=()=>(A._BinaryenRefNullId=B.Ec)(),A._BinaryenRefIsNullId=()=>(A._BinaryenRefIsNullId=B.Fc)(),A._BinaryenRefFuncId=()=>(A._BinaryenRefFuncId=B.Gc)(),A._BinaryenRefEqId=()=>(A._BinaryenRefEqId=B.Hc)(),A._BinaryenTableGetId=()=>(A._BinaryenTableGetId=B.Ic)(),A._BinaryenTableSetId=()=>(A._BinaryenTableSetId=B.Jc)(),A._BinaryenTableSizeId=()=>(A._BinaryenTableSizeId=B.Kc)(),A._BinaryenTableGrowId=()=>(A._BinaryenTableGrowId=B.Lc)(),A._BinaryenTableFillId=()=>(A._BinaryenTableFillId=B.Mc)(),A._BinaryenTableCopyId=()=>(A._BinaryenTableCopyId=B.Nc)(),A._BinaryenTryId=()=>(A._BinaryenTryId=B.Oc)(),A._BinaryenTryTableId=()=>(A._BinaryenTryTableId=B.Pc)(),A._BinaryenThrowId=()=>(A._BinaryenThrowId=B.Qc)(),A._BinaryenRethrowId=()=>(A._BinaryenRethrowId=B.Rc)(),A._BinaryenThrowRefId=()=>(A._BinaryenThrowRefId=B.Sc)(),A._BinaryenTupleMakeId=()=>(A._BinaryenTupleMakeId=B.Tc)(),A._BinaryenTupleExtractId=()=>(A._BinaryenTupleExtractId=B.Uc)(),A._BinaryenRefI31Id=()=>(A._BinaryenRefI31Id=B.Vc)(),A._BinaryenI31GetId=()=>(A._BinaryenI31GetId=B.Wc)(),A._BinaryenCallRefId=()=>(A._BinaryenCallRefId=B.Xc)(),A._BinaryenRefTestId=()=>(A._BinaryenRefTestId=B.Yc)(),A._BinaryenRefCastId=()=>(A._BinaryenRefCastId=B.Zc)(),A._BinaryenBrOnId=()=>(A._BinaryenBrOnId=B._c)(),A._BinaryenStructNewId=()=>(A._BinaryenStructNewId=B.$c)(),A._BinaryenStructGetId=()=>(A._BinaryenStructGetId=B.ad)(),A._BinaryenStructSetId=()=>(A._BinaryenStructSetId=B.bd)(),A._BinaryenArrayNewId=()=>(A._BinaryenArrayNewId=B.cd)(),A._BinaryenArrayNewDataId=()=>(A._BinaryenArrayNewDataId=B.dd)(),A._BinaryenArrayNewElemId=()=>(A._BinaryenArrayNewElemId=B.ed)(),A._BinaryenArrayNewFixedId=()=>(A._BinaryenArrayNewFixedId=B.fd)(),A._BinaryenArrayGetId=()=>(A._BinaryenArrayGetId=B.gd)(),A._BinaryenArraySetId=()=>(A._BinaryenArraySetId=B.hd)(),A._BinaryenArrayLenId=()=>(A._BinaryenArrayLenId=B.id)(),A._BinaryenArrayCopyId=()=>(A._BinaryenArrayCopyId=B.jd)(),A._BinaryenArrayFillId=()=>(A._BinaryenArrayFillId=B.kd)(),A._BinaryenArrayInitDataId=()=>(A._BinaryenArrayInitDataId=B.ld)(),A._BinaryenArrayInitElemId=()=>(A._BinaryenArrayInitElemId=B.md)(),A._BinaryenRefAsId=()=>(A._BinaryenRefAsId=B.nd)(),A._BinaryenStringNewId=()=>(A._BinaryenStringNewId=B.od)(),A._BinaryenStringConstId=()=>(A._BinaryenStringConstId=B.pd)(),A._BinaryenStringMeasureId=()=>(A._BinaryenStringMeasureId=B.qd)(),A._BinaryenStringEncodeId=()=>(A._BinaryenStringEncodeId=B.rd)(),A._BinaryenStringConcatId=()=>(A._BinaryenStringConcatId=B.sd)(),A._BinaryenStringEqId=()=>(A._BinaryenStringEqId=B.td)(),A._BinaryenStringAsId=()=>(A._BinaryenStringAsId=B.ud)(),A._BinaryenStringWTF8AdvanceId=()=>(A._BinaryenStringWTF8AdvanceId=B.vd)(),A._BinaryenStringWTF16GetId=()=>(A._BinaryenStringWTF16GetId=B.wd)(),A._BinaryenStringIterNextId=()=>(A._BinaryenStringIterNextId=B.xd)(),A._BinaryenStringIterMoveId=()=>(A._BinaryenStringIterMoveId=B.yd)(),A._BinaryenStringSliceWTFId=()=>(A._BinaryenStringSliceWTFId=B.zd)(),A._BinaryenStringSliceIterId=()=>(A._BinaryenStringSliceIterId=B.Ad)(),A._BinaryenResumeId=()=>(A._BinaryenResumeId=B.Bd)(),A._BinaryenExternalFunction=()=>(A._BinaryenExternalFunction=B.Cd)(),A._BinaryenExternalTable=()=>(A._BinaryenExternalTable=B.Dd)(),A._BinaryenExternalMemory=()=>(A._BinaryenExternalMemory=B.Ed)(),A._BinaryenExternalGlobal=()=>(A._BinaryenExternalGlobal=B.Fd)(),A._BinaryenExternalTag=()=>(A._BinaryenExternalTag=B.Gd)(),A._BinaryenFeatureMVP=()=>(A._BinaryenFeatureMVP=B.Hd)(),A._BinaryenFeatureAtomics=()=>(A._BinaryenFeatureAtomics=B.Id)(),A._BinaryenFeatureBulkMemory=()=>(A._BinaryenFeatureBulkMemory=B.Jd)(),A._BinaryenFeatureMutableGlobals=()=>(A._BinaryenFeatureMutableGlobals=B.Kd)(),A._BinaryenFeatureNontrappingFPToInt=()=>(A._BinaryenFeatureNontrappingFPToInt=B.Ld)(),A._BinaryenFeatureSignExt=()=>(A._BinaryenFeatureSignExt=B.Md)(),A._BinaryenFeatureSIMD128=()=>(A._BinaryenFeatureSIMD128=B.Nd)(),A._BinaryenFeatureExceptionHandling=()=>(A._BinaryenFeatureExceptionHandling=B.Od)(),A._BinaryenFeatureTailCall=()=>(A._BinaryenFeatureTailCall=B.Pd)(),A._BinaryenFeatureReferenceTypes=()=>(A._BinaryenFeatureReferenceTypes=B.Qd)(),A._BinaryenFeatureMultivalue=()=>(A._BinaryenFeatureMultivalue=B.Rd)(),A._BinaryenFeatureGC=()=>(A._BinaryenFeatureGC=B.Sd)(),A._BinaryenFeatureMemory64=()=>(A._BinaryenFeatureMemory64=B.Td)(),A._BinaryenFeatureRelaxedSIMD=()=>(A._BinaryenFeatureRelaxedSIMD=B.Ud)(),A._BinaryenFeatureExtendedConst=()=>(A._BinaryenFeatureExtendedConst=B.Vd)(),A._BinaryenFeatureStrings=()=>(A._BinaryenFeatureStrings=B.Wd)(),A._BinaryenFeatureMultiMemory=()=>(A._BinaryenFeatureMultiMemory=B.Xd)(),A._BinaryenFeatureAll=()=>(A._BinaryenFeatureAll=B.Yd)(),A._BinaryenModuleCreate=()=>(A._BinaryenModuleCreate=B.Zd)(),A._BinaryenModuleDispose=g=>(A._BinaryenModuleDispose=B._d)(g),A._BinaryenLiteralInt32=(g,I)=>(A._BinaryenLiteralInt32=B.$d)(g,I),A._BinaryenLiteralInt64=(g,I,E)=>(A._BinaryenLiteralInt64=B.ae)(g,I,E),A._BinaryenLiteralFloat32=(g,I)=>(A._BinaryenLiteralFloat32=B.be)(g,I),A._BinaryenLiteralFloat64=(g,I)=>(A._BinaryenLiteralFloat64=B.ce)(g,I),A._BinaryenLiteralVec128=(g,I)=>(A._BinaryenLiteralVec128=B.de)(g,I),A._BinaryenLiteralFloat32Bits=(g,I)=>(A._BinaryenLiteralFloat32Bits=B.ee)(g,I),A._BinaryenLiteralFloat64Bits=(g,I,E)=>(A._BinaryenLiteralFloat64Bits=B.fe)(g,I,E),A._BinaryenClzInt32=()=>(A._BinaryenClzInt32=B.ge)(),A._BinaryenCtzInt32=()=>(A._BinaryenCtzInt32=B.he)(),A._BinaryenPopcntInt32=()=>(A._BinaryenPopcntInt32=B.ie)(),A._BinaryenNegFloat32=()=>(A._BinaryenNegFloat32=B.je)(),A._BinaryenAbsFloat32=()=>(A._BinaryenAbsFloat32=B.ke)(),A._BinaryenCeilFloat32=()=>(A._BinaryenCeilFloat32=B.le)(),A._BinaryenFloorFloat32=()=>(A._BinaryenFloorFloat32=B.me)(),A._BinaryenTruncFloat32=()=>(A._BinaryenTruncFloat32=B.ne)(),A._BinaryenNearestFloat32=()=>(A._BinaryenNearestFloat32=B.oe)(),A._BinaryenSqrtFloat32=()=>(A._BinaryenSqrtFloat32=B.pe)(),A._BinaryenEqZInt32=()=>(A._BinaryenEqZInt32=B.qe)(),A._BinaryenClzInt64=()=>(A._BinaryenClzInt64=B.re)(),A._BinaryenCtzInt64=()=>(A._BinaryenCtzInt64=B.se)(),A._BinaryenPopcntInt64=()=>(A._BinaryenPopcntInt64=B.te)(),A._BinaryenNegFloat64=()=>(A._BinaryenNegFloat64=B.ue)(),A._BinaryenAbsFloat64=()=>(A._BinaryenAbsFloat64=B.ve)(),A._BinaryenCeilFloat64=()=>(A._BinaryenCeilFloat64=B.we)(),A._BinaryenFloorFloat64=()=>(A._BinaryenFloorFloat64=B.xe)(),A._BinaryenTruncFloat64=()=>(A._BinaryenTruncFloat64=B.ye)(),A._BinaryenNearestFloat64=()=>(A._BinaryenNearestFloat64=B.ze)(),A._BinaryenSqrtFloat64=()=>(A._BinaryenSqrtFloat64=B.Ae)(),A._BinaryenEqZInt64=()=>(A._BinaryenEqZInt64=B.Be)(),A._BinaryenExtendSInt32=()=>(A._BinaryenExtendSInt32=B.Ce)(),A._BinaryenExtendUInt32=()=>(A._BinaryenExtendUInt32=B.De)(),A._BinaryenWrapInt64=()=>(A._BinaryenWrapInt64=B.Ee)(),A._BinaryenTruncSFloat32ToInt32=()=>(A._BinaryenTruncSFloat32ToInt32=B.Fe)(),A._BinaryenTruncSFloat32ToInt64=()=>(A._BinaryenTruncSFloat32ToInt64=B.Ge)(),A._BinaryenTruncUFloat32ToInt32=()=>(A._BinaryenTruncUFloat32ToInt32=B.He)(),A._BinaryenTruncUFloat32ToInt64=()=>(A._BinaryenTruncUFloat32ToInt64=B.Ie)(),A._BinaryenTruncSFloat64ToInt32=()=>(A._BinaryenTruncSFloat64ToInt32=B.Je)(),A._BinaryenTruncSFloat64ToInt64=()=>(A._BinaryenTruncSFloat64ToInt64=B.Ke)(),A._BinaryenTruncUFloat64ToInt32=()=>(A._BinaryenTruncUFloat64ToInt32=B.Le)(),A._BinaryenTruncUFloat64ToInt64=()=>(A._BinaryenTruncUFloat64ToInt64=B.Me)(),A._BinaryenReinterpretFloat32=()=>(A._BinaryenReinterpretFloat32=B.Ne)(),A._BinaryenReinterpretFloat64=()=>(A._BinaryenReinterpretFloat64=B.Oe)(),A._BinaryenExtendS8Int32=()=>(A._BinaryenExtendS8Int32=B.Pe)(),A._BinaryenExtendS16Int32=()=>(A._BinaryenExtendS16Int32=B.Qe)(),A._BinaryenExtendS8Int64=()=>(A._BinaryenExtendS8Int64=B.Re)(),A._BinaryenExtendS16Int64=()=>(A._BinaryenExtendS16Int64=B.Se)(),A._BinaryenExtendS32Int64=()=>(A._BinaryenExtendS32Int64=B.Te)(),A._BinaryenConvertSInt32ToFloat32=()=>(A._BinaryenConvertSInt32ToFloat32=B.Ue)(),A._BinaryenConvertSInt32ToFloat64=()=>(A._BinaryenConvertSInt32ToFloat64=B.Ve)(),A._BinaryenConvertUInt32ToFloat32=()=>(A._BinaryenConvertUInt32ToFloat32=B.We)(),A._BinaryenConvertUInt32ToFloat64=()=>(A._BinaryenConvertUInt32ToFloat64=B.Xe)(),A._BinaryenConvertSInt64ToFloat32=()=>(A._BinaryenConvertSInt64ToFloat32=B.Ye)(),A._BinaryenConvertSInt64ToFloat64=()=>(A._BinaryenConvertSInt64ToFloat64=B.Ze)(),A._BinaryenConvertUInt64ToFloat32=()=>(A._BinaryenConvertUInt64ToFloat32=B._e)(),A._BinaryenConvertUInt64ToFloat64=()=>(A._BinaryenConvertUInt64ToFloat64=B.$e)(),A._BinaryenPromoteFloat32=()=>(A._BinaryenPromoteFloat32=B.af)(),A._BinaryenDemoteFloat64=()=>(A._BinaryenDemoteFloat64=B.bf)(),A._BinaryenReinterpretInt32=()=>(A._BinaryenReinterpretInt32=B.cf)(),A._BinaryenReinterpretInt64=()=>(A._BinaryenReinterpretInt64=B.df)(),A._BinaryenAddInt32=()=>(A._BinaryenAddInt32=B.ef)(),A._BinaryenSubInt32=()=>(A._BinaryenSubInt32=B.ff)(),A._BinaryenMulInt32=()=>(A._BinaryenMulInt32=B.gf)(),A._BinaryenDivSInt32=()=>(A._BinaryenDivSInt32=B.hf)(),A._BinaryenDivUInt32=()=>(A._BinaryenDivUInt32=B.jf)(),A._BinaryenRemSInt32=()=>(A._BinaryenRemSInt32=B.kf)(),A._BinaryenRemUInt32=()=>(A._BinaryenRemUInt32=B.lf)(),A._BinaryenAndInt32=()=>(A._BinaryenAndInt32=B.mf)(),A._BinaryenOrInt32=()=>(A._BinaryenOrInt32=B.nf)(),A._BinaryenXorInt32=()=>(A._BinaryenXorInt32=B.of)(),A._BinaryenShlInt32=()=>(A._BinaryenShlInt32=B.pf)(),A._BinaryenShrUInt32=()=>(A._BinaryenShrUInt32=B.qf)(),A._BinaryenShrSInt32=()=>(A._BinaryenShrSInt32=B.rf)(),A._BinaryenRotLInt32=()=>(A._BinaryenRotLInt32=B.sf)(),A._BinaryenRotRInt32=()=>(A._BinaryenRotRInt32=B.tf)(),A._BinaryenEqInt32=()=>(A._BinaryenEqInt32=B.uf)(),A._BinaryenNeInt32=()=>(A._BinaryenNeInt32=B.vf)(),A._BinaryenLtSInt32=()=>(A._BinaryenLtSInt32=B.wf)(),A._BinaryenLtUInt32=()=>(A._BinaryenLtUInt32=B.xf)(),A._BinaryenLeSInt32=()=>(A._BinaryenLeSInt32=B.yf)(),A._BinaryenLeUInt32=()=>(A._BinaryenLeUInt32=B.zf)(),A._BinaryenGtSInt32=()=>(A._BinaryenGtSInt32=B.Af)(),A._BinaryenGtUInt32=()=>(A._BinaryenGtUInt32=B.Bf)(),A._BinaryenGeSInt32=()=>(A._BinaryenGeSInt32=B.Cf)(),A._BinaryenGeUInt32=()=>(A._BinaryenGeUInt32=B.Df)(),A._BinaryenAddInt64=()=>(A._BinaryenAddInt64=B.Ef)(),A._BinaryenSubInt64=()=>(A._BinaryenSubInt64=B.Ff)(),A._BinaryenMulInt64=()=>(A._BinaryenMulInt64=B.Gf)(),A._BinaryenDivSInt64=()=>(A._BinaryenDivSInt64=B.Hf)(),A._BinaryenDivUInt64=()=>(A._BinaryenDivUInt64=B.If)(),A._BinaryenRemSInt64=()=>(A._BinaryenRemSInt64=B.Jf)(),A._BinaryenRemUInt64=()=>(A._BinaryenRemUInt64=B.Kf)(),A._BinaryenAndInt64=()=>(A._BinaryenAndInt64=B.Lf)(),A._BinaryenOrInt64=()=>(A._BinaryenOrInt64=B.Mf)(),A._BinaryenXorInt64=()=>(A._BinaryenXorInt64=B.Nf)(),A._BinaryenShlInt64=()=>(A._BinaryenShlInt64=B.Of)(),A._BinaryenShrUInt64=()=>(A._BinaryenShrUInt64=B.Pf)(),A._BinaryenShrSInt64=()=>(A._BinaryenShrSInt64=B.Qf)(),A._BinaryenRotLInt64=()=>(A._BinaryenRotLInt64=B.Rf)(),A._BinaryenRotRInt64=()=>(A._BinaryenRotRInt64=B.Sf)(),A._BinaryenEqInt64=()=>(A._BinaryenEqInt64=B.Tf)(),A._BinaryenNeInt64=()=>(A._BinaryenNeInt64=B.Uf)(),A._BinaryenLtSInt64=()=>(A._BinaryenLtSInt64=B.Vf)(),A._BinaryenLtUInt64=()=>(A._BinaryenLtUInt64=B.Wf)(),A._BinaryenLeSInt64=()=>(A._BinaryenLeSInt64=B.Xf)(),A._BinaryenLeUInt64=()=>(A._BinaryenLeUInt64=B.Yf)(),A._BinaryenGtSInt64=()=>(A._BinaryenGtSInt64=B.Zf)(),A._BinaryenGtUInt64=()=>(A._BinaryenGtUInt64=B._f)(),A._BinaryenGeSInt64=()=>(A._BinaryenGeSInt64=B.$f)(),A._BinaryenGeUInt64=()=>(A._BinaryenGeUInt64=B.ag)(),A._BinaryenAddFloat32=()=>(A._BinaryenAddFloat32=B.bg)(),A._BinaryenSubFloat32=()=>(A._BinaryenSubFloat32=B.cg)(),A._BinaryenMulFloat32=()=>(A._BinaryenMulFloat32=B.dg)(),A._BinaryenDivFloat32=()=>(A._BinaryenDivFloat32=B.eg)(),A._BinaryenCopySignFloat32=()=>(A._BinaryenCopySignFloat32=B.fg)(),A._BinaryenMinFloat32=()=>(A._BinaryenMinFloat32=B.gg)(),A._BinaryenMaxFloat32=()=>(A._BinaryenMaxFloat32=B.hg)(),A._BinaryenEqFloat32=()=>(A._BinaryenEqFloat32=B.ig)(),A._BinaryenNeFloat32=()=>(A._BinaryenNeFloat32=B.jg)(),A._BinaryenLtFloat32=()=>(A._BinaryenLtFloat32=B.kg)(),A._BinaryenLeFloat32=()=>(A._BinaryenLeFloat32=B.lg)(),A._BinaryenGtFloat32=()=>(A._BinaryenGtFloat32=B.mg)(),A._BinaryenGeFloat32=()=>(A._BinaryenGeFloat32=B.ng)(),A._BinaryenAddFloat64=()=>(A._BinaryenAddFloat64=B.og)(),A._BinaryenSubFloat64=()=>(A._BinaryenSubFloat64=B.pg)(),A._BinaryenMulFloat64=()=>(A._BinaryenMulFloat64=B.qg)(),A._BinaryenDivFloat64=()=>(A._BinaryenDivFloat64=B.rg)(),A._BinaryenCopySignFloat64=()=>(A._BinaryenCopySignFloat64=B.sg)(),A._BinaryenMinFloat64=()=>(A._BinaryenMinFloat64=B.tg)(),A._BinaryenMaxFloat64=()=>(A._BinaryenMaxFloat64=B.ug)(),A._BinaryenEqFloat64=()=>(A._BinaryenEqFloat64=B.vg)(),A._BinaryenNeFloat64=()=>(A._BinaryenNeFloat64=B.wg)(),A._BinaryenLtFloat64=()=>(A._BinaryenLtFloat64=B.xg)(),A._BinaryenLeFloat64=()=>(A._BinaryenLeFloat64=B.yg)(),A._BinaryenGtFloat64=()=>(A._BinaryenGtFloat64=B.zg)(),A._BinaryenGeFloat64=()=>(A._BinaryenGeFloat64=B.Ag)(),A._BinaryenAtomicRMWAdd=()=>(A._BinaryenAtomicRMWAdd=B.Bg)(),A._BinaryenAtomicRMWSub=()=>(A._BinaryenAtomicRMWSub=B.Cg)(),A._BinaryenAtomicRMWAnd=()=>(A._BinaryenAtomicRMWAnd=B.Dg)(),A._BinaryenAtomicRMWOr=()=>(A._BinaryenAtomicRMWOr=B.Eg)(),A._BinaryenAtomicRMWXor=()=>(A._BinaryenAtomicRMWXor=B.Fg)(),A._BinaryenAtomicRMWXchg=()=>(A._BinaryenAtomicRMWXchg=B.Gg)(),A._BinaryenTruncSatSFloat32ToInt32=()=>(A._BinaryenTruncSatSFloat32ToInt32=B.Hg)(),A._BinaryenTruncSatSFloat32ToInt64=()=>(A._BinaryenTruncSatSFloat32ToInt64=B.Ig)(),A._BinaryenTruncSatUFloat32ToInt32=()=>(A._BinaryenTruncSatUFloat32ToInt32=B.Jg)(),A._BinaryenTruncSatUFloat32ToInt64=()=>(A._BinaryenTruncSatUFloat32ToInt64=B.Kg)(),A._BinaryenTruncSatSFloat64ToInt32=()=>(A._BinaryenTruncSatSFloat64ToInt32=B.Lg)(),A._BinaryenTruncSatSFloat64ToInt64=()=>(A._BinaryenTruncSatSFloat64ToInt64=B.Mg)(),A._BinaryenTruncSatUFloat64ToInt32=()=>(A._BinaryenTruncSatUFloat64ToInt32=B.Ng)(),A._BinaryenTruncSatUFloat64ToInt64=()=>(A._BinaryenTruncSatUFloat64ToInt64=B.Og)(),A._BinaryenSplatVecI8x16=()=>(A._BinaryenSplatVecI8x16=B.Pg)(),A._BinaryenExtractLaneSVecI8x16=()=>(A._BinaryenExtractLaneSVecI8x16=B.Qg)(),A._BinaryenExtractLaneUVecI8x16=()=>(A._BinaryenExtractLaneUVecI8x16=B.Rg)(),A._BinaryenReplaceLaneVecI8x16=()=>(A._BinaryenReplaceLaneVecI8x16=B.Sg)(),A._BinaryenSplatVecI16x8=()=>(A._BinaryenSplatVecI16x8=B.Tg)(),A._BinaryenExtractLaneSVecI16x8=()=>(A._BinaryenExtractLaneSVecI16x8=B.Ug)(),A._BinaryenExtractLaneUVecI16x8=()=>(A._BinaryenExtractLaneUVecI16x8=B.Vg)(),A._BinaryenReplaceLaneVecI16x8=()=>(A._BinaryenReplaceLaneVecI16x8=B.Wg)(),A._BinaryenSplatVecI32x4=()=>(A._BinaryenSplatVecI32x4=B.Xg)(),A._BinaryenExtractLaneVecI32x4=()=>(A._BinaryenExtractLaneVecI32x4=B.Yg)(),A._BinaryenReplaceLaneVecI32x4=()=>(A._BinaryenReplaceLaneVecI32x4=B.Zg)(),A._BinaryenSplatVecI64x2=()=>(A._BinaryenSplatVecI64x2=B._g)(),A._BinaryenExtractLaneVecI64x2=()=>(A._BinaryenExtractLaneVecI64x2=B.$g)(),A._BinaryenReplaceLaneVecI64x2=()=>(A._BinaryenReplaceLaneVecI64x2=B.ah)(),A._BinaryenSplatVecF32x4=()=>(A._BinaryenSplatVecF32x4=B.bh)(),A._BinaryenExtractLaneVecF32x4=()=>(A._BinaryenExtractLaneVecF32x4=B.ch)(),A._BinaryenReplaceLaneVecF32x4=()=>(A._BinaryenReplaceLaneVecF32x4=B.dh)(),A._BinaryenSplatVecF64x2=()=>(A._BinaryenSplatVecF64x2=B.eh)(),A._BinaryenExtractLaneVecF64x2=()=>(A._BinaryenExtractLaneVecF64x2=B.fh)(),A._BinaryenReplaceLaneVecF64x2=()=>(A._BinaryenReplaceLaneVecF64x2=B.gh)(),A._BinaryenEqVecI8x16=()=>(A._BinaryenEqVecI8x16=B.hh)(),A._BinaryenNeVecI8x16=()=>(A._BinaryenNeVecI8x16=B.ih)(),A._BinaryenLtSVecI8x16=()=>(A._BinaryenLtSVecI8x16=B.jh)(),A._BinaryenLtUVecI8x16=()=>(A._BinaryenLtUVecI8x16=B.kh)(),A._BinaryenGtSVecI8x16=()=>(A._BinaryenGtSVecI8x16=B.lh)(),A._BinaryenGtUVecI8x16=()=>(A._BinaryenGtUVecI8x16=B.mh)(),A._BinaryenLeSVecI8x16=()=>(A._BinaryenLeSVecI8x16=B.nh)(),A._BinaryenLeUVecI8x16=()=>(A._BinaryenLeUVecI8x16=B.oh)(),A._BinaryenGeSVecI8x16=()=>(A._BinaryenGeSVecI8x16=B.ph)(),A._BinaryenGeUVecI8x16=()=>(A._BinaryenGeUVecI8x16=B.qh)(),A._BinaryenEqVecI16x8=()=>(A._BinaryenEqVecI16x8=B.rh)(),A._BinaryenNeVecI16x8=()=>(A._BinaryenNeVecI16x8=B.sh)(),A._BinaryenLtSVecI16x8=()=>(A._BinaryenLtSVecI16x8=B.th)(),A._BinaryenLtUVecI16x8=()=>(A._BinaryenLtUVecI16x8=B.uh)(),A._BinaryenGtSVecI16x8=()=>(A._BinaryenGtSVecI16x8=B.vh)(),A._BinaryenGtUVecI16x8=()=>(A._BinaryenGtUVecI16x8=B.wh)(),A._BinaryenLeSVecI16x8=()=>(A._BinaryenLeSVecI16x8=B.xh)(),A._BinaryenLeUVecI16x8=()=>(A._BinaryenLeUVecI16x8=B.yh)(),A._BinaryenGeSVecI16x8=()=>(A._BinaryenGeSVecI16x8=B.zh)(),A._BinaryenGeUVecI16x8=()=>(A._BinaryenGeUVecI16x8=B.Ah)(),A._BinaryenEqVecI32x4=()=>(A._BinaryenEqVecI32x4=B.Bh)(),A._BinaryenNeVecI32x4=()=>(A._BinaryenNeVecI32x4=B.Ch)(),A._BinaryenLtSVecI32x4=()=>(A._BinaryenLtSVecI32x4=B.Dh)(),A._BinaryenLtUVecI32x4=()=>(A._BinaryenLtUVecI32x4=B.Eh)(),A._BinaryenGtSVecI32x4=()=>(A._BinaryenGtSVecI32x4=B.Fh)(),A._BinaryenGtUVecI32x4=()=>(A._BinaryenGtUVecI32x4=B.Gh)(),A._BinaryenLeSVecI32x4=()=>(A._BinaryenLeSVecI32x4=B.Hh)(),A._BinaryenLeUVecI32x4=()=>(A._BinaryenLeUVecI32x4=B.Ih)(),A._BinaryenGeSVecI32x4=()=>(A._BinaryenGeSVecI32x4=B.Jh)(),A._BinaryenGeUVecI32x4=()=>(A._BinaryenGeUVecI32x4=B.Kh)(),A._BinaryenEqVecI64x2=()=>(A._BinaryenEqVecI64x2=B.Lh)(),A._BinaryenNeVecI64x2=()=>(A._BinaryenNeVecI64x2=B.Mh)(),A._BinaryenLtSVecI64x2=()=>(A._BinaryenLtSVecI64x2=B.Nh)(),A._BinaryenGtSVecI64x2=()=>(A._BinaryenGtSVecI64x2=B.Oh)(),A._BinaryenLeSVecI64x2=()=>(A._BinaryenLeSVecI64x2=B.Ph)(),A._BinaryenGeSVecI64x2=()=>(A._BinaryenGeSVecI64x2=B.Qh)(),A._BinaryenEqVecF32x4=()=>(A._BinaryenEqVecF32x4=B.Rh)(),A._BinaryenNeVecF32x4=()=>(A._BinaryenNeVecF32x4=B.Sh)(),A._BinaryenLtVecF32x4=()=>(A._BinaryenLtVecF32x4=B.Th)(),A._BinaryenGtVecF32x4=()=>(A._BinaryenGtVecF32x4=B.Uh)(),A._BinaryenLeVecF32x4=()=>(A._BinaryenLeVecF32x4=B.Vh)(),A._BinaryenGeVecF32x4=()=>(A._BinaryenGeVecF32x4=B.Wh)(),A._BinaryenEqVecF64x2=()=>(A._BinaryenEqVecF64x2=B.Xh)(),A._BinaryenNeVecF64x2=()=>(A._BinaryenNeVecF64x2=B.Yh)(),A._BinaryenLtVecF64x2=()=>(A._BinaryenLtVecF64x2=B.Zh)(),A._BinaryenGtVecF64x2=()=>(A._BinaryenGtVecF64x2=B._h)(),A._BinaryenLeVecF64x2=()=>(A._BinaryenLeVecF64x2=B.$h)(),A._BinaryenGeVecF64x2=()=>(A._BinaryenGeVecF64x2=B.ai)(),A._BinaryenNotVec128=()=>(A._BinaryenNotVec128=B.bi)(),A._BinaryenAndVec128=()=>(A._BinaryenAndVec128=B.ci)(),A._BinaryenOrVec128=()=>(A._BinaryenOrVec128=B.di)(),A._BinaryenXorVec128=()=>(A._BinaryenXorVec128=B.ei)(),A._BinaryenAndNotVec128=()=>(A._BinaryenAndNotVec128=B.fi)(),A._BinaryenBitselectVec128=()=>(A._BinaryenBitselectVec128=B.gi)(),A._BinaryenRelaxedFmaVecF32x4=()=>(A._BinaryenRelaxedFmaVecF32x4=B.hi)(),A._BinaryenRelaxedFmsVecF32x4=()=>(A._BinaryenRelaxedFmsVecF32x4=B.ii)(),A._BinaryenRelaxedFmaVecF64x2=()=>(A._BinaryenRelaxedFmaVecF64x2=B.ji)(),A._BinaryenRelaxedFmsVecF64x2=()=>(A._BinaryenRelaxedFmsVecF64x2=B.ki)(),A._BinaryenLaneselectI8x16=()=>(A._BinaryenLaneselectI8x16=B.li)(),A._BinaryenLaneselectI16x8=()=>(A._BinaryenLaneselectI16x8=B.mi)(),A._BinaryenLaneselectI32x4=()=>(A._BinaryenLaneselectI32x4=B.ni)(),A._BinaryenLaneselectI64x2=()=>(A._BinaryenLaneselectI64x2=B.oi)(),A._BinaryenDotI8x16I7x16AddSToVecI32x4=()=>(A._BinaryenDotI8x16I7x16AddSToVecI32x4=B.pi)(),A._BinaryenAnyTrueVec128=()=>(A._BinaryenAnyTrueVec128=B.qi)(),A._BinaryenAbsVecI8x16=()=>(A._BinaryenAbsVecI8x16=B.ri)(),A._BinaryenNegVecI8x16=()=>(A._BinaryenNegVecI8x16=B.si)(),A._BinaryenAllTrueVecI8x16=()=>(A._BinaryenAllTrueVecI8x16=B.ti)(),A._BinaryenBitmaskVecI8x16=()=>(A._BinaryenBitmaskVecI8x16=B.ui)(),A._BinaryenPopcntVecI8x16=()=>(A._BinaryenPopcntVecI8x16=B.vi)(),A._BinaryenShlVecI8x16=()=>(A._BinaryenShlVecI8x16=B.wi)(),A._BinaryenShrSVecI8x16=()=>(A._BinaryenShrSVecI8x16=B.xi)(),A._BinaryenShrUVecI8x16=()=>(A._BinaryenShrUVecI8x16=B.yi)(),A._BinaryenAddVecI8x16=()=>(A._BinaryenAddVecI8x16=B.zi)(),A._BinaryenAddSatSVecI8x16=()=>(A._BinaryenAddSatSVecI8x16=B.Ai)(),A._BinaryenAddSatUVecI8x16=()=>(A._BinaryenAddSatUVecI8x16=B.Bi)(),A._BinaryenSubVecI8x16=()=>(A._BinaryenSubVecI8x16=B.Ci)(),A._BinaryenSubSatSVecI8x16=()=>(A._BinaryenSubSatSVecI8x16=B.Di)(),A._BinaryenSubSatUVecI8x16=()=>(A._BinaryenSubSatUVecI8x16=B.Ei)(),A._BinaryenMinSVecI8x16=()=>(A._BinaryenMinSVecI8x16=B.Fi)(),A._BinaryenMinUVecI8x16=()=>(A._BinaryenMinUVecI8x16=B.Gi)(),A._BinaryenMaxSVecI8x16=()=>(A._BinaryenMaxSVecI8x16=B.Hi)(),A._BinaryenMaxUVecI8x16=()=>(A._BinaryenMaxUVecI8x16=B.Ii)(),A._BinaryenAvgrUVecI8x16=()=>(A._BinaryenAvgrUVecI8x16=B.Ji)(),A._BinaryenAbsVecI16x8=()=>(A._BinaryenAbsVecI16x8=B.Ki)(),A._BinaryenNegVecI16x8=()=>(A._BinaryenNegVecI16x8=B.Li)(),A._BinaryenAllTrueVecI16x8=()=>(A._BinaryenAllTrueVecI16x8=B.Mi)(),A._BinaryenBitmaskVecI16x8=()=>(A._BinaryenBitmaskVecI16x8=B.Ni)(),A._BinaryenShlVecI16x8=()=>(A._BinaryenShlVecI16x8=B.Oi)(),A._BinaryenShrSVecI16x8=()=>(A._BinaryenShrSVecI16x8=B.Pi)(),A._BinaryenShrUVecI16x8=()=>(A._BinaryenShrUVecI16x8=B.Qi)(),A._BinaryenAddVecI16x8=()=>(A._BinaryenAddVecI16x8=B.Ri)(),A._BinaryenAddSatSVecI16x8=()=>(A._BinaryenAddSatSVecI16x8=B.Si)(),A._BinaryenAddSatUVecI16x8=()=>(A._BinaryenAddSatUVecI16x8=B.Ti)(),A._BinaryenSubVecI16x8=()=>(A._BinaryenSubVecI16x8=B.Ui)(),A._BinaryenSubSatSVecI16x8=()=>(A._BinaryenSubSatSVecI16x8=B.Vi)(),A._BinaryenSubSatUVecI16x8=()=>(A._BinaryenSubSatUVecI16x8=B.Wi)(),A._BinaryenMulVecI16x8=()=>(A._BinaryenMulVecI16x8=B.Xi)(),A._BinaryenMinSVecI16x8=()=>(A._BinaryenMinSVecI16x8=B.Yi)(),A._BinaryenMinUVecI16x8=()=>(A._BinaryenMinUVecI16x8=B.Zi)(),A._BinaryenMaxSVecI16x8=()=>(A._BinaryenMaxSVecI16x8=B._i)(),A._BinaryenMaxUVecI16x8=()=>(A._BinaryenMaxUVecI16x8=B.$i)(),A._BinaryenAvgrUVecI16x8=()=>(A._BinaryenAvgrUVecI16x8=B.aj)(),A._BinaryenQ15MulrSatSVecI16x8=()=>(A._BinaryenQ15MulrSatSVecI16x8=B.bj)(),A._BinaryenExtMulLowSVecI16x8=()=>(A._BinaryenExtMulLowSVecI16x8=B.cj)(),A._BinaryenExtMulHighSVecI16x8=()=>(A._BinaryenExtMulHighSVecI16x8=B.dj)(),A._BinaryenExtMulLowUVecI16x8=()=>(A._BinaryenExtMulLowUVecI16x8=B.ej)(),A._BinaryenExtMulHighUVecI16x8=()=>(A._BinaryenExtMulHighUVecI16x8=B.fj)(),A._BinaryenAbsVecI32x4=()=>(A._BinaryenAbsVecI32x4=B.gj)(),A._BinaryenNegVecI32x4=()=>(A._BinaryenNegVecI32x4=B.hj)(),A._BinaryenAllTrueVecI32x4=()=>(A._BinaryenAllTrueVecI32x4=B.ij)(),A._BinaryenBitmaskVecI32x4=()=>(A._BinaryenBitmaskVecI32x4=B.jj)(),A._BinaryenShlVecI32x4=()=>(A._BinaryenShlVecI32x4=B.kj)(),A._BinaryenShrSVecI32x4=()=>(A._BinaryenShrSVecI32x4=B.lj)(),A._BinaryenShrUVecI32x4=()=>(A._BinaryenShrUVecI32x4=B.mj)(),A._BinaryenAddVecI32x4=()=>(A._BinaryenAddVecI32x4=B.nj)(),A._BinaryenSubVecI32x4=()=>(A._BinaryenSubVecI32x4=B.oj)(),A._BinaryenMulVecI32x4=()=>(A._BinaryenMulVecI32x4=B.pj)(),A._BinaryenMinSVecI32x4=()=>(A._BinaryenMinSVecI32x4=B.qj)(),A._BinaryenMinUVecI32x4=()=>(A._BinaryenMinUVecI32x4=B.rj)(),A._BinaryenMaxSVecI32x4=()=>(A._BinaryenMaxSVecI32x4=B.sj)(),A._BinaryenMaxUVecI32x4=()=>(A._BinaryenMaxUVecI32x4=B.tj)(),A._BinaryenDotSVecI16x8ToVecI32x4=()=>(A._BinaryenDotSVecI16x8ToVecI32x4=B.uj)(),A._BinaryenExtMulLowSVecI32x4=()=>(A._BinaryenExtMulLowSVecI32x4=B.vj)(),A._BinaryenExtMulHighSVecI32x4=()=>(A._BinaryenExtMulHighSVecI32x4=B.wj)(),A._BinaryenExtMulLowUVecI32x4=()=>(A._BinaryenExtMulLowUVecI32x4=B.xj)(),A._BinaryenExtMulHighUVecI32x4=()=>(A._BinaryenExtMulHighUVecI32x4=B.yj)(),A._BinaryenAbsVecI64x2=()=>(A._BinaryenAbsVecI64x2=B.zj)(),A._BinaryenNegVecI64x2=()=>(A._BinaryenNegVecI64x2=B.Aj)(),A._BinaryenAllTrueVecI64x2=()=>(A._BinaryenAllTrueVecI64x2=B.Bj)(),A._BinaryenBitmaskVecI64x2=()=>(A._BinaryenBitmaskVecI64x2=B.Cj)(),A._BinaryenShlVecI64x2=()=>(A._BinaryenShlVecI64x2=B.Dj)(),A._BinaryenShrSVecI64x2=()=>(A._BinaryenShrSVecI64x2=B.Ej)(),A._BinaryenShrUVecI64x2=()=>(A._BinaryenShrUVecI64x2=B.Fj)(),A._BinaryenAddVecI64x2=()=>(A._BinaryenAddVecI64x2=B.Gj)(),A._BinaryenSubVecI64x2=()=>(A._BinaryenSubVecI64x2=B.Hj)(),A._BinaryenMulVecI64x2=()=>(A._BinaryenMulVecI64x2=B.Ij)(),A._BinaryenExtMulLowSVecI64x2=()=>(A._BinaryenExtMulLowSVecI64x2=B.Jj)(),A._BinaryenExtMulHighSVecI64x2=()=>(A._BinaryenExtMulHighSVecI64x2=B.Kj)(),A._BinaryenExtMulLowUVecI64x2=()=>(A._BinaryenExtMulLowUVecI64x2=B.Lj)(),A._BinaryenExtMulHighUVecI64x2=()=>(A._BinaryenExtMulHighUVecI64x2=B.Mj)(),A._BinaryenAbsVecF32x4=()=>(A._BinaryenAbsVecF32x4=B.Nj)(),A._BinaryenNegVecF32x4=()=>(A._BinaryenNegVecF32x4=B.Oj)(),A._BinaryenSqrtVecF32x4=()=>(A._BinaryenSqrtVecF32x4=B.Pj)(),A._BinaryenAddVecF32x4=()=>(A._BinaryenAddVecF32x4=B.Qj)(),A._BinaryenSubVecF32x4=()=>(A._BinaryenSubVecF32x4=B.Rj)(),A._BinaryenMulVecF32x4=()=>(A._BinaryenMulVecF32x4=B.Sj)(),A._BinaryenDivVecF32x4=()=>(A._BinaryenDivVecF32x4=B.Tj)(),A._BinaryenMinVecF32x4=()=>(A._BinaryenMinVecF32x4=B.Uj)(),A._BinaryenMaxVecF32x4=()=>(A._BinaryenMaxVecF32x4=B.Vj)(),A._BinaryenPMinVecF32x4=()=>(A._BinaryenPMinVecF32x4=B.Wj)(),A._BinaryenCeilVecF32x4=()=>(A._BinaryenCeilVecF32x4=B.Xj)(),A._BinaryenFloorVecF32x4=()=>(A._BinaryenFloorVecF32x4=B.Yj)(),A._BinaryenTruncVecF32x4=()=>(A._BinaryenTruncVecF32x4=B.Zj)(),A._BinaryenNearestVecF32x4=()=>(A._BinaryenNearestVecF32x4=B._j)(),A._BinaryenPMaxVecF32x4=()=>(A._BinaryenPMaxVecF32x4=B.$j)(),A._BinaryenAbsVecF64x2=()=>(A._BinaryenAbsVecF64x2=B.ak)(),A._BinaryenNegVecF64x2=()=>(A._BinaryenNegVecF64x2=B.bk)(),A._BinaryenSqrtVecF64x2=()=>(A._BinaryenSqrtVecF64x2=B.ck)(),A._BinaryenAddVecF64x2=()=>(A._BinaryenAddVecF64x2=B.dk)(),A._BinaryenSubVecF64x2=()=>(A._BinaryenSubVecF64x2=B.ek)(),A._BinaryenMulVecF64x2=()=>(A._BinaryenMulVecF64x2=B.fk)(),A._BinaryenDivVecF64x2=()=>(A._BinaryenDivVecF64x2=B.gk)(),A._BinaryenMinVecF64x2=()=>(A._BinaryenMinVecF64x2=B.hk)(),A._BinaryenMaxVecF64x2=()=>(A._BinaryenMaxVecF64x2=B.ik)(),A._BinaryenPMinVecF64x2=()=>(A._BinaryenPMinVecF64x2=B.jk)(),A._BinaryenPMaxVecF64x2=()=>(A._BinaryenPMaxVecF64x2=B.kk)(),A._BinaryenCeilVecF64x2=()=>(A._BinaryenCeilVecF64x2=B.lk)(),A._BinaryenFloorVecF64x2=()=>(A._BinaryenFloorVecF64x2=B.mk)(),A._BinaryenTruncVecF64x2=()=>(A._BinaryenTruncVecF64x2=B.nk)(),A._BinaryenNearestVecF64x2=()=>(A._BinaryenNearestVecF64x2=B.ok)(),A._BinaryenExtAddPairwiseSVecI8x16ToI16x8=()=>(A._BinaryenExtAddPairwiseSVecI8x16ToI16x8=B.pk)(),A._BinaryenExtAddPairwiseUVecI8x16ToI16x8=()=>(A._BinaryenExtAddPairwiseUVecI8x16ToI16x8=B.qk)(),A._BinaryenExtAddPairwiseSVecI16x8ToI32x4=()=>(A._BinaryenExtAddPairwiseSVecI16x8ToI32x4=B.rk)(),A._BinaryenExtAddPairwiseUVecI16x8ToI32x4=()=>(A._BinaryenExtAddPairwiseUVecI16x8ToI32x4=B.sk)(),A._BinaryenTruncSatSVecF32x4ToVecI32x4=()=>(A._BinaryenTruncSatSVecF32x4ToVecI32x4=B.tk)(),A._BinaryenTruncSatUVecF32x4ToVecI32x4=()=>(A._BinaryenTruncSatUVecF32x4ToVecI32x4=B.uk)(),A._BinaryenConvertSVecI32x4ToVecF32x4=()=>(A._BinaryenConvertSVecI32x4ToVecF32x4=B.vk)(),A._BinaryenConvertUVecI32x4ToVecF32x4=()=>(A._BinaryenConvertUVecI32x4ToVecF32x4=B.wk)(),A._BinaryenLoad8SplatVec128=()=>(A._BinaryenLoad8SplatVec128=B.xk)(),A._BinaryenLoad16SplatVec128=()=>(A._BinaryenLoad16SplatVec128=B.yk)(),A._BinaryenLoad32SplatVec128=()=>(A._BinaryenLoad32SplatVec128=B.zk)(),A._BinaryenLoad64SplatVec128=()=>(A._BinaryenLoad64SplatVec128=B.Ak)(),A._BinaryenLoad8x8SVec128=()=>(A._BinaryenLoad8x8SVec128=B.Bk)(),A._BinaryenLoad8x8UVec128=()=>(A._BinaryenLoad8x8UVec128=B.Ck)(),A._BinaryenLoad16x4SVec128=()=>(A._BinaryenLoad16x4SVec128=B.Dk)(),A._BinaryenLoad16x4UVec128=()=>(A._BinaryenLoad16x4UVec128=B.Ek)(),A._BinaryenLoad32x2SVec128=()=>(A._BinaryenLoad32x2SVec128=B.Fk)(),A._BinaryenLoad32x2UVec128=()=>(A._BinaryenLoad32x2UVec128=B.Gk)(),A._BinaryenLoad32ZeroVec128=()=>(A._BinaryenLoad32ZeroVec128=B.Hk)(),A._BinaryenLoad64ZeroVec128=()=>(A._BinaryenLoad64ZeroVec128=B.Ik)(),A._BinaryenLoad8LaneVec128=()=>(A._BinaryenLoad8LaneVec128=B.Jk)(),A._BinaryenLoad16LaneVec128=()=>(A._BinaryenLoad16LaneVec128=B.Kk)(),A._BinaryenLoad32LaneVec128=()=>(A._BinaryenLoad32LaneVec128=B.Lk)(),A._BinaryenLoad64LaneVec128=()=>(A._BinaryenLoad64LaneVec128=B.Mk)(),A._BinaryenStore8LaneVec128=()=>(A._BinaryenStore8LaneVec128=B.Nk)(),A._BinaryenStore16LaneVec128=()=>(A._BinaryenStore16LaneVec128=B.Ok)(),A._BinaryenStore32LaneVec128=()=>(A._BinaryenStore32LaneVec128=B.Pk)(),A._BinaryenStore64LaneVec128=()=>(A._BinaryenStore64LaneVec128=B.Qk)(),A._BinaryenNarrowSVecI16x8ToVecI8x16=()=>(A._BinaryenNarrowSVecI16x8ToVecI8x16=B.Rk)(),A._BinaryenNarrowUVecI16x8ToVecI8x16=()=>(A._BinaryenNarrowUVecI16x8ToVecI8x16=B.Sk)(),A._BinaryenNarrowSVecI32x4ToVecI16x8=()=>(A._BinaryenNarrowSVecI32x4ToVecI16x8=B.Tk)(),A._BinaryenNarrowUVecI32x4ToVecI16x8=()=>(A._BinaryenNarrowUVecI32x4ToVecI16x8=B.Uk)(),A._BinaryenExtendLowSVecI8x16ToVecI16x8=()=>(A._BinaryenExtendLowSVecI8x16ToVecI16x8=B.Vk)(),A._BinaryenExtendHighSVecI8x16ToVecI16x8=()=>(A._BinaryenExtendHighSVecI8x16ToVecI16x8=B.Wk)(),A._BinaryenExtendLowUVecI8x16ToVecI16x8=()=>(A._BinaryenExtendLowUVecI8x16ToVecI16x8=B.Xk)(),A._BinaryenExtendHighUVecI8x16ToVecI16x8=()=>(A._BinaryenExtendHighUVecI8x16ToVecI16x8=B.Yk)(),A._BinaryenExtendLowSVecI16x8ToVecI32x4=()=>(A._BinaryenExtendLowSVecI16x8ToVecI32x4=B.Zk)(),A._BinaryenExtendHighSVecI16x8ToVecI32x4=()=>(A._BinaryenExtendHighSVecI16x8ToVecI32x4=B._k)(),A._BinaryenExtendLowUVecI16x8ToVecI32x4=()=>(A._BinaryenExtendLowUVecI16x8ToVecI32x4=B.$k)(),A._BinaryenExtendHighUVecI16x8ToVecI32x4=()=>(A._BinaryenExtendHighUVecI16x8ToVecI32x4=B.al)(),A._BinaryenExtendLowSVecI32x4ToVecI64x2=()=>(A._BinaryenExtendLowSVecI32x4ToVecI64x2=B.bl)(),A._BinaryenExtendHighSVecI32x4ToVecI64x2=()=>(A._BinaryenExtendHighSVecI32x4ToVecI64x2=B.cl)(),A._BinaryenExtendLowUVecI32x4ToVecI64x2=()=>(A._BinaryenExtendLowUVecI32x4ToVecI64x2=B.dl)(),A._BinaryenExtendHighUVecI32x4ToVecI64x2=()=>(A._BinaryenExtendHighUVecI32x4ToVecI64x2=B.el)(),A._BinaryenConvertLowSVecI32x4ToVecF64x2=()=>(A._BinaryenConvertLowSVecI32x4ToVecF64x2=B.fl)(),A._BinaryenConvertLowUVecI32x4ToVecF64x2=()=>(A._BinaryenConvertLowUVecI32x4ToVecF64x2=B.gl)(),A._BinaryenTruncSatZeroSVecF64x2ToVecI32x4=()=>(A._BinaryenTruncSatZeroSVecF64x2ToVecI32x4=B.hl)(),A._BinaryenTruncSatZeroUVecF64x2ToVecI32x4=()=>(A._BinaryenTruncSatZeroUVecF64x2ToVecI32x4=B.il)(),A._BinaryenDemoteZeroVecF64x2ToVecF32x4=()=>(A._BinaryenDemoteZeroVecF64x2ToVecF32x4=B.jl)(),A._BinaryenPromoteLowVecF32x4ToVecF64x2=()=>(A._BinaryenPromoteLowVecF32x4ToVecF64x2=B.kl)(),A._BinaryenRelaxedTruncSVecF32x4ToVecI32x4=()=>(A._BinaryenRelaxedTruncSVecF32x4ToVecI32x4=B.ll)(),A._BinaryenRelaxedTruncUVecF32x4ToVecI32x4=()=>(A._BinaryenRelaxedTruncUVecF32x4ToVecI32x4=B.ml)(),A._BinaryenRelaxedTruncZeroSVecF64x2ToVecI32x4=()=>(A._BinaryenRelaxedTruncZeroSVecF64x2ToVecI32x4=B.nl)(),A._BinaryenRelaxedTruncZeroUVecF64x2ToVecI32x4=()=>(A._BinaryenRelaxedTruncZeroUVecF64x2ToVecI32x4=B.ol)(),A._BinaryenSwizzleVecI8x16=()=>(A._BinaryenSwizzleVecI8x16=B.pl)(),A._BinaryenRelaxedSwizzleVecI8x16=()=>(A._BinaryenRelaxedSwizzleVecI8x16=B.ql)(),A._BinaryenRelaxedMinVecF32x4=()=>(A._BinaryenRelaxedMinVecF32x4=B.rl)(),A._BinaryenRelaxedMaxVecF32x4=()=>(A._BinaryenRelaxedMaxVecF32x4=B.sl)(),A._BinaryenRelaxedMinVecF64x2=()=>(A._BinaryenRelaxedMinVecF64x2=B.tl)(),A._BinaryenRelaxedMaxVecF64x2=()=>(A._BinaryenRelaxedMaxVecF64x2=B.ul)(),A._BinaryenRelaxedQ15MulrSVecI16x8=()=>(A._BinaryenRelaxedQ15MulrSVecI16x8=B.vl)(),A._BinaryenDotI8x16I7x16SToVecI16x8=()=>(A._BinaryenDotI8x16I7x16SToVecI16x8=B.wl)(),A._BinaryenRefAsNonNull=()=>(A._BinaryenRefAsNonNull=B.xl)(),A._BinaryenRefAsExternInternalize=()=>(A._BinaryenRefAsExternInternalize=B.yl)(),A._BinaryenRefAsExternExternalize=()=>(A._BinaryenRefAsExternExternalize=B.zl)(),A._BinaryenBrOnNull=()=>(A._BinaryenBrOnNull=B.Al)(),A._BinaryenBrOnNonNull=()=>(A._BinaryenBrOnNonNull=B.Bl)(),A._BinaryenBrOnCast=()=>(A._BinaryenBrOnCast=B.Cl)(),A._BinaryenBrOnCastFail=()=>(A._BinaryenBrOnCastFail=B.Dl)(),A._BinaryenStringNewUTF8=()=>(A._BinaryenStringNewUTF8=B.El)(),A._BinaryenStringNewWTF8=()=>(A._BinaryenStringNewWTF8=B.Fl)(),A._BinaryenStringNewLossyUTF8=()=>(A._BinaryenStringNewLossyUTF8=B.Gl)(),A._BinaryenStringNewWTF16=()=>(A._BinaryenStringNewWTF16=B.Hl)(),A._BinaryenStringNewUTF8Array=()=>(A._BinaryenStringNewUTF8Array=B.Il)(),A._BinaryenStringNewWTF8Array=()=>(A._BinaryenStringNewWTF8Array=B.Jl)(),A._BinaryenStringNewLossyUTF8Array=()=>(A._BinaryenStringNewLossyUTF8Array=B.Kl)(),A._BinaryenStringNewWTF16Array=()=>(A._BinaryenStringNewWTF16Array=B.Ll)(),A._BinaryenStringNewFromCodePoint=()=>(A._BinaryenStringNewFromCodePoint=B.Ml)(),A._BinaryenStringMeasureUTF8=()=>(A._BinaryenStringMeasureUTF8=B.Nl)(),A._BinaryenStringMeasureWTF8=()=>(A._BinaryenStringMeasureWTF8=B.Ol)(),A._BinaryenStringMeasureWTF16=()=>(A._BinaryenStringMeasureWTF16=B.Pl)(),A._BinaryenStringMeasureIsUSV=()=>(A._BinaryenStringMeasureIsUSV=B.Ql)(),A._BinaryenStringMeasureWTF16View=()=>(A._BinaryenStringMeasureWTF16View=B.Rl)(),A._BinaryenStringEncodeUTF8=()=>(A._BinaryenStringEncodeUTF8=B.Sl)(),A._BinaryenStringEncodeLossyUTF8=()=>(A._BinaryenStringEncodeLossyUTF8=B.Tl)(),A._BinaryenStringEncodeWTF8=()=>(A._BinaryenStringEncodeWTF8=B.Ul)(),A._BinaryenStringEncodeWTF16=()=>(A._BinaryenStringEncodeWTF16=B.Vl)(),A._BinaryenStringEncodeUTF8Array=()=>(A._BinaryenStringEncodeUTF8Array=B.Wl)(),A._BinaryenStringEncodeLossyUTF8Array=()=>(A._BinaryenStringEncodeLossyUTF8Array=B.Xl)(),A._BinaryenStringEncodeWTF8Array=()=>(A._BinaryenStringEncodeWTF8Array=B.Yl)(),A._BinaryenStringEncodeWTF16Array=()=>(A._BinaryenStringEncodeWTF16Array=B.Zl)(),A._BinaryenStringAsWTF8=()=>(A._BinaryenStringAsWTF8=B._l)(),A._BinaryenStringAsWTF16=()=>(A._BinaryenStringAsWTF16=B.$l)(),A._BinaryenStringAsIter=()=>(A._BinaryenStringAsIter=B.am)(),A._BinaryenStringIterMoveAdvance=()=>(A._BinaryenStringIterMoveAdvance=B.bm)(),A._BinaryenStringIterMoveRewind=()=>(A._BinaryenStringIterMoveRewind=B.cm)(),A._BinaryenStringSliceWTF8=()=>(A._BinaryenStringSliceWTF8=B.dm)(),A._BinaryenStringSliceWTF16=()=>(A._BinaryenStringSliceWTF16=B.em)(),A._BinaryenStringEqEqual=()=>(A._BinaryenStringEqEqual=B.fm)(),A._BinaryenStringEqCompare=()=>(A._BinaryenStringEqCompare=B.gm)(),A._BinaryenBlock=(g,I,E,Q,C)=>(A._BinaryenBlock=B.hm)(g,I,E,Q,C),A._BinaryenIf=(g,I,E,Q)=>(A._BinaryenIf=B.im)(g,I,E,Q),A._BinaryenLoop=(g,I,E)=>(A._BinaryenLoop=B.jm)(g,I,E),A._BinaryenBreak=(g,I,E,Q)=>(A._BinaryenBreak=B.km)(g,I,E,Q),A._BinaryenSwitch=(g,I,E,Q,C,D)=>(A._BinaryenSwitch=B.lm)(g,I,E,Q,C,D),A._BinaryenCall=(g,I,E,Q,C)=>(A._BinaryenCall=B.mm)(g,I,E,Q,C),A._BinaryenReturnCall=(g,I,E,Q,C)=>(A._BinaryenReturnCall=B.nm)(g,I,E,Q,C),A._BinaryenCallIndirect=(g,I,E,Q,C,D,i)=>(A._BinaryenCallIndirect=B.om)(g,I,E,Q,C,D,i),A._BinaryenReturnCallIndirect=(g,I,E,Q,C,D,i)=>(A._BinaryenReturnCallIndirect=B.pm)(g,I,E,Q,C,D,i),A._BinaryenLocalGet=(g,I,E)=>(A._BinaryenLocalGet=B.qm)(g,I,E),A._BinaryenLocalSet=(g,I,E)=>(A._BinaryenLocalSet=B.rm)(g,I,E),A._BinaryenLocalTee=(g,I,E,Q)=>(A._BinaryenLocalTee=B.sm)(g,I,E,Q),A._BinaryenGlobalGet=(g,I,E)=>(A._BinaryenGlobalGet=B.tm)(g,I,E),A._BinaryenGlobalSet=(g,I,E)=>(A._BinaryenGlobalSet=B.um)(g,I,E),A._BinaryenLoad=(g,I,E,Q,C,D,i,N)=>(A._BinaryenLoad=B.vm)(g,I,E,Q,C,D,i,N),A._BinaryenStore=(g,I,E,Q,C,D,i,N)=>(A._BinaryenStore=B.wm)(g,I,E,Q,C,D,i,N),A._BinaryenConst=(g,I)=>(A._BinaryenConst=B.xm)(g,I),A._BinaryenUnary=(g,I,E)=>(A._BinaryenUnary=B.ym)(g,I,E),A._BinaryenBinary=(g,I,E,Q)=>(A._BinaryenBinary=B.zm)(g,I,E,Q),A._BinaryenSelect=(g,I,E,Q,C)=>(A._BinaryenSelect=B.Am)(g,I,E,Q,C),A._BinaryenDrop=(g,I)=>(A._BinaryenDrop=B.Bm)(g,I),A._BinaryenReturn=(g,I)=>(A._BinaryenReturn=B.Cm)(g,I),A._BinaryenMemorySize=(g,I,E)=>(A._BinaryenMemorySize=B.Dm)(g,I,E),A._BinaryenMemoryGrow=(g,I,E,Q)=>(A._BinaryenMemoryGrow=B.Em)(g,I,E,Q),A._BinaryenNop=g=>(A._BinaryenNop=B.Fm)(g),A._BinaryenUnreachable=g=>(A._BinaryenUnreachable=B.Gm)(g),A._BinaryenAtomicLoad=(g,I,E,Q,C,D)=>(A._BinaryenAtomicLoad=B.Hm)(g,I,E,Q,C,D),A._BinaryenAtomicStore=(g,I,E,Q,C,D,i)=>(A._BinaryenAtomicStore=B.Im)(g,I,E,Q,C,D,i),A._BinaryenAtomicRMW=(g,I,E,Q,C,D,i,N)=>(A._BinaryenAtomicRMW=B.Jm)(g,I,E,Q,C,D,i,N),A._BinaryenAtomicCmpxchg=(g,I,E,Q,C,D,i,N)=>(A._BinaryenAtomicCmpxchg=B.Km)(g,I,E,Q,C,D,i,N),A._BinaryenAtomicWait=(g,I,E,Q,C,D)=>(A._BinaryenAtomicWait=B.Lm)(g,I,E,Q,C,D),A._BinaryenAtomicNotify=(g,I,E,Q)=>(A._BinaryenAtomicNotify=B.Mm)(g,I,E,Q),A._BinaryenAtomicFence=g=>(A._BinaryenAtomicFence=B.Nm)(g),A._BinaryenSIMDExtract=(g,I,E,Q)=>(A._BinaryenSIMDExtract=B.Om)(g,I,E,Q),A._BinaryenSIMDReplace=(g,I,E,Q,C)=>(A._BinaryenSIMDReplace=B.Pm)(g,I,E,Q,C),A._BinaryenSIMDShuffle=(g,I,E,Q)=>(A._BinaryenSIMDShuffle=B.Qm)(g,I,E,Q),A._BinaryenSIMDTernary=(g,I,E,Q,C)=>(A._BinaryenSIMDTernary=B.Rm)(g,I,E,Q,C),A._BinaryenSIMDShift=(g,I,E,Q)=>(A._BinaryenSIMDShift=B.Sm)(g,I,E,Q),A._BinaryenSIMDLoad=(g,I,E,Q,C,D)=>(A._BinaryenSIMDLoad=B.Tm)(g,I,E,Q,C,D),A._BinaryenSIMDLoadStoreLane=(g,I,E,Q,C,D,i,N)=>(A._BinaryenSIMDLoadStoreLane=B.Um)(g,I,E,Q,C,D,i,N),A._BinaryenMemoryInit=(g,I,E,Q,C,D)=>(A._BinaryenMemoryInit=B.Vm)(g,I,E,Q,C,D),A._BinaryenDataDrop=(g,I)=>(A._BinaryenDataDrop=B.Wm)(g,I),A._BinaryenMemoryCopy=(g,I,E,Q,C,D)=>(A._BinaryenMemoryCopy=B.Xm)(g,I,E,Q,C,D),A._BinaryenMemoryFill=(g,I,E,Q,C)=>(A._BinaryenMemoryFill=B.Ym)(g,I,E,Q,C),A._BinaryenTupleMake=(g,I,E)=>(A._BinaryenTupleMake=B.Zm)(g,I,E),A._BinaryenTupleExtract=(g,I,E)=>(A._BinaryenTupleExtract=B._m)(g,I,E),A._BinaryenPop=(g,I)=>(A._BinaryenPop=B.$m)(g,I),A._BinaryenRefNull=(g,I)=>(A._BinaryenRefNull=B.an)(g,I),A._BinaryenRefIsNull=(g,I)=>(A._BinaryenRefIsNull=B.bn)(g,I),A._BinaryenRefAs=(g,I,E)=>(A._BinaryenRefAs=B.cn)(g,I,E),A._BinaryenRefFunc=(g,I,E)=>(A._BinaryenRefFunc=B.dn)(g,I,E),A._BinaryenRefEq=(g,I,E)=>(A._BinaryenRefEq=B.en)(g,I,E),A._BinaryenTableGet=(g,I,E,Q)=>(A._BinaryenTableGet=B.fn)(g,I,E,Q),A._BinaryenTableSet=(g,I,E,Q)=>(A._BinaryenTableSet=B.gn)(g,I,E,Q),A._BinaryenTableSize=(g,I)=>(A._BinaryenTableSize=B.hn)(g,I),A._BinaryenTableGrow=(g,I,E,Q)=>(A._BinaryenTableGrow=B.jn)(g,I,E,Q),A._BinaryenTry=(g,I,E,Q,C,D,i,N)=>(A._BinaryenTry=B.kn)(g,I,E,Q,C,D,i,N),A._BinaryenThrow=(g,I,E,Q)=>(A._BinaryenThrow=B.ln)(g,I,E,Q),A._BinaryenRethrow=(g,I)=>(A._BinaryenRethrow=B.mn)(g,I),A._BinaryenRefI31=(g,I)=>(A._BinaryenRefI31=B.nn)(g,I),A._BinaryenI31Get=(g,I,E)=>(A._BinaryenI31Get=B.on)(g,I,E),A._BinaryenCallRef=(g,I,E,Q,C,D)=>(A._BinaryenCallRef=B.pn)(g,I,E,Q,C,D),A._BinaryenRefTest=(g,I,E)=>(A._BinaryenRefTest=B.qn)(g,I,E),A._BinaryenRefCast=(g,I,E)=>(A._BinaryenRefCast=B.rn)(g,I,E),A._BinaryenBrOn=(g,I,E,Q,C)=>(A._BinaryenBrOn=B.sn)(g,I,E,Q,C),A._BinaryenStructNew=(g,I,E,Q)=>(A._BinaryenStructNew=B.tn)(g,I,E,Q),A._BinaryenStructGet=(g,I,E,Q,C)=>(A._BinaryenStructGet=B.un)(g,I,E,Q,C),A._BinaryenStructSet=(g,I,E,Q)=>(A._BinaryenStructSet=B.vn)(g,I,E,Q),A._BinaryenArrayNew=(g,I,E,Q)=>(A._BinaryenArrayNew=B.wn)(g,I,E,Q),A._BinaryenArrayNewFixed=(g,I,E,Q)=>(A._BinaryenArrayNewFixed=B.xn)(g,I,E,Q),A._BinaryenArrayGet=(g,I,E,Q,C)=>(A._BinaryenArrayGet=B.yn)(g,I,E,Q,C),A._BinaryenArraySet=(g,I,E,Q)=>(A._BinaryenArraySet=B.zn)(g,I,E,Q),A._BinaryenArrayLen=(g,I)=>(A._BinaryenArrayLen=B.An)(g,I),A._BinaryenArrayCopy=(g,I,E,Q,C,D)=>(A._BinaryenArrayCopy=B.Bn)(g,I,E,Q,C,D),A._BinaryenStringNew=(g,I,E,Q,C,D,i)=>(A._BinaryenStringNew=B.Cn)(g,I,E,Q,C,D,i),A._BinaryenStringConst=(g,I)=>(A._BinaryenStringConst=B.Dn)(g,I),A._BinaryenStringMeasure=(g,I,E)=>(A._BinaryenStringMeasure=B.En)(g,I,E),A._BinaryenStringEncode=(g,I,E,Q,C)=>(A._BinaryenStringEncode=B.Fn)(g,I,E,Q,C),A._BinaryenStringConcat=(g,I,E)=>(A._BinaryenStringConcat=B.Gn)(g,I,E),A._BinaryenStringEq=(g,I,E,Q)=>(A._BinaryenStringEq=B.Hn)(g,I,E,Q),A._BinaryenStringAs=(g,I,E)=>(A._BinaryenStringAs=B.In)(g,I,E),A._BinaryenStringWTF8Advance=(g,I,E,Q)=>(A._BinaryenStringWTF8Advance=B.Jn)(g,I,E,Q),A._BinaryenStringWTF16Get=(g,I,E)=>(A._BinaryenStringWTF16Get=B.Kn)(g,I,E),A._BinaryenStringIterNext=(g,I)=>(A._BinaryenStringIterNext=B.Ln)(g,I),A._BinaryenStringIterMove=(g,I,E,Q)=>(A._BinaryenStringIterMove=B.Mn)(g,I,E,Q),A._BinaryenStringSliceWTF=(g,I,E,Q,C)=>(A._BinaryenStringSliceWTF=B.Nn)(g,I,E,Q,C),A._BinaryenStringSliceIter=(g,I,E)=>(A._BinaryenStringSliceIter=B.On)(g,I,E),A._BinaryenExpressionGetId=g=>(A._BinaryenExpressionGetId=B.Pn)(g),A._BinaryenExpressionGetType=g=>(A._BinaryenExpressionGetType=B.Qn)(g),A._BinaryenExpressionSetType=(g,I)=>(A._BinaryenExpressionSetType=B.Rn)(g,I),A._BinaryenExpressionPrint=g=>(A._BinaryenExpressionPrint=B.Sn)(g),A._BinaryenExpressionFinalize=g=>(A._BinaryenExpressionFinalize=B.Tn)(g),A._BinaryenExpressionCopy=(g,I)=>(A._BinaryenExpressionCopy=B.Un)(g,I),A._BinaryenBlockGetName=g=>(A._BinaryenBlockGetName=B.Vn)(g),A._BinaryenBlockSetName=(g,I)=>(A._BinaryenBlockSetName=B.Wn)(g,I),A._BinaryenBlockGetNumChildren=g=>(A._BinaryenBlockGetNumChildren=B.Xn)(g),A._BinaryenBlockGetChildAt=(g,I)=>(A._BinaryenBlockGetChildAt=B.Yn)(g,I),A._BinaryenBlockSetChildAt=(g,I,E)=>(A._BinaryenBlockSetChildAt=B.Zn)(g,I,E),A._BinaryenBlockAppendChild=(g,I)=>(A._BinaryenBlockAppendChild=B._n)(g,I),A._BinaryenBlockInsertChildAt=(g,I,E)=>(A._BinaryenBlockInsertChildAt=B.$n)(g,I,E),A._BinaryenBlockRemoveChildAt=(g,I)=>(A._BinaryenBlockRemoveChildAt=B.ao)(g,I),A._BinaryenIfGetCondition=g=>(A._BinaryenIfGetCondition=B.bo)(g),A._BinaryenIfSetCondition=(g,I)=>(A._BinaryenIfSetCondition=B.co)(g,I),A._BinaryenIfGetIfTrue=g=>(A._BinaryenIfGetIfTrue=B.eo)(g),A._BinaryenIfSetIfTrue=(g,I)=>(A._BinaryenIfSetIfTrue=B.fo)(g,I),A._BinaryenIfGetIfFalse=g=>(A._BinaryenIfGetIfFalse=B.go)(g),A._BinaryenIfSetIfFalse=(g,I)=>(A._BinaryenIfSetIfFalse=B.ho)(g,I),A._BinaryenLoopGetName=g=>(A._BinaryenLoopGetName=B.io)(g),A._BinaryenLoopSetName=(g,I)=>(A._BinaryenLoopSetName=B.jo)(g,I),A._BinaryenLoopGetBody=g=>(A._BinaryenLoopGetBody=B.ko)(g),A._BinaryenLoopSetBody=(g,I)=>(A._BinaryenLoopSetBody=B.lo)(g,I),A._BinaryenBreakGetName=g=>(A._BinaryenBreakGetName=B.mo)(g),A._BinaryenBreakSetName=(g,I)=>(A._BinaryenBreakSetName=B.no)(g,I),A._BinaryenBreakGetCondition=g=>(A._BinaryenBreakGetCondition=B.oo)(g),A._BinaryenBreakSetCondition=(g,I)=>(A._BinaryenBreakSetCondition=B.po)(g,I),A._BinaryenBreakGetValue=g=>(A._BinaryenBreakGetValue=B.qo)(g),A._BinaryenBreakSetValue=(g,I)=>(A._BinaryenBreakSetValue=B.ro)(g,I),A._BinaryenSwitchGetNumNames=g=>(A._BinaryenSwitchGetNumNames=B.so)(g),A._BinaryenSwitchGetNameAt=(g,I)=>(A._BinaryenSwitchGetNameAt=B.to)(g,I),A._BinaryenSwitchSetNameAt=(g,I,E)=>(A._BinaryenSwitchSetNameAt=B.uo)(g,I,E),A._BinaryenSwitchAppendName=(g,I)=>(A._BinaryenSwitchAppendName=B.vo)(g,I),A._BinaryenSwitchInsertNameAt=(g,I,E)=>(A._BinaryenSwitchInsertNameAt=B.wo)(g,I,E),A._BinaryenSwitchRemoveNameAt=(g,I)=>(A._BinaryenSwitchRemoveNameAt=B.xo)(g,I),A._BinaryenSwitchGetDefaultName=g=>(A._BinaryenSwitchGetDefaultName=B.yo)(g),A._BinaryenSwitchSetDefaultName=(g,I)=>(A._BinaryenSwitchSetDefaultName=B.zo)(g,I),A._BinaryenSwitchGetCondition=g=>(A._BinaryenSwitchGetCondition=B.Ao)(g),A._BinaryenSwitchSetCondition=(g,I)=>(A._BinaryenSwitchSetCondition=B.Bo)(g,I),A._BinaryenSwitchGetValue=g=>(A._BinaryenSwitchGetValue=B.Co)(g),A._BinaryenSwitchSetValue=(g,I)=>(A._BinaryenSwitchSetValue=B.Do)(g,I),A._BinaryenCallGetTarget=g=>(A._BinaryenCallGetTarget=B.Eo)(g),A._BinaryenCallSetTarget=(g,I)=>(A._BinaryenCallSetTarget=B.Fo)(g,I),A._BinaryenCallGetNumOperands=g=>(A._BinaryenCallGetNumOperands=B.Go)(g),A._BinaryenCallGetOperandAt=(g,I)=>(A._BinaryenCallGetOperandAt=B.Ho)(g,I),A._BinaryenCallSetOperandAt=(g,I,E)=>(A._BinaryenCallSetOperandAt=B.Io)(g,I,E),A._BinaryenCallAppendOperand=(g,I)=>(A._BinaryenCallAppendOperand=B.Jo)(g,I),A._BinaryenCallInsertOperandAt=(g,I,E)=>(A._BinaryenCallInsertOperandAt=B.Ko)(g,I,E),A._BinaryenCallRemoveOperandAt=(g,I)=>(A._BinaryenCallRemoveOperandAt=B.Lo)(g,I),A._BinaryenCallIsReturn=g=>(A._BinaryenCallIsReturn=B.Mo)(g),A._BinaryenCallSetReturn=(g,I)=>(A._BinaryenCallSetReturn=B.No)(g,I),A._BinaryenCallIndirectGetTarget=g=>(A._BinaryenCallIndirectGetTarget=B.Oo)(g),A._BinaryenCallIndirectSetTarget=(g,I)=>(A._BinaryenCallIndirectSetTarget=B.Po)(g,I),A._BinaryenCallIndirectGetTable=g=>(A._BinaryenCallIndirectGetTable=B.Qo)(g),A._BinaryenCallIndirectSetTable=(g,I)=>(A._BinaryenCallIndirectSetTable=B.Ro)(g,I),A._BinaryenCallIndirectGetNumOperands=g=>(A._BinaryenCallIndirectGetNumOperands=B.So)(g),A._BinaryenCallIndirectGetOperandAt=(g,I)=>(A._BinaryenCallIndirectGetOperandAt=B.To)(g,I),A._BinaryenCallIndirectSetOperandAt=(g,I,E)=>(A._BinaryenCallIndirectSetOperandAt=B.Uo)(g,I,E),A._BinaryenCallIndirectAppendOperand=(g,I)=>(A._BinaryenCallIndirectAppendOperand=B.Vo)(g,I),A._BinaryenCallIndirectInsertOperandAt=(g,I,E)=>(A._BinaryenCallIndirectInsertOperandAt=B.Wo)(g,I,E),A._BinaryenCallIndirectRemoveOperandAt=(g,I)=>(A._BinaryenCallIndirectRemoveOperandAt=B.Xo)(g,I),A._BinaryenCallIndirectIsReturn=g=>(A._BinaryenCallIndirectIsReturn=B.Yo)(g),A._BinaryenCallIndirectSetReturn=(g,I)=>(A._BinaryenCallIndirectSetReturn=B.Zo)(g,I),A._BinaryenCallIndirectGetParams=g=>(A._BinaryenCallIndirectGetParams=B._o)(g),A._BinaryenCallIndirectSetParams=(g,I)=>(A._BinaryenCallIndirectSetParams=B.$o)(g,I),A._BinaryenCallIndirectGetResults=g=>(A._BinaryenCallIndirectGetResults=B.ap)(g),A._BinaryenCallIndirectSetResults=(g,I)=>(A._BinaryenCallIndirectSetResults=B.bp)(g,I),A._BinaryenLocalGetGetIndex=g=>(A._BinaryenLocalGetGetIndex=B.cp)(g),A._BinaryenLocalGetSetIndex=(g,I)=>(A._BinaryenLocalGetSetIndex=B.dp)(g,I),A._BinaryenLocalSetIsTee=g=>(A._BinaryenLocalSetIsTee=B.ep)(g),A._BinaryenLocalSetGetIndex=g=>(A._BinaryenLocalSetGetIndex=B.fp)(g),A._BinaryenLocalSetSetIndex=(g,I)=>(A._BinaryenLocalSetSetIndex=B.gp)(g,I),A._BinaryenLocalSetGetValue=g=>(A._BinaryenLocalSetGetValue=B.hp)(g),A._BinaryenLocalSetSetValue=(g,I)=>(A._BinaryenLocalSetSetValue=B.ip)(g,I),A._BinaryenGlobalGetGetName=g=>(A._BinaryenGlobalGetGetName=B.jp)(g),A._BinaryenGlobalGetSetName=(g,I)=>(A._BinaryenGlobalGetSetName=B.kp)(g,I),A._BinaryenGlobalSetGetName=g=>(A._BinaryenGlobalSetGetName=B.lp)(g),A._BinaryenGlobalSetSetName=(g,I)=>(A._BinaryenGlobalSetSetName=B.mp)(g,I),A._BinaryenGlobalSetGetValue=g=>(A._BinaryenGlobalSetGetValue=B.np)(g),A._BinaryenGlobalSetSetValue=(g,I)=>(A._BinaryenGlobalSetSetValue=B.op)(g,I),A._BinaryenTableGetGetTable=g=>(A._BinaryenTableGetGetTable=B.pp)(g),A._BinaryenTableGetSetTable=(g,I)=>(A._BinaryenTableGetSetTable=B.qp)(g,I),A._BinaryenTableGetGetIndex=g=>(A._BinaryenTableGetGetIndex=B.rp)(g),A._BinaryenTableGetSetIndex=(g,I)=>(A._BinaryenTableGetSetIndex=B.sp)(g,I),A._BinaryenTableSetGetTable=g=>(A._BinaryenTableSetGetTable=B.tp)(g),A._BinaryenTableSetSetTable=(g,I)=>(A._BinaryenTableSetSetTable=B.up)(g,I),A._BinaryenTableSetGetIndex=g=>(A._BinaryenTableSetGetIndex=B.vp)(g),A._BinaryenTableSetSetIndex=(g,I)=>(A._BinaryenTableSetSetIndex=B.wp)(g,I),A._BinaryenTableSetGetValue=g=>(A._BinaryenTableSetGetValue=B.xp)(g),A._BinaryenTableSetSetValue=(g,I)=>(A._BinaryenTableSetSetValue=B.yp)(g,I),A._BinaryenTableSizeGetTable=g=>(A._BinaryenTableSizeGetTable=B.zp)(g),A._BinaryenTableSizeSetTable=(g,I)=>(A._BinaryenTableSizeSetTable=B.Ap)(g,I),A._BinaryenTableGrowGetTable=g=>(A._BinaryenTableGrowGetTable=B.Bp)(g),A._BinaryenTableGrowSetTable=(g,I)=>(A._BinaryenTableGrowSetTable=B.Cp)(g,I),A._BinaryenTableGrowGetValue=g=>(A._BinaryenTableGrowGetValue=B.Dp)(g),A._BinaryenTableGrowSetValue=(g,I)=>(A._BinaryenTableGrowSetValue=B.Ep)(g,I),A._BinaryenTableGrowGetDelta=g=>(A._BinaryenTableGrowGetDelta=B.Fp)(g),A._BinaryenTableGrowSetDelta=(g,I)=>(A._BinaryenTableGrowSetDelta=B.Gp)(g,I),A._BinaryenMemoryGrowGetDelta=g=>(A._BinaryenMemoryGrowGetDelta=B.Hp)(g),A._BinaryenMemoryGrowSetDelta=(g,I)=>(A._BinaryenMemoryGrowSetDelta=B.Ip)(g,I),A._BinaryenLoadIsAtomic=g=>(A._BinaryenLoadIsAtomic=B.Jp)(g),A._BinaryenLoadSetAtomic=(g,I)=>(A._BinaryenLoadSetAtomic=B.Kp)(g,I),A._BinaryenLoadIsSigned=g=>(A._BinaryenLoadIsSigned=B.Lp)(g),A._BinaryenLoadSetSigned=(g,I)=>(A._BinaryenLoadSetSigned=B.Mp)(g,I),A._BinaryenLoadGetBytes=g=>(A._BinaryenLoadGetBytes=B.Np)(g),A._BinaryenLoadSetBytes=(g,I)=>(A._BinaryenLoadSetBytes=B.Op)(g,I),A._BinaryenLoadGetOffset=g=>(A._BinaryenLoadGetOffset=B.Pp)(g),A._BinaryenLoadSetOffset=(g,I)=>(A._BinaryenLoadSetOffset=B.Qp)(g,I),A._BinaryenLoadGetAlign=g=>(A._BinaryenLoadGetAlign=B.Rp)(g),A._BinaryenLoadSetAlign=(g,I)=>(A._BinaryenLoadSetAlign=B.Sp)(g,I),A._BinaryenLoadGetPtr=g=>(A._BinaryenLoadGetPtr=B.Tp)(g),A._BinaryenLoadSetPtr=(g,I)=>(A._BinaryenLoadSetPtr=B.Up)(g,I),A._BinaryenStoreIsAtomic=g=>(A._BinaryenStoreIsAtomic=B.Vp)(g),A._BinaryenStoreSetAtomic=(g,I)=>(A._BinaryenStoreSetAtomic=B.Wp)(g,I),A._BinaryenStoreGetBytes=g=>(A._BinaryenStoreGetBytes=B.Xp)(g),A._BinaryenStoreSetBytes=(g,I)=>(A._BinaryenStoreSetBytes=B.Yp)(g,I),A._BinaryenStoreGetOffset=g=>(A._BinaryenStoreGetOffset=B.Zp)(g),A._BinaryenStoreSetOffset=(g,I)=>(A._BinaryenStoreSetOffset=B._p)(g,I),A._BinaryenStoreGetAlign=g=>(A._BinaryenStoreGetAlign=B.$p)(g),A._BinaryenStoreSetAlign=(g,I)=>(A._BinaryenStoreSetAlign=B.aq)(g,I),A._BinaryenStoreGetPtr=g=>(A._BinaryenStoreGetPtr=B.bq)(g),A._BinaryenStoreSetPtr=(g,I)=>(A._BinaryenStoreSetPtr=B.cq)(g,I),A._BinaryenStoreGetValue=g=>(A._BinaryenStoreGetValue=B.dq)(g),A._BinaryenStoreSetValue=(g,I)=>(A._BinaryenStoreSetValue=B.eq)(g,I),A._BinaryenStoreGetValueType=g=>(A._BinaryenStoreGetValueType=B.fq)(g),A._BinaryenStoreSetValueType=(g,I)=>(A._BinaryenStoreSetValueType=B.gq)(g,I),A._BinaryenConstGetValueI32=g=>(A._BinaryenConstGetValueI32=B.hq)(g),A._BinaryenConstSetValueI32=(g,I)=>(A._BinaryenConstSetValueI32=B.iq)(g,I),A._BinaryenConstGetValueI64=g=>(A._BinaryenConstGetValueI64=B.jq)(g),A._BinaryenConstSetValueI64=(g,I,E)=>(A._BinaryenConstSetValueI64=B.kq)(g,I,E),A._BinaryenConstGetValueI64Low=g=>(A._BinaryenConstGetValueI64Low=B.lq)(g),A._BinaryenConstSetValueI64Low=(g,I)=>(A._BinaryenConstSetValueI64Low=B.mq)(g,I),A._BinaryenConstGetValueI64High=g=>(A._BinaryenConstGetValueI64High=B.nq)(g),A._BinaryenConstSetValueI64High=(g,I)=>(A._BinaryenConstSetValueI64High=B.oq)(g,I),A._BinaryenConstGetValueF32=g=>(A._BinaryenConstGetValueF32=B.pq)(g),A._BinaryenConstSetValueF32=(g,I)=>(A._BinaryenConstSetValueF32=B.qq)(g,I),A._BinaryenConstGetValueF64=g=>(A._BinaryenConstGetValueF64=B.rq)(g),A._BinaryenConstSetValueF64=(g,I)=>(A._BinaryenConstSetValueF64=B.sq)(g,I),A._BinaryenConstGetValueV128=(g,I)=>(A._BinaryenConstGetValueV128=B.tq)(g,I),A._BinaryenConstSetValueV128=(g,I)=>(A._BinaryenConstSetValueV128=B.uq)(g,I),A._BinaryenUnaryGetOp=g=>(A._BinaryenUnaryGetOp=B.vq)(g),A._BinaryenUnarySetOp=(g,I)=>(A._BinaryenUnarySetOp=B.wq)(g,I),A._BinaryenUnaryGetValue=g=>(A._BinaryenUnaryGetValue=B.xq)(g),A._BinaryenUnarySetValue=(g,I)=>(A._BinaryenUnarySetValue=B.yq)(g,I),A._BinaryenBinaryGetOp=g=>(A._BinaryenBinaryGetOp=B.zq)(g),A._BinaryenBinarySetOp=(g,I)=>(A._BinaryenBinarySetOp=B.Aq)(g,I),A._BinaryenBinaryGetLeft=g=>(A._BinaryenBinaryGetLeft=B.Bq)(g),A._BinaryenBinarySetLeft=(g,I)=>(A._BinaryenBinarySetLeft=B.Cq)(g,I),A._BinaryenBinaryGetRight=g=>(A._BinaryenBinaryGetRight=B.Dq)(g),A._BinaryenBinarySetRight=(g,I)=>(A._BinaryenBinarySetRight=B.Eq)(g,I),A._BinaryenSelectGetIfTrue=g=>(A._BinaryenSelectGetIfTrue=B.Fq)(g),A._BinaryenSelectSetIfTrue=(g,I)=>(A._BinaryenSelectSetIfTrue=B.Gq)(g,I),A._BinaryenSelectGetIfFalse=g=>(A._BinaryenSelectGetIfFalse=B.Hq)(g),A._BinaryenSelectSetIfFalse=(g,I)=>(A._BinaryenSelectSetIfFalse=B.Iq)(g,I),A._BinaryenSelectGetCondition=g=>(A._BinaryenSelectGetCondition=B.Jq)(g),A._BinaryenSelectSetCondition=(g,I)=>(A._BinaryenSelectSetCondition=B.Kq)(g,I),A._BinaryenDropGetValue=g=>(A._BinaryenDropGetValue=B.Lq)(g),A._BinaryenDropSetValue=(g,I)=>(A._BinaryenDropSetValue=B.Mq)(g,I),A._BinaryenReturnGetValue=g=>(A._BinaryenReturnGetValue=B.Nq)(g),A._BinaryenReturnSetValue=(g,I)=>(A._BinaryenReturnSetValue=B.Oq)(g,I),A._BinaryenAtomicRMWGetOp=g=>(A._BinaryenAtomicRMWGetOp=B.Pq)(g),A._BinaryenAtomicRMWSetOp=(g,I)=>(A._BinaryenAtomicRMWSetOp=B.Qq)(g,I),A._BinaryenAtomicRMWGetBytes=g=>(A._BinaryenAtomicRMWGetBytes=B.Rq)(g),A._BinaryenAtomicRMWSetBytes=(g,I)=>(A._BinaryenAtomicRMWSetBytes=B.Sq)(g,I),A._BinaryenAtomicRMWGetOffset=g=>(A._BinaryenAtomicRMWGetOffset=B.Tq)(g),A._BinaryenAtomicRMWSetOffset=(g,I)=>(A._BinaryenAtomicRMWSetOffset=B.Uq)(g,I),A._BinaryenAtomicRMWGetPtr=g=>(A._BinaryenAtomicRMWGetPtr=B.Vq)(g),A._BinaryenAtomicRMWSetPtr=(g,I)=>(A._BinaryenAtomicRMWSetPtr=B.Wq)(g,I),A._BinaryenAtomicRMWGetValue=g=>(A._BinaryenAtomicRMWGetValue=B.Xq)(g),A._BinaryenAtomicRMWSetValue=(g,I)=>(A._BinaryenAtomicRMWSetValue=B.Yq)(g,I),A._BinaryenAtomicCmpxchgGetBytes=g=>(A._BinaryenAtomicCmpxchgGetBytes=B.Zq)(g),A._BinaryenAtomicCmpxchgSetBytes=(g,I)=>(A._BinaryenAtomicCmpxchgSetBytes=B._q)(g,I),A._BinaryenAtomicCmpxchgGetOffset=g=>(A._BinaryenAtomicCmpxchgGetOffset=B.$q)(g),A._BinaryenAtomicCmpxchgSetOffset=(g,I)=>(A._BinaryenAtomicCmpxchgSetOffset=B.ar)(g,I),A._BinaryenAtomicCmpxchgGetPtr=g=>(A._BinaryenAtomicCmpxchgGetPtr=B.br)(g),A._BinaryenAtomicCmpxchgSetPtr=(g,I)=>(A._BinaryenAtomicCmpxchgSetPtr=B.cr)(g,I),A._BinaryenAtomicCmpxchgGetExpected=g=>(A._BinaryenAtomicCmpxchgGetExpected=B.dr)(g),A._BinaryenAtomicCmpxchgSetExpected=(g,I)=>(A._BinaryenAtomicCmpxchgSetExpected=B.er)(g,I),A._BinaryenAtomicCmpxchgGetReplacement=g=>(A._BinaryenAtomicCmpxchgGetReplacement=B.fr)(g),A._BinaryenAtomicCmpxchgSetReplacement=(g,I)=>(A._BinaryenAtomicCmpxchgSetReplacement=B.gr)(g,I),A._BinaryenAtomicWaitGetPtr=g=>(A._BinaryenAtomicWaitGetPtr=B.hr)(g),A._BinaryenAtomicWaitSetPtr=(g,I)=>(A._BinaryenAtomicWaitSetPtr=B.ir)(g,I),A._BinaryenAtomicWaitGetExpected=g=>(A._BinaryenAtomicWaitGetExpected=B.jr)(g),A._BinaryenAtomicWaitSetExpected=(g,I)=>(A._BinaryenAtomicWaitSetExpected=B.kr)(g,I),A._BinaryenAtomicWaitGetTimeout=g=>(A._BinaryenAtomicWaitGetTimeout=B.lr)(g),A._BinaryenAtomicWaitSetTimeout=(g,I)=>(A._BinaryenAtomicWaitSetTimeout=B.mr)(g,I),A._BinaryenAtomicWaitGetExpectedType=g=>(A._BinaryenAtomicWaitGetExpectedType=B.nr)(g),A._BinaryenAtomicWaitSetExpectedType=(g,I)=>(A._BinaryenAtomicWaitSetExpectedType=B.or)(g,I),A._BinaryenAtomicNotifyGetPtr=g=>(A._BinaryenAtomicNotifyGetPtr=B.pr)(g),A._BinaryenAtomicNotifySetPtr=(g,I)=>(A._BinaryenAtomicNotifySetPtr=B.qr)(g,I),A._BinaryenAtomicNotifyGetNotifyCount=g=>(A._BinaryenAtomicNotifyGetNotifyCount=B.rr)(g),A._BinaryenAtomicNotifySetNotifyCount=(g,I)=>(A._BinaryenAtomicNotifySetNotifyCount=B.sr)(g,I),A._BinaryenAtomicFenceGetOrder=g=>(A._BinaryenAtomicFenceGetOrder=B.tr)(g),A._BinaryenAtomicFenceSetOrder=(g,I)=>(A._BinaryenAtomicFenceSetOrder=B.ur)(g,I),A._BinaryenSIMDExtractGetOp=g=>(A._BinaryenSIMDExtractGetOp=B.vr)(g),A._BinaryenSIMDExtractSetOp=(g,I)=>(A._BinaryenSIMDExtractSetOp=B.wr)(g,I),A._BinaryenSIMDExtractGetVec=g=>(A._BinaryenSIMDExtractGetVec=B.xr)(g),A._BinaryenSIMDExtractSetVec=(g,I)=>(A._BinaryenSIMDExtractSetVec=B.yr)(g,I),A._BinaryenSIMDExtractGetIndex=g=>(A._BinaryenSIMDExtractGetIndex=B.zr)(g),A._BinaryenSIMDExtractSetIndex=(g,I)=>(A._BinaryenSIMDExtractSetIndex=B.Ar)(g,I),A._BinaryenSIMDReplaceGetOp=g=>(A._BinaryenSIMDReplaceGetOp=B.Br)(g),A._BinaryenSIMDReplaceSetOp=(g,I)=>(A._BinaryenSIMDReplaceSetOp=B.Cr)(g,I),A._BinaryenSIMDReplaceGetVec=g=>(A._BinaryenSIMDReplaceGetVec=B.Dr)(g),A._BinaryenSIMDReplaceSetVec=(g,I)=>(A._BinaryenSIMDReplaceSetVec=B.Er)(g,I),A._BinaryenSIMDReplaceGetIndex=g=>(A._BinaryenSIMDReplaceGetIndex=B.Fr)(g),A._BinaryenSIMDReplaceSetIndex=(g,I)=>(A._BinaryenSIMDReplaceSetIndex=B.Gr)(g,I),A._BinaryenSIMDReplaceGetValue=g=>(A._BinaryenSIMDReplaceGetValue=B.Hr)(g),A._BinaryenSIMDReplaceSetValue=(g,I)=>(A._BinaryenSIMDReplaceSetValue=B.Ir)(g,I),A._BinaryenSIMDShuffleGetLeft=g=>(A._BinaryenSIMDShuffleGetLeft=B.Jr)(g),A._BinaryenSIMDShuffleSetLeft=(g,I)=>(A._BinaryenSIMDShuffleSetLeft=B.Kr)(g,I),A._BinaryenSIMDShuffleGetRight=g=>(A._BinaryenSIMDShuffleGetRight=B.Lr)(g),A._BinaryenSIMDShuffleSetRight=(g,I)=>(A._BinaryenSIMDShuffleSetRight=B.Mr)(g,I),A._BinaryenSIMDShuffleGetMask=(g,I)=>(A._BinaryenSIMDShuffleGetMask=B.Nr)(g,I),A._BinaryenSIMDShuffleSetMask=(g,I)=>(A._BinaryenSIMDShuffleSetMask=B.Or)(g,I),A._BinaryenSIMDTernaryGetOp=g=>(A._BinaryenSIMDTernaryGetOp=B.Pr)(g),A._BinaryenSIMDTernarySetOp=(g,I)=>(A._BinaryenSIMDTernarySetOp=B.Qr)(g,I),A._BinaryenSIMDTernaryGetA=g=>(A._BinaryenSIMDTernaryGetA=B.Rr)(g),A._BinaryenSIMDTernarySetA=(g,I)=>(A._BinaryenSIMDTernarySetA=B.Sr)(g,I),A._BinaryenSIMDTernaryGetB=g=>(A._BinaryenSIMDTernaryGetB=B.Tr)(g),A._BinaryenSIMDTernarySetB=(g,I)=>(A._BinaryenSIMDTernarySetB=B.Ur)(g,I),A._BinaryenSIMDTernaryGetC=g=>(A._BinaryenSIMDTernaryGetC=B.Vr)(g),A._BinaryenSIMDTernarySetC=(g,I)=>(A._BinaryenSIMDTernarySetC=B.Wr)(g,I),A._BinaryenSIMDShiftGetOp=g=>(A._BinaryenSIMDShiftGetOp=B.Xr)(g),A._BinaryenSIMDShiftSetOp=(g,I)=>(A._BinaryenSIMDShiftSetOp=B.Yr)(g,I),A._BinaryenSIMDShiftGetVec=g=>(A._BinaryenSIMDShiftGetVec=B.Zr)(g),A._BinaryenSIMDShiftSetVec=(g,I)=>(A._BinaryenSIMDShiftSetVec=B._r)(g,I),A._BinaryenSIMDShiftGetShift=g=>(A._BinaryenSIMDShiftGetShift=B.$r)(g),A._BinaryenSIMDShiftSetShift=(g,I)=>(A._BinaryenSIMDShiftSetShift=B.as)(g,I),A._BinaryenSIMDLoadGetOp=g=>(A._BinaryenSIMDLoadGetOp=B.bs)(g),A._BinaryenSIMDLoadSetOp=(g,I)=>(A._BinaryenSIMDLoadSetOp=B.cs)(g,I),A._BinaryenSIMDLoadGetOffset=g=>(A._BinaryenSIMDLoadGetOffset=B.ds)(g),A._BinaryenSIMDLoadSetOffset=(g,I)=>(A._BinaryenSIMDLoadSetOffset=B.es)(g,I),A._BinaryenSIMDLoadGetAlign=g=>(A._BinaryenSIMDLoadGetAlign=B.fs)(g),A._BinaryenSIMDLoadSetAlign=(g,I)=>(A._BinaryenSIMDLoadSetAlign=B.gs)(g,I),A._BinaryenSIMDLoadGetPtr=g=>(A._BinaryenSIMDLoadGetPtr=B.hs)(g),A._BinaryenSIMDLoadSetPtr=(g,I)=>(A._BinaryenSIMDLoadSetPtr=B.is)(g,I),A._BinaryenSIMDLoadStoreLaneGetOp=g=>(A._BinaryenSIMDLoadStoreLaneGetOp=B.js)(g),A._BinaryenSIMDLoadStoreLaneSetOp=(g,I)=>(A._BinaryenSIMDLoadStoreLaneSetOp=B.ks)(g,I),A._BinaryenSIMDLoadStoreLaneGetOffset=g=>(A._BinaryenSIMDLoadStoreLaneGetOffset=B.ls)(g),A._BinaryenSIMDLoadStoreLaneSetOffset=(g,I)=>(A._BinaryenSIMDLoadStoreLaneSetOffset=B.ms)(g,I),A._BinaryenSIMDLoadStoreLaneGetAlign=g=>(A._BinaryenSIMDLoadStoreLaneGetAlign=B.ns)(g),A._BinaryenSIMDLoadStoreLaneSetAlign=(g,I)=>(A._BinaryenSIMDLoadStoreLaneSetAlign=B.os)(g,I),A._BinaryenSIMDLoadStoreLaneGetIndex=g=>(A._BinaryenSIMDLoadStoreLaneGetIndex=B.ps)(g),A._BinaryenSIMDLoadStoreLaneSetIndex=(g,I)=>(A._BinaryenSIMDLoadStoreLaneSetIndex=B.qs)(g,I),A._BinaryenSIMDLoadStoreLaneGetPtr=g=>(A._BinaryenSIMDLoadStoreLaneGetPtr=B.rs)(g),A._BinaryenSIMDLoadStoreLaneSetPtr=(g,I)=>(A._BinaryenSIMDLoadStoreLaneSetPtr=B.ss)(g,I),A._BinaryenSIMDLoadStoreLaneGetVec=g=>(A._BinaryenSIMDLoadStoreLaneGetVec=B.ts)(g),A._BinaryenSIMDLoadStoreLaneSetVec=(g,I)=>(A._BinaryenSIMDLoadStoreLaneSetVec=B.us)(g,I),A._BinaryenSIMDLoadStoreLaneIsStore=g=>(A._BinaryenSIMDLoadStoreLaneIsStore=B.vs)(g),A._BinaryenMemoryInitGetSegment=g=>(A._BinaryenMemoryInitGetSegment=B.ws)(g),A._BinaryenMemoryInitSetSegment=(g,I)=>(A._BinaryenMemoryInitSetSegment=B.xs)(g,I),A._BinaryenMemoryInitGetDest=g=>(A._BinaryenMemoryInitGetDest=B.ys)(g),A._BinaryenMemoryInitSetDest=(g,I)=>(A._BinaryenMemoryInitSetDest=B.zs)(g,I),A._BinaryenMemoryInitGetOffset=g=>(A._BinaryenMemoryInitGetOffset=B.As)(g),A._BinaryenMemoryInitSetOffset=(g,I)=>(A._BinaryenMemoryInitSetOffset=B.Bs)(g,I),A._BinaryenMemoryInitGetSize=g=>(A._BinaryenMemoryInitGetSize=B.Cs)(g),A._BinaryenMemoryInitSetSize=(g,I)=>(A._BinaryenMemoryInitSetSize=B.Ds)(g,I),A._BinaryenDataDropGetSegment=g=>(A._BinaryenDataDropGetSegment=B.Es)(g),A._BinaryenDataDropSetSegment=(g,I)=>(A._BinaryenDataDropSetSegment=B.Fs)(g,I),A._BinaryenMemoryCopyGetDest=g=>(A._BinaryenMemoryCopyGetDest=B.Gs)(g),A._BinaryenMemoryCopySetDest=(g,I)=>(A._BinaryenMemoryCopySetDest=B.Hs)(g,I),A._BinaryenMemoryCopyGetSource=g=>(A._BinaryenMemoryCopyGetSource=B.Is)(g),A._BinaryenMemoryCopySetSource=(g,I)=>(A._BinaryenMemoryCopySetSource=B.Js)(g,I),A._BinaryenMemoryCopyGetSize=g=>(A._BinaryenMemoryCopyGetSize=B.Ks)(g),A._BinaryenMemoryCopySetSize=(g,I)=>(A._BinaryenMemoryCopySetSize=B.Ls)(g,I),A._BinaryenMemoryFillGetDest=g=>(A._BinaryenMemoryFillGetDest=B.Ms)(g),A._BinaryenMemoryFillSetDest=(g,I)=>(A._BinaryenMemoryFillSetDest=B.Ns)(g,I),A._BinaryenMemoryFillGetValue=g=>(A._BinaryenMemoryFillGetValue=B.Os)(g),A._BinaryenMemoryFillSetValue=(g,I)=>(A._BinaryenMemoryFillSetValue=B.Ps)(g,I),A._BinaryenMemoryFillGetSize=g=>(A._BinaryenMemoryFillGetSize=B.Qs)(g),A._BinaryenMemoryFillSetSize=(g,I)=>(A._BinaryenMemoryFillSetSize=B.Rs)(g,I),A._BinaryenRefIsNullGetValue=g=>(A._BinaryenRefIsNullGetValue=B.Ss)(g),A._BinaryenRefIsNullSetValue=(g,I)=>(A._BinaryenRefIsNullSetValue=B.Ts)(g,I),A._BinaryenRefAsGetOp=g=>(A._BinaryenRefAsGetOp=B.Us)(g),A._BinaryenRefAsSetOp=(g,I)=>(A._BinaryenRefAsSetOp=B.Vs)(g,I),A._BinaryenRefAsGetValue=g=>(A._BinaryenRefAsGetValue=B.Ws)(g),A._BinaryenRefAsSetValue=(g,I)=>(A._BinaryenRefAsSetValue=B.Xs)(g,I),A._BinaryenRefFuncGetFunc=g=>(A._BinaryenRefFuncGetFunc=B.Ys)(g),A._BinaryenRefFuncSetFunc=(g,I)=>(A._BinaryenRefFuncSetFunc=B.Zs)(g,I),A._BinaryenRefEqGetLeft=g=>(A._BinaryenRefEqGetLeft=B._s)(g),A._BinaryenRefEqSetLeft=(g,I)=>(A._BinaryenRefEqSetLeft=B.$s)(g,I),A._BinaryenRefEqGetRight=g=>(A._BinaryenRefEqGetRight=B.at)(g),A._BinaryenRefEqSetRight=(g,I)=>(A._BinaryenRefEqSetRight=B.bt)(g,I),A._BinaryenTryGetName=g=>(A._BinaryenTryGetName=B.ct)(g),A._BinaryenTrySetName=(g,I)=>(A._BinaryenTrySetName=B.dt)(g,I),A._BinaryenTryGetBody=g=>(A._BinaryenTryGetBody=B.et)(g),A._BinaryenTrySetBody=(g,I)=>(A._BinaryenTrySetBody=B.ft)(g,I),A._BinaryenTryGetNumCatchTags=g=>(A._BinaryenTryGetNumCatchTags=B.gt)(g),A._BinaryenTryGetNumCatchBodies=g=>(A._BinaryenTryGetNumCatchBodies=B.ht)(g),A._BinaryenTryGetCatchTagAt=(g,I)=>(A._BinaryenTryGetCatchTagAt=B.it)(g,I),A._BinaryenTrySetCatchTagAt=(g,I,E)=>(A._BinaryenTrySetCatchTagAt=B.jt)(g,I,E),A._BinaryenTryAppendCatchTag=(g,I)=>(A._BinaryenTryAppendCatchTag=B.kt)(g,I),A._BinaryenTryInsertCatchTagAt=(g,I,E)=>(A._BinaryenTryInsertCatchTagAt=B.lt)(g,I,E),A._BinaryenTryRemoveCatchTagAt=(g,I)=>(A._BinaryenTryRemoveCatchTagAt=B.mt)(g,I),A._BinaryenTryGetCatchBodyAt=(g,I)=>(A._BinaryenTryGetCatchBodyAt=B.nt)(g,I),A._BinaryenTrySetCatchBodyAt=(g,I,E)=>(A._BinaryenTrySetCatchBodyAt=B.ot)(g,I,E),A._BinaryenTryAppendCatchBody=(g,I)=>(A._BinaryenTryAppendCatchBody=B.pt)(g,I),A._BinaryenTryInsertCatchBodyAt=(g,I,E)=>(A._BinaryenTryInsertCatchBodyAt=B.qt)(g,I,E),A._BinaryenTryRemoveCatchBodyAt=(g,I)=>(A._BinaryenTryRemoveCatchBodyAt=B.rt)(g,I),A._BinaryenTryHasCatchAll=g=>(A._BinaryenTryHasCatchAll=B.st)(g),A._BinaryenTryGetDelegateTarget=g=>(A._BinaryenTryGetDelegateTarget=B.tt)(g),A._BinaryenTrySetDelegateTarget=(g,I)=>(A._BinaryenTrySetDelegateTarget=B.ut)(g,I),A._BinaryenTryIsDelegate=g=>(A._BinaryenTryIsDelegate=B.vt)(g),A._BinaryenThrowGetTag=g=>(A._BinaryenThrowGetTag=B.wt)(g),A._BinaryenThrowSetTag=(g,I)=>(A._BinaryenThrowSetTag=B.xt)(g,I),A._BinaryenThrowGetNumOperands=g=>(A._BinaryenThrowGetNumOperands=B.yt)(g),A._BinaryenThrowGetOperandAt=(g,I)=>(A._BinaryenThrowGetOperandAt=B.zt)(g,I),A._BinaryenThrowSetOperandAt=(g,I,E)=>(A._BinaryenThrowSetOperandAt=B.At)(g,I,E),A._BinaryenThrowAppendOperand=(g,I)=>(A._BinaryenThrowAppendOperand=B.Bt)(g,I),A._BinaryenThrowInsertOperandAt=(g,I,E)=>(A._BinaryenThrowInsertOperandAt=B.Ct)(g,I,E),A._BinaryenThrowRemoveOperandAt=(g,I)=>(A._BinaryenThrowRemoveOperandAt=B.Dt)(g,I),A._BinaryenRethrowGetTarget=g=>(A._BinaryenRethrowGetTarget=B.Et)(g),A._BinaryenRethrowSetTarget=(g,I)=>(A._BinaryenRethrowSetTarget=B.Ft)(g,I),A._BinaryenTupleMakeGetNumOperands=g=>(A._BinaryenTupleMakeGetNumOperands=B.Gt)(g),A._BinaryenTupleMakeGetOperandAt=(g,I)=>(A._BinaryenTupleMakeGetOperandAt=B.Ht)(g,I),A._BinaryenTupleMakeSetOperandAt=(g,I,E)=>(A._BinaryenTupleMakeSetOperandAt=B.It)(g,I,E),A._BinaryenTupleMakeAppendOperand=(g,I)=>(A._BinaryenTupleMakeAppendOperand=B.Jt)(g,I),A._BinaryenTupleMakeInsertOperandAt=(g,I,E)=>(A._BinaryenTupleMakeInsertOperandAt=B.Kt)(g,I,E),A._BinaryenTupleMakeRemoveOperandAt=(g,I)=>(A._BinaryenTupleMakeRemoveOperandAt=B.Lt)(g,I),A._BinaryenTupleExtractGetTuple=g=>(A._BinaryenTupleExtractGetTuple=B.Mt)(g),A._BinaryenTupleExtractSetTuple=(g,I)=>(A._BinaryenTupleExtractSetTuple=B.Nt)(g,I),A._BinaryenTupleExtractGetIndex=g=>(A._BinaryenTupleExtractGetIndex=B.Ot)(g),A._BinaryenTupleExtractSetIndex=(g,I)=>(A._BinaryenTupleExtractSetIndex=B.Pt)(g,I),A._BinaryenRefI31GetValue=g=>(A._BinaryenRefI31GetValue=B.Qt)(g),A._BinaryenRefI31SetValue=(g,I)=>(A._BinaryenRefI31SetValue=B.Rt)(g,I),A._BinaryenI31GetGetI31=g=>(A._BinaryenI31GetGetI31=B.St)(g),A._BinaryenI31GetSetI31=(g,I)=>(A._BinaryenI31GetSetI31=B.Tt)(g,I),A._BinaryenI31GetIsSigned=g=>(A._BinaryenI31GetIsSigned=B.Ut)(g),A._BinaryenI31GetSetSigned=(g,I)=>(A._BinaryenI31GetSetSigned=B.Vt)(g,I),A._BinaryenCallRefGetNumOperands=g=>(A._BinaryenCallRefGetNumOperands=B.Wt)(g),A._BinaryenCallRefGetOperandAt=(g,I)=>(A._BinaryenCallRefGetOperandAt=B.Xt)(g,I),A._BinaryenCallRefSetOperandAt=(g,I,E)=>(A._BinaryenCallRefSetOperandAt=B.Yt)(g,I,E),A._BinaryenCallRefAppendOperand=(g,I)=>(A._BinaryenCallRefAppendOperand=B.Zt)(g,I),A._BinaryenCallRefInsertOperandAt=(g,I,E)=>(A._BinaryenCallRefInsertOperandAt=B._t)(g,I,E),A._BinaryenCallRefRemoveOperandAt=(g,I)=>(A._BinaryenCallRefRemoveOperandAt=B.$t)(g,I),A._BinaryenCallRefGetTarget=g=>(A._BinaryenCallRefGetTarget=B.au)(g),A._BinaryenCallRefSetTarget=(g,I)=>(A._BinaryenCallRefSetTarget=B.bu)(g,I),A._BinaryenCallRefIsReturn=g=>(A._BinaryenCallRefIsReturn=B.cu)(g),A._BinaryenCallRefSetReturn=(g,I)=>(A._BinaryenCallRefSetReturn=B.du)(g,I),A._BinaryenRefTestGetRef=g=>(A._BinaryenRefTestGetRef=B.eu)(g),A._BinaryenRefTestSetRef=(g,I)=>(A._BinaryenRefTestSetRef=B.fu)(g,I),A._BinaryenRefTestGetCastType=g=>(A._BinaryenRefTestGetCastType=B.gu)(g),A._BinaryenRefTestSetCastType=(g,I)=>(A._BinaryenRefTestSetCastType=B.hu)(g,I),A._BinaryenRefCastGetRef=g=>(A._BinaryenRefCastGetRef=B.iu)(g),A._BinaryenRefCastSetRef=(g,I)=>(A._BinaryenRefCastSetRef=B.ju)(g,I),A._BinaryenBrOnGetOp=g=>(A._BinaryenBrOnGetOp=B.ku)(g),A._BinaryenBrOnSetOp=(g,I)=>(A._BinaryenBrOnSetOp=B.lu)(g,I),A._BinaryenBrOnGetName=g=>(A._BinaryenBrOnGetName=B.mu)(g),A._BinaryenBrOnSetName=(g,I)=>(A._BinaryenBrOnSetName=B.nu)(g,I),A._BinaryenBrOnGetRef=g=>(A._BinaryenBrOnGetRef=B.ou)(g),A._BinaryenBrOnSetRef=(g,I)=>(A._BinaryenBrOnSetRef=B.pu)(g,I),A._BinaryenBrOnGetCastType=g=>(A._BinaryenBrOnGetCastType=B.qu)(g),A._BinaryenBrOnSetCastType=(g,I)=>(A._BinaryenBrOnSetCastType=B.ru)(g,I),A._BinaryenStructNewGetNumOperands=g=>(A._BinaryenStructNewGetNumOperands=B.su)(g),A._BinaryenStructNewGetOperandAt=(g,I)=>(A._BinaryenStructNewGetOperandAt=B.tu)(g,I),A._BinaryenStructNewSetOperandAt=(g,I,E)=>(A._BinaryenStructNewSetOperandAt=B.uu)(g,I,E),A._BinaryenStructNewAppendOperand=(g,I)=>(A._BinaryenStructNewAppendOperand=B.vu)(g,I),A._BinaryenStructNewInsertOperandAt=(g,I,E)=>(A._BinaryenStructNewInsertOperandAt=B.wu)(g,I,E),A._BinaryenStructNewRemoveOperandAt=(g,I)=>(A._BinaryenStructNewRemoveOperandAt=B.xu)(g,I),A._BinaryenStructGetGetIndex=g=>(A._BinaryenStructGetGetIndex=B.yu)(g),A._BinaryenStructGetSetIndex=(g,I)=>(A._BinaryenStructGetSetIndex=B.zu)(g,I),A._BinaryenStructGetGetRef=g=>(A._BinaryenStructGetGetRef=B.Au)(g),A._BinaryenStructGetSetRef=(g,I)=>(A._BinaryenStructGetSetRef=B.Bu)(g,I),A._BinaryenStructGetIsSigned=g=>(A._BinaryenStructGetIsSigned=B.Cu)(g),A._BinaryenStructGetSetSigned=(g,I)=>(A._BinaryenStructGetSetSigned=B.Du)(g,I),A._BinaryenStructSetGetIndex=g=>(A._BinaryenStructSetGetIndex=B.Eu)(g),A._BinaryenStructSetSetIndex=(g,I)=>(A._BinaryenStructSetSetIndex=B.Fu)(g,I),A._BinaryenStructSetGetRef=g=>(A._BinaryenStructSetGetRef=B.Gu)(g),A._BinaryenStructSetSetRef=(g,I)=>(A._BinaryenStructSetSetRef=B.Hu)(g,I),A._BinaryenStructSetGetValue=g=>(A._BinaryenStructSetGetValue=B.Iu)(g),A._BinaryenStructSetSetValue=(g,I)=>(A._BinaryenStructSetSetValue=B.Ju)(g,I),A._BinaryenArrayNewGetInit=g=>(A._BinaryenArrayNewGetInit=B.Ku)(g),A._BinaryenArrayNewSetInit=(g,I)=>(A._BinaryenArrayNewSetInit=B.Lu)(g,I),A._BinaryenArrayNewGetSize=g=>(A._BinaryenArrayNewGetSize=B.Mu)(g),A._BinaryenArrayNewSetSize=(g,I)=>(A._BinaryenArrayNewSetSize=B.Nu)(g,I),A._BinaryenArrayNewFixedGetNumValues=g=>(A._BinaryenArrayNewFixedGetNumValues=B.Ou)(g),A._BinaryenArrayNewFixedGetValueAt=(g,I)=>(A._BinaryenArrayNewFixedGetValueAt=B.Pu)(g,I),A._BinaryenArrayNewFixedSetValueAt=(g,I,E)=>(A._BinaryenArrayNewFixedSetValueAt=B.Qu)(g,I,E),A._BinaryenArrayNewFixedAppendValue=(g,I)=>(A._BinaryenArrayNewFixedAppendValue=B.Ru)(g,I),A._BinaryenArrayNewFixedInsertValueAt=(g,I,E)=>(A._BinaryenArrayNewFixedInsertValueAt=B.Su)(g,I,E),A._BinaryenArrayNewFixedRemoveValueAt=(g,I)=>(A._BinaryenArrayNewFixedRemoveValueAt=B.Tu)(g,I),A._BinaryenArrayGetGetRef=g=>(A._BinaryenArrayGetGetRef=B.Uu)(g),A._BinaryenArrayGetSetRef=(g,I)=>(A._BinaryenArrayGetSetRef=B.Vu)(g,I),A._BinaryenArrayGetGetIndex=g=>(A._BinaryenArrayGetGetIndex=B.Wu)(g),A._BinaryenArrayGetSetIndex=(g,I)=>(A._BinaryenArrayGetSetIndex=B.Xu)(g,I),A._BinaryenArrayGetIsSigned=g=>(A._BinaryenArrayGetIsSigned=B.Yu)(g),A._BinaryenArrayGetSetSigned=(g,I)=>(A._BinaryenArrayGetSetSigned=B.Zu)(g,I),A._BinaryenArraySetGetRef=g=>(A._BinaryenArraySetGetRef=B._u)(g),A._BinaryenArraySetSetRef=(g,I)=>(A._BinaryenArraySetSetRef=B.$u)(g,I),A._BinaryenArraySetGetIndex=g=>(A._BinaryenArraySetGetIndex=B.av)(g),A._BinaryenArraySetSetIndex=(g,I)=>(A._BinaryenArraySetSetIndex=B.bv)(g,I),A._BinaryenArraySetGetValue=g=>(A._BinaryenArraySetGetValue=B.cv)(g),A._BinaryenArraySetSetValue=(g,I)=>(A._BinaryenArraySetSetValue=B.dv)(g,I),A._BinaryenArrayLenGetRef=g=>(A._BinaryenArrayLenGetRef=B.ev)(g),A._BinaryenArrayLenSetRef=(g,I)=>(A._BinaryenArrayLenSetRef=B.fv)(g,I),A._BinaryenArrayCopyGetDestRef=g=>(A._BinaryenArrayCopyGetDestRef=B.gv)(g),A._BinaryenArrayCopySetDestRef=(g,I)=>(A._BinaryenArrayCopySetDestRef=B.hv)(g,I),A._BinaryenArrayCopyGetDestIndex=g=>(A._BinaryenArrayCopyGetDestIndex=B.iv)(g),A._BinaryenArrayCopySetDestIndex=(g,I)=>(A._BinaryenArrayCopySetDestIndex=B.jv)(g,I),A._BinaryenArrayCopyGetSrcRef=g=>(A._BinaryenArrayCopyGetSrcRef=B.kv)(g),A._BinaryenArrayCopySetSrcRef=(g,I)=>(A._BinaryenArrayCopySetSrcRef=B.lv)(g,I),A._BinaryenArrayCopyGetSrcIndex=g=>(A._BinaryenArrayCopyGetSrcIndex=B.mv)(g),A._BinaryenArrayCopySetSrcIndex=(g,I)=>(A._BinaryenArrayCopySetSrcIndex=B.nv)(g,I),A._BinaryenArrayCopyGetLength=g=>(A._BinaryenArrayCopyGetLength=B.ov)(g),A._BinaryenArrayCopySetLength=(g,I)=>(A._BinaryenArrayCopySetLength=B.pv)(g,I),A._BinaryenStringNewGetOp=g=>(A._BinaryenStringNewGetOp=B.qv)(g),A._BinaryenStringNewSetOp=(g,I)=>(A._BinaryenStringNewSetOp=B.rv)(g,I),A._BinaryenStringNewGetPtr=g=>(A._BinaryenStringNewGetPtr=B.sv)(g),A._BinaryenStringNewSetPtr=(g,I)=>(A._BinaryenStringNewSetPtr=B.tv)(g,I),A._BinaryenStringNewGetLength=g=>(A._BinaryenStringNewGetLength=B.uv)(g),A._BinaryenStringNewSetLength=(g,I)=>(A._BinaryenStringNewSetLength=B.vv)(g,I),A._BinaryenStringNewGetStart=g=>(A._BinaryenStringNewGetStart=B.wv)(g),A._BinaryenStringNewSetStart=(g,I)=>(A._BinaryenStringNewSetStart=B.xv)(g,I),A._BinaryenStringNewGetEnd=g=>(A._BinaryenStringNewGetEnd=B.yv)(g),A._BinaryenStringNewSetEnd=(g,I)=>(A._BinaryenStringNewSetEnd=B.zv)(g,I),A._BinaryenStringNewSetTry=(g,I)=>(A._BinaryenStringNewSetTry=B.Av)(g,I),A._BinaryenStringNewIsTry=g=>(A._BinaryenStringNewIsTry=B.Bv)(g),A._BinaryenStringConstGetString=g=>(A._BinaryenStringConstGetString=B.Cv)(g),A._BinaryenStringConstSetString=(g,I)=>(A._BinaryenStringConstSetString=B.Dv)(g,I),A._BinaryenStringMeasureGetOp=g=>(A._BinaryenStringMeasureGetOp=B.Ev)(g),A._BinaryenStringMeasureSetOp=(g,I)=>(A._BinaryenStringMeasureSetOp=B.Fv)(g,I),A._BinaryenStringMeasureGetRef=g=>(A._BinaryenStringMeasureGetRef=B.Gv)(g),A._BinaryenStringMeasureSetRef=(g,I)=>(A._BinaryenStringMeasureSetRef=B.Hv)(g,I),A._BinaryenStringEncodeGetOp=g=>(A._BinaryenStringEncodeGetOp=B.Iv)(g),A._BinaryenStringEncodeSetOp=(g,I)=>(A._BinaryenStringEncodeSetOp=B.Jv)(g,I),A._BinaryenStringEncodeGetRef=g=>(A._BinaryenStringEncodeGetRef=B.Kv)(g),A._BinaryenStringEncodeSetRef=(g,I)=>(A._BinaryenStringEncodeSetRef=B.Lv)(g,I),A._BinaryenStringEncodeGetPtr=g=>(A._BinaryenStringEncodeGetPtr=B.Mv)(g),A._BinaryenStringEncodeSetPtr=(g,I)=>(A._BinaryenStringEncodeSetPtr=B.Nv)(g,I),A._BinaryenStringEncodeGetStart=g=>(A._BinaryenStringEncodeGetStart=B.Ov)(g),A._BinaryenStringEncodeSetStart=(g,I)=>(A._BinaryenStringEncodeSetStart=B.Pv)(g,I),A._BinaryenStringConcatGetLeft=g=>(A._BinaryenStringConcatGetLeft=B.Qv)(g),A._BinaryenStringConcatSetLeft=(g,I)=>(A._BinaryenStringConcatSetLeft=B.Rv)(g,I),A._BinaryenStringConcatGetRight=g=>(A._BinaryenStringConcatGetRight=B.Sv)(g),A._BinaryenStringConcatSetRight=(g,I)=>(A._BinaryenStringConcatSetRight=B.Tv)(g,I),A._BinaryenStringEqGetOp=g=>(A._BinaryenStringEqGetOp=B.Uv)(g),A._BinaryenStringEqSetOp=(g,I)=>(A._BinaryenStringEqSetOp=B.Vv)(g,I),A._BinaryenStringEqGetLeft=g=>(A._BinaryenStringEqGetLeft=B.Wv)(g),A._BinaryenStringEqSetLeft=(g,I)=>(A._BinaryenStringEqSetLeft=B.Xv)(g,I),A._BinaryenStringEqGetRight=g=>(A._BinaryenStringEqGetRight=B.Yv)(g),A._BinaryenStringEqSetRight=(g,I)=>(A._BinaryenStringEqSetRight=B.Zv)(g,I),A._BinaryenStringAsGetOp=g=>(A._BinaryenStringAsGetOp=B._v)(g),A._BinaryenStringAsSetOp=(g,I)=>(A._BinaryenStringAsSetOp=B.$v)(g,I),A._BinaryenStringAsGetRef=g=>(A._BinaryenStringAsGetRef=B.aw)(g),A._BinaryenStringAsSetRef=(g,I)=>(A._BinaryenStringAsSetRef=B.bw)(g,I),A._BinaryenStringWTF8AdvanceGetRef=g=>(A._BinaryenStringWTF8AdvanceGetRef=B.cw)(g),A._BinaryenStringWTF8AdvanceSetRef=(g,I)=>(A._BinaryenStringWTF8AdvanceSetRef=B.dw)(g,I),A._BinaryenStringWTF8AdvanceGetPos=g=>(A._BinaryenStringWTF8AdvanceGetPos=B.ew)(g),A._BinaryenStringWTF8AdvanceSetPos=(g,I)=>(A._BinaryenStringWTF8AdvanceSetPos=B.fw)(g,I),A._BinaryenStringWTF8AdvanceGetBytes=g=>(A._BinaryenStringWTF8AdvanceGetBytes=B.gw)(g),A._BinaryenStringWTF8AdvanceSetBytes=(g,I)=>(A._BinaryenStringWTF8AdvanceSetBytes=B.hw)(g,I),A._BinaryenStringWTF16GetGetRef=g=>(A._BinaryenStringWTF16GetGetRef=B.iw)(g),A._BinaryenStringWTF16GetSetRef=(g,I)=>(A._BinaryenStringWTF16GetSetRef=B.jw)(g,I),A._BinaryenStringWTF16GetGetPos=g=>(A._BinaryenStringWTF16GetGetPos=B.kw)(g),A._BinaryenStringWTF16GetSetPos=(g,I)=>(A._BinaryenStringWTF16GetSetPos=B.lw)(g,I),A._BinaryenStringIterNextGetRef=g=>(A._BinaryenStringIterNextGetRef=B.mw)(g),A._BinaryenStringIterNextSetRef=(g,I)=>(A._BinaryenStringIterNextSetRef=B.nw)(g,I),A._BinaryenStringIterMoveGetOp=g=>(A._BinaryenStringIterMoveGetOp=B.ow)(g),A._BinaryenStringIterMoveSetOp=(g,I)=>(A._BinaryenStringIterMoveSetOp=B.pw)(g,I),A._BinaryenStringIterMoveGetRef=g=>(A._BinaryenStringIterMoveGetRef=B.qw)(g),A._BinaryenStringIterMoveSetRef=(g,I)=>(A._BinaryenStringIterMoveSetRef=B.rw)(g,I),A._BinaryenStringIterMoveGetNum=g=>(A._BinaryenStringIterMoveGetNum=B.sw)(g),A._BinaryenStringIterMoveSetNum=(g,I)=>(A._BinaryenStringIterMoveSetNum=B.tw)(g,I),A._BinaryenStringSliceWTFGetOp=g=>(A._BinaryenStringSliceWTFGetOp=B.uw)(g),A._BinaryenStringSliceWTFSetOp=(g,I)=>(A._BinaryenStringSliceWTFSetOp=B.vw)(g,I),A._BinaryenStringSliceWTFGetRef=g=>(A._BinaryenStringSliceWTFGetRef=B.ww)(g),A._BinaryenStringSliceWTFSetRef=(g,I)=>(A._BinaryenStringSliceWTFSetRef=B.xw)(g,I),A._BinaryenStringSliceWTFGetStart=g=>(A._BinaryenStringSliceWTFGetStart=B.yw)(g),A._BinaryenStringSliceWTFSetStart=(g,I)=>(A._BinaryenStringSliceWTFSetStart=B.zw)(g,I),A._BinaryenStringSliceWTFGetEnd=g=>(A._BinaryenStringSliceWTFGetEnd=B.Aw)(g),A._BinaryenStringSliceWTFSetEnd=(g,I)=>(A._BinaryenStringSliceWTFSetEnd=B.Bw)(g,I),A._BinaryenStringSliceIterGetRef=g=>(A._BinaryenStringSliceIterGetRef=B.Cw)(g),A._BinaryenStringSliceIterSetRef=(g,I)=>(A._BinaryenStringSliceIterSetRef=B.Dw)(g,I),A._BinaryenStringSliceIterGetNum=g=>(A._BinaryenStringSliceIterGetNum=B.Ew)(g),A._BinaryenStringSliceIterSetNum=(g,I)=>(A._BinaryenStringSliceIterSetNum=B.Fw)(g,I),A._BinaryenAddFunction=(g,I,E,Q,C,D,i)=>(A._BinaryenAddFunction=B.Gw)(g,I,E,Q,C,D,i),A._BinaryenAddFunctionWithHeapType=(g,I,E,Q,C,D)=>(A._BinaryenAddFunctionWithHeapType=B.Hw)(g,I,E,Q,C,D),A._BinaryenGetFunction=(g,I)=>(A._BinaryenGetFunction=B.Iw)(g,I),A._BinaryenRemoveFunction=(g,I)=>(A._BinaryenRemoveFunction=B.Jw)(g,I),A._BinaryenGetNumFunctions=g=>(A._BinaryenGetNumFunctions=B.Kw)(g),A._BinaryenGetFunctionByIndex=(g,I)=>(A._BinaryenGetFunctionByIndex=B.Lw)(g,I),A._BinaryenAddGlobal=(g,I,E,Q,C)=>(A._BinaryenAddGlobal=B.Mw)(g,I,E,Q,C),A._BinaryenGetGlobal=(g,I)=>(A._BinaryenGetGlobal=B.Nw)(g,I),A._BinaryenRemoveGlobal=(g,I)=>(A._BinaryenRemoveGlobal=B.Ow)(g,I),A._BinaryenGetNumGlobals=g=>(A._BinaryenGetNumGlobals=B.Pw)(g),A._BinaryenGetGlobalByIndex=(g,I)=>(A._BinaryenGetGlobalByIndex=B.Qw)(g,I),A._BinaryenAddTag=(g,I,E,Q)=>(A._BinaryenAddTag=B.Rw)(g,I,E,Q),A._BinaryenGetTag=(g,I)=>(A._BinaryenGetTag=B.Sw)(g,I),A._BinaryenRemoveTag=(g,I)=>(A._BinaryenRemoveTag=B.Tw)(g,I),A._BinaryenAddFunctionImport=(g,I,E,Q,C,D)=>(A._BinaryenAddFunctionImport=B.Uw)(g,I,E,Q,C,D),A._BinaryenAddTableImport=(g,I,E,Q)=>(A._BinaryenAddTableImport=B.Vw)(g,I,E,Q),A._BinaryenAddMemoryImport=(g,I,E,Q,C)=>(A._BinaryenAddMemoryImport=B.Ww)(g,I,E,Q,C),A._BinaryenAddGlobalImport=(g,I,E,Q,C,D)=>(A._BinaryenAddGlobalImport=B.Xw)(g,I,E,Q,C,D),A._BinaryenAddTagImport=(g,I,E,Q,C,D)=>(A._BinaryenAddTagImport=B.Yw)(g,I,E,Q,C,D),A._BinaryenAddFunctionExport=(g,I,E)=>(A._BinaryenAddFunctionExport=B.Zw)(g,I,E),A._BinaryenAddTableExport=(g,I,E)=>(A._BinaryenAddTableExport=B._w)(g,I,E),A._BinaryenAddMemoryExport=(g,I,E)=>(A._BinaryenAddMemoryExport=B.$w)(g,I,E),A._BinaryenAddGlobalExport=(g,I,E)=>(A._BinaryenAddGlobalExport=B.ax)(g,I,E),A._BinaryenAddTagExport=(g,I,E)=>(A._BinaryenAddTagExport=B.bx)(g,I,E),A._BinaryenGetExport=(g,I)=>(A._BinaryenGetExport=B.cx)(g,I),A._BinaryenRemoveExport=(g,I)=>(A._BinaryenRemoveExport=B.dx)(g,I),A._BinaryenGetNumExports=g=>(A._BinaryenGetNumExports=B.ex)(g),A._BinaryenGetExportByIndex=(g,I)=>(A._BinaryenGetExportByIndex=B.fx)(g,I),A._BinaryenAddTable=(g,I,E,Q,C)=>(A._BinaryenAddTable=B.gx)(g,I,E,Q,C),A._BinaryenRemoveTable=(g,I)=>(A._BinaryenRemoveTable=B.hx)(g,I),A._BinaryenGetNumTables=g=>(A._BinaryenGetNumTables=B.ix)(g),A._BinaryenGetTable=(g,I)=>(A._BinaryenGetTable=B.jx)(g,I),A._BinaryenGetTableByIndex=(g,I)=>(A._BinaryenGetTableByIndex=B.kx)(g,I),A._BinaryenAddActiveElementSegment=(g,I,E,Q,C,D)=>(A._BinaryenAddActiveElementSegment=B.lx)(g,I,E,Q,C,D),A._BinaryenAddPassiveElementSegment=(g,I,E,Q)=>(A._BinaryenAddPassiveElementSegment=B.mx)(g,I,E,Q),A._BinaryenRemoveElementSegment=(g,I)=>(A._BinaryenRemoveElementSegment=B.nx)(g,I),A._BinaryenGetElementSegment=(g,I)=>(A._BinaryenGetElementSegment=B.ox)(g,I),A._BinaryenGetElementSegmentByIndex=(g,I)=>(A._BinaryenGetElementSegmentByIndex=B.px)(g,I),A._BinaryenGetNumElementSegments=g=>(A._BinaryenGetNumElementSegments=B.qx)(g),A._BinaryenElementSegmentGetOffset=g=>(A._BinaryenElementSegmentGetOffset=B.rx)(g),A._BinaryenElementSegmentGetLength=g=>(A._BinaryenElementSegmentGetLength=B.sx)(g),A._BinaryenElementSegmentGetData=(g,I)=>(A._BinaryenElementSegmentGetData=B.tx)(g,I),A._BinaryenSetMemory=(g,I,E,Q,C,D,i,N,R,U,S,h)=>(A._BinaryenSetMemory=B.ux)(g,I,E,Q,C,D,i,N,R,U,S,h),A._BinaryenGetNumMemorySegments=g=>(A._BinaryenGetNumMemorySegments=B.vx)(g),A._BinaryenGetMemorySegmentByteOffset=(g,I)=>(A._BinaryenGetMemorySegmentByteOffset=B.wx)(g,I),A._BinaryenHasMemory=g=>(A._BinaryenHasMemory=B.xx)(g),A._BinaryenMemoryGetInitial=(g,I)=>(A._BinaryenMemoryGetInitial=B.yx)(g,I),A._BinaryenMemoryHasMax=(g,I)=>(A._BinaryenMemoryHasMax=B.zx)(g,I),A._BinaryenMemoryGetMax=(g,I)=>(A._BinaryenMemoryGetMax=B.Ax)(g,I),A._BinaryenMemoryImportGetModule=(g,I)=>(A._BinaryenMemoryImportGetModule=B.Bx)(g,I),A._BinaryenMemoryImportGetBase=(g,I)=>(A._BinaryenMemoryImportGetBase=B.Cx)(g,I),A._BinaryenMemoryIsShared=(g,I)=>(A._BinaryenMemoryIsShared=B.Dx)(g,I),A._BinaryenMemoryIs64=(g,I)=>(A._BinaryenMemoryIs64=B.Ex)(g,I),A._BinaryenGetMemorySegmentByteLength=(g,I)=>(A._BinaryenGetMemorySegmentByteLength=B.Fx)(g,I),A._BinaryenGetMemorySegmentPassive=(g,I)=>(A._BinaryenGetMemorySegmentPassive=B.Gx)(g,I),A._BinaryenCopyMemorySegmentData=(g,I,E)=>(A._BinaryenCopyMemorySegmentData=B.Hx)(g,I,E),A._BinaryenSetStart=(g,I)=>(A._BinaryenSetStart=B.Ix)(g,I),A._BinaryenModuleGetFeatures=g=>(A._BinaryenModuleGetFeatures=B.Jx)(g),A._BinaryenModuleSetFeatures=(g,I)=>(A._BinaryenModuleSetFeatures=B.Kx)(g,I),A._BinaryenModuleParse=g=>(A._BinaryenModuleParse=B.Lx)(g),A._BinaryenModulePrint=g=>(A._BinaryenModulePrint=B.Mx)(g),A._BinaryenModulePrintStackIR=(g,I)=>(A._BinaryenModulePrintStackIR=B.Nx)(g,I),A._BinaryenModulePrintAsmjs=g=>(A._BinaryenModulePrintAsmjs=B.Ox)(g),A._BinaryenModuleValidate=g=>(A._BinaryenModuleValidate=B.Px)(g),A._BinaryenModuleOptimize=g=>(A._BinaryenModuleOptimize=B.Qx)(g),A._BinaryenModuleUpdateMaps=g=>(A._BinaryenModuleUpdateMaps=B.Rx)(g),A._BinaryenGetOptimizeLevel=()=>(A._BinaryenGetOptimizeLevel=B.Sx)(),A._BinaryenSetOptimizeLevel=g=>(A._BinaryenSetOptimizeLevel=B.Tx)(g),A._BinaryenGetShrinkLevel=()=>(A._BinaryenGetShrinkLevel=B.Ux)(),A._BinaryenSetShrinkLevel=g=>(A._BinaryenSetShrinkLevel=B.Vx)(g),A._BinaryenGetDebugInfo=()=>(A._BinaryenGetDebugInfo=B.Wx)(),A._BinaryenSetDebugInfo=g=>(A._BinaryenSetDebugInfo=B.Xx)(g),A._BinaryenGetLowMemoryUnused=()=>(A._BinaryenGetLowMemoryUnused=B.Yx)(),A._BinaryenSetLowMemoryUnused=g=>(A._BinaryenSetLowMemoryUnused=B.Zx)(g),A._BinaryenGetZeroFilledMemory=()=>(A._BinaryenGetZeroFilledMemory=B._x)(),A._BinaryenSetZeroFilledMemory=g=>(A._BinaryenSetZeroFilledMemory=B.$x)(g),A._BinaryenGetFastMath=()=>(A._BinaryenGetFastMath=B.ay)(),A._BinaryenSetFastMath=g=>(A._BinaryenSetFastMath=B.by)(g),A._BinaryenGetPassArgument=g=>(A._BinaryenGetPassArgument=B.cy)(g),A._BinaryenSetPassArgument=(g,I)=>(A._BinaryenSetPassArgument=B.dy)(g,I),A._BinaryenClearPassArguments=()=>(A._BinaryenClearPassArguments=B.ey)(),A._BinaryenGetAlwaysInlineMaxSize=()=>(A._BinaryenGetAlwaysInlineMaxSize=B.fy)(),A._BinaryenSetAlwaysInlineMaxSize=g=>(A._BinaryenSetAlwaysInlineMaxSize=B.gy)(g),A._BinaryenGetFlexibleInlineMaxSize=()=>(A._BinaryenGetFlexibleInlineMaxSize=B.hy)(),A._BinaryenSetFlexibleInlineMaxSize=g=>(A._BinaryenSetFlexibleInlineMaxSize=B.iy)(g),A._BinaryenGetOneCallerInlineMaxSize=()=>(A._BinaryenGetOneCallerInlineMaxSize=B.jy)(),A._BinaryenSetOneCallerInlineMaxSize=g=>(A._BinaryenSetOneCallerInlineMaxSize=B.ky)(g),A._BinaryenGetAllowInliningFunctionsWithLoops=()=>(A._BinaryenGetAllowInliningFunctionsWithLoops=B.ly)(),A._BinaryenSetAllowInliningFunctionsWithLoops=g=>(A._BinaryenSetAllowInliningFunctionsWithLoops=B.my)(g),A._BinaryenModuleRunPasses=(g,I,E)=>(A._BinaryenModuleRunPasses=B.ny)(g,I,E),A._BinaryenModuleAutoDrop=g=>(A._BinaryenModuleAutoDrop=B.oy)(g),A._BinaryenModuleWrite=(g,I,E)=>(A._BinaryenModuleWrite=B.py)(g,I,E),A._BinaryenModuleWriteText=(g,I,E)=>(A._BinaryenModuleWriteText=B.qy)(g,I,E),A._BinaryenModuleWriteStackIR=(g,I,E,Q)=>(A._BinaryenModuleWriteStackIR=B.ry)(g,I,E,Q),A._BinaryenModuleWriteWithSourceMap=(g,I,E,Q,C,D,i)=>(A._BinaryenModuleWriteWithSourceMap=B.sy)(g,I,E,Q,C,D,i),A._BinaryenModuleAllocateAndWrite=(g,I,E)=>(A._BinaryenModuleAllocateAndWrite=B.ty)(g,I,E);var NA=A._malloc=g=>(NA=A._malloc=B.uy)(g);A._BinaryenModuleAllocateAndWriteText=g=>(A._BinaryenModuleAllocateAndWriteText=B.vy)(g),A._BinaryenModuleAllocateAndWriteStackIR=(g,I)=>(A._BinaryenModuleAllocateAndWriteStackIR=B.wy)(g,I),A._BinaryenModuleRead=(g,I)=>(A._BinaryenModuleRead=B.xy)(g,I),A._BinaryenModuleInterpret=g=>(A._BinaryenModuleInterpret=B.yy)(g),A._BinaryenModuleAddDebugInfoFileName=(g,I)=>(A._BinaryenModuleAddDebugInfoFileName=B.zy)(g,I),A._BinaryenModuleGetDebugInfoFileName=(g,I)=>(A._BinaryenModuleGetDebugInfoFileName=B.Ay)(g,I),A._BinaryenFunctionGetName=g=>(A._BinaryenFunctionGetName=B.By)(g),A._BinaryenFunctionGetParams=g=>(A._BinaryenFunctionGetParams=B.Cy)(g),A._BinaryenFunctionGetResults=g=>(A._BinaryenFunctionGetResults=B.Dy)(g),A._BinaryenFunctionGetNumVars=g=>(A._BinaryenFunctionGetNumVars=B.Ey)(g),A._BinaryenFunctionGetVar=(g,I)=>(A._BinaryenFunctionGetVar=B.Fy)(g,I),A._BinaryenFunctionGetNumLocals=g=>(A._BinaryenFunctionGetNumLocals=B.Gy)(g),A._BinaryenFunctionHasLocalName=(g,I)=>(A._BinaryenFunctionHasLocalName=B.Hy)(g,I),A._BinaryenFunctionGetLocalName=(g,I)=>(A._BinaryenFunctionGetLocalName=B.Iy)(g,I),A._BinaryenFunctionSetLocalName=(g,I,E)=>(A._BinaryenFunctionSetLocalName=B.Jy)(g,I,E),A._BinaryenFunctionGetBody=g=>(A._BinaryenFunctionGetBody=B.Ky)(g),A._BinaryenFunctionSetBody=(g,I)=>(A._BinaryenFunctionSetBody=B.Ly)(g,I),A._BinaryenFunctionOptimize=(g,I)=>(A._BinaryenFunctionOptimize=B.My)(g,I),A._BinaryenFunctionRunPasses=(g,I,E,Q)=>(A._BinaryenFunctionRunPasses=B.Ny)(g,I,E,Q),A._BinaryenFunctionSetDebugLocation=(g,I,E,Q,C)=>(A._BinaryenFunctionSetDebugLocation=B.Oy)(g,I,E,Q,C),A._BinaryenTableGetName=g=>(A._BinaryenTableGetName=B.Py)(g),A._BinaryenTableSetName=(g,I)=>(A._BinaryenTableSetName=B.Qy)(g,I),A._BinaryenTableGetInitial=g=>(A._BinaryenTableGetInitial=B.Ry)(g),A._BinaryenTableSetInitial=(g,I)=>(A._BinaryenTableSetInitial=B.Sy)(g,I),A._BinaryenTableHasMax=g=>(A._BinaryenTableHasMax=B.Ty)(g),A._BinaryenTableGetMax=g=>(A._BinaryenTableGetMax=B.Uy)(g),A._BinaryenTableSetMax=(g,I)=>(A._BinaryenTableSetMax=B.Vy)(g,I),A._BinaryenTableGetType=g=>(A._BinaryenTableGetType=B.Wy)(g),A._BinaryenTableSetType=(g,I)=>(A._BinaryenTableSetType=B.Xy)(g,I),A._BinaryenElementSegmentGetName=g=>(A._BinaryenElementSegmentGetName=B.Yy)(g),A._BinaryenElementSegmentSetName=(g,I)=>(A._BinaryenElementSegmentSetName=B.Zy)(g,I),A._BinaryenElementSegmentGetTable=g=>(A._BinaryenElementSegmentGetTable=B._y)(g),A._BinaryenElementSegmentSetTable=(g,I)=>(A._BinaryenElementSegmentSetTable=B.$y)(g,I),A._BinaryenElementSegmentIsPassive=g=>(A._BinaryenElementSegmentIsPassive=B.az)(g),A._BinaryenGlobalGetName=g=>(A._BinaryenGlobalGetName=B.bz)(g),A._BinaryenGlobalGetType=g=>(A._BinaryenGlobalGetType=B.cz)(g),A._BinaryenGlobalIsMutable=g=>(A._BinaryenGlobalIsMutable=B.dz)(g),A._BinaryenGlobalGetInitExpr=g=>(A._BinaryenGlobalGetInitExpr=B.ez)(g),A._BinaryenTagGetName=g=>(A._BinaryenTagGetName=B.fz)(g),A._BinaryenTagGetParams=g=>(A._BinaryenTagGetParams=B.gz)(g),A._BinaryenTagGetResults=g=>(A._BinaryenTagGetResults=B.hz)(g),A._BinaryenFunctionImportGetModule=g=>(A._BinaryenFunctionImportGetModule=B.iz)(g),A._BinaryenTableImportGetModule=g=>(A._BinaryenTableImportGetModule=B.jz)(g),A._BinaryenGlobalImportGetModule=g=>(A._BinaryenGlobalImportGetModule=B.kz)(g),A._BinaryenTagImportGetModule=g=>(A._BinaryenTagImportGetModule=B.lz)(g),A._BinaryenFunctionImportGetBase=g=>(A._BinaryenFunctionImportGetBase=B.mz)(g),A._BinaryenTableImportGetBase=g=>(A._BinaryenTableImportGetBase=B.nz)(g),A._BinaryenGlobalImportGetBase=g=>(A._BinaryenGlobalImportGetBase=B.oz)(g),A._BinaryenTagImportGetBase=g=>(A._BinaryenTagImportGetBase=B.pz)(g),A._BinaryenExportGetKind=g=>(A._BinaryenExportGetKind=B.qz)(g),A._BinaryenExportGetName=g=>(A._BinaryenExportGetName=B.rz)(g),A._BinaryenExportGetValue=g=>(A._BinaryenExportGetValue=B.sz)(g),A._BinaryenAddCustomSection=(g,I,E,Q)=>(A._BinaryenAddCustomSection=B.tz)(g,I,E,Q),A._BinaryenSideEffectNone=()=>(A._BinaryenSideEffectNone=B.uz)(),A._BinaryenSideEffectBranches=()=>(A._BinaryenSideEffectBranches=B.vz)(),A._BinaryenSideEffectCalls=()=>(A._BinaryenSideEffectCalls=B.wz)(),A._BinaryenSideEffectReadsLocal=()=>(A._BinaryenSideEffectReadsLocal=B.xz)(),A._BinaryenSideEffectWritesLocal=()=>(A._BinaryenSideEffectWritesLocal=B.yz)(),A._BinaryenSideEffectReadsGlobal=()=>(A._BinaryenSideEffectReadsGlobal=B.zz)(),A._BinaryenSideEffectWritesGlobal=()=>(A._BinaryenSideEffectWritesGlobal=B.Az)(),A._BinaryenSideEffectReadsMemory=()=>(A._BinaryenSideEffectReadsMemory=B.Bz)(),A._BinaryenSideEffectWritesMemory=()=>(A._BinaryenSideEffectWritesMemory=B.Cz)(),A._BinaryenSideEffectReadsTable=()=>(A._BinaryenSideEffectReadsTable=B.Dz)(),A._BinaryenSideEffectWritesTable=()=>(A._BinaryenSideEffectWritesTable=B.Ez)(),A._BinaryenSideEffectImplicitTrap=()=>(A._BinaryenSideEffectImplicitTrap=B.Fz)(),A._BinaryenSideEffectTrapsNeverHappen=()=>(A._BinaryenSideEffectTrapsNeverHappen=B.Gz)(),A._BinaryenSideEffectIsAtomic=()=>(A._BinaryenSideEffectIsAtomic=B.Hz)(),A._BinaryenSideEffectThrows=()=>(A._BinaryenSideEffectThrows=B.Iz)(),A._BinaryenSideEffectDanglingPop=()=>(A._BinaryenSideEffectDanglingPop=B.Jz)(),A._BinaryenSideEffectAny=()=>(A._BinaryenSideEffectAny=B.Kz)(),A._BinaryenExpressionGetSideEffects=(g,I)=>(A._BinaryenExpressionGetSideEffects=B.Lz)(g,I),A._RelooperCreate=g=>(A._RelooperCreate=B.Mz)(g),A._RelooperAddBlock=(g,I)=>(A._RelooperAddBlock=B.Nz)(g,I),A._RelooperAddBranch=(g,I,E,Q)=>(A._RelooperAddBranch=B.Oz)(g,I,E,Q),A._RelooperAddBlockWithSwitch=(g,I,E)=>(A._RelooperAddBlockWithSwitch=B.Pz)(g,I,E),A._RelooperAddBranchForSwitch=(g,I,E,Q,C)=>(A._RelooperAddBranchForSwitch=B.Qz)(g,I,E,Q,C),A._RelooperRenderAndDispose=(g,I,E)=>(A._RelooperRenderAndDispose=B.Rz)(g,I,E),A._ExpressionRunnerFlagsDefault=()=>(A._ExpressionRunnerFlagsDefault=B.Sz)(),A._ExpressionRunnerFlagsPreserveSideeffects=()=>(A._ExpressionRunnerFlagsPreserveSideeffects=B.Tz)(),A._ExpressionRunnerFlagsTraverseCalls=()=>(A._ExpressionRunnerFlagsTraverseCalls=B.Uz)(),A._ExpressionRunnerCreate=(g,I,E,Q)=>(A._ExpressionRunnerCreate=B.Vz)(g,I,E,Q),A._ExpressionRunnerSetLocalValue=(g,I,E)=>(A._ExpressionRunnerSetLocalValue=B.Wz)(g,I,E),A._ExpressionRunnerSetGlobalValue=(g,I,E)=>(A._ExpressionRunnerSetGlobalValue=B.Xz)(g,I,E),A._ExpressionRunnerRunAndDispose=(g,I)=>(A._ExpressionRunnerRunAndDispose=B.Yz)(g,I),A._TypeBuilderErrorReasonSelfSupertype=()=>(A._TypeBuilderErrorReasonSelfSupertype=B.Zz)(),A._TypeBuilderErrorReasonInvalidSupertype=()=>(A._TypeBuilderErrorReasonInvalidSupertype=B._z)(),A._TypeBuilderErrorReasonForwardSupertypeReference=()=>(A._TypeBuilderErrorReasonForwardSupertypeReference=B.$z)(),A._TypeBuilderErrorReasonForwardChildReference=()=>(A._TypeBuilderErrorReasonForwardChildReference=B.aA)(),A._TypeBuilderCreate=g=>(A._TypeBuilderCreate=B.bA)(g),A._TypeBuilderGrow=(g,I)=>(A._TypeBuilderGrow=B.cA)(g,I),A._TypeBuilderGetSize=g=>(A._TypeBuilderGetSize=B.dA)(g),A._TypeBuilderSetSignatureType=(g,I,E,Q)=>(A._TypeBuilderSetSignatureType=B.eA)(g,I,E,Q),A._TypeBuilderSetStructType=(g,I,E,Q,C,D)=>(A._TypeBuilderSetStructType=B.fA)(g,I,E,Q,C,D),A._TypeBuilderSetArrayType=(g,I,E,Q,C)=>(A._TypeBuilderSetArrayType=B.gA)(g,I,E,Q,C),A._TypeBuilderGetTempHeapType=(g,I)=>(A._TypeBuilderGetTempHeapType=B.hA)(g,I),A._TypeBuilderGetTempTupleType=(g,I,E)=>(A._TypeBuilderGetTempTupleType=B.iA)(g,I,E),A._TypeBuilderGetTempRefType=(g,I,E)=>(A._TypeBuilderGetTempRefType=B.jA)(g,I,E),A._TypeBuilderSetSubType=(g,I,E)=>(A._TypeBuilderSetSubType=B.kA)(g,I,E),A._TypeBuilderSetOpen=(g,I)=>(A._TypeBuilderSetOpen=B.lA)(g,I),A._TypeBuilderCreateRecGroup=(g,I,E)=>(A._TypeBuilderCreateRecGroup=B.mA)(g,I,E),A._TypeBuilderBuildAndDispose=(g,I,E,Q)=>(A._TypeBuilderBuildAndDispose=B.nA)(g,I,E,Q),A._BinaryenModuleSetTypeName=(g,I,E)=>(A._BinaryenModuleSetTypeName=B.oA)(g,I,E),A._BinaryenModuleSetFieldName=(g,I,E,Q)=>(A._BinaryenModuleSetFieldName=B.pA)(g,I,E,Q),A._BinaryenSetColorsEnabled=g=>(A._BinaryenSetColorsEnabled=B.qA)(g),A._BinaryenAreColorsEnabled=()=>(A._BinaryenAreColorsEnabled=B.rA)();var lg=A._BinaryenSizeofLiteral=()=>(lg=A._BinaryenSizeofLiteral=B.sA)(),pg=A._BinaryenSizeofAllocateAndWriteResult=()=>(pg=A._BinaryenSizeofAllocateAndWriteResult=B.tA)();A.__i32_store8=(g,I)=>(A.__i32_store8=B.uA)(g,I),A.__i32_store16=(g,I)=>(A.__i32_store16=B.vA)(g,I),A.__i32_store=(g,I)=>(A.__i32_store=B.wA)(g,I),A.__f32_store=(g,I)=>(A.__f32_store=B.xA)(g,I),A.__f64_store=(g,I)=>(A.__f64_store=B.yA)(g,I),A.__i32_load8_s=g=>(A.__i32_load8_s=B.zA)(g),A.__i32_load8_u=g=>(A.__i32_load8_u=B.AA)(g),A.__i32_load16_s=g=>(A.__i32_load16_s=B.BA)(g),A.__i32_load16_u=g=>(A.__i32_load16_u=B.CA)(g),A.__i32_load=g=>(A.__i32_load=B.DA)(g),A.__f32_load=g=>(A.__f32_load=B.EA)(g),A.__f64_load=g=>(A.__f64_load=B.FA)(g);var b=A._free=g=>(b=A._free=B.GA)(g),J=(g,I)=>(J=B.IA)(g,I),wA=g=>(wA=B.JA)(g),Y=()=>(Y=B.KA)(),H=g=>(H=B.LA)(g),Z=g=>(Z=B.MA)(g),bg=g=>(bg=B.NA)(g),mg=g=>(mg=B.OA)(g),fg=(g,I,E)=>(fg=B.PA)(g,I,E),jg=g=>(jg=B.QA)(g),Pg=A.dynCall_viij=(g,I,E,Q,C)=>(Pg=A.dynCall_viij=B.RA)(g,I,E,Q,C),Og=A.dynCall_iij=(g,I,E,Q)=>(Og=A.dynCall_iij=B.SA)(g,I,E,Q),Xg=A.dynCall_viiij=(g,I,E,Q,C,D)=>(Xg=A.dynCall_viiij=B.TA)(g,I,E,Q,C,D),ug=A.dynCall_iiij=(g,I,E,Q,C)=>(ug=A.dynCall_iiij=B.UA)(g,I,E,Q,C),zg=A.dynCall_viiji=(g,I,E,Q,C,D)=>(zg=A.dynCall_viiji=B.VA)(g,I,E,Q,C,D),vg=A.dynCall_jii=(g,I,E)=>(vg=A.dynCall_jii=B.WA)(g,I,E),_g=A.dynCall_vjii=(g,I,E,Q,C)=>(_g=A.dynCall_vjii=B.XA)(g,I,E,Q,C),$g=A.dynCall_vij=(g,I,E,Q)=>($g=A.dynCall_vij=B.YA)(g,I,E,Q),AI=A.dynCall_ijiii=(g,I,E,Q,C,D)=>(AI=A.dynCall_ijiii=B.ZA)(g,I,E,Q,C,D),gI=A.dynCall_iji=(g,I,E,Q)=>(gI=A.dynCall_iji=B._A)(g,I,E,Q),II=A.dynCall_iiiiij=(g,I,E,Q,C,D,i)=>(II=A.dynCall_iiiiij=B.$A)(g,I,E,Q,C,D,i),QI=A.dynCall_viiiiij=(g,I,E,Q,C,D,i,N)=>(QI=A.dynCall_viiiiij=B.aB)(g,I,E,Q,C,D,i,N),BI=A.dynCall_iiijii=(g,I,E,Q,C,D,i)=>(BI=A.dynCall_iiijii=B.bB)(g,I,E,Q,C,D,i),CI=A.dynCall_iiiij=(g,I,E,Q,C,D)=>(CI=A.dynCall_iiiij=B.cB)(g,I,E,Q,C,D),EI=A.dynCall_vijji=(g,I,E,Q,C,D,i)=>(EI=A.dynCall_vijji=B.dB)(g,I,E,Q,C,D,i),DI=A.dynCall_ji=(g,I)=>(DI=A.dynCall_ji=B.eB)(g,I),iI=A.dynCall_viijj=(g,I,E,Q,C,D,i)=>(iI=A.dynCall_viijj=B.fB)(g,I,E,Q,C,D,i),oI=A.dynCall_viijji=(g,I,E,Q,C,D,i,N)=>(oI=A.dynCall_viijji=B.gB)(g,I,E,Q,C,D,i,N),NI=A.dynCall_viijiijj=(g,I,E,Q,C,D,i,N,R,U,S)=>(NI=A.dynCall_viijiijj=B.hB)(g,I,E,Q,C,D,i,N,R,U,S),wI=A.dynCall_vijiijj=(g,I,E,Q,C,D,i,N,R,U)=>(wI=A.dynCall_vijiijj=B.iB)(g,I,E,Q,C,D,i,N,R,U),RI=A.dynCall_jiiiij=(g,I,E,Q,C,D,i)=>(RI=A.dynCall_jiiiij=B.jB)(g,I,E,Q,C,D,i),kI=A.dynCall_viji=(g,I,E,Q,C)=>(kI=A.dynCall_viji=B.kB)(g,I,E,Q,C),UI=A.dynCall_ijiiii=(g,I,E,Q,C,D,i)=>(UI=A.dynCall_ijiiii=B.lB)(g,I,E,Q,C,D,i),FI=A.dynCall_jiii=(g,I,E,Q)=>(FI=A.dynCall_jiii=B.mB)(g,I,E,Q),GI=A.dynCall_j=g=>(GI=A.dynCall_j=B.nB)(g),JI=A.dynCall_vijii=(g,I,E,Q,C,D)=>(JI=A.dynCall_vijii=B.oB)(g,I,E,Q,C,D),YI=A.dynCall_vijiii=(g,I,E,Q,C,D,i)=>(YI=A.dynCall_vijiii=B.pB)(g,I,E,Q,C,D,i),HI=A.dynCall_iiji=(g,I,E,Q,C)=>(HI=A.dynCall_iiji=B.qB)(g,I,E,Q,C),SI=A.dynCall_iijiiii=(g,I,E,Q,C,D,i,N)=>(SI=A.dynCall_iijiiii=B.rB)(g,I,E,Q,C,D,i,N),LI=A.dynCall_iijii=(g,I,E,Q,C,D)=>(LI=A.dynCall_iijii=B.sB)(g,I,E,Q,C,D),yI=A.dynCall_viiiij=(g,I,E,Q,C,D,i)=>(yI=A.dynCall_viiiij=B.tB)(g,I,E,Q,C,D,i),KI=A.dynCall_iiiiiiij=(g,I,E,Q,C,D,i,N,R)=>(KI=A.dynCall_iiiiiiij=B.uB)(g,I,E,Q,C,D,i,N,R),sI=A.dynCall_iijiiiij=(g,I,E,Q,C,D,i,N,R,U)=>(sI=A.dynCall_iijiiiij=B.vB)(g,I,E,Q,C,D,i,N,R,U),hI=A.dynCall_jiji=(g,I,E,Q,C)=>(hI=A.dynCall_jiji=B.wB)(g,I,E,Q,C),MI=A.dynCall_iiijj=(g,I,E,Q,C,D,i)=>(MI=A.dynCall_iiijj=B.xB)(g,I,E,Q,C,D,i),cI=A.dynCall_viiiji=(g,I,E,Q,C,D,i)=>(cI=A.dynCall_viiiji=B.yB)(g,I,E,Q,C,D,i),aI=A.dynCall_viijii=(g,I,E,Q,C,D,i)=>(aI=A.dynCall_viijii=B.zB)(g,I,E,Q,C,D,i);function vI(g,I,E){var Q=Y();try{c(g)(I,E)}catch(C){if(H(Q),C!==C+0)throw C;J(1,0)}}function _I(g,I,E){var Q=Y();try{return c(g)(I,E)}catch(C){if(H(Q),C!==C+0)throw C;J(1,0)}}function $I(g,I){var E=Y();try{return c(g)(I)}catch(Q){if(H(E),Q!==Q+0)throw Q;J(1,0)}}function AQ(g,I,E,Q){var C=Y();try{return c(g)(I,E,Q)}catch(D){if(H(C),D!==D+0)throw D;J(1,0)}}function gQ(g,I,E,Q,C){var D=Y();try{c(g)(I,E,Q,C)}catch(i){if(H(D),i!==i+0)throw i;J(1,0)}}function IQ(g){var I=Y();try{c(g)()}catch(E){if(H(I),E!==E+0)throw E;J(1,0)}}function QQ(g,I){var E=Y();try{c(g)(I)}catch(Q){if(H(E),Q!==Q+0)throw Q;J(1,0)}}function BQ(g,I,E,Q){var C=Y();try{c(g)(I,E,Q)}catch(D){if(H(C),D!==D+0)throw D;J(1,0)}}function CQ(g,I,E,Q,C){var D=Y();try{return c(g)(I,E,Q,C)}catch(i){if(H(D),i!==i+0)throw i;J(1,0)}}function EQ(g,I,E,Q,C,D){var i=Y();try{c(g)(I,E,Q,C,D)}catch(N){if(H(i),N!==N+0)throw N;J(1,0)}}function DQ(g,I,E,Q,C,D,i){var N=Y();try{return c(g)(I,E,Q,C,D,i)}catch(R){if(H(N),R!==R+0)throw R;J(1,0)}}function iQ(g,I,E,Q){var C=Y();try{c(g)(I,E,Q)}catch(D){if(H(C),D!==D+0)throw D;J(1,0)}}function oQ(g){var I=Y();try{return c(g)()}catch(E){if(H(I),E!==E+0)throw E;J(1,0)}}function NQ(g,I,E,Q,C,D,i,N,R){var U=Y();try{c(g)(I,E,Q,C,D,i,N,R)}catch(S){if(H(U),S!==S+0)throw S;J(1,0)}}function wQ(g,I,E,Q,C,D){var i=Y();try{return c(g)(I,E,Q,C,D)}catch(N){if(H(i),N!==N+0)throw N;J(1,0)}}function RQ(g,I,E){var Q=Y();try{c(g)(I,E)}catch(C){if(H(Q),C!==C+0)throw C;J(1,0)}}function kQ(g,I,E){var Q=Y();try{return c(g)(I,E)}catch(C){if(H(Q),C!==C+0)throw C;J(1,0)}}function UQ(g,I,E,Q,C,D,i,N,R){var U=Y();try{return c(g)(I,E,Q,C,D,i,N,R)}catch(S){if(H(U),S!==S+0)throw S;J(1,0)}}function FQ(g,I,E,Q,C,D,i){var N=Y();try{c(g)(I,E,Q,C,D,i)}catch(R){if(H(N),R!==R+0)throw R;J(1,0)}}function GQ(g,I,E,Q,C,D,i,N){var R=Y();try{c(g)(I,E,Q,C,D,i,N)}catch(U){if(H(R),U!==U+0)throw U;J(1,0)}}function JQ(g,I,E,Q,C,D,i,N){var R=Y();try{return c(g)(I,E,Q,C,D,i,N)}catch(U){if(H(R),U!==U+0)throw U;J(1,0)}}function YQ(g,I,E,Q,C,D){var i=Y();try{return c(g)(I,E,Q,C,D)}catch(N){if(H(i),N!==N+0)throw N;J(1,0)}}function HQ(g,I,E,Q,C,D,i,N,R,U,S,h){var M=Y();try{return c(g)(I,E,Q,C,D,i,N,R,U,S,h)}catch(w){if(H(M),w!==w+0)throw w;J(1,0)}}function SQ(g,I,E,Q,C,D,i,N,R,U,S){var h=Y();try{c(g)(I,E,Q,C,D,i,N,R,U,S)}catch(M){if(H(h),M!==M+0)throw M;J(1,0)}}function LQ(g,I,E,Q,C,D,i,N,R,U,S,h,M,w,s,y){var d=Y();try{c(g)(I,E,Q,C,D,i,N,R,U,S,h,M,w,s,y)}catch(n){if(H(d),n!==n+0)throw n;J(1,0)}}function yQ(g,I,E,Q,C,D){var i=Y();try{zg(g,I,E,Q,C,D)}catch(N){if(H(i),N!==N+0)throw N;J(1,0)}}function KQ(g,I,E,Q,C){var D=Y();try{Pg(g,I,E,Q,C)}catch(i){if(H(D),i!==i+0)throw i;J(1,0)}}function sQ(g,I,E,Q,C){var D=Y();try{return ug(g,I,E,Q,C)}catch(i){if(H(D),i!==i+0)throw i;J(1,0)}}function hQ(g,I,E,Q){var C=Y();try{$g(g,I,E,Q)}catch(D){if(H(C),D!==D+0)throw D;J(1,0)}}function MQ(g,I,E,Q){var C=Y();try{return Og(g,I,E,Q)}catch(D){if(H(C),D!==D+0)throw D;J(1,0)}}function cQ(g,I,E,Q,C,D){var i=Y();try{Xg(g,I,E,Q,C,D)}catch(N){if(H(i),N!==N+0)throw N;J(1,0)}}function aQ(g,I){var E=Y();try{return DI(g,I)}catch(Q){if(H(E),Q!==Q+0)throw Q;J(1,0)}}function dQ(g,I,E,Q,C,D){var i=Y();try{return AI(g,I,E,Q,C,D)}catch(N){if(H(i),N!==N+0)throw N;J(1,0)}}function tQ(g,I,E,Q){var C=Y();try{return gI(g,I,E,Q)}catch(D){if(H(C),D!==D+0)throw D;J(1,0)}}function WQ(g,I,E,Q,C,D,i){var N=Y();try{iI(g,I,E,Q,C,D,i)}catch(R){if(H(N),R!==R+0)throw R;J(1,0)}}function qQ(g,I,E,Q,C,D,i){var N=Y();try{EI(g,I,E,Q,C,D,i)}catch(R){if(H(N),R!==R+0)throw R;J(1,0)}}function ZQ(g,I,E,Q,C,D,i){var N=Y();try{cI(g,I,E,Q,C,D,i)}catch(R){if(H(N),R!==R+0)throw R;J(1,0)}}function xQ(g,I,E,Q,C,D,i){var N=Y();try{aI(g,I,E,Q,C,D,i)}catch(R){if(H(N),R!==R+0)throw R;J(1,0)}}function nQ(g,I,E,Q,C,D,i,N,R,U,S){var h=Y();try{NI(g,I,E,Q,C,D,i,N,R,U,S)}catch(M){if(H(h),M!==M+0)throw M;J(1,0)}}function eQ(g,I,E,Q,C,D,i,N,R,U){var S=Y();try{wI(g,I,E,Q,C,D,i,N,R,U)}catch(h){if(H(S),h!==h+0)throw h;J(1,0)}}function VQ(g,I,E,Q,C,D,i){var N=Y();try{return RI(g,I,E,Q,C,D,i)}catch(R){if(H(N),R!==R+0)throw R;J(1,0)}}function rQ(g,I,E,Q,C){var D=Y();try{return HI(g,I,E,Q,C)}catch(i){if(H(D),i!==i+0)throw i;J(1,0)}}function TQ(g,I,E,Q,C){var D=Y();try{return hI(g,I,E,Q,C)}catch(i){if(H(D),i!==i+0)throw i;J(1,0)}}function lQ(g,I,E,Q,C,D){var i=Y();try{JI(g,I,E,Q,C,D)}catch(N){if(H(i),N!==N+0)throw N;J(1,0)}}function pQ(g,I,E,Q,C){var D=Y();try{kI(g,I,E,Q,C)}catch(i){if(H(D),i!==i+0)throw i;J(1,0)}}function bQ(g,I,E,Q,C,D,i){var N=Y();try{return MI(g,I,E,Q,C,D,i)}catch(R){if(H(N),R!==R+0)throw R;J(1,0)}}function mQ(g,I,E,Q,C,D,i,N){var R=Y();try{oI(g,I,E,Q,C,D,i,N)}catch(U){if(H(R),U!==U+0)throw U;J(1,0)}}function fQ(g,I,E,Q,C,D,i,N){var R=Y();try{QI(g,I,E,Q,C,D,i,N)}catch(U){if(H(R),U!==U+0)throw U;J(1,0)}}function jQ(g,I,E){var Q=Y();try{return vg(g,I,E)}catch(C){if(H(Q),C!==C+0)throw C;J(1,0)}}function PQ(g,I,E,Q,C){var D=Y();try{_g(g,I,E,Q,C)}catch(i){if(H(D),i!==i+0)throw i;J(1,0)}}function OQ(g,I,E,Q,C,D,i){var N=Y();try{return UI(g,I,E,Q,C,D,i)}catch(R){if(H(N),R!==R+0)throw R;J(1,0)}}function XQ(g,I,E,Q,C,D,i){var N=Y();try{return BI(g,I,E,Q,C,D,i)}catch(R){if(H(N),R!==R+0)throw R;J(1,0)}}function uQ(g,I,E,Q,C,D){var i=Y();try{return CI(g,I,E,Q,C,D)}catch(N){if(H(i),N!==N+0)throw N;J(1,0)}}function zQ(g,I,E,Q,C,D,i){var N=Y();try{YI(g,I,E,Q,C,D,i)}catch(R){if(H(N),R!==R+0)throw R;J(1,0)}}function vQ(g,I,E,Q,C,D,i,N){var R=Y();try{return SI(g,I,E,Q,C,D,i,N)}catch(U){if(H(R),U!==U+0)throw U;J(1,0)}}function _Q(g,I,E,Q,C,D){var i=Y();try{return LI(g,I,E,Q,C,D)}catch(N){if(H(i),N!==N+0)throw N;J(1,0)}}function $Q(g,I,E,Q,C,D,i){var N=Y();try{return II(g,I,E,Q,C,D,i)}catch(R){if(H(N),R!==R+0)throw R;J(1,0)}}function AB(g,I,E,Q,C,D,i){var N=Y();try{yI(g,I,E,Q,C,D,i)}catch(R){if(H(N),R!==R+0)throw R;J(1,0)}}function gB(g,I,E,Q,C,D,i,N,R){var U=Y();try{return KI(g,I,E,Q,C,D,i,N,R)}catch(S){if(H(U),S!==S+0)throw S;J(1,0)}}function IB(g,I,E,Q,C,D,i,N,R,U){var S=Y();try{return sI(g,I,E,Q,C,D,i,N,R,U)}catch(h){if(H(S),h!==h+0)throw h;J(1,0)}}function QB(g){var I=Y();try{return GI(g)}catch(E){if(H(I),E!==E+0)throw E;J(1,0)}}function BB(g,I,E,Q){var C=Y();try{return FI(g,I,E,Q)}catch(D){if(H(C),D!==D+0)throw D;J(1,0)}}function CB(){var g=B;g=Object.assign({},g);var I=E=>Q=>E(Q)>>>0;return g.uy=I(g.uy),g.KA=(E=>()=>E()>>>0)(g.KA),g.MA=I(g.MA),g}A.stringToAscii=zA,A.allocateUTF8OnStack=rg;var cA;IA=function g(){cA||dI(),cA||(IA=g)};function dI(){function g(){if(!cA&&(cA=!0,A.calledRun=!0,!xA)){if(ig=!0,A.noFSInit||qg||(qg=!0,Wg(),A.stdin=A.stdin,A.stdout=A.stdout,A.stderr=A.stderr,A.stdin?DA("stdin",A.stdin):PA("/dev/tty","/dev/stdin"),A.stdout?DA("stdout",null,A.stdout):PA("/dev/tty","/dev/stdout"),A.stderr?DA("stderr",null,A.stderr):PA("/dev/tty1","/dev/stderr"),sA("/dev/stdin",0),sA("/dev/stdout",1),sA("/dev/stderr",1)),yg=!1,rA(Eg),Ag(A),A.onRuntimeInitialized&&A.onRuntimeInitialized(),A.postRun)for(typeof A.postRun=="function"&&(A.postRun=[A.postRun]);A.postRun.length;){var I=A.postRun.shift();Dg.unshift(I)}rA(Dg)}}if(!(0>>2>>>0),I}function aA(g){let I=Z(g.length);return t.set(g,I>>>0),I}function tI(){[["none","None"],["i32","Int32"],["i64","Int64"],["f32","Float32"],["f64","Float64"],["v128","Vec128"],["funcref","Funcref"],["externref","Externref"],["anyref","Anyref"],["eqref","Eqref"],["i31ref","I31ref"],["structref","Structref"],["stringref","Stringref"],["stringview_wtf8","StringviewWTF8"],["stringview_wtf16","StringviewWTF16"],["stringview_iter","StringviewIter"],["unreachable","Unreachable"],["auto","Auto"]].forEach(g=>{A[g[0]]=A["_BinaryenType"+g[1]]()}),A.ExpressionIds={},"Invalid Block If Loop Break Switch Call CallIndirect LocalGet LocalSet GlobalGet GlobalSet Load Store Const Unary Binary Select Drop Return MemorySize MemoryGrow Nop Unreachable AtomicCmpxchg AtomicRMW AtomicWait AtomicNotify AtomicFence SIMDExtract SIMDReplace SIMDShuffle SIMDTernary SIMDShift SIMDLoad SIMDLoadStoreLane MemoryInit DataDrop MemoryCopy MemoryFill RefNull RefIsNull RefFunc RefEq TableGet TableSet TableSize TableGrow Try Throw Rethrow TupleMake TupleExtract Pop RefI31 I31Get CallRef RefTest RefCast BrOn StructNew StructGet StructSet ArrayNew ArrayNewFixed ArrayGet ArraySet ArrayLen ArrayCopy RefAs StringNew StringConst StringMeasure StringEncode StringConcat StringEq StringAs StringWTF8Advance StringWTF16Get StringIterNext StringIterMove StringSliceWTF StringSliceIter".split(" ").forEach(g=>{A.ExpressionIds[g]=A[g+"Id"]=A["_Binaryen"+g+"Id"]()}),A.ExternalKinds={},["Function","Table","Memory","Global","Tag"].forEach(g=>{A.ExternalKinds[g]=A["External"+g]=A["_BinaryenExternal"+g]()}),A.Features={},"MVP Atomics BulkMemory MutableGlobals NontrappingFPToInt SignExt SIMD128 ExceptionHandling TailCall ReferenceTypes Multivalue GC Memory64 RelaxedSIMD ExtendedConst Strings MultiMemory All".split(" ").forEach(g=>{A.Features[g]=A["_BinaryenFeature"+g]()}),A.Operations={},"ClzInt32 CtzInt32 PopcntInt32 NegFloat32 AbsFloat32 CeilFloat32 FloorFloat32 TruncFloat32 NearestFloat32 SqrtFloat32 EqZInt32 ClzInt64 CtzInt64 PopcntInt64 NegFloat64 AbsFloat64 CeilFloat64 FloorFloat64 TruncFloat64 NearestFloat64 SqrtFloat64 EqZInt64 ExtendSInt32 ExtendUInt32 WrapInt64 TruncSFloat32ToInt32 TruncSFloat32ToInt64 TruncUFloat32ToInt32 TruncUFloat32ToInt64 TruncSFloat64ToInt32 TruncSFloat64ToInt64 TruncUFloat64ToInt32 TruncUFloat64ToInt64 TruncSatSFloat32ToInt32 TruncSatSFloat32ToInt64 TruncSatUFloat32ToInt32 TruncSatUFloat32ToInt64 TruncSatSFloat64ToInt32 TruncSatSFloat64ToInt64 TruncSatUFloat64ToInt32 TruncSatUFloat64ToInt64 ReinterpretFloat32 ReinterpretFloat64 ConvertSInt32ToFloat32 ConvertSInt32ToFloat64 ConvertUInt32ToFloat32 ConvertUInt32ToFloat64 ConvertSInt64ToFloat32 ConvertSInt64ToFloat64 ConvertUInt64ToFloat32 ConvertUInt64ToFloat64 PromoteFloat32 DemoteFloat64 ReinterpretInt32 ReinterpretInt64 ExtendS8Int32 ExtendS16Int32 ExtendS8Int64 ExtendS16Int64 ExtendS32Int64 AddInt32 SubInt32 MulInt32 DivSInt32 DivUInt32 RemSInt32 RemUInt32 AndInt32 OrInt32 XorInt32 ShlInt32 ShrUInt32 ShrSInt32 RotLInt32 RotRInt32 EqInt32 NeInt32 LtSInt32 LtUInt32 LeSInt32 LeUInt32 GtSInt32 GtUInt32 GeSInt32 GeUInt32 AddInt64 SubInt64 MulInt64 DivSInt64 DivUInt64 RemSInt64 RemUInt64 AndInt64 OrInt64 XorInt64 ShlInt64 ShrUInt64 ShrSInt64 RotLInt64 RotRInt64 EqInt64 NeInt64 LtSInt64 LtUInt64 LeSInt64 LeUInt64 GtSInt64 GtUInt64 GeSInt64 GeUInt64 AddFloat32 SubFloat32 MulFloat32 DivFloat32 CopySignFloat32 MinFloat32 MaxFloat32 EqFloat32 NeFloat32 LtFloat32 LeFloat32 GtFloat32 GeFloat32 AddFloat64 SubFloat64 MulFloat64 DivFloat64 CopySignFloat64 MinFloat64 MaxFloat64 EqFloat64 NeFloat64 LtFloat64 LeFloat64 GtFloat64 GeFloat64 AtomicRMWAdd AtomicRMWSub AtomicRMWAnd AtomicRMWOr AtomicRMWXor AtomicRMWXchg SplatVecI8x16 ExtractLaneSVecI8x16 ExtractLaneUVecI8x16 ReplaceLaneVecI8x16 SplatVecI16x8 ExtractLaneSVecI16x8 ExtractLaneUVecI16x8 ReplaceLaneVecI16x8 SplatVecI32x4 ExtractLaneVecI32x4 ReplaceLaneVecI32x4 SplatVecI64x2 ExtractLaneVecI64x2 ReplaceLaneVecI64x2 SplatVecF32x4 ExtractLaneVecF32x4 ReplaceLaneVecF32x4 SplatVecF64x2 ExtractLaneVecF64x2 ReplaceLaneVecF64x2 EqVecI8x16 NeVecI8x16 LtSVecI8x16 LtUVecI8x16 GtSVecI8x16 GtUVecI8x16 LeSVecI8x16 LeUVecI8x16 GeSVecI8x16 GeUVecI8x16 EqVecI16x8 NeVecI16x8 LtSVecI16x8 LtUVecI16x8 GtSVecI16x8 GtUVecI16x8 LeSVecI16x8 LeUVecI16x8 GeSVecI16x8 GeUVecI16x8 EqVecI32x4 NeVecI32x4 LtSVecI32x4 LtUVecI32x4 GtSVecI32x4 GtUVecI32x4 LeSVecI32x4 LeUVecI32x4 GeSVecI32x4 GeUVecI32x4 EqVecI64x2 NeVecI64x2 LtSVecI64x2 GtSVecI64x2 LeSVecI64x2 GeSVecI64x2 EqVecF32x4 NeVecF32x4 LtVecF32x4 GtVecF32x4 LeVecF32x4 GeVecF32x4 EqVecF64x2 NeVecF64x2 LtVecF64x2 GtVecF64x2 LeVecF64x2 GeVecF64x2 NotVec128 AndVec128 OrVec128 XorVec128 AndNotVec128 BitselectVec128 RelaxedFmaVecF32x4 RelaxedFmsVecF32x4 RelaxedFmaVecF64x2 RelaxedFmsVecF64x2 LaneselectI8x16 LaneselectI16x8 LaneselectI32x4 LaneselectI64x2 DotI8x16I7x16AddSToVecI32x4 AnyTrueVec128 PopcntVecI8x16 AbsVecI8x16 NegVecI8x16 AllTrueVecI8x16 BitmaskVecI8x16 ShlVecI8x16 ShrSVecI8x16 ShrUVecI8x16 AddVecI8x16 AddSatSVecI8x16 AddSatUVecI8x16 SubVecI8x16 SubSatSVecI8x16 SubSatUVecI8x16 MinSVecI8x16 MinUVecI8x16 MaxSVecI8x16 MaxUVecI8x16 AvgrUVecI8x16 AbsVecI16x8 NegVecI16x8 AllTrueVecI16x8 BitmaskVecI16x8 ShlVecI16x8 ShrSVecI16x8 ShrUVecI16x8 AddVecI16x8 AddSatSVecI16x8 AddSatUVecI16x8 SubVecI16x8 SubSatSVecI16x8 SubSatUVecI16x8 MulVecI16x8 MinSVecI16x8 MinUVecI16x8 MaxSVecI16x8 MaxUVecI16x8 AvgrUVecI16x8 Q15MulrSatSVecI16x8 ExtMulLowSVecI16x8 ExtMulHighSVecI16x8 ExtMulLowUVecI16x8 ExtMulHighUVecI16x8 DotSVecI16x8ToVecI32x4 ExtMulLowSVecI32x4 ExtMulHighSVecI32x4 ExtMulLowUVecI32x4 ExtMulHighUVecI32x4 AbsVecI32x4 NegVecI32x4 AllTrueVecI32x4 BitmaskVecI32x4 ShlVecI32x4 ShrSVecI32x4 ShrUVecI32x4 AddVecI32x4 SubVecI32x4 MulVecI32x4 MinSVecI32x4 MinUVecI32x4 MaxSVecI32x4 MaxUVecI32x4 AbsVecI64x2 NegVecI64x2 AllTrueVecI64x2 BitmaskVecI64x2 ShlVecI64x2 ShrSVecI64x2 ShrUVecI64x2 AddVecI64x2 SubVecI64x2 MulVecI64x2 ExtMulLowSVecI64x2 ExtMulHighSVecI64x2 ExtMulLowUVecI64x2 ExtMulHighUVecI64x2 AbsVecF32x4 NegVecF32x4 SqrtVecF32x4 AddVecF32x4 SubVecF32x4 MulVecF32x4 DivVecF32x4 MinVecF32x4 MaxVecF32x4 PMinVecF32x4 PMaxVecF32x4 CeilVecF32x4 FloorVecF32x4 TruncVecF32x4 NearestVecF32x4 AbsVecF64x2 NegVecF64x2 SqrtVecF64x2 AddVecF64x2 SubVecF64x2 MulVecF64x2 DivVecF64x2 MinVecF64x2 MaxVecF64x2 PMinVecF64x2 PMaxVecF64x2 CeilVecF64x2 FloorVecF64x2 TruncVecF64x2 NearestVecF64x2 ExtAddPairwiseSVecI8x16ToI16x8 ExtAddPairwiseUVecI8x16ToI16x8 ExtAddPairwiseSVecI16x8ToI32x4 ExtAddPairwiseUVecI16x8ToI32x4 TruncSatSVecF32x4ToVecI32x4 TruncSatUVecF32x4ToVecI32x4 ConvertSVecI32x4ToVecF32x4 ConvertUVecI32x4ToVecF32x4 Load8SplatVec128 Load16SplatVec128 Load32SplatVec128 Load64SplatVec128 Load8x8SVec128 Load8x8UVec128 Load16x4SVec128 Load16x4UVec128 Load32x2SVec128 Load32x2UVec128 Load32ZeroVec128 Load64ZeroVec128 Load8LaneVec128 Load16LaneVec128 Load32LaneVec128 Load64LaneVec128 Store8LaneVec128 Store16LaneVec128 Store32LaneVec128 Store64LaneVec128 NarrowSVecI16x8ToVecI8x16 NarrowUVecI16x8ToVecI8x16 NarrowSVecI32x4ToVecI16x8 NarrowUVecI32x4ToVecI16x8 ExtendLowSVecI8x16ToVecI16x8 ExtendHighSVecI8x16ToVecI16x8 ExtendLowUVecI8x16ToVecI16x8 ExtendHighUVecI8x16ToVecI16x8 ExtendLowSVecI16x8ToVecI32x4 ExtendHighSVecI16x8ToVecI32x4 ExtendLowUVecI16x8ToVecI32x4 ExtendHighUVecI16x8ToVecI32x4 ExtendLowSVecI32x4ToVecI64x2 ExtendHighSVecI32x4ToVecI64x2 ExtendLowUVecI32x4ToVecI64x2 ExtendHighUVecI32x4ToVecI64x2 ConvertLowSVecI32x4ToVecF64x2 ConvertLowUVecI32x4ToVecF64x2 TruncSatZeroSVecF64x2ToVecI32x4 TruncSatZeroUVecF64x2ToVecI32x4 DemoteZeroVecF64x2ToVecF32x4 PromoteLowVecF32x4ToVecF64x2 RelaxedTruncSVecF32x4ToVecI32x4 RelaxedTruncUVecF32x4ToVecI32x4 RelaxedTruncZeroSVecF64x2ToVecI32x4 RelaxedTruncZeroUVecF64x2ToVecI32x4 SwizzleVecI8x16 RelaxedSwizzleVecI8x16 RelaxedMinVecF32x4 RelaxedMaxVecF32x4 RelaxedMinVecF64x2 RelaxedMaxVecF64x2 RelaxedQ15MulrSVecI16x8 DotI8x16I7x16SToVecI16x8 RefAsNonNull RefAsExternInternalize RefAsExternExternalize BrOnNull BrOnNonNull BrOnCast BrOnCastFail StringNewUTF8 StringNewWTF8 StringNewLossyUTF8 StringNewWTF16 StringNewUTF8Array StringNewWTF8Array StringNewLossyUTF8Array StringNewWTF16Array StringNewFromCodePoint StringMeasureUTF8 StringMeasureWTF8 StringMeasureWTF16 StringMeasureIsUSV StringMeasureWTF16View StringEncodeUTF8 StringEncodeLossyUTF8 StringEncodeWTF8 StringEncodeWTF16 StringEncodeUTF8Array StringEncodeLossyUTF8Array StringEncodeWTF8Array StringEncodeWTF16Array StringAsWTF8 StringAsWTF16 StringAsIter StringIterMoveAdvance StringIterMoveRewind StringSliceWTF8 StringSliceWTF16 StringEqEqual StringEqCompare".split(" ").forEach(g=>{A.Operations[g]=A[g]=A["_Binaryen"+g]()}),A.SideEffects={},"None Branches Calls ReadsLocal WritesLocal ReadsGlobal WritesGlobal ReadsMemory WritesMemory ReadsTable WritesTable ImplicitTrap IsAtomic Throws DanglingPop TrapsNeverHappen Any".split(" ").forEach(g=>{A.SideEffects[g]=A["_BinaryenSideEffect"+g]()}),A.ExpressionRunner.Flags={Default:A._ExpressionRunnerFlagsDefault(),PreserveSideeffects:A._ExpressionRunnerFlagsPreserveSideeffects(),TraverseCalls:A._ExpressionRunnerFlagsTraverseCalls()}}A.Module=function(g){!g||T(),dA(A._BinaryenModuleCreate(),this)};function dA(g,I={}){g||T(),I.ptr=g;let E=lg();return I.block=function(Q,C,D){return k(()=>A._BinaryenBlock(g,Q?o(Q):0,q(C),C.length,typeof D!="undefined"?D:A.none))},I.if=function(Q,C,D){return A._BinaryenIf(g,Q,C,D)},I.loop=function(Q,C){return k(()=>A._BinaryenLoop(g,o(Q),C))},I.break=I.br=function(Q,C,D){return k(()=>A._BinaryenBreak(g,o(Q),C,D))},I.br_if=function(Q,C,D){return I.br(Q,C,D)},I.switch=function(Q,C,D,i){return k(()=>A._BinaryenSwitch(g,q(Q.map(o)),Q.length,o(C),D,i))},I.call=function(Q,C,D){return k(()=>A._BinaryenCall(g,o(Q),q(C),C.length,D))},I.callIndirect=I.call_indirect=function(Q,C,D,i,N){return k(()=>A._BinaryenCallIndirect(g,o(Q),C,q(D),D.length,i,N))},I.returnCall=I.return_call=function(Q,C,D){return k(()=>A._BinaryenReturnCall(g,o(Q),q(C),C.length,D))},I.returnCallIndirect=I.return_call_indirect=function(Q,C,D,i,N){return k(()=>A._BinaryenReturnCallIndirect(g,o(Q),C,q(D),D.length,i,N))},I.local={get:function(Q,C){return A._BinaryenLocalGet(g,Q,C)},set:function(Q,C){return A._BinaryenLocalSet(g,Q,C)},tee:function(Q,C,D){if(typeof D=="undefined")throw Error("local.tee's type should be defined");return A._BinaryenLocalTee(g,Q,C,D)}},I.global={get:function(Q,C){return A._BinaryenGlobalGet(g,o(Q),C)},set:function(Q,C){return A._BinaryenGlobalSet(g,o(Q),C)}},I.table={get:function(Q,C,D){return A._BinaryenTableGet(g,o(Q),C,D)},set:function(Q,C,D){return A._BinaryenTableSet(g,o(Q),C,D)},size:function(Q){return A._BinaryenTableSize(g,o(Q))},grow:function(Q,C,D){return A._BinaryenTableGrow(g,o(Q),C,D)}},I.memory={size:function(Q,C){return A._BinaryenMemorySize(g,o(Q),C)},grow:function(Q,C,D){return A._BinaryenMemoryGrow(g,Q,o(C),D)},init:function(Q,C,D,i,N){return k(()=>A._BinaryenMemoryInit(g,o(Q),C,D,i,o(N)))},copy:function(Q,C,D,i,N){return A._BinaryenMemoryCopy(g,Q,C,D,o(i),o(N))},fill:function(Q,C,D,i){return A._BinaryenMemoryFill(g,Q,C,D,o(i))},atomic:{notify:function(Q,C,D){return A._BinaryenAtomicNotify(g,Q,C,o(D))},wait32:function(Q,C,D,i){return A._BinaryenAtomicWait(g,Q,C,D,A.i32,o(i))},wait64:function(Q,C,D,i){return A._BinaryenAtomicWait(g,Q,C,D,A.i64,o(i))}}},I.data={drop:function(Q){return k(()=>A._BinaryenDataDrop(g,o(Q)))}},I.i32={load:function(Q,C,D,i){return A._BinaryenLoad(g,4,!0,Q,C,A.i32,D,o(i))},load8_s:function(Q,C,D,i){return A._BinaryenLoad(g,1,!0,Q,C,A.i32,D,o(i))},load8_u:function(Q,C,D,i){return A._BinaryenLoad(g,1,!1,Q,C,A.i32,D,o(i))},load16_s:function(Q,C,D,i){return A._BinaryenLoad(g,2,!0,Q,C,A.i32,D,o(i))},load16_u:function(Q,C,D,i){return A._BinaryenLoad(g,2,!1,Q,C,A.i32,D,o(i))},store:function(Q,C,D,i,N){return A._BinaryenStore(g,4,Q,C,D,i,A.i32,o(N))},store8:function(Q,C,D,i,N){return A._BinaryenStore(g,1,Q,C,D,i,A.i32,o(N))},store16:function(Q,C,D,i,N){return A._BinaryenStore(g,2,Q,C,D,i,A.i32,o(N))},const(Q){return k(()=>{let C=Z(E);return A._BinaryenLiteralInt32(C,Q),A._BinaryenConst(g,C)})},clz:function(Q){return A._BinaryenUnary(g,A.ClzInt32,Q)},ctz:function(Q){return A._BinaryenUnary(g,A.CtzInt32,Q)},popcnt:function(Q){return A._BinaryenUnary(g,A.PopcntInt32,Q)},eqz:function(Q){return A._BinaryenUnary(g,A.EqZInt32,Q)},trunc_s:{f32:function(Q){return A._BinaryenUnary(g,A.TruncSFloat32ToInt32,Q)},f64:function(Q){return A._BinaryenUnary(g,A.TruncSFloat64ToInt32,Q)}},trunc_u:{f32:function(Q){return A._BinaryenUnary(g,A.TruncUFloat32ToInt32,Q)},f64:function(Q){return A._BinaryenUnary(g,A.TruncUFloat64ToInt32,Q)}},trunc_s_sat:{f32:function(Q){return A._BinaryenUnary(g,A.TruncSatSFloat32ToInt32,Q)},f64:function(Q){return A._BinaryenUnary(g,A.TruncSatSFloat64ToInt32,Q)}},trunc_u_sat:{f32:function(Q){return A._BinaryenUnary(g,A.TruncSatUFloat32ToInt32,Q)},f64:function(Q){return A._BinaryenUnary(g,A.TruncSatUFloat64ToInt32,Q)}},reinterpret:function(Q){return A._BinaryenUnary(g,A.ReinterpretFloat32,Q)},extend8_s:function(Q){return A._BinaryenUnary(g,A.ExtendS8Int32,Q)},extend16_s:function(Q){return A._BinaryenUnary(g,A.ExtendS16Int32,Q)},wrap:function(Q){return A._BinaryenUnary(g,A.WrapInt64,Q)},add:function(Q,C){return A._BinaryenBinary(g,A.AddInt32,Q,C)},sub:function(Q,C){return A._BinaryenBinary(g,A.SubInt32,Q,C)},mul:function(Q,C){return A._BinaryenBinary(g,A.MulInt32,Q,C)},div_s:function(Q,C){return A._BinaryenBinary(g,A.DivSInt32,Q,C)},div_u:function(Q,C){return A._BinaryenBinary(g,A.DivUInt32,Q,C)},rem_s:function(Q,C){return A._BinaryenBinary(g,A.RemSInt32,Q,C)},rem_u:function(Q,C){return A._BinaryenBinary(g,A.RemUInt32,Q,C)},and:function(Q,C){return A._BinaryenBinary(g,A.AndInt32,Q,C)},or:function(Q,C){return A._BinaryenBinary(g,A.OrInt32,Q,C)},xor:function(Q,C){return A._BinaryenBinary(g,A.XorInt32,Q,C)},shl:function(Q,C){return A._BinaryenBinary(g,A.ShlInt32,Q,C)},shr_u:function(Q,C){return A._BinaryenBinary(g,A.ShrUInt32,Q,C)},shr_s:function(Q,C){return A._BinaryenBinary(g,A.ShrSInt32,Q,C)},rotl:function(Q,C){return A._BinaryenBinary(g,A.RotLInt32,Q,C)},rotr:function(Q,C){return A._BinaryenBinary(g,A.RotRInt32,Q,C)},eq:function(Q,C){return A._BinaryenBinary(g,A.EqInt32,Q,C)},ne:function(Q,C){return A._BinaryenBinary(g,A.NeInt32,Q,C)},lt_s:function(Q,C){return A._BinaryenBinary(g,A.LtSInt32,Q,C)},lt_u:function(Q,C){return A._BinaryenBinary(g,A.LtUInt32,Q,C)},le_s:function(Q,C){return A._BinaryenBinary(g,A.LeSInt32,Q,C)},le_u:function(Q,C){return A._BinaryenBinary(g,A.LeUInt32,Q,C)},gt_s:function(Q,C){return A._BinaryenBinary(g,A.GtSInt32,Q,C)},gt_u:function(Q,C){return A._BinaryenBinary(g,A.GtUInt32,Q,C)},ge_s:function(Q,C){return A._BinaryenBinary(g,A.GeSInt32,Q,C)},ge_u:function(Q,C){return A._BinaryenBinary(g,A.GeUInt32,Q,C)},atomic:{load:function(Q,C,D){return A._BinaryenAtomicLoad(g,4,Q,A.i32,C,o(D))},load8_u:function(Q,C,D){return A._BinaryenAtomicLoad(g,1,Q,A.i32,C,o(D))},load16_u:function(Q,C,D){return A._BinaryenAtomicLoad(g,2,Q,A.i32,C,o(D))},store:function(Q,C,D,i){return A._BinaryenAtomicStore(g,4,Q,C,D,A.i32,o(i))},store8:function(Q,C,D,i){return A._BinaryenAtomicStore(g,1,Q,C,D,A.i32,o(i))},store16:function(Q,C,D,i){return A._BinaryenAtomicStore(g,2,Q,C,D,A.i32,o(i))},rmw:{add:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWAdd,4,Q,C,D,A.i32,o(i))},sub:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWSub,4,Q,C,D,A.i32,o(i))},and:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWAnd,4,Q,C,D,A.i32,o(i))},or:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWOr,4,Q,C,D,A.i32,o(i))},xor:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWXor,4,Q,C,D,A.i32,o(i))},xchg:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWXchg,4,Q,C,D,A.i32,o(i))},cmpxchg:function(Q,C,D,i,N){return A._BinaryenAtomicCmpxchg(g,4,Q,C,D,i,A.i32,o(N))}},rmw8_u:{add:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWAdd,1,Q,C,D,A.i32,o(i))},sub:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWSub,1,Q,C,D,A.i32,o(i))},and:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWAnd,1,Q,C,D,A.i32,o(i))},or:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWOr,1,Q,C,D,A.i32,o(i))},xor:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWXor,1,Q,C,D,A.i32,o(i))},xchg:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWXchg,1,Q,C,D,A.i32,o(i))},cmpxchg:function(Q,C,D,i,N){return A._BinaryenAtomicCmpxchg(g,1,Q,C,D,i,A.i32,o(N))}},rmw16_u:{add:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWAdd,2,Q,C,D,A.i32,o(i))},sub:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWSub,2,Q,C,D,A.i32,o(i))},and:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWAnd,2,Q,C,D,A.i32,o(i))},or:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWOr,2,Q,C,D,A.i32,o(i))},xor:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWXor,2,Q,C,D,A.i32,o(i))},xchg:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWXchg,2,Q,C,D,A.i32,o(i))},cmpxchg:function(Q,C,D,i,N){return A._BinaryenAtomicCmpxchg(g,2,Q,C,D,i,A.i32,o(N))}}},pop:function(){return A._BinaryenPop(g,A.i32)}},I.i64={load:function(Q,C,D,i){return A._BinaryenLoad(g,8,!0,Q,C,A.i64,D,o(i))},load8_s:function(Q,C,D,i){return A._BinaryenLoad(g,1,!0,Q,C,A.i64,D,o(i))},load8_u:function(Q,C,D,i){return A._BinaryenLoad(g,1,!1,Q,C,A.i64,D,o(i))},load16_s:function(Q,C,D,i){return A._BinaryenLoad(g,2,!0,Q,C,A.i64,D,o(i))},load16_u:function(Q,C,D,i){return A._BinaryenLoad(g,2,!1,Q,C,A.i64,D,o(i))},load32_s:function(Q,C,D,i){return A._BinaryenLoad(g,4,!0,Q,C,A.i64,D,o(i))},load32_u:function(Q,C,D,i){return A._BinaryenLoad(g,4,!1,Q,C,A.i64,D,o(i))},store:function(Q,C,D,i,N){return A._BinaryenStore(g,8,Q,C,D,i,A.i64,o(N))},store8:function(Q,C,D,i,N){return A._BinaryenStore(g,1,Q,C,D,i,A.i64,o(N))},store16:function(Q,C,D,i,N){return A._BinaryenStore(g,2,Q,C,D,i,A.i64,o(N))},store32:function(Q,C,D,i,N){return A._BinaryenStore(g,4,Q,C,D,i,A.i64,o(N))},const(Q,C){return k(()=>{let D=Z(E);return A._BinaryenLiteralInt64(D,Q,C),A._BinaryenConst(g,D)})},clz:function(Q){return A._BinaryenUnary(g,A.ClzInt64,Q)},ctz:function(Q){return A._BinaryenUnary(g,A.CtzInt64,Q)},popcnt:function(Q){return A._BinaryenUnary(g,A.PopcntInt64,Q)},eqz:function(Q){return A._BinaryenUnary(g,A.EqZInt64,Q)},trunc_s:{f32:function(Q){return A._BinaryenUnary(g,A.TruncSFloat32ToInt64,Q)},f64:function(Q){return A._BinaryenUnary(g,A.TruncSFloat64ToInt64,Q)}},trunc_u:{f32:function(Q){return A._BinaryenUnary(g,A.TruncUFloat32ToInt64,Q)},f64:function(Q){return A._BinaryenUnary(g,A.TruncUFloat64ToInt64,Q)}},trunc_s_sat:{f32:function(Q){return A._BinaryenUnary(g,A.TruncSatSFloat32ToInt64,Q)},f64:function(Q){return A._BinaryenUnary(g,A.TruncSatSFloat64ToInt64,Q)}},trunc_u_sat:{f32:function(Q){return A._BinaryenUnary(g,A.TruncSatUFloat32ToInt64,Q)},f64:function(Q){return A._BinaryenUnary(g,A.TruncSatUFloat64ToInt64,Q)}},reinterpret:function(Q){return A._BinaryenUnary(g,A.ReinterpretFloat64,Q)},extend8_s:function(Q){return A._BinaryenUnary(g,A.ExtendS8Int64,Q)},extend16_s:function(Q){return A._BinaryenUnary(g,A.ExtendS16Int64,Q)},extend32_s:function(Q){return A._BinaryenUnary(g,A.ExtendS32Int64,Q)},extend_s:function(Q){return A._BinaryenUnary(g,A.ExtendSInt32,Q)},extend_u:function(Q){return A._BinaryenUnary(g,A.ExtendUInt32,Q)},add:function(Q,C){return A._BinaryenBinary(g,A.AddInt64,Q,C)},sub:function(Q,C){return A._BinaryenBinary(g,A.SubInt64,Q,C)},mul:function(Q,C){return A._BinaryenBinary(g,A.MulInt64,Q,C)},div_s:function(Q,C){return A._BinaryenBinary(g,A.DivSInt64,Q,C)},div_u:function(Q,C){return A._BinaryenBinary(g,A.DivUInt64,Q,C)},rem_s:function(Q,C){return A._BinaryenBinary(g,A.RemSInt64,Q,C)},rem_u:function(Q,C){return A._BinaryenBinary(g,A.RemUInt64,Q,C)},and:function(Q,C){return A._BinaryenBinary(g,A.AndInt64,Q,C)},or:function(Q,C){return A._BinaryenBinary(g,A.OrInt64,Q,C)},xor:function(Q,C){return A._BinaryenBinary(g,A.XorInt64,Q,C)},shl:function(Q,C){return A._BinaryenBinary(g,A.ShlInt64,Q,C)},shr_u:function(Q,C){return A._BinaryenBinary(g,A.ShrUInt64,Q,C)},shr_s:function(Q,C){return A._BinaryenBinary(g,A.ShrSInt64,Q,C)},rotl:function(Q,C){return A._BinaryenBinary(g,A.RotLInt64,Q,C)},rotr:function(Q,C){return A._BinaryenBinary(g,A.RotRInt64,Q,C)},eq:function(Q,C){return A._BinaryenBinary(g,A.EqInt64,Q,C)},ne:function(Q,C){return A._BinaryenBinary(g,A.NeInt64,Q,C)},lt_s:function(Q,C){return A._BinaryenBinary(g,A.LtSInt64,Q,C)},lt_u:function(Q,C){return A._BinaryenBinary(g,A.LtUInt64,Q,C)},le_s:function(Q,C){return A._BinaryenBinary(g,A.LeSInt64,Q,C)},le_u:function(Q,C){return A._BinaryenBinary(g,A.LeUInt64,Q,C)},gt_s:function(Q,C){return A._BinaryenBinary(g,A.GtSInt64,Q,C)},gt_u:function(Q,C){return A._BinaryenBinary(g,A.GtUInt64,Q,C)},ge_s:function(Q,C){return A._BinaryenBinary(g,A.GeSInt64,Q,C)},ge_u:function(Q,C){return A._BinaryenBinary(g,A.GeUInt64,Q,C)},atomic:{load:function(Q,C,D){return A._BinaryenAtomicLoad(g,8,Q,A.i64,C,o(D))},load8_u:function(Q,C,D){return A._BinaryenAtomicLoad(g,1,Q,A.i64,C,o(D))},load16_u:function(Q,C,D){return A._BinaryenAtomicLoad(g,2,Q,A.i64,C,o(D))},load32_u:function(Q,C,D){return A._BinaryenAtomicLoad(g,4,Q,A.i64,C,o(D))},store:function(Q,C,D,i){return A._BinaryenAtomicStore(g,8,Q,C,D,A.i64,o(i))},store8:function(Q,C,D,i){return A._BinaryenAtomicStore(g,1,Q,C,D,A.i64,o(i))},store16:function(Q,C,D,i){return A._BinaryenAtomicStore(g,2,Q,C,D,A.i64,o(i))},store32:function(Q,C,D,i){return A._BinaryenAtomicStore(g,4,Q,C,D,A.i64,o(i))},rmw:{add:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWAdd,8,Q,C,D,A.i64,o(i))},sub:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWSub,8,Q,C,D,A.i64,o(i))},and:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWAnd,8,Q,C,D,A.i64,o(i))},or:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWOr,8,Q,C,D,A.i64,o(i))},xor:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWXor,8,Q,C,D,A.i64,o(i))},xchg:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWXchg,8,Q,C,D,A.i64,o(i))},cmpxchg:function(Q,C,D,i,N){return A._BinaryenAtomicCmpxchg(g,8,Q,C,D,i,A.i64,o(N))}},rmw8_u:{add:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWAdd,1,Q,C,D,A.i64,o(i))},sub:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWSub,1,Q,C,D,A.i64,o(i))},and:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWAnd,1,Q,C,D,A.i64,o(i))},or:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWOr,1,Q,C,D,A.i64,o(i))},xor:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWXor,1,Q,C,D,A.i64,o(i))},xchg:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWXchg,1,Q,C,D,A.i64,o(i))},cmpxchg:function(Q,C,D,i,N){return A._BinaryenAtomicCmpxchg(g,1,Q,C,D,i,A.i64,o(N))}},rmw16_u:{add:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWAdd,2,Q,C,D,A.i64,o(i))},sub:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWSub,2,Q,C,D,A.i64,o(i))},and:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWAnd,2,Q,C,D,A.i64,o(i))},or:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWOr,2,Q,C,D,A.i64,o(i))},xor:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWXor,2,Q,C,D,A.i64,o(i))},xchg:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWXchg,2,Q,C,D,A.i64,o(i))},cmpxchg:function(Q,C,D,i,N){return A._BinaryenAtomicCmpxchg(g,2,Q,C,D,i,A.i64,o(N))}},rmw32_u:{add:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWAdd,4,Q,C,D,A.i64,o(i))},sub:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWSub,4,Q,C,D,A.i64,o(i))},and:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWAnd,4,Q,C,D,A.i64,o(i))},or:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWOr,4,Q,C,D,A.i64,o(i))},xor:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWXor,4,Q,C,D,A.i64,o(i))},xchg:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWXchg,4,Q,C,D,A.i64,o(i))},cmpxchg:function(Q,C,D,i,N){return A._BinaryenAtomicCmpxchg(g,4,Q,C,D,i,A.i64,o(N))}}},pop:function(){return A._BinaryenPop(g,A.i64)}},I.f32={load:function(Q,C,D,i){return A._BinaryenLoad(g,4,!0,Q,C,A.f32,D,o(i))},store:function(Q,C,D,i,N){return A._BinaryenStore(g,4,Q,C,D,i,A.f32,o(N))},const(Q){return k(()=>{let C=Z(E);return A._BinaryenLiteralFloat32(C,Q),A._BinaryenConst(g,C)})},const_bits:function(Q){return k(()=>{let C=Z(E);return A._BinaryenLiteralFloat32Bits(C,Q),A._BinaryenConst(g,C)})},neg:function(Q){return A._BinaryenUnary(g,A.NegFloat32,Q)},abs:function(Q){return A._BinaryenUnary(g,A.AbsFloat32,Q)},ceil:function(Q){return A._BinaryenUnary(g,A.CeilFloat32,Q)},floor:function(Q){return A._BinaryenUnary(g,A.FloorFloat32,Q)},trunc:function(Q){return A._BinaryenUnary(g,A.TruncFloat32,Q)},nearest:function(Q){return A._BinaryenUnary(g,A.NearestFloat32,Q)},sqrt:function(Q){return A._BinaryenUnary(g,A.SqrtFloat32,Q)},reinterpret:function(Q){return A._BinaryenUnary(g,A.ReinterpretInt32,Q)},convert_s:{i32:function(Q){return A._BinaryenUnary(g,A.ConvertSInt32ToFloat32,Q)},i64:function(Q){return A._BinaryenUnary(g,A.ConvertSInt64ToFloat32,Q)}},convert_u:{i32:function(Q){return A._BinaryenUnary(g,A.ConvertUInt32ToFloat32,Q)},i64:function(Q){return A._BinaryenUnary(g,A.ConvertUInt64ToFloat32,Q)}},demote:function(Q){return A._BinaryenUnary(g,A.DemoteFloat64,Q)},add:function(Q,C){return A._BinaryenBinary(g,A.AddFloat32,Q,C)},sub:function(Q,C){return A._BinaryenBinary(g,A.SubFloat32,Q,C)},mul:function(Q,C){return A._BinaryenBinary(g,A.MulFloat32,Q,C)},div:function(Q,C){return A._BinaryenBinary(g,A.DivFloat32,Q,C)},copysign:function(Q,C){return A._BinaryenBinary(g,A.CopySignFloat32,Q,C)},min:function(Q,C){return A._BinaryenBinary(g,A.MinFloat32,Q,C)},max:function(Q,C){return A._BinaryenBinary(g,A.MaxFloat32,Q,C)},eq:function(Q,C){return A._BinaryenBinary(g,A.EqFloat32,Q,C)},ne:function(Q,C){return A._BinaryenBinary(g,A.NeFloat32,Q,C)},lt:function(Q,C){return A._BinaryenBinary(g,A.LtFloat32,Q,C)},le:function(Q,C){return A._BinaryenBinary(g,A.LeFloat32,Q,C)},gt:function(Q,C){return A._BinaryenBinary(g,A.GtFloat32,Q,C)},ge:function(Q,C){return A._BinaryenBinary(g,A.GeFloat32,Q,C)},pop:function(){return A._BinaryenPop(g,A.f32)}},I.f64={load:function(Q,C,D,i){return A._BinaryenLoad(g,8,!0,Q,C,A.f64,D,o(i))},store:function(Q,C,D,i,N){return A._BinaryenStore(g,8,Q,C,D,i,A.f64,o(N))},const(Q){return k(()=>{let C=Z(E);return A._BinaryenLiteralFloat64(C,Q),A._BinaryenConst(g,C)})},const_bits:function(Q,C){return k(()=>{let D=Z(E);return A._BinaryenLiteralFloat64Bits(D,Q,C),A._BinaryenConst(g,D)})},neg:function(Q){return A._BinaryenUnary(g,A.NegFloat64,Q)},abs:function(Q){return A._BinaryenUnary(g,A.AbsFloat64,Q)},ceil:function(Q){return A._BinaryenUnary(g,A.CeilFloat64,Q)},floor:function(Q){return A._BinaryenUnary(g,A.FloorFloat64,Q)},trunc:function(Q){return A._BinaryenUnary(g,A.TruncFloat64,Q)},nearest:function(Q){return A._BinaryenUnary(g,A.NearestFloat64,Q)},sqrt:function(Q){return A._BinaryenUnary(g,A.SqrtFloat64,Q)},reinterpret:function(Q){return A._BinaryenUnary(g,A.ReinterpretInt64,Q)},convert_s:{i32:function(Q){return A._BinaryenUnary(g,A.ConvertSInt32ToFloat64,Q)},i64:function(Q){return A._BinaryenUnary(g,A.ConvertSInt64ToFloat64,Q)}},convert_u:{i32:function(Q){return A._BinaryenUnary(g,A.ConvertUInt32ToFloat64,Q)},i64:function(Q){return A._BinaryenUnary(g,A.ConvertUInt64ToFloat64,Q)}},promote:function(Q){return A._BinaryenUnary(g,A.PromoteFloat32,Q)},add:function(Q,C){return A._BinaryenBinary(g,A.AddFloat64,Q,C)},sub:function(Q,C){return A._BinaryenBinary(g,A.SubFloat64,Q,C)},mul:function(Q,C){return A._BinaryenBinary(g,A.MulFloat64,Q,C)},div:function(Q,C){return A._BinaryenBinary(g,A.DivFloat64,Q,C)},copysign:function(Q,C){return A._BinaryenBinary(g,A.CopySignFloat64,Q,C)},min:function(Q,C){return A._BinaryenBinary(g,A.MinFloat64,Q,C)},max:function(Q,C){return A._BinaryenBinary(g,A.MaxFloat64,Q,C)},eq:function(Q,C){return A._BinaryenBinary(g,A.EqFloat64,Q,C)},ne:function(Q,C){return A._BinaryenBinary(g,A.NeFloat64,Q,C)},lt:function(Q,C){return A._BinaryenBinary(g,A.LtFloat64,Q,C)},le:function(Q,C){return A._BinaryenBinary(g,A.LeFloat64,Q,C)},gt:function(Q,C){return A._BinaryenBinary(g,A.GtFloat64,Q,C)},ge:function(Q,C){return A._BinaryenBinary(g,A.GeFloat64,Q,C)},pop:function(){return A._BinaryenPop(g,A.f64)}},I.v128={load:function(Q,C,D,i){return A._BinaryenLoad(g,16,!1,Q,C,A.v128,D,o(i))},load8_splat:function(Q,C,D,i){return A._BinaryenSIMDLoad(g,A.Load8SplatVec128,Q,C,D,o(i))},load16_splat:function(Q,C,D,i){return A._BinaryenSIMDLoad(g,A.Load16SplatVec128,Q,C,D,o(i))},load32_splat:function(Q,C,D,i){return A._BinaryenSIMDLoad(g,A.Load32SplatVec128,Q,C,D,o(i))},load64_splat:function(Q,C,D,i){return A._BinaryenSIMDLoad(g,A.Load64SplatVec128,Q,C,D,o(i))},load8x8_s:function(Q,C,D,i){return A._BinaryenSIMDLoad(g,A.Load8x8SVec128,Q,C,D,o(i))},load8x8_u:function(Q,C,D,i){return A._BinaryenSIMDLoad(g,A.Load8x8UVec128,Q,C,D,o(i))},load16x4_s:function(Q,C,D,i){return A._BinaryenSIMDLoad(g,A.Load16x4SVec128,Q,C,D,o(i))},load16x4_u:function(Q,C,D,i){return A._BinaryenSIMDLoad(g,A.Load16x4UVec128,Q,C,D,o(i))},load32x2_s:function(Q,C,D,i){return A._BinaryenSIMDLoad(g,A.Load32x2SVec128,Q,C,D,o(i))},load32x2_u:function(Q,C,D,i){return A._BinaryenSIMDLoad(g,A.Load32x2UVec128,Q,C,D,o(i))},load32_zero:function(Q,C,D,i){return A._BinaryenSIMDLoad(g,A.Load32ZeroVec128,Q,C,D,o(i))},load64_zero:function(Q,C,D,i){return A._BinaryenSIMDLoad(g,A.Load64ZeroVec128,Q,C,D,o(i))},load8_lane:function(Q,C,D,i,N,R){return A._BinaryenSIMDLoadStoreLane(g,A.Load8LaneVec128,Q,C,D,i,N,o(R))},load16_lane:function(Q,C,D,i,N,R){return A._BinaryenSIMDLoadStoreLane(g,A.Load16LaneVec128,Q,C,D,i,N,o(R))},load32_lane:function(Q,C,D,i,N,R){return A._BinaryenSIMDLoadStoreLane(g,A.Load32LaneVec128,Q,C,D,i,N,o(R))},load64_lane:function(Q,C,D,i,N,R){return A._BinaryenSIMDLoadStoreLane(g,A.Load64LaneVec128,Q,C,D,i,N,o(R))},store8_lane:function(Q,C,D,i,N,R){return A._BinaryenSIMDLoadStoreLane(g,A.Store8LaneVec128,Q,C,D,i,N,o(R))},store16_lane:function(Q,C,D,i,N,R){return A._BinaryenSIMDLoadStoreLane(g,A.Store16LaneVec128,Q,C,D,i,N,o(R))},store32_lane:function(Q,C,D,i,N,R){return A._BinaryenSIMDLoadStoreLane(g,A.Store32LaneVec128,Q,C,D,i,N,o(R))},store64_lane:function(Q,C,D,i,N,R){return A._BinaryenSIMDLoadStoreLane(g,A.Store64LaneVec128,Q,C,D,i,N,o(R))},store:function(Q,C,D,i,N){return A._BinaryenStore(g,16,Q,C,D,i,A.v128,o(N))},const(Q){return k(()=>{let C=Z(E);return A._BinaryenLiteralVec128(C,aA(Q)),A._BinaryenConst(g,C)})},not:function(Q){return A._BinaryenUnary(g,A.NotVec128,Q)},any_true:function(Q){return A._BinaryenUnary(g,A.AnyTrueVec128,Q)},and:function(Q,C){return A._BinaryenBinary(g,A.AndVec128,Q,C)},or:function(Q,C){return A._BinaryenBinary(g,A.OrVec128,Q,C)},xor:function(Q,C){return A._BinaryenBinary(g,A.XorVec128,Q,C)},andnot:function(Q,C){return A._BinaryenBinary(g,A.AndNotVec128,Q,C)},bitselect:function(Q,C,D){return A._BinaryenSIMDTernary(g,A.BitselectVec128,Q,C,D)},pop:function(){return A._BinaryenPop(g,A.v128)}},I.i8x16={shuffle:function(Q,C,D){return k(()=>A._BinaryenSIMDShuffle(g,Q,C,aA(D)))},swizzle:function(Q,C){return A._BinaryenBinary(g,A.SwizzleVecI8x16,Q,C)},splat:function(Q){return A._BinaryenUnary(g,A.SplatVecI8x16,Q)},extract_lane_s:function(Q,C){return A._BinaryenSIMDExtract(g,A.ExtractLaneSVecI8x16,Q,C)},extract_lane_u:function(Q,C){return A._BinaryenSIMDExtract(g,A.ExtractLaneUVecI8x16,Q,C)},replace_lane:function(Q,C,D){return A._BinaryenSIMDReplace(g,A.ReplaceLaneVecI8x16,Q,C,D)},eq:function(Q,C){return A._BinaryenBinary(g,A.EqVecI8x16,Q,C)},ne:function(Q,C){return A._BinaryenBinary(g,A.NeVecI8x16,Q,C)},lt_s:function(Q,C){return A._BinaryenBinary(g,A.LtSVecI8x16,Q,C)},lt_u:function(Q,C){return A._BinaryenBinary(g,A.LtUVecI8x16,Q,C)},gt_s:function(Q,C){return A._BinaryenBinary(g,A.GtSVecI8x16,Q,C)},gt_u:function(Q,C){return A._BinaryenBinary(g,A.GtUVecI8x16,Q,C)},le_s:function(Q,C){return A._BinaryenBinary(g,A.LeSVecI8x16,Q,C)},le_u:function(Q,C){return A._BinaryenBinary(g,A.LeUVecI8x16,Q,C)},ge_s:function(Q,C){return A._BinaryenBinary(g,A.GeSVecI8x16,Q,C)},ge_u:function(Q,C){return A._BinaryenBinary(g,A.GeUVecI8x16,Q,C)},abs:function(Q){return A._BinaryenUnary(g,A.AbsVecI8x16,Q)},neg:function(Q){return A._BinaryenUnary(g,A.NegVecI8x16,Q)},all_true:function(Q){return A._BinaryenUnary(g,A.AllTrueVecI8x16,Q)},bitmask:function(Q){return A._BinaryenUnary(g,A.BitmaskVecI8x16,Q)},popcnt:function(Q){return A._BinaryenUnary(g,A.PopcntVecI8x16,Q)},shl:function(Q,C){return A._BinaryenSIMDShift(g,A.ShlVecI8x16,Q,C)},shr_s:function(Q,C){return A._BinaryenSIMDShift(g,A.ShrSVecI8x16,Q,C)},shr_u:function(Q,C){return A._BinaryenSIMDShift(g,A.ShrUVecI8x16,Q,C)},add:function(Q,C){return A._BinaryenBinary(g,A.AddVecI8x16,Q,C)},add_saturate_s:function(Q,C){return A._BinaryenBinary(g,A.AddSatSVecI8x16,Q,C)},add_saturate_u:function(Q,C){return A._BinaryenBinary(g,A.AddSatUVecI8x16,Q,C)},sub:function(Q,C){return A._BinaryenBinary(g,A.SubVecI8x16,Q,C)},sub_saturate_s:function(Q,C){return A._BinaryenBinary(g,A.SubSatSVecI8x16,Q,C)},sub_saturate_u:function(Q,C){return A._BinaryenBinary(g,A.SubSatUVecI8x16,Q,C)},min_s:function(Q,C){return A._BinaryenBinary(g,A.MinSVecI8x16,Q,C)},min_u:function(Q,C){return A._BinaryenBinary(g,A.MinUVecI8x16,Q,C)},max_s:function(Q,C){return A._BinaryenBinary(g,A.MaxSVecI8x16,Q,C)},max_u:function(Q,C){return A._BinaryenBinary(g,A.MaxUVecI8x16,Q,C)},avgr_u:function(Q,C){return A._BinaryenBinary(g,A.AvgrUVecI8x16,Q,C)},narrow_i16x8_s:function(Q,C){return A._BinaryenBinary(g,A.NarrowSVecI16x8ToVecI8x16,Q,C)},narrow_i16x8_u:function(Q,C){return A._BinaryenBinary(g,A.NarrowUVecI16x8ToVecI8x16,Q,C)}},I.i16x8={splat:function(Q){return A._BinaryenUnary(g,A.SplatVecI16x8,Q)},extract_lane_s:function(Q,C){return A._BinaryenSIMDExtract(g,A.ExtractLaneSVecI16x8,Q,C)},extract_lane_u:function(Q,C){return A._BinaryenSIMDExtract(g,A.ExtractLaneUVecI16x8,Q,C)},replace_lane:function(Q,C,D){return A._BinaryenSIMDReplace(g,A.ReplaceLaneVecI16x8,Q,C,D)},eq:function(Q,C){return A._BinaryenBinary(g,A.EqVecI16x8,Q,C)},ne:function(Q,C){return A._BinaryenBinary(g,A.NeVecI16x8,Q,C)},lt_s:function(Q,C){return A._BinaryenBinary(g,A.LtSVecI16x8,Q,C)},lt_u:function(Q,C){return A._BinaryenBinary(g,A.LtUVecI16x8,Q,C)},gt_s:function(Q,C){return A._BinaryenBinary(g,A.GtSVecI16x8,Q,C)},gt_u:function(Q,C){return A._BinaryenBinary(g,A.GtUVecI16x8,Q,C)},le_s:function(Q,C){return A._BinaryenBinary(g,A.LeSVecI16x8,Q,C)},le_u:function(Q,C){return A._BinaryenBinary(g,A.LeUVecI16x8,Q,C)},ge_s:function(Q,C){return A._BinaryenBinary(g,A.GeSVecI16x8,Q,C)},ge_u:function(Q,C){return A._BinaryenBinary(g,A.GeUVecI16x8,Q,C)},abs:function(Q){return A._BinaryenUnary(g,A.AbsVecI16x8,Q)},neg:function(Q){return A._BinaryenUnary(g,A.NegVecI16x8,Q)},all_true:function(Q){return A._BinaryenUnary(g,A.AllTrueVecI16x8,Q)},bitmask:function(Q){return A._BinaryenUnary(g,A.BitmaskVecI16x8,Q)},shl:function(Q,C){return A._BinaryenSIMDShift(g,A.ShlVecI16x8,Q,C)},shr_s:function(Q,C){return A._BinaryenSIMDShift(g,A.ShrSVecI16x8,Q,C)},shr_u:function(Q,C){return A._BinaryenSIMDShift(g,A.ShrUVecI16x8,Q,C)},add:function(Q,C){return A._BinaryenBinary(g,A.AddVecI16x8,Q,C)},add_saturate_s:function(Q,C){return A._BinaryenBinary(g,A.AddSatSVecI16x8,Q,C)},add_saturate_u:function(Q,C){return A._BinaryenBinary(g,A.AddSatUVecI16x8,Q,C)},sub:function(Q,C){return A._BinaryenBinary(g,A.SubVecI16x8,Q,C)},sub_saturate_s:function(Q,C){return A._BinaryenBinary(g,A.SubSatSVecI16x8,Q,C)},sub_saturate_u:function(Q,C){return A._BinaryenBinary(g,A.SubSatUVecI16x8,Q,C)},mul:function(Q,C){return A._BinaryenBinary(g,A.MulVecI16x8,Q,C)},min_s:function(Q,C){return A._BinaryenBinary(g,A.MinSVecI16x8,Q,C)},min_u:function(Q,C){return A._BinaryenBinary(g,A.MinUVecI16x8,Q,C)},max_s:function(Q,C){return A._BinaryenBinary(g,A.MaxSVecI16x8,Q,C)},max_u:function(Q,C){return A._BinaryenBinary(g,A.MaxUVecI16x8,Q,C)},avgr_u:function(Q,C){return A._BinaryenBinary(g,A.AvgrUVecI16x8,Q,C)},q15mulr_sat_s:function(Q,C){return A._BinaryenBinary(g,A.Q15MulrSatSVecI16x8,Q,C)},extmul_low_i8x16_s:function(Q,C){return A._BinaryenBinary(g,A.ExtMulLowSVecI16x8,Q,C)},extmul_high_i8x16_s:function(Q,C){return A._BinaryenBinary(g,A.ExtMulHighSVecI16x8,Q,C)},extmul_low_i8x16_u:function(Q,C){return A._BinaryenBinary(g,A.ExtMulLowUVecI16x8,Q,C)},extmul_high_i8x16_u:function(Q,C){return A._BinaryenBinary(g,A.ExtMulHighUVecI16x8,Q,C)},extadd_pairwise_i8x16_s:function(Q){return A._BinaryenUnary(g,A.ExtAddPairwiseSVecI8x16ToI16x8,Q)},extadd_pairwise_i8x16_u:function(Q){return A._BinaryenUnary(g,A.ExtAddPairwiseUVecI8x16ToI16x8,Q)},narrow_i32x4_s:function(Q,C){return A._BinaryenBinary(g,A.NarrowSVecI32x4ToVecI16x8,Q,C)},narrow_i32x4_u:function(Q,C){return A._BinaryenBinary(g,A.NarrowUVecI32x4ToVecI16x8,Q,C)},extend_low_i8x16_s:function(Q){return A._BinaryenUnary(g,A.ExtendLowSVecI8x16ToVecI16x8,Q)},extend_high_i8x16_s:function(Q){return A._BinaryenUnary(g,A.ExtendHighSVecI8x16ToVecI16x8,Q)},extend_low_i8x16_u:function(Q){return A._BinaryenUnary(g,A.ExtendLowUVecI8x16ToVecI16x8,Q)},extend_high_i8x16_u:function(Q){return A._BinaryenUnary(g,A.ExtendHighUVecI8x16ToVecI16x8,Q)}},I.i32x4={splat:function(Q){return A._BinaryenUnary(g,A.SplatVecI32x4,Q)},extract_lane:function(Q,C){return A._BinaryenSIMDExtract(g,A.ExtractLaneVecI32x4,Q,C)},replace_lane:function(Q,C,D){return A._BinaryenSIMDReplace(g,A.ReplaceLaneVecI32x4,Q,C,D)},eq:function(Q,C){return A._BinaryenBinary(g,A.EqVecI32x4,Q,C)},ne:function(Q,C){return A._BinaryenBinary(g,A.NeVecI32x4,Q,C)},lt_s:function(Q,C){return A._BinaryenBinary(g,A.LtSVecI32x4,Q,C)},lt_u:function(Q,C){return A._BinaryenBinary(g,A.LtUVecI32x4,Q,C)},gt_s:function(Q,C){return A._BinaryenBinary(g,A.GtSVecI32x4,Q,C)},gt_u:function(Q,C){return A._BinaryenBinary(g,A.GtUVecI32x4,Q,C)},le_s:function(Q,C){return A._BinaryenBinary(g,A.LeSVecI32x4,Q,C)},le_u:function(Q,C){return A._BinaryenBinary(g,A.LeUVecI32x4,Q,C)},ge_s:function(Q,C){return A._BinaryenBinary(g,A.GeSVecI32x4,Q,C)},ge_u:function(Q,C){return A._BinaryenBinary(g,A.GeUVecI32x4,Q,C)},abs:function(Q){return A._BinaryenUnary(g,A.AbsVecI32x4,Q)},neg:function(Q){return A._BinaryenUnary(g,A.NegVecI32x4,Q)},all_true:function(Q){return A._BinaryenUnary(g,A.AllTrueVecI32x4,Q)},bitmask:function(Q){return A._BinaryenUnary(g,A.BitmaskVecI32x4,Q)},shl:function(Q,C){return A._BinaryenSIMDShift(g,A.ShlVecI32x4,Q,C)},shr_s:function(Q,C){return A._BinaryenSIMDShift(g,A.ShrSVecI32x4,Q,C)},shr_u:function(Q,C){return A._BinaryenSIMDShift(g,A.ShrUVecI32x4,Q,C)},add:function(Q,C){return A._BinaryenBinary(g,A.AddVecI32x4,Q,C)},sub:function(Q,C){return A._BinaryenBinary(g,A.SubVecI32x4,Q,C)},mul:function(Q,C){return A._BinaryenBinary(g,A.MulVecI32x4,Q,C)},min_s:function(Q,C){return A._BinaryenBinary(g,A.MinSVecI32x4,Q,C)},min_u:function(Q,C){return A._BinaryenBinary(g,A.MinUVecI32x4,Q,C)},max_s:function(Q,C){return A._BinaryenBinary(g,A.MaxSVecI32x4,Q,C)},max_u:function(Q,C){return A._BinaryenBinary(g,A.MaxUVecI32x4,Q,C)},dot_i16x8_s:function(Q,C){return A._BinaryenBinary(g,A.DotSVecI16x8ToVecI32x4,Q,C)},extmul_low_i16x8_s:function(Q,C){return A._BinaryenBinary(g,A.ExtMulLowSVecI32x4,Q,C)},extmul_high_i16x8_s:function(Q,C){return A._BinaryenBinary(g,A.ExtMulHighSVecI32x4,Q,C)},extmul_low_i16x8_u:function(Q,C){return A._BinaryenBinary(g,A.ExtMulLowUVecI32x4,Q,C)},extmul_high_i16x8_u:function(Q,C){return A._BinaryenBinary(g,A.ExtMulHighUVecI32x4,Q,C)},extadd_pairwise_i16x8_s:function(Q){return A._BinaryenUnary(g,A.ExtAddPairwiseSVecI16x8ToI32x4,Q)},extadd_pairwise_i16x8_u:function(Q){return A._BinaryenUnary(g,A.ExtAddPairwiseUVecI16x8ToI32x4,Q)},trunc_sat_f32x4_s:function(Q){return A._BinaryenUnary(g,A.TruncSatSVecF32x4ToVecI32x4,Q)},trunc_sat_f32x4_u:function(Q){return A._BinaryenUnary(g,A.TruncSatUVecF32x4ToVecI32x4,Q)},extend_low_i16x8_s:function(Q){return A._BinaryenUnary(g,A.ExtendLowSVecI16x8ToVecI32x4,Q)},extend_high_i16x8_s:function(Q){return A._BinaryenUnary(g,A.ExtendHighSVecI16x8ToVecI32x4,Q)},extend_low_i16x8_u:function(Q){return A._BinaryenUnary(g,A.ExtendLowUVecI16x8ToVecI32x4,Q)},extend_high_i16x8_u:function(Q){return A._BinaryenUnary(g,A.ExtendHighUVecI16x8ToVecI32x4,Q)},trunc_sat_f64x2_s_zero:function(Q){return A._BinaryenUnary(g,A.TruncSatZeroSVecF64x2ToVecI32x4,Q)},trunc_sat_f64x2_u_zero:function(Q){return A._BinaryenUnary(g,A.TruncSatZeroUVecF64x2ToVecI32x4,Q)}},I.i64x2={splat:function(Q){return A._BinaryenUnary(g,A.SplatVecI64x2,Q)},extract_lane:function(Q,C){return A._BinaryenSIMDExtract(g,A.ExtractLaneVecI64x2,Q,C)},replace_lane:function(Q,C,D){return A._BinaryenSIMDReplace(g,A.ReplaceLaneVecI64x2,Q,C,D)},eq:function(Q,C){return A._BinaryenBinary(g,A.EqVecI64x2,Q,C)},ne:function(Q,C){return A._BinaryenBinary(g,A.NeVecI64x2,Q,C)},lt_s:function(Q,C){return A._BinaryenBinary(g,A.LtSVecI64x2,Q,C)},gt_s:function(Q,C){return A._BinaryenBinary(g,A.GtSVecI64x2,Q,C)},le_s:function(Q,C){return A._BinaryenBinary(g,A.LeSVecI64x2,Q,C)},ge_s:function(Q,C){return A._BinaryenBinary(g,A.GeSVecI64x2,Q,C)},abs:function(Q){return A._BinaryenUnary(g,A.AbsVecI64x2,Q)},neg:function(Q){return A._BinaryenUnary(g,A.NegVecI64x2,Q)},all_true:function(Q){return A._BinaryenUnary(g,A.AllTrueVecI64x2,Q)},bitmask:function(Q){return A._BinaryenUnary(g,A.BitmaskVecI64x2,Q)},shl:function(Q,C){return A._BinaryenSIMDShift(g,A.ShlVecI64x2,Q,C)},shr_s:function(Q,C){return A._BinaryenSIMDShift(g,A.ShrSVecI64x2,Q,C)},shr_u:function(Q,C){return A._BinaryenSIMDShift(g,A.ShrUVecI64x2,Q,C)},add:function(Q,C){return A._BinaryenBinary(g,A.AddVecI64x2,Q,C)},sub:function(Q,C){return A._BinaryenBinary(g,A.SubVecI64x2,Q,C)},mul:function(Q,C){return A._BinaryenBinary(g,A.MulVecI64x2,Q,C)},extmul_low_i32x4_s:function(Q,C){return A._BinaryenBinary(g,A.ExtMulLowSVecI64x2,Q,C)},extmul_high_i32x4_s:function(Q,C){return A._BinaryenBinary(g,A.ExtMulHighSVecI64x2,Q,C)},extmul_low_i32x4_u:function(Q,C){return A._BinaryenBinary(g,A.ExtMulLowUVecI64x2,Q,C)},extmul_high_i32x4_u:function(Q,C){return A._BinaryenBinary(g,A.ExtMulHighUVecI64x2,Q,C)},extend_low_i32x4_s:function(Q){return A._BinaryenUnary(g,A.ExtendLowSVecI32x4ToVecI64x2,Q)},extend_high_i32x4_s:function(Q){return A._BinaryenUnary(g,A.ExtendHighSVecI32x4ToVecI64x2,Q)},extend_low_i32x4_u:function(Q){return A._BinaryenUnary(g,A.ExtendLowUVecI32x4ToVecI64x2,Q)},extend_high_i32x4_u:function(Q){return A._BinaryenUnary(g,A.ExtendHighUVecI32x4ToVecI64x2,Q)}},I.f32x4={splat:function(Q){return A._BinaryenUnary(g,A.SplatVecF32x4,Q)},extract_lane:function(Q,C){return A._BinaryenSIMDExtract(g,A.ExtractLaneVecF32x4,Q,C)},replace_lane:function(Q,C,D){return A._BinaryenSIMDReplace(g,A.ReplaceLaneVecF32x4,Q,C,D)},eq:function(Q,C){return A._BinaryenBinary(g,A.EqVecF32x4,Q,C)},ne:function(Q,C){return A._BinaryenBinary(g,A.NeVecF32x4,Q,C)},lt:function(Q,C){return A._BinaryenBinary(g,A.LtVecF32x4,Q,C)},gt:function(Q,C){return A._BinaryenBinary(g,A.GtVecF32x4,Q,C)},le:function(Q,C){return A._BinaryenBinary(g,A.LeVecF32x4,Q,C)},ge:function(Q,C){return A._BinaryenBinary(g,A.GeVecF32x4,Q,C)},abs:function(Q){return A._BinaryenUnary(g,A.AbsVecF32x4,Q)},neg:function(Q){return A._BinaryenUnary(g,A.NegVecF32x4,Q)},sqrt:function(Q){return A._BinaryenUnary(g,A.SqrtVecF32x4,Q)},add:function(Q,C){return A._BinaryenBinary(g,A.AddVecF32x4,Q,C)},sub:function(Q,C){return A._BinaryenBinary(g,A.SubVecF32x4,Q,C)},mul:function(Q,C){return A._BinaryenBinary(g,A.MulVecF32x4,Q,C)},div:function(Q,C){return A._BinaryenBinary(g,A.DivVecF32x4,Q,C)},min:function(Q,C){return A._BinaryenBinary(g,A.MinVecF32x4,Q,C)},max:function(Q,C){return A._BinaryenBinary(g,A.MaxVecF32x4,Q,C)},pmin:function(Q,C){return A._BinaryenBinary(g,A.PMinVecF32x4,Q,C)},pmax:function(Q,C){return A._BinaryenBinary(g,A.PMaxVecF32x4,Q,C)},ceil:function(Q){return A._BinaryenUnary(g,A.CeilVecF32x4,Q)},floor:function(Q){return A._BinaryenUnary(g,A.FloorVecF32x4,Q)},trunc:function(Q){return A._BinaryenUnary(g,A.TruncVecF32x4,Q)},nearest:function(Q){return A._BinaryenUnary(g,A.NearestVecF32x4,Q)},convert_i32x4_s:function(Q){return A._BinaryenUnary(g,A.ConvertSVecI32x4ToVecF32x4,Q)},convert_i32x4_u:function(Q){return A._BinaryenUnary(g,A.ConvertUVecI32x4ToVecF32x4,Q)},demote_f64x2_zero:function(Q){return A._BinaryenUnary(g,A.DemoteZeroVecF64x2ToVecF32x4,Q)}},I.f64x2={splat:function(Q){return A._BinaryenUnary(g,A.SplatVecF64x2,Q)},extract_lane:function(Q,C){return A._BinaryenSIMDExtract(g,A.ExtractLaneVecF64x2,Q,C)},replace_lane:function(Q,C,D){return A._BinaryenSIMDReplace(g,A.ReplaceLaneVecF64x2,Q,C,D)},eq:function(Q,C){return A._BinaryenBinary(g,A.EqVecF64x2,Q,C)},ne:function(Q,C){return A._BinaryenBinary(g,A.NeVecF64x2,Q,C)},lt:function(Q,C){return A._BinaryenBinary(g,A.LtVecF64x2,Q,C)},gt:function(Q,C){return A._BinaryenBinary(g,A.GtVecF64x2,Q,C)},le:function(Q,C){return A._BinaryenBinary(g,A.LeVecF64x2,Q,C)},ge:function(Q,C){return A._BinaryenBinary(g,A.GeVecF64x2,Q,C)},abs:function(Q){return A._BinaryenUnary(g,A.AbsVecF64x2,Q)},neg:function(Q){return A._BinaryenUnary(g,A.NegVecF64x2,Q)},sqrt:function(Q){return A._BinaryenUnary(g,A.SqrtVecF64x2,Q)},add:function(Q,C){return A._BinaryenBinary(g,A.AddVecF64x2,Q,C)},sub:function(Q,C){return A._BinaryenBinary(g,A.SubVecF64x2,Q,C)},mul:function(Q,C){return A._BinaryenBinary(g,A.MulVecF64x2,Q,C)},div:function(Q,C){return A._BinaryenBinary(g,A.DivVecF64x2,Q,C)},min:function(Q,C){return A._BinaryenBinary(g,A.MinVecF64x2,Q,C)},max:function(Q,C){return A._BinaryenBinary(g,A.MaxVecF64x2,Q,C)},pmin:function(Q,C){return A._BinaryenBinary(g,A.PMinVecF64x2,Q,C)},pmax:function(Q,C){return A._BinaryenBinary(g,A.PMaxVecF64x2,Q,C)},ceil:function(Q){return A._BinaryenUnary(g,A.CeilVecF64x2,Q)},floor:function(Q){return A._BinaryenUnary(g,A.FloorVecF64x2,Q)},trunc:function(Q){return A._BinaryenUnary(g,A.TruncVecF64x2,Q)},nearest:function(Q){return A._BinaryenUnary(g,A.NearestVecF64x2,Q)},convert_low_i32x4_s:function(Q){return A._BinaryenUnary(g,A.ConvertLowSVecI32x4ToVecF64x2,Q)},convert_low_i32x4_u:function(Q){return A._BinaryenUnary(g,A.ConvertLowUVecI32x4ToVecF64x2,Q)},promote_low_f32x4:function(Q){return A._BinaryenUnary(g,A.PromoteLowVecF32x4ToVecF64x2,Q)}},I.funcref={pop:function(){return A._BinaryenPop(g,A.funcref)}},I.externref={pop:function(){return A._BinaryenPop(g,A.externref)}},I.anyref={pop:function(){return A._BinaryenPop(g,A.anyref)}},I.eqref={pop:function(){return A._BinaryenPop(g,A.eqref)}},I.i31ref={pop:function(){return A._BinaryenPop(g,A.i31ref)}},I.structref={pop:function(){return A._BinaryenPop(g,A.structref)}},I.stringref={pop:function(){return A._BinaryenPop(g,A.stringref)}},I.stringview_wtf8={pop:function(){return A._BinaryenPop(g,A.stringview_wtf8)}},I.stringview_wtf16={pop:function(){return A._BinaryenPop(g,A.stringview_wtf16)}},I.stringview_iter={pop:function(){return A._BinaryenPop(g,A.stringview_iter)}},I.ref={null(Q){return A._BinaryenRefNull(g,Q)},is_null:function(Q){return A._BinaryenRefIsNull(g,Q)},as_non_null:function(Q){return A._BinaryenRefAs(g,A.RefAsNonNull,Q)},func:function(Q,C){return k(()=>A._BinaryenRefFunc(g,o(Q),C))},i31:function(Q){return A._BinaryenRefI31(g,Q)},eq:function(Q,C){return A._BinaryenRefEq(g,Q,C)}},I.select=function(Q,C,D,i){return A._BinaryenSelect(g,Q,C,D,typeof i!="undefined"?i:A.auto)},I.drop=function(Q){return A._BinaryenDrop(g,Q)},I.return=function(Q){return A._BinaryenReturn(g,Q)},I.nop=function(){return A._BinaryenNop(g)},I.unreachable=function(){return A._BinaryenUnreachable(g)},I.atomic={fence:function(){return A._BinaryenAtomicFence(g)}},I.try=function(Q,C,D,i,N){return k(()=>A._BinaryenTry(g,Q?o(Q):0,C,q(D.map(o)),D.length,q(i),i.length,N?o(N):0))},I.throw=function(Q,C){return k(()=>A._BinaryenThrow(g,o(Q),q(C),C.length))},I.rethrow=function(Q){return A._BinaryenRethrow(g,o(Q))},I.tuple={make:function(Q){return k(()=>A._BinaryenTupleMake(g,q(Q),Q.length))},extract:function(Q,C){return A._BinaryenTupleExtract(g,Q,C)}},I.i31={get_s:function(Q){return A._BinaryenI31Get(g,Q,1)},get_u:function(Q){return A._BinaryenI31Get(g,Q,0)}},I.addFunction=function(Q,C,D,i,N){return k(()=>A._BinaryenAddFunction(g,o(Q),C,D,q(i),i.length,N))},I.getFunction=function(Q){return k(()=>A._BinaryenGetFunction(g,o(Q)))},I.removeFunction=function(Q){return k(()=>A._BinaryenRemoveFunction(g,o(Q)))},I.addGlobal=function(Q,C,D,i){return k(()=>A._BinaryenAddGlobal(g,o(Q),C,D,i))},I.getGlobal=function(Q){return k(()=>A._BinaryenGetGlobal(g,o(Q)))},I.addTable=function(Q,C,D,i=A._BinaryenTypeFuncref()){return k(()=>A._BinaryenAddTable(g,o(Q),C,D,i))},I.getTable=function(Q){return k(()=>A._BinaryenGetTable(g,o(Q)))},I.addActiveElementSegment=function(Q,C,D,i=I.i32.const(0)){return k(()=>A._BinaryenAddActiveElementSegment(g,o(Q),o(C),q(D.map(o)),D.length,i))},I.addPassiveElementSegment=function(Q,C){return k(()=>A._BinaryenAddPassiveElementSegment(g,o(Q),q(C.map(o)),C.length))},I.getElementSegment=function(Q){return k(()=>A._BinaryenGetElementSegment(g,o(Q)))},I.getTableSegments=function(Q){var C=A._BinaryenGetNumElementSegments(g);Q=F(A._BinaryenTableGetName(Q));for(var D=[],i=0;iA._BinaryenRemoveGlobal(g,o(Q)))},I.removeTable=function(Q){return k(()=>A._BinaryenRemoveTable(g,o(Q)))},I.removeElementSegment=function(Q){return k(()=>A._BinaryenRemoveElementSegment(g,o(Q)))},I.addTag=function(Q,C,D){return k(()=>A._BinaryenAddTag(g,o(Q),C,D))},I.getTag=function(Q){return k(()=>A._BinaryenGetTag(g,o(Q)))},I.removeTag=function(Q){return k(()=>A._BinaryenRemoveTag(g,o(Q)))},I.addFunctionImport=function(Q,C,D,i,N){return k(()=>A._BinaryenAddFunctionImport(g,o(Q),o(C),o(D),i,N))},I.addTableImport=function(Q,C,D){return k(()=>A._BinaryenAddTableImport(g,o(Q),o(C),o(D)))},I.addMemoryImport=function(Q,C,D,i){return k(()=>A._BinaryenAddMemoryImport(g,o(Q),o(C),o(D),i))},I.addGlobalImport=function(Q,C,D,i,N){return k(()=>A._BinaryenAddGlobalImport(g,o(Q),o(C),o(D),i,N))},I.addTagImport=function(Q,C,D,i,N){return k(()=>A._BinaryenAddTagImport(g,o(Q),o(C),o(D),i,N))},I.addExport=I.addFunctionExport=function(Q,C){return k(()=>A._BinaryenAddFunctionExport(g,o(Q),o(C)))},I.addTableExport=function(Q,C){return k(()=>A._BinaryenAddTableExport(g,o(Q),o(C)))},I.addMemoryExport=function(Q,C){return k(()=>A._BinaryenAddMemoryExport(g,o(Q),o(C)))},I.addGlobalExport=function(Q,C){return k(()=>A._BinaryenAddGlobalExport(g,o(Q),o(C)))},I.addTagExport=function(Q,C){return k(()=>A._BinaryenAddTagExport(g,o(Q),o(C)))},I.removeExport=function(Q){return k(()=>A._BinaryenRemoveExport(g,o(Q)))},I.setMemory=function(Q,C,D,i=[],N=!1,R=!1,U=null){return k(()=>{let S=i.length,h=Array(S);var M=Array(S),w=Array(S);let s=Array(S);for(let y=0;y>>0),M[y]=d.length,w[y]=m,s[y]=n}for(M=A._BinaryenSetMemory(g,Q,C,o(D),q(h),aA(w),q(s),q(M),S,N,R,o(U)),w=0;w>>0,N+i>>>0)),b(N),{offset:D,data:Q.buffer,passive:C}},I.setStart=function(Q){return A._BinaryenSetStart(g,Q)},I.getFeatures=function(){return A._BinaryenModuleGetFeatures(g)},I.setFeatures=function(Q){A._BinaryenModuleSetFeatures(g,Q)},I.addCustomSection=function(Q,C){return k(()=>A._BinaryenAddCustomSection(g,o(Q),aA(C),C.length))},I.getExport=function(Q){return k(()=>A._BinaryenGetExport(g,o(Q)))},I.getNumExports=function(){return A._BinaryenGetNumExports(g)},I.getExportByIndex=function(Q){return A._BinaryenGetExportByIndex(g,Q)},I.getNumFunctions=function(){return A._BinaryenGetNumFunctions(g)},I.getFunctionByIndex=function(Q){return A._BinaryenGetFunctionByIndex(g,Q)},I.getNumGlobals=function(){return A._BinaryenGetNumGlobals(g)},I.getNumTables=function(){return A._BinaryenGetNumTables(g)},I.getNumElementSegments=function(){return A._BinaryenGetNumElementSegments(g)},I.getGlobalByIndex=function(Q){return A._BinaryenGetGlobalByIndex(g,Q)},I.getTableByIndex=function(Q){return A._BinaryenGetTableByIndex(g,Q)},I.getElementSegmentByIndex=function(Q){return A._BinaryenGetElementSegmentByIndex(g,Q)},I.emitText=function(){let Q=A._BinaryenModuleAllocateAndWriteText(g),C=F(Q);return Q&&b(Q),C},I.emitStackIR=function(Q){Q=A._BinaryenModuleAllocateAndWriteStackIR(g,Q);let C=F(Q);return Q&&b(Q),C},I.emitAsmjs=function(){let Q=f,C="";return f=D=>{C+=D+` +`},A._BinaryenModulePrintAsmjs(g),f=Q,C},I.validate=function(){return A._BinaryenModuleValidate(g)},I.optimize=function(){return A._BinaryenModuleOptimize(g)},I.optimizeFunction=function(Q){return typeof Q=="string"&&(Q=I.getFunction(Q)),A._BinaryenFunctionOptimize(Q,g)},I.runPasses=function(Q){return k(()=>A._BinaryenModuleRunPasses(g,q(Q.map(o)),Q.length))},I.runPassesOnFunction=function(Q,C){return typeof Q=="string"&&(Q=I.getFunction(Q)),k(()=>A._BinaryenFunctionRunPasses(Q,g,q(C.map(o)),C.length))},I.autoDrop=function(){return A._BinaryenModuleAutoDrop(g)},I.dispose=function(){A._BinaryenModuleDispose(g)},I.emitBinary=function(Q){return k(()=>{var C=Z(pg());A._BinaryenModuleAllocateAndWrite(C,g,o(Q));let D=a[C>>>2>>>0],i=a[(C>>>2)+1>>>0];C=a[(C>>>2)+2>>>0];try{let N=new Uint8Array(i);return N.set(r.subarray(D>>>0,D+i>>>0)),typeof Q=="undefined"?N:{binary:N,sourceMap:F(C)}}finally{b(D),C&&b(C)}})},I.interpret=function(){return A._BinaryenModuleInterpret(g)},I.addDebugInfoFileName=function(Q){return k(()=>A._BinaryenModuleAddDebugInfoFileName(g,o(Q)))},I.getDebugInfoFileName=function(Q){return F(A._BinaryenModuleGetDebugInfoFileName(g,Q))},I.setDebugLocation=function(Q,C,D,i,N){return A._BinaryenFunctionSetDebugLocation(Q,C,D,i,N)},I.copyExpression=function(Q){return A._BinaryenExpressionCopy(Q,g)},I}A.wrapModule=dA,A.Relooper=function(g){g&&typeof g=="object"&&g.ptr&&g.block&&g.if||T();let I=A._RelooperCreate(g.ptr);this.ptr=I,this.addBlock=function(E){return A._RelooperAddBlock(I,E)},this.addBranch=function(E,Q,C,D){return A._RelooperAddBranch(E,Q,C,D)},this.addBlockWithSwitch=function(E,Q){return A._RelooperAddBlockWithSwitch(I,E,Q)},this.addBranchForSwitch=function(E,Q,C,D){return k(()=>A._RelooperAddBranchForSwitch(E,Q,q(C),C.length,D))},this.renderAndDispose=function(E,Q){return A._RelooperRenderAndDispose(I,E,Q)}},A.ExpressionRunner=function(g,I,E,Q){let C=A._ExpressionRunnerCreate(g.ptr,I,E,Q);this.ptr=C,this.setLocalValue=function(D,i){return!!A._ExpressionRunnerSetLocalValue(C,D,i)},this.setGlobalValue=function(D,i){return k(()=>!!A._ExpressionRunnerSetGlobalValue(C,o(D),i))},this.runAndDispose=function(D){return A._ExpressionRunnerRunAndDispose(C,D)}};function x(g,I,E){I=I(g);let Q=Array(I);for(let C=0;CN;)D(g,--E)}A.getExpressionId=function(g){return A._BinaryenExpressionGetId(g)},A.getExpressionType=function(g){return A._BinaryenExpressionGetType(g)},A.getExpressionInfo=function(g){let I=A._BinaryenExpressionGetId(g),E=A._BinaryenExpressionGetType(g);switch(I){case A.BlockId:return{id:I,type:E,name:F(A._BinaryenBlockGetName(g)),children:x(g,A._BinaryenBlockGetNumChildren,A._BinaryenBlockGetChildAt)};case A.IfId:return{id:I,type:E,condition:A._BinaryenIfGetCondition(g),ifTrue:A._BinaryenIfGetIfTrue(g),ifFalse:A._BinaryenIfGetIfFalse(g)};case A.LoopId:return{id:I,type:E,name:F(A._BinaryenLoopGetName(g)),body:A._BinaryenLoopGetBody(g)};case A.BreakId:return{id:I,type:E,name:F(A._BinaryenBreakGetName(g)),condition:A._BinaryenBreakGetCondition(g),value:A._BinaryenBreakGetValue(g)};case A.SwitchId:return{id:I,type:E,names:x(g,A._BinaryenSwitchGetNumNames,A._BinaryenSwitchGetNameAt).map(C=>F(C)),defaultName:F(A._BinaryenSwitchGetDefaultName(g)),condition:A._BinaryenSwitchGetCondition(g),value:A._BinaryenSwitchGetValue(g)};case A.CallId:return{id:I,type:E,isReturn:!!A._BinaryenCallIsReturn(g),target:F(A._BinaryenCallGetTarget(g)),operands:x(g,A._BinaryenCallGetNumOperands,A._BinaryenCallGetOperandAt)};case A.CallIndirectId:return{id:I,type:E,isReturn:!!A._BinaryenCallIndirectIsReturn(g),target:A._BinaryenCallIndirectGetTarget(g),table:A._BinaryenCallIndirectGetTable(g),operands:x(g,A._BinaryenCallIndirectGetNumOperands,A._BinaryenCallIndirectGetOperandAt)};case A.LocalGetId:return{id:I,type:E,index:A._BinaryenLocalGetGetIndex(g)};case A.LocalSetId:return{id:I,type:E,isTee:!!A._BinaryenLocalSetIsTee(g),index:A._BinaryenLocalSetGetIndex(g),value:A._BinaryenLocalSetGetValue(g)};case A.GlobalGetId:return{id:I,type:E,name:F(A._BinaryenGlobalGetGetName(g))};case A.GlobalSetId:return{id:I,type:E,name:F(A._BinaryenGlobalSetGetName(g)),value:A._BinaryenGlobalSetGetValue(g)};case A.TableGetId:return{id:I,type:E,table:F(A._BinaryenTableGetGetTable(g)),index:A._BinaryenTableGetGetIndex(g)};case A.TableSetId:return{id:I,type:E,table:F(A._BinaryenTableSetGetTable(g)),index:A._BinaryenTableSetGetIndex(g),value:A._BinaryenTableSetGetValue(g)};case A.TableSizeId:return{id:I,type:E,table:F(A._BinaryenTableSizeGetTable(g))};case A.TableGrowId:return{id:I,type:E,table:F(A._BinaryenTableGrowGetTable(g)),value:A._BinaryenTableGrowGetValue(g),delta:A._BinaryenTableGrowGetDelta(g)};case A.LoadId:return{id:I,type:E,isAtomic:!!A._BinaryenLoadIsAtomic(g),isSigned:!!A._BinaryenLoadIsSigned(g),offset:A._BinaryenLoadGetOffset(g),bytes:A._BinaryenLoadGetBytes(g),align:A._BinaryenLoadGetAlign(g),ptr:A._BinaryenLoadGetPtr(g)};case A.StoreId:return{id:I,type:E,isAtomic:!!A._BinaryenStoreIsAtomic(g),offset:A._BinaryenStoreGetOffset(g),bytes:A._BinaryenStoreGetBytes(g),align:A._BinaryenStoreGetAlign(g),ptr:A._BinaryenStoreGetPtr(g),value:A._BinaryenStoreGetValue(g)};case A.ConstId:let Q;switch(E){case A.i32:Q=A._BinaryenConstGetValueI32(g);break;case A.i64:Q={low:A._BinaryenConstGetValueI64Low(g),high:A._BinaryenConstGetValueI64High(g)};break;case A.f32:Q=A._BinaryenConstGetValueF32(g);break;case A.f64:Q=A._BinaryenConstGetValueF64(g);break;case A.v128:k(()=>{let C=Z(16);A._BinaryenConstGetValueV128(g,C),Q=Array(16);for(let D=0;16>D;D++)Q[D]=r[C+D>>>0]});break;default:throw Error("unexpected type: "+E)}return{id:I,type:E,value:Q};case A.UnaryId:return{id:I,type:E,op:A._BinaryenUnaryGetOp(g),value:A._BinaryenUnaryGetValue(g)};case A.BinaryId:return{id:I,type:E,op:A._BinaryenBinaryGetOp(g),left:A._BinaryenBinaryGetLeft(g),right:A._BinaryenBinaryGetRight(g)};case A.SelectId:return{id:I,type:E,ifTrue:A._BinaryenSelectGetIfTrue(g),ifFalse:A._BinaryenSelectGetIfFalse(g),condition:A._BinaryenSelectGetCondition(g)};case A.DropId:return{id:I,type:E,value:A._BinaryenDropGetValue(g)};case A.ReturnId:return{id:I,type:E,value:A._BinaryenReturnGetValue(g)};case A.NopId:case A.UnreachableId:case A.PopId:return{id:I,type:E};case A.MemorySizeId:return{id:I,type:E};case A.MemoryGrowId:return{id:I,type:E,delta:A._BinaryenMemoryGrowGetDelta(g)};case A.AtomicRMWId:return{id:I,type:E,op:A._BinaryenAtomicRMWGetOp(g),bytes:A._BinaryenAtomicRMWGetBytes(g),offset:A._BinaryenAtomicRMWGetOffset(g),ptr:A._BinaryenAtomicRMWGetPtr(g),value:A._BinaryenAtomicRMWGetValue(g)};case A.AtomicCmpxchgId:return{id:I,type:E,bytes:A._BinaryenAtomicCmpxchgGetBytes(g),offset:A._BinaryenAtomicCmpxchgGetOffset(g),ptr:A._BinaryenAtomicCmpxchgGetPtr(g),expected:A._BinaryenAtomicCmpxchgGetExpected(g),replacement:A._BinaryenAtomicCmpxchgGetReplacement(g)};case A.AtomicWaitId:return{id:I,type:E,ptr:A._BinaryenAtomicWaitGetPtr(g),expected:A._BinaryenAtomicWaitGetExpected(g),timeout:A._BinaryenAtomicWaitGetTimeout(g),expectedType:A._BinaryenAtomicWaitGetExpectedType(g)};case A.AtomicNotifyId:return{id:I,type:E,ptr:A._BinaryenAtomicNotifyGetPtr(g),notifyCount:A._BinaryenAtomicNotifyGetNotifyCount(g)};case A.AtomicFenceId:return{id:I,type:E,order:A._BinaryenAtomicFenceGetOrder(g)};case A.SIMDExtractId:return{id:I,type:E,op:A._BinaryenSIMDExtractGetOp(g),vec:A._BinaryenSIMDExtractGetVec(g),index:A._BinaryenSIMDExtractGetIndex(g)};case A.SIMDReplaceId:return{id:I,type:E,op:A._BinaryenSIMDReplaceGetOp(g),vec:A._BinaryenSIMDReplaceGetVec(g),index:A._BinaryenSIMDReplaceGetIndex(g),value:A._BinaryenSIMDReplaceGetValue(g)};case A.SIMDShuffleId:return k(()=>{let C=Z(16);A._BinaryenSIMDShuffleGetMask(g,C);let D=Array(16);for(let i=0;16>i;i++)D[i]=r[C+i>>>0];return{id:I,type:E,left:A._BinaryenSIMDShuffleGetLeft(g),right:A._BinaryenSIMDShuffleGetRight(g),mask:D}});case A.SIMDTernaryId:return{id:I,type:E,op:A._BinaryenSIMDTernaryGetOp(g),a:A._BinaryenSIMDTernaryGetA(g),b:A._BinaryenSIMDTernaryGetB(g),c:A._BinaryenSIMDTernaryGetC(g)};case A.SIMDShiftId:return{id:I,type:E,op:A._BinaryenSIMDShiftGetOp(g),vec:A._BinaryenSIMDShiftGetVec(g),shift:A._BinaryenSIMDShiftGetShift(g)};case A.SIMDLoadId:return{id:I,type:E,op:A._BinaryenSIMDLoadGetOp(g),offset:A._BinaryenSIMDLoadGetOffset(g),align:A._BinaryenSIMDLoadGetAlign(g),ptr:A._BinaryenSIMDLoadGetPtr(g)};case A.SIMDLoadStoreLaneId:return{id:I,type:E,op:A._BinaryenSIMDLoadStoreLaneGetOp(g),offset:A._BinaryenSIMDLoadStoreLaneGetOffset(g),align:A._BinaryenSIMDLoadStoreLaneGetAlign(g),index:A._BinaryenSIMDLoadStoreLaneGetIndex(g),ptr:A._BinaryenSIMDLoadStoreLaneGetPtr(g),vec:A._BinaryenSIMDLoadStoreLaneGetVec(g)};case A.MemoryInitId:return{id:I,segment:F(A._BinaryenMemoryInitGetSegment(g)),dest:A._BinaryenMemoryInitGetDest(g),offset:A._BinaryenMemoryInitGetOffset(g),size:A._BinaryenMemoryInitGetSize(g)};case A.DataDropId:return{id:I,segment:F(A._BinaryenDataDropGetSegment(g))};case A.MemoryCopyId:return{id:I,dest:A._BinaryenMemoryCopyGetDest(g),source:A._BinaryenMemoryCopyGetSource(g),size:A._BinaryenMemoryCopyGetSize(g)};case A.MemoryFillId:return{id:I,dest:A._BinaryenMemoryFillGetDest(g),value:A._BinaryenMemoryFillGetValue(g),size:A._BinaryenMemoryFillGetSize(g)};case A.RefNullId:return{id:I,type:E};case A.RefIsNullId:return{id:I,type:E,value:A._BinaryenRefIsNullGetValue(g)};case A.RefAsId:return{id:I,type:E,op:A._BinaryenRefAsGetOp(g),value:A._BinaryenRefAsGetValue(g)};case A.RefFuncId:return{id:I,type:E,func:F(A._BinaryenRefFuncGetFunc(g))};case A.RefEqId:return{id:I,type:E,left:A._BinaryenRefEqGetLeft(g),right:A._BinaryenRefEqGetRight(g)};case A.TryId:return{id:I,type:E,name:F(A._BinaryenTryGetName(g)),body:A._BinaryenTryGetBody(g),catchTags:x(g,A._BinaryenTryGetNumCatchTags,A._BinaryenTryGetCatchTagAt),catchBodies:x(g,A._BinaryenTryGetNumCatchBodies,A._BinaryenTryGetCatchBodyAt),hasCatchAll:A._BinaryenTryHasCatchAll(g),delegateTarget:F(A._BinaryenTryGetDelegateTarget(g)),isDelegate:A._BinaryenTryIsDelegate(g)};case A.ThrowId:return{id:I,type:E,tag:F(A._BinaryenThrowGetTag(g)),operands:x(g,A._BinaryenThrowGetNumOperands,A._BinaryenThrowGetOperandAt)};case A.RethrowId:return{id:I,type:E,target:F(A._BinaryenRethrowGetTarget(g))};case A.TupleMakeId:return{id:I,type:E,operands:x(g,A._BinaryenTupleMakeGetNumOperands,A._BinaryenTupleMakeGetOperandAt)};case A.TupleExtractId:return{id:I,type:E,tuple:A._BinaryenTupleExtractGetTuple(g),index:A._BinaryenTupleExtractGetIndex(g)};case A.RefI31Id:return{id:I,type:E,value:A._BinaryenRefI31GetValue(g)};case A.I31GetId:return{id:I,type:E,i31:A._BinaryenI31GetGetI31(g),isSigned:!!A._BinaryenI31GetIsSigned(g)};default:throw Error("unexpected id: "+I)}},A.getSideEffects=function(g,I){return I||T(),A._BinaryenExpressionGetSideEffects(g,I.ptr)},A.createType=function(g){return k(()=>A._BinaryenTypeCreate(q(g),g.length))},A.expandType=function(g){return k(()=>{let I=A._BinaryenTypeArity(g),E=Z(I<<2);A._BinaryenTypeExpand(g,E);let Q=Array(I);for(let C=0;C>>2)+C>>>0];return Q})},A.getFunctionInfo=function(g){return{name:F(A._BinaryenFunctionGetName(g)),module:F(A._BinaryenFunctionImportGetModule(g)),base:F(A._BinaryenFunctionImportGetBase(g)),params:A._BinaryenFunctionGetParams(g),results:A._BinaryenFunctionGetResults(g),vars:x(g,A._BinaryenFunctionGetNumVars,A._BinaryenFunctionGetVar),body:A._BinaryenFunctionGetBody(g)}},A.getGlobalInfo=function(g){return{name:F(A._BinaryenGlobalGetName(g)),module:F(A._BinaryenGlobalImportGetModule(g)),base:F(A._BinaryenGlobalImportGetBase(g)),type:A._BinaryenGlobalGetType(g),mutable:!!A._BinaryenGlobalIsMutable(g),init:A._BinaryenGlobalGetInitExpr(g)}},A.getTableInfo=function(g){var I=!!A._BinaryenTableHasMax(g),E={name:F(A._BinaryenTableGetName(g)),module:F(A._BinaryenTableImportGetModule(g)),base:F(A._BinaryenTableImportGetBase(g)),initial:A._BinaryenTableGetInitial(g)};return I&&(E.max=A._BinaryenTableGetMax(g)),E},A.getElementSegmentInfo=function(g){var I=A._BinaryenElementSegmentGetLength(g),E=Array(I);for(let C=0;C!==I;++C){var Q=A._BinaryenElementSegmentGetData(g,C);E[C]=F(Q)}return{name:F(A._BinaryenElementSegmentGetName(g)),table:F(A._BinaryenElementSegmentGetTable(g)),offset:A._BinaryenElementSegmentGetOffset(g),data:E}},A.getTagInfo=function(g){return{name:F(A._BinaryenTagGetName(g)),module:F(A._BinaryenTagImportGetModule(g)),base:F(A._BinaryenTagImportGetBase(g)),params:A._BinaryenTagGetParams(g),results:A._BinaryenTagGetResults(g)}},A.getExportInfo=function(g){return{kind:A._BinaryenExportGetKind(g),name:F(A._BinaryenExportGetName(g)),value:F(A._BinaryenExportGetValue(g))}},A.emitText=function(g){if(typeof g=="object")return g.zC();let I=f,E="";return f=Q=>{E+=Q+` +`},A._BinaryenExpressionPrint(g),f=I,E},Object.defineProperty(A,"readBinary",{writable:!0}),A.readBinary=function(g){let I=NA(g.length);return t.set(g,I>>>0),g=A._BinaryenModuleRead(I,g.length),b(I),dA(g)},A.parseText=function(g){let I=NA(g.length+1);return zA(g,I),g=A._BinaryenModuleParse(I),b(I),dA(g)},A.getOptimizeLevel=function(){return A._BinaryenGetOptimizeLevel()},A.setOptimizeLevel=function(g){A._BinaryenSetOptimizeLevel(g)},A.getShrinkLevel=function(){return A._BinaryenGetShrinkLevel()},A.setShrinkLevel=function(g){A._BinaryenSetShrinkLevel(g)},A.getDebugInfo=function(){return!!A._BinaryenGetDebugInfo()},A.setDebugInfo=function(g){A._BinaryenSetDebugInfo(g)},A.getLowMemoryUnused=function(){return!!A._BinaryenGetLowMemoryUnused()},A.setLowMemoryUnused=function(g){A._BinaryenSetLowMemoryUnused(g)},A.getZeroFilledMemory=function(){return!!A._BinaryenGetZeroFilledMemory()},A.setZeroFilledMemory=function(g){A._BinaryenSetZeroFilledMemory(g)},A.getFastMath=function(){return!!A._BinaryenGetFastMath()},A.setFastMath=function(g){A._BinaryenSetFastMath(g)},A.getPassArgument=function(g){return k(()=>{let I=A._BinaryenGetPassArgument(o(g));return I!==0?F(I):null})},A.setPassArgument=function(g,I){k(()=>{A._BinaryenSetPassArgument(o(g),o(I))})},A.clearPassArguments=function(){A._BinaryenClearPassArguments()},A.getAlwaysInlineMaxSize=function(){return A._BinaryenGetAlwaysInlineMaxSize()},A.setAlwaysInlineMaxSize=function(g){A._BinaryenSetAlwaysInlineMaxSize(g)},A.getFlexibleInlineMaxSize=function(){return A._BinaryenGetFlexibleInlineMaxSize()},A.setFlexibleInlineMaxSize=function(g){A._BinaryenSetFlexibleInlineMaxSize(g)},A.getOneCallerInlineMaxSize=function(){return A._BinaryenGetOneCallerInlineMaxSize()},A.setOneCallerInlineMaxSize=function(g){A._BinaryenSetOneCallerInlineMaxSize(g)},A.getAllowInliningFunctionsWithLoops=function(){return!!A._BinaryenGetAllowInliningFunctionsWithLoops()},A.setAllowInliningFunctionsWithLoops=function(g){A._BinaryenSetAllowInliningFunctionsWithLoops(g)};let v=Symbol();function L(g){function I(E){if(!(this instanceof I))return E?new I(E):null;V.call(this,E)}return Object.assign(I,V),Object.assign(I,g),(I.prototype=Object.create(V.prototype)).constructor=I,vA(I.prototype,g),I}function vA(g,I){Object.keys(I).forEach(E=>{let Q=I[E];if(typeof Q=="function"){g[E]=function(...D){return this.constructor[E](this[v],...D)};var C;if(Q.length===1&&(C=E.match(/^(get|is)/))){C=C[1].length;let D=E.charAt(C).toLowerCase()+E.substring(C+1),i=I["set"+E.substring(C)];Object.defineProperty(g,D,{get(){return Q(this[v])},set(N){if(i)i(this[v],N);else throw Error("property '"+D+"' has no setter")}})}}})}function V(g){if(!g)throw Error("expression reference must not be null");this[v]=g}return V.getId=function(g){return A._BinaryenExpressionGetId(g)},V.getType=function(g){return A._BinaryenExpressionGetType(g)},V.setType=function(g,I){A._BinaryenExpressionSetType(g,I)},V.finalize=function(g){return A._BinaryenExpressionFinalize(g)},V.toText=function(g){return A.emitText(g)},vA(V.prototype,V),V.prototype.valueOf=function(){return this[v]},A.Expression=V,A.Block=L({getName:function(g){return(g=A._BinaryenBlockGetName(g))?F(g):null},setName:function(g,I){k(()=>{A._BinaryenBlockSetName(g,o(I))})},getNumChildren:function(g){return A._BinaryenBlockGetNumChildren(g)},getChildren:function(g){return x(g,A._BinaryenBlockGetNumChildren,A._BinaryenBlockGetChildAt)},setChildren:function(g,I){O(g,I,A._BinaryenBlockGetNumChildren,A._BinaryenBlockSetChildAt,A._BinaryenBlockAppendChild,A._BinaryenBlockRemoveChildAt)},getChildAt:function(g,I){return A._BinaryenBlockGetChildAt(g,I)},setChildAt:function(g,I,E){A._BinaryenBlockSetChildAt(g,I,E)},appendChild:function(g,I){return A._BinaryenBlockAppendChild(g,I)},insertChildAt:function(g,I,E){A._BinaryenBlockInsertChildAt(g,I,E)},removeChildAt:function(g,I){return A._BinaryenBlockRemoveChildAt(g,I)}}),A.If=L({getCondition:function(g){return A._BinaryenIfGetCondition(g)},setCondition:function(g,I){A._BinaryenIfSetCondition(g,I)},getIfTrue:function(g){return A._BinaryenIfGetIfTrue(g)},setIfTrue:function(g,I){A._BinaryenIfSetIfTrue(g,I)},getIfFalse:function(g){return A._BinaryenIfGetIfFalse(g)},setIfFalse:function(g,I){A._BinaryenIfSetIfFalse(g,I)}}),A.Loop=L({getName:function(g){return(g=A._BinaryenLoopGetName(g))?F(g):null},setName:function(g,I){k(()=>{A._BinaryenLoopSetName(g,o(I))})},getBody:function(g){return A._BinaryenLoopGetBody(g)},setBody:function(g,I){A._BinaryenLoopSetBody(g,I)}}),A.Break=L({getName:function(g){return(g=A._BinaryenBreakGetName(g))?F(g):null},setName:function(g,I){k(()=>{A._BinaryenBreakSetName(g,o(I))})},getCondition:function(g){return A._BinaryenBreakGetCondition(g)},setCondition:function(g,I){A._BinaryenBreakSetCondition(g,I)},getValue:function(g){return A._BinaryenBreakGetValue(g)},setValue:function(g,I){A._BinaryenBreakSetValue(g,I)}}),A.Switch=L({getNumNames:function(g){return A._BinaryenSwitchGetNumNames(g)},getNames:function(g){return x(g,A._BinaryenSwitchGetNumNames,A._BinaryenSwitchGetNameAt).map(I=>F(I))},setNames:function(g,I){k(()=>{O(g,I.map(o),A._BinaryenSwitchGetNumNames,A._BinaryenSwitchSetNameAt,A._BinaryenSwitchAppendName,A._BinaryenSwitchRemoveNameAt)})},getDefaultName:function(g){return(g=A._BinaryenSwitchGetDefaultName(g))?F(g):null},setDefaultName:function(g,I){k(()=>{A._BinaryenSwitchSetDefaultName(g,o(I))})},getCondition:function(g){return A._BinaryenSwitchGetCondition(g)},setCondition:function(g,I){A._BinaryenSwitchSetCondition(g,I)},getValue:function(g){return A._BinaryenSwitchGetValue(g)},setValue:function(g,I){A._BinaryenSwitchSetValue(g,I)},getNameAt:function(g,I){return F(A._BinaryenSwitchGetNameAt(g,I))},setNameAt:function(g,I,E){k(()=>{A._BinaryenSwitchSetNameAt(g,I,o(E))})},appendName:function(g,I){k(()=>A._BinaryenSwitchAppendName(g,o(I)))},insertNameAt:function(g,I,E){k(()=>{A._BinaryenSwitchInsertNameAt(g,I,o(E))})},removeNameAt:function(g,I){return F(A._BinaryenSwitchRemoveNameAt(g,I))}}),A.Call=L({getTarget:function(g){return F(A._BinaryenCallGetTarget(g))},setTarget:function(g,I){k(()=>{A._BinaryenCallSetTarget(g,o(I))})},getNumOperands:function(g){return A._BinaryenCallGetNumOperands(g)},getOperands:function(g){return x(g,A._BinaryenCallGetNumOperands,A._BinaryenCallGetOperandAt)},setOperands:function(g,I){O(g,I,A._BinaryenCallGetNumOperands,A._BinaryenCallSetOperandAt,A._BinaryenCallAppendOperand,A._BinaryenCallRemoveOperandAt)},getOperandAt:function(g,I){return A._BinaryenCallGetOperandAt(g,I)},setOperandAt:function(g,I,E){A._BinaryenCallSetOperandAt(g,I,E)},appendOperand:function(g,I){return A._BinaryenCallAppendOperand(g,I)},insertOperandAt:function(g,I,E){A._BinaryenCallInsertOperandAt(g,I,E)},removeOperandAt:function(g,I){return A._BinaryenCallRemoveOperandAt(g,I)},isReturn:function(g){return!!A._BinaryenCallIsReturn(g)},setReturn:function(g,I){A._BinaryenCallSetReturn(g,I)}}),A.CallIndirect=L({getTarget:function(g){return A._BinaryenCallIndirectGetTarget(g)},setTarget:function(g,I){A._BinaryenCallIndirectSetTarget(g,I)},getTable:function(g){return F(A._BinaryenCallIndirectGetTable(g))},setTable:function(g,I){k(()=>{A._BinaryenCallIndirectSetTable(g,o(I))})},getNumOperands:function(g){return A._BinaryenCallIndirectGetNumOperands(g)},getOperands:function(g){return x(g,A._BinaryenCallIndirectGetNumOperands,A._BinaryenCallIndirectGetOperandAt)},setOperands:function(g,I){O(g,I,A._BinaryenCallIndirectGetNumOperands,A._BinaryenCallIndirectSetOperandAt,A._BinaryenCallIndirectAppendOperand,A._BinaryenCallIndirectRemoveOperandAt)},getOperandAt:function(g,I){return A._BinaryenCallIndirectGetOperandAt(g,I)},setOperandAt:function(g,I,E){A._BinaryenCallIndirectSetOperandAt(g,I,E)},appendOperand:function(g,I){return A._BinaryenCallIndirectAppendOperand(g,I)},insertOperandAt:function(g,I,E){A._BinaryenCallIndirectInsertOperandAt(g,I,E)},removeOperandAt:function(g,I){return A._BinaryenCallIndirectRemoveOperandAt(g,I)},isReturn:function(g){return!!A._BinaryenCallIndirectIsReturn(g)},setReturn:function(g,I){A._BinaryenCallIndirectSetReturn(g,I)},getParams:function(g){return A._BinaryenCallIndirectGetParams(g)},setParams:function(g,I){A._BinaryenCallIndirectSetParams(g,I)},getResults:function(g){return A._BinaryenCallIndirectGetResults(g)},setResults:function(g,I){A._BinaryenCallIndirectSetResults(g,I)}}),A.LocalGet=L({getIndex:function(g){return A._BinaryenLocalGetGetIndex(g)},setIndex:function(g,I){A._BinaryenLocalGetSetIndex(g,I)}}),A.LocalSet=L({getIndex:function(g){return A._BinaryenLocalSetGetIndex(g)},setIndex:function(g,I){A._BinaryenLocalSetSetIndex(g,I)},isTee:function(g){return!!A._BinaryenLocalSetIsTee(g)},getValue:function(g){return A._BinaryenLocalSetGetValue(g)},setValue:function(g,I){A._BinaryenLocalSetSetValue(g,I)}}),A.GlobalGet=L({getName:function(g){return F(A._BinaryenGlobalGetGetName(g))},setName:function(g,I){k(()=>{A._BinaryenGlobalGetSetName(g,o(I))})}}),A.GlobalSet=L({getName:function(g){return F(A._BinaryenGlobalSetGetName(g))},setName:function(g,I){k(()=>{A._BinaryenGlobalSetSetName(g,o(I))})},getValue:function(g){return A._BinaryenGlobalSetGetValue(g)},setValue:function(g,I){A._BinaryenGlobalSetSetValue(g,I)}}),A.TableGet=L({getTable:function(g){return F(A._BinaryenTableGetGetTable(g))},setTable:function(g,I){k(()=>{A._BinaryenTableGetSetTable(g,o(I))})},getIndex:function(g){return A._BinaryenTableGetGetIndex(g)},setIndex:function(g,I){A._BinaryenTableGetSetIndex(g,I)}}),A.TableSet=L({getTable:function(g){return F(A._BinaryenTableSetGetTable(g))},setTable:function(g,I){k(()=>{A._BinaryenTableSetSetTable(g,o(I))})},getIndex:function(g){return A._BinaryenTableSetGetIndex(g)},setIndex:function(g,I){A._BinaryenTableSetSetIndex(g,I)},getValue:function(g){return A._BinaryenTableSetGetValue(g)},setValue:function(g,I){A._BinaryenTableSetSetValue(g,I)}}),A.TableSize=L({getTable:function(g){return F(A._BinaryenTableSizeGetTable(g))},setTable:function(g,I){k(()=>{A._BinaryenTableSizeSetTable(g,o(I))})}}),A.TableGrow=L({getTable:function(g){return F(A._BinaryenTableGrowGetTable(g))},setTable:function(g,I){k(()=>{A._BinaryenTableGrowSetTable(g,o(I))})},getValue:function(g){return A._BinaryenTableGrowGetValue(g)},setValue:function(g,I){A._BinaryenTableGrowSetValue(g,I)},getDelta:function(g){return A._BinaryenTableGrowGetDelta(g)},setDelta:function(g,I){A._BinaryenTableGrowSetDelta(g,I)}}),A.MemorySize=L({}),A.MemoryGrow=L({getDelta:function(g){return A._BinaryenMemoryGrowGetDelta(g)},setDelta:function(g,I){A._BinaryenMemoryGrowSetDelta(g,I)}}),A.Load=L({isAtomic:function(g){return!!A._BinaryenLoadIsAtomic(g)},setAtomic:function(g,I){A._BinaryenLoadSetAtomic(g,I)},isSigned:function(g){return!!A._BinaryenLoadIsSigned(g)},setSigned:function(g,I){A._BinaryenLoadSetSigned(g,I)},getOffset:function(g){return A._BinaryenLoadGetOffset(g)},setOffset:function(g,I){A._BinaryenLoadSetOffset(g,I)},getBytes:function(g){return A._BinaryenLoadGetBytes(g)},setBytes:function(g,I){A._BinaryenLoadSetBytes(g,I)},getAlign:function(g){return A._BinaryenLoadGetAlign(g)},setAlign:function(g,I){A._BinaryenLoadSetAlign(g,I)},getPtr:function(g){return A._BinaryenLoadGetPtr(g)},setPtr:function(g,I){A._BinaryenLoadSetPtr(g,I)}}),A.Store=L({isAtomic:function(g){return!!A._BinaryenStoreIsAtomic(g)},setAtomic:function(g,I){A._BinaryenStoreSetAtomic(g,I)},getBytes:function(g){return A._BinaryenStoreGetBytes(g)},setBytes:function(g,I){A._BinaryenStoreSetBytes(g,I)},getOffset:function(g){return A._BinaryenStoreGetOffset(g)},setOffset:function(g,I){A._BinaryenStoreSetOffset(g,I)},getAlign:function(g){return A._BinaryenStoreGetAlign(g)},setAlign:function(g,I){A._BinaryenStoreSetAlign(g,I)},getPtr:function(g){return A._BinaryenStoreGetPtr(g)},setPtr:function(g,I){A._BinaryenStoreSetPtr(g,I)},getValue:function(g){return A._BinaryenStoreGetValue(g)},setValue:function(g,I){A._BinaryenStoreSetValue(g,I)},getValueType:function(g){return A._BinaryenStoreGetValueType(g)},setValueType:function(g,I){A._BinaryenStoreSetValueType(g,I)}}),A.Const=L({getValueI32:function(g){return A._BinaryenConstGetValueI32(g)},setValueI32:function(g,I){A._BinaryenConstSetValueI32(g,I)},getValueI64Low:function(g){return A._BinaryenConstGetValueI64Low(g)},setValueI64Low:function(g,I){A._BinaryenConstSetValueI64Low(g,I)},getValueI64High:function(g){return A._BinaryenConstGetValueI64High(g)},setValueI64High:function(g,I){A._BinaryenConstSetValueI64High(g,I)},getValueF32:function(g){return A._BinaryenConstGetValueF32(g)},setValueF32:function(g,I){A._BinaryenConstSetValueF32(g,I)},getValueF64:function(g){return A._BinaryenConstGetValueF64(g)},setValueF64:function(g,I){A._BinaryenConstSetValueF64(g,I)},getValueV128:function(g){let I;return k(()=>{let E=Z(16);A._BinaryenConstGetValueV128(g,E),I=Array(16);for(let Q=0;16>Q;++Q)I[Q]=r[E+Q>>>0]}),I},setValueV128:function(g,I){k(()=>{let E=Z(16);for(let Q=0;16>Q;++Q)r[E+Q>>>0]=I[Q];A._BinaryenConstSetValueV128(g,E)})}}),A.Unary=L({getOp:function(g){return A._BinaryenUnaryGetOp(g)},setOp:function(g,I){A._BinaryenUnarySetOp(g,I)},getValue:function(g){return A._BinaryenUnaryGetValue(g)},setValue:function(g,I){A._BinaryenUnarySetValue(g,I)}}),A.Binary=L({getOp:function(g){return A._BinaryenBinaryGetOp(g)},setOp:function(g,I){A._BinaryenBinarySetOp(g,I)},getLeft:function(g){return A._BinaryenBinaryGetLeft(g)},setLeft:function(g,I){A._BinaryenBinarySetLeft(g,I)},getRight:function(g){return A._BinaryenBinaryGetRight(g)},setRight:function(g,I){A._BinaryenBinarySetRight(g,I)}}),A.Select=L({getIfTrue:function(g){return A._BinaryenSelectGetIfTrue(g)},setIfTrue:function(g,I){A._BinaryenSelectSetIfTrue(g,I)},getIfFalse:function(g){return A._BinaryenSelectGetIfFalse(g)},setIfFalse:function(g,I){A._BinaryenSelectSetIfFalse(g,I)},getCondition:function(g){return A._BinaryenSelectGetCondition(g)},setCondition:function(g,I){A._BinaryenSelectSetCondition(g,I)}}),A.Drop=L({getValue:function(g){return A._BinaryenDropGetValue(g)},setValue:function(g,I){A._BinaryenDropSetValue(g,I)}}),A.Return=L({getValue:function(g){return A._BinaryenReturnGetValue(g)},setValue:function(g,I){A._BinaryenReturnSetValue(g,I)}}),A.AtomicRMW=L({getOp:function(g){return A._BinaryenAtomicRMWGetOp(g)},setOp:function(g,I){A._BinaryenAtomicRMWSetOp(g,I)},getBytes:function(g){return A._BinaryenAtomicRMWGetBytes(g)},setBytes:function(g,I){A._BinaryenAtomicRMWSetBytes(g,I)},getOffset:function(g){return A._BinaryenAtomicRMWGetOffset(g)},setOffset:function(g,I){A._BinaryenAtomicRMWSetOffset(g,I)},getPtr:function(g){return A._BinaryenAtomicRMWGetPtr(g)},setPtr:function(g,I){A._BinaryenAtomicRMWSetPtr(g,I)},getValue:function(g){return A._BinaryenAtomicRMWGetValue(g)},setValue:function(g,I){A._BinaryenAtomicRMWSetValue(g,I)}}),A.AtomicCmpxchg=L({getBytes:function(g){return A._BinaryenAtomicCmpxchgGetBytes(g)},setBytes:function(g,I){A._BinaryenAtomicCmpxchgSetBytes(g,I)},getOffset:function(g){return A._BinaryenAtomicCmpxchgGetOffset(g)},setOffset:function(g,I){A._BinaryenAtomicCmpxchgSetOffset(g,I)},getPtr:function(g){return A._BinaryenAtomicCmpxchgGetPtr(g)},setPtr:function(g,I){A._BinaryenAtomicCmpxchgSetPtr(g,I)},getExpected:function(g){return A._BinaryenAtomicCmpxchgGetExpected(g)},setExpected:function(g,I){A._BinaryenAtomicCmpxchgSetExpected(g,I)},getReplacement:function(g){return A._BinaryenAtomicCmpxchgGetReplacement(g)},setReplacement:function(g,I){A._BinaryenAtomicCmpxchgSetReplacement(g,I)}}),A.AtomicWait=L({getPtr:function(g){return A._BinaryenAtomicWaitGetPtr(g)},setPtr:function(g,I){A._BinaryenAtomicWaitSetPtr(g,I)},getExpected:function(g){return A._BinaryenAtomicWaitGetExpected(g)},setExpected:function(g,I){A._BinaryenAtomicWaitSetExpected(g,I)},getTimeout:function(g){return A._BinaryenAtomicWaitGetTimeout(g)},setTimeout:function(g,I){A._BinaryenAtomicWaitSetTimeout(g,I)},getExpectedType:function(g){return A._BinaryenAtomicWaitGetExpectedType(g)},setExpectedType:function(g,I){A._BinaryenAtomicWaitSetExpectedType(g,I)}}),A.AtomicNotify=L({getPtr:function(g){return A._BinaryenAtomicNotifyGetPtr(g)},setPtr:function(g,I){A._BinaryenAtomicNotifySetPtr(g,I)},getNotifyCount:function(g){return A._BinaryenAtomicNotifyGetNotifyCount(g)},setNotifyCount:function(g,I){A._BinaryenAtomicNotifySetNotifyCount(g,I)}}),A.AtomicFence=L({getOrder:function(g){return A._BinaryenAtomicFenceGetOrder(g)},setOrder:function(g,I){A._BinaryenAtomicFenceSetOrder(g,I)}}),A.SIMDExtract=L({getOp:function(g){return A._BinaryenSIMDExtractGetOp(g)},setOp:function(g,I){A._BinaryenSIMDExtractSetOp(g,I)},getVec:function(g){return A._BinaryenSIMDExtractGetVec(g)},setVec:function(g,I){A._BinaryenSIMDExtractSetVec(g,I)},getIndex:function(g){return A._BinaryenSIMDExtractGetIndex(g)},setIndex:function(g,I){A._BinaryenSIMDExtractSetIndex(g,I)}}),A.SIMDReplace=L({getOp:function(g){return A._BinaryenSIMDReplaceGetOp(g)},setOp:function(g,I){A._BinaryenSIMDReplaceSetOp(g,I)},getVec:function(g){return A._BinaryenSIMDReplaceGetVec(g)},setVec:function(g,I){A._BinaryenSIMDReplaceSetVec(g,I)},getIndex:function(g){return A._BinaryenSIMDReplaceGetIndex(g)},setIndex:function(g,I){A._BinaryenSIMDReplaceSetIndex(g,I)},getValue:function(g){return A._BinaryenSIMDReplaceGetValue(g)},setValue:function(g,I){A._BinaryenSIMDReplaceSetValue(g,I)}}),A.SIMDShuffle=L({getLeft:function(g){return A._BinaryenSIMDShuffleGetLeft(g)},setLeft:function(g,I){A._BinaryenSIMDShuffleSetLeft(g,I)},getRight:function(g){return A._BinaryenSIMDShuffleGetRight(g)},setRight:function(g,I){A._BinaryenSIMDShuffleSetRight(g,I)},getMask:function(g){let I;return k(()=>{let E=Z(16);A._BinaryenSIMDShuffleGetMask(g,E),I=Array(16);for(let Q=0;16>Q;++Q)I[Q]=r[E+Q>>>0]}),I},setMask:function(g,I){k(()=>{let E=Z(16);for(let Q=0;16>Q;++Q)r[E+Q>>>0]=I[Q];A._BinaryenSIMDShuffleSetMask(g,E)})}}),A.SIMDTernary=L({getOp:function(g){return A._BinaryenSIMDTernaryGetOp(g)},setOp:function(g,I){A._BinaryenSIMDTernarySetOp(g,I)},getA:function(g){return A._BinaryenSIMDTernaryGetA(g)},setA:function(g,I){A._BinaryenSIMDTernarySetA(g,I)},getB:function(g){return A._BinaryenSIMDTernaryGetB(g)},setB:function(g,I){A._BinaryenSIMDTernarySetB(g,I)},getC:function(g){return A._BinaryenSIMDTernaryGetC(g)},setC:function(g,I){A._BinaryenSIMDTernarySetC(g,I)}}),A.SIMDShift=L({getOp:function(g){return A._BinaryenSIMDShiftGetOp(g)},setOp:function(g,I){A._BinaryenSIMDShiftSetOp(g,I)},getVec:function(g){return A._BinaryenSIMDShiftGetVec(g)},setVec:function(g,I){A._BinaryenSIMDShiftSetVec(g,I)},getShift:function(g){return A._BinaryenSIMDShiftGetShift(g)},setShift:function(g,I){A._BinaryenSIMDShiftSetShift(g,I)}}),A.SIMDLoad=L({getOp:function(g){return A._BinaryenSIMDLoadGetOp(g)},setOp:function(g,I){A._BinaryenSIMDLoadSetOp(g,I)},getOffset:function(g){return A._BinaryenSIMDLoadGetOffset(g)},setOffset:function(g,I){A._BinaryenSIMDLoadSetOffset(g,I)},getAlign:function(g){return A._BinaryenSIMDLoadGetAlign(g)},setAlign:function(g,I){A._BinaryenSIMDLoadSetAlign(g,I)},getPtr:function(g){return A._BinaryenSIMDLoadGetPtr(g)},setPtr:function(g,I){A._BinaryenSIMDLoadSetPtr(g,I)}}),A.SIMDLoadStoreLane=L({getOp:function(g){return A._BinaryenSIMDLoadStoreLaneGetOp(g)},setOp:function(g,I){A._BinaryenSIMDLoadStoreLaneSetOp(g,I)},getOffset:function(g){return A._BinaryenSIMDLoadStoreLaneGetOffset(g)},setOffset:function(g,I){A._BinaryenSIMDLoadStoreLaneSetOffset(g,I)},getAlign:function(g){return A._BinaryenSIMDLoadStoreLaneGetAlign(g)},setAlign:function(g,I){A._BinaryenSIMDLoadStoreLaneSetAlign(g,I)},getIndex:function(g){return A._BinaryenSIMDLoadStoreLaneGetIndex(g)},setIndex:function(g,I){A._BinaryenSIMDLoadStoreLaneSetIndex(g,I)},getPtr:function(g){return A._BinaryenSIMDLoadStoreLaneGetPtr(g)},setPtr:function(g,I){A._BinaryenSIMDLoadStoreLaneSetPtr(g,I)},getVec:function(g){return A._BinaryenSIMDLoadStoreLaneGetVec(g)},setVec:function(g,I){A._BinaryenSIMDLoadStoreLaneSetVec(g,I)},isStore:function(g){return!!A._BinaryenSIMDLoadStoreLaneIsStore(g)}}),A.MemoryInit=L({getSegment:function(g){return F(A._BinaryenMemoryInitGetSegment(g))},setSegment:function(g,I){k(()=>A._BinaryenMemoryInitSetSegment(g,o(I)))},getDest:function(g){return A._BinaryenMemoryInitGetDest(g)},setDest:function(g,I){A._BinaryenMemoryInitSetDest(g,I)},getOffset:function(g){return A._BinaryenMemoryInitGetOffset(g)},setOffset:function(g,I){A._BinaryenMemoryInitSetOffset(g,I)},getSize:function(g){return A._BinaryenMemoryInitGetSize(g)},setSize:function(g,I){A._BinaryenMemoryInitSetSize(g,I)}}),A.DataDrop=L({getSegment:function(g){return F(A._BinaryenDataDropGetSegment(g))},setSegment:function(g,I){k(()=>A._BinaryenDataDropSetSegment(g,o(I)))}}),A.MemoryCopy=L({getDest:function(g){return A._BinaryenMemoryCopyGetDest(g)},setDest:function(g,I){A._BinaryenMemoryCopySetDest(g,I)},getSource:function(g){return A._BinaryenMemoryCopyGetSource(g)},setSource:function(g,I){A._BinaryenMemoryCopySetSource(g,I)},getSize:function(g){return A._BinaryenMemoryCopyGetSize(g)},setSize:function(g,I){A._BinaryenMemoryCopySetSize(g,I)}}),A.MemoryFill=L({getDest:function(g){return A._BinaryenMemoryFillGetDest(g)},setDest:function(g,I){A._BinaryenMemoryFillSetDest(g,I)},getValue:function(g){return A._BinaryenMemoryFillGetValue(g)},setValue:function(g,I){A._BinaryenMemoryFillSetValue(g,I)},getSize:function(g){return A._BinaryenMemoryFillGetSize(g)},setSize:function(g,I){A._BinaryenMemoryFillSetSize(g,I)}}),A.RefIsNull=L({getValue:function(g){return A._BinaryenRefIsNullGetValue(g)},setValue:function(g,I){A._BinaryenRefIsNullSetValue(g,I)}}),A.RefAs=L({getOp:function(g){return A._BinaryenRefAsGetOp(g)},setOp:function(g,I){A._BinaryenRefAsSetOp(g,I)},getValue:function(g){return A._BinaryenRefAsGetValue(g)},setValue:function(g,I){A._BinaryenRefAsSetValue(g,I)}}),A.RefFunc=L({getFunc:function(g){return F(A._BinaryenRefFuncGetFunc(g))},setFunc:function(g,I){k(()=>{A._BinaryenRefFuncSetFunc(g,o(I))})}}),A.RefEq=L({getLeft:function(g){return A._BinaryenRefEqGetLeft(g)},setLeft:function(g,I){return A._BinaryenRefEqSetLeft(g,I)},getRight:function(g){return A._BinaryenRefEqGetRight(g)},setRight:function(g,I){return A._BinaryenRefEqSetRight(g,I)}}),A.Try=L({getName:function(g){return(g=A._BinaryenTryGetName(g))?F(g):null},setName:function(g,I){k(()=>{A._BinaryenTrySetName(g,o(I))})},getBody:function(g){return A._BinaryenTryGetBody(g)},setBody:function(g,I){A._BinaryenTrySetBody(g,I)},getNumCatchTags:function(g){return A._BinaryenTryGetNumCatchTags(g)},getCatchTags:function(g){return x(g,A._BinaryenTryGetNumCatchTags,A._BinaryenTryGetCatchTagAt).map(I=>F(I))},setCatchTags:function(g,I){k(()=>{O(g,I.map(o),A._BinaryenTryGetNumCatchTags,A._BinaryenTrySetCatchTagAt,A._BinaryenTryAppendCatchTag,A._BinaryenTryRemoveCatchTagAt)})},getCatchTagAt:function(g,I){return F(A._BinaryenTryGetCatchTagAt(g,I))},setCatchTagAt:function(g,I,E){k(()=>{A._BinaryenTrySetCatchTagAt(g,I,o(E))})},appendCatchTag:function(g,I){k(()=>A._BinaryenTryAppendCatchTag(g,o(I)))},insertCatchTagAt:function(g,I,E){k(()=>{A._BinaryenTryInsertCatchTagAt(g,I,o(E))})},removeCatchTagAt:function(g,I){return F(A._BinaryenTryRemoveCatchTagAt(g,I))},getNumCatchBodies:function(g){return A._BinaryenTryGetNumCatchBodies(g)},getCatchBodies:function(g){return x(g,A._BinaryenTryGetNumCatchBodies,A._BinaryenTryGetCatchBodyAt)},setCatchBodies:function(g,I){O(g,I,A._BinaryenTryGetNumCatchBodies,A._BinaryenTrySetCatchBodyAt,A._BinaryenTryAppendCatchBody,A._BinaryenTryRemoveCatchBodyAt)},getCatchBodyAt:function(g,I){return A._BinaryenTryGetCatchBodyAt(g,I)},setCatchBodyAt:function(g,I,E){A._BinaryenTrySetCatchBodyAt(g,I,E)},appendCatchBody:function(g,I){return A._BinaryenTryAppendCatchBody(g,I)},insertCatchBodyAt:function(g,I,E){A._BinaryenTryInsertCatchBodyAt(g,I,E)},removeCatchBodyAt:function(g,I){return A._BinaryenTryRemoveCatchBodyAt(g,I)},hasCatchAll:function(g){return!!A._BinaryenTryHasCatchAll(g)},getDelegateTarget:function(g){return(g=A._BinaryenTryGetDelegateTarget(g))?F(g):null},setDelegateTarget:function(g,I){k(()=>{A._BinaryenTrySetDelegateTarget(g,o(I))})},isDelegate:function(g){return!!A._BinaryenTryIsDelegate(g)}}),A.Throw=L({getTag:function(g){return F(A._BinaryenThrowGetTag(g))},setTag:function(g,I){k(()=>{A._BinaryenThrowSetTag(g,o(I))})},getNumOperands:function(g){return A._BinaryenThrowGetNumOperands(g)},getOperands:function(g){return x(g,A._BinaryenThrowGetNumOperands,A._BinaryenThrowGetOperandAt)},setOperands:function(g,I){O(g,I,A._BinaryenThrowGetNumOperands,A._BinaryenThrowSetOperandAt,A._BinaryenThrowAppendOperand,A._BinaryenThrowRemoveOperandAt)},getOperandAt:function(g,I){return A._BinaryenThrowGetOperandAt(g,I)},setOperandAt:function(g,I,E){A._BinaryenThrowSetOperandAt(g,I,E)},appendOperand:function(g,I){return A._BinaryenThrowAppendOperand(g,I)},insertOperandAt:function(g,I,E){A._BinaryenThrowInsertOperandAt(g,I,E)},removeOperandAt:function(g,I){return A._BinaryenThrowRemoveOperandAt(g,I)}}),A.Rethrow=L({getTarget:function(g){return(g=A._BinaryenRethrowGetTarget(g))?F(g):null},setTarget:function(g,I){k(()=>{A._BinaryenRethrowSetTarget(g,o(I))})}}),A.TupleMake=L({getNumOperands:function(g){return A._BinaryenTupleMakeGetNumOperands(g)},getOperands:function(g){return x(g,A._BinaryenTupleMakeGetNumOperands,A._BinaryenTupleMakeGetOperandAt)},setOperands:function(g,I){O(g,I,A._BinaryenTupleMakeGetNumOperands,A._BinaryenTupleMakeSetOperandAt,A._BinaryenTupleMakeAppendOperand,A._BinaryenTupleMakeRemoveOperandAt)},getOperandAt:function(g,I){return A._BinaryenTupleMakeGetOperandAt(g,I)},setOperandAt:function(g,I,E){A._BinaryenTupleMakeSetOperandAt(g,I,E)},appendOperand:function(g,I){return A._BinaryenTupleMakeAppendOperand(g,I)},insertOperandAt:function(g,I,E){A._BinaryenTupleMakeInsertOperandAt(g,I,E)},removeOperandAt:function(g,I){return A._BinaryenTupleMakeRemoveOperandAt(g,I)}}),A.TupleExtract=L({getTuple:function(g){return A._BinaryenTupleExtractGetTuple(g)},setTuple:function(g,I){A._BinaryenTupleExtractSetTuple(g,I)},getIndex:function(g){return A._BinaryenTupleExtractGetIndex(g)},setIndex:function(g,I){A._BinaryenTupleExtractSetIndex(g,I)}}),A.RefI31=L({getValue:function(g){return A._BinaryenRefI31GetValue(g)},setValue:function(g,I){A._BinaryenRefI31SetValue(g,I)}}),A.I31Get=L({getI31:function(g){return A._BinaryenI31GetGetI31(g)},setI31:function(g,I){A._BinaryenI31GetSetI31(g,I)},isSigned:function(g){return!!A._BinaryenI31GetIsSigned(g)},setSigned:function(g,I){A._BinaryenI31GetSetSigned(g,I)}}),A.Function=(()=>{function g(I){if(!(this instanceof g))return I?new g(I):null;if(!I)throw Error("function reference must not be null");this[v]=I}return g.getName=function(I){return F(A._BinaryenFunctionGetName(I))},g.getParams=function(I){return A._BinaryenFunctionGetParams(I)},g.getResults=function(I){return A._BinaryenFunctionGetResults(I)},g.getNumVars=function(I){return A._BinaryenFunctionGetNumVars(I)},g.getVar=function(I,E){return A._BinaryenFunctionGetVar(I,E)},g.getNumLocals=function(I){return A._BinaryenFunctionGetNumLocals(I)},g.hasLocalName=function(I,E){return!!A._BinaryenFunctionHasLocalName(I,E)},g.getLocalName=function(I,E){return F(A._BinaryenFunctionGetLocalName(I,E))},g.setLocalName=function(I,E,Q){k(()=>{A._BinaryenFunctionSetLocalName(I,E,o(Q))})},g.getBody=function(I){return A._BinaryenFunctionGetBody(I)},g.setBody=function(I,E){A._BinaryenFunctionSetBody(I,E)},vA(g.prototype,g),g.prototype.valueOf=function(){return this[v]},g})(),A.exit=function(g){if(g!=0)throw Error("exiting due to error: "+g)},ig?tI():A.onRuntimeInitialized=(g=>()=>{tI(),g&&g()})(A.onRuntimeInitialized),$A.ready}})(),WI=EB;var DB=await WI(),NB=DB;export{NB as default}; diff --git a/platforms/Arduino/node_modules/binaryen/package.json b/platforms/Arduino/node_modules/binaryen/package.json new file mode 100644 index 00000000..3db2aa1f --- /dev/null +++ b/platforms/Arduino/node_modules/binaryen/package.json @@ -0,0 +1,45 @@ +{ + "name": "binaryen", + "description": "Browser & Node.js builds of Binaryen, a compiler infrastructure and toolchain library for WebAssembly.", + "version": "116.0.0-nightly.20240114", + "license": "Apache-2.0", + "repository": { + "type": "git", + "url": "https://github.com/AssemblyScript/binaryen.js.git" + }, + "keywords": [ + "webassembly", + "wasm" + ], + "type": "module", + "main": "index.js", + "typings": "index.d.ts", + "bin": { + "wasm-opt": "bin/wasm-opt", + "wasm2js": "bin/wasm2js" + }, + "scripts": { + "readme": "doctoc README.md --github --title \"### Contents\"", + "check": "tsc index.d.ts --noEmit --strict --noImplicitAny --strictNullChecks --listFiles --diagnostics", + "test": "npm run check && node tests/sanity && node tests/example", + "bundle": "node scripts/bundle.js" + }, + "files": [ + "index.js", + "index.d.ts", + "package.json", + "package-lock.json", + "README.md", + "bin/package.json", + "bin/wasm-opt", + "bin/wasm2js" + ], + "devDependencies": { + "dateformat": "^5.0.2", + "doctoc": "^2.1.0", + "esbuild": "^0.13.14", + "semver": "^7.1.3", + "simple-git": "^2.47.0", + "typescript": "^4.4.4" + } +} diff --git a/platforms/Arduino/node_modules/long/LICENSE b/platforms/Arduino/node_modules/long/LICENSE new file mode 100644 index 00000000..d6456956 --- /dev/null +++ b/platforms/Arduino/node_modules/long/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/platforms/Arduino/node_modules/long/README.md b/platforms/Arduino/node_modules/long/README.md new file mode 100644 index 00000000..ab168f1c --- /dev/null +++ b/platforms/Arduino/node_modules/long/README.md @@ -0,0 +1,280 @@ +long.js +======= + +A Long class for representing a 64 bit two's-complement integer value derived from the [Closure Library](https://github.com/google/closure-library) +for stand-alone use and extended with unsigned support. + +[![Build Status](https://img.shields.io/github/workflow/status/dcodeIO/long.js/Test/main?label=test&logo=github)](https://github.com/dcodeIO/long.js/actions?query=workflow%3ATest) [![Publish Status](https://img.shields.io/github/workflow/status/dcodeIO/long.js/Publish/main?label=publish&logo=github)](https://github.com/dcodeIO/long.js/actions?query=workflow%3APublish) [![npm](https://img.shields.io/npm/v/long.svg?label=npm&color=007acc&logo=npm)](https://www.npmjs.com/package/long) + +Background +---------- + +As of [ECMA-262 5th Edition](http://ecma262-5.com/ELS5_HTML.htm#Section_8.5), "all the positive and negative integers +whose magnitude is no greater than 253 are representable in the Number type", which is "representing the +doubleprecision 64-bit format IEEE 754 values as specified in the IEEE Standard for Binary Floating-Point Arithmetic". +The [maximum safe integer](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/MAX_SAFE_INTEGER) +in JavaScript is 253-1. + +Example: 264-1 is 1844674407370955**1615** but in JavaScript it evaluates to 1844674407370955**2000**. + +Furthermore, bitwise operators in JavaScript "deal only with integers in the range −231 through +231−1, inclusive, or in the range 0 through 232−1, inclusive. These operators accept any value of +the Number type but first convert each such value to one of 232 integer values." + +In some use cases, however, it is required to be able to reliably work with and perform bitwise operations on the full +64 bits. This is where long.js comes into play. + +Usage +----- + +The package exports an ECMAScript module with an UMD fallback. + +``` +$> npm install long +``` + +```js +import Long from "long"; + +var value = new Long(0xFFFFFFFF, 0x7FFFFFFF); +console.log(value.toString()); +... +``` + +Note that mixing ESM and CommonJS is not recommended as it yields different classes, albeit with the same functionality. + +### Usage with a CDN + + * From GitHub via [jsDelivr](https://www.jsdelivr.com):
+ `https://cdn.jsdelivr.net/gh/dcodeIO/long.js@TAG/index.js` (ESM) + * From npm via [jsDelivr](https://www.jsdelivr.com):
+ `https://cdn.jsdelivr.net/npm/long@VERSION/index.js` (ESM)
+ `https://cdn.jsdelivr.net/npm/long@VERSION/umd/index.js` (UMD) + * From npm via [unpkg](https://unpkg.com):
+ `https://unpkg.com/long@VERSION/index.js` (ESM)
+ `https://unpkg.com/long@VERSION/umd/index.js` (UMD) + + Replace `TAG` respectively `VERSION` with a [specific version](https://github.com/dcodeIO/long.js/releases) or omit it (not recommended in production) to use main/latest. + +API +--- + +### Constructor + +* new **Long**(low: `number`, high?: `number`, unsigned?: `boolean`)
+ Constructs a 64 bit two's-complement integer, given its low and high 32 bit values as *signed* integers. See the from* functions below for more convenient ways of constructing Longs. + +### Fields + +* Long#**low**: `number`
+ The low 32 bits as a signed value. + +* Long#**high**: `number`
+ The high 32 bits as a signed value. + +* Long#**unsigned**: `boolean`
+ Whether unsigned or not. + +### Constants + +* Long.**ZERO**: `Long`
+ Signed zero. + +* Long.**ONE**: `Long`
+ Signed one. + +* Long.**NEG_ONE**: `Long`
+ Signed negative one. + +* Long.**UZERO**: `Long`
+ Unsigned zero. + +* Long.**UONE**: `Long`
+ Unsigned one. + +* Long.**MAX_VALUE**: `Long`
+ Maximum signed value. + +* Long.**MIN_VALUE**: `Long`
+ Minimum signed value. + +* Long.**MAX_UNSIGNED_VALUE**: `Long`
+ Maximum unsigned value. + +### Utility + +* Long.**isLong**(obj: `*`): `boolean`
+ Tests if the specified object is a Long. + +* Long.**fromBits**(lowBits: `number`, highBits: `number`, unsigned?: `boolean`): `Long`
+ Returns a Long representing the 64 bit integer that comes by concatenating the given low and high bits. Each is assumed to use 32 bits. + +* Long.**fromBytes**(bytes: `number[]`, unsigned?: `boolean`, le?: `boolean`): `Long`
+ Creates a Long from its byte representation. + +* Long.**fromBytesLE**(bytes: `number[]`, unsigned?: `boolean`): `Long`
+ Creates a Long from its little endian byte representation. + +* Long.**fromBytesBE**(bytes: `number[]`, unsigned?: `boolean`): `Long`
+ Creates a Long from its big endian byte representation. + +* Long.**fromInt**(value: `number`, unsigned?: `boolean`): `Long`
+ Returns a Long representing the given 32 bit integer value. + +* Long.**fromNumber**(value: `number`, unsigned?: `boolean`): `Long`
+ Returns a Long representing the given value, provided that it is a finite number. Otherwise, zero is returned. + +* Long.**fromString**(str: `string`, unsigned?: `boolean`, radix?: `number`)
+ Long.**fromString**(str: `string`, radix: `number`)
+ Returns a Long representation of the given string, written using the specified radix. + +* Long.**fromValue**(val: `*`, unsigned?: `boolean`): `Long`
+ Converts the specified value to a Long using the appropriate from* function for its type. + +### Methods + +* Long#**add**(addend: `Long | number | string`): `Long`
+ Returns the sum of this and the specified Long. + +* Long#**and**(other: `Long | number | string`): `Long`
+ Returns the bitwise AND of this Long and the specified. + +* Long#**compare**/**comp**(other: `Long | number | string`): `number`
+ Compares this Long's value with the specified's. Returns `0` if they are the same, `1` if the this is greater and `-1` if the given one is greater. + +* Long#**divide**/**div**(divisor: `Long | number | string`): `Long`
+ Returns this Long divided by the specified. + +* Long#**equals**/**eq**(other: `Long | number | string`): `boolean`
+ Tests if this Long's value equals the specified's. + +* Long#**getHighBits**(): `number`
+ Gets the high 32 bits as a signed integer. + +* Long#**getHighBitsUnsigned**(): `number`
+ Gets the high 32 bits as an unsigned integer. + +* Long#**getLowBits**(): `number`
+ Gets the low 32 bits as a signed integer. + +* Long#**getLowBitsUnsigned**(): `number`
+ Gets the low 32 bits as an unsigned integer. + +* Long#**getNumBitsAbs**(): `number`
+ Gets the number of bits needed to represent the absolute value of this Long. + +* Long#**greaterThan**/**gt**(other: `Long | number | string`): `boolean`
+ Tests if this Long's value is greater than the specified's. + +* Long#**greaterThanOrEqual**/**gte**/**ge**(other: `Long | number | string`): `boolean`
+ Tests if this Long's value is greater than or equal the specified's. + +* Long#**isEven**(): `boolean`
+ Tests if this Long's value is even. + +* Long#**isNegative**(): `boolean`
+ Tests if this Long's value is negative. + +* Long#**isOdd**(): `boolean`
+ Tests if this Long's value is odd. + +* Long#**isPositive**(): `boolean`
+ Tests if this Long's value is positive or zero. + +* Long#**isZero**/**eqz**(): `boolean`
+ Tests if this Long's value equals zero. + +* Long#**lessThan**/**lt**(other: `Long | number | string`): `boolean`
+ Tests if this Long's value is less than the specified's. + +* Long#**lessThanOrEqual**/**lte**/**le**(other: `Long | number | string`): `boolean`
+ Tests if this Long's value is less than or equal the specified's. + +* Long#**modulo**/**mod**/**rem**(divisor: `Long | number | string`): `Long`
+ Returns this Long modulo the specified. + +* Long#**multiply**/**mul**(multiplier: `Long | number | string`): `Long`
+ Returns the product of this and the specified Long. + +* Long#**negate**/**neg**(): `Long`
+ Negates this Long's value. + +* Long#**not**(): `Long`
+ Returns the bitwise NOT of this Long. + +* Long#**countLeadingZeros**/**clz**(): `number`
+ Returns count leading zeros of this Long. + +* Long#**countTrailingZeros**/**ctz**(): `number`
+ Returns count trailing zeros of this Long. + +* Long#**notEquals**/**neq**/**ne**(other: `Long | number | string`): `boolean`
+ Tests if this Long's value differs from the specified's. + +* Long#**or**(other: `Long | number | string`): `Long`
+ Returns the bitwise OR of this Long and the specified. + +* Long#**shiftLeft**/**shl**(numBits: `Long | number | string`): `Long`
+ Returns this Long with bits shifted to the left by the given amount. + +* Long#**shiftRight**/**shr**(numBits: `Long | number | string`): `Long`
+ Returns this Long with bits arithmetically shifted to the right by the given amount. + +* Long#**shiftRightUnsigned**/**shru**/**shr_u**(numBits: `Long | number | string`): `Long`
+ Returns this Long with bits logically shifted to the right by the given amount. + +* Long#**rotateLeft**/**rotl**(numBits: `Long | number | string`): `Long`
+ Returns this Long with bits rotated to the left by the given amount. + +* Long#**rotateRight**/**rotr**(numBits: `Long | number | string`): `Long`
+ Returns this Long with bits rotated to the right by the given amount. + +* Long#**subtract**/**sub**(subtrahend: `Long | number | string`): `Long`
+ Returns the difference of this and the specified Long. + +* Long#**toBytes**(le?: `boolean`): `number[]`
+ Converts this Long to its byte representation. + +* Long#**toBytesLE**(): `number[]`
+ Converts this Long to its little endian byte representation. + +* Long#**toBytesBE**(): `number[]`
+ Converts this Long to its big endian byte representation. + +* Long#**toInt**(): `number`
+ Converts the Long to a 32 bit integer, assuming it is a 32 bit integer. + +* Long#**toNumber**(): `number`
+ Converts the Long to a the nearest floating-point representation of this value (double, 53 bit mantissa). + +* Long#**toSigned**(): `Long`
+ Converts this Long to signed. + +* Long#**toString**(radix?: `number`): `string`
+ Converts the Long to a string written in the specified radix. + +* Long#**toUnsigned**(): `Long`
+ Converts this Long to unsigned. + +* Long#**xor**(other: `Long | number | string`): `Long`
+ Returns the bitwise XOR of this Long and the given one. + +WebAssembly support +------------------- + +[WebAssembly](http://webassembly.org) supports 64-bit integer arithmetic out of the box, hence a [tiny WebAssembly module](./wasm.wat) is used to compute operations like multiplication, division and remainder more efficiently (slow operations like division are around twice as fast), falling back to floating point based computations in JavaScript where WebAssembly is not yet supported, e.g., in older versions of node. + +Building +-------- + +Building the UMD fallback: + +``` +$> npm run build +``` + +Running the [tests](./tests): + +``` +$> npm test +``` diff --git a/platforms/Arduino/node_modules/long/index.d.ts b/platforms/Arduino/node_modules/long/index.d.ts new file mode 100644 index 00000000..521533d7 --- /dev/null +++ b/platforms/Arduino/node_modules/long/index.d.ts @@ -0,0 +1,457 @@ +declare class Long { + /** + * Constructs a 64 bit two's-complement integer, given its low and high 32 bit values as signed integers. See the from* functions below for more convenient ways of constructing Longs. + */ + constructor(low: number, high?: number, unsigned?: boolean); + + /** + * Maximum unsigned value. + */ + static MAX_UNSIGNED_VALUE: Long; + + /** + * Maximum signed value. + */ + static MAX_VALUE: Long; + + /** + * Minimum signed value. + */ + static MIN_VALUE: Long; + + /** + * Signed negative one. + */ + static NEG_ONE: Long; + + /** + * Signed one. + */ + static ONE: Long; + + /** + * Unsigned one. + */ + static UONE: Long; + + /** + * Unsigned zero. + */ + static UZERO: Long; + + /** + * Signed zero + */ + static ZERO: Long; + + /** + * The high 32 bits as a signed value. + */ + high: number; + + /** + * The low 32 bits as a signed value. + */ + low: number; + + /** + * Whether unsigned or not. + */ + unsigned: boolean; + + /** + * Returns a Long representing the 64 bit integer that comes by concatenating the given low and high bits. Each is assumed to use 32 bits. + */ + static fromBits(lowBits: number, highBits: number, unsigned?: boolean): Long; + + /** + * Returns a Long representing the given 32 bit integer value. + */ + static fromInt(value: number, unsigned?: boolean): Long; + + /** + * Returns a Long representing the given value, provided that it is a finite number. Otherwise, zero is returned. + */ + static fromNumber(value: number, unsigned?: boolean): Long; + + /** + * Returns a Long representation of the given string, written using the specified radix. + */ + static fromString( + str: string, + unsigned?: boolean | number, + radix?: number + ): Long; + + /** + * Creates a Long from its byte representation. + */ + static fromBytes(bytes: number[], unsigned?: boolean, le?: boolean): Long; + + /** + * Creates a Long from its little endian byte representation. + */ + static fromBytesLE(bytes: number[], unsigned?: boolean): Long; + + /** + * Creates a Long from its big endian byte representation. + */ + static fromBytesBE(bytes: number[], unsigned?: boolean): Long; + + /** + * Tests if the specified object is a Long. + */ + static isLong(obj: any): obj is Long; + + /** + * Converts the specified value to a Long. + */ + static fromValue( + val: + | Long + | number + | string + | { low: number; high: number; unsigned: boolean }, + unsigned?: boolean + ): Long; + + /** + * Returns the sum of this and the specified Long. + */ + add(addend: number | Long | string): Long; + + /** + * Returns the bitwise AND of this Long and the specified. + */ + and(other: Long | number | string): Long; + + /** + * Compares this Long's value with the specified's. + */ + compare(other: Long | number | string): number; + + /** + * Compares this Long's value with the specified's. + */ + comp(other: Long | number | string): number; + + /** + * Returns this Long divided by the specified. + */ + divide(divisor: Long | number | string): Long; + + /** + * Returns this Long divided by the specified. + */ + div(divisor: Long | number | string): Long; + + /** + * Tests if this Long's value equals the specified's. + */ + equals(other: Long | number | string): boolean; + + /** + * Tests if this Long's value equals the specified's. + */ + eq(other: Long | number | string): boolean; + + /** + * Gets the high 32 bits as a signed integer. + */ + getHighBits(): number; + + /** + * Gets the high 32 bits as an unsigned integer. + */ + getHighBitsUnsigned(): number; + + /** + * Gets the low 32 bits as a signed integer. + */ + getLowBits(): number; + + /** + * Gets the low 32 bits as an unsigned integer. + */ + getLowBitsUnsigned(): number; + + /** + * Gets the number of bits needed to represent the absolute value of this Long. + */ + getNumBitsAbs(): number; + + /** + * Tests if this Long's value is greater than the specified's. + */ + greaterThan(other: Long | number | string): boolean; + + /** + * Tests if this Long's value is greater than the specified's. + */ + gt(other: Long | number | string): boolean; + + /** + * Tests if this Long's value is greater than or equal the specified's. + */ + greaterThanOrEqual(other: Long | number | string): boolean; + + /** + * Tests if this Long's value is greater than or equal the specified's. + */ + gte(other: Long | number | string): boolean; + + /** + * Tests if this Long's value is greater than or equal the specified's. + */ + ge(other: Long | number | string): boolean; + + /** + * Tests if this Long's value is even. + */ + isEven(): boolean; + + /** + * Tests if this Long's value is negative. + */ + isNegative(): boolean; + + /** + * Tests if this Long's value is odd. + */ + isOdd(): boolean; + + /** + * Tests if this Long's value is positive or zero. + */ + isPositive(): boolean; + + /** + * Tests if this Long's value equals zero. + */ + isZero(): boolean; + + /** + * Tests if this Long's value equals zero. + */ + eqz(): boolean; + + /** + * Tests if this Long's value is less than the specified's. + */ + lessThan(other: Long | number | string): boolean; + + /** + * Tests if this Long's value is less than the specified's. + */ + lt(other: Long | number | string): boolean; + + /** + * Tests if this Long's value is less than or equal the specified's. + */ + lessThanOrEqual(other: Long | number | string): boolean; + + /** + * Tests if this Long's value is less than or equal the specified's. + */ + lte(other: Long | number | string): boolean; + + /** + * Tests if this Long's value is less than or equal the specified's. + */ + le(other: Long | number | string): boolean; + + /** + * Returns this Long modulo the specified. + */ + modulo(other: Long | number | string): Long; + + /** + * Returns this Long modulo the specified. + */ + mod(other: Long | number | string): Long; + + /** + * Returns this Long modulo the specified. + */ + rem(other: Long | number | string): Long; + + /** + * Returns the product of this and the specified Long. + */ + multiply(multiplier: Long | number | string): Long; + + /** + * Returns the product of this and the specified Long. + */ + mul(multiplier: Long | number | string): Long; + + /** + * Negates this Long's value. + */ + negate(): Long; + + /** + * Negates this Long's value. + */ + neg(): Long; + + /** + * Returns the bitwise NOT of this Long. + */ + not(): Long; + + /** + * Returns count leading zeros of this Long. + */ + countLeadingZeros(): number; + + /** + * Returns count leading zeros of this Long. + */ + clz(): number; + + /** + * Returns count trailing zeros of this Long. + */ + countTrailingZeros(): number; + + /** + * Returns count trailing zeros of this Long. + */ + ctz(): number; + + /** + * Tests if this Long's value differs from the specified's. + */ + notEquals(other: Long | number | string): boolean; + + /** + * Tests if this Long's value differs from the specified's. + */ + neq(other: Long | number | string): boolean; + + /** + * Tests if this Long's value differs from the specified's. + */ + ne(other: Long | number | string): boolean; + + /** + * Returns the bitwise OR of this Long and the specified. + */ + or(other: Long | number | string): Long; + + /** + * Returns this Long with bits shifted to the left by the given amount. + */ + shiftLeft(numBits: number | Long): Long; + + /** + * Returns this Long with bits shifted to the left by the given amount. + */ + shl(numBits: number | Long): Long; + + /** + * Returns this Long with bits arithmetically shifted to the right by the given amount. + */ + shiftRight(numBits: number | Long): Long; + + /** + * Returns this Long with bits arithmetically shifted to the right by the given amount. + */ + shr(numBits: number | Long): Long; + + /** + * Returns this Long with bits logically shifted to the right by the given amount. + */ + shiftRightUnsigned(numBits: number | Long): Long; + + /** + * Returns this Long with bits logically shifted to the right by the given amount. + */ + shru(numBits: number | Long): Long; + + /** + * Returns this Long with bits logically shifted to the right by the given amount. + */ + shr_u(numBits: number | Long): Long; + + /** + * Returns this Long with bits rotated to the left by the given amount. + */ + rotateLeft(numBits: number | Long): Long; + + /** + * Returns this Long with bits rotated to the left by the given amount. + */ + rotl(numBits: number | Long): Long; + + /** + * Returns this Long with bits rotated to the right by the given amount. + */ + rotateRight(numBits: number | Long): Long; + + /** + * Returns this Long with bits rotated to the right by the given amount. + */ + rotr(numBits: number | Long): Long; + + /** + * Returns the difference of this and the specified Long. + */ + subtract(subtrahend: number | Long | string): Long; + + /** + * Returns the difference of this and the specified Long. + */ + sub(subtrahend: number | Long | string): Long; + + /** + * Converts the Long to a 32 bit integer, assuming it is a 32 bit integer. + */ + toInt(): number; + + /** + * Converts the Long to a the nearest floating-point representation of this value (double, 53 bit mantissa). + */ + toNumber(): number; + + /** + * Converts this Long to its byte representation. + */ + + toBytes(le?: boolean): number[]; + + /** + * Converts this Long to its little endian byte representation. + */ + + toBytesLE(): number[]; + + /** + * Converts this Long to its big endian byte representation. + */ + + toBytesBE(): number[]; + + /** + * Converts this Long to signed. + */ + toSigned(): Long; + + /** + * Converts the Long to a string written in the specified radix. + */ + toString(radix?: number): string; + + /** + * Converts this Long to unsigned. + */ + toUnsigned(): Long; + + /** + * Returns the bitwise XOR of this Long and the given one. + */ + xor(other: Long | number | string): Long; +} + +export default Long; // compatible with `import Long from "long"` diff --git a/platforms/Arduino/node_modules/long/index.js b/platforms/Arduino/node_modules/long/index.js new file mode 100644 index 00000000..f04775e0 --- /dev/null +++ b/platforms/Arduino/node_modules/long/index.js @@ -0,0 +1,1467 @@ +/** + * @license + * Copyright 2009 The Closure Library Authors + * Copyright 2020 Daniel Wirtz / The long.js Authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ + +// WebAssembly optimizations to do native i64 multiplication and divide +var wasm = null; +try { + wasm = new WebAssembly.Instance(new WebAssembly.Module(new Uint8Array([ + 0, 97, 115, 109, 1, 0, 0, 0, 1, 13, 2, 96, 0, 1, 127, 96, 4, 127, 127, 127, 127, 1, 127, 3, 7, 6, 0, 1, 1, 1, 1, 1, 6, 6, 1, 127, 1, 65, 0, 11, 7, 50, 6, 3, 109, 117, 108, 0, 1, 5, 100, 105, 118, 95, 115, 0, 2, 5, 100, 105, 118, 95, 117, 0, 3, 5, 114, 101, 109, 95, 115, 0, 4, 5, 114, 101, 109, 95, 117, 0, 5, 8, 103, 101, 116, 95, 104, 105, 103, 104, 0, 0, 10, 191, 1, 6, 4, 0, 35, 0, 11, 36, 1, 1, 126, 32, 0, 173, 32, 1, 173, 66, 32, 134, 132, 32, 2, 173, 32, 3, 173, 66, 32, 134, 132, 126, 34, 4, 66, 32, 135, 167, 36, 0, 32, 4, 167, 11, 36, 1, 1, 126, 32, 0, 173, 32, 1, 173, 66, 32, 134, 132, 32, 2, 173, 32, 3, 173, 66, 32, 134, 132, 127, 34, 4, 66, 32, 135, 167, 36, 0, 32, 4, 167, 11, 36, 1, 1, 126, 32, 0, 173, 32, 1, 173, 66, 32, 134, 132, 32, 2, 173, 32, 3, 173, 66, 32, 134, 132, 128, 34, 4, 66, 32, 135, 167, 36, 0, 32, 4, 167, 11, 36, 1, 1, 126, 32, 0, 173, 32, 1, 173, 66, 32, 134, 132, 32, 2, 173, 32, 3, 173, 66, 32, 134, 132, 129, 34, 4, 66, 32, 135, 167, 36, 0, 32, 4, 167, 11, 36, 1, 1, 126, 32, 0, 173, 32, 1, 173, 66, 32, 134, 132, 32, 2, 173, 32, 3, 173, 66, 32, 134, 132, 130, 34, 4, 66, 32, 135, 167, 36, 0, 32, 4, 167, 11 + ])), {}).exports; +} catch (e) { + // no wasm support :( +} + +/** + * Constructs a 64 bit two's-complement integer, given its low and high 32 bit values as *signed* integers. + * See the from* functions below for more convenient ways of constructing Longs. + * @exports Long + * @class A Long class for representing a 64 bit two's-complement integer value. + * @param {number} low The low (signed) 32 bits of the long + * @param {number} high The high (signed) 32 bits of the long + * @param {boolean=} unsigned Whether unsigned or not, defaults to signed + * @constructor + */ +function Long(low, high, unsigned) { + + /** + * The low 32 bits as a signed value. + * @type {number} + */ + this.low = low | 0; + + /** + * The high 32 bits as a signed value. + * @type {number} + */ + this.high = high | 0; + + /** + * Whether unsigned or not. + * @type {boolean} + */ + this.unsigned = !!unsigned; +} + +// The internal representation of a long is the two given signed, 32-bit values. +// We use 32-bit pieces because these are the size of integers on which +// Javascript performs bit-operations. For operations like addition and +// multiplication, we split each number into 16 bit pieces, which can easily be +// multiplied within Javascript's floating-point representation without overflow +// or change in sign. +// +// In the algorithms below, we frequently reduce the negative case to the +// positive case by negating the input(s) and then post-processing the result. +// Note that we must ALWAYS check specially whether those values are MIN_VALUE +// (-2^63) because -MIN_VALUE == MIN_VALUE (since 2^63 cannot be represented as +// a positive number, it overflows back into a negative). Not handling this +// case would often result in infinite recursion. +// +// Common constant values ZERO, ONE, NEG_ONE, etc. are defined below the from* +// methods on which they depend. + +/** + * An indicator used to reliably determine if an object is a Long or not. + * @type {boolean} + * @const + * @private + */ +Long.prototype.__isLong__; + +Object.defineProperty(Long.prototype, "__isLong__", { value: true }); + +/** + * @function + * @param {*} obj Object + * @returns {boolean} + * @inner + */ +function isLong(obj) { + return (obj && obj["__isLong__"]) === true; +} + +/** + * @function + * @param {*} value number + * @returns {number} + * @inner + */ +function ctz32(value) { + var c = Math.clz32(value & -value); + return value ? 31 - c : c; +} + +/** + * Tests if the specified object is a Long. + * @function + * @param {*} obj Object + * @returns {boolean} + */ +Long.isLong = isLong; + +/** + * A cache of the Long representations of small integer values. + * @type {!Object} + * @inner + */ +var INT_CACHE = {}; + +/** + * A cache of the Long representations of small unsigned integer values. + * @type {!Object} + * @inner + */ +var UINT_CACHE = {}; + +/** + * @param {number} value + * @param {boolean=} unsigned + * @returns {!Long} + * @inner + */ +function fromInt(value, unsigned) { + var obj, cachedObj, cache; + if (unsigned) { + value >>>= 0; + if (cache = (0 <= value && value < 256)) { + cachedObj = UINT_CACHE[value]; + if (cachedObj) + return cachedObj; + } + obj = fromBits(value, 0, true); + if (cache) + UINT_CACHE[value] = obj; + return obj; + } else { + value |= 0; + if (cache = (-128 <= value && value < 128)) { + cachedObj = INT_CACHE[value]; + if (cachedObj) + return cachedObj; + } + obj = fromBits(value, value < 0 ? -1 : 0, false); + if (cache) + INT_CACHE[value] = obj; + return obj; + } +} + +/** + * Returns a Long representing the given 32 bit integer value. + * @function + * @param {number} value The 32 bit integer in question + * @param {boolean=} unsigned Whether unsigned or not, defaults to signed + * @returns {!Long} The corresponding Long value + */ +Long.fromInt = fromInt; + +/** + * @param {number} value + * @param {boolean=} unsigned + * @returns {!Long} + * @inner + */ +function fromNumber(value, unsigned) { + if (isNaN(value)) + return unsigned ? UZERO : ZERO; + if (unsigned) { + if (value < 0) + return UZERO; + if (value >= TWO_PWR_64_DBL) + return MAX_UNSIGNED_VALUE; + } else { + if (value <= -TWO_PWR_63_DBL) + return MIN_VALUE; + if (value + 1 >= TWO_PWR_63_DBL) + return MAX_VALUE; + } + if (value < 0) + return fromNumber(-value, unsigned).neg(); + return fromBits((value % TWO_PWR_32_DBL) | 0, (value / TWO_PWR_32_DBL) | 0, unsigned); +} + +/** + * Returns a Long representing the given value, provided that it is a finite number. Otherwise, zero is returned. + * @function + * @param {number} value The number in question + * @param {boolean=} unsigned Whether unsigned or not, defaults to signed + * @returns {!Long} The corresponding Long value + */ +Long.fromNumber = fromNumber; + +/** + * @param {number} lowBits + * @param {number} highBits + * @param {boolean=} unsigned + * @returns {!Long} + * @inner + */ +function fromBits(lowBits, highBits, unsigned) { + return new Long(lowBits, highBits, unsigned); +} + +/** + * Returns a Long representing the 64 bit integer that comes by concatenating the given low and high bits. Each is + * assumed to use 32 bits. + * @function + * @param {number} lowBits The low 32 bits + * @param {number} highBits The high 32 bits + * @param {boolean=} unsigned Whether unsigned or not, defaults to signed + * @returns {!Long} The corresponding Long value + */ +Long.fromBits = fromBits; + +/** + * @function + * @param {number} base + * @param {number} exponent + * @returns {number} + * @inner + */ +var pow_dbl = Math.pow; // Used 4 times (4*8 to 15+4) + +/** + * @param {string} str + * @param {(boolean|number)=} unsigned + * @param {number=} radix + * @returns {!Long} + * @inner + */ +function fromString(str, unsigned, radix) { + if (str.length === 0) + throw Error('empty string'); + if (typeof unsigned === 'number') { + // For goog.math.long compatibility + radix = unsigned; + unsigned = false; + } else { + unsigned = !!unsigned; + } + if (str === "NaN" || str === "Infinity" || str === "+Infinity" || str === "-Infinity") + return unsigned ? UZERO : ZERO; + radix = radix || 10; + if (radix < 2 || 36 < radix) + throw RangeError('radix'); + + var p; + if ((p = str.indexOf('-')) > 0) + throw Error('interior hyphen'); + else if (p === 0) { + return fromString(str.substring(1), unsigned, radix).neg(); + } + + // Do several (8) digits each time through the loop, so as to + // minimize the calls to the very expensive emulated div. + var radixToPower = fromNumber(pow_dbl(radix, 8)); + + var result = ZERO; + for (var i = 0; i < str.length; i += 8) { + var size = Math.min(8, str.length - i), + value = parseInt(str.substring(i, i + size), radix); + if (size < 8) { + var power = fromNumber(pow_dbl(radix, size)); + result = result.mul(power).add(fromNumber(value)); + } else { + result = result.mul(radixToPower); + result = result.add(fromNumber(value)); + } + } + result.unsigned = unsigned; + return result; +} + +/** + * Returns a Long representation of the given string, written using the specified radix. + * @function + * @param {string} str The textual representation of the Long + * @param {(boolean|number)=} unsigned Whether unsigned or not, defaults to signed + * @param {number=} radix The radix in which the text is written (2-36), defaults to 10 + * @returns {!Long} The corresponding Long value + */ +Long.fromString = fromString; + +/** + * @function + * @param {!Long|number|string|!{low: number, high: number, unsigned: boolean}} val + * @param {boolean=} unsigned + * @returns {!Long} + * @inner + */ +function fromValue(val, unsigned) { + if (typeof val === 'number') + return fromNumber(val, unsigned); + if (typeof val === 'string') + return fromString(val, unsigned); + // Throws for non-objects, converts non-instanceof Long: + return fromBits(val.low, val.high, typeof unsigned === 'boolean' ? unsigned : val.unsigned); +} + +/** + * Converts the specified value to a Long using the appropriate from* function for its type. + * @function + * @param {!Long|number|string|!{low: number, high: number, unsigned: boolean}} val Value + * @param {boolean=} unsigned Whether unsigned or not, defaults to signed + * @returns {!Long} + */ +Long.fromValue = fromValue; + +// NOTE: the compiler should inline these constant values below and then remove these variables, so there should be +// no runtime penalty for these. + +/** + * @type {number} + * @const + * @inner + */ +var TWO_PWR_16_DBL = 1 << 16; + +/** + * @type {number} + * @const + * @inner + */ +var TWO_PWR_24_DBL = 1 << 24; + +/** + * @type {number} + * @const + * @inner + */ +var TWO_PWR_32_DBL = TWO_PWR_16_DBL * TWO_PWR_16_DBL; + +/** + * @type {number} + * @const + * @inner + */ +var TWO_PWR_64_DBL = TWO_PWR_32_DBL * TWO_PWR_32_DBL; + +/** + * @type {number} + * @const + * @inner + */ +var TWO_PWR_63_DBL = TWO_PWR_64_DBL / 2; + +/** + * @type {!Long} + * @const + * @inner + */ +var TWO_PWR_24 = fromInt(TWO_PWR_24_DBL); + +/** + * @type {!Long} + * @inner + */ +var ZERO = fromInt(0); + +/** + * Signed zero. + * @type {!Long} + */ +Long.ZERO = ZERO; + +/** + * @type {!Long} + * @inner + */ +var UZERO = fromInt(0, true); + +/** + * Unsigned zero. + * @type {!Long} + */ +Long.UZERO = UZERO; + +/** + * @type {!Long} + * @inner + */ +var ONE = fromInt(1); + +/** + * Signed one. + * @type {!Long} + */ +Long.ONE = ONE; + +/** + * @type {!Long} + * @inner + */ +var UONE = fromInt(1, true); + +/** + * Unsigned one. + * @type {!Long} + */ +Long.UONE = UONE; + +/** + * @type {!Long} + * @inner + */ +var NEG_ONE = fromInt(-1); + +/** + * Signed negative one. + * @type {!Long} + */ +Long.NEG_ONE = NEG_ONE; + +/** + * @type {!Long} + * @inner + */ +var MAX_VALUE = fromBits(0xFFFFFFFF | 0, 0x7FFFFFFF | 0, false); + +/** + * Maximum signed value. + * @type {!Long} + */ +Long.MAX_VALUE = MAX_VALUE; + +/** + * @type {!Long} + * @inner + */ +var MAX_UNSIGNED_VALUE = fromBits(0xFFFFFFFF | 0, 0xFFFFFFFF | 0, true); + +/** + * Maximum unsigned value. + * @type {!Long} + */ +Long.MAX_UNSIGNED_VALUE = MAX_UNSIGNED_VALUE; + +/** + * @type {!Long} + * @inner + */ +var MIN_VALUE = fromBits(0, 0x80000000 | 0, false); + +/** + * Minimum signed value. + * @type {!Long} + */ +Long.MIN_VALUE = MIN_VALUE; + +/** + * @alias Long.prototype + * @inner + */ +var LongPrototype = Long.prototype; + +/** + * Converts the Long to a 32 bit integer, assuming it is a 32 bit integer. + * @this {!Long} + * @returns {number} + */ +LongPrototype.toInt = function toInt() { + return this.unsigned ? this.low >>> 0 : this.low; +}; + +/** + * Converts the Long to a the nearest floating-point representation of this value (double, 53 bit mantissa). + * @this {!Long} + * @returns {number} + */ +LongPrototype.toNumber = function toNumber() { + if (this.unsigned) + return ((this.high >>> 0) * TWO_PWR_32_DBL) + (this.low >>> 0); + return this.high * TWO_PWR_32_DBL + (this.low >>> 0); +}; + +/** + * Converts the Long to a string written in the specified radix. + * @this {!Long} + * @param {number=} radix Radix (2-36), defaults to 10 + * @returns {string} + * @override + * @throws {RangeError} If `radix` is out of range + */ +LongPrototype.toString = function toString(radix) { + radix = radix || 10; + if (radix < 2 || 36 < radix) + throw RangeError('radix'); + if (this.isZero()) + return '0'; + if (this.isNegative()) { // Unsigned Longs are never negative + if (this.eq(MIN_VALUE)) { + // We need to change the Long value before it can be negated, so we remove + // the bottom-most digit in this base and then recurse to do the rest. + var radixLong = fromNumber(radix), + div = this.div(radixLong), + rem1 = div.mul(radixLong).sub(this); + return div.toString(radix) + rem1.toInt().toString(radix); + } else + return '-' + this.neg().toString(radix); + } + + // Do several (6) digits each time through the loop, so as to + // minimize the calls to the very expensive emulated div. + var radixToPower = fromNumber(pow_dbl(radix, 6), this.unsigned), + rem = this; + var result = ''; + while (true) { + var remDiv = rem.div(radixToPower), + intval = rem.sub(remDiv.mul(radixToPower)).toInt() >>> 0, + digits = intval.toString(radix); + rem = remDiv; + if (rem.isZero()) + return digits + result; + else { + while (digits.length < 6) + digits = '0' + digits; + result = '' + digits + result; + } + } +}; + +/** + * Gets the high 32 bits as a signed integer. + * @this {!Long} + * @returns {number} Signed high bits + */ +LongPrototype.getHighBits = function getHighBits() { + return this.high; +}; + +/** + * Gets the high 32 bits as an unsigned integer. + * @this {!Long} + * @returns {number} Unsigned high bits + */ +LongPrototype.getHighBitsUnsigned = function getHighBitsUnsigned() { + return this.high >>> 0; +}; + +/** + * Gets the low 32 bits as a signed integer. + * @this {!Long} + * @returns {number} Signed low bits + */ +LongPrototype.getLowBits = function getLowBits() { + return this.low; +}; + +/** + * Gets the low 32 bits as an unsigned integer. + * @this {!Long} + * @returns {number} Unsigned low bits + */ +LongPrototype.getLowBitsUnsigned = function getLowBitsUnsigned() { + return this.low >>> 0; +}; + +/** + * Gets the number of bits needed to represent the absolute value of this Long. + * @this {!Long} + * @returns {number} + */ +LongPrototype.getNumBitsAbs = function getNumBitsAbs() { + if (this.isNegative()) // Unsigned Longs are never negative + return this.eq(MIN_VALUE) ? 64 : this.neg().getNumBitsAbs(); + var val = this.high != 0 ? this.high : this.low; + for (var bit = 31; bit > 0; bit--) + if ((val & (1 << bit)) != 0) + break; + return this.high != 0 ? bit + 33 : bit + 1; +}; + +/** + * Tests if this Long's value equals zero. + * @this {!Long} + * @returns {boolean} + */ +LongPrototype.isZero = function isZero() { + return this.high === 0 && this.low === 0; +}; + +/** + * Tests if this Long's value equals zero. This is an alias of {@link Long#isZero}. + * @returns {boolean} + */ +LongPrototype.eqz = LongPrototype.isZero; + +/** + * Tests if this Long's value is negative. + * @this {!Long} + * @returns {boolean} + */ +LongPrototype.isNegative = function isNegative() { + return !this.unsigned && this.high < 0; +}; + +/** + * Tests if this Long's value is positive or zero. + * @this {!Long} + * @returns {boolean} + */ +LongPrototype.isPositive = function isPositive() { + return this.unsigned || this.high >= 0; +}; + +/** + * Tests if this Long's value is odd. + * @this {!Long} + * @returns {boolean} + */ +LongPrototype.isOdd = function isOdd() { + return (this.low & 1) === 1; +}; + +/** + * Tests if this Long's value is even. + * @this {!Long} + * @returns {boolean} + */ +LongPrototype.isEven = function isEven() { + return (this.low & 1) === 0; +}; + +/** + * Tests if this Long's value equals the specified's. + * @this {!Long} + * @param {!Long|number|string} other Other value + * @returns {boolean} + */ +LongPrototype.equals = function equals(other) { + if (!isLong(other)) + other = fromValue(other); + if (this.unsigned !== other.unsigned && (this.high >>> 31) === 1 && (other.high >>> 31) === 1) + return false; + return this.high === other.high && this.low === other.low; +}; + +/** + * Tests if this Long's value equals the specified's. This is an alias of {@link Long#equals}. + * @function + * @param {!Long|number|string} other Other value + * @returns {boolean} + */ +LongPrototype.eq = LongPrototype.equals; + +/** + * Tests if this Long's value differs from the specified's. + * @this {!Long} + * @param {!Long|number|string} other Other value + * @returns {boolean} + */ +LongPrototype.notEquals = function notEquals(other) { + return !this.eq(/* validates */ other); +}; + +/** + * Tests if this Long's value differs from the specified's. This is an alias of {@link Long#notEquals}. + * @function + * @param {!Long|number|string} other Other value + * @returns {boolean} + */ +LongPrototype.neq = LongPrototype.notEquals; + +/** + * Tests if this Long's value differs from the specified's. This is an alias of {@link Long#notEquals}. + * @function + * @param {!Long|number|string} other Other value + * @returns {boolean} + */ +LongPrototype.ne = LongPrototype.notEquals; + +/** + * Tests if this Long's value is less than the specified's. + * @this {!Long} + * @param {!Long|number|string} other Other value + * @returns {boolean} + */ +LongPrototype.lessThan = function lessThan(other) { + return this.comp(/* validates */ other) < 0; +}; + +/** + * Tests if this Long's value is less than the specified's. This is an alias of {@link Long#lessThan}. + * @function + * @param {!Long|number|string} other Other value + * @returns {boolean} + */ +LongPrototype.lt = LongPrototype.lessThan; + +/** + * Tests if this Long's value is less than or equal the specified's. + * @this {!Long} + * @param {!Long|number|string} other Other value + * @returns {boolean} + */ +LongPrototype.lessThanOrEqual = function lessThanOrEqual(other) { + return this.comp(/* validates */ other) <= 0; +}; + +/** + * Tests if this Long's value is less than or equal the specified's. This is an alias of {@link Long#lessThanOrEqual}. + * @function + * @param {!Long|number|string} other Other value + * @returns {boolean} + */ +LongPrototype.lte = LongPrototype.lessThanOrEqual; + +/** + * Tests if this Long's value is less than or equal the specified's. This is an alias of {@link Long#lessThanOrEqual}. + * @function + * @param {!Long|number|string} other Other value + * @returns {boolean} + */ +LongPrototype.le = LongPrototype.lessThanOrEqual; + +/** + * Tests if this Long's value is greater than the specified's. + * @this {!Long} + * @param {!Long|number|string} other Other value + * @returns {boolean} + */ +LongPrototype.greaterThan = function greaterThan(other) { + return this.comp(/* validates */ other) > 0; +}; + +/** + * Tests if this Long's value is greater than the specified's. This is an alias of {@link Long#greaterThan}. + * @function + * @param {!Long|number|string} other Other value + * @returns {boolean} + */ +LongPrototype.gt = LongPrototype.greaterThan; + +/** + * Tests if this Long's value is greater than or equal the specified's. + * @this {!Long} + * @param {!Long|number|string} other Other value + * @returns {boolean} + */ +LongPrototype.greaterThanOrEqual = function greaterThanOrEqual(other) { + return this.comp(/* validates */ other) >= 0; +}; + +/** + * Tests if this Long's value is greater than or equal the specified's. This is an alias of {@link Long#greaterThanOrEqual}. + * @function + * @param {!Long|number|string} other Other value + * @returns {boolean} + */ +LongPrototype.gte = LongPrototype.greaterThanOrEqual; + +/** + * Tests if this Long's value is greater than or equal the specified's. This is an alias of {@link Long#greaterThanOrEqual}. + * @function + * @param {!Long|number|string} other Other value + * @returns {boolean} + */ +LongPrototype.ge = LongPrototype.greaterThanOrEqual; + +/** + * Compares this Long's value with the specified's. + * @this {!Long} + * @param {!Long|number|string} other Other value + * @returns {number} 0 if they are the same, 1 if the this is greater and -1 + * if the given one is greater + */ +LongPrototype.compare = function compare(other) { + if (!isLong(other)) + other = fromValue(other); + if (this.eq(other)) + return 0; + var thisNeg = this.isNegative(), + otherNeg = other.isNegative(); + if (thisNeg && !otherNeg) + return -1; + if (!thisNeg && otherNeg) + return 1; + // At this point the sign bits are the same + if (!this.unsigned) + return this.sub(other).isNegative() ? -1 : 1; + // Both are positive if at least one is unsigned + return (other.high >>> 0) > (this.high >>> 0) || (other.high === this.high && (other.low >>> 0) > (this.low >>> 0)) ? -1 : 1; +}; + +/** + * Compares this Long's value with the specified's. This is an alias of {@link Long#compare}. + * @function + * @param {!Long|number|string} other Other value + * @returns {number} 0 if they are the same, 1 if the this is greater and -1 + * if the given one is greater + */ +LongPrototype.comp = LongPrototype.compare; + +/** + * Negates this Long's value. + * @this {!Long} + * @returns {!Long} Negated Long + */ +LongPrototype.negate = function negate() { + if (!this.unsigned && this.eq(MIN_VALUE)) + return MIN_VALUE; + return this.not().add(ONE); +}; + +/** + * Negates this Long's value. This is an alias of {@link Long#negate}. + * @function + * @returns {!Long} Negated Long + */ +LongPrototype.neg = LongPrototype.negate; + +/** + * Returns the sum of this and the specified Long. + * @this {!Long} + * @param {!Long|number|string} addend Addend + * @returns {!Long} Sum + */ +LongPrototype.add = function add(addend) { + if (!isLong(addend)) + addend = fromValue(addend); + + // Divide each number into 4 chunks of 16 bits, and then sum the chunks. + + var a48 = this.high >>> 16; + var a32 = this.high & 0xFFFF; + var a16 = this.low >>> 16; + var a00 = this.low & 0xFFFF; + + var b48 = addend.high >>> 16; + var b32 = addend.high & 0xFFFF; + var b16 = addend.low >>> 16; + var b00 = addend.low & 0xFFFF; + + var c48 = 0, c32 = 0, c16 = 0, c00 = 0; + c00 += a00 + b00; + c16 += c00 >>> 16; + c00 &= 0xFFFF; + c16 += a16 + b16; + c32 += c16 >>> 16; + c16 &= 0xFFFF; + c32 += a32 + b32; + c48 += c32 >>> 16; + c32 &= 0xFFFF; + c48 += a48 + b48; + c48 &= 0xFFFF; + return fromBits((c16 << 16) | c00, (c48 << 16) | c32, this.unsigned); +}; + +/** + * Returns the difference of this and the specified Long. + * @this {!Long} + * @param {!Long|number|string} subtrahend Subtrahend + * @returns {!Long} Difference + */ +LongPrototype.subtract = function subtract(subtrahend) { + if (!isLong(subtrahend)) + subtrahend = fromValue(subtrahend); + return this.add(subtrahend.neg()); +}; + +/** + * Returns the difference of this and the specified Long. This is an alias of {@link Long#subtract}. + * @function + * @param {!Long|number|string} subtrahend Subtrahend + * @returns {!Long} Difference + */ +LongPrototype.sub = LongPrototype.subtract; + +/** + * Returns the product of this and the specified Long. + * @this {!Long} + * @param {!Long|number|string} multiplier Multiplier + * @returns {!Long} Product + */ +LongPrototype.multiply = function multiply(multiplier) { + if (this.isZero()) + return this; + if (!isLong(multiplier)) + multiplier = fromValue(multiplier); + + // use wasm support if present + if (wasm) { + var low = wasm["mul"](this.low, + this.high, + multiplier.low, + multiplier.high); + return fromBits(low, wasm["get_high"](), this.unsigned); + } + + if (multiplier.isZero()) + return this.unsigned ? UZERO : ZERO; + if (this.eq(MIN_VALUE)) + return multiplier.isOdd() ? MIN_VALUE : ZERO; + if (multiplier.eq(MIN_VALUE)) + return this.isOdd() ? MIN_VALUE : ZERO; + + if (this.isNegative()) { + if (multiplier.isNegative()) + return this.neg().mul(multiplier.neg()); + else + return this.neg().mul(multiplier).neg(); + } else if (multiplier.isNegative()) + return this.mul(multiplier.neg()).neg(); + + // If both longs are small, use float multiplication + if (this.lt(TWO_PWR_24) && multiplier.lt(TWO_PWR_24)) + return fromNumber(this.toNumber() * multiplier.toNumber(), this.unsigned); + + // Divide each long into 4 chunks of 16 bits, and then add up 4x4 products. + // We can skip products that would overflow. + + var a48 = this.high >>> 16; + var a32 = this.high & 0xFFFF; + var a16 = this.low >>> 16; + var a00 = this.low & 0xFFFF; + + var b48 = multiplier.high >>> 16; + var b32 = multiplier.high & 0xFFFF; + var b16 = multiplier.low >>> 16; + var b00 = multiplier.low & 0xFFFF; + + var c48 = 0, c32 = 0, c16 = 0, c00 = 0; + c00 += a00 * b00; + c16 += c00 >>> 16; + c00 &= 0xFFFF; + c16 += a16 * b00; + c32 += c16 >>> 16; + c16 &= 0xFFFF; + c16 += a00 * b16; + c32 += c16 >>> 16; + c16 &= 0xFFFF; + c32 += a32 * b00; + c48 += c32 >>> 16; + c32 &= 0xFFFF; + c32 += a16 * b16; + c48 += c32 >>> 16; + c32 &= 0xFFFF; + c32 += a00 * b32; + c48 += c32 >>> 16; + c32 &= 0xFFFF; + c48 += a48 * b00 + a32 * b16 + a16 * b32 + a00 * b48; + c48 &= 0xFFFF; + return fromBits((c16 << 16) | c00, (c48 << 16) | c32, this.unsigned); +}; + +/** + * Returns the product of this and the specified Long. This is an alias of {@link Long#multiply}. + * @function + * @param {!Long|number|string} multiplier Multiplier + * @returns {!Long} Product + */ +LongPrototype.mul = LongPrototype.multiply; + +/** + * Returns this Long divided by the specified. The result is signed if this Long is signed or + * unsigned if this Long is unsigned. + * @this {!Long} + * @param {!Long|number|string} divisor Divisor + * @returns {!Long} Quotient + */ +LongPrototype.divide = function divide(divisor) { + if (!isLong(divisor)) + divisor = fromValue(divisor); + if (divisor.isZero()) + throw Error('division by zero'); + + // use wasm support if present + if (wasm) { + // guard against signed division overflow: the largest + // negative number / -1 would be 1 larger than the largest + // positive number, due to two's complement. + if (!this.unsigned && + this.high === -0x80000000 && + divisor.low === -1 && divisor.high === -1) { + // be consistent with non-wasm code path + return this; + } + var low = (this.unsigned ? wasm["div_u"] : wasm["div_s"])( + this.low, + this.high, + divisor.low, + divisor.high + ); + return fromBits(low, wasm["get_high"](), this.unsigned); + } + + if (this.isZero()) + return this.unsigned ? UZERO : ZERO; + var approx, rem, res; + if (!this.unsigned) { + // This section is only relevant for signed longs and is derived from the + // closure library as a whole. + if (this.eq(MIN_VALUE)) { + if (divisor.eq(ONE) || divisor.eq(NEG_ONE)) + return MIN_VALUE; // recall that -MIN_VALUE == MIN_VALUE + else if (divisor.eq(MIN_VALUE)) + return ONE; + else { + // At this point, we have |other| >= 2, so |this/other| < |MIN_VALUE|. + var halfThis = this.shr(1); + approx = halfThis.div(divisor).shl(1); + if (approx.eq(ZERO)) { + return divisor.isNegative() ? ONE : NEG_ONE; + } else { + rem = this.sub(divisor.mul(approx)); + res = approx.add(rem.div(divisor)); + return res; + } + } + } else if (divisor.eq(MIN_VALUE)) + return this.unsigned ? UZERO : ZERO; + if (this.isNegative()) { + if (divisor.isNegative()) + return this.neg().div(divisor.neg()); + return this.neg().div(divisor).neg(); + } else if (divisor.isNegative()) + return this.div(divisor.neg()).neg(); + res = ZERO; + } else { + // The algorithm below has not been made for unsigned longs. It's therefore + // required to take special care of the MSB prior to running it. + if (!divisor.unsigned) + divisor = divisor.toUnsigned(); + if (divisor.gt(this)) + return UZERO; + if (divisor.gt(this.shru(1))) // 15 >>> 1 = 7 ; with divisor = 8 ; true + return UONE; + res = UZERO; + } + + // Repeat the following until the remainder is less than other: find a + // floating-point that approximates remainder / other *from below*, add this + // into the result, and subtract it from the remainder. It is critical that + // the approximate value is less than or equal to the real value so that the + // remainder never becomes negative. + rem = this; + while (rem.gte(divisor)) { + // Approximate the result of division. This may be a little greater or + // smaller than the actual value. + approx = Math.max(1, Math.floor(rem.toNumber() / divisor.toNumber())); + + // We will tweak the approximate result by changing it in the 48-th digit or + // the smallest non-fractional digit, whichever is larger. + var log2 = Math.ceil(Math.log(approx) / Math.LN2), + delta = (log2 <= 48) ? 1 : pow_dbl(2, log2 - 48), + + // Decrease the approximation until it is smaller than the remainder. Note + // that if it is too large, the product overflows and is negative. + approxRes = fromNumber(approx), + approxRem = approxRes.mul(divisor); + while (approxRem.isNegative() || approxRem.gt(rem)) { + approx -= delta; + approxRes = fromNumber(approx, this.unsigned); + approxRem = approxRes.mul(divisor); + } + + // We know the answer can't be zero... and actually, zero would cause + // infinite recursion since we would make no progress. + if (approxRes.isZero()) + approxRes = ONE; + + res = res.add(approxRes); + rem = rem.sub(approxRem); + } + return res; +}; + +/** + * Returns this Long divided by the specified. This is an alias of {@link Long#divide}. + * @function + * @param {!Long|number|string} divisor Divisor + * @returns {!Long} Quotient + */ +LongPrototype.div = LongPrototype.divide; + +/** + * Returns this Long modulo the specified. + * @this {!Long} + * @param {!Long|number|string} divisor Divisor + * @returns {!Long} Remainder + */ +LongPrototype.modulo = function modulo(divisor) { + if (!isLong(divisor)) + divisor = fromValue(divisor); + + // use wasm support if present + if (wasm) { + var low = (this.unsigned ? wasm["rem_u"] : wasm["rem_s"])( + this.low, + this.high, + divisor.low, + divisor.high + ); + return fromBits(low, wasm["get_high"](), this.unsigned); + } + + return this.sub(this.div(divisor).mul(divisor)); +}; + +/** + * Returns this Long modulo the specified. This is an alias of {@link Long#modulo}. + * @function + * @param {!Long|number|string} divisor Divisor + * @returns {!Long} Remainder + */ +LongPrototype.mod = LongPrototype.modulo; + +/** + * Returns this Long modulo the specified. This is an alias of {@link Long#modulo}. + * @function + * @param {!Long|number|string} divisor Divisor + * @returns {!Long} Remainder + */ +LongPrototype.rem = LongPrototype.modulo; + +/** + * Returns the bitwise NOT of this Long. + * @this {!Long} + * @returns {!Long} + */ +LongPrototype.not = function not() { + return fromBits(~this.low, ~this.high, this.unsigned); +}; + +/** + * Returns count leading zeros of this Long. + * @this {!Long} + * @returns {!number} + */ +LongPrototype.countLeadingZeros = function countLeadingZeros() { + return this.high ? Math.clz32(this.high) : Math.clz32(this.low) + 32; +}; + +/** + * Returns count leading zeros. This is an alias of {@link Long#countLeadingZeros}. + * @function + * @param {!Long} + * @returns {!number} + */ +LongPrototype.clz = LongPrototype.countLeadingZeros; + +/** + * Returns count trailing zeros of this Long. + * @this {!Long} + * @returns {!number} + */ +LongPrototype.countTrailingZeros = function countTrailingZeros() { + return this.low ? ctz32(this.low) : ctz32(this.high) + 32; +}; + +/** + * Returns count trailing zeros. This is an alias of {@link Long#countTrailingZeros}. + * @function + * @param {!Long} + * @returns {!number} + */ +LongPrototype.ctz = LongPrototype.countTrailingZeros; + +/** + * Returns the bitwise AND of this Long and the specified. + * @this {!Long} + * @param {!Long|number|string} other Other Long + * @returns {!Long} + */ +LongPrototype.and = function and(other) { + if (!isLong(other)) + other = fromValue(other); + return fromBits(this.low & other.low, this.high & other.high, this.unsigned); +}; + +/** + * Returns the bitwise OR of this Long and the specified. + * @this {!Long} + * @param {!Long|number|string} other Other Long + * @returns {!Long} + */ +LongPrototype.or = function or(other) { + if (!isLong(other)) + other = fromValue(other); + return fromBits(this.low | other.low, this.high | other.high, this.unsigned); +}; + +/** + * Returns the bitwise XOR of this Long and the given one. + * @this {!Long} + * @param {!Long|number|string} other Other Long + * @returns {!Long} + */ +LongPrototype.xor = function xor(other) { + if (!isLong(other)) + other = fromValue(other); + return fromBits(this.low ^ other.low, this.high ^ other.high, this.unsigned); +}; + +/** + * Returns this Long with bits shifted to the left by the given amount. + * @this {!Long} + * @param {number|!Long} numBits Number of bits + * @returns {!Long} Shifted Long + */ +LongPrototype.shiftLeft = function shiftLeft(numBits) { + if (isLong(numBits)) + numBits = numBits.toInt(); + if ((numBits &= 63) === 0) + return this; + else if (numBits < 32) + return fromBits(this.low << numBits, (this.high << numBits) | (this.low >>> (32 - numBits)), this.unsigned); + else + return fromBits(0, this.low << (numBits - 32), this.unsigned); +}; + +/** + * Returns this Long with bits shifted to the left by the given amount. This is an alias of {@link Long#shiftLeft}. + * @function + * @param {number|!Long} numBits Number of bits + * @returns {!Long} Shifted Long + */ +LongPrototype.shl = LongPrototype.shiftLeft; + +/** + * Returns this Long with bits arithmetically shifted to the right by the given amount. + * @this {!Long} + * @param {number|!Long} numBits Number of bits + * @returns {!Long} Shifted Long + */ +LongPrototype.shiftRight = function shiftRight(numBits) { + if (isLong(numBits)) + numBits = numBits.toInt(); + if ((numBits &= 63) === 0) + return this; + else if (numBits < 32) + return fromBits((this.low >>> numBits) | (this.high << (32 - numBits)), this.high >> numBits, this.unsigned); + else + return fromBits(this.high >> (numBits - 32), this.high >= 0 ? 0 : -1, this.unsigned); +}; + +/** + * Returns this Long with bits arithmetically shifted to the right by the given amount. This is an alias of {@link Long#shiftRight}. + * @function + * @param {number|!Long} numBits Number of bits + * @returns {!Long} Shifted Long + */ +LongPrototype.shr = LongPrototype.shiftRight; + +/** + * Returns this Long with bits logically shifted to the right by the given amount. + * @this {!Long} + * @param {number|!Long} numBits Number of bits + * @returns {!Long} Shifted Long + */ +LongPrototype.shiftRightUnsigned = function shiftRightUnsigned(numBits) { + if (isLong(numBits)) numBits = numBits.toInt(); + if ((numBits &= 63) === 0) return this; + if (numBits < 32) return fromBits((this.low >>> numBits) | (this.high << (32 - numBits)), this.high >>> numBits, this.unsigned); + if (numBits === 32) return fromBits(this.high, 0, this.unsigned); + return fromBits(this.high >>> (numBits - 32), 0, this.unsigned); +}; + +/** + * Returns this Long with bits logically shifted to the right by the given amount. This is an alias of {@link Long#shiftRightUnsigned}. + * @function + * @param {number|!Long} numBits Number of bits + * @returns {!Long} Shifted Long + */ +LongPrototype.shru = LongPrototype.shiftRightUnsigned; + +/** + * Returns this Long with bits logically shifted to the right by the given amount. This is an alias of {@link Long#shiftRightUnsigned}. + * @function + * @param {number|!Long} numBits Number of bits + * @returns {!Long} Shifted Long + */ +LongPrototype.shr_u = LongPrototype.shiftRightUnsigned; + +/** + * Returns this Long with bits rotated to the left by the given amount. + * @this {!Long} + * @param {number|!Long} numBits Number of bits + * @returns {!Long} Rotated Long + */ +LongPrototype.rotateLeft = function rotateLeft(numBits) { + var b; + if (isLong(numBits)) numBits = numBits.toInt(); + if ((numBits &= 63) === 0) return this; + if (numBits === 32) return fromBits(this.high, this.low, this.unsigned); + if (numBits < 32) { + b = (32 - numBits); + return fromBits(((this.low << numBits) | (this.high >>> b)), ((this.high << numBits) | (this.low >>> b)), this.unsigned); + } + numBits -= 32; + b = (32 - numBits); + return fromBits(((this.high << numBits) | (this.low >>> b)), ((this.low << numBits) | (this.high >>> b)), this.unsigned); +} +/** + * Returns this Long with bits rotated to the left by the given amount. This is an alias of {@link Long#rotateLeft}. + * @function + * @param {number|!Long} numBits Number of bits + * @returns {!Long} Rotated Long + */ +LongPrototype.rotl = LongPrototype.rotateLeft; + +/** + * Returns this Long with bits rotated to the right by the given amount. + * @this {!Long} + * @param {number|!Long} numBits Number of bits + * @returns {!Long} Rotated Long + */ +LongPrototype.rotateRight = function rotateRight(numBits) { + var b; + if (isLong(numBits)) numBits = numBits.toInt(); + if ((numBits &= 63) === 0) return this; + if (numBits === 32) return fromBits(this.high, this.low, this.unsigned); + if (numBits < 32) { + b = (32 - numBits); + return fromBits(((this.high << b) | (this.low >>> numBits)), ((this.low << b) | (this.high >>> numBits)), this.unsigned); + } + numBits -= 32; + b = (32 - numBits); + return fromBits(((this.low << b) | (this.high >>> numBits)), ((this.high << b) | (this.low >>> numBits)), this.unsigned); +} +/** + * Returns this Long with bits rotated to the right by the given amount. This is an alias of {@link Long#rotateRight}. + * @function + * @param {number|!Long} numBits Number of bits + * @returns {!Long} Rotated Long + */ +LongPrototype.rotr = LongPrototype.rotateRight; + +/** + * Converts this Long to signed. + * @this {!Long} + * @returns {!Long} Signed long + */ +LongPrototype.toSigned = function toSigned() { + if (!this.unsigned) + return this; + return fromBits(this.low, this.high, false); +}; + +/** + * Converts this Long to unsigned. + * @this {!Long} + * @returns {!Long} Unsigned long + */ +LongPrototype.toUnsigned = function toUnsigned() { + if (this.unsigned) + return this; + return fromBits(this.low, this.high, true); +}; + +/** + * Converts this Long to its byte representation. + * @param {boolean=} le Whether little or big endian, defaults to big endian + * @this {!Long} + * @returns {!Array.} Byte representation + */ +LongPrototype.toBytes = function toBytes(le) { + return le ? this.toBytesLE() : this.toBytesBE(); +}; + +/** + * Converts this Long to its little endian byte representation. + * @this {!Long} + * @returns {!Array.} Little endian byte representation + */ +LongPrototype.toBytesLE = function toBytesLE() { + var hi = this.high, + lo = this.low; + return [ + lo & 0xff, + lo >>> 8 & 0xff, + lo >>> 16 & 0xff, + lo >>> 24, + hi & 0xff, + hi >>> 8 & 0xff, + hi >>> 16 & 0xff, + hi >>> 24 + ]; +}; + +/** + * Converts this Long to its big endian byte representation. + * @this {!Long} + * @returns {!Array.} Big endian byte representation + */ +LongPrototype.toBytesBE = function toBytesBE() { + var hi = this.high, + lo = this.low; + return [ + hi >>> 24, + hi >>> 16 & 0xff, + hi >>> 8 & 0xff, + hi & 0xff, + lo >>> 24, + lo >>> 16 & 0xff, + lo >>> 8 & 0xff, + lo & 0xff + ]; +}; + +/** + * Creates a Long from its byte representation. + * @param {!Array.} bytes Byte representation + * @param {boolean=} unsigned Whether unsigned or not, defaults to signed + * @param {boolean=} le Whether little or big endian, defaults to big endian + * @returns {Long} The corresponding Long value + */ +Long.fromBytes = function fromBytes(bytes, unsigned, le) { + return le ? Long.fromBytesLE(bytes, unsigned) : Long.fromBytesBE(bytes, unsigned); +}; + +/** + * Creates a Long from its little endian byte representation. + * @param {!Array.} bytes Little endian byte representation + * @param {boolean=} unsigned Whether unsigned or not, defaults to signed + * @returns {Long} The corresponding Long value + */ +Long.fromBytesLE = function fromBytesLE(bytes, unsigned) { + return new Long( + bytes[0] | + bytes[1] << 8 | + bytes[2] << 16 | + bytes[3] << 24, + bytes[4] | + bytes[5] << 8 | + bytes[6] << 16 | + bytes[7] << 24, + unsigned + ); +}; + +/** + * Creates a Long from its big endian byte representation. + * @param {!Array.} bytes Big endian byte representation + * @param {boolean=} unsigned Whether unsigned or not, defaults to signed + * @returns {Long} The corresponding Long value + */ +Long.fromBytesBE = function fromBytesBE(bytes, unsigned) { + return new Long( + bytes[4] << 24 | + bytes[5] << 16 | + bytes[6] << 8 | + bytes[7], + bytes[0] << 24 | + bytes[1] << 16 | + bytes[2] << 8 | + bytes[3], + unsigned + ); +}; + +export default Long; diff --git a/platforms/Arduino/node_modules/long/package.json b/platforms/Arduino/node_modules/long/package.json new file mode 100644 index 00000000..3a063620 --- /dev/null +++ b/platforms/Arduino/node_modules/long/package.json @@ -0,0 +1,50 @@ +{ + "name": "long", + "version": "5.2.3", + "author": "Daniel Wirtz ", + "description": "A Long class for representing a 64-bit two's-complement integer value.", + "repository": { + "type": "git", + "url": "https://github.com/dcodeIO/long.js.git" + }, + "bugs": { + "url": "https://github.com/dcodeIO/long.js/issues" + }, + "keywords": [ + "math", + "long", + "int64" + ], + "license": "Apache-2.0", + "type": "module", + "main": "umd/index.js", + "types": "umd/index.d.ts", + "exports": { + ".": { + "import": { + "types": "./index.d.ts", + "default": "./index.js" + }, + "require": { + "types": "./umd/index.d.ts", + "default": "./umd/index.js" + } + } + }, + "scripts": { + "build": "esm2umd Long index.js > umd/index.js", + "test": "node tests" + }, + "files": [ + "index.js", + "index.d.ts", + "umd/index.js", + "umd/index.d.ts", + "umd/package.json", + "LICENSE", + "README.md" + ], + "devDependencies": { + "esm2umd": "^0.2.1" + } +} diff --git a/platforms/Arduino/node_modules/long/umd/index.d.ts b/platforms/Arduino/node_modules/long/umd/index.d.ts new file mode 100644 index 00000000..c623535c --- /dev/null +++ b/platforms/Arduino/node_modules/long/umd/index.d.ts @@ -0,0 +1,2 @@ +import Long from "../index.js"; +export = Long; diff --git a/platforms/Arduino/node_modules/long/umd/index.js b/platforms/Arduino/node_modules/long/umd/index.js new file mode 100644 index 00000000..a6ccd9cc --- /dev/null +++ b/platforms/Arduino/node_modules/long/umd/index.js @@ -0,0 +1,1432 @@ +// GENERATED FILE. DO NOT EDIT. +var Long = (function(exports) { + "use strict"; + + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = void 0; + + /** + * @license + * Copyright 2009 The Closure Library Authors + * Copyright 2020 Daniel Wirtz / The long.js Authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ + // WebAssembly optimizations to do native i64 multiplication and divide + var wasm = null; + + try { + wasm = new WebAssembly.Instance(new WebAssembly.Module(new Uint8Array([0, 97, 115, 109, 1, 0, 0, 0, 1, 13, 2, 96, 0, 1, 127, 96, 4, 127, 127, 127, 127, 1, 127, 3, 7, 6, 0, 1, 1, 1, 1, 1, 6, 6, 1, 127, 1, 65, 0, 11, 7, 50, 6, 3, 109, 117, 108, 0, 1, 5, 100, 105, 118, 95, 115, 0, 2, 5, 100, 105, 118, 95, 117, 0, 3, 5, 114, 101, 109, 95, 115, 0, 4, 5, 114, 101, 109, 95, 117, 0, 5, 8, 103, 101, 116, 95, 104, 105, 103, 104, 0, 0, 10, 191, 1, 6, 4, 0, 35, 0, 11, 36, 1, 1, 126, 32, 0, 173, 32, 1, 173, 66, 32, 134, 132, 32, 2, 173, 32, 3, 173, 66, 32, 134, 132, 126, 34, 4, 66, 32, 135, 167, 36, 0, 32, 4, 167, 11, 36, 1, 1, 126, 32, 0, 173, 32, 1, 173, 66, 32, 134, 132, 32, 2, 173, 32, 3, 173, 66, 32, 134, 132, 127, 34, 4, 66, 32, 135, 167, 36, 0, 32, 4, 167, 11, 36, 1, 1, 126, 32, 0, 173, 32, 1, 173, 66, 32, 134, 132, 32, 2, 173, 32, 3, 173, 66, 32, 134, 132, 128, 34, 4, 66, 32, 135, 167, 36, 0, 32, 4, 167, 11, 36, 1, 1, 126, 32, 0, 173, 32, 1, 173, 66, 32, 134, 132, 32, 2, 173, 32, 3, 173, 66, 32, 134, 132, 129, 34, 4, 66, 32, 135, 167, 36, 0, 32, 4, 167, 11, 36, 1, 1, 126, 32, 0, 173, 32, 1, 173, 66, 32, 134, 132, 32, 2, 173, 32, 3, 173, 66, 32, 134, 132, 130, 34, 4, 66, 32, 135, 167, 36, 0, 32, 4, 167, 11])), {}).exports; + } catch (e) {// no wasm support :( + } + /** + * Constructs a 64 bit two's-complement integer, given its low and high 32 bit values as *signed* integers. + * See the from* functions below for more convenient ways of constructing Longs. + * @exports Long + * @class A Long class for representing a 64 bit two's-complement integer value. + * @param {number} low The low (signed) 32 bits of the long + * @param {number} high The high (signed) 32 bits of the long + * @param {boolean=} unsigned Whether unsigned or not, defaults to signed + * @constructor + */ + + + function Long(low, high, unsigned) { + /** + * The low 32 bits as a signed value. + * @type {number} + */ + this.low = low | 0; + /** + * The high 32 bits as a signed value. + * @type {number} + */ + + this.high = high | 0; + /** + * Whether unsigned or not. + * @type {boolean} + */ + + this.unsigned = !!unsigned; + } // The internal representation of a long is the two given signed, 32-bit values. + // We use 32-bit pieces because these are the size of integers on which + // Javascript performs bit-operations. For operations like addition and + // multiplication, we split each number into 16 bit pieces, which can easily be + // multiplied within Javascript's floating-point representation without overflow + // or change in sign. + // + // In the algorithms below, we frequently reduce the negative case to the + // positive case by negating the input(s) and then post-processing the result. + // Note that we must ALWAYS check specially whether those values are MIN_VALUE + // (-2^63) because -MIN_VALUE == MIN_VALUE (since 2^63 cannot be represented as + // a positive number, it overflows back into a negative). Not handling this + // case would often result in infinite recursion. + // + // Common constant values ZERO, ONE, NEG_ONE, etc. are defined below the from* + // methods on which they depend. + + /** + * An indicator used to reliably determine if an object is a Long or not. + * @type {boolean} + * @const + * @private + */ + + + Long.prototype.__isLong__; + Object.defineProperty(Long.prototype, "__isLong__", { + value: true + }); + /** + * @function + * @param {*} obj Object + * @returns {boolean} + * @inner + */ + + function isLong(obj) { + return (obj && obj["__isLong__"]) === true; + } + /** + * @function + * @param {*} value number + * @returns {number} + * @inner + */ + + + function ctz32(value) { + var c = Math.clz32(value & -value); + return value ? 31 - c : c; + } + /** + * Tests if the specified object is a Long. + * @function + * @param {*} obj Object + * @returns {boolean} + */ + + + Long.isLong = isLong; + /** + * A cache of the Long representations of small integer values. + * @type {!Object} + * @inner + */ + + var INT_CACHE = {}; + /** + * A cache of the Long representations of small unsigned integer values. + * @type {!Object} + * @inner + */ + + var UINT_CACHE = {}; + /** + * @param {number} value + * @param {boolean=} unsigned + * @returns {!Long} + * @inner + */ + + function fromInt(value, unsigned) { + var obj, cachedObj, cache; + + if (unsigned) { + value >>>= 0; + + if (cache = 0 <= value && value < 256) { + cachedObj = UINT_CACHE[value]; + if (cachedObj) return cachedObj; + } + + obj = fromBits(value, 0, true); + if (cache) UINT_CACHE[value] = obj; + return obj; + } else { + value |= 0; + + if (cache = -128 <= value && value < 128) { + cachedObj = INT_CACHE[value]; + if (cachedObj) return cachedObj; + } + + obj = fromBits(value, value < 0 ? -1 : 0, false); + if (cache) INT_CACHE[value] = obj; + return obj; + } + } + /** + * Returns a Long representing the given 32 bit integer value. + * @function + * @param {number} value The 32 bit integer in question + * @param {boolean=} unsigned Whether unsigned or not, defaults to signed + * @returns {!Long} The corresponding Long value + */ + + + Long.fromInt = fromInt; + /** + * @param {number} value + * @param {boolean=} unsigned + * @returns {!Long} + * @inner + */ + + function fromNumber(value, unsigned) { + if (isNaN(value)) return unsigned ? UZERO : ZERO; + + if (unsigned) { + if (value < 0) return UZERO; + if (value >= TWO_PWR_64_DBL) return MAX_UNSIGNED_VALUE; + } else { + if (value <= -TWO_PWR_63_DBL) return MIN_VALUE; + if (value + 1 >= TWO_PWR_63_DBL) return MAX_VALUE; + } + + if (value < 0) return fromNumber(-value, unsigned).neg(); + return fromBits(value % TWO_PWR_32_DBL | 0, value / TWO_PWR_32_DBL | 0, unsigned); + } + /** + * Returns a Long representing the given value, provided that it is a finite number. Otherwise, zero is returned. + * @function + * @param {number} value The number in question + * @param {boolean=} unsigned Whether unsigned or not, defaults to signed + * @returns {!Long} The corresponding Long value + */ + + + Long.fromNumber = fromNumber; + /** + * @param {number} lowBits + * @param {number} highBits + * @param {boolean=} unsigned + * @returns {!Long} + * @inner + */ + + function fromBits(lowBits, highBits, unsigned) { + return new Long(lowBits, highBits, unsigned); + } + /** + * Returns a Long representing the 64 bit integer that comes by concatenating the given low and high bits. Each is + * assumed to use 32 bits. + * @function + * @param {number} lowBits The low 32 bits + * @param {number} highBits The high 32 bits + * @param {boolean=} unsigned Whether unsigned or not, defaults to signed + * @returns {!Long} The corresponding Long value + */ + + + Long.fromBits = fromBits; + /** + * @function + * @param {number} base + * @param {number} exponent + * @returns {number} + * @inner + */ + + var pow_dbl = Math.pow; // Used 4 times (4*8 to 15+4) + + /** + * @param {string} str + * @param {(boolean|number)=} unsigned + * @param {number=} radix + * @returns {!Long} + * @inner + */ + + function fromString(str, unsigned, radix) { + if (str.length === 0) throw Error('empty string'); + + if (typeof unsigned === 'number') { + // For goog.math.long compatibility + radix = unsigned; + unsigned = false; + } else { + unsigned = !!unsigned; + } + + if (str === "NaN" || str === "Infinity" || str === "+Infinity" || str === "-Infinity") return unsigned ? UZERO : ZERO; + radix = radix || 10; + if (radix < 2 || 36 < radix) throw RangeError('radix'); + var p; + if ((p = str.indexOf('-')) > 0) throw Error('interior hyphen');else if (p === 0) { + return fromString(str.substring(1), unsigned, radix).neg(); + } // Do several (8) digits each time through the loop, so as to + // minimize the calls to the very expensive emulated div. + + var radixToPower = fromNumber(pow_dbl(radix, 8)); + var result = ZERO; + + for (var i = 0; i < str.length; i += 8) { + var size = Math.min(8, str.length - i), + value = parseInt(str.substring(i, i + size), radix); + + if (size < 8) { + var power = fromNumber(pow_dbl(radix, size)); + result = result.mul(power).add(fromNumber(value)); + } else { + result = result.mul(radixToPower); + result = result.add(fromNumber(value)); + } + } + + result.unsigned = unsigned; + return result; + } + /** + * Returns a Long representation of the given string, written using the specified radix. + * @function + * @param {string} str The textual representation of the Long + * @param {(boolean|number)=} unsigned Whether unsigned or not, defaults to signed + * @param {number=} radix The radix in which the text is written (2-36), defaults to 10 + * @returns {!Long} The corresponding Long value + */ + + + Long.fromString = fromString; + /** + * @function + * @param {!Long|number|string|!{low: number, high: number, unsigned: boolean}} val + * @param {boolean=} unsigned + * @returns {!Long} + * @inner + */ + + function fromValue(val, unsigned) { + if (typeof val === 'number') return fromNumber(val, unsigned); + if (typeof val === 'string') return fromString(val, unsigned); // Throws for non-objects, converts non-instanceof Long: + + return fromBits(val.low, val.high, typeof unsigned === 'boolean' ? unsigned : val.unsigned); + } + /** + * Converts the specified value to a Long using the appropriate from* function for its type. + * @function + * @param {!Long|number|string|!{low: number, high: number, unsigned: boolean}} val Value + * @param {boolean=} unsigned Whether unsigned or not, defaults to signed + * @returns {!Long} + */ + + + Long.fromValue = fromValue; // NOTE: the compiler should inline these constant values below and then remove these variables, so there should be + // no runtime penalty for these. + + /** + * @type {number} + * @const + * @inner + */ + + var TWO_PWR_16_DBL = 1 << 16; + /** + * @type {number} + * @const + * @inner + */ + + var TWO_PWR_24_DBL = 1 << 24; + /** + * @type {number} + * @const + * @inner + */ + + var TWO_PWR_32_DBL = TWO_PWR_16_DBL * TWO_PWR_16_DBL; + /** + * @type {number} + * @const + * @inner + */ + + var TWO_PWR_64_DBL = TWO_PWR_32_DBL * TWO_PWR_32_DBL; + /** + * @type {number} + * @const + * @inner + */ + + var TWO_PWR_63_DBL = TWO_PWR_64_DBL / 2; + /** + * @type {!Long} + * @const + * @inner + */ + + var TWO_PWR_24 = fromInt(TWO_PWR_24_DBL); + /** + * @type {!Long} + * @inner + */ + + var ZERO = fromInt(0); + /** + * Signed zero. + * @type {!Long} + */ + + Long.ZERO = ZERO; + /** + * @type {!Long} + * @inner + */ + + var UZERO = fromInt(0, true); + /** + * Unsigned zero. + * @type {!Long} + */ + + Long.UZERO = UZERO; + /** + * @type {!Long} + * @inner + */ + + var ONE = fromInt(1); + /** + * Signed one. + * @type {!Long} + */ + + Long.ONE = ONE; + /** + * @type {!Long} + * @inner + */ + + var UONE = fromInt(1, true); + /** + * Unsigned one. + * @type {!Long} + */ + + Long.UONE = UONE; + /** + * @type {!Long} + * @inner + */ + + var NEG_ONE = fromInt(-1); + /** + * Signed negative one. + * @type {!Long} + */ + + Long.NEG_ONE = NEG_ONE; + /** + * @type {!Long} + * @inner + */ + + var MAX_VALUE = fromBits(0xFFFFFFFF | 0, 0x7FFFFFFF | 0, false); + /** + * Maximum signed value. + * @type {!Long} + */ + + Long.MAX_VALUE = MAX_VALUE; + /** + * @type {!Long} + * @inner + */ + + var MAX_UNSIGNED_VALUE = fromBits(0xFFFFFFFF | 0, 0xFFFFFFFF | 0, true); + /** + * Maximum unsigned value. + * @type {!Long} + */ + + Long.MAX_UNSIGNED_VALUE = MAX_UNSIGNED_VALUE; + /** + * @type {!Long} + * @inner + */ + + var MIN_VALUE = fromBits(0, 0x80000000 | 0, false); + /** + * Minimum signed value. + * @type {!Long} + */ + + Long.MIN_VALUE = MIN_VALUE; + /** + * @alias Long.prototype + * @inner + */ + + var LongPrototype = Long.prototype; + /** + * Converts the Long to a 32 bit integer, assuming it is a 32 bit integer. + * @this {!Long} + * @returns {number} + */ + + LongPrototype.toInt = function toInt() { + return this.unsigned ? this.low >>> 0 : this.low; + }; + /** + * Converts the Long to a the nearest floating-point representation of this value (double, 53 bit mantissa). + * @this {!Long} + * @returns {number} + */ + + + LongPrototype.toNumber = function toNumber() { + if (this.unsigned) return (this.high >>> 0) * TWO_PWR_32_DBL + (this.low >>> 0); + return this.high * TWO_PWR_32_DBL + (this.low >>> 0); + }; + /** + * Converts the Long to a string written in the specified radix. + * @this {!Long} + * @param {number=} radix Radix (2-36), defaults to 10 + * @returns {string} + * @override + * @throws {RangeError} If `radix` is out of range + */ + + + LongPrototype.toString = function toString(radix) { + radix = radix || 10; + if (radix < 2 || 36 < radix) throw RangeError('radix'); + if (this.isZero()) return '0'; + + if (this.isNegative()) { + // Unsigned Longs are never negative + if (this.eq(MIN_VALUE)) { + // We need to change the Long value before it can be negated, so we remove + // the bottom-most digit in this base and then recurse to do the rest. + var radixLong = fromNumber(radix), + div = this.div(radixLong), + rem1 = div.mul(radixLong).sub(this); + return div.toString(radix) + rem1.toInt().toString(radix); + } else return '-' + this.neg().toString(radix); + } // Do several (6) digits each time through the loop, so as to + // minimize the calls to the very expensive emulated div. + + + var radixToPower = fromNumber(pow_dbl(radix, 6), this.unsigned), + rem = this; + var result = ''; + + while (true) { + var remDiv = rem.div(radixToPower), + intval = rem.sub(remDiv.mul(radixToPower)).toInt() >>> 0, + digits = intval.toString(radix); + rem = remDiv; + if (rem.isZero()) return digits + result;else { + while (digits.length < 6) digits = '0' + digits; + + result = '' + digits + result; + } + } + }; + /** + * Gets the high 32 bits as a signed integer. + * @this {!Long} + * @returns {number} Signed high bits + */ + + + LongPrototype.getHighBits = function getHighBits() { + return this.high; + }; + /** + * Gets the high 32 bits as an unsigned integer. + * @this {!Long} + * @returns {number} Unsigned high bits + */ + + + LongPrototype.getHighBitsUnsigned = function getHighBitsUnsigned() { + return this.high >>> 0; + }; + /** + * Gets the low 32 bits as a signed integer. + * @this {!Long} + * @returns {number} Signed low bits + */ + + + LongPrototype.getLowBits = function getLowBits() { + return this.low; + }; + /** + * Gets the low 32 bits as an unsigned integer. + * @this {!Long} + * @returns {number} Unsigned low bits + */ + + + LongPrototype.getLowBitsUnsigned = function getLowBitsUnsigned() { + return this.low >>> 0; + }; + /** + * Gets the number of bits needed to represent the absolute value of this Long. + * @this {!Long} + * @returns {number} + */ + + + LongPrototype.getNumBitsAbs = function getNumBitsAbs() { + if (this.isNegative()) // Unsigned Longs are never negative + return this.eq(MIN_VALUE) ? 64 : this.neg().getNumBitsAbs(); + var val = this.high != 0 ? this.high : this.low; + + for (var bit = 31; bit > 0; bit--) if ((val & 1 << bit) != 0) break; + + return this.high != 0 ? bit + 33 : bit + 1; + }; + /** + * Tests if this Long's value equals zero. + * @this {!Long} + * @returns {boolean} + */ + + + LongPrototype.isZero = function isZero() { + return this.high === 0 && this.low === 0; + }; + /** + * Tests if this Long's value equals zero. This is an alias of {@link Long#isZero}. + * @returns {boolean} + */ + + + LongPrototype.eqz = LongPrototype.isZero; + /** + * Tests if this Long's value is negative. + * @this {!Long} + * @returns {boolean} + */ + + LongPrototype.isNegative = function isNegative() { + return !this.unsigned && this.high < 0; + }; + /** + * Tests if this Long's value is positive or zero. + * @this {!Long} + * @returns {boolean} + */ + + + LongPrototype.isPositive = function isPositive() { + return this.unsigned || this.high >= 0; + }; + /** + * Tests if this Long's value is odd. + * @this {!Long} + * @returns {boolean} + */ + + + LongPrototype.isOdd = function isOdd() { + return (this.low & 1) === 1; + }; + /** + * Tests if this Long's value is even. + * @this {!Long} + * @returns {boolean} + */ + + + LongPrototype.isEven = function isEven() { + return (this.low & 1) === 0; + }; + /** + * Tests if this Long's value equals the specified's. + * @this {!Long} + * @param {!Long|number|string} other Other value + * @returns {boolean} + */ + + + LongPrototype.equals = function equals(other) { + if (!isLong(other)) other = fromValue(other); + if (this.unsigned !== other.unsigned && this.high >>> 31 === 1 && other.high >>> 31 === 1) return false; + return this.high === other.high && this.low === other.low; + }; + /** + * Tests if this Long's value equals the specified's. This is an alias of {@link Long#equals}. + * @function + * @param {!Long|number|string} other Other value + * @returns {boolean} + */ + + + LongPrototype.eq = LongPrototype.equals; + /** + * Tests if this Long's value differs from the specified's. + * @this {!Long} + * @param {!Long|number|string} other Other value + * @returns {boolean} + */ + + LongPrototype.notEquals = function notEquals(other) { + return !this.eq( + /* validates */ + other); + }; + /** + * Tests if this Long's value differs from the specified's. This is an alias of {@link Long#notEquals}. + * @function + * @param {!Long|number|string} other Other value + * @returns {boolean} + */ + + + LongPrototype.neq = LongPrototype.notEquals; + /** + * Tests if this Long's value differs from the specified's. This is an alias of {@link Long#notEquals}. + * @function + * @param {!Long|number|string} other Other value + * @returns {boolean} + */ + + LongPrototype.ne = LongPrototype.notEquals; + /** + * Tests if this Long's value is less than the specified's. + * @this {!Long} + * @param {!Long|number|string} other Other value + * @returns {boolean} + */ + + LongPrototype.lessThan = function lessThan(other) { + return this.comp( + /* validates */ + other) < 0; + }; + /** + * Tests if this Long's value is less than the specified's. This is an alias of {@link Long#lessThan}. + * @function + * @param {!Long|number|string} other Other value + * @returns {boolean} + */ + + + LongPrototype.lt = LongPrototype.lessThan; + /** + * Tests if this Long's value is less than or equal the specified's. + * @this {!Long} + * @param {!Long|number|string} other Other value + * @returns {boolean} + */ + + LongPrototype.lessThanOrEqual = function lessThanOrEqual(other) { + return this.comp( + /* validates */ + other) <= 0; + }; + /** + * Tests if this Long's value is less than or equal the specified's. This is an alias of {@link Long#lessThanOrEqual}. + * @function + * @param {!Long|number|string} other Other value + * @returns {boolean} + */ + + + LongPrototype.lte = LongPrototype.lessThanOrEqual; + /** + * Tests if this Long's value is less than or equal the specified's. This is an alias of {@link Long#lessThanOrEqual}. + * @function + * @param {!Long|number|string} other Other value + * @returns {boolean} + */ + + LongPrototype.le = LongPrototype.lessThanOrEqual; + /** + * Tests if this Long's value is greater than the specified's. + * @this {!Long} + * @param {!Long|number|string} other Other value + * @returns {boolean} + */ + + LongPrototype.greaterThan = function greaterThan(other) { + return this.comp( + /* validates */ + other) > 0; + }; + /** + * Tests if this Long's value is greater than the specified's. This is an alias of {@link Long#greaterThan}. + * @function + * @param {!Long|number|string} other Other value + * @returns {boolean} + */ + + + LongPrototype.gt = LongPrototype.greaterThan; + /** + * Tests if this Long's value is greater than or equal the specified's. + * @this {!Long} + * @param {!Long|number|string} other Other value + * @returns {boolean} + */ + + LongPrototype.greaterThanOrEqual = function greaterThanOrEqual(other) { + return this.comp( + /* validates */ + other) >= 0; + }; + /** + * Tests if this Long's value is greater than or equal the specified's. This is an alias of {@link Long#greaterThanOrEqual}. + * @function + * @param {!Long|number|string} other Other value + * @returns {boolean} + */ + + + LongPrototype.gte = LongPrototype.greaterThanOrEqual; + /** + * Tests if this Long's value is greater than or equal the specified's. This is an alias of {@link Long#greaterThanOrEqual}. + * @function + * @param {!Long|number|string} other Other value + * @returns {boolean} + */ + + LongPrototype.ge = LongPrototype.greaterThanOrEqual; + /** + * Compares this Long's value with the specified's. + * @this {!Long} + * @param {!Long|number|string} other Other value + * @returns {number} 0 if they are the same, 1 if the this is greater and -1 + * if the given one is greater + */ + + LongPrototype.compare = function compare(other) { + if (!isLong(other)) other = fromValue(other); + if (this.eq(other)) return 0; + var thisNeg = this.isNegative(), + otherNeg = other.isNegative(); + if (thisNeg && !otherNeg) return -1; + if (!thisNeg && otherNeg) return 1; // At this point the sign bits are the same + + if (!this.unsigned) return this.sub(other).isNegative() ? -1 : 1; // Both are positive if at least one is unsigned + + return other.high >>> 0 > this.high >>> 0 || other.high === this.high && other.low >>> 0 > this.low >>> 0 ? -1 : 1; + }; + /** + * Compares this Long's value with the specified's. This is an alias of {@link Long#compare}. + * @function + * @param {!Long|number|string} other Other value + * @returns {number} 0 if they are the same, 1 if the this is greater and -1 + * if the given one is greater + */ + + + LongPrototype.comp = LongPrototype.compare; + /** + * Negates this Long's value. + * @this {!Long} + * @returns {!Long} Negated Long + */ + + LongPrototype.negate = function negate() { + if (!this.unsigned && this.eq(MIN_VALUE)) return MIN_VALUE; + return this.not().add(ONE); + }; + /** + * Negates this Long's value. This is an alias of {@link Long#negate}. + * @function + * @returns {!Long} Negated Long + */ + + + LongPrototype.neg = LongPrototype.negate; + /** + * Returns the sum of this and the specified Long. + * @this {!Long} + * @param {!Long|number|string} addend Addend + * @returns {!Long} Sum + */ + + LongPrototype.add = function add(addend) { + if (!isLong(addend)) addend = fromValue(addend); // Divide each number into 4 chunks of 16 bits, and then sum the chunks. + + var a48 = this.high >>> 16; + var a32 = this.high & 0xFFFF; + var a16 = this.low >>> 16; + var a00 = this.low & 0xFFFF; + var b48 = addend.high >>> 16; + var b32 = addend.high & 0xFFFF; + var b16 = addend.low >>> 16; + var b00 = addend.low & 0xFFFF; + var c48 = 0, + c32 = 0, + c16 = 0, + c00 = 0; + c00 += a00 + b00; + c16 += c00 >>> 16; + c00 &= 0xFFFF; + c16 += a16 + b16; + c32 += c16 >>> 16; + c16 &= 0xFFFF; + c32 += a32 + b32; + c48 += c32 >>> 16; + c32 &= 0xFFFF; + c48 += a48 + b48; + c48 &= 0xFFFF; + return fromBits(c16 << 16 | c00, c48 << 16 | c32, this.unsigned); + }; + /** + * Returns the difference of this and the specified Long. + * @this {!Long} + * @param {!Long|number|string} subtrahend Subtrahend + * @returns {!Long} Difference + */ + + + LongPrototype.subtract = function subtract(subtrahend) { + if (!isLong(subtrahend)) subtrahend = fromValue(subtrahend); + return this.add(subtrahend.neg()); + }; + /** + * Returns the difference of this and the specified Long. This is an alias of {@link Long#subtract}. + * @function + * @param {!Long|number|string} subtrahend Subtrahend + * @returns {!Long} Difference + */ + + + LongPrototype.sub = LongPrototype.subtract; + /** + * Returns the product of this and the specified Long. + * @this {!Long} + * @param {!Long|number|string} multiplier Multiplier + * @returns {!Long} Product + */ + + LongPrototype.multiply = function multiply(multiplier) { + if (this.isZero()) return this; + if (!isLong(multiplier)) multiplier = fromValue(multiplier); // use wasm support if present + + if (wasm) { + var low = wasm["mul"](this.low, this.high, multiplier.low, multiplier.high); + return fromBits(low, wasm["get_high"](), this.unsigned); + } + + if (multiplier.isZero()) return this.unsigned ? UZERO : ZERO; + if (this.eq(MIN_VALUE)) return multiplier.isOdd() ? MIN_VALUE : ZERO; + if (multiplier.eq(MIN_VALUE)) return this.isOdd() ? MIN_VALUE : ZERO; + + if (this.isNegative()) { + if (multiplier.isNegative()) return this.neg().mul(multiplier.neg());else return this.neg().mul(multiplier).neg(); + } else if (multiplier.isNegative()) return this.mul(multiplier.neg()).neg(); // If both longs are small, use float multiplication + + + if (this.lt(TWO_PWR_24) && multiplier.lt(TWO_PWR_24)) return fromNumber(this.toNumber() * multiplier.toNumber(), this.unsigned); // Divide each long into 4 chunks of 16 bits, and then add up 4x4 products. + // We can skip products that would overflow. + + var a48 = this.high >>> 16; + var a32 = this.high & 0xFFFF; + var a16 = this.low >>> 16; + var a00 = this.low & 0xFFFF; + var b48 = multiplier.high >>> 16; + var b32 = multiplier.high & 0xFFFF; + var b16 = multiplier.low >>> 16; + var b00 = multiplier.low & 0xFFFF; + var c48 = 0, + c32 = 0, + c16 = 0, + c00 = 0; + c00 += a00 * b00; + c16 += c00 >>> 16; + c00 &= 0xFFFF; + c16 += a16 * b00; + c32 += c16 >>> 16; + c16 &= 0xFFFF; + c16 += a00 * b16; + c32 += c16 >>> 16; + c16 &= 0xFFFF; + c32 += a32 * b00; + c48 += c32 >>> 16; + c32 &= 0xFFFF; + c32 += a16 * b16; + c48 += c32 >>> 16; + c32 &= 0xFFFF; + c32 += a00 * b32; + c48 += c32 >>> 16; + c32 &= 0xFFFF; + c48 += a48 * b00 + a32 * b16 + a16 * b32 + a00 * b48; + c48 &= 0xFFFF; + return fromBits(c16 << 16 | c00, c48 << 16 | c32, this.unsigned); + }; + /** + * Returns the product of this and the specified Long. This is an alias of {@link Long#multiply}. + * @function + * @param {!Long|number|string} multiplier Multiplier + * @returns {!Long} Product + */ + + + LongPrototype.mul = LongPrototype.multiply; + /** + * Returns this Long divided by the specified. The result is signed if this Long is signed or + * unsigned if this Long is unsigned. + * @this {!Long} + * @param {!Long|number|string} divisor Divisor + * @returns {!Long} Quotient + */ + + LongPrototype.divide = function divide(divisor) { + if (!isLong(divisor)) divisor = fromValue(divisor); + if (divisor.isZero()) throw Error('division by zero'); // use wasm support if present + + if (wasm) { + // guard against signed division overflow: the largest + // negative number / -1 would be 1 larger than the largest + // positive number, due to two's complement. + if (!this.unsigned && this.high === -0x80000000 && divisor.low === -1 && divisor.high === -1) { + // be consistent with non-wasm code path + return this; + } + + var low = (this.unsigned ? wasm["div_u"] : wasm["div_s"])(this.low, this.high, divisor.low, divisor.high); + return fromBits(low, wasm["get_high"](), this.unsigned); + } + + if (this.isZero()) return this.unsigned ? UZERO : ZERO; + var approx, rem, res; + + if (!this.unsigned) { + // This section is only relevant for signed longs and is derived from the + // closure library as a whole. + if (this.eq(MIN_VALUE)) { + if (divisor.eq(ONE) || divisor.eq(NEG_ONE)) return MIN_VALUE; // recall that -MIN_VALUE == MIN_VALUE + else if (divisor.eq(MIN_VALUE)) return ONE;else { + // At this point, we have |other| >= 2, so |this/other| < |MIN_VALUE|. + var halfThis = this.shr(1); + approx = halfThis.div(divisor).shl(1); + + if (approx.eq(ZERO)) { + return divisor.isNegative() ? ONE : NEG_ONE; + } else { + rem = this.sub(divisor.mul(approx)); + res = approx.add(rem.div(divisor)); + return res; + } + } + } else if (divisor.eq(MIN_VALUE)) return this.unsigned ? UZERO : ZERO; + + if (this.isNegative()) { + if (divisor.isNegative()) return this.neg().div(divisor.neg()); + return this.neg().div(divisor).neg(); + } else if (divisor.isNegative()) return this.div(divisor.neg()).neg(); + + res = ZERO; + } else { + // The algorithm below has not been made for unsigned longs. It's therefore + // required to take special care of the MSB prior to running it. + if (!divisor.unsigned) divisor = divisor.toUnsigned(); + if (divisor.gt(this)) return UZERO; + if (divisor.gt(this.shru(1))) // 15 >>> 1 = 7 ; with divisor = 8 ; true + return UONE; + res = UZERO; + } // Repeat the following until the remainder is less than other: find a + // floating-point that approximates remainder / other *from below*, add this + // into the result, and subtract it from the remainder. It is critical that + // the approximate value is less than or equal to the real value so that the + // remainder never becomes negative. + + + rem = this; + + while (rem.gte(divisor)) { + // Approximate the result of division. This may be a little greater or + // smaller than the actual value. + approx = Math.max(1, Math.floor(rem.toNumber() / divisor.toNumber())); // We will tweak the approximate result by changing it in the 48-th digit or + // the smallest non-fractional digit, whichever is larger. + + var log2 = Math.ceil(Math.log(approx) / Math.LN2), + delta = log2 <= 48 ? 1 : pow_dbl(2, log2 - 48), + // Decrease the approximation until it is smaller than the remainder. Note + // that if it is too large, the product overflows and is negative. + approxRes = fromNumber(approx), + approxRem = approxRes.mul(divisor); + + while (approxRem.isNegative() || approxRem.gt(rem)) { + approx -= delta; + approxRes = fromNumber(approx, this.unsigned); + approxRem = approxRes.mul(divisor); + } // We know the answer can't be zero... and actually, zero would cause + // infinite recursion since we would make no progress. + + + if (approxRes.isZero()) approxRes = ONE; + res = res.add(approxRes); + rem = rem.sub(approxRem); + } + + return res; + }; + /** + * Returns this Long divided by the specified. This is an alias of {@link Long#divide}. + * @function + * @param {!Long|number|string} divisor Divisor + * @returns {!Long} Quotient + */ + + + LongPrototype.div = LongPrototype.divide; + /** + * Returns this Long modulo the specified. + * @this {!Long} + * @param {!Long|number|string} divisor Divisor + * @returns {!Long} Remainder + */ + + LongPrototype.modulo = function modulo(divisor) { + if (!isLong(divisor)) divisor = fromValue(divisor); // use wasm support if present + + if (wasm) { + var low = (this.unsigned ? wasm["rem_u"] : wasm["rem_s"])(this.low, this.high, divisor.low, divisor.high); + return fromBits(low, wasm["get_high"](), this.unsigned); + } + + return this.sub(this.div(divisor).mul(divisor)); + }; + /** + * Returns this Long modulo the specified. This is an alias of {@link Long#modulo}. + * @function + * @param {!Long|number|string} divisor Divisor + * @returns {!Long} Remainder + */ + + + LongPrototype.mod = LongPrototype.modulo; + /** + * Returns this Long modulo the specified. This is an alias of {@link Long#modulo}. + * @function + * @param {!Long|number|string} divisor Divisor + * @returns {!Long} Remainder + */ + + LongPrototype.rem = LongPrototype.modulo; + /** + * Returns the bitwise NOT of this Long. + * @this {!Long} + * @returns {!Long} + */ + + LongPrototype.not = function not() { + return fromBits(~this.low, ~this.high, this.unsigned); + }; + /** + * Returns count leading zeros of this Long. + * @this {!Long} + * @returns {!number} + */ + + + LongPrototype.countLeadingZeros = function countLeadingZeros() { + return this.high ? Math.clz32(this.high) : Math.clz32(this.low) + 32; + }; + /** + * Returns count leading zeros. This is an alias of {@link Long#countLeadingZeros}. + * @function + * @param {!Long} + * @returns {!number} + */ + + + LongPrototype.clz = LongPrototype.countLeadingZeros; + /** + * Returns count trailing zeros of this Long. + * @this {!Long} + * @returns {!number} + */ + + LongPrototype.countTrailingZeros = function countTrailingZeros() { + return this.low ? ctz32(this.low) : ctz32(this.high) + 32; + }; + /** + * Returns count trailing zeros. This is an alias of {@link Long#countTrailingZeros}. + * @function + * @param {!Long} + * @returns {!number} + */ + + + LongPrototype.ctz = LongPrototype.countTrailingZeros; + /** + * Returns the bitwise AND of this Long and the specified. + * @this {!Long} + * @param {!Long|number|string} other Other Long + * @returns {!Long} + */ + + LongPrototype.and = function and(other) { + if (!isLong(other)) other = fromValue(other); + return fromBits(this.low & other.low, this.high & other.high, this.unsigned); + }; + /** + * Returns the bitwise OR of this Long and the specified. + * @this {!Long} + * @param {!Long|number|string} other Other Long + * @returns {!Long} + */ + + + LongPrototype.or = function or(other) { + if (!isLong(other)) other = fromValue(other); + return fromBits(this.low | other.low, this.high | other.high, this.unsigned); + }; + /** + * Returns the bitwise XOR of this Long and the given one. + * @this {!Long} + * @param {!Long|number|string} other Other Long + * @returns {!Long} + */ + + + LongPrototype.xor = function xor(other) { + if (!isLong(other)) other = fromValue(other); + return fromBits(this.low ^ other.low, this.high ^ other.high, this.unsigned); + }; + /** + * Returns this Long with bits shifted to the left by the given amount. + * @this {!Long} + * @param {number|!Long} numBits Number of bits + * @returns {!Long} Shifted Long + */ + + + LongPrototype.shiftLeft = function shiftLeft(numBits) { + if (isLong(numBits)) numBits = numBits.toInt(); + if ((numBits &= 63) === 0) return this;else if (numBits < 32) return fromBits(this.low << numBits, this.high << numBits | this.low >>> 32 - numBits, this.unsigned);else return fromBits(0, this.low << numBits - 32, this.unsigned); + }; + /** + * Returns this Long with bits shifted to the left by the given amount. This is an alias of {@link Long#shiftLeft}. + * @function + * @param {number|!Long} numBits Number of bits + * @returns {!Long} Shifted Long + */ + + + LongPrototype.shl = LongPrototype.shiftLeft; + /** + * Returns this Long with bits arithmetically shifted to the right by the given amount. + * @this {!Long} + * @param {number|!Long} numBits Number of bits + * @returns {!Long} Shifted Long + */ + + LongPrototype.shiftRight = function shiftRight(numBits) { + if (isLong(numBits)) numBits = numBits.toInt(); + if ((numBits &= 63) === 0) return this;else if (numBits < 32) return fromBits(this.low >>> numBits | this.high << 32 - numBits, this.high >> numBits, this.unsigned);else return fromBits(this.high >> numBits - 32, this.high >= 0 ? 0 : -1, this.unsigned); + }; + /** + * Returns this Long with bits arithmetically shifted to the right by the given amount. This is an alias of {@link Long#shiftRight}. + * @function + * @param {number|!Long} numBits Number of bits + * @returns {!Long} Shifted Long + */ + + + LongPrototype.shr = LongPrototype.shiftRight; + /** + * Returns this Long with bits logically shifted to the right by the given amount. + * @this {!Long} + * @param {number|!Long} numBits Number of bits + * @returns {!Long} Shifted Long + */ + + LongPrototype.shiftRightUnsigned = function shiftRightUnsigned(numBits) { + if (isLong(numBits)) numBits = numBits.toInt(); + if ((numBits &= 63) === 0) return this; + if (numBits < 32) return fromBits(this.low >>> numBits | this.high << 32 - numBits, this.high >>> numBits, this.unsigned); + if (numBits === 32) return fromBits(this.high, 0, this.unsigned); + return fromBits(this.high >>> numBits - 32, 0, this.unsigned); + }; + /** + * Returns this Long with bits logically shifted to the right by the given amount. This is an alias of {@link Long#shiftRightUnsigned}. + * @function + * @param {number|!Long} numBits Number of bits + * @returns {!Long} Shifted Long + */ + + + LongPrototype.shru = LongPrototype.shiftRightUnsigned; + /** + * Returns this Long with bits logically shifted to the right by the given amount. This is an alias of {@link Long#shiftRightUnsigned}. + * @function + * @param {number|!Long} numBits Number of bits + * @returns {!Long} Shifted Long + */ + + LongPrototype.shr_u = LongPrototype.shiftRightUnsigned; + /** + * Returns this Long with bits rotated to the left by the given amount. + * @this {!Long} + * @param {number|!Long} numBits Number of bits + * @returns {!Long} Rotated Long + */ + + LongPrototype.rotateLeft = function rotateLeft(numBits) { + var b; + if (isLong(numBits)) numBits = numBits.toInt(); + if ((numBits &= 63) === 0) return this; + if (numBits === 32) return fromBits(this.high, this.low, this.unsigned); + + if (numBits < 32) { + b = 32 - numBits; + return fromBits(this.low << numBits | this.high >>> b, this.high << numBits | this.low >>> b, this.unsigned); + } + + numBits -= 32; + b = 32 - numBits; + return fromBits(this.high << numBits | this.low >>> b, this.low << numBits | this.high >>> b, this.unsigned); + }; + /** + * Returns this Long with bits rotated to the left by the given amount. This is an alias of {@link Long#rotateLeft}. + * @function + * @param {number|!Long} numBits Number of bits + * @returns {!Long} Rotated Long + */ + + + LongPrototype.rotl = LongPrototype.rotateLeft; + /** + * Returns this Long with bits rotated to the right by the given amount. + * @this {!Long} + * @param {number|!Long} numBits Number of bits + * @returns {!Long} Rotated Long + */ + + LongPrototype.rotateRight = function rotateRight(numBits) { + var b; + if (isLong(numBits)) numBits = numBits.toInt(); + if ((numBits &= 63) === 0) return this; + if (numBits === 32) return fromBits(this.high, this.low, this.unsigned); + + if (numBits < 32) { + b = 32 - numBits; + return fromBits(this.high << b | this.low >>> numBits, this.low << b | this.high >>> numBits, this.unsigned); + } + + numBits -= 32; + b = 32 - numBits; + return fromBits(this.low << b | this.high >>> numBits, this.high << b | this.low >>> numBits, this.unsigned); + }; + /** + * Returns this Long with bits rotated to the right by the given amount. This is an alias of {@link Long#rotateRight}. + * @function + * @param {number|!Long} numBits Number of bits + * @returns {!Long} Rotated Long + */ + + + LongPrototype.rotr = LongPrototype.rotateRight; + /** + * Converts this Long to signed. + * @this {!Long} + * @returns {!Long} Signed long + */ + + LongPrototype.toSigned = function toSigned() { + if (!this.unsigned) return this; + return fromBits(this.low, this.high, false); + }; + /** + * Converts this Long to unsigned. + * @this {!Long} + * @returns {!Long} Unsigned long + */ + + + LongPrototype.toUnsigned = function toUnsigned() { + if (this.unsigned) return this; + return fromBits(this.low, this.high, true); + }; + /** + * Converts this Long to its byte representation. + * @param {boolean=} le Whether little or big endian, defaults to big endian + * @this {!Long} + * @returns {!Array.} Byte representation + */ + + + LongPrototype.toBytes = function toBytes(le) { + return le ? this.toBytesLE() : this.toBytesBE(); + }; + /** + * Converts this Long to its little endian byte representation. + * @this {!Long} + * @returns {!Array.} Little endian byte representation + */ + + + LongPrototype.toBytesLE = function toBytesLE() { + var hi = this.high, + lo = this.low; + return [lo & 0xff, lo >>> 8 & 0xff, lo >>> 16 & 0xff, lo >>> 24, hi & 0xff, hi >>> 8 & 0xff, hi >>> 16 & 0xff, hi >>> 24]; + }; + /** + * Converts this Long to its big endian byte representation. + * @this {!Long} + * @returns {!Array.} Big endian byte representation + */ + + + LongPrototype.toBytesBE = function toBytesBE() { + var hi = this.high, + lo = this.low; + return [hi >>> 24, hi >>> 16 & 0xff, hi >>> 8 & 0xff, hi & 0xff, lo >>> 24, lo >>> 16 & 0xff, lo >>> 8 & 0xff, lo & 0xff]; + }; + /** + * Creates a Long from its byte representation. + * @param {!Array.} bytes Byte representation + * @param {boolean=} unsigned Whether unsigned or not, defaults to signed + * @param {boolean=} le Whether little or big endian, defaults to big endian + * @returns {Long} The corresponding Long value + */ + + + Long.fromBytes = function fromBytes(bytes, unsigned, le) { + return le ? Long.fromBytesLE(bytes, unsigned) : Long.fromBytesBE(bytes, unsigned); + }; + /** + * Creates a Long from its little endian byte representation. + * @param {!Array.} bytes Little endian byte representation + * @param {boolean=} unsigned Whether unsigned or not, defaults to signed + * @returns {Long} The corresponding Long value + */ + + + Long.fromBytesLE = function fromBytesLE(bytes, unsigned) { + return new Long(bytes[0] | bytes[1] << 8 | bytes[2] << 16 | bytes[3] << 24, bytes[4] | bytes[5] << 8 | bytes[6] << 16 | bytes[7] << 24, unsigned); + }; + /** + * Creates a Long from its big endian byte representation. + * @param {!Array.} bytes Big endian byte representation + * @param {boolean=} unsigned Whether unsigned or not, defaults to signed + * @returns {Long} The corresponding Long value + */ + + + Long.fromBytesBE = function fromBytesBE(bytes, unsigned) { + return new Long(bytes[4] << 24 | bytes[5] << 16 | bytes[6] << 8 | bytes[7], bytes[0] << 24 | bytes[1] << 16 | bytes[2] << 8 | bytes[3], unsigned); + }; + + var _default = Long; + exports.default = _default; + return "default" in exports ? exports.default : exports; +})({}); +if (typeof define === 'function' && define.amd) define([], function() { return Long; }); +else if (typeof module === 'object' && typeof exports === 'object') module.exports = Long; diff --git a/platforms/Arduino/node_modules/long/umd/package.json b/platforms/Arduino/node_modules/long/umd/package.json new file mode 100644 index 00000000..5bbefffb --- /dev/null +++ b/platforms/Arduino/node_modules/long/umd/package.json @@ -0,0 +1,3 @@ +{ + "type": "commonjs" +} diff --git a/platforms/Arduino/package-lock.json b/platforms/Arduino/package-lock.json new file mode 100644 index 00000000..4b2d912e --- /dev/null +++ b/platforms/Arduino/package-lock.json @@ -0,0 +1,50 @@ +{ + "name": "Arduino", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "dependencies": { + "assemblyscript": "^0.27.29" + } + }, + "node_modules/assemblyscript": { + "version": "0.27.29", + "resolved": "https://registry.npmjs.org/assemblyscript/-/assemblyscript-0.27.29.tgz", + "integrity": "sha512-pH6udb7aE2F0t6cTh+0uCepmucykhMnAmm7k0kkAU3SY7LvpIngEBZWM6p5VCguu4EpmKGwEuZpZbEXzJ/frHQ==", + "license": "Apache-2.0", + "dependencies": { + "binaryen": "116.0.0-nightly.20240114", + "long": "^5.2.1" + }, + "bin": { + "asc": "bin/asc.js", + "asinit": "bin/asinit.js" + }, + "engines": { + "node": ">=16", + "npm": ">=7" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/assemblyscript" + } + }, + "node_modules/binaryen": { + "version": "116.0.0-nightly.20240114", + "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-116.0.0-nightly.20240114.tgz", + "integrity": "sha512-0GZrojJnuhoe+hiwji7QFaL3tBlJoA+KFUN7ouYSDGZLSo9CKM8swQX8n/UcbR0d1VuZKU+nhogNzv423JEu5A==", + "license": "Apache-2.0", + "bin": { + "wasm-opt": "bin/wasm-opt", + "wasm2js": "bin/wasm2js" + } + }, + "node_modules/long": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz", + "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==", + "license": "Apache-2.0" + } + } +} diff --git a/platforms/Arduino/package.json b/platforms/Arduino/package.json new file mode 100644 index 00000000..b1b68900 --- /dev/null +++ b/platforms/Arduino/package.json @@ -0,0 +1,5 @@ +{ + "dependencies": { + "assemblyscript": "^0.27.29" + } +} diff --git a/platforms/Arduino/src/main.ts b/platforms/Arduino/src/main.ts new file mode 100644 index 00000000..f154a4eb --- /dev/null +++ b/platforms/Arduino/src/main.ts @@ -0,0 +1,34 @@ +// Blinking LED example +@external("env", "chip_pin_mode") export declare function pinMode(pin: u32, mode: u32): void; +@external("env", "chip_digital_write") export declare function digitalWrite(pin: u32, value: u32): void; +@external("env", "chip_delay") export declare function delay(ms: u32): void; +@external("env", "display_init") export declare function initDisplay(): void; +@external("env", "display_draw_rect") export declare function displayDrawRect(x:i32,y:i32,w:i32,h:i32): void; + +enum PinVoltage { + /** Low voltage on a digital I/O pin */ + LOW = 0, + /** High voltage on a digital I/O pin */ + HIGH = 1, +} + + +export function main(): void { + const led: u32 = 4; + const pause: u32 = 1000; + const OUTPUT: u32 = 3; + let x:i32 = 0; + + pinMode(led, OUTPUT); + initDisplay(); + + + while (true) { + digitalWrite(led, PinVoltage.HIGH); + delay(pause); + digitalWrite(led, PinVoltage.LOW); + delay(pause); + displayDrawRect(x,0,150,150); + x = x+10; + } +} diff --git a/src/Interpreter/instructions.cpp b/src/Interpreter/instructions.cpp index 6f19643d..a0c3b2fb 100644 --- a/src/Interpreter/instructions.cpp +++ b/src/Interpreter/instructions.cpp @@ -74,22 +74,7 @@ bool proxy_call(Module *m, uint32_t fidx) { | call_indirect typeidx */ -/* -Instruction: call funcidx - -Webassembly Description: - -1. Let 𝐹 be the current frame. -2. Assert: due to validation, 𝐹.module.funcaddrs[𝑥] exists. -3. Let 𝑎 be the function address 𝐹.module.funcaddrs[𝑥]. -4. Invoke the function instance at address 𝑎. -Formal specification: - -𝐹.module.funcaddrs[𝑥] = 𝑎 ------------------------------------ -𝐹; (call 𝑥) -> 𝐹; (invoke 𝑎) -*/ /** * 0x02 @@ -276,9 +261,30 @@ bool i_instr_return(Module *m) { return true; } -/** - * 0x10 call - */ + + + +/* + +0x10 call + +Instruction: call funcidx + +Webassembly Description: + +1. Let 𝐹 be the current frame. +2. Assert: due to validation, 𝐹.module.funcaddrs[𝑥] exists. +3. Let 𝑎 be the function address 𝐹.module.funcaddrs[𝑥]. +4. Invoke the function instance at address 𝑎. + +Formal specification: + + 𝐹.module.funcaddrs[𝑥] = 𝑎 +----------------------------------- + 𝐹; (call 𝑥) -> 𝐹; (invoke 𝑎) + +*/ + bool i_instr_call(Module *m) { uint32_t fidx = read_LEB_32(&m->pc_ptr); @@ -1267,6 +1273,7 @@ bool i_instr_callback(Module *m, uint8_t opcode) { } bool interpret(Module *m, bool waiting) { + uint8_t *block_ptr; uint8_t opcode; @@ -1277,6 +1284,7 @@ bool interpret(Module *m, bool waiting) { bool program_done = false; while ((!program_done && success) || waiting) { + if (m->warduino->program_state == WARDUINOstep) { m->warduino->debugger->pauseRuntime(m); } diff --git a/src/Interpreter/instructions.h b/src/Interpreter/instructions.h index 54a80f1b..02aa503d 100644 --- a/src/Interpreter/instructions.h +++ b/src/Interpreter/instructions.h @@ -1,5 +1,83 @@ #include "../WARDuino.h" +// Defining the instruction constants + + +#define UNREACHABLE 0x00 +#define NOP 0x01 +#define BLOCK 0x02 +#define LOOP 0x03 +#define IF 0x04 +#define ELSE 0x05 +#define END 0x0b +#define BR 0x0c +#define BR_IF 0x0d +#define BR_TABLE 0x0e +#define RETURN 0x0f +#define CALL 0x10 +#define CALL_INDIRECT 0x11 +#define DROP 0x1a +#define SELECT 0x1b +#define GET_LOCAL 0x20 +#define SET_LOCAL 0x21 +#define TEE_LOCAL 0x22 +#define GET_GLOBAL 0x23 +#define SET_GLOBAL 0x24 +#define CURRENT_MEMORY 0x3f +#define GROW_MEMORY 0x40 +#define MEMORY_LOAD_START 0x28 +#define MEMORY_LOAD_END 0x35 +#define MEMORY_STORE_START 0x36 +#define MEMORY_STORE_END 0x3e +#define CONST_START 0x41 +#define CONST_END 0x44 +#define I32_CONST 0x41 + +// binary boolean operators I32 unsigned int +#define I32_EQ 0x46 +#define I32_NE 0x47 +#define I32_LT_S 0x48 +#define I32_LT_U 0x49 +#define I32_GT_S 0x4a +#define I32_GT_U 0x4b +#define I32_LE_S 0x4c +#define I32_LE_U 0x4d +#define I32_GE_S 0x4e +#define I32_GE_U 0x4f + +//binary boolean operators I64 +#define I64_EQ 0x51 +#define I64_NE 0x52 +#define I64_LT_S 0x53 +#define I64_LT_U 0x54 +#define I64_GT_S 0x55 +#define I64_GT_U 0x56 +#define I64_LE_S 0x57 +#define I64_LE_U 0x58 +#define I64_GE_S 0x59 +#define I64_GE_U 0x5a + +#define I32_ADD 0x6a +#define I32_SUB 0x6b +#define I32_MUL 0x6c +#define I32_DIV_S 0x6d +#define I32_DIV_U 0x6e +#define I32_REM_S 0x6f +#define I32_REM_U 0x70 +#define I32_AND 0x71 +#define I32_OR 0x72 +#define I32_XOR 0x73 +#define I32_SHL 0x74 +#define I32_SHR_S 0x75 +#define I32_SHR_U 0x76 +#define I32_ROTL 0x77 +#define I32_ROTR 0x78 + + +#define I32_EQZ 0x45 +#define I64_EQZ 0x50 + + bool i_instr_block(Module *m, uint8_t *block_ptr); bool i_instr_loop(Module *m, uint8_t *block_ptr); diff --git a/src/Interpreter/interpreter.cpp b/src/Interpreter/interpreter.cpp index e3f368ae..f877e047 100644 --- a/src/Interpreter/interpreter.cpp +++ b/src/Interpreter/interpreter.cpp @@ -188,6 +188,395 @@ bool Interpreter::load(Module *m, uint8_t type, uint32_t addr, return true; } + +void Interpreter::threadedInterpreter(Module *m) +{ + // instruction states and local variables + + uint8_t opcode; + uint8_t* block_ptr; + StackValue *target; + + int32_t arg0; + int32_t arg1; + int32_t result; + + Block *block = nullptr; + uint32_t fidx; + std::__1::map::iterator block_itr; + + // Jump table for instruction dispatch + void* jumpTable[256] = {0}; + + //set all instructions to undefined + for(int i = 0; i < 256; i++) { + jumpTable[i] = &&undefinedInstruction; + } + + // set the jump table for the instructions + jumpTable[I32_CONST] = &&i32_const; + jumpTable[SET_LOCAL] = &&set_local; + jumpTable[GET_LOCAL] = &&get_local; + jumpTable[LOOP] = &&loop; + jumpTable[BLOCK] = &█ + jumpTable[END] = &&end; + jumpTable[CALL] = &&call; + jumpTable[BR_IF] = &&br_if; + jumpTable[BR] = &&br; + jumpTable[RETURN] = &&ret; + jumpTable[TEE_LOCAL] = &&tee_local; + jumpTable[SELECT] = &&i_instr_select; + + // boolean instructions for 32 bit + jumpTable[I32_EQ] = &&math_binop_32_bool; + jumpTable[I32_NE] = &&math_binop_32_bool; + jumpTable[I32_LT_S] = &&math_binop_32_bool; + jumpTable[I32_LT_U] = &&math_binop_32_bool; + jumpTable[I32_GT_S] = &&math_binop_32_bool; + jumpTable[I32_GT_U] = &&math_binop_32_bool; + jumpTable[I32_LE_S] = &&math_binop_32_bool; + jumpTable[I32_LE_U] = &&math_binop_32_bool; + jumpTable[I32_GE_S] = &&math_binop_32_bool; + jumpTable[I32_GE_U] = &&math_binop_32_bool; + // boolean instructions for 64 bit + jumpTable[I64_EQ] = &&math_binop_64_bool; + jumpTable[I64_NE] = &&math_binop_64_bool; + jumpTable[I64_LT_S] = &&math_binop_64_bool; + jumpTable[I64_LT_U] = &&math_binop_64_bool; + jumpTable[I64_GT_S] = &&math_binop_64_bool; + jumpTable[I64_GT_U] = &&math_binop_64_bool; + jumpTable[I64_LE_S] = &&math_binop_64_bool; + jumpTable[I64_LE_U] = &&math_binop_64_bool; + jumpTable[I64_GE_S] = &&math_binop_64_bool; + jumpTable[I64_GE_U] = &&math_binop_64_bool; + //binop instructions for 32 bit + jumpTable[I32_ADD] = &&math_binop_32_int; + jumpTable[I32_SUB] = &&math_binop_32_int; + jumpTable[I32_MUL] = &&math_binop_32_int; + jumpTable[I32_DIV_S] = &&math_binop_32_int; + jumpTable[I32_DIV_U] = &&math_binop_32_int; + jumpTable[I32_REM_S] = &&math_binop_32_int; + jumpTable[I32_REM_U] = &&math_binop_32_int; + jumpTable[I32_AND] = &&math_binop_32_int; + jumpTable[I32_OR] = &&math_binop_32_int; + jumpTable[I32_XOR] = &&math_binop_32_int; + jumpTable[I32_SHL] = &&math_binop_32_int; + jumpTable[I32_SHR_S] = &&math_binop_32_int; + jumpTable[I32_SHR_U] = &&math_binop_32_int; + jumpTable[I32_ROTL] = &&math_binop_32_int; + jumpTable[I32_ROTR] = &&math_binop_32_int; + + jumpTable[I32_EQZ] = &&i32_eqz; + jumpTable[I64_EQZ] = &&i64_eqz; + + goto nextInstruction; + + // Basis set of instructions for implementing fibonacci + /* + I32 CONST + */ + i32_const: + target = &m->stack[++m->sp]; + target->value_type = I32; + target->value.uint32 = read_LEB_signed(&m->pc_ptr, 32); + goto nextInstruction; + + /* + Set_local on the stack + */ + set_local: + arg0 = read_LEB_32(&m->pc_ptr); + m->stack[m->fp + arg0] = m->stack[m->sp--]; + goto nextInstruction; + + get_local: + arg0 = read_LEB_32(&m->pc_ptr); + m->stack[++m->sp] = m->stack[m->fp + arg0]; + goto nextInstruction; + + tee_local: + arg0 = read_LEB_32(&m->pc_ptr); + m->stack[m->fp + arg0] = m->stack[m->sp]; + goto nextInstruction; + + loop: + read_LEB_32(&m->pc_ptr); // ignore block type + if (m->csp >= CALLSTACK_SIZE) { + sprintf(exception, "call stack exhausted"); + exit(1); + } + m->warduino->interpreter->push_block(m, m->block_lookup[block_ptr], m->sp); + goto nextInstruction; + + block: + read_LEB_32(&m->pc_ptr); // ignore block type + if (m->csp >= CALLSTACK_SIZE) { + sprintf(exception, "call stack exhausted"); + exit(1); + } + block_itr = m->block_lookup.find(block_ptr); + ASSERT(block_itr != m->block_lookup.end(), "could not find block"); + m->warduino->interpreter->push_block(m, block_itr->second, m->sp); + goto nextInstruction; + + end: + block = m->warduino->interpreter->pop_block(m); + + if (block == nullptr) { + return; // an exception (set by pop_block) + } + + if (block->block_type == 0x00) { // Function + if (m->csp == -1) { + return ; // break loop + } else { + // Keep going at return address + } + } else if (block->block_type == 0x01) { // init_expr + return; // // break loop + } else { + + } + goto nextInstruction; + + br_if: + // condition + arg0 = read_LEB_32(&m->pc_ptr); + arg1 = m->stack[m->sp--].value.uint32; + if (arg1) { // if true + m->csp -= arg0; + // set to end for pop_block + m->pc_ptr = m->callstack[m->csp].block->br_ptr; + } + goto nextInstruction; + + br: + m->csp -= read_LEB_32(&m->pc_ptr); + // set to end for pop_block + m->pc_ptr = m->callstack[m->csp].block->br_ptr; + goto nextInstruction; + + call: + fidx = read_LEB_32(&m->pc_ptr); + if (fidx < m->import_count) { + // primitive call + ((Primitive)m->functions[fidx].func_ptr)(m); + } else { + if (m->csp >= CALLSTACK_SIZE) { + sprintf(exception, "call stack exhausted"); + exit(1); + } + // regular function call + m->warduino->interpreter->setup_call(m, fidx); + } + goto nextInstruction; + + ret: + while (m->csp >= 0 && m->callstack[m->csp].block->block_type != 0x00) { + m->csp--; + } + // Set the program count to the end of the function + // The actual pop_block and return is handled by the end opcode. + m->pc_ptr = m->callstack[0].block->end_ptr; + goto nextInstruction; + + i_instr_select: + arg0 = m->stack[m->sp--].value.uint32; + m->sp--; + if (!arg0) { // use a instead of b + m->stack[m->sp] = m->stack[m->sp + 1]; + } + goto nextInstruction; + + + + //Binary boolean operators 32 bit + math_binop_32_bool: + arg0 = m->stack[m->sp - 1].value.uint32; + arg1 = m->stack[m->sp].value.uint32; + m->sp -= 1; + switch (opcode) { + case I32_EQ: + result = static_cast(arg0 == arg1); + break; + case I32_NE: + result = static_cast(arg0 != arg1); + break; + case I32_LT_S: + result = static_cast((int32_t)arg0 < (int32_t)arg1); + break; + case I32_LT_U: + result = static_cast(arg0 < arg1); + break; + case I32_GT_S: + result = static_cast((int32_t)arg0 > (int32_t)arg1); + break; + case I32_GT_U: + result = static_cast(arg0 > arg1); + break; + case I32_LE_S: + result = static_cast((int32_t)arg0 <= (int32_t)arg1); + break; + case I32_LE_U: + result = static_cast(arg0 <= arg1); + break; + case I32_GE_S: + result = static_cast((int32_t)arg0 >= (int32_t)arg1); + break; + case I32_GE_U: + result = static_cast(arg0 >= arg1); + break; + default: + printf("ran into an undefined instruction:: 0x%02hhX ", opcode); + exit(1); + } + // m->stack[m->sp].value_type = I32; (This is already set to I32 in the stack) + m->stack[m->sp].value.uint32 = result; + goto nextInstruction; + + math_binop_32_int: + // TODO: verify if this should not be done with int32_t instead + arg0 = m->stack[m->sp - 1].value.uint32; + arg1 = m->stack[m->sp].value.uint32; + m->sp -= 1; + + if (opcode >= 0x6d && opcode <= 0x70 && arg1 == 0) { + sprintf(exception, "integer divide by zero"); + exit(1); + } + switch (opcode) { + // case 0x6a: o = __builtin_add_overflow(a, b, &c); break; + // // i32.add case 0x6b: o = __builtin_sub_overflow(a, b, + // &c); break; // i32.sub + case I32_ADD: + result = arg0 + arg1; + break; // i32.add + case I32_SUB: + result = arg0 - arg1; + break; // i32.sub + case I32_MUL: + result = arg0 * arg1; + break; // i32.mul + case I32_DIV_S: + if (arg0 == 0x80000000 && arg1 == (uint32_t)-1) { + sprintf(exception, "integer overflow"); + exit(1); + } + result = (int32_t)arg0 / (int32_t)arg1; + break; // i32.div_s + case I32_DIV_U: + result = arg0 / arg1; + break; // i32.div_u + case I32_REM_S: + if (arg0 == 0x80000000 && arg1 == (uint32_t)-1) { + result = 0; + } else { + result = (int32_t)arg0 % (int32_t)arg1; + }; + break; // i32.rem_s + case I32_REM_U: + result = arg0 % arg1; + break; // i32.rem_u + case I32_AND: + result = arg0 & arg1; + break; // i32.and + case I32_OR: + result = arg0 | arg1; + break; // i32.or + case I32_XOR: + result = arg0 ^ arg1; + break; // i32.xor + case I32_SHL: + result = arg0 << arg1; + break; // i32.shl + case I32_SHR_S: + result = (int32_t)arg0 >> arg1; // NOLINT(hicpp-signed-bitwise) + break; // i32.shr_s + case I32_SHR_U: + result = arg0 >> arg1; + break; // i32.shr_u + case I32_ROTL: + result = rotl32(arg0, arg1); + break; // i32.rotl + case I32_ROTR: + result = rotr32(arg0, arg1); + break; // i32.rotr + default: + exit(1); + } + // m->stack[m->sp].value_type = I32; (This is already set to I32 in the stack) + m->stack[m->sp].value.uint32 = result; + goto nextInstruction; + + math_binop_64_bool: + arg0 = m->stack[m->sp - 1].value.uint64; + arg1 = m->stack[m->sp].value.uint64; + m->sp -= 1; + switch (opcode) { + case I64_EQ: + result = static_cast(arg0 == arg1); + break; + case I64_NE: + result = static_cast(arg0 != arg1); + break; + case I64_LT_S: + result = static_cast((int64_t)arg0< (int64_t)arg1); + break; + case I64_LT_U: + result = static_cast(arg0 < arg1); + break; + case I64_GT_S: + result = static_cast((int64_t)arg0 > (int64_t)arg1); + break; + case I64_GT_U: + result = static_cast(arg0 > arg1); + break; + case I64_LE_S: + result = static_cast((int64_t)arg0 <= (int64_t)arg1); + break; + case I64_LE_U: + result = static_cast(arg0 <= arg1); + break; + case I64_GE_S: + result = static_cast((int64_t)arg0 >= (int64_t)arg1); + break; + case I64_GE_U: + result = static_cast(arg0 >= arg1); + break; + default: + printf("ran into an undefined instruction:: 0x%02hhX ", opcode); + exit(1); + } + m->stack[m->sp].value_type = I32; + m->stack[m->sp].value.uint32 = result; + goto nextInstruction; + + i32_eqz: // i32.eqz + m->stack[m->sp].value.uint32 = static_cast(m->stack[m->sp].value.uint32 == 0); + goto nextInstruction; + + i64_eqz: // i64.eqz + m->stack[m->sp].value_type = I32; + m->stack[m->sp].value.uint32 = static_cast(m->stack[m->sp].value.uint64 == 0); + goto nextInstruction; + + + // Administrative instructions + + nextInstruction: + //dbg_dump_stack(m); + opcode = *m->pc_ptr; + block_ptr = m->pc_ptr; + m->pc_ptr += 1; + goto *jumpTable[opcode]; + + undefinedInstruction: + printf("ran into an undefined instruction:: 0x%02hhX ", opcode); + exit(0); + +} + + bool Interpreter::interpret(Module *m, bool waiting) { uint8_t *block_ptr; uint8_t opcode; @@ -257,24 +646,24 @@ bool Interpreter::interpret(Module *m, bool waiting) { // // Control flow operators // - case 0x00: // unreachable + case UNREACHABLE: sprintf(exception, "%s", "unreachable"); success &= false; - case 0x01: // nop + case NOP: continue; - case 0x02: // block + case BLOCK: success &= i_instr_block(m, block_ptr); continue; - case 0x03: // loop + case LOOP: success &= i_instr_loop(m, block_ptr); continue; - case 0x04: // if + case IF: success &= i_instr_if(m, block_ptr); continue; - case 0x05: // else + case ELSE: // else success &= i_instr_else(m); continue; - case 0x0b: // end + case END: // end success &= i_instr_end(m, &program_done); continue; case 0x0c: // br diff --git a/src/Interpreter/interpreter.h b/src/Interpreter/interpreter.h index d11260d3..7f36821b 100644 --- a/src/Interpreter/interpreter.h +++ b/src/Interpreter/interpreter.h @@ -5,6 +5,7 @@ #include "../WARDuino/internals.h" class Interpreter { + public: /** * Push a new frame on to the call stack @@ -12,6 +13,7 @@ class Interpreter { * @param block * @param sp stack pointer to return to */ + void push_block(Module *m, Block *block, int sp); /** @@ -45,6 +47,9 @@ class Interpreter { */ bool interpret(Module *m, bool waiting = false); + // threaded interpreter test + void threadedInterpreter(Module *m); + /* Stateful operations * ************************************************************************/ @@ -52,6 +57,8 @@ class Interpreter { bool load(Module *m, uint8_t type, uint32_t addr, uint32_t offset); + + static void report_overflow(Module *m, uint8_t *maddr); protected: diff --git a/src/Primitives/arduino.cpp b/src/Primitives/arduino.cpp index 0100451e..79c5789a 100644 --- a/src/Primitives/arduino.cpp +++ b/src/Primitives/arduino.cpp @@ -25,17 +25,53 @@ #include "../WARDuino/CallbackHandler.h" #include "primitives.h" -// NEOPIXEL -#include -#define PIN 33 -#define NUMPIXELS 64 -Adafruit_NeoPixel pixels = - Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800); #define delay_us(ms) delayMicroseconds(ms) #include SPIClass *spi = new SPIClass(); +#define DISPLAY + +#ifdef DISPLAY + +#include +#include + +#define TFT_RST 18 +#define TFT_CLK 19 +#define TFT_DC 21 +#define TFT_CS 22 +#define TFT_MOSI 23 +#define TFT_MISO 25 + +#define LCD_BL 5 // BL --> LEDK + +Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC, TFT_MOSI, TFT_CLK, TFT_RST, TFT_MISO); + + +void setupDisplay() { + // Enable backlight. + pinMode(LCD_BL, OUTPUT); + digitalWrite(LCD_BL, LOW); + tft.begin(); + + printf("STARTING DISPLAY\n" ); + + tft.fillScreen(ILI9341_GREEN); + + tft.setCursor(0, 0); + tft.setTextColor(ILI9341_WHITE); + tft.setTextSize(1); + tft.println("Hello World!"); + + + +} + + +#endif + + // Hardware SPI void write_spi_byte(unsigned char c) { spi->beginTransaction(SPISettings(20000000, MSBFIRST, SPI_MODE0)); @@ -132,7 +168,22 @@ int resolve_isr(int pin) { // Primitives #define NUM_PRIMITIVES 0 -#define NUM_PRIMITIVES_ARDUINO 38 +#define NUM_PRIMITIVES_ARDUINO 36 + + +// NEOPIXEL (TODO fix primitives API) +#ifdef NEOPIXEL + +#include +#define PIN 33 +#define NUMPIXELS 64 +Adafruit_NeoPixel pixels = + Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800); + +#define NUM_PRIMITIVES_ARDUINO = 40; + +#endif + #define ALL_PRIMITIVES (NUM_PRIMITIVES + NUM_PRIMITIVES_ARDUINO) @@ -486,6 +537,8 @@ def_prim(chip_digital_write, twoToNoneU32) { yield(); uint8_t pin = arg1.uint32; uint8_t val = arg0.uint32; + printf("chip_pin_write %i \n", pin); + digitalWrite(pin, val); pop_args(2); return true; @@ -549,6 +602,8 @@ def_prim(write_spi_bytes_16, twoToNoneU32) { return true; } +#ifdef NEOPIXEL + def_prim(init_pixels, NoneToNoneU32) { pixels.begin(); return true; @@ -575,6 +630,8 @@ def_prim(clear_pixels, NoneToNoneU32) { return true; } +#endif + // LED Control primitives def_prim(chip_ledc_set_duty, threeToNoneU32) { @@ -903,6 +960,30 @@ int32_t http_post_request(Module *m, const String url, const String body, return httpResponseCode; } + +//------------------------------------------------------ +// Display Primitives +//------------------------------------------------------ + +def_prim(display_init, NoneToNoneU32) { + setupDisplay(); + return true; +} + +def_prim(display_draw_rect, NoneToNoneU32) { + int16_t x = (int16_t)arg3.int32; + int16_t y = (int16_t)arg2.int32; + int16_t w = (int16_t)arg1.int32; + int16_t h = (int16_t)arg0.int32; + //uint16 color = arg0.uint32; + tft.drawRect(x, y, w, h, 0xFFFF); + printf("DRAW RECT x:%i y:%i w:%i h:%i\n", x,y,w,h); + + pop_args(4); + return true; +} + + //------------------------------------------------------ // Installing all the primitives & ISRs //------------------------------------------------------ @@ -975,16 +1056,25 @@ void install_primitives() { install_primitive(mqtt_unsubscribe); install_primitive(mqtt_loop); + + #ifdef NEOPIXEL + install_primitive(init_pixels); install_primitive(set_pixel_color); install_primitive(clear_pixels); install_primitive(show_pixels); + + #endif // temporary primitives needed for analogWrite in ESP32 install_primitive(chip_analog_write); install_primitive(chip_ledc_attach); install_primitive(chip_ledc_set_duty); + // Display primitives + install_primitive(display_init); + install_primitive(display_draw_rect); + dbg_info("INSTALLING ISRs\n"); install_isrs(); } diff --git a/src/WARDuino/CallbackHandler.cpp b/src/WARDuino/CallbackHandler.cpp index 210fe794..4ba100ea 100644 --- a/src/WARDuino/CallbackHandler.cpp +++ b/src/WARDuino/CallbackHandler.cpp @@ -196,8 +196,7 @@ Callback::Callback(Module *m, std::string id, uint32_t tidx) { } void Callback::resolve_event(const Event &e) { - dbg_trace("Callback(%s, %i): resolving Event(%s, \"%s\")\n", topic.c_str(), - table_index, e.topic.c_str(), e.payload); +// dbg_trace("Callback(%s, %i): resolving Event(%s, \"%s\")\n", topic.c_str(), table_index, e.topic.c_str(), e.payload); // Copy topic and payload to linear memory uint32_t start = 10000; // TODO use reserved area in linear memory diff --git a/src/WARDuino/WARDuino.cpp b/src/WARDuino/WARDuino.cpp index 215821c0..cb645819 100644 --- a/src/WARDuino/WARDuino.cpp +++ b/src/WARDuino/WARDuino.cpp @@ -269,7 +269,7 @@ void WARDuino::run_init_expr(Module *m, uint8_t type, uint8_t **pc) { // WARNING: running code here to get initial value! dbg_info(" running init_expr at 0x%p: %s\n", m->pc_ptr, block_repr(&block)); - interpreter->interpret(m); + interpreter->threadedInterpreter(m); *pc = m->pc_ptr; ASSERT(m->stack[m->sp].value_type == type, @@ -332,6 +332,7 @@ void WARDuino::instantiate_module(Module *m, uint8_t *bytes, this->program_state = WARDUINOrun; while (pos < bytes_end) { + uint32_t id = read_LEB(&pos, 7); uint32_t section_len = read_LEB_32(&pos); uint8_t *start_pos = pos; @@ -915,10 +916,10 @@ bool WARDuino::invoke(Module *m, uint32_t fidx, uint32_t arity, dbg_dump_stack(m); interpreter->setup_call(m, fidx); dbg_trace("Call setup\n"); - result = interpreter->interpret(m); + interpreter->threadedInterpreter(m); dbg_trace("Interpretation ended\n"); dbg_dump_stack(m); - return result; + return true; } void WARDuino::setInterpreter(Interpreter *interpreter) { diff --git a/src/WARDuino/internals.h b/src/WARDuino/internals.h index d0f6b263..cf8e07f3 100644 --- a/src/WARDuino/internals.h +++ b/src/WARDuino/internals.h @@ -119,6 +119,7 @@ typedef struct Module { Memory memory; uint32_t global_count = 0; // number of globals StackValue *globals = nullptr; // globals + // Runtime state uint8_t *pc_ptr = nullptr; // program counter int sp = -1; // operand stack pointer diff --git a/tests/latch/latch-0.2.1.tgz b/tests/latch/latch-0.2.1.tgz deleted file mode 100644 index 6e1d284f316b8a5516a5907165fba49d8a3bda7d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54021 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≤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 SWhztocjW`US)|DTTm%6A%eG+v diff --git a/tests/threading/run.cpp b/tests/threading/run.cpp new file mode 100644 index 00000000..e69de29b diff --git a/tutorials/assemblyscript/bin/main.debug.wasm.map b/tutorials/assemblyscript/bin/main.debug.wasm.map new file mode 100644 index 00000000..c46cd376 --- /dev/null +++ b/tutorials/assemblyscript/bin/main.debug.wasm.map @@ -0,0 +1 @@ +{"version":3,"sources":["~lib/rt/common.ts","~lib/as-warduino/assembly/index.ts","main/ascii.ts","~lib/util/number.ts","~lib/util/math.ts","~lib/util/string.ts","~lib/shared/runtime.ts","~lib/util/sort.ts","~lib/string.ts","~lib/rt/stub.ts","~lib/util/error.ts","~lib/number.ts","~lib/memory.ts","~lib/util/memory.ts"],"names":[],"mappings":"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","sourceRoot":"./main.debug","sourcesContent":["// Alignment guarantees\n\n// @ts-ignore: decorator\n@inline export const AL_BITS: u32 = 4; // 16 bytes to fit up to v128\n// @ts-ignore: decorator\n@inline export const AL_SIZE: usize = 1 << AL_BITS;\n// @ts-ignore: decorator\n@inline export const AL_MASK: usize = AL_SIZE - 1;\n\n// Extra debugging\n\n// @ts-ignore: decorator\n@inline export const DEBUG = true;\n// @ts-ignore: decorator\n@inline export const TRACE = false;\n// @ts-ignore: decorator\n@inline export const RTRACE = isDefined(ASC_RTRACE);\n// @ts-ignore: decorator\n@inline export const PROFILE = isDefined(ASC_PROFILE);\n\n// Memory manager\n\n// ╒════════════ Memory manager block layout (32-bit) ═════════════╕\n// 3 2 1\n// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 bits\n// ├─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┤\n// │ MM info │ -4\n// ╞>ptr═══════════════════════════════════════════════════════════╡\n// │ ... │\n@unmanaged export class BLOCK {\n /** Memory manager info. */\n mmInfo: usize;\n}\n\n/** Overhead of a memory manager block. */\n// @ts-ignore: decorator\n@inline export const BLOCK_OVERHEAD: usize = offsetof();\n\n/** Maximum size of a memory manager block's payload. */\n// @ts-ignore: decorator\n@inline export const BLOCK_MAXSIZE: usize = (1 << 30) - BLOCK_OVERHEAD;\n\n// Garbage collector\n\n// ╒══════════ Garbage collector object layout (32-bit) ═══════════╕\n// 3 2 1\n// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 bits\n// ├─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┤\n// │ Memory manager block │ -20\n// ╞═══════════════════════════════════════════════════════════════╡\n// │ GC info │ -16\n// ├───────────────────────────────────────────────────────────────┤\n// │ GC info │ -12\n// ├───────────────────────────────────────────────────────────────┤\n// │ RT id │ -8\n// ├───────────────────────────────────────────────────────────────┤\n// │ RT size │ -4\n// ╞>ptr═══════════════════════════════════════════════════════════╡\n// │ ... │\n@unmanaged export class OBJECT extends BLOCK {\n /** Garbage collector info. */\n gcInfo: u32;\n /** Garbage collector info. */\n gcInfo2: u32;\n /** Runtime class id. */\n rtId: u32;\n /** Runtime object size. */\n rtSize: u32;\n}\n\n/** Overhead of a garbage collector object. Excludes memory manager block overhead. */\n// @ts-ignore: decorator\n@inline export const OBJECT_OVERHEAD: usize = (offsetof() - BLOCK_OVERHEAD + AL_MASK) & ~AL_MASK;\n\n/** Maximum size of a garbage collector object's payload. */\n// @ts-ignore: decorator\n@inline export const OBJECT_MAXSIZE: usize = BLOCK_MAXSIZE - OBJECT_OVERHEAD;\n\n/** Total of memory manager and garbage collector overhead. */\n// @ts-ignore: decorator\n@inline export const TOTAL_OVERHEAD: usize = BLOCK_OVERHEAD + OBJECT_OVERHEAD;\n","/**\n * as-warduino - WARDuino primitives library\n *\n *
\n *\n * WARDuino is a dynamic WebAssembly runtime for embedded devices, that\n * provides primitives to access hardware and IoT specific functionality.\n *\n * The `as-warduino` package allows using these primitives from AssemblyScript.\n *\n *
\n *\n * # Usage\n *\n * ```ts\n * import {pinMode, PinMode, PinVoltage, digitalWrite, delay} from \"as-warduino\";\n * \n * export function main(): void {\n * let led = 26;\n * pinMode(led, PinMode.OUTPUT);\n * \n * let pause: u32 = 1000;\n * while (true) {\n * digitalWrite(led, PinVoltage.HIGH);\n * delay(pause);\n * digitalWrite(led, PinVoltage.LOW);\n * delay(pause);\n * }\n * }\n * ```\n */\n\nimport * as ward from \"./warduino\";\n\n/** Returns the number of milliseconds passed since the current program started to run. */\nexport function millis(): u32 {\n return ward._millis();\n}\n/** Pauses the program for the amount of time (in milliseconds). */\nexport function delay(ms: u32): void {\n ward._delay(ms);\n}\n\n/** Pauses the program for the amount of time (in seconds). */\nexport function sleep(s: u32): void {\n ward._delay(s * 1000);\n}\n\n/** Reads the value from the specified analog pin. */\nexport function analogRead(pin: u32): i32 {\n return ward._analog_read(pin);\n}\n\n/** Write the value to the specified analog pin. */\nexport function analogWrite(pin: u32, signal: u32): void {\n ward._analog_write(pin, signal);\n}\n\nexport function analogSetup(channel: u32, frequency: u32, timer: u32): void {\n ward._analog_setup(channel, frequency, timer);\n}\n\nexport function analogAttach(pin: u32, channel: u32): void {\n ward._analog_attach(pin, channel);\n}\n\nexport function analogDuty(channel: u32, value: i32, max: u32): void {\n ward._analog_duty(channel, value, max);\n}\n\n/** The voltage of a digital pin. */\nexport enum PinVoltage {\n /** Low voltage on a digital I/O pin */\n LOW = 0,\n /** High voltage on a digital I/O pin */\n HIGH = 1,\n}\n\n/** The mode of a pin interrupt. */\nexport enum InterruptMode {\n /** Changing edge on a digital I/O pin */\n CHANGED = 1,\n /** Falling edge on a digital I/O pin */\n FALLING = 2,\n /** Rising edge on a digital I/O pin */\n RISING = 3,\n}\n\n/** The mode of a digital I/O pin. */\nexport enum PinMode {\n /** Input mode for digital pins */\n INPUT = 0x0,\n /** Output mode for digital pins */\n OUTPUT = 0x2,\n}\n\n/** Configures the [PinMode] of the specified pin. */\nexport function pinMode(pin: u32, mode: PinMode): void {\n ward._pin_mode(pin, mode);\n}\n\n/** Write the voltage to a specified digital pin, either [HIGH](PinVoltage) or [LOW](PinVoltage). */\nexport function digitalWrite(pin: u32, value: PinVoltage): void {\n ward._digital_write(pin, value);\n}\n\n/** Reads the value from a specified digital pin, either [HIGH](PinVoltage) or [LOW](PinVoltage). */\nexport function digitalRead(pin: u32): PinVoltage {\n return ward._digital_read(pin);\n}\n\n/** Subscribe a callback function to an interrupt on the given pin. */\nexport function interruptOn(pin: u32, mode: InterruptMode, fn: (topic: string, payload: string) => void): void {\n ward._subscribe_interrupt(pin, fn, mode);\n}\n\n/** Print a string to the serial port. */\nexport function print(text: string): void {\n ward._print(String.UTF8.encode(text, true), String.UTF8.byteLength(text, true));\n}\n\nexport namespace WiFi {\n export enum Status {\n /** No Wi-Fi hardware found */\n NoShield = 255,\n /** Wi-Fi is in process of changing between statuses */\n Idle = 0,\n /** Configured SSID cannot be reached */\n SsidUnavailable = 1,\n /** */\n ScanCompleted = 2,\n /** Successful connection is established */\n Connected = 3,\n /** Failed to connect */\n ConnectFailed = 4,\n /** No longer connected */\n ConnectionLost = 5,\n /** Module is not configured in station mode */\n Disconnected = 6,\n }\n\n /** Connect to Wi-Fi network with SSID and password. */\n function connect(ssid: string, password: string): void {\n ward._wifi_connect(String.UTF8.encode(ssid, true), String.UTF8.byteLength(ssid, true),\n String.UTF8.encode(password, true), String.UTF8.byteLength(password, true));\n }\n\n /** Returns the status of the Wi-Fi connection of the board. */\n function status(): Status {\n return ward._wifi_status();\n }\n\n /** Returns whether the board si still connected to Wi-Fi. */\n function connected(): bool {\n return status() === Status.Connected;\n }\n\n /** Returns the local IP address of the board. */\n function localip(): string {\n let localip = new ArrayBuffer(20);\n ward._wifi_localip(localip, localip.byteLength);\n return String.UTF8.decode(localip, true);\n }\n}\n\nexport namespace MQTT {\n export enum Status {\n /** The server didn't respond within the keepalive time */\n ConnectionTimeout = -4,\n /** The network connection was broken */\n ConnectionLost = -3,\n /** The network connection failed */\n ConnectFailed = -2,\n /** The client is disconnected cleanly */\n Disconnected = -1,\n /** The client is connected */\n Connected = 0,\n /** the server doesn't support the requested version of MQTT */\n ConnectBadProtocol = 1,\n /** The server rejected the client identifier */\n ConnectBadClientId = 2,\n /** The server was unable to accept the connection */\n ConnectUnavailable = 3,\n /** The username/password were rejected */\n ConnectBadCredentials = 4,\n /** The client was not authorized to connect */\n ConnectUnauthorized = 5,\n }\n\n /** Configure an MQTT broker. */\n function configureBroker(server: string, port: u32): void {\n ward._mqtt_init(String.UTF8.encode(server, true), String.UTF8.byteLength(server, true), port);\n }\n\n /** Connect to the Configured MQTT broker with client_id. */\n function connect(client_id: string): i32 {\n return ward._mqtt_connect(String.UTF8.encode(client_id, true), String.UTF8.byteLength(client_id, true));\n }\n\n /** Returns whether the board is still connected to the MQTT broker. */\n function connected(): bool {\n return status() === Status.Connected;\n }\n\n /** Returns the status of the connection to the MQTT broker. */\n function status(): Status {\n return ward._mqtt_state();\n }\n\n /** Publish a message on an MQTT topic. */\n function publish(topic: string, payload: string): i32 {\n return ward._mqtt_publish(String.UTF8.encode(topic, true), String.UTF8.byteLength(topic, true), String.UTF8.encode(payload, true), String.UTF8.byteLength(payload, true));\n }\n\n /** Subscribe a callback function to an MQTT topic. */\n function subscribe(topic: string, fn: (topic: string, payload: string) => void): i32 {\n return ward._mqtt_subscribe(topic, fn);\n }\n\n /** Unsubscribe a callback function from an MQTT topic. */\n function unsubscribe(topic: string, fn: (topic: string, payload: string) => void): i32 {\n return ward._mqtt_unsubscribe(topic, fn);\n }\n\n /** Check for messages from the MQTT broker. */\n function loop(): i32 {\n return ward._mqtt_loop();\n }\n}\n\nconst buffersizeMaximum: u32 = 1000;\n\nexport namespace HTTP {\n class PostOptions {\n url: string;\n body: string;\n content_type: string;\n authorization: string;\n\n constructor(url: string, body: string, content_type: string, authorization: string) {\n this.url = url; this.body = body; this.content_type = content_type; this.authorization = authorization;\n }\n }\n\n /** Send an HTTP GET request. The response is written to an ArrayBuffer. */\n function get(url: string): string {\n const response: ArrayBuffer = new ArrayBuffer(buffersizeMaximum);\n ward._http_get(String.UTF8.encode(url, true), String.UTF8.byteLength(url, true), response, response.byteLength);\n return String.UTF8.decode(response);\n }\n\n /** Send an HTTP POST request. The response is written to an ArrayBuffer. */\n function post(options: PostOptions): string {\n const response: ArrayBuffer = new ArrayBuffer(buffersizeMaximum);\n ward._http_post(String.UTF8.encode(options.url, true), String.UTF8.byteLength(options.url, true),\n String.UTF8.encode(options.body, true), String.UTF8.byteLength(options.body, true),\n String.UTF8.encode(options.content_type, true), String.UTF8.byteLength(options.content_type, true),\n String.UTF8.encode(options.authorization, true), String.UTF8.byteLength(options.authorization, true),\n response, response.byteLength);\n return String.UTF8.decode(response);\n }\n}\n","import {print} from \"as-warduino/assembly\";\n\nexport function main(): void {\n print(\"ASCII Table ~ Character Map\\n\");\n let byte: i32 = 33;\n\n while (byte !== 126) {\n print(String.fromCharCode(byte));\n\n print(\", dec: \" + byte.toString());\n print(\", hex: \" + byte.toString(16));\n print(\", oct: \" + byte.toString(8));\n print(\", bin: \" + byte.toString(2) + \"\\n\");\n\n if (byte == 126) {\n while (true) {\n continue;\n }\n }\n\n byte++;\n }\n}\n","/// \n\nimport { idof } from \"../builtins\";\nimport { CharCode } from \"./string\";\n\n// @ts-ignore: decorator\n@inline\nexport const MAX_DOUBLE_LENGTH = 28;\n\n// @ts-ignore: decorator\n@lazy @inline const POWERS10 = memory.data([\n 1,\n 10,\n 100,\n 1000,\n 10000,\n 100000,\n 1000000,\n 10000000,\n 100000000,\n 1000000000\n]);\n\n/*\n Lookup table for pairwise char codes in range [0-99]\n\n \"00\", \"01\", \"02\", \"03\", \"04\", \"05\", \"06\", \"07\", \"08\", \"09\",\n \"10\", \"11\", \"12\", \"13\", \"14\", \"15\", \"16\", \"17\", \"18\", \"19\",\n \"20\", \"21\", \"22\", \"23\", \"24\", \"25\", \"26\", \"27\", \"28\", \"29\",\n \"30\", \"31\", \"32\", \"33\", \"34\", \"35\", \"36\", \"37\", \"38\", \"39\",\n \"40\", \"41\", \"42\", \"43\", \"44\", \"45\", \"46\", \"47\", \"48\", \"49\",\n \"50\", \"51\", \"52\", \"53\", \"54\", \"55\", \"56\", \"57\", \"58\", \"59\",\n \"60\", \"61\", \"62\", \"63\", \"64\", \"65\", \"66\", \"67\", \"68\", \"69\",\n \"70\", \"71\", \"72\", \"73\", \"74\", \"75\", \"76\", \"77\", \"78\", \"79\",\n \"80\", \"81\", \"82\", \"83\", \"84\", \"85\", \"86\", \"87\", \"88\", \"89\",\n \"90\", \"91\", \"92\", \"93\", \"94\", \"95\", \"96\", \"97\", \"98\", \"99\"\n*/\n// @ts-ignore: decorator\n@lazy @inline const DIGITS = memory.data([\n 0x00300030, 0x00310030, 0x00320030, 0x00330030, 0x00340030,\n 0x00350030, 0x00360030, 0x00370030, 0x00380030, 0x00390030,\n 0x00300031, 0x00310031, 0x00320031, 0x00330031, 0x00340031,\n 0x00350031, 0x00360031, 0x00370031, 0x00380031, 0x00390031,\n 0x00300032, 0x00310032, 0x00320032, 0x00330032, 0x00340032,\n 0x00350032, 0x00360032, 0x00370032, 0x00380032, 0x00390032,\n 0x00300033, 0x00310033, 0x00320033, 0x00330033, 0x00340033,\n 0x00350033, 0x00360033, 0x00370033, 0x00380033, 0x00390033,\n 0x00300034, 0x00310034, 0x00320034, 0x00330034, 0x00340034,\n 0x00350034, 0x00360034, 0x00370034, 0x00380034, 0x00390034,\n 0x00300035, 0x00310035, 0x00320035, 0x00330035, 0x00340035,\n 0x00350035, 0x00360035, 0x00370035, 0x00380035, 0x00390035,\n 0x00300036, 0x00310036, 0x00320036, 0x00330036, 0x00340036,\n 0x00350036, 0x00360036, 0x00370036, 0x00380036, 0x00390036,\n 0x00300037, 0x00310037, 0x00320037, 0x00330037, 0x00340037,\n 0x00350037, 0x00360037, 0x00370037, 0x00380037, 0x00390037,\n 0x00300038, 0x00310038, 0x00320038, 0x00330038, 0x00340038,\n 0x00350038, 0x00360038, 0x00370038, 0x00380038, 0x00390038,\n 0x00300039, 0x00310039, 0x00320039, 0x00330039, 0x00340039,\n 0x00350039, 0x00360039, 0x00370039, 0x00380039, 0x00390039\n]);\n\n// Lookup table for pairwise char codes in range [0x00-0xFF]\n// @ts-ignore: decorator\n@lazy @inline const HEX_DIGITS =\n\"000102030405060708090a0b0c0d0e0f\\\n101112131415161718191a1b1c1d1e1f\\\n202122232425262728292a2b2c2d2e2f\\\n303132333435363738393a3b3c3d3e3f\\\n404142434445464748494a4b4c4d4e4f\\\n505152535455565758595a5b5c5d5e5f\\\n606162636465666768696a6b6c6d6e6f\\\n707172737475767778797a7b7c7d7e7f\\\n808182838485868788898a8b8c8d8e8f\\\n909192939495969798999a9b9c9d9e9f\\\na0a1a2a3a4a5a6a7a8a9aaabacadaeaf\\\nb0b1b2b3b4b5b6b7b8b9babbbcbdbebf\\\nc0c1c2c3c4c5c6c7c8c9cacbcccdcecf\\\nd0d1d2d3d4d5d6d7d8d9dadbdcdddedf\\\ne0e1e2e3e4e5e6e7e8e9eaebecedeeef\\\nf0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\";\n\n// @ts-ignore: decorator\n@lazy @inline const ANY_DIGITS = \"0123456789abcdefghijklmnopqrstuvwxyz\";\n\n// @ts-ignore: decorator\n@lazy @inline const EXP_POWERS = memory.data([/* eslint-disable indent */\n -1220, -1193, -1166, -1140, -1113, -1087, -1060, -1034, -1007, -980,\n -954, -927, -901, -874, -847, -821, -794, -768, -741, -715,\n -688, -661, -635, -608, -582, -555, -529, -502, -475, -449,\n -422, -396, -369, -343, -316, -289, -263, -236, -210, -183,\n -157, -130, -103, -77, -50, -24, 3, 30, 56, 83,\n 109, 136, 162, 189, 216, 242, 269, 295, 322, 348,\n 375, 402, 428, 455, 481, 508, 534, 561, 588, 614,\n 641, 667, 694, 720, 747, 774, 800, 827, 853, 880,\n 907, 933, 960, 986, 1013, 1039, 1066\n/* eslint-enable indent */]);\n\n// 1e-348, 1e-340, ..., 1e340\n// @ts-ignore: decorator\n@lazy @inline const FRC_POWERS = memory.data([\n 0xFA8FD5A0081C0288, 0xBAAEE17FA23EBF76, 0x8B16FB203055AC76, 0xCF42894A5DCE35EA,\n 0x9A6BB0AA55653B2D, 0xE61ACF033D1A45DF, 0xAB70FE17C79AC6CA, 0xFF77B1FCBEBCDC4F,\n 0xBE5691EF416BD60C, 0x8DD01FAD907FFC3C, 0xD3515C2831559A83, 0x9D71AC8FADA6C9B5,\n 0xEA9C227723EE8BCB, 0xAECC49914078536D, 0x823C12795DB6CE57, 0xC21094364DFB5637,\n 0x9096EA6F3848984F, 0xD77485CB25823AC7, 0xA086CFCD97BF97F4, 0xEF340A98172AACE5,\n 0xB23867FB2A35B28E, 0x84C8D4DFD2C63F3B, 0xC5DD44271AD3CDBA, 0x936B9FCEBB25C996,\n 0xDBAC6C247D62A584, 0xA3AB66580D5FDAF6, 0xF3E2F893DEC3F126, 0xB5B5ADA8AAFF80B8,\n 0x87625F056C7C4A8B, 0xC9BCFF6034C13053, 0x964E858C91BA2655, 0xDFF9772470297EBD,\n 0xA6DFBD9FB8E5B88F, 0xF8A95FCF88747D94, 0xB94470938FA89BCF, 0x8A08F0F8BF0F156B,\n 0xCDB02555653131B6, 0x993FE2C6D07B7FAC, 0xE45C10C42A2B3B06, 0xAA242499697392D3,\n 0xFD87B5F28300CA0E, 0xBCE5086492111AEB, 0x8CBCCC096F5088CC, 0xD1B71758E219652C,\n 0x9C40000000000000, 0xE8D4A51000000000, 0xAD78EBC5AC620000, 0x813F3978F8940984,\n 0xC097CE7BC90715B3, 0x8F7E32CE7BEA5C70, 0xD5D238A4ABE98068, 0x9F4F2726179A2245,\n 0xED63A231D4C4FB27, 0xB0DE65388CC8ADA8, 0x83C7088E1AAB65DB, 0xC45D1DF942711D9A,\n 0x924D692CA61BE758, 0xDA01EE641A708DEA, 0xA26DA3999AEF774A, 0xF209787BB47D6B85,\n 0xB454E4A179DD1877, 0x865B86925B9BC5C2, 0xC83553C5C8965D3D, 0x952AB45CFA97A0B3,\n 0xDE469FBD99A05FE3, 0xA59BC234DB398C25, 0xF6C69A72A3989F5C, 0xB7DCBF5354E9BECE,\n 0x88FCF317F22241E2, 0xCC20CE9BD35C78A5, 0x98165AF37B2153DF, 0xE2A0B5DC971F303A,\n 0xA8D9D1535CE3B396, 0xFB9B7CD9A4A7443C, 0xBB764C4CA7A44410, 0x8BAB8EEFB6409C1A,\n 0xD01FEF10A657842C, 0x9B10A4E5E9913129, 0xE7109BFBA19C0C9D, 0xAC2820D9623BF429,\n 0x80444B5E7AA7CF85, 0xBF21E44003ACDD2D, 0x8E679C2F5E44FF8F, 0xD433179D9C8CB841,\n 0x9E19DB92B4E31BA9, 0xEB96BF6EBADF77D9, 0xAF87023B9BF0EE6B\n]);\n\n// @ts-ignore: decorator\n@inline\nexport function isPowerOf2(value: T): bool {\n return popcnt(value) == 1;\n}\n\n// Count number of decimals for u32 values\n// In our case input value always non-zero so we can simplify some parts\nexport function decimalCount32(value: u32): u32 {\n if (value < 100000) {\n if (value < 100) {\n return 1 + u32(value >= 10);\n } else {\n return 3 + u32(value >= 10000) + u32(value >= 1000);\n }\n } else {\n if (value < 10000000) {\n return 6 + u32(value >= 1000000);\n } else {\n return 8 + u32(value >= 1000000000) + u32(value >= 100000000);\n }\n }\n}\n\n// Count number of decimals for u64 values\n// In our case input value always greater than 2^32-1 so we can skip some parts\nexport function decimalCount64High(value: u64): u32 {\n if (value < 1000000000000000) {\n if (value < 1000000000000) {\n return 10 + u32(value >= 100000000000) + u32(value >= 10000000000);\n } else {\n return 13 + u32(value >= 100000000000000) + u32(value >= 10000000000000);\n }\n } else {\n if (value < 100000000000000000) {\n return 16 + u32(value >= 10000000000000000);\n } else {\n return 18 + u32(value >= 10000000000000000000) + u32(value >= 1000000000000000000);\n }\n }\n}\n\nfunction ulog_base(num: u64, base: i32): u32 {\n if (isPowerOf2(base)) {\n return (63 - clz(num)) / (31 - clz(base)) + 1;\n }\n let b64 = u64(base), b = b64, e: u32 = 1;\n while (num >= b) {\n num /= b;\n b *= b;\n e <<= 1;\n }\n while (num >= 1) {\n num /= b64;\n e++;\n }\n return e - 1;\n}\n\nfunction utoa32_dec_lut(buffer: usize, num: u32, offset: usize): void {\n while (num >= 10000) {\n // in most VMs i32/u32 div and modulo by constant can be shared and simplificate\n let t = num / 10000;\n let r = num % 10000;\n num = t;\n\n let d1 = r / 100;\n let d2 = r % 100;\n\n let digits1 = load(DIGITS + (d1 << alignof()));\n let digits2 = load(DIGITS + (d2 << alignof()));\n\n offset -= 4;\n store(buffer + (offset << 1), digits1 | (digits2 << 32));\n }\n\n if (num >= 100) {\n let t = num / 100;\n let d1 = num % 100;\n num = t;\n offset -= 2;\n let digits = load(DIGITS + (d1 << alignof()));\n store(buffer + (offset << 1), digits);\n }\n\n if (num >= 10) {\n offset -= 2;\n let digits = load(DIGITS + (num << alignof()));\n store(buffer + (offset << 1), digits);\n } else {\n offset -= 1;\n let digit = CharCode._0 + num;\n store(buffer + (offset << 1), digit);\n }\n}\n\nfunction utoa64_dec_lut(buffer: usize, num: u64, offset: usize): void {\n while (num >= 100000000) {\n let t = num / 100000000;\n let r = (num - t * 100000000);\n num = t;\n\n let b = r / 10000;\n let c = r % 10000;\n\n let b1 = b / 100;\n let b2 = b % 100;\n let c1 = c / 100;\n let c2 = c % 100;\n\n let digits1 = load(DIGITS + (c1 << alignof()));\n let digits2 = load(DIGITS + (c2 << alignof()));\n\n offset -= 4;\n store(buffer + (offset << 1), digits1 | (digits2 << 32));\n\n digits1 = load(DIGITS + (b1 << alignof()));\n digits2 = load(DIGITS + (b2 << alignof()));\n\n offset -= 4;\n store(buffer + (offset << 1), digits1 | (digits2 << 32));\n }\n\n utoa32_dec_lut(buffer, num, offset);\n}\n\nfunction utoa_hex_lut(buffer: usize, num: u64, offset: usize): void {\n const lut = changetype(HEX_DIGITS);\n while (offset >= 2) {\n offset -= 2;\n store(\n buffer + (offset << 1),\n load(lut + ((num & 0xFF) << alignof()))\n );\n num >>= 8;\n }\n if (offset & 1) {\n store(buffer, load(lut + (num << 6)));\n }\n}\n\nfunction utoa_dec_simple(buffer: usize, num: T, offset: usize): void {\n do {\n let t = num / 10;\n let r = (num % 10);\n num = changetype(t);\n offset--;\n store(buffer + (offset << 1), CharCode._0 + r);\n } while (num);\n}\n\nfunction utoa_hex_simple(buffer: usize, num: T, offset: usize): void {\n do {\n let d = num & 0x0F | CharCode._0;\n d += select(0x27, 0, d > CharCode._9);\n offset--;\n store(buffer + (offset << 1), d);\n // @ts-ignore: type\n num >>= 4;\n } while (num);\n}\n\n// @ts-ignore: decorator\n@inline\nexport function utoa32_dec_core(buffer: usize, num: u32, offset: usize): void {\n if (ASC_SHRINK_LEVEL >= 1) {\n utoa_dec_simple(buffer, num, offset);\n } else {\n utoa32_dec_lut(buffer, num, offset);\n }\n}\n\n// @ts-ignore: decorator\n@inline\nfunction utoa32_hex_core(buffer: usize, num: u32, offset: usize): void {\n if (ASC_SHRINK_LEVEL >= 1) {\n utoa_hex_simple(buffer, num, offset);\n } else {\n utoa_hex_lut(buffer, num, offset);\n }\n}\n\n// @ts-ignore: decorator\n@inline\nfunction utoa64_dec_core(buffer: usize, num: u64, offset: usize): void {\n if (ASC_SHRINK_LEVEL >= 1) {\n utoa_dec_simple(buffer, num, offset);\n } else {\n utoa64_dec_lut(buffer, num, offset);\n }\n}\n\n// @ts-ignore: decorator\n@inline\nfunction utoa64_hex_core(buffer: usize, num: u64, offset: usize): void {\n if (ASC_SHRINK_LEVEL >= 1) {\n utoa_hex_simple(buffer, num, offset);\n } else {\n utoa_hex_lut(buffer, num, offset);\n }\n}\n\nfunction utoa64_any_core(buffer: usize, num: u64, offset: usize, radix: i32): void {\n const lut = changetype(ANY_DIGITS);\n let base = u64(radix);\n if ((radix & (radix - 1)) == 0) { // for radix which pow of two\n let shift = u64(ctz(radix) & 7);\n let mask = base - 1;\n do {\n offset--;\n store(buffer + (offset << 1), load(lut + (usize(num & mask) << 1)));\n num >>= shift;\n } while (num);\n } else {\n do {\n offset--;\n let q = num / base;\n store(buffer + (offset << 1), load(lut + (usize(num - q * base) << 1)));\n num = q;\n } while (num);\n }\n}\n\nexport function utoa32(value: u32, radix: i32): String {\n if (radix < 2 || radix > 36) {\n throw new RangeError(\"toString() radix argument must be between 2 and 36\");\n }\n if (!value) return \"0\";\n let out: String;\n\n if (radix == 10) {\n let decimals = decimalCount32(value);\n out = changetype(__new(decimals << 1, idof()));\n utoa32_dec_core(changetype(out), value, decimals);\n } else if (radix == 16) {\n let decimals = (31 - clz(value) >> 2) + 1;\n out = changetype(__new(decimals << 1, idof()));\n utoa32_hex_core(changetype(out), value, decimals);\n } else {\n let decimals = ulog_base(value, radix);\n out = changetype(__new(decimals << 1, idof()));\n utoa64_any_core(changetype(out), value, decimals, radix);\n }\n return out;\n}\n\nexport function itoa32(value: i32, radix: i32): String {\n if (radix < 2 || radix > 36) {\n throw new RangeError(\"toString() radix argument must be between 2 and 36\");\n }\n if (!value) return \"0\";\n\n let sign = (value >>> 31) << 1;\n if (sign) value = -value;\n let out: String;\n\n if (radix == 10) {\n let decimals = decimalCount32(value);\n out = changetype(__new((decimals << 1) + sign, idof()));\n utoa32_dec_core(changetype(out) + sign, value, decimals);\n } else if (radix == 16) {\n let decimals = (31 - clz(value) >> 2) + 1;\n out = changetype(__new((decimals << 1) + sign, idof()));\n utoa32_hex_core(changetype(out) + sign, value, decimals);\n } else {\n let val32 = u32(value);\n let decimals = ulog_base(val32, radix);\n out = changetype(__new((decimals << 1) + sign, idof()));\n utoa64_any_core(changetype(out) + sign, val32, decimals, radix);\n }\n if (sign) store(changetype(out), CharCode.MINUS);\n return out;\n}\n\nexport function utoa64(value: u64, radix: i32): String {\n if (radix < 2 || radix > 36) {\n throw new RangeError(\"toString() radix argument must be between 2 and 36\");\n }\n if (!value) return \"0\";\n let out: String;\n\n if (radix == 10) {\n if (value <= u32.MAX_VALUE) {\n let val32 = value;\n let decimals = decimalCount32(val32);\n out = changetype(__new(decimals << 1, idof()));\n utoa32_dec_core(changetype(out), val32, decimals);\n } else {\n let decimals = decimalCount64High(value);\n out = changetype(__new(decimals << 1, idof()));\n utoa64_dec_core(changetype(out), value, decimals);\n }\n } else if (radix == 16) {\n let decimals = (63 - u32(clz(value)) >> 2) + 1;\n out = changetype(__new(decimals << 1, idof()));\n utoa64_hex_core(changetype(out), value, decimals);\n } else {\n let decimals = ulog_base(value, radix);\n out = changetype(__new(decimals << 1, idof()));\n utoa64_any_core(changetype(out), value, decimals, radix);\n }\n return out;\n}\n\nexport function itoa64(value: i64, radix: i32): String {\n if (radix < 2 || radix > 36) {\n throw new RangeError(\"toString() radix argument must be between 2 and 36\");\n }\n if (!value) return \"0\";\n\n let sign = u32(value >>> 63) << 1;\n if (sign) value = -value;\n let out: String;\n\n if (radix == 10) {\n if (value <= u32.MAX_VALUE) {\n let val32 = value;\n let decimals = decimalCount32(val32);\n out = changetype(__new((decimals << 1) + sign, idof()));\n utoa32_dec_core(changetype(out) + sign, val32, decimals);\n } else {\n let decimals = decimalCount64High(value);\n out = changetype(__new((decimals << 1) + sign, idof()));\n utoa64_dec_core(changetype(out) + sign, value, decimals);\n }\n } else if (radix == 16) {\n let decimals = (63 - u32(clz(value)) >> 2) + 1;\n out = changetype(__new((decimals << 1) + sign, idof()));\n utoa64_hex_core(changetype(out) + sign, value, decimals);\n } else {\n let decimals = ulog_base(value, radix);\n out = changetype(__new((decimals << 1) + sign, idof()));\n utoa64_any_core(changetype(out) + sign, value, decimals, radix);\n }\n if (sign) store(changetype(out), CharCode.MINUS);\n return out;\n}\n\n// @ts-ignore: decorator\n@lazy let _K: i32 = 0;\n\n// // @ts-ignore: decorator\n// @lazy\n// let _frc: u64 = 0;\n\n// @ts-ignore: decorator\n@lazy let _exp: i32 = 0;\n\n// @ts-ignore: decorator\n@lazy let _frc_minus: u64 = 0;\n\n// @ts-ignore: decorator\n@lazy let _frc_plus: u64 = 0;\n\n// @ts-ignore: decorator\n@lazy let _frc_pow: u64 = 0;\n\n// @ts-ignore: decorator\n@lazy let _exp_pow: i32 = 0;\n\n// @ts-ignore: decorator\n@inline\nfunction umul64f(u: u64, v: u64): u64 {\n let u0 = u & 0xFFFFFFFF;\n let v0 = v & 0xFFFFFFFF;\n\n let u1 = u >> 32;\n let v1 = v >> 32;\n\n let l = u0 * v0;\n let t = u1 * v0 + (l >> 32);\n let w = u0 * v1 + (t & 0xFFFFFFFF);\n\n w += 0x7FFFFFFF; // rounding\n\n t >>= 32;\n w >>= 32;\n\n return u1 * v1 + t + w;\n}\n\n// @ts-ignore: decorator\n@inline\nfunction umul64e(e1: i32, e2: i32): i32 {\n return e1 + e2 + 64; // where 64 is significand size\n}\n\n// @ts-ignore: decorator\n@inline\nfunction normalizedBoundaries(f: u64, e: i32): void {\n let frc = (f << 1) + 1;\n let exp = e - 1;\n let off = clz(frc);\n frc <<= off;\n exp -= off;\n\n let m = 1 + i32(f == 0x0010000000000000);\n\n _frc_plus = frc;\n _frc_minus = ((f << m) - 1) << e - m - exp;\n _exp = exp;\n}\n\n// @ts-ignore: decorator\n@inline\nfunction grisuRound(buffer: usize, len: i32, delta: u64, rest: u64, ten_kappa: u64, wp_w: u64): void {\n let lastp = buffer + ((len - 1) << 1);\n let digit = load(lastp);\n while (\n rest < wp_w &&\n delta - rest >= ten_kappa && (\n rest + ten_kappa < wp_w ||\n wp_w - rest > rest + ten_kappa - wp_w\n )\n ) {\n --digit;\n rest += ten_kappa;\n }\n store(lastp, digit);\n}\n\n// @ts-ignore: decorator\n@inline\nfunction getCachedPower(minExp: i32): void {\n const c = reinterpret(0x3FD34413509F79FE); // 1 / lg(10) = 0.30102999566398114\n let dk = (-61 - minExp) * c + 347;\t // dk must be positive, so can do ceiling in positive\n let k = dk;\n k += i32(k != dk); // conversion with ceil\n\n let index = (k >> 3) + 1;\n _K = 348 - (index << 3);\t// decimal exponent no need lookup table\n _frc_pow = load(FRC_POWERS + (index << alignof()));\n _exp_pow = load(EXP_POWERS + (index << alignof()));\n}\n\n// @ts-ignore: decorator\n@inline\nfunction grisu2(value: f64, buffer: usize, sign: i32): i32 {\n\n // frexp routine\n let uv = reinterpret(value);\n let exp = i32((uv & 0x7FF0000000000000) >>> 52);\n let sid = uv & 0x000FFFFFFFFFFFFF;\n let frc = (u64(exp != 0) << 52) + sid;\n exp = select(exp, 1, exp) - (0x3FF + 52);\n\n normalizedBoundaries(frc, exp);\n getCachedPower(_exp);\n\n // normalize\n let off = clz(frc);\n frc <<= off;\n exp -= off;\n\n let frc_pow = _frc_pow;\n let exp_pow = _exp_pow;\n\n let w_frc = umul64f(frc, frc_pow);\n let w_exp = umul64e(exp, exp_pow);\n\n let wp_frc = umul64f(_frc_plus, frc_pow) - 1;\n let wp_exp = umul64e(_exp, exp_pow);\n\n let wm_frc = umul64f(_frc_minus, frc_pow) + 1;\n let delta = wp_frc - wm_frc;\n\n return genDigits(buffer, w_frc, w_exp, wp_frc, wp_exp, delta, sign);\n}\n\nfunction genDigits(buffer: usize, w_frc: u64, w_exp: i32, mp_frc: u64, mp_exp: i32, delta: u64, sign: i32): i32 {\n let one_exp = -mp_exp;\n let one_frc = (1) << one_exp;\n let mask = one_frc - 1;\n\n let wp_w_frc = mp_frc - w_frc;\n\n let p1 = u32(mp_frc >> one_exp);\n let p2 = mp_frc & mask;\n\n let kappa = decimalCount32(p1);\n let len = sign;\n\n while (kappa > 0) {\n let d: u32;\n switch (kappa) {\n case 10: { d = p1 / 1000000000; p1 %= 1000000000; break; }\n case 9: { d = p1 / 100000000; p1 %= 100000000; break; }\n case 8: { d = p1 / 10000000; p1 %= 10000000; break; }\n case 7: { d = p1 / 1000000; p1 %= 1000000; break; }\n case 6: { d = p1 / 100000; p1 %= 100000; break; }\n case 5: { d = p1 / 10000; p1 %= 10000; break; }\n case 4: { d = p1 / 1000; p1 %= 1000; break; }\n case 3: { d = p1 / 100; p1 %= 100; break; }\n case 2: { d = p1 / 10; p1 %= 10; break; }\n case 1: { d = p1; p1 = 0; break; }\n default: { d = 0; break; }\n }\n\n if (d | len) store(buffer + (len++ << 1), CharCode._0 + d);\n\n --kappa;\n let tmp = ((p1) << one_exp) + p2;\n if (tmp <= delta) {\n _K += kappa;\n grisuRound(buffer, len, delta, tmp, load(POWERS10 + (kappa << alignof())) << one_exp, wp_w_frc);\n return len;\n }\n }\n\n while (true) {\n p2 *= 10;\n delta *= 10;\n\n let d = p2 >> one_exp;\n if (d | len) store(buffer + (len++ << 1), CharCode._0 + d);\n\n p2 &= mask;\n --kappa;\n if (p2 < delta) {\n _K += kappa;\n wp_w_frc *= load(POWERS10 + (-kappa << alignof()));\n grisuRound(buffer, len, delta, p2, one_frc, wp_w_frc);\n return len;\n }\n }\n}\n\n// @ts-ignore: decorator\n@inline\nfunction genExponent(buffer: usize, k: i32): i32 {\n let sign = k < 0;\n if (sign) k = -k;\n let decimals = decimalCount32(k) + 1;\n utoa32_dec_core(buffer, k, decimals);\n store(buffer, select(CharCode.MINUS, CharCode.PLUS, sign));\n return decimals;\n}\n\nfunction prettify(buffer: usize, length: i32, k: i32): i32 {\n if (!k) {\n store(buffer + (length << 1), CharCode.DOT | (CharCode._0 << 16));\n return length + 2;\n }\n\n let kk = length + k;\n if (length <= kk && kk <= 21) {\n // 1234e7 -> 12340000000\n for (let i = length; i < kk; ++i) {\n store(buffer + (i << 1), CharCode._0);\n }\n store(buffer + (kk << 1), CharCode.DOT | (CharCode._0 << 16));\n return kk + 2;\n } else if (kk > 0 && kk <= 21) {\n // 1234e-2 -> 12.34\n let ptr = buffer + (kk << 1);\n memory.copy(\n ptr + 2,\n ptr,\n -k << 1\n );\n store(buffer + (kk << 1), CharCode.DOT);\n return length + 1;\n } else if (-6 < kk && kk <= 0) {\n // 1234e-6 -> 0.001234\n let offset = 2 - kk;\n memory.copy(\n buffer + (offset << 1),\n buffer,\n length << 1\n );\n store(buffer, CharCode._0 | (CharCode.DOT << 16));\n for (let i = 2; i < offset; ++i) {\n store(buffer + (i << 1), CharCode._0);\n }\n return length + offset;\n } else if (length == 1) {\n // 1e30\n store(buffer, CharCode.e, 2);\n length = genExponent(buffer + 4, kk - 1);\n return length + 2;\n } else {\n let len = length << 1;\n memory.copy(\n buffer + 4,\n buffer + 2,\n len - 2\n );\n store(buffer, CharCode.DOT, 2);\n store(buffer + len, CharCode.e, 2);\n length += genExponent(buffer + len + 4, kk - 1);\n return length + 2;\n }\n}\n\nfunction dtoa_core(buffer: usize, value: f64): i32 {\n let sign = i32(value < 0);\n if (sign) {\n value = -value;\n store(buffer, CharCode.MINUS);\n }\n // assert(value > 0 && value <= 1.7976931348623157e308);\n let len = grisu2(value, buffer, sign);\n len = prettify(buffer + (sign << 1), len - sign, _K);\n return len + sign;\n}\n\n// @ts-ignore: decorator\n@lazy @inline const dtoa_buf = memory.data(MAX_DOUBLE_LENGTH << 1);\n\nexport function dtoa(value: f64): String {\n if (value == 0) return \"0.0\";\n if (!isFinite(value)) {\n if (isNaN(value)) return \"NaN\";\n return select(\"-Infinity\", \"Infinity\", value < 0);\n }\n let size = dtoa_core(dtoa_buf, value) << 1;\n let result = changetype(__new(size, idof()));\n memory.copy(changetype(result), dtoa_buf, size);\n return result;\n}\n\nexport function itoa_buffered(buffer: usize, value: T): u32 {\n let sign: u32 = 0;\n if (isSigned()) {\n sign = u32(value < 0);\n if (sign) {\n if (sizeof() == 1) {\n if (value == -0x80) {\n // -0x80 -> -128\n store(buffer,\n CharCode.MINUS |\n (CharCode._0 + 1) << 16 |\n (CharCode._0 + 2) << 32 |\n (CharCode._0 + 8) << 48\n );\n return 4;\n }\n }\n if (sizeof() == 2) {\n if (value == -0x8000) {\n // -0x8000 -> -32768\n store(buffer,\n CharCode.MINUS |\n (CharCode._0 + 3) << 16 |\n (CharCode._0 + 2) << 32 |\n (CharCode._0 + 7) << 48\n ); // -327\n store(buffer + 8,\n (CharCode._0 + 6) << 0 |\n (CharCode._0 + 8) << 16\n ); // 68\n return 6;\n }\n }\n store(buffer, CharCode.MINUS);\n // @ts-ignore\n value = -value;\n }\n }\n let dest = buffer + (sign << 1);\n if (ASC_SHRINK_LEVEL <= 1) {\n if (isSigned()) {\n if (sizeof() <= 4) {\n if (value < 10) {\n store(dest, value | CharCode._0);\n return 1 + sign;\n }\n } else {\n if (value < 10) {\n store(dest, value | CharCode._0);\n return 1 + sign;\n }\n }\n } else {\n if (value < 10) {\n store(buffer, value | CharCode._0);\n return 1;\n }\n }\n }\n let decimals: u32 = 0;\n if (sizeof() <= 4) {\n let val32 = value;\n decimals = decimalCount32(val32);\n utoa32_dec_core(dest, val32, decimals);\n } else {\n if (value <= u32.MAX_VALUE) {\n let val32 = value;\n decimals = decimalCount32(val32);\n utoa32_dec_core(dest, val32, decimals);\n } else {\n let val64 = value;\n decimals = decimalCount64High(val64);\n utoa64_dec_core(dest, val64, decimals);\n }\n }\n return sign + decimals;\n}\n\nexport function dtoa_buffered(buffer: usize, value: f64): u32 {\n if (value == 0) {\n store(buffer, CharCode._0);\n store(buffer, CharCode.DOT, 2);\n store(buffer, CharCode._0, 4);\n return 3;\n }\n if (!isFinite(value)) {\n if (isNaN(value)) {\n store(buffer, CharCode.N);\n store(buffer, CharCode.a, 2);\n store(buffer, CharCode.N, 4);\n return 3;\n } else {\n let sign = value < 0;\n if (sign) {\n store(buffer, CharCode.MINUS); // -\n buffer += 2;\n }\n store(buffer, 0x690066006E0049, 0); // ifnI\n store(buffer, 0x7900740069006E, 8); // ytin\n return 8 + u32(sign);\n }\n }\n return dtoa_core(buffer, value);\n}\n","//\n// Lookup data for exp2f\n//\n\n// @ts-ignore: decorator\n@inline const EXP2F_TABLE_BITS = 5;\n\n// @ts-ignore: decorator\n@lazy @inline const EXP2F_DATA_TAB = memory.data([\n // exp2f_data_tab[i] = uint(2^(i/N)) - (i << 52-BITS)\n // used for computing 2^(k/N) for an int |k| < 150 N as\n // double(tab[k%N] + (k << 52-BITS))\n 0x3FF0000000000000, 0x3FEFD9B0D3158574, 0x3FEFB5586CF9890F, 0x3FEF9301D0125B51,\n 0x3FEF72B83C7D517B, 0x3FEF54873168B9AA, 0x3FEF387A6E756238, 0x3FEF1E9DF51FDEE1,\n 0x3FEF06FE0A31B715, 0x3FEEF1A7373AA9CB, 0x3FEEDEA64C123422, 0x3FEECE086061892D,\n 0x3FEEBFDAD5362A27, 0x3FEEB42B569D4F82, 0x3FEEAB07DD485429, 0x3FEEA47EB03A5585,\n 0x3FEEA09E667F3BCD, 0x3FEE9F75E8EC5F74, 0x3FEEA11473EB0187, 0x3FEEA589994CCE13,\n 0x3FEEACE5422AA0DB, 0x3FEEB737B0CDC5E5, 0x3FEEC49182A3F090, 0x3FEED503B23E255D,\n 0x3FEEE89F995AD3AD, 0x3FEEFF76F2FB5E47, 0x3FEF199BDD85529C, 0x3FEF3720DCEF9069,\n 0x3FEF5818DCFBA487, 0x3FEF7C97337B9B5F, 0x3FEFA4AFA2A490DA, 0x3FEFD0765B6E4540\n]);\n\n// ULP error: 0.502 (nearest rounding.)\n// Relative error: 1.69 * 2^-34 in [-1/64, 1/64] (before rounding.)\n// Wrong count: 168353 (all nearest rounding wrong results with fma.)\n// @ts-ignore: decorator\n@inline\nexport function exp2f_lut(x: f32): f32 {\n const\n N = 1 << EXP2F_TABLE_BITS,\n N_MASK = N - 1,\n shift = reinterpret(0x4338000000000000) / N, // 0x1.8p+52\n Ox127f = reinterpret(0x7F000000);\n\n const\n C0 = reinterpret(0x3FAC6AF84B912394), // 0x1.c6af84b912394p-5\n C1 = reinterpret(0x3FCEBFCE50FAC4F3), // 0x1.ebfce50fac4f3p-3\n C2 = reinterpret(0x3FE62E42FF0C52D6); // 0x1.62e42ff0c52d6p-1\n\n let xd = x;\n let ix = reinterpret(x);\n let ux = ix >> 20 & 0x7FF;\n if (ux >= 0x430) {\n // |x| >= 128 or x is nan.\n if (ix == 0xFF800000) return 0; // x == -Inf -> 0\n if (ux >= 0x7F8) return x + x; // x == Inf/NaN -> Inf/NaN\n if (x > 0) return x * Ox127f; // x > 0 -> HugeVal (Owerflow)\n if (x <= -150) return 0; // x <= -150 -> 0 (Underflow)\n }\n\n // x = k/N + r with r in [-1/(2N), 1/(2N)] and int k.\n let kd = xd + shift;\n let ki = reinterpret(kd);\n let r = xd - (kd - shift);\n let t: u64, y: f64, s: f64;\n\n // exp2(x) = 2^(k/N) * 2^r ~= s * (C0*r^3 + C1*r^2 + C2*r + 1)\n t = load(EXP2F_DATA_TAB + ((ki & N_MASK) << alignof()));\n t += ki << (52 - EXP2F_TABLE_BITS);\n s = reinterpret(t);\n y = C2 * r + 1;\n y += (C0 * r + C1) * (r * r);\n y *= s;\n\n return y;\n}\n\n// ULP error: 0.502 (nearest rounding.)\n// Relative error: 1.69 * 2^-34 in [-ln2/64, ln2/64] (before rounding.)\n// Wrong count: 170635 (all nearest rounding wrong results with fma.)\n// @ts-ignore: decorator\n@inline\nexport function expf_lut(x: f32): f32 {\n const\n N = 1 << EXP2F_TABLE_BITS,\n N_MASK = N - 1,\n shift = reinterpret(0x4338000000000000), // 0x1.8p+52\n InvLn2N = reinterpret(0x3FF71547652B82FE) * N, // 0x1.71547652b82fep+0\n Ox1p127f = reinterpret(0x7F000000);\n\n const\n C0 = reinterpret(0x3FAC6AF84B912394) / N / N / N, // 0x1.c6af84b912394p-5\n C1 = reinterpret(0x3FCEBFCE50FAC4F3) / N / N, // 0x1.ebfce50fac4f3p-3\n C2 = reinterpret(0x3FE62E42FF0C52D6) / N; // 0x1.62e42ff0c52d6p-1\n\n let xd = x;\n let ix = reinterpret(x);\n let ux = ix >> 20 & 0x7FF;\n if (ux >= 0x42B) {\n // |x| >= 88 or x is nan.\n if (ix == 0xFF800000) return 0; // x == -Inf -> 0\n if (ux >= 0x7F8) return x + x; // x == Inf/NaN -> Inf/NaN\n if (x > reinterpret(0x42B17217)) return x * Ox1p127f; // x > log(0x1p128) ~= 88.72 -> HugeVal (Owerflow)\n if (x < reinterpret(0xC2CFF1B4)) return 0; // x < log(0x1p-150) ~= -103.97 -> 0 (Underflow)\n }\n\n // x*N/Ln2 = k + r with r in [-1/2, 1/2] and int k.\n let z = InvLn2N * xd;\n\n // Round and convert z to int, the result is in [-150*N, 128*N] and\n // ideally ties-to-even rule is used, otherwise the magnitude of r\n // can be bigger which gives larger approximation error.\n let kd = (z + shift);\n let ki = reinterpret(kd);\n let r = z - (kd - shift);\n let s: f64, y: f64, t: u64;\n\n // exp(x) = 2^(k/N) * 2^(r/N) ~= s * (C0*r^3 + C1*r^2 + C2*r + 1)\n t = load(EXP2F_DATA_TAB + ((ki & N_MASK) << alignof()));\n t += ki << (52 - EXP2F_TABLE_BITS);\n s = reinterpret(t);\n z = C0 * r + C1;\n y = C2 * r + 1;\n y += z * (r * r);\n y *= s;\n\n return y;\n}\n\n//\n// Lookup data for log2f\n//\n\n// @ts-ignore: decorator\n@inline const LOG2F_TABLE_BITS = 4;\n\n// @ts-ignore: decorator\n@lazy @inline const LOG2F_DATA_TAB = memory.data([\n 0x3FF661EC79F8F3BE, 0xBFDEFEC65B963019, // 0x1.661ec79f8f3bep+0, -0x1.efec65b963019p-2,\n 0x3FF571ED4AAF883D, 0xBFDB0B6832D4FCA4, // 0x1.571ed4aaf883dp+0, -0x1.b0b6832d4fca4p-2,\n 0x3FF49539F0F010B0, 0xBFD7418B0A1FB77B, // 0x1.49539f0f010bp+0 , -0x1.7418b0a1fb77bp-2,\n 0x3FF3C995B0B80385, 0xBFD39DE91A6DCF7B, // 0x1.3c995b0b80385p+0, -0x1.39de91a6dcf7bp-2,\n 0x3FF30D190C8864A5, 0xBFD01D9BF3F2B631, // 0x1.30d190c8864a5p+0, -0x1.01d9bf3f2b631p-2,\n 0x3FF25E227B0B8EA0, 0xBFC97C1D1B3B7AF0, // 0x1.25e227b0b8eap+0 , -0x1.97c1d1b3b7afp-3 ,\n 0x3FF1BB4A4A1A343F, 0xBFC2F9E393AF3C9F, // 0x1.1bb4a4a1a343fp+0, -0x1.2f9e393af3c9fp-3,\n 0x3FF12358F08AE5BA, 0xBFB960CBBF788D5C, // 0x1.12358f08ae5bap+0, -0x1.960cbbf788d5cp-4,\n 0x3FF0953F419900A7, 0xBFAA6F9DB6475FCE, // 0x1.0953f419900a7p+0, -0x1.a6f9db6475fcep-5,\n 0x3FF0000000000000, 0, // 0x1p+0, 0x0,\n 0x3FEE608CFD9A47AC, 0x3FB338CA9F24F53D, // 0x1.e608cfd9a47acp-1, 0x1.338ca9f24f53dp-4,\n 0x3FECA4B31F026AA0, 0x3FC476A9543891BA, // 0x1.ca4b31f026aap-1 , 0x1.476a9543891bap-3,\n 0x3FEB2036576AFCE6, 0x3FCE840B4AC4E4D2, // 0x1.b2036576afce6p-1, 0x1.e840b4ac4e4d2p-3,\n 0x3FE9C2D163A1AA2D, 0x3FD40645F0C6651C, // 0x1.9c2d163a1aa2dp-1, 0x1.40645f0c6651cp-2,\n 0x3FE886E6037841ED, 0x3FD88E9C2C1B9FF8, // 0x1.886e6037841edp-1, 0x1.88e9c2c1b9ff8p-2,\n 0x3FE767DCF5534862, 0x3FDCE0A44EB17BCC // 0x1.767dcf5534862p-1, 0x1.ce0a44eb17bccp-2\n]);\n\n// ULP error: 0.752 (nearest rounding.)\n// Relative error: 1.9 * 2^-26 (before rounding.)\n// @ts-ignore: decorator\n@inline\nexport function log2f_lut(x: f32): f32 {\n const\n N_MASK = (1 << LOG2F_TABLE_BITS) - 1,\n Ox1p23f = reinterpret(0x4B000000); // 0x1p23f\n\n const\n A0 = reinterpret(0xBFD712B6F70A7E4D), // -0x1.712b6f70a7e4dp-2\n A1 = reinterpret(0x3FDECABF496832E0), // 0x1.ecabf496832ep-2\n A2 = reinterpret(0xBFE715479FFAE3DE), // -0x1.715479ffae3dep-1\n A3 = reinterpret(0x3FF715475F35C8B8); // 0x1.715475f35c8b8p0\n\n let ux = reinterpret(x);\n // Fix sign of zero with downward rounding when x==1.\n // if (WANT_ROUNDING && predict_false(ix == 0x3f800000)) return 0;\n if (ux - 0x00800000 >= 0x7F800000 - 0x00800000) {\n // x < 0x1p-126 or inf or nan.\n if (ux * 2 == 0) return -Infinity;\n if (ux == 0x7F800000) return x; // log2(inf) == inf.\n if ((ux >> 31) || ux * 2 >= 0xFF000000) return (x - x) / (x - x);\n // x is subnormal, normalize it.\n ux = reinterpret(x * Ox1p23f);\n ux -= 23 << 23;\n }\n // x = 2^k z; where z is in range [OFF,2*OFF] and exact.\n // The range is split into N subintervals.\n // The ith subinterval contains z and c is near its center.\n let tmp = ux - 0x3F330000;\n let i = (tmp >> (23 - LOG2F_TABLE_BITS)) & N_MASK;\n let top = tmp & 0xFF800000;\n let iz = ux - top;\n let k = tmp >> 23;\n\n let invc = load(LOG2F_DATA_TAB + (i << (1 + alignof())), 0 << alignof());\n let logc = load(LOG2F_DATA_TAB + (i << (1 + alignof())), 1 << alignof());\n let z = reinterpret(iz);\n\n // log2(x) = log1p(z/c-1)/ln2 + log2(c) + k\n let r = z * invc - 1;\n let y0 = logc + k;\n\n // Pipelined polynomial evaluation to approximate log1p(r)/ln2.\n let y = A1 * r + A2;\n let p = A3 * r + y0;\n let r2 = r * r;\n y += A0 * r2;\n y = y * r2 + p;\n\n return y;\n}\n\n//\n// Lookup data for logf. See: https://git.musl-libc.org/cgit/musl/tree/src/math/logf.c\n//\n\n// @ts-ignore: decorator\n@inline const LOGF_TABLE_BITS = 4;\n\n// @ts-ignore: decorator\n@lazy @inline const LOGF_DATA_TAB = memory.data([\n 0x3FF661EC79F8F3BE, 0xBFD57BF7808CAADE, // 0x1.661ec79f8f3bep+0, -0x1.57bf7808caadep-2,\n 0x3FF571ED4AAF883D, 0xBFD2BEF0A7C06DDB, // 0x1.571ed4aaf883dp+0, -0x1.2bef0a7c06ddbp-2,\n 0x3FF49539F0F010B0, 0xBFD01EAE7F513A67, // 0x1.49539f0f010bp+0 , -0x1.01eae7f513a67p-2,\n 0x3FF3C995B0B80385, 0xBFCB31D8A68224E9, // 0x1.3c995b0b80385p+0, -0x1.b31d8a68224e9p-3,\n 0x3FF30D190C8864A5, 0xBFC6574F0AC07758, // 0x1.30d190c8864a5p+0, -0x1.6574f0ac07758p-3,\n 0x3FF25E227B0B8EA0, 0xBFC1AA2BC79C8100, // 0x1.25e227b0b8eap+0 , -0x1.1aa2bc79c81p-3 ,\n 0x3FF1BB4A4A1A343F, 0xBFBA4E76CE8C0E5E, // 0x1.1bb4a4a1a343fp+0, -0x1.a4e76ce8c0e5ep-4,\n 0x3FF12358F08AE5BA, 0xBFB1973C5A611CCC, // 0x1.12358f08ae5bap+0, -0x1.1973c5a611cccp-4,\n 0x3FF0953F419900A7, 0xBFA252F438E10C1E, // 0x1.0953f419900a7p+0, -0x1.252f438e10c1ep-5,\n 0x3FF0000000000000, 0, // 0x1p+0, 0,\n 0x3FEE608CFD9A47AC, 0x3FAAA5AA5DF25984, // 0x1.e608cfd9a47acp-1, 0x1.aa5aa5df25984p-5,\n 0x3FECA4B31F026AA0, 0x3FBC5E53AA362EB4, // 0x1.ca4b31f026aap-1 , 0x1.c5e53aa362eb4p-4,\n 0x3FEB2036576AFCE6, 0x3FC526E57720DB08, // 0x1.b2036576afce6p-1, 0x1.526e57720db08p-3,\n 0x3FE9C2D163A1AA2D, 0x3FCBC2860D224770, // 0x1.9c2d163a1aa2dp-1, 0x1.bc2860d22477p-3 ,\n 0x3FE886E6037841ED, 0x3FD1058BC8A07EE1, // 0x1.886e6037841edp-1, 0x1.1058bc8a07ee1p-2,\n 0x3FE767DCF5534862, 0x3FD4043057B6EE09 // 0x1.767dcf5534862p-1, 0x1.4043057b6ee09p-2\n]);\n\n// ULP error: 0.818 (nearest rounding.)\n// Relative error: 1.957 * 2^-26 (before rounding.)\n// @ts-ignore: decorator\n@inline\nexport function logf_lut(x: f32): f32 {\n const\n N_MASK = (1 << LOGF_TABLE_BITS) - 1,\n Ox1p23f = reinterpret(0x4B000000); // 0x1p23f\n\n const\n Ln2 = reinterpret(0x3FE62E42FEFA39EF), // 0x1.62e42fefa39efp-1;\n A0 = reinterpret(0xBFD00EA348B88334), // -0x1.00ea348b88334p-2\n A1 = reinterpret(0x3FD5575B0BE00B6A), // 0x1.5575b0be00b6ap-2\n A2 = reinterpret(0xBFDFFFFEF20A4123); // -0x1.ffffef20a4123p-2\n\n let ux = reinterpret(x);\n // Fix sign of zero with downward rounding when x==1.\n // if (WANT_ROUNDING && ux == 0x3f800000) return 0;\n if (ux - 0x00800000 >= 0x7F800000 - 0x00800000) {\n // x < 0x1p-126 or inf or nan.\n if ((ux << 1) == 0) return -Infinity;\n if (ux == 0x7F800000) return x; // log(inf) == inf.\n if ((ux >> 31) || (ux << 1) >= 0xFF000000) return (x - x) / (x - x);\n // x is subnormal, normalize it.\n ux = reinterpret(x * Ox1p23f);\n ux -= 23 << 23;\n }\n // x = 2^k z; where z is in range [OFF,2*OFF] and exact.\n // The range is split into N subintervals.\n // The ith subinterval contains z and c is near its center.\n let tmp = ux - 0x3F330000;\n let i = (tmp >> (23 - LOGF_TABLE_BITS)) & N_MASK;\n let k = tmp >> 23;\n let iz = ux - (tmp & 0x1FF << 23);\n\n let invc = load(LOGF_DATA_TAB + (i << (1 + alignof())), 0 << alignof());\n let logc = load(LOGF_DATA_TAB + (i << (1 + alignof())), 1 << alignof());\n\n let z = reinterpret(iz);\n\n // log(x) = log1p(z/c-1) + log(c) + k*Ln2\n let r = z * invc - 1;\n let y0 = logc + k * Ln2;\n\n // Pipelined polynomial evaluation to approximate log1p(r).\n let r2 = r * r;\n let y = A1 * r + A2;\n y += A0 * r2;\n y = y * r2 + (y0 + r);\n\n return y;\n}\n\n//\n// Lookup data for powf. See: https://git.musl-libc.org/cgit/musl/tree/src/math/powf.c\n//\n\n// @ts-ignore: decorator\n@inline\nfunction zeroinfnanf(ux: u32): bool {\n return (ux << 1) - 1 >= (0x7f800000 << 1) - 1;\n}\n\n// Returns 0 if not int, 1 if odd int, 2 if even int. The argument is\n// the bit representation of a non-zero finite floating-point value.\n// @ts-ignore: decorator\n@inline\nfunction checkintf(iy: u32): i32 {\n let e = iy >> 23 & 0xFF;\n if (e < 0x7F ) return 0;\n if (e > 0x7F + 23) return 2;\n e = 1 << (0x7F + 23 - e);\n if (iy & (e - 1)) return 0;\n if (iy & e ) return 1;\n return 2;\n}\n\n// Subnormal input is normalized so ix has negative biased exponent.\n// Output is multiplied by N (POWF_SCALE) if TOINT_INTRINICS is set.\n// @ts-ignore: decorator\n@inline\nfunction log2f_inline(ux: u32): f64 {\n const N_MASK = (1 << LOG2F_TABLE_BITS) - 1;\n\n const\n A0 = reinterpret(0x3FD27616C9496E0B), // 0x1.27616c9496e0bp-2\n A1 = reinterpret(0xBFD71969A075C67A), // -0x1.71969a075c67ap-2\n A2 = reinterpret(0x3FDEC70A6CA7BADD), // 0x1.ec70a6ca7baddp-2\n A3 = reinterpret(0xBFE7154748BEF6C8), // -0x1.7154748bef6c8p-1\n A4 = reinterpret(0x3FF71547652AB82B); // 0x1.71547652ab82bp+0\n\n // x = 2^k z; where z is in range [OFF,2*OFF] and exact.\n // The range is split into N subintervals.\n // The ith subinterval contains z and c is near its center.\n let tmp = ux - 0x3F330000;\n let i = usize((tmp >> (23 - LOG2F_TABLE_BITS)) & N_MASK);\n let top = tmp & 0xFF800000;\n let uz = ux - top;\n let k = top >> 23;\n\n let invc = load(LOG2F_DATA_TAB + (i << (1 + alignof())), 0 << alignof());\n let logc = load(LOG2F_DATA_TAB + (i << (1 + alignof())), 1 << alignof());\n let z = reinterpret(uz);\n\n // log2(x) = log1p(z/c-1)/ln2 + log2(c) + k\n let r = z * invc - 1;\n let y0 = logc + k;\n\n // Pipelined polynomial evaluation to approximate log1p(r)/ln2.\n let y = A0 * r + A1;\n let p = A2 * r + A3;\n let q = A4 * r + y0;\n\n r *= r;\n q += p * r;\n y = y * (r * r) + q;\n\n return y;\n}\n\n// The output of log2 and thus the input of exp2 is either scaled by N\n// (in case of fast toint intrinsics) or not. The unscaled xd must be\n// in [-1021,1023], sign_bias sets the sign of the result.\n// @ts-ignore: decorator\n@inline\nfunction exp2f_inline(xd: f64, signBias: u32): f32 {\n const\n N = 1 << EXP2F_TABLE_BITS,\n N_MASK = N - 1,\n shift = reinterpret(0x4338000000000000) / N; // 0x1.8p+52\n\n const\n C0 = reinterpret(0x3FAC6AF84B912394), // 0x1.c6af84b912394p-5\n C1 = reinterpret(0x3FCEBFCE50FAC4F3), // 0x1.ebfce50fac4f3p-3\n C2 = reinterpret(0x3FE62E42FF0C52D6); // 0x1.62e42ff0c52d6p-1\n\n // x = k/N + r with r in [-1/(2N), 1/(2N)]\n let kd = (xd + shift);\n let ki = reinterpret(kd);\n let r = xd - (kd - shift);\n let t: u64, z: f64, y: f64, s: f64;\n\n // exp2(x) = 2^(k/N) * 2^r ~= s * (C0*r^3 + C1*r^2 + C2*r + 1)\n t = load(EXP2F_DATA_TAB + ((ki & N_MASK) << alignof()));\n t += (ki + signBias) << (52 - EXP2F_TABLE_BITS);\n s = reinterpret(t);\n z = C0 * r + C1;\n y = C2 * r + 1;\n y += z * (r * r);\n y *= s;\n return y;\n}\n\n// @ts-ignore: decorator\n@inline\nfunction xflowf(sign: u32, y: f32): f32 {\n return select(-y, y, sign) * y;\n}\n\n// @ts-ignore: decorator\n@inline\nfunction oflowf(sign: u32): f32 {\n return xflowf(sign, reinterpret(0x70000000)); // 0x1p97f\n}\n\n// @ts-ignore: decorator\n@inline\nfunction uflowf(sign: u32): f32 {\n return xflowf(sign, reinterpret(0x10000000)); // 0x1p-95f\n}\n\n// @ts-ignore: decorator\n@inline\nexport function powf_lut(x: f32, y: f32): f32 {\n const\n Ox1p23f = reinterpret(0x4B000000), // 0x1p23f\n UPPER_LIMIT = reinterpret(0x405FFFFFFFD1D571), // 0x1.fffffffd1d571p+6\n LOWER_LIMIT = -150.0,\n SIGN_BIAS = 1 << (EXP2F_TABLE_BITS + 11);\n\n let signBias: u32 = 0;\n let ix = reinterpret(x);\n let iy = reinterpret(y);\n let ny = 0;\n\n if (i32(ix - 0x00800000 >= 0x7f800000 - 0x00800000) | (ny = i32(zeroinfnanf(iy)))) {\n // Either (x < 0x1p-126 or inf or nan) or (y is 0 or inf or nan).\n if (ny) {\n if ((iy << 1) == 0) return 1.0;\n if (ix == 0x3F800000) return NaN; // original: 1.0\n if ((ix << 1) > (0x7F800000 << 1) || (iy << 1) > (0x7F800000 << 1)) return x + y;\n if ((ix << 1) == (0x3F800000 << 1)) return NaN; // original: 1.0\n if (((ix << 1) < (0x3F800000 << 1)) == !(iy >> 31)) return 0; // |x| < 1 && y==inf or |x| > 1 && y==-inf.\n return y * y;\n }\n if (zeroinfnanf(ix)) {\n let x2 = x * x;\n if ((ix >> 31) && checkintf(iy) == 1) x2 = -x2;\n return iy < 0 ? 1 / x2 : x2;\n }\n // x and y are non-zero finite.\n if (ix < 0) {\n // Finite x < 0.\n let yint = checkintf(iy);\n if (yint == 0) return (x - x) / (x - x);\n if (yint == 1) signBias = SIGN_BIAS;\n ix &= 0x7FFFFFFF;\n }\n if (ix < 0x00800000) {\n // Normalize subnormal x so exponent becomes negative.\n ix = reinterpret(x * Ox1p23f);\n ix &= 0x7FFFFFFF;\n ix -= 23 << 23;\n }\n }\n let logx = log2f_inline(ix);\n let ylogx = y * logx; // cannot overflow, y is single prec.\n if ((reinterpret(ylogx) >> 47 & 0xFFFF) >= 0x80BF) { // reinterpret(126.0) >> 47\n // |y * log(x)| >= 126\n if (ylogx > UPPER_LIMIT) return oflowf(signBias); // overflow\n if (ylogx <= LOWER_LIMIT) return uflowf(signBias); // underflow\n }\n return exp2f_inline(ylogx, signBias);\n}\n\n//\n// Lookup data for exp. See: https://git.musl-libc.org/cgit/musl/tree/src/math/exp.c\n//\n\n// @ts-ignore: decorator\n@inline const EXP_TABLE_BITS = 7;\n\n// @ts-ignore: decorator\n@lazy @inline const EXP_DATA_TAB = memory.data([\n 0x0000000000000000, 0x3FF0000000000000,\n 0x3C9B3B4F1A88BF6E, 0x3FEFF63DA9FB3335,\n 0xBC7160139CD8DC5D, 0x3FEFEC9A3E778061,\n 0xBC905E7A108766D1, 0x3FEFE315E86E7F85,\n 0x3C8CD2523567F613, 0x3FEFD9B0D3158574,\n 0xBC8BCE8023F98EFA, 0x3FEFD06B29DDF6DE,\n 0x3C60F74E61E6C861, 0x3FEFC74518759BC8,\n 0x3C90A3E45B33D399, 0x3FEFBE3ECAC6F383,\n 0x3C979AA65D837B6D, 0x3FEFB5586CF9890F,\n 0x3C8EB51A92FDEFFC, 0x3FEFAC922B7247F7,\n 0x3C3EBE3D702F9CD1, 0x3FEFA3EC32D3D1A2,\n 0xBC6A033489906E0B, 0x3FEF9B66AFFED31B,\n 0xBC9556522A2FBD0E, 0x3FEF9301D0125B51,\n 0xBC5080EF8C4EEA55, 0x3FEF8ABDC06C31CC,\n 0xBC91C923B9D5F416, 0x3FEF829AAEA92DE0,\n 0x3C80D3E3E95C55AF, 0x3FEF7A98C8A58E51,\n 0xBC801B15EAA59348, 0x3FEF72B83C7D517B,\n 0xBC8F1FF055DE323D, 0x3FEF6AF9388C8DEA,\n 0x3C8B898C3F1353BF, 0x3FEF635BEB6FCB75,\n 0xBC96D99C7611EB26, 0x3FEF5BE084045CD4,\n 0x3C9AECF73E3A2F60, 0x3FEF54873168B9AA,\n 0xBC8FE782CB86389D, 0x3FEF4D5022FCD91D,\n 0x3C8A6F4144A6C38D, 0x3FEF463B88628CD6,\n 0x3C807A05B0E4047D, 0x3FEF3F49917DDC96,\n 0x3C968EFDE3A8A894, 0x3FEF387A6E756238,\n 0x3C875E18F274487D, 0x3FEF31CE4FB2A63F,\n 0x3C80472B981FE7F2, 0x3FEF2B4565E27CDD,\n 0xBC96B87B3F71085E, 0x3FEF24DFE1F56381,\n 0x3C82F7E16D09AB31, 0x3FEF1E9DF51FDEE1,\n 0xBC3D219B1A6FBFFA, 0x3FEF187FD0DAD990,\n 0x3C8B3782720C0AB4, 0x3FEF1285A6E4030B,\n 0x3C6E149289CECB8F, 0x3FEF0CAFA93E2F56,\n 0x3C834D754DB0ABB6, 0x3FEF06FE0A31B715,\n 0x3C864201E2AC744C, 0x3FEF0170FC4CD831,\n 0x3C8FDD395DD3F84A, 0x3FEEFC08B26416FF,\n 0xBC86A3803B8E5B04, 0x3FEEF6C55F929FF1,\n 0xBC924AEDCC4B5068, 0x3FEEF1A7373AA9CB,\n 0xBC9907F81B512D8E, 0x3FEEECAE6D05D866,\n 0xBC71D1E83E9436D2, 0x3FEEE7DB34E59FF7,\n 0xBC991919B3CE1B15, 0x3FEEE32DC313A8E5,\n 0x3C859F48A72A4C6D, 0x3FEEDEA64C123422,\n 0xBC9312607A28698A, 0x3FEEDA4504AC801C,\n 0xBC58A78F4817895B, 0x3FEED60A21F72E2A,\n 0xBC7C2C9B67499A1B, 0x3FEED1F5D950A897,\n 0x3C4363ED60C2AC11, 0x3FEECE086061892D,\n 0x3C9666093B0664EF, 0x3FEECA41ED1D0057,\n 0x3C6ECCE1DAA10379, 0x3FEEC6A2B5C13CD0,\n 0x3C93FF8E3F0F1230, 0x3FEEC32AF0D7D3DE,\n 0x3C7690CEBB7AAFB0, 0x3FEEBFDAD5362A27,\n 0x3C931DBDEB54E077, 0x3FEEBCB299FDDD0D,\n 0xBC8F94340071A38E, 0x3FEEB9B2769D2CA7,\n 0xBC87DECCDC93A349, 0x3FEEB6DAA2CF6642,\n 0xBC78DEC6BD0F385F, 0x3FEEB42B569D4F82,\n 0xBC861246EC7B5CF6, 0x3FEEB1A4CA5D920F,\n 0x3C93350518FDD78E, 0x3FEEAF4736B527DA,\n 0x3C7B98B72F8A9B05, 0x3FEEAD12D497C7FD,\n 0x3C9063E1E21C5409, 0x3FEEAB07DD485429,\n 0x3C34C7855019C6EA, 0x3FEEA9268A5946B7,\n 0x3C9432E62B64C035, 0x3FEEA76F15AD2148,\n 0xBC8CE44A6199769F, 0x3FEEA5E1B976DC09,\n 0xBC8C33C53BEF4DA8, 0x3FEEA47EB03A5585,\n 0xBC845378892BE9AE, 0x3FEEA34634CCC320,\n 0xBC93CEDD78565858, 0x3FEEA23882552225,\n 0x3C5710AA807E1964, 0x3FEEA155D44CA973,\n 0xBC93B3EFBF5E2228, 0x3FEEA09E667F3BCD,\n 0xBC6A12AD8734B982, 0x3FEEA012750BDABF,\n 0xBC6367EFB86DA9EE, 0x3FEE9FB23C651A2F,\n 0xBC80DC3D54E08851, 0x3FEE9F7DF9519484,\n 0xBC781F647E5A3ECF, 0x3FEE9F75E8EC5F74,\n 0xBC86EE4AC08B7DB0, 0x3FEE9F9A48A58174,\n 0xBC8619321E55E68A, 0x3FEE9FEB564267C9,\n 0x3C909CCB5E09D4D3, 0x3FEEA0694FDE5D3F,\n 0xBC7B32DCB94DA51D, 0x3FEEA11473EB0187,\n 0x3C94ECFD5467C06B, 0x3FEEA1ED0130C132,\n 0x3C65EBE1ABD66C55, 0x3FEEA2F336CF4E62,\n 0xBC88A1C52FB3CF42, 0x3FEEA427543E1A12,\n 0xBC9369B6F13B3734, 0x3FEEA589994CCE13,\n 0xBC805E843A19FF1E, 0x3FEEA71A4623C7AD,\n 0xBC94D450D872576E, 0x3FEEA8D99B4492ED,\n 0x3C90AD675B0E8A00, 0x3FEEAAC7D98A6699,\n 0x3C8DB72FC1F0EAB4, 0x3FEEACE5422AA0DB,\n 0xBC65B6609CC5E7FF, 0x3FEEAF3216B5448C,\n 0x3C7BF68359F35F44, 0x3FEEB1AE99157736,\n 0xBC93091FA71E3D83, 0x3FEEB45B0B91FFC6,\n 0xBC5DA9B88B6C1E29, 0x3FEEB737B0CDC5E5,\n 0xBC6C23F97C90B959, 0x3FEEBA44CBC8520F,\n 0xBC92434322F4F9AA, 0x3FEEBD829FDE4E50,\n 0xBC85CA6CD7668E4B, 0x3FEEC0F170CA07BA,\n 0x3C71AFFC2B91CE27, 0x3FEEC49182A3F090,\n 0x3C6DD235E10A73BB, 0x3FEEC86319E32323,\n 0xBC87C50422622263, 0x3FEECC667B5DE565,\n 0x3C8B1C86E3E231D5, 0x3FEED09BEC4A2D33,\n 0xBC91BBD1D3BCBB15, 0x3FEED503B23E255D,\n 0x3C90CC319CEE31D2, 0x3FEED99E1330B358,\n 0x3C8469846E735AB3, 0x3FEEDE6B5579FDBF,\n 0xBC82DFCD978E9DB4, 0x3FEEE36BBFD3F37A,\n 0x3C8C1A7792CB3387, 0x3FEEE89F995AD3AD,\n 0xBC907B8F4AD1D9FA, 0x3FEEEE07298DB666,\n 0xBC55C3D956DCAEBA, 0x3FEEF3A2B84F15FB,\n 0xBC90A40E3DA6F640, 0x3FEEF9728DE5593A,\n 0xBC68D6F438AD9334, 0x3FEEFF76F2FB5E47,\n 0xBC91EEE26B588A35, 0x3FEF05B030A1064A,\n 0x3C74FFD70A5FDDCD, 0x3FEF0C1E904BC1D2,\n 0xBC91BDFBFA9298AC, 0x3FEF12C25BD71E09,\n 0x3C736EAE30AF0CB3, 0x3FEF199BDD85529C,\n 0x3C8EE3325C9FFD94, 0x3FEF20AB5FFFD07A,\n 0x3C84E08FD10959AC, 0x3FEF27F12E57D14B,\n 0x3C63CDAF384E1A67, 0x3FEF2F6D9406E7B5,\n 0x3C676B2C6C921968, 0x3FEF3720DCEF9069,\n 0xBC808A1883CCB5D2, 0x3FEF3F0B555DC3FA,\n 0xBC8FAD5D3FFFFA6F, 0x3FEF472D4A07897C,\n 0xBC900DAE3875A949, 0x3FEF4F87080D89F2,\n 0x3C74A385A63D07A7, 0x3FEF5818DCFBA487,\n 0xBC82919E2040220F, 0x3FEF60E316C98398,\n 0x3C8E5A50D5C192AC, 0x3FEF69E603DB3285,\n 0x3C843A59AC016B4B, 0x3FEF7321F301B460,\n 0xBC82D52107B43E1F, 0x3FEF7C97337B9B5F,\n 0xBC892AB93B470DC9, 0x3FEF864614F5A129,\n 0x3C74B604603A88D3, 0x3FEF902EE78B3FF6,\n 0x3C83C5EC519D7271, 0x3FEF9A51FBC74C83,\n 0xBC8FF7128FD391F0, 0x3FEFA4AFA2A490DA,\n 0xBC8DAE98E223747D, 0x3FEFAF482D8E67F1,\n 0x3C8EC3BC41AA2008, 0x3FEFBA1BEE615A27,\n 0x3C842B94C3A9EB32, 0x3FEFC52B376BBA97,\n 0x3C8A64A931D185EE, 0x3FEFD0765B6E4540,\n 0xBC8E37BAE43BE3ED, 0x3FEFDBFDAD9CBE14,\n 0x3C77893B4D91CD9D, 0x3FEFE7C1819E90D8,\n 0x3C5305C14160CC89, 0x3FEFF3C22B8F71F1\n]);\n\n// Handle cases that may overflow or underflow when computing the result that\n// is scale*(1+TMP) without intermediate rounding. The bit representation of\n// scale is in SBITS, however it has a computed exponent that may have\n// overflown into the sign bit so that needs to be adjusted before using it as\n// a double. (int32_t)KI is the k used in the argument reduction and exponent\n// adjustment of scale, positive k here means the result may overflow and\n// negative k means the result may underflow.\n// @ts-ignore: decorator\n@inline\nfunction specialcase(tmp: f64, sbits: u64, ki: u64): f64 {\n const\n Ox1p_1022 = reinterpret(0x0010000000000000), // 0x1p-1022\n Ox1p1009 = reinterpret(0x7F00000000000000); // 0x1p1009\n\n let scale: f64;\n if (!(ki & 0x80000000)) {\n // k > 0, the exponent of scale might have overflowed by <= 460.\n sbits -= u64(1009) << 52;\n scale = reinterpret(sbits);\n return Ox1p1009 * (scale + scale * tmp); // 0x1p1009\n }\n // k < 0, need special care in the subnormal range.\n sbits += u64(1022) << 52;\n // Note: sbits is signed scale.\n scale = reinterpret(sbits);\n let y = scale + scale * tmp;\n if (abs(y) < 1.0) {\n // Round y to the right precision before scaling it into the subnormal\n // range to avoid double rounding that can cause 0.5+E/2 ulp error where\n // E is the worst-case ulp error outside the subnormal range. So this\n // is only useful if the goal is better than 1 ulp worst-case error.\n let one = copysign(1.0, y);\n let lo = scale - y + scale * tmp;\n let hi = one + y;\n lo = one - hi + y + lo;\n y = (hi + lo) - one;\n // Fix the sign of 0.\n if (y == 0.0) y = reinterpret(sbits & 0x8000000000000000);\n }\n return y * Ox1p_1022;\n}\n\n// @ts-ignore: decorator\n@inline\nexport function exp_lut(x: f64): f64 {\n const\n N = 1 << EXP_TABLE_BITS,\n N_MASK = N - 1;\n\n const\n InvLn2N = reinterpret(0x3FF71547652B82FE) * N, // 0x1.71547652b82fep0\n NegLn2hiN = reinterpret(0xBF762E42FEFA0000), // -0x1.62e42fefa0000p-8\n NegLn2loN = reinterpret(0xBD0CF79ABC9E3B3A), // -0x1.cf79abc9e3b3ap-47\n shift = reinterpret(0x4338000000000000); // 0x1.8p52;\n\n const\n C2 = reinterpret(0x3FDFFFFFFFFFFDBD), // __exp_data.poly[0] (0x1.ffffffffffdbdp-2)\n C3 = reinterpret(0x3FC555555555543C), // __exp_data.poly[1] (0x1.555555555543cp-3)\n C4 = reinterpret(0x3FA55555CF172B91), // __exp_data.poly[2] (0x1.55555cf172b91p-5)\n C5 = reinterpret(0x3F81111167A4D017); // __exp_data.poly[3] (0x1.1111167a4d017p-7)\n\n let ux = reinterpret(x);\n let abstop = u32(ux >> 52) & 0x7FF;\n if (abstop - 0x3C9 >= 0x03F) {\n if (abstop - 0x3C9 >= 0x80000000) return 1;\n if (abstop >= 0x409) {\n if (ux == 0xFFF0000000000000) return 0;\n if (abstop >= 0x7FF) {\n return 1.0 + x;\n } else {\n return select(0, Infinity, ux < 0);\n }\n }\n // Large x is special cased below.\n abstop = 0;\n }\n\n // exp(x) = 2^(k/N) * exp(r), with exp(r) in [2^(-1/2N),2^(1/2N)]\n // x = ln2/N*k + r, with int k and r in [-ln2/2N, ln2/2N]\n let z = InvLn2N * x;\n // #if TOINT_INTRINSICS\n // \tkd = roundtoint(z);\n // \tki = converttoint(z);\n // #elif EXP_USE_TOINT_NARROW\n // \t// z - kd is in [-0.5-2^-16, 0.5] in all rounding modes.\n // let kd = z + shift;\n // let ki = reinterpret(kd) >> 16;\n // let kd = ki;\n // #else\n // z - kd is in [-1, 1] in non-nearest rounding modes.\n let kd = z + shift;\n let ki = reinterpret(kd);\n kd -= shift;\n // #endif\n let r = x + kd * NegLn2hiN + kd * NegLn2loN;\n // 2^(k/N) ~= scale * (1 + tail).\n let idx = usize((ki & N_MASK) << 1);\n let top = ki << (52 - EXP_TABLE_BITS);\n\n let tail = reinterpret(load(EXP_DATA_TAB + (idx << alignof()))); // T[idx]\n // This is only a valid scale when -1023*N < k < 1024*N\n let sbits = load(EXP_DATA_TAB + (idx << alignof()), 1 << alignof()) + top; // T[idx + 1]\n // exp(x) = 2^(k/N) * exp(r) ~= scale + scale * (tail + exp(r) - 1).\n // Evaluation is optimized assuming superscalar pipelined execution.\n let r2 = r * r;\n // Without fma the worst case error is 0.25/N ulp larger.\n // Worst case error is less than 0.5+1.11/N+(abs poly error * 2^53) ulp.\n let tmp = tail + r + r2 * (C2 + r * C3) + r2 * r2 * (C4 + r * C5);\n if (abstop == 0) return specialcase(tmp, sbits, ki);\n let scale = reinterpret(sbits);\n // Note: tmp == 0 or |tmp| > 2^-200 and scale > 2^-739, so there\n // is no spurious underflow here even without fma.\n return scale + scale * tmp;\n}\n\n//\n// Lookup data for exp2. See: https://git.musl-libc.org/cgit/musl/tree/src/math/exp2.c\n//\n\n// Handle cases that may overflow or underflow when computing the result that\n// is scale*(1+TMP) without intermediate rounding. The bit representation of\n// scale is in SBITS, however it has a computed exponent that may have\n// overflown into the sign bit so that needs to be adjusted before using it as\n// a double. (int32_t)KI is the k used in the argument reduction and exponent\n// adjustment of scale, positive k here means the result may overflow and\n// negative k means the result may underflow.\n// @ts-ignore: decorator\n@inline\nfunction specialcase2(tmp: f64, sbits: u64, ki: u64): f64 {\n const Ox1p_1022 = reinterpret(0x10000000000000); // 0x1p-1022\n let scale: f64;\n if ((ki & 0x80000000) == 0) {\n // k > 0, the exponent of scale might have overflowed by 1\n sbits -= u64(1) << 52;\n scale = reinterpret(sbits);\n return 2 * (scale * tmp + scale);\n }\n // k < 0, need special care in the subnormal range\n sbits += u64(1022) << 52;\n scale = reinterpret(sbits);\n let y = scale * tmp + scale;\n if (y < 1.0) {\n // Round y to the right precision before scaling it into the subnormal\n // range to avoid double rounding that can cause 0.5+E/2 ulp error where\n // E is the worst-case ulp error outside the subnormal range. So this\n // is only useful if the goal is better than 1 ulp worst-case error.\n let hi: f64, lo: f64;\n lo = scale - y + scale * tmp;\n hi = 1.0 + y;\n lo = 1.0 - hi + y + lo;\n y = (hi + lo) - 1.0;\n }\n return y * Ox1p_1022;\n}\n\n// @ts-ignore: decorator\n@inline\nexport function exp2_lut(x: f64): f64 {\n const\n N = 1 << EXP_TABLE_BITS,\n N_MASK = N - 1,\n shift = reinterpret(0x4338000000000000) / N; // 0x1.8p52\n\n const\n C1 = reinterpret(0x3FE62E42FEFA39EF), // 0x1.62e42fefa39efp-1\n C2 = reinterpret(0x3FCEBFBDFF82C424), // 0x1.ebfbdff82c424p-3\n C3 = reinterpret(0x3FAC6B08D70CF4B5), // 0x1.c6b08d70cf4b5p-5\n C4 = reinterpret(0x3F83B2ABD24650CC), // 0x1.3b2abd24650ccp-7\n C5 = reinterpret(0x3F55D7E09B4E3A84); // 0x1.5d7e09b4e3a84p-10\n\n let ux = reinterpret(x);\n let abstop = u32(ux >> 52) & 0x7ff;\n if (abstop - 0x3C9 >= 0x03F) {\n if (abstop - 0x3C9 >= 0x80000000) return 1.0;\n if (abstop >= 0x409) {\n if (ux == 0xFFF0000000000000) return 0;\n if (abstop >= 0x7FF) return 1.0 + x;\n if (ux >= 0) return Infinity;\n else if (ux >= 0xC090CC0000000000) return 0;\n }\n if ((ux << 1) > 0x811A000000000000) abstop = 0; // Large x is special cased below.\n }\n\n // exp2(x) = 2^(k/N) * 2^r, with 2^r in [2^(-1/2N),2^(1/2N)].\n // x = k/N + r, with int k and r in [-1/2N, 1/2N]\n let kd = x + shift;\n let ki = reinterpret(kd);\n kd -= shift; // k/N for int k\n let r = x - kd;\n // 2^(k/N) ~= scale * (1 + tail)\n let idx = usize((ki & N_MASK) << 1);\n let top = ki << (52 - EXP_TABLE_BITS);\n\n let tail = reinterpret(load(EXP_DATA_TAB + (idx << alignof()), 0 << alignof())); // T[idx])\n // This is only a valid scale when -1023*N < k < 1024*N\n let sbits = load(EXP_DATA_TAB + (idx << alignof()), 1 << alignof()) + top; // T[idx + 1]\n // exp2(x) = 2^(k/N) * 2^r ~= scale + scale * (tail + 2^r - 1).\n // Evaluation is optimized assuming superscalar pipelined execution\n let r2 = r * r;\n // Without fma the worst case error is 0.5/N ulp larger.\n // Worst case error is less than 0.5+0.86/N+(abs poly error * 2^53) ulp.\n let tmp = tail + r * C1 + r2 * (C2 + r * C3) + r2 * r2 * (C4 + r * C5);\n if (abstop == 0) return specialcase2(tmp, sbits, ki);\n let scale = reinterpret(sbits);\n // Note: tmp == 0 or |tmp| > 2^-65 and scale > 2^-928, so there\n // is no spurious underflow here even without fma.\n return scale * tmp + scale;\n}\n\n//\n// Lookup data for log2. See: https://git.musl-libc.org/cgit/musl/tree/src/math/log2.c\n//\n\n// @ts-ignore: decorator\n@inline const LOG2_TABLE_BITS = 6;\n\n/* Algorithm:\n\n x = 2^k z\n log2(x) = k + log2(c) + log2(z/c)\n log2(z/c) = poly(z/c - 1)\n\nwhere z is in [1.6p-1; 1.6p0] which is split into N subintervals and z falls\ninto the ith one, then table entries are computed as\n\n tab[i].invc = 1/c\n tab[i].logc = (double)log2(c)\n tab2[i].chi = (double)c\n tab2[i].clo = (double)(c - (double)c)\n\nwhere c is near the center of the subinterval and is chosen by trying +-2^29\nfloating point invc candidates around 1/center and selecting one for which\n\n 1) the rounding error in 0x1.8p10 + logc is 0,\n 2) the rounding error in z - chi - clo is < 0x1p-64 and\n 3) the rounding error in (double)log2(c) is minimized (< 0x1p-68).\n\nNote: 1) ensures that k + logc can be computed without rounding error, 2)\nensures that z/c - 1 can be computed as (z - chi - clo)*invc with close to a\nsingle rounding error when there is no fast fma for z*invc - 1, 3) ensures\nthat logc + poly(z/c - 1) has small error, however near x == 1 when\n|log2(x)| < 0x1p-4, this is not enough so that is special cased. */\n\n// @ts-ignore: decorator\n@lazy @inline const LOG2_DATA_TAB1 = memory.data([\n // invc , logc\n 0x3FF724286BB1ACF8, 0xBFE1095FEECDB000,\n 0x3FF6E1F766D2CCA1, 0xBFE08494BD76D000,\n 0x3FF6A13D0E30D48A, 0xBFE00143AEE8F800,\n 0x3FF661EC32D06C85, 0xBFDEFEC5360B4000,\n 0x3FF623FA951198F8, 0xBFDDFDD91AB7E000,\n 0x3FF5E75BA4CF026C, 0xBFDCFFAE0CC79000,\n 0x3FF5AC055A214FB8, 0xBFDC043811FDA000,\n 0x3FF571ED0F166E1E, 0xBFDB0B67323AE000,\n 0x3FF53909590BF835, 0xBFDA152F5A2DB000,\n 0x3FF5014FED61ADDD, 0xBFD9217F5AF86000,\n 0x3FF4CAB88E487BD0, 0xBFD8304DB0719000,\n 0x3FF49539B4334FEE, 0xBFD74189F9A9E000,\n 0x3FF460CBDFAFD569, 0xBFD6552BB5199000,\n 0x3FF42D664EE4B953, 0xBFD56B23A29B1000,\n 0x3FF3FB01111DD8A6, 0xBFD483650F5FA000,\n 0x3FF3C995B70C5836, 0xBFD39DE937F6A000,\n 0x3FF3991C4AB6FD4A, 0xBFD2BAA1538D6000,\n 0x3FF3698E0CE099B5, 0xBFD1D98340CA4000,\n 0x3FF33AE48213E7B2, 0xBFD0FA853A40E000,\n 0x3FF30D191985BDB1, 0xBFD01D9C32E73000,\n 0x3FF2E025CAB271D7, 0xBFCE857DA2FA6000,\n 0x3FF2B404CF13CD82, 0xBFCCD3C8633D8000,\n 0x3FF288B02C7CCB50, 0xBFCB26034C14A000,\n 0x3FF25E2263944DE5, 0xBFC97C1C2F4FE000,\n 0x3FF234563D8615B1, 0xBFC7D6023F800000,\n 0x3FF20B46E33EAF38, 0xBFC633A71A05E000,\n 0x3FF1E2EEFDCDA3DD, 0xBFC494F5E9570000,\n 0x3FF1BB4A580B3930, 0xBFC2F9E424E0A000,\n 0x3FF19453847F2200, 0xBFC162595AFDC000,\n 0x3FF16E06C0D5D73C, 0xBFBF9C9A75BD8000,\n 0x3FF1485F47B7E4C2, 0xBFBC7B575BF9C000,\n 0x3FF12358AD0085D1, 0xBFB960C60FF48000,\n 0x3FF0FEF00F532227, 0xBFB64CE247B60000,\n 0x3FF0DB2077D03A8F, 0xBFB33F78B2014000,\n 0x3FF0B7E6D65980D9, 0xBFB0387D1A42C000,\n 0x3FF0953EFE7B408D, 0xBFAA6F9208B50000,\n 0x3FF07325CAC53B83, 0xBFA47A954F770000,\n 0x3FF05197E40D1B5C, 0xBF9D23A8C50C0000,\n 0x3FF03091C1208EA2, 0xBF916A2629780000,\n 0x3FF0101025B37E21, 0xBF7720F8D8E80000,\n 0x3FEFC07EF9CAA76B, 0x3F86FE53B1500000,\n 0x3FEF4465D3F6F184, 0x3FA11CCCE10F8000,\n 0x3FEECC079F84107F, 0x3FAC4DFC8C8B8000,\n 0x3FEE573A99975AE8, 0x3FB3AA321E574000,\n 0x3FEDE5D6F0BD3DE6, 0x3FB918A0D08B8000,\n 0x3FED77B681FF38B3, 0x3FBE72E9DA044000,\n 0x3FED0CB5724DE943, 0x3FC1DCD2507F6000,\n 0x3FECA4B2DC0E7563, 0x3FC476AB03DEA000,\n 0x3FEC3F8EE8D6CB51, 0x3FC7074377E22000,\n 0x3FEBDD2B4F020C4C, 0x3FC98EDE8BA94000,\n 0x3FEB7D6C006015CA, 0x3FCC0DB86AD2E000,\n 0x3FEB20366E2E338F, 0x3FCE840AAFCEE000,\n 0x3FEAC57026295039, 0x3FD0790AB4678000,\n 0x3FEA6D01BC2731DD, 0x3FD1AC056801C000,\n 0x3FEA16D3BC3FF18B, 0x3FD2DB11D4FEE000,\n 0x3FE9C2D14967FEAD, 0x3FD406464EC58000,\n 0x3FE970E4F47C9902, 0x3FD52DBE093AF000,\n 0x3FE920FB3982BCF2, 0x3FD651902050D000,\n 0x3FE8D30187F759F1, 0x3FD771D2CDEAF000,\n 0x3FE886E5EBB9F66D, 0x3FD88E9C857D9000,\n 0x3FE83C97B658B994, 0x3FD9A80155E16000,\n 0x3FE7F405FFC61022, 0x3FDABE186ED3D000,\n 0x3FE7AD22181415CA, 0x3FDBD0F2AEA0E000,\n 0x3FE767DCF99EFF8C, 0x3FDCE0A43DBF4000\n]);\n\n// @ts-ignore: decorator\n@lazy @inline const LOG2_DATA_TAB2 = memory.data([\n // chi , clo\n 0x3FE6200012B90A8E, 0x3C8904AB0644B605,\n 0x3FE66000045734A6, 0x3C61FF9BEA62F7A9,\n 0x3FE69FFFC325F2C5, 0x3C827ECFCB3C90BA,\n 0x3FE6E00038B95A04, 0x3C88FF8856739326,\n 0x3FE71FFFE09994E3, 0x3C8AFD40275F82B1,\n 0x3FE7600015590E10, 0xBC72FD75B4238341,\n 0x3FE7A00012655BD5, 0x3C7808E67C242B76,\n 0x3FE7E0003259E9A6, 0xBC6208E426F622B7,\n 0x3FE81FFFEDB4B2D2, 0xBC8402461EA5C92F,\n 0x3FE860002DFAFCC3, 0x3C6DF7F4A2F29A1F,\n 0x3FE89FFFF78C6B50, 0xBC8E0453094995FD,\n 0x3FE8E00039671566, 0xBC8A04F3BEC77B45,\n 0x3FE91FFFE2BF1745, 0xBC77FA34400E203C,\n 0x3FE95FFFCC5C9FD1, 0xBC76FF8005A0695D,\n 0x3FE9A0003BBA4767, 0x3C70F8C4C4EC7E03,\n 0x3FE9DFFFE7B92DA5, 0x3C8E7FD9478C4602,\n 0x3FEA1FFFD72EFDAF, 0xBC6A0C554DCDAE7E,\n 0x3FEA5FFFDE04FF95, 0x3C867DA98CE9B26B,\n 0x3FEA9FFFCA5E8D2B, 0xBC8284C9B54C13DE,\n 0x3FEADFFFDDAD03EA, 0x3C5812C8EA602E3C,\n 0x3FEB1FFFF10D3D4D, 0xBC8EFADDAD27789C,\n 0x3FEB5FFFCE21165A, 0x3C53CB1719C61237,\n 0x3FEB9FFFD950E674, 0x3C73F7D94194CE00,\n 0x3FEBE000139CA8AF, 0x3C750AC4215D9BC0,\n 0x3FEC20005B46DF99, 0x3C6BEEA653E9C1C9,\n 0x3FEC600040B9F7AE, 0xBC7C079F274A70D6,\n 0x3FECA0006255FD8A, 0xBC7A0B4076E84C1F,\n 0x3FECDFFFD94C095D, 0x3C88F933F99AB5D7,\n 0x3FED1FFFF975D6CF, 0xBC582C08665FE1BE,\n 0x3FED5FFFA2561C93, 0xBC7B04289BD295F3,\n 0x3FED9FFF9D228B0C, 0x3C870251340FA236,\n 0x3FEDE00065BC7E16, 0xBC75011E16A4D80C,\n 0x3FEE200002F64791, 0x3C89802F09EF62E0,\n 0x3FEE600057D7A6D8, 0xBC7E0B75580CF7FA,\n 0x3FEEA00027EDC00C, 0xBC8C848309459811,\n 0x3FEEE0006CF5CB7C, 0xBC8F8027951576F4,\n 0x3FEF2000782B7DCC, 0xBC8F81D97274538F,\n 0x3FEF6000260C450A, 0xBC4071002727FFDC,\n 0x3FEF9FFFE88CD533, 0xBC581BDCE1FDA8B0,\n 0x3FEFDFFFD50F8689, 0x3C87F91ACB918E6E,\n 0x3FF0200004292367, 0x3C9B7FF365324681,\n 0x3FF05FFFE3E3D668, 0x3C86FA08DDAE957B,\n 0x3FF0A0000A85A757, 0xBC57E2DE80D3FB91,\n 0x3FF0E0001A5F3FCC, 0xBC91823305C5F014,\n 0x3FF11FFFF8AFBAF5, 0xBC8BFABB6680BAC2,\n 0x3FF15FFFE54D91AD, 0xBC9D7F121737E7EF,\n 0x3FF1A00011AC36E1, 0x3C9C000A0516F5FF,\n 0x3FF1E00019C84248, 0xBC9082FBE4DA5DA0,\n 0x3FF220000FFE5E6E, 0xBC88FDD04C9CFB43,\n 0x3FF26000269FD891, 0x3C8CFE2A7994D182,\n 0x3FF2A00029A6E6DA, 0xBC700273715E8BC5,\n 0x3FF2DFFFE0293E39, 0x3C9B7C39DAB2A6F9,\n 0x3FF31FFFF7DCF082, 0x3C7DF1336EDC5254,\n 0x3FF35FFFF05A8B60, 0xBC9E03564CCD31EB,\n 0x3FF3A0002E0EAECC, 0x3C75F0E74BD3A477,\n 0x3FF3E000043BB236, 0x3C9C7DCB149D8833,\n 0x3FF4200002D187FF, 0x3C7E08AFCF2D3D28,\n 0x3FF460000D387CB1, 0x3C820837856599A6,\n 0x3FF4A00004569F89, 0xBC89FA5C904FBCD2,\n 0x3FF4E000043543F3, 0xBC781125ED175329,\n 0x3FF51FFFCC027F0F, 0x3C9883D8847754DC,\n 0x3FF55FFFFD87B36F, 0xBC8709E731D02807,\n 0x3FF59FFFF21DF7BA, 0x3C87F79F68727B02,\n 0x3FF5DFFFEBFC3481, 0xBC9180902E30E93E\n]);\n\n// @ts-ignore: decorator\n@inline\nexport function log2_lut(x: f64): f64 {\n const N_MASK = (1 << LOG2_TABLE_BITS) - 1;\n\n const\n LO: u64 = 0x3FEEA4AF00000000, // reinterpret(1.0 - 0x1.5b51p-5)\n HI: u64 = 0x3FF0B55900000000; // reinterpret(1.0 + 0x1.6ab2p-5)\n\n const\n InvLn2hi = reinterpret(0x3FF7154765200000), // 0x1.7154765200000p+0\n InvLn2lo = reinterpret(0x3DE705FC2EEFA200), // 0x1.705fc2eefa200p-33\n Ox1p52 = reinterpret(0x4330000000000000); // 0x1p52\n\n const\n B0 = reinterpret(0xBFE71547652B82FE), // -0x1.71547652b82fep-1\n B1 = reinterpret(0x3FDEC709DC3A03F7), // 0x1.ec709dc3a03f7p-2\n B2 = reinterpret(0xBFD71547652B7C3F), // -0x1.71547652b7c3fp-2\n B3 = reinterpret(0x3FD2776C50F05BE4), // 0x1.2776c50f05be4p-2\n B4 = reinterpret(0xBFCEC709DD768FE5), // -0x1.ec709dd768fe5p-3\n B5 = reinterpret(0x3FCA61761EC4E736), // 0x1.a61761ec4e736p-3\n B6 = reinterpret(0xBFC7153FBC64A79B), // -0x1.7153fbc64a79bp-3\n B7 = reinterpret(0x3FC484D154F01B4A), // 0x1.484d154f01b4ap-3\n B8 = reinterpret(0xBFC289E4A72C383C), // -0x1.289e4a72c383cp-3\n B9 = reinterpret(0x3FC0B32F285AEE66); // 0x1.0b32f285aee66p-3\n\n const\n A0 = reinterpret(0xBFE71547652B8339), // -0x1.71547652b8339p-1\n A1 = reinterpret(0x3FDEC709DC3A04BE), // 0x1.ec709dc3a04bep-2\n A2 = reinterpret(0xBFD7154764702FFB), // -0x1.7154764702ffbp-2\n A3 = reinterpret(0x3FD2776C50034C48), // 0x1.2776c50034c48p-2\n A4 = reinterpret(0xBFCEC7B328EA92BC), // -0x1.ec7b328ea92bcp-3\n A5 = reinterpret(0x3FCA6225E117F92E); // 0x1.a6225e117f92ep-3\n\n let ix = reinterpret(x);\n if (ix - LO < HI - LO) {\n let r = x - 1.0;\n // #if __FP_FAST_FMA\n // hi = r * InvLn2hi;\n // lo = r * InvLn2lo + __builtin_fma(r, InvLn2hi, -hi);\n // #else\n let rhi = reinterpret(reinterpret(r) & 0xFFFFFFFF00000000);\n let rlo = r - rhi;\n let hi = rhi * InvLn2hi;\n let lo = rlo * InvLn2hi + r * InvLn2lo;\n // #endif\n let r2 = r * r; // rounding error: 0x1p-62\n let r4 = r2 * r2;\n // Worst-case error is less than 0.54 ULP (0.55 ULP without fma)\n let p = r2 * (B0 + r * B1);\n let y = hi + p;\n lo += hi - y + p;\n lo += r4 * (B2 + r * B3 + r2 * (B4 + r * B5) +\n r4 * (B6 + r * B7 + r2 * (B8 + r * B9)));\n return y + lo;\n }\n let top = u32(ix >> 48);\n if (top - 0x0010 >= 0x7ff0 - 0x0010) {\n // x < 0x1p-1022 or inf or nan.\n if ((ix << 1) == 0) return -1.0 / (x * x);\n if (ix == 0x7FF0000000000000) return x; // log(inf) == inf\n if ((top & 0x8000) || (top & 0x7FF0) == 0x7FF0) return (x - x) / (x - x);\n // x is subnormal, normalize it.\n ix = reinterpret(x * Ox1p52);\n ix -= u64(52) << 52;\n }\n\n // x = 2^k z; where z is in range [OFF,2*OFF) and exact.\n // The range is split into N subintervals.\n // The ith subinterval contains z and c is near its center.\n let tmp = ix - 0x3FE6000000000000;\n let i = ((tmp >> (52 - LOG2_TABLE_BITS)) & N_MASK);\n let k = tmp >> 52;\n let iz = ix - (tmp & 0xFFF0000000000000);\n\n let invc = load(LOG2_DATA_TAB1 + (i << (1 + alignof())), 0 << alignof()); // T[i].invc;\n let logc = load(LOG2_DATA_TAB1 + (i << (1 + alignof())), 1 << alignof()); // T[i].logc;\n let z = reinterpret(iz);\n let kd = k;\n\n // log2(x) = log2(z/c) + log2(c) + k.\n // r ~= z/c - 1, |r| < 1/(2*N).\n // #if __FP_FAST_FMA\n // \t// rounding error: 0x1p-55/N.\n // \tr = __builtin_fma(z, invc, -1.0);\n // \tt1 = r * InvLn2hi;\n // \tt2 = r * InvLn2lo + __builtin_fma(r, InvLn2hi, -t1);\n // #else\n // rounding error: 0x1p-55/N + 0x1p-65.\n let chi = load(LOG2_DATA_TAB2 + (i << (1 + alignof())), 0 << alignof()); // T[i].chi;\n let clo = load(LOG2_DATA_TAB2 + (i << (1 + alignof())), 1 << alignof()); // T[i].clo;\n\n let r = (z - chi - clo) * invc;\n let rhi = reinterpret(reinterpret(r) & 0xFFFFFFFF00000000);\n let rlo = r - rhi;\n let t1 = rhi * InvLn2hi;\n let t2 = rlo * InvLn2hi + r * InvLn2lo;\n // #endif\n\n // hi + lo = r/ln2 + log2(c) + k\n let t3 = kd + logc;\n let hi = t3 + t1;\n let lo = t3 - hi + t1 + t2;\n\n // log2(r+1) = r/ln2 + r^2*poly(r)\n // Evaluation is optimized assuming superscalar pipelined execution\n let r2 = r * r; // rounding error: 0x1p-54/N^2\n // Worst-case error if |y| > 0x1p-4: 0.547 ULP (0.550 ULP without fma).\n // ~ 0.5 + 2/N/ln2 + abs-poly-error*0x1p56 ULP (+ 0.003 ULP without fma).\n let p = A0 + r * A1 + r2 * (A2 + r * A3) + (r2 * r2) * (A4 + r * A5);\n return lo + r2 * p + hi;\n}\n\n//\n// Lookup data for log. See: https://git.musl-libc.org/cgit/musl/tree/src/math/log.c\n//\n\n// @ts-ignore: decorator\n@inline const LOG_TABLE_BITS = 7;\n\n/* Algorithm:\n\n x = 2^k z\n log(x) = k ln2 + log(c) + log(z/c)\n log(z/c) = poly(z/c - 1)\n\nwhere z is in [1.6p-1; 1.6p0] which is split into N subintervals and z falls\ninto the ith one, then table entries are computed as\n\n tab[i].invc = 1/c\n tab[i].logc = (double)log(c)\n tab2[i].chi = (double)c\n tab2[i].clo = (double)(c - (double)c)\n\nwhere c is near the center of the subinterval and is chosen by trying +-2^29\nfloating point invc candidates around 1/center and selecting one for which\n\n 1) the rounding error in 0x1.8p9 + logc is 0,\n 2) the rounding error in z - chi - clo is < 0x1p-66 and\n 3) the rounding error in (double)log(c) is minimized (< 0x1p-66).\n\nNote: 1) ensures that k*ln2hi + logc can be computed without rounding error,\n2) ensures that z/c - 1 can be computed as (z - chi - clo)*invc with close to\na single rounding error when there is no fast fma for z*invc - 1, 3) ensures\nthat logc + poly(z/c - 1) has small error, however near x == 1 when\n|log(x)| < 0x1p-4, this is not enough so that is special cased.*/\n\n// @ts-ignore: decorator\n@lazy @inline const LOG_DATA_TAB1 = memory.data([\n // invc , logc\n 0x3FF734F0C3E0DE9F, 0xBFD7CC7F79E69000,\n 0x3FF713786A2CE91F, 0xBFD76FEEC20D0000,\n 0x3FF6F26008FAB5A0, 0xBFD713E31351E000,\n 0x3FF6D1A61F138C7D, 0xBFD6B85B38287800,\n 0x3FF6B1490BC5B4D1, 0xBFD65D5590807800,\n 0x3FF69147332F0CBA, 0xBFD602D076180000,\n 0x3FF6719F18224223, 0xBFD5A8CA86909000,\n 0x3FF6524F99A51ED9, 0xBFD54F4356035000,\n 0x3FF63356AA8F24C4, 0xBFD4F637C36B4000,\n 0x3FF614B36B9DDC14, 0xBFD49DA7FDA85000,\n 0x3FF5F66452C65C4C, 0xBFD445923989A800,\n 0x3FF5D867B5912C4F, 0xBFD3EDF439B0B800,\n 0x3FF5BABCCB5B90DE, 0xBFD396CE448F7000,\n 0x3FF59D61F2D91A78, 0xBFD3401E17BDA000,\n 0x3FF5805612465687, 0xBFD2E9E2EF468000,\n 0x3FF56397CEE76BD3, 0xBFD2941B3830E000,\n 0x3FF54725E2A77F93, 0xBFD23EC58CDA8800,\n 0x3FF52AFF42064583, 0xBFD1E9E129279000,\n 0x3FF50F22DBB2BDDF, 0xBFD1956D2B48F800,\n 0x3FF4F38F4734DED7, 0xBFD141679AB9F800,\n 0x3FF4D843CFDE2840, 0xBFD0EDD094EF9800,\n 0x3FF4BD3EC078A3C8, 0xBFD09AA518DB1000,\n 0x3FF4A27FC3E0258A, 0xBFD047E65263B800,\n 0x3FF4880524D48434, 0xBFCFEB224586F000,\n 0x3FF46DCE1B192D0B, 0xBFCF474A7517B000,\n 0x3FF453D9D3391854, 0xBFCEA4443D103000,\n 0x3FF43A2744B4845A, 0xBFCE020D44E9B000,\n 0x3FF420B54115F8FB, 0xBFCD60A22977F000,\n 0x3FF40782DA3EF4B1, 0xBFCCC00104959000,\n 0x3FF3EE8F5D57FE8F, 0xBFCC202956891000,\n 0x3FF3D5D9A00B4CE9, 0xBFCB81178D811000,\n 0x3FF3BD60C010C12B, 0xBFCAE2C9CCD3D000,\n 0x3FF3A5242B75DAB8, 0xBFCA45402E129000,\n 0x3FF38D22CD9FD002, 0xBFC9A877681DF000,\n 0x3FF3755BC5847A1C, 0xBFC90C6D69483000,\n 0x3FF35DCE49AD36E2, 0xBFC87120A645C000,\n 0x3FF34679984DD440, 0xBFC7D68FB4143000,\n 0x3FF32F5CCEFFCB24, 0xBFC73CB83C627000,\n 0x3FF3187775A10D49, 0xBFC6A39A9B376000,\n 0x3FF301C8373E3990, 0xBFC60B3154B7A000,\n 0x3FF2EB4EBB95F841, 0xBFC5737D76243000,\n 0x3FF2D50A0219A9D1, 0xBFC4DC7B8FC23000,\n 0x3FF2BEF9A8B7FD2A, 0xBFC4462C51D20000,\n 0x3FF2A91C7A0C1BAB, 0xBFC3B08ABC830000,\n 0x3FF293726014B530, 0xBFC31B996B490000,\n 0x3FF27DFA5757A1F5, 0xBFC2875490A44000,\n 0x3FF268B39B1D3BBF, 0xBFC1F3B9F879A000,\n 0x3FF2539D838FF5BD, 0xBFC160C8252CA000,\n 0x3FF23EB7AAC9083B, 0xBFC0CE7F57F72000,\n 0x3FF22A012BA940B6, 0xBFC03CDC49FEA000,\n 0x3FF2157996CC4132, 0xBFBF57BDBC4B8000,\n 0x3FF201201DD2FC9B, 0xBFBE370896404000,\n 0x3FF1ECF4494D480B, 0xBFBD17983EF94000,\n 0x3FF1D8F5528F6569, 0xBFBBF9674ED8A000,\n 0x3FF1C52311577E7C, 0xBFBADC79202F6000,\n 0x3FF1B17C74CB26E9, 0xBFB9C0C3E7288000,\n 0x3FF19E010C2C1AB6, 0xBFB8A646B372C000,\n 0x3FF18AB07BB670BD, 0xBFB78D01B3AC0000,\n 0x3FF1778A25EFBCB6, 0xBFB674F145380000,\n 0x3FF1648D354C31DA, 0xBFB55E0E6D878000,\n 0x3FF151B990275FDD, 0xBFB4485CDEA1E000,\n 0x3FF13F0EA432D24C, 0xBFB333D94D6AA000,\n 0x3FF12C8B7210F9DA, 0xBFB22079F8C56000,\n 0x3FF11A3028ECB531, 0xBFB10E4698622000,\n 0x3FF107FBDA8434AF, 0xBFAFFA6C6AD20000,\n 0x3FF0F5EE0F4E6BB3, 0xBFADDA8D4A774000,\n 0x3FF0E4065D2A9FCE, 0xBFABBCECE4850000,\n 0x3FF0D244632CA521, 0xBFA9A1894012C000,\n 0x3FF0C0A77CE2981A, 0xBFA788583302C000,\n 0x3FF0AF2F83C636D1, 0xBFA5715E67D68000,\n 0x3FF09DDB98A01339, 0xBFA35C8A49658000,\n 0x3FF08CABAF52E7DF, 0xBFA149E364154000,\n 0x3FF07B9F2F4E28FB, 0xBF9E72C082EB8000,\n 0x3FF06AB58C358F19, 0xBF9A55F152528000,\n 0x3FF059EEA5ECF92C, 0xBF963D62CF818000,\n 0x3FF04949CDD12C90, 0xBF9228FB8CAA0000,\n 0x3FF038C6C6F0ADA9, 0xBF8C317B20F90000,\n 0x3FF02865137932A9, 0xBF8419355DAA0000,\n 0x3FF0182427EA7348, 0xBF781203C2EC0000,\n 0x3FF008040614B195, 0xBF60040979240000,\n 0x3FEFE01FF726FA1A, 0x3F6FEFF384900000,\n 0x3FEFA11CC261EA74, 0x3F87DC41353D0000,\n 0x3FEF6310B081992E, 0x3F93CEA3C4C28000,\n 0x3FEF25F63CEEADCD, 0x3F9B9FC114890000,\n 0x3FEEE9C8039113E7, 0x3FA1B0D8CE110000,\n 0x3FEEAE8078CBB1AB, 0x3FA58A5BD001C000,\n 0x3FEE741AA29D0C9B, 0x3FA95C8340D88000,\n 0x3FEE3A91830A99B5, 0x3FAD276AEF578000,\n 0x3FEE01E009609A56, 0x3FB07598E598C000,\n 0x3FEDCA01E577BB98, 0x3FB253F5E30D2000,\n 0x3FED92F20B7C9103, 0x3FB42EDD8B380000,\n 0x3FED5CAC66FB5CCE, 0x3FB606598757C000,\n 0x3FED272CAA5EDE9D, 0x3FB7DA76356A0000,\n 0x3FECF26E3E6B2CCD, 0x3FB9AB434E1C6000,\n 0x3FECBE6DA2A77902, 0x3FBB78C7BB0D6000,\n 0x3FEC8B266D37086D, 0x3FBD431332E72000,\n 0x3FEC5894BD5D5804, 0x3FBF0A3171DE6000,\n 0x3FEC26B533BB9F8C, 0x3FC067152B914000,\n 0x3FEBF583EEECE73F, 0x3FC147858292B000,\n 0x3FEBC4FD75DB96C1, 0x3FC2266ECDCA3000,\n 0x3FEB951E0C864A28, 0x3FC303D7A6C55000,\n 0x3FEB65E2C5EF3E2C, 0x3FC3DFC33C331000,\n 0x3FEB374867C9888B, 0x3FC4BA366B7A8000,\n 0x3FEB094B211D304A, 0x3FC5933928D1F000,\n 0x3FEADBE885F2EF7E, 0x3FC66ACD2418F000,\n 0x3FEAAF1D31603DA2, 0x3FC740F8EC669000,\n 0x3FEA82E63FD358A7, 0x3FC815C0F51AF000,\n 0x3FEA5740EF09738B, 0x3FC8E92954F68000,\n 0x3FEA2C2A90AB4B27, 0x3FC9BB3602F84000,\n 0x3FEA01A01393F2D1, 0x3FCA8BED1C2C0000,\n 0x3FE9D79F24DB3C1B, 0x3FCB5B515C01D000,\n 0x3FE9AE2505C7B190, 0x3FCC2967CCBCC000,\n 0x3FE9852EF297CE2F, 0x3FCCF635D5486000,\n 0x3FE95CBAEEA44B75, 0x3FCDC1BD3446C000,\n 0x3FE934C69DE74838, 0x3FCE8C01B8CFE000,\n 0x3FE90D4F2F6752E6, 0x3FCF5509C0179000,\n 0x3FE8E6528EFFD79D, 0x3FD00E6C121FB800,\n 0x3FE8BFCE9FCC007C, 0x3FD071B80E93D000,\n 0x3FE899C0DABEC30E, 0x3FD0D46B9E867000,\n 0x3FE87427AA2317FB, 0x3FD13687334BD000,\n 0x3FE84F00ACB39A08, 0x3FD1980D67234800,\n 0x3FE82A49E8653E55, 0x3FD1F8FFE0CC8000,\n 0x3FE8060195F40260, 0x3FD2595FD7636800,\n 0x3FE7E22563E0A329, 0x3FD2B9300914A800,\n 0x3FE7BEB377DCB5AD, 0x3FD3187210436000,\n 0x3FE79BAA679725C2, 0x3FD377266DEC1800,\n 0x3FE77907F2170657, 0x3FD3D54FFBAF3000,\n 0x3FE756CADBD6130C, 0x3FD432EEE32FE000\n]);\n\n// @ts-ignore: decorator\n@lazy @inline const LOG_DATA_TAB2 = memory.data([\n // chi , clo\n 0x3FE61000014FB66B, 0x3C7E026C91425B3C,\n 0x3FE63000034DB495, 0x3C8DBFEA48005D41,\n 0x3FE650000D94D478, 0x3C8E7FA786D6A5B7,\n 0x3FE67000074E6FAD, 0x3C61FCEA6B54254C,\n 0x3FE68FFFFEDF0FAE, 0xBC7C7E274C590EFD,\n 0x3FE6B0000763C5BC, 0xBC8AC16848DCDA01,\n 0x3FE6D0001E5CC1F6, 0x3C833F1C9D499311,\n 0x3FE6EFFFEB05F63E, 0xBC7E80041AE22D53,\n 0x3FE710000E869780, 0x3C7BFF6671097952,\n 0x3FE72FFFFC67E912, 0x3C8C00E226BD8724,\n 0x3FE74FFFDF81116A, 0xBC6E02916EF101D2,\n 0x3FE770000F679C90, 0xBC67FC71CD549C74,\n 0x3FE78FFFFA7EC835, 0x3C81BEC19EF50483,\n 0x3FE7AFFFFE20C2E6, 0xBC707E1729CC6465,\n 0x3FE7CFFFED3FC900, 0xBC808072087B8B1C,\n 0x3FE7EFFFE9261A76, 0x3C8DC0286D9DF9AE,\n 0x3FE81000049CA3E8, 0x3C897FD251E54C33,\n 0x3FE8300017932C8F, 0xBC8AFEE9B630F381,\n 0x3FE850000633739C, 0x3C89BFBF6B6535BC,\n 0x3FE87000204289C6, 0xBC8BBF65F3117B75,\n 0x3FE88FFFEBF57904, 0xBC89006EA23DCB57,\n 0x3FE8B00022BC04DF, 0xBC7D00DF38E04B0A,\n 0x3FE8CFFFE50C1B8A, 0xBC88007146FF9F05,\n 0x3FE8EFFFFC918E43, 0x3C83817BD07A7038,\n 0x3FE910001EFA5FC7, 0x3C893E9176DFB403,\n 0x3FE9300013467BB9, 0x3C7F804E4B980276,\n 0x3FE94FFFE6EE076F, 0xBC8F7EF0D9FF622E,\n 0x3FE96FFFDE3C12D1, 0xBC7082AA962638BA,\n 0x3FE98FFFF4458A0D, 0xBC87801B9164A8EF,\n 0x3FE9AFFFDD982E3E, 0xBC8740E08A5A9337,\n 0x3FE9CFFFED49FB66, 0x3C3FCE08C19BE000,\n 0x3FE9F00020F19C51, 0xBC8A3FAA27885B0A,\n 0x3FEA10001145B006, 0x3C74FF489958DA56,\n 0x3FEA300007BBF6FA, 0x3C8CBEAB8A2B6D18,\n 0x3FEA500010971D79, 0x3C88FECADD787930,\n 0x3FEA70001DF52E48, 0xBC8F41763DD8ABDB,\n 0x3FEA90001C593352, 0xBC8EBF0284C27612,\n 0x3FEAB0002A4F3E4B, 0xBC69FD043CFF3F5F,\n 0x3FEACFFFD7AE1ED1, 0xBC823EE7129070B4,\n 0x3FEAEFFFEE510478, 0x3C6A063EE00EDEA3,\n 0x3FEB0FFFDB650D5B, 0x3C5A06C8381F0AB9,\n 0x3FEB2FFFFEAACA57, 0xBC79011E74233C1D,\n 0x3FEB4FFFD995BADC, 0xBC79FF1068862A9F,\n 0x3FEB7000249E659C, 0x3C8AFF45D0864F3E,\n 0x3FEB8FFFF9871640, 0x3C7CFE7796C2C3F9,\n 0x3FEBAFFFD204CB4F, 0xBC63FF27EEF22BC4,\n 0x3FEBCFFFD2415C45, 0xBC6CFFB7EE3BEA21,\n 0x3FEBEFFFF86309DF, 0xBC814103972E0B5C,\n 0x3FEC0FFFE1B57653, 0x3C8BC16494B76A19,\n 0x3FEC2FFFF1FA57E3, 0xBC64FEEF8D30C6ED,\n 0x3FEC4FFFDCBFE424, 0xBC843F68BCEC4775,\n 0x3FEC6FFFED54B9F7, 0x3C847EA3F053E0EC,\n 0x3FEC8FFFEB998FD5, 0x3C7383068DF992F1,\n 0x3FECB0002125219A, 0xBC68FD8E64180E04,\n 0x3FECCFFFDD94469C, 0x3C8E7EBE1CC7EA72,\n 0x3FECEFFFEAFDC476, 0x3C8EBE39AD9F88FE,\n 0x3FED1000169AF82B, 0x3C757D91A8B95A71,\n 0x3FED30000D0FF71D, 0x3C89C1906970C7DA,\n 0x3FED4FFFEA790FC4, 0xBC580E37C558FE0C,\n 0x3FED70002EDC87E5, 0xBC7F80D64DC10F44,\n 0x3FED900021DC82AA, 0xBC747C8F94FD5C5C,\n 0x3FEDAFFFD86B0283, 0x3C8C7F1DC521617E,\n 0x3FEDD000296C4739, 0x3C88019EB2FFB153,\n 0x3FEDEFFFE54490F5, 0x3C6E00D2C652CC89,\n 0x3FEE0FFFCDABF694, 0xBC7F8340202D69D2,\n 0x3FEE2FFFDB52C8DD, 0x3C7B00C1CA1B0864,\n 0x3FEE4FFFF24216EF, 0x3C72FFA8B094AB51,\n 0x3FEE6FFFE88A5E11, 0xBC57F673B1EFBE59,\n 0x3FEE9000119EFF0D, 0xBC84808D5E0BC801,\n 0x3FEEAFFFDFA51744, 0x3C780006D54320B5,\n 0x3FEED0001A127FA1, 0xBC5002F860565C92,\n 0x3FEEF00007BABCC4, 0xBC8540445D35E611,\n 0x3FEF0FFFF57A8D02, 0xBC4FFB3139EF9105,\n 0x3FEF30001EE58AC7, 0x3C8A81ACF2731155,\n 0x3FEF4FFFF5823494, 0x3C8A3F41D4D7C743,\n 0x3FEF6FFFFCA94C6B, 0xBC6202F41C987875,\n 0x3FEF8FFFE1F9C441, 0x3C777DD1F477E74B,\n 0x3FEFAFFFD2E0E37E, 0xBC6F01199A7CA331,\n 0x3FEFD0001C77E49E, 0x3C7181EE4BCEACB1,\n 0x3FEFEFFFF7E0C331, 0xBC6E05370170875A,\n 0x3FF00FFFF465606E, 0xBC8A7EAD491C0ADA,\n 0x3FF02FFFF3867A58, 0xBC977F69C3FCB2E0,\n 0x3FF04FFFFDFC0D17, 0x3C97BFFE34CB945B,\n 0x3FF0700003CD4D82, 0x3C820083C0E456CB,\n 0x3FF08FFFF9F2CBE8, 0xBC6DFFDFBE37751A,\n 0x3FF0B000010CDA65, 0xBC913F7FAEE626EB,\n 0x3FF0D00001A4D338, 0x3C807DFA79489FF7,\n 0x3FF0EFFFFADAFDFD, 0xBC77040570D66BC0,\n 0x3FF110000BBAFD96, 0x3C8E80D4846D0B62,\n 0x3FF12FFFFAE5F45D, 0x3C9DBFFA64FD36EF,\n 0x3FF150000DD59AD9, 0x3C9A0077701250AE,\n 0x3FF170000F21559A, 0x3C8DFDF9E2E3DEEE,\n 0x3FF18FFFFC275426, 0x3C910030DC3B7273,\n 0x3FF1B000123D3C59, 0x3C997F7980030188,\n 0x3FF1CFFFF8299EB7, 0xBC65F932AB9F8C67,\n 0x3FF1EFFFF48AD400, 0x3C937FBF9DA75BEB,\n 0x3FF210000C8B86A4, 0x3C9F806B91FD5B22,\n 0x3FF2300003854303, 0x3C93FFC2EB9FBF33,\n 0x3FF24FFFFFBCF684, 0x3C7601E77E2E2E72,\n 0x3FF26FFFF52921D9, 0x3C7FFCBB767F0C61,\n 0x3FF2900014933A3C, 0xBC7202CA3C02412B,\n 0x3FF2B00014556313, 0xBC92808233F21F02,\n 0x3FF2CFFFEBFE523B, 0xBC88FF7E384FDCF2,\n 0x3FF2F0000BB8AD96, 0xBC85FF51503041C5,\n 0x3FF30FFFFB7AE2AF, 0xBC810071885E289D,\n 0x3FF32FFFFEAC5F7F, 0xBC91FF5D3FB7B715,\n 0x3FF350000CA66756, 0x3C957F82228B82BD,\n 0x3FF3700011FBF721, 0x3C8000BAC40DD5CC,\n 0x3FF38FFFF9592FB9, 0xBC943F9D2DB2A751,\n 0x3FF3B00004DDD242, 0x3C857F6B707638E1,\n 0x3FF3CFFFF5B2C957, 0x3C7A023A10BF1231,\n 0x3FF3EFFFEAB0B418, 0x3C987F6D66B152B0,\n 0x3FF410001532AFF4, 0x3C67F8375F198524,\n 0x3FF4300017478B29, 0x3C8301E672DC5143,\n 0x3FF44FFFE795B463, 0x3C89FF69B8B2895A,\n 0x3FF46FFFE80475E0, 0xBC95C0B19BC2F254,\n 0x3FF48FFFEF6FC1E7, 0x3C9B4009F23A2A72,\n 0x3FF4AFFFE5BEA704, 0xBC94FFB7BF0D7D45,\n 0x3FF4D000171027DE, 0xBC99C06471DC6A3D,\n 0x3FF4F0000FF03EE2, 0x3C977F890B85531C,\n 0x3FF5100012DC4BD1, 0x3C6004657166A436,\n 0x3FF530001605277A, 0xBC96BFCECE233209,\n 0x3FF54FFFECDB704C, 0xBC8902720505A1D7,\n 0x3FF56FFFEF5F54A9, 0x3C9BBFE60EC96412,\n 0x3FF5900017E61012, 0x3C887EC581AFEF90,\n 0x3FF5B00003C93E92, 0xBC9F41080ABF0CC0,\n 0x3FF5D0001D4919BC, 0xBC98812AFB254729,\n 0x3FF5EFFFE7B87A89, 0xBC947EB780ED6904\n]);\n\n// @ts-ignore: decorator\n@inline\nexport function log_lut(x: f64): f64 {\n const N_MASK = (1 << LOG_TABLE_BITS) - 1;\n\n const\n B0 = reinterpret(0xBFE0000000000000), // -0x1p-1\n B1 = reinterpret(0x3FD5555555555577), // 0x1.5555555555577p-2\n B2 = reinterpret(0xBFCFFFFFFFFFFDCB), // -0x1.ffffffffffdcbp-3\n B3 = reinterpret(0x3FC999999995DD0C), // 0x1.999999995dd0cp-3\n B4 = reinterpret(0xBFC55555556745A7), // -0x1.55555556745a7p-3\n B5 = reinterpret(0x3FC24924A344DE30), // 0x1.24924a344de3p-3\n B6 = reinterpret(0xBFBFFFFFA4423D65), // -0x1.fffffa4423d65p-4\n B7 = reinterpret(0x3FBC7184282AD6CA), // 0x1.c7184282ad6cap-4\n B8 = reinterpret(0xBFB999EB43B068FF), // -0x1.999eb43b068ffp-4\n B9 = reinterpret(0x3FB78182F7AFD085), // 0x1.78182f7afd085p-4\n B10 = reinterpret(0xBFB5521375D145CD); // -0x1.5521375d145cdp-4\n\n const\n A0 = reinterpret(0xBFE0000000000001), // -0x1.0000000000001p-1\n A1 = reinterpret(0x3FD555555551305B), // 0x1.555555551305bp-2\n A2 = reinterpret(0xBFCFFFFFFFEB4590), // -0x1.fffffffeb459p-3\n A3 = reinterpret(0x3FC999B324F10111), // 0x1.999b324f10111p-3\n A4 = reinterpret(0xBFC55575E506C89F); // -0x1.55575e506c89fp-3\n\n const\n LO: u64 = 0x3FEE000000000000,\n HI: u64 = 0x3FF1090000000000;\n\n const\n Ln2hi = reinterpret(0x3FE62E42FEFA3800), // 0x1.62e42fefa3800p-1\n Ln2lo = reinterpret(0x3D2EF35793C76730), // 0x1.ef35793c76730p-45\n Ox1p27 = reinterpret(0x41A0000000000000), // 0x1p27\n Ox1p52 = reinterpret(0x4330000000000000); // 0x1p52\n\n let ix = reinterpret(x);\n if (ix - LO < HI - LO) {\n let r = x - 1.0;\n let r2 = r * r;\n let r3 = r2 * r;\n let y =\n r3 * (B1 + r * B2 + r2 * B3 +\n r3 * (B4 + r * B5 + r2 * B6 +\n r3 * (B7 + r * B8 + r2 * B9 + r3 * B10)));\n // Worst-case error is around 0.507 ULP\n let w = r * Ox1p27;\n let rhi = r + w - w;\n let rlo = r - rhi;\n w = rhi * rhi * B0; // B[0] == -0.5\n let hi = r + w;\n let lo = r - hi + w;\n lo += B0 * rlo * (rhi + r);\n return y + lo + hi;\n }\n let top = u32(ix >> 48);\n if (top - 0x0010 >= 0x7FF0 - 0x0010) {\n // x < 0x1p-1022 or inf or nan\n if ((ix << 1) == 0) return -1.0 / (x * x);\n if (ix == reinterpret(Infinity)) return x; // log(inf) == inf\n if ((top & 0x8000) || (top & 0x7FF0) == 0x7FF0) return (x - x) / (x - x);\n // x is subnormal, normalize it\n ix = reinterpret(x * Ox1p52);\n ix -= u64(52) << 52;\n }\n\n // x = 2^k z; where z is in range [OFF,2*OFF) and exact.\n // The range is split into N subintervals.\n // The ith subinterval contains z and c is near its center.\n let tmp = ix - 0x3FE6000000000000;\n let i = ((tmp >> (52 - LOG_TABLE_BITS)) & N_MASK);\n let k = tmp >> 52;\n let iz = ix - (tmp & (u64(0xFFF) << 52));\n\n let invc = load(LOG_DATA_TAB1 + (i << (1 + alignof())), 0 << alignof()); // T[i].invc;\n let logc = load(LOG_DATA_TAB1 + (i << (1 + alignof())), 1 << alignof()); // T[i].logc;\n let z = reinterpret(iz);\n\n // log(x) = log1p(z/c-1) + log(c) + k*Ln2.\n // r ~= z/c - 1, |r| < 1/(2*N)\n // #if __FP_FAST_FMA\n // \t// rounding error: 0x1p-55/N\n // \tr = __builtin_fma(z, invc, -1.0);\n // #else\n // rounding error: 0x1p-55/N + 0x1p-66\n const chi = load(LOG_DATA_TAB2 + (i << (1 + alignof())), 0 << alignof()); // T2[i].chi\n const clo = load(LOG_DATA_TAB2 + (i << (1 + alignof())), 1 << alignof()); // T2[i].clo\n let r = (z - chi - clo) * invc;\n // #endif\n let kd = k;\n\n // hi + lo = r + log(c) + k*Ln2\n let w = kd * Ln2hi + logc;\n let hi = w + r;\n let lo = w - hi + r + kd * Ln2lo;\n\n // log(x) = lo + (log1p(r) - r) + hi\n let r2 = r * r; // rounding error: 0x1p-54/N^2\n // Worst case error if |y| > 0x1p-5:\n // 0.5 + 4.13/N + abs-poly-error*2^57 ULP (+ 0.002 ULP without fma)\n // Worst case error if |y| > 0x1p-4:\n // 0.5 + 2.06/N + abs-poly-error*2^56 ULP (+ 0.001 ULP without fma).\n return lo + r2 * A0 + r * r2 * (A1 + r * A2 + r2 * (A3 + r * A4)) + hi;\n}\n\n//\n// Lookup data for pow. See: https://git.musl-libc.org/cgit/musl/tree/src/math/pow.c\n//\n\n// @ts-ignore: decorator\n@inline const POW_LOG_TABLE_BITS = 7;\n\n/* Algorithm:\n\n x = 2^k z\n log(x) = k ln2 + log(c) + log(z/c)\n log(z/c) = poly(z/c - 1)\n\nwhere z is in [0x1.69555p-1; 0x1.69555p0] which is split into N subintervals\nand z falls into the ith one, then table entries are computed as\n\n tab[i].invc = 1/c\n tab[i].logc = round(0x1p43*log(c))/0x1p43\n tab[i].logctail = (double)(log(c) - logc)\n\nwhere c is chosen near the center of the subinterval such that 1/c has only a\nfew precision bits so z/c - 1 is exactly representible as double:\n\n 1/c = center < 1 ? round(N/center)/N : round(2*N/center)/N/2\n\nNote: |z/c - 1| < 1/N for the chosen c, |log(c) - logc - logctail| < 0x1p-97,\nthe last few bits of logc are rounded away so k*ln2hi + logc has no rounding\nerror and the interval for z is selected such that near x == 1, where log(x)\nis tiny, large cancellation error is avoided in logc + poly(z/c - 1). */\n\n// @ts-ignore: decorator\n@lazy @inline const POW_LOG_DATA_TAB = memory.data([\n // invc ,pad, logc , logctail\n 0x3FF6A00000000000, 0, 0xBFD62C82F2B9C800, 0x3CFAB42428375680,\n 0x3FF6800000000000, 0, 0xBFD5D1BDBF580800, 0xBD1CA508D8E0F720,\n 0x3FF6600000000000, 0, 0xBFD5767717455800, 0xBD2362A4D5B6506D,\n 0x3FF6400000000000, 0, 0xBFD51AAD872DF800, 0xBCE684E49EB067D5,\n 0x3FF6200000000000, 0, 0xBFD4BE5F95777800, 0xBD041B6993293EE0,\n 0x3FF6000000000000, 0, 0xBFD4618BC21C6000, 0x3D13D82F484C84CC,\n 0x3FF5E00000000000, 0, 0xBFD404308686A800, 0x3CDC42F3ED820B3A,\n 0x3FF5C00000000000, 0, 0xBFD3A64C55694800, 0x3D20B1C686519460,\n 0x3FF5A00000000000, 0, 0xBFD347DD9A988000, 0x3D25594DD4C58092,\n 0x3FF5800000000000, 0, 0xBFD2E8E2BAE12000, 0x3D267B1E99B72BD8,\n 0x3FF5600000000000, 0, 0xBFD2895A13DE8800, 0x3D15CA14B6CFB03F,\n 0x3FF5600000000000, 0, 0xBFD2895A13DE8800, 0x3D15CA14B6CFB03F,\n 0x3FF5400000000000, 0, 0xBFD22941FBCF7800, 0xBD165A242853DA76,\n 0x3FF5200000000000, 0, 0xBFD1C898C1699800, 0xBD1FAFBC68E75404,\n 0x3FF5000000000000, 0, 0xBFD1675CABABA800, 0x3D1F1FC63382A8F0,\n 0x3FF4E00000000000, 0, 0xBFD1058BF9AE4800, 0xBD26A8C4FD055A66,\n 0x3FF4C00000000000, 0, 0xBFD0A324E2739000, 0xBD0C6BEE7EF4030E,\n 0x3FF4A00000000000, 0, 0xBFD0402594B4D000, 0xBCF036B89EF42D7F,\n 0x3FF4A00000000000, 0, 0xBFD0402594B4D000, 0xBCF036B89EF42D7F,\n 0x3FF4800000000000, 0, 0xBFCFB9186D5E4000, 0x3D0D572AAB993C87,\n 0x3FF4600000000000, 0, 0xBFCEF0ADCBDC6000, 0x3D2B26B79C86AF24,\n 0x3FF4400000000000, 0, 0xBFCE27076E2AF000, 0xBD172F4F543FFF10,\n 0x3FF4200000000000, 0, 0xBFCD5C216B4FC000, 0x3D21BA91BBCA681B,\n 0x3FF4000000000000, 0, 0xBFCC8FF7C79AA000, 0x3D27794F689F8434,\n 0x3FF4000000000000, 0, 0xBFCC8FF7C79AA000, 0x3D27794F689F8434,\n 0x3FF3E00000000000, 0, 0xBFCBC286742D9000, 0x3D194EB0318BB78F,\n 0x3FF3C00000000000, 0, 0xBFCAF3C94E80C000, 0x3CBA4E633FCD9066,\n 0x3FF3A00000000000, 0, 0xBFCA23BC1FE2B000, 0xBD258C64DC46C1EA,\n 0x3FF3A00000000000, 0, 0xBFCA23BC1FE2B000, 0xBD258C64DC46C1EA,\n 0x3FF3800000000000, 0, 0xBFC9525A9CF45000, 0xBD2AD1D904C1D4E3,\n 0x3FF3600000000000, 0, 0xBFC87FA06520D000, 0x3D2BBDBF7FDBFA09,\n 0x3FF3400000000000, 0, 0xBFC7AB890210E000, 0x3D2BDB9072534A58,\n 0x3FF3400000000000, 0, 0xBFC7AB890210E000, 0x3D2BDB9072534A58,\n 0x3FF3200000000000, 0, 0xBFC6D60FE719D000, 0xBD10E46AA3B2E266,\n 0x3FF3000000000000, 0, 0xBFC5FF3070A79000, 0xBD1E9E439F105039,\n 0x3FF3000000000000, 0, 0xBFC5FF3070A79000, 0xBD1E9E439F105039,\n 0x3FF2E00000000000, 0, 0xBFC526E5E3A1B000, 0xBD20DE8B90075B8F,\n 0x3FF2C00000000000, 0, 0xBFC44D2B6CCB8000, 0x3D170CC16135783C,\n 0x3FF2C00000000000, 0, 0xBFC44D2B6CCB8000, 0x3D170CC16135783C,\n 0x3FF2A00000000000, 0, 0xBFC371FC201E9000, 0x3CF178864D27543A,\n 0x3FF2800000000000, 0, 0xBFC29552F81FF000, 0xBD248D301771C408,\n 0x3FF2600000000000, 0, 0xBFC1B72AD52F6000, 0xBD2E80A41811A396,\n 0x3FF2600000000000, 0, 0xBFC1B72AD52F6000, 0xBD2E80A41811A396,\n 0x3FF2400000000000, 0, 0xBFC0D77E7CD09000, 0x3D0A699688E85BF4,\n 0x3FF2400000000000, 0, 0xBFC0D77E7CD09000, 0x3D0A699688E85BF4,\n 0x3FF2200000000000, 0, 0xBFBFEC9131DBE000, 0xBD2575545CA333F2,\n 0x3FF2000000000000, 0, 0xBFBE27076E2B0000, 0x3D2A342C2AF0003C,\n 0x3FF2000000000000, 0, 0xBFBE27076E2B0000, 0x3D2A342C2AF0003C,\n 0x3FF1E00000000000, 0, 0xBFBC5E548F5BC000, 0xBD1D0C57585FBE06,\n 0x3FF1C00000000000, 0, 0xBFBA926D3A4AE000, 0x3D253935E85BAAC8,\n 0x3FF1C00000000000, 0, 0xBFBA926D3A4AE000, 0x3D253935E85BAAC8,\n 0x3FF1A00000000000, 0, 0xBFB8C345D631A000, 0x3D137C294D2F5668,\n 0x3FF1A00000000000, 0, 0xBFB8C345D631A000, 0x3D137C294D2F5668,\n 0x3FF1800000000000, 0, 0xBFB6F0D28AE56000, 0xBD269737C93373DA,\n 0x3FF1600000000000, 0, 0xBFB51B073F062000, 0x3D1F025B61C65E57,\n 0x3FF1600000000000, 0, 0xBFB51B073F062000, 0x3D1F025B61C65E57,\n 0x3FF1400000000000, 0, 0xBFB341D7961BE000, 0x3D2C5EDACCF913DF,\n 0x3FF1400000000000, 0, 0xBFB341D7961BE000, 0x3D2C5EDACCF913DF,\n 0x3FF1200000000000, 0, 0xBFB16536EEA38000, 0x3D147C5E768FA309,\n 0x3FF1000000000000, 0, 0xBFAF0A30C0118000, 0x3D2D599E83368E91,\n 0x3FF1000000000000, 0, 0xBFAF0A30C0118000, 0x3D2D599E83368E91,\n 0x3FF0E00000000000, 0, 0xBFAB42DD71198000, 0x3D1C827AE5D6704C,\n 0x3FF0E00000000000, 0, 0xBFAB42DD71198000, 0x3D1C827AE5D6704C,\n 0x3FF0C00000000000, 0, 0xBFA77458F632C000, 0xBD2CFC4634F2A1EE,\n 0x3FF0C00000000000, 0, 0xBFA77458F632C000, 0xBD2CFC4634F2A1EE,\n 0x3FF0A00000000000, 0, 0xBFA39E87B9FEC000, 0x3CF502B7F526FEAA,\n 0x3FF0A00000000000, 0, 0xBFA39E87B9FEC000, 0x3CF502B7F526FEAA,\n 0x3FF0800000000000, 0, 0xBF9F829B0E780000, 0xBD2980267C7E09E4,\n 0x3FF0800000000000, 0, 0xBF9F829B0E780000, 0xBD2980267C7E09E4,\n 0x3FF0600000000000, 0, 0xBF97B91B07D58000, 0xBD288D5493FAA639,\n 0x3FF0400000000000, 0, 0xBF8FC0A8B0FC0000, 0xBCDF1E7CF6D3A69C,\n 0x3FF0400000000000, 0, 0xBF8FC0A8B0FC0000, 0xBCDF1E7CF6D3A69C,\n 0x3FF0200000000000, 0, 0xBF7FE02A6B100000, 0xBD19E23F0DDA40E4,\n 0x3FF0200000000000, 0, 0xBF7FE02A6B100000, 0xBD19E23F0DDA40E4,\n 0x3FF0000000000000, 0, 0, 0,\n 0x3FF0000000000000, 0, 0, 0,\n 0x3FEFC00000000000, 0, 0x3F80101575890000, 0xBD10C76B999D2BE8,\n 0x3FEF800000000000, 0, 0x3F90205658938000, 0xBD23DC5B06E2F7D2,\n 0x3FEF400000000000, 0, 0x3F98492528C90000, 0xBD2AA0BA325A0C34,\n 0x3FEF000000000000, 0, 0x3FA0415D89E74000, 0x3D0111C05CF1D753,\n 0x3FEEC00000000000, 0, 0x3FA466AED42E0000, 0xBD2C167375BDFD28,\n 0x3FEE800000000000, 0, 0x3FA894AA149FC000, 0xBD197995D05A267D,\n 0x3FEE400000000000, 0, 0x3FACCB73CDDDC000, 0xBD1A68F247D82807,\n 0x3FEE200000000000, 0, 0x3FAEEA31C006C000, 0xBD0E113E4FC93B7B,\n 0x3FEDE00000000000, 0, 0x3FB1973BD1466000, 0xBD25325D560D9E9B,\n 0x3FEDA00000000000, 0, 0x3FB3BDF5A7D1E000, 0x3D2CC85EA5DB4ED7,\n 0x3FED600000000000, 0, 0x3FB5E95A4D97A000, 0xBD2C69063C5D1D1E,\n 0x3FED400000000000, 0, 0x3FB700D30AEAC000, 0x3CEC1E8DA99DED32,\n 0x3FED000000000000, 0, 0x3FB9335E5D594000, 0x3D23115C3ABD47DA,\n 0x3FECC00000000000, 0, 0x3FBB6AC88DAD6000, 0xBD1390802BF768E5,\n 0x3FECA00000000000, 0, 0x3FBC885801BC4000, 0x3D2646D1C65AACD3,\n 0x3FEC600000000000, 0, 0x3FBEC739830A2000, 0xBD2DC068AFE645E0,\n 0x3FEC400000000000, 0, 0x3FBFE89139DBE000, 0xBD2534D64FA10AFD,\n 0x3FEC000000000000, 0, 0x3FC1178E8227E000, 0x3D21EF78CE2D07F2,\n 0x3FEBE00000000000, 0, 0x3FC1AA2B7E23F000, 0x3D2CA78E44389934,\n 0x3FEBA00000000000, 0, 0x3FC2D1610C868000, 0x3D039D6CCB81B4A1,\n 0x3FEB800000000000, 0, 0x3FC365FCB0159000, 0x3CC62FA8234B7289,\n 0x3FEB400000000000, 0, 0x3FC4913D8333B000, 0x3D25837954FDB678,\n 0x3FEB200000000000, 0, 0x3FC527E5E4A1B000, 0x3D2633E8E5697DC7,\n 0x3FEAE00000000000, 0, 0x3FC6574EBE8C1000, 0x3D19CF8B2C3C2E78,\n 0x3FEAC00000000000, 0, 0x3FC6F0128B757000, 0xBD25118DE59C21E1,\n 0x3FEAA00000000000, 0, 0x3FC7898D85445000, 0xBD1C661070914305,\n 0x3FEA600000000000, 0, 0x3FC8BEAFEB390000, 0xBD073D54AAE92CD1,\n 0x3FEA400000000000, 0, 0x3FC95A5ADCF70000, 0x3D07F22858A0FF6F,\n 0x3FEA000000000000, 0, 0x3FCA93ED3C8AE000, 0xBD28724350562169,\n 0x3FE9E00000000000, 0, 0x3FCB31D8575BD000, 0xBD0C358D4EACE1AA,\n 0x3FE9C00000000000, 0, 0x3FCBD087383BE000, 0xBD2D4BC4595412B6,\n 0x3FE9A00000000000, 0, 0x3FCC6FFBC6F01000, 0xBCF1EC72C5962BD2,\n 0x3FE9600000000000, 0, 0x3FCDB13DB0D49000, 0xBD2AFF2AF715B035,\n 0x3FE9400000000000, 0, 0x3FCE530EFFE71000, 0x3CC212276041F430,\n 0x3FE9200000000000, 0, 0x3FCEF5ADE4DD0000, 0xBCCA211565BB8E11,\n 0x3FE9000000000000, 0, 0x3FCF991C6CB3B000, 0x3D1BCBECCA0CDF30,\n 0x3FE8C00000000000, 0, 0x3FD07138604D5800, 0x3CF89CDB16ED4E91,\n 0x3FE8A00000000000, 0, 0x3FD0C42D67616000, 0x3D27188B163CEAE9,\n 0x3FE8800000000000, 0, 0x3FD1178E8227E800, 0xBD2C210E63A5F01C,\n 0x3FE8600000000000, 0, 0x3FD16B5CCBACF800, 0x3D2B9ACDF7A51681,\n 0x3FE8400000000000, 0, 0x3FD1BF99635A6800, 0x3D2CA6ED5147BDB7,\n 0x3FE8200000000000, 0, 0x3FD214456D0EB800, 0x3D0A87DEBA46BAEA,\n 0x3FE7E00000000000, 0, 0x3FD2BEF07CDC9000, 0x3D2A9CFA4A5004F4,\n 0x3FE7C00000000000, 0, 0x3FD314F1E1D36000, 0xBD28E27AD3213CB8,\n 0x3FE7A00000000000, 0, 0x3FD36B6776BE1000, 0x3D116ECDB0F177C8,\n 0x3FE7800000000000, 0, 0x3FD3C25277333000, 0x3D183B54B606BD5C,\n 0x3FE7600000000000, 0, 0x3FD419B423D5E800, 0x3D08E436EC90E09D,\n 0x3FE7400000000000, 0, 0x3FD4718DC271C800, 0xBD2F27CE0967D675,\n 0x3FE7200000000000, 0, 0x3FD4C9E09E173000, 0xBD2E20891B0AD8A4,\n 0x3FE7000000000000, 0, 0x3FD522AE0738A000, 0x3D2EBE708164C759,\n 0x3FE6E00000000000, 0, 0x3FD57BF753C8D000, 0x3D1FADEDEE5D40EF,\n 0x3FE6C00000000000, 0, 0x3FD5D5BDDF596000, 0xBD0A0B2A08A465DC\n]);\n\n// Returns 0 if not int, 1 if odd int, 2 if even int. The argument is\n// the bit representation of a non-zero finite floating-point value.\n// @ts-ignore: decorator\n@inline\nfunction checkint(iy: u64): i32 {\n let e = iy >> 52 & 0x7FF;\n if (e < 0x3FF ) return 0;\n if (e > 0x3FF + 52) return 2;\n e = u64(1) << (0x3FF + 52 - e);\n if (iy & (e - 1)) return 0;\n if (iy & e ) return 1;\n return 2;\n}\n\n// @ts-ignore: decorator\n@inline\nfunction xflow(sign: u32, y: f64): f64 {\n return select(-y, y, sign) * y;\n}\n\n// @ts-ignore: decorator\n@inline\nfunction uflow(sign: u32): f64 {\n return xflow(sign, reinterpret(0x1000000000000000)); // 0x1p-767\n}\n\n// @ts-ignore: decorator\n@inline\nfunction oflow(sign: u32): f64 {\n return xflow(sign, reinterpret(0x7000000000000000)); // 0x1p769\n}\n\n// Returns 1 if input is the bit representation of 0, infinity or nan.\n// @ts-ignore: decorator\n@inline\nfunction zeroinfnan(u: u64): bool {\n return (u << 1) - 1 >= 0xFFE0000000000000 - 1;\n}\n\n// @ts-ignore: decorator\n@lazy let log_tail: f64 = 0;\n\n// Compute y+TAIL = log(x) where the rounded result is y and TAIL has about\n// additional 15 bits precision. IX is the bit representation of x, but\n// normalized in the subnormal range using the sign bit for the exponent.\n// @ts-ignore: decorator\n@inline\nfunction log_inline(ix: u64): f64 {\n const N = 1 << POW_LOG_TABLE_BITS;\n const N_MASK = N - 1;\n\n const\n Ln2hi = reinterpret(0x3FE62E42FEFA3800),\n Ln2lo = reinterpret(0x3D2EF35793C76730);\n\n const\n A0 = reinterpret(0xBFE0000000000000),\n A1 = reinterpret(0xBFE5555555555560),\n A2 = reinterpret(0x3FE0000000000006),\n A3 = reinterpret(0x3FE999999959554E),\n A4 = reinterpret(0xBFE555555529A47A),\n A5 = reinterpret(0xBFF2495B9B4845E9),\n A6 = reinterpret(0x3FF0002B8B263FC3);\n\n // x = 2^k z; where z is in range [OFF,2*OFF) and exact.\n // The range is split into N subintervals.\n // The ith subinterval contains z and c is near its center.\n let tmp = ix - 0x3fE6955500000000;\n let i = usize((tmp >> (52 - POW_LOG_TABLE_BITS)) & N_MASK);\n let k = tmp >> 52;\n let iz = ix - (tmp & u64(0xFFF) << 52);\n let z = reinterpret(iz);\n let kd = k;\n\n // log(x) = k*Ln2 + log(c) + log1p(z/c-1).\n let invc = load(POW_LOG_DATA_TAB + (i << (2 + alignof())), 0 << alignof()); // tab[i].invc\n let logc = load(POW_LOG_DATA_TAB + (i << (2 + alignof())), 2 << alignof()); // tab[i].logc\n let logctail = load(POW_LOG_DATA_TAB + (i << (2 + alignof())), 3 << alignof()); // tab[i].logctail\n\n // Note: 1/c is j/N or j/N/2 where j is an integer in [N,2N) and\n // |z/c - 1| < 1/N, so r = z/c - 1 is exactly representible.\n // Split z such that rhi, rlo and rhi*rhi are exact and |rlo| <= |r|.\n let zhi = reinterpret((iz + u64(0x80000000)) & 0xFFFFFFFF00000000);\n let zlo = z - zhi;\n let rhi = zhi * invc - 1.0;\n let rlo = zlo * invc;\n let r = rhi + rlo;\n\n // k * Ln2 + log(c) + r.\n let t1 = kd * Ln2hi + logc;\n let t2 = t1 + r;\n let lo1 = kd * Ln2lo + logctail;\n let lo2 = t1 - t2 + r;\n\n // Evaluation is optimized assuming superscalar pipelined execution.\n let ar = A0 * r; // A[0] = -0.5\n let ar2 = r * ar;\n let ar3 = r * ar2;\n // k * Ln2 + log(c) + r + A[0] * r * r.\n let arhi = A0 * rhi;\n let arhi2 = rhi * arhi;\n let hi = t2 + arhi2;\n let lo3 = rlo * (ar + arhi);\n let lo4 = t2 - hi + arhi2;\n\n // p = log1p(r) - r - A[0] * r * r.\n let p = ar3 * (A1 + r * A2 + ar2 * (A3 + r * A4 + ar2 * (A5 + r * A6)));\n let lo = lo1 + lo2 + lo3 + lo4 + p;\n let y = hi + lo;\n log_tail = hi - y + lo;\n\n return y;\n}\n\n// @ts-ignore: decorator\n@inline const SIGN_BIAS = 0x800 << EXP_TABLE_BITS;\n\n// Computes sign*exp(x+xtail) where |xtail| < 2^-8/N and |xtail| <= |x|.\n// The sign_bias argument is SIGN_BIAS or 0 and sets the sign to -1 or 1.\n// @ts-ignore: decorator\n@inline\nfunction exp_inline(x: f64, xtail: f64, sign_bias: u32): f64 {\n const N = 1 << EXP_TABLE_BITS;\n const N_MASK = N - 1;\n\n const\n InvLn2N = reinterpret(0x3FF71547652B82FE) * N, // 0x1.71547652b82fep0\n NegLn2hiN = reinterpret(0xBF762E42FEFA0000), // -0x1.62e42fefa0000p-8\n NegLn2loN = reinterpret(0xBD0CF79ABC9E3B3A), // -0x1.cf79abc9e3b3ap-47\n shift = reinterpret(0x4338000000000000); // 0x1.8p52\n\n const\n C2 = reinterpret(0x3FDFFFFFFFFFFDBD), // __exp_data.poly[0] (0x1.ffffffffffdbdp-2)\n C3 = reinterpret(0x3FC555555555543C), // __exp_data.poly[1] (0x1.555555555543cp-3)\n C4 = reinterpret(0x3FA55555CF172B91), // __exp_data.poly[2] (0x1.55555cf172b91p-5)\n C5 = reinterpret(0x3F81111167A4D017); // __exp_data.poly[3] (0x1.1111167a4d017p-7)\n\n let abstop: u32;\n let ki: u64, top: u64, sbits: u64;\n let idx: usize;\n // double_t for better performance on targets with FLT_EVAL_METHOD==2.\n let kd: f64, z: f64, r: f64, r2: f64, scale: f64, tail: f64, tmp: f64;\n\n let ux = reinterpret(x);\n abstop = u32(ux >> 52) & 0x7FF;\n if (abstop - 0x3C9 >= 0x03F) {\n if (abstop - 0x3C9 >= 0x80000000) {\n // Avoid spurious underflow for tiny x.\n // Note: 0 is common input.\n return select(-1.0, 1.0, sign_bias);\n }\n if (abstop >= 0x409) { // top12(1024.0)\n // Note: inf and nan are already handled.\n return ux < 0\n ? uflow(sign_bias)\n : oflow(sign_bias);\n }\n // Large x is special cased below.\n abstop = 0;\n }\n\n // exp(x) = 2^(k/N) * exp(r), with exp(r) in [2^(-1/2N),2^(1/2N)].\n // x = ln2/N*k + r, with int k and r in [-ln2/2N, ln2/2N].\n z = InvLn2N * x;\n\n // #if TOINT_INTRINSICS\n // kd = roundtoint(z);\n // ki = converttoint(z);\n // #elif EXP_USE_TOINT_NARROW\n // // z - kd is in [-0.5-2^-16, 0.5] in all rounding modes.\n // kd = eval_as_double(z + shift);\n // ki = asuint64(kd) >> 16;\n // kd = (double_t)(int32_t)ki;\n // #else\n // z - kd is in [-1, 1] in non-nearest rounding modes\n kd = z + shift;\n ki = reinterpret(kd);\n kd -= shift;\n // #endif\n r = x + kd * NegLn2hiN + kd * NegLn2loN;\n // The code assumes 2^-200 < |xtail| < 2^-8/N\n r += xtail;\n // 2^(k/N) ~= scale * (1 + tail)\n idx = usize((ki & N_MASK) << 1);\n top = (ki + sign_bias) << (52 - EXP_TABLE_BITS);\n\n tail = reinterpret(load(EXP_DATA_TAB + (idx << alignof())));\n // This is only a valid scale when -1023*N < k < 1024*N\n sbits = load(EXP_DATA_TAB + (idx << alignof()), 1 << alignof()) + top;\n // exp(x) = 2^(k/N) * exp(r) ~= scale + scale * (tail + exp(r) - 1).\n // Evaluation is optimized assuming superscalar pipelined execution.\n r2 = r * r;\n // Without fma the worst case error is 0.25/N ulp larger.\n // Worst case error is less than 0.5+1.11/N+(abs poly error * 2^53) ulp\n tmp = tail + r + r2 * (C2 + r * C3) + r2 * r2 * (C4 + r * C5);\n if (abstop == 0) return specialcase(tmp, sbits, ki);\n scale = reinterpret(sbits);\n // Note: tmp == 0 or |tmp| > 2^-200 and scale > 2^-739, so there\n // is no spurious underflow here even without fma.\n return scale + scale * tmp;\n}\n\n// @ts-ignore: decorator\n@inline\nexport function pow_lut(x: f64, y: f64): f64 {\n const Ox1p52 = reinterpret(0x4330000000000000); // 0x1p52\n\n let sign_bias: u32 = 0;\n let ix = reinterpret(x);\n let iy = reinterpret(y);\n let topx = ix >> 52;\n let topy = iy >> 52;\n\n if (topx - 0x001 >= 0x7FF - 0x001 || (topy & 0x7FF) - 0x3BE >= 0x43e - 0x3BE) {\n // Note: if |y| > 1075 * ln2 * 2^53 ~= 0x1.749p62 then pow(x,y) = inf/0\n // and if |y| < 2^-54 / 1075 ~= 0x1.e7b6p-65 then pow(x,y) = +-1.\n // Special cases: (x < 0x1p-126 or inf or nan) or\n // (|y| < 0x1p-65 or |y| >= 0x1p63 or nan).\n if (zeroinfnan(iy)) {\n if ((iy << 1) == 0) return 1.0;\n if (ix == 0x3FF0000000000000) return NaN; // original: 1.0\n if ((ix << 1) > 0xFFE0000000000000 || (iy << 1) > 0xFFE0000000000000) return x + y;\n if ((ix << 1) == 0x7FE0000000000000) return NaN; // original: 1.0\n if (((ix << 1) < 0x7FE0000000000000) == !(iy >> 63)) return 0; // |x|<1 && y==inf or |x|>1 && y==-inf.\n return y * y;\n }\n if (zeroinfnan(ix)) {\n let x2 = x * x;\n if (i32(ix >> 63) && checkint(iy) == 1) x2 = -x2;\n return iy < 0 ? 1 / x2 : x2;\n }\n // Here x and y are non-zero finite\n if (ix < 0) {\n // Finite x < 0\n let yint = checkint(iy);\n if (yint == 0) return (x - x) / (x - x);\n if (yint == 1) sign_bias = SIGN_BIAS;\n ix &= 0x7FFFFFFFFFFFFFFF;\n topx &= 0x7FF;\n }\n if ((topy & 0x7FF) - 0x3BE >= 0x43E - 0x3BE) {\n // Note: sign_bias == 0 here because y is not odd.\n if (ix == 0x3FF0000000000000) return 1;\n if ((topy & 0x7FF) < 0x3BE) return 1; // |y| < 2^-65, x^y ~= 1 + y*log(x).\n return (ix > 0x3FF0000000000000) == (topy < 0x800) ? Infinity : 0;\n }\n if (topx == 0) {\n // Normalize subnormal x so exponent becomes negative.\n ix = reinterpret(x * Ox1p52);\n ix &= 0x7FFFFFFFFFFFFFFF;\n ix -= u64(52) << 52;\n }\n }\n\n let hi = log_inline(ix);\n let lo = log_tail;\n let ehi: f64, elo: f64;\n // #if __FP_FAST_FMA\n // ehi = y * hi;\n // elo = y * lo + __builtin_fma(y, hi, -ehi);\n // #else\n let yhi = reinterpret(iy & 0xFFFFFFFFF8000000);\n let ylo = y - yhi;\n let lhi = reinterpret(reinterpret(hi) & 0xFFFFFFFFF8000000);\n let llo = hi - lhi + lo;\n ehi = yhi * lhi;\n elo = ylo * lhi + y * llo; // |elo| < |ehi| * 2^-25.\n // #endif\n return exp_inline(ehi, elo, sign_bias);\n}\n","import {\n itoa32,\n utoa32,\n itoa64,\n utoa64,\n dtoa,\n itoa_buffered,\n dtoa_buffered,\n MAX_DOUBLE_LENGTH\n} from \"./number\";\n\nimport {\n ipow32\n} from \"../math\";\n\n// All tables are stored as two staged lookup tables (static tries)\n// because the full range of Unicode symbols can't be efficiently\n// represented as-is in memory (see Unicode spec ch 5, p.196):\n// https://www.unicode.org/versions/Unicode12.0.0/ch05.pdf\n// Tables have been generated using these forked musl tools:\n// https://github.com/MaxGraey/musl-chartable-tools/tree/case-ignorable\n\n// Lookup table to check if a character is alphanumeric or not\n// See: https://git.musl-libc.org/cgit/musl/tree/src/ctype/alpha.h\n// size: 3904 bytes\n// @ts-ignore\n@inline @lazy const ALPHA_TABLE = memory.data([\n 18,17,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,17,34,35,36,17,37,38,39,40,\n 41,42,43,44,17,45,46,47,16,16,48,16,16,16,16,16,16,16,49,50,51,16,52,53,16,16,\n 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,54,\n 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,\n 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,\n 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,\n 17,17,17,55,17,17,17,17,56,17,57,58,59,60,61,62,17,17,17,17,17,17,17,17,17,17,\n 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,\n 17,17,17,17,17,17,17,63,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,17,64,65,17,66,67,\n 68,69,70,71,72,73,74,17,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,\n 93,94,16,95,96,97,98,17,17,17,99,100,101,16,16,16,16,16,16,16,16,16,16,17,17,\n 17,17,102,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,17,17,103,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,17,17,104,105,16,16,106,107,17,17,17,17,17,17,17,17,17,17,17,17,17,\n 17,17,17,17,17,17,17,17,17,17,108,17,17,17,17,109,110,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 17,111,112,16,16,16,16,16,16,16,16,16,113,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,114,115,116,117,16,16,16,16,16,16,16,16,118,\n 119,120,16,16,16,16,16,121,122,16,16,16,16,123,16,16,124,16,16,16,16,16,16,16,\n 16,16,125,16,16,16,\n 16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,254,255,255,7,254,\n 255,255,7,0,0,0,0,0,4,32,4,255,255,127,255,255,255,127,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,195,255,3,0,31,80,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,223,188,64,215,255,255,\n 251,255,255,255,255,255,255,255,255,255,191,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,3,252,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,254,255,255,255,127,2,255,255,255,\n 255,255,1,0,0,0,0,255,191,182,0,255,255,255,135,7,0,0,0,255,7,255,255,255,255,\n 255,255,255,254,255,195,255,255,255,255,255,255,255,255,255,255,255,255,239,\n 31,254,225,255,\n 159,0,0,255,255,255,255,255,255,0,224,255,255,255,255,255,255,255,255,255,255,\n 255,255,3,0,255,255,255,255,255,7,48,4,255,255,255,252,255,31,0,0,255,255,255,\n 1,255,7,0,0,0,0,0,0,255,255,223,255,255,0,240,255,248,3,255,255,255,255,255,\n 255,255,255,255,239,255,223,225,255,207,255,254,255,239,159,249,255,255,253,\n 197,227,159,89,128,176,207,255,3,16,238,135,249,255,255,253,109,195,135,25,2,\n 94,192,255,63,0,238,191,251,255,255,253,237,227,191,27,1,0,207,255,0,30,238,\n 159,249,255,255,253,237,227,159,25,192,176,207,255,2,0,236,199,61,214,24,199,\n 255,195,199,29,129,0,192,255,0,0,239,223,253,255,255,253,255,227,223,29,96,7,\n 207,255,0,0,239,223,253,255,255,253,239,227,223,29,96,64,207,255,6,0,255,223,\n 253,255,255,255,255,231,223,93,240,128,207,255,0,252,238,255,127,252,255,255,\n 251,47,127,128,95,255,192,255,12,0,254,255,255,255,255,127,255,7,63,32,255,3,\n 0,0,0,0,214,247,255,255,175,255,255,59,95,32,255,243,0,0,0,\n 0,1,0,0,0,255,3,0,0,255,254,255,255,255,31,254,255,3,255,255,254,255,255,255,\n 31,0,0,0,0,0,0,0,0,255,255,255,255,255,255,127,249,255,3,255,255,255,255,255,\n 255,255,255,255,63,255,255,255,255,191,32,255,255,255,255,255,247,255,255,255,\n 255,255,255,255,255,255,61,127,61,255,255,255,255,255,61,255,255,255,255,61,\n 127,61,255,127,255,255,255,255,255,255,255,61,255,255,255,255,255,255,255,255,\n 7,0,0,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,63,63,254,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,159,255,255,254,255,255,7,255,255,255,255,255,255,255,255,\n 255,199,255,1,255,223,15,0,255,255,15,0,255,255,15,0,255,223,13,0,255,255,255,\n 255,255,255,207,255,255,1,128,16,255,3,0,0,0,0,255,3,255,255,255,255,255,255,\n 255,255,255,255,255,1,255,255,255,255,255,7,255,255,255,255,255,255,255,255,\n 63,\n 0,255,255,255,127,255,15,255,1,192,255,255,255,255,63,31,0,255,255,255,255,\n 255,15,255,255,255,3,255,3,0,0,0,0,255,255,255,15,255,255,255,255,255,255,255,\n 127,254,255,31,0,255,3,255,3,128,0,0,128,1,0,0,0,0,0,0,0,255,255,255,255,255,\n 255,239,255,239,15,255,3,0,0,0,0,255,255,255,255,255,243,255,255,255,255,255,\n 255,191,255,3,0,255,255,255,255,255,255,127,0,255,227,255,255,255,255,255,63,\n 255,1,255,255,255,255,255,231,0,0,0,0,0,222,111,4,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,\n 128,255,31,0,255,255,63,63,255,255,255,255,63,63,255,170,255,255,255,63,255,\n 255,255,255,255,255,223,95,220,31,207,15,255,31,220,31,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,2,128,0,0,255,31,0,0,0,0,0,0,0,0,0,0,0,0,132,252,47,62,80,189,255,243,\n 224,67,0,0,255,255,255,255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,255,255,255,255,255,255,3,0,\n 0,255,255,255,255,255,127,255,255,255,255,255,127,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,31,120,12,0,255,255,255,255,191,32,255,\n 255,255,255,255,255,255,128,0,0,255,255,127,0,127,127,127,127,127,127,127,127,\n 255,255,255,255,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,224,0,0,0,254,3,62,31,254,255,255,255,255,255,255,255,255,255,127,224,254,\n 255,255,255,255,255,255,255,255,255,255,247,224,255,255,255,255,255,254,255,\n 255,255,255,255,255,255,255,255,255,127,0,0,255,255,255,255,0,0,0,0,0,0,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,\n 31,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,0,0,\n 0,0,0,0,0,0,255,255,255,255,255,63,255,31,255,255,255,15,0,0,255,255,255,255,\n 255,127,240,143,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,\n 0,128,255,252,255,255,255,255,255,255,255,255,255,255,255,255,249,255,255,255,\n 255,255,255,252,7,0,0,0,0,224,255,191,255,255,255,255,0,0,0,255,255,255,255,\n 255,255,15,0,255,255,255,255,255,255,255,255,47,0,255,3,0,0,252,232,255,255,\n 255,255,255,7,255,255,255,255,7,0,255,255,255,31,255,255,255,255,255,255,247,\n 255,0,128,255,3,255,255,255,127,255,255,255,255,255,255,127,0,255,63,255,3,\n 255,255,127,252,255,255,255,255,255,255,255,127,5,0,0,56,255,255,60,0,126,126,\n 126,0,127,127,255,255,255,255,255,247,255,3,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,7,255,3,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,15,0,255,255,127,248,255,255,255,255,\n 255,\n 15,255,255,255,255,255,255,255,255,255,255,255,255,255,63,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,3,0,0,0,0,127,0,248,224,255,253,127,95,219,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,3,0,0,0,248,255,255,255,\n 255,255,255,255,255,255,255,255,255,63,0,0,255,255,255,255,255,255,255,255,\n 252,255,255,255,255,255,255,0,0,0,0,0,255,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,223,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,0,0,255,3,\n 254,255,255,7,254,255,255,7,192,255,255,255,255,255,255,255,255,255,255,127,\n 252,252,252,28,0,0,0,0,255,239,255,255,127,255,255,183,255,63,255,63,0,0,0,0,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,7,0,0,0,0,0,0,0,0,\n 255,255,255,255,255,255,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,255,255,255,31,255,255,255,255,255,255,1,0,0,0,0,\n 0,255,255,255,255,0,224,255,255,255,7,255,255,255,255,255,7,255,255,255,63,\n 255,255,255,255,15,255,62,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,63,255,3,255,255,255,255,15,255,255,255,\n 255,15,255,255,255,255,255,0,255,255,255,255,255,255,15,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,255,255,255,255,255,255,127,0,255,255,63,0,255,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,63,253,255,255,255,255,191,145,255,255,63,0,255,255,\n 127,0,255,255,255,127,0,0,0,0,0,0,0,0,255,255,55,0,255,255,63,0,255,255,255,3,\n 0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,192,0,0,0,0,0,0,0,0,111,240,239,\n 254,255,255,63,0,0,0,0,0,255,255,255,31,255,255,255,31,0,0,0,0,255,254,255,\n 255,31,0,0,0,255,255,255,255,255,255,63,0,255,255,63,0,255,255,7,0,255,255,3,\n 0,0,0,0,0,0,0,0,0,0,0,0,\n 0,255,255,255,255,255,255,255,255,255,1,0,0,0,0,0,0,255,255,255,255,255,255,7,\n 0,255,255,255,255,255,255,7,0,255,255,255,255,255,0,255,3,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,\n 255,27,3,0,0,0,0,0,0,0,0,0,255,255,255,31,128,0,255,255,63,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,255,255,31,0,0,0,255,255,127,0,255,255,255,255,255,255,255,255,63,0,0,\n 0,192,255,0,0,252,255,255,255,255,255,255,1,0,0,255,255,255,1,255,3,255,255,\n 255,255,255,255,199,255,240,0,255,255,255,255,71,0,255,255,255,255,255,255,\n 255,255,30,192,255,23,0,0,0,0,255,255,251,255,255,255,159,64,0,0,0,0,0,0,0,0,\n 127,189,255,191,255,1,255,255,255,255,255,255,255,1,255,3,239,159,249,255,255,\n 253,237,227,159,25,129,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,255,255,255,255,255,255,255,255,187,7,255,131,3,0,0,0,255,255,255,255,255,\n 255,255,255,179,0,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,\n 255,255,255,63,127,0,0,0,63,0,0,0,0,255,255,255,255,255,255,255,127,17,0,255,\n 3,0,0,0,0,255,255,255,255,255,255,63,1,255,3,0,0,0,0,0,0,255,255,255,231,255,\n 7,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,\n 255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,3,0,128,\n 127,242,111,255,255,255,191,153,7,0,255,3,0,0,0,0,0,0,0,0,255,252,255,255,255,\n 255,255,252,26,0,0,0,255,255,255,255,255,255,231,127,0,0,255,255,255,255,255,\n 255,255,255,255,32,0,0,0,0,255,255,255,255,255,255,255,1,255,253,255,255,255,\n 255,127,127,1,0,255,3,0,0,252,255,255,255,252,255,255,254,127,0,0,0,0,0,0,0,0,\n 0,127,251,255,255,255,255,127,180,203,0,255,3,191,253,255,255,255,127,123,1,\n 255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,\n 0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,3,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,127,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,255,255,255,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,255,255,255,255,255,255,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,\n 0,255,255,255,255,255,255,255,1,255,255,255,127,255,3,0,0,0,0,0,0,0,0,0,0,0,0,\n 255,255,255,63,0,0,255,255,255,255,255,255,0,0,15,0,255,3,248,255,255,224,255,\n 255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,\n 255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,135,\n 255,255,255,255,255,255,255,128,255,255,0,0,0,0,0,0,0,0,11,0,3,0,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,0,0,0,0,0,\n 255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,\n 127,0,0,0,0,0,0,7,0,240,0,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,15,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,7,255,31,255,1,255,67,0,0,0,0,0,0,0,0,0,0,0,0,\n 255,255,255,255,255,255,255,255,255,255,223,255,255,255,255,255,255,255,255,\n 223,100,222,255,235,239,255,255,255,255,255,255,255,191,231,223,223,255,255,\n 255,123,95,252,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,63,255,255,255,253,255,255,247,255,255,255,\n 247,255,255,223,255,255,255,223,255,255,127,255,255,255,127,255,255,255,253,\n 255,255,255,253,255,255,247,207,255,255,255,255,255,255,127,255,255,249,219,7,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,31,\n 128,63,255,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,15,255,\n 3,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,31,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,143,8,\n 255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,239,255,255,255,150,254,247,10,\n 132,234,150,170,150,247,247,94,255,251,255,15,238,251,255,15,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,255,255,255,3,255,255,255,3,255,255,255,3,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,3\n]);\n\n// size: 1568 bytes (compressed to ~1380 bytes after binaryen)\n// @ts-ignore: decorator\n@lazy @inline const CASED = memory.data([\n 18,19,20,21,22,23,16,16,16,16,16,16,16,16,16,16,\n 24,16,16,25,16,16,16,16,16,16,16,16,26,27,17,28,\n 29,30,16,16,31,16,16,16,16,16,16,16,32,33,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,34,35,16,16,16,36,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,37,16,16,16,38,\n 16,16,16,16,39,16,16,16,16,16,16,16,40,16,16,16,\n 16,16,16,16,16,16,16,16,41,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,42,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,43,44,45,46,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,47,16,16,16,16,16,16,\n 16,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 0,0,0,0,0,0,0,0,254,255,255,7,254,255,255,7,0,0,0,0,0,4,32,4,\n 255,255,127,255,255,255,127,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,247,240,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,239,255,255,255,255,1,3,0,0,0,31,0,0,0,\n 0,0,0,0,0,0,0,0,32,0,0,0,0,0,207,188,64,215,255,255,251,255,255,255,\n 255,255,255,255,255,255,191,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 3,252,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,255,\n 255,255,127,0,255,255,255,255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,\n 191,32,255,255,255,255,255,231,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,255,255,255,255,255,255,255,255,255,255,63,63,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,255,1,255,255,255,255,255,231,0,0,0,0,0,0,0,0,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 0,0,0,0,0,0,0,0,255,255,63,63,255,255,255,255,63,63,255,170,255,255,255,63,\n 255,255,255,255,255,255,223,95,220,31,207,15,255,31,220,31,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,2,128,0,0,255,31,0,0,0,0,0,0,0,0,0,0,0,0,\n 132,252,47,62,80,189,31,242,224,67,0,0,255,255,255,255,24,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,192,255,255,255,255,255,255,3,0,0,255,255,255,255,255,127,255,255,\n 255,255,255,127,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,120,12,0,\n 255,255,255,255,191,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,63,0,0,\n 255,255,255,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,255,255,255,\n 255,255,255,255,255,255,255,255,255,120,255,255,255,255,255,255,252,7,0,0,0,0,96,7,\n 0,0,0,0,0,0,255,255,255,255,255,247,255,1,255,255,255,255,255,255,255,255,255,255,\n 0,0,0,0,0,0,0,0,127,0,248,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,255,255,7,\n 254,255,255,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,\n 255,255,15,255,255,255,255,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 255,255,255,255,255,255,7,0,255,255,255,255,255,255,7,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,\n 0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,223,255,255,255,255,255,\n 255,255,255,223,100,222,255,235,239,255,255,255,255,255,255,255,191,231,223,223,255,255,255,123,\n 95,252,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,255,255,255,\n 253,255,255,247,255,255,255,247,255,255,223,255,255,255,223,255,255,127,255,255,255,127,255,255,\n 255,253,255,255,255,253,255,255,247,15,0,0,0,0,0,0,255,255,255,255,255,255,255,255,\n 15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,255,255,255,3,255,255,255,3,255,255,255,3,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0\n]);\n\n// size: 2976 bytes (compressed to ~2050 bytes after binaryen)\n// @ts-ignore: decorator\n@lazy @inline const CASE_IGNORABLES = memory.data([\n 18,16,19,20,21,22,23,24,25,26,27,28,29,30,31,32,\n 33,16,16,34,16,16,16,35,36,37,38,39,40,41,16,42,\n 43,16,16,16,16,16,16,16,16,16,16,16,44,45,46,16,\n 47,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 48,16,16,16,49,16,50,51,52,53,54,55,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,56,16,16,57,58,\n 16,59,60,61,16,16,16,16,16,16,62,16,16,63,64,65,\n 66,67,68,69,70,71,72,73,74,75,76,16,77,78,79,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,80,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,81,82,16,16,16,83,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,84,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,85,86,16,16,16,16,16,16,16,87,16,16,16,16,16,\n 88,89,90,16,16,16,16,16,91,92,16,16,16,16,16,16,\n 16,16,16,93,16,16,16,16,16,16,16,16,16,16,16,16,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 0,0,0,0,128,64,0,4,0,0,0,64,1,0,0,0,0,0,0,0,0,161,144,1,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,48,4,176,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,3,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,130,0,0,0,0,\n 0,0,254,255,255,255,255,191,182,0,0,0,0,0,16,0,63,0,255,23,0,0,0,0,\n 1,248,255,255,0,0,1,0,0,0,0,0,0,0,0,0,0,0,192,191,255,61,0,0,\n 0,128,2,0,0,0,255,255,255,7,0,0,0,0,0,0,0,0,0,0,192,255,1,0,\n 0,0,0,0,0,248,63,36,0,0,192,255,255,63,0,0,0,0,0,14,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,248,255,255,255,255,255,7,0,0,0,0,0,0,20,\n 254,33,254,0,12,0,2,0,2,0,0,0,0,0,0,16,30,32,0,0,12,0,0,64,\n 6,0,0,0,0,0,0,16,134,57,2,0,0,0,35,0,6,0,0,0,0,0,0,16,\n 190,33,0,0,12,0,0,252,2,0,0,0,0,0,0,144,30,32,96,0,12,0,0,0,\n 4,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,17,0,0,0,0,0,0,192,\n 193,61,96,0,12,0,0,0,2,0,0,0,0,0,0,144,64,48,0,0,12,0,0,0,\n 3,0,0,0,0,0,0,24,30,32,0,0,12,0,0,0,2,0,0,0,0,0,0,0,\n 0,4,92,0,0,0,0,0,0,0,0,0,0,0,242,7,192,127,0,0,0,0,0,0,\n 0,0,0,0,0,0,242,31,64,63,0,0,0,0,0,0,0,0,0,3,0,0,160,2,\n 0,0,0,0,0,0,254,127,223,224,255,254,255,255,255,31,64,0,0,0,0,0,0,0,\n 0,0,0,0,0,224,253,102,0,0,0,195,1,0,30,0,100,32,0,32,0,0,0,0,\n 0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,224,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,0,0,0,28,0,\n 0,0,12,0,0,0,12,0,0,0,0,0,0,0,176,63,64,254,143,32,0,0,0,0,\n 0,120,0,0,0,0,0,0,8,0,0,0,0,0,0,0,96,0,0,0,0,2,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,135,1,4,14,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,9,0,0,0,0,\n 0,0,64,127,229,31,248,159,0,0,0,0,128,0,255,255,1,0,0,0,0,0,0,0,\n 15,0,0,0,0,0,208,23,4,0,0,0,0,248,15,0,3,0,0,0,60,59,0,0,\n 0,0,0,0,64,163,3,0,0,0,0,0,0,240,207,0,0,0,0,0,0,0,0,63,\n 0,0,0,0,0,0,0,0,0,0,247,255,253,33,16,3,0,0,0,0,0,240,255,255,\n 255,255,255,255,255,7,0,1,0,0,0,248,255,255,255,255,255,255,255,255,255,255,255,251,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,\n 3,224,0,224,0,224,0,96,0,248,0,3,144,124,0,0,0,0,0,0,223,255,2,128,\n 0,0,255,31,0,0,0,0,0,0,255,255,255,255,1,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,0,0,0,0,0,0,128,3,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,128,0,128,0,0,0,0,0,0,0,0,\n 0,0,0,0,255,255,255,255,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,60,62,8,\n 0,0,0,0,0,0,0,0,0,0,0,126,0,0,0,0,0,0,0,0,0,0,0,112,\n 0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,0,16,0,0,0,0,0,0,\n 0,0,0,0,0,128,247,191,0,0,0,240,0,0,0,0,0,0,0,0,0,0,3,0,\n 255,255,255,255,3,0,0,0,0,0,0,0,0,0,1,0,0,7,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,3,68,8,0,0,96,16,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,48,0,0,0,255,255,3,128,0,0,0,0,192,63,0,0,\n 128,255,3,0,0,0,0,0,7,0,0,0,0,0,200,51,0,128,0,0,96,0,0,0,\n 0,0,0,0,0,126,102,0,8,16,0,0,0,0,1,16,0,0,0,0,0,0,157,193,\n 2,0,0,32,0,48,88,0,0,0,0,0,0,0,0,0,0,0,0,248,0,14,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,32,33,0,0,0,0,0,64,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,255,3,0,0,0,0,0,0,0,\n 255,255,8,0,255,255,0,0,0,0,36,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,128,128,64,0,4,0,0,0,64,1,0,0,0,0,0,1,0,\n 0,0,0,192,0,0,0,0,0,0,0,0,8,0,0,14,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,7,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,110,240,0,0,0,0,0,135,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,0,0,0,\n 0,0,0,0,240,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 192,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 2,0,0,0,0,0,0,255,127,0,0,0,0,0,0,128,3,0,0,0,0,0,120,38,\n 0,32,0,0,0,0,0,0,7,0,0,0,128,239,31,0,0,0,0,0,0,0,8,0,\n 3,0,0,0,0,0,192,127,0,158,0,0,0,0,0,0,0,0,0,0,0,128,211,64,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,248,7,0,0,\n 3,0,0,0,0,0,0,24,1,0,0,0,192,31,31,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,92,0,0,64,0,0,0,0,\n 0,0,0,0,0,0,248,133,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,176,1,0,0,48,0,0,0,0,\n 0,0,0,0,0,0,248,167,1,0,0,0,0,0,0,0,0,0,0,0,0,40,191,0,\n 0,0,0,0,0,0,0,0,0,0,0,224,188,15,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,255,6,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,88,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,240,12,1,0,0,0,254,7,0,0,0,0,248,121,128,0,126,14,0,0,0,0,\n 0,252,127,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,127,191,\n 0,0,0,0,0,0,0,0,0,0,252,255,255,252,109,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,126,180,191,0,0,0,0,0,0,0,0,0,163,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,255,1,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,31,0,0,0,0,0,0,0,127,0,15,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,128,0,0,0,0,0,0,0,128,255,255,0,0,0,0,0,0,0,0,27,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,15,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,3,248,255,\n 231,15,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 255,255,255,255,255,255,127,248,255,255,255,255,255,31,32,0,16,0,0,248,254,255,0,0,\n 0,0,0,0,0,0,0,0,127,255,255,249,219,7,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,63,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,240,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,127,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 240,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,248\n]);\n\n// @ts-ignore: decorator\n@lazy @inline const LOWER127 = memory.data([\n 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,\n 16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,\n 32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,\n 48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,\n 64,\n 97,98,99,100,101,102,103,104,105,106,107,108,109,\n 110,111,112,113,114,115,116,117,118,119,120,121,122,\n 91,92,93,94,95,96,\n 97,98,99,100,101,102,103,104,105,106,107,108,109,\n 110,111,112,113,114,115,116,117,118,119,120,121,122,\n 123,124,125,126,127\n]);\n\n// @ts-ignore: decorator\n@lazy @inline const UPPER127 = memory.data([\n 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,\n 16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,\n 32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,\n 48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,\n 64,\n 65,66,67,68,69,70,71,72,73,74,75,76,77,\n 78,79,80,81,82,83,84,85,86,87,88,89,90,\n 91,92,93,94,95,96,\n 65,66,67,68,69,70,71,72,73,74,75,76,77,\n 78,79,80,81,82,83,84,85,86,87,88,89,90,\n 123,124,125,126,127\n]);\n\n// 23 * 8 = 184 bytes\n// @ts-ignore: decorator\n@lazy @inline const POWERS10 = memory.data([\n 1e00, 1e01, 1e02, 1e03, 1e04, 1e05, 1e06, 1e07, 1e08, 1e09,\n 1e10, 1e11, 1e12, 1e13, 1e14, 1e15, 1e16, 1e17, 1e18, 1e19,\n 1e20, 1e21, 1e22\n]);\n\n// @ts-ignore: decorator\n@inline\nexport const enum CharCode {\n PERCENT = 0x25,\n PLUS = 0x2B,\n MINUS = 0x2D,\n DOT = 0x2E,\n _0 = 0x30,\n _1 = 0x31,\n _2 = 0x32,\n _3 = 0x33,\n _4 = 0x34,\n _5 = 0x35,\n _6 = 0x36,\n _7 = 0x37,\n _8 = 0x38,\n _9 = 0x39,\n A = 0x41,\n B = 0x42,\n E = 0x45,\n I = 0x49,\n N = 0x4E,\n O = 0x4F,\n X = 0x58,\n Z = 0x5A,\n a = 0x61,\n b = 0x62,\n e = 0x65,\n n = 0x6E,\n o = 0x6F,\n u = 0x75,\n x = 0x78,\n z = 0x7A\n}\n\n// @ts-ignore: decorator\n@inline\nexport function isAscii(c: u32): bool {\n return !(c >> 7);\n}\n\n// @ts-ignore: decorator\n@inline\nexport function isLower8(c: u32): bool {\n return c - CharCode.a < 26;\n}\n\n// @ts-ignore: decorator\n@inline\nexport function isUpper8(c: u32): bool {\n return c - CharCode.A < 26;\n}\n\nexport function isSpace(c: u32): bool {\n if (c < 0x1680) { // < (1)\n // , , , , , and \n // (c == 0x20 || c == 0xA0) was optimized to (c | 0x80) == 0xA0\n return ((c | 0x80) == 0xA0) || (c - 0x09 <= 0x0D - 0x09);\n }\n if (c - 0x2000 <= 0x200A - 0x2000) return true;\n switch (c) {\n case 0x1680: // (1)\n case 0x2028: // (2)\n case 0x2029: // \n case 0x202F: // \n case 0x205F: // \n case 0x3000: // \n case 0xFEFF: return true; // \n }\n return false;\n}\n\nexport function isAlpha(c: u32): bool {\n if (isAscii(c)) return (c | 32) - CharCode.a < 26;\n if (c < 0x20000) {\n // @ts-ignore: cast\n return stagedBinaryLookup(ALPHA_TABLE, c);\n }\n return c < 0x2FFFE;\n}\n\n// @ts-ignore: decorator\n@inline\nexport function isCased(c: u32): bool {\n // @ts-ignore: cast\n return c < 0x1F18A && stagedBinaryLookup(CASED, c);\n}\n\n// @ts-ignore: decorator\n@inline\nexport function isCaseIgnorable(c: u32): bool {\n // @ts-ignore: cast\n return c < 0xE01F0 && stagedBinaryLookup(CASE_IGNORABLES, c);\n}\n\n// @ts-ignore: decorator\n@inline\nexport function isFinalSigma(buffer: usize, index: isize, len: isize): bool {\n const lookaheadLimit = 30; // max lookahead limit\n let found = false;\n let pos = index;\n let minPos = max(0, pos - lookaheadLimit);\n while (pos > minPos) {\n let c = codePointBefore(buffer, pos);\n if (!isCaseIgnorable(c)) {\n if (isCased(c)) {\n found = true;\n } else {\n return false;\n }\n }\n pos -= isize(c >= 0x10000) + 1;\n }\n if (!found) return false;\n pos = index + 1;\n let maxPos = min(pos + lookaheadLimit, len);\n while (pos < maxPos) {\n let c = load(buffer + (pos << 1));\n if (u32((c & 0xFC00) == 0xD800) & u32(pos + 1 != len)) {\n let c1 = load(buffer + (pos << 1), 2);\n if ((c1 & 0xFC00) == 0xDC00) {\n c = (c - 0xD800 << 10) + (c1 - 0xDC00) + 0x10000;\n }\n }\n if (!isCaseIgnorable(c)) {\n return !isCased(c);\n }\n pos += isize(c >= 0x10000) + 1;\n }\n return true;\n}\n\n// @ts-ignore: decorator\n@inline\nfunction codePointBefore(buffer: usize, index: isize): i32 {\n if (index <= 0) return -1;\n let c = load(buffer + (index - 1 << 1));\n if (u32((c & 0xFC00) == 0xDC00) & u32(index - 2 >= 0)) {\n let c1 = load(buffer + (index - 2 << 1));\n if ((c1 & 0xFC00) == 0xD800) {\n return ((c1 & 0x3FF) << 10) + (c & 0x3FF) + 0x10000;\n }\n }\n return (c & 0xF800) == 0xD800 ? 0xFFFD : c;\n}\n\n// Search routine for two-staged lookup tables\nfunction stagedBinaryLookup(table: usize, c: u32): bool {\n return ((load(table + (load(table + (c >>> 8)) << 5) + ((c & 255) >> 3)) >>> (c & 7)) & 1);\n}\n\nexport function compareImpl(str1: string, index1: usize, str2: string, index2: usize, len: usize): i32 {\n let ptr1 = changetype(str1) + (index1 << 1);\n let ptr2 = changetype(str2) + (index2 << 1);\n if (ASC_SHRINK_LEVEL < 2) {\n if (len >= 4 && !((ptr1 & 7) | (ptr2 & 7))) {\n do {\n if (load(ptr1) != load(ptr2)) break;\n ptr1 += 8;\n ptr2 += 8;\n len -= 4;\n } while (len >= 4);\n }\n }\n while (len--) {\n let a = load(ptr1);\n let b = load(ptr2);\n if (a != b) return a - b;\n ptr1 += 2;\n ptr2 += 2;\n }\n return 0;\n}\n\n// @ts-ignore: decorator\n@inline\nexport function toLower8(c: u32): u32 {\n if (ASC_SHRINK_LEVEL > 0) {\n return c | u32(isUpper8(c)) << 5;\n } else {\n return load(LOWER127 + c);\n }\n}\n\n// @ts-ignore: decorator\n@inline\nexport function toUpper8(c: u32): u32 {\n if (ASC_SHRINK_LEVEL > 0) {\n return c & ~(u32(isLower8(c)) << 5);\n } else {\n return load(UPPER127 + c);\n }\n}\n\n/** Parses a string to an integer (usually), using the specified radix. */\nexport function strtol(str: string, radix: i32 = 0): T {\n let len = str.length;\n if (!len) {\n if (isFloat()) {\n // @ts-ignore: cast\n return NaN;\n } else {\n // @ts-ignore: cast\n return 0;\n }\n }\n\n let ptr = changetype(str) /* + HEAD -> offset */;\n let code = load(ptr);\n\n // trim white spaces\n while (isSpace(code)) {\n code = load(ptr += 2);\n --len;\n }\n // determine sign\n // @ts-ignore\n let sign: T = 1;\n if (code == CharCode.MINUS || code == CharCode.PLUS) {\n if (!--len) {\n if (isFloat()) {\n // @ts-ignore: cast\n return NaN;\n } else {\n // @ts-ignore: cast\n return 0;\n }\n }\n if (code == CharCode.MINUS) {\n // @ts-ignore: type\n sign = -1;\n }\n code = load(ptr += 2);\n }\n\n // See https://tc39.es/ecma262/#sec-parseint-string-radix\n if (radix) {\n if (radix < 2 || radix > 36) {\n if (isFloat()) {\n // @ts-ignore: cast\n return NaN;\n } else {\n // @ts-ignore: cast\n return 0;\n }\n }\n // handle case as parseInt(\"0xFF\", 16) by spec\n if (radix == 16) {\n if (\n len > 2 &&\n code == CharCode._0 &&\n (load(ptr, 2) | 32) == CharCode.x\n ) {\n ptr += 4; len -= 2;\n }\n }\n } else {\n // determine radix by literal prefix\n if (code == CharCode._0 && len > 2) {\n switch (load(ptr, 2) | 32) {\n case CharCode.b: {\n ptr += 4; len -= 2;\n radix = 2;\n break;\n }\n case CharCode.o: {\n ptr += 4; len -= 2;\n radix = 8;\n break;\n }\n case CharCode.x: {\n ptr += 4; len -= 2;\n radix = 16;\n break;\n }\n }\n }\n if (!radix) radix = 10;\n }\n\n // calculate value\n // @ts-ignore: type\n let num: T = 0;\n let initial = len - 1;\n while (len--) {\n code = load(ptr);\n if (code - CharCode._0 < 10) {\n code -= CharCode._0;\n } else if (code - CharCode.A <= (CharCode.Z - CharCode.A)) {\n code -= CharCode.A - 10;\n } else if (code - CharCode.a <= (CharCode.z - CharCode.a)) {\n code -= CharCode.a - 10;\n }\n if (code >= radix) {\n if (initial == len) {\n if (isFloat()) {\n // @ts-ignore: cast\n return NaN;\n } else {\n // @ts-ignore: cast\n return 0;\n }\n }\n break;\n }\n // @ts-ignore: type\n num = num * radix + code;\n ptr += 2;\n }\n // @ts-ignore: type\n return sign * num;\n}\n\nexport function strtod(str: string): f64 {\n let len = str.length;\n if (!len) return NaN;\n\n let ptr = changetype(str);\n let code = load(ptr);\n\n let sign = 1.0;\n // skip white spaces\n while (len && isSpace(code)) {\n code = load(ptr += 2);\n --len;\n }\n if (!len) return NaN;\n\n // try parse '-' or '+'\n if (code == CharCode.MINUS) {\n if (!--len) return NaN;\n code = load(ptr += 2);\n sign = -1;\n } else if (code == CharCode.PLUS) {\n if (!--len) return NaN;\n code = load(ptr += 2);\n }\n\n // try parse Infinity\n if (len >= 8 && code == CharCode.I) {\n if (\n load(ptr, 0) == 0x690066006E0049 && // ifnI\n load(ptr, 8) == 0x7900740069006E // ytin\n ) {\n return Infinity * sign;\n }\n return NaN;\n }\n // validate next symbol\n if (code != CharCode.DOT && (code - CharCode._0) >= 10) {\n return NaN;\n }\n let savedPtr = ptr;\n // skip zeros\n while (code == CharCode._0) {\n code = load(ptr += 2);\n --len;\n }\n if (len <= 0) return 0.0 * sign;\n const capacity = 19; // int(64 * 0.3010)\n let pointed = false;\n let consumed = 0;\n let position = 0;\n let x: u64 = 0;\n if (code == CharCode.DOT) {\n let noDigits = !(savedPtr - ptr);\n ptr += 2; --len;\n if (!len && noDigits) return NaN;\n for (pointed = true; (code = load(ptr)) == CharCode._0; --position, ptr += 2) --len;\n if (len <= 0) return 0.0 * sign;\n if (!position && noDigits && code - CharCode._0 >= 10) return NaN;\n }\n for (let digit = code - CharCode._0; digit < 10 || (code == CharCode.DOT && !pointed); digit = code - CharCode._0) {\n if (digit < 10) {\n x = consumed < capacity ? 10 * x + digit : x | u64(!!digit);\n ++consumed;\n } else {\n position = consumed;\n pointed = true;\n }\n if (!--len) break;\n code = load(ptr += 2);\n }\n\n if (!pointed) position = consumed;\n return copysign(scientific(x, position - min(capacity, consumed) + parseExp(ptr, len)), sign);\n}\n\nexport function strtob(str: string): bool {\n let size: usize = str.length << 1;\n let offset: usize = 0;\n if (size > 8) {\n // try trim end whitespaces first\n while (size && isSpace(load(changetype(str) + size - 2))) size -= 2;\n if (size > 8) {\n // trim start whitespaces\n while (offset < size && isSpace(load(changetype(str) + offset))) offset += 2;\n size -= offset;\n }\n }\n if (size != 8) return false;\n // \"true\" represents as \\00\\e\\00\\u\\00\\e\\00\\t (00 65 00 75 00 72 00 74)\n return load(changetype(str) + offset) == 0x0065_0075_0072_0074;\n}\n\nexport function joinBooleanArray(dataStart: usize, length: i32, separator: string): string {\n let lastIndex = length - 1;\n if (lastIndex < 0) return \"\";\n if (!lastIndex) return select(\"true\", \"false\", load(dataStart));\n\n let sepLen = separator.length;\n let valueLen = 5; // max possible length of element len(\"false\")\n let estLen = (valueLen + sepLen) * lastIndex + valueLen;\n let result = changetype(__new(estLen << 1, idof()));\n let offset = 0;\n let value: bool;\n for (let i = 0; i < lastIndex; ++i) {\n value = load(dataStart + i);\n valueLen = 4 + i32(!value);\n memory.copy(\n changetype(result) + (offset << 1),\n changetype(select(\"true\", \"false\", value)),\n valueLen << 1\n );\n offset += valueLen;\n if (sepLen) {\n memory.copy(\n changetype(result) + (offset << 1),\n changetype(separator),\n sepLen << 1\n );\n offset += sepLen;\n }\n }\n value = load(dataStart + lastIndex);\n valueLen = 4 + i32(!value);\n memory.copy(\n changetype(result) + (offset << 1),\n changetype(select(\"true\", \"false\", value)),\n valueLen << 1\n );\n offset += valueLen;\n\n if (estLen > offset) return result.substring(0, offset);\n return result;\n}\n\nexport function joinIntegerArray(dataStart: usize, length: i32, separator: string): string {\n let lastIndex = length - 1;\n if (lastIndex < 0) return \"\";\n if (!lastIndex) {\n let value = load(dataStart);\n if (isSigned()) {\n if (sizeof() <= 4) {\n // @ts-ignore: type\n return changetype(itoa32(value, 10));\n } else {\n // @ts-ignore: type\n return changetype(itoa64(value, 10));\n }\n } else {\n if (sizeof() <= 4) {\n // @ts-ignore: type\n return changetype(utoa32(value, 10));\n } else {\n // @ts-ignore: type\n return changetype(utoa64(value, 10));\n }\n }\n }\n\n let sepLen = separator.length;\n const valueLen = (sizeof() <= 4 ? 10 : 20) + i32(isSigned());\n let estLen = (valueLen + sepLen) * lastIndex + valueLen;\n let result = changetype(__new(estLen << 1, idof()));\n let offset = 0;\n let value: T;\n for (let i = 0; i < lastIndex; ++i) {\n value = load(dataStart + (i << alignof()));\n // @ts-ignore: type\n offset += itoa_buffered(changetype(result) + (offset << 1), value);\n if (sepLen) {\n memory.copy(\n changetype(result) + (offset << 1),\n changetype(separator),\n sepLen << 1\n );\n offset += sepLen;\n }\n }\n value = load(dataStart + (lastIndex << alignof()));\n // @ts-ignore: type\n offset += itoa_buffered(changetype(result) + (offset << 1), value);\n if (estLen > offset) return result.substring(0, offset);\n return result;\n}\n\nexport function joinFloatArray(dataStart: usize, length: i32, separator: string): string {\n let lastIndex = length - 1;\n if (lastIndex < 0) return \"\";\n if (!lastIndex) {\n return changetype(dtoa(\n // @ts-ignore: type\n load(dataStart))\n );\n }\n\n const valueLen = MAX_DOUBLE_LENGTH;\n let sepLen = separator.length;\n let estLen = (valueLen + sepLen) * lastIndex + valueLen;\n let result = changetype(__new(estLen << 1, idof()));\n let offset = 0;\n let value: T;\n for (let i = 0; i < lastIndex; ++i) {\n value = load(dataStart + (i << alignof()));\n // @ts-ignore: type\n offset += dtoa_buffered(changetype(result) + (offset << 1), value);\n if (sepLen) {\n memory.copy(\n changetype(result) + (offset << 1),\n changetype(separator),\n sepLen << 1\n );\n offset += sepLen;\n }\n }\n value = load(dataStart + (lastIndex << alignof()));\n // @ts-ignore: type\n offset += dtoa_buffered(changetype(result) + (offset << 1), value);\n if (estLen > offset) return result.substring(0, offset);\n return result;\n}\n\nexport function joinStringArray(dataStart: usize, length: i32, separator: string): string {\n let lastIndex = length - 1;\n if (lastIndex < 0) return \"\";\n if (!lastIndex) {\n // @ts-ignore: type\n return load(dataStart) || \"\";\n }\n let estLen = 0;\n let value: string;\n for (let i = 0; i < length; ++i) {\n value = load(dataStart + (i << alignof()));\n if (changetype(value) != 0) estLen += value.length;\n }\n let offset = 0;\n let sepLen = separator.length;\n let result = changetype(__new((estLen + sepLen * lastIndex) << 1, idof()));\n for (let i = 0; i < lastIndex; ++i) {\n value = load(dataStart + (i << alignof()));\n if (changetype(value) != 0) {\n let valueLen = value.length;\n memory.copy(\n changetype(result) + (offset << 1),\n changetype(value),\n valueLen << 1\n );\n offset += valueLen;\n }\n if (sepLen) {\n memory.copy(\n changetype(result) + (offset << 1),\n changetype(separator),\n sepLen << 1\n );\n offset += sepLen;\n }\n }\n value = load(dataStart + (lastIndex << alignof()));\n if (changetype(value) != 0) {\n memory.copy(\n changetype(result) + (offset << 1),\n changetype(value),\n value.length << 1\n );\n }\n return result;\n}\n\nexport function joinReferenceArray(dataStart: usize, length: i32, separator: string): string {\n let lastIndex = length - 1;\n if (lastIndex < 0) return \"\";\n let value: T;\n if (!lastIndex) {\n value = load(dataStart);\n // @ts-ignore: type\n return value != null ? value.toString() : \"\";\n }\n let result = \"\";\n let sepLen = separator.length;\n for (let i = 0; i < lastIndex; ++i) {\n value = load(dataStart + (i << alignof()));\n // @ts-ignore: type\n if (value != null) result += value.toString();\n if (sepLen) result += separator;\n }\n value = load(dataStart + (lastIndex << alignof()));\n // @ts-ignore: type\n if (value != null) result += value.toString();\n return result;\n}\n\n// @ts-ignore: decorator\n@inline\nfunction scientific(significand: u64, exp: i32): f64 {\n if (!significand || exp < -342) return 0;\n if (exp > 308) return Infinity;\n // Try use fast path\n // Use fast path for string-to-double conversion if possible\n // see http://www.exploringbinary.com/fast-path-decimal-to-floating-point-conversion\n // Simple integer\n let significandf = significand;\n if (!exp) return significandf;\n if (exp > 22 && exp <= 22 + 15) {\n significandf *= pow10(exp - 22);\n exp = 22;\n }\n if (significand <= 9007199254740991 && abs(exp) <= 22) {\n if (exp > 0) return significandf * pow10(exp);\n return significandf / pow10(-exp);\n } else if (exp < 0) {\n return scaledown(significand, exp);\n } else {\n return scaleup(significand, exp);\n }\n}\n\n// Adopted from metallic lib:\n// https://github.com/jdh8/metallic/blob/master/src/stdlib/parse/scientific.h\n// @ts-ignore: decorator\n@inline\nfunction scaledown(significand: u64, exp: i32): f64 {\n const denom: u64 = 6103515625; // 1e14 * 0x1p-14\n const scale = reinterpret(0x3F06849B86A12B9B); // 1e-14 * 0x1p32\n\n let shift = clz(significand);\n significand <<= shift;\n shift = exp - shift;\n\n for (; exp <= -14; exp += 14) {\n let q = significand / denom;\n let r = significand % denom;\n let s = clz(q);\n significand = (q << s) + nearest(scale * (r << (s - 18)));\n shift -= s;\n }\n let b = ipow32(5, -exp);\n let q = significand / b;\n let r = significand % b;\n let s = clz(q);\n significand = (q << s) + (reinterpret(reinterpret(r) + (s << 52)) / b);\n shift -= s;\n\n return NativeMath.scalbn(significand, shift);\n}\n\n// Adopted from metallic lib:\n// https://github.com/jdh8/metallic/blob/master/src/stdlib/parse/scientific.h\n// @ts-ignore: decorator\n@inline\nfunction scaleup(significand: u64, exp: i32): f64 {\n const coeff: u32 = 1220703125; // 1e13 * 0x1p-13;\n let shift = ctz(significand);\n significand >>= shift;\n shift += exp;\n\n __fixmulShift = shift;\n for (; exp >= 13; exp -= 13) {\n significand = fixmul(significand, coeff);\n }\n significand = fixmul(significand, ipow32(5, exp));\n shift = __fixmulShift;\n return NativeMath.scalbn(significand, shift);\n}\n\n// Adopted from metallic lib:\n// https://github.com/jdh8/metallic/blob/master/src/stdlib/parse/scientific.h\n// @ts-ignore: decorator\n@inline\nfunction parseExp(ptr: usize, len: i32): i32 {\n let sign = 1, magnitude = 0;\n let code = load(ptr);\n // check code is 'e' or 'E'\n if ((code | 32) != CharCode.e) return 0;\n\n if (!--len) return 0;\n code = load(ptr += 2);\n if (code == CharCode.MINUS) {\n if (!--len) return 0;\n code = load(ptr += 2);\n sign = -1;\n } else if (code == CharCode.PLUS) {\n if (!--len) return 0;\n code = load(ptr += 2);\n }\n // skip zeros\n while (code == CharCode._0) {\n if (!--len) return 0;\n code = load(ptr += 2);\n }\n for (let digit: u32 = code - CharCode._0; len && digit < 10; digit = code - CharCode._0) {\n if (magnitude >= 3200) return sign * 3200;\n magnitude = 10 * magnitude + digit;\n code = load(ptr += 2);\n --len;\n }\n return sign * magnitude;\n}\n\n// @ts-ignore: decorator\n@lazy let __fixmulShift: u64 = 0;\n\n// Adopted from metallic lib:\n// https://github.com/jdh8/metallic/blob/master/src/stdlib/parse/scientific.h\n// @ts-ignore: decorator\n@inline\nfunction fixmul(a: u64, b: u32): u64 {\n let low = (a & 0xFFFFFFFF) * b;\n let high = (a >> 32) * b + (low >> 32);\n let overflow = (high >> 32);\n let space = clz(overflow);\n let revspace: u64 = 32 - space;\n __fixmulShift += revspace;\n return (high << space | (low & 0xFFFFFFFF) >> revspace) + (low << space >> 31 & 1);\n}\n\n// @ts-ignore: decorator\n@inline\nfunction pow10(n: i32): f64 {\n // argument `n` should bounds in [0, 22] range\n return load(POWERS10 + (n << alignof()));\n}\n","// This file is shared with the compiler and must remain portable\n\n/** Runtime types. */\nexport enum Runtime {\n /** Simple bump allocator without GC. */\n Stub = 0,\n /** Stop the world semi-automatic GC. */\n Minimal = 1,\n /** incremental GC. */\n Incremental = 2,\n}\n","import { compareImpl } from \"./string\";\n\ntype Comparator = (a: T, b: T) => i32;\n\n// @ts-ignore: decorator\n@lazy @inline const EMPTY = u32.MAX_VALUE;\n// @ts-ignore: decorator\n@inline const INSERTION_SORT_THRESHOLD = 48;\n// @ts-ignore: decorator\n@inline const MIN_RUN_LENGTH = 32;\n\n// @ts-ignore: decorator\n@inline\nfunction log2u(n: u32): u32 {\n return 31 - clz(n);\n}\n\n// @ts-ignore: decorator\n@inline\nexport function COMPARATOR(): Comparator {\n if (isInteger()) {\n if (isSigned() && sizeof() <= 4) {\n return (a, b) => i32(a) - i32(b);\n } else {\n return (a, b) => i32(a > b) - i32(a < b);\n }\n } else if (isFloat()) {\n if (sizeof() == 4) {\n return (a, b) => {\n let ia = reinterpret(f32(a));\n let ib = reinterpret(f32(b));\n ia ^= ia >> 31 >>> 1;\n ib ^= ib >> 31 >>> 1;\n return i32(ia > ib) - i32(ia < ib);\n };\n } else {\n return (a, b) => {\n let ia = reinterpret(f64(a));\n let ib = reinterpret(f64(b));\n ia ^= ia >> 63 >>> 1;\n ib ^= ib >> 63 >>> 1;\n return i32(ia > ib) - i32(ia < ib);\n };\n }\n } else if (isString()) {\n return (a, b) => {\n if (\n changetype(a) == changetype(b) ||\n changetype(a) == 0 ||\n changetype(b) == 0\n ) return 0;\n let alen = changetype(a).length;\n let blen = changetype(b).length;\n if (!(alen | blen)) return 0;\n if (!alen) return -1;\n if (!blen) return 1;\n let res = compareImpl(\n changetype(a), 0,\n changetype(b), 0,\n min(alen, blen)\n );\n return res ? res : alen - blen;\n };\n } else {\n return (a, b) => i32(a > b) - i32(a < b);\n }\n}\n\n// Power Sort implementation (stable) from paper \"Nearly-Optimal Mergesorts\"\n// https://arxiv.org/pdf/1805.04154.pdf\n// This method usually outperform TimSort.\n// TODO: refactor c >>> 31 to c < 0 when binaryen will support this opt\nexport function SORT(\n ptr: usize,\n len: i32,\n comparator: Comparator\n): void {\n if (len <= INSERTION_SORT_THRESHOLD) {\n if (len <= 1) return;\n if (ASC_SHRINK_LEVEL < 1) {\n switch (len) {\n case 3: {\n let a = load(ptr, 0);\n let b = load(ptr, 1 << alignof());\n let c = comparator(a, b) > 0;\n store(ptr, select(b, a, c), 0);\n a = select(a, b, c);\n b = load(ptr, 2 << alignof());\n c = comparator(a, b) > 0;\n store(ptr, select(b, a, c), 1 << alignof());\n store(ptr, select(a, b, c), 2 << alignof());\n }\n case 2: {\n let a = load(ptr, 0);\n let b = load(ptr, 1 << alignof());\n let c = comparator(a, b) > 0;\n store(ptr, select(b, a, c), 0);\n store(ptr, select(a, b, c), 1 << alignof());\n return;\n }\n }\n }\n insertionSort(ptr, 0, len - 1, 0, comparator);\n return;\n }\n\n let lgPlus2 = log2u(len) + 2;\n let lgPlus2Size = lgPlus2 << alignof();\n let leftRunStartBuf = __alloc(lgPlus2Size << 1);\n let leftRunEndBuf = leftRunStartBuf + lgPlus2Size;\n\n for (let i: u32 = 0; i < lgPlus2; ++i) {\n store(leftRunStartBuf + (i << alignof()), EMPTY);\n }\n\n let buffer = __alloc(len << alignof());\n\n let hi = len - 1;\n let endA = extendRunRight(ptr, 0, hi, comparator);\n let lenA = endA + 1;\n\n if (lenA < MIN_RUN_LENGTH) {\n endA = min(hi, MIN_RUN_LENGTH - 1);\n insertionSort(ptr, 0, endA, lenA, comparator);\n }\n\n let top: u32 = 0, startA = 0;\n while (endA < hi) {\n let startB = endA + 1;\n let endB = extendRunRight(ptr, startB, hi, comparator);\n let lenB = endB - startB + 1;\n\n if (lenB < MIN_RUN_LENGTH) {\n endB = min(hi, startB + MIN_RUN_LENGTH - 1);\n insertionSort(ptr, startB, endB, lenB, comparator);\n }\n\n let k = nodePower(0, hi, startA, startB, endB);\n\n for (let i = top; i > k; --i) {\n let start = load(leftRunStartBuf + (i << alignof()));\n if (start != EMPTY) {\n mergeRuns(\n ptr,\n start,\n load(leftRunEndBuf + (i << alignof())) + 1,\n endA,\n buffer,\n comparator\n );\n startA = start;\n store(leftRunStartBuf + (i << alignof()), EMPTY);\n }\n }\n\n store(leftRunStartBuf + (k << alignof()), startA);\n store(leftRunEndBuf + (k << alignof()), endA);\n startA = startB;\n endA = endB;\n top = k;\n }\n\n for (let i = top; i != 0; --i) {\n let start = load(leftRunStartBuf + (i << alignof()));\n if (start != EMPTY) {\n mergeRuns(\n ptr,\n start,\n load(leftRunEndBuf + (i << alignof())) + 1,\n hi,\n buffer,\n comparator\n );\n }\n }\n // dealloc aux buffers\n __free(buffer);\n __free(leftRunStartBuf);\n}\n\nfunction insertionSort(\n ptr: usize,\n left: i32,\n right: i32,\n presorted: i32,\n comparator: Comparator\n): void {\n if (ASC_SHRINK_LEVEL >= 1) {\n // slightly improved original insertion sort\n for (let i = left + presorted; i <= right; ++i) {\n let j = i - 1;\n let a = load(ptr + (i << alignof()));\n while (j >= left) {\n let b = load(ptr + (j << alignof()));\n if (comparator(a, b) < 0) {\n store(ptr + (j << alignof()), b, 1 << alignof()); --j;\n } else break;\n }\n store(ptr + (j << alignof()), a, 1 << alignof());\n }\n } else {\n // even-odd two-way insertion sort which allow increase minRunLen\n let range = right - left + 1;\n let i = left + select(range & 1, presorted - ((range - presorted) & 1), presorted == 0);\n for (; i <= right; i += 2) {\n let a = load(ptr + (i << alignof()), 0);\n let b = load(ptr + (i << alignof()), 1 << alignof());\n let min = b, max = a;\n if (comparator(a, b) <= 0) {\n min = a, max = b;\n }\n let j = i - 1;\n while (j >= left) {\n a = load(ptr + (j << alignof()));\n if (comparator(a, max) > 0) {\n store(ptr + (j << alignof()), a, 2 << alignof()); --j;\n } else break;\n }\n store(ptr + (j << alignof()), max, 2 << alignof());\n while (j >= left) {\n a = load(ptr + (j << alignof()));\n if (comparator(a, min) > 0) {\n store(ptr + (j << alignof()), a, 1 << alignof()); --j;\n } else break;\n }\n store(ptr + (j << alignof()), min, 1 << alignof());\n }\n }\n}\n\nfunction nodePower(left: u32, right: u32, startA: u32, startB: u32, endB: u32): u32 {\n let n: u64 = right - left + 1;\n let s = startB - (left << 1);\n let l = startA + s;\n let r = endB + s + 1;\n let a = (l << 30) / n;\n let b = (r << 30) / n;\n return clz((a ^ b));\n}\n\nfunction extendRunRight(\n ptr: usize,\n i: i32,\n right: i32,\n comparator: Comparator\n): i32 {\n if (i == right) return i;\n let j = i;\n if (comparator(\n load(ptr + ( j << alignof())),\n load(ptr + (++j << alignof()))\n ) > 0) {\n while (\n j < right &&\n (comparator(\n load(ptr + (j << alignof()), 1 << alignof()),\n load(ptr + (j << alignof()))\n ) >>> 31) // < 0\n ) ++j;\n // reverse\n let k = j;\n while (i < k) {\n let tmp = load(ptr + (i << alignof()));\n store(ptr + (i << alignof()), load(ptr + (k << alignof()))); ++i;\n store(ptr + (k << alignof()), tmp); --k;\n }\n } else {\n while (\n j < right &&\n comparator(\n load(ptr + (j << alignof()), 1 << alignof()),\n load(ptr + (j << alignof()))\n ) >= 0\n ) ++j;\n }\n return j;\n}\n\n// Merges arr[l..m - 1] and arr[m..r]\nfunction mergeRuns(\n ptr: usize,\n l: i32,\n m: i32,\n r: i32,\n buffer: usize,\n comparator: Comparator\n): void {\n --m;\n let i: i32, j: i32, t = r + m;\n for (i = m + 1; i > l; --i) {\n store(\n buffer + ((i - 1) << alignof()),\n load(ptr + ((i - 1) << alignof()))\n );\n }\n for (j = m; j < r; ++j) {\n store(\n buffer + ((t - j) << alignof()),\n load(ptr + (j << alignof()), 1 << alignof())\n );\n }\n for (let k = l; k <= r; ++k) {\n let a = load(buffer + (j << alignof()));\n let b = load(buffer + (i << alignof()));\n if (comparator(a, b) < 0) {\n store(ptr + (k << alignof()), a);\n --j;\n } else {\n store(ptr + (k << alignof()), b);\n ++i;\n }\n }\n}\n","/// \n\nimport { OBJECT, BLOCK_MAXSIZE, TOTAL_OVERHEAD } from \"./rt/common\";\nimport { compareImpl, strtol, strtod, isSpace, isAscii, isFinalSigma, toLower8, toUpper8 } from \"./util/string\";\nimport { SPECIALS_UPPER, casemap, bsearch } from \"./util/casemap\";\nimport { E_INDEXOUTOFRANGE, E_INVALIDLENGTH, E_UNPAIRED_SURROGATE } from \"./util/error\";\nimport { idof } from \"./builtins\";\nimport { Array } from \"./array\";\n\n@final export abstract class String {\n\n @lazy static readonly MAX_LENGTH: i32 = (BLOCK_MAXSIZE >>> alignof());\n\n static fromCharCode(unit: i32, surr: i32 = -1): String {\n let hasSur = surr > 0;\n let out = changetype(__new(2 << i32(hasSur), idof()));\n store(changetype(out), unit);\n if (hasSur) store(changetype(out), surr, 2);\n return out;\n }\n\n static fromCharCodes(units: Array): String {\n let length = units.length;\n let out = changetype(__new(length << 1, idof()));\n let ptr = units.dataStart;\n for (let i = 0; i < length; ++i) {\n store(changetype(out) + (i << 1), load(ptr + (i << 2)));\n }\n return out;\n }\n\n static fromCodePoint(code: i32): String {\n let hasSur = code > 0xFFFF;\n let out = changetype(__new(2 << i32(hasSur), idof()));\n if (!hasSur) {\n store(changetype(out), code);\n } else {\n // Checks valid code point range\n assert(code <= 0x10FFFF);\n code -= 0x10000;\n let hi = (code & 0x03FF) | 0xDC00;\n let lo = code >>> 10 | 0xD800;\n store(changetype(out), lo | hi << 16);\n }\n return out;\n }\n\n @builtin static raw(parts: TemplateStringsArray, ...args: unknown[]): string { return unreachable(); }\n\n get length(): i32 {\n return changetype(changetype(this) - TOTAL_OVERHEAD).rtSize >> 1;\n }\n\n at(pos: i32): String {\n let len = this.length;\n pos += select(0, len, pos >= 0);\n if (pos >= len) throw new RangeError(E_INDEXOUTOFRANGE);\n let out = __new(2, idof());\n store(out, load(changetype(this) + (pos << 1)));\n return changetype(out); // retains\n }\n\n @operator(\"[]\") charAt(pos: i32): String {\n if (pos >= this.length) return changetype(\"\");\n let out = changetype(__new(2, idof()));\n store(changetype(out), load(changetype(this) + (pos << 1)));\n return out;\n }\n\n charCodeAt(pos: i32): i32 {\n if (pos >= this.length) return -1; // (NaN)\n return load(changetype(this) + (pos << 1));\n }\n\n codePointAt(pos: i32): i32 {\n let len = this.length;\n if (pos >= len) return -1; // (undefined)\n let first = load(changetype(this) + (pos << 1));\n if ((first & 0xFC00) != 0xD800 || pos + 1 == len) return first;\n let second = load(changetype(this) + (pos << 1), 2);\n if ((second & 0xFC00) != 0xDC00) return first;\n return (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n }\n\n @operator(\"+\") private static __concat(left: String, right: String): String {\n return left.concat(right);\n }\n\n concat(other: String): String {\n let thisSize: isize = this.length << 1;\n let otherSize: isize = other.length << 1;\n let outSize: usize = thisSize + otherSize;\n if (outSize == 0) return changetype(\"\");\n let out = changetype(__new(outSize, idof()));\n memory.copy(changetype(out), changetype(this), thisSize);\n memory.copy(changetype(out) + thisSize, changetype(other), otherSize);\n return out;\n }\n\n endsWith(search: String, end: i32 = String.MAX_LENGTH): bool {\n end = min(max(end, 0), this.length);\n let searchLength = search.length;\n let searchStart = end - searchLength;\n if (searchStart < 0) return false;\n // @ts-ignore: string <-> String\n return !compareImpl(this, searchStart, search, 0, searchLength);\n }\n\n @operator(\"==\") private static __eq(left: String | null, right: String | null): bool {\n if (changetype(left) == changetype(right)) return true;\n if (changetype(left) == 0 || changetype(right) == 0) return false;\n let leftLength = changetype(left).length;\n if (leftLength != changetype(right).length) return false;\n // @ts-ignore: string <-> String\n return !compareImpl(left, 0, right, 0, leftLength);\n }\n\n @operator.prefix(\"!\")\n private static __not(str: String | null): bool {\n return changetype(str) == 0 || !changetype(str).length;\n }\n\n @operator(\"!=\")\n private static __ne(left: String | null, right: String | null): bool {\n return !this.__eq(left, right);\n }\n\n @operator(\">\") private static __gt(left: String, right: String): bool {\n if (changetype(left) == changetype(right)) return false;\n let leftLength = left.length;\n if (!leftLength) return false;\n let rightLength = right.length;\n if (!rightLength) return true;\n // @ts-ignore: string <-> String\n let res = compareImpl(left, 0, right, 0, min(leftLength, rightLength));\n return res ? res > 0 : leftLength > rightLength;\n }\n\n @operator(\">=\") private static __gte(left: String, right: String): bool {\n return !this.__lt(left, right);\n }\n\n @operator(\"<\") private static __lt(left: String, right: String): bool {\n if (changetype(left) == changetype(right)) return false;\n let rightLength = right.length;\n if (!rightLength) return false;\n let leftLength = left.length;\n if (!leftLength) return true;\n // @ts-ignore: string <-> String\n let res = compareImpl(left, 0, right, 0, min(leftLength, rightLength));\n return res ? res < 0 : leftLength < rightLength;\n }\n\n @operator(\"<=\") private static __lte(left: String, right: String): bool {\n return !this.__gt(left, right);\n }\n\n includes(search: String, start: i32 = 0): bool {\n return this.indexOf(search, start) != -1;\n }\n\n indexOf(search: String, start: i32 = 0): i32 {\n let searchLen = search.length;\n if (!searchLen) return 0;\n let len = this.length;\n if (!len) return -1;\n let searchStart = min(max(start, 0), len);\n for (len -= searchLen; searchStart <= len; ++searchStart) {\n // @ts-ignore: string <-> String\n if (!compareImpl(this, searchStart, search, 0, searchLen)) return searchStart;\n }\n return -1;\n }\n\n lastIndexOf(search: String, start: i32 = i32.MAX_VALUE): i32 {\n let searchLen = search.length;\n if (!searchLen) return this.length;\n let len = this.length;\n if (!len) return -1;\n let searchStart = min(max(start, 0), len - searchLen);\n for (; searchStart >= 0; --searchStart) {\n // @ts-ignore: string <-> String\n if (!compareImpl(this, searchStart, search, 0, searchLen)) return searchStart;\n }\n return -1;\n }\n\n // TODO: implement full locale comparison with locales and Collator options\n localeCompare(other: String): i32 {\n if (changetype(other) == changetype(this)) return 0;\n let alen = this.length;\n let blen = other.length;\n // @ts-ignore: string <-> String\n let res = compareImpl(this, 0, other, 0, min(alen, blen));\n res = res ? res : alen - blen;\n // normalize to [-1, 1] range\n return i32(res > 0) - i32(res < 0);\n }\n\n startsWith(search: String, start: i32 = 0): bool {\n let len = this.length;\n let searchStart = min(max(start, 0), len);\n let searchLength = search.length;\n if (searchLength + searchStart > len) return false;\n // @ts-ignore: string <-> String\n return !compareImpl(this, searchStart, search, 0, searchLength);\n }\n\n substr(start: i32, length: i32 = i32.MAX_VALUE): String { // legacy\n let intStart: isize = start;\n let end: isize = length;\n let len: isize = this.length;\n if (intStart < 0) intStart = max(len + intStart, 0);\n let size = min(max(end, 0), len - intStart) << 1;\n if (size <= 0) return changetype(\"\");\n let out = changetype(__new(size, idof()));\n memory.copy(changetype(out), changetype(this) + (intStart << 1), size);\n return out;\n }\n\n substring(start: i32, end: i32 = i32.MAX_VALUE): String {\n let len: isize = this.length;\n let finalStart = min(max(start, 0), len);\n let finalEnd = min(max(end, 0), len);\n let fromPos = min(finalStart, finalEnd) << 1;\n let toPos = max(finalStart, finalEnd) << 1;\n let size = toPos - fromPos;\n if (!size) return changetype(\"\");\n if (!fromPos && toPos == len << 1) return this;\n let out = changetype(__new(size, idof()));\n memory.copy(changetype(out), changetype(this) + fromPos, size);\n return out;\n }\n\n trim(): String {\n let len = this.length;\n let size: usize = len << 1;\n while (size && isSpace(load(changetype(this) + size - 2))) {\n size -= 2;\n }\n let offset: usize = 0;\n while (offset < size && isSpace(load(changetype(this) + offset))) {\n offset += 2; size -= 2;\n }\n if (!size) return changetype(\"\");\n if (!offset && size == len << 1) return this;\n let out = changetype(__new(size, idof()));\n memory.copy(changetype(out), changetype(this) + offset, size);\n return out;\n }\n\n @inline\n trimLeft(): String {\n return this.trimStart();\n }\n\n @inline\n trimRight(): String {\n return this.trimEnd();\n }\n\n trimStart(): String {\n let size = this.length << 1;\n let offset: usize = 0;\n while (offset < size && isSpace(load(changetype(this) + offset))) {\n offset += 2;\n }\n if (!offset) return this;\n size -= offset;\n if (!size) return changetype(\"\");\n let out = changetype(__new(size, idof()));\n memory.copy(changetype(out), changetype(this) + offset, size);\n return out;\n }\n\n trimEnd(): String {\n let originalSize = this.length << 1;\n let size = originalSize;\n while (size && isSpace(load(changetype(this) + size - 2))) {\n size -= 2;\n }\n if (!size) return changetype(\"\");\n if (size == originalSize) return this;\n let out = changetype(__new(size, idof()));\n memory.copy(changetype(out), changetype(this), size);\n return out;\n }\n\n padStart(length: i32, pad: string = \" \"): String {\n let thisSize = this.length << 1;\n let targetSize = length << 1;\n let padSize = pad.length << 1;\n if (targetSize < thisSize || !padSize) return this;\n let prependSize = targetSize - thisSize;\n let out = changetype(__new(targetSize, idof()));\n if (prependSize > padSize) {\n let repeatCount = (prependSize - 2) / padSize;\n let restBase = repeatCount * padSize;\n let restSize = prependSize - restBase;\n memory.repeat(changetype(out), changetype(pad), padSize, repeatCount);\n memory.copy(changetype(out) + restBase, changetype(pad), restSize);\n } else {\n memory.copy(changetype(out), changetype(pad), prependSize);\n }\n memory.copy(changetype(out) + prependSize, changetype(this), thisSize);\n return out;\n }\n\n padEnd(length: i32, pad: string = \" \"): String {\n let thisSize = this.length << 1;\n let targetSize = length << 1;\n let padSize = pad.length << 1;\n if (targetSize < thisSize || !padSize) return this;\n let appendSize = targetSize - thisSize;\n let out = changetype(__new(targetSize, idof()));\n memory.copy(changetype(out), changetype(this), thisSize);\n if (appendSize > padSize) {\n let repeatCount = (appendSize - 2) / padSize;\n let restBase = repeatCount * padSize;\n let restSize = appendSize - restBase;\n memory.repeat(changetype(out) + thisSize, changetype(pad), padSize, repeatCount);\n memory.copy(changetype(out) + thisSize + restBase, changetype(pad), restSize);\n } else {\n memory.copy(changetype(out) + thisSize, changetype(pad), appendSize);\n }\n return out;\n }\n\n repeat(count: i32 = 0): String {\n let length = this.length;\n\n // Most browsers can't handle strings 1 << 28 chars or longer\n if (count < 0 || length * count > (1 << 28)) {\n throw new RangeError(E_INVALIDLENGTH);\n }\n\n if (count == 0 || !length) return changetype(\"\");\n if (count == 1) return this;\n let out = changetype(__new((length * count) << 1, idof()));\n memory.repeat(changetype(out), changetype(this), length << 1, count);\n return out;\n }\n\n replace(search: String, replacement: String): String {\n let len: usize = this.length;\n let slen: usize = search.length;\n if (len <= slen) {\n return len < slen ? this : select(replacement, this, search == this);\n }\n let index: isize = this.indexOf(search);\n if (~index) {\n let rlen: usize = replacement.length;\n len -= slen;\n let olen = len + rlen;\n if (olen) {\n let out = changetype(__new(olen << 1, idof()));\n memory.copy(changetype(out), changetype(this), index << 1);\n memory.copy(\n changetype(out) + (index << 1),\n changetype(replacement),\n rlen << 1\n );\n memory.copy(\n changetype(out) + ((index + rlen) << 1),\n changetype(this) + ((index + slen) << 1),\n (len - index) << 1\n );\n return out;\n }\n }\n return this;\n }\n\n replaceAll(search: String, replacement: String): String {\n let thisLen: usize = this.length;\n let searchLen: usize = search.length;\n if (thisLen <= searchLen) {\n return thisLen < searchLen\n ? this\n : select(replacement, this, search == this);\n }\n let replaceLen: usize = replacement.length;\n if (!searchLen) {\n if (!replaceLen) return this;\n // Special case: 'abc'.replaceAll('', '-') -> '-a-b-c-'\n let out = changetype(__new((thisLen + (thisLen + 1) * replaceLen) << 1, idof()));\n memory.copy(changetype(out), changetype(replacement), replaceLen << 1);\n let offset = replaceLen;\n for (let i: usize = 0; i < thisLen; ++i) {\n store(\n changetype(out) + (offset++ << 1),\n load(changetype(this) + (i << 1))\n );\n memory.copy(\n changetype(out) + (offset << 1),\n changetype(replacement),\n replaceLen << 1\n );\n offset += replaceLen;\n }\n return out;\n }\n let prev: isize = 0, next: isize = 0;\n if (searchLen == replaceLen) {\n // Fast path when search and replacement have same length\n let outSize = thisLen << 1;\n let out = changetype(__new(outSize, idof()));\n memory.copy(changetype(out), changetype(this), outSize);\n while (~(next = this.indexOf(search, prev))) {\n memory.copy(changetype(out) + (next << 1), changetype(replacement), replaceLen << 1);\n prev = next + searchLen;\n }\n return out;\n }\n let out: String | null = null, offset: usize = 0, outSize = thisLen;\n while (~(next = this.indexOf(search, prev))) {\n if (!out) out = changetype(__new(thisLen << 1, idof()));\n let chunk = next - prev;\n if (offset + chunk + replaceLen > outSize) {\n outSize <<= 1;\n out = changetype(__renew(changetype(out), outSize << 1));\n }\n memory.copy(\n changetype(out) + (offset << 1),\n changetype(this) + (prev << 1),\n chunk << 1\n );\n offset += chunk;\n memory.copy(\n changetype(out) + (offset << 1),\n changetype(replacement),\n replaceLen << 1\n );\n offset += replaceLen;\n prev = next + searchLen;\n }\n if (out) {\n let rest = thisLen - prev;\n if (offset + rest > outSize) {\n outSize <<= 1;\n out = changetype(__renew(changetype(out), outSize << 1));\n }\n if (rest) {\n memory.copy(\n changetype(out) + (offset << 1),\n changetype(this) + (prev << 1),\n rest << 1\n );\n }\n rest += offset;\n if (outSize > rest) {\n out = changetype(__renew(changetype(out), rest << 1));\n }\n return out;\n }\n return this;\n }\n\n slice(start: i32, end: i32 = i32.MAX_VALUE): String {\n let len = this.length;\n start = start < 0 ? max(start + len, 0) : min(start, len);\n end = end < 0 ? max(end + len, 0) : min(end, len);\n len = end - start;\n if (len <= 0) return changetype(\"\");\n let out = changetype(__new(len << 1, idof()));\n memory.copy(changetype(out), changetype(this) + (start << 1), len << 1);\n return out;\n }\n\n split(separator: String | null = null, limit: i32 = i32.MAX_VALUE): String[] {\n if (!limit) return changetype(__newArray(0, alignof(), idof>()));\n if (changetype(separator) == 0) return [ this ];\n let length: isize = this.length;\n let sepLen = changetype(separator).length;\n if (limit < 0) limit = i32.MAX_VALUE;\n if (!sepLen) {\n if (!length) return changetype(__newArray(0, alignof(), idof>()));\n // split by chars\n length = min(length, limit);\n let result = changetype(__newArray(length, alignof(), idof>()));\n // @ts-ignore: cast\n let resultStart = result.dataStart as usize;\n for (let i: isize = 0; i < length; ++i) {\n let charStr = changetype(__new(2, idof()));\n store(changetype(charStr), load(changetype(this) + (i << 1)));\n store(resultStart + (i << alignof()), changetype(charStr)); // result[i] = charStr\n __link(changetype(result), changetype(charStr), true);\n }\n return result;\n } else if (!length) {\n let result = changetype(__newArray(1, alignof(), idof>()));\n // @ts-ignore: cast\n store(result.dataStart as usize, changetype(\"\")); // static \"\"\n return result;\n }\n let result = changetype(__newArray(0, alignof(), idof>()));\n let end = 0, start = 0, i = 0;\n while (~(end = this.indexOf(changetype(separator), start))) {\n let len = end - start;\n if (len > 0) {\n let out = changetype(__new(len << 1, idof()));\n memory.copy(changetype(out), changetype(this) + (start << 1), len << 1);\n result.push(out);\n } else {\n result.push(changetype(\"\"));\n }\n if (++i == limit) return result;\n start = end + sepLen;\n }\n if (!start) { // also means: loop above didn't do anything\n result.push(this);\n return result;\n }\n let len = length - start;\n if (len > 0) {\n let out = changetype(__new(len << 1, idof()));\n memory.copy(changetype(out), changetype(this) + (start << 1), len << 1);\n result.push(out);\n } else {\n result.push(changetype(\"\")); // static \"\"\n }\n return result;\n }\n\n toLowerCase(): String {\n let len = this.length;\n if (!len) return this;\n let codes = changetype(__new(len * 2 * 2, idof()));\n let j: usize = 0;\n for (let i: usize = 0; i < len; ++i, ++j) {\n let c = load(changetype(this) + (i << 1));\n if (isAscii(c)) {\n store(changetype(codes) + (j << 1), toLower8(c));\n } else {\n // check and read surrogate pair\n if ((c - 0xD7FF < 0xDC00 - 0xD7FF) && i < len - 1) {\n let c1 = load(changetype(this) + (i << 1), 2);\n if (c1 - 0xDBFF < 0xE000 - 0xDBFF) {\n let c0 = c;\n c = (((c & 0x03FF) << 10) | (c1 & 0x03FF)) + 0x10000;\n ++i;\n if (c >= 0x20000) {\n store(changetype(codes) + (j << 1), c0 | (c1 << 16));\n ++j;\n continue;\n }\n }\n }\n // check special casing for lower table. It has one ently so instead lookup we just inline this.\n if (c == 0x0130) {\n // 0x0130 -> [0x0069, 0x0307]\n store(changetype(codes) + (j << 1), (0x0307 << 16) | 0x0069);\n ++j;\n } else if (c == 0x03A3) { // 'Σ'\n // Σ maps to σ but except at the end of a word where it maps to ς\n let sigma = 0x03C3; // σ\n if (len > 1 && isFinalSigma(changetype(this), i, len)) {\n sigma = 0x03C2; // ς\n }\n store(changetype(codes) + (j << 1), sigma);\n } else if (c - 0x24B6 <= 0x24CF - 0x24B6) {\n // Range 0x24B6 <= c <= 0x24CF not covered by casemap and require special early handling\n store(changetype(codes) + (j << 1), c + 26);\n } else {\n let code = casemap(c, 0) & 0x1FFFFF;\n if (code < 0x10000) {\n store(changetype(codes) + (j << 1), code);\n } else {\n // store as surrogare pair\n code -= 0x10000;\n let lo = (code >>> 10) | 0xD800;\n let hi = (code & 0x03FF) | 0xDC00;\n store(changetype(codes) + (j << 1), lo | (hi << 16));\n ++j;\n }\n }\n }\n }\n return changetype(__renew(changetype(codes), j << 1));\n }\n\n toUpperCase(): String {\n let len = this.length;\n if (!len) return this;\n let codes = changetype(__new(len * 3 * 2, idof()));\n let specialsPtr = changetype(SPECIALS_UPPER);\n let specialsLen = SPECIALS_UPPER.length;\n let j: usize = 0;\n for (let i: usize = 0; i < len; ++i, ++j) {\n let c = load(changetype(this) + (i << 1));\n if (isAscii(c)) {\n store(changetype(codes) + (j << 1), toUpper8(c));\n } else {\n // check and read surrogate pair\n if ((c - 0xD7FF < 0xDC00 - 0xD7FF) && i < len - 1) {\n let c1 = load(changetype(this) + (i << 1), 2);\n if (c1 - 0xDBFF < 0xE000 - 0xDBFF) {\n let c0 = c;\n c = (((c & 0x03FF) << 10) | (c1 & 0x03FF)) + 0x10000;\n ++i;\n if (c >= 0x20000) {\n store(changetype(codes) + (j << 1), c0 | (c1 << 16));\n ++j;\n continue;\n }\n }\n }\n // Range 0x24D0 <= c <= 0x24E9 not covered by casemap and require special early handling\n if (c - 0x24D0 <= 0x24E9 - 0x24D0) {\n // monkey patch\n store(changetype(codes) + (j << 1), c - 26);\n } else {\n let index: usize = -1;\n // Fast range check. See first and last rows in specialsUpper table\n if (c - 0x00DF <= 0xFB17 - 0x00DF) {\n index = bsearch(c, specialsPtr, specialsLen);\n }\n if (~index) {\n // load next 3 code points from row with `index` offset for specialsUpper table\n let ab = load(specialsPtr + (index << 1), 2);\n let cc = load(specialsPtr + (index << 1), 6);\n store(changetype(codes) + (j << 1), ab, 0);\n store(changetype(codes) + (j << 1), cc, 4);\n j += 1 + usize(cc != 0);\n } else {\n let code = casemap(c, 1) & 0x1FFFFF;\n if (code < 0x10000) {\n store(changetype(codes) + (j << 1), code);\n } else {\n // store as surrogare pair\n code -= 0x10000;\n let lo = (code >>> 10) | 0xD800;\n let hi = (code & 0x03FF) | 0xDC00;\n store(changetype(codes) + (j << 1), lo | (hi << 16));\n ++j;\n }\n }\n }\n }\n }\n return changetype(__renew(changetype(codes), j << 1));\n }\n\n toString(): String {\n return this;\n }\n}\n\n// @ts-ignore: nolib\nexport type string = String;\n\nexport function parseInt(str: string, radix: i32 = 0): f64 {\n return strtol(str, radix);\n}\n\nexport function parseFloat(str: string): f64 {\n return strtod(str);\n}\n\n// Encoding helpers\nexport namespace String {\n\n export namespace UTF8 {\n\n export const enum ErrorMode {\n WTF8,\n REPLACE,\n ERROR\n }\n\n export function byteLength(str: string, nullTerminated: bool = false): i32 {\n let strOff = changetype(str);\n let strEnd = strOff + changetype(changetype(str) - TOTAL_OVERHEAD).rtSize;\n let bufLen = i32(nullTerminated);\n while (strOff < strEnd) {\n let c1 = load(strOff);\n if (c1 < 128) {\n // @ts-ignore: cast\n if (nullTerminated & !c1) break;\n bufLen += 1;\n } else if (c1 < 2048) {\n bufLen += 2;\n } else {\n if ((c1 & 0xFC00) == 0xD800 && strOff + 2 < strEnd) {\n if ((load(strOff, 2) & 0xFC00) == 0xDC00) {\n bufLen += 4; strOff += 4;\n continue;\n }\n }\n bufLen += 3;\n }\n strOff += 2;\n }\n return bufLen;\n }\n\n export function encode(str: string, nullTerminated: bool = false, errorMode: ErrorMode = ErrorMode.WTF8): ArrayBuffer {\n let buf = changetype(__new(byteLength(str, nullTerminated), idof()));\n encodeUnsafe(changetype(str), str.length, changetype(buf), nullTerminated, errorMode);\n return buf;\n }\n\n // @ts-ignore: decorator\n @unsafe\n export function encodeUnsafe(str: usize, len: i32, buf: usize, nullTerminated: bool = false, errorMode: ErrorMode = ErrorMode.WTF8): usize {\n let strEnd = str + (len << 1);\n let bufOff = buf;\n while (str < strEnd) {\n let c1 = load(str);\n if (c1 < 128) {\n store(bufOff, c1);\n bufOff++;\n // @ts-ignore: cast\n if (nullTerminated & !c1) return bufOff - buf;\n } else if (c1 < 2048) {\n let b0 = c1 >> 6 | 192;\n let b1 = c1 & 63 | 128;\n store(bufOff, b1 << 8 | b0);\n bufOff += 2;\n } else {\n // D800: 11011 0 0000000000 Lead\n // DBFF: 11011 0 1111111111\n // DC00: 11011 1 0000000000 Trail\n // DFFF: 11011 1 1111111111\n // F800: 11111 0 0000000000 Mask\n // FC00: 11111 1 0000000000\n if ((c1 & 0xF800) == 0xD800) {\n if (c1 < 0xDC00 && str + 2 < strEnd) {\n let c2 = load(str, 2);\n if ((c2 & 0xFC00) == 0xDC00) {\n c1 = 0x10000 + ((c1 & 0x03FF) << 10) | (c2 & 0x03FF);\n let b0 = c1 >> 18 | 240;\n let b1 = c1 >> 12 & 63 | 128;\n let b2 = c1 >> 6 & 63 | 128;\n let b3 = c1 & 63 | 128;\n store(bufOff, b3 << 24 | b2 << 16 | b1 << 8 | b0);\n bufOff += 4; str += 4;\n continue;\n }\n }\n if (errorMode != ErrorMode.WTF8) { // unlikely\n if (errorMode == ErrorMode.ERROR) throw new Error(E_UNPAIRED_SURROGATE);\n c1 = 0xFFFD;\n }\n }\n let b0 = c1 >> 12 | 224;\n let b1 = c1 >> 6 & 63 | 128;\n let b2 = c1 & 63 | 128;\n store(bufOff, b1 << 8 | b0);\n store(bufOff, b2, 2);\n bufOff += 3;\n }\n str += 2;\n }\n if (nullTerminated) {\n store(bufOff++, 0);\n }\n return bufOff - buf;\n }\n\n export function decode(buf: ArrayBuffer, nullTerminated: bool = false): String {\n return decodeUnsafe(changetype(buf), buf.byteLength, nullTerminated);\n }\n\n // @ts-ignore: decorator\n @unsafe\n export function decodeUnsafe(buf: usize, len: usize, nullTerminated: bool = false): String {\n let bufOff = buf;\n let bufEnd = buf + len;\n assert(bufEnd >= bufOff); // guard wraparound\n let str = changetype(__new(len << 1, idof())); // max is one u16 char per u8 byte\n let strOff = changetype(str);\n while (bufOff < bufEnd) {\n let u0 = load(bufOff); ++bufOff;\n if (!(u0 & 128)) {\n // @ts-ignore: cast\n if (nullTerminated & !u0) break;\n store(strOff, u0);\n } else {\n if (bufEnd == bufOff) break;\n let u1 = load(bufOff) & 63; ++bufOff;\n if ((u0 & 224) == 192) {\n store(strOff, (u0 & 31) << 6 | u1);\n } else {\n if (bufEnd == bufOff) break;\n let u2 = load(bufOff) & 63; ++bufOff;\n if ((u0 & 240) == 224) {\n u0 = (u0 & 15) << 12 | u1 << 6 | u2;\n } else {\n if (bufEnd == bufOff) break;\n u0 = (u0 & 7) << 18 | u1 << 12 | u2 << 6 | load(bufOff) & 63;\n ++bufOff;\n }\n if (u0 < 0x10000) {\n store(strOff, u0);\n } else {\n u0 -= 0x10000;\n let lo = u0 >> 10 | 0xD800;\n let hi = (u0 & 0x03FF) | 0xDC00;\n store(strOff, lo | (hi << 16));\n strOff += 2;\n }\n }\n }\n strOff += 2;\n }\n return changetype(__renew(changetype(str), strOff - changetype(str)));\n }\n }\n\n export namespace UTF16 {\n\n export function byteLength(str: string): i32 {\n return changetype(changetype(str) - TOTAL_OVERHEAD).rtSize;\n }\n\n export function encode(str: string): ArrayBuffer {\n let buf = changetype(__new(byteLength(str), idof()));\n encodeUnsafe(changetype(str), str.length, changetype(buf));\n return buf;\n }\n\n // @ts-ignore: decorator\n @unsafe\n export function encodeUnsafe(str: usize, len: i32, buf: usize): usize {\n let size = len << 1;\n memory.copy(buf, changetype(str), size);\n return size;\n }\n\n export function decode(buf: ArrayBuffer): String {\n return decodeUnsafe(changetype(buf), buf.byteLength);\n }\n\n // @ts-ignore: decorator\n @unsafe\n export function decodeUnsafe(buf: usize, len: usize): String {\n let str = changetype(__new(len &= ~1, idof()));\n memory.copy(changetype(str), buf, len);\n return str;\n }\n }\n}\n\nexport class TemplateStringsArray extends Array {\n readonly raw: string[];\n}\n","import { AL_MASK, OBJECT, OBJECT_OVERHEAD, BLOCK_MAXSIZE, BLOCK_OVERHEAD, BLOCK, OBJECT_MAXSIZE } from \"./common\";\nimport { E_ALLOCATION_TOO_LARGE } from \"../util/error\";\n\n// === A minimal runtime stub ===\n\n// @ts-ignore: decorator\n@lazy let startOffset: usize = ((__heap_base + BLOCK_OVERHEAD + AL_MASK) & ~AL_MASK) - BLOCK_OVERHEAD;\n// @ts-ignore: decorator\n@lazy let offset: usize = startOffset;\n\nfunction maybeGrowMemory(newOffset: usize): void {\n // assumes newOffset is aligned\n let pagesBefore = memory.size();\n let maxOffset = ((pagesBefore << 16) + AL_MASK) & ~AL_MASK;\n if (newOffset > maxOffset) {\n let pagesNeeded = (((newOffset - maxOffset + 0xffff) & ~0xffff) >>> 16);\n let pagesWanted = max(pagesBefore, pagesNeeded); // double memory\n if (memory.grow(pagesWanted) < 0) {\n if (memory.grow(pagesNeeded) < 0) unreachable(); // out of memory\n }\n }\n offset = newOffset;\n}\n\n// @ts-ignore: decorator\n@inline function computeSize(size: usize): usize {\n return ((size + BLOCK_OVERHEAD + AL_MASK) & ~AL_MASK) - BLOCK_OVERHEAD;\n}\n\n// @ts-ignore: decorator\n@unsafe @global\nexport function __alloc(size: usize): usize {\n if (size > BLOCK_MAXSIZE) throw new Error(E_ALLOCATION_TOO_LARGE);\n let block = changetype(offset);\n let ptr = offset + BLOCK_OVERHEAD;\n let payloadSize = computeSize(size);\n maybeGrowMemory(ptr + payloadSize);\n block.mmInfo = payloadSize;\n return ptr;\n}\n\n// @ts-ignore: decorator\n@unsafe @global\nexport function __realloc(ptr: usize, size: usize): usize {\n assert(ptr != 0 && !(ptr & AL_MASK)); // must exist and be aligned\n let block = changetype(ptr - BLOCK_OVERHEAD);\n let actualSize = block.mmInfo;\n let isLast = ptr + actualSize == offset;\n let payloadSize = computeSize(size);\n if (size > actualSize) {\n if (isLast) { // last block: grow\n if (size > BLOCK_MAXSIZE) throw new Error(E_ALLOCATION_TOO_LARGE);\n maybeGrowMemory(ptr + payloadSize);\n block.mmInfo = payloadSize;\n } else { // copy to new block at least double the size\n let newPtr = __alloc(max(payloadSize, actualSize << 1));\n memory.copy(newPtr, ptr, actualSize);\n block = changetype((ptr = newPtr) - BLOCK_OVERHEAD);\n }\n } else if (isLast) { // last block: shrink\n offset = ptr + payloadSize;\n block.mmInfo = payloadSize;\n }\n return ptr;\n}\n\n// @ts-ignore: decorator\n@unsafe @global\nexport function __free(ptr: usize): void {\n assert(ptr != 0 && !(ptr & AL_MASK)); // must exist and be aligned\n let block = changetype(ptr - BLOCK_OVERHEAD);\n if (ptr + block.mmInfo == offset) { // last block: discard\n offset = changetype(block);\n }\n}\n\n// @ts-ignore: decorator\n@unsafe @global\nexport function __reset(): void { // special\n offset = startOffset;\n}\n\n// @ts-ignore: decorator\n@unsafe @global\nexport function __new(size: usize, id: u32): usize {\n if (size > OBJECT_MAXSIZE) throw new Error(E_ALLOCATION_TOO_LARGE);\n let ptr = __alloc(OBJECT_OVERHEAD + size);\n let object = changetype(ptr - BLOCK_OVERHEAD);\n object.gcInfo = 0;\n object.gcInfo2 = 0;\n object.rtId = id;\n object.rtSize = size;\n return ptr + OBJECT_OVERHEAD;\n}\n\n// @ts-ignore: decorator\n@unsafe @global\nexport function __renew(oldPtr: usize, size: usize): usize {\n if (size > OBJECT_MAXSIZE) throw new Error(E_ALLOCATION_TOO_LARGE);\n let newPtr = __realloc(oldPtr - OBJECT_OVERHEAD, OBJECT_OVERHEAD + size);\n changetype(newPtr - BLOCK_OVERHEAD).rtSize = size;\n return newPtr + OBJECT_OVERHEAD;\n}\n\n// @ts-ignore: decorator\n@global @unsafe\nexport function __link(parentPtr: usize, childPtr: usize, expectMultiple: bool): void {\n // nop\n}\n\n// @ts-ignore: decorator\n@global @unsafe\nexport function __pin(ptr: usize): usize {\n return ptr;\n}\n\n// @ts-ignore: decorator\n@global @unsafe\nexport function __unpin(ptr: usize): void {\n // nop\n}\n\n// @ts-ignore: decorator\n@global @unsafe\nfunction __visit(ptr: usize, cookie: u32): void { // eslint-disable-line @typescript-eslint/no-unused-vars\n // nop\n}\n\n// @ts-ignore: decorator\n@global @unsafe\nexport function __collect(): void {\n // nop\n}\n","// Common error messages for use across the standard library. Keeping error messages compact\n// and reusing them where possible ensures minimal static data in binaries.\n\n// @ts-ignore: decorator\n@lazy @inline\nexport const E_INDEXOUTOFRANGE: string = \"Index out of range\";\n\n// @ts-ignore: decorator\n@lazy @inline\nexport const E_VALUEOUTOFRANGE: string = \"Value out of range\";\n\n// @ts-ignore: decorator\n@lazy @inline\nexport const E_INVALIDLENGTH: string = \"Invalid length\";\n\n// @ts-ignore: decorator\n@lazy @inline\nexport const E_EMPTYARRAY: string = \"Array is empty\";\n\n// @ts-ignore: decorator\n@lazy @inline\nexport const E_HOLEYARRAY: string = \"Element type must be nullable if array is holey\";\n\n// @ts-ignore: decorator\n@lazy @inline\nexport const E_NOTIMPLEMENTED: string = \"Not implemented\";\n\n// @ts-ignore: decorator\n@lazy @inline\nexport const E_KEYNOTFOUND: string = \"Key does not exist\";\n\n// @ts-ignore: decorator\n@lazy @inline\nexport const E_ALLOCATION_TOO_LARGE: string = \"Allocation too large\";\n\n// @ts-ignore: decorator\n@lazy @inline\nexport const E_ALREADY_PINNED: string = \"Object already pinned\";\n\n// @ts-ignore: decorator\n@lazy @inline\nexport const E_NOT_PINNED: string = \"Object is not pinned\";\n\n// @ts-ignore: decorator\n@lazy @inline\nexport const E_URI_MALFORMED: string = \"URI malformed\";\n\n// @ts-ignore: decorator\n@lazy @inline\nexport const E_INVALIDDATE: string = \"Invalid Date\";\n\n// @ts-ignore: decorator\n@lazy @inline\nexport const E_UNPAIRED_SURROGATE: string = \"Unpaired surrogate\";\n","import { itoa32, utoa32, itoa64, utoa64, dtoa } from \"./util/number\";\nimport { strtol, strtod } from \"./util/string\";\n\n// @ts-ignore: decorator\n@builtin @inline\nexport const NaN: f64 = 0 / 0; // context-aware\n\n// @ts-ignore: decorator\n@builtin @inline\nexport const Infinity: f64 = 1 / 0; // context-aware\n\n// @ts-ignore: decorator\n@builtin\nexport declare function isNaN(value: T): bool;\n\n// @ts-ignore: decorator\n@builtin\nexport declare function isFinite(value: T): bool;\n\n@final @unmanaged\nexport abstract class I8 {\n\n // @ts-ignore: decorator\n @lazy\n static readonly MIN_VALUE: i8 = i8.MIN_VALUE;\n\n // @ts-ignore: decorator\n @lazy\n static readonly MAX_VALUE: i8 = i8.MAX_VALUE;\n\n /** @deprecated */\n static parseInt(value: string, radix: i32 = 0): i8 {\n return strtol(value, radix);\n }\n\n toString(this: i8, radix: i32 = 10): String {\n return itoa32(this, radix);\n }\n}\n\n@final @unmanaged\nexport abstract class I16 {\n\n // @ts-ignore: decorator\n @lazy\n static readonly MIN_VALUE: i16 = i16.MIN_VALUE;\n\n // @ts-ignore: decorator\n @lazy\n static readonly MAX_VALUE: i16 = i16.MAX_VALUE;\n\n /** @deprecated */\n static parseInt(value: string, radix: i32 = 0): i16 {\n return strtol(value, radix);\n }\n\n toString(this: i16, radix: i32 = 10): String {\n return itoa32(this, radix);\n }\n}\n\n@final @unmanaged\nexport abstract class I32 {\n\n // @ts-ignore: decorator\n @lazy\n static readonly MIN_VALUE: i32 = i32.MIN_VALUE;\n\n // @ts-ignore: decorator\n @lazy\n static readonly MAX_VALUE: i32 = i32.MAX_VALUE;\n\n /** @deprecated */\n static parseInt(value: string, radix: i32 = 0): i32 {\n return strtol(value, radix);\n }\n\n toString(this: i32, radix: i32 = 10): String {\n return itoa32(this, radix);\n }\n}\n\n@final @unmanaged\nexport abstract class I64 {\n\n // @ts-ignore: decorator\n @lazy\n static readonly MIN_VALUE: i64 = i64.MIN_VALUE;\n\n // @ts-ignore: decorator\n @lazy\n static readonly MAX_VALUE: i64 = i64.MAX_VALUE;\n\n /** @deprecated */\n static parseInt(value: string, radix: i32 = 0): i64 {\n return strtol(value, radix);\n }\n\n toString(this: i64, radix: i32 = 10): String {\n return itoa64(this, radix);\n }\n}\n\n@final @unmanaged\nexport abstract class Isize {\n\n // @ts-ignore: decorator\n @lazy\n static readonly MIN_VALUE: isize = isize.MIN_VALUE;\n\n // @ts-ignore: decorator\n @lazy\n static readonly MAX_VALUE: isize = isize.MAX_VALUE;\n\n /** @deprecated */\n static parseInt(value: string, radix: i32 = 0): isize {\n return strtol(value, radix);\n }\n\n toString(this: isize, radix: i32 = 10): String {\n if (sizeof() == 4) {\n return itoa32(this, radix);\n } else {\n return itoa64(this, radix);\n }\n }\n}\n\n@final @unmanaged\nexport abstract class U8 {\n\n // @ts-ignore: decorator\n @lazy\n static readonly MIN_VALUE: u8 = u8.MIN_VALUE;\n\n // @ts-ignore: decorator\n @lazy\n static readonly MAX_VALUE: u8 = u8.MAX_VALUE;\n\n /** @deprecated */\n static parseInt(value: string, radix: i32 = 0): u8 {\n return strtol(value, radix);\n }\n\n toString(this: u8, radix: i32 = 10): String {\n return utoa32(this, radix);\n }\n}\n\n@final @unmanaged\nexport abstract class U16 {\n\n // @ts-ignore: decorator\n @lazy\n static readonly MIN_VALUE: u16 = u16.MIN_VALUE;\n\n // @ts-ignore: decorator\n @lazy\n static readonly MAX_VALUE: u16 = u16.MAX_VALUE;\n\n /** @deprecated */\n static parseInt(value: string, radix: i32 = 0): u16 {\n return strtol(value, radix);\n }\n\n toString(this: u16, radix: i32 = 10): String {\n return utoa32(this, radix);\n }\n}\n\n@final @unmanaged\nexport abstract class U32 {\n\n // @ts-ignore: decorator\n @lazy\n static readonly MIN_VALUE: u32 = u32.MIN_VALUE;\n\n // @ts-ignore: decorator\n @lazy\n static readonly MAX_VALUE: u32 = u32.MAX_VALUE;\n\n /** @deprecated */\n static parseInt(value: string, radix: i32 = 0): u32 {\n return strtol(value, radix);\n }\n\n toString(this: u32, radix: i32 = 10): String {\n return utoa32(this, radix);\n }\n}\n\n@final @unmanaged\nexport abstract class U64 {\n\n // @ts-ignore: decorator\n @lazy\n static readonly MIN_VALUE: u64 = u64.MIN_VALUE;\n\n // @ts-ignore: decorator\n @lazy\n static readonly MAX_VALUE: u64 = u64.MAX_VALUE;\n\n /** @deprecated */\n static parseInt(value: string, radix: i32 = 0): u64 {\n return strtol(value, radix);\n }\n\n toString(this: u64, radix: i32 = 10): String {\n return utoa64(this, radix);\n }\n}\n\n@final @unmanaged\nexport abstract class Usize {\n\n // @ts-ignore: decorator\n @lazy\n static readonly MIN_VALUE: usize = usize.MIN_VALUE;\n\n // @ts-ignore: decorator\n @lazy\n static readonly MAX_VALUE: usize = usize.MAX_VALUE;\n\n /** @deprecated */\n static parseInt(value: string, radix: i32 = 0): usize {\n return strtol(value, radix);\n }\n\n toString(this: usize, radix: i32 = 10): String {\n if (sizeof() == 4) {\n return utoa32(this, radix);\n } else {\n return utoa64(this, radix);\n }\n }\n}\n\n@final @unmanaged\nexport abstract class Bool {\n\n // @ts-ignore: decorator\n @lazy\n static readonly MIN_VALUE: bool = bool.MIN_VALUE;\n\n // @ts-ignore: decorator\n @lazy\n static readonly MAX_VALUE: bool = bool.MAX_VALUE;\n\n toString(this: bool, radix: i32 = 0): String {\n return this ? \"true\" : \"false\";\n }\n}\n\nexport { Bool as Boolean };\n\n@final @unmanaged\nexport abstract class F32 {\n\n // @ts-ignore: decorator\n @lazy\n static readonly EPSILON: f32 = f32.EPSILON;\n\n // @ts-ignore: decorator\n @lazy\n static readonly MIN_VALUE: f32 = f32.MIN_VALUE;\n\n // @ts-ignore: decorator\n @lazy\n static readonly MAX_VALUE: f32 = f32.MAX_VALUE;\n\n // @ts-ignore: decorator\n @lazy\n static readonly MIN_SAFE_INTEGER: f32 = f32.MIN_SAFE_INTEGER;\n\n // @ts-ignore: decorator\n @lazy\n static readonly MAX_SAFE_INTEGER: f32 = f32.MAX_SAFE_INTEGER;\n\n // @ts-ignore: decorator\n @lazy\n static readonly POSITIVE_INFINITY: f32 = f32.POSITIVE_INFINITY;\n\n // @ts-ignore: decorator\n @lazy\n static readonly NEGATIVE_INFINITY: f32 = f32.NEGATIVE_INFINITY;\n\n // @ts-ignore: decorator\n @lazy\n static readonly NaN: f32 = f32.NaN;\n\n static isNaN(value: f32): bool {\n return isNaN(value);\n }\n\n static isFinite(value: f32): bool {\n return isFinite(value);\n }\n\n static isSafeInteger(value: f32): bool {\n return abs(value) <= f32.MAX_SAFE_INTEGER && trunc(value) == value;\n }\n\n static isInteger(value: f32): bool {\n return isFinite(value) && trunc(value) == value;\n }\n\n /** @deprecated */\n static parseInt(value: string, radix: i32 = 0): f32 {\n return strtol(value, radix);\n }\n\n /** @deprecated */\n static parseFloat(value: string): f32 {\n return strtod(value);\n }\n\n toString(this: f32, radix: i32 = 0): String {\n return dtoa(this);\n }\n}\n\n@final @unmanaged\nexport abstract class F64 {\n\n // @ts-ignore: decorator\n @lazy\n static readonly EPSILON: f64 = f64.EPSILON;\n\n // @ts-ignore: decorator\n @lazy\n static readonly MIN_VALUE: f64 = f64.MIN_VALUE;\n\n // @ts-ignore: decorator\n @lazy\n static readonly MAX_VALUE: f64 = f64.MAX_VALUE;\n\n // @ts-ignore: decorator\n @lazy\n static readonly MIN_SAFE_INTEGER: f64 = f64.MIN_SAFE_INTEGER;\n\n // @ts-ignore: decorator\n @lazy\n static readonly MAX_SAFE_INTEGER: f64 = f64.MAX_SAFE_INTEGER;\n\n // @ts-ignore: decorator\n @lazy\n static readonly POSITIVE_INFINITY: f64 = f64.POSITIVE_INFINITY;\n\n // @ts-ignore: decorator\n @lazy\n static readonly NEGATIVE_INFINITY: f64 = f64.NEGATIVE_INFINITY;\n\n // @ts-ignore: decorator\n @lazy\n static readonly NaN: f64 = f64.NaN;\n\n static isNaN(value: f64): bool {\n return isNaN(value);\n }\n\n static isFinite(value: f64): bool {\n return isFinite(value);\n }\n\n static isSafeInteger(value: f64): bool {\n return abs(value) <= f64.MAX_SAFE_INTEGER && trunc(value) == value;\n }\n\n static isInteger(value: f64): bool {\n return isFinite(value) && trunc(value) == value;\n }\n\n /** @deprecated */\n static parseInt(value: string, radix: i32 = 0): f64 {\n return strtol(value, radix);\n }\n\n /** @deprecated */\n static parseFloat(value: string): f64 {\n return strtod(value);\n }\n\n toString(this: f64, radix: i32 = 0): String {\n return dtoa(this);\n }\n}\n\nexport { F64 as Number };\n","import { memcmp, memmove, memset } from \"./util/memory\";\nimport { E_NOTIMPLEMENTED } from \"./util/error\";\n\n/** Memory manager interface. */\nexport namespace memory {\n\n /** Gets the size of the memory in pages. */\n // @ts-ignore: decorator\n @builtin\n export declare function size(): i32;\n\n /** Grows the memory by the given size in pages and returns the previous size in pages. */\n // @ts-ignore: decorator\n @unsafe @builtin\n export declare function grow(pages: i32): i32;\n\n /** Fills a section in memory with the specified byte value. */\n // @ts-ignore: decorator\n @unsafe @builtin\n export function fill(dst: usize, c: u8, n: usize): void {\n memset(dst, c, n); // fallback if \"bulk-memory\" isn't enabled\n }\n\n /** Copies a section of memory to another. Has move semantics. */\n // @ts-ignore: decorator\n @unsafe @builtin\n export function copy(dst: usize, src: usize, n: usize): void {\n memmove(dst, src, n); // fallback if \"bulk-memory\" isn't enabled\n }\n\n export namespace atomic {\n\n // @ts-ignore: decorator\n @unsafe @builtin\n export declare function wait32(ptr: usize, expected: i32, timeout: i64): AtomicWaitResult;\n\n // @ts-ignore: decorator\n @unsafe @builtin\n export declare function wait64(ptr: usize, expected: i64, timeout: i64): AtomicWaitResult;\n }\n\n /** Initializes a memory segment. */\n // @ts-ignore: decorator\n @unsafe\n export function init(segmentIndex: u32, srcOffset: usize, dstOffset: usize, n: usize): void {\n throw new Error(E_NOTIMPLEMENTED);\n }\n\n /** Drops a memory segment. */\n // @ts-ignore: decorator\n @unsafe\n export function drop(segmentIndex: u32): void {\n throw new Error(E_NOTIMPLEMENTED);\n }\n\n /** Repeats a section of memory at a specific address. */\n // @ts-ignore: decorator\n @unsafe\n export function repeat(dst: usize, src: usize, srcLength: usize, count: usize): void {\n let index: usize = 0;\n let total = srcLength * count;\n while (index < total) {\n memory.copy(dst + index, src, srcLength);\n index += srcLength;\n }\n }\n\n /** Compares a section of memory to another. */\n // @ts-ignore: decorator\n @inline\n export function compare(vl: usize, vr: usize, n: usize): i32 {\n return memcmp(vl, vr, n);\n }\n\n /** Gets a pointer to a static chunk of memory of the given size. */\n // @ts-ignore: decorator\n @builtin\n export declare function data(size: T, align?: i32): usize;\n}\n\n// @ts-ignore: decorator\n@builtin\nexport declare const __data_end: usize;\n\n// @ts-ignore: decorator\n@builtin\nexport declare let __stack_pointer: usize;\n\n// @ts-ignore: decorator\n@builtin\nexport declare const __heap_base: usize;\n\n/** Heap memory interface. */\nexport namespace heap {\n\n /** Allocates a chunk of memory of at least the specified size. */\n // @ts-ignore: decorator\n @unsafe export function alloc(size: usize): usize {\n return __alloc(size);\n }\n\n /** Reallocates a chunk of memory to have at least the specified size. */\n // @ts-ignore: decorator\n @unsafe export function realloc(ptr: usize, size: usize): usize {\n return __realloc(ptr, size);\n }\n\n /** Frees a chunk of memory. Does hardly anything (most recent block only) with the stub runtime. */\n // @ts-ignore: decorator\n @unsafe export function free(ptr: usize): void {\n __free(ptr);\n }\n\n /** Dangerously resets the entire heap. Specific to the stub runtime. */\n // @ts-ignore: decorator\n @unsafe export function reset(): void {\n if (isDefined(__reset)) {\n __reset();\n } else {\n throw new Error(E_NOTIMPLEMENTED);\n }\n }\n}\n","export function memcpy(dest: usize, src: usize, n: usize): void { // see: musl/src/string/memcpy.c\n let w: u32, x: u32;\n\n // copy 1 byte each until src is aligned to 4 bytes\n while (n && (src & 3)) {\n store(dest++, load(src++));\n n--;\n }\n\n // if dst is aligned to 4 bytes as well, copy 4 bytes each\n if ((dest & 3) == 0) {\n while (n >= 16) {\n store(dest , load(src ));\n store(dest + 4, load(src + 4));\n store(dest + 8, load(src + 8));\n store(dest + 12, load(src + 12));\n src += 16; dest += 16; n -= 16;\n }\n if (n & 8) {\n store(dest , load(src ));\n store(dest + 4, load(src + 4));\n dest += 8; src += 8;\n }\n if (n & 4) {\n store(dest, load(src));\n dest += 4; src += 4;\n }\n if (n & 2) { // drop to 2 bytes each\n store(dest, load(src));\n dest += 2; src += 2;\n }\n if (n & 1) { // drop to 1 byte\n store(dest++, load(src++));\n }\n return;\n }\n\n // if dst is not aligned to 4 bytes, use alternating shifts to copy 4 bytes each\n // doing shifts if faster when copying enough bytes (here: 32 or more)\n if (n >= 32) {\n switch (dest & 3) {\n // known to be != 0\n case 1: {\n w = load(src);\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n n -= 3;\n while (n >= 17) {\n x = load(src + 1);\n store(dest, w >> 24 | x << 8);\n w = load(src + 5);\n store(dest + 4, x >> 24 | w << 8);\n x = load(src + 9);\n store(dest + 8, w >> 24 | x << 8);\n w = load(src + 13);\n store(dest + 12, x >> 24 | w << 8);\n src += 16; dest += 16; n -= 16;\n }\n break;\n }\n case 2: {\n w = load(src);\n store(dest++, load(src++));\n store(dest++, load(src++));\n n -= 2;\n while (n >= 18) {\n x = load(src + 2);\n store(dest, w >> 16 | x << 16);\n w = load(src + 6);\n store(dest + 4, x >> 16 | w << 16);\n x = load(src + 10);\n store(dest + 8, w >> 16 | x << 16);\n w = load(src + 14);\n store(dest + 12, x >> 16 | w << 16);\n src += 16; dest += 16; n -= 16;\n }\n break;\n }\n case 3: {\n w = load(src);\n store(dest++, load(src++));\n n -= 1;\n while (n >= 19) {\n x = load(src + 3);\n store(dest, w >> 8 | x << 24);\n w = load(src + 7);\n store(dest + 4, x >> 8 | w << 24);\n x = load(src + 11);\n store(dest + 8, w >> 8 | x << 24);\n w = load(src + 15);\n store(dest + 12, x >> 8 | w << 24);\n src += 16; dest += 16; n -= 16;\n }\n break;\n }\n }\n }\n\n // copy remaining bytes one by one\n if (n & 16) {\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n }\n if (n & 8) {\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n }\n if (n & 4) {\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n }\n if (n & 2) {\n store(dest++, load(src++));\n store(dest++, load(src++));\n }\n if (n & 1) {\n store(dest++, load(src++));\n }\n}\n\n// @ts-ignore: decorator\n@inline\nexport function memmove(dest: usize, src: usize, n: usize): void { // see: musl/src/string/memmove.c\n if (dest == src) return;\n if (ASC_SHRINK_LEVEL < 1) {\n if (src - dest - n <= -(n << 1)) {\n memcpy(dest, src, n);\n return;\n }\n }\n if (dest < src) {\n if (ASC_SHRINK_LEVEL < 2) {\n if ((src & 7) == (dest & 7)) {\n while (dest & 7) {\n if (!n) return;\n --n;\n store(dest++, load(src++));\n }\n while (n >= 8) {\n store(dest, load(src));\n n -= 8;\n dest += 8;\n src += 8;\n }\n }\n }\n while (n) {\n store(dest++, load(src++));\n --n;\n }\n } else {\n if (ASC_SHRINK_LEVEL < 2) {\n if ((src & 7) == (dest & 7)) {\n while ((dest + n) & 7) {\n if (!n) return;\n store(dest + --n, load(src + n));\n }\n while (n >= 8) {\n n -= 8;\n store(dest + n, load(src + n));\n }\n }\n }\n while (n) {\n store(dest + --n, load(src + n));\n }\n }\n}\n\n// @ts-ignore: decorator\n@inline\nexport function memset(dest: usize, c: u8, n: usize): void { // see: musl/src/string/memset\n if (ASC_SHRINK_LEVEL > 1) {\n while (n) {\n store(dest++, c);\n --n;\n }\n } else {\n // fill head and tail with minimal branching\n if (!n) return;\n let dend = dest + n;\n store(dest, c);\n store(dend - 1, c);\n if (n <= 2) return;\n store(dest, c, 1);\n store(dest, c, 2);\n store(dend - 2, c);\n store(dend - 3, c);\n if (n <= 6) return;\n store(dest, c, 3);\n store(dend - 4, c);\n if (n <= 8) return;\n\n // advance pointer to align it at 4-byte boundary\n let k: usize = -dest & 3;\n dest += k;\n n -= k;\n n &= -4;\n\n let c32: u32 = -1 / 255 * c;\n\n // fill head/tail up to 28 bytes each in preparation\n dend = dest + n;\n store(dest, c32);\n store(dend - 4, c32);\n if (n <= 8) return;\n store(dest, c32, 4);\n store(dest, c32, 8);\n store(dend - 12, c32);\n store(dend - 8, c32);\n if (n <= 24) return;\n store(dest, c32, 12);\n store(dest, c32, 16);\n store(dest, c32, 20);\n store(dest, c32, 24);\n store(dend - 28, c32);\n store(dend - 24, c32);\n store(dend - 20, c32);\n store(dend - 16, c32);\n\n // align to a multiple of 8\n k = 24 + (dest & 4);\n dest += k;\n n -= k;\n\n // copy 32 bytes each\n let c64: u64 = c32 | (c32 << 32);\n while (n >= 32) {\n store(dest, c64);\n store(dest, c64, 8);\n store(dest, c64, 16);\n store(dest, c64, 24);\n n -= 32;\n dest += 32;\n }\n }\n}\n\n// @ts-ignore: decorator\n@inline\nexport function memcmp(vl: usize, vr: usize, n: usize): i32 {\n if (vl == vr) return 0;\n if (ASC_SHRINK_LEVEL < 2) {\n if ((vl & 7) == (vr & 7)) {\n while (vl & 7) {\n if (!n) return 0;\n let a = load(vl);\n let b = load(vr);\n if (a != b) return a - b;\n n--; vl++; vr++;\n }\n while (n >= 8) {\n if (load(vl) != load(vr)) break;\n vl += 8;\n vr += 8;\n n -= 8;\n }\n }\n }\n while (n--) {\n let a = load(vl);\n let b = load(vr);\n if (a != b) return a - b;\n vl++; vr++;\n }\n return 0;\n}\n"]} \ No newline at end of file diff --git a/tutorials/assemblyscript/bin/main.debug.wast b/tutorials/assemblyscript/bin/main.debug.wast new file mode 100644 index 00000000..d086f79a --- /dev/null +++ b/tutorials/assemblyscript/bin/main.debug.wast @@ -0,0 +1,5391 @@ +(module + (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) + (type $i32_i32_=>_none (func (param i32 i32))) + (type $i32_=>_i32 (func (param i32) (result i32))) + (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) + (type $i32_=>_none (func (param i32))) + (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) + (type $none_=>_none (func)) + (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) + (type $i32_i32_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32 i32) (result i32))) + (type $i32_i64_i32_=>_none (func (param i32 i64 i32))) + (type $i64_i32_=>_i32 (func (param i64 i32) (result i32))) + (type $i32_i64_i32_i32_=>_none (func (param i32 i64 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) + (import "env" "print_string" (func $~lib/as-warduino/assembly/warduino/_print (param i32 i32))) + (global $~lib/as-warduino/assembly/index/PinVoltage.LOW i32 (i32.const 0)) + (global $~lib/as-warduino/assembly/index/PinVoltage.HIGH i32 (i32.const 1)) + (global $~lib/as-warduino/assembly/index/InterruptMode.CHANGED i32 (i32.const 1)) + (global $~lib/as-warduino/assembly/index/InterruptMode.FALLING i32 (i32.const 2)) + (global $~lib/as-warduino/assembly/index/InterruptMode.RISING i32 (i32.const 3)) + (global $~lib/as-warduino/assembly/index/PinMode.INPUT i32 (i32.const 0)) + (global $~lib/as-warduino/assembly/index/PinMode.OUTPUT i32 (i32.const 2)) + (global $~lib/as-warduino/assembly/index/WiFi.Status.NoShield i32 (i32.const 255)) + (global $~lib/as-warduino/assembly/index/WiFi.Status.Idle i32 (i32.const 0)) + (global $~lib/as-warduino/assembly/index/WiFi.Status.SsidUnavailable i32 (i32.const 1)) + (global $~lib/as-warduino/assembly/index/WiFi.Status.ScanCompleted i32 (i32.const 2)) + (global $~lib/as-warduino/assembly/index/WiFi.Status.Connected i32 (i32.const 3)) + (global $~lib/as-warduino/assembly/index/WiFi.Status.ConnectFailed i32 (i32.const 4)) + (global $~lib/as-warduino/assembly/index/WiFi.Status.ConnectionLost i32 (i32.const 5)) + (global $~lib/as-warduino/assembly/index/WiFi.Status.Disconnected i32 (i32.const 6)) + (global $~lib/as-warduino/assembly/index/MQTT.Status.ConnectionTimeout i32 (i32.const -4)) + (global $~lib/as-warduino/assembly/index/MQTT.Status.ConnectionLost i32 (i32.const -3)) + (global $~lib/as-warduino/assembly/index/MQTT.Status.ConnectFailed i32 (i32.const -2)) + (global $~lib/as-warduino/assembly/index/MQTT.Status.Disconnected i32 (i32.const -1)) + (global $~lib/as-warduino/assembly/index/MQTT.Status.Connected i32 (i32.const 0)) + (global $~lib/as-warduino/assembly/index/MQTT.Status.ConnectBadProtocol i32 (i32.const 1)) + (global $~lib/as-warduino/assembly/index/MQTT.Status.ConnectBadClientId i32 (i32.const 2)) + (global $~lib/as-warduino/assembly/index/MQTT.Status.ConnectUnavailable i32 (i32.const 3)) + (global $~lib/as-warduino/assembly/index/MQTT.Status.ConnectBadCredentials i32 (i32.const 4)) + (global $~lib/as-warduino/assembly/index/MQTT.Status.ConnectUnauthorized i32 (i32.const 5)) + (global $~lib/as-warduino/assembly/index/buffersizeMaximum i32 (i32.const 1000)) + (global $~lib/shared/runtime/Runtime.Stub i32 (i32.const 0)) + (global $~lib/shared/runtime/Runtime.Minimal i32 (i32.const 1)) + (global $~lib/shared/runtime/Runtime.Incremental i32 (i32.const 2)) + (global $~lib/rt/stub/startOffset (mut i32) (i32.const 0)) + (global $~lib/rt/stub/offset (mut i32) (i32.const 0)) + (global $~argumentsLength (mut i32) (i32.const 0)) + (global $~lib/native/ASC_SHRINK_LEVEL i32 (i32.const 0)) + (global $~lib/memory/__heap_base i32 (i32.const 2364)) + (memory $0 1 2) + (data $0 (i32.const 12) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\008\00\00\00A\00S\00C\00I\00I\00 \00T\00a\00b\00l\00e\00 \00~\00 \00C\00h\00a\00r\00a\00c\00t\00e\00r\00 \00M\00a\00p\00\n\00\00\00\00\00") + (data $1 (i32.const 92) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00A\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00\00\00\00\00") + (data $2 (i32.const 156) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00s\00t\00u\00b\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $3 (i32.const 220) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00U\00n\00p\00a\00i\00r\00e\00d\00 \00s\00u\00r\00r\00o\00g\00a\00t\00e\00\00\00\00\00\00\00\00\00") + (data $4 (i32.const 284) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s\00") + (data $5 (i32.const 332) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00,\00 \00d\00e\00c\00:\00 \00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $6 (i32.const 380) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006\00\00\00\00\00\00\00\00\00") + (data $7 (i32.const 508) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s\00\00\00\00\00\00\00") + (data $8 (i32.const 572) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\000\00\00\00\00\00\00\00\00\00\00\00") + (data $9 (i32.const 604) "0\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\00") + (data $10 (i32.const 1004) "\1c\04\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $11 (i32.const 2060) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00n\00o\00p\00q\00r\00s\00t\00u\00v\00w\00x\00y\00z\00\00\00\00\00") + (data $12 (i32.const 2156) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $13 (i32.const 2188) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00,\00 \00h\00e\00x\00:\00 \00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $14 (i32.const 2236) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00,\00 \00o\00c\00t\00:\00 \00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $15 (i32.const 2284) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00,\00 \00b\00i\00n\00:\00 \00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $16 (i32.const 2332) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\n\00\00\00\00\00\00\00\00\00\00\00") + (table $0 1 funcref) + (elem $0 (i32.const 1)) + (export "main" (func $main/ascii/main)) + (export "memory" (memory $0)) + (export "table" (table $0)) + (start $~start) + (func $~lib/rt/common/OBJECT#get:rtSize (param $this i32) (result i32) + (i32.load offset=16 + (local.get $this) + ) + ) + (func $~lib/string/String.UTF8.byteLength (param $str i32) (param $nullTerminated i32) (result i32) + (local $strOff i32) + (local $strEnd i32) + (local $bufLen i32) + (local $c1 i32) + ;;@ ~lib/string.ts:672:6 + (local.set $strOff + ;;@ ~lib/string.ts:672:19 + (local.get $str) + ) + ;;@ ~lib/string.ts:673:6 + (local.set $strEnd + ;;@ ~lib/string.ts:673:19 + (i32.add + (local.get $strOff) + ;;@ ~lib/string.ts:673:28 + (call $~lib/rt/common/OBJECT#get:rtSize + ;;@ ~lib/string.ts:673:35 + (i32.sub + ;;@ ~lib/string.ts:673:54 + (local.get $str) + ;;@ ~lib/string.ts:673:79 + (i32.const 20) + ) + ) + ) + ) + ;;@ ~lib/string.ts:674:6 + (local.set $bufLen + ;;@ ~lib/string.ts:674:19 + (i32.ne + (local.get $nullTerminated) + (i32.const 0) + ) + ) + ;;@ ~lib/string.ts:675:6 + (block $while-break|0 + (loop $while-continue|0 + (if + ;;@ ~lib/string.ts:675:13 + (i32.lt_u + (local.get $strOff) + ;;@ ~lib/string.ts:675:22 + (local.get $strEnd) + ) + (block + ;;@ ~lib/string.ts:676:8 + (local.set $c1 + ;;@ ~lib/string.ts:676:17 + (i32.load16_u + ;;@ ~lib/string.ts:676:32 + (local.get $strOff) + ) + ) + ;;@ ~lib/string.ts:677:8 + (if + ;;@ ~lib/string.ts:677:12 + (i32.lt_u + (local.get $c1) + ;;@ ~lib/string.ts:677:17 + (i32.const 128) + ) + (block + ;;@ ~lib/string.ts:679:10 + (if + ;;@ ~lib/string.ts:679:14 + (i32.and + (local.get $nullTerminated) + ;;@ ~lib/string.ts:679:31 + (i32.eqz + ;;@ ~lib/string.ts:679:32 + (local.get $c1) + ) + ) + ;;@ ~lib/string.ts:679:36 + (br $while-break|0) + ) + ;;@ ~lib/string.ts:680:10 + (local.set $bufLen + (i32.add + (local.get $bufLen) + ;;@ ~lib/string.ts:680:20 + (i32.const 1) + ) + ) + ) + ;;@ ~lib/string.ts:681:15 + (if + ;;@ ~lib/string.ts:681:19 + (i32.lt_u + (local.get $c1) + ;;@ ~lib/string.ts:681:24 + (i32.const 2048) + ) + ;;@ ~lib/string.ts:682:10 + (local.set $bufLen + (i32.add + (local.get $bufLen) + ;;@ ~lib/string.ts:682:20 + (i32.const 2) + ) + ) + (block + ;;@ ~lib/string.ts:684:10 + (if + ;;@ ~lib/string.ts:684:14 + (if (result i32) + (i32.eq + ;;@ ~lib/string.ts:684:15 + (i32.and + (local.get $c1) + ;;@ ~lib/string.ts:684:20 + (i32.const 64512) + ) + ;;@ ~lib/string.ts:684:31 + (i32.const 55296) + ) + ;;@ ~lib/string.ts:684:41 + (i32.lt_u + (i32.add + (local.get $strOff) + ;;@ ~lib/string.ts:684:50 + (i32.const 2) + ) + ;;@ ~lib/string.ts:684:54 + (local.get $strEnd) + ) + (i32.const 0) + ) + ;;@ ~lib/string.ts:685:12 + (if + ;;@ ~lib/string.ts:685:16 + (i32.eq + ;;@ ~lib/string.ts:685:17 + (i32.and + (i32.load16_u offset=2 + ;;@ ~lib/string.ts:685:32 + (local.get $strOff) + ) + ;;@ ~lib/string.ts:685:45 + (i32.const 64512) + ) + ;;@ ~lib/string.ts:685:56 + (i32.const 56320) + ) + (block + ;;@ ~lib/string.ts:686:14 + (local.set $bufLen + (i32.add + (local.get $bufLen) + ;;@ ~lib/string.ts:686:24 + (i32.const 4) + ) + ) + ;;@ ~lib/string.ts:686:27 + (local.set $strOff + (i32.add + (local.get $strOff) + ;;@ ~lib/string.ts:686:37 + (i32.const 4) + ) + ) + ;;@ ~lib/string.ts:687:14 + (br $while-continue|0) + ) + ) + ) + ;;@ ~lib/string.ts:690:10 + (local.set $bufLen + (i32.add + (local.get $bufLen) + ;;@ ~lib/string.ts:690:20 + (i32.const 3) + ) + ) + ) + ) + ) + ;;@ ~lib/string.ts:692:8 + (local.set $strOff + (i32.add + (local.get $strOff) + ;;@ ~lib/string.ts:692:18 + (i32.const 2) + ) + ) + (br $while-continue|0) + ) + ) + ) + ) + ;;@ ~lib/string.ts:694:6 + (return + ;;@ ~lib/string.ts:694:13 + (local.get $bufLen) + ) + ) + (func $~lib/rt/stub/maybeGrowMemory (param $newOffset i32) + (local $pagesBefore i32) + (local $maxOffset i32) + (local $pagesNeeded i32) + (local $4 i32) + (local $5 i32) + (local $pagesWanted i32) + ;;@ ~lib/rt/stub.ts:13:2 + (local.set $pagesBefore + ;;@ ~lib/rt/stub.ts:13:20 + (memory.size) + ) + ;;@ ~lib/rt/stub.ts:14:2 + (local.set $maxOffset + ;;@ ~lib/rt/stub.ts:14:18 + (i32.and + ;;@ ~lib/rt/stub.ts:14:19 + (i32.add + ;;@ ~lib/rt/stub.ts:14:20 + (i32.shl + (local.get $pagesBefore) + ;;@ ~lib/rt/stub.ts:14:42 + (i32.const 16) + ) + ;;@ ~lib/rt/stub.ts:14:48 + (i32.const 15) + ) + ;;@ ~lib/rt/stub.ts:14:59 + (i32.xor + ;;@ ~lib/rt/stub.ts:14:60 + (i32.const 15) + (i32.const -1) + ) + ) + ) + ;;@ ~lib/rt/stub.ts:15:2 + (if + ;;@ ~lib/rt/stub.ts:15:6 + (i32.gt_u + (local.get $newOffset) + ;;@ ~lib/rt/stub.ts:15:18 + (local.get $maxOffset) + ) + (block + ;;@ ~lib/rt/stub.ts:16:4 + (local.set $pagesNeeded + ;;@ ~lib/rt/stub.ts:16:22 + (i32.shr_u + ;;@ ~lib/rt/stub.ts:16:29 + (i32.and + ;;@ ~lib/rt/stub.ts:16:30 + (i32.add + (i32.sub + (local.get $newOffset) + ;;@ ~lib/rt/stub.ts:16:42 + (local.get $maxOffset) + ) + ;;@ ~lib/rt/stub.ts:16:54 + (i32.const 65535) + ) + ;;@ ~lib/rt/stub.ts:16:64 + (i32.xor + ;;@ ~lib/rt/stub.ts:16:65 + (i32.const 65535) + (i32.const -1) + ) + ) + ;;@ ~lib/rt/stub.ts:16:77 + (i32.const 16) + ) + ) + ;;@ ~lib/rt/stub.ts:17:4 + (local.set $pagesWanted + ;;@ ~lib/rt/stub.ts:17:22 + (select + (local.tee $4 + ;;@ ~lib/rt/stub.ts:17:26 + (local.get $pagesBefore) + ) + (local.tee $5 + ;;@ ~lib/rt/stub.ts:17:39 + (local.get $pagesNeeded) + ) + (i32.gt_s + (local.get $4) + (local.get $5) + ) + ) + ) + ;;@ ~lib/rt/stub.ts:18:4 + (if + ;;@ ~lib/rt/stub.ts:18:8 + (i32.lt_s + (memory.grow + ;;@ ~lib/rt/stub.ts:18:20 + (local.get $pagesWanted) + ) + ;;@ ~lib/rt/stub.ts:18:35 + (i32.const 0) + ) + ;;@ ~lib/rt/stub.ts:19:6 + (if + ;;@ ~lib/rt/stub.ts:19:10 + (i32.lt_s + (memory.grow + ;;@ ~lib/rt/stub.ts:19:22 + (local.get $pagesNeeded) + ) + ;;@ ~lib/rt/stub.ts:19:37 + (i32.const 0) + ) + ;;@ ~lib/rt/stub.ts:19:40 + (unreachable) + ) + ) + ) + ) + ;;@ ~lib/rt/stub.ts:22:2 + (global.set $~lib/rt/stub/offset + ;;@ ~lib/rt/stub.ts:22:11 + (local.get $newOffset) + ) + ) + (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) + (i32.store + (local.get $this) + (local.get $mmInfo) + ) + ) + (func $~lib/rt/stub/__alloc (param $size i32) (result i32) + (local $block i32) + (local $ptr i32) + (local $size|3 i32) + (local $payloadSize i32) + ;;@ ~lib/rt/stub.ts:33:2 + (if + ;;@ ~lib/rt/stub.ts:33:6 + (i32.gt_u + (local.get $size) + ;;@ ~lib/rt/stub.ts:33:13 + (i32.const 1073741820) + ) + ;;@ ~lib/rt/stub.ts:33:28 + (block + (call $~lib/builtins/abort + ;;@ ~lib/rt/stub.ts:33:44 + (i32.const 112) + (i32.const 176) + (i32.const 33) + (i32.const 29) + ) + (unreachable) + ) + ) + ;;@ ~lib/rt/stub.ts:34:2 + (local.set $block + ;;@ ~lib/rt/stub.ts:34:14 + (global.get $~lib/rt/stub/offset) + ) + ;;@ ~lib/rt/stub.ts:35:2 + (local.set $ptr + ;;@ ~lib/rt/stub.ts:35:12 + (i32.add + (global.get $~lib/rt/stub/offset) + ;;@ ~lib/rt/stub.ts:35:21 + (i32.const 4) + ) + ) + ;;@ ~lib/rt/stub.ts:36:2 + (local.set $payloadSize + ;;@ ~lib/rt/stub.ts:36:20 + (block $~lib/rt/stub/computeSize|inlined.0 (result i32) + (local.set $size|3 + ;;@ ~lib/rt/stub.ts:36:32 + (local.get $size) + ) + ;;@ ~lib/rt/stub.ts:27:2 + (br $~lib/rt/stub/computeSize|inlined.0 + ;;@ ~lib/rt/stub.ts:27:9 + (i32.sub + ;;@ ~lib/rt/stub.ts:27:10 + (i32.and + ;;@ ~lib/rt/stub.ts:27:11 + (i32.add + (i32.add + (local.get $size|3) + ;;@ ~lib/rt/stub.ts:27:18 + (i32.const 4) + ) + ;;@ ~lib/rt/stub.ts:27:35 + (i32.const 15) + ) + ;;@ ~lib/rt/stub.ts:27:46 + (i32.xor + ;;@ ~lib/rt/stub.ts:27:47 + (i32.const 15) + (i32.const -1) + ) + ) + ;;@ ~lib/rt/stub.ts:27:58 + (i32.const 4) + ) + ) + ) + ) + ;;@ ~lib/rt/stub.ts:37:2 + (call $~lib/rt/stub/maybeGrowMemory + ;;@ ~lib/rt/stub.ts:37:18 + (i32.add + (local.get $ptr) + ;;@ ~lib/rt/stub.ts:37:24 + (local.get $payloadSize) + ) + ) + ;;@ ~lib/rt/stub.ts:38:2 + (call $~lib/rt/common/BLOCK#set:mmInfo + (local.get $block) + ;;@ ~lib/rt/stub.ts:38:17 + (local.get $payloadSize) + ) + ;;@ ~lib/rt/stub.ts:39:2 + (return + ;;@ ~lib/rt/stub.ts:39:9 + (local.get $ptr) + ) + ) + (func $~lib/rt/common/OBJECT#set:gcInfo (param $this i32) (param $gcInfo i32) + (i32.store offset=4 + (local.get $this) + (local.get $gcInfo) + ) + ) + (func $~lib/rt/common/OBJECT#set:gcInfo2 (param $this i32) (param $gcInfo2 i32) + (i32.store offset=8 + (local.get $this) + (local.get $gcInfo2) + ) + ) + (func $~lib/rt/common/OBJECT#set:rtId (param $this i32) (param $rtId i32) + (i32.store offset=12 + (local.get $this) + (local.get $rtId) + ) + ) + (func $~lib/rt/common/OBJECT#set:rtSize (param $this i32) (param $rtSize i32) + (i32.store offset=16 + (local.get $this) + (local.get $rtSize) + ) + ) + (func $~lib/rt/stub/__new (param $size i32) (param $id i32) (result i32) + (local $ptr i32) + (local $object i32) + ;;@ ~lib/rt/stub.ts:86:2 + (if + ;;@ ~lib/rt/stub.ts:86:6 + (i32.gt_u + (local.get $size) + ;;@ ~lib/rt/stub.ts:86:13 + (i32.const 1073741804) + ) + ;;@ ~lib/rt/stub.ts:86:29 + (block + (call $~lib/builtins/abort + ;;@ ~lib/rt/stub.ts:86:45 + (i32.const 112) + (i32.const 176) + (i32.const 86) + (i32.const 30) + ) + (unreachable) + ) + ) + ;;@ ~lib/rt/stub.ts:87:2 + (local.set $ptr + ;;@ ~lib/rt/stub.ts:87:12 + (call $~lib/rt/stub/__alloc + ;;@ ~lib/rt/stub.ts:87:20 + (i32.add + (i32.const 16) + ;;@ ~lib/rt/stub.ts:87:38 + (local.get $size) + ) + ) + ) + ;;@ ~lib/rt/stub.ts:88:2 + (local.set $object + ;;@ ~lib/rt/stub.ts:88:15 + (i32.sub + ;;@ ~lib/rt/stub.ts:88:34 + (local.get $ptr) + ;;@ ~lib/rt/stub.ts:88:40 + (i32.const 4) + ) + ) + ;;@ ~lib/rt/stub.ts:89:2 + (call $~lib/rt/common/OBJECT#set:gcInfo + (local.get $object) + ;;@ ~lib/rt/stub.ts:89:18 + (i32.const 0) + ) + ;;@ ~lib/rt/stub.ts:90:2 + (call $~lib/rt/common/OBJECT#set:gcInfo2 + (local.get $object) + ;;@ ~lib/rt/stub.ts:90:19 + (i32.const 0) + ) + ;;@ ~lib/rt/stub.ts:91:2 + (call $~lib/rt/common/OBJECT#set:rtId + (local.get $object) + ;;@ ~lib/rt/stub.ts:91:16 + (local.get $id) + ) + ;;@ ~lib/rt/stub.ts:92:2 + (call $~lib/rt/common/OBJECT#set:rtSize + (local.get $object) + ;;@ ~lib/rt/stub.ts:92:18 + (local.get $size) + ) + ;;@ ~lib/rt/stub.ts:93:2 + (return + ;;@ ~lib/rt/stub.ts:93:9 + (i32.add + (local.get $ptr) + ;;@ ~lib/rt/stub.ts:93:15 + (i32.const 16) + ) + ) + ) + (func $~lib/string/String#get:length (param $this i32) (result i32) + ;;@ ~lib/string.ts:51:4 + (return + ;;@ ~lib/string.ts:51:11 + (i32.shr_u + (call $~lib/rt/common/OBJECT#get:rtSize + (i32.sub + ;;@ ~lib/string.ts:51:30 + (local.get $this) + ;;@ ~lib/string.ts:51:56 + (i32.const 20) + ) + ) + ;;@ ~lib/string.ts:51:82 + (i32.const 1) + ) + ) + ) + (func $~lib/string/String.UTF8.encodeUnsafe (param $str i32) (param $len i32) (param $buf i32) (param $nullTerminated i32) (param $errorMode i32) (result i32) + (local $strEnd i32) + (local $bufOff i32) + (local $c1 i32) + (local $b0 i32) + (local $b1 i32) + (local $c2 i32) + (local $b0|11 i32) + (local $b1|12 i32) + (local $b2 i32) + (local $b3 i32) + (local $b0|15 i32) + (local $b1|16 i32) + (local $b2|17 i32) + (local $18 i32) + ;;@ ~lib/string.ts:706:6 + (local.set $strEnd + ;;@ ~lib/string.ts:706:19 + (i32.add + (local.get $str) + ;;@ ~lib/string.ts:706:26 + (i32.shl + (local.get $len) + ;;@ ~lib/string.ts:706:40 + (i32.const 1) + ) + ) + ) + ;;@ ~lib/string.ts:707:6 + (local.set $bufOff + ;;@ ~lib/string.ts:707:19 + (local.get $buf) + ) + ;;@ ~lib/string.ts:708:6 + (block $while-break|0 + (loop $while-continue|0 + (if + ;;@ ~lib/string.ts:708:13 + (i32.lt_u + (local.get $str) + ;;@ ~lib/string.ts:708:19 + (local.get $strEnd) + ) + (block + ;;@ ~lib/string.ts:709:8 + (local.set $c1 + ;;@ ~lib/string.ts:709:17 + (i32.load16_u + ;;@ ~lib/string.ts:709:32 + (local.get $str) + ) + ) + ;;@ ~lib/string.ts:710:8 + (if + ;;@ ~lib/string.ts:710:12 + (i32.lt_u + (local.get $c1) + ;;@ ~lib/string.ts:710:17 + (i32.const 128) + ) + (block + ;;@ ~lib/string.ts:711:10 + (i32.store8 + ;;@ ~lib/string.ts:711:20 + (local.get $bufOff) + ;;@ ~lib/string.ts:711:28 + (local.get $c1) + ) + ;;@ ~lib/string.ts:712:10 + (local.set $bufOff + (i32.add + (local.get $bufOff) + (i32.const 1) + ) + ) + ;;@ ~lib/string.ts:714:10 + (if + ;;@ ~lib/string.ts:714:14 + (i32.and + (local.get $nullTerminated) + ;;@ ~lib/string.ts:714:31 + (i32.eqz + ;;@ ~lib/string.ts:714:32 + (local.get $c1) + ) + ) + ;;@ ~lib/string.ts:714:36 + (return + ;;@ ~lib/string.ts:714:43 + (i32.sub + (local.get $bufOff) + ;;@ ~lib/string.ts:714:52 + (local.get $buf) + ) + ) + ) + ) + ;;@ ~lib/string.ts:715:15 + (if + ;;@ ~lib/string.ts:715:19 + (i32.lt_u + (local.get $c1) + ;;@ ~lib/string.ts:715:24 + (i32.const 2048) + ) + (block + ;;@ ~lib/string.ts:716:10 + (local.set $b0 + ;;@ ~lib/string.ts:716:19 + (i32.or + (i32.shr_u + (local.get $c1) + ;;@ ~lib/string.ts:716:25 + (i32.const 6) + ) + ;;@ ~lib/string.ts:716:29 + (i32.const 192) + ) + ) + ;;@ ~lib/string.ts:717:10 + (local.set $b1 + ;;@ ~lib/string.ts:717:19 + (i32.or + (i32.and + (local.get $c1) + ;;@ ~lib/string.ts:717:24 + (i32.const 63) + ) + ;;@ ~lib/string.ts:717:29 + (i32.const 128) + ) + ) + ;;@ ~lib/string.ts:718:10 + (i32.store16 + ;;@ ~lib/string.ts:718:21 + (local.get $bufOff) + ;;@ ~lib/string.ts:718:29 + (i32.or + (i32.shl + (local.get $b1) + ;;@ ~lib/string.ts:718:35 + (i32.const 8) + ) + ;;@ ~lib/string.ts:718:39 + (local.get $b0) + ) + ) + ;;@ ~lib/string.ts:719:10 + (local.set $bufOff + (i32.add + (local.get $bufOff) + ;;@ ~lib/string.ts:719:20 + (i32.const 2) + ) + ) + ) + (block + ;;@ ~lib/string.ts:727:10 + (if + ;;@ ~lib/string.ts:727:14 + (i32.eq + ;;@ ~lib/string.ts:727:15 + (i32.and + (local.get $c1) + ;;@ ~lib/string.ts:727:20 + (i32.const 63488) + ) + ;;@ ~lib/string.ts:727:31 + (i32.const 55296) + ) + (block + ;;@ ~lib/string.ts:728:12 + (if + ;;@ ~lib/string.ts:728:16 + (if (result i32) + (i32.lt_u + (local.get $c1) + ;;@ ~lib/string.ts:728:21 + (i32.const 56320) + ) + ;;@ ~lib/string.ts:728:31 + (i32.lt_u + (i32.add + (local.get $str) + ;;@ ~lib/string.ts:728:37 + (i32.const 2) + ) + ;;@ ~lib/string.ts:728:41 + (local.get $strEnd) + ) + (i32.const 0) + ) + (block + ;;@ ~lib/string.ts:729:14 + (local.set $c2 + ;;@ ~lib/string.ts:729:23 + (i32.load16_u offset=2 + ;;@ ~lib/string.ts:729:38 + (local.get $str) + ) + ) + ;;@ ~lib/string.ts:730:14 + (if + ;;@ ~lib/string.ts:730:18 + (i32.eq + ;;@ ~lib/string.ts:730:19 + (i32.and + (local.get $c2) + ;;@ ~lib/string.ts:730:24 + (i32.const 64512) + ) + ;;@ ~lib/string.ts:730:35 + (i32.const 56320) + ) + (block + ;;@ ~lib/string.ts:731:16 + (local.set $c1 + ;;@ ~lib/string.ts:731:21 + (i32.or + (i32.add + (i32.const 65536) + ;;@ ~lib/string.ts:731:32 + (i32.shl + ;;@ ~lib/string.ts:731:33 + (i32.and + (local.get $c1) + ;;@ ~lib/string.ts:731:38 + (i32.const 1023) + ) + ;;@ ~lib/string.ts:731:49 + (i32.const 10) + ) + ) + ;;@ ~lib/string.ts:731:56 + (i32.and + (local.get $c2) + ;;@ ~lib/string.ts:731:61 + (i32.const 1023) + ) + ) + ) + ;;@ ~lib/string.ts:732:16 + (local.set $b0|11 + ;;@ ~lib/string.ts:732:25 + (i32.or + (i32.shr_u + (local.get $c1) + ;;@ ~lib/string.ts:732:31 + (i32.const 18) + ) + ;;@ ~lib/string.ts:732:36 + (i32.const 240) + ) + ) + ;;@ ~lib/string.ts:733:16 + (local.set $b1|12 + ;;@ ~lib/string.ts:733:25 + (i32.or + (i32.and + (i32.shr_u + (local.get $c1) + ;;@ ~lib/string.ts:733:31 + (i32.const 12) + ) + ;;@ ~lib/string.ts:733:36 + (i32.const 63) + ) + ;;@ ~lib/string.ts:733:41 + (i32.const 128) + ) + ) + ;;@ ~lib/string.ts:734:16 + (local.set $b2 + ;;@ ~lib/string.ts:734:25 + (i32.or + (i32.and + (i32.shr_u + (local.get $c1) + ;;@ ~lib/string.ts:734:31 + (i32.const 6) + ) + ;;@ ~lib/string.ts:734:36 + (i32.const 63) + ) + ;;@ ~lib/string.ts:734:41 + (i32.const 128) + ) + ) + ;;@ ~lib/string.ts:735:16 + (local.set $b3 + ;;@ ~lib/string.ts:735:25 + (i32.or + (i32.and + (local.get $c1) + ;;@ ~lib/string.ts:735:36 + (i32.const 63) + ) + ;;@ ~lib/string.ts:735:41 + (i32.const 128) + ) + ) + ;;@ ~lib/string.ts:736:16 + (i32.store + ;;@ ~lib/string.ts:736:27 + (local.get $bufOff) + ;;@ ~lib/string.ts:736:35 + (i32.or + (i32.or + (i32.or + (i32.shl + (local.get $b3) + ;;@ ~lib/string.ts:736:41 + (i32.const 24) + ) + ;;@ ~lib/string.ts:736:46 + (i32.shl + (local.get $b2) + ;;@ ~lib/string.ts:736:52 + (i32.const 16) + ) + ) + ;;@ ~lib/string.ts:736:57 + (i32.shl + (local.get $b1|12) + ;;@ ~lib/string.ts:736:63 + (i32.const 8) + ) + ) + ;;@ ~lib/string.ts:736:67 + (local.get $b0|11) + ) + ) + ;;@ ~lib/string.ts:737:16 + (local.set $bufOff + (i32.add + (local.get $bufOff) + ;;@ ~lib/string.ts:737:26 + (i32.const 4) + ) + ) + ;;@ ~lib/string.ts:737:29 + (local.set $str + (i32.add + (local.get $str) + ;;@ ~lib/string.ts:737:36 + (i32.const 4) + ) + ) + ;;@ ~lib/string.ts:738:16 + (br $while-continue|0) + ) + ) + ) + ) + ;;@ ~lib/string.ts:741:12 + (if + ;;@ ~lib/string.ts:741:16 + (i32.ne + (local.get $errorMode) + ;;@ ~lib/string.ts:741:29 + (i32.const 0) + ) + (block + ;;@ ~lib/string.ts:742:14 + (if + ;;@ ~lib/string.ts:742:18 + (i32.eq + (local.get $errorMode) + ;;@ ~lib/string.ts:742:31 + (i32.const 2) + ) + ;;@ ~lib/string.ts:742:48 + (block + (call $~lib/builtins/abort + ;;@ ~lib/string.ts:742:64 + (i32.const 240) + (i32.const 304) + (i32.const 742) + (i32.const 49) + ) + (unreachable) + ) + ) + ;;@ ~lib/string.ts:743:14 + (local.set $c1 + ;;@ ~lib/string.ts:743:19 + (i32.const 65533) + ) + ) + ) + ) + ) + ;;@ ~lib/string.ts:746:10 + (local.set $b0|15 + ;;@ ~lib/string.ts:746:19 + (i32.or + (i32.shr_u + (local.get $c1) + ;;@ ~lib/string.ts:746:25 + (i32.const 12) + ) + ;;@ ~lib/string.ts:746:30 + (i32.const 224) + ) + ) + ;;@ ~lib/string.ts:747:10 + (local.set $b1|16 + ;;@ ~lib/string.ts:747:19 + (i32.or + (i32.and + (i32.shr_u + (local.get $c1) + ;;@ ~lib/string.ts:747:25 + (i32.const 6) + ) + ;;@ ~lib/string.ts:747:30 + (i32.const 63) + ) + ;;@ ~lib/string.ts:747:35 + (i32.const 128) + ) + ) + ;;@ ~lib/string.ts:748:10 + (local.set $b2|17 + ;;@ ~lib/string.ts:748:19 + (i32.or + (i32.and + (local.get $c1) + ;;@ ~lib/string.ts:748:30 + (i32.const 63) + ) + ;;@ ~lib/string.ts:748:35 + (i32.const 128) + ) + ) + ;;@ ~lib/string.ts:749:10 + (i32.store16 + ;;@ ~lib/string.ts:749:21 + (local.get $bufOff) + ;;@ ~lib/string.ts:749:29 + (i32.or + (i32.shl + (local.get $b1|16) + ;;@ ~lib/string.ts:749:35 + (i32.const 8) + ) + ;;@ ~lib/string.ts:749:39 + (local.get $b0|15) + ) + ) + ;;@ ~lib/string.ts:750:10 + (i32.store8 offset=2 + ;;@ ~lib/string.ts:750:20 + (local.get $bufOff) + ;;@ ~lib/string.ts:750:28 + (local.get $b2|17) + ) + ;;@ ~lib/string.ts:751:10 + (local.set $bufOff + (i32.add + (local.get $bufOff) + ;;@ ~lib/string.ts:751:20 + (i32.const 3) + ) + ) + ) + ) + ) + ;;@ ~lib/string.ts:753:8 + (local.set $str + (i32.add + (local.get $str) + ;;@ ~lib/string.ts:753:15 + (i32.const 2) + ) + ) + (br $while-continue|0) + ) + ) + ) + ) + ;;@ ~lib/string.ts:755:6 + (if + ;;@ ~lib/string.ts:755:10 + (local.get $nullTerminated) + ;;@ ~lib/string.ts:756:8 + (i32.store8 + ;;@ ~lib/string.ts:756:18 + (block (result i32) + (local.set $bufOff + (i32.add + (local.tee $18 + (local.get $bufOff) + ) + (i32.const 1) + ) + ) + (local.get $18) + ) + ;;@ ~lib/string.ts:756:28 + (i32.const 0) + ) + ) + ;;@ ~lib/string.ts:758:6 + (return + ;;@ ~lib/string.ts:758:13 + (i32.sub + (local.get $bufOff) + ;;@ ~lib/string.ts:758:22 + (local.get $buf) + ) + ) + ) + (func $~lib/string/String.UTF8.encode (param $str i32) (param $nullTerminated i32) (param $errorMode i32) (result i32) + (local $buf i32) + ;;@ ~lib/string.ts:698:6 + (local.set $buf + ;;@ ~lib/string.ts:698:16 + (call $~lib/rt/stub/__new + ;;@ ~lib/string.ts:698:46 + (call $~lib/string/String.UTF8.byteLength + ;;@ ~lib/string.ts:698:64 + (local.get $str) + ;;@ ~lib/string.ts:698:69 + (local.get $nullTerminated) + ) + ;;@ ~lib/string.ts:698:86 + (i32.const 1) + ) + ) + ;;@ ~lib/string.ts:699:6 + (drop + (call $~lib/string/String.UTF8.encodeUnsafe + ;;@ ~lib/string.ts:699:19 + (local.get $str) + ;;@ ~lib/string.ts:699:43 + (call $~lib/string/String#get:length + (local.get $str) + ) + ;;@ ~lib/string.ts:699:55 + (local.get $buf) + ;;@ ~lib/string.ts:699:79 + (local.get $nullTerminated) + ;;@ ~lib/string.ts:699:95 + (local.get $errorMode) + ) + ) + ;;@ ~lib/string.ts:700:6 + (return + ;;@ ~lib/string.ts:700:13 + (local.get $buf) + ) + ) + (func $~lib/string/String.UTF8.encode@varargs (param $str i32) (param $nullTerminated i32) (param $errorMode i32) (result i32) + (block $2of2 + (block $1of2 + (block $0of2 + (block $outOfRange + (br_table $0of2 $1of2 $2of2 $outOfRange + (i32.sub + (global.get $~argumentsLength) + (i32.const 1) + ) + ) + ) + (unreachable) + ) + (local.set $nullTerminated + ;;@ ~lib/string.ts:697:63 + (i32.const 0) + ) + ) + (local.set $errorMode + ;;@ ~lib/string.ts:697:93 + (i32.const 0) + ) + ) + (call $~lib/string/String.UTF8.encode + (local.get $str) + (local.get $nullTerminated) + (local.get $errorMode) + ) + ) + (func $~lib/as-warduino/assembly/index/print (param $text i32) + ;;@ ~lib/as-warduino/assembly/index.ts:119:4 + (call $~lib/as-warduino/assembly/warduino/_print + ;;@ ~lib/as-warduino/assembly/index.ts:119:16 + (call $~lib/string/String.UTF8.encode@varargs + ;;@ ~lib/as-warduino/assembly/index.ts:119:35 + (local.get $text) + ;;@ ~lib/as-warduino/assembly/index.ts:119:41 + (i32.const 1) + (block (result i32) + (global.set $~argumentsLength + (i32.const 2) + ) + (i32.const 0) + ) + ) + ;;@ ~lib/as-warduino/assembly/index.ts:119:48 + (call $~lib/string/String.UTF8.byteLength + ;;@ ~lib/as-warduino/assembly/index.ts:119:71 + (local.get $text) + ;;@ ~lib/as-warduino/assembly/index.ts:119:77 + (i32.const 1) + ) + ) + ) + (func $~lib/string/String.fromCharCode (param $unit i32) (param $surr i32) (result i32) + (local $hasSur i32) + (local $out i32) + ;;@ ~lib/string.ts:15:4 + (local.set $hasSur + ;;@ ~lib/string.ts:15:17 + (i32.gt_s + (local.get $surr) + ;;@ ~lib/string.ts:15:24 + (i32.const 0) + ) + ) + ;;@ ~lib/string.ts:16:4 + (local.set $out + ;;@ ~lib/string.ts:16:14 + (call $~lib/rt/stub/__new + ;;@ ~lib/string.ts:16:39 + (i32.shl + (i32.const 2) + ;;@ ~lib/string.ts:16:44 + (local.get $hasSur) + ) + ;;@ ~lib/string.ts:16:57 + (i32.const 2) + ) + ) + ;;@ ~lib/string.ts:17:4 + (i32.store16 + ;;@ ~lib/string.ts:17:15 + (local.get $out) + ;;@ ~lib/string.ts:17:39 + (local.get $unit) + ) + ;;@ ~lib/string.ts:18:4 + (if + ;;@ ~lib/string.ts:18:8 + (local.get $hasSur) + ;;@ ~lib/string.ts:18:16 + (i32.store16 offset=2 + ;;@ ~lib/string.ts:18:27 + (local.get $out) + ;;@ ~lib/string.ts:18:51 + (local.get $surr) + ) + ) + ;;@ ~lib/string.ts:19:4 + (return + ;;@ ~lib/string.ts:19:11 + (local.get $out) + ) + ) + (func $~lib/string/String.fromCharCode@varargs (param $unit i32) (param $surr i32) (result i32) + (block $1of1 + (block $0of1 + (block $outOfRange + (br_table $0of1 $1of1 $outOfRange + (i32.sub + (global.get $~argumentsLength) + (i32.const 1) + ) + ) + ) + (unreachable) + ) + (local.set $surr + ;;@ ~lib/string.ts:14:45 + (i32.const -1) + ) + ) + (call $~lib/string/String.fromCharCode + (local.get $unit) + (local.get $surr) + ) + ) + (func $~lib/util/number/decimalCount32 (param $value i32) (result i32) + ;;@ ~lib/util/number.ts:134:2 + (if + ;;@ ~lib/util/number.ts:134:6 + (i32.lt_u + (local.get $value) + ;;@ ~lib/util/number.ts:134:14 + (i32.const 100000) + ) + ;;@ ~lib/util/number.ts:135:4 + (if + ;;@ ~lib/util/number.ts:135:8 + (i32.lt_u + (local.get $value) + ;;@ ~lib/util/number.ts:135:16 + (i32.const 100) + ) + ;;@ ~lib/util/number.ts:136:6 + (return + ;;@ ~lib/util/number.ts:136:13 + (i32.add + (i32.const 1) + ;;@ ~lib/util/number.ts:136:17 + (i32.ge_u + ;;@ ~lib/util/number.ts:136:21 + (local.get $value) + ;;@ ~lib/util/number.ts:136:30 + (i32.const 10) + ) + ) + ) + ;;@ ~lib/util/number.ts:138:6 + (return + ;;@ ~lib/util/number.ts:138:13 + (i32.add + (i32.add + (i32.const 3) + ;;@ ~lib/util/number.ts:138:17 + (i32.ge_u + ;;@ ~lib/util/number.ts:138:21 + (local.get $value) + ;;@ ~lib/util/number.ts:138:30 + (i32.const 10000) + ) + ) + ;;@ ~lib/util/number.ts:138:39 + (i32.ge_u + ;;@ ~lib/util/number.ts:138:43 + (local.get $value) + ;;@ ~lib/util/number.ts:138:52 + (i32.const 1000) + ) + ) + ) + ) + ;;@ ~lib/util/number.ts:141:4 + (if + ;;@ ~lib/util/number.ts:141:8 + (i32.lt_u + (local.get $value) + ;;@ ~lib/util/number.ts:141:16 + (i32.const 10000000) + ) + ;;@ ~lib/util/number.ts:142:6 + (return + ;;@ ~lib/util/number.ts:142:13 + (i32.add + (i32.const 6) + ;;@ ~lib/util/number.ts:142:17 + (i32.ge_u + ;;@ ~lib/util/number.ts:142:21 + (local.get $value) + ;;@ ~lib/util/number.ts:142:30 + (i32.const 1000000) + ) + ) + ) + ;;@ ~lib/util/number.ts:144:6 + (return + ;;@ ~lib/util/number.ts:144:13 + (i32.add + (i32.add + (i32.const 8) + ;;@ ~lib/util/number.ts:144:17 + (i32.ge_u + ;;@ ~lib/util/number.ts:144:21 + (local.get $value) + ;;@ ~lib/util/number.ts:144:30 + (i32.const 1000000000) + ) + ) + ;;@ ~lib/util/number.ts:144:44 + (i32.ge_u + ;;@ ~lib/util/number.ts:144:48 + (local.get $value) + ;;@ ~lib/util/number.ts:144:57 + (i32.const 100000000) + ) + ) + ) + ) + ) + ) + (func $~lib/util/number/utoa32_dec_lut (param $buffer i32) (param $num i32) (param $offset i32) + (local $t i32) + (local $r i32) + (local $d1 i32) + (local $d2 i32) + (local $digits1 i64) + (local $digits2 i64) + (local $t|9 i32) + (local $d1|10 i32) + (local $digits i32) + (local $digits|12 i32) + (local $digit i32) + ;;@ ~lib/util/number.ts:185:2 + (block $while-break|0 + (loop $while-continue|0 + (if + ;;@ ~lib/util/number.ts:185:9 + (i32.ge_u + (local.get $num) + ;;@ ~lib/util/number.ts:185:16 + (i32.const 10000) + ) + (block + ;;@ ~lib/util/number.ts:187:4 + (local.set $t + ;;@ ~lib/util/number.ts:187:12 + (i32.div_u + (local.get $num) + ;;@ ~lib/util/number.ts:187:18 + (i32.const 10000) + ) + ) + ;;@ ~lib/util/number.ts:188:4 + (local.set $r + ;;@ ~lib/util/number.ts:188:12 + (i32.rem_u + (local.get $num) + ;;@ ~lib/util/number.ts:188:18 + (i32.const 10000) + ) + ) + ;;@ ~lib/util/number.ts:189:4 + (local.set $num + ;;@ ~lib/util/number.ts:189:10 + (local.get $t) + ) + ;;@ ~lib/util/number.ts:191:4 + (local.set $d1 + ;;@ ~lib/util/number.ts:191:13 + (i32.div_u + (local.get $r) + ;;@ ~lib/util/number.ts:191:17 + (i32.const 100) + ) + ) + ;;@ ~lib/util/number.ts:192:4 + (local.set $d2 + ;;@ ~lib/util/number.ts:192:13 + (i32.rem_u + (local.get $r) + ;;@ ~lib/util/number.ts:192:17 + (i32.const 100) + ) + ) + ;;@ ~lib/util/number.ts:194:4 + (local.set $digits1 + ;;@ ~lib/util/number.ts:194:18 + (i64.load32_u + ;;@ ~lib/util/number.ts:194:33 + (i32.add + (i32.const 604) + ;;@ ~lib/util/number.ts:194:43 + (i32.shl + (local.get $d1) + ;;@ ~lib/util/number.ts:194:56 + (i32.const 2) + ) + ) + ) + ) + ;;@ ~lib/util/number.ts:195:4 + (local.set $digits2 + ;;@ ~lib/util/number.ts:195:18 + (i64.load32_u + ;;@ ~lib/util/number.ts:195:33 + (i32.add + (i32.const 604) + ;;@ ~lib/util/number.ts:195:43 + (i32.shl + (local.get $d2) + ;;@ ~lib/util/number.ts:195:56 + (i32.const 2) + ) + ) + ) + ) + ;;@ ~lib/util/number.ts:197:4 + (local.set $offset + (i32.sub + (local.get $offset) + ;;@ ~lib/util/number.ts:197:14 + (i32.const 4) + ) + ) + ;;@ ~lib/util/number.ts:198:4 + (i64.store + ;;@ ~lib/util/number.ts:198:15 + (i32.add + (local.get $buffer) + ;;@ ~lib/util/number.ts:198:25 + (i32.shl + (local.get $offset) + ;;@ ~lib/util/number.ts:198:35 + (i32.const 1) + ) + ) + ;;@ ~lib/util/number.ts:198:39 + (i64.or + (local.get $digits1) + ;;@ ~lib/util/number.ts:198:50 + (i64.shl + (local.get $digits2) + ;;@ ~lib/util/number.ts:198:61 + (i64.const 32) + ) + ) + ) + (br $while-continue|0) + ) + ) + ) + ) + ;;@ ~lib/util/number.ts:201:2 + (if + ;;@ ~lib/util/number.ts:201:6 + (i32.ge_u + (local.get $num) + ;;@ ~lib/util/number.ts:201:13 + (i32.const 100) + ) + (block + ;;@ ~lib/util/number.ts:202:4 + (local.set $t|9 + ;;@ ~lib/util/number.ts:202:13 + (i32.div_u + (local.get $num) + ;;@ ~lib/util/number.ts:202:19 + (i32.const 100) + ) + ) + ;;@ ~lib/util/number.ts:203:4 + (local.set $d1|10 + ;;@ ~lib/util/number.ts:203:13 + (i32.rem_u + (local.get $num) + ;;@ ~lib/util/number.ts:203:19 + (i32.const 100) + ) + ) + ;;@ ~lib/util/number.ts:204:4 + (local.set $num + ;;@ ~lib/util/number.ts:204:10 + (local.get $t|9) + ) + ;;@ ~lib/util/number.ts:205:4 + (local.set $offset + (i32.sub + (local.get $offset) + ;;@ ~lib/util/number.ts:205:14 + (i32.const 2) + ) + ) + ;;@ ~lib/util/number.ts:206:4 + (local.set $digits + ;;@ ~lib/util/number.ts:206:17 + (i32.load + ;;@ ~lib/util/number.ts:206:27 + (i32.add + (i32.const 604) + ;;@ ~lib/util/number.ts:206:37 + (i32.shl + (local.get $d1|10) + ;;@ ~lib/util/number.ts:206:50 + (i32.const 2) + ) + ) + ) + ) + ;;@ ~lib/util/number.ts:207:4 + (i32.store + ;;@ ~lib/util/number.ts:207:15 + (i32.add + (local.get $buffer) + ;;@ ~lib/util/number.ts:207:25 + (i32.shl + (local.get $offset) + ;;@ ~lib/util/number.ts:207:35 + (i32.const 1) + ) + ) + ;;@ ~lib/util/number.ts:207:39 + (local.get $digits) + ) + ) + ) + ;;@ ~lib/util/number.ts:210:2 + (if + ;;@ ~lib/util/number.ts:210:6 + (i32.ge_u + (local.get $num) + ;;@ ~lib/util/number.ts:210:13 + (i32.const 10) + ) + (block + ;;@ ~lib/util/number.ts:211:4 + (local.set $offset + (i32.sub + (local.get $offset) + ;;@ ~lib/util/number.ts:211:14 + (i32.const 2) + ) + ) + ;;@ ~lib/util/number.ts:212:4 + (local.set $digits|12 + ;;@ ~lib/util/number.ts:212:17 + (i32.load + ;;@ ~lib/util/number.ts:212:27 + (i32.add + (i32.const 604) + ;;@ ~lib/util/number.ts:212:37 + (i32.shl + (local.get $num) + ;;@ ~lib/util/number.ts:212:51 + (i32.const 2) + ) + ) + ) + ) + ;;@ ~lib/util/number.ts:213:4 + (i32.store + ;;@ ~lib/util/number.ts:213:15 + (i32.add + (local.get $buffer) + ;;@ ~lib/util/number.ts:213:25 + (i32.shl + (local.get $offset) + ;;@ ~lib/util/number.ts:213:35 + (i32.const 1) + ) + ) + ;;@ ~lib/util/number.ts:213:39 + (local.get $digits|12) + ) + ) + (block + ;;@ ~lib/util/number.ts:215:4 + (local.set $offset + (i32.sub + (local.get $offset) + ;;@ ~lib/util/number.ts:215:14 + (i32.const 1) + ) + ) + ;;@ ~lib/util/number.ts:216:4 + (local.set $digit + ;;@ ~lib/util/number.ts:216:16 + (i32.add + (i32.const 48) + ;;@ ~lib/util/number.ts:216:30 + (local.get $num) + ) + ) + ;;@ ~lib/util/number.ts:217:4 + (i32.store16 + ;;@ ~lib/util/number.ts:217:15 + (i32.add + (local.get $buffer) + ;;@ ~lib/util/number.ts:217:25 + (i32.shl + (local.get $offset) + ;;@ ~lib/util/number.ts:217:35 + (i32.const 1) + ) + ) + ;;@ ~lib/util/number.ts:217:39 + (local.get $digit) + ) + ) + ) + ) + (func $~lib/util/number/utoa_hex_lut (param $buffer i32) (param $num i64) (param $offset i32) + ;;@ ~lib/util/number.ts:253:2 + (block $while-break|0 + (loop $while-continue|0 + (if + ;;@ ~lib/util/number.ts:253:9 + (i32.ge_u + (local.get $offset) + ;;@ ~lib/util/number.ts:253:19 + (i32.const 2) + ) + (block + ;;@ ~lib/util/number.ts:254:4 + (local.set $offset + (i32.sub + (local.get $offset) + ;;@ ~lib/util/number.ts:254:14 + (i32.const 2) + ) + ) + ;;@ ~lib/util/number.ts:255:4 + (i32.store + ;;@ ~lib/util/number.ts:256:6 + (i32.add + (local.get $buffer) + ;;@ ~lib/util/number.ts:256:16 + (i32.shl + (local.get $offset) + ;;@ ~lib/util/number.ts:256:26 + (i32.const 1) + ) + ) + ;;@ ~lib/util/number.ts:257:6 + (i32.load + ;;@ ~lib/util/number.ts:257:16 + (i32.add + (i32.const 1024) + ;;@ ~lib/util/number.ts:257:23 + (i32.shl + ;;@ ~lib/util/number.ts:257:24 + (i32.and + (i32.wrap_i64 + (local.get $num) + ) + ;;@ ~lib/util/number.ts:257:37 + (i32.const 255) + ) + ;;@ ~lib/util/number.ts:257:46 + (i32.const 2) + ) + ) + ) + ) + ;;@ ~lib/util/number.ts:259:4 + (local.set $num + (i64.shr_u + (local.get $num) + ;;@ ~lib/util/number.ts:259:12 + (i64.const 8) + ) + ) + (br $while-continue|0) + ) + ) + ) + ) + ;;@ ~lib/util/number.ts:261:2 + (if + ;;@ ~lib/util/number.ts:261:6 + (i32.and + (local.get $offset) + ;;@ ~lib/util/number.ts:261:15 + (i32.const 1) + ) + ;;@ ~lib/util/number.ts:262:4 + (i32.store16 + ;;@ ~lib/util/number.ts:262:15 + (local.get $buffer) + ;;@ ~lib/util/number.ts:262:23 + (i32.load16_u + ;;@ ~lib/util/number.ts:262:33 + (i32.add + (i32.const 1024) + ;;@ ~lib/util/number.ts:262:40 + (i32.shl + (i32.wrap_i64 + (local.get $num) + ) + ;;@ ~lib/util/number.ts:262:54 + (i32.const 6) + ) + ) + ) + ) + ) + ) + (func $~lib/util/number/ulog_base (param $num i64) (param $base i32) (result i32) + (local $value i32) + (local $b64 i64) + (local $b i64) + (local $e i32) + ;;@ ~lib/util/number.ts:168:2 + (if + ;;@ ~lib/util/number.ts:168:6 + (block $~lib/util/number/isPowerOf2|inlined.0 (result i32) + (local.set $value + ;;@ ~lib/util/number.ts:168:17 + (local.get $base) + ) + ;;@ ~lib/util/number.ts:128:2 + (br $~lib/util/number/isPowerOf2|inlined.0 + ;;@ ~lib/util/number.ts:128:9 + (i32.eq + (i32.popcnt + ;;@ ~lib/util/number.ts:128:19 + (local.get $value) + ) + ;;@ ~lib/util/number.ts:128:29 + (i32.const 1) + ) + ) + ) + ;;@ ~lib/util/number.ts:169:4 + (return + ;;@ ~lib/util/number.ts:169:11 + (i32.add + (i32.div_u + ;;@ ~lib/util/number.ts:169:12 + (i32.sub + (i32.const 63) + ;;@ ~lib/util/number.ts:169:17 + (i32.wrap_i64 + (i64.clz + ;;@ ~lib/util/number.ts:169:26 + (local.get $num) + ) + ) + ) + ;;@ ~lib/util/number.ts:169:35 + (i32.sub + (i32.const 31) + ;;@ ~lib/util/number.ts:169:40 + (i32.clz + ;;@ ~lib/util/number.ts:169:49 + (local.get $base) + ) + ) + ) + ;;@ ~lib/util/number.ts:169:58 + (i32.const 1) + ) + ) + ) + (local.set $b64 + ;;@ ~lib/util/number.ts:171:12 + (i64.extend_i32_s + (local.get $base) + ) + ) + (local.set $b + ;;@ ~lib/util/number.ts:171:27 + (local.get $b64) + ) + (local.set $e + ;;@ ~lib/util/number.ts:171:41 + (i32.const 1) + ) + ;;@ ~lib/util/number.ts:172:2 + (block $while-break|0 + (loop $while-continue|0 + (if + ;;@ ~lib/util/number.ts:172:9 + (i64.ge_u + (local.get $num) + ;;@ ~lib/util/number.ts:172:16 + (local.get $b) + ) + (block + ;;@ ~lib/util/number.ts:173:4 + (local.set $num + (i64.div_u + (local.get $num) + ;;@ ~lib/util/number.ts:173:11 + (local.get $b) + ) + ) + ;;@ ~lib/util/number.ts:174:4 + (local.set $b + (i64.mul + (local.get $b) + ;;@ ~lib/util/number.ts:174:9 + (local.get $b) + ) + ) + ;;@ ~lib/util/number.ts:175:4 + (local.set $e + (i32.shl + (local.get $e) + ;;@ ~lib/util/number.ts:175:10 + (i32.const 1) + ) + ) + (br $while-continue|0) + ) + ) + ) + ) + ;;@ ~lib/util/number.ts:177:2 + (block $while-break|1 + (loop $while-continue|1 + (if + ;;@ ~lib/util/number.ts:177:9 + (i64.ge_u + (local.get $num) + ;;@ ~lib/util/number.ts:177:16 + (i64.const 1) + ) + (block + ;;@ ~lib/util/number.ts:178:4 + (local.set $num + (i64.div_u + (local.get $num) + ;;@ ~lib/util/number.ts:178:11 + (local.get $b64) + ) + ) + ;;@ ~lib/util/number.ts:179:4 + (local.set $e + (i32.add + (local.get $e) + (i32.const 1) + ) + ) + (br $while-continue|1) + ) + ) + ) + ) + ;;@ ~lib/util/number.ts:181:2 + (return + ;;@ ~lib/util/number.ts:181:9 + (i32.sub + (local.get $e) + ;;@ ~lib/util/number.ts:181:13 + (i32.const 1) + ) + ) + ) + (func $~lib/util/number/utoa64_any_core (param $buffer i32) (param $num i64) (param $offset i32) (param $radix i32) + (local $base i64) + (local $shift i64) + (local $mask i64) + (local $q i64) + ;;@ ~lib/util/number.ts:329:2 + (local.set $base + ;;@ ~lib/util/number.ts:329:13 + (i64.extend_i32_s + (local.get $radix) + ) + ) + ;;@ ~lib/util/number.ts:330:2 + (if + ;;@ ~lib/util/number.ts:330:6 + (i32.eq + ;;@ ~lib/util/number.ts:330:7 + (i32.and + (local.get $radix) + ;;@ ~lib/util/number.ts:330:16 + (i32.sub + (local.get $radix) + ;;@ ~lib/util/number.ts:330:24 + (i32.const 1) + ) + ) + ;;@ ~lib/util/number.ts:330:31 + (i32.const 0) + ) + (block + ;;@ ~lib/util/number.ts:331:4 + (local.set $shift + ;;@ ~lib/util/number.ts:331:16 + (i64.extend_i32_s + (i32.and + ;;@ ~lib/util/number.ts:331:20 + (i32.ctz + ;;@ ~lib/util/number.ts:331:24 + (local.get $radix) + ) + ;;@ ~lib/util/number.ts:331:33 + (i32.const 7) + ) + ) + ) + ;;@ ~lib/util/number.ts:332:4 + (local.set $mask + ;;@ ~lib/util/number.ts:332:15 + (i64.sub + (local.get $base) + ;;@ ~lib/util/number.ts:332:22 + (i64.const 1) + ) + ) + ;;@ ~lib/util/number.ts:333:4 + (loop $do-loop|0 + ;;@ ~lib/util/number.ts:334:6 + (local.set $offset + (i32.sub + (local.get $offset) + (i32.const 1) + ) + ) + ;;@ ~lib/util/number.ts:335:6 + (i32.store16 + ;;@ ~lib/util/number.ts:335:17 + (i32.add + (local.get $buffer) + ;;@ ~lib/util/number.ts:335:27 + (i32.shl + (local.get $offset) + ;;@ ~lib/util/number.ts:335:37 + (i32.const 1) + ) + ) + ;;@ ~lib/util/number.ts:335:41 + (i32.load16_u + ;;@ ~lib/util/number.ts:335:51 + (i32.add + (i32.const 2080) + ;;@ ~lib/util/number.ts:335:58 + (i32.shl + (i32.wrap_i64 + (i64.and + ;;@ ~lib/util/number.ts:335:64 + (local.get $num) + ;;@ ~lib/util/number.ts:335:70 + (local.get $mask) + ) + ) + ;;@ ~lib/util/number.ts:335:79 + (i32.const 1) + ) + ) + ) + ) + ;;@ ~lib/util/number.ts:336:6 + (local.set $num + (i64.shr_u + (local.get $num) + ;;@ ~lib/util/number.ts:336:14 + (local.get $shift) + ) + ) + (br_if $do-loop|0 + (i64.ne + ;;@ ~lib/util/number.ts:337:13 + (local.get $num) + (i64.const 0) + ) + ) + ) + ) + ;;@ ~lib/util/number.ts:339:4 + (loop $do-loop|1 + ;;@ ~lib/util/number.ts:340:6 + (local.set $offset + (i32.sub + (local.get $offset) + (i32.const 1) + ) + ) + ;;@ ~lib/util/number.ts:341:6 + (local.set $q + ;;@ ~lib/util/number.ts:341:14 + (i64.div_u + (local.get $num) + ;;@ ~lib/util/number.ts:341:20 + (local.get $base) + ) + ) + ;;@ ~lib/util/number.ts:342:6 + (i32.store16 + ;;@ ~lib/util/number.ts:342:17 + (i32.add + (local.get $buffer) + ;;@ ~lib/util/number.ts:342:27 + (i32.shl + (local.get $offset) + ;;@ ~lib/util/number.ts:342:37 + (i32.const 1) + ) + ) + ;;@ ~lib/util/number.ts:342:41 + (i32.load16_u + ;;@ ~lib/util/number.ts:342:51 + (i32.add + (i32.const 2080) + ;;@ ~lib/util/number.ts:342:58 + (i32.shl + (i32.wrap_i64 + (i64.sub + ;;@ ~lib/util/number.ts:342:64 + (local.get $num) + ;;@ ~lib/util/number.ts:342:70 + (i64.mul + (local.get $q) + ;;@ ~lib/util/number.ts:342:74 + (local.get $base) + ) + ) + ) + ;;@ ~lib/util/number.ts:342:83 + (i32.const 1) + ) + ) + ) + ) + ;;@ ~lib/util/number.ts:343:6 + (local.set $num + ;;@ ~lib/util/number.ts:343:12 + (local.get $q) + ) + (br_if $do-loop|1 + (i64.ne + ;;@ ~lib/util/number.ts:344:13 + (local.get $num) + (i64.const 0) + ) + ) + ) + ) + ) + (func $~lib/util/number/itoa32 (param $value i32) (param $radix i32) (result i32) + (local $sign i32) + (local $out i32) + (local $decimals i32) + (local $buffer i32) + (local $num i32) + (local $offset i32) + (local $decimals|8 i32) + (local $buffer|9 i32) + (local $num|10 i32) + (local $offset|11 i32) + (local $val32 i32) + (local $decimals|13 i32) + ;;@ ~lib/util/number.ts:372:2 + (if + ;;@ ~lib/util/number.ts:372:6 + (if (result i32) + (i32.lt_s + (local.get $radix) + ;;@ ~lib/util/number.ts:372:14 + (i32.const 2) + ) + (i32.const 1) + ;;@ ~lib/util/number.ts:372:19 + (i32.gt_s + (local.get $radix) + ;;@ ~lib/util/number.ts:372:27 + (i32.const 36) + ) + ) + (block + (call $~lib/builtins/abort + ;;@ ~lib/util/number.ts:373:25 + (i32.const 400) + (i32.const 528) + (i32.const 373) + (i32.const 5) + ) + (unreachable) + ) + ) + ;;@ ~lib/util/number.ts:375:2 + (if + ;;@ ~lib/util/number.ts:375:6 + (i32.eqz + ;;@ ~lib/util/number.ts:375:7 + (local.get $value) + ) + ;;@ ~lib/util/number.ts:375:14 + (return + ;;@ ~lib/util/number.ts:375:21 + (i32.const 592) + ) + ) + ;;@ ~lib/util/number.ts:377:2 + (local.set $sign + ;;@ ~lib/util/number.ts:377:13 + (i32.shl + ;;@ ~lib/util/number.ts:377:14 + (i32.shr_u + (local.get $value) + ;;@ ~lib/util/number.ts:377:24 + (i32.const 31) + ) + ;;@ ~lib/util/number.ts:377:31 + (i32.const 1) + ) + ) + ;;@ ~lib/util/number.ts:378:2 + (if + ;;@ ~lib/util/number.ts:378:6 + (local.get $sign) + ;;@ ~lib/util/number.ts:378:12 + (local.set $value + ;;@ ~lib/util/number.ts:378:20 + (i32.sub + (i32.const 0) + ;;@ ~lib/util/number.ts:378:21 + (local.get $value) + ) + ) + ) + ;;@ ~lib/util/number.ts:381:2 + (if + ;;@ ~lib/util/number.ts:381:6 + (i32.eq + (local.get $radix) + ;;@ ~lib/util/number.ts:381:15 + (i32.const 10) + ) + (block + ;;@ ~lib/util/number.ts:382:4 + (local.set $decimals + ;;@ ~lib/util/number.ts:382:19 + (call $~lib/util/number/decimalCount32 + ;;@ ~lib/util/number.ts:382:34 + (local.get $value) + ) + ) + ;;@ ~lib/util/number.ts:383:4 + (local.set $out + ;;@ ~lib/util/number.ts:383:10 + (call $~lib/rt/stub/__new + ;;@ ~lib/util/number.ts:383:35 + (i32.add + ;;@ ~lib/util/number.ts:383:36 + (i32.shl + (local.get $decimals) + ;;@ ~lib/util/number.ts:383:48 + (i32.const 1) + ) + ;;@ ~lib/util/number.ts:383:53 + (local.get $sign) + ) + ;;@ ~lib/util/number.ts:383:59 + (i32.const 2) + ) + ) + ;;@ ~lib/util/number.ts:384:4 + (block $~lib/util/number/utoa32_dec_core|inlined.0 + (local.set $buffer + ;;@ ~lib/util/number.ts:384:20 + (i32.add + (local.get $out) + ;;@ ~lib/util/number.ts:384:45 + (local.get $sign) + ) + ) + (local.set $num + ;;@ ~lib/util/number.ts:384:51 + (local.get $value) + ) + (local.set $offset + ;;@ ~lib/util/number.ts:384:58 + (local.get $decimals) + ) + (drop + ;;@ ~lib/util/number.ts:290:6 + (i32.ge_s + (i32.const 0) + ;;@ ~lib/util/number.ts:290:26 + (i32.const 1) + ) + ) + ;;@ ~lib/util/number.ts:292:9 + (call $~lib/util/number/utoa32_dec_lut + ;;@ ~lib/util/number.ts:293:19 + (local.get $buffer) + ;;@ ~lib/util/number.ts:293:27 + (local.get $num) + ;;@ ~lib/util/number.ts:293:32 + (local.get $offset) + ) + ) + ) + ;;@ ~lib/util/number.ts:385:9 + (if + ;;@ ~lib/util/number.ts:385:13 + (i32.eq + (local.get $radix) + ;;@ ~lib/util/number.ts:385:22 + (i32.const 16) + ) + (block + ;;@ ~lib/util/number.ts:386:4 + (local.set $decimals|8 + ;;@ ~lib/util/number.ts:386:19 + (i32.add + ;;@ ~lib/util/number.ts:386:20 + (i32.shr_s + (i32.sub + (i32.const 31) + ;;@ ~lib/util/number.ts:386:25 + (i32.clz + ;;@ ~lib/util/number.ts:386:29 + (local.get $value) + ) + ) + ;;@ ~lib/util/number.ts:386:39 + (i32.const 2) + ) + ;;@ ~lib/util/number.ts:386:44 + (i32.const 1) + ) + ) + ;;@ ~lib/util/number.ts:387:4 + (local.set $out + ;;@ ~lib/util/number.ts:387:10 + (call $~lib/rt/stub/__new + ;;@ ~lib/util/number.ts:387:35 + (i32.add + ;;@ ~lib/util/number.ts:387:36 + (i32.shl + (local.get $decimals|8) + ;;@ ~lib/util/number.ts:387:48 + (i32.const 1) + ) + ;;@ ~lib/util/number.ts:387:53 + (local.get $sign) + ) + ;;@ ~lib/util/number.ts:387:59 + (i32.const 2) + ) + ) + ;;@ ~lib/util/number.ts:388:4 + (block $~lib/util/number/utoa32_hex_core|inlined.0 + (local.set $buffer|9 + ;;@ ~lib/util/number.ts:388:20 + (i32.add + (local.get $out) + ;;@ ~lib/util/number.ts:388:45 + (local.get $sign) + ) + ) + (local.set $num|10 + ;;@ ~lib/util/number.ts:388:51 + (local.get $value) + ) + (local.set $offset|11 + ;;@ ~lib/util/number.ts:388:58 + (local.get $decimals|8) + ) + (drop + ;;@ ~lib/util/number.ts:300:6 + (i32.ge_s + (i32.const 0) + ;;@ ~lib/util/number.ts:300:26 + (i32.const 1) + ) + ) + ;;@ ~lib/util/number.ts:302:9 + (call $~lib/util/number/utoa_hex_lut + ;;@ ~lib/util/number.ts:303:17 + (local.get $buffer|9) + ;;@ ~lib/util/number.ts:303:25 + (i64.extend_i32_u + (local.get $num|10) + ) + ;;@ ~lib/util/number.ts:303:30 + (local.get $offset|11) + ) + ) + ) + (block + ;;@ ~lib/util/number.ts:390:4 + (local.set $val32 + ;;@ ~lib/util/number.ts:390:16 + (local.get $value) + ) + ;;@ ~lib/util/number.ts:391:4 + (local.set $decimals|13 + ;;@ ~lib/util/number.ts:391:19 + (call $~lib/util/number/ulog_base + ;;@ ~lib/util/number.ts:391:29 + (i64.extend_i32_u + (local.get $val32) + ) + ;;@ ~lib/util/number.ts:391:36 + (local.get $radix) + ) + ) + ;;@ ~lib/util/number.ts:392:4 + (local.set $out + ;;@ ~lib/util/number.ts:392:10 + (call $~lib/rt/stub/__new + ;;@ ~lib/util/number.ts:392:35 + (i32.add + ;;@ ~lib/util/number.ts:392:36 + (i32.shl + (local.get $decimals|13) + ;;@ ~lib/util/number.ts:392:48 + (i32.const 1) + ) + ;;@ ~lib/util/number.ts:392:53 + (local.get $sign) + ) + ;;@ ~lib/util/number.ts:392:59 + (i32.const 2) + ) + ) + ;;@ ~lib/util/number.ts:393:4 + (call $~lib/util/number/utoa64_any_core + ;;@ ~lib/util/number.ts:393:20 + (i32.add + (local.get $out) + ;;@ ~lib/util/number.ts:393:45 + (local.get $sign) + ) + ;;@ ~lib/util/number.ts:393:51 + (i64.extend_i32_u + (local.get $val32) + ) + ;;@ ~lib/util/number.ts:393:58 + (local.get $decimals|13) + ;;@ ~lib/util/number.ts:393:68 + (local.get $radix) + ) + ) + ) + ) + ;;@ ~lib/util/number.ts:395:2 + (if + ;;@ ~lib/util/number.ts:395:6 + (local.get $sign) + ;;@ ~lib/util/number.ts:395:12 + (i32.store16 + ;;@ ~lib/util/number.ts:395:23 + (local.get $out) + ;;@ ~lib/util/number.ts:395:47 + (i32.const 45) + ) + ) + ;;@ ~lib/util/number.ts:396:2 + (return + ;;@ ~lib/util/number.ts:396:9 + (local.get $out) + ) + ) + (func $~lib/number/I32#toString (param $this i32) (param $radix i32) (result i32) + ;;@ ~lib/number.ts:79:4 + (return + ;;@ ~lib/number.ts:79:11 + (call $~lib/util/number/itoa32 + ;;@ ~lib/number.ts:79:18 + (local.get $this) + ;;@ ~lib/number.ts:79:24 + (local.get $radix) + ) + ) + ) + (func $~lib/util/memory/memcpy (param $dest i32) (param $src i32) (param $n i32) + (local $w i32) + (local $x i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i32) + (local $15 i32) + (local $16 i32) + (local $17 i32) + (local $18 i32) + (local $19 i32) + (local $20 i32) + (local $21 i32) + (local $22 i32) + (local $23 i32) + (local $24 i32) + (local $25 i32) + (local $26 i32) + (local $27 i32) + (local $28 i32) + (local $29 i32) + (local $30 i32) + (local $31 i32) + (local $32 i32) + (local $33 i32) + (local $34 i32) + (local $35 i32) + (local $36 i32) + (local $37 i32) + (local $38 i32) + (local $39 i32) + (local $40 i32) + (local $41 i32) + (local $42 i32) + (local $43 i32) + (local $44 i32) + (local $45 i32) + (local $46 i32) + (local $47 i32) + (local $48 i32) + (local $49 i32) + (local $50 i32) + (local $51 i32) + (local $52 i32) + (local $53 i32) + (local $54 i32) + (local $55 i32) + (local $56 i32) + (local $57 i32) + (local $58 i32) + (local $59 i32) + (local $60 i32) + (local $61 i32) + (local $62 i32) + (local $63 i32) + (local $64 i32) + (local $65 i32) + (local $66 i32) + (local $67 i32) + (local $68 i32) + (local $69 i32) + (local $70 i32) + (local $71 i32) + (local $72 i32) + (local $73 i32) + (local $74 i32) + (local $75 i32) + (local $76 i32) + (local $77 i32) + (local $78 i32) + (local $79 i32) + (local $80 i32) + (local $81 i32) + (local $82 i32) + (local $83 i32) + ;;@ ~lib/util/memory.ts:5:2 + (block $while-break|0 + (loop $while-continue|0 + (if + ;;@ ~lib/util/memory.ts:5:9 + (if (result i32) + (local.get $n) + ;;@ ~lib/util/memory.ts:5:15 + (i32.and + (local.get $src) + ;;@ ~lib/util/memory.ts:5:21 + (i32.const 3) + ) + (i32.const 0) + ) + (block + ;;@ ~lib/util/memory.ts:6:4 + (i32.store8 + ;;@ ~lib/util/memory.ts:6:14 + (block (result i32) + (local.set $dest + (i32.add + (local.tee $5 + (local.get $dest) + ) + (i32.const 1) + ) + ) + (local.get $5) + ) + ;;@ ~lib/util/memory.ts:6:22 + (i32.load8_u + ;;@ ~lib/util/memory.ts:6:31 + (block (result i32) + (local.set $src + (i32.add + (local.tee $6 + (local.get $src) + ) + (i32.const 1) + ) + ) + (local.get $6) + ) + ) + ) + ;;@ ~lib/util/memory.ts:7:4 + (local.set $n + (i32.sub + (local.get $n) + (i32.const 1) + ) + ) + (br $while-continue|0) + ) + ) + ) + ) + ;;@ ~lib/util/memory.ts:11:2 + (if + ;;@ ~lib/util/memory.ts:11:6 + (i32.eq + ;;@ ~lib/util/memory.ts:11:7 + (i32.and + (local.get $dest) + ;;@ ~lib/util/memory.ts:11:14 + (i32.const 3) + ) + ;;@ ~lib/util/memory.ts:11:20 + (i32.const 0) + ) + (block + ;;@ ~lib/util/memory.ts:12:4 + (block $while-break|1 + (loop $while-continue|1 + (if + ;;@ ~lib/util/memory.ts:12:11 + (i32.ge_u + (local.get $n) + ;;@ ~lib/util/memory.ts:12:16 + (i32.const 16) + ) + (block + ;;@ ~lib/util/memory.ts:13:6 + (i32.store + ;;@ ~lib/util/memory.ts:13:17 + (local.get $dest) + ;;@ ~lib/util/memory.ts:13:28 + (i32.load + ;;@ ~lib/util/memory.ts:13:38 + (local.get $src) + ) + ) + ;;@ ~lib/util/memory.ts:14:6 + (i32.store + ;;@ ~lib/util/memory.ts:14:17 + (i32.add + (local.get $dest) + ;;@ ~lib/util/memory.ts:14:25 + (i32.const 4) + ) + ;;@ ~lib/util/memory.ts:14:28 + (i32.load + ;;@ ~lib/util/memory.ts:14:38 + (i32.add + (local.get $src) + ;;@ ~lib/util/memory.ts:14:45 + (i32.const 4) + ) + ) + ) + ;;@ ~lib/util/memory.ts:15:6 + (i32.store + ;;@ ~lib/util/memory.ts:15:17 + (i32.add + (local.get $dest) + ;;@ ~lib/util/memory.ts:15:25 + (i32.const 8) + ) + ;;@ ~lib/util/memory.ts:15:28 + (i32.load + ;;@ ~lib/util/memory.ts:15:38 + (i32.add + (local.get $src) + ;;@ ~lib/util/memory.ts:15:45 + (i32.const 8) + ) + ) + ) + ;;@ ~lib/util/memory.ts:16:6 + (i32.store + ;;@ ~lib/util/memory.ts:16:17 + (i32.add + (local.get $dest) + ;;@ ~lib/util/memory.ts:16:24 + (i32.const 12) + ) + ;;@ ~lib/util/memory.ts:16:28 + (i32.load + ;;@ ~lib/util/memory.ts:16:38 + (i32.add + (local.get $src) + ;;@ ~lib/util/memory.ts:16:44 + (i32.const 12) + ) + ) + ) + ;;@ ~lib/util/memory.ts:17:6 + (local.set $src + (i32.add + (local.get $src) + ;;@ ~lib/util/memory.ts:17:13 + (i32.const 16) + ) + ) + ;;@ ~lib/util/memory.ts:17:17 + (local.set $dest + (i32.add + (local.get $dest) + ;;@ ~lib/util/memory.ts:17:25 + (i32.const 16) + ) + ) + ;;@ ~lib/util/memory.ts:17:29 + (local.set $n + (i32.sub + (local.get $n) + ;;@ ~lib/util/memory.ts:17:34 + (i32.const 16) + ) + ) + (br $while-continue|1) + ) + ) + ) + ) + ;;@ ~lib/util/memory.ts:19:4 + (if + ;;@ ~lib/util/memory.ts:19:8 + (i32.and + (local.get $n) + ;;@ ~lib/util/memory.ts:19:12 + (i32.const 8) + ) + (block + ;;@ ~lib/util/memory.ts:20:6 + (i32.store + ;;@ ~lib/util/memory.ts:20:17 + (local.get $dest) + ;;@ ~lib/util/memory.ts:20:27 + (i32.load + ;;@ ~lib/util/memory.ts:20:37 + (local.get $src) + ) + ) + ;;@ ~lib/util/memory.ts:21:6 + (i32.store + ;;@ ~lib/util/memory.ts:21:17 + (i32.add + (local.get $dest) + ;;@ ~lib/util/memory.ts:21:24 + (i32.const 4) + ) + ;;@ ~lib/util/memory.ts:21:27 + (i32.load + ;;@ ~lib/util/memory.ts:21:37 + (i32.add + (local.get $src) + ;;@ ~lib/util/memory.ts:21:43 + (i32.const 4) + ) + ) + ) + ;;@ ~lib/util/memory.ts:22:6 + (local.set $dest + (i32.add + (local.get $dest) + ;;@ ~lib/util/memory.ts:22:14 + (i32.const 8) + ) + ) + ;;@ ~lib/util/memory.ts:22:17 + (local.set $src + (i32.add + (local.get $src) + ;;@ ~lib/util/memory.ts:22:24 + (i32.const 8) + ) + ) + ) + ) + ;;@ ~lib/util/memory.ts:24:4 + (if + ;;@ ~lib/util/memory.ts:24:8 + (i32.and + (local.get $n) + ;;@ ~lib/util/memory.ts:24:12 + (i32.const 4) + ) + (block + ;;@ ~lib/util/memory.ts:25:6 + (i32.store + ;;@ ~lib/util/memory.ts:25:17 + (local.get $dest) + ;;@ ~lib/util/memory.ts:25:23 + (i32.load + ;;@ ~lib/util/memory.ts:25:33 + (local.get $src) + ) + ) + ;;@ ~lib/util/memory.ts:26:6 + (local.set $dest + (i32.add + (local.get $dest) + ;;@ ~lib/util/memory.ts:26:14 + (i32.const 4) + ) + ) + ;;@ ~lib/util/memory.ts:26:17 + (local.set $src + (i32.add + (local.get $src) + ;;@ ~lib/util/memory.ts:26:24 + (i32.const 4) + ) + ) + ) + ) + ;;@ ~lib/util/memory.ts:28:4 + (if + ;;@ ~lib/util/memory.ts:28:8 + (i32.and + (local.get $n) + ;;@ ~lib/util/memory.ts:28:12 + (i32.const 2) + ) + (block + ;;@ ~lib/util/memory.ts:29:6 + (i32.store16 + ;;@ ~lib/util/memory.ts:29:17 + (local.get $dest) + ;;@ ~lib/util/memory.ts:29:23 + (i32.load16_u + ;;@ ~lib/util/memory.ts:29:33 + (local.get $src) + ) + ) + ;;@ ~lib/util/memory.ts:30:6 + (local.set $dest + (i32.add + (local.get $dest) + ;;@ ~lib/util/memory.ts:30:14 + (i32.const 2) + ) + ) + ;;@ ~lib/util/memory.ts:30:17 + (local.set $src + (i32.add + (local.get $src) + ;;@ ~lib/util/memory.ts:30:24 + (i32.const 2) + ) + ) + ) + ) + ;;@ ~lib/util/memory.ts:32:4 + (if + ;;@ ~lib/util/memory.ts:32:8 + (i32.and + (local.get $n) + ;;@ ~lib/util/memory.ts:32:12 + (i32.const 1) + ) + ;;@ ~lib/util/memory.ts:33:6 + (i32.store8 + ;;@ ~lib/util/memory.ts:33:16 + (block (result i32) + (local.set $dest + (i32.add + (local.tee $7 + (local.get $dest) + ) + (i32.const 1) + ) + ) + (local.get $7) + ) + ;;@ ~lib/util/memory.ts:33:24 + (i32.load8_u + ;;@ ~lib/util/memory.ts:33:33 + (block (result i32) + (local.set $src + (i32.add + (local.tee $8 + (local.get $src) + ) + (i32.const 1) + ) + ) + (local.get $8) + ) + ) + ) + ) + ;;@ ~lib/util/memory.ts:35:4 + (return) + ) + ) + ;;@ ~lib/util/memory.ts:40:2 + (if + ;;@ ~lib/util/memory.ts:40:6 + (i32.ge_u + (local.get $n) + ;;@ ~lib/util/memory.ts:40:11 + (i32.const 32) + ) + ;;@ ~lib/util/memory.ts:41:4 + (block $break|2 + (block $case2|2 + (block $case1|2 + (block $case0|2 + (local.set $9 + ;;@ ~lib/util/memory.ts:41:12 + (i32.and + (local.get $dest) + ;;@ ~lib/util/memory.ts:41:24 + (i32.const 3) + ) + ) + (br_if $case0|2 + (i32.eq + (local.get $9) + ;;@ ~lib/util/memory.ts:43:11 + (i32.const 1) + ) + ) + (br_if $case1|2 + (i32.eq + (local.get $9) + ;;@ ~lib/util/memory.ts:62:11 + (i32.const 2) + ) + ) + (br_if $case2|2 + (i32.eq + (local.get $9) + ;;@ ~lib/util/memory.ts:80:11 + (i32.const 3) + ) + ) + (br $break|2) + ) + ;;@ ~lib/util/memory.ts:43:14 + (block + ;;@ ~lib/util/memory.ts:44:8 + (local.set $w + ;;@ ~lib/util/memory.ts:44:12 + (i32.load + ;;@ ~lib/util/memory.ts:44:22 + (local.get $src) + ) + ) + ;;@ ~lib/util/memory.ts:45:8 + (i32.store8 + ;;@ ~lib/util/memory.ts:45:18 + (block (result i32) + (local.set $dest + (i32.add + (local.tee $10 + (local.get $dest) + ) + (i32.const 1) + ) + ) + (local.get $10) + ) + ;;@ ~lib/util/memory.ts:45:26 + (i32.load8_u + ;;@ ~lib/util/memory.ts:45:35 + (block (result i32) + (local.set $src + (i32.add + (local.tee $11 + (local.get $src) + ) + (i32.const 1) + ) + ) + (local.get $11) + ) + ) + ) + ;;@ ~lib/util/memory.ts:46:8 + (i32.store8 + ;;@ ~lib/util/memory.ts:46:18 + (block (result i32) + (local.set $dest + (i32.add + (local.tee $12 + (local.get $dest) + ) + (i32.const 1) + ) + ) + (local.get $12) + ) + ;;@ ~lib/util/memory.ts:46:26 + (i32.load8_u + ;;@ ~lib/util/memory.ts:46:35 + (block (result i32) + (local.set $src + (i32.add + (local.tee $13 + (local.get $src) + ) + (i32.const 1) + ) + ) + (local.get $13) + ) + ) + ) + ;;@ ~lib/util/memory.ts:47:8 + (i32.store8 + ;;@ ~lib/util/memory.ts:47:18 + (block (result i32) + (local.set $dest + (i32.add + (local.tee $14 + (local.get $dest) + ) + (i32.const 1) + ) + ) + (local.get $14) + ) + ;;@ ~lib/util/memory.ts:47:26 + (i32.load8_u + ;;@ ~lib/util/memory.ts:47:35 + (block (result i32) + (local.set $src + (i32.add + (local.tee $15 + (local.get $src) + ) + (i32.const 1) + ) + ) + (local.get $15) + ) + ) + ) + ;;@ ~lib/util/memory.ts:48:8 + (local.set $n + (i32.sub + (local.get $n) + ;;@ ~lib/util/memory.ts:48:13 + (i32.const 3) + ) + ) + ;;@ ~lib/util/memory.ts:49:8 + (block $while-break|3 + (loop $while-continue|3 + (if + ;;@ ~lib/util/memory.ts:49:15 + (i32.ge_u + (local.get $n) + ;;@ ~lib/util/memory.ts:49:20 + (i32.const 17) + ) + (block + ;;@ ~lib/util/memory.ts:50:10 + (local.set $x + ;;@ ~lib/util/memory.ts:50:14 + (i32.load + ;;@ ~lib/util/memory.ts:50:24 + (i32.add + (local.get $src) + ;;@ ~lib/util/memory.ts:50:30 + (i32.const 1) + ) + ) + ) + ;;@ ~lib/util/memory.ts:51:10 + (i32.store + ;;@ ~lib/util/memory.ts:51:21 + (local.get $dest) + ;;@ ~lib/util/memory.ts:51:27 + (i32.or + (i32.shr_u + (local.get $w) + ;;@ ~lib/util/memory.ts:51:32 + (i32.const 24) + ) + ;;@ ~lib/util/memory.ts:51:37 + (i32.shl + (local.get $x) + ;;@ ~lib/util/memory.ts:51:42 + (i32.const 8) + ) + ) + ) + ;;@ ~lib/util/memory.ts:52:10 + (local.set $w + ;;@ ~lib/util/memory.ts:52:14 + (i32.load + ;;@ ~lib/util/memory.ts:52:24 + (i32.add + (local.get $src) + ;;@ ~lib/util/memory.ts:52:30 + (i32.const 5) + ) + ) + ) + ;;@ ~lib/util/memory.ts:53:10 + (i32.store + ;;@ ~lib/util/memory.ts:53:21 + (i32.add + (local.get $dest) + ;;@ ~lib/util/memory.ts:53:28 + (i32.const 4) + ) + ;;@ ~lib/util/memory.ts:53:31 + (i32.or + (i32.shr_u + (local.get $x) + ;;@ ~lib/util/memory.ts:53:36 + (i32.const 24) + ) + ;;@ ~lib/util/memory.ts:53:41 + (i32.shl + (local.get $w) + ;;@ ~lib/util/memory.ts:53:46 + (i32.const 8) + ) + ) + ) + ;;@ ~lib/util/memory.ts:54:10 + (local.set $x + ;;@ ~lib/util/memory.ts:54:14 + (i32.load + ;;@ ~lib/util/memory.ts:54:24 + (i32.add + (local.get $src) + ;;@ ~lib/util/memory.ts:54:30 + (i32.const 9) + ) + ) + ) + ;;@ ~lib/util/memory.ts:55:10 + (i32.store + ;;@ ~lib/util/memory.ts:55:21 + (i32.add + (local.get $dest) + ;;@ ~lib/util/memory.ts:55:28 + (i32.const 8) + ) + ;;@ ~lib/util/memory.ts:55:31 + (i32.or + (i32.shr_u + (local.get $w) + ;;@ ~lib/util/memory.ts:55:36 + (i32.const 24) + ) + ;;@ ~lib/util/memory.ts:55:41 + (i32.shl + (local.get $x) + ;;@ ~lib/util/memory.ts:55:46 + (i32.const 8) + ) + ) + ) + ;;@ ~lib/util/memory.ts:56:10 + (local.set $w + ;;@ ~lib/util/memory.ts:56:14 + (i32.load + ;;@ ~lib/util/memory.ts:56:24 + (i32.add + (local.get $src) + ;;@ ~lib/util/memory.ts:56:30 + (i32.const 13) + ) + ) + ) + ;;@ ~lib/util/memory.ts:57:10 + (i32.store + ;;@ ~lib/util/memory.ts:57:21 + (i32.add + (local.get $dest) + ;;@ ~lib/util/memory.ts:57:28 + (i32.const 12) + ) + ;;@ ~lib/util/memory.ts:57:32 + (i32.or + (i32.shr_u + (local.get $x) + ;;@ ~lib/util/memory.ts:57:37 + (i32.const 24) + ) + ;;@ ~lib/util/memory.ts:57:42 + (i32.shl + (local.get $w) + ;;@ ~lib/util/memory.ts:57:47 + (i32.const 8) + ) + ) + ) + ;;@ ~lib/util/memory.ts:58:10 + (local.set $src + (i32.add + (local.get $src) + ;;@ ~lib/util/memory.ts:58:17 + (i32.const 16) + ) + ) + ;;@ ~lib/util/memory.ts:58:21 + (local.set $dest + (i32.add + (local.get $dest) + ;;@ ~lib/util/memory.ts:58:29 + (i32.const 16) + ) + ) + ;;@ ~lib/util/memory.ts:58:33 + (local.set $n + (i32.sub + (local.get $n) + ;;@ ~lib/util/memory.ts:58:38 + (i32.const 16) + ) + ) + (br $while-continue|3) + ) + ) + ) + ) + ;;@ ~lib/util/memory.ts:60:8 + (br $break|2) + ) + ) + ;;@ ~lib/util/memory.ts:62:14 + (block + ;;@ ~lib/util/memory.ts:63:8 + (local.set $w + ;;@ ~lib/util/memory.ts:63:12 + (i32.load + ;;@ ~lib/util/memory.ts:63:22 + (local.get $src) + ) + ) + ;;@ ~lib/util/memory.ts:64:8 + (i32.store8 + ;;@ ~lib/util/memory.ts:64:18 + (block (result i32) + (local.set $dest + (i32.add + (local.tee $16 + (local.get $dest) + ) + (i32.const 1) + ) + ) + (local.get $16) + ) + ;;@ ~lib/util/memory.ts:64:26 + (i32.load8_u + ;;@ ~lib/util/memory.ts:64:35 + (block (result i32) + (local.set $src + (i32.add + (local.tee $17 + (local.get $src) + ) + (i32.const 1) + ) + ) + (local.get $17) + ) + ) + ) + ;;@ ~lib/util/memory.ts:65:8 + (i32.store8 + ;;@ ~lib/util/memory.ts:65:18 + (block (result i32) + (local.set $dest + (i32.add + (local.tee $18 + (local.get $dest) + ) + (i32.const 1) + ) + ) + (local.get $18) + ) + ;;@ ~lib/util/memory.ts:65:26 + (i32.load8_u + ;;@ ~lib/util/memory.ts:65:35 + (block (result i32) + (local.set $src + (i32.add + (local.tee $19 + (local.get $src) + ) + (i32.const 1) + ) + ) + (local.get $19) + ) + ) + ) + ;;@ ~lib/util/memory.ts:66:8 + (local.set $n + (i32.sub + (local.get $n) + ;;@ ~lib/util/memory.ts:66:13 + (i32.const 2) + ) + ) + ;;@ ~lib/util/memory.ts:67:8 + (block $while-break|4 + (loop $while-continue|4 + (if + ;;@ ~lib/util/memory.ts:67:15 + (i32.ge_u + (local.get $n) + ;;@ ~lib/util/memory.ts:67:20 + (i32.const 18) + ) + (block + ;;@ ~lib/util/memory.ts:68:10 + (local.set $x + ;;@ ~lib/util/memory.ts:68:14 + (i32.load + ;;@ ~lib/util/memory.ts:68:24 + (i32.add + (local.get $src) + ;;@ ~lib/util/memory.ts:68:30 + (i32.const 2) + ) + ) + ) + ;;@ ~lib/util/memory.ts:69:10 + (i32.store + ;;@ ~lib/util/memory.ts:69:21 + (local.get $dest) + ;;@ ~lib/util/memory.ts:69:27 + (i32.or + (i32.shr_u + (local.get $w) + ;;@ ~lib/util/memory.ts:69:32 + (i32.const 16) + ) + ;;@ ~lib/util/memory.ts:69:37 + (i32.shl + (local.get $x) + ;;@ ~lib/util/memory.ts:69:42 + (i32.const 16) + ) + ) + ) + ;;@ ~lib/util/memory.ts:70:10 + (local.set $w + ;;@ ~lib/util/memory.ts:70:14 + (i32.load + ;;@ ~lib/util/memory.ts:70:24 + (i32.add + (local.get $src) + ;;@ ~lib/util/memory.ts:70:30 + (i32.const 6) + ) + ) + ) + ;;@ ~lib/util/memory.ts:71:10 + (i32.store + ;;@ ~lib/util/memory.ts:71:21 + (i32.add + (local.get $dest) + ;;@ ~lib/util/memory.ts:71:28 + (i32.const 4) + ) + ;;@ ~lib/util/memory.ts:71:31 + (i32.or + (i32.shr_u + (local.get $x) + ;;@ ~lib/util/memory.ts:71:36 + (i32.const 16) + ) + ;;@ ~lib/util/memory.ts:71:41 + (i32.shl + (local.get $w) + ;;@ ~lib/util/memory.ts:71:46 + (i32.const 16) + ) + ) + ) + ;;@ ~lib/util/memory.ts:72:10 + (local.set $x + ;;@ ~lib/util/memory.ts:72:14 + (i32.load + ;;@ ~lib/util/memory.ts:72:24 + (i32.add + (local.get $src) + ;;@ ~lib/util/memory.ts:72:30 + (i32.const 10) + ) + ) + ) + ;;@ ~lib/util/memory.ts:73:10 + (i32.store + ;;@ ~lib/util/memory.ts:73:21 + (i32.add + (local.get $dest) + ;;@ ~lib/util/memory.ts:73:28 + (i32.const 8) + ) + ;;@ ~lib/util/memory.ts:73:31 + (i32.or + (i32.shr_u + (local.get $w) + ;;@ ~lib/util/memory.ts:73:36 + (i32.const 16) + ) + ;;@ ~lib/util/memory.ts:73:41 + (i32.shl + (local.get $x) + ;;@ ~lib/util/memory.ts:73:46 + (i32.const 16) + ) + ) + ) + ;;@ ~lib/util/memory.ts:74:10 + (local.set $w + ;;@ ~lib/util/memory.ts:74:14 + (i32.load + ;;@ ~lib/util/memory.ts:74:24 + (i32.add + (local.get $src) + ;;@ ~lib/util/memory.ts:74:30 + (i32.const 14) + ) + ) + ) + ;;@ ~lib/util/memory.ts:75:10 + (i32.store + ;;@ ~lib/util/memory.ts:75:21 + (i32.add + (local.get $dest) + ;;@ ~lib/util/memory.ts:75:28 + (i32.const 12) + ) + ;;@ ~lib/util/memory.ts:75:32 + (i32.or + (i32.shr_u + (local.get $x) + ;;@ ~lib/util/memory.ts:75:37 + (i32.const 16) + ) + ;;@ ~lib/util/memory.ts:75:42 + (i32.shl + (local.get $w) + ;;@ ~lib/util/memory.ts:75:47 + (i32.const 16) + ) + ) + ) + ;;@ ~lib/util/memory.ts:76:10 + (local.set $src + (i32.add + (local.get $src) + ;;@ ~lib/util/memory.ts:76:17 + (i32.const 16) + ) + ) + ;;@ ~lib/util/memory.ts:76:21 + (local.set $dest + (i32.add + (local.get $dest) + ;;@ ~lib/util/memory.ts:76:29 + (i32.const 16) + ) + ) + ;;@ ~lib/util/memory.ts:76:33 + (local.set $n + (i32.sub + (local.get $n) + ;;@ ~lib/util/memory.ts:76:38 + (i32.const 16) + ) + ) + (br $while-continue|4) + ) + ) + ) + ) + ;;@ ~lib/util/memory.ts:78:8 + (br $break|2) + ) + ) + ;;@ ~lib/util/memory.ts:80:14 + (block + ;;@ ~lib/util/memory.ts:81:8 + (local.set $w + ;;@ ~lib/util/memory.ts:81:12 + (i32.load + ;;@ ~lib/util/memory.ts:81:22 + (local.get $src) + ) + ) + ;;@ ~lib/util/memory.ts:82:8 + (i32.store8 + ;;@ ~lib/util/memory.ts:82:18 + (block (result i32) + (local.set $dest + (i32.add + (local.tee $20 + (local.get $dest) + ) + (i32.const 1) + ) + ) + (local.get $20) + ) + ;;@ ~lib/util/memory.ts:82:26 + (i32.load8_u + ;;@ ~lib/util/memory.ts:82:35 + (block (result i32) + (local.set $src + (i32.add + (local.tee $21 + (local.get $src) + ) + (i32.const 1) + ) + ) + (local.get $21) + ) + ) + ) + ;;@ ~lib/util/memory.ts:83:8 + (local.set $n + (i32.sub + (local.get $n) + ;;@ ~lib/util/memory.ts:83:13 + (i32.const 1) + ) + ) + ;;@ ~lib/util/memory.ts:84:8 + (block $while-break|5 + (loop $while-continue|5 + (if + ;;@ ~lib/util/memory.ts:84:15 + (i32.ge_u + (local.get $n) + ;;@ ~lib/util/memory.ts:84:20 + (i32.const 19) + ) + (block + ;;@ ~lib/util/memory.ts:85:10 + (local.set $x + ;;@ ~lib/util/memory.ts:85:14 + (i32.load + ;;@ ~lib/util/memory.ts:85:24 + (i32.add + (local.get $src) + ;;@ ~lib/util/memory.ts:85:30 + (i32.const 3) + ) + ) + ) + ;;@ ~lib/util/memory.ts:86:10 + (i32.store + ;;@ ~lib/util/memory.ts:86:21 + (local.get $dest) + ;;@ ~lib/util/memory.ts:86:27 + (i32.or + (i32.shr_u + (local.get $w) + ;;@ ~lib/util/memory.ts:86:32 + (i32.const 8) + ) + ;;@ ~lib/util/memory.ts:86:36 + (i32.shl + (local.get $x) + ;;@ ~lib/util/memory.ts:86:41 + (i32.const 24) + ) + ) + ) + ;;@ ~lib/util/memory.ts:87:10 + (local.set $w + ;;@ ~lib/util/memory.ts:87:14 + (i32.load + ;;@ ~lib/util/memory.ts:87:24 + (i32.add + (local.get $src) + ;;@ ~lib/util/memory.ts:87:30 + (i32.const 7) + ) + ) + ) + ;;@ ~lib/util/memory.ts:88:10 + (i32.store + ;;@ ~lib/util/memory.ts:88:21 + (i32.add + (local.get $dest) + ;;@ ~lib/util/memory.ts:88:28 + (i32.const 4) + ) + ;;@ ~lib/util/memory.ts:88:31 + (i32.or + (i32.shr_u + (local.get $x) + ;;@ ~lib/util/memory.ts:88:36 + (i32.const 8) + ) + ;;@ ~lib/util/memory.ts:88:40 + (i32.shl + (local.get $w) + ;;@ ~lib/util/memory.ts:88:45 + (i32.const 24) + ) + ) + ) + ;;@ ~lib/util/memory.ts:89:10 + (local.set $x + ;;@ ~lib/util/memory.ts:89:14 + (i32.load + ;;@ ~lib/util/memory.ts:89:24 + (i32.add + (local.get $src) + ;;@ ~lib/util/memory.ts:89:30 + (i32.const 11) + ) + ) + ) + ;;@ ~lib/util/memory.ts:90:10 + (i32.store + ;;@ ~lib/util/memory.ts:90:21 + (i32.add + (local.get $dest) + ;;@ ~lib/util/memory.ts:90:28 + (i32.const 8) + ) + ;;@ ~lib/util/memory.ts:90:31 + (i32.or + (i32.shr_u + (local.get $w) + ;;@ ~lib/util/memory.ts:90:36 + (i32.const 8) + ) + ;;@ ~lib/util/memory.ts:90:40 + (i32.shl + (local.get $x) + ;;@ ~lib/util/memory.ts:90:45 + (i32.const 24) + ) + ) + ) + ;;@ ~lib/util/memory.ts:91:10 + (local.set $w + ;;@ ~lib/util/memory.ts:91:14 + (i32.load + ;;@ ~lib/util/memory.ts:91:24 + (i32.add + (local.get $src) + ;;@ ~lib/util/memory.ts:91:30 + (i32.const 15) + ) + ) + ) + ;;@ ~lib/util/memory.ts:92:10 + (i32.store + ;;@ ~lib/util/memory.ts:92:21 + (i32.add + (local.get $dest) + ;;@ ~lib/util/memory.ts:92:28 + (i32.const 12) + ) + ;;@ ~lib/util/memory.ts:92:32 + (i32.or + (i32.shr_u + (local.get $x) + ;;@ ~lib/util/memory.ts:92:37 + (i32.const 8) + ) + ;;@ ~lib/util/memory.ts:92:41 + (i32.shl + (local.get $w) + ;;@ ~lib/util/memory.ts:92:46 + (i32.const 24) + ) + ) + ) + ;;@ ~lib/util/memory.ts:93:10 + (local.set $src + (i32.add + (local.get $src) + ;;@ ~lib/util/memory.ts:93:17 + (i32.const 16) + ) + ) + ;;@ ~lib/util/memory.ts:93:21 + (local.set $dest + (i32.add + (local.get $dest) + ;;@ ~lib/util/memory.ts:93:29 + (i32.const 16) + ) + ) + ;;@ ~lib/util/memory.ts:93:33 + (local.set $n + (i32.sub + (local.get $n) + ;;@ ~lib/util/memory.ts:93:38 + (i32.const 16) + ) + ) + (br $while-continue|5) + ) + ) + ) + ) + ;;@ ~lib/util/memory.ts:95:8 + (br $break|2) + ) + ) + ) + ;;@ ~lib/util/memory.ts:101:2 + (if + ;;@ ~lib/util/memory.ts:101:6 + (i32.and + (local.get $n) + ;;@ ~lib/util/memory.ts:101:10 + (i32.const 16) + ) + (block + ;;@ ~lib/util/memory.ts:102:4 + (i32.store8 + ;;@ ~lib/util/memory.ts:102:14 + (block (result i32) + (local.set $dest + (i32.add + (local.tee $22 + (local.get $dest) + ) + (i32.const 1) + ) + ) + (local.get $22) + ) + ;;@ ~lib/util/memory.ts:102:22 + (i32.load8_u + ;;@ ~lib/util/memory.ts:102:31 + (block (result i32) + (local.set $src + (i32.add + (local.tee $23 + (local.get $src) + ) + (i32.const 1) + ) + ) + (local.get $23) + ) + ) + ) + ;;@ ~lib/util/memory.ts:103:4 + (i32.store8 + ;;@ ~lib/util/memory.ts:103:14 + (block (result i32) + (local.set $dest + (i32.add + (local.tee $24 + (local.get $dest) + ) + (i32.const 1) + ) + ) + (local.get $24) + ) + ;;@ ~lib/util/memory.ts:103:22 + (i32.load8_u + ;;@ ~lib/util/memory.ts:103:31 + (block (result i32) + (local.set $src + (i32.add + (local.tee $25 + (local.get $src) + ) + (i32.const 1) + ) + ) + (local.get $25) + ) + ) + ) + ;;@ ~lib/util/memory.ts:104:4 + (i32.store8 + ;;@ ~lib/util/memory.ts:104:14 + (block (result i32) + (local.set $dest + (i32.add + (local.tee $26 + (local.get $dest) + ) + (i32.const 1) + ) + ) + (local.get $26) + ) + ;;@ ~lib/util/memory.ts:104:22 + (i32.load8_u + ;;@ ~lib/util/memory.ts:104:31 + (block (result i32) + (local.set $src + (i32.add + (local.tee $27 + (local.get $src) + ) + (i32.const 1) + ) + ) + (local.get $27) + ) + ) + ) + ;;@ ~lib/util/memory.ts:105:4 + (i32.store8 + ;;@ ~lib/util/memory.ts:105:14 + (block (result i32) + (local.set $dest + (i32.add + (local.tee $28 + (local.get $dest) + ) + (i32.const 1) + ) + ) + (local.get $28) + ) + ;;@ ~lib/util/memory.ts:105:22 + (i32.load8_u + ;;@ ~lib/util/memory.ts:105:31 + (block (result i32) + (local.set $src + (i32.add + (local.tee $29 + (local.get $src) + ) + (i32.const 1) + ) + ) + (local.get $29) + ) + ) + ) + ;;@ ~lib/util/memory.ts:106:4 + (i32.store8 + ;;@ ~lib/util/memory.ts:106:14 + (block (result i32) + (local.set $dest + (i32.add + (local.tee $30 + (local.get $dest) + ) + (i32.const 1) + ) + ) + (local.get $30) + ) + ;;@ ~lib/util/memory.ts:106:22 + (i32.load8_u + ;;@ ~lib/util/memory.ts:106:31 + (block (result i32) + (local.set $src + (i32.add + (local.tee $31 + (local.get $src) + ) + (i32.const 1) + ) + ) + (local.get $31) + ) + ) + ) + ;;@ ~lib/util/memory.ts:107:4 + (i32.store8 + ;;@ ~lib/util/memory.ts:107:14 + (block (result i32) + (local.set $dest + (i32.add + (local.tee $32 + (local.get $dest) + ) + (i32.const 1) + ) + ) + (local.get $32) + ) + ;;@ ~lib/util/memory.ts:107:22 + (i32.load8_u + ;;@ ~lib/util/memory.ts:107:31 + (block (result i32) + (local.set $src + (i32.add + (local.tee $33 + (local.get $src) + ) + (i32.const 1) + ) + ) + (local.get $33) + ) + ) + ) + ;;@ ~lib/util/memory.ts:108:4 + (i32.store8 + ;;@ ~lib/util/memory.ts:108:14 + (block (result i32) + (local.set $dest + (i32.add + (local.tee $34 + (local.get $dest) + ) + (i32.const 1) + ) + ) + (local.get $34) + ) + ;;@ ~lib/util/memory.ts:108:22 + (i32.load8_u + ;;@ ~lib/util/memory.ts:108:31 + (block (result i32) + (local.set $src + (i32.add + (local.tee $35 + (local.get $src) + ) + (i32.const 1) + ) + ) + (local.get $35) + ) + ) + ) + ;;@ ~lib/util/memory.ts:109:4 + (i32.store8 + ;;@ ~lib/util/memory.ts:109:14 + (block (result i32) + (local.set $dest + (i32.add + (local.tee $36 + (local.get $dest) + ) + (i32.const 1) + ) + ) + (local.get $36) + ) + ;;@ ~lib/util/memory.ts:109:22 + (i32.load8_u + ;;@ ~lib/util/memory.ts:109:31 + (block (result i32) + (local.set $src + (i32.add + (local.tee $37 + (local.get $src) + ) + (i32.const 1) + ) + ) + (local.get $37) + ) + ) + ) + ;;@ ~lib/util/memory.ts:110:4 + (i32.store8 + ;;@ ~lib/util/memory.ts:110:14 + (block (result i32) + (local.set $dest + (i32.add + (local.tee $38 + (local.get $dest) + ) + (i32.const 1) + ) + ) + (local.get $38) + ) + ;;@ ~lib/util/memory.ts:110:22 + (i32.load8_u + ;;@ ~lib/util/memory.ts:110:31 + (block (result i32) + (local.set $src + (i32.add + (local.tee $39 + (local.get $src) + ) + (i32.const 1) + ) + ) + (local.get $39) + ) + ) + ) + ;;@ ~lib/util/memory.ts:111:4 + (i32.store8 + ;;@ ~lib/util/memory.ts:111:14 + (block (result i32) + (local.set $dest + (i32.add + (local.tee $40 + (local.get $dest) + ) + (i32.const 1) + ) + ) + (local.get $40) + ) + ;;@ ~lib/util/memory.ts:111:22 + (i32.load8_u + ;;@ ~lib/util/memory.ts:111:31 + (block (result i32) + (local.set $src + (i32.add + (local.tee $41 + (local.get $src) + ) + (i32.const 1) + ) + ) + (local.get $41) + ) + ) + ) + ;;@ ~lib/util/memory.ts:112:4 + (i32.store8 + ;;@ ~lib/util/memory.ts:112:14 + (block (result i32) + (local.set $dest + (i32.add + (local.tee $42 + (local.get $dest) + ) + (i32.const 1) + ) + ) + (local.get $42) + ) + ;;@ ~lib/util/memory.ts:112:22 + (i32.load8_u + ;;@ ~lib/util/memory.ts:112:31 + (block (result i32) + (local.set $src + (i32.add + (local.tee $43 + (local.get $src) + ) + (i32.const 1) + ) + ) + (local.get $43) + ) + ) + ) + ;;@ ~lib/util/memory.ts:113:4 + (i32.store8 + ;;@ ~lib/util/memory.ts:113:14 + (block (result i32) + (local.set $dest + (i32.add + (local.tee $44 + (local.get $dest) + ) + (i32.const 1) + ) + ) + (local.get $44) + ) + ;;@ ~lib/util/memory.ts:113:22 + (i32.load8_u + ;;@ ~lib/util/memory.ts:113:31 + (block (result i32) + (local.set $src + (i32.add + (local.tee $45 + (local.get $src) + ) + (i32.const 1) + ) + ) + (local.get $45) + ) + ) + ) + ;;@ ~lib/util/memory.ts:114:4 + (i32.store8 + ;;@ ~lib/util/memory.ts:114:14 + (block (result i32) + (local.set $dest + (i32.add + (local.tee $46 + (local.get $dest) + ) + (i32.const 1) + ) + ) + (local.get $46) + ) + ;;@ ~lib/util/memory.ts:114:22 + (i32.load8_u + ;;@ ~lib/util/memory.ts:114:31 + (block (result i32) + (local.set $src + (i32.add + (local.tee $47 + (local.get $src) + ) + (i32.const 1) + ) + ) + (local.get $47) + ) + ) + ) + ;;@ ~lib/util/memory.ts:115:4 + (i32.store8 + ;;@ ~lib/util/memory.ts:115:14 + (block (result i32) + (local.set $dest + (i32.add + (local.tee $48 + (local.get $dest) + ) + (i32.const 1) + ) + ) + (local.get $48) + ) + ;;@ ~lib/util/memory.ts:115:22 + (i32.load8_u + ;;@ ~lib/util/memory.ts:115:31 + (block (result i32) + (local.set $src + (i32.add + (local.tee $49 + (local.get $src) + ) + (i32.const 1) + ) + ) + (local.get $49) + ) + ) + ) + ;;@ ~lib/util/memory.ts:116:4 + (i32.store8 + ;;@ ~lib/util/memory.ts:116:14 + (block (result i32) + (local.set $dest + (i32.add + (local.tee $50 + (local.get $dest) + ) + (i32.const 1) + ) + ) + (local.get $50) + ) + ;;@ ~lib/util/memory.ts:116:22 + (i32.load8_u + ;;@ ~lib/util/memory.ts:116:31 + (block (result i32) + (local.set $src + (i32.add + (local.tee $51 + (local.get $src) + ) + (i32.const 1) + ) + ) + (local.get $51) + ) + ) + ) + ;;@ ~lib/util/memory.ts:117:4 + (i32.store8 + ;;@ ~lib/util/memory.ts:117:14 + (block (result i32) + (local.set $dest + (i32.add + (local.tee $52 + (local.get $dest) + ) + (i32.const 1) + ) + ) + (local.get $52) + ) + ;;@ ~lib/util/memory.ts:117:22 + (i32.load8_u + ;;@ ~lib/util/memory.ts:117:31 + (block (result i32) + (local.set $src + (i32.add + (local.tee $53 + (local.get $src) + ) + (i32.const 1) + ) + ) + (local.get $53) + ) + ) + ) + ) + ) + ;;@ ~lib/util/memory.ts:119:2 + (if + ;;@ ~lib/util/memory.ts:119:6 + (i32.and + (local.get $n) + ;;@ ~lib/util/memory.ts:119:10 + (i32.const 8) + ) + (block + ;;@ ~lib/util/memory.ts:120:4 + (i32.store8 + ;;@ ~lib/util/memory.ts:120:14 + (block (result i32) + (local.set $dest + (i32.add + (local.tee $54 + (local.get $dest) + ) + (i32.const 1) + ) + ) + (local.get $54) + ) + ;;@ ~lib/util/memory.ts:120:22 + (i32.load8_u + ;;@ ~lib/util/memory.ts:120:31 + (block (result i32) + (local.set $src + (i32.add + (local.tee $55 + (local.get $src) + ) + (i32.const 1) + ) + ) + (local.get $55) + ) + ) + ) + ;;@ ~lib/util/memory.ts:121:4 + (i32.store8 + ;;@ ~lib/util/memory.ts:121:14 + (block (result i32) + (local.set $dest + (i32.add + (local.tee $56 + (local.get $dest) + ) + (i32.const 1) + ) + ) + (local.get $56) + ) + ;;@ ~lib/util/memory.ts:121:22 + (i32.load8_u + ;;@ ~lib/util/memory.ts:121:31 + (block (result i32) + (local.set $src + (i32.add + (local.tee $57 + (local.get $src) + ) + (i32.const 1) + ) + ) + (local.get $57) + ) + ) + ) + ;;@ ~lib/util/memory.ts:122:4 + (i32.store8 + ;;@ ~lib/util/memory.ts:122:14 + (block (result i32) + (local.set $dest + (i32.add + (local.tee $58 + (local.get $dest) + ) + (i32.const 1) + ) + ) + (local.get $58) + ) + ;;@ ~lib/util/memory.ts:122:22 + (i32.load8_u + ;;@ ~lib/util/memory.ts:122:31 + (block (result i32) + (local.set $src + (i32.add + (local.tee $59 + (local.get $src) + ) + (i32.const 1) + ) + ) + (local.get $59) + ) + ) + ) + ;;@ ~lib/util/memory.ts:123:4 + (i32.store8 + ;;@ ~lib/util/memory.ts:123:14 + (block (result i32) + (local.set $dest + (i32.add + (local.tee $60 + (local.get $dest) + ) + (i32.const 1) + ) + ) + (local.get $60) + ) + ;;@ ~lib/util/memory.ts:123:22 + (i32.load8_u + ;;@ ~lib/util/memory.ts:123:31 + (block (result i32) + (local.set $src + (i32.add + (local.tee $61 + (local.get $src) + ) + (i32.const 1) + ) + ) + (local.get $61) + ) + ) + ) + ;;@ ~lib/util/memory.ts:124:4 + (i32.store8 + ;;@ ~lib/util/memory.ts:124:14 + (block (result i32) + (local.set $dest + (i32.add + (local.tee $62 + (local.get $dest) + ) + (i32.const 1) + ) + ) + (local.get $62) + ) + ;;@ ~lib/util/memory.ts:124:22 + (i32.load8_u + ;;@ ~lib/util/memory.ts:124:31 + (block (result i32) + (local.set $src + (i32.add + (local.tee $63 + (local.get $src) + ) + (i32.const 1) + ) + ) + (local.get $63) + ) + ) + ) + ;;@ ~lib/util/memory.ts:125:4 + (i32.store8 + ;;@ ~lib/util/memory.ts:125:14 + (block (result i32) + (local.set $dest + (i32.add + (local.tee $64 + (local.get $dest) + ) + (i32.const 1) + ) + ) + (local.get $64) + ) + ;;@ ~lib/util/memory.ts:125:22 + (i32.load8_u + ;;@ ~lib/util/memory.ts:125:31 + (block (result i32) + (local.set $src + (i32.add + (local.tee $65 + (local.get $src) + ) + (i32.const 1) + ) + ) + (local.get $65) + ) + ) + ) + ;;@ ~lib/util/memory.ts:126:4 + (i32.store8 + ;;@ ~lib/util/memory.ts:126:14 + (block (result i32) + (local.set $dest + (i32.add + (local.tee $66 + (local.get $dest) + ) + (i32.const 1) + ) + ) + (local.get $66) + ) + ;;@ ~lib/util/memory.ts:126:22 + (i32.load8_u + ;;@ ~lib/util/memory.ts:126:31 + (block (result i32) + (local.set $src + (i32.add + (local.tee $67 + (local.get $src) + ) + (i32.const 1) + ) + ) + (local.get $67) + ) + ) + ) + ;;@ ~lib/util/memory.ts:127:4 + (i32.store8 + ;;@ ~lib/util/memory.ts:127:14 + (block (result i32) + (local.set $dest + (i32.add + (local.tee $68 + (local.get $dest) + ) + (i32.const 1) + ) + ) + (local.get $68) + ) + ;;@ ~lib/util/memory.ts:127:22 + (i32.load8_u + ;;@ ~lib/util/memory.ts:127:31 + (block (result i32) + (local.set $src + (i32.add + (local.tee $69 + (local.get $src) + ) + (i32.const 1) + ) + ) + (local.get $69) + ) + ) + ) + ) + ) + ;;@ ~lib/util/memory.ts:129:2 + (if + ;;@ ~lib/util/memory.ts:129:6 + (i32.and + (local.get $n) + ;;@ ~lib/util/memory.ts:129:10 + (i32.const 4) + ) + (block + ;;@ ~lib/util/memory.ts:130:4 + (i32.store8 + ;;@ ~lib/util/memory.ts:130:14 + (block (result i32) + (local.set $dest + (i32.add + (local.tee $70 + (local.get $dest) + ) + (i32.const 1) + ) + ) + (local.get $70) + ) + ;;@ ~lib/util/memory.ts:130:22 + (i32.load8_u + ;;@ ~lib/util/memory.ts:130:31 + (block (result i32) + (local.set $src + (i32.add + (local.tee $71 + (local.get $src) + ) + (i32.const 1) + ) + ) + (local.get $71) + ) + ) + ) + ;;@ ~lib/util/memory.ts:131:4 + (i32.store8 + ;;@ ~lib/util/memory.ts:131:14 + (block (result i32) + (local.set $dest + (i32.add + (local.tee $72 + (local.get $dest) + ) + (i32.const 1) + ) + ) + (local.get $72) + ) + ;;@ ~lib/util/memory.ts:131:22 + (i32.load8_u + ;;@ ~lib/util/memory.ts:131:31 + (block (result i32) + (local.set $src + (i32.add + (local.tee $73 + (local.get $src) + ) + (i32.const 1) + ) + ) + (local.get $73) + ) + ) + ) + ;;@ ~lib/util/memory.ts:132:4 + (i32.store8 + ;;@ ~lib/util/memory.ts:132:14 + (block (result i32) + (local.set $dest + (i32.add + (local.tee $74 + (local.get $dest) + ) + (i32.const 1) + ) + ) + (local.get $74) + ) + ;;@ ~lib/util/memory.ts:132:22 + (i32.load8_u + ;;@ ~lib/util/memory.ts:132:31 + (block (result i32) + (local.set $src + (i32.add + (local.tee $75 + (local.get $src) + ) + (i32.const 1) + ) + ) + (local.get $75) + ) + ) + ) + ;;@ ~lib/util/memory.ts:133:4 + (i32.store8 + ;;@ ~lib/util/memory.ts:133:14 + (block (result i32) + (local.set $dest + (i32.add + (local.tee $76 + (local.get $dest) + ) + (i32.const 1) + ) + ) + (local.get $76) + ) + ;;@ ~lib/util/memory.ts:133:22 + (i32.load8_u + ;;@ ~lib/util/memory.ts:133:31 + (block (result i32) + (local.set $src + (i32.add + (local.tee $77 + (local.get $src) + ) + (i32.const 1) + ) + ) + (local.get $77) + ) + ) + ) + ) + ) + ;;@ ~lib/util/memory.ts:135:2 + (if + ;;@ ~lib/util/memory.ts:135:6 + (i32.and + (local.get $n) + ;;@ ~lib/util/memory.ts:135:10 + (i32.const 2) + ) + (block + ;;@ ~lib/util/memory.ts:136:4 + (i32.store8 + ;;@ ~lib/util/memory.ts:136:14 + (block (result i32) + (local.set $dest + (i32.add + (local.tee $78 + (local.get $dest) + ) + (i32.const 1) + ) + ) + (local.get $78) + ) + ;;@ ~lib/util/memory.ts:136:22 + (i32.load8_u + ;;@ ~lib/util/memory.ts:136:31 + (block (result i32) + (local.set $src + (i32.add + (local.tee $79 + (local.get $src) + ) + (i32.const 1) + ) + ) + (local.get $79) + ) + ) + ) + ;;@ ~lib/util/memory.ts:137:4 + (i32.store8 + ;;@ ~lib/util/memory.ts:137:14 + (block (result i32) + (local.set $dest + (i32.add + (local.tee $80 + (local.get $dest) + ) + (i32.const 1) + ) + ) + (local.get $80) + ) + ;;@ ~lib/util/memory.ts:137:22 + (i32.load8_u + ;;@ ~lib/util/memory.ts:137:31 + (block (result i32) + (local.set $src + (i32.add + (local.tee $81 + (local.get $src) + ) + (i32.const 1) + ) + ) + (local.get $81) + ) + ) + ) + ) + ) + ;;@ ~lib/util/memory.ts:139:2 + (if + ;;@ ~lib/util/memory.ts:139:6 + (i32.and + (local.get $n) + ;;@ ~lib/util/memory.ts:139:10 + (i32.const 1) + ) + ;;@ ~lib/util/memory.ts:140:4 + (i32.store8 + ;;@ ~lib/util/memory.ts:140:14 + (block (result i32) + (local.set $dest + (i32.add + (local.tee $82 + (local.get $dest) + ) + (i32.const 1) + ) + ) + (local.get $82) + ) + ;;@ ~lib/util/memory.ts:140:22 + (i32.load8_u + ;;@ ~lib/util/memory.ts:140:31 + (block (result i32) + (local.set $src + (i32.add + (local.tee $83 + (local.get $src) + ) + (i32.const 1) + ) + ) + (local.get $83) + ) + ) + ) + ) + ) + (func $~lib/memory/memory.copy (param $dst i32) (param $src i32) (param $n i32) + (local $dest i32) + (local $src|4 i32) + (local $n|5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + ;;@ ~lib/memory.ts:28:4 + (block $~lib/util/memory/memmove|inlined.0 + (local.set $dest + ;;@ ~lib/memory.ts:28:12 + (local.get $dst) + ) + (local.set $src|4 + ;;@ ~lib/memory.ts:28:17 + (local.get $src) + ) + (local.set $n|5 + ;;@ ~lib/memory.ts:28:22 + (local.get $n) + ) + ;;@ ~lib/util/memory.ts:147:2 + (if + ;;@ ~lib/util/memory.ts:147:6 + (i32.eq + (local.get $dest) + ;;@ ~lib/util/memory.ts:147:14 + (local.get $src|4) + ) + ;;@ ~lib/util/memory.ts:147:19 + (br $~lib/util/memory/memmove|inlined.0) + ) + (drop + ;;@ ~lib/util/memory.ts:148:6 + (i32.lt_s + (i32.const 0) + ;;@ ~lib/util/memory.ts:148:25 + (i32.const 1) + ) + ) + ;;@ ~lib/util/memory.ts:148:28 + (if + ;;@ ~lib/util/memory.ts:149:8 + (i32.le_u + (i32.sub + (i32.sub + (local.get $src|4) + ;;@ ~lib/util/memory.ts:149:14 + (local.get $dest) + ) + ;;@ ~lib/util/memory.ts:149:21 + (local.get $n|5) + ) + ;;@ ~lib/util/memory.ts:149:26 + (i32.sub + (i32.const 0) + ;;@ ~lib/util/memory.ts:149:28 + (i32.shl + (local.get $n|5) + ;;@ ~lib/util/memory.ts:149:33 + (i32.const 1) + ) + ) + ) + (block + ;;@ ~lib/util/memory.ts:150:6 + (call $~lib/util/memory/memcpy + ;;@ ~lib/util/memory.ts:150:13 + (local.get $dest) + ;;@ ~lib/util/memory.ts:150:19 + (local.get $src|4) + ;;@ ~lib/util/memory.ts:150:24 + (local.get $n|5) + ) + ;;@ ~lib/util/memory.ts:151:6 + (br $~lib/util/memory/memmove|inlined.0) + ) + ) + ;;@ ~lib/util/memory.ts:154:2 + (if + ;;@ ~lib/util/memory.ts:154:6 + (i32.lt_u + (local.get $dest) + ;;@ ~lib/util/memory.ts:154:13 + (local.get $src|4) + ) + (block + (drop + ;;@ ~lib/util/memory.ts:155:8 + (i32.lt_s + (i32.const 0) + ;;@ ~lib/util/memory.ts:155:27 + (i32.const 2) + ) + ) + ;;@ ~lib/util/memory.ts:155:30 + (if + ;;@ ~lib/util/memory.ts:156:10 + (i32.eq + ;;@ ~lib/util/memory.ts:156:11 + (i32.and + (local.get $src|4) + ;;@ ~lib/util/memory.ts:156:17 + (i32.const 7) + ) + ;;@ ~lib/util/memory.ts:156:24 + (i32.and + (local.get $dest) + ;;@ ~lib/util/memory.ts:156:31 + (i32.const 7) + ) + ) + (block + ;;@ ~lib/util/memory.ts:157:8 + (block $while-break|0 + (loop $while-continue|0 + (if + ;;@ ~lib/util/memory.ts:157:15 + (i32.and + (local.get $dest) + ;;@ ~lib/util/memory.ts:157:22 + (i32.const 7) + ) + (block + ;;@ ~lib/util/memory.ts:158:10 + (if + ;;@ ~lib/util/memory.ts:158:14 + (i32.eqz + ;;@ ~lib/util/memory.ts:158:15 + (local.get $n|5) + ) + ;;@ ~lib/util/memory.ts:158:18 + (br $~lib/util/memory/memmove|inlined.0) + ) + ;;@ ~lib/util/memory.ts:159:10 + (local.set $n|5 + (i32.sub + ;;@ ~lib/util/memory.ts:159:12 + (local.get $n|5) + (i32.const 1) + ) + ) + ;;@ ~lib/util/memory.ts:160:10 + (i32.store8 + ;;@ ~lib/util/memory.ts:160:20 + (block (result i32) + (local.set $dest + (i32.add + (local.tee $6 + (local.get $dest) + ) + (i32.const 1) + ) + ) + (local.get $6) + ) + ;;@ ~lib/util/memory.ts:160:28 + (i32.load8_u + ;;@ ~lib/util/memory.ts:160:37 + (block (result i32) + (local.set $src|4 + (i32.add + (local.tee $7 + (local.get $src|4) + ) + (i32.const 1) + ) + ) + (local.get $7) + ) + ) + ) + (br $while-continue|0) + ) + ) + ) + ) + ;;@ ~lib/util/memory.ts:162:8 + (block $while-break|1 + (loop $while-continue|1 + (if + ;;@ ~lib/util/memory.ts:162:15 + (i32.ge_u + (local.get $n|5) + ;;@ ~lib/util/memory.ts:162:20 + (i32.const 8) + ) + (block + ;;@ ~lib/util/memory.ts:163:10 + (i64.store + ;;@ ~lib/util/memory.ts:163:21 + (local.get $dest) + ;;@ ~lib/util/memory.ts:163:27 + (i64.load + ;;@ ~lib/util/memory.ts:163:37 + (local.get $src|4) + ) + ) + ;;@ ~lib/util/memory.ts:164:10 + (local.set $n|5 + (i32.sub + (local.get $n|5) + ;;@ ~lib/util/memory.ts:164:18 + (i32.const 8) + ) + ) + ;;@ ~lib/util/memory.ts:165:10 + (local.set $dest + (i32.add + (local.get $dest) + ;;@ ~lib/util/memory.ts:165:18 + (i32.const 8) + ) + ) + ;;@ ~lib/util/memory.ts:166:10 + (local.set $src|4 + (i32.add + (local.get $src|4) + ;;@ ~lib/util/memory.ts:166:18 + (i32.const 8) + ) + ) + (br $while-continue|1) + ) + ) + ) + ) + ) + ) + ;;@ ~lib/util/memory.ts:170:4 + (block $while-break|2 + (loop $while-continue|2 + (if + ;;@ ~lib/util/memory.ts:170:11 + (local.get $n|5) + (block + ;;@ ~lib/util/memory.ts:171:6 + (i32.store8 + ;;@ ~lib/util/memory.ts:171:16 + (block (result i32) + (local.set $dest + (i32.add + (local.tee $8 + (local.get $dest) + ) + (i32.const 1) + ) + ) + (local.get $8) + ) + ;;@ ~lib/util/memory.ts:171:24 + (i32.load8_u + ;;@ ~lib/util/memory.ts:171:33 + (block (result i32) + (local.set $src|4 + (i32.add + (local.tee $9 + (local.get $src|4) + ) + (i32.const 1) + ) + ) + (local.get $9) + ) + ) + ) + ;;@ ~lib/util/memory.ts:172:6 + (local.set $n|5 + (i32.sub + ;;@ ~lib/util/memory.ts:172:8 + (local.get $n|5) + (i32.const 1) + ) + ) + (br $while-continue|2) + ) + ) + ) + ) + ) + (block + (drop + ;;@ ~lib/util/memory.ts:175:8 + (i32.lt_s + (i32.const 0) + ;;@ ~lib/util/memory.ts:175:27 + (i32.const 2) + ) + ) + ;;@ ~lib/util/memory.ts:175:30 + (if + ;;@ ~lib/util/memory.ts:176:10 + (i32.eq + ;;@ ~lib/util/memory.ts:176:11 + (i32.and + (local.get $src|4) + ;;@ ~lib/util/memory.ts:176:17 + (i32.const 7) + ) + ;;@ ~lib/util/memory.ts:176:24 + (i32.and + (local.get $dest) + ;;@ ~lib/util/memory.ts:176:31 + (i32.const 7) + ) + ) + (block + ;;@ ~lib/util/memory.ts:177:8 + (block $while-break|3 + (loop $while-continue|3 + (if + ;;@ ~lib/util/memory.ts:177:15 + (i32.and + ;;@ ~lib/util/memory.ts:177:16 + (i32.add + (local.get $dest) + ;;@ ~lib/util/memory.ts:177:23 + (local.get $n|5) + ) + ;;@ ~lib/util/memory.ts:177:28 + (i32.const 7) + ) + (block + ;;@ ~lib/util/memory.ts:178:10 + (if + ;;@ ~lib/util/memory.ts:178:14 + (i32.eqz + ;;@ ~lib/util/memory.ts:178:15 + (local.get $n|5) + ) + ;;@ ~lib/util/memory.ts:178:18 + (br $~lib/util/memory/memmove|inlined.0) + ) + ;;@ ~lib/util/memory.ts:179:10 + (i32.store8 + ;;@ ~lib/util/memory.ts:179:20 + (i32.add + (local.get $dest) + ;;@ ~lib/util/memory.ts:179:27 + (local.tee $n|5 + (i32.sub + ;;@ ~lib/util/memory.ts:179:29 + (local.get $n|5) + (i32.const 1) + ) + ) + ) + ;;@ ~lib/util/memory.ts:179:32 + (i32.load8_u + ;;@ ~lib/util/memory.ts:179:41 + (i32.add + (local.get $src|4) + ;;@ ~lib/util/memory.ts:179:47 + (local.get $n|5) + ) + ) + ) + (br $while-continue|3) + ) + ) + ) + ) + ;;@ ~lib/util/memory.ts:181:8 + (block $while-break|4 + (loop $while-continue|4 + (if + ;;@ ~lib/util/memory.ts:181:15 + (i32.ge_u + (local.get $n|5) + ;;@ ~lib/util/memory.ts:181:20 + (i32.const 8) + ) + (block + ;;@ ~lib/util/memory.ts:182:10 + (local.set $n|5 + (i32.sub + (local.get $n|5) + ;;@ ~lib/util/memory.ts:182:15 + (i32.const 8) + ) + ) + ;;@ ~lib/util/memory.ts:183:10 + (i64.store + ;;@ ~lib/util/memory.ts:183:21 + (i32.add + (local.get $dest) + ;;@ ~lib/util/memory.ts:183:28 + (local.get $n|5) + ) + ;;@ ~lib/util/memory.ts:183:31 + (i64.load + ;;@ ~lib/util/memory.ts:183:41 + (i32.add + (local.get $src|4) + ;;@ ~lib/util/memory.ts:183:47 + (local.get $n|5) + ) + ) + ) + (br $while-continue|4) + ) + ) + ) + ) + ) + ) + ;;@ ~lib/util/memory.ts:187:4 + (block $while-break|5 + (loop $while-continue|5 + (if + ;;@ ~lib/util/memory.ts:187:11 + (local.get $n|5) + (block + ;;@ ~lib/util/memory.ts:188:6 + (i32.store8 + ;;@ ~lib/util/memory.ts:188:16 + (i32.add + (local.get $dest) + ;;@ ~lib/util/memory.ts:188:23 + (local.tee $n|5 + (i32.sub + ;;@ ~lib/util/memory.ts:188:25 + (local.get $n|5) + (i32.const 1) + ) + ) + ) + ;;@ ~lib/util/memory.ts:188:28 + (i32.load8_u + ;;@ ~lib/util/memory.ts:188:37 + (i32.add + (local.get $src|4) + ;;@ ~lib/util/memory.ts:188:43 + (local.get $n|5) + ) + ) + ) + (br $while-continue|5) + ) + ) + ) + ) + ) + ) + ) + ) + (func $~lib/string/String#concat (param $this i32) (param $other i32) (result i32) + (local $thisSize i32) + (local $otherSize i32) + (local $outSize i32) + (local $out i32) + ;;@ ~lib/string.ts:90:4 + (local.set $thisSize + ;;@ ~lib/string.ts:90:26 + (i32.shl + (call $~lib/string/String#get:length + (local.get $this) + ) + ;;@ ~lib/string.ts:90:41 + (i32.const 1) + ) + ) + ;;@ ~lib/string.ts:91:4 + (local.set $otherSize + ;;@ ~lib/string.ts:91:27 + (i32.shl + (call $~lib/string/String#get:length + (local.get $other) + ) + ;;@ ~lib/string.ts:91:43 + (i32.const 1) + ) + ) + ;;@ ~lib/string.ts:92:4 + (local.set $outSize + ;;@ ~lib/string.ts:92:25 + (i32.add + (local.get $thisSize) + ;;@ ~lib/string.ts:92:36 + (local.get $otherSize) + ) + ) + ;;@ ~lib/string.ts:93:4 + (if + ;;@ ~lib/string.ts:93:8 + (i32.eq + (local.get $outSize) + ;;@ ~lib/string.ts:93:19 + (i32.const 0) + ) + ;;@ ~lib/string.ts:93:22 + (return + ;;@ ~lib/string.ts:93:29 + (i32.const 2176) + ) + ) + ;;@ ~lib/string.ts:94:4 + (local.set $out + ;;@ ~lib/string.ts:94:14 + (call $~lib/rt/stub/__new + ;;@ ~lib/string.ts:94:39 + (local.get $outSize) + ;;@ ~lib/string.ts:94:48 + (i32.const 2) + ) + ) + ;;@ ~lib/string.ts:95:4 + (call $~lib/memory/memory.copy + ;;@ ~lib/string.ts:95:16 + (local.get $out) + ;;@ ~lib/string.ts:95:40 + (local.get $this) + ;;@ ~lib/string.ts:95:65 + (local.get $thisSize) + ) + ;;@ ~lib/string.ts:96:4 + (call $~lib/memory/memory.copy + ;;@ ~lib/string.ts:96:16 + (i32.add + (local.get $out) + ;;@ ~lib/string.ts:96:41 + (local.get $thisSize) + ) + ;;@ ~lib/string.ts:96:51 + (local.get $other) + ;;@ ~lib/string.ts:96:77 + (local.get $otherSize) + ) + ;;@ ~lib/string.ts:97:4 + (return + ;;@ ~lib/string.ts:97:11 + (local.get $out) + ) + ) + (func $~lib/string/String.__concat (param $left i32) (param $right i32) (result i32) + ;;@ ~lib/string.ts:86:4 + (return + ;;@ ~lib/string.ts:86:11 + (call $~lib/string/String#concat + (local.get $left) + ;;@ ~lib/string.ts:86:23 + (local.get $right) + ) + ) + ) + (func $main/ascii/main + (local $byte i32) + ;;@ main/ascii.ts:4:4 + (call $~lib/as-warduino/assembly/index/print + ;;@ main/ascii.ts:4:10 + (i32.const 32) + ) + ;;@ main/ascii.ts:5:4 + (local.set $byte + ;;@ main/ascii.ts:5:20 + (i32.const 33) + ) + ;;@ main/ascii.ts:7:4 + (block $while-break|0 + (loop $while-continue|0 + (if + ;;@ main/ascii.ts:7:11 + (i32.ne + (local.get $byte) + ;;@ main/ascii.ts:7:20 + (i32.const 126) + ) + (block + ;;@ main/ascii.ts:8:8 + (call $~lib/as-warduino/assembly/index/print + ;;@ main/ascii.ts:8:14 + (call $~lib/string/String.fromCharCode@varargs + ;;@ main/ascii.ts:8:34 + (local.get $byte) + (block (result i32) + (global.set $~argumentsLength + (i32.const 1) + ) + (i32.const 0) + ) + ) + ) + ;;@ main/ascii.ts:10:8 + (call $~lib/as-warduino/assembly/index/print + ;;@ main/ascii.ts:10:14 + (call $~lib/string/String.__concat + (i32.const 352) + ;;@ main/ascii.ts:10:26 + (call $~lib/number/I32#toString + (local.get $byte) + ;;@ ~lib/number.ts:78:35 + (i32.const 10) + ) + ) + ) + ;;@ main/ascii.ts:11:8 + (call $~lib/as-warduino/assembly/index/print + ;;@ main/ascii.ts:11:14 + (call $~lib/string/String.__concat + (i32.const 2208) + ;;@ main/ascii.ts:11:26 + (call $~lib/number/I32#toString + (local.get $byte) + ;;@ main/ascii.ts:11:40 + (i32.const 16) + ) + ) + ) + ;;@ main/ascii.ts:12:8 + (call $~lib/as-warduino/assembly/index/print + ;;@ main/ascii.ts:12:14 + (call $~lib/string/String.__concat + (i32.const 2256) + ;;@ main/ascii.ts:12:26 + (call $~lib/number/I32#toString + (local.get $byte) + ;;@ main/ascii.ts:12:40 + (i32.const 8) + ) + ) + ) + ;;@ main/ascii.ts:13:8 + (call $~lib/as-warduino/assembly/index/print + ;;@ main/ascii.ts:13:14 + (call $~lib/string/String.__concat + (call $~lib/string/String.__concat + (i32.const 2304) + ;;@ main/ascii.ts:13:26 + (call $~lib/number/I32#toString + (local.get $byte) + ;;@ main/ascii.ts:13:40 + (i32.const 2) + ) + ) + ;;@ main/ascii.ts:13:45 + (i32.const 2352) + ) + ) + ;;@ main/ascii.ts:15:8 + (if + ;;@ main/ascii.ts:15:12 + (i32.eq + (local.get $byte) + ;;@ main/ascii.ts:15:20 + (i32.const 126) + ) + ;;@ main/ascii.ts:16:10 + (block $while-break|1 + (loop $while-continue|1 + (if + ;;@ main/ascii.ts:16:17 + (i32.const 1) + (block + ;;@ main/ascii.ts:17:12 + (br $while-continue|1) + (br $while-continue|1) + ) + ) + ) + (unreachable) + ) + ) + ;;@ main/ascii.ts:21:8 + (local.set $byte + (i32.add + (local.get $byte) + (i32.const 1) + ) + ) + (br $while-continue|0) + ) + ) + ) + ) + ) + (func $~start + (global.set $~lib/rt/stub/startOffset + (i32.sub + (i32.and + (i32.add + (i32.add + (global.get $~lib/memory/__heap_base) + (i32.const 4) + ) + (i32.const 15) + ) + (i32.xor + (i32.const 15) + (i32.const -1) + ) + ) + (i32.const 4) + ) + ) + (global.set $~lib/rt/stub/offset + (global.get $~lib/rt/stub/startOffset) + ) + ) +) diff --git a/tutorials/assemblyscript/bin/main.wasm.map b/tutorials/assemblyscript/bin/main.wasm.map new file mode 100644 index 00000000..1fac310c --- /dev/null +++ b/tutorials/assemblyscript/bin/main.wasm.map @@ -0,0 +1 @@ +{"version":3,"sources":["~lib/rt/common.ts","~lib/as-warduino/assembly/index.ts","main/ascii.ts","~lib/util/number.ts","~lib/util/math.ts","~lib/util/string.ts","~lib/shared/runtime.ts","~lib/util/sort.ts","~lib/string.ts","~lib/rt/stub.ts","~lib/util/error.ts","~lib/number.ts","~lib/memory.ts","~lib/util/memory.ts"],"names":[],"mappings":"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","sourceRoot":"./main","sourcesContent":["// Alignment guarantees\n\n// @ts-ignore: decorator\n@inline export const AL_BITS: u32 = 4; // 16 bytes to fit up to v128\n// @ts-ignore: decorator\n@inline export const AL_SIZE: usize = 1 << AL_BITS;\n// @ts-ignore: decorator\n@inline export const AL_MASK: usize = AL_SIZE - 1;\n\n// Extra debugging\n\n// @ts-ignore: decorator\n@inline export const DEBUG = true;\n// @ts-ignore: decorator\n@inline export const TRACE = false;\n// @ts-ignore: decorator\n@inline export const RTRACE = isDefined(ASC_RTRACE);\n// @ts-ignore: decorator\n@inline export const PROFILE = isDefined(ASC_PROFILE);\n\n// Memory manager\n\n// ╒════════════ Memory manager block layout (32-bit) ═════════════╕\n// 3 2 1\n// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 bits\n// ├─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┤\n// │ MM info │ -4\n// ╞>ptr═══════════════════════════════════════════════════════════╡\n// │ ... │\n@unmanaged export class BLOCK {\n /** Memory manager info. */\n mmInfo: usize;\n}\n\n/** Overhead of a memory manager block. */\n// @ts-ignore: decorator\n@inline export const BLOCK_OVERHEAD: usize = offsetof();\n\n/** Maximum size of a memory manager block's payload. */\n// @ts-ignore: decorator\n@inline export const BLOCK_MAXSIZE: usize = (1 << 30) - BLOCK_OVERHEAD;\n\n// Garbage collector\n\n// ╒══════════ Garbage collector object layout (32-bit) ═══════════╕\n// 3 2 1\n// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 bits\n// ├─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┤\n// │ Memory manager block │ -20\n// ╞═══════════════════════════════════════════════════════════════╡\n// │ GC info │ -16\n// ├───────────────────────────────────────────────────────────────┤\n// │ GC info │ -12\n// ├───────────────────────────────────────────────────────────────┤\n// │ RT id │ -8\n// ├───────────────────────────────────────────────────────────────┤\n// │ RT size │ -4\n// ╞>ptr═══════════════════════════════════════════════════════════╡\n// │ ... │\n@unmanaged export class OBJECT extends BLOCK {\n /** Garbage collector info. */\n gcInfo: u32;\n /** Garbage collector info. */\n gcInfo2: u32;\n /** Runtime class id. */\n rtId: u32;\n /** Runtime object size. */\n rtSize: u32;\n}\n\n/** Overhead of a garbage collector object. Excludes memory manager block overhead. */\n// @ts-ignore: decorator\n@inline export const OBJECT_OVERHEAD: usize = (offsetof() - BLOCK_OVERHEAD + AL_MASK) & ~AL_MASK;\n\n/** Maximum size of a garbage collector object's payload. */\n// @ts-ignore: decorator\n@inline export const OBJECT_MAXSIZE: usize = BLOCK_MAXSIZE - OBJECT_OVERHEAD;\n\n/** Total of memory manager and garbage collector overhead. */\n// @ts-ignore: decorator\n@inline export const TOTAL_OVERHEAD: usize = BLOCK_OVERHEAD + OBJECT_OVERHEAD;\n","/**\n * as-warduino - WARDuino primitives library\n *\n *
\n *\n * WARDuino is a dynamic WebAssembly runtime for embedded devices, that\n * provides primitives to access hardware and IoT specific functionality.\n *\n * The `as-warduino` package allows using these primitives from AssemblyScript.\n *\n *
\n *\n * # Usage\n *\n * ```ts\n * import {pinMode, PinMode, PinVoltage, digitalWrite, delay} from \"as-warduino\";\n * \n * export function main(): void {\n * let led = 26;\n * pinMode(led, PinMode.OUTPUT);\n * \n * let pause: u32 = 1000;\n * while (true) {\n * digitalWrite(led, PinVoltage.HIGH);\n * delay(pause);\n * digitalWrite(led, PinVoltage.LOW);\n * delay(pause);\n * }\n * }\n * ```\n */\n\nimport * as ward from \"./warduino\";\n\n/** Returns the number of milliseconds passed since the current program started to run. */\nexport function millis(): u32 {\n return ward._millis();\n}\n/** Pauses the program for the amount of time (in milliseconds). */\nexport function delay(ms: u32): void {\n ward._delay(ms);\n}\n\n/** Pauses the program for the amount of time (in seconds). */\nexport function sleep(s: u32): void {\n ward._delay(s * 1000);\n}\n\n/** Reads the value from the specified analog pin. */\nexport function analogRead(pin: u32): i32 {\n return ward._analog_read(pin);\n}\n\n/** Write the value to the specified analog pin. */\nexport function analogWrite(pin: u32, signal: u32): void {\n ward._analog_write(pin, signal);\n}\n\nexport function analogSetup(channel: u32, frequency: u32, timer: u32): void {\n ward._analog_setup(channel, frequency, timer);\n}\n\nexport function analogAttach(pin: u32, channel: u32): void {\n ward._analog_attach(pin, channel);\n}\n\nexport function analogDuty(channel: u32, value: i32, max: u32): void {\n ward._analog_duty(channel, value, max);\n}\n\n/** The voltage of a digital pin. */\nexport enum PinVoltage {\n /** Low voltage on a digital I/O pin */\n LOW = 0,\n /** High voltage on a digital I/O pin */\n HIGH = 1,\n}\n\n/** The mode of a pin interrupt. */\nexport enum InterruptMode {\n /** Changing edge on a digital I/O pin */\n CHANGED = 1,\n /** Falling edge on a digital I/O pin */\n FALLING = 2,\n /** Rising edge on a digital I/O pin */\n RISING = 3,\n}\n\n/** The mode of a digital I/O pin. */\nexport enum PinMode {\n /** Input mode for digital pins */\n INPUT = 0x0,\n /** Output mode for digital pins */\n OUTPUT = 0x2,\n}\n\n/** Configures the [PinMode] of the specified pin. */\nexport function pinMode(pin: u32, mode: PinMode): void {\n ward._pin_mode(pin, mode);\n}\n\n/** Write the voltage to a specified digital pin, either [HIGH](PinVoltage) or [LOW](PinVoltage). */\nexport function digitalWrite(pin: u32, value: PinVoltage): void {\n ward._digital_write(pin, value);\n}\n\n/** Reads the value from a specified digital pin, either [HIGH](PinVoltage) or [LOW](PinVoltage). */\nexport function digitalRead(pin: u32): PinVoltage {\n return ward._digital_read(pin);\n}\n\n/** Subscribe a callback function to an interrupt on the given pin. */\nexport function interruptOn(pin: u32, mode: InterruptMode, fn: (topic: string, payload: string) => void): void {\n ward._subscribe_interrupt(pin, fn, mode);\n}\n\n/** Print a string to the serial port. */\nexport function print(text: string): void {\n ward._print(String.UTF8.encode(text, true), String.UTF8.byteLength(text, true));\n}\n\nexport namespace WiFi {\n export enum Status {\n /** No Wi-Fi hardware found */\n NoShield = 255,\n /** Wi-Fi is in process of changing between statuses */\n Idle = 0,\n /** Configured SSID cannot be reached */\n SsidUnavailable = 1,\n /** */\n ScanCompleted = 2,\n /** Successful connection is established */\n Connected = 3,\n /** Failed to connect */\n ConnectFailed = 4,\n /** No longer connected */\n ConnectionLost = 5,\n /** Module is not configured in station mode */\n Disconnected = 6,\n }\n\n /** Connect to Wi-Fi network with SSID and password. */\n function connect(ssid: string, password: string): void {\n ward._wifi_connect(String.UTF8.encode(ssid, true), String.UTF8.byteLength(ssid, true),\n String.UTF8.encode(password, true), String.UTF8.byteLength(password, true));\n }\n\n /** Returns the status of the Wi-Fi connection of the board. */\n function status(): Status {\n return ward._wifi_status();\n }\n\n /** Returns whether the board si still connected to Wi-Fi. */\n function connected(): bool {\n return status() === Status.Connected;\n }\n\n /** Returns the local IP address of the board. */\n function localip(): string {\n let localip = new ArrayBuffer(20);\n ward._wifi_localip(localip, localip.byteLength);\n return String.UTF8.decode(localip, true);\n }\n}\n\nexport namespace MQTT {\n export enum Status {\n /** The server didn't respond within the keepalive time */\n ConnectionTimeout = -4,\n /** The network connection was broken */\n ConnectionLost = -3,\n /** The network connection failed */\n ConnectFailed = -2,\n /** The client is disconnected cleanly */\n Disconnected = -1,\n /** The client is connected */\n Connected = 0,\n /** the server doesn't support the requested version of MQTT */\n ConnectBadProtocol = 1,\n /** The server rejected the client identifier */\n ConnectBadClientId = 2,\n /** The server was unable to accept the connection */\n ConnectUnavailable = 3,\n /** The username/password were rejected */\n ConnectBadCredentials = 4,\n /** The client was not authorized to connect */\n ConnectUnauthorized = 5,\n }\n\n /** Configure an MQTT broker. */\n function configureBroker(server: string, port: u32): void {\n ward._mqtt_init(String.UTF8.encode(server, true), String.UTF8.byteLength(server, true), port);\n }\n\n /** Connect to the Configured MQTT broker with client_id. */\n function connect(client_id: string): i32 {\n return ward._mqtt_connect(String.UTF8.encode(client_id, true), String.UTF8.byteLength(client_id, true));\n }\n\n /** Returns whether the board is still connected to the MQTT broker. */\n function connected(): bool {\n return status() === Status.Connected;\n }\n\n /** Returns the status of the connection to the MQTT broker. */\n function status(): Status {\n return ward._mqtt_state();\n }\n\n /** Publish a message on an MQTT topic. */\n function publish(topic: string, payload: string): i32 {\n return ward._mqtt_publish(String.UTF8.encode(topic, true), String.UTF8.byteLength(topic, true), String.UTF8.encode(payload, true), String.UTF8.byteLength(payload, true));\n }\n\n /** Subscribe a callback function to an MQTT topic. */\n function subscribe(topic: string, fn: (topic: string, payload: string) => void): i32 {\n return ward._mqtt_subscribe(topic, fn);\n }\n\n /** Unsubscribe a callback function from an MQTT topic. */\n function unsubscribe(topic: string, fn: (topic: string, payload: string) => void): i32 {\n return ward._mqtt_unsubscribe(topic, fn);\n }\n\n /** Check for messages from the MQTT broker. */\n function loop(): i32 {\n return ward._mqtt_loop();\n }\n}\n\nconst buffersizeMaximum: u32 = 1000;\n\nexport namespace HTTP {\n class PostOptions {\n url: string;\n body: string;\n content_type: string;\n authorization: string;\n\n constructor(url: string, body: string, content_type: string, authorization: string) {\n this.url = url; this.body = body; this.content_type = content_type; this.authorization = authorization;\n }\n }\n\n /** Send an HTTP GET request. The response is written to an ArrayBuffer. */\n function get(url: string): string {\n const response: ArrayBuffer = new ArrayBuffer(buffersizeMaximum);\n ward._http_get(String.UTF8.encode(url, true), String.UTF8.byteLength(url, true), response, response.byteLength);\n return String.UTF8.decode(response);\n }\n\n /** Send an HTTP POST request. The response is written to an ArrayBuffer. */\n function post(options: PostOptions): string {\n const response: ArrayBuffer = new ArrayBuffer(buffersizeMaximum);\n ward._http_post(String.UTF8.encode(options.url, true), String.UTF8.byteLength(options.url, true),\n String.UTF8.encode(options.body, true), String.UTF8.byteLength(options.body, true),\n String.UTF8.encode(options.content_type, true), String.UTF8.byteLength(options.content_type, true),\n String.UTF8.encode(options.authorization, true), String.UTF8.byteLength(options.authorization, true),\n response, response.byteLength);\n return String.UTF8.decode(response);\n }\n}\n","import {print} from \"as-warduino/assembly\";\n\nexport function main(): void {\n print(\"ASCII Table ~ Character Map\\n\");\n let byte: i32 = 33;\n\n while (byte !== 126) {\n print(String.fromCharCode(byte));\n\n print(\", dec: \" + byte.toString());\n print(\", hex: \" + byte.toString(16));\n print(\", oct: \" + byte.toString(8));\n print(\", bin: \" + byte.toString(2) + \"\\n\");\n\n if (byte == 126) {\n while (true) {\n continue;\n }\n }\n\n byte++;\n }\n}\n","/// \n\nimport { idof } from \"../builtins\";\nimport { CharCode } from \"./string\";\n\n// @ts-ignore: decorator\n@inline\nexport const MAX_DOUBLE_LENGTH = 28;\n\n// @ts-ignore: decorator\n@lazy @inline const POWERS10 = memory.data([\n 1,\n 10,\n 100,\n 1000,\n 10000,\n 100000,\n 1000000,\n 10000000,\n 100000000,\n 1000000000\n]);\n\n/*\n Lookup table for pairwise char codes in range [0-99]\n\n \"00\", \"01\", \"02\", \"03\", \"04\", \"05\", \"06\", \"07\", \"08\", \"09\",\n \"10\", \"11\", \"12\", \"13\", \"14\", \"15\", \"16\", \"17\", \"18\", \"19\",\n \"20\", \"21\", \"22\", \"23\", \"24\", \"25\", \"26\", \"27\", \"28\", \"29\",\n \"30\", \"31\", \"32\", \"33\", \"34\", \"35\", \"36\", \"37\", \"38\", \"39\",\n \"40\", \"41\", \"42\", \"43\", \"44\", \"45\", \"46\", \"47\", \"48\", \"49\",\n \"50\", \"51\", \"52\", \"53\", \"54\", \"55\", \"56\", \"57\", \"58\", \"59\",\n \"60\", \"61\", \"62\", \"63\", \"64\", \"65\", \"66\", \"67\", \"68\", \"69\",\n \"70\", \"71\", \"72\", \"73\", \"74\", \"75\", \"76\", \"77\", \"78\", \"79\",\n \"80\", \"81\", \"82\", \"83\", \"84\", \"85\", \"86\", \"87\", \"88\", \"89\",\n \"90\", \"91\", \"92\", \"93\", \"94\", \"95\", \"96\", \"97\", \"98\", \"99\"\n*/\n// @ts-ignore: decorator\n@lazy @inline const DIGITS = memory.data([\n 0x00300030, 0x00310030, 0x00320030, 0x00330030, 0x00340030,\n 0x00350030, 0x00360030, 0x00370030, 0x00380030, 0x00390030,\n 0x00300031, 0x00310031, 0x00320031, 0x00330031, 0x00340031,\n 0x00350031, 0x00360031, 0x00370031, 0x00380031, 0x00390031,\n 0x00300032, 0x00310032, 0x00320032, 0x00330032, 0x00340032,\n 0x00350032, 0x00360032, 0x00370032, 0x00380032, 0x00390032,\n 0x00300033, 0x00310033, 0x00320033, 0x00330033, 0x00340033,\n 0x00350033, 0x00360033, 0x00370033, 0x00380033, 0x00390033,\n 0x00300034, 0x00310034, 0x00320034, 0x00330034, 0x00340034,\n 0x00350034, 0x00360034, 0x00370034, 0x00380034, 0x00390034,\n 0x00300035, 0x00310035, 0x00320035, 0x00330035, 0x00340035,\n 0x00350035, 0x00360035, 0x00370035, 0x00380035, 0x00390035,\n 0x00300036, 0x00310036, 0x00320036, 0x00330036, 0x00340036,\n 0x00350036, 0x00360036, 0x00370036, 0x00380036, 0x00390036,\n 0x00300037, 0x00310037, 0x00320037, 0x00330037, 0x00340037,\n 0x00350037, 0x00360037, 0x00370037, 0x00380037, 0x00390037,\n 0x00300038, 0x00310038, 0x00320038, 0x00330038, 0x00340038,\n 0x00350038, 0x00360038, 0x00370038, 0x00380038, 0x00390038,\n 0x00300039, 0x00310039, 0x00320039, 0x00330039, 0x00340039,\n 0x00350039, 0x00360039, 0x00370039, 0x00380039, 0x00390039\n]);\n\n// Lookup table for pairwise char codes in range [0x00-0xFF]\n// @ts-ignore: decorator\n@lazy @inline const HEX_DIGITS =\n\"000102030405060708090a0b0c0d0e0f\\\n101112131415161718191a1b1c1d1e1f\\\n202122232425262728292a2b2c2d2e2f\\\n303132333435363738393a3b3c3d3e3f\\\n404142434445464748494a4b4c4d4e4f\\\n505152535455565758595a5b5c5d5e5f\\\n606162636465666768696a6b6c6d6e6f\\\n707172737475767778797a7b7c7d7e7f\\\n808182838485868788898a8b8c8d8e8f\\\n909192939495969798999a9b9c9d9e9f\\\na0a1a2a3a4a5a6a7a8a9aaabacadaeaf\\\nb0b1b2b3b4b5b6b7b8b9babbbcbdbebf\\\nc0c1c2c3c4c5c6c7c8c9cacbcccdcecf\\\nd0d1d2d3d4d5d6d7d8d9dadbdcdddedf\\\ne0e1e2e3e4e5e6e7e8e9eaebecedeeef\\\nf0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\";\n\n// @ts-ignore: decorator\n@lazy @inline const ANY_DIGITS = \"0123456789abcdefghijklmnopqrstuvwxyz\";\n\n// @ts-ignore: decorator\n@lazy @inline const EXP_POWERS = memory.data([/* eslint-disable indent */\n -1220, -1193, -1166, -1140, -1113, -1087, -1060, -1034, -1007, -980,\n -954, -927, -901, -874, -847, -821, -794, -768, -741, -715,\n -688, -661, -635, -608, -582, -555, -529, -502, -475, -449,\n -422, -396, -369, -343, -316, -289, -263, -236, -210, -183,\n -157, -130, -103, -77, -50, -24, 3, 30, 56, 83,\n 109, 136, 162, 189, 216, 242, 269, 295, 322, 348,\n 375, 402, 428, 455, 481, 508, 534, 561, 588, 614,\n 641, 667, 694, 720, 747, 774, 800, 827, 853, 880,\n 907, 933, 960, 986, 1013, 1039, 1066\n/* eslint-enable indent */]);\n\n// 1e-348, 1e-340, ..., 1e340\n// @ts-ignore: decorator\n@lazy @inline const FRC_POWERS = memory.data([\n 0xFA8FD5A0081C0288, 0xBAAEE17FA23EBF76, 0x8B16FB203055AC76, 0xCF42894A5DCE35EA,\n 0x9A6BB0AA55653B2D, 0xE61ACF033D1A45DF, 0xAB70FE17C79AC6CA, 0xFF77B1FCBEBCDC4F,\n 0xBE5691EF416BD60C, 0x8DD01FAD907FFC3C, 0xD3515C2831559A83, 0x9D71AC8FADA6C9B5,\n 0xEA9C227723EE8BCB, 0xAECC49914078536D, 0x823C12795DB6CE57, 0xC21094364DFB5637,\n 0x9096EA6F3848984F, 0xD77485CB25823AC7, 0xA086CFCD97BF97F4, 0xEF340A98172AACE5,\n 0xB23867FB2A35B28E, 0x84C8D4DFD2C63F3B, 0xC5DD44271AD3CDBA, 0x936B9FCEBB25C996,\n 0xDBAC6C247D62A584, 0xA3AB66580D5FDAF6, 0xF3E2F893DEC3F126, 0xB5B5ADA8AAFF80B8,\n 0x87625F056C7C4A8B, 0xC9BCFF6034C13053, 0x964E858C91BA2655, 0xDFF9772470297EBD,\n 0xA6DFBD9FB8E5B88F, 0xF8A95FCF88747D94, 0xB94470938FA89BCF, 0x8A08F0F8BF0F156B,\n 0xCDB02555653131B6, 0x993FE2C6D07B7FAC, 0xE45C10C42A2B3B06, 0xAA242499697392D3,\n 0xFD87B5F28300CA0E, 0xBCE5086492111AEB, 0x8CBCCC096F5088CC, 0xD1B71758E219652C,\n 0x9C40000000000000, 0xE8D4A51000000000, 0xAD78EBC5AC620000, 0x813F3978F8940984,\n 0xC097CE7BC90715B3, 0x8F7E32CE7BEA5C70, 0xD5D238A4ABE98068, 0x9F4F2726179A2245,\n 0xED63A231D4C4FB27, 0xB0DE65388CC8ADA8, 0x83C7088E1AAB65DB, 0xC45D1DF942711D9A,\n 0x924D692CA61BE758, 0xDA01EE641A708DEA, 0xA26DA3999AEF774A, 0xF209787BB47D6B85,\n 0xB454E4A179DD1877, 0x865B86925B9BC5C2, 0xC83553C5C8965D3D, 0x952AB45CFA97A0B3,\n 0xDE469FBD99A05FE3, 0xA59BC234DB398C25, 0xF6C69A72A3989F5C, 0xB7DCBF5354E9BECE,\n 0x88FCF317F22241E2, 0xCC20CE9BD35C78A5, 0x98165AF37B2153DF, 0xE2A0B5DC971F303A,\n 0xA8D9D1535CE3B396, 0xFB9B7CD9A4A7443C, 0xBB764C4CA7A44410, 0x8BAB8EEFB6409C1A,\n 0xD01FEF10A657842C, 0x9B10A4E5E9913129, 0xE7109BFBA19C0C9D, 0xAC2820D9623BF429,\n 0x80444B5E7AA7CF85, 0xBF21E44003ACDD2D, 0x8E679C2F5E44FF8F, 0xD433179D9C8CB841,\n 0x9E19DB92B4E31BA9, 0xEB96BF6EBADF77D9, 0xAF87023B9BF0EE6B\n]);\n\n// @ts-ignore: decorator\n@inline\nexport function isPowerOf2(value: T): bool {\n return popcnt(value) == 1;\n}\n\n// Count number of decimals for u32 values\n// In our case input value always non-zero so we can simplify some parts\nexport function decimalCount32(value: u32): u32 {\n if (value < 100000) {\n if (value < 100) {\n return 1 + u32(value >= 10);\n } else {\n return 3 + u32(value >= 10000) + u32(value >= 1000);\n }\n } else {\n if (value < 10000000) {\n return 6 + u32(value >= 1000000);\n } else {\n return 8 + u32(value >= 1000000000) + u32(value >= 100000000);\n }\n }\n}\n\n// Count number of decimals for u64 values\n// In our case input value always greater than 2^32-1 so we can skip some parts\nexport function decimalCount64High(value: u64): u32 {\n if (value < 1000000000000000) {\n if (value < 1000000000000) {\n return 10 + u32(value >= 100000000000) + u32(value >= 10000000000);\n } else {\n return 13 + u32(value >= 100000000000000) + u32(value >= 10000000000000);\n }\n } else {\n if (value < 100000000000000000) {\n return 16 + u32(value >= 10000000000000000);\n } else {\n return 18 + u32(value >= 10000000000000000000) + u32(value >= 1000000000000000000);\n }\n }\n}\n\nfunction ulog_base(num: u64, base: i32): u32 {\n if (isPowerOf2(base)) {\n return (63 - clz(num)) / (31 - clz(base)) + 1;\n }\n let b64 = u64(base), b = b64, e: u32 = 1;\n while (num >= b) {\n num /= b;\n b *= b;\n e <<= 1;\n }\n while (num >= 1) {\n num /= b64;\n e++;\n }\n return e - 1;\n}\n\nfunction utoa32_dec_lut(buffer: usize, num: u32, offset: usize): void {\n while (num >= 10000) {\n // in most VMs i32/u32 div and modulo by constant can be shared and simplificate\n let t = num / 10000;\n let r = num % 10000;\n num = t;\n\n let d1 = r / 100;\n let d2 = r % 100;\n\n let digits1 = load(DIGITS + (d1 << alignof()));\n let digits2 = load(DIGITS + (d2 << alignof()));\n\n offset -= 4;\n store(buffer + (offset << 1), digits1 | (digits2 << 32));\n }\n\n if (num >= 100) {\n let t = num / 100;\n let d1 = num % 100;\n num = t;\n offset -= 2;\n let digits = load(DIGITS + (d1 << alignof()));\n store(buffer + (offset << 1), digits);\n }\n\n if (num >= 10) {\n offset -= 2;\n let digits = load(DIGITS + (num << alignof()));\n store(buffer + (offset << 1), digits);\n } else {\n offset -= 1;\n let digit = CharCode._0 + num;\n store(buffer + (offset << 1), digit);\n }\n}\n\nfunction utoa64_dec_lut(buffer: usize, num: u64, offset: usize): void {\n while (num >= 100000000) {\n let t = num / 100000000;\n let r = (num - t * 100000000);\n num = t;\n\n let b = r / 10000;\n let c = r % 10000;\n\n let b1 = b / 100;\n let b2 = b % 100;\n let c1 = c / 100;\n let c2 = c % 100;\n\n let digits1 = load(DIGITS + (c1 << alignof()));\n let digits2 = load(DIGITS + (c2 << alignof()));\n\n offset -= 4;\n store(buffer + (offset << 1), digits1 | (digits2 << 32));\n\n digits1 = load(DIGITS + (b1 << alignof()));\n digits2 = load(DIGITS + (b2 << alignof()));\n\n offset -= 4;\n store(buffer + (offset << 1), digits1 | (digits2 << 32));\n }\n\n utoa32_dec_lut(buffer, num, offset);\n}\n\nfunction utoa_hex_lut(buffer: usize, num: u64, offset: usize): void {\n const lut = changetype(HEX_DIGITS);\n while (offset >= 2) {\n offset -= 2;\n store(\n buffer + (offset << 1),\n load(lut + ((num & 0xFF) << alignof()))\n );\n num >>= 8;\n }\n if (offset & 1) {\n store(buffer, load(lut + (num << 6)));\n }\n}\n\nfunction utoa_dec_simple(buffer: usize, num: T, offset: usize): void {\n do {\n let t = num / 10;\n let r = (num % 10);\n num = changetype(t);\n offset--;\n store(buffer + (offset << 1), CharCode._0 + r);\n } while (num);\n}\n\nfunction utoa_hex_simple(buffer: usize, num: T, offset: usize): void {\n do {\n let d = num & 0x0F | CharCode._0;\n d += select(0x27, 0, d > CharCode._9);\n offset--;\n store(buffer + (offset << 1), d);\n // @ts-ignore: type\n num >>= 4;\n } while (num);\n}\n\n// @ts-ignore: decorator\n@inline\nexport function utoa32_dec_core(buffer: usize, num: u32, offset: usize): void {\n if (ASC_SHRINK_LEVEL >= 1) {\n utoa_dec_simple(buffer, num, offset);\n } else {\n utoa32_dec_lut(buffer, num, offset);\n }\n}\n\n// @ts-ignore: decorator\n@inline\nfunction utoa32_hex_core(buffer: usize, num: u32, offset: usize): void {\n if (ASC_SHRINK_LEVEL >= 1) {\n utoa_hex_simple(buffer, num, offset);\n } else {\n utoa_hex_lut(buffer, num, offset);\n }\n}\n\n// @ts-ignore: decorator\n@inline\nfunction utoa64_dec_core(buffer: usize, num: u64, offset: usize): void {\n if (ASC_SHRINK_LEVEL >= 1) {\n utoa_dec_simple(buffer, num, offset);\n } else {\n utoa64_dec_lut(buffer, num, offset);\n }\n}\n\n// @ts-ignore: decorator\n@inline\nfunction utoa64_hex_core(buffer: usize, num: u64, offset: usize): void {\n if (ASC_SHRINK_LEVEL >= 1) {\n utoa_hex_simple(buffer, num, offset);\n } else {\n utoa_hex_lut(buffer, num, offset);\n }\n}\n\nfunction utoa64_any_core(buffer: usize, num: u64, offset: usize, radix: i32): void {\n const lut = changetype(ANY_DIGITS);\n let base = u64(radix);\n if ((radix & (radix - 1)) == 0) { // for radix which pow of two\n let shift = u64(ctz(radix) & 7);\n let mask = base - 1;\n do {\n offset--;\n store(buffer + (offset << 1), load(lut + (usize(num & mask) << 1)));\n num >>= shift;\n } while (num);\n } else {\n do {\n offset--;\n let q = num / base;\n store(buffer + (offset << 1), load(lut + (usize(num - q * base) << 1)));\n num = q;\n } while (num);\n }\n}\n\nexport function utoa32(value: u32, radix: i32): String {\n if (radix < 2 || radix > 36) {\n throw new RangeError(\"toString() radix argument must be between 2 and 36\");\n }\n if (!value) return \"0\";\n let out: String;\n\n if (radix == 10) {\n let decimals = decimalCount32(value);\n out = changetype(__new(decimals << 1, idof()));\n utoa32_dec_core(changetype(out), value, decimals);\n } else if (radix == 16) {\n let decimals = (31 - clz(value) >> 2) + 1;\n out = changetype(__new(decimals << 1, idof()));\n utoa32_hex_core(changetype(out), value, decimals);\n } else {\n let decimals = ulog_base(value, radix);\n out = changetype(__new(decimals << 1, idof()));\n utoa64_any_core(changetype(out), value, decimals, radix);\n }\n return out;\n}\n\nexport function itoa32(value: i32, radix: i32): String {\n if (radix < 2 || radix > 36) {\n throw new RangeError(\"toString() radix argument must be between 2 and 36\");\n }\n if (!value) return \"0\";\n\n let sign = (value >>> 31) << 1;\n if (sign) value = -value;\n let out: String;\n\n if (radix == 10) {\n let decimals = decimalCount32(value);\n out = changetype(__new((decimals << 1) + sign, idof()));\n utoa32_dec_core(changetype(out) + sign, value, decimals);\n } else if (radix == 16) {\n let decimals = (31 - clz(value) >> 2) + 1;\n out = changetype(__new((decimals << 1) + sign, idof()));\n utoa32_hex_core(changetype(out) + sign, value, decimals);\n } else {\n let val32 = u32(value);\n let decimals = ulog_base(val32, radix);\n out = changetype(__new((decimals << 1) + sign, idof()));\n utoa64_any_core(changetype(out) + sign, val32, decimals, radix);\n }\n if (sign) store(changetype(out), CharCode.MINUS);\n return out;\n}\n\nexport function utoa64(value: u64, radix: i32): String {\n if (radix < 2 || radix > 36) {\n throw new RangeError(\"toString() radix argument must be between 2 and 36\");\n }\n if (!value) return \"0\";\n let out: String;\n\n if (radix == 10) {\n if (value <= u32.MAX_VALUE) {\n let val32 = value;\n let decimals = decimalCount32(val32);\n out = changetype(__new(decimals << 1, idof()));\n utoa32_dec_core(changetype(out), val32, decimals);\n } else {\n let decimals = decimalCount64High(value);\n out = changetype(__new(decimals << 1, idof()));\n utoa64_dec_core(changetype(out), value, decimals);\n }\n } else if (radix == 16) {\n let decimals = (63 - u32(clz(value)) >> 2) + 1;\n out = changetype(__new(decimals << 1, idof()));\n utoa64_hex_core(changetype(out), value, decimals);\n } else {\n let decimals = ulog_base(value, radix);\n out = changetype(__new(decimals << 1, idof()));\n utoa64_any_core(changetype(out), value, decimals, radix);\n }\n return out;\n}\n\nexport function itoa64(value: i64, radix: i32): String {\n if (radix < 2 || radix > 36) {\n throw new RangeError(\"toString() radix argument must be between 2 and 36\");\n }\n if (!value) return \"0\";\n\n let sign = u32(value >>> 63) << 1;\n if (sign) value = -value;\n let out: String;\n\n if (radix == 10) {\n if (value <= u32.MAX_VALUE) {\n let val32 = value;\n let decimals = decimalCount32(val32);\n out = changetype(__new((decimals << 1) + sign, idof()));\n utoa32_dec_core(changetype(out) + sign, val32, decimals);\n } else {\n let decimals = decimalCount64High(value);\n out = changetype(__new((decimals << 1) + sign, idof()));\n utoa64_dec_core(changetype(out) + sign, value, decimals);\n }\n } else if (radix == 16) {\n let decimals = (63 - u32(clz(value)) >> 2) + 1;\n out = changetype(__new((decimals << 1) + sign, idof()));\n utoa64_hex_core(changetype(out) + sign, value, decimals);\n } else {\n let decimals = ulog_base(value, radix);\n out = changetype(__new((decimals << 1) + sign, idof()));\n utoa64_any_core(changetype(out) + sign, value, decimals, radix);\n }\n if (sign) store(changetype(out), CharCode.MINUS);\n return out;\n}\n\n// @ts-ignore: decorator\n@lazy let _K: i32 = 0;\n\n// // @ts-ignore: decorator\n// @lazy\n// let _frc: u64 = 0;\n\n// @ts-ignore: decorator\n@lazy let _exp: i32 = 0;\n\n// @ts-ignore: decorator\n@lazy let _frc_minus: u64 = 0;\n\n// @ts-ignore: decorator\n@lazy let _frc_plus: u64 = 0;\n\n// @ts-ignore: decorator\n@lazy let _frc_pow: u64 = 0;\n\n// @ts-ignore: decorator\n@lazy let _exp_pow: i32 = 0;\n\n// @ts-ignore: decorator\n@inline\nfunction umul64f(u: u64, v: u64): u64 {\n let u0 = u & 0xFFFFFFFF;\n let v0 = v & 0xFFFFFFFF;\n\n let u1 = u >> 32;\n let v1 = v >> 32;\n\n let l = u0 * v0;\n let t = u1 * v0 + (l >> 32);\n let w = u0 * v1 + (t & 0xFFFFFFFF);\n\n w += 0x7FFFFFFF; // rounding\n\n t >>= 32;\n w >>= 32;\n\n return u1 * v1 + t + w;\n}\n\n// @ts-ignore: decorator\n@inline\nfunction umul64e(e1: i32, e2: i32): i32 {\n return e1 + e2 + 64; // where 64 is significand size\n}\n\n// @ts-ignore: decorator\n@inline\nfunction normalizedBoundaries(f: u64, e: i32): void {\n let frc = (f << 1) + 1;\n let exp = e - 1;\n let off = clz(frc);\n frc <<= off;\n exp -= off;\n\n let m = 1 + i32(f == 0x0010000000000000);\n\n _frc_plus = frc;\n _frc_minus = ((f << m) - 1) << e - m - exp;\n _exp = exp;\n}\n\n// @ts-ignore: decorator\n@inline\nfunction grisuRound(buffer: usize, len: i32, delta: u64, rest: u64, ten_kappa: u64, wp_w: u64): void {\n let lastp = buffer + ((len - 1) << 1);\n let digit = load(lastp);\n while (\n rest < wp_w &&\n delta - rest >= ten_kappa && (\n rest + ten_kappa < wp_w ||\n wp_w - rest > rest + ten_kappa - wp_w\n )\n ) {\n --digit;\n rest += ten_kappa;\n }\n store(lastp, digit);\n}\n\n// @ts-ignore: decorator\n@inline\nfunction getCachedPower(minExp: i32): void {\n const c = reinterpret(0x3FD34413509F79FE); // 1 / lg(10) = 0.30102999566398114\n let dk = (-61 - minExp) * c + 347;\t // dk must be positive, so can do ceiling in positive\n let k = dk;\n k += i32(k != dk); // conversion with ceil\n\n let index = (k >> 3) + 1;\n _K = 348 - (index << 3);\t// decimal exponent no need lookup table\n _frc_pow = load(FRC_POWERS + (index << alignof()));\n _exp_pow = load(EXP_POWERS + (index << alignof()));\n}\n\n// @ts-ignore: decorator\n@inline\nfunction grisu2(value: f64, buffer: usize, sign: i32): i32 {\n\n // frexp routine\n let uv = reinterpret(value);\n let exp = i32((uv & 0x7FF0000000000000) >>> 52);\n let sid = uv & 0x000FFFFFFFFFFFFF;\n let frc = (u64(exp != 0) << 52) + sid;\n exp = select(exp, 1, exp) - (0x3FF + 52);\n\n normalizedBoundaries(frc, exp);\n getCachedPower(_exp);\n\n // normalize\n let off = clz(frc);\n frc <<= off;\n exp -= off;\n\n let frc_pow = _frc_pow;\n let exp_pow = _exp_pow;\n\n let w_frc = umul64f(frc, frc_pow);\n let w_exp = umul64e(exp, exp_pow);\n\n let wp_frc = umul64f(_frc_plus, frc_pow) - 1;\n let wp_exp = umul64e(_exp, exp_pow);\n\n let wm_frc = umul64f(_frc_minus, frc_pow) + 1;\n let delta = wp_frc - wm_frc;\n\n return genDigits(buffer, w_frc, w_exp, wp_frc, wp_exp, delta, sign);\n}\n\nfunction genDigits(buffer: usize, w_frc: u64, w_exp: i32, mp_frc: u64, mp_exp: i32, delta: u64, sign: i32): i32 {\n let one_exp = -mp_exp;\n let one_frc = (1) << one_exp;\n let mask = one_frc - 1;\n\n let wp_w_frc = mp_frc - w_frc;\n\n let p1 = u32(mp_frc >> one_exp);\n let p2 = mp_frc & mask;\n\n let kappa = decimalCount32(p1);\n let len = sign;\n\n while (kappa > 0) {\n let d: u32;\n switch (kappa) {\n case 10: { d = p1 / 1000000000; p1 %= 1000000000; break; }\n case 9: { d = p1 / 100000000; p1 %= 100000000; break; }\n case 8: { d = p1 / 10000000; p1 %= 10000000; break; }\n case 7: { d = p1 / 1000000; p1 %= 1000000; break; }\n case 6: { d = p1 / 100000; p1 %= 100000; break; }\n case 5: { d = p1 / 10000; p1 %= 10000; break; }\n case 4: { d = p1 / 1000; p1 %= 1000; break; }\n case 3: { d = p1 / 100; p1 %= 100; break; }\n case 2: { d = p1 / 10; p1 %= 10; break; }\n case 1: { d = p1; p1 = 0; break; }\n default: { d = 0; break; }\n }\n\n if (d | len) store(buffer + (len++ << 1), CharCode._0 + d);\n\n --kappa;\n let tmp = ((p1) << one_exp) + p2;\n if (tmp <= delta) {\n _K += kappa;\n grisuRound(buffer, len, delta, tmp, load(POWERS10 + (kappa << alignof())) << one_exp, wp_w_frc);\n return len;\n }\n }\n\n while (true) {\n p2 *= 10;\n delta *= 10;\n\n let d = p2 >> one_exp;\n if (d | len) store(buffer + (len++ << 1), CharCode._0 + d);\n\n p2 &= mask;\n --kappa;\n if (p2 < delta) {\n _K += kappa;\n wp_w_frc *= load(POWERS10 + (-kappa << alignof()));\n grisuRound(buffer, len, delta, p2, one_frc, wp_w_frc);\n return len;\n }\n }\n}\n\n// @ts-ignore: decorator\n@inline\nfunction genExponent(buffer: usize, k: i32): i32 {\n let sign = k < 0;\n if (sign) k = -k;\n let decimals = decimalCount32(k) + 1;\n utoa32_dec_core(buffer, k, decimals);\n store(buffer, select(CharCode.MINUS, CharCode.PLUS, sign));\n return decimals;\n}\n\nfunction prettify(buffer: usize, length: i32, k: i32): i32 {\n if (!k) {\n store(buffer + (length << 1), CharCode.DOT | (CharCode._0 << 16));\n return length + 2;\n }\n\n let kk = length + k;\n if (length <= kk && kk <= 21) {\n // 1234e7 -> 12340000000\n for (let i = length; i < kk; ++i) {\n store(buffer + (i << 1), CharCode._0);\n }\n store(buffer + (kk << 1), CharCode.DOT | (CharCode._0 << 16));\n return kk + 2;\n } else if (kk > 0 && kk <= 21) {\n // 1234e-2 -> 12.34\n let ptr = buffer + (kk << 1);\n memory.copy(\n ptr + 2,\n ptr,\n -k << 1\n );\n store(buffer + (kk << 1), CharCode.DOT);\n return length + 1;\n } else if (-6 < kk && kk <= 0) {\n // 1234e-6 -> 0.001234\n let offset = 2 - kk;\n memory.copy(\n buffer + (offset << 1),\n buffer,\n length << 1\n );\n store(buffer, CharCode._0 | (CharCode.DOT << 16));\n for (let i = 2; i < offset; ++i) {\n store(buffer + (i << 1), CharCode._0);\n }\n return length + offset;\n } else if (length == 1) {\n // 1e30\n store(buffer, CharCode.e, 2);\n length = genExponent(buffer + 4, kk - 1);\n return length + 2;\n } else {\n let len = length << 1;\n memory.copy(\n buffer + 4,\n buffer + 2,\n len - 2\n );\n store(buffer, CharCode.DOT, 2);\n store(buffer + len, CharCode.e, 2);\n length += genExponent(buffer + len + 4, kk - 1);\n return length + 2;\n }\n}\n\nfunction dtoa_core(buffer: usize, value: f64): i32 {\n let sign = i32(value < 0);\n if (sign) {\n value = -value;\n store(buffer, CharCode.MINUS);\n }\n // assert(value > 0 && value <= 1.7976931348623157e308);\n let len = grisu2(value, buffer, sign);\n len = prettify(buffer + (sign << 1), len - sign, _K);\n return len + sign;\n}\n\n// @ts-ignore: decorator\n@lazy @inline const dtoa_buf = memory.data(MAX_DOUBLE_LENGTH << 1);\n\nexport function dtoa(value: f64): String {\n if (value == 0) return \"0.0\";\n if (!isFinite(value)) {\n if (isNaN(value)) return \"NaN\";\n return select(\"-Infinity\", \"Infinity\", value < 0);\n }\n let size = dtoa_core(dtoa_buf, value) << 1;\n let result = changetype(__new(size, idof()));\n memory.copy(changetype(result), dtoa_buf, size);\n return result;\n}\n\nexport function itoa_buffered(buffer: usize, value: T): u32 {\n let sign: u32 = 0;\n if (isSigned()) {\n sign = u32(value < 0);\n if (sign) {\n if (sizeof() == 1) {\n if (value == -0x80) {\n // -0x80 -> -128\n store(buffer,\n CharCode.MINUS |\n (CharCode._0 + 1) << 16 |\n (CharCode._0 + 2) << 32 |\n (CharCode._0 + 8) << 48\n );\n return 4;\n }\n }\n if (sizeof() == 2) {\n if (value == -0x8000) {\n // -0x8000 -> -32768\n store(buffer,\n CharCode.MINUS |\n (CharCode._0 + 3) << 16 |\n (CharCode._0 + 2) << 32 |\n (CharCode._0 + 7) << 48\n ); // -327\n store(buffer + 8,\n (CharCode._0 + 6) << 0 |\n (CharCode._0 + 8) << 16\n ); // 68\n return 6;\n }\n }\n store(buffer, CharCode.MINUS);\n // @ts-ignore\n value = -value;\n }\n }\n let dest = buffer + (sign << 1);\n if (ASC_SHRINK_LEVEL <= 1) {\n if (isSigned()) {\n if (sizeof() <= 4) {\n if (value < 10) {\n store(dest, value | CharCode._0);\n return 1 + sign;\n }\n } else {\n if (value < 10) {\n store(dest, value | CharCode._0);\n return 1 + sign;\n }\n }\n } else {\n if (value < 10) {\n store(buffer, value | CharCode._0);\n return 1;\n }\n }\n }\n let decimals: u32 = 0;\n if (sizeof() <= 4) {\n let val32 = value;\n decimals = decimalCount32(val32);\n utoa32_dec_core(dest, val32, decimals);\n } else {\n if (value <= u32.MAX_VALUE) {\n let val32 = value;\n decimals = decimalCount32(val32);\n utoa32_dec_core(dest, val32, decimals);\n } else {\n let val64 = value;\n decimals = decimalCount64High(val64);\n utoa64_dec_core(dest, val64, decimals);\n }\n }\n return sign + decimals;\n}\n\nexport function dtoa_buffered(buffer: usize, value: f64): u32 {\n if (value == 0) {\n store(buffer, CharCode._0);\n store(buffer, CharCode.DOT, 2);\n store(buffer, CharCode._0, 4);\n return 3;\n }\n if (!isFinite(value)) {\n if (isNaN(value)) {\n store(buffer, CharCode.N);\n store(buffer, CharCode.a, 2);\n store(buffer, CharCode.N, 4);\n return 3;\n } else {\n let sign = value < 0;\n if (sign) {\n store(buffer, CharCode.MINUS); // -\n buffer += 2;\n }\n store(buffer, 0x690066006E0049, 0); // ifnI\n store(buffer, 0x7900740069006E, 8); // ytin\n return 8 + u32(sign);\n }\n }\n return dtoa_core(buffer, value);\n}\n","//\n// Lookup data for exp2f\n//\n\n// @ts-ignore: decorator\n@inline const EXP2F_TABLE_BITS = 5;\n\n// @ts-ignore: decorator\n@lazy @inline const EXP2F_DATA_TAB = memory.data([\n // exp2f_data_tab[i] = uint(2^(i/N)) - (i << 52-BITS)\n // used for computing 2^(k/N) for an int |k| < 150 N as\n // double(tab[k%N] + (k << 52-BITS))\n 0x3FF0000000000000, 0x3FEFD9B0D3158574, 0x3FEFB5586CF9890F, 0x3FEF9301D0125B51,\n 0x3FEF72B83C7D517B, 0x3FEF54873168B9AA, 0x3FEF387A6E756238, 0x3FEF1E9DF51FDEE1,\n 0x3FEF06FE0A31B715, 0x3FEEF1A7373AA9CB, 0x3FEEDEA64C123422, 0x3FEECE086061892D,\n 0x3FEEBFDAD5362A27, 0x3FEEB42B569D4F82, 0x3FEEAB07DD485429, 0x3FEEA47EB03A5585,\n 0x3FEEA09E667F3BCD, 0x3FEE9F75E8EC5F74, 0x3FEEA11473EB0187, 0x3FEEA589994CCE13,\n 0x3FEEACE5422AA0DB, 0x3FEEB737B0CDC5E5, 0x3FEEC49182A3F090, 0x3FEED503B23E255D,\n 0x3FEEE89F995AD3AD, 0x3FEEFF76F2FB5E47, 0x3FEF199BDD85529C, 0x3FEF3720DCEF9069,\n 0x3FEF5818DCFBA487, 0x3FEF7C97337B9B5F, 0x3FEFA4AFA2A490DA, 0x3FEFD0765B6E4540\n]);\n\n// ULP error: 0.502 (nearest rounding.)\n// Relative error: 1.69 * 2^-34 in [-1/64, 1/64] (before rounding.)\n// Wrong count: 168353 (all nearest rounding wrong results with fma.)\n// @ts-ignore: decorator\n@inline\nexport function exp2f_lut(x: f32): f32 {\n const\n N = 1 << EXP2F_TABLE_BITS,\n N_MASK = N - 1,\n shift = reinterpret(0x4338000000000000) / N, // 0x1.8p+52\n Ox127f = reinterpret(0x7F000000);\n\n const\n C0 = reinterpret(0x3FAC6AF84B912394), // 0x1.c6af84b912394p-5\n C1 = reinterpret(0x3FCEBFCE50FAC4F3), // 0x1.ebfce50fac4f3p-3\n C2 = reinterpret(0x3FE62E42FF0C52D6); // 0x1.62e42ff0c52d6p-1\n\n let xd = x;\n let ix = reinterpret(x);\n let ux = ix >> 20 & 0x7FF;\n if (ux >= 0x430) {\n // |x| >= 128 or x is nan.\n if (ix == 0xFF800000) return 0; // x == -Inf -> 0\n if (ux >= 0x7F8) return x + x; // x == Inf/NaN -> Inf/NaN\n if (x > 0) return x * Ox127f; // x > 0 -> HugeVal (Owerflow)\n if (x <= -150) return 0; // x <= -150 -> 0 (Underflow)\n }\n\n // x = k/N + r with r in [-1/(2N), 1/(2N)] and int k.\n let kd = xd + shift;\n let ki = reinterpret(kd);\n let r = xd - (kd - shift);\n let t: u64, y: f64, s: f64;\n\n // exp2(x) = 2^(k/N) * 2^r ~= s * (C0*r^3 + C1*r^2 + C2*r + 1)\n t = load(EXP2F_DATA_TAB + ((ki & N_MASK) << alignof()));\n t += ki << (52 - EXP2F_TABLE_BITS);\n s = reinterpret(t);\n y = C2 * r + 1;\n y += (C0 * r + C1) * (r * r);\n y *= s;\n\n return y;\n}\n\n// ULP error: 0.502 (nearest rounding.)\n// Relative error: 1.69 * 2^-34 in [-ln2/64, ln2/64] (before rounding.)\n// Wrong count: 170635 (all nearest rounding wrong results with fma.)\n// @ts-ignore: decorator\n@inline\nexport function expf_lut(x: f32): f32 {\n const\n N = 1 << EXP2F_TABLE_BITS,\n N_MASK = N - 1,\n shift = reinterpret(0x4338000000000000), // 0x1.8p+52\n InvLn2N = reinterpret(0x3FF71547652B82FE) * N, // 0x1.71547652b82fep+0\n Ox1p127f = reinterpret(0x7F000000);\n\n const\n C0 = reinterpret(0x3FAC6AF84B912394) / N / N / N, // 0x1.c6af84b912394p-5\n C1 = reinterpret(0x3FCEBFCE50FAC4F3) / N / N, // 0x1.ebfce50fac4f3p-3\n C2 = reinterpret(0x3FE62E42FF0C52D6) / N; // 0x1.62e42ff0c52d6p-1\n\n let xd = x;\n let ix = reinterpret(x);\n let ux = ix >> 20 & 0x7FF;\n if (ux >= 0x42B) {\n // |x| >= 88 or x is nan.\n if (ix == 0xFF800000) return 0; // x == -Inf -> 0\n if (ux >= 0x7F8) return x + x; // x == Inf/NaN -> Inf/NaN\n if (x > reinterpret(0x42B17217)) return x * Ox1p127f; // x > log(0x1p128) ~= 88.72 -> HugeVal (Owerflow)\n if (x < reinterpret(0xC2CFF1B4)) return 0; // x < log(0x1p-150) ~= -103.97 -> 0 (Underflow)\n }\n\n // x*N/Ln2 = k + r with r in [-1/2, 1/2] and int k.\n let z = InvLn2N * xd;\n\n // Round and convert z to int, the result is in [-150*N, 128*N] and\n // ideally ties-to-even rule is used, otherwise the magnitude of r\n // can be bigger which gives larger approximation error.\n let kd = (z + shift);\n let ki = reinterpret(kd);\n let r = z - (kd - shift);\n let s: f64, y: f64, t: u64;\n\n // exp(x) = 2^(k/N) * 2^(r/N) ~= s * (C0*r^3 + C1*r^2 + C2*r + 1)\n t = load(EXP2F_DATA_TAB + ((ki & N_MASK) << alignof()));\n t += ki << (52 - EXP2F_TABLE_BITS);\n s = reinterpret(t);\n z = C0 * r + C1;\n y = C2 * r + 1;\n y += z * (r * r);\n y *= s;\n\n return y;\n}\n\n//\n// Lookup data for log2f\n//\n\n// @ts-ignore: decorator\n@inline const LOG2F_TABLE_BITS = 4;\n\n// @ts-ignore: decorator\n@lazy @inline const LOG2F_DATA_TAB = memory.data([\n 0x3FF661EC79F8F3BE, 0xBFDEFEC65B963019, // 0x1.661ec79f8f3bep+0, -0x1.efec65b963019p-2,\n 0x3FF571ED4AAF883D, 0xBFDB0B6832D4FCA4, // 0x1.571ed4aaf883dp+0, -0x1.b0b6832d4fca4p-2,\n 0x3FF49539F0F010B0, 0xBFD7418B0A1FB77B, // 0x1.49539f0f010bp+0 , -0x1.7418b0a1fb77bp-2,\n 0x3FF3C995B0B80385, 0xBFD39DE91A6DCF7B, // 0x1.3c995b0b80385p+0, -0x1.39de91a6dcf7bp-2,\n 0x3FF30D190C8864A5, 0xBFD01D9BF3F2B631, // 0x1.30d190c8864a5p+0, -0x1.01d9bf3f2b631p-2,\n 0x3FF25E227B0B8EA0, 0xBFC97C1D1B3B7AF0, // 0x1.25e227b0b8eap+0 , -0x1.97c1d1b3b7afp-3 ,\n 0x3FF1BB4A4A1A343F, 0xBFC2F9E393AF3C9F, // 0x1.1bb4a4a1a343fp+0, -0x1.2f9e393af3c9fp-3,\n 0x3FF12358F08AE5BA, 0xBFB960CBBF788D5C, // 0x1.12358f08ae5bap+0, -0x1.960cbbf788d5cp-4,\n 0x3FF0953F419900A7, 0xBFAA6F9DB6475FCE, // 0x1.0953f419900a7p+0, -0x1.a6f9db6475fcep-5,\n 0x3FF0000000000000, 0, // 0x1p+0, 0x0,\n 0x3FEE608CFD9A47AC, 0x3FB338CA9F24F53D, // 0x1.e608cfd9a47acp-1, 0x1.338ca9f24f53dp-4,\n 0x3FECA4B31F026AA0, 0x3FC476A9543891BA, // 0x1.ca4b31f026aap-1 , 0x1.476a9543891bap-3,\n 0x3FEB2036576AFCE6, 0x3FCE840B4AC4E4D2, // 0x1.b2036576afce6p-1, 0x1.e840b4ac4e4d2p-3,\n 0x3FE9C2D163A1AA2D, 0x3FD40645F0C6651C, // 0x1.9c2d163a1aa2dp-1, 0x1.40645f0c6651cp-2,\n 0x3FE886E6037841ED, 0x3FD88E9C2C1B9FF8, // 0x1.886e6037841edp-1, 0x1.88e9c2c1b9ff8p-2,\n 0x3FE767DCF5534862, 0x3FDCE0A44EB17BCC // 0x1.767dcf5534862p-1, 0x1.ce0a44eb17bccp-2\n]);\n\n// ULP error: 0.752 (nearest rounding.)\n// Relative error: 1.9 * 2^-26 (before rounding.)\n// @ts-ignore: decorator\n@inline\nexport function log2f_lut(x: f32): f32 {\n const\n N_MASK = (1 << LOG2F_TABLE_BITS) - 1,\n Ox1p23f = reinterpret(0x4B000000); // 0x1p23f\n\n const\n A0 = reinterpret(0xBFD712B6F70A7E4D), // -0x1.712b6f70a7e4dp-2\n A1 = reinterpret(0x3FDECABF496832E0), // 0x1.ecabf496832ep-2\n A2 = reinterpret(0xBFE715479FFAE3DE), // -0x1.715479ffae3dep-1\n A3 = reinterpret(0x3FF715475F35C8B8); // 0x1.715475f35c8b8p0\n\n let ux = reinterpret(x);\n // Fix sign of zero with downward rounding when x==1.\n // if (WANT_ROUNDING && predict_false(ix == 0x3f800000)) return 0;\n if (ux - 0x00800000 >= 0x7F800000 - 0x00800000) {\n // x < 0x1p-126 or inf or nan.\n if (ux * 2 == 0) return -Infinity;\n if (ux == 0x7F800000) return x; // log2(inf) == inf.\n if ((ux >> 31) || ux * 2 >= 0xFF000000) return (x - x) / (x - x);\n // x is subnormal, normalize it.\n ux = reinterpret(x * Ox1p23f);\n ux -= 23 << 23;\n }\n // x = 2^k z; where z is in range [OFF,2*OFF] and exact.\n // The range is split into N subintervals.\n // The ith subinterval contains z and c is near its center.\n let tmp = ux - 0x3F330000;\n let i = (tmp >> (23 - LOG2F_TABLE_BITS)) & N_MASK;\n let top = tmp & 0xFF800000;\n let iz = ux - top;\n let k = tmp >> 23;\n\n let invc = load(LOG2F_DATA_TAB + (i << (1 + alignof())), 0 << alignof());\n let logc = load(LOG2F_DATA_TAB + (i << (1 + alignof())), 1 << alignof());\n let z = reinterpret(iz);\n\n // log2(x) = log1p(z/c-1)/ln2 + log2(c) + k\n let r = z * invc - 1;\n let y0 = logc + k;\n\n // Pipelined polynomial evaluation to approximate log1p(r)/ln2.\n let y = A1 * r + A2;\n let p = A3 * r + y0;\n let r2 = r * r;\n y += A0 * r2;\n y = y * r2 + p;\n\n return y;\n}\n\n//\n// Lookup data for logf. See: https://git.musl-libc.org/cgit/musl/tree/src/math/logf.c\n//\n\n// @ts-ignore: decorator\n@inline const LOGF_TABLE_BITS = 4;\n\n// @ts-ignore: decorator\n@lazy @inline const LOGF_DATA_TAB = memory.data([\n 0x3FF661EC79F8F3BE, 0xBFD57BF7808CAADE, // 0x1.661ec79f8f3bep+0, -0x1.57bf7808caadep-2,\n 0x3FF571ED4AAF883D, 0xBFD2BEF0A7C06DDB, // 0x1.571ed4aaf883dp+0, -0x1.2bef0a7c06ddbp-2,\n 0x3FF49539F0F010B0, 0xBFD01EAE7F513A67, // 0x1.49539f0f010bp+0 , -0x1.01eae7f513a67p-2,\n 0x3FF3C995B0B80385, 0xBFCB31D8A68224E9, // 0x1.3c995b0b80385p+0, -0x1.b31d8a68224e9p-3,\n 0x3FF30D190C8864A5, 0xBFC6574F0AC07758, // 0x1.30d190c8864a5p+0, -0x1.6574f0ac07758p-3,\n 0x3FF25E227B0B8EA0, 0xBFC1AA2BC79C8100, // 0x1.25e227b0b8eap+0 , -0x1.1aa2bc79c81p-3 ,\n 0x3FF1BB4A4A1A343F, 0xBFBA4E76CE8C0E5E, // 0x1.1bb4a4a1a343fp+0, -0x1.a4e76ce8c0e5ep-4,\n 0x3FF12358F08AE5BA, 0xBFB1973C5A611CCC, // 0x1.12358f08ae5bap+0, -0x1.1973c5a611cccp-4,\n 0x3FF0953F419900A7, 0xBFA252F438E10C1E, // 0x1.0953f419900a7p+0, -0x1.252f438e10c1ep-5,\n 0x3FF0000000000000, 0, // 0x1p+0, 0,\n 0x3FEE608CFD9A47AC, 0x3FAAA5AA5DF25984, // 0x1.e608cfd9a47acp-1, 0x1.aa5aa5df25984p-5,\n 0x3FECA4B31F026AA0, 0x3FBC5E53AA362EB4, // 0x1.ca4b31f026aap-1 , 0x1.c5e53aa362eb4p-4,\n 0x3FEB2036576AFCE6, 0x3FC526E57720DB08, // 0x1.b2036576afce6p-1, 0x1.526e57720db08p-3,\n 0x3FE9C2D163A1AA2D, 0x3FCBC2860D224770, // 0x1.9c2d163a1aa2dp-1, 0x1.bc2860d22477p-3 ,\n 0x3FE886E6037841ED, 0x3FD1058BC8A07EE1, // 0x1.886e6037841edp-1, 0x1.1058bc8a07ee1p-2,\n 0x3FE767DCF5534862, 0x3FD4043057B6EE09 // 0x1.767dcf5534862p-1, 0x1.4043057b6ee09p-2\n]);\n\n// ULP error: 0.818 (nearest rounding.)\n// Relative error: 1.957 * 2^-26 (before rounding.)\n// @ts-ignore: decorator\n@inline\nexport function logf_lut(x: f32): f32 {\n const\n N_MASK = (1 << LOGF_TABLE_BITS) - 1,\n Ox1p23f = reinterpret(0x4B000000); // 0x1p23f\n\n const\n Ln2 = reinterpret(0x3FE62E42FEFA39EF), // 0x1.62e42fefa39efp-1;\n A0 = reinterpret(0xBFD00EA348B88334), // -0x1.00ea348b88334p-2\n A1 = reinterpret(0x3FD5575B0BE00B6A), // 0x1.5575b0be00b6ap-2\n A2 = reinterpret(0xBFDFFFFEF20A4123); // -0x1.ffffef20a4123p-2\n\n let ux = reinterpret(x);\n // Fix sign of zero with downward rounding when x==1.\n // if (WANT_ROUNDING && ux == 0x3f800000) return 0;\n if (ux - 0x00800000 >= 0x7F800000 - 0x00800000) {\n // x < 0x1p-126 or inf or nan.\n if ((ux << 1) == 0) return -Infinity;\n if (ux == 0x7F800000) return x; // log(inf) == inf.\n if ((ux >> 31) || (ux << 1) >= 0xFF000000) return (x - x) / (x - x);\n // x is subnormal, normalize it.\n ux = reinterpret(x * Ox1p23f);\n ux -= 23 << 23;\n }\n // x = 2^k z; where z is in range [OFF,2*OFF] and exact.\n // The range is split into N subintervals.\n // The ith subinterval contains z and c is near its center.\n let tmp = ux - 0x3F330000;\n let i = (tmp >> (23 - LOGF_TABLE_BITS)) & N_MASK;\n let k = tmp >> 23;\n let iz = ux - (tmp & 0x1FF << 23);\n\n let invc = load(LOGF_DATA_TAB + (i << (1 + alignof())), 0 << alignof());\n let logc = load(LOGF_DATA_TAB + (i << (1 + alignof())), 1 << alignof());\n\n let z = reinterpret(iz);\n\n // log(x) = log1p(z/c-1) + log(c) + k*Ln2\n let r = z * invc - 1;\n let y0 = logc + k * Ln2;\n\n // Pipelined polynomial evaluation to approximate log1p(r).\n let r2 = r * r;\n let y = A1 * r + A2;\n y += A0 * r2;\n y = y * r2 + (y0 + r);\n\n return y;\n}\n\n//\n// Lookup data for powf. See: https://git.musl-libc.org/cgit/musl/tree/src/math/powf.c\n//\n\n// @ts-ignore: decorator\n@inline\nfunction zeroinfnanf(ux: u32): bool {\n return (ux << 1) - 1 >= (0x7f800000 << 1) - 1;\n}\n\n// Returns 0 if not int, 1 if odd int, 2 if even int. The argument is\n// the bit representation of a non-zero finite floating-point value.\n// @ts-ignore: decorator\n@inline\nfunction checkintf(iy: u32): i32 {\n let e = iy >> 23 & 0xFF;\n if (e < 0x7F ) return 0;\n if (e > 0x7F + 23) return 2;\n e = 1 << (0x7F + 23 - e);\n if (iy & (e - 1)) return 0;\n if (iy & e ) return 1;\n return 2;\n}\n\n// Subnormal input is normalized so ix has negative biased exponent.\n// Output is multiplied by N (POWF_SCALE) if TOINT_INTRINICS is set.\n// @ts-ignore: decorator\n@inline\nfunction log2f_inline(ux: u32): f64 {\n const N_MASK = (1 << LOG2F_TABLE_BITS) - 1;\n\n const\n A0 = reinterpret(0x3FD27616C9496E0B), // 0x1.27616c9496e0bp-2\n A1 = reinterpret(0xBFD71969A075C67A), // -0x1.71969a075c67ap-2\n A2 = reinterpret(0x3FDEC70A6CA7BADD), // 0x1.ec70a6ca7baddp-2\n A3 = reinterpret(0xBFE7154748BEF6C8), // -0x1.7154748bef6c8p-1\n A4 = reinterpret(0x3FF71547652AB82B); // 0x1.71547652ab82bp+0\n\n // x = 2^k z; where z is in range [OFF,2*OFF] and exact.\n // The range is split into N subintervals.\n // The ith subinterval contains z and c is near its center.\n let tmp = ux - 0x3F330000;\n let i = usize((tmp >> (23 - LOG2F_TABLE_BITS)) & N_MASK);\n let top = tmp & 0xFF800000;\n let uz = ux - top;\n let k = top >> 23;\n\n let invc = load(LOG2F_DATA_TAB + (i << (1 + alignof())), 0 << alignof());\n let logc = load(LOG2F_DATA_TAB + (i << (1 + alignof())), 1 << alignof());\n let z = reinterpret(uz);\n\n // log2(x) = log1p(z/c-1)/ln2 + log2(c) + k\n let r = z * invc - 1;\n let y0 = logc + k;\n\n // Pipelined polynomial evaluation to approximate log1p(r)/ln2.\n let y = A0 * r + A1;\n let p = A2 * r + A3;\n let q = A4 * r + y0;\n\n r *= r;\n q += p * r;\n y = y * (r * r) + q;\n\n return y;\n}\n\n// The output of log2 and thus the input of exp2 is either scaled by N\n// (in case of fast toint intrinsics) or not. The unscaled xd must be\n// in [-1021,1023], sign_bias sets the sign of the result.\n// @ts-ignore: decorator\n@inline\nfunction exp2f_inline(xd: f64, signBias: u32): f32 {\n const\n N = 1 << EXP2F_TABLE_BITS,\n N_MASK = N - 1,\n shift = reinterpret(0x4338000000000000) / N; // 0x1.8p+52\n\n const\n C0 = reinterpret(0x3FAC6AF84B912394), // 0x1.c6af84b912394p-5\n C1 = reinterpret(0x3FCEBFCE50FAC4F3), // 0x1.ebfce50fac4f3p-3\n C2 = reinterpret(0x3FE62E42FF0C52D6); // 0x1.62e42ff0c52d6p-1\n\n // x = k/N + r with r in [-1/(2N), 1/(2N)]\n let kd = (xd + shift);\n let ki = reinterpret(kd);\n let r = xd - (kd - shift);\n let t: u64, z: f64, y: f64, s: f64;\n\n // exp2(x) = 2^(k/N) * 2^r ~= s * (C0*r^3 + C1*r^2 + C2*r + 1)\n t = load(EXP2F_DATA_TAB + ((ki & N_MASK) << alignof()));\n t += (ki + signBias) << (52 - EXP2F_TABLE_BITS);\n s = reinterpret(t);\n z = C0 * r + C1;\n y = C2 * r + 1;\n y += z * (r * r);\n y *= s;\n return y;\n}\n\n// @ts-ignore: decorator\n@inline\nfunction xflowf(sign: u32, y: f32): f32 {\n return select(-y, y, sign) * y;\n}\n\n// @ts-ignore: decorator\n@inline\nfunction oflowf(sign: u32): f32 {\n return xflowf(sign, reinterpret(0x70000000)); // 0x1p97f\n}\n\n// @ts-ignore: decorator\n@inline\nfunction uflowf(sign: u32): f32 {\n return xflowf(sign, reinterpret(0x10000000)); // 0x1p-95f\n}\n\n// @ts-ignore: decorator\n@inline\nexport function powf_lut(x: f32, y: f32): f32 {\n const\n Ox1p23f = reinterpret(0x4B000000), // 0x1p23f\n UPPER_LIMIT = reinterpret(0x405FFFFFFFD1D571), // 0x1.fffffffd1d571p+6\n LOWER_LIMIT = -150.0,\n SIGN_BIAS = 1 << (EXP2F_TABLE_BITS + 11);\n\n let signBias: u32 = 0;\n let ix = reinterpret(x);\n let iy = reinterpret(y);\n let ny = 0;\n\n if (i32(ix - 0x00800000 >= 0x7f800000 - 0x00800000) | (ny = i32(zeroinfnanf(iy)))) {\n // Either (x < 0x1p-126 or inf or nan) or (y is 0 or inf or nan).\n if (ny) {\n if ((iy << 1) == 0) return 1.0;\n if (ix == 0x3F800000) return NaN; // original: 1.0\n if ((ix << 1) > (0x7F800000 << 1) || (iy << 1) > (0x7F800000 << 1)) return x + y;\n if ((ix << 1) == (0x3F800000 << 1)) return NaN; // original: 1.0\n if (((ix << 1) < (0x3F800000 << 1)) == !(iy >> 31)) return 0; // |x| < 1 && y==inf or |x| > 1 && y==-inf.\n return y * y;\n }\n if (zeroinfnanf(ix)) {\n let x2 = x * x;\n if ((ix >> 31) && checkintf(iy) == 1) x2 = -x2;\n return iy < 0 ? 1 / x2 : x2;\n }\n // x and y are non-zero finite.\n if (ix < 0) {\n // Finite x < 0.\n let yint = checkintf(iy);\n if (yint == 0) return (x - x) / (x - x);\n if (yint == 1) signBias = SIGN_BIAS;\n ix &= 0x7FFFFFFF;\n }\n if (ix < 0x00800000) {\n // Normalize subnormal x so exponent becomes negative.\n ix = reinterpret(x * Ox1p23f);\n ix &= 0x7FFFFFFF;\n ix -= 23 << 23;\n }\n }\n let logx = log2f_inline(ix);\n let ylogx = y * logx; // cannot overflow, y is single prec.\n if ((reinterpret(ylogx) >> 47 & 0xFFFF) >= 0x80BF) { // reinterpret(126.0) >> 47\n // |y * log(x)| >= 126\n if (ylogx > UPPER_LIMIT) return oflowf(signBias); // overflow\n if (ylogx <= LOWER_LIMIT) return uflowf(signBias); // underflow\n }\n return exp2f_inline(ylogx, signBias);\n}\n\n//\n// Lookup data for exp. See: https://git.musl-libc.org/cgit/musl/tree/src/math/exp.c\n//\n\n// @ts-ignore: decorator\n@inline const EXP_TABLE_BITS = 7;\n\n// @ts-ignore: decorator\n@lazy @inline const EXP_DATA_TAB = memory.data([\n 0x0000000000000000, 0x3FF0000000000000,\n 0x3C9B3B4F1A88BF6E, 0x3FEFF63DA9FB3335,\n 0xBC7160139CD8DC5D, 0x3FEFEC9A3E778061,\n 0xBC905E7A108766D1, 0x3FEFE315E86E7F85,\n 0x3C8CD2523567F613, 0x3FEFD9B0D3158574,\n 0xBC8BCE8023F98EFA, 0x3FEFD06B29DDF6DE,\n 0x3C60F74E61E6C861, 0x3FEFC74518759BC8,\n 0x3C90A3E45B33D399, 0x3FEFBE3ECAC6F383,\n 0x3C979AA65D837B6D, 0x3FEFB5586CF9890F,\n 0x3C8EB51A92FDEFFC, 0x3FEFAC922B7247F7,\n 0x3C3EBE3D702F9CD1, 0x3FEFA3EC32D3D1A2,\n 0xBC6A033489906E0B, 0x3FEF9B66AFFED31B,\n 0xBC9556522A2FBD0E, 0x3FEF9301D0125B51,\n 0xBC5080EF8C4EEA55, 0x3FEF8ABDC06C31CC,\n 0xBC91C923B9D5F416, 0x3FEF829AAEA92DE0,\n 0x3C80D3E3E95C55AF, 0x3FEF7A98C8A58E51,\n 0xBC801B15EAA59348, 0x3FEF72B83C7D517B,\n 0xBC8F1FF055DE323D, 0x3FEF6AF9388C8DEA,\n 0x3C8B898C3F1353BF, 0x3FEF635BEB6FCB75,\n 0xBC96D99C7611EB26, 0x3FEF5BE084045CD4,\n 0x3C9AECF73E3A2F60, 0x3FEF54873168B9AA,\n 0xBC8FE782CB86389D, 0x3FEF4D5022FCD91D,\n 0x3C8A6F4144A6C38D, 0x3FEF463B88628CD6,\n 0x3C807A05B0E4047D, 0x3FEF3F49917DDC96,\n 0x3C968EFDE3A8A894, 0x3FEF387A6E756238,\n 0x3C875E18F274487D, 0x3FEF31CE4FB2A63F,\n 0x3C80472B981FE7F2, 0x3FEF2B4565E27CDD,\n 0xBC96B87B3F71085E, 0x3FEF24DFE1F56381,\n 0x3C82F7E16D09AB31, 0x3FEF1E9DF51FDEE1,\n 0xBC3D219B1A6FBFFA, 0x3FEF187FD0DAD990,\n 0x3C8B3782720C0AB4, 0x3FEF1285A6E4030B,\n 0x3C6E149289CECB8F, 0x3FEF0CAFA93E2F56,\n 0x3C834D754DB0ABB6, 0x3FEF06FE0A31B715,\n 0x3C864201E2AC744C, 0x3FEF0170FC4CD831,\n 0x3C8FDD395DD3F84A, 0x3FEEFC08B26416FF,\n 0xBC86A3803B8E5B04, 0x3FEEF6C55F929FF1,\n 0xBC924AEDCC4B5068, 0x3FEEF1A7373AA9CB,\n 0xBC9907F81B512D8E, 0x3FEEECAE6D05D866,\n 0xBC71D1E83E9436D2, 0x3FEEE7DB34E59FF7,\n 0xBC991919B3CE1B15, 0x3FEEE32DC313A8E5,\n 0x3C859F48A72A4C6D, 0x3FEEDEA64C123422,\n 0xBC9312607A28698A, 0x3FEEDA4504AC801C,\n 0xBC58A78F4817895B, 0x3FEED60A21F72E2A,\n 0xBC7C2C9B67499A1B, 0x3FEED1F5D950A897,\n 0x3C4363ED60C2AC11, 0x3FEECE086061892D,\n 0x3C9666093B0664EF, 0x3FEECA41ED1D0057,\n 0x3C6ECCE1DAA10379, 0x3FEEC6A2B5C13CD0,\n 0x3C93FF8E3F0F1230, 0x3FEEC32AF0D7D3DE,\n 0x3C7690CEBB7AAFB0, 0x3FEEBFDAD5362A27,\n 0x3C931DBDEB54E077, 0x3FEEBCB299FDDD0D,\n 0xBC8F94340071A38E, 0x3FEEB9B2769D2CA7,\n 0xBC87DECCDC93A349, 0x3FEEB6DAA2CF6642,\n 0xBC78DEC6BD0F385F, 0x3FEEB42B569D4F82,\n 0xBC861246EC7B5CF6, 0x3FEEB1A4CA5D920F,\n 0x3C93350518FDD78E, 0x3FEEAF4736B527DA,\n 0x3C7B98B72F8A9B05, 0x3FEEAD12D497C7FD,\n 0x3C9063E1E21C5409, 0x3FEEAB07DD485429,\n 0x3C34C7855019C6EA, 0x3FEEA9268A5946B7,\n 0x3C9432E62B64C035, 0x3FEEA76F15AD2148,\n 0xBC8CE44A6199769F, 0x3FEEA5E1B976DC09,\n 0xBC8C33C53BEF4DA8, 0x3FEEA47EB03A5585,\n 0xBC845378892BE9AE, 0x3FEEA34634CCC320,\n 0xBC93CEDD78565858, 0x3FEEA23882552225,\n 0x3C5710AA807E1964, 0x3FEEA155D44CA973,\n 0xBC93B3EFBF5E2228, 0x3FEEA09E667F3BCD,\n 0xBC6A12AD8734B982, 0x3FEEA012750BDABF,\n 0xBC6367EFB86DA9EE, 0x3FEE9FB23C651A2F,\n 0xBC80DC3D54E08851, 0x3FEE9F7DF9519484,\n 0xBC781F647E5A3ECF, 0x3FEE9F75E8EC5F74,\n 0xBC86EE4AC08B7DB0, 0x3FEE9F9A48A58174,\n 0xBC8619321E55E68A, 0x3FEE9FEB564267C9,\n 0x3C909CCB5E09D4D3, 0x3FEEA0694FDE5D3F,\n 0xBC7B32DCB94DA51D, 0x3FEEA11473EB0187,\n 0x3C94ECFD5467C06B, 0x3FEEA1ED0130C132,\n 0x3C65EBE1ABD66C55, 0x3FEEA2F336CF4E62,\n 0xBC88A1C52FB3CF42, 0x3FEEA427543E1A12,\n 0xBC9369B6F13B3734, 0x3FEEA589994CCE13,\n 0xBC805E843A19FF1E, 0x3FEEA71A4623C7AD,\n 0xBC94D450D872576E, 0x3FEEA8D99B4492ED,\n 0x3C90AD675B0E8A00, 0x3FEEAAC7D98A6699,\n 0x3C8DB72FC1F0EAB4, 0x3FEEACE5422AA0DB,\n 0xBC65B6609CC5E7FF, 0x3FEEAF3216B5448C,\n 0x3C7BF68359F35F44, 0x3FEEB1AE99157736,\n 0xBC93091FA71E3D83, 0x3FEEB45B0B91FFC6,\n 0xBC5DA9B88B6C1E29, 0x3FEEB737B0CDC5E5,\n 0xBC6C23F97C90B959, 0x3FEEBA44CBC8520F,\n 0xBC92434322F4F9AA, 0x3FEEBD829FDE4E50,\n 0xBC85CA6CD7668E4B, 0x3FEEC0F170CA07BA,\n 0x3C71AFFC2B91CE27, 0x3FEEC49182A3F090,\n 0x3C6DD235E10A73BB, 0x3FEEC86319E32323,\n 0xBC87C50422622263, 0x3FEECC667B5DE565,\n 0x3C8B1C86E3E231D5, 0x3FEED09BEC4A2D33,\n 0xBC91BBD1D3BCBB15, 0x3FEED503B23E255D,\n 0x3C90CC319CEE31D2, 0x3FEED99E1330B358,\n 0x3C8469846E735AB3, 0x3FEEDE6B5579FDBF,\n 0xBC82DFCD978E9DB4, 0x3FEEE36BBFD3F37A,\n 0x3C8C1A7792CB3387, 0x3FEEE89F995AD3AD,\n 0xBC907B8F4AD1D9FA, 0x3FEEEE07298DB666,\n 0xBC55C3D956DCAEBA, 0x3FEEF3A2B84F15FB,\n 0xBC90A40E3DA6F640, 0x3FEEF9728DE5593A,\n 0xBC68D6F438AD9334, 0x3FEEFF76F2FB5E47,\n 0xBC91EEE26B588A35, 0x3FEF05B030A1064A,\n 0x3C74FFD70A5FDDCD, 0x3FEF0C1E904BC1D2,\n 0xBC91BDFBFA9298AC, 0x3FEF12C25BD71E09,\n 0x3C736EAE30AF0CB3, 0x3FEF199BDD85529C,\n 0x3C8EE3325C9FFD94, 0x3FEF20AB5FFFD07A,\n 0x3C84E08FD10959AC, 0x3FEF27F12E57D14B,\n 0x3C63CDAF384E1A67, 0x3FEF2F6D9406E7B5,\n 0x3C676B2C6C921968, 0x3FEF3720DCEF9069,\n 0xBC808A1883CCB5D2, 0x3FEF3F0B555DC3FA,\n 0xBC8FAD5D3FFFFA6F, 0x3FEF472D4A07897C,\n 0xBC900DAE3875A949, 0x3FEF4F87080D89F2,\n 0x3C74A385A63D07A7, 0x3FEF5818DCFBA487,\n 0xBC82919E2040220F, 0x3FEF60E316C98398,\n 0x3C8E5A50D5C192AC, 0x3FEF69E603DB3285,\n 0x3C843A59AC016B4B, 0x3FEF7321F301B460,\n 0xBC82D52107B43E1F, 0x3FEF7C97337B9B5F,\n 0xBC892AB93B470DC9, 0x3FEF864614F5A129,\n 0x3C74B604603A88D3, 0x3FEF902EE78B3FF6,\n 0x3C83C5EC519D7271, 0x3FEF9A51FBC74C83,\n 0xBC8FF7128FD391F0, 0x3FEFA4AFA2A490DA,\n 0xBC8DAE98E223747D, 0x3FEFAF482D8E67F1,\n 0x3C8EC3BC41AA2008, 0x3FEFBA1BEE615A27,\n 0x3C842B94C3A9EB32, 0x3FEFC52B376BBA97,\n 0x3C8A64A931D185EE, 0x3FEFD0765B6E4540,\n 0xBC8E37BAE43BE3ED, 0x3FEFDBFDAD9CBE14,\n 0x3C77893B4D91CD9D, 0x3FEFE7C1819E90D8,\n 0x3C5305C14160CC89, 0x3FEFF3C22B8F71F1\n]);\n\n// Handle cases that may overflow or underflow when computing the result that\n// is scale*(1+TMP) without intermediate rounding. The bit representation of\n// scale is in SBITS, however it has a computed exponent that may have\n// overflown into the sign bit so that needs to be adjusted before using it as\n// a double. (int32_t)KI is the k used in the argument reduction and exponent\n// adjustment of scale, positive k here means the result may overflow and\n// negative k means the result may underflow.\n// @ts-ignore: decorator\n@inline\nfunction specialcase(tmp: f64, sbits: u64, ki: u64): f64 {\n const\n Ox1p_1022 = reinterpret(0x0010000000000000), // 0x1p-1022\n Ox1p1009 = reinterpret(0x7F00000000000000); // 0x1p1009\n\n let scale: f64;\n if (!(ki & 0x80000000)) {\n // k > 0, the exponent of scale might have overflowed by <= 460.\n sbits -= u64(1009) << 52;\n scale = reinterpret(sbits);\n return Ox1p1009 * (scale + scale * tmp); // 0x1p1009\n }\n // k < 0, need special care in the subnormal range.\n sbits += u64(1022) << 52;\n // Note: sbits is signed scale.\n scale = reinterpret(sbits);\n let y = scale + scale * tmp;\n if (abs(y) < 1.0) {\n // Round y to the right precision before scaling it into the subnormal\n // range to avoid double rounding that can cause 0.5+E/2 ulp error where\n // E is the worst-case ulp error outside the subnormal range. So this\n // is only useful if the goal is better than 1 ulp worst-case error.\n let one = copysign(1.0, y);\n let lo = scale - y + scale * tmp;\n let hi = one + y;\n lo = one - hi + y + lo;\n y = (hi + lo) - one;\n // Fix the sign of 0.\n if (y == 0.0) y = reinterpret(sbits & 0x8000000000000000);\n }\n return y * Ox1p_1022;\n}\n\n// @ts-ignore: decorator\n@inline\nexport function exp_lut(x: f64): f64 {\n const\n N = 1 << EXP_TABLE_BITS,\n N_MASK = N - 1;\n\n const\n InvLn2N = reinterpret(0x3FF71547652B82FE) * N, // 0x1.71547652b82fep0\n NegLn2hiN = reinterpret(0xBF762E42FEFA0000), // -0x1.62e42fefa0000p-8\n NegLn2loN = reinterpret(0xBD0CF79ABC9E3B3A), // -0x1.cf79abc9e3b3ap-47\n shift = reinterpret(0x4338000000000000); // 0x1.8p52;\n\n const\n C2 = reinterpret(0x3FDFFFFFFFFFFDBD), // __exp_data.poly[0] (0x1.ffffffffffdbdp-2)\n C3 = reinterpret(0x3FC555555555543C), // __exp_data.poly[1] (0x1.555555555543cp-3)\n C4 = reinterpret(0x3FA55555CF172B91), // __exp_data.poly[2] (0x1.55555cf172b91p-5)\n C5 = reinterpret(0x3F81111167A4D017); // __exp_data.poly[3] (0x1.1111167a4d017p-7)\n\n let ux = reinterpret(x);\n let abstop = u32(ux >> 52) & 0x7FF;\n if (abstop - 0x3C9 >= 0x03F) {\n if (abstop - 0x3C9 >= 0x80000000) return 1;\n if (abstop >= 0x409) {\n if (ux == 0xFFF0000000000000) return 0;\n if (abstop >= 0x7FF) {\n return 1.0 + x;\n } else {\n return select(0, Infinity, ux < 0);\n }\n }\n // Large x is special cased below.\n abstop = 0;\n }\n\n // exp(x) = 2^(k/N) * exp(r), with exp(r) in [2^(-1/2N),2^(1/2N)]\n // x = ln2/N*k + r, with int k and r in [-ln2/2N, ln2/2N]\n let z = InvLn2N * x;\n // #if TOINT_INTRINSICS\n // \tkd = roundtoint(z);\n // \tki = converttoint(z);\n // #elif EXP_USE_TOINT_NARROW\n // \t// z - kd is in [-0.5-2^-16, 0.5] in all rounding modes.\n // let kd = z + shift;\n // let ki = reinterpret(kd) >> 16;\n // let kd = ki;\n // #else\n // z - kd is in [-1, 1] in non-nearest rounding modes.\n let kd = z + shift;\n let ki = reinterpret(kd);\n kd -= shift;\n // #endif\n let r = x + kd * NegLn2hiN + kd * NegLn2loN;\n // 2^(k/N) ~= scale * (1 + tail).\n let idx = usize((ki & N_MASK) << 1);\n let top = ki << (52 - EXP_TABLE_BITS);\n\n let tail = reinterpret(load(EXP_DATA_TAB + (idx << alignof()))); // T[idx]\n // This is only a valid scale when -1023*N < k < 1024*N\n let sbits = load(EXP_DATA_TAB + (idx << alignof()), 1 << alignof()) + top; // T[idx + 1]\n // exp(x) = 2^(k/N) * exp(r) ~= scale + scale * (tail + exp(r) - 1).\n // Evaluation is optimized assuming superscalar pipelined execution.\n let r2 = r * r;\n // Without fma the worst case error is 0.25/N ulp larger.\n // Worst case error is less than 0.5+1.11/N+(abs poly error * 2^53) ulp.\n let tmp = tail + r + r2 * (C2 + r * C3) + r2 * r2 * (C4 + r * C5);\n if (abstop == 0) return specialcase(tmp, sbits, ki);\n let scale = reinterpret(sbits);\n // Note: tmp == 0 or |tmp| > 2^-200 and scale > 2^-739, so there\n // is no spurious underflow here even without fma.\n return scale + scale * tmp;\n}\n\n//\n// Lookup data for exp2. See: https://git.musl-libc.org/cgit/musl/tree/src/math/exp2.c\n//\n\n// Handle cases that may overflow or underflow when computing the result that\n// is scale*(1+TMP) without intermediate rounding. The bit representation of\n// scale is in SBITS, however it has a computed exponent that may have\n// overflown into the sign bit so that needs to be adjusted before using it as\n// a double. (int32_t)KI is the k used in the argument reduction and exponent\n// adjustment of scale, positive k here means the result may overflow and\n// negative k means the result may underflow.\n// @ts-ignore: decorator\n@inline\nfunction specialcase2(tmp: f64, sbits: u64, ki: u64): f64 {\n const Ox1p_1022 = reinterpret(0x10000000000000); // 0x1p-1022\n let scale: f64;\n if ((ki & 0x80000000) == 0) {\n // k > 0, the exponent of scale might have overflowed by 1\n sbits -= u64(1) << 52;\n scale = reinterpret(sbits);\n return 2 * (scale * tmp + scale);\n }\n // k < 0, need special care in the subnormal range\n sbits += u64(1022) << 52;\n scale = reinterpret(sbits);\n let y = scale * tmp + scale;\n if (y < 1.0) {\n // Round y to the right precision before scaling it into the subnormal\n // range to avoid double rounding that can cause 0.5+E/2 ulp error where\n // E is the worst-case ulp error outside the subnormal range. So this\n // is only useful if the goal is better than 1 ulp worst-case error.\n let hi: f64, lo: f64;\n lo = scale - y + scale * tmp;\n hi = 1.0 + y;\n lo = 1.0 - hi + y + lo;\n y = (hi + lo) - 1.0;\n }\n return y * Ox1p_1022;\n}\n\n// @ts-ignore: decorator\n@inline\nexport function exp2_lut(x: f64): f64 {\n const\n N = 1 << EXP_TABLE_BITS,\n N_MASK = N - 1,\n shift = reinterpret(0x4338000000000000) / N; // 0x1.8p52\n\n const\n C1 = reinterpret(0x3FE62E42FEFA39EF), // 0x1.62e42fefa39efp-1\n C2 = reinterpret(0x3FCEBFBDFF82C424), // 0x1.ebfbdff82c424p-3\n C3 = reinterpret(0x3FAC6B08D70CF4B5), // 0x1.c6b08d70cf4b5p-5\n C4 = reinterpret(0x3F83B2ABD24650CC), // 0x1.3b2abd24650ccp-7\n C5 = reinterpret(0x3F55D7E09B4E3A84); // 0x1.5d7e09b4e3a84p-10\n\n let ux = reinterpret(x);\n let abstop = u32(ux >> 52) & 0x7ff;\n if (abstop - 0x3C9 >= 0x03F) {\n if (abstop - 0x3C9 >= 0x80000000) return 1.0;\n if (abstop >= 0x409) {\n if (ux == 0xFFF0000000000000) return 0;\n if (abstop >= 0x7FF) return 1.0 + x;\n if (ux >= 0) return Infinity;\n else if (ux >= 0xC090CC0000000000) return 0;\n }\n if ((ux << 1) > 0x811A000000000000) abstop = 0; // Large x is special cased below.\n }\n\n // exp2(x) = 2^(k/N) * 2^r, with 2^r in [2^(-1/2N),2^(1/2N)].\n // x = k/N + r, with int k and r in [-1/2N, 1/2N]\n let kd = x + shift;\n let ki = reinterpret(kd);\n kd -= shift; // k/N for int k\n let r = x - kd;\n // 2^(k/N) ~= scale * (1 + tail)\n let idx = usize((ki & N_MASK) << 1);\n let top = ki << (52 - EXP_TABLE_BITS);\n\n let tail = reinterpret(load(EXP_DATA_TAB + (idx << alignof()), 0 << alignof())); // T[idx])\n // This is only a valid scale when -1023*N < k < 1024*N\n let sbits = load(EXP_DATA_TAB + (idx << alignof()), 1 << alignof()) + top; // T[idx + 1]\n // exp2(x) = 2^(k/N) * 2^r ~= scale + scale * (tail + 2^r - 1).\n // Evaluation is optimized assuming superscalar pipelined execution\n let r2 = r * r;\n // Without fma the worst case error is 0.5/N ulp larger.\n // Worst case error is less than 0.5+0.86/N+(abs poly error * 2^53) ulp.\n let tmp = tail + r * C1 + r2 * (C2 + r * C3) + r2 * r2 * (C4 + r * C5);\n if (abstop == 0) return specialcase2(tmp, sbits, ki);\n let scale = reinterpret(sbits);\n // Note: tmp == 0 or |tmp| > 2^-65 and scale > 2^-928, so there\n // is no spurious underflow here even without fma.\n return scale * tmp + scale;\n}\n\n//\n// Lookup data for log2. See: https://git.musl-libc.org/cgit/musl/tree/src/math/log2.c\n//\n\n// @ts-ignore: decorator\n@inline const LOG2_TABLE_BITS = 6;\n\n/* Algorithm:\n\n x = 2^k z\n log2(x) = k + log2(c) + log2(z/c)\n log2(z/c) = poly(z/c - 1)\n\nwhere z is in [1.6p-1; 1.6p0] which is split into N subintervals and z falls\ninto the ith one, then table entries are computed as\n\n tab[i].invc = 1/c\n tab[i].logc = (double)log2(c)\n tab2[i].chi = (double)c\n tab2[i].clo = (double)(c - (double)c)\n\nwhere c is near the center of the subinterval and is chosen by trying +-2^29\nfloating point invc candidates around 1/center and selecting one for which\n\n 1) the rounding error in 0x1.8p10 + logc is 0,\n 2) the rounding error in z - chi - clo is < 0x1p-64 and\n 3) the rounding error in (double)log2(c) is minimized (< 0x1p-68).\n\nNote: 1) ensures that k + logc can be computed without rounding error, 2)\nensures that z/c - 1 can be computed as (z - chi - clo)*invc with close to a\nsingle rounding error when there is no fast fma for z*invc - 1, 3) ensures\nthat logc + poly(z/c - 1) has small error, however near x == 1 when\n|log2(x)| < 0x1p-4, this is not enough so that is special cased. */\n\n// @ts-ignore: decorator\n@lazy @inline const LOG2_DATA_TAB1 = memory.data([\n // invc , logc\n 0x3FF724286BB1ACF8, 0xBFE1095FEECDB000,\n 0x3FF6E1F766D2CCA1, 0xBFE08494BD76D000,\n 0x3FF6A13D0E30D48A, 0xBFE00143AEE8F800,\n 0x3FF661EC32D06C85, 0xBFDEFEC5360B4000,\n 0x3FF623FA951198F8, 0xBFDDFDD91AB7E000,\n 0x3FF5E75BA4CF026C, 0xBFDCFFAE0CC79000,\n 0x3FF5AC055A214FB8, 0xBFDC043811FDA000,\n 0x3FF571ED0F166E1E, 0xBFDB0B67323AE000,\n 0x3FF53909590BF835, 0xBFDA152F5A2DB000,\n 0x3FF5014FED61ADDD, 0xBFD9217F5AF86000,\n 0x3FF4CAB88E487BD0, 0xBFD8304DB0719000,\n 0x3FF49539B4334FEE, 0xBFD74189F9A9E000,\n 0x3FF460CBDFAFD569, 0xBFD6552BB5199000,\n 0x3FF42D664EE4B953, 0xBFD56B23A29B1000,\n 0x3FF3FB01111DD8A6, 0xBFD483650F5FA000,\n 0x3FF3C995B70C5836, 0xBFD39DE937F6A000,\n 0x3FF3991C4AB6FD4A, 0xBFD2BAA1538D6000,\n 0x3FF3698E0CE099B5, 0xBFD1D98340CA4000,\n 0x3FF33AE48213E7B2, 0xBFD0FA853A40E000,\n 0x3FF30D191985BDB1, 0xBFD01D9C32E73000,\n 0x3FF2E025CAB271D7, 0xBFCE857DA2FA6000,\n 0x3FF2B404CF13CD82, 0xBFCCD3C8633D8000,\n 0x3FF288B02C7CCB50, 0xBFCB26034C14A000,\n 0x3FF25E2263944DE5, 0xBFC97C1C2F4FE000,\n 0x3FF234563D8615B1, 0xBFC7D6023F800000,\n 0x3FF20B46E33EAF38, 0xBFC633A71A05E000,\n 0x3FF1E2EEFDCDA3DD, 0xBFC494F5E9570000,\n 0x3FF1BB4A580B3930, 0xBFC2F9E424E0A000,\n 0x3FF19453847F2200, 0xBFC162595AFDC000,\n 0x3FF16E06C0D5D73C, 0xBFBF9C9A75BD8000,\n 0x3FF1485F47B7E4C2, 0xBFBC7B575BF9C000,\n 0x3FF12358AD0085D1, 0xBFB960C60FF48000,\n 0x3FF0FEF00F532227, 0xBFB64CE247B60000,\n 0x3FF0DB2077D03A8F, 0xBFB33F78B2014000,\n 0x3FF0B7E6D65980D9, 0xBFB0387D1A42C000,\n 0x3FF0953EFE7B408D, 0xBFAA6F9208B50000,\n 0x3FF07325CAC53B83, 0xBFA47A954F770000,\n 0x3FF05197E40D1B5C, 0xBF9D23A8C50C0000,\n 0x3FF03091C1208EA2, 0xBF916A2629780000,\n 0x3FF0101025B37E21, 0xBF7720F8D8E80000,\n 0x3FEFC07EF9CAA76B, 0x3F86FE53B1500000,\n 0x3FEF4465D3F6F184, 0x3FA11CCCE10F8000,\n 0x3FEECC079F84107F, 0x3FAC4DFC8C8B8000,\n 0x3FEE573A99975AE8, 0x3FB3AA321E574000,\n 0x3FEDE5D6F0BD3DE6, 0x3FB918A0D08B8000,\n 0x3FED77B681FF38B3, 0x3FBE72E9DA044000,\n 0x3FED0CB5724DE943, 0x3FC1DCD2507F6000,\n 0x3FECA4B2DC0E7563, 0x3FC476AB03DEA000,\n 0x3FEC3F8EE8D6CB51, 0x3FC7074377E22000,\n 0x3FEBDD2B4F020C4C, 0x3FC98EDE8BA94000,\n 0x3FEB7D6C006015CA, 0x3FCC0DB86AD2E000,\n 0x3FEB20366E2E338F, 0x3FCE840AAFCEE000,\n 0x3FEAC57026295039, 0x3FD0790AB4678000,\n 0x3FEA6D01BC2731DD, 0x3FD1AC056801C000,\n 0x3FEA16D3BC3FF18B, 0x3FD2DB11D4FEE000,\n 0x3FE9C2D14967FEAD, 0x3FD406464EC58000,\n 0x3FE970E4F47C9902, 0x3FD52DBE093AF000,\n 0x3FE920FB3982BCF2, 0x3FD651902050D000,\n 0x3FE8D30187F759F1, 0x3FD771D2CDEAF000,\n 0x3FE886E5EBB9F66D, 0x3FD88E9C857D9000,\n 0x3FE83C97B658B994, 0x3FD9A80155E16000,\n 0x3FE7F405FFC61022, 0x3FDABE186ED3D000,\n 0x3FE7AD22181415CA, 0x3FDBD0F2AEA0E000,\n 0x3FE767DCF99EFF8C, 0x3FDCE0A43DBF4000\n]);\n\n// @ts-ignore: decorator\n@lazy @inline const LOG2_DATA_TAB2 = memory.data([\n // chi , clo\n 0x3FE6200012B90A8E, 0x3C8904AB0644B605,\n 0x3FE66000045734A6, 0x3C61FF9BEA62F7A9,\n 0x3FE69FFFC325F2C5, 0x3C827ECFCB3C90BA,\n 0x3FE6E00038B95A04, 0x3C88FF8856739326,\n 0x3FE71FFFE09994E3, 0x3C8AFD40275F82B1,\n 0x3FE7600015590E10, 0xBC72FD75B4238341,\n 0x3FE7A00012655BD5, 0x3C7808E67C242B76,\n 0x3FE7E0003259E9A6, 0xBC6208E426F622B7,\n 0x3FE81FFFEDB4B2D2, 0xBC8402461EA5C92F,\n 0x3FE860002DFAFCC3, 0x3C6DF7F4A2F29A1F,\n 0x3FE89FFFF78C6B50, 0xBC8E0453094995FD,\n 0x3FE8E00039671566, 0xBC8A04F3BEC77B45,\n 0x3FE91FFFE2BF1745, 0xBC77FA34400E203C,\n 0x3FE95FFFCC5C9FD1, 0xBC76FF8005A0695D,\n 0x3FE9A0003BBA4767, 0x3C70F8C4C4EC7E03,\n 0x3FE9DFFFE7B92DA5, 0x3C8E7FD9478C4602,\n 0x3FEA1FFFD72EFDAF, 0xBC6A0C554DCDAE7E,\n 0x3FEA5FFFDE04FF95, 0x3C867DA98CE9B26B,\n 0x3FEA9FFFCA5E8D2B, 0xBC8284C9B54C13DE,\n 0x3FEADFFFDDAD03EA, 0x3C5812C8EA602E3C,\n 0x3FEB1FFFF10D3D4D, 0xBC8EFADDAD27789C,\n 0x3FEB5FFFCE21165A, 0x3C53CB1719C61237,\n 0x3FEB9FFFD950E674, 0x3C73F7D94194CE00,\n 0x3FEBE000139CA8AF, 0x3C750AC4215D9BC0,\n 0x3FEC20005B46DF99, 0x3C6BEEA653E9C1C9,\n 0x3FEC600040B9F7AE, 0xBC7C079F274A70D6,\n 0x3FECA0006255FD8A, 0xBC7A0B4076E84C1F,\n 0x3FECDFFFD94C095D, 0x3C88F933F99AB5D7,\n 0x3FED1FFFF975D6CF, 0xBC582C08665FE1BE,\n 0x3FED5FFFA2561C93, 0xBC7B04289BD295F3,\n 0x3FED9FFF9D228B0C, 0x3C870251340FA236,\n 0x3FEDE00065BC7E16, 0xBC75011E16A4D80C,\n 0x3FEE200002F64791, 0x3C89802F09EF62E0,\n 0x3FEE600057D7A6D8, 0xBC7E0B75580CF7FA,\n 0x3FEEA00027EDC00C, 0xBC8C848309459811,\n 0x3FEEE0006CF5CB7C, 0xBC8F8027951576F4,\n 0x3FEF2000782B7DCC, 0xBC8F81D97274538F,\n 0x3FEF6000260C450A, 0xBC4071002727FFDC,\n 0x3FEF9FFFE88CD533, 0xBC581BDCE1FDA8B0,\n 0x3FEFDFFFD50F8689, 0x3C87F91ACB918E6E,\n 0x3FF0200004292367, 0x3C9B7FF365324681,\n 0x3FF05FFFE3E3D668, 0x3C86FA08DDAE957B,\n 0x3FF0A0000A85A757, 0xBC57E2DE80D3FB91,\n 0x3FF0E0001A5F3FCC, 0xBC91823305C5F014,\n 0x3FF11FFFF8AFBAF5, 0xBC8BFABB6680BAC2,\n 0x3FF15FFFE54D91AD, 0xBC9D7F121737E7EF,\n 0x3FF1A00011AC36E1, 0x3C9C000A0516F5FF,\n 0x3FF1E00019C84248, 0xBC9082FBE4DA5DA0,\n 0x3FF220000FFE5E6E, 0xBC88FDD04C9CFB43,\n 0x3FF26000269FD891, 0x3C8CFE2A7994D182,\n 0x3FF2A00029A6E6DA, 0xBC700273715E8BC5,\n 0x3FF2DFFFE0293E39, 0x3C9B7C39DAB2A6F9,\n 0x3FF31FFFF7DCF082, 0x3C7DF1336EDC5254,\n 0x3FF35FFFF05A8B60, 0xBC9E03564CCD31EB,\n 0x3FF3A0002E0EAECC, 0x3C75F0E74BD3A477,\n 0x3FF3E000043BB236, 0x3C9C7DCB149D8833,\n 0x3FF4200002D187FF, 0x3C7E08AFCF2D3D28,\n 0x3FF460000D387CB1, 0x3C820837856599A6,\n 0x3FF4A00004569F89, 0xBC89FA5C904FBCD2,\n 0x3FF4E000043543F3, 0xBC781125ED175329,\n 0x3FF51FFFCC027F0F, 0x3C9883D8847754DC,\n 0x3FF55FFFFD87B36F, 0xBC8709E731D02807,\n 0x3FF59FFFF21DF7BA, 0x3C87F79F68727B02,\n 0x3FF5DFFFEBFC3481, 0xBC9180902E30E93E\n]);\n\n// @ts-ignore: decorator\n@inline\nexport function log2_lut(x: f64): f64 {\n const N_MASK = (1 << LOG2_TABLE_BITS) - 1;\n\n const\n LO: u64 = 0x3FEEA4AF00000000, // reinterpret(1.0 - 0x1.5b51p-5)\n HI: u64 = 0x3FF0B55900000000; // reinterpret(1.0 + 0x1.6ab2p-5)\n\n const\n InvLn2hi = reinterpret(0x3FF7154765200000), // 0x1.7154765200000p+0\n InvLn2lo = reinterpret(0x3DE705FC2EEFA200), // 0x1.705fc2eefa200p-33\n Ox1p52 = reinterpret(0x4330000000000000); // 0x1p52\n\n const\n B0 = reinterpret(0xBFE71547652B82FE), // -0x1.71547652b82fep-1\n B1 = reinterpret(0x3FDEC709DC3A03F7), // 0x1.ec709dc3a03f7p-2\n B2 = reinterpret(0xBFD71547652B7C3F), // -0x1.71547652b7c3fp-2\n B3 = reinterpret(0x3FD2776C50F05BE4), // 0x1.2776c50f05be4p-2\n B4 = reinterpret(0xBFCEC709DD768FE5), // -0x1.ec709dd768fe5p-3\n B5 = reinterpret(0x3FCA61761EC4E736), // 0x1.a61761ec4e736p-3\n B6 = reinterpret(0xBFC7153FBC64A79B), // -0x1.7153fbc64a79bp-3\n B7 = reinterpret(0x3FC484D154F01B4A), // 0x1.484d154f01b4ap-3\n B8 = reinterpret(0xBFC289E4A72C383C), // -0x1.289e4a72c383cp-3\n B9 = reinterpret(0x3FC0B32F285AEE66); // 0x1.0b32f285aee66p-3\n\n const\n A0 = reinterpret(0xBFE71547652B8339), // -0x1.71547652b8339p-1\n A1 = reinterpret(0x3FDEC709DC3A04BE), // 0x1.ec709dc3a04bep-2\n A2 = reinterpret(0xBFD7154764702FFB), // -0x1.7154764702ffbp-2\n A3 = reinterpret(0x3FD2776C50034C48), // 0x1.2776c50034c48p-2\n A4 = reinterpret(0xBFCEC7B328EA92BC), // -0x1.ec7b328ea92bcp-3\n A5 = reinterpret(0x3FCA6225E117F92E); // 0x1.a6225e117f92ep-3\n\n let ix = reinterpret(x);\n if (ix - LO < HI - LO) {\n let r = x - 1.0;\n // #if __FP_FAST_FMA\n // hi = r * InvLn2hi;\n // lo = r * InvLn2lo + __builtin_fma(r, InvLn2hi, -hi);\n // #else\n let rhi = reinterpret(reinterpret(r) & 0xFFFFFFFF00000000);\n let rlo = r - rhi;\n let hi = rhi * InvLn2hi;\n let lo = rlo * InvLn2hi + r * InvLn2lo;\n // #endif\n let r2 = r * r; // rounding error: 0x1p-62\n let r4 = r2 * r2;\n // Worst-case error is less than 0.54 ULP (0.55 ULP without fma)\n let p = r2 * (B0 + r * B1);\n let y = hi + p;\n lo += hi - y + p;\n lo += r4 * (B2 + r * B3 + r2 * (B4 + r * B5) +\n r4 * (B6 + r * B7 + r2 * (B8 + r * B9)));\n return y + lo;\n }\n let top = u32(ix >> 48);\n if (top - 0x0010 >= 0x7ff0 - 0x0010) {\n // x < 0x1p-1022 or inf or nan.\n if ((ix << 1) == 0) return -1.0 / (x * x);\n if (ix == 0x7FF0000000000000) return x; // log(inf) == inf\n if ((top & 0x8000) || (top & 0x7FF0) == 0x7FF0) return (x - x) / (x - x);\n // x is subnormal, normalize it.\n ix = reinterpret(x * Ox1p52);\n ix -= u64(52) << 52;\n }\n\n // x = 2^k z; where z is in range [OFF,2*OFF) and exact.\n // The range is split into N subintervals.\n // The ith subinterval contains z and c is near its center.\n let tmp = ix - 0x3FE6000000000000;\n let i = ((tmp >> (52 - LOG2_TABLE_BITS)) & N_MASK);\n let k = tmp >> 52;\n let iz = ix - (tmp & 0xFFF0000000000000);\n\n let invc = load(LOG2_DATA_TAB1 + (i << (1 + alignof())), 0 << alignof()); // T[i].invc;\n let logc = load(LOG2_DATA_TAB1 + (i << (1 + alignof())), 1 << alignof()); // T[i].logc;\n let z = reinterpret(iz);\n let kd = k;\n\n // log2(x) = log2(z/c) + log2(c) + k.\n // r ~= z/c - 1, |r| < 1/(2*N).\n // #if __FP_FAST_FMA\n // \t// rounding error: 0x1p-55/N.\n // \tr = __builtin_fma(z, invc, -1.0);\n // \tt1 = r * InvLn2hi;\n // \tt2 = r * InvLn2lo + __builtin_fma(r, InvLn2hi, -t1);\n // #else\n // rounding error: 0x1p-55/N + 0x1p-65.\n let chi = load(LOG2_DATA_TAB2 + (i << (1 + alignof())), 0 << alignof()); // T[i].chi;\n let clo = load(LOG2_DATA_TAB2 + (i << (1 + alignof())), 1 << alignof()); // T[i].clo;\n\n let r = (z - chi - clo) * invc;\n let rhi = reinterpret(reinterpret(r) & 0xFFFFFFFF00000000);\n let rlo = r - rhi;\n let t1 = rhi * InvLn2hi;\n let t2 = rlo * InvLn2hi + r * InvLn2lo;\n // #endif\n\n // hi + lo = r/ln2 + log2(c) + k\n let t3 = kd + logc;\n let hi = t3 + t1;\n let lo = t3 - hi + t1 + t2;\n\n // log2(r+1) = r/ln2 + r^2*poly(r)\n // Evaluation is optimized assuming superscalar pipelined execution\n let r2 = r * r; // rounding error: 0x1p-54/N^2\n // Worst-case error if |y| > 0x1p-4: 0.547 ULP (0.550 ULP without fma).\n // ~ 0.5 + 2/N/ln2 + abs-poly-error*0x1p56 ULP (+ 0.003 ULP without fma).\n let p = A0 + r * A1 + r2 * (A2 + r * A3) + (r2 * r2) * (A4 + r * A5);\n return lo + r2 * p + hi;\n}\n\n//\n// Lookup data for log. See: https://git.musl-libc.org/cgit/musl/tree/src/math/log.c\n//\n\n// @ts-ignore: decorator\n@inline const LOG_TABLE_BITS = 7;\n\n/* Algorithm:\n\n x = 2^k z\n log(x) = k ln2 + log(c) + log(z/c)\n log(z/c) = poly(z/c - 1)\n\nwhere z is in [1.6p-1; 1.6p0] which is split into N subintervals and z falls\ninto the ith one, then table entries are computed as\n\n tab[i].invc = 1/c\n tab[i].logc = (double)log(c)\n tab2[i].chi = (double)c\n tab2[i].clo = (double)(c - (double)c)\n\nwhere c is near the center of the subinterval and is chosen by trying +-2^29\nfloating point invc candidates around 1/center and selecting one for which\n\n 1) the rounding error in 0x1.8p9 + logc is 0,\n 2) the rounding error in z - chi - clo is < 0x1p-66 and\n 3) the rounding error in (double)log(c) is minimized (< 0x1p-66).\n\nNote: 1) ensures that k*ln2hi + logc can be computed without rounding error,\n2) ensures that z/c - 1 can be computed as (z - chi - clo)*invc with close to\na single rounding error when there is no fast fma for z*invc - 1, 3) ensures\nthat logc + poly(z/c - 1) has small error, however near x == 1 when\n|log(x)| < 0x1p-4, this is not enough so that is special cased.*/\n\n// @ts-ignore: decorator\n@lazy @inline const LOG_DATA_TAB1 = memory.data([\n // invc , logc\n 0x3FF734F0C3E0DE9F, 0xBFD7CC7F79E69000,\n 0x3FF713786A2CE91F, 0xBFD76FEEC20D0000,\n 0x3FF6F26008FAB5A0, 0xBFD713E31351E000,\n 0x3FF6D1A61F138C7D, 0xBFD6B85B38287800,\n 0x3FF6B1490BC5B4D1, 0xBFD65D5590807800,\n 0x3FF69147332F0CBA, 0xBFD602D076180000,\n 0x3FF6719F18224223, 0xBFD5A8CA86909000,\n 0x3FF6524F99A51ED9, 0xBFD54F4356035000,\n 0x3FF63356AA8F24C4, 0xBFD4F637C36B4000,\n 0x3FF614B36B9DDC14, 0xBFD49DA7FDA85000,\n 0x3FF5F66452C65C4C, 0xBFD445923989A800,\n 0x3FF5D867B5912C4F, 0xBFD3EDF439B0B800,\n 0x3FF5BABCCB5B90DE, 0xBFD396CE448F7000,\n 0x3FF59D61F2D91A78, 0xBFD3401E17BDA000,\n 0x3FF5805612465687, 0xBFD2E9E2EF468000,\n 0x3FF56397CEE76BD3, 0xBFD2941B3830E000,\n 0x3FF54725E2A77F93, 0xBFD23EC58CDA8800,\n 0x3FF52AFF42064583, 0xBFD1E9E129279000,\n 0x3FF50F22DBB2BDDF, 0xBFD1956D2B48F800,\n 0x3FF4F38F4734DED7, 0xBFD141679AB9F800,\n 0x3FF4D843CFDE2840, 0xBFD0EDD094EF9800,\n 0x3FF4BD3EC078A3C8, 0xBFD09AA518DB1000,\n 0x3FF4A27FC3E0258A, 0xBFD047E65263B800,\n 0x3FF4880524D48434, 0xBFCFEB224586F000,\n 0x3FF46DCE1B192D0B, 0xBFCF474A7517B000,\n 0x3FF453D9D3391854, 0xBFCEA4443D103000,\n 0x3FF43A2744B4845A, 0xBFCE020D44E9B000,\n 0x3FF420B54115F8FB, 0xBFCD60A22977F000,\n 0x3FF40782DA3EF4B1, 0xBFCCC00104959000,\n 0x3FF3EE8F5D57FE8F, 0xBFCC202956891000,\n 0x3FF3D5D9A00B4CE9, 0xBFCB81178D811000,\n 0x3FF3BD60C010C12B, 0xBFCAE2C9CCD3D000,\n 0x3FF3A5242B75DAB8, 0xBFCA45402E129000,\n 0x3FF38D22CD9FD002, 0xBFC9A877681DF000,\n 0x3FF3755BC5847A1C, 0xBFC90C6D69483000,\n 0x3FF35DCE49AD36E2, 0xBFC87120A645C000,\n 0x3FF34679984DD440, 0xBFC7D68FB4143000,\n 0x3FF32F5CCEFFCB24, 0xBFC73CB83C627000,\n 0x3FF3187775A10D49, 0xBFC6A39A9B376000,\n 0x3FF301C8373E3990, 0xBFC60B3154B7A000,\n 0x3FF2EB4EBB95F841, 0xBFC5737D76243000,\n 0x3FF2D50A0219A9D1, 0xBFC4DC7B8FC23000,\n 0x3FF2BEF9A8B7FD2A, 0xBFC4462C51D20000,\n 0x3FF2A91C7A0C1BAB, 0xBFC3B08ABC830000,\n 0x3FF293726014B530, 0xBFC31B996B490000,\n 0x3FF27DFA5757A1F5, 0xBFC2875490A44000,\n 0x3FF268B39B1D3BBF, 0xBFC1F3B9F879A000,\n 0x3FF2539D838FF5BD, 0xBFC160C8252CA000,\n 0x3FF23EB7AAC9083B, 0xBFC0CE7F57F72000,\n 0x3FF22A012BA940B6, 0xBFC03CDC49FEA000,\n 0x3FF2157996CC4132, 0xBFBF57BDBC4B8000,\n 0x3FF201201DD2FC9B, 0xBFBE370896404000,\n 0x3FF1ECF4494D480B, 0xBFBD17983EF94000,\n 0x3FF1D8F5528F6569, 0xBFBBF9674ED8A000,\n 0x3FF1C52311577E7C, 0xBFBADC79202F6000,\n 0x3FF1B17C74CB26E9, 0xBFB9C0C3E7288000,\n 0x3FF19E010C2C1AB6, 0xBFB8A646B372C000,\n 0x3FF18AB07BB670BD, 0xBFB78D01B3AC0000,\n 0x3FF1778A25EFBCB6, 0xBFB674F145380000,\n 0x3FF1648D354C31DA, 0xBFB55E0E6D878000,\n 0x3FF151B990275FDD, 0xBFB4485CDEA1E000,\n 0x3FF13F0EA432D24C, 0xBFB333D94D6AA000,\n 0x3FF12C8B7210F9DA, 0xBFB22079F8C56000,\n 0x3FF11A3028ECB531, 0xBFB10E4698622000,\n 0x3FF107FBDA8434AF, 0xBFAFFA6C6AD20000,\n 0x3FF0F5EE0F4E6BB3, 0xBFADDA8D4A774000,\n 0x3FF0E4065D2A9FCE, 0xBFABBCECE4850000,\n 0x3FF0D244632CA521, 0xBFA9A1894012C000,\n 0x3FF0C0A77CE2981A, 0xBFA788583302C000,\n 0x3FF0AF2F83C636D1, 0xBFA5715E67D68000,\n 0x3FF09DDB98A01339, 0xBFA35C8A49658000,\n 0x3FF08CABAF52E7DF, 0xBFA149E364154000,\n 0x3FF07B9F2F4E28FB, 0xBF9E72C082EB8000,\n 0x3FF06AB58C358F19, 0xBF9A55F152528000,\n 0x3FF059EEA5ECF92C, 0xBF963D62CF818000,\n 0x3FF04949CDD12C90, 0xBF9228FB8CAA0000,\n 0x3FF038C6C6F0ADA9, 0xBF8C317B20F90000,\n 0x3FF02865137932A9, 0xBF8419355DAA0000,\n 0x3FF0182427EA7348, 0xBF781203C2EC0000,\n 0x3FF008040614B195, 0xBF60040979240000,\n 0x3FEFE01FF726FA1A, 0x3F6FEFF384900000,\n 0x3FEFA11CC261EA74, 0x3F87DC41353D0000,\n 0x3FEF6310B081992E, 0x3F93CEA3C4C28000,\n 0x3FEF25F63CEEADCD, 0x3F9B9FC114890000,\n 0x3FEEE9C8039113E7, 0x3FA1B0D8CE110000,\n 0x3FEEAE8078CBB1AB, 0x3FA58A5BD001C000,\n 0x3FEE741AA29D0C9B, 0x3FA95C8340D88000,\n 0x3FEE3A91830A99B5, 0x3FAD276AEF578000,\n 0x3FEE01E009609A56, 0x3FB07598E598C000,\n 0x3FEDCA01E577BB98, 0x3FB253F5E30D2000,\n 0x3FED92F20B7C9103, 0x3FB42EDD8B380000,\n 0x3FED5CAC66FB5CCE, 0x3FB606598757C000,\n 0x3FED272CAA5EDE9D, 0x3FB7DA76356A0000,\n 0x3FECF26E3E6B2CCD, 0x3FB9AB434E1C6000,\n 0x3FECBE6DA2A77902, 0x3FBB78C7BB0D6000,\n 0x3FEC8B266D37086D, 0x3FBD431332E72000,\n 0x3FEC5894BD5D5804, 0x3FBF0A3171DE6000,\n 0x3FEC26B533BB9F8C, 0x3FC067152B914000,\n 0x3FEBF583EEECE73F, 0x3FC147858292B000,\n 0x3FEBC4FD75DB96C1, 0x3FC2266ECDCA3000,\n 0x3FEB951E0C864A28, 0x3FC303D7A6C55000,\n 0x3FEB65E2C5EF3E2C, 0x3FC3DFC33C331000,\n 0x3FEB374867C9888B, 0x3FC4BA366B7A8000,\n 0x3FEB094B211D304A, 0x3FC5933928D1F000,\n 0x3FEADBE885F2EF7E, 0x3FC66ACD2418F000,\n 0x3FEAAF1D31603DA2, 0x3FC740F8EC669000,\n 0x3FEA82E63FD358A7, 0x3FC815C0F51AF000,\n 0x3FEA5740EF09738B, 0x3FC8E92954F68000,\n 0x3FEA2C2A90AB4B27, 0x3FC9BB3602F84000,\n 0x3FEA01A01393F2D1, 0x3FCA8BED1C2C0000,\n 0x3FE9D79F24DB3C1B, 0x3FCB5B515C01D000,\n 0x3FE9AE2505C7B190, 0x3FCC2967CCBCC000,\n 0x3FE9852EF297CE2F, 0x3FCCF635D5486000,\n 0x3FE95CBAEEA44B75, 0x3FCDC1BD3446C000,\n 0x3FE934C69DE74838, 0x3FCE8C01B8CFE000,\n 0x3FE90D4F2F6752E6, 0x3FCF5509C0179000,\n 0x3FE8E6528EFFD79D, 0x3FD00E6C121FB800,\n 0x3FE8BFCE9FCC007C, 0x3FD071B80E93D000,\n 0x3FE899C0DABEC30E, 0x3FD0D46B9E867000,\n 0x3FE87427AA2317FB, 0x3FD13687334BD000,\n 0x3FE84F00ACB39A08, 0x3FD1980D67234800,\n 0x3FE82A49E8653E55, 0x3FD1F8FFE0CC8000,\n 0x3FE8060195F40260, 0x3FD2595FD7636800,\n 0x3FE7E22563E0A329, 0x3FD2B9300914A800,\n 0x3FE7BEB377DCB5AD, 0x3FD3187210436000,\n 0x3FE79BAA679725C2, 0x3FD377266DEC1800,\n 0x3FE77907F2170657, 0x3FD3D54FFBAF3000,\n 0x3FE756CADBD6130C, 0x3FD432EEE32FE000\n]);\n\n// @ts-ignore: decorator\n@lazy @inline const LOG_DATA_TAB2 = memory.data([\n // chi , clo\n 0x3FE61000014FB66B, 0x3C7E026C91425B3C,\n 0x3FE63000034DB495, 0x3C8DBFEA48005D41,\n 0x3FE650000D94D478, 0x3C8E7FA786D6A5B7,\n 0x3FE67000074E6FAD, 0x3C61FCEA6B54254C,\n 0x3FE68FFFFEDF0FAE, 0xBC7C7E274C590EFD,\n 0x3FE6B0000763C5BC, 0xBC8AC16848DCDA01,\n 0x3FE6D0001E5CC1F6, 0x3C833F1C9D499311,\n 0x3FE6EFFFEB05F63E, 0xBC7E80041AE22D53,\n 0x3FE710000E869780, 0x3C7BFF6671097952,\n 0x3FE72FFFFC67E912, 0x3C8C00E226BD8724,\n 0x3FE74FFFDF81116A, 0xBC6E02916EF101D2,\n 0x3FE770000F679C90, 0xBC67FC71CD549C74,\n 0x3FE78FFFFA7EC835, 0x3C81BEC19EF50483,\n 0x3FE7AFFFFE20C2E6, 0xBC707E1729CC6465,\n 0x3FE7CFFFED3FC900, 0xBC808072087B8B1C,\n 0x3FE7EFFFE9261A76, 0x3C8DC0286D9DF9AE,\n 0x3FE81000049CA3E8, 0x3C897FD251E54C33,\n 0x3FE8300017932C8F, 0xBC8AFEE9B630F381,\n 0x3FE850000633739C, 0x3C89BFBF6B6535BC,\n 0x3FE87000204289C6, 0xBC8BBF65F3117B75,\n 0x3FE88FFFEBF57904, 0xBC89006EA23DCB57,\n 0x3FE8B00022BC04DF, 0xBC7D00DF38E04B0A,\n 0x3FE8CFFFE50C1B8A, 0xBC88007146FF9F05,\n 0x3FE8EFFFFC918E43, 0x3C83817BD07A7038,\n 0x3FE910001EFA5FC7, 0x3C893E9176DFB403,\n 0x3FE9300013467BB9, 0x3C7F804E4B980276,\n 0x3FE94FFFE6EE076F, 0xBC8F7EF0D9FF622E,\n 0x3FE96FFFDE3C12D1, 0xBC7082AA962638BA,\n 0x3FE98FFFF4458A0D, 0xBC87801B9164A8EF,\n 0x3FE9AFFFDD982E3E, 0xBC8740E08A5A9337,\n 0x3FE9CFFFED49FB66, 0x3C3FCE08C19BE000,\n 0x3FE9F00020F19C51, 0xBC8A3FAA27885B0A,\n 0x3FEA10001145B006, 0x3C74FF489958DA56,\n 0x3FEA300007BBF6FA, 0x3C8CBEAB8A2B6D18,\n 0x3FEA500010971D79, 0x3C88FECADD787930,\n 0x3FEA70001DF52E48, 0xBC8F41763DD8ABDB,\n 0x3FEA90001C593352, 0xBC8EBF0284C27612,\n 0x3FEAB0002A4F3E4B, 0xBC69FD043CFF3F5F,\n 0x3FEACFFFD7AE1ED1, 0xBC823EE7129070B4,\n 0x3FEAEFFFEE510478, 0x3C6A063EE00EDEA3,\n 0x3FEB0FFFDB650D5B, 0x3C5A06C8381F0AB9,\n 0x3FEB2FFFFEAACA57, 0xBC79011E74233C1D,\n 0x3FEB4FFFD995BADC, 0xBC79FF1068862A9F,\n 0x3FEB7000249E659C, 0x3C8AFF45D0864F3E,\n 0x3FEB8FFFF9871640, 0x3C7CFE7796C2C3F9,\n 0x3FEBAFFFD204CB4F, 0xBC63FF27EEF22BC4,\n 0x3FEBCFFFD2415C45, 0xBC6CFFB7EE3BEA21,\n 0x3FEBEFFFF86309DF, 0xBC814103972E0B5C,\n 0x3FEC0FFFE1B57653, 0x3C8BC16494B76A19,\n 0x3FEC2FFFF1FA57E3, 0xBC64FEEF8D30C6ED,\n 0x3FEC4FFFDCBFE424, 0xBC843F68BCEC4775,\n 0x3FEC6FFFED54B9F7, 0x3C847EA3F053E0EC,\n 0x3FEC8FFFEB998FD5, 0x3C7383068DF992F1,\n 0x3FECB0002125219A, 0xBC68FD8E64180E04,\n 0x3FECCFFFDD94469C, 0x3C8E7EBE1CC7EA72,\n 0x3FECEFFFEAFDC476, 0x3C8EBE39AD9F88FE,\n 0x3FED1000169AF82B, 0x3C757D91A8B95A71,\n 0x3FED30000D0FF71D, 0x3C89C1906970C7DA,\n 0x3FED4FFFEA790FC4, 0xBC580E37C558FE0C,\n 0x3FED70002EDC87E5, 0xBC7F80D64DC10F44,\n 0x3FED900021DC82AA, 0xBC747C8F94FD5C5C,\n 0x3FEDAFFFD86B0283, 0x3C8C7F1DC521617E,\n 0x3FEDD000296C4739, 0x3C88019EB2FFB153,\n 0x3FEDEFFFE54490F5, 0x3C6E00D2C652CC89,\n 0x3FEE0FFFCDABF694, 0xBC7F8340202D69D2,\n 0x3FEE2FFFDB52C8DD, 0x3C7B00C1CA1B0864,\n 0x3FEE4FFFF24216EF, 0x3C72FFA8B094AB51,\n 0x3FEE6FFFE88A5E11, 0xBC57F673B1EFBE59,\n 0x3FEE9000119EFF0D, 0xBC84808D5E0BC801,\n 0x3FEEAFFFDFA51744, 0x3C780006D54320B5,\n 0x3FEED0001A127FA1, 0xBC5002F860565C92,\n 0x3FEEF00007BABCC4, 0xBC8540445D35E611,\n 0x3FEF0FFFF57A8D02, 0xBC4FFB3139EF9105,\n 0x3FEF30001EE58AC7, 0x3C8A81ACF2731155,\n 0x3FEF4FFFF5823494, 0x3C8A3F41D4D7C743,\n 0x3FEF6FFFFCA94C6B, 0xBC6202F41C987875,\n 0x3FEF8FFFE1F9C441, 0x3C777DD1F477E74B,\n 0x3FEFAFFFD2E0E37E, 0xBC6F01199A7CA331,\n 0x3FEFD0001C77E49E, 0x3C7181EE4BCEACB1,\n 0x3FEFEFFFF7E0C331, 0xBC6E05370170875A,\n 0x3FF00FFFF465606E, 0xBC8A7EAD491C0ADA,\n 0x3FF02FFFF3867A58, 0xBC977F69C3FCB2E0,\n 0x3FF04FFFFDFC0D17, 0x3C97BFFE34CB945B,\n 0x3FF0700003CD4D82, 0x3C820083C0E456CB,\n 0x3FF08FFFF9F2CBE8, 0xBC6DFFDFBE37751A,\n 0x3FF0B000010CDA65, 0xBC913F7FAEE626EB,\n 0x3FF0D00001A4D338, 0x3C807DFA79489FF7,\n 0x3FF0EFFFFADAFDFD, 0xBC77040570D66BC0,\n 0x3FF110000BBAFD96, 0x3C8E80D4846D0B62,\n 0x3FF12FFFFAE5F45D, 0x3C9DBFFA64FD36EF,\n 0x3FF150000DD59AD9, 0x3C9A0077701250AE,\n 0x3FF170000F21559A, 0x3C8DFDF9E2E3DEEE,\n 0x3FF18FFFFC275426, 0x3C910030DC3B7273,\n 0x3FF1B000123D3C59, 0x3C997F7980030188,\n 0x3FF1CFFFF8299EB7, 0xBC65F932AB9F8C67,\n 0x3FF1EFFFF48AD400, 0x3C937FBF9DA75BEB,\n 0x3FF210000C8B86A4, 0x3C9F806B91FD5B22,\n 0x3FF2300003854303, 0x3C93FFC2EB9FBF33,\n 0x3FF24FFFFFBCF684, 0x3C7601E77E2E2E72,\n 0x3FF26FFFF52921D9, 0x3C7FFCBB767F0C61,\n 0x3FF2900014933A3C, 0xBC7202CA3C02412B,\n 0x3FF2B00014556313, 0xBC92808233F21F02,\n 0x3FF2CFFFEBFE523B, 0xBC88FF7E384FDCF2,\n 0x3FF2F0000BB8AD96, 0xBC85FF51503041C5,\n 0x3FF30FFFFB7AE2AF, 0xBC810071885E289D,\n 0x3FF32FFFFEAC5F7F, 0xBC91FF5D3FB7B715,\n 0x3FF350000CA66756, 0x3C957F82228B82BD,\n 0x3FF3700011FBF721, 0x3C8000BAC40DD5CC,\n 0x3FF38FFFF9592FB9, 0xBC943F9D2DB2A751,\n 0x3FF3B00004DDD242, 0x3C857F6B707638E1,\n 0x3FF3CFFFF5B2C957, 0x3C7A023A10BF1231,\n 0x3FF3EFFFEAB0B418, 0x3C987F6D66B152B0,\n 0x3FF410001532AFF4, 0x3C67F8375F198524,\n 0x3FF4300017478B29, 0x3C8301E672DC5143,\n 0x3FF44FFFE795B463, 0x3C89FF69B8B2895A,\n 0x3FF46FFFE80475E0, 0xBC95C0B19BC2F254,\n 0x3FF48FFFEF6FC1E7, 0x3C9B4009F23A2A72,\n 0x3FF4AFFFE5BEA704, 0xBC94FFB7BF0D7D45,\n 0x3FF4D000171027DE, 0xBC99C06471DC6A3D,\n 0x3FF4F0000FF03EE2, 0x3C977F890B85531C,\n 0x3FF5100012DC4BD1, 0x3C6004657166A436,\n 0x3FF530001605277A, 0xBC96BFCECE233209,\n 0x3FF54FFFECDB704C, 0xBC8902720505A1D7,\n 0x3FF56FFFEF5F54A9, 0x3C9BBFE60EC96412,\n 0x3FF5900017E61012, 0x3C887EC581AFEF90,\n 0x3FF5B00003C93E92, 0xBC9F41080ABF0CC0,\n 0x3FF5D0001D4919BC, 0xBC98812AFB254729,\n 0x3FF5EFFFE7B87A89, 0xBC947EB780ED6904\n]);\n\n// @ts-ignore: decorator\n@inline\nexport function log_lut(x: f64): f64 {\n const N_MASK = (1 << LOG_TABLE_BITS) - 1;\n\n const\n B0 = reinterpret(0xBFE0000000000000), // -0x1p-1\n B1 = reinterpret(0x3FD5555555555577), // 0x1.5555555555577p-2\n B2 = reinterpret(0xBFCFFFFFFFFFFDCB), // -0x1.ffffffffffdcbp-3\n B3 = reinterpret(0x3FC999999995DD0C), // 0x1.999999995dd0cp-3\n B4 = reinterpret(0xBFC55555556745A7), // -0x1.55555556745a7p-3\n B5 = reinterpret(0x3FC24924A344DE30), // 0x1.24924a344de3p-3\n B6 = reinterpret(0xBFBFFFFFA4423D65), // -0x1.fffffa4423d65p-4\n B7 = reinterpret(0x3FBC7184282AD6CA), // 0x1.c7184282ad6cap-4\n B8 = reinterpret(0xBFB999EB43B068FF), // -0x1.999eb43b068ffp-4\n B9 = reinterpret(0x3FB78182F7AFD085), // 0x1.78182f7afd085p-4\n B10 = reinterpret(0xBFB5521375D145CD); // -0x1.5521375d145cdp-4\n\n const\n A0 = reinterpret(0xBFE0000000000001), // -0x1.0000000000001p-1\n A1 = reinterpret(0x3FD555555551305B), // 0x1.555555551305bp-2\n A2 = reinterpret(0xBFCFFFFFFFEB4590), // -0x1.fffffffeb459p-3\n A3 = reinterpret(0x3FC999B324F10111), // 0x1.999b324f10111p-3\n A4 = reinterpret(0xBFC55575E506C89F); // -0x1.55575e506c89fp-3\n\n const\n LO: u64 = 0x3FEE000000000000,\n HI: u64 = 0x3FF1090000000000;\n\n const\n Ln2hi = reinterpret(0x3FE62E42FEFA3800), // 0x1.62e42fefa3800p-1\n Ln2lo = reinterpret(0x3D2EF35793C76730), // 0x1.ef35793c76730p-45\n Ox1p27 = reinterpret(0x41A0000000000000), // 0x1p27\n Ox1p52 = reinterpret(0x4330000000000000); // 0x1p52\n\n let ix = reinterpret(x);\n if (ix - LO < HI - LO) {\n let r = x - 1.0;\n let r2 = r * r;\n let r3 = r2 * r;\n let y =\n r3 * (B1 + r * B2 + r2 * B3 +\n r3 * (B4 + r * B5 + r2 * B6 +\n r3 * (B7 + r * B8 + r2 * B9 + r3 * B10)));\n // Worst-case error is around 0.507 ULP\n let w = r * Ox1p27;\n let rhi = r + w - w;\n let rlo = r - rhi;\n w = rhi * rhi * B0; // B[0] == -0.5\n let hi = r + w;\n let lo = r - hi + w;\n lo += B0 * rlo * (rhi + r);\n return y + lo + hi;\n }\n let top = u32(ix >> 48);\n if (top - 0x0010 >= 0x7FF0 - 0x0010) {\n // x < 0x1p-1022 or inf or nan\n if ((ix << 1) == 0) return -1.0 / (x * x);\n if (ix == reinterpret(Infinity)) return x; // log(inf) == inf\n if ((top & 0x8000) || (top & 0x7FF0) == 0x7FF0) return (x - x) / (x - x);\n // x is subnormal, normalize it\n ix = reinterpret(x * Ox1p52);\n ix -= u64(52) << 52;\n }\n\n // x = 2^k z; where z is in range [OFF,2*OFF) and exact.\n // The range is split into N subintervals.\n // The ith subinterval contains z and c is near its center.\n let tmp = ix - 0x3FE6000000000000;\n let i = ((tmp >> (52 - LOG_TABLE_BITS)) & N_MASK);\n let k = tmp >> 52;\n let iz = ix - (tmp & (u64(0xFFF) << 52));\n\n let invc = load(LOG_DATA_TAB1 + (i << (1 + alignof())), 0 << alignof()); // T[i].invc;\n let logc = load(LOG_DATA_TAB1 + (i << (1 + alignof())), 1 << alignof()); // T[i].logc;\n let z = reinterpret(iz);\n\n // log(x) = log1p(z/c-1) + log(c) + k*Ln2.\n // r ~= z/c - 1, |r| < 1/(2*N)\n // #if __FP_FAST_FMA\n // \t// rounding error: 0x1p-55/N\n // \tr = __builtin_fma(z, invc, -1.0);\n // #else\n // rounding error: 0x1p-55/N + 0x1p-66\n const chi = load(LOG_DATA_TAB2 + (i << (1 + alignof())), 0 << alignof()); // T2[i].chi\n const clo = load(LOG_DATA_TAB2 + (i << (1 + alignof())), 1 << alignof()); // T2[i].clo\n let r = (z - chi - clo) * invc;\n // #endif\n let kd = k;\n\n // hi + lo = r + log(c) + k*Ln2\n let w = kd * Ln2hi + logc;\n let hi = w + r;\n let lo = w - hi + r + kd * Ln2lo;\n\n // log(x) = lo + (log1p(r) - r) + hi\n let r2 = r * r; // rounding error: 0x1p-54/N^2\n // Worst case error if |y| > 0x1p-5:\n // 0.5 + 4.13/N + abs-poly-error*2^57 ULP (+ 0.002 ULP without fma)\n // Worst case error if |y| > 0x1p-4:\n // 0.5 + 2.06/N + abs-poly-error*2^56 ULP (+ 0.001 ULP without fma).\n return lo + r2 * A0 + r * r2 * (A1 + r * A2 + r2 * (A3 + r * A4)) + hi;\n}\n\n//\n// Lookup data for pow. See: https://git.musl-libc.org/cgit/musl/tree/src/math/pow.c\n//\n\n// @ts-ignore: decorator\n@inline const POW_LOG_TABLE_BITS = 7;\n\n/* Algorithm:\n\n x = 2^k z\n log(x) = k ln2 + log(c) + log(z/c)\n log(z/c) = poly(z/c - 1)\n\nwhere z is in [0x1.69555p-1; 0x1.69555p0] which is split into N subintervals\nand z falls into the ith one, then table entries are computed as\n\n tab[i].invc = 1/c\n tab[i].logc = round(0x1p43*log(c))/0x1p43\n tab[i].logctail = (double)(log(c) - logc)\n\nwhere c is chosen near the center of the subinterval such that 1/c has only a\nfew precision bits so z/c - 1 is exactly representible as double:\n\n 1/c = center < 1 ? round(N/center)/N : round(2*N/center)/N/2\n\nNote: |z/c - 1| < 1/N for the chosen c, |log(c) - logc - logctail| < 0x1p-97,\nthe last few bits of logc are rounded away so k*ln2hi + logc has no rounding\nerror and the interval for z is selected such that near x == 1, where log(x)\nis tiny, large cancellation error is avoided in logc + poly(z/c - 1). */\n\n// @ts-ignore: decorator\n@lazy @inline const POW_LOG_DATA_TAB = memory.data([\n // invc ,pad, logc , logctail\n 0x3FF6A00000000000, 0, 0xBFD62C82F2B9C800, 0x3CFAB42428375680,\n 0x3FF6800000000000, 0, 0xBFD5D1BDBF580800, 0xBD1CA508D8E0F720,\n 0x3FF6600000000000, 0, 0xBFD5767717455800, 0xBD2362A4D5B6506D,\n 0x3FF6400000000000, 0, 0xBFD51AAD872DF800, 0xBCE684E49EB067D5,\n 0x3FF6200000000000, 0, 0xBFD4BE5F95777800, 0xBD041B6993293EE0,\n 0x3FF6000000000000, 0, 0xBFD4618BC21C6000, 0x3D13D82F484C84CC,\n 0x3FF5E00000000000, 0, 0xBFD404308686A800, 0x3CDC42F3ED820B3A,\n 0x3FF5C00000000000, 0, 0xBFD3A64C55694800, 0x3D20B1C686519460,\n 0x3FF5A00000000000, 0, 0xBFD347DD9A988000, 0x3D25594DD4C58092,\n 0x3FF5800000000000, 0, 0xBFD2E8E2BAE12000, 0x3D267B1E99B72BD8,\n 0x3FF5600000000000, 0, 0xBFD2895A13DE8800, 0x3D15CA14B6CFB03F,\n 0x3FF5600000000000, 0, 0xBFD2895A13DE8800, 0x3D15CA14B6CFB03F,\n 0x3FF5400000000000, 0, 0xBFD22941FBCF7800, 0xBD165A242853DA76,\n 0x3FF5200000000000, 0, 0xBFD1C898C1699800, 0xBD1FAFBC68E75404,\n 0x3FF5000000000000, 0, 0xBFD1675CABABA800, 0x3D1F1FC63382A8F0,\n 0x3FF4E00000000000, 0, 0xBFD1058BF9AE4800, 0xBD26A8C4FD055A66,\n 0x3FF4C00000000000, 0, 0xBFD0A324E2739000, 0xBD0C6BEE7EF4030E,\n 0x3FF4A00000000000, 0, 0xBFD0402594B4D000, 0xBCF036B89EF42D7F,\n 0x3FF4A00000000000, 0, 0xBFD0402594B4D000, 0xBCF036B89EF42D7F,\n 0x3FF4800000000000, 0, 0xBFCFB9186D5E4000, 0x3D0D572AAB993C87,\n 0x3FF4600000000000, 0, 0xBFCEF0ADCBDC6000, 0x3D2B26B79C86AF24,\n 0x3FF4400000000000, 0, 0xBFCE27076E2AF000, 0xBD172F4F543FFF10,\n 0x3FF4200000000000, 0, 0xBFCD5C216B4FC000, 0x3D21BA91BBCA681B,\n 0x3FF4000000000000, 0, 0xBFCC8FF7C79AA000, 0x3D27794F689F8434,\n 0x3FF4000000000000, 0, 0xBFCC8FF7C79AA000, 0x3D27794F689F8434,\n 0x3FF3E00000000000, 0, 0xBFCBC286742D9000, 0x3D194EB0318BB78F,\n 0x3FF3C00000000000, 0, 0xBFCAF3C94E80C000, 0x3CBA4E633FCD9066,\n 0x3FF3A00000000000, 0, 0xBFCA23BC1FE2B000, 0xBD258C64DC46C1EA,\n 0x3FF3A00000000000, 0, 0xBFCA23BC1FE2B000, 0xBD258C64DC46C1EA,\n 0x3FF3800000000000, 0, 0xBFC9525A9CF45000, 0xBD2AD1D904C1D4E3,\n 0x3FF3600000000000, 0, 0xBFC87FA06520D000, 0x3D2BBDBF7FDBFA09,\n 0x3FF3400000000000, 0, 0xBFC7AB890210E000, 0x3D2BDB9072534A58,\n 0x3FF3400000000000, 0, 0xBFC7AB890210E000, 0x3D2BDB9072534A58,\n 0x3FF3200000000000, 0, 0xBFC6D60FE719D000, 0xBD10E46AA3B2E266,\n 0x3FF3000000000000, 0, 0xBFC5FF3070A79000, 0xBD1E9E439F105039,\n 0x3FF3000000000000, 0, 0xBFC5FF3070A79000, 0xBD1E9E439F105039,\n 0x3FF2E00000000000, 0, 0xBFC526E5E3A1B000, 0xBD20DE8B90075B8F,\n 0x3FF2C00000000000, 0, 0xBFC44D2B6CCB8000, 0x3D170CC16135783C,\n 0x3FF2C00000000000, 0, 0xBFC44D2B6CCB8000, 0x3D170CC16135783C,\n 0x3FF2A00000000000, 0, 0xBFC371FC201E9000, 0x3CF178864D27543A,\n 0x3FF2800000000000, 0, 0xBFC29552F81FF000, 0xBD248D301771C408,\n 0x3FF2600000000000, 0, 0xBFC1B72AD52F6000, 0xBD2E80A41811A396,\n 0x3FF2600000000000, 0, 0xBFC1B72AD52F6000, 0xBD2E80A41811A396,\n 0x3FF2400000000000, 0, 0xBFC0D77E7CD09000, 0x3D0A699688E85BF4,\n 0x3FF2400000000000, 0, 0xBFC0D77E7CD09000, 0x3D0A699688E85BF4,\n 0x3FF2200000000000, 0, 0xBFBFEC9131DBE000, 0xBD2575545CA333F2,\n 0x3FF2000000000000, 0, 0xBFBE27076E2B0000, 0x3D2A342C2AF0003C,\n 0x3FF2000000000000, 0, 0xBFBE27076E2B0000, 0x3D2A342C2AF0003C,\n 0x3FF1E00000000000, 0, 0xBFBC5E548F5BC000, 0xBD1D0C57585FBE06,\n 0x3FF1C00000000000, 0, 0xBFBA926D3A4AE000, 0x3D253935E85BAAC8,\n 0x3FF1C00000000000, 0, 0xBFBA926D3A4AE000, 0x3D253935E85BAAC8,\n 0x3FF1A00000000000, 0, 0xBFB8C345D631A000, 0x3D137C294D2F5668,\n 0x3FF1A00000000000, 0, 0xBFB8C345D631A000, 0x3D137C294D2F5668,\n 0x3FF1800000000000, 0, 0xBFB6F0D28AE56000, 0xBD269737C93373DA,\n 0x3FF1600000000000, 0, 0xBFB51B073F062000, 0x3D1F025B61C65E57,\n 0x3FF1600000000000, 0, 0xBFB51B073F062000, 0x3D1F025B61C65E57,\n 0x3FF1400000000000, 0, 0xBFB341D7961BE000, 0x3D2C5EDACCF913DF,\n 0x3FF1400000000000, 0, 0xBFB341D7961BE000, 0x3D2C5EDACCF913DF,\n 0x3FF1200000000000, 0, 0xBFB16536EEA38000, 0x3D147C5E768FA309,\n 0x3FF1000000000000, 0, 0xBFAF0A30C0118000, 0x3D2D599E83368E91,\n 0x3FF1000000000000, 0, 0xBFAF0A30C0118000, 0x3D2D599E83368E91,\n 0x3FF0E00000000000, 0, 0xBFAB42DD71198000, 0x3D1C827AE5D6704C,\n 0x3FF0E00000000000, 0, 0xBFAB42DD71198000, 0x3D1C827AE5D6704C,\n 0x3FF0C00000000000, 0, 0xBFA77458F632C000, 0xBD2CFC4634F2A1EE,\n 0x3FF0C00000000000, 0, 0xBFA77458F632C000, 0xBD2CFC4634F2A1EE,\n 0x3FF0A00000000000, 0, 0xBFA39E87B9FEC000, 0x3CF502B7F526FEAA,\n 0x3FF0A00000000000, 0, 0xBFA39E87B9FEC000, 0x3CF502B7F526FEAA,\n 0x3FF0800000000000, 0, 0xBF9F829B0E780000, 0xBD2980267C7E09E4,\n 0x3FF0800000000000, 0, 0xBF9F829B0E780000, 0xBD2980267C7E09E4,\n 0x3FF0600000000000, 0, 0xBF97B91B07D58000, 0xBD288D5493FAA639,\n 0x3FF0400000000000, 0, 0xBF8FC0A8B0FC0000, 0xBCDF1E7CF6D3A69C,\n 0x3FF0400000000000, 0, 0xBF8FC0A8B0FC0000, 0xBCDF1E7CF6D3A69C,\n 0x3FF0200000000000, 0, 0xBF7FE02A6B100000, 0xBD19E23F0DDA40E4,\n 0x3FF0200000000000, 0, 0xBF7FE02A6B100000, 0xBD19E23F0DDA40E4,\n 0x3FF0000000000000, 0, 0, 0,\n 0x3FF0000000000000, 0, 0, 0,\n 0x3FEFC00000000000, 0, 0x3F80101575890000, 0xBD10C76B999D2BE8,\n 0x3FEF800000000000, 0, 0x3F90205658938000, 0xBD23DC5B06E2F7D2,\n 0x3FEF400000000000, 0, 0x3F98492528C90000, 0xBD2AA0BA325A0C34,\n 0x3FEF000000000000, 0, 0x3FA0415D89E74000, 0x3D0111C05CF1D753,\n 0x3FEEC00000000000, 0, 0x3FA466AED42E0000, 0xBD2C167375BDFD28,\n 0x3FEE800000000000, 0, 0x3FA894AA149FC000, 0xBD197995D05A267D,\n 0x3FEE400000000000, 0, 0x3FACCB73CDDDC000, 0xBD1A68F247D82807,\n 0x3FEE200000000000, 0, 0x3FAEEA31C006C000, 0xBD0E113E4FC93B7B,\n 0x3FEDE00000000000, 0, 0x3FB1973BD1466000, 0xBD25325D560D9E9B,\n 0x3FEDA00000000000, 0, 0x3FB3BDF5A7D1E000, 0x3D2CC85EA5DB4ED7,\n 0x3FED600000000000, 0, 0x3FB5E95A4D97A000, 0xBD2C69063C5D1D1E,\n 0x3FED400000000000, 0, 0x3FB700D30AEAC000, 0x3CEC1E8DA99DED32,\n 0x3FED000000000000, 0, 0x3FB9335E5D594000, 0x3D23115C3ABD47DA,\n 0x3FECC00000000000, 0, 0x3FBB6AC88DAD6000, 0xBD1390802BF768E5,\n 0x3FECA00000000000, 0, 0x3FBC885801BC4000, 0x3D2646D1C65AACD3,\n 0x3FEC600000000000, 0, 0x3FBEC739830A2000, 0xBD2DC068AFE645E0,\n 0x3FEC400000000000, 0, 0x3FBFE89139DBE000, 0xBD2534D64FA10AFD,\n 0x3FEC000000000000, 0, 0x3FC1178E8227E000, 0x3D21EF78CE2D07F2,\n 0x3FEBE00000000000, 0, 0x3FC1AA2B7E23F000, 0x3D2CA78E44389934,\n 0x3FEBA00000000000, 0, 0x3FC2D1610C868000, 0x3D039D6CCB81B4A1,\n 0x3FEB800000000000, 0, 0x3FC365FCB0159000, 0x3CC62FA8234B7289,\n 0x3FEB400000000000, 0, 0x3FC4913D8333B000, 0x3D25837954FDB678,\n 0x3FEB200000000000, 0, 0x3FC527E5E4A1B000, 0x3D2633E8E5697DC7,\n 0x3FEAE00000000000, 0, 0x3FC6574EBE8C1000, 0x3D19CF8B2C3C2E78,\n 0x3FEAC00000000000, 0, 0x3FC6F0128B757000, 0xBD25118DE59C21E1,\n 0x3FEAA00000000000, 0, 0x3FC7898D85445000, 0xBD1C661070914305,\n 0x3FEA600000000000, 0, 0x3FC8BEAFEB390000, 0xBD073D54AAE92CD1,\n 0x3FEA400000000000, 0, 0x3FC95A5ADCF70000, 0x3D07F22858A0FF6F,\n 0x3FEA000000000000, 0, 0x3FCA93ED3C8AE000, 0xBD28724350562169,\n 0x3FE9E00000000000, 0, 0x3FCB31D8575BD000, 0xBD0C358D4EACE1AA,\n 0x3FE9C00000000000, 0, 0x3FCBD087383BE000, 0xBD2D4BC4595412B6,\n 0x3FE9A00000000000, 0, 0x3FCC6FFBC6F01000, 0xBCF1EC72C5962BD2,\n 0x3FE9600000000000, 0, 0x3FCDB13DB0D49000, 0xBD2AFF2AF715B035,\n 0x3FE9400000000000, 0, 0x3FCE530EFFE71000, 0x3CC212276041F430,\n 0x3FE9200000000000, 0, 0x3FCEF5ADE4DD0000, 0xBCCA211565BB8E11,\n 0x3FE9000000000000, 0, 0x3FCF991C6CB3B000, 0x3D1BCBECCA0CDF30,\n 0x3FE8C00000000000, 0, 0x3FD07138604D5800, 0x3CF89CDB16ED4E91,\n 0x3FE8A00000000000, 0, 0x3FD0C42D67616000, 0x3D27188B163CEAE9,\n 0x3FE8800000000000, 0, 0x3FD1178E8227E800, 0xBD2C210E63A5F01C,\n 0x3FE8600000000000, 0, 0x3FD16B5CCBACF800, 0x3D2B9ACDF7A51681,\n 0x3FE8400000000000, 0, 0x3FD1BF99635A6800, 0x3D2CA6ED5147BDB7,\n 0x3FE8200000000000, 0, 0x3FD214456D0EB800, 0x3D0A87DEBA46BAEA,\n 0x3FE7E00000000000, 0, 0x3FD2BEF07CDC9000, 0x3D2A9CFA4A5004F4,\n 0x3FE7C00000000000, 0, 0x3FD314F1E1D36000, 0xBD28E27AD3213CB8,\n 0x3FE7A00000000000, 0, 0x3FD36B6776BE1000, 0x3D116ECDB0F177C8,\n 0x3FE7800000000000, 0, 0x3FD3C25277333000, 0x3D183B54B606BD5C,\n 0x3FE7600000000000, 0, 0x3FD419B423D5E800, 0x3D08E436EC90E09D,\n 0x3FE7400000000000, 0, 0x3FD4718DC271C800, 0xBD2F27CE0967D675,\n 0x3FE7200000000000, 0, 0x3FD4C9E09E173000, 0xBD2E20891B0AD8A4,\n 0x3FE7000000000000, 0, 0x3FD522AE0738A000, 0x3D2EBE708164C759,\n 0x3FE6E00000000000, 0, 0x3FD57BF753C8D000, 0x3D1FADEDEE5D40EF,\n 0x3FE6C00000000000, 0, 0x3FD5D5BDDF596000, 0xBD0A0B2A08A465DC\n]);\n\n// Returns 0 if not int, 1 if odd int, 2 if even int. The argument is\n// the bit representation of a non-zero finite floating-point value.\n// @ts-ignore: decorator\n@inline\nfunction checkint(iy: u64): i32 {\n let e = iy >> 52 & 0x7FF;\n if (e < 0x3FF ) return 0;\n if (e > 0x3FF + 52) return 2;\n e = u64(1) << (0x3FF + 52 - e);\n if (iy & (e - 1)) return 0;\n if (iy & e ) return 1;\n return 2;\n}\n\n// @ts-ignore: decorator\n@inline\nfunction xflow(sign: u32, y: f64): f64 {\n return select(-y, y, sign) * y;\n}\n\n// @ts-ignore: decorator\n@inline\nfunction uflow(sign: u32): f64 {\n return xflow(sign, reinterpret(0x1000000000000000)); // 0x1p-767\n}\n\n// @ts-ignore: decorator\n@inline\nfunction oflow(sign: u32): f64 {\n return xflow(sign, reinterpret(0x7000000000000000)); // 0x1p769\n}\n\n// Returns 1 if input is the bit representation of 0, infinity or nan.\n// @ts-ignore: decorator\n@inline\nfunction zeroinfnan(u: u64): bool {\n return (u << 1) - 1 >= 0xFFE0000000000000 - 1;\n}\n\n// @ts-ignore: decorator\n@lazy let log_tail: f64 = 0;\n\n// Compute y+TAIL = log(x) where the rounded result is y and TAIL has about\n// additional 15 bits precision. IX is the bit representation of x, but\n// normalized in the subnormal range using the sign bit for the exponent.\n// @ts-ignore: decorator\n@inline\nfunction log_inline(ix: u64): f64 {\n const N = 1 << POW_LOG_TABLE_BITS;\n const N_MASK = N - 1;\n\n const\n Ln2hi = reinterpret(0x3FE62E42FEFA3800),\n Ln2lo = reinterpret(0x3D2EF35793C76730);\n\n const\n A0 = reinterpret(0xBFE0000000000000),\n A1 = reinterpret(0xBFE5555555555560),\n A2 = reinterpret(0x3FE0000000000006),\n A3 = reinterpret(0x3FE999999959554E),\n A4 = reinterpret(0xBFE555555529A47A),\n A5 = reinterpret(0xBFF2495B9B4845E9),\n A6 = reinterpret(0x3FF0002B8B263FC3);\n\n // x = 2^k z; where z is in range [OFF,2*OFF) and exact.\n // The range is split into N subintervals.\n // The ith subinterval contains z and c is near its center.\n let tmp = ix - 0x3fE6955500000000;\n let i = usize((tmp >> (52 - POW_LOG_TABLE_BITS)) & N_MASK);\n let k = tmp >> 52;\n let iz = ix - (tmp & u64(0xFFF) << 52);\n let z = reinterpret(iz);\n let kd = k;\n\n // log(x) = k*Ln2 + log(c) + log1p(z/c-1).\n let invc = load(POW_LOG_DATA_TAB + (i << (2 + alignof())), 0 << alignof()); // tab[i].invc\n let logc = load(POW_LOG_DATA_TAB + (i << (2 + alignof())), 2 << alignof()); // tab[i].logc\n let logctail = load(POW_LOG_DATA_TAB + (i << (2 + alignof())), 3 << alignof()); // tab[i].logctail\n\n // Note: 1/c is j/N or j/N/2 where j is an integer in [N,2N) and\n // |z/c - 1| < 1/N, so r = z/c - 1 is exactly representible.\n // Split z such that rhi, rlo and rhi*rhi are exact and |rlo| <= |r|.\n let zhi = reinterpret((iz + u64(0x80000000)) & 0xFFFFFFFF00000000);\n let zlo = z - zhi;\n let rhi = zhi * invc - 1.0;\n let rlo = zlo * invc;\n let r = rhi + rlo;\n\n // k * Ln2 + log(c) + r.\n let t1 = kd * Ln2hi + logc;\n let t2 = t1 + r;\n let lo1 = kd * Ln2lo + logctail;\n let lo2 = t1 - t2 + r;\n\n // Evaluation is optimized assuming superscalar pipelined execution.\n let ar = A0 * r; // A[0] = -0.5\n let ar2 = r * ar;\n let ar3 = r * ar2;\n // k * Ln2 + log(c) + r + A[0] * r * r.\n let arhi = A0 * rhi;\n let arhi2 = rhi * arhi;\n let hi = t2 + arhi2;\n let lo3 = rlo * (ar + arhi);\n let lo4 = t2 - hi + arhi2;\n\n // p = log1p(r) - r - A[0] * r * r.\n let p = ar3 * (A1 + r * A2 + ar2 * (A3 + r * A4 + ar2 * (A5 + r * A6)));\n let lo = lo1 + lo2 + lo3 + lo4 + p;\n let y = hi + lo;\n log_tail = hi - y + lo;\n\n return y;\n}\n\n// @ts-ignore: decorator\n@inline const SIGN_BIAS = 0x800 << EXP_TABLE_BITS;\n\n// Computes sign*exp(x+xtail) where |xtail| < 2^-8/N and |xtail| <= |x|.\n// The sign_bias argument is SIGN_BIAS or 0 and sets the sign to -1 or 1.\n// @ts-ignore: decorator\n@inline\nfunction exp_inline(x: f64, xtail: f64, sign_bias: u32): f64 {\n const N = 1 << EXP_TABLE_BITS;\n const N_MASK = N - 1;\n\n const\n InvLn2N = reinterpret(0x3FF71547652B82FE) * N, // 0x1.71547652b82fep0\n NegLn2hiN = reinterpret(0xBF762E42FEFA0000), // -0x1.62e42fefa0000p-8\n NegLn2loN = reinterpret(0xBD0CF79ABC9E3B3A), // -0x1.cf79abc9e3b3ap-47\n shift = reinterpret(0x4338000000000000); // 0x1.8p52\n\n const\n C2 = reinterpret(0x3FDFFFFFFFFFFDBD), // __exp_data.poly[0] (0x1.ffffffffffdbdp-2)\n C3 = reinterpret(0x3FC555555555543C), // __exp_data.poly[1] (0x1.555555555543cp-3)\n C4 = reinterpret(0x3FA55555CF172B91), // __exp_data.poly[2] (0x1.55555cf172b91p-5)\n C5 = reinterpret(0x3F81111167A4D017); // __exp_data.poly[3] (0x1.1111167a4d017p-7)\n\n let abstop: u32;\n let ki: u64, top: u64, sbits: u64;\n let idx: usize;\n // double_t for better performance on targets with FLT_EVAL_METHOD==2.\n let kd: f64, z: f64, r: f64, r2: f64, scale: f64, tail: f64, tmp: f64;\n\n let ux = reinterpret(x);\n abstop = u32(ux >> 52) & 0x7FF;\n if (abstop - 0x3C9 >= 0x03F) {\n if (abstop - 0x3C9 >= 0x80000000) {\n // Avoid spurious underflow for tiny x.\n // Note: 0 is common input.\n return select(-1.0, 1.0, sign_bias);\n }\n if (abstop >= 0x409) { // top12(1024.0)\n // Note: inf and nan are already handled.\n return ux < 0\n ? uflow(sign_bias)\n : oflow(sign_bias);\n }\n // Large x is special cased below.\n abstop = 0;\n }\n\n // exp(x) = 2^(k/N) * exp(r), with exp(r) in [2^(-1/2N),2^(1/2N)].\n // x = ln2/N*k + r, with int k and r in [-ln2/2N, ln2/2N].\n z = InvLn2N * x;\n\n // #if TOINT_INTRINSICS\n // kd = roundtoint(z);\n // ki = converttoint(z);\n // #elif EXP_USE_TOINT_NARROW\n // // z - kd is in [-0.5-2^-16, 0.5] in all rounding modes.\n // kd = eval_as_double(z + shift);\n // ki = asuint64(kd) >> 16;\n // kd = (double_t)(int32_t)ki;\n // #else\n // z - kd is in [-1, 1] in non-nearest rounding modes\n kd = z + shift;\n ki = reinterpret(kd);\n kd -= shift;\n // #endif\n r = x + kd * NegLn2hiN + kd * NegLn2loN;\n // The code assumes 2^-200 < |xtail| < 2^-8/N\n r += xtail;\n // 2^(k/N) ~= scale * (1 + tail)\n idx = usize((ki & N_MASK) << 1);\n top = (ki + sign_bias) << (52 - EXP_TABLE_BITS);\n\n tail = reinterpret(load(EXP_DATA_TAB + (idx << alignof())));\n // This is only a valid scale when -1023*N < k < 1024*N\n sbits = load(EXP_DATA_TAB + (idx << alignof()), 1 << alignof()) + top;\n // exp(x) = 2^(k/N) * exp(r) ~= scale + scale * (tail + exp(r) - 1).\n // Evaluation is optimized assuming superscalar pipelined execution.\n r2 = r * r;\n // Without fma the worst case error is 0.25/N ulp larger.\n // Worst case error is less than 0.5+1.11/N+(abs poly error * 2^53) ulp\n tmp = tail + r + r2 * (C2 + r * C3) + r2 * r2 * (C4 + r * C5);\n if (abstop == 0) return specialcase(tmp, sbits, ki);\n scale = reinterpret(sbits);\n // Note: tmp == 0 or |tmp| > 2^-200 and scale > 2^-739, so there\n // is no spurious underflow here even without fma.\n return scale + scale * tmp;\n}\n\n// @ts-ignore: decorator\n@inline\nexport function pow_lut(x: f64, y: f64): f64 {\n const Ox1p52 = reinterpret(0x4330000000000000); // 0x1p52\n\n let sign_bias: u32 = 0;\n let ix = reinterpret(x);\n let iy = reinterpret(y);\n let topx = ix >> 52;\n let topy = iy >> 52;\n\n if (topx - 0x001 >= 0x7FF - 0x001 || (topy & 0x7FF) - 0x3BE >= 0x43e - 0x3BE) {\n // Note: if |y| > 1075 * ln2 * 2^53 ~= 0x1.749p62 then pow(x,y) = inf/0\n // and if |y| < 2^-54 / 1075 ~= 0x1.e7b6p-65 then pow(x,y) = +-1.\n // Special cases: (x < 0x1p-126 or inf or nan) or\n // (|y| < 0x1p-65 or |y| >= 0x1p63 or nan).\n if (zeroinfnan(iy)) {\n if ((iy << 1) == 0) return 1.0;\n if (ix == 0x3FF0000000000000) return NaN; // original: 1.0\n if ((ix << 1) > 0xFFE0000000000000 || (iy << 1) > 0xFFE0000000000000) return x + y;\n if ((ix << 1) == 0x7FE0000000000000) return NaN; // original: 1.0\n if (((ix << 1) < 0x7FE0000000000000) == !(iy >> 63)) return 0; // |x|<1 && y==inf or |x|>1 && y==-inf.\n return y * y;\n }\n if (zeroinfnan(ix)) {\n let x2 = x * x;\n if (i32(ix >> 63) && checkint(iy) == 1) x2 = -x2;\n return iy < 0 ? 1 / x2 : x2;\n }\n // Here x and y are non-zero finite\n if (ix < 0) {\n // Finite x < 0\n let yint = checkint(iy);\n if (yint == 0) return (x - x) / (x - x);\n if (yint == 1) sign_bias = SIGN_BIAS;\n ix &= 0x7FFFFFFFFFFFFFFF;\n topx &= 0x7FF;\n }\n if ((topy & 0x7FF) - 0x3BE >= 0x43E - 0x3BE) {\n // Note: sign_bias == 0 here because y is not odd.\n if (ix == 0x3FF0000000000000) return 1;\n if ((topy & 0x7FF) < 0x3BE) return 1; // |y| < 2^-65, x^y ~= 1 + y*log(x).\n return (ix > 0x3FF0000000000000) == (topy < 0x800) ? Infinity : 0;\n }\n if (topx == 0) {\n // Normalize subnormal x so exponent becomes negative.\n ix = reinterpret(x * Ox1p52);\n ix &= 0x7FFFFFFFFFFFFFFF;\n ix -= u64(52) << 52;\n }\n }\n\n let hi = log_inline(ix);\n let lo = log_tail;\n let ehi: f64, elo: f64;\n // #if __FP_FAST_FMA\n // ehi = y * hi;\n // elo = y * lo + __builtin_fma(y, hi, -ehi);\n // #else\n let yhi = reinterpret(iy & 0xFFFFFFFFF8000000);\n let ylo = y - yhi;\n let lhi = reinterpret(reinterpret(hi) & 0xFFFFFFFFF8000000);\n let llo = hi - lhi + lo;\n ehi = yhi * lhi;\n elo = ylo * lhi + y * llo; // |elo| < |ehi| * 2^-25.\n // #endif\n return exp_inline(ehi, elo, sign_bias);\n}\n","import {\n itoa32,\n utoa32,\n itoa64,\n utoa64,\n dtoa,\n itoa_buffered,\n dtoa_buffered,\n MAX_DOUBLE_LENGTH\n} from \"./number\";\n\nimport {\n ipow32\n} from \"../math\";\n\n// All tables are stored as two staged lookup tables (static tries)\n// because the full range of Unicode symbols can't be efficiently\n// represented as-is in memory (see Unicode spec ch 5, p.196):\n// https://www.unicode.org/versions/Unicode12.0.0/ch05.pdf\n// Tables have been generated using these forked musl tools:\n// https://github.com/MaxGraey/musl-chartable-tools/tree/case-ignorable\n\n// Lookup table to check if a character is alphanumeric or not\n// See: https://git.musl-libc.org/cgit/musl/tree/src/ctype/alpha.h\n// size: 3904 bytes\n// @ts-ignore\n@inline @lazy const ALPHA_TABLE = memory.data([\n 18,17,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,17,34,35,36,17,37,38,39,40,\n 41,42,43,44,17,45,46,47,16,16,48,16,16,16,16,16,16,16,49,50,51,16,52,53,16,16,\n 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,54,\n 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,\n 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,\n 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,\n 17,17,17,55,17,17,17,17,56,17,57,58,59,60,61,62,17,17,17,17,17,17,17,17,17,17,\n 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,\n 17,17,17,17,17,17,17,63,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,17,64,65,17,66,67,\n 68,69,70,71,72,73,74,17,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,\n 93,94,16,95,96,97,98,17,17,17,99,100,101,16,16,16,16,16,16,16,16,16,16,17,17,\n 17,17,102,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,17,17,103,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,17,17,104,105,16,16,106,107,17,17,17,17,17,17,17,17,17,17,17,17,17,\n 17,17,17,17,17,17,17,17,17,17,108,17,17,17,17,109,110,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 17,111,112,16,16,16,16,16,16,16,16,16,113,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,114,115,116,117,16,16,16,16,16,16,16,16,118,\n 119,120,16,16,16,16,16,121,122,16,16,16,16,123,16,16,124,16,16,16,16,16,16,16,\n 16,16,125,16,16,16,\n 16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,254,255,255,7,254,\n 255,255,7,0,0,0,0,0,4,32,4,255,255,127,255,255,255,127,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,195,255,3,0,31,80,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,223,188,64,215,255,255,\n 251,255,255,255,255,255,255,255,255,255,191,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,3,252,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,254,255,255,255,127,2,255,255,255,\n 255,255,1,0,0,0,0,255,191,182,0,255,255,255,135,7,0,0,0,255,7,255,255,255,255,\n 255,255,255,254,255,195,255,255,255,255,255,255,255,255,255,255,255,255,239,\n 31,254,225,255,\n 159,0,0,255,255,255,255,255,255,0,224,255,255,255,255,255,255,255,255,255,255,\n 255,255,3,0,255,255,255,255,255,7,48,4,255,255,255,252,255,31,0,0,255,255,255,\n 1,255,7,0,0,0,0,0,0,255,255,223,255,255,0,240,255,248,3,255,255,255,255,255,\n 255,255,255,255,239,255,223,225,255,207,255,254,255,239,159,249,255,255,253,\n 197,227,159,89,128,176,207,255,3,16,238,135,249,255,255,253,109,195,135,25,2,\n 94,192,255,63,0,238,191,251,255,255,253,237,227,191,27,1,0,207,255,0,30,238,\n 159,249,255,255,253,237,227,159,25,192,176,207,255,2,0,236,199,61,214,24,199,\n 255,195,199,29,129,0,192,255,0,0,239,223,253,255,255,253,255,227,223,29,96,7,\n 207,255,0,0,239,223,253,255,255,253,239,227,223,29,96,64,207,255,6,0,255,223,\n 253,255,255,255,255,231,223,93,240,128,207,255,0,252,238,255,127,252,255,255,\n 251,47,127,128,95,255,192,255,12,0,254,255,255,255,255,127,255,7,63,32,255,3,\n 0,0,0,0,214,247,255,255,175,255,255,59,95,32,255,243,0,0,0,\n 0,1,0,0,0,255,3,0,0,255,254,255,255,255,31,254,255,3,255,255,254,255,255,255,\n 31,0,0,0,0,0,0,0,0,255,255,255,255,255,255,127,249,255,3,255,255,255,255,255,\n 255,255,255,255,63,255,255,255,255,191,32,255,255,255,255,255,247,255,255,255,\n 255,255,255,255,255,255,61,127,61,255,255,255,255,255,61,255,255,255,255,61,\n 127,61,255,127,255,255,255,255,255,255,255,61,255,255,255,255,255,255,255,255,\n 7,0,0,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,63,63,254,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,159,255,255,254,255,255,7,255,255,255,255,255,255,255,255,\n 255,199,255,1,255,223,15,0,255,255,15,0,255,255,15,0,255,223,13,0,255,255,255,\n 255,255,255,207,255,255,1,128,16,255,3,0,0,0,0,255,3,255,255,255,255,255,255,\n 255,255,255,255,255,1,255,255,255,255,255,7,255,255,255,255,255,255,255,255,\n 63,\n 0,255,255,255,127,255,15,255,1,192,255,255,255,255,63,31,0,255,255,255,255,\n 255,15,255,255,255,3,255,3,0,0,0,0,255,255,255,15,255,255,255,255,255,255,255,\n 127,254,255,31,0,255,3,255,3,128,0,0,128,1,0,0,0,0,0,0,0,255,255,255,255,255,\n 255,239,255,239,15,255,3,0,0,0,0,255,255,255,255,255,243,255,255,255,255,255,\n 255,191,255,3,0,255,255,255,255,255,255,127,0,255,227,255,255,255,255,255,63,\n 255,1,255,255,255,255,255,231,0,0,0,0,0,222,111,4,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,\n 128,255,31,0,255,255,63,63,255,255,255,255,63,63,255,170,255,255,255,63,255,\n 255,255,255,255,255,223,95,220,31,207,15,255,31,220,31,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,2,128,0,0,255,31,0,0,0,0,0,0,0,0,0,0,0,0,132,252,47,62,80,189,255,243,\n 224,67,0,0,255,255,255,255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,255,255,255,255,255,255,3,0,\n 0,255,255,255,255,255,127,255,255,255,255,255,127,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,31,120,12,0,255,255,255,255,191,32,255,\n 255,255,255,255,255,255,128,0,0,255,255,127,0,127,127,127,127,127,127,127,127,\n 255,255,255,255,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,224,0,0,0,254,3,62,31,254,255,255,255,255,255,255,255,255,255,127,224,254,\n 255,255,255,255,255,255,255,255,255,255,247,224,255,255,255,255,255,254,255,\n 255,255,255,255,255,255,255,255,255,127,0,0,255,255,255,255,0,0,0,0,0,0,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,\n 31,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,0,0,\n 0,0,0,0,0,0,255,255,255,255,255,63,255,31,255,255,255,15,0,0,255,255,255,255,\n 255,127,240,143,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,\n 0,128,255,252,255,255,255,255,255,255,255,255,255,255,255,255,249,255,255,255,\n 255,255,255,252,7,0,0,0,0,224,255,191,255,255,255,255,0,0,0,255,255,255,255,\n 255,255,15,0,255,255,255,255,255,255,255,255,47,0,255,3,0,0,252,232,255,255,\n 255,255,255,7,255,255,255,255,7,0,255,255,255,31,255,255,255,255,255,255,247,\n 255,0,128,255,3,255,255,255,127,255,255,255,255,255,255,127,0,255,63,255,3,\n 255,255,127,252,255,255,255,255,255,255,255,127,5,0,0,56,255,255,60,0,126,126,\n 126,0,127,127,255,255,255,255,255,247,255,3,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,7,255,3,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,15,0,255,255,127,248,255,255,255,255,\n 255,\n 15,255,255,255,255,255,255,255,255,255,255,255,255,255,63,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,3,0,0,0,0,127,0,248,224,255,253,127,95,219,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,3,0,0,0,248,255,255,255,\n 255,255,255,255,255,255,255,255,255,63,0,0,255,255,255,255,255,255,255,255,\n 252,255,255,255,255,255,255,0,0,0,0,0,255,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,223,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,0,0,255,3,\n 254,255,255,7,254,255,255,7,192,255,255,255,255,255,255,255,255,255,255,127,\n 252,252,252,28,0,0,0,0,255,239,255,255,127,255,255,183,255,63,255,63,0,0,0,0,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,7,0,0,0,0,0,0,0,0,\n 255,255,255,255,255,255,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,255,255,255,31,255,255,255,255,255,255,1,0,0,0,0,\n 0,255,255,255,255,0,224,255,255,255,7,255,255,255,255,255,7,255,255,255,63,\n 255,255,255,255,15,255,62,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,63,255,3,255,255,255,255,15,255,255,255,\n 255,15,255,255,255,255,255,0,255,255,255,255,255,255,15,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,255,255,255,255,255,255,127,0,255,255,63,0,255,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,63,253,255,255,255,255,191,145,255,255,63,0,255,255,\n 127,0,255,255,255,127,0,0,0,0,0,0,0,0,255,255,55,0,255,255,63,0,255,255,255,3,\n 0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,192,0,0,0,0,0,0,0,0,111,240,239,\n 254,255,255,63,0,0,0,0,0,255,255,255,31,255,255,255,31,0,0,0,0,255,254,255,\n 255,31,0,0,0,255,255,255,255,255,255,63,0,255,255,63,0,255,255,7,0,255,255,3,\n 0,0,0,0,0,0,0,0,0,0,0,0,\n 0,255,255,255,255,255,255,255,255,255,1,0,0,0,0,0,0,255,255,255,255,255,255,7,\n 0,255,255,255,255,255,255,7,0,255,255,255,255,255,0,255,3,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,\n 255,27,3,0,0,0,0,0,0,0,0,0,255,255,255,31,128,0,255,255,63,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,255,255,31,0,0,0,255,255,127,0,255,255,255,255,255,255,255,255,63,0,0,\n 0,192,255,0,0,252,255,255,255,255,255,255,1,0,0,255,255,255,1,255,3,255,255,\n 255,255,255,255,199,255,240,0,255,255,255,255,71,0,255,255,255,255,255,255,\n 255,255,30,192,255,23,0,0,0,0,255,255,251,255,255,255,159,64,0,0,0,0,0,0,0,0,\n 127,189,255,191,255,1,255,255,255,255,255,255,255,1,255,3,239,159,249,255,255,\n 253,237,227,159,25,129,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,255,255,255,255,255,255,255,255,187,7,255,131,3,0,0,0,255,255,255,255,255,\n 255,255,255,179,0,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,\n 255,255,255,63,127,0,0,0,63,0,0,0,0,255,255,255,255,255,255,255,127,17,0,255,\n 3,0,0,0,0,255,255,255,255,255,255,63,1,255,3,0,0,0,0,0,0,255,255,255,231,255,\n 7,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,\n 255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,3,0,128,\n 127,242,111,255,255,255,191,153,7,0,255,3,0,0,0,0,0,0,0,0,255,252,255,255,255,\n 255,255,252,26,0,0,0,255,255,255,255,255,255,231,127,0,0,255,255,255,255,255,\n 255,255,255,255,32,0,0,0,0,255,255,255,255,255,255,255,1,255,253,255,255,255,\n 255,127,127,1,0,255,3,0,0,252,255,255,255,252,255,255,254,127,0,0,0,0,0,0,0,0,\n 0,127,251,255,255,255,255,127,180,203,0,255,3,191,253,255,255,255,127,123,1,\n 255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,\n 0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,3,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,127,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,255,255,255,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,255,255,255,255,255,255,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,\n 0,255,255,255,255,255,255,255,1,255,255,255,127,255,3,0,0,0,0,0,0,0,0,0,0,0,0,\n 255,255,255,63,0,0,255,255,255,255,255,255,0,0,15,0,255,3,248,255,255,224,255,\n 255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,\n 255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,135,\n 255,255,255,255,255,255,255,128,255,255,0,0,0,0,0,0,0,0,11,0,3,0,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,0,0,0,0,0,\n 255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,\n 127,0,0,0,0,0,0,7,0,240,0,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,15,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,7,255,31,255,1,255,67,0,0,0,0,0,0,0,0,0,0,0,0,\n 255,255,255,255,255,255,255,255,255,255,223,255,255,255,255,255,255,255,255,\n 223,100,222,255,235,239,255,255,255,255,255,255,255,191,231,223,223,255,255,\n 255,123,95,252,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,63,255,255,255,253,255,255,247,255,255,255,\n 247,255,255,223,255,255,255,223,255,255,127,255,255,255,127,255,255,255,253,\n 255,255,255,253,255,255,247,207,255,255,255,255,255,255,127,255,255,249,219,7,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,31,\n 128,63,255,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,15,255,\n 3,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,31,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,143,8,\n 255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,239,255,255,255,150,254,247,10,\n 132,234,150,170,150,247,247,94,255,251,255,15,238,251,255,15,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,255,255,255,3,255,255,255,3,255,255,255,3,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,3\n]);\n\n// size: 1568 bytes (compressed to ~1380 bytes after binaryen)\n// @ts-ignore: decorator\n@lazy @inline const CASED = memory.data([\n 18,19,20,21,22,23,16,16,16,16,16,16,16,16,16,16,\n 24,16,16,25,16,16,16,16,16,16,16,16,26,27,17,28,\n 29,30,16,16,31,16,16,16,16,16,16,16,32,33,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,34,35,16,16,16,36,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,37,16,16,16,38,\n 16,16,16,16,39,16,16,16,16,16,16,16,40,16,16,16,\n 16,16,16,16,16,16,16,16,41,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,42,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,43,44,45,46,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,47,16,16,16,16,16,16,\n 16,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 0,0,0,0,0,0,0,0,254,255,255,7,254,255,255,7,0,0,0,0,0,4,32,4,\n 255,255,127,255,255,255,127,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,247,240,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,239,255,255,255,255,1,3,0,0,0,31,0,0,0,\n 0,0,0,0,0,0,0,0,32,0,0,0,0,0,207,188,64,215,255,255,251,255,255,255,\n 255,255,255,255,255,255,191,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 3,252,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,255,\n 255,255,127,0,255,255,255,255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,\n 191,32,255,255,255,255,255,231,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,255,255,255,255,255,255,255,255,255,255,63,63,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,255,1,255,255,255,255,255,231,0,0,0,0,0,0,0,0,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 0,0,0,0,0,0,0,0,255,255,63,63,255,255,255,255,63,63,255,170,255,255,255,63,\n 255,255,255,255,255,255,223,95,220,31,207,15,255,31,220,31,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,2,128,0,0,255,31,0,0,0,0,0,0,0,0,0,0,0,0,\n 132,252,47,62,80,189,31,242,224,67,0,0,255,255,255,255,24,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,192,255,255,255,255,255,255,3,0,0,255,255,255,255,255,127,255,255,\n 255,255,255,127,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,120,12,0,\n 255,255,255,255,191,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,63,0,0,\n 255,255,255,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,255,255,255,\n 255,255,255,255,255,255,255,255,255,120,255,255,255,255,255,255,252,7,0,0,0,0,96,7,\n 0,0,0,0,0,0,255,255,255,255,255,247,255,1,255,255,255,255,255,255,255,255,255,255,\n 0,0,0,0,0,0,0,0,127,0,248,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,255,255,7,\n 254,255,255,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,\n 255,255,15,255,255,255,255,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 255,255,255,255,255,255,7,0,255,255,255,255,255,255,7,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,\n 0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,223,255,255,255,255,255,\n 255,255,255,223,100,222,255,235,239,255,255,255,255,255,255,255,191,231,223,223,255,255,255,123,\n 95,252,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,255,255,255,\n 253,255,255,247,255,255,255,247,255,255,223,255,255,255,223,255,255,127,255,255,255,127,255,255,\n 255,253,255,255,255,253,255,255,247,15,0,0,0,0,0,0,255,255,255,255,255,255,255,255,\n 15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,255,255,255,3,255,255,255,3,255,255,255,3,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0\n]);\n\n// size: 2976 bytes (compressed to ~2050 bytes after binaryen)\n// @ts-ignore: decorator\n@lazy @inline const CASE_IGNORABLES = memory.data([\n 18,16,19,20,21,22,23,24,25,26,27,28,29,30,31,32,\n 33,16,16,34,16,16,16,35,36,37,38,39,40,41,16,42,\n 43,16,16,16,16,16,16,16,16,16,16,16,44,45,46,16,\n 47,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 48,16,16,16,49,16,50,51,52,53,54,55,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,56,16,16,57,58,\n 16,59,60,61,16,16,16,16,16,16,62,16,16,63,64,65,\n 66,67,68,69,70,71,72,73,74,75,76,16,77,78,79,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,80,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,81,82,16,16,16,83,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,84,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,85,86,16,16,16,16,16,16,16,87,16,16,16,16,16,\n 88,89,90,16,16,16,16,16,91,92,16,16,16,16,16,16,\n 16,16,16,93,16,16,16,16,16,16,16,16,16,16,16,16,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 0,0,0,0,128,64,0,4,0,0,0,64,1,0,0,0,0,0,0,0,0,161,144,1,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,48,4,176,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,3,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,130,0,0,0,0,\n 0,0,254,255,255,255,255,191,182,0,0,0,0,0,16,0,63,0,255,23,0,0,0,0,\n 1,248,255,255,0,0,1,0,0,0,0,0,0,0,0,0,0,0,192,191,255,61,0,0,\n 0,128,2,0,0,0,255,255,255,7,0,0,0,0,0,0,0,0,0,0,192,255,1,0,\n 0,0,0,0,0,248,63,36,0,0,192,255,255,63,0,0,0,0,0,14,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,248,255,255,255,255,255,7,0,0,0,0,0,0,20,\n 254,33,254,0,12,0,2,0,2,0,0,0,0,0,0,16,30,32,0,0,12,0,0,64,\n 6,0,0,0,0,0,0,16,134,57,2,0,0,0,35,0,6,0,0,0,0,0,0,16,\n 190,33,0,0,12,0,0,252,2,0,0,0,0,0,0,144,30,32,96,0,12,0,0,0,\n 4,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,17,0,0,0,0,0,0,192,\n 193,61,96,0,12,0,0,0,2,0,0,0,0,0,0,144,64,48,0,0,12,0,0,0,\n 3,0,0,0,0,0,0,24,30,32,0,0,12,0,0,0,2,0,0,0,0,0,0,0,\n 0,4,92,0,0,0,0,0,0,0,0,0,0,0,242,7,192,127,0,0,0,0,0,0,\n 0,0,0,0,0,0,242,31,64,63,0,0,0,0,0,0,0,0,0,3,0,0,160,2,\n 0,0,0,0,0,0,254,127,223,224,255,254,255,255,255,31,64,0,0,0,0,0,0,0,\n 0,0,0,0,0,224,253,102,0,0,0,195,1,0,30,0,100,32,0,32,0,0,0,0,\n 0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,224,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,0,0,0,28,0,\n 0,0,12,0,0,0,12,0,0,0,0,0,0,0,176,63,64,254,143,32,0,0,0,0,\n 0,120,0,0,0,0,0,0,8,0,0,0,0,0,0,0,96,0,0,0,0,2,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,135,1,4,14,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,9,0,0,0,0,\n 0,0,64,127,229,31,248,159,0,0,0,0,128,0,255,255,1,0,0,0,0,0,0,0,\n 15,0,0,0,0,0,208,23,4,0,0,0,0,248,15,0,3,0,0,0,60,59,0,0,\n 0,0,0,0,64,163,3,0,0,0,0,0,0,240,207,0,0,0,0,0,0,0,0,63,\n 0,0,0,0,0,0,0,0,0,0,247,255,253,33,16,3,0,0,0,0,0,240,255,255,\n 255,255,255,255,255,7,0,1,0,0,0,248,255,255,255,255,255,255,255,255,255,255,255,251,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,\n 3,224,0,224,0,224,0,96,0,248,0,3,144,124,0,0,0,0,0,0,223,255,2,128,\n 0,0,255,31,0,0,0,0,0,0,255,255,255,255,1,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,0,0,0,0,0,0,128,3,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,128,0,128,0,0,0,0,0,0,0,0,\n 0,0,0,0,255,255,255,255,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,60,62,8,\n 0,0,0,0,0,0,0,0,0,0,0,126,0,0,0,0,0,0,0,0,0,0,0,112,\n 0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,0,16,0,0,0,0,0,0,\n 0,0,0,0,0,128,247,191,0,0,0,240,0,0,0,0,0,0,0,0,0,0,3,0,\n 255,255,255,255,3,0,0,0,0,0,0,0,0,0,1,0,0,7,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,3,68,8,0,0,96,16,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,48,0,0,0,255,255,3,128,0,0,0,0,192,63,0,0,\n 128,255,3,0,0,0,0,0,7,0,0,0,0,0,200,51,0,128,0,0,96,0,0,0,\n 0,0,0,0,0,126,102,0,8,16,0,0,0,0,1,16,0,0,0,0,0,0,157,193,\n 2,0,0,32,0,48,88,0,0,0,0,0,0,0,0,0,0,0,0,248,0,14,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,32,33,0,0,0,0,0,64,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,255,3,0,0,0,0,0,0,0,\n 255,255,8,0,255,255,0,0,0,0,36,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,128,128,64,0,4,0,0,0,64,1,0,0,0,0,0,1,0,\n 0,0,0,192,0,0,0,0,0,0,0,0,8,0,0,14,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,7,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,110,240,0,0,0,0,0,135,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,0,0,0,\n 0,0,0,0,240,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 192,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 2,0,0,0,0,0,0,255,127,0,0,0,0,0,0,128,3,0,0,0,0,0,120,38,\n 0,32,0,0,0,0,0,0,7,0,0,0,128,239,31,0,0,0,0,0,0,0,8,0,\n 3,0,0,0,0,0,192,127,0,158,0,0,0,0,0,0,0,0,0,0,0,128,211,64,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,248,7,0,0,\n 3,0,0,0,0,0,0,24,1,0,0,0,192,31,31,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,92,0,0,64,0,0,0,0,\n 0,0,0,0,0,0,248,133,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,176,1,0,0,48,0,0,0,0,\n 0,0,0,0,0,0,248,167,1,0,0,0,0,0,0,0,0,0,0,0,0,40,191,0,\n 0,0,0,0,0,0,0,0,0,0,0,224,188,15,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,255,6,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,88,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,240,12,1,0,0,0,254,7,0,0,0,0,248,121,128,0,126,14,0,0,0,0,\n 0,252,127,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,127,191,\n 0,0,0,0,0,0,0,0,0,0,252,255,255,252,109,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,126,180,191,0,0,0,0,0,0,0,0,0,163,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,255,1,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,31,0,0,0,0,0,0,0,127,0,15,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,128,0,0,0,0,0,0,0,128,255,255,0,0,0,0,0,0,0,0,27,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,15,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,3,248,255,\n 231,15,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 255,255,255,255,255,255,127,248,255,255,255,255,255,31,32,0,16,0,0,248,254,255,0,0,\n 0,0,0,0,0,0,0,0,127,255,255,249,219,7,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,63,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,240,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,127,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 240,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,248\n]);\n\n// @ts-ignore: decorator\n@lazy @inline const LOWER127 = memory.data([\n 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,\n 16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,\n 32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,\n 48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,\n 64,\n 97,98,99,100,101,102,103,104,105,106,107,108,109,\n 110,111,112,113,114,115,116,117,118,119,120,121,122,\n 91,92,93,94,95,96,\n 97,98,99,100,101,102,103,104,105,106,107,108,109,\n 110,111,112,113,114,115,116,117,118,119,120,121,122,\n 123,124,125,126,127\n]);\n\n// @ts-ignore: decorator\n@lazy @inline const UPPER127 = memory.data([\n 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,\n 16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,\n 32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,\n 48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,\n 64,\n 65,66,67,68,69,70,71,72,73,74,75,76,77,\n 78,79,80,81,82,83,84,85,86,87,88,89,90,\n 91,92,93,94,95,96,\n 65,66,67,68,69,70,71,72,73,74,75,76,77,\n 78,79,80,81,82,83,84,85,86,87,88,89,90,\n 123,124,125,126,127\n]);\n\n// 23 * 8 = 184 bytes\n// @ts-ignore: decorator\n@lazy @inline const POWERS10 = memory.data([\n 1e00, 1e01, 1e02, 1e03, 1e04, 1e05, 1e06, 1e07, 1e08, 1e09,\n 1e10, 1e11, 1e12, 1e13, 1e14, 1e15, 1e16, 1e17, 1e18, 1e19,\n 1e20, 1e21, 1e22\n]);\n\n// @ts-ignore: decorator\n@inline\nexport const enum CharCode {\n PERCENT = 0x25,\n PLUS = 0x2B,\n MINUS = 0x2D,\n DOT = 0x2E,\n _0 = 0x30,\n _1 = 0x31,\n _2 = 0x32,\n _3 = 0x33,\n _4 = 0x34,\n _5 = 0x35,\n _6 = 0x36,\n _7 = 0x37,\n _8 = 0x38,\n _9 = 0x39,\n A = 0x41,\n B = 0x42,\n E = 0x45,\n I = 0x49,\n N = 0x4E,\n O = 0x4F,\n X = 0x58,\n Z = 0x5A,\n a = 0x61,\n b = 0x62,\n e = 0x65,\n n = 0x6E,\n o = 0x6F,\n u = 0x75,\n x = 0x78,\n z = 0x7A\n}\n\n// @ts-ignore: decorator\n@inline\nexport function isAscii(c: u32): bool {\n return !(c >> 7);\n}\n\n// @ts-ignore: decorator\n@inline\nexport function isLower8(c: u32): bool {\n return c - CharCode.a < 26;\n}\n\n// @ts-ignore: decorator\n@inline\nexport function isUpper8(c: u32): bool {\n return c - CharCode.A < 26;\n}\n\nexport function isSpace(c: u32): bool {\n if (c < 0x1680) { // < (1)\n // , , , , , and \n // (c == 0x20 || c == 0xA0) was optimized to (c | 0x80) == 0xA0\n return ((c | 0x80) == 0xA0) || (c - 0x09 <= 0x0D - 0x09);\n }\n if (c - 0x2000 <= 0x200A - 0x2000) return true;\n switch (c) {\n case 0x1680: // (1)\n case 0x2028: // (2)\n case 0x2029: // \n case 0x202F: // \n case 0x205F: // \n case 0x3000: // \n case 0xFEFF: return true; // \n }\n return false;\n}\n\nexport function isAlpha(c: u32): bool {\n if (isAscii(c)) return (c | 32) - CharCode.a < 26;\n if (c < 0x20000) {\n // @ts-ignore: cast\n return stagedBinaryLookup(ALPHA_TABLE, c);\n }\n return c < 0x2FFFE;\n}\n\n// @ts-ignore: decorator\n@inline\nexport function isCased(c: u32): bool {\n // @ts-ignore: cast\n return c < 0x1F18A && stagedBinaryLookup(CASED, c);\n}\n\n// @ts-ignore: decorator\n@inline\nexport function isCaseIgnorable(c: u32): bool {\n // @ts-ignore: cast\n return c < 0xE01F0 && stagedBinaryLookup(CASE_IGNORABLES, c);\n}\n\n// @ts-ignore: decorator\n@inline\nexport function isFinalSigma(buffer: usize, index: isize, len: isize): bool {\n const lookaheadLimit = 30; // max lookahead limit\n let found = false;\n let pos = index;\n let minPos = max(0, pos - lookaheadLimit);\n while (pos > minPos) {\n let c = codePointBefore(buffer, pos);\n if (!isCaseIgnorable(c)) {\n if (isCased(c)) {\n found = true;\n } else {\n return false;\n }\n }\n pos -= isize(c >= 0x10000) + 1;\n }\n if (!found) return false;\n pos = index + 1;\n let maxPos = min(pos + lookaheadLimit, len);\n while (pos < maxPos) {\n let c = load(buffer + (pos << 1));\n if (u32((c & 0xFC00) == 0xD800) & u32(pos + 1 != len)) {\n let c1 = load(buffer + (pos << 1), 2);\n if ((c1 & 0xFC00) == 0xDC00) {\n c = (c - 0xD800 << 10) + (c1 - 0xDC00) + 0x10000;\n }\n }\n if (!isCaseIgnorable(c)) {\n return !isCased(c);\n }\n pos += isize(c >= 0x10000) + 1;\n }\n return true;\n}\n\n// @ts-ignore: decorator\n@inline\nfunction codePointBefore(buffer: usize, index: isize): i32 {\n if (index <= 0) return -1;\n let c = load(buffer + (index - 1 << 1));\n if (u32((c & 0xFC00) == 0xDC00) & u32(index - 2 >= 0)) {\n let c1 = load(buffer + (index - 2 << 1));\n if ((c1 & 0xFC00) == 0xD800) {\n return ((c1 & 0x3FF) << 10) + (c & 0x3FF) + 0x10000;\n }\n }\n return (c & 0xF800) == 0xD800 ? 0xFFFD : c;\n}\n\n// Search routine for two-staged lookup tables\nfunction stagedBinaryLookup(table: usize, c: u32): bool {\n return ((load(table + (load(table + (c >>> 8)) << 5) + ((c & 255) >> 3)) >>> (c & 7)) & 1);\n}\n\nexport function compareImpl(str1: string, index1: usize, str2: string, index2: usize, len: usize): i32 {\n let ptr1 = changetype(str1) + (index1 << 1);\n let ptr2 = changetype(str2) + (index2 << 1);\n if (ASC_SHRINK_LEVEL < 2) {\n if (len >= 4 && !((ptr1 & 7) | (ptr2 & 7))) {\n do {\n if (load(ptr1) != load(ptr2)) break;\n ptr1 += 8;\n ptr2 += 8;\n len -= 4;\n } while (len >= 4);\n }\n }\n while (len--) {\n let a = load(ptr1);\n let b = load(ptr2);\n if (a != b) return a - b;\n ptr1 += 2;\n ptr2 += 2;\n }\n return 0;\n}\n\n// @ts-ignore: decorator\n@inline\nexport function toLower8(c: u32): u32 {\n if (ASC_SHRINK_LEVEL > 0) {\n return c | u32(isUpper8(c)) << 5;\n } else {\n return load(LOWER127 + c);\n }\n}\n\n// @ts-ignore: decorator\n@inline\nexport function toUpper8(c: u32): u32 {\n if (ASC_SHRINK_LEVEL > 0) {\n return c & ~(u32(isLower8(c)) << 5);\n } else {\n return load(UPPER127 + c);\n }\n}\n\n/** Parses a string to an integer (usually), using the specified radix. */\nexport function strtol(str: string, radix: i32 = 0): T {\n let len = str.length;\n if (!len) {\n if (isFloat()) {\n // @ts-ignore: cast\n return NaN;\n } else {\n // @ts-ignore: cast\n return 0;\n }\n }\n\n let ptr = changetype(str) /* + HEAD -> offset */;\n let code = load(ptr);\n\n // trim white spaces\n while (isSpace(code)) {\n code = load(ptr += 2);\n --len;\n }\n // determine sign\n // @ts-ignore\n let sign: T = 1;\n if (code == CharCode.MINUS || code == CharCode.PLUS) {\n if (!--len) {\n if (isFloat()) {\n // @ts-ignore: cast\n return NaN;\n } else {\n // @ts-ignore: cast\n return 0;\n }\n }\n if (code == CharCode.MINUS) {\n // @ts-ignore: type\n sign = -1;\n }\n code = load(ptr += 2);\n }\n\n // See https://tc39.es/ecma262/#sec-parseint-string-radix\n if (radix) {\n if (radix < 2 || radix > 36) {\n if (isFloat()) {\n // @ts-ignore: cast\n return NaN;\n } else {\n // @ts-ignore: cast\n return 0;\n }\n }\n // handle case as parseInt(\"0xFF\", 16) by spec\n if (radix == 16) {\n if (\n len > 2 &&\n code == CharCode._0 &&\n (load(ptr, 2) | 32) == CharCode.x\n ) {\n ptr += 4; len -= 2;\n }\n }\n } else {\n // determine radix by literal prefix\n if (code == CharCode._0 && len > 2) {\n switch (load(ptr, 2) | 32) {\n case CharCode.b: {\n ptr += 4; len -= 2;\n radix = 2;\n break;\n }\n case CharCode.o: {\n ptr += 4; len -= 2;\n radix = 8;\n break;\n }\n case CharCode.x: {\n ptr += 4; len -= 2;\n radix = 16;\n break;\n }\n }\n }\n if (!radix) radix = 10;\n }\n\n // calculate value\n // @ts-ignore: type\n let num: T = 0;\n let initial = len - 1;\n while (len--) {\n code = load(ptr);\n if (code - CharCode._0 < 10) {\n code -= CharCode._0;\n } else if (code - CharCode.A <= (CharCode.Z - CharCode.A)) {\n code -= CharCode.A - 10;\n } else if (code - CharCode.a <= (CharCode.z - CharCode.a)) {\n code -= CharCode.a - 10;\n }\n if (code >= radix) {\n if (initial == len) {\n if (isFloat()) {\n // @ts-ignore: cast\n return NaN;\n } else {\n // @ts-ignore: cast\n return 0;\n }\n }\n break;\n }\n // @ts-ignore: type\n num = num * radix + code;\n ptr += 2;\n }\n // @ts-ignore: type\n return sign * num;\n}\n\nexport function strtod(str: string): f64 {\n let len = str.length;\n if (!len) return NaN;\n\n let ptr = changetype(str);\n let code = load(ptr);\n\n let sign = 1.0;\n // skip white spaces\n while (len && isSpace(code)) {\n code = load(ptr += 2);\n --len;\n }\n if (!len) return NaN;\n\n // try parse '-' or '+'\n if (code == CharCode.MINUS) {\n if (!--len) return NaN;\n code = load(ptr += 2);\n sign = -1;\n } else if (code == CharCode.PLUS) {\n if (!--len) return NaN;\n code = load(ptr += 2);\n }\n\n // try parse Infinity\n if (len >= 8 && code == CharCode.I) {\n if (\n load(ptr, 0) == 0x690066006E0049 && // ifnI\n load(ptr, 8) == 0x7900740069006E // ytin\n ) {\n return Infinity * sign;\n }\n return NaN;\n }\n // validate next symbol\n if (code != CharCode.DOT && (code - CharCode._0) >= 10) {\n return NaN;\n }\n let savedPtr = ptr;\n // skip zeros\n while (code == CharCode._0) {\n code = load(ptr += 2);\n --len;\n }\n if (len <= 0) return 0.0 * sign;\n const capacity = 19; // int(64 * 0.3010)\n let pointed = false;\n let consumed = 0;\n let position = 0;\n let x: u64 = 0;\n if (code == CharCode.DOT) {\n let noDigits = !(savedPtr - ptr);\n ptr += 2; --len;\n if (!len && noDigits) return NaN;\n for (pointed = true; (code = load(ptr)) == CharCode._0; --position, ptr += 2) --len;\n if (len <= 0) return 0.0 * sign;\n if (!position && noDigits && code - CharCode._0 >= 10) return NaN;\n }\n for (let digit = code - CharCode._0; digit < 10 || (code == CharCode.DOT && !pointed); digit = code - CharCode._0) {\n if (digit < 10) {\n x = consumed < capacity ? 10 * x + digit : x | u64(!!digit);\n ++consumed;\n } else {\n position = consumed;\n pointed = true;\n }\n if (!--len) break;\n code = load(ptr += 2);\n }\n\n if (!pointed) position = consumed;\n return copysign(scientific(x, position - min(capacity, consumed) + parseExp(ptr, len)), sign);\n}\n\nexport function strtob(str: string): bool {\n let size: usize = str.length << 1;\n let offset: usize = 0;\n if (size > 8) {\n // try trim end whitespaces first\n while (size && isSpace(load(changetype(str) + size - 2))) size -= 2;\n if (size > 8) {\n // trim start whitespaces\n while (offset < size && isSpace(load(changetype(str) + offset))) offset += 2;\n size -= offset;\n }\n }\n if (size != 8) return false;\n // \"true\" represents as \\00\\e\\00\\u\\00\\e\\00\\t (00 65 00 75 00 72 00 74)\n return load(changetype(str) + offset) == 0x0065_0075_0072_0074;\n}\n\nexport function joinBooleanArray(dataStart: usize, length: i32, separator: string): string {\n let lastIndex = length - 1;\n if (lastIndex < 0) return \"\";\n if (!lastIndex) return select(\"true\", \"false\", load(dataStart));\n\n let sepLen = separator.length;\n let valueLen = 5; // max possible length of element len(\"false\")\n let estLen = (valueLen + sepLen) * lastIndex + valueLen;\n let result = changetype(__new(estLen << 1, idof()));\n let offset = 0;\n let value: bool;\n for (let i = 0; i < lastIndex; ++i) {\n value = load(dataStart + i);\n valueLen = 4 + i32(!value);\n memory.copy(\n changetype(result) + (offset << 1),\n changetype(select(\"true\", \"false\", value)),\n valueLen << 1\n );\n offset += valueLen;\n if (sepLen) {\n memory.copy(\n changetype(result) + (offset << 1),\n changetype(separator),\n sepLen << 1\n );\n offset += sepLen;\n }\n }\n value = load(dataStart + lastIndex);\n valueLen = 4 + i32(!value);\n memory.copy(\n changetype(result) + (offset << 1),\n changetype(select(\"true\", \"false\", value)),\n valueLen << 1\n );\n offset += valueLen;\n\n if (estLen > offset) return result.substring(0, offset);\n return result;\n}\n\nexport function joinIntegerArray(dataStart: usize, length: i32, separator: string): string {\n let lastIndex = length - 1;\n if (lastIndex < 0) return \"\";\n if (!lastIndex) {\n let value = load(dataStart);\n if (isSigned()) {\n if (sizeof() <= 4) {\n // @ts-ignore: type\n return changetype(itoa32(value, 10));\n } else {\n // @ts-ignore: type\n return changetype(itoa64(value, 10));\n }\n } else {\n if (sizeof() <= 4) {\n // @ts-ignore: type\n return changetype(utoa32(value, 10));\n } else {\n // @ts-ignore: type\n return changetype(utoa64(value, 10));\n }\n }\n }\n\n let sepLen = separator.length;\n const valueLen = (sizeof() <= 4 ? 10 : 20) + i32(isSigned());\n let estLen = (valueLen + sepLen) * lastIndex + valueLen;\n let result = changetype(__new(estLen << 1, idof()));\n let offset = 0;\n let value: T;\n for (let i = 0; i < lastIndex; ++i) {\n value = load(dataStart + (i << alignof()));\n // @ts-ignore: type\n offset += itoa_buffered(changetype(result) + (offset << 1), value);\n if (sepLen) {\n memory.copy(\n changetype(result) + (offset << 1),\n changetype(separator),\n sepLen << 1\n );\n offset += sepLen;\n }\n }\n value = load(dataStart + (lastIndex << alignof()));\n // @ts-ignore: type\n offset += itoa_buffered(changetype(result) + (offset << 1), value);\n if (estLen > offset) return result.substring(0, offset);\n return result;\n}\n\nexport function joinFloatArray(dataStart: usize, length: i32, separator: string): string {\n let lastIndex = length - 1;\n if (lastIndex < 0) return \"\";\n if (!lastIndex) {\n return changetype(dtoa(\n // @ts-ignore: type\n load(dataStart))\n );\n }\n\n const valueLen = MAX_DOUBLE_LENGTH;\n let sepLen = separator.length;\n let estLen = (valueLen + sepLen) * lastIndex + valueLen;\n let result = changetype(__new(estLen << 1, idof()));\n let offset = 0;\n let value: T;\n for (let i = 0; i < lastIndex; ++i) {\n value = load(dataStart + (i << alignof()));\n // @ts-ignore: type\n offset += dtoa_buffered(changetype(result) + (offset << 1), value);\n if (sepLen) {\n memory.copy(\n changetype(result) + (offset << 1),\n changetype(separator),\n sepLen << 1\n );\n offset += sepLen;\n }\n }\n value = load(dataStart + (lastIndex << alignof()));\n // @ts-ignore: type\n offset += dtoa_buffered(changetype(result) + (offset << 1), value);\n if (estLen > offset) return result.substring(0, offset);\n return result;\n}\n\nexport function joinStringArray(dataStart: usize, length: i32, separator: string): string {\n let lastIndex = length - 1;\n if (lastIndex < 0) return \"\";\n if (!lastIndex) {\n // @ts-ignore: type\n return load(dataStart) || \"\";\n }\n let estLen = 0;\n let value: string;\n for (let i = 0; i < length; ++i) {\n value = load(dataStart + (i << alignof()));\n if (changetype(value) != 0) estLen += value.length;\n }\n let offset = 0;\n let sepLen = separator.length;\n let result = changetype(__new((estLen + sepLen * lastIndex) << 1, idof()));\n for (let i = 0; i < lastIndex; ++i) {\n value = load(dataStart + (i << alignof()));\n if (changetype(value) != 0) {\n let valueLen = value.length;\n memory.copy(\n changetype(result) + (offset << 1),\n changetype(value),\n valueLen << 1\n );\n offset += valueLen;\n }\n if (sepLen) {\n memory.copy(\n changetype(result) + (offset << 1),\n changetype(separator),\n sepLen << 1\n );\n offset += sepLen;\n }\n }\n value = load(dataStart + (lastIndex << alignof()));\n if (changetype(value) != 0) {\n memory.copy(\n changetype(result) + (offset << 1),\n changetype(value),\n value.length << 1\n );\n }\n return result;\n}\n\nexport function joinReferenceArray(dataStart: usize, length: i32, separator: string): string {\n let lastIndex = length - 1;\n if (lastIndex < 0) return \"\";\n let value: T;\n if (!lastIndex) {\n value = load(dataStart);\n // @ts-ignore: type\n return value != null ? value.toString() : \"\";\n }\n let result = \"\";\n let sepLen = separator.length;\n for (let i = 0; i < lastIndex; ++i) {\n value = load(dataStart + (i << alignof()));\n // @ts-ignore: type\n if (value != null) result += value.toString();\n if (sepLen) result += separator;\n }\n value = load(dataStart + (lastIndex << alignof()));\n // @ts-ignore: type\n if (value != null) result += value.toString();\n return result;\n}\n\n// @ts-ignore: decorator\n@inline\nfunction scientific(significand: u64, exp: i32): f64 {\n if (!significand || exp < -342) return 0;\n if (exp > 308) return Infinity;\n // Try use fast path\n // Use fast path for string-to-double conversion if possible\n // see http://www.exploringbinary.com/fast-path-decimal-to-floating-point-conversion\n // Simple integer\n let significandf = significand;\n if (!exp) return significandf;\n if (exp > 22 && exp <= 22 + 15) {\n significandf *= pow10(exp - 22);\n exp = 22;\n }\n if (significand <= 9007199254740991 && abs(exp) <= 22) {\n if (exp > 0) return significandf * pow10(exp);\n return significandf / pow10(-exp);\n } else if (exp < 0) {\n return scaledown(significand, exp);\n } else {\n return scaleup(significand, exp);\n }\n}\n\n// Adopted from metallic lib:\n// https://github.com/jdh8/metallic/blob/master/src/stdlib/parse/scientific.h\n// @ts-ignore: decorator\n@inline\nfunction scaledown(significand: u64, exp: i32): f64 {\n const denom: u64 = 6103515625; // 1e14 * 0x1p-14\n const scale = reinterpret(0x3F06849B86A12B9B); // 1e-14 * 0x1p32\n\n let shift = clz(significand);\n significand <<= shift;\n shift = exp - shift;\n\n for (; exp <= -14; exp += 14) {\n let q = significand / denom;\n let r = significand % denom;\n let s = clz(q);\n significand = (q << s) + nearest(scale * (r << (s - 18)));\n shift -= s;\n }\n let b = ipow32(5, -exp);\n let q = significand / b;\n let r = significand % b;\n let s = clz(q);\n significand = (q << s) + (reinterpret(reinterpret(r) + (s << 52)) / b);\n shift -= s;\n\n return NativeMath.scalbn(significand, shift);\n}\n\n// Adopted from metallic lib:\n// https://github.com/jdh8/metallic/blob/master/src/stdlib/parse/scientific.h\n// @ts-ignore: decorator\n@inline\nfunction scaleup(significand: u64, exp: i32): f64 {\n const coeff: u32 = 1220703125; // 1e13 * 0x1p-13;\n let shift = ctz(significand);\n significand >>= shift;\n shift += exp;\n\n __fixmulShift = shift;\n for (; exp >= 13; exp -= 13) {\n significand = fixmul(significand, coeff);\n }\n significand = fixmul(significand, ipow32(5, exp));\n shift = __fixmulShift;\n return NativeMath.scalbn(significand, shift);\n}\n\n// Adopted from metallic lib:\n// https://github.com/jdh8/metallic/blob/master/src/stdlib/parse/scientific.h\n// @ts-ignore: decorator\n@inline\nfunction parseExp(ptr: usize, len: i32): i32 {\n let sign = 1, magnitude = 0;\n let code = load(ptr);\n // check code is 'e' or 'E'\n if ((code | 32) != CharCode.e) return 0;\n\n if (!--len) return 0;\n code = load(ptr += 2);\n if (code == CharCode.MINUS) {\n if (!--len) return 0;\n code = load(ptr += 2);\n sign = -1;\n } else if (code == CharCode.PLUS) {\n if (!--len) return 0;\n code = load(ptr += 2);\n }\n // skip zeros\n while (code == CharCode._0) {\n if (!--len) return 0;\n code = load(ptr += 2);\n }\n for (let digit: u32 = code - CharCode._0; len && digit < 10; digit = code - CharCode._0) {\n if (magnitude >= 3200) return sign * 3200;\n magnitude = 10 * magnitude + digit;\n code = load(ptr += 2);\n --len;\n }\n return sign * magnitude;\n}\n\n// @ts-ignore: decorator\n@lazy let __fixmulShift: u64 = 0;\n\n// Adopted from metallic lib:\n// https://github.com/jdh8/metallic/blob/master/src/stdlib/parse/scientific.h\n// @ts-ignore: decorator\n@inline\nfunction fixmul(a: u64, b: u32): u64 {\n let low = (a & 0xFFFFFFFF) * b;\n let high = (a >> 32) * b + (low >> 32);\n let overflow = (high >> 32);\n let space = clz(overflow);\n let revspace: u64 = 32 - space;\n __fixmulShift += revspace;\n return (high << space | (low & 0xFFFFFFFF) >> revspace) + (low << space >> 31 & 1);\n}\n\n// @ts-ignore: decorator\n@inline\nfunction pow10(n: i32): f64 {\n // argument `n` should bounds in [0, 22] range\n return load(POWERS10 + (n << alignof()));\n}\n","// This file is shared with the compiler and must remain portable\n\n/** Runtime types. */\nexport enum Runtime {\n /** Simple bump allocator without GC. */\n Stub = 0,\n /** Stop the world semi-automatic GC. */\n Minimal = 1,\n /** incremental GC. */\n Incremental = 2,\n}\n","import { compareImpl } from \"./string\";\n\ntype Comparator = (a: T, b: T) => i32;\n\n// @ts-ignore: decorator\n@lazy @inline const EMPTY = u32.MAX_VALUE;\n// @ts-ignore: decorator\n@inline const INSERTION_SORT_THRESHOLD = 48;\n// @ts-ignore: decorator\n@inline const MIN_RUN_LENGTH = 32;\n\n// @ts-ignore: decorator\n@inline\nfunction log2u(n: u32): u32 {\n return 31 - clz(n);\n}\n\n// @ts-ignore: decorator\n@inline\nexport function COMPARATOR(): Comparator {\n if (isInteger()) {\n if (isSigned() && sizeof() <= 4) {\n return (a, b) => i32(a) - i32(b);\n } else {\n return (a, b) => i32(a > b) - i32(a < b);\n }\n } else if (isFloat()) {\n if (sizeof() == 4) {\n return (a, b) => {\n let ia = reinterpret(f32(a));\n let ib = reinterpret(f32(b));\n ia ^= ia >> 31 >>> 1;\n ib ^= ib >> 31 >>> 1;\n return i32(ia > ib) - i32(ia < ib);\n };\n } else {\n return (a, b) => {\n let ia = reinterpret(f64(a));\n let ib = reinterpret(f64(b));\n ia ^= ia >> 63 >>> 1;\n ib ^= ib >> 63 >>> 1;\n return i32(ia > ib) - i32(ia < ib);\n };\n }\n } else if (isString()) {\n return (a, b) => {\n if (\n changetype(a) == changetype(b) ||\n changetype(a) == 0 ||\n changetype(b) == 0\n ) return 0;\n let alen = changetype(a).length;\n let blen = changetype(b).length;\n if (!(alen | blen)) return 0;\n if (!alen) return -1;\n if (!blen) return 1;\n let res = compareImpl(\n changetype(a), 0,\n changetype(b), 0,\n min(alen, blen)\n );\n return res ? res : alen - blen;\n };\n } else {\n return (a, b) => i32(a > b) - i32(a < b);\n }\n}\n\n// Power Sort implementation (stable) from paper \"Nearly-Optimal Mergesorts\"\n// https://arxiv.org/pdf/1805.04154.pdf\n// This method usually outperform TimSort.\n// TODO: refactor c >>> 31 to c < 0 when binaryen will support this opt\nexport function SORT(\n ptr: usize,\n len: i32,\n comparator: Comparator\n): void {\n if (len <= INSERTION_SORT_THRESHOLD) {\n if (len <= 1) return;\n if (ASC_SHRINK_LEVEL < 1) {\n switch (len) {\n case 3: {\n let a = load(ptr, 0);\n let b = load(ptr, 1 << alignof());\n let c = comparator(a, b) > 0;\n store(ptr, select(b, a, c), 0);\n a = select(a, b, c);\n b = load(ptr, 2 << alignof());\n c = comparator(a, b) > 0;\n store(ptr, select(b, a, c), 1 << alignof());\n store(ptr, select(a, b, c), 2 << alignof());\n }\n case 2: {\n let a = load(ptr, 0);\n let b = load(ptr, 1 << alignof());\n let c = comparator(a, b) > 0;\n store(ptr, select(b, a, c), 0);\n store(ptr, select(a, b, c), 1 << alignof());\n return;\n }\n }\n }\n insertionSort(ptr, 0, len - 1, 0, comparator);\n return;\n }\n\n let lgPlus2 = log2u(len) + 2;\n let lgPlus2Size = lgPlus2 << alignof();\n let leftRunStartBuf = __alloc(lgPlus2Size << 1);\n let leftRunEndBuf = leftRunStartBuf + lgPlus2Size;\n\n for (let i: u32 = 0; i < lgPlus2; ++i) {\n store(leftRunStartBuf + (i << alignof()), EMPTY);\n }\n\n let buffer = __alloc(len << alignof());\n\n let hi = len - 1;\n let endA = extendRunRight(ptr, 0, hi, comparator);\n let lenA = endA + 1;\n\n if (lenA < MIN_RUN_LENGTH) {\n endA = min(hi, MIN_RUN_LENGTH - 1);\n insertionSort(ptr, 0, endA, lenA, comparator);\n }\n\n let top: u32 = 0, startA = 0;\n while (endA < hi) {\n let startB = endA + 1;\n let endB = extendRunRight(ptr, startB, hi, comparator);\n let lenB = endB - startB + 1;\n\n if (lenB < MIN_RUN_LENGTH) {\n endB = min(hi, startB + MIN_RUN_LENGTH - 1);\n insertionSort(ptr, startB, endB, lenB, comparator);\n }\n\n let k = nodePower(0, hi, startA, startB, endB);\n\n for (let i = top; i > k; --i) {\n let start = load(leftRunStartBuf + (i << alignof()));\n if (start != EMPTY) {\n mergeRuns(\n ptr,\n start,\n load(leftRunEndBuf + (i << alignof())) + 1,\n endA,\n buffer,\n comparator\n );\n startA = start;\n store(leftRunStartBuf + (i << alignof()), EMPTY);\n }\n }\n\n store(leftRunStartBuf + (k << alignof()), startA);\n store(leftRunEndBuf + (k << alignof()), endA);\n startA = startB;\n endA = endB;\n top = k;\n }\n\n for (let i = top; i != 0; --i) {\n let start = load(leftRunStartBuf + (i << alignof()));\n if (start != EMPTY) {\n mergeRuns(\n ptr,\n start,\n load(leftRunEndBuf + (i << alignof())) + 1,\n hi,\n buffer,\n comparator\n );\n }\n }\n // dealloc aux buffers\n __free(buffer);\n __free(leftRunStartBuf);\n}\n\nfunction insertionSort(\n ptr: usize,\n left: i32,\n right: i32,\n presorted: i32,\n comparator: Comparator\n): void {\n if (ASC_SHRINK_LEVEL >= 1) {\n // slightly improved original insertion sort\n for (let i = left + presorted; i <= right; ++i) {\n let j = i - 1;\n let a = load(ptr + (i << alignof()));\n while (j >= left) {\n let b = load(ptr + (j << alignof()));\n if (comparator(a, b) < 0) {\n store(ptr + (j << alignof()), b, 1 << alignof()); --j;\n } else break;\n }\n store(ptr + (j << alignof()), a, 1 << alignof());\n }\n } else {\n // even-odd two-way insertion sort which allow increase minRunLen\n let range = right - left + 1;\n let i = left + select(range & 1, presorted - ((range - presorted) & 1), presorted == 0);\n for (; i <= right; i += 2) {\n let a = load(ptr + (i << alignof()), 0);\n let b = load(ptr + (i << alignof()), 1 << alignof());\n let min = b, max = a;\n if (comparator(a, b) <= 0) {\n min = a, max = b;\n }\n let j = i - 1;\n while (j >= left) {\n a = load(ptr + (j << alignof()));\n if (comparator(a, max) > 0) {\n store(ptr + (j << alignof()), a, 2 << alignof()); --j;\n } else break;\n }\n store(ptr + (j << alignof()), max, 2 << alignof());\n while (j >= left) {\n a = load(ptr + (j << alignof()));\n if (comparator(a, min) > 0) {\n store(ptr + (j << alignof()), a, 1 << alignof()); --j;\n } else break;\n }\n store(ptr + (j << alignof()), min, 1 << alignof());\n }\n }\n}\n\nfunction nodePower(left: u32, right: u32, startA: u32, startB: u32, endB: u32): u32 {\n let n: u64 = right - left + 1;\n let s = startB - (left << 1);\n let l = startA + s;\n let r = endB + s + 1;\n let a = (l << 30) / n;\n let b = (r << 30) / n;\n return clz((a ^ b));\n}\n\nfunction extendRunRight(\n ptr: usize,\n i: i32,\n right: i32,\n comparator: Comparator\n): i32 {\n if (i == right) return i;\n let j = i;\n if (comparator(\n load(ptr + ( j << alignof())),\n load(ptr + (++j << alignof()))\n ) > 0) {\n while (\n j < right &&\n (comparator(\n load(ptr + (j << alignof()), 1 << alignof()),\n load(ptr + (j << alignof()))\n ) >>> 31) // < 0\n ) ++j;\n // reverse\n let k = j;\n while (i < k) {\n let tmp = load(ptr + (i << alignof()));\n store(ptr + (i << alignof()), load(ptr + (k << alignof()))); ++i;\n store(ptr + (k << alignof()), tmp); --k;\n }\n } else {\n while (\n j < right &&\n comparator(\n load(ptr + (j << alignof()), 1 << alignof()),\n load(ptr + (j << alignof()))\n ) >= 0\n ) ++j;\n }\n return j;\n}\n\n// Merges arr[l..m - 1] and arr[m..r]\nfunction mergeRuns(\n ptr: usize,\n l: i32,\n m: i32,\n r: i32,\n buffer: usize,\n comparator: Comparator\n): void {\n --m;\n let i: i32, j: i32, t = r + m;\n for (i = m + 1; i > l; --i) {\n store(\n buffer + ((i - 1) << alignof()),\n load(ptr + ((i - 1) << alignof()))\n );\n }\n for (j = m; j < r; ++j) {\n store(\n buffer + ((t - j) << alignof()),\n load(ptr + (j << alignof()), 1 << alignof())\n );\n }\n for (let k = l; k <= r; ++k) {\n let a = load(buffer + (j << alignof()));\n let b = load(buffer + (i << alignof()));\n if (comparator(a, b) < 0) {\n store(ptr + (k << alignof()), a);\n --j;\n } else {\n store(ptr + (k << alignof()), b);\n ++i;\n }\n }\n}\n","/// \n\nimport { OBJECT, BLOCK_MAXSIZE, TOTAL_OVERHEAD } from \"./rt/common\";\nimport { compareImpl, strtol, strtod, isSpace, isAscii, isFinalSigma, toLower8, toUpper8 } from \"./util/string\";\nimport { SPECIALS_UPPER, casemap, bsearch } from \"./util/casemap\";\nimport { E_INDEXOUTOFRANGE, E_INVALIDLENGTH, E_UNPAIRED_SURROGATE } from \"./util/error\";\nimport { idof } from \"./builtins\";\nimport { Array } from \"./array\";\n\n@final export abstract class String {\n\n @lazy static readonly MAX_LENGTH: i32 = (BLOCK_MAXSIZE >>> alignof());\n\n static fromCharCode(unit: i32, surr: i32 = -1): String {\n let hasSur = surr > 0;\n let out = changetype(__new(2 << i32(hasSur), idof()));\n store(changetype(out), unit);\n if (hasSur) store(changetype(out), surr, 2);\n return out;\n }\n\n static fromCharCodes(units: Array): String {\n let length = units.length;\n let out = changetype(__new(length << 1, idof()));\n let ptr = units.dataStart;\n for (let i = 0; i < length; ++i) {\n store(changetype(out) + (i << 1), load(ptr + (i << 2)));\n }\n return out;\n }\n\n static fromCodePoint(code: i32): String {\n let hasSur = code > 0xFFFF;\n let out = changetype(__new(2 << i32(hasSur), idof()));\n if (!hasSur) {\n store(changetype(out), code);\n } else {\n // Checks valid code point range\n assert(code <= 0x10FFFF);\n code -= 0x10000;\n let hi = (code & 0x03FF) | 0xDC00;\n let lo = code >>> 10 | 0xD800;\n store(changetype(out), lo | hi << 16);\n }\n return out;\n }\n\n @builtin static raw(parts: TemplateStringsArray, ...args: unknown[]): string { return unreachable(); }\n\n get length(): i32 {\n return changetype(changetype(this) - TOTAL_OVERHEAD).rtSize >> 1;\n }\n\n at(pos: i32): String {\n let len = this.length;\n pos += select(0, len, pos >= 0);\n if (pos >= len) throw new RangeError(E_INDEXOUTOFRANGE);\n let out = __new(2, idof());\n store(out, load(changetype(this) + (pos << 1)));\n return changetype(out); // retains\n }\n\n @operator(\"[]\") charAt(pos: i32): String {\n if (pos >= this.length) return changetype(\"\");\n let out = changetype(__new(2, idof()));\n store(changetype(out), load(changetype(this) + (pos << 1)));\n return out;\n }\n\n charCodeAt(pos: i32): i32 {\n if (pos >= this.length) return -1; // (NaN)\n return load(changetype(this) + (pos << 1));\n }\n\n codePointAt(pos: i32): i32 {\n let len = this.length;\n if (pos >= len) return -1; // (undefined)\n let first = load(changetype(this) + (pos << 1));\n if ((first & 0xFC00) != 0xD800 || pos + 1 == len) return first;\n let second = load(changetype(this) + (pos << 1), 2);\n if ((second & 0xFC00) != 0xDC00) return first;\n return (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n }\n\n @operator(\"+\") private static __concat(left: String, right: String): String {\n return left.concat(right);\n }\n\n concat(other: String): String {\n let thisSize: isize = this.length << 1;\n let otherSize: isize = other.length << 1;\n let outSize: usize = thisSize + otherSize;\n if (outSize == 0) return changetype(\"\");\n let out = changetype(__new(outSize, idof()));\n memory.copy(changetype(out), changetype(this), thisSize);\n memory.copy(changetype(out) + thisSize, changetype(other), otherSize);\n return out;\n }\n\n endsWith(search: String, end: i32 = String.MAX_LENGTH): bool {\n end = min(max(end, 0), this.length);\n let searchLength = search.length;\n let searchStart = end - searchLength;\n if (searchStart < 0) return false;\n // @ts-ignore: string <-> String\n return !compareImpl(this, searchStart, search, 0, searchLength);\n }\n\n @operator(\"==\") private static __eq(left: String | null, right: String | null): bool {\n if (changetype(left) == changetype(right)) return true;\n if (changetype(left) == 0 || changetype(right) == 0) return false;\n let leftLength = changetype(left).length;\n if (leftLength != changetype(right).length) return false;\n // @ts-ignore: string <-> String\n return !compareImpl(left, 0, right, 0, leftLength);\n }\n\n @operator.prefix(\"!\")\n private static __not(str: String | null): bool {\n return changetype(str) == 0 || !changetype(str).length;\n }\n\n @operator(\"!=\")\n private static __ne(left: String | null, right: String | null): bool {\n return !this.__eq(left, right);\n }\n\n @operator(\">\") private static __gt(left: String, right: String): bool {\n if (changetype(left) == changetype(right)) return false;\n let leftLength = left.length;\n if (!leftLength) return false;\n let rightLength = right.length;\n if (!rightLength) return true;\n // @ts-ignore: string <-> String\n let res = compareImpl(left, 0, right, 0, min(leftLength, rightLength));\n return res ? res > 0 : leftLength > rightLength;\n }\n\n @operator(\">=\") private static __gte(left: String, right: String): bool {\n return !this.__lt(left, right);\n }\n\n @operator(\"<\") private static __lt(left: String, right: String): bool {\n if (changetype(left) == changetype(right)) return false;\n let rightLength = right.length;\n if (!rightLength) return false;\n let leftLength = left.length;\n if (!leftLength) return true;\n // @ts-ignore: string <-> String\n let res = compareImpl(left, 0, right, 0, min(leftLength, rightLength));\n return res ? res < 0 : leftLength < rightLength;\n }\n\n @operator(\"<=\") private static __lte(left: String, right: String): bool {\n return !this.__gt(left, right);\n }\n\n includes(search: String, start: i32 = 0): bool {\n return this.indexOf(search, start) != -1;\n }\n\n indexOf(search: String, start: i32 = 0): i32 {\n let searchLen = search.length;\n if (!searchLen) return 0;\n let len = this.length;\n if (!len) return -1;\n let searchStart = min(max(start, 0), len);\n for (len -= searchLen; searchStart <= len; ++searchStart) {\n // @ts-ignore: string <-> String\n if (!compareImpl(this, searchStart, search, 0, searchLen)) return searchStart;\n }\n return -1;\n }\n\n lastIndexOf(search: String, start: i32 = i32.MAX_VALUE): i32 {\n let searchLen = search.length;\n if (!searchLen) return this.length;\n let len = this.length;\n if (!len) return -1;\n let searchStart = min(max(start, 0), len - searchLen);\n for (; searchStart >= 0; --searchStart) {\n // @ts-ignore: string <-> String\n if (!compareImpl(this, searchStart, search, 0, searchLen)) return searchStart;\n }\n return -1;\n }\n\n // TODO: implement full locale comparison with locales and Collator options\n localeCompare(other: String): i32 {\n if (changetype(other) == changetype(this)) return 0;\n let alen = this.length;\n let blen = other.length;\n // @ts-ignore: string <-> String\n let res = compareImpl(this, 0, other, 0, min(alen, blen));\n res = res ? res : alen - blen;\n // normalize to [-1, 1] range\n return i32(res > 0) - i32(res < 0);\n }\n\n startsWith(search: String, start: i32 = 0): bool {\n let len = this.length;\n let searchStart = min(max(start, 0), len);\n let searchLength = search.length;\n if (searchLength + searchStart > len) return false;\n // @ts-ignore: string <-> String\n return !compareImpl(this, searchStart, search, 0, searchLength);\n }\n\n substr(start: i32, length: i32 = i32.MAX_VALUE): String { // legacy\n let intStart: isize = start;\n let end: isize = length;\n let len: isize = this.length;\n if (intStart < 0) intStart = max(len + intStart, 0);\n let size = min(max(end, 0), len - intStart) << 1;\n if (size <= 0) return changetype(\"\");\n let out = changetype(__new(size, idof()));\n memory.copy(changetype(out), changetype(this) + (intStart << 1), size);\n return out;\n }\n\n substring(start: i32, end: i32 = i32.MAX_VALUE): String {\n let len: isize = this.length;\n let finalStart = min(max(start, 0), len);\n let finalEnd = min(max(end, 0), len);\n let fromPos = min(finalStart, finalEnd) << 1;\n let toPos = max(finalStart, finalEnd) << 1;\n let size = toPos - fromPos;\n if (!size) return changetype(\"\");\n if (!fromPos && toPos == len << 1) return this;\n let out = changetype(__new(size, idof()));\n memory.copy(changetype(out), changetype(this) + fromPos, size);\n return out;\n }\n\n trim(): String {\n let len = this.length;\n let size: usize = len << 1;\n while (size && isSpace(load(changetype(this) + size - 2))) {\n size -= 2;\n }\n let offset: usize = 0;\n while (offset < size && isSpace(load(changetype(this) + offset))) {\n offset += 2; size -= 2;\n }\n if (!size) return changetype(\"\");\n if (!offset && size == len << 1) return this;\n let out = changetype(__new(size, idof()));\n memory.copy(changetype(out), changetype(this) + offset, size);\n return out;\n }\n\n @inline\n trimLeft(): String {\n return this.trimStart();\n }\n\n @inline\n trimRight(): String {\n return this.trimEnd();\n }\n\n trimStart(): String {\n let size = this.length << 1;\n let offset: usize = 0;\n while (offset < size && isSpace(load(changetype(this) + offset))) {\n offset += 2;\n }\n if (!offset) return this;\n size -= offset;\n if (!size) return changetype(\"\");\n let out = changetype(__new(size, idof()));\n memory.copy(changetype(out), changetype(this) + offset, size);\n return out;\n }\n\n trimEnd(): String {\n let originalSize = this.length << 1;\n let size = originalSize;\n while (size && isSpace(load(changetype(this) + size - 2))) {\n size -= 2;\n }\n if (!size) return changetype(\"\");\n if (size == originalSize) return this;\n let out = changetype(__new(size, idof()));\n memory.copy(changetype(out), changetype(this), size);\n return out;\n }\n\n padStart(length: i32, pad: string = \" \"): String {\n let thisSize = this.length << 1;\n let targetSize = length << 1;\n let padSize = pad.length << 1;\n if (targetSize < thisSize || !padSize) return this;\n let prependSize = targetSize - thisSize;\n let out = changetype(__new(targetSize, idof()));\n if (prependSize > padSize) {\n let repeatCount = (prependSize - 2) / padSize;\n let restBase = repeatCount * padSize;\n let restSize = prependSize - restBase;\n memory.repeat(changetype(out), changetype(pad), padSize, repeatCount);\n memory.copy(changetype(out) + restBase, changetype(pad), restSize);\n } else {\n memory.copy(changetype(out), changetype(pad), prependSize);\n }\n memory.copy(changetype(out) + prependSize, changetype(this), thisSize);\n return out;\n }\n\n padEnd(length: i32, pad: string = \" \"): String {\n let thisSize = this.length << 1;\n let targetSize = length << 1;\n let padSize = pad.length << 1;\n if (targetSize < thisSize || !padSize) return this;\n let appendSize = targetSize - thisSize;\n let out = changetype(__new(targetSize, idof()));\n memory.copy(changetype(out), changetype(this), thisSize);\n if (appendSize > padSize) {\n let repeatCount = (appendSize - 2) / padSize;\n let restBase = repeatCount * padSize;\n let restSize = appendSize - restBase;\n memory.repeat(changetype(out) + thisSize, changetype(pad), padSize, repeatCount);\n memory.copy(changetype(out) + thisSize + restBase, changetype(pad), restSize);\n } else {\n memory.copy(changetype(out) + thisSize, changetype(pad), appendSize);\n }\n return out;\n }\n\n repeat(count: i32 = 0): String {\n let length = this.length;\n\n // Most browsers can't handle strings 1 << 28 chars or longer\n if (count < 0 || length * count > (1 << 28)) {\n throw new RangeError(E_INVALIDLENGTH);\n }\n\n if (count == 0 || !length) return changetype(\"\");\n if (count == 1) return this;\n let out = changetype(__new((length * count) << 1, idof()));\n memory.repeat(changetype(out), changetype(this), length << 1, count);\n return out;\n }\n\n replace(search: String, replacement: String): String {\n let len: usize = this.length;\n let slen: usize = search.length;\n if (len <= slen) {\n return len < slen ? this : select(replacement, this, search == this);\n }\n let index: isize = this.indexOf(search);\n if (~index) {\n let rlen: usize = replacement.length;\n len -= slen;\n let olen = len + rlen;\n if (olen) {\n let out = changetype(__new(olen << 1, idof()));\n memory.copy(changetype(out), changetype(this), index << 1);\n memory.copy(\n changetype(out) + (index << 1),\n changetype(replacement),\n rlen << 1\n );\n memory.copy(\n changetype(out) + ((index + rlen) << 1),\n changetype(this) + ((index + slen) << 1),\n (len - index) << 1\n );\n return out;\n }\n }\n return this;\n }\n\n replaceAll(search: String, replacement: String): String {\n let thisLen: usize = this.length;\n let searchLen: usize = search.length;\n if (thisLen <= searchLen) {\n return thisLen < searchLen\n ? this\n : select(replacement, this, search == this);\n }\n let replaceLen: usize = replacement.length;\n if (!searchLen) {\n if (!replaceLen) return this;\n // Special case: 'abc'.replaceAll('', '-') -> '-a-b-c-'\n let out = changetype(__new((thisLen + (thisLen + 1) * replaceLen) << 1, idof()));\n memory.copy(changetype(out), changetype(replacement), replaceLen << 1);\n let offset = replaceLen;\n for (let i: usize = 0; i < thisLen; ++i) {\n store(\n changetype(out) + (offset++ << 1),\n load(changetype(this) + (i << 1))\n );\n memory.copy(\n changetype(out) + (offset << 1),\n changetype(replacement),\n replaceLen << 1\n );\n offset += replaceLen;\n }\n return out;\n }\n let prev: isize = 0, next: isize = 0;\n if (searchLen == replaceLen) {\n // Fast path when search and replacement have same length\n let outSize = thisLen << 1;\n let out = changetype(__new(outSize, idof()));\n memory.copy(changetype(out), changetype(this), outSize);\n while (~(next = this.indexOf(search, prev))) {\n memory.copy(changetype(out) + (next << 1), changetype(replacement), replaceLen << 1);\n prev = next + searchLen;\n }\n return out;\n }\n let out: String | null = null, offset: usize = 0, outSize = thisLen;\n while (~(next = this.indexOf(search, prev))) {\n if (!out) out = changetype(__new(thisLen << 1, idof()));\n let chunk = next - prev;\n if (offset + chunk + replaceLen > outSize) {\n outSize <<= 1;\n out = changetype(__renew(changetype(out), outSize << 1));\n }\n memory.copy(\n changetype(out) + (offset << 1),\n changetype(this) + (prev << 1),\n chunk << 1\n );\n offset += chunk;\n memory.copy(\n changetype(out) + (offset << 1),\n changetype(replacement),\n replaceLen << 1\n );\n offset += replaceLen;\n prev = next + searchLen;\n }\n if (out) {\n let rest = thisLen - prev;\n if (offset + rest > outSize) {\n outSize <<= 1;\n out = changetype(__renew(changetype(out), outSize << 1));\n }\n if (rest) {\n memory.copy(\n changetype(out) + (offset << 1),\n changetype(this) + (prev << 1),\n rest << 1\n );\n }\n rest += offset;\n if (outSize > rest) {\n out = changetype(__renew(changetype(out), rest << 1));\n }\n return out;\n }\n return this;\n }\n\n slice(start: i32, end: i32 = i32.MAX_VALUE): String {\n let len = this.length;\n start = start < 0 ? max(start + len, 0) : min(start, len);\n end = end < 0 ? max(end + len, 0) : min(end, len);\n len = end - start;\n if (len <= 0) return changetype(\"\");\n let out = changetype(__new(len << 1, idof()));\n memory.copy(changetype(out), changetype(this) + (start << 1), len << 1);\n return out;\n }\n\n split(separator: String | null = null, limit: i32 = i32.MAX_VALUE): String[] {\n if (!limit) return changetype(__newArray(0, alignof(), idof>()));\n if (changetype(separator) == 0) return [ this ];\n let length: isize = this.length;\n let sepLen = changetype(separator).length;\n if (limit < 0) limit = i32.MAX_VALUE;\n if (!sepLen) {\n if (!length) return changetype(__newArray(0, alignof(), idof>()));\n // split by chars\n length = min(length, limit);\n let result = changetype(__newArray(length, alignof(), idof>()));\n // @ts-ignore: cast\n let resultStart = result.dataStart as usize;\n for (let i: isize = 0; i < length; ++i) {\n let charStr = changetype(__new(2, idof()));\n store(changetype(charStr), load(changetype(this) + (i << 1)));\n store(resultStart + (i << alignof()), changetype(charStr)); // result[i] = charStr\n __link(changetype(result), changetype(charStr), true);\n }\n return result;\n } else if (!length) {\n let result = changetype(__newArray(1, alignof(), idof>()));\n // @ts-ignore: cast\n store(result.dataStart as usize, changetype(\"\")); // static \"\"\n return result;\n }\n let result = changetype(__newArray(0, alignof(), idof>()));\n let end = 0, start = 0, i = 0;\n while (~(end = this.indexOf(changetype(separator), start))) {\n let len = end - start;\n if (len > 0) {\n let out = changetype(__new(len << 1, idof()));\n memory.copy(changetype(out), changetype(this) + (start << 1), len << 1);\n result.push(out);\n } else {\n result.push(changetype(\"\"));\n }\n if (++i == limit) return result;\n start = end + sepLen;\n }\n if (!start) { // also means: loop above didn't do anything\n result.push(this);\n return result;\n }\n let len = length - start;\n if (len > 0) {\n let out = changetype(__new(len << 1, idof()));\n memory.copy(changetype(out), changetype(this) + (start << 1), len << 1);\n result.push(out);\n } else {\n result.push(changetype(\"\")); // static \"\"\n }\n return result;\n }\n\n toLowerCase(): String {\n let len = this.length;\n if (!len) return this;\n let codes = changetype(__new(len * 2 * 2, idof()));\n let j: usize = 0;\n for (let i: usize = 0; i < len; ++i, ++j) {\n let c = load(changetype(this) + (i << 1));\n if (isAscii(c)) {\n store(changetype(codes) + (j << 1), toLower8(c));\n } else {\n // check and read surrogate pair\n if ((c - 0xD7FF < 0xDC00 - 0xD7FF) && i < len - 1) {\n let c1 = load(changetype(this) + (i << 1), 2);\n if (c1 - 0xDBFF < 0xE000 - 0xDBFF) {\n let c0 = c;\n c = (((c & 0x03FF) << 10) | (c1 & 0x03FF)) + 0x10000;\n ++i;\n if (c >= 0x20000) {\n store(changetype(codes) + (j << 1), c0 | (c1 << 16));\n ++j;\n continue;\n }\n }\n }\n // check special casing for lower table. It has one ently so instead lookup we just inline this.\n if (c == 0x0130) {\n // 0x0130 -> [0x0069, 0x0307]\n store(changetype(codes) + (j << 1), (0x0307 << 16) | 0x0069);\n ++j;\n } else if (c == 0x03A3) { // 'Σ'\n // Σ maps to σ but except at the end of a word where it maps to ς\n let sigma = 0x03C3; // σ\n if (len > 1 && isFinalSigma(changetype(this), i, len)) {\n sigma = 0x03C2; // ς\n }\n store(changetype(codes) + (j << 1), sigma);\n } else if (c - 0x24B6 <= 0x24CF - 0x24B6) {\n // Range 0x24B6 <= c <= 0x24CF not covered by casemap and require special early handling\n store(changetype(codes) + (j << 1), c + 26);\n } else {\n let code = casemap(c, 0) & 0x1FFFFF;\n if (code < 0x10000) {\n store(changetype(codes) + (j << 1), code);\n } else {\n // store as surrogare pair\n code -= 0x10000;\n let lo = (code >>> 10) | 0xD800;\n let hi = (code & 0x03FF) | 0xDC00;\n store(changetype(codes) + (j << 1), lo | (hi << 16));\n ++j;\n }\n }\n }\n }\n return changetype(__renew(changetype(codes), j << 1));\n }\n\n toUpperCase(): String {\n let len = this.length;\n if (!len) return this;\n let codes = changetype(__new(len * 3 * 2, idof()));\n let specialsPtr = changetype(SPECIALS_UPPER);\n let specialsLen = SPECIALS_UPPER.length;\n let j: usize = 0;\n for (let i: usize = 0; i < len; ++i, ++j) {\n let c = load(changetype(this) + (i << 1));\n if (isAscii(c)) {\n store(changetype(codes) + (j << 1), toUpper8(c));\n } else {\n // check and read surrogate pair\n if ((c - 0xD7FF < 0xDC00 - 0xD7FF) && i < len - 1) {\n let c1 = load(changetype(this) + (i << 1), 2);\n if (c1 - 0xDBFF < 0xE000 - 0xDBFF) {\n let c0 = c;\n c = (((c & 0x03FF) << 10) | (c1 & 0x03FF)) + 0x10000;\n ++i;\n if (c >= 0x20000) {\n store(changetype(codes) + (j << 1), c0 | (c1 << 16));\n ++j;\n continue;\n }\n }\n }\n // Range 0x24D0 <= c <= 0x24E9 not covered by casemap and require special early handling\n if (c - 0x24D0 <= 0x24E9 - 0x24D0) {\n // monkey patch\n store(changetype(codes) + (j << 1), c - 26);\n } else {\n let index: usize = -1;\n // Fast range check. See first and last rows in specialsUpper table\n if (c - 0x00DF <= 0xFB17 - 0x00DF) {\n index = bsearch(c, specialsPtr, specialsLen);\n }\n if (~index) {\n // load next 3 code points from row with `index` offset for specialsUpper table\n let ab = load(specialsPtr + (index << 1), 2);\n let cc = load(specialsPtr + (index << 1), 6);\n store(changetype(codes) + (j << 1), ab, 0);\n store(changetype(codes) + (j << 1), cc, 4);\n j += 1 + usize(cc != 0);\n } else {\n let code = casemap(c, 1) & 0x1FFFFF;\n if (code < 0x10000) {\n store(changetype(codes) + (j << 1), code);\n } else {\n // store as surrogare pair\n code -= 0x10000;\n let lo = (code >>> 10) | 0xD800;\n let hi = (code & 0x03FF) | 0xDC00;\n store(changetype(codes) + (j << 1), lo | (hi << 16));\n ++j;\n }\n }\n }\n }\n }\n return changetype(__renew(changetype(codes), j << 1));\n }\n\n toString(): String {\n return this;\n }\n}\n\n// @ts-ignore: nolib\nexport type string = String;\n\nexport function parseInt(str: string, radix: i32 = 0): f64 {\n return strtol(str, radix);\n}\n\nexport function parseFloat(str: string): f64 {\n return strtod(str);\n}\n\n// Encoding helpers\nexport namespace String {\n\n export namespace UTF8 {\n\n export const enum ErrorMode {\n WTF8,\n REPLACE,\n ERROR\n }\n\n export function byteLength(str: string, nullTerminated: bool = false): i32 {\n let strOff = changetype(str);\n let strEnd = strOff + changetype(changetype(str) - TOTAL_OVERHEAD).rtSize;\n let bufLen = i32(nullTerminated);\n while (strOff < strEnd) {\n let c1 = load(strOff);\n if (c1 < 128) {\n // @ts-ignore: cast\n if (nullTerminated & !c1) break;\n bufLen += 1;\n } else if (c1 < 2048) {\n bufLen += 2;\n } else {\n if ((c1 & 0xFC00) == 0xD800 && strOff + 2 < strEnd) {\n if ((load(strOff, 2) & 0xFC00) == 0xDC00) {\n bufLen += 4; strOff += 4;\n continue;\n }\n }\n bufLen += 3;\n }\n strOff += 2;\n }\n return bufLen;\n }\n\n export function encode(str: string, nullTerminated: bool = false, errorMode: ErrorMode = ErrorMode.WTF8): ArrayBuffer {\n let buf = changetype(__new(byteLength(str, nullTerminated), idof()));\n encodeUnsafe(changetype(str), str.length, changetype(buf), nullTerminated, errorMode);\n return buf;\n }\n\n // @ts-ignore: decorator\n @unsafe\n export function encodeUnsafe(str: usize, len: i32, buf: usize, nullTerminated: bool = false, errorMode: ErrorMode = ErrorMode.WTF8): usize {\n let strEnd = str + (len << 1);\n let bufOff = buf;\n while (str < strEnd) {\n let c1 = load(str);\n if (c1 < 128) {\n store(bufOff, c1);\n bufOff++;\n // @ts-ignore: cast\n if (nullTerminated & !c1) return bufOff - buf;\n } else if (c1 < 2048) {\n let b0 = c1 >> 6 | 192;\n let b1 = c1 & 63 | 128;\n store(bufOff, b1 << 8 | b0);\n bufOff += 2;\n } else {\n // D800: 11011 0 0000000000 Lead\n // DBFF: 11011 0 1111111111\n // DC00: 11011 1 0000000000 Trail\n // DFFF: 11011 1 1111111111\n // F800: 11111 0 0000000000 Mask\n // FC00: 11111 1 0000000000\n if ((c1 & 0xF800) == 0xD800) {\n if (c1 < 0xDC00 && str + 2 < strEnd) {\n let c2 = load(str, 2);\n if ((c2 & 0xFC00) == 0xDC00) {\n c1 = 0x10000 + ((c1 & 0x03FF) << 10) | (c2 & 0x03FF);\n let b0 = c1 >> 18 | 240;\n let b1 = c1 >> 12 & 63 | 128;\n let b2 = c1 >> 6 & 63 | 128;\n let b3 = c1 & 63 | 128;\n store(bufOff, b3 << 24 | b2 << 16 | b1 << 8 | b0);\n bufOff += 4; str += 4;\n continue;\n }\n }\n if (errorMode != ErrorMode.WTF8) { // unlikely\n if (errorMode == ErrorMode.ERROR) throw new Error(E_UNPAIRED_SURROGATE);\n c1 = 0xFFFD;\n }\n }\n let b0 = c1 >> 12 | 224;\n let b1 = c1 >> 6 & 63 | 128;\n let b2 = c1 & 63 | 128;\n store(bufOff, b1 << 8 | b0);\n store(bufOff, b2, 2);\n bufOff += 3;\n }\n str += 2;\n }\n if (nullTerminated) {\n store(bufOff++, 0);\n }\n return bufOff - buf;\n }\n\n export function decode(buf: ArrayBuffer, nullTerminated: bool = false): String {\n return decodeUnsafe(changetype(buf), buf.byteLength, nullTerminated);\n }\n\n // @ts-ignore: decorator\n @unsafe\n export function decodeUnsafe(buf: usize, len: usize, nullTerminated: bool = false): String {\n let bufOff = buf;\n let bufEnd = buf + len;\n assert(bufEnd >= bufOff); // guard wraparound\n let str = changetype(__new(len << 1, idof())); // max is one u16 char per u8 byte\n let strOff = changetype(str);\n while (bufOff < bufEnd) {\n let u0 = load(bufOff); ++bufOff;\n if (!(u0 & 128)) {\n // @ts-ignore: cast\n if (nullTerminated & !u0) break;\n store(strOff, u0);\n } else {\n if (bufEnd == bufOff) break;\n let u1 = load(bufOff) & 63; ++bufOff;\n if ((u0 & 224) == 192) {\n store(strOff, (u0 & 31) << 6 | u1);\n } else {\n if (bufEnd == bufOff) break;\n let u2 = load(bufOff) & 63; ++bufOff;\n if ((u0 & 240) == 224) {\n u0 = (u0 & 15) << 12 | u1 << 6 | u2;\n } else {\n if (bufEnd == bufOff) break;\n u0 = (u0 & 7) << 18 | u1 << 12 | u2 << 6 | load(bufOff) & 63;\n ++bufOff;\n }\n if (u0 < 0x10000) {\n store(strOff, u0);\n } else {\n u0 -= 0x10000;\n let lo = u0 >> 10 | 0xD800;\n let hi = (u0 & 0x03FF) | 0xDC00;\n store(strOff, lo | (hi << 16));\n strOff += 2;\n }\n }\n }\n strOff += 2;\n }\n return changetype(__renew(changetype(str), strOff - changetype(str)));\n }\n }\n\n export namespace UTF16 {\n\n export function byteLength(str: string): i32 {\n return changetype(changetype(str) - TOTAL_OVERHEAD).rtSize;\n }\n\n export function encode(str: string): ArrayBuffer {\n let buf = changetype(__new(byteLength(str), idof()));\n encodeUnsafe(changetype(str), str.length, changetype(buf));\n return buf;\n }\n\n // @ts-ignore: decorator\n @unsafe\n export function encodeUnsafe(str: usize, len: i32, buf: usize): usize {\n let size = len << 1;\n memory.copy(buf, changetype(str), size);\n return size;\n }\n\n export function decode(buf: ArrayBuffer): String {\n return decodeUnsafe(changetype(buf), buf.byteLength);\n }\n\n // @ts-ignore: decorator\n @unsafe\n export function decodeUnsafe(buf: usize, len: usize): String {\n let str = changetype(__new(len &= ~1, idof()));\n memory.copy(changetype(str), buf, len);\n return str;\n }\n }\n}\n\nexport class TemplateStringsArray extends Array {\n readonly raw: string[];\n}\n","import { AL_MASK, OBJECT, OBJECT_OVERHEAD, BLOCK_MAXSIZE, BLOCK_OVERHEAD, BLOCK, OBJECT_MAXSIZE } from \"./common\";\nimport { E_ALLOCATION_TOO_LARGE } from \"../util/error\";\n\n// === A minimal runtime stub ===\n\n// @ts-ignore: decorator\n@lazy let startOffset: usize = ((__heap_base + BLOCK_OVERHEAD + AL_MASK) & ~AL_MASK) - BLOCK_OVERHEAD;\n// @ts-ignore: decorator\n@lazy let offset: usize = startOffset;\n\nfunction maybeGrowMemory(newOffset: usize): void {\n // assumes newOffset is aligned\n let pagesBefore = memory.size();\n let maxOffset = ((pagesBefore << 16) + AL_MASK) & ~AL_MASK;\n if (newOffset > maxOffset) {\n let pagesNeeded = (((newOffset - maxOffset + 0xffff) & ~0xffff) >>> 16);\n let pagesWanted = max(pagesBefore, pagesNeeded); // double memory\n if (memory.grow(pagesWanted) < 0) {\n if (memory.grow(pagesNeeded) < 0) unreachable(); // out of memory\n }\n }\n offset = newOffset;\n}\n\n// @ts-ignore: decorator\n@inline function computeSize(size: usize): usize {\n return ((size + BLOCK_OVERHEAD + AL_MASK) & ~AL_MASK) - BLOCK_OVERHEAD;\n}\n\n// @ts-ignore: decorator\n@unsafe @global\nexport function __alloc(size: usize): usize {\n if (size > BLOCK_MAXSIZE) throw new Error(E_ALLOCATION_TOO_LARGE);\n let block = changetype(offset);\n let ptr = offset + BLOCK_OVERHEAD;\n let payloadSize = computeSize(size);\n maybeGrowMemory(ptr + payloadSize);\n block.mmInfo = payloadSize;\n return ptr;\n}\n\n// @ts-ignore: decorator\n@unsafe @global\nexport function __realloc(ptr: usize, size: usize): usize {\n assert(ptr != 0 && !(ptr & AL_MASK)); // must exist and be aligned\n let block = changetype(ptr - BLOCK_OVERHEAD);\n let actualSize = block.mmInfo;\n let isLast = ptr + actualSize == offset;\n let payloadSize = computeSize(size);\n if (size > actualSize) {\n if (isLast) { // last block: grow\n if (size > BLOCK_MAXSIZE) throw new Error(E_ALLOCATION_TOO_LARGE);\n maybeGrowMemory(ptr + payloadSize);\n block.mmInfo = payloadSize;\n } else { // copy to new block at least double the size\n let newPtr = __alloc(max(payloadSize, actualSize << 1));\n memory.copy(newPtr, ptr, actualSize);\n block = changetype((ptr = newPtr) - BLOCK_OVERHEAD);\n }\n } else if (isLast) { // last block: shrink\n offset = ptr + payloadSize;\n block.mmInfo = payloadSize;\n }\n return ptr;\n}\n\n// @ts-ignore: decorator\n@unsafe @global\nexport function __free(ptr: usize): void {\n assert(ptr != 0 && !(ptr & AL_MASK)); // must exist and be aligned\n let block = changetype(ptr - BLOCK_OVERHEAD);\n if (ptr + block.mmInfo == offset) { // last block: discard\n offset = changetype(block);\n }\n}\n\n// @ts-ignore: decorator\n@unsafe @global\nexport function __reset(): void { // special\n offset = startOffset;\n}\n\n// @ts-ignore: decorator\n@unsafe @global\nexport function __new(size: usize, id: u32): usize {\n if (size > OBJECT_MAXSIZE) throw new Error(E_ALLOCATION_TOO_LARGE);\n let ptr = __alloc(OBJECT_OVERHEAD + size);\n let object = changetype(ptr - BLOCK_OVERHEAD);\n object.gcInfo = 0;\n object.gcInfo2 = 0;\n object.rtId = id;\n object.rtSize = size;\n return ptr + OBJECT_OVERHEAD;\n}\n\n// @ts-ignore: decorator\n@unsafe @global\nexport function __renew(oldPtr: usize, size: usize): usize {\n if (size > OBJECT_MAXSIZE) throw new Error(E_ALLOCATION_TOO_LARGE);\n let newPtr = __realloc(oldPtr - OBJECT_OVERHEAD, OBJECT_OVERHEAD + size);\n changetype(newPtr - BLOCK_OVERHEAD).rtSize = size;\n return newPtr + OBJECT_OVERHEAD;\n}\n\n// @ts-ignore: decorator\n@global @unsafe\nexport function __link(parentPtr: usize, childPtr: usize, expectMultiple: bool): void {\n // nop\n}\n\n// @ts-ignore: decorator\n@global @unsafe\nexport function __pin(ptr: usize): usize {\n return ptr;\n}\n\n// @ts-ignore: decorator\n@global @unsafe\nexport function __unpin(ptr: usize): void {\n // nop\n}\n\n// @ts-ignore: decorator\n@global @unsafe\nfunction __visit(ptr: usize, cookie: u32): void { // eslint-disable-line @typescript-eslint/no-unused-vars\n // nop\n}\n\n// @ts-ignore: decorator\n@global @unsafe\nexport function __collect(): void {\n // nop\n}\n","// Common error messages for use across the standard library. Keeping error messages compact\n// and reusing them where possible ensures minimal static data in binaries.\n\n// @ts-ignore: decorator\n@lazy @inline\nexport const E_INDEXOUTOFRANGE: string = \"Index out of range\";\n\n// @ts-ignore: decorator\n@lazy @inline\nexport const E_VALUEOUTOFRANGE: string = \"Value out of range\";\n\n// @ts-ignore: decorator\n@lazy @inline\nexport const E_INVALIDLENGTH: string = \"Invalid length\";\n\n// @ts-ignore: decorator\n@lazy @inline\nexport const E_EMPTYARRAY: string = \"Array is empty\";\n\n// @ts-ignore: decorator\n@lazy @inline\nexport const E_HOLEYARRAY: string = \"Element type must be nullable if array is holey\";\n\n// @ts-ignore: decorator\n@lazy @inline\nexport const E_NOTIMPLEMENTED: string = \"Not implemented\";\n\n// @ts-ignore: decorator\n@lazy @inline\nexport const E_KEYNOTFOUND: string = \"Key does not exist\";\n\n// @ts-ignore: decorator\n@lazy @inline\nexport const E_ALLOCATION_TOO_LARGE: string = \"Allocation too large\";\n\n// @ts-ignore: decorator\n@lazy @inline\nexport const E_ALREADY_PINNED: string = \"Object already pinned\";\n\n// @ts-ignore: decorator\n@lazy @inline\nexport const E_NOT_PINNED: string = \"Object is not pinned\";\n\n// @ts-ignore: decorator\n@lazy @inline\nexport const E_URI_MALFORMED: string = \"URI malformed\";\n\n// @ts-ignore: decorator\n@lazy @inline\nexport const E_INVALIDDATE: string = \"Invalid Date\";\n\n// @ts-ignore: decorator\n@lazy @inline\nexport const E_UNPAIRED_SURROGATE: string = \"Unpaired surrogate\";\n","import { itoa32, utoa32, itoa64, utoa64, dtoa } from \"./util/number\";\nimport { strtol, strtod } from \"./util/string\";\n\n// @ts-ignore: decorator\n@builtin @inline\nexport const NaN: f64 = 0 / 0; // context-aware\n\n// @ts-ignore: decorator\n@builtin @inline\nexport const Infinity: f64 = 1 / 0; // context-aware\n\n// @ts-ignore: decorator\n@builtin\nexport declare function isNaN(value: T): bool;\n\n// @ts-ignore: decorator\n@builtin\nexport declare function isFinite(value: T): bool;\n\n@final @unmanaged\nexport abstract class I8 {\n\n // @ts-ignore: decorator\n @lazy\n static readonly MIN_VALUE: i8 = i8.MIN_VALUE;\n\n // @ts-ignore: decorator\n @lazy\n static readonly MAX_VALUE: i8 = i8.MAX_VALUE;\n\n /** @deprecated */\n static parseInt(value: string, radix: i32 = 0): i8 {\n return strtol(value, radix);\n }\n\n toString(this: i8, radix: i32 = 10): String {\n return itoa32(this, radix);\n }\n}\n\n@final @unmanaged\nexport abstract class I16 {\n\n // @ts-ignore: decorator\n @lazy\n static readonly MIN_VALUE: i16 = i16.MIN_VALUE;\n\n // @ts-ignore: decorator\n @lazy\n static readonly MAX_VALUE: i16 = i16.MAX_VALUE;\n\n /** @deprecated */\n static parseInt(value: string, radix: i32 = 0): i16 {\n return strtol(value, radix);\n }\n\n toString(this: i16, radix: i32 = 10): String {\n return itoa32(this, radix);\n }\n}\n\n@final @unmanaged\nexport abstract class I32 {\n\n // @ts-ignore: decorator\n @lazy\n static readonly MIN_VALUE: i32 = i32.MIN_VALUE;\n\n // @ts-ignore: decorator\n @lazy\n static readonly MAX_VALUE: i32 = i32.MAX_VALUE;\n\n /** @deprecated */\n static parseInt(value: string, radix: i32 = 0): i32 {\n return strtol(value, radix);\n }\n\n toString(this: i32, radix: i32 = 10): String {\n return itoa32(this, radix);\n }\n}\n\n@final @unmanaged\nexport abstract class I64 {\n\n // @ts-ignore: decorator\n @lazy\n static readonly MIN_VALUE: i64 = i64.MIN_VALUE;\n\n // @ts-ignore: decorator\n @lazy\n static readonly MAX_VALUE: i64 = i64.MAX_VALUE;\n\n /** @deprecated */\n static parseInt(value: string, radix: i32 = 0): i64 {\n return strtol(value, radix);\n }\n\n toString(this: i64, radix: i32 = 10): String {\n return itoa64(this, radix);\n }\n}\n\n@final @unmanaged\nexport abstract class Isize {\n\n // @ts-ignore: decorator\n @lazy\n static readonly MIN_VALUE: isize = isize.MIN_VALUE;\n\n // @ts-ignore: decorator\n @lazy\n static readonly MAX_VALUE: isize = isize.MAX_VALUE;\n\n /** @deprecated */\n static parseInt(value: string, radix: i32 = 0): isize {\n return strtol(value, radix);\n }\n\n toString(this: isize, radix: i32 = 10): String {\n if (sizeof() == 4) {\n return itoa32(this, radix);\n } else {\n return itoa64(this, radix);\n }\n }\n}\n\n@final @unmanaged\nexport abstract class U8 {\n\n // @ts-ignore: decorator\n @lazy\n static readonly MIN_VALUE: u8 = u8.MIN_VALUE;\n\n // @ts-ignore: decorator\n @lazy\n static readonly MAX_VALUE: u8 = u8.MAX_VALUE;\n\n /** @deprecated */\n static parseInt(value: string, radix: i32 = 0): u8 {\n return strtol(value, radix);\n }\n\n toString(this: u8, radix: i32 = 10): String {\n return utoa32(this, radix);\n }\n}\n\n@final @unmanaged\nexport abstract class U16 {\n\n // @ts-ignore: decorator\n @lazy\n static readonly MIN_VALUE: u16 = u16.MIN_VALUE;\n\n // @ts-ignore: decorator\n @lazy\n static readonly MAX_VALUE: u16 = u16.MAX_VALUE;\n\n /** @deprecated */\n static parseInt(value: string, radix: i32 = 0): u16 {\n return strtol(value, radix);\n }\n\n toString(this: u16, radix: i32 = 10): String {\n return utoa32(this, radix);\n }\n}\n\n@final @unmanaged\nexport abstract class U32 {\n\n // @ts-ignore: decorator\n @lazy\n static readonly MIN_VALUE: u32 = u32.MIN_VALUE;\n\n // @ts-ignore: decorator\n @lazy\n static readonly MAX_VALUE: u32 = u32.MAX_VALUE;\n\n /** @deprecated */\n static parseInt(value: string, radix: i32 = 0): u32 {\n return strtol(value, radix);\n }\n\n toString(this: u32, radix: i32 = 10): String {\n return utoa32(this, radix);\n }\n}\n\n@final @unmanaged\nexport abstract class U64 {\n\n // @ts-ignore: decorator\n @lazy\n static readonly MIN_VALUE: u64 = u64.MIN_VALUE;\n\n // @ts-ignore: decorator\n @lazy\n static readonly MAX_VALUE: u64 = u64.MAX_VALUE;\n\n /** @deprecated */\n static parseInt(value: string, radix: i32 = 0): u64 {\n return strtol(value, radix);\n }\n\n toString(this: u64, radix: i32 = 10): String {\n return utoa64(this, radix);\n }\n}\n\n@final @unmanaged\nexport abstract class Usize {\n\n // @ts-ignore: decorator\n @lazy\n static readonly MIN_VALUE: usize = usize.MIN_VALUE;\n\n // @ts-ignore: decorator\n @lazy\n static readonly MAX_VALUE: usize = usize.MAX_VALUE;\n\n /** @deprecated */\n static parseInt(value: string, radix: i32 = 0): usize {\n return strtol(value, radix);\n }\n\n toString(this: usize, radix: i32 = 10): String {\n if (sizeof() == 4) {\n return utoa32(this, radix);\n } else {\n return utoa64(this, radix);\n }\n }\n}\n\n@final @unmanaged\nexport abstract class Bool {\n\n // @ts-ignore: decorator\n @lazy\n static readonly MIN_VALUE: bool = bool.MIN_VALUE;\n\n // @ts-ignore: decorator\n @lazy\n static readonly MAX_VALUE: bool = bool.MAX_VALUE;\n\n toString(this: bool, radix: i32 = 0): String {\n return this ? \"true\" : \"false\";\n }\n}\n\nexport { Bool as Boolean };\n\n@final @unmanaged\nexport abstract class F32 {\n\n // @ts-ignore: decorator\n @lazy\n static readonly EPSILON: f32 = f32.EPSILON;\n\n // @ts-ignore: decorator\n @lazy\n static readonly MIN_VALUE: f32 = f32.MIN_VALUE;\n\n // @ts-ignore: decorator\n @lazy\n static readonly MAX_VALUE: f32 = f32.MAX_VALUE;\n\n // @ts-ignore: decorator\n @lazy\n static readonly MIN_SAFE_INTEGER: f32 = f32.MIN_SAFE_INTEGER;\n\n // @ts-ignore: decorator\n @lazy\n static readonly MAX_SAFE_INTEGER: f32 = f32.MAX_SAFE_INTEGER;\n\n // @ts-ignore: decorator\n @lazy\n static readonly POSITIVE_INFINITY: f32 = f32.POSITIVE_INFINITY;\n\n // @ts-ignore: decorator\n @lazy\n static readonly NEGATIVE_INFINITY: f32 = f32.NEGATIVE_INFINITY;\n\n // @ts-ignore: decorator\n @lazy\n static readonly NaN: f32 = f32.NaN;\n\n static isNaN(value: f32): bool {\n return isNaN(value);\n }\n\n static isFinite(value: f32): bool {\n return isFinite(value);\n }\n\n static isSafeInteger(value: f32): bool {\n return abs(value) <= f32.MAX_SAFE_INTEGER && trunc(value) == value;\n }\n\n static isInteger(value: f32): bool {\n return isFinite(value) && trunc(value) == value;\n }\n\n /** @deprecated */\n static parseInt(value: string, radix: i32 = 0): f32 {\n return strtol(value, radix);\n }\n\n /** @deprecated */\n static parseFloat(value: string): f32 {\n return strtod(value);\n }\n\n toString(this: f32, radix: i32 = 0): String {\n return dtoa(this);\n }\n}\n\n@final @unmanaged\nexport abstract class F64 {\n\n // @ts-ignore: decorator\n @lazy\n static readonly EPSILON: f64 = f64.EPSILON;\n\n // @ts-ignore: decorator\n @lazy\n static readonly MIN_VALUE: f64 = f64.MIN_VALUE;\n\n // @ts-ignore: decorator\n @lazy\n static readonly MAX_VALUE: f64 = f64.MAX_VALUE;\n\n // @ts-ignore: decorator\n @lazy\n static readonly MIN_SAFE_INTEGER: f64 = f64.MIN_SAFE_INTEGER;\n\n // @ts-ignore: decorator\n @lazy\n static readonly MAX_SAFE_INTEGER: f64 = f64.MAX_SAFE_INTEGER;\n\n // @ts-ignore: decorator\n @lazy\n static readonly POSITIVE_INFINITY: f64 = f64.POSITIVE_INFINITY;\n\n // @ts-ignore: decorator\n @lazy\n static readonly NEGATIVE_INFINITY: f64 = f64.NEGATIVE_INFINITY;\n\n // @ts-ignore: decorator\n @lazy\n static readonly NaN: f64 = f64.NaN;\n\n static isNaN(value: f64): bool {\n return isNaN(value);\n }\n\n static isFinite(value: f64): bool {\n return isFinite(value);\n }\n\n static isSafeInteger(value: f64): bool {\n return abs(value) <= f64.MAX_SAFE_INTEGER && trunc(value) == value;\n }\n\n static isInteger(value: f64): bool {\n return isFinite(value) && trunc(value) == value;\n }\n\n /** @deprecated */\n static parseInt(value: string, radix: i32 = 0): f64 {\n return strtol(value, radix);\n }\n\n /** @deprecated */\n static parseFloat(value: string): f64 {\n return strtod(value);\n }\n\n toString(this: f64, radix: i32 = 0): String {\n return dtoa(this);\n }\n}\n\nexport { F64 as Number };\n","import { memcmp, memmove, memset } from \"./util/memory\";\nimport { E_NOTIMPLEMENTED } from \"./util/error\";\n\n/** Memory manager interface. */\nexport namespace memory {\n\n /** Gets the size of the memory in pages. */\n // @ts-ignore: decorator\n @builtin\n export declare function size(): i32;\n\n /** Grows the memory by the given size in pages and returns the previous size in pages. */\n // @ts-ignore: decorator\n @unsafe @builtin\n export declare function grow(pages: i32): i32;\n\n /** Fills a section in memory with the specified byte value. */\n // @ts-ignore: decorator\n @unsafe @builtin\n export function fill(dst: usize, c: u8, n: usize): void {\n memset(dst, c, n); // fallback if \"bulk-memory\" isn't enabled\n }\n\n /** Copies a section of memory to another. Has move semantics. */\n // @ts-ignore: decorator\n @unsafe @builtin\n export function copy(dst: usize, src: usize, n: usize): void {\n memmove(dst, src, n); // fallback if \"bulk-memory\" isn't enabled\n }\n\n export namespace atomic {\n\n // @ts-ignore: decorator\n @unsafe @builtin\n export declare function wait32(ptr: usize, expected: i32, timeout: i64): AtomicWaitResult;\n\n // @ts-ignore: decorator\n @unsafe @builtin\n export declare function wait64(ptr: usize, expected: i64, timeout: i64): AtomicWaitResult;\n }\n\n /** Initializes a memory segment. */\n // @ts-ignore: decorator\n @unsafe\n export function init(segmentIndex: u32, srcOffset: usize, dstOffset: usize, n: usize): void {\n throw new Error(E_NOTIMPLEMENTED);\n }\n\n /** Drops a memory segment. */\n // @ts-ignore: decorator\n @unsafe\n export function drop(segmentIndex: u32): void {\n throw new Error(E_NOTIMPLEMENTED);\n }\n\n /** Repeats a section of memory at a specific address. */\n // @ts-ignore: decorator\n @unsafe\n export function repeat(dst: usize, src: usize, srcLength: usize, count: usize): void {\n let index: usize = 0;\n let total = srcLength * count;\n while (index < total) {\n memory.copy(dst + index, src, srcLength);\n index += srcLength;\n }\n }\n\n /** Compares a section of memory to another. */\n // @ts-ignore: decorator\n @inline\n export function compare(vl: usize, vr: usize, n: usize): i32 {\n return memcmp(vl, vr, n);\n }\n\n /** Gets a pointer to a static chunk of memory of the given size. */\n // @ts-ignore: decorator\n @builtin\n export declare function data(size: T, align?: i32): usize;\n}\n\n// @ts-ignore: decorator\n@builtin\nexport declare const __data_end: usize;\n\n// @ts-ignore: decorator\n@builtin\nexport declare let __stack_pointer: usize;\n\n// @ts-ignore: decorator\n@builtin\nexport declare const __heap_base: usize;\n\n/** Heap memory interface. */\nexport namespace heap {\n\n /** Allocates a chunk of memory of at least the specified size. */\n // @ts-ignore: decorator\n @unsafe export function alloc(size: usize): usize {\n return __alloc(size);\n }\n\n /** Reallocates a chunk of memory to have at least the specified size. */\n // @ts-ignore: decorator\n @unsafe export function realloc(ptr: usize, size: usize): usize {\n return __realloc(ptr, size);\n }\n\n /** Frees a chunk of memory. Does hardly anything (most recent block only) with the stub runtime. */\n // @ts-ignore: decorator\n @unsafe export function free(ptr: usize): void {\n __free(ptr);\n }\n\n /** Dangerously resets the entire heap. Specific to the stub runtime. */\n // @ts-ignore: decorator\n @unsafe export function reset(): void {\n if (isDefined(__reset)) {\n __reset();\n } else {\n throw new Error(E_NOTIMPLEMENTED);\n }\n }\n}\n","export function memcpy(dest: usize, src: usize, n: usize): void { // see: musl/src/string/memcpy.c\n let w: u32, x: u32;\n\n // copy 1 byte each until src is aligned to 4 bytes\n while (n && (src & 3)) {\n store(dest++, load(src++));\n n--;\n }\n\n // if dst is aligned to 4 bytes as well, copy 4 bytes each\n if ((dest & 3) == 0) {\n while (n >= 16) {\n store(dest , load(src ));\n store(dest + 4, load(src + 4));\n store(dest + 8, load(src + 8));\n store(dest + 12, load(src + 12));\n src += 16; dest += 16; n -= 16;\n }\n if (n & 8) {\n store(dest , load(src ));\n store(dest + 4, load(src + 4));\n dest += 8; src += 8;\n }\n if (n & 4) {\n store(dest, load(src));\n dest += 4; src += 4;\n }\n if (n & 2) { // drop to 2 bytes each\n store(dest, load(src));\n dest += 2; src += 2;\n }\n if (n & 1) { // drop to 1 byte\n store(dest++, load(src++));\n }\n return;\n }\n\n // if dst is not aligned to 4 bytes, use alternating shifts to copy 4 bytes each\n // doing shifts if faster when copying enough bytes (here: 32 or more)\n if (n >= 32) {\n switch (dest & 3) {\n // known to be != 0\n case 1: {\n w = load(src);\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n n -= 3;\n while (n >= 17) {\n x = load(src + 1);\n store(dest, w >> 24 | x << 8);\n w = load(src + 5);\n store(dest + 4, x >> 24 | w << 8);\n x = load(src + 9);\n store(dest + 8, w >> 24 | x << 8);\n w = load(src + 13);\n store(dest + 12, x >> 24 | w << 8);\n src += 16; dest += 16; n -= 16;\n }\n break;\n }\n case 2: {\n w = load(src);\n store(dest++, load(src++));\n store(dest++, load(src++));\n n -= 2;\n while (n >= 18) {\n x = load(src + 2);\n store(dest, w >> 16 | x << 16);\n w = load(src + 6);\n store(dest + 4, x >> 16 | w << 16);\n x = load(src + 10);\n store(dest + 8, w >> 16 | x << 16);\n w = load(src + 14);\n store(dest + 12, x >> 16 | w << 16);\n src += 16; dest += 16; n -= 16;\n }\n break;\n }\n case 3: {\n w = load(src);\n store(dest++, load(src++));\n n -= 1;\n while (n >= 19) {\n x = load(src + 3);\n store(dest, w >> 8 | x << 24);\n w = load(src + 7);\n store(dest + 4, x >> 8 | w << 24);\n x = load(src + 11);\n store(dest + 8, w >> 8 | x << 24);\n w = load(src + 15);\n store(dest + 12, x >> 8 | w << 24);\n src += 16; dest += 16; n -= 16;\n }\n break;\n }\n }\n }\n\n // copy remaining bytes one by one\n if (n & 16) {\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n }\n if (n & 8) {\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n }\n if (n & 4) {\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n }\n if (n & 2) {\n store(dest++, load(src++));\n store(dest++, load(src++));\n }\n if (n & 1) {\n store(dest++, load(src++));\n }\n}\n\n// @ts-ignore: decorator\n@inline\nexport function memmove(dest: usize, src: usize, n: usize): void { // see: musl/src/string/memmove.c\n if (dest == src) return;\n if (ASC_SHRINK_LEVEL < 1) {\n if (src - dest - n <= -(n << 1)) {\n memcpy(dest, src, n);\n return;\n }\n }\n if (dest < src) {\n if (ASC_SHRINK_LEVEL < 2) {\n if ((src & 7) == (dest & 7)) {\n while (dest & 7) {\n if (!n) return;\n --n;\n store(dest++, load(src++));\n }\n while (n >= 8) {\n store(dest, load(src));\n n -= 8;\n dest += 8;\n src += 8;\n }\n }\n }\n while (n) {\n store(dest++, load(src++));\n --n;\n }\n } else {\n if (ASC_SHRINK_LEVEL < 2) {\n if ((src & 7) == (dest & 7)) {\n while ((dest + n) & 7) {\n if (!n) return;\n store(dest + --n, load(src + n));\n }\n while (n >= 8) {\n n -= 8;\n store(dest + n, load(src + n));\n }\n }\n }\n while (n) {\n store(dest + --n, load(src + n));\n }\n }\n}\n\n// @ts-ignore: decorator\n@inline\nexport function memset(dest: usize, c: u8, n: usize): void { // see: musl/src/string/memset\n if (ASC_SHRINK_LEVEL > 1) {\n while (n) {\n store(dest++, c);\n --n;\n }\n } else {\n // fill head and tail with minimal branching\n if (!n) return;\n let dend = dest + n;\n store(dest, c);\n store(dend - 1, c);\n if (n <= 2) return;\n store(dest, c, 1);\n store(dest, c, 2);\n store(dend - 2, c);\n store(dend - 3, c);\n if (n <= 6) return;\n store(dest, c, 3);\n store(dend - 4, c);\n if (n <= 8) return;\n\n // advance pointer to align it at 4-byte boundary\n let k: usize = -dest & 3;\n dest += k;\n n -= k;\n n &= -4;\n\n let c32: u32 = -1 / 255 * c;\n\n // fill head/tail up to 28 bytes each in preparation\n dend = dest + n;\n store(dest, c32);\n store(dend - 4, c32);\n if (n <= 8) return;\n store(dest, c32, 4);\n store(dest, c32, 8);\n store(dend - 12, c32);\n store(dend - 8, c32);\n if (n <= 24) return;\n store(dest, c32, 12);\n store(dest, c32, 16);\n store(dest, c32, 20);\n store(dest, c32, 24);\n store(dend - 28, c32);\n store(dend - 24, c32);\n store(dend - 20, c32);\n store(dend - 16, c32);\n\n // align to a multiple of 8\n k = 24 + (dest & 4);\n dest += k;\n n -= k;\n\n // copy 32 bytes each\n let c64: u64 = c32 | (c32 << 32);\n while (n >= 32) {\n store(dest, c64);\n store(dest, c64, 8);\n store(dest, c64, 16);\n store(dest, c64, 24);\n n -= 32;\n dest += 32;\n }\n }\n}\n\n// @ts-ignore: decorator\n@inline\nexport function memcmp(vl: usize, vr: usize, n: usize): i32 {\n if (vl == vr) return 0;\n if (ASC_SHRINK_LEVEL < 2) {\n if ((vl & 7) == (vr & 7)) {\n while (vl & 7) {\n if (!n) return 0;\n let a = load(vl);\n let b = load(vr);\n if (a != b) return a - b;\n n--; vl++; vr++;\n }\n while (n >= 8) {\n if (load(vl) != load(vr)) break;\n vl += 8;\n vr += 8;\n n -= 8;\n }\n }\n }\n while (n--) {\n let a = load(vl);\n let b = load(vr);\n if (a != b) return a - b;\n vl++; vr++;\n }\n return 0;\n}\n"]} \ No newline at end of file diff --git a/tutorials/wat/main/blink.wat b/tutorials/wat/main/blink.wat index 1ef04bee..ff61dca2 100644 --- a/tutorials/wat/main/blink.wat +++ b/tutorials/wat/main/blink.wat @@ -6,11 +6,13 @@ ;; Imports from the WARDuino VM (import "env" "chip_delay" (func $env.chip_delay (type $int32->void))) + (import "env" "display_init" (func $env.display_init (type $void->void))) + (import "env" "chip_pin_mode" (func $env.chip_pin_mode (type $int32->int32->void))) (import "env" "chip_digital_write" (func $env.chip_digital_write (type $int32->int32->void))) ;; Non-mutable globals - (global $led i32 (i32.const 23)) + (global $led i32 (i32.const 4)) (global $on i32 (i32.const 1)) (global $off i32 (i32.const 0)) @@ -18,8 +20,10 @@ (func $init (type $void->void) ;; Set pin mode global.get $led - i32.const 2 - call $env.chip_pin_mode) + i32.const 3 + call $env.chip_pin_mode + call $env.display_init + ) ;; Blink function (public) (func $blink (type $void->void) From c104ae5d0aa004b75ad9d56adce9e5460f5ff3a3 Mon Sep 17 00:00:00 2001 From: Christophe Date: Wed, 4 Sep 2024 16:27:27 +0200 Subject: [PATCH 6/8] gitignore update --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index 0e6a6834..2dfd80ac 100644 --- a/.gitignore +++ b/.gitignore @@ -35,3 +35,5 @@ core venv *.wasm + +./platforms/Arduino/node_modules From 52a2c6b3152dbdc73c2c03e4affb4d2461904420 Mon Sep 17 00:00:00 2001 From: tolauwae Date: Thu, 5 Sep 2024 08:01:19 +0200 Subject: [PATCH 7/8] Remove node_modules --- .../Arduino/node_modules/.package-lock.json | 45 - .../node_modules/assemblyscript/LICENSE | 201 - .../node_modules/assemblyscript/NOTICE | 87 - .../node_modules/assemblyscript/README.md | 52 - .../node_modules/assemblyscript/dist/asc.d.ts | 4 - .../assemblyscript/dist/asc.generated.d.ts | 324 - .../node_modules/assemblyscript/dist/asc.js | 22755 ---------------- .../assemblyscript/dist/asc.js.map | 7 - .../assemblyscript/dist/assemblyscript.d.ts | 4 - .../dist/assemblyscript.generated.d.ts | 9138 ------- .../assemblyscript/dist/assemblyscript.js | 337 - .../assemblyscript/dist/assemblyscript.js.map | 7 - .../assemblyscript/dist/importmap.json | 9 - .../assemblyscript/dist/transform.cjs | 1 - .../assemblyscript/dist/transform.d.ts | 1 - .../assemblyscript/dist/transform.js | 1 - .../node_modules/assemblyscript/dist/web.js | 22 - .../node_modules/assemblyscript/lib/README.md | 14 - .../assemblyscript/lib/binaryen.d.ts | 2 - .../assemblyscript/lib/binaryen.js | 2 - .../node_modules/assemblyscript/package.json | 76 - .../node_modules/assemblyscript/std/README.md | 6 - .../assemblyscript/std/assembly.json | 17 - .../assemblyscript/std/assembly/array.ts | 526 - .../std/assembly/arraybuffer.ts | 77 - .../assemblyscript/std/assembly/atomics.ts | 127 - .../std/assembly/bindings/asyncify.ts | 16 - .../std/assembly/bindings/dom.ts | 291 - .../std/assembly/bindings/node.ts | 6 - .../assemblyscript/std/assembly/builtins.ts | 2625 -- .../assemblyscript/std/assembly/compat.ts | 2 - .../assemblyscript/std/assembly/console.ts | 42 - .../assemblyscript/std/assembly/crypto.ts | 9 - .../assemblyscript/std/assembly/dataview.ts | 181 - .../assemblyscript/std/assembly/date.ts | 375 - .../std/assembly/diagnostics.ts | 11 - .../assemblyscript/std/assembly/error.ts | 44 - .../assemblyscript/std/assembly/function.ts | 38 - .../assemblyscript/std/assembly/index.d.ts | 2708 -- .../assemblyscript/std/assembly/iterator.ts | 35 - .../assemblyscript/std/assembly/map.ts | 260 - .../assemblyscript/std/assembly/math.ts | 3289 --- .../assemblyscript/std/assembly/memory.ts | 123 - .../assemblyscript/std/assembly/number.ts | 388 - .../assemblyscript/std/assembly/object.ts | 36 - .../std/assembly/performance.ts | 9 - .../assemblyscript/std/assembly/polyfills.ts | 27 - .../assemblyscript/std/assembly/process.ts | 50 - .../assemblyscript/std/assembly/reference.ts | 48 - .../assemblyscript/std/assembly/regexp.ts | 12 - .../assemblyscript/std/assembly/rt.ts | 87 - .../assemblyscript/std/assembly/rt/README.md | 83 - .../assemblyscript/std/assembly/rt/common.ts | 81 - .../std/assembly/rt/index-incremental.ts | 2 - .../std/assembly/rt/index-minimal.ts | 2 - .../std/assembly/rt/index-stub.ts | 1 - .../assemblyscript/std/assembly/rt/index.d.ts | 37 - .../assemblyscript/std/assembly/rt/itcms.ts | 414 - .../assemblyscript/std/assembly/rt/rtrace.ts | 15 - .../assemblyscript/std/assembly/rt/stub.ts | 133 - .../assemblyscript/std/assembly/rt/tcms.ts | 254 - .../assemblyscript/std/assembly/rt/tlsf.ts | 592 - .../assemblyscript/std/assembly/set.ts | 220 - .../std/assembly/shared/feature.ts | 62 - .../std/assembly/shared/runtime.ts | 11 - .../std/assembly/shared/target.ts | 11 - .../std/assembly/shared/tsconfig.json | 11 - .../std/assembly/shared/typeinfo.ts | 72 - .../std/assembly/staticarray.ts | 401 - .../assemblyscript/std/assembly/string.ts | 847 - .../assemblyscript/std/assembly/symbol.ts | 114 - .../assemblyscript/std/assembly/table.ts | 16 - .../assemblyscript/std/assembly/tsconfig.json | 6 - .../assemblyscript/std/assembly/typedarray.ts | 1945 -- .../assemblyscript/std/assembly/uri.ts | 17 - .../assemblyscript/std/assembly/util/bytes.ts | 107 - .../std/assembly/util/casemap.ts | 497 - .../assemblyscript/std/assembly/util/error.ts | 54 - .../assemblyscript/std/assembly/util/hash.ts | 117 - .../assemblyscript/std/assembly/util/math.ts | 1922 -- .../std/assembly/util/memory.ts | 290 - .../std/assembly/util/number.ts | 849 - .../assemblyscript/std/assembly/util/sort.ts | 313 - .../std/assembly/util/string.ts | 1202 - .../assemblyscript/std/assembly/util/uri.ts | 275 - .../assemblyscript/std/assembly/vector.ts | 4 - .../assemblyscript/std/portable.json | 11 - .../assemblyscript/std/portable/index.d.ts | 462 - .../assemblyscript/std/portable/index.js | 415 - .../std/types/assembly/index.d.ts | 1 - .../std/types/assembly/package.json | 3 - .../std/types/portable/index.d.ts | 1 - .../std/types/portable/package.json | 3 - .../assemblyscript/tsconfig-base.json | 14 - .../assemblyscript/util/README.md | 23 - .../assemblyscript/util/browser/fs.js | 1 - .../assemblyscript/util/browser/module.js | 5 - .../assemblyscript/util/browser/path.js | 520 - .../assemblyscript/util/browser/process.js | 59 - .../assemblyscript/util/browser/url.js | 23 - .../node_modules/assemblyscript/util/cpu.d.ts | 9 - .../node_modules/assemblyscript/util/cpu.js | 42 - .../assemblyscript/util/find.d.ts | 6 - .../node_modules/assemblyscript/util/find.js | 20 - .../assemblyscript/util/node.d.ts | 21 - .../node_modules/assemblyscript/util/node.js | 34 - .../assemblyscript/util/options.d.ts | 70 - .../assemblyscript/util/options.js | 262 - .../assemblyscript/util/terminal.d.ts | 52 - .../assemblyscript/util/terminal.js | 35 - .../assemblyscript/util/text.d.ts | 26 - .../node_modules/assemblyscript/util/text.js | 114 - .../assemblyscript/util/tsconfig.json | 9 - .../node_modules/assemblyscript/util/web.d.ts | 11 - .../node_modules/assemblyscript/util/web.js | 33 - .../Arduino/node_modules/binaryen/LICENSE | 201 - .../Arduino/node_modules/binaryen/README.md | 1318 - .../Arduino/node_modules/binaryen/index.d.ts | 2169 -- .../Arduino/node_modules/binaryen/index.js | 11 - .../node_modules/binaryen/package.json | 45 - platforms/Arduino/node_modules/long/LICENSE | 202 - platforms/Arduino/node_modules/long/README.md | 280 - .../Arduino/node_modules/long/index.d.ts | 457 - platforms/Arduino/node_modules/long/index.js | 1467 - .../Arduino/node_modules/long/package.json | 50 - .../Arduino/node_modules/long/umd/index.d.ts | 2 - .../Arduino/node_modules/long/umd/index.js | 1432 - .../node_modules/long/umd/package.json | 3 - 128 files changed, 65453 deletions(-) delete mode 100644 platforms/Arduino/node_modules/.package-lock.json delete mode 100644 platforms/Arduino/node_modules/assemblyscript/LICENSE delete mode 100644 platforms/Arduino/node_modules/assemblyscript/NOTICE delete mode 100644 platforms/Arduino/node_modules/assemblyscript/README.md delete mode 100644 platforms/Arduino/node_modules/assemblyscript/dist/asc.d.ts delete mode 100644 platforms/Arduino/node_modules/assemblyscript/dist/asc.generated.d.ts delete mode 100644 platforms/Arduino/node_modules/assemblyscript/dist/asc.js delete mode 100644 platforms/Arduino/node_modules/assemblyscript/dist/asc.js.map delete mode 100644 platforms/Arduino/node_modules/assemblyscript/dist/assemblyscript.d.ts delete mode 100644 platforms/Arduino/node_modules/assemblyscript/dist/assemblyscript.generated.d.ts delete mode 100644 platforms/Arduino/node_modules/assemblyscript/dist/assemblyscript.js delete mode 100644 platforms/Arduino/node_modules/assemblyscript/dist/assemblyscript.js.map delete mode 100644 platforms/Arduino/node_modules/assemblyscript/dist/importmap.json delete mode 100644 platforms/Arduino/node_modules/assemblyscript/dist/transform.cjs delete mode 100644 platforms/Arduino/node_modules/assemblyscript/dist/transform.d.ts delete mode 100644 platforms/Arduino/node_modules/assemblyscript/dist/transform.js delete mode 100644 platforms/Arduino/node_modules/assemblyscript/dist/web.js delete mode 100644 platforms/Arduino/node_modules/assemblyscript/lib/README.md delete mode 100644 platforms/Arduino/node_modules/assemblyscript/lib/binaryen.d.ts delete mode 100644 platforms/Arduino/node_modules/assemblyscript/lib/binaryen.js delete mode 100644 platforms/Arduino/node_modules/assemblyscript/package.json delete mode 100644 platforms/Arduino/node_modules/assemblyscript/std/README.md delete mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly.json delete mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/array.ts delete mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/arraybuffer.ts delete mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/atomics.ts delete mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/bindings/asyncify.ts delete mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/bindings/dom.ts delete mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/bindings/node.ts delete mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/builtins.ts delete mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/compat.ts delete mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/console.ts delete mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/crypto.ts delete mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/dataview.ts delete mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/date.ts delete mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/diagnostics.ts delete mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/error.ts delete mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/function.ts delete mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/index.d.ts delete mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/iterator.ts delete mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/map.ts delete mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/math.ts delete mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/memory.ts delete mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/number.ts delete mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/object.ts delete mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/performance.ts delete mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/polyfills.ts delete mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/process.ts delete mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/reference.ts delete mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/regexp.ts delete mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/rt.ts delete mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/README.md delete mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/common.ts delete mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/index-incremental.ts delete mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/index-minimal.ts delete mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/index-stub.ts delete mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/index.d.ts delete mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/itcms.ts delete mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/rtrace.ts delete mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/stub.ts delete mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/tcms.ts delete mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/tlsf.ts delete mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/set.ts delete mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/shared/feature.ts delete mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/shared/runtime.ts delete mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/shared/target.ts delete mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/shared/tsconfig.json delete mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/shared/typeinfo.ts delete mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/staticarray.ts delete mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/string.ts delete mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/symbol.ts delete mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/table.ts delete mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/tsconfig.json delete mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/typedarray.ts delete mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/uri.ts delete mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/util/bytes.ts delete mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/util/casemap.ts delete mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/util/error.ts delete mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/util/hash.ts delete mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/util/math.ts delete mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/util/memory.ts delete mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/util/number.ts delete mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/util/sort.ts delete mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/util/string.ts delete mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/util/uri.ts delete mode 100644 platforms/Arduino/node_modules/assemblyscript/std/assembly/vector.ts delete mode 100644 platforms/Arduino/node_modules/assemblyscript/std/portable.json delete mode 100644 platforms/Arduino/node_modules/assemblyscript/std/portable/index.d.ts delete mode 100644 platforms/Arduino/node_modules/assemblyscript/std/portable/index.js delete mode 100644 platforms/Arduino/node_modules/assemblyscript/std/types/assembly/index.d.ts delete mode 100644 platforms/Arduino/node_modules/assemblyscript/std/types/assembly/package.json delete mode 100644 platforms/Arduino/node_modules/assemblyscript/std/types/portable/index.d.ts delete mode 100644 platforms/Arduino/node_modules/assemblyscript/std/types/portable/package.json delete mode 100644 platforms/Arduino/node_modules/assemblyscript/tsconfig-base.json delete mode 100644 platforms/Arduino/node_modules/assemblyscript/util/README.md delete mode 100644 platforms/Arduino/node_modules/assemblyscript/util/browser/fs.js delete mode 100644 platforms/Arduino/node_modules/assemblyscript/util/browser/module.js delete mode 100644 platforms/Arduino/node_modules/assemblyscript/util/browser/path.js delete mode 100644 platforms/Arduino/node_modules/assemblyscript/util/browser/process.js delete mode 100644 platforms/Arduino/node_modules/assemblyscript/util/browser/url.js delete mode 100644 platforms/Arduino/node_modules/assemblyscript/util/cpu.d.ts delete mode 100644 platforms/Arduino/node_modules/assemblyscript/util/cpu.js delete mode 100644 platforms/Arduino/node_modules/assemblyscript/util/find.d.ts delete mode 100644 platforms/Arduino/node_modules/assemblyscript/util/find.js delete mode 100644 platforms/Arduino/node_modules/assemblyscript/util/node.d.ts delete mode 100644 platforms/Arduino/node_modules/assemblyscript/util/node.js delete mode 100644 platforms/Arduino/node_modules/assemblyscript/util/options.d.ts delete mode 100644 platforms/Arduino/node_modules/assemblyscript/util/options.js delete mode 100644 platforms/Arduino/node_modules/assemblyscript/util/terminal.d.ts delete mode 100644 platforms/Arduino/node_modules/assemblyscript/util/terminal.js delete mode 100644 platforms/Arduino/node_modules/assemblyscript/util/text.d.ts delete mode 100644 platforms/Arduino/node_modules/assemblyscript/util/text.js delete mode 100644 platforms/Arduino/node_modules/assemblyscript/util/tsconfig.json delete mode 100644 platforms/Arduino/node_modules/assemblyscript/util/web.d.ts delete mode 100644 platforms/Arduino/node_modules/assemblyscript/util/web.js delete mode 100644 platforms/Arduino/node_modules/binaryen/LICENSE delete mode 100644 platforms/Arduino/node_modules/binaryen/README.md delete mode 100644 platforms/Arduino/node_modules/binaryen/index.d.ts delete mode 100644 platforms/Arduino/node_modules/binaryen/index.js delete mode 100644 platforms/Arduino/node_modules/binaryen/package.json delete mode 100644 platforms/Arduino/node_modules/long/LICENSE delete mode 100644 platforms/Arduino/node_modules/long/README.md delete mode 100644 platforms/Arduino/node_modules/long/index.d.ts delete mode 100644 platforms/Arduino/node_modules/long/index.js delete mode 100644 platforms/Arduino/node_modules/long/package.json delete mode 100644 platforms/Arduino/node_modules/long/umd/index.d.ts delete mode 100644 platforms/Arduino/node_modules/long/umd/index.js delete mode 100644 platforms/Arduino/node_modules/long/umd/package.json diff --git a/platforms/Arduino/node_modules/.package-lock.json b/platforms/Arduino/node_modules/.package-lock.json deleted file mode 100644 index 8b2a67c8..00000000 --- a/platforms/Arduino/node_modules/.package-lock.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "name": "Arduino", - "lockfileVersion": 3, - "requires": true, - "packages": { - "node_modules/assemblyscript": { - "version": "0.27.29", - "resolved": "https://registry.npmjs.org/assemblyscript/-/assemblyscript-0.27.29.tgz", - "integrity": "sha512-pH6udb7aE2F0t6cTh+0uCepmucykhMnAmm7k0kkAU3SY7LvpIngEBZWM6p5VCguu4EpmKGwEuZpZbEXzJ/frHQ==", - "license": "Apache-2.0", - "dependencies": { - "binaryen": "116.0.0-nightly.20240114", - "long": "^5.2.1" - }, - "bin": { - "asc": "bin/asc.js", - "asinit": "bin/asinit.js" - }, - "engines": { - "node": ">=16", - "npm": ">=7" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/assemblyscript" - } - }, - "node_modules/binaryen": { - "version": "116.0.0-nightly.20240114", - "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-116.0.0-nightly.20240114.tgz", - "integrity": "sha512-0GZrojJnuhoe+hiwji7QFaL3tBlJoA+KFUN7ouYSDGZLSo9CKM8swQX8n/UcbR0d1VuZKU+nhogNzv423JEu5A==", - "license": "Apache-2.0", - "bin": { - "wasm-opt": "bin/wasm-opt", - "wasm2js": "bin/wasm2js" - } - }, - "node_modules/long": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz", - "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==", - "license": "Apache-2.0" - } - } -} diff --git a/platforms/Arduino/node_modules/assemblyscript/LICENSE b/platforms/Arduino/node_modules/assemblyscript/LICENSE deleted file mode 100644 index 8dada3ed..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/LICENSE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright {yyyy} {name of copyright owner} - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/platforms/Arduino/node_modules/assemblyscript/NOTICE b/platforms/Arduino/node_modules/assemblyscript/NOTICE deleted file mode 100644 index adca27c8..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/NOTICE +++ /dev/null @@ -1,87 +0,0 @@ -The following authors have all licensed their contributions to AssemblyScript -under the licensing terms detailed in LICENSE: - -* Daniel Wirtz -* Max Graey -* Igor Sbitnev -* Norton Wang -* Alan Pierce -* Palmer -* Linus Unnebäck -* Joshua Tenner -* Nidin Vinayakan <01@01alchemist.com> -* Aaron Turner -* Willem Wyndham -* Bowen Wang -* Emil Laine -* Stephen Paul Weber -* Jay Phelps -* jhwgh1968 -* Jeffrey Charles -* Vladimir Tikhonov -* Duncan Uszkay -* Surma -* Julien Letellier -* Guido Zuidhof -* ncave <777696+ncave@users.noreply.github.com> -* Andrew Davis -* Maël Nison -* Valeria Viana Gusmao -* Gabor Greif -* Martin Fredriksson -* forcepusher -* Piotr Oleś -* Saúl Cabrera -* Chance Snow -* Peter Salomonsen -* ookangzheng -* yjhmelody -* bnbarak -* Colin Eberhardt -* Ryan Pivovar -* Roman F. <70765447+romdotdog@users.noreply.github.com> -* Joe Pea -* Felipe Gasper -* Congcong Cai -* mooooooi -* Yasushi Ando -* Syed Jafri -* Peter Hayman -* ApsarasX -* Adrien Zinger -* Ruixiang Chen -* Daniel Salvadori -* Jairus Tanaka -* CountBleck -* Abdul Rauf -* Bach Le -* Xinquan Xu -* Matt Johnson-Pint - -Portions of this software are derived from third-party works licensed under -the following terms: - -* TypeScript: https://github.com/Microsoft/TypeScript - - Copyright (c) Microsoft Corporation - Apache License, Version 2.0 (https://opensource.org/licenses/Apache-2.0) - -* Binaryen: https://github.com/WebAssembly/binaryen - - Copyright (c) WebAssembly Community Group participants - Apache License, Version 2.0 (https://opensource.org/licenses/Apache-2.0) - -* musl libc: http://www.musl-libc.org - - Copyright (c) Rich Felker, et al. - The MIT License (https://opensource.org/licenses/MIT) - -* V8: https://developers.google.com/v8/ - - Copyright (c) the V8 project authors - The 3-Clause BSD License (https://opensource.org/licenses/BSD-3-Clause) - -* Arm Optimized Routines: https://github.com/ARM-software/optimized-routines - - Copyright (c) Arm Limited - The MIT License (https://opensource.org/licenses/MIT) diff --git a/platforms/Arduino/node_modules/assemblyscript/README.md b/platforms/Arduino/node_modules/assemblyscript/README.md deleted file mode 100644 index 5df1fa3c..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/README.md +++ /dev/null @@ -1,52 +0,0 @@ -

- AssemblyScript logo -

- -

- Test status - Publish status - npm compiler version - Discord online - #StandWithUkraine -

- -

AssemblyScript compiles a variant of TypeScript (basically JavaScript with types) to WebAssembly using Binaryen. It generates lean and mean WebAssembly modules while being just an npm install away.

- -

- About  ·  - Getting started  ·  - Examples  ·  - Built with AssemblyScript -

-
- -

Contributors

- -

- Contributor logos -

- -

Thanks to our sponsors!

- -

Most of the maintainers and contributors do this open source work in their free time. If you use AssemblyScript for a serious task or plan to do so, and you'd like us to invest more time on it, please donate to our OpenCollective. By sponsoring this project, your logo will show up below. Thank you so much for your support!

- -

- Sponsor logos -

- -## Development instructions - -A development environment can be set up by cloning the repository: - -```sh -git clone https://github.com/AssemblyScript/assemblyscript.git -cd assemblyscript -npm install -npm link -``` - -The link step is optional and makes the development instance available globally. The full process is documented as part of the repository: - -* [Compiler instructions](./src) -* [Runtime instructions](./std/assembly/rt) -* [Test instructions](./tests) diff --git a/platforms/Arduino/node_modules/assemblyscript/dist/asc.d.ts b/platforms/Arduino/node_modules/assemblyscript/dist/asc.d.ts deleted file mode 100644 index 17fcb314..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/dist/asc.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -/// -export * from "types:assemblyscript/cli/index"; -import * as asc from "types:assemblyscript/cli/index"; -export default asc; diff --git a/platforms/Arduino/node_modules/assemblyscript/dist/asc.generated.d.ts b/platforms/Arduino/node_modules/assemblyscript/dist/asc.generated.d.ts deleted file mode 100644 index 7a293b35..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/dist/asc.generated.d.ts +++ /dev/null @@ -1,324 +0,0 @@ -/// -declare module "types:assemblyscript/util/options" { - /** - * @fileoverview Command line options utility definitions. - * @license Apache-2.0 - */ - /** A set of options. */ - export interface OptionSet { - [key: string]: number | string; - } - /** Command line option description. */ - export interface OptionDescription { - /** Textual description. */ - description?: string | string[]; - /** Data type. One of (b)oolean [default], (i)nteger, (f)loat or (s)tring. Uppercase means multiple values. */ - type?: "b" | "i" | "f" | "s" | "I" | "F" | "S"; - /** Substituted options, if any. */ - value?: OptionSet; - /** Short alias, if any. */ - alias?: string; - /** The default value, if any. */ - default?: string | number | boolean | string[] | number[]; - /** The category this option belongs in. */ - category?: string; - } - /** Configuration object. */ - export interface Config { - [key: string]: OptionDescription; - } - /** Parsing result. */ - export interface Result { - /** Parsed options. */ - options: OptionSet; - /** Unknown options. */ - unknown: string[]; - /** Normal arguments. */ - arguments: string[]; - /** Trailing arguments. */ - trailing: string[]; - } - /** Parses the specified command line arguments according to the given configuration. */ - export function parse(argv: string[], config: Config, propagateDefaults?: boolean): Result; - /** Help formatting options. */ - export interface HelpOptions { - /** Leading indent. Defaults to 2. */ - indent?: number; - /** Table padding. Defaults to 24. */ - padding?: number; - /** End of line character. Defaults to "\n". */ - eol?: string; - } - /** Generates the help text for the specified configuration. */ - export function help(config: Config, options?: HelpOptions): string; - /** Merges two sets of options into one, preferring the current over the parent set. */ - export function merge(config: Config, currentOptions: OptionSet, parentOptions: OptionSet, parentBaseDir: string): OptionSet; - /** Normalizes a path. */ - export function normalizePath(path: string): string; - /** Resolves a single relative path. Keeps absolute paths, otherwise prepends baseDir. */ - export function resolvePath(path: string, baseDir: string, useNodeResolution?: boolean): string; - /** Populates default values on a parsed options result. */ - export function addDefaults(config: Config, options: OptionSet): void; -} -declare module "types:assemblyscript/lib/binaryen" { - export * from "binaryen"; - export { default } from "binaryen"; -} -declare module "types:assemblyscript/cli/index" { - /** - * @fileoverview Definitions for asc. - * @license Apache-2.0 - */ - import { OptionDescription } from "types:assemblyscript/util/options"; - export { OptionDescription }; - /** AssemblyScript version. */ - export const version: string; - /** Available CLI options. */ - export const options: { - [key: string]: OptionDescription; - }; - /** Prefix used for library files. */ - export const libraryPrefix: string; - /** Bundled library files. */ - export const libraryFiles: { - [key: string]: string; - }; - /** Bundled definition files. */ - export const definitionFiles: { - assembly: string; - portable: string; - }; - /** Default Binaryen optimization level. */ - export const defaultOptimizeLevel: number; - /** Default Binaryen shrink level. */ - export const defaultShrinkLevel: number; - /** A compatible output stream. */ - export interface OutputStream { - /** Writes a chunk of data to the stream. */ - write(chunk: Uint8Array | string): void; - } - /** An in-memory output stream. */ - export interface MemoryStream extends OutputStream { - /** Resets the stream to offset zero. */ - reset(): void; - /** Converts the output to a buffer. */ - toBuffer(): Uint8Array; - /** Converts the output to a string. */ - toString(): string; - } - /** Relevant subset of the Source class for diagnostic reporting. */ - export interface Source { - /** Normalized path with file extension. */ - normalizedPath: string; - } - /** Relevant subset of the Range class for diagnostic reporting. */ - export interface Range { - /** Start offset within the source file. */ - start: number; - /** End offset within the source file. */ - end: number; - /** Respective source file. */ - source: Source; - } - /** Relevant subset of the DiagnosticMessage class for diagnostic reporting. */ - export interface DiagnosticMessage { - /** Message code. */ - code: number; - /** Message category. */ - category: number; - /** Message text. */ - message: string; - /** Respective source range, if any. */ - range: Range | null; - /** Related range, if any. */ - relatedRange: Range | null; - } - /** A function handling diagnostic messages. */ - type DiagnosticReporter = (diagnostic: DiagnosticMessage) => void; - /** Compiler options. */ - export interface CompilerOptions { - /** Prints just the compiler's version and exits. */ - version?: boolean; - /** Prints the help message and exits. */ - help?: boolean; - /** Optimizes the module. */ - optimize?: boolean; - /** How much to focus on optimizing code. */ - optimizeLevel?: number; - /** How much to focus on shrinking code size. */ - shrinkLevel?: number; - /** Re-optimizes until no further improvements can be made. */ - converge?: boolean; - /** Specifies the base directory of input and output files. */ - baseDir?: string; - /** Specifies the WebAssembly output file (.wasm). */ - outFile?: string; - /** Specifies the WebAssembly text output file (.wat). */ - textFile?: string; - /** Specified the bindings to generate. */ - bindings?: string[]; - /** Enables source map generation. Optionally takes the URL. */ - sourceMap?: boolean | string; - /** Specifies the runtime variant to include in the program. */ - runtime?: string; - /** Disallows the use of unsafe features in user code. */ - noUnsafe?: boolean; - /** Enables debug information in emitted binaries. */ - debug?: boolean; - /** Replaces assertions with just their value without trapping. */ - noAssert?: boolean; - /** Performs compilation as usual but does not emit code. */ - noEmit?: boolean; - /** Imports the memory provided as 'env.memory'. */ - importMemory?: boolean; - /** Does not export the memory as 'memory'. */ - noExportMemory?: boolean; - /** Sets the initial memory size in pages. */ - initialMemory?: number; - /** Sets the maximum memory size in pages. */ - maximumMemory?: number; - /** Declare memory as shared. Requires maximumMemory. */ - sharedMemory?: boolean; - /** Assume that imported memory is zero filled. Requires importMemory. */ - zeroFilledMemory?: boolean; - /** Sets the start offset of compiler-generated static memory. */ - memoryBase?: number; - /** Imports the function table provided as 'env.table'. */ - importTable?: boolean; - /** Exports the function table as 'table'. */ - exportTable?: boolean; - /** Exports the start function instead of calling it implicitly. */ - exportStart?: string; - /** "Adds one or multiple paths to custom library components. */ - lib?: string | string[]; - /** Adds one or multiple paths to package resolution. */ - path?: string | string[]; - /** Aliases a global object under another name. */ - use?: string | string[]; - /** Sets the trap mode to use. */ - trapMode?: "allow" | "clamp" | "js"; - /** Specifies additional Binaryen passes to run. */ - runPasses?: string | string[]; - /** Skips validating the module using Binaryen. */ - noValidate?: boolean; - /** Enables WebAssembly features that are disabled by default. */ - enable?: string | string[]; - /** Disables WebAssembly features that are enabled by default. */ - disable?: string | string[]; - /** Specifies the path to a custom transform to 'require'. */ - transform?: string | string[]; - /** Make yourself sad for no good reason. */ - pedantic?: boolean; - /** Prints measuring information on I/O and compile times. */ - stats?: boolean; - /** Disables terminal colors. */ - noColors?: boolean; - } - /** Compiler API options. */ - export interface APIOptions { - /** Standard output stream to use. */ - stdout?: OutputStream; - /** Standard error stream to use. */ - stderr?: OutputStream; - /** Reads a file from disk (or memory). */ - readFile?: (filename: string, baseDir: string) => (string | null) | Promise; - /** Writes a file to disk (or memory). */ - writeFile?: (filename: string, contents: Uint8Array | string, baseDir: string) => void | Promise; - /** Lists all files within a directory. */ - listFiles?: (dirname: string, baseDir: string) => (string[] | null) | Promise; - /** Handler for diagnostic messages. */ - reportDiagnostic?: DiagnosticReporter; - /** Additional transforms to apply. */ - transforms?: Transform[]; - } - /** Compiler API result. */ - export interface APIResult { - /** Encountered error, if any. */ - error: Error | null; - /** Standard output stream. */ - stdout: OutputStream; - /** Standard error stream. */ - stderr: OutputStream; - /** Statistics. */ - stats: Stats; - } - /** Runs the command line utility using the specified arguments array. */ - export function main(argv: string[] | CompilerOptions, options?: APIOptions): Promise; - /** Convenience function that parses and compiles source strings directly. */ - export function compileString(sources: { - [key: string]: string; - } | string, options?: CompilerOptions): Promise; - /** Checks diagnostics emitted so far for errors. */ - export function checkDiagnostics(emitter: Record, stderr?: OutputStream, reportDiagnostic?: DiagnosticReporter, useColors?: boolean): boolean; - /** Statistics for the current task. */ - export class Stats { - /** Number of files read. */ - readCount: number; - /** Number of files written. */ - writeCount: number; - /** Time taken to parse files. */ - parseTime: number; - /** Number of files parsed. */ - parseCount: number; - /** Time taken to compile programs. */ - compileTime: number; - /** Number of programs compiled. */ - compileCount: number; - /** Time taken to emit files. */ - emitTime: number; - /** Number of emitted files. */ - emitCount: number; - /** Time taken to validate modules. */ - validateTime: number; - /** Number of modules validated. */ - validateCount: number; - /** Time taken to optimize modules. */ - optimizeTime: number; - /** Number of modules optimized. */ - optimizeCount: number; - /** Begins measuring execution time. */ - begin(): number; - /** Ends measuring execution time since `begin`. */ - end(begin: number): number; - /** Returns a string representation. */ - toString(): string; - } - /** Creates a memory stream that can be used in place of stdout/stderr. */ - export function createMemoryStream(fn?: (chunk: Uint8Array | string) => void): MemoryStream; - /** Compatible TypeScript compiler options for syntax highlighting etc. */ - export const tscOptions: Record; - import binaryen from "types:assemblyscript/lib/binaryen"; - import { Program, Parser } from "types:assemblyscript/src/index"; - /** Compiler transform base class. */ - export abstract class Transform { - /** Program reference. */ - readonly program: Program; - /** Binaryen reference. */ - readonly binaryen: typeof binaryen; - /** Base directory. */ - readonly baseDir: string; - /** Output stream used by the compiler. */ - readonly stdout: OutputStream; - /** Error stream used by the compiler. */ - readonly stderr: OutputStream; - /** Logs a message to console. */ - readonly log: typeof console.log; - /** Reads a file from disk. */ - readFile(filename: string, baseDir: string): (string | null) | Promise; - /** Writes a file to disk. */ - writeFile(filename: string, contents: string | Uint8Array, baseDir: string): void | Promise; - /** Lists all files in a directory. */ - listFiles(dirname: string, baseDir: string): (string[] | null) | Promise; - /** Called when parsing is complete, before a program is instantiated from the AST. */ - afterParse?(parser: Parser): void | Promise; - /** Called after the program is instantiated. */ - afterInitialize?(program: Program): void | Promise; - /** Called when compilation is complete, before the module is being validated. */ - afterCompile?(module: binaryen.Module): void | Promise; - } -} diff --git a/platforms/Arduino/node_modules/assemblyscript/dist/asc.js b/platforms/Arduino/node_modules/assemblyscript/dist/asc.js deleted file mode 100644 index f87bcf67..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/dist/asc.js +++ /dev/null @@ -1,22755 +0,0 @@ -/** - * @license - * The AssemblyScript frontend - * Copyright 2024 Daniel Wirtz / The AssemblyScript Authors - * SPDX-License-Identifier: Apache-2.0 - */ -var de=Object.defineProperty;var Ke=Object.getOwnPropertyDescriptor;var qe=Object.getOwnPropertyNames;var We=Object.prototype.hasOwnProperty;var pn=(t,n)=>()=>(t&&(n=t(t=0)),n);var rn=(t,n)=>{for(var e in n)de(t,e,{get:n[e],enumerable:!0})},ce=(t,n,e,i)=>{if(n&&typeof n=="object"||typeof n=="function")for(let o of qe(n))!We.call(t,o)&&o!==e&&de(t,o,{get:()=>n[o],enumerable:!(i=Ke(n,o))||i.enumerable});return t},Rn=(t,n,e)=>(ce(t,n,"default"),e&&ce(e,n,"default"));var xe={};rn(xe,{promises:()=>Ye});var Ye,pe=pn(()=>{"use strict";Ye={}});var ge={};rn(ge,{createRequire:()=>$e});function $e(){return function(n){throw new Error(`Cannot find module: '${n}'`)}}var he=pn(()=>{"use strict"});var Un={};rn(Un,{argv:()=>Qe,cwd:()=>Nn,exit:()=>nt,hrtime:()=>tt,platform:()=>Ze,umask:()=>Je});function Nn(){return"."}function Je(){return 0}function nt(t=0){throw Error(`exit ${t}`)}function tt(t){var n=et.call(me),e=Math.floor(n*.001),i=Math.floor(n*1e6-e*1e9);return t&&(e-=t[0],i-=t[1],i<0&&(e--,i+=1e9)),[e,i]}var Ze,Qe,me,et,Mn=pn(()=>{"use strict";Ze="linux";Qe=[];me=globalThis.performance||{},et=me.now||function(){return new Date().getTime()}});var Vn={};rn(Vn,{basename:()=>lt,delimiter:()=>dt,dirname:()=>st,extname:()=>ut,format:()=>ft,isAbsolute:()=>rt,join:()=>ot,normalize:()=>Fe,parse:()=>ct,relative:()=>at,resolve:()=>gn,sep:()=>Pn,win32:()=>xt});function H(t){if(typeof t!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(t))}function be(t,n){for(var e="",i=0,o=-1,r=0,l,u=0;u<=t.length;++u){if(u2){var f=e.lastIndexOf("/");if(f!==e.length-1){f===-1?(e="",i=0):(e=e.slice(0,f),i=e.length-1-e.lastIndexOf("/")),o=u,r=0;continue}}else if(e.length===2||e.length===1){e="",i=0,o=u,r=0;continue}}n&&(e.length>0?e+="/..":e="..",i=2)}else e.length>0?e+="/"+t.slice(o+1,u):e=t.slice(o+1,u),i=u-o-1;o=u,r=0}else l===46&&r!==-1?++r:r=-1}return e}function it(t,n){var e=n.dir||n.root,i=n.base||(n.name||"")+(n.ext||"");return e?e===n.root?e+i:e+t+i:i}function gn(){for(var t="",n=!1,e,i=arguments.length-1;i>=-1&&!n;i--){var o;i>=0?o=arguments[i]:(e===void 0&&(e=Nn()),o=e),H(o),o.length!==0&&(t=o+"/"+t,n=o.charCodeAt(0)===47)}return t=be(t,!n),n?t.length>0?"/"+t:"/":t.length>0?t:"."}function Fe(t){if(H(t),t.length===0)return".";var n=t.charCodeAt(0)===47,e=t.charCodeAt(t.length-1)===47;return t=be(t,!n),t.length===0&&!n&&(t="."),t.length>0&&e&&(t+="/"),n?"/"+t:t}function rt(t){return H(t),t.length>0&&t.charCodeAt(0)===47}function ot(){if(arguments.length===0)return".";for(var t,n=0;n0&&(t===void 0?t=e:t+="/"+e)}return t===void 0?".":Fe(t)}function at(t,n){if(H(t),H(n),t===n||(t=gn(t),n=gn(n),t===n))return"";if(t===".")return n;for(var e=1;ef){if(n.charCodeAt(r+c)===47)return n.slice(r+c+1);if(c===0)return n.slice(r+c)}else o>f&&(t.charCodeAt(e+c)===47?x=c:c===0&&(x=0));break}var g=t.charCodeAt(e+c),F=n.charCodeAt(r+c);if(g!==F)break;g===47&&(x=c)}var m="";for(c=e+x+1;c<=i;++c)(c===i||t.charCodeAt(c)===47)&&(m.length===0?m+="..":m+="/..");return m.length>0?m+n.slice(r+x):(r+=x,n.charCodeAt(r)===47&&++r,n.slice(r))}function st(t){if(H(t),t.length===0)return".";for(var n=t.charCodeAt(0),e=n===47,i=-1,o=!0,r=t.length-1;r>=1;--r)if(n=t.charCodeAt(r),n===47){if(!o){i=r;break}}else o=!1;return i===-1?e?"/":".":e&&i===1?"//":t.slice(0,i)}function lt(t,n){if(n!==void 0&&typeof n!="string")throw new TypeError('"ext" argument must be a string');H(t);var e=0,i=-1,o=!0,r;if(n!==void 0&&n.length>0&&n.length<=t.length){if(n.length===t.length&&n===t)return"";var l=n.length-1,u=-1;for(r=t.length-1;r>=0;--r){var f=t.charCodeAt(r);if(f===47){if(!o){e=r+1;break}}else u===-1&&(o=!1,u=r+1),l>=0&&(f===n.charCodeAt(l)?--l===-1&&(i=r):(l=-1,i=u))}return e===i?i=u:i===-1&&(i=t.length),t.slice(e,i)}else{for(r=t.length-1;r>=0;--r)if(t.charCodeAt(r)===47){if(!o){e=r+1;break}}else i===-1&&(o=!1,i=r+1);return i===-1?"":t.slice(e,i)}}function ut(t){H(t);for(var n=-1,e=0,i=-1,o=!0,r=0,l=t.length-1;l>=0;--l){var u=t.charCodeAt(l);if(u===47){if(!o){e=l+1;break}continue}i===-1&&(o=!1,i=l+1),u===46?n===-1?n=l:r!==1&&(r=1):n!==-1&&(r=-1)}return n===-1||i===-1||r===0||r===1&&n===i-1&&n===e+1?"":t.slice(n,i)}function ft(t){if(t===null||typeof t!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof t);return it("/",t)}function ct(t){H(t);var n={root:"",dir:"",base:"",ext:"",name:""};if(t.length===0)return n;var e=t.charCodeAt(0),i=e===47,o;i?(n.root="/",o=1):o=0;for(var r=-1,l=0,u=-1,f=!0,x=t.length-1,c=0;x>=o;--x){if(e=t.charCodeAt(x),e===47){if(!f){l=x+1;break}continue}u===-1&&(f=!1,u=x+1),e===46?r===-1?r=x:c!==1&&(c=1):r!==-1&&(c=-1)}return r===-1||u===-1||c===0||c===1&&r===u-1&&r===l+1?u!==-1&&(l===0&&i?n.base=n.name=t.slice(1,u):n.base=n.name=t.slice(l,u)):(l===0&&i?(n.name=t.slice(1,r),n.base=t.slice(1,u)):(n.name=t.slice(l,r),n.base=t.slice(l,u)),n.ext=t.slice(r,u)),l>0?n.dir=t.slice(0,l-1):i&&(n.dir="/"),n}var Pn,dt,xt,jn=pn(()=>{"use strict";Mn();Pn="/",dt=":",xt=null});var ye={};rn(ye,{pathToFileURL:()=>gt});function pt(t){return t.replace(/%/g,"%25").replace(/\\/g,"%5C").replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/\t/g,"%09")}function gt(t){let n=gn(t);t.charCodeAt(t.length-1)===47&&n[n.length-1]!==Pn&&(n+="/");let e=new URL("file://");return e.pathname=pt(n),e}var ve=pn(()=>{"use strict";jn()});var ee={};rn(ee,{Stats:()=>In,checkDiagnostics:()=>Dn,compileString:()=>Ht,configToArguments:()=>ne,createMemoryStream:()=>Jn,default:()=>ee,defaultOptimizeLevel:()=>Ne,defaultShrinkLevel:()=>Ue,definitionFiles:()=>Gt,libraryFiles:()=>q,libraryPrefix:()=>G,main:()=>Me,options:()=>jt,tscOptions:()=>Xt,version:()=>Zn});var ht=Object.prototype.toString.call(typeof globalThis.process<"u"?globalThis.process:0)==="[object process]",X,fn,v,j,hn;ht?(X=await import("fs"),fn=await import("module"),v=await import("path"),j=globalThis.process,hn=await import("url")):(X=await Promise.resolve().then(()=>(pe(),xe)),fn=await Promise.resolve().then(()=>(he(),ge)),v=await Promise.resolve().then(()=>(jn(),Vn)),j=await Promise.resolve().then(()=>(Mn(),Un)),hn=await Promise.resolve().then(()=>(ve(),ye)));var Cn=typeof process<"u"&&process||{},mt=Cn.env&&"CI"in Cn.env,bt="\x1B[90m",Ft="\x1B[91m",yt="\x1B[92m",vt="\x1B[93m",Et="\x1B[94m",At="\x1B[95m",_t="\x1B[96m",Tt="\x1B[97m",J="\x1B[0m",on=class{constructor(n){this.stream=n,this.enabled=!!(this.stream&&this.stream.isTTY||mt)}gray(n){return this.enabled?bt+n+J:n}red(n){return this.enabled?Ft+n+J:n}green(n){return this.enabled?yt+n+J:n}yellow(n){return this.enabled?vt+n+J:n}blue(n){return this.enabled?Et+n+J:n}magenta(n){return this.enabled?At+n+J:n}cyan(n){return this.enabled?_t+n+J:n}white(n){return this.enabled?Tt+n+J:n}},zn=new on(Cn.stdout),Wt=new on(Cn.stderr);function K(){}K.prototype={diff:function(n,e){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},o=i.callback;typeof i=="function"&&(o=i,i={}),this.options=i;var r=this;function l(B){return o?(setTimeout(function(){o(void 0,B)},0),!0):B}n=this.castInput(n),e=this.castInput(e),n=this.removeEmpty(this.tokenize(n)),e=this.removeEmpty(this.tokenize(e));var u=e.length,f=n.length,x=1,c=u+f;i.maxEditLength&&(c=Math.min(c,i.maxEditLength));var g=[{newPos:-1,components:[]}],F=this.extractCommon(g[0],e,n,0);if(g[0].newPos+1>=u&&F+1>=f)return l([{value:this.join(e),count:e.length}]);function m(){for(var B=-1*x;B<=x;B+=2){var I=void 0,W=g[B-1],Y=g[B+1],N=(Y?Y.newPos:0)-B;W&&(g[B-1]=void 0);var O=W&&W.newPos+1=u&&N+1>=f)return l(Ct(r,I.components,e,n,r.useLongestToken));g[B]=I}x++}if(o)(function B(){setTimeout(function(){if(x>c)return o();m()||B()},0)})();else for(;x<=c;){var a=m();if(a)return a}},pushComponent:function(n,e,i){var o=n[n.length-1];o&&o.added===e&&o.removed===i?n[n.length-1]={count:o.count+1,added:e,removed:i}:n.push({count:1,added:e,removed:i})},extractCommon:function(n,e,i,o){for(var r=e.length,l=i.length,u=n.newPos,f=u-o,x=0;u+1m.length?B:m}),x.value=t.join(c)}else x.value=t.join(e.slice(u,u+x.count));u+=x.count,x.added||(f+=x.count)}}var F=n[l-1];return l>1&&typeof F.value=="string"&&(F.added||F.removed)&&t.equals("",F.value)&&(n[l-2].value+=F.value,n.pop()),n}function zt(t){return{newPos:t.newPos,components:t.components.slice(0)}}var $t=new K;var Ee=/^[A-Za-z\xC0-\u02C6\u02C8-\u02D7\u02DE-\u02FF\u1E00-\u1EFF]+$/,Ae=/\S/,_e=new K;_e.equals=function(t,n){return this.options.ignoreCase&&(t=t.toLowerCase(),n=n.toLowerCase()),t===n||this.options.ignoreWhitespace&&!Ae.test(t)&&!Ae.test(n)};_e.tokenize=function(t){for(var n=t.split(/([^\S\r\n]+|[()[\]{}'"\r\n]|\b)/),e=0;e"u"?e:l}:i;return typeof t=="string"?t:JSON.stringify(Gn(t,null,null,o),o," ")};mn.equals=function(t,n){return K.prototype.equals.call(mn,t.replace(/,([\r\n])/g,"$1"),n.replace(/,([\r\n])/g,"$1"))};function Gn(t,n,e,i,o){n=n||[],e=e||[],i&&(t=i(o,t));var r;for(r=0;r191&&u<224?r[l++]=(u&31)<<6|t[n++]&63:u>239&&u<365?(u=((u&7)<<18|(t[n++]&63)<<12|(t[n++]&63)<<6|t[n++]&63)-65536,r[l++]=55296+(u>>10),r[l++]=56320+(u&1023)):r[l++]=(u&15)<<12|(t[n++]&63)<<6|t[n++]&63,l>=8192&&((o||(o=[])).push(String.fromCharCode(...r)),l=0);return o?(l&&o.push(String.fromCharCode(...r.slice(0,l))),o.join("")):String.fromCharCode(...r.slice(0,l))}function Lt(t,n,e){for(var i=e,o=0,r=t.length;o>6|192,n[e++]=l&63|128):(l&64512)===55296&&o+1>18|240,n[e++]=l>>12&63|128,n[e++]=l>>6&63|128,n[e++]=l&63|128):(n[e++]=l>>12|224,n[e++]=l>>6&63|128,n[e++]=l&63|128)}return e-i}var wn={length:It,read:Ot,write:Lt};var Ce=fn.createRequire(import.meta.url);function Be(t,n,e=!0){var i={},o=[],r=[],l=[],u={};Object.keys(n).forEach(c=>{if(!c.startsWith(" ")){var g=n[c];g.alias!=null&&(typeof g.alias=="string"?u[g.alias]=c:Array.isArray(g.alias)&&g.alias.forEach(F=>u[F]=c)),e&&g.default!=null&&(i[c]=g.default)}});for(var f=0,x=(t=t.slice()).length;fi[a]=F.value[a]);else if(F.type==null||F.type==="b")i[m]=!0;else if(f+1{var c=t[x];if(c.description!=null){for(var g="";g.length{for(let a=0;a{f=!0,u.push(o+" "+zn.gray(x)+o),u.push(r[x].join(o))}),f&&l.length&&u.push(o+" "+zn.gray("Other")+o),u.push(l.join(o)),u.join(o)}function ze(t,n){if(t!=null)switch(n){case void 0:case"b":return!!t;case"i":return Math.trunc(t)||0;case"f":return Number(t)||0;case"s":return t===!0?"":t===!1?null:String(t);case"I":return Array.isArray(t)||(t=[t]),t.map(e=>Math.trunc(e)||0);case"F":return Array.isArray(t)||(t=[t]),t.map(e=>Number(e)||0);case"S":return Array.isArray(t)||(t=[t]),t.map(String)}}function Xn(t,n,e,i){let o={};for(let[r,{type:l,mutuallyExclusive:u,isPath:f,useNodeResolution:x,cliOnly:c}]of Object.entries(t)){let g=ze(n[r],l),F=ze(e[r],l);if(g==null){if(F!=null){if(c)continue;if(Array.isArray(F)){let m;f&&(F=F.map(a=>an(a,i,x))),u!=null&&(m=n[u])?o[r]=F.filter(a=>!m.includes(a)):o[r]=F.slice()}else f&&(F=an(F,i,x)),o[r]=F}}else if(F==null)Array.isArray(g)?o[r]=g.slice():o[r]=g;else if(Array.isArray(g)){if(c){o[r]=g.slice();continue}let m;f&&(F=F.map(a=>an(a,i,x))),u!=null&&(m=n[u])?o[r]=[...g,...F.filter(a=>!g.includes(a)&&!m.includes(a))]:o[r]=[...g,...F.filter(a=>!g.includes(a))]}else o[r]=g}return o}function kt(t){let n=v.parse(t);return n.root||(n.root="./"),v.format(n)}function an(t,n,e=!1){return v.isAbsolute(t)?t:e&&!t.startsWith(".")&&Ce.resolve?Ce.resolve(t,{paths:[n]}):kt(v.join(n,t))}function Kn(t,n){for(let[e,{default:i}]of Object.entries(t))n[e]==null&&i!=null&&(n[e]=i)}var Se="0.27.29",Q={version:{category:"General",description:"Prints just the compiler's version and exits.",type:"b",alias:"v"},help:{category:"General",description:"Prints this message and exits.",type:"b",alias:"h"},config:{category:"General",description:"Configuration file to apply. CLI arguments take precedence.",type:"s",cliOnly:!0},target:{category:"General",description:"Configuration file target to use. Defaults to 'release'.",type:"s",cliOnly:!0},optimize:{category:"Optimization",description:["Optimizes the module. Typical shorthands are:",""," Default optimizations -O"," Make a release build -O --noAssert"," Make a debug build --debug"," Optimize for speed -Ospeed"," Optimize for size -Osize",""],type:"b",alias:"O"},optimizeLevel:{category:"Optimization",description:"How much to focus on optimizing code. [0-3]",type:"i"},shrinkLevel:{category:"Optimization",description:"How much to focus on shrinking code size. [0-2, s=1, z=2]",type:"i"},converge:{category:"Optimization",description:"Re-optimizes until no further improvements can be made.",type:"b",default:!1},noAssert:{category:"Optimization",description:"Replaces assertions with just their value without trapping.",type:"b",default:!1},outFile:{category:"Output",description:"Specifies the WebAssembly output file (.wasm).",type:"s",alias:"o",isPath:!0},textFile:{category:"Output",description:"Specifies the WebAssembly text output file (.wat).",type:"s",alias:"t",isPath:!0},bindings:{category:"Output",description:["Specifies the bindings to generate (.js + .d.ts).",""," esm JavaScript bindings & typings for ESM integration."," raw Like esm, but exports just the instantiate function."," Useful where modules are meant to be instantiated"," multiple times or non-ESM imports must be provided."],type:"S",alias:"b"},sourceMap:{category:"Debugging",description:["Enables source map generation. Optionally takes the URL","used to reference the source map from the binary file."],type:"s"},uncheckedBehavior:{category:"Debugging",description:["Changes the behavior of unchecked() expressions.","Using this option can potentially cause breakage.",""," default The default behavior: unchecked operations are"," only used inside of unchecked()."," never Unchecked operations are never used, even when"," inside of unchecked()."," always Unchecked operations are always used if possible,"," whether or not unchecked() is used."],type:"s",default:"default"},debug:{category:"Debugging",description:"Enables debug information in emitted binaries.",type:"b",default:!1},importMemory:{category:"Features",description:"Imports the memory from 'env.memory'.",type:"b",default:!1},noExportMemory:{category:"Features",description:"Does not export the memory as 'memory'.",type:"b",default:!1},initialMemory:{category:"Features",description:"Sets the initial memory size in pages.",type:"i",default:0},maximumMemory:{category:"Features",description:"Sets the maximum memory size in pages.",type:"i",default:0},sharedMemory:{category:"Features",description:"Declare memory as shared. Requires maximumMemory.",type:"b",default:!1},zeroFilledMemory:{category:"Features",description:"Assume imported memory is zeroed. Requires importMemory.",type:"b",default:!1},importTable:{category:"Features",description:"Imports the function table from 'env.table'.",type:"b",default:!1},exportTable:{category:"Features",description:"Exports the function table as 'table'.",type:"b",default:!1},exportStart:{category:"Features",description:["Exports the start function using the specified name instead","of calling it implicitly. Useful to obtain the exported memory","before executing any code accessing it."],type:"s"},runtime:{category:"Features",description:["Specifies the runtime variant to include in the program.",""," incremental TLSF + incremental GC (default)"," minimal TLSF + lightweight GC invoked externally"," stub Minimal runtime stub (never frees)"," ... Path to a custom runtime implementation",""],type:"s",default:"incremental"},exportRuntime:{category:"Features",description:["Always exports the runtime helpers (__new, __collect, __pin etc.).","Automatically determined when generation of --bindings is enabled."],type:"b",default:!1},stackSize:{category:"Features",description:["Overrides the stack size. Only relevant for incremental GC","or when using a custom runtime that requires stack space.","Defaults to 0 without and to 32768 with incremental GC."],default:0,type:"i"},enable:{category:"Features",description:["Enables WebAssembly features being disabled by default.",""," threads Threading and atomic operations."," simd SIMD types and operations."," reference-types Reference types and operations."," gc Garbage collection (WIP)."," stringref String reference types."," relaxed-simd Relaxed SIMD operations.",""],TODO_doesNothingYet:[" exception-handling Exception handling."," tail-calls Tail call operations."," multi-value Multi value types."," memory64 Memory64 operations."," extended-const Extended const expressions."],type:"S",mutuallyExclusive:"disable"},disable:{category:"Features",description:["Disables WebAssembly features being enabled by default.",""," mutable-globals Mutable global imports and exports."," sign-extension Sign-extension operations"," nontrapping-f2i Non-trapping float to integer ops."," bulk-memory Bulk memory operations.",""],type:"S",mutuallyExclusive:"enable"},use:{category:"Features",description:["Aliases a global object under another name, e.g., to switch","the default 'Math' implementation used: --use Math=JSMath","Can also be used to introduce an integer constant."],type:"S",alias:"u"},lowMemoryLimit:{category:"Features",description:"Enforces very low (<64k) memory constraints.",default:0,type:"i"},memoryBase:{category:"Linking",description:"Sets the start offset of emitted memory segments.",type:"i",default:0},tableBase:{category:"Linking",description:"Sets the start offset of emitted table elements.",type:"i",default:0},transform:{category:"API",description:"Specifies the path to a custom transform to load.",type:"S",isPath:!0,useNodeResolution:!0},trapMode:{category:"Binaryen",description:["Sets the trap mode to use.",""," allow Allow trapping operations. This is the default."," clamp Replace trapping operations with clamping semantics."," js Replace trapping operations with JS semantics.",""],type:"s",default:"allow"},runPasses:{category:"Binaryen",description:["Specifies additional Binaryen passes to run after other","optimizations, if any. See: Binaryen/src/passes/pass.cpp"],type:"s"},noValidate:{category:"Binaryen",description:"Skips validating the module using Binaryen.",type:"b",default:!1},baseDir:{description:"Specifies the base directory of input and output files.",type:"s",default:"."},noColors:{description:"Disables terminal colors.",type:"b",default:!1},noUnsafe:{description:["Disallows the use of unsafe features in user code.","Does not affect library files and external modules."],type:"b",default:!1},disableWarning:{description:["Disables warnings matching the given diagnostic code.","If no diagnostic code is given, all warnings are disabled."],type:"I"},noEmit:{description:"Performs compilation as usual but does not emit code.",type:"b",default:!1},showConfig:{description:"Print computed compiler options and exit.",type:"b",default:!1},stats:{description:"Prints statistics on I/O and compile times.",type:"b",default:!1},pedantic:{description:"Make yourself sad for no good reason.",type:"b",default:!1},lib:{description:["Adds one or multiple paths to custom library components and","uses exports of all top-level files at this path as globals."],type:"S",isPath:!0},path:{description:["Adds one or multiple paths to package resolution, similar","to node_modules. Prefers an 'ascMain' entry in a package's","package.json and falls back to an inner 'assembly/' folder."],type:"S",isPath:!0},wasm:{description:"Uses the specified Wasm binary of the compiler.",type:"s"}," ...":{description:"Specifies node.js options (CLI only). See: node --help"},"-Os":{value:{optimizeLevel:0,shrinkLevel:1}},"-Oz":{value:{optimizeLevel:0,shrinkLevel:2}},"-O0":{value:{optimizeLevel:0,shrinkLevel:0}},"-O1":{value:{optimizeLevel:1,shrinkLevel:0}},"-O2":{value:{optimizeLevel:2,shrinkLevel:0}},"-O3":{value:{optimizeLevel:3,shrinkLevel:0}},"-O0s":{value:{optimizeLevel:0,shrinkLevel:1}},"-O1s":{value:{optimizeLevel:1,shrinkLevel:1}},"-O2s":{value:{optimizeLevel:2,shrinkLevel:1}},"-O3s":{value:{optimizeLevel:3,shrinkLevel:1}},"-O0z":{value:{optimizeLevel:0,shrinkLevel:2}},"-O1z":{value:{optimizeLevel:1,shrinkLevel:2}},"-O2z":{value:{optimizeLevel:2,shrinkLevel:2}},"-O3z":{value:{optimizeLevel:3,shrinkLevel:2}},"-Ospeed":{value:{optimizeLevel:3,shrinkLevel:0}},"-Osize":{value:{optimizeLevel:0,shrinkLevel:2,converge:!0}},"--measure":{value:{stats:!0}}},De="~lib/",Ie={array:`/// - -import { BLOCK_MAXSIZE } from "./rt/common"; -import { Runtime } from "shared/runtime"; -import { COMPARATOR, SORT } from "./util/sort"; -import { REVERSE, FILL } from "./util/bytes"; -import { joinBooleanArray, joinIntegerArray, joinFloatArray, joinStringArray, joinReferenceArray } from "./util/string"; -import { idof, isArray as builtin_isArray } from "./builtins"; -import { E_INDEXOUTOFRANGE, E_INVALIDLENGTH, E_EMPTYARRAY, E_HOLEYARRAY } from "./util/error"; - -// @ts-ignore: decorator -@inline @lazy const MIN_SIZE: usize = 8; - -/** Ensures that the given array has _at least_ the specified backing size. */ -function ensureCapacity(array: usize, newSize: usize, alignLog2: u32, canGrow: bool = true): void { - // Depends on the fact that Arrays mimic ArrayBufferView - let oldCapacity = changetype(array).byteLength; - if (newSize > oldCapacity >>> alignLog2) { - if (newSize > BLOCK_MAXSIZE >>> alignLog2) throw new RangeError(E_INVALIDLENGTH); - let oldData = changetype(changetype(array).buffer); - // Grows old capacity by factor of two. - // Make sure we don't reach BLOCK_MAXSIZE for new growed capacity. - let newCapacity = max(newSize, MIN_SIZE) << alignLog2; - if (canGrow) newCapacity = max(min(oldCapacity << 1, BLOCK_MAXSIZE), newCapacity); - let newData = __renew(oldData, newCapacity); - // __new / __renew already init memory range as zeros in Incremental runtime. - // So try to avoid this. - if (ASC_RUNTIME != Runtime.Incremental) { - memory.fill(newData + oldCapacity, 0, newCapacity - oldCapacity); - } - if (newData != oldData) { // oldData has been free'd - store(array, newData, offsetof("buffer")); - store(array, newData, offsetof("dataStart")); - __link(array, changetype(newData), false); - } - store(array, newCapacity, offsetof("byteLength")); - } -} - -export class Array { - [key: number]: T; - - // Mimicking ArrayBufferView isn't strictly necessary here but is done to allow glue code - // to work with typed and normal arrays interchangeably. Technically, normal arrays do not need - // \`dataStart\` (equals \`buffer\`) and \`byteLength\` (equals computed \`buffer.byteLength\`), but the - // block is 16 bytes anyway so it's fine to have a couple extra fields in there. - - private buffer: ArrayBuffer; - @unsafe readonly dataStart: usize; - private byteLength: i32; // Uses here as capacity - - // Also note that Array with non-nullable T must guard against uninitialized null values - // whenever an element is accessed. Otherwise, the compiler wouldn't be able to guarantee - // type-safety anymore. For lack of a better word, such an array is "holey". - - private length_: i32; - - static isArray(value: U): bool { - return isReference() ? changetype(value) != 0 && builtin_isArray(value) : false; - } - - static create(capacity: i32 = 0): Array { - WARNING("'Array.create' is deprecated. Use 'new Array' instead, making sure initial elements are initialized."); - let array = new Array(capacity); - array.length = 0; - return array; - } - - constructor(length: i32 = 0) { - if (length > BLOCK_MAXSIZE >>> alignof()) throw new RangeError(E_INVALIDLENGTH); - // reserve capacity for at least MIN_SIZE elements - let bufferSize = max(length, MIN_SIZE) << alignof(); - let buffer = changetype(__new(bufferSize, idof())); - if (ASC_RUNTIME != Runtime.Incremental) { - memory.fill(changetype(buffer), 0, bufferSize); - } - this.buffer = buffer; // links - this.dataStart = changetype(buffer); - this.byteLength = bufferSize; - this.length_ = length; - } - - get length(): i32 { - return this.length_; - } - - set length(newLength: i32) { - ensureCapacity(changetype(this), newLength, alignof(), false); - this.length_ = newLength; - } - - every(fn: (value: T, index: i32, array: Array) => bool): bool { - for (let i = 0, len = this.length_; i < min(len, this.length_); ++i) { - if (!fn(load(this.dataStart + (i << alignof())), i, this)) return false; - } - return true; - } - - findIndex(fn: (value: T, index: i32, array: Array) => bool): i32 { - for (let i = 0, len = this.length_; i < min(len, this.length_); ++i) { - if (fn(load(this.dataStart + (i << alignof())), i, this)) return i; - } - return -1; - } - - findLastIndex(fn: (value: T, index: i32, array: Array) => bool): i32 { - for (let i = this.length_ - 1; i >= 0; --i) { - if (fn(load(this.dataStart + (i << alignof())), i, this)) return i; - } - return -1; - } - - @operator("[]") private __get(index: i32): T { - if (index >= this.length_) throw new RangeError(E_INDEXOUTOFRANGE); - let value = load(this.dataStart + (index << alignof())); - if (isReference()) { - if (!isNullable()) { - if (!changetype(value)) throw new Error(E_HOLEYARRAY); - } - } - return value; - } - - @unsafe @operator("{}") private __uget(index: i32): T { - return load(this.dataStart + (index << alignof())); - } - - @operator("[]=") private __set(index: i32, value: T): void { - if (index >= this.length_) { - if (index < 0) throw new RangeError(E_INDEXOUTOFRANGE); - ensureCapacity(changetype(this), index + 1, alignof()); - this.length_ = index + 1; - } - store(this.dataStart + (index << alignof()), value); - if (isManaged()) { - __link(changetype(this), changetype(value), true); - } - } - - at(index: i32): T { - let len = this.length_; - index += select(0, len, index >= 0); - if (index >= len) throw new RangeError(E_INDEXOUTOFRANGE); - let value = load(this.dataStart + (index << alignof())); - if (isReference()) { - if (!isNullable()) { - if (!changetype(value)) throw new Error(E_HOLEYARRAY); - } - } - return value; - } - - fill(value: T, start: i32 = 0, end: i32 = i32.MAX_VALUE): Array { - if (isManaged()) { - FILL(this.dataStart, this.length_, changetype(value), start, end); - __link(changetype(this), changetype(value), false); - } else { - FILL(this.dataStart, this.length_, value, start, end); - } - return this; - } - - includes(value: T, fromIndex: i32 = 0): bool { - if (isFloat()) { - let len = this.length_; - if (len == 0 || fromIndex >= len) return false; - if (fromIndex < 0) fromIndex = max(len + fromIndex, 0); - let ptr = this.dataStart; - while (fromIndex < len) { - let elem = load(ptr + (fromIndex << alignof())); - // @ts-ignore - if (elem == value || isNaN(elem) & isNaN(value)) return true; - ++fromIndex; - } - return false; - } else { - return this.indexOf(value, fromIndex) >= 0; - } - } - - indexOf(value: T, fromIndex: i32 = 0): i32 { - let len = this.length_; - if (len == 0 || fromIndex >= len) return -1; - if (fromIndex < 0) fromIndex = max(len + fromIndex, 0); - let ptr = this.dataStart; - while (fromIndex < len) { - if (load(ptr + (fromIndex << alignof())) == value) return fromIndex; - ++fromIndex; - } - return -1; - } - - lastIndexOf(value: T, fromIndex: i32 = this.length_): i32 { - let len = this.length_; - if (len == 0) return -1; - if (fromIndex < 0) fromIndex = len + fromIndex; - else if (fromIndex >= len) fromIndex = len - 1; - let ptr = this.dataStart; - while (fromIndex >= 0) { - if (load(ptr + (fromIndex << alignof())) == value) return fromIndex; - --fromIndex; - } - return -1; - } - - push(value: T): i32 { - let oldLen = this.length_; - let len = oldLen + 1; - ensureCapacity(changetype(this), len, alignof()); - if (isManaged()) { - store(this.dataStart + (oldLen << alignof()), changetype(value)); - __link(changetype(this), changetype(value), true); - } else { - store(this.dataStart + (oldLen << alignof()), value); - } - this.length_ = len; - return len; - } - - concat(other: Array): Array { - let thisLen = this.length_; - let otherLen = other.length_; - let outLen = thisLen + otherLen; - if (outLen > BLOCK_MAXSIZE >>> alignof()) throw new Error(E_INVALIDLENGTH); - let out = changetype>(__newArray(outLen, alignof(), idof>())); - let outStart = out.dataStart; - let thisSize = thisLen << alignof(); - if (isManaged()) { - let thisStart = this.dataStart; - for (let offset: usize = 0; offset < thisSize; offset += sizeof()) { - let ref = load(thisStart + offset); - store(outStart + offset, ref); - __link(changetype(out), ref, true); - } - outStart += thisSize; - let otherStart = other.dataStart; - let otherSize = otherLen << alignof(); - for (let offset: usize = 0; offset < otherSize; offset += sizeof()) { - let ref = load(otherStart + offset); - store(outStart + offset, ref); - __link(changetype(out), ref, true); - } - } else { - memory.copy(outStart, this.dataStart, thisSize); - memory.copy(outStart + thisSize, other.dataStart, otherLen << alignof()); - } - return out; - } - - copyWithin(target: i32, start: i32, end: i32 = i32.MAX_VALUE): Array { - let ptr = this.dataStart; - let len = this.length_; - - end = min(end, len); - - let to = target < 0 ? max(len + target, 0) : min(target, len); - let from = start < 0 ? max(len + start, 0) : min(start, len); - let last = end < 0 ? max(len + end, 0) : min(end, len); - let count = min(last - from, len - to); - - memory.copy( // is memmove - ptr + (to << alignof()), - ptr + (from << alignof()), - count << alignof() - ); - return this; - } - - pop(): T { - let len = this.length_; - if (len < 1) throw new RangeError(E_EMPTYARRAY); - let val = load(this.dataStart + ((--len) << alignof())); - this.length_ = len; - return val; - } - - forEach(fn: (value: T, index: i32, array: Array) => void): void { - for (let i = 0, len = this.length_; i < min(len, this.length_); ++i) { - fn(load(this.dataStart + (i << alignof())), i, this); - } - } - - map(fn: (value: T, index: i32, array: Array) => U): Array { - let len = this.length_; - let out = changetype>(__newArray(len, alignof(), idof>())); - let outStart = out.dataStart; - for (let i = 0; i < min(len, this.length_); ++i) { - let result = fn(load(this.dataStart + (i << alignof())), i, this); - store(outStart + (i << alignof()), result); - if (isManaged()) { - __link(changetype(out), changetype(result), true); - } - } - return out; - } - - filter(fn: (value: T, index: i32, array: Array) => bool): Array { - let result = changetype>(__newArray(0, alignof(), idof>())); - for (let i = 0, len = this.length_; i < min(len, this.length_); ++i) { - let value = load(this.dataStart + (i << alignof())); - if (fn(value, i, this)) result.push(value); - } - return result; - } - - reduce( - fn: (previousValue: U, currentValue: T, currentIndex: i32, array: Array) => U, - initialValue: U - ): U { - let acc = initialValue; - for (let i = 0, len = this.length_; i < min(len, this.length_); ++i) { - acc = fn(acc, load(this.dataStart + (i << alignof())), i, this); - } - return acc; - } - - reduceRight( - fn: (previousValue: U, currentValue: T, currentIndex: i32, array: Array) => U, - initialValue: U - ): U { - let acc = initialValue; - for (let i = this.length_ - 1; i >= 0; --i) { - acc = fn(acc, load(this.dataStart + (i << alignof())), i, this); - } - return acc; - } - - shift(): T { - let len = this.length_; - if (len < 1) throw new RangeError(E_EMPTYARRAY); - let base = this.dataStart; - let element = load(base); - let lastIndex = len - 1; - memory.copy( - base, - base + sizeof(), - lastIndex << alignof() - ); - if (isReference()) { - store(base + (lastIndex << alignof()), 0); - } else { - // @ts-ignore - store(base + (lastIndex << alignof()), 0); - } - this.length_ = lastIndex; - return element; - } - - some(fn: (value: T, index: i32, array: Array) => bool): bool { - for (let i = 0, len = this.length_; i < min(len, this.length_); ++i) { - if (fn(load(this.dataStart + (i << alignof())), i, this)) return true; - } - return false; - } - - unshift(value: T): i32 { - let len = this.length_ + 1; - ensureCapacity(changetype(this), len, alignof()); - let ptr = this.dataStart; - memory.copy( - ptr + sizeof(), - ptr, - (len - 1) << alignof() - ); - store(ptr, value); - if (isManaged()) { - __link(changetype(this), changetype(value), true); - } - this.length_ = len; - return len; - } - - slice(start: i32 = 0, end: i32 = i32.MAX_VALUE): Array { - let len = this.length_; - start = start < 0 ? max(start + len, 0) : min(start, len); - end = end < 0 ? max(end + len, 0) : min(end , len); - len = max(end - start, 0); - let slice = changetype>(__newArray(len, alignof(), idof>())); - let sliceBase = slice.dataStart; - let thisBase = this.dataStart + (start << alignof()); - if (isManaged()) { - let off = 0; - let end = len << alignof(); - while (off < end) { - let ref = load(thisBase + off); - store(sliceBase + off, ref); - __link(changetype(slice), ref, true); - off += sizeof(); - } - } else { - memory.copy(sliceBase, thisBase, len << alignof()); - } - return slice; - } - - splice(start: i32, deleteCount: i32 = i32.MAX_VALUE): Array { - let len = this.length_; - start = start < 0 ? max(len + start, 0) : min(start, len); - deleteCount = max(min(deleteCount, len - start), 0); - let result = changetype>(__newArray(deleteCount, alignof(), idof>())); - let resultStart = result.dataStart; - let thisStart = this.dataStart; - let thisBase = thisStart + (start << alignof()); - memory.copy( - resultStart, - thisBase, - deleteCount << alignof() - ); - let offset = start + deleteCount; - if (len != offset) { - memory.copy( - thisBase, - thisStart + (offset << alignof()), - (len - offset) << alignof() - ); - } - this.length_ = len - deleteCount; - return result; - } - - reverse(): Array { - REVERSE(this.dataStart, this.length_); - return this; - } - - sort(comparator: (a: T, b: T) => i32 = COMPARATOR()): Array { - SORT(this.dataStart, this.length_, comparator); - return this; - } - - join(separator: string = ","): string { - let ptr = this.dataStart; - let len = this.length_; - if (isBoolean()) return joinBooleanArray(ptr, len, separator); - if (isInteger()) return joinIntegerArray(ptr, len, separator); - if (isFloat()) return joinFloatArray(ptr, len, separator); - - if (ASC_SHRINK_LEVEL < 1) { - if (isString()) return joinStringArray(ptr, len, separator); - } - // For rest objects and arrays use general join routine - if (isReference()) return joinReferenceArray(ptr, len, separator); - ERROR("unspported element type"); - return unreachable(); - } - - flat(): T { - if (!isArray()) { - ERROR("Cannot call flat() on Array where T is not an Array."); - } - // Get the length and data start values - let ptr = this.dataStart; - let len = this.length_; - - // calculate the end size with an initial pass - let size = 0; - for (let i = 0; i < len; ++i) { - let child = load(ptr + (i << alignof())); - size += child == 0 ? 0 : load(child, offsetof("length_")); - } - - // calculate the byteLength of the resulting backing ArrayBuffer - const align = alignof>(); - let byteLength = size << align; - let outBuffer = changetype(__new(byteLength, idof())); - - // create the return value and initialize it - let outArray = changetype(__new(offsetof(), idof())); - store(changetype(outArray), size, offsetof("length_")); - - // byteLength, dataStart, and buffer are all readonly - store(changetype(outArray), byteLength, offsetof("byteLength")); - store(changetype(outArray), changetype(outBuffer), offsetof("dataStart")); - store(changetype(outArray), changetype(outBuffer), offsetof("buffer")); - __link(changetype(outArray), changetype(outBuffer), false); - - // set the elements - let resultOffset: usize = 0; - for (let i = 0; i < len; ++i) { // for each child - let child = load(ptr + (i << alignof())); - - // ignore null arrays - if (!child) continue; - - // copy the underlying buffer data to the result buffer - let childDataLength = load(child, offsetof("length_")) << align; - memory.copy( - changetype(outBuffer) + resultOffset, - load(child, offsetof("dataStart")), - childDataLength - ); - - // advance the result length - resultOffset += childDataLength; - } - - // if the \`valueof\` type is managed, we must link each reference - if (isManaged>()) { - for (let i = 0; i < size; ++i) { - let ref = load(changetype(outBuffer) + (i << usize(alignof>()))); - __link(changetype(outBuffer), ref, true); - } - } - - return outArray; - } - - toString(): string { - return this.join(); - } - - // RT integration - - @unsafe private __visit(cookie: u32): void { - if (isManaged()) { - let cur = this.dataStart; - let end = cur + (this.length_ << alignof()); - while (cur < end) { - let val = load(cur); - if (val) __visit(val, cookie); - cur += sizeof(); - } - } - __visit(changetype(this.buffer), cookie); - } -} -`,arraybuffer:`/// - -import { OBJECT, BLOCK_MAXSIZE, TOTAL_OVERHEAD } from "./rt/common"; -import { Runtime } from "shared/runtime"; -import { idof } from "./builtins"; -import { E_INVALIDLENGTH } from "./util/error"; - -export abstract class ArrayBufferView { - - readonly buffer: ArrayBuffer; - @unsafe readonly dataStart: usize; - readonly byteLength: i32; - - get byteOffset(): i32 { - return (this.dataStart - changetype(this.buffer)); - } - - protected constructor(length: i32, alignLog2: i32) { - if (length > BLOCK_MAXSIZE >>> alignLog2) throw new RangeError(E_INVALIDLENGTH); - let buffer = changetype(__new(length = length << alignLog2, idof())); - if (ASC_RUNTIME != Runtime.Incremental) { - memory.fill(changetype(buffer), 0, length); - } - this.buffer = buffer; // links - this.dataStart = changetype(buffer); - this.byteLength = length; - } -} - -@final export class ArrayBuffer { - - static isView(value: T): bool { - if (isNullable()) { - if (changetype(value) == 0) return false; - } - if (value instanceof Int8Array) return true; - if (value instanceof Uint8Array) return true; - if (value instanceof Uint8ClampedArray) return true; - if (value instanceof Int16Array) return true; - if (value instanceof Uint16Array) return true; - if (value instanceof Int32Array) return true; - if (value instanceof Uint32Array) return true; - if (value instanceof Int64Array) return true; - if (value instanceof Uint64Array) return true; - if (value instanceof Float32Array) return true; - if (value instanceof Float64Array) return true; - if (value instanceof DataView) return true; - return false; - } - - constructor(length: i32) { - if (length > BLOCK_MAXSIZE) throw new RangeError(E_INVALIDLENGTH); - let buffer = changetype(__new(length, idof())); - if (ASC_RUNTIME != Runtime.Incremental) { - memory.fill(changetype(buffer), 0, length); - } - return buffer; - } - - get byteLength(): i32 { - return changetype(changetype(this) - TOTAL_OVERHEAD).rtSize; - } - - slice(begin: i32 = 0, end: i32 = BLOCK_MAXSIZE): ArrayBuffer { - let length = this.byteLength; - begin = begin < 0 ? max(length + begin, 0) : min(begin, length); - end = end < 0 ? max(length + end , 0) : min(end , length); - let outSize = max(end - begin, 0); - let out = changetype(__new(outSize, idof())); - memory.copy(changetype(out), changetype(this) + begin, outSize); - return out; - } - - toString(): string { - return "[object ArrayBuffer]"; - } -} -`,atomics:`import { ArrayBufferView } from "./arraybuffer"; -import { E_INDEXOUTOFRANGE } from "./util/error"; - -export namespace Atomics { - - // @ts-ignore: decorator - @inline - export function load(array: T, index: i32): valueof { - const align = alignof>(); - if (index < 0 || (index << align) >= array.byteLength) throw new RangeError(E_INDEXOUTOFRANGE); - return atomic.load>( - changetype(array.buffer) + (index << align) + array.byteOffset - ); - } - - // @ts-ignore: decorator - @inline - export function store(array: T, index: i32, value: valueof): void { - const align = alignof>(); - if (index < 0 || (index << align) >= array.byteLength) throw new RangeError(E_INDEXOUTOFRANGE); - atomic.store>( - changetype(array.buffer) + (index << align) + array.byteOffset, - value - ); - } - - // @ts-ignore: decorator - @inline - export function add(array: T, index: i32, value: valueof): valueof { - const align = alignof>(); - if (index < 0 || (index << align) >= array.byteLength) throw new RangeError(E_INDEXOUTOFRANGE); - return atomic.add>( - changetype(array.buffer) + (index << align) + array.byteOffset, - value - ); - } - - // @ts-ignore: decorator - @inline - export function sub(array: T, index: i32, value: valueof): valueof { - const align = alignof>(); - if (index < 0 || (index << align) >= array.byteLength) throw new RangeError(E_INDEXOUTOFRANGE); - return atomic.sub>( - changetype(array.buffer) + (index << align) + array.byteOffset, - value - ); - } - - // @ts-ignore: decorator - @inline - export function and(array: T, index: i32, value: valueof): valueof { - const align = alignof>(); - if (index < 0 || (index << align) >= array.byteLength) throw new RangeError(E_INDEXOUTOFRANGE); - return atomic.and>( - changetype(array.buffer) + (index << align) + array.byteOffset, - value - ); - } - - // @ts-ignore: decorator - @inline - export function or(array: T, index: i32, value: valueof): valueof { - const align = alignof>(); - if (index < 0 || (index << align) >= array.byteLength) throw new RangeError(E_INDEXOUTOFRANGE); - return atomic.or>( - changetype(array.buffer) + (index << align) + array.byteOffset, - value - ); - } - - // @ts-ignore: decorator - @inline - export function xor(array: T, index: i32, value: valueof): valueof { - const align = alignof>(); - if (index < 0 || (index << align) >= array.byteLength) throw new RangeError(E_INDEXOUTOFRANGE); - return atomic.xor>( - changetype(array.buffer) + (index << align) + array.byteOffset, - value - ); - } - - // @ts-ignore: decorator - @inline - export function exchange(array: T, index: i32, value: valueof): valueof { - const align = alignof>(); - if (index < 0 || (index << align) >= array.byteLength) throw new RangeError(E_INDEXOUTOFRANGE); - return atomic.xchg>( - changetype(array.buffer) + (index << align) + array.byteOffset, - value - ); - } - - // @ts-ignore: decorator - @inline - export function compareExchange( - array: T, - index: i32, - expectedValue: valueof, - replacementValue: valueof - ): valueof { - const align = alignof>(); - if (index < 0 || (index << align) >= array.byteLength) throw new RangeError(E_INDEXOUTOFRANGE); - return atomic.cmpxchg>( - changetype(array.buffer) + (index << align) + array.byteOffset, - expectedValue, - replacementValue - ); - } - - // @ts-ignore: decorator - @inline - export function wait(array: T, value: valueof, timeout: i64 = -1): AtomicWaitResult { - return atomic.wait>(changetype(array.buffer) + array.byteOffset, value, timeout); - } - - // @ts-ignore: decorator - @inline - export function notify(array: T, index: i32, count: i32 = -1): i32 { - const align = alignof>(); - if (index < 0 || (index << align) >= array.byteLength) throw new RangeError(E_INDEXOUTOFRANGE); - return atomic.notify(changetype(array.buffer) + (index << align) + array.byteOffset, count); - } - - export function isLockFree(size: usize): bool { - return size == 1 || size == 2 || size == 4; - } -} -`,"bindings/asyncify":`@unmanaged -export class StackDescriptor { - /** The index in linear memory of the start of the \u201Casyncify stack\u201D. */ - stackStart: usize; - /** The index of the end of that stack region, which implies how big it is. */ - stackEnd: usize; -} - -/** Starts to unwind the call stack. */ -export declare function start_unwind(data: StackDescriptor): void; -/** Stops unwinding the call stack. */ -export declare function stop_unwind(): void; -/** Starts to rewind the call stack. */ -export declare function start_rewind(data: StackDescriptor): void; -/** Stops rewinding the call stack. */ -export declare function stop_rewind(): void; -`,"bindings/dom":`@external("env", "globalThis") -export declare const globalThis: externref; - -export declare namespace Math { - @external("env", "Math.E") - export const E: f64; - @external("env", "Math.LN2") - export const LN2: f64; - @external("env", "Math.LN10") - export const LN10: f64; - @external("env", "Math.LOG2E") - export const LOG2E: f64; - @external("env", "Math.LOG10E") - export const LOG10E: f64; - @external("env", "Math.PI") - export const PI: f64; - @external("env", "Math.SQRT1_2") - export const SQRT1_2: f64; - @external("env", "Math.SQRT2") - export const SQRT2: f64; - @external("env", "Math.abs") - export function abs(x: f64): f64; - @external("env", "Math.acos") - export function acos(x: f64): f64; - @external("env", "Math.acosh") - export function acosh(x: f64): f64; - @external("env", "Math.asin") - export function asin(x: f64): f64; - @external("env", "Math.asinh") - export function asinh(x: f64): f64; - @external("env", "Math.atan") - export function atan(x: f64): f64; - @external("env", "Math.atan2") - export function atan2(y: f64, x: f64): f64; - @external("env", "Math.atanh") - export function atanh(x: f64): f64; - @external("env", "Math.cbrt") - export function cbrt(x: f64): f64; - @external("env", "Math.ceil") - export function ceil(x: f64): f64; - @external("env", "Math.clz32") - export function clz32(x: f64): f64; - @external("env", "Math.cos") - export function cos(x: f64): f64; - @external("env", "Math.cosh") - export function cosh(x: f64): f64; - @external("env", "Math.exp") - export function exp(x: f64): f64; - @external("env", "Math.expm1") - export function expm1(x: f64): f64; - @external("env", "Math.floor") - export function floor(x: f64): f64; - @external("env", "Math.fround") - export function fround(x: f64): f32; - @external("env", "Math.hypot") - export function hypot(value1: f64, value2: f64): f64; // TODO: rest - @external("env", "Math.imul") - export function imul(a: f64, b: f64): f64; - @external("env", "Math.log") - export function log(x: f64): f64; - @external("env", "Math.log10") - export function log10(x: f64): f64; - @external("env", "Math.log1p") - export function log1p(x: f64): f64; - @external("env", "Math.log2") - export function log2(x: f64): f64; - @external("env", "Math.max") - export function max(value1: f64, value2: f64): f64; // TODO: rest - @external("env", "Math.min") - export function min(value1: f64, value2: f64): f64; // TODO: rest - @external("env", "Math.pow") - export function pow(base: f64, exponent: f64): f64; - @external("env", "Math.random") - export function random(): f64; - @external("env", "Math.round") - export function round(x: f64): f64; - @external("env", "Math.sign") - export function sign(x: f64): f64; - @external("env", "Math.sin") - export function sin(x: f64): f64; - @external("env", "Math.sinh") - export function sinh(x: f64): f64; - @external("env", "Math.sqrt") - export function sqrt(x: f64): f64; - @external("env", "Math.tan") - export function tan(x: f64): f64; - @external("env", "Math.tanh") - export function tanh(x: f64): f64; - @external("env", "Math.trunc") - export function trunc(x: f64): f64; -} - -export declare namespace Reflect { - @external("env", "Reflect.get") - export function get(target: externref, propertyKey: string): externref; - @external("env", "Reflect.getWithReceiver") - @external.js("return Reflect.get(target, propertyKey, receiver);") - export function getWithReceiver(target: externref, propertyKey: string, receiver: externref): externref; - @external("env", "Reflect.has") - export function has(target: externref, propertyKey: string): bool; - @external("env", "Reflect.set") - export function set(target: externref, propertyKey: string, value: externref): externref; - @external("env", "Reflect.setWithReceiver") - @external.js("return Reflect.set(target, propertyKey, value, receiver);") - export function setWithReceiver(target: externref, propertyKey: string, value: externref , receiver: externref): externref; - @external("env", "Reflect.apply") - export function apply(target: externref, thisArgument: externref, argumentsList: externref): externref; -} - -export declare namespace String { - @external("env", "String.fromCodePoint") - export function fromCodePoint(codepoint: i32): externref; - @external("env", "String.fromCodePoints") - @external.js("return String.fromCodePoint(...codepoints);") - export function fromCodePoints(codepoints: i32[]): externref; -} - -export declare namespace Object { - @external("env", "Object.is") - export function is(a: externref, b: externref): bool; - @external("env", "Object.hasOwn") - export function hasOwn(target: externref, propertyKey: string): bool; - @external("env", "Object.assign") - export function assign(target: externref, source: externref): externref; - @external("env", "Object.keys") - export function keys(target: externref): externref; - @external("env", "Object.values") - export function values(target: externref): externref; - @external("env", "Object.entries") - export function entries(target: externref): externref; - @external("env", "Object.getOwnPropertyNames") - export function getOwnPropertyNames(target: externref): externref; -} - -export declare namespace Date { - @external("env", "Date.now") - export function now(): f64; -} - -export declare namespace console { - @external("env", "console.assert") - export function assert(condition: bool, message: string): void; - @external("env", "console.log") - export function log(text: string): void; - @external("env", "console.debug") - export function debug(text: string): void; - @external("env", "console.info") - export function info(text: string): void; - @external("env", "console.warn") - export function warn(text: string): void; - @external("env", "console.error") - export function error(text: string): void; - @external("env", "console.time") - export function time(label: string): void; - @external("env", "console.timeLog") - export function timeLog(label: string): void; - @external("env", "console.timeEnd") - export function timeEnd(label: string): void; -} - -export declare namespace document { - /** Returns document's encoding. */ - @external("env", "document.characterSet") - export const characterSet: string; - /** Returns a value that indicates whether standards-compliant mode is switched on for the object. */ - @external("env", "document.compatMode") - export const compatMode: string; - /** Returns document's content type. */ - @external("env", "document.contentType") - export const contentType: string; - /** Returns a reference to the root node of the document. */ - @external("env", "document.documentElement") - export const documentElement: externref; - /** Returns document's URL. */ - @external("env", "document.documentURI") - export const documentURI: string; - /** Returns the URL of the location that referred the user to the current page. */ - @external("env", "document.referrer") - export const referrer: string; - /** Returns true if document has the ability of fullscreen mode, or false otherwise. */ - @external("env", "document.pictureInPictureEnabled") - export const fullscreenEnabled: bool; - /** Returns true if document has the ability of picture-in-picture mode, or false otherwise. */ - @external("env", "document.pictureInPictureEnabled") - export const pictureInPictureEnabled: bool; - - /** Returns the number of child elements. */ - @external("env", "document.childElementCount") - export const childElementCount: i32; - /** Returns the child elements. */ - @external("env", "document.children") - export const children: externref; - /** Returns the first child that is an element, and null otherwise. */ - @external("env", "document.firstElementChild") - export const firstElementChild: externref; - /** Returns the last child that is an element, and null otherwise. */ - @external("env", "document.lastElementChild") - export const lastElementChild: externref; - - /** - * Returns the HTTP cookies that apply to the Document. If there are no cookies or cookies can't be applied - * to this resource, the empty string will be returned. - * - * Can be set, to add a new cookie to the element's set of HTTP cookies. - * - * If the contents are sandboxed into a unique origin (e.g. in an iframe with the sandbox attribute), - * a "SecurityError" DOMException will be thrown on getting and setting. - */ - @external("env", "document.cookie") - export let cookie: string; - /** Represents the or node of the current document, or null if no such element exists. */ - @external("env", "document.body") - export let body: externref; - /** Sets or gets the security domain of the document. */ - @external("env", "document.domain") - export let domain: string; - /** Sets or gets the title of the document. */ - @external("env", "document.title") - export let title: string; - /** Sets or gets information about the current Location. */ - @external("env", "document.location") - export let location: externref; - /** Sets or gets the URL for the current document. */ - @external("env", "document.URL") - export let URL: string; - - /** - * Creates an instance of the element for the specified tag. - * @param tagName The name of an element. - */ - @external("env", "document.createElement") - export function createElement(tagName: string /* , options?: ElementCreationOptions */): externref; - /** - * Returns a reference to the first HTMLElement object with the specified value of the ID attribute. - * @param id String that specifies the ID value. - */ - @external("env", "document.getElementById") - export function getElementById(id: string): externref; - /** - * Returns a HTMLCollection of the elements in the object on which the method was invoked that have all the classes - * given by classNames. The classNames argument is interpreted as a space-separated list of classes. - * @param classNames Gets a collection of objects based on the value of the CLASS attribute. - */ - @external("env", "document.getElementsByClassName") - export function getElementsByClassName(classNames: string): externref; - /** - * Gets a collection of HTMLElement objects based on the value of the NAME or ID attribute. - * @param elementName Gets a collection of objects based on the value of the NAME or ID attribute. - */ - @external("env", "document.getElementsByName") - export function getElementsByName(elementName: string): externref; - /** Gets a value indicating whether the object currently has focus. */ - @external("env", "document.hasFocus") - export function hasFocus(): bool; - /** Inserts nodes after the last child of node, while replacing strings in nodes with equivalent Text nodes. */ - @external("env", "document.append") - export function append(node: externref): void; - /** Inserts nodes before the first child of node, while replacing strings in nodes with equivalent Text nodes. */ - @external("env", "document.prepend") - export function prepend(node: externref): void; - /** Replace all children of node with nodes, while replacing strings in nodes with equivalent Text nodes. */ - @external("env", "document.replaceChildren") - export function replaceChildren(node: externref): void; - /** - * Writes one or more HTML expressions to a document in the specified window. - * @param content Specifies the text and HTML tags to write. - */ - @external("env", "document.write") - export function write(content: string): void; - /** - * Writes one or more HTML expressions, followed by a carriage return, to a document in the specified window. - * @param content Specifies the text and HTML tags to write. - */ - @external("env", "document.writeln") - export function writeln(content: string): void; -} - -export declare namespace performance { - @external("env", "performance.now") - export function now(): f64; -} - -export namespace crypto { - export function getRandomValues(array: Uint8Array): void { - let values = getRandomValuesN(array.length); - array.set(values); - } - @external("env", "crypto.getRandomValuesN") - @external.js("let a = new Uint8Array(n); crypto.getRandomValues(a); return a;") - export declare function getRandomValuesN(n: u32): Uint8Array; -} -`,"bindings/node":`export declare namespace process { - @external("env", "process.argv") - export const argv: string[]; - @external("env", "process.exit") - export function exit(code: i32): void; -} -`,builtins:`import { strtol, strtod, strtob } from "./util/string"; - -type auto = i32; - -// @ts-ignore: decorator -@builtin -export declare function isBoolean(value?: T): bool; - -// @ts-ignore: decorator -@builtin -export declare function isInteger(value?: T): bool; - -// @ts-ignore: decorator -@builtin -export declare function isSigned(value?: T): bool; - -// @ts-ignore: decorator -@builtin -export declare function isFloat(value?: T): bool; - -// @ts-ignore: decorator -@builtin -export declare function isVector(value?: T): bool; - -// @ts-ignore: decorator -@builtin -export declare function isReference(value?: T): bool; - -// @ts-ignore: decorator -@builtin -export declare function isString(value?: T): bool; - -// @ts-ignore: decorator -@builtin -export declare function isArray(value?: T): bool; - -// @ts-ignore: decorator -@builtin -export declare function isArrayLike(value?: T): bool; - -// @ts-ignore: decorator -@builtin -export declare function isFunction(value?: T): bool; - -// @ts-ignore: decorator -@builtin -export declare function isNullable(value?: T): bool; - -// @ts-ignore: decorator -@builtin -export declare function isDefined(expression: auto): bool; - -// @ts-ignore: decorator -@builtin -export declare function isConstant(expression: auto): bool; - -// @ts-ignore: decorator -@builtin -export declare function isManaged(value?: T): bool; - -// @ts-ignore: decorator -@builtin -export declare function isVoid(): bool; - -// @ts-ignore -@builtin -export declare function lengthof(func?: T): i32; - -// @ts-ignore: decorator -@builtin -export declare function clz(value: T): T; - -// @ts-ignore: decorator -@builtin -export declare function ctz(value: T): T; - -// @ts-ignore: decorator -@builtin -export declare function popcnt(value: T): T; - -// @ts-ignore: decorator -@builtin -export declare function rotl(value: T, shift: T): T; - -// @ts-ignore: decorator -@builtin -export declare function rotr(value: T, shift: T): T; - -// @ts-ignore: decorator -@builtin -export declare function abs(value: T): T; - -// @ts-ignore: decorator -@builtin -export declare function max(left: T, right: T): T; - -// @ts-ignore: decorator -@builtin -export declare function min(left: T, right: T): T; - -// @ts-ignore: decorator -@builtin -export declare function ceil(value: T): T; - -// @ts-ignore: decorator -@builtin -export declare function floor(value: T): T; - -// @ts-ignore: decorator -@builtin -export declare function copysign(left: T, right: T): T; - -// @ts-ignore: decorator -@builtin -export declare function nearest(value: T): T; - -// @ts-ignore: decorator -@builtin -export declare function reinterpret(value: number): T; - -// @ts-ignore: decorator -@builtin -export declare function sqrt(value: T): T; - -// @ts-ignore: decorator -@builtin -export declare function trunc(value: T): T; - -// @ts-ignore: decorator -@builtin -export declare function add(left: T, right: T): T; - -// @ts-ignore: decorator -@builtin -export declare function sub(left: T, right: T): T; - -// @ts-ignore: decorator -@builtin -export declare function mul(left: T, right: T): T; - -// @ts-ignore: decorator -@builtin -export declare function div(left: T, right: T): T; - -// @ts-ignore: decorator -@builtin -export declare function eq(left: T, right: T): i32; - -// @ts-ignore: decorator -@builtin -export declare function ne(left: T, right: T): i32; - -// @ts-ignore: decorator -@builtin -export declare function rem(left: T, right: T): T; - -// @ts-ignore: decorator -@unsafe @builtin -export declare function load(ptr: usize, immOffset?: usize, immAlign?: usize): T; - -// @ts-ignore: decorator -@unsafe @builtin -export declare function store(ptr: usize, value: auto, immOffset?: usize, immAlign?: usize): void; - -// @ts-ignore: decorator -@builtin -export declare function sizeof(): usize; // | u32 / u64 - -// @ts-ignore: decorator -@builtin -export declare function alignof(): usize; // | u32 / u64 - -// @ts-ignore: decorator -@builtin -export declare function offsetof(fieldName?: string): usize; // | u32 / u64 - -// @ts-ignore: decorator -@builtin -export declare function idof(): u32; - -// @ts-ignore -@builtin -export declare function nameof(): string; - -// @ts-ignore: decorator -@builtin -export declare function select(ifTrue: T, ifFalse: T, condition: bool): T; - -// @ts-ignore: decorator -@unsafe @builtin -export declare function unreachable(): auto; - -// @ts-ignore: decorator -@builtin -export declare function changetype(value: auto): T; - -// @ts-ignore: decorator -@builtin -export declare function assert(isTrueish: T, message?: string): T; - -// @ts-ignore: decorator -@unsafe @builtin -export declare function unchecked(expr: T): T; - -// @ts-ignore: decorator -@unsafe @builtin -export declare function call_indirect(index: u32, ...args: auto[]): T; - -// @ts-ignore: decorator -@builtin -export declare function instantiate(...args: auto[]): T; - -export namespace atomic { - // @ts-ignore: decorator - @unsafe @builtin - export declare function load(ptr: usize, immOffset?: usize): T; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function store(ptr: usize, value: T, immOffset?: usize): void; - - // @ts-ignore: decorator - @builtin - export declare function add(ptr: usize, value: T, immOffset?: usize): T; - - // @ts-ignore: decorator - @builtin - export declare function sub(ptr: usize, value: T, immOffset?: usize): T; - - // @ts-ignore: decorator - @builtin - export declare function and(ptr: usize, value: T, immOffset?: usize): T; - - // @ts-ignore: decorator - @builtin - export declare function or(ptr: usize, value: T, immOffset?: usize): T; - - // @ts-ignore: decorator - @builtin - export declare function xor(ptr: usize, value: T, immOffset?: usize): T; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function xchg(ptr: usize, value: T, immOffset?: usize): T; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function cmpxchg(ptr: usize, expected: T, replacement: T, immOffset?: usize): T; - - // @ts-ignore: decorator - @builtin - export declare function wait(ptr: usize, expected: T, timeout: i64): AtomicWaitResult; - - // @ts-ignore: decorator - @builtin - export declare function notify(ptr: usize, count: i32): i32; - - // @ts-ignore: decorator - @builtin - export declare function fence(): void; -} - -// @ts-ignore: decorator -@lazy -export const enum AtomicWaitResult { - OK = 0, - NOT_EQUAL = 1, - TIMED_OUT = 2 -} - -// @ts-ignore: decorator -@builtin -export declare function i8(value: auto): i8; - -export namespace i8 { - - // @ts-ignore: decorator - @lazy - export const MIN_VALUE: i8 = -128; - - // @ts-ignore: decorator - @lazy - export const MAX_VALUE: i8 = 127; - - // @ts-ignore: decorator - @inline - export function parse(value: string, radix: i32 = 0): i8 { - return strtol(value, radix); - } -} - -// @ts-ignore: decorator -@builtin -export declare function i16(value: auto): i16; - -export namespace i16 { - - // @ts-ignore: decorator - @lazy - export const MIN_VALUE: i16 = -32768; - - // @ts-ignore: decorator - @lazy - export const MAX_VALUE: i16 = 32767; - - // @ts-ignore: decorator - @inline - export function parse(value: string, radix: i32 = 0): i16 { - return strtol(value, radix); - } -} - -// @ts-ignore: decorator -@builtin -export declare function i32(value: auto): i32; - -export namespace i32 { - - // @ts-ignore: decorator - @lazy - export const MIN_VALUE: i32 = -2147483648; - - // @ts-ignore: decorator - @lazy - export const MAX_VALUE: i32 = 2147483647; - - // @ts-ignore: decorator - @inline - export function parse(value: string, radix: i32 = 0): i32 { - return strtol(value, radix); - } - - // @ts-ignore: decorator - @builtin - export declare function clz(value: i32): i32; - - // @ts-ignore: decorator - @builtin - export declare function ctz(value: i32): i32; - - // @ts-ignore: decorator - @builtin - export declare function popcnt(value: i32): i32; - - // @ts-ignore: decorator - @builtin - export declare function add(left: i32, right:i32): i32; - - // @ts-ignore: decorator - @builtin - export declare function sub(left: i32, right:i32): i32; - - // @ts-ignore: decorator - @builtin - export declare function mul(left: i32, right:i32): i32; - - // @ts-ignore: decorator - @builtin - export declare function div_s(left: i32, right:i32): i32; - - // @ts-ignore: decorator - @builtin - export declare function div_u(left: i32, right:i32): i32; - - // @ts-ignore: decorator - @builtin - export declare function rotl(value: i32, shift: i32): i32; - - // @ts-ignore: decorator - @builtin - export declare function rotr(value: i32, shift: i32): i32; - - // @ts-ignore: decorator - @builtin - export declare function eq(left: i32, right:i32): i32; - - // @ts-ignore: decorator - @builtin - export declare function ne(left: i32, right:i32): i32; - - // @ts-ignore: decorator - @builtin - export declare function rem_s(left: i32, right: i32): i32; - - // @ts-ignore: decorator - @builtin - export declare function rem_u(left: u32, right: u32): u32; - - // @ts-ignore: decorator - @builtin - export declare function reinterpret_f32(value: f32): i32; - - // @ts-ignore: decorator - @builtin - export declare function load8_s(ptr: usize, immOffset?: usize, immAlign?: usize): i32; - - // @ts-ignore: decorator - @builtin - export declare function load8_u(ptr: usize, immOffset?: usize, immAlign?: usize): i32; - - // @ts-ignore: decorator - @builtin - export declare function load16_s(ptr: usize, immOffset?: usize, immAlign?: usize): i32; - - // @ts-ignore: decorator - @builtin - export declare function load16_u(ptr: usize, immOffset?: usize, immAlign?: usize): i32; - - // @ts-ignore: decorator - @builtin - export declare function load(ptr: usize, immOffset?: usize, immAlign?: usize): i32; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function store8(ptr: usize, value: i32, immOffset?: usize, immAlign?: usize): void; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function store16(ptr: usize, value: i32, immOffset?: usize, immAlign?: usize): void; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function store(ptr: usize, value: i32, immOffset?: usize, immAlign?: usize): void; - - export namespace atomic { - - // @ts-ignore: decorator - @builtin - export declare function load8_u(ptr: usize, immOffset?: usize): i32; - - // @ts-ignore: decorator - @builtin - export declare function load16_u(ptr: usize, immOffset?: usize): i32; - - // @ts-ignore: decorator - @builtin - export declare function load(ptr: usize, immOffset?: usize): i32; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function store8(ptr: usize, value: i32, immOffset?: usize): void; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function store16(ptr: usize, value: i32, immOffset?: usize): void; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function store(ptr: usize, value: i32, immOffset?: usize): void; - - export namespace rmw8 { - - // @ts-ignore: decorator - @builtin - export declare function add_u(ptr: usize, value: i32, immOffset?: usize): i32; - - // @ts-ignore: decorator - @builtin - export declare function sub_u(ptr: usize, value: i32, immOffset?: usize): i32; - - // @ts-ignore: decorator - @builtin - export declare function and_u(ptr: usize, value: i32, immOffset?: usize): i32; - - // @ts-ignore: decorator - @builtin - export declare function or_u(ptr: usize, value: i32, immOffset?: usize): i32; - - // @ts-ignore: decorator - @builtin - export declare function xor_u(ptr: usize, value: i32, immOffset?: usize): i32; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function xchg_u(ptr: usize, value: i32, immOffset?: usize): i32; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function cmpxchg_u(ptr: usize, expected: i32, replacement: i32, immOffset?: usize): i32; - } - - export namespace rmw16 { - - // @ts-ignore: decorator - @builtin - export declare function add_u(ptr: usize, value: i32, immOffset?: usize): i32; - - // @ts-ignore: decorator - @builtin - export declare function sub_u(ptr: usize, value: i32, immOffset?: usize): i32; - - // @ts-ignore: decorator - @builtin - export declare function and_u(ptr: usize, value: i32, immOffset?: usize): i32; - - // @ts-ignore: decorator - @builtin - export declare function or_u(ptr: usize, value: i32, immOffset?: usize): i32; - - // @ts-ignore: decorator - @builtin - export declare function xor_u(ptr: usize, value: i32, immOffset?: usize): i32; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function xchg_u(ptr: usize, value: i32, immOffset?: usize): i32; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function cmpxchg_u(ptr: usize, expected: i32, replacement: i32, immOffset?: usize): i32; - } - - export namespace rmw { - - // @ts-ignore: decorator - @builtin - export declare function add(ptr: usize, value: i32, immOffset?: usize): i32; - - // @ts-ignore: decorator - @builtin - export declare function sub(ptr: usize, value: i32, immOffset?: usize): i32; - - // @ts-ignore: decorator - @builtin - export declare function and(ptr: usize, value: i32, immOffset?: usize): i32; - - // @ts-ignore: decorator - @builtin - export declare function or(ptr: usize, value: i32, immOffset?: usize): i32; - - // @ts-ignore: decorator - @builtin - export declare function xor(ptr: usize, value: i32, immOffset?: usize): i32; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function xchg(ptr: usize, value: i32, immOffset?: usize): i32; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function cmpxchg(ptr: usize, expected: i32, replacement: i32, immOffset?: usize): i32; - } - } -} - -// @ts-ignore: decorator -@builtin -export declare function i64(value: auto): i64; - -export namespace i64 { - - // @ts-ignore: decorator - @lazy - export const MIN_VALUE: i64 = -9223372036854775808; - - // @ts-ignore: decorator - @lazy - export const MAX_VALUE: i64 = 9223372036854775807; - - // @ts-ignore: decorator - @inline - export function parse(value: string, radix: i32 = 0): i64 { - return strtol(value, radix); - } - - // @ts-ignore: decorator - @builtin - export declare function clz(value: i64): i64; - - // @ts-ignore: decorator - @builtin - export declare function ctz(value: i64): i64; - - // @ts-ignore: decorator - @builtin - export declare function add(left: i64, right:i64): i64; - - // @ts-ignore: decorator - @builtin - export declare function sub(left: i64, right:i64): i64; - - // @ts-ignore: decorator - @builtin - export declare function mul(left: i64, right:i64): i64; - - // @ts-ignore: decorator - @builtin - export declare function div_s(left: i64, right:i64): i64; - - // @ts-ignore: decorator - @builtin - export declare function div_u(left: i64, right:i64): i64; - - // @ts-ignore: decorator - @builtin - export declare function load8_s(ptr: usize, immOffset?: usize, immAlign?: usize): i64; - - // @ts-ignore: decorator - @builtin - export declare function load8_u(ptr: usize, immOffset?: usize, immAlign?: usize): i64; - - // @ts-ignore: decorator - @builtin - export declare function load16_s(ptr: usize, immOffset?: usize, immAlign?: usize): i64; - - // @ts-ignore: decorator - @builtin - export declare function load16_u(ptr: usize, immOffset?: usize, immAlign?: usize): i64; - - // @ts-ignore: decorator - @builtin - export declare function load32_s(ptr: usize, immOffset?: usize, immAlign?: usize): i64; - - // @ts-ignore: decorator - @builtin - export declare function load32_u(ptr: usize, immOffset?: usize, immAlign?: usize): i64; - - // @ts-ignore: decorator - @builtin - export declare function load(ptr: usize, immOffset?: usize): i64; - - // @ts-ignore: decorator - @builtin - export declare function popcnt(value: i64): i64; - - // @ts-ignore: decorator - @builtin - export declare function rotl(value: i64, shift: i64): i64; - - // @ts-ignore: decorator - @builtin - export declare function rotr(value: i64, shift: i64): i64; - - // @ts-ignore: decorator - @builtin - export declare function eq(left: i64, right:i64): i32; - - // @ts-ignore: decorator - @builtin - export declare function ne(left: i64, right:i64): i32; - - // @ts-ignore: decorator - @builtin - export declare function rem_s(left: i64, right: i64): i64; - - // @ts-ignore: decorator - @builtin - export declare function rem_u(left: u64, right: u64): u64; - - // @ts-ignore: decorator - @builtin - export declare function reinterpret_f64(value: f64): i64; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function store8(ptr: usize, value: i64, immOffset?: usize, immAlign?: usize): void; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function store16(ptr: usize, value: i64, immOffset?: usize, immAlign?: usize): void; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function store32(ptr: usize, value: i64, immOffset?: usize, immAlign?: usize): void; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function store(ptr: usize, value: i64, immOffset?: usize, immAlign?: usize): void; - - export namespace atomic { - - // @ts-ignore: decorator - @builtin - export declare function load8_u(ptr: usize, immOffset?: usize): i64; - - // @ts-ignore: decorator - @builtin - export declare function load16_u(ptr: usize, immOffset?: usize): i64; - - // @ts-ignore: decorator - @builtin - export declare function load32_u(ptr: usize, immOffset?: usize): i64; - - // @ts-ignore: decorator - @builtin - export declare function load(ptr: usize, immOffset?: usize): i64; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function store8(ptr: usize, value: i64, immOffset?: usize): void; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function store16(ptr: usize, value: i64, immOffset?: usize): void; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function store32(ptr: usize, value: i64, immOffset?: usize): void; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function store(ptr: usize, value: i64, immOffset?: usize): void; - - export namespace rmw8 { - - // @ts-ignore: decorator - @builtin - export declare function add_u(ptr: usize, value: i64, immOffset?: usize): i64; - - // @ts-ignore: decorator - @builtin - export declare function sub_u(ptr: usize, value: i64, immOffset?: usize): i64; - - // @ts-ignore: decorator - @builtin - export declare function and_u(ptr: usize, value: i64, immOffset?: usize): i64; - - // @ts-ignore: decorator - @builtin - export declare function or_u(ptr: usize, value: i64, immOffset?: usize): i64; - - // @ts-ignore: decorator - @builtin - export declare function xor_u(ptr: usize, value: i64, immOffset?: usize): i64; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function xchg_u(ptr: usize, value: i64, immOffset?: usize): i64; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function cmpxchg_u(ptr: usize, expected: i64, replacement: i64, immOffset?: usize): i64; - } - - export namespace rmw16 { - - // @ts-ignore: decorator - @builtin - export declare function add_u(ptr: usize, value: i64, immOffset?: usize): i64; - - // @ts-ignore: decorator - @builtin - export declare function sub_u(ptr: usize, value: i64, immOffset?: usize): i64; - - // @ts-ignore: decorator - @builtin - export declare function and_u(ptr: usize, value: i64, immOffset?: usize): i64; - - // @ts-ignore: decorator - @builtin - export declare function or_u(ptr: usize, value: i64, immOffset?: usize): i64; - - // @ts-ignore: decorator - @builtin - export declare function xor_u(ptr: usize, value: i64, immOffset?: usize): i64; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function xchg_u(ptr: usize, value: i64, immOffset?: usize): i64; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function cmpxchg_u(ptr: usize, expected: i64, replacement: i64, immOffset?: usize): i64; - } - - export namespace rmw32 { - - // @ts-ignore: decorator - @builtin - export declare function add_u(ptr: usize, value: i64, immOffset?: usize): i64; - - // @ts-ignore: decorator - @builtin - export declare function sub_u(ptr: usize, value: i64, immOffset?: usize): i64; - - // @ts-ignore: decorator - @builtin - export declare function and_u(ptr: usize, value: i64, immOffset?: usize): i64; - - // @ts-ignore: decorator - @builtin - export declare function or_u(ptr: usize, value: i64, immOffset?: usize): i64; - - // @ts-ignore: decorator - @builtin - export declare function xor_u(ptr: usize, value: i64, immOffset?: usize): i64; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function xchg_u(ptr: usize, value: i64, immOffset?: usize): i64; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function cmpxchg_u(ptr: usize, expected: i64, replacement: i64, immOffset?: usize): i64; - } - - export namespace rmw { - - // @ts-ignore: decorator - @builtin - export declare function add(ptr: usize, value: i64, immOffset?: usize): i64; - - // @ts-ignore: decorator - @builtin - export declare function sub(ptr: usize, value: i64, immOffset?: usize): i64; - - // @ts-ignore: decorator - @builtin - export declare function and(ptr: usize, value: i64, immOffset?: usize): i64; - - // @ts-ignore: decorator - @builtin - export declare function or(ptr: usize, value: i64, immOffset?: usize): i64; - - // @ts-ignore: decorator - @builtin - export declare function xor(ptr: usize, value: i64, immOffset?: usize): i64; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function xchg(ptr: usize, value: i64, immOffset?: usize): i64; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function cmpxchg(ptr: usize, expected: i64, replacement: i64, immOffset?: usize): i64; - } - } -} - -// @ts-ignore: decorator -@builtin -export declare function isize(value: auto): isize; - -export namespace isize { - - // @ts-ignore: decorator - @lazy - export const MIN_VALUE: isize = sizeof() == sizeof() - ? -2147483648 - : -9223372036854775808; - - // @ts-ignore: decorator - @lazy - export const MAX_VALUE: isize = sizeof() == sizeof() - ? 2147483647 - : 9223372036854775807; - - // @ts-ignore: decorator - @inline - export function parse(value: string, radix: i32 = 0): isize { - return strtol(value, radix); - } -} - -// @ts-ignore: decorator -@builtin -export declare function u8(value: auto): u8; - -export namespace u8 { - - // @ts-ignore: decorator - @lazy - export const MIN_VALUE: u8 = 0; - - // @ts-ignore: decorator - @lazy - export const MAX_VALUE: u8 = 255; - - // @ts-ignore: decorator - @inline - export function parse(value: string, radix: i32 = 0): u8 { - return strtol(value, radix); - } -} - -// @ts-ignore: decorator -@builtin -export declare function u16(value: auto): u16; - -export namespace u16 { - - // @ts-ignore: decorator - @lazy - export const MIN_VALUE: u16 = 0; - - // @ts-ignore: decorator - @lazy - export const MAX_VALUE: u16 = 65535; - - // @ts-ignore: decorator - @inline - export function parse(value: string, radix: i32 = 0): u16 { - return strtol(value, radix); - } -} - -// @ts-ignore: decorator -@builtin -export declare function u32(value: auto): u32; - -export namespace u32 { - - // @ts-ignore: decorator - @lazy - export const MIN_VALUE: u32 = 0; - - // @ts-ignore: decorator - @lazy - export const MAX_VALUE: u32 = 4294967295; - - // @ts-ignore: decorator - @inline - export function parse(value: string, radix: i32 = 0): u32 { - return strtol(value, radix); - } -} - -// @ts-ignore: decorator -@builtin -export declare function u64(value: auto): u64; - -export namespace u64 { - - // @ts-ignore: decorator - @lazy - export const MIN_VALUE: u64 = 0; - - // @ts-ignore: decorator - @lazy - export const MAX_VALUE: u64 = 18446744073709551615; - - // @ts-ignore: decorator - @inline - export function parse(value: string, radix: i32 = 0): u64 { - return strtol(value, radix); - } -} - -// @ts-ignore: decorator -@builtin -export declare function usize(value: auto): usize; - -export namespace usize { - - // @ts-ignore: decorator - @lazy - export const MIN_VALUE: usize = 0; - - // @ts-ignore: decorator - @lazy - export const MAX_VALUE: usize = sizeof() == sizeof() - ? 4294967295 - : 18446744073709551615; - - // @ts-ignore: decorator - @inline - export function parse(value: string, radix: i32 = 0): usize { - return strtol(value, radix); - } -} - -// @ts-ignore: decorator -@builtin -export declare function bool(value: auto): bool; - -export namespace bool { - - // @ts-ignore: decorator - @lazy - export const MIN_VALUE: bool = false; - - // @ts-ignore: decorator - @lazy - export const MAX_VALUE: bool = true; - - // @ts-ignore: decorator - @inline - export function parse(value: string): bool { - return strtob(value); - } -} - -// @ts-ignore: decorator -@builtin -export declare function f32(value: auto): f32; - -export namespace f32 { - - // @ts-ignore: decorator - @lazy - export const EPSILON = reinterpret(0x34000000); // 0x1p-23f - - // @ts-ignore: decorator - @lazy - export const MIN_VALUE = reinterpret(0x00000001); // 0x0.000001p+0f - - // @ts-ignore: decorator - @lazy - export const MAX_VALUE = reinterpret(0x7F7FFFFF); // 0x1.fffffep+127f - - // @ts-ignore: decorator - @lazy - export const MIN_NORMAL_VALUE = reinterpret(0x00800000); // 0x1p-126f - - // @ts-ignore: decorator - @lazy - export const MIN_SAFE_INTEGER: f32 = -16777215; - - // @ts-ignore: decorator - @lazy - export const MAX_SAFE_INTEGER: f32 = 16777215; - - // @ts-ignore: decorator - @lazy - export const POSITIVE_INFINITY: f32 = Infinity; - - // @ts-ignore: decorator - @lazy - export const NEGATIVE_INFINITY: f32 = -Infinity; - - // @ts-ignore: decorator - @lazy - export const NaN: f32 = 0.0 / 0.0; - - // @ts-ignore: decorator - @inline - export function parse(value: string): f32 { - return strtod(value); - } - - // @ts-ignore: decorator - @builtin - export declare function abs(value: f32): f32; - - // @ts-ignore: decorator - @builtin - export declare function ceil(value: f32): f32; - - // @ts-ignore: decorator - @builtin - export declare function copysign(x: f32, y: f32): f32; - - // @ts-ignore: decorator - @builtin - export declare function floor(value: f32): f32; - - // @ts-ignore: decorator - @builtin - export declare function load(ptr: usize, immOffset?: usize, immAlign?: usize): f32; - - // @ts-ignore: decorator - @builtin - export declare function max(left: f32, right: f32): f32; - - // @ts-ignore: decorator - @builtin - export declare function min(left: f32, right: f32): f32; - - // @ts-ignore: decorator - @builtin - export declare function nearest(value: f32): f32; - - // @ts-ignore: decorator - @builtin - export declare function reinterpret_i32(value: i32): f32; - - // @ts-ignore: decorator - @builtin - export declare function sqrt(value: f32): f32; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function store(ptr: usize, value: f32, immOffset?: usize, immAlign?: usize): void; - - // @ts-ignore: decorator - @builtin - export declare function trunc(value: f32): f32; - - // @ts-ignore: decorator - @builtin - export declare function add(left: f32, right: f32): f32; - - // @ts-ignore: decorator - @builtin - export declare function sub(left: f32, right: f32): f32; - - // @ts-ignore: decorator - @builtin - export declare function mul(left: f32, right: f32): f32; - - // @ts-ignore: decorator - @builtin - export declare function div(left: f32, right: f32): f32; - - // @ts-ignore: decorator - @builtin - export declare function eq(left: f32, right: f32): i32; - - // @ts-ignore: decorator - @builtin - export declare function ne(left: f32, right: f32): i32; -} - -// @ts-ignore: decorator -@builtin -export declare function f64(value: auto): f64; - -export namespace f64 { - - // @ts-ignore: decorator - @lazy - export const EPSILON = reinterpret(0x3CB0000000000000); // 0x1p-52 - - // @ts-ignore: decorator - @lazy - export const MIN_VALUE = reinterpret(0x0000000000000001); // 0x0.0000000000001p+0 - - // @ts-ignore: decorator - @lazy - export const MAX_VALUE = reinterpret(0x7FEFFFFFFFFFFFFF); // 0x1.fffffffffffffp+1023 - - // @ts-ignore: decorator - @lazy - export const MIN_NORMAL_VALUE = reinterpret(0x0010000000000000); // 0x1p-1022 - - // @ts-ignore: decorator - @lazy - export const MIN_SAFE_INTEGER: f64 = -9007199254740991; - - // @ts-ignore: decorator - @lazy - export const MAX_SAFE_INTEGER: f64 = 9007199254740991; - - // @ts-ignore: decorator - @lazy - export const POSITIVE_INFINITY: f64 = Infinity; - - // @ts-ignore: decorator - @lazy - export const NEGATIVE_INFINITY: f64 = -Infinity; - - // @ts-ignore: decorator - @lazy - export const NaN: f64 = 0.0 / 0.0; - - // @ts-ignore: decorator - @inline - export function parse(value: string): f64 { - return strtod(value); - } - - // @ts-ignore: decorator - @builtin - export declare function abs(value: f64): f64; - - // @ts-ignore: decorator - @builtin - export declare function ceil(value: f64): f64; - - // @ts-ignore: decorator - @builtin - export declare function copysign(x: f64, y: f64): f64; - - // @ts-ignore: decorator - @builtin - export declare function floor(value: f64): f64; - - // @ts-ignore: decorator - @builtin - export declare function load(ptr: usize, immOffset?: usize, immAlign?: usize): f64; - - // @ts-ignore: decorator - @builtin - export declare function max(left: f64, right: f64): f64; - - // @ts-ignore: decorator - @builtin - export declare function min(left: f64, right: f64): f64; - - // @ts-ignore: decorator - @builtin - export declare function nearest(value: f64): f64; - - // @ts-ignore: decorator - @builtin - export declare function reinterpret_i64(value: i64): f64; - - // @ts-ignore: decorator - @builtin - export declare function sqrt(value: f64): f64; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function store(ptr: usize, value: f64, immOffset?: usize, immAlign?: usize): void; - - // @ts-ignore: decorator - @builtin - export declare function trunc(value: f64): f64; - - // @ts-ignore: decorator - @builtin - export declare function add(left: f64, right: f64): f64; - - // @ts-ignore: decorator - @builtin - export declare function sub(left: f64, right: f64): f64; - - // @ts-ignore: decorator - @builtin - export declare function mul(left: f64, right: f64): f64; - - // @ts-ignore: decorator - @builtin - export declare function div(left: f64, right: f64): f64; - - // @ts-ignore: decorator - @builtin - export declare function eq(left: f64, right: f64): i32; - - // @ts-ignore: decorator - @builtin - export declare function ne(left: f64, right: f64): i32; -} - -// @ts-ignore: decorator -@builtin -export declare function v128( - a: i8, b: i8, c: i8, d: i8, e: i8, f: i8, g: i8, h: i8, - i: i8, j: i8, k: i8, l: i8, m: i8, n: i8, o: i8, p: i8 -): v128; - -export namespace v128 { - - // @ts-ignore: decorator - @builtin - export declare function splat(x: T): v128; - - // @ts-ignore: decorator - @builtin - export declare function extract_lane(x: v128, idx: u8): T; - - // @ts-ignore: decorator - @builtin - export declare function replace_lane(x: v128, idx: u8, value: T): v128; - - // @ts-ignore: decorator - @builtin - export declare function shuffle(a: v128, b: v128, ...lanes: u8[]): v128; - - // @ts-ignore: decorator - @builtin - export declare function swizzle(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function load(ptr: usize, immOffset?: usize, immAlign?: usize): v128; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function load_ext(ptr: usize, immOffset?: usize, immAlign?: usize): v128; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function load_zero(ptr: usize, immOffset?: usize, immAlign?: usize): v128; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function load_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): v128; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function store_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): void; - - // @ts-ignore: decorator - @builtin - export declare function load8x8_s(ptr: usize, immOffset?: u32, immAlign?: u32): v128; - - // @ts-ignore: decorator - @builtin - export declare function load8x8_u(ptr: usize, immOffset?: u32, immAlign?: u32): v128; - - // @ts-ignore: decorator - @builtin - export declare function load16x4_s(ptr: usize, immOffset?: u32, immAlign?: u32): v128; - - // @ts-ignore: decorator - @builtin - export declare function load16x4_u(ptr: usize, immOffset?: u32, immAlign?: u32): v128; - - // @ts-ignore: decorator - @builtin - export declare function load32x2_s(ptr: usize, immOffset?: u32, immAlign?: u32): v128; - - // @ts-ignore: decorator - @builtin - export declare function load32x2_u(ptr: usize, immOffset?: u32, immAlign?: u32): v128; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function load_splat(ptr: usize, immOffset?: usize, immAlign?: usize): v128; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function load8_splat(ptr: usize, immOffset?: u32, immAlign?: u32): v128; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function load16_splat(ptr: usize, immOffset?: u32, immAlign?: u32): v128; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function load32_splat(ptr: usize, immOffset?: u32, immAlign?: u32): v128; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function load64_splat(ptr: usize, immOffset?: u32, immAlign?: u32): v128; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function load32_zero(ptr: usize, immOffset?: u32, immAlign?: u32): v128; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function load64_zero(ptr: usize, immOffset?: u32, immAlign?: u32): v128; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function load8_lane(ptr: usize, vec: v128, idx: u8, immOffset?: u32, immAlign?: u32): v128; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function load16_lane(ptr: usize, vec: v128, idx: u8, immOffset?: u32, immAlign?: u32): v128; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function load32_lane(ptr: usize, vec: v128, idx: u8, immOffset?: u32, immAlign?: u32): v128; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function load64_lane(ptr: usize, vec: v128, idx: u8, immOffset?: u32, immAlign?: u32): v128; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function store8_lane(ptr: usize, vec: v128, idx: u8, immOffset?: u32, immAlign?: u32): void; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function store16_lane(ptr: usize, vec: v128, idx: u8, immOffset?: u32, immAlign?: u32): void; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function store32_lane(ptr: usize, vec: v128, idx: u8, immOffset?: u32, immAlign?: u32): void; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function store64_lane(ptr: usize, vec: v128, idx: u8, immOffset?: u32, immAlign?: u32): void; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function store(ptr: usize, value: v128, immOffset?: usize, immAlign?: usize): void; - - // @ts-ignore: decorator - @builtin - export declare function add(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function sub(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function mul(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function div(a: v128, b: v128): v128; // f32, f64 only - - // @ts-ignore: decorator - @builtin - export declare function neg(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function add_sat(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function sub_sat(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function shl(a: v128, b: i32): v128; - - // @ts-ignore: decorator - @builtin - export declare function shr(a: v128, b: i32): v128; - - // @ts-ignore: decorator - @builtin - export declare function and(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function or(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function xor(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function andnot(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function not(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function bitselect(v1: v128, v2: v128, c: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function any_true(a: v128): bool; - - // @ts-ignore: decorator - @builtin - export declare function all_true(a: v128): bool; - - // @ts-ignore: decorator - @builtin - export declare function bitmask(a: v128): i32; - - // @ts-ignore: decorator - @builtin - export declare function popcnt(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function min(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function max(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function pmin(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function pmax(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function dot(a: v128, b: v128): v128; // i16 only - - // @ts-ignore: decorator - @builtin - export declare function avgr(a: v128, b: v128): v128; // u8, u16 only - - // @ts-ignore: decorator - @builtin - export declare function abs(a: v128): v128; // f32, f64 only - - // @ts-ignore: decorator - @builtin - export declare function sqrt(a: v128): v128; // f32, f64 only - - // @ts-ignore: decorator - @builtin - export declare function ceil(a: v128): v128; // f32, f64 only - - // @ts-ignore: decorator - @builtin - export declare function floor(a: v128): v128; // f32, f64 only - - // @ts-ignore: decorator - @builtin - export declare function trunc(a: v128): v128; // f32, f64 only - - // @ts-ignore: decorator - @builtin - export declare function nearest(a: v128): v128; // f32, f64 only - - // @ts-ignore: decorator - @builtin - export declare function eq(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function ne(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function lt(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function le(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function gt(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function ge(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function convert(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function convert_low(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function trunc_sat(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function trunc_sat_zero(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function narrow(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function extend_low(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function extend_high(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function extadd_pairwise(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function demote_zero(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function promote_low(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function q15mulr_sat(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function extmul_low(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function extmul_high(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function relaxed_swizzle(a: v128, s: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function relaxed_trunc(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function relaxed_trunc_zero(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function relaxed_madd(a: v128, b: v128, c: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function relaxed_nmadd(a: v128, b: v128, c: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function relaxed_laneselect(a: v128, b: v128, m: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function relaxed_min(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function relaxed_max(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function relaxed_q15mulr(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function relaxed_dot(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function relaxed_dot_add(a: v128, b: v128, c: v128): v128; -} - -// @ts-ignore: decorator -@builtin -export declare function i8x16( - a: i8, b: i8, c: i8, d: i8, e: i8, f: i8, g: i8, h: i8, - i: i8, j: i8, k: i8, l: i8, m: i8, n: i8, o: i8, p: i8 -): v128; - -export namespace i8x16 { - - // @ts-ignore: decorator - @builtin - export declare function splat(x: i8): v128; - - // @ts-ignore: decorator - @builtin - export declare function extract_lane_s(x: v128, idx: u8): i8; - - // @ts-ignore: decorator - @builtin - export declare function extract_lane_u(x: v128, idx: u8): u8; - - // @ts-ignore: decorator - @builtin - export declare function replace_lane(x: v128, idx: u8, value: i8): v128; - - // @ts-ignore: decorator - @builtin - export declare function add(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function sub(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function min_s(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function min_u(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function max_s(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function max_u(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function avgr_u(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function abs(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function neg(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function add_sat_s(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function add_sat_u(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function sub_sat_s(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function sub_sat_u(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function shl(a: v128, b: i32): v128; - - // @ts-ignore: decorator - @builtin - export declare function shr_s(a: v128, b: i32): v128; - - // @ts-ignore: decorator - @builtin - export declare function shr_u(a: v128, b: i32): v128; - - // @ts-ignore: decorator - @builtin - export declare function all_true(a: v128): bool; - - // @ts-ignore: decorator - @builtin - export declare function bitmask(a: v128): i32; - - // @ts-ignore: decorator - @builtin - export declare function popcnt(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function eq(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function ne(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function lt_s(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function lt_u(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function le_s(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function le_u(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function gt_s(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function gt_u(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function ge_s(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function ge_u(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function narrow_i16x8_s(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function narrow_i16x8_u(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function shuffle( - a: v128, b: v128, - l0: u8, l1: u8, l2: u8, l3: u8, l4: u8, l5: u8, l6: u8, l7: u8, - l8: u8, l9: u8, l10: u8, l11: u8, l12: u8, l13: u8, l14: u8, l15: u8 - ): v128; - - // @ts-ignore: decorator - @builtin - export declare function swizzle(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function relaxed_swizzle(a: v128, s: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function relaxed_laneselect(a: v128, b: v128, m: v128): v128; -} - -// @ts-ignore: decorator -@builtin -export declare function i16x8(a: i16, b: i16, c: i16, d: i16, e: i16, f: i16, g: i16, h: i16): v128; - -export namespace i16x8 { - - // @ts-ignore: decorator - @builtin - export declare function splat(x: i16): v128; - - // @ts-ignore: decorator - @builtin - export declare function extract_lane_s(x: v128, idx: u8): i16; - - // @ts-ignore: decorator - @builtin - export declare function extract_lane_u(x: v128, idx: u8): u16; - - // @ts-ignore: decorator - @builtin - export declare function replace_lane(x: v128, idx: u8, value: i16): v128; - - // @ts-ignore: decorator - @builtin - export declare function add(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function sub(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function mul(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function min_s(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function min_u(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function max_s(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function max_u(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function avgr_u(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function abs(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function neg(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function add_sat_s(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function add_sat_u(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function sub_sat_s(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function sub_sat_u(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function shl(a: v128, b: i32): v128; - - // @ts-ignore: decorator - @builtin - export declare function shr_s(a: v128, b: i32): v128; - - // @ts-ignore: decorator - @builtin - export declare function shr_u(a: v128, b: i32): v128; - - // @ts-ignore: decorator - @builtin - export declare function all_true(a: v128): bool; - - // @ts-ignore: decorator - @builtin - export declare function bitmask(a: v128): i32; - - // @ts-ignore: decorator - @builtin - export declare function eq(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function ne(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function lt_s(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function lt_u(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function le_s(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function le_u(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function gt_s(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function gt_u(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function ge_s(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function ge_u(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function narrow_i32x4_s(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function narrow_i32x4_u(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function extend_low_i8x16_s(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function extend_low_i8x16_u(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function extend_high_i8x16_s(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function extend_high_i8x16_u(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function extadd_pairwise_i8x16_s(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function extadd_pairwise_i8x16_u(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function q15mulr_sat_s(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function extmul_low_i8x16_s(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function extmul_low_i8x16_u(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function extmul_high_i8x16_s(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function extmul_high_i8x16_u(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function shuffle( - a: v128, b: v128, - l0: u8, l1: u8, l2: u8, l3: u8, l4: u8, l5: u8, l6: u8, l7: u8 - ): v128; - - // @ts-ignore: decorator - @builtin - export declare function relaxed_laneselect(a: v128, b: v128, m: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function relaxed_q15mulr_s(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function relaxed_dot_i8x16_i7x16_s(a: v128, b: v128, c: v128): v128; -} - -// @ts-ignore: decorator -@builtin -export declare function i32x4(a: i32, b: i32, c: i32, d: i32): v128; - -export namespace i32x4 { - - // @ts-ignore: decorator - @builtin - export declare function splat(x: i32): v128; - - // @ts-ignore: decorator - @builtin - export declare function extract_lane(x: v128, idx: u8): i32; - - // @ts-ignore: decorator - @builtin - export declare function replace_lane(x: v128, idx: u8, value: i32): v128; - - // @ts-ignore: decorator - @builtin - export declare function add(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function sub(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function mul(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function min_s(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function min_u(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function max_s(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function max_u(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function dot_i16x8_s(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function abs(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function neg(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function shl(a: v128, b: i32): v128; - - // @ts-ignore: decorator - @builtin - export declare function shr_s(a: v128, b: i32): v128; - - // @ts-ignore: decorator - @builtin - export declare function shr_u(a: v128, b: i32): v128; - - // @ts-ignore: decorator - @builtin - export declare function all_true(a: v128): bool; - - // @ts-ignore: decorator - @builtin - export declare function bitmask(a: v128): i32; - - // @ts-ignore: decorator - @builtin - export declare function eq(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function ne(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function lt_s(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function lt_u(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function le_s(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function le_u(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function gt_s(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function gt_u(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function ge_s(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function ge_u(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function trunc_sat_f32x4_s(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function trunc_sat_f32x4_u(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function trunc_sat_f64x2_s_zero(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function trunc_sat_f64x2_u_zero(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function extend_low_i16x8_s(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function extend_low_i16x8_u(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function extend_high_i16x8_s(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function extend_high_i16x8_u(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function extadd_pairwise_i16x8_s(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function extadd_pairwise_i16x8_u(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function extmul_low_i16x8_s(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function extmul_low_i16x8_u(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function extmul_high_i16x8_s(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function extmul_high_i16x8_u(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function shuffle(a: v128, b: v128, l0: u8, l1: u8, l2: u8, l3: u8): v128; - - // @ts-ignore: decorator - @builtin - export declare function relaxed_trunc_f32x4_s(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function relaxed_trunc_f32x4_u(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function relaxed_trunc_f64x2_s_zero(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function relaxed_trunc_f64x2_u_zero(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function relaxed_laneselect(a: v128, b: v128, m: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function relaxed_dot_i8x16_i7x16_add_s(a: v128, b: v128, c: v128): v128; -} - -// @ts-ignore: decorator -@builtin -export declare function i64x2(a: i64, b: i64): v128; - -export namespace i64x2 { - - // @ts-ignore: decorator - @builtin - export declare function splat(x: i64): v128; - - // @ts-ignore: decorator - @builtin - export declare function extract_lane(x: v128, idx: u8): i64; - - // @ts-ignore: decorator - @builtin - export declare function replace_lane(x: v128, idx: u8, value: i64): v128; - - // @ts-ignore: decorator - @builtin - export declare function add(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function sub(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function mul(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function abs(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function neg(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function shl(a: v128, b: i32): v128; - - // @ts-ignore: decorator - @builtin - export declare function shr_s(a: v128, b: i32): v128; - - // @ts-ignore: decorator - @builtin - export declare function shr_u(a: v128, b: i32): v128; - - // @ts-ignore: decorator - @builtin - export declare function all_true(a: v128): bool; - - // @ts-ignore: decorator - @builtin - export declare function bitmask(a: v128): i32; - - // @ts-ignore: decorator - @builtin - export declare function eq(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function ne(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function lt_s(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function le_s(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function gt_s(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function ge_s(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function extend_low_i32x4_s(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function extend_low_i32x4_u(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function extend_high_i32x4_s(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function extend_high_i32x4_u(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function extmul_low_i32x4_s(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function extmul_low_i32x4_u(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function extmul_high_i32x4_s(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function extmul_high_i32x4_u(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function shuffle(a: v128, b: v128, l0: u8, l1: u8): v128; - - // @ts-ignore: decorator - @builtin - export declare function relaxed_laneselect(a: v128, b: v128, m: v128): v128; -} - -// @ts-ignore: decorator -@builtin -export declare function f32x4(a: f32, b: f32, c: f32, d: f32): v128; - -export namespace f32x4 { - - // @ts-ignore: decorator - @builtin - export declare function splat(x: f32): v128; - - // @ts-ignore: decorator - @builtin - export declare function extract_lane(x: v128, idx: u8): f32; - - // @ts-ignore: decorator - @builtin - export declare function replace_lane(x: v128, idx: u8, value: f32): v128; - - // @ts-ignore: decorator - @builtin - export declare function add(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function sub(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function mul(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function div(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function neg(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function min(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function max(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function pmin(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function pmax(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function abs(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function sqrt(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function ceil(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function floor(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function trunc(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function nearest(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function eq(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function ne(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function lt(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function le(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function gt(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function ge(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function convert_i32x4_s(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function convert_i32x4_u(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function demote_f64x2_zero(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function shuffle(a: v128, b: v128, l0: u8, l1: u8, l2: u8, l3: u8): v128; - - // @ts-ignore: decorator - @builtin - export declare function relaxed_madd(a: v128, b: v128, c: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function relaxed_nmadd(a: v128, b: v128, c: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function relaxed_min(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function relaxed_max(a: v128, b: v128): v128; -} - -// @ts-ignore: decorator -@builtin -export declare function f64x2(a: f64, b: f64): v128; - -export namespace f64x2 { - - // @ts-ignore: decorator - @builtin - export declare function splat(x: f64): v128; - - // @ts-ignore: decorator - @builtin - export declare function extract_lane(x: v128, idx: u8): f64; - - // @ts-ignore: decorator - @builtin - export declare function replace_lane(x: v128, idx: u8, value: f64): v128; - - // @ts-ignore: decorator - @builtin - export declare function add(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function sub(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function mul(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function div(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function neg(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function min(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function max(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function pmin(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function pmax(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function abs(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function sqrt(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function ceil(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function floor(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function trunc(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function nearest(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function eq(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function ne(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function lt(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function le(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function gt(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function ge(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function convert_low_i32x4_s(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function convert_low_i32x4_u(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function promote_low_f32x4(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function shuffle(a: v128, b: v128, l0: u8, l1: u8): v128; - - // @ts-ignore: decorator - @builtin - export declare function relaxed_madd(a: v128, b: v128, c: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function relaxed_nmadd(a: v128, b: v128, c: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function relaxed_min(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function relaxed_max(a: v128, b: v128): v128; -} - -@final -export abstract class i31 { // FIXME: usage of 'new' requires a class :( - - // @ts-ignore: decorator - @builtin - static new(value: i32): i31ref { return changetype(unreachable()); } - - // @ts-ignore: decorator - @builtin - static get(i31expr: i31ref): i32 { return unreachable(); } -} - -/* eslint-disable @typescript-eslint/no-unused-vars */ - -// @ts-ignore: decorator -@external("env", "abort") -@external.js("throw Error(\`\${message} in \${fileName}:\${lineNumber}:\${columnNumber}\`);") -declare function abort( - message?: string | null, - fileName?: string | null, - lineNumber?: u32, - columnNumber?: u32 -): void; - -// @ts-ignore: decorator -@external("env", "trace") -@external.js("console.log(message, ...[a0, a1, a2, a3, a4].slice(0, n));") -declare function trace( - message: string, - n?: i32, - a0?: f64, - a1?: f64, - a2?: f64, - a3?: f64, - a4?: f64 -): void; - -// @ts-ignore: decorator -@external("env", "seed") -@external.js("return Date.now() * Math.random();") -declare function seed(): f64; - -/* eslint-enable @typescript-eslint/no-unused-vars */ -`,compat:`export type ReturnType = returnof; -export type NonNullable = nonnull; -`,console:`import { - console as binding -} from "./bindings/dom"; - -export namespace console { - - export function assert(condition: T, message: string = ""): void { - binding.assert(!!condition, message); - } - - export function log(message: string = ""): void { - binding.log(message); - } - - export function debug(message: string = ""): void { - binding.debug(message); - } - - export function info(message: string = ""): void { - binding.info(message); - } - - export function warn(message: string = ""): void { - binding.warn(message); - } - - export function error(message: string = ""): void { - binding.error(message); - } - - export function time(label: string = "default"): void { - binding.time(label); - } - - export function timeLog(label: string = "default"): void { - binding.timeLog(label); - } - - export function timeEnd(label: string = "default"): void { - binding.timeEnd(label); - } -} -`,crypto:`import { - crypto as crypto_binding -} from "bindings/dom"; - -export namespace crypto { - export function getRandomValues(array: Uint8Array): void { - crypto_binding.getRandomValues(array); - } -} -`,dataview:`import { BLOCK_MAXSIZE } from "./rt/common"; -import { ArrayBuffer } from "./arraybuffer"; -import { E_INDEXOUTOFRANGE, E_INVALIDLENGTH } from "./util/error"; - -// TODO: there is probably a smarter way to check byteOffset for accesses larger than 1 byte - -export class DataView { - - readonly buffer: ArrayBuffer; - @unsafe readonly dataStart: usize; - readonly byteLength: i32; - - get byteOffset(): i32 { - return (this.dataStart - changetype(this.buffer)); - } - - constructor( - buffer: ArrayBuffer, - byteOffset: i32 = 0, - byteLength: i32 = buffer.byteLength - ) { - if ( - i32(byteLength > BLOCK_MAXSIZE) | - i32(byteOffset + byteLength > buffer.byteLength) - ) throw new RangeError(E_INVALIDLENGTH); - this.buffer = buffer; // links - let dataStart = changetype(buffer) + byteOffset; - this.dataStart = dataStart; - this.byteLength = byteLength; - } - - getFloat32(byteOffset: i32, littleEndian: bool = false): f32 { - if ( - (byteOffset >>> 31) | i32(byteOffset + 4 > this.byteLength) - ) throw new RangeError(E_INDEXOUTOFRANGE); - return littleEndian - ? load(this.dataStart + byteOffset) - : reinterpret(bswap(load(this.dataStart + byteOffset))); - } - - getFloat64(byteOffset: i32, littleEndian: bool = false): f64 { - if ( - (byteOffset >>> 31) | i32(byteOffset + 8 > this.byteLength) - ) throw new RangeError(E_INDEXOUTOFRANGE); - return littleEndian - ? load(this.dataStart + byteOffset) - : reinterpret(bswap(load(this.dataStart + byteOffset))); - } - - getInt8(byteOffset: i32): i8 { - if (byteOffset >= this.byteLength) throw new RangeError(E_INDEXOUTOFRANGE); - return load(this.dataStart + byteOffset); - } - - getInt16(byteOffset: i32, littleEndian: bool = false): i16 { - if ( - (byteOffset >>> 31) | i32(byteOffset + 2 > this.byteLength) - ) throw new RangeError(E_INDEXOUTOFRANGE); - let result: i16 = load(this.dataStart + byteOffset); - return littleEndian ? result : bswap(result); - } - - getInt32(byteOffset: i32, littleEndian: bool = false): i32 { - if ( - (byteOffset >>> 31) | i32(byteOffset + 4 > this.byteLength) - ) throw new RangeError(E_INDEXOUTOFRANGE); - let result: i32 = load(this.dataStart + byteOffset); - return littleEndian ? result : bswap(result); - } - - getUint8(byteOffset: i32): u8 { - if (byteOffset >= this.byteLength) throw new RangeError(E_INDEXOUTOFRANGE); - return load(this.dataStart + byteOffset); - } - - getUint16(byteOffset: i32, littleEndian: bool = false): u16 { - if ( - (byteOffset >>> 31) | i32(byteOffset + 2 > this.byteLength) - ) throw new RangeError(E_INDEXOUTOFRANGE); - let result: u16 = load(this.dataStart + byteOffset); - return littleEndian ? result : bswap(result); - } - - getUint32(byteOffset: i32, littleEndian: bool = false): u32 { - if ( - (byteOffset >>> 31) | i32(byteOffset + 4 > this.byteLength) - ) throw new RangeError(E_INDEXOUTOFRANGE); - let result: u32 = load(this.dataStart + byteOffset); - return littleEndian ? result : bswap(result); - } - - setFloat32(byteOffset: i32, value: f32, littleEndian: bool = false): void { - if ( - (byteOffset >>> 31) | i32(byteOffset + 4 > this.byteLength) - ) throw new RangeError(E_INDEXOUTOFRANGE); - if (littleEndian) store(this.dataStart + byteOffset, value); - else store(this.dataStart + byteOffset, bswap(reinterpret(value))); - } - - setFloat64(byteOffset: i32, value: f64, littleEndian: bool = false): void { - if ( - (byteOffset >>> 31) | i32(byteOffset + 8 > this.byteLength) - ) throw new RangeError(E_INDEXOUTOFRANGE); - if (littleEndian) store(this.dataStart + byteOffset, value); - else store(this.dataStart + byteOffset, bswap(reinterpret(value))); - } - - setInt8(byteOffset: i32, value: i8): void { - if (byteOffset >= this.byteLength) throw new RangeError(E_INDEXOUTOFRANGE); - store(this.dataStart + byteOffset, value); - } - - setInt16(byteOffset: i32, value: i16, littleEndian: bool = false): void { - if ( - (byteOffset >>> 31) | i32(byteOffset + 2 > this.byteLength) - ) throw new RangeError(E_INDEXOUTOFRANGE); - store(this.dataStart + byteOffset, littleEndian ? value : bswap(value)); - } - - setInt32(byteOffset: i32, value: i32, littleEndian: bool = false): void { - if ( - (byteOffset >>> 31) | i32(byteOffset + 4 > this.byteLength) - ) throw new RangeError(E_INDEXOUTOFRANGE); - store(this.dataStart + byteOffset, littleEndian ? value : bswap(value)); - } - - setUint8(byteOffset: i32, value: u8): void { - if (byteOffset >= this.byteLength) throw new RangeError(E_INDEXOUTOFRANGE); - store(this.dataStart + byteOffset, value); - } - - setUint16(byteOffset: i32, value: u16, littleEndian: bool = false): void { - if ( - (byteOffset >>> 31) | i32(byteOffset + 2 > this.byteLength) - ) throw new RangeError(E_INDEXOUTOFRANGE); - store(this.dataStart + byteOffset, littleEndian ? value : bswap(value)); - } - - setUint32(byteOffset: i32, value: u32, littleEndian: bool = false): void { - if ( - (byteOffset >>> 31) | i32(byteOffset + 4 > this.byteLength) - ) throw new RangeError(E_INDEXOUTOFRANGE); - store(this.dataStart + byteOffset, littleEndian ? value : bswap(value)); - } - - // Non-standard additions that make sense in WebAssembly, but won't work in JS: - - getInt64(byteOffset: i32, littleEndian: bool = false): i64 { - if ( - (byteOffset >>> 31) | i32(byteOffset + 8 > this.byteLength) - ) throw new RangeError(E_INDEXOUTOFRANGE); - let result: i64 = load(this.dataStart + byteOffset); - return littleEndian ? result : bswap(result); - } - - getUint64(byteOffset: i32, littleEndian: bool = false): u64 { - if ( - (byteOffset >>> 31) | i32(byteOffset + 8 > this.byteLength) - ) throw new RangeError(E_INDEXOUTOFRANGE); - let result = load(this.dataStart + byteOffset); - return littleEndian ? result : bswap(result); - } - - setInt64(byteOffset: i32, value: i64, littleEndian: bool = false): void { - if ( - (byteOffset >>> 31) | i32(byteOffset + 8 > this.byteLength) - ) throw new RangeError(E_INDEXOUTOFRANGE); - store(this.dataStart + byteOffset, littleEndian ? value : bswap(value)); - } - - setUint64(byteOffset: i32, value: u64, littleEndian: bool = false): void { - if ( - (byteOffset >>> 31) | i32(byteOffset + 8 > this.byteLength) - ) throw new RangeError(E_INDEXOUTOFRANGE); - store(this.dataStart + byteOffset, littleEndian ? value : bswap(value)); - } - - toString(): string { - return "[object DataView]"; - } -} -`,date:`import { E_INVALIDDATE } from "util/error"; -import { Date as Date_binding } from "./bindings/dom"; - -// @ts-ignore: decorator -@inline const - MILLIS_PER_DAY = 1000 * 60 * 60 * 24, - MILLIS_PER_HOUR = 1000 * 60 * 60, - MILLIS_PER_MINUTE = 1000 * 60, - MILLIS_PER_SECOND = 1000, - - YEARS_PER_EPOCH = 400, - DAYS_PER_EPOCH = 146097, - EPOCH_OFFSET = 719468, // Jan 1, 1970 - MILLIS_LIMIT = 8640000000000000; - -// ymdFromEpochDays returns values via globals to avoid allocations -// @ts-ignore: decorator -@lazy let _month: i32, _day: i32; - -export class Date { - private year: i32 = 0; - private month: i32 = 0; - private day: i32 = 0; - - @inline static UTC( - year: i32, - month: i32 = 0, - day: i32 = 1, - hour: i32 = 0, - minute: i32 = 0, - second: i32 = 0, - millisecond: i32 = 0 - ): i64 { - if (year >= 0 && year <= 99) year += 1900; - let ms = epochMillis(year, month + 1, day, hour, minute, second, millisecond); - if (invalidDate(ms)) throw new RangeError(E_INVALIDDATE); - return ms; - } - - @inline static now(): i64 { - return Date_binding.now(); - } - - // It can parse only ISO 8601 inputs like YYYY-MM-DDTHH:MM:SS.000Z - @inline static parse(dateString: string): Date { - return this.fromString(dateString); - } - - static fromString(dateTimeString: string): Date { - if (!dateTimeString.length) throw new RangeError(E_INVALIDDATE); - var - hour: i32 = 0, - min: i32 = 0, - sec: i32 = 0, - ms: i32 = 0, - offsetMs: i32 = 0; - - let dateString = dateTimeString; - let posT = dateTimeString.indexOf("T"); - if (~posT) { - // includes a time component - let timeString: string; - dateString = dateTimeString.substring(0, posT); - timeString = dateTimeString.substring(posT + 1); - - // might end with an offset ("Z", "+05:30", "-08:00", etc.) - for (let i = timeString.length - 1; i >= 0; i--) { - let c = timeString.charCodeAt(i); - if (c == 90) { // Z - timeString = timeString.substring(0, i); - break; - } else if (c == 43 || c == 45) { // + or - - if (i == timeString.length - 1) { - throw new RangeError(E_INVALIDDATE); - } - - let posColon = timeString.indexOf(":", i + 1); - if (~posColon) { - let offsetHours = i32.parse(timeString.substring(i + 1, posColon)); - let offsetMinutes = i32.parse(timeString.substring(posColon + 1)); - offsetMs = (offsetHours * 60 + offsetMinutes) * MILLIS_PER_MINUTE; - } else { - let offsetHours = i32.parse(timeString.substring(i + 1)); - offsetMs = offsetHours * MILLIS_PER_HOUR; - } - - if (c == 45) offsetMs = -offsetMs; // negative offset - timeString = timeString.substring(0, i); - break; - } - } - - // parse the HH:MM:SS component - let timeParts = timeString.split(":"); - let len = timeParts.length; - if (len <= 1) throw new RangeError(E_INVALIDDATE); - - hour = i32.parse(timeParts[0]); - min = i32.parse(timeParts[1]); - if (len >= 3) { - let secAndFrac = timeParts[2]; - let posDot = secAndFrac.indexOf("."); - if (~posDot) { - // includes fractional seconds (truncate to milliseconds) - sec = i32.parse(secAndFrac.substring(0, posDot)); - ms = i32.parse(secAndFrac.substr(posDot + 1, 3).padEnd(3, "0")); - } else { - sec = i32.parse(secAndFrac); - } - } - } - - // parse the YYYY-MM-DD component - let parts = dateString.split("-"); - let year = i32.parse(parts[0]); - let month = 1, day = 1; - let len = parts.length; - if (len >= 2) { - month = i32.parse(parts[1]); - if (len >= 3) { - day = i32.parse(parts[2]); - } - } - - return new Date(epochMillis(year, month, day, hour, min, sec, ms) - offsetMs); - } - - constructor(private epochMillis: i64) { - // this differs from JavaScript which prefer return NaN or "Invalid Date" string - // instead throwing exception. - if (invalidDate(epochMillis)) throw new RangeError(E_INVALIDDATE); - - this.year = dateFromEpoch(epochMillis); - this.month = _month; - this.day = _day; - } - - @inline getTime(): i64 { - return this.epochMillis; - } - - setTime(time: i64): i64 { - if (invalidDate(time)) throw new RangeError(E_INVALIDDATE); - - this.epochMillis = time; - this.year = dateFromEpoch(time); - this.month = _month; - this.day = _day; - - return time; - } - - @inline getUTCFullYear(): i32 { - return this.year; - } - - @inline getUTCMonth(): i32 { - return this.month - 1; - } - - @inline getUTCDate(): i32 { - return this.day; - } - - @inline getUTCDay(): i32 { - return dayOfWeek(this.year, this.month, this.day); - } - - getUTCHours(): i32 { - return i32(euclidRem(this.epochMillis, MILLIS_PER_DAY)) / MILLIS_PER_HOUR; - } - - getUTCMinutes(): i32 { - return i32(euclidRem(this.epochMillis, MILLIS_PER_HOUR)) / MILLIS_PER_MINUTE; - } - - getUTCSeconds(): i32 { - return i32(euclidRem(this.epochMillis, MILLIS_PER_MINUTE)) / MILLIS_PER_SECOND; - } - - getUTCMilliseconds(): i32 { - return i32(euclidRem(this.epochMillis, MILLIS_PER_SECOND)); - } - - setUTCMilliseconds(millis: i32): void { - this.setTime(this.epochMillis + (millis - this.getUTCMilliseconds())); - } - - setUTCSeconds(seconds: i32): void { - this.setTime(this.epochMillis + (seconds - this.getUTCSeconds()) * MILLIS_PER_SECOND); - } - - setUTCMinutes(minutes: i32): void { - this.setTime(this.epochMillis + (minutes - this.getUTCMinutes()) * MILLIS_PER_MINUTE); - } - - setUTCHours(hours: i32): void { - this.setTime(this.epochMillis + (hours - this.getUTCHours()) * MILLIS_PER_HOUR); - } - - setUTCDate(day: i32): void { - if (this.day == day) return; - this.setTime(join(this.year, this.month, day, this.epochMillis)); - } - - setUTCMonth(month: i32, day: i32 = this.day): void { - if (this.month == month + 1) return; - this.setTime(join(this.year, month + 1, day, this.epochMillis)); - } - - setUTCFullYear(year: i32): void { - if (this.year == year) return; - this.setTime(join(year, this.month, this.day, this.epochMillis)); - } - - toISOString(): string { - // TODO: add more low-level helper which combine toString and padStart without extra allocation - - let yr = this.year; - let isNeg = yr < 0; - let year = (isNeg || yr >= 10000) - ? (isNeg ? "-" : "+") + stringify(abs(yr), 6) - : stringify(yr, 4); - let month = stringify(this.month, 2); - let day = stringify(this.day); - let hours = stringify(this.getUTCHours()); - let mins = stringify(this.getUTCMinutes()); - let secs = stringify(this.getUTCSeconds()); - let ms = stringify(this.getUTCMilliseconds(), 3); - - return \`\${year}-\${month}-\${day}T\${hours}:\${mins}:\${secs}.\${ms}Z\`; - } - - toUTCString(): string { - const - weeks: StaticArray = [ - "Sun, ", "Mon, ", "Tue, ", "Wed, ", "Thu, ", "Fri, ", "Sat, " - ], - months: StaticArray = [ - " Jan ", " Feb ", " Mar ", " Apr ", " May ", " Jun ", - " Jul ", " Aug ", " Sep ", " Oct ", " Nov ", " Dec " - ]; - - let mo = this.month; - let da = this.day; - let yr = this.year; - let wd = dayOfWeek(yr, mo, da); - let year = stringify(abs(yr), 4); - let month = unchecked(months[mo - 1]); - let week = unchecked(weeks[wd]); - let day = stringify(da); - let hours = stringify(this.getUTCHours()); - let mins = stringify(this.getUTCMinutes()); - let secs = stringify(this.getUTCSeconds()); - - return \`\${week}\${day}\${month}\${yr < 0 ? "-" : ""}\${year} \${hours}:\${mins}:\${secs} GMT\`; - } - - toDateString(): string { - // TODO: use u64 static data instead 4 chars - // also use stream itoa variants. - const - weeks: StaticArray = [ - "Sun ", "Mon ", "Tue ", "Wed ", "Thu ", "Fri ", "Sat " - ], - months: StaticArray = [ - "Jan ", "Feb ", "Mar ", "Apr ", "May ", "Jun ", - "Jul ", "Aug ", "Sep ", "Oct ", "Nov ", "Dec " - ]; - - let mo = this.month; - let da = this.day; - let yr = this.year; - let wd = dayOfWeek(yr, mo, da); - let year = stringify(abs(yr), 4); - let month = unchecked(months[mo - 1]); - let week = unchecked(weeks[wd]); - let day = stringify(da); - - return \`\${week}\${month}\${day}\${yr < 0 ? " -" : " "}\${year}\`; - } - - // Note: it uses UTC time instead local time (without timezone offset) - toTimeString(): string { - let hours = stringify(this.getUTCHours()); - let mins = stringify(this.getUTCMinutes()); - let secs = stringify(this.getUTCSeconds()); - // TODO: add timezone - return \`\${hours}:\${mins}:\${secs}\`; - } - - // Note: it uses UTC datetime instead local datetime (without timezone offset) - toString(): string { - return \`\${this.toDateString()} \${this.toTimeString()}\`; - } -} - -function epochMillis( - year: i32, - month: i32, - day: i32, - hour: i32, - minute: i32, - second: i32, - milliseconds: i32 -): i64 { - return ( - daysSinceEpoch(year, month, day) * MILLIS_PER_DAY + - hour * MILLIS_PER_HOUR + - minute * MILLIS_PER_MINUTE + - second * MILLIS_PER_SECOND + - milliseconds - ); -} - -// @ts-ignore: decorator -@inline function floorDiv(a: T, b: T): T { - return (a - (a < 0 ? b - 1 : 0)) / b as T; -} - -// @ts-ignore: decorator -@inline function euclidRem(a: T, b: T): T { - let m = a % b; - return m + (m < 0 ? b : 0) as T; -} - -function invalidDate(millis: i64): bool { - // @ts-ignore - return (millis < -MILLIS_LIMIT) | (millis > MILLIS_LIMIT); -} - -// Based on "Euclidean Affine Functions and Applications to Calendar Algorithms" -// Paper: https://arxiv.org/pdf/2102.06959.pdf -function dateFromEpoch(ms: i64): i32 { - let da = (floorDiv(ms, MILLIS_PER_DAY) * 4 + EPOCH_OFFSET * 4) | 3; - let q0 = floorDiv(da, DAYS_PER_EPOCH); // [0, 146096] - let r1 = da - q0 * DAYS_PER_EPOCH; - let u1 = u64(r1 | 3) * 2939745; - let dm1 = u1 / 11758980; - let n1 = 2141 * dm1 + 197913; - let year = 100 * q0 + i32(u1 >>> 32); - let mo = n1 >>> 16; - _day = (n1 & 0xFFFF) / 2141 + 1; // [1, 31] - if (dm1 >= 306) { mo -= 12; ++year; } - _month = mo; // [1, 12] - return year; -} - -// http://howardhinnant.github.io/date_algorithms.html#days_from_civil -function daysSinceEpoch(y: i32, m: i32, d: i32): i64 { - y -= i32(m <= 2); - let era = floorDiv(y, YEARS_PER_EPOCH); - let yoe = y - era * YEARS_PER_EPOCH; // [0, 399] - let doy = (153 * (m + (m > 2 ? -3 : 9)) + 2) / 5 + d - 1; // [0, 365] - let doe = yoe * 365 + yoe / 4 - yoe / 100 + doy; // [0, 146096] - return (era * 146097 + doe - EPOCH_OFFSET); -} - -// TomohikoSakamoto algorithm from https://en.wikipedia.org/wiki/Determination_of_the_day_of_the_week -function dayOfWeek(year: i32, month: i32, day: i32): i32 { - const tab = memory.data([0, 3, 2, 5, 0, 3, 5, 1, 4, 6, 2, 4]); - - year -= i32(month < 3); - year += floorDiv(year, 4) - floorDiv(year, 100) + floorDiv(year, YEARS_PER_EPOCH); - month = load(tab + month - 1); - return euclidRem(year + month + day, 7); -} - -function stringify(value: i32, padding: i32 = 2): string { - return value.toString().padStart(padding, "0"); -} - -function join(year: i32, month: i32, day: i32, ms: i64): i64 { - return daysSinceEpoch(year, month, day) * MILLIS_PER_DAY + euclidRem(ms, MILLIS_PER_DAY); -} -`,diagnostics:`// @ts-ignore: decorator -@builtin -export declare function ERROR(message?: string): void; - -// @ts-ignore: decorator -@builtin -export declare function WARNING(message?: string): void; - -// @ts-ignore: decorator -@builtin -export declare function INFO(message?: string): void; -`,error:`export class Error { - - name: string = "Error"; - stack: string = ""; // TODO - - constructor( - public message: string = "" - ) {} - - toString(): string { - let message = this.message; - return message.length - ? this.name + ": " + message - : this.name; - } -} - -export class RangeError extends Error { - constructor(message: string = "") { - super(message); - this.name = "RangeError"; - } -} - -export class TypeError extends Error { - constructor(message: string = "") { - super(message); - this.name = "TypeError"; - } -} - -export class SyntaxError extends Error { - constructor(message: string = "") { - super(message); - this.name = "SyntaxError"; - } -} - -export class URIError extends Error { - constructor(message: string = "") { - super(message); - this.name = "URIError"; - } -} -`,function:`type auto = i32; - -@final export abstract class Function { - private _index: u32; - private _env: usize; - - // @ts-ignore: this on getter - get index(this: T): u32 { - return load(changetype(this), offsetof>("_index")); - } - - // @ts-ignore: this on getter - get name(this: T): string { - return ""; - } - - // @ts-ignore: this on getter - get length(this: T): i32 { - // @ts-ignore: T is function - return lengthof(); - } - - // @ts-ignore: T is function - @builtin call(thisArg: thisof | null, ...args: auto[]): returnof { - return unreachable(); - } - - toString(this: T): string { - return "function() { [native code] }"; - } - - // RT integration - - @unsafe private __visit(cookie: u32): void { - // Env is either \`null\` (nop) or compiler-generated - __visit(this._env, cookie); - } -} -`,iterator:`export abstract class Iterable { - // ? -} - -@final -export abstract class Iterator { - - // private constructor(iterable: Iterable) { - // } - - // TODO: these need to evaluate the classId at the respective reference in order to obtain the - // next value, i.e. arrays work differently than maps. we'd then have: - // - // \u2552\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 Iterator layout (32-bit) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2555 - // 3 2 1 - // 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 bits - // \u251C\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2524 - // \u2502 index \u2502 - // \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252C\u2500\u2500\u2500\u252C\u2500\u2524 - // \u2502 reference \u2502 0 \u2502D\u2502 - // \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2534\u2500\u2518 - // D: Done flag - - // get value(this: u64): T { - // ? - // } - - // next(this: u64): Iterator { - // ? - // } - - done(this: u64): bool { - return (this & 1); - } -} -`,map:`/// - -import { HASH } from "./util/hash"; -import { E_KEYNOTFOUND } from "./util/error"; - -// A deterministic hash map based on CloseTable from https://github.com/jorendorff/dht - -// @ts-ignore: decorator -@inline const INITIAL_CAPACITY = 4; - -// @ts-ignore: decorator -@inline const FILL_FACTOR_N = 8; - -// @ts-ignore: decorator -@inline const FILL_FACTOR_D = 3; - -// @ts-ignore: decorator -@inline const FREE_FACTOR_N = 3; - -// @ts-ignore: decorator -@inline const FREE_FACTOR_D = 4; - -/** Structure of a map entry. */ -@unmanaged class MapEntry { - key: K; - value: V; - taggedNext: usize; // LSB=1 indicates EMPTY -} - -/** Empty bit. */ -// @ts-ignore: decorator -@inline const EMPTY: usize = 1 << 0; - -/** Size of a bucket. */ -// @ts-ignore: decorator -@inline const BUCKET_SIZE = sizeof(); - -/** Computes the alignment of an entry. */ -// @ts-ignore: decorator -@inline -function ENTRY_ALIGN(): usize { - // can align to 4 instead of 8 if 32-bit and K/V is <= 32-bits - const maxkv = sizeof() > sizeof() ? sizeof() : sizeof(); - const align = (maxkv > sizeof() ? maxkv : sizeof()) - 1; - return align; -} - -/** Computes the aligned size of an entry. */ -// @ts-ignore: decorator -@inline -function ENTRY_SIZE(): usize { - const align = ENTRY_ALIGN(); - const size = (offsetof>() + align) & ~align; - return size; -} - -export class Map { - - // buckets referencing their respective first entry, usize[bucketsMask + 1] - private buckets: ArrayBuffer = new ArrayBuffer(INITIAL_CAPACITY * BUCKET_SIZE); - private bucketsMask: u32 = INITIAL_CAPACITY - 1; - - // entries in insertion order, MapEntry[entriesCapacity] - private entries: ArrayBuffer = new ArrayBuffer(INITIAL_CAPACITY * ENTRY_SIZE()); - private entriesCapacity: i32 = INITIAL_CAPACITY; - private entriesOffset: i32 = 0; - private entriesCount: i32 = 0; - - constructor() { - /* nop */ - } - - get size(): i32 { - return this.entriesCount; - } - - clear(): void { - this.buckets = new ArrayBuffer(INITIAL_CAPACITY * BUCKET_SIZE); - this.bucketsMask = INITIAL_CAPACITY - 1; - this.entries = new ArrayBuffer(INITIAL_CAPACITY * ENTRY_SIZE()); - this.entriesCapacity = INITIAL_CAPACITY; - this.entriesOffset = 0; - this.entriesCount = 0; - } - - private find(key: K, hashCode: u32): MapEntry | null { - let entry = load>( // unmanaged! - changetype(this.buckets) + (hashCode & this.bucketsMask) * BUCKET_SIZE - ); - while (entry) { - let taggedNext = entry.taggedNext; - if (!(taggedNext & EMPTY) && entry.key == key) return entry; - entry = changetype>(taggedNext & ~EMPTY); - } - return null; - } - - has(key: K): bool { - return this.find(key, HASH(key)) != null; - } - - @operator("[]") - get(key: K): V { - let entry = this.find(key, HASH(key)); - if (!entry) throw new Error(E_KEYNOTFOUND); // cannot represent \`undefined\` - return entry.value; - } - - @operator("[]=") - set(key: K, value: V): this { - let hashCode = HASH(key); - let entry = this.find(key, hashCode); // unmanaged! - if (entry) { - entry.value = value; - if (isManaged()) { - __link(changetype(this), changetype(value), true); - } - } else { - // check if rehashing is necessary - if (this.entriesOffset == this.entriesCapacity) { - this.rehash( - this.entriesCount < this.entriesCapacity * FREE_FACTOR_N / FREE_FACTOR_D - ? this.bucketsMask // just rehash if 1/4+ entries are empty - : (this.bucketsMask << 1) | 1 // grow capacity to next 2^N - ); - } - // append new entry - let entries = this.entries; - entry = changetype>(changetype(entries) + (this.entriesOffset++) * ENTRY_SIZE()); - // link with the map - entry.key = key; - if (isManaged()) { - __link(changetype(this), changetype(key), true); - } - entry.value = value; - if (isManaged()) { - __link(changetype(this), changetype(value), true); - } - ++this.entriesCount; - // link with previous entry in bucket - let bucketPtrBase = changetype(this.buckets) + (hashCode & this.bucketsMask) * BUCKET_SIZE; - entry.taggedNext = load(bucketPtrBase); - store(bucketPtrBase, changetype(entry)); - } - return this; - } - - delete(key: K): bool { - let entry = this.find(key, HASH(key)); - if (!entry) return false; - entry.taggedNext |= EMPTY; - --this.entriesCount; - // check if rehashing is appropriate - let halfBucketsMask = this.bucketsMask >> 1; - if ( - halfBucketsMask + 1 >= max(INITIAL_CAPACITY, this.entriesCount) && - this.entriesCount < this.entriesCapacity * FREE_FACTOR_N / FREE_FACTOR_D - ) this.rehash(halfBucketsMask); - return true; - } - - private rehash(newBucketsMask: u32): void { - let newBucketsCapacity = (newBucketsMask + 1); - let newBuckets = new ArrayBuffer(newBucketsCapacity * BUCKET_SIZE); - let newEntriesCapacity = newBucketsCapacity * FILL_FACTOR_N / FILL_FACTOR_D; - let newEntries = new ArrayBuffer(newEntriesCapacity * ENTRY_SIZE()); - - // copy old entries to new entries - let oldPtr = changetype(this.entries); - let oldEnd = oldPtr + this.entriesOffset * ENTRY_SIZE(); - let newPtr = changetype(newEntries); - while (oldPtr != oldEnd) { - let oldEntry = changetype>(oldPtr); - if (!(oldEntry.taggedNext & EMPTY)) { - let newEntry = changetype>(newPtr); - let oldEntryKey = oldEntry.key; - newEntry.key = oldEntryKey; - newEntry.value = oldEntry.value; - let newBucketIndex = HASH(oldEntryKey) & newBucketsMask; - let newBucketPtrBase = changetype(newBuckets) + newBucketIndex * BUCKET_SIZE; - newEntry.taggedNext = load(newBucketPtrBase); - store(newBucketPtrBase, newPtr); - newPtr += ENTRY_SIZE(); - } - oldPtr += ENTRY_SIZE(); - } - - this.buckets = newBuckets; - this.bucketsMask = newBucketsMask; - this.entries = newEntries; - this.entriesCapacity = newEntriesCapacity; - this.entriesOffset = this.entriesCount; - } - - keys(): K[] { - // FIXME: this is preliminary, needs iterators/closures - let start = changetype(this.entries); - let size = this.entriesOffset; - let keys = new Array(size); - let length = 0; - for (let i = 0; i < size; ++i) { - let entry = changetype>(start + i * ENTRY_SIZE()); - if (!(entry.taggedNext & EMPTY)) { - unchecked(keys[length++] = entry.key); - } - } - keys.length = length; - return keys; - } - - values(): V[] { - // FIXME: this is preliminary, needs iterators/closures - let start = changetype(this.entries); - let size = this.entriesOffset; - let values = new Array(size); - let length = 0; - for (let i = 0; i < size; ++i) { - let entry = changetype>(start + i * ENTRY_SIZE()); - if (!(entry.taggedNext & EMPTY)) { - unchecked(values[length++] = entry.value); - } - } - values.length = length; - return values; - } - - toString(): string { - return "[object Map]"; - } - - // RT integration - - @unsafe private __visit(cookie: u32): void { - __visit(changetype(this.buckets), cookie); - let entries = changetype(this.entries); - if (isManaged() || isManaged()) { - let cur = entries; - let end = cur + this.entriesOffset * ENTRY_SIZE(); - while (cur < end) { - let entry = changetype>(cur); - if (!(entry.taggedNext & EMPTY)) { - if (isManaged()) { - let val = changetype(entry.key); - if (isNullable()) { - if (val) __visit(val, cookie); - } else __visit(val, cookie); - } - if (isManaged()) { - let val = changetype(entry.value); - if (isNullable()) { - if (val) __visit(val, cookie); - } else __visit(val, cookie); - } - } - cur += ENTRY_SIZE(); - } - } - __visit(entries, cookie); - } -} -`,math:`import { Math as JSMath } from "./bindings/dom"; -export { JSMath }; - -import { - pow_lut, exp_lut, exp2_lut, log_lut, log2_lut, - powf_lut, expf_lut, exp2f_lut, logf_lut, log2f_lut -} from "./util/math"; - -import { - abs as builtin_abs, - ceil as builtin_ceil, - clz as builtin_clz, - copysign as builtin_copysign, - floor as builtin_floor, - max as builtin_max, - min as builtin_min, - sqrt as builtin_sqrt, - trunc as builtin_trunc -} from "./builtins"; - -// SUN COPYRIGHT NOTICE -// -// Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. -// Developed at SunPro, a Sun Microsystems, Inc. business. -// Permission to use, copy, modify, and distribute this software -// is freely granted, provided that this notice is preserved. -// -// Applies to all functions marked with a comment referring here. - -/** @internal */ -// @ts-ignore: decorator -@lazy let rempio2_y0: f64, rempio2_y1: f64, res128_hi: u64; - -/** @internal */ -// @ts-ignore: decorator -@lazy @inline const PIO2_TABLE = memory.data([ - 0x00000000A2F9836E, 0x4E441529FC2757D1, 0xF534DDC0DB629599, 0x3C439041FE5163AB, - 0xDEBBC561B7246E3A, 0x424DD2E006492EEA, 0x09D1921CFE1DEB1C, 0xB129A73EE88235F5, - 0x2EBB4484E99C7026, 0xB45F7E413991D639, 0x835339F49C845F8B, 0xBDF9283B1FF897FF, - 0xDE05980FEF2F118B, 0x5A0A6D1F6D367ECF, 0x27CB09B74F463F66, 0x9E5FEA2D7527BAC7, - 0xEBE5F17B3D0739F7, 0x8A5292EA6BFB5FB1, 0x1F8D5D0856033046, 0xFC7B6BABF0CFBC20, - 0x9AF4361DA9E39161, 0x5EE61B086599855F, 0x14A068408DFFD880, 0x4D73273106061557 -]); - -/** @internal */ -function R(z: f64): f64 { // Rational approximation of (asin(x)-x)/x^3 - const // see: musl/src/math/asin.c and SUN COPYRIGHT NOTICE above - pS0 = reinterpret(0x3FC5555555555555), // 1.66666666666666657415e-01 - pS1 = reinterpret(0xBFD4D61203EB6F7D), // -3.25565818622400915405e-01 - pS2 = reinterpret(0x3FC9C1550E884455), // 2.01212532134862925881e-01 - pS3 = reinterpret(0xBFA48228B5688F3B), // -4.00555345006794114027e-02 - pS4 = reinterpret(0x3F49EFE07501B288), // 7.91534994289814532176e-04 - pS5 = reinterpret(0x3F023DE10DFDF709), // 3.47933107596021167570e-05 - qS1 = reinterpret(0xC0033A271C8A2D4B), // -2.40339491173441421878e+00 - qS2 = reinterpret(0x40002AE59C598AC8), // 2.02094576023350569471e+00 - qS3 = reinterpret(0xBFE6066C1B8D0159), // -6.88283971605453293030e-01 - qS4 = reinterpret(0x3FB3B8C5B12E9282); // 7.70381505559019352791e-02 - - let p = z * (pS0 + z * (pS1 + z * (pS2 + z * (pS3 + z * (pS4 + z * pS5))))); - let q = 1.0 + z * (qS1 + z * (qS2 + z * (qS3 + z * qS4))); - return p / q; -} - -/** @internal */ -// @ts-ignore: decorator -@inline -function expo2(x: f64, sign: f64): f64 { // exp(x)/2 for x >= log(DBL_MAX) - const // see: musl/src/math/__expo2.c - k = 2043, - kln2 = reinterpret(0x40962066151ADD8B); // 0x1.62066151add8bp+10 - let scale = reinterpret(((0x3FF + k / 2) << 20) << 32); - // in directed rounding correct sign before rounding or overflow is important - return NativeMath.exp(x - kln2) * (sign * scale) * scale; -} - -/** @internal */ -/* Helper function to eventually get bits of \u03C0/2 * |x| - * - * y = \u03C0/4 * (frac << clz(frac) >> 11) - * return clz(frac) - * - * Right shift 11 bits to make upper half fit in \`double\` - */ -// @ts-ignore: decorator -@inline -function pio2_right(q0: u64, q1: u64): u64 { // see: jdh8/metallic/blob/master/src/math/double/rem_pio2.c - // Bits of \u03C0/4 - const p0: u64 = 0xC4C6628B80DC1CD1; - const p1: u64 = 0xC90FDAA22168C234; - - const Ox1p_64 = reinterpret(0x3BF0000000000000); // 0x1p-64 - const Ox1p_75 = reinterpret(0x3B40000000000000); // 0x1p-75 - - let shift = clz(q1); - - q1 = q1 << shift | q0 >> (64 - shift); - q0 <<= shift; - - let lo = umuldi(p1, q1); - let hi = res128_hi; - - let ahi = hi >> 11; - let alo = lo >> 11 | hi << 53; - let blo = (Ox1p_75 * p0 * q1 + Ox1p_75 * p1 * q0); - - rempio2_y0 = (ahi + u64(lo < blo)); - rempio2_y1 = Ox1p_64 * (alo + blo); - - return shift; -} - -/** @internal */ -// @ts-ignore: decorator -@inline -function umuldi(u: u64, v: u64): u64 { - let u1: u64 , v1: u64, w0: u64, w1: u64, t: u64; - - u1 = u & 0xFFFFFFFF; - v1 = v & 0xFFFFFFFF; - - u >>= 32; - v >>= 32; - - t = u1 * v1; - w0 = t & 0xFFFFFFFF; - t = u * v1 + (t >> 32); - w1 = t >> 32; - t = u1 * v + (t & 0xFFFFFFFF); - - res128_hi = u * v + w1 + (t >> 32); - return (t << 32) + w0; -} - -/** @internal */ -function pio2_large_quot(x: f64, u: i64): i32 { // see: jdh8/metallic/blob/master/src/math/double/rem_pio2.c - let magnitude = u & 0x7FFFFFFFFFFFFFFF; - let offset = (magnitude >> 52) - 1045; - let shift = offset & 63; - let tblPtr = PIO2_TABLE + ((offset >> 6) << 3); - let s0: u64, s1: u64, s2: u64; - - let b0 = load(tblPtr, 0 << 3); - let b1 = load(tblPtr, 1 << 3); - let b2 = load(tblPtr, 2 << 3); - - // Get 192 bits of 0x1p-31 / \u03C0 with \`offset\` bits skipped - if (shift) { - let rshift = 64 - shift; - let b3 = load(tblPtr, 3 << 3); - s0 = b1 >> rshift | b0 << shift; - s1 = b2 >> rshift | b1 << shift; - s2 = b3 >> rshift | b2 << shift; - } else { - s0 = b0; - s1 = b1; - s2 = b2; - } - - let significand = (u & 0x000FFFFFFFFFFFFF) | 0x0010000000000000; - - // First 128 bits of fractional part of x/(2\u03C0) - let blo = umuldi(s1, significand); - let bhi = res128_hi; - - let ahi = s0 * significand; - let clo = (s2 >> 32) * (significand >> 32); - let plo = blo + clo; - let phi = ahi + bhi + u64(plo < clo); - - // r: u128 = p << 2 - let rlo = plo << 2; - let rhi = phi << 2 | plo >> 62; - - // s: i128 = r >> 127 - let slo = rhi >> 63; - let shi = slo >> 1; - let q = (phi >> 62) - slo; - - let shifter = 0x3CB0000000000000 - (pio2_right(rlo ^ slo, rhi ^ shi) << 52); - let signbit = (u ^ rhi) & 0x8000000000000000; - let coeff = reinterpret(shifter | signbit); - - rempio2_y0 *= coeff; - rempio2_y1 *= coeff; - - return q; -} - -/** @internal */ -// @ts-ignore: decorator -@inline -function rempio2(x: f64, u: u64, sign: i32): i32 { - const - pio2_1 = reinterpret(0x3FF921FB54400000), // 1.57079632673412561417e+00 - pio2_1t = reinterpret(0x3DD0B4611A626331), // 6.07710050650619224932e-11 - pio2_2 = reinterpret(0x3DD0B4611A600000), // 6.07710050630396597660e-11 - pio2_2t = reinterpret(0x3BA3198A2E037073), // 2.02226624879595063154e-21 - pio2_3 = reinterpret(0x3BA3198A2E000000), // 2.02226624871116645580e-21 - pio2_3t = reinterpret(0x397B839A252049C1), // 8.47842766036889956997e-32 - invpio2 = reinterpret(0x3FE45F306DC9C883); // 0.63661977236758134308 - - let ix = (u >> 32) & 0x7FFFFFFF; - - if (ASC_SHRINK_LEVEL < 1) { - if (ix < 0x4002D97C) { // |x| < 3pi/4, special case with n=+-1 - let q = 1, z: f64, y0: f64, y1: f64; - if (!sign) { - z = x - pio2_1; - if (ix != 0x3FF921FB) { // 33+53 bit pi is good enough - y0 = z - pio2_1t; - y1 = (z - y0) - pio2_1t; - } else { // near pi/2, use 33+33+53 bit pi - z -= pio2_2; - y0 = z - pio2_2t; - y1 = (z - y0) - pio2_2t; - } - } else { // negative x - z = x + pio2_1; - if (ix != 0x3FF921FB) { // 33+53 bit pi is good enough - y0 = z + pio2_1t; - y1 = (z - y0) + pio2_1t; - } else { // near pi/2, use 33+33+53 bit pi - z += pio2_2; - y0 = z + pio2_2t; - y1 = (z - y0) + pio2_2t; - } - q = -1; - } - rempio2_y0 = y0; - rempio2_y1 = y1; - return q; - } - } - - if (ix < 0x413921FB) { // |x| ~< 2^20*pi/2 (1647099) - // Use precise Cody Waite scheme - let q = nearest(x * invpio2); - let r = x - q * pio2_1; - let w = q * pio2_1t; // 1st round good to 85 bit - let j = ix >> 20; - let y0 = r - w; - let hi = (reinterpret(y0) >> 32); - let i = j - ((hi >> 20) & 0x7FF); - - if (i > 16) { // 2nd iteration needed, good to 118 - let t = r; - w = q * pio2_2; - r = t - w; - w = q * pio2_2t - ((t - r) - w); - y0 = r - w; - hi = (reinterpret(y0) >> 32); - i = j - ((hi >> 20) & 0x7FF); - if (i > 49) { // 3rd iteration need, 151 bits acc - let t = r; - w = q * pio2_3; - r = t - w; - w = q * pio2_3t - ((t - r) - w); - y0 = r - w; - } - } - let y1 = (r - y0) - w; - rempio2_y0 = y0; - rempio2_y1 = y1; - return q; - } - let q = pio2_large_quot(x, u); - return select(-q, q, sign); -} - -/** @internal */ -// @ts-ignore: decorator -@inline -function sin_kern(x: f64, y: f64, iy: i32): f64 { // see: musl/tree/src/math/__sin.c - const - S1 = reinterpret(0xBFC5555555555549), // -1.66666666666666324348e-01 - S2 = reinterpret(0x3F8111111110F8A6), // 8.33333333332248946124e-03 - S3 = reinterpret(0xBF2A01A019C161D5), // -1.98412698298579493134e-04 - S4 = reinterpret(0x3EC71DE357B1FE7D), // 2.75573137070700676789e-06 - S5 = reinterpret(0xBE5AE5E68A2B9CEB), // -2.50507602534068634195e-08 - S6 = reinterpret(0x3DE5D93A5ACFD57C); // 1.58969099521155010221e-10 - - let z = x * x; - let w = z * z; - let r = S2 + z * (S3 + z * S4) + z * w * (S5 + z * S6); - let v = z * x; - if (!iy) { - return x + v * (S1 + z * r); - } else { - return x - ((z * (0.5 * y - v * r) - y) - v * S1); - } -} - -/** @internal */ -// @ts-ignore: decorator -@inline -function cos_kern(x: f64, y: f64): f64 { // see: musl/tree/src/math/__cos.c - const - C1 = reinterpret(0x3FA555555555554C), // 4.16666666666666019037e-02 - C2 = reinterpret(0xBF56C16C16C15177), // -1.38888888888741095749e-03 - C3 = reinterpret(0x3EFA01A019CB1590), // 2.48015872894767294178e-05 - C4 = reinterpret(0xBE927E4F809C52AD), // -2.75573143513906633035e-07 - C5 = reinterpret(0x3E21EE9EBDB4B1C4), // 2.08757232129817482790e-09 - C6 = reinterpret(0xBDA8FAE9BE8838D4); // -1.13596475577881948265e-11 - - let z = x * x; - let w = z * z; - let r = z * (C1 + z * (C2 + z * C3)) + w * w * (C4 + z * (C5 + z * C6)); - let hz = 0.5 * z; - w = 1.0 - hz; - return w + (((1.0 - w) - hz) + (z * r - x * y)); -} - -/** @internal */ -function tan_kern(x: f64, y: f64, iy: i32): f64 { // see: src/lib/msun/src/k_tan.c - const - T0 = reinterpret(0x3FD5555555555563), // 3.33333333333334091986e-01 - T1 = reinterpret(0x3FC111111110FE7A), // 1.33333333333201242699e-01 - T2 = reinterpret(0x3FABA1BA1BB341FE), // 5.39682539762260521377e-02 - T3 = reinterpret(0x3F9664F48406D637), // 2.18694882948595424599e-02 - T4 = reinterpret(0x3F8226E3E96E8493), // 8.86323982359930005737e-03 - T5 = reinterpret(0x3F6D6D22C9560328), // 3.59207910759131235356e-03 - T6 = reinterpret(0x3F57DBC8FEE08315), // 1.45620945432529025516e-03 - T7 = reinterpret(0x3F4344D8F2F26501), // 5.88041240820264096874e-04 - T8 = reinterpret(0x3F3026F71A8D1068), // 2.46463134818469906812e-04 - T9 = reinterpret(0x3F147E88A03792A6), // 7.81794442939557092300e-05 - T10 = reinterpret(0x3F12B80F32F0A7E9), // 7.14072491382608190305e-05 - T11 = reinterpret(0xBEF375CBDB605373), // -1.85586374855275456654e-05 - T12 = reinterpret(0x3EFB2A7074BF7AD4); // 2.59073051863633712884e-05 - - const - one = reinterpret(0x3FF0000000000000), // 1.00000000000000000000e+00 - pio4 = reinterpret(0x3FE921FB54442D18), // 7.85398163397448278999e-01 - pio4lo = reinterpret(0x3C81A62633145C07); // 3.06161699786838301793e-17 - - let z: f64, r: f64, v: f64, w: f64, s: f64; - let hx = (reinterpret(x) >> 32); // high word of x - let ix = hx & 0x7FFFFFFF; // high word of |x| - let big = ix >= 0x3FE59428; - if (big) { // |x| >= 0.6744 - if (hx < 0) { x = -x, y = -y; } - z = pio4 - x; - w = pio4lo - y; - x = z + w; - y = 0.0; - } - z = x * x; - w = z * z; - r = T1 + w * (T3 + w * (T5 + w * (T7 + w * (T9 + w * T11)))); - v = z * (T2 + w * (T4 + w * (T6 + w * (T8 + w * (T10 + w * T12))))); - s = z * x; - r = y + z * (s * (r + v) + y); - r += T0 * s; - w = x + r; - if (big) { - v = iy; - return (1 - ((hx >> 30) & 2)) * (v - 2.0 * (x - (w * w / (w + v) - r))); - } - if (iy == 1) return w; - let a: f64, t: f64; - z = w; - z = reinterpret(reinterpret(z) & 0xFFFFFFFF00000000); - v = r - (z - x); // z + v = r + x - t = a = -one / w; // a = -1.0 / w - t = reinterpret(reinterpret(t) & 0xFFFFFFFF00000000); - s = one + t * z; - return t + a * (s + t * v); -} - -/** @internal */ -function dtoi32(x: f64): i32 { - if (ASC_SHRINK_LEVEL > 0) { - const inv32 = 1.0 / 4294967296; - return (x - 4294967296 * floor(x * inv32)); - } else { - let result = 0; - let u = reinterpret(x); - let e = (u >> 52) & 0x7FF; - if (e <= 1023 + 30) { - result = x; - } else if (e <= 1023 + 30 + 53) { - let v = (u & ((1 << 52) - 1)) | (1 << 52); - v = v << e - 1023 - 52 + 32; - result = (v >> 32); - result = select(-result, result, u < 0); - } - return result; - } -} - -// @ts-ignore: decorator -@lazy let random_seeded = false; - -// @ts-ignore: decorator -@lazy let random_state0_64: u64, random_state1_64: u64; - -// @ts-ignore: decorator -@lazy let random_state0_32: u32, random_state1_32: u32; - -function murmurHash3(h: u64): u64 { // Force all bits of a hash block to avalanche - h ^= h >> 33; // see: https://github.com/aappleby/smhasher - h *= 0xFF51AFD7ED558CCD; - h ^= h >> 33; - h *= 0xC4CEB9FE1A85EC53; - h ^= h >> 33; - return h; -} - -function splitMix32(h: u32): u32 { - h += 0x6D2B79F5; - h = (h ^ (h >> 15)) * (h | 1); - h ^= h + (h ^ (h >> 7)) * (h | 61); - return h ^ (h >> 14); -} - -export namespace NativeMath { - - // @ts-ignore: decorator - @lazy - export const E = reinterpret(0x4005BF0A8B145769); // 2.7182818284590452354 - - // @ts-ignore: decorator - @lazy - export const LN2 = reinterpret(0x3FE62E42FEFA39EF); // 0.69314718055994530942 - - // @ts-ignore: decorator - @lazy - export const LN10 = reinterpret(0x40026BB1BBB55516); // 2.30258509299404568402 - - // @ts-ignore: decorator - @lazy - export const LOG2E = reinterpret(0x3FF71547652B82FE); // 1.4426950408889634074 - - // @ts-ignore: decorator - @lazy - export const LOG10E = reinterpret(0x3FDBCB7B1526E50E); // 0.43429448190325182765 - - // @ts-ignore: decorator - @lazy - export const PI = reinterpret(0x400921FB54442D18); // 3.14159265358979323846 - - // @ts-ignore: decorator - @lazy - export const SQRT1_2 = reinterpret(0x3FE6A09E667F3BCD); // 0.70710678118654752440 - - // @ts-ignore: decorator - @lazy - export const SQRT2 = reinterpret(0x3FF6A09E667F3BCD); // 1.41421356237309504880 - - // @ts-ignore: decorator - @lazy - export let sincos_sin: f64 = 0; - - // @ts-ignore: decorator - @lazy - export let sincos_cos: f64 = 0; - - // @ts-ignore: decorator - @inline export function abs(x: f64): f64 { - return builtin_abs(x); - } - - export function acos(x: f64): f64 { // see: musl/src/math/acos.c and SUN COPYRIGHT NOTICE above - const - pio2_hi = reinterpret(0x3FF921FB54442D18), // 1.57079632679489655800e+00 - pio2_lo = reinterpret(0x3C91A62633145C07), // 6.12323399573676603587e-17 - Ox1p_120f = reinterpret(0x03800000); - - let hx = (reinterpret(x) >> 32); - let ix = hx & 0x7FFFFFFF; - if (ix >= 0x3FF00000) { - let lx = reinterpret(x); - if ((ix - 0x3FF00000 | lx) == 0) { - if (hx < 0) return 2 * pio2_hi + Ox1p_120f; - return 0; - } - return 0 / (x - x); - } - if (ix < 0x3FE00000) { - if (ix <= 0x3C600000) return pio2_hi + Ox1p_120f; - return pio2_hi - (x - (pio2_lo - x * R(x * x))); - } - let s: f64, w: f64, z: f64; - if (hx < 0) { - // z = (1.0 + x) * 0.5; - z = 0.5 + x * 0.5; - s = builtin_sqrt(z); - w = R(z) * s - pio2_lo; - return 2 * (pio2_hi - (s + w)); - } - // z = (1.0 - x) * 0.5; - z = 0.5 - x * 0.5; - s = builtin_sqrt(z); - let df = reinterpret(reinterpret(s) & 0xFFFFFFFF00000000); - let c = (z - df * df) / (s + df); - w = R(z) * s + c; - return 2 * (df + w); - } - - export function acosh(x: f64): f64 { // see: musl/src/math/acosh.c - const s = reinterpret(0x3FE62E42FEFA39EF); - let u = reinterpret(x); - // Prevent propagation for all input values less than 1.0. - // Note musl lib didn't fix this yet. - if (u < 0x3FF0000000000000) return (x - x) / 0.0; - let e = u >> 52 & 0x7FF; - if (e < 0x3FF + 1) return log1p(x - 1 + builtin_sqrt((x - 1) * (x - 1) + 2 * (x - 1))); - if (e < 0x3FF + 26) return log(2 * x - 1 / (x + builtin_sqrt(x * x - 1))); - return log(x) + s; - } - - export function asin(x: f64): f64 { // see: musl/src/math/asin.c and SUN COPYRIGHT NOTICE above - const - pio2_hi = reinterpret(0x3FF921FB54442D18), // 1.57079632679489655800e+00 - pio2_lo = reinterpret(0x3C91A62633145C07), // 6.12323399573676603587e-17 - Ox1p_120f = reinterpret(0x03800000); - - let hx = (reinterpret(x) >> 32); - let ix = hx & 0x7FFFFFFF; - if (ix >= 0x3FF00000) { - let lx = reinterpret(x); - if ((ix - 0x3FF00000 | lx) == 0) return x * pio2_hi + Ox1p_120f; - return 0 / (x - x); - } - if (ix < 0x3FE00000) { - if (ix < 0x3E500000 && ix >= 0x00100000) return x; - return x + x * R(x * x); - } - // let z = (1.0 - builtin_abs(x)) * 0.5; - let z = 0.5 - builtin_abs(x) * 0.5; - let s = builtin_sqrt(z); - let r = R(z); - if (ix >= 0x3FEF3333) x = pio2_hi - (2 * (s + s * r) - pio2_lo); - else { - let f = reinterpret(reinterpret(s) & 0xFFFFFFFF00000000); - let c = (z - f * f) / (s + f); - x = 0.5 * pio2_hi - (2 * s * r - (pio2_lo - 2 * c) - (0.5 * pio2_hi - 2 * f)); - } - return select(-x, x, hx < 0); - } - - export function asinh(x: f64): f64 { // see: musl/src/math/asinh.c - const c = reinterpret(0x3FE62E42FEFA39EF); // 0.693147180559945309417232121458176568 - let u = reinterpret(x); - let e = u >> 52 & 0x7FF; - let y = reinterpret(u & 0x7FFFFFFFFFFFFFFF); - if (e >= 0x3FF + 26) y = log(y) + c; - else if (e >= 0x3FF + 1) y = log(2 * y + 1 / (builtin_sqrt(y * y + 1) + y)); - else if (e >= 0x3FF - 26) y = log1p(y + y * y / (builtin_sqrt(y * y + 1) + 1)); - return builtin_copysign(y, x); - } - - export function atan(x: f64): f64 { // see musl/src/math/atan.c and SUN COPYRIGHT NOTICE above - const - atanhi0 = reinterpret(0x3FDDAC670561BB4F), // 4.63647609000806093515e-01 - atanhi1 = reinterpret(0x3FE921FB54442D18), // 7.85398163397448278999e-01 - atanhi2 = reinterpret(0x3FEF730BD281F69B), // 9.82793723247329054082e-01 - atanhi3 = reinterpret(0x3FF921FB54442D18), // 1.57079632679489655800e+00 - atanlo0 = reinterpret(0x3C7A2B7F222F65E2), // 2.26987774529616870924e-17 - atanlo1 = reinterpret(0x3C81A62633145C07), // 3.06161699786838301793e-17 - atanlo2 = reinterpret(0x3C7007887AF0CBBD), // 1.39033110312309984516e-17 - atanlo3 = reinterpret(0x3C91A62633145C07), // 6.12323399573676603587e-17 - aT0 = reinterpret(0x3FD555555555550D), // 3.33333333333329318027e-01 - aT1 = reinterpret(0xBFC999999998EBC4), // -1.99999999998764832476e-01 - aT2 = reinterpret(0x3FC24924920083FF), // 1.42857142725034663711e-01 - aT3 = reinterpret(0xBFBC71C6FE231671), // -1.11111104054623557880e-01, - aT4 = reinterpret(0x3FB745CDC54C206E), // 9.09088713343650656196e-02 - aT5 = reinterpret(0xBFB3B0F2AF749A6D), // -7.69187620504482999495e-02 - aT6 = reinterpret(0x3FB10D66A0D03D51), // 6.66107313738753120669e-02 - aT7 = reinterpret(0xBFADDE2D52DEFD9A), // -5.83357013379057348645e-02 - aT8 = reinterpret(0x3FA97B4B24760DEB), // 4.97687799461593236017e-02 - aT9 = reinterpret(0xBFA2B4442C6A6C2F), // -3.65315727442169155270e-02 - aT10 = reinterpret(0x3F90AD3AE322DA11), // 1.62858201153657823623e-02 - Ox1p_120f = reinterpret(0x03800000); - - let ix = (reinterpret(x) >> 32); - let sx = x; - ix &= 0x7FFFFFFF; - let z: f64; - if (ix >= 0x44100000) { - if (isNaN(x)) return x; - z = atanhi3 + Ox1p_120f; - return builtin_copysign(z, sx); - } - let id: i32; - if (ix < 0x3FDC0000) { - if (ix < 0x3E400000) return x; - id = -1; - } else { - x = builtin_abs(x); - if (ix < 0x3FF30000) { - if (ix < 0x3FE60000) { - id = 0; - x = (2.0 * x - 1.0) / (2.0 + x); - } else { - id = 1; - x = (x - 1.0) / (x + 1.0); - } - } else { - if (ix < 0x40038000) { - id = 2; - x = (x - 1.5) / (1.0 + 1.5 * x); - } else { - id = 3; - x = -1.0 / x; - } - } - } - z = x * x; - let w = z * z; - let s1 = z * (aT0 + w * (aT2 + w * (aT4 + w * (aT6 + w * (aT8 + w * aT10))))); - let s2 = w * (aT1 + w * (aT3 + w * (aT5 + w * (aT7 + w * aT9)))); - let s3 = x * (s1 + s2); - if (id < 0) return x - s3; - switch (id) { - case 0: { z = atanhi0 - ((s3 - atanlo0) - x); break; } - case 1: { z = atanhi1 - ((s3 - atanlo1) - x); break; } - case 2: { z = atanhi2 - ((s3 - atanlo2) - x); break; } - case 3: { z = atanhi3 - ((s3 - atanlo3) - x); break; } - default: unreachable(); - } - return builtin_copysign(z, sx); - } - - export function atanh(x: f64): f64 { // see: musl/src/math/atanh.c - let u = reinterpret(x); - let e = u >> 52 & 0x7FF; - let y = builtin_abs(x); - if (e < 0x3FF - 1) { - if (e >= 0x3FF - 32) y = 0.5 * log1p(2 * y + 2 * y * y / (1 - y)); - } else { - y = 0.5 * log1p(2 * (y / (1 - y))); - } - return builtin_copysign(y, x); - } - - export function atan2(y: f64, x: f64): f64 { // see: musl/src/math/atan2.c and SUN COPYRIGHT NOTICE above - const pi_lo = reinterpret(0x3CA1A62633145C07); // 1.2246467991473531772E-16 - if (isNaN(x) || isNaN(y)) return x + y; - let u = reinterpret(x); - let ix = (u >> 32); - let lx = u; - u = reinterpret(y); - let iy = (u >> 32); - let ly = u; - if ((ix - 0x3FF00000 | lx) == 0) return atan(y); - let m = ((iy >> 31) & 1) | ((ix >> 30) & 2); - ix = ix & 0x7FFFFFFF; - iy = iy & 0x7FFFFFFF; - if ((iy | ly) == 0) { - switch (m) { - case 0: - case 1: return y; - case 2: return PI; - case 3: return -PI; - } - } - if ((ix | lx) == 0) return m & 1 ? -PI / 2 : PI / 2; - if (ix == 0x7FF00000) { - if (iy == 0x7FF00000) { - let t = m & 2 ? 3 * PI / 4 : PI / 4; - return m & 1 ? -t : t; - } else { - let t = m & 2 ? PI : 0; - return m & 1 ? -t : t; - } - } - let z: f64; - if (ix + (64 << 20) < iy || iy == 0x7FF00000) return m & 1 ? -PI / 2 : PI / 2; - if ((m & 2) && iy + (64 << 20) < ix) z = 0; - else z = atan(builtin_abs(y / x)); - switch (m) { - case 0: return z; - case 1: return -z; - case 2: return PI - (z - pi_lo); - case 3: return (z - pi_lo) - PI; - } - unreachable(); - return 0; - } - - export function cbrt(x: f64): f64 { // see: musl/src/math/cbrt.c and SUN COPYRIGHT NOTICE above - const - B1 = 715094163, - B2 = 696219795, - P0 = reinterpret(0x3FFE03E60F61E692), // 1.87595182427177009643 - P1 = reinterpret(0xBFFE28E092F02420), // -1.88497979543377169875 - P2 = reinterpret(0x3FF9F1604A49D6C2), // 1.621429720105354466140 - P3 = reinterpret(0xBFE844CBBEE751D9), // -0.758397934778766047437 - P4 = reinterpret(0x3FC2B000D4E4EDD7), // 0.145996192886612446982 - Ox1p54 = reinterpret(0x4350000000000000); // 0x1p54 - - let u = reinterpret(x); - let hx = (u >> 32) & 0x7FFFFFFF; - if (hx >= 0x7FF00000) return x + x; - if (hx < 0x00100000) { - u = reinterpret(x * Ox1p54); - hx = (u >> 32) & 0x7FFFFFFF; - if (hx == 0) return x; - hx = hx / 3 + B2; - } else { - hx = hx / 3 + B1; - } - u &= 1 << 63; - u |= hx << 32; - let t = reinterpret(u); - let r = (t * t) * (t / x); - t = t * ((P0 + r * (P1 + r * P2)) + ((r * r) * r) * (P3 + r * P4)); - t = reinterpret((reinterpret(t) + 0x80000000) & 0xFFFFFFFFC0000000); - let s = t * t; - r = x / s; - r = (r - t) / (2 * t + r); - t = t + t * r; - return t; - } - - // @ts-ignore: decorator - @inline - export function ceil(x: f64): f64 { - return builtin_ceil(x); - } - - export function clz32(x: f64): f64 { - if (!isFinite(x)) return 32; - /* - * Wasm (MVP) and JS have different approaches for double->int conversions. - * - * For emulate JS conversion behavior and avoid trapping from wasm we should modulate by MAX_INT - * our float-point arguments before actual convertion to integers. - */ - return builtin_clz(dtoi32(x)); - } - - export function cos(x: f64): f64 { // see: musl/src/math/cos.c - let u = reinterpret(x); - let ux = u32(u >> 32); - let sign = ux >> 31; - - ux &= 0x7FFFFFFF; - - // |x| ~< pi/4 - if (ux <= 0x3FE921FB) { - if (ux < 0x3E46A09E) { // |x| < 2**-27 * sqrt(2) - return 1.0; - } - return cos_kern(x, 0); - } - - // sin(Inf or NaN) is NaN - if (ux >= 0x7FF00000) return x - x; - - // argument reduction needed - let n = rempio2(x, u, sign); - let y0 = rempio2_y0; - let y1 = rempio2_y1; - - x = n & 1 ? sin_kern(y0, y1, 1) : cos_kern(y0, y1); - return (n + 1) & 2 ? -x : x; - } - - export function cosh(x: f64): f64 { // see: musl/src/math/cosh.c - let u = reinterpret(x); - u &= 0x7FFFFFFFFFFFFFFF; - x = reinterpret(u); - let w = (u >> 32); - let t: f64; - if (w < 0x3FE62E42) { - if (w < 0x3FF00000 - (26 << 20)) return 1; - t = expm1(x); - // return 1 + t * t / (2 * (1 + t)); - return 1 + t * t / (2 + 2 * t); - } - if (w < 0x40862E42) { - t = exp(x); - return 0.5 * (t + 1 / t); - } - t = expo2(x, 1); - return t; - } - - export function exp(x: f64): f64 { // see: musl/src/math/exp.c and SUN COPYRIGHT NOTICE above - if (ASC_SHRINK_LEVEL < 1) { - return exp_lut(x); - } else { - const - ln2hi = reinterpret(0x3FE62E42FEE00000), // 6.93147180369123816490e-01 - ln2lo = reinterpret(0x3DEA39EF35793C76), // 1.90821492927058770002e-10 - invln2 = reinterpret(0x3FF71547652B82FE), // 1.44269504088896338700e+00 - P1 = reinterpret(0x3FC555555555553E), // 1.66666666666666019037e-01 - P2 = reinterpret(0xBF66C16C16BEBD93), // -2.77777777770155933842e-03 - P3 = reinterpret(0x3F11566AAF25DE2C), // 6.61375632143793436117e-05 - P4 = reinterpret(0xBEBBBD41C5D26BF1), // -1.65339022054652515390e-06 - P5 = reinterpret(0x3E66376972BEA4D0), // 4.13813679705723846039e-08 - overflow = reinterpret(0x40862E42FEFA39EF), // 709.782712893383973096 - underflow = reinterpret(0xC0874910D52D3051), // -745.13321910194110842 - Ox1p1023 = reinterpret(0x7FE0000000000000); // 0x1p1023 - - let hx = u32(reinterpret(x) >> 32); - let sign = hx >> 31; - hx &= 0x7FFFFFFF; - if (hx >= 0x4086232B) { - if (isNaN(x)) return x; - if (x > overflow) return x * Ox1p1023; - if (x < underflow) return 0; - } - let hi: f64, lo: f64 = 0; - let k = 0; - if (hx > 0x3FD62E42) { - if (hx >= 0x3FF0A2B2) { - k = i32(invln2 * x + builtin_copysign(0.5, x)); - } else { - k = 1 - (sign << 1); - } - hi = x - k * ln2hi; - lo = k * ln2lo; - x = hi - lo; - } else if (hx > 0x3E300000) { - hi = x; - } else return 1.0 + x; - let xs = x * x; - // let c = x - xp2 * (P1 + xp2 * (P2 + xp2 * (P3 + xp2 * (P4 + xp2 * P5)))); - let xq = xs * xs; - let c = x - (xs * P1 + xq * ((P2 + xs * P3) + xq * (P4 + xs * P5))); - let y = 1.0 + (x * c / (2 - c) - lo + hi); - return k == 0 ? y : scalbn(y, k); - } - } - - export function exp2(x: f64): f64 { - return exp2_lut(x); - } - - export function expm1(x: f64): f64 { // see: musl/src/math/expm1.c and SUN COPYRIGHT NOTICE above - const - o_threshold = reinterpret(0x40862E42FEFA39EF), // 7.09782712893383973096e+02 - ln2_hi = reinterpret(0x3FE62E42FEE00000), // 6.93147180369123816490e-01 - ln2_lo = reinterpret(0x3DEA39EF35793C76), // 1.90821492927058770002e-10 - invln2 = reinterpret(0x3FF71547652B82FE), // 1.44269504088896338700e+00 - Q1 = reinterpret(0xBFA11111111110F4), // -3.33333333333331316428e-02 - Q2 = reinterpret(0x3F5A01A019FE5585), // 1.58730158725481460165e-03 - Q3 = reinterpret(0xBF14CE199EAADBB7), // -7.93650757867487942473e-05 - Q4 = reinterpret(0x3ED0CFCA86E65239), // 4.00821782732936239552e-06 - Q5 = reinterpret(0xBE8AFDB76E09C32D), // -2.01099218183624371326e-07 - Ox1p1023 = reinterpret(0x7FE0000000000000); // 0x1p1023 - - let u = reinterpret(x); - let hx = u32(u >> 32) & 0x7FFFFFFF; - let sign = u32(u >> 63); - let k = 0; - if (hx >= 0x4043687A) { - if (isNaN(x)) return x; - if (sign) return -1; - if (x > o_threshold) return x * Ox1p1023; - } - let c = 0.0, t: f64; - if (hx > 0x3FD62E42) { - k = select( - 1 - (sign << 1), - i32(invln2 * x + builtin_copysign(0.5, x)), - hx < 0x3FF0A2B2 - ); - t = k; - let hi = x - t * ln2_hi; - let lo = t * ln2_lo; - x = hi - lo; - c = (hi - x) - lo; - } else if (hx < 0x3C900000) return x; - let hfx = 0.5 * x; - let hxs = x * hfx; - // let r1 = 1.0 + hxs * (Q1 + hxs * (Q2 + hxs * (Q3 + hxs * (Q4 + hxs * Q5)))); - let hxq = hxs * hxs; - let r1 = (1.0 + hxs * Q1) + hxq * ((Q2 + hxs * Q3) + hxq * (Q4 + hxs * Q5)); - t = 3.0 - r1 * hfx; - let e = hxs * ((r1 - t) / (6.0 - x * t)); - if (k == 0) return x - (x * e - hxs); - e = x * (e - c) - c; - e -= hxs; - if (k == -1) return 0.5 * (x - e) - 0.5; - if (k == 1) { - if (x < -0.25) return -2.0 * (e - (x + 0.5)); - return 1.0 + 2.0 * (x - e); - } - u = (0x3FF + k) << 52; - let twopk = reinterpret(u); - let y: f64; - if (k < 0 || k > 56) { - y = x - e + 1.0; - if (k == 1024) y = y * 2.0 * Ox1p1023; - else y = y * twopk; - return y - 1.0; - } - u = (0x3FF - k) << 52; - y = reinterpret(u); - if (k < 20) y = (1 - y) - e; - else y = 1 - (e + y); - return (x + y) * twopk; - } - - // @ts-ignore: decorator - @inline - export function floor(x: f64): f64 { - return builtin_floor(x); - } - - // @ts-ignore: decorator - @inline - export function fround(x: f64): f64 { - return x; - } - - export function hypot(x: f64, y: f64): f64 { // see: musl/src/math/hypot.c - const - SPLIT = reinterpret(0x41A0000000000000) + 1, // 0x1p27 + 1 - Ox1p700 = reinterpret(0x6BB0000000000000), - Ox1p_700 = reinterpret(0x1430000000000000); - - let ux = reinterpret(x); - let uy = reinterpret(y); - ux &= 0x7FFFFFFFFFFFFFFF; - uy &= 0x7FFFFFFFFFFFFFFF; - if (ux < uy) { - let ut = ux; - ux = uy; - uy = ut; - } - let ex = i32(ux >> 52); - let ey = i32(uy >> 52); - y = reinterpret(uy); - if (ey == 0x7FF) return y; - x = reinterpret(ux); - if (ex == 0x7FF || uy == 0) return x; - if (ex - ey > 64) return x + y; - let z = 1.0; - if (ex > 0x3FF + 510) { - z = Ox1p700; - x *= Ox1p_700; - y *= Ox1p_700; - } else if (ey < 0x3FF - 450) { - z = Ox1p_700; - x *= Ox1p700; - y *= Ox1p700; - } - let c = x * SPLIT; - let h = x - c + c; - let l = x - h; - let hx = x * x; - let lx = h * h - hx + (2 * h + l) * l; - c = y * SPLIT; - h = y - c + c; - l = y - h; - let hy = y * y; - let ly = h * h - hy + (2 * h + l) * l; - return z * builtin_sqrt(ly + lx + hy + hx); - } - - export function imul(x: f64, y: f64): f64 { - /* - * Wasm (MVP) and JS have different approaches for double->int conversions. - * - * For emulate JS conversion behavior and avoid trapping from wasm we should modulate by MAX_INT - * our float-point arguments before actual convertion to integers. - */ - if (!isFinite(x + y)) return 0; - return dtoi32(x) * dtoi32(y); - } - - export function log(x: f64): f64 { // see: musl/src/math/log.c and SUN COPYRIGHT NOTICE above - if (ASC_SHRINK_LEVEL < 1) { - return log_lut(x); - } else { - const - ln2_hi = reinterpret(0x3FE62E42FEE00000), // 6.93147180369123816490e-01 - ln2_lo = reinterpret(0x3DEA39EF35793C76), // 1.90821492927058770002e-10 - Lg1 = reinterpret(0x3FE5555555555593), // 6.666666666666735130e-01 - Lg2 = reinterpret(0x3FD999999997FA04), // 3.999999999940941908e-01 - Lg3 = reinterpret(0x3FD2492494229359), // 2.857142874366239149e-01 - Lg4 = reinterpret(0x3FCC71C51D8E78AF), // 2.222219843214978396e-01 - Lg5 = reinterpret(0x3FC7466496CB03DE), // 1.818357216161805012e-01 - Lg6 = reinterpret(0x3FC39A09D078C69F), // 1.531383769920937332e-01 - Lg7 = reinterpret(0x3FC2F112DF3E5244), // 1.479819860511658591e-01 - Ox1p54 = reinterpret(0x4350000000000000); // 0x1p54 - - let u = reinterpret(x); - let hx = u32(u >> 32); - let k = 0; - let sign = hx >> 31; - if (sign || hx < 0x00100000) { - if (u << 1 == 0) return -1 / (x * x); - if (sign) return (x - x) / 0.0; - k -= 54; - x *= Ox1p54; - u = reinterpret(x); - hx = u32(u >> 32); - } else if (hx >= 0x7FF00000) { - return x; - } else if (hx == 0x3FF00000 && u << 32 == 0) { - return 0; - } - hx += 0x3FF00000 - 0x3FE6A09E; - k += (hx >> 20) - 0x3FF; - hx = (hx & 0x000FFFFF) + 0x3FE6A09E; - u = hx << 32 | (u & 0xFFFFFFFF); - x = reinterpret(u); - let f = x - 1.0; - let hfsq = 0.5 * f * f; - let s = f / (2.0 + f); - let z = s * s; - let w = z * z; - let t1 = w * (Lg2 + w * (Lg4 + w * Lg6)); - let t2 = z * (Lg1 + w * (Lg3 + w * (Lg5 + w * Lg7))); - let r = t2 + t1; - let dk = k; - return s * (hfsq + r) + dk * ln2_lo - hfsq + f + dk * ln2_hi; - } - } - - export function log10(x: f64): f64 { // see: musl/src/math/log10.c and SUN COPYRIGHT NOTICE above - const - ivln10hi = reinterpret(0x3FDBCB7B15200000), // 4.34294481878168880939e-01 - ivln10lo = reinterpret(0x3DBB9438CA9AADD5), // 2.50829467116452752298e-11 - log10_2hi = reinterpret(0x3FD34413509F6000), // 3.01029995663611771306e-01 - log10_2lo = reinterpret(0x3D59FEF311F12B36), // 3.69423907715893078616e-13 - Lg1 = reinterpret(0x3FE5555555555593), // 6.666666666666735130e-01 - Lg2 = reinterpret(0x3FD999999997FA04), // 3.999999999940941908e-01 - Lg3 = reinterpret(0x3FD2492494229359), // 2.857142874366239149e-01 - Lg4 = reinterpret(0x3FCC71C51D8E78AF), // 2.222219843214978396e-01 - Lg5 = reinterpret(0x3FC7466496CB03DE), // 1.818357216161805012e-01 - Lg6 = reinterpret(0x3FC39A09D078C69F), // 1.531383769920937332e-01 - Lg7 = reinterpret(0x3FC2F112DF3E5244), // 1.479819860511658591e-01 - Ox1p54 = reinterpret(0x4350000000000000); // 0x1p54 - - let u = reinterpret(x); - let hx = u32(u >> 32); - let k = 0; - let sign = hx >> 31; - if (sign || hx < 0x00100000) { - if (u << 1 == 0) return -1 / (x * x); - if (sign) return (x - x) / 0.0; - k -= 54; - x *= Ox1p54; - u = reinterpret(x); - hx = u32(u >> 32); - } else if (hx >= 0x7FF00000) { - return x; - } else if (hx == 0x3FF00000 && u << 32 == 0) { - return 0; - } - hx += 0x3FF00000 - 0x3FE6A09E; - k += i32(hx >> 20) - 0x3FF; - hx = (hx & 0x000FFFFF) + 0x3FE6A09E; - u = hx << 32 | (u & 0xFFFFFFFF); - x = reinterpret(u); - let f = x - 1.0; - let hfsq = 0.5 * f * f; - let s = f / (2.0 + f); - let z = s * s; - let w = z * z; - let t1 = w * (Lg2 + w * (Lg4 + w * Lg6)); - let t2 = z * (Lg1 + w * (Lg3 + w * (Lg5 + w * Lg7))); - let r = t2 + t1; - let hi = f - hfsq; - u = reinterpret(hi); - u &= 0xFFFFFFFF00000000; - hi = reinterpret(u); - let lo = f - hi - hfsq + s * (hfsq + r); - let val_hi = hi * ivln10hi; - let dk = k; - let y = dk * log10_2hi; - let val_lo = dk * log10_2lo + (lo + hi) * ivln10lo + lo * ivln10hi; - w = y + val_hi; - val_lo += (y - w) + val_hi; - return val_lo + w; - } - - export function log1p(x: f64): f64 { // see: musl/src/math/log1p.c and SUN COPYRIGHT NOTICE above - const - ln2_hi = reinterpret(0x3FE62E42FEE00000), // 6.93147180369123816490e-01 - ln2_lo = reinterpret(0x3DEA39EF35793C76), // 1.90821492927058770002e-10 - Lg1 = reinterpret(0x3FE5555555555593), // 6.666666666666735130e-01 - Lg2 = reinterpret(0x3FD999999997FA04), // 3.999999999940941908e-01 - Lg3 = reinterpret(0x3FD2492494229359), // 2.857142874366239149e-01 - Lg4 = reinterpret(0x3FCC71C51D8E78AF), // 2.222219843214978396e-01 - Lg5 = reinterpret(0x3FC7466496CB03DE), // 1.818357216161805012e-01 - Lg6 = reinterpret(0x3FC39A09D078C69F), // 1.531383769920937332e-01 - Lg7 = reinterpret(0x3FC2F112DF3E5244); // 1.479819860511658591e-01 - - let u = reinterpret(x); - let hx = u32(u >> 32); - let k = 1; - let c = 0.0, f = 0.0; - if (hx < 0x3FDA827A || bool(hx >> 31)) { - if (hx >= 0xBFF00000) { - if (x == -1) return x / 0.0; - return (x - x) / 0.0; - } - if (hx << 1 < 0x3CA00000 << 1) return x; - if (hx <= 0xBFD2BEC4) { - k = 0; - c = 0; - f = x; - } - } else if (hx >= 0x7FF00000) return x; - if (k) { - u = reinterpret(1 + x); - let hu = u32(u >> 32); - hu += 0x3FF00000 - 0x3FE6A09E; - k = i32(hu >> 20) - 0x3FF; - if (k < 54) { - let uf = reinterpret(u); - c = k >= 2 ? 1 - (uf - x) : x - (uf - 1); - c /= uf; - } else c = 0; - hu = (hu & 0x000FFFFF) + 0x3FE6A09E; - u = hu << 32 | (u & 0xFFFFFFFF); - f = reinterpret(u) - 1; - } - let hfsq = 0.5 * f * f; - let s = f / (2.0 + f); - let z = s * s; - let w = z * z; - let t1 = w * (Lg2 + w * (Lg4 + w * Lg6)); - let t2 = z * (Lg1 + w * (Lg3 + w * (Lg5 + w * Lg7))); - let r = t2 + t1; - let dk = k; - return s * (hfsq + r) + (dk * ln2_lo + c) - hfsq + f + dk * ln2_hi; - } - - export function log2(x: f64): f64 { // see: musl/src/math/log2.c and SUN COPYRIGHT NOTICE above - if (ASC_SHRINK_LEVEL < 1) { - return log2_lut(x); - } else { - const - ivln2hi = reinterpret(0x3FF7154765200000), // 1.44269504072144627571e+00 - ivln2lo = reinterpret(0x3DE705FC2EEFA200), // 1.67517131648865118353e-10 - Lg1 = reinterpret(0x3FE5555555555593), // 6.666666666666735130e-01 - Lg2 = reinterpret(0x3FD999999997FA04), // 3.999999999940941908e-01 - Lg3 = reinterpret(0x3FD2492494229359), // 2.857142874366239149e-01 - Lg4 = reinterpret(0x3FCC71C51D8E78AF), // 2.222219843214978396e-01 - Lg5 = reinterpret(0x3FC7466496CB03DE), // 1.818357216161805012e-01 - Lg6 = reinterpret(0x3FC39A09D078C69F), // 1.531383769920937332e-01 - Lg7 = reinterpret(0x3FC2F112DF3E5244), // 1.479819860511658591e-01 - Ox1p54 = reinterpret(0x4350000000000000); // 1p54 - - let u = reinterpret(x); - let hx = u32(u >> 32); - let k = 0; - let sign = hx >> 31; - if (sign || hx < 0x00100000) { - if (u << 1 == 0) return -1 / (x * x); - if (sign) return (x - x) / 0.0; - k -= 54; - x *= Ox1p54; - u = reinterpret(x); - hx = u32(u >> 32); - } else if (hx >= 0x7FF00000) { - return x; - } else if (hx == 0x3FF00000 && u << 32 == 0) { - return 0; - } - hx += 0x3FF00000 - 0x3FE6A09E; - k += i32(hx >> 20) - 0x3FF; - hx = (hx & 0x000FFFFF) + 0x3FE6A09E; - u = hx << 32 | (u & 0xFFFFFFFF); - x = reinterpret(u); - let f = x - 1.0; - let hfsq = 0.5 * f * f; - let s = f / (2.0 + f); - let z = s * s; - let w = z * z; - let t1 = w * (Lg2 + w * (Lg4 + w * Lg6)); - let t2 = z * (Lg1 + w * (Lg3 + w * (Lg5 + w * Lg7))); - let r = t2 + t1; - let hi = f - hfsq; - u = reinterpret(hi); - u &= 0xFFFFFFFF00000000; - hi = reinterpret(u); - let lo = f - hi - hfsq + s * (hfsq + r); - let val_hi = hi * ivln2hi; - let val_lo = (lo + hi) * ivln2lo + lo * ivln2hi; - let y = k; - w = y + val_hi; - val_lo += (y - w) + val_hi; - val_hi = w; - return val_lo + val_hi; - } - } - - // @ts-ignore: decorator - @inline - export function max(value1: f64, value2: f64): f64 { - return builtin_max(value1, value2); - } - - // @ts-ignore: decorator - @inline - export function min(value1: f64, value2: f64): f64 { - return builtin_min(value1, value2); - } - - export function pow(x: f64, y: f64): f64 { // see: musl/src/math/pow.c and SUN COPYRIGHT NOTICE above - // TODO: remove this fast pathes after introduced own mid-end IR with "stdlib call simplify" transforms - if (builtin_abs(y) <= 2) { - if (y == 2.0) return x * x; - if (y == 0.5) { - return select( - builtin_abs(builtin_sqrt(x)), - Infinity, - x != -Infinity - ); - } - if (y == -1.0) return 1 / x; - if (y == 1.0) return x; - if (y == 0.0) return 1.0; - } - if (ASC_SHRINK_LEVEL < 1) { - return pow_lut(x, y); - } else { - const - dp_h1 = reinterpret(0x3FE2B80340000000), // 5.84962487220764160156e-01 - dp_l1 = reinterpret(0x3E4CFDEB43CFD006), // 1.35003920212974897128e-08 - two53 = reinterpret(0x4340000000000000), // 9007199254740992.0 - huge = reinterpret(0x7E37E43C8800759C), // 1e+300 - tiny = reinterpret(0x01A56E1FC2F8F359), // 1e-300 - L1 = reinterpret(0x3FE3333333333303), // 5.99999999999994648725e-01 - L2 = reinterpret(0x3FDB6DB6DB6FABFF), // 4.28571428578550184252e-01 - L3 = reinterpret(0x3FD55555518F264D), // 3.33333329818377432918e-01 - L4 = reinterpret(0x3FD17460A91D4101), // 2.72728123808534006489e-01 - L5 = reinterpret(0x3FCD864A93C9DB65), // 2.30660745775561754067e-01 - L6 = reinterpret(0x3FCA7E284A454EEF), // 2.06975017800338417784e-01 - P1 = reinterpret(0x3FC555555555553E), // 1.66666666666666019037e-01 - P2 = reinterpret(0xBF66C16C16BEBD93), // -2.77777777770155933842e-03 - P3 = reinterpret(0x3F11566AAF25DE2C), // 6.61375632143793436117e-05 - P4 = reinterpret(0xBEBBBD41C5D26BF1), // -1.65339022054652515390e-06 - P5 = reinterpret(0x3E66376972BEA4D0), // 4.13813679705723846039e-08 - lg2 = reinterpret(0x3FE62E42FEFA39EF), // 6.93147180559945286227e-01 - lg2_h = reinterpret(0x3FE62E4300000000), // 6.93147182464599609375e-01 - lg2_l = reinterpret(0xBE205C610CA86C39), // -1.90465429995776804525e-09 - ovt = reinterpret(0x3C971547652B82FE), // 8.0085662595372944372e-017 - cp = reinterpret(0x3FEEC709DC3A03FD), // 9.61796693925975554329e-01 - cp_h = reinterpret(0x3FEEC709E0000000), // 9.61796700954437255859e-01 - cp_l = reinterpret(0xBE3E2FE0145B01F5), // -7.02846165095275826516e-09 - ivln2 = reinterpret(0x3FF71547652B82FE), // 1.44269504088896338700e+00 - ivln2_h = reinterpret(0x3FF7154760000000), // 1.44269502162933349609e+00 - ivln2_l = reinterpret(0x3E54AE0BF85DDF44), // 1.92596299112661746887e-08 - inv3 = reinterpret(0x3FD5555555555555); // 0.3333333333333333333333 - - let u_ = reinterpret(x); - let hx = i32(u_ >> 32); - let lx = u_; - u_ = reinterpret(y); - let hy = i32(u_ >> 32); - let ly = u_; - let ix = hx & 0x7FFFFFFF; - let iy = hy & 0x7FFFFFFF; - if ((iy | ly) == 0) return 1.0; // x**0 = 1, even if x is NaN - // if (hx == 0x3FF00000 && lx == 0) return 1.0; // C: 1**y = 1, even if y is NaN, JS: NaN - if ( // NaN if either arg is NaN - ix > 0x7FF00000 || (ix == 0x7FF00000 && lx != 0) || - iy > 0x7FF00000 || (iy == 0x7FF00000 && ly != 0) - ) return x + y; - let yisint = 0, k: i32; - if (hx < 0) { - if (iy >= 0x43400000) yisint = 2; - else if (iy >= 0x3FF00000) { - k = (iy >> 20) - 0x3FF; - let offset = select(52, 20, k > 20) - k; - let Ly = select(ly, iy, k > 20); - let jj = Ly >> offset; - if ((jj << offset) == Ly) yisint = 2 - (jj & 1); - } - } - if (ly == 0) { - if (iy == 0x7FF00000) { // y is +-inf - if (((ix - 0x3FF00000) | lx) == 0) return NaN; // C: (-1)**+-inf is 1, JS: NaN - else if (ix >= 0x3FF00000) return hy >= 0 ? y : 0.0; // (|x|>1)**+-inf = inf,0 - else return hy >= 0 ? 0.0 : -y; // (|x|<1)**+-inf = 0,inf - } - if (iy == 0x3FF00000) { - if (hy >= 0) return x; - return 1 / x; - } - if (hy == 0x40000000) return x * x; - if (hy == 0x3FE00000) { - if (hx >= 0) return builtin_sqrt(x); - } - } - let ax = builtin_abs(x), z: f64; - if (lx == 0) { - if (ix == 0 || ix == 0x7FF00000 || ix == 0x3FF00000) { - z = ax; - if (hy < 0) z = 1.0 / z; - if (hx < 0) { - if (((ix - 0x3FF00000) | yisint) == 0) { - let d = z - z; - z = d / d; - } else if (yisint == 1) z = -z; - } - return z; - } - } - let s = 1.0; - if (hx < 0) { - if (yisint == 0) { - let d = x - x; - return d / d; - } - if (yisint == 1) s = -1.0; - } - let t1: f64, t2: f64, p_h: f64, p_l: f64, r: f64, t: f64, u: f64, v: f64, w: f64; - let j: i32, n: i32; - if (iy > 0x41E00000) { - if (iy > 0x43F00000) { - if (ix <= 0x3FEFFFFF) return hy < 0 ? huge * huge : tiny * tiny; - if (ix >= 0x3FF00000) return hy > 0 ? huge * huge : tiny * tiny; - } - if (ix < 0x3FEFFFFF) return hy < 0 ? s * huge * huge : s * tiny * tiny; - if (ix > 0x3FF00000) return hy > 0 ? s * huge * huge : s * tiny * tiny; - t = ax - 1.0; - w = (t * t) * (0.5 - t * (inv3 - t * 0.25)); - u = ivln2_h * t; - v = t * ivln2_l - w * ivln2; - t1 = u + v; - t1 = reinterpret(reinterpret(t1) & 0xFFFFFFFF00000000); - t2 = v - (t1 - u); - } else { - let ss: f64, s2: f64, s_h: f64, s_l: f64, t_h: f64, t_l: f64; - n = 0; - if (ix < 0x00100000) { - ax *= two53; - n -= 53; - ix = (reinterpret(ax) >> 32); - } - n += (ix >> 20) - 0x3FF; - j = ix & 0x000FFFFF; - ix = j | 0x3FF00000; - if (j <= 0x3988E) k = 0; - else if (j < 0xBB67A) k = 1; - else { - k = 0; - n += 1; - ix -= 0x00100000; - } - ax = reinterpret(reinterpret(ax) & 0xFFFFFFFF | (ix << 32)); - let bp = select(1.5, 1.0, k); // k ? 1.5 : 1.0 - u = ax - bp; - v = 1.0 / (ax + bp); - ss = u * v; - s_h = ss; - s_h = reinterpret(reinterpret(s_h) & 0xFFFFFFFF00000000); - t_h = reinterpret(u64(((ix >> 1) | 0x20000000) + 0x00080000 + (k << 18)) << 32); - t_l = ax - (t_h - bp); - s_l = v * ((u - s_h * t_h) - s_h * t_l); - s2 = ss * ss; - r = s2 * s2 * (L1 + s2 * (L2 + s2 * (L3 + s2 * (L4 + s2 * (L5 + s2 * L6))))); - r += s_l * (s_h + ss); - s2 = s_h * s_h; - t_h = 3.0 + s2 + r; - t_h = reinterpret(reinterpret(t_h) & 0xFFFFFFFF00000000); - t_l = r - ((t_h - 3.0) - s2); - u = s_h * t_h; - v = s_l * t_h + t_l * ss; - p_h = u + v; - p_h = reinterpret(reinterpret(p_h) & 0xFFFFFFFF00000000); - p_l = v - (p_h - u); - let z_h = cp_h * p_h; - let dp_l = select(dp_l1, 0.0, k); - let z_l = cp_l * p_h + p_l * cp + dp_l; - t = n; - let dp_h = select(dp_h1, 0.0, k); - t1 = ((z_h + z_l) + dp_h) + t; - t1 = reinterpret(reinterpret(t1) & 0xFFFFFFFF00000000); - t2 = z_l - (((t1 - t) - dp_h) - z_h); - } - let y1 = y; - y1 = reinterpret(reinterpret(y1) & 0xFFFFFFFF00000000); - p_l = (y - y1) * t1 + y * t2; - p_h = y1 * t1; - z = p_l + p_h; - u_ = reinterpret(z); - j = u32(u_ >> 32); - let i = u_; - if (j >= 0x40900000) { - if (((j - 0x40900000) | i) != 0) return s * huge * huge; - if (p_l + ovt > z - p_h) return s * huge * huge; - } else if ((j & 0x7FFFFFFF) >= 0x4090CC00) { - if (((j - 0xC090CC00) | i) != 0) return s * tiny * tiny; - if (p_l <= z - p_h) return s * tiny * tiny; - } - i = j & 0x7FFFFFFF; - k = (i >> 20) - 0x3FF; - n = 0; - if (i > 0x3FE00000) { - n = j + (0x00100000 >> (k + 1)); - k = ((n & 0x7FFFFFFF) >> 20) - 0x3FF; - t = 0.0; - t = reinterpret(u64(n & ~(0x000FFFFF >> k)) << 32); - n = ((n & 0x000FFFFF) | 0x00100000) >> (20 - k); - if (j < 0) n = -n; - p_h -= t; - } - t = p_l + p_h; - t = reinterpret(reinterpret(t) & 0xFFFFFFFF00000000); - u = t * lg2_h; - v = (p_l - (t - p_h)) * lg2 + t * lg2_l; - z = u + v; - w = v - (z - u); - t = z * z; - t1 = z - t * (P1 + t * (P2 + t * (P3 + t * (P4 + t * P5)))); - r = (z * t1) / (t1 - 2.0) - (w + z * w); - z = 1.0 - (r - z); - j = u32(reinterpret(z) >> 32); - j += n << 20; - if ((j >> 20) <= 0) z = scalbn(z, n); - else z = reinterpret(reinterpret(z) & 0xFFFFFFFF | (j << 32)); - return s * z; - } - } - - export function seedRandom(value: i64): void { - // Instead zero seed use golden ratio: - // phi = (1 + sqrt(5)) / 2 - // trunc(2^64 / phi) = 0x9e3779b97f4a7c15 - if (value == 0) value = 0x9e3779b97f4a7c15; - random_state0_64 = murmurHash3(value); - random_state1_64 = murmurHash3(~random_state0_64); - random_state0_32 = splitMix32(value); - random_state1_32 = splitMix32(random_state0_32); - random_seeded = true; - } - - export function random(): f64 { // see: v8/src/base/utils/random-number-generator.cc - if (!random_seeded) seedRandom(reinterpret(seed())); - let s1 = random_state0_64; - let s0 = random_state1_64; - random_state0_64 = s0; - s1 ^= s1 << 23; - s1 ^= s1 >> 17; - s1 ^= s0; - s1 ^= s0 >> 26; - random_state1_64 = s1; - let r = (s0 >> 12) | 0x3FF0000000000000; - return reinterpret(r) - 1; - } - - export function round(x: f64): f64 { - if (ASC_SHRINK_LEVEL > 0) { - return builtin_ceil(x) - f64(builtin_ceil(x) - 0.5 > x); - } else { - let roundUp = builtin_ceil(x); - return select(roundUp, roundUp - 1.0, roundUp - 0.5 <= x); - } - } - - export function sign(x: f64): f64 { - if (ASC_SHRINK_LEVEL > 0) { - return select(builtin_copysign(1, x), x, builtin_abs(x) > 0); - } else { - return select(1, select(-1, x, x < 0), x > 0); - } - } - - // @ts-ignore: decorator - @inline - export function signbit(x: f64): bool { - return bool(reinterpret(x) >>> 63); - } - - export function sin(x: f64): f64 { // see: musl/src/math/sin.c - let u = reinterpret(x); - let ux = u32(u >> 32); - let sign = ux >> 31; - - ux &= 0x7FFFFFFF; - - // |x| ~< pi/4 - if (ux <= 0x3FE921FB) { - if (ux < 0x3E500000) { // |x| < 2**-26 - return x; - } - return sin_kern(x, 0.0, 0); - } - - // sin(Inf or NaN) is NaN - if (ux >= 0x7FF00000) return x - x; - - // argument reduction needed - let n = rempio2(x, u, sign); - let y0 = rempio2_y0; - let y1 = rempio2_y1; - - x = n & 1 ? cos_kern(y0, y1) : sin_kern(y0, y1, 1); - return n & 2 ? -x : x; - } - - export function sinh(x: f64): f64 { // see: musl/src/math/sinh.c - let u = reinterpret(x) & 0x7FFFFFFFFFFFFFFF; - let a = reinterpret(u); - let w = u32(u >> 32); - let h = builtin_copysign(0.5, x); - if (w < 0x40862E42) { - let t = expm1(a); - if (w < 0x3FF00000) { - if (w < 0x3FF00000 - (26 << 20)) return x; - return h * (2 * t - t * t / (t + 1)); - } - return h * (t + t / (t + 1)); - } - return expo2(a, 2 * h); - } - - // @ts-ignore: decorator - @inline - export function sqrt(x: f64): f64 { - return builtin_sqrt(x); - } - - export function tan(x: f64): f64 { // see: musl/src/math/tan.c - let u = reinterpret(x); - let ux = u32(u >> 32); - let sign = ux >>> 31; - - ux &= 0x7FFFFFFF; - - // |x| ~< pi/4 - if (ux <= 0x3FE921FB) { - if (ux < 0x3E400000) { // |x| < 2**-27 - return x; - } - return tan_kern(x, 0.0, 1); - } - - // tan(Inf or NaN) is NaN - if (ux >= 0x7FF00000) return x - x; - - let n = rempio2(x, u, sign); - return tan_kern(rempio2_y0, rempio2_y1, 1 - ((n & 1) << 1)); - } - - export function tanh(x: f64): f64 { // see: musl/src/math/tanh.c - let u = reinterpret(x); - u &= 0x7FFFFFFFFFFFFFFF; - let y = reinterpret(u); - let w = u32(u >> 32); - let t: f64; - if (w > 0x3FE193EA) { - if (w > 0x40340000) { - t = 1 - 0 / y; - } else { - t = expm1(2 * y); - t = 1 - 2 / (t + 2); - } - } else if (w > 0x3FD058AE) { - t = expm1(2 * y); - t = t / (t + 2); - } else if (w >= 0x00100000) { - t = expm1(-2 * y); - t = -t / (t + 2); - } else t = y; - return builtin_copysign(t, x); - } - - // @ts-ignore: decorator - @inline - export function trunc(x: f64): f64 { - return builtin_trunc(x); - } - - export function scalbn(x: f64, n: i32): f64 { // see: https://git.musl-libc.org/cgit/musl/tree/src/math/scalbn.c - const - Ox1p53 = reinterpret(0x4340000000000000), - Ox1p1023 = reinterpret(0x7FE0000000000000), - Ox1p_1022 = reinterpret(0x0010000000000000); - - let y = x; - if (n > 1023) { - y *= Ox1p1023; - n -= 1023; - if (n > 1023) { - y *= Ox1p1023; - n = builtin_min(n - 1023, 1023); - } - } else if (n < -1022) { - // make sure final n < -53 to avoid double - // rounding in the subnormal range - y *= Ox1p_1022 * Ox1p53; - n += 1022 - 53; - if (n < -1022) { - y *= Ox1p_1022 * Ox1p53; - n = builtin_max(n + 1022 - 53, -1022); - } - } - return y * reinterpret((0x3FF + n) << 52); - } - - export function mod(x: f64, y: f64): f64 { // see: musl/src/math/fmod.c - if (builtin_abs(y) == 1.0) { - // x % 1, x % -1 ==> sign(x) * abs(x - 1.0 * trunc(x / 1.0)) - // TODO: move this rule to compiler's optimization pass. - // It could be apply for any x % C_pot, where "C_pot" is pow of two const. - return builtin_copysign(x - builtin_trunc(x), x); - } - let ux = reinterpret(x); - let uy = reinterpret(y); - let ex = i64(ux >> 52 & 0x7FF); - let ey = i64(uy >> 52 & 0x7FF); - let sx = ux >> 63; - let uy1 = uy << 1; - if (uy1 == 0 || ex == 0x7FF || isNaN(y)) { - let m = x * y; - return m / m; - } - let ux1 = ux << 1; - if (ux1 <= uy1) { - return x * f64(ux1 != uy1); - } - if (!ex) { - ex -= builtin_clz(ux << 12); - ux <<= 1 - ex; - } else { - ux &= u64(-1) >> 12; - ux |= 1 << 52; - } - if (!ey) { - ey -= builtin_clz(uy << 12); - uy <<= 1 - ey; - } else { - uy &= u64(-1) >> 12; - uy |= 1 << 52; - } - while (ex > ey) { - if (ux >= uy) { - if (ux == uy) return 0 * x; - ux -= uy; - } - ux <<= 1; - --ex; - } - if (ux >= uy) { - if (ux == uy) return 0 * x; - ux -= uy; - } - // for (; !(ux >> 52); ux <<= 1) --ex; - let shift = builtin_clz(ux << 11); - ex -= shift; - ux <<= shift; - if (ex > 0) { - ux -= 1 << 52; - ux |= ex << 52; - } else { - ux >>= -ex + 1; - } - return reinterpret(ux | (sx << 63)); - } - - export function rem(x: f64, y: f64): f64 { // see: musl/src/math/remquo.c - let ux = reinterpret(x); - let uy = reinterpret(y); - let ex = i64(ux >> 52 & 0x7FF); - let ey = i64(uy >> 52 & 0x7FF); - if (uy << 1 == 0 || ex == 0x7FF || isNaN(y)) { - let m = x * y; - return m / m; - } - if (ux << 1 == 0) return x; - let uxi = ux; - if (!ex) { - ex -= builtin_clz(uxi << 12); - uxi <<= 1 - ex; - } else { - uxi &= u64(-1) >> 12; - uxi |= 1 << 52; - } - if (!ey) { - ey -= builtin_clz(uy << 12); - uy <<= 1 - ey; - } else { - uy &= u64(-1) >> 12; - uy |= 1 << 52; - } - let q: u32 = 0; - do { - if (ex < ey) { - if (ex + 1 == ey) break; // goto end - return x; - } - while (ex > ey) { - if (uxi >= uy) { - uxi -= uy; - ++q; - } - uxi <<= 1; - q <<= 1; - --ex; - } - if (uxi >= uy) { - uxi -= uy; - ++q; - } - if (uxi == 0) ex = -60; - else { - let shift = builtin_clz(uxi << 11); - ex -= shift; - uxi <<= shift; - } - break; - } while (false); - // end: - if (ex > 0) { - uxi -= 1 << 52; - uxi |= ex << 52; - } else { - uxi >>= -ex + 1; - } - x = reinterpret(uxi); - y = builtin_abs(y); - let x2 = x + x; - if (ex == ey || (ex + 1 == ey && (x2 > y || (x2 == y && (q & 1))))) { - x -= y; - // ++q; - } - return ux < 0 ? -x : x; - } - - export function sincos(x: f64): void { // see: musl/tree/src/math/sincos.c - let u = reinterpret(x); - let ux = u32(u >> 32); - let sign = ux >> 31; - ux &= 0x7FFFFFFF; - - if (ux <= 0x3FE921FB) { // |x| ~<= \u03C0/4 - if (ux < 0x3E46A09E) { // if |x| < 2**-27 * sqrt(2) - sincos_sin = x; - sincos_cos = 1; - return; - } - sincos_sin = sin_kern(x, 0, 0); - sincos_cos = cos_kern(x, 0); - return; - } - // sin(Inf or NaN) is NaN - if (ux >= 0x7F800000) { - let xx = x - x; - sincos_sin = xx; - sincos_cos = xx; - return; - } - // general argument reduction needed - let n = rempio2(x, u, sign); - let y0 = rempio2_y0; - let y1 = rempio2_y1; - let s = sin_kern(y0, y1, 1); - let c = cos_kern(y0, y1); - let sin = s, cos = c; - if (n & 1) { - sin = c; - cos = -s; - } - if (n & 2) { - sin = -sin; - cos = -cos; - } - sincos_sin = sin; - sincos_cos = cos; - } -} - -// @ts-ignore: decorator -@lazy let rempio2f_y: f64; - -// @ts-ignore: decorator -@lazy @inline const PIO2F_TABLE = memory.data([ - 0xA2F9836E4E441529, - 0xFC2757D1F534DDC0, - 0xDB6295993C439041, - 0xFE5163ABDEBBC561 -]); - -function Rf(z: f32): f32 { // Rational approximation of (asin(x)-x)/x^3 - const // see: musl/src/math/asinf.c and SUN COPYRIGHT NOTICE above - pS0 = reinterpret(0x3E2AAA75), // 1.6666586697e-01f - pS1 = reinterpret(0xBD2F13BA), // -4.2743422091e-02f - pS2 = reinterpret(0xBC0DD36B), // -8.6563630030e-03f - qS1 = reinterpret(0xBF34E5AE); // -7.0662963390e-01f - - let p = z * (pS0 + z * (pS1 + z * pS2)); - let q: f32 = 1 + z * qS1; - return p / q; -} - -// @ts-ignore: decorator -@inline -function expo2f(x: f32, sign: f32): f32 { // exp(x)/2 for x >= log(DBL_MAX) - const // see: musl/src/math/__expo2f.c - k = 235, - kln2 = reinterpret(0x4322E3BC); // 0x1.45c778p+7f - let scale = reinterpret(u32(0x7F + (k >> 1)) << 23); - // in directed rounding correct sign before rounding or overflow is important - return NativeMathf.exp(x - kln2) * (sign * scale) * scale; -} - -// @ts-ignore: decorator -@inline -function pio2f_large_quot(x: f32, u: i32): i32 { // see: jdh8/metallic/blob/master/src/math/float/rem_pio2f.c - const coeff = reinterpret(0x3BF921FB54442D18); // \u03C0 * 0x1p-65 = 8.51530395021638647334e-20 - - let offset = (u >> 23) - 152; - let shift = u64(offset & 63); - let tblPtr = PIO2F_TABLE + (offset >> 6 << 3); - - let b0 = load(tblPtr, 0 << 3); - let b1 = load(tblPtr, 1 << 3); - let lo: u64; - - if (shift > 32) { - let b2 = load(tblPtr, 2 << 3); - lo = b2 >> (96 - shift); - lo |= b1 << (shift - 32); - } else { - lo = b1 >> (32 - shift); - } - - let hi = (b1 >> (64 - shift)) | (b0 << shift); - let mantissa: u64 = (u & 0x007FFFFF) | 0x00800000; - let product = mantissa * hi + (mantissa * lo >> 32); - let r: i64 = product << 2; - let q = i32((product >> 62) + (r >>> 63)); - rempio2f_y = copysign(coeff, x) * r; - return q; -} - -// @ts-ignore: decorator -@inline -function rempio2f(x: f32, u: u32, sign: i32): i32 { // see: jdh8/metallic/blob/master/src/math/float/rem_pio2f.c - const - pi2hi = reinterpret(0x3FF921FB50000000), // 1.57079631090164184570 - pi2lo = reinterpret(0x3E5110B4611A6263), // 1.58932547735281966916e-8 - _2_pi = reinterpret(0x3FE45F306DC9C883); // 0.63661977236758134308 - - if (u < 0x4DC90FDB) { // \u03C0 * 0x1p28 - let q = nearest(x * _2_pi); - rempio2f_y = x - q * pi2hi - q * pi2lo; - return q; - } - - let q = pio2f_large_quot(x, u); - return select(-q, q, sign); -} - -// |sin(x)/x - s(x)| < 2**-37.5 (~[-4.89e-12, 4.824e-12]). -// @ts-ignore: decorator -@inline -function sin_kernf(x: f64): f32 { // see: musl/tree/src/math/__sindf.c - const - S1 = reinterpret(0xBFC5555554CBAC77), // -0x15555554cbac77.0p-55 - S2 = reinterpret(0x3F811110896EFBB2), // 0x111110896efbb2.0p-59 - S3 = reinterpret(0xBF2A00F9E2CAE774), // -0x1a00f9e2cae774.0p-65 - S4 = reinterpret(0x3EC6CD878C3B46A7); // 0x16cd878c3b46a7.0p-71 - - let z = x * x; - let w = z * z; - let r = S3 + z * S4; - let s = z * x; - return f32((x + s * (S1 + z * S2)) + s * w * r); -} - -// |cos(x) - c(x)| < 2**-34.1 (~[-5.37e-11, 5.295e-11]). -// @ts-ignore: decorator -@inline -function cos_kernf(x: f64): f32 { // see: musl/tree/src/math/__cosdf.c - const - C0 = reinterpret(0xBFDFFFFFFD0C5E81), // -0x1ffffffd0c5e81.0p-54 - C1 = reinterpret(0x3FA55553E1053A42), // 0x155553e1053a42.0p-57 - C2 = reinterpret(0xBF56C087E80F1E27), // -0x16c087e80f1e27.0p-62 - C3 = reinterpret(0x3EF99342E0EE5069); // 0x199342e0ee5069.0p-68 - - let z = x * x; - let w = z * z; - let r = C2 + z * C3; - return f32(((1 + z * C0) + w * C1) + (w * z) * r); -} - -// |tan(x)/x - t(x)| < 2**-25.5 (~[-2e-08, 2e-08]). -// @ts-ignore: decorator -@inline -function tan_kernf(x: f64, odd: i32): f32 { // see: musl/tree/src/math/__tandf.c - const - T0 = reinterpret(0x3FD5554D3418C99F), // 0x15554d3418c99f.0p-54 - T1 = reinterpret(0x3FC112FD38999F72), // 0x1112fd38999f72.0p-55 - T2 = reinterpret(0x3FAB54C91D865AFE), // 0x1b54c91d865afe.0p-57 - T3 = reinterpret(0x3F991DF3908C33CE), // 0x191df3908c33ce.0p-58 - T4 = reinterpret(0x3F685DADFCECF44E), // 0x185dadfcecf44e.0p-61 - T5 = reinterpret(0x3F8362B9BF971BCD); // 0x1362b9bf971bcd.0p-59 - - let z = x * x; - let r = T4 + z * T5; - let t = T2 + z * T3; - let w = z * z; - let s = z * x; - let u = T0 + z * T1; - - r = (x + s * u) + (s * w) * (t + w * r); - return f32(odd ? -1 / r : r); -} - -// See: jdh8/metallic/src/math/float/log2f.c and jdh8/metallic/src/math/float/kernel/atanh.h -// @ts-ignore: decorator -@inline -function log2f(x: f64): f64 { - const - log2e = reinterpret(0x3FF71547652B82FE), // 1.44269504088896340736 - c0 = reinterpret(0x3FD555554FD9CAEF), // 0.33333332822728226129 - c1 = reinterpret(0x3FC999A7A8AF4132), // 0.20000167595436263505 - c2 = reinterpret(0x3FC2438D79437030), // 0.14268654271188685375 - c3 = reinterpret(0x3FBE2F663B001C97); // 0.11791075649681414150 - - let i = reinterpret(x); - let exponent = (i - 0x3FE6A09E667F3BCD) >> 52; - x = reinterpret(i - (exponent << 52)); - x = (x - 1) / (x + 1); - let xx = x * x; - let y = x + x * xx * (c0 + c1 * xx + (c2 + c3 * xx) * (xx * xx)); - return (2 * log2e) * y + exponent; -} - -// See: jdh8/metallic/src/math/float/exp2f.h and jdh8/metallic/blob/master/src/math/float/kernel/exp2f.h -// @ts-ignore: decorator -@inline -function exp2f(x: f64): f64 { - const - c0 = reinterpret(0x3FE62E4302FCC24A), // 6.931471880289532425e-1 - c1 = reinterpret(0x3FCEBFBE07D97B91), // 2.402265108421173406e-1 - c2 = reinterpret(0x3FAC6AF6CCFC1A65), // 5.550357105498874537e-2 - c3 = reinterpret(0x3F83B29E3CE9AEF6), // 9.618030771171497658e-3 - c4 = reinterpret(0x3F55F0896145A89F), // 1.339086685300950937e-3 - c5 = reinterpret(0x3F2446C81E384864); // 1.546973499989028719e-4 - - if (x < -1022) return 0; - if (x >= 1024) return Infinity; - - let n = nearest(x); - x -= n; - let xx = x * x; - let y = 1 + x * (c0 + c1 * x + (c2 + c3 * x) * xx + (c4 + c5 * x) * (xx * xx)); - return reinterpret(reinterpret(y) + (n << 52)); -} - -export namespace NativeMathf { - - // @ts-ignore: decorator - @lazy - export const E = NativeMath.E; - - // @ts-ignore: decorator - @lazy - export const LN2 = NativeMath.LN2; - - // @ts-ignore: decorator - @lazy - export const LN10 = NativeMath.LN10; - - // @ts-ignore: decorator - @lazy - export const LOG2E = NativeMath.LOG2E; - - // @ts-ignore: decorator - @lazy - export const LOG10E = NativeMath.LOG10E; - - // @ts-ignore: decorator - @lazy - export const PI = NativeMath.PI; - - // @ts-ignore: decorator - @lazy - export const SQRT1_2 = NativeMath.SQRT1_2; - - // @ts-ignore: decorator - @lazy - export const SQRT2 = NativeMath.SQRT2; - - // @ts-ignore: decorator - @lazy - export let sincos_sin: f32 = 0; - - // @ts-ignore: decorator - @lazy - export let sincos_cos: f32 = 0; - - // @ts-ignore: decorator - @inline - export function abs(x: f32): f32 { - return builtin_abs(x); - } - - export function acos(x: f32): f32 { // see: musl/src/math/acosf.c and SUN COPYRIGHT NOTICE above - const - pio2_hi = reinterpret(0x3FC90FDA), // 1.5707962513e+00f - pio2_lo = reinterpret(0x33A22168), // 7.5497894159e-08f - Ox1p_120f = reinterpret(0x03800000); // 0x1p-120f - - let hx = reinterpret(x); - let ix = hx & 0x7FFFFFFF; - if (ix >= 0x3F800000) { - if (ix == 0x3F800000) { - return select(2 * pio2_hi + Ox1p_120f, 0, hx < 0); - } - return 0 / (x - x); - } - if (ix < 0x3F000000) { - if (ix <= 0x32800000) return pio2_hi + Ox1p_120f; - return pio2_hi - (x - (pio2_lo - x * Rf(x * x))); - } - let z: f32, w: f32, s: f32; - if (hx < 0) { - // z = (1 + x) * 0.5; - z = 0.5 + x * 0.5; - s = builtin_sqrt(z); - w = Rf(z) * s - pio2_lo; - return 2 * (pio2_hi - (s + w)); - } - // z = (1 - x) * 0.5; - z = 0.5 - x * 0.5; - s = builtin_sqrt(z); - hx = reinterpret(s); - let df = reinterpret(hx & 0xFFFFF000); - let c = (z - df * df) / (s + df); - w = Rf(z) * s + c; - return 2 * (df + w); - } - - export function acosh(x: f32): f32 { // see: musl/src/math/acoshf.c - const s = reinterpret(0x3F317218); // 0.693147180559945309417232121458176568f - let u = reinterpret(x); - let a = u & 0x7FFFFFFF; - if (a < 0x3F800000 + (1 << 23)) { // |x| < 2, invalid if x < 1 - let xm1 = x - 1; - return log1p(xm1 + builtin_sqrt(xm1 * (xm1 + 2))); - } - if (u < 0x3F800000 + (12 << 23)) { // 2 <= x < 0x1p12 - return log(2 * x - 1 / (x + builtin_sqrt(x * x - 1))); - } - // x >= 0x1p12 or x <= -2 or NaN - return log(x) + s; - } - - export function asin(x: f32): f32 { // see: musl/src/math/asinf.c and SUN COPYRIGHT NOTICE above - const - pio2 = reinterpret(0x3FC90FDB), // 1.570796326794896558e+00f - Ox1p_120f = reinterpret(0x03800000); // 0x1p-120f - - let sx = x; - let hx = reinterpret(x) & 0x7FFFFFFF; - if (hx >= 0x3F800000) { - if (hx == 0x3F800000) return x * pio2 + Ox1p_120f; - return 0 / (x - x); - } - if (hx < 0x3F000000) { - if (hx < 0x39800000 && hx >= 0x00800000) return x; - return x + x * Rf(x * x); - } - // let z: f32 = (1 - builtin_abs(x)) * 0.5; - let z: f32 = 0.5 - builtin_abs(x) * 0.5; - let s = builtin_sqrt(z); // sic - x = f32(pio2 - 2 * (s + s * Rf(z))); - return builtin_copysign(x, sx); - } - - export function asinh(x: f32): f32 { // see: musl/src/math/asinhf.c - const c = reinterpret(0x3F317218); // 0.693147180559945309417232121458176568f - let u = reinterpret(x) & 0x7FFFFFFF; - let y = reinterpret(u); - if (u >= 0x3F800000 + (12 << 23)) y = log(y) + c; - else if (u >= 0x3F800000 + (1 << 23)) y = log(2 * y + 1 / (builtin_sqrt(y * y + 1) + y)); - else if (u >= 0x3F800000 - (12 << 23)) y = log1p(y + y * y / (builtin_sqrt(y * y + 1) + 1)); - return builtin_copysign(y, x); - } - - export function atan(x: f32): f32 { // see: musl/src/math/atanf.c and SUN COPYRIGHT NOTICE above - const - atanhi0 = reinterpret(0x3EED6338), // 4.6364760399e-01f - atanhi1 = reinterpret(0x3F490FDA), // 7.8539812565e-01f - atanhi2 = reinterpret(0x3F7B985E), // 9.8279368877e-01f - atanhi3 = reinterpret(0x3FC90FDA), // 1.5707962513e+00f - atanlo0 = reinterpret(0x31AC3769), // 5.0121582440e-09f - atanlo1 = reinterpret(0x33222168), // 3.7748947079e-08f - atanlo2 = reinterpret(0x33140FB4), // 3.4473217170e-08f - atanlo3 = reinterpret(0x33A22168), // 7.5497894159e-08f - aT0 = reinterpret(0x3EAAAAA9), // 3.3333328366e-01f - aT1 = reinterpret(0xBE4CCA98), // -1.9999158382e-01f - aT2 = reinterpret(0x3E11F50D), // 1.4253635705e-01f - aT3 = reinterpret(0xBDDA1247), // -1.0648017377e-01f - aT4 = reinterpret(0x3D7CAC25), // 6.1687607318e-02f - Ox1p_120f = reinterpret(0x03800000); // 0x1p-120f - - let ix = reinterpret(x); - let sx = x; - ix &= 0x7FFFFFFF; - let z: f32; - if (ix >= 0x4C800000) { - if (isNaN(x)) return x; - z = atanhi3 + Ox1p_120f; - return builtin_copysign(z, sx); - } - let id: i32; - if (ix < 0x3EE00000) { - if (ix < 0x39800000) return x; - id = -1; - } else { - x = builtin_abs(x); - if (ix < 0x3F980000) { - if (ix < 0x3F300000) { - id = 0; - x = (2.0 * x - 1.0) / (2.0 + x); - } else { - id = 1; - x = (x - 1.0) / (x + 1.0); - } - } else { - if (ix < 0x401C0000) { - id = 2; - x = (x - 1.5) / (1.0 + 1.5 * x); - } else { - id = 3; - x = -1.0 / x; - } - } - } - z = x * x; - let w = z * z; - let s1 = z * (aT0 + w * (aT2 + w * aT4)); - let s2 = w * (aT1 + w * aT3); - let s3 = x * (s1 + s2); - if (id < 0) return x - s3; - switch (id) { - case 0: { z = atanhi0 - ((s3 - atanlo0) - x); break; } - case 1: { z = atanhi1 - ((s3 - atanlo1) - x); break; } - case 2: { z = atanhi2 - ((s3 - atanlo2) - x); break; } - case 3: { z = atanhi3 - ((s3 - atanlo3) - x); break; } - default: unreachable(); - } - return builtin_copysign(z, sx); - } - - export function atanh(x: f32): f32 { // see: musl/src/math/atanhf.c - let u = reinterpret(x); - let y = builtin_abs(x); - if (u < 0x3F800000 - (1 << 23)) { - if (u >= 0x3F800000 - (32 << 23)) y = 0.5 * log1p(2 * y * (1.0 + y / (1 - y))); - } else y = 0.5 * log1p(2 * (y / (1 - y))); - return builtin_copysign(y, x); - } - - export function atan2(y: f32, x: f32): f32 { // see: musl/src/math/atan2f.c and SUN COPYRIGHT NOTICE above - const - pi = reinterpret(0x40490FDB), // 3.1415927410e+00f - pi_lo = reinterpret(0xB3BBBD2E); // -8.7422776573e-08f - - if (isNaN(x) || isNaN(y)) return x + y; - let ix = reinterpret(x); - let iy = reinterpret(y); - if (ix == 0x3F800000) return atan(y); - let m = u32(((iy >> 31) & 1) | ((ix >> 30) & 2)); - ix &= 0x7FFFFFFF; - iy &= 0x7FFFFFFF; - if (iy == 0) { - switch (m) { - case 0: - case 1: return y; - case 2: return pi; - case 3: return -pi; - } - } - if (ix == 0) return m & 1 ? -pi / 2 : pi / 2; - if (ix == 0x7F800000) { - if (iy == 0x7F800000) { - let t: f32 = m & 2 ? 3 * pi / 4 : pi / 4; - return m & 1 ? -t : t; - } else { - let t: f32 = m & 2 ? pi : 0.0; - return m & 1 ? -t : t; - } - } - if (ix + (26 << 23) < iy || iy == 0x7F800000) return m & 1 ? -pi / 2 : pi / 2; - let z: f32; - if ((m & 2) && iy + (26 << 23) < ix) z = 0.0; - else z = atan(builtin_abs(y / x)); - switch (m) { - case 0: return z; - case 1: return -z; - case 2: return pi - (z - pi_lo); - case 3: return (z - pi_lo) - pi; - } - unreachable(); - return 0; - } - - export function cbrt(x: f32): f32 { // see: musl/src/math/cbrtf.c and SUN COPYRIGHT NOTICE above - const - B1 = 709958130, - B2 = 642849266, - Ox1p24f = reinterpret(0x4B800000); - - let u = reinterpret(x); - let hx = u & 0x7FFFFFFF; - if (hx >= 0x7F800000) return x + x; - if (hx < 0x00800000) { - if (hx == 0) return x; - u = reinterpret(x * Ox1p24f); - hx = u & 0x7FFFFFFF; - hx = hx / 3 + B2; - } else { - hx = hx / 3 + B1; - } - u &= 0x80000000; - u |= hx; - let t = reinterpret(u); - let r = t * t * t; - t = t * (x + x + r) / (x + r + r); - r = t * t * t; - t = t * (x + x + r) / (x + r + r); - return t; - } - - // @ts-ignore: decorator - @inline - export function ceil(x: f32): f32 { - return builtin_ceil(x); - } - - export function clz32(x: f32): f32 { - if (!isFinite(x)) return 32; - return builtin_clz(dtoi32(x)); - } - - export function cos(x: f32): f32 { // see: musl/src/math/cosf.c - const - c1pio2 = reinterpret(0x3FF921FB54442D18), // M_PI_2 * 1 - c2pio2 = reinterpret(0x400921FB54442D18), // M_PI_2 * 2 - c3pio2 = reinterpret(0x4012D97C7F3321D2), // M_PI_2 * 3 - c4pio2 = reinterpret(0x401921FB54442D18); // M_PI_2 * 4 - - let ux = reinterpret(x); - let sign = ux >> 31; - ux &= 0x7FFFFFFF; - - if (ux <= 0x3F490FDA) { // |x| ~<= \u03C0/4 - if (ux < 0x39800000) { // |x| < 2**-12 - // raise inexact if x != 0 - return 1; - } - return cos_kernf(x); - } - - if (ASC_SHRINK_LEVEL < 1) { - if (ux <= 0x407B53D1) { // |x| ~<= 5\u03C0/4 - if (ux > 0x4016CBE3) { // |x| ~> 3\u03C0/4 - return -cos_kernf(sign ? x + c2pio2 : x - c2pio2); - } else { - return sign ? sin_kernf(x + c1pio2) : sin_kernf(c1pio2 - x); - } - } - if (ux <= 0x40E231D5) { // |x| ~<= 9\u03C0/4 - if (ux > 0x40AFEDDF) { // |x| ~> 7\u03C0/4 - return cos_kernf(sign ? x + c4pio2 : x - c4pio2); - } else { - return sign ? sin_kernf(-x - c3pio2) : sin_kernf(x - c3pio2); - } - } - } - - // cos(Inf or NaN) is NaN - if (ux >= 0x7F800000) return x - x; - - // general argument reduction needed - let n = rempio2f(x, ux, sign); - let y = rempio2f_y; - - let t = n & 1 ? sin_kernf(y) : cos_kernf(y); - return (n + 1) & 2 ? -t : t; - } - - export function cosh(x: f32): f32 { // see: musl/src/math/coshf.c - let u = reinterpret(x); - u &= 0x7FFFFFFF; - x = reinterpret(u); - if (u < 0x3F317217) { - if (u < 0x3F800000 - (12 << 23)) return 1; - let t = expm1(x); - // return 1 + t * t / (2 * (1 + t)); - return 1 + t * t / (2 + 2 * t); - } - if (u < 0x42B17217) { - let t = exp(x); - // return 0.5 * (t + 1 / t); - return 0.5 * t + 0.5 / t; - } - return expo2f(x, 1); - } - - // @ts-ignore: decorator - @inline - export function floor(x: f32): f32 { - return builtin_floor(x); - } - - export function exp(x: f32): f32 { // see: musl/src/math/expf.c and SUN COPYRIGHT NOTICE above - if (ASC_SHRINK_LEVEL < 1) { - return expf_lut(x); - } else { - const - ln2hi = reinterpret(0x3F317200), // 6.9314575195e-1f - ln2lo = reinterpret(0x35BFBE8E), // 1.4286067653e-6f - invln2 = reinterpret(0x3FB8AA3B), // 1.4426950216e+0f - P1 = reinterpret(0x3E2AAA8F), // 1.6666625440e-1f - P2 = reinterpret(0xBB355215), // -2.7667332906e-3f - Ox1p127f = reinterpret(0x7F000000); // 0x1p+127f - - let hx = reinterpret(x); - let sign = hx >> 31; - hx &= 0x7FFFFFFF; - if (hx >= 0x42AEAC50) { - if (hx > 0x7F800000) return x; // NaN - if (hx >= 0x42B17218) { - if (!sign) return x * Ox1p127f; - else if (hx >= 0x42CFF1B5) return 0; - } - } - let hi: f32, lo: f32; - let k: i32; - if (hx > 0x3EB17218) { - if (hx > 0x3F851592) { - k = i32(invln2 * x + builtin_copysign(0.5, x)); - } else { - k = 1 - (sign << 1); - } - hi = x - k * ln2hi; - lo = k * ln2lo; - x = hi - lo; - } else if (hx > 0x39000000) { - k = 0; - hi = x; - lo = 0; - } else { - return 1 + x; - } - let xx = x * x; - let c = x - xx * (P1 + xx * P2); - let y: f32 = 1 + (x * c / (2 - c) - lo + hi); - return k == 0 ? y : scalbn(y, k); - } - } - - export function exp2(x: f32): f32 { - return exp2f_lut(x); - } - - export function expm1(x: f32): f32 { // see: musl/src/math/expm1f.c and SUN COPYRIGHT NOTICE above - const - ln2_hi = reinterpret(0x3F317180), // 6.9313812256e-01f - ln2_lo = reinterpret(0x3717F7D1), // 9.0580006145e-06f - invln2 = reinterpret(0x3FB8AA3B), // 1.4426950216e+00f - Q1 = reinterpret(0xBD088868), // -3.3333212137e-02f - Q2 = reinterpret(0x3ACF3010), // 1.5807170421e-03f - Ox1p127f = reinterpret(0x7F000000); // 0x1p+127f - - let u = reinterpret(x); - let hx = u & 0x7FFFFFFF; - let sign = u >> 31; - if (hx >= 0x4195B844) { - if (hx > 0x7F800000) return x; - if (sign) return -1; - if (hx > 0x42B17217) { // x > log(FLT_MAX) - x *= Ox1p127f; - return x; - } - } - let c: f32 = 0.0, t: f32, k: i32; - if (hx > 0x3EB17218) { - k = select( - 1 - (sign << 1), - i32(invln2 * x + builtin_copysign(0.5, x)), - hx < 0x3F851592 - ); - t = k; - let hi = x - t * ln2_hi; - let lo = t * ln2_lo; - x = hi - lo; - c = (hi - x) - lo; - } else if (hx < 0x33000000) { - return x; - } else k = 0; - let hfx: f32 = 0.5 * x; - let hxs: f32 = x * hfx; - let r1: f32 = 1.0 + hxs * (Q1 + hxs * Q2); - t = 3.0 - r1 * hfx; - let e = hxs * ((r1 - t) / (6.0 - x * t)); - if (k == 0) return x - (x * e - hxs); - e = x * (e - c) - c; - e -= hxs; - if (k == -1) return 0.5 * (x - e) - 0.5; - if (k == 1) { - if (x < -0.25) return -2.0 * (e - (x + 0.5)); - return 1.0 + 2.0 * (x - e); - } - u = (0x7F + k) << 23; - let twopk = reinterpret(u); - let y: f32; - if (k < 0 || k > 56) { - y = x - e + 1.0; - if (k == 128) y = y * 2.0 * Ox1p127f; - else y = y * twopk; - return y - 1.0; - } - u = (0x7F - k) << 23; - y = reinterpret(u); - if (k < 20) y = (1 - y) - e; - else y = 1 - (e + y); - return (x + y) * twopk; - } - - // @ts-ignore: decorator - @inline - export function fround(x: f32): f32 { - return x; - } - - export function hypot(x: f32, y: f32): f32 { // see: musl/src/math/hypotf.c - const - Ox1p90f = reinterpret(0x6C800000), - Ox1p_90f = reinterpret(0x12800000); - - let ux = reinterpret(x); - let uy = reinterpret(y); - ux &= 0x7FFFFFFF; - uy &= 0x7FFFFFFF; - if (ux < uy) { - let ut = ux; - ux = uy; - uy = ut; - } - x = reinterpret(ux); - y = reinterpret(uy); - if (uy == 0xFF << 23) return y; - if (ux >= 0xFF << 23 || uy == 0 || ux - uy >= 25 << 23) return x + y; - let z: f32 = 1; - if (ux >= (0x7F + 60) << 23) { - z = Ox1p90f; - x *= Ox1p_90f; - y *= Ox1p_90f; - } else if (uy < (0x7F - 60) << 23) { - z = Ox1p_90f; - x *= Ox1p90f; - y *= Ox1p90f; - } - return z * builtin_sqrt(f32(x * x + y * y)); - } - - // @ts-ignore: decorator - @inline - export function imul(x: f32, y: f32): f32 { - /* - * Wasm (MVP) and JS have different approaches for double->int conversions. - * - * For emulate JS conversion behavior and avoid trapping from wasm we should modulate by MAX_INT - * our float-point arguments before actual convertion to integers. - */ - if (!isFinite(x + y)) return 0; - return (dtoi32(x) * dtoi32(y)); - } - - export function log(x: f32): f32 { // see: musl/src/math/logf.c and SUN COPYRIGHT NOTICE above - if (ASC_SHRINK_LEVEL < 1) { - return logf_lut(x); - } else { - const - ln2_hi = reinterpret(0x3F317180), // 6.9313812256e-01f - ln2_lo = reinterpret(0x3717F7D1), // 9.0580006145e-06f - Lg1 = reinterpret(0x3F2AAAAA), // 0xaaaaaa.0p-24f - Lg2 = reinterpret(0x3ECCCE13), // 0xccce13.0p-25f - Lg3 = reinterpret(0x3E91E9EE), // 0x91e9ee.0p-25f - Lg4 = reinterpret(0x3E789E26), // 0xf89e26.0p-26f - Ox1p25f = reinterpret(0x4C000000); - - let u = reinterpret(x); - let k = 0; - let sign = u >> 31; - if (sign || u < 0x00800000) { - if (u << 1 == 0) return -1 / (x * x); - if (sign) return (x - x) / 0; - k -= 25; - x *= Ox1p25f; - u = reinterpret(x); - } else if (u >= 0x7F800000) { - return x; - } else if (u == 0x3F800000) { - return 0; - } - u += 0x3F800000 - 0x3F3504F3; - k += i32(u >> 23) - 0x7F; - u = (u & 0x007FFFFF) + 0x3F3504F3; - x = reinterpret(u); - let f = x - 1.0; - let s = f / (2.0 + f); - let z = s * s; - let w = z * z; - let t1 = w * (Lg2 + w * Lg4); - let t2 = z * (Lg1 + w * Lg3); - let r = t2 + t1; - let hfsq = 0.5 * f * f; - let dk = k; - return s * (hfsq + r) + dk * ln2_lo - hfsq + f + dk * ln2_hi; - } - } - - export function log10(x: f32): f32 { // see: musl/src/math/log10f.c and SUN COPYRIGHT NOTICE above - const - ivln10hi = reinterpret(0x3EDE6000), // 4.3432617188e-01f - ivln10lo = reinterpret(0xB804EAD9), // -3.1689971365e-05f - log10_2hi = reinterpret(0x3E9A2080), // 3.0102920532e-01f - log10_2lo = reinterpret(0x355427DB), // 7.9034151668e-07f - Lg1 = reinterpret(0x3F2AAAAA), // 0xaaaaaa.0p-24f, 0.66666662693f - Lg2 = reinterpret(0x3ECCCE13), // 0xccce13.0p-25f, 0.40000972152f - Lg3 = reinterpret(0x3E91E9EE), // 0x91e9ee.0p-25f, 0.28498786688f - Lg4 = reinterpret(0x3E789E26), // 0xf89e26.0p-26f, 0.24279078841f - Ox1p25f = reinterpret(0x4C000000); // 0x1p25f - - let ux = reinterpret(x); - let k = 0; - let sign = ux >> 31; - if (sign || ux < 0x00800000) { - if (ux << 1 == 0) return -1 / (x * x); - if (sign) return (x - x) / 0.0; - k -= 25; - x *= Ox1p25f; - ux = reinterpret(x); - } else if (ux >= 0x7F800000) { - return x; - } else if (ux == 0x3F800000) { - return 0; - } - ux += 0x3F800000 - 0x3F3504F3; - k += i32(ux >> 23) - 0x7F; - ux = (ux & 0x007FFFFF) + 0x3F3504F3; - x = reinterpret(ux); - let f = x - 1.0; - let s = f / (2.0 + f); - let z = s * s; - let w = z * z; - let t1 = w * (Lg2 + w * Lg4); - let t2 = z * (Lg1 + w * Lg3); - let r = t2 + t1; - let hfsq: f32 = 0.5 * f * f; - let hi = f - hfsq; - ux = reinterpret(hi); - ux &= 0xFFFFF000; - hi = reinterpret(ux); - let lo = f - hi - hfsq + s * (hfsq + r); - let dk = k; - return dk * log10_2lo + (lo + hi) * ivln10lo + lo * ivln10hi + hi * ivln10hi + dk * log10_2hi; - } - - export function log1p(x: f32): f32 { // see: musl/src/math/log1pf.c and SUN COPYRIGHT NOTICE above - const - ln2_hi = reinterpret(0x3F317180), // 6.9313812256e-01 - ln2_lo = reinterpret(0x3717F7D1), // 9.0580006145e-06 - Lg1 = reinterpret(0x3F2AAAAA), // 0xaaaaaa.0p-24f, 0.66666662693f - Lg2 = reinterpret(0x3ECCCE13), // 0xccce13.0p-25f, 0.40000972152f - Lg3 = reinterpret(0x3E91E9EE), // 0x91e9ee.0p-25f, 0.28498786688f - Lg4 = reinterpret(0x3E789E26); // 0xf89e26.0p-26f, 0.24279078841f - - let ix = reinterpret(x); - let c: f32 = 0; - let f: f32 = 0; - let k = 1; - if (ix < 0x3ED413D0 || bool(ix >> 31)) { - if (ix >= 0xBF800000) { - if (x == -1) return x / 0.0; - return (x - x) / 0.0; - } - if (ix << 1 < 0x33800000 << 1) return x; - if (ix <= 0xBE95F619) { - k = 0; - c = 0; - f = x; - } - } else if (ix >= 0x7F800000) return x; - if (k) { - let uf: f32 = 1 + x; - let iu = reinterpret(uf); - iu += 0x3F800000 - 0x3F3504F3; - k = i32(iu >> 23) - 0x7F; - if (k < 25) { - c = k >= 2 ? 1 - (uf - x) : x - (uf - 1); - c /= uf; - } else c = 0; - iu = (iu & 0x007FFFFF) + 0x3F3504F3; - f = reinterpret(iu) - 1; - } - let s = f / (2.0 + f); - let z = s * s; - let w = z * z; - let t1 = w * (Lg2 + w * Lg4); - let t2 = z * (Lg1 + w * Lg3); - let r = t2 + t1; - let hfsq: f32 = 0.5 * f * f; - let dk = k; - return s * (hfsq + r) + (dk * ln2_lo + c) - hfsq + f + dk * ln2_hi; - } - - export function log2(x: f32): f32 { // see: musl/src/math/log2f.c and SUN COPYRIGHT NOTICE above - if (ASC_SHRINK_LEVEL < 1) { - return log2f_lut(x); - } else { - const - ivln2hi = reinterpret(0x3FB8B000), // 1.4428710938e+00f - ivln2lo = reinterpret(0xB9389AD4), // -1.7605285393e-04 - Lg1 = reinterpret(0x3F2AAAAA), // 0xaaaaaa.0p-24f, 0.66666662693f - Lg2 = reinterpret(0x3ECCCE13), // 0xccce13.0p-25f, 0.40000972152f - Lg3 = reinterpret(0x3E91E9EE), // 0x91e9ee.0p-25f, 0.28498786688f - Lg4 = reinterpret(0x3E789E26), // 0xf89e26.0p-26f, 0.24279078841f - Ox1p25f = reinterpret(0x4C000000); // 0x1p25f - - let ux = reinterpret(x); - let k = 0; - let sign = ux >> 31; - if (sign || ux < 0x00800000) { - if (ux << 1 == 0) return -1 / (x * x); - if (sign) return (x - x) / 0.0; - k -= 25; - x *= Ox1p25f; - ux = reinterpret(x); - } else if (ux >= 0x7F800000) { - return x; - } else if (ux == 0x3F800000) { - return 0; - } - ux += 0x3F800000 - 0x3F3504F3; - k += i32(ux >> 23) - 0x7F; - ux = (ux & 0x007FFFFF) + 0x3F3504F3; - x = reinterpret(ux); - let f = x - 1.0; - let s = f / (2.0 + f); - let z = s * s; - let w = z * z; - let t1 = w * (Lg2 + w * Lg4); - let t2 = z * (Lg1 + w * Lg3); - let r = t2 + t1; - let hfsq: f32 = 0.5 * f * f; - let hi = f - hfsq; - let u = reinterpret(hi); - u &= 0xFFFFF000; - hi = reinterpret(u); - let lo: f32 = f - hi - hfsq + s * (hfsq + r); - let dk = k; - return (lo + hi) * ivln2lo + lo * ivln2hi + hi * ivln2hi + dk; - } - } - - // @ts-ignore: decorator - @inline - export function max(value1: f32, value2: f32): f32 { - return builtin_max(value1, value2); - } - - // @ts-ignore: decorator - @inline - export function min(value1: f32, value2: f32): f32 { - return builtin_min(value1, value2); - } - - export function pow(x: f32, y: f32): f32 { - // TODO: remove this fast pathes after introduced own mid-end IR with "stdlib call simplify" transforms - if (builtin_abs(y) <= 2) { - if (y == 2.0) return x * x; - if (y == 0.5) { - return select( - builtin_abs(builtin_sqrt(x)), - Infinity, - x != -Infinity - ); - } - if (y == -1.0) return 1 / x; - if (y == 1.0) return x; - if (y == 0.0) return 1.0; - } - if (ASC_SHRINK_LEVEL < 1) { - // see: musl/src/math/powf.c - return powf_lut(x, y); - } else { - // based on: jdh8/metallic/src/math/float/powf.c - if (y == 0) return 1; - // @ts-ignore: cast - if (isNaN(x) | isNaN(y)) { - return NaN; - } - let sign: u32 = 0; - let uy = reinterpret(y); - let ux = reinterpret(x); - let sx = ux >> 31; - ux &= 0x7FFFFFFF; - if (sx && nearest(y) == y) { - x = -x; - sx = 0; - sign = u32(nearest(y * 0.5) != y * 0.5) << 31; - } - let m: u32; - if (ux == 0x3F800000) { // x == 1 - m = sx | u32((uy & 0x7FFFFFFF) == 0x7F800000) ? 0x7FC00000 : 0x3F800000; - } else if (ux == 0) { - m = uy < 0 ? 0x7F800000 : 0; - } else if (ux == 0x7F800000) { - m = uy < 0 ? 0 : 0x7F800000; - } else if (sx) { - m = 0x7FC00000; - } else { - m = reinterpret(exp2f(y * log2f(x))); - } - return reinterpret(m | sign); - } - } - - // @ts-ignore: decorator - @inline - export function seedRandom(value: i64): void { - NativeMath.seedRandom(value); - } - - // Using xoroshiro64starstar from http://xoshiro.di.unimi.it/xoroshiro64starstar.c - export function random(): f32 { - if (!random_seeded) seedRandom(reinterpret(seed())); - - let s0 = random_state0_32; - let s1 = random_state1_32; - let r = rotl(s0 * 0x9E3779BB, 5) * 5; - - s1 ^= s0; - random_state0_32 = rotl(s0, 26) ^ s1 ^ (s1 << 9); - random_state1_32 = rotl(s1, 13); - - return reinterpret((r >> 9) | (127 << 23)) - 1.0; - } - - export function round(x: f32): f32 { - if (ASC_SHRINK_LEVEL > 0) { - return builtin_ceil(x) - f32(builtin_ceil(x) - 0.5 > x); - } else { - let roundUp = builtin_ceil(x); - return select(roundUp, roundUp - 1.0, roundUp - 0.5 <= x); - } - } - - export function sign(x: f32): f32 { - if (ASC_SHRINK_LEVEL > 0) { - return select(builtin_copysign(1, x), x, builtin_abs(x) > 0); - } else { - return select(1, select(-1, x, x < 0), x > 0); - } - } - - // @ts-ignore: decorator - @inline - export function signbit(x: f32): bool { - return (reinterpret(x) >>> 31); - } - - export function sin(x: f32): f32 { // see: musl/src/math/sinf.c - const - s1pio2 = reinterpret(0x3FF921FB54442D18), // M_PI_2 * 1 - s2pio2 = reinterpret(0x400921FB54442D18), // M_PI_2 * 2 - s3pio2 = reinterpret(0x4012D97C7F3321D2), // M_PI_2 * 3 - s4pio2 = reinterpret(0x401921FB54442D18); // M_PI_2 * 4 - - let ux = reinterpret(x); - let sign = ux >> 31; - ux &= 0x7FFFFFFF; - - if (ux <= 0x3F490FDA) { // |x| ~<= \u03C0/4 - if (ux < 0x39800000) { // |x| < 2**-12 - return x; - } - return sin_kernf(x); - } - - if (ASC_SHRINK_LEVEL < 1) { - if (ux <= 0x407B53D1) { // |x| ~<= 5\u03C0/4 - if (ux <= 0x4016CBE3) { // |x| ~<= 3\u03C0/4 - return sign ? -cos_kernf(x + s1pio2) : cos_kernf(x - s1pio2); - } - return sin_kernf(-(sign ? x + s2pio2 : x - s2pio2)); - } - - if (ux <= 0x40E231D5) { // |x| ~<= 9\u03C0/4 - if (ux <= 0x40AFEDDF) { // |x| ~<= 7\u03C0/4 - return sign ? cos_kernf(x + s3pio2) : -cos_kernf(x - s3pio2); - } - return sin_kernf(sign ? x + s4pio2 : x - s4pio2); - } - } - - // sin(Inf or NaN) is NaN - if (ux >= 0x7F800000) return x - x; - - let n = rempio2f(x, ux, sign); - let y = rempio2f_y; - - let t = n & 1 ? cos_kernf(y) : sin_kernf(y); - return n & 2 ? -t : t; - } - - export function sinh(x: f32): f32 { // see: musl/src/math/sinhf.c - let u = reinterpret(x) & 0x7FFFFFFF; - let a = reinterpret(u); - let h = builtin_copysign(0.5, x); - if (u < 0x42B17217) { - let t = expm1(a); - if (u < 0x3F800000) { - if (u < 0x3F800000 - (12 << 23)) return x; - return h * (2 * t - t * t / (t + 1)); - } - return h * (t + t / (t + 1)); - } - return expo2f(a, 2 * h); - } - - // @ts-ignore: decorator - @inline - export function sqrt(x: f32): f32 { - return builtin_sqrt(x); - } - - export function tan(x: f32): f32 { // see: musl/src/math/tanf.c - const - t1pio2 = reinterpret(0x3FF921FB54442D18), // 1 * M_PI_2 - t2pio2 = reinterpret(0x400921FB54442D18), // 2 * M_PI_2 - t3pio2 = reinterpret(0x4012D97C7F3321D2), // 3 * M_PI_2 - t4pio2 = reinterpret(0x401921FB54442D18); // 4 * M_PI_2 - - let ux = reinterpret(x); - let sign = ux >> 31; - ux &= 0x7FFFFFFF; - - if (ux <= 0x3F490FDA) { // |x| ~<= \u03C0/4 - if (ux < 0x39800000) { // |x| < 2**-12 - return x; - } - return tan_kernf(x, 0); - } - - if (ASC_SHRINK_LEVEL < 1) { - if (ux <= 0x407B53D1) { // |x| ~<= 5\u03C0/4 - if (ux <= 0x4016CBE3) { // |x| ~<= 3\u03C0/4 - return tan_kernf((sign ? x + t1pio2 : x - t1pio2), 1); - } else { - return tan_kernf((sign ? x + t2pio2 : x - t2pio2), 0); - } - } - if (ux <= 0x40E231D5) { // |x| ~<= 9\u03C0/4 - if (ux <= 0x40AFEDDF) { // |x| ~<= 7\u03C0/4 - return tan_kernf((sign ? x + t3pio2 : x - t3pio2), 1); - } else { - return tan_kernf((sign ? x + t4pio2 : x - t4pio2), 0); - } - } - } - - // tan(Inf or NaN) is NaN - if (ux >= 0x7F800000) return x - x; - - // argument reduction - let n = rempio2f(x, ux, sign); - let y = rempio2f_y; - return tan_kernf(y, n & 1); - } - - export function tanh(x: f32): f32 { // see: musl/src/math/tanhf.c - let u = reinterpret(x); - u &= 0x7FFFFFFF; - let y = reinterpret(u); - let t: f32; - if (u > 0x3F0C9F54) { - if (u > 0x41200000) t = 1 + 0 / y; - else { - t = expm1(2 * y); - t = 1 - 2 / (t + 2); - } - } else if (u > 0x3E82C578) { - t = expm1(2 * y); - t = t / (t + 2); - } else if (u >= 0x00800000) { - t = expm1(-2 * y); - t = -t / (t + 2); - } else t = y; - return builtin_copysign(t, x); - } - - // @ts-ignore: decorator - @inline - export function trunc(x: f32): f32 { - return builtin_trunc(x); - } - - export function scalbn(x: f32, n: i32): f32 { // see: https://git.musl-libc.org/cgit/musl/tree/src/math/scalbnf.c - const - Ox1p24f = reinterpret(0x4B800000), - Ox1p127f = reinterpret(0x7F000000), - Ox1p_126f = reinterpret(0x00800000); - - let y = x; - if (n > 127) { - y *= Ox1p127f; - n -= 127; - if (n > 127) { - y *= Ox1p127f; - n = builtin_min(n - 127, 127); - } - } else if (n < -126) { - y *= Ox1p_126f * Ox1p24f; - n += 126 - 24; - if (n < -126) { - y *= Ox1p_126f * Ox1p24f; - n = builtin_max(n + 126 - 24, -126); - } - } - return y * reinterpret((0x7F + n) << 23); - } - - export function mod(x: f32, y: f32): f32 { // see: musl/src/math/fmodf.c - if (builtin_abs(y) == 1.0) { - // x % 1, x % -1 ==> sign(x) * abs(x - 1.0 * trunc(x / 1.0)) - // TODO: move this rule to compiler's optimization pass. - // It could be apply for any x % C_pot, where "C_pot" is pow of two const. - return builtin_copysign(x - builtin_trunc(x), x); - } - let ux = reinterpret(x); - let uy = reinterpret(y); - let ex = i32(ux >> 23 & 0xFF); - let ey = i32(uy >> 23 & 0xFF); - let sm = ux & 0x80000000; - let uy1 = uy << 1; - if (uy1 == 0 || ex == 0xFF || isNaN(y)) { - let m = x * y; - return m / m; - } - let ux1 = ux << 1; - if (ux1 <= uy1) { - return x * f32(ux1 != uy1); - } - if (!ex) { - ex -= builtin_clz(ux << 9); - ux <<= 1 - ex; - } else { - ux &= -1 >> 9; - ux |= 1 << 23; - } - if (!ey) { - ey -= builtin_clz(uy << 9); - uy <<= 1 - ey; - } else { - uy &= u32(-1) >> 9; - uy |= 1 << 23; - } - while (ex > ey) { - if (ux >= uy) { - if (ux == uy) return 0 * x; - ux -= uy; - } - ux <<= 1; - --ex; - } - if (ux >= uy) { - if (ux == uy) return 0 * x; - ux -= uy; - } - // for (; !(ux >> 23); ux <<= 1) --ex; - let shift = builtin_clz(ux << 8); - ex -= shift; - ux <<= shift; - if (ex > 0) { - ux -= 1 << 23; - ux |= ex << 23; - } else { - ux >>= -ex + 1; - } - return reinterpret(ux | sm); - } - - export function rem(x: f32, y: f32): f32 { // see: musl/src/math/remquof.c - let ux = reinterpret(x); - let uy = reinterpret(y); - let ex = i32(ux >> 23 & 0xFF); - let ey = i32(uy >> 23 & 0xFF); - let uxi = ux; - if (uy << 1 == 0 || ex == 0xFF || isNaN(y)) return (x * y) / (x * y); - if (ux << 1 == 0) return x; - if (!ex) { - ex -= builtin_clz(uxi << 9); - uxi <<= 1 - ex; - } else { - uxi &= u32(-1) >> 9; - uxi |= 1 << 23; - } - if (!ey) { - ey -= builtin_clz(uy << 9); - uy <<= 1 - ey; - } else { - uy &= u32(-1) >> 9; - uy |= 1 << 23; - } - let q = 0; - do { - if (ex < ey) { - if (ex + 1 == ey) break; // goto end - return x; - } - while (ex > ey) { - if (uxi >= uy) { - uxi -= uy; - ++q; - } - uxi <<= 1; - q <<= 1; - --ex; - } - if (uxi >= uy) { - uxi -= uy; - ++q; - } - if (uxi == 0) ex = -30; - else { - let shift = builtin_clz(uxi << 8); - ex -= shift; - uxi <<= shift; - } - break; - } while (false); - // end: - if (ex > 0) { - uxi -= 1 << 23; - uxi |= ex << 23; - } else { - uxi >>= -ex + 1; - } - x = reinterpret(uxi); - y = builtin_abs(y); - let x2 = x + x; - if (ex == ey || (ex + 1 == ey && (x2 > y || (x2 == y && bool(q & 1))))) { - x -= y; - // q++; - } - return ux < 0 ? -x : x; - } - - export function sincos(x: f32): void { // see: musl/tree/src/math/sincosf.c - const - s1pio2 = reinterpret(0x3FF921FB54442D18), // 1 * M_PI_2 - s2pio2 = reinterpret(0x400921FB54442D18), // 2 * M_PI_2 - s3pio2 = reinterpret(0x4012D97C7F3321D2), // 3 * M_PI_2 - s4pio2 = reinterpret(0x401921FB54442D18); // 4 * M_PI_2 - - let ux = reinterpret(x); - let sign = ux >> 31; - ux &= 0x7FFFFFFF; - - if (ux <= 0x3F490FDA) { // |x| ~<= \u03C0/4 - if (ux < 0x39800000) { // |x| < 2**-12 - sincos_sin = x; - sincos_cos = 1; - return; - } - sincos_sin = sin_kernf(x); - sincos_cos = cos_kernf(x); - return; - } - if (ASC_SHRINK_LEVEL < 1) { - if (ux <= 0x407B53D1) { // |x| ~<= 5\u03C0/4 - if (ux <= 0x4016CBE3) { // |x| ~<= 3\u03C0/4 - if (sign) { - sincos_sin = -cos_kernf(x + s1pio2); - sincos_cos = sin_kernf(x + s1pio2); - } else { - sincos_sin = cos_kernf(s1pio2 - x); - sincos_cos = sin_kernf(s1pio2 - x); - } - return; - } - // -sin(x + c) is not correct if x+c could be 0: -0 vs +0 - sincos_sin = -sin_kernf(sign ? x + s2pio2 : x - s2pio2); - sincos_cos = -cos_kernf(sign ? x + s2pio2 : x - s2pio2); - return; - } - if (ux <= 0x40E231D5) { // |x| ~<= 9\u03C0/4 - if (ux <= 0x40AFEDDF) { // |x| ~<= 7\u03C0/4 - if (sign) { - sincos_sin = cos_kernf(x + s3pio2); - sincos_cos = -sin_kernf(x + s3pio2); - } else { - sincos_sin = -cos_kernf(x - s3pio2); - sincos_cos = sin_kernf(x - s3pio2); - } - return; - } - sincos_sin = sin_kernf(sign ? x + s4pio2 : x - s4pio2); - sincos_cos = cos_kernf(sign ? x + s4pio2 : x - s4pio2); - return; - } - } - // sin(Inf or NaN) is NaN - if (ux >= 0x7F800000) { - let xx = x - x; - sincos_sin = xx; - sincos_cos = xx; - return; - } - // general argument reduction needed - let n = rempio2f(x, ux, sign); - let y = rempio2f_y; - let s = sin_kernf(y); - let c = cos_kernf(y); - let sin = s, cos = c; - if (n & 1) { - sin = c; - cos = -s; - } - if (n & 2) { - sin = -sin; - cos = -cos; - } - sincos_sin = sin; - sincos_cos = cos; - } -} - -export function ipow32(x: i32, e: i32): i32 { - let out = 1; - if (ASC_SHRINK_LEVEL < 1) { - if (x == 2) { - return select(1 << e, 0, e < 32); - } - if (e <= 0) { - if (x == -1) return select(-1, 1, e & 1); - return i32(e == 0) | i32(x == 1); - } - else if (e == 1) return x; - else if (e == 2) return x * x; - else if (e < 32) { - let log = 32 - clz(e); - // 32 = 2 ^ 5, so need only five cases. - // But some extra cases needs for properly overflowing - switch (log) { - case 5: { - if (e & 1) out *= x; - e >>>= 1; - x *= x; - } - case 4: { - if (e & 1) out *= x; - e >>>= 1; - x *= x; - } - case 3: { - if (e & 1) out *= x; - e >>>= 1; - x *= x; - } - case 2: { - if (e & 1) out *= x; - e >>>= 1; - x *= x; - } - case 1: { - if (e & 1) out *= x; - } - } - return out; - } - } - while (e) { - if (e & 1) out *= x; - e >>>= 1; - x *= x; - } - return out; -} - -export function ipow64(x: i64, e: i64): i64 { - let out: i64 = 1; - if (ASC_SHRINK_LEVEL < 1) { - if (x == 2) { - return select(1 << e, 0, e < 64); - } - if (e <= 0) { - if (x == -1) return select(-1, 1, e & 1); - return i64(e == 0) | i64(x == 1); - } - else if (e == 1) return x; - else if (e == 2) return x * x; - else if (e < 64) { - let log = 64 - clz(e); - // 64 = 2 ^ 6, so need only six cases. - // But some extra cases needs for properly overflowing - switch (log) { - case 6: { - if (e & 1) out *= x; - e >>>= 1; - x *= x; - } - case 5: { - if (e & 1) out *= x; - e >>>= 1; - x *= x; - } - case 4: { - if (e & 1) out *= x; - e >>>= 1; - x *= x; - } - case 3: { - if (e & 1) out *= x; - e >>>= 1; - x *= x; - } - case 2: { - if (e & 1) out *= x; - e >>>= 1; - x *= x; - } - case 1: { - if (e & 1) out *= x; - } - } - return out; - } - } - while (e) { - if (e & 1) out *= x; - e >>>= 1; - x *= x; - } - return out; -} - -/* -TODO: -In compile time if only exponent is constant we could replace ipow32/ipow64 by shortest addition chains -which usually faster than exponentiation by squaring - -for ipow32 and e < 32: - -let b: i32, c: i32, d: i32, h: i32, k: i32, g: i32; -switch (e) { - case 1: return x; - case 2: return x * x; - case 3: return x * x * x; - case 4: return (b = x * x) * b; - case 5: return (b = x * x) * b * x; - case 6: return (b = x * x) * b * b; - case 7: return (b = x * x) * b * b * x; - case 8: return (d = (b = x * x) * b) * d; - case 9: return (c = x * x * x) * c * c; - case 10: return (d = (b = x * x) * b) * d * b; - case 11: return (d = (b = x * x) * b) * d * b * x; - case 12: return (d = (b = x * x) * b) * d * d; - case 13: return (d = (b = x * x) * b) * d * d * x; - case 14: return (d = (b = x * x) * b) * d * d * b; - case 15: return (k = (b = x * x) * b * x) * k * k; - case 16: return (h = (d = (b = x * x) * b) * d) * h; - case 17: return (h = (d = (b = x * x) * b) * d) * h * x; - case 18: return (h = (d = (b = x * x) * b) * d * x) * h; - case 19: return (h = (d = (b = x * x) * b) * d * x) * h * x; - case 20: return (h = (k = (b = x * x) * b * x) * k) * h; - case 21: return (h = (k = (b = x * x) * b * x) * k) * h * x; - case 22: return (g = (h = (k = (b = x * x) * b * x) * k) * x) * g; - case 23: return (h = (d = (c = (b = x * x) * x) * b) * d) * h * c; - case 24: return (h = (d = (c = x * x * x) * c) * d) * h; - case 25: return (h = (d = (c = x * x * x) * c) * d) * h * x; - case 26: return (g = (h = (d = (c = x * x * x) * c) * d) * x) * g; - case 27: return (h = (d = (c = x * x * x) * c) * d) * h * c; - case 28: return (h = (d = (c = x * x * x) * c * x) * d) * h; - case 29: return (h = (d = (c = x * x * x) * c * x) * d) * h * x; - case 30: return (h = (d = (c = x * x * x) * c) * d * c) * h; - case 31: return (h = (d = (c = x * x * x) * c) * d * c) * h * x; -} - -for ipow64: TODO -switch (e) { - case 32: - ... - case 63: -} -*/ -`,memory:`import { memcmp, memmove, memset } from "./util/memory"; -import { E_NOTIMPLEMENTED } from "./util/error"; - -/** Memory manager interface. */ -export namespace memory { - - /** Gets the size of the memory in pages. */ - // @ts-ignore: decorator - @builtin - export declare function size(): i32; - - /** Grows the memory by the given size in pages and returns the previous size in pages. */ - // @ts-ignore: decorator - @unsafe @builtin - export declare function grow(pages: i32): i32; - - /** Fills a section in memory with the specified byte value. */ - // @ts-ignore: decorator - @unsafe @builtin - export function fill(dst: usize, c: u8, n: usize): void { - memset(dst, c, n); // fallback if "bulk-memory" isn't enabled - } - - /** Copies a section of memory to another. Has move semantics. */ - // @ts-ignore: decorator - @unsafe @builtin - export function copy(dst: usize, src: usize, n: usize): void { - memmove(dst, src, n); // fallback if "bulk-memory" isn't enabled - } - - export namespace atomic { - - // @ts-ignore: decorator - @unsafe @builtin - export declare function wait32(ptr: usize, expected: i32, timeout: i64): AtomicWaitResult; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function wait64(ptr: usize, expected: i64, timeout: i64): AtomicWaitResult; - } - - /** Initializes a memory segment. */ - // @ts-ignore: decorator - @unsafe - export function init(segmentIndex: u32, srcOffset: usize, dstOffset: usize, n: usize): void { - throw new Error(E_NOTIMPLEMENTED); - } - - /** Drops a memory segment. */ - // @ts-ignore: decorator - @unsafe - export function drop(segmentIndex: u32): void { - throw new Error(E_NOTIMPLEMENTED); - } - - /** Repeats a section of memory at a specific address. */ - // @ts-ignore: decorator - @unsafe - export function repeat(dst: usize, src: usize, srcLength: usize, count: usize): void { - let index: usize = 0; - let total = srcLength * count; - while (index < total) { - memory.copy(dst + index, src, srcLength); - index += srcLength; - } - } - - /** Compares a section of memory to another. */ - // @ts-ignore: decorator - @inline - export function compare(vl: usize, vr: usize, n: usize): i32 { - return memcmp(vl, vr, n); - } - - /** Gets a pointer to a static chunk of memory of the given size. */ - // @ts-ignore: decorator - @builtin - export declare function data(size: T, align?: i32): usize; -} - -// @ts-ignore: decorator -@builtin -export declare const __data_end: usize; - -// @ts-ignore: decorator -@builtin -export declare let __stack_pointer: usize; - -// @ts-ignore: decorator -@builtin -export declare const __heap_base: usize; - -/** Heap memory interface. */ -export namespace heap { - - /** Allocates a chunk of memory of at least the specified size. */ - // @ts-ignore: decorator - @unsafe export function alloc(size: usize): usize { - return __alloc(size); - } - - /** Reallocates a chunk of memory to have at least the specified size. */ - // @ts-ignore: decorator - @unsafe export function realloc(ptr: usize, size: usize): usize { - return __realloc(ptr, size); - } - - /** Frees a chunk of memory. Does hardly anything (most recent block only) with the stub runtime. */ - // @ts-ignore: decorator - @unsafe export function free(ptr: usize): void { - __free(ptr); - } - - /** Dangerously resets the entire heap. Specific to the stub runtime. */ - // @ts-ignore: decorator - @unsafe export function reset(): void { - if (isDefined(__reset)) { - __reset(); - } else { - throw new Error(E_NOTIMPLEMENTED); - } - } -} -`,number:`import { itoa32, utoa32, itoa64, utoa64, dtoa } from "./util/number"; -import { strtol, strtod } from "./util/string"; - -// @ts-ignore: decorator -@builtin @inline -export const NaN: f64 = 0 / 0; // context-aware - -// @ts-ignore: decorator -@builtin @inline -export const Infinity: f64 = 1 / 0; // context-aware - -// @ts-ignore: decorator -@builtin -export declare function isNaN(value: T): bool; - -// @ts-ignore: decorator -@builtin -export declare function isFinite(value: T): bool; - -@final @unmanaged -export abstract class I8 { - - // @ts-ignore: decorator - @lazy - static readonly MIN_VALUE: i8 = i8.MIN_VALUE; - - // @ts-ignore: decorator - @lazy - static readonly MAX_VALUE: i8 = i8.MAX_VALUE; - - /** @deprecated */ - static parseInt(value: string, radix: i32 = 0): i8 { - return strtol(value, radix); - } - - toString(this: i8, radix: i32 = 10): String { - return itoa32(this, radix); - } -} - -@final @unmanaged -export abstract class I16 { - - // @ts-ignore: decorator - @lazy - static readonly MIN_VALUE: i16 = i16.MIN_VALUE; - - // @ts-ignore: decorator - @lazy - static readonly MAX_VALUE: i16 = i16.MAX_VALUE; - - /** @deprecated */ - static parseInt(value: string, radix: i32 = 0): i16 { - return strtol(value, radix); - } - - toString(this: i16, radix: i32 = 10): String { - return itoa32(this, radix); - } -} - -@final @unmanaged -export abstract class I32 { - - // @ts-ignore: decorator - @lazy - static readonly MIN_VALUE: i32 = i32.MIN_VALUE; - - // @ts-ignore: decorator - @lazy - static readonly MAX_VALUE: i32 = i32.MAX_VALUE; - - /** @deprecated */ - static parseInt(value: string, radix: i32 = 0): i32 { - return strtol(value, radix); - } - - toString(this: i32, radix: i32 = 10): String { - return itoa32(this, radix); - } -} - -@final @unmanaged -export abstract class I64 { - - // @ts-ignore: decorator - @lazy - static readonly MIN_VALUE: i64 = i64.MIN_VALUE; - - // @ts-ignore: decorator - @lazy - static readonly MAX_VALUE: i64 = i64.MAX_VALUE; - - /** @deprecated */ - static parseInt(value: string, radix: i32 = 0): i64 { - return strtol(value, radix); - } - - toString(this: i64, radix: i32 = 10): String { - return itoa64(this, radix); - } -} - -@final @unmanaged -export abstract class Isize { - - // @ts-ignore: decorator - @lazy - static readonly MIN_VALUE: isize = isize.MIN_VALUE; - - // @ts-ignore: decorator - @lazy - static readonly MAX_VALUE: isize = isize.MAX_VALUE; - - /** @deprecated */ - static parseInt(value: string, radix: i32 = 0): isize { - return strtol(value, radix); - } - - toString(this: isize, radix: i32 = 10): String { - if (sizeof() == 4) { - return itoa32(this, radix); - } else { - return itoa64(this, radix); - } - } -} - -@final @unmanaged -export abstract class U8 { - - // @ts-ignore: decorator - @lazy - static readonly MIN_VALUE: u8 = u8.MIN_VALUE; - - // @ts-ignore: decorator - @lazy - static readonly MAX_VALUE: u8 = u8.MAX_VALUE; - - /** @deprecated */ - static parseInt(value: string, radix: i32 = 0): u8 { - return strtol(value, radix); - } - - toString(this: u8, radix: i32 = 10): String { - return utoa32(this, radix); - } -} - -@final @unmanaged -export abstract class U16 { - - // @ts-ignore: decorator - @lazy - static readonly MIN_VALUE: u16 = u16.MIN_VALUE; - - // @ts-ignore: decorator - @lazy - static readonly MAX_VALUE: u16 = u16.MAX_VALUE; - - /** @deprecated */ - static parseInt(value: string, radix: i32 = 0): u16 { - return strtol(value, radix); - } - - toString(this: u16, radix: i32 = 10): String { - return utoa32(this, radix); - } -} - -@final @unmanaged -export abstract class U32 { - - // @ts-ignore: decorator - @lazy - static readonly MIN_VALUE: u32 = u32.MIN_VALUE; - - // @ts-ignore: decorator - @lazy - static readonly MAX_VALUE: u32 = u32.MAX_VALUE; - - /** @deprecated */ - static parseInt(value: string, radix: i32 = 0): u32 { - return strtol(value, radix); - } - - toString(this: u32, radix: i32 = 10): String { - return utoa32(this, radix); - } -} - -@final @unmanaged -export abstract class U64 { - - // @ts-ignore: decorator - @lazy - static readonly MIN_VALUE: u64 = u64.MIN_VALUE; - - // @ts-ignore: decorator - @lazy - static readonly MAX_VALUE: u64 = u64.MAX_VALUE; - - /** @deprecated */ - static parseInt(value: string, radix: i32 = 0): u64 { - return strtol(value, radix); - } - - toString(this: u64, radix: i32 = 10): String { - return utoa64(this, radix); - } -} - -@final @unmanaged -export abstract class Usize { - - // @ts-ignore: decorator - @lazy - static readonly MIN_VALUE: usize = usize.MIN_VALUE; - - // @ts-ignore: decorator - @lazy - static readonly MAX_VALUE: usize = usize.MAX_VALUE; - - /** @deprecated */ - static parseInt(value: string, radix: i32 = 0): usize { - return strtol(value, radix); - } - - toString(this: usize, radix: i32 = 10): String { - if (sizeof() == 4) { - return utoa32(this, radix); - } else { - return utoa64(this, radix); - } - } -} - -@final @unmanaged -export abstract class Bool { - - // @ts-ignore: decorator - @lazy - static readonly MIN_VALUE: bool = bool.MIN_VALUE; - - // @ts-ignore: decorator - @lazy - static readonly MAX_VALUE: bool = bool.MAX_VALUE; - - toString(this: bool, radix: i32 = 0): String { - return this ? "true" : "false"; - } -} - -export { Bool as Boolean }; - -@final @unmanaged -export abstract class F32 { - - // @ts-ignore: decorator - @lazy - static readonly EPSILON: f32 = f32.EPSILON; - - // @ts-ignore: decorator - @lazy - static readonly MIN_VALUE: f32 = f32.MIN_VALUE; - - // @ts-ignore: decorator - @lazy - static readonly MAX_VALUE: f32 = f32.MAX_VALUE; - - // @ts-ignore: decorator - @lazy - static readonly MIN_SAFE_INTEGER: f32 = f32.MIN_SAFE_INTEGER; - - // @ts-ignore: decorator - @lazy - static readonly MAX_SAFE_INTEGER: f32 = f32.MAX_SAFE_INTEGER; - - // @ts-ignore: decorator - @lazy - static readonly POSITIVE_INFINITY: f32 = f32.POSITIVE_INFINITY; - - // @ts-ignore: decorator - @lazy - static readonly NEGATIVE_INFINITY: f32 = f32.NEGATIVE_INFINITY; - - // @ts-ignore: decorator - @lazy - static readonly NaN: f32 = f32.NaN; - - static isNaN(value: f32): bool { - return isNaN(value); - } - - static isFinite(value: f32): bool { - return isFinite(value); - } - - static isSafeInteger(value: f32): bool { - return abs(value) <= f32.MAX_SAFE_INTEGER && trunc(value) == value; - } - - static isInteger(value: f32): bool { - return isFinite(value) && trunc(value) == value; - } - - /** @deprecated */ - static parseInt(value: string, radix: i32 = 0): f32 { - return strtol(value, radix); - } - - /** @deprecated */ - static parseFloat(value: string): f32 { - return strtod(value); - } - - toString(this: f32, radix: i32 = 0): String { - return dtoa(this); - } -} - -@final @unmanaged -export abstract class F64 { - - // @ts-ignore: decorator - @lazy - static readonly EPSILON: f64 = f64.EPSILON; - - // @ts-ignore: decorator - @lazy - static readonly MIN_VALUE: f64 = f64.MIN_VALUE; - - // @ts-ignore: decorator - @lazy - static readonly MAX_VALUE: f64 = f64.MAX_VALUE; - - // @ts-ignore: decorator - @lazy - static readonly MIN_SAFE_INTEGER: f64 = f64.MIN_SAFE_INTEGER; - - // @ts-ignore: decorator - @lazy - static readonly MAX_SAFE_INTEGER: f64 = f64.MAX_SAFE_INTEGER; - - // @ts-ignore: decorator - @lazy - static readonly POSITIVE_INFINITY: f64 = f64.POSITIVE_INFINITY; - - // @ts-ignore: decorator - @lazy - static readonly NEGATIVE_INFINITY: f64 = f64.NEGATIVE_INFINITY; - - // @ts-ignore: decorator - @lazy - static readonly NaN: f64 = f64.NaN; - - static isNaN(value: f64): bool { - return isNaN(value); - } - - static isFinite(value: f64): bool { - return isFinite(value); - } - - static isSafeInteger(value: f64): bool { - return abs(value) <= f64.MAX_SAFE_INTEGER && trunc(value) == value; - } - - static isInteger(value: f64): bool { - return isFinite(value) && trunc(value) == value; - } - - /** @deprecated */ - static parseInt(value: string, radix: i32 = 0): f64 { - return strtol(value, radix); - } - - /** @deprecated */ - static parseFloat(value: string): f64 { - return strtod(value); - } - - toString(this: f64, radix: i32 = 0): String { - return dtoa(this); - } -} - -export { F64 as Number }; -`,object:`export abstract class Object { - static is(x: T, y: T): bool { - if (isFloat()) { - // Float pointing is special we shoulr presere following identities: - // 0.0 !=-0.0 - // NaN == NaN - if (sizeof() == 8) { - return ( - bool(u32(x != x) & u32(y != y) | - u32(reinterpret(f64(x)) == reinterpret(f64(y)))) - ); - } else { - return ( - bool(u32(x != x) & u32(y != y) | - u32(reinterpret(f32(x)) == reinterpret(f32(y)))) - ); - } - } - // For references, strings, integers and booleans - return x == y; - } - - // TODO: Wrapper classes like \`Function\` override the \`this\` type of - // \`toString\`, which is covariant and hence fails to overload. Wrapper classes - // might need a different mechanism to indicate such special \`this\` types. - // toString(): string { - // return "[object Object]"; - // } -} - -// TODO: The types \`Object\` and \`object\` differ in TypeScript, in that the -// latter indicates any non-primitive type, not including \`string\` for example. -// The \`object\` type hence remains reserved for now, also to potentially address -// the above \`toString\` TODO in alternative ways. -// @ts-ignore: nolib -// export type object = Object; -`,performance:`import { - performance as performance_binding -} from "bindings/dom"; - -export namespace performance { - export function now(): f64 { - return performance_binding.now(); - } -} -`,polyfills:`export function bswap(value: T): T { - if (isInteger()) { - if (sizeof() == 1) { - return value; - } - if (sizeof() == 2) { - return (value << 8 | (value >> 8)); - } - if (sizeof() == 4) { - return ( - rotl(value & 0xFF00FF00, 8) | - rotr(value & 0x00FF00FF, 8) - ); - } - if (sizeof() == 8) { - let a = (value >> 8) & 0x00FF00FF00FF00FF; - let b = (value & 0x00FF00FF00FF00FF) << 8; - let v = a | b; - - a = (v >>> 16) & 0x0000FFFF0000FFFF; - b = (v & 0x0000FFFF0000FFFF) << 16; - - return rotr(a | b, 32); - } - } - ERROR("Unsupported generic type"); -} -`,process:`import { - Date as Date_binding, - performance as performance_binding -} from "bindings/dom"; - -import { - process as process_binding -} from "bindings/node"; - -export namespace process { - - // @ts-ignore: decorator - @lazy export const arch = sizeof() == 4 ? "wasm32" : "wasm64"; - - // @ts-ignore: decorator - @lazy export const platform = "wasm"; - - // @ts-ignore: decorator - @lazy export const argv = lazyArgv(); - - // @ts-ignore: decorator - @lazy export const env = lazyEnv(); - - // @ts-ignore: decorator - @lazy export let exitCode = 0; - - export function exit(code: i32 = exitCode): void { - process_binding.exit(code); - } - - export function time(): i64 { - return Date_binding.now(); - } - - export function hrtime(): u64 { - let now = performance_binding.now(); - let millis = now; - let fraction = now - millis; - return millis * 1000000 + (fraction * 1000000); - } -} - -function lazyArgv(): string[] { - return process_binding.argv; -} - -function lazyEnv(): Map { - // TODO: What about Node? - return new Map(); -} -`,reference:`// Canonical aliases -export type funcref = ref_func | null; -export type externref = ref_extern | null; -export type anyref = ref_any | null; -export type eqref = ref_eq | null; -export type i31ref = ref_i31 | null; -export type structref = ref_struct | null; -export type arrayref = ref_array | null; -export type stringref = ref_string | null; -export type stringview_wtf8 = ref_stringview_wtf8 | null; -export type stringview_wtf16 = ref_stringview_wtf16 | null; -export type stringview_iter = ref_stringview_iter | null; - -@unmanaged -abstract class Ref { -} - -@final @unmanaged -export abstract class RefFunc extends Ref { -} - -@final @unmanaged -export abstract class RefExtern extends Ref { -} - -@final @unmanaged -export abstract class RefAny extends Ref { -} - -@final @unmanaged -export abstract class RefEq extends Ref { -} - -@final @unmanaged -export abstract class RefI31 extends Ref { -} - -@final @unmanaged -export abstract class RefStruct extends Ref { -} - -@final @unmanaged -export abstract class RefArray extends Ref { -} - -@final @unmanaged -export abstract class RefString extends Ref { -} -`,regexp:`export class RegExp { - - // @binding(CALL_NEW, [ STRING, STRING], OBJECT_HANDLE) - constructor(pattern: string, flags: string = "") { throw new Error("unreachable"); } - - // @binding(CALL_THIS, [ STRING ], PASS_THRU) - test(search: string): bool { throw new Error("unreachable"); } - - // @binding(CALL_THIS, [], STRING) - toString(): string { throw new Error("unreachable"); } - -} -`,rt:`import { Typeinfo, TypeinfoFlags } from "./shared/typeinfo"; -import { E_INDEXOUTOFRANGE } from "./util/error"; -import { ArrayBufferView } from "./arraybuffer"; - -// @ts-ignore: decorator -@builtin -export declare const __rtti_base: usize; - -// @ts-ignore: decorator -@builtin @unsafe -export declare function __visit_globals(cookie: u32): void; - -// @ts-ignore: decorator -@builtin @unsafe -export declare function __visit_members(ref: usize, cookie: u32): void; - -// @ts-ignore: decorator -@unsafe -export function __typeinfo(id: u32): TypeinfoFlags { - let ptr = __rtti_base; - if (id > load(ptr)) throw new Error(E_INDEXOUTOFRANGE); - return changetype(ptr + sizeof() + id * offsetof()).flags; -} - -// @ts-ignore: decorator -@unsafe -export function __newBuffer(size: usize, id: u32, data: usize = 0): usize { - let buffer = __new(size, id); - if (data) memory.copy(buffer, data, size); - return buffer; -} - -// @ts-ignore: decorator -@unsafe -export function __newArray(length: i32, alignLog2: usize, id: u32, data: usize = 0): usize { - let bufferSize = length << alignLog2; - // make sure \`buffer\` is tracked by the shadow stack - let buffer = changetype(__newBuffer(bufferSize, idof(), data)); - // ...since allocating the array may trigger GC steps - let array = __new(offsetof(), id); - store(array, changetype(buffer), offsetof("buffer")); - __link(array, changetype(buffer), false); - store(array, changetype(buffer), offsetof("dataStart")); - store(array, bufferSize, offsetof("byteLength")); - store(array, length, offsetof("length_")); - return array; -} - -// @ts-ignore: decorator -@global @unsafe -function __tostack(ptr: usize): usize { // eslint-disable-line - return ptr; -} - -// These are provided by the respective implementation, included as another entry file by asc: - -// // @ts-ignore: decorator -// @builtin @unsafe -// export declare function __alloc(size: usize): usize; - -// // @ts-ignore: decorator -// @builtin @unsafe -// export declare function __realloc(ptr: usize, size: usize): usize; - -// // @ts-ignore: decorator -// @builtin @unsafe -// export declare function __free(ptr: usize): void; - -// // @ts-ignore: decorator -// @builtin @unsafe -// export declare function __new(size: usize, id: u32): usize; - -// // @ts-ignore: decorator -// @builtin @unsafe -// export declare function __renew(ptr: usize, size: usize): usize; - -// // @ts-ignore: decorator -// @builtin @unsafe -// export declare function __link(parentPtr: usize, childPtr: usize, expectMultiple: bool): void; - -// // @ts-ignore: decorator -// @builtin @unsafe -// export declare function __collect(): void; - -// // @ts-ignore: decorator -// @builtin @unsafe -// export declare function __visit(ptr: usize, cookie: u32): void; -`,"rt/common":`// Alignment guarantees - -// @ts-ignore: decorator -@inline export const AL_BITS: u32 = 4; // 16 bytes to fit up to v128 -// @ts-ignore: decorator -@inline export const AL_SIZE: usize = 1 << AL_BITS; -// @ts-ignore: decorator -@inline export const AL_MASK: usize = AL_SIZE - 1; - -// Extra debugging - -// @ts-ignore: decorator -@inline export const DEBUG = true; -// @ts-ignore: decorator -@inline export const TRACE = false; -// @ts-ignore: decorator -@inline export const RTRACE = isDefined(ASC_RTRACE); -// @ts-ignore: decorator -@inline export const PROFILE = isDefined(ASC_PROFILE); - -// Memory manager - -// \u2552\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 Memory manager block layout (32-bit) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2555 -// 3 2 1 -// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 bits -// \u251C\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2524 -// \u2502 MM info \u2502 -4 -// \u255E>ptr\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2561 -// \u2502 ... \u2502 -@unmanaged export class BLOCK { - /** Memory manager info. */ - mmInfo: usize; -} - -/** Overhead of a memory manager block. */ -// @ts-ignore: decorator -@inline export const BLOCK_OVERHEAD: usize = offsetof(); - -/** Maximum size of a memory manager block's payload. */ -// @ts-ignore: decorator -@inline export const BLOCK_MAXSIZE: usize = (1 << 30) - BLOCK_OVERHEAD; - -// Garbage collector - -// \u2552\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 Garbage collector object layout (32-bit) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2555 -// 3 2 1 -// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 bits -// \u251C\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2524 -// \u2502 Memory manager block \u2502 -20 -// \u255E\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2561 -// \u2502 GC info \u2502 -16 -// \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524 -// \u2502 GC info \u2502 -12 -// \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524 -// \u2502 RT id \u2502 -8 -// \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524 -// \u2502 RT size \u2502 -4 -// \u255E>ptr\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2561 -// \u2502 ... \u2502 -@unmanaged export class OBJECT extends BLOCK { - /** Garbage collector info. */ - gcInfo: u32; - /** Garbage collector info. */ - gcInfo2: u32; - /** Runtime class id. */ - rtId: u32; - /** Runtime object size. */ - rtSize: u32; -} - -/** Overhead of a garbage collector object. Excludes memory manager block overhead. */ -// @ts-ignore: decorator -@inline export const OBJECT_OVERHEAD: usize = (offsetof() - BLOCK_OVERHEAD + AL_MASK) & ~AL_MASK; - -/** Maximum size of a garbage collector object's payload. */ -// @ts-ignore: decorator -@inline export const OBJECT_MAXSIZE: usize = BLOCK_MAXSIZE - OBJECT_OVERHEAD; - -/** Total of memory manager and garbage collector overhead. */ -// @ts-ignore: decorator -@inline export const TOTAL_OVERHEAD: usize = BLOCK_OVERHEAD + OBJECT_OVERHEAD; -`,"rt/index-incremental":`import "rt/tlsf"; -import "rt/itcms"; -`,"rt/index-minimal":`import "rt/tlsf"; -import "rt/tcms"; -`,"rt/index-stub":`import "rt/stub"; -`,"rt/itcms":`import { BLOCK, BLOCK_OVERHEAD, OBJECT_OVERHEAD, OBJECT_MAXSIZE, TOTAL_OVERHEAD, DEBUG, TRACE, RTRACE, PROFILE } from "./common"; -import { onvisit, oncollect, oninterrupt, onyield } from "./rtrace"; -import { TypeinfoFlags } from "../shared/typeinfo"; -import { E_ALLOCATION_TOO_LARGE, E_ALREADY_PINNED, E_NOT_PINNED } from "../util/error"; - -// === ITCMS: An incremental Tri-Color Mark & Sweep garbage collector === -// Adapted from Bach Le's \u03BCgc, see: https://github.com/bullno1/ugc - -// \u2552\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2564\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 Colors \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2555 -// \u2502 Color \u2502 Meaning \u2502 -// \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524 -// \u2502 WHITE* \u2502 Unprocessed \u2502 -// \u2502 BLACK* \u2502 Processed \u2502 -// \u2502 GRAY \u2502 Processed with unprocessed children \u2502 -// \u2502 TRANSPARENT \u2502 Manually pinned (always reachable) \u2502 -// \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 -// * flipped between cycles - -// @ts-ignore: decorator -@lazy let white = 0; -// @ts-ignore: decorator -@inline const gray = 2; -// @ts-ignore: decorator -@inline const transparent = 3; -// @ts-ignore: decorator -@inline const COLOR_MASK = 3; - -/** Size in memory of all objects currently managed by the GC. */ -// @ts-ignore: decorator -@lazy let total: usize = 0; - -/** Currently transitioning from SWEEP to MARK state. */ -// @ts-ignore: decorator -@inline const STATE_IDLE = 0; -/** Currently marking reachable objects. */ -// @ts-ignore: decorator -@inline const STATE_MARK = 1; -/** Currently sweeping unreachable objects. */ -// @ts-ignore: decorator -@inline const STATE_SWEEP = 2; -/** Current collector state. */ -// @ts-ignore: decorator -@lazy let state = STATE_IDLE; - -// @ts-ignore: decorator -@lazy let fromSpace = initLazy(changetype(memory.data(offsetof()))); -// @ts-ignore: decorator -@lazy let toSpace = initLazy(changetype(memory.data(offsetof()))); -// @ts-ignore: decorator -@lazy let pinSpace = initLazy(changetype(memory.data(offsetof()))); -// @ts-ignore: decorator -@lazy let iter: Object = changetype(0); // unsafe initializion below - -function initLazy(space: Object): Object { - space.nextWithColor = changetype(space); - space.prev = space; - return space; -} - -/** Visit cookie indicating scanning of an object. */ -// @ts-ignore: decorator -@inline const VISIT_SCAN = 0; - -// \u2552\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 Managed object layout (32-bit) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2555 -// 3 2 1 -// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 bits -// \u251C\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2524 -// \u2502 Memory manager block \u2502 -// \u255E\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2564\u2550\u2550\u2550\u2561 -// \u2502 next \u2502 C \u2502 = nextWithColor -// \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2524 -// \u2502 prev \u2502 -// \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524 -// \u2502 rtId \u2502 -// \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524 -// \u2502 rtSize \u2502 -// \u255E>ptr\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2561 -// \u2502 ... \u2502 -// C: color - -/** Represents a managed object in memory, consisting of a header followed by the object's data. */ -@unmanaged class Object extends BLOCK { - /** Pointer to the next object with color flags stored in the alignment bits. */ - nextWithColor: usize; // *u32 - /** Pointer to the previous object. */ - prev: Object; // *u32 - /** Runtime id. */ - rtId: u32; - /** Runtime size. */ - rtSize: u32; - - /** Gets the pointer to the next object. */ - get next(): Object { - return changetype(this.nextWithColor & ~COLOR_MASK); - } - - /** Sets the pointer to the next object. */ - set next(obj: Object) { - this.nextWithColor = changetype(obj) | (this.nextWithColor & COLOR_MASK); - } - - /** Gets this object's color. */ - get color(): i32 { - return i32(this.nextWithColor & COLOR_MASK); - } - - /** Sets this object's color. */ - set color(color: i32) { - this.nextWithColor = (this.nextWithColor & ~COLOR_MASK) | color; - } - - /** Gets the size of this object in memory. */ - get size(): usize { - return BLOCK_OVERHEAD + (this.mmInfo & ~3); - } - - /** Tests if this object is pointerfree. */ - get isPointerfree(): bool { - let rtId = this.rtId; - // 0: Object, 1: ArrayBuffer, 2: String - return rtId <= idof() || (__typeinfo(rtId) & TypeinfoFlags.POINTERFREE) != 0; - } - - /** Unlinks this object from its list. */ - unlink(): void { - let next = this.next; - if (next == null) { - if (DEBUG) assert(this.prev == null && changetype(this) < __heap_base); - return; // static data not yet linked - } - let prev = this.prev; - if (DEBUG) assert(prev); - next.prev = prev; - prev.next = next; - } - - /** Links this object to the specified list, with the given color. */ - linkTo(list: Object, withColor: i32): void { - let prev = list.prev; - this.nextWithColor = changetype(list) | withColor; - this.prev = prev; - prev.next = this; - list.prev = this; - } - - /** Marks this object as gray, that is reachable with unscanned children. */ - makeGray(): void { - if (this == iter) iter = assert(this.prev); - this.unlink(); - this.linkTo(toSpace, this.isPointerfree ? i32(!white) : gray); - } -} - -/** Visits all objects considered to be program roots. */ -function visitRoots(cookie: u32): void { - __visit_globals(cookie); - let pn = pinSpace; - let iter = pn.next; - while (iter != pn) { - if (DEBUG) assert(iter.color == transparent); - __visit_members(changetype(iter) + TOTAL_OVERHEAD, cookie); - iter = iter.next; - } -} - -/** Visits all objects on the stack. */ -function visitStack(cookie: u32): void { - let ptr = __stack_pointer; - while (ptr < __heap_base) { - __visit(load(ptr), cookie); - ptr += sizeof(); - } -} - -/** Performs a single step according to the current state. */ -function step(): usize { - // Magic constants responsible for pause times. Obtained experimentally - // using the compiler compiling itself. 2048 budget pro run by default. - const MARKCOST = isDefined(ASC_GC_MARKCOST) ? ASC_GC_MARKCOST : 1; - const SWEEPCOST = isDefined(ASC_GC_SWEEPCOST) ? ASC_GC_SWEEPCOST : 10; - let obj: Object; - switch (state) { - case STATE_IDLE: { - state = STATE_MARK; - visitCount = 0; - visitRoots(VISIT_SCAN); - iter = toSpace; - return visitCount * MARKCOST; - } - case STATE_MARK: { - let black = i32(!white); - obj = iter.next; - while (obj != toSpace) { - iter = obj; - if (obj.color != black) { // skip already-blacks (pointerfree) - obj.color = black; - visitCount = 0; - __visit_members(changetype(obj) + TOTAL_OVERHEAD, VISIT_SCAN); - return visitCount * MARKCOST; - } - obj = obj.next; - } - visitCount = 0; - visitRoots(VISIT_SCAN); - obj = iter.next; - if (obj == toSpace) { - visitStack(VISIT_SCAN); - obj = iter.next; - while (obj != toSpace) { - if (obj.color != black) { - obj.color = black; - __visit_members(changetype(obj) + TOTAL_OVERHEAD, VISIT_SCAN); - } - obj = obj.next; - } - let from = fromSpace; - fromSpace = toSpace; - toSpace = from; - white = black; - iter = from.next; - state = STATE_SWEEP; - } - return visitCount * MARKCOST; - } - case STATE_SWEEP: { - obj = iter; - if (obj != toSpace) { - iter = obj.next; - if (DEBUG) assert(obj.color == i32(!white)); // old white - free(obj); - return SWEEPCOST; - } - toSpace.nextWithColor = changetype(toSpace); - toSpace.prev = toSpace; - state = STATE_IDLE; - break; - } - } - return 0; -} - -/** Frees an object. */ -function free(obj: Object): void { - if (changetype(obj) < __heap_base) { - obj.nextWithColor = 0; // may become linked again - obj.prev = changetype(0); - } else { - total -= obj.size; - if (isDefined(__finalize)) { - __finalize(changetype(obj) + TOTAL_OVERHEAD); - } - __free(changetype(obj) + BLOCK_OVERHEAD); - } -} - -// Garbage collector interface - -// @ts-ignore: decorator -@global @unsafe -export function __new(size: usize, id: i32): usize { - if (size >= OBJECT_MAXSIZE) throw new Error(E_ALLOCATION_TOO_LARGE); - if (total >= threshold) interrupt(); - let obj = changetype(__alloc(OBJECT_OVERHEAD + size) - BLOCK_OVERHEAD); - obj.rtId = id; - obj.rtSize = size; - obj.linkTo(fromSpace, white); // inits next/prev - total += obj.size; - let ptr = changetype(obj) + TOTAL_OVERHEAD; - // may be visited before being fully initialized, so must fill - memory.fill(ptr, 0, size); - return ptr; -} - -// @ts-ignore: decorator -@global @unsafe -export function __renew(oldPtr: usize, size: usize): usize { - let oldObj = changetype(oldPtr - TOTAL_OVERHEAD); - // Update object size if its block is large enough - if (size <= (oldObj.mmInfo & ~3) - OBJECT_OVERHEAD) { - oldObj.rtSize = size; - return oldPtr; - } - // If not the same object anymore, we have to move it move it due to the - // shadow stack potentially still referencing the old object - let newPtr = __new(size, oldObj.rtId); - memory.copy(newPtr, oldPtr, min(size, oldObj.rtSize)); - return newPtr; -} - -// @ts-ignore: decorator -@global @unsafe -export function __link(parentPtr: usize, childPtr: usize, expectMultiple: bool): void { - // Write barrier is unnecessary if non-incremental - if (!childPtr) return; - if (DEBUG) assert(parentPtr); - let child = changetype(childPtr - TOTAL_OVERHEAD); - if (child.color == white) { - let parent = changetype(parentPtr - TOTAL_OVERHEAD); - let parentColor = parent.color; - if (parentColor == i32(!white)) { - // Maintain the invariant that no black object may point to a white object. - if (expectMultiple) { - // Move the barrier "backward". Suitable for containers receiving multiple stores. - // Avoids a barrier for subsequent objects stored into the same container. - parent.makeGray(); - } else { - // Move the barrier "forward". Suitable for objects receiving isolated stores. - child.makeGray(); - } - } else if (parentColor == transparent && state == STATE_MARK) { - // Pinned objects are considered 'black' during the mark phase. - child.makeGray(); - } - } -} - -// @ts-ignore: decorator -@lazy let visitCount = 0; - -// @ts-ignore: decorator -@global @unsafe -export function __visit(ptr: usize, cookie: i32): void { - if (!ptr) return; - let obj = changetype(ptr - TOTAL_OVERHEAD); - if (RTRACE) if (!onvisit(obj)) return; - if (obj.color == white) { - obj.makeGray(); - ++visitCount; - } -} - -// @ts-ignore: decorator -@global @unsafe -export function __pin(ptr: usize): usize { - if (ptr) { - let obj = changetype(ptr - TOTAL_OVERHEAD); - if (obj.color == transparent) { - throw new Error(E_ALREADY_PINNED); - } - obj.unlink(); // from fromSpace - obj.linkTo(pinSpace, transparent); - } - return ptr; -} - -// @ts-ignore: decorator -@global @unsafe -export function __unpin(ptr: usize): void { - if (!ptr) return; - let obj = changetype(ptr - TOTAL_OVERHEAD); - if (obj.color != transparent) { - throw new Error(E_NOT_PINNED); - } - if (state == STATE_MARK) { - // We may be right at the point after marking roots for the second time and - // entering the sweep phase, in which case the object would be missed if it - // is not only pinned but also a root. Make sure it isn't missed. - obj.makeGray(); - } else { - obj.unlink(); - obj.linkTo(fromSpace, white); - } -} - -// @ts-ignore: decorator -@global @unsafe -export function __collect(): void { - if (TRACE) trace("GC (full) at", 1, total); - if (state > STATE_IDLE) { - // finish current cycle - while (state != STATE_IDLE) step(); - } - // perform a full cycle - step(); - while (state != STATE_IDLE) step(); - threshold = (total * IDLEFACTOR / 100) + GRANULARITY; - if (TRACE) trace("GC (full) done at cur/max", 2, total, memory.size() << 16); - if (RTRACE || PROFILE) oncollect(total); -} - -// Garbage collector automation - -/** How often to interrupt. The default of 1024 means "interrupt each 1024 bytes allocated". */ -// @ts-ignore: decorator -@inline const GRANULARITY: usize = isDefined(ASC_GC_GRANULARITY) ? ASC_GC_GRANULARITY : 1024; -/** How long to interrupt. The default of 200% means "run at double the speed of allocations". */ -// @ts-ignore: decorator -@inline const STEPFACTOR: usize = isDefined(ASC_GC_SWEEPFACTOR) ? ASC_GC_SWEEPFACTOR : 200; -/** How long to idle. The default of 200% means "wait for memory to double before kicking in again". */ -// @ts-ignore: decorator -@inline const IDLEFACTOR: usize = isDefined(ASC_GC_IDLEFACTOR) ? ASC_GC_IDLEFACTOR : 200; - -/** Threshold of memory used by objects to exceed before interrupting again. */ -// @ts-ignore: decorator -@lazy let threshold: usize = ((memory.size() << 16) - __heap_base) >> 1; - -/** Performs a reasonable amount of incremental GC steps. */ -function interrupt(): void { - if (PROFILE) oninterrupt(total); - if (TRACE) trace("GC (auto) at", 1, total); - let budget: isize = GRANULARITY * STEPFACTOR / 100; - do { - budget -= step(); - if (state == STATE_IDLE) { - if (TRACE) trace("\u2514 GC (auto) done at cur/max", 2, total, memory.size() << 16); - threshold = (total * IDLEFACTOR / 100) + GRANULARITY; - if (PROFILE) onyield(total); - return; - } - } while (budget > 0); - if (TRACE) trace("\u2514 GC (auto) ongoing at", 1, total); - threshold = total + GRANULARITY * usize(total - threshold < GRANULARITY); - if (PROFILE) onyield(total); -} -`,"rt/rtrace":`import { BLOCK } from "./common"; - -export declare function oninit(heapBase: usize): void; - -// Memory Allocator -export declare function onalloc(block: BLOCK): void; -export declare function onresize(block: BLOCK, oldSizeInclOverhead: usize): void; -export declare function onmove(oldBlock: BLOCK, newBlock: BLOCK): void; -export declare function onfree(block: BLOCK): void; - -// Garbage collector -export declare function onvisit(block: BLOCK): bool; -export declare function oncollect(total: usize): void; -export declare function oninterrupt(total: usize): void; -export declare function onyield(total: usize): void; -`,"rt/stub":`import { AL_MASK, OBJECT, OBJECT_OVERHEAD, BLOCK_MAXSIZE, BLOCK_OVERHEAD, BLOCK, OBJECT_MAXSIZE } from "./common"; -import { E_ALLOCATION_TOO_LARGE } from "../util/error"; - -// === A minimal runtime stub === - -// @ts-ignore: decorator -@lazy let startOffset: usize = ((__heap_base + BLOCK_OVERHEAD + AL_MASK) & ~AL_MASK) - BLOCK_OVERHEAD; -// @ts-ignore: decorator -@lazy let offset: usize = startOffset; - -function maybeGrowMemory(newOffset: usize): void { - // assumes newOffset is aligned - let pagesBefore = memory.size(); - let maxOffset = ((pagesBefore << 16) + AL_MASK) & ~AL_MASK; - if (newOffset > maxOffset) { - let pagesNeeded = (((newOffset - maxOffset + 0xffff) & ~0xffff) >>> 16); - let pagesWanted = max(pagesBefore, pagesNeeded); // double memory - if (memory.grow(pagesWanted) < 0) { - if (memory.grow(pagesNeeded) < 0) unreachable(); // out of memory - } - } - offset = newOffset; -} - -// @ts-ignore: decorator -@inline function computeSize(size: usize): usize { - return ((size + BLOCK_OVERHEAD + AL_MASK) & ~AL_MASK) - BLOCK_OVERHEAD; -} - -// @ts-ignore: decorator -@unsafe @global -export function __alloc(size: usize): usize { - if (size > BLOCK_MAXSIZE) throw new Error(E_ALLOCATION_TOO_LARGE); - let block = changetype(offset); - let ptr = offset + BLOCK_OVERHEAD; - let payloadSize = computeSize(size); - maybeGrowMemory(ptr + payloadSize); - block.mmInfo = payloadSize; - return ptr; -} - -// @ts-ignore: decorator -@unsafe @global -export function __realloc(ptr: usize, size: usize): usize { - assert(ptr != 0 && !(ptr & AL_MASK)); // must exist and be aligned - let block = changetype(ptr - BLOCK_OVERHEAD); - let actualSize = block.mmInfo; - let isLast = ptr + actualSize == offset; - let payloadSize = computeSize(size); - if (size > actualSize) { - if (isLast) { // last block: grow - if (size > BLOCK_MAXSIZE) throw new Error(E_ALLOCATION_TOO_LARGE); - maybeGrowMemory(ptr + payloadSize); - block.mmInfo = payloadSize; - } else { // copy to new block at least double the size - let newPtr = __alloc(max(payloadSize, actualSize << 1)); - memory.copy(newPtr, ptr, actualSize); - block = changetype((ptr = newPtr) - BLOCK_OVERHEAD); - } - } else if (isLast) { // last block: shrink - offset = ptr + payloadSize; - block.mmInfo = payloadSize; - } - return ptr; -} - -// @ts-ignore: decorator -@unsafe @global -export function __free(ptr: usize): void { - assert(ptr != 0 && !(ptr & AL_MASK)); // must exist and be aligned - let block = changetype(ptr - BLOCK_OVERHEAD); - if (ptr + block.mmInfo == offset) { // last block: discard - offset = changetype(block); - } -} - -// @ts-ignore: decorator -@unsafe @global -export function __reset(): void { // special - offset = startOffset; -} - -// @ts-ignore: decorator -@unsafe @global -export function __new(size: usize, id: u32): usize { - if (size > OBJECT_MAXSIZE) throw new Error(E_ALLOCATION_TOO_LARGE); - let ptr = __alloc(OBJECT_OVERHEAD + size); - let object = changetype(ptr - BLOCK_OVERHEAD); - object.gcInfo = 0; - object.gcInfo2 = 0; - object.rtId = id; - object.rtSize = size; - return ptr + OBJECT_OVERHEAD; -} - -// @ts-ignore: decorator -@unsafe @global -export function __renew(oldPtr: usize, size: usize): usize { - if (size > OBJECT_MAXSIZE) throw new Error(E_ALLOCATION_TOO_LARGE); - let newPtr = __realloc(oldPtr - OBJECT_OVERHEAD, OBJECT_OVERHEAD + size); - changetype(newPtr - BLOCK_OVERHEAD).rtSize = size; - return newPtr + OBJECT_OVERHEAD; -} - -// @ts-ignore: decorator -@global @unsafe -export function __link(parentPtr: usize, childPtr: usize, expectMultiple: bool): void { - // nop -} - -// @ts-ignore: decorator -@global @unsafe -export function __pin(ptr: usize): usize { - return ptr; -} - -// @ts-ignore: decorator -@global @unsafe -export function __unpin(ptr: usize): void { - // nop -} - -// @ts-ignore: decorator -@global @unsafe -function __visit(ptr: usize, cookie: u32): void { // eslint-disable-line @typescript-eslint/no-unused-vars - // nop -} - -// @ts-ignore: decorator -@global @unsafe -export function __collect(): void { - // nop -} -`,"rt/tcms":`import { BLOCK, BLOCK_OVERHEAD, OBJECT_OVERHEAD, OBJECT_MAXSIZE, TOTAL_OVERHEAD, DEBUG, TRACE, RTRACE } from "./common"; -import { onvisit, oncollect } from "./rtrace"; -import { E_ALLOCATION_TOO_LARGE, E_ALREADY_PINNED, E_NOT_PINNED } from "../util/error"; - -// === TCMS: A Two-Color Mark & Sweep garbage collector === - -// \u2552\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2564\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 Colors \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2555 -// \u2502 Color \u2502 Meaning \u2502 -// \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524 -// \u2502 WHITE* \u2502 Unreachable \u2502 -// \u2502 BLACK* \u2502 Reachable \u2502 -// \u2502 TRANSPARENT \u2502 Manually pinned (always reachable) \u2502 -// \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 -// * flipped between cycles - -// @ts-ignore: decorator -@lazy let white = 0; -// @ts-ignore: decorator -@inline const transparent = 3; -// @ts-ignore: decorator -@inline const COLOR_MASK = 3; - -/** Size in memory of all objects currently managed by the GC. */ -// @ts-ignore: decorator -@lazy let total: usize = 0; - -// @ts-ignore: decorator -@lazy let fromSpace = initLazy(changetype(memory.data(offsetof()))); -// @ts-ignore: decorator -@lazy let toSpace = initLazy(changetype(memory.data(offsetof()))); -// @ts-ignore: decorator -@lazy let pinSpace = initLazy(changetype(memory.data(offsetof()))); - -function initLazy(space: Object): Object { - space.nextWithColor = changetype(space); - space.prev = space; - return space; -} - -/** Visit cookie indicating scanning of an object. */ -// @ts-ignore: decorator -@inline const VISIT_SCAN = 0; - -// \u2552\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 Managed object layout (32-bit) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2555 -// 3 2 1 -// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 bits -// \u251C\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2524 -// \u2502 Memory manager block \u2502 -// \u255E\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2564\u2550\u2550\u2550\u2561 -// \u2502 next \u2502 C \u2502 = nextWithColor -// \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2524 -// \u2502 prev \u2502 -// \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524 -// \u2502 rtId \u2502 -// \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524 -// \u2502 rtSize \u2502 -// \u255E>ptr\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2561 -// \u2502 ... \u2502 -// C: color - -/** Represents a managed object in memory, consisting of a header followed by the object's data. */ -@unmanaged class Object extends BLOCK { - /** Pointer to the next object with color flags stored in the alignment bits. */ - nextWithColor: usize; // *u32 - /** Pointer to the previous object. */ - prev: Object; // *u32 - /** Runtime id. */ - rtId: u32; - /** Runtime size. */ - rtSize: u32; - - /** Gets the pointer to the next object. */ - get next(): Object { - return changetype(this.nextWithColor & ~COLOR_MASK); - } - - /** Sets the pointer to the next object. */ - set next(obj: Object) { - this.nextWithColor = changetype(obj) | (this.nextWithColor & COLOR_MASK); - } - - /** Gets this object's color. */ - get color(): i32 { - return i32(this.nextWithColor & COLOR_MASK); - } - - /** Sets this object's color. */ - set color(color: i32) { - this.nextWithColor = (this.nextWithColor & ~COLOR_MASK) | color; - } - - /** Gets the size of this object in memory. */ - get size(): usize { - return BLOCK_OVERHEAD + (this.mmInfo & ~3); - } - - /** Unlinks this object from its list. */ - unlink(): void { - let next = this.next; - if (next == null) { - if (DEBUG) assert(this.prev == null && changetype(this) < __heap_base); - return; // static data not yet linked - } - let prev = this.prev; - if (DEBUG) assert(prev); - next.prev = prev; - prev.next = next; - } - - /** Links this object to the specified list, with the given color. */ - linkTo(list: Object, withColor: i32): void { - let prev = list.prev; - this.nextWithColor = changetype(list) | withColor; - this.prev = prev; - prev.next = this; - list.prev = this; - } -} - -// Garbage collector interface - -// @ts-ignore: decorator -@global @unsafe -export function __new(size: usize, id: i32): usize { - if (size > OBJECT_MAXSIZE) throw new Error(E_ALLOCATION_TOO_LARGE); - let obj = changetype(__alloc(OBJECT_OVERHEAD + size) - BLOCK_OVERHEAD); - obj.rtId = id; - obj.rtSize = size; - obj.linkTo(fromSpace, white); - total += obj.size; - return changetype(obj) + TOTAL_OVERHEAD; -} - -// @ts-ignore: decorator -@global @unsafe -export function __renew(oldPtr: usize, size: usize): usize { - let oldObj = changetype(oldPtr - TOTAL_OVERHEAD); - if (oldPtr < __heap_base) { // move to heap for simplicity - let newPtr = __new(size, oldObj.rtId); - memory.copy(newPtr, oldPtr, min(size, oldObj.rtSize)); - return newPtr; - } - if (size > OBJECT_MAXSIZE) throw new Error(E_ALLOCATION_TOO_LARGE); - total -= oldObj.size; - let newPtr = __realloc(oldPtr - OBJECT_OVERHEAD, OBJECT_OVERHEAD + size) + OBJECT_OVERHEAD; - let newObj = changetype(newPtr - TOTAL_OVERHEAD); - newObj.rtSize = size; - - // Replace with new object - newObj.next.prev = newObj; - newObj.prev.next = newObj; - - total += newObj.size; - return newPtr; -} - -// @ts-ignore: decorator -@global @unsafe -export function __link(parentPtr: usize, childPtr: usize, expectMultiple: bool): void { - // nop -} - -// @ts-ignore: decorator -@global @unsafe -export function __visit(ptr: usize, cookie: i32): void { - if (!ptr) return; - let obj = changetype(ptr - TOTAL_OVERHEAD); - if (RTRACE) if (!onvisit(obj)) return; - if (obj.color == white) { - obj.unlink(); // from fromSpace - obj.linkTo(toSpace, i32(!white)); - } -} - -// @ts-ignore: decorator -@global @unsafe -export function __pin(ptr: usize): usize { - if (ptr) { - let obj = changetype(ptr - TOTAL_OVERHEAD); - if (obj.color == transparent) { - throw new Error(E_ALREADY_PINNED); - } - obj.unlink(); // from fromSpace - obj.linkTo(pinSpace, transparent); - } - return ptr; -} - -// @ts-ignore: decorator -@global @unsafe -export function __unpin(ptr: usize): void { - if (!ptr) return; - let obj = changetype(ptr - TOTAL_OVERHEAD); - if (obj.color != transparent) { - throw new Error(E_NOT_PINNED); - } - obj.unlink(); // from pinSpace - obj.linkTo(fromSpace, white); -} - -// @ts-ignore: decorator -@global @unsafe -export function __collect(): void { - if (TRACE) trace("GC at", 1, total); - - // Mark roots (add to toSpace) - __visit_globals(VISIT_SCAN); - - // Mark direct members of pinned objects (add to toSpace) - let pn = pinSpace; - let iter = pn.next; - while (iter != pn) { - if (DEBUG) assert(iter.color == transparent); - __visit_members(changetype(iter) + TOTAL_OVERHEAD, VISIT_SCAN); - iter = iter.next; - } - - // Mark what's reachable from toSpace - let black = i32(!white); - let to = toSpace; - iter = to.next; - while (iter != to) { - if (DEBUG) assert(iter.color == black); - __visit_members(changetype(iter) + TOTAL_OVERHEAD, VISIT_SCAN); - iter = iter.next; - } - - // Sweep what's left in fromSpace - let from = fromSpace; - iter = from.next; - while (iter != from) { - if (DEBUG) assert(iter.color == white); - let newNext = iter.next; - if (changetype(iter) < __heap_base) { - iter.nextWithColor = 0; // may become linked again - iter.prev = changetype(0); - } else { - total -= iter.size; - if (isDefined(__finalize)) __finalize(changetype(iter) + TOTAL_OVERHEAD); - __free(changetype(iter) + BLOCK_OVERHEAD); - } - iter = newNext; - } - from.nextWithColor = changetype(from); - from.prev = from; - - // Flip spaces and colors - fromSpace = to; - toSpace = from; - white = black; - - if (TRACE) trace("GC done at", 1, total); - if (RTRACE) oncollect(total); -} -`,"rt/tlsf":`import { AL_BITS, AL_SIZE, AL_MASK, DEBUG, BLOCK, BLOCK_OVERHEAD, BLOCK_MAXSIZE } from "./common"; -import { oninit, onalloc, onresize, onmove, onfree } from "./rtrace"; -import { E_ALLOCATION_TOO_LARGE } from "../util/error"; - -// === The TLSF (Two-Level Segregate Fit) memory allocator === -// see: http://www.gii.upv.es/tlsf/ - -// - \`ffs(x)\` is equivalent to \`ctz(x)\` with x != 0 -// - \`fls(x)\` is equivalent to \`sizeof(x) * 8 - clz(x) - 1\` - -// \u2552\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 Block size interpretation (32-bit) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2555 -// 3 2 1 -// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 bits -// \u251C\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u253C\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u256B\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2524 -// \u2502 | FL \u2502 SB = SL + AL \u2502 \u25C4\u2500 usize -// \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2568\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 -// FL: first level, SL: second level, AL: alignment, SB: small block - -// @ts-ignore: decorator -@inline const SL_BITS: u32 = 4; -// @ts-ignore: decorator -@inline const SL_SIZE: u32 = 1 << SL_BITS; - -// @ts-ignore: decorator -@inline const SB_BITS: u32 = SL_BITS + AL_BITS; -// @ts-ignore: decorator -@inline const SB_SIZE: u32 = 1 << SB_BITS; - -// @ts-ignore: decorator -@inline const FL_BITS: u32 = 31 - SB_BITS; - -// [00]: < 256B (SB) [12]: < 1M -// [01]: < 512B [13]: < 2M -// [02]: < 1K [14]: < 4M -// [03]: < 2K [15]: < 8M -// [04]: < 4K [16]: < 16M -// [05]: < 8K [17]: < 32M -// [06]: < 16K [18]: < 64M -// [07]: < 32K [19]: < 128M -// [08]: < 64K [20]: < 256M -// [09]: < 128K [21]: < 512M -// [10]: < 256K [22]: <= 1G - OVERHEAD -// [11]: < 512K -// VMs limit to 2GB total (currently), making one 1G block max (or three 512M etc.) due to block overhead - -// Tags stored in otherwise unused alignment bits - -// @ts-ignore: decorator -@inline const FREE: usize = 1 << 0; -// @ts-ignore: decorator -@inline const LEFTFREE: usize = 1 << 1; -// @ts-ignore: decorator -@inline const TAGS_MASK: usize = FREE | LEFTFREE; // <= AL_MASK - -// \u2552\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 Block layout (32-bit) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2555 -// 3 2 1 -// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 bits -// \u251C\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u253C\u2500\u253C\u2500\u2524 \u2510 -// \u2502 size \u2502L\u2502F\u2502 \u25C4\u2500\u2510 info overhead -// \u255E>ptr\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2567\u2550\u2567\u2550\u2561 \u2502 \u2518 -// \u2502 if free: \u25C4 prev \u2502 \u25C4\u2500\u2524 usize -// \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524 \u2502 -// \u2502 if free: next \u25BA \u2502 \u25C4\u2500\u2524 -// \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524 \u2502 -// \u2502 ... \u2502 \u2502 >= 0 -// \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524 \u2502 -// \u2502 if free: back \u25B2 \u2502 \u25C4\u2500\u2518 -// \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 >= MIN SIZE -// F: FREE, L: LEFTFREE -@unmanaged export class Block extends BLOCK { - - /** Previous free block, if any. Only valid if free, otherwise part of payload. */ - prev: Block | null; - /** Next free block, if any. Only valid if free, otherwise part of payload. */ - next: Block | null; - - // If the block is free, there is a 'back'reference at its end pointing at its start. -} - -// Block constants. A block must have a minimum size of three pointers so it can hold \`prev\`, -// \`next\` and \`back\` if free. - -// @ts-ignore: decorator -@inline const BLOCK_MINSIZE: usize = ((3 * sizeof() + BLOCK_OVERHEAD + AL_MASK) & ~AL_MASK) - BLOCK_OVERHEAD; // prev + next + back -// @ts-ignore: decorator -// @inline const BLOCK_MAXSIZE: usize = 1 << (FL_BITS + SB_BITS - 1); // exclusive, lives in common.ts - -/** Gets the left block of a block. Only valid if the left block is free. */ -// @ts-ignore: decorator -@inline function GETFREELEFT(block: Block): Block { - return load(changetype(block) - sizeof()); -} - -/** Gets the right block of a block by advancing to the right by its size. */ -// @ts-ignore: decorator -@inline function GETRIGHT(block: Block): Block { - return changetype(changetype(block) + BLOCK_OVERHEAD + (block.mmInfo & ~TAGS_MASK)); -} - -// \u2552\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 Root layout (32-bit) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2555 -// 3 2 1 -// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 bits -// \u251C\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2524 \u2510 -// \u2502 0 | flMap S\u2502 \u25C4\u2500\u2500\u2500\u2500\u2510 -// \u255E\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2561 \u2502 -// \u2502 slMap[0] S \u2502 \u25C4\u2500\u2510 \u2502 -// \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524 \u2502 \u2502 -// \u2502 slMap[1] \u2502 \u25C4\u2500\u2524 \u2502 -// \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524 u32 \u2502 -// \u2502 slMap[22] \u2502 \u25C4\u2500\u2518 \u2502 -// \u255E\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2561 usize -// \u2502 head[0] \u2502 \u25C4\u2500\u2500\u2500\u2500\u2524 -// \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524 \u2502 -// \u2502 ... \u2502 \u25C4\u2500\u2500\u2500\u2500\u2524 -// \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524 \u2502 -// \u2502 head[367] \u2502 \u25C4\u2500\u2500\u2500\u2500\u2524 -// \u255E\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2561 \u2502 -// \u2502 tail \u2502 \u25C4\u2500\u2500\u2500\u2500\u2518 -// \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 SIZE \u2518 -// S: Small blocks map -@unmanaged class Root { - /** First level bitmap. */ - flMap: usize; -} - -// Root constants. Where stuff is stored inside of the root structure. - -// @ts-ignore: decorator -@inline const SL_START: usize = sizeof(); -// @ts-ignore: decorator -@inline const SL_END: usize = SL_START + (FL_BITS << alignof()); -// @ts-ignore: decorator -@inline const HL_START: usize = (SL_END + AL_MASK) & ~AL_MASK; -// @ts-ignore: decorator -@inline const HL_END: usize = HL_START + FL_BITS * SL_SIZE * sizeof(); -// @ts-ignore: decorator -@inline const ROOT_SIZE: usize = HL_END + sizeof(); - -// @ts-ignore: decorator -@lazy export let ROOT: Root = changetype(0); // unsafe initializion below - -/** Gets the second level map of the specified first level. */ -// @ts-ignore: decorator -@inline function GETSL(root: Root, fl: usize): u32 { - return load( - changetype(root) + (fl << alignof()), - SL_START - ); -} - -/** Sets the second level map of the specified first level. */ -// @ts-ignore: decorator -@inline function SETSL(root: Root, fl: usize, slMap: u32): void { - store( - changetype(root) + (fl << alignof()), - slMap, - SL_START - ); -} - -/** Gets the head of the free list for the specified combination of first and second level. */ -// @ts-ignore: decorator -@inline function GETHEAD(root: Root, fl: usize, sl: u32): Block | null { - return load( - changetype(root) + (((fl << SL_BITS) + sl) << alignof()), - HL_START - ); -} - -/** Sets the head of the free list for the specified combination of first and second level. */ -// @ts-ignore: decorator -@inline function SETHEAD(root: Root, fl: usize, sl: u32, head: Block | null): void { - store( - changetype(root) + (((fl << SL_BITS) + sl) << alignof()), - head, - HL_START - ); -} - -/** Gets the tail block.. */ -// @ts-ignore: decorator -@inline function GETTAIL(root: Root): Block { - return load( - changetype(root), - HL_END - ); -} - -/** Sets the tail block. */ -// @ts-ignore: decorator -@inline function SETTAIL(root: Root, tail: Block): void { - store( - changetype(root), - tail, - HL_END - ); -} - -/** Inserts a previously used block back into the free list. */ -function insertBlock(root: Root, block: Block): void { - if (DEBUG) assert(block); // cannot be null - let blockInfo = block.mmInfo; - if (DEBUG) assert(blockInfo & FREE); // must be free - - let right = GETRIGHT(block); - let rightInfo = right.mmInfo; - - // merge with right block if also free - if (rightInfo & FREE) { - removeBlock(root, right); - block.mmInfo = blockInfo = blockInfo + BLOCK_OVERHEAD + (rightInfo & ~TAGS_MASK); // keep block tags - right = GETRIGHT(block); - rightInfo = right.mmInfo; - // 'back' is set below - } - - // merge with left block if also free - if (blockInfo & LEFTFREE) { - let left = GETFREELEFT(block); - let leftInfo = left.mmInfo; - if (DEBUG) assert(leftInfo & FREE); // must be free according to right tags - removeBlock(root, left); - block = left; - block.mmInfo = blockInfo = leftInfo + BLOCK_OVERHEAD + (blockInfo & ~TAGS_MASK); // keep left tags - // 'back' is set below - } - - right.mmInfo = rightInfo | LEFTFREE; - // reference to right is no longer used now, hence rightInfo is not synced - - // we now know the size of the block - let size = blockInfo & ~TAGS_MASK; - if (DEBUG) assert(size >= BLOCK_MINSIZE); // must be a valid size - if (DEBUG) assert(changetype(block) + BLOCK_OVERHEAD + size == changetype(right)); // must match - - // set 'back' to itself at the end of block - store(changetype(right) - sizeof(), block); - - // mapping_insert - let fl: usize, sl: u32; - if (size < SB_SIZE) { - fl = 0; - sl = (size >> AL_BITS); - } else { - const inv: usize = sizeof() * 8 - 1; - let boundedSize = min(size, BLOCK_MAXSIZE); - fl = inv - clz(boundedSize); - sl = ((boundedSize >> (fl - SL_BITS)) ^ (1 << SL_BITS)); - fl -= SB_BITS - 1; - } - if (DEBUG) assert(fl < FL_BITS && sl < SL_SIZE); // fl/sl out of range - - // perform insertion - let head = GETHEAD(root, fl, sl); - block.prev = null; - block.next = head; - if (head) head.prev = block; - SETHEAD(root, fl, sl, block); - - // update first and second level maps - root.flMap |= (1 << fl); - SETSL(root, fl, GETSL(root, fl) | (1 << sl)); -} - -/** Removes a free block from internal lists. */ -function removeBlock(root: Root, block: Block): void { - let blockInfo = block.mmInfo; - if (DEBUG) assert(blockInfo & FREE); // must be free - let size = blockInfo & ~TAGS_MASK; - if (DEBUG) assert(size >= BLOCK_MINSIZE); // must be valid - - // mapping_insert - let fl: usize, sl: u32; - if (size < SB_SIZE) { - fl = 0; - sl = (size >> AL_BITS); - } else { - const inv: usize = sizeof() * 8 - 1; - let boundedSize = min(size, BLOCK_MAXSIZE); - fl = inv - clz(boundedSize); - sl = ((boundedSize >> (fl - SL_BITS)) ^ (1 << SL_BITS)); - fl -= SB_BITS - 1; - } - if (DEBUG) assert(fl < FL_BITS && sl < SL_SIZE); // fl/sl out of range - - // link previous and next free block - let prev = block.prev; - let next = block.next; - if (prev) prev.next = next; - if (next) next.prev = prev; - - // update head if we are removing it - if (block == GETHEAD(root, fl, sl)) { - SETHEAD(root, fl, sl, next); - - // clear second level map if head is empty now - if (!next) { - let slMap = GETSL(root, fl); - SETSL(root, fl, slMap &= ~(1 << sl)); - - // clear first level map if second level is empty now - if (!slMap) root.flMap &= ~(1 << fl); - } - } - // note: does not alter left/back because it is likely that splitting - // is performed afterwards, invalidating those changes. so, the caller - // must perform those updates. -} - -function roundSize(size: usize): usize { - const halfMaxSize = BLOCK_MAXSIZE >> 1; // don't round last fl - const inv: usize = sizeof() * 8 - 1; - const invRound = inv - SL_BITS; - return size < halfMaxSize - ? size + (1 << (invRound - clz(size))) - 1 - : size; -} - -/** Searches for a free block of at least the specified size. */ -function searchBlock(root: Root, size: usize): Block | null { - // size was already asserted by caller - - // mapping_search - let fl: usize, sl: u32; - if (size < SB_SIZE) { - fl = 0; - sl = (size >> AL_BITS); - } else { - const requestSize = roundSize(size); - fl = sizeof() * 8 - 1 - clz(requestSize); - sl = ((requestSize >> (fl - SL_BITS)) ^ (1 << SL_BITS)); - fl -= SB_BITS - 1; - } - if (DEBUG) assert(fl < FL_BITS && sl < SL_SIZE); // fl/sl out of range - - // search second level - let slMap = GETSL(root, fl) & (~0 << sl); - let head: Block | null = null; - if (!slMap) { - // search next larger first level - let flMap = root.flMap & (~0 << (fl + 1)); - if (!flMap) { - head = null; - } else { - fl = ctz(flMap); - slMap = GETSL(root, fl); - if (DEBUG) assert(slMap); // can't be zero if fl points here - head = GETHEAD(root, fl, ctz(slMap)); - } - } else { - head = GETHEAD(root, fl, ctz(slMap)); - } - return head; -} - -/** Prepares the specified block before (re-)use, possibly splitting it. */ -function prepareBlock(root: Root, block: Block, size: usize): void { - // size was already asserted by caller - - let blockInfo = block.mmInfo; - if (DEBUG) assert(!((size + BLOCK_OVERHEAD) & AL_MASK)); // size must be aligned so the new block is - - // split if the block can hold another MINSIZE block incl. overhead - let remaining = (blockInfo & ~TAGS_MASK) - size; - if (remaining >= BLOCK_OVERHEAD + BLOCK_MINSIZE) { - block.mmInfo = size | (blockInfo & LEFTFREE); // also discards FREE - - let spare = changetype(changetype(block) + BLOCK_OVERHEAD + size); - spare.mmInfo = (remaining - BLOCK_OVERHEAD) | FREE; // not LEFTFREE - insertBlock(root, spare); // also sets 'back' - - // otherwise tag block as no longer FREE and right as no longer LEFTFREE - } else { - block.mmInfo = blockInfo & ~FREE; - GETRIGHT(block).mmInfo &= ~LEFTFREE; - } -} - -/** Adds more memory to the pool. */ -function addMemory(root: Root, start: usize, endU64: u64): bool { - let end = endU64; - if (DEBUG) assert(start <= endU64); // must be valid - start = ((start + BLOCK_OVERHEAD + AL_MASK) & ~AL_MASK) - BLOCK_OVERHEAD; - end &= ~AL_MASK; - - let tail = GETTAIL(root); - let tailInfo: usize = 0; - if (tail) { // more memory - if (DEBUG) assert(start >= changetype(tail) + BLOCK_OVERHEAD); - - // merge with current tail if adjacent - const offsetToTail = AL_SIZE; - if (start - offsetToTail == changetype(tail)) { - start -= offsetToTail; - tailInfo = tail.mmInfo; - } else { - // We don't do this, but a user might \`memory.grow\` manually - // leading to non-adjacent pages managed by TLSF. - } - - } else if (DEBUG) { // first memory - assert(start >= changetype(root) + ROOT_SIZE); // starts after root - } - - // check if size is large enough for a free block and the tail block - let size = end - start; - if (size < BLOCK_OVERHEAD + BLOCK_MINSIZE + BLOCK_OVERHEAD) { - return false; - } - - // left size is total minus its own and the zero-length tail's header - let leftSize = size - 2 * BLOCK_OVERHEAD; - let left = changetype(start); - left.mmInfo = leftSize | FREE | (tailInfo & LEFTFREE); - left.prev = null; - left.next = null; - - // tail is a zero-length used block - tail = changetype(start + BLOCK_OVERHEAD + leftSize); - tail.mmInfo = 0 | LEFTFREE; - SETTAIL(root, tail); - - insertBlock(root, left); // also merges with free left before tail / sets 'back' - - return true; -} - -/** Grows memory to fit at least another block of the specified size. */ -function growMemory(root: Root, size: usize): void { - if (ASC_LOW_MEMORY_LIMIT) { - unreachable(); - return; - } - // Here, both rounding performed in searchBlock ... - if (size >= SB_SIZE) { - size = roundSize(size); - } - // and additional BLOCK_OVERHEAD must be taken into account. If we are going - // to merge with the tail block, that's one time, otherwise it's two times. - let pagesBefore = memory.size(); - size += BLOCK_OVERHEAD << usize((pagesBefore << 16) - BLOCK_OVERHEAD != changetype(GETTAIL(root))); - let pagesNeeded = (((size + 0xffff) & ~0xffff) >>> 16); - let pagesWanted = max(pagesBefore, pagesNeeded); // double memory - if (memory.grow(pagesWanted) < 0) { - if (memory.grow(pagesNeeded) < 0) unreachable(); - } - let pagesAfter = memory.size(); - addMemory(root, pagesBefore << 16, pagesAfter << 16); -} - -/** Computes the size (excl. header) of a block. */ -function computeSize(size: usize): usize { - // Size must be large enough and aligned minus preceeding overhead - return size <= BLOCK_MINSIZE - ? BLOCK_MINSIZE - : ((size + BLOCK_OVERHEAD + AL_MASK) & ~AL_MASK) - BLOCK_OVERHEAD; -} - -/** Prepares and checks an allocation size. */ -function prepareSize(size: usize): usize { - if (size > BLOCK_MAXSIZE) throw new Error(E_ALLOCATION_TOO_LARGE); - return computeSize(size); -} - -/** Initializes the root structure. */ -function initialize(): void { - if (isDefined(ASC_RTRACE)) oninit(__heap_base); - let rootOffset = (__heap_base + AL_MASK) & ~AL_MASK; - let pagesBefore = memory.size(); - let pagesNeeded = ((((rootOffset + ROOT_SIZE) + 0xffff) & ~0xffff) >>> 16); - if (pagesNeeded > pagesBefore && memory.grow(pagesNeeded - pagesBefore) < 0) unreachable(); - let root = changetype(rootOffset); - root.flMap = 0; - SETTAIL(root, changetype(0)); - for (let fl: usize = 0; fl < FL_BITS; ++fl) { - SETSL(root, fl, 0); - for (let sl: u32 = 0; sl < SL_SIZE; ++sl) { - SETHEAD(root, fl, sl, null); - } - } - let memStart = rootOffset + ROOT_SIZE; - if (ASC_LOW_MEMORY_LIMIT) { - const memEnd = ASC_LOW_MEMORY_LIMIT & ~AL_MASK; - if (memStart <= memEnd) addMemory(root, memStart, memEnd); - else unreachable(); // low memory limit already exceeded - } else { - addMemory(root, memStart, memory.size() << 16); - } - ROOT = root; -} - -/** Allocates a block of the specified size. */ -export function allocateBlock(root: Root, size: usize): Block { - let payloadSize = prepareSize(size); - let block = searchBlock(root, payloadSize); - if (!block) { - growMemory(root, payloadSize); - block = changetype(searchBlock(root, payloadSize)); - if (DEBUG) assert(block); // must be found now - } - if (DEBUG) assert((block.mmInfo & ~TAGS_MASK) >= payloadSize); // must fit - removeBlock(root, block); - prepareBlock(root, block, payloadSize); - if (isDefined(ASC_RTRACE)) onalloc(block); - return block; -} - -/** Reallocates a block to the specified size. */ -export function reallocateBlock(root: Root, block: Block, size: usize): Block { - let payloadSize = prepareSize(size); - let blockInfo = block.mmInfo; - let blockSize = blockInfo & ~TAGS_MASK; - - // possibly split and update runtime size if it still fits - if (payloadSize <= blockSize) { - prepareBlock(root, block, payloadSize); - if (isDefined(ASC_RTRACE)) { - if (payloadSize != blockSize) onresize(block, BLOCK_OVERHEAD + blockSize); - } - return block; - } - - // merge with right free block if merger is large enough - let right = GETRIGHT(block); - let rightInfo = right.mmInfo; - if (rightInfo & FREE) { - let mergeSize = blockSize + BLOCK_OVERHEAD + (rightInfo & ~TAGS_MASK); - if (mergeSize >= payloadSize) { - removeBlock(root, right); - block.mmInfo = (blockInfo & TAGS_MASK) | mergeSize; - prepareBlock(root, block, payloadSize); - if (isDefined(ASC_RTRACE)) onresize(block, BLOCK_OVERHEAD + blockSize); - return block; - } - } - - // otherwise move the block - return moveBlock(root, block, size); -} - -/** Moves a block to a new one of the specified size. */ -function moveBlock(root: Root, block: Block, newSize: usize): Block { - let newBlock = allocateBlock(root, newSize); - memory.copy(changetype(newBlock) + BLOCK_OVERHEAD, changetype(block) + BLOCK_OVERHEAD, block.mmInfo & ~TAGS_MASK); - if (changetype(block) >= __heap_base) { - if (isDefined(ASC_RTRACE)) onmove(block, newBlock); - freeBlock(root, block); - } - return newBlock; -} - -/** Frees a block. */ -export function freeBlock(root: Root, block: Block): void { - if (isDefined(ASC_RTRACE)) onfree(block); - block.mmInfo = block.mmInfo | FREE; - insertBlock(root, block); -} - -/** Checks that a used block is valid to be freed or reallocated. */ -function checkUsedBlock(ptr: usize): Block { - let block = changetype(ptr - BLOCK_OVERHEAD); - assert( - ptr != 0 && !(ptr & AL_MASK) && // must exist and be aligned - !(block.mmInfo & FREE) // must be used - ); - return block; -} - -// @ts-ignore: decorator -@global @unsafe -export function __alloc(size: usize): usize { - if (!ROOT) initialize(); - return changetype(allocateBlock(ROOT, size)) + BLOCK_OVERHEAD; -} - -// @ts-ignore: decorator -@global @unsafe -export function __realloc(ptr: usize, size: usize): usize { - if (!ROOT) initialize(); - return (ptr < __heap_base - ? changetype(moveBlock(ROOT, checkUsedBlock(ptr), size)) - : changetype(reallocateBlock(ROOT, checkUsedBlock(ptr), size)) - ) + BLOCK_OVERHEAD; -} - -// @ts-ignore: decorator -@global @unsafe -export function __free(ptr: usize): void { - if (ptr < __heap_base) return; - if (!ROOT) initialize(); - freeBlock(ROOT, checkUsedBlock(ptr)); -} -`,set:`/// - -import { HASH } from "./util/hash"; - -// A deterministic hash set based on CloseTable from https://github.com/jorendorff/dht - -// @ts-ignore: decorator -@inline const INITIAL_CAPACITY = 4; - -// @ts-ignore: decorator -@inline const FILL_FACTOR_N = 8; - -// @ts-ignore: decorator -@inline const FILL_FACTOR_D = 3; - -// @ts-ignore: decorator -@inline const FREE_FACTOR_N = 3; - -// @ts-ignore: decorator -@inline const FREE_FACTOR_D = 4; - -/** Structure of a set entry. */ -@unmanaged class SetEntry { - key: K; - taggedNext: usize; // LSB=1 indicates EMPTY -} - -/** Empty bit. */ -// @ts-ignore: decorator -@inline const EMPTY: usize = 1 << 0; - -/** Size of a bucket. */ -// @ts-ignore: decorator -@inline const BUCKET_SIZE = sizeof(); - -/** Computes the alignment of an entry. */ -// @ts-ignore: decorator -@inline -function ENTRY_ALIGN(): usize { - // can align to 4 instead of 8 if 32-bit and K is <= 32-bits - const align = (sizeof() > sizeof() ? sizeof() : sizeof()) - 1; - return align; -} - -/** Computes the aligned size of an entry. */ -// @ts-ignore: decorator -@inline -function ENTRY_SIZE(): usize { - const align = ENTRY_ALIGN(); - const size = (offsetof>() + align) & ~align; - return size; -} - -export class Set { - - // buckets referencing their respective first entry, usize[bucketsMask + 1] - private buckets: ArrayBuffer = new ArrayBuffer(INITIAL_CAPACITY * BUCKET_SIZE); - private bucketsMask: u32 = INITIAL_CAPACITY - 1; - - // entries in insertion order, SetEntry[entriesCapacity] - private entries: ArrayBuffer = new ArrayBuffer(INITIAL_CAPACITY * ENTRY_SIZE()); - private entriesCapacity: i32 = INITIAL_CAPACITY; - private entriesOffset: i32 = 0; - private entriesCount: i32 = 0; - - constructor() { - /* nop */ - } - - get size(): i32 { - return this.entriesCount; - } - - clear(): void { - this.buckets = new ArrayBuffer(INITIAL_CAPACITY * BUCKET_SIZE); - this.bucketsMask = INITIAL_CAPACITY - 1; - this.entries = new ArrayBuffer(INITIAL_CAPACITY * ENTRY_SIZE()); - this.entriesCapacity = INITIAL_CAPACITY; - this.entriesOffset = 0; - this.entriesCount = 0; - } - - private find(key: T, hashCode: u32): SetEntry | null { - let entry = load>( // unmanaged! - changetype(this.buckets) + (hashCode & this.bucketsMask) * BUCKET_SIZE - ); - while (entry) { - let taggedNext = entry.taggedNext; - if (!(taggedNext & EMPTY) && entry.key == key) return entry; - entry = changetype>(taggedNext & ~EMPTY); - } - return null; - } - - @operator("[]") - has(key: T): bool { - return this.find(key, HASH(key)) != null; - } - - add(key: T): this { - let hashCode = HASH(key); - let entry = this.find(key, hashCode); // unmanaged! - if (!entry) { - // check if rehashing is necessary - if (this.entriesOffset == this.entriesCapacity) { - this.rehash( - this.entriesCount < this.entriesCapacity * FREE_FACTOR_N / FREE_FACTOR_D - ? this.bucketsMask // just rehash if 1/4+ entries are empty - : (this.bucketsMask << 1) | 1 // grow capacity to next 2^N - ); - } - // append new entry - entry = changetype>(changetype(this.entries) + (this.entriesOffset++) * ENTRY_SIZE()); - entry.key = key; - if (isManaged()) { - __link(changetype(this), changetype(key), true); - } - ++this.entriesCount; - // link with previous entry in bucket - let bucketPtrBase = changetype(this.buckets) + (hashCode & this.bucketsMask) * BUCKET_SIZE; - entry.taggedNext = load(bucketPtrBase); - store(bucketPtrBase, changetype(entry)); - } - return this; - } - - @operator("[]=") - private __set(key: T, value: bool): void { - if (value) this.add(key); - else this.delete(key); - } - - delete(key: T): bool { - let entry = this.find(key, HASH(key)); // unmanaged! - if (!entry) return false; - entry.taggedNext |= EMPTY; - --this.entriesCount; - // check if rehashing is appropriate - let halfBucketsMask = this.bucketsMask >> 1; - if ( - halfBucketsMask + 1 >= max(INITIAL_CAPACITY, this.entriesCount) && - this.entriesCount < this.entriesCapacity * FREE_FACTOR_N / FREE_FACTOR_D - ) this.rehash(halfBucketsMask); - return true; - } - - private rehash(newBucketsMask: u32): void { - let newBucketsCapacity = (newBucketsMask + 1); - let newBuckets = new ArrayBuffer(newBucketsCapacity * BUCKET_SIZE); - let newEntriesCapacity = newBucketsCapacity * FILL_FACTOR_N / FILL_FACTOR_D; - let newEntries = new ArrayBuffer(newEntriesCapacity * ENTRY_SIZE()); - - // copy old entries to new entries - let oldPtr = changetype(this.entries); - let oldEnd = oldPtr + this.entriesOffset * ENTRY_SIZE(); - let newPtr = changetype(newEntries); - while (oldPtr != oldEnd) { - let oldEntry = changetype>(oldPtr); // unmanaged! - if (!(oldEntry.taggedNext & EMPTY)) { - let newEntry = changetype>(newPtr); // unmanaged! - let oldEntryKey = oldEntry.key; - newEntry.key = oldEntryKey; - let newBucketIndex = HASH(oldEntryKey) & newBucketsMask; - let newBucketPtrBase = changetype(newBuckets) + newBucketIndex * BUCKET_SIZE; - newEntry.taggedNext = load(newBucketPtrBase); - store(newBucketPtrBase, newPtr); - newPtr += ENTRY_SIZE(); - } - oldPtr += ENTRY_SIZE(); - } - - this.buckets = newBuckets; - this.bucketsMask = newBucketsMask; - this.entries = newEntries; - this.entriesCapacity = newEntriesCapacity; - this.entriesOffset = this.entriesCount; - } - - values(): T[] { - // FIXME: this is preliminary, needs iterators/closures - let start = changetype(this.entries); - let size = this.entriesOffset; - let values = new Array(size); - let length = 0; - for (let i = 0; i < size; ++i) { - let entry = changetype>(start + i * ENTRY_SIZE()); - if (!(entry.taggedNext & EMPTY)) { - unchecked(values[length++] = entry.key); - } - } - values.length = length; - return values; - } - - toString(): string { - return "[object Set]"; - } - - // RT integration - - @unsafe private __visit(cookie: u32): void { - __visit(changetype(this.buckets), cookie); - let entries = changetype(this.entries); - if (isManaged()) { - let cur = entries; - let end = cur + this.entriesOffset * ENTRY_SIZE(); - while (cur < end) { - let entry = changetype>(cur); - if (!(entry.taggedNext & EMPTY)) { - let val = changetype(entry.key); - if (isNullable()) { - if (val) __visit(val, cookie); - } else __visit(val, cookie); - } - cur += ENTRY_SIZE(); - } - } - __visit(entries, cookie); - } -} -`,"shared/feature":`// This file is shared with the compiler and must remain portable - -/** Indicates specific features to activate. */ -export const enum Feature { - /** No additional features. */ - None = 0, - /** Sign extension operations. */ - SignExtension = 1 << 0, // see: https://github.com/WebAssembly/sign-extension-ops - /** Mutable global imports and exports. */ - MutableGlobals = 1 << 1, // see: https://github.com/WebAssembly/mutable-global - /** Non-trapping float to integer operations. */ - NontrappingF2I = 1 << 2, // see: https://github.com/WebAssembly/nontrapping-float-to-int-conversions - /** Bulk memory operations. */ - BulkMemory = 1 << 3, // see: https://github.com/WebAssembly/bulk-memory-operations - /** SIMD types and operations. */ - Simd = 1 << 4, // see: https://github.com/WebAssembly/simd - /** Threading and atomic operations. */ - Threads = 1 << 5, // see: https://github.com/WebAssembly/threads - /** Exception handling operations. */ - ExceptionHandling = 1 << 6, // see: https://github.com/WebAssembly/exception-handling - /** Tail call operations. */ - TailCalls = 1 << 7, // see: https://github.com/WebAssembly/tail-call - /** Reference types. */ - ReferenceTypes = 1 << 8, // see: https://github.com/WebAssembly/reference-types - /** Multi value types. */ - MultiValue = 1 << 9, // see: https://github.com/WebAssembly/multi-value - /** Garbage collection. */ - GC = 1 << 10, // see: https://github.com/WebAssembly/gc - /** Memory64. */ - Memory64 = 1 << 11, // see: https://github.com/WebAssembly/memory64 - /** Relaxed SIMD. */ - RelaxedSimd = 1 << 12, // see: https://github.com/WebAssembly/relaxed-simd - /** Extended const expressions. */ - ExtendedConst = 1 << 13, // see: https://github.com/WebAssembly/extended-const - /** Reference typed strings. */ - Stringref = 1 << 14, // see: https://github.com/WebAssembly/stringref - /** All features. */ - All = (1 << 15) - 1 -} - -/** Gets the name of the specified feature one would specify on the command line. */ -export function featureToString(feature: Feature): string { - switch (feature) { - case Feature.SignExtension: return "sign-extension"; - case Feature.MutableGlobals: return "mutable-globals"; - case Feature.NontrappingF2I: return "nontrapping-f2i"; - case Feature.BulkMemory: return "bulk-memory"; - case Feature.Simd: return "simd"; - case Feature.Threads: return "threads"; - case Feature.ExceptionHandling: return "exception-handling"; - case Feature.TailCalls: return "tail-calls"; - case Feature.ReferenceTypes: return "reference-types"; - case Feature.MultiValue: return "multi-value"; - case Feature.GC: return "gc"; - case Feature.Memory64: return "memory64"; - case Feature.RelaxedSimd: return "relaxed-simd"; - case Feature.ExtendedConst: return "extended-const"; - case Feature.Stringref: return "stringref"; - } - assert(false); - return ""; -} -`,"shared/runtime":`// This file is shared with the compiler and must remain portable - -/** Runtime types. */ -export enum Runtime { - /** Simple bump allocator without GC. */ - Stub = 0, - /** Stop the world semi-automatic GC. */ - Minimal = 1, - /** incremental GC. */ - Incremental = 2, -} -`,"shared/target":`// This file is shared with the compiler and must remain portable - -/** Compilation target. */ -export enum Target { - /** Portable. */ - Js = 0, - /** WebAssembly with 32-bit pointers. */ - Wasm32 = 1, - /** WebAssembly with 64-bit pointers. Experimental and not supported by any runtime yet. */ - Wasm64 = 2, -} -`,"shared/typeinfo":`// This file is shared with the compiler and must remain portable - -// \u2552\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 Typeinfo interpretation \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2555 -// 3 2 1 -// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 bits -// \u251C\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2524 \u25C4\u2500 __rtti_base -// \u2502 count \u2502 -// \u255E\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2561 \u2510 -// \u2502 Typeinfo#flags [id=0] \u2502 id < count -// \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524 -// \u2502 ... \u2502 - -/** Runtime type information data structure. */ -@unmanaged -export class Typeinfo { - /** Flags describing the shape of this class type. */ - flags: TypeinfoFlags = TypeinfoFlags.NONE; -} - -/** Runtime type information flags. */ -export const enum TypeinfoFlags { - /** No specific flags. */ - NONE = 0, - /** Type is an \`ArrayBufferView\`. */ - ARRAYBUFFERVIEW = 1 << 0, - /** Type is an \`Array\`. */ - ARRAY = 1 << 1, - /** Type is a \`StaticArray\`. */ - STATICARRAY = 1 << 2, - /** Type is a \`Set\`. */ - SET = 1 << 3, - /** Type is a \`Map\`. */ - MAP = 1 << 4, - /** Type has no outgoing pointers. */ - POINTERFREE = 1 << 5, - /** Value alignment of 1 byte. */ - VALUE_ALIGN_0 = 1 << 6, - /** Value alignment of 2 bytes. */ - VALUE_ALIGN_1 = 1 << 7, - /** Value alignment of 4 bytes. */ - VALUE_ALIGN_2 = 1 << 8, - /** Value alignment of 8 bytes. */ - VALUE_ALIGN_3 = 1 << 9, - /** Value alignment of 16 bytes. */ - VALUE_ALIGN_4 = 1 << 10, - /** Value is a signed type. */ - VALUE_SIGNED = 1 << 11, - /** Value is a float type. */ - VALUE_FLOAT = 1 << 12, - /** Value type is nullable. */ - VALUE_NULLABLE = 1 << 13, - /** Value type is managed. */ - VALUE_MANAGED = 1 << 14, - /** Key alignment of 1 byte. */ - KEY_ALIGN_0 = 1 << 15, - /** Key alignment of 2 bytes. */ - KEY_ALIGN_1 = 1 << 16, - /** Key alignment of 4 bytes. */ - KEY_ALIGN_2 = 1 << 17, - /** Key alignment of 8 bytes. */ - KEY_ALIGN_3 = 1 << 18, - /** Key alignment of 16 bytes. */ - KEY_ALIGN_4 = 1 << 19, - /** Key is a signed type. */ - KEY_SIGNED = 1 << 20, - /** Key is a float type. */ - KEY_FLOAT = 1 << 21, - /** Key type is nullable. */ - KEY_NULLABLE = 1 << 22, - /** Key type is managed. */ - KEY_MANAGED = 1 << 23 -} -`,staticarray:`/// - -import { OBJECT, BLOCK_MAXSIZE, TOTAL_OVERHEAD } from "./rt/common"; -import { Runtime } from "shared/runtime"; -import { COMPARATOR, SORT } from "./util/sort"; -import { REVERSE, FILL } from "./util/bytes"; -import { idof } from "./builtins"; -import { Array } from "./array"; -import { E_INDEXOUTOFRANGE, E_INVALIDLENGTH, E_HOLEYARRAY } from "./util/error"; -import { joinBooleanArray, joinIntegerArray, joinFloatArray, joinStringArray, joinReferenceArray } from "./util/string"; - -@final -export class StaticArray { - [key: number]: T; - - // Note that the interface of StaticArray instances must be a semantically - // compatible subset of Array in order for syntax highlighting to work - // properly, for instance when creating static arrays from array literals. - // The additionally provided static methods take care of dealing with static - // arrays exclusively, without having to convert to Array first. - - static fromArray(source: Array): StaticArray { - let length = source.length; - let outSize = length << alignof(); - let out = changetype>(__new(outSize, idof>())); - if (isManaged()) { - let sourcePtr = source.dataStart; - for (let i = 0; i < length; ++i) { - let off = i << alignof(); - let ref = load(sourcePtr + off); - store(changetype(out) + off, ref); - __link(changetype(out), ref, true); - } - } else { - memory.copy(changetype(out), source.dataStart, outSize); - } - return out; - } - - /** @deprecated Please use source.concat> instead. */ - static concat(source: StaticArray, other: StaticArray): StaticArray { - return source.concat>(other); - } - - /** @deprecated Please use source.slice> instead. */ - static slice(source: StaticArray, start: i32 = 0, end: i32 = i32.MAX_VALUE): StaticArray { - return source.slice>(start, end); - } - - constructor(length: i32) { - if (length > BLOCK_MAXSIZE >>> alignof()) throw new RangeError(E_INVALIDLENGTH); - let outSize = length << alignof(); - let out = changetype>(__new(outSize, idof>())); - if (ASC_RUNTIME != Runtime.Incremental) { - memory.fill(changetype(out), 0, outSize); - } - return out; - } - - get length(): i32 { - return changetype(changetype(this) - TOTAL_OVERHEAD).rtSize >>> alignof(); - } - - at(index: i32): T { - let len = this.length; - index += select(0, len, index >= 0); - if (index >= len) throw new RangeError(E_INDEXOUTOFRANGE); - let value = load(changetype(this) + (index << alignof())); - if (isReference()) { - if (!isNullable()) { - if (!changetype(value)) throw new Error(E_HOLEYARRAY); - } - } - return value; - } - - @operator("[]") private __get(index: i32): T { - if (index >= this.length) throw new RangeError(E_INDEXOUTOFRANGE); - let value = load(changetype(this) + (index << alignof())); - if (isReference()) { - if (!isNullable()) { - if (!changetype(value)) throw new Error(E_HOLEYARRAY); - } - } - return value; - } - - @unsafe @operator("{}") private __uget(index: i32): T { - return load(changetype(this) + (index << alignof())); - } - - @operator("[]=") private __set(index: i32, value: T): void { - if (index >= this.length) throw new RangeError(E_INDEXOUTOFRANGE); - this.__uset(index, value); - } - - @unsafe @operator("{}=") private __uset(index: i32, value: T): void { - store(changetype(this) + (index << alignof()), value); - if (isManaged()) { - __link(changetype(this), changetype(value), true); - } - } - - fill(value: T, start: i32 = 0, end: i32 = i32.MAX_VALUE): StaticArray { - if (isManaged()) { - FILL(changetype(this), this.length, changetype(value), start, end); - __link(changetype(this), changetype(value), false); - } else { - FILL(changetype(this), this.length, value, start, end); - } - return this; - } - - copyWithin(target: i32, start: i32, end: i32 = i32.MAX_VALUE): StaticArray { - let ptr = changetype(this); - let len = this.length; - - end = min(end, len); - - let to = target < 0 ? max(len + target, 0) : min(target, len); - let from = start < 0 ? max(len + start, 0) : min(start, len); - let last = end < 0 ? max(len + end, 0) : min(end, len); - let count = min(last - from, len - to); - - memory.copy( // is memmove - ptr + (to << alignof()), - ptr + (from << alignof()), - count << alignof() - ); - return this; - } - - includes(value: T, fromIndex: i32 = 0): bool { - if (isFloat()) { - let length = this.length; - if (length == 0 || fromIndex >= length) return false; - if (fromIndex < 0) fromIndex = max(length + fromIndex, 0); - while (fromIndex < length) { - let elem = load(changetype(this) + (fromIndex << alignof())); - // @ts-ignore - if (elem == value || isNaN(elem) & isNaN(value)) return true; - ++fromIndex; - } - return false; - } else { - return this.indexOf(value, fromIndex) >= 0; - } - } - - indexOf(value: T, fromIndex: i32 = 0): i32 { - let length = this.length; - if (length == 0 || fromIndex >= length) return -1; - if (fromIndex < 0) fromIndex = max(length + fromIndex, 0); - while (fromIndex < length) { - if (load(changetype(this) + (fromIndex << alignof())) == value) return fromIndex; - ++fromIndex; - } - return -1; - } - - lastIndexOf(value: T, fromIndex: i32 = this.length): i32 { - let length = this.length; - if (length == 0) return -1; - if (fromIndex < 0) fromIndex = length + fromIndex; - else if (fromIndex >= length) fromIndex = length - 1; - while (fromIndex >= 0) { - if (load(changetype(this) + (fromIndex << alignof())) == value) return fromIndex; - --fromIndex; - } - return -1; - } - - concat = Array>(other: U): U { - let sourceLen = this.length; - let otherLen = other.length; - let outLen = sourceLen + otherLen; - if (outLen > BLOCK_MAXSIZE >>> alignof()) { - throw new Error(E_INVALIDLENGTH); - } - let sourceSize = sourceLen << alignof(); - let out = changetype(this); // FIXME: instanceof needs *some* value - - if (out instanceof Array) { - out = changetype(__newArray(outLen, alignof(), idof>())); - // ^ FIXME: Function returns type U, but can't __newArray(U extends Array) - let outStart = changetype>(out).dataStart; - let otherStart = changetype>(other).dataStart; - let thisStart = changetype(this); - - if (isManaged()) { - for (let offset: usize = 0; offset < sourceSize; offset += sizeof()) { - let ref = load(thisStart + offset); - store(outStart + offset, ref); - __link(changetype(out), ref, true); - } - outStart += sourceSize; - let otherSize = otherLen << alignof(); - for (let offset: usize = 0; offset < otherSize; offset += sizeof()) { - let ref = load(otherStart + offset); - store(outStart + offset, ref); - __link(changetype(out), ref, true); - } - } else { - memory.copy(outStart, thisStart, sourceSize); - memory.copy(outStart + sourceSize, otherStart, otherLen << alignof()); - } - } else if (out instanceof StaticArray) { - out = changetype(__new(outLen << alignof(), idof>())); - let outStart = changetype(out); - let otherStart = changetype(other); - let thisStart = changetype(this); - - if (isManaged()) { - for (let offset: usize = 0; offset < sourceSize; offset += sizeof()) { - let ref = load(thisStart + offset); - store(outStart + offset, ref); - __link(changetype(out), ref, true); - } - outStart += sourceSize; - let otherSize = otherLen << alignof(); - for (let offset: usize = 0; offset < otherSize; offset += sizeof()) { - let ref = load(otherStart + offset); - store(outStart + offset, ref); - __link(changetype(out), ref, true); - } - } else { - memory.copy(outStart, thisStart, sourceSize); - memory.copy(outStart + sourceSize, otherStart, otherLen << alignof()); - } - } else { - ERROR("Only Array and StaticArray accept for 'U' parameter"); - } - return out; - } - - slice = Array>(start: i32 = 0, end: i32 = i32.MAX_VALUE): U { - let length = this.length; - start = start < 0 ? max(start + length, 0) : min(start, length); - end = end < 0 ? max(end + length, 0) : min(end, length); - length = max(end - start, 0); - - let sourceStart = changetype(this) + (start << alignof()); - let size = length << alignof(); - let out = changetype(this); // FIXME: instanceof needs *some* value - - if (out instanceof Array) { - // return Array - out = changetype(__newArray(length, alignof(), idof>())); - // ^ FIXME: Function returns type U, but can't __newArray(U extends Array) - let outStart = changetype>(out).dataStart; - if (isManaged()) { - let off: usize = 0; - while (off < size) { - let ref = load(sourceStart + off); - store(outStart + off, ref); - __link(changetype(out), ref, true); - off += sizeof(); - } - } else { - memory.copy(outStart, sourceStart, size); - } - } else if (out instanceof StaticArray) { - // return StaticArray - out = changetype(__new(size, idof>())); - let outStart = changetype(out); - if (isManaged()) { - let off: usize = 0; - while (off < size) { - let ref = load(sourceStart + off); - store(outStart + off, ref); - __link(outStart, ref, true); - off += sizeof(); - } - } else { - memory.copy(outStart, sourceStart, size); - } - } else { - ERROR("Only Array and StaticArray accept for 'U' parameter"); - } - return out; - } - - findIndex(fn: (value: T, index: i32, array: StaticArray) => bool): i32 { - for (let i = 0, len = this.length; i < len; ++i) { - if (fn(load(changetype(this) + (i << alignof())), i, this)) return i; - } - return -1; - } - - findLastIndex(fn: (value: T, index: i32, array: StaticArray) => bool): i32 { - for (let i = this.length - 1; i >= 0; --i) { - if (fn(load(changetype(this) + (i << alignof())), i, this)) return i; - } - return -1; - } - - forEach(fn: (value: T, index: i32, array: StaticArray) => void): void { - for (let i = 0, len = this.length; i < len; ++i) { - fn(load(changetype(this) + (i << alignof())), i, this); - } - } - - map(fn: (value: T, index: i32, array: StaticArray) => U): Array { - let len = this.length; - let out = changetype>(__newArray(len, alignof(), idof>())); - let outStart = out.dataStart; - for (let i = 0; i < len; ++i) { - let result = fn(load(changetype(this) + (i << alignof())), i, this); - store(outStart + (i << alignof()), result); - if (isManaged()) { - __link(changetype(out), changetype(result), true); - } - } - return out; - } - - filter(fn: (value: T, index: i32, array: StaticArray) => bool): Array { - let result = changetype>(__newArray(0, alignof(), idof>())); - for (let i = 0, len = this.length; i < len; ++i) { - let value = load(changetype(this) + (i << alignof())); - if (fn(value, i, this)) result.push(value); - } - return result; - } - - reduce( - fn: (previousValue: U, currentValue: T, currentIndex: i32, array: StaticArray) => U, - initialValue: U - ): U { - let acc = initialValue; - for (let i = 0, len = this.length; i < len; ++i) { - acc = fn(acc, load(changetype(this) + (i << alignof())), i, this); - } - return acc; - } - - reduceRight( - fn: (previousValue: U, currentValue: T, currentIndex: i32, array: StaticArray) => U, - initialValue: U - ): U { - let acc = initialValue; - for (let i = this.length - 1; i >= 0; --i) { - acc = fn(acc, load(changetype(this) + (i << alignof())), i, this); - } - return acc; - } - - every(fn: (value: T, index: i32, array: StaticArray) => bool): bool { - for (let i = 0, len = this.length; i < len; ++i) { - if (!fn(load(changetype(this) + (i << alignof())), i, this)) return false; - } - return true; - } - - some(fn: (value: T, index: i32, array: StaticArray) => bool): bool { - for (let i = 0, len = this.length; i < len; ++i) { - if (fn(load(changetype(this) + (i << alignof())), i, this)) return true; - } - return false; - } - - sort(comparator: (a: T, b: T) => i32 = COMPARATOR()): StaticArray { - SORT(changetype(this), this.length, comparator); - return this; - } - - join(separator: string = ","): string { - if (isBoolean()) return joinBooleanArray(changetype(this), this.length, separator); - if (isInteger()) return joinIntegerArray(changetype(this), this.length, separator); - if (isFloat()) return joinFloatArray(changetype(this), this.length, separator); - if (ASC_SHRINK_LEVEL < 1) { - if (isString()) return joinStringArray(changetype(this), this.length, separator); - } - if (isReference()) return joinReferenceArray(changetype(this), this.length, separator); - ERROR("unspported element type"); - return unreachable(); - } - - reverse(): StaticArray { - REVERSE(changetype(this), this.length); - return this; - } - - toString(): string { - return this.join(); - } - - // RT integration - - @unsafe private __visit(cookie: u32): void { - if (isManaged()) { - let cur = changetype(this); - let end = cur + changetype(changetype(this) - TOTAL_OVERHEAD).rtSize; - while (cur < end) { - let val = load(cur); - if (val) __visit(val, cookie); - cur += sizeof(); - } - } - } -} -`,string:`/// - -import { OBJECT, BLOCK_MAXSIZE, TOTAL_OVERHEAD } from "./rt/common"; -import { compareImpl, strtol, strtod, isSpace, isAscii, isFinalSigma, toLower8, toUpper8 } from "./util/string"; -import { SPECIALS_UPPER, casemap, bsearch } from "./util/casemap"; -import { E_INDEXOUTOFRANGE, E_INVALIDLENGTH, E_UNPAIRED_SURROGATE } from "./util/error"; -import { idof } from "./builtins"; -import { Array } from "./array"; - -@final export abstract class String { - - @lazy static readonly MAX_LENGTH: i32 = (BLOCK_MAXSIZE >>> alignof()); - - static fromCharCode(unit: i32, surr: i32 = -1): String { - let hasSur = surr > 0; - let out = changetype(__new(2 << i32(hasSur), idof())); - store(changetype(out), unit); - if (hasSur) store(changetype(out), surr, 2); - return out; - } - - static fromCharCodes(units: Array): String { - let length = units.length; - let out = changetype(__new(length << 1, idof())); - let ptr = units.dataStart; - for (let i = 0; i < length; ++i) { - store(changetype(out) + (i << 1), load(ptr + (i << 2))); - } - return out; - } - - static fromCodePoint(code: i32): String { - let hasSur = code > 0xFFFF; - let out = changetype(__new(2 << i32(hasSur), idof())); - if (!hasSur) { - store(changetype(out), code); - } else { - // Checks valid code point range - assert(code <= 0x10FFFF); - code -= 0x10000; - let hi = (code & 0x03FF) | 0xDC00; - let lo = code >>> 10 | 0xD800; - store(changetype(out), lo | hi << 16); - } - return out; - } - - @builtin static raw(parts: TemplateStringsArray, ...args: unknown[]): string { return unreachable(); } - - get length(): i32 { - return changetype(changetype(this) - TOTAL_OVERHEAD).rtSize >> 1; - } - - at(pos: i32): String { - let len = this.length; - pos += select(0, len, pos >= 0); - if (pos >= len) throw new RangeError(E_INDEXOUTOFRANGE); - let out = __new(2, idof()); - store(out, load(changetype(this) + (pos << 1))); - return changetype(out); // retains - } - - @operator("[]") charAt(pos: i32): String { - if (pos >= this.length) return changetype(""); - let out = changetype(__new(2, idof())); - store(changetype(out), load(changetype(this) + (pos << 1))); - return out; - } - - charCodeAt(pos: i32): i32 { - if (pos >= this.length) return -1; // (NaN) - return load(changetype(this) + (pos << 1)); - } - - codePointAt(pos: i32): i32 { - let len = this.length; - if (pos >= len) return -1; // (undefined) - let first = load(changetype(this) + (pos << 1)); - if ((first & 0xFC00) != 0xD800 || pos + 1 == len) return first; - let second = load(changetype(this) + (pos << 1), 2); - if ((second & 0xFC00) != 0xDC00) return first; - return (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000; - } - - @operator("+") private static __concat(left: String, right: String): String { - return left.concat(right); - } - - concat(other: String): String { - let thisSize: isize = this.length << 1; - let otherSize: isize = other.length << 1; - let outSize: usize = thisSize + otherSize; - if (outSize == 0) return changetype(""); - let out = changetype(__new(outSize, idof())); - memory.copy(changetype(out), changetype(this), thisSize); - memory.copy(changetype(out) + thisSize, changetype(other), otherSize); - return out; - } - - endsWith(search: String, end: i32 = String.MAX_LENGTH): bool { - end = min(max(end, 0), this.length); - let searchLength = search.length; - let searchStart = end - searchLength; - if (searchStart < 0) return false; - // @ts-ignore: string <-> String - return !compareImpl(this, searchStart, search, 0, searchLength); - } - - @operator("==") private static __eq(left: String | null, right: String | null): bool { - if (changetype(left) == changetype(right)) return true; - if (changetype(left) == 0 || changetype(right) == 0) return false; - let leftLength = changetype(left).length; - if (leftLength != changetype(right).length) return false; - // @ts-ignore: string <-> String - return !compareImpl(left, 0, right, 0, leftLength); - } - - @operator.prefix("!") - private static __not(str: String | null): bool { - return changetype(str) == 0 || !changetype(str).length; - } - - @operator("!=") - private static __ne(left: String | null, right: String | null): bool { - return !this.__eq(left, right); - } - - @operator(">") private static __gt(left: String, right: String): bool { - if (changetype(left) == changetype(right)) return false; - let leftLength = left.length; - if (!leftLength) return false; - let rightLength = right.length; - if (!rightLength) return true; - // @ts-ignore: string <-> String - let res = compareImpl(left, 0, right, 0, min(leftLength, rightLength)); - return res ? res > 0 : leftLength > rightLength; - } - - @operator(">=") private static __gte(left: String, right: String): bool { - return !this.__lt(left, right); - } - - @operator("<") private static __lt(left: String, right: String): bool { - if (changetype(left) == changetype(right)) return false; - let rightLength = right.length; - if (!rightLength) return false; - let leftLength = left.length; - if (!leftLength) return true; - // @ts-ignore: string <-> String - let res = compareImpl(left, 0, right, 0, min(leftLength, rightLength)); - return res ? res < 0 : leftLength < rightLength; - } - - @operator("<=") private static __lte(left: String, right: String): bool { - return !this.__gt(left, right); - } - - includes(search: String, start: i32 = 0): bool { - return this.indexOf(search, start) != -1; - } - - indexOf(search: String, start: i32 = 0): i32 { - let searchLen = search.length; - if (!searchLen) return 0; - let len = this.length; - if (!len) return -1; - let searchStart = min(max(start, 0), len); - for (len -= searchLen; searchStart <= len; ++searchStart) { - // @ts-ignore: string <-> String - if (!compareImpl(this, searchStart, search, 0, searchLen)) return searchStart; - } - return -1; - } - - lastIndexOf(search: String, start: i32 = i32.MAX_VALUE): i32 { - let searchLen = search.length; - if (!searchLen) return this.length; - let len = this.length; - if (!len) return -1; - let searchStart = min(max(start, 0), len - searchLen); - for (; searchStart >= 0; --searchStart) { - // @ts-ignore: string <-> String - if (!compareImpl(this, searchStart, search, 0, searchLen)) return searchStart; - } - return -1; - } - - // TODO: implement full locale comparison with locales and Collator options - localeCompare(other: String): i32 { - if (changetype(other) == changetype(this)) return 0; - let alen = this.length; - let blen = other.length; - // @ts-ignore: string <-> String - let res = compareImpl(this, 0, other, 0, min(alen, blen)); - res = res ? res : alen - blen; - // normalize to [-1, 1] range - return i32(res > 0) - i32(res < 0); - } - - startsWith(search: String, start: i32 = 0): bool { - let len = this.length; - let searchStart = min(max(start, 0), len); - let searchLength = search.length; - if (searchLength + searchStart > len) return false; - // @ts-ignore: string <-> String - return !compareImpl(this, searchStart, search, 0, searchLength); - } - - substr(start: i32, length: i32 = i32.MAX_VALUE): String { // legacy - let intStart: isize = start; - let end: isize = length; - let len: isize = this.length; - if (intStart < 0) intStart = max(len + intStart, 0); - let size = min(max(end, 0), len - intStart) << 1; - if (size <= 0) return changetype(""); - let out = changetype(__new(size, idof())); - memory.copy(changetype(out), changetype(this) + (intStart << 1), size); - return out; - } - - substring(start: i32, end: i32 = i32.MAX_VALUE): String { - let len: isize = this.length; - let finalStart = min(max(start, 0), len); - let finalEnd = min(max(end, 0), len); - let fromPos = min(finalStart, finalEnd) << 1; - let toPos = max(finalStart, finalEnd) << 1; - let size = toPos - fromPos; - if (!size) return changetype(""); - if (!fromPos && toPos == len << 1) return this; - let out = changetype(__new(size, idof())); - memory.copy(changetype(out), changetype(this) + fromPos, size); - return out; - } - - trim(): String { - let len = this.length; - let size: usize = len << 1; - while (size && isSpace(load(changetype(this) + size - 2))) { - size -= 2; - } - let offset: usize = 0; - while (offset < size && isSpace(load(changetype(this) + offset))) { - offset += 2; size -= 2; - } - if (!size) return changetype(""); - if (!offset && size == len << 1) return this; - let out = changetype(__new(size, idof())); - memory.copy(changetype(out), changetype(this) + offset, size); - return out; - } - - @inline - trimLeft(): String { - return this.trimStart(); - } - - @inline - trimRight(): String { - return this.trimEnd(); - } - - trimStart(): String { - let size = this.length << 1; - let offset: usize = 0; - while (offset < size && isSpace(load(changetype(this) + offset))) { - offset += 2; - } - if (!offset) return this; - size -= offset; - if (!size) return changetype(""); - let out = changetype(__new(size, idof())); - memory.copy(changetype(out), changetype(this) + offset, size); - return out; - } - - trimEnd(): String { - let originalSize = this.length << 1; - let size = originalSize; - while (size && isSpace(load(changetype(this) + size - 2))) { - size -= 2; - } - if (!size) return changetype(""); - if (size == originalSize) return this; - let out = changetype(__new(size, idof())); - memory.copy(changetype(out), changetype(this), size); - return out; - } - - padStart(length: i32, pad: string = " "): String { - let thisSize = this.length << 1; - let targetSize = length << 1; - let padSize = pad.length << 1; - if (targetSize < thisSize || !padSize) return this; - let prependSize = targetSize - thisSize; - let out = changetype(__new(targetSize, idof())); - if (prependSize > padSize) { - let repeatCount = (prependSize - 2) / padSize; - let restBase = repeatCount * padSize; - let restSize = prependSize - restBase; - memory.repeat(changetype(out), changetype(pad), padSize, repeatCount); - memory.copy(changetype(out) + restBase, changetype(pad), restSize); - } else { - memory.copy(changetype(out), changetype(pad), prependSize); - } - memory.copy(changetype(out) + prependSize, changetype(this), thisSize); - return out; - } - - padEnd(length: i32, pad: string = " "): String { - let thisSize = this.length << 1; - let targetSize = length << 1; - let padSize = pad.length << 1; - if (targetSize < thisSize || !padSize) return this; - let appendSize = targetSize - thisSize; - let out = changetype(__new(targetSize, idof())); - memory.copy(changetype(out), changetype(this), thisSize); - if (appendSize > padSize) { - let repeatCount = (appendSize - 2) / padSize; - let restBase = repeatCount * padSize; - let restSize = appendSize - restBase; - memory.repeat(changetype(out) + thisSize, changetype(pad), padSize, repeatCount); - memory.copy(changetype(out) + thisSize + restBase, changetype(pad), restSize); - } else { - memory.copy(changetype(out) + thisSize, changetype(pad), appendSize); - } - return out; - } - - repeat(count: i32 = 0): String { - let length = this.length; - - // Most browsers can't handle strings 1 << 28 chars or longer - if (count < 0 || length * count > (1 << 28)) { - throw new RangeError(E_INVALIDLENGTH); - } - - if (count == 0 || !length) return changetype(""); - if (count == 1) return this; - let out = changetype(__new((length * count) << 1, idof())); - memory.repeat(changetype(out), changetype(this), length << 1, count); - return out; - } - - replace(search: String, replacement: String): String { - let len: usize = this.length; - let slen: usize = search.length; - if (len <= slen) { - return len < slen ? this : select(replacement, this, search == this); - } - let index: isize = this.indexOf(search); - if (~index) { - let rlen: usize = replacement.length; - len -= slen; - let olen = len + rlen; - if (olen) { - let out = changetype(__new(olen << 1, idof())); - memory.copy(changetype(out), changetype(this), index << 1); - memory.copy( - changetype(out) + (index << 1), - changetype(replacement), - rlen << 1 - ); - memory.copy( - changetype(out) + ((index + rlen) << 1), - changetype(this) + ((index + slen) << 1), - (len - index) << 1 - ); - return out; - } - } - return this; - } - - replaceAll(search: String, replacement: String): String { - let thisLen: usize = this.length; - let searchLen: usize = search.length; - if (thisLen <= searchLen) { - return thisLen < searchLen - ? this - : select(replacement, this, search == this); - } - let replaceLen: usize = replacement.length; - if (!searchLen) { - if (!replaceLen) return this; - // Special case: 'abc'.replaceAll('', '-') -> '-a-b-c-' - let out = changetype(__new((thisLen + (thisLen + 1) * replaceLen) << 1, idof())); - memory.copy(changetype(out), changetype(replacement), replaceLen << 1); - let offset = replaceLen; - for (let i: usize = 0; i < thisLen; ++i) { - store( - changetype(out) + (offset++ << 1), - load(changetype(this) + (i << 1)) - ); - memory.copy( - changetype(out) + (offset << 1), - changetype(replacement), - replaceLen << 1 - ); - offset += replaceLen; - } - return out; - } - let prev: isize = 0, next: isize = 0; - if (searchLen == replaceLen) { - // Fast path when search and replacement have same length - let outSize = thisLen << 1; - let out = changetype(__new(outSize, idof())); - memory.copy(changetype(out), changetype(this), outSize); - while (~(next = this.indexOf(search, prev))) { - memory.copy(changetype(out) + (next << 1), changetype(replacement), replaceLen << 1); - prev = next + searchLen; - } - return out; - } - let out: String | null = null, offset: usize = 0, outSize = thisLen; - while (~(next = this.indexOf(search, prev))) { - if (!out) out = changetype(__new(thisLen << 1, idof())); - let chunk = next - prev; - if (offset + chunk + replaceLen > outSize) { - outSize <<= 1; - out = changetype(__renew(changetype(out), outSize << 1)); - } - memory.copy( - changetype(out) + (offset << 1), - changetype(this) + (prev << 1), - chunk << 1 - ); - offset += chunk; - memory.copy( - changetype(out) + (offset << 1), - changetype(replacement), - replaceLen << 1 - ); - offset += replaceLen; - prev = next + searchLen; - } - if (out) { - let rest = thisLen - prev; - if (offset + rest > outSize) { - outSize <<= 1; - out = changetype(__renew(changetype(out), outSize << 1)); - } - if (rest) { - memory.copy( - changetype(out) + (offset << 1), - changetype(this) + (prev << 1), - rest << 1 - ); - } - rest += offset; - if (outSize > rest) { - out = changetype(__renew(changetype(out), rest << 1)); - } - return out; - } - return this; - } - - slice(start: i32, end: i32 = i32.MAX_VALUE): String { - let len = this.length; - start = start < 0 ? max(start + len, 0) : min(start, len); - end = end < 0 ? max(end + len, 0) : min(end, len); - len = end - start; - if (len <= 0) return changetype(""); - let out = changetype(__new(len << 1, idof())); - memory.copy(changetype(out), changetype(this) + (start << 1), len << 1); - return out; - } - - split(separator: String | null = null, limit: i32 = i32.MAX_VALUE): String[] { - if (!limit) return changetype(__newArray(0, alignof(), idof>())); - if (changetype(separator) == 0) return [ this ]; - let length: isize = this.length; - let sepLen = changetype(separator).length; - if (limit < 0) limit = i32.MAX_VALUE; - if (!sepLen) { - if (!length) return changetype(__newArray(0, alignof(), idof>())); - // split by chars - length = min(length, limit); - let result = changetype(__newArray(length, alignof(), idof>())); - // @ts-ignore: cast - let resultStart = result.dataStart as usize; - for (let i: isize = 0; i < length; ++i) { - let charStr = changetype(__new(2, idof())); - store(changetype(charStr), load(changetype(this) + (i << 1))); - store(resultStart + (i << alignof()), changetype(charStr)); // result[i] = charStr - __link(changetype(result), changetype(charStr), true); - } - return result; - } else if (!length) { - let result = changetype(__newArray(1, alignof(), idof>())); - // @ts-ignore: cast - store(result.dataStart as usize, changetype("")); // static "" - return result; - } - let result = changetype(__newArray(0, alignof(), idof>())); - let end = 0, start = 0, i = 0; - while (~(end = this.indexOf(changetype(separator), start))) { - let len = end - start; - if (len > 0) { - let out = changetype(__new(len << 1, idof())); - memory.copy(changetype(out), changetype(this) + (start << 1), len << 1); - result.push(out); - } else { - result.push(changetype("")); - } - if (++i == limit) return result; - start = end + sepLen; - } - if (!start) { // also means: loop above didn't do anything - result.push(this); - return result; - } - let len = length - start; - if (len > 0) { - let out = changetype(__new(len << 1, idof())); - memory.copy(changetype(out), changetype(this) + (start << 1), len << 1); - result.push(out); - } else { - result.push(changetype("")); // static "" - } - return result; - } - - toLowerCase(): String { - let len = this.length; - if (!len) return this; - let codes = changetype(__new(len * 2 * 2, idof())); - let j: usize = 0; - for (let i: usize = 0; i < len; ++i, ++j) { - let c = load(changetype(this) + (i << 1)); - if (isAscii(c)) { - store(changetype(codes) + (j << 1), toLower8(c)); - } else { - // check and read surrogate pair - if ((c - 0xD7FF < 0xDC00 - 0xD7FF) && i < len - 1) { - let c1 = load(changetype(this) + (i << 1), 2); - if (c1 - 0xDBFF < 0xE000 - 0xDBFF) { - let c0 = c; - c = (((c & 0x03FF) << 10) | (c1 & 0x03FF)) + 0x10000; - ++i; - if (c >= 0x20000) { - store(changetype(codes) + (j << 1), c0 | (c1 << 16)); - ++j; - continue; - } - } - } - // check special casing for lower table. It has one ently so instead lookup we just inline this. - if (c == 0x0130) { - // 0x0130 -> [0x0069, 0x0307] - store(changetype(codes) + (j << 1), (0x0307 << 16) | 0x0069); - ++j; - } else if (c == 0x03A3) { // '\u03A3' - // \u03A3 maps to \u03C3 but except at the end of a word where it maps to \u03C2 - let sigma = 0x03C3; // \u03C3 - if (len > 1 && isFinalSigma(changetype(this), i, len)) { - sigma = 0x03C2; // \u03C2 - } - store(changetype(codes) + (j << 1), sigma); - } else if (c - 0x24B6 <= 0x24CF - 0x24B6) { - // Range 0x24B6 <= c <= 0x24CF not covered by casemap and require special early handling - store(changetype(codes) + (j << 1), c + 26); - } else { - let code = casemap(c, 0) & 0x1FFFFF; - if (code < 0x10000) { - store(changetype(codes) + (j << 1), code); - } else { - // store as surrogare pair - code -= 0x10000; - let lo = (code >>> 10) | 0xD800; - let hi = (code & 0x03FF) | 0xDC00; - store(changetype(codes) + (j << 1), lo | (hi << 16)); - ++j; - } - } - } - } - return changetype(__renew(changetype(codes), j << 1)); - } - - toUpperCase(): String { - let len = this.length; - if (!len) return this; - let codes = changetype(__new(len * 3 * 2, idof())); - let specialsPtr = changetype(SPECIALS_UPPER); - let specialsLen = SPECIALS_UPPER.length; - let j: usize = 0; - for (let i: usize = 0; i < len; ++i, ++j) { - let c = load(changetype(this) + (i << 1)); - if (isAscii(c)) { - store(changetype(codes) + (j << 1), toUpper8(c)); - } else { - // check and read surrogate pair - if ((c - 0xD7FF < 0xDC00 - 0xD7FF) && i < len - 1) { - let c1 = load(changetype(this) + (i << 1), 2); - if (c1 - 0xDBFF < 0xE000 - 0xDBFF) { - let c0 = c; - c = (((c & 0x03FF) << 10) | (c1 & 0x03FF)) + 0x10000; - ++i; - if (c >= 0x20000) { - store(changetype(codes) + (j << 1), c0 | (c1 << 16)); - ++j; - continue; - } - } - } - // Range 0x24D0 <= c <= 0x24E9 not covered by casemap and require special early handling - if (c - 0x24D0 <= 0x24E9 - 0x24D0) { - // monkey patch - store(changetype(codes) + (j << 1), c - 26); - } else { - let index: usize = -1; - // Fast range check. See first and last rows in specialsUpper table - if (c - 0x00DF <= 0xFB17 - 0x00DF) { - index = bsearch(c, specialsPtr, specialsLen); - } - if (~index) { - // load next 3 code points from row with \`index\` offset for specialsUpper table - let ab = load(specialsPtr + (index << 1), 2); - let cc = load(specialsPtr + (index << 1), 6); - store(changetype(codes) + (j << 1), ab, 0); - store(changetype(codes) + (j << 1), cc, 4); - j += 1 + usize(cc != 0); - } else { - let code = casemap(c, 1) & 0x1FFFFF; - if (code < 0x10000) { - store(changetype(codes) + (j << 1), code); - } else { - // store as surrogare pair - code -= 0x10000; - let lo = (code >>> 10) | 0xD800; - let hi = (code & 0x03FF) | 0xDC00; - store(changetype(codes) + (j << 1), lo | (hi << 16)); - ++j; - } - } - } - } - } - return changetype(__renew(changetype(codes), j << 1)); - } - - toString(): String { - return this; - } -} - -// @ts-ignore: nolib -export type string = String; - -export function parseInt(str: string, radix: i32 = 0): f64 { - return strtol(str, radix); -} - -export function parseFloat(str: string): f64 { - return strtod(str); -} - -// Encoding helpers -export namespace String { - - export namespace UTF8 { - - export const enum ErrorMode { - WTF8, - REPLACE, - ERROR - } - - export function byteLength(str: string, nullTerminated: bool = false): i32 { - let strOff = changetype(str); - let strEnd = strOff + changetype(changetype(str) - TOTAL_OVERHEAD).rtSize; - let bufLen = i32(nullTerminated); - while (strOff < strEnd) { - let c1 = load(strOff); - if (c1 < 128) { - // @ts-ignore: cast - if (nullTerminated & !c1) break; - bufLen += 1; - } else if (c1 < 2048) { - bufLen += 2; - } else { - if ((c1 & 0xFC00) == 0xD800 && strOff + 2 < strEnd) { - if ((load(strOff, 2) & 0xFC00) == 0xDC00) { - bufLen += 4; strOff += 4; - continue; - } - } - bufLen += 3; - } - strOff += 2; - } - return bufLen; - } - - export function encode(str: string, nullTerminated: bool = false, errorMode: ErrorMode = ErrorMode.WTF8): ArrayBuffer { - let buf = changetype(__new(byteLength(str, nullTerminated), idof())); - encodeUnsafe(changetype(str), str.length, changetype(buf), nullTerminated, errorMode); - return buf; - } - - // @ts-ignore: decorator - @unsafe - export function encodeUnsafe(str: usize, len: i32, buf: usize, nullTerminated: bool = false, errorMode: ErrorMode = ErrorMode.WTF8): usize { - let strEnd = str + (len << 1); - let bufOff = buf; - while (str < strEnd) { - let c1 = load(str); - if (c1 < 128) { - store(bufOff, c1); - bufOff++; - // @ts-ignore: cast - if (nullTerminated & !c1) return bufOff - buf; - } else if (c1 < 2048) { - let b0 = c1 >> 6 | 192; - let b1 = c1 & 63 | 128; - store(bufOff, b1 << 8 | b0); - bufOff += 2; - } else { - // D800: 11011 0 0000000000 Lead - // DBFF: 11011 0 1111111111 - // DC00: 11011 1 0000000000 Trail - // DFFF: 11011 1 1111111111 - // F800: 11111 0 0000000000 Mask - // FC00: 11111 1 0000000000 - if ((c1 & 0xF800) == 0xD800) { - if (c1 < 0xDC00 && str + 2 < strEnd) { - let c2 = load(str, 2); - if ((c2 & 0xFC00) == 0xDC00) { - c1 = 0x10000 + ((c1 & 0x03FF) << 10) | (c2 & 0x03FF); - let b0 = c1 >> 18 | 240; - let b1 = c1 >> 12 & 63 | 128; - let b2 = c1 >> 6 & 63 | 128; - let b3 = c1 & 63 | 128; - store(bufOff, b3 << 24 | b2 << 16 | b1 << 8 | b0); - bufOff += 4; str += 4; - continue; - } - } - if (errorMode != ErrorMode.WTF8) { // unlikely - if (errorMode == ErrorMode.ERROR) throw new Error(E_UNPAIRED_SURROGATE); - c1 = 0xFFFD; - } - } - let b0 = c1 >> 12 | 224; - let b1 = c1 >> 6 & 63 | 128; - let b2 = c1 & 63 | 128; - store(bufOff, b1 << 8 | b0); - store(bufOff, b2, 2); - bufOff += 3; - } - str += 2; - } - if (nullTerminated) { - store(bufOff++, 0); - } - return bufOff - buf; - } - - export function decode(buf: ArrayBuffer, nullTerminated: bool = false): String { - return decodeUnsafe(changetype(buf), buf.byteLength, nullTerminated); - } - - // @ts-ignore: decorator - @unsafe - export function decodeUnsafe(buf: usize, len: usize, nullTerminated: bool = false): String { - let bufOff = buf; - let bufEnd = buf + len; - assert(bufEnd >= bufOff); // guard wraparound - let str = changetype(__new(len << 1, idof())); // max is one u16 char per u8 byte - let strOff = changetype(str); - while (bufOff < bufEnd) { - let u0 = load(bufOff); ++bufOff; - if (!(u0 & 128)) { - // @ts-ignore: cast - if (nullTerminated & !u0) break; - store(strOff, u0); - } else { - if (bufEnd == bufOff) break; - let u1 = load(bufOff) & 63; ++bufOff; - if ((u0 & 224) == 192) { - store(strOff, (u0 & 31) << 6 | u1); - } else { - if (bufEnd == bufOff) break; - let u2 = load(bufOff) & 63; ++bufOff; - if ((u0 & 240) == 224) { - u0 = (u0 & 15) << 12 | u1 << 6 | u2; - } else { - if (bufEnd == bufOff) break; - u0 = (u0 & 7) << 18 | u1 << 12 | u2 << 6 | load(bufOff) & 63; - ++bufOff; - } - if (u0 < 0x10000) { - store(strOff, u0); - } else { - u0 -= 0x10000; - let lo = u0 >> 10 | 0xD800; - let hi = (u0 & 0x03FF) | 0xDC00; - store(strOff, lo | (hi << 16)); - strOff += 2; - } - } - } - strOff += 2; - } - return changetype(__renew(changetype(str), strOff - changetype(str))); - } - } - - export namespace UTF16 { - - export function byteLength(str: string): i32 { - return changetype(changetype(str) - TOTAL_OVERHEAD).rtSize; - } - - export function encode(str: string): ArrayBuffer { - let buf = changetype(__new(byteLength(str), idof())); - encodeUnsafe(changetype(str), str.length, changetype(buf)); - return buf; - } - - // @ts-ignore: decorator - @unsafe - export function encodeUnsafe(str: usize, len: i32, buf: usize): usize { - let size = len << 1; - memory.copy(buf, changetype(str), size); - return size; - } - - export function decode(buf: ArrayBuffer): String { - return decodeUnsafe(changetype(buf), buf.byteLength); - } - - // @ts-ignore: decorator - @unsafe - export function decodeUnsafe(buf: usize, len: usize): String { - let str = changetype(__new(len &= ~1, idof())); - memory.copy(changetype(str), buf, len); - return str; - } - } -} - -export class TemplateStringsArray extends Array { - readonly raw: string[]; -} -`,symbol:`import { Map } from "./map"; - -// @ts-ignore: decorator -@lazy let stringToId: Map = new Map(); - -// @ts-ignore: decorator -@lazy let idToString: Map = new Map(); - -// @ts-ignore: decorator -@lazy let nextId: usize = 12; // Symbol.unscopables + 1 - -@unmanaged @final abstract class _Symbol { - - // TODO: all of the following default symbols are unused currently yet add to - // binary size if #toString becomes compiled. Ultimately we'll most likely want - // to remove the unsupported ones and only keep what's actually supported. - - // @ts-ignore: decorator - @lazy - static readonly hasInstance: symbol = changetype(1); - - // @ts-ignore: decorator - @lazy - static readonly isConcatSpreadable: symbol = changetype(2); - - // @ts-ignore: decorator - @lazy - static readonly isRegExp: symbol = changetype(3); - - // @ts-ignore: decorator - @lazy - static readonly iterator: symbol = changetype(3); - - // @ts-ignore: decorator - @lazy - static readonly match: symbol = changetype(4); - - // @ts-ignore: decorator - @lazy - static readonly replace: symbol = changetype(5); - - // @ts-ignore: decorator - @lazy - static readonly search: symbol = changetype(6); - - // @ts-ignore: decorator - @lazy - static readonly species: symbol = changetype(7); - - // @ts-ignore: decorator - @lazy - static readonly split: symbol = changetype(8); - - // @ts-ignore: decorator - @lazy - static readonly toPrimitive: symbol = changetype(9); - - // @ts-ignore: decorator - @lazy - static readonly toStringTag: symbol = changetype(10); - - // @ts-ignore: decorator - @lazy - static readonly unscopables: symbol = changetype(11); - - static for(key: string): symbol { - if (stringToId.has(key)) return changetype(stringToId.get(key)); - let id = nextId++; - if (!id) unreachable(); // out of ids - stringToId.set(key, id); - idToString.set(id, key); - return changetype(id); - } - - static keyFor(sym: symbol): string | null { - return idToString.has(changetype(sym)) - ? idToString.get(changetype(sym)) - : null; - } - - toString(): string { - let id = changetype(this); - let str = ""; - switch (id) { - case 1: { str = "hasInstance"; break; } - case 2: { str = "isConcatSpreadable"; break; } - case 3: { str = "isRegExp"; break; } - case 4: { str = "match"; break; } - case 5: { str = "replace"; break; } - case 6: { str = "search"; break; } - case 7: { str = "species"; break; } - case 8: { str = "split"; break; } - case 9: { str = "toPrimitive"; break; } - case 10: { str = "toStringTag"; break; } - case 11: { str = "unscopables"; break; } - default: { - if (idToString != null && idToString.has(id)) str = idToString.get(id); - break; - } - } - return "Symbol(" + str + ")"; - } -} - -export function Symbol(description: string | null = null): symbol { - let id = nextId++; - if (!id) unreachable(); // out of ids - return changetype(id); -} - -export type Symbol = _Symbol; - -// @ts-ignore: nolib -export type symbol = _Symbol; -`,table:`import { E_NOTIMPLEMENTED } from "./util/error"; - -export namespace table { - - export function copy(dst: u32, src: u32, n: u32): void { - throw new Error(E_NOTIMPLEMENTED); - } - - export function init(elementIndex: u32, srcOffset: u32, dstOffset: u32, n: u32): void { - throw new Error(E_NOTIMPLEMENTED); - } - - export function drop(elementIndex: u32): void { - throw new Error(E_NOTIMPLEMENTED); - } -} -`,typedarray:`import { COMPARATOR, SORT } from "./util/sort"; -import { E_INDEXOUTOFRANGE, E_INVALIDLENGTH, E_NOTIMPLEMENTED } from "./util/error"; -import { joinIntegerArray, joinFloatArray } from "./util/string"; -import { REVERSE, FILL } from "./util/bytes"; -import { idof } from "./builtins"; -import { ArrayBufferView } from "./arraybuffer"; - -export class Int8Array extends ArrayBufferView { - [key: number]: i8; - - // @ts-ignore: decorator - @lazy - static readonly BYTES_PER_ELEMENT: i32 = sizeof(); - - constructor(length: i32) { - super(length, alignof()); - } - - get length(): i32 { - return this.byteLength; - } - - @operator("[]") - private __get(index: i32): i8 { - if (index >= this.byteLength) throw new RangeError(E_INDEXOUTOFRANGE); - return load(this.dataStart + index); - } - - @unsafe @operator("{}") - private __uget(index: i32): i8 { - return load(this.dataStart + index); - } - - @operator("[]=") - private __set(index: i32, value: native): void { - if (index >= this.byteLength) throw new RangeError(E_INDEXOUTOFRANGE); - store(this.dataStart + index, value); - } - - @unsafe @operator("{}=") - private __uset(index: i32, value: native): void { - store(this.dataStart + index, value); - } - - at(index: i32): i8 { - let len = this.byteLength; - index += select(0, len, index >= 0); - if (index >= len) throw new RangeError(E_INDEXOUTOFRANGE); - return load(this.dataStart + index); - } - - includes(searchElement: i8, fromIndex: i32 = 0): bool { - return INCLUDES(this, searchElement, fromIndex); - } - - indexOf(searchElement: i8, fromIndex: i32 = 0): i32 { - return INDEX_OF(this, searchElement, fromIndex); - } - - lastIndexOf(searchElement: i8, fromIndex: i32 = this.length): i32 { - return LAST_INDEX_OF(this, searchElement, fromIndex); - } - - fill(value: i32, start: i32 = 0, end: i32 = i32.MAX_VALUE): Int8Array { - FILL(this.dataStart, this.length, u8(value), start, end); - return this; - } - - sort(comparator: (a: i8, b: i8) => i32 = COMPARATOR()): Int8Array { - SORT(this.dataStart, this.length, comparator); - return this; - } - - slice(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Int8Array { - return SLICE(this, begin, end); - } - - subarray(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Int8Array { - return SUBARRAY(this, begin, end); - } - - copyWithin(target: i32, start: i32, end: i32 = i32.MAX_VALUE): Int8Array { - return COPY_WITHIN(this, target, start, end); - } - - reduce( - fn: (accumulator: T, value: i8, index: i32, array: Int8Array) => T, - initialValue: T, - ): T { - return REDUCE(this, fn, initialValue); - } - - reduceRight( - fn: (accumulator: T, value: i8, index: i32, array: Int8Array) => T, - initialValue: T, - ): T { - return REDUCE_RIGHT(this, fn, initialValue); - } - - map(fn: (value: i8, index: i32, self: Int8Array) => i8): Int8Array { - return MAP(this, fn); - } - - filter(fn: (value: i8, index: i32, self: Int8Array) => bool): Int8Array { - return FILTER(this, fn); - } - - findIndex(fn: (value: i8, index: i32, self: Int8Array) => bool): i32 { - return FIND_INDEX(this, fn); - } - - findLastIndex(fn: (value: i8, index: i32, self: Int8Array) => bool): i32 { - return FIND_LAST_INDEX(this, fn); - } - - some(fn: (value: i8, index: i32, self: Int8Array) => bool): bool { - return SOME(this, fn); - } - - every(fn: (value: i8, index: i32, self: Int8Array) => bool): bool { - return EVERY(this, fn); - } - - forEach(fn: (value: i8, index: i32, self: Int8Array) => void): void { - FOREACH(this, fn); - } - - reverse(): Int8Array { - REVERSE(this.dataStart, this.length); - return this; - } - - join(separator: string = ","): string { - return joinIntegerArray(this.dataStart, this.length, separator); - } - - toString(): string { - return this.join(); - } - - set>(source: U, offset: i32 = 0): void { - SET(this, source, offset); - } - - static wrap(buffer: ArrayBuffer, byteOffset: i32 = 0, length: i32 = -1): Int8Array { - return WRAP(buffer, byteOffset, length); - } -} - -export class Uint8Array extends ArrayBufferView { - [key: number]: u8; - - // @ts-ignore: decorator - @lazy - static readonly BYTES_PER_ELEMENT: i32 = sizeof(); - - constructor(length: i32) { - super(length, alignof()); - } - - get length(): i32 { - return this.byteLength; - } - - @operator("[]") - private __get(index: i32): u8 { - if (index >= this.byteLength) throw new RangeError(E_INDEXOUTOFRANGE); - return load(this.dataStart + index); - } - - @unsafe @operator("{}") - private __uget(index: i32): u8 { - return load(this.dataStart + index); - } - - @operator("[]=") - private __set(index: i32, value: native): void { - if (index >= this.byteLength) throw new RangeError(E_INDEXOUTOFRANGE); - store(this.dataStart + index, value); - } - - @unsafe @operator("{}=") - private __uset(index: i32, value: native): void { - store(this.dataStart + index, value); - } - - at(index: i32): u8 { - let len = this.byteLength; - index += select(0, len, index >= 0); - if (index >= len) throw new RangeError(E_INDEXOUTOFRANGE); - return load(this.dataStart + index); - } - - includes(searchElement: u8, fromIndex: i32 = 0): bool { - return INCLUDES(this, searchElement, fromIndex); - } - - indexOf(searchElement: u8, fromIndex: i32 = 0): i32 { - return INDEX_OF(this, searchElement, fromIndex); - } - - lastIndexOf(searchElement: u8, fromIndex: i32 = this.length): i32 { - return LAST_INDEX_OF(this, searchElement, fromIndex); - } - - fill(value: u32, start: i32 = 0, end: i32 = i32.MAX_VALUE): Uint8Array { - FILL(this.dataStart, this.length, u8(value), start, end); - return this; - } - - sort(comparator: (a: u8, b: u8) => i32 = COMPARATOR()): Uint8Array { - SORT(this.dataStart, this.length, comparator); - return this; - } - - slice(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Uint8Array { - return SLICE(this, begin, end); - } - - subarray(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Uint8Array { - return SUBARRAY(this, begin, end); - } - - copyWithin(target: i32, start: i32, end: i32 = i32.MAX_VALUE): Uint8Array { - return COPY_WITHIN(this, target, start, end); - } - - reduce( - fn: (accumulator: T, value: u8, index: i32, array: Uint8Array) => T, - initialValue: T, - ): T { - return REDUCE(this, fn, initialValue); - } - - reduceRight( - fn: (accumulator: T, value: u8, index: i32, array: Uint8Array) => T, - initialValue: T, - ): T { - return REDUCE_RIGHT(this, fn, initialValue); - } - - map(fn: (value: u8, index: i32, self: Uint8Array) => u8): Uint8Array { - return MAP(this, fn); - } - - filter(fn: (value: u8, index: i32, self: Uint8Array) => bool): Uint8Array { - return FILTER(this, fn); - } - - findIndex(fn: (value: u8, index: i32, self: Uint8Array) => bool): i32 { - return FIND_INDEX(this, fn); - } - - findLastIndex(fn: (value: u8, index: i32, self: Uint8Array) => bool): i32 { - return FIND_LAST_INDEX(this, fn); - } - - some(fn: (value: u8, index: i32, self: Uint8Array) => bool): bool { - return SOME(this, fn); - } - - every(fn: (value: u8, index: i32, self: Uint8Array) => bool): bool { - return EVERY(this, fn); - } - - forEach(fn: (value: u8, index: i32, self: Uint8Array) => void): void { - FOREACH(this, fn); - } - - reverse(): Uint8Array { - REVERSE(this.dataStart, this.length); - return this; - } - - join(separator: string = ","): string { - return joinIntegerArray(this.dataStart, this.length, separator); - } - - set>(source: U, offset: i32 = 0): void { - SET(this, source, offset); - } - - toString(): string { - return this.join(); - } - - static wrap(buffer: ArrayBuffer, byteOffset: i32 = 0, length: i32 = -1): Uint8Array { - return WRAP(buffer, byteOffset, length); - } -} - -export class Uint8ClampedArray extends ArrayBufferView { - [key: number]: u8; - - // @ts-ignore: decorator - @lazy - static readonly BYTES_PER_ELEMENT: i32 = sizeof(); - - constructor(length: i32) { - super(length, alignof()); - } - - get length(): i32 { - return this.byteLength; - } - - @operator("[]") - private __get(index: i32): u8 { - if (index >= this.byteLength) throw new RangeError(E_INDEXOUTOFRANGE); - return load(this.dataStart + index); - } - - @unsafe @operator("{}") - private __uget(index: i32): u8 { - return load(this.dataStart + index); - } - - @operator("[]=") - private __set(index: i32, value: native): void { - if (index >= this.byteLength) throw new RangeError(E_INDEXOUTOFRANGE); - store(this.dataStart + index, ~(value >> 31) & (((255 - value) >> 31) | value)); - } - - @unsafe @operator("{}=") - private __uset(index: i32, value: native): void { - store(this.dataStart + index, ~(value >> 31) & (((255 - value) >> 31) | value)); - } - - at(index: i32): u8 { - let len = this.byteLength; - index += select(0, len, index >= 0); - if (index >= len) throw new RangeError(E_INDEXOUTOFRANGE); - return load(this.dataStart + index); - } - - includes(searchElement: u8, fromIndex: i32 = 0): bool { - return INCLUDES(this, searchElement, fromIndex); - } - - indexOf(searchElement: u8, fromIndex: i32 = 0): i32 { - return INDEX_OF(this, searchElement, fromIndex); - } - - lastIndexOf(searchElement: u8, fromIndex: i32 = this.length): i32 { - return LAST_INDEX_OF(this, searchElement, fromIndex); - } - - fill(value: i32, start: i32 = 0, end: i32 = i32.MAX_VALUE): Uint8ClampedArray { - value = ~(value >> 31) & (((255 - value) >> 31) | value); - FILL(this.dataStart, this.length, u8(value), start, end); - return this; - } - - sort(comparator: (a: u8, b: u8) => i32 = COMPARATOR()): Uint8ClampedArray { - SORT(this.dataStart, this.length, comparator); - return this; - } - - slice(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Uint8ClampedArray { - return SLICE(this, begin, end); - } - - subarray(start: i32 = 0, end: i32 = i32.MAX_VALUE): Uint8ClampedArray { - return SUBARRAY(this, start, end); - } - - copyWithin(target: i32, start: i32, end: i32 = i32.MAX_VALUE): Uint8ClampedArray { - return COPY_WITHIN(this, target, start, end); - } - - reduce( - fn: (accumulator: T, value: u8, index: i32, array: Uint8ClampedArray) => T, - initialValue: T, - ): T { - return REDUCE(this, fn, initialValue); - } - - reduceRight( - fn: (accumulator: T, value: u8, index: i32, array: Uint8ClampedArray) => T, - initialValue: T, - ): T { - return REDUCE_RIGHT(this, fn, initialValue); - } - - map(fn: (value: u8, index: i32, self: Uint8ClampedArray) => u8): Uint8ClampedArray { - return MAP(this, fn); - } - - filter(fn: (value: u8, index: i32, self: Uint8ClampedArray) => bool): Uint8ClampedArray { - return FILTER(this, fn); - } - - findIndex(fn: (value: u8, index: i32, self: Uint8ClampedArray) => bool): i32 { - return FIND_INDEX(this, fn); - } - - findLastIndex(fn: (value: u8, index: i32, self: Uint8ClampedArray) => bool): i32 { - return FIND_LAST_INDEX(this, fn); - } - - some(fn: (value: u8, index: i32, self: Uint8ClampedArray) => bool): bool { - return SOME(this, fn); - } - - every(fn: (value: u8, index: i32, self: Uint8ClampedArray) => bool): bool { - return EVERY(this, fn); - } - - forEach(fn: (value: u8, index: i32, self: Uint8ClampedArray) => void): void { - FOREACH(this, fn); - } - - reverse(): Uint8ClampedArray { - REVERSE(this.dataStart, this.length); - return this; - } - - join(separator: string = ","): string { - return joinIntegerArray(this.dataStart, this.length, separator); - } - - set>(source: U, offset: i32 = 0): void { - SET(this, source, offset); - } - - toString(): string { - return this.join(); - } - - static wrap(buffer: ArrayBuffer, byteOffset: i32 = 0, length: i32 = -1): Uint8ClampedArray { - return WRAP(buffer, byteOffset, length); - } -} - -export class Int16Array extends ArrayBufferView { - [key: number]: i16; - - // @ts-ignore: decorator - @lazy - static readonly BYTES_PER_ELEMENT: i32 = sizeof(); - - constructor(length: i32) { - super(length, alignof()); - } - - get length(): i32 { - return this.byteLength >>> alignof(); - } - - @operator("[]") - private __get(index: i32): i16 { - if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE); - return load(this.dataStart + (index << alignof())); - } - - @unsafe @operator("{}") - private __uget(index: i32): i16 { - return load(this.dataStart + (index << alignof())); - } - - @operator("[]=") - private __set(index: i32, value: native): void { - if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE); - store(this.dataStart + (index << alignof()), value); - } - - @unsafe @operator("{}=") - private __uset(index: i32, value: native): void { - store(this.dataStart + (index << alignof()), value); - } - - at(index: i32): i16 { - let len = this.byteLength >>> alignof(); - index += select(0, len, index >= 0); - if (index >= len) throw new RangeError(E_INDEXOUTOFRANGE); - return load(this.dataStart + (index << alignof())); - } - - includes(searchElement: i16, fromIndex: i32 = 0): bool { - return INCLUDES(this, searchElement, fromIndex); - } - - indexOf(searchElement: i16, fromIndex: i32 = 0): i32 { - return INDEX_OF(this, searchElement, fromIndex); - } - - lastIndexOf(searchElement: i16, fromIndex: i32 = this.length): i32 { - return LAST_INDEX_OF(this, searchElement, fromIndex); - } - - fill(value: i32, start: i32 = 0, end: i32 = i32.MAX_VALUE): Int16Array { - FILL(this.dataStart, this.length, u16(value), start, end); - return this; - } - - sort(comparator: (a: i16, b: i16) => i32 = COMPARATOR()): Int16Array { - SORT(this.dataStart, this.length, comparator); - return this; - } - - slice(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Int16Array { - return SLICE(this, begin, end); - } - - subarray(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Int16Array { - return SUBARRAY(this, begin, end); - } - - copyWithin(target: i32, start: i32, end: i32 = i32.MAX_VALUE): Int16Array { - return COPY_WITHIN(this, target, start, end); - } - - reduce( - fn: (accumulator: T, value: i16, index: i32, array: Int16Array) => T, - initialValue: T, - ): T { - return REDUCE(this, fn, initialValue); - } - - reduceRight( - fn: (accumulator: T, value: i16, index: i32, array: Int16Array) => T, - initialValue: T, - ): T { - return REDUCE_RIGHT(this, fn, initialValue); - } - - map(fn: (value: i16, index: i32, self: Int16Array) => i16): Int16Array { - return MAP(this, fn); - } - - filter(fn: (value: i16, index: i32, self: Int16Array) => bool): Int16Array { - return FILTER(this, fn); - } - - findIndex(fn: (value: i16, index: i32, self: Int16Array) => bool): i32 { - return FIND_INDEX(this, fn); - } - - findLastIndex(fn: (value: i16, index: i32, self: Int16Array) => bool): i32 { - return FIND_LAST_INDEX(this, fn); - } - - some(fn: (value: i16, index: i32, self: Int16Array) => bool): bool { - return SOME(this, fn); - } - - every(fn: (value: i16, index: i32, self: Int16Array) => bool): bool { - return EVERY(this, fn); - } - - forEach(fn: (value: i16, index: i32, self: Int16Array) => void): void { - FOREACH(this, fn); - } - - reverse(): Int16Array { - REVERSE(this.dataStart, this.length); - return this; - } - - join(separator: string = ","): string { - return joinIntegerArray(this.dataStart, this.length, separator); - } - - set>(source: U, offset: i32 = 0): void { - SET(this, source, offset); - } - - toString(): string { - return this.join(); - } - - static wrap(buffer: ArrayBuffer, byteOffset: i32 = 0, length: i32 = -1): Int16Array { - return WRAP(buffer, byteOffset, length); - } -} - -export class Uint16Array extends ArrayBufferView { - [key: number]: u16; - - // @ts-ignore: decorator - @lazy - static readonly BYTES_PER_ELEMENT: i32 = sizeof(); - - constructor(length: i32) { - super(length, alignof()); - } - - get length(): i32 { - return this.byteLength >>> alignof(); - } - - @operator("[]") - private __get(index: i32): u16 { - if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE); - return load(this.dataStart + (index << alignof())); - } - - @unsafe @operator("{}") - private __uget(index: i32): u16 { - return load(this.dataStart + (index << alignof())); - } - - @operator("[]=") - private __set(index: i32, value: native): void { - if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE); - store(this.dataStart + (index << alignof()), value); - } - - @unsafe @operator("{}=") - private __uset(index: i32, value: native): void { - store(this.dataStart + (index << alignof()), value); - } - - at(index: i32): u16 { - let len = this.byteLength >>> alignof(); - index += select(0, len, index >= 0); - if (index >= len) throw new RangeError(E_INDEXOUTOFRANGE); - return load(this.dataStart + (index << alignof())); - } - - includes(searchElement: u16, fromIndex: i32 = 0): bool { - return INCLUDES(this, searchElement, fromIndex); - } - - indexOf(searchElement: u16, fromIndex: i32 = 0): i32 { - return INDEX_OF(this, searchElement, fromIndex); - } - - lastIndexOf(searchElement: u16, fromIndex: i32 = this.length): i32 { - return LAST_INDEX_OF(this, searchElement, fromIndex); - } - - fill(value: u32, start: i32 = 0, end: i32 = i32.MAX_VALUE): Uint16Array { - FILL(this.dataStart, this.length, u16(value), start, end); - return this; - } - - sort(comparator: (a: u16, b: u16) => i32 = COMPARATOR()): Uint16Array { - SORT(this.dataStart, this.length, comparator); - return this; - } - - slice(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Uint16Array { - return SLICE(this, begin, end); - } - - subarray(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Uint16Array { - return SUBARRAY(this, begin, end); - } - - copyWithin(target: i32, start: i32, end: i32 = i32.MAX_VALUE): Uint16Array { - return COPY_WITHIN(this, target, start, end); - } - - reduce( - fn: (accumulator: T, value: u16, index: i32, array: Uint16Array) => T, - initialValue: T, - ): T { - return REDUCE(this, fn, initialValue); - } - - reduceRight( - fn: (accumulator: T, value: u16, index: i32, array: Uint16Array) => T, - initialValue: T, - ): T { - return REDUCE_RIGHT(this, fn, initialValue); - } - - map(fn: (value: u16, index: i32, self: Uint16Array) => u16): Uint16Array { - return MAP(this, fn); - } - - filter(fn: (value: u16, index: i32, self: Uint16Array) => bool): Uint16Array { - return FILTER(this, fn); - } - - findIndex(fn: (value: u16, index: i32, self: Uint16Array) => bool): i32 { - return FIND_INDEX(this, fn); - } - - findLastIndex(fn: (value: u16, index: i32, self: Uint16Array) => bool): i32 { - return FIND_LAST_INDEX(this, fn); - } - - some(fn: (value: u16, index: i32, self: Uint16Array) => bool): bool { - return SOME(this, fn); - } - - every(fn: (value: u16, index: i32, self: Uint16Array) => bool): bool { - return EVERY(this, fn); - } - - forEach(fn: (value: u16, index: i32, self: Uint16Array) => void): void { - FOREACH(this, fn); - } - - reverse(): Uint16Array { - REVERSE(this.dataStart, this.length); - return this; - } - - join(separator: string = ","): string { - return joinIntegerArray(this.dataStart, this.length, separator); - } - - set>(source: U, offset: i32 = 0): void { - SET(this, source, offset); - } - - toString(): string { - return this.join(); - } - - static wrap(buffer: ArrayBuffer, byteOffset: i32 = 0, length: i32 = -1): Uint16Array { - return WRAP(buffer, byteOffset, length); - } -} - -export class Int32Array extends ArrayBufferView { - [key: number]: i32; - - // @ts-ignore: decorator - @lazy - static readonly BYTES_PER_ELEMENT: i32 = sizeof(); - - constructor(length: i32) { - super(length, alignof()); - } - - get length(): i32 { - return this.byteLength >>> alignof(); - } - - @operator("[]") - private __get(index: i32): i32 { - if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE); - return load(this.dataStart + (index << alignof())); - } - - @unsafe @operator("{}") - private __uget(index: i32): i32 { - return load(this.dataStart + (index << alignof())); - } - - @operator("[]=") - private __set(index: i32, value: i32): void { - if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE); - store(this.dataStart + (index << alignof()), value); - } - - @unsafe @operator("{}=") - private __uset(index: i32, value: i32): void { - store(this.dataStart + (index << alignof()), value); - } - - at(index: i32): i32 { - let len = this.byteLength >>> alignof(); - index += select(0, len, index >= 0); - if (index >= len) throw new RangeError(E_INDEXOUTOFRANGE); - return load(this.dataStart + (index << alignof())); - } - - includes(searchElement: i32, fromIndex: i32 = 0): bool { - return INCLUDES(this, searchElement, fromIndex); - } - - indexOf(searchElement: i32, fromIndex: i32 = 0): i32 { - return INDEX_OF(this, searchElement, fromIndex); - } - - lastIndexOf(searchElement: i32, fromIndex: i32 = this.length): i32 { - return LAST_INDEX_OF(this, searchElement, fromIndex); - } - - fill(value: i32, start: i32 = 0, end: i32 = i32.MAX_VALUE): Int32Array { - FILL(this.dataStart, this.length, u32(value), start, end); - return this; - } - - sort(comparator: (a: i32, b: i32) => i32 = COMPARATOR()): Int32Array { - SORT(this.dataStart, this.length, comparator); - return this; - } - - slice(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Int32Array { - return SLICE(this, begin, end); - } - - subarray(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Int32Array { - return SUBARRAY(this, begin, end); - } - - copyWithin(target: i32, start: i32, end: i32 = i32.MAX_VALUE): Int32Array { - return COPY_WITHIN(this, target, start, end); - } - - reduce( - fn: (accumulator: T, value: i32, index: i32, array: Int32Array) => T, - initialValue: T, - ): T { - return REDUCE(this, fn, initialValue); - } - - reduceRight( - fn: (accumulator: T, value: i32, index: i32, array: Int32Array) => T, - initialValue: T, - ): T { - return REDUCE_RIGHT(this, fn, initialValue); - } - - map(fn: (value: i32, index: i32, self: Int32Array) => i32): Int32Array { - return MAP(this, fn); - } - - filter(fn: (value: i32, index: i32, self: Int32Array) => bool): Int32Array { - return FILTER(this, fn); - } - - findIndex(fn: (value: i32, index: i32, self: Int32Array) => bool): i32 { - return FIND_INDEX(this, fn); - } - - findLastIndex(fn: (value: i32, index: i32, self: Int32Array) => bool): i32 { - return FIND_LAST_INDEX(this, fn); - } - - some(fn: (value: i32, index: i32, self: Int32Array) => bool): bool { - return SOME(this, fn); - } - - every(fn: (value: i32, index: i32, self: Int32Array) => bool): bool { - return EVERY(this, fn); - } - - forEach(fn: (value: i32, index: i32, self: Int32Array) => void): void { - FOREACH(this, fn); - } - - reverse(): Int32Array { - REVERSE(this.dataStart, this.length); - return this; - } - - join(separator: string = ","): string { - return joinIntegerArray(this.dataStart, this.length, separator); - } - - set>(source: U, offset: i32 = 0): void { - SET(this, source, offset); - } - - toString(): string { - return this.join(); - } - - static wrap(buffer: ArrayBuffer, byteOffset: i32 = 0, length: i32 = -1): Int32Array { - return WRAP(buffer, byteOffset, length); - } -} - -export class Uint32Array extends ArrayBufferView { - [key: number]: u32; - - // @ts-ignore: decorator - @lazy - static readonly BYTES_PER_ELEMENT: i32 = sizeof(); - - constructor(length: i32) { - super(length, alignof()); - } - - get length(): i32 { - return this.byteLength >>> alignof(); - } - - @operator("[]") - private __get(index: i32): u32 { - if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE); - return load(this.dataStart + (index << alignof())); - } - - @unsafe @operator("{}") - private __uget(index: i32): u32 { - return load(this.dataStart + (index << alignof())); - } - - @operator("[]=") - private __set(index: i32, value: u32): void { - if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE); - store(this.dataStart + (index << alignof()), value); - } - - @unsafe @operator("{}=") - private __uset(index: i32, value: u32): void { - store(this.dataStart + (index << alignof()), value); - } - - at(index: i32): u32 { - let len = this.byteLength >>> alignof(); - index += select(0, len, index >= 0); - if (index >= len) throw new RangeError(E_INDEXOUTOFRANGE); - return load(this.dataStart + (index << alignof())); - } - - includes(searchElement: u32, fromIndex: i32 = 0): bool { - return INCLUDES(this, searchElement, fromIndex); - } - - indexOf(searchElement: u32, fromIndex: i32 = 0): i32 { - return INDEX_OF(this, searchElement, fromIndex); - } - - lastIndexOf(searchElement: u32, fromIndex: i32 = this.length): i32 { - return LAST_INDEX_OF(this, searchElement, fromIndex); - } - - fill(value: u32, start: i32 = 0, end: i32 = i32.MAX_VALUE): Uint32Array { - FILL(this.dataStart, this.length, value, start, end); - return this; - } - - sort(comparator: (a: u32, b: u32) => i32 = COMPARATOR()): Uint32Array { - SORT(this.dataStart, this.length, comparator); - return this; - } - - slice(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Uint32Array { - return SLICE(this, begin, end); - } - - subarray(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Uint32Array { - return SUBARRAY(this, begin, end); - } - - copyWithin(target: i32, start: i32, end: i32 = i32.MAX_VALUE): Uint32Array { - return COPY_WITHIN(this, target, start, end); - } - - reduce( - fn: (accumulator: T, value: u32, index: i32, array: Uint32Array) => T, - initialValue: T, - ): T { - return REDUCE(this, fn, initialValue); - } - - reduceRight( - fn: (accumulator: T, value: u32, index: i32, array: Uint32Array) => T, - initialValue: T, - ): T { - return REDUCE_RIGHT(this, fn, initialValue); - } - - map(fn: (value: u32, index: i32, self: Uint32Array) => u32): Uint32Array { - return MAP(this, fn); - } - - filter(fn: (value: u32, index: i32, self: Uint32Array) => bool): Uint32Array { - return FILTER(this, fn); - } - - findIndex(fn: (value: u32, index: i32, self: Uint32Array) => bool): i32 { - return FIND_INDEX(this, fn); - } - - findLastIndex(fn: (value: u32, index: i32, self: Uint32Array) => bool): i32 { - return FIND_LAST_INDEX(this, fn); - } - - some(fn: (value: u32, index: i32, self: Uint32Array) => bool): bool { - return SOME(this, fn); - } - - every(fn: (value: u32, index: i32, self: Uint32Array) => bool): bool { - return EVERY(this, fn); - } - - forEach(fn: (value: u32, index: i32, self: Uint32Array) => void): void { - FOREACH(this, fn); - } - - reverse(): Uint32Array { - REVERSE(this.dataStart, this.length); - return this; - } - - join(separator: string = ","): string { - return joinIntegerArray(this.dataStart, this.length, separator); - } - - set>(source: U, offset: i32 = 0): void { - SET(this, source, offset); - } - - toString(): string { - return this.join(); - } - - static wrap(buffer: ArrayBuffer, byteOffset: i32 = 0, length: i32 = -1): Uint32Array { - return WRAP(buffer, byteOffset, length); - } -} - -export class Int64Array extends ArrayBufferView { - [key: number]: i64; - - // @ts-ignore: decorator - @lazy - static readonly BYTES_PER_ELEMENT: i32 = sizeof(); - - constructor(length: i32) { - super(length, alignof()); - } - - get length(): i32 { - return this.byteLength >>> alignof(); - } - - @operator("[]") - private __get(index: i32): i64 { - if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE); - return load(this.dataStart + (index << alignof())); - } - - @unsafe @operator("{}") - private __uget(index: i32): i64 { - return load(this.dataStart + (index << alignof())); - } - - @operator("[]=") - private __set(index: i32, value: i64): void { - if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE); - store(this.dataStart + (index << alignof()), value); - } - - @unsafe @operator("{}=") - private __uset(index: i32, value: i64): void { - store(this.dataStart + (index << alignof()), value); - } - - at(index: i32): i64 { - let len = this.byteLength >>> alignof(); - index += select(0, len, index >= 0); - if (index >= len) throw new RangeError(E_INDEXOUTOFRANGE); - return load(this.dataStart + (index << alignof())); - } - - includes(searchElement: i64, fromIndex: i32 = 0): bool { - return INCLUDES(this, searchElement, fromIndex); - } - - indexOf(searchElement: i64, fromIndex: i32 = 0): i32 { - return INDEX_OF(this, searchElement, fromIndex); - } - - lastIndexOf(searchElement: i64, fromIndex: i32 = this.length): i32 { - return LAST_INDEX_OF(this, searchElement, fromIndex); - } - - fill(value: i64, start: i32 = 0, end: i32 = i32.MAX_VALUE): Int64Array { - FILL(this.dataStart, this.length, u64(value), start, end); - return this; - } - - sort(comparator: (a: i64, b: i64) => i32 = COMPARATOR()): Int64Array { - SORT(this.dataStart, this.length, comparator); - return this; - } - - slice(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Int64Array { - return SLICE(this, begin, end); - } - - subarray(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Int64Array { - return SUBARRAY(this, begin, end); - } - - copyWithin(target: i32, start: i32, end: i32 = i32.MAX_VALUE): Int64Array { - return COPY_WITHIN(this, target, start, end); - } - - reduce( - fn: (accumulator: T, value: i64, index: i32, array: Int64Array) => T, - initialValue: T, - ): T { - return REDUCE(this, fn, initialValue); - } - - reduceRight( - fn: (accumulator: T, value: i64, index: i32, array: Int64Array) => T, - initialValue: T, - ): T { - return REDUCE_RIGHT(this, fn, initialValue); - } - - map(fn: (value: i64, index: i32, self: Int64Array) => i64): Int64Array { - return MAP(this, fn); - } - - filter(fn: (value: i64, index: i32, self: Int64Array) => bool): Int64Array { - return FILTER(this, fn); - } - - findIndex(fn: (value: i64, index: i32, self: Int64Array) => bool): i32 { - return FIND_INDEX(this, fn); - } - - findLastIndex(fn: (value: i64, index: i32, self: Int64Array) => bool): i32 { - return FIND_LAST_INDEX(this, fn); - } - - some(fn: (value: i64, index: i32, self: Int64Array) => bool): bool { - return SOME(this, fn); - } - - every(fn: (value: i64, index: i32, self: Int64Array) => bool): bool { - return EVERY(this, fn); - } - - forEach(fn: (value: i64, index: i32, self: Int64Array) => void): void { - FOREACH(this, fn); - } - - reverse(): Int64Array { - REVERSE(this.dataStart, this.length); - return this; - } - - join(separator: string = ","): string { - return joinIntegerArray(this.dataStart, this.length, separator); - } - - set>(source: U, offset: i32 = 0): void { - SET(this, source, offset); - } - - toString(): string { - return this.join(); - } - - static wrap(buffer: ArrayBuffer, byteOffset: i32 = 0, length: i32 = -1): Int64Array { - return WRAP(buffer, byteOffset, length); - } -} - -export class Uint64Array extends ArrayBufferView { - [key: number]: u64; - - // @ts-ignore: decorator - @lazy - static readonly BYTES_PER_ELEMENT: i32 = sizeof(); - - constructor(length: i32) { - super(length, alignof()); - } - - get length(): i32 { - return this.byteLength >>> alignof(); - } - - @operator("[]") - private __get(index: i32): u64 { - if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE); - return load(this.dataStart + (index << alignof())); - } - - @unsafe @operator("{}") - private __uget(index: i32): u64 { - return load(this.dataStart + (index << alignof())); - } - - @operator("[]=") - private __set(index: i32, value: u64): void { - if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE); - store(this.dataStart + (index << alignof()), value); - } - - @unsafe @operator("{}=") - private __uset(index: i32, value: u64): void { - store(this.dataStart + (index << alignof()), value); - } - - at(index: i32): u64 { - let len = this.byteLength >>> alignof(); - index += select(0, len, index >= 0); - if (index >= len) throw new RangeError(E_INDEXOUTOFRANGE); - return load(this.dataStart + (index << alignof())); - } - - includes(searchElement: u64, fromIndex: i32 = 0): bool { - return INCLUDES(this, searchElement, fromIndex); - } - - indexOf(searchElement: u64, fromIndex: i32 = 0): i32 { - return INDEX_OF(this, searchElement, fromIndex); - } - - lastIndexOf(searchElement: u64, fromIndex: i32 = this.length): i32 { - return LAST_INDEX_OF(this, searchElement, fromIndex); - } - - fill(value: u64, start: i32 = 0, end: i32 = i32.MAX_VALUE): Uint64Array { - FILL(this.dataStart, this.length, value, start, end); - return this; - } - - sort(comparator: (a: u64, b: u64) => i32 = COMPARATOR()): Uint64Array { - SORT(this.dataStart, this.length, comparator); - return this; - } - - slice(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Uint64Array { - return SLICE(this, begin, end); - } - - subarray(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Uint64Array { - return SUBARRAY(this, begin, end); - } - - copyWithin(target: i32, start: i32, end: i32 = i32.MAX_VALUE): Uint64Array { - return COPY_WITHIN(this, target, start, end); - } - - reduce( - fn: (accumulator: T, value: u64, index: i32, array: Uint64Array) => T, - initialValue: T, - ): T { - return REDUCE(this, fn, initialValue); - } - - reduceRight( - fn: (accumulator: T, value: u64, index: i32, array: Uint64Array) => T, - initialValue: T, - ): T { - return REDUCE_RIGHT(this, fn, initialValue); - } - - map(fn: (value: u64, index: i32, self: Uint64Array) => u64): Uint64Array { - return MAP(this, fn); - } - - filter(fn: (value: u64, index: i32, self: Uint64Array) => bool): Uint64Array { - return FILTER(this, fn); - } - - findIndex(fn: (value: u64, index: i32, self: Uint64Array) => bool): i32 { - return FIND_INDEX(this, fn); - } - - findLastIndex(fn: (value: u64, index: i32, self: Uint64Array) => bool): i32 { - return FIND_LAST_INDEX(this, fn); - } - - some(fn: (value: u64, index: i32, self: Uint64Array) => bool): bool { - return SOME(this, fn); - } - - every(fn: (value: u64, index: i32, self: Uint64Array) => bool): bool { - return EVERY(this, fn); - } - - forEach(fn: (value: u64, index: i32, self: Uint64Array) => void): void { - FOREACH(this, fn); - } - - reverse(): Uint64Array { - REVERSE(this.dataStart, this.length); - return this; - } - - join(separator: string = ","): string { - return joinIntegerArray(this.dataStart, this.length, separator); - } - - set>(source: U, offset: i32 = 0): void { - SET(this, source, offset); - } - - toString(): string { - return this.join(); - } - - static wrap(buffer: ArrayBuffer, byteOffset: i32 = 0, length: i32 = -1): Uint64Array { - return WRAP(buffer, byteOffset, length); - } -} - -export class Float32Array extends ArrayBufferView { - [key: number]: f32; - - // @ts-ignore: decorator - @lazy - static readonly BYTES_PER_ELEMENT: i32 = sizeof(); - - constructor(length: i32) { - super(length, alignof()); - } - - get length(): i32 { - return this.byteLength >>> alignof(); - } - - @operator("[]") - private __get(index: i32): f32 { - if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE); - return load(this.dataStart + (index << alignof())); - } - - @unsafe @operator("{}") - private __uget(index: i32): f32 { - return load(this.dataStart + (index << alignof())); - } - - @operator("[]=") - private __set(index: i32, value: f32): void { - if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE); - store(this.dataStart + (index << alignof()), value); - } - - @unsafe @operator("{}=") - private __uset(index: i32, value: f32): void { - store(this.dataStart + (index << alignof()), value); - } - - at(index: i32): f32 { - let len = this.byteLength >>> alignof(); - index += select(0, len, index >= 0); - if (index >= len) throw new RangeError(E_INDEXOUTOFRANGE); - return load(this.dataStart + (index << alignof())); - } - - includes(searchElement: f32, fromIndex: i32 = 0): bool { - return INCLUDES(this, searchElement, fromIndex); - } - - indexOf(searchElement: f32, fromIndex: i32 = 0): i32 { - return INDEX_OF(this, searchElement, fromIndex); - } - - lastIndexOf(searchElement: f32, fromIndex: i32 = this.length): i32 { - return LAST_INDEX_OF(this, searchElement, fromIndex); - } - - fill(value: f32, start: i32 = 0, end: i32 = i32.MAX_VALUE): Float32Array { - FILL(this.dataStart, this.length, value, start, end); - return this; - } - - sort(comparator: (a: f32, b: f32) => i32 = COMPARATOR()): Float32Array { - SORT(this.dataStart, this.length, comparator); - return this; - } - - slice(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Float32Array { - return SLICE(this, begin, end); - } - - subarray(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Float32Array { - return SUBARRAY(this, begin, end); - } - - copyWithin(target: i32, start: i32, end: i32 = i32.MAX_VALUE): Float32Array { - return COPY_WITHIN(this, target, start, end); - } - - reduce( - fn: (accumulator: T, value: f32, index: i32, array: Float32Array) => T, - initialValue: T, - ): T { - return REDUCE(this, fn, initialValue); - } - - reduceRight( - fn: (accumulator: T, value: f32, index: i32, array: Float32Array) => T, - initialValue: T, - ): T { - return REDUCE_RIGHT(this, fn, initialValue); - } - - map(fn: (value: f32, index: i32, self: Float32Array) => f32): Float32Array { - return MAP(this, fn); - } - - filter(fn: (value: f32, index: i32, self: Float32Array) => bool): Float32Array { - return FILTER(this, fn); - } - - findIndex(fn: (value: f32, index: i32, self: Float32Array) => bool): i32 { - return FIND_INDEX(this, fn); - } - - findLastIndex(fn: (value: f32, index: i32, self: Float32Array) => bool): i32 { - return FIND_LAST_INDEX(this, fn); - } - - some(fn: (value: f32, index: i32, self: Float32Array) => bool): bool { - return SOME(this, fn); - } - - every(fn: (value: f32, index: i32, self: Float32Array) => bool): bool { - return EVERY(this, fn); - } - - forEach(fn: (value: f32, index: i32, self: Float32Array) => void): void { - FOREACH(this, fn); - } - - reverse(): Float32Array { - REVERSE(this.dataStart, this.length); - return this; - } - - join(separator: string = ","): string { - return joinFloatArray(this.dataStart, this.length, separator); - } - - set>(source: U, offset: i32 = 0): void { - SET(this, source, offset); - } - - toString(): string { - return this.join(); - } - - static wrap(buffer: ArrayBuffer, byteOffset: i32 = 0, length: i32 = -1): Float32Array { - return WRAP(buffer, byteOffset, length); - } -} - -export class Float64Array extends ArrayBufferView { - [key: number]: f64; - - // @ts-ignore: decorator - @lazy - static readonly BYTES_PER_ELEMENT: i32 = sizeof(); - - constructor(length: i32) { - super(length, alignof()); - } - - get length(): i32 { - return this.byteLength >>> alignof(); - } - - @operator("[]") - private __get(index: i32): f64 { - if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE); - return load(this.dataStart + (index << alignof())); - } - - @unsafe @operator("{}") - private __uget(index: i32): f64 { - return load(this.dataStart + (index << alignof())); - } - - @operator("[]=") - private __set(index: i32, value: f64): void { - if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE); - store(this.dataStart + (index << alignof()), value); - } - - @unsafe @operator("{}=") - private __uset(index: i32, value: f64): void { - store(this.dataStart + (index << alignof()), value); - } - - at(index: i32): f64 { - let len = this.byteLength >>> alignof(); - index += select(0, len, index >= 0); - if (index >= len) throw new RangeError(E_INDEXOUTOFRANGE); - return load(this.dataStart + (index << alignof())); - } - - includes(searchElement: f64, fromIndex: i32 = 0): bool { - return INCLUDES(this, searchElement, fromIndex); - } - - indexOf(searchElement: f64, fromIndex: i32 = 0): i32 { - return INDEX_OF(this, searchElement, fromIndex); - } - - lastIndexOf(searchElement: f64, fromIndex: i32 = this.length): i32 { - return LAST_INDEX_OF(this, searchElement, fromIndex); - } - - fill(value: f64, start: i32 = 0, end: i32 = i32.MAX_VALUE): Float64Array { - FILL(this.dataStart, this.length, value, start, end); - return this; - } - - sort(comparator: (a: f64, b: f64) => i32 = COMPARATOR()): Float64Array { - SORT(this.dataStart, this.length, comparator); - return this; - } - - slice(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Float64Array { - return SLICE(this, begin, end); - } - - subarray(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Float64Array { - return SUBARRAY(this, begin, end); - } - - copyWithin(target: i32, start: i32, end: i32 = i32.MAX_VALUE): Float64Array { - return COPY_WITHIN(this, target, start, end); - } - - reduce( - fn: (accumulator: T, value: f64, index: i32, array: Float64Array) => T, - initialValue: T, - ): T { - return REDUCE(this, fn, initialValue); - } - - reduceRight( - fn: (accumulator: T, value: f64, index: i32, array: Float64Array) => T, - initialValue: T, - ): T { - return REDUCE_RIGHT(this, fn, initialValue); - } - - map(fn: (value: f64, index: i32, self: Float64Array) => f64): Float64Array { - return MAP(this, fn); - } - - filter(fn: (value: f64, index: i32, self: Float64Array) => bool): Float64Array { - return FILTER(this, fn); - } - - findIndex(fn: (value: f64, index: i32, self: Float64Array) => bool): i32 { - return FIND_INDEX(this, fn); - } - - findLastIndex(fn: (value: f64, index: i32, self: Float64Array) => bool): i32 { - return FIND_LAST_INDEX(this, fn); - } - - some(fn: (value: f64, index: i32, self: Float64Array) => bool): bool { - return SOME(this, fn); - } - - every(fn: (value: f64, index: i32, self: Float64Array) => bool): bool { - return EVERY(this, fn); - } - - forEach(fn: (value: f64, index: i32, self: Float64Array) => void): void { - FOREACH(this, fn); - } - - reverse(): Float64Array { - REVERSE(this.dataStart, this.length); - return this; - } - - join(separator: string = ","): string { - return joinFloatArray(this.dataStart, this.length, separator); - } - - set>(source: U, offset: i32 = 0): void { - SET(this, source, offset); - } - - toString(): string { - return this.join(); - } - - static wrap(buffer: ArrayBuffer, byteOffset: i32 = 0, length: i32 = -1): Float64Array { - return WRAP(buffer, byteOffset, length); - } -} - -// @ts-ignore: decorator -@inline -function SLICE( - array: TArray, - start: i32, - end: i32 -): TArray { - let len = array.length; - start = start < 0 ? max(start + len, 0) : min(start, len); - end = end < 0 ? max(end + len, 0) : min(end , len); - len = max(end - start, 0); - let slice = instantiate(len); - memory.copy( - slice.dataStart, - array.dataStart + (start << alignof()), - len << alignof() - ); - return slice; -} - -// @ts-ignore: decorator -@inline -function SUBARRAY( - array: TArray, - begin: i32, - end: i32 -): TArray { - let len = array.length; - begin = begin < 0 ? max(len + begin, 0) : min(begin, len); - end = end < 0 ? max(len + end, 0) : min(end, len); - end = max(end, begin); - - let out = changetype(__new(offsetof(), idof())); - let buf = changetype(array.buffer); - store(changetype(out), buf, offsetof("buffer")); - __link(changetype(out), buf, false); - store(changetype(out), array.dataStart + (begin << alignof()), offsetof("dataStart")); - store(changetype(out), (end - begin) << alignof(), offsetof("byteLength")); - return out; -} - -// @ts-ignore: decorator -@inline -function COPY_WITHIN( - array: TArray, - target: i32, - start: i32, - end: i32 -): TArray { - let len = array.length; - let ptr = array.dataStart; - - end = min(end, len); - let to = target < 0 ? max(len + target, 0) : min(target, len); - let from = start < 0 ? max(len + start, 0) : min(start, len); - let last = end < 0 ? max(len + end, 0) : min(end, len); - let count = min(last - from, len - to); - - memory.copy( - ptr + (to << alignof()), - ptr + (from << alignof()), - count << alignof() - ); - return array; -} - -// @ts-ignore: decorator -@inline -function REDUCE( - array: TArray, - fn: (accumulator: TRet, value: T, index: i32, array: TArray) => TRet, - initialValue: TRet -): TRet { - let ptr = array.dataStart; - for (let i = 0, k = array.length; i < k; i++) { - initialValue = fn(initialValue, load(ptr + (i << alignof())), i, array); - } - return initialValue; -} - -// @ts-ignore: decorator -@inline -function REDUCE_RIGHT( - array: TArray, - fn: (accumulator: TRet, value: T, index: i32, array: TArray) => TRet, - initialValue: TRet -): TRet { - let ptr = array.dataStart; - for (let i = array.length - 1; i >= 0; i--) { - initialValue = fn(initialValue, load(ptr + (i << alignof())), i, array); - } - return initialValue; -} - -// @ts-ignore: decorator -@inline -function MAP( - array: TArray, - fn: (value: T, index: i32, self: TArray) => T, -): TArray { - let len = array.length; - let ptr = array.dataStart; - - let byteLength = len << alignof(); - let out = changetype(__new(offsetof(), idof())); - let buf = changetype(__new(byteLength, idof())); - for (let i = 0; i < len; i++) { - store( - changetype(buf) + (i << alignof()), - fn(load(ptr + (i << alignof())), i, array) - ); - } - store(changetype(out), changetype(buf), offsetof("buffer")); - __link(changetype(out), changetype(buf), false); - store(changetype(out), changetype(buf), offsetof("dataStart")); - store(changetype(out), byteLength, offsetof("byteLength")); - return out; -} - -// @ts-ignore: decorator -@inline -function FILTER( - array: TArray, - fn: (value: T, index: i32, self: TArray) => bool, -): TArray { - let len = array.length; - let out = changetype(__new(offsetof(), idof())); - let buf = changetype(__new(len << alignof(), idof())); - let dataStart = array.dataStart; - let j: usize = 0; - for (let i = 0; i < len; i++) { - let value = load(dataStart + (i << alignof())); - if (fn(value, i, array)) { - store( - changetype(buf) + (j++ << alignof()), - value - ); - } - } - // shrink output buffer - let byteLength = j << alignof(); - let data = __renew(changetype(buf), byteLength); - store(changetype(out), data, offsetof("buffer")); - __link(changetype(out), data, false); - store(changetype(out), byteLength, offsetof("byteLength")); - store(changetype(out), data, offsetof("dataStart")); - return out; -} - -// @ts-ignore: decorator -@inline -function FIND_INDEX( - array: TArray, - fn: (value: T, index: i32, array: TArray) => bool, -): i32 { - let ptr = array.dataStart; - for (let i = 0, k = array.length; i < k; i++) { - if (fn(load(ptr + (i << alignof())), i, array)) return i; - } - return -1; -} - -// @ts-ignore: decorator -@inline -function FIND_LAST_INDEX( - array: TArray, - fn: (value: T, index: i32, array: TArray) => bool, -): i32 { - let ptr = array.dataStart; - for (let i = array.length - 1; i >= 0; --i) { - if (fn(load(ptr + (i << alignof())), i, array)) return i; - } - return -1; -} - -// @ts-ignore: decorator -@inline -function INCLUDES( - array: TArray, - searchElement: T, - fromIndex: i32, -): bool { - if (isFloat()) { - let index: isize = fromIndex; - let len: isize = array.length; - if (len == 0 || index >= len) return false; - if (index < 0) index = max(len + index, 0); - let dataStart = array.dataStart; - while (index < len) { - let elem = load(dataStart + (index << alignof())); - // @ts-ignore - if (elem == searchElement || isNaN(elem) & isNaN(searchElement)) return true; - ++index; - } - return false; - } else { - return INDEX_OF(array, searchElement, fromIndex) >= 0; - } -} - -// @ts-ignore: decorator -@inline -function INDEX_OF( - array: TArray, - searchElement: T, - fromIndex: i32, -): i32 { - let index: isize = fromIndex; - let len: isize = array.length; - if (len == 0 || index >= len) return -1; - if (index < 0) index = max(len + index, 0); - let dataStart = array.dataStart; - while (index < len) { - if (load(dataStart + (index << alignof())) == searchElement) return index; - ++index; - } - return -1; -} - -// @ts-ignore: decorator -@inline -function LAST_INDEX_OF( - array: TArray, - searchElement: T, - fromIndex: i32, -): i32 { - let index: isize = fromIndex; - let len: isize = array.length; - if (len == 0) return -1; - if (index < 0) index = len + index; // no need to clamp - else if (index >= len) index = len - 1; - let dataStart = array.dataStart; - while (index >= 0) { - if (load(dataStart + (index << alignof())) == searchElement) return index; - --index; - } - return -1; -} - -// @ts-ignore: decorator -@inline -function SOME( - array: TArray, - fn: (value: T, index: i32, array: TArray) => bool, -): bool { - let ptr = array.dataStart; - for (let i = 0, k = array.length; i < k; i++) { - if (fn(load(ptr + (i << alignof())), i, array)) return true; - } - return false; -} - -// @ts-ignore: decorator -@inline -function EVERY( - array: TArray, - fn: (value: T, index: i32, array: TArray) => bool, -): bool { - let ptr = array.dataStart; - for (let i = 0, k = array.length; i < k; i++) { - if (fn(load(ptr + (i << alignof())), i, array)) continue; - return false; - } - return true; -} - -// @ts-ignore: decorator -@inline -function FOREACH( - array: TArray, - fn: (value: T, index: i32, array: TArray) => void, -): void { - let ptr = array.dataStart; - for (let i = 0, k = array.length; i < k; i++) { - fn(load(ptr + (i << alignof())), i, array); - } -} - -// @ts-ignore: decorator -@inline -function WRAP( - buffer: ArrayBuffer, - byteOffset: i32 = 0, - len: i32 = -1 -): TArray { - let byteLength: i32; - let bufferByteLength = buffer.byteLength; - const mask: u32 = sizeof() - 1; - if (i32(byteOffset > bufferByteLength) | (byteOffset & mask)) { - throw new RangeError(E_INDEXOUTOFRANGE); - } - if (len < 0) { - if (len == -1) { - if (bufferByteLength & mask) { - throw new RangeError(E_INVALIDLENGTH); - } - byteLength = bufferByteLength - byteOffset; - } else { - throw new RangeError(E_INVALIDLENGTH); - } - } else { - byteLength = len << alignof(); - if (byteOffset + byteLength > bufferByteLength) { - throw new RangeError(E_INVALIDLENGTH); - } - } - let out = changetype(__new(offsetof(), idof())); - store(changetype(out), changetype(buffer), offsetof("buffer")); - __link(changetype(out), changetype(buffer), false); - store(changetype(out), byteLength, offsetof("byteLength")); - store(changetype(out), changetype(buffer) + byteOffset, offsetof("dataStart")); - return out; -} - -// @ts-ignore: decorator -@inline -function SET< - TArray extends ArrayLike, - UArray extends ArrayLike ->( - target: TArray, - source: UArray, - offset: i32 = 0 -): void { - // need to assert at compile time that U is not a reference or a function - if (isReference>()) { - ERROR(E_NOTIMPLEMENTED); - } - let sourceLen = source.length; - if (offset < 0 || sourceLen + offset > target.length) { - // offset is out of bounds - throw new RangeError(E_INDEXOUTOFRANGE); - } - // @ts-ignore: dataStart - let targetStart = target.dataStart + (offset << (alignof>())); - // @ts-ignore: dataStart - let sourceStart = source.dataStart; - // if the types align and match, use memory.copy() instead of manual loop - if ( - isInteger>() == isInteger>() && - alignof>() == alignof>() && - !(isSigned>() && target instanceof Uint8ClampedArray) - ) { - memory.copy(targetStart, sourceStart, sourceLen << (alignof>())); - } else { - for (let i = 0; i < sourceLen; i++) { - let ptr = targetStart + (i << (alignof>())); - let value = load>(sourceStart + (i << (alignof>()))); - // if TArray is Uint8ClampedArray, then values must be clamped - if (target instanceof Uint8ClampedArray) { - if (isFloat>()) { - store>(ptr, - isFinite>(value) - ? >max>(0, min>(255, value)) - : 0 - ); - } else { - if (!isSigned>()) { - store>(ptr, min>(255, value)); - } else if (sizeof>() <= 4) { - store>(ptr, ~(value >> 31) & (((255 - value) >> 31) | value)); - } else { - store>(ptr, ~(value >> 63) & (((255 - value) >> 63) | value)); - } - } - } else { - if (isFloat>() && !isFloat>()) { - store>(ptr, isFinite>(value) ? >value : 0); - } else { - store>(ptr, >value); - } - } - } - } -} -`,uri:`import { encode, decode, URI_UNSAFE, URL_UNSAFE } from "./util/uri"; - -export function encodeURI(str: string): string { - return changetype(encode(changetype(str), str.length, URI_UNSAFE)); -} - -export function decodeURI(str: string): string { - return changetype(decode(changetype(str), str.length, false)); -} - -export function encodeURIComponent(str: string): string { - return changetype(encode(changetype(str), str.length, URL_UNSAFE)); -} - -export function decodeURIComponent(str: string): string { - return changetype(decode(changetype(str), str.length, true)); -} -`,"util/bytes":`export function REVERSE(ptr: usize, len: usize): void { - if (len > 1) { - let - i: usize = 0, - tail: usize, - hlen: usize = len >> 1; - - if (ASC_SHRINK_LEVEL < 1) { - if (sizeof() == 1) { - // TODO: Decide later: Does we need this fast path cases? - // - // if (len == 4) { - // store(ptr, bswap(load(ptr))); - // return; - // } - // if (len == 8) { - // store(ptr, bswap(load(ptr))); - // return; - // } - tail = len - 8; - while (i + 7 < hlen) { - let front = ptr + i; - let back = ptr + tail - i; - let temp = bswap(load(front)); - store(front, bswap(load(back))); - store(back, temp); - i += 8; - } - } - - if (sizeof() == 2) { - tail = len - 2; - while (i + 1 < hlen) { - let front = ptr + (i << 1); - let back = ptr + (tail - i << 1); - let temp = rotr(load(back), 16); - store(back, rotr(load(front), 16)); - store(front, temp); - i += 2; - } - } - } - - tail = len - 1; - while (i < hlen) { - let front = ptr + (i << alignof()); - let back = ptr + (tail - i << alignof()); - let temp = load(front); - store(front, load(back)); - store(back, temp); - i++; - } - } -} - -export function FILL( - ptr: usize, - len: usize, - value: T, - start: isize, - end: isize -): void { - start = start < 0 ? max(len + start, 0) : min(start, len); - end = end < 0 ? max(len + end, 0) : min(end, len); - - if (sizeof() == 1) { - if (start < end) { - memory.fill( - ptr + start, - u8(value), - (end - start) - ); - } - } else { - if (ASC_SHRINK_LEVEL <= 1) { - if (isInteger()) { - // @ts-ignore - if (value == 0 | value == -1) { - if (start < end) { - memory.fill( - ptr + (start << alignof()), - u8(value), - (end - start) << alignof() - ); - } - return; - } - } else if (isFloat()) { - // for floating non-negative zeros we can use fast memory.fill - if ((sizeof() == 4 && reinterpret(f32(value)) == 0) || - (sizeof() == 8 && reinterpret(f64(value)) == 0)) { - if (start < end) { - memory.fill( - ptr + (start << alignof()), - 0, - (end - start) << alignof() - ); - } - return; - } - } - } - for (; start < end; ++start) { - store(ptr + (start << alignof()), value); - } - } -} -`,"util/casemap":`// Total tables size: ~5 kb (usually compressed to ~4 kb) -// See: https://git.musl-libc.org/cgit/musl/tree/src/ctype/casemap.h - -// @ts-ignore: decorator -@lazy @inline const TAB = memory.data([ - 7, 8, 9, 10, 11, 12, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 13, 6, 6, 14, 6, 6, 6, 6, 6, 6, 6, 6, 15, 16, 17, 18, - 6, 19, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 20, 21, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 22, 23, 6, 6, 6, 24, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 25, - 6, 6, 6, 6, 26, 6, 6, 6, 6, 6, 6, 6, 27, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 28, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 29, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 30, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, - 43, 43, 43, 43, 43, 43, 43, 43, 1, 0, 84, 86, 86, 86, 86, 86, - 86, 86, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 43, 43, 43, 43, 43, 43, - 43, 7, 43, 43, 91, 86, 86, 86, 86, 86, 86, 86, 74, 86, 86, 5, - 49, 80, 49, 80, 49, 80, 49, 80, 49, 80, 49, 80, 49, 80, 49, 80, - 36, 80, 121, 49, 80, 49, 80, 49, 56, 80, 49, 80, 49, 80, 49, 80, - 49, 80, 49, 80, 49, 80, 49, 80, 78, 49, 2, 78, 13, 13, 78, 3, - 78, 0, 36, 110, 0, 78, 49, 38, 110, 81, 78, 36, 80, 78, 57, 20, - 129, 27, 29, 29, 83, 49, 80, 49, 80, 13, 49, 80, 49, 80, 49, 80, - 27, 83, 36, 80, 49, 2, 92, 123, 92, 123, 92, 123, 92, 123, 92, 123, - 20, 121, 92, 123, 92, 123, 92, 45, 43, 73, 3, 72, 3, 120, 92, 123, - 20, 0, 150, 10, 1, 43, 40, 6, 6, 0, 42, 6, 42, 42, 43, 7, - 187, 181, 43, 30, 0, 43, 7, 43, 43, 43, 1, 43, 43, 43, 43, 43, - 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, - 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 1, 43, 43, 43, 43, - 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, - 43, 43, 43, 42, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, - 43, 205, 70, 205, 43, 0, 37, 43, 7, 1, 6, 1, 85, 86, 86, 86, - 86, 86, 85, 86, 86, 2, 36, 129, 129, 129, 129, 129, 21, 129, 129, 129, - 0, 0, 43, 0, 178, 209, 178, 209, 178, 209, 178, 209, 0, 0, 205, 204, - 1, 0, 215, 215, 215, 215, 215, 131, 129, 129, 129, 129, 129, 129, 129, 129, - 129, 129, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 28, 0, 0, 0, - 0, 0, 49, 80, 49, 80, 49, 80, 49, 80, 49, 80, 49, 2, 0, 0, - 49, 80, 49, 80, 49, 80, 49, 80, 49, 80, 49, 80, 49, 80, 49, 80, - 49, 80, 78, 49, 80, 49, 80, 78, 49, 80, 49, 80, 49, 80, 49, 80, - 49, 80, 49, 80, 49, 80, 49, 2, 135, 166, 135, 166, 135, 166, 135, 166, - 135, 166, 135, 166, 135, 166, 135, 166, 42, 43, 43, 43, 43, 43, 43, 43, - 43, 43, 43, 43, 43, 0, 0, 0, 84, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 84, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 12, 0, 12, 42, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, - 43, 7, 42, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 43, 43, 43, 43, 43, 43, - 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, - 43, 43, 43, 43, 86, 86, 108, 129, 21, 0, 43, 43, 43, 43, 43, 43, - 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, - 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, - 43, 43, 43, 43, 7, 108, 3, 65, 43, 43, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 86, 86, 44, 86, 43, 43, 43, 43, 43, 43, - 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 12, 108, 0, 0, 0, 0, 0, 6, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 6, 37, 6, 37, 6, 37, 6, 37, 6, 37, - 6, 37, 6, 37, 6, 37, 6, 37, 6, 37, 6, 37, 6, 37, 6, 37, - 6, 37, 6, 37, 6, 37, 6, 37, 6, 37, 6, 37, 6, 37, 6, 37, - 6, 37, 6, 37, 6, 37, 6, 37, 86, 122, 158, 38, 6, 37, 6, 37, - 6, 37, 6, 37, 6, 37, 6, 37, 6, 37, 6, 37, 6, 37, 6, 37, - 6, 37, 6, 37, 6, 37, 6, 37, 6, 37, 6, 1, 43, 43, 79, 86, - 86, 44, 43, 127, 86, 86, 57, 43, 43, 85, 86, 86, 43, 43, 79, 86, - 86, 44, 43, 127, 86, 86, 129, 55, 117, 91, 123, 92, 43, 43, 79, 86, - 86, 2, 172, 4, 0, 0, 57, 43, 43, 85, 86, 86, 43, 43, 79, 86, - 86, 44, 43, 43, 86, 86, 50, 19, 129, 87, 0, 111, 129, 126, 201, 215, - 126, 45, 129, 129, 14, 126, 57, 127, 111, 87, 0, 129, 129, 126, 21, 0, - 126, 3, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 7, 43, - 36, 43, 151, 43, 43, 43, 43, 43, 43, 43, 43, 43, 42, 43, 43, 43, - 43, 43, 86, 86, 86, 86, 86, 128, 129, 129, 129, 129, 57, 187, 42, 43, - 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, - 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, - 43, 43, 43, 43, 43, 43, 43, 1, 129, 129, 129, 129, 129, 129, 129, 129, - 129, 129, 129, 129, 129, 129, 129, 201, 172, 172, 172, 172, 172, 172, 172, 172, - 172, 172, 172, 172, 172, 172, 172, 208, 13, 0, 78, 49, 2, 180, 193, 193, - 215, 215, 36, 80, 49, 80, 49, 80, 49, 80, 49, 80, 49, 80, 49, 80, - 49, 80, 49, 80, 49, 80, 49, 80, 49, 80, 49, 80, 49, 80, 49, 80, - 49, 80, 49, 80, 215, 215, 83, 193, 71, 212, 215, 215, 215, 5, 43, 43, - 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 7, 1, 0, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 78, 49, 80, 49, 80, 49, 80, - 49, 80, 49, 80, 49, 80, 49, 80, 13, 0, 0, 0, 0, 0, 36, 80, - 49, 80, 49, 80, 49, 80, 49, 80, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 43, 43, 43, 43, 43, - 43, 43, 43, 43, 43, 121, 92, 123, 92, 123, 79, 123, 92, 123, 92, 123, - 92, 123, 92, 123, 92, 123, 92, 123, 92, 123, 92, 123, 92, 123, 92, 45, - 43, 43, 121, 20, 92, 123, 92, 45, 121, 42, 92, 39, 92, 123, 92, 123, - 92, 123, 164, 0, 10, 180, 92, 123, 92, 123, 79, 3, 120, 56, 43, 43, - 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 79, 45, 43, 43, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 42, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, - 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 43, 43, 43, 43, 43, 43, 43, 43, 7, 0, 72, 86, 86, 86, 86, - 86, 86, 86, 86, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 43, 43, 43, - 43, 43, 43, 43, 43, 43, 43, 43, 43, 85, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 36, 43, 43, 43, 43, 43, 43, 43, 43, 43, - 43, 43, 7, 0, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 43, 43, 43, - 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 7, 0, 0, - 0, 0, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 43, 43, - 43, 43, 43, 43, 43, 43, 43, 43, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 42, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 86, 86, - 86, 86, 86, 86, 86, 86, 86, 86, 14, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 85, - 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 14, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 -]); - -// @ts-ignore: decorator -@lazy @inline const RULES = memory.data([ - 0x0, 0x2001, -0x2000, 0x1dbf00, 0x2e700, 0x7900, - 0x2402, 0x101, -0x100, 0x0, 0x201, -0x200, - -0xc6ff, -0xe800, -0x78ff, -0x12c00, 0xc300, 0xd201, - 0xce01, 0xcd01, 0x4f01, 0xca01, 0xcb01, 0xcf01, - 0x6100, 0xd301, 0xd101, 0xa300, 0xd501, 0x8200, - 0xd601, 0xda01, 0xd901, 0xdb01, 0x3800, 0x3, - -0x4f00, -0x60ff, -0x37ff, 0x242802, 0x0, 0x101, - -0x100, -0xcd00, -0xda00, -0x81ff, 0x2a2b01, -0xa2ff, - 0x2a2801, 0x2a3f00, -0xc2ff, 0x4501, 0x4701, 0x2a1f00, - 0x2a1c00, 0x2a1e00, -0xd200, -0xce00, -0xca00, -0xcb00, - 0xa54f00, 0xa54b00, -0xcf00, 0xa52800, 0xa54400, -0xd100, - -0xd300, 0x29f700, 0xa54100, 0x29fd00, -0xd500, -0xd600, - 0x29e700, 0xa54300, 0xa52a00, -0x4500, -0xd900, -0x4700, - -0xdb00, 0xa51500, 0xa51200, 0x4c2402, 0x0, 0x2001, - -0x2000, 0x101, -0x100, 0x5400, 0x7401, 0x2601, - 0x2501, 0x4001, 0x3f01, -0x2600, -0x2500, -0x1f00, - -0x4000, -0x3f00, 0x801, -0x3e00, -0x3900, -0x2f00, - -0x3600, -0x800, -0x5600, -0x5000, 0x700, -0x7400, - -0x3bff, -0x6000, -0x6ff, 0x701a02, 0x101, -0x100, - 0x2001, -0x2000, 0x5001, 0xf01, -0xf00, 0x0, - 0x3001, -0x3000, 0x101, -0x100, 0x0, 0xbc000, - 0x1c6001, 0x0, 0x97d001, 0x801, -0x800, 0x8a0502, - 0x0, -0xbbfff, -0x186200, 0x89c200, -0x182500, -0x186e00, - -0x186d00, -0x186400, -0x186300, -0x185c00, 0x0, 0x8a3800, - 0x8a0400, 0xee600, 0x101, -0x100, 0x0, -0x3b00, - -0x1dbeff, 0x8f1d02, 0x800, -0x7ff, 0x0, 0x5600, - -0x55ff, 0x4a00, 0x6400, 0x8000, 0x7000, 0x7e00, - 0x900, -0x49ff, -0x8ff, -0x1c2500, -0x63ff, -0x6fff, - -0x7fff, -0x7dff, 0xac0502, 0x0, 0x1001, -0x1000, - 0x1c01, 0x101, -0x1d5cff, -0x20beff, -0x2045ff, -0x1c00, - 0xb10b02, 0x101, -0x100, 0x3001, -0x3000, 0x0, - -0x29f6ff, -0xee5ff, -0x29e6ff, -0x2a2b00, -0x2a2800, -0x2a1bff, - -0x29fcff, -0x2a1eff, -0x2a1dff, -0x2a3eff, 0x0, -0x1c6000, - 0x0, 0x101, -0x100, 0xbc0c02, 0x0, 0x101, - -0x100, -0xa543ff, 0x3a001, -0x8a03ff, -0xa527ff, 0x3000, - -0xa54eff, -0xa54aff, -0xa540ff, -0xa511ff, -0xa529ff, -0xa514ff, - -0x2fff, -0xa542ff, -0x8a37ff, 0x0, -0x97d000, -0x3a000, - 0x0, 0x2001, -0x2000, 0x0, 0x2801, -0x2800, - 0x0, 0x4001, -0x4000, 0x0, 0x2001, -0x2000, - 0x0, 0x2001, -0x2000, 0x0, 0x2201, -0x2200 -]); - -// @ts-ignore: decorator -@lazy @inline const RULE_BASES = memory.data([ - 0, 6, 39, 81, 111, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 124, 0, 0, 127, 0, 0, 0, 0, 0, 0, 0, 0, 131, 142, 146, 151, - 0, 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 180, 196, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 198, 201, 0, 0, 0, 219, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 222, - 0, 0, 0, 0, 225, 0, 0, 0, 0, 0, 0, 0, 228, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 231, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 234, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 237, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 -]); - -// @ts-ignore: decorator -@lazy @inline const EXCEPTIONS = memory.data([ - 48, 12, 49, 13, 120, 14, 127, 15, - 128, 16, 129, 17, 134, 18, 137, 19, - 138, 19, 142, 20, 143, 21, 144, 22, - 147, 19, 148, 23, 149, 24, 150, 25, - 151, 26, 154, 27, 156, 25, 157, 28, - 158, 29, 159, 30, 166, 31, 169, 31, - 174, 31, 177, 32, 178, 32, 183, 33, - 191, 34, 197, 35, 200, 35, 203, 35, - 221, 36, 242, 35, 246, 37, 247, 38, - 32, 45, 58, 46, 61, 47, 62, 48, - 63, 49, 64, 49, 67, 50, 68, 51, - 69, 52, 80, 53, 81, 54, 82, 55, - 83, 56, 84, 57, 89, 58, 91, 59, - 92, 60, 97, 61, 99, 62, 101, 63, - 102, 64, 104, 65, 105, 66, 106, 64, - 107, 67, 108, 68, 111, 66, 113, 69, - 114, 70, 117, 71, 125, 72, 130, 73, - 135, 74, 137, 75, 138, 76, 139, 76, - 140, 77, 146, 78, 157, 79, 158, 80, - 69, 87, 123, 29, 124, 29, 125, 29, - 127, 88, 134, 89, 136, 90, 137, 90, - 138, 90, 140, 91, 142, 92, 143, 92, - 172, 93, 173, 94, 174, 94, 175, 94, - 194, 95, 204, 96, 205, 97, 206, 97, - 207, 98, 208, 99, 209, 100, 213, 101, - 214, 102, 215, 103, 240, 104, 241, 105, - 242, 106, 243, 107, 244, 108, 245, 109, - 249, 110, 253, 45, 254, 45, 255, 45, - 80, 105, 81, 105, 82, 105, 83, 105, - 84, 105, 85, 105, 86, 105, 87, 105, - 88, 105, 89, 105, 90, 105, 91, 105, - 92, 105, 93, 105, 94, 105, 95, 105, - 130, 0, 131, 0, 132, 0, 133, 0, - 134, 0, 135, 0, 136, 0, 137, 0, - 192, 117, 207, 118, 128, 137, 129, 138, - 130, 139, 133, 140, 134, 141, 112, 157, - 113, 157, 118, 158, 119, 158, 120, 159, - 121, 159, 122, 160, 123, 160, 124, 161, - 125, 161, 179, 162, 186, 163, 187, 163, - 188, 164, 190, 165, 195, 162, 204, 164, - 218, 166, 219, 166, 229, 106, 234, 167, - 235, 167, 236, 110, 243, 162, 248, 168, - 249, 168, 250, 169, 251, 169, 252, 164, - 38, 176, 42, 177, 43, 178, 78, 179, - 132, 8, 98, 186, 99, 187, 100, 188, - 101, 189, 102, 190, 109, 191, 110, 192, - 111, 193, 112, 194, 126, 195, 127, 195, - 125, 207, 141, 208, 148, 209, 171, 210, - 172, 211, 173, 212, 176, 213, 177, 214, - 178, 215, 196, 216, 197, 217, 198, 218 -]); - -/* Special Case Mappings - * See: https://unicode.org/Public/UNIDATA/SpecialCasing.txt - */ - -/* -@lazy @inline -const SPECIALS_LOWER: StaticArray = [ - 0x0130, 0x0069, 0x0307, 0x0000, -]; -*/ - -// @ts-ignore: decorator -@lazy @inlne -export const SPECIALS_UPPER: StaticArray = [ - // String#toUpperCase needs .length - 0x00DF, 0x0053, 0x0053, 0x0000, - 0x0149, 0x02BC, 0x004E, 0x0000, - 0x01F0, 0x004A, 0x030C, 0x0000, - 0x0390, 0x0399, 0x0308, 0x0301, - 0x03B0, 0x03A5, 0x0308, 0x0301, - 0x0587, 0x0535, 0x0552, 0x0000, - 0x1E96, 0x0048, 0x0331, 0x0000, - 0x1E97, 0x0054, 0x0308, 0x0000, - 0x1E98, 0x0057, 0x030A, 0x0000, - 0x1E99, 0x0059, 0x030A, 0x0000, - 0x1E9A, 0x0041, 0x02BE, 0x0000, - 0x1F50, 0x03A5, 0x0313, 0x0000, - 0x1F52, 0x03A5, 0x0313, 0x0300, - 0x1F54, 0x03A5, 0x0313, 0x0301, - 0x1F56, 0x03A5, 0x0313, 0x0342, - 0x1F80, 0x1F08, 0x0399, 0x0000, - 0x1F81, 0x1F09, 0x0399, 0x0000, - 0x1F82, 0x1F0A, 0x0399, 0x0000, - 0x1F83, 0x1F0B, 0x0399, 0x0000, - 0x1F84, 0x1F0C, 0x0399, 0x0000, - 0x1F85, 0x1F0D, 0x0399, 0x0000, - 0x1F86, 0x1F0E, 0x0399, 0x0000, - 0x1F87, 0x1F0F, 0x0399, 0x0000, - 0x1F88, 0x1F08, 0x0399, 0x0000, - 0x1F89, 0x1F09, 0x0399, 0x0000, - 0x1F8A, 0x1F0A, 0x0399, 0x0000, - 0x1F8B, 0x1F0B, 0x0399, 0x0000, - 0x1F8C, 0x1F0C, 0x0399, 0x0000, - 0x1F8D, 0x1F0D, 0x0399, 0x0000, - 0x1F8E, 0x1F0E, 0x0399, 0x0000, - 0x1F8F, 0x1F0F, 0x0399, 0x0000, - 0x1F90, 0x1F28, 0x0399, 0x0000, - 0x1F91, 0x1F29, 0x0399, 0x0000, - 0x1F92, 0x1F2A, 0x0399, 0x0000, - 0x1F93, 0x1F2B, 0x0399, 0x0000, - 0x1F94, 0x1F2C, 0x0399, 0x0000, - 0x1F95, 0x1F2D, 0x0399, 0x0000, - 0x1F96, 0x1F2E, 0x0399, 0x0000, - 0x1F97, 0x1F2F, 0x0399, 0x0000, - 0x1F98, 0x1F28, 0x0399, 0x0000, - 0x1F99, 0x1F29, 0x0399, 0x0000, - 0x1F9A, 0x1F2A, 0x0399, 0x0000, - 0x1F9B, 0x1F2B, 0x0399, 0x0000, - 0x1F9C, 0x1F2C, 0x0399, 0x0000, - 0x1F9D, 0x1F2D, 0x0399, 0x0000, - 0x1F9E, 0x1F2E, 0x0399, 0x0000, - 0x1F9F, 0x1F2F, 0x0399, 0x0000, - 0x1FA0, 0x1F68, 0x0399, 0x0000, - 0x1FA1, 0x1F69, 0x0399, 0x0000, - 0x1FA2, 0x1F6A, 0x0399, 0x0000, - 0x1FA3, 0x1F6B, 0x0399, 0x0000, - 0x1FA4, 0x1F6C, 0x0399, 0x0000, - 0x1FA5, 0x1F6D, 0x0399, 0x0000, - 0x1FA6, 0x1F6E, 0x0399, 0x0000, - 0x1FA7, 0x1F6F, 0x0399, 0x0000, - 0x1FA8, 0x1F68, 0x0399, 0x0000, - 0x1FA9, 0x1F69, 0x0399, 0x0000, - 0x1FAA, 0x1F6A, 0x0399, 0x0000, - 0x1FAB, 0x1F6B, 0x0399, 0x0000, - 0x1FAC, 0x1F6C, 0x0399, 0x0000, - 0x1FAD, 0x1F6D, 0x0399, 0x0000, - 0x1FAE, 0x1F6E, 0x0399, 0x0000, - 0x1FAF, 0x1F6F, 0x0399, 0x0000, - 0x1FB2, 0x1FBA, 0x0399, 0x0000, - 0x1FB3, 0x0391, 0x0399, 0x0000, - 0x1FB4, 0x0386, 0x0399, 0x0000, - 0x1FB6, 0x0391, 0x0342, 0x0000, - 0x1FB7, 0x0391, 0x0342, 0x0399, - 0x1FBC, 0x0391, 0x0399, 0x0000, - 0x1FC2, 0x1FCA, 0x0399, 0x0000, - 0x1FC3, 0x0397, 0x0399, 0x0000, - 0x1FC4, 0x0389, 0x0399, 0x0000, - 0x1FC6, 0x0397, 0x0342, 0x0000, - 0x1FC7, 0x0397, 0x0342, 0x0399, - 0x1FCC, 0x0397, 0x0399, 0x0000, - 0x1FD2, 0x0399, 0x0308, 0x0300, - 0x1FD3, 0x0399, 0x0308, 0x0301, - 0x1FD6, 0x0399, 0x0342, 0x0000, - 0x1FD7, 0x0399, 0x0308, 0x0342, - 0x1FE2, 0x03A5, 0x0308, 0x0300, - 0x1FE3, 0x03A5, 0x0308, 0x0301, - 0x1FE4, 0x03A1, 0x0313, 0x0000, - 0x1FE6, 0x03A5, 0x0342, 0x0000, - 0x1FE7, 0x03A5, 0x0308, 0x0342, - 0x1FF2, 0x1FFA, 0x0399, 0x0000, - 0x1FF3, 0x03A9, 0x0399, 0x0000, - 0x1FF4, 0x038F, 0x0399, 0x0000, - 0x1FF6, 0x03A9, 0x0342, 0x0000, - 0x1FF7, 0x03A9, 0x0342, 0x0399, - 0x1FFC, 0x03A9, 0x0399, 0x0000, - 0xFB00, 0x0046, 0x0046, 0x0000, - 0xFB01, 0x0046, 0x0049, 0x0000, - 0xFB02, 0x0046, 0x004C, 0x0000, - 0xFB03, 0x0046, 0x0046, 0x0049, - 0xFB04, 0x0046, 0x0046, 0x004C, - 0xFB05, 0x0053, 0x0054, 0x0000, - 0xFB06, 0x0053, 0x0054, 0x0000, - 0xFB13, 0x0544, 0x0546, 0x0000, - 0xFB14, 0x0544, 0x0535, 0x0000, - 0xFB15, 0x0544, 0x053B, 0x0000, - 0xFB16, 0x054E, 0x0546, 0x0000, - 0xFB17, 0x0544, 0x053D, 0x0000 -]; - -// @ts-ignore: decorator -@lazy @inline const MT = memory.data([ - 2048, 342, 57 -]); - -// Special binary search routine for Special Casing Tables -// @ts-ignore: decorator -@inline -export function bsearch(key: u32, ptr: usize, max: i32): i32 { - let min = 0; - while (min <= max) { - let mid = (min + max) >>> 3 << 2; - let cmp = load(ptr + (mid << alignof())) - key; - if (cmp == 0) return mid; // found - else if (cmp >>> 31) min = mid + 4; // < 0 - else max = mid - 4; // > 0 - } - return -1; // not found -} - -// See: https://git.musl-libc.org/cgit/musl/tree/src/ctype/towctrans.c -export function casemap(c: u32, dir: i32): i32 { - // if (c >= 0x20000) return c; - let c0 = c as i32; - let b = c >> 8; - c &= 255; - - let x = c / 3; - let y = c % 3; - - /* lookup entry in two-level base-6 table */ - // v = tab[(tab[b] as i32) * 86 + x] as u32; - let v = load(TAB + load(TAB + b) * 86 + x); - // v = (v * mt[y] >> 11) % 6; - v = (v * load(MT + (y << alignof())) >> 11) % 6; - /* use the bit vector out of the tables as an index into - * a block-specific set of rules and decode the rule into - * a type and a case-mapping delta. */ - // r = rules[(ruleBases[b] as u32) + v]; - let r = load(RULES + ((load(RULE_BASES + b) + v) << alignof())); - let rt: u32 = r & 255; - let rd: i32 = r >> 8; - /* rules 0/1 are simple lower/upper case with a delta. - * apply according to desired mapping direction. */ - if (rt < 2) return c0 + (rd & -(rt ^ dir)); - /* binary search. endpoints of the binary search for - * this block are stored in the rule delta field. */ - let xn: u32 = rd & 0xff; - let xb: u32 = rd >>> 8; - while (xn) { - let h = xn >> 1; - // let t = exceptions[(xb + h) * 2 + 0] as u32; - let t = load(EXCEPTIONS + (xb + h) * 2, 0); - if (t == c) { - // r = rules[exceptions[(xb + h) * 2 + 1]]; - r = load(RULES + (load(EXCEPTIONS + (xb + h) * 2, 1) << alignof())); - rt = r & 255; - rd = r >> 8; - if (rt < 2) return c0 + (rd & -(rt ^ dir)); - /* Hard-coded for the four exceptional titlecase */ - return c0 + 1 - (dir << 1); // (dir ? -1 : 1); - } else if (t > c) { - xn = h; - } else { - xb += h; - xn -= h; - } - } - return c0; -} -`,"util/error":`// Common error messages for use across the standard library. Keeping error messages compact -// and reusing them where possible ensures minimal static data in binaries. - -// @ts-ignore: decorator -@lazy @inline -export const E_INDEXOUTOFRANGE: string = "Index out of range"; - -// @ts-ignore: decorator -@lazy @inline -export const E_VALUEOUTOFRANGE: string = "Value out of range"; - -// @ts-ignore: decorator -@lazy @inline -export const E_INVALIDLENGTH: string = "Invalid length"; - -// @ts-ignore: decorator -@lazy @inline -export const E_EMPTYARRAY: string = "Array is empty"; - -// @ts-ignore: decorator -@lazy @inline -export const E_HOLEYARRAY: string = "Element type must be nullable if array is holey"; - -// @ts-ignore: decorator -@lazy @inline -export const E_NOTIMPLEMENTED: string = "Not implemented"; - -// @ts-ignore: decorator -@lazy @inline -export const E_KEYNOTFOUND: string = "Key does not exist"; - -// @ts-ignore: decorator -@lazy @inline -export const E_ALLOCATION_TOO_LARGE: string = "Allocation too large"; - -// @ts-ignore: decorator -@lazy @inline -export const E_ALREADY_PINNED: string = "Object already pinned"; - -// @ts-ignore: decorator -@lazy @inline -export const E_NOT_PINNED: string = "Object is not pinned"; - -// @ts-ignore: decorator -@lazy @inline -export const E_URI_MALFORMED: string = "URI malformed"; - -// @ts-ignore: decorator -@lazy @inline -export const E_INVALIDDATE: string = "Invalid Date"; - -// @ts-ignore: decorator -@lazy @inline -export const E_UNPAIRED_SURROGATE: string = "Unpaired surrogate"; -`,"util/hash":`export function HASH(key: T): u32 { - if (isString()) { - return hashStr(changetype(key)); - } else if (isReference()) { - if (sizeof() == 4) return hash32(changetype(key)); - if (sizeof() == 8) return hash64(changetype(key)); - } else if (isFloat()) { - if (sizeof() == 4) return hash32(reinterpret(f32(key))); - if (sizeof() == 8) return hash64(reinterpret(f64(key))); - } else { - if (sizeof() <= 4) return hash32(u32(key), sizeof()); - if (sizeof() == 8) return hash64(u64(key)); - } - return unreachable(); -} - -// XXHash 32-bit as a starting point, see: https://cyan4973.github.io/xxHash - -// primes -// @ts-ignore: decorator -@inline const XXH32_P1: u32 = 2654435761; -// @ts-ignore: decorator -@inline const XXH32_P2: u32 = 2246822519; -// @ts-ignore: decorator -@inline const XXH32_P3: u32 = 3266489917; -// @ts-ignore: decorator -@inline const XXH32_P4: u32 = 668265263; -// @ts-ignore: decorator -@inline const XXH32_P5: u32 = 374761393; -// @ts-ignore: decorator -@inline const XXH32_SEED: u32 = 0; - -// @ts-ignore: decorator -@inline -function hash32(key: u32, len: u32 = 4): u32 { - let h: u32 = XXH32_SEED + XXH32_P5 + len; - h += key * XXH32_P3; - h = rotl(h, 17) * XXH32_P4; - h ^= h >> 15; - h *= XXH32_P2; - h ^= h >> 13; - h *= XXH32_P3; - h ^= h >> 16; - return h; -} - -// @ts-ignore: decorator -@inline -function hash64(key: u64): u32 { - let h: u32 = XXH32_SEED + XXH32_P5 + 8; - h += key * XXH32_P3; - h = rotl(h, 17) * XXH32_P4; - h += (key >> 32) * XXH32_P3; - h = rotl(h, 17) * XXH32_P4; - h ^= h >> 15; - h *= XXH32_P2; - h ^= h >> 13; - h *= XXH32_P3; - h ^= h >> 16; - return h; -} - -// @ts-ignore: decorator -@inline -function mix(h: u32, key: u32): u32 { - return rotl(h + key * XXH32_P2, 13) * XXH32_P1; -} - -// @ts-ignore: decorator -@inline -function hashStr(key: string): u32 { - if (changetype(key) == 0) return XXH32_SEED; - - let h: u32 = key.length << 1; - let len: usize = h; - let pos = changetype(key); - - if (len >= 16) { - let s1 = XXH32_SEED + XXH32_P1 + XXH32_P2; - let s2 = XXH32_SEED + XXH32_P2; - let s3 = XXH32_SEED; - let s4 = XXH32_SEED - XXH32_P1; - - let end = len + pos - 16; - while (pos <= end) { - s1 = mix(s1, load(pos )); - s2 = mix(s2, load(pos, 4)); - s3 = mix(s3, load(pos, 8)); - s4 = mix(s4, load(pos, 12)); - pos += 16; - } - h += rotl(s1, 1) + rotl(s2, 7) + rotl(s3, 12) + rotl(s4, 18); - } else { - h += XXH32_SEED + XXH32_P5; - } - - let end = changetype(key) + len - 4; - while (pos <= end) { - h += load(pos) * XXH32_P3; - h = rotl(h, 17) * XXH32_P4; - pos += 4; - } - - end = changetype(key) + len; - while (pos < end) { - h += load(pos) * XXH32_P5; - h = rotl(h, 11) * XXH32_P1; - pos++; - } - - h ^= h >> 15; - h *= XXH32_P2; - h ^= h >> 13; - h *= XXH32_P3; - h ^= h >> 16; - return h; -} -`,"util/math":`// -// Lookup data for exp2f -// - -// @ts-ignore: decorator -@inline const EXP2F_TABLE_BITS = 5; - -// @ts-ignore: decorator -@lazy @inline const EXP2F_DATA_TAB = memory.data([ - // exp2f_data_tab[i] = uint(2^(i/N)) - (i << 52-BITS) - // used for computing 2^(k/N) for an int |k| < 150 N as - // double(tab[k%N] + (k << 52-BITS)) - 0x3FF0000000000000, 0x3FEFD9B0D3158574, 0x3FEFB5586CF9890F, 0x3FEF9301D0125B51, - 0x3FEF72B83C7D517B, 0x3FEF54873168B9AA, 0x3FEF387A6E756238, 0x3FEF1E9DF51FDEE1, - 0x3FEF06FE0A31B715, 0x3FEEF1A7373AA9CB, 0x3FEEDEA64C123422, 0x3FEECE086061892D, - 0x3FEEBFDAD5362A27, 0x3FEEB42B569D4F82, 0x3FEEAB07DD485429, 0x3FEEA47EB03A5585, - 0x3FEEA09E667F3BCD, 0x3FEE9F75E8EC5F74, 0x3FEEA11473EB0187, 0x3FEEA589994CCE13, - 0x3FEEACE5422AA0DB, 0x3FEEB737B0CDC5E5, 0x3FEEC49182A3F090, 0x3FEED503B23E255D, - 0x3FEEE89F995AD3AD, 0x3FEEFF76F2FB5E47, 0x3FEF199BDD85529C, 0x3FEF3720DCEF9069, - 0x3FEF5818DCFBA487, 0x3FEF7C97337B9B5F, 0x3FEFA4AFA2A490DA, 0x3FEFD0765B6E4540 -]); - -// ULP error: 0.502 (nearest rounding.) -// Relative error: 1.69 * 2^-34 in [-1/64, 1/64] (before rounding.) -// Wrong count: 168353 (all nearest rounding wrong results with fma.) -// @ts-ignore: decorator -@inline -export function exp2f_lut(x: f32): f32 { - const - N = 1 << EXP2F_TABLE_BITS, - N_MASK = N - 1, - shift = reinterpret(0x4338000000000000) / N, // 0x1.8p+52 - Ox127f = reinterpret(0x7F000000); - - const - C0 = reinterpret(0x3FAC6AF84B912394), // 0x1.c6af84b912394p-5 - C1 = reinterpret(0x3FCEBFCE50FAC4F3), // 0x1.ebfce50fac4f3p-3 - C2 = reinterpret(0x3FE62E42FF0C52D6); // 0x1.62e42ff0c52d6p-1 - - let xd = x; - let ix = reinterpret(x); - let ux = ix >> 20 & 0x7FF; - if (ux >= 0x430) { - // |x| >= 128 or x is nan. - if (ix == 0xFF800000) return 0; // x == -Inf -> 0 - if (ux >= 0x7F8) return x + x; // x == Inf/NaN -> Inf/NaN - if (x > 0) return x * Ox127f; // x > 0 -> HugeVal (Owerflow) - if (x <= -150) return 0; // x <= -150 -> 0 (Underflow) - } - - // x = k/N + r with r in [-1/(2N), 1/(2N)] and int k. - let kd = xd + shift; - let ki = reinterpret(kd); - let r = xd - (kd - shift); - let t: u64, y: f64, s: f64; - - // exp2(x) = 2^(k/N) * 2^r ~= s * (C0*r^3 + C1*r^2 + C2*r + 1) - t = load(EXP2F_DATA_TAB + ((ki & N_MASK) << alignof())); - t += ki << (52 - EXP2F_TABLE_BITS); - s = reinterpret(t); - y = C2 * r + 1; - y += (C0 * r + C1) * (r * r); - y *= s; - - return y; -} - -// ULP error: 0.502 (nearest rounding.) -// Relative error: 1.69 * 2^-34 in [-ln2/64, ln2/64] (before rounding.) -// Wrong count: 170635 (all nearest rounding wrong results with fma.) -// @ts-ignore: decorator -@inline -export function expf_lut(x: f32): f32 { - const - N = 1 << EXP2F_TABLE_BITS, - N_MASK = N - 1, - shift = reinterpret(0x4338000000000000), // 0x1.8p+52 - InvLn2N = reinterpret(0x3FF71547652B82FE) * N, // 0x1.71547652b82fep+0 - Ox1p127f = reinterpret(0x7F000000); - - const - C0 = reinterpret(0x3FAC6AF84B912394) / N / N / N, // 0x1.c6af84b912394p-5 - C1 = reinterpret(0x3FCEBFCE50FAC4F3) / N / N, // 0x1.ebfce50fac4f3p-3 - C2 = reinterpret(0x3FE62E42FF0C52D6) / N; // 0x1.62e42ff0c52d6p-1 - - let xd = x; - let ix = reinterpret(x); - let ux = ix >> 20 & 0x7FF; - if (ux >= 0x42B) { - // |x| >= 88 or x is nan. - if (ix == 0xFF800000) return 0; // x == -Inf -> 0 - if (ux >= 0x7F8) return x + x; // x == Inf/NaN -> Inf/NaN - if (x > reinterpret(0x42B17217)) return x * Ox1p127f; // x > log(0x1p128) ~= 88.72 -> HugeVal (Owerflow) - if (x < reinterpret(0xC2CFF1B4)) return 0; // x < log(0x1p-150) ~= -103.97 -> 0 (Underflow) - } - - // x*N/Ln2 = k + r with r in [-1/2, 1/2] and int k. - let z = InvLn2N * xd; - - // Round and convert z to int, the result is in [-150*N, 128*N] and - // ideally ties-to-even rule is used, otherwise the magnitude of r - // can be bigger which gives larger approximation error. - let kd = (z + shift); - let ki = reinterpret(kd); - let r = z - (kd - shift); - let s: f64, y: f64, t: u64; - - // exp(x) = 2^(k/N) * 2^(r/N) ~= s * (C0*r^3 + C1*r^2 + C2*r + 1) - t = load(EXP2F_DATA_TAB + ((ki & N_MASK) << alignof())); - t += ki << (52 - EXP2F_TABLE_BITS); - s = reinterpret(t); - z = C0 * r + C1; - y = C2 * r + 1; - y += z * (r * r); - y *= s; - - return y; -} - -// -// Lookup data for log2f -// - -// @ts-ignore: decorator -@inline const LOG2F_TABLE_BITS = 4; - -// @ts-ignore: decorator -@lazy @inline const LOG2F_DATA_TAB = memory.data([ - 0x3FF661EC79F8F3BE, 0xBFDEFEC65B963019, // 0x1.661ec79f8f3bep+0, -0x1.efec65b963019p-2, - 0x3FF571ED4AAF883D, 0xBFDB0B6832D4FCA4, // 0x1.571ed4aaf883dp+0, -0x1.b0b6832d4fca4p-2, - 0x3FF49539F0F010B0, 0xBFD7418B0A1FB77B, // 0x1.49539f0f010bp+0 , -0x1.7418b0a1fb77bp-2, - 0x3FF3C995B0B80385, 0xBFD39DE91A6DCF7B, // 0x1.3c995b0b80385p+0, -0x1.39de91a6dcf7bp-2, - 0x3FF30D190C8864A5, 0xBFD01D9BF3F2B631, // 0x1.30d190c8864a5p+0, -0x1.01d9bf3f2b631p-2, - 0x3FF25E227B0B8EA0, 0xBFC97C1D1B3B7AF0, // 0x1.25e227b0b8eap+0 , -0x1.97c1d1b3b7afp-3 , - 0x3FF1BB4A4A1A343F, 0xBFC2F9E393AF3C9F, // 0x1.1bb4a4a1a343fp+0, -0x1.2f9e393af3c9fp-3, - 0x3FF12358F08AE5BA, 0xBFB960CBBF788D5C, // 0x1.12358f08ae5bap+0, -0x1.960cbbf788d5cp-4, - 0x3FF0953F419900A7, 0xBFAA6F9DB6475FCE, // 0x1.0953f419900a7p+0, -0x1.a6f9db6475fcep-5, - 0x3FF0000000000000, 0, // 0x1p+0, 0x0, - 0x3FEE608CFD9A47AC, 0x3FB338CA9F24F53D, // 0x1.e608cfd9a47acp-1, 0x1.338ca9f24f53dp-4, - 0x3FECA4B31F026AA0, 0x3FC476A9543891BA, // 0x1.ca4b31f026aap-1 , 0x1.476a9543891bap-3, - 0x3FEB2036576AFCE6, 0x3FCE840B4AC4E4D2, // 0x1.b2036576afce6p-1, 0x1.e840b4ac4e4d2p-3, - 0x3FE9C2D163A1AA2D, 0x3FD40645F0C6651C, // 0x1.9c2d163a1aa2dp-1, 0x1.40645f0c6651cp-2, - 0x3FE886E6037841ED, 0x3FD88E9C2C1B9FF8, // 0x1.886e6037841edp-1, 0x1.88e9c2c1b9ff8p-2, - 0x3FE767DCF5534862, 0x3FDCE0A44EB17BCC // 0x1.767dcf5534862p-1, 0x1.ce0a44eb17bccp-2 -]); - -// ULP error: 0.752 (nearest rounding.) -// Relative error: 1.9 * 2^-26 (before rounding.) -// @ts-ignore: decorator -@inline -export function log2f_lut(x: f32): f32 { - const - N_MASK = (1 << LOG2F_TABLE_BITS) - 1, - Ox1p23f = reinterpret(0x4B000000); // 0x1p23f - - const - A0 = reinterpret(0xBFD712B6F70A7E4D), // -0x1.712b6f70a7e4dp-2 - A1 = reinterpret(0x3FDECABF496832E0), // 0x1.ecabf496832ep-2 - A2 = reinterpret(0xBFE715479FFAE3DE), // -0x1.715479ffae3dep-1 - A3 = reinterpret(0x3FF715475F35C8B8); // 0x1.715475f35c8b8p0 - - let ux = reinterpret(x); - // Fix sign of zero with downward rounding when x==1. - // if (WANT_ROUNDING && predict_false(ix == 0x3f800000)) return 0; - if (ux - 0x00800000 >= 0x7F800000 - 0x00800000) { - // x < 0x1p-126 or inf or nan. - if (ux * 2 == 0) return -Infinity; - if (ux == 0x7F800000) return x; // log2(inf) == inf. - if ((ux >> 31) || ux * 2 >= 0xFF000000) return (x - x) / (x - x); - // x is subnormal, normalize it. - ux = reinterpret(x * Ox1p23f); - ux -= 23 << 23; - } - // x = 2^k z; where z is in range [OFF,2*OFF] and exact. - // The range is split into N subintervals. - // The ith subinterval contains z and c is near its center. - let tmp = ux - 0x3F330000; - let i = (tmp >> (23 - LOG2F_TABLE_BITS)) & N_MASK; - let top = tmp & 0xFF800000; - let iz = ux - top; - let k = tmp >> 23; - - let invc = load(LOG2F_DATA_TAB + (i << (1 + alignof())), 0 << alignof()); - let logc = load(LOG2F_DATA_TAB + (i << (1 + alignof())), 1 << alignof()); - let z = reinterpret(iz); - - // log2(x) = log1p(z/c-1)/ln2 + log2(c) + k - let r = z * invc - 1; - let y0 = logc + k; - - // Pipelined polynomial evaluation to approximate log1p(r)/ln2. - let y = A1 * r + A2; - let p = A3 * r + y0; - let r2 = r * r; - y += A0 * r2; - y = y * r2 + p; - - return y; -} - -// -// Lookup data for logf. See: https://git.musl-libc.org/cgit/musl/tree/src/math/logf.c -// - -// @ts-ignore: decorator -@inline const LOGF_TABLE_BITS = 4; - -// @ts-ignore: decorator -@lazy @inline const LOGF_DATA_TAB = memory.data([ - 0x3FF661EC79F8F3BE, 0xBFD57BF7808CAADE, // 0x1.661ec79f8f3bep+0, -0x1.57bf7808caadep-2, - 0x3FF571ED4AAF883D, 0xBFD2BEF0A7C06DDB, // 0x1.571ed4aaf883dp+0, -0x1.2bef0a7c06ddbp-2, - 0x3FF49539F0F010B0, 0xBFD01EAE7F513A67, // 0x1.49539f0f010bp+0 , -0x1.01eae7f513a67p-2, - 0x3FF3C995B0B80385, 0xBFCB31D8A68224E9, // 0x1.3c995b0b80385p+0, -0x1.b31d8a68224e9p-3, - 0x3FF30D190C8864A5, 0xBFC6574F0AC07758, // 0x1.30d190c8864a5p+0, -0x1.6574f0ac07758p-3, - 0x3FF25E227B0B8EA0, 0xBFC1AA2BC79C8100, // 0x1.25e227b0b8eap+0 , -0x1.1aa2bc79c81p-3 , - 0x3FF1BB4A4A1A343F, 0xBFBA4E76CE8C0E5E, // 0x1.1bb4a4a1a343fp+0, -0x1.a4e76ce8c0e5ep-4, - 0x3FF12358F08AE5BA, 0xBFB1973C5A611CCC, // 0x1.12358f08ae5bap+0, -0x1.1973c5a611cccp-4, - 0x3FF0953F419900A7, 0xBFA252F438E10C1E, // 0x1.0953f419900a7p+0, -0x1.252f438e10c1ep-5, - 0x3FF0000000000000, 0, // 0x1p+0, 0, - 0x3FEE608CFD9A47AC, 0x3FAAA5AA5DF25984, // 0x1.e608cfd9a47acp-1, 0x1.aa5aa5df25984p-5, - 0x3FECA4B31F026AA0, 0x3FBC5E53AA362EB4, // 0x1.ca4b31f026aap-1 , 0x1.c5e53aa362eb4p-4, - 0x3FEB2036576AFCE6, 0x3FC526E57720DB08, // 0x1.b2036576afce6p-1, 0x1.526e57720db08p-3, - 0x3FE9C2D163A1AA2D, 0x3FCBC2860D224770, // 0x1.9c2d163a1aa2dp-1, 0x1.bc2860d22477p-3 , - 0x3FE886E6037841ED, 0x3FD1058BC8A07EE1, // 0x1.886e6037841edp-1, 0x1.1058bc8a07ee1p-2, - 0x3FE767DCF5534862, 0x3FD4043057B6EE09 // 0x1.767dcf5534862p-1, 0x1.4043057b6ee09p-2 -]); - -// ULP error: 0.818 (nearest rounding.) -// Relative error: 1.957 * 2^-26 (before rounding.) -// @ts-ignore: decorator -@inline -export function logf_lut(x: f32): f32 { - const - N_MASK = (1 << LOGF_TABLE_BITS) - 1, - Ox1p23f = reinterpret(0x4B000000); // 0x1p23f - - const - Ln2 = reinterpret(0x3FE62E42FEFA39EF), // 0x1.62e42fefa39efp-1; - A0 = reinterpret(0xBFD00EA348B88334), // -0x1.00ea348b88334p-2 - A1 = reinterpret(0x3FD5575B0BE00B6A), // 0x1.5575b0be00b6ap-2 - A2 = reinterpret(0xBFDFFFFEF20A4123); // -0x1.ffffef20a4123p-2 - - let ux = reinterpret(x); - // Fix sign of zero with downward rounding when x==1. - // if (WANT_ROUNDING && ux == 0x3f800000) return 0; - if (ux - 0x00800000 >= 0x7F800000 - 0x00800000) { - // x < 0x1p-126 or inf or nan. - if ((ux << 1) == 0) return -Infinity; - if (ux == 0x7F800000) return x; // log(inf) == inf. - if ((ux >> 31) || (ux << 1) >= 0xFF000000) return (x - x) / (x - x); - // x is subnormal, normalize it. - ux = reinterpret(x * Ox1p23f); - ux -= 23 << 23; - } - // x = 2^k z; where z is in range [OFF,2*OFF] and exact. - // The range is split into N subintervals. - // The ith subinterval contains z and c is near its center. - let tmp = ux - 0x3F330000; - let i = (tmp >> (23 - LOGF_TABLE_BITS)) & N_MASK; - let k = tmp >> 23; - let iz = ux - (tmp & 0x1FF << 23); - - let invc = load(LOGF_DATA_TAB + (i << (1 + alignof())), 0 << alignof()); - let logc = load(LOGF_DATA_TAB + (i << (1 + alignof())), 1 << alignof()); - - let z = reinterpret(iz); - - // log(x) = log1p(z/c-1) + log(c) + k*Ln2 - let r = z * invc - 1; - let y0 = logc + k * Ln2; - - // Pipelined polynomial evaluation to approximate log1p(r). - let r2 = r * r; - let y = A1 * r + A2; - y += A0 * r2; - y = y * r2 + (y0 + r); - - return y; -} - -// -// Lookup data for powf. See: https://git.musl-libc.org/cgit/musl/tree/src/math/powf.c -// - -// @ts-ignore: decorator -@inline -function zeroinfnanf(ux: u32): bool { - return (ux << 1) - 1 >= (0x7f800000 << 1) - 1; -} - -// Returns 0 if not int, 1 if odd int, 2 if even int. The argument is -// the bit representation of a non-zero finite floating-point value. -// @ts-ignore: decorator -@inline -function checkintf(iy: u32): i32 { - let e = iy >> 23 & 0xFF; - if (e < 0x7F ) return 0; - if (e > 0x7F + 23) return 2; - e = 1 << (0x7F + 23 - e); - if (iy & (e - 1)) return 0; - if (iy & e ) return 1; - return 2; -} - -// Subnormal input is normalized so ix has negative biased exponent. -// Output is multiplied by N (POWF_SCALE) if TOINT_INTRINICS is set. -// @ts-ignore: decorator -@inline -function log2f_inline(ux: u32): f64 { - const N_MASK = (1 << LOG2F_TABLE_BITS) - 1; - - const - A0 = reinterpret(0x3FD27616C9496E0B), // 0x1.27616c9496e0bp-2 - A1 = reinterpret(0xBFD71969A075C67A), // -0x1.71969a075c67ap-2 - A2 = reinterpret(0x3FDEC70A6CA7BADD), // 0x1.ec70a6ca7baddp-2 - A3 = reinterpret(0xBFE7154748BEF6C8), // -0x1.7154748bef6c8p-1 - A4 = reinterpret(0x3FF71547652AB82B); // 0x1.71547652ab82bp+0 - - // x = 2^k z; where z is in range [OFF,2*OFF] and exact. - // The range is split into N subintervals. - // The ith subinterval contains z and c is near its center. - let tmp = ux - 0x3F330000; - let i = usize((tmp >> (23 - LOG2F_TABLE_BITS)) & N_MASK); - let top = tmp & 0xFF800000; - let uz = ux - top; - let k = top >> 23; - - let invc = load(LOG2F_DATA_TAB + (i << (1 + alignof())), 0 << alignof()); - let logc = load(LOG2F_DATA_TAB + (i << (1 + alignof())), 1 << alignof()); - let z = reinterpret(uz); - - // log2(x) = log1p(z/c-1)/ln2 + log2(c) + k - let r = z * invc - 1; - let y0 = logc + k; - - // Pipelined polynomial evaluation to approximate log1p(r)/ln2. - let y = A0 * r + A1; - let p = A2 * r + A3; - let q = A4 * r + y0; - - r *= r; - q += p * r; - y = y * (r * r) + q; - - return y; -} - -// The output of log2 and thus the input of exp2 is either scaled by N -// (in case of fast toint intrinsics) or not. The unscaled xd must be -// in [-1021,1023], sign_bias sets the sign of the result. -// @ts-ignore: decorator -@inline -function exp2f_inline(xd: f64, signBias: u32): f32 { - const - N = 1 << EXP2F_TABLE_BITS, - N_MASK = N - 1, - shift = reinterpret(0x4338000000000000) / N; // 0x1.8p+52 - - const - C0 = reinterpret(0x3FAC6AF84B912394), // 0x1.c6af84b912394p-5 - C1 = reinterpret(0x3FCEBFCE50FAC4F3), // 0x1.ebfce50fac4f3p-3 - C2 = reinterpret(0x3FE62E42FF0C52D6); // 0x1.62e42ff0c52d6p-1 - - // x = k/N + r with r in [-1/(2N), 1/(2N)] - let kd = (xd + shift); - let ki = reinterpret(kd); - let r = xd - (kd - shift); - let t: u64, z: f64, y: f64, s: f64; - - // exp2(x) = 2^(k/N) * 2^r ~= s * (C0*r^3 + C1*r^2 + C2*r + 1) - t = load(EXP2F_DATA_TAB + ((ki & N_MASK) << alignof())); - t += (ki + signBias) << (52 - EXP2F_TABLE_BITS); - s = reinterpret(t); - z = C0 * r + C1; - y = C2 * r + 1; - y += z * (r * r); - y *= s; - return y; -} - -// @ts-ignore: decorator -@inline -function xflowf(sign: u32, y: f32): f32 { - return select(-y, y, sign) * y; -} - -// @ts-ignore: decorator -@inline -function oflowf(sign: u32): f32 { - return xflowf(sign, reinterpret(0x70000000)); // 0x1p97f -} - -// @ts-ignore: decorator -@inline -function uflowf(sign: u32): f32 { - return xflowf(sign, reinterpret(0x10000000)); // 0x1p-95f -} - -// @ts-ignore: decorator -@inline -export function powf_lut(x: f32, y: f32): f32 { - const - Ox1p23f = reinterpret(0x4B000000), // 0x1p23f - UPPER_LIMIT = reinterpret(0x405FFFFFFFD1D571), // 0x1.fffffffd1d571p+6 - LOWER_LIMIT = -150.0, - SIGN_BIAS = 1 << (EXP2F_TABLE_BITS + 11); - - let signBias: u32 = 0; - let ix = reinterpret(x); - let iy = reinterpret(y); - let ny = 0; - - if (i32(ix - 0x00800000 >= 0x7f800000 - 0x00800000) | (ny = i32(zeroinfnanf(iy)))) { - // Either (x < 0x1p-126 or inf or nan) or (y is 0 or inf or nan). - if (ny) { - if ((iy << 1) == 0) return 1.0; - if (ix == 0x3F800000) return NaN; // original: 1.0 - if ((ix << 1) > (0x7F800000 << 1) || (iy << 1) > (0x7F800000 << 1)) return x + y; - if ((ix << 1) == (0x3F800000 << 1)) return NaN; // original: 1.0 - if (((ix << 1) < (0x3F800000 << 1)) == !(iy >> 31)) return 0; // |x| < 1 && y==inf or |x| > 1 && y==-inf. - return y * y; - } - if (zeroinfnanf(ix)) { - let x2 = x * x; - if ((ix >> 31) && checkintf(iy) == 1) x2 = -x2; - return iy < 0 ? 1 / x2 : x2; - } - // x and y are non-zero finite. - if (ix < 0) { - // Finite x < 0. - let yint = checkintf(iy); - if (yint == 0) return (x - x) / (x - x); - if (yint == 1) signBias = SIGN_BIAS; - ix &= 0x7FFFFFFF; - } - if (ix < 0x00800000) { - // Normalize subnormal x so exponent becomes negative. - ix = reinterpret(x * Ox1p23f); - ix &= 0x7FFFFFFF; - ix -= 23 << 23; - } - } - let logx = log2f_inline(ix); - let ylogx = y * logx; // cannot overflow, y is single prec. - if ((reinterpret(ylogx) >> 47 & 0xFFFF) >= 0x80BF) { // reinterpret(126.0) >> 47 - // |y * log(x)| >= 126 - if (ylogx > UPPER_LIMIT) return oflowf(signBias); // overflow - if (ylogx <= LOWER_LIMIT) return uflowf(signBias); // underflow - } - return exp2f_inline(ylogx, signBias); -} - -// -// Lookup data for exp. See: https://git.musl-libc.org/cgit/musl/tree/src/math/exp.c -// - -// @ts-ignore: decorator -@inline const EXP_TABLE_BITS = 7; - -// @ts-ignore: decorator -@lazy @inline const EXP_DATA_TAB = memory.data([ - 0x0000000000000000, 0x3FF0000000000000, - 0x3C9B3B4F1A88BF6E, 0x3FEFF63DA9FB3335, - 0xBC7160139CD8DC5D, 0x3FEFEC9A3E778061, - 0xBC905E7A108766D1, 0x3FEFE315E86E7F85, - 0x3C8CD2523567F613, 0x3FEFD9B0D3158574, - 0xBC8BCE8023F98EFA, 0x3FEFD06B29DDF6DE, - 0x3C60F74E61E6C861, 0x3FEFC74518759BC8, - 0x3C90A3E45B33D399, 0x3FEFBE3ECAC6F383, - 0x3C979AA65D837B6D, 0x3FEFB5586CF9890F, - 0x3C8EB51A92FDEFFC, 0x3FEFAC922B7247F7, - 0x3C3EBE3D702F9CD1, 0x3FEFA3EC32D3D1A2, - 0xBC6A033489906E0B, 0x3FEF9B66AFFED31B, - 0xBC9556522A2FBD0E, 0x3FEF9301D0125B51, - 0xBC5080EF8C4EEA55, 0x3FEF8ABDC06C31CC, - 0xBC91C923B9D5F416, 0x3FEF829AAEA92DE0, - 0x3C80D3E3E95C55AF, 0x3FEF7A98C8A58E51, - 0xBC801B15EAA59348, 0x3FEF72B83C7D517B, - 0xBC8F1FF055DE323D, 0x3FEF6AF9388C8DEA, - 0x3C8B898C3F1353BF, 0x3FEF635BEB6FCB75, - 0xBC96D99C7611EB26, 0x3FEF5BE084045CD4, - 0x3C9AECF73E3A2F60, 0x3FEF54873168B9AA, - 0xBC8FE782CB86389D, 0x3FEF4D5022FCD91D, - 0x3C8A6F4144A6C38D, 0x3FEF463B88628CD6, - 0x3C807A05B0E4047D, 0x3FEF3F49917DDC96, - 0x3C968EFDE3A8A894, 0x3FEF387A6E756238, - 0x3C875E18F274487D, 0x3FEF31CE4FB2A63F, - 0x3C80472B981FE7F2, 0x3FEF2B4565E27CDD, - 0xBC96B87B3F71085E, 0x3FEF24DFE1F56381, - 0x3C82F7E16D09AB31, 0x3FEF1E9DF51FDEE1, - 0xBC3D219B1A6FBFFA, 0x3FEF187FD0DAD990, - 0x3C8B3782720C0AB4, 0x3FEF1285A6E4030B, - 0x3C6E149289CECB8F, 0x3FEF0CAFA93E2F56, - 0x3C834D754DB0ABB6, 0x3FEF06FE0A31B715, - 0x3C864201E2AC744C, 0x3FEF0170FC4CD831, - 0x3C8FDD395DD3F84A, 0x3FEEFC08B26416FF, - 0xBC86A3803B8E5B04, 0x3FEEF6C55F929FF1, - 0xBC924AEDCC4B5068, 0x3FEEF1A7373AA9CB, - 0xBC9907F81B512D8E, 0x3FEEECAE6D05D866, - 0xBC71D1E83E9436D2, 0x3FEEE7DB34E59FF7, - 0xBC991919B3CE1B15, 0x3FEEE32DC313A8E5, - 0x3C859F48A72A4C6D, 0x3FEEDEA64C123422, - 0xBC9312607A28698A, 0x3FEEDA4504AC801C, - 0xBC58A78F4817895B, 0x3FEED60A21F72E2A, - 0xBC7C2C9B67499A1B, 0x3FEED1F5D950A897, - 0x3C4363ED60C2AC11, 0x3FEECE086061892D, - 0x3C9666093B0664EF, 0x3FEECA41ED1D0057, - 0x3C6ECCE1DAA10379, 0x3FEEC6A2B5C13CD0, - 0x3C93FF8E3F0F1230, 0x3FEEC32AF0D7D3DE, - 0x3C7690CEBB7AAFB0, 0x3FEEBFDAD5362A27, - 0x3C931DBDEB54E077, 0x3FEEBCB299FDDD0D, - 0xBC8F94340071A38E, 0x3FEEB9B2769D2CA7, - 0xBC87DECCDC93A349, 0x3FEEB6DAA2CF6642, - 0xBC78DEC6BD0F385F, 0x3FEEB42B569D4F82, - 0xBC861246EC7B5CF6, 0x3FEEB1A4CA5D920F, - 0x3C93350518FDD78E, 0x3FEEAF4736B527DA, - 0x3C7B98B72F8A9B05, 0x3FEEAD12D497C7FD, - 0x3C9063E1E21C5409, 0x3FEEAB07DD485429, - 0x3C34C7855019C6EA, 0x3FEEA9268A5946B7, - 0x3C9432E62B64C035, 0x3FEEA76F15AD2148, - 0xBC8CE44A6199769F, 0x3FEEA5E1B976DC09, - 0xBC8C33C53BEF4DA8, 0x3FEEA47EB03A5585, - 0xBC845378892BE9AE, 0x3FEEA34634CCC320, - 0xBC93CEDD78565858, 0x3FEEA23882552225, - 0x3C5710AA807E1964, 0x3FEEA155D44CA973, - 0xBC93B3EFBF5E2228, 0x3FEEA09E667F3BCD, - 0xBC6A12AD8734B982, 0x3FEEA012750BDABF, - 0xBC6367EFB86DA9EE, 0x3FEE9FB23C651A2F, - 0xBC80DC3D54E08851, 0x3FEE9F7DF9519484, - 0xBC781F647E5A3ECF, 0x3FEE9F75E8EC5F74, - 0xBC86EE4AC08B7DB0, 0x3FEE9F9A48A58174, - 0xBC8619321E55E68A, 0x3FEE9FEB564267C9, - 0x3C909CCB5E09D4D3, 0x3FEEA0694FDE5D3F, - 0xBC7B32DCB94DA51D, 0x3FEEA11473EB0187, - 0x3C94ECFD5467C06B, 0x3FEEA1ED0130C132, - 0x3C65EBE1ABD66C55, 0x3FEEA2F336CF4E62, - 0xBC88A1C52FB3CF42, 0x3FEEA427543E1A12, - 0xBC9369B6F13B3734, 0x3FEEA589994CCE13, - 0xBC805E843A19FF1E, 0x3FEEA71A4623C7AD, - 0xBC94D450D872576E, 0x3FEEA8D99B4492ED, - 0x3C90AD675B0E8A00, 0x3FEEAAC7D98A6699, - 0x3C8DB72FC1F0EAB4, 0x3FEEACE5422AA0DB, - 0xBC65B6609CC5E7FF, 0x3FEEAF3216B5448C, - 0x3C7BF68359F35F44, 0x3FEEB1AE99157736, - 0xBC93091FA71E3D83, 0x3FEEB45B0B91FFC6, - 0xBC5DA9B88B6C1E29, 0x3FEEB737B0CDC5E5, - 0xBC6C23F97C90B959, 0x3FEEBA44CBC8520F, - 0xBC92434322F4F9AA, 0x3FEEBD829FDE4E50, - 0xBC85CA6CD7668E4B, 0x3FEEC0F170CA07BA, - 0x3C71AFFC2B91CE27, 0x3FEEC49182A3F090, - 0x3C6DD235E10A73BB, 0x3FEEC86319E32323, - 0xBC87C50422622263, 0x3FEECC667B5DE565, - 0x3C8B1C86E3E231D5, 0x3FEED09BEC4A2D33, - 0xBC91BBD1D3BCBB15, 0x3FEED503B23E255D, - 0x3C90CC319CEE31D2, 0x3FEED99E1330B358, - 0x3C8469846E735AB3, 0x3FEEDE6B5579FDBF, - 0xBC82DFCD978E9DB4, 0x3FEEE36BBFD3F37A, - 0x3C8C1A7792CB3387, 0x3FEEE89F995AD3AD, - 0xBC907B8F4AD1D9FA, 0x3FEEEE07298DB666, - 0xBC55C3D956DCAEBA, 0x3FEEF3A2B84F15FB, - 0xBC90A40E3DA6F640, 0x3FEEF9728DE5593A, - 0xBC68D6F438AD9334, 0x3FEEFF76F2FB5E47, - 0xBC91EEE26B588A35, 0x3FEF05B030A1064A, - 0x3C74FFD70A5FDDCD, 0x3FEF0C1E904BC1D2, - 0xBC91BDFBFA9298AC, 0x3FEF12C25BD71E09, - 0x3C736EAE30AF0CB3, 0x3FEF199BDD85529C, - 0x3C8EE3325C9FFD94, 0x3FEF20AB5FFFD07A, - 0x3C84E08FD10959AC, 0x3FEF27F12E57D14B, - 0x3C63CDAF384E1A67, 0x3FEF2F6D9406E7B5, - 0x3C676B2C6C921968, 0x3FEF3720DCEF9069, - 0xBC808A1883CCB5D2, 0x3FEF3F0B555DC3FA, - 0xBC8FAD5D3FFFFA6F, 0x3FEF472D4A07897C, - 0xBC900DAE3875A949, 0x3FEF4F87080D89F2, - 0x3C74A385A63D07A7, 0x3FEF5818DCFBA487, - 0xBC82919E2040220F, 0x3FEF60E316C98398, - 0x3C8E5A50D5C192AC, 0x3FEF69E603DB3285, - 0x3C843A59AC016B4B, 0x3FEF7321F301B460, - 0xBC82D52107B43E1F, 0x3FEF7C97337B9B5F, - 0xBC892AB93B470DC9, 0x3FEF864614F5A129, - 0x3C74B604603A88D3, 0x3FEF902EE78B3FF6, - 0x3C83C5EC519D7271, 0x3FEF9A51FBC74C83, - 0xBC8FF7128FD391F0, 0x3FEFA4AFA2A490DA, - 0xBC8DAE98E223747D, 0x3FEFAF482D8E67F1, - 0x3C8EC3BC41AA2008, 0x3FEFBA1BEE615A27, - 0x3C842B94C3A9EB32, 0x3FEFC52B376BBA97, - 0x3C8A64A931D185EE, 0x3FEFD0765B6E4540, - 0xBC8E37BAE43BE3ED, 0x3FEFDBFDAD9CBE14, - 0x3C77893B4D91CD9D, 0x3FEFE7C1819E90D8, - 0x3C5305C14160CC89, 0x3FEFF3C22B8F71F1 -]); - -// Handle cases that may overflow or underflow when computing the result that -// is scale*(1+TMP) without intermediate rounding. The bit representation of -// scale is in SBITS, however it has a computed exponent that may have -// overflown into the sign bit so that needs to be adjusted before using it as -// a double. (int32_t)KI is the k used in the argument reduction and exponent -// adjustment of scale, positive k here means the result may overflow and -// negative k means the result may underflow. -// @ts-ignore: decorator -@inline -function specialcase(tmp: f64, sbits: u64, ki: u64): f64 { - const - Ox1p_1022 = reinterpret(0x0010000000000000), // 0x1p-1022 - Ox1p1009 = reinterpret(0x7F00000000000000); // 0x1p1009 - - let scale: f64; - if (!(ki & 0x80000000)) { - // k > 0, the exponent of scale might have overflowed by <= 460. - sbits -= u64(1009) << 52; - scale = reinterpret(sbits); - return Ox1p1009 * (scale + scale * tmp); // 0x1p1009 - } - // k < 0, need special care in the subnormal range. - sbits += u64(1022) << 52; - // Note: sbits is signed scale. - scale = reinterpret(sbits); - let y = scale + scale * tmp; - if (abs(y) < 1.0) { - // Round y to the right precision before scaling it into the subnormal - // range to avoid double rounding that can cause 0.5+E/2 ulp error where - // E is the worst-case ulp error outside the subnormal range. So this - // is only useful if the goal is better than 1 ulp worst-case error. - let one = copysign(1.0, y); - let lo = scale - y + scale * tmp; - let hi = one + y; - lo = one - hi + y + lo; - y = (hi + lo) - one; - // Fix the sign of 0. - if (y == 0.0) y = reinterpret(sbits & 0x8000000000000000); - } - return y * Ox1p_1022; -} - -// @ts-ignore: decorator -@inline -export function exp_lut(x: f64): f64 { - const - N = 1 << EXP_TABLE_BITS, - N_MASK = N - 1; - - const - InvLn2N = reinterpret(0x3FF71547652B82FE) * N, // 0x1.71547652b82fep0 - NegLn2hiN = reinterpret(0xBF762E42FEFA0000), // -0x1.62e42fefa0000p-8 - NegLn2loN = reinterpret(0xBD0CF79ABC9E3B3A), // -0x1.cf79abc9e3b3ap-47 - shift = reinterpret(0x4338000000000000); // 0x1.8p52; - - const - C2 = reinterpret(0x3FDFFFFFFFFFFDBD), // __exp_data.poly[0] (0x1.ffffffffffdbdp-2) - C3 = reinterpret(0x3FC555555555543C), // __exp_data.poly[1] (0x1.555555555543cp-3) - C4 = reinterpret(0x3FA55555CF172B91), // __exp_data.poly[2] (0x1.55555cf172b91p-5) - C5 = reinterpret(0x3F81111167A4D017); // __exp_data.poly[3] (0x1.1111167a4d017p-7) - - let ux = reinterpret(x); - let abstop = u32(ux >> 52) & 0x7FF; - if (abstop - 0x3C9 >= 0x03F) { - if (abstop - 0x3C9 >= 0x80000000) return 1; - if (abstop >= 0x409) { - if (ux == 0xFFF0000000000000) return 0; - if (abstop >= 0x7FF) { - return 1.0 + x; - } else { - return select(0, Infinity, ux < 0); - } - } - // Large x is special cased below. - abstop = 0; - } - - // exp(x) = 2^(k/N) * exp(r), with exp(r) in [2^(-1/2N),2^(1/2N)] - // x = ln2/N*k + r, with int k and r in [-ln2/2N, ln2/2N] - let z = InvLn2N * x; - // #if TOINT_INTRINSICS - // kd = roundtoint(z); - // ki = converttoint(z); - // #elif EXP_USE_TOINT_NARROW - // // z - kd is in [-0.5-2^-16, 0.5] in all rounding modes. - // let kd = z + shift; - // let ki = reinterpret(kd) >> 16; - // let kd = ki; - // #else - // z - kd is in [-1, 1] in non-nearest rounding modes. - let kd = z + shift; - let ki = reinterpret(kd); - kd -= shift; - // #endif - let r = x + kd * NegLn2hiN + kd * NegLn2loN; - // 2^(k/N) ~= scale * (1 + tail). - let idx = usize((ki & N_MASK) << 1); - let top = ki << (52 - EXP_TABLE_BITS); - - let tail = reinterpret(load(EXP_DATA_TAB + (idx << alignof()))); // T[idx] - // This is only a valid scale when -1023*N < k < 1024*N - let sbits = load(EXP_DATA_TAB + (idx << alignof()), 1 << alignof()) + top; // T[idx + 1] - // exp(x) = 2^(k/N) * exp(r) ~= scale + scale * (tail + exp(r) - 1). - // Evaluation is optimized assuming superscalar pipelined execution. - let r2 = r * r; - // Without fma the worst case error is 0.25/N ulp larger. - // Worst case error is less than 0.5+1.11/N+(abs poly error * 2^53) ulp. - let tmp = tail + r + r2 * (C2 + r * C3) + r2 * r2 * (C4 + r * C5); - if (abstop == 0) return specialcase(tmp, sbits, ki); - let scale = reinterpret(sbits); - // Note: tmp == 0 or |tmp| > 2^-200 and scale > 2^-739, so there - // is no spurious underflow here even without fma. - return scale + scale * tmp; -} - -// -// Lookup data for exp2. See: https://git.musl-libc.org/cgit/musl/tree/src/math/exp2.c -// - -// Handle cases that may overflow or underflow when computing the result that -// is scale*(1+TMP) without intermediate rounding. The bit representation of -// scale is in SBITS, however it has a computed exponent that may have -// overflown into the sign bit so that needs to be adjusted before using it as -// a double. (int32_t)KI is the k used in the argument reduction and exponent -// adjustment of scale, positive k here means the result may overflow and -// negative k means the result may underflow. -// @ts-ignore: decorator -@inline -function specialcase2(tmp: f64, sbits: u64, ki: u64): f64 { - const Ox1p_1022 = reinterpret(0x10000000000000); // 0x1p-1022 - let scale: f64; - if ((ki & 0x80000000) == 0) { - // k > 0, the exponent of scale might have overflowed by 1 - sbits -= u64(1) << 52; - scale = reinterpret(sbits); - return 2 * (scale * tmp + scale); - } - // k < 0, need special care in the subnormal range - sbits += u64(1022) << 52; - scale = reinterpret(sbits); - let y = scale * tmp + scale; - if (y < 1.0) { - // Round y to the right precision before scaling it into the subnormal - // range to avoid double rounding that can cause 0.5+E/2 ulp error where - // E is the worst-case ulp error outside the subnormal range. So this - // is only useful if the goal is better than 1 ulp worst-case error. - let hi: f64, lo: f64; - lo = scale - y + scale * tmp; - hi = 1.0 + y; - lo = 1.0 - hi + y + lo; - y = (hi + lo) - 1.0; - } - return y * Ox1p_1022; -} - -// @ts-ignore: decorator -@inline -export function exp2_lut(x: f64): f64 { - const - N = 1 << EXP_TABLE_BITS, - N_MASK = N - 1, - shift = reinterpret(0x4338000000000000) / N; // 0x1.8p52 - - const - C1 = reinterpret(0x3FE62E42FEFA39EF), // 0x1.62e42fefa39efp-1 - C2 = reinterpret(0x3FCEBFBDFF82C424), // 0x1.ebfbdff82c424p-3 - C3 = reinterpret(0x3FAC6B08D70CF4B5), // 0x1.c6b08d70cf4b5p-5 - C4 = reinterpret(0x3F83B2ABD24650CC), // 0x1.3b2abd24650ccp-7 - C5 = reinterpret(0x3F55D7E09B4E3A84); // 0x1.5d7e09b4e3a84p-10 - - let ux = reinterpret(x); - let abstop = u32(ux >> 52) & 0x7ff; - if (abstop - 0x3C9 >= 0x03F) { - if (abstop - 0x3C9 >= 0x80000000) return 1.0; - if (abstop >= 0x409) { - if (ux == 0xFFF0000000000000) return 0; - if (abstop >= 0x7FF) return 1.0 + x; - if (ux >= 0) return Infinity; - else if (ux >= 0xC090CC0000000000) return 0; - } - if ((ux << 1) > 0x811A000000000000) abstop = 0; // Large x is special cased below. - } - - // exp2(x) = 2^(k/N) * 2^r, with 2^r in [2^(-1/2N),2^(1/2N)]. - // x = k/N + r, with int k and r in [-1/2N, 1/2N] - let kd = x + shift; - let ki = reinterpret(kd); - kd -= shift; // k/N for int k - let r = x - kd; - // 2^(k/N) ~= scale * (1 + tail) - let idx = usize((ki & N_MASK) << 1); - let top = ki << (52 - EXP_TABLE_BITS); - - let tail = reinterpret(load(EXP_DATA_TAB + (idx << alignof()), 0 << alignof())); // T[idx]) - // This is only a valid scale when -1023*N < k < 1024*N - let sbits = load(EXP_DATA_TAB + (idx << alignof()), 1 << alignof()) + top; // T[idx + 1] - // exp2(x) = 2^(k/N) * 2^r ~= scale + scale * (tail + 2^r - 1). - // Evaluation is optimized assuming superscalar pipelined execution - let r2 = r * r; - // Without fma the worst case error is 0.5/N ulp larger. - // Worst case error is less than 0.5+0.86/N+(abs poly error * 2^53) ulp. - let tmp = tail + r * C1 + r2 * (C2 + r * C3) + r2 * r2 * (C4 + r * C5); - if (abstop == 0) return specialcase2(tmp, sbits, ki); - let scale = reinterpret(sbits); - // Note: tmp == 0 or |tmp| > 2^-65 and scale > 2^-928, so there - // is no spurious underflow here even without fma. - return scale * tmp + scale; -} - -// -// Lookup data for log2. See: https://git.musl-libc.org/cgit/musl/tree/src/math/log2.c -// - -// @ts-ignore: decorator -@inline const LOG2_TABLE_BITS = 6; - -/* Algorithm: - - x = 2^k z - log2(x) = k + log2(c) + log2(z/c) - log2(z/c) = poly(z/c - 1) - -where z is in [1.6p-1; 1.6p0] which is split into N subintervals and z falls -into the ith one, then table entries are computed as - - tab[i].invc = 1/c - tab[i].logc = (double)log2(c) - tab2[i].chi = (double)c - tab2[i].clo = (double)(c - (double)c) - -where c is near the center of the subinterval and is chosen by trying +-2^29 -floating point invc candidates around 1/center and selecting one for which - - 1) the rounding error in 0x1.8p10 + logc is 0, - 2) the rounding error in z - chi - clo is < 0x1p-64 and - 3) the rounding error in (double)log2(c) is minimized (< 0x1p-68). - -Note: 1) ensures that k + logc can be computed without rounding error, 2) -ensures that z/c - 1 can be computed as (z - chi - clo)*invc with close to a -single rounding error when there is no fast fma for z*invc - 1, 3) ensures -that logc + poly(z/c - 1) has small error, however near x == 1 when -|log2(x)| < 0x1p-4, this is not enough so that is special cased. */ - -// @ts-ignore: decorator -@lazy @inline const LOG2_DATA_TAB1 = memory.data([ - // invc , logc - 0x3FF724286BB1ACF8, 0xBFE1095FEECDB000, - 0x3FF6E1F766D2CCA1, 0xBFE08494BD76D000, - 0x3FF6A13D0E30D48A, 0xBFE00143AEE8F800, - 0x3FF661EC32D06C85, 0xBFDEFEC5360B4000, - 0x3FF623FA951198F8, 0xBFDDFDD91AB7E000, - 0x3FF5E75BA4CF026C, 0xBFDCFFAE0CC79000, - 0x3FF5AC055A214FB8, 0xBFDC043811FDA000, - 0x3FF571ED0F166E1E, 0xBFDB0B67323AE000, - 0x3FF53909590BF835, 0xBFDA152F5A2DB000, - 0x3FF5014FED61ADDD, 0xBFD9217F5AF86000, - 0x3FF4CAB88E487BD0, 0xBFD8304DB0719000, - 0x3FF49539B4334FEE, 0xBFD74189F9A9E000, - 0x3FF460CBDFAFD569, 0xBFD6552BB5199000, - 0x3FF42D664EE4B953, 0xBFD56B23A29B1000, - 0x3FF3FB01111DD8A6, 0xBFD483650F5FA000, - 0x3FF3C995B70C5836, 0xBFD39DE937F6A000, - 0x3FF3991C4AB6FD4A, 0xBFD2BAA1538D6000, - 0x3FF3698E0CE099B5, 0xBFD1D98340CA4000, - 0x3FF33AE48213E7B2, 0xBFD0FA853A40E000, - 0x3FF30D191985BDB1, 0xBFD01D9C32E73000, - 0x3FF2E025CAB271D7, 0xBFCE857DA2FA6000, - 0x3FF2B404CF13CD82, 0xBFCCD3C8633D8000, - 0x3FF288B02C7CCB50, 0xBFCB26034C14A000, - 0x3FF25E2263944DE5, 0xBFC97C1C2F4FE000, - 0x3FF234563D8615B1, 0xBFC7D6023F800000, - 0x3FF20B46E33EAF38, 0xBFC633A71A05E000, - 0x3FF1E2EEFDCDA3DD, 0xBFC494F5E9570000, - 0x3FF1BB4A580B3930, 0xBFC2F9E424E0A000, - 0x3FF19453847F2200, 0xBFC162595AFDC000, - 0x3FF16E06C0D5D73C, 0xBFBF9C9A75BD8000, - 0x3FF1485F47B7E4C2, 0xBFBC7B575BF9C000, - 0x3FF12358AD0085D1, 0xBFB960C60FF48000, - 0x3FF0FEF00F532227, 0xBFB64CE247B60000, - 0x3FF0DB2077D03A8F, 0xBFB33F78B2014000, - 0x3FF0B7E6D65980D9, 0xBFB0387D1A42C000, - 0x3FF0953EFE7B408D, 0xBFAA6F9208B50000, - 0x3FF07325CAC53B83, 0xBFA47A954F770000, - 0x3FF05197E40D1B5C, 0xBF9D23A8C50C0000, - 0x3FF03091C1208EA2, 0xBF916A2629780000, - 0x3FF0101025B37E21, 0xBF7720F8D8E80000, - 0x3FEFC07EF9CAA76B, 0x3F86FE53B1500000, - 0x3FEF4465D3F6F184, 0x3FA11CCCE10F8000, - 0x3FEECC079F84107F, 0x3FAC4DFC8C8B8000, - 0x3FEE573A99975AE8, 0x3FB3AA321E574000, - 0x3FEDE5D6F0BD3DE6, 0x3FB918A0D08B8000, - 0x3FED77B681FF38B3, 0x3FBE72E9DA044000, - 0x3FED0CB5724DE943, 0x3FC1DCD2507F6000, - 0x3FECA4B2DC0E7563, 0x3FC476AB03DEA000, - 0x3FEC3F8EE8D6CB51, 0x3FC7074377E22000, - 0x3FEBDD2B4F020C4C, 0x3FC98EDE8BA94000, - 0x3FEB7D6C006015CA, 0x3FCC0DB86AD2E000, - 0x3FEB20366E2E338F, 0x3FCE840AAFCEE000, - 0x3FEAC57026295039, 0x3FD0790AB4678000, - 0x3FEA6D01BC2731DD, 0x3FD1AC056801C000, - 0x3FEA16D3BC3FF18B, 0x3FD2DB11D4FEE000, - 0x3FE9C2D14967FEAD, 0x3FD406464EC58000, - 0x3FE970E4F47C9902, 0x3FD52DBE093AF000, - 0x3FE920FB3982BCF2, 0x3FD651902050D000, - 0x3FE8D30187F759F1, 0x3FD771D2CDEAF000, - 0x3FE886E5EBB9F66D, 0x3FD88E9C857D9000, - 0x3FE83C97B658B994, 0x3FD9A80155E16000, - 0x3FE7F405FFC61022, 0x3FDABE186ED3D000, - 0x3FE7AD22181415CA, 0x3FDBD0F2AEA0E000, - 0x3FE767DCF99EFF8C, 0x3FDCE0A43DBF4000 -]); - -// @ts-ignore: decorator -@lazy @inline const LOG2_DATA_TAB2 = memory.data([ - // chi , clo - 0x3FE6200012B90A8E, 0x3C8904AB0644B605, - 0x3FE66000045734A6, 0x3C61FF9BEA62F7A9, - 0x3FE69FFFC325F2C5, 0x3C827ECFCB3C90BA, - 0x3FE6E00038B95A04, 0x3C88FF8856739326, - 0x3FE71FFFE09994E3, 0x3C8AFD40275F82B1, - 0x3FE7600015590E10, 0xBC72FD75B4238341, - 0x3FE7A00012655BD5, 0x3C7808E67C242B76, - 0x3FE7E0003259E9A6, 0xBC6208E426F622B7, - 0x3FE81FFFEDB4B2D2, 0xBC8402461EA5C92F, - 0x3FE860002DFAFCC3, 0x3C6DF7F4A2F29A1F, - 0x3FE89FFFF78C6B50, 0xBC8E0453094995FD, - 0x3FE8E00039671566, 0xBC8A04F3BEC77B45, - 0x3FE91FFFE2BF1745, 0xBC77FA34400E203C, - 0x3FE95FFFCC5C9FD1, 0xBC76FF8005A0695D, - 0x3FE9A0003BBA4767, 0x3C70F8C4C4EC7E03, - 0x3FE9DFFFE7B92DA5, 0x3C8E7FD9478C4602, - 0x3FEA1FFFD72EFDAF, 0xBC6A0C554DCDAE7E, - 0x3FEA5FFFDE04FF95, 0x3C867DA98CE9B26B, - 0x3FEA9FFFCA5E8D2B, 0xBC8284C9B54C13DE, - 0x3FEADFFFDDAD03EA, 0x3C5812C8EA602E3C, - 0x3FEB1FFFF10D3D4D, 0xBC8EFADDAD27789C, - 0x3FEB5FFFCE21165A, 0x3C53CB1719C61237, - 0x3FEB9FFFD950E674, 0x3C73F7D94194CE00, - 0x3FEBE000139CA8AF, 0x3C750AC4215D9BC0, - 0x3FEC20005B46DF99, 0x3C6BEEA653E9C1C9, - 0x3FEC600040B9F7AE, 0xBC7C079F274A70D6, - 0x3FECA0006255FD8A, 0xBC7A0B4076E84C1F, - 0x3FECDFFFD94C095D, 0x3C88F933F99AB5D7, - 0x3FED1FFFF975D6CF, 0xBC582C08665FE1BE, - 0x3FED5FFFA2561C93, 0xBC7B04289BD295F3, - 0x3FED9FFF9D228B0C, 0x3C870251340FA236, - 0x3FEDE00065BC7E16, 0xBC75011E16A4D80C, - 0x3FEE200002F64791, 0x3C89802F09EF62E0, - 0x3FEE600057D7A6D8, 0xBC7E0B75580CF7FA, - 0x3FEEA00027EDC00C, 0xBC8C848309459811, - 0x3FEEE0006CF5CB7C, 0xBC8F8027951576F4, - 0x3FEF2000782B7DCC, 0xBC8F81D97274538F, - 0x3FEF6000260C450A, 0xBC4071002727FFDC, - 0x3FEF9FFFE88CD533, 0xBC581BDCE1FDA8B0, - 0x3FEFDFFFD50F8689, 0x3C87F91ACB918E6E, - 0x3FF0200004292367, 0x3C9B7FF365324681, - 0x3FF05FFFE3E3D668, 0x3C86FA08DDAE957B, - 0x3FF0A0000A85A757, 0xBC57E2DE80D3FB91, - 0x3FF0E0001A5F3FCC, 0xBC91823305C5F014, - 0x3FF11FFFF8AFBAF5, 0xBC8BFABB6680BAC2, - 0x3FF15FFFE54D91AD, 0xBC9D7F121737E7EF, - 0x3FF1A00011AC36E1, 0x3C9C000A0516F5FF, - 0x3FF1E00019C84248, 0xBC9082FBE4DA5DA0, - 0x3FF220000FFE5E6E, 0xBC88FDD04C9CFB43, - 0x3FF26000269FD891, 0x3C8CFE2A7994D182, - 0x3FF2A00029A6E6DA, 0xBC700273715E8BC5, - 0x3FF2DFFFE0293E39, 0x3C9B7C39DAB2A6F9, - 0x3FF31FFFF7DCF082, 0x3C7DF1336EDC5254, - 0x3FF35FFFF05A8B60, 0xBC9E03564CCD31EB, - 0x3FF3A0002E0EAECC, 0x3C75F0E74BD3A477, - 0x3FF3E000043BB236, 0x3C9C7DCB149D8833, - 0x3FF4200002D187FF, 0x3C7E08AFCF2D3D28, - 0x3FF460000D387CB1, 0x3C820837856599A6, - 0x3FF4A00004569F89, 0xBC89FA5C904FBCD2, - 0x3FF4E000043543F3, 0xBC781125ED175329, - 0x3FF51FFFCC027F0F, 0x3C9883D8847754DC, - 0x3FF55FFFFD87B36F, 0xBC8709E731D02807, - 0x3FF59FFFF21DF7BA, 0x3C87F79F68727B02, - 0x3FF5DFFFEBFC3481, 0xBC9180902E30E93E -]); - -// @ts-ignore: decorator -@inline -export function log2_lut(x: f64): f64 { - const N_MASK = (1 << LOG2_TABLE_BITS) - 1; - - const - LO: u64 = 0x3FEEA4AF00000000, // reinterpret(1.0 - 0x1.5b51p-5) - HI: u64 = 0x3FF0B55900000000; // reinterpret(1.0 + 0x1.6ab2p-5) - - const - InvLn2hi = reinterpret(0x3FF7154765200000), // 0x1.7154765200000p+0 - InvLn2lo = reinterpret(0x3DE705FC2EEFA200), // 0x1.705fc2eefa200p-33 - Ox1p52 = reinterpret(0x4330000000000000); // 0x1p52 - - const - B0 = reinterpret(0xBFE71547652B82FE), // -0x1.71547652b82fep-1 - B1 = reinterpret(0x3FDEC709DC3A03F7), // 0x1.ec709dc3a03f7p-2 - B2 = reinterpret(0xBFD71547652B7C3F), // -0x1.71547652b7c3fp-2 - B3 = reinterpret(0x3FD2776C50F05BE4), // 0x1.2776c50f05be4p-2 - B4 = reinterpret(0xBFCEC709DD768FE5), // -0x1.ec709dd768fe5p-3 - B5 = reinterpret(0x3FCA61761EC4E736), // 0x1.a61761ec4e736p-3 - B6 = reinterpret(0xBFC7153FBC64A79B), // -0x1.7153fbc64a79bp-3 - B7 = reinterpret(0x3FC484D154F01B4A), // 0x1.484d154f01b4ap-3 - B8 = reinterpret(0xBFC289E4A72C383C), // -0x1.289e4a72c383cp-3 - B9 = reinterpret(0x3FC0B32F285AEE66); // 0x1.0b32f285aee66p-3 - - const - A0 = reinterpret(0xBFE71547652B8339), // -0x1.71547652b8339p-1 - A1 = reinterpret(0x3FDEC709DC3A04BE), // 0x1.ec709dc3a04bep-2 - A2 = reinterpret(0xBFD7154764702FFB), // -0x1.7154764702ffbp-2 - A3 = reinterpret(0x3FD2776C50034C48), // 0x1.2776c50034c48p-2 - A4 = reinterpret(0xBFCEC7B328EA92BC), // -0x1.ec7b328ea92bcp-3 - A5 = reinterpret(0x3FCA6225E117F92E); // 0x1.a6225e117f92ep-3 - - let ix = reinterpret(x); - if (ix - LO < HI - LO) { - let r = x - 1.0; - // #if __FP_FAST_FMA - // hi = r * InvLn2hi; - // lo = r * InvLn2lo + __builtin_fma(r, InvLn2hi, -hi); - // #else - let rhi = reinterpret(reinterpret(r) & 0xFFFFFFFF00000000); - let rlo = r - rhi; - let hi = rhi * InvLn2hi; - let lo = rlo * InvLn2hi + r * InvLn2lo; - // #endif - let r2 = r * r; // rounding error: 0x1p-62 - let r4 = r2 * r2; - // Worst-case error is less than 0.54 ULP (0.55 ULP without fma) - let p = r2 * (B0 + r * B1); - let y = hi + p; - lo += hi - y + p; - lo += r4 * (B2 + r * B3 + r2 * (B4 + r * B5) + - r4 * (B6 + r * B7 + r2 * (B8 + r * B9))); - return y + lo; - } - let top = u32(ix >> 48); - if (top - 0x0010 >= 0x7ff0 - 0x0010) { - // x < 0x1p-1022 or inf or nan. - if ((ix << 1) == 0) return -1.0 / (x * x); - if (ix == 0x7FF0000000000000) return x; // log(inf) == inf - if ((top & 0x8000) || (top & 0x7FF0) == 0x7FF0) return (x - x) / (x - x); - // x is subnormal, normalize it. - ix = reinterpret(x * Ox1p52); - ix -= u64(52) << 52; - } - - // x = 2^k z; where z is in range [OFF,2*OFF) and exact. - // The range is split into N subintervals. - // The ith subinterval contains z and c is near its center. - let tmp = ix - 0x3FE6000000000000; - let i = ((tmp >> (52 - LOG2_TABLE_BITS)) & N_MASK); - let k = tmp >> 52; - let iz = ix - (tmp & 0xFFF0000000000000); - - let invc = load(LOG2_DATA_TAB1 + (i << (1 + alignof())), 0 << alignof()); // T[i].invc; - let logc = load(LOG2_DATA_TAB1 + (i << (1 + alignof())), 1 << alignof()); // T[i].logc; - let z = reinterpret(iz); - let kd = k; - - // log2(x) = log2(z/c) + log2(c) + k. - // r ~= z/c - 1, |r| < 1/(2*N). - // #if __FP_FAST_FMA - // // rounding error: 0x1p-55/N. - // r = __builtin_fma(z, invc, -1.0); - // t1 = r * InvLn2hi; - // t2 = r * InvLn2lo + __builtin_fma(r, InvLn2hi, -t1); - // #else - // rounding error: 0x1p-55/N + 0x1p-65. - let chi = load(LOG2_DATA_TAB2 + (i << (1 + alignof())), 0 << alignof()); // T[i].chi; - let clo = load(LOG2_DATA_TAB2 + (i << (1 + alignof())), 1 << alignof()); // T[i].clo; - - let r = (z - chi - clo) * invc; - let rhi = reinterpret(reinterpret(r) & 0xFFFFFFFF00000000); - let rlo = r - rhi; - let t1 = rhi * InvLn2hi; - let t2 = rlo * InvLn2hi + r * InvLn2lo; - // #endif - - // hi + lo = r/ln2 + log2(c) + k - let t3 = kd + logc; - let hi = t3 + t1; - let lo = t3 - hi + t1 + t2; - - // log2(r+1) = r/ln2 + r^2*poly(r) - // Evaluation is optimized assuming superscalar pipelined execution - let r2 = r * r; // rounding error: 0x1p-54/N^2 - // Worst-case error if |y| > 0x1p-4: 0.547 ULP (0.550 ULP without fma). - // ~ 0.5 + 2/N/ln2 + abs-poly-error*0x1p56 ULP (+ 0.003 ULP without fma). - let p = A0 + r * A1 + r2 * (A2 + r * A3) + (r2 * r2) * (A4 + r * A5); - return lo + r2 * p + hi; -} - -// -// Lookup data for log. See: https://git.musl-libc.org/cgit/musl/tree/src/math/log.c -// - -// @ts-ignore: decorator -@inline const LOG_TABLE_BITS = 7; - -/* Algorithm: - - x = 2^k z - log(x) = k ln2 + log(c) + log(z/c) - log(z/c) = poly(z/c - 1) - -where z is in [1.6p-1; 1.6p0] which is split into N subintervals and z falls -into the ith one, then table entries are computed as - - tab[i].invc = 1/c - tab[i].logc = (double)log(c) - tab2[i].chi = (double)c - tab2[i].clo = (double)(c - (double)c) - -where c is near the center of the subinterval and is chosen by trying +-2^29 -floating point invc candidates around 1/center and selecting one for which - - 1) the rounding error in 0x1.8p9 + logc is 0, - 2) the rounding error in z - chi - clo is < 0x1p-66 and - 3) the rounding error in (double)log(c) is minimized (< 0x1p-66). - -Note: 1) ensures that k*ln2hi + logc can be computed without rounding error, -2) ensures that z/c - 1 can be computed as (z - chi - clo)*invc with close to -a single rounding error when there is no fast fma for z*invc - 1, 3) ensures -that logc + poly(z/c - 1) has small error, however near x == 1 when -|log(x)| < 0x1p-4, this is not enough so that is special cased.*/ - -// @ts-ignore: decorator -@lazy @inline const LOG_DATA_TAB1 = memory.data([ - // invc , logc - 0x3FF734F0C3E0DE9F, 0xBFD7CC7F79E69000, - 0x3FF713786A2CE91F, 0xBFD76FEEC20D0000, - 0x3FF6F26008FAB5A0, 0xBFD713E31351E000, - 0x3FF6D1A61F138C7D, 0xBFD6B85B38287800, - 0x3FF6B1490BC5B4D1, 0xBFD65D5590807800, - 0x3FF69147332F0CBA, 0xBFD602D076180000, - 0x3FF6719F18224223, 0xBFD5A8CA86909000, - 0x3FF6524F99A51ED9, 0xBFD54F4356035000, - 0x3FF63356AA8F24C4, 0xBFD4F637C36B4000, - 0x3FF614B36B9DDC14, 0xBFD49DA7FDA85000, - 0x3FF5F66452C65C4C, 0xBFD445923989A800, - 0x3FF5D867B5912C4F, 0xBFD3EDF439B0B800, - 0x3FF5BABCCB5B90DE, 0xBFD396CE448F7000, - 0x3FF59D61F2D91A78, 0xBFD3401E17BDA000, - 0x3FF5805612465687, 0xBFD2E9E2EF468000, - 0x3FF56397CEE76BD3, 0xBFD2941B3830E000, - 0x3FF54725E2A77F93, 0xBFD23EC58CDA8800, - 0x3FF52AFF42064583, 0xBFD1E9E129279000, - 0x3FF50F22DBB2BDDF, 0xBFD1956D2B48F800, - 0x3FF4F38F4734DED7, 0xBFD141679AB9F800, - 0x3FF4D843CFDE2840, 0xBFD0EDD094EF9800, - 0x3FF4BD3EC078A3C8, 0xBFD09AA518DB1000, - 0x3FF4A27FC3E0258A, 0xBFD047E65263B800, - 0x3FF4880524D48434, 0xBFCFEB224586F000, - 0x3FF46DCE1B192D0B, 0xBFCF474A7517B000, - 0x3FF453D9D3391854, 0xBFCEA4443D103000, - 0x3FF43A2744B4845A, 0xBFCE020D44E9B000, - 0x3FF420B54115F8FB, 0xBFCD60A22977F000, - 0x3FF40782DA3EF4B1, 0xBFCCC00104959000, - 0x3FF3EE8F5D57FE8F, 0xBFCC202956891000, - 0x3FF3D5D9A00B4CE9, 0xBFCB81178D811000, - 0x3FF3BD60C010C12B, 0xBFCAE2C9CCD3D000, - 0x3FF3A5242B75DAB8, 0xBFCA45402E129000, - 0x3FF38D22CD9FD002, 0xBFC9A877681DF000, - 0x3FF3755BC5847A1C, 0xBFC90C6D69483000, - 0x3FF35DCE49AD36E2, 0xBFC87120A645C000, - 0x3FF34679984DD440, 0xBFC7D68FB4143000, - 0x3FF32F5CCEFFCB24, 0xBFC73CB83C627000, - 0x3FF3187775A10D49, 0xBFC6A39A9B376000, - 0x3FF301C8373E3990, 0xBFC60B3154B7A000, - 0x3FF2EB4EBB95F841, 0xBFC5737D76243000, - 0x3FF2D50A0219A9D1, 0xBFC4DC7B8FC23000, - 0x3FF2BEF9A8B7FD2A, 0xBFC4462C51D20000, - 0x3FF2A91C7A0C1BAB, 0xBFC3B08ABC830000, - 0x3FF293726014B530, 0xBFC31B996B490000, - 0x3FF27DFA5757A1F5, 0xBFC2875490A44000, - 0x3FF268B39B1D3BBF, 0xBFC1F3B9F879A000, - 0x3FF2539D838FF5BD, 0xBFC160C8252CA000, - 0x3FF23EB7AAC9083B, 0xBFC0CE7F57F72000, - 0x3FF22A012BA940B6, 0xBFC03CDC49FEA000, - 0x3FF2157996CC4132, 0xBFBF57BDBC4B8000, - 0x3FF201201DD2FC9B, 0xBFBE370896404000, - 0x3FF1ECF4494D480B, 0xBFBD17983EF94000, - 0x3FF1D8F5528F6569, 0xBFBBF9674ED8A000, - 0x3FF1C52311577E7C, 0xBFBADC79202F6000, - 0x3FF1B17C74CB26E9, 0xBFB9C0C3E7288000, - 0x3FF19E010C2C1AB6, 0xBFB8A646B372C000, - 0x3FF18AB07BB670BD, 0xBFB78D01B3AC0000, - 0x3FF1778A25EFBCB6, 0xBFB674F145380000, - 0x3FF1648D354C31DA, 0xBFB55E0E6D878000, - 0x3FF151B990275FDD, 0xBFB4485CDEA1E000, - 0x3FF13F0EA432D24C, 0xBFB333D94D6AA000, - 0x3FF12C8B7210F9DA, 0xBFB22079F8C56000, - 0x3FF11A3028ECB531, 0xBFB10E4698622000, - 0x3FF107FBDA8434AF, 0xBFAFFA6C6AD20000, - 0x3FF0F5EE0F4E6BB3, 0xBFADDA8D4A774000, - 0x3FF0E4065D2A9FCE, 0xBFABBCECE4850000, - 0x3FF0D244632CA521, 0xBFA9A1894012C000, - 0x3FF0C0A77CE2981A, 0xBFA788583302C000, - 0x3FF0AF2F83C636D1, 0xBFA5715E67D68000, - 0x3FF09DDB98A01339, 0xBFA35C8A49658000, - 0x3FF08CABAF52E7DF, 0xBFA149E364154000, - 0x3FF07B9F2F4E28FB, 0xBF9E72C082EB8000, - 0x3FF06AB58C358F19, 0xBF9A55F152528000, - 0x3FF059EEA5ECF92C, 0xBF963D62CF818000, - 0x3FF04949CDD12C90, 0xBF9228FB8CAA0000, - 0x3FF038C6C6F0ADA9, 0xBF8C317B20F90000, - 0x3FF02865137932A9, 0xBF8419355DAA0000, - 0x3FF0182427EA7348, 0xBF781203C2EC0000, - 0x3FF008040614B195, 0xBF60040979240000, - 0x3FEFE01FF726FA1A, 0x3F6FEFF384900000, - 0x3FEFA11CC261EA74, 0x3F87DC41353D0000, - 0x3FEF6310B081992E, 0x3F93CEA3C4C28000, - 0x3FEF25F63CEEADCD, 0x3F9B9FC114890000, - 0x3FEEE9C8039113E7, 0x3FA1B0D8CE110000, - 0x3FEEAE8078CBB1AB, 0x3FA58A5BD001C000, - 0x3FEE741AA29D0C9B, 0x3FA95C8340D88000, - 0x3FEE3A91830A99B5, 0x3FAD276AEF578000, - 0x3FEE01E009609A56, 0x3FB07598E598C000, - 0x3FEDCA01E577BB98, 0x3FB253F5E30D2000, - 0x3FED92F20B7C9103, 0x3FB42EDD8B380000, - 0x3FED5CAC66FB5CCE, 0x3FB606598757C000, - 0x3FED272CAA5EDE9D, 0x3FB7DA76356A0000, - 0x3FECF26E3E6B2CCD, 0x3FB9AB434E1C6000, - 0x3FECBE6DA2A77902, 0x3FBB78C7BB0D6000, - 0x3FEC8B266D37086D, 0x3FBD431332E72000, - 0x3FEC5894BD5D5804, 0x3FBF0A3171DE6000, - 0x3FEC26B533BB9F8C, 0x3FC067152B914000, - 0x3FEBF583EEECE73F, 0x3FC147858292B000, - 0x3FEBC4FD75DB96C1, 0x3FC2266ECDCA3000, - 0x3FEB951E0C864A28, 0x3FC303D7A6C55000, - 0x3FEB65E2C5EF3E2C, 0x3FC3DFC33C331000, - 0x3FEB374867C9888B, 0x3FC4BA366B7A8000, - 0x3FEB094B211D304A, 0x3FC5933928D1F000, - 0x3FEADBE885F2EF7E, 0x3FC66ACD2418F000, - 0x3FEAAF1D31603DA2, 0x3FC740F8EC669000, - 0x3FEA82E63FD358A7, 0x3FC815C0F51AF000, - 0x3FEA5740EF09738B, 0x3FC8E92954F68000, - 0x3FEA2C2A90AB4B27, 0x3FC9BB3602F84000, - 0x3FEA01A01393F2D1, 0x3FCA8BED1C2C0000, - 0x3FE9D79F24DB3C1B, 0x3FCB5B515C01D000, - 0x3FE9AE2505C7B190, 0x3FCC2967CCBCC000, - 0x3FE9852EF297CE2F, 0x3FCCF635D5486000, - 0x3FE95CBAEEA44B75, 0x3FCDC1BD3446C000, - 0x3FE934C69DE74838, 0x3FCE8C01B8CFE000, - 0x3FE90D4F2F6752E6, 0x3FCF5509C0179000, - 0x3FE8E6528EFFD79D, 0x3FD00E6C121FB800, - 0x3FE8BFCE9FCC007C, 0x3FD071B80E93D000, - 0x3FE899C0DABEC30E, 0x3FD0D46B9E867000, - 0x3FE87427AA2317FB, 0x3FD13687334BD000, - 0x3FE84F00ACB39A08, 0x3FD1980D67234800, - 0x3FE82A49E8653E55, 0x3FD1F8FFE0CC8000, - 0x3FE8060195F40260, 0x3FD2595FD7636800, - 0x3FE7E22563E0A329, 0x3FD2B9300914A800, - 0x3FE7BEB377DCB5AD, 0x3FD3187210436000, - 0x3FE79BAA679725C2, 0x3FD377266DEC1800, - 0x3FE77907F2170657, 0x3FD3D54FFBAF3000, - 0x3FE756CADBD6130C, 0x3FD432EEE32FE000 -]); - -// @ts-ignore: decorator -@lazy @inline const LOG_DATA_TAB2 = memory.data([ - // chi , clo - 0x3FE61000014FB66B, 0x3C7E026C91425B3C, - 0x3FE63000034DB495, 0x3C8DBFEA48005D41, - 0x3FE650000D94D478, 0x3C8E7FA786D6A5B7, - 0x3FE67000074E6FAD, 0x3C61FCEA6B54254C, - 0x3FE68FFFFEDF0FAE, 0xBC7C7E274C590EFD, - 0x3FE6B0000763C5BC, 0xBC8AC16848DCDA01, - 0x3FE6D0001E5CC1F6, 0x3C833F1C9D499311, - 0x3FE6EFFFEB05F63E, 0xBC7E80041AE22D53, - 0x3FE710000E869780, 0x3C7BFF6671097952, - 0x3FE72FFFFC67E912, 0x3C8C00E226BD8724, - 0x3FE74FFFDF81116A, 0xBC6E02916EF101D2, - 0x3FE770000F679C90, 0xBC67FC71CD549C74, - 0x3FE78FFFFA7EC835, 0x3C81BEC19EF50483, - 0x3FE7AFFFFE20C2E6, 0xBC707E1729CC6465, - 0x3FE7CFFFED3FC900, 0xBC808072087B8B1C, - 0x3FE7EFFFE9261A76, 0x3C8DC0286D9DF9AE, - 0x3FE81000049CA3E8, 0x3C897FD251E54C33, - 0x3FE8300017932C8F, 0xBC8AFEE9B630F381, - 0x3FE850000633739C, 0x3C89BFBF6B6535BC, - 0x3FE87000204289C6, 0xBC8BBF65F3117B75, - 0x3FE88FFFEBF57904, 0xBC89006EA23DCB57, - 0x3FE8B00022BC04DF, 0xBC7D00DF38E04B0A, - 0x3FE8CFFFE50C1B8A, 0xBC88007146FF9F05, - 0x3FE8EFFFFC918E43, 0x3C83817BD07A7038, - 0x3FE910001EFA5FC7, 0x3C893E9176DFB403, - 0x3FE9300013467BB9, 0x3C7F804E4B980276, - 0x3FE94FFFE6EE076F, 0xBC8F7EF0D9FF622E, - 0x3FE96FFFDE3C12D1, 0xBC7082AA962638BA, - 0x3FE98FFFF4458A0D, 0xBC87801B9164A8EF, - 0x3FE9AFFFDD982E3E, 0xBC8740E08A5A9337, - 0x3FE9CFFFED49FB66, 0x3C3FCE08C19BE000, - 0x3FE9F00020F19C51, 0xBC8A3FAA27885B0A, - 0x3FEA10001145B006, 0x3C74FF489958DA56, - 0x3FEA300007BBF6FA, 0x3C8CBEAB8A2B6D18, - 0x3FEA500010971D79, 0x3C88FECADD787930, - 0x3FEA70001DF52E48, 0xBC8F41763DD8ABDB, - 0x3FEA90001C593352, 0xBC8EBF0284C27612, - 0x3FEAB0002A4F3E4B, 0xBC69FD043CFF3F5F, - 0x3FEACFFFD7AE1ED1, 0xBC823EE7129070B4, - 0x3FEAEFFFEE510478, 0x3C6A063EE00EDEA3, - 0x3FEB0FFFDB650D5B, 0x3C5A06C8381F0AB9, - 0x3FEB2FFFFEAACA57, 0xBC79011E74233C1D, - 0x3FEB4FFFD995BADC, 0xBC79FF1068862A9F, - 0x3FEB7000249E659C, 0x3C8AFF45D0864F3E, - 0x3FEB8FFFF9871640, 0x3C7CFE7796C2C3F9, - 0x3FEBAFFFD204CB4F, 0xBC63FF27EEF22BC4, - 0x3FEBCFFFD2415C45, 0xBC6CFFB7EE3BEA21, - 0x3FEBEFFFF86309DF, 0xBC814103972E0B5C, - 0x3FEC0FFFE1B57653, 0x3C8BC16494B76A19, - 0x3FEC2FFFF1FA57E3, 0xBC64FEEF8D30C6ED, - 0x3FEC4FFFDCBFE424, 0xBC843F68BCEC4775, - 0x3FEC6FFFED54B9F7, 0x3C847EA3F053E0EC, - 0x3FEC8FFFEB998FD5, 0x3C7383068DF992F1, - 0x3FECB0002125219A, 0xBC68FD8E64180E04, - 0x3FECCFFFDD94469C, 0x3C8E7EBE1CC7EA72, - 0x3FECEFFFEAFDC476, 0x3C8EBE39AD9F88FE, - 0x3FED1000169AF82B, 0x3C757D91A8B95A71, - 0x3FED30000D0FF71D, 0x3C89C1906970C7DA, - 0x3FED4FFFEA790FC4, 0xBC580E37C558FE0C, - 0x3FED70002EDC87E5, 0xBC7F80D64DC10F44, - 0x3FED900021DC82AA, 0xBC747C8F94FD5C5C, - 0x3FEDAFFFD86B0283, 0x3C8C7F1DC521617E, - 0x3FEDD000296C4739, 0x3C88019EB2FFB153, - 0x3FEDEFFFE54490F5, 0x3C6E00D2C652CC89, - 0x3FEE0FFFCDABF694, 0xBC7F8340202D69D2, - 0x3FEE2FFFDB52C8DD, 0x3C7B00C1CA1B0864, - 0x3FEE4FFFF24216EF, 0x3C72FFA8B094AB51, - 0x3FEE6FFFE88A5E11, 0xBC57F673B1EFBE59, - 0x3FEE9000119EFF0D, 0xBC84808D5E0BC801, - 0x3FEEAFFFDFA51744, 0x3C780006D54320B5, - 0x3FEED0001A127FA1, 0xBC5002F860565C92, - 0x3FEEF00007BABCC4, 0xBC8540445D35E611, - 0x3FEF0FFFF57A8D02, 0xBC4FFB3139EF9105, - 0x3FEF30001EE58AC7, 0x3C8A81ACF2731155, - 0x3FEF4FFFF5823494, 0x3C8A3F41D4D7C743, - 0x3FEF6FFFFCA94C6B, 0xBC6202F41C987875, - 0x3FEF8FFFE1F9C441, 0x3C777DD1F477E74B, - 0x3FEFAFFFD2E0E37E, 0xBC6F01199A7CA331, - 0x3FEFD0001C77E49E, 0x3C7181EE4BCEACB1, - 0x3FEFEFFFF7E0C331, 0xBC6E05370170875A, - 0x3FF00FFFF465606E, 0xBC8A7EAD491C0ADA, - 0x3FF02FFFF3867A58, 0xBC977F69C3FCB2E0, - 0x3FF04FFFFDFC0D17, 0x3C97BFFE34CB945B, - 0x3FF0700003CD4D82, 0x3C820083C0E456CB, - 0x3FF08FFFF9F2CBE8, 0xBC6DFFDFBE37751A, - 0x3FF0B000010CDA65, 0xBC913F7FAEE626EB, - 0x3FF0D00001A4D338, 0x3C807DFA79489FF7, - 0x3FF0EFFFFADAFDFD, 0xBC77040570D66BC0, - 0x3FF110000BBAFD96, 0x3C8E80D4846D0B62, - 0x3FF12FFFFAE5F45D, 0x3C9DBFFA64FD36EF, - 0x3FF150000DD59AD9, 0x3C9A0077701250AE, - 0x3FF170000F21559A, 0x3C8DFDF9E2E3DEEE, - 0x3FF18FFFFC275426, 0x3C910030DC3B7273, - 0x3FF1B000123D3C59, 0x3C997F7980030188, - 0x3FF1CFFFF8299EB7, 0xBC65F932AB9F8C67, - 0x3FF1EFFFF48AD400, 0x3C937FBF9DA75BEB, - 0x3FF210000C8B86A4, 0x3C9F806B91FD5B22, - 0x3FF2300003854303, 0x3C93FFC2EB9FBF33, - 0x3FF24FFFFFBCF684, 0x3C7601E77E2E2E72, - 0x3FF26FFFF52921D9, 0x3C7FFCBB767F0C61, - 0x3FF2900014933A3C, 0xBC7202CA3C02412B, - 0x3FF2B00014556313, 0xBC92808233F21F02, - 0x3FF2CFFFEBFE523B, 0xBC88FF7E384FDCF2, - 0x3FF2F0000BB8AD96, 0xBC85FF51503041C5, - 0x3FF30FFFFB7AE2AF, 0xBC810071885E289D, - 0x3FF32FFFFEAC5F7F, 0xBC91FF5D3FB7B715, - 0x3FF350000CA66756, 0x3C957F82228B82BD, - 0x3FF3700011FBF721, 0x3C8000BAC40DD5CC, - 0x3FF38FFFF9592FB9, 0xBC943F9D2DB2A751, - 0x3FF3B00004DDD242, 0x3C857F6B707638E1, - 0x3FF3CFFFF5B2C957, 0x3C7A023A10BF1231, - 0x3FF3EFFFEAB0B418, 0x3C987F6D66B152B0, - 0x3FF410001532AFF4, 0x3C67F8375F198524, - 0x3FF4300017478B29, 0x3C8301E672DC5143, - 0x3FF44FFFE795B463, 0x3C89FF69B8B2895A, - 0x3FF46FFFE80475E0, 0xBC95C0B19BC2F254, - 0x3FF48FFFEF6FC1E7, 0x3C9B4009F23A2A72, - 0x3FF4AFFFE5BEA704, 0xBC94FFB7BF0D7D45, - 0x3FF4D000171027DE, 0xBC99C06471DC6A3D, - 0x3FF4F0000FF03EE2, 0x3C977F890B85531C, - 0x3FF5100012DC4BD1, 0x3C6004657166A436, - 0x3FF530001605277A, 0xBC96BFCECE233209, - 0x3FF54FFFECDB704C, 0xBC8902720505A1D7, - 0x3FF56FFFEF5F54A9, 0x3C9BBFE60EC96412, - 0x3FF5900017E61012, 0x3C887EC581AFEF90, - 0x3FF5B00003C93E92, 0xBC9F41080ABF0CC0, - 0x3FF5D0001D4919BC, 0xBC98812AFB254729, - 0x3FF5EFFFE7B87A89, 0xBC947EB780ED6904 -]); - -// @ts-ignore: decorator -@inline -export function log_lut(x: f64): f64 { - const N_MASK = (1 << LOG_TABLE_BITS) - 1; - - const - B0 = reinterpret(0xBFE0000000000000), // -0x1p-1 - B1 = reinterpret(0x3FD5555555555577), // 0x1.5555555555577p-2 - B2 = reinterpret(0xBFCFFFFFFFFFFDCB), // -0x1.ffffffffffdcbp-3 - B3 = reinterpret(0x3FC999999995DD0C), // 0x1.999999995dd0cp-3 - B4 = reinterpret(0xBFC55555556745A7), // -0x1.55555556745a7p-3 - B5 = reinterpret(0x3FC24924A344DE30), // 0x1.24924a344de3p-3 - B6 = reinterpret(0xBFBFFFFFA4423D65), // -0x1.fffffa4423d65p-4 - B7 = reinterpret(0x3FBC7184282AD6CA), // 0x1.c7184282ad6cap-4 - B8 = reinterpret(0xBFB999EB43B068FF), // -0x1.999eb43b068ffp-4 - B9 = reinterpret(0x3FB78182F7AFD085), // 0x1.78182f7afd085p-4 - B10 = reinterpret(0xBFB5521375D145CD); // -0x1.5521375d145cdp-4 - - const - A0 = reinterpret(0xBFE0000000000001), // -0x1.0000000000001p-1 - A1 = reinterpret(0x3FD555555551305B), // 0x1.555555551305bp-2 - A2 = reinterpret(0xBFCFFFFFFFEB4590), // -0x1.fffffffeb459p-3 - A3 = reinterpret(0x3FC999B324F10111), // 0x1.999b324f10111p-3 - A4 = reinterpret(0xBFC55575E506C89F); // -0x1.55575e506c89fp-3 - - const - LO: u64 = 0x3FEE000000000000, - HI: u64 = 0x3FF1090000000000; - - const - Ln2hi = reinterpret(0x3FE62E42FEFA3800), // 0x1.62e42fefa3800p-1 - Ln2lo = reinterpret(0x3D2EF35793C76730), // 0x1.ef35793c76730p-45 - Ox1p27 = reinterpret(0x41A0000000000000), // 0x1p27 - Ox1p52 = reinterpret(0x4330000000000000); // 0x1p52 - - let ix = reinterpret(x); - if (ix - LO < HI - LO) { - let r = x - 1.0; - let r2 = r * r; - let r3 = r2 * r; - let y = - r3 * (B1 + r * B2 + r2 * B3 + - r3 * (B4 + r * B5 + r2 * B6 + - r3 * (B7 + r * B8 + r2 * B9 + r3 * B10))); - // Worst-case error is around 0.507 ULP - let w = r * Ox1p27; - let rhi = r + w - w; - let rlo = r - rhi; - w = rhi * rhi * B0; // B[0] == -0.5 - let hi = r + w; - let lo = r - hi + w; - lo += B0 * rlo * (rhi + r); - return y + lo + hi; - } - let top = u32(ix >> 48); - if (top - 0x0010 >= 0x7FF0 - 0x0010) { - // x < 0x1p-1022 or inf or nan - if ((ix << 1) == 0) return -1.0 / (x * x); - if (ix == reinterpret(Infinity)) return x; // log(inf) == inf - if ((top & 0x8000) || (top & 0x7FF0) == 0x7FF0) return (x - x) / (x - x); - // x is subnormal, normalize it - ix = reinterpret(x * Ox1p52); - ix -= u64(52) << 52; - } - - // x = 2^k z; where z is in range [OFF,2*OFF) and exact. - // The range is split into N subintervals. - // The ith subinterval contains z and c is near its center. - let tmp = ix - 0x3FE6000000000000; - let i = ((tmp >> (52 - LOG_TABLE_BITS)) & N_MASK); - let k = tmp >> 52; - let iz = ix - (tmp & (u64(0xFFF) << 52)); - - let invc = load(LOG_DATA_TAB1 + (i << (1 + alignof())), 0 << alignof()); // T[i].invc; - let logc = load(LOG_DATA_TAB1 + (i << (1 + alignof())), 1 << alignof()); // T[i].logc; - let z = reinterpret(iz); - - // log(x) = log1p(z/c-1) + log(c) + k*Ln2. - // r ~= z/c - 1, |r| < 1/(2*N) - // #if __FP_FAST_FMA - // // rounding error: 0x1p-55/N - // r = __builtin_fma(z, invc, -1.0); - // #else - // rounding error: 0x1p-55/N + 0x1p-66 - const chi = load(LOG_DATA_TAB2 + (i << (1 + alignof())), 0 << alignof()); // T2[i].chi - const clo = load(LOG_DATA_TAB2 + (i << (1 + alignof())), 1 << alignof()); // T2[i].clo - let r = (z - chi - clo) * invc; - // #endif - let kd = k; - - // hi + lo = r + log(c) + k*Ln2 - let w = kd * Ln2hi + logc; - let hi = w + r; - let lo = w - hi + r + kd * Ln2lo; - - // log(x) = lo + (log1p(r) - r) + hi - let r2 = r * r; // rounding error: 0x1p-54/N^2 - // Worst case error if |y| > 0x1p-5: - // 0.5 + 4.13/N + abs-poly-error*2^57 ULP (+ 0.002 ULP without fma) - // Worst case error if |y| > 0x1p-4: - // 0.5 + 2.06/N + abs-poly-error*2^56 ULP (+ 0.001 ULP without fma). - return lo + r2 * A0 + r * r2 * (A1 + r * A2 + r2 * (A3 + r * A4)) + hi; -} - -// -// Lookup data for pow. See: https://git.musl-libc.org/cgit/musl/tree/src/math/pow.c -// - -// @ts-ignore: decorator -@inline const POW_LOG_TABLE_BITS = 7; - -/* Algorithm: - - x = 2^k z - log(x) = k ln2 + log(c) + log(z/c) - log(z/c) = poly(z/c - 1) - -where z is in [0x1.69555p-1; 0x1.69555p0] which is split into N subintervals -and z falls into the ith one, then table entries are computed as - - tab[i].invc = 1/c - tab[i].logc = round(0x1p43*log(c))/0x1p43 - tab[i].logctail = (double)(log(c) - logc) - -where c is chosen near the center of the subinterval such that 1/c has only a -few precision bits so z/c - 1 is exactly representible as double: - - 1/c = center < 1 ? round(N/center)/N : round(2*N/center)/N/2 - -Note: |z/c - 1| < 1/N for the chosen c, |log(c) - logc - logctail| < 0x1p-97, -the last few bits of logc are rounded away so k*ln2hi + logc has no rounding -error and the interval for z is selected such that near x == 1, where log(x) -is tiny, large cancellation error is avoided in logc + poly(z/c - 1). */ - -// @ts-ignore: decorator -@lazy @inline const POW_LOG_DATA_TAB = memory.data([ - // invc ,pad, logc , logctail - 0x3FF6A00000000000, 0, 0xBFD62C82F2B9C800, 0x3CFAB42428375680, - 0x3FF6800000000000, 0, 0xBFD5D1BDBF580800, 0xBD1CA508D8E0F720, - 0x3FF6600000000000, 0, 0xBFD5767717455800, 0xBD2362A4D5B6506D, - 0x3FF6400000000000, 0, 0xBFD51AAD872DF800, 0xBCE684E49EB067D5, - 0x3FF6200000000000, 0, 0xBFD4BE5F95777800, 0xBD041B6993293EE0, - 0x3FF6000000000000, 0, 0xBFD4618BC21C6000, 0x3D13D82F484C84CC, - 0x3FF5E00000000000, 0, 0xBFD404308686A800, 0x3CDC42F3ED820B3A, - 0x3FF5C00000000000, 0, 0xBFD3A64C55694800, 0x3D20B1C686519460, - 0x3FF5A00000000000, 0, 0xBFD347DD9A988000, 0x3D25594DD4C58092, - 0x3FF5800000000000, 0, 0xBFD2E8E2BAE12000, 0x3D267B1E99B72BD8, - 0x3FF5600000000000, 0, 0xBFD2895A13DE8800, 0x3D15CA14B6CFB03F, - 0x3FF5600000000000, 0, 0xBFD2895A13DE8800, 0x3D15CA14B6CFB03F, - 0x3FF5400000000000, 0, 0xBFD22941FBCF7800, 0xBD165A242853DA76, - 0x3FF5200000000000, 0, 0xBFD1C898C1699800, 0xBD1FAFBC68E75404, - 0x3FF5000000000000, 0, 0xBFD1675CABABA800, 0x3D1F1FC63382A8F0, - 0x3FF4E00000000000, 0, 0xBFD1058BF9AE4800, 0xBD26A8C4FD055A66, - 0x3FF4C00000000000, 0, 0xBFD0A324E2739000, 0xBD0C6BEE7EF4030E, - 0x3FF4A00000000000, 0, 0xBFD0402594B4D000, 0xBCF036B89EF42D7F, - 0x3FF4A00000000000, 0, 0xBFD0402594B4D000, 0xBCF036B89EF42D7F, - 0x3FF4800000000000, 0, 0xBFCFB9186D5E4000, 0x3D0D572AAB993C87, - 0x3FF4600000000000, 0, 0xBFCEF0ADCBDC6000, 0x3D2B26B79C86AF24, - 0x3FF4400000000000, 0, 0xBFCE27076E2AF000, 0xBD172F4F543FFF10, - 0x3FF4200000000000, 0, 0xBFCD5C216B4FC000, 0x3D21BA91BBCA681B, - 0x3FF4000000000000, 0, 0xBFCC8FF7C79AA000, 0x3D27794F689F8434, - 0x3FF4000000000000, 0, 0xBFCC8FF7C79AA000, 0x3D27794F689F8434, - 0x3FF3E00000000000, 0, 0xBFCBC286742D9000, 0x3D194EB0318BB78F, - 0x3FF3C00000000000, 0, 0xBFCAF3C94E80C000, 0x3CBA4E633FCD9066, - 0x3FF3A00000000000, 0, 0xBFCA23BC1FE2B000, 0xBD258C64DC46C1EA, - 0x3FF3A00000000000, 0, 0xBFCA23BC1FE2B000, 0xBD258C64DC46C1EA, - 0x3FF3800000000000, 0, 0xBFC9525A9CF45000, 0xBD2AD1D904C1D4E3, - 0x3FF3600000000000, 0, 0xBFC87FA06520D000, 0x3D2BBDBF7FDBFA09, - 0x3FF3400000000000, 0, 0xBFC7AB890210E000, 0x3D2BDB9072534A58, - 0x3FF3400000000000, 0, 0xBFC7AB890210E000, 0x3D2BDB9072534A58, - 0x3FF3200000000000, 0, 0xBFC6D60FE719D000, 0xBD10E46AA3B2E266, - 0x3FF3000000000000, 0, 0xBFC5FF3070A79000, 0xBD1E9E439F105039, - 0x3FF3000000000000, 0, 0xBFC5FF3070A79000, 0xBD1E9E439F105039, - 0x3FF2E00000000000, 0, 0xBFC526E5E3A1B000, 0xBD20DE8B90075B8F, - 0x3FF2C00000000000, 0, 0xBFC44D2B6CCB8000, 0x3D170CC16135783C, - 0x3FF2C00000000000, 0, 0xBFC44D2B6CCB8000, 0x3D170CC16135783C, - 0x3FF2A00000000000, 0, 0xBFC371FC201E9000, 0x3CF178864D27543A, - 0x3FF2800000000000, 0, 0xBFC29552F81FF000, 0xBD248D301771C408, - 0x3FF2600000000000, 0, 0xBFC1B72AD52F6000, 0xBD2E80A41811A396, - 0x3FF2600000000000, 0, 0xBFC1B72AD52F6000, 0xBD2E80A41811A396, - 0x3FF2400000000000, 0, 0xBFC0D77E7CD09000, 0x3D0A699688E85BF4, - 0x3FF2400000000000, 0, 0xBFC0D77E7CD09000, 0x3D0A699688E85BF4, - 0x3FF2200000000000, 0, 0xBFBFEC9131DBE000, 0xBD2575545CA333F2, - 0x3FF2000000000000, 0, 0xBFBE27076E2B0000, 0x3D2A342C2AF0003C, - 0x3FF2000000000000, 0, 0xBFBE27076E2B0000, 0x3D2A342C2AF0003C, - 0x3FF1E00000000000, 0, 0xBFBC5E548F5BC000, 0xBD1D0C57585FBE06, - 0x3FF1C00000000000, 0, 0xBFBA926D3A4AE000, 0x3D253935E85BAAC8, - 0x3FF1C00000000000, 0, 0xBFBA926D3A4AE000, 0x3D253935E85BAAC8, - 0x3FF1A00000000000, 0, 0xBFB8C345D631A000, 0x3D137C294D2F5668, - 0x3FF1A00000000000, 0, 0xBFB8C345D631A000, 0x3D137C294D2F5668, - 0x3FF1800000000000, 0, 0xBFB6F0D28AE56000, 0xBD269737C93373DA, - 0x3FF1600000000000, 0, 0xBFB51B073F062000, 0x3D1F025B61C65E57, - 0x3FF1600000000000, 0, 0xBFB51B073F062000, 0x3D1F025B61C65E57, - 0x3FF1400000000000, 0, 0xBFB341D7961BE000, 0x3D2C5EDACCF913DF, - 0x3FF1400000000000, 0, 0xBFB341D7961BE000, 0x3D2C5EDACCF913DF, - 0x3FF1200000000000, 0, 0xBFB16536EEA38000, 0x3D147C5E768FA309, - 0x3FF1000000000000, 0, 0xBFAF0A30C0118000, 0x3D2D599E83368E91, - 0x3FF1000000000000, 0, 0xBFAF0A30C0118000, 0x3D2D599E83368E91, - 0x3FF0E00000000000, 0, 0xBFAB42DD71198000, 0x3D1C827AE5D6704C, - 0x3FF0E00000000000, 0, 0xBFAB42DD71198000, 0x3D1C827AE5D6704C, - 0x3FF0C00000000000, 0, 0xBFA77458F632C000, 0xBD2CFC4634F2A1EE, - 0x3FF0C00000000000, 0, 0xBFA77458F632C000, 0xBD2CFC4634F2A1EE, - 0x3FF0A00000000000, 0, 0xBFA39E87B9FEC000, 0x3CF502B7F526FEAA, - 0x3FF0A00000000000, 0, 0xBFA39E87B9FEC000, 0x3CF502B7F526FEAA, - 0x3FF0800000000000, 0, 0xBF9F829B0E780000, 0xBD2980267C7E09E4, - 0x3FF0800000000000, 0, 0xBF9F829B0E780000, 0xBD2980267C7E09E4, - 0x3FF0600000000000, 0, 0xBF97B91B07D58000, 0xBD288D5493FAA639, - 0x3FF0400000000000, 0, 0xBF8FC0A8B0FC0000, 0xBCDF1E7CF6D3A69C, - 0x3FF0400000000000, 0, 0xBF8FC0A8B0FC0000, 0xBCDF1E7CF6D3A69C, - 0x3FF0200000000000, 0, 0xBF7FE02A6B100000, 0xBD19E23F0DDA40E4, - 0x3FF0200000000000, 0, 0xBF7FE02A6B100000, 0xBD19E23F0DDA40E4, - 0x3FF0000000000000, 0, 0, 0, - 0x3FF0000000000000, 0, 0, 0, - 0x3FEFC00000000000, 0, 0x3F80101575890000, 0xBD10C76B999D2BE8, - 0x3FEF800000000000, 0, 0x3F90205658938000, 0xBD23DC5B06E2F7D2, - 0x3FEF400000000000, 0, 0x3F98492528C90000, 0xBD2AA0BA325A0C34, - 0x3FEF000000000000, 0, 0x3FA0415D89E74000, 0x3D0111C05CF1D753, - 0x3FEEC00000000000, 0, 0x3FA466AED42E0000, 0xBD2C167375BDFD28, - 0x3FEE800000000000, 0, 0x3FA894AA149FC000, 0xBD197995D05A267D, - 0x3FEE400000000000, 0, 0x3FACCB73CDDDC000, 0xBD1A68F247D82807, - 0x3FEE200000000000, 0, 0x3FAEEA31C006C000, 0xBD0E113E4FC93B7B, - 0x3FEDE00000000000, 0, 0x3FB1973BD1466000, 0xBD25325D560D9E9B, - 0x3FEDA00000000000, 0, 0x3FB3BDF5A7D1E000, 0x3D2CC85EA5DB4ED7, - 0x3FED600000000000, 0, 0x3FB5E95A4D97A000, 0xBD2C69063C5D1D1E, - 0x3FED400000000000, 0, 0x3FB700D30AEAC000, 0x3CEC1E8DA99DED32, - 0x3FED000000000000, 0, 0x3FB9335E5D594000, 0x3D23115C3ABD47DA, - 0x3FECC00000000000, 0, 0x3FBB6AC88DAD6000, 0xBD1390802BF768E5, - 0x3FECA00000000000, 0, 0x3FBC885801BC4000, 0x3D2646D1C65AACD3, - 0x3FEC600000000000, 0, 0x3FBEC739830A2000, 0xBD2DC068AFE645E0, - 0x3FEC400000000000, 0, 0x3FBFE89139DBE000, 0xBD2534D64FA10AFD, - 0x3FEC000000000000, 0, 0x3FC1178E8227E000, 0x3D21EF78CE2D07F2, - 0x3FEBE00000000000, 0, 0x3FC1AA2B7E23F000, 0x3D2CA78E44389934, - 0x3FEBA00000000000, 0, 0x3FC2D1610C868000, 0x3D039D6CCB81B4A1, - 0x3FEB800000000000, 0, 0x3FC365FCB0159000, 0x3CC62FA8234B7289, - 0x3FEB400000000000, 0, 0x3FC4913D8333B000, 0x3D25837954FDB678, - 0x3FEB200000000000, 0, 0x3FC527E5E4A1B000, 0x3D2633E8E5697DC7, - 0x3FEAE00000000000, 0, 0x3FC6574EBE8C1000, 0x3D19CF8B2C3C2E78, - 0x3FEAC00000000000, 0, 0x3FC6F0128B757000, 0xBD25118DE59C21E1, - 0x3FEAA00000000000, 0, 0x3FC7898D85445000, 0xBD1C661070914305, - 0x3FEA600000000000, 0, 0x3FC8BEAFEB390000, 0xBD073D54AAE92CD1, - 0x3FEA400000000000, 0, 0x3FC95A5ADCF70000, 0x3D07F22858A0FF6F, - 0x3FEA000000000000, 0, 0x3FCA93ED3C8AE000, 0xBD28724350562169, - 0x3FE9E00000000000, 0, 0x3FCB31D8575BD000, 0xBD0C358D4EACE1AA, - 0x3FE9C00000000000, 0, 0x3FCBD087383BE000, 0xBD2D4BC4595412B6, - 0x3FE9A00000000000, 0, 0x3FCC6FFBC6F01000, 0xBCF1EC72C5962BD2, - 0x3FE9600000000000, 0, 0x3FCDB13DB0D49000, 0xBD2AFF2AF715B035, - 0x3FE9400000000000, 0, 0x3FCE530EFFE71000, 0x3CC212276041F430, - 0x3FE9200000000000, 0, 0x3FCEF5ADE4DD0000, 0xBCCA211565BB8E11, - 0x3FE9000000000000, 0, 0x3FCF991C6CB3B000, 0x3D1BCBECCA0CDF30, - 0x3FE8C00000000000, 0, 0x3FD07138604D5800, 0x3CF89CDB16ED4E91, - 0x3FE8A00000000000, 0, 0x3FD0C42D67616000, 0x3D27188B163CEAE9, - 0x3FE8800000000000, 0, 0x3FD1178E8227E800, 0xBD2C210E63A5F01C, - 0x3FE8600000000000, 0, 0x3FD16B5CCBACF800, 0x3D2B9ACDF7A51681, - 0x3FE8400000000000, 0, 0x3FD1BF99635A6800, 0x3D2CA6ED5147BDB7, - 0x3FE8200000000000, 0, 0x3FD214456D0EB800, 0x3D0A87DEBA46BAEA, - 0x3FE7E00000000000, 0, 0x3FD2BEF07CDC9000, 0x3D2A9CFA4A5004F4, - 0x3FE7C00000000000, 0, 0x3FD314F1E1D36000, 0xBD28E27AD3213CB8, - 0x3FE7A00000000000, 0, 0x3FD36B6776BE1000, 0x3D116ECDB0F177C8, - 0x3FE7800000000000, 0, 0x3FD3C25277333000, 0x3D183B54B606BD5C, - 0x3FE7600000000000, 0, 0x3FD419B423D5E800, 0x3D08E436EC90E09D, - 0x3FE7400000000000, 0, 0x3FD4718DC271C800, 0xBD2F27CE0967D675, - 0x3FE7200000000000, 0, 0x3FD4C9E09E173000, 0xBD2E20891B0AD8A4, - 0x3FE7000000000000, 0, 0x3FD522AE0738A000, 0x3D2EBE708164C759, - 0x3FE6E00000000000, 0, 0x3FD57BF753C8D000, 0x3D1FADEDEE5D40EF, - 0x3FE6C00000000000, 0, 0x3FD5D5BDDF596000, 0xBD0A0B2A08A465DC -]); - -// Returns 0 if not int, 1 if odd int, 2 if even int. The argument is -// the bit representation of a non-zero finite floating-point value. -// @ts-ignore: decorator -@inline -function checkint(iy: u64): i32 { - let e = iy >> 52 & 0x7FF; - if (e < 0x3FF ) return 0; - if (e > 0x3FF + 52) return 2; - e = u64(1) << (0x3FF + 52 - e); - if (iy & (e - 1)) return 0; - if (iy & e ) return 1; - return 2; -} - -// @ts-ignore: decorator -@inline -function xflow(sign: u32, y: f64): f64 { - return select(-y, y, sign) * y; -} - -// @ts-ignore: decorator -@inline -function uflow(sign: u32): f64 { - return xflow(sign, reinterpret(0x1000000000000000)); // 0x1p-767 -} - -// @ts-ignore: decorator -@inline -function oflow(sign: u32): f64 { - return xflow(sign, reinterpret(0x7000000000000000)); // 0x1p769 -} - -// Returns 1 if input is the bit representation of 0, infinity or nan. -// @ts-ignore: decorator -@inline -function zeroinfnan(u: u64): bool { - return (u << 1) - 1 >= 0xFFE0000000000000 - 1; -} - -// @ts-ignore: decorator -@lazy let log_tail: f64 = 0; - -// Compute y+TAIL = log(x) where the rounded result is y and TAIL has about -// additional 15 bits precision. IX is the bit representation of x, but -// normalized in the subnormal range using the sign bit for the exponent. -// @ts-ignore: decorator -@inline -function log_inline(ix: u64): f64 { - const N = 1 << POW_LOG_TABLE_BITS; - const N_MASK = N - 1; - - const - Ln2hi = reinterpret(0x3FE62E42FEFA3800), - Ln2lo = reinterpret(0x3D2EF35793C76730); - - const - A0 = reinterpret(0xBFE0000000000000), - A1 = reinterpret(0xBFE5555555555560), - A2 = reinterpret(0x3FE0000000000006), - A3 = reinterpret(0x3FE999999959554E), - A4 = reinterpret(0xBFE555555529A47A), - A5 = reinterpret(0xBFF2495B9B4845E9), - A6 = reinterpret(0x3FF0002B8B263FC3); - - // x = 2^k z; where z is in range [OFF,2*OFF) and exact. - // The range is split into N subintervals. - // The ith subinterval contains z and c is near its center. - let tmp = ix - 0x3fE6955500000000; - let i = usize((tmp >> (52 - POW_LOG_TABLE_BITS)) & N_MASK); - let k = tmp >> 52; - let iz = ix - (tmp & u64(0xFFF) << 52); - let z = reinterpret(iz); - let kd = k; - - // log(x) = k*Ln2 + log(c) + log1p(z/c-1). - let invc = load(POW_LOG_DATA_TAB + (i << (2 + alignof())), 0 << alignof()); // tab[i].invc - let logc = load(POW_LOG_DATA_TAB + (i << (2 + alignof())), 2 << alignof()); // tab[i].logc - let logctail = load(POW_LOG_DATA_TAB + (i << (2 + alignof())), 3 << alignof()); // tab[i].logctail - - // Note: 1/c is j/N or j/N/2 where j is an integer in [N,2N) and - // |z/c - 1| < 1/N, so r = z/c - 1 is exactly representible. - // Split z such that rhi, rlo and rhi*rhi are exact and |rlo| <= |r|. - let zhi = reinterpret((iz + u64(0x80000000)) & 0xFFFFFFFF00000000); - let zlo = z - zhi; - let rhi = zhi * invc - 1.0; - let rlo = zlo * invc; - let r = rhi + rlo; - - // k * Ln2 + log(c) + r. - let t1 = kd * Ln2hi + logc; - let t2 = t1 + r; - let lo1 = kd * Ln2lo + logctail; - let lo2 = t1 - t2 + r; - - // Evaluation is optimized assuming superscalar pipelined execution. - let ar = A0 * r; // A[0] = -0.5 - let ar2 = r * ar; - let ar3 = r * ar2; - // k * Ln2 + log(c) + r + A[0] * r * r. - let arhi = A0 * rhi; - let arhi2 = rhi * arhi; - let hi = t2 + arhi2; - let lo3 = rlo * (ar + arhi); - let lo4 = t2 - hi + arhi2; - - // p = log1p(r) - r - A[0] * r * r. - let p = ar3 * (A1 + r * A2 + ar2 * (A3 + r * A4 + ar2 * (A5 + r * A6))); - let lo = lo1 + lo2 + lo3 + lo4 + p; - let y = hi + lo; - log_tail = hi - y + lo; - - return y; -} - -// @ts-ignore: decorator -@inline const SIGN_BIAS = 0x800 << EXP_TABLE_BITS; - -// Computes sign*exp(x+xtail) where |xtail| < 2^-8/N and |xtail| <= |x|. -// The sign_bias argument is SIGN_BIAS or 0 and sets the sign to -1 or 1. -// @ts-ignore: decorator -@inline -function exp_inline(x: f64, xtail: f64, sign_bias: u32): f64 { - const N = 1 << EXP_TABLE_BITS; - const N_MASK = N - 1; - - const - InvLn2N = reinterpret(0x3FF71547652B82FE) * N, // 0x1.71547652b82fep0 - NegLn2hiN = reinterpret(0xBF762E42FEFA0000), // -0x1.62e42fefa0000p-8 - NegLn2loN = reinterpret(0xBD0CF79ABC9E3B3A), // -0x1.cf79abc9e3b3ap-47 - shift = reinterpret(0x4338000000000000); // 0x1.8p52 - - const - C2 = reinterpret(0x3FDFFFFFFFFFFDBD), // __exp_data.poly[0] (0x1.ffffffffffdbdp-2) - C3 = reinterpret(0x3FC555555555543C), // __exp_data.poly[1] (0x1.555555555543cp-3) - C4 = reinterpret(0x3FA55555CF172B91), // __exp_data.poly[2] (0x1.55555cf172b91p-5) - C5 = reinterpret(0x3F81111167A4D017); // __exp_data.poly[3] (0x1.1111167a4d017p-7) - - let abstop: u32; - let ki: u64, top: u64, sbits: u64; - let idx: usize; - // double_t for better performance on targets with FLT_EVAL_METHOD==2. - let kd: f64, z: f64, r: f64, r2: f64, scale: f64, tail: f64, tmp: f64; - - let ux = reinterpret(x); - abstop = u32(ux >> 52) & 0x7FF; - if (abstop - 0x3C9 >= 0x03F) { - if (abstop - 0x3C9 >= 0x80000000) { - // Avoid spurious underflow for tiny x. - // Note: 0 is common input. - return select(-1.0, 1.0, sign_bias); - } - if (abstop >= 0x409) { // top12(1024.0) - // Note: inf and nan are already handled. - return ux < 0 - ? uflow(sign_bias) - : oflow(sign_bias); - } - // Large x is special cased below. - abstop = 0; - } - - // exp(x) = 2^(k/N) * exp(r), with exp(r) in [2^(-1/2N),2^(1/2N)]. - // x = ln2/N*k + r, with int k and r in [-ln2/2N, ln2/2N]. - z = InvLn2N * x; - - // #if TOINT_INTRINSICS - // kd = roundtoint(z); - // ki = converttoint(z); - // #elif EXP_USE_TOINT_NARROW - // // z - kd is in [-0.5-2^-16, 0.5] in all rounding modes. - // kd = eval_as_double(z + shift); - // ki = asuint64(kd) >> 16; - // kd = (double_t)(int32_t)ki; - // #else - // z - kd is in [-1, 1] in non-nearest rounding modes - kd = z + shift; - ki = reinterpret(kd); - kd -= shift; - // #endif - r = x + kd * NegLn2hiN + kd * NegLn2loN; - // The code assumes 2^-200 < |xtail| < 2^-8/N - r += xtail; - // 2^(k/N) ~= scale * (1 + tail) - idx = usize((ki & N_MASK) << 1); - top = (ki + sign_bias) << (52 - EXP_TABLE_BITS); - - tail = reinterpret(load(EXP_DATA_TAB + (idx << alignof()))); - // This is only a valid scale when -1023*N < k < 1024*N - sbits = load(EXP_DATA_TAB + (idx << alignof()), 1 << alignof()) + top; - // exp(x) = 2^(k/N) * exp(r) ~= scale + scale * (tail + exp(r) - 1). - // Evaluation is optimized assuming superscalar pipelined execution. - r2 = r * r; - // Without fma the worst case error is 0.25/N ulp larger. - // Worst case error is less than 0.5+1.11/N+(abs poly error * 2^53) ulp - tmp = tail + r + r2 * (C2 + r * C3) + r2 * r2 * (C4 + r * C5); - if (abstop == 0) return specialcase(tmp, sbits, ki); - scale = reinterpret(sbits); - // Note: tmp == 0 or |tmp| > 2^-200 and scale > 2^-739, so there - // is no spurious underflow here even without fma. - return scale + scale * tmp; -} - -// @ts-ignore: decorator -@inline -export function pow_lut(x: f64, y: f64): f64 { - const Ox1p52 = reinterpret(0x4330000000000000); // 0x1p52 - - let sign_bias: u32 = 0; - let ix = reinterpret(x); - let iy = reinterpret(y); - let topx = ix >> 52; - let topy = iy >> 52; - - if (topx - 0x001 >= 0x7FF - 0x001 || (topy & 0x7FF) - 0x3BE >= 0x43e - 0x3BE) { - // Note: if |y| > 1075 * ln2 * 2^53 ~= 0x1.749p62 then pow(x,y) = inf/0 - // and if |y| < 2^-54 / 1075 ~= 0x1.e7b6p-65 then pow(x,y) = +-1. - // Special cases: (x < 0x1p-126 or inf or nan) or - // (|y| < 0x1p-65 or |y| >= 0x1p63 or nan). - if (zeroinfnan(iy)) { - if ((iy << 1) == 0) return 1.0; - if (ix == 0x3FF0000000000000) return NaN; // original: 1.0 - if ((ix << 1) > 0xFFE0000000000000 || (iy << 1) > 0xFFE0000000000000) return x + y; - if ((ix << 1) == 0x7FE0000000000000) return NaN; // original: 1.0 - if (((ix << 1) < 0x7FE0000000000000) == !(iy >> 63)) return 0; // |x|<1 && y==inf or |x|>1 && y==-inf. - return y * y; - } - if (zeroinfnan(ix)) { - let x2 = x * x; - if (i32(ix >> 63) && checkint(iy) == 1) x2 = -x2; - return iy < 0 ? 1 / x2 : x2; - } - // Here x and y are non-zero finite - if (ix < 0) { - // Finite x < 0 - let yint = checkint(iy); - if (yint == 0) return (x - x) / (x - x); - if (yint == 1) sign_bias = SIGN_BIAS; - ix &= 0x7FFFFFFFFFFFFFFF; - topx &= 0x7FF; - } - if ((topy & 0x7FF) - 0x3BE >= 0x43E - 0x3BE) { - // Note: sign_bias == 0 here because y is not odd. - if (ix == 0x3FF0000000000000) return 1; - if ((topy & 0x7FF) < 0x3BE) return 1; // |y| < 2^-65, x^y ~= 1 + y*log(x). - return (ix > 0x3FF0000000000000) == (topy < 0x800) ? Infinity : 0; - } - if (topx == 0) { - // Normalize subnormal x so exponent becomes negative. - ix = reinterpret(x * Ox1p52); - ix &= 0x7FFFFFFFFFFFFFFF; - ix -= u64(52) << 52; - } - } - - let hi = log_inline(ix); - let lo = log_tail; - let ehi: f64, elo: f64; - // #if __FP_FAST_FMA - // ehi = y * hi; - // elo = y * lo + __builtin_fma(y, hi, -ehi); - // #else - let yhi = reinterpret(iy & 0xFFFFFFFFF8000000); - let ylo = y - yhi; - let lhi = reinterpret(reinterpret(hi) & 0xFFFFFFFFF8000000); - let llo = hi - lhi + lo; - ehi = yhi * lhi; - elo = ylo * lhi + y * llo; // |elo| < |ehi| * 2^-25. - // #endif - return exp_inline(ehi, elo, sign_bias); -} -`,"util/memory":`export function memcpy(dest: usize, src: usize, n: usize): void { // see: musl/src/string/memcpy.c - let w: u32, x: u32; - - // copy 1 byte each until src is aligned to 4 bytes - while (n && (src & 3)) { - store(dest++, load(src++)); - n--; - } - - // if dst is aligned to 4 bytes as well, copy 4 bytes each - if ((dest & 3) == 0) { - while (n >= 16) { - store(dest , load(src )); - store(dest + 4, load(src + 4)); - store(dest + 8, load(src + 8)); - store(dest + 12, load(src + 12)); - src += 16; dest += 16; n -= 16; - } - if (n & 8) { - store(dest , load(src )); - store(dest + 4, load(src + 4)); - dest += 8; src += 8; - } - if (n & 4) { - store(dest, load(src)); - dest += 4; src += 4; - } - if (n & 2) { // drop to 2 bytes each - store(dest, load(src)); - dest += 2; src += 2; - } - if (n & 1) { // drop to 1 byte - store(dest++, load(src++)); - } - return; - } - - // if dst is not aligned to 4 bytes, use alternating shifts to copy 4 bytes each - // doing shifts if faster when copying enough bytes (here: 32 or more) - if (n >= 32) { - switch (dest & 3) { - // known to be != 0 - case 1: { - w = load(src); - store(dest++, load(src++)); - store(dest++, load(src++)); - store(dest++, load(src++)); - n -= 3; - while (n >= 17) { - x = load(src + 1); - store(dest, w >> 24 | x << 8); - w = load(src + 5); - store(dest + 4, x >> 24 | w << 8); - x = load(src + 9); - store(dest + 8, w >> 24 | x << 8); - w = load(src + 13); - store(dest + 12, x >> 24 | w << 8); - src += 16; dest += 16; n -= 16; - } - break; - } - case 2: { - w = load(src); - store(dest++, load(src++)); - store(dest++, load(src++)); - n -= 2; - while (n >= 18) { - x = load(src + 2); - store(dest, w >> 16 | x << 16); - w = load(src + 6); - store(dest + 4, x >> 16 | w << 16); - x = load(src + 10); - store(dest + 8, w >> 16 | x << 16); - w = load(src + 14); - store(dest + 12, x >> 16 | w << 16); - src += 16; dest += 16; n -= 16; - } - break; - } - case 3: { - w = load(src); - store(dest++, load(src++)); - n -= 1; - while (n >= 19) { - x = load(src + 3); - store(dest, w >> 8 | x << 24); - w = load(src + 7); - store(dest + 4, x >> 8 | w << 24); - x = load(src + 11); - store(dest + 8, w >> 8 | x << 24); - w = load(src + 15); - store(dest + 12, x >> 8 | w << 24); - src += 16; dest += 16; n -= 16; - } - break; - } - } - } - - // copy remaining bytes one by one - if (n & 16) { - store(dest++, load(src++)); - store(dest++, load(src++)); - store(dest++, load(src++)); - store(dest++, load(src++)); - store(dest++, load(src++)); - store(dest++, load(src++)); - store(dest++, load(src++)); - store(dest++, load(src++)); - store(dest++, load(src++)); - store(dest++, load(src++)); - store(dest++, load(src++)); - store(dest++, load(src++)); - store(dest++, load(src++)); - store(dest++, load(src++)); - store(dest++, load(src++)); - store(dest++, load(src++)); - } - if (n & 8) { - store(dest++, load(src++)); - store(dest++, load(src++)); - store(dest++, load(src++)); - store(dest++, load(src++)); - store(dest++, load(src++)); - store(dest++, load(src++)); - store(dest++, load(src++)); - store(dest++, load(src++)); - } - if (n & 4) { - store(dest++, load(src++)); - store(dest++, load(src++)); - store(dest++, load(src++)); - store(dest++, load(src++)); - } - if (n & 2) { - store(dest++, load(src++)); - store(dest++, load(src++)); - } - if (n & 1) { - store(dest++, load(src++)); - } -} - -// @ts-ignore: decorator -@inline -export function memmove(dest: usize, src: usize, n: usize): void { // see: musl/src/string/memmove.c - if (dest == src) return; - if (ASC_SHRINK_LEVEL < 1) { - if (src - dest - n <= -(n << 1)) { - memcpy(dest, src, n); - return; - } - } - if (dest < src) { - if (ASC_SHRINK_LEVEL < 2) { - if ((src & 7) == (dest & 7)) { - while (dest & 7) { - if (!n) return; - --n; - store(dest++, load(src++)); - } - while (n >= 8) { - store(dest, load(src)); - n -= 8; - dest += 8; - src += 8; - } - } - } - while (n) { - store(dest++, load(src++)); - --n; - } - } else { - if (ASC_SHRINK_LEVEL < 2) { - if ((src & 7) == (dest & 7)) { - while ((dest + n) & 7) { - if (!n) return; - store(dest + --n, load(src + n)); - } - while (n >= 8) { - n -= 8; - store(dest + n, load(src + n)); - } - } - } - while (n) { - store(dest + --n, load(src + n)); - } - } -} - -// @ts-ignore: decorator -@inline -export function memset(dest: usize, c: u8, n: usize): void { // see: musl/src/string/memset - if (ASC_SHRINK_LEVEL > 1) { - while (n) { - store(dest++, c); - --n; - } - } else { - // fill head and tail with minimal branching - if (!n) return; - let dend = dest + n; - store(dest, c); - store(dend - 1, c); - if (n <= 2) return; - store(dest, c, 1); - store(dest, c, 2); - store(dend - 2, c); - store(dend - 3, c); - if (n <= 6) return; - store(dest, c, 3); - store(dend - 4, c); - if (n <= 8) return; - - // advance pointer to align it at 4-byte boundary - let k: usize = -dest & 3; - dest += k; - n -= k; - n &= -4; - - let c32: u32 = -1 / 255 * c; - - // fill head/tail up to 28 bytes each in preparation - dend = dest + n; - store(dest, c32); - store(dend - 4, c32); - if (n <= 8) return; - store(dest, c32, 4); - store(dest, c32, 8); - store(dend - 12, c32); - store(dend - 8, c32); - if (n <= 24) return; - store(dest, c32, 12); - store(dest, c32, 16); - store(dest, c32, 20); - store(dest, c32, 24); - store(dend - 28, c32); - store(dend - 24, c32); - store(dend - 20, c32); - store(dend - 16, c32); - - // align to a multiple of 8 - k = 24 + (dest & 4); - dest += k; - n -= k; - - // copy 32 bytes each - let c64: u64 = c32 | (c32 << 32); - while (n >= 32) { - store(dest, c64); - store(dest, c64, 8); - store(dest, c64, 16); - store(dest, c64, 24); - n -= 32; - dest += 32; - } - } -} - -// @ts-ignore: decorator -@inline -export function memcmp(vl: usize, vr: usize, n: usize): i32 { - if (vl == vr) return 0; - if (ASC_SHRINK_LEVEL < 2) { - if ((vl & 7) == (vr & 7)) { - while (vl & 7) { - if (!n) return 0; - let a = load(vl); - let b = load(vr); - if (a != b) return a - b; - n--; vl++; vr++; - } - while (n >= 8) { - if (load(vl) != load(vr)) break; - vl += 8; - vr += 8; - n -= 8; - } - } - } - while (n--) { - let a = load(vl); - let b = load(vr); - if (a != b) return a - b; - vl++; vr++; - } - return 0; -} -`,"util/number":`/// - -import { idof } from "../builtins"; -import { CharCode } from "./string"; - -// @ts-ignore: decorator -@inline -export const MAX_DOUBLE_LENGTH = 28; - -// @ts-ignore: decorator -@lazy @inline const POWERS10 = memory.data([ - 1, - 10, - 100, - 1000, - 10000, - 100000, - 1000000, - 10000000, - 100000000, - 1000000000 -]); - -/* - Lookup table for pairwise char codes in range [0-99] - - "00", "01", "02", "03", "04", "05", "06", "07", "08", "09", - "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", - "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", - "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", - "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", - "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", - "60", "61", "62", "63", "64", "65", "66", "67", "68", "69", - "70", "71", "72", "73", "74", "75", "76", "77", "78", "79", - "80", "81", "82", "83", "84", "85", "86", "87", "88", "89", - "90", "91", "92", "93", "94", "95", "96", "97", "98", "99" -*/ -// @ts-ignore: decorator -@lazy @inline const DIGITS = memory.data([ - 0x00300030, 0x00310030, 0x00320030, 0x00330030, 0x00340030, - 0x00350030, 0x00360030, 0x00370030, 0x00380030, 0x00390030, - 0x00300031, 0x00310031, 0x00320031, 0x00330031, 0x00340031, - 0x00350031, 0x00360031, 0x00370031, 0x00380031, 0x00390031, - 0x00300032, 0x00310032, 0x00320032, 0x00330032, 0x00340032, - 0x00350032, 0x00360032, 0x00370032, 0x00380032, 0x00390032, - 0x00300033, 0x00310033, 0x00320033, 0x00330033, 0x00340033, - 0x00350033, 0x00360033, 0x00370033, 0x00380033, 0x00390033, - 0x00300034, 0x00310034, 0x00320034, 0x00330034, 0x00340034, - 0x00350034, 0x00360034, 0x00370034, 0x00380034, 0x00390034, - 0x00300035, 0x00310035, 0x00320035, 0x00330035, 0x00340035, - 0x00350035, 0x00360035, 0x00370035, 0x00380035, 0x00390035, - 0x00300036, 0x00310036, 0x00320036, 0x00330036, 0x00340036, - 0x00350036, 0x00360036, 0x00370036, 0x00380036, 0x00390036, - 0x00300037, 0x00310037, 0x00320037, 0x00330037, 0x00340037, - 0x00350037, 0x00360037, 0x00370037, 0x00380037, 0x00390037, - 0x00300038, 0x00310038, 0x00320038, 0x00330038, 0x00340038, - 0x00350038, 0x00360038, 0x00370038, 0x00380038, 0x00390038, - 0x00300039, 0x00310039, 0x00320039, 0x00330039, 0x00340039, - 0x00350039, 0x00360039, 0x00370039, 0x00380039, 0x00390039 -]); - -// Lookup table for pairwise char codes in range [0x00-0xFF] -// @ts-ignore: decorator -@lazy @inline const HEX_DIGITS = -"000102030405060708090a0b0c0d0e0f\\ -101112131415161718191a1b1c1d1e1f\\ -202122232425262728292a2b2c2d2e2f\\ -303132333435363738393a3b3c3d3e3f\\ -404142434445464748494a4b4c4d4e4f\\ -505152535455565758595a5b5c5d5e5f\\ -606162636465666768696a6b6c6d6e6f\\ -707172737475767778797a7b7c7d7e7f\\ -808182838485868788898a8b8c8d8e8f\\ -909192939495969798999a9b9c9d9e9f\\ -a0a1a2a3a4a5a6a7a8a9aaabacadaeaf\\ -b0b1b2b3b4b5b6b7b8b9babbbcbdbebf\\ -c0c1c2c3c4c5c6c7c8c9cacbcccdcecf\\ -d0d1d2d3d4d5d6d7d8d9dadbdcdddedf\\ -e0e1e2e3e4e5e6e7e8e9eaebecedeeef\\ -f0f1f2f3f4f5f6f7f8f9fafbfcfdfeff"; - -// @ts-ignore: decorator -@lazy @inline const ANY_DIGITS = "0123456789abcdefghijklmnopqrstuvwxyz"; - -// @ts-ignore: decorator -@lazy @inline const EXP_POWERS = memory.data([/* eslint-disable indent */ - -1220, -1193, -1166, -1140, -1113, -1087, -1060, -1034, -1007, -980, - -954, -927, -901, -874, -847, -821, -794, -768, -741, -715, - -688, -661, -635, -608, -582, -555, -529, -502, -475, -449, - -422, -396, -369, -343, -316, -289, -263, -236, -210, -183, - -157, -130, -103, -77, -50, -24, 3, 30, 56, 83, - 109, 136, 162, 189, 216, 242, 269, 295, 322, 348, - 375, 402, 428, 455, 481, 508, 534, 561, 588, 614, - 641, 667, 694, 720, 747, 774, 800, 827, 853, 880, - 907, 933, 960, 986, 1013, 1039, 1066 -/* eslint-enable indent */]); - -// 1e-348, 1e-340, ..., 1e340 -// @ts-ignore: decorator -@lazy @inline const FRC_POWERS = memory.data([ - 0xFA8FD5A0081C0288, 0xBAAEE17FA23EBF76, 0x8B16FB203055AC76, 0xCF42894A5DCE35EA, - 0x9A6BB0AA55653B2D, 0xE61ACF033D1A45DF, 0xAB70FE17C79AC6CA, 0xFF77B1FCBEBCDC4F, - 0xBE5691EF416BD60C, 0x8DD01FAD907FFC3C, 0xD3515C2831559A83, 0x9D71AC8FADA6C9B5, - 0xEA9C227723EE8BCB, 0xAECC49914078536D, 0x823C12795DB6CE57, 0xC21094364DFB5637, - 0x9096EA6F3848984F, 0xD77485CB25823AC7, 0xA086CFCD97BF97F4, 0xEF340A98172AACE5, - 0xB23867FB2A35B28E, 0x84C8D4DFD2C63F3B, 0xC5DD44271AD3CDBA, 0x936B9FCEBB25C996, - 0xDBAC6C247D62A584, 0xA3AB66580D5FDAF6, 0xF3E2F893DEC3F126, 0xB5B5ADA8AAFF80B8, - 0x87625F056C7C4A8B, 0xC9BCFF6034C13053, 0x964E858C91BA2655, 0xDFF9772470297EBD, - 0xA6DFBD9FB8E5B88F, 0xF8A95FCF88747D94, 0xB94470938FA89BCF, 0x8A08F0F8BF0F156B, - 0xCDB02555653131B6, 0x993FE2C6D07B7FAC, 0xE45C10C42A2B3B06, 0xAA242499697392D3, - 0xFD87B5F28300CA0E, 0xBCE5086492111AEB, 0x8CBCCC096F5088CC, 0xD1B71758E219652C, - 0x9C40000000000000, 0xE8D4A51000000000, 0xAD78EBC5AC620000, 0x813F3978F8940984, - 0xC097CE7BC90715B3, 0x8F7E32CE7BEA5C70, 0xD5D238A4ABE98068, 0x9F4F2726179A2245, - 0xED63A231D4C4FB27, 0xB0DE65388CC8ADA8, 0x83C7088E1AAB65DB, 0xC45D1DF942711D9A, - 0x924D692CA61BE758, 0xDA01EE641A708DEA, 0xA26DA3999AEF774A, 0xF209787BB47D6B85, - 0xB454E4A179DD1877, 0x865B86925B9BC5C2, 0xC83553C5C8965D3D, 0x952AB45CFA97A0B3, - 0xDE469FBD99A05FE3, 0xA59BC234DB398C25, 0xF6C69A72A3989F5C, 0xB7DCBF5354E9BECE, - 0x88FCF317F22241E2, 0xCC20CE9BD35C78A5, 0x98165AF37B2153DF, 0xE2A0B5DC971F303A, - 0xA8D9D1535CE3B396, 0xFB9B7CD9A4A7443C, 0xBB764C4CA7A44410, 0x8BAB8EEFB6409C1A, - 0xD01FEF10A657842C, 0x9B10A4E5E9913129, 0xE7109BFBA19C0C9D, 0xAC2820D9623BF429, - 0x80444B5E7AA7CF85, 0xBF21E44003ACDD2D, 0x8E679C2F5E44FF8F, 0xD433179D9C8CB841, - 0x9E19DB92B4E31BA9, 0xEB96BF6EBADF77D9, 0xAF87023B9BF0EE6B -]); - -// @ts-ignore: decorator -@inline -export function isPowerOf2(value: T): bool { - return popcnt(value) == 1; -} - -// Count number of decimals for u32 values -// In our case input value always non-zero so we can simplify some parts -export function decimalCount32(value: u32): u32 { - if (value < 100000) { - if (value < 100) { - return 1 + u32(value >= 10); - } else { - return 3 + u32(value >= 10000) + u32(value >= 1000); - } - } else { - if (value < 10000000) { - return 6 + u32(value >= 1000000); - } else { - return 8 + u32(value >= 1000000000) + u32(value >= 100000000); - } - } -} - -// Count number of decimals for u64 values -// In our case input value always greater than 2^32-1 so we can skip some parts -export function decimalCount64High(value: u64): u32 { - if (value < 1000000000000000) { - if (value < 1000000000000) { - return 10 + u32(value >= 100000000000) + u32(value >= 10000000000); - } else { - return 13 + u32(value >= 100000000000000) + u32(value >= 10000000000000); - } - } else { - if (value < 100000000000000000) { - return 16 + u32(value >= 10000000000000000); - } else { - return 18 + u32(value >= 10000000000000000000) + u32(value >= 1000000000000000000); - } - } -} - -function ulog_base(num: u64, base: i32): u32 { - if (isPowerOf2(base)) { - return (63 - clz(num)) / (31 - clz(base)) + 1; - } - let b64 = u64(base), b = b64, e: u32 = 1; - while (num >= b) { - num /= b; - b *= b; - e <<= 1; - } - while (num >= 1) { - num /= b64; - e++; - } - return e - 1; -} - -function utoa32_dec_lut(buffer: usize, num: u32, offset: usize): void { - while (num >= 10000) { - // in most VMs i32/u32 div and modulo by constant can be shared and simplificate - let t = num / 10000; - let r = num % 10000; - num = t; - - let d1 = r / 100; - let d2 = r % 100; - - let digits1 = load(DIGITS + (d1 << alignof())); - let digits2 = load(DIGITS + (d2 << alignof())); - - offset -= 4; - store(buffer + (offset << 1), digits1 | (digits2 << 32)); - } - - if (num >= 100) { - let t = num / 100; - let d1 = num % 100; - num = t; - offset -= 2; - let digits = load(DIGITS + (d1 << alignof())); - store(buffer + (offset << 1), digits); - } - - if (num >= 10) { - offset -= 2; - let digits = load(DIGITS + (num << alignof())); - store(buffer + (offset << 1), digits); - } else { - offset -= 1; - let digit = CharCode._0 + num; - store(buffer + (offset << 1), digit); - } -} - -function utoa64_dec_lut(buffer: usize, num: u64, offset: usize): void { - while (num >= 100000000) { - let t = num / 100000000; - let r = (num - t * 100000000); - num = t; - - let b = r / 10000; - let c = r % 10000; - - let b1 = b / 100; - let b2 = b % 100; - let c1 = c / 100; - let c2 = c % 100; - - let digits1 = load(DIGITS + (c1 << alignof())); - let digits2 = load(DIGITS + (c2 << alignof())); - - offset -= 4; - store(buffer + (offset << 1), digits1 | (digits2 << 32)); - - digits1 = load(DIGITS + (b1 << alignof())); - digits2 = load(DIGITS + (b2 << alignof())); - - offset -= 4; - store(buffer + (offset << 1), digits1 | (digits2 << 32)); - } - - utoa32_dec_lut(buffer, num, offset); -} - -function utoa_hex_lut(buffer: usize, num: u64, offset: usize): void { - const lut = changetype(HEX_DIGITS); - while (offset >= 2) { - offset -= 2; - store( - buffer + (offset << 1), - load(lut + ((num & 0xFF) << alignof())) - ); - num >>= 8; - } - if (offset & 1) { - store(buffer, load(lut + (num << 6))); - } -} - -function utoa_dec_simple(buffer: usize, num: T, offset: usize): void { - do { - let t = num / 10; - let r = (num % 10); - num = changetype(t); - offset--; - store(buffer + (offset << 1), CharCode._0 + r); - } while (num); -} - -function utoa_hex_simple(buffer: usize, num: T, offset: usize): void { - do { - let d = num & 0x0F | CharCode._0; - d += select(0x27, 0, d > CharCode._9); - offset--; - store(buffer + (offset << 1), d); - // @ts-ignore: type - num >>= 4; - } while (num); -} - -// @ts-ignore: decorator -@inline -export function utoa32_dec_core(buffer: usize, num: u32, offset: usize): void { - if (ASC_SHRINK_LEVEL >= 1) { - utoa_dec_simple(buffer, num, offset); - } else { - utoa32_dec_lut(buffer, num, offset); - } -} - -// @ts-ignore: decorator -@inline -function utoa32_hex_core(buffer: usize, num: u32, offset: usize): void { - if (ASC_SHRINK_LEVEL >= 1) { - utoa_hex_simple(buffer, num, offset); - } else { - utoa_hex_lut(buffer, num, offset); - } -} - -// @ts-ignore: decorator -@inline -function utoa64_dec_core(buffer: usize, num: u64, offset: usize): void { - if (ASC_SHRINK_LEVEL >= 1) { - utoa_dec_simple(buffer, num, offset); - } else { - utoa64_dec_lut(buffer, num, offset); - } -} - -// @ts-ignore: decorator -@inline -function utoa64_hex_core(buffer: usize, num: u64, offset: usize): void { - if (ASC_SHRINK_LEVEL >= 1) { - utoa_hex_simple(buffer, num, offset); - } else { - utoa_hex_lut(buffer, num, offset); - } -} - -function utoa64_any_core(buffer: usize, num: u64, offset: usize, radix: i32): void { - const lut = changetype(ANY_DIGITS); - let base = u64(radix); - if ((radix & (radix - 1)) == 0) { // for radix which pow of two - let shift = u64(ctz(radix) & 7); - let mask = base - 1; - do { - offset--; - store(buffer + (offset << 1), load(lut + (usize(num & mask) << 1))); - num >>= shift; - } while (num); - } else { - do { - offset--; - let q = num / base; - store(buffer + (offset << 1), load(lut + (usize(num - q * base) << 1))); - num = q; - } while (num); - } -} - -export function utoa32(value: u32, radix: i32): String { - if (radix < 2 || radix > 36) { - throw new RangeError("toString() radix argument must be between 2 and 36"); - } - if (!value) return "0"; - let out: String; - - if (radix == 10) { - let decimals = decimalCount32(value); - out = changetype(__new(decimals << 1, idof())); - utoa32_dec_core(changetype(out), value, decimals); - } else if (radix == 16) { - let decimals = (31 - clz(value) >> 2) + 1; - out = changetype(__new(decimals << 1, idof())); - utoa32_hex_core(changetype(out), value, decimals); - } else { - let decimals = ulog_base(value, radix); - out = changetype(__new(decimals << 1, idof())); - utoa64_any_core(changetype(out), value, decimals, radix); - } - return out; -} - -export function itoa32(value: i32, radix: i32): String { - if (radix < 2 || radix > 36) { - throw new RangeError("toString() radix argument must be between 2 and 36"); - } - if (!value) return "0"; - - let sign = (value >>> 31) << 1; - if (sign) value = -value; - let out: String; - - if (radix == 10) { - let decimals = decimalCount32(value); - out = changetype(__new((decimals << 1) + sign, idof())); - utoa32_dec_core(changetype(out) + sign, value, decimals); - } else if (radix == 16) { - let decimals = (31 - clz(value) >> 2) + 1; - out = changetype(__new((decimals << 1) + sign, idof())); - utoa32_hex_core(changetype(out) + sign, value, decimals); - } else { - let val32 = u32(value); - let decimals = ulog_base(val32, radix); - out = changetype(__new((decimals << 1) + sign, idof())); - utoa64_any_core(changetype(out) + sign, val32, decimals, radix); - } - if (sign) store(changetype(out), CharCode.MINUS); - return out; -} - -export function utoa64(value: u64, radix: i32): String { - if (radix < 2 || radix > 36) { - throw new RangeError("toString() radix argument must be between 2 and 36"); - } - if (!value) return "0"; - let out: String; - - if (radix == 10) { - if (value <= u32.MAX_VALUE) { - let val32 = value; - let decimals = decimalCount32(val32); - out = changetype(__new(decimals << 1, idof())); - utoa32_dec_core(changetype(out), val32, decimals); - } else { - let decimals = decimalCount64High(value); - out = changetype(__new(decimals << 1, idof())); - utoa64_dec_core(changetype(out), value, decimals); - } - } else if (radix == 16) { - let decimals = (63 - u32(clz(value)) >> 2) + 1; - out = changetype(__new(decimals << 1, idof())); - utoa64_hex_core(changetype(out), value, decimals); - } else { - let decimals = ulog_base(value, radix); - out = changetype(__new(decimals << 1, idof())); - utoa64_any_core(changetype(out), value, decimals, radix); - } - return out; -} - -export function itoa64(value: i64, radix: i32): String { - if (radix < 2 || radix > 36) { - throw new RangeError("toString() radix argument must be between 2 and 36"); - } - if (!value) return "0"; - - let sign = u32(value >>> 63) << 1; - if (sign) value = -value; - let out: String; - - if (radix == 10) { - if (value <= u32.MAX_VALUE) { - let val32 = value; - let decimals = decimalCount32(val32); - out = changetype(__new((decimals << 1) + sign, idof())); - utoa32_dec_core(changetype(out) + sign, val32, decimals); - } else { - let decimals = decimalCount64High(value); - out = changetype(__new((decimals << 1) + sign, idof())); - utoa64_dec_core(changetype(out) + sign, value, decimals); - } - } else if (radix == 16) { - let decimals = (63 - u32(clz(value)) >> 2) + 1; - out = changetype(__new((decimals << 1) + sign, idof())); - utoa64_hex_core(changetype(out) + sign, value, decimals); - } else { - let decimals = ulog_base(value, radix); - out = changetype(__new((decimals << 1) + sign, idof())); - utoa64_any_core(changetype(out) + sign, value, decimals, radix); - } - if (sign) store(changetype(out), CharCode.MINUS); - return out; -} - -// @ts-ignore: decorator -@lazy let _K: i32 = 0; - -// // @ts-ignore: decorator -// @lazy -// let _frc: u64 = 0; - -// @ts-ignore: decorator -@lazy let _exp: i32 = 0; - -// @ts-ignore: decorator -@lazy let _frc_minus: u64 = 0; - -// @ts-ignore: decorator -@lazy let _frc_plus: u64 = 0; - -// @ts-ignore: decorator -@lazy let _frc_pow: u64 = 0; - -// @ts-ignore: decorator -@lazy let _exp_pow: i32 = 0; - -// @ts-ignore: decorator -@inline -function umul64f(u: u64, v: u64): u64 { - let u0 = u & 0xFFFFFFFF; - let v0 = v & 0xFFFFFFFF; - - let u1 = u >> 32; - let v1 = v >> 32; - - let l = u0 * v0; - let t = u1 * v0 + (l >> 32); - let w = u0 * v1 + (t & 0xFFFFFFFF); - - w += 0x7FFFFFFF; // rounding - - t >>= 32; - w >>= 32; - - return u1 * v1 + t + w; -} - -// @ts-ignore: decorator -@inline -function umul64e(e1: i32, e2: i32): i32 { - return e1 + e2 + 64; // where 64 is significand size -} - -// @ts-ignore: decorator -@inline -function normalizedBoundaries(f: u64, e: i32): void { - let frc = (f << 1) + 1; - let exp = e - 1; - let off = clz(frc); - frc <<= off; - exp -= off; - - let m = 1 + i32(f == 0x0010000000000000); - - _frc_plus = frc; - _frc_minus = ((f << m) - 1) << e - m - exp; - _exp = exp; -} - -// @ts-ignore: decorator -@inline -function grisuRound(buffer: usize, len: i32, delta: u64, rest: u64, ten_kappa: u64, wp_w: u64): void { - let lastp = buffer + ((len - 1) << 1); - let digit = load(lastp); - while ( - rest < wp_w && - delta - rest >= ten_kappa && ( - rest + ten_kappa < wp_w || - wp_w - rest > rest + ten_kappa - wp_w - ) - ) { - --digit; - rest += ten_kappa; - } - store(lastp, digit); -} - -// @ts-ignore: decorator -@inline -function getCachedPower(minExp: i32): void { - const c = reinterpret(0x3FD34413509F79FE); // 1 / lg(10) = 0.30102999566398114 - let dk = (-61 - minExp) * c + 347; // dk must be positive, so can do ceiling in positive - let k = dk; - k += i32(k != dk); // conversion with ceil - - let index = (k >> 3) + 1; - _K = 348 - (index << 3); // decimal exponent no need lookup table - _frc_pow = load(FRC_POWERS + (index << alignof())); - _exp_pow = load(EXP_POWERS + (index << alignof())); -} - -// @ts-ignore: decorator -@inline -function grisu2(value: f64, buffer: usize, sign: i32): i32 { - - // frexp routine - let uv = reinterpret(value); - let exp = i32((uv & 0x7FF0000000000000) >>> 52); - let sid = uv & 0x000FFFFFFFFFFFFF; - let frc = (u64(exp != 0) << 52) + sid; - exp = select(exp, 1, exp) - (0x3FF + 52); - - normalizedBoundaries(frc, exp); - getCachedPower(_exp); - - // normalize - let off = clz(frc); - frc <<= off; - exp -= off; - - let frc_pow = _frc_pow; - let exp_pow = _exp_pow; - - let w_frc = umul64f(frc, frc_pow); - let w_exp = umul64e(exp, exp_pow); - - let wp_frc = umul64f(_frc_plus, frc_pow) - 1; - let wp_exp = umul64e(_exp, exp_pow); - - let wm_frc = umul64f(_frc_minus, frc_pow) + 1; - let delta = wp_frc - wm_frc; - - return genDigits(buffer, w_frc, w_exp, wp_frc, wp_exp, delta, sign); -} - -function genDigits(buffer: usize, w_frc: u64, w_exp: i32, mp_frc: u64, mp_exp: i32, delta: u64, sign: i32): i32 { - let one_exp = -mp_exp; - let one_frc = (1) << one_exp; - let mask = one_frc - 1; - - let wp_w_frc = mp_frc - w_frc; - - let p1 = u32(mp_frc >> one_exp); - let p2 = mp_frc & mask; - - let kappa = decimalCount32(p1); - let len = sign; - - while (kappa > 0) { - let d: u32; - switch (kappa) { - case 10: { d = p1 / 1000000000; p1 %= 1000000000; break; } - case 9: { d = p1 / 100000000; p1 %= 100000000; break; } - case 8: { d = p1 / 10000000; p1 %= 10000000; break; } - case 7: { d = p1 / 1000000; p1 %= 1000000; break; } - case 6: { d = p1 / 100000; p1 %= 100000; break; } - case 5: { d = p1 / 10000; p1 %= 10000; break; } - case 4: { d = p1 / 1000; p1 %= 1000; break; } - case 3: { d = p1 / 100; p1 %= 100; break; } - case 2: { d = p1 / 10; p1 %= 10; break; } - case 1: { d = p1; p1 = 0; break; } - default: { d = 0; break; } - } - - if (d | len) store(buffer + (len++ << 1), CharCode._0 + d); - - --kappa; - let tmp = ((p1) << one_exp) + p2; - if (tmp <= delta) { - _K += kappa; - grisuRound(buffer, len, delta, tmp, load(POWERS10 + (kappa << alignof())) << one_exp, wp_w_frc); - return len; - } - } - - while (true) { - p2 *= 10; - delta *= 10; - - let d = p2 >> one_exp; - if (d | len) store(buffer + (len++ << 1), CharCode._0 + d); - - p2 &= mask; - --kappa; - if (p2 < delta) { - _K += kappa; - wp_w_frc *= load(POWERS10 + (-kappa << alignof())); - grisuRound(buffer, len, delta, p2, one_frc, wp_w_frc); - return len; - } - } -} - -// @ts-ignore: decorator -@inline -function genExponent(buffer: usize, k: i32): i32 { - let sign = k < 0; - if (sign) k = -k; - let decimals = decimalCount32(k) + 1; - utoa32_dec_core(buffer, k, decimals); - store(buffer, select(CharCode.MINUS, CharCode.PLUS, sign)); - return decimals; -} - -function prettify(buffer: usize, length: i32, k: i32): i32 { - if (!k) { - store(buffer + (length << 1), CharCode.DOT | (CharCode._0 << 16)); - return length + 2; - } - - let kk = length + k; - if (length <= kk && kk <= 21) { - // 1234e7 -> 12340000000 - for (let i = length; i < kk; ++i) { - store(buffer + (i << 1), CharCode._0); - } - store(buffer + (kk << 1), CharCode.DOT | (CharCode._0 << 16)); - return kk + 2; - } else if (kk > 0 && kk <= 21) { - // 1234e-2 -> 12.34 - let ptr = buffer + (kk << 1); - memory.copy( - ptr + 2, - ptr, - -k << 1 - ); - store(buffer + (kk << 1), CharCode.DOT); - return length + 1; - } else if (-6 < kk && kk <= 0) { - // 1234e-6 -> 0.001234 - let offset = 2 - kk; - memory.copy( - buffer + (offset << 1), - buffer, - length << 1 - ); - store(buffer, CharCode._0 | (CharCode.DOT << 16)); - for (let i = 2; i < offset; ++i) { - store(buffer + (i << 1), CharCode._0); - } - return length + offset; - } else if (length == 1) { - // 1e30 - store(buffer, CharCode.e, 2); - length = genExponent(buffer + 4, kk - 1); - return length + 2; - } else { - let len = length << 1; - memory.copy( - buffer + 4, - buffer + 2, - len - 2 - ); - store(buffer, CharCode.DOT, 2); - store(buffer + len, CharCode.e, 2); - length += genExponent(buffer + len + 4, kk - 1); - return length + 2; - } -} - -function dtoa_core(buffer: usize, value: f64): i32 { - let sign = i32(value < 0); - if (sign) { - value = -value; - store(buffer, CharCode.MINUS); - } - // assert(value > 0 && value <= 1.7976931348623157e308); - let len = grisu2(value, buffer, sign); - len = prettify(buffer + (sign << 1), len - sign, _K); - return len + sign; -} - -// @ts-ignore: decorator -@lazy @inline const dtoa_buf = memory.data(MAX_DOUBLE_LENGTH << 1); - -export function dtoa(value: f64): String { - if (value == 0) return "0.0"; - if (!isFinite(value)) { - if (isNaN(value)) return "NaN"; - return select("-Infinity", "Infinity", value < 0); - } - let size = dtoa_core(dtoa_buf, value) << 1; - let result = changetype(__new(size, idof())); - memory.copy(changetype(result), dtoa_buf, size); - return result; -} - -export function itoa_buffered(buffer: usize, value: T): u32 { - let sign: u32 = 0; - if (isSigned()) { - sign = u32(value < 0); - if (sign) { - if (sizeof() == 1) { - if (value == -0x80) { - // -0x80 -> -128 - store(buffer, - CharCode.MINUS | - (CharCode._0 + 1) << 16 | - (CharCode._0 + 2) << 32 | - (CharCode._0 + 8) << 48 - ); - return 4; - } - } - if (sizeof() == 2) { - if (value == -0x8000) { - // -0x8000 -> -32768 - store(buffer, - CharCode.MINUS | - (CharCode._0 + 3) << 16 | - (CharCode._0 + 2) << 32 | - (CharCode._0 + 7) << 48 - ); // -327 - store(buffer + 8, - (CharCode._0 + 6) << 0 | - (CharCode._0 + 8) << 16 - ); // 68 - return 6; - } - } - store(buffer, CharCode.MINUS); - // @ts-ignore - value = -value; - } - } - let dest = buffer + (sign << 1); - if (ASC_SHRINK_LEVEL <= 1) { - if (isSigned()) { - if (sizeof() <= 4) { - if (value < 10) { - store(dest, value | CharCode._0); - return 1 + sign; - } - } else { - if (value < 10) { - store(dest, value | CharCode._0); - return 1 + sign; - } - } - } else { - if (value < 10) { - store(buffer, value | CharCode._0); - return 1; - } - } - } - let decimals: u32 = 0; - if (sizeof() <= 4) { - let val32 = value; - decimals = decimalCount32(val32); - utoa32_dec_core(dest, val32, decimals); - } else { - if (value <= u32.MAX_VALUE) { - let val32 = value; - decimals = decimalCount32(val32); - utoa32_dec_core(dest, val32, decimals); - } else { - let val64 = value; - decimals = decimalCount64High(val64); - utoa64_dec_core(dest, val64, decimals); - } - } - return sign + decimals; -} - -export function dtoa_buffered(buffer: usize, value: f64): u32 { - if (value == 0) { - store(buffer, CharCode._0); - store(buffer, CharCode.DOT, 2); - store(buffer, CharCode._0, 4); - return 3; - } - if (!isFinite(value)) { - if (isNaN(value)) { - store(buffer, CharCode.N); - store(buffer, CharCode.a, 2); - store(buffer, CharCode.N, 4); - return 3; - } else { - let sign = value < 0; - if (sign) { - store(buffer, CharCode.MINUS); // - - buffer += 2; - } - store(buffer, 0x690066006E0049, 0); // ifnI - store(buffer, 0x7900740069006E, 8); // ytin - return 8 + u32(sign); - } - } - return dtoa_core(buffer, value); -} -`,"util/sort":`import { compareImpl } from "./string"; - -type Comparator = (a: T, b: T) => i32; - -// @ts-ignore: decorator -@lazy @inline const EMPTY = u32.MAX_VALUE; -// @ts-ignore: decorator -@inline const INSERTION_SORT_THRESHOLD = 48; -// @ts-ignore: decorator -@inline const MIN_RUN_LENGTH = 32; - -// @ts-ignore: decorator -@inline -function log2u(n: u32): u32 { - return 31 - clz(n); -} - -// @ts-ignore: decorator -@inline -export function COMPARATOR(): Comparator { - if (isInteger()) { - if (isSigned() && sizeof() <= 4) { - return (a, b) => i32(a) - i32(b); - } else { - return (a, b) => i32(a > b) - i32(a < b); - } - } else if (isFloat()) { - if (sizeof() == 4) { - return (a, b) => { - let ia = reinterpret(f32(a)); - let ib = reinterpret(f32(b)); - ia ^= ia >> 31 >>> 1; - ib ^= ib >> 31 >>> 1; - return i32(ia > ib) - i32(ia < ib); - }; - } else { - return (a, b) => { - let ia = reinterpret(f64(a)); - let ib = reinterpret(f64(b)); - ia ^= ia >> 63 >>> 1; - ib ^= ib >> 63 >>> 1; - return i32(ia > ib) - i32(ia < ib); - }; - } - } else if (isString()) { - return (a, b) => { - if ( - changetype(a) == changetype(b) || - changetype(a) == 0 || - changetype(b) == 0 - ) return 0; - let alen = changetype(a).length; - let blen = changetype(b).length; - if (!(alen | blen)) return 0; - if (!alen) return -1; - if (!blen) return 1; - let res = compareImpl( - changetype(a), 0, - changetype(b), 0, - min(alen, blen) - ); - return res ? res : alen - blen; - }; - } else { - return (a, b) => i32(a > b) - i32(a < b); - } -} - -// Power Sort implementation (stable) from paper "Nearly-Optimal Mergesorts" -// https://arxiv.org/pdf/1805.04154.pdf -// This method usually outperform TimSort. -// TODO: refactor c >>> 31 to c < 0 when binaryen will support this opt -export function SORT( - ptr: usize, - len: i32, - comparator: Comparator -): void { - if (len <= INSERTION_SORT_THRESHOLD) { - if (len <= 1) return; - if (ASC_SHRINK_LEVEL < 1) { - switch (len) { - case 3: { - let a = load(ptr, 0); - let b = load(ptr, 1 << alignof()); - let c = comparator(a, b) > 0; - store(ptr, select(b, a, c), 0); - a = select(a, b, c); - b = load(ptr, 2 << alignof()); - c = comparator(a, b) > 0; - store(ptr, select(b, a, c), 1 << alignof()); - store(ptr, select(a, b, c), 2 << alignof()); - } - case 2: { - let a = load(ptr, 0); - let b = load(ptr, 1 << alignof()); - let c = comparator(a, b) > 0; - store(ptr, select(b, a, c), 0); - store(ptr, select(a, b, c), 1 << alignof()); - return; - } - } - } - insertionSort(ptr, 0, len - 1, 0, comparator); - return; - } - - let lgPlus2 = log2u(len) + 2; - let lgPlus2Size = lgPlus2 << alignof(); - let leftRunStartBuf = __alloc(lgPlus2Size << 1); - let leftRunEndBuf = leftRunStartBuf + lgPlus2Size; - - for (let i: u32 = 0; i < lgPlus2; ++i) { - store(leftRunStartBuf + (i << alignof()), EMPTY); - } - - let buffer = __alloc(len << alignof()); - - let hi = len - 1; - let endA = extendRunRight(ptr, 0, hi, comparator); - let lenA = endA + 1; - - if (lenA < MIN_RUN_LENGTH) { - endA = min(hi, MIN_RUN_LENGTH - 1); - insertionSort(ptr, 0, endA, lenA, comparator); - } - - let top: u32 = 0, startA = 0; - while (endA < hi) { - let startB = endA + 1; - let endB = extendRunRight(ptr, startB, hi, comparator); - let lenB = endB - startB + 1; - - if (lenB < MIN_RUN_LENGTH) { - endB = min(hi, startB + MIN_RUN_LENGTH - 1); - insertionSort(ptr, startB, endB, lenB, comparator); - } - - let k = nodePower(0, hi, startA, startB, endB); - - for (let i = top; i > k; --i) { - let start = load(leftRunStartBuf + (i << alignof())); - if (start != EMPTY) { - mergeRuns( - ptr, - start, - load(leftRunEndBuf + (i << alignof())) + 1, - endA, - buffer, - comparator - ); - startA = start; - store(leftRunStartBuf + (i << alignof()), EMPTY); - } - } - - store(leftRunStartBuf + (k << alignof()), startA); - store(leftRunEndBuf + (k << alignof()), endA); - startA = startB; - endA = endB; - top = k; - } - - for (let i = top; i != 0; --i) { - let start = load(leftRunStartBuf + (i << alignof())); - if (start != EMPTY) { - mergeRuns( - ptr, - start, - load(leftRunEndBuf + (i << alignof())) + 1, - hi, - buffer, - comparator - ); - } - } - // dealloc aux buffers - __free(buffer); - __free(leftRunStartBuf); -} - -function insertionSort( - ptr: usize, - left: i32, - right: i32, - presorted: i32, - comparator: Comparator -): void { - if (ASC_SHRINK_LEVEL >= 1) { - // slightly improved original insertion sort - for (let i = left + presorted; i <= right; ++i) { - let j = i - 1; - let a = load(ptr + (i << alignof())); - while (j >= left) { - let b = load(ptr + (j << alignof())); - if (comparator(a, b) < 0) { - store(ptr + (j << alignof()), b, 1 << alignof()); --j; - } else break; - } - store(ptr + (j << alignof()), a, 1 << alignof()); - } - } else { - // even-odd two-way insertion sort which allow increase minRunLen - let range = right - left + 1; - let i = left + select(range & 1, presorted - ((range - presorted) & 1), presorted == 0); - for (; i <= right; i += 2) { - let a = load(ptr + (i << alignof()), 0); - let b = load(ptr + (i << alignof()), 1 << alignof()); - let min = b, max = a; - if (comparator(a, b) <= 0) { - min = a, max = b; - } - let j = i - 1; - while (j >= left) { - a = load(ptr + (j << alignof())); - if (comparator(a, max) > 0) { - store(ptr + (j << alignof()), a, 2 << alignof()); --j; - } else break; - } - store(ptr + (j << alignof()), max, 2 << alignof()); - while (j >= left) { - a = load(ptr + (j << alignof())); - if (comparator(a, min) > 0) { - store(ptr + (j << alignof()), a, 1 << alignof()); --j; - } else break; - } - store(ptr + (j << alignof()), min, 1 << alignof()); - } - } -} - -function nodePower(left: u32, right: u32, startA: u32, startB: u32, endB: u32): u32 { - let n: u64 = right - left + 1; - let s = startB - (left << 1); - let l = startA + s; - let r = endB + s + 1; - let a = (l << 30) / n; - let b = (r << 30) / n; - return clz((a ^ b)); -} - -function extendRunRight( - ptr: usize, - i: i32, - right: i32, - comparator: Comparator -): i32 { - if (i == right) return i; - let j = i; - if (comparator( - load(ptr + ( j << alignof())), - load(ptr + (++j << alignof())) - ) > 0) { - while ( - j < right && - (comparator( - load(ptr + (j << alignof()), 1 << alignof()), - load(ptr + (j << alignof())) - ) >>> 31) // < 0 - ) ++j; - // reverse - let k = j; - while (i < k) { - let tmp = load(ptr + (i << alignof())); - store(ptr + (i << alignof()), load(ptr + (k << alignof()))); ++i; - store(ptr + (k << alignof()), tmp); --k; - } - } else { - while ( - j < right && - comparator( - load(ptr + (j << alignof()), 1 << alignof()), - load(ptr + (j << alignof())) - ) >= 0 - ) ++j; - } - return j; -} - -// Merges arr[l..m - 1] and arr[m..r] -function mergeRuns( - ptr: usize, - l: i32, - m: i32, - r: i32, - buffer: usize, - comparator: Comparator -): void { - --m; - let i: i32, j: i32, t = r + m; - for (i = m + 1; i > l; --i) { - store( - buffer + ((i - 1) << alignof()), - load(ptr + ((i - 1) << alignof())) - ); - } - for (j = m; j < r; ++j) { - store( - buffer + ((t - j) << alignof()), - load(ptr + (j << alignof()), 1 << alignof()) - ); - } - for (let k = l; k <= r; ++k) { - let a = load(buffer + (j << alignof())); - let b = load(buffer + (i << alignof())); - if (comparator(a, b) < 0) { - store(ptr + (k << alignof()), a); - --j; - } else { - store(ptr + (k << alignof()), b); - ++i; - } - } -} -`,"util/string":`import { - itoa32, - utoa32, - itoa64, - utoa64, - dtoa, - itoa_buffered, - dtoa_buffered, - MAX_DOUBLE_LENGTH -} from "./number"; - -import { - ipow32 -} from "../math"; - -// All tables are stored as two staged lookup tables (static tries) -// because the full range of Unicode symbols can't be efficiently -// represented as-is in memory (see Unicode spec ch 5, p.196): -// https://www.unicode.org/versions/Unicode12.0.0/ch05.pdf -// Tables have been generated using these forked musl tools: -// https://github.com/MaxGraey/musl-chartable-tools/tree/case-ignorable - -// Lookup table to check if a character is alphanumeric or not -// See: https://git.musl-libc.org/cgit/musl/tree/src/ctype/alpha.h -// size: 3904 bytes -// @ts-ignore -@inline @lazy const ALPHA_TABLE = memory.data([ - 18,17,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,17,34,35,36,17,37,38,39,40, - 41,42,43,44,17,45,46,47,16,16,48,16,16,16,16,16,16,16,49,50,51,16,52,53,16,16, - 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,54, - 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, - 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, - 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, - 17,17,17,55,17,17,17,17,56,17,57,58,59,60,61,62,17,17,17,17,17,17,17,17,17,17, - 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, - 17,17,17,17,17,17,17,63,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,17,64,65,17,66,67, - 68,69,70,71,72,73,74,17,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92, - 93,94,16,95,96,97,98,17,17,17,99,100,101,16,16,16,16,16,16,16,16,16,16,17,17, - 17,17,102,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,17,17,103,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,17,17,104,105,16,16,106,107,17,17,17,17,17,17,17,17,17,17,17,17,17, - 17,17,17,17,17,17,17,17,17,17,108,17,17,17,17,109,110,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 17,111,112,16,16,16,16,16,16,16,16,16,113,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,114,115,116,117,16,16,16,16,16,16,16,16,118, - 119,120,16,16,16,16,16,121,122,16,16,16,16,123,16,16,124,16,16,16,16,16,16,16, - 16,16,125,16,16,16, - 16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255, - 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, - 255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,254,255,255,7,254, - 255,255,7,0,0,0,0,0,4,32,4,255,255,127,255,255,255,127,255,255,255,255,255, - 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, - 255,195,255,3,0,31,80,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,223,188,64,215,255,255, - 251,255,255,255,255,255,255,255,255,255,191,255,255,255,255,255,255,255,255, - 255,255,255,255,255,255,255,255,255,3,252,255,255,255,255,255,255,255,255,255, - 255,255,255,255,255,255,255,255,255,255,255,254,255,255,255,127,2,255,255,255, - 255,255,1,0,0,0,0,255,191,182,0,255,255,255,135,7,0,0,0,255,7,255,255,255,255, - 255,255,255,254,255,195,255,255,255,255,255,255,255,255,255,255,255,255,239, - 31,254,225,255, - 159,0,0,255,255,255,255,255,255,0,224,255,255,255,255,255,255,255,255,255,255, - 255,255,3,0,255,255,255,255,255,7,48,4,255,255,255,252,255,31,0,0,255,255,255, - 1,255,7,0,0,0,0,0,0,255,255,223,255,255,0,240,255,248,3,255,255,255,255,255, - 255,255,255,255,239,255,223,225,255,207,255,254,255,239,159,249,255,255,253, - 197,227,159,89,128,176,207,255,3,16,238,135,249,255,255,253,109,195,135,25,2, - 94,192,255,63,0,238,191,251,255,255,253,237,227,191,27,1,0,207,255,0,30,238, - 159,249,255,255,253,237,227,159,25,192,176,207,255,2,0,236,199,61,214,24,199, - 255,195,199,29,129,0,192,255,0,0,239,223,253,255,255,253,255,227,223,29,96,7, - 207,255,0,0,239,223,253,255,255,253,239,227,223,29,96,64,207,255,6,0,255,223, - 253,255,255,255,255,231,223,93,240,128,207,255,0,252,238,255,127,252,255,255, - 251,47,127,128,95,255,192,255,12,0,254,255,255,255,255,127,255,7,63,32,255,3, - 0,0,0,0,214,247,255,255,175,255,255,59,95,32,255,243,0,0,0, - 0,1,0,0,0,255,3,0,0,255,254,255,255,255,31,254,255,3,255,255,254,255,255,255, - 31,0,0,0,0,0,0,0,0,255,255,255,255,255,255,127,249,255,3,255,255,255,255,255, - 255,255,255,255,63,255,255,255,255,191,32,255,255,255,255,255,247,255,255,255, - 255,255,255,255,255,255,61,127,61,255,255,255,255,255,61,255,255,255,255,61, - 127,61,255,127,255,255,255,255,255,255,255,61,255,255,255,255,255,255,255,255, - 7,0,0,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,63,63,254,255, - 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, - 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, - 255,255,255,255,255,159,255,255,254,255,255,7,255,255,255,255,255,255,255,255, - 255,199,255,1,255,223,15,0,255,255,15,0,255,255,15,0,255,223,13,0,255,255,255, - 255,255,255,207,255,255,1,128,16,255,3,0,0,0,0,255,3,255,255,255,255,255,255, - 255,255,255,255,255,1,255,255,255,255,255,7,255,255,255,255,255,255,255,255, - 63, - 0,255,255,255,127,255,15,255,1,192,255,255,255,255,63,31,0,255,255,255,255, - 255,15,255,255,255,3,255,3,0,0,0,0,255,255,255,15,255,255,255,255,255,255,255, - 127,254,255,31,0,255,3,255,3,128,0,0,128,1,0,0,0,0,0,0,0,255,255,255,255,255, - 255,239,255,239,15,255,3,0,0,0,0,255,255,255,255,255,243,255,255,255,255,255, - 255,191,255,3,0,255,255,255,255,255,255,127,0,255,227,255,255,255,255,255,63, - 255,1,255,255,255,255,255,231,0,0,0,0,0,222,111,4,255,255,255,255,255,255,255, - 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0, - 128,255,31,0,255,255,63,63,255,255,255,255,63,63,255,170,255,255,255,63,255, - 255,255,255,255,255,223,95,220,31,207,15,255,31,220,31,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,2,128,0,0,255,31,0,0,0,0,0,0,0,0,0,0,0,0,132,252,47,62,80,189,255,243, - 224,67,0,0,255,255,255,255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,255,255,255,255,255,255,3,0, - 0,255,255,255,255,255,127,255,255,255,255,255,127,255,255,255,255,255,255,255, - 255,255,255,255,255,255,255,255,255,31,120,12,0,255,255,255,255,191,32,255, - 255,255,255,255,255,255,128,0,0,255,255,127,0,127,127,127,127,127,127,127,127, - 255,255,255,255,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,224,0,0,0,254,3,62,31,254,255,255,255,255,255,255,255,255,255,127,224,254, - 255,255,255,255,255,255,255,255,255,255,247,224,255,255,255,255,255,254,255, - 255,255,255,255,255,255,255,255,255,127,0,0,255,255,255,255,0,0,0,0,0,0,255, - 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, - 255,255,255,255,255,255,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255, - 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, - 255,255,255, - 31,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,0,0, - 0,0,0,0,0,0,255,255,255,255,255,63,255,31,255,255,255,15,0,0,255,255,255,255, - 255,127,240,143,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0, - 0,128,255,252,255,255,255,255,255,255,255,255,255,255,255,255,249,255,255,255, - 255,255,255,252,7,0,0,0,0,224,255,191,255,255,255,255,0,0,0,255,255,255,255, - 255,255,15,0,255,255,255,255,255,255,255,255,47,0,255,3,0,0,252,232,255,255, - 255,255,255,7,255,255,255,255,7,0,255,255,255,31,255,255,255,255,255,255,247, - 255,0,128,255,3,255,255,255,127,255,255,255,255,255,255,127,0,255,63,255,3, - 255,255,127,252,255,255,255,255,255,255,255,127,5,0,0,56,255,255,60,0,126,126, - 126,0,127,127,255,255,255,255,255,247,255,3,255,255,255,255,255,255,255,255, - 255,255,255,255,255,255,255,7,255,3,255,255,255,255,255,255,255,255,255,255, - 255,255,255,255,255,255,255,255,255,255,15,0,255,255,127,248,255,255,255,255, - 255, - 15,255,255,255,255,255,255,255,255,255,255,255,255,255,63,255,255,255,255,255, - 255,255,255,255,255,255,255,255,3,0,0,0,0,127,0,248,224,255,253,127,95,219, - 255,255,255,255,255,255,255,255,255,255,255,255,255,3,0,0,0,248,255,255,255, - 255,255,255,255,255,255,255,255,255,63,0,0,255,255,255,255,255,255,255,255, - 252,255,255,255,255,255,255,0,0,0,0,0,255,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,223, - 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,0,0,255,3, - 254,255,255,7,254,255,255,7,192,255,255,255,255,255,255,255,255,255,255,127, - 252,252,252,28,0,0,0,0,255,239,255,255,127,255,255,183,255,63,255,63,0,0,0,0, - 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,7,0,0,0,0,0,0,0,0, - 255,255,255,255,255,255,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,255,255,255,31,255,255,255,255,255,255,1,0,0,0,0, - 0,255,255,255,255,0,224,255,255,255,7,255,255,255,255,255,7,255,255,255,63, - 255,255,255,255,15,255,62,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255, - 255,255,255,255,255,255,255,255,255,63,255,3,255,255,255,255,15,255,255,255, - 255,15,255,255,255,255,255,0,255,255,255,255,255,255,15,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,255,255,255,255,255,255,127,0,255,255,63,0,255,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,63,253,255,255,255,255,191,145,255,255,63,0,255,255, - 127,0,255,255,255,127,0,0,0,0,0,0,0,0,255,255,55,0,255,255,63,0,255,255,255,3, - 0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,192,0,0,0,0,0,0,0,0,111,240,239, - 254,255,255,63,0,0,0,0,0,255,255,255,31,255,255,255,31,0,0,0,0,255,254,255, - 255,31,0,0,0,255,255,255,255,255,255,63,0,255,255,63,0,255,255,7,0,255,255,3, - 0,0,0,0,0,0,0,0,0,0,0,0, - 0,255,255,255,255,255,255,255,255,255,1,0,0,0,0,0,0,255,255,255,255,255,255,7, - 0,255,255,255,255,255,255,7,0,255,255,255,255,255,0,255,3,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255, - 255,27,3,0,0,0,0,0,0,0,0,0,255,255,255,31,128,0,255,255,63,0,0,0,0,0,0,0,0,0, - 0,0,0,0,255,255,31,0,0,0,255,255,127,0,255,255,255,255,255,255,255,255,63,0,0, - 0,192,255,0,0,252,255,255,255,255,255,255,1,0,0,255,255,255,1,255,3,255,255, - 255,255,255,255,199,255,240,0,255,255,255,255,71,0,255,255,255,255,255,255, - 255,255,30,192,255,23,0,0,0,0,255,255,251,255,255,255,159,64,0,0,0,0,0,0,0,0, - 127,189,255,191,255,1,255,255,255,255,255,255,255,1,255,3,239,159,249,255,255, - 253,237,227,159,25,129,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,255,255,255,255,255,255,255,255,187,7,255,131,3,0,0,0,255,255,255,255,255, - 255,255,255,179,0,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255, - 255,255,255,63,127,0,0,0,63,0,0,0,0,255,255,255,255,255,255,255,127,17,0,255, - 3,0,0,0,0,255,255,255,255,255,255,63,1,255,3,0,0,0,0,0,0,255,255,255,231,255, - 7,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255, - 255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,3,0,128, - 127,242,111,255,255,255,191,153,7,0,255,3,0,0,0,0,0,0,0,0,255,252,255,255,255, - 255,255,252,26,0,0,0,255,255,255,255,255,255,231,127,0,0,255,255,255,255,255, - 255,255,255,255,32,0,0,0,0,255,255,255,255,255,255,255,1,255,253,255,255,255, - 255,127,127,1,0,255,3,0,0,252,255,255,255,252,255,255,254,127,0,0,0,0,0,0,0,0, - 0,127,251,255,255,255,255,127,180,203,0,255,3,191,253,255,255,255,127,123,1, - 255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, - 0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, - 255,3,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255, - 255,127,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, - 255,255,255,255,255,255,255,255,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,255,255,255,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,255,255,255,255,255,255,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0, - 0,255,255,255,255,255,255,255,1,255,255,255,127,255,3,0,0,0,0,0,0,0,0,0,0,0,0, - 255,255,255,63,0,0,255,255,255,255,255,255,0,0,15,0,255,3,248,255,255,224,255, - 255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255, - 255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,135, - 255,255,255,255,255,255,255,128,255,255,0,0,0,0,0,0,0,0,11,0,3,0,255,255,255, - 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, - 255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255, - 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,0,0,0,0,0, - 255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255, - 127,0,0,0,0,0,0,7,0,240,0,255,255,255,255,255,255,255,255,255,255,255,255,255, - 255,255,255,255, - 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, - 255,255,255,255,255,255,255,255,255,255,255,255,255,15,255,255,255,255,255, - 255,255,255,255,255,255,255,255,7,255,31,255,1,255,67,0,0,0,0,0,0,0,0,0,0,0,0, - 255,255,255,255,255,255,255,255,255,255,223,255,255,255,255,255,255,255,255, - 223,100,222,255,235,239,255,255,255,255,255,255,255,191,231,223,223,255,255, - 255,123,95,252,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255, - 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, - 255,255,255,255,255,255,255,255,63,255,255,255,253,255,255,247,255,255,255, - 247,255,255,223,255,255,255,223,255,255,127,255,255,255,127,255,255,255,253, - 255,255,255,253,255,255,247,207,255,255,255,255,255,255,127,255,255,249,219,7, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,31, - 128,63,255,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,15,255, - 3,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, - 255,255,255,255,255,31,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,143,8, - 255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,239,255,255,255,150,254,247,10, - 132,234,150,170,150,247,247,94,255,251,255,15,238,251,255,15,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,255,255,255,3,255,255,255,3,255,255,255,3,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,3 -]); - -// size: 1568 bytes (compressed to ~1380 bytes after binaryen) -// @ts-ignore: decorator -@lazy @inline const CASED = memory.data([ - 18,19,20,21,22,23,16,16,16,16,16,16,16,16,16,16, - 24,16,16,25,16,16,16,16,16,16,16,16,26,27,17,28, - 29,30,16,16,31,16,16,16,16,16,16,16,32,33,16,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,34,35,16,16,16,36,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,37,16,16,16,38, - 16,16,16,16,39,16,16,16,16,16,16,16,40,16,16,16, - 16,16,16,16,16,16,16,16,41,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,42,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,43,44,45,46,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,47,16,16,16,16,16,16, - 16,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, - 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, - 0,0,0,0,0,0,0,0,254,255,255,7,254,255,255,7,0,0,0,0,0,4,32,4, - 255,255,127,255,255,255,127,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, - 255,255,255,255,255,255,255,247,240,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, - 255,255,255,255,255,255,255,255,255,255,239,255,255,255,255,1,3,0,0,0,31,0,0,0, - 0,0,0,0,0,0,0,0,32,0,0,0,0,0,207,188,64,215,255,255,251,255,255,255, - 255,255,255,255,255,255,191,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, - 3,252,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,255, - 255,255,127,0,255,255,255,255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255, - 191,32,255,255,255,255,255,231,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,255,255,255,255,255,255,255,255,255,255,63,63,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,255,1,255,255,255,255,255,231,0,0,0,0,0,0,0,0, - 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, - 0,0,0,0,0,0,0,0,255,255,63,63,255,255,255,255,63,63,255,170,255,255,255,63, - 255,255,255,255,255,255,223,95,220,31,207,15,255,31,220,31,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,2,128,0,0,255,31,0,0,0,0,0,0,0,0,0,0,0,0, - 132,252,47,62,80,189,31,242,224,67,0,0,255,255,255,255,24,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,192,255,255,255,255,255,255,3,0,0,255,255,255,255,255,127,255,255, - 255,255,255,127,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,120,12,0, - 255,255,255,255,191,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,63,0,0, - 255,255,255,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,255,255,255, - 255,255,255,255,255,255,255,255,255,120,255,255,255,255,255,255,252,7,0,0,0,0,96,7, - 0,0,0,0,0,0,255,255,255,255,255,247,255,1,255,255,255,255,255,255,255,255,255,255, - 0,0,0,0,0,0,0,0,127,0,248,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,255,255,7, - 254,255,255,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255, - 255,255,15,255,255,255,255,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 255,255,255,255,255,255,7,0,255,255,255,255,255,255,7,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0, - 0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,223,255,255,255,255,255, - 255,255,255,223,100,222,255,235,239,255,255,255,255,255,255,255,191,231,223,223,255,255,255,123, - 95,252,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, - 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,255,255,255, - 253,255,255,247,255,255,255,247,255,255,223,255,255,255,223,255,255,127,255,255,255,127,255,255, - 255,253,255,255,255,253,255,255,247,15,0,0,0,0,0,0,255,255,255,255,255,255,255,255, - 15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,255,255,255,3,255,255,255,3,255,255,255,3,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0 -]); - -// size: 2976 bytes (compressed to ~2050 bytes after binaryen) -// @ts-ignore: decorator -@lazy @inline const CASE_IGNORABLES = memory.data([ - 18,16,19,20,21,22,23,24,25,26,27,28,29,30,31,32, - 33,16,16,34,16,16,16,35,36,37,38,39,40,41,16,42, - 43,16,16,16,16,16,16,16,16,16,16,16,44,45,46,16, - 47,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 48,16,16,16,49,16,50,51,52,53,54,55,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,56,16,16,57,58, - 16,59,60,61,16,16,16,16,16,16,62,16,16,63,64,65, - 66,67,68,69,70,71,72,73,74,75,76,16,77,78,79,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,80,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,81,82,16,16,16,83, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,16,84,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 16,85,86,16,16,16,16,16,16,16,87,16,16,16,16,16, - 88,89,90,16,16,16,16,16,91,92,16,16,16,16,16,16, - 16,16,16,93,16,16,16,16,16,16,16,16,16,16,16,16, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, - 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, - 0,0,0,0,128,64,0,4,0,0,0,64,1,0,0,0,0,0,0,0,0,161,144,1, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, - 255,255,255,255,255,255,48,4,176,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,3,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,130,0,0,0,0, - 0,0,254,255,255,255,255,191,182,0,0,0,0,0,16,0,63,0,255,23,0,0,0,0, - 1,248,255,255,0,0,1,0,0,0,0,0,0,0,0,0,0,0,192,191,255,61,0,0, - 0,128,2,0,0,0,255,255,255,7,0,0,0,0,0,0,0,0,0,0,192,255,1,0, - 0,0,0,0,0,248,63,36,0,0,192,255,255,63,0,0,0,0,0,14,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,248,255,255,255,255,255,7,0,0,0,0,0,0,20, - 254,33,254,0,12,0,2,0,2,0,0,0,0,0,0,16,30,32,0,0,12,0,0,64, - 6,0,0,0,0,0,0,16,134,57,2,0,0,0,35,0,6,0,0,0,0,0,0,16, - 190,33,0,0,12,0,0,252,2,0,0,0,0,0,0,144,30,32,96,0,12,0,0,0, - 4,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,17,0,0,0,0,0,0,192, - 193,61,96,0,12,0,0,0,2,0,0,0,0,0,0,144,64,48,0,0,12,0,0,0, - 3,0,0,0,0,0,0,24,30,32,0,0,12,0,0,0,2,0,0,0,0,0,0,0, - 0,4,92,0,0,0,0,0,0,0,0,0,0,0,242,7,192,127,0,0,0,0,0,0, - 0,0,0,0,0,0,242,31,64,63,0,0,0,0,0,0,0,0,0,3,0,0,160,2, - 0,0,0,0,0,0,254,127,223,224,255,254,255,255,255,31,64,0,0,0,0,0,0,0, - 0,0,0,0,0,224,253,102,0,0,0,195,1,0,30,0,100,32,0,32,0,0,0,0, - 0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,224,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,0,0,0,28,0, - 0,0,12,0,0,0,12,0,0,0,0,0,0,0,176,63,64,254,143,32,0,0,0,0, - 0,120,0,0,0,0,0,0,8,0,0,0,0,0,0,0,96,0,0,0,0,2,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,135,1,4,14,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,9,0,0,0,0, - 0,0,64,127,229,31,248,159,0,0,0,0,128,0,255,255,1,0,0,0,0,0,0,0, - 15,0,0,0,0,0,208,23,4,0,0,0,0,248,15,0,3,0,0,0,60,59,0,0, - 0,0,0,0,64,163,3,0,0,0,0,0,0,240,207,0,0,0,0,0,0,0,0,63, - 0,0,0,0,0,0,0,0,0,0,247,255,253,33,16,3,0,0,0,0,0,240,255,255, - 255,255,255,255,255,7,0,1,0,0,0,248,255,255,255,255,255,255,255,255,255,255,255,251, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160, - 3,224,0,224,0,224,0,96,0,248,0,3,144,124,0,0,0,0,0,0,223,255,2,128, - 0,0,255,31,0,0,0,0,0,0,255,255,255,255,1,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,0,0,0,0,0,0,128,3,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,128,0,128,0,0,0,0,0,0,0,0, - 0,0,0,0,255,255,255,255,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,60,62,8, - 0,0,0,0,0,0,0,0,0,0,0,126,0,0,0,0,0,0,0,0,0,0,0,112, - 0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,0,16,0,0,0,0,0,0, - 0,0,0,0,0,128,247,191,0,0,0,240,0,0,0,0,0,0,0,0,0,0,3,0, - 255,255,255,255,3,0,0,0,0,0,0,0,0,0,1,0,0,7,0,0,0,0,0,0, - 0,0,0,0,0,0,0,3,68,8,0,0,96,16,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,48,0,0,0,255,255,3,128,0,0,0,0,192,63,0,0, - 128,255,3,0,0,0,0,0,7,0,0,0,0,0,200,51,0,128,0,0,96,0,0,0, - 0,0,0,0,0,126,102,0,8,16,0,0,0,0,1,16,0,0,0,0,0,0,157,193, - 2,0,0,32,0,48,88,0,0,0,0,0,0,0,0,0,0,0,0,248,0,14,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,32,33,0,0,0,0,0,64,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,255,3,0,0,0,0,0,0,0, - 255,255,8,0,255,255,0,0,0,0,36,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,128,128,64,0,4,0,0,0,64,1,0,0,0,0,0,1,0, - 0,0,0,192,0,0,0,0,0,0,0,0,8,0,0,14,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,7, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,110,240,0,0,0,0,0,135, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,0,0,0, - 0,0,0,0,240,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 192,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 2,0,0,0,0,0,0,255,127,0,0,0,0,0,0,128,3,0,0,0,0,0,120,38, - 0,32,0,0,0,0,0,0,7,0,0,0,128,239,31,0,0,0,0,0,0,0,8,0, - 3,0,0,0,0,0,192,127,0,158,0,0,0,0,0,0,0,0,0,0,0,128,211,64, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,248,7,0,0, - 3,0,0,0,0,0,0,24,1,0,0,0,192,31,31,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,92,0,0,64,0,0,0,0, - 0,0,0,0,0,0,248,133,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,176,1,0,0,48,0,0,0,0, - 0,0,0,0,0,0,248,167,1,0,0,0,0,0,0,0,0,0,0,0,0,40,191,0, - 0,0,0,0,0,0,0,0,0,0,0,224,188,15,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,255,6, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,88,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,240,12,1,0,0,0,254,7,0,0,0,0,248,121,128,0,126,14,0,0,0,0, - 0,252,127,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,127,191, - 0,0,0,0,0,0,0,0,0,0,252,255,255,252,109,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,126,180,191,0,0,0,0,0,0,0,0,0,163,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,255,1, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,31,0,0,0,0,0,0,0,127,0,15,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,128,0,0,0,0,0,0,0,128,255,255,0,0,0,0,0,0,0,0,27,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,15,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,3,248,255, - 231,15,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 255,255,255,255,255,255,127,248,255,255,255,255,255,31,32,0,16,0,0,248,254,255,0,0, - 0,0,0,0,0,0,0,0,127,255,255,249,219,7,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,63, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,240,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,127,0,0,0,0,0,0,0,0,0,0,0,0,0, - 240,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,248 -]); - -// @ts-ignore: decorator -@lazy @inline const LOWER127 = memory.data([ - 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15, - 16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31, - 32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47, - 48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63, - 64, - 97,98,99,100,101,102,103,104,105,106,107,108,109, - 110,111,112,113,114,115,116,117,118,119,120,121,122, - 91,92,93,94,95,96, - 97,98,99,100,101,102,103,104,105,106,107,108,109, - 110,111,112,113,114,115,116,117,118,119,120,121,122, - 123,124,125,126,127 -]); - -// @ts-ignore: decorator -@lazy @inline const UPPER127 = memory.data([ - 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15, - 16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31, - 32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47, - 48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63, - 64, - 65,66,67,68,69,70,71,72,73,74,75,76,77, - 78,79,80,81,82,83,84,85,86,87,88,89,90, - 91,92,93,94,95,96, - 65,66,67,68,69,70,71,72,73,74,75,76,77, - 78,79,80,81,82,83,84,85,86,87,88,89,90, - 123,124,125,126,127 -]); - -// 23 * 8 = 184 bytes -// @ts-ignore: decorator -@lazy @inline const POWERS10 = memory.data([ - 1e00, 1e01, 1e02, 1e03, 1e04, 1e05, 1e06, 1e07, 1e08, 1e09, - 1e10, 1e11, 1e12, 1e13, 1e14, 1e15, 1e16, 1e17, 1e18, 1e19, - 1e20, 1e21, 1e22 -]); - -// @ts-ignore: decorator -@inline -export const enum CharCode { - PERCENT = 0x25, - PLUS = 0x2B, - MINUS = 0x2D, - DOT = 0x2E, - _0 = 0x30, - _1 = 0x31, - _2 = 0x32, - _3 = 0x33, - _4 = 0x34, - _5 = 0x35, - _6 = 0x36, - _7 = 0x37, - _8 = 0x38, - _9 = 0x39, - A = 0x41, - B = 0x42, - E = 0x45, - I = 0x49, - N = 0x4E, - O = 0x4F, - X = 0x58, - Z = 0x5A, - a = 0x61, - b = 0x62, - e = 0x65, - n = 0x6E, - o = 0x6F, - u = 0x75, - x = 0x78, - z = 0x7A -} - -// @ts-ignore: decorator -@inline -export function isAscii(c: u32): bool { - return !(c >> 7); -} - -// @ts-ignore: decorator -@inline -export function isLower8(c: u32): bool { - return c - CharCode.a < 26; -} - -// @ts-ignore: decorator -@inline -export function isUpper8(c: u32): bool { - return c - CharCode.A < 26; -} - -export function isSpace(c: u32): bool { - if (c < 0x1680) { // < (1) - // , , , , , and - // (c == 0x20 || c == 0xA0) was optimized to (c | 0x80) == 0xA0 - return ((c | 0x80) == 0xA0) || (c - 0x09 <= 0x0D - 0x09); - } - if (c - 0x2000 <= 0x200A - 0x2000) return true; - switch (c) { - case 0x1680: // (1) - case 0x2028: // (2) - case 0x2029: // - case 0x202F: // - case 0x205F: // - case 0x3000: // - case 0xFEFF: return true; // - } - return false; -} - -export function isAlpha(c: u32): bool { - if (isAscii(c)) return (c | 32) - CharCode.a < 26; - if (c < 0x20000) { - // @ts-ignore: cast - return stagedBinaryLookup(ALPHA_TABLE, c); - } - return c < 0x2FFFE; -} - -// @ts-ignore: decorator -@inline -export function isCased(c: u32): bool { - // @ts-ignore: cast - return c < 0x1F18A && stagedBinaryLookup(CASED, c); -} - -// @ts-ignore: decorator -@inline -export function isCaseIgnorable(c: u32): bool { - // @ts-ignore: cast - return c < 0xE01F0 && stagedBinaryLookup(CASE_IGNORABLES, c); -} - -// @ts-ignore: decorator -@inline -export function isFinalSigma(buffer: usize, index: isize, len: isize): bool { - const lookaheadLimit = 30; // max lookahead limit - let found = false; - let pos = index; - let minPos = max(0, pos - lookaheadLimit); - while (pos > minPos) { - let c = codePointBefore(buffer, pos); - if (!isCaseIgnorable(c)) { - if (isCased(c)) { - found = true; - } else { - return false; - } - } - pos -= isize(c >= 0x10000) + 1; - } - if (!found) return false; - pos = index + 1; - let maxPos = min(pos + lookaheadLimit, len); - while (pos < maxPos) { - let c = load(buffer + (pos << 1)); - if (u32((c & 0xFC00) == 0xD800) & u32(pos + 1 != len)) { - let c1 = load(buffer + (pos << 1), 2); - if ((c1 & 0xFC00) == 0xDC00) { - c = (c - 0xD800 << 10) + (c1 - 0xDC00) + 0x10000; - } - } - if (!isCaseIgnorable(c)) { - return !isCased(c); - } - pos += isize(c >= 0x10000) + 1; - } - return true; -} - -// @ts-ignore: decorator -@inline -function codePointBefore(buffer: usize, index: isize): i32 { - if (index <= 0) return -1; - let c = load(buffer + (index - 1 << 1)); - if (u32((c & 0xFC00) == 0xDC00) & u32(index - 2 >= 0)) { - let c1 = load(buffer + (index - 2 << 1)); - if ((c1 & 0xFC00) == 0xD800) { - return ((c1 & 0x3FF) << 10) + (c & 0x3FF) + 0x10000; - } - } - return (c & 0xF800) == 0xD800 ? 0xFFFD : c; -} - -// Search routine for two-staged lookup tables -function stagedBinaryLookup(table: usize, c: u32): bool { - return ((load(table + (load(table + (c >>> 8)) << 5) + ((c & 255) >> 3)) >>> (c & 7)) & 1); -} - -export function compareImpl(str1: string, index1: usize, str2: string, index2: usize, len: usize): i32 { - let ptr1 = changetype(str1) + (index1 << 1); - let ptr2 = changetype(str2) + (index2 << 1); - if (ASC_SHRINK_LEVEL < 2) { - if (len >= 4 && !((ptr1 & 7) | (ptr2 & 7))) { - do { - if (load(ptr1) != load(ptr2)) break; - ptr1 += 8; - ptr2 += 8; - len -= 4; - } while (len >= 4); - } - } - while (len--) { - let a = load(ptr1); - let b = load(ptr2); - if (a != b) return a - b; - ptr1 += 2; - ptr2 += 2; - } - return 0; -} - -// @ts-ignore: decorator -@inline -export function toLower8(c: u32): u32 { - if (ASC_SHRINK_LEVEL > 0) { - return c | u32(isUpper8(c)) << 5; - } else { - return load(LOWER127 + c); - } -} - -// @ts-ignore: decorator -@inline -export function toUpper8(c: u32): u32 { - if (ASC_SHRINK_LEVEL > 0) { - return c & ~(u32(isLower8(c)) << 5); - } else { - return load(UPPER127 + c); - } -} - -/** Parses a string to an integer (usually), using the specified radix. */ -export function strtol(str: string, radix: i32 = 0): T { - let len = str.length; - if (!len) { - if (isFloat()) { - // @ts-ignore: cast - return NaN; - } else { - // @ts-ignore: cast - return 0; - } - } - - let ptr = changetype(str) /* + HEAD -> offset */; - let code = load(ptr); - - // trim white spaces - while (isSpace(code)) { - code = load(ptr += 2); - --len; - } - // determine sign - // @ts-ignore - let sign: T = 1; - if (code == CharCode.MINUS || code == CharCode.PLUS) { - if (!--len) { - if (isFloat()) { - // @ts-ignore: cast - return NaN; - } else { - // @ts-ignore: cast - return 0; - } - } - if (code == CharCode.MINUS) { - // @ts-ignore: type - sign = -1; - } - code = load(ptr += 2); - } - - // See https://tc39.es/ecma262/#sec-parseint-string-radix - if (radix) { - if (radix < 2 || radix > 36) { - if (isFloat()) { - // @ts-ignore: cast - return NaN; - } else { - // @ts-ignore: cast - return 0; - } - } - // handle case as parseInt("0xFF", 16) by spec - if (radix == 16) { - if ( - len > 2 && - code == CharCode._0 && - (load(ptr, 2) | 32) == CharCode.x - ) { - ptr += 4; len -= 2; - } - } - } else { - // determine radix by literal prefix - if (code == CharCode._0 && len > 2) { - switch (load(ptr, 2) | 32) { - case CharCode.b: { - ptr += 4; len -= 2; - radix = 2; - break; - } - case CharCode.o: { - ptr += 4; len -= 2; - radix = 8; - break; - } - case CharCode.x: { - ptr += 4; len -= 2; - radix = 16; - break; - } - } - } - if (!radix) radix = 10; - } - - // calculate value - // @ts-ignore: type - let num: T = 0; - let initial = len - 1; - while (len--) { - code = load(ptr); - if (code - CharCode._0 < 10) { - code -= CharCode._0; - } else if (code - CharCode.A <= (CharCode.Z - CharCode.A)) { - code -= CharCode.A - 10; - } else if (code - CharCode.a <= (CharCode.z - CharCode.a)) { - code -= CharCode.a - 10; - } - if (code >= radix) { - if (initial == len) { - if (isFloat()) { - // @ts-ignore: cast - return NaN; - } else { - // @ts-ignore: cast - return 0; - } - } - break; - } - // @ts-ignore: type - num = num * radix + code; - ptr += 2; - } - // @ts-ignore: type - return sign * num; -} - -export function strtod(str: string): f64 { - let len = str.length; - if (!len) return NaN; - - let ptr = changetype(str); - let code = load(ptr); - - let sign = 1.0; - // skip white spaces - while (len && isSpace(code)) { - code = load(ptr += 2); - --len; - } - if (!len) return NaN; - - // try parse '-' or '+' - if (code == CharCode.MINUS) { - if (!--len) return NaN; - code = load(ptr += 2); - sign = -1; - } else if (code == CharCode.PLUS) { - if (!--len) return NaN; - code = load(ptr += 2); - } - - // try parse Infinity - if (len >= 8 && code == CharCode.I) { - if ( - load(ptr, 0) == 0x690066006E0049 && // ifnI - load(ptr, 8) == 0x7900740069006E // ytin - ) { - return Infinity * sign; - } - return NaN; - } - // validate next symbol - if (code != CharCode.DOT && (code - CharCode._0) >= 10) { - return NaN; - } - let savedPtr = ptr; - // skip zeros - while (code == CharCode._0) { - code = load(ptr += 2); - --len; - } - if (len <= 0) return 0.0 * sign; - const capacity = 19; // int(64 * 0.3010) - let pointed = false; - let consumed = 0; - let position = 0; - let x: u64 = 0; - if (code == CharCode.DOT) { - let noDigits = !(savedPtr - ptr); - ptr += 2; --len; - if (!len && noDigits) return NaN; - for (pointed = true; (code = load(ptr)) == CharCode._0; --position, ptr += 2) --len; - if (len <= 0) return 0.0 * sign; - if (!position && noDigits && code - CharCode._0 >= 10) return NaN; - } - for (let digit = code - CharCode._0; digit < 10 || (code == CharCode.DOT && !pointed); digit = code - CharCode._0) { - if (digit < 10) { - x = consumed < capacity ? 10 * x + digit : x | u64(!!digit); - ++consumed; - } else { - position = consumed; - pointed = true; - } - if (!--len) break; - code = load(ptr += 2); - } - - if (!pointed) position = consumed; - return copysign(scientific(x, position - min(capacity, consumed) + parseExp(ptr, len)), sign); -} - -export function strtob(str: string): bool { - let size: usize = str.length << 1; - let offset: usize = 0; - if (size > 8) { - // try trim end whitespaces first - while (size && isSpace(load(changetype(str) + size - 2))) size -= 2; - if (size > 8) { - // trim start whitespaces - while (offset < size && isSpace(load(changetype(str) + offset))) offset += 2; - size -= offset; - } - } - if (size != 8) return false; - // "true" represents as \\00\\e\\00\\u\\00\\e\\00\\t (00 65 00 75 00 72 00 74) - return load(changetype(str) + offset) == 0x0065_0075_0072_0074; -} - -export function joinBooleanArray(dataStart: usize, length: i32, separator: string): string { - let lastIndex = length - 1; - if (lastIndex < 0) return ""; - if (!lastIndex) return select("true", "false", load(dataStart)); - - let sepLen = separator.length; - let valueLen = 5; // max possible length of element len("false") - let estLen = (valueLen + sepLen) * lastIndex + valueLen; - let result = changetype(__new(estLen << 1, idof())); - let offset = 0; - let value: bool; - for (let i = 0; i < lastIndex; ++i) { - value = load(dataStart + i); - valueLen = 4 + i32(!value); - memory.copy( - changetype(result) + (offset << 1), - changetype(select("true", "false", value)), - valueLen << 1 - ); - offset += valueLen; - if (sepLen) { - memory.copy( - changetype(result) + (offset << 1), - changetype(separator), - sepLen << 1 - ); - offset += sepLen; - } - } - value = load(dataStart + lastIndex); - valueLen = 4 + i32(!value); - memory.copy( - changetype(result) + (offset << 1), - changetype(select("true", "false", value)), - valueLen << 1 - ); - offset += valueLen; - - if (estLen > offset) return result.substring(0, offset); - return result; -} - -export function joinIntegerArray(dataStart: usize, length: i32, separator: string): string { - let lastIndex = length - 1; - if (lastIndex < 0) return ""; - if (!lastIndex) { - let value = load(dataStart); - if (isSigned()) { - if (sizeof() <= 4) { - // @ts-ignore: type - return changetype(itoa32(value, 10)); - } else { - // @ts-ignore: type - return changetype(itoa64(value, 10)); - } - } else { - if (sizeof() <= 4) { - // @ts-ignore: type - return changetype(utoa32(value, 10)); - } else { - // @ts-ignore: type - return changetype(utoa64(value, 10)); - } - } - } - - let sepLen = separator.length; - const valueLen = (sizeof() <= 4 ? 10 : 20) + i32(isSigned()); - let estLen = (valueLen + sepLen) * lastIndex + valueLen; - let result = changetype(__new(estLen << 1, idof())); - let offset = 0; - let value: T; - for (let i = 0; i < lastIndex; ++i) { - value = load(dataStart + (i << alignof())); - // @ts-ignore: type - offset += itoa_buffered(changetype(result) + (offset << 1), value); - if (sepLen) { - memory.copy( - changetype(result) + (offset << 1), - changetype(separator), - sepLen << 1 - ); - offset += sepLen; - } - } - value = load(dataStart + (lastIndex << alignof())); - // @ts-ignore: type - offset += itoa_buffered(changetype(result) + (offset << 1), value); - if (estLen > offset) return result.substring(0, offset); - return result; -} - -export function joinFloatArray(dataStart: usize, length: i32, separator: string): string { - let lastIndex = length - 1; - if (lastIndex < 0) return ""; - if (!lastIndex) { - return changetype(dtoa( - // @ts-ignore: type - load(dataStart)) - ); - } - - const valueLen = MAX_DOUBLE_LENGTH; - let sepLen = separator.length; - let estLen = (valueLen + sepLen) * lastIndex + valueLen; - let result = changetype(__new(estLen << 1, idof())); - let offset = 0; - let value: T; - for (let i = 0; i < lastIndex; ++i) { - value = load(dataStart + (i << alignof())); - // @ts-ignore: type - offset += dtoa_buffered(changetype(result) + (offset << 1), value); - if (sepLen) { - memory.copy( - changetype(result) + (offset << 1), - changetype(separator), - sepLen << 1 - ); - offset += sepLen; - } - } - value = load(dataStart + (lastIndex << alignof())); - // @ts-ignore: type - offset += dtoa_buffered(changetype(result) + (offset << 1), value); - if (estLen > offset) return result.substring(0, offset); - return result; -} - -export function joinStringArray(dataStart: usize, length: i32, separator: string): string { - let lastIndex = length - 1; - if (lastIndex < 0) return ""; - if (!lastIndex) { - // @ts-ignore: type - return load(dataStart) || ""; - } - let estLen = 0; - let value: string; - for (let i = 0; i < length; ++i) { - value = load(dataStart + (i << alignof())); - if (changetype(value) != 0) estLen += value.length; - } - let offset = 0; - let sepLen = separator.length; - let result = changetype(__new((estLen + sepLen * lastIndex) << 1, idof())); - for (let i = 0; i < lastIndex; ++i) { - value = load(dataStart + (i << alignof())); - if (changetype(value) != 0) { - let valueLen = value.length; - memory.copy( - changetype(result) + (offset << 1), - changetype(value), - valueLen << 1 - ); - offset += valueLen; - } - if (sepLen) { - memory.copy( - changetype(result) + (offset << 1), - changetype(separator), - sepLen << 1 - ); - offset += sepLen; - } - } - value = load(dataStart + (lastIndex << alignof())); - if (changetype(value) != 0) { - memory.copy( - changetype(result) + (offset << 1), - changetype(value), - value.length << 1 - ); - } - return result; -} - -export function joinReferenceArray(dataStart: usize, length: i32, separator: string): string { - let lastIndex = length - 1; - if (lastIndex < 0) return ""; - let value: T; - if (!lastIndex) { - value = load(dataStart); - // @ts-ignore: type - return value != null ? value.toString() : ""; - } - let result = ""; - let sepLen = separator.length; - for (let i = 0; i < lastIndex; ++i) { - value = load(dataStart + (i << alignof())); - // @ts-ignore: type - if (value != null) result += value.toString(); - if (sepLen) result += separator; - } - value = load(dataStart + (lastIndex << alignof())); - // @ts-ignore: type - if (value != null) result += value.toString(); - return result; -} - -// @ts-ignore: decorator -@inline -function scientific(significand: u64, exp: i32): f64 { - if (!significand || exp < -342) return 0; - if (exp > 308) return Infinity; - // Try use fast path - // Use fast path for string-to-double conversion if possible - // see http://www.exploringbinary.com/fast-path-decimal-to-floating-point-conversion - // Simple integer - let significandf = significand; - if (!exp) return significandf; - if (exp > 22 && exp <= 22 + 15) { - significandf *= pow10(exp - 22); - exp = 22; - } - if (significand <= 9007199254740991 && abs(exp) <= 22) { - if (exp > 0) return significandf * pow10(exp); - return significandf / pow10(-exp); - } else if (exp < 0) { - return scaledown(significand, exp); - } else { - return scaleup(significand, exp); - } -} - -// Adopted from metallic lib: -// https://github.com/jdh8/metallic/blob/master/src/stdlib/parse/scientific.h -// @ts-ignore: decorator -@inline -function scaledown(significand: u64, exp: i32): f64 { - const denom: u64 = 6103515625; // 1e14 * 0x1p-14 - const scale = reinterpret(0x3F06849B86A12B9B); // 1e-14 * 0x1p32 - - let shift = clz(significand); - significand <<= shift; - shift = exp - shift; - - for (; exp <= -14; exp += 14) { - let q = significand / denom; - let r = significand % denom; - let s = clz(q); - significand = (q << s) + nearest(scale * (r << (s - 18))); - shift -= s; - } - let b = ipow32(5, -exp); - let q = significand / b; - let r = significand % b; - let s = clz(q); - significand = (q << s) + (reinterpret(reinterpret(r) + (s << 52)) / b); - shift -= s; - - return NativeMath.scalbn(significand, shift); -} - -// Adopted from metallic lib: -// https://github.com/jdh8/metallic/blob/master/src/stdlib/parse/scientific.h -// @ts-ignore: decorator -@inline -function scaleup(significand: u64, exp: i32): f64 { - const coeff: u32 = 1220703125; // 1e13 * 0x1p-13; - let shift = ctz(significand); - significand >>= shift; - shift += exp; - - __fixmulShift = shift; - for (; exp >= 13; exp -= 13) { - significand = fixmul(significand, coeff); - } - significand = fixmul(significand, ipow32(5, exp)); - shift = __fixmulShift; - return NativeMath.scalbn(significand, shift); -} - -// Adopted from metallic lib: -// https://github.com/jdh8/metallic/blob/master/src/stdlib/parse/scientific.h -// @ts-ignore: decorator -@inline -function parseExp(ptr: usize, len: i32): i32 { - let sign = 1, magnitude = 0; - let code = load(ptr); - // check code is 'e' or 'E' - if ((code | 32) != CharCode.e) return 0; - - if (!--len) return 0; - code = load(ptr += 2); - if (code == CharCode.MINUS) { - if (!--len) return 0; - code = load(ptr += 2); - sign = -1; - } else if (code == CharCode.PLUS) { - if (!--len) return 0; - code = load(ptr += 2); - } - // skip zeros - while (code == CharCode._0) { - if (!--len) return 0; - code = load(ptr += 2); - } - for (let digit: u32 = code - CharCode._0; len && digit < 10; digit = code - CharCode._0) { - if (magnitude >= 3200) return sign * 3200; - magnitude = 10 * magnitude + digit; - code = load(ptr += 2); - --len; - } - return sign * magnitude; -} - -// @ts-ignore: decorator -@lazy let __fixmulShift: u64 = 0; - -// Adopted from metallic lib: -// https://github.com/jdh8/metallic/blob/master/src/stdlib/parse/scientific.h -// @ts-ignore: decorator -@inline -function fixmul(a: u64, b: u32): u64 { - let low = (a & 0xFFFFFFFF) * b; - let high = (a >> 32) * b + (low >> 32); - let overflow = (high >> 32); - let space = clz(overflow); - let revspace: u64 = 32 - space; - __fixmulShift += revspace; - return (high << space | (low & 0xFFFFFFFF) >> revspace) + (low << space >> 31 & 1); -} - -// @ts-ignore: decorator -@inline -function pow10(n: i32): f64 { - // argument \`n\` should bounds in [0, 22] range - return load(POWERS10 + (n << alignof())); -} -`,"util/uri":`import { E_URI_MALFORMED } from "./error"; -import { CharCode } from "./string"; - -// Truncated lookup boolean table that helps us quickly determine -// if a char needs to be escaped for URIs (RFC 2396). -// @ts-ignore: decorator -@lazy export const URI_UNSAFE = memory.data([ -/* skip 32 + 1 always set to '1' head slots - */ 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, /* - skip 128 + 1 always set to '1' tail slots */ -]); - -// Truncated lookup boolean table that helps us quickly determine -// if a char needs to be escaped for URLs (RFC 3986). -// @ts-ignore: decorator -@lazy export const URL_UNSAFE = memory.data([ -/* skip 32 + 1 always set to '1' head slots - */ 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, /* - skip 128 + 1 always set to '1' tail slots */ -]); - -// Truncated lookup boolean table for determine reserved chars: ;/?:@&=+$,# -// @ts-ignore: decorator -@lazy export const URI_RESERVED = memory.data([ - /* skip 32 + 3 always set to '0' head slots - */ 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, - 1, /* skip 191 always set to '0' tail slots */ -]); - -export function encode(src: usize, len: usize, table: usize): usize { - if (!len) return src; - - let i: usize = 0, offset: usize = 0, outSize = len << 1; - let dst = __new(outSize, idof()); - - while (i < len) { - let org = i; - let c: u32, c1: u32; - // fast scan a check chars until it valid ASCII - // and safe for copying withoud escaping. - do { - c = load(src + (i << 1)); - // is it valid ASII and safe? - if (c - 33 < 94) { // 127 - 33 - if (load(table + (c - 33))) break; - } else break; - } while (++i < len); - - // if we have some safe range of sequence just copy it without encoding - if (i > org) { - let size = i - org << 1; - if (offset + size > outSize) { - outSize = offset + size; - dst = __renew(dst, outSize); - } - // TODO: should we optimize for short cases like 2 byte size? - memory.copy( - dst + offset, - src + (org << 1), - size - ); - offset += size; - // return if we reach end on input string - if (i >= len) break; - } - - // decode UTF16 with checking for unpaired surrogates - if (c >= 0xD800) { - if (c >= 0xDC00 && c <= 0xDFFF) { - throw new URIError(E_URI_MALFORMED); - } - if (c <= 0xDBFF) { - if (i >= len) { - throw new URIError(E_URI_MALFORMED); - } - c1 = load(src + (++i << 1)); - if (c1 < 0xDC00 || c1 > 0xDFFF) { - throw new URIError(E_URI_MALFORMED); - } - c = (((c & 0x3FF) << 10) | (c1 & 0x3FF)) + 0x10000; - } - } - - let estSize = offset + (c < 0x80 ? 1 * 6 : 4 * 6); - if (estSize > outSize) { - // doubling estimated size but only for greater than one - // input lenght due to we already estemated it for worst case - outSize = len > 1 ? estSize << 1 : estSize; - dst = __renew(dst, outSize); - } - - if (c < 0x80) { - // encode ASCII unsafe code point - storeHex(dst, offset, c); - offset += 6; - } else { - // encode UTF-8 unsafe code point - if (c < 0x800) { - storeHex(dst, offset, (c >> 6) | 0xC0); - offset += 6; - } else { - if (c < 0x10000) { - storeHex(dst, offset, (c >> 12) | 0xE0); - offset += 6; - } else { - storeHex(dst, offset, (c >> 18) | 0xF0); - offset += 6; - storeHex(dst, offset, (c >> 12 & 0x3F) | 0x80); - offset += 6; - } - storeHex(dst, offset, (c >> 6 & 0x3F) | 0x80); - offset += 6; - } - storeHex(dst, offset, (c & 0x3F) | 0x80); - offset += 6; - } - ++i; - } - // shink output string buffer if necessary - if (outSize > offset) { - dst = __renew(dst, offset); - } - return dst; -} - -export function decode(src: usize, len: usize, component: bool): usize { - if (!len) return src; - - let i: usize = 0, offset: usize = 0, ch: u32 = 0; - let dst = __new(len << 1, idof()); - - while (i < len) { - let org = i; - while (i < len && (ch = load(src + (i << 1))) != CharCode.PERCENT) i++; - - if (i > org) { - let size = i - org << 1; - // TODO: should we optimize for short cases like 2 byte size? - memory.copy( - dst + offset, - src + (org << 1), - size - ); - offset += size; - if (i >= len) break; - } - - // decode hex - if ( - i + 2 >= len || - ch != CharCode.PERCENT || - (ch = loadHex(src, i + 1 << 1)) == -1 - ) throw new URIError(E_URI_MALFORMED); - - i += 3; - if (ch < 0x80) { - if (!component && isReserved(ch)) { - ch = CharCode.PERCENT; - i -= 2; - } - } else { - // decode UTF-8 sequence - let nb = utf8LenFromUpperByte(ch); - // minimal surrogate: 2 => 0x80, 3 => 0x800, 4 => 0x10000, _ => -1 - let lo: u32 = 1 << (17 * nb >> 2) - 1; - // mask: 2 => 31, 3 => 15, 4 => 7, _ => 0 - ch &= nb ? (0x80 >> nb) - 1 : 0; - - while (--nb != 0) { - let c1: u32; - // decode hex - if ( - i + 2 >= len || - load(src + (i << 1)) != CharCode.PERCENT || - (c1 = loadHex(src, i + 1 << 1)) == -1 - ) throw new URIError(E_URI_MALFORMED); - - i += 3; - if ((c1 & 0xC0) != 0x80) { - ch = 0; - break; - } - ch = (ch << 6) | (c1 & 0x3F); - } - - // check if UTF8 code point properly fit into invalid UTF16 encoding - if (ch < lo || lo == -1 || ch > 0x10FFFF || (ch >= 0xD800 && ch < 0xE000)) { - throw new URIError(E_URI_MALFORMED); - } - - // encode UTF16 - if (ch >= 0x10000) { - ch -= 0x10000; - let lo = ch >> 10 | 0xD800; - let hi = (ch & 0x03FF) | 0xDC00; - store(dst + offset, lo | (hi << 16)); - offset += 4; - continue; - } - } - store(dst + offset, ch); - offset += 2; - } - - assert(offset <= (len << 1)); - // shink output string buffer if necessary - if ((len << 1) > offset) { - dst = __renew(dst, offset); - } - return dst; -} - -function storeHex(dst: usize, offset: usize, ch: u32): void { - // @ts-ignore: decorator - const HEX_CHARS = memory.data([ - 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, - 0x38, 0x39, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46 - ]); - - store(dst + offset, CharCode.PERCENT, 0); // % - store( - dst + offset, - load(HEX_CHARS + (ch >> 4 & 0x0F)) | - load(HEX_CHARS + (ch & 0x0F)) << 16, - 2 - ); // XX -} - -function loadHex(src: usize, offset: usize): u32 { - let c0 = load(src + offset, 0); - let c1 = load(src + offset, 2); - return isHex(c0) && isHex(c1) - ? fromHex(c0) << 4 | fromHex(c1) - : -1; -} - -// @ts-ignore: decorator -@inline function fromHex(ch: u32): u32 { - return (ch | 32) % 39 - 9; -} - -// @ts-ignore: decorator -@inline function utf8LenFromUpperByte(c0: u32): u32 { - // same as - // if (c0 - 0xC0 <= 0xDF - 0xC0) return 2; - // if (c0 - 0xE0 <= 0xEF - 0xE0) return 3; - // if (c0 - 0xF0 <= 0xF7 - 0xF0) return 4; - // return 0; - return c0 - 0xC0 < 56 - ? clz(~(c0 << 24)) - : 0; -} - -// @ts-ignore: decorator -@inline function isReserved(ch: u32): bool { - return ch - 35 < 30 - ? load(URI_RESERVED + (ch - 35)) - : false; -} - -// @ts-ignore: decorator -@inline function isHex(ch: u32): bool { - return (ch - CharCode._0 < 10) || ((ch | 32) - CharCode.a < 6); -} -`,vector:`/** Vector abstraction. */ -@final @unmanaged -export abstract class V128 { -} -`},Oe={assembly:`/** - * Environment definitions for compiling AssemblyScript to WebAssembly using asc. - * @module std/assembly - *//***/ - -/// - -// Types - -/** An 8-bit signed integer. */ -declare type i8 = number; -/** A 16-bit signed integer. */ -declare type i16 = number; -/** A 32-bit signed integer. */ -declare type i32 = number; -/** A 64-bit signed integer. */ -declare type i64 = number; -/** A 32-bit signed integer when targeting 32-bit WebAssembly or a 64-bit signed integer when targeting 64-bit WebAssembly. */ -declare type isize = number; -/** An 8-bit unsigned integer. */ -declare type u8 = number; -/** A 16-bit unsigned integer. */ -declare type u16 = number; -/** A 32-bit unsigned integer. */ -declare type u32 = number; -/** A 64-bit unsigned integer. */ -declare type u64 = number; -/** A 32-bit unsigned integer when targeting 32-bit WebAssembly or a 64-bit unsigned integer when targeting 64-bit WebAssembly. */ -declare type usize = number; -/** A 1-bit unsigned integer. */ -declare type bool = boolean | number; -/** A 32-bit float. */ -declare type f32 = number; -/** A 64-bit float. */ -declare type f64 = number; -/** A 128-bit vector. */ -declare type v128 = object; -/** Non-nullable function reference. */ -declare type ref_func = object; -/** Canonical nullable function reference. */ -declare type funcref = ref_func | null; -/** Non-nullable external reference. */ -declare type ref_extern = object; -/** Canonical nullable external reference. */ -declare type externref = ref_extern | null; -/** Non-nullable any reference. */ -declare type ref_any = object; -/** Canonical nullable any reference. */ -declare type anyref = ref_any | null; -/** Non-nullable equatable reference. */ -declare type ref_eq = object; -/** Canonical nullable equatable reference. */ -declare type eqref = ref_eq | null; -/** Non-nullable struct reference. */ -declare type ref_struct = object; -/** Canonical nullable struct reference. */ -declare type structref = ref_struct | null; -/** Non-nullable array reference. */ -declare type ref_array = object; -/** Canonical nullable array reference. */ -declare type arrayref = ref_array | null; -/** Non-nullable 31-bit integer reference. */ -declare type ref_i31 = object; -/** Canonical nullable 31-bit integer reference. */ -declare type i31ref = ref_i31 | null; -/** Non-nullable string reference. */ -declare type ref_string = object; -/** Canonical nullable string reference. */ -declare type stringref = ref_string | null; -/** Non-nullable WTF-8 string view. */ -declare type ref_stringview_wtf8 = object; -/** Canonical nullable WTF-8 string view. */ -declare type stringview_wtf8 = ref_stringview_wtf8 | null; -/** Non-nullable WTF-16 string view. */ -declare type ref_stringview_wtf16 = object; -/** Canonical nullable WTF-16 string view. */ -declare type stringview_wtf16 = ref_stringview_wtf16 | null; -/** Non-nullable string iterator. */ -declare type ref_stringview_iter = object; -/** Canonical nullable string iterator. */ -declare type stringview_iter = ref_stringview_iter | null; - -// Compiler hints - -/** Compiler target. 0 = JS, 1 = WASM32, 2 = WASM64. */ -declare const ASC_TARGET: i32; -/** Runtime type. 0 = Stub, 1 = Minimal, 2 = Incremental. */ -declare const ASC_RUNTIME: i32; -/** Provided noAssert option. */ -declare const ASC_NO_ASSERT: bool; -/** Provided memoryBase option. */ -declare const ASC_MEMORY_BASE: i32; -/** Provided tableBase option. */ -declare const ASC_TABLE_BASE: i32; -/** Provided optimizeLevel option. */ -declare const ASC_OPTIMIZE_LEVEL: i32; -/** Provided shrinkLevel option. */ -declare const ASC_SHRINK_LEVEL: i32; -/** Provided lowMemoryLimit option. */ -declare const ASC_LOW_MEMORY_LIMIT: i32; -/** Provided noExportRuntime option. */ -declare const ASC_NO_EXPORT_RUNTIME: i32; -/** Whether the sign extension feature is enabled. */ -declare const ASC_FEATURE_SIGN_EXTENSION: bool; -/** Whether the mutable globals feature is enabled. */ -declare const ASC_FEATURE_MUTABLE_GLOBALS: bool; -/** Whether the non-trapping float-to-int feature is enabled. */ -declare const ASC_FEATURE_NONTRAPPING_F2I: bool; -/** Whether the bulk memory feature is enabled. */ -declare const ASC_FEATURE_BULK_MEMORY: bool; -/** Whether the SIMD feature is enabled. */ -declare const ASC_FEATURE_SIMD: bool; -/** Whether the threads feature is enabled. */ -declare const ASC_FEATURE_THREADS: bool; -/** Whether the exception handling feature is enabled. */ -declare const ASC_FEATURE_EXCEPTION_HANDLING: bool; -/** Whether the tail calls feature is enabled. */ -declare const ASC_FEATURE_TAIL_CALLS: bool; -/** Whether the reference types feature is enabled. */ -declare const ASC_FEATURE_REFERENCE_TYPES: bool; -/** Whether the multi value types feature is enabled. */ -declare const ASC_FEATURE_MULTI_VALUE: bool; -/** Whether the garbage collection feature is enabled. */ -declare const ASC_FEATURE_GC: bool; -/** Whether the memory64 feature is enabled. */ -declare const ASC_FEATURE_MEMORY64: bool; -/** Whether the relaxed SIMD feature is enabled. */ -declare const ASC_FEATURE_RELAXED_SIMD: bool; -/** Whether the extended const expression feature is enabled. */ -declare const ASC_FEATURE_EXTENDED_CONST: bool; -/** Whether the string references feature is enabled. */ -declare const ASC_FEATURE_STRINGREF: bool; -/** Major version of the compiler. */ -declare const ASC_VERSION_MAJOR: i32; -/** Minor version of the compiler. */ -declare const ASC_VERSION_MINOR: i32; -/** Patch version of the compiler. */ -declare const ASC_VERSION_PATCH: i32; - -// Builtins - -/** Performs the sign-agnostic reverse bytes **/ -declare function bswap(value: T): T; -/** Performs the sign-agnostic count leading zero bits operation on a 32-bit or 64-bit integer. All zero bits are considered leading if the value is zero. */ -declare function clz(value: T): T; -/** Performs the sign-agnostic count tailing zero bits operation on a 32-bit or 64-bit integer. All zero bits are considered trailing if the value is zero. */ -declare function ctz(value: T): T; -/** Performs the sign-agnostic count number of one bits operation on a 32-bit or 64-bit integer. */ -declare function popcnt(value: T): T; -/** Performs the sign-agnostic rotate left operation on a 32-bit or 64-bit integer. */ -declare function rotl(value: T, shift: T): T; -/** Performs the sign-agnostic rotate right operation on a 32-bit or 64-bit integer. */ -declare function rotr(value: T, shift: T): T; -/** Computes the absolute value of an integer or float. */ -declare function abs(value: T): T; -/** Determines the maximum of two integers or floats. If either operand is \`NaN\`, returns \`NaN\`. */ -declare function max(left: T, right: T): T; -/** Determines the minimum of two integers or floats. If either operand is \`NaN\`, returns \`NaN\`. */ -declare function min(left: T, right: T): T; -/** Performs the ceiling operation on a 32-bit or 64-bit float. */ -declare function ceil(value: T): T; -/** Composes a 32-bit or 64-bit float from the magnitude of \`x\` and the sign of \`y\`. */ -declare function copysign(x: T, y: T): T; -/** Performs the floor operation on a 32-bit or 64-bit float. */ -declare function floor(value: T): T; -/** Rounds to the nearest integer tied to even of a 32-bit or 64-bit float. */ -declare function nearest(value: T): T; -/** Reinterprets the bits of the specified value as type \`T\`. Valid reinterpretations are u32/i32 to/from f32 and u64/i64 to/from f64. */ -declare function reinterpret(value: number): T; -/** Selects one of two pre-evaluated values depending on the condition. */ -declare function select(ifTrue: T, ifFalse: T, condition: bool): T; -/** Calculates the square root of a 32-bit or 64-bit float. */ -declare function sqrt(value: T): T; -/** Rounds to the nearest integer towards zero of a 32-bit or 64-bit float. */ -declare function trunc(value: T): T; -/** Computes the sum of two integers or floats. */ -declare function add(left: T, right: T): T; -/** Computes the difference of two integers or floats. */ -declare function sub(left: T, right: T): T; -/** Computes the product of two integers or floats. */ -declare function mul(left: T, right: T): T; -/** Computes the quotient of two integers or floats. */ -declare function div(left: T, right: T): T; -/** Return 1 if two numbers are equal to each other, 0 otherwise. */ -declare function eq(left: T, right: T): i32; -/** Return 0 if two numbers are equal to each other, 1 otherwise. */ -declare function ne(left: T, right: T): i32; -/** Computes the remainder of two integers. */ -declare function rem(left: T, right: T): T; -/** Loads a value of the specified type from memory. Equivalent to dereferncing a pointer in other languages. */ -declare function load(ptr: usize, immOffset?: usize, immAlign?: usize): T; -/** Stores a value of the specified type to memory. Equivalent to dereferencing a pointer in other languages when assigning a value. */ -declare function store(ptr: usize, value: T, immOffset?: usize, immAlign?: usize): void; -/** Emits an unreachable operation that results in a runtime error when executed. Both a statement and an expression. */ -declare function unreachable(): never; - -/** NaN (not a number) as a 32-bit or 64-bit float depending on context. */ -declare const NaN: f32 | f64; -/** Positive infinity as a 32-bit or 64-bit float depending on context. */ -declare const Infinity: f32 | f64; -/** Data end offset. */ -declare const __data_end: usize; -/** Stack pointer offset. */ -declare let __stack_pointer: usize; -/** Heap base offset. */ -declare const __heap_base: usize; -/** Determines the byte size of the specified underlying core type. Compiles to a constant. */ -declare function sizeof(): usize; -/** Determines the alignment (log2) of the specified underlying core type. Compiles to a constant. */ -declare function alignof(): usize; -/** Determines the end offset of the given class type. Compiles to a constant. */ -declare function offsetof(): usize; -/** Determines the offset of the specified field within the given class type. Compiles to a constant. */ -declare function offsetof(fieldName: keyof T | string): usize; -/** Determines the offset of the specified field within the given class type. Returns the class type's end offset if field name has been omitted. Compiles to a constant. */ -declare function offsetof(fieldName?: string): usize; -/** Determines the name of a given type. */ -declare function nameof(value?: T): string; -/** Determines the unique runtime id of a class type. Compiles to a constant. */ -declare function idof(): u32; -/** Changes the type of any value of \`usize\` kind to another one of \`usize\` kind. Useful for casting class instances to their pointer values and vice-versa. Beware that this is unsafe.*/ -declare function changetype(value: any): T; -/** Explicitly requests no bounds checks on the provided expression. Useful for array accesses. */ -declare function unchecked(value: T): T; -/** Emits a \`call_indirect\` instruction, calling the specified function in the function table by index with the specified arguments. Does result in a runtime error if the arguments do not match the called function. */ -declare function call_indirect(index: u32, ...args: unknown[]): T; -/** Instantiates a new instance of \`T\` using the specified constructor arguments. */ -declare function instantiate(...args: any[]): T; -/** Tests if a 32-bit or 64-bit float is \`NaN\`. */ -declare function isNaN(value: T): bool; -/** Tests if a 32-bit or 64-bit float is finite, that is not \`NaN\` or +/-\`Infinity\`. */ -declare function isFinite(value: T): bool; -/** Tests if the specified type *or* expression is of a boolean type. */ -declare function isBoolean(value?: any): value is number; -/** Tests if the specified type *or* expression is of an integer type and not a reference. Compiles to a constant. */ -declare function isInteger(value?: any): value is number; -/** Tests if the specified type *or* expression can represent negative numbers. Compiles to a constant. */ -declare function isSigned(value?: any): value is number; -/** Tests if the specified type *or* expression is of a float type. Compiles to a constant. */ -declare function isFloat(value?: any): value is number; -/** Tests if the specified type *or* expression is of a v128 type. Compiles to a constant. */ -declare function isVector(value?: any): value is v128; -/** Tests if the specified type *or* expression is of a reference type. Compiles to a constant. */ -declare function isReference(value?: any): value is object | string; -/** Tests if the specified type *or* expression can be used as a string. Compiles to a constant. */ -declare function isString(value?: any): value is string | String; -/** Tests if the specified type *or* expression can be used as an array. Compiles to a constant. */ -declare function isArray(value?: any): value is Array; -/** Tests if the specified type *or* expression can be used as an array like object. Compiles to a constant. */ -declare function isArrayLike(value?: any): value is ArrayLike; -/** Tests if the specified type *or* expression is of a function type. Compiles to a constant. */ -declare function isFunction(value?: any): value is (...args: any) => any; -/** Tests if the specified type *or* expression is of a nullable reference type. Compiles to a constant. */ -declare function isNullable(value?: any): bool; -/** Tests if the specified expression resolves to a defined element. Compiles to a constant. */ -declare function isDefined(expression: any): bool; -/** Tests if the specified expression evaluates to a constant value. Compiles to a constant. */ -declare function isConstant(expression: any): bool; -/** Tests if the specified type *or* expression is of a managed type. Compiles to a constant. */ -declare function isManaged(value?: any): bool; -/** Tests if the specified type is void. Compiles to a constant. */ -declare function isVoid(): bool; -/** Traps if the specified value is not true-ish, otherwise returns the (non-nullable) value. */ -declare function assert(isTrueish: T, message?: string): T & (object | string | number); // any better way to model \`: T != null\`? -/** Parses an integer string to a 64-bit float. */ -declare function parseInt(str: string, radix?: i32): f64; -/** Parses a string to a 64-bit float. */ -declare function parseFloat(str: string): f64; -/** Returns the 64-bit floating-point remainder of \`x/y\`. */ -declare function fmod(x: f64, y: f64): f64; -/** Returns the 32-bit floating-point remainder of \`x/y\`. */ -declare function fmodf(x: f32, y: f32): f32; -/** Returns the number of parameters in the given function signature type. */ -declare function lengthof any>(func?: T): i32; -/** Encodes a text string as a valid Uniform Resource Identifier (URI). */ -declare function encodeURI(str: string): string; -/** Encodes a text string as a valid component of a Uniform Resource Identifier (URI). */ -declare function encodeURIComponent(str: string): string; -/** Decodes a Uniform Resource Identifier (URI) previously created by encodeURI. */ -declare function decodeURI(str: string): string; -/** Decodes a Uniform Resource Identifier (URI) component previously created by encodeURIComponent. */ -declare function decodeURIComponent(str: string): string; - -/** Atomic operations. */ -declare namespace atomic { - /** Atomically loads an integer value from memory and returns it. */ - export function load(ptr: usize, immOffset?: usize): T; - /** Atomically stores an integer value to memory. */ - export function store(ptr: usize, value: T, immOffset?: usize): void; - /** Atomically adds an integer value in memory. */ - export function add(ptr: usize, value: T, immOffset?: usize): T; - /** Atomically subtracts an integer value in memory. */ - export function sub(ptr: usize, value: T, immOffset?: usize): T; - /** Atomically performs a bitwise AND operation on an integer value in memory. */ - export function and(ptr: usize, value: T, immOffset?: usize): T; - /** Atomically performs a bitwise OR operation on an integer value in memory. */ - export function or(ptr: usize, value: T, immOffset?: usize): T; - /** Atomically performs a bitwise XOR operation on an integer value in memory. */ - export function xor(ptr: usize, value: T, immOffset?: usize): T; - /** Atomically exchanges an integer value in memory. */ - export function xchg(ptr: usize, value: T, immOffset?: usize): T; - /** Atomically compares and exchanges an integer value in memory if the condition is met. */ - export function cmpxchg(ptr: usize, expected: T, replacement: T, immOffset?: usize): T; - /** Performs a wait operation on an address in memory suspending this agent if the integer condition is met. */ - export function wait(ptr: usize, expected: T, timeout?: i64): AtomicWaitResult; - /** Performs a notify operation on an address in memory waking up suspended agents. */ - export function notify(ptr: usize, count?: i32): i32; - /** Performs a fence operation, preserving synchronization guarantees of higher level languages. */ - export function fence(): void; -} - -/** Describes the result of an atomic wait operation. */ -declare enum AtomicWaitResult { - /** Woken by another agent. */ - OK, - /** Loaded value did not match the expected value. */ - NOT_EQUAL, - /** Not woken before the timeout expired. */ - TIMED_OUT -} - -/** Converts any other numeric value to an 8-bit signed integer. */ -declare function i8(value: any): i8; -declare namespace i8 { - /** Smallest representable value. */ - export const MIN_VALUE: i8; - /** Largest representable value. */ - export const MAX_VALUE: i8; - /** Parses a string as an i8. */ - export function parse(value: string, radix?: i32): i8; -} -/** Converts any other numeric value to a 16-bit signed integer. */ -declare function i16(value: any): i16; -declare namespace i16 { - /** Smallest representable value. */ - export const MIN_VALUE: i16; - /** Largest representable value. */ - export const MAX_VALUE: i16; - /** Parses a string as an i16. */ - export function parse(value: string, radix?: i32): i16; -} -/** Converts any other numeric value to a 32-bit signed integer. */ -declare function i32(value: any): i32; -declare namespace i32 { - /** Smallest representable value. */ - export const MIN_VALUE: i32; - /** Largest representable value. */ - export const MAX_VALUE: i32; - /** Parses a string as an i32. */ - export function parse(value: string, radix?: i32): i32; - /** Loads an 8-bit signed integer value from memory and returns it as a 32-bit integer. */ - export function load8_s(ptr: usize, immOffset?: usize, immAlign?: usize): i32; - /** Loads an 8-bit unsigned integer value from memory and returns it as a 32-bit integer. */ - export function load8_u(ptr: usize, immOffset?: usize, immAlign?: usize): i32; - /** Loads a 16-bit signed integer value from memory and returns it as a 32-bit integer. */ - export function load16_s(ptr: usize, immOffset?: usize, immAlign?: usize): i32; - /** Loads a 16-bit unsigned integer value from memory and returns it as a 32-bit integer. */ - export function load16_u(ptr: usize, immOffset?: usize, immAlign?: usize): i32; - /** Loads a 32-bit integer value from memory. */ - export function load(ptr: usize, immOffset?: usize, immAlign?: usize): i32; - /** Stores a 32-bit integer value to memory as an 8-bit integer. */ - export function store8(ptr: usize, value: i32, immOffset?: usize, immAlign?: usize): void; - /** Stores a 32-bit integer value to memory as a 16-bit integer. */ - export function store16(ptr: usize, value: i32, immOffset?: usize, immAlign?: usize): void; - /** Stores a 32-bit integer value to memory. */ - export function store(ptr: usize, value: i32, immOffset?: usize, immAlign?: usize): void; - /** Performs the sign-agnostic count leading zero bits operation on a 32-bit integer. All zero bits are considered leading if the value is zero. */ - export function clz(value: i32): i32; - /** Performs the sign-agnostic count tailing zero bits operation on a 32-bit integer. All zero bits are considered trailing if the value is zero. */ - export function ctz(value: i32): i32; - /** Performs the sign-agnostic count number of one bits operation on a 32-bit integer. */ - export function popcnt(value: i32): i32; - /** Performs the sign-agnostic rotate left operation on a 32-bit integer. */ - export function rotl(value: i32, shift: i32): i32; - /** Performs the sign-agnostic rotate right operation on a 32-bit integer. */ - export function rotr(value: i32, shift: i32): i32; - /** Reinterprets the bits of the specified 32-bit float as a 32-bit integer. */ - export function reinterpret_f32(value: f32): i32; - /** Computes the sum of two 32-bit integers. */ - export function add(left: i32, right: i32): i32; - /** Computes the difference of two 32-bit integers. */ - export function sub(left: i32, right: i32): i32; - /** Computes the product of two 32-bit integers. */ - export function mul(left: i32, right: i32): i32; - /** Computes the signed quotient of two 32-bit integers. */ - export function div_s(left: i32, right: i32): i32; - /** Computes the unsigned quotient of two 32-bit integers. */ - export function div_u(left: i32, right: i32): i32; - /** Return 1 if two 32-bit integers are equal to each other, 0 otherwise. */ - export function eq(left: i32, right: i32): i32; - /** Return 0 if two 32-bit integers are equal to each other, 1 otherwise. */ - export function ne(left: i32, right: i32): i32; - /** Computes the signed remainder of two 32-bit integers. */ - export function rem_s(left: i32, right: i32): i32; - /** Computes the unsigned remainder of two 32-bit integers. */ - export function rem_u(left: u32, right: u32): u32; - - /** Atomic 32-bit integer operations. */ - export namespace atomic { - /** Atomically loads an 8-bit unsigned integer value from memory and returns it as a 32-bit integer. */ - export function load8_u(ptr: usize, immOffset?: usize): i32; - /** Atomically loads a 16-bit unsigned integer value from memory and returns it as a 32-bit integer. */ - export function load16_u(ptr: usize, immOffset?: usize): i32; - /** Atomically loads a 32-bit integer value from memory and returns it. */ - export function load(ptr: usize, immOffset?: usize): i32; - /** Atomically stores a 32-bit integer value to memory as an 8-bit integer. */ - export function store8(ptr: usize, value: i32, immOffset?: usize): void; - /** Atomically stores a 32-bit integer value to memory as a 16-bit integer. */ - export function store16(ptr: usize, value: i32, immOffset?: usize): void; - /** Atomically stores a 32-bit integer value to memory. */ - export function store(ptr: usize, value: i32, immOffset?: usize): void; - /** Atomic 32-bit integer read-modify-write operations on 8-bit values. */ - export namespace rmw8 { - /** Atomically adds an 8-bit unsigned integer value in memory. */ - export function add_u(ptr: usize, value: i32, immOffset?: usize): i32; - /** Atomically subtracts an 8-bit unsigned integer value in memory. */ - export function sub_u(ptr: usize, value: i32, immOffset?: usize): i32; - /** Atomically performs a bitwise AND operation an 8-bit unsigned integer value in memory. */ - export function and_u(ptr: usize, value: i32, immOffset?: usize): i32; - /** Atomically performs a bitwise OR operation an 8-bit unsigned integer value in memory. */ - export function or_u(ptr: usize, value: i32, immOffset?: usize): i32; - /** Atomically performs a bitwise XOR operation an 8-bit unsigned integer value in memory. */ - export function xor_u(ptr: usize, value: i32, immOffset?: usize): i32; - /** Atomically exchanges an 8-bit unsigned integer value in memory. */ - export function xchg_u(ptr: usize, value: i32, immOffset?: usize): i32; - /** Atomically compares and exchanges an 8-bit unsigned integer value in memory if the condition is met. */ - export function cmpxchg_u(ptr: usize, expected: i32, replacement: i32, immOffset?: usize): i32; - } - /** Atomic 32-bit integer read-modify-write operations on 16-bit values. */ - export namespace rmw16 { - /** Atomically adds a 16-bit unsigned integer value in memory. */ - export function add_u(ptr: usize, value: i32, immOffset?: usize): i32; - /** Atomically adds a 16-bit unsigned integer value in memory. */ - export function sub_u(ptr: usize, value: i32, immOffset?: usize): i32; - /** Atomically performs a bitwise AND operation a 16-bit unsigned integer value in memory. */ - export function and_u(ptr: usize, value: i32, immOffset?: usize): i32; - /** Atomically performs a bitwise OR operation a 16-bit unsigned integer value in memory. */ - export function or_u(ptr: usize, value: i32, immOffset?: usize): i32; - /** Atomically performs a bitwise XOR operation a 16-bit unsigned integer value in memory. */ - export function xor_u(ptr: usize, value: i32, immOffset?: usize): i32; - /** Atomically exchanges a 16-bit unsigned integer value in memory. */ - export function xchg_u(ptr: usize, value: i32, immOffset?: usize): i32; - /** Atomically compares and exchanges a 16-bit unsigned integer value in memory if the condition is met. */ - export function cmpxchg_u(ptr: usize, expected: i32, replacement: i32, immOffset?: usize): i32; - } - /** Atomic 32-bit integer read-modify-write operations. */ - export namespace rmw { - /** Atomically adds a 32-bit integer value in memory. */ - export function add(ptr: usize, value: i32, immOffset?: usize): i32; - /** Atomically subtracts a 32-bit integer value in memory. */ - export function sub(ptr: usize, value: i32, immOffset?: usize): i32; - /** Atomically performs a bitwise AND operation a 32-bit integer value in memory. */ - export function and(ptr: usize, value: i32, immOffset?: usize): i32; - /** Atomically performs a bitwise OR operation a 32-bit integer value in memory. */ - export function or(ptr: usize, value: i32, immOffset?: usize): i32; - /** Atomically performs a bitwise XOR operation a 32-bit integer value in memory. */ - export function xor(ptr: usize, value: i32, immOffset?: usize): i32; - /** Atomically exchanges a 32-bit integer value in memory. */ - export function xchg(ptr: usize, value: i32, immOffset?: usize): i32; - /** Atomically compares and exchanges a 32-bit integer value in memory if the condition is met. */ - export function cmpxchg(ptr: usize, expected: i32, replacement: i32, immOffset?: usize): i32; - } - } -} -/** Converts any other numeric value to a 64-bit signed integer. */ -declare function i64(value: any): i64; -declare namespace i64 { - /** Smallest representable value. */ - export const MIN_VALUE: i64; - /** Largest representable value. */ - export const MAX_VALUE: i64; - /** Parses a string as an i64. */ - export function parse(value: string, radix?: i32): i64; - /** Loads an 8-bit signed integer value from memory and returns it as a 64-bit integer. */ - export function load8_s(ptr: usize, immOffset?: usize, immAlign?: usize): i64; - /** Loads an 8-bit unsigned integer value from memory and returns it as a 64-bit integer. */ - export function load8_u(ptr: usize, immOffset?: usize, immAlign?: usize): i64; - /** Loads a 16-bit signed integer value from memory and returns it as a 64-bit integer. */ - export function load16_s(ptr: usize, immOffset?: usize, immAlign?: usize): i64; - /** Loads a 16-bit unsigned integer value from memory and returns it as a 64-bit integer. */ - export function load16_u(ptr: usize, immOffset?: usize, immAlign?: usize): i64; - /** Loads a 32-bit signed integer value from memory and returns it as a 64-bit integer. */ - export function load32_s(ptr: usize, immOffset?: usize, immAlign?: usize): i64; - /** Loads a 32-bit unsigned integer value from memory and returns it as a 64-bit integer. */ - export function load32_u(ptr: usize, immOffset?: usize, immAlign?: usize): i64; - /** Loads a 64-bit unsigned integer value from memory. */ - export function load(ptr: usize, immOffset?: usize, immAlign?: usize): i64; - /** Stores a 64-bit integer value to memory as an 8-bit integer. */ - export function store8(ptr: usize, value: i64, immOffset?: usize, immAlign?: usize): void; - /** Stores a 64-bit integer value to memory as a 16-bit integer. */ - export function store16(ptr: usize, value: i64, immOffset?: usize, immAlign?: usize): void; - /** Stores a 64-bit integer value to memory as a 32-bit integer. */ - export function store32(ptr: usize, value: i64, immOffset?: usize, immAlign?: usize): void; - /** Stores a 64-bit integer value to memory. */ - export function store(ptr: usize, value: i64, immOffset?: usize, immAlign?: usize): void; - /** Performs the sign-agnostic count leading zero bits operation on a 64-bit integer. All zero bits are considered leading if the value is zero. */ - export function clz(value: i64): i64; - /** Performs the sign-agnostic count tailing zero bits operation on a 64-bit integer. All zero bits are considered trailing if the value is zero. */ - export function ctz(value: i64): i64; - /** Performs the sign-agnostic count number of one bits operation on a 64-bit integer. */ - export function popcnt(value: i64): i64; - /** Performs the sign-agnostic rotate left operation on a 64-bit integer. */ - export function rotl(value: i64, shift: i64): i64; - /** Performs the sign-agnostic rotate right operation on a 64-bit integer. */ - export function rotr(value: i64, shift: i64): i64; - /** Reinterprets the bits of the specified 64-bit float as a 64-bit integer. */ - export function reinterpret_f64(value: f64): i64; - /** Computes the sum of two 64-bit integers. */ - export function add(left: i64, right: i64): i64; - /** Computes the difference of two 64-bit integers. */ - export function sub(left: i64, right: i64): i64; - /** Computes the product of two 64-bit integers. */ - export function mul(left: i64, right: i64): i64; - /** Computes the signed quotient of two 64-bit integers. */ - export function div_s(left: i64, right: i64): i64; - /** Computes the unsigned quotient of two 64-bit integers. */ - export function div_u(left: i64, right: i64): i64; - /** Return 1 if two 64-bit integers are equal to each other, 0 otherwise. */ - export function eq(left: i64, right: i64): i32; - /** Return 0 if two 64-bit integers are equal to each other, 1 otherwise. */ - export function ne(left: i64, right: i64): i32; - /** Computes the signed remainder of two 64-bit integers. */ - export function rem_s(left: i64, right: i64): i64; - /** Computes the unsigned remainder of two 64-bit integers. */ - export function rem_u(left: u64, right: u64): u64; - - /** Atomic 64-bit integer operations. */ - export namespace atomic { - /** Atomically loads an 8-bit unsigned integer value from memory and returns it as a 64-bit integer. */ - export function load8_u(ptr: usize, immOffset?: usize): i64; - /** Atomically loads a 16-bit unsigned integer value from memory and returns it as a 64-bit integer. */ - export function load16_u(ptr: usize, immOffset?: usize): i64; - /** Atomically loads a 32-bit unsigned integer value from memory and returns it as a 64-bit integer. */ - export function load32_u(ptr: usize, immOffset?: usize): i64; - /** Atomically loads a 64-bit integer value from memory and returns it. */ - export function load(ptr: usize, immOffset?: usize): i64; - /** Atomically stores a 64-bit integer value to memory as an 8-bit integer. */ - export function store8(ptr: usize, value: i64, immOffset?: usize): void; - /** Atomically stores a 64-bit integer value to memory as a 16-bit integer. */ - export function store16(ptr: usize, value: i64, immOffset?: usize): void; - /** Atomically stores a 64-bit integer value to memory as a 32-bit integer. */ - export function store32(ptr: usize, value: i64, immOffset?: usize): void; - /** Atomically stores a 64-bit integer value to memory. */ - export function store(ptr: usize, value: i64, immOffset?: usize): void; - /** Atomic 64-bit integer read-modify-write operations on 8-bit values. */ - export namespace rmw8 { - /** Atomically adds an 8-bit unsigned integer value in memory. */ - export function add_u(ptr: usize, value: i64, immOffset?: usize): i64; - /** Atomically subtracts an 8-bit unsigned integer value in memory. */ - export function sub_u(ptr: usize, value: i64, immOffset?: usize): i64; - /** Atomically performs a bitwise AND operation on an 8-bit unsigned integer value in memory. */ - export function and_u(ptr: usize, value: i64, immOffset?: usize): i64; - /** Atomically performs a bitwise OR operation on an 8-bit unsigned integer value in memory. */ - export function or_u(ptr: usize, value: i64, immOffset?: usize): i64; - /** Atomically performs a bitwise XOR operation on an 8-bit unsigned integer value in memory. */ - export function xor_u(ptr: usize, value: i64, immOffset?: usize): i64; - /** Atomically exchanges an 8-bit unsigned integer value in memory. */ - export function xchg_u(ptr: usize, value: i64, immOffset?: usize): i64; - /** Atomically compares and exchanges an 8-bit unsigned integer value in memory if the condition is met. */ - export function cmpxchg_u(ptr: usize, expected: i64, replacement: i64, immOffset?: usize): i64; - } - /** Atomic 64-bit integer read-modify-write operations on 16-bit values. */ - export namespace rmw16 { - /** Atomically adds a 16-bit unsigned integer value in memory. */ - export function add_u(ptr: usize, value: i64, immOffset?: usize): i64; - /** Atomically subtracts a 16-bit unsigned integer value in memory. */ - export function sub_u(ptr: usize, value: i64, immOffset?: usize): i64; - /** Atomically performs a bitwise AND operation on a 16-bit unsigned integer value in memory. */ - export function and_u(ptr: usize, value: i64, immOffset?: usize): i64; - /** Atomically performs a bitwise OR operation on a 16-bit unsigned integer value in memory. */ - export function or_u(ptr: usize, value: i64, immOffset?: usize): i64; - /** Atomically performs a bitwise XOR operation on a 16-bit unsigned integer value in memory. */ - export function xor_u(ptr: usize, value: i64, immOffset?: usize): i64; - /** Atomically exchanges a 16-bit unsigned integer value in memory. */ - export function xchg_u(ptr: usize, value: i64, immOffset?: usize): i64; - /** Atomically compares and exchanges a 16-bit unsigned integer value in memory if the condition is met. */ - export function cmpxchg_u(ptr: usize, expected: i64, replacement: i64, immOffset?: usize): i64; - } - /** Atomic 64-bit integer read-modify-write operations on 32-bit values. */ - export namespace rmw32 { - /** Atomically adds a 32-bit unsigned integer value in memory. */ - export function add_u(ptr: usize, value: i64, immOffset?: usize): i64; - /** Atomically subtracts a 32-bit unsigned integer value in memory. */ - export function sub_u(ptr: usize, value: i64, immOffset?: usize): i64; - /** Atomically performs a bitwise AND operation on a 32-bit unsigned integer value in memory. */ - export function and_u(ptr: usize, value: i64, immOffset?: usize): i64; - /** Atomically performs a bitwise OR operation on a 32-bit unsigned integer value in memory. */ - export function or_u(ptr: usize, value: i64, immOffset?: usize): i64; - /** Atomically performs a bitwise XOR operation on a 32-bit unsigned integer value in memory. */ - export function xor_u(ptr: usize, value: i64, immOffset?: usize): i64; - /** Atomically exchanges a 32-bit unsigned integer value in memory. */ - export function xchg_u(ptr: usize, value: i64, immOffset?: usize): i64; - /** Atomically compares and exchanges a 32-bit unsigned integer value in memory if the condition is met. */ - export function cmpxchg_u(ptr: usize, expected: i64, replacement: i64, immOffset?: usize): i64; - } - /** Atomic 64-bit integer read-modify-write operations. */ - export namespace rmw { - /** Atomically adds a 64-bit integer value in memory. */ - export function add(ptr: usize, value: i64, immOffset?: usize): i64; - /** Atomically subtracts a 64-bit integer value in memory. */ - export function sub(ptr: usize, value: i64, immOffset?: usize): i64; - /** Atomically performs a bitwise AND operation on a 64-bit integer value in memory. */ - export function and(ptr: usize, value: i64, immOffset?: usize): i64; - /** Atomically performs a bitwise OR operation on a 64-bit integer value in memory. */ - export function or(ptr: usize, value: i64, immOffset?: usize): i64; - /** Atomically performs a bitwise XOR operation on a 64-bit integer value in memory. */ - export function xor(ptr: usize, value: i64, immOffset?: usize): i64; - /** Atomically exchanges a 64-bit integer value in memory. */ - export function xchg(ptr: usize, value: i64, immOffset?: usize): i64; - /** Atomically compares and exchanges a 64-bit integer value in memory if the condition is met. */ - export function cmpxchg(ptr: usize, expected: i64, replacement: i64, immOffset?: usize): i64; - } - } -} -/** Converts any other numeric value to a 32-bit (in WASM32) respectivel 64-bit (in WASM64) signed integer. */ -declare let isize: typeof i32 | typeof i64; -/** Converts any other numeric value to an 8-bit unsigned integer. */ -declare function u8(value: any): u8; -declare namespace u8 { - /** Smallest representable value. */ - export const MIN_VALUE: u8; - /** Largest representable value. */ - export const MAX_VALUE: u8; - /** Parses a string as an u8. */ - export function parse(value: string, radix?: i32): u8; -} -/** Converts any other numeric value to a 16-bit unsigned integer. */ -declare function u16(value: any): u16; -declare namespace u16 { - /** Smallest representable value. */ - export const MIN_VALUE: u16; - /** Largest representable value. */ - export const MAX_VALUE: u16; - /** Parses a string as an u16. */ - export function parse(value: string, radix?: i32): u16; -} -/** Converts any other numeric value to a 32-bit unsigned integer. */ -declare function u32(value: any): u32; -declare namespace u32 { - /** Smallest representable value. */ - export const MIN_VALUE: u32; - /** Largest representable value. */ - export const MAX_VALUE: u32; - /** Parses a string as an u32. */ - export function parse(value: string, radix?: i32): u32; -} -/** Converts any other numeric value to a 64-bit unsigned integer. */ -declare function u64(value: any): u64; -declare namespace u64 { - /** Smallest representable value. */ - export const MIN_VALUE: u64; - /** Largest representable value. */ - export const MAX_VALUE: u64; - /** Parses a string as an u64. */ - export function parse(value: string, radix?: i32): u64; -} -/** Converts any other numeric value to a 32-bit (in WASM32) respectivel 64-bit (in WASM64) unsigned integer. */ -declare let usize: typeof u32 | typeof u64; -/** Converts any other numeric value to a 1-bit unsigned integer. */ -declare function bool(value: any): bool; -declare namespace bool { - /** Smallest representable value. */ - export const MIN_VALUE: bool; - /** Largest representable value. */ - export const MAX_VALUE: bool; - /** Parses a string as a bool. */ - export function parse(value: string): bool; -} -/** Converts any other numeric value to a 32-bit float. */ -declare function f32(value: any): f32; -declare namespace f32 { - /** Smallest representable value. */ - export const MIN_VALUE: f32; - /** Largest representable value. */ - export const MAX_VALUE: f32; - /** Smallest normalized positive value. */ - export const MIN_NORMAL_VALUE: f32; - /** Smallest safely representable integer value. */ - export const MIN_SAFE_INTEGER: f32; - /** Largest safely representable integer value. */ - export const MAX_SAFE_INTEGER: f32; - /** Positive infinity value. */ - export const POSITIVE_INFINITY: f32; - /** Negative infinity value. */ - export const NEGATIVE_INFINITY: f32; - /** Not a number value. */ - export const NaN: f32; - /** Difference between 1 and the smallest representable value greater than 1. */ - export const EPSILON: f32; - /** Parses a string as an f32. */ - export function parse(value: string): f32; - /** Loads a 32-bit float from memory. */ - export function load(ptr: usize, immOffset?: usize, immAlign?: usize): f32; - /** Stores a 32-bit float to memory. */ - export function store(ptr: usize, value: f32, immOffset?: usize, immAlign?: usize): void; - /** Computes the sum of two 32-bit floats. */ - export function add(left: f32, right: f32): f32; - /** Computes the difference of two 32-bit floats. */ - export function sub(left: f32, right: f32): f32; - /** Computes the product of two 32-bit floats. */ - export function mul(left: f32, right: f32): f32; - /** Computes the quotient of two 32-bit floats. */ - export function div(left: f32, right: f32): f32; - /** Return 1 two 32-bit floats are equal to each other, 0 otherwise. */ - export function eq(left: f32, right: f32): i32; - /** Return 0 two 32-bit floats are equal to each other, 1 otherwise. */ - export function ne(left: f32, right: f32): i32; - /** Computes the absolute value of a 32-bit float. */ - export function abs(value: f32): f32; - /** Determines the maximum of two 32-bit floats. If either operand is \`NaN\`, returns \`NaN\`. */ - export function max(left: f32, right: f32): f32; - /** Determines the minimum of two 32-bit floats. If either operand is \`NaN\`, returns \`NaN\`. */ - export function min(left: f32, right: f32): f32; - /** Performs the ceiling operation on a 32-bit float. */ - export function ceil(value: f32): f32; - /** Composes a 32-bit float from the magnitude of \`x\` and the sign of \`y\`. */ - export function copysign(x: f32, y: f32): f32; - /** Performs the floor operation on a 32-bit float. */ - export function floor(value: f32): f32; - /** Rounds to the nearest integer tied to even of a 32-bit float. */ - export function nearest(value: f32): f32; - /** Reinterprets the bits of the specified 32-bit integer as a 32-bit float. */ - export function reinterpret_i32(value: i32): f32; - /** Calculates the square root of a 32-bit float. */ - export function sqrt(value: f32): f32; - /** Rounds to the nearest integer towards zero of a 32-bit float. */ - export function trunc(value: f32): f32; -} -/** Converts any other numeric value to a 64-bit float. */ -declare function f64(value: any): f64; -declare namespace f64 { - /** Smallest representable value. */ - export const MIN_VALUE: f64; - /** Largest representable value. */ - export const MAX_VALUE: f64; - /** Smallest normalized positive value. */ - export const MIN_NORMAL_VALUE: f64; - /** Smallest safely representable integer value. */ - export const MIN_SAFE_INTEGER: f64; - /** Largest safely representable integer value. */ - export const MAX_SAFE_INTEGER: f64; - /** Positive infinity value. */ - export const POSITIVE_INFINITY: f64; - /** Negative infinity value. */ - export const NEGATIVE_INFINITY: f64; - /** Not a number value. */ - export const NaN: f64; - /** Difference between 1 and the smallest representable value greater than 1. */ - export const EPSILON: f64; - /** Parses a string as an f64. */ - export function parse(value: string): f64; - /** Loads a 64-bit float from memory. */ - export function load(ptr: usize, immOffset?: usize, immAlign?: usize): f64; - /** Stores a 64-bit float to memory. */ - export function store(ptr: usize, value: f64, immOffset?: usize, immAlign?: usize): void; - /** Computes the sum of two 64-bit floats. */ - export function add(left: f64, right: f64): f64; - /** Computes the difference of two 64-bit floats. */ - export function sub(left: f64, right: f64): f64; - /** Computes the product of two 64-bit floats. */ - export function mul(left: f64, right: f64): f64; - /** Computes the quotient of two 64-bit floats. */ - export function div(left: f64, right: f64): f64; - /** Return 1 two 64-bit floats are equal to each other, 0 otherwise. */ - export function eq(left: f64, right: f64): i32; - /** Return 0 two 32-bit floats are equal to each other, 1 otherwise. */ - export function ne(left: f64, right: f64): i32; - /** Computes the absolute value of a 64-bit float. */ - export function abs(value: f64): f64; - /** Determines the maximum of two 64-bit floats. If either operand is \`NaN\`, returns \`NaN\`. */ - export function max(left: f64, right: f64): f64; - /** Determines the minimum of two 64-bit floats. If either operand is \`NaN\`, returns \`NaN\`. */ - export function min(left: f64, right: f64): f64; - /** Performs the ceiling operation on a 64-bit float. */ - export function ceil(value: f64): f64; - /** Composes a 64-bit float from the magnitude of \`x\` and the sign of \`y\`. */ - export function copysign(x: f64, y: f64): f64; - /** Performs the floor operation on a 64-bit float. */ - export function floor(value: f64): f64; - /** Rounds to the nearest integer tied to even of a 64-bit float. */ - export function nearest(value: f64): f64; - /** Reinterprets the bits of the specified 64-bit integer as a 64-bit float. */ - export function reinterpret_i64(value: i64): f64; - /** Calculates the square root of a 64-bit float. */ - export function sqrt(value: f64): f64; - /** Rounds to the nearest integer towards zero of a 64-bit float. */ - export function trunc(value: f64): f64; -} -/** Initializes a 128-bit vector from sixteen 8-bit integer values. Arguments must be compile-time constants. */ -declare function v128(a: i8, b: i8, c: i8, d: i8, e: i8, f: i8, g: i8, h: i8, i: i8, j: i8, k: i8, l: i8, m: i8, n: i8, o: i8, p: i8): v128; -declare namespace v128 { - /** Creates a vector with identical lanes. */ - export function splat(x: T): v128; - /** Extracts one lane as a scalar. */ - export function extract_lane(x: v128, idx: u8): T; - /** Replaces one lane. */ - export function replace_lane(x: v128, idx: u8, value: T): v128; - /** Selects lanes from either vector according to the specified lane indexes. */ - export function shuffle(a: v128, b: v128, ...lanes: u8[]): v128; - /** Selects 8-bit lanes from the first vector according to the indexes [0-15] specified by the 8-bit lanes of the second vector. */ - export function swizzle(a: v128, s: v128): v128; - /** Loads a vector from memory. */ - export function load(ptr: usize, immOffset?: usize, immAlign?: usize): v128; - /** Creates a vector by loading the lanes of the specified type and extending each to the next larger type. */ - export function load_ext(ptr: usize, immOffset?: usize, immAlign?: usize): v128; - /** Creates a vector by loading a value of the specified type into the lowest bits and initializing all other bits of the vector to zero. */ - export function load_zero(ptr: usize, immOffset?: usize, immAlign?: usize): v128; - /** Loads a single lane from memory into the specified lane of the given vector. Other lanes are bypassed as is. */ - export function load_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): v128; - /** Stores the single lane at the specified index of the given vector to memory. */ - export function store_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): void; - /** Creates a vector with eight 16-bit integer lanes by loading and sign extending eight 8-bit integers. */ - export function load8x8_s(ptr: usize, immOffset?: u32, immAlign?: u32): v128; - /** Creates a vector with eight 16-bit integer lanes by loading and zero extending eight 8-bit integers. */ - export function load8x8_u(ptr: usize, immOffset?: u32, immAlign?: u32): v128; - /** Creates a vector with four 32-bit integer lanes by loading and sign extending four 16-bit integers. */ - export function load16x4_s(ptr: usize, immOffset?: u32, immAlign?: u32): v128; - /** Creates a vector with four 32-bit integer lanes by loading and zero extending four 16-bit integers. */ - export function load16x4_u(ptr: usize, immOffset?: u32, immAlign?: u32): v128; - /** Creates a vector with two 64-bit integer lanes by loading and sign extending two 32-bit integers. */ - export function load32x2_s(ptr: usize, immOffset?: u32, immAlign?: u32): v128; - /** Creates a vector with two 64-bit integer lanes by loading and zero extending two 32-bit integers. */ - export function load32x2_u(ptr: usize, immOffset?: u32, immAlign?: u32): v128; - /** Creates a vector with identical lanes by loading the splatted value. */ - export function load_splat(ptr: usize, immOffset?: usize, immAlign?: usize): v128; - /** Loads an 8-bit integer and splats it sixteen times forming a new vector. */ - export function load8_splat(ptr: usize, immOffset?: usize, immAlign?: usize): v128; - /** Loads a 16-bit integer and splats it eight times forming a new vector. */ - export function load16_splat(ptr: usize, immOffset?: usize, immAlign?: usize): v128; - /** Loads a 32-bit integer and splats it four times forming a new vector. */ - export function load32_splat(ptr: usize, immOffset?: usize, immAlign?: usize): v128; - /** Loads a 64-bit integer and splats it two times forming a new vector. */ - export function load64_splat(ptr: usize, immOffset?: usize, immAlign?: usize): v128; - /** Creates a vector by loading a 32-bit value into the lowest bits and initializing all other bits of the vector to zero. */ - export function load32_zero(ptr: usize, immOffset?: usize, immAlign?: usize): v128; - /** Creates a vector by loading a 64-bit value into the lowest bits and initializing all other bits of the vector to zero. */ - export function load64_zero(ptr: usize, immOffset?: usize, immAlign?: usize): v128; - /** Loads a single 8-bit lane from memory into the specified lane of the given vector. Other lanes are bypassed as is. */ - export function load8_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): v128; - /** Loads a single 16-bit lane from memory into the specified lane of the given vector. Other lanes are bypassed as is. */ - export function load16_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): v128; - /** Loads a single 32-bit lane from memory into the specified lane of the given vector. Other lanes are bypassed as is. */ - export function load32_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): v128; - /** Loads a single 64-bit lane from memory into the specified lane of the given vector. Other lanes are bypassed as is. */ - export function load64_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): v128; - /** Stores the 8-bit lane at the specified lane of the given vector to memory. */ - export function store8_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): void; - /** Stores the 16-bit lane at the specified lane of the given vector to memory. */ - export function store16_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): void; - /** Stores the 32-bit lane at the specified lane of the given vector to memory. */ - export function store32_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): void; - /** Stores the 64-bit lane at the specified lane of the given vector to memory. */ - export function store64_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): void; - /** Stores a vector to memory. */ - export function store(ptr: usize, value: v128, immOffset?: usize, immAlign?: usize): void; - /** Adds each lane. */ - export function add(a: v128, b: v128): v128; - /** Subtracts each lane. */ - export function sub(a: v128, b: v128): v128; - /** Multiplies each lane. */ - export function mul(a: v128, b: v128): v128; // except i64 - /** Divides each lane. */ - export function div(a: v128, b: v128): v128; - /** Negates each lane of a vector. */ - export function neg(a: v128): v128; - /** Adds each lane using saturation. */ - export function add_sat(a: v128, b: v128): v128; - /** Subtracts each lane using saturation. */ - export function sub_sat(a: v128, b: v128): v128; - /** Performs a bitwise left shift on each lane of a vector by a scalar. */ - export function shl(a: v128, b: i32): v128; - /** Performs a bitwise right shift on each lane of a vector by a scalar. */ - export function shr(a: v128, b: i32): v128; - /** Performs the bitwise AND operation on two vectors. */ - export function and(a: v128, b: v128): v128; - /** Performs the bitwise OR operation on two vectors. */ - export function or(a: v128, b: v128): v128; - /** Performs the bitwise XOR operation on two vectors. */ - export function xor(a: v128, b: v128): v128; - /** Performs the bitwise ANDNOT operation on two vectors. */ - export function andnot(a: v128, b: v128): v128; - /** Performs the bitwise NOT operation on a vector. */ - export function not(a: v128): v128; - /** Selects bits of either vector according to the specified mask. Selects from \`v1\` if the bit in \`mask\` is \`1\`, otherwise from \`v2\`. */ - export function bitselect(v1: v128, v2: v128, mask: v128): v128; - /** Reduces a vector to a scalar indicating whether any lane is considered \`true\`. */ - export function any_true(a: v128): bool; - /** Reduces a vector to a scalar indicating whether all lanes are considered \`true\`. */ - export function all_true(a: v128): bool; - /** Extracts the high bit of each lane and produces a scalar mask with all bits concatenated. */ - export function bitmask(a: v128): i32; - /** Counts the number of bits set to one within each lane. */ - export function popcnt(a: v128): v128; - /** Computes the minimum of each lane. */ - export function min(a: v128, b: v128): v128; - /** Computes the maximum of each lane. */ - export function max(a: v128, b: v128): v128; - /** Computes the pseudo-minimum of each lane. */ - export function pmin(a: v128, b: v128): v128; - /** Computes the pseudo-maximum of each lane. */ - export function pmax(a: v128, b: v128): v128; - /** Computes the dot product of two lanes each, yielding lanes one size wider than the input. */ - export function dot(a: v128, b: v128): v128; - /** Computes the average of each lane. */ - export function avgr(a: v128, b: v128): v128; - /** Computes the absolute value of each lane. */ - export function abs(a: v128): v128; - /** Computes the square root of each lane. */ - export function sqrt(a: v128): v128; - /** Performs the ceiling operation on each lane. */ - export function ceil(a: v128): v128; - /** Performs the floor operation on each lane. */ - export function floor(a: v128): v128; - /** Rounds to the nearest integer towards zero of each lane. */ - export function trunc(a: v128): v128; - /** Rounds to the nearest integer tied to even of each lane. */ - export function nearest(a: v128): v128; - /** Computes which lanes are equal. */ - export function eq(a: v128, b: v128): v128; - /** Computes which lanes are not equal. */ - export function ne(a: v128, b: v128): v128; - /** Computes which lanes of the first vector are less than those of the second. */ - export function lt(a: v128, b: v128): v128; - /** Computes which lanes of the first vector are less than or equal those of the second. */ - export function le(a: v128, b: v128): v128; - /** Computes which lanes of the first vector are greater than those of the second. */ - export function gt(a: v128, b: v128): v128; - /** Computes which lanes of the first vector are greater than or equal those of the second. */ - export function ge(a: v128, b: v128): v128; - /** Converts each lane of a vector from integer to single-precision floating point. */ - export function convert(a: v128): v128; - /** Converts the low lanes of a vector from integer to double-precision floating point. */ - export function convert_low(a: v128): v128; - /** Truncates each lane of a vector from single-precision floating point to integer with saturation. Takes the target type. */ - export function trunc_sat(a: v128): v128; - /** Truncates each lane of a vector from double-precision floating point to integer with saturation. Takes the target type. */ - export function trunc_sat_zero(a: v128): v128; - /** Narrows each lane to their respective narrower lanes. */ - export function narrow(a: v128, b: v128): v128; - /** Extends the low lanes of a vector to their respective wider lanes. */ - export function extend_low(a: v128): v128; - /** Extends the high lanes of a vector to their respective wider lanes. */ - export function extend_high(a: v128): v128; - /** Adds lanes pairwise producing twice wider extended results. */ - export function extadd_pairwise(a: v128): v128; - /** Demotes each float lane to lower precision. The higher lanes of the result are initialized to zero. */ - export function demote_zero(a: v128): v128; - /** Promotes the lower float lanes to higher precision. */ - export function promote_low(a: v128): v128; - /** Performs the line-wise saturating rounding multiplication in Q15 format (\`(a[i] * b[i] + (1 << (Q - 1))) >> Q\` where \`Q=15\`). */ - export function q15mulr_sat(a: v128, b: v128): v128; - /** Performs the lane-wise integer extended multiplication of the lower lanes producing a twice wider result than the inputs. */ - export function extmul_low(a: v128, b: v128): v128; - /** Performs the lane-wise integer extended multiplication of the higher lanes producing a twice wider result than the inputs. */ - export function extmul_high(a: v128, b: v128): v128; - /** - * Selects 8-bit lanes from \`a\` using indices in \`s\`. Indices in the range [0-15] select the i-th element of \`a\`. - * - * Unlike {@link v128.swizzle}, the result of an out of bounds index is implementation-defined, depending on hardware - * capabilities: Either \`0\` or \`a[s[i]%16]\`. - */ - export function relaxed_swizzle(a: v128, s: v128): v128; - /** - * Truncates each lane of a vector from 32-bit floating point to a 32-bit signed or unsigned integer as indicated by - * \`T\`. - * - * Unlike {@link v128.trunc_sat}, the result of lanes out of bounds of the target type is implementation defined, - * depending on hardware capabilities: - * - If the input lane contains \`NaN\`, the result is either \`0\` or the respective maximum integer value. - * - If the input lane contains a value otherwise out of bounds of the target type, the result is either the - * saturatated result or maximum integer value. - */ - export function relaxed_trunc(a: v128): v128; - /** - * Truncates each lane of a vector from 64-bit floating point to a 32-bit signed or unsigned integer as indicated by - * \`T\`. Unused higher integer lanes of the result are initialized to zero. - * - * Unlike {@link v128.trunc_sat_zero}, the result of lanes out of bounds of the target type is implementation defined, - * depending on hardware capabilities: - * - If the input lane contains \`NaN\`, the result is either \`0\` or the respective maximum integer value. - * - If the input lane contains a value otherwise out of bounds of the target type, the result is either the - * saturatated result or maximum integer value. - */ - export function relaxed_trunc_zero(a: v128): v128; - /** - * Performs the fused multiply-add operation (\`a * b + c\`) on 32- or 64-bit floating point lanes as indicated by - * \`T\`. - * - * The result is implementation defined, depending on hardware capabilities: - * - Either \`a * b\` is rounded once and the final result rounded again, or - * - The expression is evaluated with higher precision and only rounded once - */ - export function relaxed_madd(a: v128, b: v128, c: v128): v128; - /** - * Performs the fused negative multiply-add operation (\`-(a * b) + c\`) on 32- or 64-bit floating point lanes as - * indicated by \`T\`. - * - * The result is implementation defined, depending on hardware capabilities: - * - Either \`a * b\` is rounded once and the final result rounded again, or - * - The expression is evaluated with higher precision and only rounded once - */ - export function relaxed_nmadd(a: v128, b: v128, c: v128): v128; - /** - * Selects 8-, 16-, 32- or 64-bit integer lanes as indicated by \`T\` from \`a\` or \`b\` based on masks in \`m\`. - * - * Behaves like {@link v128.bitselect} if masks in \`m\` do have all bits either set (result is \`a[i]\`) or unset (result - * is \`b[i]\`). Otherwise the result is implementation-defined, depending on hardware capabilities: If the most - * significant bit of \`m\` is set, the result is either \`bitselect(a[i], b[i], mask)\` or \`a[i]\`, otherwise the result - * is \`b[i]\`. - */ - export function relaxed_laneselect(a: v128, b: v128, m: v128): v128; - /** - * Computes the minimum of each 32- or 64-bit floating point lane as indicated by \`T\`. - * - * Unlike {@link v128.min}, the result is implementation-defined if either value is \`NaN\` or both are \`-0.0\` and - * \`+0.0\`, depending on hardware capabilities: Either \`a[i]\` or \`b[i]\`. - */ - export function relaxed_min(a: v128, b: v128): v128; - /** - * Computes the maximum of each 32- or 64-bit floating point lane as indicated by \`T\`. - * - * Unlike {@link v128.max}, the result is implementation-defined if either value is \`NaN\` or both are \`-0.0\` and - * \`+0.0\`, depending on hardware capabilities: Either \`a[i]\` or \`b[i]\`. - */ - export function relaxed_max(a: v128, b: v128): v128; - /** - * Performs the lane-wise rounding multiplication in Q15 format (\`(a[i] * b[i] + (1 << (Q - 1))) >> Q\` where \`Q=15\`). - * - * Unlike {@link v128.q15mulr_sat}, the result is implementation-defined if both inputs are the minimum signed value: - * Either the minimum or maximum signed value. - */ - export function relaxed_q15mulr(a: v128, b: v128): v128; - /** - * Computes the dot product of two 8-bit integer lanes each, yielding lanes one size wider than the input. - * - * Unlike {@link v128.dot}, if the most significant bit of \`b[i]\` is set, whether \`b[i]\` is interpreted as signed or - * unsigned is implementation-defined. - */ - export function relaxed_dot(a: v128, b: v128): v128; - /** - * Computes the dot product of two 8-bit integer lanes each, yielding lanes two sizes wider than the input with the - * lanes of \`c\` accumulated into the result. - * - * Unlike {@link v128.dot}, if the most significant bit of \`b[i]\` is set, whether \`b[i]\` is interpreted as signed or - * unsigned by the intermediate multiplication is implementation-defined. - */ - export function relaxed_dot_add(a: v128, b: v128, c: v128): v128; -} -/** Initializes a 128-bit vector from sixteen 8-bit integer values. Arguments must be compile-time constants. */ -declare function i8x16(a: i8, b: i8, c: i8, d: i8, e: i8, f: i8, g: i8, h: i8, i: i8, j: i8, k: i8, l: i8, m: i8, n: i8, o: i8, p: i8): v128; -declare namespace i8x16 { - /** Creates a vector with sixteen identical 8-bit integer lanes. */ - export function splat(x: i8): v128; - /** Extracts one 8-bit integer lane as a signed scalar. */ - export function extract_lane_s(x: v128, idx: u8): i8; - /** Extracts one 8-bit integer lane as an unsigned scalar. */ - export function extract_lane_u(x: v128, idx: u8): u8; - /** Replaces one 8-bit integer lane. */ - export function replace_lane(x: v128, idx: u8, value: i8): v128; - /** Adds each 8-bit integer lane. */ - export function add(a: v128, b: v128): v128; - /** Subtracts each 8-bit integer lane. */ - export function sub(a: v128, b: v128): v128; - /** Computes the signed minimum of each 8-bit integer lane. */ - export function min_s(a: v128, b: v128): v128; - /** Computes the unsigned minimum of each 8-bit integer lane. */ - export function min_u(a: v128, b: v128): v128; - /** Computes the signed maximum of each 8-bit integer lane. */ - export function max_s(a: v128, b: v128): v128; - /** Computes the unsigned maximum of each 8-bit integer lane. */ - export function max_u(a: v128, b: v128): v128; - /** Computes the unsigned average of each 8-bit integer lane. */ - export function avgr_u(a: v128, b: v128): v128; - /** Computes the absolute value of each 8-bit integer lane. */ - export function abs(a: v128): v128; - /** Negates each 8-bit integer lane. */ - export function neg(a: v128): v128; - /** Adds each 8-bit integer lane using signed saturation. */ - export function add_sat_s(a: v128, b: v128): v128; - /** Adds each 8-bit integer lane using unsigned saturation. */ - export function add_sat_u(a: v128, b: v128): v128; - /** Subtracts each 8-bit integer lane using signed saturation. */ - export function sub_sat_s(a: v128, b: v128): v128; - /** Subtracts each 8-bit integer lane using unsigned saturation. */ - export function sub_sat_u(a: v128, b: v128): v128; - /** Performs a bitwise left shift on each 8-bit integer lane by a scalar. */ - export function shl(a: v128, b: i32): v128; - /** Performs a bitwise arithmetic right shift on each 8-bit integer lane by a scalar. */ - export function shr_s(a: v128, b: i32): v128; - /** Performs a bitwise logical right shift on each 8-bit integer lane by a scalar. */ - export function shr_u(a: v128, b: i32): v128; - /** Reduces a vector to a scalar indicating whether all 8-bit integer lanes are considered \`true\`. */ - export function all_true(a: v128): bool; - /** Extracts the high bit of each 8-bit integer lane and produces a scalar mask with all bits concatenated. */ - export function bitmask(a: v128): i32; - /** Counts the number of bits set to one within each 8-bit integer lane. */ - export function popcnt(a: v128): v128; - /** Computes which 8-bit integer lanes are equal. */ - export function eq(a: v128, b: v128): v128; - /** Computes which 8-bit integer lanes are not equal. */ - export function ne(a: v128, b: v128): v128; - /** Computes which 8-bit signed integer lanes of the first vector are less than those of the second. */ - export function lt_s(a: v128, b: v128): v128; - /** Computes which 8-bit unsigned integer lanes of the first vector are less than those of the second. */ - export function lt_u(a: v128, b: v128): v128; - /** Computes which 8-bit signed integer lanes of the first vector are less than or equal those of the second. */ - export function le_s(a: v128, b: v128): v128; - /** Computes which 8-bit unsigned integer lanes of the first vector are less than or equal those of the second. */ - export function le_u(a: v128, b: v128): v128; - /** Computes which 8-bit signed integer lanes of the first vector are greater than those of the second. */ - export function gt_s(a: v128, b: v128): v128; - /** Computes which 8-bit unsigned integer lanes of the first vector are greater than those of the second. */ - export function gt_u(a: v128, b: v128): v128; - /** Computes which 8-bit signed integer lanes of the first vector are greater than or equal those of the second. */ - export function ge_s(a: v128, b: v128): v128; - /** Computes which 8-bit unsigned integer lanes of the first vector are greater than or equal those of the second. */ - export function ge_u(a: v128, b: v128): v128; - /** Narrows each 16-bit signed integer lane to 8-bit signed integer lanes. */ - export function narrow_i16x8_s(a: v128, b: v128): v128; - /** Narrows each 16-bit signed integer lane to 8-bit unsigned integer lanes. */ - export function narrow_i16x8_u(a: v128, b: v128): v128; - /** Selects 8-bit lanes from either vector according to the specified [0-15] respectively [16-31] lane indexes. */ - export function shuffle(a: v128, b: v128, l0: u8, l1: u8, l2: u8, l3: u8, l4: u8, l5: u8, l6: u8, l7: u8, l8: u8, l9: u8, l10: u8, l11: u8, l12: u8, l13: u8, l14: u8, l15: u8): v128; - /** Selects 8-bit lanes from the first vector according to the indexes [0-15] specified by the 8-bit lanes of the second vector. */ - export function swizzle(a: v128, s: v128): v128; - /** - * Selects 8-bit integer lanes from \`a\` using indices in \`s\`. Indices in the range [0-15] select the i-th element of - * \`a\`. - * - * Unlike {@link i8x16.swizzle}, the result of an out of bounds index is implementation-defined, depending on hardware - * capabilities: Either \`0\` or \`a[s[i]%16]\`. - */ - export function relaxed_swizzle(a: v128, s: v128): v128; - /** - * Selects 8-bit integer lanes from \`a\` or \`b\` based on masks in \`m\`. - * - * Behaves like {@link v128.bitselect} if masks in \`m\` do have all bits either set (result is \`a[i]\`) or unset (result - * is \`b[i]\`). Otherwise the result is implementation-defined, depending on hardware capabilities: If the most - * significant bit of \`m\` is set, the result is either \`bitselect(a[i], b[i], mask)\` or \`a[i]\`, otherwise the result - * is \`b[i]\`. - */ - export function relaxed_laneselect(a: v128, b: v128, m: v128): v128; -} -/** Initializes a 128-bit vector from eight 16-bit integer values. Arguments must be compile-time constants. */ -declare function i16x8(a: i16, b: i16, c: i16, d: i16, e: i16, f: i16, g: i16, h: i16): v128; -declare namespace i16x8 { - /** Creates a vector with eight identical 16-bit integer lanes. */ - export function splat(x: i16): v128; - /** Extracts one 16-bit integer lane as a signed scalar. */ - export function extract_lane_s(x: v128, idx: u8): i16; - /** Extracts one 16-bit integer lane as an unsigned scalar. */ - export function extract_lane_u(x: v128, idx: u8): u16; - /** Replaces one 16-bit integer lane. */ - export function replace_lane(x: v128, idx: u8, value: i16): v128; - /** Adds each 16-bit integer lane. */ - export function add(a: v128, b: v128): v128; - /** Subtracts each 16-bit integer lane. */ - export function sub(a: v128, b: v128): v128; - /** Multiplies each 16-bit integer lane. */ - export function mul(a: v128, b: v128): v128; - /** Computes the signed minimum of each 16-bit integer lane. */ - export function min_s(a: v128, b: v128): v128; - /** Computes the unsigned minimum of each 16-bit integer lane. */ - export function min_u(a: v128, b: v128): v128; - /** Computes the signed maximum of each 16-bit integer lane. */ - export function max_s(a: v128, b: v128): v128; - /** Computes the unsigned maximum of each 16-bit integer lane. */ - export function max_u(a: v128, b: v128): v128; - /** Computes the unsigned average of each 16-bit integer lane. */ - export function avgr_u(a: v128, b: v128): v128; - /** Computes the absolute value of each 16-bit integer lane. */ - export function abs(a: v128): v128; - /** Negates each 16-bit integer lane. */ - export function neg(a: v128): v128; - /** Adds each 16-bit integer lane using signed saturation. */ - export function add_sat_s(a: v128, b: v128): v128; - /** Adds each 16-bit integer lane using unsigned saturation. */ - export function add_sat_u(a: v128, b: v128): v128; - /** Subtracts each 16-bit integer lane using signed saturation. */ - export function sub_sat_s(a: v128, b: v128): v128; - /** Subtracts each 16-bit integer lane using unsigned saturation. */ - export function sub_sat_u(a: v128, b: v128): v128; - /** Performs a bitwise left shift on each 16-bit integer lane by a scalar. */ - export function shl(a: v128, b: i32): v128; - /** Performs a bitwise arithmetic right shift each 16-bit integer lane by a scalar. */ - export function shr_s(a: v128, b: i32): v128; - /** Performs a bitwise logical right shift on each 16-bit integer lane by a scalar. */ - export function shr_u(a: v128, b: i32): v128; - /** Reduces a vector to a scalar indicating whether all 16-bit integer lanes are considered \`true\`. */ - export function all_true(a: v128): bool; - /** Extracts the high bit of each 16-bit integer lane and produces a scalar mask with all bits concatenated. */ - export function bitmask(a: v128): i32; - /** Computes which 16-bit integer lanes are equal. */ - export function eq(a: v128, b: v128): v128; - /** Computes which 16-bit integer lanes are not equal. */ - export function ne(a: v128, b: v128): v128; - /** Computes which 16-bit signed integer lanes of the first vector are less than those of the second. */ - export function lt_s(a: v128, b: v128): v128; - /** Computes which 16-bit unsigned integer lanes of the first vector are less than those of the second. */ - export function lt_u(a: v128, b: v128): v128; - /** Computes which 16-bit signed integer lanes of the first vector are less than or equal those of the second. */ - export function le_s(a: v128, b: v128): v128; - /** Computes which 16-bit unsigned integer lanes of the first vector are less than or equal those of the second. */ - export function le_u(a: v128, b: v128): v128; - /** Computes which 16-bit signed integer lanes of the first vector are greater than those of the second. */ - export function gt_s(a: v128, b: v128): v128; - /** Computes which 16-bit unsigned integer lanes of the first vector are greater than those of the second. */ - export function gt_u(a: v128, b: v128): v128; - /** Computes which 16-bit signed integer lanes of the first vector are greater than or equal those of the second. */ - export function ge_s(a: v128, b: v128): v128; - /** Computes which 16-bit unsigned integer lanes of the first vector are greater than or equal those of the second. */ - export function ge_u(a: v128, b: v128): v128; - /** Narrows each 32-bit signed integer lane to 16-bit signed integer lanes. */ - export function narrow_i32x4_s(a: v128, b: v128): v128; - /** Narrows each 32-bit signed integer lane to 16-bit unsigned integer lanes. */ - export function narrow_i32x4_u(a: v128, b: v128): v128; - /** Extends the low 8-bit signed integer lanes to 16-bit signed integer lanes. */ - export function extend_low_i8x16_s(a: v128): v128; - /** Extends the low 8-bit unsigned integer lanes to 16-bit unsigned integer lanes. */ - export function extend_low_i8x16_u(a: v128): v128; - /** Extends the high 8-bit signed integer lanes to 16-bit signed integer lanes. */ - export function extend_high_i8x16_s(a: v128): v128; - /** Extends the high 8-bit unsigned integer lanes to 16-bit unsigned integer lanes. */ - export function extend_high_i8x16_u(a: v128): v128; - /** Adds the sixteen 8-bit signed integer lanes pairwise producing eight 16-bit signed integer results. */ - export function extadd_pairwise_i8x16_s(a: v128): v128; - /** Adds the sixteen 8-bit unsigned integer lanes pairwise producing eight 16-bit unsigned integer results. */ - export function extadd_pairwise_i8x16_u(a: v128): v128; - /** Performs the line-wise 16-bit signed integer saturating rounding multiplication in Q15 format. */ - export function q15mulr_sat_s(a: v128, b: v128): v128; - /** Performs the lane-wise 8-bit signed integer extended multiplication of the eight lower lanes producing twice wider 16-bit integer results. */ - export function extmul_low_i8x16_s(a: v128, b: v128): v128; - /** Performs the lane-wise 8-bit unsigned integer extended multiplication of the eight lower lanes producing twice wider 16-bit integer results. */ - export function extmul_low_i8x16_u(a: v128, b: v128): v128; - /** Performs the lane-wise 8-bit signed integer extended multiplication of the eight higher lanes producing twice wider 16-bit integer results. */ - export function extmul_high_i8x16_s(a: v128, b: v128): v128; - /** Performs the lane-wise 8-bit unsigned integer extended multiplication of the eight higher lanes producing twice wider 16-bit integer results. */ - export function extmul_high_i8x16_u(a: v128, b: v128): v128; - /** Selects 16-bit lanes from either vector according to the specified [0-7] respectively [8-15] lane indexes. */ - export function shuffle(a: v128, b: v128, l0: u8, l1: u8, l2: u8, l3: u8, l4: u8, l5: u8, l6: u8, l7: u8): v128; - /** - * Selects 16-bit integer lanes from \`a\` or \`b\` based on masks in \`m\`. - * - * Behaves like {@link v128.bitselect} if masks in \`m\` do have all bits either set (result is \`a[i]\`) or unset (result - * is \`b[i]\`). Otherwise the result is implementation-defined, depending on hardware capabilities: If the most - * significant bit of \`m\` is set, the result is either \`bitselect(a[i], b[i], mask)\` or \`a[i]\`, otherwise the result - * is \`b[i]\`. - */ - export function relaxed_laneselect(a: v128, b: v128, m: v128): v128; - /** - * Performs the line-wise rounding multiplication in Q15 format (\`(a[i] * b[i] + (1 << (Q - 1))) >> Q\` where \`Q=15\`). - * - * Some results are implementation-defined: If both inputs are \`i16.MIN_VALUE\`, the value of the respective - * resulting lane may be either \`i16.MIN_VALUE\` or \`i16.MAX_VALUE\`. - */ - export function relaxed_q15mulr_s(a: v128, b: v128): v128; - /** - * Computes the dot product of two 8-bit integer lanes each, yielding lanes one size wider than the input. - * - * Some results are implementation-defined: If the most significant bit of \`b[i]\` is set, the intermediate - * multiplication may interpret \`b[i]\` as either signed or unsigned. - */ - export function relaxed_dot_i8x16_i7x16_s(a: v128, b: v128): v128; -} -/** Initializes a 128-bit vector from four 32-bit integer values. Arguments must be compile-time constants. */ -declare function i32x4(a: i32, b: i32, c: i32, d: i32): v128; -declare namespace i32x4 { - /** Creates a vector with four identical 32-bit integer lanes. */ - export function splat(x: i32): v128; - /** Extracts one 32-bit integer lane as a scalar. */ - export function extract_lane(x: v128, idx: u8): i32; - /** Replaces one 32-bit integer lane. */ - export function replace_lane(x: v128, idx: u8, value: i32): v128; - /** Adds each 32-bit integer lane. */ - export function add(a: v128, b: v128): v128; - /** Subtracts each 32-bit integer lane. */ - export function sub(a: v128, b: v128): v128; - /** Multiplies each 32-bit integer lane. */ - export function mul(a: v128, b: v128): v128; - /** Computes the signed minimum of each 32-bit integer lane. */ - export function min_s(a: v128, b: v128): v128; - /** Computes the unsigned minimum of each 32-bit integer lane. */ - export function min_u(a: v128, b: v128): v128; - /** Computes the signed maximum of each 32-bit integer lane. */ - export function max_s(a: v128, b: v128): v128; - /** Computes the unsigned maximum of each 32-bit integer lane. */ - export function max_u(a: v128, b: v128): v128; - /** Computes the dot product of two 16-bit integer lanes each, yielding 32-bit integer lanes. */ - export function dot_i16x8_s(a: v128, b: v128): v128; - /** Computes the absolute value of each 32-bit integer lane. */ - export function abs(a: v128): v128; - /** Negates each 32-bit integer lane. */ - export function neg(a: v128): v128; - /** Performs a bitwise left shift on each 32-bit integer lane by a scalar. */ - export function shl(a: v128, b: i32): v128; - /** Performs a bitwise arithmetic right shift on each 32-bit integer lane by a scalar. */ - export function shr_s(a: v128, b: i32): v128; - /** Performs a bitwise logical right shift on each 32-bit integer lane by a scalar. */ - export function shr_u(a: v128, b: i32): v128; - /** Reduces a vector to a scalar indicating whether all 32-bit integer lanes are considered \`true\`. */ - export function all_true(a: v128): bool; - /** Extracts the high bit of each 32-bit integer lane and produces a scalar mask with all bits concatenated. */ - export function bitmask(a: v128): i32; - /** Computes which 32-bit integer lanes are equal. */ - export function eq(a: v128, b: v128): v128; - /** Computes which 32-bit integer lanes are not equal. */ - export function ne(a: v128, b: v128): v128; - /** Computes which 32-bit signed integer lanes of the first vector are less than those of the second. */ - export function lt_s(a: v128, b: v128): v128; - /** Computes which 32-bit unsigned integer lanes of the first vector are less than those of the second. */ - export function lt_u(a: v128, b: v128): v128; - /** Computes which 32-bit signed integer lanes of the first vector are less than or equal those of the second. */ - export function le_s(a: v128, b: v128): v128; - /** Computes which 32-bit unsigned integer lanes of the first vector are less than or equal those of the second. */ - export function le_u(a: v128, b: v128): v128; - /** Computes which 32-bit signed integer lanes of the first vector are greater than those of the second. */ - export function gt_s(a: v128, b: v128): v128; - /** Computes which 32-bit unsigned integer lanes of the first vector are greater than those of the second. */ - export function gt_u(a: v128, b: v128): v128; - /** Computes which 32-bit signed integer lanes of the first vector are greater than or equal those of the second. */ - export function ge_s(a: v128, b: v128): v128; - /** Computes which 32-bit unsigned integer lanes of the first vector are greater than or equal those of the second. */ - export function ge_u(a: v128, b: v128): v128; - /** Truncates each 32-bit float lane to a signed integer with saturation. */ - export function trunc_sat_f32x4_s(a: v128): v128; - /** Truncates each 32-bit float lane to an unsigned integer with saturation. */ - export function trunc_sat_f32x4_u(a: v128): v128; - /** Truncates the two 64-bit float lanes to the two lower signed integer lanes with saturation. The two higher integer lanes of the result are initialized to zero. */ - export function trunc_sat_f64x2_s_zero(a: v128): v128; - /** Truncates the two 64-bit float lanes to the two lower unsigned integer lanes with saturation. The two higher integer lanes of the result are initialized to zero. */ - export function trunc_sat_f64x2_u_zero(a: v128): v128; - /** Extends the low 16-bit signed integer lanes to 32-bit signed integer lanes. */ - export function extend_low_i16x8_s(a: v128): v128; - /** Extends the low 16-bit unsigned integer lane to 32-bit unsigned integer lanes. */ - export function extend_low_i16x8_u(a: v128): v128; - /** Extends the high 16-bit signed integer lanes to 32-bit signed integer lanes. */ - export function extend_high_i16x8_s(a: v128): v128; - /** Extends the high 16-bit unsigned integer lanes to 32-bit unsigned integer lanes. */ - export function extend_high_i16x8_u(a: v128): v128; - /** Adds the eight 16-bit signed integer lanes pairwise producing four 32-bit signed integer results. */ - export function extadd_pairwise_i16x8_s(a: v128): v128; - /** Adds the eight 16-bit unsigned integer lanes pairwise producing four 32-bit unsigned integer results. */ - export function extadd_pairwise_i16x8_u(a: v128): v128; - /** Performs the lane-wise 16-bit signed integer extended multiplication of the four lower lanes producing twice wider 32-bit integer results. */ - export function extmul_low_i16x8_s(a: v128, b: v128): v128; - /** Performs the lane-wise 16-bit unsigned integer extended multiplication of the four lower lanes producing twice wider 32-bit integer results. */ - export function extmul_low_i16x8_u(a: v128, b: v128): v128; - /** Performs the lane-wise 16-bit signed integer extended multiplication of the four higher lanes producing twice wider 32-bit integer results. */ - export function extmul_high_i16x8_s(a: v128, b: v128): v128; - /** Performs the lane-wise 16-bit unsigned integer extended multiplication of the four higher lanes producing twice wider 32-bit integer results. */ - export function extmul_high_i16x8_u(a: v128, b: v128): v128; - /** Selects 32-bit lanes from either vector according to the specified [0-3] respectively [4-7] lane indexes. */ - export function shuffle(a: v128, b: v128, l0: u8, l1: u8, l2: u8, l3: u8): v128; - /** - * Truncates each lane of a vector from 32-bit floating point to a signed 32-bit integer. - * - * Unlike {@link i32x4.trunc_sat_f32x4_s}, the result of lanes out of bounds of the target type is implementation - * defined, depending on hardware capabilities: - * - If the input lane contains \`NaN\`, the result is either \`0\` or the respective maximum integer value. - * - If the input lane contains a value otherwise out of bounds of the target type, the result is either the - * saturatated result or maximum integer value. - */ - export function relaxed_trunc_f32x4_s(a: v128): v128; - /** - * Truncates each lane of a vector from 32-bit floating point to an unsigned 32-bit integer. - * - * Unlike {@link i32x4.trunc_sat_f32x4_u}, the result of lanes out of bounds of the target type is implementation - * defined, depending on hardware capabilities: - * - If the input lane contains \`NaN\`, the result is either \`0\` or the respective maximum integer value. - * - If the input lane contains a value otherwise out of bounds of the target type, the result is either the - * saturatated result or maximum integer value. - */ - export function relaxed_trunc_f32x4_u(a: v128): v128; - /** - * Truncates each lane of a vector from 64-bit floating point to a signed 32-bit integer. The two higher - * integer lanes of the result are initialized to zero. - * - * Unlike {@link i32x4.trunc_sat_f64x2_s_zero}, the result of lanes out of bounds of the target type is implementation - * defined, depending on hardware capabilities: - * - If the input lane contains \`NaN\`, the result is either \`0\` or the respective maximum integer value. - * - If the input lane contains a value otherwise out of bounds of the target type, the result is either the - * saturatated result or maximum integer value. - */ - export function relaxed_trunc_f64x2_s_zero(a: v128): v128; - /** - * Truncates each lane of a vector from 64-bit floating point to an unsigned 32-bit integer. The two higher - * integer lanes of the result are initialized to zero. - * - * Unlike {@link i32x4.trunc_sat_f64x2_u_zero}, the result of lanes out of bounds of the target type is implementation - * defined, depending on hardware capabilities: - * - If the input lane contains \`NaN\`, the result is either \`0\` or the respective maximum integer value. - * - If the input lane contains a value otherwise out of bounds of the target type, the result is either the - * saturatated result or maximum integer value. - */ - export function relaxed_trunc_f64x2_u_zero(a: v128): v128; - /** - * Selects 32-bit integer lanes from \`a\` or \`b\` based on masks in \`m\`. - * - * Behaves like {@link v128.bitselect} if masks in \`m\` do have all bits either set (result is \`a[i]\`) or unset (result - * is \`b[i]\`). Otherwise the result is implementation-defined, depending on hardware capabilities: If the most - * significant bit of \`m\` is set, the result is either \`bitselect(a[i], b[i], mask)\` or \`a[i]\`, otherwise the result - * is \`b[i]\`. - */ - export function relaxed_laneselect(a: v128, b: v128, m: v128): v128; - /** - * Computes the dot product of two 8-bit lanes each, yielding lanes two sizes wider than the input with the lanes of - * \`c\` accumulated into the result. - * - * Unlike {@link v128.dot}, if the most significant bit of \`b[i]\` is set, whether \`b[i]\` is interpreted as signed or - * unsigned by the intermediate multiplication is implementation-defined. - */ - export function relaxed_dot_i8x16_i7x16_add_s(a: v128, b: v128, c: v128): v128; -} -/** Initializes a 128-bit vector from two 64-bit integer values. Arguments must be compile-time constants. */ -declare function i64x2(a: i64, b: i64): v128; -declare namespace i64x2 { - /** Creates a vector with two identical 64-bit integer lanes. */ - export function splat(x: i64): v128; - /** Extracts one 64-bit integer lane as a scalar. */ - export function extract_lane(x: v128, idx: u8): i64; - /** Replaces one 64-bit integer lane. */ - export function replace_lane(x: v128, idx: u8, value: i64): v128; - /** Adds each 64-bit integer lane. */ - export function add(a: v128, b: v128): v128; - /** Subtracts each 64-bit integer lane. */ - export function sub(a: v128, b: v128): v128; - /** Multiplies each 64-bit integer lane. */ - export function mul(a: v128, b: v128): v128; - /** Computes the absolute value of each 64-bit integer lane. */ - export function abs(a: v128): v128; - /** Negates each 64-bit integer lane. */ - export function neg(a: v128): v128; - /** Performs a bitwise left shift on each 64-bit integer lane by a scalar. */ - export function shl(a: v128, b: i32): v128; - /** Performs a bitwise arithmetic right shift on each 64-bit integer lane by a scalar. */ - export function shr_s(a: v128, b: i32): v128; - /** Performs a bitwise logical right shift on each 64-bit integer lane by a scalar. */ - export function shr_u(a: v128, b: i32): v128; - /** Reduces a vector to a scalar indicating whether all 64-bit integer lanes are considered \`true\`. */ - export function all_true(a: v128): bool; - /** Extracts the high bit of each 64-bit integer lane and produces a scalar mask with all bits concatenated. */ - export function bitmask(a: v128): i32; - /** Computes which 64-bit integer lanes are equal. */ - export function eq(a: v128, b: v128): v128; - /** Computes which 64-bit integer lanes are not equal. */ - export function ne(a: v128, b: v128): v128; - /** Computes which 64-bit signed integer lanes of the first vector are less than those of the second. */ - export function lt_s(a: v128, b: v128): v128; - /** Computes which 64-bit signed integer lanes of the first vector are less than or equal those of the second. */ - export function le_s(a: v128, b: v128): v128; - /** Computes which 64-bit signed integer lanes of the first vector are greater than those of the second. */ - export function gt_s(a: v128, b: v128): v128; - /** Computes which 64-bit signed integer lanes of the first vector are greater than or equal those of the second. */ - export function ge_s(a: v128, b: v128): v128; - /** Extends the low 32-bit signed integer lanes to 64-bit signed integer lanes. */ - export function extend_low_i32x4_s(a: v128): v128; - /** Extends the low 32-bit unsigned integer lane to 64-bit unsigned integer lanes. */ - export function extend_low_i32x4_u(a: v128): v128; - /** Extends the high 32-bit signed integer lanes to 64-bit signed integer lanes. */ - export function extend_high_i32x4_s(a: v128): v128; - /** Extends the high 32-bit unsigned integer lanes to 64-bit unsigned integer lanes. */ - export function extend_high_i32x4_u(a: v128): v128; - /** Performs the lane-wise 32-bit signed integer extended multiplication of the two lower lanes producing twice wider 64-bit integer results. */ - export function extmul_low_i32x4_s(a: v128, b: v128): v128; - /** Performs the lane-wise 32-bit unsigned integer extended multiplication of the two lower lanes producing twice wider 64-bit integer results. */ - export function extmul_low_i32x4_u(a: v128, b: v128): v128; - /** Performs the lane-wise 32-bit signed integer extended multiplication of the two higher lanes producing twice wider 64-bit integer results. */ - export function extmul_high_i32x4_s(a: v128, b: v128): v128; - /** Performs the lane-wise 32-bit unsigned integer extended multiplication of the two higher lanes producing twice wider 64-bit integer results. */ - export function extmul_high_i32x4_u(a: v128, b: v128): v128; - /** Selects 64-bit lanes from either vector according to the specified [0-1] respectively [2-3] lane indexes. */ - export function shuffle(a: v128, b: v128, l0: u8, l1: u8): v128; - /** - * Selects 64-bit integer lanes from \`a\` or \`b\` based on masks in \`m\`. - * - * Behaves like {@link v128.bitselect} if masks in \`m\` do have all bits either set (result is \`a[i]\`) or unset (result - * is \`b[i]\`). Otherwise the result is implementation-defined, depending on hardware capabilities: If the most - * significant bit of \`m\` is set, the result is either \`bitselect(a[i], b[i], mask)\` or \`a[i]\`, otherwise the result - * is \`b[i]\`. - */ - export function relaxed_laneselect(a: v128, b: v128, m: v128): v128; -} -/** Initializes a 128-bit vector from four 32-bit float values. Arguments must be compile-time constants. */ -declare function f32x4(a: f32, b: f32, c: f32, d: f32): v128; -declare namespace f32x4 { - /** Creates a vector with four identical 32-bit float lanes. */ - export function splat(x: f32): v128; - /** Extracts one 32-bit float lane as a scalar. */ - export function extract_lane(x: v128, idx: u8): f32; - /** Replaces one 32-bit float lane. */ - export function replace_lane(x: v128, idx: u8, value: f32): v128; - /** Adds each 32-bit float lane. */ - export function add(a: v128, b: v128): v128; - /** Subtracts each 32-bit float lane. */ - export function sub(a: v128, b: v128): v128; - /** Multiplies each 32-bit float lane. */ - export function mul(a: v128, b: v128): v128; - /** Divides each 32-bit float lane. */ - export function div(a: v128, b: v128): v128; - /** Negates each 32-bit float lane. */ - export function neg(a: v128): v128; - /** Computes the minimum of each 32-bit float lane. */ - export function min(a: v128, b: v128): v128; - /** Computes the maximum of each 32-bit float lane. */ - export function max(a: v128, b: v128): v128; - /** Computes the pseudo-minimum of each 32-bit float lane. */ - export function pmin(a: v128, b: v128): v128; - /** Computes the pseudo-maximum of each 32-bit float lane. */ - export function pmax(a: v128, b: v128): v128; - /** Computes the absolute value of each 32-bit float lane. */ - export function abs(a: v128): v128; - /** Computes the square root of each 32-bit float lane. */ - export function sqrt(a: v128): v128; - /** Performs the ceiling operation on each 32-bit float lane. */ - export function ceil(a: v128): v128; - /** Performs the floor operation on each each 32-bit float lane. */ - export function floor(a: v128): v128; - /** Rounds to the nearest integer towards zero of each 32-bit float lane. */ - export function trunc(a: v128): v128; - /** Rounds to the nearest integer tied to even of each 32-bit float lane. */ - export function nearest(a: v128): v128; - /** Computes which 32-bit float lanes are equal. */ - export function eq(a: v128, b: v128): v128; - /** Computes which 32-bit float lanes are not equal. */ - export function ne(a: v128, b: v128): v128; - /** Computes which 32-bit float lanes of the first vector are less than those of the second. */ - export function lt(a: v128, b: v128): v128; - /** Computes which 32-bit float lanes of the first vector are less than or equal those of the second. */ - export function le(a: v128, b: v128): v128; - /** Computes which 32-bit float lanes of the first vector are greater than those of the second. */ - export function gt(a: v128, b: v128): v128; - /** Computes which 32-bit float lanes of the first vector are greater than or equal those of the second. */ - export function ge(a: v128, b: v128): v128; - /** Converts each 32-bit signed integer lane of a vector to single-precision floating point. */ - export function convert_i32x4_s(a: v128): v128; - /** Converts each 32-bit unsigned integer lane of a vector to single-precision floating point. */ - export function convert_i32x4_u(a: v128): v128; - /** Demotes each 64-bit float lane of a vector to single-precision. The higher lanes of the result are initialized to zero. */ - export function demote_f64x2_zero(a: v128): v128; - /** Selects 32-bit lanes from either vector according to the specified [0-3] respectively [4-7] lane indexes. */ - export function shuffle(a: v128, b: v128, l0: u8, l1: u8, l2: u8, l3: u8): v128; - /** - * Performs the fused multiply-add operation (\`a * b + c\`) on all 32-bit floating point lanes. - * - * The result is implementation defined, depending on hardware capabilities: - * - Either \`a * b\` is rounded once and the final result rounded again, or - * - The expression is evaluated with higher precision and only rounded once - */ - export function relaxed_madd(a: v128, b: v128, c: v128): v128; - /** - * Performs the fused negative multiply-add operation (\`-(a * b) + c\`) on all 32-bit floating point lanes. - * - * The result is implementation defined, depending on hardware capabilities: - * - Either \`a * b\` is rounded once and the final result rounded again, or - * - The expression is evaluated with higher precision and only rounded once - */ - export function relaxed_nmadd(a: v128, b: v128, c: v128): v128; - /** - * Computes the minimum of each 32-bit floating point lane. - * - * Unlike {@link f32x4.min}, the result is implementation-defined if either value is \`NaN\`, \`-0.0\` or \`+0.0\`, - * depending on hardware capabilities: Either \`a[i]\` or \`b[i]\`. - */ - export function relaxed_min(a: v128, b: v128): v128; - /** - * Computes the maximum of each 32-bit floating point lane. - * - * Unlike {@link f32x4.max}, the result is implementation-defined if either value is \`NaN\`, \`-0.0\` or \`+0.0\`, - * depending on hardware capabilities: Either \`a[i]\` or \`b[i]\`. - */ - export function relaxed_max(a: v128, b: v128): v128; -} -/** Initializes a 128-bit vector from two 64-bit float values. Arguments must be compile-time constants. */ -declare function f64x2(a: f64, b: f64): v128; -declare namespace f64x2 { - /** Creates a vector with two identical 64-bit float lanes. */ - export function splat(x: f64): v128; - /** Extracts one 64-bit float lane as a scalar. */ - export function extract_lane(x: v128, idx: u8): f64; - /** Replaces one 64-bit float lane. */ - export function replace_lane(x: v128, idx: u8, value: f64): v128; - /** Adds each 64-bit float lane. */ - export function add(a: v128, b: v128): v128; - /** Subtracts each 64-bit float lane. */ - export function sub(a: v128, b: v128): v128; - /** Multiplies each 64-bit float lane. */ - export function mul(a: v128, b: v128): v128; - /** Divides each 64-bit float lane. */ - export function div(a: v128, b: v128): v128; - /** Negates each 64-bit float lane. */ - export function neg(a: v128): v128; - /** Computes the minimum of each 64-bit float lane. */ - export function min(a: v128, b: v128): v128; - /** Computes the maximum of each 64-bit float lane. */ - export function max(a: v128, b: v128): v128; - /** Computes the pseudo-minimum of each 64-bit float lane. */ - export function pmin(a: v128, b: v128): v128; - /** Computes the pseudo-maximum of each 64-bit float lane. */ - export function pmax(a: v128, b: v128): v128; - /** Computes the absolute value of each 64-bit float lane. */ - export function abs(a: v128): v128; - /** Computes the square root of each 64-bit float lane. */ - export function sqrt(a: v128): v128; - /** Performs the ceiling operation on each 64-bit float lane. */ - export function ceil(a: v128): v128; - /** Performs the floor operation on each each 64-bit float lane. */ - export function floor(a: v128): v128; - /** Rounds to the nearest integer towards zero of each 64-bit float lane. */ - export function trunc(a: v128): v128; - /** Rounds to the nearest integer tied to even of each 64-bit float lane. */ - export function nearest(a: v128): v128; - /** Computes which 64-bit float lanes are equal. */ - export function eq(a: v128, b: v128): v128; - /** Computes which 64-bit float lanes are not equal. */ - export function ne(a: v128, b: v128): v128; - /** Computes which 64-bit float lanes of the first vector are less than those of the second. */ - export function lt(a: v128, b: v128): v128; - /** Computes which 64-bit float lanes of the first vector are less than or equal those of the second. */ - export function le(a: v128, b: v128): v128; - /** Computes which 64-bit float lanes of the first vector are greater than those of the second. */ - export function gt(a: v128, b: v128): v128; - /** Computes which 64-bit float lanes of the first vector are greater than or equal those of the second. */ - export function ge(a: v128, b: v128): v128; - /** Converts the low 32-bit signed integer lanes of a vector to double-precision floating point. */ - export function convert_low_i32x4_s(a: v128): v128; - /** Converts the low 32-bit unsigned integer lanes of a vector to double-precision floating point. */ - export function convert_low_i32x4_u(a: v128): v128; - /** Promotes the low 32-bit float lanes of a vector to double-precision. */ - export function promote_low_f32x4(a: v128): v128; - /** Selects 64-bit lanes from either vector according to the specified [0-1] respectively [2-3] lane indexes. */ - export function shuffle(a: v128, b: v128, l0: u8, l1: u8): v128; - /** - * Performs the fused multiply-add operation (\`a * b + c\`) on all 64-bit floating point lanes. - * - * The result is implementation defined, depending on hardware capabilities: - * - Either \`a * b\` is rounded once and the final result rounded again, or - * - The expression is evaluated with higher precision and only rounded once - */ - export function relaxed_madd(a: v128, b: v128, c: v128): v128; - /** - * Performs the fused negative multiply-add operation (\`-(a * b) + c\`) on all 64-bit floating point lanes. - * - * The result is implementation defined, depending on hardware capabilities: - * - Either \`a * b\` is rounded once and the final result rounded again, or - * - The expression is evaluated with higher precision and only rounded once - */ - export function relaxed_nmadd(a: v128, b: v128, c: v128): v128; - /** - * Computes the minimum of each 64-bit floating point lane. - * - * Unlike {@link f64x2.min}, the result is implementation-defined if either value is \`NaN\`, \`-0.0\` or \`+0.0\`, - * depending on hardware capabilities: Either \`a[i]\` or \`b[i]\`. - */ - export function relaxed_min(a: v128, b: v128): v128; - /** - * Computes the maximum of each 64-bit floating point lane. - * - * Unlike {@link f64x2.max}, the result is implementation-defined if either value is \`NaN\`, \`-0.0\` or \`+0.0\`, - * depending on hardware capabilities: Either \`a[i]\` or \`b[i]\`. - */ - export function relaxed_max(a: v128, b: v128): v128; -} - -declare abstract class i31 { - /** Creates a new 31-bit integer reference from the specified integer value. */ - static new(value: i32): ref_i31; - /** Gets the integer value of an 31-bit integer reference. */ - static get(i31expr: ref_i31 | null): i32; -} - -/** Macro type evaluating to the underlying native WebAssembly type. */ -declare type native = T; -/** Special type evaluating the indexed access index type. */ -declare type indexof> = keyof T; -/** Special type evaluating the indexed access value type. */ -declare type valueof> = T[0]; -/** A special type evaluated to the return type of T if T is a callable function. */ -declare type ReturnType any> = T extends (...args: any) => infer R ? R : any; -/** A special type evaluated to the return type of T if T is a callable function. */ -declare type returnof any> = ReturnType; -/** A special type that excludes null and undefined from T. */ -declare type NonNullable = T extends null | undefined ? never : T; -/** A special type that excludes null and undefined from T. */ -declare type nonnull = NonNullable; - -/** Pseudo-class representing the backing class of integer types. */ -/** @internal */ -declare class _Integer { - /** Smallest representable value. */ - static readonly MIN_VALUE: number; - /** Largest representable value. */ - static readonly MAX_VALUE: number; - /** @deprecated Converts a string to an integer of this type. Please use "i32.parse" method. */ - static parseInt(value: string, radix?: number): number; - /** Converts this integer to a string. */ - toString(radix?: number): string; -} - -/** Pseudo-class representing the backing class of floating-point types. */ -/** @internal */ -declare class _Float { - /** Difference between 1 and the smallest representable value greater than 1. */ - static readonly EPSILON: f32 | f64; - /** Smallest representable value. */ - static readonly MIN_VALUE: f32 | f64; - /** Largest representable value. */ - static readonly MAX_VALUE: f32 | f64; - /** Smallest safely representable integer value. */ - static readonly MIN_SAFE_INTEGER: f32 | f64; - /** Largest safely representable integer value. */ - static readonly MAX_SAFE_INTEGER: f32 | f64; - /** Value representing positive infinity. */ - static readonly POSITIVE_INFINITY: f32 | f64; - /** Value representing negative infinity. */ - static readonly NEGATIVE_INFINITY: f32 | f64; - /** Value representing 'not a number'. */ - static readonly NaN: f32 | f64; - /** Returns a boolean value that indicates whether a value is the reserved value NaN (not a number). */ - static isNaN(value: f32 | f64): bool; - /** Returns true if passed value is finite. */ - static isFinite(value: f32 | f64): bool; - /** Returns true if the value passed is a safe integer. */ - static isSafeInteger(value: f32 | f64): bool; - /** Returns true if the value passed is an integer, false otherwise. */ - static isInteger(value: f32 | f64): bool; - /** @deprecated Converts a string to an integer. Please use "i32.parse" / "i64.parse" methods. */ - static parseInt(value: string, radix?: i32): f32 | f64; - /** @deprecated Converts a string to a floating-point number. Please use "f32.parse" / "f64.parse" methods. */ - static parseFloat(value: string): f32 | f64; - /** Converts this floating-point number to a string. */ - toString(radix?: number): string; -} - -declare class Boolean { - toString(radix?: number): string; -} - -/** Backing class of signed 8-bit integers. */ -declare const I8: typeof _Integer; -/** Backing class of signed 16-bit integers. */ -declare const I16: typeof _Integer; -/** Backing class of signed 32-bit integers. */ -declare const I32: typeof _Integer; -/** Backing class of signed 64-bit integers. */ -declare const I64: typeof _Integer; -/** Backing class of signed size integers. */ -declare const Isize: typeof _Integer; -/** Backing class of unsigned 8-bit integers. */ -declare const U8: typeof _Integer; -/** Backing class of unsigned 16-bit integers. */ -declare const U16: typeof _Integer; -/** Backing class of unsigned 32-bit integers. */ -declare const U32: typeof _Integer; -/** Backing class of unsigned 64-bit integers. */ -declare const U64: typeof _Integer; -/** Backing class of unsigned size integers. */ -declare const Usize: typeof _Integer; -/** Backing class of 32-bit floating-point values. */ -declare const F32: typeof _Float; -/** Backing class of 64-bit floating-point values. */ -declare const F64: typeof _Float; -/** Alias of F64. */ -declare const Number: typeof F64; -declare type Number = _Float; - -// User-defined diagnostic macros - -/** Emits a user-defined diagnostic error when encountered. */ -declare function ERROR(message?: any): never; -/** Emits a user-defined diagnostic warning when encountered. */ -declare function WARNING(message?: any): void; -/** Emits a user-defined diagnostic info when encountered. */ -declare function INFO(message?: any): void; - -// Standard library - -/** Memory operations. */ -declare namespace memory { - /** Whether the memory managed interface is implemented. */ - export const implemented: bool; - /** Returns the current memory size in units of pages. One page is 64kb. */ - export function size(): i32; - /** Grows linear memory by a given unsigned delta of pages. One page is 64kb. Returns the previous memory size in units of pages or \`-1\` on failure. */ - export function grow(value: i32): i32; - /** Sets n bytes beginning at the specified destination in memory to the specified byte value. */ - export function fill(dst: usize, value: u8, count: usize): void; - /** Copies n bytes from the specified source to the specified destination in memory. These regions may overlap. */ - export function copy(dst: usize, src: usize, n: usize): void; - /** Repeats \`src\` of length \`srcLength\` \`count\` times at \`dst\`. */ - export function repeat(dst: usize, src: usize, srcLength: usize, count: usize): void; - /** Copies elements from a passive element segment to a table. */ - export function init(segmentIndex: u32, srcOffset: usize, dstOffset: usize, n: usize): void; - /** Prevents further use of a passive element segment. */ - export function drop(segmentIndex: u32): void; - /** Compares two chunks of memory. Returns \`0\` if equal, otherwise the difference of the first differing bytes. */ - export function compare(vl: usize, vr: usize, n: usize): i32; - /** Gets a pointer to a zeroed static chunk of memory of the given size. Alignment defaults to \`16\`. Arguments must be compile-time constants. */ - export function data(size: i32, align?: i32): usize; - /** Gets a pointer to a pre-initialized static chunk of memory. Alignment defaults to the size of \`T\`. Arguments must be compile-time constants. */ - export function data(values: T[], align?: i32): usize; - - export namespace atomic { - /** Performs a wait operation on a 32-bit integer value in memory suspending this agent if the condition is met. */ - export function wait32(ptr: usize, expected: i32, timeout?: i64): AtomicWaitResult; - /** Performs a wait operation on a 64-bit integer value in memory suspending this agent if the condition is met. */ - export function wait64(ptr: usize, expected: i64, timeout?: i64): AtomicWaitResult; - } -} - -/** Heap memory interface. */ -declare namespace heap { - /** Allocates a chunk of memory of at least the specified size. */ - export function alloc(size: usize): usize; - /** Reallocates a chunk of memory to have at least the specified size. */ - export function realloc(ptr: usize, size: usize): usize; - /** Frees a chunk of memory. Does hardly anything (most recent block only) with the stub/none runtime. */ - export function free(ptr: usize): void; -} - -/** Table operations. */ -declare namespace table { - /** Copies elements from a passive element segment to a table. */ - export function init(elementIndex: u32, srcOffset: u32, dstOffset: u32, n: u32): void; - /** Prevents further use of a passive element segment. */ - export function drop(elementIndex: u32): void; - /** Copies elements from one region of a table to another region. */ - export function copy(dest: u32, src: u32, n: u32): void; -} - -declare namespace Atomics { - export function load(array: TypedArray, index: i32): T; - export function store(array: TypedArray, index: i32, value: T): void; - export function add(array: TypedArray, index: i32, value: T): T; - export function sub(array: TypedArray, index: i32, value: T): T; - export function and(array: TypedArray, index: i32, value: T): T; - export function or(array: TypedArray, index: i32, value: T): T; - export function xor(array: TypedArray, index: i32, value: T): T; - export function exchange(array: TypedArray, index: i32, value: T): T; - export function compareExchange(array: TypedArray, index: i32, expectedValue: T, replacementValue: T): T; - export function wait(array: TypedArray, value: T, timeout?: i64): AtomicWaitResult; - export function notify(array: TypedArray, index: i32, count?: i32): i32; - /** The static Atomics.isLockFree() method is used to determine whether to use locks or atomic operations. It returns true, if the given size is one of the BYTES_PER_ELEMENT */ - export function isLockFree(size: usize): bool; -} - -/** Class representing a generic, fixed-length raw binary data buffer. */ -declare class ArrayBuffer { - /** The size, in bytes, of the array. */ - readonly byteLength: i32; - /** Returns true if value is one of the ArrayBuffer views, such as typed array or a DataView **/ - static isView(value: T): bool; - /** Constructs a new array buffer of the given length in bytes. */ - constructor(length: i32); - /** Returns a copy of this array buffer's bytes from begin, inclusive, up to end, exclusive. */ - slice(begin?: i32, end?: i32): ArrayBuffer; - /** Returns a string representation of ArrayBuffer. */ - toString(): string; -} - -/** The \`DataView\` view provides a low-level interface for reading and writing multiple number types in a binary \`ArrayBuffer\`, without having to care about the platform's endianness. */ -declare class DataView { - /** The \`buffer\` accessor property represents the \`ArrayBuffer\` or \`SharedArrayBuffer\` referenced by the \`DataView\` at construction time. */ - readonly buffer: ArrayBuffer; - /** Returns raw pointer to data storage including offset (unsafe). */ - readonly dataStart: usize; - /** The \`byteLength\` accessor property represents the length (in bytes) of this view from the start of its \`ArrayBuffer\` or \`SharedArrayBuffer\`. */ - readonly byteLength: i32; - /** The \`byteOffset\` accessor property represents the offset (in bytes) of this view from the start of its \`ArrayBuffer\` or \`SharedArrayBuffer\`. */ - readonly byteOffset: i32; - /** Constructs a new \`DataView\` with the given properties */ - constructor(buffer: ArrayBuffer, byteOffset?: i32, byteLength?: i32); - /** The \`getFloat32()\` method gets a signed 32-bit float (float) at the specified byte offset from the start of the \`DataView\`. */ - getFloat32(byteOffset: i32, littleEndian?: bool): f32; - /** The \`getFloat64()\` method gets a signed 64-bit float (double) at the specified byte offset from the start of the \`DataView\`. */ - getFloat64(byteOffset: i32, littleEndian?: bool): f64; - /** The \`getInt8()\` method gets a signed 8-bit integer (byte) at the specified byte offset from the start of the \`DataView\`. */ - getInt8(byteOffset: i32): i8; - /** The \`getInt16()\` method gets a signed 16-bit integer (short) at the specified byte offset from the start of the \`DataView\`. */ - getInt16(byteOffset: i32, littleEndian?: bool): i16; - /** The \`getInt32()\` method gets a signed 32-bit integer (long) at the specified byte offset from the start of the \`DataView\`. */ - getInt32(byteOffset: i32, littleEndian?: bool): i32; - /** The \`getInt64()\` method gets a signed 64-bit integer (long long) at the specified byte offset from the start of the \`DataView\`. */ - getInt64(byteOffset: i32, littleEndian?: bool): i64; - /** The \`getUint8()\` method gets an unsigned 8-bit integer (unsigned byte) at the specified byte offset from the start of the \`DataView\`. */ - getUint8(byteOffset: i32): u8; - /** The \`getUint16()\` method gets an unsigned 16-bit integer (unsigned short) at the specified byte offset from the start of the \`DataView\`. */ - getUint16(byteOffset: i32, littleEndian?: bool): u16; - /** The \`getUint32()\` method gets an unsigned 32-bit integer (unsigned long) at the specified byte offset from the start of the \`DataView\`. */ - getUint32(byteOffset: i32, littleEndian?: bool): u32; - /** The \`getUint64()\` method gets an unsigned 64-bit integer (unsigned long long) at the specified byte offset from the start of the \`DataView\`. */ - getUint64(byteOffset: i32, littleEndian?: bool): u64; - /** The \`setFloat32()\` method stores a signed 32-bit float (float) value at the specified byte offset from the start of the \`DataView\`. */ - setFloat32(byteOffset: i32, value: f32, littleEndian?: bool): void; - /** The \`setFloat64()\` method stores a signed 64-bit float (double) value at the specified byte offset from the start of the \`DataView\`. */ - setFloat64(byteOffset: i32, value: f64, littleEndian?: bool): void; - /** The \`setInt8()\` method stores a signed 8-bit integer (byte) value at the specified byte offset from the start of the \`DataView\`. */ - setInt8(byteOffset: i32, value: i8): void; - /** The \`setInt16()\` method stores a signed 16-bit integer (short) value at the specified byte offset from the start of the \`DataView\`. */ - setInt16(byteOffset: i32, value: i16, littleEndian?: bool): void; - /** The \`setInt32()\` method stores a signed 32-bit integer (long) value at the specified byte offset from the start of the \`DataView\`. */ - setInt32(byteOffset: i32, value: i32, littleEndian?: bool): void; - /** The \`setInt64()\` method stores a signed 64-bit integer (long long) value at the specified byte offset from the start of the \`DataView\`. */ - setInt64(byteOffset: i32, value: i64, littleEndian?: bool): void; - /** The \`setUint8()\` method stores an unsigned 8-bit integer (byte) value at the specified byte offset from the start of the \`DataView\`. */ - setUint8(byteOffset: i32, value: u8): void; - /** The \`setUint16()\` method stores an unsigned 16-bit integer (unsigned short) value at the specified byte offset from the start of the \`DataView\`. */ - setUint16(byteOffset: i32, value: u16, littleEndian?: bool): void; - /** The \`setUint32()\` method stores an unsigned 32-bit integer (unsigned long) value at the specified byte offset from the start of the \`DataView\`. */ - setUint32(byteOffset: i32, value: u32, littleEndian?: bool): void; - /** The \`setUint64()\` method stores an unsigned 64-bit integer (unsigned long long) value at the specified byte offset from the start of the \`DataView\`. */ - setUint64(byteOffset: i32, value: u64, littleEndian?: bool): void; - /** Returns a string representation of DataView. */ - toString(): string; -} - -interface ArrayLike { - [key: number]: T; - length: i32; -} - -/** Interface for a typed view on an array buffer. */ -interface ArrayBufferView { - /** The {@link ArrayBuffer} referenced by this view. */ - readonly buffer: ArrayBuffer; - /** The offset in bytes from the start of the referenced {@link ArrayBuffer}. */ - readonly byteOffset: i32; - /** The length in bytes from the start of the referenced {@link ArrayBuffer}. */ - readonly byteLength: i32; - /** Returns raw pointer to data storage including offset (unsafe). */ - readonly dataStart: usize; -} - -/** @internal */ -declare abstract class TypedArray implements ArrayBufferView { - [key: number]: T; - /** Number of bytes per element. */ - static readonly BYTES_PER_ELEMENT: usize; - /** Constructs a new typed array. */ - constructor(length: i32); - /** The {@link ArrayBuffer} referenced by this view. */ - readonly buffer: ArrayBuffer; - /** The offset in bytes from the start of the referenced {@link ArrayBuffer}. */ - readonly byteOffset: i32; - /** The length in bytes from the start of the referenced {@link ArrayBuffer}. */ - readonly byteLength: i32; - /** Returns raw pointer to data storage including offset (unsafe). */ - readonly dataStart: usize; - /** The length (in elements). */ - readonly length: i32; - /** Returns value using relative indexing. Index may be negative */ - at(index: i32): T; - /** The includes() method determines whether a typed array includes a certain element, returning true or false as appropriate. */ - includes(searchElement: T, fromIndex?: i32): bool; - /** The indexOf() method returns the first index at which a given element can be found in the typed array, or -1 if it is not present. */ - indexOf(searchElement: T, fromIndex?: i32): i32; - /** The lastIndexOf() method returns the last index at which a given element can be found in the typed array, or -1 if it is not present. The typed array is searched backwards, starting at fromIndex. */ - lastIndexOf(searchElement: T, fromIndex?: i32): i32; - /** Returns copied section of an TypedArray from begin inclusive to end exclusive */ - slice(begin?: i32, end?: i32): TypedArray; - /** Returns a new TypedArray of this type on the same ArrayBuffer from begin inclusive to end exclusive. */ - subarray(begin?: i32, end?: i32): TypedArray; - /** The copyWithin() method copies the sequence of array elements within the array to the position starting at target. The copy is taken from the index positions of the second and third arguments start and end. The end argument is optional and defaults to the length of the array. */ - copyWithin(target: i32, start: i32, end?: i32): this; - /** The reduce() method applies a function against an accumulator and each value of the typed array (from left-to-right) has to reduce it to a single value. This method has the same algorithm as Array.prototype.reduce(). */ - reduce(callbackfn: (accumulator: U, value: T, index: i32, self: this) => U, initialValue: U): U; - /** The reduceRight() method applies a function against an accumulator and each value of the typed array (from left-to-right) has to reduce it to a single value, starting from the end of the array. This method has the same algorithm as Array.prototype.reduceRight(). */ - reduceRight(callbackfn: (accumulator: U, value: T, index: i32, self: this) => U, initialValue: U): U; - /** The some() method tests whether some element in the typed array passes the test implemented by the provided function. This method has the same algorithm as Array.prototype.some().*/ - some(callbackfn: (value: T, index: i32, self: this) => bool): bool; - /** The map() method creates a new typed array with the results of calling a provided function on every element in this typed array. This method has the same algorithm as Array.prototype.map().*/ - map(callbackfn: (value: T, index: i32, self: this) => T): TypedArray; - /** The filter() method creates a new typed array with all elements that pass the test implemented by the provided function. This method has the same algorithm as Array.prototype.filter(). */ - filter(callbackfn: (value: T, index: i32, self: this) => bool): TypedArray; - /** The sort() method sorts the elements of a typed array numerically in place and returns the typed array. This method has the same algorithm as Array.prototype.sort(), except that sorts the values numerically instead of as strings. TypedArray is one of the typed array types here. */ - sort(callback?: (a: T, b: T) => i32): this; - /** The fill() method fills all the elements of a typed array from a start index to an end index with a static value. This method has the same algorithm as Array.prototype.fill(). */ - fill(value: T, start?: i32, end?: i32): this; - /** The findIndex() method returns an index in the typed array, if an element in the typed array satisfies the provided testing function. Otherwise -1 is returned. See also the find() [not implemented] method, which returns the value of a found element in the typed array instead of its index. */ - findIndex(callbackfn: (value: T, index: i32, self: this) => bool): i32; - /** The findLastIndex() method returns an index start searching from the end in the typed array, if an element in the typed array satisfies the provided testing function. Otherwise -1 is returned. See also the find() [not implemented] method, which returns the value of a found element in the typed array instead of its index. */ - findLastIndex(callbackfn: (value: T, index: i32, self: this) => bool): i32; - /** The every() method tests whether all elements in the typed array pass the test implemented by the provided function. This method has the same algorithm as Array.prototype.every(). */ - every(callbackfn: (value: T, index: i32, self: this) => bool): bool; - /** The forEach() method executes a provided function once per array element. This method has the same algorithm as Array.prototype.forEach().*/ - forEach(callbackfn: (value: T, index: i32, self: this) => void): void; - /** The reverse() method reverses a typed array in place. The first typed array element becomes the last and the last becomes the first. This method has the same algorithm as Array.prototype.reverse(). */ - reverse(): this; - /** The join() method joins all elements of an array into a string. This method has the same algorithm as Array.prototype.join(). */ - join(separator?: string): string; - /** The set() method stores multiple values in the typed array, reading input values from a specified array. */ - set>(source: U, offset?: i32): void - /** The toString() method returns a string representing the specified array and its elements. This method has the same algorithm as Array.prototype.toString() */ - toString(): string; -} - -/** An array of twos-complement 8-bit signed integers. */ -declare class Int8Array extends TypedArray { - /** Wrap an ArrayBuffer */ - static wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Int8Array; -} -/** An array of 8-bit unsigned integers. */ -declare class Uint8Array extends TypedArray { - /** Wrap an ArrayBuffer */ - static wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Uint8Array; -} -/** A clamped array of 8-bit unsigned integers. */ -declare class Uint8ClampedArray extends TypedArray { - /** Wrap an ArrayBuffer */ - static wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Uint8ClampedArray; -} -/** An array of twos-complement 16-bit signed integers. */ -declare class Int16Array extends TypedArray { - /** Wrap an ArrayBuffer */ - static wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Int16Array; -} -/** An array of 16-bit unsigned integers. */ -declare class Uint16Array extends TypedArray { - /** Wrap an ArrayBuffer */ - static wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Uint16Array; -} -/** An array of twos-complement 32-bit signed integers. */ -declare class Int32Array extends TypedArray { - /** Wrap an ArrayBuffer */ - static wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Int32Array; -} -/** An array of 32-bit unsigned integers. */ -declare class Uint32Array extends TypedArray { - /** Wrap an ArrayBuffer */ - static wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Uint32Array; -} -/** An array of twos-complement 64-bit signed integers. */ -declare class Int64Array extends TypedArray { - /** Wrap an ArrayBuffer */ - static wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Int64Array; -} -/** An array of 64-bit unsigned integers. */ -declare class Uint64Array extends TypedArray { - /** Wrap an ArrayBuffer */ - static wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Uint64Array; -} -/** An array of 32-bit floating point numbers. */ -declare class Float32Array extends TypedArray { - /** Wrap an ArrayBuffer */ - static wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Float32Array; -} -/** An array of 64-bit floating point numbers. */ -declare class Float64Array extends TypedArray { - /** Wrap an ArrayBuffer */ - static wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Float64Array; -} - -/** Class representing a sequence of values of type \`T\`. */ -declare class Array { - - /** Tests if a value is an array. */ - static isArray(value: any): value is Array; - - [key: number]: T; - /** Current length of the array. */ - length: i32; - /** Returns raw pointer to data storage (unsafe). */ - readonly dataStart: usize; - /** Constructs a new array. */ - constructor(length?: i32); - at(index: i32): T; - fill(value: T, start?: i32, end?: i32): this; - findIndex(callbackfn: (value: T, index: i32, array: Array) => bool): i32; - findLastIndex(callbackfn: (value: T, index: i32, array: Array) => bool): i32; - includes(searchElement: T, fromIndex?: i32): bool; - indexOf(searchElement: T, fromIndex?: i32): i32; - lastIndexOf(searchElement: T, fromIndex?: i32): i32; - push(element: T): i32; - concat(items: T[]): T[]; - copyWithin(target: i32, start: i32, end?: i32): this; - pop(): T; - forEach(callbackfn: (value: T, index: i32, array: Array) => void): void; - map(callbackfn: (value: T, index: i32, array: Array) => U): Array; - filter(callbackfn: (value: T, index: i32, array: Array) => bool): Array; - reduce(callbackfn: (previousValue: U, currentValue: T, currentIndex: i32, array: Array) => U, initialValue: U): U; - reduceRight(callbackfn: (previousValue: U, currentValue: T, currentIndex: i32, array: Array) => U, initialValue: U): U; - every(callbackfn: (value: T, index: i32, array: Array) => bool): bool; - some(callbackfn: (value: T, index: i32, array: Array) => bool): bool; - shift(): T; - unshift(element: T): i32; - slice(from?: i32, to?: i32): Array; - splice(start: i32, deleteCount?: i32): Array; - sort(comparator?: (a: T, b: T) => i32): this; - join(separator?: string): string; - reverse(): this; - /** Flattens an array of arrays. If any null entries exist in the array, they are ignored, unlike JavaScript's version of Array#flat(). */ - flat(): T extends unknown[] ? T : never; - toString(): string; -} - -/** Class representing a static (not resizable) sequence of values of type \`T\`. This class is @final. */ -declare class StaticArray { - [key: number]: T; - static fromArray(source: Array): StaticArray; - /** @deprecated */ - static concat(source: StaticArray, other: StaticArray): StaticArray; - /** @deprecated */ - static slice(source: StaticArray, start?: i32, end?: i32): StaticArray; - readonly length: i32; - constructor(length?: i32); - at(index: i32): T; - fill(value: T, start?: i32, end?: i32): this; - findIndex(callbackfn: (value: T, index: i32, array: StaticArray) => bool): i32; - findLastIndex(callbackfn: (value: T, index: i32, array: StaticArray) => bool): i32; - copyWithin(target: i32, start: i32, end?: i32): this; - includes(searchElement: T, fromIndex?: i32): bool; - indexOf(searchElement: T, fromIndex?: i32): i32; - lastIndexOf(searchElement: T, fromIndex?: i32): i32; - forEach(callbackfn: (value: T, index: i32, array: StaticArray) => void): void; - map(callbackfn: (value: T, index: i32, array: StaticArray) => U): Array; - filter(callbackfn: (value: T, index: i32, array: StaticArray) => bool): Array; - reduce(callbackfn: (previousValue: U, currentValue: T, currentIndex: i32, array: StaticArray) => U, initialValue: U): U; - reduceRight(callbackfn: (previousValue: U, currentValue: T, currentIndex: i32, array: StaticArray) => U, initialValue: U): U; - every(callbackfn: (value: T, index: i32, array: StaticArray) => bool): bool; - some(callbackfn: (value: T, index: i32, array: StaticArray) => bool): bool; - concat(items: Array): Array; - concat>(other: U): U; - slice(from?: i32, to?: i32): Array; - slice>(from?: i32, to?: i32): U; - sort(comparator?: (a: T, b: T) => i32): this; - join(separator?: string): string; - reverse(): this; - toString(): string; -} - -/** Class representing a sequence of characters. */ -declare class String { - static fromCharCode(ls: i32, hs?: i32): string; - static fromCharCodes(arr: i32[]): string; - static fromCodePoint(code: i32): string; - static fromCodePoints(arr: i32[]): string; - static raw(parts: TemplateStringsArray, ...args: any[]): string; - readonly length: i32; - at(index: i32): string; - charAt(index: i32): string; - charCodeAt(index: i32): i32; - codePointAt(index: i32): i32; - concat(other: string): string; - endsWith(other: string): bool; - indexOf(other: string, fromIndex?: i32): i32; - lastIndexOf(other: string, fromIndex?: i32): i32; - localeCompare(other: string): i32; - includes(other: string): bool; - startsWith(other: string): bool; - substr(start: i32, length?: i32): string; - substring(start: i32, end?: i32): string; - trim(): string; - trimLeft(): string; - trimRight(): string; - trimStart(): string; - trimEnd(): string; - padStart(targetLength: i32, padString?: string): string; - padEnd(targetLength: i32, padString?: string): string; - repeat(count?: i32): string; - replace(search: string, replacement: string): string; - replaceAll(search: string, replacement: string): string; - slice(beginIndex: i32, endIndex?: i32): string; - split(separator?: string, limit?: i32): string[]; - toLowerCase(): string; - toUpperCase(): string; - toString(): string; -} - -declare namespace String { - /** Encoding helpers for UTF-8. */ - export namespace UTF8 { - /** UTF-8 encoding error modes. */ - export const enum ErrorMode { - /** Keeps unpaired surrogates as of WTF-8. This is the default. */ - WTF8, - /** Replaces unpaired surrogates with the replacement character (U+FFFD). */ - REPLACE, - /** Throws an error on unpaired surrogates. */ - ERROR - } - /** Calculates the byte length of the specified string when encoded as UTF-8, optionally null terminated. */ - export function byteLength(str: string, nullTerminated?: bool): i32; - /** Encodes the specified string to UTF-8 bytes, optionally null terminated. ErrorMode defaults to WTF-8. */ - export function encode(str: string, nullTerminated?: bool, errorMode?: ErrorMode): ArrayBuffer; - /** Encodes the specified raw string to UTF-8 bytes, opionally null terminated. ErrorMode defaults to WTF-8. Returns the number of bytes written. */ - export function encodeUnsafe(str: usize, len: i32, buf: usize, nullTerminated?: bool, errorMode?: ErrorMode): usize; - /** Decodes the specified buffer from UTF-8 bytes to a string, optionally null terminated. */ - export function decode(buf: ArrayBuffer, nullTerminated?: bool): string; - /** Decodes raw UTF-8 bytes to a string, optionally null terminated. */ - export function decodeUnsafe(buf: usize, len: usize, nullTerminated?: bool): string; - } - /** Encoding helpers for UTF-16. */ - export namespace UTF16 { - /** Calculates the byte length of the specified string when encoded as UTF-16. */ - export function byteLength(str: string): i32; - /** Encodes the specified string to UTF-16 bytes. */ - export function encode(str: string): ArrayBuffer; - /** Encodes the specified raw string to UTF-16 bytes. Returns the number of bytes written. */ - export function encodeUnsafe(str: usize, len: i32, buf: usize): usize; - /** Decodes the specified buffer from UTF-16 bytes to a string. */ - export function decode(buf: ArrayBuffer): string; - /** Decodes raw UTF-16 bytes to a string. */ - export function decodeUnsafe(buf: usize, len: usize): string; - } -} - -declare class TemplateStringsArray extends Array { - readonly raw: string[]; -} - -declare class Object { - /** The Object.is() method determines whether two values are the same value. */ - static is(value1: T, value2: T): bool; -} - -declare namespace performance { - /** Gets a high resolution timestamp measured in milliseconds. */ - export function now(): f64; -} - -declare class Date { - /** Returns the UTC timestamp in milliseconds of the specified date. */ - static UTC( - year: i32, - month: i32, - day: i32, - hour: i32, - minute: i32, - second: i32, - millisecond: i32 - ): i64; - /** Returns the current UTC timestamp in milliseconds. */ - static now(): i64; - /** Parses a string representation of a date, and returns the number of milliseconds since January 1, 1970, 00:00:00 UTC. */ - static parse(dateString: string): Date; - static fromString(dateString: string): Date; - /** Constructs a new date object from an UTC timestamp in milliseconds. */ - constructor(value: i64); - /** Returns the UTC timestamp of this date in milliseconds. */ - getTime(): i64; - /** Sets the UTC timestamp of this date in milliseconds. */ - setTime(value: i64): i64; - - getUTCFullYear(): i32; - getUTCMonth(): i32; - getUTCDate(): i32; - getUTCDay(): i32; - getUTCHours(): i32; - getUTCMinutes(): i32; - getUTCSeconds(): i32; - getUTCMilliseconds(): i32; - - setUTCFullYear(value: i32): void; - setUTCMonth(value: i32, day?: i32): void; - setUTCDate(value: i32): void; - setUTCHours(value: i32): void; - setUTCMinutes(value: i32): void; - setUTCSeconds(value: i32): void; - setUTCMilliseconds(value: i32): void; - - toString(): string; - toISOString(): string; - toUTCString(): string; - toDateString(): string; - toTimeString(): string; -} - -/** Class for representing a runtime error. Base class of all errors. */ -declare class Error { - - /** Error name. */ - name: string; - - /** Message provided on construction. */ - message: string; - - /** Stack trace. */ - stack?: string; - - /** Constructs a new error, optionally with a message. */ - constructor(message?: string); - - /** Method returns a string representing the specified Error class. */ - toString(): string; -} - -/** Class for indicating an error when a value is not in the set or range of allowed values. */ -declare class RangeError extends Error { } - -/** Class for indicating an error when a value is not of the expected type. */ -declare class TypeError extends Error { } - -/** Class for indicating an error when trying to interpret syntactically invalid code. */ -declare class SyntaxError extends Error { } - -/** Class for indicating an error when a global URI handling function was used in a wrong way. */ -declare class URIError extends Error { } - -interface Function { - /** Function table index. */ - readonly index: u32; - /** Function name. Always an empty string. */ - readonly name: string; - /** Number of expected parameters. */ - readonly length: u32; - /** Calls this function indirectly with the specified arguments. */ - call(thisArg: unknown, ...args: unknown[]): any; - /** Returns a string representation of this function. */ - toString(): string; -} - -/** - * Extracts the type of the 'this' parameter of a function type, or 'unknown' if the function type has no 'this' parameter. - */ -type ThisParameterType = T extends (this: infer U, ...args: never) => any ? U : unknown; - -/** - * Removes the 'this' parameter from a function type. - */ -type OmitThisParameter = unknown extends ThisParameterType ? T : T extends (...args: infer A) => infer R ? (...args: A) => R : T; - -interface CallableFunction extends Function { - /** - * Calls the function with the specified object as the this value and the elements of specified array as the arguments. - * @param thisArg The object to be used as the this object. - */ - apply(this: (this: T) => R, thisArg: T): R; - - /** - * Calls the function with the specified object as the this value and the elements of specified array as the arguments. - * @param thisArg The object to be used as the this object. - * @param args An array of argument values to be passed to the function. - */ - apply(this: (this: T, ...args: A) => R, thisArg: T, args: A): R; - - /** - * Calls the function with the specified object as the this value and the specified rest arguments as the arguments. - * @param thisArg The object to be used as the this object. - * @param args Argument values to be passed to the function. - */ - call(this: (this: T, ...args: A) => R, thisArg: T, ...args: A): R; - - /** - * For a given function, creates a bound function that has the same body as the original function. - * The this object of the bound function is associated with the specified object, and has the specified initial parameters. - * @param thisArg The object to be used as the this object. - */ - bind(this: T, thisArg: ThisParameterType): OmitThisParameter; - - /** - * For a given function, creates a bound function that has the same body as the original function. - * The this object of the bound function is associated with the specified object, and has the specified initial parameters. - * @param thisArg The object to be used as the this object. - * @param args Arguments to bind to the parameters of the function. - */ - bind(this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; -} - -interface NewableFunction extends Function { - /** - * Calls the function with the specified object as the this value and the elements of specified array as the arguments. - * @param thisArg The object to be used as the this object. - */ - apply(this: new () => T, thisArg: T): void; - /** - * Calls the function with the specified object as the this value and the elements of specified array as the arguments. - * @param thisArg The object to be used as the this object. - * @param args An array of argument values to be passed to the function. - */ - apply(this: new (...args: A) => T, thisArg: T, args: A): void; - - /** - * Calls the function with the specified object as the this value and the specified rest arguments as the arguments. - * @param thisArg The object to be used as the this object. - * @param args Argument values to be passed to the function. - */ - call(this: new (...args: A) => T, thisArg: T, ...args: A): void; - - /** - * For a given function, creates a bound function that has the same body as the original function. - * The this object of the bound function is associated with the specified object, and has the specified initial parameters. - * @param thisArg The object to be used as the this object. - */ - bind(this: T, thisArg: any): T; - - /** - * For a given function, creates a bound function that has the same body as the original function. - * The this object of the bound function is associated with the specified object, and has the specified initial parameters. - * @param thisArg The object to be used as the this object. - * @param args Arguments to bind to the parameters of the function. - */ - bind(this: new (...args: [...A, ...B]) => R, thisArg: any, ...args: A): new (...args: B) => R; -} - -interface IArguments {} -interface RegExp {} - -declare class Map { - readonly size: i32; - has(key: K): bool; - set(key: K, value: V): this; - get(key: K): V; - delete(key: K): bool; - clear(): void; - keys(): K[]; // preliminary - values(): V[]; // preliminary - toString(): string; -} - -declare class Set { - readonly size: i32; - has(value: K): bool; - add(value: K): this; - delete(value: K): bool; - clear(): void; - values(): K[]; // preliminary - toString(): string; -} - -interface SymbolConstructor { - readonly hasInstance: symbol; - readonly isConcatSpreadable: symbol; - readonly isRegExp: symbol; - readonly iterator: symbol; - readonly match: symbol; - readonly replace: symbol; - readonly search: symbol; - readonly species: symbol; - readonly split: symbol; - readonly toPrimitive: symbol; - readonly toStringTag: symbol; - readonly unscopables: symbol; - (description?: string | null): symbol; - for(key: string): symbol; - keyFor(sym: symbol): string | null; -} - -declare const Symbol: SymbolConstructor; - -/** @internal */ -interface IMath { - /** The base of natural logarithms, e, approximately 2.718. */ - readonly E: T; - /** The natural logarithm of 2, approximately 0.693. */ - readonly LN2: T; - /** The natural logarithm of 10, approximately 2.302. */ - readonly LN10: T; - /** The base 2 logarithm of e, approximately 1.442. */ - readonly LOG2E: T; - /** The base 10 logarithm of e, approximately 0.434. */ - readonly LOG10E: T; - /** The ratio of the circumference of a circle to its diameter, approximately 3.14159. */ - readonly PI: T; - /** The square root of 1/2, approximately 0.707. */ - readonly SQRT1_2: T; - /** The square root of 2, approximately 1.414. */ - readonly SQRT2: T; - /** Returns the absolute value of \`x\`. */ - abs(x: T): T; - /** Returns the arccosine (in radians) of \`x\`. */ - acos(x: T): T; - /** Returns the hyperbolic arc-cosine of \`x\`. */ - acosh(x: T): T; - /** Returns the arcsine (in radians) of \`x\`. */ - asin(x: T): T; - /** Returns the hyperbolic arcsine of \`x\`. */ - asinh(x: T): T; - /** Returns the arctangent (in radians) of \`x\`. */ - atan(x: T): T; - /** Returns the arctangent of the quotient of its arguments. */ - atan2(y: T, x: T): T; - /** Returns the hyperbolic arctangent of \`x\`. */ - atanh(x: T): T; - /** Returns the cube root of \`x\`. */ - cbrt(x: T): T; - /** Returns the smallest integer greater than or equal to \`x\`. */ - ceil(x: T): T; - /** Returns the number of leading zero bits in the 32-bit binary representation of \`x\`. */ - clz32(x: T): T; - /** Returns the cosine (in radians) of \`x\`. */ - cos(x: T): T; - /** Returns the hyperbolic cosine of \`x\`. */ - cosh(x: T): T; - /** Returns e to the power of \`x\`. */ - exp(x: T): T; - /** Returns e to the power of \`x\`, minus 1. */ - expm1(x: T): T; - /** Returns the largest integer less than or equal to \`x\`. */ - floor(x: T): T; - /** Returns the nearest 32-bit single precision float representation of \`x\`. */ - fround(x: T): T; - /** Returns the square root of the sum of squares of its arguments. */ - hypot(value1: T, value2: T): T; // TODO: rest - /** Returns the result of the C-like 32-bit multiplication of \`a\` and \`b\`. */ - imul(a: T, b: T): T; - /** Returns the natural logarithm (base e) of \`x\`. */ - log(x: T): T; - /** Returns the base 10 logarithm of \`x\`. */ - log10(x: T): T; - /** Returns the natural logarithm (base e) of 1 + \`x\`. */ - log1p(x: T): T; - /** Returns the base 2 logarithm of \`x\`. */ - log2(x: T): T; - /** Returns the largest-valued number of its arguments. */ - max(value1: T, value2: T): T; // TODO: rest - /** Returns the lowest-valued number of its arguments. */ - min(value1: T, value2: T): T; // TODO: rest - /** Returns \`base\` to the power of \`exponent\`. */ - pow(base: T, exponent: T): T; - /** Returns a pseudo-random number in the range from 0.0 inclusive up to but not including 1.0. */ - random(): T; - /** Returns the value of \`x\` rounded to the nearest integer. */ - round(x: T): T; - /** Returns the sign of \`x\`, indicating whether the number is positive, negative or zero. */ - sign(x: T): T; - /** Returns whether the sign bit of \`x\` is set. */ - signbit(x: T): bool; - /** Returns the sine of \`x\`. */ - sin(x: T): T; - /** Returns the hyperbolic sine of \`x\`. */ - sinh(x: T): T; - /** Returns the square root of \`x\`. */ - sqrt(x: T): T; - /** Returns the tangent of \`x\`. */ - tan(x: T): T; - /** Returns the hyperbolic tangent of \`x\`. */ - tanh(x: T): T; - /** Returns the integer part of \`x\` by removing any fractional digits. */ - trunc(x: T): T; -} - -/** @internal */ -interface INativeMath extends IMath { - /** Contains sin value produced after Math/Mathf.sincos */ - sincos_sin: T; - /** Contains cos value produced after Math/Mathf.sincos */ - sincos_cos: T; - /** Seeds the random number generator. */ - seedRandom(value: i64): void; - /** Multiplies a floating point \`x\` by 2 raised to power exp \`n\`. */ - scalbn(x: T, n: i32): T; - /** Returns the floating-point remainder of \`x / y\` (rounded towards zero). */ - mod(x: T, y: T): T; - /** Returns the floating-point remainder of \`x / y\` (rounded to nearest). */ - rem(x: T, y: T): T; - /** Returns sin and cos simultaneously for same angle. Results stored to \`sincos_s32/64\` and \`sincos_c32/64\` globals */ - sincos(x: T): void; - /** Returns 2 raised to the given power x. Equivalent to 2 ** x. */ - exp2(x: T): T; -} - -/** Double precision math imported from JavaScript. */ -declare const JSMath: IMath; -/** Double precision math implemented natively. */ -declare const NativeMath: INativeMath; -/** Single precision math implemented natively. */ -declare const NativeMathf: INativeMath; -/** Alias of {@link NativeMath} or {@link JSMath} respectively. Defaults to \`NativeMath\`. */ -declare const Math: IMath; -/** Alias of {@link NativeMathf} or {@link JSMath} respectively. Defaults to \`NativeMathf\`. */ -declare const Mathf: IMath; - -/** Environmental abort function. */ -declare function abort(msg?: string | null, fileName?: string | null, lineNumber?: i32, columnNumber?: i32): never; -/** Environmental tracing function. */ -declare function trace(msg: string, n?: i32, a0?: f64, a1?: f64, a2?: f64, a3?: f64, a4?: f64): void; -/** Environmental seeding function. */ -declare function seed(): f64; - -/** Node-like process. */ -declare namespace process { - /** String representing the CPU architecture for which the binary was compiled. Either \`wasm32\` or \`wasm64\`. */ - export const arch: string; - /** String representing the operating system platform for which the binary was compiled. Always \`wasm\`. */ - export const platform: string; - /** Array of command line arguments passed to the binary upon instantiation. */ - export const argv: string[]; - /** Map of variables in the binary's user environment. */ - export const env: Map; - /** Terminates the process with either the given exit code, or \`process.exitCode\` if omitted. */ - export function exit(code?: i32): void; - /** \`exit()\`\u2019s default value. Defaults to \`0\`. */ - export let exitCode: i32; - /** Stream connected to \`stdin\` (fd \`0\`). */ - export const stdin: ReadableStream; - /** Stream connected to \`stdout\` (fd \`1\`). */ - export const stdout: WritableStream; - /** Stream connected to \`stderr\` (fd \`2\`). */ - export const stderr: WritableStream; - /** Obtains the system's current time of day, in milliseconds since Unix epoch. */ - export function time(): i64; - /** Obtains the system's monotonic high resolution time, in nanoseconds since an arbitrary time in the past. */ - export function hrtime(): u64; - - interface Stream { - /** Closes the stream. Throws if already closed or if the stream cannot be closed. */ - close(): void; - } - interface ReadableStream extends Stream { - /** Reads available data from the stream, into \`buffer\` at offset \`offset\`, returning the number of bytes read. */ - read(buffer: ArrayBuffer, offset?: isize): i32; - } - interface WritableStream extends Stream { - /** Writes string or buffer to the stream. */ - write(data: T): void; - } -} - -/** Browser-like console. */ -declare namespace console { - /** Logs \`message\` to console if \`assertion\` is false-ish. */ - export function assert(assertion: T, message?: string): void; - /** Outputs \`message\` to the console. */ - export function log(message?: string): void; - /** Outputs \`message\` to the console, prefixed with "Debug:". */ - export function debug(message?: string): void; - /** Outputs \`message\` to the console, prefixed with "Info:". */ - export function info(message?: string): void; - /** Outputs \`message\` to the console, prefixed with "Warning:". */ - export function warn(message?: string): void; - /** Outputs \`message\` to the console, prefixed with "Error:". */ - export function error(message?: string): void; - /** Starts a new timer using the specified \`label\`. */ - export function time(label?: string): void; - /** Logs the current value of a timer previously started with \`console.time\`. */ - export function timeLog(label?: string): void; - /** Logs the current value of a timer previously started with \`console.time\` and discards the timer. */ - export function timeEnd(label?: string): void; -} - -/** Browser-like crypto utilities. */ -declare namespace crypto { - /** Fills \`array\` with cryptographically strong random values. */ - export function getRandomValues(array: Uint8Array): void; -} - -// Decorators - -interface TypedPropertyDescriptor { - configurable?: boolean; - enumerable?: boolean; - writable?: boolean; - value?: T; - get?(): T; - set?(value: T): void; -} - -type Constructor = - (new (...args: any[]) => unknown) - | (abstract new (...args: any[]) => unknown); - -/** Annotates a method as a binary operator overload for the specified \`token\`. */ -declare function operator(token: - "[]" | "[]=" | "{}" | "{}=" | "==" | "!=" | ">" | "<" | "<=" | ">=" | - ">>" | ">>>" | "<<" | "&" | "|" | "^" | "+" | "-" | "*" | "**" | "/" | "%" -): ( - target: any, - propertyKey: string, - descriptor: TypedPropertyDescriptor -) => TypedPropertyDescriptor | void; - -declare namespace operator { - /** Annotates a method as a binary operator overload for the specified \`token\`. */ - export function binary(token: - "[]" | "[]=" | "{}" | "{}=" | "==" | "!=" | ">" | "<" | "<=" | ">=" | - ">>" | ">>>" | "<<" | "&" | "|" | "^" | "+" | "-" | "*" | "**" | "/" | "%" - ): ( - target: any, - propertyKey: string, - descriptor: TypedPropertyDescriptor - ) => TypedPropertyDescriptor | void; - /** Annotates a method as an unary prefix operator overload for the specified \`token\`. */ - export function prefix(token: "!" | "~" | "+" | "-" | "++" | "--"): ( - target: any, - propertyKey: string, - descriptor: TypedPropertyDescriptor - ) => TypedPropertyDescriptor | void; - /** Annotates a method as an unary postfix operator overload for the specified \`token\`. */ - export function postfix(token: "++" | "--"): ( - target: any, - propertyKey: string, - descriptor: TypedPropertyDescriptor - ) => TypedPropertyDescriptor | void; -} - -/** Annotates an element as a program global. */ -declare function global(...args: any[]): any; - -/** Annotates a class as being unmanaged with limited capabilities. */ -declare function unmanaged(constructor: Constructor): void; - -/** Annotates a class as being final / non-derivable. */ -declare function final(constructor: Constructor): void; - -/** Annotates a method, function or constant global as always inlined. */ -declare function inline(...args: any[]): any; - -/** Annotates a method, function or constant global as unsafe. */ -declare function unsafe(...args: any[]): any; - -/** Annotates an explicit external name of a function or global. */ -declare function external(name: string): any; -declare function external(moduleName: string, name: string): any; -declare namespace external { - function js(code: string): any; -} - -/** Annotates a global for lazy compilation. */ -declare function lazy(...args: any[]): any; -`,portable:`/** - * Environment definitions for compiling AssemblyScript to JavaScript using tsc. - * - * Note that semantic differences require additional explicit conversions for full compatibility. - * For example, when casting an i32 to an u8, doing \`(someI32 & 0xff)\` will yield the same - * result when compiling to WebAssembly or JS while \`someI32\` alone does nothing in JS. - * - * Note that i64's are not portable (JS numbers are IEEE754 doubles with a maximum safe integer - * value of 2^53-1) and instead require a compatibility layer to work in JS as well, as for example - * {@link glue/js/i64} respectively {@link glue/wasm/i64}. - * - * @module std/portable - *//***/ - -// Types - -declare type bool = boolean; -declare type i8 = number; -declare type i16 = number; -declare type i32 = number; -declare type isize = number; -declare type u8 = number; -declare type u16 = number; -declare type u32 = number; -declare type usize = number; -declare type f32 = number; -declare type f64 = number; - -/** Special type evaluating the indexed access index type. */ -declare type indexof = keyof T; -/** Special type evaluating the indexed access value type. */ -declare type valueof = T[0]; - -// Compiler hints - -/** Compiler target. 0 = JS, 1 = WASM32, 2 = WASM64. */ -declare const ASC_TARGET: i32; -/** Runtime type. 0 = Stub, 1 = Minimal, 2 = Incremental. */ -declare const ASC_RUNTIME: i32; -/** Provided noAssert option. */ -declare const ASC_NO_ASSERT: bool; -/** Provided memoryBase option. */ -declare const ASC_MEMORY_BASE: i32; -/** Provided optimizeLevel option. */ -declare const ASC_OPTIMIZE_LEVEL: i32; -/** Provided shrinkLevel option. */ -declare const ASC_SHRINK_LEVEL: i32; -/** Whether the mutable global feature is enabled. */ -declare const ASC_FEATURE_MUTABLE_GLOBAL: bool; -/** Whether the sign extension feature is enabled. */ -declare const ASC_FEATURE_SIGN_EXTENSION: bool; - -// Builtins - -/** Performs the sign-agnostic reverse bytes **/ -declare function bswap(value: T): T; -/** Performs the sign-agnostic count leading zero bits operation on a 32-bit integer. All zero bits are considered leading if the value is zero. */ -declare function clz(value: T): T; -/** Performs the sign-agnostic count tailing zero bits operation on a 32-bit integer. All zero bits are considered trailing if the value is zero. */ -declare function ctz(value: T): T; -/** Performs the sign-agnostic count number of one bits operation on a 32-bit integer. */ -declare function popcnt(value: T): T; -/** Performs the sign-agnostic rotate left operation on a 32-bit integer. */ -declare function rotl(value: T, shift: T): T; -/** Performs the sign-agnostic rotate right operation on a 32-bit integer. */ -declare function rotr(value: T, shift: T): T; -/** Computes the absolute value of an integer or float. */ -declare function abs(value: T): T; -/** Determines the maximum of two integers or floats. If either operand is \`NaN\`, returns \`NaN\`. */ -declare function max(left: T, right: T): T; -/** Determines the minimum of two integers or floats. If either operand is \`NaN\`, returns \`NaN\`. */ -declare function min(left: T, right: T): T; -/** Composes a 32-bit or 64-bit float from the magnitude of \`x\` and the sign of \`y\`. */ -declare function copysign(x: T, y: T): T; -/** Performs the ceiling operation on a 32-bit or 64-bit float. */ -declare function ceil(value: T): T; -/** Performs the floor operation on a 32-bit or 64-bit float. */ -declare function floor(value: T): T; -/** Rounds to the nearest integer tied to even of a 32-bit or 64-bit float. */ -declare function nearest(value: T): T; -/** Selects one of two pre-evaluated values depending on the condition. */ -declare function select(ifTrue: T, ifFalse: T, condition: bool): T; -/** Calculates the square root of a 32-bit or 64-bit float. */ -declare function sqrt(value: T): T; -/** Rounds to the nearest integer towards zero of a 32-bit or 64-bit float. */ -declare function trunc(value: T): T; -/** Emits an unreachable operation that results in a runtime error when executed. */ -declare function unreachable(): any; // sic - -/** Changes the type of any value of \`usize\` kind to another one of \`usize\` kind. Useful for casting class instances to their pointer values and vice-versa. Beware that this is unsafe.*/ -declare function changetype(value: any): T; -/** Explicitly requests no bounds checks on the provided expression. Useful for array accesses. */ -declare function unchecked(value: T): T; -/** Tests if the specified value is a valid integer. Can't distinguish an integer from an integral float. */ -declare function isInteger(value: any): value is number; -/** Tests if the specified value is a valid float. Can't distinguish a float from an integer. */ -declare function isFloat(value: any): value is number; -/** Tests if the specified value is of a nullable reference type. */ -declare function isNullable(value: any): bool; -/** Tests if the specified value is of a reference type. */ -declare function isReference(value: any): value is object | string; -/** Tests if the specified value is of a function type */ -declare function isFunction(value: any): value is Function; -/** Tests if the specified value can be used as a string. */ -declare function isString(value: any): value is string | String; -/** Tests if the specified value can be used as an array. */ -declare function isArray(value: any): value is Array; -/** Tests if the specified type *or* expression can be used as an array like object. */ -declare function isArrayLike(value: any): value is ArrayLike; -/** Tests if the specified expression resolves to a defined element. */ -declare function isDefined(expression: any): bool; -/** Tests if the specified expression evaluates to a constant value. */ -declare function isConstant(expression: any): bool; -/** Traps if the specified value is not true-ish, otherwise returns the value. */ -declare function assert(isTrueish: T, message?: string): T & (object | string | number); // any better way to model \`: T != null\`? -/** Parses an integer string to a 64-bit float. */ -declare function parseInt(str: string, radix?: i32): f64; -/** Parses a floating point string to a 64-bit float. */ -declare function parseFloat(str: string): f64; -/** Returns the 64-bit floating-point remainder of \`x/y\`. */ -declare function fmod(x: f64, y: f64): f64; -/** Returns the 32-bit floating-point remainder of \`x/y\`. */ -declare function fmodf(x: f32, y: f32): f32; - -/** Converts any other numeric value to an 8-bit signed integer. */ -declare function i8(value: any): i8; -declare namespace i8 { - /** Smallest representable value. */ - export const MIN_VALUE: i8; - /** Largest representable value. */ - export const MAX_VALUE: i8; - /** Converts a string to a floating-point number and cast to target integer after. */ - export function parseFloat(string: string): i8; - /** Parses a string as an integer. */ - export function parseInt(string: string, radix?: i32): i8; - /** Parses a string as an i8. */ - export function parse(value: string, radix?: i32): i8; -} -/** Converts any other numeric value to a 16-bit signed integer. */ -declare function i16(value: any): i16; -declare namespace i16 { - /** Smallest representable value. */ - export const MIN_VALUE: i16; - /** Largest representable value. */ - export const MAX_VALUE: i16; - /** Converts a string to a floating-point number and cast to target integer after. */ - export function parseFloat(string: string): i16; - /** Parses a string as an integer. */ - export function parseInt(string: string, radix?: i32): i16; - /** Parses a string as an i16. */ - export function parse(value: string, radix?: i32): i16; -} -/** Converts any other numeric value to a 32-bit signed integer. */ -declare function i32(value: any): i32; -declare namespace i32 { - /** Smallest representable value. */ - export const MIN_VALUE: i32; - /** Largest representable value. */ - export const MAX_VALUE: i32; - /** Converts a string to a floating-point number and cast to target integer after. */ - export function parseFloat(string: string): i32; - /** Parses a string as an integer. */ - export function parseInt(string: string, radix?: i32): i32; - /** Parses a string as an i32. */ - export function parse(value: string, radix?: i32): i32; -} -/** Converts any other numeric value to a 32-bit (in WASM32) respectivel 64-bit (in WASM64) signed integer. */ -declare function isize(value: any): isize; -declare namespace isize { - /** Smallest representable value. */ - export const MIN_VALUE: isize; - /** Largest representable value. */ - export const MAX_VALUE: isize; - /** Converts a string to a floating-point number and cast to target integer after. */ - export function parseFloat(string: string): isize; - /** Parses a string as an integer. */ - export function parseInt(string: string, radix?: i32): isize; - /** Parses a string as an iszie. */ - export function parse(value: string, radix?: i32): isize; -} -/** Converts any other numeric value to an 8-bit unsigned integer. */ -declare function u8(value: any): u8; -declare namespace u8 { - /** Smallest representable value. */ - export const MIN_VALUE: u8; - /** Largest representable value. */ - export const MAX_VALUE: u8; - /** Converts a string to a floating-point number and cast to target integer after. */ - export function parseFloat(string: string): u8; - /** Parses a string as an integer. */ - export function parseInt(string: string, radix?: i32): u8; - /** Parses a string as an u8. */ - export function parse(value: string, radix?: i32): u8; -} -/** Converts any other numeric value to a 16-bit unsigned integer. */ -declare function u16(value: any): u16; -declare namespace u16 { - /** Smallest representable value. */ - export const MIN_VALUE: u16; - /** Largest representable value. */ - export const MAX_VALUE: u16; - /** Converts a string to a floating-point number and cast to target integer after. */ - export function parseFloat(string: string): u16; - /** Parses a string as an integer. */ - export function parseInt(string: string, radix?: i32): u16; - /** Parses a string as an u16. */ - export function parse(value: string, radix?: i32): u16; -} -/** Converts any other numeric value to a 32-bit unsigned integer. */ -declare function u32(value: any): u32; -declare namespace u32 { - /** Smallest representable value. */ - export const MIN_VALUE: u32; - /** Largest representable value. */ - export const MAX_VALUE: u32; - /** Converts a string to a floating-point number and cast to target integer after. */ - export function parseFloat(string: string): u32; - /** Parses a string as an integer. */ - export function parseInt(string: string, radix?: i32): u32; - /** Parses a string as an u32. */ - export function parse(value: string, radix?: i32): u32; -} -/** Converts any other numeric value to a 32-bit (in WASM32) respectivel 64-bit (in WASM64) unsigned integer. */ -declare function usize(value: any): isize; -declare namespace usize { - /** Smallest representable value. */ - export const MIN_VALUE: usize; - /** Largest representable value. */ - export const MAX_VALUE: usize; - /** Converts a string to a floating-point number and cast to target integer after. */ - export function parseFloat(string: string): usize; - /** Parses a string as an integer. */ - export function parseInt(string: string, radix?: i32): usize; - /** Parses a string as an usize. */ - export function parse(value: string, radix?: i32): usize; -} -/** Converts any other numeric value to a 1-bit unsigned integer. */ -declare function bool(value: any): bool; -declare namespace bool { - /** Smallest representable value. */ - export const MIN_VALUE: bool; - /** Largest representable value. */ - export const MAX_VALUE: bool; - /** Parses a string as a bool. */ - export function parse(value: string): bool; -} -/** Converts any other numeric value to a 32-bit float. */ -declare function f32(value: any): f32; -declare namespace f32 { - /** Smallest representable value. */ - export const MIN_VALUE: f32; - /** Largest representable value. */ - export const MAX_VALUE: f32; - /** Smallest normalized positive value. */ - export const MIN_NORMAL_VALUE: f32; - /** Smallest safely representable integer value. */ - export const MIN_SAFE_INTEGER: f32; - /** Largest safely representable integer value. */ - export const MAX_SAFE_INTEGER: f32; - /** Positive infinity value. */ - export const POSITIVE_INFINITY: f32; - /** Negative infinity value. */ - export const NEGATIVE_INFINITY: f32; - /** Not a number value. */ - /* eslint no-shadow-restricted-names: "off" */ - export const NaN: f32; - /** Difference between 1 and the smallest representable value greater than 1. */ - export const EPSILON: f32; - /** Returns a boolean value that indicates whether a value is the reserved value NaN (not a number). */ - export function isNaN(value: f32): bool; - /** Returns true if passed value is finite. */ - export function isFinite(value: f32): bool; - /** Returns true if the value passed is a safe integer. */ - export function isSafeInteger(value: f32): bool; - /** Returns true if the value passed is an integer, false otherwise. */ - export function isInteger(value: f32): bool; - /** Converts a string to a floating-point number. */ - export function parseFloat(string: string): f32; - /** Parses a string as an integer and convert to an f32. */ - export function parseInt(string: string, radix?: i32): f32; - /** Parses a string as an f32. */ - export function parse(value: string): f32; -} -/** Converts any other numeric value to a 64-bit float. */ -declare function f64(value: any): f64; -declare namespace f64 { - /** Smallest representable value. */ - export const MIN_VALUE: f64; - /** Largest representable value. */ - export const MAX_VALUE: f64; - /** Smallest normalized positive value. */ - export const MIN_NORMAL_VALUE: f64; - /** Smallest safely representable integer value. */ - export const MIN_SAFE_INTEGER: f64; - /** Largest safely representable integer value. */ - export const MAX_SAFE_INTEGER: f64; - /** Positive infinity value. */ - export const POSITIVE_INFINITY: f64; - /** Negative infinity value. */ - export const NEGATIVE_INFINITY: f64; - /** Not a number value. */ - /* eslint no-shadow-restricted-names: "off" */ - export const NaN: f64; - /** Difference between 1 and the smallest representable value greater than 1. */ - export const EPSILON: f64; - /** Returns a boolean value that indicates whether a value is the reserved value NaN (not a number). */ - export function isNaN(value: f32): bool; - /** Returns true if passed value is finite. */ - export function isFinite(value: f32): bool; - /** Returns true if the value passed is a safe integer. */ - export function isSafeInteger(value: f64): bool; - /** Returns true if the value passed is an integer, false otherwise. */ - export function isInteger(value: f64): bool; - /** Converts a string to a floating-point number. */ - export function parseFloat(string: string): f64; - /** Parses a string as an integer and convert to an f64. */ - export function parseInt(string: string, radix?: i32): f64; - /** Parses a string as an f64. */ - export function parse(value: string): f64; -} - -// Standard library - -declare const Mathf: typeof Math; -declare const JSMath: typeof Math; - -declare interface StringConstructor { - /** Equivalent to calling \`String.fromCharCode\` with multiple arguments. */ - fromCharCodes(arr: i32[]): string; - /** Equivalent to calling \`String.fromCodePoint\` with multiple arguments. */ - fromCodePoints(arr: i32[]): string; -} - -declare interface String { - /** Returns value using relative indexing. Index may be negative */ - at(index: i32): string; -} - -/** Annotates a class as being unmanaged with limited capabilities. */ -declare function unmanaged(constructor: Function): void; - -/** Environmental tracing function. */ -declare function trace(msg: string, n?: i32, a0?: f64, a1?: f64, a2?: f64, a3?: f64, a4?: f64): void; - -declare interface Array { - /** Returns value using relative indexing. Index may be negative */ - at(index: i32): T; - /** Returns an index start searching from the end in the array */ - findLastIndex(callbackfn: (value: T, index: i32, self: Array) => bool): i32; -} - -declare interface Int8ArrayConstructor { - /** Equivalent to calling \`new Int8Array\` with multiple arguments. */ - wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Int8Array; -} - -declare interface Int8Array { - /** Returns value using relative indexing. Index may be negative */ - at(index: i32): i8; - /** Returns an index start searching from the end in the typedarray */ - findLastIndex(callbackfn: (value: i8, index: i32, self: Int8Array) => bool): i32; -} - -declare interface Uint8ArrayConstructor { - /** Equivalent to calling \`new Uint8Array\` with multiple arguments. */ - wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Uint8Array; -} - -declare interface Uint8Array { - /** Returns value using relative indexing. Index may be negative */ - at(index: i32): u8; - /** Returns an index start searching from the end in the typedarray */ - findLastIndex(callbackfn: (value: u8, index: i32, self: Uint8Array) => bool): i32; -} - -declare interface Uint8ClampedArrayConstructor { - /** Equivalent to calling \`new Uint8ClampedArray\` with multiple arguments. */ - wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Uint8ClampedArray; -} - -declare interface Uint8ClampedArray { - /** Returns value using relative indexing. Index may be negative */ - at(index: i32): u8; - /** Returns an index start searching from the end in the typedarray */ - findLastIndex(callbackfn: (value: u8, index: i32, self: Uint8ClampedArray) => bool): i32; -} - -declare interface Int16ArrayConstructor { - /** Equivalent to calling \`new Int16Array\` with multiple arguments. */ - wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Int16Array; -} - -declare interface Int16Array { - /** Returns value using relative indexing. Index may be negative */ - at(index: i32): i16; - /** Returns an index start searching from the end in the typedarray */ - findLastIndex(callbackfn: (value: i16, index: i32, self: Int16Array) => bool): i32; -} - -declare interface Uint16ArrayConstructor { - /** Equivalent to calling \`new Uint16Array\` with multiple arguments. */ - wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Uint16Array; -} - -declare interface Uint16Array { - /** Returns value using relative indexing. Index may be negative */ - at(index: i32): u16; - /** Returns an index start searching from the end in the typedarray */ - findLastIndex(callbackfn: (value: u16, index: i32, self: Uint16Array) => bool): i32; -} - -declare interface Int32ArrayConstructor { - /** Equivalent to calling \`new Int32Array\` with multiple arguments. */ - wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Int32Array; -} - -declare interface Int32Array { - /** Returns value using relative indexing. Index may be negative */ - at(index: i32): i32; - /** Returns an index start searching from the end in the typedarray */ - findLastIndex(callbackfn: (value: i32, index: i32, self: Int32Array) => bool): i32; -} - -declare interface Uint32ArrayConstructor { - /** Equivalent to calling \`new Uint32Array\` with multiple arguments. */ - wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Uint32Array; -} - -declare interface Uint32Array { - /** Returns value using relative indexing. Index may be negative */ - at(index: i32): u32; - /** Returns an index start searching from the end in the typedarray */ - findLastIndex(callbackfn: (value: u32, index: i32, self: Uint32Array) => bool): i32; -} - -declare interface Float32ArrayConstructor { - /** Equivalent to calling \`new Float32Array\` with multiple arguments. */ - wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Float32Array; -} - -declare interface Float32Array { - /** Returns value using relative indexing. Index may be negative */ - at(index: i32): f32; - /** Returns an index start searching from the end in the typedarray */ - findLastIndex(callbackfn: (value: f32, index: i32, self: Float32Array) => bool): i32; -} - -declare interface Float64ArrayConstructor { - /** Equivalent to calling \`new Float64Array\` with multiple arguments. */ - wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Float64Array; -} - -declare interface Float64Array { - /** Returns value using relative indexing. Index may be negative */ - at(index: i32): f64; - /** Returns an index start searching from the end in the typedarray */ - findLastIndex(callbackfn: (value: f64, index: i32, self: Float64Array) => bool): i32; -} - -// FIXME: remove -declare function offsetof(fieldName?: string): usize; -declare function idof(): u32; -`};var bn={};rn(bn,{default:()=>Sn});Rn(bn,ti);import*as ti from"binaryen";import{default as Sn}from"binaryen";import*as Ut from"assemblyscript";var b=Ut,qn=j.argv.indexOf("--wasm");if(~qn){let t=String(j.argv[qn+1]);j.argv.splice(qn,2),b=await import(new URL(t,hn.pathToFileURL(j.cwd()+"/")))}var Wn=fn.createRequire(import.meta.url),Qn=j.platform==="win32",E=Qn?`\r -`:` -`,Yn=Qn?"\\":"/",_=".ts",Mt=`.d${_}`,Fn=new RegExp("\\"+_+"$"),Pt=new RegExp("^(?!.*\\.d\\"+_+"$).*\\"+_+"$");function Le(t){return t.replace(/-/g,"_").toUpperCase()}function Vt(t){return typeof t=="string"&&t!==""}var Zn=Se,jt=Q,G=De,q=Ie,Gt=Oe,Ne=3,Ue=0;function ne(t,n=[]){return Object.keys(t||{}).forEach(e=>{let i=t[e],o=Q[e];o&&o.type==="b"?i&&n.push(`--${e}`):Array.isArray(i)?i.forEach(r=>{n.push(`--${e}`,String(r))}):n.push(`--${e}`,String(i))}),n}async function Ht(t,n={}){typeof t=="string"&&(t={[`input${_}`]:t});let e=["--outFile","binary","--textFile","text"];ne(n,e);let i={},o=await Me(e.concat(Object.keys(t)),{readFile:r=>Object.prototype.hasOwnProperty.call(t,r)?t[r]:null,writeFile:(r,l)=>{i[r]=l},listFiles:()=>[]});return Object.assign(o,i)}async function Me(t,n){Array.isArray(t)||(t=ne(t)),n||(n={});let e=n.stats||new In,i=e.begin(),o=0,r=0,l=0,u=(Zn||"").split(".");u.length===3&&(r=parseInt(u[0])|0,o=parseInt(u[1])|0,l=parseInt(u[2])|0);let f=n.stdout||Jn(),x=n.stderr||Jn(),c=n.readFile||ae,g=n.writeFile||se,F=n.listFiles||le,m=Be(t,Q,!1),a=m.options;t=m.arguments;let B=new on(f),I=new on(x);a.noColors&&(B.enabled=!1,I.enabled=!1);let W=m.unknown;W.length&&W.forEach(s=>{x.write(`${I.yellow("WARNING ")}Unknown option '${s}'${E}`)});let Y=m.trailing;Y.length&&x.write(`${I.yellow("WARNING ")}Unsupported trailing arguments: ${Y.join(" ")}${E}`);let N=null,O=null,z=(s,d={})=>(s&&x.write(`${I.red("FAILURE ")}${s.stack.replace(/^ERROR: /i,"")}${E}`),O&&O.dispose(),e.total||(e.total=e.end(i)),Object.assign({error:s,stdout:f,stderr:x,stats:e},d));if(a.version)return f.write(`Version ${Zn}${E}`),z(null);let w=v.normalize(a.baseDir||"."),$=an(a.config||"asconfig.json",w),On=v.basename($),nn=v.dirname($),M=await ke(On,nn,c),Pe=M!=null&&Array.isArray(M.entries)&&M.entries.length;if(a.help||!t.length&&!Pe){let s=a.help?f:x,d=a.help?B:I;return s.write([d.white("SYNTAX")," "+d.cyan("asc")+" [entryFile ...] [options]","",d.white("EXAMPLES")," "+d.cyan("asc")+" hello"+_," "+d.cyan("asc")+" hello"+_+" -o hello.wasm -t hello.wat"," "+d.cyan("asc")+" hello1"+_+" hello2"+_+" -o -O > hello.wasm"," "+d.cyan("asc")+" --config asconfig.json --target release","",d.white("OPTIONS")].concat(we(Q,24,E)).join(E)+E),z(null)}if(!(X.promises&&X.promises.readFile)){if(c===ae)throw Error("'options.readFile' must be specified");if(g===se)throw Error("'options.writeFile' must be specified");if(F===le)throw Error("'options.listFiles' must be specified")}let Ln=new Set;Ln.add($);let Ve=a.target||"release";for(;M;){if(M.targets){let d=M.targets[Ve];d&&(a=Xn(Q,a,d,nn))}let s=M.options;if(s&&(a=Xn(Q,a,s,nn)),M.entries)for(let d of M.entries)t.push(an(d,nn));if(M.extends){if($=an(M.extends,nn,!0),On=v.basename($),nn=v.dirname($),Ln.has($))break;Ln.add($),M=await ke(On,nn,c)}else break}if(Kn(Q,a),a.showConfig)return x.write(JSON.stringify({options:a,entries:t},null,2)),z(null);function te(s){return[...new Set(s)]}let D,cn,yn,T=b.newOptions();switch(a.runtime){case"stub":cn=0;break;case"minimal":cn=1;break;default:cn=2;break}switch(a.uncheckedBehavior){default:yn=0;break;case"never":yn=1;break;case"always":yn=2;break}if(b.setTarget(T,0),b.setDebugInfo(T,!!a.debug),b.setRuntime(T,cn),b.setNoAssert(T,a.noAssert),b.setExportMemory(T,!a.noExportMemory),b.setImportMemory(T,a.importMemory),b.setInitialMemory(T,a.initialMemory>>>0),b.setMaximumMemory(T,a.maximumMemory>>>0),b.setSharedMemory(T,a.sharedMemory),b.setImportTable(T,a.importTable),b.setExportTable(T,a.exportTable),a.exportStart!=null&&b.setExportStart(T,Vt(a.exportStart)?a.exportStart:"_start"),b.setMemoryBase(T,a.memoryBase>>>0),b.setTableBase(T,a.tableBase>>>0),b.setSourceMap(T,a.sourceMap!=null),b.setUncheckedBehavior(T,yn),b.setNoUnsafe(T,a.noUnsafe),b.setPedantic(T,a.pedantic),b.setLowMemoryLimit(T,a.lowMemoryLimit>>>0),b.setExportRuntime(T,a.exportRuntime),b.setBundleVersion(T,r,o,l),!a.stackSize&&cn===2&&(a.stackSize=b.DEFAULT_STACK_SIZE),b.setStackSize(T,a.stackSize),b.setBindingsHint(T,a.bindings&&a.bindings.length>0),a.use){let s=a.use;for(let d=0,p=s.length;d(typeof s=="function"&&(Object.assign(s.prototype,{program:D,binaryen:Sn,baseDir:w,stdout:f,stderr:x,log:console.error,readFile:c,writeFile:g,listFiles:F}),s=new s),s))}catch(s){return z(s)}async function kn(s,...d){for(let p=0,h=sn.length;p{if(s.includes("/"))return;let d=e.begin();e.parseCount++,b.parse(D,q[s],G+s+_,!1),e.parseTime+=e.end(d)});let ln=[];if(a.lib){let s=a.lib;typeof s=="string"&&(s=s.split(",")),ln.push(...s.map(d=>d.trim())),ln=te(ln);for(let d=0,p=ln.length;d=R;--S)k[S-1]!=="node_modules"&&V.push(`${k.slice(0,S).join(Yn)}${Yn}node_modules`);V.push(...a.path);for(let S of V.map(R=>v.relative(w,R))){let R=Z;if((p=await c(v.join(S,L,R+_),w))!=null){h=`${G}${L}/${R}${_}`,vn.set(h.replace(Fn,""),v.join(S,L));break}let xn=`${Z}/index`;if((p=await c(v.join(S,L,xn+_),w))!=null){h=`${G}${L}/${xn}${_}`,vn.set(h.replace(Fn,""),v.join(S,L));break}}}}}}return p==null?null:{sourceText:p,sourcePath:h}}function Ge(s=[]){do{let d=b.nextFile(D);if(d==null)break;s.push(d)}while(!0);return s}async function ie(){let s;for(;(s=Ge()).length;){let p=[];for(let h of s){let A=b.getDependee(D,h);p.push(je(h,A))}p=await Promise.all(p);for(let h=0,A=s.length;h{En.includes(s=s.trim())||En.push(s)}));{let s=e.begin();try{e.optimizeCount++,b.optimize(N,en,tn,re,oe)}catch(d){U("optimize",d)}try{O.runPasses(En)}catch(d){U("runPasses",d)}if(He){let d;try{let p=e.begin();e.emitCount++,d=O.emitBinary(),e.emitTime+=e.end(p)}catch(p){U("emitBinary (converge)",p)}do{try{e.optimizeCount++,b.optimize(N,en,tn,re,oe)}catch(h){U("optimize (converge)",h)}try{O.runPasses(En)}catch(h){U("runPasses (converge)",h)}let p;try{let h=e.begin();e.emitCount++,p=O.emitBinary(),e.emitTime+=e.end(h)}catch(h){U("emitBinary (converge)",h)}if(p.length>=d.length){p.length>d.length&&x.write(`Last converge was suboptimal.${E}`);break}d=p}while(!0)}e.optimizeTime+=e.end(s)}let un=[];if(!a.noEmit){if(a.binaryFile)return z(Error("Usage of the --binaryFile compiler option is no longer supported. Use --outFile instead."));let s=a.bindings||[],d=!1,p=a.outFile!=null,h=a.textFile!=null,A=p||h,y=p&&a.outFile.length>0||h&&a.textFile.length>0,C=y?(a.outFile||a.textFile).replace(/\.\w+$/,""):null,L=y?v.basename(C):"output";if(b.setBasenameHint(T,L),a.outFile!=null){let V=a.sourceMap!=null?a.sourceMap.length?a.sourceMap:`./${L}.wasm.map`:null,k=e.begin();e.emitCount++;let S;try{S=O.emitBinary(V)}catch(R){U("emitBinary",R)}if(e.emitTime+=e.end(k),a.outFile.length?un.push(g(a.outFile,S.binary,w)):(d=!0,An(S.binary)),S.sourceMap!="")if(a.outFile.length){let R=JSON.parse(S.sourceMap);R.sourceRoot=`./${L}`;let xn=[];for(let Tn=0,Xe=R.sources.length;TnPt.test(p))}catch{return null}}function An(s){An.used||(An.used=!0,e.writeCount++),f.write(s)}function U(s,d){let p=B.red("\u258C ");console.error([E,p,"Whoops, the AssemblyScript compiler has crashed during ",s," :-(",E,p,E,(typeof d.stack=="string"?[p,"Here is the stack trace hinting at the problem, perhaps it's useful?",E,p,E,d.stack.replace(/^/mg,p),E]:[p,"There is no stack trace. Perhaps a Binaryen exception above / in console?",E,p,E,p,"> "+d.stack,E]).join(""),p,E,p,"If you see where the error is, feel free to send us a pull request. If not,",E,p,"please let us know: https://github.com/AssemblyScript/assemblyscript/issues",E,p,E,p,"Thank you!",E].join("")),j.exit(1)}}function $n(t){return Object.prototype.toString.call(t)==="[object Object]"}async function ke(t,n,e){let i=await e(t,n),o=v.join(n,t);if(!i)return null;let r;try{r=JSON.parse(i)}catch{throw new Error(`Asconfig is not valid json: ${o}`)}if(r.options&&!$n(r.options))throw new Error(`Asconfig.options is not an object: ${o}`);if(r.include&&!Array.isArray(r.include))throw new Error(`Asconfig.include is not an array: ${o}`);if(r.targets){if(!$n(r.targets))throw new Error(`Asconfig.targets is not an object: ${o}`);let l=Object.keys(r.targets);for(let u=0;u"u"&&n&&(o=n.isTTY);let r=0;do{let f=b.nextDiagnostic(t);if(!f)break;if(n){let x=c=>{if(e==null)return!1;if(!e.length)return!0;let g=b.getDiagnosticCode(c);return e.includes(g)};(b.isError(f)||!x(f))&&n.write(b.formatDiagnostic(f,o,!0)+E+E)}if(i){let x=function(g){return g&&{start:b.getRangeStart(g),end:b.getRangeEnd(g),source:c(b.getRangeSource(g))}||null},c=function(g){return g&&{normalizedPath:b.getSourceNormalizedPath(g)}||null};var l=x,u=c;i({message:b.getDiagnosticMessage(f),code:b.getDiagnosticCode(f),category:b.getDiagnosticCategory(f),range:x(b.getDiagnosticRange(f)),relatedRange:x(b.getDiagnosticRelatedRange(f))})}b.isError(f)&&++r}while(!0);return r}var In=class{readCount=0;writeCount=0;parseTime=0;parseCount=0;initializeTime=0;initializeCount=0;compileTime=0;compileCount=0;emitTime=0;emitCount=0;validateTime=0;validateCount=0;optimizeTime=0;optimizeCount=0;transformTime=0;transformCount=0;begin(){return j.hrtime()}end(n){let e=j.hrtime(n);return e[0]*1e9+e[1]}toString(){let n=m=>m?`${(m/1e6).toFixed(3)} ms`:"n/a",e=Object.keys(this).filter(m=>m.endsWith("Time")).map(m=>m.substring(0,m.length-4)),i=e.map(m=>n(this[`${m}Time`])),o=e.map(m=>this[`${m}Count`].toString()),r=e.reduce((m,a)=>Math.max(a.length,m),0),l=i.reduce((m,a)=>Math.max(a.length,m),0),u=o.reduce((m,a)=>Math.max(a.length,m),0),f=r+l+u+6,x=[];x.push(`\u256D\u2500${"\u2500".repeat(f)}\u2500\u256E${E}`);let c="Stats";x.push(`\u2502 ${c}${" ".repeat(f-c.length)} \u2502${E}`),x.push(`\u255E\u2550${"\u2550".repeat(r)}\u2550\u2564\u2550${"\u2550".repeat(l)}\u2550\u2564\u2550${"\u2550".repeat(u)}\u2550\u2561${E}`);for(let m=0,a=e.length;mnew global.Buffer(t)):t=>new Uint8Array(t);function Jn(t){let n=[];return n.write=function(e){if(t&&t(e),typeof e=="string"){let i=Re(wn.length(e));wn.write(e,i,0),e=i}this.push(e)},n.reset=function(){n.length=0},n.toBuffer=function(){let e=0,i=0,o=this.length;for(;i 2) {\n var lastSlashIndex = res.lastIndexOf('/');\n if (lastSlashIndex !== res.length - 1) {\n if (lastSlashIndex === -1) {\n res = '';\n lastSegmentLength = 0;\n } else {\n res = res.slice(0, lastSlashIndex);\n lastSegmentLength = res.length - 1 - res.lastIndexOf('/');\n }\n lastSlash = i;\n dots = 0;\n continue;\n }\n } else if (res.length === 2 || res.length === 1) {\n res = '';\n lastSegmentLength = 0;\n lastSlash = i;\n dots = 0;\n continue;\n }\n }\n if (allowAboveRoot) {\n if (res.length > 0)\n res += '/..';\n else\n res = '..';\n lastSegmentLength = 2;\n }\n } else {\n if (res.length > 0)\n res += '/' + path.slice(lastSlash + 1, i);\n else\n res = path.slice(lastSlash + 1, i);\n lastSegmentLength = i - lastSlash - 1;\n }\n lastSlash = i;\n dots = 0;\n } else if (code === 46 && dots !== -1) {\n ++dots;\n } else {\n dots = -1;\n }\n }\n return res;\n}\n\nfunction _format(sep, pathObject) {\n var dir = pathObject.dir || pathObject.root;\n var base = pathObject.base || (pathObject.name || '') + (pathObject.ext || '');\n if (!dir) {\n return base;\n }\n if (dir === pathObject.root) {\n return dir + base;\n }\n return dir + sep + base;\n}\n\n// path.resolve([from ...], to)\nexport function resolve() {\n var resolvedPath = '';\n var resolvedAbsolute = false;\n var cwd;\n\n for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {\n var path;\n if (i >= 0)\n path = arguments[i];\n else {\n if (cwd === undefined)\n cwd = process.cwd();\n path = cwd;\n }\n\n assertPath(path);\n\n // Skip empty entries\n if (path.length === 0) {\n continue;\n }\n\n resolvedPath = path + '/' + resolvedPath;\n resolvedAbsolute = path.charCodeAt(0) === 47 /*/*/;\n }\n\n // At this point the path should be resolved to a full absolute path, but\n // handle relative paths to be safe (might happen when process.cwd() fails)\n\n // Normalize the path\n resolvedPath = normalizeStringPosix(resolvedPath, !resolvedAbsolute);\n\n if (resolvedAbsolute) {\n if (resolvedPath.length > 0)\n return '/' + resolvedPath;\n else\n return '/';\n } else if (resolvedPath.length > 0) {\n return resolvedPath;\n } else {\n return '.';\n }\n}\n\nexport function normalize(path) {\n assertPath(path);\n\n if (path.length === 0) return '.';\n\n var isAbsolute = path.charCodeAt(0) === 47 /*/*/;\n var trailingSeparator = path.charCodeAt(path.length - 1) === 47 /*/*/;\n\n // Normalize the path\n path = normalizeStringPosix(path, !isAbsolute);\n\n if (path.length === 0 && !isAbsolute) path = '.';\n if (path.length > 0 && trailingSeparator) path += '/';\n\n if (isAbsolute) return '/' + path;\n return path;\n}\n\nexport function isAbsolute(path) {\n assertPath(path);\n return path.length > 0 && path.charCodeAt(0) === 47 /*/*/;\n}\n\nexport function join() {\n if (arguments.length === 0)\n return '.';\n var joined;\n for (var i = 0; i < arguments.length; ++i) {\n var arg = arguments[i];\n assertPath(arg);\n if (arg.length > 0) {\n if (joined === undefined)\n joined = arg;\n else\n joined += '/' + arg;\n }\n }\n if (joined === undefined)\n return '.';\n return normalize(joined);\n}\n\nexport function relative(from, to) {\n assertPath(from);\n assertPath(to);\n\n if (from === to) return '';\n\n from = resolve(from);\n to = resolve(to);\n\n if (from === to) return '';\n\n if (from === \".\") return to; // FIX for 'odule.ts' (see issue #1398)\n\n // Trim any leading backslashes\n var fromStart = 1;\n for (; fromStart < from.length; ++fromStart) {\n if (from.charCodeAt(fromStart) !== 47 /*/*/)\n break;\n }\n var fromEnd = from.length;\n var fromLen = fromEnd - fromStart;\n\n // Trim any leading backslashes\n var toStart = 1;\n for (; toStart < to.length; ++toStart) {\n if (to.charCodeAt(toStart) !== 47 /*/*/)\n break;\n }\n var toEnd = to.length;\n var toLen = toEnd - toStart;\n\n // Compare paths to find the longest common path from root\n var length = fromLen < toLen ? fromLen : toLen;\n var lastCommonSep = -1;\n var i = 0;\n for (; i <= length; ++i) {\n if (i === length) {\n if (toLen > length) {\n if (to.charCodeAt(toStart + i) === 47 /*/*/) {\n // We get here if `from` is the exact base path for `to`.\n // For example: from='/foo/bar'; to='/foo/bar/baz'\n return to.slice(toStart + i + 1);\n } else if (i === 0) {\n // We get here if `from` is the root\n // For example: from='/'; to='/foo'\n return to.slice(toStart + i);\n }\n } else if (fromLen > length) {\n if (from.charCodeAt(fromStart + i) === 47 /*/*/) {\n // We get here if `to` is the exact base path for `from`.\n // For example: from='/foo/bar/baz'; to='/foo/bar'\n lastCommonSep = i;\n } else if (i === 0) {\n // We get here if `to` is the root.\n // For example: from='/foo'; to='/'\n lastCommonSep = 0;\n }\n }\n break;\n }\n var fromCode = from.charCodeAt(fromStart + i);\n var toCode = to.charCodeAt(toStart + i);\n if (fromCode !== toCode)\n break;\n else if (fromCode === 47 /*/*/)\n lastCommonSep = i;\n }\n\n var out = '';\n // Generate the relative path based on the path difference between `to`\n // and `from`\n for (i = fromStart + lastCommonSep + 1; i <= fromEnd; ++i) {\n if (i === fromEnd || from.charCodeAt(i) === 47 /*/*/) {\n if (out.length === 0)\n out += '..';\n else\n out += '/..';\n }\n }\n\n // Lastly, append the rest of the destination (`to`) path that comes after\n // the common path parts\n if (out.length > 0)\n return out + to.slice(toStart + lastCommonSep);\n else {\n toStart += lastCommonSep;\n if (to.charCodeAt(toStart) === 47 /*/*/)\n ++toStart;\n return to.slice(toStart);\n }\n}\n\nexport function dirname(path) {\n assertPath(path);\n if (path.length === 0) return '.';\n var code = path.charCodeAt(0);\n var hasRoot = code === 47 /*/*/;\n var end = -1;\n var matchedSlash = true;\n for (var i = path.length - 1; i >= 1; --i) {\n code = path.charCodeAt(i);\n if (code === 47 /*/*/) {\n if (!matchedSlash) {\n end = i;\n break;\n }\n } else {\n // We saw the first non-path separator\n matchedSlash = false;\n }\n }\n\n if (end === -1) return hasRoot ? '/' : '.';\n if (hasRoot && end === 1) return '//';\n return path.slice(0, end);\n}\n\nexport function basename(path, ext) {\n if (ext !== undefined && typeof ext !== 'string') throw new TypeError('\"ext\" argument must be a string');\n assertPath(path);\n\n var start = 0;\n var end = -1;\n var matchedSlash = true;\n var i;\n\n if (ext !== undefined && ext.length > 0 && ext.length <= path.length) {\n if (ext.length === path.length && ext === path) return '';\n var extIdx = ext.length - 1;\n var firstNonSlashEnd = -1;\n for (i = path.length - 1; i >= 0; --i) {\n var code = path.charCodeAt(i);\n if (code === 47 /*/*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n start = i + 1;\n break;\n }\n } else {\n if (firstNonSlashEnd === -1) {\n // We saw the first non-path separator, remember this index in case\n // we need it if the extension ends up not matching\n matchedSlash = false;\n firstNonSlashEnd = i + 1;\n }\n if (extIdx >= 0) {\n // Try to match the explicit extension\n if (code === ext.charCodeAt(extIdx)) {\n if (--extIdx === -1) {\n // We matched the extension, so mark this as the end of our path\n // component\n end = i;\n }\n } else {\n // Extension does not match, so our result is the entire path\n // component\n extIdx = -1;\n end = firstNonSlashEnd;\n }\n }\n }\n }\n\n if (start === end) end = firstNonSlashEnd;else if (end === -1) end = path.length;\n return path.slice(start, end);\n } else {\n for (i = path.length - 1; i >= 0; --i) {\n if (path.charCodeAt(i) === 47 /*/*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n start = i + 1;\n break;\n }\n } else if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // path component\n matchedSlash = false;\n end = i + 1;\n }\n }\n\n if (end === -1) return '';\n return path.slice(start, end);\n }\n}\n\nexport function extname(path) {\n assertPath(path);\n var startDot = -1;\n var startPart = 0;\n var end = -1;\n var matchedSlash = true;\n // Track the state of characters (if any) we see before our first dot and\n // after any path separator we find\n var preDotState = 0;\n for (var i = path.length - 1; i >= 0; --i) {\n var code = path.charCodeAt(i);\n if (code === 47 /*/*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n startPart = i + 1;\n break;\n }\n continue;\n }\n if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // extension\n matchedSlash = false;\n end = i + 1;\n }\n if (code === 46) {\n // If this is our first dot, mark it as the start of our extension\n if (startDot === -1)\n startDot = i;\n else if (preDotState !== 1)\n preDotState = 1;\n } else if (startDot !== -1) {\n // We saw a non-dot and non-path separator before our dot, so we should\n // have a good chance at having a non-empty extension\n preDotState = -1;\n }\n }\n\n if (startDot === -1 || end === -1 ||\n // We saw a non-dot character immediately before the dot\n preDotState === 0 ||\n // The (right-most) trimmed path component is exactly '..'\n preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) {\n return '';\n }\n return path.slice(startDot, end);\n}\n\nexport function format(pathObject) {\n if (pathObject === null || typeof pathObject !== 'object') {\n throw new TypeError('The \"pathObject\" argument must be of type Object. Received type ' + typeof pathObject);\n }\n return _format('/', pathObject);\n}\n\nexport function parse(path) {\n assertPath(path);\n\n var ret = { root: '', dir: '', base: '', ext: '', name: '' };\n if (path.length === 0) return ret;\n var code = path.charCodeAt(0);\n var isAbsolute = code === 47 /*/*/;\n var start;\n if (isAbsolute) {\n ret.root = '/';\n start = 1;\n } else {\n start = 0;\n }\n var startDot = -1;\n var startPart = 0;\n var end = -1;\n var matchedSlash = true;\n var i = path.length - 1;\n\n // Track the state of characters (if any) we see before our first dot and\n // after any path separator we find\n var preDotState = 0;\n\n // Get non-dir info\n for (; i >= start; --i) {\n code = path.charCodeAt(i);\n if (code === 47 /*/*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n startPart = i + 1;\n break;\n }\n continue;\n }\n if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // extension\n matchedSlash = false;\n end = i + 1;\n }\n if (code === 46) {\n // If this is our first dot, mark it as the start of our extension\n if (startDot === -1) startDot = i;else if (preDotState !== 1) preDotState = 1;\n } else if (startDot !== -1) {\n // We saw a non-dot and non-path separator before our dot, so we should\n // have a good chance at having a non-empty extension\n preDotState = -1;\n }\n }\n\n if (startDot === -1 || end === -1 ||\n // We saw a non-dot character immediately before the dot\n preDotState === 0 ||\n // The (right-most) trimmed path component is exactly '..'\n preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) {\n if (end !== -1) {\n if (startPart === 0 && isAbsolute) ret.base = ret.name = path.slice(1, end);else ret.base = ret.name = path.slice(startPart, end);\n }\n } else {\n if (startPart === 0 && isAbsolute) {\n ret.name = path.slice(1, startDot);\n ret.base = path.slice(1, end);\n } else {\n ret.name = path.slice(startPart, startDot);\n ret.base = path.slice(startPart, end);\n }\n ret.ext = path.slice(startDot, end);\n }\n\n if (startPart > 0) ret.dir = path.slice(0, startPart - 1);else if (isAbsolute) ret.dir = '/';\n\n return ret;\n}\n\nexport const sep = '/';\nexport const delimiter = ':';\nexport const win32 = null;\n", "import * as path from \"./path.js\";\n\nfunction encodePathChars(filepath) {\n return filepath\n .replace(/%/g, \"%25\")\n .replace(/\\\\/g, \"%5C\")\n .replace(/\\n/g, \"%0A\")\n .replace(/\\r/g, \"%0D\")\n .replace(/\\t/g, \"%09\");\n}\n\nexport function pathToFileURL(filepath) {\n let resolved = path.resolve(filepath);\n if (\n filepath.charCodeAt(filepath.length - 1) === /* SLASH */ 47 &&\n resolved[resolved.length - 1] !== path.sep\n ) {\n resolved += \"/\";\n }\n const url = new URL(\"file://\");\n url.pathname = encodePathChars(resolved);\n return url;\n}\n", "/**\n * @license\n * Copyright 2020 Daniel Wirtz / The AssemblyScript Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\n/**\n * @fileoverview Compiler frontend for node.js\n *\n * Uses the low-level API exported from src/index.ts so it works with the compiler compiled to\n * JavaScript as well as the compiler compiled to WebAssembly (eventually).\n *\n * Can also be packaged as a bundle suitable for in-browser use with the standard library injected\n * in the build step. See dist/asc.js for the bundle.\n */\n\nimport { fs, module, path, process, url } from \"../util/node.js\";\nimport { Colors } from \"../util/terminal.js\";\nimport { utf8 } from \"../util/text.js\";\nimport * as optionsUtil from \"../util/options.js\";\nimport * as generated from \"./index.generated.js\";\n\nimport binaryen from \"../lib/binaryen.js\";\nimport * as assemblyscriptJS from \"assemblyscript\";\n\n// Use the TS->JS variant by default\nlet assemblyscript = assemblyscriptJS;\n\n// Use the AS->Wasm variant as an option (experimental)\nconst wasmPos = process.argv.indexOf(\"--wasm\");\nif (~wasmPos) {\n const wasmPath = String(process.argv[wasmPos + 1]);\n process.argv.splice(wasmPos, 2);\n assemblyscript = await import(new URL(wasmPath, url.pathToFileURL(process.cwd() + \"/\")));\n}\n\nconst require = module.createRequire(import.meta.url);\n\nconst WIN = process.platform === \"win32\";\nconst EOL = WIN ? \"\\r\\n\" : \"\\n\";\nconst SEP = WIN ? \"\\\\\" : \"/\";\n\nconst extension = \".ts\";\nconst extension_d = `.d${extension}`;\nconst extension_re = new RegExp(\"\\\\\" + extension + \"$\");\nconst extension_re_except_d = new RegExp(\"^(?!.*\\\\.d\\\\\" + extension + \"$).*\\\\\" + extension + \"$\");\n\nfunction toUpperSnakeCase(str) {\n return str.replace(/-/g, \"_\").toUpperCase();\n}\n\nfunction isNonEmptyString(value) {\n return typeof value === \"string\" && value !== \"\";\n}\n\n/** Ensures that an object is a wrapper class instead of just a pointer. */\n// function __wrap(ptrOrObj, wrapperClass) {\n// if (typeof ptrOrObj === \"number\") {\n// return ptrOrObj === 0 ? null : wrapperClass.wrap(ptrOrObj);\n// }\n// return ptrOrObj;\n// }\n\n/** AssemblyScript version. */\nexport const version = generated.version;\n\n/** Available CLI options. */\nexport const options = generated.options;\n\n/** Prefix used for library files. */\nexport const libraryPrefix = generated.libraryPrefix;\n\n/** Bundled library files. */\nexport const libraryFiles = generated.libraryFiles;\n\n/** Bundled definition files. */\nexport const definitionFiles = generated.definitionFiles;\n\n/** Default Binaryen optimization level. */\nexport const defaultOptimizeLevel = 3;\n\n/** Default Binaryen shrink level. */\nexport const defaultShrinkLevel = 0;\n\n/** Converts a configuration object to an arguments array. */\nexport function configToArguments(options, argv = []) {\n Object.keys(options || {}).forEach(key => {\n const val = options[key];\n const opt = generated.options[key];\n if (opt && opt.type === \"b\") {\n if (val) argv.push(`--${key}`);\n } else {\n if (Array.isArray(val)) {\n val.forEach(val => { argv.push(`--${key}`, String(val)); });\n }\n else argv.push(`--${key}`, String(val));\n }\n });\n return argv;\n}\n\n/** Convenience function that parses and compiles source strings directly. */\nexport async function compileString(sources, config = {}) {\n if (typeof sources === \"string\") sources = { [`input${extension}`]: sources };\n let argv = [\n \"--outFile\", \"binary\",\n \"--textFile\", \"text\",\n ];\n configToArguments(config, argv);\n const output = {};\n const result = await main(argv.concat(Object.keys(sources)), {\n readFile: name => Object.prototype.hasOwnProperty.call(sources, name) ? sources[name] : null,\n writeFile: (name, contents) => { output[name] = contents; },\n listFiles: () => []\n });\n return Object.assign(result, output);\n}\n\n/** Runs the command line utility using the specified arguments array. */\nexport async function main(argv, options) {\n if (!Array.isArray(argv)) argv = configToArguments(argv);\n if (!options) options = {};\n\n const stats = options.stats || new Stats();\n const statsBegin = stats.begin();\n\n // Bundle semantic version\n let bundleMinorVersion = 0, bundleMajorVersion = 0, bundlePatchVersion = 0;\n const versionParts = (version || \"\").split(\".\");\n if (versionParts.length === 3) {\n bundleMajorVersion = parseInt(versionParts[0]) | 0;\n bundleMinorVersion = parseInt(versionParts[1]) | 0;\n bundlePatchVersion = parseInt(versionParts[2]) | 0;\n }\n\n const stdout = options.stdout || createMemoryStream();\n const stderr = options.stderr || createMemoryStream();\n const readFile = options.readFile || readFileNode;\n const writeFile = options.writeFile || writeFileNode;\n const listFiles = options.listFiles || listFilesNode;\n\n // Parse command line options but do not populate option defaults yet\n const optionsResult = optionsUtil.parse(argv, generated.options, false);\n let opts = optionsResult.options;\n argv = optionsResult.arguments;\n\n const stdoutColors = new Colors(stdout);\n const stderrColors = new Colors(stderr);\n if (opts.noColors) {\n stdoutColors.enabled = false;\n stderrColors.enabled = false;\n }\n\n // Check for unknown options\n const unknownOpts = optionsResult.unknown;\n if (unknownOpts.length) {\n unknownOpts.forEach(arg => {\n stderr.write(\n `${stderrColors.yellow(\"WARNING \")}Unknown option '${arg}'${EOL}`\n );\n });\n }\n\n // Check for trailing arguments\n const trailingArgv = optionsResult.trailing;\n if (trailingArgv.length) {\n stderr.write(\n `${stderrColors.yellow(\"WARNING \")}Unsupported trailing arguments: ${trailingArgv.join(\" \")}${EOL}`\n );\n }\n\n let module = null;\n let binaryenModule = null;\n\n // Prepares the result object\n let prepareResult = (error, result = {}) => {\n if (error) {\n stderr.write(`${stderrColors.red(\"FAILURE \")}${error.stack.replace(/^ERROR: /i, \"\")}${EOL}`);\n }\n if (binaryenModule) binaryenModule.dispose();\n if (!stats.total) stats.total = stats.end(statsBegin);\n return Object.assign({ error, stdout, stderr, stats }, result);\n };\n\n // Just print the version if requested\n if (opts.version) {\n stdout.write(`Version ${version}${EOL}`);\n return prepareResult(null);\n }\n\n // Set up base directory\n const baseDir = path.normalize(opts.baseDir || \".\");\n\n // Check if a config file is present\n let configPath = optionsUtil.resolvePath(opts.config || \"asconfig.json\", baseDir);\n let configFile = path.basename(configPath);\n let configDir = path.dirname(configPath);\n let config = await getConfig(configFile, configDir, readFile);\n let configHasEntries = config != null && Array.isArray(config.entries) && config.entries.length;\n\n // Print the help message if requested or no source files are provided\n if (opts.help || (!argv.length && !configHasEntries)) {\n let out = opts.help ? stdout : stderr;\n let colors = opts.help ? stdoutColors : stderrColors;\n out.write([\n colors.white(\"SYNTAX\"),\n \" \" + colors.cyan(\"asc\") + \" [entryFile ...] [options]\",\n \"\",\n colors.white(\"EXAMPLES\"),\n \" \" + colors.cyan(\"asc\") + \" hello\" + extension,\n \" \" + colors.cyan(\"asc\") + \" hello\" + extension + \" -o hello.wasm -t hello.wat\",\n \" \" + colors.cyan(\"asc\") + \" hello1\" + extension + \" hello2\" + extension + \" -o -O > hello.wasm\",\n \" \" + colors.cyan(\"asc\") + \" --config asconfig.json --target release\",\n \"\",\n colors.white(\"OPTIONS\"),\n ].concat(\n optionsUtil.help(generated.options, 24, EOL)\n ).join(EOL) + EOL);\n return prepareResult(null);\n }\n\n // I/O must be specified if not present in the environment\n if (!(fs.promises && fs.promises.readFile)) {\n if (readFile === readFileNode) throw Error(\"'options.readFile' must be specified\");\n if (writeFile === writeFileNode) throw Error(\"'options.writeFile' must be specified\");\n if (listFiles === listFilesNode) throw Error(\"'options.listFiles' must be specified\");\n }\n\n // Load additional options from asconfig.json\n const seenAsconfig = new Set();\n seenAsconfig.add(configPath);\n const target = opts.target || \"release\";\n while (config) {\n // Merge target first\n if (config.targets) {\n const targetOptions = config.targets[target];\n if (targetOptions) {\n opts = optionsUtil.merge(generated.options, opts, targetOptions, configDir);\n }\n }\n // Merge general options\n const generalOptions = config.options;\n if (generalOptions) {\n opts = optionsUtil.merge(generated.options, opts, generalOptions, configDir);\n }\n\n // Append entries\n if (config.entries) {\n for (let entry of config.entries) {\n argv.push(optionsUtil.resolvePath(entry, configDir));\n }\n }\n\n // Look up extended asconfig and repeat\n if (config.extends) {\n configPath = optionsUtil.resolvePath(config.extends, configDir, true);\n configFile = path.basename(configPath);\n configDir = path.dirname(configPath);\n if (seenAsconfig.has(configPath)) break;\n seenAsconfig.add(configPath);\n config = await getConfig(configFile, configDir, readFile);\n } else {\n break;\n }\n }\n\n // Populate option defaults once user-defined options are set\n optionsUtil.addDefaults(generated.options, opts);\n\n // If showConfig print options and exit\n if (opts.showConfig) {\n stderr.write(JSON.stringify({\n options: opts,\n entries: argv\n }, null, 2));\n return prepareResult(null);\n }\n\n // create a unique set of values\n function unique(values) {\n return [...new Set(values)];\n }\n\n // Set up options\n let program, runtime, uncheckedBehavior;\n const compilerOptions = assemblyscript.newOptions();\n switch (opts.runtime) {\n case \"stub\": runtime = 0; break;\n case \"minimal\": runtime = 1; break;\n /* incremental */\n default: runtime = 2; break;\n }\n switch (opts.uncheckedBehavior) {\n /* default */\n default: uncheckedBehavior = 0; break;\n case \"never\": uncheckedBehavior = 1; break;\n case \"always\": uncheckedBehavior = 2; break;\n }\n assemblyscript.setTarget(compilerOptions, 0);\n assemblyscript.setDebugInfo(compilerOptions, !!opts.debug);\n assemblyscript.setRuntime(compilerOptions, runtime);\n assemblyscript.setNoAssert(compilerOptions, opts.noAssert);\n assemblyscript.setExportMemory(compilerOptions, !opts.noExportMemory);\n assemblyscript.setImportMemory(compilerOptions, opts.importMemory);\n assemblyscript.setInitialMemory(compilerOptions, opts.initialMemory >>> 0);\n assemblyscript.setMaximumMemory(compilerOptions, opts.maximumMemory >>> 0);\n assemblyscript.setSharedMemory(compilerOptions, opts.sharedMemory);\n assemblyscript.setImportTable(compilerOptions, opts.importTable);\n assemblyscript.setExportTable(compilerOptions, opts.exportTable);\n if (opts.exportStart != null) {\n assemblyscript.setExportStart(compilerOptions, isNonEmptyString(opts.exportStart) ? opts.exportStart : \"_start\");\n }\n assemblyscript.setMemoryBase(compilerOptions, opts.memoryBase >>> 0);\n assemblyscript.setTableBase(compilerOptions, opts.tableBase >>> 0);\n assemblyscript.setSourceMap(compilerOptions, opts.sourceMap != null);\n assemblyscript.setUncheckedBehavior(compilerOptions, uncheckedBehavior);\n assemblyscript.setNoUnsafe(compilerOptions, opts.noUnsafe);\n assemblyscript.setPedantic(compilerOptions, opts.pedantic);\n assemblyscript.setLowMemoryLimit(compilerOptions, opts.lowMemoryLimit >>> 0);\n assemblyscript.setExportRuntime(compilerOptions, opts.exportRuntime);\n assemblyscript.setBundleVersion(compilerOptions, bundleMajorVersion, bundleMinorVersion, bundlePatchVersion);\n if (!opts.stackSize && runtime === 2 /* incremental */) {\n opts.stackSize = assemblyscript.DEFAULT_STACK_SIZE;\n }\n assemblyscript.setStackSize(compilerOptions, opts.stackSize);\n assemblyscript.setBindingsHint(compilerOptions, opts.bindings && opts.bindings.length > 0);\n\n // Instrument callback to perform GC\n // prepareResult = (original => {\n // return function gcBeforePrepareResult(err) {\n // __unpin(compilerOptions);\n // if (program) __unpin(program);\n // __collect();\n // return original(err);\n // };\n // })(prepareResult);\n\n // Add or override aliases if specified\n if (opts.use) {\n let aliases = opts.use;\n for (let i = 0, k = aliases.length; i < k; ++i) {\n let part = aliases[i];\n let p = part.indexOf(\"=\");\n if (p < 0) return prepareResult(Error(`Global alias '${part}' is invalid.`));\n let alias = part.substring(0, p).trim();\n let name = part.substring(p + 1).trim();\n if (!alias.length) {\n return prepareResult(Error(`Global alias '${part}' is invalid.`));\n }\n assemblyscript.addGlobalAlias(compilerOptions, alias, name);\n }\n }\n\n // Disable default features if specified\n let features;\n if ((features = opts.disable) != null) {\n if (typeof features === \"string\") features = features.split(\",\");\n for (let i = 0, k = features.length; i < k; ++i) {\n let name = features[i].trim();\n let flag = assemblyscript[`FEATURE_${toUpperSnakeCase(name)}`];\n if (!flag) return prepareResult(Error(`Feature '${name}' is unknown.`));\n assemblyscript.setFeature(compilerOptions, flag, false);\n }\n }\n\n // Enable experimental features if specified\n if ((features = opts.enable) != null) {\n if (typeof features === \"string\") features = features.split(\",\");\n for (let i = 0, k = features.length; i < k; ++i) {\n let name = features[i].trim();\n let flag = assemblyscript[`FEATURE_${toUpperSnakeCase(name)}`];\n if (!flag) return prepareResult(Error(`Feature '${name}' is unknown.`));\n assemblyscript.setFeature(compilerOptions, flag, true);\n }\n }\n\n // Set up optimization levels\n let optimizeLevel = 0;\n let shrinkLevel = 0;\n if (opts.optimize) {\n optimizeLevel = defaultOptimizeLevel;\n shrinkLevel = defaultShrinkLevel;\n }\n if (typeof opts.optimizeLevel === \"number\") optimizeLevel = opts.optimizeLevel;\n if (typeof opts.shrinkLevel === \"number\") shrinkLevel = opts.shrinkLevel;\n optimizeLevel = Math.min(Math.max(optimizeLevel, 0), 3);\n shrinkLevel = Math.min(Math.max(shrinkLevel, 0), 2);\n assemblyscript.setOptimizeLevelHints(compilerOptions, optimizeLevel, shrinkLevel);\n\n // Initialize the program\n program = assemblyscript.newProgram(compilerOptions);\n\n // Collect transforms *constructors* from the `--transform` CLI flag as well\n // as the `transform` option into the `transforms` array.\n let transforms = [];\n // `transform` option from `main()`\n if (Array.isArray(options.transforms)) {\n transforms.push(...options.transforms);\n }\n // `--transform` CLI flag\n if (opts.transform) {\n let transformArgs = unique(opts.transform);\n for (let i = 0, k = transformArgs.length; i < k; ++i) {\n let filename = transformArgs[i].trim();\n let resolved;\n let transform;\n if (require.resolve) {\n try {\n resolved = require.resolve(filename, { paths: [process.cwd(), baseDir] });\n transform = await import(url.pathToFileURL(resolved));\n if (transform.default) transform = transform.default;\n } catch (e1) {\n try {\n transform = require(resolved);\n } catch (e2) {\n return prepareResult(e1);\n }\n }\n } else {\n try {\n transform = await import(new URL(filename, import.meta.url));\n if (transform.default) transform = transform.default;\n } catch (e) {\n return prepareResult(e);\n }\n }\n if (!transform || (typeof transform !== \"function\" && typeof transform !== \"object\")) {\n return prepareResult(Error(\"not a transform: \" + transformArgs[i]));\n }\n transforms.push(transform);\n }\n }\n\n // Fix up the prototype of the transforms\u2019 constructors and instantiate them.\n try {\n transforms = transforms.map(transform => {\n if (typeof transform === \"function\") {\n Object.assign(transform.prototype, {\n program,\n binaryen,\n baseDir,\n stdout,\n stderr,\n log: console.error,\n readFile,\n writeFile,\n listFiles\n });\n transform = new transform();\n }\n return transform;\n });\n } catch (e) {\n return prepareResult(e);\n }\n\n async function applyTransform(name, ...args) {\n for (let i = 0, k = transforms.length; i < k; ++i) {\n let transform = transforms[i];\n if (typeof transform[name] === \"function\") {\n try {\n let start = stats.begin();\n stats.transformCount++;\n await transform[name](...args);\n stats.transformTime += stats.end(start);\n } catch (e) {\n return e;\n }\n }\n }\n }\n\n // Parse library files\n Object.keys(libraryFiles).forEach(libPath => {\n if (libPath.includes(\"/\")) return; // in sub-directory: imported on demand\n let begin = stats.begin();\n stats.parseCount++;\n assemblyscript.parse(program, libraryFiles[libPath], libraryPrefix + libPath + extension, false);\n stats.parseTime += stats.end(begin);\n });\n let customLibDirs = [];\n if (opts.lib) {\n let lib = opts.lib;\n if (typeof lib === \"string\") lib = lib.split(\",\");\n customLibDirs.push(...lib.map(p => p.trim()));\n customLibDirs = unique(customLibDirs); // `lib` and `customLibDirs` may include duplicates\n for (let i = 0, k = customLibDirs.length; i < k; ++i) { // custom\n let libDir = customLibDirs[i];\n let libFiles;\n if (libDir.endsWith(extension)) {\n libFiles = [ path.basename(libDir) ];\n libDir = path.dirname(libDir);\n } else {\n libFiles = await listFiles(libDir, baseDir) || [];\n }\n for (let libPath of libFiles) {\n let libText = await readFile(libPath, libDir);\n if (libText == null) {\n return prepareResult(Error(`Library file '${libPath}' not found.`));\n }\n libraryFiles[libPath.replace(extension_re, \"\")] = libText;\n let begin = stats.begin();\n stats.parseCount++;\n assemblyscript.parse(program, libText, libraryPrefix + libPath, false);\n stats.parseTime += stats.end(begin);\n }\n }\n }\n opts.path = opts.path || [];\n\n // Maps package names to parent directory\n const packageBases = new Map();\n\n // Gets the file matching the specified source path, imported at the given dependee path\n async function getFile(internalPath, dependeePath) {\n let sourceText = null; // text reported back to the compiler\n let sourcePath = null; // path reported back to the compiler\n\n // Try file.ext, file/index.ext, file.d.ext\n if (!internalPath.startsWith(libraryPrefix)) {\n if ((sourceText = await readFile(sourcePath = internalPath + extension, baseDir)) == null) {\n if ((sourceText = await readFile(sourcePath = internalPath + \"/index\" + extension, baseDir)) == null) {\n // portable d.ext: uses the .js file next to it in JS or becomes an import in Wasm\n sourcePath = internalPath + extension;\n sourceText = await readFile(internalPath + extension_d, baseDir);\n }\n }\n\n // Search library in this order: stdlib, custom lib dirs, paths\n } else {\n const plainName = internalPath.substring(libraryPrefix.length);\n const indexName = `${plainName}/index`;\n if (Object.prototype.hasOwnProperty.call(libraryFiles, plainName)) {\n sourceText = libraryFiles[plainName];\n sourcePath = libraryPrefix + plainName + extension;\n } else if (Object.prototype.hasOwnProperty.call(libraryFiles, indexName)) {\n sourceText = libraryFiles[indexName];\n sourcePath = libraryPrefix + indexName + extension;\n } else { // custom lib dirs\n for (const libDir of customLibDirs) {\n if ((sourceText = await readFile(plainName + extension, libDir)) != null) {\n sourcePath = libraryPrefix + plainName + extension;\n break;\n } else {\n if ((sourceText = await readFile(indexName + extension, libDir)) != null) {\n sourcePath = libraryPrefix + indexName + extension;\n break;\n }\n }\n }\n if (sourceText == null) { // paths\n const match = internalPath.match(/^~lib\\/((?:@[^/]+\\/)?[^/]+)(?:\\/(.+))?/); // ~lib/(pkg)/(path), ~lib/(@org/pkg)/(path)\n if (match) {\n const packageName = match[1];\n const filePath = match[2] || \"index\";\n const basePath = packageBases.has(dependeePath) ? packageBases.get(dependeePath) : \".\";\n const paths = [];\n const parts = path.resolve(baseDir, basePath).split(SEP);\n for (let i = parts.length, k = WIN ? 1 : 0; i >= k; --i) {\n if (parts[i - 1] !== \"node_modules\") {\n paths.push(`${parts.slice(0, i).join(SEP)}${SEP}node_modules`);\n }\n }\n paths.push(...opts.path);\n for (const currentDir of paths.map(p => path.relative(baseDir, p))) {\n const plainName = filePath;\n if ((sourceText = await readFile(path.join(currentDir, packageName, plainName + extension), baseDir)) != null) {\n sourcePath = `${libraryPrefix}${packageName}/${plainName}${extension}`;\n packageBases.set(sourcePath.replace(extension_re, \"\"), path.join(currentDir, packageName));\n break;\n }\n const indexName = `${filePath}/index`;\n if ((sourceText = await readFile(path.join(currentDir, packageName, indexName + extension), baseDir)) != null) {\n sourcePath = `${libraryPrefix}${packageName}/${indexName}${extension}`;\n packageBases.set(sourcePath.replace(extension_re, \"\"), path.join(currentDir, packageName));\n break;\n }\n }\n }\n }\n }\n }\n // No such file\n if (sourceText == null) return null;\n return { sourceText, sourcePath };\n }\n\n // Gets all pending imported files from the the backlog\n function getBacklog(paths = []) {\n do {\n let internalPath = assemblyscript.nextFile(program);\n if (internalPath == null) break;\n paths.push(internalPath);\n } while (true);\n return paths;\n }\n\n // Parses the backlog of imported files after including entry files\n async function parseBacklog() {\n let backlog;\n while ((backlog = getBacklog()).length) {\n let files = [];\n for (let internalPath of backlog) {\n const dependee = assemblyscript.getDependee(program, internalPath);\n files.push(getFile(internalPath, dependee)); // queue\n }\n files = await Promise.all(files); // parallel\n for (let i = 0, k = backlog.length; i < k; ++i) {\n const internalPath = backlog[i];\n const file = files[i];\n const begin = stats.begin();\n stats.parseCount++;\n if (file) {\n assemblyscript.parse(program, file.sourceText, file.sourcePath, false);\n } else {\n assemblyscript.parse(program, null, internalPath + extension, false);\n }\n stats.parseTime += stats.end(begin);\n }\n }\n const numErrors = checkDiagnostics(program, stderr, opts.disableWarning, options.reportDiagnostic, stderrColors.enabled);\n if (numErrors) {\n const err = Error(`${numErrors} parse error(s)`);\n err.stack = err.message; // omit stack\n return prepareResult(err);\n }\n }\n\n // Include runtime before entry files so its setup runs first\n {\n let runtimeName = String(opts.runtime);\n let runtimePath = `rt/index-${runtimeName}`;\n let runtimeText = libraryFiles[runtimePath];\n if (runtimeText == null) {\n runtimePath = runtimeName;\n runtimeText = await readFile(runtimePath + extension, baseDir);\n if (runtimeText == null) return prepareResult(Error(`Runtime '${path.resolve(baseDir, runtimePath + extension)}' is not found.`));\n } else {\n runtimePath = `~lib/${runtimePath}`;\n }\n let begin = stats.begin();\n stats.parseCount++;\n assemblyscript.parse(program, runtimeText, runtimePath + extension, true);\n stats.parseTime += stats.end(begin);\n }\n\n // Include entry files\n for (let i = 0, k = argv.length; i < k; ++i) {\n const filename = String(argv[i]);\n\n // Setting the path to relative path\n let sourcePath = path.isAbsolute(filename)\n ? path.relative(baseDir, filename)\n : path.normalize(filename);\n\n sourcePath = sourcePath\n .replace(/\\\\/g, \"/\")\n .replace(extension_re, \"\")\n .replace(/\\/$/, \"\");\n \n // Try entryPath.ext, then entryPath/index.ext\n let sourceText = await readFile(sourcePath + extension, baseDir);\n if (sourceText == null) {\n const path = `${sourcePath}/index${extension}`;\n sourceText = await readFile(path, baseDir);\n if (sourceText != null) sourcePath = path;\n else sourcePath += extension;\n } else {\n sourcePath += extension;\n }\n\n let begin = stats.begin();\n stats.parseCount++;\n assemblyscript.parse(program, sourceText, sourcePath, true);\n stats.parseTime += stats.end(begin);\n }\n\n // Parse entry files\n {\n let code = await parseBacklog();\n if (code) return code;\n }\n\n // Call afterParse transform hook\n {\n let error = await applyTransform(\"afterParse\", program.parser);\n if (error) return prepareResult(error);\n }\n\n // Parse additional files, if any\n {\n let code = await parseBacklog();\n if (code) return code;\n }\n\n // Pre-emptively initialize the program\n {\n let begin = stats.begin();\n stats.initializeCount++;\n try {\n assemblyscript.initializeProgram(program);\n } catch (e) {\n crash(\"initialize\", e);\n }\n stats.initializeTime += stats.end(begin);\n }\n\n // Call afterInitialize transform hook\n {\n let error = await applyTransform(\"afterInitialize\", program);\n if (error) return prepareResult(error);\n }\n\n // Compile the program\n {\n let begin = stats.begin();\n stats.compileCount++;\n try {\n module = assemblyscript.compile(program);\n } catch (e) {\n crash(\"compile\", e);\n }\n stats.compileTime += stats.end(begin);\n }\n // From here on we are going to use Binaryen.js\n binaryenModule = binaryen.wrapModule(\n typeof module === \"number\" || module instanceof Number\n ? assemblyscript.getBinaryenModuleRef(module)\n : module.ref\n );\n let numErrors = checkDiagnostics(program, stderr, opts.disableWarning, options.reportDiagnostic, stderrColors.enabled);\n if (numErrors) {\n const err = Error(`${numErrors} compile error(s)`);\n err.stack = err.message; // omit stack\n return prepareResult(err);\n }\n\n // Call afterCompile transform hook\n {\n let error = await applyTransform(\"afterCompile\", binaryenModule);\n if (error) return prepareResult(error);\n }\n\n numErrors = checkDiagnostics(program, stderr, opts.disableWarning, options.reportDiagnostic, stderrColors.enabled);\n if (numErrors) {\n const err = Error(`${numErrors} afterCompile error(s)`);\n err.stack = err.message; // omit stack\n return prepareResult(err);\n }\n\n // Validate the module if requested\n if (!opts.noValidate) {\n let begin = stats.begin();\n stats.validateCount++;\n let isValid = assemblyscript.validate(module);\n stats.validateTime += stats.end(begin);\n if (!isValid) {\n return prepareResult(Error(\"validate error\"));\n }\n }\n\n // Set Binaryen-specific options\n if (opts.trapMode === \"clamp\" || opts.trapMode === \"js\") {\n let begin = stats.begin();\n try {\n binaryenModule.runPasses([`trap-mode-${opts.trapMode}`]);\n } catch (e) {\n crash(\"runPasses\", e);\n }\n stats.compileTime += stats.end(begin);\n } else if (opts.trapMode !== \"allow\") {\n return prepareResult(Error(\"Unsupported trap mode\"));\n }\n\n // Optimize the module\n const debugInfo = opts.debug;\n const converge = opts.converge;\n const zeroFilledMemory = opts.importMemory\n ? opts.zeroFilledMemory\n : false;\n\n const runPasses = [];\n if (opts.runPasses) {\n if (typeof opts.runPasses === \"string\") {\n opts.runPasses = opts.runPasses.split(\",\");\n }\n if (opts.runPasses.length) {\n opts.runPasses.forEach(pass => {\n if (!runPasses.includes(pass = pass.trim())) {\n runPasses.push(pass);\n }\n });\n }\n }\n\n {\n let begin = stats.begin();\n try {\n stats.optimizeCount++;\n assemblyscript.optimize(module, optimizeLevel, shrinkLevel, debugInfo, zeroFilledMemory);\n } catch (e) {\n crash(\"optimize\", e);\n }\n try {\n binaryenModule.runPasses(runPasses);\n } catch (e) {\n crash(\"runPasses\", e);\n }\n if (converge) {\n let last;\n try {\n let begin = stats.begin();\n stats.emitCount++;\n last = binaryenModule.emitBinary();\n stats.emitTime += stats.end(begin);\n } catch (e) {\n crash(\"emitBinary (converge)\", e);\n }\n do {\n try {\n stats.optimizeCount++;\n assemblyscript.optimize(module, optimizeLevel, shrinkLevel, debugInfo, zeroFilledMemory);\n } catch (e) {\n crash(\"optimize (converge)\", e);\n }\n try {\n binaryenModule.runPasses(runPasses);\n } catch (e) {\n crash(\"runPasses (converge)\", e);\n }\n let next;\n try {\n let begin = stats.begin();\n stats.emitCount++;\n next = binaryenModule.emitBinary();\n stats.emitTime += stats.end(begin);\n } catch (e) {\n crash(\"emitBinary (converge)\", e);\n }\n if (next.length >= last.length) {\n if (next.length > last.length) {\n stderr.write(`Last converge was suboptimal.${EOL}`);\n }\n break;\n }\n last = next;\n } while (true);\n }\n stats.optimizeTime += stats.end(begin);\n }\n\n const pending = [];\n\n // Prepare output\n if (!opts.noEmit) {\n if (opts.binaryFile) {\n // We catched lagacy field for binary output (before 0.20)\n return prepareResult(Error(\"Usage of the --binaryFile compiler option is no longer supported. Use --outFile instead.\"));\n }\n let bindings = opts.bindings || [];\n let hasStdout = false;\n let hasOutFile = opts.outFile != null;\n let hasTextFile = opts.textFile != null;\n let hasOutput = hasOutFile || hasTextFile;\n let hasFileOutput = (hasOutFile && opts.outFile.length > 0) || (hasTextFile && opts.textFile.length > 0);\n let basepath = hasFileOutput\n ? (opts.outFile || opts.textFile).replace(/\\.\\w+$/, \"\")\n : null;\n let basename = hasFileOutput\n ? path.basename(basepath)\n : \"output\";\n\n assemblyscript.setBasenameHint(compilerOptions, basename);\n\n // Write binary\n if (opts.outFile != null) {\n let sourceMapURL = opts.sourceMap != null\n ? opts.sourceMap.length\n ? opts.sourceMap\n : `./${basename}.wasm.map`\n : null;\n\n let begin = stats.begin();\n stats.emitCount++;\n let wasm;\n try {\n wasm = binaryenModule.emitBinary(sourceMapURL);\n } catch (e) {\n crash(\"emitBinary\", e);\n }\n stats.emitTime += stats.end(begin);\n\n if (opts.outFile.length) {\n pending.push(\n writeFile(opts.outFile, wasm.binary, baseDir)\n );\n } else {\n hasStdout = true;\n writeStdout(wasm.binary);\n }\n\n // Post-process source map\n if (wasm.sourceMap != \"\") {\n if (opts.outFile.length) {\n let map = JSON.parse(wasm.sourceMap);\n map.sourceRoot = `./${basename}`;\n let contents = [];\n for (let i = 0, k = map.sources.length; i < k; ++i) {\n let name = map.sources[i];\n let text = assemblyscript.getSource(program, name.replace(extension_re, \"\"));\n if (text == null) return prepareResult(Error(`Source of file '${name}' not found.`));\n contents[i] = text;\n }\n map.sourcesContent = contents;\n pending.push(\n writeFile(path.join(\n path.dirname(opts.outFile),\n path.basename(sourceMapURL)\n ).replace(/^\\.\\//, \"\"), JSON.stringify(map), baseDir)\n );\n } else {\n stderr.write(`Skipped source map (no output path)${EOL}`);\n }\n }\n }\n\n // Write text (also fallback)\n if (opts.textFile != null || !hasOutput) {\n let begin = stats.begin();\n stats.emitCount++;\n let out;\n try {\n // use superset text format when extension is `.wast`.\n // Otherwise use official stack IR format (wat).\n out = opts.textFile?.endsWith(\".wast\")\n ? binaryenModule.emitText()\n : binaryenModule.emitStackIR(true);\n } catch (e) {\n crash(\"emitText\", e);\n }\n stats.emitTime += stats.end(begin);\n\n if (opts.textFile != null && opts.textFile.length) {\n pending.push(\n writeFile(opts.textFile, out, baseDir)\n );\n } else if (!hasStdout) {\n hasStdout = true;\n writeStdout(out);\n }\n }\n\n // Write TypeScript definition\n const bindingsEsm = bindings.includes(\"esm\");\n const bindingsRaw = !bindingsEsm && bindings.includes(\"raw\");\n if (bindingsEsm || bindingsRaw) {\n if (basepath) {\n let begin = stats.begin();\n stats.emitCount++;\n let source;\n try {\n source = assemblyscript.buildTSD(program, bindingsEsm);\n } catch (e) {\n crash(\"buildTSD\", e);\n }\n stats.emitTime += stats.end(begin);\n pending.push(\n writeFile(basepath + \".d.ts\", source, baseDir)\n );\n } else {\n stderr.write(`Skipped TypeScript binding (no output path)${EOL}`);\n }\n }\n\n // Write JavaScript bindings\n if (bindingsEsm || bindingsRaw) {\n if (basepath) {\n let begin = stats.begin();\n stats.emitCount++;\n let source;\n try {\n source = assemblyscript.buildJS(program, bindingsEsm);\n } catch (e) {\n crash(\"buildJS\", e);\n }\n stats.emitTime += stats.end(begin);\n pending.push(\n writeFile(basepath + \".js\", source, baseDir)\n );\n } else {\n stderr.write(`Skipped JavaScript binding (no output path)${EOL}`);\n }\n }\n }\n\n try {\n await Promise.all(pending);\n } catch (err) {\n return prepareResult(err);\n }\n\n stats.total = stats.end(statsBegin);\n if (opts.stats) stderr.write(stats.toString());\n\n return prepareResult(null);\n\n // Default implementation to read files on node\n async function readFileNode(filename, baseDir) {\n let name = path.resolve(baseDir, filename);\n try {\n stats.readCount++;\n return await fs.promises.readFile(name, \"utf8\");\n } catch (e) {\n return null;\n }\n }\n\n // Default implementation to write files on node\n async function writeFileNode(filename, contents, baseDir) {\n try {\n stats.writeCount++;\n const dirPath = path.resolve(baseDir, path.dirname(filename));\n const filePath = path.join(dirPath, path.basename(filename));\n await fs.promises.mkdir(dirPath, { recursive: true });\n await fs.promises.writeFile(filePath, contents);\n return true;\n } catch (e) {\n return false;\n }\n }\n\n // Default implementation to list files on node\n async function listFilesNode(dirname, baseDir) {\n try {\n stats.readCount++;\n return (await fs.promises.readdir(path.join(baseDir, dirname)))\n .filter(file => extension_re_except_d.test(file));\n } catch (e) {\n return null;\n }\n }\n\n // Writes to stdout\n function writeStdout(contents) {\n if (!writeStdout.used) {\n writeStdout.used = true;\n stats.writeCount++;\n }\n stdout.write(contents);\n }\n\n // Crash handler\n function crash(stage, e) {\n const BAR = stdoutColors.red(\"\u258C \");\n console.error([\n EOL,\n BAR, \"Whoops, the AssemblyScript compiler has crashed during \", stage, \" :-(\", EOL,\n BAR, EOL,\n (typeof e.stack === \"string\"\n ? [\n BAR, \"Here is the stack trace hinting at the problem, perhaps it's useful?\", EOL,\n BAR, EOL,\n e.stack.replace(/^/mg, BAR), EOL\n ]\n : [\n BAR, \"There is no stack trace. Perhaps a Binaryen exception above / in console?\", EOL,\n BAR, EOL,\n BAR, \"> \" + e.stack, EOL\n ]\n ).join(\"\"),\n BAR, EOL,\n BAR, \"If you see where the error is, feel free to send us a pull request. If not,\", EOL,\n BAR, \"please let us know: https://github.com/AssemblyScript/assemblyscript/issues\", EOL,\n BAR, EOL,\n BAR, \"Thank you!\", EOL\n ].join(\"\"));\n process.exit(1);\n }\n}\n\nfunction isObject(arg) {\n return Object.prototype.toString.call(arg) === \"[object Object]\";\n}\n\nasync function getConfig(file, baseDir, readFile) {\n const contents = await readFile(file, baseDir);\n const location = path.join(baseDir, file);\n if (!contents) return null;\n\n // obtain the configuration\n let config;\n try {\n config = JSON.parse(contents);\n } catch(ex) {\n throw new Error(`Asconfig is not valid json: ${location}`);\n }\n\n // validate asconfig shape\n if (config.options && !isObject(config.options)) {\n throw new Error(`Asconfig.options is not an object: ${location}`);\n }\n\n if (config.include && !Array.isArray(config.include)) {\n throw new Error(`Asconfig.include is not an array: ${location}`);\n }\n\n if (config.targets) {\n if (!isObject(config.targets)) {\n throw new Error(`Asconfig.targets is not an object: ${location}`);\n }\n const targets = Object.keys(config.targets);\n for (let i = 0; i < targets.length; i++) {\n const target = targets[i];\n if (!isObject(config.targets[target])) {\n throw new Error(`Asconfig.targets.${target} is not an object: ${location}`);\n }\n }\n }\n\n if (config.extends && typeof config.extends !== \"string\") {\n throw new Error(`Asconfig.extends is not a string: ${location}`);\n }\n\n return config;\n}\n\n/** Checks diagnostics emitted so far for errors. */\nexport function checkDiagnostics(program, stderr, disableWarning, reportDiagnostic, useColors) {\n if (typeof useColors === \"undefined\" && stderr) useColors = stderr.isTTY;\n let numErrors = 0;\n do {\n let diagnostic = assemblyscript.nextDiagnostic(program);\n if (!diagnostic) break;\n if (stderr) {\n const isDisabledWarning = (diagnostic) => {\n if (disableWarning == null) return false;\n if (!disableWarning.length) return true;\n const code = assemblyscript.getDiagnosticCode(diagnostic);\n return disableWarning.includes(code);\n };\n if (assemblyscript.isError(diagnostic) || !isDisabledWarning(diagnostic)) {\n stderr.write(assemblyscript.formatDiagnostic(diagnostic, useColors, true) + EOL + EOL);\n }\n }\n if (reportDiagnostic) {\n function wrapRange(range) {\n return range && {\n start: assemblyscript.getRangeStart(range),\n end: assemblyscript.getRangeEnd(range),\n source: wrapSource(assemblyscript.getRangeSource(range))\n } || null;\n }\n function wrapSource(source) {\n return source && {\n normalizedPath: assemblyscript.getSourceNormalizedPath(source)\n } || null;\n }\n reportDiagnostic({\n message: assemblyscript.getDiagnosticMessage(diagnostic),\n code: assemblyscript.getDiagnosticCode(diagnostic),\n category: assemblyscript.getDiagnosticCategory(diagnostic),\n range: wrapRange(assemblyscript.getDiagnosticRange(diagnostic)),\n relatedRange: wrapRange(assemblyscript.getDiagnosticRelatedRange(diagnostic))\n });\n }\n if (assemblyscript.isError(diagnostic)) ++numErrors;\n } while (true);\n return numErrors;\n}\n\nexport class Stats {\n readCount = 0;\n writeCount = 0;\n parseTime = 0;\n parseCount = 0;\n initializeTime = 0;\n initializeCount = 0;\n compileTime = 0;\n compileCount = 0;\n emitTime = 0;\n emitCount = 0;\n validateTime = 0;\n validateCount = 0;\n optimizeTime = 0;\n optimizeCount = 0;\n transformTime = 0;\n transformCount = 0;\n begin() {\n return process.hrtime();\n }\n end(begin) {\n const hrtime = process.hrtime(begin);\n return hrtime[0] * 1e9 + hrtime[1];\n }\n toString() {\n const formatTime = time => time ? `${(time / 1e6).toFixed(3)} ms` : \"n/a\";\n const keys = Object.keys(this).filter(key => key.endsWith(\"Time\")).map(key => key.substring(0, key.length - 4));\n const times = keys.map(key => formatTime(this[`${key}Time`]));\n const counts = keys.map(key => this[`${key}Count`].toString());\n const keysLen = keys.reduce((current, key) => Math.max(key.length, current), 0);\n const timesLen = times.reduce((current, time) => Math.max(time.length, current), 0);\n const countsLen = counts.reduce((current, count) => Math.max(count.length, current), 0);\n const totalLen = keysLen + timesLen + countsLen + 6;\n const out = [];\n out.push(`\u256D\u2500${\"\u2500\".repeat(totalLen)}\u2500\u256E${EOL}`);\n const header = `Stats`;\n out.push(`\u2502 ${header}${\" \".repeat(totalLen - header.length)} \u2502${EOL}`);\n out.push(`\u255E\u2550${\"\u2550\".repeat(keysLen)}\u2550\u2564\u2550${\"\u2550\".repeat(timesLen)}\u2550\u2564\u2550${\"\u2550\".repeat(countsLen)}\u2550\u2561${EOL}`);\n for (let i = 0, k = keys.length; i < k; ++i) {\n out.push(`\u2502 ${keys[i].padEnd(keysLen)} \u2502 ${times[i].padStart(timesLen)} \u2502 ${counts[i].padStart(countsLen)} \u2502${EOL}`);\n }\n out.push(`\u251C\u2500${\"\u2500\".repeat(keysLen)}\u2500\u2534\u2500${\"\u2500\".repeat(timesLen)}\u2500\u2534\u2500${\"\u2500\".repeat(countsLen)}\u2500\u2524${EOL}`);\n const totalTime = `Took ${formatTime(this.total)}`;\n out.push(`\u2502 ${totalTime}${\" \".repeat(totalLen - totalTime.length)} \u2502${EOL}`);\n const readsWrites = `${this.readCount} reads, ${this.writeCount} writes`;\n out.push(`\u2502 ${readsWrites}${\" \".repeat(totalLen - readsWrites.length)} \u2502${EOL}`);\n out.push(`\u2570\u2500${\"\u2500\".repeat(totalLen)}\u2500\u256F${EOL}`);\n return out.join(\"\");\n }\n}\n\nlet allocBuffer = typeof global !== \"undefined\" && global.Buffer\n ? global.Buffer.allocUnsafe || (len => new global.Buffer(len))\n : len => new Uint8Array(len);\n\n/** Creates a memory stream that can be used in place of stdout/stderr. */\nexport function createMemoryStream(fn) {\n let stream = [];\n stream.write = function(chunk) {\n if (fn) fn(chunk);\n if (typeof chunk === \"string\") {\n let buffer = allocBuffer(utf8.length(chunk));\n utf8.write(chunk, buffer, 0);\n chunk = buffer;\n }\n this.push(chunk);\n };\n stream.reset = function() {\n stream.length = 0;\n };\n stream.toBuffer = function() {\n let offset = 0, i = 0, k = this.length;\n while (i < k) offset += this[i++].length;\n let buffer = allocBuffer(offset);\n offset = i = 0;\n while (i < k) {\n buffer.set(this[i], offset);\n offset += this[i].length;\n ++i;\n }\n return buffer;\n };\n stream.toString = function() {\n let buffer = this.toBuffer();\n return utf8.read(buffer, 0, buffer.length);\n };\n return stream;\n}\n\n/** Compatible TypeScript compiler options for syntax highlighting etc. */\nexport const tscOptions = {\n alwaysStrict: true,\n strictNullChecks: true,\n noImplicitAny: true,\n noImplicitReturns: true,\n noImplicitThis: true,\n noEmitOnError: true,\n noPropertyAccessFromIndexSignature: true,\n experimentalDecorators: true,\n target: \"esnext\",\n noLib: true,\n types: [],\n allowJs: false\n};\n\nexport * as default from \"./index.js\";\n", "/**\n * @fileoverview Node.js polyfills.\n * @license Apache-2.0\n */\n\nexport const isNode = Object.prototype.toString.call(typeof globalThis.process !== 'undefined' ? globalThis.process : 0) === '[object process]';\n\nvar fs;\nvar module;\nvar path;\nvar process;\nvar url;\n\nif (isNode) {\n fs = await import(\"fs\");\n module = await import(\"module\");\n path = await import(\"path\");\n process = globalThis.process;\n url = await import(\"url\");\n} else {\n fs = await import(\"./browser/fs.js\");\n module = await import(\"./browser/module.js\");\n path = await import(\"./browser/path.js\");\n process = await import(\"./browser/process.js\");\n url = await import(\"./browser/url.js\");\n}\n\nexport {\n fs,\n module,\n path,\n process,\n url\n};\n", "/**\n * @fileoverview Terminal utility.\n * @license Apache-2.0\n */\n\nvar proc = typeof process !== \"undefined\" && process || {};\nvar isCI = proc.env && \"CI\" in proc.env;\n\nexport const GRAY = \"\\u001b[90m\";\nexport const RED = \"\\u001b[91m\";\nexport const GREEN = \"\\u001b[92m\";\nexport const YELLOW = \"\\u001b[93m\";\nexport const BLUE = \"\\u001b[94m\";\nexport const MAGENTA = \"\\u001b[95m\";\nexport const CYAN = \"\\u001b[96m\";\nexport const WHITE = \"\\u001b[97m\";\nexport const RESET = \"\\u001b[0m\";\n\nexport class Colors {\n constructor(stream) {\n this.stream = stream;\n this.enabled = Boolean((this.stream && this.stream.isTTY) || isCI);\n }\n gray(text) { return this.enabled ? GRAY + text + RESET : text; }\n red(text) { return this.enabled ? RED + text + RESET : text; }\n green(text) { return this.enabled ? GREEN + text + RESET : text; }\n yellow(text) { return this.enabled ? YELLOW + text + RESET : text; }\n blue(text) { return this.enabled ? BLUE + text + RESET : text; }\n magenta(text) { return this.enabled ? MAGENTA + text + RESET : text; }\n cyan(text) { return this.enabled ? CYAN + text + RESET : text; }\n white(text) { return this.enabled ? WHITE + text + RESET : text; }\n}\n\nexport const stdoutColors = new Colors(proc.stdout);\nexport const stderrColors = new Colors(proc.stderr);\n", "function Diff() {}\nDiff.prototype = {\n diff: function diff(oldString, newString) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var callback = options.callback;\n\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n\n this.options = options;\n var self = this;\n\n function done(value) {\n if (callback) {\n setTimeout(function () {\n callback(undefined, value);\n }, 0);\n return true;\n } else {\n return value;\n }\n } // Allow subclasses to massage the input prior to running\n\n\n oldString = this.castInput(oldString);\n newString = this.castInput(newString);\n oldString = this.removeEmpty(this.tokenize(oldString));\n newString = this.removeEmpty(this.tokenize(newString));\n var newLen = newString.length,\n oldLen = oldString.length;\n var editLength = 1;\n var maxEditLength = newLen + oldLen;\n\n if (options.maxEditLength) {\n maxEditLength = Math.min(maxEditLength, options.maxEditLength);\n }\n\n var bestPath = [{\n newPos: -1,\n components: []\n }]; // Seed editLength = 0, i.e. the content starts with the same values\n\n var oldPos = this.extractCommon(bestPath[0], newString, oldString, 0);\n\n if (bestPath[0].newPos + 1 >= newLen && oldPos + 1 >= oldLen) {\n // Identity per the equality and tokenizer\n return done([{\n value: this.join(newString),\n count: newString.length\n }]);\n } // Main worker method. checks all permutations of a given edit length for acceptance.\n\n\n function execEditLength() {\n for (var diagonalPath = -1 * editLength; diagonalPath <= editLength; diagonalPath += 2) {\n var basePath = void 0;\n\n var addPath = bestPath[diagonalPath - 1],\n removePath = bestPath[diagonalPath + 1],\n _oldPos = (removePath ? removePath.newPos : 0) - diagonalPath;\n\n if (addPath) {\n // No one else is going to attempt to use this value, clear it\n bestPath[diagonalPath - 1] = undefined;\n }\n\n var canAdd = addPath && addPath.newPos + 1 < newLen,\n canRemove = removePath && 0 <= _oldPos && _oldPos < oldLen;\n\n if (!canAdd && !canRemove) {\n // If this path is a terminal then prune\n bestPath[diagonalPath] = undefined;\n continue;\n } // Select the diagonal that we want to branch from. We select the prior\n // path whose position in the new string is the farthest from the origin\n // and does not pass the bounds of the diff graph\n\n\n if (!canAdd || canRemove && addPath.newPos < removePath.newPos) {\n basePath = clonePath(removePath);\n self.pushComponent(basePath.components, undefined, true);\n } else {\n basePath = addPath; // No need to clone, we've pulled it from the list\n\n basePath.newPos++;\n self.pushComponent(basePath.components, true, undefined);\n }\n\n _oldPos = self.extractCommon(basePath, newString, oldString, diagonalPath); // If we have hit the end of both strings, then we are done\n\n if (basePath.newPos + 1 >= newLen && _oldPos + 1 >= oldLen) {\n return done(buildValues(self, basePath.components, newString, oldString, self.useLongestToken));\n } else {\n // Otherwise track this path as a potential candidate and continue.\n bestPath[diagonalPath] = basePath;\n }\n }\n\n editLength++;\n } // Performs the length of edit iteration. Is a bit fugly as this has to support the\n // sync and async mode which is never fun. Loops over execEditLength until a value\n // is produced, or until the edit length exceeds options.maxEditLength (if given),\n // in which case it will return undefined.\n\n\n if (callback) {\n (function exec() {\n setTimeout(function () {\n if (editLength > maxEditLength) {\n return callback();\n }\n\n if (!execEditLength()) {\n exec();\n }\n }, 0);\n })();\n } else {\n while (editLength <= maxEditLength) {\n var ret = execEditLength();\n\n if (ret) {\n return ret;\n }\n }\n }\n },\n pushComponent: function pushComponent(components, added, removed) {\n var last = components[components.length - 1];\n\n if (last && last.added === added && last.removed === removed) {\n // We need to clone here as the component clone operation is just\n // as shallow array clone\n components[components.length - 1] = {\n count: last.count + 1,\n added: added,\n removed: removed\n };\n } else {\n components.push({\n count: 1,\n added: added,\n removed: removed\n });\n }\n },\n extractCommon: function extractCommon(basePath, newString, oldString, diagonalPath) {\n var newLen = newString.length,\n oldLen = oldString.length,\n newPos = basePath.newPos,\n oldPos = newPos - diagonalPath,\n commonCount = 0;\n\n while (newPos + 1 < newLen && oldPos + 1 < oldLen && this.equals(newString[newPos + 1], oldString[oldPos + 1])) {\n newPos++;\n oldPos++;\n commonCount++;\n }\n\n if (commonCount) {\n basePath.components.push({\n count: commonCount\n });\n }\n\n basePath.newPos = newPos;\n return oldPos;\n },\n equals: function equals(left, right) {\n if (this.options.comparator) {\n return this.options.comparator(left, right);\n } else {\n return left === right || this.options.ignoreCase && left.toLowerCase() === right.toLowerCase();\n }\n },\n removeEmpty: function removeEmpty(array) {\n var ret = [];\n\n for (var i = 0; i < array.length; i++) {\n if (array[i]) {\n ret.push(array[i]);\n }\n }\n\n return ret;\n },\n castInput: function castInput(value) {\n return value;\n },\n tokenize: function tokenize(value) {\n return value.split('');\n },\n join: function join(chars) {\n return chars.join('');\n }\n};\n\nfunction buildValues(diff, components, newString, oldString, useLongestToken) {\n var componentPos = 0,\n componentLen = components.length,\n newPos = 0,\n oldPos = 0;\n\n for (; componentPos < componentLen; componentPos++) {\n var component = components[componentPos];\n\n if (!component.removed) {\n if (!component.added && useLongestToken) {\n var value = newString.slice(newPos, newPos + component.count);\n value = value.map(function (value, i) {\n var oldValue = oldString[oldPos + i];\n return oldValue.length > value.length ? oldValue : value;\n });\n component.value = diff.join(value);\n } else {\n component.value = diff.join(newString.slice(newPos, newPos + component.count));\n }\n\n newPos += component.count; // Common case\n\n if (!component.added) {\n oldPos += component.count;\n }\n } else {\n component.value = diff.join(oldString.slice(oldPos, oldPos + component.count));\n oldPos += component.count; // Reverse add and remove so removes are output first to match common convention\n // The diffing algorithm is tied to add then remove output and this is the simplest\n // route to get the desired output with minimal overhead.\n\n if (componentPos && components[componentPos - 1].added) {\n var tmp = components[componentPos - 1];\n components[componentPos - 1] = components[componentPos];\n components[componentPos] = tmp;\n }\n }\n } // Special case handle for when one terminal is ignored (i.e. whitespace).\n // For this case we merge the terminal into the prior string and drop the change.\n // This is only available for string mode.\n\n\n var lastComponent = components[componentLen - 1];\n\n if (componentLen > 1 && typeof lastComponent.value === 'string' && (lastComponent.added || lastComponent.removed) && diff.equals('', lastComponent.value)) {\n components[componentLen - 2].value += lastComponent.value;\n components.pop();\n }\n\n return components;\n}\n\nfunction clonePath(path) {\n return {\n newPos: path.newPos,\n components: path.components.slice(0)\n };\n}\n\nvar characterDiff = new Diff();\nfunction diffChars(oldStr, newStr, options) {\n return characterDiff.diff(oldStr, newStr, options);\n}\n\nfunction generateOptions(options, defaults) {\n if (typeof options === 'function') {\n defaults.callback = options;\n } else if (options) {\n for (var name in options) {\n /* istanbul ignore else */\n if (options.hasOwnProperty(name)) {\n defaults[name] = options[name];\n }\n }\n }\n\n return defaults;\n}\n\n//\n// Ranges and exceptions:\n// Latin-1 Supplement, 0080\u201300FF\n// - U+00D7 \u00D7 Multiplication sign\n// - U+00F7 \u00F7 Division sign\n// Latin Extended-A, 0100\u2013017F\n// Latin Extended-B, 0180\u2013024F\n// IPA Extensions, 0250\u201302AF\n// Spacing Modifier Letters, 02B0\u201302FF\n// - U+02C7 \u02C7 ˇ Caron\n// - U+02D8 \u02D8 ˘ Breve\n// - U+02D9 \u02D9 ˙ Dot Above\n// - U+02DA \u02DA ˚ Ring Above\n// - U+02DB \u02DB ˛ Ogonek\n// - U+02DC \u02DC ˜ Small Tilde\n// - U+02DD \u02DD ˝ Double Acute Accent\n// Latin Extended Additional, 1E00\u20131EFF\n\nvar extendedWordChars = /^[A-Za-z\\xC0-\\u02C6\\u02C8-\\u02D7\\u02DE-\\u02FF\\u1E00-\\u1EFF]+$/;\nvar reWhitespace = /\\S/;\nvar wordDiff = new Diff();\n\nwordDiff.equals = function (left, right) {\n if (this.options.ignoreCase) {\n left = left.toLowerCase();\n right = right.toLowerCase();\n }\n\n return left === right || this.options.ignoreWhitespace && !reWhitespace.test(left) && !reWhitespace.test(right);\n};\n\nwordDiff.tokenize = function (value) {\n // All whitespace symbols except newline group into one token, each newline - in separate token\n var tokens = value.split(/([^\\S\\r\\n]+|[()[\\]{}'\"\\r\\n]|\\b)/); // Join the boundary splits that we do not consider to be boundaries. This is primarily the extended Latin character set.\n\n for (var i = 0; i < tokens.length - 1; i++) {\n // If we have an empty string in the next field and we have only word chars before and after, merge\n if (!tokens[i + 1] && tokens[i + 2] && extendedWordChars.test(tokens[i]) && extendedWordChars.test(tokens[i + 2])) {\n tokens[i] += tokens[i + 2];\n tokens.splice(i + 1, 2);\n i--;\n }\n }\n\n return tokens;\n};\n\nfunction diffWords(oldStr, newStr, options) {\n options = generateOptions(options, {\n ignoreWhitespace: true\n });\n return wordDiff.diff(oldStr, newStr, options);\n}\nfunction diffWordsWithSpace(oldStr, newStr, options) {\n return wordDiff.diff(oldStr, newStr, options);\n}\n\nvar lineDiff = new Diff();\n\nlineDiff.tokenize = function (value) {\n var retLines = [],\n linesAndNewlines = value.split(/(\\n|\\r\\n)/); // Ignore the final empty token that occurs if the string ends with a new line\n\n if (!linesAndNewlines[linesAndNewlines.length - 1]) {\n linesAndNewlines.pop();\n } // Merge the content and line separators into single tokens\n\n\n for (var i = 0; i < linesAndNewlines.length; i++) {\n var line = linesAndNewlines[i];\n\n if (i % 2 && !this.options.newlineIsToken) {\n retLines[retLines.length - 1] += line;\n } else {\n if (this.options.ignoreWhitespace) {\n line = line.trim();\n }\n\n retLines.push(line);\n }\n }\n\n return retLines;\n};\n\nfunction diffLines(oldStr, newStr, callback) {\n return lineDiff.diff(oldStr, newStr, callback);\n}\nfunction diffTrimmedLines(oldStr, newStr, callback) {\n var options = generateOptions(callback, {\n ignoreWhitespace: true\n });\n return lineDiff.diff(oldStr, newStr, options);\n}\n\nvar sentenceDiff = new Diff();\n\nsentenceDiff.tokenize = function (value) {\n return value.split(/(\\S.+?[.!?])(?=\\s+|$)/);\n};\n\nfunction diffSentences(oldStr, newStr, callback) {\n return sentenceDiff.diff(oldStr, newStr, callback);\n}\n\nvar cssDiff = new Diff();\n\ncssDiff.tokenize = function (value) {\n return value.split(/([{}:;,]|\\s+)/);\n};\n\nfunction diffCss(oldStr, newStr, callback) {\n return cssDiff.diff(oldStr, newStr, callback);\n}\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n}\n\nfunction _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter);\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n return arr2;\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nvar objectPrototypeToString = Object.prototype.toString;\nvar jsonDiff = new Diff(); // Discriminate between two lines of pretty-printed, serialized JSON where one of them has a\n// dangling comma and the other doesn't. Turns out including the dangling comma yields the nicest output:\n\njsonDiff.useLongestToken = true;\njsonDiff.tokenize = lineDiff.tokenize;\n\njsonDiff.castInput = function (value) {\n var _this$options = this.options,\n undefinedReplacement = _this$options.undefinedReplacement,\n _this$options$stringi = _this$options.stringifyReplacer,\n stringifyReplacer = _this$options$stringi === void 0 ? function (k, v) {\n return typeof v === 'undefined' ? undefinedReplacement : v;\n } : _this$options$stringi;\n return typeof value === 'string' ? value : JSON.stringify(canonicalize(value, null, null, stringifyReplacer), stringifyReplacer, ' ');\n};\n\njsonDiff.equals = function (left, right) {\n return Diff.prototype.equals.call(jsonDiff, left.replace(/,([\\r\\n])/g, '$1'), right.replace(/,([\\r\\n])/g, '$1'));\n};\n\nfunction diffJson(oldObj, newObj, options) {\n return jsonDiff.diff(oldObj, newObj, options);\n} // This function handles the presence of circular references by bailing out when encountering an\n// object that is already on the \"stack\" of items being processed. Accepts an optional replacer\n\nfunction canonicalize(obj, stack, replacementStack, replacer, key) {\n stack = stack || [];\n replacementStack = replacementStack || [];\n\n if (replacer) {\n obj = replacer(key, obj);\n }\n\n var i;\n\n for (i = 0; i < stack.length; i += 1) {\n if (stack[i] === obj) {\n return replacementStack[i];\n }\n }\n\n var canonicalizedObj;\n\n if ('[object Array]' === objectPrototypeToString.call(obj)) {\n stack.push(obj);\n canonicalizedObj = new Array(obj.length);\n replacementStack.push(canonicalizedObj);\n\n for (i = 0; i < obj.length; i += 1) {\n canonicalizedObj[i] = canonicalize(obj[i], stack, replacementStack, replacer, key);\n }\n\n stack.pop();\n replacementStack.pop();\n return canonicalizedObj;\n }\n\n if (obj && obj.toJSON) {\n obj = obj.toJSON();\n }\n\n if (_typeof(obj) === 'object' && obj !== null) {\n stack.push(obj);\n canonicalizedObj = {};\n replacementStack.push(canonicalizedObj);\n\n var sortedKeys = [],\n _key;\n\n for (_key in obj) {\n /* istanbul ignore else */\n if (obj.hasOwnProperty(_key)) {\n sortedKeys.push(_key);\n }\n }\n\n sortedKeys.sort();\n\n for (i = 0; i < sortedKeys.length; i += 1) {\n _key = sortedKeys[i];\n canonicalizedObj[_key] = canonicalize(obj[_key], stack, replacementStack, replacer, _key);\n }\n\n stack.pop();\n replacementStack.pop();\n } else {\n canonicalizedObj = obj;\n }\n\n return canonicalizedObj;\n}\n\nvar arrayDiff = new Diff();\n\narrayDiff.tokenize = function (value) {\n return value.slice();\n};\n\narrayDiff.join = arrayDiff.removeEmpty = function (value) {\n return value;\n};\n\nfunction diffArrays(oldArr, newArr, callback) {\n return arrayDiff.diff(oldArr, newArr, callback);\n}\n\nfunction parsePatch(uniDiff) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var diffstr = uniDiff.split(/\\r\\n|[\\n\\v\\f\\r\\x85]/),\n delimiters = uniDiff.match(/\\r\\n|[\\n\\v\\f\\r\\x85]/g) || [],\n list = [],\n i = 0;\n\n function parseIndex() {\n var index = {};\n list.push(index); // Parse diff metadata\n\n while (i < diffstr.length) {\n var line = diffstr[i]; // File header found, end parsing diff metadata\n\n if (/^(\\-\\-\\-|\\+\\+\\+|@@)\\s/.test(line)) {\n break;\n } // Diff index\n\n\n var header = /^(?:Index:|diff(?: -r \\w+)+)\\s+(.+?)\\s*$/.exec(line);\n\n if (header) {\n index.index = header[1];\n }\n\n i++;\n } // Parse file headers if they are defined. Unified diff requires them, but\n // there's no technical issues to have an isolated hunk without file header\n\n\n parseFileHeader(index);\n parseFileHeader(index); // Parse hunks\n\n index.hunks = [];\n\n while (i < diffstr.length) {\n var _line = diffstr[i];\n\n if (/^(Index:|diff|\\-\\-\\-|\\+\\+\\+)\\s/.test(_line)) {\n break;\n } else if (/^@@/.test(_line)) {\n index.hunks.push(parseHunk());\n } else if (_line && options.strict) {\n // Ignore unexpected content unless in strict mode\n throw new Error('Unknown line ' + (i + 1) + ' ' + JSON.stringify(_line));\n } else {\n i++;\n }\n }\n } // Parses the --- and +++ headers, if none are found, no lines\n // are consumed.\n\n\n function parseFileHeader(index) {\n var fileHeader = /^(---|\\+\\+\\+)\\s+(.*)$/.exec(diffstr[i]);\n\n if (fileHeader) {\n var keyPrefix = fileHeader[1] === '---' ? 'old' : 'new';\n var data = fileHeader[2].split('\\t', 2);\n var fileName = data[0].replace(/\\\\\\\\/g, '\\\\');\n\n if (/^\".*\"$/.test(fileName)) {\n fileName = fileName.substr(1, fileName.length - 2);\n }\n\n index[keyPrefix + 'FileName'] = fileName;\n index[keyPrefix + 'Header'] = (data[1] || '').trim();\n i++;\n }\n } // Parses a hunk\n // This assumes that we are at the start of a hunk.\n\n\n function parseHunk() {\n var chunkHeaderIndex = i,\n chunkHeaderLine = diffstr[i++],\n chunkHeader = chunkHeaderLine.split(/@@ -(\\d+)(?:,(\\d+))? \\+(\\d+)(?:,(\\d+))? @@/);\n var hunk = {\n oldStart: +chunkHeader[1],\n oldLines: typeof chunkHeader[2] === 'undefined' ? 1 : +chunkHeader[2],\n newStart: +chunkHeader[3],\n newLines: typeof chunkHeader[4] === 'undefined' ? 1 : +chunkHeader[4],\n lines: [],\n linedelimiters: []\n }; // Unified Diff Format quirk: If the chunk size is 0,\n // the first number is one lower than one would expect.\n // https://www.artima.com/weblogs/viewpost.jsp?thread=164293\n\n if (hunk.oldLines === 0) {\n hunk.oldStart += 1;\n }\n\n if (hunk.newLines === 0) {\n hunk.newStart += 1;\n }\n\n var addCount = 0,\n removeCount = 0;\n\n for (; i < diffstr.length; i++) {\n // Lines starting with '---' could be mistaken for the \"remove line\" operation\n // But they could be the header for the next file. Therefore prune such cases out.\n if (diffstr[i].indexOf('--- ') === 0 && i + 2 < diffstr.length && diffstr[i + 1].indexOf('+++ ') === 0 && diffstr[i + 2].indexOf('@@') === 0) {\n break;\n }\n\n var operation = diffstr[i].length == 0 && i != diffstr.length - 1 ? ' ' : diffstr[i][0];\n\n if (operation === '+' || operation === '-' || operation === ' ' || operation === '\\\\') {\n hunk.lines.push(diffstr[i]);\n hunk.linedelimiters.push(delimiters[i] || '\\n');\n\n if (operation === '+') {\n addCount++;\n } else if (operation === '-') {\n removeCount++;\n } else if (operation === ' ') {\n addCount++;\n removeCount++;\n }\n } else {\n break;\n }\n } // Handle the empty block count case\n\n\n if (!addCount && hunk.newLines === 1) {\n hunk.newLines = 0;\n }\n\n if (!removeCount && hunk.oldLines === 1) {\n hunk.oldLines = 0;\n } // Perform optional sanity checking\n\n\n if (options.strict) {\n if (addCount !== hunk.newLines) {\n throw new Error('Added line count did not match for hunk at line ' + (chunkHeaderIndex + 1));\n }\n\n if (removeCount !== hunk.oldLines) {\n throw new Error('Removed line count did not match for hunk at line ' + (chunkHeaderIndex + 1));\n }\n }\n\n return hunk;\n }\n\n while (i < diffstr.length) {\n parseIndex();\n }\n\n return list;\n}\n\n// Iterator that traverses in the range of [min, max], stepping\n// by distance from a given start position. I.e. for [0, 4], with\n// start of 2, this will iterate 2, 3, 1, 4, 0.\nfunction distanceIterator (start, minLine, maxLine) {\n var wantForward = true,\n backwardExhausted = false,\n forwardExhausted = false,\n localOffset = 1;\n return function iterator() {\n if (wantForward && !forwardExhausted) {\n if (backwardExhausted) {\n localOffset++;\n } else {\n wantForward = false;\n } // Check if trying to fit beyond text length, and if not, check it fits\n // after offset location (or desired location on first iteration)\n\n\n if (start + localOffset <= maxLine) {\n return localOffset;\n }\n\n forwardExhausted = true;\n }\n\n if (!backwardExhausted) {\n if (!forwardExhausted) {\n wantForward = true;\n } // Check if trying to fit before text beginning, and if not, check it fits\n // before offset location\n\n\n if (minLine <= start - localOffset) {\n return -localOffset++;\n }\n\n backwardExhausted = true;\n return iterator();\n } // We tried to fit hunk before text beginning and beyond text length, then\n // hunk can't fit on the text. Return undefined\n\n };\n}\n\nfunction applyPatch(source, uniDiff) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n if (typeof uniDiff === 'string') {\n uniDiff = parsePatch(uniDiff);\n }\n\n if (Array.isArray(uniDiff)) {\n if (uniDiff.length > 1) {\n throw new Error('applyPatch only works with a single input.');\n }\n\n uniDiff = uniDiff[0];\n } // Apply the diff to the input\n\n\n var lines = source.split(/\\r\\n|[\\n\\v\\f\\r\\x85]/),\n delimiters = source.match(/\\r\\n|[\\n\\v\\f\\r\\x85]/g) || [],\n hunks = uniDiff.hunks,\n compareLine = options.compareLine || function (lineNumber, line, operation, patchContent) {\n return line === patchContent;\n },\n errorCount = 0,\n fuzzFactor = options.fuzzFactor || 0,\n minLine = 0,\n offset = 0,\n removeEOFNL,\n addEOFNL;\n /**\n * Checks if the hunk exactly fits on the provided location\n */\n\n\n function hunkFits(hunk, toPos) {\n for (var j = 0; j < hunk.lines.length; j++) {\n var line = hunk.lines[j],\n operation = line.length > 0 ? line[0] : ' ',\n content = line.length > 0 ? line.substr(1) : line;\n\n if (operation === ' ' || operation === '-') {\n // Context sanity check\n if (!compareLine(toPos + 1, lines[toPos], operation, content)) {\n errorCount++;\n\n if (errorCount > fuzzFactor) {\n return false;\n }\n }\n\n toPos++;\n }\n }\n\n return true;\n } // Search best fit offsets for each hunk based on the previous ones\n\n\n for (var i = 0; i < hunks.length; i++) {\n var hunk = hunks[i],\n maxLine = lines.length - hunk.oldLines,\n localOffset = 0,\n toPos = offset + hunk.oldStart - 1;\n var iterator = distanceIterator(toPos, minLine, maxLine);\n\n for (; localOffset !== undefined; localOffset = iterator()) {\n if (hunkFits(hunk, toPos + localOffset)) {\n hunk.offset = offset += localOffset;\n break;\n }\n }\n\n if (localOffset === undefined) {\n return false;\n } // Set lower text limit to end of the current hunk, so next ones don't try\n // to fit over already patched text\n\n\n minLine = hunk.offset + hunk.oldStart + hunk.oldLines;\n } // Apply patch hunks\n\n\n var diffOffset = 0;\n\n for (var _i = 0; _i < hunks.length; _i++) {\n var _hunk = hunks[_i],\n _toPos = _hunk.oldStart + _hunk.offset + diffOffset - 1;\n\n diffOffset += _hunk.newLines - _hunk.oldLines;\n\n for (var j = 0; j < _hunk.lines.length; j++) {\n var line = _hunk.lines[j],\n operation = line.length > 0 ? line[0] : ' ',\n content = line.length > 0 ? line.substr(1) : line,\n delimiter = _hunk.linedelimiters[j];\n\n if (operation === ' ') {\n _toPos++;\n } else if (operation === '-') {\n lines.splice(_toPos, 1);\n delimiters.splice(_toPos, 1);\n /* istanbul ignore else */\n } else if (operation === '+') {\n lines.splice(_toPos, 0, content);\n delimiters.splice(_toPos, 0, delimiter);\n _toPos++;\n } else if (operation === '\\\\') {\n var previousOperation = _hunk.lines[j - 1] ? _hunk.lines[j - 1][0] : null;\n\n if (previousOperation === '+') {\n removeEOFNL = true;\n } else if (previousOperation === '-') {\n addEOFNL = true;\n }\n }\n }\n } // Handle EOFNL insertion/removal\n\n\n if (removeEOFNL) {\n while (!lines[lines.length - 1]) {\n lines.pop();\n delimiters.pop();\n }\n } else if (addEOFNL) {\n lines.push('');\n delimiters.push('\\n');\n }\n\n for (var _k = 0; _k < lines.length - 1; _k++) {\n lines[_k] = lines[_k] + delimiters[_k];\n }\n\n return lines.join('');\n} // Wrapper that supports multiple file patches via callbacks.\n\nfunction applyPatches(uniDiff, options) {\n if (typeof uniDiff === 'string') {\n uniDiff = parsePatch(uniDiff);\n }\n\n var currentIndex = 0;\n\n function processIndex() {\n var index = uniDiff[currentIndex++];\n\n if (!index) {\n return options.complete();\n }\n\n options.loadFile(index, function (err, data) {\n if (err) {\n return options.complete(err);\n }\n\n var updatedContent = applyPatch(data, index, options);\n options.patched(index, updatedContent, function (err) {\n if (err) {\n return options.complete(err);\n }\n\n processIndex();\n });\n });\n }\n\n processIndex();\n}\n\nfunction structuredPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, newHeader, options) {\n if (!options) {\n options = {};\n }\n\n if (typeof options.context === 'undefined') {\n options.context = 4;\n }\n\n var diff = diffLines(oldStr, newStr, options);\n\n if (!diff) {\n return;\n }\n\n diff.push({\n value: '',\n lines: []\n }); // Append an empty value to make cleanup easier\n\n function contextLines(lines) {\n return lines.map(function (entry) {\n return ' ' + entry;\n });\n }\n\n var hunks = [];\n var oldRangeStart = 0,\n newRangeStart = 0,\n curRange = [],\n oldLine = 1,\n newLine = 1;\n\n var _loop = function _loop(i) {\n var current = diff[i],\n lines = current.lines || current.value.replace(/\\n$/, '').split('\\n');\n current.lines = lines;\n\n if (current.added || current.removed) {\n var _curRange;\n\n // If we have previous context, start with that\n if (!oldRangeStart) {\n var prev = diff[i - 1];\n oldRangeStart = oldLine;\n newRangeStart = newLine;\n\n if (prev) {\n curRange = options.context > 0 ? contextLines(prev.lines.slice(-options.context)) : [];\n oldRangeStart -= curRange.length;\n newRangeStart -= curRange.length;\n }\n } // Output our changes\n\n\n (_curRange = curRange).push.apply(_curRange, _toConsumableArray(lines.map(function (entry) {\n return (current.added ? '+' : '-') + entry;\n }))); // Track the updated file position\n\n\n if (current.added) {\n newLine += lines.length;\n } else {\n oldLine += lines.length;\n }\n } else {\n // Identical context lines. Track line changes\n if (oldRangeStart) {\n // Close out any changes that have been output (or join overlapping)\n if (lines.length <= options.context * 2 && i < diff.length - 2) {\n var _curRange2;\n\n // Overlapping\n (_curRange2 = curRange).push.apply(_curRange2, _toConsumableArray(contextLines(lines)));\n } else {\n var _curRange3;\n\n // end the range and output\n var contextSize = Math.min(lines.length, options.context);\n\n (_curRange3 = curRange).push.apply(_curRange3, _toConsumableArray(contextLines(lines.slice(0, contextSize))));\n\n var hunk = {\n oldStart: oldRangeStart,\n oldLines: oldLine - oldRangeStart + contextSize,\n newStart: newRangeStart,\n newLines: newLine - newRangeStart + contextSize,\n lines: curRange\n };\n\n if (i >= diff.length - 2 && lines.length <= options.context) {\n // EOF is inside this hunk\n var oldEOFNewline = /\\n$/.test(oldStr);\n var newEOFNewline = /\\n$/.test(newStr);\n var noNlBeforeAdds = lines.length == 0 && curRange.length > hunk.oldLines;\n\n if (!oldEOFNewline && noNlBeforeAdds && oldStr.length > 0) {\n // special case: old has no eol and no trailing context; no-nl can end up before adds\n // however, if the old file is empty, do not output the no-nl line\n curRange.splice(hunk.oldLines, 0, '\\\\ No newline at end of file');\n }\n\n if (!oldEOFNewline && !noNlBeforeAdds || !newEOFNewline) {\n curRange.push('\\\\ No newline at end of file');\n }\n }\n\n hunks.push(hunk);\n oldRangeStart = 0;\n newRangeStart = 0;\n curRange = [];\n }\n }\n\n oldLine += lines.length;\n newLine += lines.length;\n }\n };\n\n for (var i = 0; i < diff.length; i++) {\n _loop(i);\n }\n\n return {\n oldFileName: oldFileName,\n newFileName: newFileName,\n oldHeader: oldHeader,\n newHeader: newHeader,\n hunks: hunks\n };\n}\nfunction formatPatch(diff) {\n var ret = [];\n\n if (diff.oldFileName == diff.newFileName) {\n ret.push('Index: ' + diff.oldFileName);\n }\n\n ret.push('===================================================================');\n ret.push('--- ' + diff.oldFileName + (typeof diff.oldHeader === 'undefined' ? '' : '\\t' + diff.oldHeader));\n ret.push('+++ ' + diff.newFileName + (typeof diff.newHeader === 'undefined' ? '' : '\\t' + diff.newHeader));\n\n for (var i = 0; i < diff.hunks.length; i++) {\n var hunk = diff.hunks[i]; // Unified Diff Format quirk: If the chunk size is 0,\n // the first number is one lower than one would expect.\n // https://www.artima.com/weblogs/viewpost.jsp?thread=164293\n\n if (hunk.oldLines === 0) {\n hunk.oldStart -= 1;\n }\n\n if (hunk.newLines === 0) {\n hunk.newStart -= 1;\n }\n\n ret.push('@@ -' + hunk.oldStart + ',' + hunk.oldLines + ' +' + hunk.newStart + ',' + hunk.newLines + ' @@');\n ret.push.apply(ret, hunk.lines);\n }\n\n return ret.join('\\n') + '\\n';\n}\nfunction createTwoFilesPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, newHeader, options) {\n return formatPatch(structuredPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, newHeader, options));\n}\nfunction createPatch(fileName, oldStr, newStr, oldHeader, newHeader, options) {\n return createTwoFilesPatch(fileName, fileName, oldStr, newStr, oldHeader, newHeader, options);\n}\n\nfunction arrayEqual(a, b) {\n if (a.length !== b.length) {\n return false;\n }\n\n return arrayStartsWith(a, b);\n}\nfunction arrayStartsWith(array, start) {\n if (start.length > array.length) {\n return false;\n }\n\n for (var i = 0; i < start.length; i++) {\n if (start[i] !== array[i]) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction calcLineCount(hunk) {\n var _calcOldNewLineCount = calcOldNewLineCount(hunk.lines),\n oldLines = _calcOldNewLineCount.oldLines,\n newLines = _calcOldNewLineCount.newLines;\n\n if (oldLines !== undefined) {\n hunk.oldLines = oldLines;\n } else {\n delete hunk.oldLines;\n }\n\n if (newLines !== undefined) {\n hunk.newLines = newLines;\n } else {\n delete hunk.newLines;\n }\n}\nfunction merge(mine, theirs, base) {\n mine = loadPatch(mine, base);\n theirs = loadPatch(theirs, base);\n var ret = {}; // For index we just let it pass through as it doesn't have any necessary meaning.\n // Leaving sanity checks on this to the API consumer that may know more about the\n // meaning in their own context.\n\n if (mine.index || theirs.index) {\n ret.index = mine.index || theirs.index;\n }\n\n if (mine.newFileName || theirs.newFileName) {\n if (!fileNameChanged(mine)) {\n // No header or no change in ours, use theirs (and ours if theirs does not exist)\n ret.oldFileName = theirs.oldFileName || mine.oldFileName;\n ret.newFileName = theirs.newFileName || mine.newFileName;\n ret.oldHeader = theirs.oldHeader || mine.oldHeader;\n ret.newHeader = theirs.newHeader || mine.newHeader;\n } else if (!fileNameChanged(theirs)) {\n // No header or no change in theirs, use ours\n ret.oldFileName = mine.oldFileName;\n ret.newFileName = mine.newFileName;\n ret.oldHeader = mine.oldHeader;\n ret.newHeader = mine.newHeader;\n } else {\n // Both changed... figure it out\n ret.oldFileName = selectField(ret, mine.oldFileName, theirs.oldFileName);\n ret.newFileName = selectField(ret, mine.newFileName, theirs.newFileName);\n ret.oldHeader = selectField(ret, mine.oldHeader, theirs.oldHeader);\n ret.newHeader = selectField(ret, mine.newHeader, theirs.newHeader);\n }\n }\n\n ret.hunks = [];\n var mineIndex = 0,\n theirsIndex = 0,\n mineOffset = 0,\n theirsOffset = 0;\n\n while (mineIndex < mine.hunks.length || theirsIndex < theirs.hunks.length) {\n var mineCurrent = mine.hunks[mineIndex] || {\n oldStart: Infinity\n },\n theirsCurrent = theirs.hunks[theirsIndex] || {\n oldStart: Infinity\n };\n\n if (hunkBefore(mineCurrent, theirsCurrent)) {\n // This patch does not overlap with any of the others, yay.\n ret.hunks.push(cloneHunk(mineCurrent, mineOffset));\n mineIndex++;\n theirsOffset += mineCurrent.newLines - mineCurrent.oldLines;\n } else if (hunkBefore(theirsCurrent, mineCurrent)) {\n // This patch does not overlap with any of the others, yay.\n ret.hunks.push(cloneHunk(theirsCurrent, theirsOffset));\n theirsIndex++;\n mineOffset += theirsCurrent.newLines - theirsCurrent.oldLines;\n } else {\n // Overlap, merge as best we can\n var mergedHunk = {\n oldStart: Math.min(mineCurrent.oldStart, theirsCurrent.oldStart),\n oldLines: 0,\n newStart: Math.min(mineCurrent.newStart + mineOffset, theirsCurrent.oldStart + theirsOffset),\n newLines: 0,\n lines: []\n };\n mergeLines(mergedHunk, mineCurrent.oldStart, mineCurrent.lines, theirsCurrent.oldStart, theirsCurrent.lines);\n theirsIndex++;\n mineIndex++;\n ret.hunks.push(mergedHunk);\n }\n }\n\n return ret;\n}\n\nfunction loadPatch(param, base) {\n if (typeof param === 'string') {\n if (/^@@/m.test(param) || /^Index:/m.test(param)) {\n return parsePatch(param)[0];\n }\n\n if (!base) {\n throw new Error('Must provide a base reference or pass in a patch');\n }\n\n return structuredPatch(undefined, undefined, base, param);\n }\n\n return param;\n}\n\nfunction fileNameChanged(patch) {\n return patch.newFileName && patch.newFileName !== patch.oldFileName;\n}\n\nfunction selectField(index, mine, theirs) {\n if (mine === theirs) {\n return mine;\n } else {\n index.conflict = true;\n return {\n mine: mine,\n theirs: theirs\n };\n }\n}\n\nfunction hunkBefore(test, check) {\n return test.oldStart < check.oldStart && test.oldStart + test.oldLines < check.oldStart;\n}\n\nfunction cloneHunk(hunk, offset) {\n return {\n oldStart: hunk.oldStart,\n oldLines: hunk.oldLines,\n newStart: hunk.newStart + offset,\n newLines: hunk.newLines,\n lines: hunk.lines\n };\n}\n\nfunction mergeLines(hunk, mineOffset, mineLines, theirOffset, theirLines) {\n // This will generally result in a conflicted hunk, but there are cases where the context\n // is the only overlap where we can successfully merge the content here.\n var mine = {\n offset: mineOffset,\n lines: mineLines,\n index: 0\n },\n their = {\n offset: theirOffset,\n lines: theirLines,\n index: 0\n }; // Handle any leading content\n\n insertLeading(hunk, mine, their);\n insertLeading(hunk, their, mine); // Now in the overlap content. Scan through and select the best changes from each.\n\n while (mine.index < mine.lines.length && their.index < their.lines.length) {\n var mineCurrent = mine.lines[mine.index],\n theirCurrent = their.lines[their.index];\n\n if ((mineCurrent[0] === '-' || mineCurrent[0] === '+') && (theirCurrent[0] === '-' || theirCurrent[0] === '+')) {\n // Both modified ...\n mutualChange(hunk, mine, their);\n } else if (mineCurrent[0] === '+' && theirCurrent[0] === ' ') {\n var _hunk$lines;\n\n // Mine inserted\n (_hunk$lines = hunk.lines).push.apply(_hunk$lines, _toConsumableArray(collectChange(mine)));\n } else if (theirCurrent[0] === '+' && mineCurrent[0] === ' ') {\n var _hunk$lines2;\n\n // Theirs inserted\n (_hunk$lines2 = hunk.lines).push.apply(_hunk$lines2, _toConsumableArray(collectChange(their)));\n } else if (mineCurrent[0] === '-' && theirCurrent[0] === ' ') {\n // Mine removed or edited\n removal(hunk, mine, their);\n } else if (theirCurrent[0] === '-' && mineCurrent[0] === ' ') {\n // Their removed or edited\n removal(hunk, their, mine, true);\n } else if (mineCurrent === theirCurrent) {\n // Context identity\n hunk.lines.push(mineCurrent);\n mine.index++;\n their.index++;\n } else {\n // Context mismatch\n conflict(hunk, collectChange(mine), collectChange(their));\n }\n } // Now push anything that may be remaining\n\n\n insertTrailing(hunk, mine);\n insertTrailing(hunk, their);\n calcLineCount(hunk);\n}\n\nfunction mutualChange(hunk, mine, their) {\n var myChanges = collectChange(mine),\n theirChanges = collectChange(their);\n\n if (allRemoves(myChanges) && allRemoves(theirChanges)) {\n // Special case for remove changes that are supersets of one another\n if (arrayStartsWith(myChanges, theirChanges) && skipRemoveSuperset(their, myChanges, myChanges.length - theirChanges.length)) {\n var _hunk$lines3;\n\n (_hunk$lines3 = hunk.lines).push.apply(_hunk$lines3, _toConsumableArray(myChanges));\n\n return;\n } else if (arrayStartsWith(theirChanges, myChanges) && skipRemoveSuperset(mine, theirChanges, theirChanges.length - myChanges.length)) {\n var _hunk$lines4;\n\n (_hunk$lines4 = hunk.lines).push.apply(_hunk$lines4, _toConsumableArray(theirChanges));\n\n return;\n }\n } else if (arrayEqual(myChanges, theirChanges)) {\n var _hunk$lines5;\n\n (_hunk$lines5 = hunk.lines).push.apply(_hunk$lines5, _toConsumableArray(myChanges));\n\n return;\n }\n\n conflict(hunk, myChanges, theirChanges);\n}\n\nfunction removal(hunk, mine, their, swap) {\n var myChanges = collectChange(mine),\n theirChanges = collectContext(their, myChanges);\n\n if (theirChanges.merged) {\n var _hunk$lines6;\n\n (_hunk$lines6 = hunk.lines).push.apply(_hunk$lines6, _toConsumableArray(theirChanges.merged));\n } else {\n conflict(hunk, swap ? theirChanges : myChanges, swap ? myChanges : theirChanges);\n }\n}\n\nfunction conflict(hunk, mine, their) {\n hunk.conflict = true;\n hunk.lines.push({\n conflict: true,\n mine: mine,\n theirs: their\n });\n}\n\nfunction insertLeading(hunk, insert, their) {\n while (insert.offset < their.offset && insert.index < insert.lines.length) {\n var line = insert.lines[insert.index++];\n hunk.lines.push(line);\n insert.offset++;\n }\n}\n\nfunction insertTrailing(hunk, insert) {\n while (insert.index < insert.lines.length) {\n var line = insert.lines[insert.index++];\n hunk.lines.push(line);\n }\n}\n\nfunction collectChange(state) {\n var ret = [],\n operation = state.lines[state.index][0];\n\n while (state.index < state.lines.length) {\n var line = state.lines[state.index]; // Group additions that are immediately after subtractions and treat them as one \"atomic\" modify change.\n\n if (operation === '-' && line[0] === '+') {\n operation = '+';\n }\n\n if (operation === line[0]) {\n ret.push(line);\n state.index++;\n } else {\n break;\n }\n }\n\n return ret;\n}\n\nfunction collectContext(state, matchChanges) {\n var changes = [],\n merged = [],\n matchIndex = 0,\n contextChanges = false,\n conflicted = false;\n\n while (matchIndex < matchChanges.length && state.index < state.lines.length) {\n var change = state.lines[state.index],\n match = matchChanges[matchIndex]; // Once we've hit our add, then we are done\n\n if (match[0] === '+') {\n break;\n }\n\n contextChanges = contextChanges || change[0] !== ' ';\n merged.push(match);\n matchIndex++; // Consume any additions in the other block as a conflict to attempt\n // to pull in the remaining context after this\n\n if (change[0] === '+') {\n conflicted = true;\n\n while (change[0] === '+') {\n changes.push(change);\n change = state.lines[++state.index];\n }\n }\n\n if (match.substr(1) === change.substr(1)) {\n changes.push(change);\n state.index++;\n } else {\n conflicted = true;\n }\n }\n\n if ((matchChanges[matchIndex] || '')[0] === '+' && contextChanges) {\n conflicted = true;\n }\n\n if (conflicted) {\n return changes;\n }\n\n while (matchIndex < matchChanges.length) {\n merged.push(matchChanges[matchIndex++]);\n }\n\n return {\n merged: merged,\n changes: changes\n };\n}\n\nfunction allRemoves(changes) {\n return changes.reduce(function (prev, change) {\n return prev && change[0] === '-';\n }, true);\n}\n\nfunction skipRemoveSuperset(state, removeChanges, delta) {\n for (var i = 0; i < delta; i++) {\n var changeContent = removeChanges[removeChanges.length - delta + i].substr(1);\n\n if (state.lines[state.index + i] !== ' ' + changeContent) {\n return false;\n }\n }\n\n state.index += delta;\n return true;\n}\n\nfunction calcOldNewLineCount(lines) {\n var oldLines = 0;\n var newLines = 0;\n lines.forEach(function (line) {\n if (typeof line !== 'string') {\n var myCount = calcOldNewLineCount(line.mine);\n var theirCount = calcOldNewLineCount(line.theirs);\n\n if (oldLines !== undefined) {\n if (myCount.oldLines === theirCount.oldLines) {\n oldLines += myCount.oldLines;\n } else {\n oldLines = undefined;\n }\n }\n\n if (newLines !== undefined) {\n if (myCount.newLines === theirCount.newLines) {\n newLines += myCount.newLines;\n } else {\n newLines = undefined;\n }\n }\n } else {\n if (newLines !== undefined && (line[0] === '+' || line[0] === ' ')) {\n newLines++;\n }\n\n if (oldLines !== undefined && (line[0] === '-' || line[0] === ' ')) {\n oldLines++;\n }\n }\n });\n return {\n oldLines: oldLines,\n newLines: newLines\n };\n}\n\n// See: http://code.google.com/p/google-diff-match-patch/wiki/API\nfunction convertChangesToDMP(changes) {\n var ret = [],\n change,\n operation;\n\n for (var i = 0; i < changes.length; i++) {\n change = changes[i];\n\n if (change.added) {\n operation = 1;\n } else if (change.removed) {\n operation = -1;\n } else {\n operation = 0;\n }\n\n ret.push([operation, change.value]);\n }\n\n return ret;\n}\n\nfunction convertChangesToXML(changes) {\n var ret = [];\n\n for (var i = 0; i < changes.length; i++) {\n var change = changes[i];\n\n if (change.added) {\n ret.push('');\n } else if (change.removed) {\n ret.push('');\n }\n\n ret.push(escapeHTML(change.value));\n\n if (change.added) {\n ret.push('');\n } else if (change.removed) {\n ret.push('');\n }\n }\n\n return ret.join('');\n}\n\nfunction escapeHTML(s) {\n var n = s;\n n = n.replace(/&/g, '&');\n n = n.replace(//g, '>');\n n = n.replace(/\"/g, '"');\n return n;\n}\n\nexport { Diff, applyPatch, applyPatches, canonicalize, convertChangesToDMP, convertChangesToXML, createPatch, createTwoFilesPatch, diffArrays, diffChars, diffCss, diffJson, diffLines, diffSentences, diffTrimmedLines, diffWords, diffWordsWithSpace, merge, parsePatch, structuredPatch };\n", "/**\n * @fileoverview Text utility.\n * @license Apache-2.0\n */\n\nimport * as Diff from \"diff\";\nimport { stdoutColors } from \"./terminal.js\";\n\nexport function utf8Length(string) {\n var len = 0;\n for (var i = 0, k = string.length; i < k; ++i) {\n let c = string.charCodeAt(i);\n if (c < 128) {\n len += 1;\n } else if (c < 2048) {\n len += 2;\n } else if ((c & 0xFC00) === 0xD800 && i + 1 < k && (string.charCodeAt(i + 1) & 0xFC00) === 0xDC00) {\n ++i;\n len += 4;\n } else {\n len += 3;\n }\n }\n return len;\n}\n\nexport function utf8Read(buffer, start, end) {\n var len = end - start;\n if (len < 1) return \"\";\n var parts = null,\n chunk = [],\n i = 0, // char offset\n t; // temporary\n while (start < end) {\n t = buffer[start++];\n if (t < 128) {\n chunk[i++] = t;\n } else if (t > 191 && t < 224) {\n chunk[i++] = (t & 31) << 6 | buffer[start++] & 63;\n } else if (t > 239 && t < 365) {\n t = ((t & 7) << 18 | (buffer[start++] & 63) << 12 | (buffer[start++] & 63) << 6 | buffer[start++] & 63) - 0x10000;\n chunk[i++] = 0xD800 + (t >> 10);\n chunk[i++] = 0xDC00 + (t & 1023);\n } else {\n chunk[i++] = (t & 15) << 12 | (buffer[start++] & 63) << 6 | buffer[start++] & 63;\n }\n if (i >= 8192) {\n (parts || (parts = [])).push(String.fromCharCode(...chunk));\n i = 0;\n }\n }\n if (parts) {\n if (i) parts.push(String.fromCharCode(...chunk.slice(0, i)));\n return parts.join(\"\");\n }\n return String.fromCharCode(...chunk.slice(0, i));\n}\n\nexport function utf8Write(string, buffer, offset) {\n var start = offset;\n for (var i = 0, k = string.length; i < k; ++i) {\n let c1 = string.charCodeAt(i), c2;\n if (c1 < 128) {\n buffer[offset++] = c1;\n } else if (c1 < 2048) {\n buffer[offset++] = c1 >> 6 | 192;\n buffer[offset++] = c1 & 63 | 128;\n } else if ((c1 & 0xFC00) === 0xD800 && i + 1 < k && ((c2 = string.charCodeAt(i + 1)) & 0xFC00) === 0xDC00) {\n c1 = 0x10000 + ((c1 & 0x03FF) << 10) + (c2 & 0x03FF);\n ++i;\n buffer[offset++] = c1 >> 18 | 240;\n buffer[offset++] = c1 >> 12 & 63 | 128;\n buffer[offset++] = c1 >> 6 & 63 | 128;\n buffer[offset++] = c1 & 63 | 128;\n } else {\n buffer[offset++] = c1 >> 12 | 224;\n buffer[offset++] = c1 >> 6 & 63 | 128;\n buffer[offset++] = c1 & 63 | 128;\n }\n }\n return offset - start;\n}\n\nexport const utf8 = {\n length: utf8Length,\n read: utf8Read,\n write: utf8Write\n};\n\nexport function diff(filename, expected, actual) {\n const diff = Diff.structuredPatch(filename, filename, expected, actual, \"expected\", \"actual\", { context: 5 });\n if (!diff.hunks.length) return null;\n\n const out = [\n '--- ' + diff.oldHeader,\n '+++ ' + diff.newHeader\n ];\n for (const hunk of diff.hunks) {\n out.push(\n '@@ -' + hunk.oldStart + ',' + hunk.oldLines\n + ' +' + hunk.newStart + ',' + hunk.newLines\n + ' @@'\n );\n out.push(...hunk.lines.map(line =>\n line.charAt(0) === \"+\"\n ? stdoutColors.green(line)\n : line.charAt(0) === \"-\"\n ? line = stdoutColors.red(line)\n : line\n ));\n }\n\n return out.join('\\n') + '\\n';\n}\n", "/**\n * @fileoverview Command line options utility.\n * @license Apache-2.0\n */\n\nimport { path, module } from \"./node.js\";\nimport { stdoutColors } from \"./terminal.js\";\n\nconst require = module.createRequire(import.meta.url);\n\n// type | meaning\n// -----|---------------\n// b | boolean\n// i | integer\n// f | float\n// s | string\n// I | integer array\n// F | float array\n// S | string array\n\n/** Parses the specified command line arguments according to the given configuration. */\nexport function parse(argv, config, propagateDefaults = true) {\n var options = {};\n var unknown = [];\n var args = [];\n var trailing = [];\n\n // make an alias map and initialize defaults\n var aliases = {};\n Object.keys(config).forEach(key => {\n if (key.startsWith(\" \")) return;\n var option = config[key];\n if (option.alias != null) {\n if (typeof option.alias === \"string\") aliases[option.alias] = key;\n else if (Array.isArray(option.alias)) option.alias.forEach(alias => aliases[alias] = key);\n }\n if (propagateDefaults && option.default != null) options[key] = option.default;\n });\n\n // iterate over argv\n for (var i = 0, k = (argv = argv.slice()).length; i < k; ++i) {\n let arg = argv[i];\n if (arg == \"--\") { ++i; break; }\n let match = /^(?:(-\\w)(?:=(.*))?|(--\\w{2,})(?:=(.*))?)$/.exec(arg), option, key;\n if (match) {\n if (config[arg]) option = config[key = arg]; // exact\n else if (match[1] != null) { // alias\n option = config[key = aliases[match[1].substring(1)]];\n if (option && match[2] != null) argv[i--] = match[2];\n } else if (match[3] != null) { // full\n option = config[key = match[3].substring(2)];\n if (option && match[4] != null) argv[i--] = match[4];\n }\n } else {\n if (arg.charCodeAt(0) == 45) option = config[key = arg]; // exact\n else { args.push(arg); continue; } // argument\n }\n if (option) {\n if (option.value) {\n // alias setting fixed values\n Object.keys(option.value).forEach(k => options[k] = option.value[k]);\n } else if (option.type == null || option.type === \"b\") {\n // boolean flag not taking a value\n options[key] = true;\n } else {\n if (i + 1 < argv.length && argv[i + 1].charCodeAt(0) != 45) {\n // non-boolean with given value\n switch (option.type) {\n case \"i\": options[key] = parseInt(argv[++i], 10); break;\n case \"I\": options[key] = (options[key] || []).concat(parseInt(argv[++i], 10)); break;\n case \"f\": options[key] = parseFloat(argv[++i]); break;\n case \"F\": options[key] = (options[key] || []).concat(parseFloat(argv[++i])); break;\n case \"s\": options[key] = String(argv[++i]); break;\n case \"S\": options[key] = (options[key] || []).concat(argv[++i].split(\",\")); break;\n default: unknown.push(arg); --i;\n }\n } else {\n // non-boolean with omitted value\n switch (option.type) {\n case \"i\":\n case \"f\": options[key] = option.default || 0; break;\n case \"s\": options[key] = option.default || \"\"; break;\n case \"I\":\n case \"F\":\n case \"S\": options[key] = option.default || []; break;\n default: unknown.push(arg);\n }\n }\n }\n } else unknown.push(arg);\n }\n while (i < k) trailing.push(argv[i++]); // trailing\n if (propagateDefaults) addDefaults(config, options);\n\n return { options, unknown, arguments: args, trailing };\n}\n\n/** Generates the help text for the specified configuration. */\nexport function help(config, options) {\n if (!options) options = {};\n var indent = options.indent || 2;\n var padding = options.padding || 24;\n var eol = options.eol || \"\\n\";\n var sbCategories = {};\n var sbOther = [];\n Object.keys(config).forEach(key => {\n var option = config[key];\n if (option.description == null) return;\n var text = \"\";\n while (text.length < indent) text += \" \";\n text += \"--\" + key;\n if (option.alias) text += \", -\" + option.alias;\n while (text.length < padding) text += \" \";\n var sb;\n if (!options.noCategories && option.category) {\n if (!(sb = sbCategories[option.category])) {\n sbCategories[option.category] = sb = [];\n }\n } else {\n sb = sbOther;\n }\n if (Array.isArray(option.description)) {\n sb.push(text + option.description[0] + option.description.slice(1).map(line => {\n for (let i = 0; i < padding; ++i) line = \" \" + line;\n return eol + line;\n }).join(\"\"));\n } else sb.push(text + option.description);\n });\n var sb = [];\n var hasCategories = false;\n Object.keys(sbCategories).forEach(category => {\n hasCategories = true;\n sb.push(eol + \" \" + stdoutColors.gray(category) + eol);\n sb.push(sbCategories[category].join(eol));\n });\n if (hasCategories && sbOther.length) {\n sb.push(eol + \" \" + stdoutColors.gray(\"Other\") + eol);\n }\n sb.push(sbOther.join(eol));\n return sb.join(eol);\n}\n\n/** Sanitizes an option value to be a valid value of the option's type. */\nfunction sanitizeValue(value, type) {\n if (value != null) {\n switch (type) {\n case undefined:\n case \"b\": return Boolean(value);\n case \"i\": return Math.trunc(value) || 0;\n case \"f\": return Number(value) || 0;\n case \"s\": {\n if (value === true) return \"\";\n if (value === false) return null;\n return String(value);\n }\n case \"I\": {\n if (!Array.isArray(value)) value = [ value ];\n return value.map(v => Math.trunc(v) || 0);\n }\n case \"F\": {\n if (!Array.isArray(value)) value = [ value ];\n return value.map(v => Number(v) || 0);\n }\n case \"S\": {\n if (!Array.isArray(value)) value = [ value ];\n return value.map(String);\n }\n }\n }\n return undefined;\n}\n\n/** Merges two sets of options into one, preferring the current over the parent set. */\nexport function merge(config, currentOptions, parentOptions, parentBaseDir) {\n const mergedOptions = {};\n for (const [key, { type, mutuallyExclusive, isPath, useNodeResolution, cliOnly }] of Object.entries(config)) {\n let currentValue = sanitizeValue(currentOptions[key], type);\n let parentValue = sanitizeValue(parentOptions[key], type);\n if (currentValue == null) {\n if (parentValue != null) {\n // only parent value present\n if (cliOnly) continue;\n if (Array.isArray(parentValue)) {\n let exclude;\n if (isPath) {\n parentValue = parentValue.map(value => resolvePath(value, parentBaseDir, useNodeResolution));\n }\n if (mutuallyExclusive != null && (exclude = currentOptions[mutuallyExclusive])) {\n mergedOptions[key] = parentValue.filter(value => !exclude.includes(value));\n } else {\n mergedOptions[key] = parentValue.slice();\n }\n } else {\n if (isPath) {\n parentValue = resolvePath(parentValue, parentBaseDir, useNodeResolution);\n }\n mergedOptions[key] = parentValue;\n }\n }\n } else if (parentValue == null) {\n // only current value present\n if (Array.isArray(currentValue)) {\n mergedOptions[key] = currentValue.slice();\n } else {\n mergedOptions[key] = currentValue;\n }\n } else {\n // both current and parent values present\n if (Array.isArray(currentValue)) {\n if (cliOnly) {\n mergedOptions[key] = currentValue.slice();\n continue;\n }\n let exclude;\n if (isPath) {\n parentValue = parentValue.map(value => resolvePath(value, parentBaseDir, useNodeResolution));\n }\n if (mutuallyExclusive != null && (exclude = currentOptions[mutuallyExclusive])) {\n mergedOptions[key] = [\n ...currentValue,\n ...parentValue.filter(value => !currentValue.includes(value) && !exclude.includes(value))\n ];\n } else {\n mergedOptions[key] = [\n ...currentValue,\n ...parentValue.filter(value => !currentValue.includes(value)) // dedup\n ];\n }\n } else {\n mergedOptions[key] = currentValue;\n }\n }\n }\n return mergedOptions;\n}\n\n/** Normalizes a path. */\nexport function normalizePath(p) {\n const parsed = path.parse(p);\n if (!parsed.root) {\n parsed.root = \"./\";\n }\n return path.format(parsed);\n}\n\n/** Resolves a single possibly relative path. Keeps absolute paths, otherwise prepends baseDir. */\nexport function resolvePath(p, baseDir, useNodeResolution = false) {\n if (path.isAbsolute(p)) return p;\n if (useNodeResolution && !p.startsWith(\".\") && require.resolve) {\n return require.resolve(p, { paths: [ baseDir ] });\n }\n return normalizePath(path.join(baseDir, p));\n}\n\n/** Populates default values on a parsed options result. */\nexport function addDefaults(config, options) {\n for (const [key, { default: defaultValue }] of Object.entries(config)) {\n if (options[key] == null && defaultValue != null) {\n options[key] = defaultValue;\n }\n }\n}\n", "// GENERATED FILE. DO NOT EDIT.\n\nexport const version = \"0.27.29\";\nexport const options = {\n \"version\": {\n \"category\": \"General\",\n \"description\": \"Prints just the compiler's version and exits.\",\n \"type\": \"b\",\n \"alias\": \"v\"\n },\n \"help\": {\n \"category\": \"General\",\n \"description\": \"Prints this message and exits.\",\n \"type\": \"b\",\n \"alias\": \"h\"\n },\n \"config\": {\n \"category\": \"General\",\n \"description\": \"Configuration file to apply. CLI arguments take precedence.\",\n \"type\": \"s\",\n \"cliOnly\": true\n },\n \"target\": {\n \"category\": \"General\",\n \"description\": \"Configuration file target to use. Defaults to 'release'.\",\n \"type\": \"s\",\n \"cliOnly\": true\n },\n \"optimize\": {\n \"category\": \"Optimization\",\n \"description\": [\n \"Optimizes the module. Typical shorthands are:\",\n \"\",\n \" Default optimizations -O\",\n \" Make a release build -O --noAssert\",\n \" Make a debug build --debug\",\n \" Optimize for speed -Ospeed\",\n \" Optimize for size -Osize\",\n \"\"\n ],\n \"type\": \"b\",\n \"alias\": \"O\"\n },\n \"optimizeLevel\": {\n \"category\": \"Optimization\",\n \"description\": \"How much to focus on optimizing code. [0-3]\",\n \"type\": \"i\"\n },\n \"shrinkLevel\": {\n \"category\": \"Optimization\",\n \"description\": \"How much to focus on shrinking code size. [0-2, s=1, z=2]\",\n \"type\": \"i\"\n },\n \"converge\": {\n \"category\": \"Optimization\",\n \"description\": \"Re-optimizes until no further improvements can be made.\",\n \"type\": \"b\",\n \"default\": false\n },\n \"noAssert\": {\n \"category\": \"Optimization\",\n \"description\": \"Replaces assertions with just their value without trapping.\",\n \"type\": \"b\",\n \"default\": false\n },\n \"outFile\": {\n \"category\": \"Output\",\n \"description\": \"Specifies the WebAssembly output file (.wasm).\",\n \"type\": \"s\",\n \"alias\": \"o\",\n \"isPath\": true\n },\n \"textFile\": {\n \"category\": \"Output\",\n \"description\": \"Specifies the WebAssembly text output file (.wat).\",\n \"type\": \"s\",\n \"alias\": \"t\",\n \"isPath\": true\n },\n \"bindings\": {\n \"category\": \"Output\",\n \"description\": [\n \"Specifies the bindings to generate (.js + .d.ts).\",\n \"\",\n \" esm JavaScript bindings & typings for ESM integration.\",\n \" raw Like esm, but exports just the instantiate function.\",\n \" Useful where modules are meant to be instantiated\",\n \" multiple times or non-ESM imports must be provided.\"\n ],\n \"type\": \"S\",\n \"alias\": \"b\"\n },\n \"sourceMap\": {\n \"category\": \"Debugging\",\n \"description\": [\n \"Enables source map generation. Optionally takes the URL\",\n \"used to reference the source map from the binary file.\"\n ],\n \"type\": \"s\"\n },\n \"uncheckedBehavior\": {\n \"category\": \"Debugging\",\n \"description\": [\n \"Changes the behavior of unchecked() expressions.\",\n \"Using this option can potentially cause breakage.\",\n \"\",\n \" default The default behavior: unchecked operations are\",\n \" only used inside of unchecked().\",\n \" never Unchecked operations are never used, even when\",\n \" inside of unchecked().\",\n \" always Unchecked operations are always used if possible,\",\n \" whether or not unchecked() is used.\"\n ],\n \"type\": \"s\",\n \"default\": \"default\"\n },\n \"debug\": {\n \"category\": \"Debugging\",\n \"description\": \"Enables debug information in emitted binaries.\",\n \"type\": \"b\",\n \"default\": false\n },\n \"importMemory\": {\n \"category\": \"Features\",\n \"description\": \"Imports the memory from 'env.memory'.\",\n \"type\": \"b\",\n \"default\": false\n },\n \"noExportMemory\": {\n \"category\": \"Features\",\n \"description\": \"Does not export the memory as 'memory'.\",\n \"type\": \"b\",\n \"default\": false\n },\n \"initialMemory\": {\n \"category\": \"Features\",\n \"description\": \"Sets the initial memory size in pages.\",\n \"type\": \"i\",\n \"default\": 0\n },\n \"maximumMemory\": {\n \"category\": \"Features\",\n \"description\": \"Sets the maximum memory size in pages.\",\n \"type\": \"i\",\n \"default\": 0\n },\n \"sharedMemory\": {\n \"category\": \"Features\",\n \"description\": \"Declare memory as shared. Requires maximumMemory.\",\n \"type\": \"b\",\n \"default\": false\n },\n \"zeroFilledMemory\": {\n \"category\": \"Features\",\n \"description\": \"Assume imported memory is zeroed. Requires importMemory.\",\n \"type\": \"b\",\n \"default\": false\n },\n \"importTable\": {\n \"category\": \"Features\",\n \"description\": \"Imports the function table from 'env.table'.\",\n \"type\": \"b\",\n \"default\": false\n },\n \"exportTable\": {\n \"category\": \"Features\",\n \"description\": \"Exports the function table as 'table'.\",\n \"type\": \"b\",\n \"default\": false\n },\n \"exportStart\": {\n \"category\": \"Features\",\n \"description\": [\n \"Exports the start function using the specified name instead\",\n \"of calling it implicitly. Useful to obtain the exported memory\",\n \"before executing any code accessing it.\"\n ],\n \"type\": \"s\"\n },\n \"runtime\": {\n \"category\": \"Features\",\n \"description\": [\n \"Specifies the runtime variant to include in the program.\",\n \"\",\n \" incremental TLSF + incremental GC (default)\",\n \" minimal TLSF + lightweight GC invoked externally\",\n \" stub Minimal runtime stub (never frees)\",\n \" ... Path to a custom runtime implementation\",\n \"\"\n ],\n \"type\": \"s\",\n \"default\": \"incremental\"\n },\n \"exportRuntime\": {\n \"category\": \"Features\",\n \"description\": [\n \"Always exports the runtime helpers (__new, __collect, __pin etc.).\",\n \"Automatically determined when generation of --bindings is enabled.\"\n ],\n \"type\": \"b\",\n \"default\": false\n },\n \"stackSize\": {\n \"category\": \"Features\",\n \"description\": [\n \"Overrides the stack size. Only relevant for incremental GC\",\n \"or when using a custom runtime that requires stack space.\",\n \"Defaults to 0 without and to 32768 with incremental GC.\"\n ],\n \"default\": 0,\n \"type\": \"i\"\n },\n \"enable\": {\n \"category\": \"Features\",\n \"description\": [\n \"Enables WebAssembly features being disabled by default.\",\n \"\",\n \" threads Threading and atomic operations.\",\n \" simd SIMD types and operations.\",\n \" reference-types Reference types and operations.\",\n \" gc Garbage collection (WIP).\",\n \" stringref String reference types.\",\n \" relaxed-simd Relaxed SIMD operations.\",\n \"\"\n ],\n \"TODO_doesNothingYet\": [\n \" exception-handling Exception handling.\",\n \" tail-calls Tail call operations.\",\n \" multi-value Multi value types.\",\n \" memory64 Memory64 operations.\",\n \" extended-const Extended const expressions.\"\n ],\n \"type\": \"S\",\n \"mutuallyExclusive\": \"disable\"\n },\n \"disable\": {\n \"category\": \"Features\",\n \"description\": [\n \"Disables WebAssembly features being enabled by default.\",\n \"\",\n \" mutable-globals Mutable global imports and exports.\",\n \" sign-extension Sign-extension operations\",\n \" nontrapping-f2i Non-trapping float to integer ops.\",\n \" bulk-memory Bulk memory operations.\",\n \"\"\n ],\n \"type\": \"S\",\n \"mutuallyExclusive\": \"enable\"\n },\n \"use\": {\n \"category\": \"Features\",\n \"description\": [\n \"Aliases a global object under another name, e.g., to switch\",\n \"the default 'Math' implementation used: --use Math=JSMath\",\n \"Can also be used to introduce an integer constant.\"\n ],\n \"type\": \"S\",\n \"alias\": \"u\"\n },\n \"lowMemoryLimit\": {\n \"category\": \"Features\",\n \"description\": \"Enforces very low (<64k) memory constraints.\",\n \"default\": 0,\n \"type\": \"i\"\n },\n \"memoryBase\": {\n \"category\": \"Linking\",\n \"description\": \"Sets the start offset of emitted memory segments.\",\n \"type\": \"i\",\n \"default\": 0\n },\n \"tableBase\": {\n \"category\": \"Linking\",\n \"description\": \"Sets the start offset of emitted table elements.\",\n \"type\": \"i\",\n \"default\": 0\n },\n \"transform\": {\n \"category\": \"API\",\n \"description\": \"Specifies the path to a custom transform to load.\",\n \"type\": \"S\",\n \"isPath\": true,\n \"useNodeResolution\": true\n },\n \"trapMode\": {\n \"category\": \"Binaryen\",\n \"description\": [\n \"Sets the trap mode to use.\",\n \"\",\n \" allow Allow trapping operations. This is the default.\",\n \" clamp Replace trapping operations with clamping semantics.\",\n \" js Replace trapping operations with JS semantics.\",\n \"\"\n ],\n \"type\": \"s\",\n \"default\": \"allow\"\n },\n \"runPasses\": {\n \"category\": \"Binaryen\",\n \"description\": [\n \"Specifies additional Binaryen passes to run after other\",\n \"optimizations, if any. See: Binaryen/src/passes/pass.cpp\"\n ],\n \"type\": \"s\"\n },\n \"noValidate\": {\n \"category\": \"Binaryen\",\n \"description\": \"Skips validating the module using Binaryen.\",\n \"type\": \"b\",\n \"default\": false\n },\n \"baseDir\": {\n \"description\": \"Specifies the base directory of input and output files.\",\n \"type\": \"s\",\n \"default\": \".\"\n },\n \"noColors\": {\n \"description\": \"Disables terminal colors.\",\n \"type\": \"b\",\n \"default\": false\n },\n \"noUnsafe\": {\n \"description\": [\n \"Disallows the use of unsafe features in user code.\",\n \"Does not affect library files and external modules.\"\n ],\n \"type\": \"b\",\n \"default\": false\n },\n \"disableWarning\": {\n \"description\": [\n \"Disables warnings matching the given diagnostic code.\",\n \"If no diagnostic code is given, all warnings are disabled.\"\n ],\n \"type\": \"I\"\n },\n \"noEmit\": {\n \"description\": \"Performs compilation as usual but does not emit code.\",\n \"type\": \"b\",\n \"default\": false\n },\n \"showConfig\": {\n \"description\": \"Print computed compiler options and exit.\",\n \"type\": \"b\",\n \"default\": false\n },\n \"stats\": {\n \"description\": \"Prints statistics on I/O and compile times.\",\n \"type\": \"b\",\n \"default\": false\n },\n \"pedantic\": {\n \"description\": \"Make yourself sad for no good reason.\",\n \"type\": \"b\",\n \"default\": false\n },\n \"lib\": {\n \"description\": [\n \"Adds one or multiple paths to custom library components and\",\n \"uses exports of all top-level files at this path as globals.\"\n ],\n \"type\": \"S\",\n \"isPath\": true\n },\n \"path\": {\n \"description\": [\n \"Adds one or multiple paths to package resolution, similar\",\n \"to node_modules. Prefers an 'ascMain' entry in a package's\",\n \"package.json and falls back to an inner 'assembly/' folder.\"\n ],\n \"type\": \"S\",\n \"isPath\": true\n },\n \"wasm\": {\n \"description\": \"Uses the specified Wasm binary of the compiler.\",\n \"type\": \"s\"\n },\n \" ...\": {\n \"description\": \"Specifies node.js options (CLI only). See: node --help\"\n },\n \"-Os\": {\n \"value\": {\n \"optimizeLevel\": 0,\n \"shrinkLevel\": 1\n }\n },\n \"-Oz\": {\n \"value\": {\n \"optimizeLevel\": 0,\n \"shrinkLevel\": 2\n }\n },\n \"-O0\": {\n \"value\": {\n \"optimizeLevel\": 0,\n \"shrinkLevel\": 0\n }\n },\n \"-O1\": {\n \"value\": {\n \"optimizeLevel\": 1,\n \"shrinkLevel\": 0\n }\n },\n \"-O2\": {\n \"value\": {\n \"optimizeLevel\": 2,\n \"shrinkLevel\": 0\n }\n },\n \"-O3\": {\n \"value\": {\n \"optimizeLevel\": 3,\n \"shrinkLevel\": 0\n }\n },\n \"-O0s\": {\n \"value\": {\n \"optimizeLevel\": 0,\n \"shrinkLevel\": 1\n }\n },\n \"-O1s\": {\n \"value\": {\n \"optimizeLevel\": 1,\n \"shrinkLevel\": 1\n }\n },\n \"-O2s\": {\n \"value\": {\n \"optimizeLevel\": 2,\n \"shrinkLevel\": 1\n }\n },\n \"-O3s\": {\n \"value\": {\n \"optimizeLevel\": 3,\n \"shrinkLevel\": 1\n }\n },\n \"-O0z\": {\n \"value\": {\n \"optimizeLevel\": 0,\n \"shrinkLevel\": 2\n }\n },\n \"-O1z\": {\n \"value\": {\n \"optimizeLevel\": 1,\n \"shrinkLevel\": 2\n }\n },\n \"-O2z\": {\n \"value\": {\n \"optimizeLevel\": 2,\n \"shrinkLevel\": 2\n }\n },\n \"-O3z\": {\n \"value\": {\n \"optimizeLevel\": 3,\n \"shrinkLevel\": 2\n }\n },\n \"-Ospeed\": {\n \"value\": {\n \"optimizeLevel\": 3,\n \"shrinkLevel\": 0\n }\n },\n \"-Osize\": {\n \"value\": {\n \"optimizeLevel\": 0,\n \"shrinkLevel\": 2,\n \"converge\": true\n }\n },\n \"--measure\": {\n \"value\": {\n \"stats\": true\n }\n }\n};\nexport const libraryPrefix = \"~lib/\";\nexport const libraryFiles = {\n \"array\": \"/// \\n\\nimport { BLOCK_MAXSIZE } from \\\"./rt/common\\\";\\nimport { Runtime } from \\\"shared/runtime\\\";\\nimport { COMPARATOR, SORT } from \\\"./util/sort\\\";\\nimport { REVERSE, FILL } from \\\"./util/bytes\\\";\\nimport { joinBooleanArray, joinIntegerArray, joinFloatArray, joinStringArray, joinReferenceArray } from \\\"./util/string\\\";\\nimport { idof, isArray as builtin_isArray } from \\\"./builtins\\\";\\nimport { E_INDEXOUTOFRANGE, E_INVALIDLENGTH, E_EMPTYARRAY, E_HOLEYARRAY } from \\\"./util/error\\\";\\n\\n// @ts-ignore: decorator\\n@inline @lazy const MIN_SIZE: usize = 8;\\n\\n/** Ensures that the given array has _at least_ the specified backing size. */\\nfunction ensureCapacity(array: usize, newSize: usize, alignLog2: u32, canGrow: bool = true): void {\\n // Depends on the fact that Arrays mimic ArrayBufferView\\n let oldCapacity = changetype(array).byteLength;\\n if (newSize > oldCapacity >>> alignLog2) {\\n if (newSize > BLOCK_MAXSIZE >>> alignLog2) throw new RangeError(E_INVALIDLENGTH);\\n let oldData = changetype(changetype(array).buffer);\\n // Grows old capacity by factor of two.\\n // Make sure we don't reach BLOCK_MAXSIZE for new growed capacity.\\n let newCapacity = max(newSize, MIN_SIZE) << alignLog2;\\n if (canGrow) newCapacity = max(min(oldCapacity << 1, BLOCK_MAXSIZE), newCapacity);\\n let newData = __renew(oldData, newCapacity);\\n // __new / __renew already init memory range as zeros in Incremental runtime.\\n // So try to avoid this.\\n if (ASC_RUNTIME != Runtime.Incremental) {\\n memory.fill(newData + oldCapacity, 0, newCapacity - oldCapacity);\\n }\\n if (newData != oldData) { // oldData has been free'd\\n store(array, newData, offsetof(\\\"buffer\\\"));\\n store(array, newData, offsetof(\\\"dataStart\\\"));\\n __link(array, changetype(newData), false);\\n }\\n store(array, newCapacity, offsetof(\\\"byteLength\\\"));\\n }\\n}\\n\\nexport class Array {\\n [key: number]: T;\\n\\n // Mimicking ArrayBufferView isn't strictly necessary here but is done to allow glue code\\n // to work with typed and normal arrays interchangeably. Technically, normal arrays do not need\\n // `dataStart` (equals `buffer`) and `byteLength` (equals computed `buffer.byteLength`), but the\\n // block is 16 bytes anyway so it's fine to have a couple extra fields in there.\\n\\n private buffer: ArrayBuffer;\\n @unsafe readonly dataStart: usize;\\n private byteLength: i32; // Uses here as capacity\\n\\n // Also note that Array with non-nullable T must guard against uninitialized null values\\n // whenever an element is accessed. Otherwise, the compiler wouldn't be able to guarantee\\n // type-safety anymore. For lack of a better word, such an array is \\\"holey\\\".\\n\\n private length_: i32;\\n\\n static isArray(value: U): bool {\\n return isReference() ? changetype(value) != 0 && builtin_isArray(value) : false;\\n }\\n\\n static create(capacity: i32 = 0): Array {\\n WARNING(\\\"'Array.create' is deprecated. Use 'new Array' instead, making sure initial elements are initialized.\\\");\\n let array = new Array(capacity);\\n array.length = 0;\\n return array;\\n }\\n\\n constructor(length: i32 = 0) {\\n if (length > BLOCK_MAXSIZE >>> alignof()) throw new RangeError(E_INVALIDLENGTH);\\n // reserve capacity for at least MIN_SIZE elements\\n let bufferSize = max(length, MIN_SIZE) << alignof();\\n let buffer = changetype(__new(bufferSize, idof()));\\n if (ASC_RUNTIME != Runtime.Incremental) {\\n memory.fill(changetype(buffer), 0, bufferSize);\\n }\\n this.buffer = buffer; // links\\n this.dataStart = changetype(buffer);\\n this.byteLength = bufferSize;\\n this.length_ = length;\\n }\\n\\n get length(): i32 {\\n return this.length_;\\n }\\n\\n set length(newLength: i32) {\\n ensureCapacity(changetype(this), newLength, alignof(), false);\\n this.length_ = newLength;\\n }\\n\\n every(fn: (value: T, index: i32, array: Array) => bool): bool {\\n for (let i = 0, len = this.length_; i < min(len, this.length_); ++i) {\\n if (!fn(load(this.dataStart + (i << alignof())), i, this)) return false;\\n }\\n return true;\\n }\\n\\n findIndex(fn: (value: T, index: i32, array: Array) => bool): i32 {\\n for (let i = 0, len = this.length_; i < min(len, this.length_); ++i) {\\n if (fn(load(this.dataStart + (i << alignof())), i, this)) return i;\\n }\\n return -1;\\n }\\n\\n findLastIndex(fn: (value: T, index: i32, array: Array) => bool): i32 {\\n for (let i = this.length_ - 1; i >= 0; --i) {\\n if (fn(load(this.dataStart + (i << alignof())), i, this)) return i;\\n }\\n return -1;\\n }\\n\\n @operator(\\\"[]\\\") private __get(index: i32): T {\\n if (index >= this.length_) throw new RangeError(E_INDEXOUTOFRANGE);\\n let value = load(this.dataStart + (index << alignof()));\\n if (isReference()) {\\n if (!isNullable()) {\\n if (!changetype(value)) throw new Error(E_HOLEYARRAY);\\n }\\n }\\n return value;\\n }\\n\\n @unsafe @operator(\\\"{}\\\") private __uget(index: i32): T {\\n return load(this.dataStart + (index << alignof()));\\n }\\n\\n @operator(\\\"[]=\\\") private __set(index: i32, value: T): void {\\n if (index >= this.length_) {\\n if (index < 0) throw new RangeError(E_INDEXOUTOFRANGE);\\n ensureCapacity(changetype(this), index + 1, alignof());\\n this.length_ = index + 1;\\n }\\n store(this.dataStart + (index << alignof()), value);\\n if (isManaged()) {\\n __link(changetype(this), changetype(value), true);\\n }\\n }\\n\\n at(index: i32): T {\\n let len = this.length_;\\n index += select(0, len, index >= 0);\\n if (index >= len) throw new RangeError(E_INDEXOUTOFRANGE);\\n let value = load(this.dataStart + (index << alignof()));\\n if (isReference()) {\\n if (!isNullable()) {\\n if (!changetype(value)) throw new Error(E_HOLEYARRAY);\\n }\\n }\\n return value;\\n }\\n\\n fill(value: T, start: i32 = 0, end: i32 = i32.MAX_VALUE): Array {\\n if (isManaged()) {\\n FILL(this.dataStart, this.length_, changetype(value), start, end);\\n __link(changetype(this), changetype(value), false);\\n } else {\\n FILL(this.dataStart, this.length_, value, start, end);\\n }\\n return this;\\n }\\n\\n includes(value: T, fromIndex: i32 = 0): bool {\\n if (isFloat()) {\\n let len = this.length_;\\n if (len == 0 || fromIndex >= len) return false;\\n if (fromIndex < 0) fromIndex = max(len + fromIndex, 0);\\n let ptr = this.dataStart;\\n while (fromIndex < len) {\\n let elem = load(ptr + (fromIndex << alignof()));\\n // @ts-ignore\\n if (elem == value || isNaN(elem) & isNaN(value)) return true;\\n ++fromIndex;\\n }\\n return false;\\n } else {\\n return this.indexOf(value, fromIndex) >= 0;\\n }\\n }\\n\\n indexOf(value: T, fromIndex: i32 = 0): i32 {\\n let len = this.length_;\\n if (len == 0 || fromIndex >= len) return -1;\\n if (fromIndex < 0) fromIndex = max(len + fromIndex, 0);\\n let ptr = this.dataStart;\\n while (fromIndex < len) {\\n if (load(ptr + (fromIndex << alignof())) == value) return fromIndex;\\n ++fromIndex;\\n }\\n return -1;\\n }\\n\\n lastIndexOf(value: T, fromIndex: i32 = this.length_): i32 {\\n let len = this.length_;\\n if (len == 0) return -1;\\n if (fromIndex < 0) fromIndex = len + fromIndex;\\n else if (fromIndex >= len) fromIndex = len - 1;\\n let ptr = this.dataStart;\\n while (fromIndex >= 0) {\\n if (load(ptr + (fromIndex << alignof())) == value) return fromIndex;\\n --fromIndex;\\n }\\n return -1;\\n }\\n\\n push(value: T): i32 {\\n let oldLen = this.length_;\\n let len = oldLen + 1;\\n ensureCapacity(changetype(this), len, alignof());\\n if (isManaged()) {\\n store(this.dataStart + (oldLen << alignof()), changetype(value));\\n __link(changetype(this), changetype(value), true);\\n } else {\\n store(this.dataStart + (oldLen << alignof()), value);\\n }\\n this.length_ = len;\\n return len;\\n }\\n\\n concat(other: Array): Array {\\n let thisLen = this.length_;\\n let otherLen = other.length_;\\n let outLen = thisLen + otherLen;\\n if (outLen > BLOCK_MAXSIZE >>> alignof()) throw new Error(E_INVALIDLENGTH);\\n let out = changetype>(__newArray(outLen, alignof(), idof>()));\\n let outStart = out.dataStart;\\n let thisSize = thisLen << alignof();\\n if (isManaged()) {\\n let thisStart = this.dataStart;\\n for (let offset: usize = 0; offset < thisSize; offset += sizeof()) {\\n let ref = load(thisStart + offset);\\n store(outStart + offset, ref);\\n __link(changetype(out), ref, true);\\n }\\n outStart += thisSize;\\n let otherStart = other.dataStart;\\n let otherSize = otherLen << alignof();\\n for (let offset: usize = 0; offset < otherSize; offset += sizeof()) {\\n let ref = load(otherStart + offset);\\n store(outStart + offset, ref);\\n __link(changetype(out), ref, true);\\n }\\n } else {\\n memory.copy(outStart, this.dataStart, thisSize);\\n memory.copy(outStart + thisSize, other.dataStart, otherLen << alignof());\\n }\\n return out;\\n }\\n\\n copyWithin(target: i32, start: i32, end: i32 = i32.MAX_VALUE): Array {\\n let ptr = this.dataStart;\\n let len = this.length_;\\n\\n end = min(end, len);\\n\\n let to = target < 0 ? max(len + target, 0) : min(target, len);\\n let from = start < 0 ? max(len + start, 0) : min(start, len);\\n let last = end < 0 ? max(len + end, 0) : min(end, len);\\n let count = min(last - from, len - to);\\n\\n memory.copy( // is memmove\\n ptr + (to << alignof()),\\n ptr + (from << alignof()),\\n count << alignof()\\n );\\n return this;\\n }\\n\\n pop(): T {\\n let len = this.length_;\\n if (len < 1) throw new RangeError(E_EMPTYARRAY);\\n let val = load(this.dataStart + ((--len) << alignof()));\\n this.length_ = len;\\n return val;\\n }\\n\\n forEach(fn: (value: T, index: i32, array: Array) => void): void {\\n for (let i = 0, len = this.length_; i < min(len, this.length_); ++i) {\\n fn(load(this.dataStart + (i << alignof())), i, this);\\n }\\n }\\n\\n map(fn: (value: T, index: i32, array: Array) => U): Array {\\n let len = this.length_;\\n let out = changetype>(__newArray(len, alignof(), idof>()));\\n let outStart = out.dataStart;\\n for (let i = 0; i < min(len, this.length_); ++i) {\\n let result = fn(load(this.dataStart + (i << alignof())), i, this);\\n store(outStart + (i << alignof()), result);\\n if (isManaged()) {\\n __link(changetype(out), changetype(result), true);\\n }\\n }\\n return out;\\n }\\n\\n filter(fn: (value: T, index: i32, array: Array) => bool): Array {\\n let result = changetype>(__newArray(0, alignof(), idof>()));\\n for (let i = 0, len = this.length_; i < min(len, this.length_); ++i) {\\n let value = load(this.dataStart + (i << alignof()));\\n if (fn(value, i, this)) result.push(value);\\n }\\n return result;\\n }\\n\\n reduce(\\n fn: (previousValue: U, currentValue: T, currentIndex: i32, array: Array) => U,\\n initialValue: U\\n ): U {\\n let acc = initialValue;\\n for (let i = 0, len = this.length_; i < min(len, this.length_); ++i) {\\n acc = fn(acc, load(this.dataStart + (i << alignof())), i, this);\\n }\\n return acc;\\n }\\n\\n reduceRight(\\n fn: (previousValue: U, currentValue: T, currentIndex: i32, array: Array) => U,\\n initialValue: U\\n ): U {\\n let acc = initialValue;\\n for (let i = this.length_ - 1; i >= 0; --i) {\\n acc = fn(acc, load(this.dataStart + (i << alignof())), i, this);\\n }\\n return acc;\\n }\\n\\n shift(): T {\\n let len = this.length_;\\n if (len < 1) throw new RangeError(E_EMPTYARRAY);\\n let base = this.dataStart;\\n let element = load(base);\\n let lastIndex = len - 1;\\n memory.copy(\\n base,\\n base + sizeof(),\\n lastIndex << alignof()\\n );\\n if (isReference()) {\\n store(base + (lastIndex << alignof()), 0);\\n } else {\\n // @ts-ignore\\n store(base + (lastIndex << alignof()), 0);\\n }\\n this.length_ = lastIndex;\\n return element;\\n }\\n\\n some(fn: (value: T, index: i32, array: Array) => bool): bool {\\n for (let i = 0, len = this.length_; i < min(len, this.length_); ++i) {\\n if (fn(load(this.dataStart + (i << alignof())), i, this)) return true;\\n }\\n return false;\\n }\\n\\n unshift(value: T): i32 {\\n let len = this.length_ + 1;\\n ensureCapacity(changetype(this), len, alignof());\\n let ptr = this.dataStart;\\n memory.copy(\\n ptr + sizeof(),\\n ptr,\\n (len - 1) << alignof()\\n );\\n store(ptr, value);\\n if (isManaged()) {\\n __link(changetype(this), changetype(value), true);\\n }\\n this.length_ = len;\\n return len;\\n }\\n\\n slice(start: i32 = 0, end: i32 = i32.MAX_VALUE): Array {\\n let len = this.length_;\\n start = start < 0 ? max(start + len, 0) : min(start, len);\\n end = end < 0 ? max(end + len, 0) : min(end , len);\\n len = max(end - start, 0);\\n let slice = changetype>(__newArray(len, alignof(), idof>()));\\n let sliceBase = slice.dataStart;\\n let thisBase = this.dataStart + (start << alignof());\\n if (isManaged()) {\\n let off = 0;\\n let end = len << alignof();\\n while (off < end) {\\n let ref = load(thisBase + off);\\n store(sliceBase + off, ref);\\n __link(changetype(slice), ref, true);\\n off += sizeof();\\n }\\n } else {\\n memory.copy(sliceBase, thisBase, len << alignof());\\n }\\n return slice;\\n }\\n\\n splice(start: i32, deleteCount: i32 = i32.MAX_VALUE): Array {\\n let len = this.length_;\\n start = start < 0 ? max(len + start, 0) : min(start, len);\\n deleteCount = max(min(deleteCount, len - start), 0);\\n let result = changetype>(__newArray(deleteCount, alignof(), idof>()));\\n let resultStart = result.dataStart;\\n let thisStart = this.dataStart;\\n let thisBase = thisStart + (start << alignof());\\n memory.copy(\\n resultStart,\\n thisBase,\\n deleteCount << alignof()\\n );\\n let offset = start + deleteCount;\\n if (len != offset) {\\n memory.copy(\\n thisBase,\\n thisStart + (offset << alignof()),\\n (len - offset) << alignof()\\n );\\n }\\n this.length_ = len - deleteCount;\\n return result;\\n }\\n\\n reverse(): Array {\\n REVERSE(this.dataStart, this.length_);\\n return this;\\n }\\n\\n sort(comparator: (a: T, b: T) => i32 = COMPARATOR()): Array {\\n SORT(this.dataStart, this.length_, comparator);\\n return this;\\n }\\n\\n join(separator: string = \\\",\\\"): string {\\n let ptr = this.dataStart;\\n let len = this.length_;\\n if (isBoolean()) return joinBooleanArray(ptr, len, separator);\\n if (isInteger()) return joinIntegerArray(ptr, len, separator);\\n if (isFloat()) return joinFloatArray(ptr, len, separator);\\n\\n if (ASC_SHRINK_LEVEL < 1) {\\n if (isString()) return joinStringArray(ptr, len, separator);\\n }\\n // For rest objects and arrays use general join routine\\n if (isReference()) return joinReferenceArray(ptr, len, separator);\\n ERROR(\\\"unspported element type\\\");\\n return unreachable();\\n }\\n\\n flat(): T {\\n if (!isArray()) {\\n ERROR(\\\"Cannot call flat() on Array where T is not an Array.\\\");\\n }\\n // Get the length and data start values\\n let ptr = this.dataStart;\\n let len = this.length_;\\n\\n // calculate the end size with an initial pass\\n let size = 0;\\n for (let i = 0; i < len; ++i) {\\n let child = load(ptr + (i << alignof()));\\n size += child == 0 ? 0 : load(child, offsetof(\\\"length_\\\"));\\n }\\n\\n // calculate the byteLength of the resulting backing ArrayBuffer\\n const align = alignof>();\\n let byteLength = size << align;\\n let outBuffer = changetype(__new(byteLength, idof()));\\n\\n // create the return value and initialize it\\n let outArray = changetype(__new(offsetof(), idof()));\\n store(changetype(outArray), size, offsetof(\\\"length_\\\"));\\n\\n // byteLength, dataStart, and buffer are all readonly\\n store(changetype(outArray), byteLength, offsetof(\\\"byteLength\\\"));\\n store(changetype(outArray), changetype(outBuffer), offsetof(\\\"dataStart\\\"));\\n store(changetype(outArray), changetype(outBuffer), offsetof(\\\"buffer\\\"));\\n __link(changetype(outArray), changetype(outBuffer), false);\\n\\n // set the elements\\n let resultOffset: usize = 0;\\n for (let i = 0; i < len; ++i) { // for each child\\n let child = load(ptr + (i << alignof()));\\n\\n // ignore null arrays\\n if (!child) continue;\\n\\n // copy the underlying buffer data to the result buffer\\n let childDataLength = load(child, offsetof(\\\"length_\\\")) << align;\\n memory.copy(\\n changetype(outBuffer) + resultOffset,\\n load(child, offsetof(\\\"dataStart\\\")),\\n childDataLength\\n );\\n\\n // advance the result length\\n resultOffset += childDataLength;\\n }\\n\\n // if the `valueof` type is managed, we must link each reference\\n if (isManaged>()) {\\n for (let i = 0; i < size; ++i) {\\n let ref = load(changetype(outBuffer) + (i << usize(alignof>())));\\n __link(changetype(outBuffer), ref, true);\\n }\\n }\\n\\n return outArray;\\n }\\n\\n toString(): string {\\n return this.join();\\n }\\n\\n // RT integration\\n\\n @unsafe private __visit(cookie: u32): void {\\n if (isManaged()) {\\n let cur = this.dataStart;\\n let end = cur + (this.length_ << alignof());\\n while (cur < end) {\\n let val = load(cur);\\n if (val) __visit(val, cookie);\\n cur += sizeof();\\n }\\n }\\n __visit(changetype(this.buffer), cookie);\\n }\\n}\\n\",\n \"arraybuffer\": \"/// \\n\\nimport { OBJECT, BLOCK_MAXSIZE, TOTAL_OVERHEAD } from \\\"./rt/common\\\";\\nimport { Runtime } from \\\"shared/runtime\\\";\\nimport { idof } from \\\"./builtins\\\";\\nimport { E_INVALIDLENGTH } from \\\"./util/error\\\";\\n\\nexport abstract class ArrayBufferView {\\n\\n readonly buffer: ArrayBuffer;\\n @unsafe readonly dataStart: usize;\\n readonly byteLength: i32;\\n\\n get byteOffset(): i32 {\\n return (this.dataStart - changetype(this.buffer));\\n }\\n\\n protected constructor(length: i32, alignLog2: i32) {\\n if (length > BLOCK_MAXSIZE >>> alignLog2) throw new RangeError(E_INVALIDLENGTH);\\n let buffer = changetype(__new(length = length << alignLog2, idof()));\\n if (ASC_RUNTIME != Runtime.Incremental) {\\n memory.fill(changetype(buffer), 0, length);\\n }\\n this.buffer = buffer; // links\\n this.dataStart = changetype(buffer);\\n this.byteLength = length;\\n }\\n}\\n\\n@final export class ArrayBuffer {\\n\\n static isView(value: T): bool {\\n if (isNullable()) {\\n if (changetype(value) == 0) return false;\\n }\\n if (value instanceof Int8Array) return true;\\n if (value instanceof Uint8Array) return true;\\n if (value instanceof Uint8ClampedArray) return true;\\n if (value instanceof Int16Array) return true;\\n if (value instanceof Uint16Array) return true;\\n if (value instanceof Int32Array) return true;\\n if (value instanceof Uint32Array) return true;\\n if (value instanceof Int64Array) return true;\\n if (value instanceof Uint64Array) return true;\\n if (value instanceof Float32Array) return true;\\n if (value instanceof Float64Array) return true;\\n if (value instanceof DataView) return true;\\n return false;\\n }\\n\\n constructor(length: i32) {\\n if (length > BLOCK_MAXSIZE) throw new RangeError(E_INVALIDLENGTH);\\n let buffer = changetype(__new(length, idof()));\\n if (ASC_RUNTIME != Runtime.Incremental) {\\n memory.fill(changetype(buffer), 0, length);\\n }\\n return buffer;\\n }\\n\\n get byteLength(): i32 {\\n return changetype(changetype(this) - TOTAL_OVERHEAD).rtSize;\\n }\\n\\n slice(begin: i32 = 0, end: i32 = BLOCK_MAXSIZE): ArrayBuffer {\\n let length = this.byteLength;\\n begin = begin < 0 ? max(length + begin, 0) : min(begin, length);\\n end = end < 0 ? max(length + end , 0) : min(end , length);\\n let outSize = max(end - begin, 0);\\n let out = changetype(__new(outSize, idof()));\\n memory.copy(changetype(out), changetype(this) + begin, outSize);\\n return out;\\n }\\n\\n toString(): string {\\n return \\\"[object ArrayBuffer]\\\";\\n }\\n}\\n\",\n \"atomics\": \"import { ArrayBufferView } from \\\"./arraybuffer\\\";\\nimport { E_INDEXOUTOFRANGE } from \\\"./util/error\\\";\\n\\nexport namespace Atomics {\\n\\n // @ts-ignore: decorator\\n @inline\\n export function load(array: T, index: i32): valueof {\\n const align = alignof>();\\n if (index < 0 || (index << align) >= array.byteLength) throw new RangeError(E_INDEXOUTOFRANGE);\\n return atomic.load>(\\n changetype(array.buffer) + (index << align) + array.byteOffset\\n );\\n }\\n\\n // @ts-ignore: decorator\\n @inline\\n export function store(array: T, index: i32, value: valueof): void {\\n const align = alignof>();\\n if (index < 0 || (index << align) >= array.byteLength) throw new RangeError(E_INDEXOUTOFRANGE);\\n atomic.store>(\\n changetype(array.buffer) + (index << align) + array.byteOffset,\\n value\\n );\\n }\\n\\n // @ts-ignore: decorator\\n @inline\\n export function add(array: T, index: i32, value: valueof): valueof {\\n const align = alignof>();\\n if (index < 0 || (index << align) >= array.byteLength) throw new RangeError(E_INDEXOUTOFRANGE);\\n return atomic.add>(\\n changetype(array.buffer) + (index << align) + array.byteOffset,\\n value\\n );\\n }\\n\\n // @ts-ignore: decorator\\n @inline\\n export function sub(array: T, index: i32, value: valueof): valueof {\\n const align = alignof>();\\n if (index < 0 || (index << align) >= array.byteLength) throw new RangeError(E_INDEXOUTOFRANGE);\\n return atomic.sub>(\\n changetype(array.buffer) + (index << align) + array.byteOffset,\\n value\\n );\\n }\\n\\n // @ts-ignore: decorator\\n @inline\\n export function and(array: T, index: i32, value: valueof): valueof {\\n const align = alignof>();\\n if (index < 0 || (index << align) >= array.byteLength) throw new RangeError(E_INDEXOUTOFRANGE);\\n return atomic.and>(\\n changetype(array.buffer) + (index << align) + array.byteOffset,\\n value\\n );\\n }\\n\\n // @ts-ignore: decorator\\n @inline\\n export function or(array: T, index: i32, value: valueof): valueof {\\n const align = alignof>();\\n if (index < 0 || (index << align) >= array.byteLength) throw new RangeError(E_INDEXOUTOFRANGE);\\n return atomic.or>(\\n changetype(array.buffer) + (index << align) + array.byteOffset,\\n value\\n );\\n }\\n\\n // @ts-ignore: decorator\\n @inline\\n export function xor(array: T, index: i32, value: valueof): valueof {\\n const align = alignof>();\\n if (index < 0 || (index << align) >= array.byteLength) throw new RangeError(E_INDEXOUTOFRANGE);\\n return atomic.xor>(\\n changetype(array.buffer) + (index << align) + array.byteOffset,\\n value\\n );\\n }\\n\\n // @ts-ignore: decorator\\n @inline\\n export function exchange(array: T, index: i32, value: valueof): valueof {\\n const align = alignof>();\\n if (index < 0 || (index << align) >= array.byteLength) throw new RangeError(E_INDEXOUTOFRANGE);\\n return atomic.xchg>(\\n changetype(array.buffer) + (index << align) + array.byteOffset,\\n value\\n );\\n }\\n\\n // @ts-ignore: decorator\\n @inline\\n export function compareExchange(\\n array: T,\\n index: i32,\\n expectedValue: valueof,\\n replacementValue: valueof\\n ): valueof {\\n const align = alignof>();\\n if (index < 0 || (index << align) >= array.byteLength) throw new RangeError(E_INDEXOUTOFRANGE);\\n return atomic.cmpxchg>(\\n changetype(array.buffer) + (index << align) + array.byteOffset,\\n expectedValue,\\n replacementValue\\n );\\n }\\n\\n // @ts-ignore: decorator\\n @inline\\n export function wait(array: T, value: valueof, timeout: i64 = -1): AtomicWaitResult {\\n return atomic.wait>(changetype(array.buffer) + array.byteOffset, value, timeout);\\n }\\n\\n // @ts-ignore: decorator\\n @inline\\n export function notify(array: T, index: i32, count: i32 = -1): i32 {\\n const align = alignof>();\\n if (index < 0 || (index << align) >= array.byteLength) throw new RangeError(E_INDEXOUTOFRANGE);\\n return atomic.notify(changetype(array.buffer) + (index << align) + array.byteOffset, count);\\n }\\n\\n export function isLockFree(size: usize): bool {\\n return size == 1 || size == 2 || size == 4;\\n }\\n}\\n\",\n \"bindings/asyncify\": \"@unmanaged\\nexport class StackDescriptor {\\n /** The index in linear memory of the start of the \u201Casyncify stack\u201D. */\\n stackStart: usize;\\n /** The index of the end of that stack region, which implies how big it is. */\\n stackEnd: usize;\\n}\\n\\n/** Starts to unwind the call stack. */\\nexport declare function start_unwind(data: StackDescriptor): void;\\n/** Stops unwinding the call stack. */\\nexport declare function stop_unwind(): void;\\n/** Starts to rewind the call stack. */\\nexport declare function start_rewind(data: StackDescriptor): void;\\n/** Stops rewinding the call stack. */\\nexport declare function stop_rewind(): void;\\n\",\n \"bindings/dom\": \"@external(\\\"env\\\", \\\"globalThis\\\")\\nexport declare const globalThis: externref;\\n\\nexport declare namespace Math {\\n @external(\\\"env\\\", \\\"Math.E\\\")\\n export const E: f64;\\n @external(\\\"env\\\", \\\"Math.LN2\\\")\\n export const LN2: f64;\\n @external(\\\"env\\\", \\\"Math.LN10\\\")\\n export const LN10: f64;\\n @external(\\\"env\\\", \\\"Math.LOG2E\\\")\\n export const LOG2E: f64;\\n @external(\\\"env\\\", \\\"Math.LOG10E\\\")\\n export const LOG10E: f64;\\n @external(\\\"env\\\", \\\"Math.PI\\\")\\n export const PI: f64;\\n @external(\\\"env\\\", \\\"Math.SQRT1_2\\\")\\n export const SQRT1_2: f64;\\n @external(\\\"env\\\", \\\"Math.SQRT2\\\")\\n export const SQRT2: f64;\\n @external(\\\"env\\\", \\\"Math.abs\\\")\\n export function abs(x: f64): f64;\\n @external(\\\"env\\\", \\\"Math.acos\\\")\\n export function acos(x: f64): f64;\\n @external(\\\"env\\\", \\\"Math.acosh\\\")\\n export function acosh(x: f64): f64;\\n @external(\\\"env\\\", \\\"Math.asin\\\")\\n export function asin(x: f64): f64;\\n @external(\\\"env\\\", \\\"Math.asinh\\\")\\n export function asinh(x: f64): f64;\\n @external(\\\"env\\\", \\\"Math.atan\\\")\\n export function atan(x: f64): f64;\\n @external(\\\"env\\\", \\\"Math.atan2\\\")\\n export function atan2(y: f64, x: f64): f64;\\n @external(\\\"env\\\", \\\"Math.atanh\\\")\\n export function atanh(x: f64): f64;\\n @external(\\\"env\\\", \\\"Math.cbrt\\\")\\n export function cbrt(x: f64): f64;\\n @external(\\\"env\\\", \\\"Math.ceil\\\")\\n export function ceil(x: f64): f64;\\n @external(\\\"env\\\", \\\"Math.clz32\\\")\\n export function clz32(x: f64): f64;\\n @external(\\\"env\\\", \\\"Math.cos\\\")\\n export function cos(x: f64): f64;\\n @external(\\\"env\\\", \\\"Math.cosh\\\")\\n export function cosh(x: f64): f64;\\n @external(\\\"env\\\", \\\"Math.exp\\\")\\n export function exp(x: f64): f64;\\n @external(\\\"env\\\", \\\"Math.expm1\\\")\\n export function expm1(x: f64): f64;\\n @external(\\\"env\\\", \\\"Math.floor\\\")\\n export function floor(x: f64): f64;\\n @external(\\\"env\\\", \\\"Math.fround\\\")\\n export function fround(x: f64): f32;\\n @external(\\\"env\\\", \\\"Math.hypot\\\")\\n export function hypot(value1: f64, value2: f64): f64; // TODO: rest\\n @external(\\\"env\\\", \\\"Math.imul\\\")\\n export function imul(a: f64, b: f64): f64;\\n @external(\\\"env\\\", \\\"Math.log\\\")\\n export function log(x: f64): f64;\\n @external(\\\"env\\\", \\\"Math.log10\\\")\\n export function log10(x: f64): f64;\\n @external(\\\"env\\\", \\\"Math.log1p\\\")\\n export function log1p(x: f64): f64;\\n @external(\\\"env\\\", \\\"Math.log2\\\")\\n export function log2(x: f64): f64;\\n @external(\\\"env\\\", \\\"Math.max\\\")\\n export function max(value1: f64, value2: f64): f64; // TODO: rest\\n @external(\\\"env\\\", \\\"Math.min\\\")\\n export function min(value1: f64, value2: f64): f64; // TODO: rest\\n @external(\\\"env\\\", \\\"Math.pow\\\")\\n export function pow(base: f64, exponent: f64): f64;\\n @external(\\\"env\\\", \\\"Math.random\\\")\\n export function random(): f64;\\n @external(\\\"env\\\", \\\"Math.round\\\")\\n export function round(x: f64): f64;\\n @external(\\\"env\\\", \\\"Math.sign\\\")\\n export function sign(x: f64): f64;\\n @external(\\\"env\\\", \\\"Math.sin\\\")\\n export function sin(x: f64): f64;\\n @external(\\\"env\\\", \\\"Math.sinh\\\")\\n export function sinh(x: f64): f64;\\n @external(\\\"env\\\", \\\"Math.sqrt\\\")\\n export function sqrt(x: f64): f64;\\n @external(\\\"env\\\", \\\"Math.tan\\\")\\n export function tan(x: f64): f64;\\n @external(\\\"env\\\", \\\"Math.tanh\\\")\\n export function tanh(x: f64): f64;\\n @external(\\\"env\\\", \\\"Math.trunc\\\")\\n export function trunc(x: f64): f64;\\n}\\n\\nexport declare namespace Reflect {\\n @external(\\\"env\\\", \\\"Reflect.get\\\")\\n export function get(target: externref, propertyKey: string): externref;\\n @external(\\\"env\\\", \\\"Reflect.getWithReceiver\\\")\\n @external.js(\\\"return Reflect.get(target, propertyKey, receiver);\\\")\\n export function getWithReceiver(target: externref, propertyKey: string, receiver: externref): externref;\\n @external(\\\"env\\\", \\\"Reflect.has\\\")\\n export function has(target: externref, propertyKey: string): bool;\\n @external(\\\"env\\\", \\\"Reflect.set\\\")\\n export function set(target: externref, propertyKey: string, value: externref): externref;\\n @external(\\\"env\\\", \\\"Reflect.setWithReceiver\\\")\\n @external.js(\\\"return Reflect.set(target, propertyKey, value, receiver);\\\")\\n export function setWithReceiver(target: externref, propertyKey: string, value: externref , receiver: externref): externref;\\n @external(\\\"env\\\", \\\"Reflect.apply\\\")\\n export function apply(target: externref, thisArgument: externref, argumentsList: externref): externref;\\n}\\n\\nexport declare namespace String {\\n @external(\\\"env\\\", \\\"String.fromCodePoint\\\")\\n export function fromCodePoint(codepoint: i32): externref;\\n @external(\\\"env\\\", \\\"String.fromCodePoints\\\")\\n @external.js(\\\"return String.fromCodePoint(...codepoints);\\\")\\n export function fromCodePoints(codepoints: i32[]): externref;\\n}\\n\\nexport declare namespace Object {\\n @external(\\\"env\\\", \\\"Object.is\\\")\\n export function is(a: externref, b: externref): bool;\\n @external(\\\"env\\\", \\\"Object.hasOwn\\\")\\n export function hasOwn(target: externref, propertyKey: string): bool;\\n @external(\\\"env\\\", \\\"Object.assign\\\")\\n export function assign(target: externref, source: externref): externref;\\n @external(\\\"env\\\", \\\"Object.keys\\\")\\n export function keys(target: externref): externref;\\n @external(\\\"env\\\", \\\"Object.values\\\")\\n export function values(target: externref): externref;\\n @external(\\\"env\\\", \\\"Object.entries\\\")\\n export function entries(target: externref): externref;\\n @external(\\\"env\\\", \\\"Object.getOwnPropertyNames\\\")\\n export function getOwnPropertyNames(target: externref): externref;\\n}\\n\\nexport declare namespace Date {\\n @external(\\\"env\\\", \\\"Date.now\\\")\\n export function now(): f64;\\n}\\n\\nexport declare namespace console {\\n @external(\\\"env\\\", \\\"console.assert\\\")\\n export function assert(condition: bool, message: string): void;\\n @external(\\\"env\\\", \\\"console.log\\\")\\n export function log(text: string): void;\\n @external(\\\"env\\\", \\\"console.debug\\\")\\n export function debug(text: string): void;\\n @external(\\\"env\\\", \\\"console.info\\\")\\n export function info(text: string): void;\\n @external(\\\"env\\\", \\\"console.warn\\\")\\n export function warn(text: string): void;\\n @external(\\\"env\\\", \\\"console.error\\\")\\n export function error(text: string): void;\\n @external(\\\"env\\\", \\\"console.time\\\")\\n export function time(label: string): void;\\n @external(\\\"env\\\", \\\"console.timeLog\\\")\\n export function timeLog(label: string): void;\\n @external(\\\"env\\\", \\\"console.timeEnd\\\")\\n export function timeEnd(label: string): void;\\n}\\n\\nexport declare namespace document {\\n /** Returns document's encoding. */\\n @external(\\\"env\\\", \\\"document.characterSet\\\")\\n export const characterSet: string;\\n /** Returns a value that indicates whether standards-compliant mode is switched on for the object. */\\n @external(\\\"env\\\", \\\"document.compatMode\\\")\\n export const compatMode: string;\\n /** Returns document's content type. */\\n @external(\\\"env\\\", \\\"document.contentType\\\")\\n export const contentType: string;\\n /** Returns a reference to the root node of the document. */\\n @external(\\\"env\\\", \\\"document.documentElement\\\")\\n export const documentElement: externref;\\n /** Returns document's URL. */\\n @external(\\\"env\\\", \\\"document.documentURI\\\")\\n export const documentURI: string;\\n /** Returns the URL of the location that referred the user to the current page. */\\n @external(\\\"env\\\", \\\"document.referrer\\\")\\n export const referrer: string;\\n /** Returns true if document has the ability of fullscreen mode, or false otherwise. */\\n @external(\\\"env\\\", \\\"document.pictureInPictureEnabled\\\")\\n export const fullscreenEnabled: bool;\\n /** Returns true if document has the ability of picture-in-picture mode, or false otherwise. */\\n @external(\\\"env\\\", \\\"document.pictureInPictureEnabled\\\")\\n export const pictureInPictureEnabled: bool;\\n\\n /** Returns the number of child elements. */\\n @external(\\\"env\\\", \\\"document.childElementCount\\\")\\n export const childElementCount: i32;\\n /** Returns the child elements. */\\n @external(\\\"env\\\", \\\"document.children\\\")\\n export const children: externref;\\n /** Returns the first child that is an element, and null otherwise. */\\n @external(\\\"env\\\", \\\"document.firstElementChild\\\")\\n export const firstElementChild: externref;\\n /** Returns the last child that is an element, and null otherwise. */\\n @external(\\\"env\\\", \\\"document.lastElementChild\\\")\\n export const lastElementChild: externref;\\n\\n /**\\n * Returns the HTTP cookies that apply to the Document. If there are no cookies or cookies can't be applied\\n * to this resource, the empty string will be returned.\\n *\\n * Can be set, to add a new cookie to the element's set of HTTP cookies.\\n *\\n * If the contents are sandboxed into a unique origin (e.g. in an iframe with the sandbox attribute),\\n * a \\\"SecurityError\\\" DOMException will be thrown on getting and setting.\\n */\\n @external(\\\"env\\\", \\\"document.cookie\\\")\\n export let cookie: string;\\n /** Represents the or node of the current document, or null if no such element exists. */\\n @external(\\\"env\\\", \\\"document.body\\\")\\n export let body: externref;\\n /** Sets or gets the security domain of the document. */\\n @external(\\\"env\\\", \\\"document.domain\\\")\\n export let domain: string;\\n /** Sets or gets the title of the document. */\\n @external(\\\"env\\\", \\\"document.title\\\")\\n export let title: string;\\n /** Sets or gets information about the current Location. */\\n @external(\\\"env\\\", \\\"document.location\\\")\\n export let location: externref;\\n /** Sets or gets the URL for the current document. */\\n @external(\\\"env\\\", \\\"document.URL\\\")\\n export let URL: string;\\n\\n /**\\n * Creates an instance of the element for the specified tag.\\n * @param tagName The name of an element.\\n */\\n @external(\\\"env\\\", \\\"document.createElement\\\")\\n export function createElement(tagName: string /* , options?: ElementCreationOptions */): externref;\\n /**\\n * Returns a reference to the first HTMLElement object with the specified value of the ID attribute.\\n * @param id String that specifies the ID value.\\n */\\n @external(\\\"env\\\", \\\"document.getElementById\\\")\\n export function getElementById(id: string): externref;\\n /**\\n * Returns a HTMLCollection of the elements in the object on which the method was invoked that have all the classes\\n * given by classNames. The classNames argument is interpreted as a space-separated list of classes.\\n * @param classNames Gets a collection of objects based on the value of the CLASS attribute.\\n */\\n @external(\\\"env\\\", \\\"document.getElementsByClassName\\\")\\n export function getElementsByClassName(classNames: string): externref;\\n /**\\n * Gets a collection of HTMLElement objects based on the value of the NAME or ID attribute.\\n * @param elementName Gets a collection of objects based on the value of the NAME or ID attribute.\\n */\\n @external(\\\"env\\\", \\\"document.getElementsByName\\\")\\n export function getElementsByName(elementName: string): externref;\\n /** Gets a value indicating whether the object currently has focus. */\\n @external(\\\"env\\\", \\\"document.hasFocus\\\")\\n export function hasFocus(): bool;\\n /** Inserts nodes after the last child of node, while replacing strings in nodes with equivalent Text nodes. */\\n @external(\\\"env\\\", \\\"document.append\\\")\\n export function append(node: externref): void;\\n /** Inserts nodes before the first child of node, while replacing strings in nodes with equivalent Text nodes. */\\n @external(\\\"env\\\", \\\"document.prepend\\\")\\n export function prepend(node: externref): void;\\n /** Replace all children of node with nodes, while replacing strings in nodes with equivalent Text nodes. */\\n @external(\\\"env\\\", \\\"document.replaceChildren\\\")\\n export function replaceChildren(node: externref): void;\\n /**\\n * Writes one or more HTML expressions to a document in the specified window.\\n * @param content Specifies the text and HTML tags to write.\\n */\\n @external(\\\"env\\\", \\\"document.write\\\")\\n export function write(content: string): void;\\n /**\\n * Writes one or more HTML expressions, followed by a carriage return, to a document in the specified window.\\n * @param content Specifies the text and HTML tags to write.\\n */\\n @external(\\\"env\\\", \\\"document.writeln\\\")\\n export function writeln(content: string): void;\\n}\\n\\nexport declare namespace performance {\\n @external(\\\"env\\\", \\\"performance.now\\\")\\n export function now(): f64;\\n}\\n\\nexport namespace crypto {\\n export function getRandomValues(array: Uint8Array): void {\\n let values = getRandomValuesN(array.length);\\n array.set(values);\\n }\\n @external(\\\"env\\\", \\\"crypto.getRandomValuesN\\\")\\n @external.js(\\\"let a = new Uint8Array(n); crypto.getRandomValues(a); return a;\\\")\\n export declare function getRandomValuesN(n: u32): Uint8Array;\\n}\\n\",\n \"bindings/node\": \"export declare namespace process {\\n @external(\\\"env\\\", \\\"process.argv\\\")\\n export const argv: string[];\\n @external(\\\"env\\\", \\\"process.exit\\\")\\n export function exit(code: i32): void;\\n}\\n\",\n \"builtins\": \"import { strtol, strtod, strtob } from \\\"./util/string\\\";\\n\\ntype auto = i32;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function isBoolean(value?: T): bool;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function isInteger(value?: T): bool;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function isSigned(value?: T): bool;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function isFloat(value?: T): bool;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function isVector(value?: T): bool;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function isReference(value?: T): bool;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function isString(value?: T): bool;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function isArray(value?: T): bool;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function isArrayLike(value?: T): bool;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function isFunction(value?: T): bool;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function isNullable(value?: T): bool;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function isDefined(expression: auto): bool;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function isConstant(expression: auto): bool;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function isManaged(value?: T): bool;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function isVoid(): bool;\\n\\n// @ts-ignore\\n@builtin\\nexport declare function lengthof(func?: T): i32;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function clz(value: T): T;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function ctz(value: T): T;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function popcnt(value: T): T;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function rotl(value: T, shift: T): T;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function rotr(value: T, shift: T): T;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function abs(value: T): T;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function max(left: T, right: T): T;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function min(left: T, right: T): T;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function ceil(value: T): T;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function floor(value: T): T;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function copysign(left: T, right: T): T;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function nearest(value: T): T;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function reinterpret(value: number): T;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function sqrt(value: T): T;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function trunc(value: T): T;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function add(left: T, right: T): T;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function sub(left: T, right: T): T;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function mul(left: T, right: T): T;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function div(left: T, right: T): T;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function eq(left: T, right: T): i32;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function ne(left: T, right: T): i32;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function rem(left: T, right: T): T;\\n\\n// @ts-ignore: decorator\\n@unsafe @builtin\\nexport declare function load(ptr: usize, immOffset?: usize, immAlign?: usize): T;\\n\\n// @ts-ignore: decorator\\n@unsafe @builtin\\nexport declare function store(ptr: usize, value: auto, immOffset?: usize, immAlign?: usize): void;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function sizeof(): usize; // | u32 / u64\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function alignof(): usize; // | u32 / u64\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function offsetof(fieldName?: string): usize; // | u32 / u64\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function idof(): u32;\\n\\n// @ts-ignore\\n@builtin\\nexport declare function nameof(): string;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function select(ifTrue: T, ifFalse: T, condition: bool): T;\\n\\n// @ts-ignore: decorator\\n@unsafe @builtin\\nexport declare function unreachable(): auto;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function changetype(value: auto): T;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function assert(isTrueish: T, message?: string): T;\\n\\n// @ts-ignore: decorator\\n@unsafe @builtin\\nexport declare function unchecked(expr: T): T;\\n\\n// @ts-ignore: decorator\\n@unsafe @builtin\\nexport declare function call_indirect(index: u32, ...args: auto[]): T;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function instantiate(...args: auto[]): T;\\n\\nexport namespace atomic {\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function load(ptr: usize, immOffset?: usize): T;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function store(ptr: usize, value: T, immOffset?: usize): void;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function add(ptr: usize, value: T, immOffset?: usize): T;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function sub(ptr: usize, value: T, immOffset?: usize): T;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function and(ptr: usize, value: T, immOffset?: usize): T;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function or(ptr: usize, value: T, immOffset?: usize): T;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function xor(ptr: usize, value: T, immOffset?: usize): T;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function xchg(ptr: usize, value: T, immOffset?: usize): T;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function cmpxchg(ptr: usize, expected: T, replacement: T, immOffset?: usize): T;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function wait(ptr: usize, expected: T, timeout: i64): AtomicWaitResult;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function notify(ptr: usize, count: i32): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function fence(): void;\\n}\\n\\n// @ts-ignore: decorator\\n@lazy\\nexport const enum AtomicWaitResult {\\n OK = 0,\\n NOT_EQUAL = 1,\\n TIMED_OUT = 2\\n}\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function i8(value: auto): i8;\\n\\nexport namespace i8 {\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const MIN_VALUE: i8 = -128;\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const MAX_VALUE: i8 = 127;\\n\\n // @ts-ignore: decorator\\n @inline\\n export function parse(value: string, radix: i32 = 0): i8 {\\n return strtol(value, radix);\\n }\\n}\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function i16(value: auto): i16;\\n\\nexport namespace i16 {\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const MIN_VALUE: i16 = -32768;\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const MAX_VALUE: i16 = 32767;\\n\\n // @ts-ignore: decorator\\n @inline\\n export function parse(value: string, radix: i32 = 0): i16 {\\n return strtol(value, radix);\\n }\\n}\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function i32(value: auto): i32;\\n\\nexport namespace i32 {\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const MIN_VALUE: i32 = -2147483648;\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const MAX_VALUE: i32 = 2147483647;\\n\\n // @ts-ignore: decorator\\n @inline\\n export function parse(value: string, radix: i32 = 0): i32 {\\n return strtol(value, radix);\\n }\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function clz(value: i32): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function ctz(value: i32): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function popcnt(value: i32): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function add(left: i32, right:i32): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function sub(left: i32, right:i32): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function mul(left: i32, right:i32): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function div_s(left: i32, right:i32): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function div_u(left: i32, right:i32): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function rotl(value: i32, shift: i32): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function rotr(value: i32, shift: i32): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function eq(left: i32, right:i32): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function ne(left: i32, right:i32): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function rem_s(left: i32, right: i32): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function rem_u(left: u32, right: u32): u32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function reinterpret_f32(value: f32): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function load8_s(ptr: usize, immOffset?: usize, immAlign?: usize): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function load8_u(ptr: usize, immOffset?: usize, immAlign?: usize): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function load16_s(ptr: usize, immOffset?: usize, immAlign?: usize): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function load16_u(ptr: usize, immOffset?: usize, immAlign?: usize): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function load(ptr: usize, immOffset?: usize, immAlign?: usize): i32;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function store8(ptr: usize, value: i32, immOffset?: usize, immAlign?: usize): void;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function store16(ptr: usize, value: i32, immOffset?: usize, immAlign?: usize): void;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function store(ptr: usize, value: i32, immOffset?: usize, immAlign?: usize): void;\\n\\n export namespace atomic {\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function load8_u(ptr: usize, immOffset?: usize): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function load16_u(ptr: usize, immOffset?: usize): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function load(ptr: usize, immOffset?: usize): i32;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function store8(ptr: usize, value: i32, immOffset?: usize): void;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function store16(ptr: usize, value: i32, immOffset?: usize): void;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function store(ptr: usize, value: i32, immOffset?: usize): void;\\n\\n export namespace rmw8 {\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function add_u(ptr: usize, value: i32, immOffset?: usize): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function sub_u(ptr: usize, value: i32, immOffset?: usize): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function and_u(ptr: usize, value: i32, immOffset?: usize): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function or_u(ptr: usize, value: i32, immOffset?: usize): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function xor_u(ptr: usize, value: i32, immOffset?: usize): i32;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function xchg_u(ptr: usize, value: i32, immOffset?: usize): i32;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function cmpxchg_u(ptr: usize, expected: i32, replacement: i32, immOffset?: usize): i32;\\n }\\n\\n export namespace rmw16 {\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function add_u(ptr: usize, value: i32, immOffset?: usize): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function sub_u(ptr: usize, value: i32, immOffset?: usize): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function and_u(ptr: usize, value: i32, immOffset?: usize): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function or_u(ptr: usize, value: i32, immOffset?: usize): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function xor_u(ptr: usize, value: i32, immOffset?: usize): i32;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function xchg_u(ptr: usize, value: i32, immOffset?: usize): i32;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function cmpxchg_u(ptr: usize, expected: i32, replacement: i32, immOffset?: usize): i32;\\n }\\n\\n export namespace rmw {\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function add(ptr: usize, value: i32, immOffset?: usize): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function sub(ptr: usize, value: i32, immOffset?: usize): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function and(ptr: usize, value: i32, immOffset?: usize): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function or(ptr: usize, value: i32, immOffset?: usize): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function xor(ptr: usize, value: i32, immOffset?: usize): i32;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function xchg(ptr: usize, value: i32, immOffset?: usize): i32;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function cmpxchg(ptr: usize, expected: i32, replacement: i32, immOffset?: usize): i32;\\n }\\n }\\n}\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function i64(value: auto): i64;\\n\\nexport namespace i64 {\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const MIN_VALUE: i64 = -9223372036854775808;\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const MAX_VALUE: i64 = 9223372036854775807;\\n\\n // @ts-ignore: decorator\\n @inline\\n export function parse(value: string, radix: i32 = 0): i64 {\\n return strtol(value, radix);\\n }\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function clz(value: i64): i64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function ctz(value: i64): i64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function add(left: i64, right:i64): i64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function sub(left: i64, right:i64): i64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function mul(left: i64, right:i64): i64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function div_s(left: i64, right:i64): i64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function div_u(left: i64, right:i64): i64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function load8_s(ptr: usize, immOffset?: usize, immAlign?: usize): i64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function load8_u(ptr: usize, immOffset?: usize, immAlign?: usize): i64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function load16_s(ptr: usize, immOffset?: usize, immAlign?: usize): i64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function load16_u(ptr: usize, immOffset?: usize, immAlign?: usize): i64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function load32_s(ptr: usize, immOffset?: usize, immAlign?: usize): i64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function load32_u(ptr: usize, immOffset?: usize, immAlign?: usize): i64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function load(ptr: usize, immOffset?: usize): i64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function popcnt(value: i64): i64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function rotl(value: i64, shift: i64): i64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function rotr(value: i64, shift: i64): i64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function eq(left: i64, right:i64): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function ne(left: i64, right:i64): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function rem_s(left: i64, right: i64): i64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function rem_u(left: u64, right: u64): u64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function reinterpret_f64(value: f64): i64;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function store8(ptr: usize, value: i64, immOffset?: usize, immAlign?: usize): void;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function store16(ptr: usize, value: i64, immOffset?: usize, immAlign?: usize): void;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function store32(ptr: usize, value: i64, immOffset?: usize, immAlign?: usize): void;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function store(ptr: usize, value: i64, immOffset?: usize, immAlign?: usize): void;\\n\\n export namespace atomic {\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function load8_u(ptr: usize, immOffset?: usize): i64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function load16_u(ptr: usize, immOffset?: usize): i64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function load32_u(ptr: usize, immOffset?: usize): i64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function load(ptr: usize, immOffset?: usize): i64;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function store8(ptr: usize, value: i64, immOffset?: usize): void;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function store16(ptr: usize, value: i64, immOffset?: usize): void;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function store32(ptr: usize, value: i64, immOffset?: usize): void;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function store(ptr: usize, value: i64, immOffset?: usize): void;\\n\\n export namespace rmw8 {\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function add_u(ptr: usize, value: i64, immOffset?: usize): i64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function sub_u(ptr: usize, value: i64, immOffset?: usize): i64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function and_u(ptr: usize, value: i64, immOffset?: usize): i64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function or_u(ptr: usize, value: i64, immOffset?: usize): i64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function xor_u(ptr: usize, value: i64, immOffset?: usize): i64;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function xchg_u(ptr: usize, value: i64, immOffset?: usize): i64;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function cmpxchg_u(ptr: usize, expected: i64, replacement: i64, immOffset?: usize): i64;\\n }\\n\\n export namespace rmw16 {\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function add_u(ptr: usize, value: i64, immOffset?: usize): i64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function sub_u(ptr: usize, value: i64, immOffset?: usize): i64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function and_u(ptr: usize, value: i64, immOffset?: usize): i64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function or_u(ptr: usize, value: i64, immOffset?: usize): i64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function xor_u(ptr: usize, value: i64, immOffset?: usize): i64;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function xchg_u(ptr: usize, value: i64, immOffset?: usize): i64;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function cmpxchg_u(ptr: usize, expected: i64, replacement: i64, immOffset?: usize): i64;\\n }\\n\\n export namespace rmw32 {\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function add_u(ptr: usize, value: i64, immOffset?: usize): i64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function sub_u(ptr: usize, value: i64, immOffset?: usize): i64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function and_u(ptr: usize, value: i64, immOffset?: usize): i64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function or_u(ptr: usize, value: i64, immOffset?: usize): i64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function xor_u(ptr: usize, value: i64, immOffset?: usize): i64;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function xchg_u(ptr: usize, value: i64, immOffset?: usize): i64;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function cmpxchg_u(ptr: usize, expected: i64, replacement: i64, immOffset?: usize): i64;\\n }\\n\\n export namespace rmw {\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function add(ptr: usize, value: i64, immOffset?: usize): i64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function sub(ptr: usize, value: i64, immOffset?: usize): i64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function and(ptr: usize, value: i64, immOffset?: usize): i64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function or(ptr: usize, value: i64, immOffset?: usize): i64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function xor(ptr: usize, value: i64, immOffset?: usize): i64;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function xchg(ptr: usize, value: i64, immOffset?: usize): i64;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function cmpxchg(ptr: usize, expected: i64, replacement: i64, immOffset?: usize): i64;\\n }\\n }\\n}\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function isize(value: auto): isize;\\n\\nexport namespace isize {\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const MIN_VALUE: isize = sizeof() == sizeof()\\n ? -2147483648\\n : -9223372036854775808;\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const MAX_VALUE: isize = sizeof() == sizeof()\\n ? 2147483647\\n : 9223372036854775807;\\n\\n // @ts-ignore: decorator\\n @inline\\n export function parse(value: string, radix: i32 = 0): isize {\\n return strtol(value, radix);\\n }\\n}\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function u8(value: auto): u8;\\n\\nexport namespace u8 {\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const MIN_VALUE: u8 = 0;\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const MAX_VALUE: u8 = 255;\\n\\n // @ts-ignore: decorator\\n @inline\\n export function parse(value: string, radix: i32 = 0): u8 {\\n return strtol(value, radix);\\n }\\n}\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function u16(value: auto): u16;\\n\\nexport namespace u16 {\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const MIN_VALUE: u16 = 0;\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const MAX_VALUE: u16 = 65535;\\n\\n // @ts-ignore: decorator\\n @inline\\n export function parse(value: string, radix: i32 = 0): u16 {\\n return strtol(value, radix);\\n }\\n}\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function u32(value: auto): u32;\\n\\nexport namespace u32 {\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const MIN_VALUE: u32 = 0;\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const MAX_VALUE: u32 = 4294967295;\\n\\n // @ts-ignore: decorator\\n @inline\\n export function parse(value: string, radix: i32 = 0): u32 {\\n return strtol(value, radix);\\n }\\n}\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function u64(value: auto): u64;\\n\\nexport namespace u64 {\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const MIN_VALUE: u64 = 0;\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const MAX_VALUE: u64 = 18446744073709551615;\\n\\n // @ts-ignore: decorator\\n @inline\\n export function parse(value: string, radix: i32 = 0): u64 {\\n return strtol(value, radix);\\n }\\n}\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function usize(value: auto): usize;\\n\\nexport namespace usize {\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const MIN_VALUE: usize = 0;\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const MAX_VALUE: usize = sizeof() == sizeof()\\n ? 4294967295\\n : 18446744073709551615;\\n\\n // @ts-ignore: decorator\\n @inline\\n export function parse(value: string, radix: i32 = 0): usize {\\n return strtol(value, radix);\\n }\\n}\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function bool(value: auto): bool;\\n\\nexport namespace bool {\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const MIN_VALUE: bool = false;\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const MAX_VALUE: bool = true;\\n\\n // @ts-ignore: decorator\\n @inline\\n export function parse(value: string): bool {\\n return strtob(value);\\n }\\n}\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function f32(value: auto): f32;\\n\\nexport namespace f32 {\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const EPSILON = reinterpret(0x34000000); // 0x1p-23f\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const MIN_VALUE = reinterpret(0x00000001); // 0x0.000001p+0f\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const MAX_VALUE = reinterpret(0x7F7FFFFF); // 0x1.fffffep+127f\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const MIN_NORMAL_VALUE = reinterpret(0x00800000); // 0x1p-126f\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const MIN_SAFE_INTEGER: f32 = -16777215;\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const MAX_SAFE_INTEGER: f32 = 16777215;\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const POSITIVE_INFINITY: f32 = Infinity;\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const NEGATIVE_INFINITY: f32 = -Infinity;\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const NaN: f32 = 0.0 / 0.0;\\n\\n // @ts-ignore: decorator\\n @inline\\n export function parse(value: string): f32 {\\n return strtod(value);\\n }\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function abs(value: f32): f32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function ceil(value: f32): f32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function copysign(x: f32, y: f32): f32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function floor(value: f32): f32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function load(ptr: usize, immOffset?: usize, immAlign?: usize): f32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function max(left: f32, right: f32): f32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function min(left: f32, right: f32): f32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function nearest(value: f32): f32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function reinterpret_i32(value: i32): f32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function sqrt(value: f32): f32;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function store(ptr: usize, value: f32, immOffset?: usize, immAlign?: usize): void;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function trunc(value: f32): f32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function add(left: f32, right: f32): f32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function sub(left: f32, right: f32): f32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function mul(left: f32, right: f32): f32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function div(left: f32, right: f32): f32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function eq(left: f32, right: f32): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function ne(left: f32, right: f32): i32;\\n}\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function f64(value: auto): f64;\\n\\nexport namespace f64 {\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const EPSILON = reinterpret(0x3CB0000000000000); // 0x1p-52\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const MIN_VALUE = reinterpret(0x0000000000000001); // 0x0.0000000000001p+0\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const MAX_VALUE = reinterpret(0x7FEFFFFFFFFFFFFF); // 0x1.fffffffffffffp+1023\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const MIN_NORMAL_VALUE = reinterpret(0x0010000000000000); // 0x1p-1022\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const MIN_SAFE_INTEGER: f64 = -9007199254740991;\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const MAX_SAFE_INTEGER: f64 = 9007199254740991;\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const POSITIVE_INFINITY: f64 = Infinity;\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const NEGATIVE_INFINITY: f64 = -Infinity;\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const NaN: f64 = 0.0 / 0.0;\\n\\n // @ts-ignore: decorator\\n @inline\\n export function parse(value: string): f64 {\\n return strtod(value);\\n }\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function abs(value: f64): f64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function ceil(value: f64): f64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function copysign(x: f64, y: f64): f64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function floor(value: f64): f64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function load(ptr: usize, immOffset?: usize, immAlign?: usize): f64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function max(left: f64, right: f64): f64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function min(left: f64, right: f64): f64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function nearest(value: f64): f64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function reinterpret_i64(value: i64): f64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function sqrt(value: f64): f64;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function store(ptr: usize, value: f64, immOffset?: usize, immAlign?: usize): void;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function trunc(value: f64): f64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function add(left: f64, right: f64): f64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function sub(left: f64, right: f64): f64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function mul(left: f64, right: f64): f64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function div(left: f64, right: f64): f64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function eq(left: f64, right: f64): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function ne(left: f64, right: f64): i32;\\n}\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function v128(\\n a: i8, b: i8, c: i8, d: i8, e: i8, f: i8, g: i8, h: i8,\\n i: i8, j: i8, k: i8, l: i8, m: i8, n: i8, o: i8, p: i8\\n): v128;\\n\\nexport namespace v128 {\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function splat(x: T): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extract_lane(x: v128, idx: u8): T;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function replace_lane(x: v128, idx: u8, value: T): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function shuffle(a: v128, b: v128, ...lanes: u8[]): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function swizzle(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function load(ptr: usize, immOffset?: usize, immAlign?: usize): v128;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function load_ext(ptr: usize, immOffset?: usize, immAlign?: usize): v128;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function load_zero(ptr: usize, immOffset?: usize, immAlign?: usize): v128;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function load_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): v128;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function store_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): void;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function load8x8_s(ptr: usize, immOffset?: u32, immAlign?: u32): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function load8x8_u(ptr: usize, immOffset?: u32, immAlign?: u32): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function load16x4_s(ptr: usize, immOffset?: u32, immAlign?: u32): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function load16x4_u(ptr: usize, immOffset?: u32, immAlign?: u32): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function load32x2_s(ptr: usize, immOffset?: u32, immAlign?: u32): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function load32x2_u(ptr: usize, immOffset?: u32, immAlign?: u32): v128;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function load_splat(ptr: usize, immOffset?: usize, immAlign?: usize): v128;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function load8_splat(ptr: usize, immOffset?: u32, immAlign?: u32): v128;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function load16_splat(ptr: usize, immOffset?: u32, immAlign?: u32): v128;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function load32_splat(ptr: usize, immOffset?: u32, immAlign?: u32): v128;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function load64_splat(ptr: usize, immOffset?: u32, immAlign?: u32): v128;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function load32_zero(ptr: usize, immOffset?: u32, immAlign?: u32): v128;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function load64_zero(ptr: usize, immOffset?: u32, immAlign?: u32): v128;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function load8_lane(ptr: usize, vec: v128, idx: u8, immOffset?: u32, immAlign?: u32): v128;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function load16_lane(ptr: usize, vec: v128, idx: u8, immOffset?: u32, immAlign?: u32): v128;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function load32_lane(ptr: usize, vec: v128, idx: u8, immOffset?: u32, immAlign?: u32): v128;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function load64_lane(ptr: usize, vec: v128, idx: u8, immOffset?: u32, immAlign?: u32): v128;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function store8_lane(ptr: usize, vec: v128, idx: u8, immOffset?: u32, immAlign?: u32): void;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function store16_lane(ptr: usize, vec: v128, idx: u8, immOffset?: u32, immAlign?: u32): void;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function store32_lane(ptr: usize, vec: v128, idx: u8, immOffset?: u32, immAlign?: u32): void;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function store64_lane(ptr: usize, vec: v128, idx: u8, immOffset?: u32, immAlign?: u32): void;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function store(ptr: usize, value: v128, immOffset?: usize, immAlign?: usize): void;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function add(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function sub(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function mul(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function div(a: v128, b: v128): v128; // f32, f64 only\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function neg(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function add_sat(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function sub_sat(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function shl(a: v128, b: i32): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function shr(a: v128, b: i32): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function and(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function or(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function xor(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function andnot(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function not(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function bitselect(v1: v128, v2: v128, c: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function any_true(a: v128): bool;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function all_true(a: v128): bool;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function bitmask(a: v128): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function popcnt(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function min(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function max(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function pmin(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function pmax(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function dot(a: v128, b: v128): v128; // i16 only\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function avgr(a: v128, b: v128): v128; // u8, u16 only\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function abs(a: v128): v128; // f32, f64 only\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function sqrt(a: v128): v128; // f32, f64 only\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function ceil(a: v128): v128; // f32, f64 only\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function floor(a: v128): v128; // f32, f64 only\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function trunc(a: v128): v128; // f32, f64 only\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function nearest(a: v128): v128; // f32, f64 only\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function eq(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function ne(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function lt(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function le(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function gt(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function ge(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function convert(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function convert_low(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function trunc_sat(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function trunc_sat_zero(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function narrow(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extend_low(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extend_high(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extadd_pairwise(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function demote_zero(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function promote_low(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function q15mulr_sat(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extmul_low(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extmul_high(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function relaxed_swizzle(a: v128, s: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function relaxed_trunc(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function relaxed_trunc_zero(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function relaxed_madd(a: v128, b: v128, c: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function relaxed_nmadd(a: v128, b: v128, c: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function relaxed_laneselect(a: v128, b: v128, m: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function relaxed_min(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function relaxed_max(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function relaxed_q15mulr(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function relaxed_dot(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function relaxed_dot_add(a: v128, b: v128, c: v128): v128;\\n}\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function i8x16(\\n a: i8, b: i8, c: i8, d: i8, e: i8, f: i8, g: i8, h: i8,\\n i: i8, j: i8, k: i8, l: i8, m: i8, n: i8, o: i8, p: i8\\n): v128;\\n\\nexport namespace i8x16 {\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function splat(x: i8): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extract_lane_s(x: v128, idx: u8): i8;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extract_lane_u(x: v128, idx: u8): u8;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function replace_lane(x: v128, idx: u8, value: i8): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function add(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function sub(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function min_s(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function min_u(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function max_s(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function max_u(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function avgr_u(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function abs(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function neg(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function add_sat_s(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function add_sat_u(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function sub_sat_s(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function sub_sat_u(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function shl(a: v128, b: i32): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function shr_s(a: v128, b: i32): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function shr_u(a: v128, b: i32): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function all_true(a: v128): bool;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function bitmask(a: v128): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function popcnt(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function eq(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function ne(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function lt_s(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function lt_u(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function le_s(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function le_u(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function gt_s(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function gt_u(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function ge_s(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function ge_u(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function narrow_i16x8_s(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function narrow_i16x8_u(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function shuffle(\\n a: v128, b: v128,\\n l0: u8, l1: u8, l2: u8, l3: u8, l4: u8, l5: u8, l6: u8, l7: u8,\\n l8: u8, l9: u8, l10: u8, l11: u8, l12: u8, l13: u8, l14: u8, l15: u8\\n ): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function swizzle(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function relaxed_swizzle(a: v128, s: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function relaxed_laneselect(a: v128, b: v128, m: v128): v128;\\n}\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function i16x8(a: i16, b: i16, c: i16, d: i16, e: i16, f: i16, g: i16, h: i16): v128;\\n\\nexport namespace i16x8 {\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function splat(x: i16): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extract_lane_s(x: v128, idx: u8): i16;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extract_lane_u(x: v128, idx: u8): u16;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function replace_lane(x: v128, idx: u8, value: i16): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function add(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function sub(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function mul(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function min_s(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function min_u(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function max_s(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function max_u(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function avgr_u(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function abs(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function neg(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function add_sat_s(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function add_sat_u(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function sub_sat_s(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function sub_sat_u(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function shl(a: v128, b: i32): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function shr_s(a: v128, b: i32): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function shr_u(a: v128, b: i32): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function all_true(a: v128): bool;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function bitmask(a: v128): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function eq(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function ne(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function lt_s(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function lt_u(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function le_s(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function le_u(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function gt_s(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function gt_u(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function ge_s(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function ge_u(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function narrow_i32x4_s(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function narrow_i32x4_u(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extend_low_i8x16_s(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extend_low_i8x16_u(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extend_high_i8x16_s(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extend_high_i8x16_u(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extadd_pairwise_i8x16_s(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extadd_pairwise_i8x16_u(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function q15mulr_sat_s(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extmul_low_i8x16_s(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extmul_low_i8x16_u(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extmul_high_i8x16_s(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extmul_high_i8x16_u(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function shuffle(\\n a: v128, b: v128,\\n l0: u8, l1: u8, l2: u8, l3: u8, l4: u8, l5: u8, l6: u8, l7: u8\\n ): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function relaxed_laneselect(a: v128, b: v128, m: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function relaxed_q15mulr_s(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function relaxed_dot_i8x16_i7x16_s(a: v128, b: v128, c: v128): v128;\\n}\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function i32x4(a: i32, b: i32, c: i32, d: i32): v128;\\n\\nexport namespace i32x4 {\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function splat(x: i32): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extract_lane(x: v128, idx: u8): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function replace_lane(x: v128, idx: u8, value: i32): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function add(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function sub(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function mul(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function min_s(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function min_u(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function max_s(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function max_u(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function dot_i16x8_s(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function abs(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function neg(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function shl(a: v128, b: i32): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function shr_s(a: v128, b: i32): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function shr_u(a: v128, b: i32): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function all_true(a: v128): bool;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function bitmask(a: v128): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function eq(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function ne(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function lt_s(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function lt_u(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function le_s(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function le_u(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function gt_s(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function gt_u(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function ge_s(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function ge_u(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function trunc_sat_f32x4_s(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function trunc_sat_f32x4_u(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function trunc_sat_f64x2_s_zero(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function trunc_sat_f64x2_u_zero(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extend_low_i16x8_s(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extend_low_i16x8_u(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extend_high_i16x8_s(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extend_high_i16x8_u(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extadd_pairwise_i16x8_s(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extadd_pairwise_i16x8_u(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extmul_low_i16x8_s(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extmul_low_i16x8_u(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extmul_high_i16x8_s(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extmul_high_i16x8_u(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function shuffle(a: v128, b: v128, l0: u8, l1: u8, l2: u8, l3: u8): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function relaxed_trunc_f32x4_s(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function relaxed_trunc_f32x4_u(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function relaxed_trunc_f64x2_s_zero(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function relaxed_trunc_f64x2_u_zero(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function relaxed_laneselect(a: v128, b: v128, m: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function relaxed_dot_i8x16_i7x16_add_s(a: v128, b: v128, c: v128): v128;\\n}\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function i64x2(a: i64, b: i64): v128;\\n\\nexport namespace i64x2 {\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function splat(x: i64): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extract_lane(x: v128, idx: u8): i64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function replace_lane(x: v128, idx: u8, value: i64): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function add(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function sub(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function mul(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function abs(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function neg(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function shl(a: v128, b: i32): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function shr_s(a: v128, b: i32): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function shr_u(a: v128, b: i32): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function all_true(a: v128): bool;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function bitmask(a: v128): i32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function eq(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function ne(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function lt_s(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function le_s(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function gt_s(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function ge_s(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extend_low_i32x4_s(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extend_low_i32x4_u(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extend_high_i32x4_s(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extend_high_i32x4_u(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extmul_low_i32x4_s(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extmul_low_i32x4_u(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extmul_high_i32x4_s(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extmul_high_i32x4_u(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function shuffle(a: v128, b: v128, l0: u8, l1: u8): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function relaxed_laneselect(a: v128, b: v128, m: v128): v128;\\n}\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function f32x4(a: f32, b: f32, c: f32, d: f32): v128;\\n\\nexport namespace f32x4 {\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function splat(x: f32): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extract_lane(x: v128, idx: u8): f32;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function replace_lane(x: v128, idx: u8, value: f32): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function add(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function sub(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function mul(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function div(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function neg(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function min(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function max(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function pmin(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function pmax(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function abs(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function sqrt(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function ceil(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function floor(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function trunc(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function nearest(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function eq(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function ne(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function lt(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function le(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function gt(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function ge(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function convert_i32x4_s(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function convert_i32x4_u(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function demote_f64x2_zero(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function shuffle(a: v128, b: v128, l0: u8, l1: u8, l2: u8, l3: u8): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function relaxed_madd(a: v128, b: v128, c: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function relaxed_nmadd(a: v128, b: v128, c: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function relaxed_min(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function relaxed_max(a: v128, b: v128): v128;\\n}\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function f64x2(a: f64, b: f64): v128;\\n\\nexport namespace f64x2 {\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function splat(x: f64): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function extract_lane(x: v128, idx: u8): f64;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function replace_lane(x: v128, idx: u8, value: f64): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function add(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function sub(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function mul(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function div(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function neg(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function min(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function max(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function pmin(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function pmax(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function abs(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function sqrt(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function ceil(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function floor(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function trunc(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function nearest(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function eq(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function ne(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function lt(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function le(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function gt(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function ge(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function convert_low_i32x4_s(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function convert_low_i32x4_u(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function promote_low_f32x4(a: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function shuffle(a: v128, b: v128, l0: u8, l1: u8): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function relaxed_madd(a: v128, b: v128, c: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function relaxed_nmadd(a: v128, b: v128, c: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function relaxed_min(a: v128, b: v128): v128;\\n\\n // @ts-ignore: decorator\\n @builtin\\n export declare function relaxed_max(a: v128, b: v128): v128;\\n}\\n\\n@final\\nexport abstract class i31 { // FIXME: usage of 'new' requires a class :(\\n\\n // @ts-ignore: decorator\\n @builtin\\n static new(value: i32): i31ref { return changetype(unreachable()); }\\n\\n // @ts-ignore: decorator\\n @builtin\\n static get(i31expr: i31ref): i32 { return unreachable(); }\\n}\\n\\n/* eslint-disable @typescript-eslint/no-unused-vars */\\n\\n// @ts-ignore: decorator\\n@external(\\\"env\\\", \\\"abort\\\")\\n@external.js(\\\"throw Error(`${message} in ${fileName}:${lineNumber}:${columnNumber}`);\\\")\\ndeclare function abort(\\n message?: string | null,\\n fileName?: string | null,\\n lineNumber?: u32,\\n columnNumber?: u32\\n): void;\\n\\n// @ts-ignore: decorator\\n@external(\\\"env\\\", \\\"trace\\\")\\n@external.js(\\\"console.log(message, ...[a0, a1, a2, a3, a4].slice(0, n));\\\")\\ndeclare function trace(\\n message: string,\\n n?: i32,\\n a0?: f64,\\n a1?: f64,\\n a2?: f64,\\n a3?: f64,\\n a4?: f64\\n): void;\\n\\n// @ts-ignore: decorator\\n@external(\\\"env\\\", \\\"seed\\\")\\n@external.js(\\\"return Date.now() * Math.random();\\\")\\ndeclare function seed(): f64;\\n\\n/* eslint-enable @typescript-eslint/no-unused-vars */\\n\",\n \"compat\": \"export type ReturnType = returnof;\\nexport type NonNullable = nonnull;\\n\",\n \"console\": \"import {\\n console as binding\\n} from \\\"./bindings/dom\\\";\\n\\nexport namespace console {\\n\\n export function assert(condition: T, message: string = \\\"\\\"): void {\\n binding.assert(!!condition, message);\\n }\\n\\n export function log(message: string = \\\"\\\"): void {\\n binding.log(message);\\n }\\n\\n export function debug(message: string = \\\"\\\"): void {\\n binding.debug(message);\\n }\\n\\n export function info(message: string = \\\"\\\"): void {\\n binding.info(message);\\n }\\n\\n export function warn(message: string = \\\"\\\"): void {\\n binding.warn(message);\\n }\\n\\n export function error(message: string = \\\"\\\"): void {\\n binding.error(message);\\n }\\n\\n export function time(label: string = \\\"default\\\"): void {\\n binding.time(label);\\n }\\n\\n export function timeLog(label: string = \\\"default\\\"): void {\\n binding.timeLog(label);\\n }\\n\\n export function timeEnd(label: string = \\\"default\\\"): void {\\n binding.timeEnd(label);\\n }\\n}\\n\",\n \"crypto\": \"import {\\n crypto as crypto_binding\\n} from \\\"bindings/dom\\\";\\n\\nexport namespace crypto {\\n export function getRandomValues(array: Uint8Array): void {\\n crypto_binding.getRandomValues(array);\\n }\\n}\\n\",\n \"dataview\": \"import { BLOCK_MAXSIZE } from \\\"./rt/common\\\";\\nimport { ArrayBuffer } from \\\"./arraybuffer\\\";\\nimport { E_INDEXOUTOFRANGE, E_INVALIDLENGTH } from \\\"./util/error\\\";\\n\\n// TODO: there is probably a smarter way to check byteOffset for accesses larger than 1 byte\\n\\nexport class DataView {\\n\\n readonly buffer: ArrayBuffer;\\n @unsafe readonly dataStart: usize;\\n readonly byteLength: i32;\\n\\n get byteOffset(): i32 {\\n return (this.dataStart - changetype(this.buffer));\\n }\\n\\n constructor(\\n buffer: ArrayBuffer,\\n byteOffset: i32 = 0,\\n byteLength: i32 = buffer.byteLength\\n ) {\\n if (\\n i32(byteLength > BLOCK_MAXSIZE) |\\n i32(byteOffset + byteLength > buffer.byteLength)\\n ) throw new RangeError(E_INVALIDLENGTH);\\n this.buffer = buffer; // links\\n let dataStart = changetype(buffer) + byteOffset;\\n this.dataStart = dataStart;\\n this.byteLength = byteLength;\\n }\\n\\n getFloat32(byteOffset: i32, littleEndian: bool = false): f32 {\\n if (\\n (byteOffset >>> 31) | i32(byteOffset + 4 > this.byteLength)\\n ) throw new RangeError(E_INDEXOUTOFRANGE);\\n return littleEndian\\n ? load(this.dataStart + byteOffset)\\n : reinterpret(bswap(load(this.dataStart + byteOffset)));\\n }\\n\\n getFloat64(byteOffset: i32, littleEndian: bool = false): f64 {\\n if (\\n (byteOffset >>> 31) | i32(byteOffset + 8 > this.byteLength)\\n ) throw new RangeError(E_INDEXOUTOFRANGE);\\n return littleEndian\\n ? load(this.dataStart + byteOffset)\\n : reinterpret(bswap(load(this.dataStart + byteOffset)));\\n }\\n\\n getInt8(byteOffset: i32): i8 {\\n if (byteOffset >= this.byteLength) throw new RangeError(E_INDEXOUTOFRANGE);\\n return load(this.dataStart + byteOffset);\\n }\\n\\n getInt16(byteOffset: i32, littleEndian: bool = false): i16 {\\n if (\\n (byteOffset >>> 31) | i32(byteOffset + 2 > this.byteLength)\\n ) throw new RangeError(E_INDEXOUTOFRANGE);\\n let result: i16 = load(this.dataStart + byteOffset);\\n return littleEndian ? result : bswap(result);\\n }\\n\\n getInt32(byteOffset: i32, littleEndian: bool = false): i32 {\\n if (\\n (byteOffset >>> 31) | i32(byteOffset + 4 > this.byteLength)\\n ) throw new RangeError(E_INDEXOUTOFRANGE);\\n let result: i32 = load(this.dataStart + byteOffset);\\n return littleEndian ? result : bswap(result);\\n }\\n\\n getUint8(byteOffset: i32): u8 {\\n if (byteOffset >= this.byteLength) throw new RangeError(E_INDEXOUTOFRANGE);\\n return load(this.dataStart + byteOffset);\\n }\\n\\n getUint16(byteOffset: i32, littleEndian: bool = false): u16 {\\n if (\\n (byteOffset >>> 31) | i32(byteOffset + 2 > this.byteLength)\\n ) throw new RangeError(E_INDEXOUTOFRANGE);\\n let result: u16 = load(this.dataStart + byteOffset);\\n return littleEndian ? result : bswap(result);\\n }\\n\\n getUint32(byteOffset: i32, littleEndian: bool = false): u32 {\\n if (\\n (byteOffset >>> 31) | i32(byteOffset + 4 > this.byteLength)\\n ) throw new RangeError(E_INDEXOUTOFRANGE);\\n let result: u32 = load(this.dataStart + byteOffset);\\n return littleEndian ? result : bswap(result);\\n }\\n\\n setFloat32(byteOffset: i32, value: f32, littleEndian: bool = false): void {\\n if (\\n (byteOffset >>> 31) | i32(byteOffset + 4 > this.byteLength)\\n ) throw new RangeError(E_INDEXOUTOFRANGE);\\n if (littleEndian) store(this.dataStart + byteOffset, value);\\n else store(this.dataStart + byteOffset, bswap(reinterpret(value)));\\n }\\n\\n setFloat64(byteOffset: i32, value: f64, littleEndian: bool = false): void {\\n if (\\n (byteOffset >>> 31) | i32(byteOffset + 8 > this.byteLength)\\n ) throw new RangeError(E_INDEXOUTOFRANGE);\\n if (littleEndian) store(this.dataStart + byteOffset, value);\\n else store(this.dataStart + byteOffset, bswap(reinterpret(value)));\\n }\\n\\n setInt8(byteOffset: i32, value: i8): void {\\n if (byteOffset >= this.byteLength) throw new RangeError(E_INDEXOUTOFRANGE);\\n store(this.dataStart + byteOffset, value);\\n }\\n\\n setInt16(byteOffset: i32, value: i16, littleEndian: bool = false): void {\\n if (\\n (byteOffset >>> 31) | i32(byteOffset + 2 > this.byteLength)\\n ) throw new RangeError(E_INDEXOUTOFRANGE);\\n store(this.dataStart + byteOffset, littleEndian ? value : bswap(value));\\n }\\n\\n setInt32(byteOffset: i32, value: i32, littleEndian: bool = false): void {\\n if (\\n (byteOffset >>> 31) | i32(byteOffset + 4 > this.byteLength)\\n ) throw new RangeError(E_INDEXOUTOFRANGE);\\n store(this.dataStart + byteOffset, littleEndian ? value : bswap(value));\\n }\\n\\n setUint8(byteOffset: i32, value: u8): void {\\n if (byteOffset >= this.byteLength) throw new RangeError(E_INDEXOUTOFRANGE);\\n store(this.dataStart + byteOffset, value);\\n }\\n\\n setUint16(byteOffset: i32, value: u16, littleEndian: bool = false): void {\\n if (\\n (byteOffset >>> 31) | i32(byteOffset + 2 > this.byteLength)\\n ) throw new RangeError(E_INDEXOUTOFRANGE);\\n store(this.dataStart + byteOffset, littleEndian ? value : bswap(value));\\n }\\n\\n setUint32(byteOffset: i32, value: u32, littleEndian: bool = false): void {\\n if (\\n (byteOffset >>> 31) | i32(byteOffset + 4 > this.byteLength)\\n ) throw new RangeError(E_INDEXOUTOFRANGE);\\n store(this.dataStart + byteOffset, littleEndian ? value : bswap(value));\\n }\\n\\n // Non-standard additions that make sense in WebAssembly, but won't work in JS:\\n\\n getInt64(byteOffset: i32, littleEndian: bool = false): i64 {\\n if (\\n (byteOffset >>> 31) | i32(byteOffset + 8 > this.byteLength)\\n ) throw new RangeError(E_INDEXOUTOFRANGE);\\n let result: i64 = load(this.dataStart + byteOffset);\\n return littleEndian ? result : bswap(result);\\n }\\n\\n getUint64(byteOffset: i32, littleEndian: bool = false): u64 {\\n if (\\n (byteOffset >>> 31) | i32(byteOffset + 8 > this.byteLength)\\n ) throw new RangeError(E_INDEXOUTOFRANGE);\\n let result = load(this.dataStart + byteOffset);\\n return littleEndian ? result : bswap(result);\\n }\\n\\n setInt64(byteOffset: i32, value: i64, littleEndian: bool = false): void {\\n if (\\n (byteOffset >>> 31) | i32(byteOffset + 8 > this.byteLength)\\n ) throw new RangeError(E_INDEXOUTOFRANGE);\\n store(this.dataStart + byteOffset, littleEndian ? value : bswap(value));\\n }\\n\\n setUint64(byteOffset: i32, value: u64, littleEndian: bool = false): void {\\n if (\\n (byteOffset >>> 31) | i32(byteOffset + 8 > this.byteLength)\\n ) throw new RangeError(E_INDEXOUTOFRANGE);\\n store(this.dataStart + byteOffset, littleEndian ? value : bswap(value));\\n }\\n\\n toString(): string {\\n return \\\"[object DataView]\\\";\\n }\\n}\\n\",\n \"date\": \"import { E_INVALIDDATE } from \\\"util/error\\\";\\nimport { Date as Date_binding } from \\\"./bindings/dom\\\";\\n\\n// @ts-ignore: decorator\\n@inline const\\n MILLIS_PER_DAY = 1000 * 60 * 60 * 24,\\n MILLIS_PER_HOUR = 1000 * 60 * 60,\\n MILLIS_PER_MINUTE = 1000 * 60,\\n MILLIS_PER_SECOND = 1000,\\n\\n YEARS_PER_EPOCH = 400,\\n DAYS_PER_EPOCH = 146097,\\n EPOCH_OFFSET = 719468, // Jan 1, 1970\\n MILLIS_LIMIT = 8640000000000000;\\n\\n// ymdFromEpochDays returns values via globals to avoid allocations\\n// @ts-ignore: decorator\\n@lazy let _month: i32, _day: i32;\\n\\nexport class Date {\\n private year: i32 = 0;\\n private month: i32 = 0;\\n private day: i32 = 0;\\n\\n @inline static UTC(\\n year: i32,\\n month: i32 = 0,\\n day: i32 = 1,\\n hour: i32 = 0,\\n minute: i32 = 0,\\n second: i32 = 0,\\n millisecond: i32 = 0\\n ): i64 {\\n if (year >= 0 && year <= 99) year += 1900;\\n let ms = epochMillis(year, month + 1, day, hour, minute, second, millisecond);\\n if (invalidDate(ms)) throw new RangeError(E_INVALIDDATE);\\n return ms;\\n }\\n\\n @inline static now(): i64 {\\n return Date_binding.now();\\n }\\n\\n // It can parse only ISO 8601 inputs like YYYY-MM-DDTHH:MM:SS.000Z\\n @inline static parse(dateString: string): Date {\\n return this.fromString(dateString);\\n }\\n\\n static fromString(dateTimeString: string): Date {\\n if (!dateTimeString.length) throw new RangeError(E_INVALIDDATE);\\n var\\n hour: i32 = 0,\\n min: i32 = 0,\\n sec: i32 = 0,\\n ms: i32 = 0,\\n offsetMs: i32 = 0;\\n\\n let dateString = dateTimeString;\\n let posT = dateTimeString.indexOf(\\\"T\\\");\\n if (~posT) {\\n // includes a time component\\n let timeString: string;\\n dateString = dateTimeString.substring(0, posT);\\n timeString = dateTimeString.substring(posT + 1);\\n \\n // might end with an offset (\\\"Z\\\", \\\"+05:30\\\", \\\"-08:00\\\", etc.)\\n for (let i = timeString.length - 1; i >= 0; i--) {\\n let c = timeString.charCodeAt(i);\\n if (c == 90) { // Z\\n timeString = timeString.substring(0, i);\\n break;\\n } else if (c == 43 || c == 45) { // + or -\\n if (i == timeString.length - 1) {\\n throw new RangeError(E_INVALIDDATE);\\n }\\n\\n let posColon = timeString.indexOf(\\\":\\\", i + 1);\\n if (~posColon) {\\n let offsetHours = i32.parse(timeString.substring(i + 1, posColon));\\n let offsetMinutes = i32.parse(timeString.substring(posColon + 1));\\n offsetMs = (offsetHours * 60 + offsetMinutes) * MILLIS_PER_MINUTE;\\n } else {\\n let offsetHours = i32.parse(timeString.substring(i + 1));\\n offsetMs = offsetHours * MILLIS_PER_HOUR;\\n } \\n \\n if (c == 45) offsetMs = -offsetMs; // negative offset\\n timeString = timeString.substring(0, i);\\n break;\\n }\\n }\\n\\n // parse the HH:MM:SS component\\n let timeParts = timeString.split(\\\":\\\");\\n let len = timeParts.length;\\n if (len <= 1) throw new RangeError(E_INVALIDDATE);\\n\\n hour = i32.parse(timeParts[0]);\\n min = i32.parse(timeParts[1]);\\n if (len >= 3) {\\n let secAndFrac = timeParts[2];\\n let posDot = secAndFrac.indexOf(\\\".\\\");\\n if (~posDot) {\\n // includes fractional seconds (truncate to milliseconds)\\n sec = i32.parse(secAndFrac.substring(0, posDot));\\n ms = i32.parse(secAndFrac.substr(posDot + 1, 3).padEnd(3, \\\"0\\\"));\\n } else {\\n sec = i32.parse(secAndFrac);\\n }\\n }\\n }\\n\\n // parse the YYYY-MM-DD component\\n let parts = dateString.split(\\\"-\\\");\\n let year = i32.parse(parts[0]);\\n let month = 1, day = 1;\\n let len = parts.length;\\n if (len >= 2) {\\n month = i32.parse(parts[1]);\\n if (len >= 3) {\\n day = i32.parse(parts[2]);\\n }\\n }\\n\\n return new Date(epochMillis(year, month, day, hour, min, sec, ms) - offsetMs);\\n }\\n\\n constructor(private epochMillis: i64) {\\n // this differs from JavaScript which prefer return NaN or \\\"Invalid Date\\\" string\\n // instead throwing exception.\\n if (invalidDate(epochMillis)) throw new RangeError(E_INVALIDDATE);\\n\\n this.year = dateFromEpoch(epochMillis);\\n this.month = _month;\\n this.day = _day;\\n }\\n\\n @inline getTime(): i64 {\\n return this.epochMillis;\\n }\\n\\n setTime(time: i64): i64 {\\n if (invalidDate(time)) throw new RangeError(E_INVALIDDATE);\\n\\n this.epochMillis = time;\\n this.year = dateFromEpoch(time);\\n this.month = _month;\\n this.day = _day;\\n\\n return time;\\n }\\n\\n @inline getUTCFullYear(): i32 {\\n return this.year;\\n }\\n\\n @inline getUTCMonth(): i32 {\\n return this.month - 1;\\n }\\n\\n @inline getUTCDate(): i32 {\\n return this.day;\\n }\\n\\n @inline getUTCDay(): i32 {\\n return dayOfWeek(this.year, this.month, this.day);\\n }\\n\\n getUTCHours(): i32 {\\n return i32(euclidRem(this.epochMillis, MILLIS_PER_DAY)) / MILLIS_PER_HOUR;\\n }\\n\\n getUTCMinutes(): i32 {\\n return i32(euclidRem(this.epochMillis, MILLIS_PER_HOUR)) / MILLIS_PER_MINUTE;\\n }\\n\\n getUTCSeconds(): i32 {\\n return i32(euclidRem(this.epochMillis, MILLIS_PER_MINUTE)) / MILLIS_PER_SECOND;\\n }\\n\\n getUTCMilliseconds(): i32 {\\n return i32(euclidRem(this.epochMillis, MILLIS_PER_SECOND));\\n }\\n\\n setUTCMilliseconds(millis: i32): void {\\n this.setTime(this.epochMillis + (millis - this.getUTCMilliseconds()));\\n }\\n\\n setUTCSeconds(seconds: i32): void {\\n this.setTime(this.epochMillis + (seconds - this.getUTCSeconds()) * MILLIS_PER_SECOND);\\n }\\n\\n setUTCMinutes(minutes: i32): void {\\n this.setTime(this.epochMillis + (minutes - this.getUTCMinutes()) * MILLIS_PER_MINUTE);\\n }\\n\\n setUTCHours(hours: i32): void {\\n this.setTime(this.epochMillis + (hours - this.getUTCHours()) * MILLIS_PER_HOUR);\\n }\\n\\n setUTCDate(day: i32): void {\\n if (this.day == day) return;\\n this.setTime(join(this.year, this.month, day, this.epochMillis));\\n }\\n\\n setUTCMonth(month: i32, day: i32 = this.day): void {\\n if (this.month == month + 1) return;\\n this.setTime(join(this.year, month + 1, day, this.epochMillis));\\n }\\n\\n setUTCFullYear(year: i32): void {\\n if (this.year == year) return;\\n this.setTime(join(year, this.month, this.day, this.epochMillis));\\n }\\n\\n toISOString(): string {\\n // TODO: add more low-level helper which combine toString and padStart without extra allocation\\n\\n let yr = this.year;\\n let isNeg = yr < 0;\\n let year = (isNeg || yr >= 10000)\\n ? (isNeg ? \\\"-\\\" : \\\"+\\\") + stringify(abs(yr), 6)\\n : stringify(yr, 4);\\n let month = stringify(this.month, 2);\\n let day = stringify(this.day);\\n let hours = stringify(this.getUTCHours());\\n let mins = stringify(this.getUTCMinutes());\\n let secs = stringify(this.getUTCSeconds());\\n let ms = stringify(this.getUTCMilliseconds(), 3);\\n\\n return `${year}-${month}-${day}T${hours}:${mins}:${secs}.${ms}Z`;\\n }\\n\\n toUTCString(): string {\\n const\\n weeks: StaticArray = [\\n \\\"Sun, \\\", \\\"Mon, \\\", \\\"Tue, \\\", \\\"Wed, \\\", \\\"Thu, \\\", \\\"Fri, \\\", \\\"Sat, \\\"\\n ],\\n months: StaticArray = [\\n \\\" Jan \\\", \\\" Feb \\\", \\\" Mar \\\", \\\" Apr \\\", \\\" May \\\", \\\" Jun \\\",\\n \\\" Jul \\\", \\\" Aug \\\", \\\" Sep \\\", \\\" Oct \\\", \\\" Nov \\\", \\\" Dec \\\"\\n ];\\n\\n let mo = this.month;\\n let da = this.day;\\n let yr = this.year;\\n let wd = dayOfWeek(yr, mo, da);\\n let year = stringify(abs(yr), 4);\\n let month = unchecked(months[mo - 1]);\\n let week = unchecked(weeks[wd]);\\n let day = stringify(da);\\n let hours = stringify(this.getUTCHours());\\n let mins = stringify(this.getUTCMinutes());\\n let secs = stringify(this.getUTCSeconds());\\n\\n return `${week}${day}${month}${yr < 0 ? \\\"-\\\" : \\\"\\\"}${year} ${hours}:${mins}:${secs} GMT`;\\n }\\n\\n toDateString(): string {\\n // TODO: use u64 static data instead 4 chars\\n // also use stream itoa variants.\\n const\\n weeks: StaticArray = [\\n \\\"Sun \\\", \\\"Mon \\\", \\\"Tue \\\", \\\"Wed \\\", \\\"Thu \\\", \\\"Fri \\\", \\\"Sat \\\"\\n ],\\n months: StaticArray = [\\n \\\"Jan \\\", \\\"Feb \\\", \\\"Mar \\\", \\\"Apr \\\", \\\"May \\\", \\\"Jun \\\",\\n \\\"Jul \\\", \\\"Aug \\\", \\\"Sep \\\", \\\"Oct \\\", \\\"Nov \\\", \\\"Dec \\\"\\n ];\\n\\n let mo = this.month;\\n let da = this.day;\\n let yr = this.year;\\n let wd = dayOfWeek(yr, mo, da);\\n let year = stringify(abs(yr), 4);\\n let month = unchecked(months[mo - 1]);\\n let week = unchecked(weeks[wd]);\\n let day = stringify(da);\\n\\n return `${week}${month}${day}${yr < 0 ? \\\" -\\\" : \\\" \\\"}${year}`;\\n }\\n\\n // Note: it uses UTC time instead local time (without timezone offset)\\n toTimeString(): string {\\n let hours = stringify(this.getUTCHours());\\n let mins = stringify(this.getUTCMinutes());\\n let secs = stringify(this.getUTCSeconds());\\n // TODO: add timezone\\n return `${hours}:${mins}:${secs}`;\\n }\\n\\n // Note: it uses UTC datetime instead local datetime (without timezone offset)\\n toString(): string {\\n return `${this.toDateString()} ${this.toTimeString()}`;\\n }\\n}\\n\\nfunction epochMillis(\\n year: i32,\\n month: i32,\\n day: i32,\\n hour: i32,\\n minute: i32,\\n second: i32,\\n milliseconds: i32\\n): i64 {\\n return (\\n daysSinceEpoch(year, month, day) * MILLIS_PER_DAY +\\n hour * MILLIS_PER_HOUR +\\n minute * MILLIS_PER_MINUTE +\\n second * MILLIS_PER_SECOND +\\n milliseconds\\n );\\n}\\n\\n// @ts-ignore: decorator\\n@inline function floorDiv(a: T, b: T): T {\\n return (a - (a < 0 ? b - 1 : 0)) / b as T;\\n}\\n\\n// @ts-ignore: decorator\\n@inline function euclidRem(a: T, b: T): T {\\n let m = a % b;\\n return m + (m < 0 ? b : 0) as T;\\n}\\n\\nfunction invalidDate(millis: i64): bool {\\n // @ts-ignore\\n return (millis < -MILLIS_LIMIT) | (millis > MILLIS_LIMIT);\\n}\\n\\n// Based on \\\"Euclidean Affine Functions and Applications to Calendar Algorithms\\\"\\n// Paper: https://arxiv.org/pdf/2102.06959.pdf\\nfunction dateFromEpoch(ms: i64): i32 {\\n let da = (floorDiv(ms, MILLIS_PER_DAY) * 4 + EPOCH_OFFSET * 4) | 3;\\n let q0 = floorDiv(da, DAYS_PER_EPOCH); // [0, 146096]\\n let r1 = da - q0 * DAYS_PER_EPOCH;\\n let u1 = u64(r1 | 3) * 2939745;\\n let dm1 = u1 / 11758980;\\n let n1 = 2141 * dm1 + 197913;\\n let year = 100 * q0 + i32(u1 >>> 32);\\n let mo = n1 >>> 16;\\n _day = (n1 & 0xFFFF) / 2141 + 1; // [1, 31]\\n if (dm1 >= 306) { mo -= 12; ++year; }\\n _month = mo; // [1, 12]\\n return year;\\n}\\n\\n// http://howardhinnant.github.io/date_algorithms.html#days_from_civil\\nfunction daysSinceEpoch(y: i32, m: i32, d: i32): i64 {\\n y -= i32(m <= 2);\\n let era = floorDiv(y, YEARS_PER_EPOCH);\\n let yoe = y - era * YEARS_PER_EPOCH; // [0, 399]\\n let doy = (153 * (m + (m > 2 ? -3 : 9)) + 2) / 5 + d - 1; // [0, 365]\\n let doe = yoe * 365 + yoe / 4 - yoe / 100 + doy; // [0, 146096]\\n return (era * 146097 + doe - EPOCH_OFFSET);\\n}\\n\\n// TomohikoSakamoto algorithm from https://en.wikipedia.org/wiki/Determination_of_the_day_of_the_week\\nfunction dayOfWeek(year: i32, month: i32, day: i32): i32 {\\n const tab = memory.data([0, 3, 2, 5, 0, 3, 5, 1, 4, 6, 2, 4]);\\n\\n year -= i32(month < 3);\\n year += floorDiv(year, 4) - floorDiv(year, 100) + floorDiv(year, YEARS_PER_EPOCH);\\n month = load(tab + month - 1);\\n return euclidRem(year + month + day, 7);\\n}\\n\\nfunction stringify(value: i32, padding: i32 = 2): string {\\n return value.toString().padStart(padding, \\\"0\\\");\\n}\\n\\nfunction join(year: i32, month: i32, day: i32, ms: i64): i64 {\\n return daysSinceEpoch(year, month, day) * MILLIS_PER_DAY + euclidRem(ms, MILLIS_PER_DAY);\\n}\\n\",\n \"diagnostics\": \"// @ts-ignore: decorator\\n@builtin\\nexport declare function ERROR(message?: string): void;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function WARNING(message?: string): void;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function INFO(message?: string): void;\\n\",\n \"error\": \"export class Error {\\n\\n name: string = \\\"Error\\\";\\n stack: string = \\\"\\\"; // TODO\\n\\n constructor(\\n public message: string = \\\"\\\"\\n ) {}\\n\\n toString(): string {\\n let message = this.message;\\n return message.length\\n ? this.name + \\\": \\\" + message\\n : this.name;\\n }\\n}\\n\\nexport class RangeError extends Error {\\n constructor(message: string = \\\"\\\") {\\n super(message);\\n this.name = \\\"RangeError\\\";\\n }\\n}\\n\\nexport class TypeError extends Error {\\n constructor(message: string = \\\"\\\") {\\n super(message);\\n this.name = \\\"TypeError\\\";\\n }\\n}\\n\\nexport class SyntaxError extends Error {\\n constructor(message: string = \\\"\\\") {\\n super(message);\\n this.name = \\\"SyntaxError\\\";\\n }\\n}\\n\\nexport class URIError extends Error {\\n constructor(message: string = \\\"\\\") {\\n super(message);\\n this.name = \\\"URIError\\\";\\n }\\n}\\n\",\n \"function\": \"type auto = i32;\\n\\n@final export abstract class Function {\\n private _index: u32;\\n private _env: usize;\\n\\n // @ts-ignore: this on getter\\n get index(this: T): u32 {\\n return load(changetype(this), offsetof>(\\\"_index\\\"));\\n }\\n\\n // @ts-ignore: this on getter\\n get name(this: T): string {\\n return \\\"\\\";\\n }\\n\\n // @ts-ignore: this on getter\\n get length(this: T): i32 {\\n // @ts-ignore: T is function\\n return lengthof();\\n }\\n\\n // @ts-ignore: T is function\\n @builtin call(thisArg: thisof | null, ...args: auto[]): returnof {\\n return unreachable();\\n }\\n\\n toString(this: T): string {\\n return \\\"function() { [native code] }\\\";\\n }\\n\\n // RT integration\\n\\n @unsafe private __visit(cookie: u32): void {\\n // Env is either `null` (nop) or compiler-generated\\n __visit(this._env, cookie);\\n }\\n}\\n\",\n \"iterator\": \"export abstract class Iterable {\\n // ?\\n}\\n\\n@final\\nexport abstract class Iterator {\\n\\n // private constructor(iterable: Iterable) {\\n // }\\n\\n // TODO: these need to evaluate the classId at the respective reference in order to obtain the\\n // next value, i.e. arrays work differently than maps. we'd then have:\\n //\\n // \u2552\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 Iterator layout (32-bit) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2555\\n // 3 2 1\\n // 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 bits\\n // \u251C\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2524\\n // \u2502 index \u2502\\n // \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252C\u2500\u2500\u2500\u252C\u2500\u2524\\n // \u2502 reference \u2502 0 \u2502D\u2502\\n // \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2534\u2500\u2518\\n // D: Done flag\\n\\n // get value(this: u64): T {\\n // ?\\n // }\\n\\n // next(this: u64): Iterator {\\n // ?\\n // }\\n\\n done(this: u64): bool {\\n return (this & 1);\\n }\\n}\\n\",\n \"map\": \"/// \\n\\nimport { HASH } from \\\"./util/hash\\\";\\nimport { E_KEYNOTFOUND } from \\\"./util/error\\\";\\n\\n// A deterministic hash map based on CloseTable from https://github.com/jorendorff/dht\\n\\n// @ts-ignore: decorator\\n@inline const INITIAL_CAPACITY = 4;\\n\\n// @ts-ignore: decorator\\n@inline const FILL_FACTOR_N = 8;\\n\\n// @ts-ignore: decorator\\n@inline const FILL_FACTOR_D = 3;\\n\\n// @ts-ignore: decorator\\n@inline const FREE_FACTOR_N = 3;\\n\\n// @ts-ignore: decorator\\n@inline const FREE_FACTOR_D = 4;\\n\\n/** Structure of a map entry. */\\n@unmanaged class MapEntry {\\n key: K;\\n value: V;\\n taggedNext: usize; // LSB=1 indicates EMPTY\\n}\\n\\n/** Empty bit. */\\n// @ts-ignore: decorator\\n@inline const EMPTY: usize = 1 << 0;\\n\\n/** Size of a bucket. */\\n// @ts-ignore: decorator\\n@inline const BUCKET_SIZE = sizeof();\\n\\n/** Computes the alignment of an entry. */\\n// @ts-ignore: decorator\\n@inline\\nfunction ENTRY_ALIGN(): usize {\\n // can align to 4 instead of 8 if 32-bit and K/V is <= 32-bits\\n const maxkv = sizeof() > sizeof() ? sizeof() : sizeof();\\n const align = (maxkv > sizeof() ? maxkv : sizeof()) - 1;\\n return align;\\n}\\n\\n/** Computes the aligned size of an entry. */\\n// @ts-ignore: decorator\\n@inline\\nfunction ENTRY_SIZE(): usize {\\n const align = ENTRY_ALIGN();\\n const size = (offsetof>() + align) & ~align;\\n return size;\\n}\\n\\nexport class Map {\\n\\n // buckets referencing their respective first entry, usize[bucketsMask + 1]\\n private buckets: ArrayBuffer = new ArrayBuffer(INITIAL_CAPACITY * BUCKET_SIZE);\\n private bucketsMask: u32 = INITIAL_CAPACITY - 1;\\n\\n // entries in insertion order, MapEntry[entriesCapacity]\\n private entries: ArrayBuffer = new ArrayBuffer(INITIAL_CAPACITY * ENTRY_SIZE());\\n private entriesCapacity: i32 = INITIAL_CAPACITY;\\n private entriesOffset: i32 = 0;\\n private entriesCount: i32 = 0;\\n\\n constructor() {\\n /* nop */\\n }\\n\\n get size(): i32 {\\n return this.entriesCount;\\n }\\n\\n clear(): void {\\n this.buckets = new ArrayBuffer(INITIAL_CAPACITY * BUCKET_SIZE);\\n this.bucketsMask = INITIAL_CAPACITY - 1;\\n this.entries = new ArrayBuffer(INITIAL_CAPACITY * ENTRY_SIZE());\\n this.entriesCapacity = INITIAL_CAPACITY;\\n this.entriesOffset = 0;\\n this.entriesCount = 0;\\n }\\n\\n private find(key: K, hashCode: u32): MapEntry | null {\\n let entry = load>( // unmanaged!\\n changetype(this.buckets) + (hashCode & this.bucketsMask) * BUCKET_SIZE\\n );\\n while (entry) {\\n let taggedNext = entry.taggedNext;\\n if (!(taggedNext & EMPTY) && entry.key == key) return entry;\\n entry = changetype>(taggedNext & ~EMPTY);\\n }\\n return null;\\n }\\n\\n has(key: K): bool {\\n return this.find(key, HASH(key)) != null;\\n }\\n\\n @operator(\\\"[]\\\")\\n get(key: K): V {\\n let entry = this.find(key, HASH(key));\\n if (!entry) throw new Error(E_KEYNOTFOUND); // cannot represent `undefined`\\n return entry.value;\\n }\\n\\n @operator(\\\"[]=\\\")\\n set(key: K, value: V): this {\\n let hashCode = HASH(key);\\n let entry = this.find(key, hashCode); // unmanaged!\\n if (entry) {\\n entry.value = value;\\n if (isManaged()) {\\n __link(changetype(this), changetype(value), true);\\n }\\n } else {\\n // check if rehashing is necessary\\n if (this.entriesOffset == this.entriesCapacity) {\\n this.rehash(\\n this.entriesCount < this.entriesCapacity * FREE_FACTOR_N / FREE_FACTOR_D\\n ? this.bucketsMask // just rehash if 1/4+ entries are empty\\n : (this.bucketsMask << 1) | 1 // grow capacity to next 2^N\\n );\\n }\\n // append new entry\\n let entries = this.entries;\\n entry = changetype>(changetype(entries) + (this.entriesOffset++) * ENTRY_SIZE());\\n // link with the map\\n entry.key = key;\\n if (isManaged()) {\\n __link(changetype(this), changetype(key), true);\\n }\\n entry.value = value;\\n if (isManaged()) {\\n __link(changetype(this), changetype(value), true);\\n }\\n ++this.entriesCount;\\n // link with previous entry in bucket\\n let bucketPtrBase = changetype(this.buckets) + (hashCode & this.bucketsMask) * BUCKET_SIZE;\\n entry.taggedNext = load(bucketPtrBase);\\n store(bucketPtrBase, changetype(entry));\\n }\\n return this;\\n }\\n\\n delete(key: K): bool {\\n let entry = this.find(key, HASH(key));\\n if (!entry) return false;\\n entry.taggedNext |= EMPTY;\\n --this.entriesCount;\\n // check if rehashing is appropriate\\n let halfBucketsMask = this.bucketsMask >> 1;\\n if (\\n halfBucketsMask + 1 >= max(INITIAL_CAPACITY, this.entriesCount) &&\\n this.entriesCount < this.entriesCapacity * FREE_FACTOR_N / FREE_FACTOR_D\\n ) this.rehash(halfBucketsMask);\\n return true;\\n }\\n\\n private rehash(newBucketsMask: u32): void {\\n let newBucketsCapacity = (newBucketsMask + 1);\\n let newBuckets = new ArrayBuffer(newBucketsCapacity * BUCKET_SIZE);\\n let newEntriesCapacity = newBucketsCapacity * FILL_FACTOR_N / FILL_FACTOR_D;\\n let newEntries = new ArrayBuffer(newEntriesCapacity * ENTRY_SIZE());\\n\\n // copy old entries to new entries\\n let oldPtr = changetype(this.entries);\\n let oldEnd = oldPtr + this.entriesOffset * ENTRY_SIZE();\\n let newPtr = changetype(newEntries);\\n while (oldPtr != oldEnd) {\\n let oldEntry = changetype>(oldPtr);\\n if (!(oldEntry.taggedNext & EMPTY)) {\\n let newEntry = changetype>(newPtr);\\n let oldEntryKey = oldEntry.key;\\n newEntry.key = oldEntryKey;\\n newEntry.value = oldEntry.value;\\n let newBucketIndex = HASH(oldEntryKey) & newBucketsMask;\\n let newBucketPtrBase = changetype(newBuckets) + newBucketIndex * BUCKET_SIZE;\\n newEntry.taggedNext = load(newBucketPtrBase);\\n store(newBucketPtrBase, newPtr);\\n newPtr += ENTRY_SIZE();\\n }\\n oldPtr += ENTRY_SIZE();\\n }\\n\\n this.buckets = newBuckets;\\n this.bucketsMask = newBucketsMask;\\n this.entries = newEntries;\\n this.entriesCapacity = newEntriesCapacity;\\n this.entriesOffset = this.entriesCount;\\n }\\n\\n keys(): K[] {\\n // FIXME: this is preliminary, needs iterators/closures\\n let start = changetype(this.entries);\\n let size = this.entriesOffset;\\n let keys = new Array(size);\\n let length = 0;\\n for (let i = 0; i < size; ++i) {\\n let entry = changetype>(start + i * ENTRY_SIZE());\\n if (!(entry.taggedNext & EMPTY)) {\\n unchecked(keys[length++] = entry.key);\\n }\\n }\\n keys.length = length;\\n return keys;\\n }\\n\\n values(): V[] {\\n // FIXME: this is preliminary, needs iterators/closures\\n let start = changetype(this.entries);\\n let size = this.entriesOffset;\\n let values = new Array(size);\\n let length = 0;\\n for (let i = 0; i < size; ++i) {\\n let entry = changetype>(start + i * ENTRY_SIZE());\\n if (!(entry.taggedNext & EMPTY)) {\\n unchecked(values[length++] = entry.value);\\n }\\n }\\n values.length = length;\\n return values;\\n }\\n\\n toString(): string {\\n return \\\"[object Map]\\\";\\n }\\n\\n // RT integration\\n\\n @unsafe private __visit(cookie: u32): void {\\n __visit(changetype(this.buckets), cookie);\\n let entries = changetype(this.entries);\\n if (isManaged() || isManaged()) {\\n let cur = entries;\\n let end = cur + this.entriesOffset * ENTRY_SIZE();\\n while (cur < end) {\\n let entry = changetype>(cur);\\n if (!(entry.taggedNext & EMPTY)) {\\n if (isManaged()) {\\n let val = changetype(entry.key);\\n if (isNullable()) {\\n if (val) __visit(val, cookie);\\n } else __visit(val, cookie);\\n }\\n if (isManaged()) {\\n let val = changetype(entry.value);\\n if (isNullable()) {\\n if (val) __visit(val, cookie);\\n } else __visit(val, cookie);\\n }\\n }\\n cur += ENTRY_SIZE();\\n }\\n }\\n __visit(entries, cookie);\\n }\\n}\\n\",\n \"math\": \"import { Math as JSMath } from \\\"./bindings/dom\\\";\\nexport { JSMath };\\n\\nimport {\\n pow_lut, exp_lut, exp2_lut, log_lut, log2_lut,\\n powf_lut, expf_lut, exp2f_lut, logf_lut, log2f_lut\\n} from \\\"./util/math\\\";\\n\\nimport {\\n abs as builtin_abs,\\n ceil as builtin_ceil,\\n clz as builtin_clz,\\n copysign as builtin_copysign,\\n floor as builtin_floor,\\n max as builtin_max,\\n min as builtin_min,\\n sqrt as builtin_sqrt,\\n trunc as builtin_trunc\\n} from \\\"./builtins\\\";\\n\\n// SUN COPYRIGHT NOTICE\\n//\\n// Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.\\n// Developed at SunPro, a Sun Microsystems, Inc. business.\\n// Permission to use, copy, modify, and distribute this software\\n// is freely granted, provided that this notice is preserved.\\n//\\n// Applies to all functions marked with a comment referring here.\\n\\n/** @internal */\\n// @ts-ignore: decorator\\n@lazy let rempio2_y0: f64, rempio2_y1: f64, res128_hi: u64;\\n\\n/** @internal */\\n// @ts-ignore: decorator\\n@lazy @inline const PIO2_TABLE = memory.data([\\n 0x00000000A2F9836E, 0x4E441529FC2757D1, 0xF534DDC0DB629599, 0x3C439041FE5163AB,\\n 0xDEBBC561B7246E3A, 0x424DD2E006492EEA, 0x09D1921CFE1DEB1C, 0xB129A73EE88235F5,\\n 0x2EBB4484E99C7026, 0xB45F7E413991D639, 0x835339F49C845F8B, 0xBDF9283B1FF897FF,\\n 0xDE05980FEF2F118B, 0x5A0A6D1F6D367ECF, 0x27CB09B74F463F66, 0x9E5FEA2D7527BAC7,\\n 0xEBE5F17B3D0739F7, 0x8A5292EA6BFB5FB1, 0x1F8D5D0856033046, 0xFC7B6BABF0CFBC20,\\n 0x9AF4361DA9E39161, 0x5EE61B086599855F, 0x14A068408DFFD880, 0x4D73273106061557\\n]);\\n\\n/** @internal */\\nfunction R(z: f64): f64 { // Rational approximation of (asin(x)-x)/x^3\\n const // see: musl/src/math/asin.c and SUN COPYRIGHT NOTICE above\\n pS0 = reinterpret(0x3FC5555555555555), // 1.66666666666666657415e-01\\n pS1 = reinterpret(0xBFD4D61203EB6F7D), // -3.25565818622400915405e-01\\n pS2 = reinterpret(0x3FC9C1550E884455), // 2.01212532134862925881e-01\\n pS3 = reinterpret(0xBFA48228B5688F3B), // -4.00555345006794114027e-02\\n pS4 = reinterpret(0x3F49EFE07501B288), // 7.91534994289814532176e-04\\n pS5 = reinterpret(0x3F023DE10DFDF709), // 3.47933107596021167570e-05\\n qS1 = reinterpret(0xC0033A271C8A2D4B), // -2.40339491173441421878e+00\\n qS2 = reinterpret(0x40002AE59C598AC8), // 2.02094576023350569471e+00\\n qS3 = reinterpret(0xBFE6066C1B8D0159), // -6.88283971605453293030e-01\\n qS4 = reinterpret(0x3FB3B8C5B12E9282); // 7.70381505559019352791e-02\\n\\n let p = z * (pS0 + z * (pS1 + z * (pS2 + z * (pS3 + z * (pS4 + z * pS5)))));\\n let q = 1.0 + z * (qS1 + z * (qS2 + z * (qS3 + z * qS4)));\\n return p / q;\\n}\\n\\n/** @internal */\\n// @ts-ignore: decorator\\n@inline\\nfunction expo2(x: f64, sign: f64): f64 { // exp(x)/2 for x >= log(DBL_MAX)\\n const // see: musl/src/math/__expo2.c\\n k = 2043,\\n kln2 = reinterpret(0x40962066151ADD8B); // 0x1.62066151add8bp+10\\n let scale = reinterpret(((0x3FF + k / 2) << 20) << 32);\\n // in directed rounding correct sign before rounding or overflow is important\\n return NativeMath.exp(x - kln2) * (sign * scale) * scale;\\n}\\n\\n/** @internal */\\n/* Helper function to eventually get bits of \u03C0/2 * |x|\\n *\\n * y = \u03C0/4 * (frac << clz(frac) >> 11)\\n * return clz(frac)\\n *\\n * Right shift 11 bits to make upper half fit in `double`\\n */\\n// @ts-ignore: decorator\\n@inline\\nfunction pio2_right(q0: u64, q1: u64): u64 { // see: jdh8/metallic/blob/master/src/math/double/rem_pio2.c\\n // Bits of \u03C0/4\\n const p0: u64 = 0xC4C6628B80DC1CD1;\\n const p1: u64 = 0xC90FDAA22168C234;\\n\\n const Ox1p_64 = reinterpret(0x3BF0000000000000); // 0x1p-64\\n const Ox1p_75 = reinterpret(0x3B40000000000000); // 0x1p-75\\n\\n let shift = clz(q1);\\n\\n q1 = q1 << shift | q0 >> (64 - shift);\\n q0 <<= shift;\\n\\n let lo = umuldi(p1, q1);\\n let hi = res128_hi;\\n\\n let ahi = hi >> 11;\\n let alo = lo >> 11 | hi << 53;\\n let blo = (Ox1p_75 * p0 * q1 + Ox1p_75 * p1 * q0);\\n\\n rempio2_y0 = (ahi + u64(lo < blo));\\n rempio2_y1 = Ox1p_64 * (alo + blo);\\n\\n return shift;\\n}\\n\\n/** @internal */\\n// @ts-ignore: decorator\\n@inline\\nfunction umuldi(u: u64, v: u64): u64 {\\n let u1: u64 , v1: u64, w0: u64, w1: u64, t: u64;\\n\\n u1 = u & 0xFFFFFFFF;\\n v1 = v & 0xFFFFFFFF;\\n\\n u >>= 32;\\n v >>= 32;\\n\\n t = u1 * v1;\\n w0 = t & 0xFFFFFFFF;\\n t = u * v1 + (t >> 32);\\n w1 = t >> 32;\\n t = u1 * v + (t & 0xFFFFFFFF);\\n\\n res128_hi = u * v + w1 + (t >> 32);\\n return (t << 32) + w0;\\n}\\n\\n/** @internal */\\nfunction pio2_large_quot(x: f64, u: i64): i32 { // see: jdh8/metallic/blob/master/src/math/double/rem_pio2.c\\n let magnitude = u & 0x7FFFFFFFFFFFFFFF;\\n let offset = (magnitude >> 52) - 1045;\\n let shift = offset & 63;\\n let tblPtr = PIO2_TABLE + ((offset >> 6) << 3);\\n let s0: u64, s1: u64, s2: u64;\\n\\n let b0 = load(tblPtr, 0 << 3);\\n let b1 = load(tblPtr, 1 << 3);\\n let b2 = load(tblPtr, 2 << 3);\\n\\n // Get 192 bits of 0x1p-31 / \u03C0 with `offset` bits skipped\\n if (shift) {\\n let rshift = 64 - shift;\\n let b3 = load(tblPtr, 3 << 3);\\n s0 = b1 >> rshift | b0 << shift;\\n s1 = b2 >> rshift | b1 << shift;\\n s2 = b3 >> rshift | b2 << shift;\\n } else {\\n s0 = b0;\\n s1 = b1;\\n s2 = b2;\\n }\\n\\n let significand = (u & 0x000FFFFFFFFFFFFF) | 0x0010000000000000;\\n\\n // First 128 bits of fractional part of x/(2\u03C0)\\n let blo = umuldi(s1, significand);\\n let bhi = res128_hi;\\n\\n let ahi = s0 * significand;\\n let clo = (s2 >> 32) * (significand >> 32);\\n let plo = blo + clo;\\n let phi = ahi + bhi + u64(plo < clo);\\n\\n // r: u128 = p << 2\\n let rlo = plo << 2;\\n let rhi = phi << 2 | plo >> 62;\\n\\n // s: i128 = r >> 127\\n let slo = rhi >> 63;\\n let shi = slo >> 1;\\n let q = (phi >> 62) - slo;\\n\\n let shifter = 0x3CB0000000000000 - (pio2_right(rlo ^ slo, rhi ^ shi) << 52);\\n let signbit = (u ^ rhi) & 0x8000000000000000;\\n let coeff = reinterpret(shifter | signbit);\\n\\n rempio2_y0 *= coeff;\\n rempio2_y1 *= coeff;\\n\\n return q;\\n}\\n\\n/** @internal */\\n// @ts-ignore: decorator\\n@inline\\nfunction rempio2(x: f64, u: u64, sign: i32): i32 {\\n const\\n pio2_1 = reinterpret(0x3FF921FB54400000), // 1.57079632673412561417e+00\\n pio2_1t = reinterpret(0x3DD0B4611A626331), // 6.07710050650619224932e-11\\n pio2_2 = reinterpret(0x3DD0B4611A600000), // 6.07710050630396597660e-11\\n pio2_2t = reinterpret(0x3BA3198A2E037073), // 2.02226624879595063154e-21\\n pio2_3 = reinterpret(0x3BA3198A2E000000), // 2.02226624871116645580e-21\\n pio2_3t = reinterpret(0x397B839A252049C1), // 8.47842766036889956997e-32\\n invpio2 = reinterpret(0x3FE45F306DC9C883); // 0.63661977236758134308\\n\\n let ix = (u >> 32) & 0x7FFFFFFF;\\n\\n if (ASC_SHRINK_LEVEL < 1) {\\n if (ix < 0x4002D97C) { // |x| < 3pi/4, special case with n=+-1\\n let q = 1, z: f64, y0: f64, y1: f64;\\n if (!sign) {\\n z = x - pio2_1;\\n if (ix != 0x3FF921FB) { // 33+53 bit pi is good enough\\n y0 = z - pio2_1t;\\n y1 = (z - y0) - pio2_1t;\\n } else { // near pi/2, use 33+33+53 bit pi\\n z -= pio2_2;\\n y0 = z - pio2_2t;\\n y1 = (z - y0) - pio2_2t;\\n }\\n } else { // negative x\\n z = x + pio2_1;\\n if (ix != 0x3FF921FB) { // 33+53 bit pi is good enough\\n y0 = z + pio2_1t;\\n y1 = (z - y0) + pio2_1t;\\n } else { // near pi/2, use 33+33+53 bit pi\\n z += pio2_2;\\n y0 = z + pio2_2t;\\n y1 = (z - y0) + pio2_2t;\\n }\\n q = -1;\\n }\\n rempio2_y0 = y0;\\n rempio2_y1 = y1;\\n return q;\\n }\\n }\\n\\n if (ix < 0x413921FB) { // |x| ~< 2^20*pi/2 (1647099)\\n // Use precise Cody Waite scheme\\n let q = nearest(x * invpio2);\\n let r = x - q * pio2_1;\\n let w = q * pio2_1t; // 1st round good to 85 bit\\n let j = ix >> 20;\\n let y0 = r - w;\\n let hi = (reinterpret(y0) >> 32);\\n let i = j - ((hi >> 20) & 0x7FF);\\n\\n if (i > 16) { // 2nd iteration needed, good to 118\\n let t = r;\\n w = q * pio2_2;\\n r = t - w;\\n w = q * pio2_2t - ((t - r) - w);\\n y0 = r - w;\\n hi = (reinterpret(y0) >> 32);\\n i = j - ((hi >> 20) & 0x7FF);\\n if (i > 49) { // 3rd iteration need, 151 bits acc\\n let t = r;\\n w = q * pio2_3;\\n r = t - w;\\n w = q * pio2_3t - ((t - r) - w);\\n y0 = r - w;\\n }\\n }\\n let y1 = (r - y0) - w;\\n rempio2_y0 = y0;\\n rempio2_y1 = y1;\\n return q;\\n }\\n let q = pio2_large_quot(x, u);\\n return select(-q, q, sign);\\n}\\n\\n/** @internal */\\n// @ts-ignore: decorator\\n@inline\\nfunction sin_kern(x: f64, y: f64, iy: i32): f64 { // see: musl/tree/src/math/__sin.c\\n const\\n S1 = reinterpret(0xBFC5555555555549), // -1.66666666666666324348e-01\\n S2 = reinterpret(0x3F8111111110F8A6), // 8.33333333332248946124e-03\\n S3 = reinterpret(0xBF2A01A019C161D5), // -1.98412698298579493134e-04\\n S4 = reinterpret(0x3EC71DE357B1FE7D), // 2.75573137070700676789e-06\\n S5 = reinterpret(0xBE5AE5E68A2B9CEB), // -2.50507602534068634195e-08\\n S6 = reinterpret(0x3DE5D93A5ACFD57C); // 1.58969099521155010221e-10\\n\\n let z = x * x;\\n let w = z * z;\\n let r = S2 + z * (S3 + z * S4) + z * w * (S5 + z * S6);\\n let v = z * x;\\n if (!iy) {\\n return x + v * (S1 + z * r);\\n } else {\\n return x - ((z * (0.5 * y - v * r) - y) - v * S1);\\n }\\n}\\n\\n/** @internal */\\n// @ts-ignore: decorator\\n@inline\\nfunction cos_kern(x: f64, y: f64): f64 { // see: musl/tree/src/math/__cos.c\\n const\\n C1 = reinterpret(0x3FA555555555554C), // 4.16666666666666019037e-02\\n C2 = reinterpret(0xBF56C16C16C15177), // -1.38888888888741095749e-03\\n C3 = reinterpret(0x3EFA01A019CB1590), // 2.48015872894767294178e-05\\n C4 = reinterpret(0xBE927E4F809C52AD), // -2.75573143513906633035e-07\\n C5 = reinterpret(0x3E21EE9EBDB4B1C4), // 2.08757232129817482790e-09\\n C6 = reinterpret(0xBDA8FAE9BE8838D4); // -1.13596475577881948265e-11\\n\\n let z = x * x;\\n let w = z * z;\\n let r = z * (C1 + z * (C2 + z * C3)) + w * w * (C4 + z * (C5 + z * C6));\\n let hz = 0.5 * z;\\n w = 1.0 - hz;\\n return w + (((1.0 - w) - hz) + (z * r - x * y));\\n}\\n\\n/** @internal */\\nfunction tan_kern(x: f64, y: f64, iy: i32): f64 { // see: src/lib/msun/src/k_tan.c\\n const\\n T0 = reinterpret(0x3FD5555555555563), // 3.33333333333334091986e-01\\n T1 = reinterpret(0x3FC111111110FE7A), // 1.33333333333201242699e-01\\n T2 = reinterpret(0x3FABA1BA1BB341FE), // 5.39682539762260521377e-02\\n T3 = reinterpret(0x3F9664F48406D637), // 2.18694882948595424599e-02\\n T4 = reinterpret(0x3F8226E3E96E8493), // 8.86323982359930005737e-03\\n T5 = reinterpret(0x3F6D6D22C9560328), // 3.59207910759131235356e-03\\n T6 = reinterpret(0x3F57DBC8FEE08315), // 1.45620945432529025516e-03\\n T7 = reinterpret(0x3F4344D8F2F26501), // 5.88041240820264096874e-04\\n T8 = reinterpret(0x3F3026F71A8D1068), // 2.46463134818469906812e-04\\n T9 = reinterpret(0x3F147E88A03792A6), // 7.81794442939557092300e-05\\n T10 = reinterpret(0x3F12B80F32F0A7E9), // 7.14072491382608190305e-05\\n T11 = reinterpret(0xBEF375CBDB605373), // -1.85586374855275456654e-05\\n T12 = reinterpret(0x3EFB2A7074BF7AD4); // 2.59073051863633712884e-05\\n\\n const\\n one = reinterpret(0x3FF0000000000000), // 1.00000000000000000000e+00\\n pio4 = reinterpret(0x3FE921FB54442D18), // 7.85398163397448278999e-01\\n pio4lo = reinterpret(0x3C81A62633145C07); // 3.06161699786838301793e-17\\n\\n let z: f64, r: f64, v: f64, w: f64, s: f64;\\n let hx = (reinterpret(x) >> 32); // high word of x\\n let ix = hx & 0x7FFFFFFF; // high word of |x|\\n let big = ix >= 0x3FE59428;\\n if (big) { // |x| >= 0.6744\\n if (hx < 0) { x = -x, y = -y; }\\n z = pio4 - x;\\n w = pio4lo - y;\\n x = z + w;\\n y = 0.0;\\n }\\n z = x * x;\\n w = z * z;\\n r = T1 + w * (T3 + w * (T5 + w * (T7 + w * (T9 + w * T11))));\\n v = z * (T2 + w * (T4 + w * (T6 + w * (T8 + w * (T10 + w * T12)))));\\n s = z * x;\\n r = y + z * (s * (r + v) + y);\\n r += T0 * s;\\n w = x + r;\\n if (big) {\\n v = iy;\\n return (1 - ((hx >> 30) & 2)) * (v - 2.0 * (x - (w * w / (w + v) - r)));\\n }\\n if (iy == 1) return w;\\n let a: f64, t: f64;\\n z = w;\\n z = reinterpret(reinterpret(z) & 0xFFFFFFFF00000000);\\n v = r - (z - x); // z + v = r + x\\n t = a = -one / w; // a = -1.0 / w\\n t = reinterpret(reinterpret(t) & 0xFFFFFFFF00000000);\\n s = one + t * z;\\n return t + a * (s + t * v);\\n}\\n\\n/** @internal */\\nfunction dtoi32(x: f64): i32 {\\n if (ASC_SHRINK_LEVEL > 0) {\\n const inv32 = 1.0 / 4294967296;\\n return (x - 4294967296 * floor(x * inv32));\\n } else {\\n let result = 0;\\n let u = reinterpret(x);\\n let e = (u >> 52) & 0x7FF;\\n if (e <= 1023 + 30) {\\n result = x;\\n } else if (e <= 1023 + 30 + 53) {\\n let v = (u & ((1 << 52) - 1)) | (1 << 52);\\n v = v << e - 1023 - 52 + 32;\\n result = (v >> 32);\\n result = select(-result, result, u < 0);\\n }\\n return result;\\n }\\n}\\n\\n// @ts-ignore: decorator\\n@lazy let random_seeded = false;\\n\\n// @ts-ignore: decorator\\n@lazy let random_state0_64: u64, random_state1_64: u64;\\n\\n// @ts-ignore: decorator\\n@lazy let random_state0_32: u32, random_state1_32: u32;\\n\\nfunction murmurHash3(h: u64): u64 { // Force all bits of a hash block to avalanche\\n h ^= h >> 33; // see: https://github.com/aappleby/smhasher\\n h *= 0xFF51AFD7ED558CCD;\\n h ^= h >> 33;\\n h *= 0xC4CEB9FE1A85EC53;\\n h ^= h >> 33;\\n return h;\\n}\\n\\nfunction splitMix32(h: u32): u32 {\\n h += 0x6D2B79F5;\\n h = (h ^ (h >> 15)) * (h | 1);\\n h ^= h + (h ^ (h >> 7)) * (h | 61);\\n return h ^ (h >> 14);\\n}\\n\\nexport namespace NativeMath {\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const E = reinterpret(0x4005BF0A8B145769); // 2.7182818284590452354\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const LN2 = reinterpret(0x3FE62E42FEFA39EF); // 0.69314718055994530942\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const LN10 = reinterpret(0x40026BB1BBB55516); // 2.30258509299404568402\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const LOG2E = reinterpret(0x3FF71547652B82FE); // 1.4426950408889634074\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const LOG10E = reinterpret(0x3FDBCB7B1526E50E); // 0.43429448190325182765\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const PI = reinterpret(0x400921FB54442D18); // 3.14159265358979323846\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const SQRT1_2 = reinterpret(0x3FE6A09E667F3BCD); // 0.70710678118654752440\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const SQRT2 = reinterpret(0x3FF6A09E667F3BCD); // 1.41421356237309504880\\n\\n // @ts-ignore: decorator\\n @lazy\\n export let sincos_sin: f64 = 0;\\n\\n // @ts-ignore: decorator\\n @lazy\\n export let sincos_cos: f64 = 0;\\n\\n // @ts-ignore: decorator\\n @inline export function abs(x: f64): f64 {\\n return builtin_abs(x);\\n }\\n\\n export function acos(x: f64): f64 { // see: musl/src/math/acos.c and SUN COPYRIGHT NOTICE above\\n const\\n pio2_hi = reinterpret(0x3FF921FB54442D18), // 1.57079632679489655800e+00\\n pio2_lo = reinterpret(0x3C91A62633145C07), // 6.12323399573676603587e-17\\n Ox1p_120f = reinterpret(0x03800000);\\n\\n let hx = (reinterpret(x) >> 32);\\n let ix = hx & 0x7FFFFFFF;\\n if (ix >= 0x3FF00000) {\\n let lx = reinterpret(x);\\n if ((ix - 0x3FF00000 | lx) == 0) {\\n if (hx < 0) return 2 * pio2_hi + Ox1p_120f;\\n return 0;\\n }\\n return 0 / (x - x);\\n }\\n if (ix < 0x3FE00000) {\\n if (ix <= 0x3C600000) return pio2_hi + Ox1p_120f;\\n return pio2_hi - (x - (pio2_lo - x * R(x * x)));\\n }\\n let s: f64, w: f64, z: f64;\\n if (hx < 0) {\\n // z = (1.0 + x) * 0.5;\\n z = 0.5 + x * 0.5;\\n s = builtin_sqrt(z);\\n w = R(z) * s - pio2_lo;\\n return 2 * (pio2_hi - (s + w));\\n }\\n // z = (1.0 - x) * 0.5;\\n z = 0.5 - x * 0.5;\\n s = builtin_sqrt(z);\\n let df = reinterpret(reinterpret(s) & 0xFFFFFFFF00000000);\\n let c = (z - df * df) / (s + df);\\n w = R(z) * s + c;\\n return 2 * (df + w);\\n }\\n\\n export function acosh(x: f64): f64 { // see: musl/src/math/acosh.c\\n const s = reinterpret(0x3FE62E42FEFA39EF);\\n let u = reinterpret(x);\\n // Prevent propagation for all input values less than 1.0.\\n // Note musl lib didn't fix this yet.\\n if (u < 0x3FF0000000000000) return (x - x) / 0.0;\\n let e = u >> 52 & 0x7FF;\\n if (e < 0x3FF + 1) return log1p(x - 1 + builtin_sqrt((x - 1) * (x - 1) + 2 * (x - 1)));\\n if (e < 0x3FF + 26) return log(2 * x - 1 / (x + builtin_sqrt(x * x - 1)));\\n return log(x) + s;\\n }\\n\\n export function asin(x: f64): f64 { // see: musl/src/math/asin.c and SUN COPYRIGHT NOTICE above\\n const\\n pio2_hi = reinterpret(0x3FF921FB54442D18), // 1.57079632679489655800e+00\\n pio2_lo = reinterpret(0x3C91A62633145C07), // 6.12323399573676603587e-17\\n Ox1p_120f = reinterpret(0x03800000);\\n\\n let hx = (reinterpret(x) >> 32);\\n let ix = hx & 0x7FFFFFFF;\\n if (ix >= 0x3FF00000) {\\n let lx = reinterpret(x);\\n if ((ix - 0x3FF00000 | lx) == 0) return x * pio2_hi + Ox1p_120f;\\n return 0 / (x - x);\\n }\\n if (ix < 0x3FE00000) {\\n if (ix < 0x3E500000 && ix >= 0x00100000) return x;\\n return x + x * R(x * x);\\n }\\n // let z = (1.0 - builtin_abs(x)) * 0.5;\\n let z = 0.5 - builtin_abs(x) * 0.5;\\n let s = builtin_sqrt(z);\\n let r = R(z);\\n if (ix >= 0x3FEF3333) x = pio2_hi - (2 * (s + s * r) - pio2_lo);\\n else {\\n let f = reinterpret(reinterpret(s) & 0xFFFFFFFF00000000);\\n let c = (z - f * f) / (s + f);\\n x = 0.5 * pio2_hi - (2 * s * r - (pio2_lo - 2 * c) - (0.5 * pio2_hi - 2 * f));\\n }\\n return select(-x, x, hx < 0);\\n }\\n\\n export function asinh(x: f64): f64 { // see: musl/src/math/asinh.c\\n const c = reinterpret(0x3FE62E42FEFA39EF); // 0.693147180559945309417232121458176568\\n let u = reinterpret(x);\\n let e = u >> 52 & 0x7FF;\\n let y = reinterpret(u & 0x7FFFFFFFFFFFFFFF);\\n if (e >= 0x3FF + 26) y = log(y) + c;\\n else if (e >= 0x3FF + 1) y = log(2 * y + 1 / (builtin_sqrt(y * y + 1) + y));\\n else if (e >= 0x3FF - 26) y = log1p(y + y * y / (builtin_sqrt(y * y + 1) + 1));\\n return builtin_copysign(y, x);\\n }\\n\\n export function atan(x: f64): f64 { // see musl/src/math/atan.c and SUN COPYRIGHT NOTICE above\\n const\\n atanhi0 = reinterpret(0x3FDDAC670561BB4F), // 4.63647609000806093515e-01\\n atanhi1 = reinterpret(0x3FE921FB54442D18), // 7.85398163397448278999e-01\\n atanhi2 = reinterpret(0x3FEF730BD281F69B), // 9.82793723247329054082e-01\\n atanhi3 = reinterpret(0x3FF921FB54442D18), // 1.57079632679489655800e+00\\n atanlo0 = reinterpret(0x3C7A2B7F222F65E2), // 2.26987774529616870924e-17\\n atanlo1 = reinterpret(0x3C81A62633145C07), // 3.06161699786838301793e-17\\n atanlo2 = reinterpret(0x3C7007887AF0CBBD), // 1.39033110312309984516e-17\\n atanlo3 = reinterpret(0x3C91A62633145C07), // 6.12323399573676603587e-17\\n aT0 = reinterpret(0x3FD555555555550D), // 3.33333333333329318027e-01\\n aT1 = reinterpret(0xBFC999999998EBC4), // -1.99999999998764832476e-01\\n aT2 = reinterpret(0x3FC24924920083FF), // 1.42857142725034663711e-01\\n aT3 = reinterpret(0xBFBC71C6FE231671), // -1.11111104054623557880e-01,\\n aT4 = reinterpret(0x3FB745CDC54C206E), // 9.09088713343650656196e-02\\n aT5 = reinterpret(0xBFB3B0F2AF749A6D), // -7.69187620504482999495e-02\\n aT6 = reinterpret(0x3FB10D66A0D03D51), // 6.66107313738753120669e-02\\n aT7 = reinterpret(0xBFADDE2D52DEFD9A), // -5.83357013379057348645e-02\\n aT8 = reinterpret(0x3FA97B4B24760DEB), // 4.97687799461593236017e-02\\n aT9 = reinterpret(0xBFA2B4442C6A6C2F), // -3.65315727442169155270e-02\\n aT10 = reinterpret(0x3F90AD3AE322DA11), // 1.62858201153657823623e-02\\n Ox1p_120f = reinterpret(0x03800000);\\n\\n let ix = (reinterpret(x) >> 32);\\n let sx = x;\\n ix &= 0x7FFFFFFF;\\n let z: f64;\\n if (ix >= 0x44100000) {\\n if (isNaN(x)) return x;\\n z = atanhi3 + Ox1p_120f;\\n return builtin_copysign(z, sx);\\n }\\n let id: i32;\\n if (ix < 0x3FDC0000) {\\n if (ix < 0x3E400000) return x;\\n id = -1;\\n } else {\\n x = builtin_abs(x);\\n if (ix < 0x3FF30000) {\\n if (ix < 0x3FE60000) {\\n id = 0;\\n x = (2.0 * x - 1.0) / (2.0 + x);\\n } else {\\n id = 1;\\n x = (x - 1.0) / (x + 1.0);\\n }\\n } else {\\n if (ix < 0x40038000) {\\n id = 2;\\n x = (x - 1.5) / (1.0 + 1.5 * x);\\n } else {\\n id = 3;\\n x = -1.0 / x;\\n }\\n }\\n }\\n z = x * x;\\n let w = z * z;\\n let s1 = z * (aT0 + w * (aT2 + w * (aT4 + w * (aT6 + w * (aT8 + w * aT10)))));\\n let s2 = w * (aT1 + w * (aT3 + w * (aT5 + w * (aT7 + w * aT9))));\\n let s3 = x * (s1 + s2);\\n if (id < 0) return x - s3;\\n switch (id) {\\n case 0: { z = atanhi0 - ((s3 - atanlo0) - x); break; }\\n case 1: { z = atanhi1 - ((s3 - atanlo1) - x); break; }\\n case 2: { z = atanhi2 - ((s3 - atanlo2) - x); break; }\\n case 3: { z = atanhi3 - ((s3 - atanlo3) - x); break; }\\n default: unreachable();\\n }\\n return builtin_copysign(z, sx);\\n }\\n\\n export function atanh(x: f64): f64 { // see: musl/src/math/atanh.c\\n let u = reinterpret(x);\\n let e = u >> 52 & 0x7FF;\\n let y = builtin_abs(x);\\n if (e < 0x3FF - 1) {\\n if (e >= 0x3FF - 32) y = 0.5 * log1p(2 * y + 2 * y * y / (1 - y));\\n } else {\\n y = 0.5 * log1p(2 * (y / (1 - y)));\\n }\\n return builtin_copysign(y, x);\\n }\\n\\n export function atan2(y: f64, x: f64): f64 { // see: musl/src/math/atan2.c and SUN COPYRIGHT NOTICE above\\n const pi_lo = reinterpret(0x3CA1A62633145C07); // 1.2246467991473531772E-16\\n if (isNaN(x) || isNaN(y)) return x + y;\\n let u = reinterpret(x);\\n let ix = (u >> 32);\\n let lx = u;\\n u = reinterpret(y);\\n let iy = (u >> 32);\\n let ly = u;\\n if ((ix - 0x3FF00000 | lx) == 0) return atan(y);\\n let m = ((iy >> 31) & 1) | ((ix >> 30) & 2);\\n ix = ix & 0x7FFFFFFF;\\n iy = iy & 0x7FFFFFFF;\\n if ((iy | ly) == 0) {\\n switch (m) {\\n case 0:\\n case 1: return y;\\n case 2: return PI;\\n case 3: return -PI;\\n }\\n }\\n if ((ix | lx) == 0) return m & 1 ? -PI / 2 : PI / 2;\\n if (ix == 0x7FF00000) {\\n if (iy == 0x7FF00000) {\\n let t = m & 2 ? 3 * PI / 4 : PI / 4;\\n return m & 1 ? -t : t;\\n } else {\\n let t = m & 2 ? PI : 0;\\n return m & 1 ? -t : t;\\n }\\n }\\n let z: f64;\\n if (ix + (64 << 20) < iy || iy == 0x7FF00000) return m & 1 ? -PI / 2 : PI / 2;\\n if ((m & 2) && iy + (64 << 20) < ix) z = 0;\\n else z = atan(builtin_abs(y / x));\\n switch (m) {\\n case 0: return z;\\n case 1: return -z;\\n case 2: return PI - (z - pi_lo);\\n case 3: return (z - pi_lo) - PI;\\n }\\n unreachable();\\n return 0;\\n }\\n\\n export function cbrt(x: f64): f64 { // see: musl/src/math/cbrt.c and SUN COPYRIGHT NOTICE above\\n const\\n B1 = 715094163,\\n B2 = 696219795,\\n P0 = reinterpret(0x3FFE03E60F61E692), // 1.87595182427177009643\\n P1 = reinterpret(0xBFFE28E092F02420), // -1.88497979543377169875\\n P2 = reinterpret(0x3FF9F1604A49D6C2), // 1.621429720105354466140\\n P3 = reinterpret(0xBFE844CBBEE751D9), // -0.758397934778766047437\\n P4 = reinterpret(0x3FC2B000D4E4EDD7), // 0.145996192886612446982\\n Ox1p54 = reinterpret(0x4350000000000000); // 0x1p54\\n\\n let u = reinterpret(x);\\n let hx = (u >> 32) & 0x7FFFFFFF;\\n if (hx >= 0x7FF00000) return x + x;\\n if (hx < 0x00100000) {\\n u = reinterpret(x * Ox1p54);\\n hx = (u >> 32) & 0x7FFFFFFF;\\n if (hx == 0) return x;\\n hx = hx / 3 + B2;\\n } else {\\n hx = hx / 3 + B1;\\n }\\n u &= 1 << 63;\\n u |= hx << 32;\\n let t = reinterpret(u);\\n let r = (t * t) * (t / x);\\n t = t * ((P0 + r * (P1 + r * P2)) + ((r * r) * r) * (P3 + r * P4));\\n t = reinterpret((reinterpret(t) + 0x80000000) & 0xFFFFFFFFC0000000);\\n let s = t * t;\\n r = x / s;\\n r = (r - t) / (2 * t + r);\\n t = t + t * r;\\n return t;\\n }\\n\\n // @ts-ignore: decorator\\n @inline\\n export function ceil(x: f64): f64 {\\n return builtin_ceil(x);\\n }\\n\\n export function clz32(x: f64): f64 {\\n if (!isFinite(x)) return 32;\\n /*\\n * Wasm (MVP) and JS have different approaches for double->int conversions.\\n *\\n * For emulate JS conversion behavior and avoid trapping from wasm we should modulate by MAX_INT\\n * our float-point arguments before actual convertion to integers.\\n */\\n return builtin_clz(dtoi32(x));\\n }\\n\\n export function cos(x: f64): f64 { // see: musl/src/math/cos.c\\n let u = reinterpret(x);\\n let ux = u32(u >> 32);\\n let sign = ux >> 31;\\n\\n ux &= 0x7FFFFFFF;\\n\\n // |x| ~< pi/4\\n if (ux <= 0x3FE921FB) {\\n if (ux < 0x3E46A09E) { // |x| < 2**-27 * sqrt(2)\\n return 1.0;\\n }\\n return cos_kern(x, 0);\\n }\\n\\n // sin(Inf or NaN) is NaN\\n if (ux >= 0x7FF00000) return x - x;\\n\\n // argument reduction needed\\n let n = rempio2(x, u, sign);\\n let y0 = rempio2_y0;\\n let y1 = rempio2_y1;\\n\\n x = n & 1 ? sin_kern(y0, y1, 1) : cos_kern(y0, y1);\\n return (n + 1) & 2 ? -x : x;\\n }\\n\\n export function cosh(x: f64): f64 { // see: musl/src/math/cosh.c\\n let u = reinterpret(x);\\n u &= 0x7FFFFFFFFFFFFFFF;\\n x = reinterpret(u);\\n let w = (u >> 32);\\n let t: f64;\\n if (w < 0x3FE62E42) {\\n if (w < 0x3FF00000 - (26 << 20)) return 1;\\n t = expm1(x);\\n // return 1 + t * t / (2 * (1 + t));\\n return 1 + t * t / (2 + 2 * t);\\n }\\n if (w < 0x40862E42) {\\n t = exp(x);\\n return 0.5 * (t + 1 / t);\\n }\\n t = expo2(x, 1);\\n return t;\\n }\\n\\n export function exp(x: f64): f64 { // see: musl/src/math/exp.c and SUN COPYRIGHT NOTICE above\\n if (ASC_SHRINK_LEVEL < 1) {\\n return exp_lut(x);\\n } else {\\n const\\n ln2hi = reinterpret(0x3FE62E42FEE00000), // 6.93147180369123816490e-01\\n ln2lo = reinterpret(0x3DEA39EF35793C76), // 1.90821492927058770002e-10\\n invln2 = reinterpret(0x3FF71547652B82FE), // 1.44269504088896338700e+00\\n P1 = reinterpret(0x3FC555555555553E), // 1.66666666666666019037e-01\\n P2 = reinterpret(0xBF66C16C16BEBD93), // -2.77777777770155933842e-03\\n P3 = reinterpret(0x3F11566AAF25DE2C), // 6.61375632143793436117e-05\\n P4 = reinterpret(0xBEBBBD41C5D26BF1), // -1.65339022054652515390e-06\\n P5 = reinterpret(0x3E66376972BEA4D0), // 4.13813679705723846039e-08\\n overflow = reinterpret(0x40862E42FEFA39EF), // 709.782712893383973096\\n underflow = reinterpret(0xC0874910D52D3051), // -745.13321910194110842\\n Ox1p1023 = reinterpret(0x7FE0000000000000); // 0x1p1023\\n\\n let hx = u32(reinterpret(x) >> 32);\\n let sign = hx >> 31;\\n hx &= 0x7FFFFFFF;\\n if (hx >= 0x4086232B) {\\n if (isNaN(x)) return x;\\n if (x > overflow) return x * Ox1p1023;\\n if (x < underflow) return 0;\\n }\\n let hi: f64, lo: f64 = 0;\\n let k = 0;\\n if (hx > 0x3FD62E42) {\\n if (hx >= 0x3FF0A2B2) {\\n k = i32(invln2 * x + builtin_copysign(0.5, x));\\n } else {\\n k = 1 - (sign << 1);\\n }\\n hi = x - k * ln2hi;\\n lo = k * ln2lo;\\n x = hi - lo;\\n } else if (hx > 0x3E300000) {\\n hi = x;\\n } else return 1.0 + x;\\n let xs = x * x;\\n // let c = x - xp2 * (P1 + xp2 * (P2 + xp2 * (P3 + xp2 * (P4 + xp2 * P5))));\\n let xq = xs * xs;\\n let c = x - (xs * P1 + xq * ((P2 + xs * P3) + xq * (P4 + xs * P5)));\\n let y = 1.0 + (x * c / (2 - c) - lo + hi);\\n return k == 0 ? y : scalbn(y, k);\\n }\\n }\\n\\n export function exp2(x: f64): f64 {\\n return exp2_lut(x);\\n }\\n\\n export function expm1(x: f64): f64 { // see: musl/src/math/expm1.c and SUN COPYRIGHT NOTICE above\\n const\\n o_threshold = reinterpret(0x40862E42FEFA39EF), // 7.09782712893383973096e+02\\n ln2_hi = reinterpret(0x3FE62E42FEE00000), // 6.93147180369123816490e-01\\n ln2_lo = reinterpret(0x3DEA39EF35793C76), // 1.90821492927058770002e-10\\n invln2 = reinterpret(0x3FF71547652B82FE), // 1.44269504088896338700e+00\\n Q1 = reinterpret(0xBFA11111111110F4), // -3.33333333333331316428e-02\\n Q2 = reinterpret(0x3F5A01A019FE5585), // 1.58730158725481460165e-03\\n Q3 = reinterpret(0xBF14CE199EAADBB7), // -7.93650757867487942473e-05\\n Q4 = reinterpret(0x3ED0CFCA86E65239), // 4.00821782732936239552e-06\\n Q5 = reinterpret(0xBE8AFDB76E09C32D), // -2.01099218183624371326e-07\\n Ox1p1023 = reinterpret(0x7FE0000000000000); // 0x1p1023\\n\\n let u = reinterpret(x);\\n let hx = u32(u >> 32) & 0x7FFFFFFF;\\n let sign = u32(u >> 63);\\n let k = 0;\\n if (hx >= 0x4043687A) {\\n if (isNaN(x)) return x;\\n if (sign) return -1;\\n if (x > o_threshold) return x * Ox1p1023;\\n }\\n let c = 0.0, t: f64;\\n if (hx > 0x3FD62E42) {\\n k = select(\\n 1 - (sign << 1),\\n i32(invln2 * x + builtin_copysign(0.5, x)),\\n hx < 0x3FF0A2B2\\n );\\n t = k;\\n let hi = x - t * ln2_hi;\\n let lo = t * ln2_lo;\\n x = hi - lo;\\n c = (hi - x) - lo;\\n } else if (hx < 0x3C900000) return x;\\n let hfx = 0.5 * x;\\n let hxs = x * hfx;\\n // let r1 = 1.0 + hxs * (Q1 + hxs * (Q2 + hxs * (Q3 + hxs * (Q4 + hxs * Q5))));\\n let hxq = hxs * hxs;\\n let r1 = (1.0 + hxs * Q1) + hxq * ((Q2 + hxs * Q3) + hxq * (Q4 + hxs * Q5));\\n t = 3.0 - r1 * hfx;\\n let e = hxs * ((r1 - t) / (6.0 - x * t));\\n if (k == 0) return x - (x * e - hxs);\\n e = x * (e - c) - c;\\n e -= hxs;\\n if (k == -1) return 0.5 * (x - e) - 0.5;\\n if (k == 1) {\\n if (x < -0.25) return -2.0 * (e - (x + 0.5));\\n return 1.0 + 2.0 * (x - e);\\n }\\n u = (0x3FF + k) << 52;\\n let twopk = reinterpret(u);\\n let y: f64;\\n if (k < 0 || k > 56) {\\n y = x - e + 1.0;\\n if (k == 1024) y = y * 2.0 * Ox1p1023;\\n else y = y * twopk;\\n return y - 1.0;\\n }\\n u = (0x3FF - k) << 52;\\n y = reinterpret(u);\\n if (k < 20) y = (1 - y) - e;\\n else y = 1 - (e + y);\\n return (x + y) * twopk;\\n }\\n\\n // @ts-ignore: decorator\\n @inline\\n export function floor(x: f64): f64 {\\n return builtin_floor(x);\\n }\\n\\n // @ts-ignore: decorator\\n @inline\\n export function fround(x: f64): f64 {\\n return x;\\n }\\n\\n export function hypot(x: f64, y: f64): f64 { // see: musl/src/math/hypot.c\\n const\\n SPLIT = reinterpret(0x41A0000000000000) + 1, // 0x1p27 + 1\\n Ox1p700 = reinterpret(0x6BB0000000000000),\\n Ox1p_700 = reinterpret(0x1430000000000000);\\n\\n let ux = reinterpret(x);\\n let uy = reinterpret(y);\\n ux &= 0x7FFFFFFFFFFFFFFF;\\n uy &= 0x7FFFFFFFFFFFFFFF;\\n if (ux < uy) {\\n let ut = ux;\\n ux = uy;\\n uy = ut;\\n }\\n let ex = i32(ux >> 52);\\n let ey = i32(uy >> 52);\\n y = reinterpret(uy);\\n if (ey == 0x7FF) return y;\\n x = reinterpret(ux);\\n if (ex == 0x7FF || uy == 0) return x;\\n if (ex - ey > 64) return x + y;\\n let z = 1.0;\\n if (ex > 0x3FF + 510) {\\n z = Ox1p700;\\n x *= Ox1p_700;\\n y *= Ox1p_700;\\n } else if (ey < 0x3FF - 450) {\\n z = Ox1p_700;\\n x *= Ox1p700;\\n y *= Ox1p700;\\n }\\n let c = x * SPLIT;\\n let h = x - c + c;\\n let l = x - h;\\n let hx = x * x;\\n let lx = h * h - hx + (2 * h + l) * l;\\n c = y * SPLIT;\\n h = y - c + c;\\n l = y - h;\\n let hy = y * y;\\n let ly = h * h - hy + (2 * h + l) * l;\\n return z * builtin_sqrt(ly + lx + hy + hx);\\n }\\n\\n export function imul(x: f64, y: f64): f64 {\\n /*\\n * Wasm (MVP) and JS have different approaches for double->int conversions.\\n *\\n * For emulate JS conversion behavior and avoid trapping from wasm we should modulate by MAX_INT\\n * our float-point arguments before actual convertion to integers.\\n */\\n if (!isFinite(x + y)) return 0;\\n return dtoi32(x) * dtoi32(y);\\n }\\n\\n export function log(x: f64): f64 { // see: musl/src/math/log.c and SUN COPYRIGHT NOTICE above\\n if (ASC_SHRINK_LEVEL < 1) {\\n return log_lut(x);\\n } else {\\n const\\n ln2_hi = reinterpret(0x3FE62E42FEE00000), // 6.93147180369123816490e-01\\n ln2_lo = reinterpret(0x3DEA39EF35793C76), // 1.90821492927058770002e-10\\n Lg1 = reinterpret(0x3FE5555555555593), // 6.666666666666735130e-01\\n Lg2 = reinterpret(0x3FD999999997FA04), // 3.999999999940941908e-01\\n Lg3 = reinterpret(0x3FD2492494229359), // 2.857142874366239149e-01\\n Lg4 = reinterpret(0x3FCC71C51D8E78AF), // 2.222219843214978396e-01\\n Lg5 = reinterpret(0x3FC7466496CB03DE), // 1.818357216161805012e-01\\n Lg6 = reinterpret(0x3FC39A09D078C69F), // 1.531383769920937332e-01\\n Lg7 = reinterpret(0x3FC2F112DF3E5244), // 1.479819860511658591e-01\\n Ox1p54 = reinterpret(0x4350000000000000); // 0x1p54\\n\\n let u = reinterpret(x);\\n let hx = u32(u >> 32);\\n let k = 0;\\n let sign = hx >> 31;\\n if (sign || hx < 0x00100000) {\\n if (u << 1 == 0) return -1 / (x * x);\\n if (sign) return (x - x) / 0.0;\\n k -= 54;\\n x *= Ox1p54;\\n u = reinterpret(x);\\n hx = u32(u >> 32);\\n } else if (hx >= 0x7FF00000) {\\n return x;\\n } else if (hx == 0x3FF00000 && u << 32 == 0) {\\n return 0;\\n }\\n hx += 0x3FF00000 - 0x3FE6A09E;\\n k += (hx >> 20) - 0x3FF;\\n hx = (hx & 0x000FFFFF) + 0x3FE6A09E;\\n u = hx << 32 | (u & 0xFFFFFFFF);\\n x = reinterpret(u);\\n let f = x - 1.0;\\n let hfsq = 0.5 * f * f;\\n let s = f / (2.0 + f);\\n let z = s * s;\\n let w = z * z;\\n let t1 = w * (Lg2 + w * (Lg4 + w * Lg6));\\n let t2 = z * (Lg1 + w * (Lg3 + w * (Lg5 + w * Lg7)));\\n let r = t2 + t1;\\n let dk = k;\\n return s * (hfsq + r) + dk * ln2_lo - hfsq + f + dk * ln2_hi;\\n }\\n }\\n\\n export function log10(x: f64): f64 { // see: musl/src/math/log10.c and SUN COPYRIGHT NOTICE above\\n const\\n ivln10hi = reinterpret(0x3FDBCB7B15200000), // 4.34294481878168880939e-01\\n ivln10lo = reinterpret(0x3DBB9438CA9AADD5), // 2.50829467116452752298e-11\\n log10_2hi = reinterpret(0x3FD34413509F6000), // 3.01029995663611771306e-01\\n log10_2lo = reinterpret(0x3D59FEF311F12B36), // 3.69423907715893078616e-13\\n Lg1 = reinterpret(0x3FE5555555555593), // 6.666666666666735130e-01\\n Lg2 = reinterpret(0x3FD999999997FA04), // 3.999999999940941908e-01\\n Lg3 = reinterpret(0x3FD2492494229359), // 2.857142874366239149e-01\\n Lg4 = reinterpret(0x3FCC71C51D8E78AF), // 2.222219843214978396e-01\\n Lg5 = reinterpret(0x3FC7466496CB03DE), // 1.818357216161805012e-01\\n Lg6 = reinterpret(0x3FC39A09D078C69F), // 1.531383769920937332e-01\\n Lg7 = reinterpret(0x3FC2F112DF3E5244), // 1.479819860511658591e-01\\n Ox1p54 = reinterpret(0x4350000000000000); // 0x1p54\\n\\n let u = reinterpret(x);\\n let hx = u32(u >> 32);\\n let k = 0;\\n let sign = hx >> 31;\\n if (sign || hx < 0x00100000) {\\n if (u << 1 == 0) return -1 / (x * x);\\n if (sign) return (x - x) / 0.0;\\n k -= 54;\\n x *= Ox1p54;\\n u = reinterpret(x);\\n hx = u32(u >> 32);\\n } else if (hx >= 0x7FF00000) {\\n return x;\\n } else if (hx == 0x3FF00000 && u << 32 == 0) {\\n return 0;\\n }\\n hx += 0x3FF00000 - 0x3FE6A09E;\\n k += i32(hx >> 20) - 0x3FF;\\n hx = (hx & 0x000FFFFF) + 0x3FE6A09E;\\n u = hx << 32 | (u & 0xFFFFFFFF);\\n x = reinterpret(u);\\n let f = x - 1.0;\\n let hfsq = 0.5 * f * f;\\n let s = f / (2.0 + f);\\n let z = s * s;\\n let w = z * z;\\n let t1 = w * (Lg2 + w * (Lg4 + w * Lg6));\\n let t2 = z * (Lg1 + w * (Lg3 + w * (Lg5 + w * Lg7)));\\n let r = t2 + t1;\\n let hi = f - hfsq;\\n u = reinterpret(hi);\\n u &= 0xFFFFFFFF00000000;\\n hi = reinterpret(u);\\n let lo = f - hi - hfsq + s * (hfsq + r);\\n let val_hi = hi * ivln10hi;\\n let dk = k;\\n let y = dk * log10_2hi;\\n let val_lo = dk * log10_2lo + (lo + hi) * ivln10lo + lo * ivln10hi;\\n w = y + val_hi;\\n val_lo += (y - w) + val_hi;\\n return val_lo + w;\\n }\\n\\n export function log1p(x: f64): f64 { // see: musl/src/math/log1p.c and SUN COPYRIGHT NOTICE above\\n const\\n ln2_hi = reinterpret(0x3FE62E42FEE00000), // 6.93147180369123816490e-01\\n ln2_lo = reinterpret(0x3DEA39EF35793C76), // 1.90821492927058770002e-10\\n Lg1 = reinterpret(0x3FE5555555555593), // 6.666666666666735130e-01\\n Lg2 = reinterpret(0x3FD999999997FA04), // 3.999999999940941908e-01\\n Lg3 = reinterpret(0x3FD2492494229359), // 2.857142874366239149e-01\\n Lg4 = reinterpret(0x3FCC71C51D8E78AF), // 2.222219843214978396e-01\\n Lg5 = reinterpret(0x3FC7466496CB03DE), // 1.818357216161805012e-01\\n Lg6 = reinterpret(0x3FC39A09D078C69F), // 1.531383769920937332e-01\\n Lg7 = reinterpret(0x3FC2F112DF3E5244); // 1.479819860511658591e-01\\n\\n let u = reinterpret(x);\\n let hx = u32(u >> 32);\\n let k = 1;\\n let c = 0.0, f = 0.0;\\n if (hx < 0x3FDA827A || bool(hx >> 31)) {\\n if (hx >= 0xBFF00000) {\\n if (x == -1) return x / 0.0;\\n return (x - x) / 0.0;\\n }\\n if (hx << 1 < 0x3CA00000 << 1) return x;\\n if (hx <= 0xBFD2BEC4) {\\n k = 0;\\n c = 0;\\n f = x;\\n }\\n } else if (hx >= 0x7FF00000) return x;\\n if (k) {\\n u = reinterpret(1 + x);\\n let hu = u32(u >> 32);\\n hu += 0x3FF00000 - 0x3FE6A09E;\\n k = i32(hu >> 20) - 0x3FF;\\n if (k < 54) {\\n let uf = reinterpret(u);\\n c = k >= 2 ? 1 - (uf - x) : x - (uf - 1);\\n c /= uf;\\n } else c = 0;\\n hu = (hu & 0x000FFFFF) + 0x3FE6A09E;\\n u = hu << 32 | (u & 0xFFFFFFFF);\\n f = reinterpret(u) - 1;\\n }\\n let hfsq = 0.5 * f * f;\\n let s = f / (2.0 + f);\\n let z = s * s;\\n let w = z * z;\\n let t1 = w * (Lg2 + w * (Lg4 + w * Lg6));\\n let t2 = z * (Lg1 + w * (Lg3 + w * (Lg5 + w * Lg7)));\\n let r = t2 + t1;\\n let dk = k;\\n return s * (hfsq + r) + (dk * ln2_lo + c) - hfsq + f + dk * ln2_hi;\\n }\\n\\n export function log2(x: f64): f64 { // see: musl/src/math/log2.c and SUN COPYRIGHT NOTICE above\\n if (ASC_SHRINK_LEVEL < 1) {\\n return log2_lut(x);\\n } else {\\n const\\n ivln2hi = reinterpret(0x3FF7154765200000), // 1.44269504072144627571e+00\\n ivln2lo = reinterpret(0x3DE705FC2EEFA200), // 1.67517131648865118353e-10\\n Lg1 = reinterpret(0x3FE5555555555593), // 6.666666666666735130e-01\\n Lg2 = reinterpret(0x3FD999999997FA04), // 3.999999999940941908e-01\\n Lg3 = reinterpret(0x3FD2492494229359), // 2.857142874366239149e-01\\n Lg4 = reinterpret(0x3FCC71C51D8E78AF), // 2.222219843214978396e-01\\n Lg5 = reinterpret(0x3FC7466496CB03DE), // 1.818357216161805012e-01\\n Lg6 = reinterpret(0x3FC39A09D078C69F), // 1.531383769920937332e-01\\n Lg7 = reinterpret(0x3FC2F112DF3E5244), // 1.479819860511658591e-01\\n Ox1p54 = reinterpret(0x4350000000000000); // 1p54\\n\\n let u = reinterpret(x);\\n let hx = u32(u >> 32);\\n let k = 0;\\n let sign = hx >> 31;\\n if (sign || hx < 0x00100000) {\\n if (u << 1 == 0) return -1 / (x * x);\\n if (sign) return (x - x) / 0.0;\\n k -= 54;\\n x *= Ox1p54;\\n u = reinterpret(x);\\n hx = u32(u >> 32);\\n } else if (hx >= 0x7FF00000) {\\n return x;\\n } else if (hx == 0x3FF00000 && u << 32 == 0) {\\n return 0;\\n }\\n hx += 0x3FF00000 - 0x3FE6A09E;\\n k += i32(hx >> 20) - 0x3FF;\\n hx = (hx & 0x000FFFFF) + 0x3FE6A09E;\\n u = hx << 32 | (u & 0xFFFFFFFF);\\n x = reinterpret(u);\\n let f = x - 1.0;\\n let hfsq = 0.5 * f * f;\\n let s = f / (2.0 + f);\\n let z = s * s;\\n let w = z * z;\\n let t1 = w * (Lg2 + w * (Lg4 + w * Lg6));\\n let t2 = z * (Lg1 + w * (Lg3 + w * (Lg5 + w * Lg7)));\\n let r = t2 + t1;\\n let hi = f - hfsq;\\n u = reinterpret(hi);\\n u &= 0xFFFFFFFF00000000;\\n hi = reinterpret(u);\\n let lo = f - hi - hfsq + s * (hfsq + r);\\n let val_hi = hi * ivln2hi;\\n let val_lo = (lo + hi) * ivln2lo + lo * ivln2hi;\\n let y = k;\\n w = y + val_hi;\\n val_lo += (y - w) + val_hi;\\n val_hi = w;\\n return val_lo + val_hi;\\n }\\n }\\n\\n // @ts-ignore: decorator\\n @inline\\n export function max(value1: f64, value2: f64): f64 {\\n return builtin_max(value1, value2);\\n }\\n\\n // @ts-ignore: decorator\\n @inline\\n export function min(value1: f64, value2: f64): f64 {\\n return builtin_min(value1, value2);\\n }\\n\\n export function pow(x: f64, y: f64): f64 { // see: musl/src/math/pow.c and SUN COPYRIGHT NOTICE above\\n // TODO: remove this fast pathes after introduced own mid-end IR with \\\"stdlib call simplify\\\" transforms\\n if (builtin_abs(y) <= 2) {\\n if (y == 2.0) return x * x;\\n if (y == 0.5) {\\n return select(\\n builtin_abs(builtin_sqrt(x)),\\n Infinity,\\n x != -Infinity\\n );\\n }\\n if (y == -1.0) return 1 / x;\\n if (y == 1.0) return x;\\n if (y == 0.0) return 1.0;\\n }\\n if (ASC_SHRINK_LEVEL < 1) {\\n return pow_lut(x, y);\\n } else {\\n const\\n dp_h1 = reinterpret(0x3FE2B80340000000), // 5.84962487220764160156e-01\\n dp_l1 = reinterpret(0x3E4CFDEB43CFD006), // 1.35003920212974897128e-08\\n two53 = reinterpret(0x4340000000000000), // 9007199254740992.0\\n huge = reinterpret(0x7E37E43C8800759C), // 1e+300\\n tiny = reinterpret(0x01A56E1FC2F8F359), // 1e-300\\n L1 = reinterpret(0x3FE3333333333303), // 5.99999999999994648725e-01\\n L2 = reinterpret(0x3FDB6DB6DB6FABFF), // 4.28571428578550184252e-01\\n L3 = reinterpret(0x3FD55555518F264D), // 3.33333329818377432918e-01\\n L4 = reinterpret(0x3FD17460A91D4101), // 2.72728123808534006489e-01\\n L5 = reinterpret(0x3FCD864A93C9DB65), // 2.30660745775561754067e-01\\n L6 = reinterpret(0x3FCA7E284A454EEF), // 2.06975017800338417784e-01\\n P1 = reinterpret(0x3FC555555555553E), // 1.66666666666666019037e-01\\n P2 = reinterpret(0xBF66C16C16BEBD93), // -2.77777777770155933842e-03\\n P3 = reinterpret(0x3F11566AAF25DE2C), // 6.61375632143793436117e-05\\n P4 = reinterpret(0xBEBBBD41C5D26BF1), // -1.65339022054652515390e-06\\n P5 = reinterpret(0x3E66376972BEA4D0), // 4.13813679705723846039e-08\\n lg2 = reinterpret(0x3FE62E42FEFA39EF), // 6.93147180559945286227e-01\\n lg2_h = reinterpret(0x3FE62E4300000000), // 6.93147182464599609375e-01\\n lg2_l = reinterpret(0xBE205C610CA86C39), // -1.90465429995776804525e-09\\n ovt = reinterpret(0x3C971547652B82FE), // 8.0085662595372944372e-017\\n cp = reinterpret(0x3FEEC709DC3A03FD), // 9.61796693925975554329e-01\\n cp_h = reinterpret(0x3FEEC709E0000000), // 9.61796700954437255859e-01\\n cp_l = reinterpret(0xBE3E2FE0145B01F5), // -7.02846165095275826516e-09\\n ivln2 = reinterpret(0x3FF71547652B82FE), // 1.44269504088896338700e+00\\n ivln2_h = reinterpret(0x3FF7154760000000), // 1.44269502162933349609e+00\\n ivln2_l = reinterpret(0x3E54AE0BF85DDF44), // 1.92596299112661746887e-08\\n inv3 = reinterpret(0x3FD5555555555555); // 0.3333333333333333333333\\n\\n let u_ = reinterpret(x);\\n let hx = i32(u_ >> 32);\\n let lx = u_;\\n u_ = reinterpret(y);\\n let hy = i32(u_ >> 32);\\n let ly = u_;\\n let ix = hx & 0x7FFFFFFF;\\n let iy = hy & 0x7FFFFFFF;\\n if ((iy | ly) == 0) return 1.0; // x**0 = 1, even if x is NaN\\n // if (hx == 0x3FF00000 && lx == 0) return 1.0; // C: 1**y = 1, even if y is NaN, JS: NaN\\n if ( // NaN if either arg is NaN\\n ix > 0x7FF00000 || (ix == 0x7FF00000 && lx != 0) ||\\n iy > 0x7FF00000 || (iy == 0x7FF00000 && ly != 0)\\n ) return x + y;\\n let yisint = 0, k: i32;\\n if (hx < 0) {\\n if (iy >= 0x43400000) yisint = 2;\\n else if (iy >= 0x3FF00000) {\\n k = (iy >> 20) - 0x3FF;\\n let offset = select(52, 20, k > 20) - k;\\n let Ly = select(ly, iy, k > 20);\\n let jj = Ly >> offset;\\n if ((jj << offset) == Ly) yisint = 2 - (jj & 1);\\n }\\n }\\n if (ly == 0) {\\n if (iy == 0x7FF00000) { // y is +-inf\\n if (((ix - 0x3FF00000) | lx) == 0) return NaN; // C: (-1)**+-inf is 1, JS: NaN\\n else if (ix >= 0x3FF00000) return hy >= 0 ? y : 0.0; // (|x|>1)**+-inf = inf,0\\n else return hy >= 0 ? 0.0 : -y; // (|x|<1)**+-inf = 0,inf\\n }\\n if (iy == 0x3FF00000) {\\n if (hy >= 0) return x;\\n return 1 / x;\\n }\\n if (hy == 0x40000000) return x * x;\\n if (hy == 0x3FE00000) {\\n if (hx >= 0) return builtin_sqrt(x);\\n }\\n }\\n let ax = builtin_abs(x), z: f64;\\n if (lx == 0) {\\n if (ix == 0 || ix == 0x7FF00000 || ix == 0x3FF00000) {\\n z = ax;\\n if (hy < 0) z = 1.0 / z;\\n if (hx < 0) {\\n if (((ix - 0x3FF00000) | yisint) == 0) {\\n let d = z - z;\\n z = d / d;\\n } else if (yisint == 1) z = -z;\\n }\\n return z;\\n }\\n }\\n let s = 1.0;\\n if (hx < 0) {\\n if (yisint == 0) {\\n let d = x - x;\\n return d / d;\\n }\\n if (yisint == 1) s = -1.0;\\n }\\n let t1: f64, t2: f64, p_h: f64, p_l: f64, r: f64, t: f64, u: f64, v: f64, w: f64;\\n let j: i32, n: i32;\\n if (iy > 0x41E00000) {\\n if (iy > 0x43F00000) {\\n if (ix <= 0x3FEFFFFF) return hy < 0 ? huge * huge : tiny * tiny;\\n if (ix >= 0x3FF00000) return hy > 0 ? huge * huge : tiny * tiny;\\n }\\n if (ix < 0x3FEFFFFF) return hy < 0 ? s * huge * huge : s * tiny * tiny;\\n if (ix > 0x3FF00000) return hy > 0 ? s * huge * huge : s * tiny * tiny;\\n t = ax - 1.0;\\n w = (t * t) * (0.5 - t * (inv3 - t * 0.25));\\n u = ivln2_h * t;\\n v = t * ivln2_l - w * ivln2;\\n t1 = u + v;\\n t1 = reinterpret(reinterpret(t1) & 0xFFFFFFFF00000000);\\n t2 = v - (t1 - u);\\n } else {\\n let ss: f64, s2: f64, s_h: f64, s_l: f64, t_h: f64, t_l: f64;\\n n = 0;\\n if (ix < 0x00100000) {\\n ax *= two53;\\n n -= 53;\\n ix = (reinterpret(ax) >> 32);\\n }\\n n += (ix >> 20) - 0x3FF;\\n j = ix & 0x000FFFFF;\\n ix = j | 0x3FF00000;\\n if (j <= 0x3988E) k = 0;\\n else if (j < 0xBB67A) k = 1;\\n else {\\n k = 0;\\n n += 1;\\n ix -= 0x00100000;\\n }\\n ax = reinterpret(reinterpret(ax) & 0xFFFFFFFF | (ix << 32));\\n let bp = select(1.5, 1.0, k); // k ? 1.5 : 1.0\\n u = ax - bp;\\n v = 1.0 / (ax + bp);\\n ss = u * v;\\n s_h = ss;\\n s_h = reinterpret(reinterpret(s_h) & 0xFFFFFFFF00000000);\\n t_h = reinterpret(u64(((ix >> 1) | 0x20000000) + 0x00080000 + (k << 18)) << 32);\\n t_l = ax - (t_h - bp);\\n s_l = v * ((u - s_h * t_h) - s_h * t_l);\\n s2 = ss * ss;\\n r = s2 * s2 * (L1 + s2 * (L2 + s2 * (L3 + s2 * (L4 + s2 * (L5 + s2 * L6)))));\\n r += s_l * (s_h + ss);\\n s2 = s_h * s_h;\\n t_h = 3.0 + s2 + r;\\n t_h = reinterpret(reinterpret(t_h) & 0xFFFFFFFF00000000);\\n t_l = r - ((t_h - 3.0) - s2);\\n u = s_h * t_h;\\n v = s_l * t_h + t_l * ss;\\n p_h = u + v;\\n p_h = reinterpret(reinterpret(p_h) & 0xFFFFFFFF00000000);\\n p_l = v - (p_h - u);\\n let z_h = cp_h * p_h;\\n let dp_l = select(dp_l1, 0.0, k);\\n let z_l = cp_l * p_h + p_l * cp + dp_l;\\n t = n;\\n let dp_h = select(dp_h1, 0.0, k);\\n t1 = ((z_h + z_l) + dp_h) + t;\\n t1 = reinterpret(reinterpret(t1) & 0xFFFFFFFF00000000);\\n t2 = z_l - (((t1 - t) - dp_h) - z_h);\\n }\\n let y1 = y;\\n y1 = reinterpret(reinterpret(y1) & 0xFFFFFFFF00000000);\\n p_l = (y - y1) * t1 + y * t2;\\n p_h = y1 * t1;\\n z = p_l + p_h;\\n u_ = reinterpret(z);\\n j = u32(u_ >> 32);\\n let i = u_;\\n if (j >= 0x40900000) {\\n if (((j - 0x40900000) | i) != 0) return s * huge * huge;\\n if (p_l + ovt > z - p_h) return s * huge * huge;\\n } else if ((j & 0x7FFFFFFF) >= 0x4090CC00) {\\n if (((j - 0xC090CC00) | i) != 0) return s * tiny * tiny;\\n if (p_l <= z - p_h) return s * tiny * tiny;\\n }\\n i = j & 0x7FFFFFFF;\\n k = (i >> 20) - 0x3FF;\\n n = 0;\\n if (i > 0x3FE00000) {\\n n = j + (0x00100000 >> (k + 1));\\n k = ((n & 0x7FFFFFFF) >> 20) - 0x3FF;\\n t = 0.0;\\n t = reinterpret(u64(n & ~(0x000FFFFF >> k)) << 32);\\n n = ((n & 0x000FFFFF) | 0x00100000) >> (20 - k);\\n if (j < 0) n = -n;\\n p_h -= t;\\n }\\n t = p_l + p_h;\\n t = reinterpret(reinterpret(t) & 0xFFFFFFFF00000000);\\n u = t * lg2_h;\\n v = (p_l - (t - p_h)) * lg2 + t * lg2_l;\\n z = u + v;\\n w = v - (z - u);\\n t = z * z;\\n t1 = z - t * (P1 + t * (P2 + t * (P3 + t * (P4 + t * P5))));\\n r = (z * t1) / (t1 - 2.0) - (w + z * w);\\n z = 1.0 - (r - z);\\n j = u32(reinterpret(z) >> 32);\\n j += n << 20;\\n if ((j >> 20) <= 0) z = scalbn(z, n);\\n else z = reinterpret(reinterpret(z) & 0xFFFFFFFF | (j << 32));\\n return s * z;\\n }\\n }\\n\\n export function seedRandom(value: i64): void {\\n // Instead zero seed use golden ratio:\\n // phi = (1 + sqrt(5)) / 2\\n // trunc(2^64 / phi) = 0x9e3779b97f4a7c15\\n if (value == 0) value = 0x9e3779b97f4a7c15;\\n random_state0_64 = murmurHash3(value);\\n random_state1_64 = murmurHash3(~random_state0_64);\\n random_state0_32 = splitMix32(value);\\n random_state1_32 = splitMix32(random_state0_32);\\n random_seeded = true;\\n }\\n\\n export function random(): f64 { // see: v8/src/base/utils/random-number-generator.cc\\n if (!random_seeded) seedRandom(reinterpret(seed()));\\n let s1 = random_state0_64;\\n let s0 = random_state1_64;\\n random_state0_64 = s0;\\n s1 ^= s1 << 23;\\n s1 ^= s1 >> 17;\\n s1 ^= s0;\\n s1 ^= s0 >> 26;\\n random_state1_64 = s1;\\n let r = (s0 >> 12) | 0x3FF0000000000000;\\n return reinterpret(r) - 1;\\n }\\n\\n export function round(x: f64): f64 {\\n if (ASC_SHRINK_LEVEL > 0) {\\n return builtin_ceil(x) - f64(builtin_ceil(x) - 0.5 > x);\\n } else {\\n let roundUp = builtin_ceil(x);\\n return select(roundUp, roundUp - 1.0, roundUp - 0.5 <= x);\\n }\\n }\\n\\n export function sign(x: f64): f64 {\\n if (ASC_SHRINK_LEVEL > 0) {\\n return select(builtin_copysign(1, x), x, builtin_abs(x) > 0);\\n } else {\\n return select(1, select(-1, x, x < 0), x > 0);\\n }\\n }\\n\\n // @ts-ignore: decorator\\n @inline\\n export function signbit(x: f64): bool {\\n return bool(reinterpret(x) >>> 63);\\n }\\n\\n export function sin(x: f64): f64 { // see: musl/src/math/sin.c\\n let u = reinterpret(x);\\n let ux = u32(u >> 32);\\n let sign = ux >> 31;\\n\\n ux &= 0x7FFFFFFF;\\n\\n // |x| ~< pi/4\\n if (ux <= 0x3FE921FB) {\\n if (ux < 0x3E500000) { // |x| < 2**-26\\n return x;\\n }\\n return sin_kern(x, 0.0, 0);\\n }\\n\\n // sin(Inf or NaN) is NaN\\n if (ux >= 0x7FF00000) return x - x;\\n\\n // argument reduction needed\\n let n = rempio2(x, u, sign);\\n let y0 = rempio2_y0;\\n let y1 = rempio2_y1;\\n\\n x = n & 1 ? cos_kern(y0, y1) : sin_kern(y0, y1, 1);\\n return n & 2 ? -x : x;\\n }\\n\\n export function sinh(x: f64): f64 { // see: musl/src/math/sinh.c\\n let u = reinterpret(x) & 0x7FFFFFFFFFFFFFFF;\\n let a = reinterpret(u);\\n let w = u32(u >> 32);\\n let h = builtin_copysign(0.5, x);\\n if (w < 0x40862E42) {\\n let t = expm1(a);\\n if (w < 0x3FF00000) {\\n if (w < 0x3FF00000 - (26 << 20)) return x;\\n return h * (2 * t - t * t / (t + 1));\\n }\\n return h * (t + t / (t + 1));\\n }\\n return expo2(a, 2 * h);\\n }\\n\\n // @ts-ignore: decorator\\n @inline\\n export function sqrt(x: f64): f64 {\\n return builtin_sqrt(x);\\n }\\n\\n export function tan(x: f64): f64 { // see: musl/src/math/tan.c\\n let u = reinterpret(x);\\n let ux = u32(u >> 32);\\n let sign = ux >>> 31;\\n\\n ux &= 0x7FFFFFFF;\\n\\n // |x| ~< pi/4\\n if (ux <= 0x3FE921FB) {\\n if (ux < 0x3E400000) { // |x| < 2**-27\\n return x;\\n }\\n return tan_kern(x, 0.0, 1);\\n }\\n\\n // tan(Inf or NaN) is NaN\\n if (ux >= 0x7FF00000) return x - x;\\n\\n let n = rempio2(x, u, sign);\\n return tan_kern(rempio2_y0, rempio2_y1, 1 - ((n & 1) << 1));\\n }\\n\\n export function tanh(x: f64): f64 { // see: musl/src/math/tanh.c\\n let u = reinterpret(x);\\n u &= 0x7FFFFFFFFFFFFFFF;\\n let y = reinterpret(u);\\n let w = u32(u >> 32);\\n let t: f64;\\n if (w > 0x3FE193EA) {\\n if (w > 0x40340000) {\\n t = 1 - 0 / y;\\n } else {\\n t = expm1(2 * y);\\n t = 1 - 2 / (t + 2);\\n }\\n } else if (w > 0x3FD058AE) {\\n t = expm1(2 * y);\\n t = t / (t + 2);\\n } else if (w >= 0x00100000) {\\n t = expm1(-2 * y);\\n t = -t / (t + 2);\\n } else t = y;\\n return builtin_copysign(t, x);\\n }\\n\\n // @ts-ignore: decorator\\n @inline\\n export function trunc(x: f64): f64 {\\n return builtin_trunc(x);\\n }\\n\\n export function scalbn(x: f64, n: i32): f64 { // see: https://git.musl-libc.org/cgit/musl/tree/src/math/scalbn.c\\n const\\n Ox1p53 = reinterpret(0x4340000000000000),\\n Ox1p1023 = reinterpret(0x7FE0000000000000),\\n Ox1p_1022 = reinterpret(0x0010000000000000);\\n\\n let y = x;\\n if (n > 1023) {\\n y *= Ox1p1023;\\n n -= 1023;\\n if (n > 1023) {\\n y *= Ox1p1023;\\n n = builtin_min(n - 1023, 1023);\\n }\\n } else if (n < -1022) {\\n // make sure final n < -53 to avoid double\\n // rounding in the subnormal range\\n y *= Ox1p_1022 * Ox1p53;\\n n += 1022 - 53;\\n if (n < -1022) {\\n y *= Ox1p_1022 * Ox1p53;\\n n = builtin_max(n + 1022 - 53, -1022);\\n }\\n }\\n return y * reinterpret((0x3FF + n) << 52);\\n }\\n\\n export function mod(x: f64, y: f64): f64 { // see: musl/src/math/fmod.c\\n if (builtin_abs(y) == 1.0) {\\n // x % 1, x % -1 ==> sign(x) * abs(x - 1.0 * trunc(x / 1.0))\\n // TODO: move this rule to compiler's optimization pass.\\n // It could be apply for any x % C_pot, where \\\"C_pot\\\" is pow of two const.\\n return builtin_copysign(x - builtin_trunc(x), x);\\n }\\n let ux = reinterpret(x);\\n let uy = reinterpret(y);\\n let ex = i64(ux >> 52 & 0x7FF);\\n let ey = i64(uy >> 52 & 0x7FF);\\n let sx = ux >> 63;\\n let uy1 = uy << 1;\\n if (uy1 == 0 || ex == 0x7FF || isNaN(y)) {\\n let m = x * y;\\n return m / m;\\n }\\n let ux1 = ux << 1;\\n if (ux1 <= uy1) {\\n return x * f64(ux1 != uy1);\\n }\\n if (!ex) {\\n ex -= builtin_clz(ux << 12);\\n ux <<= 1 - ex;\\n } else {\\n ux &= u64(-1) >> 12;\\n ux |= 1 << 52;\\n }\\n if (!ey) {\\n ey -= builtin_clz(uy << 12);\\n uy <<= 1 - ey;\\n } else {\\n uy &= u64(-1) >> 12;\\n uy |= 1 << 52;\\n }\\n while (ex > ey) {\\n if (ux >= uy) {\\n if (ux == uy) return 0 * x;\\n ux -= uy;\\n }\\n ux <<= 1;\\n --ex;\\n }\\n if (ux >= uy) {\\n if (ux == uy) return 0 * x;\\n ux -= uy;\\n }\\n // for (; !(ux >> 52); ux <<= 1) --ex;\\n let shift = builtin_clz(ux << 11);\\n ex -= shift;\\n ux <<= shift;\\n if (ex > 0) {\\n ux -= 1 << 52;\\n ux |= ex << 52;\\n } else {\\n ux >>= -ex + 1;\\n }\\n return reinterpret(ux | (sx << 63));\\n }\\n\\n export function rem(x: f64, y: f64): f64 { // see: musl/src/math/remquo.c\\n let ux = reinterpret(x);\\n let uy = reinterpret(y);\\n let ex = i64(ux >> 52 & 0x7FF);\\n let ey = i64(uy >> 52 & 0x7FF);\\n if (uy << 1 == 0 || ex == 0x7FF || isNaN(y)) {\\n let m = x * y;\\n return m / m;\\n }\\n if (ux << 1 == 0) return x;\\n let uxi = ux;\\n if (!ex) {\\n ex -= builtin_clz(uxi << 12);\\n uxi <<= 1 - ex;\\n } else {\\n uxi &= u64(-1) >> 12;\\n uxi |= 1 << 52;\\n }\\n if (!ey) {\\n ey -= builtin_clz(uy << 12);\\n uy <<= 1 - ey;\\n } else {\\n uy &= u64(-1) >> 12;\\n uy |= 1 << 52;\\n }\\n let q: u32 = 0;\\n do {\\n if (ex < ey) {\\n if (ex + 1 == ey) break; // goto end\\n return x;\\n }\\n while (ex > ey) {\\n if (uxi >= uy) {\\n uxi -= uy;\\n ++q;\\n }\\n uxi <<= 1;\\n q <<= 1;\\n --ex;\\n }\\n if (uxi >= uy) {\\n uxi -= uy;\\n ++q;\\n }\\n if (uxi == 0) ex = -60;\\n else {\\n let shift = builtin_clz(uxi << 11);\\n ex -= shift;\\n uxi <<= shift;\\n }\\n break;\\n } while (false);\\n // end:\\n if (ex > 0) {\\n uxi -= 1 << 52;\\n uxi |= ex << 52;\\n } else {\\n uxi >>= -ex + 1;\\n }\\n x = reinterpret(uxi);\\n y = builtin_abs(y);\\n let x2 = x + x;\\n if (ex == ey || (ex + 1 == ey && (x2 > y || (x2 == y && (q & 1))))) {\\n x -= y;\\n // ++q;\\n }\\n return ux < 0 ? -x : x;\\n }\\n\\n export function sincos(x: f64): void { // see: musl/tree/src/math/sincos.c\\n let u = reinterpret(x);\\n let ux = u32(u >> 32);\\n let sign = ux >> 31;\\n ux &= 0x7FFFFFFF;\\n\\n if (ux <= 0x3FE921FB) { // |x| ~<= \u03C0/4\\n if (ux < 0x3E46A09E) { // if |x| < 2**-27 * sqrt(2)\\n sincos_sin = x;\\n sincos_cos = 1;\\n return;\\n }\\n sincos_sin = sin_kern(x, 0, 0);\\n sincos_cos = cos_kern(x, 0);\\n return;\\n }\\n // sin(Inf or NaN) is NaN\\n if (ux >= 0x7F800000) {\\n let xx = x - x;\\n sincos_sin = xx;\\n sincos_cos = xx;\\n return;\\n }\\n // general argument reduction needed\\n let n = rempio2(x, u, sign);\\n let y0 = rempio2_y0;\\n let y1 = rempio2_y1;\\n let s = sin_kern(y0, y1, 1);\\n let c = cos_kern(y0, y1);\\n let sin = s, cos = c;\\n if (n & 1) {\\n sin = c;\\n cos = -s;\\n }\\n if (n & 2) {\\n sin = -sin;\\n cos = -cos;\\n }\\n sincos_sin = sin;\\n sincos_cos = cos;\\n }\\n}\\n\\n// @ts-ignore: decorator\\n@lazy let rempio2f_y: f64;\\n\\n// @ts-ignore: decorator\\n@lazy @inline const PIO2F_TABLE = memory.data([\\n 0xA2F9836E4E441529,\\n 0xFC2757D1F534DDC0,\\n 0xDB6295993C439041,\\n 0xFE5163ABDEBBC561\\n]);\\n\\nfunction Rf(z: f32): f32 { // Rational approximation of (asin(x)-x)/x^3\\n const // see: musl/src/math/asinf.c and SUN COPYRIGHT NOTICE above\\n pS0 = reinterpret(0x3E2AAA75), // 1.6666586697e-01f\\n pS1 = reinterpret(0xBD2F13BA), // -4.2743422091e-02f\\n pS2 = reinterpret(0xBC0DD36B), // -8.6563630030e-03f\\n qS1 = reinterpret(0xBF34E5AE); // -7.0662963390e-01f\\n\\n let p = z * (pS0 + z * (pS1 + z * pS2));\\n let q: f32 = 1 + z * qS1;\\n return p / q;\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction expo2f(x: f32, sign: f32): f32 { // exp(x)/2 for x >= log(DBL_MAX)\\n const // see: musl/src/math/__expo2f.c\\n k = 235,\\n kln2 = reinterpret(0x4322E3BC); // 0x1.45c778p+7f\\n let scale = reinterpret(u32(0x7F + (k >> 1)) << 23);\\n // in directed rounding correct sign before rounding or overflow is important\\n return NativeMathf.exp(x - kln2) * (sign * scale) * scale;\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction pio2f_large_quot(x: f32, u: i32): i32 { // see: jdh8/metallic/blob/master/src/math/float/rem_pio2f.c\\n const coeff = reinterpret(0x3BF921FB54442D18); // \u03C0 * 0x1p-65 = 8.51530395021638647334e-20\\n\\n let offset = (u >> 23) - 152;\\n let shift = u64(offset & 63);\\n let tblPtr = PIO2F_TABLE + (offset >> 6 << 3);\\n\\n let b0 = load(tblPtr, 0 << 3);\\n let b1 = load(tblPtr, 1 << 3);\\n let lo: u64;\\n\\n if (shift > 32) {\\n let b2 = load(tblPtr, 2 << 3);\\n lo = b2 >> (96 - shift);\\n lo |= b1 << (shift - 32);\\n } else {\\n lo = b1 >> (32 - shift);\\n }\\n\\n let hi = (b1 >> (64 - shift)) | (b0 << shift);\\n let mantissa: u64 = (u & 0x007FFFFF) | 0x00800000;\\n let product = mantissa * hi + (mantissa * lo >> 32);\\n let r: i64 = product << 2;\\n let q = i32((product >> 62) + (r >>> 63));\\n rempio2f_y = copysign(coeff, x) * r;\\n return q;\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction rempio2f(x: f32, u: u32, sign: i32): i32 { // see: jdh8/metallic/blob/master/src/math/float/rem_pio2f.c\\n const\\n pi2hi = reinterpret(0x3FF921FB50000000), // 1.57079631090164184570\\n pi2lo = reinterpret(0x3E5110B4611A6263), // 1.58932547735281966916e-8\\n _2_pi = reinterpret(0x3FE45F306DC9C883); // 0.63661977236758134308\\n\\n if (u < 0x4DC90FDB) { // \u03C0 * 0x1p28\\n let q = nearest(x * _2_pi);\\n rempio2f_y = x - q * pi2hi - q * pi2lo;\\n return q;\\n }\\n\\n let q = pio2f_large_quot(x, u);\\n return select(-q, q, sign);\\n}\\n\\n// |sin(x)/x - s(x)| < 2**-37.5 (~[-4.89e-12, 4.824e-12]).\\n// @ts-ignore: decorator\\n@inline\\nfunction sin_kernf(x: f64): f32 { // see: musl/tree/src/math/__sindf.c\\n const\\n S1 = reinterpret(0xBFC5555554CBAC77), // -0x15555554cbac77.0p-55\\n S2 = reinterpret(0x3F811110896EFBB2), // 0x111110896efbb2.0p-59\\n S3 = reinterpret(0xBF2A00F9E2CAE774), // -0x1a00f9e2cae774.0p-65\\n S4 = reinterpret(0x3EC6CD878C3B46A7); // 0x16cd878c3b46a7.0p-71\\n\\n let z = x * x;\\n let w = z * z;\\n let r = S3 + z * S4;\\n let s = z * x;\\n return f32((x + s * (S1 + z * S2)) + s * w * r);\\n}\\n\\n// |cos(x) - c(x)| < 2**-34.1 (~[-5.37e-11, 5.295e-11]).\\n// @ts-ignore: decorator\\n@inline\\nfunction cos_kernf(x: f64): f32 { // see: musl/tree/src/math/__cosdf.c\\n const\\n C0 = reinterpret(0xBFDFFFFFFD0C5E81), // -0x1ffffffd0c5e81.0p-54\\n C1 = reinterpret(0x3FA55553E1053A42), // 0x155553e1053a42.0p-57\\n C2 = reinterpret(0xBF56C087E80F1E27), // -0x16c087e80f1e27.0p-62\\n C3 = reinterpret(0x3EF99342E0EE5069); // 0x199342e0ee5069.0p-68\\n\\n let z = x * x;\\n let w = z * z;\\n let r = C2 + z * C3;\\n return f32(((1 + z * C0) + w * C1) + (w * z) * r);\\n}\\n\\n// |tan(x)/x - t(x)| < 2**-25.5 (~[-2e-08, 2e-08]).\\n// @ts-ignore: decorator\\n@inline\\nfunction tan_kernf(x: f64, odd: i32): f32 { // see: musl/tree/src/math/__tandf.c\\n const\\n T0 = reinterpret(0x3FD5554D3418C99F), // 0x15554d3418c99f.0p-54\\n T1 = reinterpret(0x3FC112FD38999F72), // 0x1112fd38999f72.0p-55\\n T2 = reinterpret(0x3FAB54C91D865AFE), // 0x1b54c91d865afe.0p-57\\n T3 = reinterpret(0x3F991DF3908C33CE), // 0x191df3908c33ce.0p-58\\n T4 = reinterpret(0x3F685DADFCECF44E), // 0x185dadfcecf44e.0p-61\\n T5 = reinterpret(0x3F8362B9BF971BCD); // 0x1362b9bf971bcd.0p-59\\n\\n let z = x * x;\\n let r = T4 + z * T5;\\n let t = T2 + z * T3;\\n let w = z * z;\\n let s = z * x;\\n let u = T0 + z * T1;\\n\\n r = (x + s * u) + (s * w) * (t + w * r);\\n return f32(odd ? -1 / r : r);\\n}\\n\\n// See: jdh8/metallic/src/math/float/log2f.c and jdh8/metallic/src/math/float/kernel/atanh.h\\n// @ts-ignore: decorator\\n@inline\\nfunction log2f(x: f64): f64 {\\n const\\n log2e = reinterpret(0x3FF71547652B82FE), // 1.44269504088896340736\\n c0 = reinterpret(0x3FD555554FD9CAEF), // 0.33333332822728226129\\n c1 = reinterpret(0x3FC999A7A8AF4132), // 0.20000167595436263505\\n c2 = reinterpret(0x3FC2438D79437030), // 0.14268654271188685375\\n c3 = reinterpret(0x3FBE2F663B001C97); // 0.11791075649681414150\\n\\n let i = reinterpret(x);\\n let exponent = (i - 0x3FE6A09E667F3BCD) >> 52;\\n x = reinterpret(i - (exponent << 52));\\n x = (x - 1) / (x + 1);\\n let xx = x * x;\\n let y = x + x * xx * (c0 + c1 * xx + (c2 + c3 * xx) * (xx * xx));\\n return (2 * log2e) * y + exponent;\\n}\\n\\n// See: jdh8/metallic/src/math/float/exp2f.h and jdh8/metallic/blob/master/src/math/float/kernel/exp2f.h\\n// @ts-ignore: decorator\\n@inline\\nfunction exp2f(x: f64): f64 {\\n const\\n c0 = reinterpret(0x3FE62E4302FCC24A), // 6.931471880289532425e-1\\n c1 = reinterpret(0x3FCEBFBE07D97B91), // 2.402265108421173406e-1\\n c2 = reinterpret(0x3FAC6AF6CCFC1A65), // 5.550357105498874537e-2\\n c3 = reinterpret(0x3F83B29E3CE9AEF6), // 9.618030771171497658e-3\\n c4 = reinterpret(0x3F55F0896145A89F), // 1.339086685300950937e-3\\n c5 = reinterpret(0x3F2446C81E384864); // 1.546973499989028719e-4\\n\\n if (x < -1022) return 0;\\n if (x >= 1024) return Infinity;\\n\\n let n = nearest(x);\\n x -= n;\\n let xx = x * x;\\n let y = 1 + x * (c0 + c1 * x + (c2 + c3 * x) * xx + (c4 + c5 * x) * (xx * xx));\\n return reinterpret(reinterpret(y) + (n << 52));\\n}\\n\\nexport namespace NativeMathf {\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const E = NativeMath.E;\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const LN2 = NativeMath.LN2;\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const LN10 = NativeMath.LN10;\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const LOG2E = NativeMath.LOG2E;\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const LOG10E = NativeMath.LOG10E;\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const PI = NativeMath.PI;\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const SQRT1_2 = NativeMath.SQRT1_2;\\n\\n // @ts-ignore: decorator\\n @lazy\\n export const SQRT2 = NativeMath.SQRT2;\\n\\n // @ts-ignore: decorator\\n @lazy\\n export let sincos_sin: f32 = 0;\\n\\n // @ts-ignore: decorator\\n @lazy\\n export let sincos_cos: f32 = 0;\\n\\n // @ts-ignore: decorator\\n @inline\\n export function abs(x: f32): f32 {\\n return builtin_abs(x);\\n }\\n\\n export function acos(x: f32): f32 { // see: musl/src/math/acosf.c and SUN COPYRIGHT NOTICE above\\n const\\n pio2_hi = reinterpret(0x3FC90FDA), // 1.5707962513e+00f\\n pio2_lo = reinterpret(0x33A22168), // 7.5497894159e-08f\\n Ox1p_120f = reinterpret(0x03800000); // 0x1p-120f\\n\\n let hx = reinterpret(x);\\n let ix = hx & 0x7FFFFFFF;\\n if (ix >= 0x3F800000) {\\n if (ix == 0x3F800000) {\\n return select(2 * pio2_hi + Ox1p_120f, 0, hx < 0);\\n }\\n return 0 / (x - x);\\n }\\n if (ix < 0x3F000000) {\\n if (ix <= 0x32800000) return pio2_hi + Ox1p_120f;\\n return pio2_hi - (x - (pio2_lo - x * Rf(x * x)));\\n }\\n let z: f32, w: f32, s: f32;\\n if (hx < 0) {\\n // z = (1 + x) * 0.5;\\n z = 0.5 + x * 0.5;\\n s = builtin_sqrt(z);\\n w = Rf(z) * s - pio2_lo;\\n return 2 * (pio2_hi - (s + w));\\n }\\n // z = (1 - x) * 0.5;\\n z = 0.5 - x * 0.5;\\n s = builtin_sqrt(z);\\n hx = reinterpret(s);\\n let df = reinterpret(hx & 0xFFFFF000);\\n let c = (z - df * df) / (s + df);\\n w = Rf(z) * s + c;\\n return 2 * (df + w);\\n }\\n\\n export function acosh(x: f32): f32 { // see: musl/src/math/acoshf.c\\n const s = reinterpret(0x3F317218); // 0.693147180559945309417232121458176568f\\n let u = reinterpret(x);\\n let a = u & 0x7FFFFFFF;\\n if (a < 0x3F800000 + (1 << 23)) { // |x| < 2, invalid if x < 1\\n let xm1 = x - 1;\\n return log1p(xm1 + builtin_sqrt(xm1 * (xm1 + 2)));\\n }\\n if (u < 0x3F800000 + (12 << 23)) { // 2 <= x < 0x1p12\\n return log(2 * x - 1 / (x + builtin_sqrt(x * x - 1)));\\n }\\n // x >= 0x1p12 or x <= -2 or NaN\\n return log(x) + s;\\n }\\n\\n export function asin(x: f32): f32 { // see: musl/src/math/asinf.c and SUN COPYRIGHT NOTICE above\\n const\\n pio2 = reinterpret(0x3FC90FDB), // 1.570796326794896558e+00f\\n Ox1p_120f = reinterpret(0x03800000); // 0x1p-120f\\n\\n let sx = x;\\n let hx = reinterpret(x) & 0x7FFFFFFF;\\n if (hx >= 0x3F800000) {\\n if (hx == 0x3F800000) return x * pio2 + Ox1p_120f;\\n return 0 / (x - x);\\n }\\n if (hx < 0x3F000000) {\\n if (hx < 0x39800000 && hx >= 0x00800000) return x;\\n return x + x * Rf(x * x);\\n }\\n // let z: f32 = (1 - builtin_abs(x)) * 0.5;\\n let z: f32 = 0.5 - builtin_abs(x) * 0.5;\\n let s = builtin_sqrt(z); // sic\\n x = f32(pio2 - 2 * (s + s * Rf(z)));\\n return builtin_copysign(x, sx);\\n }\\n\\n export function asinh(x: f32): f32 { // see: musl/src/math/asinhf.c\\n const c = reinterpret(0x3F317218); // 0.693147180559945309417232121458176568f\\n let u = reinterpret(x) & 0x7FFFFFFF;\\n let y = reinterpret(u);\\n if (u >= 0x3F800000 + (12 << 23)) y = log(y) + c;\\n else if (u >= 0x3F800000 + (1 << 23)) y = log(2 * y + 1 / (builtin_sqrt(y * y + 1) + y));\\n else if (u >= 0x3F800000 - (12 << 23)) y = log1p(y + y * y / (builtin_sqrt(y * y + 1) + 1));\\n return builtin_copysign(y, x);\\n }\\n\\n export function atan(x: f32): f32 { // see: musl/src/math/atanf.c and SUN COPYRIGHT NOTICE above\\n const\\n atanhi0 = reinterpret(0x3EED6338), // 4.6364760399e-01f\\n atanhi1 = reinterpret(0x3F490FDA), // 7.8539812565e-01f\\n atanhi2 = reinterpret(0x3F7B985E), // 9.8279368877e-01f\\n atanhi3 = reinterpret(0x3FC90FDA), // 1.5707962513e+00f\\n atanlo0 = reinterpret(0x31AC3769), // 5.0121582440e-09f\\n atanlo1 = reinterpret(0x33222168), // 3.7748947079e-08f\\n atanlo2 = reinterpret(0x33140FB4), // 3.4473217170e-08f\\n atanlo3 = reinterpret(0x33A22168), // 7.5497894159e-08f\\n aT0 = reinterpret(0x3EAAAAA9), // 3.3333328366e-01f\\n aT1 = reinterpret(0xBE4CCA98), // -1.9999158382e-01f\\n aT2 = reinterpret(0x3E11F50D), // 1.4253635705e-01f\\n aT3 = reinterpret(0xBDDA1247), // -1.0648017377e-01f\\n aT4 = reinterpret(0x3D7CAC25), // 6.1687607318e-02f\\n Ox1p_120f = reinterpret(0x03800000); // 0x1p-120f\\n\\n let ix = reinterpret(x);\\n let sx = x;\\n ix &= 0x7FFFFFFF;\\n let z: f32;\\n if (ix >= 0x4C800000) {\\n if (isNaN(x)) return x;\\n z = atanhi3 + Ox1p_120f;\\n return builtin_copysign(z, sx);\\n }\\n let id: i32;\\n if (ix < 0x3EE00000) {\\n if (ix < 0x39800000) return x;\\n id = -1;\\n } else {\\n x = builtin_abs(x);\\n if (ix < 0x3F980000) {\\n if (ix < 0x3F300000) {\\n id = 0;\\n x = (2.0 * x - 1.0) / (2.0 + x);\\n } else {\\n id = 1;\\n x = (x - 1.0) / (x + 1.0);\\n }\\n } else {\\n if (ix < 0x401C0000) {\\n id = 2;\\n x = (x - 1.5) / (1.0 + 1.5 * x);\\n } else {\\n id = 3;\\n x = -1.0 / x;\\n }\\n }\\n }\\n z = x * x;\\n let w = z * z;\\n let s1 = z * (aT0 + w * (aT2 + w * aT4));\\n let s2 = w * (aT1 + w * aT3);\\n let s3 = x * (s1 + s2);\\n if (id < 0) return x - s3;\\n switch (id) {\\n case 0: { z = atanhi0 - ((s3 - atanlo0) - x); break; }\\n case 1: { z = atanhi1 - ((s3 - atanlo1) - x); break; }\\n case 2: { z = atanhi2 - ((s3 - atanlo2) - x); break; }\\n case 3: { z = atanhi3 - ((s3 - atanlo3) - x); break; }\\n default: unreachable();\\n }\\n return builtin_copysign(z, sx);\\n }\\n\\n export function atanh(x: f32): f32 { // see: musl/src/math/atanhf.c\\n let u = reinterpret(x);\\n let y = builtin_abs(x);\\n if (u < 0x3F800000 - (1 << 23)) {\\n if (u >= 0x3F800000 - (32 << 23)) y = 0.5 * log1p(2 * y * (1.0 + y / (1 - y)));\\n } else y = 0.5 * log1p(2 * (y / (1 - y)));\\n return builtin_copysign(y, x);\\n }\\n\\n export function atan2(y: f32, x: f32): f32 { // see: musl/src/math/atan2f.c and SUN COPYRIGHT NOTICE above\\n const\\n pi = reinterpret(0x40490FDB), // 3.1415927410e+00f\\n pi_lo = reinterpret(0xB3BBBD2E); // -8.7422776573e-08f\\n\\n if (isNaN(x) || isNaN(y)) return x + y;\\n let ix = reinterpret(x);\\n let iy = reinterpret(y);\\n if (ix == 0x3F800000) return atan(y);\\n let m = u32(((iy >> 31) & 1) | ((ix >> 30) & 2));\\n ix &= 0x7FFFFFFF;\\n iy &= 0x7FFFFFFF;\\n if (iy == 0) {\\n switch (m) {\\n case 0:\\n case 1: return y;\\n case 2: return pi;\\n case 3: return -pi;\\n }\\n }\\n if (ix == 0) return m & 1 ? -pi / 2 : pi / 2;\\n if (ix == 0x7F800000) {\\n if (iy == 0x7F800000) {\\n let t: f32 = m & 2 ? 3 * pi / 4 : pi / 4;\\n return m & 1 ? -t : t;\\n } else {\\n let t: f32 = m & 2 ? pi : 0.0;\\n return m & 1 ? -t : t;\\n }\\n }\\n if (ix + (26 << 23) < iy || iy == 0x7F800000) return m & 1 ? -pi / 2 : pi / 2;\\n let z: f32;\\n if ((m & 2) && iy + (26 << 23) < ix) z = 0.0;\\n else z = atan(builtin_abs(y / x));\\n switch (m) {\\n case 0: return z;\\n case 1: return -z;\\n case 2: return pi - (z - pi_lo);\\n case 3: return (z - pi_lo) - pi;\\n }\\n unreachable();\\n return 0;\\n }\\n\\n export function cbrt(x: f32): f32 { // see: musl/src/math/cbrtf.c and SUN COPYRIGHT NOTICE above\\n const\\n B1 = 709958130,\\n B2 = 642849266,\\n Ox1p24f = reinterpret(0x4B800000);\\n\\n let u = reinterpret(x);\\n let hx = u & 0x7FFFFFFF;\\n if (hx >= 0x7F800000) return x + x;\\n if (hx < 0x00800000) {\\n if (hx == 0) return x;\\n u = reinterpret(x * Ox1p24f);\\n hx = u & 0x7FFFFFFF;\\n hx = hx / 3 + B2;\\n } else {\\n hx = hx / 3 + B1;\\n }\\n u &= 0x80000000;\\n u |= hx;\\n let t = reinterpret(u);\\n let r = t * t * t;\\n t = t * (x + x + r) / (x + r + r);\\n r = t * t * t;\\n t = t * (x + x + r) / (x + r + r);\\n return t;\\n }\\n\\n // @ts-ignore: decorator\\n @inline\\n export function ceil(x: f32): f32 {\\n return builtin_ceil(x);\\n }\\n\\n export function clz32(x: f32): f32 {\\n if (!isFinite(x)) return 32;\\n return builtin_clz(dtoi32(x));\\n }\\n\\n export function cos(x: f32): f32 { // see: musl/src/math/cosf.c\\n const\\n c1pio2 = reinterpret(0x3FF921FB54442D18), // M_PI_2 * 1\\n c2pio2 = reinterpret(0x400921FB54442D18), // M_PI_2 * 2\\n c3pio2 = reinterpret(0x4012D97C7F3321D2), // M_PI_2 * 3\\n c4pio2 = reinterpret(0x401921FB54442D18); // M_PI_2 * 4\\n\\n let ux = reinterpret(x);\\n let sign = ux >> 31;\\n ux &= 0x7FFFFFFF;\\n\\n if (ux <= 0x3F490FDA) { // |x| ~<= \u03C0/4\\n if (ux < 0x39800000) { // |x| < 2**-12\\n // raise inexact if x != 0\\n return 1;\\n }\\n return cos_kernf(x);\\n }\\n\\n if (ASC_SHRINK_LEVEL < 1) {\\n if (ux <= 0x407B53D1) { // |x| ~<= 5\u03C0/4\\n if (ux > 0x4016CBE3) { // |x| ~> 3\u03C0/4\\n return -cos_kernf(sign ? x + c2pio2 : x - c2pio2);\\n } else {\\n return sign ? sin_kernf(x + c1pio2) : sin_kernf(c1pio2 - x);\\n }\\n }\\n if (ux <= 0x40E231D5) { // |x| ~<= 9\u03C0/4\\n if (ux > 0x40AFEDDF) { // |x| ~> 7\u03C0/4\\n return cos_kernf(sign ? x + c4pio2 : x - c4pio2);\\n } else {\\n return sign ? sin_kernf(-x - c3pio2) : sin_kernf(x - c3pio2);\\n }\\n }\\n }\\n\\n // cos(Inf or NaN) is NaN\\n if (ux >= 0x7F800000) return x - x;\\n\\n // general argument reduction needed\\n let n = rempio2f(x, ux, sign);\\n let y = rempio2f_y;\\n\\n let t = n & 1 ? sin_kernf(y) : cos_kernf(y);\\n return (n + 1) & 2 ? -t : t;\\n }\\n\\n export function cosh(x: f32): f32 { // see: musl/src/math/coshf.c\\n let u = reinterpret(x);\\n u &= 0x7FFFFFFF;\\n x = reinterpret(u);\\n if (u < 0x3F317217) {\\n if (u < 0x3F800000 - (12 << 23)) return 1;\\n let t = expm1(x);\\n // return 1 + t * t / (2 * (1 + t));\\n return 1 + t * t / (2 + 2 * t);\\n }\\n if (u < 0x42B17217) {\\n let t = exp(x);\\n // return 0.5 * (t + 1 / t);\\n return 0.5 * t + 0.5 / t;\\n }\\n return expo2f(x, 1);\\n }\\n\\n // @ts-ignore: decorator\\n @inline\\n export function floor(x: f32): f32 {\\n return builtin_floor(x);\\n }\\n\\n export function exp(x: f32): f32 { // see: musl/src/math/expf.c and SUN COPYRIGHT NOTICE above\\n if (ASC_SHRINK_LEVEL < 1) {\\n return expf_lut(x);\\n } else {\\n const\\n ln2hi = reinterpret(0x3F317200), // 6.9314575195e-1f\\n ln2lo = reinterpret(0x35BFBE8E), // 1.4286067653e-6f\\n invln2 = reinterpret(0x3FB8AA3B), // 1.4426950216e+0f\\n P1 = reinterpret(0x3E2AAA8F), // 1.6666625440e-1f\\n P2 = reinterpret(0xBB355215), // -2.7667332906e-3f\\n Ox1p127f = reinterpret(0x7F000000); // 0x1p+127f\\n\\n let hx = reinterpret(x);\\n let sign = hx >> 31;\\n hx &= 0x7FFFFFFF;\\n if (hx >= 0x42AEAC50) {\\n if (hx > 0x7F800000) return x; // NaN\\n if (hx >= 0x42B17218) {\\n if (!sign) return x * Ox1p127f;\\n else if (hx >= 0x42CFF1B5) return 0;\\n }\\n }\\n let hi: f32, lo: f32;\\n let k: i32;\\n if (hx > 0x3EB17218) {\\n if (hx > 0x3F851592) {\\n k = i32(invln2 * x + builtin_copysign(0.5, x));\\n } else {\\n k = 1 - (sign << 1);\\n }\\n hi = x - k * ln2hi;\\n lo = k * ln2lo;\\n x = hi - lo;\\n } else if (hx > 0x39000000) {\\n k = 0;\\n hi = x;\\n lo = 0;\\n } else {\\n return 1 + x;\\n }\\n let xx = x * x;\\n let c = x - xx * (P1 + xx * P2);\\n let y: f32 = 1 + (x * c / (2 - c) - lo + hi);\\n return k == 0 ? y : scalbn(y, k);\\n }\\n }\\n\\n export function exp2(x: f32): f32 {\\n return exp2f_lut(x);\\n }\\n\\n export function expm1(x: f32): f32 { // see: musl/src/math/expm1f.c and SUN COPYRIGHT NOTICE above\\n const\\n ln2_hi = reinterpret(0x3F317180), // 6.9313812256e-01f\\n ln2_lo = reinterpret(0x3717F7D1), // 9.0580006145e-06f\\n invln2 = reinterpret(0x3FB8AA3B), // 1.4426950216e+00f\\n Q1 = reinterpret(0xBD088868), // -3.3333212137e-02f\\n Q2 = reinterpret(0x3ACF3010), // 1.5807170421e-03f\\n Ox1p127f = reinterpret(0x7F000000); // 0x1p+127f\\n\\n let u = reinterpret(x);\\n let hx = u & 0x7FFFFFFF;\\n let sign = u >> 31;\\n if (hx >= 0x4195B844) {\\n if (hx > 0x7F800000) return x;\\n if (sign) return -1;\\n if (hx > 0x42B17217) { // x > log(FLT_MAX)\\n x *= Ox1p127f;\\n return x;\\n }\\n }\\n let c: f32 = 0.0, t: f32, k: i32;\\n if (hx > 0x3EB17218) {\\n k = select(\\n 1 - (sign << 1),\\n i32(invln2 * x + builtin_copysign(0.5, x)),\\n hx < 0x3F851592\\n );\\n t = k;\\n let hi = x - t * ln2_hi;\\n let lo = t * ln2_lo;\\n x = hi - lo;\\n c = (hi - x) - lo;\\n } else if (hx < 0x33000000) {\\n return x;\\n } else k = 0;\\n let hfx: f32 = 0.5 * x;\\n let hxs: f32 = x * hfx;\\n let r1: f32 = 1.0 + hxs * (Q1 + hxs * Q2);\\n t = 3.0 - r1 * hfx;\\n let e = hxs * ((r1 - t) / (6.0 - x * t));\\n if (k == 0) return x - (x * e - hxs);\\n e = x * (e - c) - c;\\n e -= hxs;\\n if (k == -1) return 0.5 * (x - e) - 0.5;\\n if (k == 1) {\\n if (x < -0.25) return -2.0 * (e - (x + 0.5));\\n return 1.0 + 2.0 * (x - e);\\n }\\n u = (0x7F + k) << 23;\\n let twopk = reinterpret(u);\\n let y: f32;\\n if (k < 0 || k > 56) {\\n y = x - e + 1.0;\\n if (k == 128) y = y * 2.0 * Ox1p127f;\\n else y = y * twopk;\\n return y - 1.0;\\n }\\n u = (0x7F - k) << 23;\\n y = reinterpret(u);\\n if (k < 20) y = (1 - y) - e;\\n else y = 1 - (e + y);\\n return (x + y) * twopk;\\n }\\n\\n // @ts-ignore: decorator\\n @inline\\n export function fround(x: f32): f32 {\\n return x;\\n }\\n\\n export function hypot(x: f32, y: f32): f32 { // see: musl/src/math/hypotf.c\\n const\\n Ox1p90f = reinterpret(0x6C800000),\\n Ox1p_90f = reinterpret(0x12800000);\\n\\n let ux = reinterpret(x);\\n let uy = reinterpret(y);\\n ux &= 0x7FFFFFFF;\\n uy &= 0x7FFFFFFF;\\n if (ux < uy) {\\n let ut = ux;\\n ux = uy;\\n uy = ut;\\n }\\n x = reinterpret(ux);\\n y = reinterpret(uy);\\n if (uy == 0xFF << 23) return y;\\n if (ux >= 0xFF << 23 || uy == 0 || ux - uy >= 25 << 23) return x + y;\\n let z: f32 = 1;\\n if (ux >= (0x7F + 60) << 23) {\\n z = Ox1p90f;\\n x *= Ox1p_90f;\\n y *= Ox1p_90f;\\n } else if (uy < (0x7F - 60) << 23) {\\n z = Ox1p_90f;\\n x *= Ox1p90f;\\n y *= Ox1p90f;\\n }\\n return z * builtin_sqrt(f32(x * x + y * y));\\n }\\n\\n // @ts-ignore: decorator\\n @inline\\n export function imul(x: f32, y: f32): f32 {\\n /*\\n * Wasm (MVP) and JS have different approaches for double->int conversions.\\n *\\n * For emulate JS conversion behavior and avoid trapping from wasm we should modulate by MAX_INT\\n * our float-point arguments before actual convertion to integers.\\n */\\n if (!isFinite(x + y)) return 0;\\n return (dtoi32(x) * dtoi32(y));\\n }\\n\\n export function log(x: f32): f32 { // see: musl/src/math/logf.c and SUN COPYRIGHT NOTICE above\\n if (ASC_SHRINK_LEVEL < 1) {\\n return logf_lut(x);\\n } else {\\n const\\n ln2_hi = reinterpret(0x3F317180), // 6.9313812256e-01f\\n ln2_lo = reinterpret(0x3717F7D1), // 9.0580006145e-06f\\n Lg1 = reinterpret(0x3F2AAAAA), // 0xaaaaaa.0p-24f\\n Lg2 = reinterpret(0x3ECCCE13), // 0xccce13.0p-25f\\n Lg3 = reinterpret(0x3E91E9EE), // 0x91e9ee.0p-25f\\n Lg4 = reinterpret(0x3E789E26), // 0xf89e26.0p-26f\\n Ox1p25f = reinterpret(0x4C000000);\\n\\n let u = reinterpret(x);\\n let k = 0;\\n let sign = u >> 31;\\n if (sign || u < 0x00800000) {\\n if (u << 1 == 0) return -1 / (x * x);\\n if (sign) return (x - x) / 0;\\n k -= 25;\\n x *= Ox1p25f;\\n u = reinterpret(x);\\n } else if (u >= 0x7F800000) {\\n return x;\\n } else if (u == 0x3F800000) {\\n return 0;\\n }\\n u += 0x3F800000 - 0x3F3504F3;\\n k += i32(u >> 23) - 0x7F;\\n u = (u & 0x007FFFFF) + 0x3F3504F3;\\n x = reinterpret(u);\\n let f = x - 1.0;\\n let s = f / (2.0 + f);\\n let z = s * s;\\n let w = z * z;\\n let t1 = w * (Lg2 + w * Lg4);\\n let t2 = z * (Lg1 + w * Lg3);\\n let r = t2 + t1;\\n let hfsq = 0.5 * f * f;\\n let dk = k;\\n return s * (hfsq + r) + dk * ln2_lo - hfsq + f + dk * ln2_hi;\\n }\\n }\\n\\n export function log10(x: f32): f32 { // see: musl/src/math/log10f.c and SUN COPYRIGHT NOTICE above\\n const\\n ivln10hi = reinterpret(0x3EDE6000), // 4.3432617188e-01f\\n ivln10lo = reinterpret(0xB804EAD9), // -3.1689971365e-05f\\n log10_2hi = reinterpret(0x3E9A2080), // 3.0102920532e-01f\\n log10_2lo = reinterpret(0x355427DB), // 7.9034151668e-07f\\n Lg1 = reinterpret(0x3F2AAAAA), // 0xaaaaaa.0p-24f, 0.66666662693f\\n Lg2 = reinterpret(0x3ECCCE13), // 0xccce13.0p-25f, 0.40000972152f\\n Lg3 = reinterpret(0x3E91E9EE), // 0x91e9ee.0p-25f, 0.28498786688f\\n Lg4 = reinterpret(0x3E789E26), // 0xf89e26.0p-26f, 0.24279078841f\\n Ox1p25f = reinterpret(0x4C000000); // 0x1p25f\\n\\n let ux = reinterpret(x);\\n let k = 0;\\n let sign = ux >> 31;\\n if (sign || ux < 0x00800000) {\\n if (ux << 1 == 0) return -1 / (x * x);\\n if (sign) return (x - x) / 0.0;\\n k -= 25;\\n x *= Ox1p25f;\\n ux = reinterpret(x);\\n } else if (ux >= 0x7F800000) {\\n return x;\\n } else if (ux == 0x3F800000) {\\n return 0;\\n }\\n ux += 0x3F800000 - 0x3F3504F3;\\n k += i32(ux >> 23) - 0x7F;\\n ux = (ux & 0x007FFFFF) + 0x3F3504F3;\\n x = reinterpret(ux);\\n let f = x - 1.0;\\n let s = f / (2.0 + f);\\n let z = s * s;\\n let w = z * z;\\n let t1 = w * (Lg2 + w * Lg4);\\n let t2 = z * (Lg1 + w * Lg3);\\n let r = t2 + t1;\\n let hfsq: f32 = 0.5 * f * f;\\n let hi = f - hfsq;\\n ux = reinterpret(hi);\\n ux &= 0xFFFFF000;\\n hi = reinterpret(ux);\\n let lo = f - hi - hfsq + s * (hfsq + r);\\n let dk = k;\\n return dk * log10_2lo + (lo + hi) * ivln10lo + lo * ivln10hi + hi * ivln10hi + dk * log10_2hi;\\n }\\n\\n export function log1p(x: f32): f32 { // see: musl/src/math/log1pf.c and SUN COPYRIGHT NOTICE above\\n const\\n ln2_hi = reinterpret(0x3F317180), // 6.9313812256e-01\\n ln2_lo = reinterpret(0x3717F7D1), // 9.0580006145e-06\\n Lg1 = reinterpret(0x3F2AAAAA), // 0xaaaaaa.0p-24f, 0.66666662693f\\n Lg2 = reinterpret(0x3ECCCE13), // 0xccce13.0p-25f, 0.40000972152f\\n Lg3 = reinterpret(0x3E91E9EE), // 0x91e9ee.0p-25f, 0.28498786688f\\n Lg4 = reinterpret(0x3E789E26); // 0xf89e26.0p-26f, 0.24279078841f\\n\\n let ix = reinterpret(x);\\n let c: f32 = 0;\\n let f: f32 = 0;\\n let k = 1;\\n if (ix < 0x3ED413D0 || bool(ix >> 31)) {\\n if (ix >= 0xBF800000) {\\n if (x == -1) return x / 0.0;\\n return (x - x) / 0.0;\\n }\\n if (ix << 1 < 0x33800000 << 1) return x;\\n if (ix <= 0xBE95F619) {\\n k = 0;\\n c = 0;\\n f = x;\\n }\\n } else if (ix >= 0x7F800000) return x;\\n if (k) {\\n let uf: f32 = 1 + x;\\n let iu = reinterpret(uf);\\n iu += 0x3F800000 - 0x3F3504F3;\\n k = i32(iu >> 23) - 0x7F;\\n if (k < 25) {\\n c = k >= 2 ? 1 - (uf - x) : x - (uf - 1);\\n c /= uf;\\n } else c = 0;\\n iu = (iu & 0x007FFFFF) + 0x3F3504F3;\\n f = reinterpret(iu) - 1;\\n }\\n let s = f / (2.0 + f);\\n let z = s * s;\\n let w = z * z;\\n let t1 = w * (Lg2 + w * Lg4);\\n let t2 = z * (Lg1 + w * Lg3);\\n let r = t2 + t1;\\n let hfsq: f32 = 0.5 * f * f;\\n let dk = k;\\n return s * (hfsq + r) + (dk * ln2_lo + c) - hfsq + f + dk * ln2_hi;\\n }\\n\\n export function log2(x: f32): f32 { // see: musl/src/math/log2f.c and SUN COPYRIGHT NOTICE above\\n if (ASC_SHRINK_LEVEL < 1) {\\n return log2f_lut(x);\\n } else {\\n const\\n ivln2hi = reinterpret(0x3FB8B000), // 1.4428710938e+00f\\n ivln2lo = reinterpret(0xB9389AD4), // -1.7605285393e-04\\n Lg1 = reinterpret(0x3F2AAAAA), // 0xaaaaaa.0p-24f, 0.66666662693f\\n Lg2 = reinterpret(0x3ECCCE13), // 0xccce13.0p-25f, 0.40000972152f\\n Lg3 = reinterpret(0x3E91E9EE), // 0x91e9ee.0p-25f, 0.28498786688f\\n Lg4 = reinterpret(0x3E789E26), // 0xf89e26.0p-26f, 0.24279078841f\\n Ox1p25f = reinterpret(0x4C000000); // 0x1p25f\\n\\n let ux = reinterpret(x);\\n let k = 0;\\n let sign = ux >> 31;\\n if (sign || ux < 0x00800000) {\\n if (ux << 1 == 0) return -1 / (x * x);\\n if (sign) return (x - x) / 0.0;\\n k -= 25;\\n x *= Ox1p25f;\\n ux = reinterpret(x);\\n } else if (ux >= 0x7F800000) {\\n return x;\\n } else if (ux == 0x3F800000) {\\n return 0;\\n }\\n ux += 0x3F800000 - 0x3F3504F3;\\n k += i32(ux >> 23) - 0x7F;\\n ux = (ux & 0x007FFFFF) + 0x3F3504F3;\\n x = reinterpret(ux);\\n let f = x - 1.0;\\n let s = f / (2.0 + f);\\n let z = s * s;\\n let w = z * z;\\n let t1 = w * (Lg2 + w * Lg4);\\n let t2 = z * (Lg1 + w * Lg3);\\n let r = t2 + t1;\\n let hfsq: f32 = 0.5 * f * f;\\n let hi = f - hfsq;\\n let u = reinterpret(hi);\\n u &= 0xFFFFF000;\\n hi = reinterpret(u);\\n let lo: f32 = f - hi - hfsq + s * (hfsq + r);\\n let dk = k;\\n return (lo + hi) * ivln2lo + lo * ivln2hi + hi * ivln2hi + dk;\\n }\\n }\\n\\n // @ts-ignore: decorator\\n @inline\\n export function max(value1: f32, value2: f32): f32 {\\n return builtin_max(value1, value2);\\n }\\n\\n // @ts-ignore: decorator\\n @inline\\n export function min(value1: f32, value2: f32): f32 {\\n return builtin_min(value1, value2);\\n }\\n\\n export function pow(x: f32, y: f32): f32 {\\n // TODO: remove this fast pathes after introduced own mid-end IR with \\\"stdlib call simplify\\\" transforms\\n if (builtin_abs(y) <= 2) {\\n if (y == 2.0) return x * x;\\n if (y == 0.5) {\\n return select(\\n builtin_abs(builtin_sqrt(x)),\\n Infinity,\\n x != -Infinity\\n );\\n }\\n if (y == -1.0) return 1 / x;\\n if (y == 1.0) return x;\\n if (y == 0.0) return 1.0;\\n }\\n if (ASC_SHRINK_LEVEL < 1) {\\n // see: musl/src/math/powf.c\\n return powf_lut(x, y);\\n } else {\\n // based on: jdh8/metallic/src/math/float/powf.c\\n if (y == 0) return 1;\\n // @ts-ignore: cast\\n if (isNaN(x) | isNaN(y)) {\\n return NaN;\\n }\\n let sign: u32 = 0;\\n let uy = reinterpret(y);\\n let ux = reinterpret(x);\\n let sx = ux >> 31;\\n ux &= 0x7FFFFFFF;\\n if (sx && nearest(y) == y) {\\n x = -x;\\n sx = 0;\\n sign = u32(nearest(y * 0.5) != y * 0.5) << 31;\\n }\\n let m: u32;\\n if (ux == 0x3F800000) { // x == 1\\n m = sx | u32((uy & 0x7FFFFFFF) == 0x7F800000) ? 0x7FC00000 : 0x3F800000;\\n } else if (ux == 0) {\\n m = uy < 0 ? 0x7F800000 : 0;\\n } else if (ux == 0x7F800000) {\\n m = uy < 0 ? 0 : 0x7F800000;\\n } else if (sx) {\\n m = 0x7FC00000;\\n } else {\\n m = reinterpret(exp2f(y * log2f(x)));\\n }\\n return reinterpret(m | sign);\\n }\\n }\\n\\n // @ts-ignore: decorator\\n @inline\\n export function seedRandom(value: i64): void {\\n NativeMath.seedRandom(value);\\n }\\n\\n // Using xoroshiro64starstar from http://xoshiro.di.unimi.it/xoroshiro64starstar.c\\n export function random(): f32 {\\n if (!random_seeded) seedRandom(reinterpret(seed()));\\n\\n let s0 = random_state0_32;\\n let s1 = random_state1_32;\\n let r = rotl(s0 * 0x9E3779BB, 5) * 5;\\n\\n s1 ^= s0;\\n random_state0_32 = rotl(s0, 26) ^ s1 ^ (s1 << 9);\\n random_state1_32 = rotl(s1, 13);\\n\\n return reinterpret((r >> 9) | (127 << 23)) - 1.0;\\n }\\n\\n export function round(x: f32): f32 {\\n if (ASC_SHRINK_LEVEL > 0) {\\n return builtin_ceil(x) - f32(builtin_ceil(x) - 0.5 > x);\\n } else {\\n let roundUp = builtin_ceil(x);\\n return select(roundUp, roundUp - 1.0, roundUp - 0.5 <= x);\\n }\\n }\\n\\n export function sign(x: f32): f32 {\\n if (ASC_SHRINK_LEVEL > 0) {\\n return select(builtin_copysign(1, x), x, builtin_abs(x) > 0);\\n } else {\\n return select(1, select(-1, x, x < 0), x > 0);\\n }\\n }\\n\\n // @ts-ignore: decorator\\n @inline\\n export function signbit(x: f32): bool {\\n return (reinterpret(x) >>> 31);\\n }\\n\\n export function sin(x: f32): f32 { // see: musl/src/math/sinf.c\\n const\\n s1pio2 = reinterpret(0x3FF921FB54442D18), // M_PI_2 * 1\\n s2pio2 = reinterpret(0x400921FB54442D18), // M_PI_2 * 2\\n s3pio2 = reinterpret(0x4012D97C7F3321D2), // M_PI_2 * 3\\n s4pio2 = reinterpret(0x401921FB54442D18); // M_PI_2 * 4\\n\\n let ux = reinterpret(x);\\n let sign = ux >> 31;\\n ux &= 0x7FFFFFFF;\\n\\n if (ux <= 0x3F490FDA) { // |x| ~<= \u03C0/4\\n if (ux < 0x39800000) { // |x| < 2**-12\\n return x;\\n }\\n return sin_kernf(x);\\n }\\n\\n if (ASC_SHRINK_LEVEL < 1) {\\n if (ux <= 0x407B53D1) { // |x| ~<= 5\u03C0/4\\n if (ux <= 0x4016CBE3) { // |x| ~<= 3\u03C0/4\\n return sign ? -cos_kernf(x + s1pio2) : cos_kernf(x - s1pio2);\\n }\\n return sin_kernf(-(sign ? x + s2pio2 : x - s2pio2));\\n }\\n\\n if (ux <= 0x40E231D5) { // |x| ~<= 9\u03C0/4\\n if (ux <= 0x40AFEDDF) { // |x| ~<= 7\u03C0/4\\n return sign ? cos_kernf(x + s3pio2) : -cos_kernf(x - s3pio2);\\n }\\n return sin_kernf(sign ? x + s4pio2 : x - s4pio2);\\n }\\n }\\n\\n // sin(Inf or NaN) is NaN\\n if (ux >= 0x7F800000) return x - x;\\n\\n let n = rempio2f(x, ux, sign);\\n let y = rempio2f_y;\\n\\n let t = n & 1 ? cos_kernf(y) : sin_kernf(y);\\n return n & 2 ? -t : t;\\n }\\n\\n export function sinh(x: f32): f32 { // see: musl/src/math/sinhf.c\\n let u = reinterpret(x) & 0x7FFFFFFF;\\n let a = reinterpret(u);\\n let h = builtin_copysign(0.5, x);\\n if (u < 0x42B17217) {\\n let t = expm1(a);\\n if (u < 0x3F800000) {\\n if (u < 0x3F800000 - (12 << 23)) return x;\\n return h * (2 * t - t * t / (t + 1));\\n }\\n return h * (t + t / (t + 1));\\n }\\n return expo2f(a, 2 * h);\\n }\\n\\n // @ts-ignore: decorator\\n @inline\\n export function sqrt(x: f32): f32 {\\n return builtin_sqrt(x);\\n }\\n\\n export function tan(x: f32): f32 { // see: musl/src/math/tanf.c\\n const\\n t1pio2 = reinterpret(0x3FF921FB54442D18), // 1 * M_PI_2\\n t2pio2 = reinterpret(0x400921FB54442D18), // 2 * M_PI_2\\n t3pio2 = reinterpret(0x4012D97C7F3321D2), // 3 * M_PI_2\\n t4pio2 = reinterpret(0x401921FB54442D18); // 4 * M_PI_2\\n\\n let ux = reinterpret(x);\\n let sign = ux >> 31;\\n ux &= 0x7FFFFFFF;\\n\\n if (ux <= 0x3F490FDA) { // |x| ~<= \u03C0/4\\n if (ux < 0x39800000) { // |x| < 2**-12\\n return x;\\n }\\n return tan_kernf(x, 0);\\n }\\n\\n if (ASC_SHRINK_LEVEL < 1) {\\n if (ux <= 0x407B53D1) { // |x| ~<= 5\u03C0/4\\n if (ux <= 0x4016CBE3) { // |x| ~<= 3\u03C0/4\\n return tan_kernf((sign ? x + t1pio2 : x - t1pio2), 1);\\n } else {\\n return tan_kernf((sign ? x + t2pio2 : x - t2pio2), 0);\\n }\\n }\\n if (ux <= 0x40E231D5) { // |x| ~<= 9\u03C0/4\\n if (ux <= 0x40AFEDDF) { // |x| ~<= 7\u03C0/4\\n return tan_kernf((sign ? x + t3pio2 : x - t3pio2), 1);\\n } else {\\n return tan_kernf((sign ? x + t4pio2 : x - t4pio2), 0);\\n }\\n }\\n }\\n\\n // tan(Inf or NaN) is NaN\\n if (ux >= 0x7F800000) return x - x;\\n\\n // argument reduction\\n let n = rempio2f(x, ux, sign);\\n let y = rempio2f_y;\\n return tan_kernf(y, n & 1);\\n }\\n\\n export function tanh(x: f32): f32 { // see: musl/src/math/tanhf.c\\n let u = reinterpret(x);\\n u &= 0x7FFFFFFF;\\n let y = reinterpret(u);\\n let t: f32;\\n if (u > 0x3F0C9F54) {\\n if (u > 0x41200000) t = 1 + 0 / y;\\n else {\\n t = expm1(2 * y);\\n t = 1 - 2 / (t + 2);\\n }\\n } else if (u > 0x3E82C578) {\\n t = expm1(2 * y);\\n t = t / (t + 2);\\n } else if (u >= 0x00800000) {\\n t = expm1(-2 * y);\\n t = -t / (t + 2);\\n } else t = y;\\n return builtin_copysign(t, x);\\n }\\n\\n // @ts-ignore: decorator\\n @inline\\n export function trunc(x: f32): f32 {\\n return builtin_trunc(x);\\n }\\n\\n export function scalbn(x: f32, n: i32): f32 { // see: https://git.musl-libc.org/cgit/musl/tree/src/math/scalbnf.c\\n const\\n Ox1p24f = reinterpret(0x4B800000),\\n Ox1p127f = reinterpret(0x7F000000),\\n Ox1p_126f = reinterpret(0x00800000);\\n\\n let y = x;\\n if (n > 127) {\\n y *= Ox1p127f;\\n n -= 127;\\n if (n > 127) {\\n y *= Ox1p127f;\\n n = builtin_min(n - 127, 127);\\n }\\n } else if (n < -126) {\\n y *= Ox1p_126f * Ox1p24f;\\n n += 126 - 24;\\n if (n < -126) {\\n y *= Ox1p_126f * Ox1p24f;\\n n = builtin_max(n + 126 - 24, -126);\\n }\\n }\\n return y * reinterpret((0x7F + n) << 23);\\n }\\n\\n export function mod(x: f32, y: f32): f32 { // see: musl/src/math/fmodf.c\\n if (builtin_abs(y) == 1.0) {\\n // x % 1, x % -1 ==> sign(x) * abs(x - 1.0 * trunc(x / 1.0))\\n // TODO: move this rule to compiler's optimization pass.\\n // It could be apply for any x % C_pot, where \\\"C_pot\\\" is pow of two const.\\n return builtin_copysign(x - builtin_trunc(x), x);\\n }\\n let ux = reinterpret(x);\\n let uy = reinterpret(y);\\n let ex = i32(ux >> 23 & 0xFF);\\n let ey = i32(uy >> 23 & 0xFF);\\n let sm = ux & 0x80000000;\\n let uy1 = uy << 1;\\n if (uy1 == 0 || ex == 0xFF || isNaN(y)) {\\n let m = x * y;\\n return m / m;\\n }\\n let ux1 = ux << 1;\\n if (ux1 <= uy1) {\\n return x * f32(ux1 != uy1);\\n }\\n if (!ex) {\\n ex -= builtin_clz(ux << 9);\\n ux <<= 1 - ex;\\n } else {\\n ux &= -1 >> 9;\\n ux |= 1 << 23;\\n }\\n if (!ey) {\\n ey -= builtin_clz(uy << 9);\\n uy <<= 1 - ey;\\n } else {\\n uy &= u32(-1) >> 9;\\n uy |= 1 << 23;\\n }\\n while (ex > ey) {\\n if (ux >= uy) {\\n if (ux == uy) return 0 * x;\\n ux -= uy;\\n }\\n ux <<= 1;\\n --ex;\\n }\\n if (ux >= uy) {\\n if (ux == uy) return 0 * x;\\n ux -= uy;\\n }\\n // for (; !(ux >> 23); ux <<= 1) --ex;\\n let shift = builtin_clz(ux << 8);\\n ex -= shift;\\n ux <<= shift;\\n if (ex > 0) {\\n ux -= 1 << 23;\\n ux |= ex << 23;\\n } else {\\n ux >>= -ex + 1;\\n }\\n return reinterpret(ux | sm);\\n }\\n\\n export function rem(x: f32, y: f32): f32 { // see: musl/src/math/remquof.c\\n let ux = reinterpret(x);\\n let uy = reinterpret(y);\\n let ex = i32(ux >> 23 & 0xFF);\\n let ey = i32(uy >> 23 & 0xFF);\\n let uxi = ux;\\n if (uy << 1 == 0 || ex == 0xFF || isNaN(y)) return (x * y) / (x * y);\\n if (ux << 1 == 0) return x;\\n if (!ex) {\\n ex -= builtin_clz(uxi << 9);\\n uxi <<= 1 - ex;\\n } else {\\n uxi &= u32(-1) >> 9;\\n uxi |= 1 << 23;\\n }\\n if (!ey) {\\n ey -= builtin_clz(uy << 9);\\n uy <<= 1 - ey;\\n } else {\\n uy &= u32(-1) >> 9;\\n uy |= 1 << 23;\\n }\\n let q = 0;\\n do {\\n if (ex < ey) {\\n if (ex + 1 == ey) break; // goto end\\n return x;\\n }\\n while (ex > ey) {\\n if (uxi >= uy) {\\n uxi -= uy;\\n ++q;\\n }\\n uxi <<= 1;\\n q <<= 1;\\n --ex;\\n }\\n if (uxi >= uy) {\\n uxi -= uy;\\n ++q;\\n }\\n if (uxi == 0) ex = -30;\\n else {\\n let shift = builtin_clz(uxi << 8);\\n ex -= shift;\\n uxi <<= shift;\\n }\\n break;\\n } while (false);\\n // end:\\n if (ex > 0) {\\n uxi -= 1 << 23;\\n uxi |= ex << 23;\\n } else {\\n uxi >>= -ex + 1;\\n }\\n x = reinterpret(uxi);\\n y = builtin_abs(y);\\n let x2 = x + x;\\n if (ex == ey || (ex + 1 == ey && (x2 > y || (x2 == y && bool(q & 1))))) {\\n x -= y;\\n // q++;\\n }\\n return ux < 0 ? -x : x;\\n }\\n\\n export function sincos(x: f32): void { // see: musl/tree/src/math/sincosf.c\\n const\\n s1pio2 = reinterpret(0x3FF921FB54442D18), // 1 * M_PI_2\\n s2pio2 = reinterpret(0x400921FB54442D18), // 2 * M_PI_2\\n s3pio2 = reinterpret(0x4012D97C7F3321D2), // 3 * M_PI_2\\n s4pio2 = reinterpret(0x401921FB54442D18); // 4 * M_PI_2\\n\\n let ux = reinterpret(x);\\n let sign = ux >> 31;\\n ux &= 0x7FFFFFFF;\\n\\n if (ux <= 0x3F490FDA) { // |x| ~<= \u03C0/4\\n if (ux < 0x39800000) { // |x| < 2**-12\\n sincos_sin = x;\\n sincos_cos = 1;\\n return;\\n }\\n sincos_sin = sin_kernf(x);\\n sincos_cos = cos_kernf(x);\\n return;\\n }\\n if (ASC_SHRINK_LEVEL < 1) {\\n if (ux <= 0x407B53D1) { // |x| ~<= 5\u03C0/4\\n if (ux <= 0x4016CBE3) { // |x| ~<= 3\u03C0/4\\n if (sign) {\\n sincos_sin = -cos_kernf(x + s1pio2);\\n sincos_cos = sin_kernf(x + s1pio2);\\n } else {\\n sincos_sin = cos_kernf(s1pio2 - x);\\n sincos_cos = sin_kernf(s1pio2 - x);\\n }\\n return;\\n }\\n // -sin(x + c) is not correct if x+c could be 0: -0 vs +0\\n sincos_sin = -sin_kernf(sign ? x + s2pio2 : x - s2pio2);\\n sincos_cos = -cos_kernf(sign ? x + s2pio2 : x - s2pio2);\\n return;\\n }\\n if (ux <= 0x40E231D5) { // |x| ~<= 9\u03C0/4\\n if (ux <= 0x40AFEDDF) { // |x| ~<= 7\u03C0/4\\n if (sign) {\\n sincos_sin = cos_kernf(x + s3pio2);\\n sincos_cos = -sin_kernf(x + s3pio2);\\n } else {\\n sincos_sin = -cos_kernf(x - s3pio2);\\n sincos_cos = sin_kernf(x - s3pio2);\\n }\\n return;\\n }\\n sincos_sin = sin_kernf(sign ? x + s4pio2 : x - s4pio2);\\n sincos_cos = cos_kernf(sign ? x + s4pio2 : x - s4pio2);\\n return;\\n }\\n }\\n // sin(Inf or NaN) is NaN\\n if (ux >= 0x7F800000) {\\n let xx = x - x;\\n sincos_sin = xx;\\n sincos_cos = xx;\\n return;\\n }\\n // general argument reduction needed\\n let n = rempio2f(x, ux, sign);\\n let y = rempio2f_y;\\n let s = sin_kernf(y);\\n let c = cos_kernf(y);\\n let sin = s, cos = c;\\n if (n & 1) {\\n sin = c;\\n cos = -s;\\n }\\n if (n & 2) {\\n sin = -sin;\\n cos = -cos;\\n }\\n sincos_sin = sin;\\n sincos_cos = cos;\\n }\\n}\\n\\nexport function ipow32(x: i32, e: i32): i32 {\\n let out = 1;\\n if (ASC_SHRINK_LEVEL < 1) {\\n if (x == 2) {\\n return select(1 << e, 0, e < 32);\\n }\\n if (e <= 0) {\\n if (x == -1) return select(-1, 1, e & 1);\\n return i32(e == 0) | i32(x == 1);\\n }\\n else if (e == 1) return x;\\n else if (e == 2) return x * x;\\n else if (e < 32) {\\n let log = 32 - clz(e);\\n // 32 = 2 ^ 5, so need only five cases.\\n // But some extra cases needs for properly overflowing\\n switch (log) {\\n case 5: {\\n if (e & 1) out *= x;\\n e >>>= 1;\\n x *= x;\\n }\\n case 4: {\\n if (e & 1) out *= x;\\n e >>>= 1;\\n x *= x;\\n }\\n case 3: {\\n if (e & 1) out *= x;\\n e >>>= 1;\\n x *= x;\\n }\\n case 2: {\\n if (e & 1) out *= x;\\n e >>>= 1;\\n x *= x;\\n }\\n case 1: {\\n if (e & 1) out *= x;\\n }\\n }\\n return out;\\n }\\n }\\n while (e) {\\n if (e & 1) out *= x;\\n e >>>= 1;\\n x *= x;\\n }\\n return out;\\n}\\n\\nexport function ipow64(x: i64, e: i64): i64 {\\n let out: i64 = 1;\\n if (ASC_SHRINK_LEVEL < 1) {\\n if (x == 2) {\\n return select(1 << e, 0, e < 64);\\n }\\n if (e <= 0) {\\n if (x == -1) return select(-1, 1, e & 1);\\n return i64(e == 0) | i64(x == 1);\\n }\\n else if (e == 1) return x;\\n else if (e == 2) return x * x;\\n else if (e < 64) {\\n let log = 64 - clz(e);\\n // 64 = 2 ^ 6, so need only six cases.\\n // But some extra cases needs for properly overflowing\\n switch (log) {\\n case 6: {\\n if (e & 1) out *= x;\\n e >>>= 1;\\n x *= x;\\n }\\n case 5: {\\n if (e & 1) out *= x;\\n e >>>= 1;\\n x *= x;\\n }\\n case 4: {\\n if (e & 1) out *= x;\\n e >>>= 1;\\n x *= x;\\n }\\n case 3: {\\n if (e & 1) out *= x;\\n e >>>= 1;\\n x *= x;\\n }\\n case 2: {\\n if (e & 1) out *= x;\\n e >>>= 1;\\n x *= x;\\n }\\n case 1: {\\n if (e & 1) out *= x;\\n }\\n }\\n return out;\\n }\\n }\\n while (e) {\\n if (e & 1) out *= x;\\n e >>>= 1;\\n x *= x;\\n }\\n return out;\\n}\\n\\n/*\\nTODO:\\nIn compile time if only exponent is constant we could replace ipow32/ipow64 by shortest addition chains\\nwhich usually faster than exponentiation by squaring\\n\\nfor ipow32 and e < 32:\\n\\nlet b: i32, c: i32, d: i32, h: i32, k: i32, g: i32;\\nswitch (e) {\\n case 1: return x;\\n case 2: return x * x;\\n case 3: return x * x * x;\\n case 4: return (b = x * x) * b;\\n case 5: return (b = x * x) * b * x;\\n case 6: return (b = x * x) * b * b;\\n case 7: return (b = x * x) * b * b * x;\\n case 8: return (d = (b = x * x) * b) * d;\\n case 9: return (c = x * x * x) * c * c;\\n case 10: return (d = (b = x * x) * b) * d * b;\\n case 11: return (d = (b = x * x) * b) * d * b * x;\\n case 12: return (d = (b = x * x) * b) * d * d;\\n case 13: return (d = (b = x * x) * b) * d * d * x;\\n case 14: return (d = (b = x * x) * b) * d * d * b;\\n case 15: return (k = (b = x * x) * b * x) * k * k;\\n case 16: return (h = (d = (b = x * x) * b) * d) * h;\\n case 17: return (h = (d = (b = x * x) * b) * d) * h * x;\\n case 18: return (h = (d = (b = x * x) * b) * d * x) * h;\\n case 19: return (h = (d = (b = x * x) * b) * d * x) * h * x;\\n case 20: return (h = (k = (b = x * x) * b * x) * k) * h;\\n case 21: return (h = (k = (b = x * x) * b * x) * k) * h * x;\\n case 22: return (g = (h = (k = (b = x * x) * b * x) * k) * x) * g;\\n case 23: return (h = (d = (c = (b = x * x) * x) * b) * d) * h * c;\\n case 24: return (h = (d = (c = x * x * x) * c) * d) * h;\\n case 25: return (h = (d = (c = x * x * x) * c) * d) * h * x;\\n case 26: return (g = (h = (d = (c = x * x * x) * c) * d) * x) * g;\\n case 27: return (h = (d = (c = x * x * x) * c) * d) * h * c;\\n case 28: return (h = (d = (c = x * x * x) * c * x) * d) * h;\\n case 29: return (h = (d = (c = x * x * x) * c * x) * d) * h * x;\\n case 30: return (h = (d = (c = x * x * x) * c) * d * c) * h;\\n case 31: return (h = (d = (c = x * x * x) * c) * d * c) * h * x;\\n}\\n\\nfor ipow64: TODO\\nswitch (e) {\\n case 32:\\n ...\\n case 63:\\n}\\n*/\\n\",\n \"memory\": \"import { memcmp, memmove, memset } from \\\"./util/memory\\\";\\nimport { E_NOTIMPLEMENTED } from \\\"./util/error\\\";\\n\\n/** Memory manager interface. */\\nexport namespace memory {\\n\\n /** Gets the size of the memory in pages. */\\n // @ts-ignore: decorator\\n @builtin\\n export declare function size(): i32;\\n\\n /** Grows the memory by the given size in pages and returns the previous size in pages. */\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function grow(pages: i32): i32;\\n\\n /** Fills a section in memory with the specified byte value. */\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export function fill(dst: usize, c: u8, n: usize): void {\\n memset(dst, c, n); // fallback if \\\"bulk-memory\\\" isn't enabled\\n }\\n\\n /** Copies a section of memory to another. Has move semantics. */\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export function copy(dst: usize, src: usize, n: usize): void {\\n memmove(dst, src, n); // fallback if \\\"bulk-memory\\\" isn't enabled\\n }\\n\\n export namespace atomic {\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function wait32(ptr: usize, expected: i32, timeout: i64): AtomicWaitResult;\\n\\n // @ts-ignore: decorator\\n @unsafe @builtin\\n export declare function wait64(ptr: usize, expected: i64, timeout: i64): AtomicWaitResult;\\n }\\n\\n /** Initializes a memory segment. */\\n // @ts-ignore: decorator\\n @unsafe\\n export function init(segmentIndex: u32, srcOffset: usize, dstOffset: usize, n: usize): void {\\n throw new Error(E_NOTIMPLEMENTED);\\n }\\n\\n /** Drops a memory segment. */\\n // @ts-ignore: decorator\\n @unsafe\\n export function drop(segmentIndex: u32): void {\\n throw new Error(E_NOTIMPLEMENTED);\\n }\\n\\n /** Repeats a section of memory at a specific address. */\\n // @ts-ignore: decorator\\n @unsafe\\n export function repeat(dst: usize, src: usize, srcLength: usize, count: usize): void {\\n let index: usize = 0;\\n let total = srcLength * count;\\n while (index < total) {\\n memory.copy(dst + index, src, srcLength);\\n index += srcLength;\\n }\\n }\\n\\n /** Compares a section of memory to another. */\\n // @ts-ignore: decorator\\n @inline\\n export function compare(vl: usize, vr: usize, n: usize): i32 {\\n return memcmp(vl, vr, n);\\n }\\n\\n /** Gets a pointer to a static chunk of memory of the given size. */\\n // @ts-ignore: decorator\\n @builtin\\n export declare function data(size: T, align?: i32): usize;\\n}\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare const __data_end: usize;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare let __stack_pointer: usize;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare const __heap_base: usize;\\n\\n/** Heap memory interface. */\\nexport namespace heap {\\n\\n /** Allocates a chunk of memory of at least the specified size. */\\n // @ts-ignore: decorator\\n @unsafe export function alloc(size: usize): usize {\\n return __alloc(size);\\n }\\n\\n /** Reallocates a chunk of memory to have at least the specified size. */\\n // @ts-ignore: decorator\\n @unsafe export function realloc(ptr: usize, size: usize): usize {\\n return __realloc(ptr, size);\\n }\\n\\n /** Frees a chunk of memory. Does hardly anything (most recent block only) with the stub runtime. */\\n // @ts-ignore: decorator\\n @unsafe export function free(ptr: usize): void {\\n __free(ptr);\\n }\\n\\n /** Dangerously resets the entire heap. Specific to the stub runtime. */\\n // @ts-ignore: decorator\\n @unsafe export function reset(): void {\\n if (isDefined(__reset)) {\\n __reset();\\n } else {\\n throw new Error(E_NOTIMPLEMENTED);\\n }\\n }\\n}\\n\",\n \"number\": \"import { itoa32, utoa32, itoa64, utoa64, dtoa } from \\\"./util/number\\\";\\nimport { strtol, strtod } from \\\"./util/string\\\";\\n\\n// @ts-ignore: decorator\\n@builtin @inline\\nexport const NaN: f64 = 0 / 0; // context-aware\\n\\n// @ts-ignore: decorator\\n@builtin @inline\\nexport const Infinity: f64 = 1 / 0; // context-aware\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function isNaN(value: T): bool;\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare function isFinite(value: T): bool;\\n\\n@final @unmanaged\\nexport abstract class I8 {\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly MIN_VALUE: i8 = i8.MIN_VALUE;\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly MAX_VALUE: i8 = i8.MAX_VALUE;\\n\\n /** @deprecated */\\n static parseInt(value: string, radix: i32 = 0): i8 {\\n return strtol(value, radix);\\n }\\n\\n toString(this: i8, radix: i32 = 10): String {\\n return itoa32(this, radix);\\n }\\n}\\n\\n@final @unmanaged\\nexport abstract class I16 {\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly MIN_VALUE: i16 = i16.MIN_VALUE;\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly MAX_VALUE: i16 = i16.MAX_VALUE;\\n\\n /** @deprecated */\\n static parseInt(value: string, radix: i32 = 0): i16 {\\n return strtol(value, radix);\\n }\\n\\n toString(this: i16, radix: i32 = 10): String {\\n return itoa32(this, radix);\\n }\\n}\\n\\n@final @unmanaged\\nexport abstract class I32 {\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly MIN_VALUE: i32 = i32.MIN_VALUE;\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly MAX_VALUE: i32 = i32.MAX_VALUE;\\n\\n /** @deprecated */\\n static parseInt(value: string, radix: i32 = 0): i32 {\\n return strtol(value, radix);\\n }\\n\\n toString(this: i32, radix: i32 = 10): String {\\n return itoa32(this, radix);\\n }\\n}\\n\\n@final @unmanaged\\nexport abstract class I64 {\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly MIN_VALUE: i64 = i64.MIN_VALUE;\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly MAX_VALUE: i64 = i64.MAX_VALUE;\\n\\n /** @deprecated */\\n static parseInt(value: string, radix: i32 = 0): i64 {\\n return strtol(value, radix);\\n }\\n\\n toString(this: i64, radix: i32 = 10): String {\\n return itoa64(this, radix);\\n }\\n}\\n\\n@final @unmanaged\\nexport abstract class Isize {\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly MIN_VALUE: isize = isize.MIN_VALUE;\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly MAX_VALUE: isize = isize.MAX_VALUE;\\n\\n /** @deprecated */\\n static parseInt(value: string, radix: i32 = 0): isize {\\n return strtol(value, radix);\\n }\\n\\n toString(this: isize, radix: i32 = 10): String {\\n if (sizeof() == 4) {\\n return itoa32(this, radix);\\n } else {\\n return itoa64(this, radix);\\n }\\n }\\n}\\n\\n@final @unmanaged\\nexport abstract class U8 {\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly MIN_VALUE: u8 = u8.MIN_VALUE;\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly MAX_VALUE: u8 = u8.MAX_VALUE;\\n\\n /** @deprecated */\\n static parseInt(value: string, radix: i32 = 0): u8 {\\n return strtol(value, radix);\\n }\\n\\n toString(this: u8, radix: i32 = 10): String {\\n return utoa32(this, radix);\\n }\\n}\\n\\n@final @unmanaged\\nexport abstract class U16 {\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly MIN_VALUE: u16 = u16.MIN_VALUE;\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly MAX_VALUE: u16 = u16.MAX_VALUE;\\n\\n /** @deprecated */\\n static parseInt(value: string, radix: i32 = 0): u16 {\\n return strtol(value, radix);\\n }\\n\\n toString(this: u16, radix: i32 = 10): String {\\n return utoa32(this, radix);\\n }\\n}\\n\\n@final @unmanaged\\nexport abstract class U32 {\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly MIN_VALUE: u32 = u32.MIN_VALUE;\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly MAX_VALUE: u32 = u32.MAX_VALUE;\\n\\n /** @deprecated */\\n static parseInt(value: string, radix: i32 = 0): u32 {\\n return strtol(value, radix);\\n }\\n\\n toString(this: u32, radix: i32 = 10): String {\\n return utoa32(this, radix);\\n }\\n}\\n\\n@final @unmanaged\\nexport abstract class U64 {\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly MIN_VALUE: u64 = u64.MIN_VALUE;\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly MAX_VALUE: u64 = u64.MAX_VALUE;\\n\\n /** @deprecated */\\n static parseInt(value: string, radix: i32 = 0): u64 {\\n return strtol(value, radix);\\n }\\n\\n toString(this: u64, radix: i32 = 10): String {\\n return utoa64(this, radix);\\n }\\n}\\n\\n@final @unmanaged\\nexport abstract class Usize {\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly MIN_VALUE: usize = usize.MIN_VALUE;\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly MAX_VALUE: usize = usize.MAX_VALUE;\\n\\n /** @deprecated */\\n static parseInt(value: string, radix: i32 = 0): usize {\\n return strtol(value, radix);\\n }\\n\\n toString(this: usize, radix: i32 = 10): String {\\n if (sizeof() == 4) {\\n return utoa32(this, radix);\\n } else {\\n return utoa64(this, radix);\\n }\\n }\\n}\\n\\n@final @unmanaged\\nexport abstract class Bool {\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly MIN_VALUE: bool = bool.MIN_VALUE;\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly MAX_VALUE: bool = bool.MAX_VALUE;\\n\\n toString(this: bool, radix: i32 = 0): String {\\n return this ? \\\"true\\\" : \\\"false\\\";\\n }\\n}\\n\\nexport { Bool as Boolean };\\n\\n@final @unmanaged\\nexport abstract class F32 {\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly EPSILON: f32 = f32.EPSILON;\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly MIN_VALUE: f32 = f32.MIN_VALUE;\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly MAX_VALUE: f32 = f32.MAX_VALUE;\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly MIN_SAFE_INTEGER: f32 = f32.MIN_SAFE_INTEGER;\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly MAX_SAFE_INTEGER: f32 = f32.MAX_SAFE_INTEGER;\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly POSITIVE_INFINITY: f32 = f32.POSITIVE_INFINITY;\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly NEGATIVE_INFINITY: f32 = f32.NEGATIVE_INFINITY;\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly NaN: f32 = f32.NaN;\\n\\n static isNaN(value: f32): bool {\\n return isNaN(value);\\n }\\n\\n static isFinite(value: f32): bool {\\n return isFinite(value);\\n }\\n\\n static isSafeInteger(value: f32): bool {\\n return abs(value) <= f32.MAX_SAFE_INTEGER && trunc(value) == value;\\n }\\n\\n static isInteger(value: f32): bool {\\n return isFinite(value) && trunc(value) == value;\\n }\\n\\n /** @deprecated */\\n static parseInt(value: string, radix: i32 = 0): f32 {\\n return strtol(value, radix);\\n }\\n\\n /** @deprecated */\\n static parseFloat(value: string): f32 {\\n return strtod(value);\\n }\\n\\n toString(this: f32, radix: i32 = 0): String {\\n return dtoa(this);\\n }\\n}\\n\\n@final @unmanaged\\nexport abstract class F64 {\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly EPSILON: f64 = f64.EPSILON;\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly MIN_VALUE: f64 = f64.MIN_VALUE;\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly MAX_VALUE: f64 = f64.MAX_VALUE;\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly MIN_SAFE_INTEGER: f64 = f64.MIN_SAFE_INTEGER;\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly MAX_SAFE_INTEGER: f64 = f64.MAX_SAFE_INTEGER;\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly POSITIVE_INFINITY: f64 = f64.POSITIVE_INFINITY;\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly NEGATIVE_INFINITY: f64 = f64.NEGATIVE_INFINITY;\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly NaN: f64 = f64.NaN;\\n\\n static isNaN(value: f64): bool {\\n return isNaN(value);\\n }\\n\\n static isFinite(value: f64): bool {\\n return isFinite(value);\\n }\\n\\n static isSafeInteger(value: f64): bool {\\n return abs(value) <= f64.MAX_SAFE_INTEGER && trunc(value) == value;\\n }\\n\\n static isInteger(value: f64): bool {\\n return isFinite(value) && trunc(value) == value;\\n }\\n\\n /** @deprecated */\\n static parseInt(value: string, radix: i32 = 0): f64 {\\n return strtol(value, radix);\\n }\\n\\n /** @deprecated */\\n static parseFloat(value: string): f64 {\\n return strtod(value);\\n }\\n\\n toString(this: f64, radix: i32 = 0): String {\\n return dtoa(this);\\n }\\n}\\n\\nexport { F64 as Number };\\n\",\n \"object\": \"export abstract class Object {\\n static is(x: T, y: T): bool {\\n if (isFloat()) {\\n // Float pointing is special we shoulr presere following identities:\\n // 0.0 !=-0.0\\n // NaN == NaN\\n if (sizeof() == 8) {\\n return (\\n bool(u32(x != x) & u32(y != y) |\\n u32(reinterpret(f64(x)) == reinterpret(f64(y))))\\n );\\n } else {\\n return (\\n bool(u32(x != x) & u32(y != y) |\\n u32(reinterpret(f32(x)) == reinterpret(f32(y))))\\n );\\n }\\n }\\n // For references, strings, integers and booleans\\n return x == y;\\n }\\n\\n // TODO: Wrapper classes like `Function` override the `this` type of\\n // `toString`, which is covariant and hence fails to overload. Wrapper classes\\n // might need a different mechanism to indicate such special `this` types.\\n // toString(): string {\\n // return \\\"[object Object]\\\";\\n // }\\n}\\n\\n// TODO: The types `Object` and `object` differ in TypeScript, in that the\\n// latter indicates any non-primitive type, not including `string` for example.\\n// The `object` type hence remains reserved for now, also to potentially address\\n// the above `toString` TODO in alternative ways.\\n// @ts-ignore: nolib\\n// export type object = Object;\\n\",\n \"performance\": \"import {\\n performance as performance_binding\\n} from \\\"bindings/dom\\\";\\n\\nexport namespace performance {\\n export function now(): f64 {\\n return performance_binding.now();\\n }\\n}\\n\",\n \"polyfills\": \"export function bswap(value: T): T {\\n if (isInteger()) {\\n if (sizeof() == 1) {\\n return value;\\n }\\n if (sizeof() == 2) {\\n return (value << 8 | (value >> 8));\\n }\\n if (sizeof() == 4) {\\n return (\\n rotl(value & 0xFF00FF00, 8) |\\n rotr(value & 0x00FF00FF, 8)\\n );\\n }\\n if (sizeof() == 8) {\\n let a = (value >> 8) & 0x00FF00FF00FF00FF;\\n let b = (value & 0x00FF00FF00FF00FF) << 8;\\n let v = a | b;\\n\\n a = (v >>> 16) & 0x0000FFFF0000FFFF;\\n b = (v & 0x0000FFFF0000FFFF) << 16;\\n\\n return rotr(a | b, 32);\\n }\\n }\\n ERROR(\\\"Unsupported generic type\\\");\\n}\\n\",\n \"process\": \"import {\\n Date as Date_binding,\\n performance as performance_binding\\n} from \\\"bindings/dom\\\";\\n\\nimport {\\n process as process_binding\\n} from \\\"bindings/node\\\";\\n\\nexport namespace process {\\n\\n // @ts-ignore: decorator\\n @lazy export const arch = sizeof() == 4 ? \\\"wasm32\\\" : \\\"wasm64\\\";\\n\\n // @ts-ignore: decorator\\n @lazy export const platform = \\\"wasm\\\";\\n\\n // @ts-ignore: decorator\\n @lazy export const argv = lazyArgv();\\n\\n // @ts-ignore: decorator\\n @lazy export const env = lazyEnv();\\n\\n // @ts-ignore: decorator\\n @lazy export let exitCode = 0;\\n\\n export function exit(code: i32 = exitCode): void {\\n process_binding.exit(code);\\n }\\n\\n export function time(): i64 {\\n return Date_binding.now();\\n }\\n\\n export function hrtime(): u64 {\\n let now = performance_binding.now();\\n let millis = now;\\n let fraction = now - millis;\\n return millis * 1000000 + (fraction * 1000000);\\n }\\n}\\n\\nfunction lazyArgv(): string[] {\\n return process_binding.argv;\\n}\\n\\nfunction lazyEnv(): Map {\\n // TODO: What about Node?\\n return new Map();\\n}\\n\",\n \"reference\": \"// Canonical aliases\\nexport type funcref = ref_func | null;\\nexport type externref = ref_extern | null;\\nexport type anyref = ref_any | null;\\nexport type eqref = ref_eq | null;\\nexport type i31ref = ref_i31 | null;\\nexport type structref = ref_struct | null;\\nexport type arrayref = ref_array | null;\\nexport type stringref = ref_string | null;\\nexport type stringview_wtf8 = ref_stringview_wtf8 | null;\\nexport type stringview_wtf16 = ref_stringview_wtf16 | null;\\nexport type stringview_iter = ref_stringview_iter | null;\\n\\n@unmanaged\\nabstract class Ref {\\n}\\n\\n@final @unmanaged\\nexport abstract class RefFunc extends Ref {\\n}\\n\\n@final @unmanaged\\nexport abstract class RefExtern extends Ref {\\n}\\n\\n@final @unmanaged\\nexport abstract class RefAny extends Ref {\\n}\\n\\n@final @unmanaged\\nexport abstract class RefEq extends Ref {\\n}\\n\\n@final @unmanaged\\nexport abstract class RefI31 extends Ref {\\n}\\n\\n@final @unmanaged\\nexport abstract class RefStruct extends Ref {\\n}\\n\\n@final @unmanaged\\nexport abstract class RefArray extends Ref {\\n}\\n\\n@final @unmanaged\\nexport abstract class RefString extends Ref {\\n}\\n\",\n \"regexp\": \"export class RegExp {\\n\\n // @binding(CALL_NEW, [ STRING, STRING], OBJECT_HANDLE)\\n constructor(pattern: string, flags: string = \\\"\\\") { throw new Error(\\\"unreachable\\\"); }\\n\\n // @binding(CALL_THIS, [ STRING ], PASS_THRU)\\n test(search: string): bool { throw new Error(\\\"unreachable\\\"); }\\n\\n // @binding(CALL_THIS, [], STRING)\\n toString(): string { throw new Error(\\\"unreachable\\\"); }\\n\\n}\\n\",\n \"rt\": \"import { Typeinfo, TypeinfoFlags } from \\\"./shared/typeinfo\\\";\\nimport { E_INDEXOUTOFRANGE } from \\\"./util/error\\\";\\nimport { ArrayBufferView } from \\\"./arraybuffer\\\";\\n\\n// @ts-ignore: decorator\\n@builtin\\nexport declare const __rtti_base: usize;\\n\\n// @ts-ignore: decorator\\n@builtin @unsafe\\nexport declare function __visit_globals(cookie: u32): void;\\n\\n// @ts-ignore: decorator\\n@builtin @unsafe\\nexport declare function __visit_members(ref: usize, cookie: u32): void;\\n\\n// @ts-ignore: decorator\\n@unsafe\\nexport function __typeinfo(id: u32): TypeinfoFlags {\\n let ptr = __rtti_base;\\n if (id > load(ptr)) throw new Error(E_INDEXOUTOFRANGE);\\n return changetype(ptr + sizeof() + id * offsetof()).flags;\\n}\\n\\n// @ts-ignore: decorator\\n@unsafe\\nexport function __newBuffer(size: usize, id: u32, data: usize = 0): usize {\\n let buffer = __new(size, id);\\n if (data) memory.copy(buffer, data, size);\\n return buffer;\\n}\\n\\n// @ts-ignore: decorator\\n@unsafe\\nexport function __newArray(length: i32, alignLog2: usize, id: u32, data: usize = 0): usize {\\n let bufferSize = length << alignLog2;\\n // make sure `buffer` is tracked by the shadow stack\\n let buffer = changetype(__newBuffer(bufferSize, idof(), data));\\n // ...since allocating the array may trigger GC steps\\n let array = __new(offsetof(), id);\\n store(array, changetype(buffer), offsetof(\\\"buffer\\\"));\\n __link(array, changetype(buffer), false);\\n store(array, changetype(buffer), offsetof(\\\"dataStart\\\"));\\n store(array, bufferSize, offsetof(\\\"byteLength\\\"));\\n store(array, length, offsetof(\\\"length_\\\"));\\n return array;\\n}\\n\\n// @ts-ignore: decorator\\n@global @unsafe\\nfunction __tostack(ptr: usize): usize { // eslint-disable-line\\n return ptr;\\n}\\n\\n// These are provided by the respective implementation, included as another entry file by asc:\\n\\n// // @ts-ignore: decorator\\n// @builtin @unsafe\\n// export declare function __alloc(size: usize): usize;\\n\\n// // @ts-ignore: decorator\\n// @builtin @unsafe\\n// export declare function __realloc(ptr: usize, size: usize): usize;\\n\\n// // @ts-ignore: decorator\\n// @builtin @unsafe\\n// export declare function __free(ptr: usize): void;\\n\\n// // @ts-ignore: decorator\\n// @builtin @unsafe\\n// export declare function __new(size: usize, id: u32): usize;\\n\\n// // @ts-ignore: decorator\\n// @builtin @unsafe\\n// export declare function __renew(ptr: usize, size: usize): usize;\\n\\n// // @ts-ignore: decorator\\n// @builtin @unsafe\\n// export declare function __link(parentPtr: usize, childPtr: usize, expectMultiple: bool): void;\\n\\n// // @ts-ignore: decorator\\n// @builtin @unsafe\\n// export declare function __collect(): void;\\n\\n// // @ts-ignore: decorator\\n// @builtin @unsafe\\n// export declare function __visit(ptr: usize, cookie: u32): void;\\n\",\n \"rt/common\": \"// Alignment guarantees\\n\\n// @ts-ignore: decorator\\n@inline export const AL_BITS: u32 = 4; // 16 bytes to fit up to v128\\n// @ts-ignore: decorator\\n@inline export const AL_SIZE: usize = 1 << AL_BITS;\\n// @ts-ignore: decorator\\n@inline export const AL_MASK: usize = AL_SIZE - 1;\\n\\n// Extra debugging\\n\\n// @ts-ignore: decorator\\n@inline export const DEBUG = true;\\n// @ts-ignore: decorator\\n@inline export const TRACE = false;\\n// @ts-ignore: decorator\\n@inline export const RTRACE = isDefined(ASC_RTRACE);\\n// @ts-ignore: decorator\\n@inline export const PROFILE = isDefined(ASC_PROFILE);\\n\\n// Memory manager\\n\\n// \u2552\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 Memory manager block layout (32-bit) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2555\\n// 3 2 1\\n// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 bits\\n// \u251C\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2524\\n// \u2502 MM info \u2502 -4\\n// \u255E>ptr\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2561\\n// \u2502 ... \u2502\\n@unmanaged export class BLOCK {\\n /** Memory manager info. */\\n mmInfo: usize;\\n}\\n\\n/** Overhead of a memory manager block. */\\n// @ts-ignore: decorator\\n@inline export const BLOCK_OVERHEAD: usize = offsetof();\\n\\n/** Maximum size of a memory manager block's payload. */\\n// @ts-ignore: decorator\\n@inline export const BLOCK_MAXSIZE: usize = (1 << 30) - BLOCK_OVERHEAD;\\n\\n// Garbage collector\\n\\n// \u2552\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 Garbage collector object layout (32-bit) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2555\\n// 3 2 1\\n// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 bits\\n// \u251C\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2524\\n// \u2502 Memory manager block \u2502 -20\\n// \u255E\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2561\\n// \u2502 GC info \u2502 -16\\n// \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524\\n// \u2502 GC info \u2502 -12\\n// \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524\\n// \u2502 RT id \u2502 -8\\n// \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524\\n// \u2502 RT size \u2502 -4\\n// \u255E>ptr\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2561\\n// \u2502 ... \u2502\\n@unmanaged export class OBJECT extends BLOCK {\\n /** Garbage collector info. */\\n gcInfo: u32;\\n /** Garbage collector info. */\\n gcInfo2: u32;\\n /** Runtime class id. */\\n rtId: u32;\\n /** Runtime object size. */\\n rtSize: u32;\\n}\\n\\n/** Overhead of a garbage collector object. Excludes memory manager block overhead. */\\n// @ts-ignore: decorator\\n@inline export const OBJECT_OVERHEAD: usize = (offsetof() - BLOCK_OVERHEAD + AL_MASK) & ~AL_MASK;\\n\\n/** Maximum size of a garbage collector object's payload. */\\n// @ts-ignore: decorator\\n@inline export const OBJECT_MAXSIZE: usize = BLOCK_MAXSIZE - OBJECT_OVERHEAD;\\n\\n/** Total of memory manager and garbage collector overhead. */\\n// @ts-ignore: decorator\\n@inline export const TOTAL_OVERHEAD: usize = BLOCK_OVERHEAD + OBJECT_OVERHEAD;\\n\",\n \"rt/index-incremental\": \"import \\\"rt/tlsf\\\";\\nimport \\\"rt/itcms\\\";\\n\",\n \"rt/index-minimal\": \"import \\\"rt/tlsf\\\";\\nimport \\\"rt/tcms\\\";\\n\",\n \"rt/index-stub\": \"import \\\"rt/stub\\\";\\n\",\n \"rt/itcms\": \"import { BLOCK, BLOCK_OVERHEAD, OBJECT_OVERHEAD, OBJECT_MAXSIZE, TOTAL_OVERHEAD, DEBUG, TRACE, RTRACE, PROFILE } from \\\"./common\\\";\\nimport { onvisit, oncollect, oninterrupt, onyield } from \\\"./rtrace\\\";\\nimport { TypeinfoFlags } from \\\"../shared/typeinfo\\\";\\nimport { E_ALLOCATION_TOO_LARGE, E_ALREADY_PINNED, E_NOT_PINNED } from \\\"../util/error\\\";\\n\\n// === ITCMS: An incremental Tri-Color Mark & Sweep garbage collector ===\\n// Adapted from Bach Le's \u03BCgc, see: https://github.com/bullno1/ugc\\n\\n// \u2552\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2564\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 Colors \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2555\\n// \u2502 Color \u2502 Meaning \u2502\\n// \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524\\n// \u2502 WHITE* \u2502 Unprocessed \u2502\\n// \u2502 BLACK* \u2502 Processed \u2502\\n// \u2502 GRAY \u2502 Processed with unprocessed children \u2502\\n// \u2502 TRANSPARENT \u2502 Manually pinned (always reachable) \u2502\\n// \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\\n// * flipped between cycles\\n\\n// @ts-ignore: decorator\\n@lazy let white = 0;\\n// @ts-ignore: decorator\\n@inline const gray = 2;\\n// @ts-ignore: decorator\\n@inline const transparent = 3;\\n// @ts-ignore: decorator\\n@inline const COLOR_MASK = 3;\\n\\n/** Size in memory of all objects currently managed by the GC. */\\n// @ts-ignore: decorator\\n@lazy let total: usize = 0;\\n\\n/** Currently transitioning from SWEEP to MARK state. */\\n// @ts-ignore: decorator\\n@inline const STATE_IDLE = 0;\\n/** Currently marking reachable objects. */\\n// @ts-ignore: decorator\\n@inline const STATE_MARK = 1;\\n/** Currently sweeping unreachable objects. */\\n// @ts-ignore: decorator\\n@inline const STATE_SWEEP = 2;\\n/** Current collector state. */\\n// @ts-ignore: decorator\\n@lazy let state = STATE_IDLE;\\n\\n// @ts-ignore: decorator\\n@lazy let fromSpace = initLazy(changetype(memory.data(offsetof())));\\n// @ts-ignore: decorator\\n@lazy let toSpace = initLazy(changetype(memory.data(offsetof())));\\n// @ts-ignore: decorator\\n@lazy let pinSpace = initLazy(changetype(memory.data(offsetof())));\\n// @ts-ignore: decorator\\n@lazy let iter: Object = changetype(0); // unsafe initializion below\\n\\nfunction initLazy(space: Object): Object {\\n space.nextWithColor = changetype(space);\\n space.prev = space;\\n return space;\\n}\\n\\n/** Visit cookie indicating scanning of an object. */\\n// @ts-ignore: decorator\\n@inline const VISIT_SCAN = 0;\\n\\n// \u2552\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 Managed object layout (32-bit) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2555\\n// 3 2 1\\n// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 bits\\n// \u251C\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2524\\n// \u2502 Memory manager block \u2502\\n// \u255E\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2564\u2550\u2550\u2550\u2561\\n// \u2502 next \u2502 C \u2502 = nextWithColor\\n// \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2524\\n// \u2502 prev \u2502\\n// \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524\\n// \u2502 rtId \u2502\\n// \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524\\n// \u2502 rtSize \u2502\\n// \u255E>ptr\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2561\\n// \u2502 ... \u2502\\n// C: color\\n\\n/** Represents a managed object in memory, consisting of a header followed by the object's data. */\\n@unmanaged class Object extends BLOCK {\\n /** Pointer to the next object with color flags stored in the alignment bits. */\\n nextWithColor: usize; // *u32\\n /** Pointer to the previous object. */\\n prev: Object; // *u32\\n /** Runtime id. */\\n rtId: u32;\\n /** Runtime size. */\\n rtSize: u32;\\n\\n /** Gets the pointer to the next object. */\\n get next(): Object {\\n return changetype(this.nextWithColor & ~COLOR_MASK);\\n }\\n\\n /** Sets the pointer to the next object. */\\n set next(obj: Object) {\\n this.nextWithColor = changetype(obj) | (this.nextWithColor & COLOR_MASK);\\n }\\n\\n /** Gets this object's color. */\\n get color(): i32 {\\n return i32(this.nextWithColor & COLOR_MASK);\\n }\\n\\n /** Sets this object's color. */\\n set color(color: i32) {\\n this.nextWithColor = (this.nextWithColor & ~COLOR_MASK) | color;\\n }\\n\\n /** Gets the size of this object in memory. */\\n get size(): usize {\\n return BLOCK_OVERHEAD + (this.mmInfo & ~3);\\n }\\n\\n /** Tests if this object is pointerfree. */\\n get isPointerfree(): bool {\\n let rtId = this.rtId;\\n // 0: Object, 1: ArrayBuffer, 2: String\\n return rtId <= idof() || (__typeinfo(rtId) & TypeinfoFlags.POINTERFREE) != 0;\\n }\\n\\n /** Unlinks this object from its list. */\\n unlink(): void {\\n let next = this.next;\\n if (next == null) {\\n if (DEBUG) assert(this.prev == null && changetype(this) < __heap_base);\\n return; // static data not yet linked\\n }\\n let prev = this.prev;\\n if (DEBUG) assert(prev);\\n next.prev = prev;\\n prev.next = next;\\n }\\n\\n /** Links this object to the specified list, with the given color. */\\n linkTo(list: Object, withColor: i32): void {\\n let prev = list.prev;\\n this.nextWithColor = changetype(list) | withColor;\\n this.prev = prev;\\n prev.next = this;\\n list.prev = this;\\n }\\n\\n /** Marks this object as gray, that is reachable with unscanned children. */\\n makeGray(): void {\\n if (this == iter) iter = assert(this.prev);\\n this.unlink();\\n this.linkTo(toSpace, this.isPointerfree ? i32(!white) : gray);\\n }\\n}\\n\\n/** Visits all objects considered to be program roots. */\\nfunction visitRoots(cookie: u32): void {\\n __visit_globals(cookie);\\n let pn = pinSpace;\\n let iter = pn.next;\\n while (iter != pn) {\\n if (DEBUG) assert(iter.color == transparent);\\n __visit_members(changetype(iter) + TOTAL_OVERHEAD, cookie);\\n iter = iter.next;\\n }\\n}\\n\\n/** Visits all objects on the stack. */\\nfunction visitStack(cookie: u32): void {\\n let ptr = __stack_pointer;\\n while (ptr < __heap_base) {\\n __visit(load(ptr), cookie);\\n ptr += sizeof();\\n }\\n}\\n\\n/** Performs a single step according to the current state. */\\nfunction step(): usize {\\n // Magic constants responsible for pause times. Obtained experimentally\\n // using the compiler compiling itself. 2048 budget pro run by default.\\n const MARKCOST = isDefined(ASC_GC_MARKCOST) ? ASC_GC_MARKCOST : 1;\\n const SWEEPCOST = isDefined(ASC_GC_SWEEPCOST) ? ASC_GC_SWEEPCOST : 10;\\n let obj: Object;\\n switch (state) {\\n case STATE_IDLE: {\\n state = STATE_MARK;\\n visitCount = 0;\\n visitRoots(VISIT_SCAN);\\n iter = toSpace;\\n return visitCount * MARKCOST;\\n }\\n case STATE_MARK: {\\n let black = i32(!white);\\n obj = iter.next;\\n while (obj != toSpace) {\\n iter = obj;\\n if (obj.color != black) { // skip already-blacks (pointerfree)\\n obj.color = black;\\n visitCount = 0;\\n __visit_members(changetype(obj) + TOTAL_OVERHEAD, VISIT_SCAN);\\n return visitCount * MARKCOST;\\n }\\n obj = obj.next;\\n }\\n visitCount = 0;\\n visitRoots(VISIT_SCAN);\\n obj = iter.next;\\n if (obj == toSpace) {\\n visitStack(VISIT_SCAN);\\n obj = iter.next;\\n while (obj != toSpace) {\\n if (obj.color != black) {\\n obj.color = black;\\n __visit_members(changetype(obj) + TOTAL_OVERHEAD, VISIT_SCAN);\\n }\\n obj = obj.next;\\n }\\n let from = fromSpace;\\n fromSpace = toSpace;\\n toSpace = from;\\n white = black;\\n iter = from.next;\\n state = STATE_SWEEP;\\n }\\n return visitCount * MARKCOST;\\n }\\n case STATE_SWEEP: {\\n obj = iter;\\n if (obj != toSpace) {\\n iter = obj.next;\\n if (DEBUG) assert(obj.color == i32(!white)); // old white\\n free(obj);\\n return SWEEPCOST;\\n }\\n toSpace.nextWithColor = changetype(toSpace);\\n toSpace.prev = toSpace;\\n state = STATE_IDLE;\\n break;\\n }\\n }\\n return 0;\\n}\\n\\n/** Frees an object. */\\nfunction free(obj: Object): void {\\n if (changetype(obj) < __heap_base) {\\n obj.nextWithColor = 0; // may become linked again\\n obj.prev = changetype(0);\\n } else {\\n total -= obj.size;\\n if (isDefined(__finalize)) {\\n __finalize(changetype(obj) + TOTAL_OVERHEAD);\\n }\\n __free(changetype(obj) + BLOCK_OVERHEAD);\\n }\\n}\\n\\n// Garbage collector interface\\n\\n// @ts-ignore: decorator\\n@global @unsafe\\nexport function __new(size: usize, id: i32): usize {\\n if (size >= OBJECT_MAXSIZE) throw new Error(E_ALLOCATION_TOO_LARGE);\\n if (total >= threshold) interrupt();\\n let obj = changetype(__alloc(OBJECT_OVERHEAD + size) - BLOCK_OVERHEAD);\\n obj.rtId = id;\\n obj.rtSize = size;\\n obj.linkTo(fromSpace, white); // inits next/prev\\n total += obj.size;\\n let ptr = changetype(obj) + TOTAL_OVERHEAD;\\n // may be visited before being fully initialized, so must fill\\n memory.fill(ptr, 0, size);\\n return ptr;\\n}\\n\\n// @ts-ignore: decorator\\n@global @unsafe\\nexport function __renew(oldPtr: usize, size: usize): usize {\\n let oldObj = changetype(oldPtr - TOTAL_OVERHEAD);\\n // Update object size if its block is large enough\\n if (size <= (oldObj.mmInfo & ~3) - OBJECT_OVERHEAD) {\\n oldObj.rtSize = size;\\n return oldPtr;\\n }\\n // If not the same object anymore, we have to move it move it due to the\\n // shadow stack potentially still referencing the old object\\n let newPtr = __new(size, oldObj.rtId);\\n memory.copy(newPtr, oldPtr, min(size, oldObj.rtSize));\\n return newPtr;\\n}\\n\\n// @ts-ignore: decorator\\n@global @unsafe\\nexport function __link(parentPtr: usize, childPtr: usize, expectMultiple: bool): void {\\n // Write barrier is unnecessary if non-incremental\\n if (!childPtr) return;\\n if (DEBUG) assert(parentPtr);\\n let child = changetype(childPtr - TOTAL_OVERHEAD);\\n if (child.color == white) {\\n let parent = changetype(parentPtr - TOTAL_OVERHEAD);\\n let parentColor = parent.color;\\n if (parentColor == i32(!white)) {\\n // Maintain the invariant that no black object may point to a white object.\\n if (expectMultiple) {\\n // Move the barrier \\\"backward\\\". Suitable for containers receiving multiple stores.\\n // Avoids a barrier for subsequent objects stored into the same container.\\n parent.makeGray();\\n } else {\\n // Move the barrier \\\"forward\\\". Suitable for objects receiving isolated stores.\\n child.makeGray();\\n }\\n } else if (parentColor == transparent && state == STATE_MARK) {\\n // Pinned objects are considered 'black' during the mark phase.\\n child.makeGray();\\n }\\n }\\n}\\n\\n// @ts-ignore: decorator\\n@lazy let visitCount = 0;\\n\\n// @ts-ignore: decorator\\n@global @unsafe\\nexport function __visit(ptr: usize, cookie: i32): void {\\n if (!ptr) return;\\n let obj = changetype(ptr - TOTAL_OVERHEAD);\\n if (RTRACE) if (!onvisit(obj)) return;\\n if (obj.color == white) {\\n obj.makeGray();\\n ++visitCount;\\n }\\n}\\n\\n// @ts-ignore: decorator\\n@global @unsafe\\nexport function __pin(ptr: usize): usize {\\n if (ptr) {\\n let obj = changetype(ptr - TOTAL_OVERHEAD);\\n if (obj.color == transparent) {\\n throw new Error(E_ALREADY_PINNED);\\n }\\n obj.unlink(); // from fromSpace\\n obj.linkTo(pinSpace, transparent);\\n }\\n return ptr;\\n}\\n\\n// @ts-ignore: decorator\\n@global @unsafe\\nexport function __unpin(ptr: usize): void {\\n if (!ptr) return;\\n let obj = changetype(ptr - TOTAL_OVERHEAD);\\n if (obj.color != transparent) {\\n throw new Error(E_NOT_PINNED);\\n }\\n if (state == STATE_MARK) {\\n // We may be right at the point after marking roots for the second time and\\n // entering the sweep phase, in which case the object would be missed if it\\n // is not only pinned but also a root. Make sure it isn't missed.\\n obj.makeGray();\\n } else {\\n obj.unlink();\\n obj.linkTo(fromSpace, white);\\n }\\n}\\n\\n// @ts-ignore: decorator\\n@global @unsafe\\nexport function __collect(): void {\\n if (TRACE) trace(\\\"GC (full) at\\\", 1, total);\\n if (state > STATE_IDLE) {\\n // finish current cycle\\n while (state != STATE_IDLE) step();\\n }\\n // perform a full cycle\\n step();\\n while (state != STATE_IDLE) step();\\n threshold = (total * IDLEFACTOR / 100) + GRANULARITY;\\n if (TRACE) trace(\\\"GC (full) done at cur/max\\\", 2, total, memory.size() << 16);\\n if (RTRACE || PROFILE) oncollect(total);\\n}\\n\\n// Garbage collector automation\\n\\n/** How often to interrupt. The default of 1024 means \\\"interrupt each 1024 bytes allocated\\\". */\\n// @ts-ignore: decorator\\n@inline const GRANULARITY: usize = isDefined(ASC_GC_GRANULARITY) ? ASC_GC_GRANULARITY : 1024;\\n/** How long to interrupt. The default of 200% means \\\"run at double the speed of allocations\\\". */\\n// @ts-ignore: decorator\\n@inline const STEPFACTOR: usize = isDefined(ASC_GC_SWEEPFACTOR) ? ASC_GC_SWEEPFACTOR : 200;\\n/** How long to idle. The default of 200% means \\\"wait for memory to double before kicking in again\\\". */\\n// @ts-ignore: decorator\\n@inline const IDLEFACTOR: usize = isDefined(ASC_GC_IDLEFACTOR) ? ASC_GC_IDLEFACTOR : 200;\\n\\n/** Threshold of memory used by objects to exceed before interrupting again. */\\n// @ts-ignore: decorator\\n@lazy let threshold: usize = ((memory.size() << 16) - __heap_base) >> 1;\\n\\n/** Performs a reasonable amount of incremental GC steps. */\\nfunction interrupt(): void {\\n if (PROFILE) oninterrupt(total);\\n if (TRACE) trace(\\\"GC (auto) at\\\", 1, total);\\n let budget: isize = GRANULARITY * STEPFACTOR / 100;\\n do {\\n budget -= step();\\n if (state == STATE_IDLE) {\\n if (TRACE) trace(\\\"\u2514 GC (auto) done at cur/max\\\", 2, total, memory.size() << 16);\\n threshold = (total * IDLEFACTOR / 100) + GRANULARITY;\\n if (PROFILE) onyield(total);\\n return;\\n }\\n } while (budget > 0);\\n if (TRACE) trace(\\\"\u2514 GC (auto) ongoing at\\\", 1, total);\\n threshold = total + GRANULARITY * usize(total - threshold < GRANULARITY);\\n if (PROFILE) onyield(total);\\n}\\n\",\n \"rt/rtrace\": \"import { BLOCK } from \\\"./common\\\";\\n\\nexport declare function oninit(heapBase: usize): void;\\n\\n// Memory Allocator\\nexport declare function onalloc(block: BLOCK): void;\\nexport declare function onresize(block: BLOCK, oldSizeInclOverhead: usize): void;\\nexport declare function onmove(oldBlock: BLOCK, newBlock: BLOCK): void;\\nexport declare function onfree(block: BLOCK): void;\\n\\n// Garbage collector\\nexport declare function onvisit(block: BLOCK): bool;\\nexport declare function oncollect(total: usize): void;\\nexport declare function oninterrupt(total: usize): void;\\nexport declare function onyield(total: usize): void;\\n\",\n \"rt/stub\": \"import { AL_MASK, OBJECT, OBJECT_OVERHEAD, BLOCK_MAXSIZE, BLOCK_OVERHEAD, BLOCK, OBJECT_MAXSIZE } from \\\"./common\\\";\\nimport { E_ALLOCATION_TOO_LARGE } from \\\"../util/error\\\";\\n\\n// === A minimal runtime stub ===\\n\\n// @ts-ignore: decorator\\n@lazy let startOffset: usize = ((__heap_base + BLOCK_OVERHEAD + AL_MASK) & ~AL_MASK) - BLOCK_OVERHEAD;\\n// @ts-ignore: decorator\\n@lazy let offset: usize = startOffset;\\n\\nfunction maybeGrowMemory(newOffset: usize): void {\\n // assumes newOffset is aligned\\n let pagesBefore = memory.size();\\n let maxOffset = ((pagesBefore << 16) + AL_MASK) & ~AL_MASK;\\n if (newOffset > maxOffset) {\\n let pagesNeeded = (((newOffset - maxOffset + 0xffff) & ~0xffff) >>> 16);\\n let pagesWanted = max(pagesBefore, pagesNeeded); // double memory\\n if (memory.grow(pagesWanted) < 0) {\\n if (memory.grow(pagesNeeded) < 0) unreachable(); // out of memory\\n }\\n }\\n offset = newOffset;\\n}\\n\\n// @ts-ignore: decorator\\n@inline function computeSize(size: usize): usize {\\n return ((size + BLOCK_OVERHEAD + AL_MASK) & ~AL_MASK) - BLOCK_OVERHEAD;\\n}\\n\\n// @ts-ignore: decorator\\n@unsafe @global\\nexport function __alloc(size: usize): usize {\\n if (size > BLOCK_MAXSIZE) throw new Error(E_ALLOCATION_TOO_LARGE);\\n let block = changetype(offset);\\n let ptr = offset + BLOCK_OVERHEAD;\\n let payloadSize = computeSize(size);\\n maybeGrowMemory(ptr + payloadSize);\\n block.mmInfo = payloadSize;\\n return ptr;\\n}\\n\\n// @ts-ignore: decorator\\n@unsafe @global\\nexport function __realloc(ptr: usize, size: usize): usize {\\n assert(ptr != 0 && !(ptr & AL_MASK)); // must exist and be aligned\\n let block = changetype(ptr - BLOCK_OVERHEAD);\\n let actualSize = block.mmInfo;\\n let isLast = ptr + actualSize == offset;\\n let payloadSize = computeSize(size);\\n if (size > actualSize) {\\n if (isLast) { // last block: grow\\n if (size > BLOCK_MAXSIZE) throw new Error(E_ALLOCATION_TOO_LARGE);\\n maybeGrowMemory(ptr + payloadSize);\\n block.mmInfo = payloadSize;\\n } else { // copy to new block at least double the size\\n let newPtr = __alloc(max(payloadSize, actualSize << 1));\\n memory.copy(newPtr, ptr, actualSize);\\n block = changetype((ptr = newPtr) - BLOCK_OVERHEAD);\\n }\\n } else if (isLast) { // last block: shrink\\n offset = ptr + payloadSize;\\n block.mmInfo = payloadSize;\\n }\\n return ptr;\\n}\\n\\n// @ts-ignore: decorator\\n@unsafe @global\\nexport function __free(ptr: usize): void {\\n assert(ptr != 0 && !(ptr & AL_MASK)); // must exist and be aligned\\n let block = changetype(ptr - BLOCK_OVERHEAD);\\n if (ptr + block.mmInfo == offset) { // last block: discard\\n offset = changetype(block);\\n }\\n}\\n\\n// @ts-ignore: decorator\\n@unsafe @global\\nexport function __reset(): void { // special\\n offset = startOffset;\\n}\\n\\n// @ts-ignore: decorator\\n@unsafe @global\\nexport function __new(size: usize, id: u32): usize {\\n if (size > OBJECT_MAXSIZE) throw new Error(E_ALLOCATION_TOO_LARGE);\\n let ptr = __alloc(OBJECT_OVERHEAD + size);\\n let object = changetype(ptr - BLOCK_OVERHEAD);\\n object.gcInfo = 0;\\n object.gcInfo2 = 0;\\n object.rtId = id;\\n object.rtSize = size;\\n return ptr + OBJECT_OVERHEAD;\\n}\\n\\n// @ts-ignore: decorator\\n@unsafe @global\\nexport function __renew(oldPtr: usize, size: usize): usize {\\n if (size > OBJECT_MAXSIZE) throw new Error(E_ALLOCATION_TOO_LARGE);\\n let newPtr = __realloc(oldPtr - OBJECT_OVERHEAD, OBJECT_OVERHEAD + size);\\n changetype(newPtr - BLOCK_OVERHEAD).rtSize = size;\\n return newPtr + OBJECT_OVERHEAD;\\n}\\n\\n// @ts-ignore: decorator\\n@global @unsafe\\nexport function __link(parentPtr: usize, childPtr: usize, expectMultiple: bool): void {\\n // nop\\n}\\n\\n// @ts-ignore: decorator\\n@global @unsafe\\nexport function __pin(ptr: usize): usize {\\n return ptr;\\n}\\n\\n// @ts-ignore: decorator\\n@global @unsafe\\nexport function __unpin(ptr: usize): void {\\n // nop\\n}\\n\\n// @ts-ignore: decorator\\n@global @unsafe\\nfunction __visit(ptr: usize, cookie: u32): void { // eslint-disable-line @typescript-eslint/no-unused-vars\\n // nop\\n}\\n\\n// @ts-ignore: decorator\\n@global @unsafe\\nexport function __collect(): void {\\n // nop\\n}\\n\",\n \"rt/tcms\": \"import { BLOCK, BLOCK_OVERHEAD, OBJECT_OVERHEAD, OBJECT_MAXSIZE, TOTAL_OVERHEAD, DEBUG, TRACE, RTRACE } from \\\"./common\\\";\\nimport { onvisit, oncollect } from \\\"./rtrace\\\";\\nimport { E_ALLOCATION_TOO_LARGE, E_ALREADY_PINNED, E_NOT_PINNED } from \\\"../util/error\\\";\\n\\n// === TCMS: A Two-Color Mark & Sweep garbage collector ===\\n\\n// \u2552\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2564\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 Colors \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2555\\n// \u2502 Color \u2502 Meaning \u2502\\n// \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524\\n// \u2502 WHITE* \u2502 Unreachable \u2502\\n// \u2502 BLACK* \u2502 Reachable \u2502\\n// \u2502 TRANSPARENT \u2502 Manually pinned (always reachable) \u2502\\n// \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\\n// * flipped between cycles\\n\\n// @ts-ignore: decorator\\n@lazy let white = 0;\\n// @ts-ignore: decorator\\n@inline const transparent = 3;\\n// @ts-ignore: decorator\\n@inline const COLOR_MASK = 3;\\n\\n/** Size in memory of all objects currently managed by the GC. */\\n// @ts-ignore: decorator\\n@lazy let total: usize = 0;\\n\\n// @ts-ignore: decorator\\n@lazy let fromSpace = initLazy(changetype(memory.data(offsetof())));\\n// @ts-ignore: decorator\\n@lazy let toSpace = initLazy(changetype(memory.data(offsetof())));\\n// @ts-ignore: decorator\\n@lazy let pinSpace = initLazy(changetype(memory.data(offsetof())));\\n\\nfunction initLazy(space: Object): Object {\\n space.nextWithColor = changetype(space);\\n space.prev = space;\\n return space;\\n}\\n\\n/** Visit cookie indicating scanning of an object. */\\n// @ts-ignore: decorator\\n@inline const VISIT_SCAN = 0;\\n\\n// \u2552\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 Managed object layout (32-bit) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2555\\n// 3 2 1\\n// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 bits\\n// \u251C\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2524\\n// \u2502 Memory manager block \u2502\\n// \u255E\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2564\u2550\u2550\u2550\u2561\\n// \u2502 next \u2502 C \u2502 = nextWithColor\\n// \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2524\\n// \u2502 prev \u2502\\n// \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524\\n// \u2502 rtId \u2502\\n// \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524\\n// \u2502 rtSize \u2502\\n// \u255E>ptr\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2561\\n// \u2502 ... \u2502\\n// C: color\\n\\n/** Represents a managed object in memory, consisting of a header followed by the object's data. */\\n@unmanaged class Object extends BLOCK {\\n /** Pointer to the next object with color flags stored in the alignment bits. */\\n nextWithColor: usize; // *u32\\n /** Pointer to the previous object. */\\n prev: Object; // *u32\\n /** Runtime id. */\\n rtId: u32;\\n /** Runtime size. */\\n rtSize: u32;\\n\\n /** Gets the pointer to the next object. */\\n get next(): Object {\\n return changetype(this.nextWithColor & ~COLOR_MASK);\\n }\\n\\n /** Sets the pointer to the next object. */\\n set next(obj: Object) {\\n this.nextWithColor = changetype(obj) | (this.nextWithColor & COLOR_MASK);\\n }\\n\\n /** Gets this object's color. */\\n get color(): i32 {\\n return i32(this.nextWithColor & COLOR_MASK);\\n }\\n\\n /** Sets this object's color. */\\n set color(color: i32) {\\n this.nextWithColor = (this.nextWithColor & ~COLOR_MASK) | color;\\n }\\n\\n /** Gets the size of this object in memory. */\\n get size(): usize {\\n return BLOCK_OVERHEAD + (this.mmInfo & ~3);\\n }\\n\\n /** Unlinks this object from its list. */\\n unlink(): void {\\n let next = this.next;\\n if (next == null) {\\n if (DEBUG) assert(this.prev == null && changetype(this) < __heap_base);\\n return; // static data not yet linked\\n }\\n let prev = this.prev;\\n if (DEBUG) assert(prev);\\n next.prev = prev;\\n prev.next = next;\\n }\\n\\n /** Links this object to the specified list, with the given color. */\\n linkTo(list: Object, withColor: i32): void {\\n let prev = list.prev;\\n this.nextWithColor = changetype(list) | withColor;\\n this.prev = prev;\\n prev.next = this;\\n list.prev = this;\\n }\\n}\\n\\n// Garbage collector interface\\n\\n// @ts-ignore: decorator\\n@global @unsafe\\nexport function __new(size: usize, id: i32): usize {\\n if (size > OBJECT_MAXSIZE) throw new Error(E_ALLOCATION_TOO_LARGE);\\n let obj = changetype(__alloc(OBJECT_OVERHEAD + size) - BLOCK_OVERHEAD);\\n obj.rtId = id;\\n obj.rtSize = size;\\n obj.linkTo(fromSpace, white);\\n total += obj.size;\\n return changetype(obj) + TOTAL_OVERHEAD;\\n}\\n\\n// @ts-ignore: decorator\\n@global @unsafe\\nexport function __renew(oldPtr: usize, size: usize): usize {\\n let oldObj = changetype(oldPtr - TOTAL_OVERHEAD);\\n if (oldPtr < __heap_base) { // move to heap for simplicity\\n let newPtr = __new(size, oldObj.rtId);\\n memory.copy(newPtr, oldPtr, min(size, oldObj.rtSize));\\n return newPtr;\\n }\\n if (size > OBJECT_MAXSIZE) throw new Error(E_ALLOCATION_TOO_LARGE);\\n total -= oldObj.size;\\n let newPtr = __realloc(oldPtr - OBJECT_OVERHEAD, OBJECT_OVERHEAD + size) + OBJECT_OVERHEAD;\\n let newObj = changetype(newPtr - TOTAL_OVERHEAD);\\n newObj.rtSize = size;\\n\\n // Replace with new object\\n newObj.next.prev = newObj;\\n newObj.prev.next = newObj;\\n\\n total += newObj.size;\\n return newPtr;\\n}\\n\\n// @ts-ignore: decorator\\n@global @unsafe\\nexport function __link(parentPtr: usize, childPtr: usize, expectMultiple: bool): void {\\n // nop\\n}\\n\\n// @ts-ignore: decorator\\n@global @unsafe\\nexport function __visit(ptr: usize, cookie: i32): void {\\n if (!ptr) return;\\n let obj = changetype(ptr - TOTAL_OVERHEAD);\\n if (RTRACE) if (!onvisit(obj)) return;\\n if (obj.color == white) {\\n obj.unlink(); // from fromSpace\\n obj.linkTo(toSpace, i32(!white));\\n }\\n}\\n\\n// @ts-ignore: decorator\\n@global @unsafe\\nexport function __pin(ptr: usize): usize {\\n if (ptr) {\\n let obj = changetype(ptr - TOTAL_OVERHEAD);\\n if (obj.color == transparent) {\\n throw new Error(E_ALREADY_PINNED);\\n }\\n obj.unlink(); // from fromSpace\\n obj.linkTo(pinSpace, transparent);\\n }\\n return ptr;\\n}\\n\\n// @ts-ignore: decorator\\n@global @unsafe\\nexport function __unpin(ptr: usize): void {\\n if (!ptr) return;\\n let obj = changetype(ptr - TOTAL_OVERHEAD);\\n if (obj.color != transparent) {\\n throw new Error(E_NOT_PINNED);\\n }\\n obj.unlink(); // from pinSpace\\n obj.linkTo(fromSpace, white);\\n}\\n\\n// @ts-ignore: decorator\\n@global @unsafe\\nexport function __collect(): void {\\n if (TRACE) trace(\\\"GC at\\\", 1, total);\\n\\n // Mark roots (add to toSpace)\\n __visit_globals(VISIT_SCAN);\\n\\n // Mark direct members of pinned objects (add to toSpace)\\n let pn = pinSpace;\\n let iter = pn.next;\\n while (iter != pn) {\\n if (DEBUG) assert(iter.color == transparent);\\n __visit_members(changetype(iter) + TOTAL_OVERHEAD, VISIT_SCAN);\\n iter = iter.next;\\n }\\n\\n // Mark what's reachable from toSpace\\n let black = i32(!white);\\n let to = toSpace;\\n iter = to.next;\\n while (iter != to) {\\n if (DEBUG) assert(iter.color == black);\\n __visit_members(changetype(iter) + TOTAL_OVERHEAD, VISIT_SCAN);\\n iter = iter.next;\\n }\\n\\n // Sweep what's left in fromSpace\\n let from = fromSpace;\\n iter = from.next;\\n while (iter != from) {\\n if (DEBUG) assert(iter.color == white);\\n let newNext = iter.next;\\n if (changetype(iter) < __heap_base) {\\n iter.nextWithColor = 0; // may become linked again\\n iter.prev = changetype(0);\\n } else {\\n total -= iter.size;\\n if (isDefined(__finalize)) __finalize(changetype(iter) + TOTAL_OVERHEAD);\\n __free(changetype(iter) + BLOCK_OVERHEAD);\\n }\\n iter = newNext;\\n }\\n from.nextWithColor = changetype(from);\\n from.prev = from;\\n\\n // Flip spaces and colors\\n fromSpace = to;\\n toSpace = from;\\n white = black;\\n\\n if (TRACE) trace(\\\"GC done at\\\", 1, total);\\n if (RTRACE) oncollect(total);\\n}\\n\",\n \"rt/tlsf\": \"import { AL_BITS, AL_SIZE, AL_MASK, DEBUG, BLOCK, BLOCK_OVERHEAD, BLOCK_MAXSIZE } from \\\"./common\\\";\\nimport { oninit, onalloc, onresize, onmove, onfree } from \\\"./rtrace\\\";\\nimport { E_ALLOCATION_TOO_LARGE } from \\\"../util/error\\\";\\n\\n// === The TLSF (Two-Level Segregate Fit) memory allocator ===\\n// see: http://www.gii.upv.es/tlsf/\\n\\n// - `ffs(x)` is equivalent to `ctz(x)` with x != 0\\n// - `fls(x)` is equivalent to `sizeof(x) * 8 - clz(x) - 1`\\n\\n// \u2552\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 Block size interpretation (32-bit) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2555\\n// 3 2 1\\n// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 bits\\n// \u251C\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u253C\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u256B\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2524\\n// \u2502 | FL \u2502 SB = SL + AL \u2502 \u25C4\u2500 usize\\n// \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2568\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\\n// FL: first level, SL: second level, AL: alignment, SB: small block\\n\\n// @ts-ignore: decorator\\n@inline const SL_BITS: u32 = 4;\\n// @ts-ignore: decorator\\n@inline const SL_SIZE: u32 = 1 << SL_BITS;\\n\\n// @ts-ignore: decorator\\n@inline const SB_BITS: u32 = SL_BITS + AL_BITS;\\n// @ts-ignore: decorator\\n@inline const SB_SIZE: u32 = 1 << SB_BITS;\\n\\n// @ts-ignore: decorator\\n@inline const FL_BITS: u32 = 31 - SB_BITS;\\n\\n// [00]: < 256B (SB) [12]: < 1M\\n// [01]: < 512B [13]: < 2M\\n// [02]: < 1K [14]: < 4M\\n// [03]: < 2K [15]: < 8M\\n// [04]: < 4K [16]: < 16M\\n// [05]: < 8K [17]: < 32M\\n// [06]: < 16K [18]: < 64M\\n// [07]: < 32K [19]: < 128M\\n// [08]: < 64K [20]: < 256M\\n// [09]: < 128K [21]: < 512M\\n// [10]: < 256K [22]: <= 1G - OVERHEAD\\n// [11]: < 512K\\n// VMs limit to 2GB total (currently), making one 1G block max (or three 512M etc.) due to block overhead\\n\\n// Tags stored in otherwise unused alignment bits\\n\\n// @ts-ignore: decorator\\n@inline const FREE: usize = 1 << 0;\\n// @ts-ignore: decorator\\n@inline const LEFTFREE: usize = 1 << 1;\\n// @ts-ignore: decorator\\n@inline const TAGS_MASK: usize = FREE | LEFTFREE; // <= AL_MASK\\n\\n// \u2552\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 Block layout (32-bit) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2555\\n// 3 2 1\\n// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 bits\\n// \u251C\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u253C\u2500\u253C\u2500\u2524 \u2510\\n// \u2502 size \u2502L\u2502F\u2502 \u25C4\u2500\u2510 info overhead\\n// \u255E>ptr\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2567\u2550\u2567\u2550\u2561 \u2502 \u2518\\n// \u2502 if free: \u25C4 prev \u2502 \u25C4\u2500\u2524 usize\\n// \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524 \u2502\\n// \u2502 if free: next \u25BA \u2502 \u25C4\u2500\u2524\\n// \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524 \u2502\\n// \u2502 ... \u2502 \u2502 >= 0\\n// \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524 \u2502\\n// \u2502 if free: back \u25B2 \u2502 \u25C4\u2500\u2518\\n// \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 >= MIN SIZE\\n// F: FREE, L: LEFTFREE\\n@unmanaged export class Block extends BLOCK {\\n\\n /** Previous free block, if any. Only valid if free, otherwise part of payload. */\\n prev: Block | null;\\n /** Next free block, if any. Only valid if free, otherwise part of payload. */\\n next: Block | null;\\n\\n // If the block is free, there is a 'back'reference at its end pointing at its start.\\n}\\n\\n// Block constants. A block must have a minimum size of three pointers so it can hold `prev`,\\n// `next` and `back` if free.\\n\\n// @ts-ignore: decorator\\n@inline const BLOCK_MINSIZE: usize = ((3 * sizeof() + BLOCK_OVERHEAD + AL_MASK) & ~AL_MASK) - BLOCK_OVERHEAD; // prev + next + back\\n// @ts-ignore: decorator\\n// @inline const BLOCK_MAXSIZE: usize = 1 << (FL_BITS + SB_BITS - 1); // exclusive, lives in common.ts\\n\\n/** Gets the left block of a block. Only valid if the left block is free. */\\n// @ts-ignore: decorator\\n@inline function GETFREELEFT(block: Block): Block {\\n return load(changetype(block) - sizeof());\\n}\\n\\n/** Gets the right block of a block by advancing to the right by its size. */\\n// @ts-ignore: decorator\\n@inline function GETRIGHT(block: Block): Block {\\n return changetype(changetype(block) + BLOCK_OVERHEAD + (block.mmInfo & ~TAGS_MASK));\\n}\\n\\n// \u2552\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 Root layout (32-bit) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2555\\n// 3 2 1\\n// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 bits\\n// \u251C\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2524 \u2510\\n// \u2502 0 | flMap S\u2502 \u25C4\u2500\u2500\u2500\u2500\u2510\\n// \u255E\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2561 \u2502\\n// \u2502 slMap[0] S \u2502 \u25C4\u2500\u2510 \u2502\\n// \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524 \u2502 \u2502\\n// \u2502 slMap[1] \u2502 \u25C4\u2500\u2524 \u2502\\n// \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524 u32 \u2502\\n// \u2502 slMap[22] \u2502 \u25C4\u2500\u2518 \u2502\\n// \u255E\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2561 usize\\n// \u2502 head[0] \u2502 \u25C4\u2500\u2500\u2500\u2500\u2524\\n// \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524 \u2502\\n// \u2502 ... \u2502 \u25C4\u2500\u2500\u2500\u2500\u2524\\n// \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524 \u2502\\n// \u2502 head[367] \u2502 \u25C4\u2500\u2500\u2500\u2500\u2524\\n// \u255E\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2561 \u2502\\n// \u2502 tail \u2502 \u25C4\u2500\u2500\u2500\u2500\u2518\\n// \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 SIZE \u2518\\n// S: Small blocks map\\n@unmanaged class Root {\\n /** First level bitmap. */\\n flMap: usize;\\n}\\n\\n// Root constants. Where stuff is stored inside of the root structure.\\n\\n// @ts-ignore: decorator\\n@inline const SL_START: usize = sizeof();\\n// @ts-ignore: decorator\\n@inline const SL_END: usize = SL_START + (FL_BITS << alignof());\\n// @ts-ignore: decorator\\n@inline const HL_START: usize = (SL_END + AL_MASK) & ~AL_MASK;\\n// @ts-ignore: decorator\\n@inline const HL_END: usize = HL_START + FL_BITS * SL_SIZE * sizeof();\\n// @ts-ignore: decorator\\n@inline const ROOT_SIZE: usize = HL_END + sizeof();\\n\\n// @ts-ignore: decorator\\n@lazy export let ROOT: Root = changetype(0); // unsafe initializion below\\n\\n/** Gets the second level map of the specified first level. */\\n// @ts-ignore: decorator\\n@inline function GETSL(root: Root, fl: usize): u32 {\\n return load(\\n changetype(root) + (fl << alignof()),\\n SL_START\\n );\\n}\\n\\n/** Sets the second level map of the specified first level. */\\n// @ts-ignore: decorator\\n@inline function SETSL(root: Root, fl: usize, slMap: u32): void {\\n store(\\n changetype(root) + (fl << alignof()),\\n slMap,\\n SL_START\\n );\\n}\\n\\n/** Gets the head of the free list for the specified combination of first and second level. */\\n// @ts-ignore: decorator\\n@inline function GETHEAD(root: Root, fl: usize, sl: u32): Block | null {\\n return load(\\n changetype(root) + (((fl << SL_BITS) + sl) << alignof()),\\n HL_START\\n );\\n}\\n\\n/** Sets the head of the free list for the specified combination of first and second level. */\\n// @ts-ignore: decorator\\n@inline function SETHEAD(root: Root, fl: usize, sl: u32, head: Block | null): void {\\n store(\\n changetype(root) + (((fl << SL_BITS) + sl) << alignof()),\\n head,\\n HL_START\\n );\\n}\\n\\n/** Gets the tail block.. */\\n// @ts-ignore: decorator\\n@inline function GETTAIL(root: Root): Block {\\n return load(\\n changetype(root),\\n HL_END\\n );\\n}\\n\\n/** Sets the tail block. */\\n// @ts-ignore: decorator\\n@inline function SETTAIL(root: Root, tail: Block): void {\\n store(\\n changetype(root),\\n tail,\\n HL_END\\n );\\n}\\n\\n/** Inserts a previously used block back into the free list. */\\nfunction insertBlock(root: Root, block: Block): void {\\n if (DEBUG) assert(block); // cannot be null\\n let blockInfo = block.mmInfo;\\n if (DEBUG) assert(blockInfo & FREE); // must be free\\n\\n let right = GETRIGHT(block);\\n let rightInfo = right.mmInfo;\\n\\n // merge with right block if also free\\n if (rightInfo & FREE) {\\n removeBlock(root, right);\\n block.mmInfo = blockInfo = blockInfo + BLOCK_OVERHEAD + (rightInfo & ~TAGS_MASK); // keep block tags\\n right = GETRIGHT(block);\\n rightInfo = right.mmInfo;\\n // 'back' is set below\\n }\\n\\n // merge with left block if also free\\n if (blockInfo & LEFTFREE) {\\n let left = GETFREELEFT(block);\\n let leftInfo = left.mmInfo;\\n if (DEBUG) assert(leftInfo & FREE); // must be free according to right tags\\n removeBlock(root, left);\\n block = left;\\n block.mmInfo = blockInfo = leftInfo + BLOCK_OVERHEAD + (blockInfo & ~TAGS_MASK); // keep left tags\\n // 'back' is set below\\n }\\n\\n right.mmInfo = rightInfo | LEFTFREE;\\n // reference to right is no longer used now, hence rightInfo is not synced\\n\\n // we now know the size of the block\\n let size = blockInfo & ~TAGS_MASK;\\n if (DEBUG) assert(size >= BLOCK_MINSIZE); // must be a valid size\\n if (DEBUG) assert(changetype(block) + BLOCK_OVERHEAD + size == changetype(right)); // must match\\n\\n // set 'back' to itself at the end of block\\n store(changetype(right) - sizeof(), block);\\n\\n // mapping_insert\\n let fl: usize, sl: u32;\\n if (size < SB_SIZE) {\\n fl = 0;\\n sl = (size >> AL_BITS);\\n } else {\\n const inv: usize = sizeof() * 8 - 1;\\n let boundedSize = min(size, BLOCK_MAXSIZE);\\n fl = inv - clz(boundedSize);\\n sl = ((boundedSize >> (fl - SL_BITS)) ^ (1 << SL_BITS));\\n fl -= SB_BITS - 1;\\n }\\n if (DEBUG) assert(fl < FL_BITS && sl < SL_SIZE); // fl/sl out of range\\n\\n // perform insertion\\n let head = GETHEAD(root, fl, sl);\\n block.prev = null;\\n block.next = head;\\n if (head) head.prev = block;\\n SETHEAD(root, fl, sl, block);\\n\\n // update first and second level maps\\n root.flMap |= (1 << fl);\\n SETSL(root, fl, GETSL(root, fl) | (1 << sl));\\n}\\n\\n/** Removes a free block from internal lists. */\\nfunction removeBlock(root: Root, block: Block): void {\\n let blockInfo = block.mmInfo;\\n if (DEBUG) assert(blockInfo & FREE); // must be free\\n let size = blockInfo & ~TAGS_MASK;\\n if (DEBUG) assert(size >= BLOCK_MINSIZE); // must be valid\\n\\n // mapping_insert\\n let fl: usize, sl: u32;\\n if (size < SB_SIZE) {\\n fl = 0;\\n sl = (size >> AL_BITS);\\n } else {\\n const inv: usize = sizeof() * 8 - 1;\\n let boundedSize = min(size, BLOCK_MAXSIZE);\\n fl = inv - clz(boundedSize);\\n sl = ((boundedSize >> (fl - SL_BITS)) ^ (1 << SL_BITS));\\n fl -= SB_BITS - 1;\\n }\\n if (DEBUG) assert(fl < FL_BITS && sl < SL_SIZE); // fl/sl out of range\\n\\n // link previous and next free block\\n let prev = block.prev;\\n let next = block.next;\\n if (prev) prev.next = next;\\n if (next) next.prev = prev;\\n\\n // update head if we are removing it\\n if (block == GETHEAD(root, fl, sl)) {\\n SETHEAD(root, fl, sl, next);\\n\\n // clear second level map if head is empty now\\n if (!next) {\\n let slMap = GETSL(root, fl);\\n SETSL(root, fl, slMap &= ~(1 << sl));\\n\\n // clear first level map if second level is empty now\\n if (!slMap) root.flMap &= ~(1 << fl);\\n }\\n }\\n // note: does not alter left/back because it is likely that splitting\\n // is performed afterwards, invalidating those changes. so, the caller\\n // must perform those updates.\\n}\\n\\nfunction roundSize(size: usize): usize {\\n const halfMaxSize = BLOCK_MAXSIZE >> 1; // don't round last fl\\n const inv: usize = sizeof() * 8 - 1;\\n const invRound = inv - SL_BITS;\\n return size < halfMaxSize\\n ? size + (1 << (invRound - clz(size))) - 1\\n : size;\\n}\\n\\n/** Searches for a free block of at least the specified size. */\\nfunction searchBlock(root: Root, size: usize): Block | null {\\n // size was already asserted by caller\\n\\n // mapping_search\\n let fl: usize, sl: u32;\\n if (size < SB_SIZE) {\\n fl = 0;\\n sl = (size >> AL_BITS);\\n } else {\\n const requestSize = roundSize(size);\\n fl = sizeof() * 8 - 1 - clz(requestSize);\\n sl = ((requestSize >> (fl - SL_BITS)) ^ (1 << SL_BITS));\\n fl -= SB_BITS - 1;\\n }\\n if (DEBUG) assert(fl < FL_BITS && sl < SL_SIZE); // fl/sl out of range\\n\\n // search second level\\n let slMap = GETSL(root, fl) & (~0 << sl);\\n let head: Block | null = null;\\n if (!slMap) {\\n // search next larger first level\\n let flMap = root.flMap & (~0 << (fl + 1));\\n if (!flMap) {\\n head = null;\\n } else {\\n fl = ctz(flMap);\\n slMap = GETSL(root, fl);\\n if (DEBUG) assert(slMap); // can't be zero if fl points here\\n head = GETHEAD(root, fl, ctz(slMap));\\n }\\n } else {\\n head = GETHEAD(root, fl, ctz(slMap));\\n }\\n return head;\\n}\\n\\n/** Prepares the specified block before (re-)use, possibly splitting it. */\\nfunction prepareBlock(root: Root, block: Block, size: usize): void {\\n // size was already asserted by caller\\n\\n let blockInfo = block.mmInfo;\\n if (DEBUG) assert(!((size + BLOCK_OVERHEAD) & AL_MASK)); // size must be aligned so the new block is\\n\\n // split if the block can hold another MINSIZE block incl. overhead\\n let remaining = (blockInfo & ~TAGS_MASK) - size;\\n if (remaining >= BLOCK_OVERHEAD + BLOCK_MINSIZE) {\\n block.mmInfo = size | (blockInfo & LEFTFREE); // also discards FREE\\n\\n let spare = changetype(changetype(block) + BLOCK_OVERHEAD + size);\\n spare.mmInfo = (remaining - BLOCK_OVERHEAD) | FREE; // not LEFTFREE\\n insertBlock(root, spare); // also sets 'back'\\n\\n // otherwise tag block as no longer FREE and right as no longer LEFTFREE\\n } else {\\n block.mmInfo = blockInfo & ~FREE;\\n GETRIGHT(block).mmInfo &= ~LEFTFREE;\\n }\\n}\\n\\n/** Adds more memory to the pool. */\\nfunction addMemory(root: Root, start: usize, endU64: u64): bool {\\n let end = endU64;\\n if (DEBUG) assert(start <= endU64); // must be valid\\n start = ((start + BLOCK_OVERHEAD + AL_MASK) & ~AL_MASK) - BLOCK_OVERHEAD;\\n end &= ~AL_MASK;\\n\\n let tail = GETTAIL(root);\\n let tailInfo: usize = 0;\\n if (tail) { // more memory\\n if (DEBUG) assert(start >= changetype(tail) + BLOCK_OVERHEAD);\\n\\n // merge with current tail if adjacent\\n const offsetToTail = AL_SIZE;\\n if (start - offsetToTail == changetype(tail)) {\\n start -= offsetToTail;\\n tailInfo = tail.mmInfo;\\n } else {\\n // We don't do this, but a user might `memory.grow` manually\\n // leading to non-adjacent pages managed by TLSF.\\n }\\n\\n } else if (DEBUG) { // first memory\\n assert(start >= changetype(root) + ROOT_SIZE); // starts after root\\n }\\n\\n // check if size is large enough for a free block and the tail block\\n let size = end - start;\\n if (size < BLOCK_OVERHEAD + BLOCK_MINSIZE + BLOCK_OVERHEAD) {\\n return false;\\n }\\n\\n // left size is total minus its own and the zero-length tail's header\\n let leftSize = size - 2 * BLOCK_OVERHEAD;\\n let left = changetype(start);\\n left.mmInfo = leftSize | FREE | (tailInfo & LEFTFREE);\\n left.prev = null;\\n left.next = null;\\n\\n // tail is a zero-length used block\\n tail = changetype(start + BLOCK_OVERHEAD + leftSize);\\n tail.mmInfo = 0 | LEFTFREE;\\n SETTAIL(root, tail);\\n\\n insertBlock(root, left); // also merges with free left before tail / sets 'back'\\n\\n return true;\\n}\\n\\n/** Grows memory to fit at least another block of the specified size. */\\nfunction growMemory(root: Root, size: usize): void {\\n if (ASC_LOW_MEMORY_LIMIT) {\\n unreachable();\\n return;\\n }\\n // Here, both rounding performed in searchBlock ...\\n if (size >= SB_SIZE) {\\n size = roundSize(size);\\n }\\n // and additional BLOCK_OVERHEAD must be taken into account. If we are going\\n // to merge with the tail block, that's one time, otherwise it's two times.\\n let pagesBefore = memory.size();\\n size += BLOCK_OVERHEAD << usize((pagesBefore << 16) - BLOCK_OVERHEAD != changetype(GETTAIL(root)));\\n let pagesNeeded = (((size + 0xffff) & ~0xffff) >>> 16);\\n let pagesWanted = max(pagesBefore, pagesNeeded); // double memory\\n if (memory.grow(pagesWanted) < 0) {\\n if (memory.grow(pagesNeeded) < 0) unreachable();\\n }\\n let pagesAfter = memory.size();\\n addMemory(root, pagesBefore << 16, pagesAfter << 16);\\n}\\n\\n/** Computes the size (excl. header) of a block. */\\nfunction computeSize(size: usize): usize {\\n // Size must be large enough and aligned minus preceeding overhead\\n return size <= BLOCK_MINSIZE\\n ? BLOCK_MINSIZE\\n : ((size + BLOCK_OVERHEAD + AL_MASK) & ~AL_MASK) - BLOCK_OVERHEAD;\\n}\\n\\n/** Prepares and checks an allocation size. */\\nfunction prepareSize(size: usize): usize {\\n if (size > BLOCK_MAXSIZE) throw new Error(E_ALLOCATION_TOO_LARGE);\\n return computeSize(size);\\n}\\n\\n/** Initializes the root structure. */\\nfunction initialize(): void {\\n if (isDefined(ASC_RTRACE)) oninit(__heap_base);\\n let rootOffset = (__heap_base + AL_MASK) & ~AL_MASK;\\n let pagesBefore = memory.size();\\n let pagesNeeded = ((((rootOffset + ROOT_SIZE) + 0xffff) & ~0xffff) >>> 16);\\n if (pagesNeeded > pagesBefore && memory.grow(pagesNeeded - pagesBefore) < 0) unreachable();\\n let root = changetype(rootOffset);\\n root.flMap = 0;\\n SETTAIL(root, changetype(0));\\n for (let fl: usize = 0; fl < FL_BITS; ++fl) {\\n SETSL(root, fl, 0);\\n for (let sl: u32 = 0; sl < SL_SIZE; ++sl) {\\n SETHEAD(root, fl, sl, null);\\n }\\n }\\n let memStart = rootOffset + ROOT_SIZE;\\n if (ASC_LOW_MEMORY_LIMIT) {\\n const memEnd = ASC_LOW_MEMORY_LIMIT & ~AL_MASK;\\n if (memStart <= memEnd) addMemory(root, memStart, memEnd);\\n else unreachable(); // low memory limit already exceeded\\n } else {\\n addMemory(root, memStart, memory.size() << 16);\\n }\\n ROOT = root;\\n}\\n\\n/** Allocates a block of the specified size. */\\nexport function allocateBlock(root: Root, size: usize): Block {\\n let payloadSize = prepareSize(size);\\n let block = searchBlock(root, payloadSize);\\n if (!block) {\\n growMemory(root, payloadSize);\\n block = changetype(searchBlock(root, payloadSize));\\n if (DEBUG) assert(block); // must be found now\\n }\\n if (DEBUG) assert((block.mmInfo & ~TAGS_MASK) >= payloadSize); // must fit\\n removeBlock(root, block);\\n prepareBlock(root, block, payloadSize);\\n if (isDefined(ASC_RTRACE)) onalloc(block);\\n return block;\\n}\\n\\n/** Reallocates a block to the specified size. */\\nexport function reallocateBlock(root: Root, block: Block, size: usize): Block {\\n let payloadSize = prepareSize(size);\\n let blockInfo = block.mmInfo;\\n let blockSize = blockInfo & ~TAGS_MASK;\\n\\n // possibly split and update runtime size if it still fits\\n if (payloadSize <= blockSize) {\\n prepareBlock(root, block, payloadSize);\\n if (isDefined(ASC_RTRACE)) {\\n if (payloadSize != blockSize) onresize(block, BLOCK_OVERHEAD + blockSize);\\n }\\n return block;\\n }\\n\\n // merge with right free block if merger is large enough\\n let right = GETRIGHT(block);\\n let rightInfo = right.mmInfo;\\n if (rightInfo & FREE) {\\n let mergeSize = blockSize + BLOCK_OVERHEAD + (rightInfo & ~TAGS_MASK);\\n if (mergeSize >= payloadSize) {\\n removeBlock(root, right);\\n block.mmInfo = (blockInfo & TAGS_MASK) | mergeSize;\\n prepareBlock(root, block, payloadSize);\\n if (isDefined(ASC_RTRACE)) onresize(block, BLOCK_OVERHEAD + blockSize);\\n return block;\\n }\\n }\\n\\n // otherwise move the block\\n return moveBlock(root, block, size);\\n}\\n\\n/** Moves a block to a new one of the specified size. */\\nfunction moveBlock(root: Root, block: Block, newSize: usize): Block {\\n let newBlock = allocateBlock(root, newSize);\\n memory.copy(changetype(newBlock) + BLOCK_OVERHEAD, changetype(block) + BLOCK_OVERHEAD, block.mmInfo & ~TAGS_MASK);\\n if (changetype(block) >= __heap_base) {\\n if (isDefined(ASC_RTRACE)) onmove(block, newBlock);\\n freeBlock(root, block);\\n }\\n return newBlock;\\n}\\n\\n/** Frees a block. */\\nexport function freeBlock(root: Root, block: Block): void {\\n if (isDefined(ASC_RTRACE)) onfree(block);\\n block.mmInfo = block.mmInfo | FREE;\\n insertBlock(root, block);\\n}\\n\\n/** Checks that a used block is valid to be freed or reallocated. */\\nfunction checkUsedBlock(ptr: usize): Block {\\n let block = changetype(ptr - BLOCK_OVERHEAD);\\n assert(\\n ptr != 0 && !(ptr & AL_MASK) && // must exist and be aligned\\n !(block.mmInfo & FREE) // must be used\\n );\\n return block;\\n}\\n\\n// @ts-ignore: decorator\\n@global @unsafe\\nexport function __alloc(size: usize): usize {\\n if (!ROOT) initialize();\\n return changetype(allocateBlock(ROOT, size)) + BLOCK_OVERHEAD;\\n}\\n\\n// @ts-ignore: decorator\\n@global @unsafe\\nexport function __realloc(ptr: usize, size: usize): usize {\\n if (!ROOT) initialize();\\n return (ptr < __heap_base\\n ? changetype(moveBlock(ROOT, checkUsedBlock(ptr), size))\\n : changetype(reallocateBlock(ROOT, checkUsedBlock(ptr), size))\\n ) + BLOCK_OVERHEAD;\\n}\\n\\n// @ts-ignore: decorator\\n@global @unsafe\\nexport function __free(ptr: usize): void {\\n if (ptr < __heap_base) return;\\n if (!ROOT) initialize();\\n freeBlock(ROOT, checkUsedBlock(ptr));\\n}\\n\",\n \"set\": \"/// \\n\\nimport { HASH } from \\\"./util/hash\\\";\\n\\n// A deterministic hash set based on CloseTable from https://github.com/jorendorff/dht\\n\\n// @ts-ignore: decorator\\n@inline const INITIAL_CAPACITY = 4;\\n\\n// @ts-ignore: decorator\\n@inline const FILL_FACTOR_N = 8;\\n\\n// @ts-ignore: decorator\\n@inline const FILL_FACTOR_D = 3;\\n\\n// @ts-ignore: decorator\\n@inline const FREE_FACTOR_N = 3;\\n\\n// @ts-ignore: decorator\\n@inline const FREE_FACTOR_D = 4;\\n\\n/** Structure of a set entry. */\\n@unmanaged class SetEntry {\\n key: K;\\n taggedNext: usize; // LSB=1 indicates EMPTY\\n}\\n\\n/** Empty bit. */\\n// @ts-ignore: decorator\\n@inline const EMPTY: usize = 1 << 0;\\n\\n/** Size of a bucket. */\\n// @ts-ignore: decorator\\n@inline const BUCKET_SIZE = sizeof();\\n\\n/** Computes the alignment of an entry. */\\n// @ts-ignore: decorator\\n@inline\\nfunction ENTRY_ALIGN(): usize {\\n // can align to 4 instead of 8 if 32-bit and K is <= 32-bits\\n const align = (sizeof() > sizeof() ? sizeof() : sizeof()) - 1;\\n return align;\\n}\\n\\n/** Computes the aligned size of an entry. */\\n// @ts-ignore: decorator\\n@inline\\nfunction ENTRY_SIZE(): usize {\\n const align = ENTRY_ALIGN();\\n const size = (offsetof>() + align) & ~align;\\n return size;\\n}\\n\\nexport class Set {\\n\\n // buckets referencing their respective first entry, usize[bucketsMask + 1]\\n private buckets: ArrayBuffer = new ArrayBuffer(INITIAL_CAPACITY * BUCKET_SIZE);\\n private bucketsMask: u32 = INITIAL_CAPACITY - 1;\\n\\n // entries in insertion order, SetEntry[entriesCapacity]\\n private entries: ArrayBuffer = new ArrayBuffer(INITIAL_CAPACITY * ENTRY_SIZE());\\n private entriesCapacity: i32 = INITIAL_CAPACITY;\\n private entriesOffset: i32 = 0;\\n private entriesCount: i32 = 0;\\n\\n constructor() {\\n /* nop */\\n }\\n\\n get size(): i32 {\\n return this.entriesCount;\\n }\\n\\n clear(): void {\\n this.buckets = new ArrayBuffer(INITIAL_CAPACITY * BUCKET_SIZE);\\n this.bucketsMask = INITIAL_CAPACITY - 1;\\n this.entries = new ArrayBuffer(INITIAL_CAPACITY * ENTRY_SIZE());\\n this.entriesCapacity = INITIAL_CAPACITY;\\n this.entriesOffset = 0;\\n this.entriesCount = 0;\\n }\\n\\n private find(key: T, hashCode: u32): SetEntry | null {\\n let entry = load>( // unmanaged!\\n changetype(this.buckets) + (hashCode & this.bucketsMask) * BUCKET_SIZE\\n );\\n while (entry) {\\n let taggedNext = entry.taggedNext;\\n if (!(taggedNext & EMPTY) && entry.key == key) return entry;\\n entry = changetype>(taggedNext & ~EMPTY);\\n }\\n return null;\\n }\\n\\n @operator(\\\"[]\\\")\\n has(key: T): bool {\\n return this.find(key, HASH(key)) != null;\\n }\\n\\n add(key: T): this {\\n let hashCode = HASH(key);\\n let entry = this.find(key, hashCode); // unmanaged!\\n if (!entry) {\\n // check if rehashing is necessary\\n if (this.entriesOffset == this.entriesCapacity) {\\n this.rehash(\\n this.entriesCount < this.entriesCapacity * FREE_FACTOR_N / FREE_FACTOR_D\\n ? this.bucketsMask // just rehash if 1/4+ entries are empty\\n : (this.bucketsMask << 1) | 1 // grow capacity to next 2^N\\n );\\n }\\n // append new entry\\n entry = changetype>(changetype(this.entries) + (this.entriesOffset++) * ENTRY_SIZE());\\n entry.key = key;\\n if (isManaged()) {\\n __link(changetype(this), changetype(key), true);\\n }\\n ++this.entriesCount;\\n // link with previous entry in bucket\\n let bucketPtrBase = changetype(this.buckets) + (hashCode & this.bucketsMask) * BUCKET_SIZE;\\n entry.taggedNext = load(bucketPtrBase);\\n store(bucketPtrBase, changetype(entry));\\n }\\n return this;\\n }\\n\\n @operator(\\\"[]=\\\")\\n private __set(key: T, value: bool): void {\\n if (value) this.add(key);\\n else this.delete(key);\\n }\\n\\n delete(key: T): bool {\\n let entry = this.find(key, HASH(key)); // unmanaged!\\n if (!entry) return false;\\n entry.taggedNext |= EMPTY;\\n --this.entriesCount;\\n // check if rehashing is appropriate\\n let halfBucketsMask = this.bucketsMask >> 1;\\n if (\\n halfBucketsMask + 1 >= max(INITIAL_CAPACITY, this.entriesCount) &&\\n this.entriesCount < this.entriesCapacity * FREE_FACTOR_N / FREE_FACTOR_D\\n ) this.rehash(halfBucketsMask);\\n return true;\\n }\\n\\n private rehash(newBucketsMask: u32): void {\\n let newBucketsCapacity = (newBucketsMask + 1);\\n let newBuckets = new ArrayBuffer(newBucketsCapacity * BUCKET_SIZE);\\n let newEntriesCapacity = newBucketsCapacity * FILL_FACTOR_N / FILL_FACTOR_D;\\n let newEntries = new ArrayBuffer(newEntriesCapacity * ENTRY_SIZE());\\n\\n // copy old entries to new entries\\n let oldPtr = changetype(this.entries);\\n let oldEnd = oldPtr + this.entriesOffset * ENTRY_SIZE();\\n let newPtr = changetype(newEntries);\\n while (oldPtr != oldEnd) {\\n let oldEntry = changetype>(oldPtr); // unmanaged!\\n if (!(oldEntry.taggedNext & EMPTY)) {\\n let newEntry = changetype>(newPtr); // unmanaged!\\n let oldEntryKey = oldEntry.key;\\n newEntry.key = oldEntryKey;\\n let newBucketIndex = HASH(oldEntryKey) & newBucketsMask;\\n let newBucketPtrBase = changetype(newBuckets) + newBucketIndex * BUCKET_SIZE;\\n newEntry.taggedNext = load(newBucketPtrBase);\\n store(newBucketPtrBase, newPtr);\\n newPtr += ENTRY_SIZE();\\n }\\n oldPtr += ENTRY_SIZE();\\n }\\n\\n this.buckets = newBuckets;\\n this.bucketsMask = newBucketsMask;\\n this.entries = newEntries;\\n this.entriesCapacity = newEntriesCapacity;\\n this.entriesOffset = this.entriesCount;\\n }\\n\\n values(): T[] {\\n // FIXME: this is preliminary, needs iterators/closures\\n let start = changetype(this.entries);\\n let size = this.entriesOffset;\\n let values = new Array(size);\\n let length = 0;\\n for (let i = 0; i < size; ++i) {\\n let entry = changetype>(start + i * ENTRY_SIZE());\\n if (!(entry.taggedNext & EMPTY)) {\\n unchecked(values[length++] = entry.key);\\n }\\n }\\n values.length = length;\\n return values;\\n }\\n\\n toString(): string {\\n return \\\"[object Set]\\\";\\n }\\n\\n // RT integration\\n\\n @unsafe private __visit(cookie: u32): void {\\n __visit(changetype(this.buckets), cookie);\\n let entries = changetype(this.entries);\\n if (isManaged()) {\\n let cur = entries;\\n let end = cur + this.entriesOffset * ENTRY_SIZE();\\n while (cur < end) {\\n let entry = changetype>(cur);\\n if (!(entry.taggedNext & EMPTY)) {\\n let val = changetype(entry.key);\\n if (isNullable()) {\\n if (val) __visit(val, cookie);\\n } else __visit(val, cookie);\\n }\\n cur += ENTRY_SIZE();\\n }\\n }\\n __visit(entries, cookie);\\n }\\n}\\n\",\n \"shared/feature\": \"// This file is shared with the compiler and must remain portable\\n\\n/** Indicates specific features to activate. */\\nexport const enum Feature {\\n /** No additional features. */\\n None = 0,\\n /** Sign extension operations. */\\n SignExtension = 1 << 0, // see: https://github.com/WebAssembly/sign-extension-ops\\n /** Mutable global imports and exports. */\\n MutableGlobals = 1 << 1, // see: https://github.com/WebAssembly/mutable-global\\n /** Non-trapping float to integer operations. */\\n NontrappingF2I = 1 << 2, // see: https://github.com/WebAssembly/nontrapping-float-to-int-conversions\\n /** Bulk memory operations. */\\n BulkMemory = 1 << 3, // see: https://github.com/WebAssembly/bulk-memory-operations\\n /** SIMD types and operations. */\\n Simd = 1 << 4, // see: https://github.com/WebAssembly/simd\\n /** Threading and atomic operations. */\\n Threads = 1 << 5, // see: https://github.com/WebAssembly/threads\\n /** Exception handling operations. */\\n ExceptionHandling = 1 << 6, // see: https://github.com/WebAssembly/exception-handling\\n /** Tail call operations. */\\n TailCalls = 1 << 7, // see: https://github.com/WebAssembly/tail-call\\n /** Reference types. */\\n ReferenceTypes = 1 << 8, // see: https://github.com/WebAssembly/reference-types\\n /** Multi value types. */\\n MultiValue = 1 << 9, // see: https://github.com/WebAssembly/multi-value\\n /** Garbage collection. */\\n GC = 1 << 10, // see: https://github.com/WebAssembly/gc\\n /** Memory64. */\\n Memory64 = 1 << 11, // see: https://github.com/WebAssembly/memory64\\n /** Relaxed SIMD. */\\n RelaxedSimd = 1 << 12, // see: https://github.com/WebAssembly/relaxed-simd\\n /** Extended const expressions. */\\n ExtendedConst = 1 << 13, // see: https://github.com/WebAssembly/extended-const\\n /** Reference typed strings. */\\n Stringref = 1 << 14, // see: https://github.com/WebAssembly/stringref\\n /** All features. */\\n All = (1 << 15) - 1\\n}\\n\\n/** Gets the name of the specified feature one would specify on the command line. */\\nexport function featureToString(feature: Feature): string {\\n switch (feature) {\\n case Feature.SignExtension: return \\\"sign-extension\\\";\\n case Feature.MutableGlobals: return \\\"mutable-globals\\\";\\n case Feature.NontrappingF2I: return \\\"nontrapping-f2i\\\";\\n case Feature.BulkMemory: return \\\"bulk-memory\\\";\\n case Feature.Simd: return \\\"simd\\\";\\n case Feature.Threads: return \\\"threads\\\";\\n case Feature.ExceptionHandling: return \\\"exception-handling\\\";\\n case Feature.TailCalls: return \\\"tail-calls\\\";\\n case Feature.ReferenceTypes: return \\\"reference-types\\\";\\n case Feature.MultiValue: return \\\"multi-value\\\";\\n case Feature.GC: return \\\"gc\\\";\\n case Feature.Memory64: return \\\"memory64\\\";\\n case Feature.RelaxedSimd: return \\\"relaxed-simd\\\";\\n case Feature.ExtendedConst: return \\\"extended-const\\\";\\n case Feature.Stringref: return \\\"stringref\\\";\\n }\\n assert(false);\\n return \\\"\\\";\\n}\\n\",\n \"shared/runtime\": \"// This file is shared with the compiler and must remain portable\\n\\n/** Runtime types. */\\nexport enum Runtime {\\n /** Simple bump allocator without GC. */\\n Stub = 0,\\n /** Stop the world semi-automatic GC. */\\n Minimal = 1,\\n /** incremental GC. */\\n Incremental = 2,\\n}\\n\",\n \"shared/target\": \"// This file is shared with the compiler and must remain portable\\n\\n/** Compilation target. */\\nexport enum Target {\\n /** Portable. */\\n Js = 0,\\n /** WebAssembly with 32-bit pointers. */\\n Wasm32 = 1,\\n /** WebAssembly with 64-bit pointers. Experimental and not supported by any runtime yet. */\\n Wasm64 = 2,\\n}\\n\",\n \"shared/typeinfo\": \"// This file is shared with the compiler and must remain portable\\n\\n// \u2552\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 Typeinfo interpretation \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2555\\n// 3 2 1\\n// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 bits\\n// \u251C\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2524 \u25C4\u2500 __rtti_base\\n// \u2502 count \u2502\\n// \u255E\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2561 \u2510\\n// \u2502 Typeinfo#flags [id=0] \u2502 id < count\\n// \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524\\n// \u2502 ... \u2502\\n\\n/** Runtime type information data structure. */\\n@unmanaged\\nexport class Typeinfo {\\n /** Flags describing the shape of this class type. */\\n flags: TypeinfoFlags = TypeinfoFlags.NONE;\\n}\\n\\n/** Runtime type information flags. */\\nexport const enum TypeinfoFlags {\\n /** No specific flags. */\\n NONE = 0,\\n /** Type is an `ArrayBufferView`. */\\n ARRAYBUFFERVIEW = 1 << 0,\\n /** Type is an `Array`. */\\n ARRAY = 1 << 1,\\n /** Type is a `StaticArray`. */\\n STATICARRAY = 1 << 2,\\n /** Type is a `Set`. */\\n SET = 1 << 3,\\n /** Type is a `Map`. */\\n MAP = 1 << 4,\\n /** Type has no outgoing pointers. */\\n POINTERFREE = 1 << 5,\\n /** Value alignment of 1 byte. */\\n VALUE_ALIGN_0 = 1 << 6,\\n /** Value alignment of 2 bytes. */\\n VALUE_ALIGN_1 = 1 << 7,\\n /** Value alignment of 4 bytes. */\\n VALUE_ALIGN_2 = 1 << 8,\\n /** Value alignment of 8 bytes. */\\n VALUE_ALIGN_3 = 1 << 9,\\n /** Value alignment of 16 bytes. */\\n VALUE_ALIGN_4 = 1 << 10,\\n /** Value is a signed type. */\\n VALUE_SIGNED = 1 << 11,\\n /** Value is a float type. */\\n VALUE_FLOAT = 1 << 12,\\n /** Value type is nullable. */\\n VALUE_NULLABLE = 1 << 13,\\n /** Value type is managed. */\\n VALUE_MANAGED = 1 << 14,\\n /** Key alignment of 1 byte. */\\n KEY_ALIGN_0 = 1 << 15,\\n /** Key alignment of 2 bytes. */\\n KEY_ALIGN_1 = 1 << 16,\\n /** Key alignment of 4 bytes. */\\n KEY_ALIGN_2 = 1 << 17,\\n /** Key alignment of 8 bytes. */\\n KEY_ALIGN_3 = 1 << 18,\\n /** Key alignment of 16 bytes. */\\n KEY_ALIGN_4 = 1 << 19,\\n /** Key is a signed type. */\\n KEY_SIGNED = 1 << 20,\\n /** Key is a float type. */\\n KEY_FLOAT = 1 << 21,\\n /** Key type is nullable. */\\n KEY_NULLABLE = 1 << 22,\\n /** Key type is managed. */\\n KEY_MANAGED = 1 << 23\\n}\\n\",\n \"staticarray\": \"/// \\n\\nimport { OBJECT, BLOCK_MAXSIZE, TOTAL_OVERHEAD } from \\\"./rt/common\\\";\\nimport { Runtime } from \\\"shared/runtime\\\";\\nimport { COMPARATOR, SORT } from \\\"./util/sort\\\";\\nimport { REVERSE, FILL } from \\\"./util/bytes\\\";\\nimport { idof } from \\\"./builtins\\\";\\nimport { Array } from \\\"./array\\\";\\nimport { E_INDEXOUTOFRANGE, E_INVALIDLENGTH, E_HOLEYARRAY } from \\\"./util/error\\\";\\nimport { joinBooleanArray, joinIntegerArray, joinFloatArray, joinStringArray, joinReferenceArray } from \\\"./util/string\\\";\\n\\n@final\\nexport class StaticArray {\\n [key: number]: T;\\n\\n // Note that the interface of StaticArray instances must be a semantically\\n // compatible subset of Array in order for syntax highlighting to work\\n // properly, for instance when creating static arrays from array literals.\\n // The additionally provided static methods take care of dealing with static\\n // arrays exclusively, without having to convert to Array first.\\n\\n static fromArray(source: Array): StaticArray {\\n let length = source.length;\\n let outSize = length << alignof();\\n let out = changetype>(__new(outSize, idof>()));\\n if (isManaged()) {\\n let sourcePtr = source.dataStart;\\n for (let i = 0; i < length; ++i) {\\n let off = i << alignof();\\n let ref = load(sourcePtr + off);\\n store(changetype(out) + off, ref);\\n __link(changetype(out), ref, true);\\n }\\n } else {\\n memory.copy(changetype(out), source.dataStart, outSize);\\n }\\n return out;\\n }\\n\\n /** @deprecated Please use source.concat> instead. */\\n static concat(source: StaticArray, other: StaticArray): StaticArray {\\n return source.concat>(other);\\n }\\n\\n /** @deprecated Please use source.slice> instead. */\\n static slice(source: StaticArray, start: i32 = 0, end: i32 = i32.MAX_VALUE): StaticArray {\\n return source.slice>(start, end);\\n }\\n\\n constructor(length: i32) {\\n if (length > BLOCK_MAXSIZE >>> alignof()) throw new RangeError(E_INVALIDLENGTH);\\n let outSize = length << alignof();\\n let out = changetype>(__new(outSize, idof>()));\\n if (ASC_RUNTIME != Runtime.Incremental) {\\n memory.fill(changetype(out), 0, outSize);\\n }\\n return out;\\n }\\n\\n get length(): i32 {\\n return changetype(changetype(this) - TOTAL_OVERHEAD).rtSize >>> alignof();\\n }\\n\\n at(index: i32): T {\\n let len = this.length;\\n index += select(0, len, index >= 0);\\n if (index >= len) throw new RangeError(E_INDEXOUTOFRANGE);\\n let value = load(changetype(this) + (index << alignof()));\\n if (isReference()) {\\n if (!isNullable()) {\\n if (!changetype(value)) throw new Error(E_HOLEYARRAY);\\n }\\n }\\n return value;\\n }\\n\\n @operator(\\\"[]\\\") private __get(index: i32): T {\\n if (index >= this.length) throw new RangeError(E_INDEXOUTOFRANGE);\\n let value = load(changetype(this) + (index << alignof()));\\n if (isReference()) {\\n if (!isNullable()) {\\n if (!changetype(value)) throw new Error(E_HOLEYARRAY);\\n }\\n }\\n return value;\\n }\\n\\n @unsafe @operator(\\\"{}\\\") private __uget(index: i32): T {\\n return load(changetype(this) + (index << alignof()));\\n }\\n\\n @operator(\\\"[]=\\\") private __set(index: i32, value: T): void {\\n if (index >= this.length) throw new RangeError(E_INDEXOUTOFRANGE);\\n this.__uset(index, value);\\n }\\n\\n @unsafe @operator(\\\"{}=\\\") private __uset(index: i32, value: T): void {\\n store(changetype(this) + (index << alignof()), value);\\n if (isManaged()) {\\n __link(changetype(this), changetype(value), true);\\n }\\n }\\n\\n fill(value: T, start: i32 = 0, end: i32 = i32.MAX_VALUE): StaticArray {\\n if (isManaged()) {\\n FILL(changetype(this), this.length, changetype(value), start, end);\\n __link(changetype(this), changetype(value), false);\\n } else {\\n FILL(changetype(this), this.length, value, start, end);\\n }\\n return this;\\n }\\n\\n copyWithin(target: i32, start: i32, end: i32 = i32.MAX_VALUE): StaticArray {\\n let ptr = changetype(this);\\n let len = this.length;\\n\\n end = min(end, len);\\n\\n let to = target < 0 ? max(len + target, 0) : min(target, len);\\n let from = start < 0 ? max(len + start, 0) : min(start, len);\\n let last = end < 0 ? max(len + end, 0) : min(end, len);\\n let count = min(last - from, len - to);\\n\\n memory.copy( // is memmove\\n ptr + (to << alignof()),\\n ptr + (from << alignof()),\\n count << alignof()\\n );\\n return this;\\n }\\n\\n includes(value: T, fromIndex: i32 = 0): bool {\\n if (isFloat()) {\\n let length = this.length;\\n if (length == 0 || fromIndex >= length) return false;\\n if (fromIndex < 0) fromIndex = max(length + fromIndex, 0);\\n while (fromIndex < length) {\\n let elem = load(changetype(this) + (fromIndex << alignof()));\\n // @ts-ignore\\n if (elem == value || isNaN(elem) & isNaN(value)) return true;\\n ++fromIndex;\\n }\\n return false;\\n } else {\\n return this.indexOf(value, fromIndex) >= 0;\\n }\\n }\\n\\n indexOf(value: T, fromIndex: i32 = 0): i32 {\\n let length = this.length;\\n if (length == 0 || fromIndex >= length) return -1;\\n if (fromIndex < 0) fromIndex = max(length + fromIndex, 0);\\n while (fromIndex < length) {\\n if (load(changetype(this) + (fromIndex << alignof())) == value) return fromIndex;\\n ++fromIndex;\\n }\\n return -1;\\n }\\n\\n lastIndexOf(value: T, fromIndex: i32 = this.length): i32 {\\n let length = this.length;\\n if (length == 0) return -1;\\n if (fromIndex < 0) fromIndex = length + fromIndex;\\n else if (fromIndex >= length) fromIndex = length - 1;\\n while (fromIndex >= 0) {\\n if (load(changetype(this) + (fromIndex << alignof())) == value) return fromIndex;\\n --fromIndex;\\n }\\n return -1;\\n }\\n\\n concat = Array>(other: U): U {\\n let sourceLen = this.length;\\n let otherLen = other.length;\\n let outLen = sourceLen + otherLen;\\n if (outLen > BLOCK_MAXSIZE >>> alignof()) {\\n throw new Error(E_INVALIDLENGTH);\\n }\\n let sourceSize = sourceLen << alignof();\\n let out = changetype(this); // FIXME: instanceof needs *some* value\\n\\n if (out instanceof Array) {\\n out = changetype(__newArray(outLen, alignof(), idof>()));\\n // ^ FIXME: Function returns type U, but can't __newArray(U extends Array)\\n let outStart = changetype>(out).dataStart;\\n let otherStart = changetype>(other).dataStart;\\n let thisStart = changetype(this);\\n\\n if (isManaged()) {\\n for (let offset: usize = 0; offset < sourceSize; offset += sizeof()) {\\n let ref = load(thisStart + offset);\\n store(outStart + offset, ref);\\n __link(changetype(out), ref, true);\\n }\\n outStart += sourceSize;\\n let otherSize = otherLen << alignof();\\n for (let offset: usize = 0; offset < otherSize; offset += sizeof()) {\\n let ref = load(otherStart + offset);\\n store(outStart + offset, ref);\\n __link(changetype(out), ref, true);\\n }\\n } else {\\n memory.copy(outStart, thisStart, sourceSize);\\n memory.copy(outStart + sourceSize, otherStart, otherLen << alignof());\\n }\\n } else if (out instanceof StaticArray) {\\n out = changetype(__new(outLen << alignof(), idof>()));\\n let outStart = changetype(out);\\n let otherStart = changetype(other);\\n let thisStart = changetype(this);\\n\\n if (isManaged()) {\\n for (let offset: usize = 0; offset < sourceSize; offset += sizeof()) {\\n let ref = load(thisStart + offset);\\n store(outStart + offset, ref);\\n __link(changetype(out), ref, true);\\n }\\n outStart += sourceSize;\\n let otherSize = otherLen << alignof();\\n for (let offset: usize = 0; offset < otherSize; offset += sizeof()) {\\n let ref = load(otherStart + offset);\\n store(outStart + offset, ref);\\n __link(changetype(out), ref, true);\\n }\\n } else {\\n memory.copy(outStart, thisStart, sourceSize);\\n memory.copy(outStart + sourceSize, otherStart, otherLen << alignof());\\n }\\n } else {\\n ERROR(\\\"Only Array and StaticArray accept for 'U' parameter\\\");\\n }\\n return out;\\n }\\n\\n slice = Array>(start: i32 = 0, end: i32 = i32.MAX_VALUE): U {\\n let length = this.length;\\n start = start < 0 ? max(start + length, 0) : min(start, length);\\n end = end < 0 ? max(end + length, 0) : min(end, length);\\n length = max(end - start, 0);\\n\\n let sourceStart = changetype(this) + (start << alignof());\\n let size = length << alignof();\\n let out = changetype(this); // FIXME: instanceof needs *some* value\\n\\n if (out instanceof Array) {\\n // return Array\\n out = changetype(__newArray(length, alignof(), idof>()));\\n // ^ FIXME: Function returns type U, but can't __newArray(U extends Array)\\n let outStart = changetype>(out).dataStart;\\n if (isManaged()) {\\n let off: usize = 0;\\n while (off < size) {\\n let ref = load(sourceStart + off);\\n store(outStart + off, ref);\\n __link(changetype(out), ref, true);\\n off += sizeof();\\n }\\n } else {\\n memory.copy(outStart, sourceStart, size);\\n }\\n } else if (out instanceof StaticArray) {\\n // return StaticArray\\n out = changetype(__new(size, idof>()));\\n let outStart = changetype(out);\\n if (isManaged()) {\\n let off: usize = 0;\\n while (off < size) {\\n let ref = load(sourceStart + off);\\n store(outStart + off, ref);\\n __link(outStart, ref, true);\\n off += sizeof();\\n }\\n } else {\\n memory.copy(outStart, sourceStart, size);\\n }\\n } else {\\n ERROR(\\\"Only Array and StaticArray accept for 'U' parameter\\\");\\n }\\n return out;\\n }\\n\\n findIndex(fn: (value: T, index: i32, array: StaticArray) => bool): i32 {\\n for (let i = 0, len = this.length; i < len; ++i) {\\n if (fn(load(changetype(this) + (i << alignof())), i, this)) return i;\\n }\\n return -1;\\n }\\n\\n findLastIndex(fn: (value: T, index: i32, array: StaticArray) => bool): i32 {\\n for (let i = this.length - 1; i >= 0; --i) {\\n if (fn(load(changetype(this) + (i << alignof())), i, this)) return i;\\n }\\n return -1;\\n }\\n\\n forEach(fn: (value: T, index: i32, array: StaticArray) => void): void {\\n for (let i = 0, len = this.length; i < len; ++i) {\\n fn(load(changetype(this) + (i << alignof())), i, this);\\n }\\n }\\n\\n map(fn: (value: T, index: i32, array: StaticArray) => U): Array {\\n let len = this.length;\\n let out = changetype>(__newArray(len, alignof(), idof>()));\\n let outStart = out.dataStart;\\n for (let i = 0; i < len; ++i) {\\n let result = fn(load(changetype(this) + (i << alignof())), i, this);\\n store(outStart + (i << alignof()), result);\\n if (isManaged()) {\\n __link(changetype(out), changetype(result), true);\\n }\\n }\\n return out;\\n }\\n\\n filter(fn: (value: T, index: i32, array: StaticArray) => bool): Array {\\n let result = changetype>(__newArray(0, alignof(), idof>()));\\n for (let i = 0, len = this.length; i < len; ++i) {\\n let value = load(changetype(this) + (i << alignof()));\\n if (fn(value, i, this)) result.push(value);\\n }\\n return result;\\n }\\n\\n reduce(\\n fn: (previousValue: U, currentValue: T, currentIndex: i32, array: StaticArray) => U,\\n initialValue: U\\n ): U {\\n let acc = initialValue;\\n for (let i = 0, len = this.length; i < len; ++i) {\\n acc = fn(acc, load(changetype(this) + (i << alignof())), i, this);\\n }\\n return acc;\\n }\\n\\n reduceRight(\\n fn: (previousValue: U, currentValue: T, currentIndex: i32, array: StaticArray) => U,\\n initialValue: U\\n ): U {\\n let acc = initialValue;\\n for (let i = this.length - 1; i >= 0; --i) {\\n acc = fn(acc, load(changetype(this) + (i << alignof())), i, this);\\n }\\n return acc;\\n }\\n\\n every(fn: (value: T, index: i32, array: StaticArray) => bool): bool {\\n for (let i = 0, len = this.length; i < len; ++i) {\\n if (!fn(load(changetype(this) + (i << alignof())), i, this)) return false;\\n }\\n return true;\\n }\\n\\n some(fn: (value: T, index: i32, array: StaticArray) => bool): bool {\\n for (let i = 0, len = this.length; i < len; ++i) {\\n if (fn(load(changetype(this) + (i << alignof())), i, this)) return true;\\n }\\n return false;\\n }\\n\\n sort(comparator: (a: T, b: T) => i32 = COMPARATOR()): StaticArray {\\n SORT(changetype(this), this.length, comparator);\\n return this;\\n }\\n\\n join(separator: string = \\\",\\\"): string {\\n if (isBoolean()) return joinBooleanArray(changetype(this), this.length, separator);\\n if (isInteger()) return joinIntegerArray(changetype(this), this.length, separator);\\n if (isFloat()) return joinFloatArray(changetype(this), this.length, separator);\\n if (ASC_SHRINK_LEVEL < 1) {\\n if (isString()) return joinStringArray(changetype(this), this.length, separator);\\n }\\n if (isReference()) return joinReferenceArray(changetype(this), this.length, separator);\\n ERROR(\\\"unspported element type\\\");\\n return unreachable();\\n }\\n\\n reverse(): StaticArray {\\n REVERSE(changetype(this), this.length);\\n return this;\\n }\\n\\n toString(): string {\\n return this.join();\\n }\\n\\n // RT integration\\n\\n @unsafe private __visit(cookie: u32): void {\\n if (isManaged()) {\\n let cur = changetype(this);\\n let end = cur + changetype(changetype(this) - TOTAL_OVERHEAD).rtSize;\\n while (cur < end) {\\n let val = load(cur);\\n if (val) __visit(val, cookie);\\n cur += sizeof();\\n }\\n }\\n }\\n}\\n\",\n \"string\": \"/// \\n\\nimport { OBJECT, BLOCK_MAXSIZE, TOTAL_OVERHEAD } from \\\"./rt/common\\\";\\nimport { compareImpl, strtol, strtod, isSpace, isAscii, isFinalSigma, toLower8, toUpper8 } from \\\"./util/string\\\";\\nimport { SPECIALS_UPPER, casemap, bsearch } from \\\"./util/casemap\\\";\\nimport { E_INDEXOUTOFRANGE, E_INVALIDLENGTH, E_UNPAIRED_SURROGATE } from \\\"./util/error\\\";\\nimport { idof } from \\\"./builtins\\\";\\nimport { Array } from \\\"./array\\\";\\n\\n@final export abstract class String {\\n\\n @lazy static readonly MAX_LENGTH: i32 = (BLOCK_MAXSIZE >>> alignof());\\n\\n static fromCharCode(unit: i32, surr: i32 = -1): String {\\n let hasSur = surr > 0;\\n let out = changetype(__new(2 << i32(hasSur), idof()));\\n store(changetype(out), unit);\\n if (hasSur) store(changetype(out), surr, 2);\\n return out;\\n }\\n\\n static fromCharCodes(units: Array): String {\\n let length = units.length;\\n let out = changetype(__new(length << 1, idof()));\\n let ptr = units.dataStart;\\n for (let i = 0; i < length; ++i) {\\n store(changetype(out) + (i << 1), load(ptr + (i << 2)));\\n }\\n return out;\\n }\\n\\n static fromCodePoint(code: i32): String {\\n let hasSur = code > 0xFFFF;\\n let out = changetype(__new(2 << i32(hasSur), idof()));\\n if (!hasSur) {\\n store(changetype(out), code);\\n } else {\\n // Checks valid code point range\\n assert(code <= 0x10FFFF);\\n code -= 0x10000;\\n let hi = (code & 0x03FF) | 0xDC00;\\n let lo = code >>> 10 | 0xD800;\\n store(changetype(out), lo | hi << 16);\\n }\\n return out;\\n }\\n\\n @builtin static raw(parts: TemplateStringsArray, ...args: unknown[]): string { return unreachable(); }\\n\\n get length(): i32 {\\n return changetype(changetype(this) - TOTAL_OVERHEAD).rtSize >> 1;\\n }\\n\\n at(pos: i32): String {\\n let len = this.length;\\n pos += select(0, len, pos >= 0);\\n if (pos >= len) throw new RangeError(E_INDEXOUTOFRANGE);\\n let out = __new(2, idof());\\n store(out, load(changetype(this) + (pos << 1)));\\n return changetype(out); // retains\\n }\\n\\n @operator(\\\"[]\\\") charAt(pos: i32): String {\\n if (pos >= this.length) return changetype(\\\"\\\");\\n let out = changetype(__new(2, idof()));\\n store(changetype(out), load(changetype(this) + (pos << 1)));\\n return out;\\n }\\n\\n charCodeAt(pos: i32): i32 {\\n if (pos >= this.length) return -1; // (NaN)\\n return load(changetype(this) + (pos << 1));\\n }\\n\\n codePointAt(pos: i32): i32 {\\n let len = this.length;\\n if (pos >= len) return -1; // (undefined)\\n let first = load(changetype(this) + (pos << 1));\\n if ((first & 0xFC00) != 0xD800 || pos + 1 == len) return first;\\n let second = load(changetype(this) + (pos << 1), 2);\\n if ((second & 0xFC00) != 0xDC00) return first;\\n return (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\\n }\\n\\n @operator(\\\"+\\\") private static __concat(left: String, right: String): String {\\n return left.concat(right);\\n }\\n\\n concat(other: String): String {\\n let thisSize: isize = this.length << 1;\\n let otherSize: isize = other.length << 1;\\n let outSize: usize = thisSize + otherSize;\\n if (outSize == 0) return changetype(\\\"\\\");\\n let out = changetype(__new(outSize, idof()));\\n memory.copy(changetype(out), changetype(this), thisSize);\\n memory.copy(changetype(out) + thisSize, changetype(other), otherSize);\\n return out;\\n }\\n\\n endsWith(search: String, end: i32 = String.MAX_LENGTH): bool {\\n end = min(max(end, 0), this.length);\\n let searchLength = search.length;\\n let searchStart = end - searchLength;\\n if (searchStart < 0) return false;\\n // @ts-ignore: string <-> String\\n return !compareImpl(this, searchStart, search, 0, searchLength);\\n }\\n\\n @operator(\\\"==\\\") private static __eq(left: String | null, right: String | null): bool {\\n if (changetype(left) == changetype(right)) return true;\\n if (changetype(left) == 0 || changetype(right) == 0) return false;\\n let leftLength = changetype(left).length;\\n if (leftLength != changetype(right).length) return false;\\n // @ts-ignore: string <-> String\\n return !compareImpl(left, 0, right, 0, leftLength);\\n }\\n\\n @operator.prefix(\\\"!\\\")\\n private static __not(str: String | null): bool {\\n return changetype(str) == 0 || !changetype(str).length;\\n }\\n\\n @operator(\\\"!=\\\")\\n private static __ne(left: String | null, right: String | null): bool {\\n return !this.__eq(left, right);\\n }\\n\\n @operator(\\\">\\\") private static __gt(left: String, right: String): bool {\\n if (changetype(left) == changetype(right)) return false;\\n let leftLength = left.length;\\n if (!leftLength) return false;\\n let rightLength = right.length;\\n if (!rightLength) return true;\\n // @ts-ignore: string <-> String\\n let res = compareImpl(left, 0, right, 0, min(leftLength, rightLength));\\n return res ? res > 0 : leftLength > rightLength;\\n }\\n\\n @operator(\\\">=\\\") private static __gte(left: String, right: String): bool {\\n return !this.__lt(left, right);\\n }\\n\\n @operator(\\\"<\\\") private static __lt(left: String, right: String): bool {\\n if (changetype(left) == changetype(right)) return false;\\n let rightLength = right.length;\\n if (!rightLength) return false;\\n let leftLength = left.length;\\n if (!leftLength) return true;\\n // @ts-ignore: string <-> String\\n let res = compareImpl(left, 0, right, 0, min(leftLength, rightLength));\\n return res ? res < 0 : leftLength < rightLength;\\n }\\n\\n @operator(\\\"<=\\\") private static __lte(left: String, right: String): bool {\\n return !this.__gt(left, right);\\n }\\n\\n includes(search: String, start: i32 = 0): bool {\\n return this.indexOf(search, start) != -1;\\n }\\n\\n indexOf(search: String, start: i32 = 0): i32 {\\n let searchLen = search.length;\\n if (!searchLen) return 0;\\n let len = this.length;\\n if (!len) return -1;\\n let searchStart = min(max(start, 0), len);\\n for (len -= searchLen; searchStart <= len; ++searchStart) {\\n // @ts-ignore: string <-> String\\n if (!compareImpl(this, searchStart, search, 0, searchLen)) return searchStart;\\n }\\n return -1;\\n }\\n\\n lastIndexOf(search: String, start: i32 = i32.MAX_VALUE): i32 {\\n let searchLen = search.length;\\n if (!searchLen) return this.length;\\n let len = this.length;\\n if (!len) return -1;\\n let searchStart = min(max(start, 0), len - searchLen);\\n for (; searchStart >= 0; --searchStart) {\\n // @ts-ignore: string <-> String\\n if (!compareImpl(this, searchStart, search, 0, searchLen)) return searchStart;\\n }\\n return -1;\\n }\\n\\n // TODO: implement full locale comparison with locales and Collator options\\n localeCompare(other: String): i32 {\\n if (changetype(other) == changetype(this)) return 0;\\n let alen = this.length;\\n let blen = other.length;\\n // @ts-ignore: string <-> String\\n let res = compareImpl(this, 0, other, 0, min(alen, blen));\\n res = res ? res : alen - blen;\\n // normalize to [-1, 1] range\\n return i32(res > 0) - i32(res < 0);\\n }\\n\\n startsWith(search: String, start: i32 = 0): bool {\\n let len = this.length;\\n let searchStart = min(max(start, 0), len);\\n let searchLength = search.length;\\n if (searchLength + searchStart > len) return false;\\n // @ts-ignore: string <-> String\\n return !compareImpl(this, searchStart, search, 0, searchLength);\\n }\\n\\n substr(start: i32, length: i32 = i32.MAX_VALUE): String { // legacy\\n let intStart: isize = start;\\n let end: isize = length;\\n let len: isize = this.length;\\n if (intStart < 0) intStart = max(len + intStart, 0);\\n let size = min(max(end, 0), len - intStart) << 1;\\n if (size <= 0) return changetype(\\\"\\\");\\n let out = changetype(__new(size, idof()));\\n memory.copy(changetype(out), changetype(this) + (intStart << 1), size);\\n return out;\\n }\\n\\n substring(start: i32, end: i32 = i32.MAX_VALUE): String {\\n let len: isize = this.length;\\n let finalStart = min(max(start, 0), len);\\n let finalEnd = min(max(end, 0), len);\\n let fromPos = min(finalStart, finalEnd) << 1;\\n let toPos = max(finalStart, finalEnd) << 1;\\n let size = toPos - fromPos;\\n if (!size) return changetype(\\\"\\\");\\n if (!fromPos && toPos == len << 1) return this;\\n let out = changetype(__new(size, idof()));\\n memory.copy(changetype(out), changetype(this) + fromPos, size);\\n return out;\\n }\\n\\n trim(): String {\\n let len = this.length;\\n let size: usize = len << 1;\\n while (size && isSpace(load(changetype(this) + size - 2))) {\\n size -= 2;\\n }\\n let offset: usize = 0;\\n while (offset < size && isSpace(load(changetype(this) + offset))) {\\n offset += 2; size -= 2;\\n }\\n if (!size) return changetype(\\\"\\\");\\n if (!offset && size == len << 1) return this;\\n let out = changetype(__new(size, idof()));\\n memory.copy(changetype(out), changetype(this) + offset, size);\\n return out;\\n }\\n\\n @inline\\n trimLeft(): String {\\n return this.trimStart();\\n }\\n\\n @inline\\n trimRight(): String {\\n return this.trimEnd();\\n }\\n\\n trimStart(): String {\\n let size = this.length << 1;\\n let offset: usize = 0;\\n while (offset < size && isSpace(load(changetype(this) + offset))) {\\n offset += 2;\\n }\\n if (!offset) return this;\\n size -= offset;\\n if (!size) return changetype(\\\"\\\");\\n let out = changetype(__new(size, idof()));\\n memory.copy(changetype(out), changetype(this) + offset, size);\\n return out;\\n }\\n\\n trimEnd(): String {\\n let originalSize = this.length << 1;\\n let size = originalSize;\\n while (size && isSpace(load(changetype(this) + size - 2))) {\\n size -= 2;\\n }\\n if (!size) return changetype(\\\"\\\");\\n if (size == originalSize) return this;\\n let out = changetype(__new(size, idof()));\\n memory.copy(changetype(out), changetype(this), size);\\n return out;\\n }\\n\\n padStart(length: i32, pad: string = \\\" \\\"): String {\\n let thisSize = this.length << 1;\\n let targetSize = length << 1;\\n let padSize = pad.length << 1;\\n if (targetSize < thisSize || !padSize) return this;\\n let prependSize = targetSize - thisSize;\\n let out = changetype(__new(targetSize, idof()));\\n if (prependSize > padSize) {\\n let repeatCount = (prependSize - 2) / padSize;\\n let restBase = repeatCount * padSize;\\n let restSize = prependSize - restBase;\\n memory.repeat(changetype(out), changetype(pad), padSize, repeatCount);\\n memory.copy(changetype(out) + restBase, changetype(pad), restSize);\\n } else {\\n memory.copy(changetype(out), changetype(pad), prependSize);\\n }\\n memory.copy(changetype(out) + prependSize, changetype(this), thisSize);\\n return out;\\n }\\n\\n padEnd(length: i32, pad: string = \\\" \\\"): String {\\n let thisSize = this.length << 1;\\n let targetSize = length << 1;\\n let padSize = pad.length << 1;\\n if (targetSize < thisSize || !padSize) return this;\\n let appendSize = targetSize - thisSize;\\n let out = changetype(__new(targetSize, idof()));\\n memory.copy(changetype(out), changetype(this), thisSize);\\n if (appendSize > padSize) {\\n let repeatCount = (appendSize - 2) / padSize;\\n let restBase = repeatCount * padSize;\\n let restSize = appendSize - restBase;\\n memory.repeat(changetype(out) + thisSize, changetype(pad), padSize, repeatCount);\\n memory.copy(changetype(out) + thisSize + restBase, changetype(pad), restSize);\\n } else {\\n memory.copy(changetype(out) + thisSize, changetype(pad), appendSize);\\n }\\n return out;\\n }\\n\\n repeat(count: i32 = 0): String {\\n let length = this.length;\\n\\n // Most browsers can't handle strings 1 << 28 chars or longer\\n if (count < 0 || length * count > (1 << 28)) {\\n throw new RangeError(E_INVALIDLENGTH);\\n }\\n\\n if (count == 0 || !length) return changetype(\\\"\\\");\\n if (count == 1) return this;\\n let out = changetype(__new((length * count) << 1, idof()));\\n memory.repeat(changetype(out), changetype(this), length << 1, count);\\n return out;\\n }\\n\\n replace(search: String, replacement: String): String {\\n let len: usize = this.length;\\n let slen: usize = search.length;\\n if (len <= slen) {\\n return len < slen ? this : select(replacement, this, search == this);\\n }\\n let index: isize = this.indexOf(search);\\n if (~index) {\\n let rlen: usize = replacement.length;\\n len -= slen;\\n let olen = len + rlen;\\n if (olen) {\\n let out = changetype(__new(olen << 1, idof()));\\n memory.copy(changetype(out), changetype(this), index << 1);\\n memory.copy(\\n changetype(out) + (index << 1),\\n changetype(replacement),\\n rlen << 1\\n );\\n memory.copy(\\n changetype(out) + ((index + rlen) << 1),\\n changetype(this) + ((index + slen) << 1),\\n (len - index) << 1\\n );\\n return out;\\n }\\n }\\n return this;\\n }\\n\\n replaceAll(search: String, replacement: String): String {\\n let thisLen: usize = this.length;\\n let searchLen: usize = search.length;\\n if (thisLen <= searchLen) {\\n return thisLen < searchLen\\n ? this\\n : select(replacement, this, search == this);\\n }\\n let replaceLen: usize = replacement.length;\\n if (!searchLen) {\\n if (!replaceLen) return this;\\n // Special case: 'abc'.replaceAll('', '-') -> '-a-b-c-'\\n let out = changetype(__new((thisLen + (thisLen + 1) * replaceLen) << 1, idof()));\\n memory.copy(changetype(out), changetype(replacement), replaceLen << 1);\\n let offset = replaceLen;\\n for (let i: usize = 0; i < thisLen; ++i) {\\n store(\\n changetype(out) + (offset++ << 1),\\n load(changetype(this) + (i << 1))\\n );\\n memory.copy(\\n changetype(out) + (offset << 1),\\n changetype(replacement),\\n replaceLen << 1\\n );\\n offset += replaceLen;\\n }\\n return out;\\n }\\n let prev: isize = 0, next: isize = 0;\\n if (searchLen == replaceLen) {\\n // Fast path when search and replacement have same length\\n let outSize = thisLen << 1;\\n let out = changetype(__new(outSize, idof()));\\n memory.copy(changetype(out), changetype(this), outSize);\\n while (~(next = this.indexOf(search, prev))) {\\n memory.copy(changetype(out) + (next << 1), changetype(replacement), replaceLen << 1);\\n prev = next + searchLen;\\n }\\n return out;\\n }\\n let out: String | null = null, offset: usize = 0, outSize = thisLen;\\n while (~(next = this.indexOf(search, prev))) {\\n if (!out) out = changetype(__new(thisLen << 1, idof()));\\n let chunk = next - prev;\\n if (offset + chunk + replaceLen > outSize) {\\n outSize <<= 1;\\n out = changetype(__renew(changetype(out), outSize << 1));\\n }\\n memory.copy(\\n changetype(out) + (offset << 1),\\n changetype(this) + (prev << 1),\\n chunk << 1\\n );\\n offset += chunk;\\n memory.copy(\\n changetype(out) + (offset << 1),\\n changetype(replacement),\\n replaceLen << 1\\n );\\n offset += replaceLen;\\n prev = next + searchLen;\\n }\\n if (out) {\\n let rest = thisLen - prev;\\n if (offset + rest > outSize) {\\n outSize <<= 1;\\n out = changetype(__renew(changetype(out), outSize << 1));\\n }\\n if (rest) {\\n memory.copy(\\n changetype(out) + (offset << 1),\\n changetype(this) + (prev << 1),\\n rest << 1\\n );\\n }\\n rest += offset;\\n if (outSize > rest) {\\n out = changetype(__renew(changetype(out), rest << 1));\\n }\\n return out;\\n }\\n return this;\\n }\\n\\n slice(start: i32, end: i32 = i32.MAX_VALUE): String {\\n let len = this.length;\\n start = start < 0 ? max(start + len, 0) : min(start, len);\\n end = end < 0 ? max(end + len, 0) : min(end, len);\\n len = end - start;\\n if (len <= 0) return changetype(\\\"\\\");\\n let out = changetype(__new(len << 1, idof()));\\n memory.copy(changetype(out), changetype(this) + (start << 1), len << 1);\\n return out;\\n }\\n\\n split(separator: String | null = null, limit: i32 = i32.MAX_VALUE): String[] {\\n if (!limit) return changetype(__newArray(0, alignof(), idof>()));\\n if (changetype(separator) == 0) return [ this ];\\n let length: isize = this.length;\\n let sepLen = changetype(separator).length;\\n if (limit < 0) limit = i32.MAX_VALUE;\\n if (!sepLen) {\\n if (!length) return changetype(__newArray(0, alignof(), idof>()));\\n // split by chars\\n length = min(length, limit);\\n let result = changetype(__newArray(length, alignof(), idof>()));\\n // @ts-ignore: cast\\n let resultStart = result.dataStart as usize;\\n for (let i: isize = 0; i < length; ++i) {\\n let charStr = changetype(__new(2, idof()));\\n store(changetype(charStr), load(changetype(this) + (i << 1)));\\n store(resultStart + (i << alignof()), changetype(charStr)); // result[i] = charStr\\n __link(changetype(result), changetype(charStr), true);\\n }\\n return result;\\n } else if (!length) {\\n let result = changetype(__newArray(1, alignof(), idof>()));\\n // @ts-ignore: cast\\n store(result.dataStart as usize, changetype(\\\"\\\")); // static \\\"\\\"\\n return result;\\n }\\n let result = changetype(__newArray(0, alignof(), idof>()));\\n let end = 0, start = 0, i = 0;\\n while (~(end = this.indexOf(changetype(separator), start))) {\\n let len = end - start;\\n if (len > 0) {\\n let out = changetype(__new(len << 1, idof()));\\n memory.copy(changetype(out), changetype(this) + (start << 1), len << 1);\\n result.push(out);\\n } else {\\n result.push(changetype(\\\"\\\"));\\n }\\n if (++i == limit) return result;\\n start = end + sepLen;\\n }\\n if (!start) { // also means: loop above didn't do anything\\n result.push(this);\\n return result;\\n }\\n let len = length - start;\\n if (len > 0) {\\n let out = changetype(__new(len << 1, idof()));\\n memory.copy(changetype(out), changetype(this) + (start << 1), len << 1);\\n result.push(out);\\n } else {\\n result.push(changetype(\\\"\\\")); // static \\\"\\\"\\n }\\n return result;\\n }\\n\\n toLowerCase(): String {\\n let len = this.length;\\n if (!len) return this;\\n let codes = changetype(__new(len * 2 * 2, idof()));\\n let j: usize = 0;\\n for (let i: usize = 0; i < len; ++i, ++j) {\\n let c = load(changetype(this) + (i << 1));\\n if (isAscii(c)) {\\n store(changetype(codes) + (j << 1), toLower8(c));\\n } else {\\n // check and read surrogate pair\\n if ((c - 0xD7FF < 0xDC00 - 0xD7FF) && i < len - 1) {\\n let c1 = load(changetype(this) + (i << 1), 2);\\n if (c1 - 0xDBFF < 0xE000 - 0xDBFF) {\\n let c0 = c;\\n c = (((c & 0x03FF) << 10) | (c1 & 0x03FF)) + 0x10000;\\n ++i;\\n if (c >= 0x20000) {\\n store(changetype(codes) + (j << 1), c0 | (c1 << 16));\\n ++j;\\n continue;\\n }\\n }\\n }\\n // check special casing for lower table. It has one ently so instead lookup we just inline this.\\n if (c == 0x0130) {\\n // 0x0130 -> [0x0069, 0x0307]\\n store(changetype(codes) + (j << 1), (0x0307 << 16) | 0x0069);\\n ++j;\\n } else if (c == 0x03A3) { // '\u03A3'\\n // \u03A3 maps to \u03C3 but except at the end of a word where it maps to \u03C2\\n let sigma = 0x03C3; // \u03C3\\n if (len > 1 && isFinalSigma(changetype(this), i, len)) {\\n sigma = 0x03C2; // \u03C2\\n }\\n store(changetype(codes) + (j << 1), sigma);\\n } else if (c - 0x24B6 <= 0x24CF - 0x24B6) {\\n // Range 0x24B6 <= c <= 0x24CF not covered by casemap and require special early handling\\n store(changetype(codes) + (j << 1), c + 26);\\n } else {\\n let code = casemap(c, 0) & 0x1FFFFF;\\n if (code < 0x10000) {\\n store(changetype(codes) + (j << 1), code);\\n } else {\\n // store as surrogare pair\\n code -= 0x10000;\\n let lo = (code >>> 10) | 0xD800;\\n let hi = (code & 0x03FF) | 0xDC00;\\n store(changetype(codes) + (j << 1), lo | (hi << 16));\\n ++j;\\n }\\n }\\n }\\n }\\n return changetype(__renew(changetype(codes), j << 1));\\n }\\n\\n toUpperCase(): String {\\n let len = this.length;\\n if (!len) return this;\\n let codes = changetype(__new(len * 3 * 2, idof()));\\n let specialsPtr = changetype(SPECIALS_UPPER);\\n let specialsLen = SPECIALS_UPPER.length;\\n let j: usize = 0;\\n for (let i: usize = 0; i < len; ++i, ++j) {\\n let c = load(changetype(this) + (i << 1));\\n if (isAscii(c)) {\\n store(changetype(codes) + (j << 1), toUpper8(c));\\n } else {\\n // check and read surrogate pair\\n if ((c - 0xD7FF < 0xDC00 - 0xD7FF) && i < len - 1) {\\n let c1 = load(changetype(this) + (i << 1), 2);\\n if (c1 - 0xDBFF < 0xE000 - 0xDBFF) {\\n let c0 = c;\\n c = (((c & 0x03FF) << 10) | (c1 & 0x03FF)) + 0x10000;\\n ++i;\\n if (c >= 0x20000) {\\n store(changetype(codes) + (j << 1), c0 | (c1 << 16));\\n ++j;\\n continue;\\n }\\n }\\n }\\n // Range 0x24D0 <= c <= 0x24E9 not covered by casemap and require special early handling\\n if (c - 0x24D0 <= 0x24E9 - 0x24D0) {\\n // monkey patch\\n store(changetype(codes) + (j << 1), c - 26);\\n } else {\\n let index: usize = -1;\\n // Fast range check. See first and last rows in specialsUpper table\\n if (c - 0x00DF <= 0xFB17 - 0x00DF) {\\n index = bsearch(c, specialsPtr, specialsLen);\\n }\\n if (~index) {\\n // load next 3 code points from row with `index` offset for specialsUpper table\\n let ab = load(specialsPtr + (index << 1), 2);\\n let cc = load(specialsPtr + (index << 1), 6);\\n store(changetype(codes) + (j << 1), ab, 0);\\n store(changetype(codes) + (j << 1), cc, 4);\\n j += 1 + usize(cc != 0);\\n } else {\\n let code = casemap(c, 1) & 0x1FFFFF;\\n if (code < 0x10000) {\\n store(changetype(codes) + (j << 1), code);\\n } else {\\n // store as surrogare pair\\n code -= 0x10000;\\n let lo = (code >>> 10) | 0xD800;\\n let hi = (code & 0x03FF) | 0xDC00;\\n store(changetype(codes) + (j << 1), lo | (hi << 16));\\n ++j;\\n }\\n }\\n }\\n }\\n }\\n return changetype(__renew(changetype(codes), j << 1));\\n }\\n\\n toString(): String {\\n return this;\\n }\\n}\\n\\n// @ts-ignore: nolib\\nexport type string = String;\\n\\nexport function parseInt(str: string, radix: i32 = 0): f64 {\\n return strtol(str, radix);\\n}\\n\\nexport function parseFloat(str: string): f64 {\\n return strtod(str);\\n}\\n\\n// Encoding helpers\\nexport namespace String {\\n\\n export namespace UTF8 {\\n\\n export const enum ErrorMode {\\n WTF8,\\n REPLACE,\\n ERROR\\n }\\n\\n export function byteLength(str: string, nullTerminated: bool = false): i32 {\\n let strOff = changetype(str);\\n let strEnd = strOff + changetype(changetype(str) - TOTAL_OVERHEAD).rtSize;\\n let bufLen = i32(nullTerminated);\\n while (strOff < strEnd) {\\n let c1 = load(strOff);\\n if (c1 < 128) {\\n // @ts-ignore: cast\\n if (nullTerminated & !c1) break;\\n bufLen += 1;\\n } else if (c1 < 2048) {\\n bufLen += 2;\\n } else {\\n if ((c1 & 0xFC00) == 0xD800 && strOff + 2 < strEnd) {\\n if ((load(strOff, 2) & 0xFC00) == 0xDC00) {\\n bufLen += 4; strOff += 4;\\n continue;\\n }\\n }\\n bufLen += 3;\\n }\\n strOff += 2;\\n }\\n return bufLen;\\n }\\n\\n export function encode(str: string, nullTerminated: bool = false, errorMode: ErrorMode = ErrorMode.WTF8): ArrayBuffer {\\n let buf = changetype(__new(byteLength(str, nullTerminated), idof()));\\n encodeUnsafe(changetype(str), str.length, changetype(buf), nullTerminated, errorMode);\\n return buf;\\n }\\n\\n // @ts-ignore: decorator\\n @unsafe\\n export function encodeUnsafe(str: usize, len: i32, buf: usize, nullTerminated: bool = false, errorMode: ErrorMode = ErrorMode.WTF8): usize {\\n let strEnd = str + (len << 1);\\n let bufOff = buf;\\n while (str < strEnd) {\\n let c1 = load(str);\\n if (c1 < 128) {\\n store(bufOff, c1);\\n bufOff++;\\n // @ts-ignore: cast\\n if (nullTerminated & !c1) return bufOff - buf;\\n } else if (c1 < 2048) {\\n let b0 = c1 >> 6 | 192;\\n let b1 = c1 & 63 | 128;\\n store(bufOff, b1 << 8 | b0);\\n bufOff += 2;\\n } else {\\n // D800: 11011 0 0000000000 Lead\\n // DBFF: 11011 0 1111111111\\n // DC00: 11011 1 0000000000 Trail\\n // DFFF: 11011 1 1111111111\\n // F800: 11111 0 0000000000 Mask\\n // FC00: 11111 1 0000000000\\n if ((c1 & 0xF800) == 0xD800) {\\n if (c1 < 0xDC00 && str + 2 < strEnd) {\\n let c2 = load(str, 2);\\n if ((c2 & 0xFC00) == 0xDC00) {\\n c1 = 0x10000 + ((c1 & 0x03FF) << 10) | (c2 & 0x03FF);\\n let b0 = c1 >> 18 | 240;\\n let b1 = c1 >> 12 & 63 | 128;\\n let b2 = c1 >> 6 & 63 | 128;\\n let b3 = c1 & 63 | 128;\\n store(bufOff, b3 << 24 | b2 << 16 | b1 << 8 | b0);\\n bufOff += 4; str += 4;\\n continue;\\n }\\n }\\n if (errorMode != ErrorMode.WTF8) { // unlikely\\n if (errorMode == ErrorMode.ERROR) throw new Error(E_UNPAIRED_SURROGATE);\\n c1 = 0xFFFD;\\n }\\n }\\n let b0 = c1 >> 12 | 224;\\n let b1 = c1 >> 6 & 63 | 128;\\n let b2 = c1 & 63 | 128;\\n store(bufOff, b1 << 8 | b0);\\n store(bufOff, b2, 2);\\n bufOff += 3;\\n }\\n str += 2;\\n }\\n if (nullTerminated) {\\n store(bufOff++, 0);\\n }\\n return bufOff - buf;\\n }\\n\\n export function decode(buf: ArrayBuffer, nullTerminated: bool = false): String {\\n return decodeUnsafe(changetype(buf), buf.byteLength, nullTerminated);\\n }\\n\\n // @ts-ignore: decorator\\n @unsafe\\n export function decodeUnsafe(buf: usize, len: usize, nullTerminated: bool = false): String {\\n let bufOff = buf;\\n let bufEnd = buf + len;\\n assert(bufEnd >= bufOff); // guard wraparound\\n let str = changetype(__new(len << 1, idof())); // max is one u16 char per u8 byte\\n let strOff = changetype(str);\\n while (bufOff < bufEnd) {\\n let u0 = load(bufOff); ++bufOff;\\n if (!(u0 & 128)) {\\n // @ts-ignore: cast\\n if (nullTerminated & !u0) break;\\n store(strOff, u0);\\n } else {\\n if (bufEnd == bufOff) break;\\n let u1 = load(bufOff) & 63; ++bufOff;\\n if ((u0 & 224) == 192) {\\n store(strOff, (u0 & 31) << 6 | u1);\\n } else {\\n if (bufEnd == bufOff) break;\\n let u2 = load(bufOff) & 63; ++bufOff;\\n if ((u0 & 240) == 224) {\\n u0 = (u0 & 15) << 12 | u1 << 6 | u2;\\n } else {\\n if (bufEnd == bufOff) break;\\n u0 = (u0 & 7) << 18 | u1 << 12 | u2 << 6 | load(bufOff) & 63;\\n ++bufOff;\\n }\\n if (u0 < 0x10000) {\\n store(strOff, u0);\\n } else {\\n u0 -= 0x10000;\\n let lo = u0 >> 10 | 0xD800;\\n let hi = (u0 & 0x03FF) | 0xDC00;\\n store(strOff, lo | (hi << 16));\\n strOff += 2;\\n }\\n }\\n }\\n strOff += 2;\\n }\\n return changetype(__renew(changetype(str), strOff - changetype(str)));\\n }\\n }\\n\\n export namespace UTF16 {\\n\\n export function byteLength(str: string): i32 {\\n return changetype(changetype(str) - TOTAL_OVERHEAD).rtSize;\\n }\\n\\n export function encode(str: string): ArrayBuffer {\\n let buf = changetype(__new(byteLength(str), idof()));\\n encodeUnsafe(changetype(str), str.length, changetype(buf));\\n return buf;\\n }\\n\\n // @ts-ignore: decorator\\n @unsafe\\n export function encodeUnsafe(str: usize, len: i32, buf: usize): usize {\\n let size = len << 1;\\n memory.copy(buf, changetype(str), size);\\n return size;\\n }\\n\\n export function decode(buf: ArrayBuffer): String {\\n return decodeUnsafe(changetype(buf), buf.byteLength);\\n }\\n\\n // @ts-ignore: decorator\\n @unsafe\\n export function decodeUnsafe(buf: usize, len: usize): String {\\n let str = changetype(__new(len &= ~1, idof()));\\n memory.copy(changetype(str), buf, len);\\n return str;\\n }\\n }\\n}\\n\\nexport class TemplateStringsArray extends Array {\\n readonly raw: string[];\\n}\\n\",\n \"symbol\": \"import { Map } from \\\"./map\\\";\\n\\n// @ts-ignore: decorator\\n@lazy let stringToId: Map = new Map();\\n\\n// @ts-ignore: decorator\\n@lazy let idToString: Map = new Map();\\n\\n// @ts-ignore: decorator\\n@lazy let nextId: usize = 12; // Symbol.unscopables + 1\\n\\n@unmanaged @final abstract class _Symbol {\\n\\n // TODO: all of the following default symbols are unused currently yet add to\\n // binary size if #toString becomes compiled. Ultimately we'll most likely want\\n // to remove the unsupported ones and only keep what's actually supported.\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly hasInstance: symbol = changetype(1);\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly isConcatSpreadable: symbol = changetype(2);\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly isRegExp: symbol = changetype(3);\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly iterator: symbol = changetype(3);\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly match: symbol = changetype(4);\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly replace: symbol = changetype(5);\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly search: symbol = changetype(6);\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly species: symbol = changetype(7);\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly split: symbol = changetype(8);\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly toPrimitive: symbol = changetype(9);\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly toStringTag: symbol = changetype(10);\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly unscopables: symbol = changetype(11);\\n\\n static for(key: string): symbol {\\n if (stringToId.has(key)) return changetype(stringToId.get(key));\\n let id = nextId++;\\n if (!id) unreachable(); // out of ids\\n stringToId.set(key, id);\\n idToString.set(id, key);\\n return changetype(id);\\n }\\n\\n static keyFor(sym: symbol): string | null {\\n return idToString.has(changetype(sym))\\n ? idToString.get(changetype(sym))\\n : null;\\n }\\n\\n toString(): string {\\n let id = changetype(this);\\n let str = \\\"\\\";\\n switch (id) {\\n case 1: { str = \\\"hasInstance\\\"; break; }\\n case 2: { str = \\\"isConcatSpreadable\\\"; break; }\\n case 3: { str = \\\"isRegExp\\\"; break; }\\n case 4: { str = \\\"match\\\"; break; }\\n case 5: { str = \\\"replace\\\"; break; }\\n case 6: { str = \\\"search\\\"; break; }\\n case 7: { str = \\\"species\\\"; break; }\\n case 8: { str = \\\"split\\\"; break; }\\n case 9: { str = \\\"toPrimitive\\\"; break; }\\n case 10: { str = \\\"toStringTag\\\"; break; }\\n case 11: { str = \\\"unscopables\\\"; break; }\\n default: {\\n if (idToString != null && idToString.has(id)) str = idToString.get(id);\\n break;\\n }\\n }\\n return \\\"Symbol(\\\" + str + \\\")\\\";\\n }\\n}\\n\\nexport function Symbol(description: string | null = null): symbol {\\n let id = nextId++;\\n if (!id) unreachable(); // out of ids\\n return changetype(id);\\n}\\n\\nexport type Symbol = _Symbol;\\n\\n// @ts-ignore: nolib\\nexport type symbol = _Symbol;\\n\",\n \"table\": \"import { E_NOTIMPLEMENTED } from \\\"./util/error\\\";\\n\\nexport namespace table {\\n\\n export function copy(dst: u32, src: u32, n: u32): void {\\n throw new Error(E_NOTIMPLEMENTED);\\n }\\n\\n export function init(elementIndex: u32, srcOffset: u32, dstOffset: u32, n: u32): void {\\n throw new Error(E_NOTIMPLEMENTED);\\n }\\n\\n export function drop(elementIndex: u32): void {\\n throw new Error(E_NOTIMPLEMENTED);\\n }\\n}\\n\",\n \"typedarray\": \"import { COMPARATOR, SORT } from \\\"./util/sort\\\";\\nimport { E_INDEXOUTOFRANGE, E_INVALIDLENGTH, E_NOTIMPLEMENTED } from \\\"./util/error\\\";\\nimport { joinIntegerArray, joinFloatArray } from \\\"./util/string\\\";\\nimport { REVERSE, FILL } from \\\"./util/bytes\\\";\\nimport { idof } from \\\"./builtins\\\";\\nimport { ArrayBufferView } from \\\"./arraybuffer\\\";\\n\\nexport class Int8Array extends ArrayBufferView {\\n [key: number]: i8;\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly BYTES_PER_ELEMENT: i32 = sizeof();\\n\\n constructor(length: i32) {\\n super(length, alignof());\\n }\\n\\n get length(): i32 {\\n return this.byteLength;\\n }\\n\\n @operator(\\\"[]\\\")\\n private __get(index: i32): i8 {\\n if (index >= this.byteLength) throw new RangeError(E_INDEXOUTOFRANGE);\\n return load(this.dataStart + index);\\n }\\n\\n @unsafe @operator(\\\"{}\\\")\\n private __uget(index: i32): i8 {\\n return load(this.dataStart + index);\\n }\\n\\n @operator(\\\"[]=\\\")\\n private __set(index: i32, value: native): void {\\n if (index >= this.byteLength) throw new RangeError(E_INDEXOUTOFRANGE);\\n store(this.dataStart + index, value);\\n }\\n\\n @unsafe @operator(\\\"{}=\\\")\\n private __uset(index: i32, value: native): void {\\n store(this.dataStart + index, value);\\n }\\n\\n at(index: i32): i8 {\\n let len = this.byteLength;\\n index += select(0, len, index >= 0);\\n if (index >= len) throw new RangeError(E_INDEXOUTOFRANGE);\\n return load(this.dataStart + index);\\n }\\n\\n includes(searchElement: i8, fromIndex: i32 = 0): bool {\\n return INCLUDES(this, searchElement, fromIndex);\\n }\\n\\n indexOf(searchElement: i8, fromIndex: i32 = 0): i32 {\\n return INDEX_OF(this, searchElement, fromIndex);\\n }\\n\\n lastIndexOf(searchElement: i8, fromIndex: i32 = this.length): i32 {\\n return LAST_INDEX_OF(this, searchElement, fromIndex);\\n }\\n\\n fill(value: i32, start: i32 = 0, end: i32 = i32.MAX_VALUE): Int8Array {\\n FILL(this.dataStart, this.length, u8(value), start, end);\\n return this;\\n }\\n\\n sort(comparator: (a: i8, b: i8) => i32 = COMPARATOR()): Int8Array {\\n SORT(this.dataStart, this.length, comparator);\\n return this;\\n }\\n\\n slice(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Int8Array {\\n return SLICE(this, begin, end);\\n }\\n\\n subarray(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Int8Array {\\n return SUBARRAY(this, begin, end);\\n }\\n\\n copyWithin(target: i32, start: i32, end: i32 = i32.MAX_VALUE): Int8Array {\\n return COPY_WITHIN(this, target, start, end);\\n }\\n\\n reduce(\\n fn: (accumulator: T, value: i8, index: i32, array: Int8Array) => T,\\n initialValue: T,\\n ): T {\\n return REDUCE(this, fn, initialValue);\\n }\\n\\n reduceRight(\\n fn: (accumulator: T, value: i8, index: i32, array: Int8Array) => T,\\n initialValue: T,\\n ): T {\\n return REDUCE_RIGHT(this, fn, initialValue);\\n }\\n\\n map(fn: (value: i8, index: i32, self: Int8Array) => i8): Int8Array {\\n return MAP(this, fn);\\n }\\n\\n filter(fn: (value: i8, index: i32, self: Int8Array) => bool): Int8Array {\\n return FILTER(this, fn);\\n }\\n\\n findIndex(fn: (value: i8, index: i32, self: Int8Array) => bool): i32 {\\n return FIND_INDEX(this, fn);\\n }\\n\\n findLastIndex(fn: (value: i8, index: i32, self: Int8Array) => bool): i32 {\\n return FIND_LAST_INDEX(this, fn);\\n }\\n\\n some(fn: (value: i8, index: i32, self: Int8Array) => bool): bool {\\n return SOME(this, fn);\\n }\\n\\n every(fn: (value: i8, index: i32, self: Int8Array) => bool): bool {\\n return EVERY(this, fn);\\n }\\n\\n forEach(fn: (value: i8, index: i32, self: Int8Array) => void): void {\\n FOREACH(this, fn);\\n }\\n\\n reverse(): Int8Array {\\n REVERSE(this.dataStart, this.length);\\n return this;\\n }\\n\\n join(separator: string = \\\",\\\"): string {\\n return joinIntegerArray(this.dataStart, this.length, separator);\\n }\\n\\n toString(): string {\\n return this.join();\\n }\\n\\n set>(source: U, offset: i32 = 0): void {\\n SET(this, source, offset);\\n }\\n\\n static wrap(buffer: ArrayBuffer, byteOffset: i32 = 0, length: i32 = -1): Int8Array {\\n return WRAP(buffer, byteOffset, length);\\n }\\n}\\n\\nexport class Uint8Array extends ArrayBufferView {\\n [key: number]: u8;\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly BYTES_PER_ELEMENT: i32 = sizeof();\\n\\n constructor(length: i32) {\\n super(length, alignof());\\n }\\n\\n get length(): i32 {\\n return this.byteLength;\\n }\\n\\n @operator(\\\"[]\\\")\\n private __get(index: i32): u8 {\\n if (index >= this.byteLength) throw new RangeError(E_INDEXOUTOFRANGE);\\n return load(this.dataStart + index);\\n }\\n\\n @unsafe @operator(\\\"{}\\\")\\n private __uget(index: i32): u8 {\\n return load(this.dataStart + index);\\n }\\n\\n @operator(\\\"[]=\\\")\\n private __set(index: i32, value: native): void {\\n if (index >= this.byteLength) throw new RangeError(E_INDEXOUTOFRANGE);\\n store(this.dataStart + index, value);\\n }\\n\\n @unsafe @operator(\\\"{}=\\\")\\n private __uset(index: i32, value: native): void {\\n store(this.dataStart + index, value);\\n }\\n\\n at(index: i32): u8 {\\n let len = this.byteLength;\\n index += select(0, len, index >= 0);\\n if (index >= len) throw new RangeError(E_INDEXOUTOFRANGE);\\n return load(this.dataStart + index);\\n }\\n\\n includes(searchElement: u8, fromIndex: i32 = 0): bool {\\n return INCLUDES(this, searchElement, fromIndex);\\n }\\n\\n indexOf(searchElement: u8, fromIndex: i32 = 0): i32 {\\n return INDEX_OF(this, searchElement, fromIndex);\\n }\\n\\n lastIndexOf(searchElement: u8, fromIndex: i32 = this.length): i32 {\\n return LAST_INDEX_OF(this, searchElement, fromIndex);\\n }\\n\\n fill(value: u32, start: i32 = 0, end: i32 = i32.MAX_VALUE): Uint8Array {\\n FILL(this.dataStart, this.length, u8(value), start, end);\\n return this;\\n }\\n\\n sort(comparator: (a: u8, b: u8) => i32 = COMPARATOR()): Uint8Array {\\n SORT(this.dataStart, this.length, comparator);\\n return this;\\n }\\n\\n slice(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Uint8Array {\\n return SLICE(this, begin, end);\\n }\\n\\n subarray(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Uint8Array {\\n return SUBARRAY(this, begin, end);\\n }\\n\\n copyWithin(target: i32, start: i32, end: i32 = i32.MAX_VALUE): Uint8Array {\\n return COPY_WITHIN(this, target, start, end);\\n }\\n\\n reduce(\\n fn: (accumulator: T, value: u8, index: i32, array: Uint8Array) => T,\\n initialValue: T,\\n ): T {\\n return REDUCE(this, fn, initialValue);\\n }\\n\\n reduceRight(\\n fn: (accumulator: T, value: u8, index: i32, array: Uint8Array) => T,\\n initialValue: T,\\n ): T {\\n return REDUCE_RIGHT(this, fn, initialValue);\\n }\\n\\n map(fn: (value: u8, index: i32, self: Uint8Array) => u8): Uint8Array {\\n return MAP(this, fn);\\n }\\n\\n filter(fn: (value: u8, index: i32, self: Uint8Array) => bool): Uint8Array {\\n return FILTER(this, fn);\\n }\\n\\n findIndex(fn: (value: u8, index: i32, self: Uint8Array) => bool): i32 {\\n return FIND_INDEX(this, fn);\\n }\\n\\n findLastIndex(fn: (value: u8, index: i32, self: Uint8Array) => bool): i32 {\\n return FIND_LAST_INDEX(this, fn);\\n }\\n\\n some(fn: (value: u8, index: i32, self: Uint8Array) => bool): bool {\\n return SOME(this, fn);\\n }\\n\\n every(fn: (value: u8, index: i32, self: Uint8Array) => bool): bool {\\n return EVERY(this, fn);\\n }\\n\\n forEach(fn: (value: u8, index: i32, self: Uint8Array) => void): void {\\n FOREACH(this, fn);\\n }\\n\\n reverse(): Uint8Array {\\n REVERSE(this.dataStart, this.length);\\n return this;\\n }\\n\\n join(separator: string = \\\",\\\"): string {\\n return joinIntegerArray(this.dataStart, this.length, separator);\\n }\\n\\n set>(source: U, offset: i32 = 0): void {\\n SET(this, source, offset);\\n }\\n\\n toString(): string {\\n return this.join();\\n }\\n\\n static wrap(buffer: ArrayBuffer, byteOffset: i32 = 0, length: i32 = -1): Uint8Array {\\n return WRAP(buffer, byteOffset, length);\\n }\\n}\\n\\nexport class Uint8ClampedArray extends ArrayBufferView {\\n [key: number]: u8;\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly BYTES_PER_ELEMENT: i32 = sizeof();\\n\\n constructor(length: i32) {\\n super(length, alignof());\\n }\\n\\n get length(): i32 {\\n return this.byteLength;\\n }\\n\\n @operator(\\\"[]\\\")\\n private __get(index: i32): u8 {\\n if (index >= this.byteLength) throw new RangeError(E_INDEXOUTOFRANGE);\\n return load(this.dataStart + index);\\n }\\n\\n @unsafe @operator(\\\"{}\\\")\\n private __uget(index: i32): u8 {\\n return load(this.dataStart + index);\\n }\\n\\n @operator(\\\"[]=\\\")\\n private __set(index: i32, value: native): void {\\n if (index >= this.byteLength) throw new RangeError(E_INDEXOUTOFRANGE);\\n store(this.dataStart + index, ~(value >> 31) & (((255 - value) >> 31) | value));\\n }\\n\\n @unsafe @operator(\\\"{}=\\\")\\n private __uset(index: i32, value: native): void {\\n store(this.dataStart + index, ~(value >> 31) & (((255 - value) >> 31) | value));\\n }\\n\\n at(index: i32): u8 {\\n let len = this.byteLength;\\n index += select(0, len, index >= 0);\\n if (index >= len) throw new RangeError(E_INDEXOUTOFRANGE);\\n return load(this.dataStart + index);\\n }\\n\\n includes(searchElement: u8, fromIndex: i32 = 0): bool {\\n return INCLUDES(this, searchElement, fromIndex);\\n }\\n\\n indexOf(searchElement: u8, fromIndex: i32 = 0): i32 {\\n return INDEX_OF(this, searchElement, fromIndex);\\n }\\n\\n lastIndexOf(searchElement: u8, fromIndex: i32 = this.length): i32 {\\n return LAST_INDEX_OF(this, searchElement, fromIndex);\\n }\\n\\n fill(value: i32, start: i32 = 0, end: i32 = i32.MAX_VALUE): Uint8ClampedArray {\\n value = ~(value >> 31) & (((255 - value) >> 31) | value);\\n FILL(this.dataStart, this.length, u8(value), start, end);\\n return this;\\n }\\n\\n sort(comparator: (a: u8, b: u8) => i32 = COMPARATOR()): Uint8ClampedArray {\\n SORT(this.dataStart, this.length, comparator);\\n return this;\\n }\\n\\n slice(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Uint8ClampedArray {\\n return SLICE(this, begin, end);\\n }\\n\\n subarray(start: i32 = 0, end: i32 = i32.MAX_VALUE): Uint8ClampedArray {\\n return SUBARRAY(this, start, end);\\n }\\n\\n copyWithin(target: i32, start: i32, end: i32 = i32.MAX_VALUE): Uint8ClampedArray {\\n return COPY_WITHIN(this, target, start, end);\\n }\\n\\n reduce(\\n fn: (accumulator: T, value: u8, index: i32, array: Uint8ClampedArray) => T,\\n initialValue: T,\\n ): T {\\n return REDUCE(this, fn, initialValue);\\n }\\n\\n reduceRight(\\n fn: (accumulator: T, value: u8, index: i32, array: Uint8ClampedArray) => T,\\n initialValue: T,\\n ): T {\\n return REDUCE_RIGHT(this, fn, initialValue);\\n }\\n\\n map(fn: (value: u8, index: i32, self: Uint8ClampedArray) => u8): Uint8ClampedArray {\\n return MAP(this, fn);\\n }\\n\\n filter(fn: (value: u8, index: i32, self: Uint8ClampedArray) => bool): Uint8ClampedArray {\\n return FILTER(this, fn);\\n }\\n\\n findIndex(fn: (value: u8, index: i32, self: Uint8ClampedArray) => bool): i32 {\\n return FIND_INDEX(this, fn);\\n }\\n\\n findLastIndex(fn: (value: u8, index: i32, self: Uint8ClampedArray) => bool): i32 {\\n return FIND_LAST_INDEX(this, fn);\\n }\\n\\n some(fn: (value: u8, index: i32, self: Uint8ClampedArray) => bool): bool {\\n return SOME(this, fn);\\n }\\n\\n every(fn: (value: u8, index: i32, self: Uint8ClampedArray) => bool): bool {\\n return EVERY(this, fn);\\n }\\n\\n forEach(fn: (value: u8, index: i32, self: Uint8ClampedArray) => void): void {\\n FOREACH(this, fn);\\n }\\n\\n reverse(): Uint8ClampedArray {\\n REVERSE(this.dataStart, this.length);\\n return this;\\n }\\n\\n join(separator: string = \\\",\\\"): string {\\n return joinIntegerArray(this.dataStart, this.length, separator);\\n }\\n\\n set>(source: U, offset: i32 = 0): void {\\n SET(this, source, offset);\\n }\\n\\n toString(): string {\\n return this.join();\\n }\\n\\n static wrap(buffer: ArrayBuffer, byteOffset: i32 = 0, length: i32 = -1): Uint8ClampedArray {\\n return WRAP(buffer, byteOffset, length);\\n }\\n}\\n\\nexport class Int16Array extends ArrayBufferView {\\n [key: number]: i16;\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly BYTES_PER_ELEMENT: i32 = sizeof();\\n\\n constructor(length: i32) {\\n super(length, alignof());\\n }\\n\\n get length(): i32 {\\n return this.byteLength >>> alignof();\\n }\\n\\n @operator(\\\"[]\\\")\\n private __get(index: i32): i16 {\\n if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE);\\n return load(this.dataStart + (index << alignof()));\\n }\\n\\n @unsafe @operator(\\\"{}\\\")\\n private __uget(index: i32): i16 {\\n return load(this.dataStart + (index << alignof()));\\n }\\n\\n @operator(\\\"[]=\\\")\\n private __set(index: i32, value: native): void {\\n if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE);\\n store(this.dataStart + (index << alignof()), value);\\n }\\n\\n @unsafe @operator(\\\"{}=\\\")\\n private __uset(index: i32, value: native): void {\\n store(this.dataStart + (index << alignof()), value);\\n }\\n\\n at(index: i32): i16 {\\n let len = this.byteLength >>> alignof();\\n index += select(0, len, index >= 0);\\n if (index >= len) throw new RangeError(E_INDEXOUTOFRANGE);\\n return load(this.dataStart + (index << alignof()));\\n }\\n\\n includes(searchElement: i16, fromIndex: i32 = 0): bool {\\n return INCLUDES(this, searchElement, fromIndex);\\n }\\n\\n indexOf(searchElement: i16, fromIndex: i32 = 0): i32 {\\n return INDEX_OF(this, searchElement, fromIndex);\\n }\\n\\n lastIndexOf(searchElement: i16, fromIndex: i32 = this.length): i32 {\\n return LAST_INDEX_OF(this, searchElement, fromIndex);\\n }\\n\\n fill(value: i32, start: i32 = 0, end: i32 = i32.MAX_VALUE): Int16Array {\\n FILL(this.dataStart, this.length, u16(value), start, end);\\n return this;\\n }\\n\\n sort(comparator: (a: i16, b: i16) => i32 = COMPARATOR()): Int16Array {\\n SORT(this.dataStart, this.length, comparator);\\n return this;\\n }\\n\\n slice(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Int16Array {\\n return SLICE(this, begin, end);\\n }\\n\\n subarray(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Int16Array {\\n return SUBARRAY(this, begin, end);\\n }\\n\\n copyWithin(target: i32, start: i32, end: i32 = i32.MAX_VALUE): Int16Array {\\n return COPY_WITHIN(this, target, start, end);\\n }\\n\\n reduce(\\n fn: (accumulator: T, value: i16, index: i32, array: Int16Array) => T,\\n initialValue: T,\\n ): T {\\n return REDUCE(this, fn, initialValue);\\n }\\n\\n reduceRight(\\n fn: (accumulator: T, value: i16, index: i32, array: Int16Array) => T,\\n initialValue: T,\\n ): T {\\n return REDUCE_RIGHT(this, fn, initialValue);\\n }\\n\\n map(fn: (value: i16, index: i32, self: Int16Array) => i16): Int16Array {\\n return MAP(this, fn);\\n }\\n\\n filter(fn: (value: i16, index: i32, self: Int16Array) => bool): Int16Array {\\n return FILTER(this, fn);\\n }\\n\\n findIndex(fn: (value: i16, index: i32, self: Int16Array) => bool): i32 {\\n return FIND_INDEX(this, fn);\\n }\\n\\n findLastIndex(fn: (value: i16, index: i32, self: Int16Array) => bool): i32 {\\n return FIND_LAST_INDEX(this, fn);\\n }\\n\\n some(fn: (value: i16, index: i32, self: Int16Array) => bool): bool {\\n return SOME(this, fn);\\n }\\n\\n every(fn: (value: i16, index: i32, self: Int16Array) => bool): bool {\\n return EVERY(this, fn);\\n }\\n\\n forEach(fn: (value: i16, index: i32, self: Int16Array) => void): void {\\n FOREACH(this, fn);\\n }\\n\\n reverse(): Int16Array {\\n REVERSE(this.dataStart, this.length);\\n return this;\\n }\\n\\n join(separator: string = \\\",\\\"): string {\\n return joinIntegerArray(this.dataStart, this.length, separator);\\n }\\n\\n set>(source: U, offset: i32 = 0): void {\\n SET(this, source, offset);\\n }\\n\\n toString(): string {\\n return this.join();\\n }\\n\\n static wrap(buffer: ArrayBuffer, byteOffset: i32 = 0, length: i32 = -1): Int16Array {\\n return WRAP(buffer, byteOffset, length);\\n }\\n}\\n\\nexport class Uint16Array extends ArrayBufferView {\\n [key: number]: u16;\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly BYTES_PER_ELEMENT: i32 = sizeof();\\n\\n constructor(length: i32) {\\n super(length, alignof());\\n }\\n\\n get length(): i32 {\\n return this.byteLength >>> alignof();\\n }\\n\\n @operator(\\\"[]\\\")\\n private __get(index: i32): u16 {\\n if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE);\\n return load(this.dataStart + (index << alignof()));\\n }\\n\\n @unsafe @operator(\\\"{}\\\")\\n private __uget(index: i32): u16 {\\n return load(this.dataStart + (index << alignof()));\\n }\\n\\n @operator(\\\"[]=\\\")\\n private __set(index: i32, value: native): void {\\n if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE);\\n store(this.dataStart + (index << alignof()), value);\\n }\\n\\n @unsafe @operator(\\\"{}=\\\")\\n private __uset(index: i32, value: native): void {\\n store(this.dataStart + (index << alignof()), value);\\n }\\n\\n at(index: i32): u16 {\\n let len = this.byteLength >>> alignof();\\n index += select(0, len, index >= 0);\\n if (index >= len) throw new RangeError(E_INDEXOUTOFRANGE);\\n return load(this.dataStart + (index << alignof()));\\n }\\n\\n includes(searchElement: u16, fromIndex: i32 = 0): bool {\\n return INCLUDES(this, searchElement, fromIndex);\\n }\\n\\n indexOf(searchElement: u16, fromIndex: i32 = 0): i32 {\\n return INDEX_OF(this, searchElement, fromIndex);\\n }\\n\\n lastIndexOf(searchElement: u16, fromIndex: i32 = this.length): i32 {\\n return LAST_INDEX_OF(this, searchElement, fromIndex);\\n }\\n\\n fill(value: u32, start: i32 = 0, end: i32 = i32.MAX_VALUE): Uint16Array {\\n FILL(this.dataStart, this.length, u16(value), start, end);\\n return this;\\n }\\n\\n sort(comparator: (a: u16, b: u16) => i32 = COMPARATOR()): Uint16Array {\\n SORT(this.dataStart, this.length, comparator);\\n return this;\\n }\\n\\n slice(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Uint16Array {\\n return SLICE(this, begin, end);\\n }\\n\\n subarray(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Uint16Array {\\n return SUBARRAY(this, begin, end);\\n }\\n\\n copyWithin(target: i32, start: i32, end: i32 = i32.MAX_VALUE): Uint16Array {\\n return COPY_WITHIN(this, target, start, end);\\n }\\n\\n reduce(\\n fn: (accumulator: T, value: u16, index: i32, array: Uint16Array) => T,\\n initialValue: T,\\n ): T {\\n return REDUCE(this, fn, initialValue);\\n }\\n\\n reduceRight(\\n fn: (accumulator: T, value: u16, index: i32, array: Uint16Array) => T,\\n initialValue: T,\\n ): T {\\n return REDUCE_RIGHT(this, fn, initialValue);\\n }\\n\\n map(fn: (value: u16, index: i32, self: Uint16Array) => u16): Uint16Array {\\n return MAP(this, fn);\\n }\\n\\n filter(fn: (value: u16, index: i32, self: Uint16Array) => bool): Uint16Array {\\n return FILTER(this, fn);\\n }\\n\\n findIndex(fn: (value: u16, index: i32, self: Uint16Array) => bool): i32 {\\n return FIND_INDEX(this, fn);\\n }\\n\\n findLastIndex(fn: (value: u16, index: i32, self: Uint16Array) => bool): i32 {\\n return FIND_LAST_INDEX(this, fn);\\n }\\n\\n some(fn: (value: u16, index: i32, self: Uint16Array) => bool): bool {\\n return SOME(this, fn);\\n }\\n\\n every(fn: (value: u16, index: i32, self: Uint16Array) => bool): bool {\\n return EVERY(this, fn);\\n }\\n\\n forEach(fn: (value: u16, index: i32, self: Uint16Array) => void): void {\\n FOREACH(this, fn);\\n }\\n\\n reverse(): Uint16Array {\\n REVERSE(this.dataStart, this.length);\\n return this;\\n }\\n\\n join(separator: string = \\\",\\\"): string {\\n return joinIntegerArray(this.dataStart, this.length, separator);\\n }\\n\\n set>(source: U, offset: i32 = 0): void {\\n SET(this, source, offset);\\n }\\n\\n toString(): string {\\n return this.join();\\n }\\n\\n static wrap(buffer: ArrayBuffer, byteOffset: i32 = 0, length: i32 = -1): Uint16Array {\\n return WRAP(buffer, byteOffset, length);\\n }\\n}\\n\\nexport class Int32Array extends ArrayBufferView {\\n [key: number]: i32;\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly BYTES_PER_ELEMENT: i32 = sizeof();\\n\\n constructor(length: i32) {\\n super(length, alignof());\\n }\\n\\n get length(): i32 {\\n return this.byteLength >>> alignof();\\n }\\n\\n @operator(\\\"[]\\\")\\n private __get(index: i32): i32 {\\n if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE);\\n return load(this.dataStart + (index << alignof()));\\n }\\n\\n @unsafe @operator(\\\"{}\\\")\\n private __uget(index: i32): i32 {\\n return load(this.dataStart + (index << alignof()));\\n }\\n\\n @operator(\\\"[]=\\\")\\n private __set(index: i32, value: i32): void {\\n if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE);\\n store(this.dataStart + (index << alignof()), value);\\n }\\n\\n @unsafe @operator(\\\"{}=\\\")\\n private __uset(index: i32, value: i32): void {\\n store(this.dataStart + (index << alignof()), value);\\n }\\n\\n at(index: i32): i32 {\\n let len = this.byteLength >>> alignof();\\n index += select(0, len, index >= 0);\\n if (index >= len) throw new RangeError(E_INDEXOUTOFRANGE);\\n return load(this.dataStart + (index << alignof()));\\n }\\n\\n includes(searchElement: i32, fromIndex: i32 = 0): bool {\\n return INCLUDES(this, searchElement, fromIndex);\\n }\\n\\n indexOf(searchElement: i32, fromIndex: i32 = 0): i32 {\\n return INDEX_OF(this, searchElement, fromIndex);\\n }\\n\\n lastIndexOf(searchElement: i32, fromIndex: i32 = this.length): i32 {\\n return LAST_INDEX_OF(this, searchElement, fromIndex);\\n }\\n\\n fill(value: i32, start: i32 = 0, end: i32 = i32.MAX_VALUE): Int32Array {\\n FILL(this.dataStart, this.length, u32(value), start, end);\\n return this;\\n }\\n\\n sort(comparator: (a: i32, b: i32) => i32 = COMPARATOR()): Int32Array {\\n SORT(this.dataStart, this.length, comparator);\\n return this;\\n }\\n\\n slice(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Int32Array {\\n return SLICE(this, begin, end);\\n }\\n\\n subarray(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Int32Array {\\n return SUBARRAY(this, begin, end);\\n }\\n\\n copyWithin(target: i32, start: i32, end: i32 = i32.MAX_VALUE): Int32Array {\\n return COPY_WITHIN(this, target, start, end);\\n }\\n\\n reduce(\\n fn: (accumulator: T, value: i32, index: i32, array: Int32Array) => T,\\n initialValue: T,\\n ): T {\\n return REDUCE(this, fn, initialValue);\\n }\\n\\n reduceRight(\\n fn: (accumulator: T, value: i32, index: i32, array: Int32Array) => T,\\n initialValue: T,\\n ): T {\\n return REDUCE_RIGHT(this, fn, initialValue);\\n }\\n\\n map(fn: (value: i32, index: i32, self: Int32Array) => i32): Int32Array {\\n return MAP(this, fn);\\n }\\n\\n filter(fn: (value: i32, index: i32, self: Int32Array) => bool): Int32Array {\\n return FILTER(this, fn);\\n }\\n\\n findIndex(fn: (value: i32, index: i32, self: Int32Array) => bool): i32 {\\n return FIND_INDEX(this, fn);\\n }\\n\\n findLastIndex(fn: (value: i32, index: i32, self: Int32Array) => bool): i32 {\\n return FIND_LAST_INDEX(this, fn);\\n }\\n\\n some(fn: (value: i32, index: i32, self: Int32Array) => bool): bool {\\n return SOME(this, fn);\\n }\\n\\n every(fn: (value: i32, index: i32, self: Int32Array) => bool): bool {\\n return EVERY(this, fn);\\n }\\n\\n forEach(fn: (value: i32, index: i32, self: Int32Array) => void): void {\\n FOREACH(this, fn);\\n }\\n\\n reverse(): Int32Array {\\n REVERSE(this.dataStart, this.length);\\n return this;\\n }\\n\\n join(separator: string = \\\",\\\"): string {\\n return joinIntegerArray(this.dataStart, this.length, separator);\\n }\\n\\n set>(source: U, offset: i32 = 0): void {\\n SET(this, source, offset);\\n }\\n\\n toString(): string {\\n return this.join();\\n }\\n\\n static wrap(buffer: ArrayBuffer, byteOffset: i32 = 0, length: i32 = -1): Int32Array {\\n return WRAP(buffer, byteOffset, length);\\n }\\n}\\n\\nexport class Uint32Array extends ArrayBufferView {\\n [key: number]: u32;\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly BYTES_PER_ELEMENT: i32 = sizeof();\\n\\n constructor(length: i32) {\\n super(length, alignof());\\n }\\n\\n get length(): i32 {\\n return this.byteLength >>> alignof();\\n }\\n\\n @operator(\\\"[]\\\")\\n private __get(index: i32): u32 {\\n if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE);\\n return load(this.dataStart + (index << alignof()));\\n }\\n\\n @unsafe @operator(\\\"{}\\\")\\n private __uget(index: i32): u32 {\\n return load(this.dataStart + (index << alignof()));\\n }\\n\\n @operator(\\\"[]=\\\")\\n private __set(index: i32, value: u32): void {\\n if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE);\\n store(this.dataStart + (index << alignof()), value);\\n }\\n\\n @unsafe @operator(\\\"{}=\\\")\\n private __uset(index: i32, value: u32): void {\\n store(this.dataStart + (index << alignof()), value);\\n }\\n\\n at(index: i32): u32 {\\n let len = this.byteLength >>> alignof();\\n index += select(0, len, index >= 0);\\n if (index >= len) throw new RangeError(E_INDEXOUTOFRANGE);\\n return load(this.dataStart + (index << alignof()));\\n }\\n\\n includes(searchElement: u32, fromIndex: i32 = 0): bool {\\n return INCLUDES(this, searchElement, fromIndex);\\n }\\n\\n indexOf(searchElement: u32, fromIndex: i32 = 0): i32 {\\n return INDEX_OF(this, searchElement, fromIndex);\\n }\\n\\n lastIndexOf(searchElement: u32, fromIndex: i32 = this.length): i32 {\\n return LAST_INDEX_OF(this, searchElement, fromIndex);\\n }\\n\\n fill(value: u32, start: i32 = 0, end: i32 = i32.MAX_VALUE): Uint32Array {\\n FILL(this.dataStart, this.length, value, start, end);\\n return this;\\n }\\n\\n sort(comparator: (a: u32, b: u32) => i32 = COMPARATOR()): Uint32Array {\\n SORT(this.dataStart, this.length, comparator);\\n return this;\\n }\\n\\n slice(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Uint32Array {\\n return SLICE(this, begin, end);\\n }\\n\\n subarray(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Uint32Array {\\n return SUBARRAY(this, begin, end);\\n }\\n\\n copyWithin(target: i32, start: i32, end: i32 = i32.MAX_VALUE): Uint32Array {\\n return COPY_WITHIN(this, target, start, end);\\n }\\n\\n reduce(\\n fn: (accumulator: T, value: u32, index: i32, array: Uint32Array) => T,\\n initialValue: T,\\n ): T {\\n return REDUCE(this, fn, initialValue);\\n }\\n\\n reduceRight(\\n fn: (accumulator: T, value: u32, index: i32, array: Uint32Array) => T,\\n initialValue: T,\\n ): T {\\n return REDUCE_RIGHT(this, fn, initialValue);\\n }\\n\\n map(fn: (value: u32, index: i32, self: Uint32Array) => u32): Uint32Array {\\n return MAP(this, fn);\\n }\\n\\n filter(fn: (value: u32, index: i32, self: Uint32Array) => bool): Uint32Array {\\n return FILTER(this, fn);\\n }\\n\\n findIndex(fn: (value: u32, index: i32, self: Uint32Array) => bool): i32 {\\n return FIND_INDEX(this, fn);\\n }\\n\\n findLastIndex(fn: (value: u32, index: i32, self: Uint32Array) => bool): i32 {\\n return FIND_LAST_INDEX(this, fn);\\n }\\n\\n some(fn: (value: u32, index: i32, self: Uint32Array) => bool): bool {\\n return SOME(this, fn);\\n }\\n\\n every(fn: (value: u32, index: i32, self: Uint32Array) => bool): bool {\\n return EVERY(this, fn);\\n }\\n\\n forEach(fn: (value: u32, index: i32, self: Uint32Array) => void): void {\\n FOREACH(this, fn);\\n }\\n\\n reverse(): Uint32Array {\\n REVERSE(this.dataStart, this.length);\\n return this;\\n }\\n\\n join(separator: string = \\\",\\\"): string {\\n return joinIntegerArray(this.dataStart, this.length, separator);\\n }\\n\\n set>(source: U, offset: i32 = 0): void {\\n SET(this, source, offset);\\n }\\n\\n toString(): string {\\n return this.join();\\n }\\n\\n static wrap(buffer: ArrayBuffer, byteOffset: i32 = 0, length: i32 = -1): Uint32Array {\\n return WRAP(buffer, byteOffset, length);\\n }\\n}\\n\\nexport class Int64Array extends ArrayBufferView {\\n [key: number]: i64;\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly BYTES_PER_ELEMENT: i32 = sizeof();\\n\\n constructor(length: i32) {\\n super(length, alignof());\\n }\\n\\n get length(): i32 {\\n return this.byteLength >>> alignof();\\n }\\n\\n @operator(\\\"[]\\\")\\n private __get(index: i32): i64 {\\n if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE);\\n return load(this.dataStart + (index << alignof()));\\n }\\n\\n @unsafe @operator(\\\"{}\\\")\\n private __uget(index: i32): i64 {\\n return load(this.dataStart + (index << alignof()));\\n }\\n\\n @operator(\\\"[]=\\\")\\n private __set(index: i32, value: i64): void {\\n if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE);\\n store(this.dataStart + (index << alignof()), value);\\n }\\n\\n @unsafe @operator(\\\"{}=\\\")\\n private __uset(index: i32, value: i64): void {\\n store(this.dataStart + (index << alignof()), value);\\n }\\n\\n at(index: i32): i64 {\\n let len = this.byteLength >>> alignof();\\n index += select(0, len, index >= 0);\\n if (index >= len) throw new RangeError(E_INDEXOUTOFRANGE);\\n return load(this.dataStart + (index << alignof()));\\n }\\n\\n includes(searchElement: i64, fromIndex: i32 = 0): bool {\\n return INCLUDES(this, searchElement, fromIndex);\\n }\\n\\n indexOf(searchElement: i64, fromIndex: i32 = 0): i32 {\\n return INDEX_OF(this, searchElement, fromIndex);\\n }\\n\\n lastIndexOf(searchElement: i64, fromIndex: i32 = this.length): i32 {\\n return LAST_INDEX_OF(this, searchElement, fromIndex);\\n }\\n\\n fill(value: i64, start: i32 = 0, end: i32 = i32.MAX_VALUE): Int64Array {\\n FILL(this.dataStart, this.length, u64(value), start, end);\\n return this;\\n }\\n\\n sort(comparator: (a: i64, b: i64) => i32 = COMPARATOR()): Int64Array {\\n SORT(this.dataStart, this.length, comparator);\\n return this;\\n }\\n\\n slice(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Int64Array {\\n return SLICE(this, begin, end);\\n }\\n\\n subarray(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Int64Array {\\n return SUBARRAY(this, begin, end);\\n }\\n\\n copyWithin(target: i32, start: i32, end: i32 = i32.MAX_VALUE): Int64Array {\\n return COPY_WITHIN(this, target, start, end);\\n }\\n\\n reduce(\\n fn: (accumulator: T, value: i64, index: i32, array: Int64Array) => T,\\n initialValue: T,\\n ): T {\\n return REDUCE(this, fn, initialValue);\\n }\\n\\n reduceRight(\\n fn: (accumulator: T, value: i64, index: i32, array: Int64Array) => T,\\n initialValue: T,\\n ): T {\\n return REDUCE_RIGHT(this, fn, initialValue);\\n }\\n\\n map(fn: (value: i64, index: i32, self: Int64Array) => i64): Int64Array {\\n return MAP(this, fn);\\n }\\n\\n filter(fn: (value: i64, index: i32, self: Int64Array) => bool): Int64Array {\\n return FILTER(this, fn);\\n }\\n\\n findIndex(fn: (value: i64, index: i32, self: Int64Array) => bool): i32 {\\n return FIND_INDEX(this, fn);\\n }\\n\\n findLastIndex(fn: (value: i64, index: i32, self: Int64Array) => bool): i32 {\\n return FIND_LAST_INDEX(this, fn);\\n }\\n\\n some(fn: (value: i64, index: i32, self: Int64Array) => bool): bool {\\n return SOME(this, fn);\\n }\\n\\n every(fn: (value: i64, index: i32, self: Int64Array) => bool): bool {\\n return EVERY(this, fn);\\n }\\n\\n forEach(fn: (value: i64, index: i32, self: Int64Array) => void): void {\\n FOREACH(this, fn);\\n }\\n\\n reverse(): Int64Array {\\n REVERSE(this.dataStart, this.length);\\n return this;\\n }\\n\\n join(separator: string = \\\",\\\"): string {\\n return joinIntegerArray(this.dataStart, this.length, separator);\\n }\\n\\n set>(source: U, offset: i32 = 0): void {\\n SET(this, source, offset);\\n }\\n\\n toString(): string {\\n return this.join();\\n }\\n\\n static wrap(buffer: ArrayBuffer, byteOffset: i32 = 0, length: i32 = -1): Int64Array {\\n return WRAP(buffer, byteOffset, length);\\n }\\n}\\n\\nexport class Uint64Array extends ArrayBufferView {\\n [key: number]: u64;\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly BYTES_PER_ELEMENT: i32 = sizeof();\\n\\n constructor(length: i32) {\\n super(length, alignof());\\n }\\n\\n get length(): i32 {\\n return this.byteLength >>> alignof();\\n }\\n\\n @operator(\\\"[]\\\")\\n private __get(index: i32): u64 {\\n if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE);\\n return load(this.dataStart + (index << alignof()));\\n }\\n\\n @unsafe @operator(\\\"{}\\\")\\n private __uget(index: i32): u64 {\\n return load(this.dataStart + (index << alignof()));\\n }\\n\\n @operator(\\\"[]=\\\")\\n private __set(index: i32, value: u64): void {\\n if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE);\\n store(this.dataStart + (index << alignof()), value);\\n }\\n\\n @unsafe @operator(\\\"{}=\\\")\\n private __uset(index: i32, value: u64): void {\\n store(this.dataStart + (index << alignof()), value);\\n }\\n\\n at(index: i32): u64 {\\n let len = this.byteLength >>> alignof();\\n index += select(0, len, index >= 0);\\n if (index >= len) throw new RangeError(E_INDEXOUTOFRANGE);\\n return load(this.dataStart + (index << alignof()));\\n }\\n\\n includes(searchElement: u64, fromIndex: i32 = 0): bool {\\n return INCLUDES(this, searchElement, fromIndex);\\n }\\n\\n indexOf(searchElement: u64, fromIndex: i32 = 0): i32 {\\n return INDEX_OF(this, searchElement, fromIndex);\\n }\\n\\n lastIndexOf(searchElement: u64, fromIndex: i32 = this.length): i32 {\\n return LAST_INDEX_OF(this, searchElement, fromIndex);\\n }\\n\\n fill(value: u64, start: i32 = 0, end: i32 = i32.MAX_VALUE): Uint64Array {\\n FILL(this.dataStart, this.length, value, start, end);\\n return this;\\n }\\n\\n sort(comparator: (a: u64, b: u64) => i32 = COMPARATOR()): Uint64Array {\\n SORT(this.dataStart, this.length, comparator);\\n return this;\\n }\\n\\n slice(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Uint64Array {\\n return SLICE(this, begin, end);\\n }\\n\\n subarray(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Uint64Array {\\n return SUBARRAY(this, begin, end);\\n }\\n\\n copyWithin(target: i32, start: i32, end: i32 = i32.MAX_VALUE): Uint64Array {\\n return COPY_WITHIN(this, target, start, end);\\n }\\n\\n reduce(\\n fn: (accumulator: T, value: u64, index: i32, array: Uint64Array) => T,\\n initialValue: T,\\n ): T {\\n return REDUCE(this, fn, initialValue);\\n }\\n\\n reduceRight(\\n fn: (accumulator: T, value: u64, index: i32, array: Uint64Array) => T,\\n initialValue: T,\\n ): T {\\n return REDUCE_RIGHT(this, fn, initialValue);\\n }\\n\\n map(fn: (value: u64, index: i32, self: Uint64Array) => u64): Uint64Array {\\n return MAP(this, fn);\\n }\\n\\n filter(fn: (value: u64, index: i32, self: Uint64Array) => bool): Uint64Array {\\n return FILTER(this, fn);\\n }\\n\\n findIndex(fn: (value: u64, index: i32, self: Uint64Array) => bool): i32 {\\n return FIND_INDEX(this, fn);\\n }\\n\\n findLastIndex(fn: (value: u64, index: i32, self: Uint64Array) => bool): i32 {\\n return FIND_LAST_INDEX(this, fn);\\n }\\n\\n some(fn: (value: u64, index: i32, self: Uint64Array) => bool): bool {\\n return SOME(this, fn);\\n }\\n\\n every(fn: (value: u64, index: i32, self: Uint64Array) => bool): bool {\\n return EVERY(this, fn);\\n }\\n\\n forEach(fn: (value: u64, index: i32, self: Uint64Array) => void): void {\\n FOREACH(this, fn);\\n }\\n\\n reverse(): Uint64Array {\\n REVERSE(this.dataStart, this.length);\\n return this;\\n }\\n\\n join(separator: string = \\\",\\\"): string {\\n return joinIntegerArray(this.dataStart, this.length, separator);\\n }\\n\\n set>(source: U, offset: i32 = 0): void {\\n SET(this, source, offset);\\n }\\n\\n toString(): string {\\n return this.join();\\n }\\n\\n static wrap(buffer: ArrayBuffer, byteOffset: i32 = 0, length: i32 = -1): Uint64Array {\\n return WRAP(buffer, byteOffset, length);\\n }\\n}\\n\\nexport class Float32Array extends ArrayBufferView {\\n [key: number]: f32;\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly BYTES_PER_ELEMENT: i32 = sizeof();\\n\\n constructor(length: i32) {\\n super(length, alignof());\\n }\\n\\n get length(): i32 {\\n return this.byteLength >>> alignof();\\n }\\n\\n @operator(\\\"[]\\\")\\n private __get(index: i32): f32 {\\n if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE);\\n return load(this.dataStart + (index << alignof()));\\n }\\n\\n @unsafe @operator(\\\"{}\\\")\\n private __uget(index: i32): f32 {\\n return load(this.dataStart + (index << alignof()));\\n }\\n\\n @operator(\\\"[]=\\\")\\n private __set(index: i32, value: f32): void {\\n if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE);\\n store(this.dataStart + (index << alignof()), value);\\n }\\n\\n @unsafe @operator(\\\"{}=\\\")\\n private __uset(index: i32, value: f32): void {\\n store(this.dataStart + (index << alignof()), value);\\n }\\n\\n at(index: i32): f32 {\\n let len = this.byteLength >>> alignof();\\n index += select(0, len, index >= 0);\\n if (index >= len) throw new RangeError(E_INDEXOUTOFRANGE);\\n return load(this.dataStart + (index << alignof()));\\n }\\n\\n includes(searchElement: f32, fromIndex: i32 = 0): bool {\\n return INCLUDES(this, searchElement, fromIndex);\\n }\\n\\n indexOf(searchElement: f32, fromIndex: i32 = 0): i32 {\\n return INDEX_OF(this, searchElement, fromIndex);\\n }\\n\\n lastIndexOf(searchElement: f32, fromIndex: i32 = this.length): i32 {\\n return LAST_INDEX_OF(this, searchElement, fromIndex);\\n }\\n\\n fill(value: f32, start: i32 = 0, end: i32 = i32.MAX_VALUE): Float32Array {\\n FILL(this.dataStart, this.length, value, start, end);\\n return this;\\n }\\n\\n sort(comparator: (a: f32, b: f32) => i32 = COMPARATOR()): Float32Array {\\n SORT(this.dataStart, this.length, comparator);\\n return this;\\n }\\n\\n slice(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Float32Array {\\n return SLICE(this, begin, end);\\n }\\n\\n subarray(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Float32Array {\\n return SUBARRAY(this, begin, end);\\n }\\n\\n copyWithin(target: i32, start: i32, end: i32 = i32.MAX_VALUE): Float32Array {\\n return COPY_WITHIN(this, target, start, end);\\n }\\n\\n reduce(\\n fn: (accumulator: T, value: f32, index: i32, array: Float32Array) => T,\\n initialValue: T,\\n ): T {\\n return REDUCE(this, fn, initialValue);\\n }\\n\\n reduceRight(\\n fn: (accumulator: T, value: f32, index: i32, array: Float32Array) => T,\\n initialValue: T,\\n ): T {\\n return REDUCE_RIGHT(this, fn, initialValue);\\n }\\n\\n map(fn: (value: f32, index: i32, self: Float32Array) => f32): Float32Array {\\n return MAP(this, fn);\\n }\\n\\n filter(fn: (value: f32, index: i32, self: Float32Array) => bool): Float32Array {\\n return FILTER(this, fn);\\n }\\n\\n findIndex(fn: (value: f32, index: i32, self: Float32Array) => bool): i32 {\\n return FIND_INDEX(this, fn);\\n }\\n\\n findLastIndex(fn: (value: f32, index: i32, self: Float32Array) => bool): i32 {\\n return FIND_LAST_INDEX(this, fn);\\n }\\n\\n some(fn: (value: f32, index: i32, self: Float32Array) => bool): bool {\\n return SOME(this, fn);\\n }\\n\\n every(fn: (value: f32, index: i32, self: Float32Array) => bool): bool {\\n return EVERY(this, fn);\\n }\\n\\n forEach(fn: (value: f32, index: i32, self: Float32Array) => void): void {\\n FOREACH(this, fn);\\n }\\n\\n reverse(): Float32Array {\\n REVERSE(this.dataStart, this.length);\\n return this;\\n }\\n\\n join(separator: string = \\\",\\\"): string {\\n return joinFloatArray(this.dataStart, this.length, separator);\\n }\\n\\n set>(source: U, offset: i32 = 0): void {\\n SET(this, source, offset);\\n }\\n\\n toString(): string {\\n return this.join();\\n }\\n\\n static wrap(buffer: ArrayBuffer, byteOffset: i32 = 0, length: i32 = -1): Float32Array {\\n return WRAP(buffer, byteOffset, length);\\n }\\n}\\n\\nexport class Float64Array extends ArrayBufferView {\\n [key: number]: f64;\\n\\n // @ts-ignore: decorator\\n @lazy\\n static readonly BYTES_PER_ELEMENT: i32 = sizeof();\\n\\n constructor(length: i32) {\\n super(length, alignof());\\n }\\n\\n get length(): i32 {\\n return this.byteLength >>> alignof();\\n }\\n\\n @operator(\\\"[]\\\")\\n private __get(index: i32): f64 {\\n if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE);\\n return load(this.dataStart + (index << alignof()));\\n }\\n\\n @unsafe @operator(\\\"{}\\\")\\n private __uget(index: i32): f64 {\\n return load(this.dataStart + (index << alignof()));\\n }\\n\\n @operator(\\\"[]=\\\")\\n private __set(index: i32, value: f64): void {\\n if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE);\\n store(this.dataStart + (index << alignof()), value);\\n }\\n\\n @unsafe @operator(\\\"{}=\\\")\\n private __uset(index: i32, value: f64): void {\\n store(this.dataStart + (index << alignof()), value);\\n }\\n\\n at(index: i32): f64 {\\n let len = this.byteLength >>> alignof();\\n index += select(0, len, index >= 0);\\n if (index >= len) throw new RangeError(E_INDEXOUTOFRANGE);\\n return load(this.dataStart + (index << alignof()));\\n }\\n\\n includes(searchElement: f64, fromIndex: i32 = 0): bool {\\n return INCLUDES(this, searchElement, fromIndex);\\n }\\n\\n indexOf(searchElement: f64, fromIndex: i32 = 0): i32 {\\n return INDEX_OF(this, searchElement, fromIndex);\\n }\\n\\n lastIndexOf(searchElement: f64, fromIndex: i32 = this.length): i32 {\\n return LAST_INDEX_OF(this, searchElement, fromIndex);\\n }\\n\\n fill(value: f64, start: i32 = 0, end: i32 = i32.MAX_VALUE): Float64Array {\\n FILL(this.dataStart, this.length, value, start, end);\\n return this;\\n }\\n\\n sort(comparator: (a: f64, b: f64) => i32 = COMPARATOR()): Float64Array {\\n SORT(this.dataStart, this.length, comparator);\\n return this;\\n }\\n\\n slice(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Float64Array {\\n return SLICE(this, begin, end);\\n }\\n\\n subarray(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Float64Array {\\n return SUBARRAY(this, begin, end);\\n }\\n\\n copyWithin(target: i32, start: i32, end: i32 = i32.MAX_VALUE): Float64Array {\\n return COPY_WITHIN(this, target, start, end);\\n }\\n\\n reduce(\\n fn: (accumulator: T, value: f64, index: i32, array: Float64Array) => T,\\n initialValue: T,\\n ): T {\\n return REDUCE(this, fn, initialValue);\\n }\\n\\n reduceRight(\\n fn: (accumulator: T, value: f64, index: i32, array: Float64Array) => T,\\n initialValue: T,\\n ): T {\\n return REDUCE_RIGHT(this, fn, initialValue);\\n }\\n\\n map(fn: (value: f64, index: i32, self: Float64Array) => f64): Float64Array {\\n return MAP(this, fn);\\n }\\n\\n filter(fn: (value: f64, index: i32, self: Float64Array) => bool): Float64Array {\\n return FILTER(this, fn);\\n }\\n\\n findIndex(fn: (value: f64, index: i32, self: Float64Array) => bool): i32 {\\n return FIND_INDEX(this, fn);\\n }\\n\\n findLastIndex(fn: (value: f64, index: i32, self: Float64Array) => bool): i32 {\\n return FIND_LAST_INDEX(this, fn);\\n }\\n\\n some(fn: (value: f64, index: i32, self: Float64Array) => bool): bool {\\n return SOME(this, fn);\\n }\\n\\n every(fn: (value: f64, index: i32, self: Float64Array) => bool): bool {\\n return EVERY(this, fn);\\n }\\n\\n forEach(fn: (value: f64, index: i32, self: Float64Array) => void): void {\\n FOREACH(this, fn);\\n }\\n\\n reverse(): Float64Array {\\n REVERSE(this.dataStart, this.length);\\n return this;\\n }\\n\\n join(separator: string = \\\",\\\"): string {\\n return joinFloatArray(this.dataStart, this.length, separator);\\n }\\n\\n set>(source: U, offset: i32 = 0): void {\\n SET(this, source, offset);\\n }\\n\\n toString(): string {\\n return this.join();\\n }\\n\\n static wrap(buffer: ArrayBuffer, byteOffset: i32 = 0, length: i32 = -1): Float64Array {\\n return WRAP(buffer, byteOffset, length);\\n }\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction SLICE(\\n array: TArray,\\n start: i32,\\n end: i32\\n): TArray {\\n let len = array.length;\\n start = start < 0 ? max(start + len, 0) : min(start, len);\\n end = end < 0 ? max(end + len, 0) : min(end , len);\\n len = max(end - start, 0);\\n let slice = instantiate(len);\\n memory.copy(\\n slice.dataStart,\\n array.dataStart + (start << alignof()),\\n len << alignof()\\n );\\n return slice;\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction SUBARRAY(\\n array: TArray,\\n begin: i32,\\n end: i32\\n): TArray {\\n let len = array.length;\\n begin = begin < 0 ? max(len + begin, 0) : min(begin, len);\\n end = end < 0 ? max(len + end, 0) : min(end, len);\\n end = max(end, begin);\\n\\n let out = changetype(__new(offsetof(), idof()));\\n let buf = changetype(array.buffer);\\n store(changetype(out), buf, offsetof(\\\"buffer\\\"));\\n __link(changetype(out), buf, false);\\n store(changetype(out), array.dataStart + (begin << alignof()), offsetof(\\\"dataStart\\\"));\\n store(changetype(out), (end - begin) << alignof(), offsetof(\\\"byteLength\\\"));\\n return out;\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction COPY_WITHIN(\\n array: TArray,\\n target: i32,\\n start: i32,\\n end: i32\\n): TArray {\\n let len = array.length;\\n let ptr = array.dataStart;\\n\\n end = min(end, len);\\n let to = target < 0 ? max(len + target, 0) : min(target, len);\\n let from = start < 0 ? max(len + start, 0) : min(start, len);\\n let last = end < 0 ? max(len + end, 0) : min(end, len);\\n let count = min(last - from, len - to);\\n\\n memory.copy(\\n ptr + (to << alignof()),\\n ptr + (from << alignof()),\\n count << alignof()\\n );\\n return array;\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction REDUCE(\\n array: TArray,\\n fn: (accumulator: TRet, value: T, index: i32, array: TArray) => TRet,\\n initialValue: TRet\\n): TRet {\\n let ptr = array.dataStart;\\n for (let i = 0, k = array.length; i < k; i++) {\\n initialValue = fn(initialValue, load(ptr + (i << alignof())), i, array);\\n }\\n return initialValue;\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction REDUCE_RIGHT(\\n array: TArray,\\n fn: (accumulator: TRet, value: T, index: i32, array: TArray) => TRet,\\n initialValue: TRet\\n): TRet {\\n let ptr = array.dataStart;\\n for (let i = array.length - 1; i >= 0; i--) {\\n initialValue = fn(initialValue, load(ptr + (i << alignof())), i, array);\\n }\\n return initialValue;\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction MAP(\\n array: TArray,\\n fn: (value: T, index: i32, self: TArray) => T,\\n): TArray {\\n let len = array.length;\\n let ptr = array.dataStart;\\n\\n let byteLength = len << alignof();\\n let out = changetype(__new(offsetof(), idof()));\\n let buf = changetype(__new(byteLength, idof()));\\n for (let i = 0; i < len; i++) {\\n store(\\n changetype(buf) + (i << alignof()),\\n fn(load(ptr + (i << alignof())), i, array)\\n );\\n }\\n store(changetype(out), changetype(buf), offsetof(\\\"buffer\\\"));\\n __link(changetype(out), changetype(buf), false);\\n store(changetype(out), changetype(buf), offsetof(\\\"dataStart\\\"));\\n store(changetype(out), byteLength, offsetof(\\\"byteLength\\\"));\\n return out;\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction FILTER(\\n array: TArray,\\n fn: (value: T, index: i32, self: TArray) => bool,\\n): TArray {\\n let len = array.length;\\n let out = changetype(__new(offsetof(), idof()));\\n let buf = changetype(__new(len << alignof(), idof()));\\n let dataStart = array.dataStart;\\n let j: usize = 0;\\n for (let i = 0; i < len; i++) {\\n let value = load(dataStart + (i << alignof()));\\n if (fn(value, i, array)) {\\n store(\\n changetype(buf) + (j++ << alignof()),\\n value\\n );\\n }\\n }\\n // shrink output buffer\\n let byteLength = j << alignof();\\n let data = __renew(changetype(buf), byteLength);\\n store(changetype(out), data, offsetof(\\\"buffer\\\"));\\n __link(changetype(out), data, false);\\n store(changetype(out), byteLength, offsetof(\\\"byteLength\\\"));\\n store(changetype(out), data, offsetof(\\\"dataStart\\\"));\\n return out;\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction FIND_INDEX(\\n array: TArray,\\n fn: (value: T, index: i32, array: TArray) => bool,\\n): i32 {\\n let ptr = array.dataStart;\\n for (let i = 0, k = array.length; i < k; i++) {\\n if (fn(load(ptr + (i << alignof())), i, array)) return i;\\n }\\n return -1;\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction FIND_LAST_INDEX(\\n array: TArray,\\n fn: (value: T, index: i32, array: TArray) => bool,\\n): i32 {\\n let ptr = array.dataStart;\\n for (let i = array.length - 1; i >= 0; --i) {\\n if (fn(load(ptr + (i << alignof())), i, array)) return i;\\n }\\n return -1;\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction INCLUDES(\\n array: TArray,\\n searchElement: T,\\n fromIndex: i32,\\n): bool {\\n if (isFloat()) {\\n let index: isize = fromIndex;\\n let len: isize = array.length;\\n if (len == 0 || index >= len) return false;\\n if (index < 0) index = max(len + index, 0);\\n let dataStart = array.dataStart;\\n while (index < len) {\\n let elem = load(dataStart + (index << alignof()));\\n // @ts-ignore\\n if (elem == searchElement || isNaN(elem) & isNaN(searchElement)) return true;\\n ++index;\\n }\\n return false;\\n } else {\\n return INDEX_OF(array, searchElement, fromIndex) >= 0;\\n }\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction INDEX_OF(\\n array: TArray,\\n searchElement: T,\\n fromIndex: i32,\\n): i32 {\\n let index: isize = fromIndex;\\n let len: isize = array.length;\\n if (len == 0 || index >= len) return -1;\\n if (index < 0) index = max(len + index, 0);\\n let dataStart = array.dataStart;\\n while (index < len) {\\n if (load(dataStart + (index << alignof())) == searchElement) return index;\\n ++index;\\n }\\n return -1;\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction LAST_INDEX_OF(\\n array: TArray,\\n searchElement: T,\\n fromIndex: i32,\\n): i32 {\\n let index: isize = fromIndex;\\n let len: isize = array.length;\\n if (len == 0) return -1;\\n if (index < 0) index = len + index; // no need to clamp\\n else if (index >= len) index = len - 1;\\n let dataStart = array.dataStart;\\n while (index >= 0) {\\n if (load(dataStart + (index << alignof())) == searchElement) return index;\\n --index;\\n }\\n return -1;\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction SOME(\\n array: TArray,\\n fn: (value: T, index: i32, array: TArray) => bool,\\n): bool {\\n let ptr = array.dataStart;\\n for (let i = 0, k = array.length; i < k; i++) {\\n if (fn(load(ptr + (i << alignof())), i, array)) return true;\\n }\\n return false;\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction EVERY(\\n array: TArray,\\n fn: (value: T, index: i32, array: TArray) => bool,\\n): bool {\\n let ptr = array.dataStart;\\n for (let i = 0, k = array.length; i < k; i++) {\\n if (fn(load(ptr + (i << alignof())), i, array)) continue;\\n return false;\\n }\\n return true;\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction FOREACH(\\n array: TArray,\\n fn: (value: T, index: i32, array: TArray) => void,\\n): void {\\n let ptr = array.dataStart;\\n for (let i = 0, k = array.length; i < k; i++) {\\n fn(load(ptr + (i << alignof())), i, array);\\n }\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction WRAP(\\n buffer: ArrayBuffer,\\n byteOffset: i32 = 0,\\n len: i32 = -1\\n): TArray {\\n let byteLength: i32;\\n let bufferByteLength = buffer.byteLength;\\n const mask: u32 = sizeof() - 1;\\n if (i32(byteOffset > bufferByteLength) | (byteOffset & mask)) {\\n throw new RangeError(E_INDEXOUTOFRANGE);\\n }\\n if (len < 0) {\\n if (len == -1) {\\n if (bufferByteLength & mask) {\\n throw new RangeError(E_INVALIDLENGTH);\\n }\\n byteLength = bufferByteLength - byteOffset;\\n } else {\\n throw new RangeError(E_INVALIDLENGTH);\\n }\\n } else {\\n byteLength = len << alignof();\\n if (byteOffset + byteLength > bufferByteLength) {\\n throw new RangeError(E_INVALIDLENGTH);\\n }\\n }\\n let out = changetype(__new(offsetof(), idof()));\\n store(changetype(out), changetype(buffer), offsetof(\\\"buffer\\\"));\\n __link(changetype(out), changetype(buffer), false);\\n store(changetype(out), byteLength, offsetof(\\\"byteLength\\\"));\\n store(changetype(out), changetype(buffer) + byteOffset, offsetof(\\\"dataStart\\\"));\\n return out;\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction SET<\\n TArray extends ArrayLike,\\n UArray extends ArrayLike\\n>(\\n target: TArray,\\n source: UArray,\\n offset: i32 = 0\\n): void {\\n // need to assert at compile time that U is not a reference or a function\\n if (isReference>()) {\\n ERROR(E_NOTIMPLEMENTED);\\n }\\n let sourceLen = source.length;\\n if (offset < 0 || sourceLen + offset > target.length) {\\n // offset is out of bounds\\n throw new RangeError(E_INDEXOUTOFRANGE);\\n }\\n // @ts-ignore: dataStart\\n let targetStart = target.dataStart + (offset << (alignof>()));\\n // @ts-ignore: dataStart\\n let sourceStart = source.dataStart;\\n // if the types align and match, use memory.copy() instead of manual loop\\n if (\\n isInteger>() == isInteger>() &&\\n alignof>() == alignof>() &&\\n !(isSigned>() && target instanceof Uint8ClampedArray)\\n ) {\\n memory.copy(targetStart, sourceStart, sourceLen << (alignof>()));\\n } else {\\n for (let i = 0; i < sourceLen; i++) {\\n let ptr = targetStart + (i << (alignof>()));\\n let value = load>(sourceStart + (i << (alignof>())));\\n // if TArray is Uint8ClampedArray, then values must be clamped\\n if (target instanceof Uint8ClampedArray) {\\n if (isFloat>()) {\\n store>(ptr,\\n isFinite>(value)\\n ? >max>(0, min>(255, value))\\n : 0\\n );\\n } else {\\n if (!isSigned>()) {\\n store>(ptr, min>(255, value));\\n } else if (sizeof>() <= 4) {\\n store>(ptr, ~(value >> 31) & (((255 - value) >> 31) | value));\\n } else {\\n store>(ptr, ~(value >> 63) & (((255 - value) >> 63) | value));\\n }\\n }\\n } else {\\n if (isFloat>() && !isFloat>()) {\\n store>(ptr, isFinite>(value) ? >value : 0);\\n } else {\\n store>(ptr, >value);\\n }\\n }\\n }\\n }\\n}\\n\",\n \"uri\": \"import { encode, decode, URI_UNSAFE, URL_UNSAFE } from \\\"./util/uri\\\";\\n\\nexport function encodeURI(str: string): string {\\n return changetype(encode(changetype(str), str.length, URI_UNSAFE));\\n}\\n\\nexport function decodeURI(str: string): string {\\n return changetype(decode(changetype(str), str.length, false));\\n}\\n\\nexport function encodeURIComponent(str: string): string {\\n return changetype(encode(changetype(str), str.length, URL_UNSAFE));\\n}\\n\\nexport function decodeURIComponent(str: string): string {\\n return changetype(decode(changetype(str), str.length, true));\\n}\\n\",\n \"util/bytes\": \"export function REVERSE(ptr: usize, len: usize): void {\\n if (len > 1) {\\n let\\n i: usize = 0,\\n tail: usize,\\n hlen: usize = len >> 1;\\n\\n if (ASC_SHRINK_LEVEL < 1) {\\n if (sizeof() == 1) {\\n // TODO: Decide later: Does we need this fast path cases?\\n //\\n // if (len == 4) {\\n // store(ptr, bswap(load(ptr)));\\n // return;\\n // }\\n // if (len == 8) {\\n // store(ptr, bswap(load(ptr)));\\n // return;\\n // }\\n tail = len - 8;\\n while (i + 7 < hlen) {\\n let front = ptr + i;\\n let back = ptr + tail - i;\\n let temp = bswap(load(front));\\n store(front, bswap(load(back)));\\n store(back, temp);\\n i += 8;\\n }\\n }\\n\\n if (sizeof() == 2) {\\n tail = len - 2;\\n while (i + 1 < hlen) {\\n let front = ptr + (i << 1);\\n let back = ptr + (tail - i << 1);\\n let temp = rotr(load(back), 16);\\n store(back, rotr(load(front), 16));\\n store(front, temp);\\n i += 2;\\n }\\n }\\n }\\n\\n tail = len - 1;\\n while (i < hlen) {\\n let front = ptr + (i << alignof());\\n let back = ptr + (tail - i << alignof());\\n let temp = load(front);\\n store(front, load(back));\\n store(back, temp);\\n i++;\\n }\\n }\\n}\\n\\nexport function FILL(\\n ptr: usize,\\n len: usize,\\n value: T,\\n start: isize,\\n end: isize\\n): void {\\n start = start < 0 ? max(len + start, 0) : min(start, len);\\n end = end < 0 ? max(len + end, 0) : min(end, len);\\n\\n if (sizeof() == 1) {\\n if (start < end) {\\n memory.fill(\\n ptr + start,\\n u8(value),\\n (end - start)\\n );\\n }\\n } else {\\n if (ASC_SHRINK_LEVEL <= 1) {\\n if (isInteger()) {\\n // @ts-ignore\\n if (value == 0 | value == -1) {\\n if (start < end) {\\n memory.fill(\\n ptr + (start << alignof()),\\n u8(value),\\n (end - start) << alignof()\\n );\\n }\\n return;\\n }\\n } else if (isFloat()) {\\n // for floating non-negative zeros we can use fast memory.fill\\n if ((sizeof() == 4 && reinterpret(f32(value)) == 0) ||\\n (sizeof() == 8 && reinterpret(f64(value)) == 0)) {\\n if (start < end) {\\n memory.fill(\\n ptr + (start << alignof()),\\n 0,\\n (end - start) << alignof()\\n );\\n }\\n return;\\n }\\n }\\n }\\n for (; start < end; ++start) {\\n store(ptr + (start << alignof()), value);\\n }\\n }\\n}\\n\",\n \"util/casemap\": \"// Total tables size: ~5 kb (usually compressed to ~4 kb)\\n// See: https://git.musl-libc.org/cgit/musl/tree/src/ctype/casemap.h\\n\\n// @ts-ignore: decorator\\n@lazy @inline const TAB = memory.data([\\n 7, 8, 9, 10, 11, 12, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,\\n 13, 6, 6, 14, 6, 6, 6, 6, 6, 6, 6, 6, 15, 16, 17, 18,\\n 6, 19, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 20, 21, 6, 6,\\n 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,\\n 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,\\n 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,\\n 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,\\n 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,\\n 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,\\n 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,\\n 6, 6, 6, 6, 6, 6, 22, 23, 6, 6, 6, 24, 6, 6, 6, 6,\\n 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,\\n 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,\\n 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,\\n 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,\\n 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 25,\\n 6, 6, 6, 6, 26, 6, 6, 6, 6, 6, 6, 6, 27, 6, 6, 6,\\n 6, 6, 6, 6, 6, 6, 6, 6, 28, 6, 6, 6, 6, 6, 6, 6,\\n 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,\\n 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,\\n 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,\\n 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,\\n 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 29, 6,\\n 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,\\n 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,\\n 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,\\n 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,\\n 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,\\n 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,\\n 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,\\n 6, 6, 6, 6, 6, 6, 6, 6, 6, 30, 6, 6, 6, 6, 6, 6,\\n 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36,\\n 43, 43, 43, 43, 43, 43, 43, 43, 1, 0, 84, 86, 86, 86, 86, 86,\\n 86, 86, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 43, 43, 43, 43, 43, 43,\\n 43, 7, 43, 43, 91, 86, 86, 86, 86, 86, 86, 86, 74, 86, 86, 5,\\n 49, 80, 49, 80, 49, 80, 49, 80, 49, 80, 49, 80, 49, 80, 49, 80,\\n 36, 80, 121, 49, 80, 49, 80, 49, 56, 80, 49, 80, 49, 80, 49, 80,\\n 49, 80, 49, 80, 49, 80, 49, 80, 78, 49, 2, 78, 13, 13, 78, 3,\\n 78, 0, 36, 110, 0, 78, 49, 38, 110, 81, 78, 36, 80, 78, 57, 20,\\n 129, 27, 29, 29, 83, 49, 80, 49, 80, 13, 49, 80, 49, 80, 49, 80,\\n 27, 83, 36, 80, 49, 2, 92, 123, 92, 123, 92, 123, 92, 123, 92, 123,\\n 20, 121, 92, 123, 92, 123, 92, 45, 43, 73, 3, 72, 3, 120, 92, 123,\\n 20, 0, 150, 10, 1, 43, 40, 6, 6, 0, 42, 6, 42, 42, 43, 7,\\n 187, 181, 43, 30, 0, 43, 7, 43, 43, 43, 1, 43, 43, 43, 43, 43,\\n 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,\\n 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 1, 43, 43, 43, 43,\\n 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,\\n 43, 43, 43, 42, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,\\n 43, 205, 70, 205, 43, 0, 37, 43, 7, 1, 6, 1, 85, 86, 86, 86,\\n 86, 86, 85, 86, 86, 2, 36, 129, 129, 129, 129, 129, 21, 129, 129, 129,\\n 0, 0, 43, 0, 178, 209, 178, 209, 178, 209, 178, 209, 0, 0, 205, 204,\\n 1, 0, 215, 215, 215, 215, 215, 131, 129, 129, 129, 129, 129, 129, 129, 129,\\n 129, 129, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 28, 0, 0, 0,\\n 0, 0, 49, 80, 49, 80, 49, 80, 49, 80, 49, 80, 49, 2, 0, 0,\\n 49, 80, 49, 80, 49, 80, 49, 80, 49, 80, 49, 80, 49, 80, 49, 80,\\n 49, 80, 78, 49, 80, 49, 80, 78, 49, 80, 49, 80, 49, 80, 49, 80,\\n 49, 80, 49, 80, 49, 80, 49, 2, 135, 166, 135, 166, 135, 166, 135, 166,\\n 135, 166, 135, 166, 135, 166, 135, 166, 42, 43, 43, 43, 43, 43, 43, 43,\\n 43, 43, 43, 43, 43, 0, 0, 0, 84, 86, 86, 86, 86, 86, 86, 86,\\n 86, 86, 86, 86, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 84, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,\\n 12, 0, 12, 42, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,\\n 43, 7, 42, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 43, 43, 43, 43, 43, 43,\\n 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,\\n 43, 43, 43, 43, 86, 86, 108, 129, 21, 0, 43, 43, 43, 43, 43, 43,\\n 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,\\n 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,\\n 43, 43, 43, 43, 7, 108, 3, 65, 43, 43, 86, 86, 86, 86, 86, 86,\\n 86, 86, 86, 86, 86, 86, 86, 86, 44, 86, 43, 43, 43, 43, 43, 43,\\n 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 1,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 12, 108, 0, 0, 0, 0, 0, 6,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 6, 37, 6, 37, 6, 37, 6, 37, 6, 37,\\n 6, 37, 6, 37, 6, 37, 6, 37, 6, 37, 6, 37, 6, 37, 6, 37,\\n 6, 37, 6, 37, 6, 37, 6, 37, 6, 37, 6, 37, 6, 37, 6, 37,\\n 6, 37, 6, 37, 6, 37, 6, 37, 86, 122, 158, 38, 6, 37, 6, 37,\\n 6, 37, 6, 37, 6, 37, 6, 37, 6, 37, 6, 37, 6, 37, 6, 37,\\n 6, 37, 6, 37, 6, 37, 6, 37, 6, 37, 6, 1, 43, 43, 79, 86,\\n 86, 44, 43, 127, 86, 86, 57, 43, 43, 85, 86, 86, 43, 43, 79, 86,\\n 86, 44, 43, 127, 86, 86, 129, 55, 117, 91, 123, 92, 43, 43, 79, 86,\\n 86, 2, 172, 4, 0, 0, 57, 43, 43, 85, 86, 86, 43, 43, 79, 86,\\n 86, 44, 43, 43, 86, 86, 50, 19, 129, 87, 0, 111, 129, 126, 201, 215,\\n 126, 45, 129, 129, 14, 126, 57, 127, 111, 87, 0, 129, 129, 126, 21, 0,\\n 126, 3, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 7, 43,\\n 36, 43, 151, 43, 43, 43, 43, 43, 43, 43, 43, 43, 42, 43, 43, 43,\\n 43, 43, 86, 86, 86, 86, 86, 128, 129, 129, 129, 129, 57, 187, 42, 43,\\n 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,\\n 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,\\n 43, 43, 43, 43, 43, 43, 43, 1, 129, 129, 129, 129, 129, 129, 129, 129,\\n 129, 129, 129, 129, 129, 129, 129, 201, 172, 172, 172, 172, 172, 172, 172, 172,\\n 172, 172, 172, 172, 172, 172, 172, 208, 13, 0, 78, 49, 2, 180, 193, 193,\\n 215, 215, 36, 80, 49, 80, 49, 80, 49, 80, 49, 80, 49, 80, 49, 80,\\n 49, 80, 49, 80, 49, 80, 49, 80, 49, 80, 49, 80, 49, 80, 49, 80,\\n 49, 80, 49, 80, 215, 215, 83, 193, 71, 212, 215, 215, 215, 5, 43, 43,\\n 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 7, 1, 0, 1, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 78, 49, 80, 49, 80, 49, 80,\\n 49, 80, 49, 80, 49, 80, 49, 80, 13, 0, 0, 0, 0, 0, 36, 80,\\n 49, 80, 49, 80, 49, 80, 49, 80, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 43, 43, 43, 43, 43,\\n 43, 43, 43, 43, 43, 121, 92, 123, 92, 123, 79, 123, 92, 123, 92, 123,\\n 92, 123, 92, 123, 92, 123, 92, 123, 92, 123, 92, 123, 92, 123, 92, 45,\\n 43, 43, 121, 20, 92, 123, 92, 45, 121, 42, 92, 39, 92, 123, 92, 123,\\n 92, 123, 164, 0, 10, 180, 92, 123, 92, 123, 79, 3, 120, 56, 43, 43,\\n 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 79, 45, 43, 43, 1,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 42, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,\\n 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 43, 43, 43, 43, 43, 43, 43, 43, 7, 0, 72, 86, 86, 86, 86,\\n 86, 86, 86, 86, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 43, 43, 43,\\n 43, 43, 43, 43, 43, 43, 43, 43, 43, 85, 86, 86, 86, 86, 86, 86,\\n 86, 86, 86, 86, 86, 86, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 36, 43, 43, 43, 43, 43, 43, 43, 43, 43,\\n 43, 43, 7, 0, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 43, 43, 43,\\n 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 7, 0, 0,\\n 0, 0, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,\\n 86, 86, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 43, 43,\\n 43, 43, 43, 43, 43, 43, 43, 43, 86, 86, 86, 86, 86, 86, 86, 86,\\n 86, 86, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 42, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 86, 86,\\n 86, 86, 86, 86, 86, 86, 86, 86, 14, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 85,\\n 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 14, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0\\n]);\\n\\n// @ts-ignore: decorator\\n@lazy @inline const RULES = memory.data([\\n 0x0, 0x2001, -0x2000, 0x1dbf00, 0x2e700, 0x7900,\\n 0x2402, 0x101, -0x100, 0x0, 0x201, -0x200,\\n -0xc6ff, -0xe800, -0x78ff, -0x12c00, 0xc300, 0xd201,\\n 0xce01, 0xcd01, 0x4f01, 0xca01, 0xcb01, 0xcf01,\\n 0x6100, 0xd301, 0xd101, 0xa300, 0xd501, 0x8200,\\n 0xd601, 0xda01, 0xd901, 0xdb01, 0x3800, 0x3,\\n -0x4f00, -0x60ff, -0x37ff, 0x242802, 0x0, 0x101,\\n -0x100, -0xcd00, -0xda00, -0x81ff, 0x2a2b01, -0xa2ff,\\n 0x2a2801, 0x2a3f00, -0xc2ff, 0x4501, 0x4701, 0x2a1f00,\\n 0x2a1c00, 0x2a1e00, -0xd200, -0xce00, -0xca00, -0xcb00,\\n 0xa54f00, 0xa54b00, -0xcf00, 0xa52800, 0xa54400, -0xd100,\\n -0xd300, 0x29f700, 0xa54100, 0x29fd00, -0xd500, -0xd600,\\n 0x29e700, 0xa54300, 0xa52a00, -0x4500, -0xd900, -0x4700,\\n -0xdb00, 0xa51500, 0xa51200, 0x4c2402, 0x0, 0x2001,\\n -0x2000, 0x101, -0x100, 0x5400, 0x7401, 0x2601,\\n 0x2501, 0x4001, 0x3f01, -0x2600, -0x2500, -0x1f00,\\n -0x4000, -0x3f00, 0x801, -0x3e00, -0x3900, -0x2f00,\\n -0x3600, -0x800, -0x5600, -0x5000, 0x700, -0x7400,\\n -0x3bff, -0x6000, -0x6ff, 0x701a02, 0x101, -0x100,\\n 0x2001, -0x2000, 0x5001, 0xf01, -0xf00, 0x0,\\n 0x3001, -0x3000, 0x101, -0x100, 0x0, 0xbc000,\\n 0x1c6001, 0x0, 0x97d001, 0x801, -0x800, 0x8a0502,\\n 0x0, -0xbbfff, -0x186200, 0x89c200, -0x182500, -0x186e00,\\n -0x186d00, -0x186400, -0x186300, -0x185c00, 0x0, 0x8a3800,\\n 0x8a0400, 0xee600, 0x101, -0x100, 0x0, -0x3b00,\\n -0x1dbeff, 0x8f1d02, 0x800, -0x7ff, 0x0, 0x5600,\\n -0x55ff, 0x4a00, 0x6400, 0x8000, 0x7000, 0x7e00,\\n 0x900, -0x49ff, -0x8ff, -0x1c2500, -0x63ff, -0x6fff,\\n -0x7fff, -0x7dff, 0xac0502, 0x0, 0x1001, -0x1000,\\n 0x1c01, 0x101, -0x1d5cff, -0x20beff, -0x2045ff, -0x1c00,\\n 0xb10b02, 0x101, -0x100, 0x3001, -0x3000, 0x0,\\n -0x29f6ff, -0xee5ff, -0x29e6ff, -0x2a2b00, -0x2a2800, -0x2a1bff,\\n -0x29fcff, -0x2a1eff, -0x2a1dff, -0x2a3eff, 0x0, -0x1c6000,\\n 0x0, 0x101, -0x100, 0xbc0c02, 0x0, 0x101,\\n -0x100, -0xa543ff, 0x3a001, -0x8a03ff, -0xa527ff, 0x3000,\\n -0xa54eff, -0xa54aff, -0xa540ff, -0xa511ff, -0xa529ff, -0xa514ff,\\n -0x2fff, -0xa542ff, -0x8a37ff, 0x0, -0x97d000, -0x3a000,\\n 0x0, 0x2001, -0x2000, 0x0, 0x2801, -0x2800,\\n 0x0, 0x4001, -0x4000, 0x0, 0x2001, -0x2000,\\n 0x0, 0x2001, -0x2000, 0x0, 0x2201, -0x2200\\n]);\\n\\n// @ts-ignore: decorator\\n@lazy @inline const RULE_BASES = memory.data([\\n 0, 6, 39, 81, 111, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 124, 0, 0, 127, 0, 0, 0, 0, 0, 0, 0, 0, 131, 142, 146, 151,\\n 0, 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 180, 196, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 198, 201, 0, 0, 0, 219, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 222,\\n 0, 0, 0, 0, 225, 0, 0, 0, 0, 0, 0, 0, 228, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 231, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 234, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 237, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0\\n]);\\n\\n// @ts-ignore: decorator\\n@lazy @inline const EXCEPTIONS = memory.data([\\n 48, 12, 49, 13, 120, 14, 127, 15,\\n 128, 16, 129, 17, 134, 18, 137, 19,\\n 138, 19, 142, 20, 143, 21, 144, 22,\\n 147, 19, 148, 23, 149, 24, 150, 25,\\n 151, 26, 154, 27, 156, 25, 157, 28,\\n 158, 29, 159, 30, 166, 31, 169, 31,\\n 174, 31, 177, 32, 178, 32, 183, 33,\\n 191, 34, 197, 35, 200, 35, 203, 35,\\n 221, 36, 242, 35, 246, 37, 247, 38,\\n 32, 45, 58, 46, 61, 47, 62, 48,\\n 63, 49, 64, 49, 67, 50, 68, 51,\\n 69, 52, 80, 53, 81, 54, 82, 55,\\n 83, 56, 84, 57, 89, 58, 91, 59,\\n 92, 60, 97, 61, 99, 62, 101, 63,\\n 102, 64, 104, 65, 105, 66, 106, 64,\\n 107, 67, 108, 68, 111, 66, 113, 69,\\n 114, 70, 117, 71, 125, 72, 130, 73,\\n 135, 74, 137, 75, 138, 76, 139, 76,\\n 140, 77, 146, 78, 157, 79, 158, 80,\\n 69, 87, 123, 29, 124, 29, 125, 29,\\n 127, 88, 134, 89, 136, 90, 137, 90,\\n 138, 90, 140, 91, 142, 92, 143, 92,\\n 172, 93, 173, 94, 174, 94, 175, 94,\\n 194, 95, 204, 96, 205, 97, 206, 97,\\n 207, 98, 208, 99, 209, 100, 213, 101,\\n 214, 102, 215, 103, 240, 104, 241, 105,\\n 242, 106, 243, 107, 244, 108, 245, 109,\\n 249, 110, 253, 45, 254, 45, 255, 45,\\n 80, 105, 81, 105, 82, 105, 83, 105,\\n 84, 105, 85, 105, 86, 105, 87, 105,\\n 88, 105, 89, 105, 90, 105, 91, 105,\\n 92, 105, 93, 105, 94, 105, 95, 105,\\n 130, 0, 131, 0, 132, 0, 133, 0,\\n 134, 0, 135, 0, 136, 0, 137, 0,\\n 192, 117, 207, 118, 128, 137, 129, 138,\\n 130, 139, 133, 140, 134, 141, 112, 157,\\n 113, 157, 118, 158, 119, 158, 120, 159,\\n 121, 159, 122, 160, 123, 160, 124, 161,\\n 125, 161, 179, 162, 186, 163, 187, 163,\\n 188, 164, 190, 165, 195, 162, 204, 164,\\n 218, 166, 219, 166, 229, 106, 234, 167,\\n 235, 167, 236, 110, 243, 162, 248, 168,\\n 249, 168, 250, 169, 251, 169, 252, 164,\\n 38, 176, 42, 177, 43, 178, 78, 179,\\n 132, 8, 98, 186, 99, 187, 100, 188,\\n 101, 189, 102, 190, 109, 191, 110, 192,\\n 111, 193, 112, 194, 126, 195, 127, 195,\\n 125, 207, 141, 208, 148, 209, 171, 210,\\n 172, 211, 173, 212, 176, 213, 177, 214,\\n 178, 215, 196, 216, 197, 217, 198, 218\\n]);\\n\\n/* Special Case Mappings\\n * See: https://unicode.org/Public/UNIDATA/SpecialCasing.txt\\n */\\n\\n/*\\n@lazy @inline\\nconst SPECIALS_LOWER: StaticArray = [\\n 0x0130, 0x0069, 0x0307, 0x0000,\\n];\\n*/\\n\\n// @ts-ignore: decorator\\n@lazy @inlne\\nexport const SPECIALS_UPPER: StaticArray = [\\n // String#toUpperCase needs .length\\n 0x00DF, 0x0053, 0x0053, 0x0000,\\n 0x0149, 0x02BC, 0x004E, 0x0000,\\n 0x01F0, 0x004A, 0x030C, 0x0000,\\n 0x0390, 0x0399, 0x0308, 0x0301,\\n 0x03B0, 0x03A5, 0x0308, 0x0301,\\n 0x0587, 0x0535, 0x0552, 0x0000,\\n 0x1E96, 0x0048, 0x0331, 0x0000,\\n 0x1E97, 0x0054, 0x0308, 0x0000,\\n 0x1E98, 0x0057, 0x030A, 0x0000,\\n 0x1E99, 0x0059, 0x030A, 0x0000,\\n 0x1E9A, 0x0041, 0x02BE, 0x0000,\\n 0x1F50, 0x03A5, 0x0313, 0x0000,\\n 0x1F52, 0x03A5, 0x0313, 0x0300,\\n 0x1F54, 0x03A5, 0x0313, 0x0301,\\n 0x1F56, 0x03A5, 0x0313, 0x0342,\\n 0x1F80, 0x1F08, 0x0399, 0x0000,\\n 0x1F81, 0x1F09, 0x0399, 0x0000,\\n 0x1F82, 0x1F0A, 0x0399, 0x0000,\\n 0x1F83, 0x1F0B, 0x0399, 0x0000,\\n 0x1F84, 0x1F0C, 0x0399, 0x0000,\\n 0x1F85, 0x1F0D, 0x0399, 0x0000,\\n 0x1F86, 0x1F0E, 0x0399, 0x0000,\\n 0x1F87, 0x1F0F, 0x0399, 0x0000,\\n 0x1F88, 0x1F08, 0x0399, 0x0000,\\n 0x1F89, 0x1F09, 0x0399, 0x0000,\\n 0x1F8A, 0x1F0A, 0x0399, 0x0000,\\n 0x1F8B, 0x1F0B, 0x0399, 0x0000,\\n 0x1F8C, 0x1F0C, 0x0399, 0x0000,\\n 0x1F8D, 0x1F0D, 0x0399, 0x0000,\\n 0x1F8E, 0x1F0E, 0x0399, 0x0000,\\n 0x1F8F, 0x1F0F, 0x0399, 0x0000,\\n 0x1F90, 0x1F28, 0x0399, 0x0000,\\n 0x1F91, 0x1F29, 0x0399, 0x0000,\\n 0x1F92, 0x1F2A, 0x0399, 0x0000,\\n 0x1F93, 0x1F2B, 0x0399, 0x0000,\\n 0x1F94, 0x1F2C, 0x0399, 0x0000,\\n 0x1F95, 0x1F2D, 0x0399, 0x0000,\\n 0x1F96, 0x1F2E, 0x0399, 0x0000,\\n 0x1F97, 0x1F2F, 0x0399, 0x0000,\\n 0x1F98, 0x1F28, 0x0399, 0x0000,\\n 0x1F99, 0x1F29, 0x0399, 0x0000,\\n 0x1F9A, 0x1F2A, 0x0399, 0x0000,\\n 0x1F9B, 0x1F2B, 0x0399, 0x0000,\\n 0x1F9C, 0x1F2C, 0x0399, 0x0000,\\n 0x1F9D, 0x1F2D, 0x0399, 0x0000,\\n 0x1F9E, 0x1F2E, 0x0399, 0x0000,\\n 0x1F9F, 0x1F2F, 0x0399, 0x0000,\\n 0x1FA0, 0x1F68, 0x0399, 0x0000,\\n 0x1FA1, 0x1F69, 0x0399, 0x0000,\\n 0x1FA2, 0x1F6A, 0x0399, 0x0000,\\n 0x1FA3, 0x1F6B, 0x0399, 0x0000,\\n 0x1FA4, 0x1F6C, 0x0399, 0x0000,\\n 0x1FA5, 0x1F6D, 0x0399, 0x0000,\\n 0x1FA6, 0x1F6E, 0x0399, 0x0000,\\n 0x1FA7, 0x1F6F, 0x0399, 0x0000,\\n 0x1FA8, 0x1F68, 0x0399, 0x0000,\\n 0x1FA9, 0x1F69, 0x0399, 0x0000,\\n 0x1FAA, 0x1F6A, 0x0399, 0x0000,\\n 0x1FAB, 0x1F6B, 0x0399, 0x0000,\\n 0x1FAC, 0x1F6C, 0x0399, 0x0000,\\n 0x1FAD, 0x1F6D, 0x0399, 0x0000,\\n 0x1FAE, 0x1F6E, 0x0399, 0x0000,\\n 0x1FAF, 0x1F6F, 0x0399, 0x0000,\\n 0x1FB2, 0x1FBA, 0x0399, 0x0000,\\n 0x1FB3, 0x0391, 0x0399, 0x0000,\\n 0x1FB4, 0x0386, 0x0399, 0x0000,\\n 0x1FB6, 0x0391, 0x0342, 0x0000,\\n 0x1FB7, 0x0391, 0x0342, 0x0399,\\n 0x1FBC, 0x0391, 0x0399, 0x0000,\\n 0x1FC2, 0x1FCA, 0x0399, 0x0000,\\n 0x1FC3, 0x0397, 0x0399, 0x0000,\\n 0x1FC4, 0x0389, 0x0399, 0x0000,\\n 0x1FC6, 0x0397, 0x0342, 0x0000,\\n 0x1FC7, 0x0397, 0x0342, 0x0399,\\n 0x1FCC, 0x0397, 0x0399, 0x0000,\\n 0x1FD2, 0x0399, 0x0308, 0x0300,\\n 0x1FD3, 0x0399, 0x0308, 0x0301,\\n 0x1FD6, 0x0399, 0x0342, 0x0000,\\n 0x1FD7, 0x0399, 0x0308, 0x0342,\\n 0x1FE2, 0x03A5, 0x0308, 0x0300,\\n 0x1FE3, 0x03A5, 0x0308, 0x0301,\\n 0x1FE4, 0x03A1, 0x0313, 0x0000,\\n 0x1FE6, 0x03A5, 0x0342, 0x0000,\\n 0x1FE7, 0x03A5, 0x0308, 0x0342,\\n 0x1FF2, 0x1FFA, 0x0399, 0x0000,\\n 0x1FF3, 0x03A9, 0x0399, 0x0000,\\n 0x1FF4, 0x038F, 0x0399, 0x0000,\\n 0x1FF6, 0x03A9, 0x0342, 0x0000,\\n 0x1FF7, 0x03A9, 0x0342, 0x0399,\\n 0x1FFC, 0x03A9, 0x0399, 0x0000,\\n 0xFB00, 0x0046, 0x0046, 0x0000,\\n 0xFB01, 0x0046, 0x0049, 0x0000,\\n 0xFB02, 0x0046, 0x004C, 0x0000,\\n 0xFB03, 0x0046, 0x0046, 0x0049,\\n 0xFB04, 0x0046, 0x0046, 0x004C,\\n 0xFB05, 0x0053, 0x0054, 0x0000,\\n 0xFB06, 0x0053, 0x0054, 0x0000,\\n 0xFB13, 0x0544, 0x0546, 0x0000,\\n 0xFB14, 0x0544, 0x0535, 0x0000,\\n 0xFB15, 0x0544, 0x053B, 0x0000,\\n 0xFB16, 0x054E, 0x0546, 0x0000,\\n 0xFB17, 0x0544, 0x053D, 0x0000\\n];\\n\\n// @ts-ignore: decorator\\n@lazy @inline const MT = memory.data([\\n 2048, 342, 57\\n]);\\n\\n// Special binary search routine for Special Casing Tables\\n// @ts-ignore: decorator\\n@inline\\nexport function bsearch(key: u32, ptr: usize, max: i32): i32 {\\n let min = 0;\\n while (min <= max) {\\n let mid = (min + max) >>> 3 << 2;\\n let cmp = load(ptr + (mid << alignof())) - key;\\n if (cmp == 0) return mid; // found\\n else if (cmp >>> 31) min = mid + 4; // < 0\\n else max = mid - 4; // > 0\\n }\\n return -1; // not found\\n}\\n\\n// See: https://git.musl-libc.org/cgit/musl/tree/src/ctype/towctrans.c\\nexport function casemap(c: u32, dir: i32): i32 {\\n // if (c >= 0x20000) return c;\\n let c0 = c as i32;\\n let b = c >> 8;\\n c &= 255;\\n\\n let x = c / 3;\\n let y = c % 3;\\n\\n /* lookup entry in two-level base-6 table */\\n // v = tab[(tab[b] as i32) * 86 + x] as u32;\\n let v = load(TAB + load(TAB + b) * 86 + x);\\n // v = (v * mt[y] >> 11) % 6;\\n v = (v * load(MT + (y << alignof())) >> 11) % 6;\\n /* use the bit vector out of the tables as an index into\\n * a block-specific set of rules and decode the rule into\\n * a type and a case-mapping delta. */\\n // r = rules[(ruleBases[b] as u32) + v];\\n let r = load(RULES + ((load(RULE_BASES + b) + v) << alignof()));\\n let rt: u32 = r & 255;\\n let rd: i32 = r >> 8;\\n /* rules 0/1 are simple lower/upper case with a delta.\\n * apply according to desired mapping direction. */\\n if (rt < 2) return c0 + (rd & -(rt ^ dir));\\n /* binary search. endpoints of the binary search for\\n * this block are stored in the rule delta field. */\\n let xn: u32 = rd & 0xff;\\n let xb: u32 = rd >>> 8;\\n while (xn) {\\n let h = xn >> 1;\\n // let t = exceptions[(xb + h) * 2 + 0] as u32;\\n let t = load(EXCEPTIONS + (xb + h) * 2, 0);\\n if (t == c) {\\n // r = rules[exceptions[(xb + h) * 2 + 1]];\\n r = load(RULES + (load(EXCEPTIONS + (xb + h) * 2, 1) << alignof()));\\n rt = r & 255;\\n rd = r >> 8;\\n if (rt < 2) return c0 + (rd & -(rt ^ dir));\\n /* Hard-coded for the four exceptional titlecase */\\n return c0 + 1 - (dir << 1); // (dir ? -1 : 1);\\n } else if (t > c) {\\n xn = h;\\n } else {\\n xb += h;\\n xn -= h;\\n }\\n }\\n return c0;\\n}\\n\",\n \"util/error\": \"// Common error messages for use across the standard library. Keeping error messages compact\\n// and reusing them where possible ensures minimal static data in binaries.\\n\\n// @ts-ignore: decorator\\n@lazy @inline\\nexport const E_INDEXOUTOFRANGE: string = \\\"Index out of range\\\";\\n\\n// @ts-ignore: decorator\\n@lazy @inline\\nexport const E_VALUEOUTOFRANGE: string = \\\"Value out of range\\\";\\n\\n// @ts-ignore: decorator\\n@lazy @inline\\nexport const E_INVALIDLENGTH: string = \\\"Invalid length\\\";\\n\\n// @ts-ignore: decorator\\n@lazy @inline\\nexport const E_EMPTYARRAY: string = \\\"Array is empty\\\";\\n\\n// @ts-ignore: decorator\\n@lazy @inline\\nexport const E_HOLEYARRAY: string = \\\"Element type must be nullable if array is holey\\\";\\n\\n// @ts-ignore: decorator\\n@lazy @inline\\nexport const E_NOTIMPLEMENTED: string = \\\"Not implemented\\\";\\n\\n// @ts-ignore: decorator\\n@lazy @inline\\nexport const E_KEYNOTFOUND: string = \\\"Key does not exist\\\";\\n\\n// @ts-ignore: decorator\\n@lazy @inline\\nexport const E_ALLOCATION_TOO_LARGE: string = \\\"Allocation too large\\\";\\n\\n// @ts-ignore: decorator\\n@lazy @inline\\nexport const E_ALREADY_PINNED: string = \\\"Object already pinned\\\";\\n\\n// @ts-ignore: decorator\\n@lazy @inline\\nexport const E_NOT_PINNED: string = \\\"Object is not pinned\\\";\\n\\n// @ts-ignore: decorator\\n@lazy @inline\\nexport const E_URI_MALFORMED: string = \\\"URI malformed\\\";\\n\\n// @ts-ignore: decorator\\n@lazy @inline\\nexport const E_INVALIDDATE: string = \\\"Invalid Date\\\";\\n\\n// @ts-ignore: decorator\\n@lazy @inline\\nexport const E_UNPAIRED_SURROGATE: string = \\\"Unpaired surrogate\\\";\\n\",\n \"util/hash\": \"export function HASH(key: T): u32 {\\n if (isString()) {\\n return hashStr(changetype(key));\\n } else if (isReference()) {\\n if (sizeof() == 4) return hash32(changetype(key));\\n if (sizeof() == 8) return hash64(changetype(key));\\n } else if (isFloat()) {\\n if (sizeof() == 4) return hash32(reinterpret(f32(key)));\\n if (sizeof() == 8) return hash64(reinterpret(f64(key)));\\n } else {\\n if (sizeof() <= 4) return hash32(u32(key), sizeof());\\n if (sizeof() == 8) return hash64(u64(key));\\n }\\n return unreachable();\\n}\\n\\n// XXHash 32-bit as a starting point, see: https://cyan4973.github.io/xxHash\\n\\n// primes\\n// @ts-ignore: decorator\\n@inline const XXH32_P1: u32 = 2654435761;\\n// @ts-ignore: decorator\\n@inline const XXH32_P2: u32 = 2246822519;\\n// @ts-ignore: decorator\\n@inline const XXH32_P3: u32 = 3266489917;\\n// @ts-ignore: decorator\\n@inline const XXH32_P4: u32 = 668265263;\\n// @ts-ignore: decorator\\n@inline const XXH32_P5: u32 = 374761393;\\n// @ts-ignore: decorator\\n@inline const XXH32_SEED: u32 = 0;\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction hash32(key: u32, len: u32 = 4): u32 {\\n let h: u32 = XXH32_SEED + XXH32_P5 + len;\\n h += key * XXH32_P3;\\n h = rotl(h, 17) * XXH32_P4;\\n h ^= h >> 15;\\n h *= XXH32_P2;\\n h ^= h >> 13;\\n h *= XXH32_P3;\\n h ^= h >> 16;\\n return h;\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction hash64(key: u64): u32 {\\n let h: u32 = XXH32_SEED + XXH32_P5 + 8;\\n h += key * XXH32_P3;\\n h = rotl(h, 17) * XXH32_P4;\\n h += (key >> 32) * XXH32_P3;\\n h = rotl(h, 17) * XXH32_P4;\\n h ^= h >> 15;\\n h *= XXH32_P2;\\n h ^= h >> 13;\\n h *= XXH32_P3;\\n h ^= h >> 16;\\n return h;\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction mix(h: u32, key: u32): u32 {\\n return rotl(h + key * XXH32_P2, 13) * XXH32_P1;\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction hashStr(key: string): u32 {\\n if (changetype(key) == 0) return XXH32_SEED;\\n\\n let h: u32 = key.length << 1;\\n let len: usize = h;\\n let pos = changetype(key);\\n\\n if (len >= 16) {\\n let s1 = XXH32_SEED + XXH32_P1 + XXH32_P2;\\n let s2 = XXH32_SEED + XXH32_P2;\\n let s3 = XXH32_SEED;\\n let s4 = XXH32_SEED - XXH32_P1;\\n\\n let end = len + pos - 16;\\n while (pos <= end) {\\n s1 = mix(s1, load(pos ));\\n s2 = mix(s2, load(pos, 4));\\n s3 = mix(s3, load(pos, 8));\\n s4 = mix(s4, load(pos, 12));\\n pos += 16;\\n }\\n h += rotl(s1, 1) + rotl(s2, 7) + rotl(s3, 12) + rotl(s4, 18);\\n } else {\\n h += XXH32_SEED + XXH32_P5;\\n }\\n\\n let end = changetype(key) + len - 4;\\n while (pos <= end) {\\n h += load(pos) * XXH32_P3;\\n h = rotl(h, 17) * XXH32_P4;\\n pos += 4;\\n }\\n\\n end = changetype(key) + len;\\n while (pos < end) {\\n h += load(pos) * XXH32_P5;\\n h = rotl(h, 11) * XXH32_P1;\\n pos++;\\n }\\n\\n h ^= h >> 15;\\n h *= XXH32_P2;\\n h ^= h >> 13;\\n h *= XXH32_P3;\\n h ^= h >> 16;\\n return h;\\n}\\n\",\n \"util/math\": \"//\\n// Lookup data for exp2f\\n//\\n\\n// @ts-ignore: decorator\\n@inline const EXP2F_TABLE_BITS = 5;\\n\\n// @ts-ignore: decorator\\n@lazy @inline const EXP2F_DATA_TAB = memory.data([\\n // exp2f_data_tab[i] = uint(2^(i/N)) - (i << 52-BITS)\\n // used for computing 2^(k/N) for an int |k| < 150 N as\\n // double(tab[k%N] + (k << 52-BITS))\\n 0x3FF0000000000000, 0x3FEFD9B0D3158574, 0x3FEFB5586CF9890F, 0x3FEF9301D0125B51,\\n 0x3FEF72B83C7D517B, 0x3FEF54873168B9AA, 0x3FEF387A6E756238, 0x3FEF1E9DF51FDEE1,\\n 0x3FEF06FE0A31B715, 0x3FEEF1A7373AA9CB, 0x3FEEDEA64C123422, 0x3FEECE086061892D,\\n 0x3FEEBFDAD5362A27, 0x3FEEB42B569D4F82, 0x3FEEAB07DD485429, 0x3FEEA47EB03A5585,\\n 0x3FEEA09E667F3BCD, 0x3FEE9F75E8EC5F74, 0x3FEEA11473EB0187, 0x3FEEA589994CCE13,\\n 0x3FEEACE5422AA0DB, 0x3FEEB737B0CDC5E5, 0x3FEEC49182A3F090, 0x3FEED503B23E255D,\\n 0x3FEEE89F995AD3AD, 0x3FEEFF76F2FB5E47, 0x3FEF199BDD85529C, 0x3FEF3720DCEF9069,\\n 0x3FEF5818DCFBA487, 0x3FEF7C97337B9B5F, 0x3FEFA4AFA2A490DA, 0x3FEFD0765B6E4540\\n]);\\n\\n// ULP error: 0.502 (nearest rounding.)\\n// Relative error: 1.69 * 2^-34 in [-1/64, 1/64] (before rounding.)\\n// Wrong count: 168353 (all nearest rounding wrong results with fma.)\\n// @ts-ignore: decorator\\n@inline\\nexport function exp2f_lut(x: f32): f32 {\\n const\\n N = 1 << EXP2F_TABLE_BITS,\\n N_MASK = N - 1,\\n shift = reinterpret(0x4338000000000000) / N, // 0x1.8p+52\\n Ox127f = reinterpret(0x7F000000);\\n\\n const\\n C0 = reinterpret(0x3FAC6AF84B912394), // 0x1.c6af84b912394p-5\\n C1 = reinterpret(0x3FCEBFCE50FAC4F3), // 0x1.ebfce50fac4f3p-3\\n C2 = reinterpret(0x3FE62E42FF0C52D6); // 0x1.62e42ff0c52d6p-1\\n\\n let xd = x;\\n let ix = reinterpret(x);\\n let ux = ix >> 20 & 0x7FF;\\n if (ux >= 0x430) {\\n // |x| >= 128 or x is nan.\\n if (ix == 0xFF800000) return 0; // x == -Inf -> 0\\n if (ux >= 0x7F8) return x + x; // x == Inf/NaN -> Inf/NaN\\n if (x > 0) return x * Ox127f; // x > 0 -> HugeVal (Owerflow)\\n if (x <= -150) return 0; // x <= -150 -> 0 (Underflow)\\n }\\n\\n // x = k/N + r with r in [-1/(2N), 1/(2N)] and int k.\\n let kd = xd + shift;\\n let ki = reinterpret(kd);\\n let r = xd - (kd - shift);\\n let t: u64, y: f64, s: f64;\\n\\n // exp2(x) = 2^(k/N) * 2^r ~= s * (C0*r^3 + C1*r^2 + C2*r + 1)\\n t = load(EXP2F_DATA_TAB + ((ki & N_MASK) << alignof()));\\n t += ki << (52 - EXP2F_TABLE_BITS);\\n s = reinterpret(t);\\n y = C2 * r + 1;\\n y += (C0 * r + C1) * (r * r);\\n y *= s;\\n\\n return y;\\n}\\n\\n// ULP error: 0.502 (nearest rounding.)\\n// Relative error: 1.69 * 2^-34 in [-ln2/64, ln2/64] (before rounding.)\\n// Wrong count: 170635 (all nearest rounding wrong results with fma.)\\n// @ts-ignore: decorator\\n@inline\\nexport function expf_lut(x: f32): f32 {\\n const\\n N = 1 << EXP2F_TABLE_BITS,\\n N_MASK = N - 1,\\n shift = reinterpret(0x4338000000000000), // 0x1.8p+52\\n InvLn2N = reinterpret(0x3FF71547652B82FE) * N, // 0x1.71547652b82fep+0\\n Ox1p127f = reinterpret(0x7F000000);\\n\\n const\\n C0 = reinterpret(0x3FAC6AF84B912394) / N / N / N, // 0x1.c6af84b912394p-5\\n C1 = reinterpret(0x3FCEBFCE50FAC4F3) / N / N, // 0x1.ebfce50fac4f3p-3\\n C2 = reinterpret(0x3FE62E42FF0C52D6) / N; // 0x1.62e42ff0c52d6p-1\\n\\n let xd = x;\\n let ix = reinterpret(x);\\n let ux = ix >> 20 & 0x7FF;\\n if (ux >= 0x42B) {\\n // |x| >= 88 or x is nan.\\n if (ix == 0xFF800000) return 0; // x == -Inf -> 0\\n if (ux >= 0x7F8) return x + x; // x == Inf/NaN -> Inf/NaN\\n if (x > reinterpret(0x42B17217)) return x * Ox1p127f; // x > log(0x1p128) ~= 88.72 -> HugeVal (Owerflow)\\n if (x < reinterpret(0xC2CFF1B4)) return 0; // x < log(0x1p-150) ~= -103.97 -> 0 (Underflow)\\n }\\n\\n // x*N/Ln2 = k + r with r in [-1/2, 1/2] and int k.\\n let z = InvLn2N * xd;\\n\\n // Round and convert z to int, the result is in [-150*N, 128*N] and\\n // ideally ties-to-even rule is used, otherwise the magnitude of r\\n // can be bigger which gives larger approximation error.\\n let kd = (z + shift);\\n let ki = reinterpret(kd);\\n let r = z - (kd - shift);\\n let s: f64, y: f64, t: u64;\\n\\n // exp(x) = 2^(k/N) * 2^(r/N) ~= s * (C0*r^3 + C1*r^2 + C2*r + 1)\\n t = load(EXP2F_DATA_TAB + ((ki & N_MASK) << alignof()));\\n t += ki << (52 - EXP2F_TABLE_BITS);\\n s = reinterpret(t);\\n z = C0 * r + C1;\\n y = C2 * r + 1;\\n y += z * (r * r);\\n y *= s;\\n\\n return y;\\n}\\n\\n//\\n// Lookup data for log2f\\n//\\n\\n// @ts-ignore: decorator\\n@inline const LOG2F_TABLE_BITS = 4;\\n\\n// @ts-ignore: decorator\\n@lazy @inline const LOG2F_DATA_TAB = memory.data([\\n 0x3FF661EC79F8F3BE, 0xBFDEFEC65B963019, // 0x1.661ec79f8f3bep+0, -0x1.efec65b963019p-2,\\n 0x3FF571ED4AAF883D, 0xBFDB0B6832D4FCA4, // 0x1.571ed4aaf883dp+0, -0x1.b0b6832d4fca4p-2,\\n 0x3FF49539F0F010B0, 0xBFD7418B0A1FB77B, // 0x1.49539f0f010bp+0 , -0x1.7418b0a1fb77bp-2,\\n 0x3FF3C995B0B80385, 0xBFD39DE91A6DCF7B, // 0x1.3c995b0b80385p+0, -0x1.39de91a6dcf7bp-2,\\n 0x3FF30D190C8864A5, 0xBFD01D9BF3F2B631, // 0x1.30d190c8864a5p+0, -0x1.01d9bf3f2b631p-2,\\n 0x3FF25E227B0B8EA0, 0xBFC97C1D1B3B7AF0, // 0x1.25e227b0b8eap+0 , -0x1.97c1d1b3b7afp-3 ,\\n 0x3FF1BB4A4A1A343F, 0xBFC2F9E393AF3C9F, // 0x1.1bb4a4a1a343fp+0, -0x1.2f9e393af3c9fp-3,\\n 0x3FF12358F08AE5BA, 0xBFB960CBBF788D5C, // 0x1.12358f08ae5bap+0, -0x1.960cbbf788d5cp-4,\\n 0x3FF0953F419900A7, 0xBFAA6F9DB6475FCE, // 0x1.0953f419900a7p+0, -0x1.a6f9db6475fcep-5,\\n 0x3FF0000000000000, 0, // 0x1p+0, 0x0,\\n 0x3FEE608CFD9A47AC, 0x3FB338CA9F24F53D, // 0x1.e608cfd9a47acp-1, 0x1.338ca9f24f53dp-4,\\n 0x3FECA4B31F026AA0, 0x3FC476A9543891BA, // 0x1.ca4b31f026aap-1 , 0x1.476a9543891bap-3,\\n 0x3FEB2036576AFCE6, 0x3FCE840B4AC4E4D2, // 0x1.b2036576afce6p-1, 0x1.e840b4ac4e4d2p-3,\\n 0x3FE9C2D163A1AA2D, 0x3FD40645F0C6651C, // 0x1.9c2d163a1aa2dp-1, 0x1.40645f0c6651cp-2,\\n 0x3FE886E6037841ED, 0x3FD88E9C2C1B9FF8, // 0x1.886e6037841edp-1, 0x1.88e9c2c1b9ff8p-2,\\n 0x3FE767DCF5534862, 0x3FDCE0A44EB17BCC // 0x1.767dcf5534862p-1, 0x1.ce0a44eb17bccp-2\\n]);\\n\\n// ULP error: 0.752 (nearest rounding.)\\n// Relative error: 1.9 * 2^-26 (before rounding.)\\n// @ts-ignore: decorator\\n@inline\\nexport function log2f_lut(x: f32): f32 {\\n const\\n N_MASK = (1 << LOG2F_TABLE_BITS) - 1,\\n Ox1p23f = reinterpret(0x4B000000); // 0x1p23f\\n\\n const\\n A0 = reinterpret(0xBFD712B6F70A7E4D), // -0x1.712b6f70a7e4dp-2\\n A1 = reinterpret(0x3FDECABF496832E0), // 0x1.ecabf496832ep-2\\n A2 = reinterpret(0xBFE715479FFAE3DE), // -0x1.715479ffae3dep-1\\n A3 = reinterpret(0x3FF715475F35C8B8); // 0x1.715475f35c8b8p0\\n\\n let ux = reinterpret(x);\\n // Fix sign of zero with downward rounding when x==1.\\n // if (WANT_ROUNDING && predict_false(ix == 0x3f800000)) return 0;\\n if (ux - 0x00800000 >= 0x7F800000 - 0x00800000) {\\n // x < 0x1p-126 or inf or nan.\\n if (ux * 2 == 0) return -Infinity;\\n if (ux == 0x7F800000) return x; // log2(inf) == inf.\\n if ((ux >> 31) || ux * 2 >= 0xFF000000) return (x - x) / (x - x);\\n // x is subnormal, normalize it.\\n ux = reinterpret(x * Ox1p23f);\\n ux -= 23 << 23;\\n }\\n // x = 2^k z; where z is in range [OFF,2*OFF] and exact.\\n // The range is split into N subintervals.\\n // The ith subinterval contains z and c is near its center.\\n let tmp = ux - 0x3F330000;\\n let i = (tmp >> (23 - LOG2F_TABLE_BITS)) & N_MASK;\\n let top = tmp & 0xFF800000;\\n let iz = ux - top;\\n let k = tmp >> 23;\\n\\n let invc = load(LOG2F_DATA_TAB + (i << (1 + alignof())), 0 << alignof());\\n let logc = load(LOG2F_DATA_TAB + (i << (1 + alignof())), 1 << alignof());\\n let z = reinterpret(iz);\\n\\n // log2(x) = log1p(z/c-1)/ln2 + log2(c) + k\\n let r = z * invc - 1;\\n let y0 = logc + k;\\n\\n // Pipelined polynomial evaluation to approximate log1p(r)/ln2.\\n let y = A1 * r + A2;\\n let p = A3 * r + y0;\\n let r2 = r * r;\\n y += A0 * r2;\\n y = y * r2 + p;\\n\\n return y;\\n}\\n\\n//\\n// Lookup data for logf. See: https://git.musl-libc.org/cgit/musl/tree/src/math/logf.c\\n//\\n\\n// @ts-ignore: decorator\\n@inline const LOGF_TABLE_BITS = 4;\\n\\n// @ts-ignore: decorator\\n@lazy @inline const LOGF_DATA_TAB = memory.data([\\n 0x3FF661EC79F8F3BE, 0xBFD57BF7808CAADE, // 0x1.661ec79f8f3bep+0, -0x1.57bf7808caadep-2,\\n 0x3FF571ED4AAF883D, 0xBFD2BEF0A7C06DDB, // 0x1.571ed4aaf883dp+0, -0x1.2bef0a7c06ddbp-2,\\n 0x3FF49539F0F010B0, 0xBFD01EAE7F513A67, // 0x1.49539f0f010bp+0 , -0x1.01eae7f513a67p-2,\\n 0x3FF3C995B0B80385, 0xBFCB31D8A68224E9, // 0x1.3c995b0b80385p+0, -0x1.b31d8a68224e9p-3,\\n 0x3FF30D190C8864A5, 0xBFC6574F0AC07758, // 0x1.30d190c8864a5p+0, -0x1.6574f0ac07758p-3,\\n 0x3FF25E227B0B8EA0, 0xBFC1AA2BC79C8100, // 0x1.25e227b0b8eap+0 , -0x1.1aa2bc79c81p-3 ,\\n 0x3FF1BB4A4A1A343F, 0xBFBA4E76CE8C0E5E, // 0x1.1bb4a4a1a343fp+0, -0x1.a4e76ce8c0e5ep-4,\\n 0x3FF12358F08AE5BA, 0xBFB1973C5A611CCC, // 0x1.12358f08ae5bap+0, -0x1.1973c5a611cccp-4,\\n 0x3FF0953F419900A7, 0xBFA252F438E10C1E, // 0x1.0953f419900a7p+0, -0x1.252f438e10c1ep-5,\\n 0x3FF0000000000000, 0, // 0x1p+0, 0,\\n 0x3FEE608CFD9A47AC, 0x3FAAA5AA5DF25984, // 0x1.e608cfd9a47acp-1, 0x1.aa5aa5df25984p-5,\\n 0x3FECA4B31F026AA0, 0x3FBC5E53AA362EB4, // 0x1.ca4b31f026aap-1 , 0x1.c5e53aa362eb4p-4,\\n 0x3FEB2036576AFCE6, 0x3FC526E57720DB08, // 0x1.b2036576afce6p-1, 0x1.526e57720db08p-3,\\n 0x3FE9C2D163A1AA2D, 0x3FCBC2860D224770, // 0x1.9c2d163a1aa2dp-1, 0x1.bc2860d22477p-3 ,\\n 0x3FE886E6037841ED, 0x3FD1058BC8A07EE1, // 0x1.886e6037841edp-1, 0x1.1058bc8a07ee1p-2,\\n 0x3FE767DCF5534862, 0x3FD4043057B6EE09 // 0x1.767dcf5534862p-1, 0x1.4043057b6ee09p-2\\n]);\\n\\n// ULP error: 0.818 (nearest rounding.)\\n// Relative error: 1.957 * 2^-26 (before rounding.)\\n// @ts-ignore: decorator\\n@inline\\nexport function logf_lut(x: f32): f32 {\\n const\\n N_MASK = (1 << LOGF_TABLE_BITS) - 1,\\n Ox1p23f = reinterpret(0x4B000000); // 0x1p23f\\n\\n const\\n Ln2 = reinterpret(0x3FE62E42FEFA39EF), // 0x1.62e42fefa39efp-1;\\n A0 = reinterpret(0xBFD00EA348B88334), // -0x1.00ea348b88334p-2\\n A1 = reinterpret(0x3FD5575B0BE00B6A), // 0x1.5575b0be00b6ap-2\\n A2 = reinterpret(0xBFDFFFFEF20A4123); // -0x1.ffffef20a4123p-2\\n\\n let ux = reinterpret(x);\\n // Fix sign of zero with downward rounding when x==1.\\n // if (WANT_ROUNDING && ux == 0x3f800000) return 0;\\n if (ux - 0x00800000 >= 0x7F800000 - 0x00800000) {\\n // x < 0x1p-126 or inf or nan.\\n if ((ux << 1) == 0) return -Infinity;\\n if (ux == 0x7F800000) return x; // log(inf) == inf.\\n if ((ux >> 31) || (ux << 1) >= 0xFF000000) return (x - x) / (x - x);\\n // x is subnormal, normalize it.\\n ux = reinterpret(x * Ox1p23f);\\n ux -= 23 << 23;\\n }\\n // x = 2^k z; where z is in range [OFF,2*OFF] and exact.\\n // The range is split into N subintervals.\\n // The ith subinterval contains z and c is near its center.\\n let tmp = ux - 0x3F330000;\\n let i = (tmp >> (23 - LOGF_TABLE_BITS)) & N_MASK;\\n let k = tmp >> 23;\\n let iz = ux - (tmp & 0x1FF << 23);\\n\\n let invc = load(LOGF_DATA_TAB + (i << (1 + alignof())), 0 << alignof());\\n let logc = load(LOGF_DATA_TAB + (i << (1 + alignof())), 1 << alignof());\\n\\n let z = reinterpret(iz);\\n\\n // log(x) = log1p(z/c-1) + log(c) + k*Ln2\\n let r = z * invc - 1;\\n let y0 = logc + k * Ln2;\\n\\n // Pipelined polynomial evaluation to approximate log1p(r).\\n let r2 = r * r;\\n let y = A1 * r + A2;\\n y += A0 * r2;\\n y = y * r2 + (y0 + r);\\n\\n return y;\\n}\\n\\n//\\n// Lookup data for powf. See: https://git.musl-libc.org/cgit/musl/tree/src/math/powf.c\\n//\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction zeroinfnanf(ux: u32): bool {\\n return (ux << 1) - 1 >= (0x7f800000 << 1) - 1;\\n}\\n\\n// Returns 0 if not int, 1 if odd int, 2 if even int. The argument is\\n// the bit representation of a non-zero finite floating-point value.\\n// @ts-ignore: decorator\\n@inline\\nfunction checkintf(iy: u32): i32 {\\n let e = iy >> 23 & 0xFF;\\n if (e < 0x7F ) return 0;\\n if (e > 0x7F + 23) return 2;\\n e = 1 << (0x7F + 23 - e);\\n if (iy & (e - 1)) return 0;\\n if (iy & e ) return 1;\\n return 2;\\n}\\n\\n// Subnormal input is normalized so ix has negative biased exponent.\\n// Output is multiplied by N (POWF_SCALE) if TOINT_INTRINICS is set.\\n// @ts-ignore: decorator\\n@inline\\nfunction log2f_inline(ux: u32): f64 {\\n const N_MASK = (1 << LOG2F_TABLE_BITS) - 1;\\n\\n const\\n A0 = reinterpret(0x3FD27616C9496E0B), // 0x1.27616c9496e0bp-2\\n A1 = reinterpret(0xBFD71969A075C67A), // -0x1.71969a075c67ap-2\\n A2 = reinterpret(0x3FDEC70A6CA7BADD), // 0x1.ec70a6ca7baddp-2\\n A3 = reinterpret(0xBFE7154748BEF6C8), // -0x1.7154748bef6c8p-1\\n A4 = reinterpret(0x3FF71547652AB82B); // 0x1.71547652ab82bp+0\\n\\n // x = 2^k z; where z is in range [OFF,2*OFF] and exact.\\n // The range is split into N subintervals.\\n // The ith subinterval contains z and c is near its center.\\n let tmp = ux - 0x3F330000;\\n let i = usize((tmp >> (23 - LOG2F_TABLE_BITS)) & N_MASK);\\n let top = tmp & 0xFF800000;\\n let uz = ux - top;\\n let k = top >> 23;\\n\\n let invc = load(LOG2F_DATA_TAB + (i << (1 + alignof())), 0 << alignof());\\n let logc = load(LOG2F_DATA_TAB + (i << (1 + alignof())), 1 << alignof());\\n let z = reinterpret(uz);\\n\\n // log2(x) = log1p(z/c-1)/ln2 + log2(c) + k\\n let r = z * invc - 1;\\n let y0 = logc + k;\\n\\n // Pipelined polynomial evaluation to approximate log1p(r)/ln2.\\n let y = A0 * r + A1;\\n let p = A2 * r + A3;\\n let q = A4 * r + y0;\\n\\n r *= r;\\n q += p * r;\\n y = y * (r * r) + q;\\n\\n return y;\\n}\\n\\n// The output of log2 and thus the input of exp2 is either scaled by N\\n// (in case of fast toint intrinsics) or not. The unscaled xd must be\\n// in [-1021,1023], sign_bias sets the sign of the result.\\n// @ts-ignore: decorator\\n@inline\\nfunction exp2f_inline(xd: f64, signBias: u32): f32 {\\n const\\n N = 1 << EXP2F_TABLE_BITS,\\n N_MASK = N - 1,\\n shift = reinterpret(0x4338000000000000) / N; // 0x1.8p+52\\n\\n const\\n C0 = reinterpret(0x3FAC6AF84B912394), // 0x1.c6af84b912394p-5\\n C1 = reinterpret(0x3FCEBFCE50FAC4F3), // 0x1.ebfce50fac4f3p-3\\n C2 = reinterpret(0x3FE62E42FF0C52D6); // 0x1.62e42ff0c52d6p-1\\n\\n // x = k/N + r with r in [-1/(2N), 1/(2N)]\\n let kd = (xd + shift);\\n let ki = reinterpret(kd);\\n let r = xd - (kd - shift);\\n let t: u64, z: f64, y: f64, s: f64;\\n\\n // exp2(x) = 2^(k/N) * 2^r ~= s * (C0*r^3 + C1*r^2 + C2*r + 1)\\n t = load(EXP2F_DATA_TAB + ((ki & N_MASK) << alignof()));\\n t += (ki + signBias) << (52 - EXP2F_TABLE_BITS);\\n s = reinterpret(t);\\n z = C0 * r + C1;\\n y = C2 * r + 1;\\n y += z * (r * r);\\n y *= s;\\n return y;\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction xflowf(sign: u32, y: f32): f32 {\\n return select(-y, y, sign) * y;\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction oflowf(sign: u32): f32 {\\n return xflowf(sign, reinterpret(0x70000000)); // 0x1p97f\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction uflowf(sign: u32): f32 {\\n return xflowf(sign, reinterpret(0x10000000)); // 0x1p-95f\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nexport function powf_lut(x: f32, y: f32): f32 {\\n const\\n Ox1p23f = reinterpret(0x4B000000), // 0x1p23f\\n UPPER_LIMIT = reinterpret(0x405FFFFFFFD1D571), // 0x1.fffffffd1d571p+6\\n LOWER_LIMIT = -150.0,\\n SIGN_BIAS = 1 << (EXP2F_TABLE_BITS + 11);\\n\\n let signBias: u32 = 0;\\n let ix = reinterpret(x);\\n let iy = reinterpret(y);\\n let ny = 0;\\n\\n if (i32(ix - 0x00800000 >= 0x7f800000 - 0x00800000) | (ny = i32(zeroinfnanf(iy)))) {\\n // Either (x < 0x1p-126 or inf or nan) or (y is 0 or inf or nan).\\n if (ny) {\\n if ((iy << 1) == 0) return 1.0;\\n if (ix == 0x3F800000) return NaN; // original: 1.0\\n if ((ix << 1) > (0x7F800000 << 1) || (iy << 1) > (0x7F800000 << 1)) return x + y;\\n if ((ix << 1) == (0x3F800000 << 1)) return NaN; // original: 1.0\\n if (((ix << 1) < (0x3F800000 << 1)) == !(iy >> 31)) return 0; // |x| < 1 && y==inf or |x| > 1 && y==-inf.\\n return y * y;\\n }\\n if (zeroinfnanf(ix)) {\\n let x2 = x * x;\\n if ((ix >> 31) && checkintf(iy) == 1) x2 = -x2;\\n return iy < 0 ? 1 / x2 : x2;\\n }\\n // x and y are non-zero finite.\\n if (ix < 0) {\\n // Finite x < 0.\\n let yint = checkintf(iy);\\n if (yint == 0) return (x - x) / (x - x);\\n if (yint == 1) signBias = SIGN_BIAS;\\n ix &= 0x7FFFFFFF;\\n }\\n if (ix < 0x00800000) {\\n // Normalize subnormal x so exponent becomes negative.\\n ix = reinterpret(x * Ox1p23f);\\n ix &= 0x7FFFFFFF;\\n ix -= 23 << 23;\\n }\\n }\\n let logx = log2f_inline(ix);\\n let ylogx = y * logx; // cannot overflow, y is single prec.\\n if ((reinterpret(ylogx) >> 47 & 0xFFFF) >= 0x80BF) { // reinterpret(126.0) >> 47\\n // |y * log(x)| >= 126\\n if (ylogx > UPPER_LIMIT) return oflowf(signBias); // overflow\\n if (ylogx <= LOWER_LIMIT) return uflowf(signBias); // underflow\\n }\\n return exp2f_inline(ylogx, signBias);\\n}\\n\\n//\\n// Lookup data for exp. See: https://git.musl-libc.org/cgit/musl/tree/src/math/exp.c\\n//\\n\\n// @ts-ignore: decorator\\n@inline const EXP_TABLE_BITS = 7;\\n\\n// @ts-ignore: decorator\\n@lazy @inline const EXP_DATA_TAB = memory.data([\\n 0x0000000000000000, 0x3FF0000000000000,\\n 0x3C9B3B4F1A88BF6E, 0x3FEFF63DA9FB3335,\\n 0xBC7160139CD8DC5D, 0x3FEFEC9A3E778061,\\n 0xBC905E7A108766D1, 0x3FEFE315E86E7F85,\\n 0x3C8CD2523567F613, 0x3FEFD9B0D3158574,\\n 0xBC8BCE8023F98EFA, 0x3FEFD06B29DDF6DE,\\n 0x3C60F74E61E6C861, 0x3FEFC74518759BC8,\\n 0x3C90A3E45B33D399, 0x3FEFBE3ECAC6F383,\\n 0x3C979AA65D837B6D, 0x3FEFB5586CF9890F,\\n 0x3C8EB51A92FDEFFC, 0x3FEFAC922B7247F7,\\n 0x3C3EBE3D702F9CD1, 0x3FEFA3EC32D3D1A2,\\n 0xBC6A033489906E0B, 0x3FEF9B66AFFED31B,\\n 0xBC9556522A2FBD0E, 0x3FEF9301D0125B51,\\n 0xBC5080EF8C4EEA55, 0x3FEF8ABDC06C31CC,\\n 0xBC91C923B9D5F416, 0x3FEF829AAEA92DE0,\\n 0x3C80D3E3E95C55AF, 0x3FEF7A98C8A58E51,\\n 0xBC801B15EAA59348, 0x3FEF72B83C7D517B,\\n 0xBC8F1FF055DE323D, 0x3FEF6AF9388C8DEA,\\n 0x3C8B898C3F1353BF, 0x3FEF635BEB6FCB75,\\n 0xBC96D99C7611EB26, 0x3FEF5BE084045CD4,\\n 0x3C9AECF73E3A2F60, 0x3FEF54873168B9AA,\\n 0xBC8FE782CB86389D, 0x3FEF4D5022FCD91D,\\n 0x3C8A6F4144A6C38D, 0x3FEF463B88628CD6,\\n 0x3C807A05B0E4047D, 0x3FEF3F49917DDC96,\\n 0x3C968EFDE3A8A894, 0x3FEF387A6E756238,\\n 0x3C875E18F274487D, 0x3FEF31CE4FB2A63F,\\n 0x3C80472B981FE7F2, 0x3FEF2B4565E27CDD,\\n 0xBC96B87B3F71085E, 0x3FEF24DFE1F56381,\\n 0x3C82F7E16D09AB31, 0x3FEF1E9DF51FDEE1,\\n 0xBC3D219B1A6FBFFA, 0x3FEF187FD0DAD990,\\n 0x3C8B3782720C0AB4, 0x3FEF1285A6E4030B,\\n 0x3C6E149289CECB8F, 0x3FEF0CAFA93E2F56,\\n 0x3C834D754DB0ABB6, 0x3FEF06FE0A31B715,\\n 0x3C864201E2AC744C, 0x3FEF0170FC4CD831,\\n 0x3C8FDD395DD3F84A, 0x3FEEFC08B26416FF,\\n 0xBC86A3803B8E5B04, 0x3FEEF6C55F929FF1,\\n 0xBC924AEDCC4B5068, 0x3FEEF1A7373AA9CB,\\n 0xBC9907F81B512D8E, 0x3FEEECAE6D05D866,\\n 0xBC71D1E83E9436D2, 0x3FEEE7DB34E59FF7,\\n 0xBC991919B3CE1B15, 0x3FEEE32DC313A8E5,\\n 0x3C859F48A72A4C6D, 0x3FEEDEA64C123422,\\n 0xBC9312607A28698A, 0x3FEEDA4504AC801C,\\n 0xBC58A78F4817895B, 0x3FEED60A21F72E2A,\\n 0xBC7C2C9B67499A1B, 0x3FEED1F5D950A897,\\n 0x3C4363ED60C2AC11, 0x3FEECE086061892D,\\n 0x3C9666093B0664EF, 0x3FEECA41ED1D0057,\\n 0x3C6ECCE1DAA10379, 0x3FEEC6A2B5C13CD0,\\n 0x3C93FF8E3F0F1230, 0x3FEEC32AF0D7D3DE,\\n 0x3C7690CEBB7AAFB0, 0x3FEEBFDAD5362A27,\\n 0x3C931DBDEB54E077, 0x3FEEBCB299FDDD0D,\\n 0xBC8F94340071A38E, 0x3FEEB9B2769D2CA7,\\n 0xBC87DECCDC93A349, 0x3FEEB6DAA2CF6642,\\n 0xBC78DEC6BD0F385F, 0x3FEEB42B569D4F82,\\n 0xBC861246EC7B5CF6, 0x3FEEB1A4CA5D920F,\\n 0x3C93350518FDD78E, 0x3FEEAF4736B527DA,\\n 0x3C7B98B72F8A9B05, 0x3FEEAD12D497C7FD,\\n 0x3C9063E1E21C5409, 0x3FEEAB07DD485429,\\n 0x3C34C7855019C6EA, 0x3FEEA9268A5946B7,\\n 0x3C9432E62B64C035, 0x3FEEA76F15AD2148,\\n 0xBC8CE44A6199769F, 0x3FEEA5E1B976DC09,\\n 0xBC8C33C53BEF4DA8, 0x3FEEA47EB03A5585,\\n 0xBC845378892BE9AE, 0x3FEEA34634CCC320,\\n 0xBC93CEDD78565858, 0x3FEEA23882552225,\\n 0x3C5710AA807E1964, 0x3FEEA155D44CA973,\\n 0xBC93B3EFBF5E2228, 0x3FEEA09E667F3BCD,\\n 0xBC6A12AD8734B982, 0x3FEEA012750BDABF,\\n 0xBC6367EFB86DA9EE, 0x3FEE9FB23C651A2F,\\n 0xBC80DC3D54E08851, 0x3FEE9F7DF9519484,\\n 0xBC781F647E5A3ECF, 0x3FEE9F75E8EC5F74,\\n 0xBC86EE4AC08B7DB0, 0x3FEE9F9A48A58174,\\n 0xBC8619321E55E68A, 0x3FEE9FEB564267C9,\\n 0x3C909CCB5E09D4D3, 0x3FEEA0694FDE5D3F,\\n 0xBC7B32DCB94DA51D, 0x3FEEA11473EB0187,\\n 0x3C94ECFD5467C06B, 0x3FEEA1ED0130C132,\\n 0x3C65EBE1ABD66C55, 0x3FEEA2F336CF4E62,\\n 0xBC88A1C52FB3CF42, 0x3FEEA427543E1A12,\\n 0xBC9369B6F13B3734, 0x3FEEA589994CCE13,\\n 0xBC805E843A19FF1E, 0x3FEEA71A4623C7AD,\\n 0xBC94D450D872576E, 0x3FEEA8D99B4492ED,\\n 0x3C90AD675B0E8A00, 0x3FEEAAC7D98A6699,\\n 0x3C8DB72FC1F0EAB4, 0x3FEEACE5422AA0DB,\\n 0xBC65B6609CC5E7FF, 0x3FEEAF3216B5448C,\\n 0x3C7BF68359F35F44, 0x3FEEB1AE99157736,\\n 0xBC93091FA71E3D83, 0x3FEEB45B0B91FFC6,\\n 0xBC5DA9B88B6C1E29, 0x3FEEB737B0CDC5E5,\\n 0xBC6C23F97C90B959, 0x3FEEBA44CBC8520F,\\n 0xBC92434322F4F9AA, 0x3FEEBD829FDE4E50,\\n 0xBC85CA6CD7668E4B, 0x3FEEC0F170CA07BA,\\n 0x3C71AFFC2B91CE27, 0x3FEEC49182A3F090,\\n 0x3C6DD235E10A73BB, 0x3FEEC86319E32323,\\n 0xBC87C50422622263, 0x3FEECC667B5DE565,\\n 0x3C8B1C86E3E231D5, 0x3FEED09BEC4A2D33,\\n 0xBC91BBD1D3BCBB15, 0x3FEED503B23E255D,\\n 0x3C90CC319CEE31D2, 0x3FEED99E1330B358,\\n 0x3C8469846E735AB3, 0x3FEEDE6B5579FDBF,\\n 0xBC82DFCD978E9DB4, 0x3FEEE36BBFD3F37A,\\n 0x3C8C1A7792CB3387, 0x3FEEE89F995AD3AD,\\n 0xBC907B8F4AD1D9FA, 0x3FEEEE07298DB666,\\n 0xBC55C3D956DCAEBA, 0x3FEEF3A2B84F15FB,\\n 0xBC90A40E3DA6F640, 0x3FEEF9728DE5593A,\\n 0xBC68D6F438AD9334, 0x3FEEFF76F2FB5E47,\\n 0xBC91EEE26B588A35, 0x3FEF05B030A1064A,\\n 0x3C74FFD70A5FDDCD, 0x3FEF0C1E904BC1D2,\\n 0xBC91BDFBFA9298AC, 0x3FEF12C25BD71E09,\\n 0x3C736EAE30AF0CB3, 0x3FEF199BDD85529C,\\n 0x3C8EE3325C9FFD94, 0x3FEF20AB5FFFD07A,\\n 0x3C84E08FD10959AC, 0x3FEF27F12E57D14B,\\n 0x3C63CDAF384E1A67, 0x3FEF2F6D9406E7B5,\\n 0x3C676B2C6C921968, 0x3FEF3720DCEF9069,\\n 0xBC808A1883CCB5D2, 0x3FEF3F0B555DC3FA,\\n 0xBC8FAD5D3FFFFA6F, 0x3FEF472D4A07897C,\\n 0xBC900DAE3875A949, 0x3FEF4F87080D89F2,\\n 0x3C74A385A63D07A7, 0x3FEF5818DCFBA487,\\n 0xBC82919E2040220F, 0x3FEF60E316C98398,\\n 0x3C8E5A50D5C192AC, 0x3FEF69E603DB3285,\\n 0x3C843A59AC016B4B, 0x3FEF7321F301B460,\\n 0xBC82D52107B43E1F, 0x3FEF7C97337B9B5F,\\n 0xBC892AB93B470DC9, 0x3FEF864614F5A129,\\n 0x3C74B604603A88D3, 0x3FEF902EE78B3FF6,\\n 0x3C83C5EC519D7271, 0x3FEF9A51FBC74C83,\\n 0xBC8FF7128FD391F0, 0x3FEFA4AFA2A490DA,\\n 0xBC8DAE98E223747D, 0x3FEFAF482D8E67F1,\\n 0x3C8EC3BC41AA2008, 0x3FEFBA1BEE615A27,\\n 0x3C842B94C3A9EB32, 0x3FEFC52B376BBA97,\\n 0x3C8A64A931D185EE, 0x3FEFD0765B6E4540,\\n 0xBC8E37BAE43BE3ED, 0x3FEFDBFDAD9CBE14,\\n 0x3C77893B4D91CD9D, 0x3FEFE7C1819E90D8,\\n 0x3C5305C14160CC89, 0x3FEFF3C22B8F71F1\\n]);\\n\\n// Handle cases that may overflow or underflow when computing the result that\\n// is scale*(1+TMP) without intermediate rounding. The bit representation of\\n// scale is in SBITS, however it has a computed exponent that may have\\n// overflown into the sign bit so that needs to be adjusted before using it as\\n// a double. (int32_t)KI is the k used in the argument reduction and exponent\\n// adjustment of scale, positive k here means the result may overflow and\\n// negative k means the result may underflow.\\n// @ts-ignore: decorator\\n@inline\\nfunction specialcase(tmp: f64, sbits: u64, ki: u64): f64 {\\n const\\n Ox1p_1022 = reinterpret(0x0010000000000000), // 0x1p-1022\\n Ox1p1009 = reinterpret(0x7F00000000000000); // 0x1p1009\\n\\n let scale: f64;\\n if (!(ki & 0x80000000)) {\\n // k > 0, the exponent of scale might have overflowed by <= 460.\\n sbits -= u64(1009) << 52;\\n scale = reinterpret(sbits);\\n return Ox1p1009 * (scale + scale * tmp); // 0x1p1009\\n }\\n // k < 0, need special care in the subnormal range.\\n sbits += u64(1022) << 52;\\n // Note: sbits is signed scale.\\n scale = reinterpret(sbits);\\n let y = scale + scale * tmp;\\n if (abs(y) < 1.0) {\\n // Round y to the right precision before scaling it into the subnormal\\n // range to avoid double rounding that can cause 0.5+E/2 ulp error where\\n // E is the worst-case ulp error outside the subnormal range. So this\\n // is only useful if the goal is better than 1 ulp worst-case error.\\n let one = copysign(1.0, y);\\n let lo = scale - y + scale * tmp;\\n let hi = one + y;\\n lo = one - hi + y + lo;\\n y = (hi + lo) - one;\\n // Fix the sign of 0.\\n if (y == 0.0) y = reinterpret(sbits & 0x8000000000000000);\\n }\\n return y * Ox1p_1022;\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nexport function exp_lut(x: f64): f64 {\\n const\\n N = 1 << EXP_TABLE_BITS,\\n N_MASK = N - 1;\\n\\n const\\n InvLn2N = reinterpret(0x3FF71547652B82FE) * N, // 0x1.71547652b82fep0\\n NegLn2hiN = reinterpret(0xBF762E42FEFA0000), // -0x1.62e42fefa0000p-8\\n NegLn2loN = reinterpret(0xBD0CF79ABC9E3B3A), // -0x1.cf79abc9e3b3ap-47\\n shift = reinterpret(0x4338000000000000); // 0x1.8p52;\\n\\n const\\n C2 = reinterpret(0x3FDFFFFFFFFFFDBD), // __exp_data.poly[0] (0x1.ffffffffffdbdp-2)\\n C3 = reinterpret(0x3FC555555555543C), // __exp_data.poly[1] (0x1.555555555543cp-3)\\n C4 = reinterpret(0x3FA55555CF172B91), // __exp_data.poly[2] (0x1.55555cf172b91p-5)\\n C5 = reinterpret(0x3F81111167A4D017); // __exp_data.poly[3] (0x1.1111167a4d017p-7)\\n\\n let ux = reinterpret(x);\\n let abstop = u32(ux >> 52) & 0x7FF;\\n if (abstop - 0x3C9 >= 0x03F) {\\n if (abstop - 0x3C9 >= 0x80000000) return 1;\\n if (abstop >= 0x409) {\\n if (ux == 0xFFF0000000000000) return 0;\\n if (abstop >= 0x7FF) {\\n return 1.0 + x;\\n } else {\\n return select(0, Infinity, ux < 0);\\n }\\n }\\n // Large x is special cased below.\\n abstop = 0;\\n }\\n\\n // exp(x) = 2^(k/N) * exp(r), with exp(r) in [2^(-1/2N),2^(1/2N)]\\n // x = ln2/N*k + r, with int k and r in [-ln2/2N, ln2/2N]\\n let z = InvLn2N * x;\\n // #if TOINT_INTRINSICS\\n // \\tkd = roundtoint(z);\\n // \\tki = converttoint(z);\\n // #elif EXP_USE_TOINT_NARROW\\n // \\t// z - kd is in [-0.5-2^-16, 0.5] in all rounding modes.\\n // let kd = z + shift;\\n // let ki = reinterpret(kd) >> 16;\\n // let kd = ki;\\n // #else\\n // z - kd is in [-1, 1] in non-nearest rounding modes.\\n let kd = z + shift;\\n let ki = reinterpret(kd);\\n kd -= shift;\\n // #endif\\n let r = x + kd * NegLn2hiN + kd * NegLn2loN;\\n // 2^(k/N) ~= scale * (1 + tail).\\n let idx = usize((ki & N_MASK) << 1);\\n let top = ki << (52 - EXP_TABLE_BITS);\\n\\n let tail = reinterpret(load(EXP_DATA_TAB + (idx << alignof()))); // T[idx]\\n // This is only a valid scale when -1023*N < k < 1024*N\\n let sbits = load(EXP_DATA_TAB + (idx << alignof()), 1 << alignof()) + top; // T[idx + 1]\\n // exp(x) = 2^(k/N) * exp(r) ~= scale + scale * (tail + exp(r) - 1).\\n // Evaluation is optimized assuming superscalar pipelined execution.\\n let r2 = r * r;\\n // Without fma the worst case error is 0.25/N ulp larger.\\n // Worst case error is less than 0.5+1.11/N+(abs poly error * 2^53) ulp.\\n let tmp = tail + r + r2 * (C2 + r * C3) + r2 * r2 * (C4 + r * C5);\\n if (abstop == 0) return specialcase(tmp, sbits, ki);\\n let scale = reinterpret(sbits);\\n // Note: tmp == 0 or |tmp| > 2^-200 and scale > 2^-739, so there\\n // is no spurious underflow here even without fma.\\n return scale + scale * tmp;\\n}\\n\\n//\\n// Lookup data for exp2. See: https://git.musl-libc.org/cgit/musl/tree/src/math/exp2.c\\n//\\n\\n// Handle cases that may overflow or underflow when computing the result that\\n// is scale*(1+TMP) without intermediate rounding. The bit representation of\\n// scale is in SBITS, however it has a computed exponent that may have\\n// overflown into the sign bit so that needs to be adjusted before using it as\\n// a double. (int32_t)KI is the k used in the argument reduction and exponent\\n// adjustment of scale, positive k here means the result may overflow and\\n// negative k means the result may underflow.\\n// @ts-ignore: decorator\\n@inline\\nfunction specialcase2(tmp: f64, sbits: u64, ki: u64): f64 {\\n const Ox1p_1022 = reinterpret(0x10000000000000); // 0x1p-1022\\n let scale: f64;\\n if ((ki & 0x80000000) == 0) {\\n // k > 0, the exponent of scale might have overflowed by 1\\n sbits -= u64(1) << 52;\\n scale = reinterpret(sbits);\\n return 2 * (scale * tmp + scale);\\n }\\n // k < 0, need special care in the subnormal range\\n sbits += u64(1022) << 52;\\n scale = reinterpret(sbits);\\n let y = scale * tmp + scale;\\n if (y < 1.0) {\\n // Round y to the right precision before scaling it into the subnormal\\n // range to avoid double rounding that can cause 0.5+E/2 ulp error where\\n // E is the worst-case ulp error outside the subnormal range. So this\\n // is only useful if the goal is better than 1 ulp worst-case error.\\n let hi: f64, lo: f64;\\n lo = scale - y + scale * tmp;\\n hi = 1.0 + y;\\n lo = 1.0 - hi + y + lo;\\n y = (hi + lo) - 1.0;\\n }\\n return y * Ox1p_1022;\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nexport function exp2_lut(x: f64): f64 {\\n const\\n N = 1 << EXP_TABLE_BITS,\\n N_MASK = N - 1,\\n shift = reinterpret(0x4338000000000000) / N; // 0x1.8p52\\n\\n const\\n C1 = reinterpret(0x3FE62E42FEFA39EF), // 0x1.62e42fefa39efp-1\\n C2 = reinterpret(0x3FCEBFBDFF82C424), // 0x1.ebfbdff82c424p-3\\n C3 = reinterpret(0x3FAC6B08D70CF4B5), // 0x1.c6b08d70cf4b5p-5\\n C4 = reinterpret(0x3F83B2ABD24650CC), // 0x1.3b2abd24650ccp-7\\n C5 = reinterpret(0x3F55D7E09B4E3A84); // 0x1.5d7e09b4e3a84p-10\\n\\n let ux = reinterpret(x);\\n let abstop = u32(ux >> 52) & 0x7ff;\\n if (abstop - 0x3C9 >= 0x03F) {\\n if (abstop - 0x3C9 >= 0x80000000) return 1.0;\\n if (abstop >= 0x409) {\\n if (ux == 0xFFF0000000000000) return 0;\\n if (abstop >= 0x7FF) return 1.0 + x;\\n if (ux >= 0) return Infinity;\\n else if (ux >= 0xC090CC0000000000) return 0;\\n }\\n if ((ux << 1) > 0x811A000000000000) abstop = 0; // Large x is special cased below.\\n }\\n\\n // exp2(x) = 2^(k/N) * 2^r, with 2^r in [2^(-1/2N),2^(1/2N)].\\n // x = k/N + r, with int k and r in [-1/2N, 1/2N]\\n let kd = x + shift;\\n let ki = reinterpret(kd);\\n kd -= shift; // k/N for int k\\n let r = x - kd;\\n // 2^(k/N) ~= scale * (1 + tail)\\n let idx = usize((ki & N_MASK) << 1);\\n let top = ki << (52 - EXP_TABLE_BITS);\\n\\n let tail = reinterpret(load(EXP_DATA_TAB + (idx << alignof()), 0 << alignof())); // T[idx])\\n // This is only a valid scale when -1023*N < k < 1024*N\\n let sbits = load(EXP_DATA_TAB + (idx << alignof()), 1 << alignof()) + top; // T[idx + 1]\\n // exp2(x) = 2^(k/N) * 2^r ~= scale + scale * (tail + 2^r - 1).\\n // Evaluation is optimized assuming superscalar pipelined execution\\n let r2 = r * r;\\n // Without fma the worst case error is 0.5/N ulp larger.\\n // Worst case error is less than 0.5+0.86/N+(abs poly error * 2^53) ulp.\\n let tmp = tail + r * C1 + r2 * (C2 + r * C3) + r2 * r2 * (C4 + r * C5);\\n if (abstop == 0) return specialcase2(tmp, sbits, ki);\\n let scale = reinterpret(sbits);\\n // Note: tmp == 0 or |tmp| > 2^-65 and scale > 2^-928, so there\\n // is no spurious underflow here even without fma.\\n return scale * tmp + scale;\\n}\\n\\n//\\n// Lookup data for log2. See: https://git.musl-libc.org/cgit/musl/tree/src/math/log2.c\\n//\\n\\n// @ts-ignore: decorator\\n@inline const LOG2_TABLE_BITS = 6;\\n\\n/* Algorithm:\\n\\n x = 2^k z\\n log2(x) = k + log2(c) + log2(z/c)\\n log2(z/c) = poly(z/c - 1)\\n\\nwhere z is in [1.6p-1; 1.6p0] which is split into N subintervals and z falls\\ninto the ith one, then table entries are computed as\\n\\n tab[i].invc = 1/c\\n tab[i].logc = (double)log2(c)\\n tab2[i].chi = (double)c\\n tab2[i].clo = (double)(c - (double)c)\\n\\nwhere c is near the center of the subinterval and is chosen by trying +-2^29\\nfloating point invc candidates around 1/center and selecting one for which\\n\\n 1) the rounding error in 0x1.8p10 + logc is 0,\\n 2) the rounding error in z - chi - clo is < 0x1p-64 and\\n 3) the rounding error in (double)log2(c) is minimized (< 0x1p-68).\\n\\nNote: 1) ensures that k + logc can be computed without rounding error, 2)\\nensures that z/c - 1 can be computed as (z - chi - clo)*invc with close to a\\nsingle rounding error when there is no fast fma for z*invc - 1, 3) ensures\\nthat logc + poly(z/c - 1) has small error, however near x == 1 when\\n|log2(x)| < 0x1p-4, this is not enough so that is special cased. */\\n\\n// @ts-ignore: decorator\\n@lazy @inline const LOG2_DATA_TAB1 = memory.data([\\n // invc , logc\\n 0x3FF724286BB1ACF8, 0xBFE1095FEECDB000,\\n 0x3FF6E1F766D2CCA1, 0xBFE08494BD76D000,\\n 0x3FF6A13D0E30D48A, 0xBFE00143AEE8F800,\\n 0x3FF661EC32D06C85, 0xBFDEFEC5360B4000,\\n 0x3FF623FA951198F8, 0xBFDDFDD91AB7E000,\\n 0x3FF5E75BA4CF026C, 0xBFDCFFAE0CC79000,\\n 0x3FF5AC055A214FB8, 0xBFDC043811FDA000,\\n 0x3FF571ED0F166E1E, 0xBFDB0B67323AE000,\\n 0x3FF53909590BF835, 0xBFDA152F5A2DB000,\\n 0x3FF5014FED61ADDD, 0xBFD9217F5AF86000,\\n 0x3FF4CAB88E487BD0, 0xBFD8304DB0719000,\\n 0x3FF49539B4334FEE, 0xBFD74189F9A9E000,\\n 0x3FF460CBDFAFD569, 0xBFD6552BB5199000,\\n 0x3FF42D664EE4B953, 0xBFD56B23A29B1000,\\n 0x3FF3FB01111DD8A6, 0xBFD483650F5FA000,\\n 0x3FF3C995B70C5836, 0xBFD39DE937F6A000,\\n 0x3FF3991C4AB6FD4A, 0xBFD2BAA1538D6000,\\n 0x3FF3698E0CE099B5, 0xBFD1D98340CA4000,\\n 0x3FF33AE48213E7B2, 0xBFD0FA853A40E000,\\n 0x3FF30D191985BDB1, 0xBFD01D9C32E73000,\\n 0x3FF2E025CAB271D7, 0xBFCE857DA2FA6000,\\n 0x3FF2B404CF13CD82, 0xBFCCD3C8633D8000,\\n 0x3FF288B02C7CCB50, 0xBFCB26034C14A000,\\n 0x3FF25E2263944DE5, 0xBFC97C1C2F4FE000,\\n 0x3FF234563D8615B1, 0xBFC7D6023F800000,\\n 0x3FF20B46E33EAF38, 0xBFC633A71A05E000,\\n 0x3FF1E2EEFDCDA3DD, 0xBFC494F5E9570000,\\n 0x3FF1BB4A580B3930, 0xBFC2F9E424E0A000,\\n 0x3FF19453847F2200, 0xBFC162595AFDC000,\\n 0x3FF16E06C0D5D73C, 0xBFBF9C9A75BD8000,\\n 0x3FF1485F47B7E4C2, 0xBFBC7B575BF9C000,\\n 0x3FF12358AD0085D1, 0xBFB960C60FF48000,\\n 0x3FF0FEF00F532227, 0xBFB64CE247B60000,\\n 0x3FF0DB2077D03A8F, 0xBFB33F78B2014000,\\n 0x3FF0B7E6D65980D9, 0xBFB0387D1A42C000,\\n 0x3FF0953EFE7B408D, 0xBFAA6F9208B50000,\\n 0x3FF07325CAC53B83, 0xBFA47A954F770000,\\n 0x3FF05197E40D1B5C, 0xBF9D23A8C50C0000,\\n 0x3FF03091C1208EA2, 0xBF916A2629780000,\\n 0x3FF0101025B37E21, 0xBF7720F8D8E80000,\\n 0x3FEFC07EF9CAA76B, 0x3F86FE53B1500000,\\n 0x3FEF4465D3F6F184, 0x3FA11CCCE10F8000,\\n 0x3FEECC079F84107F, 0x3FAC4DFC8C8B8000,\\n 0x3FEE573A99975AE8, 0x3FB3AA321E574000,\\n 0x3FEDE5D6F0BD3DE6, 0x3FB918A0D08B8000,\\n 0x3FED77B681FF38B3, 0x3FBE72E9DA044000,\\n 0x3FED0CB5724DE943, 0x3FC1DCD2507F6000,\\n 0x3FECA4B2DC0E7563, 0x3FC476AB03DEA000,\\n 0x3FEC3F8EE8D6CB51, 0x3FC7074377E22000,\\n 0x3FEBDD2B4F020C4C, 0x3FC98EDE8BA94000,\\n 0x3FEB7D6C006015CA, 0x3FCC0DB86AD2E000,\\n 0x3FEB20366E2E338F, 0x3FCE840AAFCEE000,\\n 0x3FEAC57026295039, 0x3FD0790AB4678000,\\n 0x3FEA6D01BC2731DD, 0x3FD1AC056801C000,\\n 0x3FEA16D3BC3FF18B, 0x3FD2DB11D4FEE000,\\n 0x3FE9C2D14967FEAD, 0x3FD406464EC58000,\\n 0x3FE970E4F47C9902, 0x3FD52DBE093AF000,\\n 0x3FE920FB3982BCF2, 0x3FD651902050D000,\\n 0x3FE8D30187F759F1, 0x3FD771D2CDEAF000,\\n 0x3FE886E5EBB9F66D, 0x3FD88E9C857D9000,\\n 0x3FE83C97B658B994, 0x3FD9A80155E16000,\\n 0x3FE7F405FFC61022, 0x3FDABE186ED3D000,\\n 0x3FE7AD22181415CA, 0x3FDBD0F2AEA0E000,\\n 0x3FE767DCF99EFF8C, 0x3FDCE0A43DBF4000\\n]);\\n\\n// @ts-ignore: decorator\\n@lazy @inline const LOG2_DATA_TAB2 = memory.data([\\n // chi , clo\\n 0x3FE6200012B90A8E, 0x3C8904AB0644B605,\\n 0x3FE66000045734A6, 0x3C61FF9BEA62F7A9,\\n 0x3FE69FFFC325F2C5, 0x3C827ECFCB3C90BA,\\n 0x3FE6E00038B95A04, 0x3C88FF8856739326,\\n 0x3FE71FFFE09994E3, 0x3C8AFD40275F82B1,\\n 0x3FE7600015590E10, 0xBC72FD75B4238341,\\n 0x3FE7A00012655BD5, 0x3C7808E67C242B76,\\n 0x3FE7E0003259E9A6, 0xBC6208E426F622B7,\\n 0x3FE81FFFEDB4B2D2, 0xBC8402461EA5C92F,\\n 0x3FE860002DFAFCC3, 0x3C6DF7F4A2F29A1F,\\n 0x3FE89FFFF78C6B50, 0xBC8E0453094995FD,\\n 0x3FE8E00039671566, 0xBC8A04F3BEC77B45,\\n 0x3FE91FFFE2BF1745, 0xBC77FA34400E203C,\\n 0x3FE95FFFCC5C9FD1, 0xBC76FF8005A0695D,\\n 0x3FE9A0003BBA4767, 0x3C70F8C4C4EC7E03,\\n 0x3FE9DFFFE7B92DA5, 0x3C8E7FD9478C4602,\\n 0x3FEA1FFFD72EFDAF, 0xBC6A0C554DCDAE7E,\\n 0x3FEA5FFFDE04FF95, 0x3C867DA98CE9B26B,\\n 0x3FEA9FFFCA5E8D2B, 0xBC8284C9B54C13DE,\\n 0x3FEADFFFDDAD03EA, 0x3C5812C8EA602E3C,\\n 0x3FEB1FFFF10D3D4D, 0xBC8EFADDAD27789C,\\n 0x3FEB5FFFCE21165A, 0x3C53CB1719C61237,\\n 0x3FEB9FFFD950E674, 0x3C73F7D94194CE00,\\n 0x3FEBE000139CA8AF, 0x3C750AC4215D9BC0,\\n 0x3FEC20005B46DF99, 0x3C6BEEA653E9C1C9,\\n 0x3FEC600040B9F7AE, 0xBC7C079F274A70D6,\\n 0x3FECA0006255FD8A, 0xBC7A0B4076E84C1F,\\n 0x3FECDFFFD94C095D, 0x3C88F933F99AB5D7,\\n 0x3FED1FFFF975D6CF, 0xBC582C08665FE1BE,\\n 0x3FED5FFFA2561C93, 0xBC7B04289BD295F3,\\n 0x3FED9FFF9D228B0C, 0x3C870251340FA236,\\n 0x3FEDE00065BC7E16, 0xBC75011E16A4D80C,\\n 0x3FEE200002F64791, 0x3C89802F09EF62E0,\\n 0x3FEE600057D7A6D8, 0xBC7E0B75580CF7FA,\\n 0x3FEEA00027EDC00C, 0xBC8C848309459811,\\n 0x3FEEE0006CF5CB7C, 0xBC8F8027951576F4,\\n 0x3FEF2000782B7DCC, 0xBC8F81D97274538F,\\n 0x3FEF6000260C450A, 0xBC4071002727FFDC,\\n 0x3FEF9FFFE88CD533, 0xBC581BDCE1FDA8B0,\\n 0x3FEFDFFFD50F8689, 0x3C87F91ACB918E6E,\\n 0x3FF0200004292367, 0x3C9B7FF365324681,\\n 0x3FF05FFFE3E3D668, 0x3C86FA08DDAE957B,\\n 0x3FF0A0000A85A757, 0xBC57E2DE80D3FB91,\\n 0x3FF0E0001A5F3FCC, 0xBC91823305C5F014,\\n 0x3FF11FFFF8AFBAF5, 0xBC8BFABB6680BAC2,\\n 0x3FF15FFFE54D91AD, 0xBC9D7F121737E7EF,\\n 0x3FF1A00011AC36E1, 0x3C9C000A0516F5FF,\\n 0x3FF1E00019C84248, 0xBC9082FBE4DA5DA0,\\n 0x3FF220000FFE5E6E, 0xBC88FDD04C9CFB43,\\n 0x3FF26000269FD891, 0x3C8CFE2A7994D182,\\n 0x3FF2A00029A6E6DA, 0xBC700273715E8BC5,\\n 0x3FF2DFFFE0293E39, 0x3C9B7C39DAB2A6F9,\\n 0x3FF31FFFF7DCF082, 0x3C7DF1336EDC5254,\\n 0x3FF35FFFF05A8B60, 0xBC9E03564CCD31EB,\\n 0x3FF3A0002E0EAECC, 0x3C75F0E74BD3A477,\\n 0x3FF3E000043BB236, 0x3C9C7DCB149D8833,\\n 0x3FF4200002D187FF, 0x3C7E08AFCF2D3D28,\\n 0x3FF460000D387CB1, 0x3C820837856599A6,\\n 0x3FF4A00004569F89, 0xBC89FA5C904FBCD2,\\n 0x3FF4E000043543F3, 0xBC781125ED175329,\\n 0x3FF51FFFCC027F0F, 0x3C9883D8847754DC,\\n 0x3FF55FFFFD87B36F, 0xBC8709E731D02807,\\n 0x3FF59FFFF21DF7BA, 0x3C87F79F68727B02,\\n 0x3FF5DFFFEBFC3481, 0xBC9180902E30E93E\\n]);\\n\\n// @ts-ignore: decorator\\n@inline\\nexport function log2_lut(x: f64): f64 {\\n const N_MASK = (1 << LOG2_TABLE_BITS) - 1;\\n\\n const\\n LO: u64 = 0x3FEEA4AF00000000, // reinterpret(1.0 - 0x1.5b51p-5)\\n HI: u64 = 0x3FF0B55900000000; // reinterpret(1.0 + 0x1.6ab2p-5)\\n\\n const\\n InvLn2hi = reinterpret(0x3FF7154765200000), // 0x1.7154765200000p+0\\n InvLn2lo = reinterpret(0x3DE705FC2EEFA200), // 0x1.705fc2eefa200p-33\\n Ox1p52 = reinterpret(0x4330000000000000); // 0x1p52\\n\\n const\\n B0 = reinterpret(0xBFE71547652B82FE), // -0x1.71547652b82fep-1\\n B1 = reinterpret(0x3FDEC709DC3A03F7), // 0x1.ec709dc3a03f7p-2\\n B2 = reinterpret(0xBFD71547652B7C3F), // -0x1.71547652b7c3fp-2\\n B3 = reinterpret(0x3FD2776C50F05BE4), // 0x1.2776c50f05be4p-2\\n B4 = reinterpret(0xBFCEC709DD768FE5), // -0x1.ec709dd768fe5p-3\\n B5 = reinterpret(0x3FCA61761EC4E736), // 0x1.a61761ec4e736p-3\\n B6 = reinterpret(0xBFC7153FBC64A79B), // -0x1.7153fbc64a79bp-3\\n B7 = reinterpret(0x3FC484D154F01B4A), // 0x1.484d154f01b4ap-3\\n B8 = reinterpret(0xBFC289E4A72C383C), // -0x1.289e4a72c383cp-3\\n B9 = reinterpret(0x3FC0B32F285AEE66); // 0x1.0b32f285aee66p-3\\n\\n const\\n A0 = reinterpret(0xBFE71547652B8339), // -0x1.71547652b8339p-1\\n A1 = reinterpret(0x3FDEC709DC3A04BE), // 0x1.ec709dc3a04bep-2\\n A2 = reinterpret(0xBFD7154764702FFB), // -0x1.7154764702ffbp-2\\n A3 = reinterpret(0x3FD2776C50034C48), // 0x1.2776c50034c48p-2\\n A4 = reinterpret(0xBFCEC7B328EA92BC), // -0x1.ec7b328ea92bcp-3\\n A5 = reinterpret(0x3FCA6225E117F92E); // 0x1.a6225e117f92ep-3\\n\\n let ix = reinterpret(x);\\n if (ix - LO < HI - LO) {\\n let r = x - 1.0;\\n // #if __FP_FAST_FMA\\n // hi = r * InvLn2hi;\\n // lo = r * InvLn2lo + __builtin_fma(r, InvLn2hi, -hi);\\n // #else\\n let rhi = reinterpret(reinterpret(r) & 0xFFFFFFFF00000000);\\n let rlo = r - rhi;\\n let hi = rhi * InvLn2hi;\\n let lo = rlo * InvLn2hi + r * InvLn2lo;\\n // #endif\\n let r2 = r * r; // rounding error: 0x1p-62\\n let r4 = r2 * r2;\\n // Worst-case error is less than 0.54 ULP (0.55 ULP without fma)\\n let p = r2 * (B0 + r * B1);\\n let y = hi + p;\\n lo += hi - y + p;\\n lo += r4 * (B2 + r * B3 + r2 * (B4 + r * B5) +\\n r4 * (B6 + r * B7 + r2 * (B8 + r * B9)));\\n return y + lo;\\n }\\n let top = u32(ix >> 48);\\n if (top - 0x0010 >= 0x7ff0 - 0x0010) {\\n // x < 0x1p-1022 or inf or nan.\\n if ((ix << 1) == 0) return -1.0 / (x * x);\\n if (ix == 0x7FF0000000000000) return x; // log(inf) == inf\\n if ((top & 0x8000) || (top & 0x7FF0) == 0x7FF0) return (x - x) / (x - x);\\n // x is subnormal, normalize it.\\n ix = reinterpret(x * Ox1p52);\\n ix -= u64(52) << 52;\\n }\\n\\n // x = 2^k z; where z is in range [OFF,2*OFF) and exact.\\n // The range is split into N subintervals.\\n // The ith subinterval contains z and c is near its center.\\n let tmp = ix - 0x3FE6000000000000;\\n let i = ((tmp >> (52 - LOG2_TABLE_BITS)) & N_MASK);\\n let k = tmp >> 52;\\n let iz = ix - (tmp & 0xFFF0000000000000);\\n\\n let invc = load(LOG2_DATA_TAB1 + (i << (1 + alignof())), 0 << alignof()); // T[i].invc;\\n let logc = load(LOG2_DATA_TAB1 + (i << (1 + alignof())), 1 << alignof()); // T[i].logc;\\n let z = reinterpret(iz);\\n let kd = k;\\n\\n // log2(x) = log2(z/c) + log2(c) + k.\\n // r ~= z/c - 1, |r| < 1/(2*N).\\n // #if __FP_FAST_FMA\\n // \\t// rounding error: 0x1p-55/N.\\n // \\tr = __builtin_fma(z, invc, -1.0);\\n // \\tt1 = r * InvLn2hi;\\n // \\tt2 = r * InvLn2lo + __builtin_fma(r, InvLn2hi, -t1);\\n // #else\\n // rounding error: 0x1p-55/N + 0x1p-65.\\n let chi = load(LOG2_DATA_TAB2 + (i << (1 + alignof())), 0 << alignof()); // T[i].chi;\\n let clo = load(LOG2_DATA_TAB2 + (i << (1 + alignof())), 1 << alignof()); // T[i].clo;\\n\\n let r = (z - chi - clo) * invc;\\n let rhi = reinterpret(reinterpret(r) & 0xFFFFFFFF00000000);\\n let rlo = r - rhi;\\n let t1 = rhi * InvLn2hi;\\n let t2 = rlo * InvLn2hi + r * InvLn2lo;\\n // #endif\\n\\n // hi + lo = r/ln2 + log2(c) + k\\n let t3 = kd + logc;\\n let hi = t3 + t1;\\n let lo = t3 - hi + t1 + t2;\\n\\n // log2(r+1) = r/ln2 + r^2*poly(r)\\n // Evaluation is optimized assuming superscalar pipelined execution\\n let r2 = r * r; // rounding error: 0x1p-54/N^2\\n // Worst-case error if |y| > 0x1p-4: 0.547 ULP (0.550 ULP without fma).\\n // ~ 0.5 + 2/N/ln2 + abs-poly-error*0x1p56 ULP (+ 0.003 ULP without fma).\\n let p = A0 + r * A1 + r2 * (A2 + r * A3) + (r2 * r2) * (A4 + r * A5);\\n return lo + r2 * p + hi;\\n}\\n\\n//\\n// Lookup data for log. See: https://git.musl-libc.org/cgit/musl/tree/src/math/log.c\\n//\\n\\n// @ts-ignore: decorator\\n@inline const LOG_TABLE_BITS = 7;\\n\\n/* Algorithm:\\n\\n x = 2^k z\\n log(x) = k ln2 + log(c) + log(z/c)\\n log(z/c) = poly(z/c - 1)\\n\\nwhere z is in [1.6p-1; 1.6p0] which is split into N subintervals and z falls\\ninto the ith one, then table entries are computed as\\n\\n tab[i].invc = 1/c\\n tab[i].logc = (double)log(c)\\n tab2[i].chi = (double)c\\n tab2[i].clo = (double)(c - (double)c)\\n\\nwhere c is near the center of the subinterval and is chosen by trying +-2^29\\nfloating point invc candidates around 1/center and selecting one for which\\n\\n 1) the rounding error in 0x1.8p9 + logc is 0,\\n 2) the rounding error in z - chi - clo is < 0x1p-66 and\\n 3) the rounding error in (double)log(c) is minimized (< 0x1p-66).\\n\\nNote: 1) ensures that k*ln2hi + logc can be computed without rounding error,\\n2) ensures that z/c - 1 can be computed as (z - chi - clo)*invc with close to\\na single rounding error when there is no fast fma for z*invc - 1, 3) ensures\\nthat logc + poly(z/c - 1) has small error, however near x == 1 when\\n|log(x)| < 0x1p-4, this is not enough so that is special cased.*/\\n\\n// @ts-ignore: decorator\\n@lazy @inline const LOG_DATA_TAB1 = memory.data([\\n // invc , logc\\n 0x3FF734F0C3E0DE9F, 0xBFD7CC7F79E69000,\\n 0x3FF713786A2CE91F, 0xBFD76FEEC20D0000,\\n 0x3FF6F26008FAB5A0, 0xBFD713E31351E000,\\n 0x3FF6D1A61F138C7D, 0xBFD6B85B38287800,\\n 0x3FF6B1490BC5B4D1, 0xBFD65D5590807800,\\n 0x3FF69147332F0CBA, 0xBFD602D076180000,\\n 0x3FF6719F18224223, 0xBFD5A8CA86909000,\\n 0x3FF6524F99A51ED9, 0xBFD54F4356035000,\\n 0x3FF63356AA8F24C4, 0xBFD4F637C36B4000,\\n 0x3FF614B36B9DDC14, 0xBFD49DA7FDA85000,\\n 0x3FF5F66452C65C4C, 0xBFD445923989A800,\\n 0x3FF5D867B5912C4F, 0xBFD3EDF439B0B800,\\n 0x3FF5BABCCB5B90DE, 0xBFD396CE448F7000,\\n 0x3FF59D61F2D91A78, 0xBFD3401E17BDA000,\\n 0x3FF5805612465687, 0xBFD2E9E2EF468000,\\n 0x3FF56397CEE76BD3, 0xBFD2941B3830E000,\\n 0x3FF54725E2A77F93, 0xBFD23EC58CDA8800,\\n 0x3FF52AFF42064583, 0xBFD1E9E129279000,\\n 0x3FF50F22DBB2BDDF, 0xBFD1956D2B48F800,\\n 0x3FF4F38F4734DED7, 0xBFD141679AB9F800,\\n 0x3FF4D843CFDE2840, 0xBFD0EDD094EF9800,\\n 0x3FF4BD3EC078A3C8, 0xBFD09AA518DB1000,\\n 0x3FF4A27FC3E0258A, 0xBFD047E65263B800,\\n 0x3FF4880524D48434, 0xBFCFEB224586F000,\\n 0x3FF46DCE1B192D0B, 0xBFCF474A7517B000,\\n 0x3FF453D9D3391854, 0xBFCEA4443D103000,\\n 0x3FF43A2744B4845A, 0xBFCE020D44E9B000,\\n 0x3FF420B54115F8FB, 0xBFCD60A22977F000,\\n 0x3FF40782DA3EF4B1, 0xBFCCC00104959000,\\n 0x3FF3EE8F5D57FE8F, 0xBFCC202956891000,\\n 0x3FF3D5D9A00B4CE9, 0xBFCB81178D811000,\\n 0x3FF3BD60C010C12B, 0xBFCAE2C9CCD3D000,\\n 0x3FF3A5242B75DAB8, 0xBFCA45402E129000,\\n 0x3FF38D22CD9FD002, 0xBFC9A877681DF000,\\n 0x3FF3755BC5847A1C, 0xBFC90C6D69483000,\\n 0x3FF35DCE49AD36E2, 0xBFC87120A645C000,\\n 0x3FF34679984DD440, 0xBFC7D68FB4143000,\\n 0x3FF32F5CCEFFCB24, 0xBFC73CB83C627000,\\n 0x3FF3187775A10D49, 0xBFC6A39A9B376000,\\n 0x3FF301C8373E3990, 0xBFC60B3154B7A000,\\n 0x3FF2EB4EBB95F841, 0xBFC5737D76243000,\\n 0x3FF2D50A0219A9D1, 0xBFC4DC7B8FC23000,\\n 0x3FF2BEF9A8B7FD2A, 0xBFC4462C51D20000,\\n 0x3FF2A91C7A0C1BAB, 0xBFC3B08ABC830000,\\n 0x3FF293726014B530, 0xBFC31B996B490000,\\n 0x3FF27DFA5757A1F5, 0xBFC2875490A44000,\\n 0x3FF268B39B1D3BBF, 0xBFC1F3B9F879A000,\\n 0x3FF2539D838FF5BD, 0xBFC160C8252CA000,\\n 0x3FF23EB7AAC9083B, 0xBFC0CE7F57F72000,\\n 0x3FF22A012BA940B6, 0xBFC03CDC49FEA000,\\n 0x3FF2157996CC4132, 0xBFBF57BDBC4B8000,\\n 0x3FF201201DD2FC9B, 0xBFBE370896404000,\\n 0x3FF1ECF4494D480B, 0xBFBD17983EF94000,\\n 0x3FF1D8F5528F6569, 0xBFBBF9674ED8A000,\\n 0x3FF1C52311577E7C, 0xBFBADC79202F6000,\\n 0x3FF1B17C74CB26E9, 0xBFB9C0C3E7288000,\\n 0x3FF19E010C2C1AB6, 0xBFB8A646B372C000,\\n 0x3FF18AB07BB670BD, 0xBFB78D01B3AC0000,\\n 0x3FF1778A25EFBCB6, 0xBFB674F145380000,\\n 0x3FF1648D354C31DA, 0xBFB55E0E6D878000,\\n 0x3FF151B990275FDD, 0xBFB4485CDEA1E000,\\n 0x3FF13F0EA432D24C, 0xBFB333D94D6AA000,\\n 0x3FF12C8B7210F9DA, 0xBFB22079F8C56000,\\n 0x3FF11A3028ECB531, 0xBFB10E4698622000,\\n 0x3FF107FBDA8434AF, 0xBFAFFA6C6AD20000,\\n 0x3FF0F5EE0F4E6BB3, 0xBFADDA8D4A774000,\\n 0x3FF0E4065D2A9FCE, 0xBFABBCECE4850000,\\n 0x3FF0D244632CA521, 0xBFA9A1894012C000,\\n 0x3FF0C0A77CE2981A, 0xBFA788583302C000,\\n 0x3FF0AF2F83C636D1, 0xBFA5715E67D68000,\\n 0x3FF09DDB98A01339, 0xBFA35C8A49658000,\\n 0x3FF08CABAF52E7DF, 0xBFA149E364154000,\\n 0x3FF07B9F2F4E28FB, 0xBF9E72C082EB8000,\\n 0x3FF06AB58C358F19, 0xBF9A55F152528000,\\n 0x3FF059EEA5ECF92C, 0xBF963D62CF818000,\\n 0x3FF04949CDD12C90, 0xBF9228FB8CAA0000,\\n 0x3FF038C6C6F0ADA9, 0xBF8C317B20F90000,\\n 0x3FF02865137932A9, 0xBF8419355DAA0000,\\n 0x3FF0182427EA7348, 0xBF781203C2EC0000,\\n 0x3FF008040614B195, 0xBF60040979240000,\\n 0x3FEFE01FF726FA1A, 0x3F6FEFF384900000,\\n 0x3FEFA11CC261EA74, 0x3F87DC41353D0000,\\n 0x3FEF6310B081992E, 0x3F93CEA3C4C28000,\\n 0x3FEF25F63CEEADCD, 0x3F9B9FC114890000,\\n 0x3FEEE9C8039113E7, 0x3FA1B0D8CE110000,\\n 0x3FEEAE8078CBB1AB, 0x3FA58A5BD001C000,\\n 0x3FEE741AA29D0C9B, 0x3FA95C8340D88000,\\n 0x3FEE3A91830A99B5, 0x3FAD276AEF578000,\\n 0x3FEE01E009609A56, 0x3FB07598E598C000,\\n 0x3FEDCA01E577BB98, 0x3FB253F5E30D2000,\\n 0x3FED92F20B7C9103, 0x3FB42EDD8B380000,\\n 0x3FED5CAC66FB5CCE, 0x3FB606598757C000,\\n 0x3FED272CAA5EDE9D, 0x3FB7DA76356A0000,\\n 0x3FECF26E3E6B2CCD, 0x3FB9AB434E1C6000,\\n 0x3FECBE6DA2A77902, 0x3FBB78C7BB0D6000,\\n 0x3FEC8B266D37086D, 0x3FBD431332E72000,\\n 0x3FEC5894BD5D5804, 0x3FBF0A3171DE6000,\\n 0x3FEC26B533BB9F8C, 0x3FC067152B914000,\\n 0x3FEBF583EEECE73F, 0x3FC147858292B000,\\n 0x3FEBC4FD75DB96C1, 0x3FC2266ECDCA3000,\\n 0x3FEB951E0C864A28, 0x3FC303D7A6C55000,\\n 0x3FEB65E2C5EF3E2C, 0x3FC3DFC33C331000,\\n 0x3FEB374867C9888B, 0x3FC4BA366B7A8000,\\n 0x3FEB094B211D304A, 0x3FC5933928D1F000,\\n 0x3FEADBE885F2EF7E, 0x3FC66ACD2418F000,\\n 0x3FEAAF1D31603DA2, 0x3FC740F8EC669000,\\n 0x3FEA82E63FD358A7, 0x3FC815C0F51AF000,\\n 0x3FEA5740EF09738B, 0x3FC8E92954F68000,\\n 0x3FEA2C2A90AB4B27, 0x3FC9BB3602F84000,\\n 0x3FEA01A01393F2D1, 0x3FCA8BED1C2C0000,\\n 0x3FE9D79F24DB3C1B, 0x3FCB5B515C01D000,\\n 0x3FE9AE2505C7B190, 0x3FCC2967CCBCC000,\\n 0x3FE9852EF297CE2F, 0x3FCCF635D5486000,\\n 0x3FE95CBAEEA44B75, 0x3FCDC1BD3446C000,\\n 0x3FE934C69DE74838, 0x3FCE8C01B8CFE000,\\n 0x3FE90D4F2F6752E6, 0x3FCF5509C0179000,\\n 0x3FE8E6528EFFD79D, 0x3FD00E6C121FB800,\\n 0x3FE8BFCE9FCC007C, 0x3FD071B80E93D000,\\n 0x3FE899C0DABEC30E, 0x3FD0D46B9E867000,\\n 0x3FE87427AA2317FB, 0x3FD13687334BD000,\\n 0x3FE84F00ACB39A08, 0x3FD1980D67234800,\\n 0x3FE82A49E8653E55, 0x3FD1F8FFE0CC8000,\\n 0x3FE8060195F40260, 0x3FD2595FD7636800,\\n 0x3FE7E22563E0A329, 0x3FD2B9300914A800,\\n 0x3FE7BEB377DCB5AD, 0x3FD3187210436000,\\n 0x3FE79BAA679725C2, 0x3FD377266DEC1800,\\n 0x3FE77907F2170657, 0x3FD3D54FFBAF3000,\\n 0x3FE756CADBD6130C, 0x3FD432EEE32FE000\\n]);\\n\\n// @ts-ignore: decorator\\n@lazy @inline const LOG_DATA_TAB2 = memory.data([\\n // chi , clo\\n 0x3FE61000014FB66B, 0x3C7E026C91425B3C,\\n 0x3FE63000034DB495, 0x3C8DBFEA48005D41,\\n 0x3FE650000D94D478, 0x3C8E7FA786D6A5B7,\\n 0x3FE67000074E6FAD, 0x3C61FCEA6B54254C,\\n 0x3FE68FFFFEDF0FAE, 0xBC7C7E274C590EFD,\\n 0x3FE6B0000763C5BC, 0xBC8AC16848DCDA01,\\n 0x3FE6D0001E5CC1F6, 0x3C833F1C9D499311,\\n 0x3FE6EFFFEB05F63E, 0xBC7E80041AE22D53,\\n 0x3FE710000E869780, 0x3C7BFF6671097952,\\n 0x3FE72FFFFC67E912, 0x3C8C00E226BD8724,\\n 0x3FE74FFFDF81116A, 0xBC6E02916EF101D2,\\n 0x3FE770000F679C90, 0xBC67FC71CD549C74,\\n 0x3FE78FFFFA7EC835, 0x3C81BEC19EF50483,\\n 0x3FE7AFFFFE20C2E6, 0xBC707E1729CC6465,\\n 0x3FE7CFFFED3FC900, 0xBC808072087B8B1C,\\n 0x3FE7EFFFE9261A76, 0x3C8DC0286D9DF9AE,\\n 0x3FE81000049CA3E8, 0x3C897FD251E54C33,\\n 0x3FE8300017932C8F, 0xBC8AFEE9B630F381,\\n 0x3FE850000633739C, 0x3C89BFBF6B6535BC,\\n 0x3FE87000204289C6, 0xBC8BBF65F3117B75,\\n 0x3FE88FFFEBF57904, 0xBC89006EA23DCB57,\\n 0x3FE8B00022BC04DF, 0xBC7D00DF38E04B0A,\\n 0x3FE8CFFFE50C1B8A, 0xBC88007146FF9F05,\\n 0x3FE8EFFFFC918E43, 0x3C83817BD07A7038,\\n 0x3FE910001EFA5FC7, 0x3C893E9176DFB403,\\n 0x3FE9300013467BB9, 0x3C7F804E4B980276,\\n 0x3FE94FFFE6EE076F, 0xBC8F7EF0D9FF622E,\\n 0x3FE96FFFDE3C12D1, 0xBC7082AA962638BA,\\n 0x3FE98FFFF4458A0D, 0xBC87801B9164A8EF,\\n 0x3FE9AFFFDD982E3E, 0xBC8740E08A5A9337,\\n 0x3FE9CFFFED49FB66, 0x3C3FCE08C19BE000,\\n 0x3FE9F00020F19C51, 0xBC8A3FAA27885B0A,\\n 0x3FEA10001145B006, 0x3C74FF489958DA56,\\n 0x3FEA300007BBF6FA, 0x3C8CBEAB8A2B6D18,\\n 0x3FEA500010971D79, 0x3C88FECADD787930,\\n 0x3FEA70001DF52E48, 0xBC8F41763DD8ABDB,\\n 0x3FEA90001C593352, 0xBC8EBF0284C27612,\\n 0x3FEAB0002A4F3E4B, 0xBC69FD043CFF3F5F,\\n 0x3FEACFFFD7AE1ED1, 0xBC823EE7129070B4,\\n 0x3FEAEFFFEE510478, 0x3C6A063EE00EDEA3,\\n 0x3FEB0FFFDB650D5B, 0x3C5A06C8381F0AB9,\\n 0x3FEB2FFFFEAACA57, 0xBC79011E74233C1D,\\n 0x3FEB4FFFD995BADC, 0xBC79FF1068862A9F,\\n 0x3FEB7000249E659C, 0x3C8AFF45D0864F3E,\\n 0x3FEB8FFFF9871640, 0x3C7CFE7796C2C3F9,\\n 0x3FEBAFFFD204CB4F, 0xBC63FF27EEF22BC4,\\n 0x3FEBCFFFD2415C45, 0xBC6CFFB7EE3BEA21,\\n 0x3FEBEFFFF86309DF, 0xBC814103972E0B5C,\\n 0x3FEC0FFFE1B57653, 0x3C8BC16494B76A19,\\n 0x3FEC2FFFF1FA57E3, 0xBC64FEEF8D30C6ED,\\n 0x3FEC4FFFDCBFE424, 0xBC843F68BCEC4775,\\n 0x3FEC6FFFED54B9F7, 0x3C847EA3F053E0EC,\\n 0x3FEC8FFFEB998FD5, 0x3C7383068DF992F1,\\n 0x3FECB0002125219A, 0xBC68FD8E64180E04,\\n 0x3FECCFFFDD94469C, 0x3C8E7EBE1CC7EA72,\\n 0x3FECEFFFEAFDC476, 0x3C8EBE39AD9F88FE,\\n 0x3FED1000169AF82B, 0x3C757D91A8B95A71,\\n 0x3FED30000D0FF71D, 0x3C89C1906970C7DA,\\n 0x3FED4FFFEA790FC4, 0xBC580E37C558FE0C,\\n 0x3FED70002EDC87E5, 0xBC7F80D64DC10F44,\\n 0x3FED900021DC82AA, 0xBC747C8F94FD5C5C,\\n 0x3FEDAFFFD86B0283, 0x3C8C7F1DC521617E,\\n 0x3FEDD000296C4739, 0x3C88019EB2FFB153,\\n 0x3FEDEFFFE54490F5, 0x3C6E00D2C652CC89,\\n 0x3FEE0FFFCDABF694, 0xBC7F8340202D69D2,\\n 0x3FEE2FFFDB52C8DD, 0x3C7B00C1CA1B0864,\\n 0x3FEE4FFFF24216EF, 0x3C72FFA8B094AB51,\\n 0x3FEE6FFFE88A5E11, 0xBC57F673B1EFBE59,\\n 0x3FEE9000119EFF0D, 0xBC84808D5E0BC801,\\n 0x3FEEAFFFDFA51744, 0x3C780006D54320B5,\\n 0x3FEED0001A127FA1, 0xBC5002F860565C92,\\n 0x3FEEF00007BABCC4, 0xBC8540445D35E611,\\n 0x3FEF0FFFF57A8D02, 0xBC4FFB3139EF9105,\\n 0x3FEF30001EE58AC7, 0x3C8A81ACF2731155,\\n 0x3FEF4FFFF5823494, 0x3C8A3F41D4D7C743,\\n 0x3FEF6FFFFCA94C6B, 0xBC6202F41C987875,\\n 0x3FEF8FFFE1F9C441, 0x3C777DD1F477E74B,\\n 0x3FEFAFFFD2E0E37E, 0xBC6F01199A7CA331,\\n 0x3FEFD0001C77E49E, 0x3C7181EE4BCEACB1,\\n 0x3FEFEFFFF7E0C331, 0xBC6E05370170875A,\\n 0x3FF00FFFF465606E, 0xBC8A7EAD491C0ADA,\\n 0x3FF02FFFF3867A58, 0xBC977F69C3FCB2E0,\\n 0x3FF04FFFFDFC0D17, 0x3C97BFFE34CB945B,\\n 0x3FF0700003CD4D82, 0x3C820083C0E456CB,\\n 0x3FF08FFFF9F2CBE8, 0xBC6DFFDFBE37751A,\\n 0x3FF0B000010CDA65, 0xBC913F7FAEE626EB,\\n 0x3FF0D00001A4D338, 0x3C807DFA79489FF7,\\n 0x3FF0EFFFFADAFDFD, 0xBC77040570D66BC0,\\n 0x3FF110000BBAFD96, 0x3C8E80D4846D0B62,\\n 0x3FF12FFFFAE5F45D, 0x3C9DBFFA64FD36EF,\\n 0x3FF150000DD59AD9, 0x3C9A0077701250AE,\\n 0x3FF170000F21559A, 0x3C8DFDF9E2E3DEEE,\\n 0x3FF18FFFFC275426, 0x3C910030DC3B7273,\\n 0x3FF1B000123D3C59, 0x3C997F7980030188,\\n 0x3FF1CFFFF8299EB7, 0xBC65F932AB9F8C67,\\n 0x3FF1EFFFF48AD400, 0x3C937FBF9DA75BEB,\\n 0x3FF210000C8B86A4, 0x3C9F806B91FD5B22,\\n 0x3FF2300003854303, 0x3C93FFC2EB9FBF33,\\n 0x3FF24FFFFFBCF684, 0x3C7601E77E2E2E72,\\n 0x3FF26FFFF52921D9, 0x3C7FFCBB767F0C61,\\n 0x3FF2900014933A3C, 0xBC7202CA3C02412B,\\n 0x3FF2B00014556313, 0xBC92808233F21F02,\\n 0x3FF2CFFFEBFE523B, 0xBC88FF7E384FDCF2,\\n 0x3FF2F0000BB8AD96, 0xBC85FF51503041C5,\\n 0x3FF30FFFFB7AE2AF, 0xBC810071885E289D,\\n 0x3FF32FFFFEAC5F7F, 0xBC91FF5D3FB7B715,\\n 0x3FF350000CA66756, 0x3C957F82228B82BD,\\n 0x3FF3700011FBF721, 0x3C8000BAC40DD5CC,\\n 0x3FF38FFFF9592FB9, 0xBC943F9D2DB2A751,\\n 0x3FF3B00004DDD242, 0x3C857F6B707638E1,\\n 0x3FF3CFFFF5B2C957, 0x3C7A023A10BF1231,\\n 0x3FF3EFFFEAB0B418, 0x3C987F6D66B152B0,\\n 0x3FF410001532AFF4, 0x3C67F8375F198524,\\n 0x3FF4300017478B29, 0x3C8301E672DC5143,\\n 0x3FF44FFFE795B463, 0x3C89FF69B8B2895A,\\n 0x3FF46FFFE80475E0, 0xBC95C0B19BC2F254,\\n 0x3FF48FFFEF6FC1E7, 0x3C9B4009F23A2A72,\\n 0x3FF4AFFFE5BEA704, 0xBC94FFB7BF0D7D45,\\n 0x3FF4D000171027DE, 0xBC99C06471DC6A3D,\\n 0x3FF4F0000FF03EE2, 0x3C977F890B85531C,\\n 0x3FF5100012DC4BD1, 0x3C6004657166A436,\\n 0x3FF530001605277A, 0xBC96BFCECE233209,\\n 0x3FF54FFFECDB704C, 0xBC8902720505A1D7,\\n 0x3FF56FFFEF5F54A9, 0x3C9BBFE60EC96412,\\n 0x3FF5900017E61012, 0x3C887EC581AFEF90,\\n 0x3FF5B00003C93E92, 0xBC9F41080ABF0CC0,\\n 0x3FF5D0001D4919BC, 0xBC98812AFB254729,\\n 0x3FF5EFFFE7B87A89, 0xBC947EB780ED6904\\n]);\\n\\n// @ts-ignore: decorator\\n@inline\\nexport function log_lut(x: f64): f64 {\\n const N_MASK = (1 << LOG_TABLE_BITS) - 1;\\n\\n const\\n B0 = reinterpret(0xBFE0000000000000), // -0x1p-1\\n B1 = reinterpret(0x3FD5555555555577), // 0x1.5555555555577p-2\\n B2 = reinterpret(0xBFCFFFFFFFFFFDCB), // -0x1.ffffffffffdcbp-3\\n B3 = reinterpret(0x3FC999999995DD0C), // 0x1.999999995dd0cp-3\\n B4 = reinterpret(0xBFC55555556745A7), // -0x1.55555556745a7p-3\\n B5 = reinterpret(0x3FC24924A344DE30), // 0x1.24924a344de3p-3\\n B6 = reinterpret(0xBFBFFFFFA4423D65), // -0x1.fffffa4423d65p-4\\n B7 = reinterpret(0x3FBC7184282AD6CA), // 0x1.c7184282ad6cap-4\\n B8 = reinterpret(0xBFB999EB43B068FF), // -0x1.999eb43b068ffp-4\\n B9 = reinterpret(0x3FB78182F7AFD085), // 0x1.78182f7afd085p-4\\n B10 = reinterpret(0xBFB5521375D145CD); // -0x1.5521375d145cdp-4\\n\\n const\\n A0 = reinterpret(0xBFE0000000000001), // -0x1.0000000000001p-1\\n A1 = reinterpret(0x3FD555555551305B), // 0x1.555555551305bp-2\\n A2 = reinterpret(0xBFCFFFFFFFEB4590), // -0x1.fffffffeb459p-3\\n A3 = reinterpret(0x3FC999B324F10111), // 0x1.999b324f10111p-3\\n A4 = reinterpret(0xBFC55575E506C89F); // -0x1.55575e506c89fp-3\\n\\n const\\n LO: u64 = 0x3FEE000000000000,\\n HI: u64 = 0x3FF1090000000000;\\n\\n const\\n Ln2hi = reinterpret(0x3FE62E42FEFA3800), // 0x1.62e42fefa3800p-1\\n Ln2lo = reinterpret(0x3D2EF35793C76730), // 0x1.ef35793c76730p-45\\n Ox1p27 = reinterpret(0x41A0000000000000), // 0x1p27\\n Ox1p52 = reinterpret(0x4330000000000000); // 0x1p52\\n\\n let ix = reinterpret(x);\\n if (ix - LO < HI - LO) {\\n let r = x - 1.0;\\n let r2 = r * r;\\n let r3 = r2 * r;\\n let y =\\n r3 * (B1 + r * B2 + r2 * B3 +\\n r3 * (B4 + r * B5 + r2 * B6 +\\n r3 * (B7 + r * B8 + r2 * B9 + r3 * B10)));\\n // Worst-case error is around 0.507 ULP\\n let w = r * Ox1p27;\\n let rhi = r + w - w;\\n let rlo = r - rhi;\\n w = rhi * rhi * B0; // B[0] == -0.5\\n let hi = r + w;\\n let lo = r - hi + w;\\n lo += B0 * rlo * (rhi + r);\\n return y + lo + hi;\\n }\\n let top = u32(ix >> 48);\\n if (top - 0x0010 >= 0x7FF0 - 0x0010) {\\n // x < 0x1p-1022 or inf or nan\\n if ((ix << 1) == 0) return -1.0 / (x * x);\\n if (ix == reinterpret(Infinity)) return x; // log(inf) == inf\\n if ((top & 0x8000) || (top & 0x7FF0) == 0x7FF0) return (x - x) / (x - x);\\n // x is subnormal, normalize it\\n ix = reinterpret(x * Ox1p52);\\n ix -= u64(52) << 52;\\n }\\n\\n // x = 2^k z; where z is in range [OFF,2*OFF) and exact.\\n // The range is split into N subintervals.\\n // The ith subinterval contains z and c is near its center.\\n let tmp = ix - 0x3FE6000000000000;\\n let i = ((tmp >> (52 - LOG_TABLE_BITS)) & N_MASK);\\n let k = tmp >> 52;\\n let iz = ix - (tmp & (u64(0xFFF) << 52));\\n\\n let invc = load(LOG_DATA_TAB1 + (i << (1 + alignof())), 0 << alignof()); // T[i].invc;\\n let logc = load(LOG_DATA_TAB1 + (i << (1 + alignof())), 1 << alignof()); // T[i].logc;\\n let z = reinterpret(iz);\\n\\n // log(x) = log1p(z/c-1) + log(c) + k*Ln2.\\n // r ~= z/c - 1, |r| < 1/(2*N)\\n // #if __FP_FAST_FMA\\n // \\t// rounding error: 0x1p-55/N\\n // \\tr = __builtin_fma(z, invc, -1.0);\\n // #else\\n // rounding error: 0x1p-55/N + 0x1p-66\\n const chi = load(LOG_DATA_TAB2 + (i << (1 + alignof())), 0 << alignof()); // T2[i].chi\\n const clo = load(LOG_DATA_TAB2 + (i << (1 + alignof())), 1 << alignof()); // T2[i].clo\\n let r = (z - chi - clo) * invc;\\n // #endif\\n let kd = k;\\n\\n // hi + lo = r + log(c) + k*Ln2\\n let w = kd * Ln2hi + logc;\\n let hi = w + r;\\n let lo = w - hi + r + kd * Ln2lo;\\n\\n // log(x) = lo + (log1p(r) - r) + hi\\n let r2 = r * r; // rounding error: 0x1p-54/N^2\\n // Worst case error if |y| > 0x1p-5:\\n // 0.5 + 4.13/N + abs-poly-error*2^57 ULP (+ 0.002 ULP without fma)\\n // Worst case error if |y| > 0x1p-4:\\n // 0.5 + 2.06/N + abs-poly-error*2^56 ULP (+ 0.001 ULP without fma).\\n return lo + r2 * A0 + r * r2 * (A1 + r * A2 + r2 * (A3 + r * A4)) + hi;\\n}\\n\\n//\\n// Lookup data for pow. See: https://git.musl-libc.org/cgit/musl/tree/src/math/pow.c\\n//\\n\\n// @ts-ignore: decorator\\n@inline const POW_LOG_TABLE_BITS = 7;\\n\\n/* Algorithm:\\n\\n x = 2^k z\\n log(x) = k ln2 + log(c) + log(z/c)\\n log(z/c) = poly(z/c - 1)\\n\\nwhere z is in [0x1.69555p-1; 0x1.69555p0] which is split into N subintervals\\nand z falls into the ith one, then table entries are computed as\\n\\n tab[i].invc = 1/c\\n tab[i].logc = round(0x1p43*log(c))/0x1p43\\n tab[i].logctail = (double)(log(c) - logc)\\n\\nwhere c is chosen near the center of the subinterval such that 1/c has only a\\nfew precision bits so z/c - 1 is exactly representible as double:\\n\\n 1/c = center < 1 ? round(N/center)/N : round(2*N/center)/N/2\\n\\nNote: |z/c - 1| < 1/N for the chosen c, |log(c) - logc - logctail| < 0x1p-97,\\nthe last few bits of logc are rounded away so k*ln2hi + logc has no rounding\\nerror and the interval for z is selected such that near x == 1, where log(x)\\nis tiny, large cancellation error is avoided in logc + poly(z/c - 1). */\\n\\n// @ts-ignore: decorator\\n@lazy @inline const POW_LOG_DATA_TAB = memory.data([\\n // invc ,pad, logc , logctail\\n 0x3FF6A00000000000, 0, 0xBFD62C82F2B9C800, 0x3CFAB42428375680,\\n 0x3FF6800000000000, 0, 0xBFD5D1BDBF580800, 0xBD1CA508D8E0F720,\\n 0x3FF6600000000000, 0, 0xBFD5767717455800, 0xBD2362A4D5B6506D,\\n 0x3FF6400000000000, 0, 0xBFD51AAD872DF800, 0xBCE684E49EB067D5,\\n 0x3FF6200000000000, 0, 0xBFD4BE5F95777800, 0xBD041B6993293EE0,\\n 0x3FF6000000000000, 0, 0xBFD4618BC21C6000, 0x3D13D82F484C84CC,\\n 0x3FF5E00000000000, 0, 0xBFD404308686A800, 0x3CDC42F3ED820B3A,\\n 0x3FF5C00000000000, 0, 0xBFD3A64C55694800, 0x3D20B1C686519460,\\n 0x3FF5A00000000000, 0, 0xBFD347DD9A988000, 0x3D25594DD4C58092,\\n 0x3FF5800000000000, 0, 0xBFD2E8E2BAE12000, 0x3D267B1E99B72BD8,\\n 0x3FF5600000000000, 0, 0xBFD2895A13DE8800, 0x3D15CA14B6CFB03F,\\n 0x3FF5600000000000, 0, 0xBFD2895A13DE8800, 0x3D15CA14B6CFB03F,\\n 0x3FF5400000000000, 0, 0xBFD22941FBCF7800, 0xBD165A242853DA76,\\n 0x3FF5200000000000, 0, 0xBFD1C898C1699800, 0xBD1FAFBC68E75404,\\n 0x3FF5000000000000, 0, 0xBFD1675CABABA800, 0x3D1F1FC63382A8F0,\\n 0x3FF4E00000000000, 0, 0xBFD1058BF9AE4800, 0xBD26A8C4FD055A66,\\n 0x3FF4C00000000000, 0, 0xBFD0A324E2739000, 0xBD0C6BEE7EF4030E,\\n 0x3FF4A00000000000, 0, 0xBFD0402594B4D000, 0xBCF036B89EF42D7F,\\n 0x3FF4A00000000000, 0, 0xBFD0402594B4D000, 0xBCF036B89EF42D7F,\\n 0x3FF4800000000000, 0, 0xBFCFB9186D5E4000, 0x3D0D572AAB993C87,\\n 0x3FF4600000000000, 0, 0xBFCEF0ADCBDC6000, 0x3D2B26B79C86AF24,\\n 0x3FF4400000000000, 0, 0xBFCE27076E2AF000, 0xBD172F4F543FFF10,\\n 0x3FF4200000000000, 0, 0xBFCD5C216B4FC000, 0x3D21BA91BBCA681B,\\n 0x3FF4000000000000, 0, 0xBFCC8FF7C79AA000, 0x3D27794F689F8434,\\n 0x3FF4000000000000, 0, 0xBFCC8FF7C79AA000, 0x3D27794F689F8434,\\n 0x3FF3E00000000000, 0, 0xBFCBC286742D9000, 0x3D194EB0318BB78F,\\n 0x3FF3C00000000000, 0, 0xBFCAF3C94E80C000, 0x3CBA4E633FCD9066,\\n 0x3FF3A00000000000, 0, 0xBFCA23BC1FE2B000, 0xBD258C64DC46C1EA,\\n 0x3FF3A00000000000, 0, 0xBFCA23BC1FE2B000, 0xBD258C64DC46C1EA,\\n 0x3FF3800000000000, 0, 0xBFC9525A9CF45000, 0xBD2AD1D904C1D4E3,\\n 0x3FF3600000000000, 0, 0xBFC87FA06520D000, 0x3D2BBDBF7FDBFA09,\\n 0x3FF3400000000000, 0, 0xBFC7AB890210E000, 0x3D2BDB9072534A58,\\n 0x3FF3400000000000, 0, 0xBFC7AB890210E000, 0x3D2BDB9072534A58,\\n 0x3FF3200000000000, 0, 0xBFC6D60FE719D000, 0xBD10E46AA3B2E266,\\n 0x3FF3000000000000, 0, 0xBFC5FF3070A79000, 0xBD1E9E439F105039,\\n 0x3FF3000000000000, 0, 0xBFC5FF3070A79000, 0xBD1E9E439F105039,\\n 0x3FF2E00000000000, 0, 0xBFC526E5E3A1B000, 0xBD20DE8B90075B8F,\\n 0x3FF2C00000000000, 0, 0xBFC44D2B6CCB8000, 0x3D170CC16135783C,\\n 0x3FF2C00000000000, 0, 0xBFC44D2B6CCB8000, 0x3D170CC16135783C,\\n 0x3FF2A00000000000, 0, 0xBFC371FC201E9000, 0x3CF178864D27543A,\\n 0x3FF2800000000000, 0, 0xBFC29552F81FF000, 0xBD248D301771C408,\\n 0x3FF2600000000000, 0, 0xBFC1B72AD52F6000, 0xBD2E80A41811A396,\\n 0x3FF2600000000000, 0, 0xBFC1B72AD52F6000, 0xBD2E80A41811A396,\\n 0x3FF2400000000000, 0, 0xBFC0D77E7CD09000, 0x3D0A699688E85BF4,\\n 0x3FF2400000000000, 0, 0xBFC0D77E7CD09000, 0x3D0A699688E85BF4,\\n 0x3FF2200000000000, 0, 0xBFBFEC9131DBE000, 0xBD2575545CA333F2,\\n 0x3FF2000000000000, 0, 0xBFBE27076E2B0000, 0x3D2A342C2AF0003C,\\n 0x3FF2000000000000, 0, 0xBFBE27076E2B0000, 0x3D2A342C2AF0003C,\\n 0x3FF1E00000000000, 0, 0xBFBC5E548F5BC000, 0xBD1D0C57585FBE06,\\n 0x3FF1C00000000000, 0, 0xBFBA926D3A4AE000, 0x3D253935E85BAAC8,\\n 0x3FF1C00000000000, 0, 0xBFBA926D3A4AE000, 0x3D253935E85BAAC8,\\n 0x3FF1A00000000000, 0, 0xBFB8C345D631A000, 0x3D137C294D2F5668,\\n 0x3FF1A00000000000, 0, 0xBFB8C345D631A000, 0x3D137C294D2F5668,\\n 0x3FF1800000000000, 0, 0xBFB6F0D28AE56000, 0xBD269737C93373DA,\\n 0x3FF1600000000000, 0, 0xBFB51B073F062000, 0x3D1F025B61C65E57,\\n 0x3FF1600000000000, 0, 0xBFB51B073F062000, 0x3D1F025B61C65E57,\\n 0x3FF1400000000000, 0, 0xBFB341D7961BE000, 0x3D2C5EDACCF913DF,\\n 0x3FF1400000000000, 0, 0xBFB341D7961BE000, 0x3D2C5EDACCF913DF,\\n 0x3FF1200000000000, 0, 0xBFB16536EEA38000, 0x3D147C5E768FA309,\\n 0x3FF1000000000000, 0, 0xBFAF0A30C0118000, 0x3D2D599E83368E91,\\n 0x3FF1000000000000, 0, 0xBFAF0A30C0118000, 0x3D2D599E83368E91,\\n 0x3FF0E00000000000, 0, 0xBFAB42DD71198000, 0x3D1C827AE5D6704C,\\n 0x3FF0E00000000000, 0, 0xBFAB42DD71198000, 0x3D1C827AE5D6704C,\\n 0x3FF0C00000000000, 0, 0xBFA77458F632C000, 0xBD2CFC4634F2A1EE,\\n 0x3FF0C00000000000, 0, 0xBFA77458F632C000, 0xBD2CFC4634F2A1EE,\\n 0x3FF0A00000000000, 0, 0xBFA39E87B9FEC000, 0x3CF502B7F526FEAA,\\n 0x3FF0A00000000000, 0, 0xBFA39E87B9FEC000, 0x3CF502B7F526FEAA,\\n 0x3FF0800000000000, 0, 0xBF9F829B0E780000, 0xBD2980267C7E09E4,\\n 0x3FF0800000000000, 0, 0xBF9F829B0E780000, 0xBD2980267C7E09E4,\\n 0x3FF0600000000000, 0, 0xBF97B91B07D58000, 0xBD288D5493FAA639,\\n 0x3FF0400000000000, 0, 0xBF8FC0A8B0FC0000, 0xBCDF1E7CF6D3A69C,\\n 0x3FF0400000000000, 0, 0xBF8FC0A8B0FC0000, 0xBCDF1E7CF6D3A69C,\\n 0x3FF0200000000000, 0, 0xBF7FE02A6B100000, 0xBD19E23F0DDA40E4,\\n 0x3FF0200000000000, 0, 0xBF7FE02A6B100000, 0xBD19E23F0DDA40E4,\\n 0x3FF0000000000000, 0, 0, 0,\\n 0x3FF0000000000000, 0, 0, 0,\\n 0x3FEFC00000000000, 0, 0x3F80101575890000, 0xBD10C76B999D2BE8,\\n 0x3FEF800000000000, 0, 0x3F90205658938000, 0xBD23DC5B06E2F7D2,\\n 0x3FEF400000000000, 0, 0x3F98492528C90000, 0xBD2AA0BA325A0C34,\\n 0x3FEF000000000000, 0, 0x3FA0415D89E74000, 0x3D0111C05CF1D753,\\n 0x3FEEC00000000000, 0, 0x3FA466AED42E0000, 0xBD2C167375BDFD28,\\n 0x3FEE800000000000, 0, 0x3FA894AA149FC000, 0xBD197995D05A267D,\\n 0x3FEE400000000000, 0, 0x3FACCB73CDDDC000, 0xBD1A68F247D82807,\\n 0x3FEE200000000000, 0, 0x3FAEEA31C006C000, 0xBD0E113E4FC93B7B,\\n 0x3FEDE00000000000, 0, 0x3FB1973BD1466000, 0xBD25325D560D9E9B,\\n 0x3FEDA00000000000, 0, 0x3FB3BDF5A7D1E000, 0x3D2CC85EA5DB4ED7,\\n 0x3FED600000000000, 0, 0x3FB5E95A4D97A000, 0xBD2C69063C5D1D1E,\\n 0x3FED400000000000, 0, 0x3FB700D30AEAC000, 0x3CEC1E8DA99DED32,\\n 0x3FED000000000000, 0, 0x3FB9335E5D594000, 0x3D23115C3ABD47DA,\\n 0x3FECC00000000000, 0, 0x3FBB6AC88DAD6000, 0xBD1390802BF768E5,\\n 0x3FECA00000000000, 0, 0x3FBC885801BC4000, 0x3D2646D1C65AACD3,\\n 0x3FEC600000000000, 0, 0x3FBEC739830A2000, 0xBD2DC068AFE645E0,\\n 0x3FEC400000000000, 0, 0x3FBFE89139DBE000, 0xBD2534D64FA10AFD,\\n 0x3FEC000000000000, 0, 0x3FC1178E8227E000, 0x3D21EF78CE2D07F2,\\n 0x3FEBE00000000000, 0, 0x3FC1AA2B7E23F000, 0x3D2CA78E44389934,\\n 0x3FEBA00000000000, 0, 0x3FC2D1610C868000, 0x3D039D6CCB81B4A1,\\n 0x3FEB800000000000, 0, 0x3FC365FCB0159000, 0x3CC62FA8234B7289,\\n 0x3FEB400000000000, 0, 0x3FC4913D8333B000, 0x3D25837954FDB678,\\n 0x3FEB200000000000, 0, 0x3FC527E5E4A1B000, 0x3D2633E8E5697DC7,\\n 0x3FEAE00000000000, 0, 0x3FC6574EBE8C1000, 0x3D19CF8B2C3C2E78,\\n 0x3FEAC00000000000, 0, 0x3FC6F0128B757000, 0xBD25118DE59C21E1,\\n 0x3FEAA00000000000, 0, 0x3FC7898D85445000, 0xBD1C661070914305,\\n 0x3FEA600000000000, 0, 0x3FC8BEAFEB390000, 0xBD073D54AAE92CD1,\\n 0x3FEA400000000000, 0, 0x3FC95A5ADCF70000, 0x3D07F22858A0FF6F,\\n 0x3FEA000000000000, 0, 0x3FCA93ED3C8AE000, 0xBD28724350562169,\\n 0x3FE9E00000000000, 0, 0x3FCB31D8575BD000, 0xBD0C358D4EACE1AA,\\n 0x3FE9C00000000000, 0, 0x3FCBD087383BE000, 0xBD2D4BC4595412B6,\\n 0x3FE9A00000000000, 0, 0x3FCC6FFBC6F01000, 0xBCF1EC72C5962BD2,\\n 0x3FE9600000000000, 0, 0x3FCDB13DB0D49000, 0xBD2AFF2AF715B035,\\n 0x3FE9400000000000, 0, 0x3FCE530EFFE71000, 0x3CC212276041F430,\\n 0x3FE9200000000000, 0, 0x3FCEF5ADE4DD0000, 0xBCCA211565BB8E11,\\n 0x3FE9000000000000, 0, 0x3FCF991C6CB3B000, 0x3D1BCBECCA0CDF30,\\n 0x3FE8C00000000000, 0, 0x3FD07138604D5800, 0x3CF89CDB16ED4E91,\\n 0x3FE8A00000000000, 0, 0x3FD0C42D67616000, 0x3D27188B163CEAE9,\\n 0x3FE8800000000000, 0, 0x3FD1178E8227E800, 0xBD2C210E63A5F01C,\\n 0x3FE8600000000000, 0, 0x3FD16B5CCBACF800, 0x3D2B9ACDF7A51681,\\n 0x3FE8400000000000, 0, 0x3FD1BF99635A6800, 0x3D2CA6ED5147BDB7,\\n 0x3FE8200000000000, 0, 0x3FD214456D0EB800, 0x3D0A87DEBA46BAEA,\\n 0x3FE7E00000000000, 0, 0x3FD2BEF07CDC9000, 0x3D2A9CFA4A5004F4,\\n 0x3FE7C00000000000, 0, 0x3FD314F1E1D36000, 0xBD28E27AD3213CB8,\\n 0x3FE7A00000000000, 0, 0x3FD36B6776BE1000, 0x3D116ECDB0F177C8,\\n 0x3FE7800000000000, 0, 0x3FD3C25277333000, 0x3D183B54B606BD5C,\\n 0x3FE7600000000000, 0, 0x3FD419B423D5E800, 0x3D08E436EC90E09D,\\n 0x3FE7400000000000, 0, 0x3FD4718DC271C800, 0xBD2F27CE0967D675,\\n 0x3FE7200000000000, 0, 0x3FD4C9E09E173000, 0xBD2E20891B0AD8A4,\\n 0x3FE7000000000000, 0, 0x3FD522AE0738A000, 0x3D2EBE708164C759,\\n 0x3FE6E00000000000, 0, 0x3FD57BF753C8D000, 0x3D1FADEDEE5D40EF,\\n 0x3FE6C00000000000, 0, 0x3FD5D5BDDF596000, 0xBD0A0B2A08A465DC\\n]);\\n\\n// Returns 0 if not int, 1 if odd int, 2 if even int. The argument is\\n// the bit representation of a non-zero finite floating-point value.\\n// @ts-ignore: decorator\\n@inline\\nfunction checkint(iy: u64): i32 {\\n let e = iy >> 52 & 0x7FF;\\n if (e < 0x3FF ) return 0;\\n if (e > 0x3FF + 52) return 2;\\n e = u64(1) << (0x3FF + 52 - e);\\n if (iy & (e - 1)) return 0;\\n if (iy & e ) return 1;\\n return 2;\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction xflow(sign: u32, y: f64): f64 {\\n return select(-y, y, sign) * y;\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction uflow(sign: u32): f64 {\\n return xflow(sign, reinterpret(0x1000000000000000)); // 0x1p-767\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction oflow(sign: u32): f64 {\\n return xflow(sign, reinterpret(0x7000000000000000)); // 0x1p769\\n}\\n\\n// Returns 1 if input is the bit representation of 0, infinity or nan.\\n// @ts-ignore: decorator\\n@inline\\nfunction zeroinfnan(u: u64): bool {\\n return (u << 1) - 1 >= 0xFFE0000000000000 - 1;\\n}\\n\\n// @ts-ignore: decorator\\n@lazy let log_tail: f64 = 0;\\n\\n// Compute y+TAIL = log(x) where the rounded result is y and TAIL has about\\n// additional 15 bits precision. IX is the bit representation of x, but\\n// normalized in the subnormal range using the sign bit for the exponent.\\n// @ts-ignore: decorator\\n@inline\\nfunction log_inline(ix: u64): f64 {\\n const N = 1 << POW_LOG_TABLE_BITS;\\n const N_MASK = N - 1;\\n\\n const\\n Ln2hi = reinterpret(0x3FE62E42FEFA3800),\\n Ln2lo = reinterpret(0x3D2EF35793C76730);\\n\\n const\\n A0 = reinterpret(0xBFE0000000000000),\\n A1 = reinterpret(0xBFE5555555555560),\\n A2 = reinterpret(0x3FE0000000000006),\\n A3 = reinterpret(0x3FE999999959554E),\\n A4 = reinterpret(0xBFE555555529A47A),\\n A5 = reinterpret(0xBFF2495B9B4845E9),\\n A6 = reinterpret(0x3FF0002B8B263FC3);\\n\\n // x = 2^k z; where z is in range [OFF,2*OFF) and exact.\\n // The range is split into N subintervals.\\n // The ith subinterval contains z and c is near its center.\\n let tmp = ix - 0x3fE6955500000000;\\n let i = usize((tmp >> (52 - POW_LOG_TABLE_BITS)) & N_MASK);\\n let k = tmp >> 52;\\n let iz = ix - (tmp & u64(0xFFF) << 52);\\n let z = reinterpret(iz);\\n let kd = k;\\n\\n // log(x) = k*Ln2 + log(c) + log1p(z/c-1).\\n let invc = load(POW_LOG_DATA_TAB + (i << (2 + alignof())), 0 << alignof()); // tab[i].invc\\n let logc = load(POW_LOG_DATA_TAB + (i << (2 + alignof())), 2 << alignof()); // tab[i].logc\\n let logctail = load(POW_LOG_DATA_TAB + (i << (2 + alignof())), 3 << alignof()); // tab[i].logctail\\n\\n // Note: 1/c is j/N or j/N/2 where j is an integer in [N,2N) and\\n // |z/c - 1| < 1/N, so r = z/c - 1 is exactly representible.\\n // Split z such that rhi, rlo and rhi*rhi are exact and |rlo| <= |r|.\\n let zhi = reinterpret((iz + u64(0x80000000)) & 0xFFFFFFFF00000000);\\n let zlo = z - zhi;\\n let rhi = zhi * invc - 1.0;\\n let rlo = zlo * invc;\\n let r = rhi + rlo;\\n\\n // k * Ln2 + log(c) + r.\\n let t1 = kd * Ln2hi + logc;\\n let t2 = t1 + r;\\n let lo1 = kd * Ln2lo + logctail;\\n let lo2 = t1 - t2 + r;\\n\\n // Evaluation is optimized assuming superscalar pipelined execution.\\n let ar = A0 * r; // A[0] = -0.5\\n let ar2 = r * ar;\\n let ar3 = r * ar2;\\n // k * Ln2 + log(c) + r + A[0] * r * r.\\n let arhi = A0 * rhi;\\n let arhi2 = rhi * arhi;\\n let hi = t2 + arhi2;\\n let lo3 = rlo * (ar + arhi);\\n let lo4 = t2 - hi + arhi2;\\n\\n // p = log1p(r) - r - A[0] * r * r.\\n let p = ar3 * (A1 + r * A2 + ar2 * (A3 + r * A4 + ar2 * (A5 + r * A6)));\\n let lo = lo1 + lo2 + lo3 + lo4 + p;\\n let y = hi + lo;\\n log_tail = hi - y + lo;\\n\\n return y;\\n}\\n\\n// @ts-ignore: decorator\\n@inline const SIGN_BIAS = 0x800 << EXP_TABLE_BITS;\\n\\n// Computes sign*exp(x+xtail) where |xtail| < 2^-8/N and |xtail| <= |x|.\\n// The sign_bias argument is SIGN_BIAS or 0 and sets the sign to -1 or 1.\\n// @ts-ignore: decorator\\n@inline\\nfunction exp_inline(x: f64, xtail: f64, sign_bias: u32): f64 {\\n const N = 1 << EXP_TABLE_BITS;\\n const N_MASK = N - 1;\\n\\n const\\n InvLn2N = reinterpret(0x3FF71547652B82FE) * N, // 0x1.71547652b82fep0\\n NegLn2hiN = reinterpret(0xBF762E42FEFA0000), // -0x1.62e42fefa0000p-8\\n NegLn2loN = reinterpret(0xBD0CF79ABC9E3B3A), // -0x1.cf79abc9e3b3ap-47\\n shift = reinterpret(0x4338000000000000); // 0x1.8p52\\n\\n const\\n C2 = reinterpret(0x3FDFFFFFFFFFFDBD), // __exp_data.poly[0] (0x1.ffffffffffdbdp-2)\\n C3 = reinterpret(0x3FC555555555543C), // __exp_data.poly[1] (0x1.555555555543cp-3)\\n C4 = reinterpret(0x3FA55555CF172B91), // __exp_data.poly[2] (0x1.55555cf172b91p-5)\\n C5 = reinterpret(0x3F81111167A4D017); // __exp_data.poly[3] (0x1.1111167a4d017p-7)\\n\\n let abstop: u32;\\n let ki: u64, top: u64, sbits: u64;\\n let idx: usize;\\n // double_t for better performance on targets with FLT_EVAL_METHOD==2.\\n let kd: f64, z: f64, r: f64, r2: f64, scale: f64, tail: f64, tmp: f64;\\n\\n let ux = reinterpret(x);\\n abstop = u32(ux >> 52) & 0x7FF;\\n if (abstop - 0x3C9 >= 0x03F) {\\n if (abstop - 0x3C9 >= 0x80000000) {\\n // Avoid spurious underflow for tiny x.\\n // Note: 0 is common input.\\n return select(-1.0, 1.0, sign_bias);\\n }\\n if (abstop >= 0x409) { // top12(1024.0)\\n // Note: inf and nan are already handled.\\n return ux < 0\\n ? uflow(sign_bias)\\n : oflow(sign_bias);\\n }\\n // Large x is special cased below.\\n abstop = 0;\\n }\\n\\n // exp(x) = 2^(k/N) * exp(r), with exp(r) in [2^(-1/2N),2^(1/2N)].\\n // x = ln2/N*k + r, with int k and r in [-ln2/2N, ln2/2N].\\n z = InvLn2N * x;\\n\\n // #if TOINT_INTRINSICS\\n // kd = roundtoint(z);\\n // ki = converttoint(z);\\n // #elif EXP_USE_TOINT_NARROW\\n // // z - kd is in [-0.5-2^-16, 0.5] in all rounding modes.\\n // kd = eval_as_double(z + shift);\\n // ki = asuint64(kd) >> 16;\\n // kd = (double_t)(int32_t)ki;\\n // #else\\n // z - kd is in [-1, 1] in non-nearest rounding modes\\n kd = z + shift;\\n ki = reinterpret(kd);\\n kd -= shift;\\n // #endif\\n r = x + kd * NegLn2hiN + kd * NegLn2loN;\\n // The code assumes 2^-200 < |xtail| < 2^-8/N\\n r += xtail;\\n // 2^(k/N) ~= scale * (1 + tail)\\n idx = usize((ki & N_MASK) << 1);\\n top = (ki + sign_bias) << (52 - EXP_TABLE_BITS);\\n\\n tail = reinterpret(load(EXP_DATA_TAB + (idx << alignof())));\\n // This is only a valid scale when -1023*N < k < 1024*N\\n sbits = load(EXP_DATA_TAB + (idx << alignof()), 1 << alignof()) + top;\\n // exp(x) = 2^(k/N) * exp(r) ~= scale + scale * (tail + exp(r) - 1).\\n // Evaluation is optimized assuming superscalar pipelined execution.\\n r2 = r * r;\\n // Without fma the worst case error is 0.25/N ulp larger.\\n // Worst case error is less than 0.5+1.11/N+(abs poly error * 2^53) ulp\\n tmp = tail + r + r2 * (C2 + r * C3) + r2 * r2 * (C4 + r * C5);\\n if (abstop == 0) return specialcase(tmp, sbits, ki);\\n scale = reinterpret(sbits);\\n // Note: tmp == 0 or |tmp| > 2^-200 and scale > 2^-739, so there\\n // is no spurious underflow here even without fma.\\n return scale + scale * tmp;\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nexport function pow_lut(x: f64, y: f64): f64 {\\n const Ox1p52 = reinterpret(0x4330000000000000); // 0x1p52\\n\\n let sign_bias: u32 = 0;\\n let ix = reinterpret(x);\\n let iy = reinterpret(y);\\n let topx = ix >> 52;\\n let topy = iy >> 52;\\n\\n if (topx - 0x001 >= 0x7FF - 0x001 || (topy & 0x7FF) - 0x3BE >= 0x43e - 0x3BE) {\\n // Note: if |y| > 1075 * ln2 * 2^53 ~= 0x1.749p62 then pow(x,y) = inf/0\\n // and if |y| < 2^-54 / 1075 ~= 0x1.e7b6p-65 then pow(x,y) = +-1.\\n // Special cases: (x < 0x1p-126 or inf or nan) or\\n // (|y| < 0x1p-65 or |y| >= 0x1p63 or nan).\\n if (zeroinfnan(iy)) {\\n if ((iy << 1) == 0) return 1.0;\\n if (ix == 0x3FF0000000000000) return NaN; // original: 1.0\\n if ((ix << 1) > 0xFFE0000000000000 || (iy << 1) > 0xFFE0000000000000) return x + y;\\n if ((ix << 1) == 0x7FE0000000000000) return NaN; // original: 1.0\\n if (((ix << 1) < 0x7FE0000000000000) == !(iy >> 63)) return 0; // |x|<1 && y==inf or |x|>1 && y==-inf.\\n return y * y;\\n }\\n if (zeroinfnan(ix)) {\\n let x2 = x * x;\\n if (i32(ix >> 63) && checkint(iy) == 1) x2 = -x2;\\n return iy < 0 ? 1 / x2 : x2;\\n }\\n // Here x and y are non-zero finite\\n if (ix < 0) {\\n // Finite x < 0\\n let yint = checkint(iy);\\n if (yint == 0) return (x - x) / (x - x);\\n if (yint == 1) sign_bias = SIGN_BIAS;\\n ix &= 0x7FFFFFFFFFFFFFFF;\\n topx &= 0x7FF;\\n }\\n if ((topy & 0x7FF) - 0x3BE >= 0x43E - 0x3BE) {\\n // Note: sign_bias == 0 here because y is not odd.\\n if (ix == 0x3FF0000000000000) return 1;\\n if ((topy & 0x7FF) < 0x3BE) return 1; // |y| < 2^-65, x^y ~= 1 + y*log(x).\\n return (ix > 0x3FF0000000000000) == (topy < 0x800) ? Infinity : 0;\\n }\\n if (topx == 0) {\\n // Normalize subnormal x so exponent becomes negative.\\n ix = reinterpret(x * Ox1p52);\\n ix &= 0x7FFFFFFFFFFFFFFF;\\n ix -= u64(52) << 52;\\n }\\n }\\n\\n let hi = log_inline(ix);\\n let lo = log_tail;\\n let ehi: f64, elo: f64;\\n // #if __FP_FAST_FMA\\n // ehi = y * hi;\\n // elo = y * lo + __builtin_fma(y, hi, -ehi);\\n // #else\\n let yhi = reinterpret(iy & 0xFFFFFFFFF8000000);\\n let ylo = y - yhi;\\n let lhi = reinterpret(reinterpret(hi) & 0xFFFFFFFFF8000000);\\n let llo = hi - lhi + lo;\\n ehi = yhi * lhi;\\n elo = ylo * lhi + y * llo; // |elo| < |ehi| * 2^-25.\\n // #endif\\n return exp_inline(ehi, elo, sign_bias);\\n}\\n\",\n \"util/memory\": \"export function memcpy(dest: usize, src: usize, n: usize): void { // see: musl/src/string/memcpy.c\\n let w: u32, x: u32;\\n\\n // copy 1 byte each until src is aligned to 4 bytes\\n while (n && (src & 3)) {\\n store(dest++, load(src++));\\n n--;\\n }\\n\\n // if dst is aligned to 4 bytes as well, copy 4 bytes each\\n if ((dest & 3) == 0) {\\n while (n >= 16) {\\n store(dest , load(src ));\\n store(dest + 4, load(src + 4));\\n store(dest + 8, load(src + 8));\\n store(dest + 12, load(src + 12));\\n src += 16; dest += 16; n -= 16;\\n }\\n if (n & 8) {\\n store(dest , load(src ));\\n store(dest + 4, load(src + 4));\\n dest += 8; src += 8;\\n }\\n if (n & 4) {\\n store(dest, load(src));\\n dest += 4; src += 4;\\n }\\n if (n & 2) { // drop to 2 bytes each\\n store(dest, load(src));\\n dest += 2; src += 2;\\n }\\n if (n & 1) { // drop to 1 byte\\n store(dest++, load(src++));\\n }\\n return;\\n }\\n\\n // if dst is not aligned to 4 bytes, use alternating shifts to copy 4 bytes each\\n // doing shifts if faster when copying enough bytes (here: 32 or more)\\n if (n >= 32) {\\n switch (dest & 3) {\\n // known to be != 0\\n case 1: {\\n w = load(src);\\n store(dest++, load(src++));\\n store(dest++, load(src++));\\n store(dest++, load(src++));\\n n -= 3;\\n while (n >= 17) {\\n x = load(src + 1);\\n store(dest, w >> 24 | x << 8);\\n w = load(src + 5);\\n store(dest + 4, x >> 24 | w << 8);\\n x = load(src + 9);\\n store(dest + 8, w >> 24 | x << 8);\\n w = load(src + 13);\\n store(dest + 12, x >> 24 | w << 8);\\n src += 16; dest += 16; n -= 16;\\n }\\n break;\\n }\\n case 2: {\\n w = load(src);\\n store(dest++, load(src++));\\n store(dest++, load(src++));\\n n -= 2;\\n while (n >= 18) {\\n x = load(src + 2);\\n store(dest, w >> 16 | x << 16);\\n w = load(src + 6);\\n store(dest + 4, x >> 16 | w << 16);\\n x = load(src + 10);\\n store(dest + 8, w >> 16 | x << 16);\\n w = load(src + 14);\\n store(dest + 12, x >> 16 | w << 16);\\n src += 16; dest += 16; n -= 16;\\n }\\n break;\\n }\\n case 3: {\\n w = load(src);\\n store(dest++, load(src++));\\n n -= 1;\\n while (n >= 19) {\\n x = load(src + 3);\\n store(dest, w >> 8 | x << 24);\\n w = load(src + 7);\\n store(dest + 4, x >> 8 | w << 24);\\n x = load(src + 11);\\n store(dest + 8, w >> 8 | x << 24);\\n w = load(src + 15);\\n store(dest + 12, x >> 8 | w << 24);\\n src += 16; dest += 16; n -= 16;\\n }\\n break;\\n }\\n }\\n }\\n\\n // copy remaining bytes one by one\\n if (n & 16) {\\n store(dest++, load(src++));\\n store(dest++, load(src++));\\n store(dest++, load(src++));\\n store(dest++, load(src++));\\n store(dest++, load(src++));\\n store(dest++, load(src++));\\n store(dest++, load(src++));\\n store(dest++, load(src++));\\n store(dest++, load(src++));\\n store(dest++, load(src++));\\n store(dest++, load(src++));\\n store(dest++, load(src++));\\n store(dest++, load(src++));\\n store(dest++, load(src++));\\n store(dest++, load(src++));\\n store(dest++, load(src++));\\n }\\n if (n & 8) {\\n store(dest++, load(src++));\\n store(dest++, load(src++));\\n store(dest++, load(src++));\\n store(dest++, load(src++));\\n store(dest++, load(src++));\\n store(dest++, load(src++));\\n store(dest++, load(src++));\\n store(dest++, load(src++));\\n }\\n if (n & 4) {\\n store(dest++, load(src++));\\n store(dest++, load(src++));\\n store(dest++, load(src++));\\n store(dest++, load(src++));\\n }\\n if (n & 2) {\\n store(dest++, load(src++));\\n store(dest++, load(src++));\\n }\\n if (n & 1) {\\n store(dest++, load(src++));\\n }\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nexport function memmove(dest: usize, src: usize, n: usize): void { // see: musl/src/string/memmove.c\\n if (dest == src) return;\\n if (ASC_SHRINK_LEVEL < 1) {\\n if (src - dest - n <= -(n << 1)) {\\n memcpy(dest, src, n);\\n return;\\n }\\n }\\n if (dest < src) {\\n if (ASC_SHRINK_LEVEL < 2) {\\n if ((src & 7) == (dest & 7)) {\\n while (dest & 7) {\\n if (!n) return;\\n --n;\\n store(dest++, load(src++));\\n }\\n while (n >= 8) {\\n store(dest, load(src));\\n n -= 8;\\n dest += 8;\\n src += 8;\\n }\\n }\\n }\\n while (n) {\\n store(dest++, load(src++));\\n --n;\\n }\\n } else {\\n if (ASC_SHRINK_LEVEL < 2) {\\n if ((src & 7) == (dest & 7)) {\\n while ((dest + n) & 7) {\\n if (!n) return;\\n store(dest + --n, load(src + n));\\n }\\n while (n >= 8) {\\n n -= 8;\\n store(dest + n, load(src + n));\\n }\\n }\\n }\\n while (n) {\\n store(dest + --n, load(src + n));\\n }\\n }\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nexport function memset(dest: usize, c: u8, n: usize): void { // see: musl/src/string/memset\\n if (ASC_SHRINK_LEVEL > 1) {\\n while (n) {\\n store(dest++, c);\\n --n;\\n }\\n } else {\\n // fill head and tail with minimal branching\\n if (!n) return;\\n let dend = dest + n;\\n store(dest, c);\\n store(dend - 1, c);\\n if (n <= 2) return;\\n store(dest, c, 1);\\n store(dest, c, 2);\\n store(dend - 2, c);\\n store(dend - 3, c);\\n if (n <= 6) return;\\n store(dest, c, 3);\\n store(dend - 4, c);\\n if (n <= 8) return;\\n\\n // advance pointer to align it at 4-byte boundary\\n let k: usize = -dest & 3;\\n dest += k;\\n n -= k;\\n n &= -4;\\n\\n let c32: u32 = -1 / 255 * c;\\n\\n // fill head/tail up to 28 bytes each in preparation\\n dend = dest + n;\\n store(dest, c32);\\n store(dend - 4, c32);\\n if (n <= 8) return;\\n store(dest, c32, 4);\\n store(dest, c32, 8);\\n store(dend - 12, c32);\\n store(dend - 8, c32);\\n if (n <= 24) return;\\n store(dest, c32, 12);\\n store(dest, c32, 16);\\n store(dest, c32, 20);\\n store(dest, c32, 24);\\n store(dend - 28, c32);\\n store(dend - 24, c32);\\n store(dend - 20, c32);\\n store(dend - 16, c32);\\n\\n // align to a multiple of 8\\n k = 24 + (dest & 4);\\n dest += k;\\n n -= k;\\n\\n // copy 32 bytes each\\n let c64: u64 = c32 | (c32 << 32);\\n while (n >= 32) {\\n store(dest, c64);\\n store(dest, c64, 8);\\n store(dest, c64, 16);\\n store(dest, c64, 24);\\n n -= 32;\\n dest += 32;\\n }\\n }\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nexport function memcmp(vl: usize, vr: usize, n: usize): i32 {\\n if (vl == vr) return 0;\\n if (ASC_SHRINK_LEVEL < 2) {\\n if ((vl & 7) == (vr & 7)) {\\n while (vl & 7) {\\n if (!n) return 0;\\n let a = load(vl);\\n let b = load(vr);\\n if (a != b) return a - b;\\n n--; vl++; vr++;\\n }\\n while (n >= 8) {\\n if (load(vl) != load(vr)) break;\\n vl += 8;\\n vr += 8;\\n n -= 8;\\n }\\n }\\n }\\n while (n--) {\\n let a = load(vl);\\n let b = load(vr);\\n if (a != b) return a - b;\\n vl++; vr++;\\n }\\n return 0;\\n}\\n\",\n \"util/number\": \"/// \\n\\nimport { idof } from \\\"../builtins\\\";\\nimport { CharCode } from \\\"./string\\\";\\n\\n// @ts-ignore: decorator\\n@inline\\nexport const MAX_DOUBLE_LENGTH = 28;\\n\\n// @ts-ignore: decorator\\n@lazy @inline const POWERS10 = memory.data([\\n 1,\\n 10,\\n 100,\\n 1000,\\n 10000,\\n 100000,\\n 1000000,\\n 10000000,\\n 100000000,\\n 1000000000\\n]);\\n\\n/*\\n Lookup table for pairwise char codes in range [0-99]\\n\\n \\\"00\\\", \\\"01\\\", \\\"02\\\", \\\"03\\\", \\\"04\\\", \\\"05\\\", \\\"06\\\", \\\"07\\\", \\\"08\\\", \\\"09\\\",\\n \\\"10\\\", \\\"11\\\", \\\"12\\\", \\\"13\\\", \\\"14\\\", \\\"15\\\", \\\"16\\\", \\\"17\\\", \\\"18\\\", \\\"19\\\",\\n \\\"20\\\", \\\"21\\\", \\\"22\\\", \\\"23\\\", \\\"24\\\", \\\"25\\\", \\\"26\\\", \\\"27\\\", \\\"28\\\", \\\"29\\\",\\n \\\"30\\\", \\\"31\\\", \\\"32\\\", \\\"33\\\", \\\"34\\\", \\\"35\\\", \\\"36\\\", \\\"37\\\", \\\"38\\\", \\\"39\\\",\\n \\\"40\\\", \\\"41\\\", \\\"42\\\", \\\"43\\\", \\\"44\\\", \\\"45\\\", \\\"46\\\", \\\"47\\\", \\\"48\\\", \\\"49\\\",\\n \\\"50\\\", \\\"51\\\", \\\"52\\\", \\\"53\\\", \\\"54\\\", \\\"55\\\", \\\"56\\\", \\\"57\\\", \\\"58\\\", \\\"59\\\",\\n \\\"60\\\", \\\"61\\\", \\\"62\\\", \\\"63\\\", \\\"64\\\", \\\"65\\\", \\\"66\\\", \\\"67\\\", \\\"68\\\", \\\"69\\\",\\n \\\"70\\\", \\\"71\\\", \\\"72\\\", \\\"73\\\", \\\"74\\\", \\\"75\\\", \\\"76\\\", \\\"77\\\", \\\"78\\\", \\\"79\\\",\\n \\\"80\\\", \\\"81\\\", \\\"82\\\", \\\"83\\\", \\\"84\\\", \\\"85\\\", \\\"86\\\", \\\"87\\\", \\\"88\\\", \\\"89\\\",\\n \\\"90\\\", \\\"91\\\", \\\"92\\\", \\\"93\\\", \\\"94\\\", \\\"95\\\", \\\"96\\\", \\\"97\\\", \\\"98\\\", \\\"99\\\"\\n*/\\n// @ts-ignore: decorator\\n@lazy @inline const DIGITS = memory.data([\\n 0x00300030, 0x00310030, 0x00320030, 0x00330030, 0x00340030,\\n 0x00350030, 0x00360030, 0x00370030, 0x00380030, 0x00390030,\\n 0x00300031, 0x00310031, 0x00320031, 0x00330031, 0x00340031,\\n 0x00350031, 0x00360031, 0x00370031, 0x00380031, 0x00390031,\\n 0x00300032, 0x00310032, 0x00320032, 0x00330032, 0x00340032,\\n 0x00350032, 0x00360032, 0x00370032, 0x00380032, 0x00390032,\\n 0x00300033, 0x00310033, 0x00320033, 0x00330033, 0x00340033,\\n 0x00350033, 0x00360033, 0x00370033, 0x00380033, 0x00390033,\\n 0x00300034, 0x00310034, 0x00320034, 0x00330034, 0x00340034,\\n 0x00350034, 0x00360034, 0x00370034, 0x00380034, 0x00390034,\\n 0x00300035, 0x00310035, 0x00320035, 0x00330035, 0x00340035,\\n 0x00350035, 0x00360035, 0x00370035, 0x00380035, 0x00390035,\\n 0x00300036, 0x00310036, 0x00320036, 0x00330036, 0x00340036,\\n 0x00350036, 0x00360036, 0x00370036, 0x00380036, 0x00390036,\\n 0x00300037, 0x00310037, 0x00320037, 0x00330037, 0x00340037,\\n 0x00350037, 0x00360037, 0x00370037, 0x00380037, 0x00390037,\\n 0x00300038, 0x00310038, 0x00320038, 0x00330038, 0x00340038,\\n 0x00350038, 0x00360038, 0x00370038, 0x00380038, 0x00390038,\\n 0x00300039, 0x00310039, 0x00320039, 0x00330039, 0x00340039,\\n 0x00350039, 0x00360039, 0x00370039, 0x00380039, 0x00390039\\n]);\\n\\n// Lookup table for pairwise char codes in range [0x00-0xFF]\\n// @ts-ignore: decorator\\n@lazy @inline const HEX_DIGITS =\\n\\\"000102030405060708090a0b0c0d0e0f\\\\\\n101112131415161718191a1b1c1d1e1f\\\\\\n202122232425262728292a2b2c2d2e2f\\\\\\n303132333435363738393a3b3c3d3e3f\\\\\\n404142434445464748494a4b4c4d4e4f\\\\\\n505152535455565758595a5b5c5d5e5f\\\\\\n606162636465666768696a6b6c6d6e6f\\\\\\n707172737475767778797a7b7c7d7e7f\\\\\\n808182838485868788898a8b8c8d8e8f\\\\\\n909192939495969798999a9b9c9d9e9f\\\\\\na0a1a2a3a4a5a6a7a8a9aaabacadaeaf\\\\\\nb0b1b2b3b4b5b6b7b8b9babbbcbdbebf\\\\\\nc0c1c2c3c4c5c6c7c8c9cacbcccdcecf\\\\\\nd0d1d2d3d4d5d6d7d8d9dadbdcdddedf\\\\\\ne0e1e2e3e4e5e6e7e8e9eaebecedeeef\\\\\\nf0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\\\";\\n\\n// @ts-ignore: decorator\\n@lazy @inline const ANY_DIGITS = \\\"0123456789abcdefghijklmnopqrstuvwxyz\\\";\\n\\n// @ts-ignore: decorator\\n@lazy @inline const EXP_POWERS = memory.data([/* eslint-disable indent */\\n -1220, -1193, -1166, -1140, -1113, -1087, -1060, -1034, -1007, -980,\\n -954, -927, -901, -874, -847, -821, -794, -768, -741, -715,\\n -688, -661, -635, -608, -582, -555, -529, -502, -475, -449,\\n -422, -396, -369, -343, -316, -289, -263, -236, -210, -183,\\n -157, -130, -103, -77, -50, -24, 3, 30, 56, 83,\\n 109, 136, 162, 189, 216, 242, 269, 295, 322, 348,\\n 375, 402, 428, 455, 481, 508, 534, 561, 588, 614,\\n 641, 667, 694, 720, 747, 774, 800, 827, 853, 880,\\n 907, 933, 960, 986, 1013, 1039, 1066\\n/* eslint-enable indent */]);\\n\\n// 1e-348, 1e-340, ..., 1e340\\n// @ts-ignore: decorator\\n@lazy @inline const FRC_POWERS = memory.data([\\n 0xFA8FD5A0081C0288, 0xBAAEE17FA23EBF76, 0x8B16FB203055AC76, 0xCF42894A5DCE35EA,\\n 0x9A6BB0AA55653B2D, 0xE61ACF033D1A45DF, 0xAB70FE17C79AC6CA, 0xFF77B1FCBEBCDC4F,\\n 0xBE5691EF416BD60C, 0x8DD01FAD907FFC3C, 0xD3515C2831559A83, 0x9D71AC8FADA6C9B5,\\n 0xEA9C227723EE8BCB, 0xAECC49914078536D, 0x823C12795DB6CE57, 0xC21094364DFB5637,\\n 0x9096EA6F3848984F, 0xD77485CB25823AC7, 0xA086CFCD97BF97F4, 0xEF340A98172AACE5,\\n 0xB23867FB2A35B28E, 0x84C8D4DFD2C63F3B, 0xC5DD44271AD3CDBA, 0x936B9FCEBB25C996,\\n 0xDBAC6C247D62A584, 0xA3AB66580D5FDAF6, 0xF3E2F893DEC3F126, 0xB5B5ADA8AAFF80B8,\\n 0x87625F056C7C4A8B, 0xC9BCFF6034C13053, 0x964E858C91BA2655, 0xDFF9772470297EBD,\\n 0xA6DFBD9FB8E5B88F, 0xF8A95FCF88747D94, 0xB94470938FA89BCF, 0x8A08F0F8BF0F156B,\\n 0xCDB02555653131B6, 0x993FE2C6D07B7FAC, 0xE45C10C42A2B3B06, 0xAA242499697392D3,\\n 0xFD87B5F28300CA0E, 0xBCE5086492111AEB, 0x8CBCCC096F5088CC, 0xD1B71758E219652C,\\n 0x9C40000000000000, 0xE8D4A51000000000, 0xAD78EBC5AC620000, 0x813F3978F8940984,\\n 0xC097CE7BC90715B3, 0x8F7E32CE7BEA5C70, 0xD5D238A4ABE98068, 0x9F4F2726179A2245,\\n 0xED63A231D4C4FB27, 0xB0DE65388CC8ADA8, 0x83C7088E1AAB65DB, 0xC45D1DF942711D9A,\\n 0x924D692CA61BE758, 0xDA01EE641A708DEA, 0xA26DA3999AEF774A, 0xF209787BB47D6B85,\\n 0xB454E4A179DD1877, 0x865B86925B9BC5C2, 0xC83553C5C8965D3D, 0x952AB45CFA97A0B3,\\n 0xDE469FBD99A05FE3, 0xA59BC234DB398C25, 0xF6C69A72A3989F5C, 0xB7DCBF5354E9BECE,\\n 0x88FCF317F22241E2, 0xCC20CE9BD35C78A5, 0x98165AF37B2153DF, 0xE2A0B5DC971F303A,\\n 0xA8D9D1535CE3B396, 0xFB9B7CD9A4A7443C, 0xBB764C4CA7A44410, 0x8BAB8EEFB6409C1A,\\n 0xD01FEF10A657842C, 0x9B10A4E5E9913129, 0xE7109BFBA19C0C9D, 0xAC2820D9623BF429,\\n 0x80444B5E7AA7CF85, 0xBF21E44003ACDD2D, 0x8E679C2F5E44FF8F, 0xD433179D9C8CB841,\\n 0x9E19DB92B4E31BA9, 0xEB96BF6EBADF77D9, 0xAF87023B9BF0EE6B\\n]);\\n\\n// @ts-ignore: decorator\\n@inline\\nexport function isPowerOf2(value: T): bool {\\n return popcnt(value) == 1;\\n}\\n\\n// Count number of decimals for u32 values\\n// In our case input value always non-zero so we can simplify some parts\\nexport function decimalCount32(value: u32): u32 {\\n if (value < 100000) {\\n if (value < 100) {\\n return 1 + u32(value >= 10);\\n } else {\\n return 3 + u32(value >= 10000) + u32(value >= 1000);\\n }\\n } else {\\n if (value < 10000000) {\\n return 6 + u32(value >= 1000000);\\n } else {\\n return 8 + u32(value >= 1000000000) + u32(value >= 100000000);\\n }\\n }\\n}\\n\\n// Count number of decimals for u64 values\\n// In our case input value always greater than 2^32-1 so we can skip some parts\\nexport function decimalCount64High(value: u64): u32 {\\n if (value < 1000000000000000) {\\n if (value < 1000000000000) {\\n return 10 + u32(value >= 100000000000) + u32(value >= 10000000000);\\n } else {\\n return 13 + u32(value >= 100000000000000) + u32(value >= 10000000000000);\\n }\\n } else {\\n if (value < 100000000000000000) {\\n return 16 + u32(value >= 10000000000000000);\\n } else {\\n return 18 + u32(value >= 10000000000000000000) + u32(value >= 1000000000000000000);\\n }\\n }\\n}\\n\\nfunction ulog_base(num: u64, base: i32): u32 {\\n if (isPowerOf2(base)) {\\n return (63 - clz(num)) / (31 - clz(base)) + 1;\\n }\\n let b64 = u64(base), b = b64, e: u32 = 1;\\n while (num >= b) {\\n num /= b;\\n b *= b;\\n e <<= 1;\\n }\\n while (num >= 1) {\\n num /= b64;\\n e++;\\n }\\n return e - 1;\\n}\\n\\nfunction utoa32_dec_lut(buffer: usize, num: u32, offset: usize): void {\\n while (num >= 10000) {\\n // in most VMs i32/u32 div and modulo by constant can be shared and simplificate\\n let t = num / 10000;\\n let r = num % 10000;\\n num = t;\\n\\n let d1 = r / 100;\\n let d2 = r % 100;\\n\\n let digits1 = load(DIGITS + (d1 << alignof()));\\n let digits2 = load(DIGITS + (d2 << alignof()));\\n\\n offset -= 4;\\n store(buffer + (offset << 1), digits1 | (digits2 << 32));\\n }\\n\\n if (num >= 100) {\\n let t = num / 100;\\n let d1 = num % 100;\\n num = t;\\n offset -= 2;\\n let digits = load(DIGITS + (d1 << alignof()));\\n store(buffer + (offset << 1), digits);\\n }\\n\\n if (num >= 10) {\\n offset -= 2;\\n let digits = load(DIGITS + (num << alignof()));\\n store(buffer + (offset << 1), digits);\\n } else {\\n offset -= 1;\\n let digit = CharCode._0 + num;\\n store(buffer + (offset << 1), digit);\\n }\\n}\\n\\nfunction utoa64_dec_lut(buffer: usize, num: u64, offset: usize): void {\\n while (num >= 100000000) {\\n let t = num / 100000000;\\n let r = (num - t * 100000000);\\n num = t;\\n\\n let b = r / 10000;\\n let c = r % 10000;\\n\\n let b1 = b / 100;\\n let b2 = b % 100;\\n let c1 = c / 100;\\n let c2 = c % 100;\\n\\n let digits1 = load(DIGITS + (c1 << alignof()));\\n let digits2 = load(DIGITS + (c2 << alignof()));\\n\\n offset -= 4;\\n store(buffer + (offset << 1), digits1 | (digits2 << 32));\\n\\n digits1 = load(DIGITS + (b1 << alignof()));\\n digits2 = load(DIGITS + (b2 << alignof()));\\n\\n offset -= 4;\\n store(buffer + (offset << 1), digits1 | (digits2 << 32));\\n }\\n\\n utoa32_dec_lut(buffer, num, offset);\\n}\\n\\nfunction utoa_hex_lut(buffer: usize, num: u64, offset: usize): void {\\n const lut = changetype(HEX_DIGITS);\\n while (offset >= 2) {\\n offset -= 2;\\n store(\\n buffer + (offset << 1),\\n load(lut + ((num & 0xFF) << alignof()))\\n );\\n num >>= 8;\\n }\\n if (offset & 1) {\\n store(buffer, load(lut + (num << 6)));\\n }\\n}\\n\\nfunction utoa_dec_simple(buffer: usize, num: T, offset: usize): void {\\n do {\\n let t = num / 10;\\n let r = (num % 10);\\n num = changetype(t);\\n offset--;\\n store(buffer + (offset << 1), CharCode._0 + r);\\n } while (num);\\n}\\n\\nfunction utoa_hex_simple(buffer: usize, num: T, offset: usize): void {\\n do {\\n let d = num & 0x0F | CharCode._0;\\n d += select(0x27, 0, d > CharCode._9);\\n offset--;\\n store(buffer + (offset << 1), d);\\n // @ts-ignore: type\\n num >>= 4;\\n } while (num);\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nexport function utoa32_dec_core(buffer: usize, num: u32, offset: usize): void {\\n if (ASC_SHRINK_LEVEL >= 1) {\\n utoa_dec_simple(buffer, num, offset);\\n } else {\\n utoa32_dec_lut(buffer, num, offset);\\n }\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction utoa32_hex_core(buffer: usize, num: u32, offset: usize): void {\\n if (ASC_SHRINK_LEVEL >= 1) {\\n utoa_hex_simple(buffer, num, offset);\\n } else {\\n utoa_hex_lut(buffer, num, offset);\\n }\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction utoa64_dec_core(buffer: usize, num: u64, offset: usize): void {\\n if (ASC_SHRINK_LEVEL >= 1) {\\n utoa_dec_simple(buffer, num, offset);\\n } else {\\n utoa64_dec_lut(buffer, num, offset);\\n }\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction utoa64_hex_core(buffer: usize, num: u64, offset: usize): void {\\n if (ASC_SHRINK_LEVEL >= 1) {\\n utoa_hex_simple(buffer, num, offset);\\n } else {\\n utoa_hex_lut(buffer, num, offset);\\n }\\n}\\n\\nfunction utoa64_any_core(buffer: usize, num: u64, offset: usize, radix: i32): void {\\n const lut = changetype(ANY_DIGITS);\\n let base = u64(radix);\\n if ((radix & (radix - 1)) == 0) { // for radix which pow of two\\n let shift = u64(ctz(radix) & 7);\\n let mask = base - 1;\\n do {\\n offset--;\\n store(buffer + (offset << 1), load(lut + (usize(num & mask) << 1)));\\n num >>= shift;\\n } while (num);\\n } else {\\n do {\\n offset--;\\n let q = num / base;\\n store(buffer + (offset << 1), load(lut + (usize(num - q * base) << 1)));\\n num = q;\\n } while (num);\\n }\\n}\\n\\nexport function utoa32(value: u32, radix: i32): String {\\n if (radix < 2 || radix > 36) {\\n throw new RangeError(\\\"toString() radix argument must be between 2 and 36\\\");\\n }\\n if (!value) return \\\"0\\\";\\n let out: String;\\n\\n if (radix == 10) {\\n let decimals = decimalCount32(value);\\n out = changetype(__new(decimals << 1, idof()));\\n utoa32_dec_core(changetype(out), value, decimals);\\n } else if (radix == 16) {\\n let decimals = (31 - clz(value) >> 2) + 1;\\n out = changetype(__new(decimals << 1, idof()));\\n utoa32_hex_core(changetype(out), value, decimals);\\n } else {\\n let decimals = ulog_base(value, radix);\\n out = changetype(__new(decimals << 1, idof()));\\n utoa64_any_core(changetype(out), value, decimals, radix);\\n }\\n return out;\\n}\\n\\nexport function itoa32(value: i32, radix: i32): String {\\n if (radix < 2 || radix > 36) {\\n throw new RangeError(\\\"toString() radix argument must be between 2 and 36\\\");\\n }\\n if (!value) return \\\"0\\\";\\n\\n let sign = (value >>> 31) << 1;\\n if (sign) value = -value;\\n let out: String;\\n\\n if (radix == 10) {\\n let decimals = decimalCount32(value);\\n out = changetype(__new((decimals << 1) + sign, idof()));\\n utoa32_dec_core(changetype(out) + sign, value, decimals);\\n } else if (radix == 16) {\\n let decimals = (31 - clz(value) >> 2) + 1;\\n out = changetype(__new((decimals << 1) + sign, idof()));\\n utoa32_hex_core(changetype(out) + sign, value, decimals);\\n } else {\\n let val32 = u32(value);\\n let decimals = ulog_base(val32, radix);\\n out = changetype(__new((decimals << 1) + sign, idof()));\\n utoa64_any_core(changetype(out) + sign, val32, decimals, radix);\\n }\\n if (sign) store(changetype(out), CharCode.MINUS);\\n return out;\\n}\\n\\nexport function utoa64(value: u64, radix: i32): String {\\n if (radix < 2 || radix > 36) {\\n throw new RangeError(\\\"toString() radix argument must be between 2 and 36\\\");\\n }\\n if (!value) return \\\"0\\\";\\n let out: String;\\n\\n if (radix == 10) {\\n if (value <= u32.MAX_VALUE) {\\n let val32 = value;\\n let decimals = decimalCount32(val32);\\n out = changetype(__new(decimals << 1, idof()));\\n utoa32_dec_core(changetype(out), val32, decimals);\\n } else {\\n let decimals = decimalCount64High(value);\\n out = changetype(__new(decimals << 1, idof()));\\n utoa64_dec_core(changetype(out), value, decimals);\\n }\\n } else if (radix == 16) {\\n let decimals = (63 - u32(clz(value)) >> 2) + 1;\\n out = changetype(__new(decimals << 1, idof()));\\n utoa64_hex_core(changetype(out), value, decimals);\\n } else {\\n let decimals = ulog_base(value, radix);\\n out = changetype(__new(decimals << 1, idof()));\\n utoa64_any_core(changetype(out), value, decimals, radix);\\n }\\n return out;\\n}\\n\\nexport function itoa64(value: i64, radix: i32): String {\\n if (radix < 2 || radix > 36) {\\n throw new RangeError(\\\"toString() radix argument must be between 2 and 36\\\");\\n }\\n if (!value) return \\\"0\\\";\\n\\n let sign = u32(value >>> 63) << 1;\\n if (sign) value = -value;\\n let out: String;\\n\\n if (radix == 10) {\\n if (value <= u32.MAX_VALUE) {\\n let val32 = value;\\n let decimals = decimalCount32(val32);\\n out = changetype(__new((decimals << 1) + sign, idof()));\\n utoa32_dec_core(changetype(out) + sign, val32, decimals);\\n } else {\\n let decimals = decimalCount64High(value);\\n out = changetype(__new((decimals << 1) + sign, idof()));\\n utoa64_dec_core(changetype(out) + sign, value, decimals);\\n }\\n } else if (radix == 16) {\\n let decimals = (63 - u32(clz(value)) >> 2) + 1;\\n out = changetype(__new((decimals << 1) + sign, idof()));\\n utoa64_hex_core(changetype(out) + sign, value, decimals);\\n } else {\\n let decimals = ulog_base(value, radix);\\n out = changetype(__new((decimals << 1) + sign, idof()));\\n utoa64_any_core(changetype(out) + sign, value, decimals, radix);\\n }\\n if (sign) store(changetype(out), CharCode.MINUS);\\n return out;\\n}\\n\\n// @ts-ignore: decorator\\n@lazy let _K: i32 = 0;\\n\\n// // @ts-ignore: decorator\\n// @lazy\\n// let _frc: u64 = 0;\\n\\n// @ts-ignore: decorator\\n@lazy let _exp: i32 = 0;\\n\\n// @ts-ignore: decorator\\n@lazy let _frc_minus: u64 = 0;\\n\\n// @ts-ignore: decorator\\n@lazy let _frc_plus: u64 = 0;\\n\\n// @ts-ignore: decorator\\n@lazy let _frc_pow: u64 = 0;\\n\\n// @ts-ignore: decorator\\n@lazy let _exp_pow: i32 = 0;\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction umul64f(u: u64, v: u64): u64 {\\n let u0 = u & 0xFFFFFFFF;\\n let v0 = v & 0xFFFFFFFF;\\n\\n let u1 = u >> 32;\\n let v1 = v >> 32;\\n\\n let l = u0 * v0;\\n let t = u1 * v0 + (l >> 32);\\n let w = u0 * v1 + (t & 0xFFFFFFFF);\\n\\n w += 0x7FFFFFFF; // rounding\\n\\n t >>= 32;\\n w >>= 32;\\n\\n return u1 * v1 + t + w;\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction umul64e(e1: i32, e2: i32): i32 {\\n return e1 + e2 + 64; // where 64 is significand size\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction normalizedBoundaries(f: u64, e: i32): void {\\n let frc = (f << 1) + 1;\\n let exp = e - 1;\\n let off = clz(frc);\\n frc <<= off;\\n exp -= off;\\n\\n let m = 1 + i32(f == 0x0010000000000000);\\n\\n _frc_plus = frc;\\n _frc_minus = ((f << m) - 1) << e - m - exp;\\n _exp = exp;\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction grisuRound(buffer: usize, len: i32, delta: u64, rest: u64, ten_kappa: u64, wp_w: u64): void {\\n let lastp = buffer + ((len - 1) << 1);\\n let digit = load(lastp);\\n while (\\n rest < wp_w &&\\n delta - rest >= ten_kappa && (\\n rest + ten_kappa < wp_w ||\\n wp_w - rest > rest + ten_kappa - wp_w\\n )\\n ) {\\n --digit;\\n rest += ten_kappa;\\n }\\n store(lastp, digit);\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction getCachedPower(minExp: i32): void {\\n const c = reinterpret(0x3FD34413509F79FE); // 1 / lg(10) = 0.30102999566398114\\n let dk = (-61 - minExp) * c + 347;\\t // dk must be positive, so can do ceiling in positive\\n let k = dk;\\n k += i32(k != dk); // conversion with ceil\\n\\n let index = (k >> 3) + 1;\\n _K = 348 - (index << 3);\\t// decimal exponent no need lookup table\\n _frc_pow = load(FRC_POWERS + (index << alignof()));\\n _exp_pow = load(EXP_POWERS + (index << alignof()));\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction grisu2(value: f64, buffer: usize, sign: i32): i32 {\\n\\n // frexp routine\\n let uv = reinterpret(value);\\n let exp = i32((uv & 0x7FF0000000000000) >>> 52);\\n let sid = uv & 0x000FFFFFFFFFFFFF;\\n let frc = (u64(exp != 0) << 52) + sid;\\n exp = select(exp, 1, exp) - (0x3FF + 52);\\n\\n normalizedBoundaries(frc, exp);\\n getCachedPower(_exp);\\n\\n // normalize\\n let off = clz(frc);\\n frc <<= off;\\n exp -= off;\\n\\n let frc_pow = _frc_pow;\\n let exp_pow = _exp_pow;\\n\\n let w_frc = umul64f(frc, frc_pow);\\n let w_exp = umul64e(exp, exp_pow);\\n\\n let wp_frc = umul64f(_frc_plus, frc_pow) - 1;\\n let wp_exp = umul64e(_exp, exp_pow);\\n\\n let wm_frc = umul64f(_frc_minus, frc_pow) + 1;\\n let delta = wp_frc - wm_frc;\\n\\n return genDigits(buffer, w_frc, w_exp, wp_frc, wp_exp, delta, sign);\\n}\\n\\nfunction genDigits(buffer: usize, w_frc: u64, w_exp: i32, mp_frc: u64, mp_exp: i32, delta: u64, sign: i32): i32 {\\n let one_exp = -mp_exp;\\n let one_frc = (1) << one_exp;\\n let mask = one_frc - 1;\\n\\n let wp_w_frc = mp_frc - w_frc;\\n\\n let p1 = u32(mp_frc >> one_exp);\\n let p2 = mp_frc & mask;\\n\\n let kappa = decimalCount32(p1);\\n let len = sign;\\n\\n while (kappa > 0) {\\n let d: u32;\\n switch (kappa) {\\n case 10: { d = p1 / 1000000000; p1 %= 1000000000; break; }\\n case 9: { d = p1 / 100000000; p1 %= 100000000; break; }\\n case 8: { d = p1 / 10000000; p1 %= 10000000; break; }\\n case 7: { d = p1 / 1000000; p1 %= 1000000; break; }\\n case 6: { d = p1 / 100000; p1 %= 100000; break; }\\n case 5: { d = p1 / 10000; p1 %= 10000; break; }\\n case 4: { d = p1 / 1000; p1 %= 1000; break; }\\n case 3: { d = p1 / 100; p1 %= 100; break; }\\n case 2: { d = p1 / 10; p1 %= 10; break; }\\n case 1: { d = p1; p1 = 0; break; }\\n default: { d = 0; break; }\\n }\\n\\n if (d | len) store(buffer + (len++ << 1), CharCode._0 + d);\\n\\n --kappa;\\n let tmp = ((p1) << one_exp) + p2;\\n if (tmp <= delta) {\\n _K += kappa;\\n grisuRound(buffer, len, delta, tmp, load(POWERS10 + (kappa << alignof())) << one_exp, wp_w_frc);\\n return len;\\n }\\n }\\n\\n while (true) {\\n p2 *= 10;\\n delta *= 10;\\n\\n let d = p2 >> one_exp;\\n if (d | len) store(buffer + (len++ << 1), CharCode._0 + d);\\n\\n p2 &= mask;\\n --kappa;\\n if (p2 < delta) {\\n _K += kappa;\\n wp_w_frc *= load(POWERS10 + (-kappa << alignof()));\\n grisuRound(buffer, len, delta, p2, one_frc, wp_w_frc);\\n return len;\\n }\\n }\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction genExponent(buffer: usize, k: i32): i32 {\\n let sign = k < 0;\\n if (sign) k = -k;\\n let decimals = decimalCount32(k) + 1;\\n utoa32_dec_core(buffer, k, decimals);\\n store(buffer, select(CharCode.MINUS, CharCode.PLUS, sign));\\n return decimals;\\n}\\n\\nfunction prettify(buffer: usize, length: i32, k: i32): i32 {\\n if (!k) {\\n store(buffer + (length << 1), CharCode.DOT | (CharCode._0 << 16));\\n return length + 2;\\n }\\n\\n let kk = length + k;\\n if (length <= kk && kk <= 21) {\\n // 1234e7 -> 12340000000\\n for (let i = length; i < kk; ++i) {\\n store(buffer + (i << 1), CharCode._0);\\n }\\n store(buffer + (kk << 1), CharCode.DOT | (CharCode._0 << 16));\\n return kk + 2;\\n } else if (kk > 0 && kk <= 21) {\\n // 1234e-2 -> 12.34\\n let ptr = buffer + (kk << 1);\\n memory.copy(\\n ptr + 2,\\n ptr,\\n -k << 1\\n );\\n store(buffer + (kk << 1), CharCode.DOT);\\n return length + 1;\\n } else if (-6 < kk && kk <= 0) {\\n // 1234e-6 -> 0.001234\\n let offset = 2 - kk;\\n memory.copy(\\n buffer + (offset << 1),\\n buffer,\\n length << 1\\n );\\n store(buffer, CharCode._0 | (CharCode.DOT << 16));\\n for (let i = 2; i < offset; ++i) {\\n store(buffer + (i << 1), CharCode._0);\\n }\\n return length + offset;\\n } else if (length == 1) {\\n // 1e30\\n store(buffer, CharCode.e, 2);\\n length = genExponent(buffer + 4, kk - 1);\\n return length + 2;\\n } else {\\n let len = length << 1;\\n memory.copy(\\n buffer + 4,\\n buffer + 2,\\n len - 2\\n );\\n store(buffer, CharCode.DOT, 2);\\n store(buffer + len, CharCode.e, 2);\\n length += genExponent(buffer + len + 4, kk - 1);\\n return length + 2;\\n }\\n}\\n\\nfunction dtoa_core(buffer: usize, value: f64): i32 {\\n let sign = i32(value < 0);\\n if (sign) {\\n value = -value;\\n store(buffer, CharCode.MINUS);\\n }\\n // assert(value > 0 && value <= 1.7976931348623157e308);\\n let len = grisu2(value, buffer, sign);\\n len = prettify(buffer + (sign << 1), len - sign, _K);\\n return len + sign;\\n}\\n\\n// @ts-ignore: decorator\\n@lazy @inline const dtoa_buf = memory.data(MAX_DOUBLE_LENGTH << 1);\\n\\nexport function dtoa(value: f64): String {\\n if (value == 0) return \\\"0.0\\\";\\n if (!isFinite(value)) {\\n if (isNaN(value)) return \\\"NaN\\\";\\n return select(\\\"-Infinity\\\", \\\"Infinity\\\", value < 0);\\n }\\n let size = dtoa_core(dtoa_buf, value) << 1;\\n let result = changetype(__new(size, idof()));\\n memory.copy(changetype(result), dtoa_buf, size);\\n return result;\\n}\\n\\nexport function itoa_buffered(buffer: usize, value: T): u32 {\\n let sign: u32 = 0;\\n if (isSigned()) {\\n sign = u32(value < 0);\\n if (sign) {\\n if (sizeof() == 1) {\\n if (value == -0x80) {\\n // -0x80 -> -128\\n store(buffer,\\n CharCode.MINUS |\\n (CharCode._0 + 1) << 16 |\\n (CharCode._0 + 2) << 32 |\\n (CharCode._0 + 8) << 48\\n );\\n return 4;\\n }\\n }\\n if (sizeof() == 2) {\\n if (value == -0x8000) {\\n // -0x8000 -> -32768\\n store(buffer,\\n CharCode.MINUS |\\n (CharCode._0 + 3) << 16 |\\n (CharCode._0 + 2) << 32 |\\n (CharCode._0 + 7) << 48\\n ); // -327\\n store(buffer + 8,\\n (CharCode._0 + 6) << 0 |\\n (CharCode._0 + 8) << 16\\n ); // 68\\n return 6;\\n }\\n }\\n store(buffer, CharCode.MINUS);\\n // @ts-ignore\\n value = -value;\\n }\\n }\\n let dest = buffer + (sign << 1);\\n if (ASC_SHRINK_LEVEL <= 1) {\\n if (isSigned()) {\\n if (sizeof() <= 4) {\\n if (value < 10) {\\n store(dest, value | CharCode._0);\\n return 1 + sign;\\n }\\n } else {\\n if (value < 10) {\\n store(dest, value | CharCode._0);\\n return 1 + sign;\\n }\\n }\\n } else {\\n if (value < 10) {\\n store(buffer, value | CharCode._0);\\n return 1;\\n }\\n }\\n }\\n let decimals: u32 = 0;\\n if (sizeof() <= 4) {\\n let val32 = value;\\n decimals = decimalCount32(val32);\\n utoa32_dec_core(dest, val32, decimals);\\n } else {\\n if (value <= u32.MAX_VALUE) {\\n let val32 = value;\\n decimals = decimalCount32(val32);\\n utoa32_dec_core(dest, val32, decimals);\\n } else {\\n let val64 = value;\\n decimals = decimalCount64High(val64);\\n utoa64_dec_core(dest, val64, decimals);\\n }\\n }\\n return sign + decimals;\\n}\\n\\nexport function dtoa_buffered(buffer: usize, value: f64): u32 {\\n if (value == 0) {\\n store(buffer, CharCode._0);\\n store(buffer, CharCode.DOT, 2);\\n store(buffer, CharCode._0, 4);\\n return 3;\\n }\\n if (!isFinite(value)) {\\n if (isNaN(value)) {\\n store(buffer, CharCode.N);\\n store(buffer, CharCode.a, 2);\\n store(buffer, CharCode.N, 4);\\n return 3;\\n } else {\\n let sign = value < 0;\\n if (sign) {\\n store(buffer, CharCode.MINUS); // -\\n buffer += 2;\\n }\\n store(buffer, 0x690066006E0049, 0); // ifnI\\n store(buffer, 0x7900740069006E, 8); // ytin\\n return 8 + u32(sign);\\n }\\n }\\n return dtoa_core(buffer, value);\\n}\\n\",\n \"util/sort\": \"import { compareImpl } from \\\"./string\\\";\\n\\ntype Comparator = (a: T, b: T) => i32;\\n\\n// @ts-ignore: decorator\\n@lazy @inline const EMPTY = u32.MAX_VALUE;\\n// @ts-ignore: decorator\\n@inline const INSERTION_SORT_THRESHOLD = 48;\\n// @ts-ignore: decorator\\n@inline const MIN_RUN_LENGTH = 32;\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction log2u(n: u32): u32 {\\n return 31 - clz(n);\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nexport function COMPARATOR(): Comparator {\\n if (isInteger()) {\\n if (isSigned() && sizeof() <= 4) {\\n return (a, b) => i32(a) - i32(b);\\n } else {\\n return (a, b) => i32(a > b) - i32(a < b);\\n }\\n } else if (isFloat()) {\\n if (sizeof() == 4) {\\n return (a, b) => {\\n let ia = reinterpret(f32(a));\\n let ib = reinterpret(f32(b));\\n ia ^= ia >> 31 >>> 1;\\n ib ^= ib >> 31 >>> 1;\\n return i32(ia > ib) - i32(ia < ib);\\n };\\n } else {\\n return (a, b) => {\\n let ia = reinterpret(f64(a));\\n let ib = reinterpret(f64(b));\\n ia ^= ia >> 63 >>> 1;\\n ib ^= ib >> 63 >>> 1;\\n return i32(ia > ib) - i32(ia < ib);\\n };\\n }\\n } else if (isString()) {\\n return (a, b) => {\\n if (\\n changetype(a) == changetype(b) ||\\n changetype(a) == 0 ||\\n changetype(b) == 0\\n ) return 0;\\n let alen = changetype(a).length;\\n let blen = changetype(b).length;\\n if (!(alen | blen)) return 0;\\n if (!alen) return -1;\\n if (!blen) return 1;\\n let res = compareImpl(\\n changetype(a), 0,\\n changetype(b), 0,\\n min(alen, blen)\\n );\\n return res ? res : alen - blen;\\n };\\n } else {\\n return (a, b) => i32(a > b) - i32(a < b);\\n }\\n}\\n\\n// Power Sort implementation (stable) from paper \\\"Nearly-Optimal Mergesorts\\\"\\n// https://arxiv.org/pdf/1805.04154.pdf\\n// This method usually outperform TimSort.\\n// TODO: refactor c >>> 31 to c < 0 when binaryen will support this opt\\nexport function SORT(\\n ptr: usize,\\n len: i32,\\n comparator: Comparator\\n): void {\\n if (len <= INSERTION_SORT_THRESHOLD) {\\n if (len <= 1) return;\\n if (ASC_SHRINK_LEVEL < 1) {\\n switch (len) {\\n case 3: {\\n let a = load(ptr, 0);\\n let b = load(ptr, 1 << alignof());\\n let c = comparator(a, b) > 0;\\n store(ptr, select(b, a, c), 0);\\n a = select(a, b, c);\\n b = load(ptr, 2 << alignof());\\n c = comparator(a, b) > 0;\\n store(ptr, select(b, a, c), 1 << alignof());\\n store(ptr, select(a, b, c), 2 << alignof());\\n }\\n case 2: {\\n let a = load(ptr, 0);\\n let b = load(ptr, 1 << alignof());\\n let c = comparator(a, b) > 0;\\n store(ptr, select(b, a, c), 0);\\n store(ptr, select(a, b, c), 1 << alignof());\\n return;\\n }\\n }\\n }\\n insertionSort(ptr, 0, len - 1, 0, comparator);\\n return;\\n }\\n\\n let lgPlus2 = log2u(len) + 2;\\n let lgPlus2Size = lgPlus2 << alignof();\\n let leftRunStartBuf = __alloc(lgPlus2Size << 1);\\n let leftRunEndBuf = leftRunStartBuf + lgPlus2Size;\\n\\n for (let i: u32 = 0; i < lgPlus2; ++i) {\\n store(leftRunStartBuf + (i << alignof()), EMPTY);\\n }\\n\\n let buffer = __alloc(len << alignof());\\n\\n let hi = len - 1;\\n let endA = extendRunRight(ptr, 0, hi, comparator);\\n let lenA = endA + 1;\\n\\n if (lenA < MIN_RUN_LENGTH) {\\n endA = min(hi, MIN_RUN_LENGTH - 1);\\n insertionSort(ptr, 0, endA, lenA, comparator);\\n }\\n\\n let top: u32 = 0, startA = 0;\\n while (endA < hi) {\\n let startB = endA + 1;\\n let endB = extendRunRight(ptr, startB, hi, comparator);\\n let lenB = endB - startB + 1;\\n\\n if (lenB < MIN_RUN_LENGTH) {\\n endB = min(hi, startB + MIN_RUN_LENGTH - 1);\\n insertionSort(ptr, startB, endB, lenB, comparator);\\n }\\n\\n let k = nodePower(0, hi, startA, startB, endB);\\n\\n for (let i = top; i > k; --i) {\\n let start = load(leftRunStartBuf + (i << alignof()));\\n if (start != EMPTY) {\\n mergeRuns(\\n ptr,\\n start,\\n load(leftRunEndBuf + (i << alignof())) + 1,\\n endA,\\n buffer,\\n comparator\\n );\\n startA = start;\\n store(leftRunStartBuf + (i << alignof()), EMPTY);\\n }\\n }\\n\\n store(leftRunStartBuf + (k << alignof()), startA);\\n store(leftRunEndBuf + (k << alignof()), endA);\\n startA = startB;\\n endA = endB;\\n top = k;\\n }\\n\\n for (let i = top; i != 0; --i) {\\n let start = load(leftRunStartBuf + (i << alignof()));\\n if (start != EMPTY) {\\n mergeRuns(\\n ptr,\\n start,\\n load(leftRunEndBuf + (i << alignof())) + 1,\\n hi,\\n buffer,\\n comparator\\n );\\n }\\n }\\n // dealloc aux buffers\\n __free(buffer);\\n __free(leftRunStartBuf);\\n}\\n\\nfunction insertionSort(\\n ptr: usize,\\n left: i32,\\n right: i32,\\n presorted: i32,\\n comparator: Comparator\\n): void {\\n if (ASC_SHRINK_LEVEL >= 1) {\\n // slightly improved original insertion sort\\n for (let i = left + presorted; i <= right; ++i) {\\n let j = i - 1;\\n let a = load(ptr + (i << alignof()));\\n while (j >= left) {\\n let b = load(ptr + (j << alignof()));\\n if (comparator(a, b) < 0) {\\n store(ptr + (j << alignof()), b, 1 << alignof()); --j;\\n } else break;\\n }\\n store(ptr + (j << alignof()), a, 1 << alignof());\\n }\\n } else {\\n // even-odd two-way insertion sort which allow increase minRunLen\\n let range = right - left + 1;\\n let i = left + select(range & 1, presorted - ((range - presorted) & 1), presorted == 0);\\n for (; i <= right; i += 2) {\\n let a = load(ptr + (i << alignof()), 0);\\n let b = load(ptr + (i << alignof()), 1 << alignof());\\n let min = b, max = a;\\n if (comparator(a, b) <= 0) {\\n min = a, max = b;\\n }\\n let j = i - 1;\\n while (j >= left) {\\n a = load(ptr + (j << alignof()));\\n if (comparator(a, max) > 0) {\\n store(ptr + (j << alignof()), a, 2 << alignof()); --j;\\n } else break;\\n }\\n store(ptr + (j << alignof()), max, 2 << alignof());\\n while (j >= left) {\\n a = load(ptr + (j << alignof()));\\n if (comparator(a, min) > 0) {\\n store(ptr + (j << alignof()), a, 1 << alignof()); --j;\\n } else break;\\n }\\n store(ptr + (j << alignof()), min, 1 << alignof());\\n }\\n }\\n}\\n\\nfunction nodePower(left: u32, right: u32, startA: u32, startB: u32, endB: u32): u32 {\\n let n: u64 = right - left + 1;\\n let s = startB - (left << 1);\\n let l = startA + s;\\n let r = endB + s + 1;\\n let a = (l << 30) / n;\\n let b = (r << 30) / n;\\n return clz((a ^ b));\\n}\\n\\nfunction extendRunRight(\\n ptr: usize,\\n i: i32,\\n right: i32,\\n comparator: Comparator\\n): i32 {\\n if (i == right) return i;\\n let j = i;\\n if (comparator(\\n load(ptr + ( j << alignof())),\\n load(ptr + (++j << alignof()))\\n ) > 0) {\\n while (\\n j < right &&\\n (comparator(\\n load(ptr + (j << alignof()), 1 << alignof()),\\n load(ptr + (j << alignof()))\\n ) >>> 31) // < 0\\n ) ++j;\\n // reverse\\n let k = j;\\n while (i < k) {\\n let tmp = load(ptr + (i << alignof()));\\n store(ptr + (i << alignof()), load(ptr + (k << alignof()))); ++i;\\n store(ptr + (k << alignof()), tmp); --k;\\n }\\n } else {\\n while (\\n j < right &&\\n comparator(\\n load(ptr + (j << alignof()), 1 << alignof()),\\n load(ptr + (j << alignof()))\\n ) >= 0\\n ) ++j;\\n }\\n return j;\\n}\\n\\n// Merges arr[l..m - 1] and arr[m..r]\\nfunction mergeRuns(\\n ptr: usize,\\n l: i32,\\n m: i32,\\n r: i32,\\n buffer: usize,\\n comparator: Comparator\\n): void {\\n --m;\\n let i: i32, j: i32, t = r + m;\\n for (i = m + 1; i > l; --i) {\\n store(\\n buffer + ((i - 1) << alignof()),\\n load(ptr + ((i - 1) << alignof()))\\n );\\n }\\n for (j = m; j < r; ++j) {\\n store(\\n buffer + ((t - j) << alignof()),\\n load(ptr + (j << alignof()), 1 << alignof())\\n );\\n }\\n for (let k = l; k <= r; ++k) {\\n let a = load(buffer + (j << alignof()));\\n let b = load(buffer + (i << alignof()));\\n if (comparator(a, b) < 0) {\\n store(ptr + (k << alignof()), a);\\n --j;\\n } else {\\n store(ptr + (k << alignof()), b);\\n ++i;\\n }\\n }\\n}\\n\",\n \"util/string\": \"import {\\n itoa32,\\n utoa32,\\n itoa64,\\n utoa64,\\n dtoa,\\n itoa_buffered,\\n dtoa_buffered,\\n MAX_DOUBLE_LENGTH\\n} from \\\"./number\\\";\\n\\nimport {\\n ipow32\\n} from \\\"../math\\\";\\n\\n// All tables are stored as two staged lookup tables (static tries)\\n// because the full range of Unicode symbols can't be efficiently\\n// represented as-is in memory (see Unicode spec ch 5, p.196):\\n// https://www.unicode.org/versions/Unicode12.0.0/ch05.pdf\\n// Tables have been generated using these forked musl tools:\\n// https://github.com/MaxGraey/musl-chartable-tools/tree/case-ignorable\\n\\n// Lookup table to check if a character is alphanumeric or not\\n// See: https://git.musl-libc.org/cgit/musl/tree/src/ctype/alpha.h\\n// size: 3904 bytes\\n// @ts-ignore\\n@inline @lazy const ALPHA_TABLE = memory.data([\\n 18,17,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,17,34,35,36,17,37,38,39,40,\\n 41,42,43,44,17,45,46,47,16,16,48,16,16,16,16,16,16,16,49,50,51,16,52,53,16,16,\\n 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,54,\\n 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,\\n 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,\\n 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,\\n 17,17,17,55,17,17,17,17,56,17,57,58,59,60,61,62,17,17,17,17,17,17,17,17,17,17,\\n 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,\\n 17,17,17,17,17,17,17,63,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,17,64,65,17,66,67,\\n 68,69,70,71,72,73,74,17,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,\\n 93,94,16,95,96,97,98,17,17,17,99,100,101,16,16,16,16,16,16,16,16,16,16,17,17,\\n 17,17,102,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,17,17,103,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,17,17,104,105,16,16,106,107,17,17,17,17,17,17,17,17,17,17,17,17,17,\\n 17,17,17,17,17,17,17,17,17,17,108,17,17,17,17,109,110,16,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 17,111,112,16,16,16,16,16,16,16,16,16,113,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,114,115,116,117,16,16,16,16,16,16,16,16,118,\\n 119,120,16,16,16,16,16,121,122,16,16,16,16,123,16,16,124,16,16,16,16,16,16,16,\\n 16,16,125,16,16,16,\\n 16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,\\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\\n 255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,254,255,255,7,254,\\n 255,255,7,0,0,0,0,0,4,32,4,255,255,127,255,255,255,127,255,255,255,255,255,\\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\\n 255,195,255,3,0,31,80,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,223,188,64,215,255,255,\\n 251,255,255,255,255,255,255,255,255,255,191,255,255,255,255,255,255,255,255,\\n 255,255,255,255,255,255,255,255,255,3,252,255,255,255,255,255,255,255,255,255,\\n 255,255,255,255,255,255,255,255,255,255,255,254,255,255,255,127,2,255,255,255,\\n 255,255,1,0,0,0,0,255,191,182,0,255,255,255,135,7,0,0,0,255,7,255,255,255,255,\\n 255,255,255,254,255,195,255,255,255,255,255,255,255,255,255,255,255,255,239,\\n 31,254,225,255,\\n 159,0,0,255,255,255,255,255,255,0,224,255,255,255,255,255,255,255,255,255,255,\\n 255,255,3,0,255,255,255,255,255,7,48,4,255,255,255,252,255,31,0,0,255,255,255,\\n 1,255,7,0,0,0,0,0,0,255,255,223,255,255,0,240,255,248,3,255,255,255,255,255,\\n 255,255,255,255,239,255,223,225,255,207,255,254,255,239,159,249,255,255,253,\\n 197,227,159,89,128,176,207,255,3,16,238,135,249,255,255,253,109,195,135,25,2,\\n 94,192,255,63,0,238,191,251,255,255,253,237,227,191,27,1,0,207,255,0,30,238,\\n 159,249,255,255,253,237,227,159,25,192,176,207,255,2,0,236,199,61,214,24,199,\\n 255,195,199,29,129,0,192,255,0,0,239,223,253,255,255,253,255,227,223,29,96,7,\\n 207,255,0,0,239,223,253,255,255,253,239,227,223,29,96,64,207,255,6,0,255,223,\\n 253,255,255,255,255,231,223,93,240,128,207,255,0,252,238,255,127,252,255,255,\\n 251,47,127,128,95,255,192,255,12,0,254,255,255,255,255,127,255,7,63,32,255,3,\\n 0,0,0,0,214,247,255,255,175,255,255,59,95,32,255,243,0,0,0,\\n 0,1,0,0,0,255,3,0,0,255,254,255,255,255,31,254,255,3,255,255,254,255,255,255,\\n 31,0,0,0,0,0,0,0,0,255,255,255,255,255,255,127,249,255,3,255,255,255,255,255,\\n 255,255,255,255,63,255,255,255,255,191,32,255,255,255,255,255,247,255,255,255,\\n 255,255,255,255,255,255,61,127,61,255,255,255,255,255,61,255,255,255,255,61,\\n 127,61,255,127,255,255,255,255,255,255,255,61,255,255,255,255,255,255,255,255,\\n 7,0,0,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,63,63,254,255,\\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\\n 255,255,255,255,255,159,255,255,254,255,255,7,255,255,255,255,255,255,255,255,\\n 255,199,255,1,255,223,15,0,255,255,15,0,255,255,15,0,255,223,13,0,255,255,255,\\n 255,255,255,207,255,255,1,128,16,255,3,0,0,0,0,255,3,255,255,255,255,255,255,\\n 255,255,255,255,255,1,255,255,255,255,255,7,255,255,255,255,255,255,255,255,\\n 63,\\n 0,255,255,255,127,255,15,255,1,192,255,255,255,255,63,31,0,255,255,255,255,\\n 255,15,255,255,255,3,255,3,0,0,0,0,255,255,255,15,255,255,255,255,255,255,255,\\n 127,254,255,31,0,255,3,255,3,128,0,0,128,1,0,0,0,0,0,0,0,255,255,255,255,255,\\n 255,239,255,239,15,255,3,0,0,0,0,255,255,255,255,255,243,255,255,255,255,255,\\n 255,191,255,3,0,255,255,255,255,255,255,127,0,255,227,255,255,255,255,255,63,\\n 255,1,255,255,255,255,255,231,0,0,0,0,0,222,111,4,255,255,255,255,255,255,255,\\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,\\n 128,255,31,0,255,255,63,63,255,255,255,255,63,63,255,170,255,255,255,63,255,\\n 255,255,255,255,255,223,95,220,31,207,15,255,31,220,31,0,0,0,0,0,0,0,0,0,0,0,\\n 0,0,0,2,128,0,0,255,31,0,0,0,0,0,0,0,0,0,0,0,0,132,252,47,62,80,189,255,243,\\n 224,67,0,0,255,255,255,255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,255,255,255,255,255,255,3,0,\\n 0,255,255,255,255,255,127,255,255,255,255,255,127,255,255,255,255,255,255,255,\\n 255,255,255,255,255,255,255,255,255,31,120,12,0,255,255,255,255,191,32,255,\\n 255,255,255,255,255,255,128,0,0,255,255,127,0,127,127,127,127,127,127,127,127,\\n 255,255,255,255,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 0,0,224,0,0,0,254,3,62,31,254,255,255,255,255,255,255,255,255,255,127,224,254,\\n 255,255,255,255,255,255,255,255,255,255,247,224,255,255,255,255,255,254,255,\\n 255,255,255,255,255,255,255,255,255,127,0,0,255,255,255,255,0,0,0,0,0,0,255,\\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\\n 255,255,255,255,255,255,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,\\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\\n 255,255,255,\\n 31,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,0,0,\\n 0,0,0,0,0,0,255,255,255,255,255,63,255,31,255,255,255,15,0,0,255,255,255,255,\\n 255,127,240,143,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,\\n 0,128,255,252,255,255,255,255,255,255,255,255,255,255,255,255,249,255,255,255,\\n 255,255,255,252,7,0,0,0,0,224,255,191,255,255,255,255,0,0,0,255,255,255,255,\\n 255,255,15,0,255,255,255,255,255,255,255,255,47,0,255,3,0,0,252,232,255,255,\\n 255,255,255,7,255,255,255,255,7,0,255,255,255,31,255,255,255,255,255,255,247,\\n 255,0,128,255,3,255,255,255,127,255,255,255,255,255,255,127,0,255,63,255,3,\\n 255,255,127,252,255,255,255,255,255,255,255,127,5,0,0,56,255,255,60,0,126,126,\\n 126,0,127,127,255,255,255,255,255,247,255,3,255,255,255,255,255,255,255,255,\\n 255,255,255,255,255,255,255,7,255,3,255,255,255,255,255,255,255,255,255,255,\\n 255,255,255,255,255,255,255,255,255,255,15,0,255,255,127,248,255,255,255,255,\\n 255,\\n 15,255,255,255,255,255,255,255,255,255,255,255,255,255,63,255,255,255,255,255,\\n 255,255,255,255,255,255,255,255,3,0,0,0,0,127,0,248,224,255,253,127,95,219,\\n 255,255,255,255,255,255,255,255,255,255,255,255,255,3,0,0,0,248,255,255,255,\\n 255,255,255,255,255,255,255,255,255,63,0,0,255,255,255,255,255,255,255,255,\\n 252,255,255,255,255,255,255,0,0,0,0,0,255,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,223,\\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,0,0,255,3,\\n 254,255,255,7,254,255,255,7,192,255,255,255,255,255,255,255,255,255,255,127,\\n 252,252,252,28,0,0,0,0,255,239,255,255,127,255,255,183,255,63,255,63,0,0,0,0,\\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,7,0,0,0,0,0,0,0,0,\\n 255,255,255,255,255,255,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,0,0,255,255,255,31,255,255,255,255,255,255,1,0,0,0,0,\\n 0,255,255,255,255,0,224,255,255,255,7,255,255,255,255,255,7,255,255,255,63,\\n 255,255,255,255,15,255,62,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,\\n 255,255,255,255,255,255,255,255,255,63,255,3,255,255,255,255,15,255,255,255,\\n 255,15,255,255,255,255,255,0,255,255,255,255,255,255,15,0,0,0,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,0,0,255,255,255,255,255,255,127,0,255,255,63,0,255,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,0,0,0,0,0,0,63,253,255,255,255,255,191,145,255,255,63,0,255,255,\\n 127,0,255,255,255,127,0,0,0,0,0,0,0,0,255,255,55,0,255,255,63,0,255,255,255,3,\\n 0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,192,0,0,0,0,0,0,0,0,111,240,239,\\n 254,255,255,63,0,0,0,0,0,255,255,255,31,255,255,255,31,0,0,0,0,255,254,255,\\n 255,31,0,0,0,255,255,255,255,255,255,63,0,255,255,63,0,255,255,7,0,255,255,3,\\n 0,0,0,0,0,0,0,0,0,0,0,0,\\n 0,255,255,255,255,255,255,255,255,255,1,0,0,0,0,0,0,255,255,255,255,255,255,7,\\n 0,255,255,255,255,255,255,7,0,255,255,255,255,255,0,255,3,0,0,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,\\n 255,27,3,0,0,0,0,0,0,0,0,0,255,255,255,31,128,0,255,255,63,0,0,0,0,0,0,0,0,0,\\n 0,0,0,0,255,255,31,0,0,0,255,255,127,0,255,255,255,255,255,255,255,255,63,0,0,\\n 0,192,255,0,0,252,255,255,255,255,255,255,1,0,0,255,255,255,1,255,3,255,255,\\n 255,255,255,255,199,255,240,0,255,255,255,255,71,0,255,255,255,255,255,255,\\n 255,255,30,192,255,23,0,0,0,0,255,255,251,255,255,255,159,64,0,0,0,0,0,0,0,0,\\n 127,189,255,191,255,1,255,255,255,255,255,255,255,1,255,3,239,159,249,255,255,\\n 253,237,227,159,25,129,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 0,255,255,255,255,255,255,255,255,187,7,255,131,3,0,0,0,255,255,255,255,255,\\n 255,255,255,179,0,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,\\n 255,255,255,63,127,0,0,0,63,0,0,0,0,255,255,255,255,255,255,255,127,17,0,255,\\n 3,0,0,0,0,255,255,255,255,255,255,63,1,255,3,0,0,0,0,0,0,255,255,255,231,255,\\n 7,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,\\n 255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,3,0,128,\\n 127,242,111,255,255,255,191,153,7,0,255,3,0,0,0,0,0,0,0,0,255,252,255,255,255,\\n 255,255,252,26,0,0,0,255,255,255,255,255,255,231,127,0,0,255,255,255,255,255,\\n 255,255,255,255,32,0,0,0,0,255,255,255,255,255,255,255,1,255,253,255,255,255,\\n 255,127,127,1,0,255,3,0,0,252,255,255,255,252,255,255,254,127,0,0,0,0,0,0,0,0,\\n 0,127,251,255,255,255,255,127,180,203,0,255,3,191,253,255,255,255,127,123,1,\\n 255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 0,0,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,\\n 0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\\n 255,3,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,\\n 255,127,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\\n 255,255,255,255,255,255,255,255,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 0,0,255,255,255,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 0,255,255,255,255,255,255,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 0,0,\\n 0,255,255,255,255,255,255,255,1,255,255,255,127,255,3,0,0,0,0,0,0,0,0,0,0,0,0,\\n 255,255,255,63,0,0,255,255,255,255,255,255,0,0,15,0,255,3,248,255,255,224,255,\\n 255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,\\n 255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,135,\\n 255,255,255,255,255,255,255,128,255,255,0,0,0,0,0,0,0,0,11,0,3,0,255,255,255,\\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\\n 255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255,\\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,0,0,0,0,0,\\n 255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,\\n 127,0,0,0,0,0,0,7,0,240,0,255,255,255,255,255,255,255,255,255,255,255,255,255,\\n 255,255,255,255,\\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\\n 255,255,255,255,255,255,255,255,255,255,255,255,255,15,255,255,255,255,255,\\n 255,255,255,255,255,255,255,255,7,255,31,255,1,255,67,0,0,0,0,0,0,0,0,0,0,0,0,\\n 255,255,255,255,255,255,255,255,255,255,223,255,255,255,255,255,255,255,255,\\n 223,100,222,255,235,239,255,255,255,255,255,255,255,191,231,223,223,255,255,\\n 255,123,95,252,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\\n 255,255,255,255,255,255,255,255,63,255,255,255,253,255,255,247,255,255,255,\\n 247,255,255,223,255,255,255,223,255,255,127,255,255,255,127,255,255,255,253,\\n 255,255,255,253,255,255,247,207,255,255,255,255,255,255,127,255,255,249,219,7,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,31,\\n 128,63,255,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,15,255,\\n 3,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\\n 255,255,255,255,255,31,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,143,8,\\n 255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,239,255,255,255,150,254,247,10,\\n 132,234,150,170,150,247,247,94,255,251,255,15,238,251,255,15,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,255,255,255,3,255,255,255,3,255,255,255,3,0,0,0,0,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,3\\n]);\\n\\n// size: 1568 bytes (compressed to ~1380 bytes after binaryen)\\n// @ts-ignore: decorator\\n@lazy @inline const CASED = memory.data([\\n 18,19,20,21,22,23,16,16,16,16,16,16,16,16,16,16,\\n 24,16,16,25,16,16,16,16,16,16,16,16,26,27,17,28,\\n 29,30,16,16,31,16,16,16,16,16,16,16,32,33,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,34,35,16,16,16,36,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,37,16,16,16,38,\\n 16,16,16,16,39,16,16,16,16,16,16,16,40,16,16,16,\\n 16,16,16,16,16,16,16,16,41,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,42,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,16,43,44,45,46,16,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,47,16,16,16,16,16,16,\\n 16,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\\n 0,0,0,0,0,0,0,0,254,255,255,7,254,255,255,7,0,0,0,0,0,4,32,4,\\n 255,255,127,255,255,255,127,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\\n 255,255,255,255,255,255,255,247,240,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\\n 255,255,255,255,255,255,255,255,255,255,239,255,255,255,255,1,3,0,0,0,31,0,0,0,\\n 0,0,0,0,0,0,0,0,32,0,0,0,0,0,207,188,64,215,255,255,251,255,255,255,\\n 255,255,255,255,255,255,191,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\\n 3,252,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,255,\\n 255,255,127,0,255,255,255,255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,\\n 191,32,255,255,255,255,255,231,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 0,0,0,0,255,255,255,255,255,255,255,255,255,255,63,63,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,0,0,255,1,255,255,255,255,255,231,0,0,0,0,0,0,0,0,\\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\\n 0,0,0,0,0,0,0,0,255,255,63,63,255,255,255,255,63,63,255,170,255,255,255,63,\\n 255,255,255,255,255,255,223,95,220,31,207,15,255,31,220,31,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,2,128,0,0,255,31,0,0,0,0,0,0,0,0,0,0,0,0,\\n 132,252,47,62,80,189,31,242,224,67,0,0,255,255,255,255,24,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,192,255,255,255,255,255,255,3,0,0,255,255,255,255,255,127,255,255,\\n 255,255,255,127,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,120,12,0,\\n 255,255,255,255,191,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,63,0,0,\\n 255,255,255,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,255,255,255,\\n 255,255,255,255,255,255,255,255,255,120,255,255,255,255,255,255,252,7,0,0,0,0,96,7,\\n 0,0,0,0,0,0,255,255,255,255,255,247,255,1,255,255,255,255,255,255,255,255,255,255,\\n 0,0,0,0,0,0,0,0,127,0,248,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,255,255,7,\\n 254,255,255,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,\\n 255,255,15,255,255,255,255,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 255,255,255,255,255,255,7,0,255,255,255,255,255,255,7,0,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,\\n 0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,223,255,255,255,255,255,\\n 255,255,255,223,100,222,255,235,239,255,255,255,255,255,255,255,191,231,223,223,255,255,255,123,\\n 95,252,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,255,255,255,\\n 253,255,255,247,255,255,255,247,255,255,223,255,255,255,223,255,255,127,255,255,255,127,255,255,\\n 255,253,255,255,255,253,255,255,247,15,0,0,0,0,0,0,255,255,255,255,255,255,255,255,\\n 15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,255,255,255,3,255,255,255,3,255,255,255,3,0,0,0,0,0,0,\\n 0,0,0,0,0,0,0,0\\n]);\\n\\n// size: 2976 bytes (compressed to ~2050 bytes after binaryen)\\n// @ts-ignore: decorator\\n@lazy @inline const CASE_IGNORABLES = memory.data([\\n 18,16,19,20,21,22,23,24,25,26,27,28,29,30,31,32,\\n 33,16,16,34,16,16,16,35,36,37,38,39,40,41,16,42,\\n 43,16,16,16,16,16,16,16,16,16,16,16,44,45,46,16,\\n 47,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 48,16,16,16,49,16,50,51,52,53,54,55,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,56,16,16,57,58,\\n 16,59,60,61,16,16,16,16,16,16,62,16,16,63,64,65,\\n 66,67,68,69,70,71,72,73,74,75,76,16,77,78,79,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,16,80,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,81,82,16,16,16,83,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,84,16,16,16,\\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\\n 16,85,86,16,16,16,16,16,16,16,87,16,16,16,16,16,\\n 88,89,90,16,16,16,16,16,91,92,16,16,16,16,16,16,\\n 16,16,16,93,16,16,16,16,16,16,16,16,16,16,16,16,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\\n 0,0,0,0,128,64,0,4,0,0,0,64,1,0,0,0,0,0,0,0,0,161,144,1,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\\n 255,255,255,255,255,255,48,4,176,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,3,0,0,0,0,0,0,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,130,0,0,0,0,\\n 0,0,254,255,255,255,255,191,182,0,0,0,0,0,16,0,63,0,255,23,0,0,0,0,\\n 1,248,255,255,0,0,1,0,0,0,0,0,0,0,0,0,0,0,192,191,255,61,0,0,\\n 0,128,2,0,0,0,255,255,255,7,0,0,0,0,0,0,0,0,0,0,192,255,1,0,\\n 0,0,0,0,0,248,63,36,0,0,192,255,255,63,0,0,0,0,0,14,0,0,0,0,\\n 0,0,0,0,0,0,0,0,0,0,248,255,255,255,255,255,7,0,0,0,0,0,0,20,\\n 254,33,254,0,12,0,2,0,2,0,0,0,0,0,0,16,30,32,0,0,12,0,0,64,\\n 6,0,0,0,0,0,0,16,134,57,2,0,0,0,35,0,6,0,0,0,0,0,0,16,\\n 190,33,0,0,12,0,0,252,2,0,0,0,0,0,0,144,30,32,96,0,12,0,0,0,\\n 4,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,17,0,0,0,0,0,0,192,\\n 193,61,96,0,12,0,0,0,2,0,0,0,0,0,0,144,64,48,0,0,12,0,0,0,\\n 3,0,0,0,0,0,0,24,30,32,0,0,12,0,0,0,2,0,0,0,0,0,0,0,\\n 0,4,92,0,0,0,0,0,0,0,0,0,0,0,242,7,192,127,0,0,0,0,0,0,\\n 0,0,0,0,0,0,242,31,64,63,0,0,0,0,0,0,0,0,0,3,0,0,160,2,\\n 0,0,0,0,0,0,254,127,223,224,255,254,255,255,255,31,64,0,0,0,0,0,0,0,\\n 0,0,0,0,0,224,253,102,0,0,0,195,1,0,30,0,100,32,0,32,0,0,0,0,\\n 0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,224,0,0,0,0,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,0,0,0,28,0,\\n 0,0,12,0,0,0,12,0,0,0,0,0,0,0,176,63,64,254,143,32,0,0,0,0,\\n 0,120,0,0,0,0,0,0,8,0,0,0,0,0,0,0,96,0,0,0,0,2,0,0,\\n 0,0,0,0,0,0,0,0,0,0,0,0,135,1,4,14,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,9,0,0,0,0,\\n 0,0,64,127,229,31,248,159,0,0,0,0,128,0,255,255,1,0,0,0,0,0,0,0,\\n 15,0,0,0,0,0,208,23,4,0,0,0,0,248,15,0,3,0,0,0,60,59,0,0,\\n 0,0,0,0,64,163,3,0,0,0,0,0,0,240,207,0,0,0,0,0,0,0,0,63,\\n 0,0,0,0,0,0,0,0,0,0,247,255,253,33,16,3,0,0,0,0,0,240,255,255,\\n 255,255,255,255,255,7,0,1,0,0,0,248,255,255,255,255,255,255,255,255,255,255,255,251,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,\\n 3,224,0,224,0,224,0,96,0,248,0,3,144,124,0,0,0,0,0,0,223,255,2,128,\\n 0,0,255,31,0,0,0,0,0,0,255,255,255,255,1,0,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,0,0,0,0,0,0,128,3,0,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,128,0,128,0,0,0,0,0,0,0,0,\\n 0,0,0,0,255,255,255,255,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,60,62,8,\\n 0,0,0,0,0,0,0,0,0,0,0,126,0,0,0,0,0,0,0,0,0,0,0,112,\\n 0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,0,16,0,0,0,0,0,0,\\n 0,0,0,0,0,128,247,191,0,0,0,240,0,0,0,0,0,0,0,0,0,0,3,0,\\n 255,255,255,255,3,0,0,0,0,0,0,0,0,0,1,0,0,7,0,0,0,0,0,0,\\n 0,0,0,0,0,0,0,3,68,8,0,0,96,16,0,0,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,0,0,48,0,0,0,255,255,3,128,0,0,0,0,192,63,0,0,\\n 128,255,3,0,0,0,0,0,7,0,0,0,0,0,200,51,0,128,0,0,96,0,0,0,\\n 0,0,0,0,0,126,102,0,8,16,0,0,0,0,1,16,0,0,0,0,0,0,157,193,\\n 2,0,0,32,0,48,88,0,0,0,0,0,0,0,0,0,0,0,0,248,0,14,0,0,\\n 0,0,0,0,0,0,0,0,0,0,0,0,32,33,0,0,0,0,0,64,0,0,0,0,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,255,3,0,0,0,0,0,0,0,\\n 255,255,8,0,255,255,0,0,0,0,36,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,0,128,128,64,0,4,0,0,0,64,1,0,0,0,0,0,1,0,\\n 0,0,0,192,0,0,0,0,0,0,0,0,8,0,0,14,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,7,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,110,240,0,0,0,0,0,135,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,0,0,0,\\n 0,0,0,0,240,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 192,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 2,0,0,0,0,0,0,255,127,0,0,0,0,0,0,128,3,0,0,0,0,0,120,38,\\n 0,32,0,0,0,0,0,0,7,0,0,0,128,239,31,0,0,0,0,0,0,0,8,0,\\n 3,0,0,0,0,0,192,127,0,158,0,0,0,0,0,0,0,0,0,0,0,128,211,64,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,248,7,0,0,\\n 3,0,0,0,0,0,0,24,1,0,0,0,192,31,31,0,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,92,0,0,64,0,0,0,0,\\n 0,0,0,0,0,0,248,133,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,176,1,0,0,48,0,0,0,0,\\n 0,0,0,0,0,0,248,167,1,0,0,0,0,0,0,0,0,0,0,0,0,40,191,0,\\n 0,0,0,0,0,0,0,0,0,0,0,224,188,15,0,0,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,255,6,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,0,88,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 0,0,240,12,1,0,0,0,254,7,0,0,0,0,248,121,128,0,126,14,0,0,0,0,\\n 0,252,127,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,127,191,\\n 0,0,0,0,0,0,0,0,0,0,252,255,255,252,109,0,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,126,180,191,0,0,0,0,0,0,0,0,0,163,0,0,0,0,0,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,255,1,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,31,0,0,0,0,0,0,0,127,0,15,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 0,128,0,0,0,0,0,0,0,128,255,255,0,0,0,0,0,0,0,0,27,0,0,0,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,15,0,0,0,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,3,248,255,\\n 231,15,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 255,255,255,255,255,255,127,248,255,255,255,255,255,31,32,0,16,0,0,248,254,255,0,0,\\n 0,0,0,0,0,0,0,0,127,255,255,249,219,7,0,0,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,63,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,240,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,0,0,0,0,127,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 240,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\\n 0,0,0,0,0,0,0,248\\n]);\\n\\n// @ts-ignore: decorator\\n@lazy @inline const LOWER127 = memory.data([\\n 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,\\n 16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,\\n 32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,\\n 48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,\\n 64,\\n 97,98,99,100,101,102,103,104,105,106,107,108,109,\\n 110,111,112,113,114,115,116,117,118,119,120,121,122,\\n 91,92,93,94,95,96,\\n 97,98,99,100,101,102,103,104,105,106,107,108,109,\\n 110,111,112,113,114,115,116,117,118,119,120,121,122,\\n 123,124,125,126,127\\n]);\\n\\n// @ts-ignore: decorator\\n@lazy @inline const UPPER127 = memory.data([\\n 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,\\n 16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,\\n 32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,\\n 48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,\\n 64,\\n 65,66,67,68,69,70,71,72,73,74,75,76,77,\\n 78,79,80,81,82,83,84,85,86,87,88,89,90,\\n 91,92,93,94,95,96,\\n 65,66,67,68,69,70,71,72,73,74,75,76,77,\\n 78,79,80,81,82,83,84,85,86,87,88,89,90,\\n 123,124,125,126,127\\n]);\\n\\n// 23 * 8 = 184 bytes\\n// @ts-ignore: decorator\\n@lazy @inline const POWERS10 = memory.data([\\n 1e00, 1e01, 1e02, 1e03, 1e04, 1e05, 1e06, 1e07, 1e08, 1e09,\\n 1e10, 1e11, 1e12, 1e13, 1e14, 1e15, 1e16, 1e17, 1e18, 1e19,\\n 1e20, 1e21, 1e22\\n]);\\n\\n// @ts-ignore: decorator\\n@inline\\nexport const enum CharCode {\\n PERCENT = 0x25,\\n PLUS = 0x2B,\\n MINUS = 0x2D,\\n DOT = 0x2E,\\n _0 = 0x30,\\n _1 = 0x31,\\n _2 = 0x32,\\n _3 = 0x33,\\n _4 = 0x34,\\n _5 = 0x35,\\n _6 = 0x36,\\n _7 = 0x37,\\n _8 = 0x38,\\n _9 = 0x39,\\n A = 0x41,\\n B = 0x42,\\n E = 0x45,\\n I = 0x49,\\n N = 0x4E,\\n O = 0x4F,\\n X = 0x58,\\n Z = 0x5A,\\n a = 0x61,\\n b = 0x62,\\n e = 0x65,\\n n = 0x6E,\\n o = 0x6F,\\n u = 0x75,\\n x = 0x78,\\n z = 0x7A\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nexport function isAscii(c: u32): bool {\\n return !(c >> 7);\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nexport function isLower8(c: u32): bool {\\n return c - CharCode.a < 26;\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nexport function isUpper8(c: u32): bool {\\n return c - CharCode.A < 26;\\n}\\n\\nexport function isSpace(c: u32): bool {\\n if (c < 0x1680) { // < (1)\\n // , , , , , and \\n // (c == 0x20 || c == 0xA0) was optimized to (c | 0x80) == 0xA0\\n return ((c | 0x80) == 0xA0) || (c - 0x09 <= 0x0D - 0x09);\\n }\\n if (c - 0x2000 <= 0x200A - 0x2000) return true;\\n switch (c) {\\n case 0x1680: // (1)\\n case 0x2028: // (2)\\n case 0x2029: // \\n case 0x202F: // \\n case 0x205F: // \\n case 0x3000: // \\n case 0xFEFF: return true; // \\n }\\n return false;\\n}\\n\\nexport function isAlpha(c: u32): bool {\\n if (isAscii(c)) return (c | 32) - CharCode.a < 26;\\n if (c < 0x20000) {\\n // @ts-ignore: cast\\n return stagedBinaryLookup(ALPHA_TABLE, c);\\n }\\n return c < 0x2FFFE;\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nexport function isCased(c: u32): bool {\\n // @ts-ignore: cast\\n return c < 0x1F18A && stagedBinaryLookup(CASED, c);\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nexport function isCaseIgnorable(c: u32): bool {\\n // @ts-ignore: cast\\n return c < 0xE01F0 && stagedBinaryLookup(CASE_IGNORABLES, c);\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nexport function isFinalSigma(buffer: usize, index: isize, len: isize): bool {\\n const lookaheadLimit = 30; // max lookahead limit\\n let found = false;\\n let pos = index;\\n let minPos = max(0, pos - lookaheadLimit);\\n while (pos > minPos) {\\n let c = codePointBefore(buffer, pos);\\n if (!isCaseIgnorable(c)) {\\n if (isCased(c)) {\\n found = true;\\n } else {\\n return false;\\n }\\n }\\n pos -= isize(c >= 0x10000) + 1;\\n }\\n if (!found) return false;\\n pos = index + 1;\\n let maxPos = min(pos + lookaheadLimit, len);\\n while (pos < maxPos) {\\n let c = load(buffer + (pos << 1));\\n if (u32((c & 0xFC00) == 0xD800) & u32(pos + 1 != len)) {\\n let c1 = load(buffer + (pos << 1), 2);\\n if ((c1 & 0xFC00) == 0xDC00) {\\n c = (c - 0xD800 << 10) + (c1 - 0xDC00) + 0x10000;\\n }\\n }\\n if (!isCaseIgnorable(c)) {\\n return !isCased(c);\\n }\\n pos += isize(c >= 0x10000) + 1;\\n }\\n return true;\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction codePointBefore(buffer: usize, index: isize): i32 {\\n if (index <= 0) return -1;\\n let c = load(buffer + (index - 1 << 1));\\n if (u32((c & 0xFC00) == 0xDC00) & u32(index - 2 >= 0)) {\\n let c1 = load(buffer + (index - 2 << 1));\\n if ((c1 & 0xFC00) == 0xD800) {\\n return ((c1 & 0x3FF) << 10) + (c & 0x3FF) + 0x10000;\\n }\\n }\\n return (c & 0xF800) == 0xD800 ? 0xFFFD : c;\\n}\\n\\n// Search routine for two-staged lookup tables\\nfunction stagedBinaryLookup(table: usize, c: u32): bool {\\n return ((load(table + (load(table + (c >>> 8)) << 5) + ((c & 255) >> 3)) >>> (c & 7)) & 1);\\n}\\n\\nexport function compareImpl(str1: string, index1: usize, str2: string, index2: usize, len: usize): i32 {\\n let ptr1 = changetype(str1) + (index1 << 1);\\n let ptr2 = changetype(str2) + (index2 << 1);\\n if (ASC_SHRINK_LEVEL < 2) {\\n if (len >= 4 && !((ptr1 & 7) | (ptr2 & 7))) {\\n do {\\n if (load(ptr1) != load(ptr2)) break;\\n ptr1 += 8;\\n ptr2 += 8;\\n len -= 4;\\n } while (len >= 4);\\n }\\n }\\n while (len--) {\\n let a = load(ptr1);\\n let b = load(ptr2);\\n if (a != b) return a - b;\\n ptr1 += 2;\\n ptr2 += 2;\\n }\\n return 0;\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nexport function toLower8(c: u32): u32 {\\n if (ASC_SHRINK_LEVEL > 0) {\\n return c | u32(isUpper8(c)) << 5;\\n } else {\\n return load(LOWER127 + c);\\n }\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nexport function toUpper8(c: u32): u32 {\\n if (ASC_SHRINK_LEVEL > 0) {\\n return c & ~(u32(isLower8(c)) << 5);\\n } else {\\n return load(UPPER127 + c);\\n }\\n}\\n\\n/** Parses a string to an integer (usually), using the specified radix. */\\nexport function strtol(str: string, radix: i32 = 0): T {\\n let len = str.length;\\n if (!len) {\\n if (isFloat()) {\\n // @ts-ignore: cast\\n return NaN;\\n } else {\\n // @ts-ignore: cast\\n return 0;\\n }\\n }\\n\\n let ptr = changetype(str) /* + HEAD -> offset */;\\n let code = load(ptr);\\n\\n // trim white spaces\\n while (isSpace(code)) {\\n code = load(ptr += 2);\\n --len;\\n }\\n // determine sign\\n // @ts-ignore\\n let sign: T = 1;\\n if (code == CharCode.MINUS || code == CharCode.PLUS) {\\n if (!--len) {\\n if (isFloat()) {\\n // @ts-ignore: cast\\n return NaN;\\n } else {\\n // @ts-ignore: cast\\n return 0;\\n }\\n }\\n if (code == CharCode.MINUS) {\\n // @ts-ignore: type\\n sign = -1;\\n }\\n code = load(ptr += 2);\\n }\\n\\n // See https://tc39.es/ecma262/#sec-parseint-string-radix\\n if (radix) {\\n if (radix < 2 || radix > 36) {\\n if (isFloat()) {\\n // @ts-ignore: cast\\n return NaN;\\n } else {\\n // @ts-ignore: cast\\n return 0;\\n }\\n }\\n // handle case as parseInt(\\\"0xFF\\\", 16) by spec\\n if (radix == 16) {\\n if (\\n len > 2 &&\\n code == CharCode._0 &&\\n (load(ptr, 2) | 32) == CharCode.x\\n ) {\\n ptr += 4; len -= 2;\\n }\\n }\\n } else {\\n // determine radix by literal prefix\\n if (code == CharCode._0 && len > 2) {\\n switch (load(ptr, 2) | 32) {\\n case CharCode.b: {\\n ptr += 4; len -= 2;\\n radix = 2;\\n break;\\n }\\n case CharCode.o: {\\n ptr += 4; len -= 2;\\n radix = 8;\\n break;\\n }\\n case CharCode.x: {\\n ptr += 4; len -= 2;\\n radix = 16;\\n break;\\n }\\n }\\n }\\n if (!radix) radix = 10;\\n }\\n\\n // calculate value\\n // @ts-ignore: type\\n let num: T = 0;\\n let initial = len - 1;\\n while (len--) {\\n code = load(ptr);\\n if (code - CharCode._0 < 10) {\\n code -= CharCode._0;\\n } else if (code - CharCode.A <= (CharCode.Z - CharCode.A)) {\\n code -= CharCode.A - 10;\\n } else if (code - CharCode.a <= (CharCode.z - CharCode.a)) {\\n code -= CharCode.a - 10;\\n }\\n if (code >= radix) {\\n if (initial == len) {\\n if (isFloat()) {\\n // @ts-ignore: cast\\n return NaN;\\n } else {\\n // @ts-ignore: cast\\n return 0;\\n }\\n }\\n break;\\n }\\n // @ts-ignore: type\\n num = num * radix + code;\\n ptr += 2;\\n }\\n // @ts-ignore: type\\n return sign * num;\\n}\\n\\nexport function strtod(str: string): f64 {\\n let len = str.length;\\n if (!len) return NaN;\\n\\n let ptr = changetype(str);\\n let code = load(ptr);\\n\\n let sign = 1.0;\\n // skip white spaces\\n while (len && isSpace(code)) {\\n code = load(ptr += 2);\\n --len;\\n }\\n if (!len) return NaN;\\n\\n // try parse '-' or '+'\\n if (code == CharCode.MINUS) {\\n if (!--len) return NaN;\\n code = load(ptr += 2);\\n sign = -1;\\n } else if (code == CharCode.PLUS) {\\n if (!--len) return NaN;\\n code = load(ptr += 2);\\n }\\n\\n // try parse Infinity\\n if (len >= 8 && code == CharCode.I) {\\n if (\\n load(ptr, 0) == 0x690066006E0049 && // ifnI\\n load(ptr, 8) == 0x7900740069006E // ytin\\n ) {\\n return Infinity * sign;\\n }\\n return NaN;\\n }\\n // validate next symbol\\n if (code != CharCode.DOT && (code - CharCode._0) >= 10) {\\n return NaN;\\n }\\n let savedPtr = ptr;\\n // skip zeros\\n while (code == CharCode._0) {\\n code = load(ptr += 2);\\n --len;\\n }\\n if (len <= 0) return 0.0 * sign;\\n const capacity = 19; // int(64 * 0.3010)\\n let pointed = false;\\n let consumed = 0;\\n let position = 0;\\n let x: u64 = 0;\\n if (code == CharCode.DOT) {\\n let noDigits = !(savedPtr - ptr);\\n ptr += 2; --len;\\n if (!len && noDigits) return NaN;\\n for (pointed = true; (code = load(ptr)) == CharCode._0; --position, ptr += 2) --len;\\n if (len <= 0) return 0.0 * sign;\\n if (!position && noDigits && code - CharCode._0 >= 10) return NaN;\\n }\\n for (let digit = code - CharCode._0; digit < 10 || (code == CharCode.DOT && !pointed); digit = code - CharCode._0) {\\n if (digit < 10) {\\n x = consumed < capacity ? 10 * x + digit : x | u64(!!digit);\\n ++consumed;\\n } else {\\n position = consumed;\\n pointed = true;\\n }\\n if (!--len) break;\\n code = load(ptr += 2);\\n }\\n\\n if (!pointed) position = consumed;\\n return copysign(scientific(x, position - min(capacity, consumed) + parseExp(ptr, len)), sign);\\n}\\n\\nexport function strtob(str: string): bool {\\n let size: usize = str.length << 1;\\n let offset: usize = 0;\\n if (size > 8) {\\n // try trim end whitespaces first\\n while (size && isSpace(load(changetype(str) + size - 2))) size -= 2;\\n if (size > 8) {\\n // trim start whitespaces\\n while (offset < size && isSpace(load(changetype(str) + offset))) offset += 2;\\n size -= offset;\\n }\\n }\\n if (size != 8) return false;\\n // \\\"true\\\" represents as \\\\00\\\\e\\\\00\\\\u\\\\00\\\\e\\\\00\\\\t (00 65 00 75 00 72 00 74)\\n return load(changetype(str) + offset) == 0x0065_0075_0072_0074;\\n}\\n\\nexport function joinBooleanArray(dataStart: usize, length: i32, separator: string): string {\\n let lastIndex = length - 1;\\n if (lastIndex < 0) return \\\"\\\";\\n if (!lastIndex) return select(\\\"true\\\", \\\"false\\\", load(dataStart));\\n\\n let sepLen = separator.length;\\n let valueLen = 5; // max possible length of element len(\\\"false\\\")\\n let estLen = (valueLen + sepLen) * lastIndex + valueLen;\\n let result = changetype(__new(estLen << 1, idof()));\\n let offset = 0;\\n let value: bool;\\n for (let i = 0; i < lastIndex; ++i) {\\n value = load(dataStart + i);\\n valueLen = 4 + i32(!value);\\n memory.copy(\\n changetype(result) + (offset << 1),\\n changetype(select(\\\"true\\\", \\\"false\\\", value)),\\n valueLen << 1\\n );\\n offset += valueLen;\\n if (sepLen) {\\n memory.copy(\\n changetype(result) + (offset << 1),\\n changetype(separator),\\n sepLen << 1\\n );\\n offset += sepLen;\\n }\\n }\\n value = load(dataStart + lastIndex);\\n valueLen = 4 + i32(!value);\\n memory.copy(\\n changetype(result) + (offset << 1),\\n changetype(select(\\\"true\\\", \\\"false\\\", value)),\\n valueLen << 1\\n );\\n offset += valueLen;\\n\\n if (estLen > offset) return result.substring(0, offset);\\n return result;\\n}\\n\\nexport function joinIntegerArray(dataStart: usize, length: i32, separator: string): string {\\n let lastIndex = length - 1;\\n if (lastIndex < 0) return \\\"\\\";\\n if (!lastIndex) {\\n let value = load(dataStart);\\n if (isSigned()) {\\n if (sizeof() <= 4) {\\n // @ts-ignore: type\\n return changetype(itoa32(value, 10));\\n } else {\\n // @ts-ignore: type\\n return changetype(itoa64(value, 10));\\n }\\n } else {\\n if (sizeof() <= 4) {\\n // @ts-ignore: type\\n return changetype(utoa32(value, 10));\\n } else {\\n // @ts-ignore: type\\n return changetype(utoa64(value, 10));\\n }\\n }\\n }\\n\\n let sepLen = separator.length;\\n const valueLen = (sizeof() <= 4 ? 10 : 20) + i32(isSigned());\\n let estLen = (valueLen + sepLen) * lastIndex + valueLen;\\n let result = changetype(__new(estLen << 1, idof()));\\n let offset = 0;\\n let value: T;\\n for (let i = 0; i < lastIndex; ++i) {\\n value = load(dataStart + (i << alignof()));\\n // @ts-ignore: type\\n offset += itoa_buffered(changetype(result) + (offset << 1), value);\\n if (sepLen) {\\n memory.copy(\\n changetype(result) + (offset << 1),\\n changetype(separator),\\n sepLen << 1\\n );\\n offset += sepLen;\\n }\\n }\\n value = load(dataStart + (lastIndex << alignof()));\\n // @ts-ignore: type\\n offset += itoa_buffered(changetype(result) + (offset << 1), value);\\n if (estLen > offset) return result.substring(0, offset);\\n return result;\\n}\\n\\nexport function joinFloatArray(dataStart: usize, length: i32, separator: string): string {\\n let lastIndex = length - 1;\\n if (lastIndex < 0) return \\\"\\\";\\n if (!lastIndex) {\\n return changetype(dtoa(\\n // @ts-ignore: type\\n load(dataStart))\\n );\\n }\\n\\n const valueLen = MAX_DOUBLE_LENGTH;\\n let sepLen = separator.length;\\n let estLen = (valueLen + sepLen) * lastIndex + valueLen;\\n let result = changetype(__new(estLen << 1, idof()));\\n let offset = 0;\\n let value: T;\\n for (let i = 0; i < lastIndex; ++i) {\\n value = load(dataStart + (i << alignof()));\\n // @ts-ignore: type\\n offset += dtoa_buffered(changetype(result) + (offset << 1), value);\\n if (sepLen) {\\n memory.copy(\\n changetype(result) + (offset << 1),\\n changetype(separator),\\n sepLen << 1\\n );\\n offset += sepLen;\\n }\\n }\\n value = load(dataStart + (lastIndex << alignof()));\\n // @ts-ignore: type\\n offset += dtoa_buffered(changetype(result) + (offset << 1), value);\\n if (estLen > offset) return result.substring(0, offset);\\n return result;\\n}\\n\\nexport function joinStringArray(dataStart: usize, length: i32, separator: string): string {\\n let lastIndex = length - 1;\\n if (lastIndex < 0) return \\\"\\\";\\n if (!lastIndex) {\\n // @ts-ignore: type\\n return load(dataStart) || \\\"\\\";\\n }\\n let estLen = 0;\\n let value: string;\\n for (let i = 0; i < length; ++i) {\\n value = load(dataStart + (i << alignof()));\\n if (changetype(value) != 0) estLen += value.length;\\n }\\n let offset = 0;\\n let sepLen = separator.length;\\n let result = changetype(__new((estLen + sepLen * lastIndex) << 1, idof()));\\n for (let i = 0; i < lastIndex; ++i) {\\n value = load(dataStart + (i << alignof()));\\n if (changetype(value) != 0) {\\n let valueLen = value.length;\\n memory.copy(\\n changetype(result) + (offset << 1),\\n changetype(value),\\n valueLen << 1\\n );\\n offset += valueLen;\\n }\\n if (sepLen) {\\n memory.copy(\\n changetype(result) + (offset << 1),\\n changetype(separator),\\n sepLen << 1\\n );\\n offset += sepLen;\\n }\\n }\\n value = load(dataStart + (lastIndex << alignof()));\\n if (changetype(value) != 0) {\\n memory.copy(\\n changetype(result) + (offset << 1),\\n changetype(value),\\n value.length << 1\\n );\\n }\\n return result;\\n}\\n\\nexport function joinReferenceArray(dataStart: usize, length: i32, separator: string): string {\\n let lastIndex = length - 1;\\n if (lastIndex < 0) return \\\"\\\";\\n let value: T;\\n if (!lastIndex) {\\n value = load(dataStart);\\n // @ts-ignore: type\\n return value != null ? value.toString() : \\\"\\\";\\n }\\n let result = \\\"\\\";\\n let sepLen = separator.length;\\n for (let i = 0; i < lastIndex; ++i) {\\n value = load(dataStart + (i << alignof()));\\n // @ts-ignore: type\\n if (value != null) result += value.toString();\\n if (sepLen) result += separator;\\n }\\n value = load(dataStart + (lastIndex << alignof()));\\n // @ts-ignore: type\\n if (value != null) result += value.toString();\\n return result;\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction scientific(significand: u64, exp: i32): f64 {\\n if (!significand || exp < -342) return 0;\\n if (exp > 308) return Infinity;\\n // Try use fast path\\n // Use fast path for string-to-double conversion if possible\\n // see http://www.exploringbinary.com/fast-path-decimal-to-floating-point-conversion\\n // Simple integer\\n let significandf = significand;\\n if (!exp) return significandf;\\n if (exp > 22 && exp <= 22 + 15) {\\n significandf *= pow10(exp - 22);\\n exp = 22;\\n }\\n if (significand <= 9007199254740991 && abs(exp) <= 22) {\\n if (exp > 0) return significandf * pow10(exp);\\n return significandf / pow10(-exp);\\n } else if (exp < 0) {\\n return scaledown(significand, exp);\\n } else {\\n return scaleup(significand, exp);\\n }\\n}\\n\\n// Adopted from metallic lib:\\n// https://github.com/jdh8/metallic/blob/master/src/stdlib/parse/scientific.h\\n// @ts-ignore: decorator\\n@inline\\nfunction scaledown(significand: u64, exp: i32): f64 {\\n const denom: u64 = 6103515625; // 1e14 * 0x1p-14\\n const scale = reinterpret(0x3F06849B86A12B9B); // 1e-14 * 0x1p32\\n\\n let shift = clz(significand);\\n significand <<= shift;\\n shift = exp - shift;\\n\\n for (; exp <= -14; exp += 14) {\\n let q = significand / denom;\\n let r = significand % denom;\\n let s = clz(q);\\n significand = (q << s) + nearest(scale * (r << (s - 18)));\\n shift -= s;\\n }\\n let b = ipow32(5, -exp);\\n let q = significand / b;\\n let r = significand % b;\\n let s = clz(q);\\n significand = (q << s) + (reinterpret(reinterpret(r) + (s << 52)) / b);\\n shift -= s;\\n\\n return NativeMath.scalbn(significand, shift);\\n}\\n\\n// Adopted from metallic lib:\\n// https://github.com/jdh8/metallic/blob/master/src/stdlib/parse/scientific.h\\n// @ts-ignore: decorator\\n@inline\\nfunction scaleup(significand: u64, exp: i32): f64 {\\n const coeff: u32 = 1220703125; // 1e13 * 0x1p-13;\\n let shift = ctz(significand);\\n significand >>= shift;\\n shift += exp;\\n\\n __fixmulShift = shift;\\n for (; exp >= 13; exp -= 13) {\\n significand = fixmul(significand, coeff);\\n }\\n significand = fixmul(significand, ipow32(5, exp));\\n shift = __fixmulShift;\\n return NativeMath.scalbn(significand, shift);\\n}\\n\\n// Adopted from metallic lib:\\n// https://github.com/jdh8/metallic/blob/master/src/stdlib/parse/scientific.h\\n// @ts-ignore: decorator\\n@inline\\nfunction parseExp(ptr: usize, len: i32): i32 {\\n let sign = 1, magnitude = 0;\\n let code = load(ptr);\\n // check code is 'e' or 'E'\\n if ((code | 32) != CharCode.e) return 0;\\n\\n if (!--len) return 0;\\n code = load(ptr += 2);\\n if (code == CharCode.MINUS) {\\n if (!--len) return 0;\\n code = load(ptr += 2);\\n sign = -1;\\n } else if (code == CharCode.PLUS) {\\n if (!--len) return 0;\\n code = load(ptr += 2);\\n }\\n // skip zeros\\n while (code == CharCode._0) {\\n if (!--len) return 0;\\n code = load(ptr += 2);\\n }\\n for (let digit: u32 = code - CharCode._0; len && digit < 10; digit = code - CharCode._0) {\\n if (magnitude >= 3200) return sign * 3200;\\n magnitude = 10 * magnitude + digit;\\n code = load(ptr += 2);\\n --len;\\n }\\n return sign * magnitude;\\n}\\n\\n// @ts-ignore: decorator\\n@lazy let __fixmulShift: u64 = 0;\\n\\n// Adopted from metallic lib:\\n// https://github.com/jdh8/metallic/blob/master/src/stdlib/parse/scientific.h\\n// @ts-ignore: decorator\\n@inline\\nfunction fixmul(a: u64, b: u32): u64 {\\n let low = (a & 0xFFFFFFFF) * b;\\n let high = (a >> 32) * b + (low >> 32);\\n let overflow = (high >> 32);\\n let space = clz(overflow);\\n let revspace: u64 = 32 - space;\\n __fixmulShift += revspace;\\n return (high << space | (low & 0xFFFFFFFF) >> revspace) + (low << space >> 31 & 1);\\n}\\n\\n// @ts-ignore: decorator\\n@inline\\nfunction pow10(n: i32): f64 {\\n // argument `n` should bounds in [0, 22] range\\n return load(POWERS10 + (n << alignof()));\\n}\\n\",\n \"util/uri\": \"import { E_URI_MALFORMED } from \\\"./error\\\";\\nimport { CharCode } from \\\"./string\\\";\\n\\n// Truncated lookup boolean table that helps us quickly determine\\n// if a char needs to be escaped for URIs (RFC 2396).\\n// @ts-ignore: decorator\\n@lazy export const URI_UNSAFE = memory.data([\\n/* skip 32 + 1 always set to '1' head slots\\n */ 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0,\\n 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, /*\\n skip 128 + 1 always set to '1' tail slots */\\n]);\\n\\n// Truncated lookup boolean table that helps us quickly determine\\n// if a char needs to be escaped for URLs (RFC 3986).\\n// @ts-ignore: decorator\\n@lazy export const URL_UNSAFE = memory.data([\\n/* skip 32 + 1 always set to '1' head slots\\n */ 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1,\\n 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0,\\n 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, /*\\n skip 128 + 1 always set to '1' tail slots */\\n]);\\n\\n// Truncated lookup boolean table for determine reserved chars: ;/?:@&=+$,#\\n// @ts-ignore: decorator\\n@lazy export const URI_RESERVED = memory.data([\\n /* skip 32 + 3 always set to '0' head slots\\n */ 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1,\\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1,\\n 1, /* skip 191 always set to '0' tail slots */\\n]);\\n\\nexport function encode(src: usize, len: usize, table: usize): usize {\\n if (!len) return src;\\n\\n let i: usize = 0, offset: usize = 0, outSize = len << 1;\\n let dst = __new(outSize, idof());\\n\\n while (i < len) {\\n let org = i;\\n let c: u32, c1: u32;\\n // fast scan a check chars until it valid ASCII\\n // and safe for copying withoud escaping.\\n do {\\n c = load(src + (i << 1));\\n // is it valid ASII and safe?\\n if (c - 33 < 94) { // 127 - 33\\n if (load(table + (c - 33))) break;\\n } else break;\\n } while (++i < len);\\n\\n // if we have some safe range of sequence just copy it without encoding\\n if (i > org) {\\n let size = i - org << 1;\\n if (offset + size > outSize) {\\n outSize = offset + size;\\n dst = __renew(dst, outSize);\\n }\\n // TODO: should we optimize for short cases like 2 byte size?\\n memory.copy(\\n dst + offset,\\n src + (org << 1),\\n size\\n );\\n offset += size;\\n // return if we reach end on input string\\n if (i >= len) break;\\n }\\n\\n // decode UTF16 with checking for unpaired surrogates\\n if (c >= 0xD800) {\\n if (c >= 0xDC00 && c <= 0xDFFF) {\\n throw new URIError(E_URI_MALFORMED);\\n }\\n if (c <= 0xDBFF) {\\n if (i >= len) {\\n throw new URIError(E_URI_MALFORMED);\\n }\\n c1 = load(src + (++i << 1));\\n if (c1 < 0xDC00 || c1 > 0xDFFF) {\\n throw new URIError(E_URI_MALFORMED);\\n }\\n c = (((c & 0x3FF) << 10) | (c1 & 0x3FF)) + 0x10000;\\n }\\n }\\n\\n let estSize = offset + (c < 0x80 ? 1 * 6 : 4 * 6);\\n if (estSize > outSize) {\\n // doubling estimated size but only for greater than one\\n // input lenght due to we already estemated it for worst case\\n outSize = len > 1 ? estSize << 1 : estSize;\\n dst = __renew(dst, outSize);\\n }\\n\\n if (c < 0x80) {\\n // encode ASCII unsafe code point\\n storeHex(dst, offset, c);\\n offset += 6;\\n } else {\\n // encode UTF-8 unsafe code point\\n if (c < 0x800) {\\n storeHex(dst, offset, (c >> 6) | 0xC0);\\n offset += 6;\\n } else {\\n if (c < 0x10000) {\\n storeHex(dst, offset, (c >> 12) | 0xE0);\\n offset += 6;\\n } else {\\n storeHex(dst, offset, (c >> 18) | 0xF0);\\n offset += 6;\\n storeHex(dst, offset, (c >> 12 & 0x3F) | 0x80);\\n offset += 6;\\n }\\n storeHex(dst, offset, (c >> 6 & 0x3F) | 0x80);\\n offset += 6;\\n }\\n storeHex(dst, offset, (c & 0x3F) | 0x80);\\n offset += 6;\\n }\\n ++i;\\n }\\n // shink output string buffer if necessary\\n if (outSize > offset) {\\n dst = __renew(dst, offset);\\n }\\n return dst;\\n}\\n\\nexport function decode(src: usize, len: usize, component: bool): usize {\\n if (!len) return src;\\n\\n let i: usize = 0, offset: usize = 0, ch: u32 = 0;\\n let dst = __new(len << 1, idof());\\n\\n while (i < len) {\\n let org = i;\\n while (i < len && (ch = load(src + (i << 1))) != CharCode.PERCENT) i++;\\n\\n if (i > org) {\\n let size = i - org << 1;\\n // TODO: should we optimize for short cases like 2 byte size?\\n memory.copy(\\n dst + offset,\\n src + (org << 1),\\n size\\n );\\n offset += size;\\n if (i >= len) break;\\n }\\n\\n // decode hex\\n if (\\n i + 2 >= len ||\\n ch != CharCode.PERCENT ||\\n (ch = loadHex(src, i + 1 << 1)) == -1\\n ) throw new URIError(E_URI_MALFORMED);\\n\\n i += 3;\\n if (ch < 0x80) {\\n if (!component && isReserved(ch)) {\\n ch = CharCode.PERCENT;\\n i -= 2;\\n }\\n } else {\\n // decode UTF-8 sequence\\n let nb = utf8LenFromUpperByte(ch);\\n // minimal surrogate: 2 => 0x80, 3 => 0x800, 4 => 0x10000, _ => -1\\n let lo: u32 = 1 << (17 * nb >> 2) - 1;\\n // mask: 2 => 31, 3 => 15, 4 => 7, _ => 0\\n ch &= nb ? (0x80 >> nb) - 1 : 0;\\n\\n while (--nb != 0) {\\n let c1: u32;\\n // decode hex\\n if (\\n i + 2 >= len ||\\n load(src + (i << 1)) != CharCode.PERCENT ||\\n (c1 = loadHex(src, i + 1 << 1)) == -1\\n ) throw new URIError(E_URI_MALFORMED);\\n\\n i += 3;\\n if ((c1 & 0xC0) != 0x80) {\\n ch = 0;\\n break;\\n }\\n ch = (ch << 6) | (c1 & 0x3F);\\n }\\n\\n // check if UTF8 code point properly fit into invalid UTF16 encoding\\n if (ch < lo || lo == -1 || ch > 0x10FFFF || (ch >= 0xD800 && ch < 0xE000)) {\\n throw new URIError(E_URI_MALFORMED);\\n }\\n\\n // encode UTF16\\n if (ch >= 0x10000) {\\n ch -= 0x10000;\\n let lo = ch >> 10 | 0xD800;\\n let hi = (ch & 0x03FF) | 0xDC00;\\n store(dst + offset, lo | (hi << 16));\\n offset += 4;\\n continue;\\n }\\n }\\n store(dst + offset, ch);\\n offset += 2;\\n }\\n\\n assert(offset <= (len << 1));\\n // shink output string buffer if necessary\\n if ((len << 1) > offset) {\\n dst = __renew(dst, offset);\\n }\\n return dst;\\n}\\n\\nfunction storeHex(dst: usize, offset: usize, ch: u32): void {\\n // @ts-ignore: decorator\\n const HEX_CHARS = memory.data([\\n 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\\n 0x38, 0x39, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46\\n ]);\\n\\n store(dst + offset, CharCode.PERCENT, 0); // %\\n store(\\n dst + offset,\\n load(HEX_CHARS + (ch >> 4 & 0x0F)) |\\n load(HEX_CHARS + (ch & 0x0F)) << 16,\\n 2\\n ); // XX\\n}\\n\\nfunction loadHex(src: usize, offset: usize): u32 {\\n let c0 = load(src + offset, 0);\\n let c1 = load(src + offset, 2);\\n return isHex(c0) && isHex(c1)\\n ? fromHex(c0) << 4 | fromHex(c1)\\n : -1;\\n}\\n\\n// @ts-ignore: decorator\\n@inline function fromHex(ch: u32): u32 {\\n return (ch | 32) % 39 - 9;\\n}\\n\\n// @ts-ignore: decorator\\n@inline function utf8LenFromUpperByte(c0: u32): u32 {\\n // same as\\n // if (c0 - 0xC0 <= 0xDF - 0xC0) return 2;\\n // if (c0 - 0xE0 <= 0xEF - 0xE0) return 3;\\n // if (c0 - 0xF0 <= 0xF7 - 0xF0) return 4;\\n // return 0;\\n return c0 - 0xC0 < 56\\n ? clz(~(c0 << 24))\\n : 0;\\n}\\n\\n// @ts-ignore: decorator\\n@inline function isReserved(ch: u32): bool {\\n return ch - 35 < 30\\n ? load(URI_RESERVED + (ch - 35))\\n : false;\\n}\\n\\n// @ts-ignore: decorator\\n@inline function isHex(ch: u32): bool {\\n return (ch - CharCode._0 < 10) || ((ch | 32) - CharCode.a < 6);\\n}\\n\",\n \"vector\": \"/** Vector abstraction. */\\n@final @unmanaged\\nexport abstract class V128 {\\n}\\n\"\n};\nexport const definitionFiles = {\n \"assembly\": \"/**\\n * Environment definitions for compiling AssemblyScript to WebAssembly using asc.\\n * @module std/assembly\\n *//***/\\n\\n/// \\n\\n// Types\\n\\n/** An 8-bit signed integer. */\\ndeclare type i8 = number;\\n/** A 16-bit signed integer. */\\ndeclare type i16 = number;\\n/** A 32-bit signed integer. */\\ndeclare type i32 = number;\\n/** A 64-bit signed integer. */\\ndeclare type i64 = number;\\n/** A 32-bit signed integer when targeting 32-bit WebAssembly or a 64-bit signed integer when targeting 64-bit WebAssembly. */\\ndeclare type isize = number;\\n/** An 8-bit unsigned integer. */\\ndeclare type u8 = number;\\n/** A 16-bit unsigned integer. */\\ndeclare type u16 = number;\\n/** A 32-bit unsigned integer. */\\ndeclare type u32 = number;\\n/** A 64-bit unsigned integer. */\\ndeclare type u64 = number;\\n/** A 32-bit unsigned integer when targeting 32-bit WebAssembly or a 64-bit unsigned integer when targeting 64-bit WebAssembly. */\\ndeclare type usize = number;\\n/** A 1-bit unsigned integer. */\\ndeclare type bool = boolean | number;\\n/** A 32-bit float. */\\ndeclare type f32 = number;\\n/** A 64-bit float. */\\ndeclare type f64 = number;\\n/** A 128-bit vector. */\\ndeclare type v128 = object;\\n/** Non-nullable function reference. */\\ndeclare type ref_func = object;\\n/** Canonical nullable function reference. */\\ndeclare type funcref = ref_func | null;\\n/** Non-nullable external reference. */\\ndeclare type ref_extern = object;\\n/** Canonical nullable external reference. */\\ndeclare type externref = ref_extern | null;\\n/** Non-nullable any reference. */\\ndeclare type ref_any = object;\\n/** Canonical nullable any reference. */\\ndeclare type anyref = ref_any | null;\\n/** Non-nullable equatable reference. */\\ndeclare type ref_eq = object;\\n/** Canonical nullable equatable reference. */\\ndeclare type eqref = ref_eq | null;\\n/** Non-nullable struct reference. */\\ndeclare type ref_struct = object;\\n/** Canonical nullable struct reference. */\\ndeclare type structref = ref_struct | null;\\n/** Non-nullable array reference. */\\ndeclare type ref_array = object;\\n/** Canonical nullable array reference. */\\ndeclare type arrayref = ref_array | null;\\n/** Non-nullable 31-bit integer reference. */\\ndeclare type ref_i31 = object;\\n/** Canonical nullable 31-bit integer reference. */\\ndeclare type i31ref = ref_i31 | null;\\n/** Non-nullable string reference. */\\ndeclare type ref_string = object;\\n/** Canonical nullable string reference. */\\ndeclare type stringref = ref_string | null;\\n/** Non-nullable WTF-8 string view. */\\ndeclare type ref_stringview_wtf8 = object;\\n/** Canonical nullable WTF-8 string view. */\\ndeclare type stringview_wtf8 = ref_stringview_wtf8 | null;\\n/** Non-nullable WTF-16 string view. */\\ndeclare type ref_stringview_wtf16 = object;\\n/** Canonical nullable WTF-16 string view. */\\ndeclare type stringview_wtf16 = ref_stringview_wtf16 | null;\\n/** Non-nullable string iterator. */\\ndeclare type ref_stringview_iter = object;\\n/** Canonical nullable string iterator. */\\ndeclare type stringview_iter = ref_stringview_iter | null;\\n\\n// Compiler hints\\n\\n/** Compiler target. 0 = JS, 1 = WASM32, 2 = WASM64. */\\ndeclare const ASC_TARGET: i32;\\n/** Runtime type. 0 = Stub, 1 = Minimal, 2 = Incremental. */\\ndeclare const ASC_RUNTIME: i32;\\n/** Provided noAssert option. */\\ndeclare const ASC_NO_ASSERT: bool;\\n/** Provided memoryBase option. */\\ndeclare const ASC_MEMORY_BASE: i32;\\n/** Provided tableBase option. */\\ndeclare const ASC_TABLE_BASE: i32;\\n/** Provided optimizeLevel option. */\\ndeclare const ASC_OPTIMIZE_LEVEL: i32;\\n/** Provided shrinkLevel option. */\\ndeclare const ASC_SHRINK_LEVEL: i32;\\n/** Provided lowMemoryLimit option. */\\ndeclare const ASC_LOW_MEMORY_LIMIT: i32;\\n/** Provided noExportRuntime option. */\\ndeclare const ASC_NO_EXPORT_RUNTIME: i32;\\n/** Whether the sign extension feature is enabled. */\\ndeclare const ASC_FEATURE_SIGN_EXTENSION: bool;\\n/** Whether the mutable globals feature is enabled. */\\ndeclare const ASC_FEATURE_MUTABLE_GLOBALS: bool;\\n/** Whether the non-trapping float-to-int feature is enabled. */\\ndeclare const ASC_FEATURE_NONTRAPPING_F2I: bool;\\n/** Whether the bulk memory feature is enabled. */\\ndeclare const ASC_FEATURE_BULK_MEMORY: bool;\\n/** Whether the SIMD feature is enabled. */\\ndeclare const ASC_FEATURE_SIMD: bool;\\n/** Whether the threads feature is enabled. */\\ndeclare const ASC_FEATURE_THREADS: bool;\\n/** Whether the exception handling feature is enabled. */\\ndeclare const ASC_FEATURE_EXCEPTION_HANDLING: bool;\\n/** Whether the tail calls feature is enabled. */\\ndeclare const ASC_FEATURE_TAIL_CALLS: bool;\\n/** Whether the reference types feature is enabled. */\\ndeclare const ASC_FEATURE_REFERENCE_TYPES: bool;\\n/** Whether the multi value types feature is enabled. */\\ndeclare const ASC_FEATURE_MULTI_VALUE: bool;\\n/** Whether the garbage collection feature is enabled. */\\ndeclare const ASC_FEATURE_GC: bool;\\n/** Whether the memory64 feature is enabled. */\\ndeclare const ASC_FEATURE_MEMORY64: bool;\\n/** Whether the relaxed SIMD feature is enabled. */\\ndeclare const ASC_FEATURE_RELAXED_SIMD: bool;\\n/** Whether the extended const expression feature is enabled. */\\ndeclare const ASC_FEATURE_EXTENDED_CONST: bool;\\n/** Whether the string references feature is enabled. */\\ndeclare const ASC_FEATURE_STRINGREF: bool;\\n/** Major version of the compiler. */\\ndeclare const ASC_VERSION_MAJOR: i32;\\n/** Minor version of the compiler. */\\ndeclare const ASC_VERSION_MINOR: i32;\\n/** Patch version of the compiler. */\\ndeclare const ASC_VERSION_PATCH: i32;\\n\\n// Builtins\\n\\n/** Performs the sign-agnostic reverse bytes **/\\ndeclare function bswap(value: T): T;\\n/** Performs the sign-agnostic count leading zero bits operation on a 32-bit or 64-bit integer. All zero bits are considered leading if the value is zero. */\\ndeclare function clz(value: T): T;\\n/** Performs the sign-agnostic count tailing zero bits operation on a 32-bit or 64-bit integer. All zero bits are considered trailing if the value is zero. */\\ndeclare function ctz(value: T): T;\\n/** Performs the sign-agnostic count number of one bits operation on a 32-bit or 64-bit integer. */\\ndeclare function popcnt(value: T): T;\\n/** Performs the sign-agnostic rotate left operation on a 32-bit or 64-bit integer. */\\ndeclare function rotl(value: T, shift: T): T;\\n/** Performs the sign-agnostic rotate right operation on a 32-bit or 64-bit integer. */\\ndeclare function rotr(value: T, shift: T): T;\\n/** Computes the absolute value of an integer or float. */\\ndeclare function abs(value: T): T;\\n/** Determines the maximum of two integers or floats. If either operand is `NaN`, returns `NaN`. */\\ndeclare function max(left: T, right: T): T;\\n/** Determines the minimum of two integers or floats. If either operand is `NaN`, returns `NaN`. */\\ndeclare function min(left: T, right: T): T;\\n/** Performs the ceiling operation on a 32-bit or 64-bit float. */\\ndeclare function ceil(value: T): T;\\n/** Composes a 32-bit or 64-bit float from the magnitude of `x` and the sign of `y`. */\\ndeclare function copysign(x: T, y: T): T;\\n/** Performs the floor operation on a 32-bit or 64-bit float. */\\ndeclare function floor(value: T): T;\\n/** Rounds to the nearest integer tied to even of a 32-bit or 64-bit float. */\\ndeclare function nearest(value: T): T;\\n/** Reinterprets the bits of the specified value as type `T`. Valid reinterpretations are u32/i32 to/from f32 and u64/i64 to/from f64. */\\ndeclare function reinterpret(value: number): T;\\n/** Selects one of two pre-evaluated values depending on the condition. */\\ndeclare function select(ifTrue: T, ifFalse: T, condition: bool): T;\\n/** Calculates the square root of a 32-bit or 64-bit float. */\\ndeclare function sqrt(value: T): T;\\n/** Rounds to the nearest integer towards zero of a 32-bit or 64-bit float. */\\ndeclare function trunc(value: T): T;\\n/** Computes the sum of two integers or floats. */\\ndeclare function add(left: T, right: T): T;\\n/** Computes the difference of two integers or floats. */\\ndeclare function sub(left: T, right: T): T;\\n/** Computes the product of two integers or floats. */\\ndeclare function mul(left: T, right: T): T;\\n/** Computes the quotient of two integers or floats. */\\ndeclare function div(left: T, right: T): T;\\n/** Return 1 if two numbers are equal to each other, 0 otherwise. */\\ndeclare function eq(left: T, right: T): i32;\\n/** Return 0 if two numbers are equal to each other, 1 otherwise. */\\ndeclare function ne(left: T, right: T): i32;\\n/** Computes the remainder of two integers. */\\ndeclare function rem(left: T, right: T): T;\\n/** Loads a value of the specified type from memory. Equivalent to dereferncing a pointer in other languages. */\\ndeclare function load(ptr: usize, immOffset?: usize, immAlign?: usize): T;\\n/** Stores a value of the specified type to memory. Equivalent to dereferencing a pointer in other languages when assigning a value. */\\ndeclare function store(ptr: usize, value: T, immOffset?: usize, immAlign?: usize): void;\\n/** Emits an unreachable operation that results in a runtime error when executed. Both a statement and an expression. */\\ndeclare function unreachable(): never;\\n\\n/** NaN (not a number) as a 32-bit or 64-bit float depending on context. */\\ndeclare const NaN: f32 | f64;\\n/** Positive infinity as a 32-bit or 64-bit float depending on context. */\\ndeclare const Infinity: f32 | f64;\\n/** Data end offset. */\\ndeclare const __data_end: usize;\\n/** Stack pointer offset. */\\ndeclare let __stack_pointer: usize;\\n/** Heap base offset. */\\ndeclare const __heap_base: usize;\\n/** Determines the byte size of the specified underlying core type. Compiles to a constant. */\\ndeclare function sizeof(): usize;\\n/** Determines the alignment (log2) of the specified underlying core type. Compiles to a constant. */\\ndeclare function alignof(): usize;\\n/** Determines the end offset of the given class type. Compiles to a constant. */\\ndeclare function offsetof(): usize;\\n/** Determines the offset of the specified field within the given class type. Compiles to a constant. */\\ndeclare function offsetof(fieldName: keyof T | string): usize;\\n/** Determines the offset of the specified field within the given class type. Returns the class type's end offset if field name has been omitted. Compiles to a constant. */\\ndeclare function offsetof(fieldName?: string): usize;\\n/** Determines the name of a given type. */\\ndeclare function nameof(value?: T): string;\\n/** Determines the unique runtime id of a class type. Compiles to a constant. */\\ndeclare function idof(): u32;\\n/** Changes the type of any value of `usize` kind to another one of `usize` kind. Useful for casting class instances to their pointer values and vice-versa. Beware that this is unsafe.*/\\ndeclare function changetype(value: any): T;\\n/** Explicitly requests no bounds checks on the provided expression. Useful for array accesses. */\\ndeclare function unchecked(value: T): T;\\n/** Emits a `call_indirect` instruction, calling the specified function in the function table by index with the specified arguments. Does result in a runtime error if the arguments do not match the called function. */\\ndeclare function call_indirect(index: u32, ...args: unknown[]): T;\\n/** Instantiates a new instance of `T` using the specified constructor arguments. */\\ndeclare function instantiate(...args: any[]): T;\\n/** Tests if a 32-bit or 64-bit float is `NaN`. */\\ndeclare function isNaN(value: T): bool;\\n/** Tests if a 32-bit or 64-bit float is finite, that is not `NaN` or +/-`Infinity`. */\\ndeclare function isFinite(value: T): bool;\\n/** Tests if the specified type *or* expression is of a boolean type. */\\ndeclare function isBoolean(value?: any): value is number;\\n/** Tests if the specified type *or* expression is of an integer type and not a reference. Compiles to a constant. */\\ndeclare function isInteger(value?: any): value is number;\\n/** Tests if the specified type *or* expression can represent negative numbers. Compiles to a constant. */\\ndeclare function isSigned(value?: any): value is number;\\n/** Tests if the specified type *or* expression is of a float type. Compiles to a constant. */\\ndeclare function isFloat(value?: any): value is number;\\n/** Tests if the specified type *or* expression is of a v128 type. Compiles to a constant. */\\ndeclare function isVector(value?: any): value is v128;\\n/** Tests if the specified type *or* expression is of a reference type. Compiles to a constant. */\\ndeclare function isReference(value?: any): value is object | string;\\n/** Tests if the specified type *or* expression can be used as a string. Compiles to a constant. */\\ndeclare function isString(value?: any): value is string | String;\\n/** Tests if the specified type *or* expression can be used as an array. Compiles to a constant. */\\ndeclare function isArray(value?: any): value is Array;\\n/** Tests if the specified type *or* expression can be used as an array like object. Compiles to a constant. */\\ndeclare function isArrayLike(value?: any): value is ArrayLike;\\n/** Tests if the specified type *or* expression is of a function type. Compiles to a constant. */\\ndeclare function isFunction(value?: any): value is (...args: any) => any;\\n/** Tests if the specified type *or* expression is of a nullable reference type. Compiles to a constant. */\\ndeclare function isNullable(value?: any): bool;\\n/** Tests if the specified expression resolves to a defined element. Compiles to a constant. */\\ndeclare function isDefined(expression: any): bool;\\n/** Tests if the specified expression evaluates to a constant value. Compiles to a constant. */\\ndeclare function isConstant(expression: any): bool;\\n/** Tests if the specified type *or* expression is of a managed type. Compiles to a constant. */\\ndeclare function isManaged(value?: any): bool;\\n/** Tests if the specified type is void. Compiles to a constant. */\\ndeclare function isVoid(): bool;\\n/** Traps if the specified value is not true-ish, otherwise returns the (non-nullable) value. */\\ndeclare function assert(isTrueish: T, message?: string): T & (object | string | number); // any better way to model `: T != null`?\\n/** Parses an integer string to a 64-bit float. */\\ndeclare function parseInt(str: string, radix?: i32): f64;\\n/** Parses a string to a 64-bit float. */\\ndeclare function parseFloat(str: string): f64;\\n/** Returns the 64-bit floating-point remainder of `x/y`. */\\ndeclare function fmod(x: f64, y: f64): f64;\\n/** Returns the 32-bit floating-point remainder of `x/y`. */\\ndeclare function fmodf(x: f32, y: f32): f32;\\n/** Returns the number of parameters in the given function signature type. */\\ndeclare function lengthof any>(func?: T): i32;\\n/** Encodes a text string as a valid Uniform Resource Identifier (URI). */\\ndeclare function encodeURI(str: string): string;\\n/** Encodes a text string as a valid component of a Uniform Resource Identifier (URI). */\\ndeclare function encodeURIComponent(str: string): string;\\n/** Decodes a Uniform Resource Identifier (URI) previously created by encodeURI. */\\ndeclare function decodeURI(str: string): string;\\n/** Decodes a Uniform Resource Identifier (URI) component previously created by encodeURIComponent. */\\ndeclare function decodeURIComponent(str: string): string;\\n\\n/** Atomic operations. */\\ndeclare namespace atomic {\\n /** Atomically loads an integer value from memory and returns it. */\\n export function load(ptr: usize, immOffset?: usize): T;\\n /** Atomically stores an integer value to memory. */\\n export function store(ptr: usize, value: T, immOffset?: usize): void;\\n /** Atomically adds an integer value in memory. */\\n export function add(ptr: usize, value: T, immOffset?: usize): T;\\n /** Atomically subtracts an integer value in memory. */\\n export function sub(ptr: usize, value: T, immOffset?: usize): T;\\n /** Atomically performs a bitwise AND operation on an integer value in memory. */\\n export function and(ptr: usize, value: T, immOffset?: usize): T;\\n /** Atomically performs a bitwise OR operation on an integer value in memory. */\\n export function or(ptr: usize, value: T, immOffset?: usize): T;\\n /** Atomically performs a bitwise XOR operation on an integer value in memory. */\\n export function xor(ptr: usize, value: T, immOffset?: usize): T;\\n /** Atomically exchanges an integer value in memory. */\\n export function xchg(ptr: usize, value: T, immOffset?: usize): T;\\n /** Atomically compares and exchanges an integer value in memory if the condition is met. */\\n export function cmpxchg(ptr: usize, expected: T, replacement: T, immOffset?: usize): T;\\n /** Performs a wait operation on an address in memory suspending this agent if the integer condition is met. */\\n export function wait(ptr: usize, expected: T, timeout?: i64): AtomicWaitResult;\\n /** Performs a notify operation on an address in memory waking up suspended agents. */\\n export function notify(ptr: usize, count?: i32): i32;\\n /** Performs a fence operation, preserving synchronization guarantees of higher level languages. */\\n export function fence(): void;\\n}\\n\\n/** Describes the result of an atomic wait operation. */\\ndeclare enum AtomicWaitResult {\\n /** Woken by another agent. */\\n OK,\\n /** Loaded value did not match the expected value. */\\n NOT_EQUAL,\\n /** Not woken before the timeout expired. */\\n TIMED_OUT\\n}\\n\\n/** Converts any other numeric value to an 8-bit signed integer. */\\ndeclare function i8(value: any): i8;\\ndeclare namespace i8 {\\n /** Smallest representable value. */\\n export const MIN_VALUE: i8;\\n /** Largest representable value. */\\n export const MAX_VALUE: i8;\\n /** Parses a string as an i8. */\\n export function parse(value: string, radix?: i32): i8;\\n}\\n/** Converts any other numeric value to a 16-bit signed integer. */\\ndeclare function i16(value: any): i16;\\ndeclare namespace i16 {\\n /** Smallest representable value. */\\n export const MIN_VALUE: i16;\\n /** Largest representable value. */\\n export const MAX_VALUE: i16;\\n /** Parses a string as an i16. */\\n export function parse(value: string, radix?: i32): i16;\\n}\\n/** Converts any other numeric value to a 32-bit signed integer. */\\ndeclare function i32(value: any): i32;\\ndeclare namespace i32 {\\n /** Smallest representable value. */\\n export const MIN_VALUE: i32;\\n /** Largest representable value. */\\n export const MAX_VALUE: i32;\\n /** Parses a string as an i32. */\\n export function parse(value: string, radix?: i32): i32;\\n /** Loads an 8-bit signed integer value from memory and returns it as a 32-bit integer. */\\n export function load8_s(ptr: usize, immOffset?: usize, immAlign?: usize): i32;\\n /** Loads an 8-bit unsigned integer value from memory and returns it as a 32-bit integer. */\\n export function load8_u(ptr: usize, immOffset?: usize, immAlign?: usize): i32;\\n /** Loads a 16-bit signed integer value from memory and returns it as a 32-bit integer. */\\n export function load16_s(ptr: usize, immOffset?: usize, immAlign?: usize): i32;\\n /** Loads a 16-bit unsigned integer value from memory and returns it as a 32-bit integer. */\\n export function load16_u(ptr: usize, immOffset?: usize, immAlign?: usize): i32;\\n /** Loads a 32-bit integer value from memory. */\\n export function load(ptr: usize, immOffset?: usize, immAlign?: usize): i32;\\n /** Stores a 32-bit integer value to memory as an 8-bit integer. */\\n export function store8(ptr: usize, value: i32, immOffset?: usize, immAlign?: usize): void;\\n /** Stores a 32-bit integer value to memory as a 16-bit integer. */\\n export function store16(ptr: usize, value: i32, immOffset?: usize, immAlign?: usize): void;\\n /** Stores a 32-bit integer value to memory. */\\n export function store(ptr: usize, value: i32, immOffset?: usize, immAlign?: usize): void;\\n /** Performs the sign-agnostic count leading zero bits operation on a 32-bit integer. All zero bits are considered leading if the value is zero. */\\n export function clz(value: i32): i32;\\n /** Performs the sign-agnostic count tailing zero bits operation on a 32-bit integer. All zero bits are considered trailing if the value is zero. */\\n export function ctz(value: i32): i32;\\n /** Performs the sign-agnostic count number of one bits operation on a 32-bit integer. */\\n export function popcnt(value: i32): i32;\\n /** Performs the sign-agnostic rotate left operation on a 32-bit integer. */\\n export function rotl(value: i32, shift: i32): i32;\\n /** Performs the sign-agnostic rotate right operation on a 32-bit integer. */\\n export function rotr(value: i32, shift: i32): i32;\\n /** Reinterprets the bits of the specified 32-bit float as a 32-bit integer. */\\n export function reinterpret_f32(value: f32): i32;\\n /** Computes the sum of two 32-bit integers. */\\n export function add(left: i32, right: i32): i32;\\n /** Computes the difference of two 32-bit integers. */\\n export function sub(left: i32, right: i32): i32;\\n /** Computes the product of two 32-bit integers. */\\n export function mul(left: i32, right: i32): i32;\\n /** Computes the signed quotient of two 32-bit integers. */\\n export function div_s(left: i32, right: i32): i32;\\n /** Computes the unsigned quotient of two 32-bit integers. */\\n export function div_u(left: i32, right: i32): i32;\\n /** Return 1 if two 32-bit integers are equal to each other, 0 otherwise. */\\n export function eq(left: i32, right: i32): i32;\\n /** Return 0 if two 32-bit integers are equal to each other, 1 otherwise. */\\n export function ne(left: i32, right: i32): i32;\\n /** Computes the signed remainder of two 32-bit integers. */\\n export function rem_s(left: i32, right: i32): i32;\\n /** Computes the unsigned remainder of two 32-bit integers. */\\n export function rem_u(left: u32, right: u32): u32;\\n\\n /** Atomic 32-bit integer operations. */\\n export namespace atomic {\\n /** Atomically loads an 8-bit unsigned integer value from memory and returns it as a 32-bit integer. */\\n export function load8_u(ptr: usize, immOffset?: usize): i32;\\n /** Atomically loads a 16-bit unsigned integer value from memory and returns it as a 32-bit integer. */\\n export function load16_u(ptr: usize, immOffset?: usize): i32;\\n /** Atomically loads a 32-bit integer value from memory and returns it. */\\n export function load(ptr: usize, immOffset?: usize): i32;\\n /** Atomically stores a 32-bit integer value to memory as an 8-bit integer. */\\n export function store8(ptr: usize, value: i32, immOffset?: usize): void;\\n /** Atomically stores a 32-bit integer value to memory as a 16-bit integer. */\\n export function store16(ptr: usize, value: i32, immOffset?: usize): void;\\n /** Atomically stores a 32-bit integer value to memory. */\\n export function store(ptr: usize, value: i32, immOffset?: usize): void;\\n /** Atomic 32-bit integer read-modify-write operations on 8-bit values. */\\n export namespace rmw8 {\\n /** Atomically adds an 8-bit unsigned integer value in memory. */\\n export function add_u(ptr: usize, value: i32, immOffset?: usize): i32;\\n /** Atomically subtracts an 8-bit unsigned integer value in memory. */\\n export function sub_u(ptr: usize, value: i32, immOffset?: usize): i32;\\n /** Atomically performs a bitwise AND operation an 8-bit unsigned integer value in memory. */\\n export function and_u(ptr: usize, value: i32, immOffset?: usize): i32;\\n /** Atomically performs a bitwise OR operation an 8-bit unsigned integer value in memory. */\\n export function or_u(ptr: usize, value: i32, immOffset?: usize): i32;\\n /** Atomically performs a bitwise XOR operation an 8-bit unsigned integer value in memory. */\\n export function xor_u(ptr: usize, value: i32, immOffset?: usize): i32;\\n /** Atomically exchanges an 8-bit unsigned integer value in memory. */\\n export function xchg_u(ptr: usize, value: i32, immOffset?: usize): i32;\\n /** Atomically compares and exchanges an 8-bit unsigned integer value in memory if the condition is met. */\\n export function cmpxchg_u(ptr: usize, expected: i32, replacement: i32, immOffset?: usize): i32;\\n }\\n /** Atomic 32-bit integer read-modify-write operations on 16-bit values. */\\n export namespace rmw16 {\\n /** Atomically adds a 16-bit unsigned integer value in memory. */\\n export function add_u(ptr: usize, value: i32, immOffset?: usize): i32;\\n /** Atomically adds a 16-bit unsigned integer value in memory. */\\n export function sub_u(ptr: usize, value: i32, immOffset?: usize): i32;\\n /** Atomically performs a bitwise AND operation a 16-bit unsigned integer value in memory. */\\n export function and_u(ptr: usize, value: i32, immOffset?: usize): i32;\\n /** Atomically performs a bitwise OR operation a 16-bit unsigned integer value in memory. */\\n export function or_u(ptr: usize, value: i32, immOffset?: usize): i32;\\n /** Atomically performs a bitwise XOR operation a 16-bit unsigned integer value in memory. */\\n export function xor_u(ptr: usize, value: i32, immOffset?: usize): i32;\\n /** Atomically exchanges a 16-bit unsigned integer value in memory. */\\n export function xchg_u(ptr: usize, value: i32, immOffset?: usize): i32;\\n /** Atomically compares and exchanges a 16-bit unsigned integer value in memory if the condition is met. */\\n export function cmpxchg_u(ptr: usize, expected: i32, replacement: i32, immOffset?: usize): i32;\\n }\\n /** Atomic 32-bit integer read-modify-write operations. */\\n export namespace rmw {\\n /** Atomically adds a 32-bit integer value in memory. */\\n export function add(ptr: usize, value: i32, immOffset?: usize): i32;\\n /** Atomically subtracts a 32-bit integer value in memory. */\\n export function sub(ptr: usize, value: i32, immOffset?: usize): i32;\\n /** Atomically performs a bitwise AND operation a 32-bit integer value in memory. */\\n export function and(ptr: usize, value: i32, immOffset?: usize): i32;\\n /** Atomically performs a bitwise OR operation a 32-bit integer value in memory. */\\n export function or(ptr: usize, value: i32, immOffset?: usize): i32;\\n /** Atomically performs a bitwise XOR operation a 32-bit integer value in memory. */\\n export function xor(ptr: usize, value: i32, immOffset?: usize): i32;\\n /** Atomically exchanges a 32-bit integer value in memory. */\\n export function xchg(ptr: usize, value: i32, immOffset?: usize): i32;\\n /** Atomically compares and exchanges a 32-bit integer value in memory if the condition is met. */\\n export function cmpxchg(ptr: usize, expected: i32, replacement: i32, immOffset?: usize): i32;\\n }\\n }\\n}\\n/** Converts any other numeric value to a 64-bit signed integer. */\\ndeclare function i64(value: any): i64;\\ndeclare namespace i64 {\\n /** Smallest representable value. */\\n export const MIN_VALUE: i64;\\n /** Largest representable value. */\\n export const MAX_VALUE: i64;\\n /** Parses a string as an i64. */\\n export function parse(value: string, radix?: i32): i64;\\n /** Loads an 8-bit signed integer value from memory and returns it as a 64-bit integer. */\\n export function load8_s(ptr: usize, immOffset?: usize, immAlign?: usize): i64;\\n /** Loads an 8-bit unsigned integer value from memory and returns it as a 64-bit integer. */\\n export function load8_u(ptr: usize, immOffset?: usize, immAlign?: usize): i64;\\n /** Loads a 16-bit signed integer value from memory and returns it as a 64-bit integer. */\\n export function load16_s(ptr: usize, immOffset?: usize, immAlign?: usize): i64;\\n /** Loads a 16-bit unsigned integer value from memory and returns it as a 64-bit integer. */\\n export function load16_u(ptr: usize, immOffset?: usize, immAlign?: usize): i64;\\n /** Loads a 32-bit signed integer value from memory and returns it as a 64-bit integer. */\\n export function load32_s(ptr: usize, immOffset?: usize, immAlign?: usize): i64;\\n /** Loads a 32-bit unsigned integer value from memory and returns it as a 64-bit integer. */\\n export function load32_u(ptr: usize, immOffset?: usize, immAlign?: usize): i64;\\n /** Loads a 64-bit unsigned integer value from memory. */\\n export function load(ptr: usize, immOffset?: usize, immAlign?: usize): i64;\\n /** Stores a 64-bit integer value to memory as an 8-bit integer. */\\n export function store8(ptr: usize, value: i64, immOffset?: usize, immAlign?: usize): void;\\n /** Stores a 64-bit integer value to memory as a 16-bit integer. */\\n export function store16(ptr: usize, value: i64, immOffset?: usize, immAlign?: usize): void;\\n /** Stores a 64-bit integer value to memory as a 32-bit integer. */\\n export function store32(ptr: usize, value: i64, immOffset?: usize, immAlign?: usize): void;\\n /** Stores a 64-bit integer value to memory. */\\n export function store(ptr: usize, value: i64, immOffset?: usize, immAlign?: usize): void;\\n /** Performs the sign-agnostic count leading zero bits operation on a 64-bit integer. All zero bits are considered leading if the value is zero. */\\n export function clz(value: i64): i64;\\n /** Performs the sign-agnostic count tailing zero bits operation on a 64-bit integer. All zero bits are considered trailing if the value is zero. */\\n export function ctz(value: i64): i64;\\n /** Performs the sign-agnostic count number of one bits operation on a 64-bit integer. */\\n export function popcnt(value: i64): i64;\\n /** Performs the sign-agnostic rotate left operation on a 64-bit integer. */\\n export function rotl(value: i64, shift: i64): i64;\\n /** Performs the sign-agnostic rotate right operation on a 64-bit integer. */\\n export function rotr(value: i64, shift: i64): i64;\\n /** Reinterprets the bits of the specified 64-bit float as a 64-bit integer. */\\n export function reinterpret_f64(value: f64): i64;\\n /** Computes the sum of two 64-bit integers. */\\n export function add(left: i64, right: i64): i64;\\n /** Computes the difference of two 64-bit integers. */\\n export function sub(left: i64, right: i64): i64;\\n /** Computes the product of two 64-bit integers. */\\n export function mul(left: i64, right: i64): i64;\\n /** Computes the signed quotient of two 64-bit integers. */\\n export function div_s(left: i64, right: i64): i64;\\n /** Computes the unsigned quotient of two 64-bit integers. */\\n export function div_u(left: i64, right: i64): i64;\\n /** Return 1 if two 64-bit integers are equal to each other, 0 otherwise. */\\n export function eq(left: i64, right: i64): i32;\\n /** Return 0 if two 64-bit integers are equal to each other, 1 otherwise. */\\n export function ne(left: i64, right: i64): i32;\\n /** Computes the signed remainder of two 64-bit integers. */\\n export function rem_s(left: i64, right: i64): i64;\\n /** Computes the unsigned remainder of two 64-bit integers. */\\n export function rem_u(left: u64, right: u64): u64;\\n\\n /** Atomic 64-bit integer operations. */\\n export namespace atomic {\\n /** Atomically loads an 8-bit unsigned integer value from memory and returns it as a 64-bit integer. */\\n export function load8_u(ptr: usize, immOffset?: usize): i64;\\n /** Atomically loads a 16-bit unsigned integer value from memory and returns it as a 64-bit integer. */\\n export function load16_u(ptr: usize, immOffset?: usize): i64;\\n /** Atomically loads a 32-bit unsigned integer value from memory and returns it as a 64-bit integer. */\\n export function load32_u(ptr: usize, immOffset?: usize): i64;\\n /** Atomically loads a 64-bit integer value from memory and returns it. */\\n export function load(ptr: usize, immOffset?: usize): i64;\\n /** Atomically stores a 64-bit integer value to memory as an 8-bit integer. */\\n export function store8(ptr: usize, value: i64, immOffset?: usize): void;\\n /** Atomically stores a 64-bit integer value to memory as a 16-bit integer. */\\n export function store16(ptr: usize, value: i64, immOffset?: usize): void;\\n /** Atomically stores a 64-bit integer value to memory as a 32-bit integer. */\\n export function store32(ptr: usize, value: i64, immOffset?: usize): void;\\n /** Atomically stores a 64-bit integer value to memory. */\\n export function store(ptr: usize, value: i64, immOffset?: usize): void;\\n /** Atomic 64-bit integer read-modify-write operations on 8-bit values. */\\n export namespace rmw8 {\\n /** Atomically adds an 8-bit unsigned integer value in memory. */\\n export function add_u(ptr: usize, value: i64, immOffset?: usize): i64;\\n /** Atomically subtracts an 8-bit unsigned integer value in memory. */\\n export function sub_u(ptr: usize, value: i64, immOffset?: usize): i64;\\n /** Atomically performs a bitwise AND operation on an 8-bit unsigned integer value in memory. */\\n export function and_u(ptr: usize, value: i64, immOffset?: usize): i64;\\n /** Atomically performs a bitwise OR operation on an 8-bit unsigned integer value in memory. */\\n export function or_u(ptr: usize, value: i64, immOffset?: usize): i64;\\n /** Atomically performs a bitwise XOR operation on an 8-bit unsigned integer value in memory. */\\n export function xor_u(ptr: usize, value: i64, immOffset?: usize): i64;\\n /** Atomically exchanges an 8-bit unsigned integer value in memory. */\\n export function xchg_u(ptr: usize, value: i64, immOffset?: usize): i64;\\n /** Atomically compares and exchanges an 8-bit unsigned integer value in memory if the condition is met. */\\n export function cmpxchg_u(ptr: usize, expected: i64, replacement: i64, immOffset?: usize): i64;\\n }\\n /** Atomic 64-bit integer read-modify-write operations on 16-bit values. */\\n export namespace rmw16 {\\n /** Atomically adds a 16-bit unsigned integer value in memory. */\\n export function add_u(ptr: usize, value: i64, immOffset?: usize): i64;\\n /** Atomically subtracts a 16-bit unsigned integer value in memory. */\\n export function sub_u(ptr: usize, value: i64, immOffset?: usize): i64;\\n /** Atomically performs a bitwise AND operation on a 16-bit unsigned integer value in memory. */\\n export function and_u(ptr: usize, value: i64, immOffset?: usize): i64;\\n /** Atomically performs a bitwise OR operation on a 16-bit unsigned integer value in memory. */\\n export function or_u(ptr: usize, value: i64, immOffset?: usize): i64;\\n /** Atomically performs a bitwise XOR operation on a 16-bit unsigned integer value in memory. */\\n export function xor_u(ptr: usize, value: i64, immOffset?: usize): i64;\\n /** Atomically exchanges a 16-bit unsigned integer value in memory. */\\n export function xchg_u(ptr: usize, value: i64, immOffset?: usize): i64;\\n /** Atomically compares and exchanges a 16-bit unsigned integer value in memory if the condition is met. */\\n export function cmpxchg_u(ptr: usize, expected: i64, replacement: i64, immOffset?: usize): i64;\\n }\\n /** Atomic 64-bit integer read-modify-write operations on 32-bit values. */\\n export namespace rmw32 {\\n /** Atomically adds a 32-bit unsigned integer value in memory. */\\n export function add_u(ptr: usize, value: i64, immOffset?: usize): i64;\\n /** Atomically subtracts a 32-bit unsigned integer value in memory. */\\n export function sub_u(ptr: usize, value: i64, immOffset?: usize): i64;\\n /** Atomically performs a bitwise AND operation on a 32-bit unsigned integer value in memory. */\\n export function and_u(ptr: usize, value: i64, immOffset?: usize): i64;\\n /** Atomically performs a bitwise OR operation on a 32-bit unsigned integer value in memory. */\\n export function or_u(ptr: usize, value: i64, immOffset?: usize): i64;\\n /** Atomically performs a bitwise XOR operation on a 32-bit unsigned integer value in memory. */\\n export function xor_u(ptr: usize, value: i64, immOffset?: usize): i64;\\n /** Atomically exchanges a 32-bit unsigned integer value in memory. */\\n export function xchg_u(ptr: usize, value: i64, immOffset?: usize): i64;\\n /** Atomically compares and exchanges a 32-bit unsigned integer value in memory if the condition is met. */\\n export function cmpxchg_u(ptr: usize, expected: i64, replacement: i64, immOffset?: usize): i64;\\n }\\n /** Atomic 64-bit integer read-modify-write operations. */\\n export namespace rmw {\\n /** Atomically adds a 64-bit integer value in memory. */\\n export function add(ptr: usize, value: i64, immOffset?: usize): i64;\\n /** Atomically subtracts a 64-bit integer value in memory. */\\n export function sub(ptr: usize, value: i64, immOffset?: usize): i64;\\n /** Atomically performs a bitwise AND operation on a 64-bit integer value in memory. */\\n export function and(ptr: usize, value: i64, immOffset?: usize): i64;\\n /** Atomically performs a bitwise OR operation on a 64-bit integer value in memory. */\\n export function or(ptr: usize, value: i64, immOffset?: usize): i64;\\n /** Atomically performs a bitwise XOR operation on a 64-bit integer value in memory. */\\n export function xor(ptr: usize, value: i64, immOffset?: usize): i64;\\n /** Atomically exchanges a 64-bit integer value in memory. */\\n export function xchg(ptr: usize, value: i64, immOffset?: usize): i64;\\n /** Atomically compares and exchanges a 64-bit integer value in memory if the condition is met. */\\n export function cmpxchg(ptr: usize, expected: i64, replacement: i64, immOffset?: usize): i64;\\n }\\n }\\n}\\n/** Converts any other numeric value to a 32-bit (in WASM32) respectivel 64-bit (in WASM64) signed integer. */\\ndeclare let isize: typeof i32 | typeof i64;\\n/** Converts any other numeric value to an 8-bit unsigned integer. */\\ndeclare function u8(value: any): u8;\\ndeclare namespace u8 {\\n /** Smallest representable value. */\\n export const MIN_VALUE: u8;\\n /** Largest representable value. */\\n export const MAX_VALUE: u8;\\n /** Parses a string as an u8. */\\n export function parse(value: string, radix?: i32): u8;\\n}\\n/** Converts any other numeric value to a 16-bit unsigned integer. */\\ndeclare function u16(value: any): u16;\\ndeclare namespace u16 {\\n /** Smallest representable value. */\\n export const MIN_VALUE: u16;\\n /** Largest representable value. */\\n export const MAX_VALUE: u16;\\n /** Parses a string as an u16. */\\n export function parse(value: string, radix?: i32): u16;\\n}\\n/** Converts any other numeric value to a 32-bit unsigned integer. */\\ndeclare function u32(value: any): u32;\\ndeclare namespace u32 {\\n /** Smallest representable value. */\\n export const MIN_VALUE: u32;\\n /** Largest representable value. */\\n export const MAX_VALUE: u32;\\n /** Parses a string as an u32. */\\n export function parse(value: string, radix?: i32): u32;\\n}\\n/** Converts any other numeric value to a 64-bit unsigned integer. */\\ndeclare function u64(value: any): u64;\\ndeclare namespace u64 {\\n /** Smallest representable value. */\\n export const MIN_VALUE: u64;\\n /** Largest representable value. */\\n export const MAX_VALUE: u64;\\n /** Parses a string as an u64. */\\n export function parse(value: string, radix?: i32): u64;\\n}\\n/** Converts any other numeric value to a 32-bit (in WASM32) respectivel 64-bit (in WASM64) unsigned integer. */\\ndeclare let usize: typeof u32 | typeof u64;\\n/** Converts any other numeric value to a 1-bit unsigned integer. */\\ndeclare function bool(value: any): bool;\\ndeclare namespace bool {\\n /** Smallest representable value. */\\n export const MIN_VALUE: bool;\\n /** Largest representable value. */\\n export const MAX_VALUE: bool;\\n /** Parses a string as a bool. */\\n export function parse(value: string): bool;\\n}\\n/** Converts any other numeric value to a 32-bit float. */\\ndeclare function f32(value: any): f32;\\ndeclare namespace f32 {\\n /** Smallest representable value. */\\n export const MIN_VALUE: f32;\\n /** Largest representable value. */\\n export const MAX_VALUE: f32;\\n /** Smallest normalized positive value. */\\n export const MIN_NORMAL_VALUE: f32;\\n /** Smallest safely representable integer value. */\\n export const MIN_SAFE_INTEGER: f32;\\n /** Largest safely representable integer value. */\\n export const MAX_SAFE_INTEGER: f32;\\n /** Positive infinity value. */\\n export const POSITIVE_INFINITY: f32;\\n /** Negative infinity value. */\\n export const NEGATIVE_INFINITY: f32;\\n /** Not a number value. */\\n export const NaN: f32;\\n /** Difference between 1 and the smallest representable value greater than 1. */\\n export const EPSILON: f32;\\n /** Parses a string as an f32. */\\n export function parse(value: string): f32;\\n /** Loads a 32-bit float from memory. */\\n export function load(ptr: usize, immOffset?: usize, immAlign?: usize): f32;\\n /** Stores a 32-bit float to memory. */\\n export function store(ptr: usize, value: f32, immOffset?: usize, immAlign?: usize): void;\\n /** Computes the sum of two 32-bit floats. */\\n export function add(left: f32, right: f32): f32;\\n /** Computes the difference of two 32-bit floats. */\\n export function sub(left: f32, right: f32): f32;\\n /** Computes the product of two 32-bit floats. */\\n export function mul(left: f32, right: f32): f32;\\n /** Computes the quotient of two 32-bit floats. */\\n export function div(left: f32, right: f32): f32;\\n /** Return 1 two 32-bit floats are equal to each other, 0 otherwise. */\\n export function eq(left: f32, right: f32): i32;\\n /** Return 0 two 32-bit floats are equal to each other, 1 otherwise. */\\n export function ne(left: f32, right: f32): i32;\\n /** Computes the absolute value of a 32-bit float. */\\n export function abs(value: f32): f32;\\n /** Determines the maximum of two 32-bit floats. If either operand is `NaN`, returns `NaN`. */\\n export function max(left: f32, right: f32): f32;\\n /** Determines the minimum of two 32-bit floats. If either operand is `NaN`, returns `NaN`. */\\n export function min(left: f32, right: f32): f32;\\n /** Performs the ceiling operation on a 32-bit float. */\\n export function ceil(value: f32): f32;\\n /** Composes a 32-bit float from the magnitude of `x` and the sign of `y`. */\\n export function copysign(x: f32, y: f32): f32;\\n /** Performs the floor operation on a 32-bit float. */\\n export function floor(value: f32): f32;\\n /** Rounds to the nearest integer tied to even of a 32-bit float. */\\n export function nearest(value: f32): f32;\\n /** Reinterprets the bits of the specified 32-bit integer as a 32-bit float. */\\n export function reinterpret_i32(value: i32): f32;\\n /** Calculates the square root of a 32-bit float. */\\n export function sqrt(value: f32): f32;\\n /** Rounds to the nearest integer towards zero of a 32-bit float. */\\n export function trunc(value: f32): f32;\\n}\\n/** Converts any other numeric value to a 64-bit float. */\\ndeclare function f64(value: any): f64;\\ndeclare namespace f64 {\\n /** Smallest representable value. */\\n export const MIN_VALUE: f64;\\n /** Largest representable value. */\\n export const MAX_VALUE: f64;\\n /** Smallest normalized positive value. */\\n export const MIN_NORMAL_VALUE: f64;\\n /** Smallest safely representable integer value. */\\n export const MIN_SAFE_INTEGER: f64;\\n /** Largest safely representable integer value. */\\n export const MAX_SAFE_INTEGER: f64;\\n /** Positive infinity value. */\\n export const POSITIVE_INFINITY: f64;\\n /** Negative infinity value. */\\n export const NEGATIVE_INFINITY: f64;\\n /** Not a number value. */\\n export const NaN: f64;\\n /** Difference between 1 and the smallest representable value greater than 1. */\\n export const EPSILON: f64;\\n /** Parses a string as an f64. */\\n export function parse(value: string): f64;\\n /** Loads a 64-bit float from memory. */\\n export function load(ptr: usize, immOffset?: usize, immAlign?: usize): f64;\\n /** Stores a 64-bit float to memory. */\\n export function store(ptr: usize, value: f64, immOffset?: usize, immAlign?: usize): void;\\n /** Computes the sum of two 64-bit floats. */\\n export function add(left: f64, right: f64): f64;\\n /** Computes the difference of two 64-bit floats. */\\n export function sub(left: f64, right: f64): f64;\\n /** Computes the product of two 64-bit floats. */\\n export function mul(left: f64, right: f64): f64;\\n /** Computes the quotient of two 64-bit floats. */\\n export function div(left: f64, right: f64): f64;\\n /** Return 1 two 64-bit floats are equal to each other, 0 otherwise. */\\n export function eq(left: f64, right: f64): i32;\\n /** Return 0 two 32-bit floats are equal to each other, 1 otherwise. */\\n export function ne(left: f64, right: f64): i32;\\n /** Computes the absolute value of a 64-bit float. */\\n export function abs(value: f64): f64;\\n /** Determines the maximum of two 64-bit floats. If either operand is `NaN`, returns `NaN`. */\\n export function max(left: f64, right: f64): f64;\\n /** Determines the minimum of two 64-bit floats. If either operand is `NaN`, returns `NaN`. */\\n export function min(left: f64, right: f64): f64;\\n /** Performs the ceiling operation on a 64-bit float. */\\n export function ceil(value: f64): f64;\\n /** Composes a 64-bit float from the magnitude of `x` and the sign of `y`. */\\n export function copysign(x: f64, y: f64): f64;\\n /** Performs the floor operation on a 64-bit float. */\\n export function floor(value: f64): f64;\\n /** Rounds to the nearest integer tied to even of a 64-bit float. */\\n export function nearest(value: f64): f64;\\n /** Reinterprets the bits of the specified 64-bit integer as a 64-bit float. */\\n export function reinterpret_i64(value: i64): f64;\\n /** Calculates the square root of a 64-bit float. */\\n export function sqrt(value: f64): f64;\\n /** Rounds to the nearest integer towards zero of a 64-bit float. */\\n export function trunc(value: f64): f64;\\n}\\n/** Initializes a 128-bit vector from sixteen 8-bit integer values. Arguments must be compile-time constants. */\\ndeclare function v128(a: i8, b: i8, c: i8, d: i8, e: i8, f: i8, g: i8, h: i8, i: i8, j: i8, k: i8, l: i8, m: i8, n: i8, o: i8, p: i8): v128;\\ndeclare namespace v128 {\\n /** Creates a vector with identical lanes. */\\n export function splat(x: T): v128;\\n /** Extracts one lane as a scalar. */\\n export function extract_lane(x: v128, idx: u8): T;\\n /** Replaces one lane. */\\n export function replace_lane(x: v128, idx: u8, value: T): v128;\\n /** Selects lanes from either vector according to the specified lane indexes. */\\n export function shuffle(a: v128, b: v128, ...lanes: u8[]): v128;\\n /** Selects 8-bit lanes from the first vector according to the indexes [0-15] specified by the 8-bit lanes of the second vector. */\\n export function swizzle(a: v128, s: v128): v128;\\n /** Loads a vector from memory. */\\n export function load(ptr: usize, immOffset?: usize, immAlign?: usize): v128;\\n /** Creates a vector by loading the lanes of the specified type and extending each to the next larger type. */\\n export function load_ext(ptr: usize, immOffset?: usize, immAlign?: usize): v128;\\n /** Creates a vector by loading a value of the specified type into the lowest bits and initializing all other bits of the vector to zero. */\\n export function load_zero(ptr: usize, immOffset?: usize, immAlign?: usize): v128;\\n /** Loads a single lane from memory into the specified lane of the given vector. Other lanes are bypassed as is. */\\n export function load_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): v128;\\n /** Stores the single lane at the specified index of the given vector to memory. */\\n export function store_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): void;\\n /** Creates a vector with eight 16-bit integer lanes by loading and sign extending eight 8-bit integers. */\\n export function load8x8_s(ptr: usize, immOffset?: u32, immAlign?: u32): v128;\\n /** Creates a vector with eight 16-bit integer lanes by loading and zero extending eight 8-bit integers. */\\n export function load8x8_u(ptr: usize, immOffset?: u32, immAlign?: u32): v128;\\n /** Creates a vector with four 32-bit integer lanes by loading and sign extending four 16-bit integers. */\\n export function load16x4_s(ptr: usize, immOffset?: u32, immAlign?: u32): v128;\\n /** Creates a vector with four 32-bit integer lanes by loading and zero extending four 16-bit integers. */\\n export function load16x4_u(ptr: usize, immOffset?: u32, immAlign?: u32): v128;\\n /** Creates a vector with two 64-bit integer lanes by loading and sign extending two 32-bit integers. */\\n export function load32x2_s(ptr: usize, immOffset?: u32, immAlign?: u32): v128;\\n /** Creates a vector with two 64-bit integer lanes by loading and zero extending two 32-bit integers. */\\n export function load32x2_u(ptr: usize, immOffset?: u32, immAlign?: u32): v128;\\n /** Creates a vector with identical lanes by loading the splatted value. */\\n export function load_splat(ptr: usize, immOffset?: usize, immAlign?: usize): v128;\\n /** Loads an 8-bit integer and splats it sixteen times forming a new vector. */\\n export function load8_splat(ptr: usize, immOffset?: usize, immAlign?: usize): v128;\\n /** Loads a 16-bit integer and splats it eight times forming a new vector. */\\n export function load16_splat(ptr: usize, immOffset?: usize, immAlign?: usize): v128;\\n /** Loads a 32-bit integer and splats it four times forming a new vector. */\\n export function load32_splat(ptr: usize, immOffset?: usize, immAlign?: usize): v128;\\n /** Loads a 64-bit integer and splats it two times forming a new vector. */\\n export function load64_splat(ptr: usize, immOffset?: usize, immAlign?: usize): v128;\\n /** Creates a vector by loading a 32-bit value into the lowest bits and initializing all other bits of the vector to zero. */\\n export function load32_zero(ptr: usize, immOffset?: usize, immAlign?: usize): v128;\\n /** Creates a vector by loading a 64-bit value into the lowest bits and initializing all other bits of the vector to zero. */\\n export function load64_zero(ptr: usize, immOffset?: usize, immAlign?: usize): v128;\\n /** Loads a single 8-bit lane from memory into the specified lane of the given vector. Other lanes are bypassed as is. */\\n export function load8_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): v128;\\n /** Loads a single 16-bit lane from memory into the specified lane of the given vector. Other lanes are bypassed as is. */\\n export function load16_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): v128;\\n /** Loads a single 32-bit lane from memory into the specified lane of the given vector. Other lanes are bypassed as is. */\\n export function load32_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): v128;\\n /** Loads a single 64-bit lane from memory into the specified lane of the given vector. Other lanes are bypassed as is. */\\n export function load64_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): v128;\\n /** Stores the 8-bit lane at the specified lane of the given vector to memory. */\\n export function store8_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): void;\\n /** Stores the 16-bit lane at the specified lane of the given vector to memory. */\\n export function store16_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): void;\\n /** Stores the 32-bit lane at the specified lane of the given vector to memory. */\\n export function store32_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): void;\\n /** Stores the 64-bit lane at the specified lane of the given vector to memory. */\\n export function store64_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): void;\\n /** Stores a vector to memory. */\\n export function store(ptr: usize, value: v128, immOffset?: usize, immAlign?: usize): void;\\n /** Adds each lane. */\\n export function add(a: v128, b: v128): v128;\\n /** Subtracts each lane. */\\n export function sub(a: v128, b: v128): v128;\\n /** Multiplies each lane. */\\n export function mul(a: v128, b: v128): v128; // except i64\\n /** Divides each lane. */\\n export function div(a: v128, b: v128): v128;\\n /** Negates each lane of a vector. */\\n export function neg(a: v128): v128;\\n /** Adds each lane using saturation. */\\n export function add_sat(a: v128, b: v128): v128;\\n /** Subtracts each lane using saturation. */\\n export function sub_sat(a: v128, b: v128): v128;\\n /** Performs a bitwise left shift on each lane of a vector by a scalar. */\\n export function shl(a: v128, b: i32): v128;\\n /** Performs a bitwise right shift on each lane of a vector by a scalar. */\\n export function shr(a: v128, b: i32): v128;\\n /** Performs the bitwise AND operation on two vectors. */\\n export function and(a: v128, b: v128): v128;\\n /** Performs the bitwise OR operation on two vectors. */\\n export function or(a: v128, b: v128): v128;\\n /** Performs the bitwise XOR operation on two vectors. */\\n export function xor(a: v128, b: v128): v128;\\n /** Performs the bitwise ANDNOT operation on two vectors. */\\n export function andnot(a: v128, b: v128): v128;\\n /** Performs the bitwise NOT operation on a vector. */\\n export function not(a: v128): v128;\\n /** Selects bits of either vector according to the specified mask. Selects from `v1` if the bit in `mask` is `1`, otherwise from `v2`. */\\n export function bitselect(v1: v128, v2: v128, mask: v128): v128;\\n /** Reduces a vector to a scalar indicating whether any lane is considered `true`. */\\n export function any_true(a: v128): bool;\\n /** Reduces a vector to a scalar indicating whether all lanes are considered `true`. */\\n export function all_true(a: v128): bool;\\n /** Extracts the high bit of each lane and produces a scalar mask with all bits concatenated. */\\n export function bitmask(a: v128): i32;\\n /** Counts the number of bits set to one within each lane. */\\n export function popcnt(a: v128): v128;\\n /** Computes the minimum of each lane. */\\n export function min(a: v128, b: v128): v128;\\n /** Computes the maximum of each lane. */\\n export function max(a: v128, b: v128): v128;\\n /** Computes the pseudo-minimum of each lane. */\\n export function pmin(a: v128, b: v128): v128;\\n /** Computes the pseudo-maximum of each lane. */\\n export function pmax(a: v128, b: v128): v128;\\n /** Computes the dot product of two lanes each, yielding lanes one size wider than the input. */\\n export function dot(a: v128, b: v128): v128;\\n /** Computes the average of each lane. */\\n export function avgr(a: v128, b: v128): v128;\\n /** Computes the absolute value of each lane. */\\n export function abs(a: v128): v128;\\n /** Computes the square root of each lane. */\\n export function sqrt(a: v128): v128;\\n /** Performs the ceiling operation on each lane. */\\n export function ceil(a: v128): v128;\\n /** Performs the floor operation on each lane. */\\n export function floor(a: v128): v128;\\n /** Rounds to the nearest integer towards zero of each lane. */\\n export function trunc(a: v128): v128;\\n /** Rounds to the nearest integer tied to even of each lane. */\\n export function nearest(a: v128): v128;\\n /** Computes which lanes are equal. */\\n export function eq(a: v128, b: v128): v128;\\n /** Computes which lanes are not equal. */\\n export function ne(a: v128, b: v128): v128;\\n /** Computes which lanes of the first vector are less than those of the second. */\\n export function lt(a: v128, b: v128): v128;\\n /** Computes which lanes of the first vector are less than or equal those of the second. */\\n export function le(a: v128, b: v128): v128;\\n /** Computes which lanes of the first vector are greater than those of the second. */\\n export function gt(a: v128, b: v128): v128;\\n /** Computes which lanes of the first vector are greater than or equal those of the second. */\\n export function ge(a: v128, b: v128): v128;\\n /** Converts each lane of a vector from integer to single-precision floating point. */\\n export function convert(a: v128): v128;\\n /** Converts the low lanes of a vector from integer to double-precision floating point. */\\n export function convert_low(a: v128): v128;\\n /** Truncates each lane of a vector from single-precision floating point to integer with saturation. Takes the target type. */\\n export function trunc_sat(a: v128): v128;\\n /** Truncates each lane of a vector from double-precision floating point to integer with saturation. Takes the target type. */\\n export function trunc_sat_zero(a: v128): v128;\\n /** Narrows each lane to their respective narrower lanes. */\\n export function narrow(a: v128, b: v128): v128;\\n /** Extends the low lanes of a vector to their respective wider lanes. */\\n export function extend_low(a: v128): v128;\\n /** Extends the high lanes of a vector to their respective wider lanes. */\\n export function extend_high(a: v128): v128;\\n /** Adds lanes pairwise producing twice wider extended results. */\\n export function extadd_pairwise(a: v128): v128;\\n /** Demotes each float lane to lower precision. The higher lanes of the result are initialized to zero. */\\n export function demote_zero(a: v128): v128;\\n /** Promotes the lower float lanes to higher precision. */\\n export function promote_low(a: v128): v128;\\n /** Performs the line-wise saturating rounding multiplication in Q15 format (`(a[i] * b[i] + (1 << (Q - 1))) >> Q` where `Q=15`). */\\n export function q15mulr_sat(a: v128, b: v128): v128;\\n /** Performs the lane-wise integer extended multiplication of the lower lanes producing a twice wider result than the inputs. */\\n export function extmul_low(a: v128, b: v128): v128;\\n /** Performs the lane-wise integer extended multiplication of the higher lanes producing a twice wider result than the inputs. */\\n export function extmul_high(a: v128, b: v128): v128;\\n /**\\n * Selects 8-bit lanes from `a` using indices in `s`. Indices in the range [0-15] select the i-th element of `a`.\\n * \\n * Unlike {@link v128.swizzle}, the result of an out of bounds index is implementation-defined, depending on hardware\\n * capabilities: Either `0` or `a[s[i]%16]`.\\n */\\n export function relaxed_swizzle(a: v128, s: v128): v128;\\n /**\\n * Truncates each lane of a vector from 32-bit floating point to a 32-bit signed or unsigned integer as indicated by\\n * `T`.\\n *\\n * Unlike {@link v128.trunc_sat}, the result of lanes out of bounds of the target type is implementation defined,\\n * depending on hardware capabilities:\\n * - If the input lane contains `NaN`, the result is either `0` or the respective maximum integer value.\\n * - If the input lane contains a value otherwise out of bounds of the target type, the result is either the\\n * saturatated result or maximum integer value.\\n */\\n export function relaxed_trunc(a: v128): v128;\\n /**\\n * Truncates each lane of a vector from 64-bit floating point to a 32-bit signed or unsigned integer as indicated by\\n * `T`. Unused higher integer lanes of the result are initialized to zero.\\n * \\n * Unlike {@link v128.trunc_sat_zero}, the result of lanes out of bounds of the target type is implementation defined,\\n * depending on hardware capabilities:\\n * - If the input lane contains `NaN`, the result is either `0` or the respective maximum integer value.\\n * - If the input lane contains a value otherwise out of bounds of the target type, the result is either the\\n * saturatated result or maximum integer value.\\n */\\n export function relaxed_trunc_zero(a: v128): v128;\\n /**\\n * Performs the fused multiply-add operation (`a * b + c`) on 32- or 64-bit floating point lanes as indicated by\\n * `T`.\\n * \\n * The result is implementation defined, depending on hardware capabilities:\\n * - Either `a * b` is rounded once and the final result rounded again, or\\n * - The expression is evaluated with higher precision and only rounded once\\n */\\n export function relaxed_madd(a: v128, b: v128, c: v128): v128;\\n /**\\n * Performs the fused negative multiply-add operation (`-(a * b) + c`) on 32- or 64-bit floating point lanes as\\n * indicated by `T`.\\n * \\n * The result is implementation defined, depending on hardware capabilities:\\n * - Either `a * b` is rounded once and the final result rounded again, or\\n * - The expression is evaluated with higher precision and only rounded once\\n */\\n export function relaxed_nmadd(a: v128, b: v128, c: v128): v128;\\n /**\\n * Selects 8-, 16-, 32- or 64-bit integer lanes as indicated by `T` from `a` or `b` based on masks in `m`.\\n * \\n * Behaves like {@link v128.bitselect} if masks in `m` do have all bits either set (result is `a[i]`) or unset (result\\n * is `b[i]`). Otherwise the result is implementation-defined, depending on hardware capabilities: If the most\\n * significant bit of `m` is set, the result is either `bitselect(a[i], b[i], mask)` or `a[i]`, otherwise the result\\n * is `b[i]`.\\n */\\n export function relaxed_laneselect(a: v128, b: v128, m: v128): v128;\\n /**\\n * Computes the minimum of each 32- or 64-bit floating point lane as indicated by `T`.\\n * \\n * Unlike {@link v128.min}, the result is implementation-defined if either value is `NaN` or both are `-0.0` and\\n * `+0.0`, depending on hardware capabilities: Either `a[i]` or `b[i]`.\\n */\\n export function relaxed_min(a: v128, b: v128): v128;\\n /**\\n * Computes the maximum of each 32- or 64-bit floating point lane as indicated by `T`.\\n * \\n * Unlike {@link v128.max}, the result is implementation-defined if either value is `NaN` or both are `-0.0` and\\n * `+0.0`, depending on hardware capabilities: Either `a[i]` or `b[i]`.\\n */\\n export function relaxed_max(a: v128, b: v128): v128;\\n /**\\n * Performs the lane-wise rounding multiplication in Q15 format (`(a[i] * b[i] + (1 << (Q - 1))) >> Q` where `Q=15`).\\n * \\n * Unlike {@link v128.q15mulr_sat}, the result is implementation-defined if both inputs are the minimum signed value:\\n * Either the minimum or maximum signed value.\\n */\\n export function relaxed_q15mulr(a: v128, b: v128): v128;\\n /**\\n * Computes the dot product of two 8-bit integer lanes each, yielding lanes one size wider than the input.\\n * \\n * Unlike {@link v128.dot}, if the most significant bit of `b[i]` is set, whether `b[i]` is interpreted as signed or\\n * unsigned is implementation-defined.\\n */\\n export function relaxed_dot(a: v128, b: v128): v128;\\n /**\\n * Computes the dot product of two 8-bit integer lanes each, yielding lanes two sizes wider than the input with the\\n * lanes of `c` accumulated into the result.\\n * \\n * Unlike {@link v128.dot}, if the most significant bit of `b[i]` is set, whether `b[i]` is interpreted as signed or\\n * unsigned by the intermediate multiplication is implementation-defined.\\n */\\n export function relaxed_dot_add(a: v128, b: v128, c: v128): v128;\\n}\\n/** Initializes a 128-bit vector from sixteen 8-bit integer values. Arguments must be compile-time constants. */\\ndeclare function i8x16(a: i8, b: i8, c: i8, d: i8, e: i8, f: i8, g: i8, h: i8, i: i8, j: i8, k: i8, l: i8, m: i8, n: i8, o: i8, p: i8): v128;\\ndeclare namespace i8x16 {\\n /** Creates a vector with sixteen identical 8-bit integer lanes. */\\n export function splat(x: i8): v128;\\n /** Extracts one 8-bit integer lane as a signed scalar. */\\n export function extract_lane_s(x: v128, idx: u8): i8;\\n /** Extracts one 8-bit integer lane as an unsigned scalar. */\\n export function extract_lane_u(x: v128, idx: u8): u8;\\n /** Replaces one 8-bit integer lane. */\\n export function replace_lane(x: v128, idx: u8, value: i8): v128;\\n /** Adds each 8-bit integer lane. */\\n export function add(a: v128, b: v128): v128;\\n /** Subtracts each 8-bit integer lane. */\\n export function sub(a: v128, b: v128): v128;\\n /** Computes the signed minimum of each 8-bit integer lane. */\\n export function min_s(a: v128, b: v128): v128;\\n /** Computes the unsigned minimum of each 8-bit integer lane. */\\n export function min_u(a: v128, b: v128): v128;\\n /** Computes the signed maximum of each 8-bit integer lane. */\\n export function max_s(a: v128, b: v128): v128;\\n /** Computes the unsigned maximum of each 8-bit integer lane. */\\n export function max_u(a: v128, b: v128): v128;\\n /** Computes the unsigned average of each 8-bit integer lane. */\\n export function avgr_u(a: v128, b: v128): v128;\\n /** Computes the absolute value of each 8-bit integer lane. */\\n export function abs(a: v128): v128;\\n /** Negates each 8-bit integer lane. */\\n export function neg(a: v128): v128;\\n /** Adds each 8-bit integer lane using signed saturation. */\\n export function add_sat_s(a: v128, b: v128): v128;\\n /** Adds each 8-bit integer lane using unsigned saturation. */\\n export function add_sat_u(a: v128, b: v128): v128;\\n /** Subtracts each 8-bit integer lane using signed saturation. */\\n export function sub_sat_s(a: v128, b: v128): v128;\\n /** Subtracts each 8-bit integer lane using unsigned saturation. */\\n export function sub_sat_u(a: v128, b: v128): v128;\\n /** Performs a bitwise left shift on each 8-bit integer lane by a scalar. */\\n export function shl(a: v128, b: i32): v128;\\n /** Performs a bitwise arithmetic right shift on each 8-bit integer lane by a scalar. */\\n export function shr_s(a: v128, b: i32): v128;\\n /** Performs a bitwise logical right shift on each 8-bit integer lane by a scalar. */\\n export function shr_u(a: v128, b: i32): v128;\\n /** Reduces a vector to a scalar indicating whether all 8-bit integer lanes are considered `true`. */\\n export function all_true(a: v128): bool;\\n /** Extracts the high bit of each 8-bit integer lane and produces a scalar mask with all bits concatenated. */\\n export function bitmask(a: v128): i32;\\n /** Counts the number of bits set to one within each 8-bit integer lane. */\\n export function popcnt(a: v128): v128;\\n /** Computes which 8-bit integer lanes are equal. */\\n export function eq(a: v128, b: v128): v128;\\n /** Computes which 8-bit integer lanes are not equal. */\\n export function ne(a: v128, b: v128): v128;\\n /** Computes which 8-bit signed integer lanes of the first vector are less than those of the second. */\\n export function lt_s(a: v128, b: v128): v128;\\n /** Computes which 8-bit unsigned integer lanes of the first vector are less than those of the second. */\\n export function lt_u(a: v128, b: v128): v128;\\n /** Computes which 8-bit signed integer lanes of the first vector are less than or equal those of the second. */\\n export function le_s(a: v128, b: v128): v128;\\n /** Computes which 8-bit unsigned integer lanes of the first vector are less than or equal those of the second. */\\n export function le_u(a: v128, b: v128): v128;\\n /** Computes which 8-bit signed integer lanes of the first vector are greater than those of the second. */\\n export function gt_s(a: v128, b: v128): v128;\\n /** Computes which 8-bit unsigned integer lanes of the first vector are greater than those of the second. */\\n export function gt_u(a: v128, b: v128): v128;\\n /** Computes which 8-bit signed integer lanes of the first vector are greater than or equal those of the second. */\\n export function ge_s(a: v128, b: v128): v128;\\n /** Computes which 8-bit unsigned integer lanes of the first vector are greater than or equal those of the second. */\\n export function ge_u(a: v128, b: v128): v128;\\n /** Narrows each 16-bit signed integer lane to 8-bit signed integer lanes. */\\n export function narrow_i16x8_s(a: v128, b: v128): v128;\\n /** Narrows each 16-bit signed integer lane to 8-bit unsigned integer lanes. */\\n export function narrow_i16x8_u(a: v128, b: v128): v128;\\n /** Selects 8-bit lanes from either vector according to the specified [0-15] respectively [16-31] lane indexes. */\\n export function shuffle(a: v128, b: v128, l0: u8, l1: u8, l2: u8, l3: u8, l4: u8, l5: u8, l6: u8, l7: u8, l8: u8, l9: u8, l10: u8, l11: u8, l12: u8, l13: u8, l14: u8, l15: u8): v128;\\n /** Selects 8-bit lanes from the first vector according to the indexes [0-15] specified by the 8-bit lanes of the second vector. */\\n export function swizzle(a: v128, s: v128): v128;\\n /**\\n * Selects 8-bit integer lanes from `a` using indices in `s`. Indices in the range [0-15] select the i-th element of\\n * `a`.\\n * \\n * Unlike {@link i8x16.swizzle}, the result of an out of bounds index is implementation-defined, depending on hardware\\n * capabilities: Either `0` or `a[s[i]%16]`.\\n */\\n export function relaxed_swizzle(a: v128, s: v128): v128;\\n /**\\n * Selects 8-bit integer lanes from `a` or `b` based on masks in `m`.\\n * \\n * Behaves like {@link v128.bitselect} if masks in `m` do have all bits either set (result is `a[i]`) or unset (result\\n * is `b[i]`). Otherwise the result is implementation-defined, depending on hardware capabilities: If the most\\n * significant bit of `m` is set, the result is either `bitselect(a[i], b[i], mask)` or `a[i]`, otherwise the result\\n * is `b[i]`.\\n */\\n export function relaxed_laneselect(a: v128, b: v128, m: v128): v128;\\n}\\n/** Initializes a 128-bit vector from eight 16-bit integer values. Arguments must be compile-time constants. */\\ndeclare function i16x8(a: i16, b: i16, c: i16, d: i16, e: i16, f: i16, g: i16, h: i16): v128;\\ndeclare namespace i16x8 {\\n /** Creates a vector with eight identical 16-bit integer lanes. */\\n export function splat(x: i16): v128;\\n /** Extracts one 16-bit integer lane as a signed scalar. */\\n export function extract_lane_s(x: v128, idx: u8): i16;\\n /** Extracts one 16-bit integer lane as an unsigned scalar. */\\n export function extract_lane_u(x: v128, idx: u8): u16;\\n /** Replaces one 16-bit integer lane. */\\n export function replace_lane(x: v128, idx: u8, value: i16): v128;\\n /** Adds each 16-bit integer lane. */\\n export function add(a: v128, b: v128): v128;\\n /** Subtracts each 16-bit integer lane. */\\n export function sub(a: v128, b: v128): v128;\\n /** Multiplies each 16-bit integer lane. */\\n export function mul(a: v128, b: v128): v128;\\n /** Computes the signed minimum of each 16-bit integer lane. */\\n export function min_s(a: v128, b: v128): v128;\\n /** Computes the unsigned minimum of each 16-bit integer lane. */\\n export function min_u(a: v128, b: v128): v128;\\n /** Computes the signed maximum of each 16-bit integer lane. */\\n export function max_s(a: v128, b: v128): v128;\\n /** Computes the unsigned maximum of each 16-bit integer lane. */\\n export function max_u(a: v128, b: v128): v128;\\n /** Computes the unsigned average of each 16-bit integer lane. */\\n export function avgr_u(a: v128, b: v128): v128;\\n /** Computes the absolute value of each 16-bit integer lane. */\\n export function abs(a: v128): v128;\\n /** Negates each 16-bit integer lane. */\\n export function neg(a: v128): v128;\\n /** Adds each 16-bit integer lane using signed saturation. */\\n export function add_sat_s(a: v128, b: v128): v128;\\n /** Adds each 16-bit integer lane using unsigned saturation. */\\n export function add_sat_u(a: v128, b: v128): v128;\\n /** Subtracts each 16-bit integer lane using signed saturation. */\\n export function sub_sat_s(a: v128, b: v128): v128;\\n /** Subtracts each 16-bit integer lane using unsigned saturation. */\\n export function sub_sat_u(a: v128, b: v128): v128;\\n /** Performs a bitwise left shift on each 16-bit integer lane by a scalar. */\\n export function shl(a: v128, b: i32): v128;\\n /** Performs a bitwise arithmetic right shift each 16-bit integer lane by a scalar. */\\n export function shr_s(a: v128, b: i32): v128;\\n /** Performs a bitwise logical right shift on each 16-bit integer lane by a scalar. */\\n export function shr_u(a: v128, b: i32): v128;\\n /** Reduces a vector to a scalar indicating whether all 16-bit integer lanes are considered `true`. */\\n export function all_true(a: v128): bool;\\n /** Extracts the high bit of each 16-bit integer lane and produces a scalar mask with all bits concatenated. */\\n export function bitmask(a: v128): i32;\\n /** Computes which 16-bit integer lanes are equal. */\\n export function eq(a: v128, b: v128): v128;\\n /** Computes which 16-bit integer lanes are not equal. */\\n export function ne(a: v128, b: v128): v128;\\n /** Computes which 16-bit signed integer lanes of the first vector are less than those of the second. */\\n export function lt_s(a: v128, b: v128): v128;\\n /** Computes which 16-bit unsigned integer lanes of the first vector are less than those of the second. */\\n export function lt_u(a: v128, b: v128): v128;\\n /** Computes which 16-bit signed integer lanes of the first vector are less than or equal those of the second. */\\n export function le_s(a: v128, b: v128): v128;\\n /** Computes which 16-bit unsigned integer lanes of the first vector are less than or equal those of the second. */\\n export function le_u(a: v128, b: v128): v128;\\n /** Computes which 16-bit signed integer lanes of the first vector are greater than those of the second. */\\n export function gt_s(a: v128, b: v128): v128;\\n /** Computes which 16-bit unsigned integer lanes of the first vector are greater than those of the second. */\\n export function gt_u(a: v128, b: v128): v128;\\n /** Computes which 16-bit signed integer lanes of the first vector are greater than or equal those of the second. */\\n export function ge_s(a: v128, b: v128): v128;\\n /** Computes which 16-bit unsigned integer lanes of the first vector are greater than or equal those of the second. */\\n export function ge_u(a: v128, b: v128): v128;\\n /** Narrows each 32-bit signed integer lane to 16-bit signed integer lanes. */\\n export function narrow_i32x4_s(a: v128, b: v128): v128;\\n /** Narrows each 32-bit signed integer lane to 16-bit unsigned integer lanes. */\\n export function narrow_i32x4_u(a: v128, b: v128): v128;\\n /** Extends the low 8-bit signed integer lanes to 16-bit signed integer lanes. */\\n export function extend_low_i8x16_s(a: v128): v128;\\n /** Extends the low 8-bit unsigned integer lanes to 16-bit unsigned integer lanes. */\\n export function extend_low_i8x16_u(a: v128): v128;\\n /** Extends the high 8-bit signed integer lanes to 16-bit signed integer lanes. */\\n export function extend_high_i8x16_s(a: v128): v128;\\n /** Extends the high 8-bit unsigned integer lanes to 16-bit unsigned integer lanes. */\\n export function extend_high_i8x16_u(a: v128): v128;\\n /** Adds the sixteen 8-bit signed integer lanes pairwise producing eight 16-bit signed integer results. */\\n export function extadd_pairwise_i8x16_s(a: v128): v128;\\n /** Adds the sixteen 8-bit unsigned integer lanes pairwise producing eight 16-bit unsigned integer results. */\\n export function extadd_pairwise_i8x16_u(a: v128): v128;\\n /** Performs the line-wise 16-bit signed integer saturating rounding multiplication in Q15 format. */\\n export function q15mulr_sat_s(a: v128, b: v128): v128;\\n /** Performs the lane-wise 8-bit signed integer extended multiplication of the eight lower lanes producing twice wider 16-bit integer results. */\\n export function extmul_low_i8x16_s(a: v128, b: v128): v128;\\n /** Performs the lane-wise 8-bit unsigned integer extended multiplication of the eight lower lanes producing twice wider 16-bit integer results. */\\n export function extmul_low_i8x16_u(a: v128, b: v128): v128;\\n /** Performs the lane-wise 8-bit signed integer extended multiplication of the eight higher lanes producing twice wider 16-bit integer results. */\\n export function extmul_high_i8x16_s(a: v128, b: v128): v128;\\n /** Performs the lane-wise 8-bit unsigned integer extended multiplication of the eight higher lanes producing twice wider 16-bit integer results. */\\n export function extmul_high_i8x16_u(a: v128, b: v128): v128;\\n /** Selects 16-bit lanes from either vector according to the specified [0-7] respectively [8-15] lane indexes. */\\n export function shuffle(a: v128, b: v128, l0: u8, l1: u8, l2: u8, l3: u8, l4: u8, l5: u8, l6: u8, l7: u8): v128;\\n /**\\n * Selects 16-bit integer lanes from `a` or `b` based on masks in `m`.\\n *\\n * Behaves like {@link v128.bitselect} if masks in `m` do have all bits either set (result is `a[i]`) or unset (result\\n * is `b[i]`). Otherwise the result is implementation-defined, depending on hardware capabilities: If the most\\n * significant bit of `m` is set, the result is either `bitselect(a[i], b[i], mask)` or `a[i]`, otherwise the result\\n * is `b[i]`.\\n */\\n export function relaxed_laneselect(a: v128, b: v128, m: v128): v128;\\n /**\\n * Performs the line-wise rounding multiplication in Q15 format (`(a[i] * b[i] + (1 << (Q - 1))) >> Q` where `Q=15`).\\n *\\n * Some results are implementation-defined: If both inputs are `i16.MIN_VALUE`, the value of the respective\\n * resulting lane may be either `i16.MIN_VALUE` or `i16.MAX_VALUE`.\\n */\\n export function relaxed_q15mulr_s(a: v128, b: v128): v128;\\n /**\\n * Computes the dot product of two 8-bit integer lanes each, yielding lanes one size wider than the input.\\n * \\n * Some results are implementation-defined: If the most significant bit of `b[i]` is set, the intermediate\\n * multiplication may interpret `b[i]` as either signed or unsigned.\\n */\\n export function relaxed_dot_i8x16_i7x16_s(a: v128, b: v128): v128;\\n}\\n/** Initializes a 128-bit vector from four 32-bit integer values. Arguments must be compile-time constants. */\\ndeclare function i32x4(a: i32, b: i32, c: i32, d: i32): v128;\\ndeclare namespace i32x4 {\\n /** Creates a vector with four identical 32-bit integer lanes. */\\n export function splat(x: i32): v128;\\n /** Extracts one 32-bit integer lane as a scalar. */\\n export function extract_lane(x: v128, idx: u8): i32;\\n /** Replaces one 32-bit integer lane. */\\n export function replace_lane(x: v128, idx: u8, value: i32): v128;\\n /** Adds each 32-bit integer lane. */\\n export function add(a: v128, b: v128): v128;\\n /** Subtracts each 32-bit integer lane. */\\n export function sub(a: v128, b: v128): v128;\\n /** Multiplies each 32-bit integer lane. */\\n export function mul(a: v128, b: v128): v128;\\n /** Computes the signed minimum of each 32-bit integer lane. */\\n export function min_s(a: v128, b: v128): v128;\\n /** Computes the unsigned minimum of each 32-bit integer lane. */\\n export function min_u(a: v128, b: v128): v128;\\n /** Computes the signed maximum of each 32-bit integer lane. */\\n export function max_s(a: v128, b: v128): v128;\\n /** Computes the unsigned maximum of each 32-bit integer lane. */\\n export function max_u(a: v128, b: v128): v128;\\n /** Computes the dot product of two 16-bit integer lanes each, yielding 32-bit integer lanes. */\\n export function dot_i16x8_s(a: v128, b: v128): v128;\\n /** Computes the absolute value of each 32-bit integer lane. */\\n export function abs(a: v128): v128;\\n /** Negates each 32-bit integer lane. */\\n export function neg(a: v128): v128;\\n /** Performs a bitwise left shift on each 32-bit integer lane by a scalar. */\\n export function shl(a: v128, b: i32): v128;\\n /** Performs a bitwise arithmetic right shift on each 32-bit integer lane by a scalar. */\\n export function shr_s(a: v128, b: i32): v128;\\n /** Performs a bitwise logical right shift on each 32-bit integer lane by a scalar. */\\n export function shr_u(a: v128, b: i32): v128;\\n /** Reduces a vector to a scalar indicating whether all 32-bit integer lanes are considered `true`. */\\n export function all_true(a: v128): bool;\\n /** Extracts the high bit of each 32-bit integer lane and produces a scalar mask with all bits concatenated. */\\n export function bitmask(a: v128): i32;\\n /** Computes which 32-bit integer lanes are equal. */\\n export function eq(a: v128, b: v128): v128;\\n /** Computes which 32-bit integer lanes are not equal. */\\n export function ne(a: v128, b: v128): v128;\\n /** Computes which 32-bit signed integer lanes of the first vector are less than those of the second. */\\n export function lt_s(a: v128, b: v128): v128;\\n /** Computes which 32-bit unsigned integer lanes of the first vector are less than those of the second. */\\n export function lt_u(a: v128, b: v128): v128;\\n /** Computes which 32-bit signed integer lanes of the first vector are less than or equal those of the second. */\\n export function le_s(a: v128, b: v128): v128;\\n /** Computes which 32-bit unsigned integer lanes of the first vector are less than or equal those of the second. */\\n export function le_u(a: v128, b: v128): v128;\\n /** Computes which 32-bit signed integer lanes of the first vector are greater than those of the second. */\\n export function gt_s(a: v128, b: v128): v128;\\n /** Computes which 32-bit unsigned integer lanes of the first vector are greater than those of the second. */\\n export function gt_u(a: v128, b: v128): v128;\\n /** Computes which 32-bit signed integer lanes of the first vector are greater than or equal those of the second. */\\n export function ge_s(a: v128, b: v128): v128;\\n /** Computes which 32-bit unsigned integer lanes of the first vector are greater than or equal those of the second. */\\n export function ge_u(a: v128, b: v128): v128;\\n /** Truncates each 32-bit float lane to a signed integer with saturation. */\\n export function trunc_sat_f32x4_s(a: v128): v128;\\n /** Truncates each 32-bit float lane to an unsigned integer with saturation. */\\n export function trunc_sat_f32x4_u(a: v128): v128;\\n /** Truncates the two 64-bit float lanes to the two lower signed integer lanes with saturation. The two higher integer lanes of the result are initialized to zero. */\\n export function trunc_sat_f64x2_s_zero(a: v128): v128;\\n /** Truncates the two 64-bit float lanes to the two lower unsigned integer lanes with saturation. The two higher integer lanes of the result are initialized to zero. */\\n export function trunc_sat_f64x2_u_zero(a: v128): v128;\\n /** Extends the low 16-bit signed integer lanes to 32-bit signed integer lanes. */\\n export function extend_low_i16x8_s(a: v128): v128;\\n /** Extends the low 16-bit unsigned integer lane to 32-bit unsigned integer lanes. */\\n export function extend_low_i16x8_u(a: v128): v128;\\n /** Extends the high 16-bit signed integer lanes to 32-bit signed integer lanes. */\\n export function extend_high_i16x8_s(a: v128): v128;\\n /** Extends the high 16-bit unsigned integer lanes to 32-bit unsigned integer lanes. */\\n export function extend_high_i16x8_u(a: v128): v128;\\n /** Adds the eight 16-bit signed integer lanes pairwise producing four 32-bit signed integer results. */\\n export function extadd_pairwise_i16x8_s(a: v128): v128;\\n /** Adds the eight 16-bit unsigned integer lanes pairwise producing four 32-bit unsigned integer results. */\\n export function extadd_pairwise_i16x8_u(a: v128): v128;\\n /** Performs the lane-wise 16-bit signed integer extended multiplication of the four lower lanes producing twice wider 32-bit integer results. */\\n export function extmul_low_i16x8_s(a: v128, b: v128): v128;\\n /** Performs the lane-wise 16-bit unsigned integer extended multiplication of the four lower lanes producing twice wider 32-bit integer results. */\\n export function extmul_low_i16x8_u(a: v128, b: v128): v128;\\n /** Performs the lane-wise 16-bit signed integer extended multiplication of the four higher lanes producing twice wider 32-bit integer results. */\\n export function extmul_high_i16x8_s(a: v128, b: v128): v128;\\n /** Performs the lane-wise 16-bit unsigned integer extended multiplication of the four higher lanes producing twice wider 32-bit integer results. */\\n export function extmul_high_i16x8_u(a: v128, b: v128): v128;\\n /** Selects 32-bit lanes from either vector according to the specified [0-3] respectively [4-7] lane indexes. */\\n export function shuffle(a: v128, b: v128, l0: u8, l1: u8, l2: u8, l3: u8): v128;\\n /**\\n * Truncates each lane of a vector from 32-bit floating point to a signed 32-bit integer.\\n *\\n * Unlike {@link i32x4.trunc_sat_f32x4_s}, the result of lanes out of bounds of the target type is implementation\\n * defined, depending on hardware capabilities:\\n * - If the input lane contains `NaN`, the result is either `0` or the respective maximum integer value.\\n * - If the input lane contains a value otherwise out of bounds of the target type, the result is either the\\n * saturatated result or maximum integer value.\\n */\\n export function relaxed_trunc_f32x4_s(a: v128): v128;\\n /**\\n * Truncates each lane of a vector from 32-bit floating point to an unsigned 32-bit integer.\\n *\\n * Unlike {@link i32x4.trunc_sat_f32x4_u}, the result of lanes out of bounds of the target type is implementation\\n * defined, depending on hardware capabilities:\\n * - If the input lane contains `NaN`, the result is either `0` or the respective maximum integer value.\\n * - If the input lane contains a value otherwise out of bounds of the target type, the result is either the\\n * saturatated result or maximum integer value.\\n */\\n export function relaxed_trunc_f32x4_u(a: v128): v128;\\n /**\\n * Truncates each lane of a vector from 64-bit floating point to a signed 32-bit integer. The two higher\\n * integer lanes of the result are initialized to zero.\\n * \\n * Unlike {@link i32x4.trunc_sat_f64x2_s_zero}, the result of lanes out of bounds of the target type is implementation\\n * defined, depending on hardware capabilities:\\n * - If the input lane contains `NaN`, the result is either `0` or the respective maximum integer value.\\n * - If the input lane contains a value otherwise out of bounds of the target type, the result is either the\\n * saturatated result or maximum integer value.\\n */\\n export function relaxed_trunc_f64x2_s_zero(a: v128): v128;\\n /**\\n * Truncates each lane of a vector from 64-bit floating point to an unsigned 32-bit integer. The two higher\\n * integer lanes of the result are initialized to zero.\\n * \\n * Unlike {@link i32x4.trunc_sat_f64x2_u_zero}, the result of lanes out of bounds of the target type is implementation\\n * defined, depending on hardware capabilities:\\n * - If the input lane contains `NaN`, the result is either `0` or the respective maximum integer value.\\n * - If the input lane contains a value otherwise out of bounds of the target type, the result is either the\\n * saturatated result or maximum integer value.\\n */\\n export function relaxed_trunc_f64x2_u_zero(a: v128): v128;\\n /**\\n * Selects 32-bit integer lanes from `a` or `b` based on masks in `m`.\\n *\\n * Behaves like {@link v128.bitselect} if masks in `m` do have all bits either set (result is `a[i]`) or unset (result\\n * is `b[i]`). Otherwise the result is implementation-defined, depending on hardware capabilities: If the most\\n * significant bit of `m` is set, the result is either `bitselect(a[i], b[i], mask)` or `a[i]`, otherwise the result\\n * is `b[i]`.\\n */\\n export function relaxed_laneselect(a: v128, b: v128, m: v128): v128;\\n /**\\n * Computes the dot product of two 8-bit lanes each, yielding lanes two sizes wider than the input with the lanes of\\n * `c` accumulated into the result.\\n * \\n * Unlike {@link v128.dot}, if the most significant bit of `b[i]` is set, whether `b[i]` is interpreted as signed or\\n * unsigned by the intermediate multiplication is implementation-defined.\\n */\\n export function relaxed_dot_i8x16_i7x16_add_s(a: v128, b: v128, c: v128): v128;\\n}\\n/** Initializes a 128-bit vector from two 64-bit integer values. Arguments must be compile-time constants. */\\ndeclare function i64x2(a: i64, b: i64): v128;\\ndeclare namespace i64x2 {\\n /** Creates a vector with two identical 64-bit integer lanes. */\\n export function splat(x: i64): v128;\\n /** Extracts one 64-bit integer lane as a scalar. */\\n export function extract_lane(x: v128, idx: u8): i64;\\n /** Replaces one 64-bit integer lane. */\\n export function replace_lane(x: v128, idx: u8, value: i64): v128;\\n /** Adds each 64-bit integer lane. */\\n export function add(a: v128, b: v128): v128;\\n /** Subtracts each 64-bit integer lane. */\\n export function sub(a: v128, b: v128): v128;\\n /** Multiplies each 64-bit integer lane. */\\n export function mul(a: v128, b: v128): v128;\\n /** Computes the absolute value of each 64-bit integer lane. */\\n export function abs(a: v128): v128;\\n /** Negates each 64-bit integer lane. */\\n export function neg(a: v128): v128;\\n /** Performs a bitwise left shift on each 64-bit integer lane by a scalar. */\\n export function shl(a: v128, b: i32): v128;\\n /** Performs a bitwise arithmetic right shift on each 64-bit integer lane by a scalar. */\\n export function shr_s(a: v128, b: i32): v128;\\n /** Performs a bitwise logical right shift on each 64-bit integer lane by a scalar. */\\n export function shr_u(a: v128, b: i32): v128;\\n /** Reduces a vector to a scalar indicating whether all 64-bit integer lanes are considered `true`. */\\n export function all_true(a: v128): bool;\\n /** Extracts the high bit of each 64-bit integer lane and produces a scalar mask with all bits concatenated. */\\n export function bitmask(a: v128): i32;\\n /** Computes which 64-bit integer lanes are equal. */\\n export function eq(a: v128, b: v128): v128;\\n /** Computes which 64-bit integer lanes are not equal. */\\n export function ne(a: v128, b: v128): v128;\\n /** Computes which 64-bit signed integer lanes of the first vector are less than those of the second. */\\n export function lt_s(a: v128, b: v128): v128;\\n /** Computes which 64-bit signed integer lanes of the first vector are less than or equal those of the second. */\\n export function le_s(a: v128, b: v128): v128;\\n /** Computes which 64-bit signed integer lanes of the first vector are greater than those of the second. */\\n export function gt_s(a: v128, b: v128): v128;\\n /** Computes which 64-bit signed integer lanes of the first vector are greater than or equal those of the second. */\\n export function ge_s(a: v128, b: v128): v128;\\n /** Extends the low 32-bit signed integer lanes to 64-bit signed integer lanes. */\\n export function extend_low_i32x4_s(a: v128): v128;\\n /** Extends the low 32-bit unsigned integer lane to 64-bit unsigned integer lanes. */\\n export function extend_low_i32x4_u(a: v128): v128;\\n /** Extends the high 32-bit signed integer lanes to 64-bit signed integer lanes. */\\n export function extend_high_i32x4_s(a: v128): v128;\\n /** Extends the high 32-bit unsigned integer lanes to 64-bit unsigned integer lanes. */\\n export function extend_high_i32x4_u(a: v128): v128;\\n /** Performs the lane-wise 32-bit signed integer extended multiplication of the two lower lanes producing twice wider 64-bit integer results. */\\n export function extmul_low_i32x4_s(a: v128, b: v128): v128;\\n /** Performs the lane-wise 32-bit unsigned integer extended multiplication of the two lower lanes producing twice wider 64-bit integer results. */\\n export function extmul_low_i32x4_u(a: v128, b: v128): v128;\\n /** Performs the lane-wise 32-bit signed integer extended multiplication of the two higher lanes producing twice wider 64-bit integer results. */\\n export function extmul_high_i32x4_s(a: v128, b: v128): v128;\\n /** Performs the lane-wise 32-bit unsigned integer extended multiplication of the two higher lanes producing twice wider 64-bit integer results. */\\n export function extmul_high_i32x4_u(a: v128, b: v128): v128;\\n /** Selects 64-bit lanes from either vector according to the specified [0-1] respectively [2-3] lane indexes. */\\n export function shuffle(a: v128, b: v128, l0: u8, l1: u8): v128;\\n /**\\n * Selects 64-bit integer lanes from `a` or `b` based on masks in `m`.\\n *\\n * Behaves like {@link v128.bitselect} if masks in `m` do have all bits either set (result is `a[i]`) or unset (result\\n * is `b[i]`). Otherwise the result is implementation-defined, depending on hardware capabilities: If the most\\n * significant bit of `m` is set, the result is either `bitselect(a[i], b[i], mask)` or `a[i]`, otherwise the result\\n * is `b[i]`.\\n */\\n export function relaxed_laneselect(a: v128, b: v128, m: v128): v128;\\n}\\n/** Initializes a 128-bit vector from four 32-bit float values. Arguments must be compile-time constants. */\\ndeclare function f32x4(a: f32, b: f32, c: f32, d: f32): v128;\\ndeclare namespace f32x4 {\\n /** Creates a vector with four identical 32-bit float lanes. */\\n export function splat(x: f32): v128;\\n /** Extracts one 32-bit float lane as a scalar. */\\n export function extract_lane(x: v128, idx: u8): f32;\\n /** Replaces one 32-bit float lane. */\\n export function replace_lane(x: v128, idx: u8, value: f32): v128;\\n /** Adds each 32-bit float lane. */\\n export function add(a: v128, b: v128): v128;\\n /** Subtracts each 32-bit float lane. */\\n export function sub(a: v128, b: v128): v128;\\n /** Multiplies each 32-bit float lane. */\\n export function mul(a: v128, b: v128): v128;\\n /** Divides each 32-bit float lane. */\\n export function div(a: v128, b: v128): v128;\\n /** Negates each 32-bit float lane. */\\n export function neg(a: v128): v128;\\n /** Computes the minimum of each 32-bit float lane. */\\n export function min(a: v128, b: v128): v128;\\n /** Computes the maximum of each 32-bit float lane. */\\n export function max(a: v128, b: v128): v128;\\n /** Computes the pseudo-minimum of each 32-bit float lane. */\\n export function pmin(a: v128, b: v128): v128;\\n /** Computes the pseudo-maximum of each 32-bit float lane. */\\n export function pmax(a: v128, b: v128): v128;\\n /** Computes the absolute value of each 32-bit float lane. */\\n export function abs(a: v128): v128;\\n /** Computes the square root of each 32-bit float lane. */\\n export function sqrt(a: v128): v128;\\n /** Performs the ceiling operation on each 32-bit float lane. */\\n export function ceil(a: v128): v128;\\n /** Performs the floor operation on each each 32-bit float lane. */\\n export function floor(a: v128): v128;\\n /** Rounds to the nearest integer towards zero of each 32-bit float lane. */\\n export function trunc(a: v128): v128;\\n /** Rounds to the nearest integer tied to even of each 32-bit float lane. */\\n export function nearest(a: v128): v128;\\n /** Computes which 32-bit float lanes are equal. */\\n export function eq(a: v128, b: v128): v128;\\n /** Computes which 32-bit float lanes are not equal. */\\n export function ne(a: v128, b: v128): v128;\\n /** Computes which 32-bit float lanes of the first vector are less than those of the second. */\\n export function lt(a: v128, b: v128): v128;\\n /** Computes which 32-bit float lanes of the first vector are less than or equal those of the second. */\\n export function le(a: v128, b: v128): v128;\\n /** Computes which 32-bit float lanes of the first vector are greater than those of the second. */\\n export function gt(a: v128, b: v128): v128;\\n /** Computes which 32-bit float lanes of the first vector are greater than or equal those of the second. */\\n export function ge(a: v128, b: v128): v128;\\n /** Converts each 32-bit signed integer lane of a vector to single-precision floating point. */\\n export function convert_i32x4_s(a: v128): v128;\\n /** Converts each 32-bit unsigned integer lane of a vector to single-precision floating point. */\\n export function convert_i32x4_u(a: v128): v128;\\n /** Demotes each 64-bit float lane of a vector to single-precision. The higher lanes of the result are initialized to zero. */\\n export function demote_f64x2_zero(a: v128): v128;\\n /** Selects 32-bit lanes from either vector according to the specified [0-3] respectively [4-7] lane indexes. */\\n export function shuffle(a: v128, b: v128, l0: u8, l1: u8, l2: u8, l3: u8): v128;\\n /**\\n * Performs the fused multiply-add operation (`a * b + c`) on all 32-bit floating point lanes.\\n * \\n * The result is implementation defined, depending on hardware capabilities:\\n * - Either `a * b` is rounded once and the final result rounded again, or\\n * - The expression is evaluated with higher precision and only rounded once\\n */\\n export function relaxed_madd(a: v128, b: v128, c: v128): v128;\\n /**\\n * Performs the fused negative multiply-add operation (`-(a * b) + c`) on all 32-bit floating point lanes.\\n * \\n * The result is implementation defined, depending on hardware capabilities:\\n * - Either `a * b` is rounded once and the final result rounded again, or\\n * - The expression is evaluated with higher precision and only rounded once\\n */\\n export function relaxed_nmadd(a: v128, b: v128, c: v128): v128;\\n /**\\n * Computes the minimum of each 32-bit floating point lane.\\n * \\n * Unlike {@link f32x4.min}, the result is implementation-defined if either value is `NaN`, `-0.0` or `+0.0`,\\n * depending on hardware capabilities: Either `a[i]` or `b[i]`.\\n */\\n export function relaxed_min(a: v128, b: v128): v128;\\n /**\\n * Computes the maximum of each 32-bit floating point lane.\\n * \\n * Unlike {@link f32x4.max}, the result is implementation-defined if either value is `NaN`, `-0.0` or `+0.0`,\\n * depending on hardware capabilities: Either `a[i]` or `b[i]`.\\n */\\n export function relaxed_max(a: v128, b: v128): v128;\\n}\\n/** Initializes a 128-bit vector from two 64-bit float values. Arguments must be compile-time constants. */\\ndeclare function f64x2(a: f64, b: f64): v128;\\ndeclare namespace f64x2 {\\n /** Creates a vector with two identical 64-bit float lanes. */\\n export function splat(x: f64): v128;\\n /** Extracts one 64-bit float lane as a scalar. */\\n export function extract_lane(x: v128, idx: u8): f64;\\n /** Replaces one 64-bit float lane. */\\n export function replace_lane(x: v128, idx: u8, value: f64): v128;\\n /** Adds each 64-bit float lane. */\\n export function add(a: v128, b: v128): v128;\\n /** Subtracts each 64-bit float lane. */\\n export function sub(a: v128, b: v128): v128;\\n /** Multiplies each 64-bit float lane. */\\n export function mul(a: v128, b: v128): v128;\\n /** Divides each 64-bit float lane. */\\n export function div(a: v128, b: v128): v128;\\n /** Negates each 64-bit float lane. */\\n export function neg(a: v128): v128;\\n /** Computes the minimum of each 64-bit float lane. */\\n export function min(a: v128, b: v128): v128;\\n /** Computes the maximum of each 64-bit float lane. */\\n export function max(a: v128, b: v128): v128;\\n /** Computes the pseudo-minimum of each 64-bit float lane. */\\n export function pmin(a: v128, b: v128): v128;\\n /** Computes the pseudo-maximum of each 64-bit float lane. */\\n export function pmax(a: v128, b: v128): v128;\\n /** Computes the absolute value of each 64-bit float lane. */\\n export function abs(a: v128): v128;\\n /** Computes the square root of each 64-bit float lane. */\\n export function sqrt(a: v128): v128;\\n /** Performs the ceiling operation on each 64-bit float lane. */\\n export function ceil(a: v128): v128;\\n /** Performs the floor operation on each each 64-bit float lane. */\\n export function floor(a: v128): v128;\\n /** Rounds to the nearest integer towards zero of each 64-bit float lane. */\\n export function trunc(a: v128): v128;\\n /** Rounds to the nearest integer tied to even of each 64-bit float lane. */\\n export function nearest(a: v128): v128;\\n /** Computes which 64-bit float lanes are equal. */\\n export function eq(a: v128, b: v128): v128;\\n /** Computes which 64-bit float lanes are not equal. */\\n export function ne(a: v128, b: v128): v128;\\n /** Computes which 64-bit float lanes of the first vector are less than those of the second. */\\n export function lt(a: v128, b: v128): v128;\\n /** Computes which 64-bit float lanes of the first vector are less than or equal those of the second. */\\n export function le(a: v128, b: v128): v128;\\n /** Computes which 64-bit float lanes of the first vector are greater than those of the second. */\\n export function gt(a: v128, b: v128): v128;\\n /** Computes which 64-bit float lanes of the first vector are greater than or equal those of the second. */\\n export function ge(a: v128, b: v128): v128;\\n /** Converts the low 32-bit signed integer lanes of a vector to double-precision floating point. */\\n export function convert_low_i32x4_s(a: v128): v128;\\n /** Converts the low 32-bit unsigned integer lanes of a vector to double-precision floating point. */\\n export function convert_low_i32x4_u(a: v128): v128;\\n /** Promotes the low 32-bit float lanes of a vector to double-precision. */\\n export function promote_low_f32x4(a: v128): v128;\\n /** Selects 64-bit lanes from either vector according to the specified [0-1] respectively [2-3] lane indexes. */\\n export function shuffle(a: v128, b: v128, l0: u8, l1: u8): v128;\\n /**\\n * Performs the fused multiply-add operation (`a * b + c`) on all 64-bit floating point lanes.\\n * \\n * The result is implementation defined, depending on hardware capabilities:\\n * - Either `a * b` is rounded once and the final result rounded again, or\\n * - The expression is evaluated with higher precision and only rounded once\\n */\\n export function relaxed_madd(a: v128, b: v128, c: v128): v128;\\n /**\\n * Performs the fused negative multiply-add operation (`-(a * b) + c`) on all 64-bit floating point lanes.\\n * \\n * The result is implementation defined, depending on hardware capabilities:\\n * - Either `a * b` is rounded once and the final result rounded again, or\\n * - The expression is evaluated with higher precision and only rounded once\\n */\\n export function relaxed_nmadd(a: v128, b: v128, c: v128): v128;\\n /**\\n * Computes the minimum of each 64-bit floating point lane.\\n * \\n * Unlike {@link f64x2.min}, the result is implementation-defined if either value is `NaN`, `-0.0` or `+0.0`,\\n * depending on hardware capabilities: Either `a[i]` or `b[i]`.\\n */\\n export function relaxed_min(a: v128, b: v128): v128;\\n /**\\n * Computes the maximum of each 64-bit floating point lane.\\n * \\n * Unlike {@link f64x2.max}, the result is implementation-defined if either value is `NaN`, `-0.0` or `+0.0`,\\n * depending on hardware capabilities: Either `a[i]` or `b[i]`.\\n */\\n export function relaxed_max(a: v128, b: v128): v128;\\n}\\n\\ndeclare abstract class i31 {\\n /** Creates a new 31-bit integer reference from the specified integer value. */\\n static new(value: i32): ref_i31;\\n /** Gets the integer value of an 31-bit integer reference. */\\n static get(i31expr: ref_i31 | null): i32;\\n}\\n\\n/** Macro type evaluating to the underlying native WebAssembly type. */\\ndeclare type native = T;\\n/** Special type evaluating the indexed access index type. */\\ndeclare type indexof> = keyof T;\\n/** Special type evaluating the indexed access value type. */\\ndeclare type valueof> = T[0];\\n/** A special type evaluated to the return type of T if T is a callable function. */\\ndeclare type ReturnType any> = T extends (...args: any) => infer R ? R : any;\\n/** A special type evaluated to the return type of T if T is a callable function. */\\ndeclare type returnof any> = ReturnType;\\n/** A special type that excludes null and undefined from T. */\\ndeclare type NonNullable = T extends null | undefined ? never : T;\\n/** A special type that excludes null and undefined from T. */\\ndeclare type nonnull = NonNullable;\\n\\n/** Pseudo-class representing the backing class of integer types. */\\n/** @internal */\\ndeclare class _Integer {\\n /** Smallest representable value. */\\n static readonly MIN_VALUE: number;\\n /** Largest representable value. */\\n static readonly MAX_VALUE: number;\\n /** @deprecated Converts a string to an integer of this type. Please use \\\"i32.parse\\\" method. */\\n static parseInt(value: string, radix?: number): number;\\n /** Converts this integer to a string. */\\n toString(radix?: number): string;\\n}\\n\\n/** Pseudo-class representing the backing class of floating-point types. */\\n/** @internal */\\ndeclare class _Float {\\n /** Difference between 1 and the smallest representable value greater than 1. */\\n static readonly EPSILON: f32 | f64;\\n /** Smallest representable value. */\\n static readonly MIN_VALUE: f32 | f64;\\n /** Largest representable value. */\\n static readonly MAX_VALUE: f32 | f64;\\n /** Smallest safely representable integer value. */\\n static readonly MIN_SAFE_INTEGER: f32 | f64;\\n /** Largest safely representable integer value. */\\n static readonly MAX_SAFE_INTEGER: f32 | f64;\\n /** Value representing positive infinity. */\\n static readonly POSITIVE_INFINITY: f32 | f64;\\n /** Value representing negative infinity. */\\n static readonly NEGATIVE_INFINITY: f32 | f64;\\n /** Value representing 'not a number'. */\\n static readonly NaN: f32 | f64;\\n /** Returns a boolean value that indicates whether a value is the reserved value NaN (not a number). */\\n static isNaN(value: f32 | f64): bool;\\n /** Returns true if passed value is finite. */\\n static isFinite(value: f32 | f64): bool;\\n /** Returns true if the value passed is a safe integer. */\\n static isSafeInteger(value: f32 | f64): bool;\\n /** Returns true if the value passed is an integer, false otherwise. */\\n static isInteger(value: f32 | f64): bool;\\n /** @deprecated Converts a string to an integer. Please use \\\"i32.parse\\\" / \\\"i64.parse\\\" methods. */\\n static parseInt(value: string, radix?: i32): f32 | f64;\\n /** @deprecated Converts a string to a floating-point number. Please use \\\"f32.parse\\\" / \\\"f64.parse\\\" methods. */\\n static parseFloat(value: string): f32 | f64;\\n /** Converts this floating-point number to a string. */\\n toString(radix?: number): string;\\n}\\n\\ndeclare class Boolean {\\n toString(radix?: number): string;\\n}\\n\\n/** Backing class of signed 8-bit integers. */\\ndeclare const I8: typeof _Integer;\\n/** Backing class of signed 16-bit integers. */\\ndeclare const I16: typeof _Integer;\\n/** Backing class of signed 32-bit integers. */\\ndeclare const I32: typeof _Integer;\\n/** Backing class of signed 64-bit integers. */\\ndeclare const I64: typeof _Integer;\\n/** Backing class of signed size integers. */\\ndeclare const Isize: typeof _Integer;\\n/** Backing class of unsigned 8-bit integers. */\\ndeclare const U8: typeof _Integer;\\n/** Backing class of unsigned 16-bit integers. */\\ndeclare const U16: typeof _Integer;\\n/** Backing class of unsigned 32-bit integers. */\\ndeclare const U32: typeof _Integer;\\n/** Backing class of unsigned 64-bit integers. */\\ndeclare const U64: typeof _Integer;\\n/** Backing class of unsigned size integers. */\\ndeclare const Usize: typeof _Integer;\\n/** Backing class of 32-bit floating-point values. */\\ndeclare const F32: typeof _Float;\\n/** Backing class of 64-bit floating-point values. */\\ndeclare const F64: typeof _Float;\\n/** Alias of F64. */\\ndeclare const Number: typeof F64;\\ndeclare type Number = _Float;\\n\\n// User-defined diagnostic macros\\n\\n/** Emits a user-defined diagnostic error when encountered. */\\ndeclare function ERROR(message?: any): never;\\n/** Emits a user-defined diagnostic warning when encountered. */\\ndeclare function WARNING(message?: any): void;\\n/** Emits a user-defined diagnostic info when encountered. */\\ndeclare function INFO(message?: any): void;\\n\\n// Standard library\\n\\n/** Memory operations. */\\ndeclare namespace memory {\\n /** Whether the memory managed interface is implemented. */\\n export const implemented: bool;\\n /** Returns the current memory size in units of pages. One page is 64kb. */\\n export function size(): i32;\\n /** Grows linear memory by a given unsigned delta of pages. One page is 64kb. Returns the previous memory size in units of pages or `-1` on failure. */\\n export function grow(value: i32): i32;\\n /** Sets n bytes beginning at the specified destination in memory to the specified byte value. */\\n export function fill(dst: usize, value: u8, count: usize): void;\\n /** Copies n bytes from the specified source to the specified destination in memory. These regions may overlap. */\\n export function copy(dst: usize, src: usize, n: usize): void;\\n /** Repeats `src` of length `srcLength` `count` times at `dst`. */\\n export function repeat(dst: usize, src: usize, srcLength: usize, count: usize): void;\\n /** Copies elements from a passive element segment to a table. */\\n export function init(segmentIndex: u32, srcOffset: usize, dstOffset: usize, n: usize): void;\\n /** Prevents further use of a passive element segment. */\\n export function drop(segmentIndex: u32): void;\\n /** Compares two chunks of memory. Returns `0` if equal, otherwise the difference of the first differing bytes. */\\n export function compare(vl: usize, vr: usize, n: usize): i32;\\n /** Gets a pointer to a zeroed static chunk of memory of the given size. Alignment defaults to `16`. Arguments must be compile-time constants. */\\n export function data(size: i32, align?: i32): usize;\\n /** Gets a pointer to a pre-initialized static chunk of memory. Alignment defaults to the size of `T`. Arguments must be compile-time constants. */\\n export function data(values: T[], align?: i32): usize;\\n\\n export namespace atomic {\\n /** Performs a wait operation on a 32-bit integer value in memory suspending this agent if the condition is met. */\\n export function wait32(ptr: usize, expected: i32, timeout?: i64): AtomicWaitResult;\\n /** Performs a wait operation on a 64-bit integer value in memory suspending this agent if the condition is met. */\\n export function wait64(ptr: usize, expected: i64, timeout?: i64): AtomicWaitResult;\\n }\\n}\\n\\n/** Heap memory interface. */\\ndeclare namespace heap {\\n /** Allocates a chunk of memory of at least the specified size. */\\n export function alloc(size: usize): usize;\\n /** Reallocates a chunk of memory to have at least the specified size. */\\n export function realloc(ptr: usize, size: usize): usize;\\n /** Frees a chunk of memory. Does hardly anything (most recent block only) with the stub/none runtime. */\\n export function free(ptr: usize): void;\\n}\\n\\n/** Table operations. */\\ndeclare namespace table {\\n /** Copies elements from a passive element segment to a table. */\\n export function init(elementIndex: u32, srcOffset: u32, dstOffset: u32, n: u32): void;\\n /** Prevents further use of a passive element segment. */\\n export function drop(elementIndex: u32): void;\\n /** Copies elements from one region of a table to another region. */\\n export function copy(dest: u32, src: u32, n: u32): void;\\n}\\n\\ndeclare namespace Atomics {\\n export function load(array: TypedArray, index: i32): T;\\n export function store(array: TypedArray, index: i32, value: T): void;\\n export function add(array: TypedArray, index: i32, value: T): T;\\n export function sub(array: TypedArray, index: i32, value: T): T;\\n export function and(array: TypedArray, index: i32, value: T): T;\\n export function or(array: TypedArray, index: i32, value: T): T;\\n export function xor(array: TypedArray, index: i32, value: T): T;\\n export function exchange(array: TypedArray, index: i32, value: T): T;\\n export function compareExchange(array: TypedArray, index: i32, expectedValue: T, replacementValue: T): T;\\n export function wait(array: TypedArray, value: T, timeout?: i64): AtomicWaitResult;\\n export function notify(array: TypedArray, index: i32, count?: i32): i32;\\n /** The static Atomics.isLockFree() method is used to determine whether to use locks or atomic operations. It returns true, if the given size is one of the BYTES_PER_ELEMENT */\\n export function isLockFree(size: usize): bool;\\n}\\n\\n/** Class representing a generic, fixed-length raw binary data buffer. */\\ndeclare class ArrayBuffer {\\n /** The size, in bytes, of the array. */\\n readonly byteLength: i32;\\n /** Returns true if value is one of the ArrayBuffer views, such as typed array or a DataView **/\\n static isView(value: T): bool;\\n /** Constructs a new array buffer of the given length in bytes. */\\n constructor(length: i32);\\n /** Returns a copy of this array buffer's bytes from begin, inclusive, up to end, exclusive. */\\n slice(begin?: i32, end?: i32): ArrayBuffer;\\n /** Returns a string representation of ArrayBuffer. */\\n toString(): string;\\n}\\n\\n/** The `DataView` view provides a low-level interface for reading and writing multiple number types in a binary `ArrayBuffer`, without having to care about the platform's endianness. */\\ndeclare class DataView {\\n /** The `buffer` accessor property represents the `ArrayBuffer` or `SharedArrayBuffer` referenced by the `DataView` at construction time. */\\n readonly buffer: ArrayBuffer;\\n /** Returns raw pointer to data storage including offset (unsafe). */\\n readonly dataStart: usize;\\n /** The `byteLength` accessor property represents the length (in bytes) of this view from the start of its `ArrayBuffer` or `SharedArrayBuffer`. */\\n readonly byteLength: i32;\\n /** The `byteOffset` accessor property represents the offset (in bytes) of this view from the start of its `ArrayBuffer` or `SharedArrayBuffer`. */\\n readonly byteOffset: i32;\\n /** Constructs a new `DataView` with the given properties */\\n constructor(buffer: ArrayBuffer, byteOffset?: i32, byteLength?: i32);\\n /** The `getFloat32()` method gets a signed 32-bit float (float) at the specified byte offset from the start of the `DataView`. */\\n getFloat32(byteOffset: i32, littleEndian?: bool): f32;\\n /** The `getFloat64()` method gets a signed 64-bit float (double) at the specified byte offset from the start of the `DataView`. */\\n getFloat64(byteOffset: i32, littleEndian?: bool): f64;\\n /** The `getInt8()` method gets a signed 8-bit integer (byte) at the specified byte offset from the start of the `DataView`. */\\n getInt8(byteOffset: i32): i8;\\n /** The `getInt16()` method gets a signed 16-bit integer (short) at the specified byte offset from the start of the `DataView`. */\\n getInt16(byteOffset: i32, littleEndian?: bool): i16;\\n /** The `getInt32()` method gets a signed 32-bit integer (long) at the specified byte offset from the start of the `DataView`. */\\n getInt32(byteOffset: i32, littleEndian?: bool): i32;\\n /** The `getInt64()` method gets a signed 64-bit integer (long long) at the specified byte offset from the start of the `DataView`. */\\n getInt64(byteOffset: i32, littleEndian?: bool): i64;\\n /** The `getUint8()` method gets an unsigned 8-bit integer (unsigned byte) at the specified byte offset from the start of the `DataView`. */\\n getUint8(byteOffset: i32): u8;\\n /** The `getUint16()` method gets an unsigned 16-bit integer (unsigned short) at the specified byte offset from the start of the `DataView`. */\\n getUint16(byteOffset: i32, littleEndian?: bool): u16;\\n /** The `getUint32()` method gets an unsigned 32-bit integer (unsigned long) at the specified byte offset from the start of the `DataView`. */\\n getUint32(byteOffset: i32, littleEndian?: bool): u32;\\n /** The `getUint64()` method gets an unsigned 64-bit integer (unsigned long long) at the specified byte offset from the start of the `DataView`. */\\n getUint64(byteOffset: i32, littleEndian?: bool): u64;\\n /** The `setFloat32()` method stores a signed 32-bit float (float) value at the specified byte offset from the start of the `DataView`. */\\n setFloat32(byteOffset: i32, value: f32, littleEndian?: bool): void;\\n /** The `setFloat64()` method stores a signed 64-bit float (double) value at the specified byte offset from the start of the `DataView`. */\\n setFloat64(byteOffset: i32, value: f64, littleEndian?: bool): void;\\n /** The `setInt8()` method stores a signed 8-bit integer (byte) value at the specified byte offset from the start of the `DataView`. */\\n setInt8(byteOffset: i32, value: i8): void;\\n /** The `setInt16()` method stores a signed 16-bit integer (short) value at the specified byte offset from the start of the `DataView`. */\\n setInt16(byteOffset: i32, value: i16, littleEndian?: bool): void;\\n /** The `setInt32()` method stores a signed 32-bit integer (long) value at the specified byte offset from the start of the `DataView`. */\\n setInt32(byteOffset: i32, value: i32, littleEndian?: bool): void;\\n /** The `setInt64()` method stores a signed 64-bit integer (long long) value at the specified byte offset from the start of the `DataView`. */\\n setInt64(byteOffset: i32, value: i64, littleEndian?: bool): void;\\n /** The `setUint8()` method stores an unsigned 8-bit integer (byte) value at the specified byte offset from the start of the `DataView`. */\\n setUint8(byteOffset: i32, value: u8): void;\\n /** The `setUint16()` method stores an unsigned 16-bit integer (unsigned short) value at the specified byte offset from the start of the `DataView`. */\\n setUint16(byteOffset: i32, value: u16, littleEndian?: bool): void;\\n /** The `setUint32()` method stores an unsigned 32-bit integer (unsigned long) value at the specified byte offset from the start of the `DataView`. */\\n setUint32(byteOffset: i32, value: u32, littleEndian?: bool): void;\\n /** The `setUint64()` method stores an unsigned 64-bit integer (unsigned long long) value at the specified byte offset from the start of the `DataView`. */\\n setUint64(byteOffset: i32, value: u64, littleEndian?: bool): void;\\n /** Returns a string representation of DataView. */\\n toString(): string;\\n}\\n\\ninterface ArrayLike {\\n [key: number]: T;\\n length: i32;\\n}\\n\\n/** Interface for a typed view on an array buffer. */\\ninterface ArrayBufferView {\\n /** The {@link ArrayBuffer} referenced by this view. */\\n readonly buffer: ArrayBuffer;\\n /** The offset in bytes from the start of the referenced {@link ArrayBuffer}. */\\n readonly byteOffset: i32;\\n /** The length in bytes from the start of the referenced {@link ArrayBuffer}. */\\n readonly byteLength: i32;\\n /** Returns raw pointer to data storage including offset (unsafe). */\\n readonly dataStart: usize;\\n}\\n\\n/** @internal */\\ndeclare abstract class TypedArray implements ArrayBufferView {\\n [key: number]: T;\\n /** Number of bytes per element. */\\n static readonly BYTES_PER_ELEMENT: usize;\\n /** Constructs a new typed array. */\\n constructor(length: i32);\\n /** The {@link ArrayBuffer} referenced by this view. */\\n readonly buffer: ArrayBuffer;\\n /** The offset in bytes from the start of the referenced {@link ArrayBuffer}. */\\n readonly byteOffset: i32;\\n /** The length in bytes from the start of the referenced {@link ArrayBuffer}. */\\n readonly byteLength: i32;\\n /** Returns raw pointer to data storage including offset (unsafe). */\\n readonly dataStart: usize;\\n /** The length (in elements). */\\n readonly length: i32;\\n /** Returns value using relative indexing. Index may be negative */\\n at(index: i32): T;\\n /** The includes() method determines whether a typed array includes a certain element, returning true or false as appropriate. */\\n includes(searchElement: T, fromIndex?: i32): bool;\\n /** The indexOf() method returns the first index at which a given element can be found in the typed array, or -1 if it is not present. */\\n indexOf(searchElement: T, fromIndex?: i32): i32;\\n /** The lastIndexOf() method returns the last index at which a given element can be found in the typed array, or -1 if it is not present. The typed array is searched backwards, starting at fromIndex. */\\n lastIndexOf(searchElement: T, fromIndex?: i32): i32;\\n /** Returns copied section of an TypedArray from begin inclusive to end exclusive */\\n slice(begin?: i32, end?: i32): TypedArray;\\n /** Returns a new TypedArray of this type on the same ArrayBuffer from begin inclusive to end exclusive. */\\n subarray(begin?: i32, end?: i32): TypedArray;\\n /** The copyWithin() method copies the sequence of array elements within the array to the position starting at target. The copy is taken from the index positions of the second and third arguments start and end. The end argument is optional and defaults to the length of the array. */\\n copyWithin(target: i32, start: i32, end?: i32): this;\\n /** The reduce() method applies a function against an accumulator and each value of the typed array (from left-to-right) has to reduce it to a single value. This method has the same algorithm as Array.prototype.reduce(). */\\n reduce(callbackfn: (accumulator: U, value: T, index: i32, self: this) => U, initialValue: U): U;\\n /** The reduceRight() method applies a function against an accumulator and each value of the typed array (from left-to-right) has to reduce it to a single value, starting from the end of the array. This method has the same algorithm as Array.prototype.reduceRight(). */\\n reduceRight(callbackfn: (accumulator: U, value: T, index: i32, self: this) => U, initialValue: U): U;\\n /** The some() method tests whether some element in the typed array passes the test implemented by the provided function. This method has the same algorithm as Array.prototype.some().*/\\n some(callbackfn: (value: T, index: i32, self: this) => bool): bool;\\n /** The map() method creates a new typed array with the results of calling a provided function on every element in this typed array. This method has the same algorithm as Array.prototype.map().*/\\n map(callbackfn: (value: T, index: i32, self: this) => T): TypedArray;\\n /** The filter() method creates a new typed array with all elements that pass the test implemented by the provided function. This method has the same algorithm as Array.prototype.filter(). */\\n filter(callbackfn: (value: T, index: i32, self: this) => bool): TypedArray;\\n /** The sort() method sorts the elements of a typed array numerically in place and returns the typed array. This method has the same algorithm as Array.prototype.sort(), except that sorts the values numerically instead of as strings. TypedArray is one of the typed array types here. */\\n sort(callback?: (a: T, b: T) => i32): this;\\n /** The fill() method fills all the elements of a typed array from a start index to an end index with a static value. This method has the same algorithm as Array.prototype.fill(). */\\n fill(value: T, start?: i32, end?: i32): this;\\n /** The findIndex() method returns an index in the typed array, if an element in the typed array satisfies the provided testing function. Otherwise -1 is returned. See also the find() [not implemented] method, which returns the value of a found element in the typed array instead of its index. */\\n findIndex(callbackfn: (value: T, index: i32, self: this) => bool): i32;\\n /** The findLastIndex() method returns an index start searching from the end in the typed array, if an element in the typed array satisfies the provided testing function. Otherwise -1 is returned. See also the find() [not implemented] method, which returns the value of a found element in the typed array instead of its index. */\\n findLastIndex(callbackfn: (value: T, index: i32, self: this) => bool): i32;\\n /** The every() method tests whether all elements in the typed array pass the test implemented by the provided function. This method has the same algorithm as Array.prototype.every(). */\\n every(callbackfn: (value: T, index: i32, self: this) => bool): bool;\\n /** The forEach() method executes a provided function once per array element. This method has the same algorithm as Array.prototype.forEach().*/\\n forEach(callbackfn: (value: T, index: i32, self: this) => void): void;\\n /** The reverse() method reverses a typed array in place. The first typed array element becomes the last and the last becomes the first. This method has the same algorithm as Array.prototype.reverse(). */\\n reverse(): this;\\n /** The join() method joins all elements of an array into a string. This method has the same algorithm as Array.prototype.join(). */\\n join(separator?: string): string;\\n /** The set() method stores multiple values in the typed array, reading input values from a specified array. */\\n set>(source: U, offset?: i32): void\\n /** The toString() method returns a string representing the specified array and its elements. This method has the same algorithm as Array.prototype.toString() */\\n toString(): string;\\n}\\n\\n/** An array of twos-complement 8-bit signed integers. */\\ndeclare class Int8Array extends TypedArray {\\n /** Wrap an ArrayBuffer */\\n static wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Int8Array;\\n}\\n/** An array of 8-bit unsigned integers. */\\ndeclare class Uint8Array extends TypedArray {\\n /** Wrap an ArrayBuffer */\\n static wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Uint8Array;\\n}\\n/** A clamped array of 8-bit unsigned integers. */\\ndeclare class Uint8ClampedArray extends TypedArray {\\n /** Wrap an ArrayBuffer */\\n static wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Uint8ClampedArray;\\n}\\n/** An array of twos-complement 16-bit signed integers. */\\ndeclare class Int16Array extends TypedArray {\\n /** Wrap an ArrayBuffer */\\n static wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Int16Array;\\n}\\n/** An array of 16-bit unsigned integers. */\\ndeclare class Uint16Array extends TypedArray {\\n /** Wrap an ArrayBuffer */\\n static wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Uint16Array;\\n}\\n/** An array of twos-complement 32-bit signed integers. */\\ndeclare class Int32Array extends TypedArray {\\n /** Wrap an ArrayBuffer */\\n static wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Int32Array;\\n}\\n/** An array of 32-bit unsigned integers. */\\ndeclare class Uint32Array extends TypedArray {\\n /** Wrap an ArrayBuffer */\\n static wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Uint32Array;\\n}\\n/** An array of twos-complement 64-bit signed integers. */\\ndeclare class Int64Array extends TypedArray {\\n /** Wrap an ArrayBuffer */\\n static wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Int64Array;\\n}\\n/** An array of 64-bit unsigned integers. */\\ndeclare class Uint64Array extends TypedArray {\\n /** Wrap an ArrayBuffer */\\n static wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Uint64Array;\\n}\\n/** An array of 32-bit floating point numbers. */\\ndeclare class Float32Array extends TypedArray {\\n /** Wrap an ArrayBuffer */\\n static wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Float32Array;\\n}\\n/** An array of 64-bit floating point numbers. */\\ndeclare class Float64Array extends TypedArray {\\n /** Wrap an ArrayBuffer */\\n static wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Float64Array;\\n}\\n\\n/** Class representing a sequence of values of type `T`. */\\ndeclare class Array {\\n\\n /** Tests if a value is an array. */\\n static isArray(value: any): value is Array;\\n\\n [key: number]: T;\\n /** Current length of the array. */\\n length: i32;\\n /** Returns raw pointer to data storage (unsafe). */\\n readonly dataStart: usize;\\n /** Constructs a new array. */\\n constructor(length?: i32);\\n at(index: i32): T;\\n fill(value: T, start?: i32, end?: i32): this;\\n findIndex(callbackfn: (value: T, index: i32, array: Array) => bool): i32;\\n findLastIndex(callbackfn: (value: T, index: i32, array: Array) => bool): i32;\\n includes(searchElement: T, fromIndex?: i32): bool;\\n indexOf(searchElement: T, fromIndex?: i32): i32;\\n lastIndexOf(searchElement: T, fromIndex?: i32): i32;\\n push(element: T): i32;\\n concat(items: T[]): T[];\\n copyWithin(target: i32, start: i32, end?: i32): this;\\n pop(): T;\\n forEach(callbackfn: (value: T, index: i32, array: Array) => void): void;\\n map(callbackfn: (value: T, index: i32, array: Array) => U): Array;\\n filter(callbackfn: (value: T, index: i32, array: Array) => bool): Array;\\n reduce(callbackfn: (previousValue: U, currentValue: T, currentIndex: i32, array: Array) => U, initialValue: U): U;\\n reduceRight(callbackfn: (previousValue: U, currentValue: T, currentIndex: i32, array: Array) => U, initialValue: U): U;\\n every(callbackfn: (value: T, index: i32, array: Array) => bool): bool;\\n some(callbackfn: (value: T, index: i32, array: Array) => bool): bool;\\n shift(): T;\\n unshift(element: T): i32;\\n slice(from?: i32, to?: i32): Array;\\n splice(start: i32, deleteCount?: i32): Array;\\n sort(comparator?: (a: T, b: T) => i32): this;\\n join(separator?: string): string;\\n reverse(): this;\\n /** Flattens an array of arrays. If any null entries exist in the array, they are ignored, unlike JavaScript's version of Array#flat(). */\\n flat(): T extends unknown[] ? T : never;\\n toString(): string;\\n}\\n\\n/** Class representing a static (not resizable) sequence of values of type `T`. This class is @final. */\\ndeclare class StaticArray {\\n [key: number]: T;\\n static fromArray(source: Array): StaticArray;\\n /** @deprecated */\\n static concat(source: StaticArray, other: StaticArray): StaticArray;\\n /** @deprecated */\\n static slice(source: StaticArray, start?: i32, end?: i32): StaticArray;\\n readonly length: i32;\\n constructor(length?: i32);\\n at(index: i32): T;\\n fill(value: T, start?: i32, end?: i32): this;\\n findIndex(callbackfn: (value: T, index: i32, array: StaticArray) => bool): i32;\\n findLastIndex(callbackfn: (value: T, index: i32, array: StaticArray) => bool): i32;\\n copyWithin(target: i32, start: i32, end?: i32): this;\\n includes(searchElement: T, fromIndex?: i32): bool;\\n indexOf(searchElement: T, fromIndex?: i32): i32;\\n lastIndexOf(searchElement: T, fromIndex?: i32): i32;\\n forEach(callbackfn: (value: T, index: i32, array: StaticArray) => void): void;\\n map(callbackfn: (value: T, index: i32, array: StaticArray) => U): Array;\\n filter(callbackfn: (value: T, index: i32, array: StaticArray) => bool): Array;\\n reduce(callbackfn: (previousValue: U, currentValue: T, currentIndex: i32, array: StaticArray) => U, initialValue: U): U;\\n reduceRight(callbackfn: (previousValue: U, currentValue: T, currentIndex: i32, array: StaticArray) => U, initialValue: U): U;\\n every(callbackfn: (value: T, index: i32, array: StaticArray) => bool): bool;\\n some(callbackfn: (value: T, index: i32, array: StaticArray) => bool): bool;\\n concat(items: Array): Array;\\n concat>(other: U): U;\\n slice(from?: i32, to?: i32): Array;\\n slice>(from?: i32, to?: i32): U;\\n sort(comparator?: (a: T, b: T) => i32): this;\\n join(separator?: string): string;\\n reverse(): this;\\n toString(): string;\\n}\\n\\n/** Class representing a sequence of characters. */\\ndeclare class String {\\n static fromCharCode(ls: i32, hs?: i32): string;\\n static fromCharCodes(arr: i32[]): string;\\n static fromCodePoint(code: i32): string;\\n static fromCodePoints(arr: i32[]): string;\\n static raw(parts: TemplateStringsArray, ...args: any[]): string;\\n readonly length: i32;\\n at(index: i32): string;\\n charAt(index: i32): string;\\n charCodeAt(index: i32): i32;\\n codePointAt(index: i32): i32;\\n concat(other: string): string;\\n endsWith(other: string): bool;\\n indexOf(other: string, fromIndex?: i32): i32;\\n lastIndexOf(other: string, fromIndex?: i32): i32;\\n localeCompare(other: string): i32;\\n includes(other: string): bool;\\n startsWith(other: string): bool;\\n substr(start: i32, length?: i32): string;\\n substring(start: i32, end?: i32): string;\\n trim(): string;\\n trimLeft(): string;\\n trimRight(): string;\\n trimStart(): string;\\n trimEnd(): string;\\n padStart(targetLength: i32, padString?: string): string;\\n padEnd(targetLength: i32, padString?: string): string;\\n repeat(count?: i32): string;\\n replace(search: string, replacement: string): string;\\n replaceAll(search: string, replacement: string): string;\\n slice(beginIndex: i32, endIndex?: i32): string;\\n split(separator?: string, limit?: i32): string[];\\n toLowerCase(): string;\\n toUpperCase(): string;\\n toString(): string;\\n}\\n\\ndeclare namespace String {\\n /** Encoding helpers for UTF-8. */\\n export namespace UTF8 {\\n /** UTF-8 encoding error modes. */\\n export const enum ErrorMode {\\n /** Keeps unpaired surrogates as of WTF-8. This is the default. */\\n WTF8,\\n /** Replaces unpaired surrogates with the replacement character (U+FFFD). */\\n REPLACE,\\n /** Throws an error on unpaired surrogates. */\\n ERROR\\n }\\n /** Calculates the byte length of the specified string when encoded as UTF-8, optionally null terminated. */\\n export function byteLength(str: string, nullTerminated?: bool): i32;\\n /** Encodes the specified string to UTF-8 bytes, optionally null terminated. ErrorMode defaults to WTF-8. */\\n export function encode(str: string, nullTerminated?: bool, errorMode?: ErrorMode): ArrayBuffer;\\n /** Encodes the specified raw string to UTF-8 bytes, opionally null terminated. ErrorMode defaults to WTF-8. Returns the number of bytes written. */\\n export function encodeUnsafe(str: usize, len: i32, buf: usize, nullTerminated?: bool, errorMode?: ErrorMode): usize;\\n /** Decodes the specified buffer from UTF-8 bytes to a string, optionally null terminated. */\\n export function decode(buf: ArrayBuffer, nullTerminated?: bool): string;\\n /** Decodes raw UTF-8 bytes to a string, optionally null terminated. */\\n export function decodeUnsafe(buf: usize, len: usize, nullTerminated?: bool): string;\\n }\\n /** Encoding helpers for UTF-16. */\\n export namespace UTF16 {\\n /** Calculates the byte length of the specified string when encoded as UTF-16. */\\n export function byteLength(str: string): i32;\\n /** Encodes the specified string to UTF-16 bytes. */\\n export function encode(str: string): ArrayBuffer;\\n /** Encodes the specified raw string to UTF-16 bytes. Returns the number of bytes written. */\\n export function encodeUnsafe(str: usize, len: i32, buf: usize): usize;\\n /** Decodes the specified buffer from UTF-16 bytes to a string. */\\n export function decode(buf: ArrayBuffer): string;\\n /** Decodes raw UTF-16 bytes to a string. */\\n export function decodeUnsafe(buf: usize, len: usize): string;\\n }\\n}\\n\\ndeclare class TemplateStringsArray extends Array {\\n readonly raw: string[];\\n}\\n\\ndeclare class Object {\\n /** The Object.is() method determines whether two values are the same value. */\\n static is(value1: T, value2: T): bool;\\n}\\n\\ndeclare namespace performance {\\n /** Gets a high resolution timestamp measured in milliseconds. */\\n export function now(): f64;\\n}\\n\\ndeclare class Date {\\n /** Returns the UTC timestamp in milliseconds of the specified date. */\\n static UTC(\\n year: i32,\\n month: i32,\\n day: i32,\\n hour: i32,\\n minute: i32,\\n second: i32,\\n millisecond: i32\\n ): i64;\\n /** Returns the current UTC timestamp in milliseconds. */\\n static now(): i64;\\n /** Parses a string representation of a date, and returns the number of milliseconds since January 1, 1970, 00:00:00 UTC. */\\n static parse(dateString: string): Date;\\n static fromString(dateString: string): Date;\\n /** Constructs a new date object from an UTC timestamp in milliseconds. */\\n constructor(value: i64);\\n /** Returns the UTC timestamp of this date in milliseconds. */\\n getTime(): i64;\\n /** Sets the UTC timestamp of this date in milliseconds. */\\n setTime(value: i64): i64;\\n\\n getUTCFullYear(): i32;\\n getUTCMonth(): i32;\\n getUTCDate(): i32;\\n getUTCDay(): i32;\\n getUTCHours(): i32;\\n getUTCMinutes(): i32;\\n getUTCSeconds(): i32;\\n getUTCMilliseconds(): i32;\\n\\n setUTCFullYear(value: i32): void;\\n setUTCMonth(value: i32, day?: i32): void;\\n setUTCDate(value: i32): void;\\n setUTCHours(value: i32): void;\\n setUTCMinutes(value: i32): void;\\n setUTCSeconds(value: i32): void;\\n setUTCMilliseconds(value: i32): void;\\n\\n toString(): string;\\n toISOString(): string;\\n toUTCString(): string;\\n toDateString(): string;\\n toTimeString(): string;\\n}\\n\\n/** Class for representing a runtime error. Base class of all errors. */\\ndeclare class Error {\\n\\n /** Error name. */\\n name: string;\\n\\n /** Message provided on construction. */\\n message: string;\\n\\n /** Stack trace. */\\n stack?: string;\\n\\n /** Constructs a new error, optionally with a message. */\\n constructor(message?: string);\\n\\n /** Method returns a string representing the specified Error class. */\\n toString(): string;\\n}\\n\\n/** Class for indicating an error when a value is not in the set or range of allowed values. */\\ndeclare class RangeError extends Error { }\\n\\n/** Class for indicating an error when a value is not of the expected type. */\\ndeclare class TypeError extends Error { }\\n\\n/** Class for indicating an error when trying to interpret syntactically invalid code. */\\ndeclare class SyntaxError extends Error { }\\n\\n/** Class for indicating an error when a global URI handling function was used in a wrong way. */\\ndeclare class URIError extends Error { }\\n\\ninterface Function {\\n /** Function table index. */\\n readonly index: u32;\\n /** Function name. Always an empty string. */\\n readonly name: string;\\n /** Number of expected parameters. */\\n readonly length: u32;\\n /** Calls this function indirectly with the specified arguments. */\\n call(thisArg: unknown, ...args: unknown[]): any;\\n /** Returns a string representation of this function. */\\n toString(): string;\\n}\\n\\n/**\\n * Extracts the type of the 'this' parameter of a function type, or 'unknown' if the function type has no 'this' parameter.\\n */\\ntype ThisParameterType = T extends (this: infer U, ...args: never) => any ? U : unknown;\\n\\n/**\\n * Removes the 'this' parameter from a function type.\\n */\\ntype OmitThisParameter = unknown extends ThisParameterType ? T : T extends (...args: infer A) => infer R ? (...args: A) => R : T;\\n\\ninterface CallableFunction extends Function {\\n /**\\n * Calls the function with the specified object as the this value and the elements of specified array as the arguments.\\n * @param thisArg The object to be used as the this object.\\n */\\n apply(this: (this: T) => R, thisArg: T): R;\\n\\n /**\\n * Calls the function with the specified object as the this value and the elements of specified array as the arguments.\\n * @param thisArg The object to be used as the this object.\\n * @param args An array of argument values to be passed to the function.\\n */\\n apply(this: (this: T, ...args: A) => R, thisArg: T, args: A): R;\\n\\n /**\\n * Calls the function with the specified object as the this value and the specified rest arguments as the arguments.\\n * @param thisArg The object to be used as the this object.\\n * @param args Argument values to be passed to the function.\\n */\\n call(this: (this: T, ...args: A) => R, thisArg: T, ...args: A): R;\\n\\n /**\\n * For a given function, creates a bound function that has the same body as the original function.\\n * The this object of the bound function is associated with the specified object, and has the specified initial parameters.\\n * @param thisArg The object to be used as the this object.\\n */\\n bind(this: T, thisArg: ThisParameterType): OmitThisParameter;\\n\\n /**\\n * For a given function, creates a bound function that has the same body as the original function.\\n * The this object of the bound function is associated with the specified object, and has the specified initial parameters.\\n * @param thisArg The object to be used as the this object.\\n * @param args Arguments to bind to the parameters of the function.\\n */\\n bind(this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R;\\n}\\n\\ninterface NewableFunction extends Function {\\n /**\\n * Calls the function with the specified object as the this value and the elements of specified array as the arguments.\\n * @param thisArg The object to be used as the this object.\\n */\\n apply(this: new () => T, thisArg: T): void;\\n /**\\n * Calls the function with the specified object as the this value and the elements of specified array as the arguments.\\n * @param thisArg The object to be used as the this object.\\n * @param args An array of argument values to be passed to the function.\\n */\\n apply(this: new (...args: A) => T, thisArg: T, args: A): void;\\n\\n /**\\n * Calls the function with the specified object as the this value and the specified rest arguments as the arguments.\\n * @param thisArg The object to be used as the this object.\\n * @param args Argument values to be passed to the function.\\n */\\n call(this: new (...args: A) => T, thisArg: T, ...args: A): void;\\n\\n /**\\n * For a given function, creates a bound function that has the same body as the original function.\\n * The this object of the bound function is associated with the specified object, and has the specified initial parameters.\\n * @param thisArg The object to be used as the this object.\\n */\\n bind(this: T, thisArg: any): T;\\n\\n /**\\n * For a given function, creates a bound function that has the same body as the original function.\\n * The this object of the bound function is associated with the specified object, and has the specified initial parameters.\\n * @param thisArg The object to be used as the this object.\\n * @param args Arguments to bind to the parameters of the function.\\n */\\n bind(this: new (...args: [...A, ...B]) => R, thisArg: any, ...args: A): new (...args: B) => R;\\n}\\n\\ninterface IArguments {}\\ninterface RegExp {}\\n\\ndeclare class Map {\\n readonly size: i32;\\n has(key: K): bool;\\n set(key: K, value: V): this;\\n get(key: K): V;\\n delete(key: K): bool;\\n clear(): void;\\n keys(): K[]; // preliminary\\n values(): V[]; // preliminary\\n toString(): string;\\n}\\n\\ndeclare class Set {\\n readonly size: i32;\\n has(value: K): bool;\\n add(value: K): this;\\n delete(value: K): bool;\\n clear(): void;\\n values(): K[]; // preliminary\\n toString(): string;\\n}\\n\\ninterface SymbolConstructor {\\n readonly hasInstance: symbol;\\n readonly isConcatSpreadable: symbol;\\n readonly isRegExp: symbol;\\n readonly iterator: symbol;\\n readonly match: symbol;\\n readonly replace: symbol;\\n readonly search: symbol;\\n readonly species: symbol;\\n readonly split: symbol;\\n readonly toPrimitive: symbol;\\n readonly toStringTag: symbol;\\n readonly unscopables: symbol;\\n (description?: string | null): symbol;\\n for(key: string): symbol;\\n keyFor(sym: symbol): string | null;\\n}\\n\\ndeclare const Symbol: SymbolConstructor;\\n\\n/** @internal */\\ninterface IMath {\\n /** The base of natural logarithms, e, approximately 2.718. */\\n readonly E: T;\\n /** The natural logarithm of 2, approximately 0.693. */\\n readonly LN2: T;\\n /** The natural logarithm of 10, approximately 2.302. */\\n readonly LN10: T;\\n /** The base 2 logarithm of e, approximately 1.442. */\\n readonly LOG2E: T;\\n /** The base 10 logarithm of e, approximately 0.434. */\\n readonly LOG10E: T;\\n /** The ratio of the circumference of a circle to its diameter, approximately 3.14159. */\\n readonly PI: T;\\n /** The square root of 1/2, approximately 0.707. */\\n readonly SQRT1_2: T;\\n /** The square root of 2, approximately 1.414. */\\n readonly SQRT2: T;\\n /** Returns the absolute value of `x`. */\\n abs(x: T): T;\\n /** Returns the arccosine (in radians) of `x`. */\\n acos(x: T): T;\\n /** Returns the hyperbolic arc-cosine of `x`. */\\n acosh(x: T): T;\\n /** Returns the arcsine (in radians) of `x`. */\\n asin(x: T): T;\\n /** Returns the hyperbolic arcsine of `x`. */\\n asinh(x: T): T;\\n /** Returns the arctangent (in radians) of `x`. */\\n atan(x: T): T;\\n /** Returns the arctangent of the quotient of its arguments. */\\n atan2(y: T, x: T): T;\\n /** Returns the hyperbolic arctangent of `x`. */\\n atanh(x: T): T;\\n /** Returns the cube root of `x`. */\\n cbrt(x: T): T;\\n /** Returns the smallest integer greater than or equal to `x`. */\\n ceil(x: T): T;\\n /** Returns the number of leading zero bits in the 32-bit binary representation of `x`. */\\n clz32(x: T): T;\\n /** Returns the cosine (in radians) of `x`. */\\n cos(x: T): T;\\n /** Returns the hyperbolic cosine of `x`. */\\n cosh(x: T): T;\\n /** Returns e to the power of `x`. */\\n exp(x: T): T;\\n /** Returns e to the power of `x`, minus 1. */\\n expm1(x: T): T;\\n /** Returns the largest integer less than or equal to `x`. */\\n floor(x: T): T;\\n /** Returns the nearest 32-bit single precision float representation of `x`. */\\n fround(x: T): T;\\n /** Returns the square root of the sum of squares of its arguments. */\\n hypot(value1: T, value2: T): T; // TODO: rest\\n /** Returns the result of the C-like 32-bit multiplication of `a` and `b`. */\\n imul(a: T, b: T): T;\\n /** Returns the natural logarithm (base e) of `x`. */\\n log(x: T): T;\\n /** Returns the base 10 logarithm of `x`. */\\n log10(x: T): T;\\n /** Returns the natural logarithm (base e) of 1 + `x`. */\\n log1p(x: T): T;\\n /** Returns the base 2 logarithm of `x`. */\\n log2(x: T): T;\\n /** Returns the largest-valued number of its arguments. */\\n max(value1: T, value2: T): T; // TODO: rest\\n /** Returns the lowest-valued number of its arguments. */\\n min(value1: T, value2: T): T; // TODO: rest\\n /** Returns `base` to the power of `exponent`. */\\n pow(base: T, exponent: T): T;\\n /** Returns a pseudo-random number in the range from 0.0 inclusive up to but not including 1.0. */\\n random(): T;\\n /** Returns the value of `x` rounded to the nearest integer. */\\n round(x: T): T;\\n /** Returns the sign of `x`, indicating whether the number is positive, negative or zero. */\\n sign(x: T): T;\\n /** Returns whether the sign bit of `x` is set. */\\n signbit(x: T): bool;\\n /** Returns the sine of `x`. */\\n sin(x: T): T;\\n /** Returns the hyperbolic sine of `x`. */\\n sinh(x: T): T;\\n /** Returns the square root of `x`. */\\n sqrt(x: T): T;\\n /** Returns the tangent of `x`. */\\n tan(x: T): T;\\n /** Returns the hyperbolic tangent of `x`. */\\n tanh(x: T): T;\\n /** Returns the integer part of `x` by removing any fractional digits. */\\n trunc(x: T): T;\\n}\\n\\n/** @internal */\\ninterface INativeMath extends IMath {\\n /** Contains sin value produced after Math/Mathf.sincos */\\n sincos_sin: T;\\n /** Contains cos value produced after Math/Mathf.sincos */\\n sincos_cos: T;\\n /** Seeds the random number generator. */\\n seedRandom(value: i64): void;\\n /** Multiplies a floating point `x` by 2 raised to power exp `n`. */\\n scalbn(x: T, n: i32): T;\\n /** Returns the floating-point remainder of `x / y` (rounded towards zero). */\\n mod(x: T, y: T): T;\\n /** Returns the floating-point remainder of `x / y` (rounded to nearest). */\\n rem(x: T, y: T): T;\\n /** Returns sin and cos simultaneously for same angle. Results stored to `sincos_s32/64` and `sincos_c32/64` globals */\\n sincos(x: T): void;\\n /** Returns 2 raised to the given power x. Equivalent to 2 ** x. */\\n exp2(x: T): T;\\n}\\n\\n/** Double precision math imported from JavaScript. */\\ndeclare const JSMath: IMath;\\n/** Double precision math implemented natively. */\\ndeclare const NativeMath: INativeMath;\\n/** Single precision math implemented natively. */\\ndeclare const NativeMathf: INativeMath;\\n/** Alias of {@link NativeMath} or {@link JSMath} respectively. Defaults to `NativeMath`. */\\ndeclare const Math: IMath;\\n/** Alias of {@link NativeMathf} or {@link JSMath} respectively. Defaults to `NativeMathf`. */\\ndeclare const Mathf: IMath;\\n\\n/** Environmental abort function. */\\ndeclare function abort(msg?: string | null, fileName?: string | null, lineNumber?: i32, columnNumber?: i32): never;\\n/** Environmental tracing function. */\\ndeclare function trace(msg: string, n?: i32, a0?: f64, a1?: f64, a2?: f64, a3?: f64, a4?: f64): void;\\n/** Environmental seeding function. */\\ndeclare function seed(): f64;\\n\\n/** Node-like process. */\\ndeclare namespace process {\\n /** String representing the CPU architecture for which the binary was compiled. Either `wasm32` or `wasm64`. */\\n export const arch: string;\\n /** String representing the operating system platform for which the binary was compiled. Always `wasm`. */\\n export const platform: string;\\n /** Array of command line arguments passed to the binary upon instantiation. */\\n export const argv: string[];\\n /** Map of variables in the binary's user environment. */\\n export const env: Map;\\n /** Terminates the process with either the given exit code, or `process.exitCode` if omitted. */\\n export function exit(code?: i32): void;\\n /** `exit()`\u2019s default value. Defaults to `0`. */\\n export let exitCode: i32;\\n /** Stream connected to `stdin` (fd `0`). */\\n export const stdin: ReadableStream;\\n /** Stream connected to `stdout` (fd `1`). */\\n export const stdout: WritableStream;\\n /** Stream connected to `stderr` (fd `2`). */\\n export const stderr: WritableStream;\\n /** Obtains the system's current time of day, in milliseconds since Unix epoch. */\\n export function time(): i64;\\n /** Obtains the system's monotonic high resolution time, in nanoseconds since an arbitrary time in the past. */\\n export function hrtime(): u64;\\n\\n interface Stream {\\n /** Closes the stream. Throws if already closed or if the stream cannot be closed. */\\n close(): void;\\n }\\n interface ReadableStream extends Stream {\\n /** Reads available data from the stream, into `buffer` at offset `offset`, returning the number of bytes read. */\\n read(buffer: ArrayBuffer, offset?: isize): i32;\\n }\\n interface WritableStream extends Stream {\\n /** Writes string or buffer to the stream. */\\n write(data: T): void;\\n }\\n}\\n\\n/** Browser-like console. */\\ndeclare namespace console {\\n /** Logs `message` to console if `assertion` is false-ish. */\\n export function assert(assertion: T, message?: string): void;\\n /** Outputs `message` to the console. */\\n export function log(message?: string): void;\\n /** Outputs `message` to the console, prefixed with \\\"Debug:\\\". */\\n export function debug(message?: string): void;\\n /** Outputs `message` to the console, prefixed with \\\"Info:\\\". */\\n export function info(message?: string): void;\\n /** Outputs `message` to the console, prefixed with \\\"Warning:\\\". */\\n export function warn(message?: string): void;\\n /** Outputs `message` to the console, prefixed with \\\"Error:\\\". */\\n export function error(message?: string): void;\\n /** Starts a new timer using the specified `label`. */\\n export function time(label?: string): void;\\n /** Logs the current value of a timer previously started with `console.time`. */\\n export function timeLog(label?: string): void;\\n /** Logs the current value of a timer previously started with `console.time` and discards the timer. */\\n export function timeEnd(label?: string): void;\\n}\\n\\n/** Browser-like crypto utilities. */\\ndeclare namespace crypto {\\n /** Fills `array` with cryptographically strong random values. */\\n export function getRandomValues(array: Uint8Array): void;\\n}\\n\\n// Decorators\\n\\ninterface TypedPropertyDescriptor {\\n configurable?: boolean;\\n enumerable?: boolean;\\n writable?: boolean;\\n value?: T;\\n get?(): T;\\n set?(value: T): void;\\n}\\n\\ntype Constructor =\\n (new (...args: any[]) => unknown)\\n | (abstract new (...args: any[]) => unknown);\\n\\n/** Annotates a method as a binary operator overload for the specified `token`. */\\ndeclare function operator(token:\\n \\\"[]\\\" | \\\"[]=\\\" | \\\"{}\\\" | \\\"{}=\\\" | \\\"==\\\" | \\\"!=\\\" | \\\">\\\" | \\\"<\\\" | \\\"<=\\\" | \\\">=\\\" |\\n \\\">>\\\" | \\\">>>\\\" | \\\"<<\\\" | \\\"&\\\" | \\\"|\\\" | \\\"^\\\" | \\\"+\\\" | \\\"-\\\" | \\\"*\\\" | \\\"**\\\" | \\\"/\\\" | \\\"%\\\"\\n): (\\n target: any,\\n propertyKey: string,\\n descriptor: TypedPropertyDescriptor\\n) => TypedPropertyDescriptor | void;\\n\\ndeclare namespace operator {\\n /** Annotates a method as a binary operator overload for the specified `token`. */\\n export function binary(token:\\n \\\"[]\\\" | \\\"[]=\\\" | \\\"{}\\\" | \\\"{}=\\\" | \\\"==\\\" | \\\"!=\\\" | \\\">\\\" | \\\"<\\\" | \\\"<=\\\" | \\\">=\\\" |\\n \\\">>\\\" | \\\">>>\\\" | \\\"<<\\\" | \\\"&\\\" | \\\"|\\\" | \\\"^\\\" | \\\"+\\\" | \\\"-\\\" | \\\"*\\\" | \\\"**\\\" | \\\"/\\\" | \\\"%\\\"\\n ): (\\n target: any,\\n propertyKey: string,\\n descriptor: TypedPropertyDescriptor\\n ) => TypedPropertyDescriptor | void;\\n /** Annotates a method as an unary prefix operator overload for the specified `token`. */\\n export function prefix(token: \\\"!\\\" | \\\"~\\\" | \\\"+\\\" | \\\"-\\\" | \\\"++\\\" | \\\"--\\\"): (\\n target: any,\\n propertyKey: string,\\n descriptor: TypedPropertyDescriptor\\n ) => TypedPropertyDescriptor | void;\\n /** Annotates a method as an unary postfix operator overload for the specified `token`. */\\n export function postfix(token: \\\"++\\\" | \\\"--\\\"): (\\n target: any,\\n propertyKey: string,\\n descriptor: TypedPropertyDescriptor\\n ) => TypedPropertyDescriptor | void;\\n}\\n\\n/** Annotates an element as a program global. */\\ndeclare function global(...args: any[]): any;\\n\\n/** Annotates a class as being unmanaged with limited capabilities. */\\ndeclare function unmanaged(constructor: Constructor): void;\\n\\n/** Annotates a class as being final / non-derivable. */\\ndeclare function final(constructor: Constructor): void;\\n\\n/** Annotates a method, function or constant global as always inlined. */\\ndeclare function inline(...args: any[]): any;\\n\\n/** Annotates a method, function or constant global as unsafe. */\\ndeclare function unsafe(...args: any[]): any;\\n\\n/** Annotates an explicit external name of a function or global. */\\ndeclare function external(name: string): any;\\ndeclare function external(moduleName: string, name: string): any;\\ndeclare namespace external {\\n function js(code: string): any;\\n}\\n\\n/** Annotates a global for lazy compilation. */\\ndeclare function lazy(...args: any[]): any;\\n\",\n \"portable\": \"/**\\n * Environment definitions for compiling AssemblyScript to JavaScript using tsc.\\n *\\n * Note that semantic differences require additional explicit conversions for full compatibility.\\n * For example, when casting an i32 to an u8, doing `(someI32 & 0xff)` will yield the same\\n * result when compiling to WebAssembly or JS while `someI32` alone does nothing in JS.\\n *\\n * Note that i64's are not portable (JS numbers are IEEE754 doubles with a maximum safe integer\\n * value of 2^53-1) and instead require a compatibility layer to work in JS as well, as for example\\n * {@link glue/js/i64} respectively {@link glue/wasm/i64}.\\n *\\n * @module std/portable\\n *//***/\\n\\n// Types\\n\\ndeclare type bool = boolean;\\ndeclare type i8 = number;\\ndeclare type i16 = number;\\ndeclare type i32 = number;\\ndeclare type isize = number;\\ndeclare type u8 = number;\\ndeclare type u16 = number;\\ndeclare type u32 = number;\\ndeclare type usize = number;\\ndeclare type f32 = number;\\ndeclare type f64 = number;\\n\\n/** Special type evaluating the indexed access index type. */\\ndeclare type indexof = keyof T;\\n/** Special type evaluating the indexed access value type. */\\ndeclare type valueof = T[0];\\n\\n// Compiler hints\\n\\n/** Compiler target. 0 = JS, 1 = WASM32, 2 = WASM64. */\\ndeclare const ASC_TARGET: i32;\\n/** Runtime type. 0 = Stub, 1 = Minimal, 2 = Incremental. */\\ndeclare const ASC_RUNTIME: i32;\\n/** Provided noAssert option. */\\ndeclare const ASC_NO_ASSERT: bool;\\n/** Provided memoryBase option. */\\ndeclare const ASC_MEMORY_BASE: i32;\\n/** Provided optimizeLevel option. */\\ndeclare const ASC_OPTIMIZE_LEVEL: i32;\\n/** Provided shrinkLevel option. */\\ndeclare const ASC_SHRINK_LEVEL: i32;\\n/** Whether the mutable global feature is enabled. */\\ndeclare const ASC_FEATURE_MUTABLE_GLOBAL: bool;\\n/** Whether the sign extension feature is enabled. */\\ndeclare const ASC_FEATURE_SIGN_EXTENSION: bool;\\n\\n// Builtins\\n\\n/** Performs the sign-agnostic reverse bytes **/\\ndeclare function bswap(value: T): T;\\n/** Performs the sign-agnostic count leading zero bits operation on a 32-bit integer. All zero bits are considered leading if the value is zero. */\\ndeclare function clz(value: T): T;\\n/** Performs the sign-agnostic count tailing zero bits operation on a 32-bit integer. All zero bits are considered trailing if the value is zero. */\\ndeclare function ctz(value: T): T;\\n/** Performs the sign-agnostic count number of one bits operation on a 32-bit integer. */\\ndeclare function popcnt(value: T): T;\\n/** Performs the sign-agnostic rotate left operation on a 32-bit integer. */\\ndeclare function rotl(value: T, shift: T): T;\\n/** Performs the sign-agnostic rotate right operation on a 32-bit integer. */\\ndeclare function rotr(value: T, shift: T): T;\\n/** Computes the absolute value of an integer or float. */\\ndeclare function abs(value: T): T;\\n/** Determines the maximum of two integers or floats. If either operand is `NaN`, returns `NaN`. */\\ndeclare function max(left: T, right: T): T;\\n/** Determines the minimum of two integers or floats. If either operand is `NaN`, returns `NaN`. */\\ndeclare function min(left: T, right: T): T;\\n/** Composes a 32-bit or 64-bit float from the magnitude of `x` and the sign of `y`. */\\ndeclare function copysign(x: T, y: T): T;\\n/** Performs the ceiling operation on a 32-bit or 64-bit float. */\\ndeclare function ceil(value: T): T;\\n/** Performs the floor operation on a 32-bit or 64-bit float. */\\ndeclare function floor(value: T): T;\\n/** Rounds to the nearest integer tied to even of a 32-bit or 64-bit float. */\\ndeclare function nearest(value: T): T;\\n/** Selects one of two pre-evaluated values depending on the condition. */\\ndeclare function select(ifTrue: T, ifFalse: T, condition: bool): T;\\n/** Calculates the square root of a 32-bit or 64-bit float. */\\ndeclare function sqrt(value: T): T;\\n/** Rounds to the nearest integer towards zero of a 32-bit or 64-bit float. */\\ndeclare function trunc(value: T): T;\\n/** Emits an unreachable operation that results in a runtime error when executed. */\\ndeclare function unreachable(): any; // sic\\n\\n/** Changes the type of any value of `usize` kind to another one of `usize` kind. Useful for casting class instances to their pointer values and vice-versa. Beware that this is unsafe.*/\\ndeclare function changetype(value: any): T;\\n/** Explicitly requests no bounds checks on the provided expression. Useful for array accesses. */\\ndeclare function unchecked(value: T): T;\\n/** Tests if the specified value is a valid integer. Can't distinguish an integer from an integral float. */\\ndeclare function isInteger(value: any): value is number;\\n/** Tests if the specified value is a valid float. Can't distinguish a float from an integer. */\\ndeclare function isFloat(value: any): value is number;\\n/** Tests if the specified value is of a nullable reference type. */\\ndeclare function isNullable(value: any): bool;\\n/** Tests if the specified value is of a reference type. */\\ndeclare function isReference(value: any): value is object | string;\\n/** Tests if the specified value is of a function type */\\ndeclare function isFunction(value: any): value is Function;\\n/** Tests if the specified value can be used as a string. */\\ndeclare function isString(value: any): value is string | String;\\n/** Tests if the specified value can be used as an array. */\\ndeclare function isArray(value: any): value is Array;\\n/** Tests if the specified type *or* expression can be used as an array like object. */\\ndeclare function isArrayLike(value: any): value is ArrayLike;\\n/** Tests if the specified expression resolves to a defined element. */\\ndeclare function isDefined(expression: any): bool;\\n/** Tests if the specified expression evaluates to a constant value. */\\ndeclare function isConstant(expression: any): bool;\\n/** Traps if the specified value is not true-ish, otherwise returns the value. */\\ndeclare function assert(isTrueish: T, message?: string): T & (object | string | number); // any better way to model `: T != null`?\\n/** Parses an integer string to a 64-bit float. */\\ndeclare function parseInt(str: string, radix?: i32): f64;\\n/** Parses a floating point string to a 64-bit float. */\\ndeclare function parseFloat(str: string): f64;\\n/** Returns the 64-bit floating-point remainder of `x/y`. */\\ndeclare function fmod(x: f64, y: f64): f64;\\n/** Returns the 32-bit floating-point remainder of `x/y`. */\\ndeclare function fmodf(x: f32, y: f32): f32;\\n\\n/** Converts any other numeric value to an 8-bit signed integer. */\\ndeclare function i8(value: any): i8;\\ndeclare namespace i8 {\\n /** Smallest representable value. */\\n export const MIN_VALUE: i8;\\n /** Largest representable value. */\\n export const MAX_VALUE: i8;\\n /** Converts a string to a floating-point number and cast to target integer after. */\\n export function parseFloat(string: string): i8;\\n /** Parses a string as an integer. */\\n export function parseInt(string: string, radix?: i32): i8;\\n /** Parses a string as an i8. */\\n export function parse(value: string, radix?: i32): i8;\\n}\\n/** Converts any other numeric value to a 16-bit signed integer. */\\ndeclare function i16(value: any): i16;\\ndeclare namespace i16 {\\n /** Smallest representable value. */\\n export const MIN_VALUE: i16;\\n /** Largest representable value. */\\n export const MAX_VALUE: i16;\\n /** Converts a string to a floating-point number and cast to target integer after. */\\n export function parseFloat(string: string): i16;\\n /** Parses a string as an integer. */\\n export function parseInt(string: string, radix?: i32): i16;\\n /** Parses a string as an i16. */\\n export function parse(value: string, radix?: i32): i16;\\n}\\n/** Converts any other numeric value to a 32-bit signed integer. */\\ndeclare function i32(value: any): i32;\\ndeclare namespace i32 {\\n /** Smallest representable value. */\\n export const MIN_VALUE: i32;\\n /** Largest representable value. */\\n export const MAX_VALUE: i32;\\n /** Converts a string to a floating-point number and cast to target integer after. */\\n export function parseFloat(string: string): i32;\\n /** Parses a string as an integer. */\\n export function parseInt(string: string, radix?: i32): i32;\\n /** Parses a string as an i32. */\\n export function parse(value: string, radix?: i32): i32;\\n}\\n/** Converts any other numeric value to a 32-bit (in WASM32) respectivel 64-bit (in WASM64) signed integer. */\\ndeclare function isize(value: any): isize;\\ndeclare namespace isize {\\n /** Smallest representable value. */\\n export const MIN_VALUE: isize;\\n /** Largest representable value. */\\n export const MAX_VALUE: isize;\\n /** Converts a string to a floating-point number and cast to target integer after. */\\n export function parseFloat(string: string): isize;\\n /** Parses a string as an integer. */\\n export function parseInt(string: string, radix?: i32): isize;\\n /** Parses a string as an iszie. */\\n export function parse(value: string, radix?: i32): isize;\\n}\\n/** Converts any other numeric value to an 8-bit unsigned integer. */\\ndeclare function u8(value: any): u8;\\ndeclare namespace u8 {\\n /** Smallest representable value. */\\n export const MIN_VALUE: u8;\\n /** Largest representable value. */\\n export const MAX_VALUE: u8;\\n /** Converts a string to a floating-point number and cast to target integer after. */\\n export function parseFloat(string: string): u8;\\n /** Parses a string as an integer. */\\n export function parseInt(string: string, radix?: i32): u8;\\n /** Parses a string as an u8. */\\n export function parse(value: string, radix?: i32): u8;\\n}\\n/** Converts any other numeric value to a 16-bit unsigned integer. */\\ndeclare function u16(value: any): u16;\\ndeclare namespace u16 {\\n /** Smallest representable value. */\\n export const MIN_VALUE: u16;\\n /** Largest representable value. */\\n export const MAX_VALUE: u16;\\n /** Converts a string to a floating-point number and cast to target integer after. */\\n export function parseFloat(string: string): u16;\\n /** Parses a string as an integer. */\\n export function parseInt(string: string, radix?: i32): u16;\\n /** Parses a string as an u16. */\\n export function parse(value: string, radix?: i32): u16;\\n}\\n/** Converts any other numeric value to a 32-bit unsigned integer. */\\ndeclare function u32(value: any): u32;\\ndeclare namespace u32 {\\n /** Smallest representable value. */\\n export const MIN_VALUE: u32;\\n /** Largest representable value. */\\n export const MAX_VALUE: u32;\\n /** Converts a string to a floating-point number and cast to target integer after. */\\n export function parseFloat(string: string): u32;\\n /** Parses a string as an integer. */\\n export function parseInt(string: string, radix?: i32): u32;\\n /** Parses a string as an u32. */\\n export function parse(value: string, radix?: i32): u32;\\n}\\n/** Converts any other numeric value to a 32-bit (in WASM32) respectivel 64-bit (in WASM64) unsigned integer. */\\ndeclare function usize(value: any): isize;\\ndeclare namespace usize {\\n /** Smallest representable value. */\\n export const MIN_VALUE: usize;\\n /** Largest representable value. */\\n export const MAX_VALUE: usize;\\n /** Converts a string to a floating-point number and cast to target integer after. */\\n export function parseFloat(string: string): usize;\\n /** Parses a string as an integer. */\\n export function parseInt(string: string, radix?: i32): usize;\\n /** Parses a string as an usize. */\\n export function parse(value: string, radix?: i32): usize;\\n}\\n/** Converts any other numeric value to a 1-bit unsigned integer. */\\ndeclare function bool(value: any): bool;\\ndeclare namespace bool {\\n /** Smallest representable value. */\\n export const MIN_VALUE: bool;\\n /** Largest representable value. */\\n export const MAX_VALUE: bool;\\n /** Parses a string as a bool. */\\n export function parse(value: string): bool;\\n}\\n/** Converts any other numeric value to a 32-bit float. */\\ndeclare function f32(value: any): f32;\\ndeclare namespace f32 {\\n /** Smallest representable value. */\\n export const MIN_VALUE: f32;\\n /** Largest representable value. */\\n export const MAX_VALUE: f32;\\n /** Smallest normalized positive value. */\\n export const MIN_NORMAL_VALUE: f32;\\n /** Smallest safely representable integer value. */\\n export const MIN_SAFE_INTEGER: f32;\\n /** Largest safely representable integer value. */\\n export const MAX_SAFE_INTEGER: f32;\\n /** Positive infinity value. */\\n export const POSITIVE_INFINITY: f32;\\n /** Negative infinity value. */\\n export const NEGATIVE_INFINITY: f32;\\n /** Not a number value. */\\n /* eslint no-shadow-restricted-names: \\\"off\\\" */\\n export const NaN: f32;\\n /** Difference between 1 and the smallest representable value greater than 1. */\\n export const EPSILON: f32;\\n /** Returns a boolean value that indicates whether a value is the reserved value NaN (not a number). */\\n export function isNaN(value: f32): bool;\\n /** Returns true if passed value is finite. */\\n export function isFinite(value: f32): bool;\\n /** Returns true if the value passed is a safe integer. */\\n export function isSafeInteger(value: f32): bool;\\n /** Returns true if the value passed is an integer, false otherwise. */\\n export function isInteger(value: f32): bool;\\n /** Converts a string to a floating-point number. */\\n export function parseFloat(string: string): f32;\\n /** Parses a string as an integer and convert to an f32. */\\n export function parseInt(string: string, radix?: i32): f32;\\n /** Parses a string as an f32. */\\n export function parse(value: string): f32;\\n}\\n/** Converts any other numeric value to a 64-bit float. */\\ndeclare function f64(value: any): f64;\\ndeclare namespace f64 {\\n /** Smallest representable value. */\\n export const MIN_VALUE: f64;\\n /** Largest representable value. */\\n export const MAX_VALUE: f64;\\n /** Smallest normalized positive value. */\\n export const MIN_NORMAL_VALUE: f64;\\n /** Smallest safely representable integer value. */\\n export const MIN_SAFE_INTEGER: f64;\\n /** Largest safely representable integer value. */\\n export const MAX_SAFE_INTEGER: f64;\\n /** Positive infinity value. */\\n export const POSITIVE_INFINITY: f64;\\n /** Negative infinity value. */\\n export const NEGATIVE_INFINITY: f64;\\n /** Not a number value. */\\n /* eslint no-shadow-restricted-names: \\\"off\\\" */\\n export const NaN: f64;\\n /** Difference between 1 and the smallest representable value greater than 1. */\\n export const EPSILON: f64;\\n /** Returns a boolean value that indicates whether a value is the reserved value NaN (not a number). */\\n export function isNaN(value: f32): bool;\\n /** Returns true if passed value is finite. */\\n export function isFinite(value: f32): bool;\\n /** Returns true if the value passed is a safe integer. */\\n export function isSafeInteger(value: f64): bool;\\n /** Returns true if the value passed is an integer, false otherwise. */\\n export function isInteger(value: f64): bool;\\n /** Converts a string to a floating-point number. */\\n export function parseFloat(string: string): f64;\\n /** Parses a string as an integer and convert to an f64. */\\n export function parseInt(string: string, radix?: i32): f64;\\n /** Parses a string as an f64. */\\n export function parse(value: string): f64;\\n}\\n\\n// Standard library\\n\\ndeclare const Mathf: typeof Math;\\ndeclare const JSMath: typeof Math;\\n\\ndeclare interface StringConstructor {\\n /** Equivalent to calling `String.fromCharCode` with multiple arguments. */\\n fromCharCodes(arr: i32[]): string;\\n /** Equivalent to calling `String.fromCodePoint` with multiple arguments. */\\n fromCodePoints(arr: i32[]): string;\\n}\\n\\ndeclare interface String {\\n /** Returns value using relative indexing. Index may be negative */\\n at(index: i32): string;\\n}\\n\\n/** Annotates a class as being unmanaged with limited capabilities. */\\ndeclare function unmanaged(constructor: Function): void;\\n\\n/** Environmental tracing function. */\\ndeclare function trace(msg: string, n?: i32, a0?: f64, a1?: f64, a2?: f64, a3?: f64, a4?: f64): void;\\n\\ndeclare interface Array {\\n /** Returns value using relative indexing. Index may be negative */\\n at(index: i32): T;\\n /** Returns an index start searching from the end in the array */\\n findLastIndex(callbackfn: (value: T, index: i32, self: Array) => bool): i32;\\n}\\n\\ndeclare interface Int8ArrayConstructor {\\n /** Equivalent to calling `new Int8Array` with multiple arguments. */\\n wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Int8Array;\\n}\\n\\ndeclare interface Int8Array {\\n /** Returns value using relative indexing. Index may be negative */\\n at(index: i32): i8;\\n /** Returns an index start searching from the end in the typedarray */\\n findLastIndex(callbackfn: (value: i8, index: i32, self: Int8Array) => bool): i32;\\n}\\n\\ndeclare interface Uint8ArrayConstructor {\\n /** Equivalent to calling `new Uint8Array` with multiple arguments. */\\n wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Uint8Array;\\n}\\n\\ndeclare interface Uint8Array {\\n /** Returns value using relative indexing. Index may be negative */\\n at(index: i32): u8;\\n /** Returns an index start searching from the end in the typedarray */\\n findLastIndex(callbackfn: (value: u8, index: i32, self: Uint8Array) => bool): i32;\\n}\\n\\ndeclare interface Uint8ClampedArrayConstructor {\\n /** Equivalent to calling `new Uint8ClampedArray` with multiple arguments. */\\n wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Uint8ClampedArray;\\n}\\n\\ndeclare interface Uint8ClampedArray {\\n /** Returns value using relative indexing. Index may be negative */\\n at(index: i32): u8;\\n /** Returns an index start searching from the end in the typedarray */\\n findLastIndex(callbackfn: (value: u8, index: i32, self: Uint8ClampedArray) => bool): i32;\\n}\\n\\ndeclare interface Int16ArrayConstructor {\\n /** Equivalent to calling `new Int16Array` with multiple arguments. */\\n wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Int16Array;\\n}\\n\\ndeclare interface Int16Array {\\n /** Returns value using relative indexing. Index may be negative */\\n at(index: i32): i16;\\n /** Returns an index start searching from the end in the typedarray */\\n findLastIndex(callbackfn: (value: i16, index: i32, self: Int16Array) => bool): i32;\\n}\\n\\ndeclare interface Uint16ArrayConstructor {\\n /** Equivalent to calling `new Uint16Array` with multiple arguments. */\\n wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Uint16Array;\\n}\\n\\ndeclare interface Uint16Array {\\n /** Returns value using relative indexing. Index may be negative */\\n at(index: i32): u16;\\n /** Returns an index start searching from the end in the typedarray */\\n findLastIndex(callbackfn: (value: u16, index: i32, self: Uint16Array) => bool): i32;\\n}\\n\\ndeclare interface Int32ArrayConstructor {\\n /** Equivalent to calling `new Int32Array` with multiple arguments. */\\n wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Int32Array;\\n}\\n\\ndeclare interface Int32Array {\\n /** Returns value using relative indexing. Index may be negative */\\n at(index: i32): i32;\\n /** Returns an index start searching from the end in the typedarray */\\n findLastIndex(callbackfn: (value: i32, index: i32, self: Int32Array) => bool): i32;\\n}\\n\\ndeclare interface Uint32ArrayConstructor {\\n /** Equivalent to calling `new Uint32Array` with multiple arguments. */\\n wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Uint32Array;\\n}\\n\\ndeclare interface Uint32Array {\\n /** Returns value using relative indexing. Index may be negative */\\n at(index: i32): u32;\\n /** Returns an index start searching from the end in the typedarray */\\n findLastIndex(callbackfn: (value: u32, index: i32, self: Uint32Array) => bool): i32;\\n}\\n\\ndeclare interface Float32ArrayConstructor {\\n /** Equivalent to calling `new Float32Array` with multiple arguments. */\\n wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Float32Array;\\n}\\n\\ndeclare interface Float32Array {\\n /** Returns value using relative indexing. Index may be negative */\\n at(index: i32): f32;\\n /** Returns an index start searching from the end in the typedarray */\\n findLastIndex(callbackfn: (value: f32, index: i32, self: Float32Array) => bool): i32;\\n}\\n\\ndeclare interface Float64ArrayConstructor {\\n /** Equivalent to calling `new Float64Array` with multiple arguments. */\\n wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Float64Array;\\n}\\n\\ndeclare interface Float64Array {\\n /** Returns value using relative indexing. Index may be negative */\\n at(index: i32): f64;\\n /** Returns an index start searching from the end in the typedarray */\\n findLastIndex(callbackfn: (value: f64, index: i32, self: Float64Array) => bool): i32;\\n}\\n\\n// FIXME: remove\\ndeclare function offsetof(fieldName?: string): usize;\\ndeclare function idof(): u32;\\n\"\n};\n", "export * from \"binaryen\";\nexport { default } from \"binaryen\";\n"], - "mappings": "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CACd,SAAY,WACZ,YAAe,wCACf,KAAQ,IACR,QAAW,EACb,EACA,eAAkB,CAChB,SAAY,WACZ,YAAe,0CACf,KAAQ,IACR,QAAW,EACb,EACA,cAAiB,CACf,SAAY,WACZ,YAAe,yCACf,KAAQ,IACR,QAAW,CACb,EACA,cAAiB,CACf,SAAY,WACZ,YAAe,yCACf,KAAQ,IACR,QAAW,CACb,EACA,aAAgB,CACd,SAAY,WACZ,YAAe,oDACf,KAAQ,IACR,QAAW,EACb,EACA,iBAAoB,CAClB,SAAY,WACZ,YAAe,2DACf,KAAQ,IACR,QAAW,EACb,EACA,YAAe,CACb,SAAY,WACZ,YAAe,+CACf,KAAQ,IACR,QAAW,EACb,EACA,YAAe,CACb,SAAY,WACZ,YAAe,yCACf,KAAQ,IACR,QAAW,EACb,EACA,YAAe,CACb,SAAY,WACZ,YAAe,CACb,8DACA,iEACA,yCACF,EACA,KAAQ,GACV,EACA,QAAW,CACT,SAAY,WACZ,YAAe,CACb,2DACA,GACA,gDACA,yDACA,mDACA,wDACA,EACF,EACA,KAAQ,IACR,QAAW,aACb,EACA,cAAiB,CACf,SAAY,WACZ,YAAe,CACb,qEACA,oEACF,EACA,KAAQ,IACR,QAAW,EACb,EACA,UAAa,CACX,SAAY,WACZ,YAAe,CACb,6DACA,4DACA,yDACF,EACA,QAAW,EACX,KAAQ,GACV,EACA,OAAU,CACR,SAAY,WACZ,YAAe,CACb,0DACA,GACA,wDACA,kDACA,uDACA,iDACA,+CACA,gDACA,EACF,EACA,oBAAuB,CACrB,2CACA,6CACA,0CACA,4CACA,kDACF,EACA,KAAQ,IACR,kBAAqB,SACvB,EACA,QAAW,CACT,SAAY,WACZ,YAAe,CACb,0DACA,GACA,2DACA,iDACA,0DACA,+CACA,EACF,EACA,KAAQ,IACR,kBAAqB,QACvB,EACA,IAAO,CACL,SAAY,WACZ,YAAe,CACb,8DACA,4DACA,oDACF,EACA,KAAQ,IACR,MAAS,GACX,EACA,eAAkB,CAChB,SAAY,WACZ,YAAe,+CACf,QAAW,EACX,KAAQ,GACV,EACA,WAAc,CACZ,SAAY,UACZ,YAAe,oDA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A;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACT,YAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACf,QAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACX,oBAAqB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACrB,eAAgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAChB,gBAAiB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACjB,SAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACZ,OAAU;AAAA;AAAA,EACV,QAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACX,OAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACV,SAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACZ,KAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACR,YAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACf,MAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACT,SAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACZ,SAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACZ,IAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACP,KAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACR,OAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACV,OAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;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AAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACZ,YAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACb,UAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACX,UAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACX,UAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACX,IAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACP,iBAAkB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAClB,iBAAkB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAClB,gBAAiB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACjB,kBAAmB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACnB,YAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACf,OAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACV,OAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACV,MAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACT,WAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACd,IAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACP,aAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACd,eAAgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAChB,aAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACd,YAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACb,YAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACb,cAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACf,cAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACf,YAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACb,cAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACf,WAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACZ,OAAU;AAAA;AAAA;AAAA;AAAA,CACZ,EACaC,GAAkB,CAC7B,SAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EACZ,SAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA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", - "names": ["fs_exports", "__export", "promises", "init_fs", "__esmMin", "module_exports", "__export", "createRequire", "path", "init_module", "__esmMin", "process_exports", "__export", "argv", "cwd", "exit", "hrtime", "platform", "umask", "code", "previousTimestamp", "clocktime", "performanceNow", "performance", "seconds", "nanoseconds", "init_process", "__esmMin", "path_exports", "__export", "basename", "delimiter", "dirname", "extname", "format", "isAbsolute", "join", "normalize", "parse", "relative", "resolve", "sep", "win32", "assertPath", "path", "normalizeStringPosix", "allowAboveRoot", "res", "lastSegmentLength", "lastSlash", "dots", "code", "i", "lastSlashIndex", "_format", "pathObject", "dir", "base", "resolvedPath", "resolvedAbsolute", "cwd", "trailingSeparator", "joined", "arg", "from", "to", "fromStart", "fromEnd", "fromLen", "toStart", "toEnd", "toLen", "length", "lastCommonSep", "fromCode", "toCode", "out", "hasRoot", "end", "matchedSlash", "ext", "start", "extIdx", "firstNonSlashEnd", "startDot", "startPart", "preDotState", "ret", "init_path", "__esmMin", "init_process", "url_exports", "__export", "pathToFileURL", "encodePathChars", "filepath", "resolved", "resolve", "sep", "url", "init_url", "__esmMin", "init_path", "cli_exports", "__export", "Stats", "checkDiagnostics", "compileString", "configToArguments", "createMemoryStream", "defaultOptimizeLevel", "defaultShrinkLevel", "definitionFiles", "libraryFiles", "libraryPrefix", "main", "options", "tscOptions", "version", "isNode", "fs", "module", "path", "process", "url", "proc", "isCI", "GRAY", "RED", "GREEN", "YELLOW", "BLUE", "MAGENTA", "CYAN", "WHITE", "RESET", "Colors", "stream", "text", "stdoutColors", "stderrColors", "Diff", "oldString", "newString", "options", "callback", "self", "done", "value", "newLen", "oldLen", "editLength", "maxEditLength", "bestPath", "oldPos", "execEditLength", "diagonalPath", "basePath", "addPath", "removePath", "_oldPos", "canAdd", "canRemove", "clonePath", "buildValues", "exec", "ret", "components", "added", "removed", "last", "newPos", "commonCount", "left", "right", "array", "chars", "diff", "useLongestToken", "componentPos", "componentLen", "component", "tmp", "i", "oldValue", "lastComponent", "path", "characterDiff", "extendedWordChars", "reWhitespace", "wordDiff", "Diff", "left", "right", "value", "tokens", "i", "lineDiff", "Diff", "value", "retLines", "linesAndNewlines", "line", "sentenceDiff", "Diff", "value", "cssDiff", "Diff", "value", "_typeof", "obj", "objectPrototypeToString", "jsonDiff", "Diff", "lineDiff", "value", "_this$options", "undefinedReplacement", "_this$options$stringi", "stringifyReplacer", "k", "v", "canonicalize", "left", "right", "canonicalize", "obj", "stack", "replacementStack", "replacer", "key", "i", "canonicalizedObj", "objectPrototypeToString", "_typeof", "sortedKeys", "_key", "arrayDiff", "Diff", "value", "utf8Length", "string", "len", "i", "k", "c", "utf8Read", "buffer", "start", "end", "parts", "chunk", "t", "utf8Write", "offset", "c1", "c2", "utf8", "require", "module", "parse", "argv", "config", "propagateDefaults", "options", "unknown", "args", "trailing", "aliases", "key", "option", "alias", "i", "k", "arg", "match", "addDefaults", "help", "indent", "padding", "eol", "sbCategories", "sbOther", "text", "sb", "line", "hasCategories", "category", "stdoutColors", "sanitizeValue", "value", "type", "v", "merge", "currentOptions", "parentOptions", "parentBaseDir", "mergedOptions", "mutuallyExclusive", "isPath", "useNodeResolution", "cliOnly", "currentValue", "parentValue", "exclude", "resolvePath", "normalizePath", "p", "parsed", "path", "baseDir", "defaultValue", "version", "options", "libraryPrefix", "libraryFiles", "definitionFiles", "binaryen_exports", "__export", "default", "__reExport", "binaryen_star", "assemblyscriptJS", "assemblyscript", "wasmPos", "process", "wasmPath", "url", "require", "module", "WIN", "EOL", "SEP", "extension", "extension_d", "extension_re", "extension_re_except_d", "toUpperSnakeCase", "str", "isNonEmptyString", "value", "version", "options", "libraryPrefix", "libraryFiles", "definitionFiles", "defaultOptimizeLevel", "defaultShrinkLevel", "configToArguments", "argv", "key", "val", "opt", "compileString", "sources", "config", "output", "result", "main", "name", "contents", "stats", "Stats", "statsBegin", "bundleMinorVersion", "bundleMajorVersion", "bundlePatchVersion", "versionParts", "stdout", "createMemoryStream", "stderr", "readFile", "readFileNode", "writeFile", "writeFileNode", "listFiles", "listFilesNode", "optionsResult", "parse", "opts", "stdoutColors", "Colors", "stderrColors", "unknownOpts", "arg", "trailingArgv", "binaryenModule", "prepareResult", "error", "baseDir", "path", "configPath", "resolvePath", "configFile", "configDir", "getConfig", "configHasEntries", "out", "colors", "help", "fs", "seenAsconfig", "target", "targetOptions", "merge", "generalOptions", "entry", "addDefaults", "unique", "values", "program", "runtime", "uncheckedBehavior", "compilerOptions", "aliases", "i", "k", "part", "p", "alias", "features", "flag", "optimizeLevel", "shrinkLevel", "transforms", "transformArgs", "filename", "resolved", "transform", "e1", "e", "default", "applyTransform", "args", "start", "libPath", "begin", "customLibDirs", "lib", "libDir", "libFiles", "libText", "packageBases", "getFile", "internalPath", "dependeePath", "sourceText", "sourcePath", "plainName", "indexName", "match", "packageName", "filePath", "basePath", "paths", "parts", "currentDir", "getBacklog", "parseBacklog", "backlog", "files", "dependee", "file", "numErrors", "checkDiagnostics", "err", "runtimeName", "runtimePath", "runtimeText", "code", "crash", "isValid", "debugInfo", "converge", "zeroFilledMemory", "runPasses", "pass", "last", "next", "pending", "bindings", "hasStdout", "hasOutFile", "hasTextFile", "hasOutput", "hasFileOutput", "basepath", "basename", "sourceMapURL", "wasm", "writeStdout", "map", "text", "bindingsEsm", "bindingsRaw", "source", "dirPath", "dirname", "stage", "BAR", "isObject", "location", "targets", "disableWarning", "reportDiagnostic", "useColors", "diagnostic", "isDisabledWarning", "wrapRange", "range", "wrapSource", "hrtime", "formatTime", "time", "keys", "times", "counts", "keysLen", "current", "timesLen", "countsLen", "count", "totalLen", "header", "totalTime", "readsWrites", "allocBuffer", "len", "fn", "stream", "chunk", "buffer", "utf8", "offset", "tscOptions"] -} diff --git a/platforms/Arduino/node_modules/assemblyscript/dist/assemblyscript.d.ts b/platforms/Arduino/node_modules/assemblyscript/dist/assemblyscript.d.ts deleted file mode 100644 index 2b2e4a44..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/dist/assemblyscript.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -/// -export * from "types:assemblyscript/src/index"; -import * as assemblyscript from "types:assemblyscript/src/index"; -export default assemblyscript; diff --git a/platforms/Arduino/node_modules/assemblyscript/dist/assemblyscript.generated.d.ts b/platforms/Arduino/node_modules/assemblyscript/dist/assemblyscript.generated.d.ts deleted file mode 100644 index 6163d966..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/dist/assemblyscript.generated.d.ts +++ /dev/null @@ -1,9138 +0,0 @@ -declare module "types:assemblyscript/src/common" { - /** - * @fileoverview Common constants used by various parts of the compiler. - * @license Apache-2.0 - */ - /** Indicates traits of a {@link Node} or {@link Element}. */ - export const enum CommonFlags { - /** No flags set. */ - None = 0, - /** Has an `import` modifier. */ - Import = 1, - /** Has an `export` modifier. */ - Export = 2, - /** Has a `declare` modifier. */ - Declare = 4, - /** Has a `const` modifier. */ - Const = 8, - /** Has a `let` modifier. */ - Let = 16, - /** Has a `static` modifier. */ - Static = 32, - /** Has a `readonly` modifier. */ - Readonly = 64, - /** Has an `abstract` modifier. */ - Abstract = 128, - /** Has a `public` modifier. */ - Public = 256, - /** Has a `private` modifier. */ - Private = 512, - /** Has a `protected` modifier. */ - Protected = 1024, - /** Has a `get` modifier. */ - Get = 2048, - /** Has a `set` modifier. */ - Set = 4096, - /** Has a `override` modifier. */ - Override = 8192, - /** Has a definite assignment assertion `!` as in `x!: i32;`. */ - DefinitelyAssigned = 16384, - /** Is ambient, that is either declared or nested in a declared element. */ - Ambient = 32768, - /** Is generic. */ - Generic = 65536, - /** Is part of a generic context. */ - GenericContext = 131072, - /** Is an instance member. */ - Instance = 262144, - /** Is a constructor. */ - Constructor = 524288, - /** Is a module export. */ - ModuleExport = 1048576, - /** Is a module import. */ - ModuleImport = 2097152, - /** Is resolved. */ - Resolved = 4194304, - /** Is compiled. */ - Compiled = 8388608, - /** Did error. */ - Errored = 16777216, - /** Has a constant value and is therefore inlined. */ - Inlined = 33554432, - /** Is scoped. */ - Scoped = 67108864, - /** Is a stub. */ - Stub = 134217728, - /** Is an overridden method. */ - Overridden = 268435456, - /** Is (part of) a closure. */ - Closure = 536870912, - /** Is quoted. */ - Quoted = 1073741824, - /** Is internally nullable. */ - InternallyNullable = -2147483648 - } - /** Path delimiter inserted between file system levels. */ - export const PATH_DELIMITER = "/"; - /** Substitution used to indicate the parent directory. */ - export const PARENT_SUBST = ".."; - /** Function name prefix used for getters. */ - export const GETTER_PREFIX = "get:"; - /** Function name prefix used for setters. */ - export const SETTER_PREFIX = "set:"; - /** Delimiter used between class names and instance members. */ - export const INSTANCE_DELIMITER = "#"; - /** Delimiter used between class and namespace names and static members. */ - export const STATIC_DELIMITER = "."; - /** Delimiter used between a function and its inner elements. */ - export const INNER_DELIMITER = "~"; - /** Substitution used to indicate a library directory. */ - export const LIBRARY_SUBST = "~lib"; - /** Library directory prefix. */ - export const LIBRARY_PREFIX: string; - /** Path index suffix. */ - export const INDEX_SUFFIX: string; - /** Stub function delimiter. */ - export const STUB_DELIMITER = "@"; - /** Common names. */ - export namespace CommonNames { - const Empty = ""; - const i8 = "i8"; - const i16 = "i16"; - const i32 = "i32"; - const i64 = "i64"; - const isize = "isize"; - const u8 = "u8"; - const u16 = "u16"; - const u32 = "u32"; - const u64 = "u64"; - const usize = "usize"; - const bool = "bool"; - const f32 = "f32"; - const f64 = "f64"; - const v128 = "v128"; - const ref_func = "ref_func"; - const ref_extern = "ref_extern"; - const ref_any = "ref_any"; - const ref_eq = "ref_eq"; - const ref_struct = "ref_struct"; - const ref_array = "ref_array"; - const ref_i31 = "ref_i31"; - const ref_string = "ref_string"; - const ref_stringview_wtf8 = "ref_stringview_wtf8"; - const ref_stringview_wtf16 = "ref_stringview_wtf16"; - const ref_stringview_iter = "ref_stringview_iter"; - const i8x16 = "i8x16"; - const u8x16 = "u8x16"; - const i16x8 = "i16x8"; - const u16x8 = "u16x8"; - const i32x4 = "i32x4"; - const u32x4 = "u32x4"; - const i64x2 = "i64x2"; - const u64x2 = "u64x2"; - const f32x4 = "f32x4"; - const f64x2 = "f64x2"; - const void_ = "void"; - const number = "number"; - const boolean = "boolean"; - const string = "string"; - const native = "native"; - const indexof = "indexof"; - const valueof = "valueof"; - const returnof = "returnof"; - const nonnull = "nonnull"; - const null_ = "null"; - const true_ = "true"; - const false_ = "false"; - const this_ = "this"; - const super_ = "super"; - const constructor = "constructor"; - const ASC_TARGET = "ASC_TARGET"; - const ASC_RUNTIME = "ASC_RUNTIME"; - const ASC_NO_ASSERT = "ASC_NO_ASSERT"; - const ASC_MEMORY_BASE = "ASC_MEMORY_BASE"; - const ASC_TABLE_BASE = "ASC_TABLE_BASE"; - const ASC_OPTIMIZE_LEVEL = "ASC_OPTIMIZE_LEVEL"; - const ASC_SHRINK_LEVEL = "ASC_SHRINK_LEVEL"; - const ASC_LOW_MEMORY_LIMIT = "ASC_LOW_MEMORY_LIMIT"; - const ASC_EXPORT_RUNTIME = "ASC_EXPORT_RUNTIME"; - const ASC_FEATURE_SIGN_EXTENSION = "ASC_FEATURE_SIGN_EXTENSION"; - const ASC_FEATURE_MUTABLE_GLOBALS = "ASC_FEATURE_MUTABLE_GLOBALS"; - const ASC_FEATURE_NONTRAPPING_F2I = "ASC_FEATURE_NONTRAPPING_F2I"; - const ASC_FEATURE_BULK_MEMORY = "ASC_FEATURE_BULK_MEMORY"; - const ASC_FEATURE_SIMD = "ASC_FEATURE_SIMD"; - const ASC_FEATURE_THREADS = "ASC_FEATURE_THREADS"; - const ASC_FEATURE_EXCEPTION_HANDLING = "ASC_FEATURE_EXCEPTION_HANDLING"; - const ASC_FEATURE_TAIL_CALLS = "ASC_FEATURE_TAIL_CALLS"; - const ASC_FEATURE_REFERENCE_TYPES = "ASC_FEATURE_REFERENCE_TYPES"; - const ASC_FEATURE_MULTI_VALUE = "ASC_FEATURE_MULTI_VALUE"; - const ASC_FEATURE_GC = "ASC_FEATURE_GC"; - const ASC_FEATURE_MEMORY64 = "ASC_FEATURE_MEMORY64"; - const ASC_FEATURE_RELAXED_SIMD = "ASC_FEATURE_RELAXED_SIMD"; - const ASC_FEATURE_EXTENDED_CONST = "ASC_FEATURE_EXTENDED_CONST"; - const ASC_FEATURE_STRINGREF = "ASC_FEATURE_STRINGREF"; - const ASC_VERSION_MAJOR = "ASC_VERSION_MAJOR"; - const ASC_VERSION_MINOR = "ASC_VERSION_MINOR"; - const ASC_VERSION_PATCH = "ASC_VERSION_PATCH"; - const I8 = "I8"; - const I16 = "I16"; - const I32 = "I32"; - const I64 = "I64"; - const Isize = "Isize"; - const U8 = "U8"; - const U16 = "U16"; - const U32 = "U32"; - const U64 = "U64"; - const Usize = "Usize"; - const Bool = "Bool"; - const F32 = "F32"; - const F64 = "F64"; - const V128 = "V128"; - const RefFunc = "RefFunc"; - const RefExtern = "RefExtern"; - const RefAny = "RefAny"; - const RefEq = "RefEq"; - const RefStruct = "RefStruct"; - const RefArray = "RefArray"; - const RefI31 = "RefI31"; - const RefString = "RefString"; - const String = "String"; - const RegExp = "RegExp"; - const Object = "Object"; - const Array = "Array"; - const StaticArray = "StaticArray"; - const Set = "Set"; - const Map = "Map"; - const Function = "Function"; - const ArrayBufferView = "ArrayBufferView"; - const ArrayBuffer = "ArrayBuffer"; - const Math = "Math"; - const Mathf = "Mathf"; - const NativeMath = "NativeMath"; - const NativeMathf = "NativeMathf"; - const Int8Array = "Int8Array"; - const Int16Array = "Int16Array"; - const Int32Array = "Int32Array"; - const Int64Array = "Int64Array"; - const Uint8Array = "Uint8Array"; - const Uint8ClampedArray = "Uint8ClampedArray"; - const Uint16Array = "Uint16Array"; - const Uint32Array = "Uint32Array"; - const Uint64Array = "Uint64Array"; - const Float32Array = "Float32Array"; - const Float64Array = "Float64Array"; - const TemplateStringsArray = "TemplateStringsArray"; - const Error = "Error"; - const abort = "abort"; - const trace = "trace"; - const seed = "seed"; - const pow = "pow"; - const ipow32 = "ipow32"; - const ipow64 = "ipow64"; - const mod = "mod"; - const alloc = "__alloc"; - const realloc = "__realloc"; - const free = "__free"; - const new_ = "__new"; - const renew = "__renew"; - const link = "__link"; - const collect = "__collect"; - const visit = "__visit"; - const newBuffer = "__newBuffer"; - const newArray = "__newArray"; - const BLOCK = "~lib/rt/common/BLOCK"; - const OBJECT = "~lib/rt/common/OBJECT"; - const DefaultMemory = "0"; - const DefaultTable = "0"; - } - export { Feature, featureToString } from "types:assemblyscript/std/assembly/shared/feature"; - export { Target } from "types:assemblyscript/std/assembly/shared/target"; - export { Runtime } from "types:assemblyscript/std/assembly/shared/runtime"; - export { Typeinfo, TypeinfoFlags } from "types:assemblyscript/std/assembly/shared/typeinfo"; -} -declare module "types:assemblyscript/src/diagnosticMessages.generated" { - /** Enum of available diagnostic codes. */ - export enum DiagnosticCode { - Not_implemented_0 = 100, - Operation_is_unsafe = 101, - User_defined_0 = 102, - Feature_0_is_not_enabled = 103, - Low_memory_limit_exceeded_by_static_data_0_1 = 104, - Module_requires_at_least_0_pages_of_initial_memory = 105, - Module_requires_at_least_0_pages_of_maximum_memory = 106, - Shared_memory_requires_maximum_memory_to_be_defined = 107, - Shared_memory_requires_feature_threads_to_be_enabled = 108, - Transform_0_1 = 109, - Start_function_name_0_is_invalid_or_conflicts_with_another_export = 110, - Element_0_not_found = 111, - Exchange_of_0_values_is_not_supported_by_all_embeddings = 112, - Conversion_from_type_0_to_1_requires_an_explicit_cast = 200, - Conversion_from_type_0_to_1_will_require_an_explicit_cast_when_switching_between_32_64_bit = 201, - Type_0_cannot_be_changed_to_type_1 = 202, - Operation_0_cannot_be_applied_to_type_1 = 203, - Type_0_cannot_be_nullable = 204, - Mutable_value_cannot_be_inlined = 206, - Unmanaged_classes_cannot_extend_managed_classes_and_vice_versa = 207, - Unmanaged_classes_cannot_implement_interfaces = 208, - Invalid_regular_expression_flags = 209, - Expression_is_never_null = 210, - Class_0_is_final_and_cannot_be_extended = 211, - Decorator_0_is_not_valid_here = 212, - Duplicate_decorator = 213, - Type_0_is_illegal_in_this_context = 214, - Optional_parameter_must_have_an_initializer = 215, - Class_0_cannot_declare_a_constructor_when_instantiated_from_an_object_literal = 216, - Function_0_cannot_be_inlined_into_itself = 217, - Cannot_access_method_0_without_calling_it_as_it_requires_this_to_be_set = 218, - Optional_properties_are_not_supported = 219, - Expression_must_be_a_compile_time_constant = 220, - Type_0_is_not_a_function_index_or_function_reference = 221, - _0_must_be_a_value_between_1_and_2_inclusive = 222, - _0_must_be_a_power_of_two = 223, - _0_is_not_a_valid_operator = 224, - Expression_cannot_be_represented_by_a_type = 225, - Expression_resolves_to_unusual_type_0 = 226, - Array_literal_expected = 227, - Function_0_is_virtual_and_will_not_be_inlined = 228, - Property_0_only_has_a_setter_and_is_missing_a_getter = 229, - _0_keyword_cannot_be_used_here = 230, - A_class_with_a_constructor_explicitly_returning_something_else_than_this_must_be_final = 231, - Property_0_is_always_assigned_before_being_used = 233, - Expression_does_not_compile_to_a_value_at_runtime = 234, - Only_variables_functions_and_enums_become_WebAssembly_module_exports = 235, - Literal_0_does_not_fit_into_i64_or_u64_types = 236, - Index_signature_accessors_in_type_0_differ_in_types = 237, - Initializer_definitive_assignment_or_nullable_type_expected = 238, - Definitive_assignment_has_no_effect_on_local_variables = 239, - Importing_the_table_disables_some_indirect_call_optimizations = 901, - Exporting_the_table_disables_some_indirect_call_optimizations = 902, - Expression_compiles_to_a_dynamic_check_at_runtime = 903, - Indexed_access_may_involve_bounds_checking = 904, - Explicitly_returning_constructor_drops_this_allocation = 905, - Unnecessary_definite_assignment = 906, - _NaN_does_not_compare_equal_to_any_other_value_including_itself_Use_isNaN_x_instead = 907, - Comparison_with_0_0_is_sign_insensitive_Use_Object_is_x_0_0_if_the_sign_matters = 908, - Unterminated_string_literal = 1002, - Identifier_expected = 1003, - _0_expected = 1005, - A_file_cannot_have_a_reference_to_itself = 1006, - Trailing_comma_not_allowed = 1009, - Unexpected_token = 1012, - A_rest_parameter_must_be_last_in_a_parameter_list = 1014, - Parameter_cannot_have_question_mark_and_initializer = 1015, - A_required_parameter_cannot_follow_an_optional_parameter = 1016, - _0_modifier_cannot_appear_on_class_elements_of_this_kind = 1031, - Statements_are_not_allowed_in_ambient_contexts = 1036, - Initializers_are_not_allowed_in_ambient_contexts = 1039, - _0_modifier_cannot_be_used_here = 1042, - A_rest_parameter_cannot_be_optional = 1047, - A_rest_parameter_cannot_have_an_initializer = 1048, - A_set_accessor_must_have_exactly_one_parameter = 1049, - A_set_accessor_parameter_cannot_have_an_initializer = 1052, - A_get_accessor_cannot_have_parameters = 1054, - Enum_member_must_have_initializer = 1061, - Type_parameters_cannot_appear_on_a_constructor_declaration = 1092, - Type_annotation_cannot_appear_on_a_constructor_declaration = 1093, - An_accessor_cannot_have_type_parameters = 1094, - A_set_accessor_cannot_have_a_return_type_annotation = 1095, - Type_parameter_list_cannot_be_empty = 1098, - Type_argument_list_cannot_be_empty = 1099, - A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement = 1104, - A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement = 1105, - A_return_statement_can_only_be_used_within_a_function_body = 1108, - Expression_expected = 1109, - Type_expected = 1110, - A_default_clause_cannot_appear_more_than_once_in_a_switch_statement = 1113, - Duplicate_label_0 = 1114, - An_export_assignment_cannot_have_modifiers = 1120, - Octal_literals_are_not_allowed_in_strict_mode = 1121, - Digit_expected = 1124, - Hexadecimal_digit_expected = 1125, - Unexpected_end_of_text = 1126, - Invalid_character = 1127, - _case_or_default_expected = 1130, - _super_must_be_followed_by_an_argument_list_or_member_access = 1034, - A_declare_modifier_cannot_be_used_in_an_already_ambient_context = 1038, - Type_argument_expected = 1140, - String_literal_expected = 1141, - Line_break_not_permitted_here = 1142, - Declaration_expected = 1146, - _const_declarations_must_be_initialized = 1155, - Unterminated_regular_expression_literal = 1161, - Declarations_with_initializers_cannot_also_have_definite_assignment_assertions = 1263, - Interface_declaration_cannot_have_implements_clause = 1176, - Binary_digit_expected = 1177, - Octal_digit_expected = 1178, - An_implementation_cannot_be_declared_in_ambient_contexts = 1183, - The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer = 1190, - An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive = 1198, - Unterminated_Unicode_escape_sequence = 1199, - Decorators_are_not_valid_here = 1206, - _abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration = 1242, - Method_0_cannot_have_an_implementation_because_it_is_marked_abstract = 1245, - An_interface_property_cannot_have_an_initializer = 1246, - A_definite_assignment_assertion_is_not_permitted_in_this_context = 1255, - A_class_may_only_extend_another_class = 1311, - A_parameter_property_cannot_be_declared_using_a_rest_parameter = 1317, - A_default_export_can_only_be_used_in_a_module = 1319, - An_expression_of_type_0_cannot_be_tested_for_truthiness = 1345, - An_identifier_or_keyword_cannot_immediately_follow_a_numeric_literal = 1351, - Duplicate_identifier_0 = 2300, - Cannot_find_name_0 = 2304, - Module_0_has_no_exported_member_1 = 2305, - An_interface_can_only_extend_an_interface = 2312, - Generic_type_0_requires_1_type_argument_s = 2314, - Type_0_is_not_generic = 2315, - Type_0_is_not_assignable_to_type_1 = 2322, - Property_0_is_private_in_type_1_but_not_in_type_2 = 2325, - Index_signature_is_missing_in_type_0 = 2329, - _this_cannot_be_referenced_in_current_location = 2332, - _this_cannot_be_referenced_in_constructor_arguments = 2333, - _super_can_only_be_referenced_in_a_derived_class = 2335, - _super_cannot_be_referenced_in_constructor_arguments = 2336, - Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors = 2337, - Property_0_does_not_exist_on_type_1 = 2339, - Property_0_is_private_and_only_accessible_within_class_1 = 2341, - Cannot_invoke_an_expression_whose_type_lacks_a_call_signature_Type_0_has_no_compatible_call_signatures = 2349, - This_expression_is_not_constructable = 2351, - A_function_whose_declared_type_is_not_void_must_return_a_value = 2355, - The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access = 2357, - The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access = 2364, - Operator_0_cannot_be_applied_to_types_1_and_2 = 2365, - A_super_call_must_be_the_first_statement_in_the_constructor = 2376, - Constructors_for_derived_classes_must_contain_a_super_call = 2377, - _get_and_set_accessor_must_have_the_same_type = 2380, - Overload_signatures_must_all_be_public_private_or_protected = 2385, - Constructor_implementation_is_missing = 2390, - Function_implementation_is_missing_or_not_immediately_following_the_declaration = 2391, - Multiple_constructor_implementations_are_not_allowed = 2392, - Duplicate_function_implementation = 2393, - This_overload_signature_is_not_compatible_with_its_implementation_signature = 2394, - Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local = 2395, - Property_0_in_type_1_is_not_assignable_to_the_same_property_in_base_type_2 = 2416, - A_class_can_only_implement_an_interface = 2422, - A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged = 2434, - Types_have_separate_declarations_of_a_private_property_0 = 2442, - Property_0_is_protected_in_type_1_but_public_in_type_2 = 2444, - Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses = 2445, - Variable_0_used_before_its_declaration = 2448, - Cannot_redeclare_block_scoped_variable_0 = 2451, - The_type_argument_for_type_parameter_0_cannot_be_inferred_from_the_usage_Consider_specifying_the_type_arguments_explicitly = 2453, - Variable_0_is_used_before_being_assigned = 2454, - Type_alias_0_circularly_references_itself = 2456, - Type_0_has_no_property_1 = 2460, - The_0_operator_cannot_be_applied_to_type_1 = 2469, - In_const_enum_declarations_member_initializer_must_be_constant_expression = 2474, - Export_declaration_conflicts_with_exported_declaration_of_0 = 2484, - _0_is_referenced_directly_or_indirectly_in_its_own_base_expression = 2506, - Cannot_create_an_instance_of_an_abstract_class = 2511, - Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_2 = 2515, - Object_is_possibly_null = 2531, - Cannot_assign_to_0_because_it_is_a_constant_or_a_read_only_property = 2540, - The_target_of_an_assignment_must_be_a_variable_or_a_property_access = 2541, - Index_signature_in_type_0_only_permits_reading = 2542, - Expected_0_arguments_but_got_1 = 2554, - Expected_at_least_0_arguments_but_got_1 = 2555, - Expected_0_type_arguments_but_got_1 = 2558, - Property_0_has_no_initializer_and_is_not_assigned_in_the_constructor_before_this_is_used_or_returned = 2564, - Property_0_is_used_before_being_assigned = 2565, - _0_is_defined_as_an_accessor_in_class_1_but_is_overridden_here_in_2_as_an_instance_property = 2610, - _0_is_defined_as_a_property_in_class_1_but_is_overridden_here_in_2_as_an_accessor = 2611, - A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_members_defined_in_other_enums = 2651, - Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration = 2673, - Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration = 2674, - Cannot_extend_a_class_0_Class_constructor_is_marked_as_private = 2675, - The_this_types_of_each_signature_are_incompatible = 2685, - Namespace_0_has_no_exported_member_1 = 2694, - Namespace_can_only_have_declarations = 2695, - Required_type_parameters_may_not_follow_optional_type_parameters = 2706, - Duplicate_property_0 = 2718, - Property_0_is_missing_in_type_1_but_required_in_type_2 = 2741, - Type_0_has_no_call_signatures = 2757, - Get_accessor_0_must_be_at_least_as_accessible_as_the_setter = 2808, - This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0 = 4117, - File_0_not_found = 6054, - Numeric_separators_are_not_allowed_here = 6188, - Multiple_consecutive_numeric_separators_are_not_permitted = 6189, - This_expression_is_not_callable_because_it_is_a_get_accessor_Did_you_mean_to_use_it_without = 6234, - _super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class = 17009, - _super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class = 17011 - } - /** Translates a diagnostic code to its respective string. */ - export function diagnosticCodeToString(code: DiagnosticCode): string; -} -declare module "types:assemblyscript/src/util/binary" { - /** - * @fileoverview Various binary reading and writing utility. - * @license Apache-2.0 - */ - /** Reads an 8-bit integer from the specified buffer. */ - export function readI8(buffer: Uint8Array, offset: number): number; - /** Writes an 8-bit integer to the specified buffer. */ - export function writeI8(value: number, buffer: Uint8Array, offset: number): void; - /** Reads a 16-bit integer from the specified buffer. */ - export function readI16(buffer: Uint8Array, offset: number): number; - /** Writes a 16-bit integer to the specified buffer. */ - export function writeI16(value: number, buffer: Uint8Array, offset: number): void; - /** Reads a 32-bit integer from the specified buffer. */ - export function readI32(buffer: Uint8Array, offset: number): number; - /** Writes a 32-bit integer to the specified buffer. */ - export function writeI32(value: number, buffer: Uint8Array, offset: number): void; - /** Writes a 32-bit integer as a 64-bit integer to the specified buffer. */ - export function writeI32AsI64(value: number, buffer: Uint8Array, offset: number, unsigned?: boolean): void; - /** Reads a 64-bit integer from the specified buffer. */ - export function readI64(buffer: Uint8Array, offset: number): i64; - /** Writes a 64-bit integer to the specified buffer. */ - export function writeI64(value: i64, buffer: Uint8Array, offset: number): void; - /** Writes a 64-bit integer as a 32-bit integer to the specified buffer. */ - export function writeI64AsI32(value: i64, buffer: Uint8Array, offset: number, unsigned?: boolean): void; - /** Reads a 32-bit float from the specified buffer. */ - export function readF32(buffer: Uint8Array, offset: number): number; - /** Writes a 32-bit float to the specified buffer. */ - export function writeF32(value: number, buffer: Uint8Array, offset: number): void; - /** Reads a 64-bit float from the specified buffer. */ - export function readF64(buffer: Uint8Array, offset: number): number; - /** Writes a 64-bit float to the specified buffer. */ - export function writeF64(value: number, buffer: Uint8Array, offset: number): void; - /** Reads a 128-bit vector from the specified buffer. */ - export function readV128(buffer: Uint8Array, offset: number): Uint8Array; - /** Writes a 128-bit vector to the specified buffer. */ - export function writeV128(value: Uint8Array, buffer: Uint8Array, offset: number): void; -} -declare module "types:assemblyscript/src/util/collections" { - /** - * @fileoverview Various collections utility. - * @license Apache-2.0 - */ - /** Clone map. Typically used to track contextual type arguments. */ - export function cloneMap(map: Map | null): Map; - /** Merge two maps in into new one. */ - export function mergeMaps(map1: Map, map2: Map): Map; - /** BitSet represent growable sequence of N bits. It's faster alternative of Set when elements - * are not too much sparsed. Also it's more memory and cache efficient than Array. - * The best way to use it for short bit sequences (less than 32*(2**16)). - */ - export class BitSet { - words: Uint32Array; - constructor(); - get size(): number; - add(index: number): this; - delete(index: number): void; - has(index: number): boolean; - clear(): void; - toArray(): number[]; - toString(): string; - } -} -declare module "types:assemblyscript/src/util/math" { - /** - * @fileoverview Various math utility. - * @license Apache-2.0 - */ - /** Tests if `x` is a power of two. */ - export function isPowerOf2(x: number): boolean; - export function accuratePow64(x: number, y: number): number; -} -declare module "types:assemblyscript/src/util/text" { - /** - * @fileoverview Various character and text utility. - * @license Apache-2.0 - */ - /** An enum of named character codes. */ - export const enum CharCode { - Null = 0, - LineFeed = 10, - CarriageReturn = 13, - LineSeparator = 8232, - ParagraphSeparator = 8233, - NextLine = 133, - Space = 32, - NonBreakingSpace = 160, - EnQuad = 8192, - EmQuad = 8193, - EnSpace = 8194, - EmSpace = 8195, - ThreePerEmSpace = 8196, - FourPerEmSpace = 8197, - SixPerEmSpace = 8198, - FigureSpace = 8199, - PunctuationSpace = 8200, - ThinSpace = 8201, - HairSpace = 8202, - ZeroWidthSpace = 8203, - NarrowNoBreakSpace = 8239, - IdeographicSpace = 12288, - MathematicalSpace = 8287, - Ogham = 5760, - _ = 95, - _0 = 48, - _1 = 49, - _2 = 50, - _3 = 51, - _4 = 52, - _5 = 53, - _6 = 54, - _7 = 55, - _8 = 56, - _9 = 57, - a = 97, - b = 98, - c = 99, - d = 100, - e = 101, - f = 102, - g = 103, - h = 104, - i = 105, - j = 106, - k = 107, - l = 108, - m = 109, - n = 110, - o = 111, - p = 112, - q = 113, - r = 114, - s = 115, - t = 116, - u = 117, - v = 118, - w = 119, - x = 120, - y = 121, - z = 122, - A = 65, - B = 66, - C = 67, - D = 68, - E = 69, - F = 70, - G = 71, - H = 72, - I = 73, - J = 74, - K = 75, - L = 76, - M = 77, - N = 78, - O = 79, - P = 80, - Q = 81, - R = 82, - S = 83, - T = 84, - U = 85, - V = 86, - W = 87, - X = 88, - Y = 89, - Z = 90, - Ampersand = 38, - Asterisk = 42, - At = 64, - Backslash = 92, - Backtick = 96, - Bar = 124, - Caret = 94, - CloseBrace = 125, - CloseBracket = 93, - CloseParen = 41, - Colon = 58, - Comma = 44, - Dollar = 36, - Dot = 46, - DoubleQuote = 34, - Equals = 61, - Exclamation = 33, - GreaterThan = 62, - Hash = 35, - LessThan = 60, - Minus = 45, - OpenBrace = 123, - OpenBracket = 91, - OpenParen = 40, - Percent = 37, - Plus = 43, - Question = 63, - Semicolon = 59, - SingleQuote = 39, - Slash = 47, - Tilde = 126, - Backspace = 8, - FormFeed = 12, - ByteOrderMark = 65279, - Tab = 9, - VerticalTab = 11 - } - /** Tests if the specified character code is some sort of line break. */ - export function isLineBreak(c: number): boolean; - /** Tests if the specified character code is some sort of white space. */ - export function isWhiteSpace(c: number): boolean; - /** First high (lead) surrogate. */ - export const SURROGATE_HIGH = 55296; - /** First low (trail) surrogate. */ - export const SURROGATE_LOW = 56320; - /** Tests if a code unit or code point is a surrogate. */ - export function isSurrogate(c: number): boolean; - /** Tests if a surrogate is a high (lead) surrogate. */ - export function isSurrogateHigh(c: number): boolean; - /** Tests if a surrogate is a low (trail) surrogate. */ - export function isSurrogateLow(c: number): boolean; - /** Tests if a code unit or code point is a high (lead) surrogate. */ - export function isHighSurrogate(c: number): boolean; - /** Tests if a code unit or code point is a low (trail) surrogate. */ - export function isLowSurrogate(c: number): boolean; - /** Converts a surrogate pair to its respective code point. */ - export function combineSurrogates(hi: number, lo: number): number; - /** Gets the number of UTF-16 code units of the specified code point. */ - export function numCodeUnits(cp: number): number; - export function isAlpha(c: number): boolean; - /** Tests if the specified character code is a valid decimal digit. */ - export function isDecimal(c: number): boolean; - /** Tests if the specified character code is a valid octal digit. */ - export function isOctal(c: number): boolean; - /** Tests if the specified character code is a valid hexadecimal symbol [a-f]. */ - export function isHexBase(c: number): boolean; - /** Tests if the specified character code is a valid hexadecimal digit. */ - export function isHexOrDecimal(c: number): boolean; - /** Tests if the specified character code is trivially alphanumeric. */ - export function isAlphaOrDecimal(c: number): boolean; - /** Tests if the specified code point is a valid start of an identifier. */ - export function isIdentifierStart(cp: number): boolean; - /** Tests if the specified code point is a valid part of an identifier. */ - export function isIdentifierPart(cp: number): boolean; - /** Tests if the specified string is a valid identifer. */ - export function isIdentifier(str: string): boolean; - export function indent(sb: string[], level: number): void; - /** Escapes a string using the specified kind of quote. */ - export function escapeString(str: string, quote: CharCode): string; -} -declare module "types:assemblyscript/src/util/path" { - /** - * @fileoverview Various file path utility. - * @license Apache-2.0 - */ - /** - * Normalizes the specified path, removing interior placeholders. - * Expects a posix-compatible relative path (not Windows compatible). - */ - export function normalizePath(path: string): string; - /** Resolves the specified path relative to the specified origin. */ - export function resolvePath(normalizedPath: string, origin: string): string; - /** Obtains the directory portion of a normalized path. */ - export function dirname(normalizedPath: string): string; -} -declare module "types:assemblyscript/src/util/terminal" { - /** - * @fileoverview Terminal utility. - * @license Apache-2.0 - */ - /** Gray terminal color code. */ - export const COLOR_GRAY = "\u001B[90m"; - /** Red terminal color code. */ - export const COLOR_RED = "\u001B[91m"; - /** Green terminal color code. */ - export const COLOR_GREEN = "\u001B[92m"; - /** Yellow terminal color code. */ - export const COLOR_YELLOW = "\u001B[93m"; - /** Blue terminal color code. */ - export const COLOR_BLUE = "\u001B[94m"; - /** Magenta terminal color code. */ - export const COLOR_MAGENTA = "\u001B[95m"; - /** Cyan terminal color code. */ - export const COLOR_CYAN = "\u001B[96m"; - /** White terminal color code. */ - export const COLOR_WHITE = "\u001B[97m"; - /** Terminal color reset code. */ - export const COLOR_RESET = "\u001B[0m"; - /** Checks whether terminal colors are enabled or not. */ - export function isColorsEnabled(): boolean; - /** Sets whether terminal colors are enabled or not. */ - export function setColorsEnabled(isEnabled: boolean): boolean; - /** Wraps the specified text in the specified terminal color code. */ - export function colorize(text: string, color: string): string; -} -declare module "types:assemblyscript/src/util/vector" { - /** - * @fileoverview Various vector utility. - * @license Apache-2.0 - */ - /** v128 zero constant. */ - export const v128_zero: Uint8Array; - /** v128 all ones constant. */ - export const v128_ones: Uint8Array; -} -declare module "types:assemblyscript/src/util" { - /** - * @fileoverview Various utility. - * @license Apache-2.0 - */ - export * from "types:assemblyscript/src/util/binary"; - export * from "types:assemblyscript/src/util/collections"; - export * from "types:assemblyscript/src/util/math"; - export * from "types:assemblyscript/src/util/path"; - export * from "types:assemblyscript/src/util/terminal"; - export * from "types:assemblyscript/src/util/text"; - export * from "types:assemblyscript/src/util/vector"; -} -declare module "types:assemblyscript/src/diagnostics" { - /** - * @fileoverview Shared diagnostic handling. - * @license Apache-2.0 - */ - import { Source } from "types:assemblyscript/src/ast"; - import { DiagnosticCode } from "types:assemblyscript/src/diagnosticMessages.generated"; - export { DiagnosticCode, diagnosticCodeToString } from "types:assemblyscript/src/diagnosticMessages.generated"; - /** Indicates the category of a {@link DiagnosticMessage}. */ - export const enum DiagnosticCategory { - /** Overly pedantic message. */ - Pedantic = 0, - /** Informatory message. */ - Info = 1, - /** Warning message. */ - Warning = 2, - /** Error message. */ - Error = 3 - } - export class Range { - start: number; - end: number; - source: Source; - constructor(start: number, end: number); - static join(a: Range, b: Range): Range; - equals(other: Range): boolean; - get atStart(): Range; - get atEnd(): Range; - toString(): string; - } - /** Returns the string representation of the specified diagnostic category. */ - export function diagnosticCategoryToString(category: DiagnosticCategory): string; - /** Returns the ANSI escape sequence for the specified category. */ - export function diagnosticCategoryToColor(category: DiagnosticCategory): string; - /** Represents a diagnostic message. */ - export class DiagnosticMessage { - /** Message code. */ - code: number; - /** Message category. */ - category: DiagnosticCategory; - /** Message text. */ - message: string; - /** Respective source range, if any. */ - range: Range | null; - /** Related range, if any. */ - relatedRange: Range | null; - /** Constructs a new diagnostic message. */ - private constructor(); - /** Creates a new diagnostic message of the specified category. */ - static create(code: DiagnosticCode, category: DiagnosticCategory, arg0?: string | null, arg1?: string | null, arg2?: string | null): DiagnosticMessage; - /** Tests if this message equals the specified. */ - equals(other: DiagnosticMessage): boolean; - /** Adds a source range to this message. */ - withRange(range: Range): this; - /** Adds a related source range to this message. */ - withRelatedRange(range: Range): this; - /** Converts this message to a string. */ - toString(): string; - } - /** Formats a diagnostic message, optionally with terminal colors and source context. */ - export function formatDiagnosticMessage(message: DiagnosticMessage, useColors?: boolean, showContext?: boolean): string; - /** Base class of all diagnostic emitters. */ - export abstract class DiagnosticEmitter { - /** Diagnostic messages emitted so far. */ - diagnostics: DiagnosticMessage[]; - /** Diagnostic messages already seen, by range. */ - private seen; - /** Initializes this diagnostic emitter. */ - protected constructor(diagnostics?: DiagnosticMessage[] | null); - /** Emits a diagnostic message of the specified category. */ - emitDiagnostic(code: DiagnosticCode, category: DiagnosticCategory, range: Range | null, relatedRange: Range | null, arg0?: string | null, arg1?: string | null, arg2?: string | null): void; - /** Emits an overly pedantic diagnostic message. */ - pedantic(code: DiagnosticCode, range: Range | null, arg0?: string | null, arg1?: string | null, arg2?: string | null): void; - /** Emits an overly pedantic diagnostic message with a related range. */ - pedanticRelated(code: DiagnosticCode, range: Range, relatedRange: Range, arg0?: string | null, arg1?: string | null, arg2?: string | null): void; - /** Emits an informatory diagnostic message. */ - info(code: DiagnosticCode, range: Range | null, arg0?: string | null, arg1?: string | null, arg2?: string | null): void; - /** Emits an informatory diagnostic message with a related range. */ - infoRelated(code: DiagnosticCode, range: Range, relatedRange: Range, arg0?: string | null, arg1?: string | null, arg2?: string | null): void; - /** Emits a warning diagnostic message. */ - warning(code: DiagnosticCode, range: Range | null, arg0?: string | null, arg1?: string | null, arg2?: string | null): void; - /** Emits a warning diagnostic message with a related range. */ - warningRelated(code: DiagnosticCode, range: Range, relatedRange: Range, arg0?: string | null, arg1?: string | null, arg2?: string | null): void; - /** Emits an error diagnostic message. */ - error(code: DiagnosticCode, range: Range | null, arg0?: string | null, arg1?: string | null, arg2?: string | null): void; - /** Emits an error diagnostic message with a related range. */ - errorRelated(code: DiagnosticCode, range: Range, relatedRange: Range, arg0?: string | null, arg1?: string | null, arg2?: string | null): void; - } -} -declare module "types:assemblyscript/src/tokenizer" { - /** - * @fileoverview A TypeScript tokenizer modified for AssemblyScript. - * - * The `Tokenizer` scans over a source file and returns one syntactic token - * at a time that the parser will combine to an abstract syntax tree. - * - * It skips over trivia like comments and whitespace and provides a general - * mark/reset mechanism for the parser to utilize on ambiguous tokens, with - * one token of lookahead otherwise. - * - * @license Apache-2.0 - */ - import { Range, DiagnosticMessage, DiagnosticEmitter } from "types:assemblyscript/src/diagnostics"; - import { Source, CommentKind } from "types:assemblyscript/src/ast"; - /** Named token types. */ - export const enum Token { - Abstract = 0, - As = 1, - Async = 2, - Await = 3, - Break = 4, - Case = 5, - Catch = 6, - Class = 7, - Const = 8, - Continue = 9, - Constructor = 10, - Debugger = 11, - Declare = 12, - Default = 13, - Delete = 14, - Do = 15, - Else = 16, - Enum = 17, - Export = 18, - Extends = 19, - False = 20, - Finally = 21, - For = 22, - From = 23, - Function = 24, - Get = 25, - If = 26, - Implements = 27, - Import = 28, - In = 29, - InstanceOf = 30, - Interface = 31, - Is = 32, - KeyOf = 33, - Let = 34, - Module = 35, - Namespace = 36, - New = 37, - Null = 38, - Of = 39, - Override = 40, - Package = 41, - Private = 42, - Protected = 43, - Public = 44, - Readonly = 45, - Return = 46, - Set = 47, - Static = 48, - Super = 49, - Switch = 50, - This = 51, - Throw = 52, - True = 53, - Try = 54, - Type = 55, - TypeOf = 56, - Var = 57, - Void = 58, - While = 59, - With = 60, - Yield = 61, - OpenBrace = 62, - CloseBrace = 63, - OpenParen = 64, - CloseParen = 65, - OpenBracket = 66, - CloseBracket = 67, - Dot = 68, - Dot_Dot_Dot = 69, - Semicolon = 70, - Comma = 71, - LessThan = 72, - GreaterThan = 73, - LessThan_Equals = 74, - GreaterThan_Equals = 75, - Equals_Equals = 76, - Exclamation_Equals = 77, - Equals_Equals_Equals = 78, - Exclamation_Equals_Equals = 79, - Equals_GreaterThan = 80, - Plus = 81, - Minus = 82, - Asterisk_Asterisk = 83, - Asterisk = 84, - Slash = 85, - Percent = 86, - Plus_Plus = 87, - Minus_Minus = 88, - LessThan_LessThan = 89, - GreaterThan_GreaterThan = 90, - GreaterThan_GreaterThan_GreaterThan = 91, - Ampersand = 92, - Bar = 93, - Caret = 94, - Exclamation = 95, - Tilde = 96, - Ampersand_Ampersand = 97, - Bar_Bar = 98, - Question = 99, - Colon = 100, - Equals = 101, - Plus_Equals = 102, - Minus_Equals = 103, - Asterisk_Equals = 104, - Asterisk_Asterisk_Equals = 105, - Slash_Equals = 106, - Percent_Equals = 107, - LessThan_LessThan_Equals = 108, - GreaterThan_GreaterThan_Equals = 109, - GreaterThan_GreaterThan_GreaterThan_Equals = 110, - Ampersand_Equals = 111, - Bar_Equals = 112, - Caret_Equals = 113, - At = 114, - Identifier = 115, - StringLiteral = 116, - IntegerLiteral = 117, - FloatLiteral = 118, - TemplateLiteral = 119, - Invalid = 120, - EndOfFile = 121 - } - export const enum IdentifierHandling { - Default = 0, - Prefer = 1, - Always = 2 - } - export function tokenFromKeyword(text: string): Token; - export function tokenIsAlsoIdentifier(token: Token): boolean; - export function isIllegalVariableIdentifier(name: string): boolean; - export function operatorTokenToString(token: Token): string; - /** Handler for intercepting comments while tokenizing. */ - export type CommentHandler = (kind: CommentKind, text: string, range: Range) => void; - enum OnNewLine { - No = 0, - Yes = 1, - Unknown = 2 - } - /** Tokenizes a source to individual {@link Token}s. */ - export class Tokenizer extends DiagnosticEmitter { - source: Source; - end: number; - pos: number; - token: Token; - tokenPos: number; - nextToken: Token; - nextTokenPos: number; - nextTokenOnNewLine: OnNewLine; - onComment: CommentHandler | null; - /** Constructs a new tokenizer. */ - constructor(source: Source, diagnostics?: DiagnosticMessage[] | null); - next(identifierHandling?: IdentifierHandling): Token; - private unsafeNext; - peek(identifierHandling?: IdentifierHandling, maxCompoundLength?: number): Token; - peekOnNewLine(): boolean; - skipIdentifier(identifierHandling?: IdentifierHandling): boolean; - skip(token: Token, identifierHandling?: IdentifierHandling): boolean; - mark(): State; - discard(state: State): void; - reset(state: State): void; - clearNextToken(): void; - range(start?: number, end?: number): Range; - readIdentifier(): string; - readingTemplateString: boolean; - readStringStart: number; - readStringEnd: number; - readString(quote?: number, isTaggedTemplate?: boolean): string; - readEscapeSequence(isTaggedTemplate?: boolean): string; - readRegexpPattern(): string; - readRegexpFlags(): string; - testInteger(): boolean; - readInteger(): i64; - readHexInteger(): i64; - readDecimalInteger(): i64; - readOctalInteger(): i64; - readBinaryInteger(): i64; - readFloat(): number; - readDecimalFloat(): number; - /** Reads past one section of a decimal float literal. Returns the number of separators encountered. */ - private readDecimalFloatPartial; - readHexFloat(): number; - readHexadecimalEscape(remain?: number, startIfTaggedTemplate?: number): string; - checkForIdentifierStartAfterNumericLiteral(): void; - readUnicodeEscape(startIfTaggedTemplate?: number): string; - private readExtendedUnicodeEscape; - } - /** Tokenizer state as returned by {@link Tokenizer#mark} and consumed by {@link Tokenizer#reset}. */ - export class State { - /** Current position. */ - pos: number; - /** Current token. */ - token: Token; - /** Current token's position. */ - tokenPos: number; - constructor( - /** Current position. */ - pos: number, - /** Current token. */ - token: Token, - /** Current token's position. */ - tokenPos: number); - } - export {}; -} -declare module "types:assemblyscript/src/types" { - /** - * @fileoverview Mappings from AssemblyScript types to WebAssembly types. - * @license Apache-2.0 - */ - import { Class, Program } from "types:assemblyscript/src/program"; - import { TypeRef } from "types:assemblyscript/src/module"; - /** Indicates the kind of a type. */ - export const enum TypeKind { - /** A 1-bit unsigned integer. */ - Bool = 0, - /** An 8-bit signed integer. */ - I8 = 1, - /** A 16-bit signed integer. */ - I16 = 2, - /** A 32-bit signed integer. */ - I32 = 3, - /** A 64-bit signed integer. */ - I64 = 4, - /** A 32-bit/64-bit signed integer, depending on the target. */ - Isize = 5, - /** An 8-bit unsigned integer. */ - U8 = 6, - /** A 16-bit unsigned integer. */ - U16 = 7, - /** A 32-bit unsigned integer. Also the base of function types. */ - U32 = 8, - /** A 64-bit unsigned integer. */ - U64 = 9, - /** A 32-bit/64-bit unsigned integer, depending on the target. Also the base of class types. */ - Usize = 10, - /** A 32-bit float. */ - F32 = 11, - /** A 64-bit double. */ - F64 = 12, - /** A 128-bit vector. */ - V128 = 13, - /** External reference. */ - Extern = 14, - /** Function reference. */ - Func = 15, - /** Any reference. */ - Any = 16, - /** Equatable reference. */ - Eq = 17, - /** Struct reference. */ - Struct = 18, - /** Array reference. */ - Array = 19, - /** 31-bit integer reference. */ - I31 = 20, - /** String reference. */ - String = 21, - /** WTF8 string view. */ - StringviewWTF8 = 22, - /** WTF16 string view. */ - StringviewWTF16 = 23, - /** String iterator. */ - StringviewIter = 24, - /** No return type. */ - Void = 25 - } - /** Indicates capabilities of a type. */ - export const enum TypeFlags { - None = 0, - /** Is a signed type that can represent negative values. */ - Signed = 1, - /** Is an unsigned type that cannot represent negative values. */ - Unsigned = 2, - /** Is an integer type. */ - Integer = 4, - /** Is a floating point type. */ - Float = 8, - /** Is a varying (in size) type. */ - Varying = 16, - /** Is smaller than 32-bits. */ - Short = 32, - /** Is larger than 32-bits. */ - Long = 64, - /** Is a value type. */ - Value = 128, - /** Is a reference type (either a class or a function type). */ - Reference = 256, - /** Is a nullable type. */ - Nullable = 512, - /** Is a vector type. */ - Vector = 1024, - /** Is an external type. */ - External = 2048, - /** Is a class. */ - Class = 4096, - /** Is a function. */ - Function = 8192 - } - /** Represents a resolved type. */ - export class Type { - /** Type kind. */ - kind: TypeKind; - /** Type flags. */ - flags: TypeFlags; - /** Size in bits. */ - size: number; - /** Underlying class reference, if a class type. */ - classReference: Class | null; - /** Underlying signature reference, if a function type. */ - signatureReference: Signature | null; - /** Respective non-nullable type, if nullable. */ - private _nonNullableType; - /** Respective nullable type, if non-nullable. */ - private _nullableType; - /** Cached Binaryen type reference. */ - ref: TypeRef; - /** Constructs a new resolved type. */ - constructor(kind: TypeKind, flags: TypeFlags, size: number); - /** Returns the closest int type representing this type. */ - get intType(): Type; - /** Substitutes this type with the auto type if this type is void. */ - get exceptVoid(): Type; - /** Size in bytes. */ - get byteSize(): number; - /** Gets this type's logarithmic alignment in memory. */ - get alignLog2(): number; - /** Tests if this type represents a basic value. */ - get isValue(): boolean; - /** Tests if this type represents an integer value. */ - get isIntegerValue(): boolean; - /** Tests if this type represents a small (< 32 bits) integer value. */ - get isShortIntegerValue(): boolean; - /** Tests if this type represents a long (> 32 bits) integer value. */ - get isLongIntegerValue(): boolean; - /** Tests if this type represents a signed integer value. */ - get isSignedIntegerValue(): boolean; - /** Tests if this type represents an unsigned integer value. */ - get isUnsignedIntegerValue(): boolean; - /** Tests if this type represents a varying (in size) integer value. */ - get isVaryingIntegerValue(): boolean; - /** Tests if this type represents an integer, including references. */ - get isIntegerInclReference(): boolean; - /** Tests if this type represents a floating point value. */ - get isFloatValue(): boolean; - /** Tests if this type represents a numeric (integer or floating point) value. */ - get isNumericValue(): boolean; - /** Tests if this type represents a boolean value. */ - get isBooleanValue(): boolean; - /** Tests if this type represents a vector value. */ - get isVectorValue(): boolean; - /** Tests if this type represents an internal or external reference. */ - get isReference(): boolean; - /** Tests if this type represents a nullable internal or external reference. */ - get isNullableReference(): boolean; - /** Tests if this type represents an internal object. */ - get isInternalReference(): boolean; - /** Tests if this type represents an external object. */ - get isExternalReference(): boolean; - /** Tests if this type represents a nullable external object. */ - get isNullableExternalReference(): boolean; - /** Gets the underlying class of this type, if any. */ - getClass(): Class | null; - /** Tests if this type represents a class. */ - get isClass(): boolean; - /** Gets the underlying class or wrapper class of this type, if any. */ - getClassOrWrapper(program: Program): Class | null; - /** Gets the underlying function signature of this type, if any. */ - getSignature(): Signature | null; - /** Tests if this type represents a function. */ - get isFunction(): boolean; - /** Tests if this is a managed type that needs GC hooks. */ - get isManaged(): boolean; - /** Tests if this is a class type explicitly annotated as unmanaged. */ - get isUnmanaged(): boolean; - get isMemory(): boolean; - /** Gets the corresponding non-nullable type. */ - get nonNullableType(): Type; - /** Gets the corresponding nullable type, if applicable. */ - get nullableType(): Type | null; - /** Computes the sign-extending shift in the target type. */ - computeSmallIntegerShift(targetType: Type): number; - /** Computes the truncating mask in the target type. */ - computeSmallIntegerMask(targetType: Type): number; - /** Tests if this type has (all of) the specified flags. */ - is(flags: TypeFlags): boolean; - /** Tests if this type has any of the specified flags. */ - isAny(flags: TypeFlags): boolean; - /** Composes the respective nullable type of this type. */ - asNullable(): Type; - /** Use unsigned type for according size if possible. */ - toUnsigned(): Type; - /** Tests if this type equals the specified. */ - equals(other: Type): boolean; - /** Tests if a value of this type is assignable to the target type incl. implicit conversion. */ - isAssignableTo(target: Type, signednessIsRelevant?: boolean): boolean; - /** Tests if a value of this type is assignable to the target type excl. implicit conversion. */ - isStrictlyAssignableTo(target: Type, signednessIsRelevant?: boolean): boolean; - /** Tests if this type has a subtype assignable to the target type. */ - hasSubtypeAssignableTo(target: Type): boolean; - /** Tests if a value of this type can be changed to the target type using `changetype`. */ - isChangeableTo(target: Type): boolean; - /** Tests if this type can extend or implement the given type. */ - canExtendOrImplement(base: Type): boolean; - /** Computes the common type of a binary-like expression, if any. */ - static commonType( - /** LHS type. */ - left: Type, - /** RHS type. */ - right: Type, - /** Contextual type, if any. */ - contextualType?: Type, - /** Whether signedness is relevant. */ - signednessIsRelevant?: boolean): Type | null; - /** Converts this type's kind to a string. */ - kindToString(): string; - /** Converts this type to a string. */ - toString(validWat?: boolean): string; - /** Converts this type to its respective type reference. */ - toRef(): TypeRef; - /** An 8-bit signed integer. */ - static readonly i8: Type; - /** A 16-bit signed integer. */ - static readonly i16: Type; - /** A 32-bit signed integer. */ - static readonly i32: Type; - /** A 64-bit signed integer. */ - static readonly i64: Type; - /** A 32-bit signed size. WASM32 only. */ - static readonly isize32: Type; - /** A 64-bit signed size. WASM64 only. */ - static readonly isize64: Type; - /** An 8-bit unsigned integer. */ - static readonly u8: Type; - /** A 16-bit unsigned integer. */ - static readonly u16: Type; - /** A 32-bit unsigned integer. */ - static readonly u32: Type; - /** A 64-bit unsigned integer. */ - static readonly u64: Type; - /** A 32-bit unsigned size. WASM32 only. */ - static readonly usize32: Type; - /** A 64-bit unsigned size. WASM64 only. */ - static readonly usize64: Type; - /** A 1-bit unsigned integer. */ - static readonly bool: Type; - /** A 32-bit float. */ - static readonly f32: Type; - /** A 64-bit float. */ - static readonly f64: Type; - /** A 128-bit vector. */ - static readonly v128: Type; - /** Non-nullable function reference (`ref func`). */ - static readonly func: Type; - /** Non-nullable external reference (`ref extern`). */ - static readonly extern: Type; - /** Non-nullable any reference (`ref any`). */ - static readonly any: Type; - /** Non-nullable equatable reference (`ref eq`). */ - static readonly eq: Type; - /** Non-nullable struct reference (`ref struct`). */ - static readonly struct: Type; - /** Non-nullable array reference (`ref array`). */ - static readonly array: Type; - /** Non-nullable 31-bit integer reference (`ref i31`). */ - static readonly i31: Type; - /** Non-nullable string reference (`ref string`). */ - static readonly string: Type; - /** Non-nullable WTF8 string view reference (`ref stringview_wtf8`). */ - static readonly stringview_wtf8: Type; - /** Non-nullable WTF16 string view reference (`ref stringview_wtf16`). */ - static readonly stringview_wtf16: Type; - /** Non-nullable string iterator reference (`ref stringview_iter`). */ - static readonly stringview_iter: Type; - /** No return type. */ - static readonly void: Type; - /** Alias of i32 indicating type inference of locals and globals with just an initializer. */ - static readonly auto: Type; - } - /** Converts an array of types to an array of type references. */ - export function typesToRefs(types: Type[]): TypeRef[]; - /** Converts an array of types to its combined string representation. */ - export function typesToString(types: Type[]): string; - /** Represents a fully resolved function signature. */ - export class Signature { - /** The program that created this signature. */ - readonly program: Program; - /** Parameter types, if any, excluding `this`. */ - readonly parameterTypes: Type[]; - /** Return type. */ - readonly returnType: Type; - /** This type, if an instance signature. */ - readonly thisType: Type | null; - /** Number of required parameters excluding `this`. Other parameters are considered optional. */ - readonly requiredParameters: number; - /** Whether the last parameter is a rest parameter. */ - readonly hasRest: boolean; - /** Unique id representing this signature. */ - readonly id: number; - /** Respective function type. */ - readonly type: Type; - /** Construct a new signature. */ - static create( - /** The program that created this signature. */ - program: Program, - /** Parameter types, if any, excluding `this`. */ - parameterTypes?: Type[], - /** Return type. */ - returnType?: Type, - /** This type, if an instance signature. */ - thisType?: Type | null, - /** Number of required parameters excluding `this`. Other parameters are considered optional. */ - requiredParameters?: number, - /** Whether the last parameter is a rest parameter. */ - hasRest?: boolean): Signature; - /** Constructs a new signature. */ - private constructor(); - get paramRefs(): TypeRef; - get resultRefs(): TypeRef; - /** Tests if this signature equals the specified. */ - equals(other: Signature): boolean; - /** Tests if a value of this function type is assignable to a target of the specified function type. */ - isAssignableTo(target: Signature, checkCompatibleOverride?: boolean): boolean; - /** Tests if this signature has at least one managed operand. */ - get hasManagedOperands(): boolean; - /** Gets the indices of all managed operands. */ - getManagedOperandIndices(): number[]; - /** Tests if this signature has at least one v128 operand. */ - get hasVectorValueOperands(): boolean; - /** Gets the indices of all v128 operands. */ - getVectorValueOperandIndices(): number[]; - /** Converts this signature to a string. */ - toString(validWat?: boolean): string; - /** Creates a clone of this signature that is safe to modify. */ - clone(requiredParameters?: number, hasRest?: boolean): Signature; - } -} -declare module "types:assemblyscript/src/flow" { - /** - * @fileoverview A concurrent code flow analyzer. - * - * Flows keep track of compilation state and can be queried for various - * conditions, like whether the current branch always terminates, whether - * a local is known to be non-null or whether an expression has possibly - * overflown its value range. - * - * To accomplish this, compilation of each function begins with a clean - * flow populated with initial local states etc. While compilation - * progresses, statements and expressions update flow state while control - * constructs fork, potentially add scoped locals and later merge these - * forked branches as necessary. - * - * @license Apache-2.0 - */ - import { Type } from "types:assemblyscript/src/types"; - import { Program, Local, Function, Element, Property, TypeDefinition } from "types:assemblyscript/src/program"; - import { ExpressionRef } from "types:assemblyscript/src/module"; - import { Node } from "types:assemblyscript/src/ast"; - /** Control flow flags indicating specific conditions. */ - export const enum FlowFlags { - /** No specific conditions. */ - None = 0, - /** This flow always returns. */ - Returns = 1, - /** This flow always returns a wrapped value. */ - ReturnsWrapped = 2, - /** This flow always returns a non-null value. */ - ReturnsNonNull = 4, - /** This flow always throws. */ - Throws = 8, - /** This flow always breaks. */ - Breaks = 16, - /** This flow always continues. */ - Continues = 32, - /** This flow always accesses `this`. Constructors only. */ - AccessesThis = 64, - /** This flow always calls `super`. Constructors only. */ - CallsSuper = 128, - /** This flow always terminates (returns, throws or continues). */ - Terminates = 256, - /** This flow conditionally returns in a child flow. */ - ConditionallyReturns = 512, - /** This flow conditionally throws in a child flow. */ - ConditionallyThrows = 1024, - /** This flow conditionally breaks in a child flow. */ - ConditionallyBreaks = 2048, - /** This flow conditionally continues in a child flow. */ - ConditionallyContinues = 4096, - /** This flow conditionally accesses `this` in a child flow. Constructors only. */ - ConditionallyAccessesThis = 8192, - /** This flow may return a non-this value. Constructors only. */ - MayReturnNonThis = 16384, - /** This is a flow with explicitly disabled bounds checking. */ - UncheckedContext = 32768, - /** This is a flow compiling a constructor parameter. */ - CtorParamContext = 65536, - /** Any categorical flag. */ - AnyCategorical = 511, - /** Any conditional flag. */ - AnyConditional = 15872 - } - /** Flags indicating the current state of a local. */ - export const enum LocalFlags { - /** No specific conditions. */ - None = 0, - /** Local is constant. */ - Constant = 1, - /** Local is properly wrapped. Relevant for small integers. */ - Wrapped = 2, - /** Local is non-null. */ - NonNull = 4, - /** Local is initialized. */ - Initialized = 8 - } - /** Flags indicating the current state of a field. */ - export const enum FieldFlags { - None = 0, - Initialized = 1 - } - /** Condition kinds. */ - export const enum ConditionKind { - /** Outcome of the condition is unknown */ - Unknown = 0, - /** Condition is always true. */ - True = 1, - /** Condition is always false. */ - False = 2 - } - /** A control flow evaluator. */ - export class Flow { - /** Target function this flow generates code into. */ - targetFunction: Function; - /** Inline function this flow generates code from, if any. */ - inlineFunction: Function | null; - /** Creates the default top-level flow of the specified function. */ - static createDefault(targetFunction: Function): Flow; - /** Creates an inline flow, compiling `inlineFunction` into `targetFunction`. */ - static createInline(targetFunction: Function, inlineFunction: Function): Flow; - private constructor(); - /** Parent flow. */ - parent: Flow | null; - /** Outer flow. Only relevant for first-class functions. */ - outer: Flow | null; - /** Flow flags indicating specific conditions. */ - flags: FlowFlags; - /** The label we break to when encountering a continue statement. */ - continueLabel: string | null; - /** The label we break to when encountering a break statement. */ - breakLabel: string | null; - /** Scoped local variables. */ - scopedLocals: Map | null; - /** Scoped type alias. */ - scopedTypeAlias: Map | null; - /** Local flags. */ - localFlags: LocalFlags[]; - /** Field flags on `this`. Constructors only. */ - thisFieldFlags: Map | null; - /** The label we break to when encountering a return statement, when inlining. */ - inlineReturnLabel: string | null; - /** Alternative flows if a compound expression is true-ish. */ - trueFlows: Map | null; - /** Alternative flows if a compound expression is false-ish. */ - falseFlows: Map | null; - /** Tests if this is an inline flow. */ - get isInline(): boolean; - /** Gets the source function being compiled. Differs from target when inlining. */ - get sourceFunction(): Function; - /** Gets the program this flow belongs to. */ - get program(): Program; - /** Gets the current return type. */ - get returnType(): Type; - /** Gets the current contextual type arguments. */ - get contextualTypeArguments(): Map | null; - /** Tests if this flow has the specified flag or flags. */ - is(flag: FlowFlags): boolean; - /** Tests if this flow has one of the specified flags. */ - isAny(flag: FlowFlags): boolean; - /** Sets the specified flag or flags. */ - set(flag: FlowFlags): void; - /** Unsets the specified flag or flags. */ - unset(flag: FlowFlags): void; - deriveConditionalFlags(): FlowFlags; - /** Forks this flow to a child flow. */ - fork( - /** Whether a new break context is established, e.g. by a block. */ - newBreakContext?: boolean, - /** Whether a new continue context is established, e.g. by a loop. */ - newContinueContext?: boolean): Flow; - /** Forks this flow to a child flow where `condExpr` is true-ish. */ - forkThen( - /** Condition that turned out to be true. */ - condExpr: ExpressionRef, - /** Whether a new break context is established, e.g. by a block. */ - newBreakContext?: boolean, - /** Whether a new continue context is established, e.g. by a loop. */ - newContinueContext?: boolean): Flow; - /** Remembers the alternative flow if `condExpr` turns out `true`. */ - noteThen(condExpr: ExpressionRef, trueFlow: Flow): void; - /** Forks this flow to a child flow where `condExpr` is false-ish. */ - forkElse( - /** Condition that turned out to be false. */ - condExpr: ExpressionRef): Flow; - /** Remembers the alternative flow if `condExpr` turns out `false`. */ - noteElse(condExpr: ExpressionRef, falseFlow: Flow): void; - addScopedTypeAlias(name: string, definition: TypeDefinition): void; - lookupScopedTypeAlias(name: string): TypeDefinition | null; - lookupTypeAlias(name: string): TypeDefinition | null; - /** Gets a free temporary local of the specified type. */ - getTempLocal(type: Type): Local; - /** Gets the scoped local of the specified name. */ - getScopedLocal(name: string): Local | null; - /** Adds a new scoped local of the specified name. */ - addScopedLocal(name: string, type: Type): Local; - /** Adds a new scoped dummy local of the specified name. */ - addScopedDummyLocal(name: string, type: Type, declarationNode: Node): Local; - /** Adds a new scoped alias for the specified local. For example `super` aliased to the `this` local. */ - addScopedAlias(name: string, type: Type, index: number, reportNode?: Node | null): Local; - /** Frees a single scoped local by its name. */ - freeScopedDummyLocal(name: string): void; - /** Looks up the local of the specified name in the current scope. */ - lookupLocal(name: string): Local | null; - /** Looks up the element with the specified name relative to the scope of this flow. */ - lookup(name: string): Element | null; - /** Tests if the local at the specified index has the specified flag or flags. */ - isLocalFlag(index: number, flag: LocalFlags, defaultIfInlined?: boolean): boolean; - /** Tests if the local at the specified index has any of the specified flags. */ - isAnyLocalFlag(index: number, flag: LocalFlags, defaultIfInlined?: boolean): boolean; - /** Sets the specified flag or flags on the local at the specified index. */ - setLocalFlag(index: number, flag: LocalFlags): void; - /** Unsets the specified flag or flags on the local at the specified index. */ - unsetLocalFlag(index: number, flag: LocalFlags): void; - /** Initializes `this` field flags. */ - initThisFieldFlags(): void; - /** Tests if the specified `this` field has the specified flag or flags. */ - isThisFieldFlag(field: Property, flag: FieldFlags): boolean; - /** Sets the specified flag or flags on the given `this` field. */ - setThisFieldFlag(field: Property, flag: FieldFlags): void; - /** Pushes a new control flow label, for example when entering a loop that one can `break` from. */ - pushControlFlowLabel(): number; - /** Pops the most recent control flow label and validates that it matches. */ - popControlFlowLabel(expectedLabel: number): void; - /** Inherits flags of another flow into this one, i.e. a finished inner block. */ - inherit(other: Flow): void; - /** Merges only the side effects of a branch, i.e. when not taken. */ - mergeSideEffects(other: Flow): void; - /** Merges a branch joining again with this flow, i.e. then without else. */ - mergeBranch(other: Flow): void; - /** Inherits two alternate branches to become this flow, i.e. then with else. */ - inheritAlternatives(left: Flow, right: Flow): void; - /** Tests if recompilation is needed due to incompatible local flags between loops, and resets if necessary. */ - resetIfNeedsRecompile( - /** Resulting flow of the current compilation attempt. */ - other: Flow, - /** Number of locals before the compilation attempt. */ - numLocalsBefore: number): boolean; - /** Checks if an expression of the specified type is known to be non-null, even if the type might be nullable. */ - isNonnull(expr: ExpressionRef, type: Type): boolean; - /** Updates local states to reflect that this branch is only taken when `expr` is true-ish. */ - private inheritNonnullIfTrue; - /** Updates local states to reflect that this branch is only taken when `expr` is false-ish. */ - private inheritNonnullIfFalse; - /** - * Tests if an expression can possibly overflow in the context of this flow. Assumes that the - * expression might already have overflown and returns `false` only if the operation neglects - * any possible combination of garbage bits being present. - */ - canOverflow(expr: ExpressionRef, type: Type): boolean; - toString(): string; - } -} -declare module "types:assemblyscript/src/resolver" { - /** - * @fileoverview Resolve infrastructure to obtain types and elements. - * - * Similar to the compiler making instructions of expressions, the resolver - * obtains metadata of expressions. As such, for each `compileX` method in - * the compiler there is one `lookupX` method in the resolver returning the - * respective IR element, respectively one `resolveX` method returning the - * respective type of an expression. It is also able to make new elements, - * like instances of classes given its concrete type arguments. - * - * @license Apache-2.0 - */ - import { DiagnosticEmitter } from "types:assemblyscript/src/diagnostics"; - import { Program, Element, Class, ClassPrototype, Function, FunctionPrototype, Property, PropertyPrototype } from "types:assemblyscript/src/program"; - import { Flow } from "types:assemblyscript/src/flow"; - import { TypeNode, TypeName, TypeParameterNode, Node, IdentifierExpression, CallExpression, Expression, IntegerLiteralExpression } from "types:assemblyscript/src/ast"; - import { Type } from "types:assemblyscript/src/types"; - /** Indicates whether errors are reported or not. */ - export const enum ReportMode { - /** Report errors. */ - Report = 0, - /** Swallow errors. */ - Swallow = 1 - } - /** Provides tools to resolve types and expressions. */ - export class Resolver extends DiagnosticEmitter { - /** The program this resolver belongs to. */ - program: Program; - /** Target expression of the previously resolved property or element access. */ - currentThisExpression: Expression | null; - /** Element expression of the previously resolved element access. */ - currentElementExpression: Expression | null; - /** Whether a new override has been discovered. */ - discoveredOverride: boolean; - /** Constructs the resolver for the specified program. */ - constructor( - /** The program to construct a resolver for. */ - program: Program); - /** Resolves a {@link TypeNode} to a concrete {@link Type}. */ - resolveType( - /** The type to resolve. */ - node: TypeNode, - /** The flow */ - flow: Flow | null, - /** Contextual element. */ - ctxElement: Element, - /** Contextual types, i.e. `T`. */ - ctxTypes?: Map | null, - /** How to proceed with eventual diagnostics. */ - reportMode?: ReportMode): Type | null; - /** Resolves a {@link NamedTypeNode} to a concrete {@link Type}. */ - private resolveNamedType; - /** Resolves a {@link FunctionTypeNode} to a concrete {@link Type}. */ - private resolveFunctionType; - private resolveBuiltinNativeType; - private resolveBuiltinIndexofType; - private resolveBuiltinValueofType; - private resolveBuiltinReturnTypeType; - private resolveBuiltinNotNullableType; - /** Resolves a type name to the program element it refers to. */ - resolveTypeName( - /** The type name to resolve. */ - node: TypeName, - /** The flow */ - flow: Flow | null, - /** Contextual element. */ - ctxElement: Element, - /** How to proceed with eventual diagnostics. */ - reportMode?: ReportMode): Element | null; - /** Resolves an array of type arguments to concrete types. */ - resolveTypeArguments( - /** Type parameter nodes present. */ - typeParameters: TypeParameterNode[], - /** Type argument nodes provided. */ - typeArgumentNodes: TypeNode[] | null, - /** Flow */ - flow: Flow | null, - /** Contextual element. */ - ctxElement: Element, - /** Contextual types, i.e. `T`. Updated in place with the new set of contextual types. */ - ctxTypes?: Map, - /** Alternative report node in case of empty type arguments. */ - alternativeReportNode?: Node | null, - /** How to proceed with eventual diagnostics. */ - reportMode?: ReportMode): Type[] | null; - /** Resolves respectively infers the concrete instance of a function by call context. */ - maybeInferCall(node: CallExpression, prototype: FunctionPrototype, ctxFlow: Flow, reportMode?: ReportMode): Function | null; - /** Updates contextual types with a possibly encapsulated inferred type. */ - private propagateInferredGenericTypes; - /** Gets the concrete type of an element. */ - getTypeOfElement(element: Element): Type | null; - /** Gets the element of a concrete type. */ - getElementOfType(type: Type): Element | null; - /** Looks up the program element the specified expression refers to. */ - lookupExpression( - /** The expression to look up. */ - node: Expression, - /** Contextual flow. */ - ctxFlow: Flow, - /** Contextual type. */ - ctxType?: Type, - /** How to proceed with eventual diagnostics. */ - reportMode?: ReportMode): Element | null; - /** resolving expressions */ - private resolvingExpressions; - /** Resolves an expression to its static type. */ - resolveExpression( - /** The expression to resolve. */ - node: Expression, - /** Contextual flow. */ - ctxFlow: Flow, - /** Contextual type. */ - ctxType?: Type, - /** How to proceed with eventual diagnostics. */ - reportMode?: ReportMode): Type | null; - /** Resolves an expression to its static type. (may cause stack overflow) */ - private doResolveExpression; - /** Looks up the program element the specified identifier expression refers to. */ - lookupIdentifierExpression( - /** The expression to look up. */ - node: IdentifierExpression, - /** Flow to search for scoped locals. */ - ctxFlow: Flow, - /** Element to search. */ - ctxElement?: Element, // differs for enums and namespaces - /** How to proceed with eventual diagnostics. */ - reportMode?: ReportMode): Element | null; - /** Resolves an identifier to its static type. */ - private resolveIdentifierExpression; - /** Resolves a lazily compiled global, i.e. a static class field or annotated `@lazy`. */ - private ensureResolvedLazyGlobal; - /** Looks up the program element the specified property access expression refers to. */ - private lookupPropertyAccessExpression; - /** Resolves a property access expression to its static type. */ - private resolvePropertyAccessExpression; - /** Looks up the program element the specified element access expression refers to. */ - private lookupElementAccessExpression; - /** Resolves an element access expression to its static type. */ - private resolveElementAccessExpression; - /** Determines the final type of an integer literal given the specified contextual type. */ - determineIntegerLiteralType( - /** Integer literal value. */ - expr: IntegerLiteralExpression, - /** Has unary minus before literal. */ - negate: boolean, - /** Contextual type. */ - ctxType: Type): Type; - /** Looks up the program element the specified assertion expression refers to. */ - private lookupAssertionExpression; - /** Resolves an assertion expression to its static type. */ - private resolveAssertionExpression; - /** Looks up the program element the specified unary prefix expression refers to. */ - private lookupUnaryPrefixExpression; - /** Resolves an unary prefix expression to its static type. */ - private resolveUnaryPrefixExpression; - /** Looks up the program element the specified unary postfix expression refers to. */ - private lookupUnaryPostfixExpression; - /** Resolves an unary postfix expression to its static type. */ - private resolveUnaryPostfixExpression; - /** Looks up the program element the specified binary expression refers to. */ - private lookupBinaryExpression; - /** Resolves a binary expression to its static type. */ - private resolveBinaryExpression; - /** Looks up the program element the specified this expression refers to. */ - private lookupThisExpression; - /** Resolves a this expression to its static type. */ - private resolveThisExpression; - /** Looks up the program element the specified super expression refers to. */ - private lookupSuperExpression; - /** Resolves a super expression to its static type. */ - private resolveSuperExpression; - /** Looks up the program element the specified literal expression refers to. */ - private lookupLiteralExpression; - /** Resolves a literal expression to its static type. */ - private resolveLiteralExpression; - /** Looks up the program element the specified call expression refers to. */ - private lookupCallExpression; - /** Resolves a call expression to its static type. */ - private resolveCallExpression; - /** Looks up the program element the specified comma expression refers to. */ - private lookupCommaExpression; - /** Resolves a comma expression to its static type. */ - private resolveCommaExpression; - /** Looks up the program element the specified instanceof expression refers to. */ - private lookupInstanceOfExpression; - /** Resolves an instanceof expression to its static type. */ - private resolveInstanceOfExpression; - /** Looks up the program element the specified ternary expression refers to. */ - private lookupTernaryExpression; - /** Resolves a ternary expression to its static type. */ - private resolveTernaryExpression; - /** Looks up the program element the specified new expression refers to. */ - private lookupNewExpression; - /** Resolves a new expression to its static type. */ - private resolveNewExpression; - /** Looks up the program element the specified function expression refers to. */ - private lookupFunctionExpression; - /** Resolves a function expression to its static type. */ - private resolveFunctionExpression; - /** Resolves a function prototype using the specified concrete type arguments. */ - resolveFunction( - /** The prototype of the function. */ - prototype: FunctionPrototype, - /** Type arguments provided. */ - typeArguments: Type[] | null, - /** Contextual types, i.e. `T`. */ - ctxTypes?: Map, - /** How to proceed with eventual diagnostics. */ - reportMode?: ReportMode): Function | null; - /** Resolves a function prototypeby first resolving the specified type arguments. */ - resolveFunctionInclTypeArguments( - /** The prototype of the function. */ - prototype: FunctionPrototype, - /** Type arguments provided to be resolved. */ - typeArgumentNodes: TypeNode[] | null, - /** Contextual element. */ - ctxElement: Element, - /** Contextual types, i.e. `T`. */ - ctxTypes: Map, - /** The node to use when reporting intermediate errors. */ - reportNode: Node, - /** How to proceed with eventual diagnostics. */ - reportMode?: ReportMode): Function | null; - /** Resolves reachable overrides of the given instance method. */ - resolveOverrides(instance: Function): Function[] | null; - /** Currently resolving classes. */ - private resolveClassPending; - /** Resolves a class prototype using the specified concrete type arguments. */ - resolveClass( - /** The prototype of the class. */ - prototype: ClassPrototype, - /** Type arguments provided. */ - typeArguments: Type[] | null, - /** Contextual types, i.e. `T`. */ - ctxTypes?: Map, - /** How to proceed with eventual diagnostics. */ - reportMode?: ReportMode): Class | null; - /** Checks whether an override's visibility is valid. */ - private checkOverrideVisibility; - /** Finishes resolving the specified class. */ - private finishResolveClass; - /** Resolves a class prototype by first resolving the specified type arguments. */ - resolveClassInclTypeArguments( - /** The prototype of the class. */ - prototype: ClassPrototype, - /** Type arguments provided to be resolved. */ - typeArgumentNodes: TypeNode[] | null, - /** Flow of {@link typeArgumentNodes} */ - flow: Flow | null, - /** Contextual element. */ - ctxElement: Element, - /** Contextual types, i.e. `T`. */ - ctxTypes: Map, - /** The node to use when reporting intermediate errors. */ - reportNode: Node, - /** How to proceed with eventual diagnostics. */ - reportMode?: ReportMode): Class | null; - /** Resolves a property prototype. */ - resolveProperty( - /** The prototype of the property. */ - prototype: PropertyPrototype, - /** How to proceed with eventual diagnostics. */ - reportMode?: ReportMode): Property | null; - private ensureOneTypeArgument; - } -} -declare module "types:assemblyscript/src/parser" { - /** - * @fileoverview A TypeScript parser for the AssemblyScript subset. - * - * Takes the tokens produced by the `Tokenizer` and builds an abstract - * syntax tree composed of `Node`s wrapped in a `Source` out of it. - * - * @license Apache-2.0 - */ - import { CommonFlags } from "types:assemblyscript/src/common"; - import { Tokenizer, CommentHandler } from "types:assemblyscript/src/tokenizer"; - import { DiagnosticEmitter, DiagnosticMessage } from "types:assemblyscript/src/diagnostics"; - import { Node, Source, TypeNode, TypeName, FunctionTypeNode, Expression, ClassExpression, FunctionExpression, Statement, BlockStatement, BreakStatement, ClassDeclaration, ContinueStatement, DecoratorNode, DoStatement, EnumDeclaration, EnumValueDeclaration, ExportImportStatement, ExportMember, ExportStatement, ExpressionStatement, ForOfStatement, FunctionDeclaration, IfStatement, ImportDeclaration, ImportStatement, IndexSignatureNode, NamespaceDeclaration, ParameterNode, ReturnStatement, SwitchCase, SwitchStatement, ThrowStatement, TryStatement, TypeDeclaration, TypeParameterNode, VariableStatement, VariableDeclaration, VoidStatement, WhileStatement, ModuleDeclaration } from "types:assemblyscript/src/ast"; - class Dependee { - source: Source; - reportNode: Node; - constructor(source: Source, reportNode: Node); - } - /** Parser interface. */ - export class Parser extends DiagnosticEmitter { - /** Source file names to be requested next. */ - backlog: string[]; - /** Source file names already seen, that is processed or backlogged. */ - seenlog: Set; - /** Source file names already completely processed. */ - donelog: Set; - /** Optional handler to intercept comments while tokenizing. */ - onComment: CommentHandler | null; - /** Current file being parsed. */ - currentSource: Source | null; - /** Map of dependees being depended upon by a source, by path. */ - dependees: Map; - /** An array of parsed sources. */ - sources: Source[]; - /** Current overridden module name. */ - currentModuleName: string | null; - /** Constructs a new parser. */ - constructor(diagnostics?: DiagnosticMessage[] | null, sources?: Source[]); - /** Parses a file and adds its definitions to the program. */ - parseFile( - /** Source text of the file, or `null` to indicate not found. */ - text: string | null, - /** Normalized path of the file. */ - path: string, - /** Whether this is an entry file. */ - isEntry: boolean): void; - /** Parses a top-level statement. */ - parseTopLevelStatement(tn: Tokenizer, namespace?: NamespaceDeclaration | null): Statement | null; - /** Obtains the next file to parse. */ - nextFile(): string | null; - /** Obtains the path of the dependee of the given imported file. */ - getDependee(dependent: string): string | null; - /** Finishes parsing. */ - finish(): void; - /** Parses a type name. */ - parseTypeName(tn: Tokenizer): TypeName | null; - /** Parses a type. */ - parseType(tn: Tokenizer, acceptParenthesized?: boolean, suppressErrors?: boolean): TypeNode | null; - private tryParseSignatureIsSignature; - /** Parses a function type, as used in type declarations. */ - tryParseFunctionType(tn: Tokenizer): FunctionTypeNode | null; - parseDecorator(tn: Tokenizer): DecoratorNode | null; - parseVariable(tn: Tokenizer, flags: CommonFlags, decorators: DecoratorNode[] | null, startPos: number, isFor?: boolean): VariableStatement | null; - parseVariableDeclaration(tn: Tokenizer, parentFlags: CommonFlags, parentDecorators: DecoratorNode[] | null, isFor?: boolean): VariableDeclaration | null; - parseEnum(tn: Tokenizer, flags: CommonFlags, decorators: DecoratorNode[] | null, startPos: number): EnumDeclaration | null; - parseEnumValue(tn: Tokenizer, parentFlags: CommonFlags): EnumValueDeclaration | null; - parseReturn(tn: Tokenizer): ReturnStatement | null; - parseTypeParameters(tn: Tokenizer): TypeParameterNode[] | null; - parseTypeParameter(tn: Tokenizer): TypeParameterNode | null; - private parseParametersThis; - parseParameters(tn: Tokenizer, isConstructor?: boolean): ParameterNode[] | null; - parseParameter(tn: Tokenizer, isConstructor?: boolean): ParameterNode | null; - parseFunction(tn: Tokenizer, flags: CommonFlags, decorators: DecoratorNode[] | null, startPos: number): FunctionDeclaration | null; - parseFunctionExpression(tn: Tokenizer): FunctionExpression | null; - private parseFunctionExpressionCommon; - parseClassOrInterface(tn: Tokenizer, flags: CommonFlags, decorators: DecoratorNode[] | null, startPos: number): ClassDeclaration | null; - parseClassExpression(tn: Tokenizer): ClassExpression | null; - parseClassMember(tn: Tokenizer, parent: ClassDeclaration): Node | null; - parseIndexSignature(tn: Tokenizer, flags: CommonFlags, decorators: DecoratorNode[] | null): IndexSignatureNode | null; - parseNamespace(tn: Tokenizer, flags: CommonFlags, decorators: DecoratorNode[] | null, startPos: number): NamespaceDeclaration | null; - parseExport(tn: Tokenizer, startPos: number, isDeclare: boolean): ExportStatement | null; - parseExportMember(tn: Tokenizer): ExportMember | null; - parseExportDefaultAlias(tn: Tokenizer, startPos: number, defaultStart: number, defaultEnd: number): ExportStatement; - parseImport(tn: Tokenizer): ImportStatement | null; - parseImportDeclaration(tn: Tokenizer): ImportDeclaration | null; - parseExportImport(tn: Tokenizer, startPos: number): ExportImportStatement | null; - parseStatement(tn: Tokenizer, topLevel?: boolean): Statement | null; - parseBlockStatement(tn: Tokenizer, topLevel: boolean): BlockStatement | null; - parseBreak(tn: Tokenizer): BreakStatement | null; - parseContinue(tn: Tokenizer): ContinueStatement | null; - parseDoStatement(tn: Tokenizer): DoStatement | null; - parseExpressionStatement(tn: Tokenizer): ExpressionStatement | null; - parseForStatement(tn: Tokenizer): Statement | null; - parseForOfStatement(tn: Tokenizer, startPos: number, variable: Statement): ForOfStatement | null; - parseIfStatement(tn: Tokenizer): IfStatement | null; - parseSwitchStatement(tn: Tokenizer): SwitchStatement | null; - parseSwitchCase(tn: Tokenizer): SwitchCase | null; - parseThrowStatement(tn: Tokenizer): ThrowStatement | null; - parseTryStatement(tn: Tokenizer): TryStatement | null; - parseTypeDeclaration(tn: Tokenizer, flags: CommonFlags, decorators: DecoratorNode[] | null, startPos: number): TypeDeclaration | null; - parseModuleDeclaration(tn: Tokenizer, flags: CommonFlags): ModuleDeclaration | null; - parseVoidStatement(tn: Tokenizer): VoidStatement | null; - parseWhileStatement(tn: Tokenizer): WhileStatement | null; - parseExpressionStart(tn: Tokenizer): Expression | null; - tryParseTypeArgumentsBeforeArguments(tn: Tokenizer): TypeNode[] | null; - parseArguments(tn: Tokenizer): Expression[] | null; - parseExpression(tn: Tokenizer, precedence?: Precedence): Expression | null; - private parseTemplateLiteral; - private joinPropertyCall; - private maybeParseCallExpression; - private checkASI; - /** Skips over a statement on errors in an attempt to reduce unnecessary diagnostic noise. */ - skipStatement(tn: Tokenizer): void; - /** Skips over a block on errors in an attempt to reduce unnecessary diagnostic noise. */ - skipBlock(tn: Tokenizer): void; - } - /** Operator precedence from least to largest. */ - export const enum Precedence { - None = 0, - Comma = 1, - Spread = 2, - Yield = 3, - Assignment = 4, - Conditional = 5, - LogicalOr = 6, - LogicalAnd = 7, - BitwiseOr = 8, - BitwiseXor = 9, - BitwiseAnd = 10, - Equality = 11, - Relational = 12, - Shift = 13, - Additive = 14, - Multiplicative = 15, - Exponentiated = 16, - UnaryPrefix = 17, - UnaryPostfix = 18, - Call = 19, - MemberAccess = 20, - Grouping = 21 - } - export {}; -} -declare module "types:assemblyscript/src/program" { - /** - * @fileoverview AssemblyScript's intermediate representation. - * - * The compiler uses Binaryen IR, which is fairly low level, as its - * primary intermediate representation, with the following structures - * holding any higher level information that cannot be represented by - * Binaryen IR alone, for example higher level types. - * - * Similar to the AST being composed of `Node`s in `Source`s, the IR is - * composed of `Element`s in a `Program`. Each class or function is - * represented by a "prototype" holding all the relevant information, - * including each's concrete instances. If a class or function is not - * generic, there is exactly one instance, otherwise there is one for - * each concrete set of type arguments. - * - * @license Apache-2.0 - */ - import { CommonFlags, Feature } from "types:assemblyscript/src/common"; - import { Options } from "types:assemblyscript/src/compiler"; - import { Range, DiagnosticMessage, DiagnosticEmitter } from "types:assemblyscript/src/diagnostics"; - import { Type, Signature } from "types:assemblyscript/src/types"; - import { Token } from "types:assemblyscript/src/tokenizer"; - import { Node, Source, DecoratorNode, DecoratorKind, TypeParameterNode, TypeNode, NamedTypeNode, FunctionTypeNode, ArrowKind, Expression, IdentifierExpression, Statement, ClassDeclaration, DeclarationStatement, EnumDeclaration, EnumValueDeclaration, FieldDeclaration, FunctionDeclaration, InterfaceDeclaration, NamespaceDeclaration, TypeDeclaration, VariableDeclaration, VariableLikeDeclarationStatement } from "types:assemblyscript/src/ast"; - import { Module, ExpressionRef, FunctionRef, MemorySegment } from "types:assemblyscript/src/module"; - import { Resolver } from "types:assemblyscript/src/resolver"; - import { Flow } from "types:assemblyscript/src/flow"; - import { Parser } from "types:assemblyscript/src/parser"; - /** Represents the kind of an operator overload. */ - export enum OperatorKind { - Invalid = 0, - IndexedGet = 1, - IndexedSet = 2, - UncheckedIndexedGet = 3, - UncheckedIndexedSet = 4, - Add = 5, - Sub = 6, - Mul = 7, - Div = 8, - Rem = 9, - Pow = 10, - BitwiseAnd = 11, - BitwiseOr = 12, - BitwiseXor = 13, - BitwiseShl = 14, - BitwiseShr = 15, - BitwiseShrU = 16, - Eq = 17, - Ne = 18, - Gt = 19, - Ge = 20, - Lt = 21, - Le = 22, - Plus = 23, - Minus = 24, - Not = 25, - BitwiseNot = 26, - PrefixInc = 27, - PrefixDec = 28, - PostfixInc = 29, - PostfixDec = 30 - } - export namespace OperatorKind { - /** Returns the operator kind represented by the specified decorator and string argument. */ - function fromDecorator(decoratorKind: DecoratorKind, arg: string): OperatorKind; - /** Converts a binary operator token to the respective operator kind. */ - function fromBinaryToken(token: Token): OperatorKind; - /** Converts a unary prefix operator token to the respective operator kind. */ - function fromUnaryPrefixToken(token: Token): OperatorKind; - /** Converts a unary postfix operator token to the respective operator kind. */ - function fromUnaryPostfixToken(token: Token): OperatorKind; - } - /** Represents an AssemblyScript program. */ - export class Program extends DiagnosticEmitter { - /** Compiler options. */ - options: Options; - /** Constructs a new program, optionally inheriting parser diagnostics. */ - constructor( - /** Compiler options. */ - options: Options, - /** Shared array of diagnostic messages (emitted so far). */ - diagnostics?: DiagnosticMessage[] | null); - /** Module instance. */ - module: Module; - /** Parser instance. */ - parser: Parser; - /** Resolver instance. */ - resolver: Resolver; - /** Array of sources. */ - sources: Source[]; - /** Diagnostic offset used where successively obtaining the next diagnostic. */ - diagnosticsOffset: number; - /** Special native code file. */ - nativeFile: File; - /** Next class id. */ - nextClassId: number; - /** Next signature id. */ - nextSignatureId: number; - /** An indicator if the program has been initialized. */ - initialized: boolean; - /** Files by unique internal name. */ - filesByName: Map; - /** Elements by unique internal name in element space. */ - elementsByName: Map; - /** Elements by declaration. */ - elementsByDeclaration: Map; - /** Element instances by unique internal name. */ - instancesByName: Map; - /** Classes wrapping basic types like `i32`. */ - wrapperClasses: Map; - /** Managed classes contained in the program, by id. */ - managedClasses: Map; - /** A set of unique function signatures contained in the program, by id. */ - uniqueSignatures: Map; - /** Module imports. */ - moduleImports: Map>; - /** Gets the standard `ArrayBufferView` instance. */ - get arrayBufferViewInstance(): Class; - private _arrayBufferViewInstance; - /** Gets the standard `ArrayBuffer` instance. */ - get arrayBufferInstance(): Class; - private _arrayBufferInstance; - /** Gets the standard `Array` prototype. */ - get arrayPrototype(): ClassPrototype; - private _arrayPrototype; - /** Gets the standard `StaticArray` prototype. */ - get staticArrayPrototype(): ClassPrototype; - private _staticArrayPrototype; - /** Gets the standard `Set` prototype. */ - get setPrototype(): ClassPrototype; - private _setPrototype; - /** Gets the standard `Map` prototype. */ - get mapPrototype(): ClassPrototype; - private _mapPrototype; - /** Gets the standard `Function` prototype. */ - get functionPrototype(): ClassPrototype; - private _functionPrototype; - /** Gets the standard `Int8Array` prototype. */ - get int8ArrayPrototype(): ClassPrototype; - private _int8ArrayPrototype; - /** Gets the standard `Int16Array` prototype. */ - get int16ArrayPrototype(): ClassPrototype; - private _int16ArrayPrototype; - /** Gets the standard `Int32Array` prototype. */ - get int32ArrayPrototype(): ClassPrototype; - private _int32ArrayPrototype; - /** Gets the standard `Int64Array` prototype. */ - get int64ArrayPrototype(): ClassPrototype; - private _int64ArrayPrototype; - /** Gets the standard `Uint8Array` prototype. */ - get uint8ArrayPrototype(): ClassPrototype; - private _uint8ArrayPrototype; - /** Gets the standard `Uint8ClampedArray` prototype. */ - get uint8ClampedArrayPrototype(): ClassPrototype; - private _uint8ClampedArrayPrototype; - /** Gets the standard `Uint16Array` prototype. */ - get uint16ArrayPrototype(): ClassPrototype; - private _uint16ArrayPrototype; - /** Gets the standard `Uint32Array` prototype. */ - get uint32ArrayPrototype(): ClassPrototype; - private _uint32ArrayPrototype; - /** Gets the standard `Uint64Array` prototype. */ - get uint64ArrayPrototype(): ClassPrototype; - private _uint64ArrayPrototype; - /** Gets the standard `Float32Array` prototype. */ - get float32ArrayPrototype(): ClassPrototype; - private _float32ArrayPrototype; - /** Gets the standard `Float64Array` prototype. */ - get float64ArrayPrototype(): ClassPrototype; - private _float64ArrayPrototype; - /** Gets the standard `String` instance. */ - get stringInstance(): Class; - private _stringInstance; - /** Gets the standard `RegExp` instance. */ - get regexpInstance(): Class; - private _regexpInstance; - /** Gets the standard `Object` prototype. */ - get objectPrototype(): ClassPrototype; - private _objectPrototype; - /** Gets the standard `Object` instance. */ - get objectInstance(): Class; - private _objectInstance; - /** Gets the standard `TemplateStringsArray` instance. */ - get templateStringsArrayInstance(): Class; - private _templateStringsArrayInstance; - /** Gets the standard `abort` instance, if not explicitly disabled. */ - get abortInstance(): Function | null; - /** Gets the runtime `__alloc(size: usize): usize` instance. */ - get allocInstance(): Function; - private _allocInstance; - /** Gets the runtime `__realloc(ptr: usize, newSize: usize): usize` instance. */ - get reallocInstance(): Function; - private _reallocInstance; - /** Gets the runtime `__free(ptr: usize): void` instance. */ - get freeInstance(): Function; - private _freeInstance; - /** Gets the runtime `__new(size: usize, id: u32): usize` instance. */ - get newInstance(): Function; - private _newInstance; - /** Gets the runtime `__renew(ptr: usize, size: usize): usize` instance. */ - get renewInstance(): Function; - private _renewInstance; - /** Gets the runtime `__link(parentPtr: usize, childPtr: usize, expectMultiple: bool): void` instance. */ - get linkInstance(): Function; - private _linkInstance; - /** Gets the runtime `__collect(): void` instance. */ - get collectInstance(): Function; - private _collectInstance; - /** Gets the runtime `__visit(ptr: usize, cookie: u32): void` instance. */ - get visitInstance(): Function; - private _visitInstance; - /** Gets the runtime `__newBuffer(size: usize, id: u32, data: usize = 0): usize` instance. */ - get newBufferInstance(): Function; - private _newBufferInstance; - /** Gets the runtime `__newArray(length: i32, alignLog2: usize, id: u32, data: usize = 0): usize` instance. */ - get newArrayInstance(): Function; - private _newArrayInstance; - /** Gets the runtime's internal `BLOCK` instance. */ - get BLOCKInstance(): Class; - private _BLOCKInstance; - /** Gets the runtime's internal `OBJECT` instance. */ - get OBJECTInstance(): Class; - private _OBJECTInstance; - /** Obtains the source matching the specified internal path. */ - getSource(internalPath: string): string | null; - /** Gets the overhead of a memory manager block. */ - get blockOverhead(): number; - /** Gets the overhead of a managed object, excl. block overhead, incl. alignment. */ - get objectOverhead(): number; - /** Gets the total overhead of a managed object, incl. block overhead. */ - get totalOverhead(): number; - searchFunctionByRef(ref: FunctionRef): Function | null; - /** Computes the next properly aligned offset of a memory manager block, given the current bump offset. */ - computeBlockStart(currentOffset: number): number; - /** Computes the next properly aligned offset of a memory manager block, given the current bump offset. */ - computeBlockStart64(currentOffset: i64): i64; - /** Computes the size of a memory manager block, excl. block overhead. */ - computeBlockSize(payloadSize: number, isManaged: boolean): number; - /** Creates a native variable declaration. */ - makeNativeVariableDeclaration( - /** The simple name of the variable */ - name: string, - /** Flags indicating specific traits, e.g. `CONST`. */ - flags?: CommonFlags): VariableDeclaration; - /** Creates a native type declaration. */ - makeNativeTypeDeclaration( - /** The simple name of the type. */ - name: string, - /** Flags indicating specific traits, e.g. `GENERIC`. */ - flags?: CommonFlags): TypeDeclaration; - private nativeDummySignature; - /** Creates a native function declaration. */ - makeNativeFunctionDeclaration( - /** The simple name of the function. */ - name: string, - /** Flags indicating specific traits, e.g. `DECLARE`. */ - flags?: CommonFlags): FunctionDeclaration; - /** Creates a native namespace declaration. */ - makeNativeNamespaceDeclaration( - /** The simple name of the namespace. */ - name: string, - /** Flags indicating specific traits, e.g. `EXPORT`. */ - flags?: CommonFlags): NamespaceDeclaration; - /** Creates a native function. */ - makeNativeFunction( - /** The simple name of the function. */ - name: string, - /** Concrete function signature. */ - signature: Signature, - /** Parent element, usually a file, class or namespace. */ - parent?: Element, - /** Flags indicating specific traits, e.g. `GENERIC`. */ - flags?: CommonFlags, - /** Decorator flags representing built-in decorators. */ - decoratorFlags?: DecoratorFlags): Function; - /** Gets the (possibly merged) program element linked to the specified declaration. */ - getElementByDeclaration(declaration: DeclarationStatement): DeclaredElement | null; - /** Initializes the program and its elements prior to compilation. */ - initialize(): void; - /** Processes overridden members by this class in a base class. */ - private processOverrides; - /** Processes a single overridden member by this class in a base class. */ - private doProcessOverride; - /** Looks up the element of the specified name in the global scope. */ - lookup(name: string): Element | null; - /** Requires that a global library element of the specified kind is present and returns it. */ - private require; - /** Requires that a global variable is present and returns it. */ - requireGlobal(name: string): Global; - /** Requires that a non-generic global class is present and returns it. */ - requireClass(name: string): Class; - /** Requires that a global function is present and returns it. */ - requireFunction(name: string, typeArguments?: Type[] | null): Function; - /** Marks all exports of the specified file as module exports. */ - private markModuleExports; - /** Marks an element and its children as a module export. */ - private markModuleExport; - /** Marks an element as a module import. */ - markModuleImport(moduleName: string, name: string, element: Element): void; - /** Registers a native type with the program. */ - private registerNativeType; - /** Registers the wrapper class of a non-class type. */ - private registerWrapperClass; - /** Registers a constant integer value within the global scope. */ - registerConstantInteger(name: string, type: Type, value: i64): void; - /** Registers a constant float value within the global scope. */ - private registerConstantFloat; - /** Ensures that the given global element exists. Attempts to merge duplicates. */ - ensureGlobal(name: string, element: DeclaredElement): DeclaredElement; - /** Tries to locate a foreign file given its normalized path. */ - private lookupForeignFile; - /** Tries to locate a foreign element by traversing exports and queued exports. */ - private lookupForeign; - /** Validates that only supported decorators are present. */ - private checkDecorators; - /** Checks whether a particular feature is enabled. */ - checkFeatureEnabled(feature: Feature, reportNode: Node): boolean; - /** Checks whether a particular type is supported. */ - checkTypeSupported(type: Type, reportNode: Node): boolean; - /** Initializes a class declaration. */ - private initializeClass; - /** Initializes a field of a class or interface. */ - private initializeField; - /** Initializes a method of a class or interface. */ - private initializeMethod; - /** Checks that operator overloads are generally valid, if present. */ - private checkOperatorOverloads; - /** Ensures that the property introduced by the specified getter or setter exists.*/ - private ensureProperty; - /** Initializes a property of a class. */ - private initializeProperty; - /** Initializes an enum. */ - private initializeEnum; - /** Initializes an enum value. */ - private initializeEnumValue; - /** Initializes an `export` statement. */ - private initializeExports; - /** Initializes a single `export` member. Does not handle `export *`. */ - private initializeExport; - private initializeExportDefault; - /** Initializes an `import` statement. */ - private initializeImports; - /** Initializes a single `import` declaration. Does not handle `import *`. */ - private initializeImport; - /** Initializes a function. Does not handle methods. */ - private initializeFunction; - /** Initializes an interface. */ - private initializeInterface; - /** Initializes a field of an interface, as a property. */ - private initializeFieldAsProperty; - /** Initializes a namespace. */ - private initializeNamespace; - /** Initializes a `type` definition. */ - private initializeTypeDefinition; - /** Initializes a variable statement. */ - private initializeVariables; - } - /** Indicates the specific kind of an {@link Element}. */ - export const enum ElementKind { - /** A {@link Global}. */ - Global = 0, - /** A {@link Local}. */ - Local = 1, - /** An {@link Enum}. */ - Enum = 2, - /** An {@link EnumValue}. */ - EnumValue = 3, - /** A {@link FunctionPrototype}. */ - FunctionPrototype = 4, - /** A {@link Function}. */ - Function = 5, - /** A {@link ClassPrototype}. */ - ClassPrototype = 6, - /** A {@link Class}. */ - Class = 7, - /** An {@link InterfacePrototype}. */ - InterfacePrototype = 8, - /** An {@link Interface}. */ - Interface = 9, - /** A {@link PropertyPrototype}. */ - PropertyPrototype = 10, - /** A {@link Property}. */ - Property = 11, - /** A {@link Namespace}. */ - Namespace = 12, - /** A {@link File}. */ - File = 13, - /** A {@link TypeDefinition}. */ - TypeDefinition = 14, - /** An {@link IndexSignature}. */ - IndexSignature = 15 - } - /** Indicates built-in decorators that are present. */ - export enum DecoratorFlags { - /** No flags set. */ - None = 0, - /** Is a program global. */ - Global = 1, - /** Is a binary operator overload. */ - OperatorBinary = 2, - /** Is a unary prefix operator overload. */ - OperatorPrefix = 4, - /** Is a unary postfix operator overload. */ - OperatorPostfix = 8, - /** Is an unmanaged class. */ - Unmanaged = 16, - /** Is a final class. */ - Final = 32, - /** Is always inlined. */ - Inline = 64, - /** Is using a different external name. */ - External = 128, - /** Has external JavaScript code. */ - ExternalJs = 256, - /** Is a builtin. */ - Builtin = 512, - /** Is compiled lazily. */ - Lazy = 1024, - /** Is considered unsafe code. */ - Unsafe = 2048 - } - export namespace DecoratorFlags { - /** Translates a decorator kind to the respective decorator flag. */ - function fromKind(kind: DecoratorKind): DecoratorFlags; - } - /** Base class of all program elements. */ - export abstract class Element { - /** Specific element kind. */ - kind: ElementKind; - /** Simple name. */ - name: string; - /** Internal name referring to this element. */ - internalName: string; - /** Containing {@link Program}. */ - program: Program; - /** Parent element. */ - parent: Element; - /** Common flags indicating specific traits. */ - flags: CommonFlags; - /** Decorator flags indicating annotated traits. */ - decoratorFlags: DecoratorFlags; - /** Member elements. */ - members: Map | null; - /** Shadowing type in type space, if any. */ - shadowType: TypeDefinition | null; - /** Constructs a new program element. */ - protected constructor( - /** Specific element kind. */ - kind: ElementKind, - /** Simple name. */ - name: string, - /** Internal name referring to this element. */ - internalName: string, - /** Containing {@link Program}. */ - program: Program, - /** Parent element. */ - parent: Element | null); - /** Gets the enclosing file. */ - get file(): File; - /** Tests if this element has a specific flag or flags. */ - is(flag: CommonFlags): boolean; - /** Tests if this element has any of the specified flags. */ - isAny(flags: CommonFlags): boolean; - /** Sets a specific flag or flags. */ - set(flag: CommonFlags): void; - /** Unsets the specific flag or flags. */ - unset(flag: CommonFlags): void; - /** Tests if this element has a specific decorator flag or flags. */ - hasDecorator(flag: DecoratorFlags): boolean; - /** Tests if this element has any of the specified decorator flags. */ - hasAnyDecorator(flags: DecoratorFlags): boolean; - /** Get the member with the specified name, if any. */ - getMember(name: string): DeclaredElement | null; - /** Looks up the element with the specified name relative to this element. */ - lookup(name: string, isType?: boolean): Element | null; - /** Adds an element as a member of this one. Reports and returns `false` if a duplicate. */ - add(name: string, element: DeclaredElement, localIdentifierIfImport?: IdentifierExpression | null): boolean; - /** Checks if this element is public, explicitly or implicitly. */ - get isPublic(): boolean; - /** Checks if this element is implicitly public, i.e. not explicitly declared to be. */ - get isImplicitlyPublic(): boolean; - /** Checks if the visibility of this element equals the specified. */ - visibilityEquals(other: Element): boolean; - visibilityNoLessThan(other: Element): boolean; - /** Tests if this element is bound to a class. */ - get isBound(): boolean; - /** Gets the class or interface this element is bound to, if any. */ - getBoundClassOrInterface(): Class | null; - /** Returns a string representation of this element. */ - toString(): string; - } - /** Tests if the specified element kind indicates a declared element. */ - export function isDeclaredElement(kind: ElementKind): boolean; - /** Base class of elements with an associated declaration statement. */ - export abstract class DeclaredElement extends Element { - /** Declaration reference. */ - declaration: DeclarationStatement; - /** Constructs a new declared program element. */ - protected constructor( - /** Specific element kind. */ - kind: ElementKind, - /** Simple name. */ - name: string, - /** Internal name referring to this element. */ - internalName: string, - /** Containing {@link Program}. */ - program: Program, - /** Parent element. */ - parent: Element | null, - /** Declaration reference. */ - declaration: DeclarationStatement); - /** Tests if this element is a library element. */ - get isDeclaredInLibrary(): boolean; - /** Gets the associated identifier node. */ - get identifierNode(): IdentifierExpression; - /** Gets the signature node, if applicable, along the identifier node. */ - get identifierAndSignatureRange(): Range; - /** Gets the assiciated decorator nodes. */ - get decoratorNodes(): DecoratorNode[] | null; - } - /** Checks if the specified element kind indicates a typed element. */ - export function isTypedElement(kind: ElementKind): boolean; - /** Base class of elements that can be resolved to a concrete type. */ - export abstract class TypedElement extends DeclaredElement { - /** Resolved type. Set once `is(RESOLVED)`, otherwise void. */ - type: Type; - constructor( - /** Specific element kind. */ - kind: ElementKind, - /** Simple name. */ - name: string, - /** Internal name referring to this element. */ - internalName: string, - /** Containing {@link Program}. */ - program: Program, - /** Parent element. */ - parent: Element | null, - /** Declaration reference. */ - declaration: DeclarationStatement); - /** Sets the resolved type of this element. */ - setType(type: Type): void; - } - /** A file representing the implicit top-level namespace of a source. */ - export class File extends Element { - /** Source of this file. */ - source: Source; - /** File exports. */ - exports: Map | null; - /** File re-exports. */ - exportsStar: File[] | null; - /** Top-level start function of this file. */ - startFunction: Function; - /** Array of `import * as X` alias namespaces of this file. */ - aliasNamespaces: Array; - /** Constructs a new file. */ - constructor( - /** Program this file belongs to. */ - program: Program, - /** Source of this file. */ - source: Source); - add(name: string, element: DeclaredElement, localIdentifierIfImport?: IdentifierExpression | null): boolean; - getMember(name: string): DeclaredElement | null; - lookup(name: string, isType?: boolean): Element | null; - /** Ensures that an element is an export of this file. */ - ensureExport(name: string, element: DeclaredElement): void; - /** Ensures that another file is a re-export of this file. */ - ensureExportStar(file: File): void; - /** Looks up the export of the specified name. */ - lookupExport(name: string): DeclaredElement | null; - /** Creates an imported namespace from this file. */ - asAliasNamespace(name: string, parent: Element, localIdentifier: IdentifierExpression): Namespace; - /** Recursively copies the exports of this file to the specified namespace. */ - private copyExportsToNamespace; - } - /** A type definition. */ - export class TypeDefinition extends TypedElement { - /** Constructs a new type definition. */ - constructor( - /** Simple name. */ - name: string, - /** Parent element. */ - parent: Element, - /** Declaration reference. */ - declaration: TypeDeclaration, - /** Pre-checked flags indicating built-in decorators. */ - decoratorFlags?: DecoratorFlags); - /** Gets the associated type parameter nodes. */ - get typeParameterNodes(): TypeParameterNode[] | null; - /** Gets the associated type node. */ - get typeNode(): TypeNode; - } - /** A namespace that differs from a file in being user-declared with a name. */ - export class Namespace extends DeclaredElement { - /** Constructs a new namespace. */ - constructor( - /** Simple name. */ - name: string, - /** Parent element, usually a file or another namespace. */ - parent: Element, - /** Declaration reference. */ - declaration: NamespaceDeclaration, - /** Pre-checked flags indicating built-in decorators. */ - decoratorFlags?: DecoratorFlags); - lookup(name: string, isType?: boolean): Element | null; - } - /** An enum. */ - export class Enum extends TypedElement { - /** Constructs a new enum. */ - constructor( - /** Simple name. */ - name: string, - /** Parent element, usually a file or namespace. */ - parent: Element, - /** Declaration reference. */ - declaration: EnumDeclaration, - /** Pre-checked flags indicating built-in decorators. */ - decoratorFlags?: DecoratorFlags); - lookup(name: string, isType?: boolean): Element | null; - } - /** Indicates the kind of an inlined constant value. */ - export const enum ConstantValueKind { - /** No constant value. */ - None = 0, - /** Constant integer value. */ - Integer = 1, - /** Constant float value. */ - Float = 2 - } - /** Base class of all variable-like program elements. */ - export abstract class VariableLikeElement extends TypedElement { - /** Constant value kind. */ - constantValueKind: ConstantValueKind; - /** Constant integer value, if applicable. */ - constantIntegerValue: i64; - /** Constant float value, if applicable. */ - constantFloatValue: number; - /** Constructs a new variable-like element. */ - protected constructor( - /** Specific element kind. */ - kind: ElementKind, - /** Simple name. */ - name: string, - /** Parent element, usually a file, namespace or class. */ - parent: Element, - /** Declaration reference. Creates a native declaration if omitted. */ - declaration?: VariableLikeDeclarationStatement); - /** Gets the associated type node.s */ - get typeNode(): TypeNode | null; - /** Gets the associated initializer node. */ - get initializerNode(): Expression | null; - /** Applies a constant integer value to this element. */ - setConstantIntegerValue(value: i64, type: Type): void; - /** Applies a constant float value to this element. */ - setConstantFloatValue(value: number, type: Type): void; - } - /** An enum value. */ - export class EnumValue extends VariableLikeElement { - /** Constructs a new enum value. */ - constructor( - /** Simple name. */ - name: string, - /** Parent enum. */ - parent: Enum, - /** Declaration reference. */ - declaration: EnumValueDeclaration, - /** Pre-checked flags indicating built-in decorators. */ - decoratorFlags?: DecoratorFlags); - /** Whether this enum value is immutable. */ - isImmutable: boolean; - /** Gets the associated value node. */ - get valueNode(): Expression | null; - } - /** A global variable. */ - export class Global extends VariableLikeElement { - /** Constructs a new global variable. */ - constructor( - /** Simple name. */ - name: string, - /** Parent element, usually a file, namespace or static class. */ - parent: Element, - /** Pre-checked flags indicating built-in decorators. */ - decoratorFlags: DecoratorFlags, - /** Declaration reference. Creates a native declaration if omitted. */ - declaration?: VariableLikeDeclarationStatement); - } - /** A function parameter. */ - export class Parameter { - /** Parameter name. */ - name: string; - /** Parameter type. */ - type: Type; - /** Parameter initializer, if present. */ - initializer: Expression | null; - /** Constructs a new function parameter. */ - constructor( - /** Parameter name. */ - name: string, - /** Parameter type. */ - type: Type, - /** Parameter initializer, if present. */ - initializer?: Expression | null); - } - /** A local variable. */ - export class Local extends VariableLikeElement { - /** Zero-based index within the enclosing function. `-1` indicates a dummy local. */ - index: number; - /** Original name of the (temporary) local. */ - private originalName; - /** Constructs a new local variable. */ - constructor( - /** Simple name. */ - name: string, - /** Zero-based index within the enclosing function. `-1` indicates a dummy local. */ - index: number, - /** Resolved type. */ - type: Type, - /** Parent function. */ - parent: Function, - /** Declaration reference. */ - declaration?: VariableLikeDeclarationStatement); - declaredByFlow(flow: Flow): boolean; - } - /** A yet unresolved function prototype. */ - export class FunctionPrototype extends DeclaredElement { - /** Operator kind, if an overload. */ - operatorKind: OperatorKind; - /** Already resolved instances. */ - instances: Map | null; - /** Methods overriding this one, if any. These are unbound. */ - unboundOverrides: Set | null; - /** Clones of this prototype that are bound to specific classes. */ - private boundPrototypes; - /** Constructs a new function prototype. */ - constructor( - /** Simple name */ - name: string, - /** Parent element, usually a file, namespace or class (if a method). */ - parent: Element, - /** Declaration reference. */ - declaration: FunctionDeclaration, - /** Pre-checked flags indicating built-in decorators. */ - decoratorFlags?: DecoratorFlags); - /** Gets the associated type parameter nodes. */ - get typeParameterNodes(): TypeParameterNode[] | null; - /** Gets the associated function type node. */ - get functionTypeNode(): FunctionTypeNode; - /** Gets the associated body node. */ - get bodyNode(): Statement | null; - /** Gets the arrow function kind. */ - get arrowKind(): ArrowKind; - /** Creates a clone of this prototype that is bound to a concrete class instead. */ - toBound(classInstance: Class): FunctionPrototype; - /** Gets the resolved instance for the specified instance key, if already resolved. */ - getResolvedInstance(instanceKey: string): Function | null; - /** Sets the resolved instance for the specified instance key. */ - setResolvedInstance(instanceKey: string, instance: Function): void; - } - /** A resolved function. */ - export class Function extends TypedElement { - /** Function prototype. */ - prototype: FunctionPrototype; - /** Function signature. */ - signature: Signature; - /** Array of locals by index. */ - localsByIndex: Local[]; - /** Concrete type arguments. */ - typeArguments: Type[] | null; - /** Contextual type arguments. */ - contextualTypeArguments: Map | null; - /** Default control flow. */ - flow: Flow; - /** Ordered debug locations by Binaryen expression reference. */ - debugLocations: Map; - /** Function reference, if compiled. */ - ref: FunctionRef; - /** Varargs stub for calling with omitted arguments. */ - varargsStub: Function | null; - /** Stub for calling overrides. */ - overrideStub: Function | null; - /** Runtime memory segment, if created. */ - memorySegment: MemorySegment | null; - /** Original function, if a stub. Otherwise `this`. */ - original: Function; - /** Counting id of inline operations involving this function. */ - nextInlineId: number; - /** Counting id of anonymous inner functions. */ - nextAnonymousId: number; - /** Constructs a new concrete function. */ - constructor( - /** Name incl. type parameters, i.e. `foo`. */ - nameInclTypeParameters: string, - /** Respective function prototype. */ - prototype: FunctionPrototype, - /** Concrete type arguments. */ - typeArguments: Type[] | null, - /** Concrete signature. */ - signature: Signature, // pre-resolved - /** Contextual type arguments inherited from its parent class, if any. */ - contextualTypeArguments?: Map | null); - /** Gets the types of additional locals that are not parameters. */ - getNonParameterLocalTypes(): Type[]; - /** Gets the name of the parameter at the specified index. */ - getParameterName(index: number): string; - /** Creates a stub for use with this function, i.e. for varargs or override calls. */ - newStub(postfix: string, requiredParameters?: number): Function; - /** Adds a local of the specified type, with an optional name. */ - addLocal(type: Type, name?: string | null, declaration?: VariableDeclaration | null): Local; - lookup(name: string, isType?: boolean): Element | null; - nextBreakId: number; - breakStack: number[] | null; - /** Finalizes the function once compiled, releasing no longer needed resources. */ - finalize(module: Module, ref: FunctionRef): void; - addDebugInfo(module: Module, ref: FunctionRef): void; - } - /** A property comprised of a getter and a setter function. */ - export class PropertyPrototype extends DeclaredElement { - /** Field declaration, if a field. */ - fieldDeclaration: FieldDeclaration | null; - /** Getter prototype. */ - getterPrototype: FunctionPrototype | null; - /** Setter prototype. */ - setterPrototype: FunctionPrototype | null; - /** Property instance, if resolved. */ - instance: Property | null; - /** Clones of this prototype that are bound to specific classes. */ - private boundPrototypes; - /** Creates a property prototype representing a field. */ - static forField( - /** Simple name. */ - name: string, - /** Parent element. Always a class prototype. */ - parent: ClassPrototype, - /** Declaration of the field. */ - fieldDeclaration: FieldDeclaration, - /** Pre-checked flags indicating built-in decorators. */ - decoratorFlags: DecoratorFlags): PropertyPrototype; - /** Constructs a new property prototype. */ - constructor( - /** Simple name. */ - name: string, - /** Parent element. Either a class prototype or instance. */ - parent: Element, - /** Declaration of the getter or setter introducing the property. */ - firstDeclaration: FunctionDeclaration); - /** Tests if this property prototype represents a field. */ - get isField(): boolean; - /** Gets the associated type node. */ - get typeNode(): TypeNode | null; - /** Gets the associated initializer node. */ - get initializerNode(): Expression | null; - /** Gets the associated parameter index. Set if declared as a constructor parameter, otherwise `-1`. */ - get parameterIndex(): number; - /** Gets the respective `this` type. */ - get thisType(): Type; - /** Creates a clone of this property prototype that is bound to a concrete class. */ - toBound(classInstance: Class): PropertyPrototype; - } - /** A resolved property. */ - export class Property extends VariableLikeElement { - /** Prototype reference. */ - prototype: PropertyPrototype; - /** Getter instance. */ - getterInstance: Function | null; - /** Setter instance. */ - setterInstance: Function | null; - /** Field memory offset, if a (layed out) instance field. */ - memoryOffset: number; - /** Constructs a new property prototype. */ - constructor( - /** Respective property prototype. */ - prototype: PropertyPrototype, - /** Parent element, usually a static class prototype or class instance. */ - parent: Element); - /** Tests if this property represents a field. */ - get isField(): boolean; - checkVisibility(diag: DiagnosticEmitter): void; - } - /** A resolved index signature. */ - export class IndexSignature extends TypedElement { - /** Constructs a new index prototype. */ - constructor( - /** Parent class. */ - parent: Class); - /** Obtains the getter instance. */ - getGetterInstance(isUnchecked: boolean): Function | null; - /** Obtains the setter instance. */ - getSetterInstance(isUnchecked: boolean): Function | null; - } - /** A yet unresolved class prototype. */ - export class ClassPrototype extends DeclaredElement { - /** Instance member prototypes. */ - instanceMembers: Map | null; - /** Base class prototype, if applicable. */ - basePrototype: ClassPrototype | null; - /** Interface prototypes, if applicable. */ - interfacePrototypes: InterfacePrototype[] | null; - /** Constructor prototype. */ - constructorPrototype: FunctionPrototype | null; - /** Operator overload prototypes. */ - operatorOverloadPrototypes: Map; - /** Already resolved instances. */ - instances: Map | null; - /** Classes extending this class. */ - extenders: Set; - /** Whether this class implicitly extends `Object`. */ - implicitlyExtendsObject: boolean; - constructor( - /** Simple name. */ - name: string, - /** Parent element, usually a file or namespace. */ - parent: Element, - /** Declaration reference. */ - declaration: ClassDeclaration, - /** Pre-checked flags indicating built-in decorators. */ - decoratorFlags?: DecoratorFlags, _isInterface?: boolean); - /** Gets the associated type parameter nodes. */ - get typeParameterNodes(): TypeParameterNode[] | null; - /** Gets the associated extends node. */ - get extendsNode(): NamedTypeNode | null; - /** Gets the associated implements nodes. */ - get implementsNodes(): NamedTypeNode[] | null; - /** Tests if this prototype is of a builtin array type (Array/TypedArray). */ - get isBuiltinArray(): boolean; - /** Tests if this prototype extends the specified. */ - extends(basePtototype: ClassPrototype | null): boolean; - /** Adds an element as an instance member of this one. Returns the previous element if a duplicate. */ - addInstance(name: string, element: DeclaredElement): boolean; - /** Gets the resolved instance for the specified instance key, if already resolved. */ - getResolvedInstance(instanceKey: string): Class | null; - /** Sets the resolved instance for the specified instance key. */ - setResolvedInstance(instanceKey: string, instance: Class): void; - } - /** A resolved class. */ - export class Class extends TypedElement { - /** Class prototype. */ - prototype: ClassPrototype; - /** Resolved type arguments. */ - typeArguments: Type[] | null; - /** Base class, if any. */ - base: Class | null; - /** Directly implemented interfaces, if any. */ - interfaces: Set | null; - /** Contextual type arguments for fields and methods. */ - contextualTypeArguments: Map | null; - /** Current member memory offset. */ - nextMemoryOffset: number; - /** Constructor instance. */ - constructorInstance: Function | null; - /** Operator overloads. */ - operatorOverloads: Map | null; - /** Index signature, if present. */ - indexSignature: IndexSignature | null; - /** Unique class id. */ - private _id; - /** Runtime type information flags. */ - rttiFlags: number; - /** Wrapped type, if a wrapper for a basic type. */ - wrappedType: Type | null; - /** Classes directly or indirectly extending this class, if any. */ - extenders: Set | null; - /** Classes directly or indirectly implementing this interface, if any. */ - implementers: Set | null; - /** Whether the field initialization check has already been performed. */ - didCheckFieldInitialization: boolean; - /** Runtime visitor function reference. */ - visitRef: FunctionRef; - /** Gets the unique runtime id of this class. */ - get id(): number; - /** Tests if this class is of a builtin array type (Array/TypedArray). */ - get isBuiltinArray(): boolean; - /** Tests if this class is array-like. */ - get isArrayLike(): boolean; - /** Tests if this is an interface. */ - get isInterface(): boolean; - /** Constructs a new class. */ - constructor( - /** Name incl. type parameters, i.e. `Foo`. */ - nameInclTypeParameters: string, - /** The respective class prototype. */ - prototype: ClassPrototype, - /** Concrete type arguments, if any. */ - typeArguments?: Type[] | null, _isInterface?: boolean); - /** Computes the least upper bound of two class types. */ - static leastUpperBound(a: Class, b: Class): Class | null; - /** Sets the base class. */ - setBase(base: Class): void; - /** Propagates an extender to this class and its base classes. */ - private propagateExtenderUp; - /** Propagates an interface and its base interfaces to this class and its extenders. */ - private propagateInterfaceDown; - /** Adds an interface. */ - addInterface(iface: Interface): void; - /** Tests if a value of this class type is assignable to a target of the specified class type. */ - isAssignableTo(target: Class): boolean; - /** Tests if any subclass of this class is assignable to a target of the specified class type. */ - hasSubclassAssignableTo(target: Class): boolean; - /** Looks up the operator overload of the specified kind. */ - lookupOverload(kind: OperatorKind, unchecked?: boolean): Function | null; - /** Gets the method of the specified name, resolved with the given type arguments. */ - getMethod(name: string, typeArguments?: Type[] | null): Function | null; - /** Calculates the memory offset of the specified field. */ - offsetof(fieldName: string): number; - /** Creates a buffer suitable to hold a runtime instance of this class. */ - createBuffer(overhead?: number): Uint8Array; - /** Writes a field value to a buffer and returns the number of bytes written. */ - writeField(name: string, value: T, buffer: Uint8Array, baseOffset?: number): number; - /** Tests if this class extends the specified prototype. */ - extendsPrototype(prototype: ClassPrototype): boolean; - /** Gets the concrete type arguments to the specified extendend prototype. */ - getTypeArgumentsTo(extendedPrototype: ClassPrototype): Type[] | null; - /** Gets the value type of an array. Must be an array. */ - getArrayValueType(): Type; - /** Tests if this class is pointerfree. Useful to know for the GC. */ - get isPointerfree(): boolean; - /** Tests if this class or interface extends the given class or interface. */ - extends(other: Class): boolean; - /** Tests if this class has a direct or indirect extender matching the given class. */ - hasExtender(other: Class): boolean; - /** Tests if this class has a direct or indirect extender that implements the given interface. */ - hasExtenderImplementing(other: Interface): boolean; - /** Tests if this class directly or indirectly implements the given interface. */ - implements(other: Interface): boolean; - /** Tests if this interface has a direct or indirect implementer matching the given class. */ - hasImplementer(other: Class): boolean; - /** Tests if this interface has an implementer implementing the given interface. */ - hasImplementerImplementing(other: Interface): boolean; - } - /** A yet unresolved interface. */ - export class InterfacePrototype extends ClassPrototype { - /** Constructs a new interface prototype. */ - constructor(name: string, parent: Element, declaration: InterfaceDeclaration, decoratorFlags: DecoratorFlags); - } - /** A resolved interface. */ - export class Interface extends Class { - /** Constructs a new interface. */ - constructor( - /** Name incl. type parameters, i.e. `Foo`. */ - nameInclTypeParameters: string, - /** The respective class prototype. */ - prototype: InterfacePrototype, - /** Concrete type arguments, if any. */ - typeArguments?: Type[] | null); - } - /** Mangles the internal name of an element with the specified name that is a child of the given parent. */ - export function mangleInternalName(name: string, parent: Element, isInstance: boolean, asGlobal?: boolean): string; - /** Gets the cached default parameter name for the specified index. */ - export function getDefaultParameterName(index: number): string; -} -declare module "types:assemblyscript/src/passes/pass" { - /** - * @fileoverview Infrastructure for custom Binaryen passes. - * @license Apache-2.0 - */ - import { Module, ExpressionRef, FunctionRef, GlobalRef, Index, StringRef } from "types:assemblyscript/src/module"; - /** Base class of custom Binaryen visitors. */ - export abstract class Visitor { - /** Expression stack. */ - private stack; - /** Gets the current expression being walked. */ - get currentExpression(): ExpressionRef; - _currentExpression: ExpressionRef; - /** Gets the parent expression of the current expression being walked. Returns zero if already the top-most expression. */ - get parentExpressionOrNull(): ExpressionRef; - visitBlock(expr: ExpressionRef): void; - visitIf(expr: ExpressionRef): void; - visitLoop(expr: ExpressionRef): void; - visitBreak(expr: ExpressionRef): void; - visitSwitch(expr: ExpressionRef): void; - visitCallPre(expr: ExpressionRef): void; - visitCall(expr: ExpressionRef): void; - visitCallIndirectPre(expr: ExpressionRef): void; - visitCallIndirect(expr: ExpressionRef): void; - visitLocalGet(expr: ExpressionRef): void; - visitLocalSet(expr: ExpressionRef): void; - visitGlobalGet(expr: ExpressionRef): void; - visitGlobalSet(expr: ExpressionRef): void; - visitLoad(expr: ExpressionRef): void; - visitStore(expr: ExpressionRef): void; - visitConst(expr: ExpressionRef): void; - visitUnary(expr: ExpressionRef): void; - visitBinary(expr: ExpressionRef): void; - visitSelect(expr: ExpressionRef): void; - visitDrop(expr: ExpressionRef): void; - visitReturn(expr: ExpressionRef): void; - visitMemorySize(expr: ExpressionRef): void; - visitMemoryGrow(expr: ExpressionRef): void; - visitNop(expr: ExpressionRef): void; - visitUnreachable(expr: ExpressionRef): void; - visitAtomicRMW(expr: ExpressionRef): void; - visitAtomicCmpxchg(expr: ExpressionRef): void; - visitAtomicWait(expr: ExpressionRef): void; - visitAtomicNotify(expr: ExpressionRef): void; - visitAtomicFence(expr: ExpressionRef): void; - visitSIMDExtract(expr: ExpressionRef): void; - visitSIMDReplace(expr: ExpressionRef): void; - visitSIMDShuffle(expr: ExpressionRef): void; - visitSIMDTernary(expr: ExpressionRef): void; - visitSIMDShift(expr: ExpressionRef): void; - visitSIMDLoad(expr: ExpressionRef): void; - visitSIMDLoadStoreLane(expr: ExpressionRef): void; - visitMemoryInit(expr: ExpressionRef): void; - visitDataDrop(expr: ExpressionRef): void; - visitMemoryCopy(expr: ExpressionRef): void; - visitMemoryFill(expr: ExpressionRef): void; - visitPop(expr: ExpressionRef): void; - visitRefNull(expr: ExpressionRef): void; - visitRefIsNull(expr: ExpressionRef): void; - visitRefFunc(expr: ExpressionRef): void; - visitRefEq(expr: ExpressionRef): void; - visitTry(expr: ExpressionRef): void; - visitThrow(expr: ExpressionRef): void; - visitRethrow(expr: ExpressionRef): void; - visitTupleMake(expr: ExpressionRef): void; - visitTupleExtract(expr: ExpressionRef): void; - visitRefI31(expr: ExpressionRef): void; - visitI31Get(expr: ExpressionRef): void; - visitCallRef(expr: ExpressionRef): void; - visitRefTest(expr: ExpressionRef): void; - visitRefCast(expr: ExpressionRef): void; - visitBrOn(expr: ExpressionRef): void; - visitStructNew(expr: ExpressionRef): void; - visitStructGet(expr: ExpressionRef): void; - visitStructSet(expr: ExpressionRef): void; - visitArrayNew(expr: ExpressionRef): void; - visitArrayNewFixed(expr: ExpressionRef): void; - visitArrayGet(expr: ExpressionRef): void; - visitArraySet(expr: ExpressionRef): void; - visitArrayLen(expr: ExpressionRef): void; - visitArrayCopy(expr: ExpressionRef): void; - visitRefAs(expr: ExpressionRef): void; - visitStringNew(expr: ExpressionRef): void; - visitStringConst(expr: ExpressionRef): void; - visitStringMeasure(expr: ExpressionRef): void; - visitStringEncode(expr: ExpressionRef): void; - visitStringConcat(expr: ExpressionRef): void; - visitStringEq(expr: ExpressionRef): void; - visitStringAs(expr: ExpressionRef): void; - visitStringWTF8Advance(expr: ExpressionRef): void; - visitStringWTF16Get(expr: ExpressionRef): void; - visitStringIterNext(expr: ExpressionRef): void; - visitStringIterMove(expr: ExpressionRef): void; - visitStringSliceWTF(expr: ExpressionRef): void; - visitStringSliceIter(expr: ExpressionRef): void; - visitName(name: StringRef): void; - visitLabel(name: StringRef): void; - visitIndex(index: Index): void; - visitTag(name: StringRef): void; - /** Visits any expression, delegating to the respective visitor methods. */ - visit(expr: ExpressionRef): void; - } - /** Base class of custom Binaryen passes. */ - export abstract class Pass extends Visitor { - readonly module: Module; - /** Gets the current function being walked. */ - get currentFunction(): FunctionRef; - private _currentFunction; - /** Gets the current global being walked. */ - get currentGlobal(): GlobalRef; - private _currentGlobal; - /** Constructs a new Binaryen pass. */ - constructor(module: Module); - /** Walks the entire module. */ - walkModule(): void; - /** Walks all functions. */ - walkFunctions(): void; - /** Walks a specific function. */ - walkFunction(func: FunctionRef): void; - /** Walks all global variables. */ - walkGlobals(): void; - /** Walks a specific global variable. */ - walkGlobal(global: GlobalRef): void; - /** Replaces the current expression with the specified replacement. */ - replaceCurrent(replacement: ExpressionRef): void; - } - /** Replaces an expression within a parent expression. Returns the replaced expression on success, otherwise `0`. */ - export function replaceChild( - /** Parent expression containing `search`. */ - parent: ExpressionRef, - /** Expression to replace. */ - search: ExpressionRef, - /** Expression to replace `search` with. */ - replacement: ExpressionRef): ExpressionRef; -} -declare module "types:assemblyscript/src/passes/rtrace" { - /** - * @fileoverview A lightweight store instrumentation pass. - * - * Can be used to find rogue stores to protected memory addresses like object - * headers or similar, without going overboard with instrumentation. Also - * passes a flag whether a store originates within the runtime or other code. - * - * @license Apache-2.0 - */ - import { Pass } from "types:assemblyscript/src/passes/pass"; - import { Compiler } from "types:assemblyscript/src/compiler"; - import { ExpressionRef, TypeRef } from "types:assemblyscript/src/module"; - /** Instruments stores to also call an import. */ - export class RtraceMemory extends Pass { - /** Whether we've seen any stores. */ - seenStores: boolean; - /** Target pointer type. */ - ptrType: TypeRef; - constructor(compiler: Compiler); - checkRT(): boolean; - /** @override */ - visitStore(store: ExpressionRef): void; - /** @override */ - walkModule(): void; - } -} -declare module "types:assemblyscript/src/passes/shadowstack" { - /** - * @fileoverview Shadow stack instrumentation for a precise GC. - * - * Instruments function arguments and local assignments marked with a 'tostack' - * call to also do stores to a shadow stack of managed values only. - * - * Consider a simple call to a function looking like the following, taking - * managed arguments, plus assigning managed values to locals: - * - * function foo(a: Obj, b: Obj): Obj { - * let c = __tostack(a) // slot 2 - * __collect() - * return b - * } - * - * foo(__tostack(a), __tostack(b)) // slot 0, 1 - * - * At the call to `__collect()` the 32-bit stack frame of the function is: - * - * Offset | Value stored - * -------|---------------------------- - * 0 | First managed argument 'a' - * 4 | Second managed argument 'b' - * -------|---------------------------- - * 8 | First managed local 'c' - * - * We are splitting the frame in two halves as annotated since both halves are - * only known separately for indirect calls, with the first half becoming an - * extension of the calling function's stack frame by means of treating the - * arguments as if these were locals beyond the caller's `numLocals`. Function - * arguments stay a bit longer on the stack than usually, but we also don't have - * to modify the stack pointer pre-call at all this way. The caller's amended - * stack frame when assuming one managed local may look like this: - * - * Offset | Value stored - * -------|---------------------------- - * 0 | First managed local '?' - * 4 | Extended with first managed argument 'a' - * 8 | Extended with second managed argument 'b' - * - * with the callee's stack frame becoming just: - * - * Offset | Value stored - * -------|---------------------------- - * 0 | First managed local 'c' - * - * Instrumentation added below looks about like the following, with the stack - * growing downwards and 't' and 'r' being new temporary locals: - * - * // callee frameSize = 1 * sizeof() - * function foo(a: usize, b: usize): usize { - * memory.fill(__stack_pointer -= frameSize, 0, frameSize) - * store(__stack_pointer, c = a, 0 * sizeof()) - * __collect() - * let r = b - * __stack_pointer += frameSize - * return r - * } - * - * // caller frameSize = (numLocalSlots + 2 [by extension]) * sizeof() - * ( - * r = foo( - * ( t = a, - * store(__stack_pointer, t, (numLocalSlots + 0) * sizeof()), - * t ), - * ( t = b, - * store(__stack_pointer, t, (numLocalSlots + 1) * sizeof()), - * t ) - * ), - * r - * ) - * - * Also note that we have to `memory.fill` the second half because the first - * assignment to a local may happen at a later point within the function. The - * invariant we need to maintain for a precise GC is that it only sees zeroes - * or valid pointers, but never an invalid pointer left on the stack earlier. - * Since most frames are small, we unroll a sequence of `store`s up to a frame - * size of 16 bytes, and `memory.fill`, if available, beyond. - * - * @license Apache-2.0 - */ - import { Pass } from "types:assemblyscript/src/passes/pass"; - import { ExpressionRef, FunctionRef, Index, BinaryOp, TypeRef, ExportRef } from "types:assemblyscript/src/module"; - import { Compiler, Options } from "types:assemblyscript/src/compiler"; - type LocalIndex = Index; - type SlotIndex = Index; - type SlotMap = Map; - type TempMap = Map; - /** Instruments a module with a shadow stack for precise GC. */ - export class ShadowStackPass extends Pass { - /** Stack frame slots, per function. */ - slotMaps: Map; - /** Temporary locals, per function. */ - tempMaps: Map; - /** Exports (with managed operands) map. */ - exportMap: Map; - /** Compiler reference. */ - compiler: Compiler; - constructor(compiler: Compiler); - /** Compiler options. */ - get options(): Options; - /** Target pointer type. */ - get ptrType(): TypeRef; - /** Target pointer size. */ - get ptrSize(): number; - /** Target pointer addition operation. */ - get ptrBinaryAdd(): BinaryOp; - /** Target pointer subtraction operation. */ - get ptrBinarySub(): BinaryOp; - /** Gets a constant with the specified value of the target pointer type. */ - ptrConst(value: number): ExpressionRef; - /** Notes the presence of a slot for the specified (imaginary) local, returning the slot index. */ - noteSlot(func: FunctionRef, localIndex: Index): number; - /** Notes the presence of an exported function taking managed operands. */ - noteExport(name: string, managedOperandIndices: number[]): void; - /** Gets a shared temporary local of the given type in the specified functions. */ - getSharedTemp(func: FunctionRef, type: TypeRef): Index; - /** Makes an expression modifying the stack pointer by the given offset. */ - makeStackOffset(offset: number): ExpressionRef; - /** Makes a sequence of expressions zeroing the stack frame. */ - makeStackFill(frameSize: number, stmts: ExpressionRef[]): void; - private hasStackCheckFunction; - /** Makes a check that the current stack pointer is valid. */ - makeStackCheck(): ExpressionRef; - private updateCallOperands; - /** Slot offset accounting for nested calls. */ - private callSlotOffset; - /** Slot offset stack in nested calls. */ - private callSlotStack; - /** @override */ - visitCallPre(call: ExpressionRef): void; - /** @override */ - visitCall(call: ExpressionRef): void; - /** @override */ - visitCallIndirectPre(callIndirect: ExpressionRef): void; - /** @override */ - visitCallIndirect(callIndirect: ExpressionRef): void; - /** @override */ - visitLocalSet(localSet: ExpressionRef): void; - /** Updates a function with additional locals etc. */ - updateFunction(funcRef: FunctionRef): void; - /** Updates a function export taking managed arguments. */ - updateExport(exportRef: ExportRef, managedOperandIndices: number[]): void; - /** @override */ - walkModule(): void; - } - export {}; -} -declare module "types:assemblyscript/src/bindings/util" { - import { Element, Function, Enum, Class, Interface, File, Global, Program } from "types:assemblyscript/src/program"; - /** Walker base class. */ - export abstract class ExportsWalker { - /** Program reference. */ - program: Program; - /** Whether to include private members */ - includePrivate: boolean; - /** Already seen elements. */ - seen: Map; - /** Constructs a new Element walker. */ - constructor(program: Program, includePrivate?: boolean); - /** Walks all elements and calls the respective handlers. */ - walk(): void; - /** Visits all exported elements of a file. */ - visitFile(file: File): void; - /** Visits an element.*/ - visitElement(name: string, element: Element): void; - private visitFunctionInstances; - private visitClassInstances; - private visitInterfaceInstances; - abstract visitGlobal(name: string, element: Global): void; - abstract visitEnum(name: string, element: Enum): void; - abstract visitFunction(name: string, element: Function): void; - abstract visitClass(name: string, element: Class): void; - abstract visitInterface(name: string, element: Interface): void; - abstract visitNamespace(name: string, element: Element): void; - abstract visitAlias(name: string, element: Element, originalName: string): void; - } - /** Tests if a namespace-like element has at least one compiled member. */ - export function hasCompiledMember(element: Element): boolean; -} -declare module "types:assemblyscript/src/bindings/js" { - import { Element, Program, Function, Global, Class, Interface, Enum } from "types:assemblyscript/src/program"; - import { Type } from "types:assemblyscript/src/types"; - import { ExportsWalker } from "types:assemblyscript/src/bindings/util"; - /** A JavaScript bindings builder. */ - export class JSBuilder extends ExportsWalker { - /** Builds JavaScript bindings for the specified program. */ - static build(program: Program, esm?: boolean): string; - private esm; - private sb; - private indentLevel; - private needsLiftBuffer; - private needsLowerBuffer; - private needsLiftString; - private needsLowerString; - private needsLiftArray; - private needsLowerArray; - private needsLiftTypedArray; - private needsLowerTypedArray; - private needsLiftStaticArray; - private needsLowerStaticArray; - private needsLiftInternref; - private needsLowerInternref; - private needsRetain; - private needsRelease; - private needsNotNull; - private needsSetU8; - private needsSetU16; - private needsSetU32; - private needsSetU64; - private needsSetF32; - private needsSetF64; - private needsGetI8; - private needsGetU8; - private needsGetI16; - private needsGetU16; - private needsGetI32; - private needsGetU32; - private needsGetI64; - private needsGetU64; - private needsGetF32; - private needsGetF64; - private deferredLifts; - private deferredLowers; - private deferredCode; - private exports; - private importMappings; - /** Constructs a new JavaScript bindings builder. */ - constructor(program: Program, esm: boolean, includePrivate?: boolean); - visitGlobal(name: string, element: Global): void; - visitEnum(name: string, element: Enum): void; - makeGlobalImport(moduleName: string, name: string, element: Global): void; - makeFunctionImport(moduleName: string, name: string, element: Function, code?: string | null): void; - visitFunction(name: string, element: Function): void; - visitClass(name: string, element: Class): void; - visitInterface(name: string, element: Interface): void; - visitNamespace(name: string, element: Element): void; - visitAlias(name: string, element: Element, originalName: string): void; - getExternalCode(element: Function): string | null; - build(): string; - ensureModuleId(moduleName: string): number; - /** Lifts a WebAssembly value to a JavaScript value, as an expression. */ - makeLiftFromValue(valueExpr: string, type: Type, sb?: string[]): void; - /** Lowers a JavaScript value to a WebAssembly value, as an expression. */ - makeLowerToValue(valueExpr: string, type: Type, sb?: string[]): void; - ensureLiftFromMemoryFn(valueType: Type): string; - /** Lifts a WebAssembly memory address to a JavaScript value, as a function. */ - makeLiftFromMemoryFunc(valueType: Type, sb?: string[]): void; - /** Lifts a WebAssembly memory address to a JavaScript value, as a call. */ - makeLiftFromMemoryCall(valueType: Type, sb?: string[], pointerExpr?: string): void; - ensureLowerToMemoryFn(valueType: Type): string; - /** Lowers a JavaScript value to a WebAssembly memory address, as a function. */ - makeLowerToMemoryFunc(valueType: Type, sb?: string[]): void; - /** Lowers a JavaScript value to a WebAssembly memory address, as a call. */ - makeLowerToMemoryCall(valueType: Type, sb?: string[], pointerExpr?: string, valueExpr?: string): void; - makeLiftRecord(clazz: Class): string; - makeLowerRecord(clazz: Class): string; - } - export function liftRequiresExportRuntime(type: Type): boolean; - export function lowerRequiresExportRuntime(type: Type): boolean; -} -declare module "types:assemblyscript/src/compiler" { - /** - * @fileoverview The AssemblyScript compiler. - * @license Apache-2.0 - */ - import { Range, DiagnosticEmitter } from "types:assemblyscript/src/diagnostics"; - import { Module, MemorySegment, ExpressionRef, TypeRef, GlobalRef } from "types:assemblyscript/src/module"; - import { Feature, Target, Runtime } from "types:assemblyscript/src/common"; - import { Program, Class, Element, DeclaredElement, Enum, Function, Global, VariableLikeElement, File } from "types:assemblyscript/src/program"; - import { Flow, ConditionKind } from "types:assemblyscript/src/flow"; - import { Resolver } from "types:assemblyscript/src/resolver"; - import { Node, FunctionTypeNode, Statement, Expression } from "types:assemblyscript/src/ast"; - import { Type, Signature } from "types:assemblyscript/src/types"; - import { ShadowStackPass } from "types:assemblyscript/src/passes/shadowstack"; - /** Features enabled by default. */ - export const defaultFeatures: number; - /** Compiler options. */ - export class Options { - constructor(); - /** WebAssembly target. Defaults to {@link Target.Wasm32}. */ - target: Target; - /** Runtime type. Defaults to Incremental GC. */ - runtime: Runtime; - /** If true, indicates that debug information will be emitted by Binaryen. */ - debugInfo: boolean; - /** If true, replaces assertions with nops. */ - noAssert: boolean; - /** It true, exports the memory to the embedder. */ - exportMemory: boolean; - /** If true, imports the memory provided by the embedder. */ - importMemory: boolean; - /** Initial memory size, in pages. */ - initialMemory: number; - /** Maximum memory size, in pages. */ - maximumMemory: number; - /** If true, memory is declared as shared. */ - sharedMemory: boolean; - /** If true, imported memory is zero filled. */ - zeroFilledMemory: boolean; - /** If true, imports the function table provided by the embedder. */ - importTable: boolean; - /** If true, exports the function table. */ - exportTable: boolean; - /** If true, generates information necessary for source maps. */ - sourceMap: boolean; - /** Unchecked behavior. Defaults to only using unchecked operations inside unchecked(). */ - uncheckedBehavior: UncheckedBehavior; - /** If given, exports the start function instead of calling it implicitly. */ - exportStart: string | null; - /** Static memory start offset. */ - memoryBase: number; - /** Static table start offset. */ - tableBase: number; - /** Global aliases, mapping alias names as the key to internal names to be aliased as the value. */ - globalAliases: Map | null; - /** Features to activate by default. */ - features: Feature; - /** If true, disallows unsafe features in user code. */ - noUnsafe: boolean; - /** If true, enables pedantic diagnostics. */ - pedantic: boolean; - /** Indicates a very low (<64k) memory limit. */ - lowMemoryLimit: number; - /** If true, exports the runtime helpers. */ - exportRuntime: boolean; - /** Stack size in bytes, if using a stack. */ - stackSize: number; - /** Semantic major bundle version from root package.json */ - bundleMajorVersion: number; - /** Semantic minor bundle version from root package.json */ - bundleMinorVersion: number; - /** Semantic patch bundle version from root package.json */ - bundlePatchVersion: number; - /** Hinted optimize level. Not applied by the compiler itself. */ - optimizeLevelHint: number; - /** Hinted shrink level. Not applied by the compiler itself. */ - shrinkLevelHint: number; - /** Hinted basename. */ - basenameHint: string; - /** Hinted bindings generation. */ - bindingsHint: boolean; - /** Tests if the target is WASM64 or, otherwise, WASM32. */ - get isWasm64(): boolean; - /** Gets the unsigned size type matching the target. */ - get usizeType(): Type; - /** Gets the signed size type matching the target. */ - get isizeType(): Type; - /** Gets the size type reference matching the target. */ - get sizeTypeRef(): TypeRef; - /** Gets if any optimizations will be performed. */ - get willOptimize(): boolean; - /** Sets whether a feature is enabled. */ - setFeature(feature: Feature, on?: boolean): void; - /** Tests if a specific feature is activated. */ - hasFeature(feature: Feature): boolean; - } - /** Behaviors regarding unchecked operations. */ - export const enum UncheckedBehavior { - /** Only use unchecked operations inside unchecked(). */ - Default = 0, - /** Never use unchecked operations. */ - Never = 1, - /** Always use unchecked operations if possible. */ - Always = 2 - } - /** Various constraints in expression compilation. */ - export const enum Constraints { - None = 0, - /** Must implicitly convert to the target type. */ - ConvImplicit = 1, - /** Must explicitly convert to the target type. */ - ConvExplicit = 2, - /** Must wrap small integer values to match the target type. */ - MustWrap = 4, - /** Indicates that the value will be dropped immediately. */ - WillDrop = 8, - /** Indicates that static data is preferred. */ - PreferStatic = 16, - /** Indicates that the value will become `this` of a property access or instance call. */ - IsThis = 32 - } - /** Runtime features to be activated by the compiler. */ - export const enum RuntimeFeatures { - None = 0, - /** Requires data setup. */ - Data = 1, - /** Requires a stack. */ - Stack = 2, - /** Requires heap setup. */ - Heap = 4, - /** Requires runtime type information setup. */ - Rtti = 8, - /** Requires the built-in globals visitor. */ - visitGlobals = 16, - /** Requires the built-in members visitor. */ - visitMembers = 32, - /** Requires the setArgumentsLength export. */ - setArgumentsLength = 64 - } - /** Imported default names of compiler-generated elements. */ - export namespace ImportNames { - /** Name of the default namespace */ - const DefaultNamespace = "env"; - /** Name of the memory instance, if imported. */ - const Memory = "memory"; - /** Name of the table instance, if imported. */ - const Table = "table"; - } - /** Exported names of compiler-generated elements. */ - export namespace ExportNames { - /** Name of the memory instance, if exported. */ - const Memory = "memory"; - /** Name of the table instance, if exported. */ - const Table = "table"; - /** Name of the argumentsLength varargs helper global. */ - const argumentsLength = "__argumentsLength"; - /** Name of the alternative argumentsLength setter function. */ - const setArgumentsLength = "__setArgumentsLength"; - } - /** Functions to export if `--exportRuntime` is set. */ - export const runtimeFunctions: string[]; - /** Globals to export if `--exportRuntime` is set. */ - export const runtimeGlobals: string[]; - /** Compiler interface. */ - export class Compiler extends DiagnosticEmitter { - /** Program reference. */ - program: Program; - /** Module instance being compiled. */ - get module(): Module; - /** Provided options. */ - get options(): Options; - /** Resolver reference. */ - get resolver(): Resolver; - /** Current control flow. */ - currentFlow: Flow; - /** Current parent element if not a function, i.e. an enum or namespace. */ - currentParent: Element | null; - /** Current type in compilation. */ - currentType: Type; - /** Start function statements. */ - currentBody: ExpressionRef[]; - /** Counting memory offset. */ - memoryOffset: i64; - /** Memory segments being compiled. */ - memorySegments: MemorySegment[]; - /** Map of already compiled static string segments. */ - stringSegments: Map; - /** Function table being compiled. First elem is blank. */ - functionTable: Function[]; - /** Arguments length helper global. */ - builtinArgumentsLength: GlobalRef; - /** Requires runtime features. */ - runtimeFeatures: RuntimeFeatures; - /** Current inline functions stack. */ - inlineStack: Function[]; - /** Lazily compiled functions. */ - lazyFunctions: Set; - /** Pending instanceof helpers and their names. */ - pendingInstanceOf: Map; - /** Stubs to defer calls to overridden methods. */ - overrideStubs: Set; - /** Elements currently undergoing compilation. */ - pendingElements: Set; - /** Elements, that are module exports, already processed */ - doneModuleExports: Set; - /** Shadow stack reference. */ - shadowStack: ShadowStackPass; - /** Whether the module has custom function exports. */ - hasCustomFunctionExports: boolean; - /** Whether the module would use the exported runtime to lift/lower. */ - desiresExportRuntime: boolean; - /** Compiles a {@link Program} to a {@link Module} using the specified options. */ - static compile(program: Program): Module; - /** Constructs a new compiler for a {@link Program} using the specified options. */ - constructor(program: Program); - /** Performs compilation of the underlying {@link Program} to a {@link Module}. */ - compile(): Module; - private initDefaultMemory; - private initDefaultTable; - /** Compiles the respective module exports for the specified entry file. */ - private compileModuleExports; - /** Compiles the respective module export(s) for the specified element. */ - private compileModuleExport; - /** Compiles the file matching the specified path. */ - compileFileByPath(normalizedPathWithoutExtension: string, reportNode: Node): void; - /** Compiles the specified file. */ - compileFile(file: File): void; - /** Tries to compile a global variable lazily. */ - compileGlobalLazy(global: Global, reportNode: Node): boolean; - /** Compiles a global variable. */ - compileGlobal(global: Global): boolean; - /** Compiles an enum. */ - compileEnum(element: Enum): boolean; - /** Compiles a priorly resolved function. */ - compileFunction( - /** Function to compile. */ - instance: Function, - /** Force compilation of stdlib alternative if a builtin. */ - forceStdAlternative?: boolean): boolean; - /** Compiles the body of a function within the specified flow. */ - private compileFunctionBody; - /** Makes a built-in getter of a property that is a field. */ - private makeBuiltinFieldGetter; - /** Makes a built-in setter of a property that is a field. */ - private makeBuiltinFieldSetter; - /** Adds a static memory segment with the specified data. */ - addAlignedMemorySegment(buffer: Uint8Array, alignment?: number): MemorySegment; - /** Adds a static memory segment representing a runtime object. */ - addRuntimeMemorySegment(buffer: Uint8Array): MemorySegment; - /** Ensures that a string exists in static memory and returns a pointer expression. Deduplicates. */ - ensureStaticString(stringValue: string): ExpressionRef; - /** Ensures that a string exists in static memory and returns a pointer to it. Deduplicates. */ - ensureStaticStringPtr(stringValue: string): i64; - /** Writes a series of static values of the specified type to a buffer. */ - writeStaticBuffer(buf: Uint8Array, pos: number, elementType: Type, values: ExpressionRef[]): number; - /** Adds a buffer to static memory and returns the created segment. */ - addStaticBuffer(elementType: Type, values: ExpressionRef[], id?: number): MemorySegment; - /** Adds an array header to static memory and returns the created segment. */ - private addStaticArrayHeader; - /** Ensures that a runtime counterpart of the specified function exists and returns its address. */ - ensureRuntimeFunction(instance: Function): i64; - /** Compiles a top level statement (incl. function declarations etc.) to the specified body. */ - compileTopLevelStatement(statement: Statement, body: ExpressionRef[]): void; - /** Compiles a statement. */ - compileStatement( - /** Statement to compile. */ - statement: Statement): ExpressionRef; - /** Compiles a series of statements. */ - compileStatements( - /** Statements to compile. */ - statements: Statement[], - /** Statements to append to. Also returned, created if omitted. */ - stmts?: ExpressionRef[] | null): ExpressionRef[]; - private compileBlockStatement; - private compileTypeDeclaration; - private compileBreakStatement; - private compileContinueStatement; - private compileDoStatement; - private doCompileDoStatement; - private compileEmptyStatement; - private compileExpressionStatement; - private compileForStatement; - private doCompileForStatement; - private compileForOfStatement; - private compileIfStatement; - private compileReturnStatement; - private compileSwitchStatement; - private compileThrowStatement; - private compileTryStatement; - /** Compiles a variable statement. Returns `0` if an initializer is not necessary. */ - private compileVariableStatement; - private compileVoidStatement; - private compileWhileStatement; - private doCompileWhileStatement; - /** Compiles the value of an inlined constant element. */ - compileInlineConstant(element: VariableLikeElement, contextualType: Type, constraints: Constraints): ExpressionRef; - compileExpression(expression: Expression, contextualType: Type, constraints?: Constraints): ExpressionRef; - /** Converts an expression's result from one type to another. */ - convertExpression(expr: ExpressionRef, - /** Original type. */ - fromType: Type, - /** New type. */ - toType: Type, - /** Whether the conversion is explicit. */ - explicit: boolean, - /** Report node. */ - reportNode: Node): ExpressionRef; - private compileAssertionExpression; - private f32ModInstance; - private f64ModInstance; - private f32PowInstance; - private f64PowInstance; - private i32PowInstance; - private i64PowInstance; - private compileBinaryExpression; - makeLt(leftExpr: ExpressionRef, rightExpr: ExpressionRef, type: Type): ExpressionRef; - makeGt(leftExpr: ExpressionRef, rightExpr: ExpressionRef, type: Type): ExpressionRef; - makeLe(leftExpr: ExpressionRef, rightExpr: ExpressionRef, type: Type): ExpressionRef; - makeGe(leftExpr: ExpressionRef, rightExpr: ExpressionRef, type: Type): ExpressionRef; - makeEq(leftExpr: ExpressionRef, rightExpr: ExpressionRef, type: Type, reportNode: Node): ExpressionRef; - makeNe(leftExpr: ExpressionRef, rightExpr: ExpressionRef, type: Type, reportNode: Node): ExpressionRef; - makeAdd(leftExpr: ExpressionRef, rightExpr: ExpressionRef, type: Type): ExpressionRef; - makeSub(leftExpr: ExpressionRef, rightExpr: ExpressionRef, type: Type): ExpressionRef; - makeMul(leftExpr: ExpressionRef, rightExpr: ExpressionRef, type: Type): ExpressionRef; - makePow(leftExpr: ExpressionRef, rightExpr: ExpressionRef, type: Type, reportNode: Node): ExpressionRef; - makeDiv(leftExpr: ExpressionRef, rightExpr: ExpressionRef, type: Type): ExpressionRef; - makeRem(leftExpr: ExpressionRef, rightExpr: ExpressionRef, type: Type, reportNode: Node): ExpressionRef; - makeShl(leftExpr: ExpressionRef, rightExpr: ExpressionRef, type: Type): ExpressionRef; - makeShr(leftExpr: ExpressionRef, rightExpr: ExpressionRef, type: Type): ExpressionRef; - makeShru(leftExpr: ExpressionRef, rightExpr: ExpressionRef, type: Type): ExpressionRef; - makeAnd(leftExpr: ExpressionRef, rightExpr: ExpressionRef, type: Type): ExpressionRef; - makeOr(leftExpr: ExpressionRef, rightExpr: ExpressionRef, type: Type): ExpressionRef; - makeXor(leftExpr: ExpressionRef, rightExpr: ExpressionRef, type: Type): ExpressionRef; - private compileUnaryOverload; - private compileBinaryOverload; - private compileAssignment; - /** Makes an assignment expression or block, assigning a value to a target. */ - makeAssignment( - /** Target element, e.g. a Local. */ - target: Element, - /** Value expression that has been compiled in a previous step already. */ - valueExpr: ExpressionRef, - /** Value expression type. */ - valueType: Type, - /** Expression reference. Has already been compiled to `valueExpr`. */ - valueExpression: Expression, - /** `this` expression reference if a field or property set. */ - thisExpression: Expression | null, - /** Index expression reference if an indexed set. */ - indexExpression: Expression | null, - /** Whether to tee the value. */ - tee: boolean): ExpressionRef; - /** Makes an assignment to a local, keeping track of wrap and null states. */ - private makeLocalAssignment; - /** Makes an assignment to a global. */ - private makeGlobalAssignment; - /** Compiles a call expression according to the specified context. */ - private compileCallExpression; - /** Compiles the given arguments like a call expression according to the specified context. */ - private compileCallExpressionLike; - private _reusableCallExpression; - private compileCallExpressionBuiltin; - /** - * Checks that a call with the given number as arguments can be performed according to the - * specified signature. - */ - checkCallSignature(signature: Signature, numArguments: number, hasThis: boolean, reportNode: Node): boolean; - /** Checks that an unsafe expression is allowed. */ - private checkUnsafe; - /** Compiles a direct call to a concrete function. */ - compileCallDirect(instance: Function, argumentExpressions: Expression[], reportNode: Node, thisArg?: ExpressionRef, constraints?: Constraints): ExpressionRef; - makeCallInline(instance: Function, operands: ExpressionRef[] | null, thisArg?: ExpressionRef, immediatelyDropped?: boolean): ExpressionRef; - /** Makes sure that the arguments length helper global is present. */ - ensureArgumentsLength(): string; - /** Ensures compilation of the varargs stub for the specified function. */ - ensureVarargsStub(original: Function): Function; - /** Ensures compilation of the override stub for the specified function. */ - ensureOverrideStub(original: Function): Function; - /** Finalizes the override stub of the specified function. */ - private finalizeOverrideStub; - /** Marks managed call operands for the shadow stack. */ - private operandsTostack; - /** Creates a direct call to the specified function. */ - makeCallDirect(instance: Function, operands: ExpressionRef[] | null, reportNode: Node, immediatelyDropped?: boolean): ExpressionRef; - /** Compiles an indirect call to a first-class function. */ - compileCallIndirect(signature: Signature, functionArg: ExpressionRef, argumentExpressions: Expression[], reportNode: Node, thisArg?: ExpressionRef, immediatelyDropped?: boolean): ExpressionRef; - /** Creates an indirect call to a first-class function. */ - makeCallIndirect(signature: Signature, functionArg: ExpressionRef, reportNode: Node, operands?: ExpressionRef[] | null, immediatelyDropped?: boolean): ExpressionRef; - private compileCommaExpression; - private compileElementAccessExpression; - private compileFunctionExpression; - /** Makes sure the enclosing source file of the specified expression has been compiled. */ - private maybeCompileEnclosingSource; - private compileIdentifierExpression; - private compileIdentifierExpressionBuiltin; - private compileInstanceOfExpression; - private makeInstanceofType; - /** Prepares the instanceof helper for the given class or interface instance. */ - private prepareInstanceOf; - /** Finalizes the instanceof helper of the given class or interface instance. */ - private finalizeInstanceOf; - private makeInstanceofClass; - /** Prepares the instanceof helper for the given class or interface prototype. */ - private prepareAnyInstanceOf; - /** Finalizes the instanceof helper of the given class prototype. */ - private finalizeAnyInstanceOf; - private compileLiteralExpression; - private compileStringLiteral; - private compileTemplateLiteral; - private compileArrayLiteral; - /** Makes a new array instance from a static buffer segment. */ - private makeNewArray; - /** Compiles a special `fixed` array literal. */ - private compileStaticArrayLiteral; - private compileObjectLiteral; - private compileNewExpression; - /** Gets the compiled constructor of the specified class or generates one if none is present. */ - ensureConstructor( - /** Class wanting a constructor. */ - classInstance: Class, - /** Report node. */ - reportNode: Node): Function; - /** Checks that all class fields have been initialized. */ - checkFieldInitialization(classInstance: Class, relatedNode?: Node | null): void; - /** Checks that all class fields have been initialized in the specified flow. */ - checkFieldInitializationInFlow(classInstance: Class, flow: Flow, relatedNode?: Node | null): void; - compileInstantiate( - /** Constructor to call. */ - ctorInstance: Function, - /** Constructor arguments. */ - argumentExpressions: Expression[], - /** Contextual flags. */ - constraints: Constraints, - /** Node to report on. */ - reportNode: Node): ExpressionRef; - private compilePropertyAccessExpression; - private compileTernaryExpression; - private compileUnaryPostfixExpression; - private compileUnaryPrefixExpression; - private compileTypeof; - /** Makes sure that a 32-bit integer value is wrapped to a valid value of the specified type. */ - ensureSmallIntegerWrap(expr: ExpressionRef, type: Type): ExpressionRef; - /** Adds the debug location of the specified expression at the specified range to the source map. */ - addDebugLocation(expr: ExpressionRef, range: Range): void; - /** Checks whether a particular function signature is supported. */ - checkSignatureSupported(signature: Signature, reportNode: FunctionTypeNode): boolean; - /** Evaluates a boolean condition, determining whether it is TRUE, FALSE or UNKNOWN. */ - evaluateCondition(expr: ExpressionRef): ConditionKind; - /** Makes a constant zero of the specified type. */ - makeZero(type: Type): ExpressionRef; - /** Makes a constant one of the specified type. */ - makeOne(type: Type): ExpressionRef; - /** Makes a constant negative one of the specified type. */ - makeNegOne(type: Type): ExpressionRef; - /** Creates a comparison whether an expression is 'true' in a broader sense. */ - makeIsTrueish(expr: ExpressionRef, type: Type, reportNode: Node): ExpressionRef; - /** Makes a string conversion of the given expression. */ - makeToString(expr: ExpressionRef, type: Type, reportNode: Node): ExpressionRef; - /** Makes an allocation suitable to hold the data of an instance of the given class. */ - makeAllocation(classInstance: Class): ExpressionRef; - /** Makes a conditional allocation where `this` might not have been initialized yet. */ - makeConditionalAllocation(classInstance: Class, thisIndex: number): ExpressionRef; - /** Makes the initializers for a class's fields within the constructor. */ - makeFieldInitializationInConstructor( - /** Class being initialized. */ - classInstance: Class, - /** Statements to append to also being returned. Created if omitted. */ - stmts?: ExpressionRef[]): ExpressionRef[]; - /** Makes a call to `abort`, if present, otherwise creates a trap. */ - makeAbort( - /** Message argument of type string, if any. */ - message: Expression | null, - /** Code location to report when aborting. */ - codeLocation: Node): ExpressionRef; - /** Makes a call to `abort`, if present, otherwise creates a trap. */ - makeStaticAbort( - /** Message argument of type string. May be zero. */ - messageExpr: ExpressionRef, - /** Code location to report when aborting. */ - codeLocation: Node): ExpressionRef; - /** Makes a runtime non-null check, e.g. on `possiblyNull` or `possiblyNull!`. */ - makeRuntimeNonNullCheck( - /** Expression being checked. */ - expr: ExpressionRef, - /** Type of the expression. */ - type: Type, - /** Report node. */ - reportNode: Node): ExpressionRef; - /** Makes a runtime downcast check, e.g. on `parent`. */ - makeRuntimeDowncastCheck( - /** Expression being downcast. */ - expr: ExpressionRef, - /** Type of the expression. */ - type: Type, - /** Type casting to. */ - toType: Type, - /** Report node. */ - reportNode: Node): ExpressionRef; - } -} -declare module "types:assemblyscript/src/builtins" { - /** - * @fileoverview Built-in elements providing core WebAssembly functionality. - * - * Each builtin is linked to its definition in std/assembly/builtins.ts. - * When its prototype is called, the compiler recognizes the `@builtin` - * decorator, looks up the respective handler in the global builtins map - * and executes it, with the handler directly emitting WebAssembly code - * according to context. - * - * Builtins can be categorized into core builtins that typically are generic - * and emit code directly and aliases calling core builtins with overridden - * contexts. The latter is used by inline assembler aliases of WebAssembly - * instructions, like `i64.load8_u` deferring to `load`. - * - * The `contextIsExact` modifier is used to force a specific instruction - * family. A `i32.store8` deferring to `store` for example is - * ambiguous in that the input can still be an i32 or an i64, leading to - * either an `i32.store8` or an `i64.store8`, so `i32` is forced there. - * This behavior is indicated by `from i32/i64` in the comments below. - * - * @license Apache-2.0 - */ - import { Compiler } from "types:assemblyscript/src/compiler"; - import { Expression, CallExpression, IdentifierExpression } from "types:assemblyscript/src/ast"; - import { Type } from "types:assemblyscript/src/types"; - import { ExpressionRef } from "types:assemblyscript/src/module"; - import { FunctionPrototype, VariableLikeElement } from "types:assemblyscript/src/program"; - /** Internal names of various compiler built-ins. */ - export namespace BuiltinNames { - const start = "~start"; - const started = "~started"; - const argumentsLength = "~argumentsLength"; - const setArgumentsLength = "~setArgumentsLength"; - const abort = "~lib/builtins/abort"; - const trace = "~lib/builtins/trace"; - const seed = "~lib/builtins/seed"; - const isBoolean = "~lib/builtins/isBoolean"; - const isInteger = "~lib/builtins/isInteger"; - const isSigned = "~lib/builtins/isSigned"; - const isFloat = "~lib/builtins/isFloat"; - const isVector = "~lib/builtins/isVector"; - const isReference = "~lib/builtins/isReference"; - const isString = "~lib/builtins/isString"; - const isArray = "~lib/builtins/isArray"; - const isArrayLike = "~lib/builtins/isArrayLike"; - const isFunction = "~lib/builtins/isFunction"; - const isNullable = "~lib/builtins/isNullable"; - const isDefined = "~lib/builtins/isDefined"; - const isConstant = "~lib/builtins/isConstant"; - const isManaged = "~lib/builtins/isManaged"; - const isVoid = "~lib/builtins/isVoid"; - const add = "~lib/builtins/add"; - const sub = "~lib/builtins/sub"; - const mul = "~lib/builtins/mul"; - const div = "~lib/builtins/div"; - const clz = "~lib/builtins/clz"; - const ctz = "~lib/builtins/ctz"; - const popcnt = "~lib/builtins/popcnt"; - const rotl = "~lib/builtins/rotl"; - const rotr = "~lib/builtins/rotr"; - const abs = "~lib/builtins/abs"; - const max = "~lib/builtins/max"; - const min = "~lib/builtins/min"; - const ceil = "~lib/builtins/ceil"; - const floor = "~lib/builtins/floor"; - const copysign = "~lib/builtins/copysign"; - const nearest = "~lib/builtins/nearest"; - const reinterpret = "~lib/builtins/reinterpret"; - const sqrt = "~lib/builtins/sqrt"; - const trunc = "~lib/builtins/trunc"; - const eq = "~lib/builtins/eq"; - const ne = "~lib/builtins/ne"; - const rem = "~lib/builtins/rem"; - const load = "~lib/builtins/load"; - const store = "~lib/builtins/store"; - const atomic_load = "~lib/builtins/atomic.load"; - const atomic_store = "~lib/builtins/atomic.store"; - const atomic_add = "~lib/builtins/atomic.add"; - const atomic_sub = "~lib/builtins/atomic.sub"; - const atomic_and = "~lib/builtins/atomic.and"; - const atomic_or = "~lib/builtins/atomic.or"; - const atomic_xor = "~lib/builtins/atomic.xor"; - const atomic_xchg = "~lib/builtins/atomic.xchg"; - const atomic_cmpxchg = "~lib/builtins/atomic.cmpxchg"; - const atomic_wait = "~lib/builtins/atomic.wait"; - const atomic_notify = "~lib/builtins/atomic.notify"; - const atomic_fence = "~lib/builtins/atomic.fence"; - const sizeof = "~lib/builtins/sizeof"; - const alignof = "~lib/builtins/alignof"; - const offsetof = "~lib/builtins/offsetof"; - const nameof = "~lib/builtins/nameof"; - const lengthof = "~lib/builtins/lengthof"; - const select = "~lib/builtins/select"; - const unreachable = "~lib/builtins/unreachable"; - const changetype = "~lib/builtins/changetype"; - const assert = "~lib/builtins/assert"; - const call_indirect = "~lib/builtins/call_indirect"; - const unchecked = "~lib/builtins/unchecked"; - const instantiate = "~lib/builtins/instantiate"; - const idof = "~lib/builtins/idof"; - const i8 = "~lib/builtins/i8"; - const i16 = "~lib/builtins/i16"; - const i32 = "~lib/builtins/i32"; - const i64 = "~lib/builtins/i64"; - const isize = "~lib/builtins/isize"; - const u8 = "~lib/builtins/u8"; - const u16 = "~lib/builtins/u16"; - const u32 = "~lib/builtins/u32"; - const u64 = "~lib/builtins/u64"; - const usize = "~lib/builtins/usize"; - const bool = "~lib/builtins/bool"; - const f32 = "~lib/builtins/f32"; - const f64 = "~lib/builtins/f64"; - const v128 = "~lib/builtins/v128"; - const i32_clz = "~lib/builtins/i32.clz"; - const i64_clz = "~lib/builtins/i64.clz"; - const i32_ctz = "~lib/builtins/i32.ctz"; - const i64_ctz = "~lib/builtins/i64.ctz"; - const i32_popcnt = "~lib/builtins/i32.popcnt"; - const i64_popcnt = "~lib/builtins/i64.popcnt"; - const i32_rotl = "~lib/builtins/i32.rotl"; - const i64_rotl = "~lib/builtins/i64.rotl"; - const i32_rotr = "~lib/builtins/i32.rotr"; - const i64_rotr = "~lib/builtins/i64.rotr"; - const f32_abs = "~lib/builtins/f32.abs"; - const f64_abs = "~lib/builtins/f64.abs"; - const f32_max = "~lib/builtins/f32.max"; - const f64_max = "~lib/builtins/f64.max"; - const f32_min = "~lib/builtins/f32.min"; - const f64_min = "~lib/builtins/f64.min"; - const f32_ceil = "~lib/builtins/f32.ceil"; - const f64_ceil = "~lib/builtins/f64.ceil"; - const f32_floor = "~lib/builtins/f32.floor"; - const f64_floor = "~lib/builtins/f64.floor"; - const f32_copysign = "~lib/builtins/f32.copysign"; - const f64_copysign = "~lib/builtins/f64.copysign"; - const f32_nearest = "~lib/builtins/f32.nearest"; - const f64_nearest = "~lib/builtins/f64.nearest"; - const i32_reinterpret_f32 = "~lib/builtins/i32.reinterpret_f32"; - const i64_reinterpret_f64 = "~lib/builtins/i64.reinterpret_f64"; - const f32_reinterpret_i32 = "~lib/builtins/f32.reinterpret_i32"; - const f64_reinterpret_i64 = "~lib/builtins/f64.reinterpret_i64"; - const f32_sqrt = "~lib/builtins/f32.sqrt"; - const f64_sqrt = "~lib/builtins/f64.sqrt"; - const f32_trunc = "~lib/builtins/f32.trunc"; - const f64_trunc = "~lib/builtins/f64.trunc"; - const i32_add = "~lib/builtins/i32.add"; - const i64_add = "~lib/builtins/i64.add"; - const f32_add = "~lib/builtins/f32.add"; - const f64_add = "~lib/builtins/f64.add"; - const i32_sub = "~lib/builtins/i32.sub"; - const i64_sub = "~lib/builtins/i64.sub"; - const f32_sub = "~lib/builtins/f32.sub"; - const f64_sub = "~lib/builtins/f64.sub"; - const i32_mul = "~lib/builtins/i32.mul"; - const i64_mul = "~lib/builtins/i64.mul"; - const f32_mul = "~lib/builtins/f32.mul"; - const f64_mul = "~lib/builtins/f64.mul"; - const i32_div_s = "~lib/builtins/i32.div_s"; - const i32_div_u = "~lib/builtins/i32.div_u"; - const i64_div_s = "~lib/builtins/i64.div_s"; - const i64_div_u = "~lib/builtins/i64.div_u"; - const f32_div = "~lib/builtins/f32.div"; - const f64_div = "~lib/builtins/f64.div"; - const i32_eq = "~lib/builtins/i32.eq"; - const i64_eq = "~lib/builtins/i64.eq"; - const f32_eq = "~lib/builtins/f32.eq"; - const f64_eq = "~lib/builtins/f64.eq"; - const i32_ne = "~lib/builtins/i32.ne"; - const i64_ne = "~lib/builtins/i64.ne"; - const f32_ne = "~lib/builtins/f32.ne"; - const f64_ne = "~lib/builtins/f64.ne"; - const i32_rem_s = "~lib/builtins/i32.rem_s"; - const i32_rem_u = "~lib/builtins/i32.rem_u"; - const i64_rem_s = "~lib/builtins/i64.rem_s"; - const i64_rem_u = "~lib/builtins/i64.rem_u"; - const i32_load8_s = "~lib/builtins/i32.load8_s"; - const i32_load8_u = "~lib/builtins/i32.load8_u"; - const i32_load16_s = "~lib/builtins/i32.load16_s"; - const i32_load16_u = "~lib/builtins/i32.load16_u"; - const i32_load = "~lib/builtins/i32.load"; - const i64_load8_s = "~lib/builtins/i64.load8_s"; - const i64_load8_u = "~lib/builtins/i64.load8_u"; - const i64_load16_s = "~lib/builtins/i64.load16_s"; - const i64_load16_u = "~lib/builtins/i64.load16_u"; - const i64_load32_s = "~lib/builtins/i64.load32_s"; - const i64_load32_u = "~lib/builtins/i64.load32_u"; - const i64_load = "~lib/builtins/i64.load"; - const f32_load = "~lib/builtins/f32.load"; - const f64_load = "~lib/builtins/f64.load"; - const i32_store8 = "~lib/builtins/i32.store8"; - const i32_store16 = "~lib/builtins/i32.store16"; - const i32_store = "~lib/builtins/i32.store"; - const i64_store8 = "~lib/builtins/i64.store8"; - const i64_store16 = "~lib/builtins/i64.store16"; - const i64_store32 = "~lib/builtins/i64.store32"; - const i64_store = "~lib/builtins/i64.store"; - const f32_store = "~lib/builtins/f32.store"; - const f64_store = "~lib/builtins/f64.store"; - const i32_atomic_load8_u = "~lib/builtins/i32.atomic.load8_u"; - const i32_atomic_load16_u = "~lib/builtins/i32.atomic.load16_u"; - const i32_atomic_load = "~lib/builtins/i32.atomic.load"; - const i64_atomic_load8_u = "~lib/builtins/i64.atomic.load8_u"; - const i64_atomic_load16_u = "~lib/builtins/i64.atomic.load16_u"; - const i64_atomic_load32_u = "~lib/builtins/i64.atomic.load32_u"; - const i64_atomic_load = "~lib/builtins/i64.atomic.load"; - const i32_atomic_store8 = "~lib/builtins/i32.atomic.store8"; - const i32_atomic_store16 = "~lib/builtins/i32.atomic.store16"; - const i32_atomic_store = "~lib/builtins/i32.atomic.store"; - const i64_atomic_store8 = "~lib/builtins/i64.atomic.store8"; - const i64_atomic_store16 = "~lib/builtins/i64.atomic.store16"; - const i64_atomic_store32 = "~lib/builtins/i64.atomic.store32"; - const i64_atomic_store = "~lib/builtins/i64.atomic.store"; - const i32_atomic_rmw8_add_u = "~lib/builtins/i32.atomic.rmw8.add_u"; - const i32_atomic_rmw16_add_u = "~lib/builtins/i32.atomic.rmw16.add_u"; - const i32_atomic_rmw_add = "~lib/builtins/i32.atomic.rmw.add"; - const i64_atomic_rmw8_add_u = "~lib/builtins/i64.atomic.rmw8.add_u"; - const i64_atomic_rmw16_add_u = "~lib/builtins/i64.atomic.rmw16.add_u"; - const i64_atomic_rmw32_add_u = "~lib/builtins/i64.atomic.rmw32.add_u"; - const i64_atomic_rmw_add = "~lib/builtins/i64.atomic.rmw.add"; - const i32_atomic_rmw8_sub_u = "~lib/builtins/i32.atomic.rmw8.sub_u"; - const i32_atomic_rmw16_sub_u = "~lib/builtins/i32.atomic.rmw16.sub_u"; - const i32_atomic_rmw_sub = "~lib/builtins/i32.atomic.rmw.sub"; - const i64_atomic_rmw8_sub_u = "~lib/builtins/i64.atomic.rmw8.sub_u"; - const i64_atomic_rmw16_sub_u = "~lib/builtins/i64.atomic.rmw16.sub_u"; - const i64_atomic_rmw32_sub_u = "~lib/builtins/i64.atomic.rmw32.sub_u"; - const i64_atomic_rmw_sub = "~lib/builtins/i64.atomic.rmw.sub"; - const i32_atomic_rmw8_and_u = "~lib/builtins/i32.atomic.rmw8.and_u"; - const i32_atomic_rmw16_and_u = "~lib/builtins/i32.atomic.rmw16.and_u"; - const i32_atomic_rmw_and = "~lib/builtins/i32.atomic.rmw.and"; - const i64_atomic_rmw8_and_u = "~lib/builtins/i64.atomic.rmw8.and_u"; - const i64_atomic_rmw16_and_u = "~lib/builtins/i64.atomic.rmw16.and_u"; - const i64_atomic_rmw32_and_u = "~lib/builtins/i64.atomic.rmw32.and_u"; - const i64_atomic_rmw_and = "~lib/builtins/i64.atomic.rmw.and"; - const i32_atomic_rmw8_or_u = "~lib/builtins/i32.atomic.rmw8.or_u"; - const i32_atomic_rmw16_or_u = "~lib/builtins/i32.atomic.rmw16.or_u"; - const i32_atomic_rmw_or = "~lib/builtins/i32.atomic.rmw.or"; - const i64_atomic_rmw8_or_u = "~lib/builtins/i64.atomic.rmw8.or_u"; - const i64_atomic_rmw16_or_u = "~lib/builtins/i64.atomic.rmw16.or_u"; - const i64_atomic_rmw32_or_u = "~lib/builtins/i64.atomic.rmw32.or_u"; - const i64_atomic_rmw_or = "~lib/builtins/i64.atomic.rmw.or"; - const i32_atomic_rmw8_xor_u = "~lib/builtins/i32.atomic.rmw8.xor_u"; - const i32_atomic_rmw16_xor_u = "~lib/builtins/i32.atomic.rmw16.xor_u"; - const i32_atomic_rmw_xor = "~lib/builtins/i32.atomic.rmw.xor"; - const i64_atomic_rmw8_xor_u = "~lib/builtins/i64.atomic.rmw8.xor_u"; - const i64_atomic_rmw16_xor_u = "~lib/builtins/i64.atomic.rmw16.xor_u"; - const i64_atomic_rmw32_xor_u = "~lib/builtins/i64.atomic.rmw32.xor_u"; - const i64_atomic_rmw_xor = "~lib/builtins/i64.atomic.rmw.xor"; - const i32_atomic_rmw8_xchg_u = "~lib/builtins/i32.atomic.rmw8.xchg_u"; - const i32_atomic_rmw16_xchg_u = "~lib/builtins/i32.atomic.rmw16.xchg_u"; - const i32_atomic_rmw_xchg = "~lib/builtins/i32.atomic.rmw.xchg"; - const i64_atomic_rmw8_xchg_u = "~lib/builtins/i64.atomic.rmw8.xchg_u"; - const i64_atomic_rmw16_xchg_u = "~lib/builtins/i64.atomic.rmw16.xchg_u"; - const i64_atomic_rmw32_xchg_u = "~lib/builtins/i64.atomic.rmw32.xchg_u"; - const i64_atomic_rmw_xchg = "~lib/builtins/i64.atomic.rmw.xchg"; - const i32_atomic_rmw8_cmpxchg_u = "~lib/builtins/i32.atomic.rmw8.cmpxchg_u"; - const i32_atomic_rmw16_cmpxchg_u = "~lib/builtins/i32.atomic.rmw16.cmpxchg_u"; - const i32_atomic_rmw_cmpxchg = "~lib/builtins/i32.atomic.rmw.cmpxchg"; - const i64_atomic_rmw8_cmpxchg_u = "~lib/builtins/i64.atomic.rmw8.cmpxchg_u"; - const i64_atomic_rmw16_cmpxchg_u = "~lib/builtins/i64.atomic.rmw16.cmpxchg_u"; - const i64_atomic_rmw32_cmpxchg_u = "~lib/builtins/i64.atomic.rmw32.cmpxchg_u"; - const i64_atomic_rmw_cmpxchg = "~lib/builtins/i64.atomic.rmw.cmpxchg"; - const memory_atomic_wait32 = "~lib/memory/memory.atomic.wait32"; - const memory_atomic_wait64 = "~lib/memory/memory.atomic.wait64"; - const v128_splat = "~lib/builtins/v128.splat"; - const v128_extract_lane = "~lib/builtins/v128.extract_lane"; - const v128_replace_lane = "~lib/builtins/v128.replace_lane"; - const v128_shuffle = "~lib/builtins/v128.shuffle"; - const v128_swizzle = "~lib/builtins/v128.swizzle"; - const v128_load_splat = "~lib/builtins/v128.load_splat"; - const v128_load_ext = "~lib/builtins/v128.load_ext"; - const v128_load_zero = "~lib/builtins/v128.load_zero"; - const v128_load_lane = "~lib/builtins/v128.load_lane"; - const v128_store_lane = "~lib/builtins/v128.store_lane"; - const v128_load = "~lib/builtins/v128.load"; - const v128_load8x8_s = "~lib/builtins/v128.load8x8_s"; - const v128_load8x8_u = "~lib/builtins/v128.load8x8_u"; - const v128_load16x4_s = "~lib/builtins/v128.load16x4_s"; - const v128_load16x4_u = "~lib/builtins/v128.load16x4_u"; - const v128_load32x2_s = "~lib/builtins/v128.load32x2_s"; - const v128_load32x2_u = "~lib/builtins/v128.load32x2_u"; - const v128_load8_splat = "~lib/builtins/v128.load8_splat"; - const v128_load16_splat = "~lib/builtins/v128.load16_splat"; - const v128_load32_splat = "~lib/builtins/v128.load32_splat"; - const v128_load64_splat = "~lib/builtins/v128.load64_splat"; - const v128_load32_zero = "~lib/builtins/v128.load32_zero"; - const v128_load64_zero = "~lib/builtins/v128.load64_zero"; - const v128_load8_lane = "~lib/builtins/v128.load8_lane"; - const v128_load16_lane = "~lib/builtins/v128.load16_lane"; - const v128_load32_lane = "~lib/builtins/v128.load32_lane"; - const v128_load64_lane = "~lib/builtins/v128.load64_lane"; - const v128_store8_lane = "~lib/builtins/v128.store8_lane"; - const v128_store16_lane = "~lib/builtins/v128.store16_lane"; - const v128_store32_lane = "~lib/builtins/v128.store32_lane"; - const v128_store64_lane = "~lib/builtins/v128.store64_lane"; - const v128_store = "~lib/builtins/v128.store"; - const v128_add = "~lib/builtins/v128.add"; - const v128_sub = "~lib/builtins/v128.sub"; - const v128_mul = "~lib/builtins/v128.mul"; - const v128_div = "~lib/builtins/v128.div"; - const v128_neg = "~lib/builtins/v128.neg"; - const v128_add_sat = "~lib/builtins/v128.add_sat"; - const v128_sub_sat = "~lib/builtins/v128.sub_sat"; - const v128_shl = "~lib/builtins/v128.shl"; - const v128_shr = "~lib/builtins/v128.shr"; - const v128_and = "~lib/builtins/v128.and"; - const v128_or = "~lib/builtins/v128.or"; - const v128_xor = "~lib/builtins/v128.xor"; - const v128_andnot = "~lib/builtins/v128.andnot"; - const v128_not = "~lib/builtins/v128.not"; - const v128_bitselect = "~lib/builtins/v128.bitselect"; - const v128_any_true = "~lib/builtins/v128.any_true"; - const v128_all_true = "~lib/builtins/v128.all_true"; - const v128_bitmask = "~lib/builtins/v128.bitmask"; - const v128_popcnt = "~lib/builtins/v128.popcnt"; - const v128_min = "~lib/builtins/v128.min"; - const v128_max = "~lib/builtins/v128.max"; - const v128_pmin = "~lib/builtins/v128.pmin"; - const v128_pmax = "~lib/builtins/v128.pmax"; - const v128_dot = "~lib/builtins/v128.dot"; - const v128_avgr = "~lib/builtins/v128.avgr"; - const v128_abs = "~lib/builtins/v128.abs"; - const v128_sqrt = "~lib/builtins/v128.sqrt"; - const v128_ceil = "~lib/builtins/v128.ceil"; - const v128_floor = "~lib/builtins/v128.floor"; - const v128_trunc = "~lib/builtins/v128.trunc"; - const v128_nearest = "~lib/builtins/v128.nearest"; - const v128_eq = "~lib/builtins/v128.eq"; - const v128_ne = "~lib/builtins/v128.ne"; - const v128_lt = "~lib/builtins/v128.lt"; - const v128_le = "~lib/builtins/v128.le"; - const v128_gt = "~lib/builtins/v128.gt"; - const v128_ge = "~lib/builtins/v128.ge"; - const v128_convert = "~lib/builtins/v128.convert"; - const v128_convert_low = "~lib/builtins/v128.convert_low"; - const v128_trunc_sat = "~lib/builtins/v128.trunc_sat"; - const v128_trunc_sat_zero = "~lib/builtins/v128.trunc_sat_zero"; - const v128_narrow = "~lib/builtins/v128.narrow"; - const v128_extend_low = "~lib/builtins/v128.extend_low"; - const v128_extend_high = "~lib/builtins/v128.extend_high"; - const v128_extadd_pairwise = "~lib/builtins/v128.extadd_pairwise"; - const v128_demote_zero = "~lib/builtins/v128.demote_zero"; - const v128_promote_low = "~lib/builtins/v128.promote_low"; - const v128_q15mulr_sat = "~lib/builtins/v128.q15mulr_sat"; - const v128_extmul_low = "~lib/builtins/v128.extmul_low"; - const v128_extmul_high = "~lib/builtins/v128.extmul_high"; - const v128_relaxed_swizzle = "~lib/builtins/v128.relaxed_swizzle"; - const v128_relaxed_trunc = "~lib/builtins/v128.relaxed_trunc"; - const v128_relaxed_trunc_zero = "~lib/builtins/v128.relaxed_trunc_zero"; - const v128_relaxed_madd = "~lib/builtins/v128.relaxed_madd"; - const v128_relaxed_nmadd = "~lib/builtins/v128.relaxed_nmadd"; - const v128_relaxed_laneselect = "~lib/builtins/v128.relaxed_laneselect"; - const v128_relaxed_min = "~lib/builtins/v128.relaxed_min"; - const v128_relaxed_max = "~lib/builtins/v128.relaxed_max"; - const v128_relaxed_q15mulr = "~lib/builtins/v128.relaxed_q15mulr"; - const v128_relaxed_dot = "~lib/builtins/v128.relaxed_dot"; - const v128_relaxed_dot_add = "~lib/builtins/v128.relaxed_dot_add"; - const i8x16 = "~lib/builtins/i8x16"; - const i16x8 = "~lib/builtins/i16x8"; - const i32x4 = "~lib/builtins/i32x4"; - const i64x2 = "~lib/builtins/i64x2"; - const f32x4 = "~lib/builtins/f32x4"; - const f64x2 = "~lib/builtins/f64x2"; - const i8x16_splat = "~lib/builtins/i8x16.splat"; - const i8x16_extract_lane_s = "~lib/builtins/i8x16.extract_lane_s"; - const i8x16_extract_lane_u = "~lib/builtins/i8x16.extract_lane_u"; - const i8x16_replace_lane = "~lib/builtins/i8x16.replace_lane"; - const i8x16_add = "~lib/builtins/i8x16.add"; - const i8x16_sub = "~lib/builtins/i8x16.sub"; - const i8x16_mul = "~lib/builtins/i8x16.mul"; - const i8x16_min_s = "~lib/builtins/i8x16.min_s"; - const i8x16_min_u = "~lib/builtins/i8x16.min_u"; - const i8x16_max_s = "~lib/builtins/i8x16.max_s"; - const i8x16_max_u = "~lib/builtins/i8x16.max_u"; - const i8x16_avgr_u = "~lib/builtins/i8x16.avgr_u"; - const i8x16_abs = "~lib/builtins/i8x16.abs"; - const i8x16_neg = "~lib/builtins/i8x16.neg"; - const i8x16_add_sat_s = "~lib/builtins/i8x16.add_sat_s"; - const i8x16_add_sat_u = "~lib/builtins/i8x16.add_sat_u"; - const i8x16_sub_sat_s = "~lib/builtins/i8x16.sub_sat_s"; - const i8x16_sub_sat_u = "~lib/builtins/i8x16.sub_sat_u"; - const i8x16_shl = "~lib/builtins/i8x16.shl"; - const i8x16_shr_s = "~lib/builtins/i8x16.shr_s"; - const i8x16_shr_u = "~lib/builtins/i8x16.shr_u"; - const i8x16_all_true = "~lib/builtins/i8x16.all_true"; - const i8x16_bitmask = "~lib/builtins/i8x16.bitmask"; - const i8x16_popcnt = "~lib/builtins/i8x16.popcnt"; - const i8x16_eq = "~lib/builtins/i8x16.eq"; - const i8x16_ne = "~lib/builtins/i8x16.ne"; - const i8x16_lt_s = "~lib/builtins/i8x16.lt_s"; - const i8x16_lt_u = "~lib/builtins/i8x16.lt_u"; - const i8x16_le_s = "~lib/builtins/i8x16.le_s"; - const i8x16_le_u = "~lib/builtins/i8x16.le_u"; - const i8x16_gt_s = "~lib/builtins/i8x16.gt_s"; - const i8x16_gt_u = "~lib/builtins/i8x16.gt_u"; - const i8x16_ge_s = "~lib/builtins/i8x16.ge_s"; - const i8x16_ge_u = "~lib/builtins/i8x16.ge_u"; - const i8x16_narrow_i16x8_s = "~lib/builtins/i8x16.narrow_i16x8_s"; - const i8x16_narrow_i16x8_u = "~lib/builtins/i8x16.narrow_i16x8_u"; - const i8x16_shuffle = "~lib/builtins/i8x16.shuffle"; - const i8x16_swizzle = "~lib/builtins/i8x16.swizzle"; - const i16x8_splat = "~lib/builtins/i16x8.splat"; - const i16x8_extract_lane_s = "~lib/builtins/i16x8.extract_lane_s"; - const i16x8_extract_lane_u = "~lib/builtins/i16x8.extract_lane_u"; - const i16x8_replace_lane = "~lib/builtins/i16x8.replace_lane"; - const i16x8_add = "~lib/builtins/i16x8.add"; - const i16x8_sub = "~lib/builtins/i16x8.sub"; - const i16x8_mul = "~lib/builtins/i16x8.mul"; - const i16x8_min_s = "~lib/builtins/i16x8.min_s"; - const i16x8_min_u = "~lib/builtins/i16x8.min_u"; - const i16x8_max_s = "~lib/builtins/i16x8.max_s"; - const i16x8_max_u = "~lib/builtins/i16x8.max_u"; - const i16x8_avgr_u = "~lib/builtins/i16x8.avgr_u"; - const i16x8_abs = "~lib/builtins/i16x8.abs"; - const i16x8_neg = "~lib/builtins/i16x8.neg"; - const i16x8_add_sat_s = "~lib/builtins/i16x8.add_sat_s"; - const i16x8_add_sat_u = "~lib/builtins/i16x8.add_sat_u"; - const i16x8_sub_sat_s = "~lib/builtins/i16x8.sub_sat_s"; - const i16x8_sub_sat_u = "~lib/builtins/i16x8.sub_sat_u"; - const i16x8_shl = "~lib/builtins/i16x8.shl"; - const i16x8_shr_s = "~lib/builtins/i16x8.shr_s"; - const i16x8_shr_u = "~lib/builtins/i16x8.shr_u"; - const i16x8_all_true = "~lib/builtins/i16x8.all_true"; - const i16x8_bitmask = "~lib/builtins/i16x8.bitmask"; - const i16x8_eq = "~lib/builtins/i16x8.eq"; - const i16x8_ne = "~lib/builtins/i16x8.ne"; - const i16x8_lt_s = "~lib/builtins/i16x8.lt_s"; - const i16x8_lt_u = "~lib/builtins/i16x8.lt_u"; - const i16x8_le_s = "~lib/builtins/i16x8.le_s"; - const i16x8_le_u = "~lib/builtins/i16x8.le_u"; - const i16x8_gt_s = "~lib/builtins/i16x8.gt_s"; - const i16x8_gt_u = "~lib/builtins/i16x8.gt_u"; - const i16x8_ge_s = "~lib/builtins/i16x8.ge_s"; - const i16x8_ge_u = "~lib/builtins/i16x8.ge_u"; - const i16x8_narrow_i32x4_s = "~lib/builtins/i16x8.narrow_i32x4_s"; - const i16x8_narrow_i32x4_u = "~lib/builtins/i16x8.narrow_i32x4_u"; - const i16x8_extend_low_i8x16_s = "~lib/builtins/i16x8.extend_low_i8x16_s"; - const i16x8_extend_low_i8x16_u = "~lib/builtins/i16x8.extend_low_i8x16_u"; - const i16x8_extend_high_i8x16_s = "~lib/builtins/i16x8.extend_high_i8x16_s"; - const i16x8_extend_high_i8x16_u = "~lib/builtins/i16x8.extend_high_i8x16_u"; - const i16x8_extadd_pairwise_i8x16_s = "~lib/builtins/i16x8.extadd_pairwise_i8x16_s"; - const i16x8_extadd_pairwise_i8x16_u = "~lib/builtins/i16x8.extadd_pairwise_i8x16_u"; - const i16x8_q15mulr_sat_s = "~lib/builtins/i16x8.q15mulr_sat_s"; - const i16x8_extmul_low_i8x16_s = "~lib/builtins/i16x8.extmul_low_i8x16_s"; - const i16x8_extmul_low_i8x16_u = "~lib/builtins/i16x8.extmul_low_i8x16_u"; - const i16x8_extmul_high_i8x16_s = "~lib/builtins/i16x8.extmul_high_i8x16_s"; - const i16x8_extmul_high_i8x16_u = "~lib/builtins/i16x8.extmul_high_i8x16_u"; - const i16x8_shuffle = "~lib/builtins/i16x8.shuffle"; - const i32x4_splat = "~lib/builtins/i32x4.splat"; - const i32x4_extract_lane = "~lib/builtins/i32x4.extract_lane"; - const i32x4_replace_lane = "~lib/builtins/i32x4.replace_lane"; - const i32x4_add = "~lib/builtins/i32x4.add"; - const i32x4_sub = "~lib/builtins/i32x4.sub"; - const i32x4_mul = "~lib/builtins/i32x4.mul"; - const i32x4_min_s = "~lib/builtins/i32x4.min_s"; - const i32x4_min_u = "~lib/builtins/i32x4.min_u"; - const i32x4_max_s = "~lib/builtins/i32x4.max_s"; - const i32x4_max_u = "~lib/builtins/i32x4.max_u"; - const i32x4_dot_i16x8_s = "~lib/builtins/i32x4.dot_i16x8_s"; - const i32x4_abs = "~lib/builtins/i32x4.abs"; - const i32x4_neg = "~lib/builtins/i32x4.neg"; - const i32x4_shl = "~lib/builtins/i32x4.shl"; - const i32x4_shr_s = "~lib/builtins/i32x4.shr_s"; - const i32x4_shr_u = "~lib/builtins/i32x4.shr_u"; - const i32x4_all_true = "~lib/builtins/i32x4.all_true"; - const i32x4_bitmask = "~lib/builtins/i32x4.bitmask"; - const i32x4_eq = "~lib/builtins/i32x4.eq"; - const i32x4_ne = "~lib/builtins/i32x4.ne"; - const i32x4_lt_s = "~lib/builtins/i32x4.lt_s"; - const i32x4_lt_u = "~lib/builtins/i32x4.lt_u"; - const i32x4_le_s = "~lib/builtins/i32x4.le_s"; - const i32x4_le_u = "~lib/builtins/i32x4.le_u"; - const i32x4_gt_s = "~lib/builtins/i32x4.gt_s"; - const i32x4_gt_u = "~lib/builtins/i32x4.gt_u"; - const i32x4_ge_s = "~lib/builtins/i32x4.ge_s"; - const i32x4_ge_u = "~lib/builtins/i32x4.ge_u"; - const i32x4_trunc_sat_f32x4_s = "~lib/builtins/i32x4.trunc_sat_f32x4_s"; - const i32x4_trunc_sat_f32x4_u = "~lib/builtins/i32x4.trunc_sat_f32x4_u"; - const i32x4_trunc_sat_f64x2_s_zero = "~lib/builtins/i32x4.trunc_sat_f64x2_s_zero"; - const i32x4_trunc_sat_f64x2_u_zero = "~lib/builtins/i32x4.trunc_sat_f64x2_u_zero"; - const i32x4_extend_low_i16x8_s = "~lib/builtins/i32x4.extend_low_i16x8_s"; - const i32x4_extend_low_i16x8_u = "~lib/builtins/i32x4.extend_low_i16x8_u"; - const i32x4_extend_high_i16x8_s = "~lib/builtins/i32x4.extend_high_i16x8_s"; - const i32x4_extend_high_i16x8_u = "~lib/builtins/i32x4.extend_high_i16x8_u"; - const i32x4_extadd_pairwise_i16x8_s = "~lib/builtins/i32x4.extadd_pairwise_i16x8_s"; - const i32x4_extadd_pairwise_i16x8_u = "~lib/builtins/i32x4.extadd_pairwise_i16x8_u"; - const i32x4_extmul_low_i16x8_s = "~lib/builtins/i32x4.extmul_low_i16x8_s"; - const i32x4_extmul_low_i16x8_u = "~lib/builtins/i32x4.extmul_low_i16x8_u"; - const i32x4_extmul_high_i16x8_s = "~lib/builtins/i32x4.extmul_high_i16x8_s"; - const i32x4_extmul_high_i16x8_u = "~lib/builtins/i32x4.extmul_high_i16x8_u"; - const i32x4_shuffle = "~lib/builtins/i32x4.shuffle"; - const i64x2_splat = "~lib/builtins/i64x2.splat"; - const i64x2_extract_lane = "~lib/builtins/i64x2.extract_lane"; - const i64x2_replace_lane = "~lib/builtins/i64x2.replace_lane"; - const i64x2_add = "~lib/builtins/i64x2.add"; - const i64x2_sub = "~lib/builtins/i64x2.sub"; - const i64x2_mul = "~lib/builtins/i64x2.mul"; - const i64x2_abs = "~lib/builtins/i64x2.abs"; - const i64x2_neg = "~lib/builtins/i64x2.neg"; - const i64x2_shl = "~lib/builtins/i64x2.shl"; - const i64x2_shr_s = "~lib/builtins/i64x2.shr_s"; - const i64x2_shr_u = "~lib/builtins/i64x2.shr_u"; - const i64x2_all_true = "~lib/builtins/i64x2.all_true"; - const i64x2_bitmask = "~lib/builtins/i64x2.bitmask"; - const i64x2_eq = "~lib/builtins/i64x2.eq"; - const i64x2_ne = "~lib/builtins/i64x2.ne"; - const i64x2_lt_s = "~lib/builtins/i64x2.lt_s"; - const i64x2_lt_u = "~lib/builtins/i64x2.lt_u"; - const i64x2_le_s = "~lib/builtins/i64x2.le_s"; - const i64x2_le_u = "~lib/builtins/i64x2.le_u"; - const i64x2_gt_s = "~lib/builtins/i64x2.gt_s"; - const i64x2_gt_u = "~lib/builtins/i64x2.gt_u"; - const i64x2_ge_s = "~lib/builtins/i64x2.ge_s"; - const i64x2_ge_u = "~lib/builtins/i64x2.ge_u"; - const i64x2_extend_low_i32x4_s = "~lib/builtins/i64x2.extend_low_i32x4_s"; - const i64x2_extend_low_i32x4_u = "~lib/builtins/i64x2.extend_low_i32x4_u"; - const i64x2_extend_high_i32x4_s = "~lib/builtins/i64x2.extend_high_i32x4_s"; - const i64x2_extend_high_i32x4_u = "~lib/builtins/i64x2.extend_high_i32x4_u"; - const i64x2_extmul_low_i32x4_s = "~lib/builtins/i64x2.extmul_low_i32x4_s"; - const i64x2_extmul_low_i32x4_u = "~lib/builtins/i64x2.extmul_low_i32x4_u"; - const i64x2_extmul_high_i32x4_s = "~lib/builtins/i64x2.extmul_high_i32x4_s"; - const i64x2_extmul_high_i32x4_u = "~lib/builtins/i64x2.extmul_high_i32x4_u"; - const i64x2_shuffle = "~lib/builtins/i64x2.shuffle"; - const f32x4_splat = "~lib/builtins/f32x4.splat"; - const f32x4_extract_lane = "~lib/builtins/f32x4.extract_lane"; - const f32x4_replace_lane = "~lib/builtins/f32x4.replace_lane"; - const f32x4_add = "~lib/builtins/f32x4.add"; - const f32x4_sub = "~lib/builtins/f32x4.sub"; - const f32x4_mul = "~lib/builtins/f32x4.mul"; - const f32x4_div = "~lib/builtins/f32x4.div"; - const f32x4_neg = "~lib/builtins/f32x4.neg"; - const f32x4_min = "~lib/builtins/f32x4.min"; - const f32x4_max = "~lib/builtins/f32x4.max"; - const f32x4_pmin = "~lib/builtins/f32x4.pmin"; - const f32x4_pmax = "~lib/builtins/f32x4.pmax"; - const f32x4_abs = "~lib/builtins/f32x4.abs"; - const f32x4_sqrt = "~lib/builtins/f32x4.sqrt"; - const f32x4_ceil = "~lib/builtins/f32x4.ceil"; - const f32x4_floor = "~lib/builtins/f32x4.floor"; - const f32x4_trunc = "~lib/builtins/f32x4.trunc"; - const f32x4_nearest = "~lib/builtins/f32x4.nearest"; - const f32x4_eq = "~lib/builtins/f32x4.eq"; - const f32x4_ne = "~lib/builtins/f32x4.ne"; - const f32x4_lt = "~lib/builtins/f32x4.lt"; - const f32x4_le = "~lib/builtins/f32x4.le"; - const f32x4_gt = "~lib/builtins/f32x4.gt"; - const f32x4_ge = "~lib/builtins/f32x4.ge"; - const f32x4_convert_i32x4_s = "~lib/builtins/f32x4.convert_i32x4_s"; - const f32x4_convert_i32x4_u = "~lib/builtins/f32x4.convert_i32x4_u"; - const f32x4_demote_f64x2_zero = "~lib/builtins/f32x4.demote_f64x2_zero"; - const f32x4_shuffle = "~lib/builtins/f32x4.shuffle"; - const f64x2_splat = "~lib/builtins/f64x2.splat"; - const f64x2_extract_lane = "~lib/builtins/f64x2.extract_lane"; - const f64x2_replace_lane = "~lib/builtins/f64x2.replace_lane"; - const f64x2_add = "~lib/builtins/f64x2.add"; - const f64x2_sub = "~lib/builtins/f64x2.sub"; - const f64x2_mul = "~lib/builtins/f64x2.mul"; - const f64x2_div = "~lib/builtins/f64x2.div"; - const f64x2_neg = "~lib/builtins/f64x2.neg"; - const f64x2_min = "~lib/builtins/f64x2.min"; - const f64x2_max = "~lib/builtins/f64x2.max"; - const f64x2_pmin = "~lib/builtins/f64x2.pmin"; - const f64x2_pmax = "~lib/builtins/f64x2.pmax"; - const f64x2_abs = "~lib/builtins/f64x2.abs"; - const f64x2_sqrt = "~lib/builtins/f64x2.sqrt"; - const f64x2_ceil = "~lib/builtins/f64x2.ceil"; - const f64x2_floor = "~lib/builtins/f64x2.floor"; - const f64x2_trunc = "~lib/builtins/f64x2.trunc"; - const f64x2_nearest = "~lib/builtins/f64x2.nearest"; - const f64x2_eq = "~lib/builtins/f64x2.eq"; - const f64x2_ne = "~lib/builtins/f64x2.ne"; - const f64x2_lt = "~lib/builtins/f64x2.lt"; - const f64x2_le = "~lib/builtins/f64x2.le"; - const f64x2_gt = "~lib/builtins/f64x2.gt"; - const f64x2_ge = "~lib/builtins/f64x2.ge"; - const f64x2_convert_low_i32x4_s = "~lib/builtins/f64x2.convert_low_i32x4_s"; - const f64x2_convert_low_i32x4_u = "~lib/builtins/f64x2.convert_low_i32x4_u"; - const f64x2_promote_low_f32x4 = "~lib/builtins/f64x2.promote_low_f32x4"; - const f64x2_shuffle = "~lib/builtins/f64x2.shuffle"; - const i8x16_relaxed_swizzle = "~lib/builtins/i8x16.relaxed_swizzle"; - const i32x4_relaxed_trunc_f32x4_s = "~lib/builtins/i32x4.relaxed_trunc_f32x4_s"; - const i32x4_relaxed_trunc_f32x4_u = "~lib/builtins/i32x4.relaxed_trunc_f32x4_u"; - const i32x4_relaxed_trunc_f64x2_s_zero = "~lib/builtins/i32x4.relaxed_trunc_f64x2_s_zero"; - const i32x4_relaxed_trunc_f64x2_u_zero = "~lib/builtins/i32x4.relaxed_trunc_f64x2_u_zero"; - const f32x4_relaxed_madd = "~lib/builtins/f32x4.relaxed_madd"; - const f32x4_relaxed_nmadd = "~lib/builtins/f32x4.relaxed_nmadd"; - const f64x2_relaxed_madd = "~lib/builtins/f64x2.relaxed_madd"; - const f64x2_relaxed_nmadd = "~lib/builtins/f64x2.relaxed_nmadd"; - const i8x16_relaxed_laneselect = "~lib/builtins/i8x16.relaxed_laneselect"; - const i16x8_relaxed_laneselect = "~lib/builtins/i16x8.relaxed_laneselect"; - const i32x4_relaxed_laneselect = "~lib/builtins/i32x4.relaxed_laneselect"; - const i64x2_relaxed_laneselect = "~lib/builtins/i64x2.relaxed_laneselect"; - const f32x4_relaxed_min = "~lib/builtins/f32x4.relaxed_min"; - const f32x4_relaxed_max = "~lib/builtins/f32x4.relaxed_max"; - const f64x2_relaxed_min = "~lib/builtins/f64x2.relaxed_min"; - const f64x2_relaxed_max = "~lib/builtins/f64x2.relaxed_max"; - const i16x8_relaxed_q15mulr_s = "~lib/builtins/i16x8.relaxed_q15mulr_s"; - const i16x8_relaxed_dot_i8x16_i7x16_s = "~lib/builtins/i16x8.relaxed_dot_i8x16_i7x16_s"; - const i32x4_relaxed_dot_i8x16_i7x16_add_s = "~lib/builtins/i32x4.relaxed_dot_i8x16_i7x16_add_s"; - const i31_new = "~lib/builtins/i31.new"; - const i31_get = "~lib/builtins/i31.get"; - const data_end = "~lib/memory/__data_end"; - const stack_pointer = "~lib/memory/__stack_pointer"; - const heap_base = "~lib/memory/__heap_base"; - const rtti_base = "~lib/rt/__rtti_base"; - const visit_globals = "~lib/rt/__visit_globals"; - const visit_members = "~lib/rt/__visit_members"; - const tostack = "~lib/rt/__tostack"; - const NaN = "~lib/number/NaN"; - const Infinity = "~lib/number/Infinity"; - const isNaN = "~lib/number/isNaN"; - const isFinite = "~lib/number/isFinite"; - const ERROR = "~lib/diagnostics/ERROR"; - const WARNING = "~lib/diagnostics/WARNING"; - const INFO = "~lib/diagnostics/INFO"; - const Function = "~lib/function/Function"; - const Function_call = "~lib/function/Function#call"; - const memory_size = "~lib/memory/memory.size"; - const memory_grow = "~lib/memory/memory.grow"; - const memory_copy = "~lib/memory/memory.copy"; - const memory_fill = "~lib/memory/memory.fill"; - const memory_data = "~lib/memory/memory.data"; - const Int8Array = "~lib/typedarray/Int8Array"; - const Uint8Array = "~lib/typedarray/Uint8Array"; - const Uint8ClampedArray = "~lib/typedarray/Uint8ClampedArray"; - const Int16Array = "~lib/typedarray/Int16Array"; - const Uint16Array = "~lib/typedarray/Uint16Array"; - const Int32Array = "~lib/typedarray/Int32Array"; - const Uint32Array = "~lib/typedarray/Uint32Array"; - const Int64Array = "~lib/typedarray/Int64Array"; - const Uint64Array = "~lib/typedarray/Uint64Array"; - const Float32Array = "~lib/typedarray/Float32Array"; - const Float64Array = "~lib/typedarray/Float64Array"; - const String_raw = "~lib/string/String.raw"; - const String_eq = "~lib/string/String.__eq"; - const String_ne = "~lib/string/String.__ne"; - const String_not = "~lib/string/String.__not"; - const Object = "~lib/object/Object"; - } - /** Builtin variable compilation context. */ - export class BuiltinVariableContext { - /** Compiler reference. */ - compiler: Compiler; - /** Variable being accessed. */ - element: VariableLikeElement; - /** Contextual type. */ - contextualType: Type; - /** Respective report expression. */ - reportNode: IdentifierExpression; - constructor( - /** Compiler reference. */ - compiler: Compiler, - /** Variable being accessed. */ - element: VariableLikeElement, - /** Contextual type. */ - contextualType?: Type, - /** Respective report expression. */ - reportNode?: IdentifierExpression); - } - /** Builtin function compilation context. */ - export class BuiltinFunctionContext { - /** Compiler reference. */ - compiler: Compiler; - /** Prototype being called. */ - prototype: FunctionPrototype; - /** Provided type arguments. */ - typeArguments: Type[] | null; - /** Provided operands. */ - operands: Expression[]; - /** Provided this operand, if any. */ - thisOperand: Expression | null; - /** Contextual type. */ - contextualType: Type; - /** Respective call expression. */ - reportNode: CallExpression; - /** Whether originating from inline assembly. */ - contextIsExact: boolean; - constructor( - /** Compiler reference. */ - compiler: Compiler, - /** Prototype being called. */ - prototype: FunctionPrototype, - /** Provided type arguments. */ - typeArguments: Type[] | null, - /** Provided operands. */ - operands: Expression[], - /** Provided this operand, if any. */ - thisOperand: Expression | null, - /** Contextual type. */ - contextualType: Type, - /** Respective call expression. */ - reportNode: CallExpression, - /** Whether originating from inline assembly. */ - contextIsExact: boolean); - } - /** Builtin functions map. */ - export const builtinFunctions: Map ExpressionRef>; - /** Builtin variables map. */ - export const builtinVariables_onCompile: Map void>; - export const builtinVariables_onAccess: Map ExpressionRef>; - /** Compiles the `visit_globals` function. */ - export function compileVisitGlobals(compiler: Compiler): void; - /** Compiles the `__visit_members` function. */ - export function compileVisitMembers(compiler: Compiler): void; - /** Compiles runtime type information for use by stdlib. */ - export function compileRTTI(compiler: Compiler): void; -} -declare module "types:assemblyscript/src/module" { - /** - * @fileoverview A thin wrapper around Binaryen's C-API. - * - * The AssemblyScript compiler utilizes Binaryen's C-API directly. Even - * though it currently imports binaryen.js, none of the JS APIs it - * provides are used. - * - * @license Apache-2.0 - */ - import { Target } from "types:assemblyscript/src/common"; - import { Type } from "types:assemblyscript/src/types"; - import * as binaryen from "types:assemblyscript/src/glue/binaryen"; - /** A Binaryen-compatible index. */ - export type Index = binaryen.Index; - /** Reference to a Binaryen-compatible string. */ - export type StringRef = binaryen.StringRef; - /** Reference to a Binaryen module. */ - export type ModuleRef = binaryen.ModuleRef; - /** Reference to a Binaryen function. */ - export type FunctionRef = binaryen.FunctionRef; - /** Reference to a Binaryen expression. */ - export type ExpressionRef = binaryen.ExpressionRef; - /** Reference to a Binaryen global. */ - export type GlobalRef = binaryen.GlobalRef; - /** Reference to a Binaryen tag. */ - export type TagRef = binaryen.TagRef; - /** Reference to a Binaryen import. */ - export type ImportRef = binaryen.ImportRef; - /** Reference to a Binaryen export. */ - export type ExportRef = binaryen.ExportRef; - /** Reference to a Binaryen relooper. */ - export type RelooperRef = binaryen.RelooperRef; - /** Reference to a Binaryen relooper block. */ - export type RelooperBlockRef = binaryen.RelooperBlockRef; - /** Reference to a Binaryen type. */ - export type TypeRef = binaryen.TypeRef; - export namespace TypeRef { - const None: TypeRef; - const Unreachable: TypeRef; - const I32: TypeRef; - const I64: TypeRef; - const F32: TypeRef; - const F64: TypeRef; - const V128: TypeRef; - const Funcref: number; - const Externref: number; - const Anyref: number; - const Eqref: number; - const Structref: number; - const Arrayref: number; - const I31ref: number; - const Stringref: number; - const StringviewWTF8: number; - const StringviewWTF16: number; - const StringviewIter: number; - const Noneref: number; - const Nofuncref: number; - const Noexternref: number; - } - /** Reference to a Binaryen heap type. */ - export type HeapTypeRef = binaryen.HeapTypeRef; - export namespace HeapTypeRef { - const Extern: HeapTypeRef; - const Func: HeapTypeRef; - const Any: HeapTypeRef; - const Eq: HeapTypeRef; - const I31: HeapTypeRef; - const Struct: HeapTypeRef; - const Array: HeapTypeRef; - const Exn: HeapTypeRef; - const String: HeapTypeRef; - const StringviewWTF8: HeapTypeRef; - const StringviewWTF16: HeapTypeRef; - const StringviewIter: HeapTypeRef; - const None: HeapTypeRef; - const Noextern: HeapTypeRef; - const Nofunc: HeapTypeRef; - function isBottom(ht: HeapTypeRef): boolean; - function getBottom(ht: HeapTypeRef): HeapTypeRef; - function isSubtype(ht: HeapTypeRef, superHt: HeapTypeRef): boolean; - function leastUpperBound(a: HeapTypeRef, b: HeapTypeRef): HeapTypeRef; - } - /** Packed array element respectively struct field types. */ - export type PackedType = binaryen.PackedType; - export namespace PackedType { - const NotPacked: PackedType; - const I8: PackedType; - const I16: PackedType; - } - /** Type builder error reasons. */ - export type TypeBuilderErrorReason = binaryen.TypeBuilderErrorReason; - export namespace TypeBuilderErrorReason { - /** Indicates a cycle in the supertype relation. */ - const SelfSupertype: TypeBuilderErrorReason; - /** Indicates that the declared supertype of a type is invalid. */ - const InvalidSupertype: TypeBuilderErrorReason; - /** Indicates that the declared supertype is an invalid forward reference. */ - const ForwardSupertypeReference: TypeBuilderErrorReason; - /** Indicates that a child of a type is an invalid forward reference. */ - const ForwardChildReference: TypeBuilderErrorReason; - /** Converts a type builder error reason to a string. */ - function toString(reason: TypeBuilderErrorReason): string; - } - /** Binaryen feature constants. */ - export const enum FeatureFlags { - MVP = 0, - Atomics = 1, - MutableGlobals = 2, - TruncSat = 4, - SIMD = 8, - BulkMemory = 16, - SignExt = 32, - ExceptionHandling = 64, - TailCall = 128, - ReferenceTypes = 256, - MultiValue = 512, - GC = 1024, - Memory64 = 2048, - RelaxedSIMD = 4096, - ExtendedConst = 8192, - Stringref = 16384, - MultiMemory = 32768, - All = 131071 - } - /** Binaryen expression id constants. */ - export const enum ExpressionId { - Invalid = 0, - Block = 1, - If = 2, - Loop = 3, - Break = 4, - Switch = 5, - Call = 6, - CallIndirect = 7, - LocalGet = 8, - LocalSet = 9, - GlobalGet = 10, - GlobalSet = 11, - Load = 12, - Store = 13, - Const = 14, - Unary = 15, - Binary = 16, - Select = 17, - Drop = 18, - Return = 19, - MemorySize = 20, - MemoryGrow = 21, - Nop = 22, - Unreachable = 23, - AtomicRMW = 24, - AtomicCmpxchg = 25, - AtomicWait = 26, - AtomicNotify = 27, - AtomicFence = 28, - SIMDExtract = 29, - SIMDReplace = 30, - SIMDShuffle = 31, - SIMDTernary = 32, - SIMDShift = 33, - SIMDLoad = 34, - SIMDLoadStoreLane = 35, - MemoryInit = 36, - DataDrop = 37, - MemoryCopy = 38, - MemoryFill = 39, - Pop = 40, - RefNull = 41, - RefIsNull = 42, - RefFunc = 43, - RefEq = 44, - TableGet = 45, - TableSet = 46, - TableSize = 47, - TableGrow = 48, - TableFill = 49, - TableCopy = 50, - Try = 51, - TryTable = 52, - Throw = 53, - Rethrow = 54, - ThrowRef = 55, - TupleMake = 56, - TupleExtract = 57, - RefI31 = 58, - I31Get = 59, - CallRef = 60, - RefTest = 61, - RefCast = 62, - BrOn = 63, - StructNew = 64, - StructGet = 65, - StructSet = 66, - ArrayNew = 67, - ArrayNewData = 68, - ArrayNewElem = 69, - ArrayNewFixed = 70, - ArrayGet = 71, - ArraySet = 72, - ArrayLen = 73, - ArrayCopy = 74, - ArrayFill = 75, - ArrayInitData = 76, - ArrayInitElem = 77, - RefAs = 78, - StringNew = 79, - StringConst = 80, - StringMeasure = 81, - StringEncode = 82, - StringConcat = 83, - StringEq = 84, - StringAs = 85, - StringWTF8Advance = 86, - StringWTF16Get = 87, - StringIterNext = 88, - StringIterMove = 89, - StringSliceWTF = 90, - StringSliceIter = 91, - ResumeId = 92 - } - /** Binaryen external kind constants. */ - export const enum ExternalKind { - Function = 0, - Table = 1, - Memory = 2, - Global = 3, - Tag = 4 - } - /** Binaryen unary operation constants. */ - export const enum UnaryOp { - /** i32.clz */ - ClzI32 = 0, - /** i64.clz */ - ClzI64 = 1, - /** i32.ctz */ - CtzI32 = 2, - /** i64.ctz */ - CtzI64 = 3, - /** i32.popcnt */ - PopcntI32 = 4, - /** i64.popcnt */ - PopcntI64 = 5, - /** f32.neg */ - NegF32 = 6, - /** f64.neg */ - NegF64 = 7, - /** f32.abs */ - AbsF32 = 8, - /** f64.abs */ - AbsF64 = 9, - /** f32.ceil */ - CeilF32 = 10, - /** f64.ceil */ - CeilF64 = 11, - /** f32.floor */ - FloorF32 = 12, - /** f64.floor */ - FloorF64 = 13, - /** f32.trunc */ - TruncF32 = 14, - /** f64.trunc */ - TruncF64 = 15, - /** f32.nearest */ - NearestF32 = 16, - /** f64.nearest */ - NearestF64 = 17, - /** f32.sqrt */ - SqrtF32 = 18, - /** f64.sqrt */ - SqrtF64 = 19, - /** i32.eqz */ - EqzI32 = 20, - /** i64.eqz */ - EqzI64 = 21, - /** i64.extend_i32_s */ - ExtendI32ToI64 = 22, - /** i64.extend_i32_u */ - ExtendU32ToU64 = 23, - /** i32.wrap_i64 */ - WrapI64ToI32 = 24, - /** i32.trunc_f32_s */ - TruncF32ToI32 = 25, - /** i64.trunc_f32_s */ - TruncF32ToI64 = 26, - /** i32.trunc_f32_u */ - TruncF32ToU32 = 27, - /** i64.trunc_f32_u */ - TruncF32ToU64 = 28, - /** i32.trunc_f64_s */ - TruncF64ToI32 = 29, - /** i64.trunc_f64_s */ - TruncF64ToI64 = 30, - /** i32.trunc_f64_u */ - TruncF64ToU32 = 31, - /** i64.trunc_f64_u */ - TruncF64ToU64 = 32, - /** i32.reinterpret_f32 */ - ReinterpretF32ToI32 = 33, - /** i64.reinterpret_f64 */ - ReinterpretF64ToI64 = 34, - /** f32.convert_i32_s */ - ConvertI32ToF32 = 35, - /** f64.convert_i32_s */ - ConvertI32ToF64 = 36, - /** f32.convert_i32_u */ - ConvertU32ToF32 = 37, - /** f64.convert_i32_u */ - ConvertU32ToF64 = 38, - /** f32.convert_i64_s */ - ConvertI64ToF32 = 39, - /** f64.convert_i64_s */ - ConvertI64ToF64 = 40, - /** f32.convert_i64_u */ - ConvertU64ToF32 = 41, - /** f64.convert_i64_u */ - ConvertU64ToF64 = 42, - /** f64.promote.f32 */ - PromoteF32ToF64 = 43, - /** f32.demote_f64 */ - DemoteF64ToF32 = 44, - /** f32.reinterpret_i32 */ - ReinterpretI32ToF32 = 45, - /** f64.reinterpret_i64 */ - ReinterpretI64ToF64 = 46, - /** i32.extend8_s */ - Extend8I32 = 47, - /** i32.extend16_s */ - Extend16I32 = 48, - /** i64.extend8_s */ - Extend8I64 = 49, - /** i64.extend16_s */ - Extend16I64 = 50, - /** i64.extend32_s (i64 in, i64 out) */ - Extend32I64 = 51, - /** i32.trunc_sat_f32_s */ - TruncSatF32ToI32 = 52, - /** i32.trunc_sat_f32_u */ - TruncSatF32ToU32 = 53, - /** i32.trunc_sat_f64_s */ - TruncSatF64ToI32 = 54, - /** i32.trunc_sat_f64_u */ - TruncSatF64ToU32 = 55, - /** i64.trunc_sat_f32_s */ - TruncSatF32ToI64 = 56, - /** i64.trunc_sat_f32_u */ - TruncSatF32ToU64 = 57, - /** i64.trunc_sat_f64_s */ - TruncSatF64ToI64 = 58, - /** i64.trunc_sat_f64_u */ - TruncSatF64ToU64 = 59, - /** i8x16.splat */ - SplatI8x16 = 60, - /** i16x8.splat */ - SplatI16x8 = 61, - /** i32x4.splat */ - SplatI32x4 = 62, - /** i64x2.splat */ - SplatI64x2 = 63, - /** f32x4.splat */ - SplatF32x4 = 64, - /** f64x2.splat */ - SplatF64x2 = 65, - /** v128.not */ - NotV128 = 66, - /** v128.any_true */ - AnyTrueV128 = 67, - /** i8x16.abs */ - AbsI8x16 = 68, - /** i8x16.neg */ - NegI8x16 = 69, - /** i8x16.all_true */ - AllTrueI8x16 = 70, - /** i8x16.bitmask */ - BitmaskI8x16 = 71, - /** i8x16.popcnt */ - PopcntI8x16 = 72, - /** i16x8.abs */ - AbsI16x8 = 73, - /** i16x8.neg */ - NegI16x8 = 74, - /** i16x8.all_true */ - AllTrueI16x8 = 75, - /** i16x8.bitmask */ - BitmaskI16x8 = 76, - /** i32x4.abs */ - AbsI32x4 = 77, - /** i32x4.neg */ - NegI32x4 = 78, - /** i32x4.all_true */ - AllTrueI32x4 = 79, - /** i32x4.bitmask */ - BitmaskI32x4 = 80, - /** i64x2.abs */ - AbsI64x2 = 81, - /** i64x2.neg */ - NegI64x2 = 82, - /** i64x2.all_true */ - AllTrueI64x2 = 83, - /** i64x2.bitmask */ - BitmaskI64x2 = 84, - /** f32x4.abs */ - AbsF32x4 = 85, - /** f32x4.neg */ - NegF32x4 = 86, - /** f32x4.sqrt */ - SqrtF32x4 = 87, - /** f32x4.ceil */ - CeilF32x4 = 88, - /** f32x4.floor */ - FloorF32x4 = 89, - /** f32x4.trunc */ - TruncF32x4 = 90, - /** f32x4.nearest */ - NearestF32x4 = 91, - /** f64x2.abs */ - AbsF64x2 = 92, - /** f64x2.neg */ - NegF64x2 = 93, - /** f64x2.sqrt */ - SqrtF64x2 = 94, - /** f64x2.ceil */ - CeilF64x2 = 95, - /** f64x2.floor */ - FloorF64x2 = 96, - /** f64x2.trunc */ - TruncF64x2 = 97, - /** f64x2.nearest */ - NearestF64x2 = 98, - /** i16x8.extadd_pairwise_i8x16_s */ - ExtaddPairwiseI8x16ToI16x8 = 99, - /** i16x8.extadd_pairwise.i8x16_u */ - ExtaddPairwiseU8x16ToU16x8 = 100, - /** i32x4.extadd_pairwise.i16x8_s */ - ExtaddPairwiseI16x8ToI32x4 = 101, - /** i32x4.extadd_pairwise.i64x8_u */ - ExtaddPairwiseU16x8ToU32x4 = 102, - /** i32x4.trunc_sat_f32x4_s */ - TruncSatF32x4ToI32x4 = 103, - /** i32x4.trunc_sat_f32x4_u */ - TruncSatF32x4ToU32x4 = 104, - /** f32x4.convert_i32x4_s */ - ConvertI32x4ToF32x4 = 105, - /** f32x4.convert_i32x4_u */ - ConvertU32x4ToF32x4 = 106, - /** i16x8.extend_low_i8x16_s */ - ExtendLowI8x16ToI16x8 = 107, - /** i16x8.extend_high_i8x16_s */ - ExtendHighI8x16ToI16x8 = 108, - /** i16x8.extend_low_i8x16_u */ - ExtendLowU8x16ToU16x8 = 109, - /** i16x8.extend_high_i8x16_u */ - ExtendHighU8x16ToU16x8 = 110, - /** i32x4.extend_low_i16x8_s */ - ExtendLowI16x8ToI32x4 = 111, - /** i32x4.extend_high_i16x8_s */ - ExtendHighI16x8ToI32x4 = 112, - /** i32x4.extend_low_i16x8_u */ - ExtendLowU16x8ToU32x4 = 113, - /** i32x4.extend_high_i16x8_u */ - ExtendHighU16x8ToU32x4 = 114, - /** i64x2.extend_low_i32x4_s */ - ExtendLowI32x4ToI64x2 = 115, - /** i64x2.extend_high_i32x4_s */ - ExtendHighI32x4ToI64x2 = 116, - /** i64x2.extend_low_i32x4_u */ - ExtendLowU32x4ToU64x2 = 117, - /** i64x2.extend_high_i32x4_u */ - ExtendHighU32x4ToU64x2 = 118, - /** f32x4.convert_i32x4_s */ - ConvertLowI32x4ToF64x2 = 119, - /** f32x4.convert_i32x4_u */ - ConvertLowU32x4ToF64x2 = 120, - /** i32x4.trunc_sat_f64x2_s_zero */ - TruncSatF64x2ToI32x4Zero = 121, - /** i32x4.trunc_sat_f64x2_u_zero */ - TruncSatF64x2ToU32x4Zero = 122, - /** f32x4.demote_f64x2_zero */ - DemoteZeroF64x2ToF32x4 = 123, - /** f64x2.promote_low_f32x4 */ - PromoteLowF32x4ToF64x2 = 124, - /** i32x4.relaxed_trunc_f32x4_s */ - RelaxedTruncF32x4ToI32x4 = 125, - /** i32x4.relaxed_trunc_f32x4_u */ - RelaxedTruncF32x4ToU32x4 = 126, - /** i32x4.relaxed_trunc_f64x2_s_zero */ - RelaxedTruncF64x2ToI32x4Zero = 127, - /** i32x4.relaxed_trunc_f64x2_u_zero */ - RelaxedTruncF64x2ToU32x4Zero = 128, - _last = 128, - /** i32.clz or i64.clz, depending on target word size */ - ClzSize = 129, - /** i32.ctz or i64.ctz, depending on target word size */ - CtzSize = 130, - /** i32.popcnt or i64.popcnt, depending on target word size */ - PopcntSize = 131, - /** i32.eqz or i64.eqz, depending on target word size */ - EqzSize = 132 - } - /** Binaryen binary operation constants. */ - export const enum BinaryOp { - /** i32.add */ - AddI32 = 0, - /** i32.sub */ - SubI32 = 1, - /** i32.mul */ - MulI32 = 2, - /** i32.div_s */ - DivI32 = 3, - /** i32.div_u */ - DivU32 = 4, - /** i32.rem_s */ - RemI32 = 5, - /** i32.rem_u */ - RemU32 = 6, - /** i32.and */ - AndI32 = 7, - /** i32.or */ - OrI32 = 8, - /** i32.xor */ - XorI32 = 9, - /** i32.shl */ - ShlI32 = 10, - /** i32.shr_s */ - ShrI32 = 11, - /** i32.shr_u */ - ShrU32 = 12, - /** i32.rotl */ - RotlI32 = 13, - /** i32.rotr */ - RotrI32 = 14, - /** i32.eq */ - EqI32 = 15, - /** i32.ne */ - NeI32 = 16, - /** i32.lt_s */ - LtI32 = 17, - /** i32.lt_u */ - LtU32 = 18, - /** i32.le_s */ - LeI32 = 19, - /** i32.le_u */ - LeU32 = 20, - /** i32.gt_s */ - GtI32 = 21, - /** i32.gt_u */ - GtU32 = 22, - /** i32.ge_s */ - GeI32 = 23, - /** i32.ge_u */ - GeU32 = 24, - /** i64.add */ - AddI64 = 25, - /** i64.sub */ - SubI64 = 26, - /** i64.mul */ - MulI64 = 27, - /** i64.div_s */ - DivI64 = 28, - /** i64.div_u */ - DivU64 = 29, - /** i64.rem_s */ - RemI64 = 30, - /** i64.rem_u */ - RemU64 = 31, - /** i64.and */ - AndI64 = 32, - /** i64.or */ - OrI64 = 33, - /** i64.xor */ - XorI64 = 34, - /** i64.shl */ - ShlI64 = 35, - /** i64.shr_s */ - ShrI64 = 36, - /** i64.shr_u */ - ShrU64 = 37, - /** i64.rotl */ - RotlI64 = 38, - /** i64.rotr */ - RotrI64 = 39, - /** i64.eq */ - EqI64 = 40, - /** i64.ne */ - NeI64 = 41, - /** i64.lt_s */ - LtI64 = 42, - /** i64.lt_u */ - LtU64 = 43, - /** i64.le_s */ - LeI64 = 44, - /** i64.le_u */ - LeU64 = 45, - /** i64.gt_s */ - GtI64 = 46, - /** i64.gt_u */ - GtU64 = 47, - /** i64.ge_s */ - GeI64 = 48, - /** i64.ge_u */ - GeU64 = 49, - /** f32.add */ - AddF32 = 50, - /** f32.sub */ - SubF32 = 51, - /** f32.mul */ - MulF32 = 52, - /** f32.div */ - DivF32 = 53, - /** f32.copysign */ - CopysignF32 = 54, - /** f32.min */ - MinF32 = 55, - /** f32.max */ - MaxF32 = 56, - /** f32.eq */ - EqF32 = 57, - /** f32.ne */ - NeF32 = 58, - /** f32.lt */ - LtF32 = 59, - /** f32.le */ - LeF32 = 60, - /** f32.gt */ - GtF32 = 61, - /** f32.ge */ - GeF32 = 62, - /** f64.add */ - AddF64 = 63, - /** f64.sub */ - SubF64 = 64, - /** f64.mul */ - MulF64 = 65, - /** f64.div */ - DivF64 = 66, - /** f64.copysign */ - CopysignF64 = 67, - /** f64.min */ - MinF64 = 68, - /** f64.max */ - MaxF64 = 69, - /** f64.eq */ - EqF64 = 70, - /** f64.ne */ - NeF64 = 71, - /** f64.lt */ - LtF64 = 72, - /** f64.le */ - LeF64 = 73, - /** f64.gt */ - GtF64 = 74, - /** f64.ge */ - GeF64 = 75, - /** i8x16.eq */ - EqI8x16 = 76, - /** i8x16.he */ - NeI8x16 = 77, - /** i8x16.lt_s */ - LtI8x16 = 78, - /** i8x16.lt_u */ - LtU8x16 = 79, - /** i8x16.gt_s */ - GtI8x16 = 80, - /** i8x16.gt_u */ - GtU8x16 = 81, - /** i8x16.le_s */ - LeI8x16 = 82, - /** i8x16.le_u */ - LeU8x16 = 83, - /** i8x16.ge_s */ - GeI8x16 = 84, - /** i8x16.ge_u */ - GeU8x16 = 85, - /** i16x8.eq */ - EqI16x8 = 86, - /** i16x8.ne */ - NeI16x8 = 87, - /** i16x8.lt_s */ - LtI16x8 = 88, - /** i16x8.lt_u */ - LtU16x8 = 89, - /** i16x8.gt_s */ - GtI16x8 = 90, - /** i16x8.gt_u */ - GtU16x8 = 91, - /** i16x8.le_s */ - LeI16x8 = 92, - /** i16x8.le_u */ - LeU16x8 = 93, - /** i16x8.ge_s */ - GeI16x8 = 94, - /** i16x8.ge_u */ - GeU16x8 = 95, - /** i32x4.eq */ - EqI32x4 = 96, - /** i32x4.ne */ - NeI32x4 = 97, - /** i32x4.lt_s */ - LtI32x4 = 98, - /** i32x4.lt_u */ - LtU32x4 = 99, - /** i32x4.gt_s */ - GtI32x4 = 100, - /** i32x4.gt_u */ - GtU32x4 = 101, - /** i32x4.le_s */ - LeI32x4 = 102, - /** i32x4.le_u */ - LeU32x4 = 103, - /** i32x4.ge_s */ - GeI32x4 = 104, - /** i32x4.ge_u */ - GeU32x4 = 105, - /** i64x2.eq */ - EqI64x2 = 106, - /** i64x2.ne */ - NeI64x2 = 107, - /** i64x2.lt_s */ - LtI64x2 = 108, - /** i64x2.gt_s */ - GtI64x2 = 109, - /** i64x2.le_s */ - LeI64x2 = 110, - /** i64x2.ge_s */ - GeI64x2 = 111, - /** f32x4.eq */ - EqF32x4 = 112, - /** f32x4.ne */ - NeF32x4 = 113, - /** f32x4.lt */ - LtF32x4 = 114, - /** f32x4.gt */ - GtF32x4 = 115, - /** f32x4.le */ - LeF32x4 = 116, - /** f32x4.ge */ - GeF32x4 = 117, - /** f64x2.eq */ - EqF64x2 = 118, - /** f64x2.ne */ - NeF64x2 = 119, - /** f64x2.lt */ - LtF64x2 = 120, - /** f64x2.gt */ - GtF64x2 = 121, - /** f64x2.le */ - LeF64x2 = 122, - /** f64x2.ge */ - GeF64x2 = 123, - /** v128.and */ - AndV128 = 124, - /** v128.or */ - OrV128 = 125, - /** v128.xor */ - XorV128 = 126, - /** v128.andnot */ - AndnotV128 = 127, - /** i8x16.add */ - AddI8x16 = 128, - /** i8x16.add_sat_s */ - AddSatI8x16 = 129, - /** i8x16.add_sat_u */ - AddSatU8x16 = 130, - /** i8x16.sub */ - SubI8x16 = 131, - /** i8x16.sub_sat_s */ - SubSatI8x16 = 132, - /** i8x16.sub_sat_u */ - SubSatU8x16 = 133, - /** i8x16.min_s */ - MinI8x16 = 134, - /** i8x16.min_u */ - MinU8x16 = 135, - /** i8x16.max_s */ - MaxI8x16 = 136, - /** i8x16.max_u */ - MaxU8x16 = 137, - /** i8x16.avgr_u */ - AvgrU8x16 = 138, - /** i16x8.add */ - AddI16x8 = 139, - /** i16x8.add_sat_s */ - AddSatI16x8 = 140, - /** i16x8.add_sat_u */ - AddSatU16x8 = 141, - /** i16x8.sub */ - SubI16x8 = 142, - /** i16x8.sub_sat_s */ - SubSatI16x8 = 143, - /** i16x8.sub_sat_u */ - SubSatU16x8 = 144, - /** i16x8.mul */ - MulI16x8 = 145, - /** i16x8.min_s */ - MinI16x8 = 146, - /** i16x8.min_u */ - MinU16x8 = 147, - /** i16x8.max_s */ - MaxI16x8 = 148, - /** i16x8.max_u */ - MaxU16x8 = 149, - /** i16x8.avgr_u */ - AvgrU16x8 = 150, - /** i16x8.q15mulr_sat_s */ - Q15mulrSatI16x8 = 151, - /** i16x8.extmul_low_i8x16_s */ - ExtmulLowI16x8 = 152, - /** i16x8.extmul_high_i8x16_s */ - ExtmulHighI16x8 = 153, - /** i16x8.extmul_low_i8x16_u */ - ExtmulLowU16x8 = 154, - /** i16x8.extmul_high_i8x16_u */ - ExtmulHighU16x8 = 155, - /** i32x4.add */ - AddI32x4 = 156, - /** i32x4.sub */ - SubI32x4 = 157, - /** i32x4.mul */ - MulI32x4 = 158, - /** i32x4.min_s */ - MinI32x4 = 159, - /** i32x4.min_u */ - MinU32x4 = 160, - /** i32x4.max_s */ - MaxI32x4 = 161, - /** i32x4.max_u */ - MaxU32x4 = 162, - /** i32x4.dot_i16x8_s */ - DotI16x8 = 163, - /** i32x4.extmul_low_i16x8_s */ - ExtmulLowI32x4 = 164, - /** i32x4.extmul_high_i16x8_s */ - ExtmulHighI32x4 = 165, - /** i32x4.extmul_low_i16x8_u */ - ExtmulLowU32x4 = 166, - /** i32x4.extmul_high_i16x8_u */ - ExtmulHighU32x4 = 167, - /** i64x2.add */ - AddI64x2 = 168, - /** i64x2.sub */ - SubI64x2 = 169, - /** i64x2.mul */ - MulI64x2 = 170, - /** i64x2.extmul_low_i32x4_s */ - ExtmulLowI64x2 = 171, - /** i64x2.extmul_high_i32x4_s */ - ExtmulHighI64x2 = 172, - /** i64x2.extmul_low_i32x4_u */ - ExtmulLowU64x2 = 173, - /** i64x2.extmul_high_i32x4_u */ - ExtmulHighU64x2 = 174, - /** f32x4.add */ - AddF32x4 = 175, - /** f32x4.sub */ - SubF32x4 = 176, - /** f32x4.mul */ - MulF32x4 = 177, - /** f32x4.div */ - DivF32x4 = 178, - /** f32x4.min */ - MinF32x4 = 179, - /** f32x4.max */ - MaxF32x4 = 180, - /** f32x4.pmin */ - PminF32x4 = 181, - /** f32x4.pmax */ - PmaxF32x4 = 182, - /** f64x2.add */ - AddF64x2 = 183, - /** f64x2.sub */ - SubF64x2 = 184, - /** f64x2.mul */ - MulF64x2 = 185, - /** f64x2.div */ - DivF64x2 = 186, - /** f64x2.min */ - MinF64x2 = 187, - /** f64x2.max */ - MaxF64x2 = 188, - /** f64x2.pmin */ - PminF64x2 = 189, - /** f64x2.pmax */ - PmaxF64x2 = 190, - /** i8x16.narrow_i16x8_s */ - NarrowI16x8ToI8x16 = 191, - /** i8x16.narrow_i16x8_u */ - NarrowU16x8ToU8x16 = 192, - /** i16x8.narrow_i32x4_s */ - NarrowI32x4ToI16x8 = 193, - /** i16x8.narrow_i32x4_u */ - NarrowU32x4ToU16x8 = 194, - /** i8x16.swizzle */ - SwizzleI8x16 = 195, - /** i8x16.relaxed_swizzle */ - RelaxedSwizzleI8x16 = 196, - /** f32x4.relaxed_min */ - RelaxedMinF32x4 = 197, - /** f32x4.relaxed_max */ - RelaxedMaxF32x4 = 198, - /** f64x2.relaxed_min */ - RelaxedMinF64x2 = 199, - /** f64x2.relaxed_max */ - RelaxedMaxF64x2 = 200, - /** i16x8.relaxed_q15mulr_s */ - RelaxedQ15MulrI16x8 = 201, - /** i16x8.relaxed_dot_i8x16_i7x16_s */ - RelaxedDotI8x16I7x16ToI16x8 = 202, - _last = 202, - /** i32.add or i64.add, depending on target word size */ - AddSize = 203, - /** i32.sub or i64.sub, depending on target word size */ - SubSize = 204, - /** i32.mul or i64.mul, depending on target word size */ - MulSize = 205, - /** i32.div_s or i64.div_s, depending on target word size */ - DivISize = 206, - /** i32.div_u or i64.div_u, depending on target word size */ - DivUSize = 207, - /** i32.rem_s or i64.rem_s, depending on target word size */ - RemISize = 208, - /** i32.rem_u or i64.rem_u, depending on target word size */ - RemUSize = 209, - /** i32.and or i64.and, depending on target word size */ - AndSize = 210, - /** i32.or or i64.or, depending on target word size */ - OrSize = 211, - /** i32.xor or i64.xor, depending on target word size */ - XorSize = 212, - /** i32.shl or i64.shl, depending on target word size */ - ShlSize = 213, - /** i32.shr_s or i64.shr_s, depending on target word size */ - ShrISize = 214, - /** i32.shr_u or i64.shr_u, depending on target word size */ - ShrUSize = 215, - /** i32.rotl or i64.rotl, depending on target word size */ - RotlSize = 216, - /** i32.rotr or i64.rotr, depending on target word size */ - RotrSize = 217, - /** i32.eq or i64.eq, depending on target word size */ - EqSize = 218, - /** i32.ne or i64.ne, depending on target word size */ - NeSize = 219, - /** i32.lt_s or i64.lt_s, depending on target word size */ - LtISize = 220, - /** i32.lt_u or i64.lt_u, depending on target word size */ - LtUSize = 221, - /** i32.le_s or i64.le_s, depending on target word size */ - LeISize = 222, - /** i32.le_u or i64.le_u, depending on target word size */ - LeUSize = 223, - /** i32.gt_s or i64.gt_s, depending on target word size */ - GtISize = 224, - /** i32.gt_u or i64.gt_u, depending on target word size */ - GtUSize = 225, - /** i32.ge_s or i64.ge_s, depending on target word size */ - GeISize = 226, - /** i32.ge_u or i64.ge_u, depending on target word size */ - GeUSize = 227 - } - /** Binaryen atomic read-modify-write operation constants. */ - export const enum AtomicRMWOp { - /** i32.atomic.rmw.add, i32.atomic.rmw8.add_u, i32.atomic.rmw16.add_u, i64.atomic.rmw.add, i64.atomic.rmw8.add_u, i64.atomic.rmw16.add_u, i64.atomic.rmw32.add_u */ - Add = 0, - /** i32.atomic.rmw.sub, i32.atomic.rmw8.sub_u, i32.atomic.rmw16.sub_u, i64.atomic.rmw.sub, i64.atomic.rmw8.sub_u, i64.atomic.rmw16.sub_u, i64.atomic.rmw32.sub_u */ - Sub = 1, - /** i32.atomic.rmw.and, i32.atomic.rmw8.and_u, i32.atomic.rmw16.and_u, i64.atomic.rmw.and, i64.atomic.rmw8.and_u, i64.atomic.rmw16.and_u, i64.atomic.rmw32.and_u */ - And = 2, - /** i32.atomic.rmw.or, i32.atomic.rmw8.or_u, i32.atomic.rmw16.or_u, i64.atomic.rmw.or, i64.atomic.rmw8.or_u, i64.atomic.rmw16.or_u, i64.atomic.rmw32.or_u */ - Or = 3, - /** i32.atomic.rmw.xor, i32.atomic.rmw8.xor_u, i32.atomic.rmw16.xor_u, i64.atomic.rmw.xor, i64.atomic.rmw8.xor_u, i64.atomic.rmw16.xor_u, i64.atomic.rmw32.xor_u */ - Xor = 4, - /** i32.atomic.rmw.xchg, i32.atomic.rmw8.xchg_u, i32.atomic.rmw16.xchg_u, i64.atomic.rmw.xchg, i64.atomic.rmw8.xchg_u, i64.atomic.rmw16.xchg_u, i64.atomic.rmw32.xchg_u */ - Xchg = 5 - } - /** Binaryen SIMD extract operation constants. */ - export const enum SIMDExtractOp { - /** i8x16.extract_lane_s */ - ExtractLaneI8x16 = 0, - /** i8x16.extract_lane_u */ - ExtractLaneU8x16 = 1, - /** i16x8.extract_lane_s */ - ExtractLaneI16x8 = 2, - /** i16x8.extract_lane_u */ - ExtractLaneU16x8 = 3, - /** i32x4.extract_lane_s */ - ExtractLaneI32x4 = 4, - /** i32x4.extract_lane_u */ - ExtractLaneI64x2 = 5, - /** i64x2.extract_lane_s */ - ExtractLaneF32x4 = 6, - /** i64x2.extract_lane_u */ - ExtractLaneF64x2 = 7 - } - /** Binaryen SIMD replace operation constants. */ - export const enum SIMDReplaceOp { - /** i8x16.replace_lane */ - ReplaceLaneI8x16 = 0, - /** i16x8.replace_lane */ - ReplaceLaneI16x8 = 1, - /** i32x4.replace_lane */ - ReplaceLaneI32x4 = 2, - /** i64x2.replace_lane */ - ReplaceLaneI64x2 = 3, - /** f32x4.replace_lane */ - ReplaceLaneF32x4 = 4, - /** f64x2.replace_lane */ - ReplaceLaneF64x2 = 5 - } - /** Binaryen SIMD shift operation constants. */ - export const enum SIMDShiftOp { - /** i8x16.shl */ - ShlI8x16 = 0, - /** i8x16.shr_s */ - ShrI8x16 = 1, - /** i8x16.shr_u */ - ShrU8x16 = 2, - /** i16x8.shl */ - ShlI16x8 = 3, - /** i16x8.shr_s */ - ShrI16x8 = 4, - /** i16x8.shr_u */ - ShrU16x8 = 5, - /** i16x8.shl */ - ShlI32x4 = 6, - /** i32x4.shr_s */ - ShrI32x4 = 7, - /** i32x4.shr_u */ - ShrU32x4 = 8, - /** i64x2.shl */ - ShlI64x2 = 9, - /** i64x2.shr_u */ - ShrI64x2 = 10, - /** i64x2.shr_u */ - ShrU64x2 = 11 - } - /** Binaryen SIMD load operation constants. */ - export const enum SIMDLoadOp { - /** v128.load8_splat */ - Load8Splat = 0, - /** v128.load16_splat */ - Load16Splat = 1, - /** v128.load32_splat */ - Load32Splat = 2, - /** v128.load64_splat */ - Load64Splat = 3, - /** v128.load8x8_s */ - Load8x8S = 4, - /** v128.load8x8_u */ - Load8x8U = 5, - /** v128.load16x4_s */ - Load16x4S = 6, - /** v128.load16x4_u */ - Load16x4U = 7, - /** v128.load32x2_s */ - Load32x2S = 8, - /** v128.load32x2_u */ - Load32x2U = 9, - /** v128.load32_zero */ - Load32Zero = 10, - /** v128.load64_zero */ - Load64Zero = 11 - } - /** Binaryen SIMD load/store lane operation constants. */ - export const enum SIMDLoadStoreLaneOp { - /** v128.load8_lane */ - Load8Lane = 0, - /** v128.load16_lane */ - Load16Lane = 1, - /** v128.load32_lane */ - Load32Lane = 2, - /** v128.load64_lane */ - Load64Lane = 3, - /** v128.store8_lane */ - Store8Lane = 4, - /** v128.store16_lane */ - Store16Lane = 5, - /** v128.store32_lane */ - Store32Lane = 6, - /** v128.store64_lane */ - Store64Lane = 7 - } - /** Binaryen SIMD ternary operation constants. */ - export const enum SIMDTernaryOp { - /** v128.bitselect */ - Bitselect = 0, - /** f32x4.relaxed_madd */ - RelaxedMaddF32x4 = 1, - /** f32x4.relaxed_nmadd */ - RelaxedNmaddF32x4 = 2, - /** f64x2.relaxed_madd */ - RelaxedMaddF64x2 = 3, - /** f64x2.relaxed_nmadd */ - RelaxedNmaddF64x2 = 4, - /** i8x16.relaxed_laneselect */ - RelaxedLaneselectI8x16 = 5, - /** i16x8.relaxed_laneselect */ - RelaxedLaneselectI16x8 = 6, - /** i32x4.relaxed_laneselect */ - RelaxedLaneselectI32x4 = 7, - /** i64x2.relaxed_laneselect */ - RelaxedLaneselectI64x2 = 8, - /** i32x4.relaxed_dot_i8x16_i7x16_add_s */ - RelaxedDotI8x16I7x16AddToI32x4 = 9 - } - /** Binaryen RefAs operation constants. */ - export const enum RefAsOp { - /** ref.as_non_null */ - NonNull = 0, - /** extern.internalize */ - ExternInternalize = 1, - /** extern.externalize */ - ExternExternalize = 2 - } - /** Binaryen BrOn operation constants. */ - export const enum BrOnOp { - /** br_on_null */ - Null = 0, - /** br_on_non_null */ - NonNull = 1, - /** br_on_cast */ - Cast = 2, - /** br_on_cast_fail */ - CastFail = 3 - } - /** Binaryen StringNew operation constants. */ - export const enum StringNewOp { - /** string.new_wtf8 utf8 */ - UTF8 = 0, - /** string.new_wtf8 wtf8 */ - WTF8 = 1, - /** string.new_wtf8 replace */ - LossyUTF8 = 2, - /** string.new_wtf16 */ - WTF16 = 3, - /** string.new_wtf8_array utf8 */ - UTF8Array = 4, - /** string.new_wtf8_array wtf8 */ - WTF8Array = 5, - /** string.new_wtf8_array replace */ - LossyUTF8Array = 6, - /** string.new_wtf16_array */ - WTF16Array = 7, - /** string.from_code_point */ - FromCodePoint = 8 - } - /** Binaryen StringMeasure operation constants. */ - export const enum StringMeasureOp { - /** string.measure_wtf8 utf8 */ - UTF8 = 0, - /** string.measure_wtf8 wtf8 */ - WTF8 = 1, - /** string.measure_wtf16 */ - WTF16 = 2, - /** string.is_usv_sequence */ - IsUSV = 3, - /** stringview_wtf16.length */ - WTF16View = 4 - } - /** Binaryen StringEncode operation constants. */ - export const enum StringEncodeOp { - /** string.encode_wtf8 utf8 */ - UTF8 = 0, - /** string.encode_lossy_utf8 utf8 */ - LossyUTF8 = 1, - /** string.encode_wtf8 wtf8 */ - WTF8 = 2, - /** string.encode_wtf16 */ - WTF16 = 3, - /** string.encode_wtf8_array utf8 */ - UTF8Array = 4, - /** string.encode_lossy_utf8_array utf8 */ - LossyUTF8Array = 5, - /** string.encode_wtf8_array wtf8 */ - WTF8Array = 6, - /** string.encode_wtf16_array */ - WTF16Array = 7 - } - /** Binaryen StringEq operation constants. */ - export const enum StringEqOp { - /** string.eq */ - Equal = 0, - /** string.compare */ - Compare = 1 - } - /** Binaryen StringAs operation constants. */ - export const enum StringAsOp { - /** string.as_wtf8 */ - WTF8 = 0, - /** string.as_wtf16 */ - WTF16 = 1, - /** string.as_iter */ - Iter = 2 - } - /** Binaryen StringIterMove operation constants. */ - export const enum StringIterMoveOp { - /** stringview_iter.advance */ - Advance = 0, - /** stringview_iter.rewind */ - Rewind = 1 - } - /** Binaryen StringSlice operation constants. */ - export const enum StringSliceWTFOp { - /** stringview_wtf8.slice */ - WTF8 = 0, - /** stringview_wtf16.slice */ - WTF16 = 1 - } - /** Binaryen expression runner flags. */ - export const enum ExpressionRunnerFlags { - Default = 0, - PreserveSideeffects = 1, - TraverseCalls = 2 - } - export class MemorySegment { - /** Segment data. */ - buffer: Uint8Array; - /** Segment offset. */ - offset: i64; - constructor( - /** Segment data. */ - buffer: Uint8Array, - /** Segment offset. */ - offset: i64); - } - export class Module { - /** Binaryen module reference. */ - ref: ModuleRef; - /** Whether a shadow stack is used. */ - useShadowStack: boolean; - /** Architecture-dependent size type. */ - sizeType: TypeRef; - constructor( - /** Binaryen module reference. */ - ref: ModuleRef, - /** Whether a shadow stack is used. */ - useShadowStack: boolean, - /** Architecture-dependent size type. */ - sizeType: TypeRef); - private lit; - static create(useShadowStack: boolean, sizeType: TypeRef): Module; - static createFrom(buffer: Uint8Array, useShadowStack: boolean, sizeType: TypeRef): Module; - i32(value: number): ExpressionRef; - i64(valueLow: number, valueHigh?: number): ExpressionRef; - usize(value: T): ExpressionRef; - f32(value: number): ExpressionRef; - f64(value: number): ExpressionRef; - v128(bytes: Uint8Array): ExpressionRef; - ref_null(type: TypeRef): ExpressionRef; - ref_eq(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - string_eq(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - string_compare(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - unary(op: UnaryOp, value: ExpressionRef): ExpressionRef; - binary(op: BinaryOp, left: ExpressionRef, right: ExpressionRef): ExpressionRef; - memory_size(name?: string, is64?: boolean): ExpressionRef; - memory_grow(delta: ExpressionRef, name?: string, is64?: boolean): ExpressionRef; - table_size(name: string): ExpressionRef; - table_grow(name: string, delta: ExpressionRef, value?: ExpressionRef): ExpressionRef; - local_get(index: number, type: TypeRef): ExpressionRef; - tostack(value: ExpressionRef): ExpressionRef; - local_tee(index: number, value: ExpressionRef, isManaged: boolean, type?: TypeRef): ExpressionRef; - global_get(name: string, type: TypeRef): ExpressionRef; - table_get(name: string, index: ExpressionRef, type: TypeRef): ExpressionRef; - load(bytes: Index, signed: boolean, ptr: ExpressionRef, type: TypeRef, offset?: Index, align?: Index, // naturally aligned by default - name?: string): ExpressionRef; - store(bytes: Index, ptr: ExpressionRef, value: ExpressionRef, type: TypeRef, offset?: Index, align?: Index, // naturally aligned by default - name?: string): ExpressionRef; - atomic_load(bytes: Index, ptr: ExpressionRef, type: TypeRef, offset?: Index, name?: string): ExpressionRef; - atomic_store(bytes: Index, ptr: ExpressionRef, value: ExpressionRef, type: TypeRef, offset?: Index, name?: string): ExpressionRef; - atomic_rmw(op: AtomicRMWOp, bytes: Index, offset: Index, ptr: ExpressionRef, value: ExpressionRef, type: TypeRef, name?: string): ExpressionRef; - atomic_cmpxchg(bytes: Index, offset: Index, ptr: ExpressionRef, expected: ExpressionRef, replacement: ExpressionRef, type: TypeRef, name?: string): ExpressionRef; - atomic_wait(ptr: ExpressionRef, expected: ExpressionRef, timeout: ExpressionRef, expectedType: TypeRef, name?: string): ExpressionRef; - atomic_notify(ptr: ExpressionRef, notifyCount: ExpressionRef, name?: string): ExpressionRef; - atomic_fence(name?: string | null): ExpressionRef; - local_set(index: Index, value: ExpressionRef, isManaged: boolean): ExpressionRef; - global_set(name: string, value: ExpressionRef): ExpressionRef; - table_set(name: string, index: ExpressionRef, value: ExpressionRef): ExpressionRef; - block(label: string | null, children: ExpressionRef[], type?: TypeRef): ExpressionRef; - /** Attempts to trivially flatten a series of expressions instead of emitting a block. */ - flatten(stmts: ExpressionRef[], type?: TypeRef): ExpressionRef; - br(label: string | null, condition?: ExpressionRef, value?: ExpressionRef): ExpressionRef; - drop(expression: ExpressionRef): ExpressionRef; - /** Drops an expression if it evaluates to a value. */ - maybeDrop(expression: ExpressionRef): ExpressionRef; - maybeDropCondition(condition: ExpressionRef, result: ExpressionRef): ExpressionRef; - loop(label: string | null, body: ExpressionRef): ExpressionRef; - if(condition: ExpressionRef, ifTrue: ExpressionRef, ifFalse?: ExpressionRef): ExpressionRef; - nop(): ExpressionRef; - return(expression?: ExpressionRef): ExpressionRef; - select(ifTrue: ExpressionRef, ifFalse: ExpressionRef, condition: ExpressionRef, type: TypeRef): ExpressionRef; - switch(names: string[], defaultName: string | null, condition: ExpressionRef, value?: ExpressionRef): ExpressionRef; - call(target: string, operands: ExpressionRef[] | null, returnType: TypeRef, isReturn?: boolean): ExpressionRef; - return_call(target: string, operands: ExpressionRef[] | null, returnType: TypeRef): ExpressionRef; - call_indirect(tableName: string | null, index: ExpressionRef, operands: ExpressionRef[] | null, params: TypeRef, results: TypeRef, isReturn?: boolean): ExpressionRef; - return_call_indirect(tableName: string | null, index: ExpressionRef, operands: ExpressionRef[] | null, params: TypeRef, results: TypeRef): ExpressionRef; - unreachable(): ExpressionRef; - memory_copy(dest: ExpressionRef, source: ExpressionRef, size: ExpressionRef, destName?: string, sourceName?: string): ExpressionRef; - memory_fill(dest: ExpressionRef, value: ExpressionRef, size: ExpressionRef, name?: string): ExpressionRef; - try(name: string | null, body: ExpressionRef, catchTags: string[], catchBodies: ExpressionRef[], delegateTarget?: string | null): ExpressionRef; - throw(tagName: string, operands: ExpressionRef[]): ExpressionRef; - rethrow(target: string): ExpressionRef; - pop(type: TypeRef): ExpressionRef; - tuple_make(operands: ExpressionRef[]): ExpressionRef; - tuple_extract(tuple: ExpressionRef, index: Index): ExpressionRef; - simd_extract(op: SIMDExtractOp, vec: ExpressionRef, idx: number): ExpressionRef; - simd_replace(op: SIMDReplaceOp, vec: ExpressionRef, idx: number, value: ExpressionRef): ExpressionRef; - simd_shuffle(vec1: ExpressionRef, vec2: ExpressionRef, mask: Uint8Array): ExpressionRef; - simd_ternary(op: SIMDTernaryOp, a: ExpressionRef, b: ExpressionRef, c: ExpressionRef): ExpressionRef; - simd_shift(op: SIMDShiftOp, vec: ExpressionRef, shift: ExpressionRef): ExpressionRef; - simd_load(op: SIMDLoadOp, ptr: ExpressionRef, offset: number, align: number, name?: string): ExpressionRef; - simd_loadstorelane(op: SIMDLoadStoreLaneOp, ptr: ExpressionRef, offset: number, align: number, index: number, vec: ExpressionRef, name?: string): ExpressionRef; - ref_is_null(expr: ExpressionRef): ExpressionRef; - ref_as(op: RefAsOp, expr: ExpressionRef): ExpressionRef; - ref_as_nonnull(expr: ExpressionRef): ExpressionRef; - ref_func(name: string, type: TypeRef): ExpressionRef; - i31_new(value: ExpressionRef): ExpressionRef; - i31_get(expr: ExpressionRef, signed: boolean): ExpressionRef; - addGlobal(name: string, type: TypeRef, mutable: boolean, initializer: ExpressionRef): GlobalRef; - getGlobal(name: string): GlobalRef; - removeGlobal(name: string): boolean; - addTag(name: string, params: TypeRef, results: TypeRef): TagRef; - getTag(name: string): TagRef; - removeTag(name: string): void; - addFunction(name: string, params: TypeRef, results: TypeRef, varTypes: TypeRef[] | null, body: ExpressionRef): FunctionRef; - setLocalName(funcRef: FunctionRef, index: number, name: string): void; - getFunction(name: string): FunctionRef; - removeFunction(name: string): void; - hasFunction(name: string): boolean; - private hasTemporaryFunction; - addTemporaryFunction(result: TypeRef, paramTypes: TypeRef[] | null, body: ExpressionRef): FunctionRef; - removeTemporaryFunction(): void; - setStart(func: FunctionRef): void; - addFunctionExport(internalName: string, externalName: string): ExportRef; - addTableExport(internalName: string, externalName: string): ExportRef; - addMemoryExport(internalName: string, externalName: string): ExportRef; - addGlobalExport(internalName: string, externalName: string): ExportRef; - addTagExport(internalName: string, externalName: string): ExportRef; - removeExport(externalName: string): void; - hasExport(externalName: string): boolean; - addFunctionImport(internalName: string, externalModuleName: string, externalBaseName: string, params: TypeRef, results: TypeRef): void; - addTableImport(internalName: string, externalModuleName: string, externalBaseName: string): void; - addMemoryImport(internalName: string, externalModuleName: string, externalBaseName: string, shared?: boolean): void; - addGlobalImport(internalName: string, externalModuleName: string, externalBaseName: string, globalType: TypeRef, mutable?: boolean): void; - addTagImport(internalName: string, externalModuleName: string, externalBaseName: string, params: TypeRef, results: TypeRef): void; - /** Unlimited memory constant. */ - static readonly UNLIMITED_MEMORY: Index; - setMemory(initial: Index, maximum: Index, segments: MemorySegment[], target: Target, exportName?: string | null, name?: string, shared?: boolean): void; - /** Unlimited table constant. */ - static readonly UNLIMITED_TABLE: Index; - addFunctionTable(name: string, initial: Index, maximum: Index, funcs: string[], offset: ExpressionRef): void; - addCustomSection(name: string, contents: Uint8Array): void; - getOptimizeLevel(): number; - setOptimizeLevel(level: number): void; - getShrinkLevel(): number; - setShrinkLevel(level: number): void; - getDebugInfo(): boolean; - setDebugInfo(on: boolean): void; - getLowMemoryUnused(): boolean; - setLowMemoryUnused(on: boolean): void; - getZeroFilledMemory(): boolean; - setZeroFilledMemory(on: boolean): void; - getFastMath(): boolean; - setFastMath(on: boolean): void; - getPassArgument(key: string): string | null; - setPassArgument(key: string, value: string | null): void; - clearPassArguments(): void; - getAlwaysInlineMaxSize(): Index; - setAlwaysInlineMaxSize(size: Index): void; - getFlexibleInlineMaxSize(): Index; - setFlexibleInlineMaxSize(size: Index): void; - getOneCallerInlineMaxSize(): Index; - setOneCallerInlineMaxSize(size: Index): void; - getAllowInliningFunctionsWithLoops(): boolean; - setAllowInliningFunctionsWithLoops(enabled: boolean): void; - getFeatures(): FeatureFlags; - setFeatures(featureFlags: FeatureFlags): void; - runPasses(passes: string[], func?: FunctionRef): void; - optimize(optimizeLevel: number, shrinkLevel: number, debugInfo?: boolean, zeroFilledMemory?: boolean): void; - validate(): boolean; - interpret(): void; - toBinary(sourceMapUrl?: string | null): BinaryModule; - toText(watFormat?: boolean): string; - private cachedStringsToPointers; - private cachedPointersToStrings; - allocStringCached(str: string | null): number; - readStringCached(ptr: number): string | null; - dispose(): void; - createRelooper(): number; - /** Makes a copy of a trivial expression (doesn't contain subexpressions). Returns `0` if non-trivial. */ - tryCopyTrivialExpression(expr: ExpressionRef): ExpressionRef; - /** Makes a copy of any expression including all subexpressions. */ - copyExpression(expr: ExpressionRef): ExpressionRef; - runExpression(expr: ExpressionRef, flags: ExpressionRunnerFlags, maxDepth?: number, maxLoopIterations?: number): ExpressionRef; - isConstExpression(expr: ExpressionRef): boolean; - addDebugInfoFile(name: string): Index; - getDebugInfoFile(index: Index): string | null; - setDebugLocation(func: FunctionRef, expr: ExpressionRef, fileIndex: Index, lineNumber: Index, columnNumber: Index): void; - } - export function createType(types: TypeRef[] | null): TypeRef; - export function expandType(type: TypeRef): TypeRef[]; - export function isNullableType(type: TypeRef): boolean; - export function getExpressionId(expr: ExpressionRef): ExpressionId; - export function getExpressionType(expr: ExpressionRef): TypeRef; - export function getConstValueI32(expr: ExpressionRef): number; - export function getConstValueI64Low(expr: ExpressionRef): number; - export function getConstValueI64High(expr: ExpressionRef): number; - export function getConstValueF32(expr: ExpressionRef): number; - export function getConstValueF64(expr: ExpressionRef): number; - export function getConstValueV128(expr: ExpressionRef): Uint8Array; - export function isConstZero(expr: ExpressionRef): boolean; - export function isConstNonZero(expr: ExpressionRef): boolean; - export function isConstNegZero(expr: ExpressionRef): boolean; - export function isConstNaN(expr: ExpressionRef): boolean; - export function isConstExpressionNaN(module: Module, expr: ExpressionRef): boolean; - export function getLocalGetIndex(expr: ExpressionRef): Index; - export function getLocalSetIndex(expr: ExpressionRef): Index; - export function getLocalSetValue(expr: ExpressionRef): ExpressionRef; - export function isLocalTee(expr: ExpressionRef): boolean; - export function getGlobalGetName(expr: ExpressionRef): string | null; - export function getBinaryOp(expr: ExpressionRef): BinaryOp; - export function getBinaryLeft(expr: ExpressionRef): ExpressionRef; - export function getBinaryRight(expr: ExpressionRef): ExpressionRef; - export function getUnaryOp(expr: ExpressionRef): UnaryOp; - export function getUnaryValue(expr: ExpressionRef): ExpressionRef; - export function getLoadBytes(expr: ExpressionRef): number; - export function getLoadOffset(expr: ExpressionRef): number; - export function getLoadPtr(expr: ExpressionRef): ExpressionRef; - export function isLoadSigned(expr: ExpressionRef): boolean; - export function getStoreBytes(expr: ExpressionRef): number; - export function getStoreOffset(expr: ExpressionRef): number; - export function getStorePtr(expr: ExpressionRef): ExpressionRef; - export function getStoreValue(expr: ExpressionRef): ExpressionRef; - export function getBlockName(expr: ExpressionRef): string | null; - export function getBlockChildCount(expr: ExpressionRef): Index; - export function getBlockChildAt(expr: ExpressionRef, index: Index): ExpressionRef; - export function getIfCondition(expr: ExpressionRef): ExpressionRef; - export function getIfTrue(expr: ExpressionRef): ExpressionRef; - export function getIfFalse(expr: ExpressionRef): ExpressionRef; - export function getLoopName(expr: ExpressionRef): string | null; - export function getLoopBody(expr: ExpressionRef): ExpressionRef; - export function getBreakName(expr: ExpressionRef): string | null; - export function getBreakCondition(expr: ExpressionRef): ExpressionRef; - export function getSelectThen(expr: ExpressionRef): ExpressionRef; - export function getSelectElse(expr: ExpressionRef): ExpressionRef; - export function getSelectCondition(expr: ExpressionRef): ExpressionRef; - export function getDropValue(expr: ExpressionRef): ExpressionRef; - export function getReturnValue(expr: ExpressionRef): ExpressionRef; - export function getCallTarget(expr: ExpressionRef): string | null; - export function getCallOperandCount(expr: ExpressionRef): number; - export function getCallOperandAt(expr: ExpressionRef, index: Index): ExpressionRef; - export function getMemoryGrowDelta(expr: ExpressionRef): ExpressionRef; - export function getFunctionBody(func: FunctionRef): ExpressionRef; - export function getFunctionName(func: FunctionRef): string | null; - export function getFunctionParams(func: FunctionRef): TypeRef; - export function getFunctionResults(func: FunctionRef): TypeRef; - export function getFunctionVars(func: FunctionRef): TypeRef[]; - export function getGlobalName(global: GlobalRef): string | null; - export function getGlobalType(global: GlobalRef): TypeRef; - export function isGlobalMutable(global: GlobalRef): boolean; - export function getGlobalInit(global: GlobalRef): ExpressionRef; - export function getTagName(tag: TagRef): string | null; - export function getTagParams(tag: TagRef): TypeRef; - export function getTagResults(tag: TagRef): TypeRef; - export class Relooper { - /** Module this relooper belongs to. */ - module: Module; - /** Binaryen relooper reference. */ - ref: number; - constructor( - /** Module this relooper belongs to. */ - module: Module, - /** Binaryen relooper reference. */ - ref: number); - static create(module: Module): number; - addBlock(code: ExpressionRef): number; - addBranch(from: number, to: number, condition?: ExpressionRef, code?: ExpressionRef): void; - addBlockWithSwitch(code: ExpressionRef, condition: ExpressionRef): number; - addBranchForSwitch(from: number, to: number, indexes: number[], code?: ExpressionRef): void; - renderAndDispose(entry: number, labelHelper: Index): ExpressionRef; - } - /** Builds a switch using a sequence of `br_if`s. */ - export class SwitchBuilder { - private module; - private condition; - private values; - private indexes; - private cases; - private defaultIndex; - /** Creates a new builder using the specified i32 condition. */ - constructor(module: Module, condition: ExpressionRef); - /** Links a case to the specified branch, replace old case if it is linked. */ - addOrReplaceCase(value: number, code: ExpressionRef[]): void; - /** Links a case to the specified branch. */ - addCase(value: number, code: ExpressionRef[]): void; - private addCode; - /** Links the default branch. */ - addDefault(code: ExpressionRef[]): void; - /** Renders the switch to a block. */ - render(localIndex: number, labelPostfix?: string): ExpressionRef; - } - export const enum SideEffects { - None = 0, - Branches = 1, - Calls = 2, - ReadsLocal = 4, - WritesLocal = 8, - ReadsGlobal = 16, - WritesGlobal = 32, - ReadsMemory = 64, - WritesMemory = 128, - ReadsTable = 256, - WritesTable = 512, - ImplicitTrap = 1024, - IsAtomic = 2048, - Throws = 4096, - DanglingPop = 8192, - TrapsNeverHappen = 16384, - Any = 32767 - } - export function getSideEffects(expr: ExpressionRef, module: ModuleRef): SideEffects; - export function mustPreserveSideEffects(expr: ExpressionRef, module: ModuleRef): boolean; - export function allocPtrArray(ptrs: number[] | null): number; - export function readString(ptr: number): string | null; - /** Result structure of {@link Module#toBinary}. */ - export class BinaryModule { - /** WebAssembly binary. */ - output: Uint8Array; - /** Source map, if generated. */ - sourceMap: string | null; - constructor( - /** WebAssembly binary. */ - output: Uint8Array, - /** Source map, if generated. */ - sourceMap: string | null); - } - /** Ensures that the given potentially complex type has a corresponding GC type. */ - export function ensureType(type: Type): TypeRef; -} -declare module "types:assemblyscript/src/ast" { - /** - * @fileoverview Abstract syntax tree representing a source file once parsed. - * - * Each node in the AST is represented by an instance of a subclass of `Node`, - * with its `Node#kind` represented by one of the `NodeKind` constants, which - * dependent code typically switches over. The intended way to create a node - * is to use the respective `Node.createX` method instead of its constructor. - * - * Note that the AST does not contain any type information except type names. - * - * @license Apache-2.0 - */ - import { CommonFlags } from "types:assemblyscript/src/common"; - import { Range } from "types:assemblyscript/src/diagnostics"; - import { Token } from "types:assemblyscript/src/tokenizer"; - import { ExpressionRef } from "types:assemblyscript/src/module"; - import { Type } from "types:assemblyscript/src/types"; - /** Indicates the kind of a node. */ - export const enum NodeKind { - Source = 0, - NamedType = 1, - FunctionType = 2, - TypeName = 3, - TypeParameter = 4, - Parameter = 5, - Identifier = 6, - Assertion = 7, - Binary = 8, - Call = 9, - Class = 10, - Comma = 11, - ElementAccess = 12, - False = 13, - Function = 14, - InstanceOf = 15, - Literal = 16, - New = 17, - Null = 18, - Omitted = 19, - Parenthesized = 20, - PropertyAccess = 21, - Ternary = 22, - Super = 23, - This = 24, - True = 25, - Constructor = 26, - UnaryPostfix = 27, - UnaryPrefix = 28, - Compiled = 29, - Block = 30, - Break = 31, - Continue = 32, - Do = 33, - Empty = 34, - Export = 35, - ExportDefault = 36, - ExportImport = 37, - Expression = 38, - For = 39, - ForOf = 40, - If = 41, - Import = 42, - Return = 43, - Switch = 44, - Throw = 45, - Try = 46, - Variable = 47, - Void = 48, - While = 49, - Module = 50, - ClassDeclaration = 51, - EnumDeclaration = 52, - EnumValueDeclaration = 53, - FieldDeclaration = 54, - FunctionDeclaration = 55, - ImportDeclaration = 56, - InterfaceDeclaration = 57, - MethodDeclaration = 58, - NamespaceDeclaration = 59, - TypeDeclaration = 60, - VariableDeclaration = 61, - Decorator = 62, - ExportMember = 63, - SwitchCase = 64, - IndexSignature = 65, - Comment = 66 - } - /** Base class of all nodes. */ - export abstract class Node { - /** Kind of this node. */ - kind: NodeKind; - /** Source range. */ - range: Range; - constructor( - /** Kind of this node. */ - kind: NodeKind, - /** Source range. */ - range: Range); - static createSimpleTypeName(name: string, range: Range): TypeName; - static createNamedType(name: TypeName, typeArguments: TypeNode[] | null, isNullable: boolean, range: Range): NamedTypeNode; - static createFunctionType(parameters: ParameterNode[], returnType: TypeNode, explicitThisType: NamedTypeNode | null, isNullable: boolean, range: Range): FunctionTypeNode; - static createOmittedType(range: Range): NamedTypeNode; - static createTypeParameter(name: IdentifierExpression, extendsType: NamedTypeNode | null, defaultType: NamedTypeNode | null, range: Range): TypeParameterNode; - static createParameter(parameterKind: ParameterKind, name: IdentifierExpression, type: TypeNode, initializer: Expression | null, range: Range): ParameterNode; - static createDecorator(name: Expression, args: Expression[] | null, range: Range): DecoratorNode; - static createComment(commentKind: CommentKind, text: string, range: Range): CommentNode; - static createIdentifierExpression(text: string, range: Range, isQuoted?: boolean): IdentifierExpression; - static createEmptyIdentifierExpression(range: Range): IdentifierExpression; - static createArrayLiteralExpression(elementExpressions: Expression[], range: Range): ArrayLiteralExpression; - static createAssertionExpression(assertionKind: AssertionKind, expression: Expression, toType: TypeNode | null, range: Range): AssertionExpression; - static createBinaryExpression(operator: Token, left: Expression, right: Expression, range: Range): BinaryExpression; - static createCallExpression(expression: Expression, typeArguments: TypeNode[] | null, args: Expression[], range: Range): CallExpression; - static createClassExpression(declaration: ClassDeclaration): ClassExpression; - static createCommaExpression(expressions: Expression[], range: Range): CommaExpression; - static createConstructorExpression(range: Range): ConstructorExpression; - static createElementAccessExpression(expression: Expression, elementExpression: Expression, range: Range): ElementAccessExpression; - static createFalseExpression(range: Range): FalseExpression; - static createFloatLiteralExpression(value: number, range: Range): FloatLiteralExpression; - static createFunctionExpression(declaration: FunctionDeclaration): FunctionExpression; - static createInstanceOfExpression(expression: Expression, isType: TypeNode, range: Range): InstanceOfExpression; - static createIntegerLiteralExpression(value: i64, range: Range): IntegerLiteralExpression; - static createNewExpression(typeName: TypeName, typeArguments: TypeNode[] | null, args: Expression[], range: Range): NewExpression; - static createNullExpression(range: Range): NullExpression; - static createObjectLiteralExpression(names: IdentifierExpression[], values: Expression[], range: Range): ObjectLiteralExpression; - static createOmittedExpression(range: Range): OmittedExpression; - static createParenthesizedExpression(expression: Expression, range: Range): ParenthesizedExpression; - static createPropertyAccessExpression(expression: Expression, property: IdentifierExpression, range: Range): PropertyAccessExpression; - static createRegexpLiteralExpression(pattern: string, patternFlags: string, range: Range): RegexpLiteralExpression; - static createTernaryExpression(condition: Expression, ifThen: Expression, ifElse: Expression, range: Range): TernaryExpression; - static createStringLiteralExpression(value: string, range: Range): StringLiteralExpression; - static createSuperExpression(range: Range): SuperExpression; - static createTemplateLiteralExpression(tag: Expression | null, parts: string[], rawParts: string[], expressions: Expression[], range: Range): TemplateLiteralExpression; - static createThisExpression(range: Range): ThisExpression; - static createTrueExpression(range: Range): TrueExpression; - static createUnaryPostfixExpression(operator: Token, operand: Expression, range: Range): UnaryPostfixExpression; - static createUnaryPrefixExpression(operator: Token, operand: Expression, range: Range): UnaryPrefixExpression; - static createCompiledExpression(expr: ExpressionRef, type: Type, range: Range): Expression; - static createBlockStatement(statements: Statement[], range: Range): BlockStatement; - static createBreakStatement(label: IdentifierExpression | null, range: Range): BreakStatement; - static createClassDeclaration(name: IdentifierExpression, decorators: DecoratorNode[] | null, flags: CommonFlags, typeParameters: TypeParameterNode[] | null, extendsType: NamedTypeNode | null, implementsTypes: NamedTypeNode[] | null, members: DeclarationStatement[], range: Range): ClassDeclaration; - static createContinueStatement(label: IdentifierExpression | null, range: Range): ContinueStatement; - static createDoStatement(body: Statement, condition: Expression, range: Range): DoStatement; - static createEmptyStatement(range: Range): EmptyStatement; - static createEnumDeclaration(name: IdentifierExpression, decorators: DecoratorNode[] | null, flags: CommonFlags, values: EnumValueDeclaration[], range: Range): EnumDeclaration; - static createEnumValueDeclaration(name: IdentifierExpression, flags: CommonFlags, initializer: Expression | null, range: Range): EnumValueDeclaration; - static createExportStatement(members: ExportMember[] | null, path: StringLiteralExpression | null, isDeclare: boolean, range: Range): ExportStatement; - static createExportDefaultStatement(declaration: DeclarationStatement, range: Range): ExportDefaultStatement; - static createExportImportStatement(name: IdentifierExpression, externalName: IdentifierExpression, range: Range): ExportImportStatement; - static createExportMember(localName: IdentifierExpression, exportedName: IdentifierExpression | null, range: Range): ExportMember; - static createExpressionStatement(expression: Expression): ExpressionStatement; - static createIfStatement(condition: Expression, ifTrue: Statement, ifFalse: Statement | null, range: Range): IfStatement; - static createImportStatement(declarations: ImportDeclaration[] | null, path: StringLiteralExpression, range: Range): ImportStatement; - static createWildcardImportStatement(namespaceName: IdentifierExpression, path: StringLiteralExpression, range: Range): ImportStatement; - static createImportDeclaration(foreignName: IdentifierExpression, name: IdentifierExpression | null, range: Range): ImportDeclaration; - static createInterfaceDeclaration(name: IdentifierExpression, decorators: DecoratorNode[] | null, flags: CommonFlags, typeParameters: TypeParameterNode[] | null, extendsType: NamedTypeNode | null, implementsTypes: NamedTypeNode[] | null, members: DeclarationStatement[], range: Range): InterfaceDeclaration; - static createFieldDeclaration(name: IdentifierExpression, decorators: DecoratorNode[] | null, flags: CommonFlags, type: TypeNode | null, initializer: Expression | null, range: Range): FieldDeclaration; - static createForStatement(initializer: Statement | null, condition: Expression | null, incrementor: Expression | null, body: Statement, range: Range): ForStatement; - static createForOfStatement(variable: Statement, iterable: Expression, body: Statement, range: Range): ForOfStatement; - static createFunctionDeclaration(name: IdentifierExpression, decorators: DecoratorNode[] | null, flags: CommonFlags, typeParameters: TypeParameterNode[] | null, signature: FunctionTypeNode, body: Statement | null, arrowKind: ArrowKind, range: Range): FunctionDeclaration; - static createIndexSignature(keyType: NamedTypeNode, valueType: TypeNode, flags: CommonFlags, range: Range): IndexSignatureNode; - static createMethodDeclaration(name: IdentifierExpression, decorators: DecoratorNode[] | null, flags: CommonFlags, typeParameters: TypeParameterNode[] | null, signature: FunctionTypeNode, body: Statement | null, range: Range): MethodDeclaration; - static createNamespaceDeclaration(name: IdentifierExpression, decorators: DecoratorNode[] | null, flags: CommonFlags, members: Statement[], range: Range): NamespaceDeclaration; - static createReturnStatement(value: Expression | null, range: Range): ReturnStatement; - static createSwitchStatement(condition: Expression, cases: SwitchCase[], range: Range): SwitchStatement; - static createSwitchCase(label: Expression | null, statements: Statement[], range: Range): SwitchCase; - static createThrowStatement(value: Expression, range: Range): ThrowStatement; - static createTryStatement(bodyStatements: Statement[], catchVariable: IdentifierExpression | null, catchStatements: Statement[] | null, finallyStatements: Statement[] | null, range: Range): TryStatement; - static createTypeDeclaration(name: IdentifierExpression, decorators: DecoratorNode[] | null, flags: CommonFlags, typeParameters: TypeParameterNode[] | null, type: TypeNode, range: Range): TypeDeclaration; - static createModuleDeclaration(name: string, flags: CommonFlags, range: Range): ModuleDeclaration; - static createVariableStatement(decorators: DecoratorNode[] | null, declarations: VariableDeclaration[], range: Range): VariableStatement; - static createVariableDeclaration(name: IdentifierExpression, decorators: DecoratorNode[] | null, flags: CommonFlags, type: TypeNode | null, initializer: Expression | null, range: Range): VariableDeclaration; - static createVoidStatement(expression: Expression, range: Range): VoidStatement; - static createWhileStatement(condition: Expression, statement: Statement, range: Range): WhileStatement; - /** Tests if this node is a literal of the specified kind. */ - isLiteralKind(literalKind: LiteralKind): boolean; - /** Tests if this node is a literal of a numeric kind (float or integer). */ - get isNumericLiteral(): boolean; - /** Tests whether this node is guaranteed to compile to a constant value. */ - get compilesToConst(): boolean; - private isAccessOn; - /** Checks if this node accesses a method or property on `this`. */ - get isAccessOnThis(): boolean; - /** Checks if this node accesses a method or property on `super`. */ - get isAccessOnSuper(): boolean; - get isEmpty(): boolean; - } - export abstract class TypeNode extends Node { - /** Whether nullable or not. */ - isNullable: boolean; - constructor( - /** Kind of the type node. */ - kind: NodeKind, - /** Whether nullable or not. */ - isNullable: boolean, - /** Source range. */ - range: Range); - /** Whether this type node is currently in the process of being resolved. */ - currentlyResolving: boolean; - /** Tests if this type has a generic component matching one of the given type parameters. */ - hasGenericComponent(typeParameterNodes: TypeParameterNode[]): boolean; - } - /** Represents a type name. */ - export class TypeName extends Node { - /** Identifier of this part. */ - identifier: IdentifierExpression; - /** Next part of the type name or `null` if this is the last part. */ - next: TypeName | null; - constructor( - /** Identifier of this part. */ - identifier: IdentifierExpression, - /** Next part of the type name or `null` if this is the last part. */ - next: TypeName | null, - /** Source range. */ - range: Range); - } - /** Represents a named type. */ - export class NamedTypeNode extends TypeNode { - /** Type name. */ - name: TypeName; - /** Type argument references. */ - typeArguments: TypeNode[] | null; - constructor( - /** Type name. */ - name: TypeName, - /** Type argument references. */ - typeArguments: TypeNode[] | null, - /** Whether nullable or not. */ - isNullable: boolean, - /** Source range. */ - range: Range); - /** Checks if this type node has type arguments. */ - get hasTypeArguments(): boolean; - /** Tests if this type is "null". */ - get isNull(): boolean; - } - /** Represents a function type. */ - export class FunctionTypeNode extends TypeNode { - /** Function parameters. */ - parameters: ParameterNode[]; - /** Return type. */ - returnType: TypeNode; - /** Explicitly provided this type, if any. */ - explicitThisType: NamedTypeNode | null; - constructor( - /** Function parameters. */ - parameters: ParameterNode[], - /** Return type. */ - returnType: TypeNode, - /** Explicitly provided this type, if any. */ - explicitThisType: NamedTypeNode | null, // can't be a function - /** Whether nullable or not. */ - isNullable: boolean, - /** Source range. */ - range: Range); - } - /** Represents a type parameter. */ - export class TypeParameterNode extends Node { - /** Identifier reference. */ - name: IdentifierExpression; - /** Extended type reference, if any. */ - extendsType: NamedTypeNode | null; - /** Default type if omitted, if any. */ - defaultType: NamedTypeNode | null; - constructor( - /** Identifier reference. */ - name: IdentifierExpression, - /** Extended type reference, if any. */ - extendsType: NamedTypeNode | null, // can't be a function - /** Default type if omitted, if any. */ - defaultType: NamedTypeNode | null, // can't be a function - /** Source range. */ - range: Range); - } - /** Represents the kind of a parameter. */ - export const enum ParameterKind { - /** No specific flags. */ - Default = 0, - /** Is an optional parameter. */ - Optional = 1, - /** Is a rest parameter. */ - Rest = 2 - } - /** Represents a function parameter. */ - export class ParameterNode extends Node { - /** Parameter kind. */ - parameterKind: ParameterKind; - /** Parameter name. */ - name: IdentifierExpression; - /** Parameter type. */ - type: TypeNode; - /** Initializer expression, if any. */ - initializer: Expression | null; - constructor( - /** Parameter kind. */ - parameterKind: ParameterKind, - /** Parameter name. */ - name: IdentifierExpression, - /** Parameter type. */ - type: TypeNode, - /** Initializer expression, if any. */ - initializer: Expression | null, - /** Source range. */ - range: Range); - /** Implicit field declaration, if applicable. */ - implicitFieldDeclaration: FieldDeclaration | null; - /** Common flags indicating specific traits. */ - flags: CommonFlags; - /** Tests if this node has the specified flag or flags. */ - is(flag: CommonFlags): boolean; - /** Tests if this node has one of the specified flags. */ - isAny(flag: CommonFlags): boolean; - /** Sets a specific flag or flags. */ - set(flag: CommonFlags): void; - } - /** Built-in decorator kinds. */ - export enum DecoratorKind { - Custom = 0, - Global = 1, - Operator = 2, - OperatorBinary = 3, - OperatorPrefix = 4, - OperatorPostfix = 5, - Unmanaged = 6, - Final = 7, - Inline = 8, - External = 9, - ExternalJs = 10, - Builtin = 11, - Lazy = 12, - Unsafe = 13 - } - export namespace DecoratorKind { - /** Returns the kind of the specified decorator name node. Defaults to {@link DecoratorKind.CUSTOM}. */ - function fromNode(nameNode: Expression): DecoratorKind; - } - /** Represents a decorator. */ - export class DecoratorNode extends Node { - /** Built-in decorator kind, or custom. */ - decoratorKind: DecoratorKind; - /** Name expression. */ - name: Expression; - /** Argument expressions. */ - args: Expression[] | null; - constructor( - /** Built-in decorator kind, or custom. */ - decoratorKind: DecoratorKind, - /** Name expression. */ - name: Expression, - /** Argument expressions. */ - args: Expression[] | null, - /** Source range. */ - range: Range); - } - /** Comment kinds. */ - export const enum CommentKind { - /** Line comment. */ - Line = 0, - /** Triple-slash line comment. */ - Triple = 1, - /** Block comment. */ - Block = 2 - } - /** Represents a comment. */ - export class CommentNode extends Node { - /** Comment kind. */ - commentKind: CommentKind; - /** Comment text. */ - text: string; - constructor( - /** Comment kind. */ - commentKind: CommentKind, - /** Comment text. */ - text: string, - /** Source range. */ - range: Range); - } - /** Base class of all expression nodes. */ - export abstract class Expression extends Node { - } - /** Represents an identifier expression. */ - export class IdentifierExpression extends Expression { - /** Textual name. */ - text: string; - /** Whether quoted or not. */ - isQuoted: boolean; - constructor( - /** Textual name. */ - text: string, - /** Whether quoted or not. */ - isQuoted: boolean, - /** Source range. */ - range: Range); - } - /** Indicates the kind of a literal. */ - export const enum LiteralKind { - Float = 0, - Integer = 1, - String = 2, - Template = 3, - RegExp = 4, - Array = 5, - Object = 6 - } - /** Base class of all literal expressions. */ - export abstract class LiteralExpression extends Expression { - /** Specific literal kind. */ - literalKind: LiteralKind; - constructor( - /** Specific literal kind. */ - literalKind: LiteralKind, - /** Source range. */ - range: Range); - } - /** Represents an `[]` literal expression. */ - export class ArrayLiteralExpression extends LiteralExpression { - /** Nested element expressions. */ - elementExpressions: Expression[]; - constructor( - /** Nested element expressions. */ - elementExpressions: Expression[], - /** Source range. */ - range: Range); - } - /** Indicates the kind of an assertion. */ - export const enum AssertionKind { - /** A prefix assertion, i.e. `expr`. */ - Prefix = 0, - /** An as assertion, i.e. `expr as T`. */ - As = 1, - /** A non-null assertion, i.e. `!expr`. */ - NonNull = 2, - /** A const assertion, i.e. `expr as const`. */ - Const = 3 - } - /** Represents an assertion expression. */ - export class AssertionExpression extends Expression { - /** Specific kind of this assertion. */ - assertionKind: AssertionKind; - /** Expression being asserted. */ - expression: Expression; - /** Target type, if applicable. */ - toType: TypeNode | null; - constructor( - /** Specific kind of this assertion. */ - assertionKind: AssertionKind, - /** Expression being asserted. */ - expression: Expression, - /** Target type, if applicable. */ - toType: TypeNode | null, - /** Source range. */ - range: Range); - } - /** Represents a binary expression. */ - export class BinaryExpression extends Expression { - /** Operator token. */ - operator: Token; - /** Left-hand side expression */ - left: Expression; - /** Right-hand side expression. */ - right: Expression; - constructor( - /** Operator token. */ - operator: Token, - /** Left-hand side expression */ - left: Expression, - /** Right-hand side expression. */ - right: Expression, - /** Source range. */ - range: Range); - } - /** Represents a call expression. */ - export class CallExpression extends Expression { - /** Called expression. Usually an identifier or property access expression. */ - expression: Expression; - /** Provided type arguments. */ - typeArguments: TypeNode[] | null; - /** Provided arguments. */ - args: Expression[]; - constructor( - /** Called expression. Usually an identifier or property access expression. */ - expression: Expression, - /** Provided type arguments. */ - typeArguments: TypeNode[] | null, - /** Provided arguments. */ - args: Expression[], - /** Source range. */ - range: Range); - /** Gets the type arguments range for reporting. */ - get typeArgumentsRange(): Range; - /** Gets the arguments range for reporting. */ - get argumentsRange(): Range; - } - /** Represents a class expression using the 'class' keyword. */ - export class ClassExpression extends Expression { - /** Inline class declaration. */ - declaration: ClassDeclaration; - constructor( - /** Inline class declaration. */ - declaration: ClassDeclaration); - } - /** Represents a comma expression composed of multiple expressions. */ - export class CommaExpression extends Expression { - /** Sequential expressions. */ - expressions: Expression[]; - constructor( - /** Sequential expressions. */ - expressions: Expression[], - /** Source range. */ - range: Range); - } - /** Represents a `constructor` expression. */ - export class ConstructorExpression extends IdentifierExpression { - constructor( - /** Source range. */ - range: Range); - } - /** Represents an element access expression, e.g., array access. */ - export class ElementAccessExpression extends Expression { - /** Expression being accessed. */ - expression: Expression; - /** Element of the expression being accessed. */ - elementExpression: Expression; - constructor( - /** Expression being accessed. */ - expression: Expression, - /** Element of the expression being accessed. */ - elementExpression: Expression, - /** Source range. */ - range: Range); - } - /** Represents a float literal expression. */ - export class FloatLiteralExpression extends LiteralExpression { - /** Float value. */ - value: number; - constructor( - /** Float value. */ - value: number, - /** Source range. */ - range: Range); - } - /** Represents a function expression using the 'function' keyword. */ - export class FunctionExpression extends Expression { - /** Inline function declaration. */ - declaration: FunctionDeclaration; - constructor( - /** Inline function declaration. */ - declaration: FunctionDeclaration); - } - /** Represents an `instanceof` expression. */ - export class InstanceOfExpression extends Expression { - /** Expression being asserted. */ - expression: Expression; - /** Type to test for. */ - isType: TypeNode; - constructor( - /** Expression being asserted. */ - expression: Expression, - /** Type to test for. */ - isType: TypeNode, - /** Source range. */ - range: Range); - } - /** Represents an integer literal expression. */ - export class IntegerLiteralExpression extends LiteralExpression { - /** Integer value. */ - value: i64; - constructor( - /** Integer value. */ - value: i64, - /** Source range. */ - range: Range); - } - /** Represents a `new` expression. Like a call but with its own kind. */ - export class NewExpression extends Expression { - /** Type being constructed. */ - typeName: TypeName; - /** Provided type arguments. */ - typeArguments: TypeNode[] | null; - /** Provided arguments. */ - args: Expression[]; - constructor( - /** Type being constructed. */ - typeName: TypeName, - /** Provided type arguments. */ - typeArguments: TypeNode[] | null, - /** Provided arguments. */ - args: Expression[], - /** Source range. */ - range: Range); - /** Gets the type arguments range for reporting. */ - get typeArgumentsRange(): Range; - /** Gets the arguments range for reporting. */ - get argumentsRange(): Range; - } - /** Represents a `null` expression. */ - export class NullExpression extends IdentifierExpression { - constructor( - /** Source range. */ - range: Range); - } - /** Represents an object literal expression. */ - export class ObjectLiteralExpression extends LiteralExpression { - /** Field names. */ - names: IdentifierExpression[]; - /** Field values. */ - values: Expression[]; - constructor( - /** Field names. */ - names: IdentifierExpression[], - /** Field values. */ - values: Expression[], - /** Source range. */ - range: Range); - } - /** Represents an omitted expression, e.g. within an array literal. */ - export class OmittedExpression extends Expression { - constructor( - /** Source range. */ - range: Range); - } - /** Represents a parenthesized expression. */ - export class ParenthesizedExpression extends Expression { - /** Expression in parenthesis. */ - expression: Expression; - constructor( - /** Expression in parenthesis. */ - expression: Expression, - /** Source range. */ - range: Range); - } - /** Represents a property access expression. */ - export class PropertyAccessExpression extends Expression { - /** Expression being accessed. */ - expression: Expression; - /** Property of the expression being accessed. */ - property: IdentifierExpression; - constructor( - /** Expression being accessed. */ - expression: Expression, - /** Property of the expression being accessed. */ - property: IdentifierExpression, - /** Source range. */ - range: Range); - } - /** Represents a regular expression literal expression. */ - export class RegexpLiteralExpression extends LiteralExpression { - /** Regular expression pattern. */ - pattern: string; - /** Regular expression flags. */ - patternFlags: string; - constructor( - /** Regular expression pattern. */ - pattern: string, - /** Regular expression flags. */ - patternFlags: string, - /** Source range. */ - range: Range); - } - /** Represents a ternary expression, i.e., short if notation. */ - export class TernaryExpression extends Expression { - /** Condition expression. */ - condition: Expression; - /** Expression executed when condition is `true`. */ - ifThen: Expression; - /** Expression executed when condition is `false`. */ - ifElse: Expression; - constructor( - /** Condition expression. */ - condition: Expression, - /** Expression executed when condition is `true`. */ - ifThen: Expression, - /** Expression executed when condition is `false`. */ - ifElse: Expression, - /** Source range. */ - range: Range); - } - /** Represents a string literal expression. */ - export class StringLiteralExpression extends LiteralExpression { - /** String value without quotes. */ - value: string; - constructor( - /** String value without quotes. */ - value: string, - /** Source range. */ - range: Range); - } - /** Represents a `super` expression. */ - export class SuperExpression extends IdentifierExpression { - constructor( - /** Source range. */ - range: Range); - } - /** Represents a template literal expression. */ - export class TemplateLiteralExpression extends LiteralExpression { - /** Tag expression, if any. */ - tag: Expression | null; - /** String parts. */ - parts: string[]; - /** Raw string parts. */ - rawParts: string[]; - /** Expression parts. */ - expressions: Expression[]; - constructor( - /** Tag expression, if any. */ - tag: Expression | null, - /** String parts. */ - parts: string[], - /** Raw string parts. */ - rawParts: string[], - /** Expression parts. */ - expressions: Expression[], - /** Source range. */ - range: Range); - } - /** Represents a `this` expression. */ - export class ThisExpression extends IdentifierExpression { - constructor( - /** Source range. */ - range: Range); - } - /** Represents a `true` expression. */ - export class TrueExpression extends IdentifierExpression { - constructor( - /** Source range. */ - range: Range); - } - /** Represents a `false` expression. */ - export class FalseExpression extends IdentifierExpression { - constructor( - /** Source range. */ - range: Range); - } - /** Base class of all unary expressions. */ - export abstract class UnaryExpression extends Expression { - /** Operator token. */ - operator: Token; - /** Operand expression. */ - operand: Expression; - constructor( - /** Unary expression kind. */ - kind: NodeKind, - /** Operator token. */ - operator: Token, - /** Operand expression. */ - operand: Expression, - /** Source range. */ - range: Range); - } - /** Represents a unary postfix expression, e.g. a postfix increment. */ - export class UnaryPostfixExpression extends UnaryExpression { - constructor( - /** Operator token. */ - operator: Token, - /** Operand expression. */ - operand: Expression, - /** Source range. */ - range: Range); - } - /** Represents a unary prefix expression, e.g. a negation. */ - export class UnaryPrefixExpression extends UnaryExpression { - constructor( - /** Operator token. */ - operator: Token, - /** Operand expression. */ - operand: Expression, - /** Source range. */ - range: Range); - } - /** Represents a special pre-compiled expression. If the expression has side-effects, special care has to be taken. */ - export class CompiledExpression extends Expression { - /** Compiled expression. */ - expr: ExpressionRef; - /** Type of the compiled expression. */ - type: Type; - constructor( - /** Compiled expression. */ - expr: ExpressionRef, - /** Type of the compiled expression. */ - type: Type, - /** Source range. */ - range: Range); - } - /** Base class of all statement nodes. */ - export abstract class Statement extends Node { - } - /** Indicates the specific kind of a source. */ - export const enum SourceKind { - /** User-provided file. */ - User = 0, - /** User-provided entry file. */ - UserEntry = 1, - /** Library-provided file. */ - Library = 2, - /** Library-provided entry file. */ - LibraryEntry = 3 - } - /** A top-level source node. */ - export class Source extends Node { - /** Source kind. */ - sourceKind: SourceKind; - /** Normalized path with file extension. */ - normalizedPath: string; - /** Full source text. */ - text: string; - /** Gets the special native source. */ - static get native(): Source; - private static _native; - constructor( - /** Source kind. */ - sourceKind: SourceKind, - /** Normalized path with file extension. */ - normalizedPath: string, - /** Full source text. */ - text: string); - /** Path used internally. */ - internalPath: string; - /** Simple path (last part without extension). */ - simplePath: string; - /** Contained statements. */ - statements: Statement[]; - /** Source map index. */ - debugInfoIndex: number; - /** Re-exported sources. */ - exportPaths: string[] | null; - /** Checks if this source represents native code. */ - get isNative(): boolean; - /** Checks if this source is part of the (standard) library. */ - get isLibrary(): boolean; - /** Cached line starts. */ - private lineCache; - /** Remembered column number. */ - private lineColumn; - /** Determines the line number at the specified position. Starts at `1`. */ - lineAt(pos: number): number; - /** Gets the column number at the last position queried with `lineAt`. Starts at `1`. */ - columnAt(): number; - } - /** Base class of all declaration statements. */ - export abstract class DeclarationStatement extends Statement { - /** Simple name being declared. */ - name: IdentifierExpression; - /** Array of decorators, if any. */ - decorators: DecoratorNode[] | null; - /** Common flags indicating specific traits. */ - flags: CommonFlags; - constructor( - /** Declaration node kind. */ - kind: NodeKind, - /** Simple name being declared. */ - name: IdentifierExpression, - /** Array of decorators, if any. */ - decorators: DecoratorNode[] | null, - /** Common flags indicating specific traits. */ - flags: CommonFlags, - /** Source range. */ - range: Range); - /** Overridden module name from preceeding `module` statement. */ - overriddenModuleName: string | null; - /** Tests if this node has the specified flag or flags. */ - is(flag: CommonFlags): boolean; - /** Tests if this node has one of the specified flags. */ - isAny(flag: CommonFlags): boolean; - /** Sets a specific flag or flags. */ - set(flag: CommonFlags): void; - } - /** Represents an index signature. */ - export class IndexSignatureNode extends Node { - /** Key type. */ - keyType: NamedTypeNode; - /** Value type. */ - valueType: TypeNode; - /** Common flags indicating specific traits. */ - flags: CommonFlags; - constructor( - /** Key type. */ - keyType: NamedTypeNode, - /** Value type. */ - valueType: TypeNode, - /** Common flags indicating specific traits. */ - flags: CommonFlags, - /** Source range. */ - range: Range); - } - /** Base class of all variable-like declaration statements. */ - export abstract class VariableLikeDeclarationStatement extends DeclarationStatement { - /** Annotated type node, if any. */ - type: TypeNode | null; - /** Initializer expression, if any. */ - initializer: Expression | null; - constructor( - /** Variable-like declaration node kind. */ - kind: NodeKind, - /** Simple name being declared. */ - name: IdentifierExpression, - /** Array of decorators, if any. */ - decorators: DecoratorNode[] | null, - /** Common flags indicating specific traits. */ - flags: CommonFlags, - /** Annotated type node, if any. */ - type: TypeNode | null, - /** Initializer expression, if any. */ - initializer: Expression | null, - /** Source range. */ - range: Range); - } - /** Represents a block statement. */ - export class BlockStatement extends Statement { - /** Contained statements. */ - statements: Statement[]; - constructor( - /** Contained statements. */ - statements: Statement[], - /** Source range. */ - range: Range); - } - /** Represents a `break` statement. */ - export class BreakStatement extends Statement { - /** Target label, if any. */ - label: IdentifierExpression | null; - constructor( - /** Target label, if any. */ - label: IdentifierExpression | null, - /** Source range. */ - range: Range); - } - /** Represents a `class` declaration. */ - export class ClassDeclaration extends DeclarationStatement { - /** Accepted type parameters. */ - typeParameters: TypeParameterNode[] | null; - /** Base class type being extended, if any. */ - extendsType: NamedTypeNode | null; - /** Interface types being implemented, if any. */ - implementsTypes: NamedTypeNode[] | null; - /** Class member declarations. */ - members: DeclarationStatement[]; - constructor( - /** Simple name being declared. */ - name: IdentifierExpression, - /** Array of decorators, if any. */ - decorators: DecoratorNode[] | null, - /** Common flags indicating specific traits. */ - flags: CommonFlags, - /** Accepted type parameters. */ - typeParameters: TypeParameterNode[] | null, - /** Base class type being extended, if any. */ - extendsType: NamedTypeNode | null, // can't be a function - /** Interface types being implemented, if any. */ - implementsTypes: NamedTypeNode[] | null, // can't be functions - /** Class member declarations. */ - members: DeclarationStatement[], - /** Source range. */ - range: Range); - /** Index signature, if present. */ - indexSignature: IndexSignatureNode | null; - get isGeneric(): boolean; - } - /** Represents a `continue` statement. */ - export class ContinueStatement extends Statement { - /** Target label, if applicable. */ - label: IdentifierExpression | null; - constructor( - /** Target label, if applicable. */ - label: IdentifierExpression | null, - /** Source range. */ - range: Range); - } - /** Represents a `do` statement. */ - export class DoStatement extends Statement { - /** Body statement being looped over. */ - body: Statement; - /** Condition when to repeat. */ - condition: Expression; - constructor( - /** Body statement being looped over. */ - body: Statement, - /** Condition when to repeat. */ - condition: Expression, - /** Source range. */ - range: Range); - } - /** Represents an empty statement, i.e., a semicolon terminating nothing. */ - export class EmptyStatement extends Statement { - constructor( - /** Source range. */ - range: Range); - } - /** Represents an `enum` declaration. */ - export class EnumDeclaration extends DeclarationStatement { - /** Enum value declarations. */ - values: EnumValueDeclaration[]; - constructor( - /** Simple name being declared. */ - name: IdentifierExpression, - /** Array of decorators, if any. */ - decorators: DecoratorNode[] | null, - /** Common flags indicating specific traits. */ - flags: CommonFlags, - /** Enum value declarations. */ - values: EnumValueDeclaration[], - /** Source range. */ - range: Range); - } - /** Represents a value of an `enum` declaration. */ - export class EnumValueDeclaration extends VariableLikeDeclarationStatement { - constructor( - /** Simple name being declared. */ - name: IdentifierExpression, - /** Common flags indicating specific traits. */ - flags: CommonFlags, - /** Initializer expression, if any. */ - initializer: Expression | null, - /** Source range. */ - range: Range); - } - /** Represents an `export import` statement of an interface. */ - export class ExportImportStatement extends Statement { - /** Identifier being imported. */ - name: IdentifierExpression; - /** Identifier being exported. */ - externalName: IdentifierExpression; - constructor( - /** Identifier being imported. */ - name: IdentifierExpression, - /** Identifier being exported. */ - externalName: IdentifierExpression, - /** Source range. */ - range: Range); - } - /** Represents a member of an `export` statement. */ - export class ExportMember extends Node { - /** Local identifier. */ - localName: IdentifierExpression; - /** Exported identifier. */ - exportedName: IdentifierExpression; - constructor( - /** Local identifier. */ - localName: IdentifierExpression, - /** Exported identifier. */ - exportedName: IdentifierExpression, - /** Source range. */ - range: Range); - } - /** Represents an `export` statement. */ - export class ExportStatement extends Statement { - /** Array of members if a set of named exports, or `null` if a file export. */ - members: ExportMember[] | null; - /** Path being exported from, if applicable. */ - path: StringLiteralExpression | null; - /** Whether this is a declared export. */ - isDeclare: boolean; - constructor( - /** Array of members if a set of named exports, or `null` if a file export. */ - members: ExportMember[] | null, - /** Path being exported from, if applicable. */ - path: StringLiteralExpression | null, - /** Whether this is a declared export. */ - isDeclare: boolean, - /** Source range. */ - range: Range); - /** Internal path being referenced, if `path` is set. */ - internalPath: string | null; - } - /** Represents an `export default` statement. */ - export class ExportDefaultStatement extends Statement { - /** Declaration being exported as default. */ - declaration: DeclarationStatement; - constructor( - /** Declaration being exported as default. */ - declaration: DeclarationStatement, - /** Source range. */ - range: Range); - } - /** Represents an expression that is used as a statement. */ - export class ExpressionStatement extends Statement { - /** Expression being used as a statement.*/ - expression: Expression; - constructor( - /** Expression being used as a statement.*/ - expression: Expression); - } - /** Represents a field declaration within a `class`. */ - export class FieldDeclaration extends VariableLikeDeclarationStatement { - /** Parameter index if declared as a constructor parameter, otherwise `-1`. */ - parameterIndex: number; - constructor( - /** Simple name being declared. */ - name: IdentifierExpression, - /** Array of decorators, if any. */ - decorators: DecoratorNode[] | null, - /** Common flags indicating specific traits. */ - flags: CommonFlags, - /** Annotated type node, if any. */ - type: TypeNode | null, - /** Initializer expression, if any. */ - initializer: Expression | null, - /** Parameter index if declared as a constructor parameter, otherwise `-1`. */ - parameterIndex: number, - /** Source range. */ - range: Range); - } - /** Represents a `for` statement. */ - export class ForStatement extends Statement { - /** Initializer statement, if present. Either a `VariableStatement` or `ExpressionStatement`. */ - initializer: Statement | null; - /** Condition expression, if present. */ - condition: Expression | null; - /** Incrementor expression, if present. */ - incrementor: Expression | null; - /** Body statement being looped over. */ - body: Statement; - constructor( - /** Initializer statement, if present. Either a `VariableStatement` or `ExpressionStatement`. */ - initializer: Statement | null, - /** Condition expression, if present. */ - condition: Expression | null, - /** Incrementor expression, if present. */ - incrementor: Expression | null, - /** Body statement being looped over. */ - body: Statement, - /** Source range. */ - range: Range); - } - /** Represents a `for..of` statement. */ - export class ForOfStatement extends Statement { - /** Variable statement. Either a `VariableStatement` or `ExpressionStatement` of `IdentifierExpression`. */ - variable: Statement; - /** Iterable expression being iterated. */ - iterable: Expression; - /** Body statement being looped over. */ - body: Statement; - constructor( - /** Variable statement. Either a `VariableStatement` or `ExpressionStatement` of `IdentifierExpression`. */ - variable: Statement, - /** Iterable expression being iterated. */ - iterable: Expression, - /** Body statement being looped over. */ - body: Statement, - /** Source range. */ - range: Range); - } - /** Indicates the kind of an array function. */ - export const enum ArrowKind { - /** Not an arrow function. */ - None = 0, - /** Parenthesized parameter list. */ - Parenthesized = 1, - /** Single parameter without parenthesis. */ - Single = 2 - } - /** Represents a `function` declaration. */ - export class FunctionDeclaration extends DeclarationStatement { - /** Type parameters, if any. */ - typeParameters: TypeParameterNode[] | null; - /** Function signature. */ - signature: FunctionTypeNode; - /** Body statement. Usually a block. */ - body: Statement | null; - /** Arrow function kind, if applicable. */ - arrowKind: ArrowKind; - constructor( - /** Simple name being declared. */ - name: IdentifierExpression, - /** Array of decorators, if any. */ - decorators: DecoratorNode[] | null, - /** Common flags indicating specific traits. */ - flags: CommonFlags, - /** Type parameters, if any. */ - typeParameters: TypeParameterNode[] | null, - /** Function signature. */ - signature: FunctionTypeNode, - /** Body statement. Usually a block. */ - body: Statement | null, - /** Arrow function kind, if applicable. */ - arrowKind: ArrowKind, - /** Source range. */ - range: Range); - /** Gets if this function is generic. */ - get isGeneric(): boolean; - /** Clones this function declaration. */ - clone(): FunctionDeclaration; - } - /** Represents an `if` statement. */ - export class IfStatement extends Statement { - /** Condition. */ - condition: Expression; - /** Statement executed when condition is `true`. */ - ifTrue: Statement; - /** Statement executed when condition is `false`. */ - ifFalse: Statement | null; - constructor( - /** Condition. */ - condition: Expression, - /** Statement executed when condition is `true`. */ - ifTrue: Statement, - /** Statement executed when condition is `false`. */ - ifFalse: Statement | null, - /** Source range. */ - range: Range); - } - /** Represents an `import` declaration part of an {@link ImportStatement}. */ - export class ImportDeclaration extends DeclarationStatement { - /** Identifier being imported. */ - foreignName: IdentifierExpression; - constructor( - /** Simple name being declared. */ - name: IdentifierExpression, - /** Identifier being imported. */ - foreignName: IdentifierExpression, - /** Source range. */ - range: Range); - } - /** Represents an `import` statement. */ - export class ImportStatement extends Statement { - /** Array of member declarations or `null` if an asterisk import. */ - declarations: ImportDeclaration[] | null; - /** Name of the local namespace, if an asterisk import. */ - namespaceName: IdentifierExpression | null; - /** Path being imported from. */ - path: StringLiteralExpression; - constructor( - /** Array of member declarations or `null` if an asterisk import. */ - declarations: ImportDeclaration[] | null, - /** Name of the local namespace, if an asterisk import. */ - namespaceName: IdentifierExpression | null, - /** Path being imported from. */ - path: StringLiteralExpression, - /** Source range. */ - range: Range); - /** Internal path being referenced. */ - internalPath: string; - } - /** Represents an `interfarce` declaration. */ - export class InterfaceDeclaration extends ClassDeclaration { - constructor( - /** Simple name being declared. */ - name: IdentifierExpression, - /** Array of decorators, if any. */ - decorators: DecoratorNode[] | null, - /** Common flags indicating specific traits. */ - flags: CommonFlags, - /** Accepted type parameters. */ - typeParameters: TypeParameterNode[] | null, - /** Base class type being extended, if any. */ - extendsType: NamedTypeNode | null, // can't be a function - /** Interface types being implemented, if any. */ - implementsTypes: NamedTypeNode[] | null, // can't be functions - /** Class member declarations. */ - members: DeclarationStatement[], - /** Source range. */ - range: Range); - } - /** Represents a method declaration within a `class`. */ - export class MethodDeclaration extends FunctionDeclaration { - constructor( - /** Simple name being declared. */ - name: IdentifierExpression, - /** Array of decorators, if any. */ - decorators: DecoratorNode[] | null, - /** Common flags indicating specific traits. */ - flags: CommonFlags, - /** Type parameters, if any. */ - typeParameters: TypeParameterNode[] | null, - /** Function signature. */ - signature: FunctionTypeNode, - /** Body statement. Usually a block. */ - body: Statement | null, - /** Source range. */ - range: Range); - } - /** Represents a `namespace` declaration. */ - export class NamespaceDeclaration extends DeclarationStatement { - /** Array of namespace members. */ - members: Statement[]; - constructor( - /** Simple name being declared. */ - name: IdentifierExpression, - /** Array of decorators, if any. */ - decorators: DecoratorNode[] | null, - /** Common flags indicating specific traits. */ - flags: CommonFlags, - /** Array of namespace members. */ - members: Statement[], - /** Source range. */ - range: Range); - } - /** Represents a `return` statement. */ - export class ReturnStatement extends Statement { - /** Value expression being returned, if present. */ - value: Expression | null; - constructor( - /** Value expression being returned, if present. */ - value: Expression | null, - /** Source range. */ - range: Range); - } - /** Represents a single `case` within a `switch` statement. */ - export class SwitchCase extends Node { - /** Label expression. `null` indicates the default case. */ - label: Expression | null; - /** Contained statements. */ - statements: Statement[]; - constructor( - /** Label expression. `null` indicates the default case. */ - label: Expression | null, - /** Contained statements. */ - statements: Statement[], - /** Source range. */ - range: Range); - get isDefault(): boolean; - } - /** Represents a `switch` statement. */ - export class SwitchStatement extends Statement { - /** Condition expression. */ - condition: Expression; - /** Contained cases. */ - cases: SwitchCase[]; - constructor( - /** Condition expression. */ - condition: Expression, - /** Contained cases. */ - cases: SwitchCase[], - /** Source range. */ - range: Range); - } - /** Represents a `throw` statement. */ - export class ThrowStatement extends Statement { - /** Value expression being thrown. */ - value: Expression; - constructor( - /** Value expression being thrown. */ - value: Expression, - /** Source range. */ - range: Range); - } - /** Represents a `try` statement. */ - export class TryStatement extends Statement { - /** Contained statements. */ - bodyStatements: Statement[]; - /** Exception variable name, if a `catch` clause is present. */ - catchVariable: IdentifierExpression | null; - /** Statements being executed on catch, if a `catch` clause is present. */ - catchStatements: Statement[] | null; - /** Statements being executed afterwards, if a `finally` clause is present. */ - finallyStatements: Statement[] | null; - constructor( - /** Contained statements. */ - bodyStatements: Statement[], - /** Exception variable name, if a `catch` clause is present. */ - catchVariable: IdentifierExpression | null, - /** Statements being executed on catch, if a `catch` clause is present. */ - catchStatements: Statement[] | null, - /** Statements being executed afterwards, if a `finally` clause is present. */ - finallyStatements: Statement[] | null, - /** Source range. */ - range: Range); - } - /** Represents a `module` statement. */ - export class ModuleDeclaration extends Statement { - /** Module name. */ - moduleName: string; - /** Common flags indicating specific traits. */ - flags: CommonFlags; - constructor( - /** Module name. */ - moduleName: string, - /** Common flags indicating specific traits. */ - flags: CommonFlags, - /** Source range. */ - range: Range); - } - /** Represents a `type` declaration. */ - export class TypeDeclaration extends DeclarationStatement { - /** Type parameters, if any. */ - typeParameters: TypeParameterNode[] | null; - /** Type being aliased. */ - type: TypeNode; - constructor( - /** Simple name being declared. */ - name: IdentifierExpression, - /** Array of decorators, if any. */ - decorators: DecoratorNode[] | null, - /** Common flags indicating specific traits. */ - flags: CommonFlags, - /** Type parameters, if any. */ - typeParameters: TypeParameterNode[] | null, - /** Type being aliased. */ - type: TypeNode, - /** Source range. */ - range: Range); - } - /** Represents a variable declaration part of a {@link VariableStatement}. */ - export class VariableDeclaration extends VariableLikeDeclarationStatement { - constructor( - /** Simple name being declared. */ - name: IdentifierExpression, - /** Array of decorators, if any. */ - decorators: DecoratorNode[] | null, - /** Common flags indicating specific traits. */ - flags: CommonFlags, - /** Annotated type node, if any. */ - type: TypeNode | null, - /** Initializer expression, if any. */ - initializer: Expression | null, - /** Source range. */ - range: Range); - } - /** Represents a variable statement wrapping {@link VariableDeclaration}s. */ - export class VariableStatement extends Statement { - /** Array of decorators. */ - decorators: DecoratorNode[] | null; - /** Array of member declarations. */ - declarations: VariableDeclaration[]; - constructor( - /** Array of decorators. */ - decorators: DecoratorNode[] | null, - /** Array of member declarations. */ - declarations: VariableDeclaration[], - /** Source range. */ - range: Range); - } - /** Represents a void statement dropping an expression's value. */ - export class VoidStatement extends Statement { - /** Expression being dropped. */ - expression: Expression; - constructor( - /** Expression being dropped. */ - expression: Expression, - /** Source range. */ - range: Range); - } - /** Represents a `while` statement. */ - export class WhileStatement extends Statement { - /** Condition expression. */ - condition: Expression; - /** Body statement being looped over. */ - body: Statement; - constructor( - /** Condition expression. */ - condition: Expression, - /** Body statement being looped over. */ - body: Statement, - /** Source range. */ - range: Range); - } - /** Finds the first decorator matching the specified kind. */ - export function findDecorator(kind: DecoratorKind, decorators: DecoratorNode[] | null): DecoratorNode | null; - /** Mangles an external to an internal path. */ - export function mangleInternalPath(path: string): string; - /** Tests if the specified type node represents an omitted type. */ - export function isTypeOmitted(type: TypeNode): boolean; -} -declare module "types:assemblyscript/src/bindings/tsd" { - import { Global, Program, Function, Class, Interface, Enum, Element } from "types:assemblyscript/src/program"; - import { Type } from "types:assemblyscript/src/types"; - import { ExportsWalker } from "types:assemblyscript/src/bindings/util"; - /** A TypeScript definitions builder. */ - export class TSDBuilder extends ExportsWalker { - /** Builds TypeScript definitions for the specified program. */ - static build(program: Program, esm?: boolean): string; - private esm; - private sb; - private indentLevel; - private seenObjectTypes; - private deferredTypings; - /** Constructs a new TypeScript definitions builder. */ - constructor(program: Program, esm: boolean, includePrivate?: boolean); - visitGlobal(name: string, element: Global): void; - visitEnum(name: string, element: Enum): void; - visitFunction(name: string, element: Function): void; - visitClass(name: string, element: Class): void; - visitInterface(name: string, element: Interface): void; - visitNamespace(name: string, element: Element): void; - visitAlias(name: string, element: Element, originalName: string): void; - build(): string; - isPlainObject(clazz: Class): boolean; - toTypeScriptType(type: Type, mode: Mode): string; - makeRecordType(clazz: Class, mode: Mode): string; - fieldAcceptsUndefined(type: Type): boolean; - makeInternrefType(clazz: Class): string; - } - enum Mode { - IMPORT = 0, - EXPORT = 1 - } - export {}; -} -declare module "types:assemblyscript/src/bindings" { - /** - * @fileoverview Builders for various definitions describing a module. - * - * - JSBuilder: Creates a JavaScript glue code file (.js) - * - TSDBuilder: Creates a TypeScript definition file (.d.ts) - * - * @license Apache-2.0 - */ - export { JSBuilder } from "types:assemblyscript/src/bindings/js"; - export { TSDBuilder } from "types:assemblyscript/src/bindings/tsd"; -} -declare module "types:assemblyscript/src/index-wasm" { - /** - * @fileoverview The C-like and re-exported public compiler interface. - * - * The intended way to consume the compiler sources is to import this - * file, which again exports all relevant functions, classes and constants - * as a flat namespace. - * - * Note though that the compiler sources are written in "portable - * AssemblyScript" that can be compiled to both JavaScript with tsc and - * to WebAssembly with asc, and as such require additional glue code - * depending on the target. - * - * When compiling to JavaScript `glue/js/index.js` must be included. - * When compiling to WebAssembly `glue/wasm/index.ts` must be included. - */ - import { Target, Runtime, Feature } from "types:assemblyscript/src/common"; - import { Options, UncheckedBehavior } from "types:assemblyscript/src/compiler"; - import { Range, DiagnosticMessage, DiagnosticCategory, formatDiagnosticMessage } from "types:assemblyscript/src/diagnostics"; - import { Module } from "types:assemblyscript/src/module"; - import { Program } from "types:assemblyscript/src/program"; - import { Source } from "types:assemblyscript/src/ast"; - /** Creates a new set of compiler options. */ - export function newOptions(): Options; - /** Sets the `target` option. */ - export function setTarget(options: Options, target: Target): void; - export function setRuntime(options: Options, runtime: Runtime): void; - /** Sets the `noAssert` option. */ - export function setNoAssert(options: Options, noAssert: boolean): void; - /** Sets the `exportMemory` option. */ - export function setExportMemory(options: Options, exportMemory: boolean): void; - /** Sets the `importMemory` option. */ - export function setImportMemory(options: Options, importMemory: boolean): void; - /** Sets the `initialMemory` option. */ - export function setInitialMemory(options: Options, initialMemory: number): void; - /** Sets the `maximumMemory` option. */ - export function setMaximumMemory(options: Options, maximumMemory: number): void; - /** Sets the `sharedMemory` option. */ - export function setSharedMemory(options: Options, sharedMemory: boolean): void; - /** Sets the `importTable` option. */ - export function setImportTable(options: Options, importTable: boolean): void; - /** Sets the `exportTable` option. */ - export function setExportTable(options: Options, exportTable: boolean): void; - /** Sets the `sourceMap` option. */ - export function setSourceMap(options: Options, sourceMap: boolean): void; - /** Sets the `uncheckedBehavior` option. */ - export function setUncheckedBehavior(options: Options, uncheckedBehavior: UncheckedBehavior): void; - /** Sets the `memoryBase` option. */ - export function setMemoryBase(options: Options, memoryBase: number): void; - /** Sets the `tableBase` option. */ - export function setTableBase(options: Options, tableBase: number): void; - /** Adds a 'globalAliases' value. */ - export function addGlobalAlias(options: Options, alias: string, name: string): void; - /** Removes a 'globalAliases' value. */ - export function removeGlobalAlias(options: Options, alias: string): void; - /** Sets the `exportStart` option. */ - export function setExportStart(options: Options, exportStart: string | null): void; - /** Sets the `noUnsafe` option. */ - export function setNoUnsafe(options: Options, noUnsafe: boolean): void; - /** Sets the `lowMemoryLimit` option. */ - export function setLowMemoryLimit(options: Options, lowMemoryLimit: number): void; - /** Sets the `exportRuntime` option. */ - export function setExportRuntime(options: Options, exportRuntime: boolean): void; - /** Default stack size. */ - export const DEFAULT_STACK_SIZE = 32768; - /** Sets the `stackSize` option. */ - export function setStackSize(options: Options, stackSize: number): void; - /** Sets the bundle semantic version. */ - export function setBundleVersion(options: Options, bundleMajorVersion: number, bundleMinorVersion: number, bundlePatchVersion: number): void; - /** Sign extension operations. */ - export const FEATURE_SIGN_EXTENSION: Feature; - /** Mutable global imports and exports. */ - export const FEATURE_MUTABLE_GLOBALS: Feature; - /** Non-trapping float to int conversion operations. */ - export const FEATURE_NONTRAPPING_F2I: Feature; - /** Bulk memory operations. */ - export const FEATURE_BULK_MEMORY: Feature; - /** SIMD types and operations. */ - export const FEATURE_SIMD: Feature; - /** Threading and atomic operations. */ - export const FEATURE_THREADS: Feature; - /** Exception handling operations. */ - export const FEATURE_EXCEPTION_HANDLING: Feature; - /** Tail call operations. */ - export const FEATURE_TAIL_CALLS: Feature; - /** Reference types. */ - export const FEATURE_REFERENCE_TYPES: Feature; - /** Multi value types. */ - export const FEATURE_MULTI_VALUE: Feature; - /** Garbage collection. */ - export const FEATURE_GC: Feature; - /** Memory64. */ - export const FEATURE_MEMORY64: Feature; - /** Relaxed SIMD. */ - export const FEATURE_RELAXED_SIMD: Feature; - /** Extended const expressions. */ - export const FEATURE_EXTENDED_CONST: Feature; - /** String references. */ - export const FEATURE_STRINGREF: Feature; - /** All features. */ - export const FEATURES_ALL: Feature; - /** Default features. */ - export const FEATURES_DEFAULT: number; - /** Sets whether a specific feature is enabled. */ - export function setFeature(options: Options, feature: Feature, on: boolean): void; - /** Gives the compiler a hint at the optimize levels that will be used later on. */ - export function setOptimizeLevelHints(options: Options, optimizeLevel: number, shrinkLevel: number): void; - /** Gives the compiler a hint of the emitted module's basename. */ - export function setBasenameHint(options: Options, basename: string): void; - /** Gives the compiler a hint that bindings will be generated. */ - export function setBindingsHint(options: Options, bindings: boolean): void; - /** Sets the `pedantic` option. */ - export function setPedantic(options: Options, pedantic: boolean): void; - export function setDebugInfo(options: Options, debug: boolean): void; - /** Creates a new Program. */ - export function newProgram(options: Options): Program; - /** Obtains the next diagnostic message. Returns `null` once complete. */ - export function nextDiagnostic(program: Program): DiagnosticMessage | null; - /** Obtains the source of the given file. */ - export function getSource(program: Program, internalPath: string): string | null; - /** Formats a diagnostic message to a string. */ - export { formatDiagnosticMessage as formatDiagnostic }; - /** Gets the code of a diagnostic message. */ - export function getDiagnosticCode(diagnostic: DiagnosticMessage): number; - /** Gets the category of a diagnostic message. */ - export function getDiagnosticCategory(diagnostic: DiagnosticMessage): DiagnosticCategory; - /** Gets the textual message of a diagnostic message. */ - export function getDiagnosticMessage(diagnostic: DiagnosticMessage): string; - /** Gets the primary range, if any, of a diagnostic message. */ - export function getDiagnosticRange(diagnostic: DiagnosticMessage): Range | null; - /** Gets the related range, if any, of a diagnostic message. */ - export function getDiagnosticRelatedRange(diagnostic: DiagnosticMessage): Range | null; - /** Gets a range's start offset. */ - export function getRangeStart(range: Range): number; - /** Gets a range's end offsset. */ - export function getRangeEnd(range: Range): number; - /** Gets a range's relevant source. */ - export function getRangeSource(range: Range): Source; - /** Gets a source's normalized path. */ - export function getSourceNormalizedPath(source: Source): string; - /** Tests whether a diagnostic is informatory. */ - export function isInfo(message: DiagnosticMessage): boolean; - /** Tests whether a diagnostic is a warning. */ - export function isWarning(message: DiagnosticMessage): boolean; - /** Tests whether a diagnostic is an error. */ - export function isError(message: DiagnosticMessage): boolean; - /** Parses a source file. If `parser` has been omitted a new one is created. */ - export function parse( - /** Program reference. */ - program: Program, - /** Source text of the file, or `null` to indicate not found. */ - text: string | null, - /** Normalized path of the file. */ - path: string, - /** Whether this is an entry file. */ - isEntry?: boolean): void; - /** Obtains the next required file's path. Returns `null` once complete. */ - export function nextFile(program: Program): string | null; - /** Obtains the path of the dependee of a given imported file. */ - export function getDependee(program: Program, file: string): string | null; - /** Initializes the program pre-emptively for transform hooks. */ - export function initializeProgram(program: Program): void; - /** Compiles the parsed sources to a module. */ - export function compile(program: Program): Module; - /** Builds TypeScript definitions for the specified program. */ - export function buildTSD(program: Program, esm: boolean): string; - /** Builds JavaScript glue code for the specified program. */ - export function buildJS(program: Program, esm: boolean): string; - /** Gets the Binaryen module reference of a module. */ - export function getBinaryenModuleRef(module: Module): number; - /** Validates a module. */ - export function validate(module: Module): boolean; - /** Optimizes a module. */ - export function optimize(module: Module, optimizeLevel: number, shrinkLevel: number, debugInfo?: boolean, zeroFilledMemory?: boolean): void; -} -declare module "types:assemblyscript/src/extra/ast" { - /** - * @fileoverview Abstract Syntax Tree extras. - * - * Provides serialization of the AssemblyScript AST back to it source form. - * - * @license Apache-2.0 - */ - import { Node, Source, TypeNode, NamedTypeNode, FunctionTypeNode, TypeName, TypeParameterNode, IdentifierExpression, LiteralExpression, FloatLiteralExpression, IntegerLiteralExpression, StringLiteralExpression, TemplateLiteralExpression, RegexpLiteralExpression, ArrayLiteralExpression, AssertionExpression, BinaryExpression, CallExpression, CommaExpression, ElementAccessExpression, FunctionExpression, NewExpression, ParenthesizedExpression, PropertyAccessExpression, TernaryExpression, UnaryPostfixExpression, UnaryExpression, UnaryPrefixExpression, ClassExpression, ObjectLiteralExpression, BlockStatement, BreakStatement, ContinueStatement, DoStatement, EmptyStatement, ExportImportStatement, ExportStatement, ExportDefaultStatement, ExpressionStatement, ForStatement, ForOfStatement, IfStatement, ImportStatement, InstanceOfExpression, ReturnStatement, SwitchStatement, ThrowStatement, TryStatement, VariableStatement, WhileStatement, ModuleDeclaration, DeclarationStatement, ClassDeclaration, EnumDeclaration, EnumValueDeclaration, FieldDeclaration, FunctionDeclaration, ImportDeclaration, InterfaceDeclaration, MethodDeclaration, NamespaceDeclaration, TypeDeclaration, VariableDeclaration, DecoratorNode, ParameterNode, ExportMember, SwitchCase, IndexSignatureNode } from "types:assemblyscript/src/ast"; - /** An AST builder. */ - export class ASTBuilder { - /** Rebuilds the textual source from the specified AST, as far as possible. */ - static build(node: Node): string; - private sb; - private indentLevel; - visitNode(node: Node): void; - visitSource(source: Source): void; - visitTypeNode(node: TypeNode): void; - visitTypeName(node: TypeName): void; - visitNamedTypeNode(node: NamedTypeNode): void; - visitFunctionTypeNode(node: FunctionTypeNode): void; - visitTypeParameter(node: TypeParameterNode): void; - visitIdentifierExpression(node: IdentifierExpression): void; - visitArrayLiteralExpression(node: ArrayLiteralExpression): void; - visitObjectLiteralExpression(node: ObjectLiteralExpression): void; - visitAssertionExpression(node: AssertionExpression): void; - visitBinaryExpression(node: BinaryExpression): void; - visitCallExpression(node: CallExpression): void; - private visitArguments; - visitClassExpression(node: ClassExpression): void; - visitCommaExpression(node: CommaExpression): void; - visitElementAccessExpression(node: ElementAccessExpression): void; - visitFunctionExpression(node: FunctionExpression): void; - visitLiteralExpression(node: LiteralExpression): void; - visitFloatLiteralExpression(node: FloatLiteralExpression): void; - visitInstanceOfExpression(node: InstanceOfExpression): void; - visitIntegerLiteralExpression(node: IntegerLiteralExpression): void; - visitStringLiteral(str: string): void; - visitStringLiteralExpression(node: StringLiteralExpression): void; - visitTemplateLiteralExpression(node: TemplateLiteralExpression): void; - visitRegexpLiteralExpression(node: RegexpLiteralExpression): void; - visitNewExpression(node: NewExpression): void; - visitParenthesizedExpression(node: ParenthesizedExpression): void; - visitPropertyAccessExpression(node: PropertyAccessExpression): void; - visitTernaryExpression(node: TernaryExpression): void; - visitUnaryExpression(node: UnaryExpression): void; - visitUnaryPostfixExpression(node: UnaryPostfixExpression): void; - visitUnaryPrefixExpression(node: UnaryPrefixExpression): void; - visitNodeAndTerminate(node: Node): void; - visitBlockStatement(node: BlockStatement): void; - visitBreakStatement(node: BreakStatement): void; - visitContinueStatement(node: ContinueStatement): void; - visitClassDeclaration(node: ClassDeclaration, isDefault?: boolean): void; - visitDoStatement(node: DoStatement): void; - visitEmptyStatement(node: EmptyStatement): void; - visitEnumDeclaration(node: EnumDeclaration, isDefault?: boolean): void; - visitEnumValueDeclaration(node: EnumValueDeclaration): void; - visitExportImportStatement(node: ExportImportStatement): void; - visitExportMember(node: ExportMember): void; - visitExportStatement(node: ExportStatement): void; - visitExportDefaultStatement(node: ExportDefaultStatement): void; - visitExpressionStatement(node: ExpressionStatement): void; - visitFieldDeclaration(node: FieldDeclaration): void; - visitForStatement(node: ForStatement): void; - visitForOfStatement(node: ForOfStatement): void; - visitFunctionDeclaration(node: FunctionDeclaration, isDefault?: boolean): void; - visitFunctionCommon(node: FunctionDeclaration): void; - visitIfStatement(node: IfStatement): void; - visitImportDeclaration(node: ImportDeclaration): void; - visitImportStatement(node: ImportStatement): void; - visitIndexSignature(node: IndexSignatureNode): void; - visitInterfaceDeclaration(node: InterfaceDeclaration, isDefault?: boolean): void; - visitMethodDeclaration(node: MethodDeclaration): void; - visitNamespaceDeclaration(node: NamespaceDeclaration, isDefault?: boolean): void; - visitReturnStatement(node: ReturnStatement): void; - visitSwitchCase(node: SwitchCase): void; - visitSwitchStatement(node: SwitchStatement): void; - visitThrowStatement(node: ThrowStatement): void; - visitTryStatement(node: TryStatement): void; - visitTypeDeclaration(node: TypeDeclaration): void; - visitModuleDeclaration(node: ModuleDeclaration): void; - visitVariableDeclaration(node: VariableDeclaration): void; - visitVariableStatement(node: VariableStatement): void; - visitWhileStatement(node: WhileStatement): void; - serializeDecorator(node: DecoratorNode): void; - serializeParameter(node: ParameterNode): void; - serializeExternalModifiers(node: DeclarationStatement): void; - serializeAccessModifiers(node: DeclarationStatement): void; - finish(): string; - } -} -declare module "types:assemblyscript/src/index-js" { - import "types:assemblyscript/src/glue/js/index"; - export * from "types:assemblyscript/src/index-wasm"; - export * from "types:assemblyscript/src/ast"; - export * from "types:assemblyscript/src/common"; - export * from "types:assemblyscript/src/compiler"; - export * from "types:assemblyscript/src/bindings"; - export * from "types:assemblyscript/src/diagnostics"; - export * from "types:assemblyscript/src/flow"; - export * from "types:assemblyscript/src/module"; - export * from "types:assemblyscript/src/parser"; - export * from "types:assemblyscript/src/program"; - export * from "types:assemblyscript/src/resolver"; - export * from "types:assemblyscript/src/tokenizer"; - export * from "types:assemblyscript/src/types"; - export * from "types:assemblyscript/src/extra/ast"; - import * as util from "types:assemblyscript/src/util"; - export { util }; -} -declare module "types:assemblyscript/src/index" { - /** - * @license - * Copyright 2020 Daniel Wirtz / The AssemblyScript Authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * SPDX-License-Identifier: Apache-2.0 - */ - export * from "types:assemblyscript/src/index-js"; - import * as assemblyscript from "types:assemblyscript/src/index-js"; - export default assemblyscript; -} -declare module "types:assemblyscript/src/passes/ministack" { - /** - * @fileoverview A potential minimalistic shadow stack. Currently not used. - * - * Instruments a module's exports to track when the execution stack is fully - * unwound, and injects a call to `__autocollect` to be invoked when it is. - * Accounts for the currently in-flight managed return value from Wasm to the - * host by pushing it to a mini stack, essentially a stack of only one value, - * while `__autocollect` is executing. - * - * @license Apache-2.0 - */ - import { Pass } from "types:assemblyscript/src/passes/pass"; - import { ExportRef, Module } from "types:assemblyscript/src/module"; - import { Program } from "types:assemblyscript/src/program"; - /** Instruments a module with a minimalistic shadow stack for precise GC. */ - export class MiniStack extends Pass { - /** Compiler reference. */ - program: Program; - /** Exported functions returning managed values. */ - managedReturns: Set; - constructor(module: Module, program: Program); - /** Notes the presence of an exported function with a managed return value. */ - noteManagedReturn(exportName: string): void; - /** Instruments a function export to also maintain stack depth. */ - instrumentFunctionExport(ref: ExportRef): void; - /** Runs the pass. Returns `true` if the mini stack has been added. */ - run(): boolean; - } -} -declare module "types:assemblyscript/std/assembly/shared/feature" { - /** Indicates specific features to activate. */ - export const enum Feature { - /** No additional features. */ - None = 0, - /** Sign extension operations. */ - SignExtension = 1, - /** Mutable global imports and exports. */ - MutableGlobals = 2, - /** Non-trapping float to integer operations. */ - NontrappingF2I = 4, - /** Bulk memory operations. */ - BulkMemory = 8, - /** SIMD types and operations. */ - Simd = 16, - /** Threading and atomic operations. */ - Threads = 32, - /** Exception handling operations. */ - ExceptionHandling = 64, - /** Tail call operations. */ - TailCalls = 128, - /** Reference types. */ - ReferenceTypes = 256, - /** Multi value types. */ - MultiValue = 512, - /** Garbage collection. */ - GC = 1024, - /** Memory64. */ - Memory64 = 2048, - /** Relaxed SIMD. */ - RelaxedSimd = 4096, - /** Extended const expressions. */ - ExtendedConst = 8192, - /** Reference typed strings. */ - Stringref = 16384, - /** All features. */ - All = 32767 - } - /** Gets the name of the specified feature one would specify on the command line. */ - export function featureToString(feature: Feature): string; -} -declare module "types:assemblyscript/std/assembly/shared/runtime" { - /** Runtime types. */ - export enum Runtime { - /** Simple bump allocator without GC. */ - Stub = 0, - /** Stop the world semi-automatic GC. */ - Minimal = 1, - /** incremental GC. */ - Incremental = 2 - } -} -declare module "types:assemblyscript/std/assembly/shared/target" { - /** Compilation target. */ - export enum Target { - /** Portable. */ - Js = 0, - /** WebAssembly with 32-bit pointers. */ - Wasm32 = 1, - /** WebAssembly with 64-bit pointers. Experimental and not supported by any runtime yet. */ - Wasm64 = 2 - } -} -declare module "types:assemblyscript/std/assembly/shared/typeinfo" { - /** Runtime type information data structure. */ - export class Typeinfo { - /** Flags describing the shape of this class type. */ - flags: TypeinfoFlags; - } - /** Runtime type information flags. */ - export const enum TypeinfoFlags { - /** No specific flags. */ - NONE = 0, - /** Type is an `ArrayBufferView`. */ - ARRAYBUFFERVIEW = 1, - /** Type is an `Array`. */ - ARRAY = 2, - /** Type is a `StaticArray`. */ - STATICARRAY = 4, - /** Type is a `Set`. */ - SET = 8, - /** Type is a `Map`. */ - MAP = 16, - /** Type has no outgoing pointers. */ - POINTERFREE = 32, - /** Value alignment of 1 byte. */ - VALUE_ALIGN_0 = 64, - /** Value alignment of 2 bytes. */ - VALUE_ALIGN_1 = 128, - /** Value alignment of 4 bytes. */ - VALUE_ALIGN_2 = 256, - /** Value alignment of 8 bytes. */ - VALUE_ALIGN_3 = 512, - /** Value alignment of 16 bytes. */ - VALUE_ALIGN_4 = 1024, - /** Value is a signed type. */ - VALUE_SIGNED = 2048, - /** Value is a float type. */ - VALUE_FLOAT = 4096, - /** Value type is nullable. */ - VALUE_NULLABLE = 8192, - /** Value type is managed. */ - VALUE_MANAGED = 16384, - /** Key alignment of 1 byte. */ - KEY_ALIGN_0 = 32768, - /** Key alignment of 2 bytes. */ - KEY_ALIGN_1 = 65536, - /** Key alignment of 4 bytes. */ - KEY_ALIGN_2 = 131072, - /** Key alignment of 8 bytes. */ - KEY_ALIGN_3 = 262144, - /** Key alignment of 16 bytes. */ - KEY_ALIGN_4 = 524288, - /** Key is a signed type. */ - KEY_SIGNED = 1048576, - /** Key is a float type. */ - KEY_FLOAT = 2097152, - /** Key type is nullable. */ - KEY_NULLABLE = 4194304, - /** Key type is managed. */ - KEY_MANAGED = 8388608 - } -} -declare module "types:assemblyscript/src/glue/binaryen" { - /** - * @fileoverview Portable definitions for Binaryen's C-API. - * - * tsc uses the .js file next to it, while asc makes it a Wasm import. - * - * See: https://github.com/WebAssembly/binaryen/blob/main/src/binaryen-c.h - * - * @license Apache-2.0 - */ - module "binaryen"; - type Ref = number; - export type Index = number; - export type ExpressionId = number; - export type FeatureFlags = number; - export type Op = number; - export type ExternalKind = number; - export type SideEffects = number; - export type ExpressionRunnerFlags = number; - export type StringRef = Ref; - export type Pointer = Ref; - export type ArrayRef = Ref; - export type TypeRef = Ref; - export type HeapTypeRef = Ref; - export type PackedType = number; - export type ModuleRef = Ref; - export type LiteralRef = Ref; - export type ExpressionRef = Ref; - export type FunctionRef = Ref; - export type ImportRef = Ref; - export type ExportRef = Ref; - export type GlobalRef = Ref; - export type TagRef = Ref; - export type TableRef = Ref; - export type ElementSegmentRef = Ref; - export type RelooperRef = Ref; - export type RelooperBlockRef = Ref; - export type ExpressionRunnerRef = Ref; - export type BinaryenModuleAllocateAndWriteResultRef = Ref; - export type TypeBuilderRef = Ref; - export type TypeBuilderErrorReason = number; - export function _BinaryenTypeCreate(types: ArrayRef, numTypes: number): TypeRef; - export function _BinaryenTypeArity(type: TypeRef): number; - export function _BinaryenTypeExpand(type: TypeRef, typesOut: ArrayRef): void; - export function _BinaryenTypeGetHeapType(type: TypeRef): HeapTypeRef; - export function _BinaryenTypeFromHeapType(heapType: HeapTypeRef, nullable: boolean): TypeRef; - export function _BinaryenTypeIsNullable(type: TypeRef): boolean; - export function _BinaryenTypeFuncref(): TypeRef; - export function _BinaryenTypeExternref(): TypeRef; - export function _BinaryenTypeAnyref(): TypeRef; - export function _BinaryenTypeEqref(): TypeRef; - export function _BinaryenTypeStructref(): TypeRef; - export function _BinaryenTypeArrayref(): TypeRef; - export function _BinaryenTypeI31ref(): TypeRef; - export function _BinaryenTypeStringref(): TypeRef; - export function _BinaryenTypeStringviewWTF8(): TypeRef; - export function _BinaryenTypeStringviewWTF16(): TypeRef; - export function _BinaryenTypeStringviewIter(): TypeRef; - export function _BinaryenTypeNullref(): TypeRef; - export function _BinaryenTypeNullExternref(): TypeRef; - export function _BinaryenTypeNullFuncref(): TypeRef; - export function _BinaryenHeapTypeFunc(): HeapTypeRef; - export function _BinaryenHeapTypeExt(): HeapTypeRef; - export function _BinaryenHeapTypeAny(): HeapTypeRef; - export function _BinaryenHeapTypeEq(): HeapTypeRef; - export function _BinaryenHeapTypeI31(): HeapTypeRef; - export function _BinaryenHeapTypeStruct(): HeapTypeRef; - export function _BinaryenHeapTypeArray(): HeapTypeRef; - export function _BinaryenHeapTypeString(): HeapTypeRef; - export function _BinaryenHeapTypeStringviewWTF8(): HeapTypeRef; - export function _BinaryenHeapTypeStringviewWTF16(): HeapTypeRef; - export function _BinaryenHeapTypeStringviewIter(): HeapTypeRef; - export function _BinaryenHeapTypeNone(): HeapTypeRef; - export function _BinaryenHeapTypeNoext(): HeapTypeRef; - export function _BinaryenHeapTypeNofunc(): HeapTypeRef; - export function _BinaryenHeapTypeIsBasic(heapType: HeapTypeRef): boolean; - export function _BinaryenHeapTypeIsSignature(heapType: HeapTypeRef): boolean; - export function _BinaryenHeapTypeIsStruct(heapType: HeapTypeRef): boolean; - export function _BinaryenHeapTypeIsArray(heapType: HeapTypeRef): boolean; - export function _BinaryenHeapTypeIsBottom(heapType: HeapTypeRef): boolean; - export function _BinaryenHeapTypeGetBottom(heapType: HeapTypeRef): HeapTypeRef; - export function _BinaryenHeapTypeIsSubType(left: HeapTypeRef, right: HeapTypeRef): boolean; - export function _BinaryenStructTypeGetNumFields(heapType: HeapTypeRef): Index; - export function _BinaryenStructTypeGetFieldType(heapType: HeapTypeRef, index: Index): TypeRef; - export function _BinaryenStructTypeGetFieldPackedType(heapType: HeapTypeRef, index: Index): PackedType; - export function _BinaryenStructTypeIsFieldMutable(heapType: HeapTypeRef, index: Index): boolean; - export function _BinaryenArrayTypeGetElementType(heapType: HeapTypeRef): TypeRef; - export function _BinaryenArrayTypeGetElementPackedType(heapType: HeapTypeRef): PackedType; - export function _BinaryenArrayTypeIsElementMutable(heapType: HeapTypeRef): boolean; - export function _BinaryenSignatureTypeGetParams(heapType: HeapTypeRef): TypeRef; - export function _BinaryenSignatureTypeGetResults(heapType: HeapTypeRef): TypeRef; - export function _BinaryenModuleCreate(): ModuleRef; - export function _BinaryenModuleDispose(module: ModuleRef): void; - export function _BinaryenSizeofLiteral(): number; - export function _BinaryenLiteralInt32(literalOut: LiteralRef, x: number): void; - export function _BinaryenLiteralInt64(literalOut: LiteralRef, x: number, y: number): void; - export function _BinaryenLiteralFloat32(literalOut: LiteralRef, x: number): void; - export function _BinaryenLiteralFloat64(literalOut: LiteralRef, x: number): void; - export function _BinaryenLiteralVec128(literalOut: LiteralRef, x: ArrayRef): void; - export function _BinaryenLiteralFloat32Bits(literalOut: LiteralRef, x: number): void; - export function _BinaryenLiteralFloat64Bits(literalOut: LiteralRef, x: number, y: number): void; - export function _BinaryenExpressionGetId(expr: ExpressionRef): ExpressionId; - export function _BinaryenExpressionGetType(expr: ExpressionRef): TypeRef; - export function _BinaryenExpressionSetType(expr: ExpressionRef, type: TypeRef): void; - export function _BinaryenExpressionPrint(expr: ExpressionRef): void; - export function _BinaryenExpressionCopy(expr: ExpressionRef, module: ModuleRef): ExpressionRef; - export function _BinaryenExpressionFinalize(expr: ExpressionRef): void; - export function _BinaryenBlock(module: ModuleRef, name: StringRef, childExprs: ArrayRef, numChildren: Index, type: TypeRef): ExpressionRef; - export function _BinaryenBlockGetName(expr: ExpressionRef): StringRef; - export function _BinaryenBlockSetName(expr: ExpressionRef, name: StringRef): void; - export function _BinaryenBlockGetNumChildren(expr: ExpressionRef): Index; - export function _BinaryenBlockGetChildAt(expr: ExpressionRef, index: Index): ExpressionRef; - export function _BinaryenBlockSetChildAt(expr: ExpressionRef, index: Index, childExpr: ExpressionRef): void; - export function _BinaryenBlockAppendChild(expr: ExpressionRef, childExpr: ExpressionRef): Index; - export function _BinaryenBlockInsertChildAt(expr: ExpressionRef, index: Index, childExpr: ExpressionRef): void; - export function _BinaryenBlockRemoveChildAt(expr: ExpressionRef, index: Index): ExpressionRef; - export function _BinaryenIf(module: ModuleRef, conditionExpr: ExpressionRef, ifTrueExpr: ExpressionRef, ifFalseExpr: ExpressionRef): ExpressionRef; - export function _BinaryenIfGetCondition(expr: ExpressionRef): ExpressionRef; - export function _BinaryenIfSetCondition(expr: ExpressionRef, conditionExpr: ExpressionRef): void; - export function _BinaryenIfGetIfTrue(expr: ExpressionRef): ExpressionRef; - export function _BinaryenIfSetIfTrue(expr: ExpressionRef, ifTrueExpr: ExpressionRef): void; - export function _BinaryenIfGetIfFalse(expr: ExpressionRef): ExpressionRef; - export function _BinaryenIfSetIfFalse(expr: ExpressionRef, ifFalseExpr: ExpressionRef): void; - export function _BinaryenLoop(module: ModuleRef, name: StringRef, bodyExpr: ExpressionRef): ExpressionRef; - export function _BinaryenLoopGetName(expr: ExpressionRef): StringRef; - export function _BinaryenLoopSetName(expr: ExpressionRef, name: StringRef): void; - export function _BinaryenLoopGetBody(expr: ExpressionRef): ExpressionRef; - export function _BinaryenLoopSetBody(expr: ExpressionRef, bodyExpr: ExpressionRef): void; - export function _BinaryenBreak(module: ModuleRef, name: StringRef, conditionExpr: ExpressionRef, valueExpr: ExpressionRef): ExpressionRef; - export function _BinaryenBreakGetName(expr: ExpressionRef): StringRef; - export function _BinaryenBreakSetName(expr: ExpressionRef, name: StringRef): void; - export function _BinaryenBreakGetCondition(expr: ExpressionRef): ExpressionRef; - export function _BinaryenBreakSetCondition(expr: ExpressionRef, conditionExpr: ExpressionRef): void; - export function _BinaryenBreakGetValue(expr: ExpressionRef): ExpressionRef; - export function _BinaryenBreakSetValue(expr: ExpressionRef, valueExpr: ExpressionRef): void; - export function _BinaryenSwitch(module: ModuleRef, names: ArrayRef, numNames: Index, defaultName: StringRef, conditionExpr: ExpressionRef, valueExpr: ExpressionRef): ExpressionRef; - export function _BinaryenSwitchGetNumNames(expr: ExpressionRef): Index; - export function _BinaryenSwitchGetNameAt(expr: ExpressionRef, index: Index): StringRef; - export function _BinaryenSwitchSetNameAt(expr: ExpressionRef, index: Index, name: StringRef): void; - export function _BinaryenSwitchAppendName(expr: ExpressionRef, name: StringRef): Index; - export function _BinaryenSwitchInsertNameAt(expr: ExpressionRef, index: Index, name: StringRef): void; - export function _BinaryenSwitchRemoveNameAt(expr: ExpressionRef, index: Index): StringRef; - export function _BinaryenSwitchGetDefaultName(expr: ExpressionRef): StringRef; - export function _BinaryenSwitchSetDefaultName(expr: ExpressionRef, defaultName: StringRef): void; - export function _BinaryenSwitchGetCondition(expr: ExpressionRef): ExpressionRef; - export function _BinaryenSwitchSetCondition(expr: ExpressionRef, conditionExpr: ExpressionRef): void; - export function _BinaryenSwitchGetValue(expr: ExpressionRef): ExpressionRef; - export function _BinaryenSwitchSetValue(expr: ExpressionRef, valueExpr: ExpressionRef): void; - export function _BinaryenCall(module: ModuleRef, targetName: StringRef, operandExprs: ArrayRef, numOperands: Index, returnType: TypeRef): ExpressionRef; - export function _BinaryenCallGetTarget(expr: ExpressionRef): StringRef; - export function _BinaryenCallSetTarget(expr: ExpressionRef, targetName: StringRef): void; - export function _BinaryenCallGetNumOperands(expr: ExpressionRef): Index; - export function _BinaryenCallGetOperandAt(expr: ExpressionRef, index: Index): ExpressionRef; - export function _BinaryenCallSetOperandAt(expr: ExpressionRef, index: Index, operandExpr: ExpressionRef): void; - export function _BinaryenCallAppendOperand(expr: ExpressionRef, operandExpr: ExpressionRef): Index; - export function _BinaryenCallInsertOperandAt(expr: ExpressionRef, index: Index, operandExpr: ExpressionRef): void; - export function _BinaryenCallRemoveOperandAt(expr: ExpressionRef, index: Index): ExpressionRef; - export function _BinaryenCallIsReturn(expr: ExpressionRef): boolean; - export function _BinaryenCallSetReturn(expr: ExpressionRef, isReturn: boolean): void; - // ^ with return = true - export function _BinaryenReturnCall(module: ModuleRef, targetName: StringRef, operandExprs: ArrayRef, numOperands: Index, returnType: TypeRef): ExpressionRef; - export function _BinaryenCallIndirect(module: ModuleRef, table: StringRef, targetExpr: ExpressionRef, operandExprs: ArrayRef, numOperands: Index, params: TypeRef, results: TypeRef): ExpressionRef; - export function _BinaryenCallIndirectGetTable(expr: ExpressionRef): StringRef; - export function _BinaryenCallIndirectSetTable(expr: ExpressionRef, table: StringRef): void; - export function _BinaryenCallIndirectGetTarget(expr: ExpressionRef): ExpressionRef; - export function _BinaryenCallIndirectSetTarget(expr: ExpressionRef, targetExpr: ExpressionRef): void; - export function _BinaryenCallIndirectGetNumOperands(expr: ExpressionRef): Index; - export function _BinaryenCallIndirectGetOperandAt(expr: ExpressionRef, index: Index): ExpressionRef; - export function _BinaryenCallIndirectSetOperandAt(expr: ExpressionRef, index: Index, operandExpr: ExpressionRef): void; - export function _BinaryenCallIndirectAppendOperand(expr: ExpressionRef, operandExpr: ExpressionRef): Index; - export function _BinaryenCallIndirectInsertOperandAt(expr: ExpressionRef, index: Index, operandExpr: ExpressionRef): void; - export function _BinaryenCallIndirectRemoveOperandAt(expr: ExpressionRef, index: Index): ExpressionRef; - export function _BinaryenCallIndirectIsReturn(expr: ExpressionRef): boolean; - export function _BinaryenCallIndirectSetReturn(expr: ExpressionRef, isReturn: boolean): void; - // ^ with return = true - export function _BinaryenReturnCallIndirect(module: ModuleRef, table: StringRef, targetExpr: ExpressionRef, operandExprs: ArrayRef, numOperands: Index, params: TypeRef, results: TypeRef): ExpressionRef; - export function _BinaryenLocalGet(module: ModuleRef, index: Index, type: TypeRef): ExpressionRef; - export function _BinaryenLocalGetGetIndex(expr: ExpressionRef): Index; - export function _BinaryenLocalGetSetIndex(expr: ExpressionRef, index: Index): void; - export function _BinaryenLocalSet(module: ModuleRef, index: Index, valueExpr: ExpressionRef): ExpressionRef; - export function _BinaryenLocalSetIsTee(expr: ExpressionRef): boolean; - export function _BinaryenLocalSetGetIndex(expr: ExpressionRef): Index; - export function _BinaryenLocalSetSetIndex(expr: ExpressionRef, index: Index): void; - export function _BinaryenLocalSetGetValue(expr: ExpressionRef): ExpressionRef; - export function _BinaryenLocalSetSetValue(expr: ExpressionRef, valueExpr: ExpressionRef): void; - // ^ with type != none - export function _BinaryenLocalTee(module: ModuleRef, index: Index, valueExpr: ExpressionRef, type: TypeRef): ExpressionRef; - export function _BinaryenGlobalGet(module: ModuleRef, name: StringRef, type: TypeRef): ExpressionRef; - export function _BinaryenGlobalGetGetName(expr: ExpressionRef): StringRef; - export function _BinaryenGlobalGetSetName(expr: ExpressionRef, name: StringRef): void; - export function _BinaryenGlobalSet(module: ModuleRef, name: StringRef, value: ExpressionRef): ExpressionRef; - export function _BinaryenGlobalSetGetName(expr: ExpressionRef): StringRef; - export function _BinaryenGlobalSetSetName(expr: ExpressionRef, name: StringRef): void; - export function _BinaryenGlobalSetGetValue(expr: ExpressionRef): ExpressionRef; - export function _BinaryenGlobalSetSetValue(expr: ExpressionRef, valueExpr: ExpressionRef): void; - export function _BinaryenMemorySize(module: ModuleRef, memoryName: StringRef, memoryIs64: boolean): ExpressionRef; - export function _BinaryenMemoryGrow(module: ModuleRef, delta: ExpressionRef, memoryName: StringRef, memoryIs64: boolean): ExpressionRef; - export function _BinaryenMemoryGrowGetDelta(expr: ExpressionRef): ExpressionRef; - export function _BinaryenMemoryGrowSetDelta(expr: ExpressionRef, delta: ExpressionRef): void; - export function _BinaryenLoad(module: ModuleRef, bytes: number, signed: boolean, offset: number, align: number, type: TypeRef, ptrExpr: ExpressionRef, memoryName: StringRef): ExpressionRef; - export function _BinaryenLoadIsAtomic(expr: ExpressionRef): boolean; - export function _BinaryenLoadSetAtomic(expr: ExpressionRef, isAtomic: boolean): void; - export function _BinaryenLoadIsSigned(expr: ExpressionRef): boolean; - export function _BinaryenLoadSetSigned(expr: ExpressionRef, isSigned: boolean): void; - export function _BinaryenLoadGetOffset(expr: ExpressionRef): number; - export function _BinaryenLoadSetOffset(expr: ExpressionRef, offset: number): void; - export function _BinaryenLoadGetBytes(expr: ExpressionRef): number; - export function _BinaryenLoadSetBytes(expr: ExpressionRef, bytes: number): void; - export function _BinaryenLoadGetAlign(expr: ExpressionRef): number; - export function _BinaryenLoadSetAlign(expr: ExpressionRef, align: number): void; - export function _BinaryenLoadGetPtr(expr: ExpressionRef): ExpressionRef; - export function _BinaryenLoadSetPtr(expr: ExpressionRef, ptrExpr: ExpressionRef): void; - // ^ with atomic = true - export function _BinaryenAtomicLoad(module: ModuleRef, bytes: Index, offset: Index, type: TypeRef, ptrExpr: ExpressionRef, memoryName: StringRef): ExpressionRef; - export function _BinaryenStore(module: ModuleRef, bytes: number, offset: number, align: number, ptrExpr: ExpressionRef, valueExpr: ExpressionRef, type: TypeRef, memoryName: StringRef): ExpressionRef; - export function _BinaryenStoreIsAtomic(expr: ExpressionRef): boolean; - export function _BinaryenStoreSetAtomic(expr: ExpressionRef, isAtomic: boolean): void; - export function _BinaryenStoreGetBytes(expr: ExpressionRef): number; - export function _BinaryenStoreSetBytes(expr: ExpressionRef, bytes: number): void; - export function _BinaryenStoreGetOffset(expr: ExpressionRef): number; - export function _BinaryenStoreSetOffset(expr: ExpressionRef, offset: number): void; - export function _BinaryenStoreGetAlign(expr: ExpressionRef): number; - export function _BinaryenStoreSetAlign(expr: ExpressionRef, align: number): void; - export function _BinaryenStoreGetPtr(expr: ExpressionRef): ExpressionRef; - export function _BinaryenStoreSetPtr(expr: ExpressionRef, ptrExpr: ExpressionRef): void; - export function _BinaryenStoreGetValue(expr: ExpressionRef): ExpressionRef; - export function _BinaryenStoreSetValue(expr: ExpressionRef, valueExpr: ExpressionRef): void; - export function _BinaryenStoreGetValueType(expr: ExpressionRef): TypeRef; - export function _BinaryenStoreSetValueType(expr: ExpressionRef, valueType: TypeRef): void; - // ^ with atomic = true - export function _BinaryenAtomicStore(module: ModuleRef, bytes: Index, offset: Index, ptrExpr: ExpressionRef, valueExpr: ExpressionRef, type: TypeRef, memoryName: StringRef): ExpressionRef; - export function _BinaryenConst(module: ModuleRef, value: LiteralRef): ExpressionRef; - export function _BinaryenConstGetValueI32(expr: ExpressionRef): number; - export function _BinaryenConstSetValueI32(expr: ExpressionRef, value: number): void; - export function _BinaryenConstGetValueI64Low(expr: ExpressionRef): number; - export function _BinaryenConstSetValueI64Low(expr: ExpressionRef, value: number): void; - export function _BinaryenConstGetValueI64High(expr: ExpressionRef): number; - export function _BinaryenConstSetValueI64High(expr: ExpressionRef, value: number): void; - export function _BinaryenConstGetValueF32(expr: ExpressionRef): number; - export function _BinaryenConstSetValueF32(expr: ExpressionRef, value: number): void; - export function _BinaryenConstGetValueF64(expr: ExpressionRef): number; - export function _BinaryenConstSetValueF64(expr: ExpressionRef, value: number): void; - export function _BinaryenConstGetValueV128(expr: ExpressionRef, valueOut: ArrayRef): void; - export function _BinaryenConstSetValueV128(expr: ExpressionRef, value: ArrayRef): void; - export function _BinaryenUnary(module: ModuleRef, op: Op, valueExpr: ExpressionRef): ExpressionRef; - export function _BinaryenUnaryGetOp(expr: ExpressionRef): Op; - export function _BinaryenUnarySetOp(expr: ExpressionRef, op: Op): void; - export function _BinaryenUnaryGetValue(expr: ExpressionRef): ExpressionRef; - export function _BinaryenUnarySetValue(expr: ExpressionRef, valueExpr: ExpressionRef): void; - export function _BinaryenBinary(module: ModuleRef, op: Op, leftExpr: ExpressionRef, rightExpr: ExpressionRef): ExpressionRef; - export function _BinaryenBinaryGetOp(expr: ExpressionRef): Op; - export function _BinaryenBinarySetOp(expr: ExpressionRef, op: Op): void; - export function _BinaryenBinaryGetLeft(expr: ExpressionRef): ExpressionRef; - export function _BinaryenBinarySetLeft(expr: ExpressionRef, leftExpr: ExpressionRef): void; - export function _BinaryenBinaryGetRight(expr: ExpressionRef): ExpressionRef; - export function _BinaryenBinarySetRight(expr: ExpressionRef, rightExpr: ExpressionRef): void; - export function _BinaryenSelect(module: ModuleRef, conditionExpr: ExpressionRef, ifTrueExpr: ExpressionRef, ifFalseExpr: ExpressionRef, type: TypeRef): ExpressionRef; - export function _BinaryenSelectGetIfTrue(expr: ExpressionRef): ExpressionRef; - export function _BinaryenSelectSetIfTrue(expr: ExpressionRef, ifTrueExpr: ExpressionRef): void; - export function _BinaryenSelectGetIfFalse(expr: ExpressionRef): ExpressionRef; - export function _BinaryenSelectSetIfFalse(expr: ExpressionRef, ifFalseExpr: ExpressionRef): void; - export function _BinaryenSelectGetCondition(expr: ExpressionRef): ExpressionRef; - export function _BinaryenSelectSetCondition(expr: ExpressionRef, conditionExpr: ExpressionRef): void; - export function _BinaryenDrop(module: ModuleRef, valueExpr: ExpressionRef): ExpressionRef; - export function _BinaryenDropGetValue(expr: ExpressionRef): ExpressionRef; - export function _BinaryenDropSetValue(expr: ExpressionRef, valueExpr: ExpressionRef): void; - export function _BinaryenReturn(module: ModuleRef, valueExpr: ExpressionRef): ExpressionRef; - export function _BinaryenReturnGetValue(expr: ExpressionRef): ExpressionRef; - export function _BinaryenReturnSetValue(expr: ExpressionRef, valueExpr: ExpressionRef): void; - export function _BinaryenNop(module: ModuleRef): ExpressionRef; - export function _BinaryenUnreachable(module: ModuleRef): ExpressionRef; - export function _BinaryenAtomicRMW(module: ModuleRef, op: Op, bytes: number, offset: number, ptrExpr: ExpressionRef, valueExpr: ExpressionRef, type: TypeRef, memoryName: StringRef): ExpressionRef; - export function _BinaryenAtomicRMWGetOp(expr: ExpressionRef): Op; - export function _BinaryenAtomicRMWSetOp(expr: ExpressionRef, op: Op): void; - export function _BinaryenAtomicRMWGetBytes(expr: ExpressionRef): number; - export function _BinaryenAtomicRMWSetBytes(expr: ExpressionRef, bytes: number): void; - export function _BinaryenAtomicRMWGetOffset(expr: ExpressionRef): number; - export function _BinaryenAtomicRMWSetOffset(expr: ExpressionRef, offset: number): void; - export function _BinaryenAtomicRMWGetPtr(expr: ExpressionRef): ExpressionRef; - export function _BinaryenAtomicRMWSetPtr(expr: ExpressionRef, ptrExpr: ExpressionRef): void; - export function _BinaryenAtomicRMWGetValue(expr: ExpressionRef): ExpressionRef; - export function _BinaryenAtomicRMWSetValue(expr: ExpressionRef, valueExpr: ExpressionRef): void; - export function _BinaryenAtomicCmpxchg(module: ModuleRef, bytes: number, offset: number, ptrExpr: ExpressionRef, expectedExpr: ExpressionRef, replacementExpr: ExpressionRef, type: TypeRef, memoryName: StringRef): ExpressionRef; - export function _BinaryenAtomicCmpxchgGetBytes(expr: ExpressionRef): number; - export function _BinaryenAtomicCmpxchgSetBytes(expr: ExpressionRef, bytes: number): void; - export function _BinaryenAtomicCmpxchgGetOffset(expr: ExpressionRef): number; - export function _BinaryenAtomicCmpxchgSetOffset(expr: ExpressionRef, offset: number): void; - export function _BinaryenAtomicCmpxchgGetPtr(expr: ExpressionRef): ExpressionRef; - export function _BinaryenAtomicCmpxchgSetPtr(expr: ExpressionRef, ptrExpr: ExpressionRef): void; - export function _BinaryenAtomicCmpxchgGetExpected(expr: ExpressionRef): ExpressionRef; - export function _BinaryenAtomicCmpxchgSetExpected(expr: ExpressionRef, expectedExpr: ExpressionRef): void; - export function _BinaryenAtomicCmpxchgGetReplacement(expr: ExpressionRef): ExpressionRef; - export function _BinaryenAtomicCmpxchgSetReplacement(expr: ExpressionRef, replacementExpr: ExpressionRef): void; - export function _BinaryenAtomicWait(module: ModuleRef, ptrExpr: ExpressionRef, expectedExpr: ExpressionRef, timeoutExpr: ExpressionRef, expectedType: TypeRef, memoryName: StringRef): ExpressionRef; - export function _BinaryenAtomicWaitGetPtr(expr: ExpressionRef): ExpressionRef; - export function _BinaryenAtomicWaitSetPtr(expr: ExpressionRef, ptrExpr: ExpressionRef): void; - export function _BinaryenAtomicWaitGetExpected(expr: ExpressionRef): ExpressionRef; - export function _BinaryenAtomicWaitSetExpected(expr: ExpressionRef, expectedExpr: ExpressionRef): void; - export function _BinaryenAtomicWaitGetTimeout(expr: ExpressionRef): ExpressionRef; - export function _BinaryenAtomicWaitSetTimeout(expr: ExpressionRef, timeoutExpr: ExpressionRef): void; - export function _BinaryenAtomicWaitGetExpectedType(expr: ExpressionRef): TypeRef; - export function _BinaryenAtomicWaitSetExpectedType(expr: ExpressionRef, expectedType: TypeRef): void; - export function _BinaryenAtomicNotify(module: ModuleRef, ptrExpr: ExpressionRef, notifyCountExpr: ExpressionRef, memoryName: StringRef): ExpressionRef; - export function _BinaryenAtomicNotifyGetPtr(expr: ExpressionRef): ExpressionRef; - export function _BinaryenAtomicNotifySetPtr(expr: ExpressionRef, ptrExpr: ExpressionRef): void; - export function _BinaryenAtomicNotifyGetNotifyCount(expr: ExpressionRef): ExpressionRef; - export function _BinaryenAtomicNotifySetNotifyCount(expr: ExpressionRef, notifyCountExpr: ExpressionRef): void; - export function _BinaryenAtomicFence(module: ModuleRef, memoryName: StringRef): ExpressionRef; - export function _BinaryenAtomicFenceGetOrder(expr: ExpressionRef): number; // unused - export function _BinaryenAtomicFenceSetOrder(expr: ExpressionRef, order: number): void; // unused - export function _BinaryenSIMDExtract(module: ModuleRef, op: Op, vecExpr: ExpressionRef, index: number): ExpressionRef; - export function _BinaryenSIMDExtractGetOp(expr: ExpressionRef): Op; - export function _BinaryenSIMDExtractSetOp(expr: ExpressionRef, op: Op): void; - export function _BinaryenSIMDExtractGetVec(expr: ExpressionRef): ExpressionRef; - export function _BinaryenSIMDExtractSetVec(expr: ExpressionRef, vecExpr: ExpressionRef): void; - export function _BinaryenSIMDExtractGetIndex(expr: ExpressionRef): number; - export function _BinaryenSIMDExtractSetIndex(expr: ExpressionRef, index: number): void; - export function _BinaryenSIMDReplace(module: ModuleRef, op: Op, vecEpr: ExpressionRef, index: number, valueExpr: ExpressionRef): ExpressionRef; - export function _BinaryenSIMDReplaceGetOp(expr: ExpressionRef): Op; - export function _BinaryenSIMDReplaceSetOp(expr: ExpressionRef, op: Op): void; - export function _BinaryenSIMDReplaceGetVec(expr: ExpressionRef): ExpressionRef; - export function _BinaryenSIMDReplaceSetVec(expr: ExpressionRef, vecExpr: ExpressionRef): void; - export function _BinaryenSIMDReplaceGetIndex(expr: ExpressionRef): number; - export function _BinaryenSIMDReplaceSetIndex(expr: ExpressionRef, index: number): void; - export function _BinaryenSIMDReplaceGetValue(expr: ExpressionRef): ExpressionRef; - export function _BinaryenSIMDReplaceSetValue(expr: ExpressionRef, valueExpr: ExpressionRef): void; - export function _BinaryenSIMDShuffle(module: ModuleRef, leftExpr: ExpressionRef, rightExpr: ExpressionRef, mask: ArrayRef): ExpressionRef; - export function _BinaryenSIMDShuffleGetLeft(expr: ExpressionRef): ExpressionRef; - export function _BinaryenSIMDShuffleSetLeft(expr: ExpressionRef, leftExpr: ExpressionRef): void; - export function _BinaryenSIMDShuffleGetRight(expr: ExpressionRef): ExpressionRef; - export function _BinaryenSIMDShuffleSetRight(expr: ExpressionRef, rightExpr: ExpressionRef): void; - export function _BinaryenSIMDShuffleGetMask(expr: ExpressionRef, maskOut: ArrayRef): void; - export function _BinaryenSIMDShuffleSetMask(expr: ExpressionRef, mask: ArrayRef): void; - export function _BinaryenSIMDTernary(module: ModuleRef, op: Op, aExpr: ExpressionRef, bExpr: ExpressionRef, cExpr: ExpressionRef): ExpressionRef; - export function _BinaryenSIMDTernaryGetOp(expr: ExpressionRef): Op; - export function _BinaryenSIMDTernarySetOp(expr: ExpressionRef, op: Op): void; - export function _BinaryenSIMDTernaryGetA(expr: ExpressionRef): ExpressionRef; - export function _BinaryenSIMDTernarySetA(expr: ExpressionRef, aExpr: ExpressionRef): void; - export function _BinaryenSIMDTernaryGetB(expr: ExpressionRef): ExpressionRef; - export function _BinaryenSIMDTernarySetB(expr: ExpressionRef, bExpr: ExpressionRef): void; - export function _BinaryenSIMDTernaryGetC(expr: ExpressionRef): ExpressionRef; - export function _BinaryenSIMDTernarySetC(expr: ExpressionRef, cExpr: ExpressionRef): void; - export function _BinaryenSIMDShift(module: ModuleRef, op: Op, vecExpr: ExpressionRef, shiftExpr: ExpressionRef): ExpressionRef; - export function _BinaryenSIMDShiftGetOp(expr: ExpressionRef): Op; - export function _BinaryenSIMDShiftSetOp(expr: ExpressionRef, op: Op): void; - export function _BinaryenSIMDShiftGetVec(expr: ExpressionRef): ExpressionRef; - export function _BinaryenSIMDShiftSetVec(expr: ExpressionRef, vecExpr: ExpressionRef): void; - export function _BinaryenSIMDShiftGetShift(expr: ExpressionRef): ExpressionRef; - export function _BinaryenSIMDShiftSetShift(expr: ExpressionRef, shiftExpr: ExpressionRef): void; - export function _BinaryenSIMDLoad(module: ModuleRef, op: Op, offset: number, align: number, ptrExpr: ExpressionRef, memoryName: StringRef): ExpressionRef; - export function _BinaryenSIMDLoadGetOp(expr: ExpressionRef): Op; - export function _BinaryenSIMDLoadSetOp(expr: ExpressionRef, op: Op): void; - export function _BinaryenSIMDLoadGetOffset(expr: ExpressionRef): number; - export function _BinaryenSIMDLoadSetOffset(expr: ExpressionRef, offset: number): void; - export function _BinaryenSIMDLoadGetAlign(expr: ExpressionRef): number; - export function _BinaryenSIMDLoadSetAlign(expr: ExpressionRef, align: number): void; - export function _BinaryenSIMDLoadGetPtr(expr: ExpressionRef): ExpressionRef; - export function _BinaryenSIMDLoadSetPtr(expr: ExpressionRef, ptrExpr: ExpressionRef): void; - export function _BinaryenSIMDLoadStoreLane(module: ModuleRef, op: Op, offset: number, align: number, index: number, ptr: ExpressionRef, vec: ExpressionRef, memoryName: StringRef): ExpressionRef; - export function _BinaryenSIMDLoadStoreLaneGetOp(expr: ExpressionRef): Op; - export function _BinaryenSIMDLoadStoreLaneSetOp(expr: ExpressionRef, op: Op): void; - export function _BinaryenSIMDLoadStoreLaneGetOffset(expr: ExpressionRef): number; - export function _BinaryenSIMDLoadStoreLaneSetOffset(expr: ExpressionRef, offset: number): void; - export function _BinaryenSIMDLoadStoreLaneGetAlign(expr: ExpressionRef): number; - export function _BinaryenSIMDLoadStoreLaneSetAlign(expr: ExpressionRef, align: number): void; - export function _BinaryenSIMDLoadStoreLaneGetIndex(expr: ExpressionRef): number; - export function _BinaryenSIMDLoadStoreLaneSetIndex(expr: ExpressionRef, index: number): void; - export function _BinaryenSIMDLoadStoreLaneGetPtr(expr: ExpressionRef): ExpressionRef; - export function _BinaryenSIMDLoadStoreLaneSetPtr(expr: ExpressionRef, ptrExpr: ExpressionRef): void; - export function _BinaryenSIMDLoadStoreLaneGetVec(expr: ExpressionRef): ExpressionRef; - export function _BinaryenSIMDLoadStoreLaneSetVec(expr: ExpressionRef, vecExpr: ExpressionRef): void; - export function _BinaryenSIMDLoadStoreLaneIsStore(expr: ExpressionRef): boolean; - export function _BinaryenMemoryInit(module: ModuleRef, segmentName: StringRef, destExpr: ExpressionRef, offsetExpr: ExpressionRef, sizeExpr: ExpressionRef, memoryName: StringRef): ExpressionRef; - export function _BinaryenMemoryInitGetSegment(expr: ExpressionRef): StringRef; - export function _BinaryenMemoryInitSetSegment(expr: ExpressionRef, segmentName: StringRef): void; - export function _BinaryenMemoryInitGetDest(expr: ExpressionRef): ExpressionRef; - export function _BinaryenMemoryInitSetDest(expr: ExpressionRef, destExpr: ExpressionRef): void; - export function _BinaryenMemoryInitGetOffset(expr: ExpressionRef): ExpressionRef; - export function _BinaryenMemoryInitSetOffset(expr: ExpressionRef, offsetExpr: ExpressionRef): void; - export function _BinaryenMemoryInitGetSize(expr: ExpressionRef): ExpressionRef; - export function _BinaryenMemoryInitSetSize(expr: ExpressionRef, sizeExpr: ExpressionRef): void; - export function _BinaryenDataDrop(module: ModuleRef, segmentName: StringRef): ExpressionRef; - export function _BinaryenDataDropGetSegment(expr: ExpressionRef): StringRef; - export function _BinaryenDataDropSetSegment(expr: ExpressionRef, segmentName: StringRef): void; - export function _BinaryenMemoryCopy(module: ModuleRef, destExpr: ExpressionRef, sourceExpr: ExpressionRef, sizeExpr: ExpressionRef, destMemoryName: StringRef, sourceMemoryName: StringRef): ExpressionRef; - export function _BinaryenMemoryCopyGetDest(expr: ExpressionRef): ExpressionRef; - export function _BinaryenMemoryCopySetDest(expr: ExpressionRef, destExpr: ExpressionRef): void; - export function _BinaryenMemoryCopyGetSource(expr: ExpressionRef): ExpressionRef; - export function _BinaryenMemoryCopySetSource(expr: ExpressionRef, sourceExpr: ExpressionRef): void; - export function _BinaryenMemoryCopyGetSize(expr: ExpressionRef): ExpressionRef; - export function _BinaryenMemoryCopySetSize(expr: ExpressionRef, sizeExpr: ExpressionRef): void; - export function _BinaryenMemoryFill(module: ModuleRef, destExpr: ExpressionRef, valueExpr: ExpressionRef, sizeExpr: ExpressionRef, memoryName: StringRef): ExpressionRef; - export function _BinaryenMemoryFillGetDest(expr: ExpressionRef): ExpressionRef; - export function _BinaryenMemoryFillSetDest(expr: ExpressionRef, destExpr: ExpressionRef): void; - export function _BinaryenMemoryFillGetValue(expr: ExpressionRef): ExpressionRef; - export function _BinaryenMemoryFillSetValue(expr: ExpressionRef, valueExpr: ExpressionRef): void; - export function _BinaryenMemoryFillGetSize(expr: ExpressionRef): ExpressionRef; - export function _BinaryenMemoryFillSetSize(expr: ExpressionRef, sizeExpr: ExpressionRef): void; - export function _BinaryenRefNull(module: ModuleRef, type: TypeRef): ExpressionRef; - export function _BinaryenRefIsNull(module: ModuleRef, valueExpr: ExpressionRef): ExpressionRef; - export function _BinaryenRefIsNullGetValue(expr: ExpressionRef): ExpressionRef; - export function _BinaryenRefIsNullSetValue(expr: ExpressionRef, valueExpr: ExpressionRef): void; - export function _BinaryenRefAs(module: ModuleRef, op: Op, valueExpr: ExpressionRef): ExpressionRef; - export function _BinaryenRefAsGetOp(expr: ExpressionRef): Op; - export function _BinaryenRefAsSetOp(expr: ExpressionRef, op: Op): void; - export function _BinaryenRefAsGetValue(expr: ExpressionRef): ExpressionRef; - export function _BinaryenRefAsSetValue(expr: ExpressionRef, valueExpr: ExpressionRef): void; - export function _BinaryenRefFunc(module: ModuleRef, funcName: StringRef, type: TypeRef): ExpressionRef; - export function _BinaryenRefFuncGetFunc(expr: ExpressionRef): StringRef; - export function _BinaryenRefFuncSetFunc(expr: ExpressionRef, funcName: StringRef): void; - export function _BinaryenRefEq(module: ModuleRef, leftExpr: ExpressionRef, rightExpr: ExpressionRef): ExpressionRef; - export function _BinaryenRefEqGetLeft(expr: ExpressionRef): ExpressionRef; - export function _BinaryenRefEqSetLeft(expr: ExpressionRef, leftExpr: ExpressionRef): void; - export function _BinaryenRefEqGetRight(expr: ExpressionRef): ExpressionRef; - export function _BinaryenRefEqSetRight(expr: ExpressionRef, rightExpr: ExpressionRef): void; - export function _BinaryenTableGet(module: ModuleRef, name: StringRef, index: ExpressionRef, type: TypeRef): ExpressionRef; - export function _BinaryenTableGetGetTable(expr: ExpressionRef): StringRef; - export function _BinaryenTableGetSetTable(expr: ExpressionRef, table: StringRef): void; - export function _BinaryenTableGetGetIndex(expr: ExpressionRef): ExpressionRef; - export function _BinaryenTableGetSetIndex(expr: ExpressionRef, index: ExpressionRef): void; - export function _BinaryenTableSet(module: ModuleRef, name: StringRef, index: ExpressionRef, value: ExpressionRef): ExpressionRef; - export function _BinaryenTableSetGetTable(expr: ExpressionRef): StringRef; - export function _BinaryenTableSetSetTable(expr: ExpressionRef, table: StringRef): void; - export function _BinaryenTableSetGetIndex(expr: ExpressionRef): ExpressionRef; - export function _BinaryenTableSetSetIndex(expr: ExpressionRef, index: ExpressionRef): void; - export function _BinaryenTableSetGetValue(expr: ExpressionRef): ExpressionRef; - export function _BinaryenTableSetSetValue(expr: ExpressionRef, value: ExpressionRef): void; - export function _BinaryenTableSize(module: ModuleRef, name: StringRef): ExpressionRef; - export function _BinaryenTableSizeGetTable(expr: ExpressionRef): StringRef; - export function _BinaryenTableSizeSetTable(expr: ExpressionRef, table: StringRef): void; - export function _BinaryenTableGrow(module: ModuleRef, name: StringRef, value: ExpressionRef, delta: ExpressionRef): ExpressionRef; - export function _BinaryenTableGrowGetTable(expr: ExpressionRef): StringRef; - export function _BinaryenTableGrowSetTable(expr: ExpressionRef, table: StringRef): void; - export function _BinaryenTableGrowGetValue(expr: ExpressionRef): ExpressionRef; - export function _BinaryenTableGrowSetValue(expr: ExpressionRef, value: ExpressionRef): void; - export function _BinaryenTableGrowGetDelta(expr: ExpressionRef): ExpressionRef; - export function _BinaryenTableGrowSetDelta(expr: ExpressionRef, delta: ExpressionRef): void; - export function _BinaryenTry(module: ModuleRef, name: StringRef, bodyExpr: ExpressionRef, catchTags: ArrayRef, numCatchTags: Index, catchBodies: ArrayRef, numCatchBodies: Index, delegateTarget: StringRef): ExpressionRef; - export function _BinaryenTryGetName(expr: ExpressionRef): StringRef; - export function _BinaryenTrySetName(expr: ExpressionRef, name: StringRef): void; - export function _BinaryenTryGetBody(expr: ExpressionRef): ExpressionRef; - export function _BinaryenTrySetBody(expr: ExpressionRef, bodyExpr: ExpressionRef): void; - export function _BinaryenTryGetNumCatchTags(expr: ExpressionRef): Index; - export function _BinaryenTryGetNumCatchBodies(expr: ExpressionRef): Index; - export function _BinaryenTryGetCatchTagAt(expr: ExpressionRef, index: Index): StringRef; - export function _BinaryenTrySetCatchTagAt(expr: ExpressionRef, index: Index, catchTag: StringRef): void; - export function _BinaryenTryAppendCatchTag(expr: ExpressionRef, catchTag: StringRef): Index; - export function _BinaryenTryInsertCatchTagAt(expr: ExpressionRef, index: Index, catchTag: StringRef): void; - export function _BinaryenTryRemoveCatchTagAt(expr: ExpressionRef, index: Index): StringRef; - export function _BinaryenTryGetCatchBodyAt(expr: ExpressionRef, index: Index): ExpressionRef; - export function _BinaryenTrySetCatchBodyAt(expr: ExpressionRef, index: Index, catchExpr: ExpressionRef): void; - export function _BinaryenTryAppendCatchBody(expr: ExpressionRef, catchExpr: ExpressionRef): Index; - export function _BinaryenTryInsertCatchBodyAt(expr: ExpressionRef, index: Index, catchExpr: ExpressionRef): void; - export function _BinaryenTryRemoveCatchBodyAt(expr: ExpressionRef, index: Index): ExpressionRef; - export function _BinaryenTryHasCatchAll(expr: ExpressionRef): boolean; - export function _BinaryenTryGetDelegateTarget(expr: ExpressionRef): StringRef; - export function _BinaryenTrySetDelegateTarget(expr: ExpressionRef, delegateTarget: StringRef): void; - export function _BinaryenTryIsDelegate(expr: ExpressionRef): boolean; - export function _BinaryenThrow(module: ModuleRef, tagName: StringRef, operands: ArrayRef, numOperands: Index): ExpressionRef; - export function _BinaryenThrowGetTag(expr: ExpressionRef): StringRef; - export function _BinaryenThrowSetTag(expr: ExpressionRef, tagName: StringRef): void; - export function _BinaryenThrowGetNumOperands(expr: ExpressionRef): Index; - export function _BinaryenThrowGetOperandAt(expr: ExpressionRef, index: Index): ExpressionRef; - export function _BinaryenThrowSetOperandAt(expr: ExpressionRef, index: Index, operandExpr: ExpressionRef): void; - export function _BinaryenThrowAppendOperand(expr: ExpressionRef, operandExpr: ExpressionRef): Index; - export function _BinaryenThrowInsertOperandAt(expr: ExpressionRef, index: Index, operandExpr: ExpressionRef): void; - export function _BinaryenThrowRemoveOperandAt(expr: ExpressionRef, index: Index): ExpressionRef; - export function _BinaryenRethrow(module: ModuleRef, target: StringRef): ExpressionRef; - export function _BinaryenRethrowGetTarget(expr: ExpressionRef): StringRef; - export function _BinaryenRethrowSetDepth(expr: ExpressionRef, target: StringRef): void; - export function _BinaryenTupleMake(module: ModuleRef, operandExprs: ArrayRef, numOperands: Index): ExpressionRef; - export function _BinaryenTupleMakeGetNumOperands(expr: ExpressionRef): Index; - export function _BinaryenTupleMakeGetOperandAt(expr: ExpressionRef, index: Index): ExpressionRef; - export function _BinaryenTupleMakeSetOperandAt(expr: ExpressionRef, index: Index, operandExpr: ExpressionRef): void; - export function _BinaryenTupleMakeAppendOperand(expr: ExpressionRef, operandExpr: ExpressionRef): Index; - export function _BinaryenTupleMakeInsertOperandAt(expr: ExpressionRef, index: Index, operandExpr: ExpressionRef): void; - export function _BinaryenTupleMakeRemoveOperandAt(expr: ExpressionRef, index: Index): ExpressionRef; - export function _BinaryenTupleExtract(module: ModuleRef, tupleExpr: ExpressionRef, index: Index): ExpressionRef; - export function _BinaryenTupleExtractGetTuple(expr: ExpressionRef): ExpressionRef; - export function _BinaryenTupleExtractSetTuple(expr: ExpressionRef, tupleExpr: ExpressionRef): void; - export function _BinaryenTupleExtractGetIndex(expr: ExpressionRef): Index; - export function _BinaryenTupleExtractSetIndex(expr: ExpressionRef, index: Index): void; - export function _BinaryenPop(module: ModuleRef, type: TypeRef): ExpressionRef; - export function _BinaryenRefI31(module: ModuleRef, value: ExpressionRef): ExpressionRef; - export function _BinaryenRefI31GetValue(expr: ExpressionRef): ExpressionRef; - export function _BinaryenRefI31SetValue(expr: ExpressionRef, valueExpr: ExpressionRef): void; - export function _BinaryenI31Get(module: ModuleRef, i31Expr: ExpressionRef, signed: boolean): ExpressionRef; - export function _BinaryenI31GetGetI31(expr: ExpressionRef): ExpressionRef; - export function _BinaryenI31GetSetI31(expr: ExpressionRef, i31Expr: ExpressionRef): void; - export function _BinaryenI31GetIsSigned(expr: ExpressionRef): boolean; - export function _BinaryenI31GetSetSigned(expr: ExpressionRef, signed: boolean): void; - export function _BinaryenCallRef(module: ModuleRef, target: ExpressionRef, operands: ArrayRef, numOperands: Index, type: TypeRef, isReturn: boolean): ExpressionRef; - export function _BinaryenCallRefGetNumOperands(expr: ExpressionRef): Index; - export function _BinaryenCallRefGetOperandAt(expr: ExpressionRef, index: Index): ExpressionRef; - export function _BinaryenCallRefSetOperandAt(expr: ExpressionRef, index: Index, operandExpr: ExpressionRef): void; - export function _BinaryenCallRefAppendOperand(expr: ExpressionRef, operandExpr: ExpressionRef): Index; - export function _BinaryenCallRefInsertOperandAt(expr: ExpressionRef, index: Index, operandExpr: ExpressionRef): void; - export function _BinaryenCallRefRemoveOperandAt(expr: ExpressionRef, index: Index): ExpressionRef; - export function _BinaryenCallRefGetTarget(expr: ExpressionRef): ExpressionRef; - export function _BinaryenCallRefSetTarget(expr: ExpressionRef, targetExpr: ExpressionRef): void; - export function _BinaryenCallRefIsReturn(expr: ExpressionRef): boolean; - export function _BinaryenCallRefSetReturn(expr: ExpressionRef, isReturn: boolean): void; - export function _BinaryenRefTest(module: ModuleRef, refExpr: ExpressionRef, castType: HeapTypeRef): ExpressionRef; - export function _BinaryenRefTestGetRef(expr: ExpressionRef): ExpressionRef; - export function _BinaryenRefTestSetRef(expr: ExpressionRef, refExpr: ExpressionRef): void; - export function _BinaryenRefTestGetCastType(expr: ExpressionRef): HeapTypeRef; - export function _BinaryenRefTestSetCastType(expr: ExpressionRef, castType: HeapTypeRef): void; - export function _BinaryenRefCast(module: ModuleRef, refExpr: ExpressionRef, intendedType: HeapTypeRef): ExpressionRef; - export function _BinaryenRefCastGetRef(expr: ExpressionRef): ExpressionRef; - export function _BinaryenRefCastSetRef(expr: ExpressionRef, refExpr: ExpressionRef): void; - export function _BinaryenBrOn(module: ModuleRef, op: Op, name: StringRef, ref: ExpressionRef, castType: HeapTypeRef): ExpressionRef; - export function _BinaryenBrOnGetOp(expr: ExpressionRef): Op; - export function _BinaryenBrOnSetOp(expr: ExpressionRef, op: Op): void; - export function _BinaryenBrOnGetName(expr: ExpressionRef): StringRef; - export function _BinaryenBrOnSetName(expr: ExpressionRef, nameStr: StringRef): void; - export function _BinaryenBrOnGetRef(expr: ExpressionRef): ExpressionRef; - export function _BinaryenBrOnSetRef(expr: ExpressionRef, refExpr: ExpressionRef): void; - export function _BinaryenBrOnGetCastType(expr: ExpressionRef): HeapTypeRef; - export function _BinaryenBrOnSetCastType(expr: ExpressionRef, castType: HeapTypeRef): void; - export function _BinaryenStructNew(module: ModuleRef, operands: ArrayRef, numOperands: Index, type: HeapTypeRef): ExpressionRef; - export function _BinaryenStructNewGetNumOperands(expr: ExpressionRef): Index; - export function _BinaryenStructNewGetOperandAt(expr: ExpressionRef, index: Index): ExpressionRef; - export function _BinaryenStructNewSetOperandAt(expr: ExpressionRef, index: Index, operandExpr: ExpressionRef): void; - export function _BinaryenStructNewAppendOperand(expr: ExpressionRef, operandExpr: ExpressionRef): Index; - export function _BinaryenStructNewInsertOperandAt(expr: ExpressionRef, index: Index, operandExpr: ExpressionRef): void; - export function _BinaryenStructNewRemoveOperandAt(expr: ExpressionRef, index: Index): ExpressionRef; - export function _BinaryenStructGet(module: ModuleRef, index: Index, ref: ExpressionRef, type: TypeRef, signed: boolean): ExpressionRef; - export function _BinaryenStructGetGetIndex(expr: ExpressionRef): Index; - export function _BinaryenStructGetSetIndex(expr: ExpressionRef, index: Index): void; - export function _BinaryenStructGetGetRef(expr: ExpressionRef): ExpressionRef; - export function _BinaryenStructGetSetRef(expr: ExpressionRef, refExpr: ExpressionRef): void; - export function _BinaryenStructGetIsSigned(expr: ExpressionRef): boolean; - export function _BinaryenStructGetSetSigned(expr: ExpressionRef, signed: boolean): void; - export function _BinaryenStructSet(module: ModuleRef, index: Index, ref: ExpressionRef, value: ExpressionRef): ExpressionRef; - export function _BinaryenStructSetGetIndex(expr: ExpressionRef): Index; - export function _BinaryenStructSetSetIndex(expr: ExpressionRef, index: Index): void; - export function _BinaryenStructSetGetRef(expr: ExpressionRef): ExpressionRef; - export function _BinaryenStructSetSetRef(expr: ExpressionRef, refExpr: ExpressionRef): void; - export function _BinaryenStructSetGetValue(expr: ExpressionRef): ExpressionRef; - export function _BinaryenStructSetSetValue(expr: ExpressionRef, valueExpr: ExpressionRef): void; - export function _BinaryenArrayNew(module: ModuleRef, type: HeapTypeRef, size: ExpressionRef, init: ExpressionRef): ExpressionRef; - export function _BinaryenArrayNewGetInit(expr: ExpressionRef): ExpressionRef; - export function _BinaryenArrayNewSetInit(expr: ExpressionRef, initExpr: ExpressionRef): void; - export function _BinaryenArrayNewGetSize(expr: ExpressionRef): ExpressionRef; - export function _BinaryenArrayNewSetSize(expr: ExpressionRef, sizeExpr: ExpressionRef): void; - // TODO: BinaryenArrayNewSeg - export function _BinaryenArrayNewFixed(module: ModuleRef, type: HeapTypeRef, values: ArrayRef, numValues: Index): ExpressionRef; - export function _BinaryenArrayNewFixedGetNumValues(expr: ExpressionRef): Index; - export function _BinaryenArrayNewFixedGetValueAt(expr: ExpressionRef, index: Index): ExpressionRef; - export function _BinaryenArrayNewFixedSetValueAt(expr: ExpressionRef, index: Index, valueExpr: ExpressionRef): void; - export function _BinaryenArrayNewFixedAppendValue(expr: ExpressionRef, valueExpr: ExpressionRef): Index; - export function _BinaryenArrayNewFixedInsertValueAt(expr: ExpressionRef, index: Index, valueExpr: ExpressionRef): void; - export function _BinaryenArrayNewFixedRemoveValueAt(expr: ExpressionRef, index: Index): ExpressionRef; - export function _BinaryenArrayGet(module: ModuleRef, ref: ExpressionRef, index: ExpressionRef, type: TypeRef, signed: boolean): ExpressionRef; - export function _BinaryenArrayGetGetRef(expr: ExpressionRef): ExpressionRef; - export function _BinaryenArrayGetSetRef(expr: ExpressionRef, refExpr: ExpressionRef): void; - export function _BinaryenArrayGetGetIndex(expr: ExpressionRef): ExpressionRef; - export function _BinaryenArrayGetSetIndex(expr: ExpressionRef, indexExpr: ExpressionRef): void; - export function _BinaryenArrayGetIsSigned(expr: ExpressionRef): boolean; - export function _BinaryenArrayGetSetSigned(expr: ExpressionRef, signed: boolean): void; - export function _BinaryenArraySet(module: ModuleRef, ref: ExpressionRef, index: ExpressionRef, value: ExpressionRef): ExpressionRef; - export function _BinaryenArraySetGetRef(expr: ExpressionRef): ExpressionRef; - export function _BinaryenArraySetSetRef(expr: ExpressionRef, refExpr: ExpressionRef): void; - export function _BinaryenArraySetGetIndex(expr: ExpressionRef): ExpressionRef; - export function _BinaryenArraySetSetIndex(expr: ExpressionRef, indexExpr: ExpressionRef): void; - export function _BinaryenArraySetGetValue(expr: ExpressionRef): ExpressionRef; - export function _BinaryenArraySetSetValue(expr: ExpressionRef, valueExpr: ExpressionRef): void; - export function _BinaryenArrayLen(module: ModuleRef, ref: ExpressionRef): ExpressionRef; - export function _BinaryenArrayLenGetRef(expr: ExpressionRef): ExpressionRef; - export function _BinaryenArrayLenSetRef(expr: ExpressionRef, refExpr: ExpressionRef): void; - export function _BinaryenArrayCopy(module: ModuleRef, destRef: ExpressionRef, destIndex: ExpressionRef, srcRef: ExpressionRef, srcIndex: ExpressionRef, length: ExpressionRef): ExpressionRef; - export function _BinaryenArrayCopyGetDestRef(expr: ExpressionRef): ExpressionRef; - export function _BinaryenArrayCopySetDestRef(expr: ExpressionRef, destRefExpr: ExpressionRef): void; - export function _BinaryenArrayCopyGetDestIndex(expr: ExpressionRef): ExpressionRef; - export function _BinaryenArrayCopySetDestIndex(expr: ExpressionRef, destIndexExpr: ExpressionRef): void; - export function _BinaryenArrayCopyGetSrcRef(expr: ExpressionRef): ExpressionRef; - export function _BinaryenArrayCopySetSrcRef(expr: ExpressionRef, srcRefExpr: ExpressionRef): void; - export function _BinaryenArrayCopyGetSrcIndex(expr: ExpressionRef): ExpressionRef; - export function _BinaryenArrayCopySetSrcIndex(expr: ExpressionRef, srcIndexExpr: ExpressionRef): void; - export function _BinaryenArrayCopyGetLength(expr: ExpressionRef): ExpressionRef; - export function _BinaryenArrayCopySetLength(expr: ExpressionRef, lengthExpr: ExpressionRef): void; - // TODO: BinaryenArrayFill - // TODO: BinaryenArrayNewFixed - export function _BinaryenStringNew(module: ModuleRef, op: Op, ptr: ExpressionRef, length: ExpressionRef, start: ExpressionRef, end: ExpressionRef, isTry: boolean): ExpressionRef; - export function _BinaryenStringNewGetOp(expr: ExpressionRef): Op; - export function _BinaryenStringNewSetOp(expr: ExpressionRef, op: Op): void; - export function _BinaryenStringNewGetPtr(expr: ExpressionRef): ExpressionRef; - export function _BinaryenStringNewSetPtr(expr: ExpressionRef, ptrExpr: ExpressionRef): void; - export function _BinaryenStringNewGetLength(expr: ExpressionRef): ExpressionRef; - export function _BinaryenStringNewSetLength(expr: ExpressionRef, lengthExpr: ExpressionRef): void; - export function _BinaryenStringNewGetStart(expr: ExpressionRef): ExpressionRef; - export function _BinaryenStringNewSetStart(expr: ExpressionRef, startExpr: ExpressionRef): void; - export function _BinaryenStringNewGetEnd(expr: ExpressionRef): ExpressionRef; - export function _BinaryenStringNewSetEnd(expr: ExpressionRef, endExpr: ExpressionRef): void; - export function _BinaryenStringNewIsTry(expr: ExpressionRef): boolean; - export function _BinaryenStringNewSetTry(expr: ExpressionRef, isTry: boolean): void; - export function _BinaryenStringConst(module: ExpressionRef, name: StringRef): ExpressionRef; - export function _BinaryenStringConstGetString(expr: ExpressionRef): StringRef; - export function _BinaryenStringConstSetString(expr: ExpressionRef, string: StringRef): void; - export function _BinaryenStringMeasure(module: ExpressionRef, op: Op, ref: ExpressionRef): ExpressionRef; - export function _BinaryenStringMeasureGetOp(expr: ExpressionRef): Op; - export function _BinaryenStringMeasureSetOp(expr: ExpressionRef, op: Op): void; - export function _BinaryenStringMeasureGetRef(expr: ExpressionRef): ExpressionRef; - export function _BinaryenStringMeasureSetRef(expr: ExpressionRef, refExpr: ExpressionRef): void; - export function _BinaryenStringEncode(module: ExpressionRef, op: Op, ref: ExpressionRef, ptr: ExpressionRef, start: ExpressionRef): ExpressionRef; - export function _BinaryenStringEncodeGetOp(expr: ExpressionRef): Op; - export function _BinaryenStringEncodeSetOp(expr: ExpressionRef, op: Op): void; - export function _BinaryenStringEncodeGetRef(expr: ExpressionRef): ExpressionRef; - export function _BinaryenStringEncodeSetRef(expr: ExpressionRef, refExpr: ExpressionRef): void; - export function _BinaryenStringEncodeGetPtr(expr: ExpressionRef): ExpressionRef; - export function _BinaryenStringEncodeSetPtr(expr: ExpressionRef, ptrExpr: ExpressionRef): void; - export function _BinaryenStringEncodeGetStart(expr: ExpressionRef): ExpressionRef; - export function _BinaryenStringEncodeSetStart(expr: ExpressionRef, startExpr: ExpressionRef): void; - export function _BinaryenStringConcat(module: ExpressionRef, left: ExpressionRef, right: ExpressionRef): ExpressionRef; - export function _BinaryenStringConcatGetLeft(expr: ExpressionRef): ExpressionRef; - export function _BinaryenStringConcatSetLeft(expr: ExpressionRef, leftExpr: ExpressionRef): void; - export function _BinaryenStringConcatGetRight(expr: ExpressionRef): ExpressionRef; - export function _BinaryenStringConcatSetRight(expr: ExpressionRef, rightExpr: ExpressionRef): void; - export function _BinaryenStringEq(module: ExpressionRef, op: Op, left: ExpressionRef, right: ExpressionRef): ExpressionRef; - export function _BinaryenStringEqGetOp(expr: ExpressionRef): Op; - export function _BinaryenStringEqSetOp(expr: ExpressionRef, op: Op): void; - export function _BinaryenStringEqGetLeft(expr: ExpressionRef): ExpressionRef; - export function _BinaryenStringEqSetLeft(expr: ExpressionRef, leftExpr: ExpressionRef): void; - export function _BinaryenStringEqGetRight(expr: ExpressionRef): ExpressionRef; - export function _BinaryenStringEqSetRight(expr: ExpressionRef, rightExpr: ExpressionRef): void; - export function _BinaryenStringAs(module: ExpressionRef, op: Op, ref: ExpressionRef): ExpressionRef; - export function _BinaryenStringAsGetOp(expr: ExpressionRef): Op; - export function _BinaryenStringAsSetOp(expr: ExpressionRef, op: Op): void; - export function _BinaryenStringAsGetRef(expr: ExpressionRef): ExpressionRef; - export function _BinaryenStringAsSetRef(expr: ExpressionRef, refExpr: ExpressionRef): void; - export function _BinaryenStringWTF8Advance(module: ExpressionRef, ref: ExpressionRef, pos: ExpressionRef, bytes: ExpressionRef): ExpressionRef; - export function _BinaryenStringWTF8AdvanceGetRef(expr: ExpressionRef): ExpressionRef; - export function _BinaryenStringWTF8AdvanceSetRef(expr: ExpressionRef, refExpr: ExpressionRef): void; - export function _BinaryenStringWTF8AdvanceGetPos(expr: ExpressionRef): ExpressionRef; - export function _BinaryenStringWTF8AdvanceSetPos(expr: ExpressionRef, posExpr: ExpressionRef): void; - export function _BinaryenStringWTF8AdvanceGetBytes(expr: ExpressionRef): ExpressionRef; - export function _BinaryenStringWTF8AdvanceSetBytes(expr: ExpressionRef, bytesExpr: ExpressionRef): void; - export function _BinaryenStringWTF16Get(module: ExpressionRef, ref: ExpressionRef, pos: ExpressionRef): ExpressionRef; - export function _BinaryenStringWTF16GetGetRef(expr: ExpressionRef): ExpressionRef; - export function _BinaryenStringWTF16GetSetRef(expr: ExpressionRef, refExpr: ExpressionRef): void; - export function _BinaryenStringWTF16GetGetPos(expr: ExpressionRef): ExpressionRef; - export function _BinaryenStringWTF16GetSetPos(expr: ExpressionRef, posExpr: ExpressionRef): void; - export function _BinaryenStringIterNext(module: ExpressionRef, ref: ExpressionRef): ExpressionRef; - export function _BinaryenStringIterNextGetRef(expr: ExpressionRef): ExpressionRef; - export function _BinaryenStringIterNextSetRef(expr: ExpressionRef, refExpr: ExpressionRef): void; - export function _BinaryenStringIterMove(module: ExpressionRef, op: Op, ref: ExpressionRef, num: ExpressionRef): ExpressionRef; - export function _BinaryenStringIterMoveGetOp(expr: ExpressionRef): Op; - export function _BinaryenStringIterMoveSetOp(expr: ExpressionRef, op: Op): void; - export function _BinaryenStringIterMoveGetRef(expr: ExpressionRef): ExpressionRef; - export function _BinaryenStringIterMoveSetRef(expr: ExpressionRef, refExpr: ExpressionRef): void; - export function _BinaryenStringIterMoveGetNum(expr: ExpressionRef): ExpressionRef; - export function _BinaryenStringIterMoveSetNum(expr: ExpressionRef, numExpr: ExpressionRef): void; - export function _BinaryenStringSliceWTF(module: ExpressionRef, op: Op, ref: ExpressionRef, start: ExpressionRef, end: ExpressionRef): ExpressionRef; - export function _BinaryenStringSliceWTFGetOp(expr: ExpressionRef): Op; - export function _BinaryenStringSliceWTFSetOp(expr: ExpressionRef, op: Op): void; - export function _BinaryenStringSliceWTFGetRef(expr: ExpressionRef): ExpressionRef; - export function _BinaryenStringSliceWTFSetRef(expr: ExpressionRef, refExpr: ExpressionRef): void; - export function _BinaryenStringSliceWTFGetStart(expr: ExpressionRef): ExpressionRef; - export function _BinaryenStringSliceWTFSetStart(expr: ExpressionRef, startExpr: ExpressionRef): void; - export function _BinaryenStringSliceWTFGetEnd(expr: ExpressionRef): ExpressionRef; - export function _BinaryenStringSliceWTFSetEnd(expr: ExpressionRef, endExpr: ExpressionRef): void; - export function _BinaryenStringSliceIter(module: ExpressionRef, ref: ExpressionRef, num: ExpressionRef): ExpressionRef; - export function _BinaryenStringSliceIterGetRef(expr: ExpressionRef): ExpressionRef; - export function _BinaryenStringSliceIterSetRef(expr: ExpressionRef, refExpr: ExpressionRef): void; - export function _BinaryenStringSliceIterGetNum(expr: ExpressionRef): ExpressionRef; - export function _BinaryenStringSliceIterSetNum(expr: ExpressionRef, numExpr: ExpressionRef): void; - export function _BinaryenAddFunction(module: ModuleRef, name: StringRef, params: TypeRef, results: TypeRef, varTypes: ArrayRef, numVarTypes: Index, body: ExpressionRef): FunctionRef; - export function _BinaryenGetFunction(module: ModuleRef, name: StringRef): FunctionRef; - export function _BinaryenRemoveFunction(module: ModuleRef, name: StringRef): void; - export function _BinaryenGetNumFunctions(module: ModuleRef): Index; - export function _BinaryenGetFunctionByIndex(module: ModuleRef, index: Index): FunctionRef; - export function _BinaryenFunctionGetName(func: FunctionRef): StringRef; - export function _BinaryenFunctionGetParams(func: FunctionRef): TypeRef; - export function _BinaryenFunctionGetResults(func: FunctionRef): TypeRef; - export function _BinaryenFunctionGetNumVars(func: FunctionRef): Index; - export function _BinaryenFunctionGetVar(func: FunctionRef, index: Index): TypeRef; - export function _BinaryenFunctionGetNumLocals(func: FunctionRef): Index; - export function _BinaryenFunctionHasLocalName(func: FunctionRef, index: Index): boolean; - export function _BinaryenFunctionGetLocalName(func: FunctionRef, index: Index): StringRef; - export function _BinaryenFunctionSetLocalName(func: FunctionRef, index: Index, name: StringRef): void; - export function _BinaryenFunctionGetBody(func: FunctionRef): ExpressionRef; - export function _BinaryenFunctionSetBody(func: FunctionRef, bodyExpr: ExpressionRef): void; - export function _BinaryenFunctionOptimize(func: FunctionRef, module: ModuleRef): void; - export function _BinaryenFunctionRunPasses(func: FunctionRef, module: ModuleRef, passes: ArrayRef, numPasses: Index): void; - export function _BinaryenFunctionSetDebugLocation(func: FunctionRef, expr: ExpressionRef, fileIndex: Index, lineNumber: Index, columnNumber: Index): void; - export function _BinaryenAddFunctionImport(module: ModuleRef, internalName: StringRef, externalModuleName: StringRef, externalBaseName: StringRef, params: TypeRef, results: TypeRef): void; - export function _BinaryenAddTableImport(module: ModuleRef, internalName: StringRef, externalModuleName: StringRef, externalBaseName: StringRef): void; - export function _BinaryenAddMemoryImport(module: ModuleRef, internalName: StringRef, externalModuleName: StringRef, externalBaseName: StringRef, shared: boolean): void; - export function _BinaryenAddGlobalImport(module: ModuleRef, internalName: StringRef, externalModuleName: StringRef, externalBaseName: StringRef, globalType: TypeRef, mutable: boolean): void; - export function _BinaryenAddTagImport(module: ModuleRef, internalName: StringRef, externalModuleName: StringRef, externalBaseName: StringRef, params: TypeRef, results: TypeRef): void; - export function _BinaryenAddFunctionExport(module: ModuleRef, internalName: StringRef, externalName: StringRef): ExportRef; - export function _BinaryenAddTableExport(module: ModuleRef, internalName: StringRef, externalName: StringRef): ExportRef; - export function _BinaryenAddMemoryExport(module: ModuleRef, internalName: StringRef, externalName: StringRef): ExportRef; - export function _BinaryenAddGlobalExport(module: ModuleRef, internalName: StringRef, externalName: StringRef): ExportRef; - export function _BinaryenAddTagExport(module: ModuleRef, internalName: StringRef, externalName: StringRef): ExportRef; - export function _BinaryenGetExport(module: ModuleRef, externalName: StringRef): ExportRef; - export function _BinaryenRemoveExport(module: ModuleRef, externalName: StringRef): void; - export function _BinaryenGetNumExports(module: ModuleRef): Index; - export function _BinaryenGetExportByIndex(module: ModuleRef, index: Index): ExportRef; - export function _BinaryenExportGetKind(ref: ExportRef): ExternalKind; - export function _BinaryenExportGetName(ref: ExportRef): StringRef; - export function _BinaryenExportGetValue(ref: ExportRef): StringRef; - export function _BinaryenAddGlobal(module: ModuleRef, name: StringRef, type: TypeRef, mutable: boolean, init: ExpressionRef): GlobalRef; - export function _BinaryenGetGlobal(module: ModuleRef, name: StringRef): GlobalRef; - export function _BinaryenRemoveGlobal(module: ModuleRef, name: StringRef): void; - export function _BinaryenGetNumGlobals(module: ModuleRef): Index; - export function _BinaryenGetGlobalByIndex(module: ModuleRef, index: Index): GlobalRef; - export function _BinaryenGlobalGetName(global: GlobalRef): StringRef; - export function _BinaryenGlobalGetType(global: GlobalRef): TypeRef; - export function _BinaryenGlobalIsMutable(global: GlobalRef): boolean; - export function _BinaryenGlobalGetInitExpr(global: GlobalRef): ExpressionRef; - export function _BinaryenAddTag(module: ModuleRef, name: StringRef, params: TypeRef, results: TypeRef): TagRef; - export function _BinaryenGetTag(module: ModuleRef, name: StringRef): TagRef; - export function _BinaryenRemoveTag(module: ModuleRef, name: StringRef): void; - export function _BinaryenTagGetName(tag: TagRef): StringRef; - export function _BinaryenTagGetParams(tag: TagRef): TypeRef; - export function _BinaryenTagGetResults(tag: TagRef): TypeRef; - export function _BinaryenAddTable(module: ModuleRef, name: StringRef, initial: Index, maximum: Index, type: TypeRef): TableRef; - export function _BinaryenRemoveTable(module: ModuleRef, table: StringRef): void; - export function _BinaryenGetNumTables(module: ModuleRef): Index; - export function _BinaryenGetTable(module: ModuleRef, name: StringRef): TableRef; - export function _BinaryenGetTableByIndex(module: ModuleRef, index: Index): TableRef; - export function _BinaryenTableGetName(table: TableRef): StringRef; - export function _BinaryenTableSetName(table: TableRef, name: StringRef): void; - export function _BinaryenTableGetInitial(table: TableRef): Index; - export function _BinaryenTableSetInitial(table: TableRef, initial: Index): void; - export function _BinaryenTableHasMax(table: TableRef): boolean; - export function _BinaryenTableGetMax(table: TableRef): Index; - export function _BinaryenTableSetMax(table: TableRef, max: Index): void; - export function _BinaryenAddActiveElementSegment(module: ModuleRef, table: StringRef, name: StringRef, funcNames: ArrayRef, numFuncNames: Index, offset: ExpressionRef): ElementSegmentRef; - export function _BinaryenAddPassiveElementSegment(module: ModuleRef, name: StringRef, funcNames: ArrayRef, numFuncNames: Index): ElementSegmentRef; - export function _BinaryenRemoveElementSegment(module: ModuleRef, name: StringRef): void; - export function _BinaryenGetNumElementSegments(module: ModuleRef, name: StringRef): Index; - export function _BinaryenGetElementSegment(module: ModuleRef, name: StringRef): ElementSegmentRef; - export function _BinaryenGetElementSegmentByIndex(module: ModuleRef, index: Index): ElementSegmentRef; - export function _BinaryenSetMemory(module: ModuleRef, initial: Index, maximum: Index, exportName: StringRef, segments: ArrayRef>, segmentPassive: ArrayRef, segmentOffsets: ArrayRef, segmentSizes: ArrayRef, numSegments: Index, shared: boolean, memory64: boolean, name: StringRef): void; - export function _BinaryenGetNumMemorySegments(module: ModuleRef): Index; - export function _BinaryenGetMemorySegmentByteOffset(module: ModuleRef, index: Index): number; - export function _BinaryenGetMemorySegmentByteLength(module: ModuleRef, id: Index): number; - export function _BinaryenCopyMemorySegmentData(module: ModuleRef, id: Index, buffer: ArrayRef): void; - export function _BinaryenSetStart(module: ModuleRef, start: FunctionRef): void; - export function _BinaryenModuleParse(text: StringRef): ModuleRef; - export function _BinaryenModulePrint(module: ModuleRef): void; - export function _BinaryenModulePrintAsmjs(module: ModuleRef): void; - export function _BinaryenModuleValidate(module: ModuleRef): number; - export function _BinaryenModuleOptimize(module: ModuleRef): void; - export function _BinaryenModuleRunPasses(module: ModuleRef, passes: ArrayRef, numPasses: Index): void; - export function _BinaryenModuleAutoDrop(module: ModuleRef): void; - export function _BinaryenSizeofAllocateAndWriteResult(): number; - export function _BinaryenModuleAllocateAndWrite(resultOut: number, module: ModuleRef, sourceMapUrl: StringRef): void; - export function _BinaryenModuleAllocateAndWriteText(module: ModuleRef): StringRef; - export function _BinaryenModuleAllocateAndWriteStackIR(module: ModuleRef, optimize: boolean): StringRef; - export function _BinaryenModuleRead(input: ArrayRef, inputSize: number): ModuleRef; - export function _BinaryenModuleInterpret(module: ModuleRef): void; - export function _BinaryenModuleAddDebugInfoFileName(module: ModuleRef, filename: StringRef): Index; - export function _BinaryenModuleGetDebugInfoFileName(module: ModuleRef, index: Index): StringRef; - export function _BinaryenModuleGetFeatures(module: ModuleRef): FeatureFlags; - export function _BinaryenModuleSetFeatures(module: ModuleRef, featureFlags: FeatureFlags): void; - export function _BinaryenAddCustomSection(module: ModuleRef, name: StringRef, contents: ArrayRef, contentsSize: Index): void; - export function _BinaryenExpressionGetSideEffects(expr: ExpressionRef, module: ModuleRef): SideEffects; - export function _RelooperCreate(module: ModuleRef): number; - export function _RelooperAddBlock(relooper: number, code: ExpressionRef): number; - export function _RelooperAddBranch(from: number, to: number, condition: ExpressionRef, code: ExpressionRef): void; - export function _RelooperAddBlockWithSwitch(relooper: number, code: ExpressionRef, condition: ExpressionRef): number; - export function _RelooperAddBranchForSwitch(from: number, to: number, indexes: ArrayRef, numIndexes: Index, code: ExpressionRef): void; - export function _RelooperRenderAndDispose(relooper: number, entry: number, labelHelper: Index): ExpressionRef; - export function _ExpressionRunnerCreate(module: ModuleRef, flags: ExpressionRunnerFlags, maxDepth: Index, maxLoopIterations: Index): ExpressionRunnerRef; - export function _ExpressionRunnerSetLocalValue(runner: ExpressionRunnerRef, index: Index, value: ExpressionRef): boolean; - export function _ExpressionRunnerSetGlobalValue(runner: ExpressionRunnerRef, name: StringRef, value: ExpressionRef): boolean; - export function _ExpressionRunnerRunAndDispose(runner: ExpressionRunnerRef, expr: ExpressionRef): ExpressionRef; - export function _TypeBuilderCreate(size: Index): TypeBuilderRef; - export function _TypeBuilderGrow(builder: TypeBuilderRef, count: Index): void; - export function _TypeBuilderGetSize(builder: TypeBuilderRef): Index; - export function _TypeBuilderSetSignatureType(builder: TypeBuilderRef, index: Index, paramTypes: TypeRef, resultTypes: TypeRef): void; - export function _TypeBuilderSetStructType(builder: TypeBuilderRef, index: Index, fieldTypes: ArrayRef, fieldPackedTypes: ArrayRef, fieldMutables: ArrayRef, numFields: number): void; - export function _TypeBuilderSetArrayType(builder: TypeBuilderRef, index: Index, elementType: TypeRef, elementPackedTyype: PackedType, elementMutable: boolean): void; - export function _TypeBuilderGetTempHeapType(builder: TypeBuilderRef, index: Index): HeapTypeRef; - export function _TypeBuilderGetTempTupleType(builder: TypeBuilderRef, types: ArrayRef, numTypes: Index): TypeRef; - export function _TypeBuilderGetTempRefType(builder: TypeBuilderRef, heapType: HeapTypeRef, nullable: boolean): TypeRef; - export function _TypeBuilderSetSubType(builder: TypeBuilderRef, index: Index, superType: HeapTypeRef): void; - export function _TypeBuilderSetOpen(builder: TypeBuilderRef, index: Index): void; - export function _TypeBuilderCreateRecGroup(builder: TypeBuilderRef, index: Index, length: Index): void; - export function _TypeBuilderBuildAndDispose(builder: TypeBuilderRef, heapTypes: ArrayRef, errorIndex: Pointer, errorReason: Pointer): boolean; - export function _BinaryenModuleSetTypeName(module: ModuleRef, heapType: HeapTypeRef, name: StringRef): void; - export function _BinaryenModuleSetFieldName(module: ModuleRef, heapType: HeapTypeRef, index: Index, name: StringRef): void; - export function _BinaryenGetOptimizeLevel(): number; - export function _BinaryenSetOptimizeLevel(level: number): void; - export function _BinaryenGetShrinkLevel(): number; - export function _BinaryenSetShrinkLevel(level: number): void; - export function _BinaryenGetDebugInfo(): boolean; - export function _BinaryenSetDebugInfo(on: boolean): void; - export function _BinaryenGetLowMemoryUnused(): boolean; - export function _BinaryenSetLowMemoryUnused(on: boolean): void; - export function _BinaryenGetZeroFilledMemory(): boolean; - export function _BinaryenSetZeroFilledMemory(on: boolean): void; - export function _BinaryenGetFastMath(): boolean; - export function _BinaryenSetFastMath(on: boolean): void; - export function _BinaryenGetPassArgument(key: StringRef): StringRef; - export function _BinaryenSetPassArgument(key: StringRef, value: StringRef): void; - export function _BinaryenClearPassArguments(): void; - export function _BinaryenGetAlwaysInlineMaxSize(): Index; - export function _BinaryenSetAlwaysInlineMaxSize(size: Index): void; - export function _BinaryenGetFlexibleInlineMaxSize(): Index; - export function _BinaryenSetFlexibleInlineMaxSize(size: Index): void; - export function _BinaryenGetOneCallerInlineMaxSize(): Index; - export function _BinaryenSetOneCallerInlineMaxSize(size: Index): void; - export function _BinaryenGetAllowInliningFunctionsWithLoops(): boolean; - export function _BinaryenSetAllowInliningFunctionsWithLoops(enabled: boolean): void; - // Helpers - export function _malloc(size: number): number; - export function _free(ptr: number): void; - export function __i32_store8(ptr: number, value: number): void; - export function __i32_store16(ptr: number, value: number): void; - export function __i32_store(ptr: number, value: number): void; - export function __f32_store(ptr: number, value: number): void; - export function __f64_store(ptr: number, value: number): void; - export function __i32_load8_s(ptr: number): number; - export function __i32_load8_u(ptr: number): number; - export function __i32_load16_s(ptr: number): number; - export function __i32_load16_u(ptr: number): number; - export function __i32_load(ptr: number): number; - export function __f32_load(ptr: number): number; - export function __f64_load(ptr: number): number; -} -/** - * @fileoverview Collections glue code for TypeScript. - * @license Apache-2.0 - */ -declare function Map_keys(map: Map): K[]; -declare function Map_values(map: Map): V[]; -declare function Set_values(set: Set): V[]; -/** - * @fileoverview Floating point glue code for TypeScript. - * @license Apache-2.0 - */ -declare function f32_as_i32(value: number): number; -declare function i32_as_f32(value: number): number; -declare function f64_as_i64(value: number): i64; -declare function i64_as_f64(value: i64): number; -/** - * @fileoverview 64-bit integer glue code for TypeScript. - * @license Apache-2.0 - */ -declare type i64 = { - __Long__: true; -}; // opaque -declare const i64_zero: i64; -declare const i64_one: i64; -declare const i64_neg_one: i64; -declare const i64_minimum: i64; -declare const i64_maximum: i64; -declare function i64_is(value: unknown): value is i64; -declare function i64_new(lo: number, hi?: number): i64; -declare function i64_low(value: i64): number; -declare function i64_high(value: i64): number; -declare function i64_not(value: i64): i64; -declare function i64_neg(value: i64): i64; -declare function i64_clz(value: i64): number; -declare function i64_ctz(value: i64): number; -declare function i64_add(left: i64, right: i64): i64; -declare function i64_sub(left: i64, right: i64): i64; -declare function i64_mul(left: i64, right: i64): i64; -declare function i64_pow(left: i64, right: i64): i64; -declare function i64_div(left: i64, right: i64): i64; -declare function i64_div_u(left: i64, right: i64): i64; -declare function i64_rem(left: i64, right: i64): i64; -declare function i64_rem_u(left: i64, right: i64): i64; -declare function i64_and(left: i64, right: i64): i64; -declare function i64_or(left: i64, right: i64): i64; -declare function i64_xor(left: i64, right: i64): i64; -declare function i64_shl(left: i64, right: i64): i64; -declare function i64_shr(left: i64, right: i64): i64; -declare function i64_shr_u(left: i64, right: i64): i64; -declare function i64_eq(left: i64, right: i64): boolean; -declare function i64_ne(left: i64, right: i64): boolean; -declare function i64_ge(left: i64, right: i64): boolean; -declare function i64_ge_u(left: i64, right: i64): boolean; -declare function i64_gt(left: i64, right: i64): boolean; -declare function i64_gt_u(left: i64, right: i64): boolean; -declare function i64_le(left: i64, right: i64): boolean; -declare function i64_le_u(left: i64, right: i64): boolean; -declare function i64_lt(left: i64, right: i64): boolean; -declare function i64_lt_u(left: i64, right: i64): boolean; -declare function i64_align(value: i64, alignment: number): i64; -declare function i64_signbit(value: i64): boolean; -declare function i64_is_i8(value: i64): boolean; -declare function i64_is_i16(value: i64): boolean; -declare function i64_is_i32(value: i64): boolean; -declare function i64_is_u8(value: i64): boolean; -declare function i64_is_u16(value: i64): boolean; -declare function i64_is_u32(value: i64): boolean; -declare function i64_is_bool(value: i64): boolean; -declare function i64_is_f32(value: i64): boolean; -declare function i64_is_f64(value: i64): boolean; -declare function i64_to_f32(value: i64): number; -declare function i64_to_f64(value: i64): number; -declare function i64_to_string(value: i64, unsigned?: boolean): string; -declare function i64_clone(value: i64): i64; diff --git a/platforms/Arduino/node_modules/assemblyscript/dist/assemblyscript.js b/platforms/Arduino/node_modules/assemblyscript/dist/assemblyscript.js deleted file mode 100644 index adb78fb9..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/dist/assemblyscript.js +++ /dev/null @@ -1,337 +0,0 @@ -/** - * @license - * The AssemblyScript compiler - * Copyright 2024 Daniel Wirtz / The AssemblyScript Authors - * SPDX-License-Identifier: Apache-2.0 - */ -var Ul=Object.defineProperty;var Pc=Object.getOwnPropertyDescriptor;var a2=Object.getOwnPropertyNames;var l2=Object.prototype.hasOwnProperty;var Vl=(t,i)=>{for(var e in i)Ul(t,e,{get:i[e],enumerable:!0})},Bc=(t,i,e,r)=>{if(i&&typeof i=="object"||typeof i=="function")for(let n of a2(i))!l2.call(t,n)&&n!==e&&Ul(t,n,{get:()=>i[n],enumerable:!(r=Pc(i,n))||r.enumerable});return t},Dl=(t,i,e)=>(Bc(t,i,"default"),e&&Bc(e,i,"default"));var Nc=(t,i,e,r)=>{for(var n=r>1?void 0:r?Pc(i,e):i,s=t.length-1,a;s>=0;s--)(a=t[s])&&(n=(r?a(i,e,n):a(n))||n);return r&&n&&Ul(i,e,n),n};var wc={};Vl(wc,{ASTBuilder:()=>Ac,ArrayLiteralExpression:()=>na,ArrowKind:()=>ci,AssertionExpression:()=>sa,AssertionKind:()=>ui,AtomicRMWOp:()=>gp,BinaryExpression:()=>aa,BinaryModule:()=>fl,BinaryOp:()=>hi,BlockStatement:()=>Na,BrOnOp:()=>Py,BreakStatement:()=>La,CallExpression:()=>la,Class:()=>Kt,ClassDeclaration:()=>mn,ClassExpression:()=>oa,ClassPrototype:()=>Hn,CommaExpression:()=>ua,CommentKind:()=>pp,CommentNode:()=>ia,CommonFlags:()=>De,CommonNames:()=>B,CompiledExpression:()=>Ba,Compiler:()=>ds,ConditionKind:()=>Lp,ConstantValueKind:()=>Up,Constraints:()=>Sc,ConstructorExpression:()=>pa,ContinueStatement:()=>Ma,DEFAULT_STACK_SIZE:()=>qI,DeclarationStatement:()=>We,DeclaredElement:()=>Ht,DecoratorFlags:()=>jt,DecoratorKind:()=>Tt,DecoratorNode:()=>ra,DiagnosticCategory:()=>ea,DiagnosticCode:()=>st,DiagnosticEmitter:()=>qe,DiagnosticMessage:()=>Js,DoStatement:()=>Ga,Element:()=>qn,ElementAccessExpression:()=>ca,ElementKind:()=>ut,EmptyStatement:()=>za,Enum:()=>kl,EnumDeclaration:()=>Ua,EnumValue:()=>Al,EnumValueDeclaration:()=>Va,ExportDefaultStatement:()=>Wa,ExportImportStatement:()=>Da,ExportMember:()=>qa,ExportNames:()=>fs,ExportStatement:()=>Oa,Expression:()=>de,ExpressionId:()=>yr,ExpressionRunnerFlags:()=>hl,ExpressionStatement:()=>Ka,ExternalKind:()=>yp,FEATURES_ALL:()=>a0,FEATURES_DEFAULT:()=>l0,FEATURE_BULK_MEMORY:()=>$I,FEATURE_EXCEPTION_HANDLING:()=>YI,FEATURE_EXTENDED_CONST:()=>n0,FEATURE_GC:()=>t0,FEATURE_MEMORY64:()=>r0,FEATURE_MULTI_VALUE:()=>e0,FEATURE_MUTABLE_GLOBALS:()=>HI,FEATURE_NONTRAPPING_F2I:()=>jI,FEATURE_REFERENCE_TYPES:()=>JI,FEATURE_RELAXED_SIMD:()=>i0,FEATURE_SIGN_EXTENSION:()=>KI,FEATURE_SIMD:()=>XI,FEATURE_STRINGREF:()=>s0,FEATURE_TAIL_CALLS:()=>QI,FEATURE_THREADS:()=>ZI,FalseExpression:()=>Aa,Feature:()=>Ut,FeatureFlags:()=>mp,FieldDeclaration:()=>Ha,FieldFlags:()=>Np,File:()=>Wn,FloatLiteralExpression:()=>_a,Flow:()=>St,FlowFlags:()=>xl,ForOfStatement:()=>$a,ForStatement:()=>ja,Function:()=>ct,FunctionDeclaration:()=>yn,FunctionExpression:()=>fa,FunctionPrototype:()=>je,FunctionTypeNode:()=>dr,GETTER_PREFIX:()=>Ds,Global:()=>br,HeapTypeRef:()=>ue,INDEX_SUFFIX:()=>Ne,INNER_DELIMITER:()=>Xu,INSTANCE_DELIMITER:()=>$u,IdentifierExpression:()=>Oe,IdentifierHandling:()=>_p,IfStatement:()=>Xa,ImportDeclaration:()=>Za,ImportNames:()=>Pi,ImportStatement:()=>gn,IndexSignature:()=>Gn,IndexSignatureNode:()=>Pa,InstanceOfExpression:()=>ha,IntegerLiteralExpression:()=>da,Interface:()=>zn,InterfaceDeclaration:()=>Ya,InterfacePrototype:()=>wl,JSBuilder:()=>ki,LIBRARY_PREFIX:()=>nt,LIBRARY_SUBST:()=>Os,LiteralExpression:()=>at,LiteralKind:()=>Dt,Local:()=>ze,LocalFlags:()=>Nn,MemorySegment:()=>fi,MethodDeclaration:()=>mr,Module:()=>Ot,ModuleDeclaration:()=>nl,NamedTypeNode:()=>hr,Namespace:()=>Kn,NamespaceDeclaration:()=>Qa,NewExpression:()=>ma,Node:()=>L,NodeKind:()=>xt,NullExpression:()=>ya,ObjectLiteralExpression:()=>ga,OmittedExpression:()=>ba,OperatorKind:()=>Ue,Options:()=>hs,PARENT_SUBST:()=>d2,PATH_DELIMITER:()=>Ye,PackedType:()=>En,Parameter:()=>zp,ParameterKind:()=>oi,ParameterNode:()=>ai,ParenthesizedExpression:()=>xa,Parser:()=>Vn,Precedence:()=>Oy,Program:()=>Dn,Property:()=>Mn,PropertyAccessExpression:()=>Ta,PropertyPrototype:()=>Ti,Range:()=>le,RefAsOp:()=>By,RegexpLiteralExpression:()=>Ea,Relooper:()=>_l,ReportMode:()=>Sl,Resolver:()=>Ln,ReturnStatement:()=>Ja,Runtime:()=>Us,RuntimeFeatures:()=>Ic,SETTER_PREFIX:()=>qs,SIMDExtractOp:()=>bp,SIMDLoadOp:()=>Ep,SIMDLoadStoreLaneOp:()=>vp,SIMDReplaceOp:()=>xp,SIMDShiftOp:()=>Tp,SIMDTernaryOp:()=>Sp,STATIC_DELIMITER:()=>on,STUB_DELIMITER:()=>Zu,SideEffects:()=>Pp,Signature:()=>Ve,Source:()=>fe,SourceKind:()=>pi,State:()=>pl,Statement:()=>oe,StringAsOp:()=>zy,StringEncodeOp:()=>My,StringEqOp:()=>Gy,StringIterMoveOp:()=>Uy,StringLiteralExpression:()=>Sa,StringMeasureOp:()=>Ly,StringNewOp:()=>Ny,StringSliceWTFOp:()=>Vy,SuperExpression:()=>Ia,SwitchBuilder:()=>vn,SwitchCase:()=>el,SwitchStatement:()=>tl,TSDBuilder:()=>Ni,Target:()=>Zr,TemplateLiteralExpression:()=>Fa,TernaryExpression:()=>va,ThisExpression:()=>Ra,ThrowStatement:()=>rl,Token:()=>_i,Tokenizer:()=>xn,TrueExpression:()=>ka,TryStatement:()=>il,Type:()=>u,TypeBuilderErrorReason:()=>dp,TypeDeclaration:()=>sl,TypeDefinition:()=>Xe,TypeFlags:()=>pt,TypeKind:()=>Wt,TypeName:()=>si,TypeNode:()=>hn,TypeParameterNode:()=>ta,TypeRef:()=>P,TypedElement:()=>Ft,Typeinfo:()=>Yr,TypeinfoFlags:()=>Vs,UnaryExpression:()=>dn,UnaryOp:()=>Sn,UnaryPostfixExpression:()=>wa,UnaryPrefixExpression:()=>Ca,UncheckedBehavior:()=>Tl,VariableDeclaration:()=>al,VariableLikeDeclarationStatement:()=>li,VariableLikeElement:()=>xr,VariableStatement:()=>ll,VoidStatement:()=>ol,WhileStatement:()=>ul,addGlobalAlias:()=>MI,allocPtrArray:()=>_e,buildJS:()=>L0,buildTSD:()=>N0,compile:()=>P0,createType:()=>Ke,defaultFeatures:()=>Ml,diagnosticCategoryToColor:()=>ky,diagnosticCategoryToString:()=>up,diagnosticCodeToString:()=>Ws,ensureType:()=>Pn,expandType:()=>Ip,featureToString:()=>Xr,findDecorator:()=>Et,formatDiagnostic:()=>Ay,formatDiagnosticMessage:()=>Ay,getBinaryLeft:()=>He,getBinaryOp:()=>yi,getBinaryRight:()=>Be,getBinaryenModuleRef:()=>M0,getBlockChildAt:()=>wn,getBlockChildCount:()=>An,getBlockName:()=>kn,getBreakCondition:()=>Z2,getBreakName:()=>X2,getCallOperandAt:()=>Ge,getCallOperandCount:()=>ot,getCallTarget:()=>Bn,getConstValueF32:()=>ge,getConstValueF64:()=>be,getConstValueI32:()=>ee,getConstValueI64High:()=>Ce,getConstValueI64Low:()=>Ee,getConstValueV128:()=>Fp,getDefaultParameterName:()=>jy,getDependee:()=>C0,getDiagnosticCategory:()=>g0,getDiagnosticCode:()=>y0,getDiagnosticMessage:()=>b0,getDiagnosticRange:()=>x0,getDiagnosticRelatedRange:()=>T0,getDropValue:()=>Q2,getExpressionId:()=>Q,getExpressionType:()=>ie,getFunctionBody:()=>tx,getFunctionName:()=>Cp,getFunctionParams:()=>rx,getFunctionResults:()=>ix,getFunctionVars:()=>nx,getGlobalGetName:()=>Fn,getGlobalInit:()=>lx,getGlobalName:()=>sx,getGlobalType:()=>ax,getIfCondition:()=>yl,getIfFalse:()=>gi,getIfTrue:()=>Cn,getLoadBytes:()=>Rp,getLoadOffset:()=>D2,getLoadPtr:()=>q2,getLocalGetIndex:()=>lt,getLocalSetIndex:()=>dl,getLocalSetValue:()=>gr,getLoopBody:()=>$2,getLoopName:()=>j2,getMemoryGrowDelta:()=>ex,getRangeEnd:()=>v0,getRangeSource:()=>S0,getRangeStart:()=>E0,getReturnValue:()=>J2,getSelectCondition:()=>Y2,getSelectElse:()=>wp,getSelectThen:()=>Ap,getSideEffects:()=>bi,getSource:()=>m0,getSourceNormalizedPath:()=>I0,getStoreBytes:()=>O2,getStoreOffset:()=>W2,getStorePtr:()=>K2,getStoreValue:()=>H2,getTagName:()=>ox,getTagParams:()=>ux,getTagResults:()=>px,getUnaryOp:()=>Rn,getUnaryValue:()=>ml,initializeProgram:()=>B0,isConstExpressionNaN:()=>mi,isConstNaN:()=>V2,isConstNegZero:()=>di,isConstNonZero:()=>et,isConstZero:()=>Fe,isDeclaredElement:()=>On,isError:()=>k0,isGlobalMutable:()=>Bp,isIllegalVariableIdentifier:()=>fp,isInfo:()=>F0,isLoadSigned:()=>kp,isLocalTee:()=>In,isNullableType:()=>Dy,isTypeOmitted:()=>Ie,isTypedElement:()=>El,isWarning:()=>R0,mangleInternalName:()=>Pe,mangleInternalPath:()=>bn,mustPreserveSideEffects:()=>gl,newOptions:()=>TI,newProgram:()=>h0,nextDiagnostic:()=>d0,nextFile:()=>w0,operatorTokenToString:()=>Te,optimize:()=>z0,parse:()=>A0,readString:()=>Me,removeGlobalAlias:()=>GI,runtimeFunctions:()=>Ai,runtimeGlobals:()=>wi,setBasenameHint:()=>p0,setBindingsHint:()=>c0,setBundleVersion:()=>WI,setDebugInfo:()=>f0,setExportMemory:()=>II,setExportRuntime:()=>DI,setExportStart:()=>zI,setExportTable:()=>CI,setFeature:()=>o0,setImportMemory:()=>FI,setImportTable:()=>wI,setInitialMemory:()=>RI,setLowMemoryLimit:()=>VI,setMaximumMemory:()=>kI,setMemoryBase:()=>NI,setNoAssert:()=>SI,setNoUnsafe:()=>UI,setOptimizeLevelHints:()=>u0,setPedantic:()=>_0,setRuntime:()=>vI,setSharedMemory:()=>AI,setSourceMap:()=>BI,setStackSize:()=>OI,setTableBase:()=>LI,setTarget:()=>EI,setUncheckedBehavior:()=>PI,tokenFromKeyword:()=>wy,tokenIsAlsoIdentifier:()=>Cy,typesToRefs:()=>Tr,typesToString:()=>vl,util:()=>op,validate:()=>G0});var Z=typeof window<"u"&&window||typeof global<"u"&&global||self;if(typeof Z.ASC_TARGET>"u"){let e=function(){Error.captureStackTrace?Error.captureStackTrace(this,e):this.stack=this.name+": "+this.message+` -`+new Error().stack},r=function(a){this.message=a||"assertion failed",Error.captureStackTrace?Error.captureStackTrace(this,r):this.stack=this.name+": "+this.message+` -`+new Error().stack},n=function(a,l){if(a==l){if(a!=0)return 0;a=1/a,l=1/l}else{let o=a!=a,p=l!=l;if(o|p)return o-p;a==null&&(a=String(a)),l==null&&(l=String(l))}return a>l?1:-1};o2=e,u2=r,p2=n,Z.ASC_TARGET=0,Z.ASC_RUNTIME=0,Z.ASC_NO_ASSERT=!1,Z.ASC_MEMORY_BASE=0,Z.ASC_OPTIMIZE_LEVEL=3,Z.ASC_SHRINK_LEVEL=0,Z.ASC_FEATURE_MUTABLE_GLOBAL=!1,Z.ASC_FEATURE_SIGN_EXTENSION=!1,Z.ASC_FEATURE_BULK_MEMORY=!1,Z.ASC_FEATURE_SIMD=!1,Z.ASC_FEATURE_THREADS=!1;let t=new Float64Array(1),i=new Uint32Array(t.buffer);Object.defineProperties(Z.i8=function(l){return l<<24>>24},{MIN_VALUE:{value:-128},MAX_VALUE:{value:127},parse(a,l){return parseInt(a,l)<<24>>24}}),Object.defineProperties(Z.i16=function(l){return l<<16>>16},{MIN_VALUE:{value:-32768},MAX_VALUE:{value:32767},parse(a,l){return parseInt(a,l)<<16>>16}}),Object.defineProperties(Z.i32=Z.isize=function(l){return l|0},{MIN_VALUE:{value:-2147483648},MAX_VALUE:{value:2147483647},parse(a,l){return parseInt(a,l)|0}}),Object.defineProperties(Z.u8=function(l){return l&255},{MIN_VALUE:{value:0},MAX_VALUE:{value:255},parse(a,l){return parseInt(a,l)&255}}),Object.defineProperties(Z.u16=function(l){return l&65535},{MIN_VALUE:{value:0},MAX_VALUE:{value:65535},parse(a,l){return parseInt(a,l)&65535}}),Object.defineProperties(Z.u32=Z.usize=function(l){return l>>>0},{MIN_VALUE:{value:0},MAX_VALUE:{value:4294967295},parse(a,l){return parseInt(a,l)>>>0}}),Object.defineProperties(Z.bool=function(l){return!!l},{MIN_VALUE:{value:!1},MAX_VALUE:{value:!0},parse(a){return a.trim()==="true"}}),Object.defineProperties(Z.f32=function(l){return Math.fround(l)},{EPSILON:{value:11920928955078125e-23},MIN_VALUE:{value:1401298464324817e-60},MAX_VALUE:{value:34028234663852886e22},MIN_NORMAL_VALUE:{value:11754943508222875e-54},MIN_SAFE_INTEGER:{value:-16777215},MAX_SAFE_INTEGER:{value:16777215},POSITIVE_INFINITY:{value:1/0},NEGATIVE_INFINITY:{value:-1/0},NaN:{value:NaN},parse(a){return Math.fround(parseFloat(a))}}),Object.defineProperties(Z.f64=function(l){return+l},{EPSILON:{value:2220446049250313e-31},MIN_VALUE:{value:5e-324},MAX_VALUE:{value:17976931348623157e292},MIN_NORMAL_VALUE:{value:22250738585072014e-324},MIN_SAFE_INTEGER:{value:-9007199254740991},MAX_SAFE_INTEGER:{value:9007199254740991},POSITIVE_INFINITY:{value:1/0},NEGATIVE_INFINITY:{value:-1/0},NaN:{value:NaN},parse(a){return parseFloat(a)}}),Z.clz=Math.clz32,Z.ctz=function(l){return 32-Math.clz32(~l&l-1)},Z.popcnt=function(l){return l-=l>>>1&1431655765,l=(l&858993459)+(l>>>2&858993459),(l+(l>>>4)&252645135)*16843009>>>24},Z.rotl=function(l,o){return o&=31,l<>>32-o},Z.rotr=function(l,o){return o&=31,l>>>o|l<<32-o},Z.abs=Math.abs,Z.max=Math.max,Z.min=Math.min,Z.ceil=Math.ceil,Z.floor=Math.floor,Z.nearest=function(l){let p=Math.abs(l);return p<4503599627370496?(p+4503599627370496-4503599627370496)*Math.sign(l):l},Z.select=function(l,o,p){return p?l:o},Z.sqrt=Math.sqrt,Z.trunc=Math.trunc,Z.copysign=function(l,o){return o?Math.abs(l)*Math.sign(o):(t[0]=o,i[1]>>>31?-1:1)},Z.bswap=function(l){let o=l>>8&16711935,p=(l&16711935)<<8;return l=o|p,o=l>>16&65535,p=(l&65535)<<16,o|p},e.prototype=Object.create(Error.prototype),e.prototype.name="UnreachableError",e.prototype.message="unreachable",Z.unreachable=function(){throw new e},r.prototype=Object.create(Error.prototype),r.prototype.name="AssertionError",Z.assert=function(l,o){if(l)return l;throw new r(o)},Z.changetype=function(l){return l},String.fromCharCodes=function(l){let p=l.length;if(p<=8192)return String.fromCharCode.apply(String,l);let c=0,_="";for(;c=0?l:l+this.length)},configurable:!0}),String.prototype.replaceAll||Object.defineProperty(String.prototype,"replaceAll",{value:function(l,o){let p=this.split(l).join(o);return l.length||(p=o+p+o),p},configurable:!0});let s=Array.prototype.sort;Array.prototype.sort=function(l){return s.call(this,l||n)},[Array,Uint8ClampedArray,Uint8Array,Int8Array,Uint16Array,Int16Array,Uint32Array,Int32Array,Float32Array,Float64Array].forEach(a=>{a.prototype.at||Object.defineProperty(a.prototype,"at",{value:function(o){return this[o>=0?o:o+this.length]},configurable:!0}),a.prototype.findLastIndex||Object.defineProperty(a.prototype,"findLastIndex",{value:function(o){for(let p=this.length-1;p>=0;--p)if(o(this[p],p,this))return p;return-1},configurable:!0}),a!=Array&&Object.defineProperty(a,"wrap",{value:function(o,p,c){return new a(o,p,c)},configurable:!0})}),Z.isInteger=Number.isInteger,Z.isFloat=function(l){return typeof l=="number"},Z.isNullable=function(l){return!0},Z.isReference=function(l){return typeof l=="object"||typeof l=="string"},Z.isFunction=function(l){return typeof l=="function"},Z.isString=function(l){return typeof l=="string"||l instanceof String},Z.isArray=Array.isArray,Z.isArrayLike=function(l){return l&&typeof l=="object"&&typeof l.length=="number"&&l.length>=0&&Math.trunc(l.length)===l.length},Z.isDefined=function(l){return typeof l<"u"},Z.isConstant=function(l){return!1},Z.unchecked=function(l){return l},Z.fmod=function(l,o){return l%o},Z.fmodf=function(l,o){return Math.fround(l%o)},Z.JSMath=Math,Object.defineProperties(Z.JSMath,{sincos_sin:{value:0,writable:!0},sincos_cos:{value:0,writable:!0},signbit:{value:function(l){return t[0]=l,!!(i[1]>>>31)}},sincos:{value:function(l){this.sincos_sin=Math.sin(l),this.sincos_cos=Math.cos(l)}},exp2:{value:function(l){return Math.pow(2,l)}}}),Z.unmanaged=function(){},Z.trace=function(a,l){l&&(a+=Array.prototype.slice.call(arguments,2,2+l)),console.error("trace: "+a)}}var o2,u2,p2;var zi={};Vl(zi,{default:()=>ql});Dl(zi,fP);import*as fP from"binaryen";import{default as ql}from"binaryen";var{_BinaryenTypeCreate:Lc,_BinaryenTypeArity:Mc,_BinaryenTypeExpand:Gc,_BinaryenTypeGetHeapType:nr,_BinaryenTypeFromHeapType:ae,_BinaryenTypeIsNullable:zc,_BinaryenTypeFuncref:Uc,_BinaryenTypeExternref:Vc,_BinaryenTypeAnyref:Dc,_BinaryenTypeEqref:qc,_BinaryenTypeI31ref:Oc,_BinaryenTypeStructref:Wc,_BinaryenTypeArrayref:Kc,_BinaryenTypeStringref:Hc,_BinaryenTypeStringviewWTF8:jc,_BinaryenTypeStringviewWTF16:$c,_BinaryenTypeStringviewIter:Xc,_BinaryenTypeNullref:Zc,_BinaryenTypeNullExternref:Yc,_BinaryenTypeNullFuncref:Qc,_BinaryenHeapTypeFunc:mP,_BinaryenHeapTypeExt:yP,_BinaryenHeapTypeAny:gP,_BinaryenHeapTypeEq:bP,_BinaryenHeapTypeI31:xP,_BinaryenHeapTypeStruct:TP,_BinaryenHeapTypeArray:EP,_BinaryenHeapTypeString:vP,_BinaryenHeapTypeStringviewWTF8:SP,_BinaryenHeapTypeStringviewWTF16:IP,_BinaryenHeapTypeStringviewIter:FP,_BinaryenHeapTypeNone:RP,_BinaryenHeapTypeNoext:kP,_BinaryenHeapTypeNofunc:AP,_BinaryenHeapTypeIsBasic:wP,_BinaryenHeapTypeIsSignature:CP,_BinaryenHeapTypeIsStruct:BP,_BinaryenHeapTypeIsArray:PP,_BinaryenHeapTypeIsBottom:Jc,_BinaryenHeapTypeGetBottom:e_,_BinaryenHeapTypeIsSubType:t_,_BinaryenStructTypeGetNumFields:r_,_BinaryenStructTypeGetFieldType:NP,_BinaryenStructTypeGetFieldPackedType:LP,_BinaryenStructTypeIsFieldMutable:MP,_BinaryenArrayTypeGetElementType:GP,_BinaryenArrayTypeGetElementPackedType:zP,_BinaryenArrayTypeIsElementMutable:UP,_BinaryenSignatureTypeGetParams:VP,_BinaryenSignatureTypeGetResults:DP,_BinaryenModuleCreate:i_,_BinaryenModuleDispose:n_,_BinaryenSizeofLiteral:Ol,_BinaryenLiteralInt32:s_,_BinaryenLiteralInt64:a_,_BinaryenLiteralFloat32:l_,_BinaryenLiteralFloat64:o_,_BinaryenLiteralVec128:u_,_BinaryenLiteralFloat32Bits:qP,_BinaryenLiteralFloat64Bits:OP,_BinaryenExpressionGetId:yt,_BinaryenExpressionGetType:Nt,_BinaryenExpressionSetType:WP,_BinaryenExpressionPrint:KP,_BinaryenExpressionCopy:p_,_BinaryenExpressionFinalize:c_,_BinaryenBlock:__,_BinaryenBlockGetName:ms,_BinaryenBlockSetName:HP,_BinaryenBlockGetNumChildren:Ui,_BinaryenBlockGetChildAt:Vi,_BinaryenBlockSetChildAt:f_,_BinaryenBlockAppendChild:jP,_BinaryenBlockInsertChildAt:$P,_BinaryenBlockRemoveChildAt:XP,_BinaryenIf:h_,_BinaryenIfGetCondition:Di,_BinaryenIfSetCondition:d_,_BinaryenIfGetIfTrue:qi,_BinaryenIfSetIfTrue:m_,_BinaryenIfGetIfFalse:Oi,_BinaryenIfSetIfFalse:y_,_BinaryenLoop:g_,_BinaryenLoopGetName:ys,_BinaryenLoopSetName:ZP,_BinaryenLoopGetBody:Wi,_BinaryenLoopSetBody:b_,_BinaryenBreak:x_,_BinaryenBreakGetName:gs,_BinaryenBreakSetName:YP,_BinaryenBreakGetCondition:Ki,_BinaryenBreakSetCondition:T_,_BinaryenBreakGetValue:Wl,_BinaryenBreakSetValue:E_,_BinaryenSwitch:v_,_BinaryenSwitchGetNumNames:S_,_BinaryenSwitchGetNameAt:I_,_BinaryenSwitchSetNameAt:QP,_BinaryenSwitchAppendName:JP,_BinaryenSwitchInsertNameAt:eN,_BinaryenSwitchRemoveNameAt:tN,_BinaryenSwitchGetDefaultName:F_,_BinaryenSwitchSetDefaultName:rN,_BinaryenSwitchGetCondition:Kl,_BinaryenSwitchSetCondition:R_,_BinaryenSwitchGetValue:Hl,_BinaryenSwitchSetValue:k_,_BinaryenCall:A_,_BinaryenCallGetTarget:Dr,_BinaryenCallSetTarget:iN,_BinaryenCallGetNumOperands:Lt,_BinaryenCallGetOperandAt:Mt,_BinaryenCallSetOperandAt:bs,_BinaryenCallAppendOperand:nN,_BinaryenCallInsertOperandAt:sN,_BinaryenCallRemoveOperandAt:aN,_BinaryenCallIsReturn:lN,_BinaryenCallSetReturn:oN,_BinaryenReturnCall:w_,_BinaryenCallIndirect:C_,_BinaryenCallIndirectGetTable:uN,_BinaryenCallIndirectSetTable:pN,_BinaryenCallIndirectGetTarget:jl,_BinaryenCallIndirectSetTarget:B_,_BinaryenCallIndirectGetNumOperands:Hi,_BinaryenCallIndirectGetOperandAt:ji,_BinaryenCallIndirectSetOperandAt:xs,_BinaryenCallIndirectAppendOperand:cN,_BinaryenCallIndirectInsertOperandAt:_N,_BinaryenCallIndirectRemoveOperandAt:fN,_BinaryenCallIndirectIsReturn:hN,_BinaryenCallIndirectSetReturn:dN,_BinaryenReturnCallIndirect:P_,_BinaryenLocalGet:N_,_BinaryenLocalGetGetIndex:Ts,_BinaryenLocalGetSetIndex:mN,_BinaryenLocalSet:L_,_BinaryenLocalSetIsTee:Es,_BinaryenLocalSetGetIndex:qr,_BinaryenLocalSetSetIndex:yN,_BinaryenLocalSetGetValue:sr,_BinaryenLocalSetSetValue:vs,_BinaryenLocalTee:M_,_BinaryenGlobalGet:G_,_BinaryenGlobalGetGetName:Ss,_BinaryenGlobalGetSetName:gN,_BinaryenGlobalSet:z_,_BinaryenGlobalSetGetName:U_,_BinaryenGlobalSetSetName:bN,_BinaryenGlobalSetGetValue:$l,_BinaryenGlobalSetSetValue:V_,_BinaryenMemorySize:D_,_BinaryenMemoryGrow:q_,_BinaryenMemoryGrowGetDelta:$i,_BinaryenMemoryGrowSetDelta:O_,_BinaryenLoad:W_,_BinaryenLoadIsAtomic:xN,_BinaryenLoadSetAtomic:TN,_BinaryenLoadIsSigned:K_,_BinaryenLoadSetSigned:EN,_BinaryenLoadGetOffset:H_,_BinaryenLoadSetOffset:vN,_BinaryenLoadGetBytes:j_,_BinaryenLoadSetBytes:SN,_BinaryenLoadGetAlign:IN,_BinaryenLoadSetAlign:FN,_BinaryenLoadGetPtr:Xi,_BinaryenLoadSetPtr:$_,_BinaryenAtomicLoad:X_,_BinaryenStore:Z_,_BinaryenStoreIsAtomic:RN,_BinaryenStoreSetAtomic:kN,_BinaryenStoreGetBytes:Is,_BinaryenStoreSetBytes:AN,_BinaryenStoreGetOffset:Fs,_BinaryenStoreSetOffset:wN,_BinaryenStoreGetAlign:CN,_BinaryenStoreSetAlign:BN,_BinaryenStoreGetPtr:ar,_BinaryenStoreSetPtr:Rs,_BinaryenStoreGetValue:Zi,_BinaryenStoreSetValue:Y_,_BinaryenStoreGetValueType:PN,_BinaryenStoreSetValueType:NN,_BinaryenAtomicStore:Q_,_BinaryenConst:Or,_BinaryenConstGetValueI32:J_,_BinaryenConstSetValueI32:LN,_BinaryenConstGetValueI64Low:ef,_BinaryenConstSetValueI64Low:MN,_BinaryenConstGetValueI64High:tf,_BinaryenConstSetValueI64High:GN,_BinaryenConstGetValueF32:rf,_BinaryenConstSetValueF32:zN,_BinaryenConstGetValueF64:nf,_BinaryenConstSetValueF64:UN,_BinaryenConstGetValueV128:sf,_BinaryenConstSetValueV128:VN,_BinaryenUnary:af,_BinaryenUnaryGetOp:lf,_BinaryenUnarySetOp:DN,_BinaryenUnaryGetValue:Yi,_BinaryenUnarySetValue:of,_BinaryenBinary:uf,_BinaryenBinaryGetOp:pf,_BinaryenBinarySetOp:qN,_BinaryenBinaryGetLeft:Qi,_BinaryenBinarySetLeft:cf,_BinaryenBinaryGetRight:Ji,_BinaryenBinarySetRight:_f,_BinaryenSelect:ff,_BinaryenSelectGetIfTrue:en,_BinaryenSelectSetIfTrue:hf,_BinaryenSelectGetIfFalse:tn,_BinaryenSelectSetIfFalse:df,_BinaryenSelectGetCondition:rn,_BinaryenSelectSetCondition:mf,_BinaryenDrop:Xl,_BinaryenDropGetValue:nn,_BinaryenDropSetValue:yf,_BinaryenReturn:gf,_BinaryenReturnGetValue:lr,_BinaryenReturnSetValue:ks,_BinaryenNop:bf,_BinaryenUnreachable:xf,_BinaryenAtomicRMW:Tf,_BinaryenAtomicRMWGetOp:ON,_BinaryenAtomicRMWSetOp:WN,_BinaryenAtomicRMWGetBytes:KN,_BinaryenAtomicRMWSetBytes:HN,_BinaryenAtomicRMWGetOffset:jN,_BinaryenAtomicRMWSetOffset:$N,_BinaryenAtomicRMWGetPtr:Zl,_BinaryenAtomicRMWSetPtr:Ef,_BinaryenAtomicRMWGetValue:Yl,_BinaryenAtomicRMWSetValue:vf,_BinaryenAtomicCmpxchg:Sf,_BinaryenAtomicCmpxchgGetBytes:XN,_BinaryenAtomicCmpxchgSetBytes:ZN,_BinaryenAtomicCmpxchgGetOffset:YN,_BinaryenAtomicCmpxchgSetOffset:QN,_BinaryenAtomicCmpxchgGetPtr:Ql,_BinaryenAtomicCmpxchgSetPtr:If,_BinaryenAtomicCmpxchgGetExpected:Jl,_BinaryenAtomicCmpxchgSetExpected:Ff,_BinaryenAtomicCmpxchgGetReplacement:eo,_BinaryenAtomicCmpxchgSetReplacement:Rf,_BinaryenAtomicWait:kf,_BinaryenAtomicWaitGetPtr:to,_BinaryenAtomicWaitSetPtr:Af,_BinaryenAtomicWaitGetExpected:ro,_BinaryenAtomicWaitSetExpected:wf,_BinaryenAtomicWaitGetTimeout:io,_BinaryenAtomicWaitSetTimeout:Cf,_BinaryenAtomicWaitGetExpectedType:JN,_BinaryenAtomicWaitSetExpectedType:eL,_BinaryenAtomicNotify:Bf,_BinaryenAtomicNotifyGetPtr:no,_BinaryenAtomicNotifySetPtr:Pf,_BinaryenAtomicNotifyGetNotifyCount:so,_BinaryenAtomicNotifySetNotifyCount:Nf,_BinaryenAtomicFence:Lf,_BinaryenAtomicFenceGetOrder:tL,_BinaryenAtomicFenceSetOrder:rL,_BinaryenSIMDExtract:Mf,_BinaryenSIMDExtractGetOp:iL,_BinaryenSIMDExtractSetOp:nL,_BinaryenSIMDExtractGetVec:ao,_BinaryenSIMDExtractSetVec:Gf,_BinaryenSIMDExtractGetIndex:sL,_BinaryenSIMDExtractSetIndex:aL,_BinaryenSIMDReplace:zf,_BinaryenSIMDReplaceGetOp:lL,_BinaryenSIMDReplaceSetOp:oL,_BinaryenSIMDReplaceGetVec:lo,_BinaryenSIMDReplaceSetVec:Uf,_BinaryenSIMDReplaceGetIndex:uL,_BinaryenSIMDReplaceSetIndex:pL,_BinaryenSIMDReplaceGetValue:oo,_BinaryenSIMDReplaceSetValue:Vf,_BinaryenSIMDShuffle:Df,_BinaryenSIMDShuffleGetLeft:uo,_BinaryenSIMDShuffleSetLeft:qf,_BinaryenSIMDShuffleGetRight:po,_BinaryenSIMDShuffleSetRight:Of,_BinaryenSIMDShuffleGetMask:cL,_BinaryenSIMDShuffleSetMask:_L,_BinaryenSIMDTernary:Wf,_BinaryenSIMDTernaryGetOp:fL,_BinaryenSIMDTernarySetOp:hL,_BinaryenSIMDTernaryGetA:co,_BinaryenSIMDTernarySetA:Kf,_BinaryenSIMDTernaryGetB:_o,_BinaryenSIMDTernarySetB:Hf,_BinaryenSIMDTernaryGetC:fo,_BinaryenSIMDTernarySetC:jf,_BinaryenSIMDShift:$f,_BinaryenSIMDShiftGetOp:dL,_BinaryenSIMDShiftSetOp:mL,_BinaryenSIMDShiftGetVec:ho,_BinaryenSIMDShiftSetVec:Xf,_BinaryenSIMDShiftGetShift:mo,_BinaryenSIMDShiftSetShift:Zf,_BinaryenSIMDLoad:Yf,_BinaryenSIMDLoadGetOp:yL,_BinaryenSIMDLoadSetOp:gL,_BinaryenSIMDLoadGetOffset:bL,_BinaryenSIMDLoadSetOffset:xL,_BinaryenSIMDLoadGetAlign:TL,_BinaryenSIMDLoadSetAlign:EL,_BinaryenSIMDLoadGetPtr:yo,_BinaryenSIMDLoadSetPtr:Qf,_BinaryenSIMDLoadStoreLane:Jf,_BinaryenSIMDLoadStoreLaneGetOp:vL,_BinaryenSIMDLoadStoreLaneSetOp:SL,_BinaryenSIMDLoadStoreLaneGetOffset:IL,_BinaryenSIMDLoadStoreLaneSetOffset:FL,_BinaryenSIMDLoadStoreLaneGetAlign:RL,_BinaryenSIMDLoadStoreLaneSetAlign:kL,_BinaryenSIMDLoadStoreLaneGetIndex:AL,_BinaryenSIMDLoadStoreLaneSetIndex:wL,_BinaryenSIMDLoadStoreLaneGetPtr:go,_BinaryenSIMDLoadStoreLaneSetPtr:eh,_BinaryenSIMDLoadStoreLaneGetVec:bo,_BinaryenSIMDLoadStoreLaneSetVec:th,_BinaryenSIMDLoadStoreLaneIsStore:CL,_BinaryenMemoryInit:BL,_BinaryenMemoryInitGetSegment:PL,_BinaryenMemoryInitSetSegment:NL,_BinaryenMemoryInitGetDest:xo,_BinaryenMemoryInitSetDest:rh,_BinaryenMemoryInitGetOffset:To,_BinaryenMemoryInitSetOffset:ih,_BinaryenMemoryInitGetSize:Eo,_BinaryenMemoryInitSetSize:nh,_BinaryenDataDrop:LL,_BinaryenDataDropGetSegment:ML,_BinaryenDataDropSetSegment:GL,_BinaryenMemoryCopy:sh,_BinaryenMemoryCopyGetDest:vo,_BinaryenMemoryCopySetDest:ah,_BinaryenMemoryCopyGetSource:So,_BinaryenMemoryCopySetSource:lh,_BinaryenMemoryCopyGetSize:Io,_BinaryenMemoryCopySetSize:oh,_BinaryenMemoryFill:uh,_BinaryenMemoryFillGetDest:Fo,_BinaryenMemoryFillSetDest:ph,_BinaryenMemoryFillGetValue:Ro,_BinaryenMemoryFillSetValue:ch,_BinaryenMemoryFillGetSize:ko,_BinaryenMemoryFillSetSize:_h,_BinaryenRefNull:fh,_BinaryenRefIsNull:hh,_BinaryenRefIsNullGetValue:Ao,_BinaryenRefIsNullSetValue:dh,_BinaryenRefAs:wo,_BinaryenRefAsGetOp:zL,_BinaryenRefAsSetOp:UL,_BinaryenRefAsGetValue:Co,_BinaryenRefAsSetValue:mh,_BinaryenRefFunc:yh,_BinaryenRefFuncGetFunc:gh,_BinaryenRefFuncSetFunc:VL,_BinaryenRefEq:bh,_BinaryenRefEqGetLeft:Bo,_BinaryenRefEqSetLeft:xh,_BinaryenRefEqGetRight:Po,_BinaryenRefEqSetRight:Th,_BinaryenTableGet:Eh,_BinaryenTableGetGetTable:DL,_BinaryenTableGetSetTable:qL,_BinaryenTableGetGetIndex:OL,_BinaryenTableGetSetIndex:WL,_BinaryenTableSet:vh,_BinaryenTableSetGetTable:KL,_BinaryenTableSetSetTable:HL,_BinaryenTableSetGetIndex:jL,_BinaryenTableSetSetIndex:$L,_BinaryenTableSetGetValue:XL,_BinaryenTableSetSetValue:ZL,_BinaryenTableSize:Sh,_BinaryenTableSizeGetTable:YL,_BinaryenTableSizeSetTable:QL,_BinaryenTableGrow:Ih,_BinaryenTableGrowGetTable:JL,_BinaryenTableGrowSetTable:eM,_BinaryenTableGrowGetValue:tM,_BinaryenTableGrowSetValue:rM,_BinaryenTableGrowGetDelta:iM,_BinaryenTableGrowSetDelta:nM,_BinaryenTry:Fh,_BinaryenTryGetName:sM,_BinaryenTrySetName:aM,_BinaryenTryGetBody:No,_BinaryenTrySetBody:Rh,_BinaryenTryGetNumCatchTags:lM,_BinaryenTryGetNumCatchBodies:Lo,_BinaryenTryGetCatchTagAt:oM,_BinaryenTrySetCatchTagAt:uM,_BinaryenTryAppendCatchTag:pM,_BinaryenTryInsertCatchTagAt:cM,_BinaryenTryRemoveCatchTagAt:_M,_BinaryenTryGetCatchBodyAt:Mo,_BinaryenTrySetCatchBodyAt:kh,_BinaryenTryAppendCatchBody:fM,_BinaryenTryInsertCatchBodyAt:hM,_BinaryenTryRemoveCatchBodyAt:dM,_BinaryenTryHasCatchAll:mM,_BinaryenTryGetDelegateTarget:yM,_BinaryenTrySetDelegateTarget:gM,_BinaryenTryIsDelegate:bM,_BinaryenThrow:Ah,_BinaryenThrowGetTag:wh,_BinaryenThrowSetTag:xM,_BinaryenThrowGetNumOperands:Go,_BinaryenThrowGetOperandAt:zo,_BinaryenThrowSetOperandAt:Ch,_BinaryenThrowAppendOperand:TM,_BinaryenThrowInsertOperandAt:EM,_BinaryenThrowRemoveOperandAt:vM,_BinaryenRethrow:Bh,_BinaryenRethrowGetTarget:SM,_BinaryenRethrowSetDepth:IM,_BinaryenTupleMake:Ph,_BinaryenTupleMakeGetNumOperands:Uo,_BinaryenTupleMakeGetOperandAt:Vo,_BinaryenTupleMakeSetOperandAt:Nh,_BinaryenTupleMakeAppendOperand:FM,_BinaryenTupleMakeInsertOperandAt:RM,_BinaryenTupleMakeRemoveOperandAt:kM,_BinaryenTupleExtract:Lh,_BinaryenTupleExtractGetTuple:Do,_BinaryenTupleExtractSetTuple:Mh,_BinaryenTupleExtractGetIndex:AM,_BinaryenTupleExtractSetIndex:wM,_BinaryenPop:Gh,_BinaryenRefI31:zh,_BinaryenRefI31GetValue:qo,_BinaryenRefI31SetValue:Uh,_BinaryenI31Get:Vh,_BinaryenI31GetGetI31:Oo,_BinaryenI31GetSetI31:Dh,_BinaryenI31GetIsSigned:CM,_BinaryenI31GetSetSigned:BM,_BinaryenCallRef:PM,_BinaryenCallRefGetNumOperands:Wo,_BinaryenCallRefGetOperandAt:Ko,_BinaryenCallRefSetOperandAt:qh,_BinaryenCallRefAppendOperand:NM,_BinaryenCallRefInsertOperandAt:LM,_BinaryenCallRefRemoveOperandAt:MM,_BinaryenCallRefGetTarget:Ho,_BinaryenCallRefSetTarget:Oh,_BinaryenCallRefIsReturn:GM,_BinaryenCallRefSetReturn:zM,_BinaryenRefTest:UM,_BinaryenRefTestGetRef:jo,_BinaryenRefTestSetRef:Wh,_BinaryenRefTestGetCastType:VM,_BinaryenRefTestSetCastType:DM,_BinaryenRefCast:qM,_BinaryenRefCastGetRef:$o,_BinaryenRefCastSetRef:Kh,_BinaryenBrOn:OM,_BinaryenBrOnGetOp:WM,_BinaryenBrOnSetOp:KM,_BinaryenBrOnGetName:Hh,_BinaryenBrOnSetName:HM,_BinaryenBrOnGetRef:Xo,_BinaryenBrOnSetRef:jh,_BinaryenBrOnGetCastType:jM,_BinaryenBrOnSetCastType:$M,_BinaryenStructNew:XM,_BinaryenStructNewGetNumOperands:Zo,_BinaryenStructNewGetOperandAt:Yo,_BinaryenStructNewSetOperandAt:$h,_BinaryenStructNewAppendOperand:ZM,_BinaryenStructNewInsertOperandAt:YM,_BinaryenStructNewRemoveOperandAt:QM,_BinaryenStructGet:JM,_BinaryenStructGetGetIndex:Xh,_BinaryenStructGetSetIndex:e7,_BinaryenStructGetGetRef:Qo,_BinaryenStructGetSetRef:Zh,_BinaryenStructGetIsSigned:t7,_BinaryenStructGetSetSigned:r7,_BinaryenStructSet:i7,_BinaryenStructSetGetIndex:Yh,_BinaryenStructSetSetIndex:n7,_BinaryenStructSetGetRef:Jo,_BinaryenStructSetSetRef:Qh,_BinaryenStructSetGetValue:eu,_BinaryenStructSetSetValue:Jh,_BinaryenArrayNew:s7,_BinaryenArrayNewGetInit:tu,_BinaryenArrayNewSetInit:ed,_BinaryenArrayNewGetSize:ru,_BinaryenArrayNewSetSize:td,_BinaryenArrayNewFixed:a7,_BinaryenArrayNewFixedGetNumValues:iu,_BinaryenArrayNewFixedGetValueAt:nu,_BinaryenArrayNewFixedSetValueAt:rd,_BinaryenArrayNewFixedAppendValue:l7,_BinaryenArrayNewFixedInsertValueAt:o7,_BinaryenArrayNewFixedRemoveValueAt:u7,_BinaryenArrayGet:p7,_BinaryenArrayGetGetRef:su,_BinaryenArrayGetSetRef:id,_BinaryenArrayGetGetIndex:au,_BinaryenArrayGetSetIndex:nd,_BinaryenArrayGetIsSigned:c7,_BinaryenArrayGetSetSigned:_7,_BinaryenArraySet:f7,_BinaryenArraySetGetRef:lu,_BinaryenArraySetSetRef:sd,_BinaryenArraySetGetIndex:ou,_BinaryenArraySetSetIndex:ad,_BinaryenArraySetGetValue:uu,_BinaryenArraySetSetValue:ld,_BinaryenArrayLen:h7,_BinaryenArrayLenGetRef:pu,_BinaryenArrayLenSetRef:od,_BinaryenArrayCopy:d7,_BinaryenArrayCopyGetDestRef:cu,_BinaryenArrayCopySetDestRef:ud,_BinaryenArrayCopyGetDestIndex:_u,_BinaryenArrayCopySetDestIndex:pd,_BinaryenArrayCopyGetSrcRef:fu,_BinaryenArrayCopySetSrcRef:cd,_BinaryenArrayCopyGetSrcIndex:hu,_BinaryenArrayCopySetSrcIndex:_d,_BinaryenArrayCopyGetLength:du,_BinaryenArrayCopySetLength:fd,_BinaryenStringNew:m7,_BinaryenStringNewGetOp:y7,_BinaryenStringNewSetOp:g7,_BinaryenStringNewGetPtr:mu,_BinaryenStringNewSetPtr:hd,_BinaryenStringNewGetLength:yu,_BinaryenStringNewSetLength:dd,_BinaryenStringNewGetStart:gu,_BinaryenStringNewSetStart:md,_BinaryenStringNewGetEnd:bu,_BinaryenStringNewSetEnd:yd,_BinaryenStringNewIsTry:b7,_BinaryenStringNewSetTry:x7,_BinaryenStringConst:T7,_BinaryenStringConstGetString:E7,_BinaryenStringConstSetString:v7,_BinaryenStringMeasure:S7,_BinaryenStringMeasureGetOp:I7,_BinaryenStringMeasureSetOp:F7,_BinaryenStringMeasureGetRef:xu,_BinaryenStringMeasureSetRef:gd,_BinaryenStringEncode:R7,_BinaryenStringEncodeGetOp:k7,_BinaryenStringEncodeSetOp:A7,_BinaryenStringEncodeGetRef:Tu,_BinaryenStringEncodeSetRef:bd,_BinaryenStringEncodeGetPtr:Eu,_BinaryenStringEncodeSetPtr:xd,_BinaryenStringEncodeGetStart:vu,_BinaryenStringEncodeSetStart:Td,_BinaryenStringConcat:w7,_BinaryenStringConcatGetLeft:Su,_BinaryenStringConcatSetLeft:Ed,_BinaryenStringConcatGetRight:Iu,_BinaryenStringConcatSetRight:vd,_BinaryenStringEq:Fu,_BinaryenStringEqGetOp:C7,_BinaryenStringEqSetOp:B7,_BinaryenStringEqGetLeft:Ru,_BinaryenStringEqSetLeft:Sd,_BinaryenStringEqGetRight:ku,_BinaryenStringEqSetRight:Id,_BinaryenStringAs:P7,_BinaryenStringAsGetOp:N7,_BinaryenStringAsSetOp:L7,_BinaryenStringAsGetRef:Au,_BinaryenStringAsSetRef:Fd,_BinaryenStringWTF8Advance:M7,_BinaryenStringWTF8AdvanceGetRef:wu,_BinaryenStringWTF8AdvanceSetRef:Rd,_BinaryenStringWTF8AdvanceGetPos:Cu,_BinaryenStringWTF8AdvanceSetPos:kd,_BinaryenStringWTF8AdvanceGetBytes:Bu,_BinaryenStringWTF8AdvanceSetBytes:Ad,_BinaryenStringWTF16Get:G7,_BinaryenStringWTF16GetGetRef:Pu,_BinaryenStringWTF16GetSetRef:wd,_BinaryenStringWTF16GetGetPos:Nu,_BinaryenStringWTF16GetSetPos:Cd,_BinaryenStringIterNext:z7,_BinaryenStringIterNextGetRef:Lu,_BinaryenStringIterNextSetRef:Bd,_BinaryenStringIterMove:U7,_BinaryenStringIterMoveGetOp:V7,_BinaryenStringIterMoveSetOp:D7,_BinaryenStringIterMoveGetRef:Mu,_BinaryenStringIterMoveSetRef:Pd,_BinaryenStringIterMoveGetNum:Gu,_BinaryenStringIterMoveSetNum:Nd,_BinaryenStringSliceWTF:q7,_BinaryenStringSliceWTFGetOp:O7,_BinaryenStringSliceWTFSetOp:W7,_BinaryenStringSliceWTFGetRef:zu,_BinaryenStringSliceWTFSetRef:Ld,_BinaryenStringSliceWTFGetStart:Uu,_BinaryenStringSliceWTFSetStart:Md,_BinaryenStringSliceWTFGetEnd:Vu,_BinaryenStringSliceWTFSetEnd:Gd,_BinaryenStringSliceIter:K7,_BinaryenStringSliceIterGetRef:Du,_BinaryenStringSliceIterSetRef:zd,_BinaryenStringSliceIterGetNum:qu,_BinaryenStringSliceIterSetNum:Ud,_BinaryenAddFunction:Wr,_BinaryenGetFunction:Kr,_BinaryenRemoveFunction:sn,_BinaryenGetNumFunctions:Vd,_BinaryenGetFunctionByIndex:Dd,_BinaryenFunctionGetName:Hr,_BinaryenFunctionGetParams:an,_BinaryenFunctionGetResults:ln,_BinaryenFunctionGetNumVars:As,_BinaryenFunctionGetVar:ws,_BinaryenFunctionGetNumLocals:Ou,_BinaryenFunctionHasLocalName:H7,_BinaryenFunctionGetLocalName:j7,_BinaryenFunctionSetLocalName:qd,_BinaryenFunctionGetBody:Gt,_BinaryenFunctionSetBody:Cs,_BinaryenFunctionOptimize:$7,_BinaryenFunctionRunPasses:Od,_BinaryenFunctionSetDebugLocation:Wd,_BinaryenAddFunctionImport:Kd,_BinaryenAddTableImport:Hd,_BinaryenAddMemoryImport:jd,_BinaryenAddGlobalImport:$d,_BinaryenAddTagImport:Xd,_BinaryenAddFunctionExport:Bs,_BinaryenAddTableExport:Zd,_BinaryenAddMemoryExport:Yd,_BinaryenAddGlobalExport:Qd,_BinaryenAddTagExport:Jd,_BinaryenGetExport:Ps,_BinaryenRemoveExport:Ns,_BinaryenGetNumExports:X7,_BinaryenGetExportByIndex:Z7,_BinaryenExportGetKind:em,_BinaryenExportGetName:tm,_BinaryenExportGetValue:rm,_BinaryenAddGlobal:im,_BinaryenGetGlobal:Wu,_BinaryenRemoveGlobal:nm,_BinaryenGetNumGlobals:sm,_BinaryenGetGlobalByIndex:am,_BinaryenGlobalGetName:lm,_BinaryenGlobalGetType:om,_BinaryenGlobalIsMutable:um,_BinaryenGlobalGetInitExpr:Ls,_BinaryenAddTag:pm,_BinaryenGetTag:cm,_BinaryenRemoveTag:_m,_BinaryenTagGetName:fm,_BinaryenTagGetParams:hm,_BinaryenTagGetResults:dm,_BinaryenAddTable:mm,_BinaryenRemoveTable:Y7,_BinaryenGetNumTables:Q7,_BinaryenGetTable:ym,_BinaryenGetTableByIndex:J7,_BinaryenTableGetName:eG,_BinaryenTableSetName:tG,_BinaryenTableGetInitial:rG,_BinaryenTableSetInitial:gm,_BinaryenTableHasMax:iG,_BinaryenTableGetMax:nG,_BinaryenTableSetMax:bm,_BinaryenAddActiveElementSegment:xm,_BinaryenAddPassiveElementSegment:sG,_BinaryenRemoveElementSegment:aG,_BinaryenGetNumElementSegments:lG,_BinaryenGetElementSegment:oG,_BinaryenGetElementSegmentByIndex:uG,_BinaryenSetMemory:Tm,_BinaryenGetNumMemorySegments:pG,_BinaryenGetMemorySegmentByteOffset:cG,_BinaryenGetMemorySegmentByteLength:_G,_BinaryenCopyMemorySegmentData:fG,_BinaryenSetStart:Em,_BinaryenModuleParse:hG,_BinaryenModulePrint:dG,_BinaryenModulePrintAsmjs:mG,_BinaryenModuleValidate:vm,_BinaryenModuleOptimize:yG,_BinaryenModuleRunPasses:Sm,_BinaryenModuleAutoDrop:gG,_BinaryenSizeofAllocateAndWriteResult:Im,_BinaryenModuleAllocateAndWrite:Fm,_BinaryenModuleAllocateAndWriteText:Rm,_BinaryenModuleAllocateAndWriteStackIR:km,_BinaryenModuleRead:Am,_BinaryenModuleInterpret:wm,_BinaryenModuleAddDebugInfoFileName:Cm,_BinaryenModuleGetDebugInfoFileName:Bm,_BinaryenModuleGetFeatures:Pm,_BinaryenModuleSetFeatures:Nm,_BinaryenAddCustomSection:Lm,_BinaryenExpressionGetSideEffects:Mm,_RelooperCreate:Gm,_RelooperAddBlock:zm,_RelooperAddBranch:Um,_RelooperAddBlockWithSwitch:Vm,_RelooperAddBranchForSwitch:Dm,_RelooperRenderAndDispose:qm,_ExpressionRunnerCreate:Om,_ExpressionRunnerSetLocalValue:bG,_ExpressionRunnerSetGlobalValue:xG,_ExpressionRunnerRunAndDispose:Wm,_TypeBuilderCreate:Km,_TypeBuilderGrow:Ku,_TypeBuilderGetSize:Ms,_TypeBuilderSetSignatureType:Hm,_TypeBuilderSetStructType:jm,_TypeBuilderSetArrayType:TG,_TypeBuilderGetTempHeapType:Hu,_TypeBuilderGetTempTupleType:ju,_TypeBuilderGetTempRefType:jr,_TypeBuilderSetSubType:$m,_TypeBuilderSetOpen:EG,_TypeBuilderCreateRecGroup:vG,_TypeBuilderBuildAndDispose:Xm,_BinaryenModuleSetTypeName:Zm,_BinaryenModuleSetFieldName:Ym,_BinaryenGetOptimizeLevel:Qm,_BinaryenSetOptimizeLevel:Jm,_BinaryenGetShrinkLevel:ey,_BinaryenSetShrinkLevel:ty,_BinaryenGetDebugInfo:ry,_BinaryenSetDebugInfo:iy,_BinaryenGetLowMemoryUnused:ny,_BinaryenSetLowMemoryUnused:sy,_BinaryenGetZeroFilledMemory:ay,_BinaryenSetZeroFilledMemory:ly,_BinaryenGetFastMath:oy,_BinaryenSetFastMath:uy,_BinaryenGetPassArgument:py,_BinaryenSetPassArgument:cy,_BinaryenClearPassArguments:_y,_BinaryenGetAlwaysInlineMaxSize:fy,_BinaryenSetAlwaysInlineMaxSize:hy,_BinaryenGetFlexibleInlineMaxSize:dy,_BinaryenSetFlexibleInlineMaxSize:my,_BinaryenGetOneCallerInlineMaxSize:yy,_BinaryenSetOneCallerInlineMaxSize:gy,_BinaryenGetAllowInliningFunctionsWithLoops:by,_BinaryenSetAllowInliningFunctionsWithLoops:xy,_malloc:it,_free:J,__i32_store8:we,__i32_store16:SG,__i32_store:Gs,__f32_store:IG,__f64_store:FG,__i32_load8_s:RG,__i32_load8_u:or,__i32_load16_s:kG,__i32_load16_u:AG,__i32_load:zt,__f32_load:wG,__f64_load:CG}=ql;var zs=new Float64Array(1),Ey=new Float32Array(zs.buffer),$r=new Int32Array(zs.buffer);globalThis.f32_as_i32=function(i){return Ey[0]=i,$r[0]};globalThis.i32_as_f32=function(i){return $r[0]=i,Ey[0]};globalThis.f64_as_i64=function(i){return zs[0]=i,i64_new($r[0],$r[1])};globalThis.i64_as_f64=function(i){return $r[0]=i64_low(i),$r[1]=i64_high(i),zs[0]};import me from"long";globalThis.i64_zero=me.ZERO;globalThis.i64_one=me.ONE;globalThis.i64_neg_one=me.fromInt(-1);globalThis.i64_minimum=me.MIN_VALUE;globalThis.i64_maximum=me.MAX_VALUE;globalThis.i64_is=function(i){return me.isLong(i)};globalThis.i64_new=function(i,e){return me.fromBits(i,e)};globalThis.i64_low=function(i){return i.low};globalThis.i64_high=function(i){return i.high};globalThis.i64_not=function(i){return i.not()};globalThis.i64_neg=function(i){return i.neg()};globalThis.i64_clz=function(i){return i.clz()};globalThis.i64_ctz=function(i){return i.ctz()};globalThis.i64_add=function(i,e){return i.add(e)};globalThis.i64_sub=function(i,e){return i.sub(e)};globalThis.i64_mul=function(i,e){return i.mul(e)};globalThis.i64_pow=function(i,e){let r=e.low,n=e.high;if(n<=0){if(n<0)return i.eq(globalThis.i64_neg_one)?r&1?i:me.ONE:i.eq(me.ONE)?i:me.ZERO;if(r==0)return me.ONE;if(r==1)return i;if(r==2)return i.mul(i)}let s=me.ONE;for(;r|n;)r&1&&(s=s.mul(i)),e=e.shru(1),i=i.mul(i),r=e.low,n=e.high;return s};globalThis.i64_div=function(i,e){return i.div(e)};globalThis.i64_div_u=function(i,e){return i.toUnsigned().div(e.toUnsigned()).toSigned()};globalThis.i64_rem=function(i,e){return i.mod(e)};globalThis.i64_rem_u=function(i,e){return i.toUnsigned().mod(e.toUnsigned()).toSigned()};globalThis.i64_and=function(i,e){return i.and(e)};globalThis.i64_or=function(i,e){return i.or(e)};globalThis.i64_xor=function(i,e){return i.xor(e)};globalThis.i64_shl=function(i,e){return i.shl(e)};globalThis.i64_shr=function(i,e){return i.shr(e)};globalThis.i64_shr_u=function(i,e){return i.shru(e)};globalThis.i64_eq=function(i,e){return i.eq(e)};globalThis.i64_ne=function(i,e){return i.ne(e)};globalThis.i64_ge=function(i,e){return i.ge(e)};globalThis.i64_ge_u=function(i,e){return i.toUnsigned().ge(e.toUnsigned())};globalThis.i64_gt=function(i,e){return i.gt(e)};globalThis.i64_gt_u=function(i,e){return i.toUnsigned().gt(e.toUnsigned())};globalThis.i64_le=function(i,e){return i.le(e)};globalThis.i64_le_u=function(i,e){return i.toUnsigned().le(e.toUnsigned())};globalThis.i64_lt=function(i,e){return i.lt(e)};globalThis.i64_lt_u=function(i,e){return i.toUnsigned().lt(e.toUnsigned())};globalThis.i64_align=function(i,e){assert(e&&(e&e-1)==0);let r=me.fromInt(e-1);return i.add(r).and(r.not())};globalThis.i64_signbit=function(i){return!!(i.high>>>31)};globalThis.i64_is_i8=function(i){return i.high===0&&i.low>=0&&i.low<=i8.MAX_VALUE||i.high===-1&&i.low>=i8.MIN_VALUE&&i.low<0};globalThis.i64_is_i16=function(i){return i.high===0&&i.low>=0&&i.low<=i16.MAX_VALUE||i.high===-1&&i.low>=i16.MIN_VALUE&&i.low<0};globalThis.i64_is_i32=function(i){return i.high===0&&i.low>=0||i.high===-1&&i.low<0};globalThis.i64_is_u8=function(i){return i.high===0&&i.low>>>0<=u8.MAX_VALUE};globalThis.i64_is_u16=function(i){return i.high===0&&i.low>>>0<=u16.MAX_VALUE};globalThis.i64_is_u32=function(i){return i.high===0};globalThis.i64_is_bool=function(i){return(i.high|i.low&-2)===0};var c2=me.fromNumber(f32.MIN_SAFE_INTEGER),_2=me.fromNumber(f32.MAX_SAFE_INTEGER);globalThis.i64_is_f32=function(i){return i.gte(c2)&&i.lte(_2)};var f2=me.fromNumber(f64.MIN_SAFE_INTEGER),h2=me.fromNumber(f64.MAX_SAFE_INTEGER);globalThis.i64_is_f64=function(i){return i.gte(f2)&&i.lte(h2)};globalThis.i64_to_f32=function(i){return globalThis.Math.fround(i.toNumber())};globalThis.i64_to_f64=function(i){return i.toNumber()};globalThis.i64_to_string=function(i,e){return e?i.toUnsigned().toString():i.toString()};globalThis.i64_clone=function(i){return me.fromBits(i.low,i.high,i.unsigned)};globalThis.Map_keys=function(i){return Array.from(i.keys())};globalThis.Map_values=function(i){return Array.from(i.values())};globalThis.Set_values=function(i){return Array.from(i.values())};var Ut=(E=>(E[E.None=0]="None",E[E.SignExtension=1]="SignExtension",E[E.MutableGlobals=2]="MutableGlobals",E[E.NontrappingF2I=4]="NontrappingF2I",E[E.BulkMemory=8]="BulkMemory",E[E.Simd=16]="Simd",E[E.Threads=32]="Threads",E[E.ExceptionHandling=64]="ExceptionHandling",E[E.TailCalls=128]="TailCalls",E[E.ReferenceTypes=256]="ReferenceTypes",E[E.MultiValue=512]="MultiValue",E[E.GC=1024]="GC",E[E.Memory64=2048]="Memory64",E[E.RelaxedSimd=4096]="RelaxedSimd",E[E.ExtendedConst=8192]="ExtendedConst",E[E.Stringref=16384]="Stringref",E[E.All=32767]="All",E))(Ut||{});function Xr(t){switch(t){case 1:return"sign-extension";case 2:return"mutable-globals";case 4:return"nontrapping-f2i";case 8:return"bulk-memory";case 16:return"simd";case 32:return"threads";case 64:return"exception-handling";case 128:return"tail-calls";case 256:return"reference-types";case 512:return"multi-value";case 1024:return"gc";case 2048:return"memory64";case 4096:return"relaxed-simd";case 8192:return"extended-const";case 16384:return"stringref"}return assert(!1),""}var Zr=(r=>(r[r.Js=0]="Js",r[r.Wasm32=1]="Wasm32",r[r.Wasm64=2]="Wasm64",r))(Zr||{});var Us=(r=>(r[r.Stub=0]="Stub",r[r.Minimal=1]="Minimal",r[r.Incremental=2]="Incremental",r))(Us||{});var Yr=class{constructor(){this.flags=0}};Yr=Nc([unmanaged],Yr);var Vs=(V=>(V[V.NONE=0]="NONE",V[V.ARRAYBUFFERVIEW=1]="ARRAYBUFFERVIEW",V[V.ARRAY=2]="ARRAY",V[V.STATICARRAY=4]="STATICARRAY",V[V.SET=8]="SET",V[V.MAP=16]="MAP",V[V.POINTERFREE=32]="POINTERFREE",V[V.VALUE_ALIGN_0=64]="VALUE_ALIGN_0",V[V.VALUE_ALIGN_1=128]="VALUE_ALIGN_1",V[V.VALUE_ALIGN_2=256]="VALUE_ALIGN_2",V[V.VALUE_ALIGN_3=512]="VALUE_ALIGN_3",V[V.VALUE_ALIGN_4=1024]="VALUE_ALIGN_4",V[V.VALUE_SIGNED=2048]="VALUE_SIGNED",V[V.VALUE_FLOAT=4096]="VALUE_FLOAT",V[V.VALUE_NULLABLE=8192]="VALUE_NULLABLE",V[V.VALUE_MANAGED=16384]="VALUE_MANAGED",V[V.KEY_ALIGN_0=32768]="KEY_ALIGN_0",V[V.KEY_ALIGN_1=65536]="KEY_ALIGN_1",V[V.KEY_ALIGN_2=131072]="KEY_ALIGN_2",V[V.KEY_ALIGN_3=262144]="KEY_ALIGN_3",V[V.KEY_ALIGN_4=524288]="KEY_ALIGN_4",V[V.KEY_SIGNED=1048576]="KEY_SIGNED",V[V.KEY_FLOAT=2097152]="KEY_FLOAT",V[V.KEY_NULLABLE=4194304]="KEY_NULLABLE",V[V.KEY_MANAGED=8388608]="KEY_MANAGED",V))(Vs||{});var De=(H=>(H[H.None=0]="None",H[H.Import=1]="Import",H[H.Export=2]="Export",H[H.Declare=4]="Declare",H[H.Const=8]="Const",H[H.Let=16]="Let",H[H.Static=32]="Static",H[H.Readonly=64]="Readonly",H[H.Abstract=128]="Abstract",H[H.Public=256]="Public",H[H.Private=512]="Private",H[H.Protected=1024]="Protected",H[H.Get=2048]="Get",H[H.Set=4096]="Set",H[H.Override=8192]="Override",H[H.DefinitelyAssigned=16384]="DefinitelyAssigned",H[H.Ambient=32768]="Ambient",H[H.Generic=65536]="Generic",H[H.GenericContext=131072]="GenericContext",H[H.Instance=262144]="Instance",H[H.Constructor=524288]="Constructor",H[H.ModuleExport=1048576]="ModuleExport",H[H.ModuleImport=2097152]="ModuleImport",H[H.Resolved=4194304]="Resolved",H[H.Compiled=8388608]="Compiled",H[H.Errored=16777216]="Errored",H[H.Inlined=33554432]="Inlined",H[H.Scoped=67108864]="Scoped",H[H.Stub=134217728]="Stub",H[H.Overridden=268435456]="Overridden",H[H.Closure=536870912]="Closure",H[H.Quoted=1073741824]="Quoted",H[H.InternallyNullable=-2147483648]="InternallyNullable",H))(De||{}),Ye="/",d2="..",Ds="get:",qs="set:",$u="#",on=".",Xu="~",Os="~lib",nt=Os+Ye,Ne=Ye+"index",Zu="@",B;(G=>(G.Empty="",G.i8="i8",G.i16="i16",G.i32="i32",G.i64="i64",G.isize="isize",G.u8="u8",G.u16="u16",G.u32="u32",G.u64="u64",G.usize="usize",G.bool="bool",G.f32="f32",G.f64="f64",G.v128="v128",G.ref_func="ref_func",G.ref_extern="ref_extern",G.ref_any="ref_any",G.ref_eq="ref_eq",G.ref_struct="ref_struct",G.ref_array="ref_array",G.ref_i31="ref_i31",G.ref_string="ref_string",G.ref_stringview_wtf8="ref_stringview_wtf8",G.ref_stringview_wtf16="ref_stringview_wtf16",G.ref_stringview_iter="ref_stringview_iter",G.i8x16="i8x16",G.u8x16="u8x16",G.i16x8="i16x8",G.u16x8="u16x8",G.i32x4="i32x4",G.u32x4="u32x4",G.i64x2="i64x2",G.u64x2="u64x2",G.f32x4="f32x4",G.f64x2="f64x2",G.void_="void",G.number="number",G.boolean="boolean",G.string="string",G.native="native",G.indexof="indexof",G.valueof="valueof",G.returnof="returnof",G.nonnull="nonnull",G.null_="null",G.true_="true",G.false_="false",G.this_="this",G.super_="super",G.constructor="constructor",G.ASC_TARGET="ASC_TARGET",G.ASC_RUNTIME="ASC_RUNTIME",G.ASC_NO_ASSERT="ASC_NO_ASSERT",G.ASC_MEMORY_BASE="ASC_MEMORY_BASE",G.ASC_TABLE_BASE="ASC_TABLE_BASE",G.ASC_OPTIMIZE_LEVEL="ASC_OPTIMIZE_LEVEL",G.ASC_SHRINK_LEVEL="ASC_SHRINK_LEVEL",G.ASC_LOW_MEMORY_LIMIT="ASC_LOW_MEMORY_LIMIT",G.ASC_EXPORT_RUNTIME="ASC_EXPORT_RUNTIME",G.ASC_FEATURE_SIGN_EXTENSION="ASC_FEATURE_SIGN_EXTENSION",G.ASC_FEATURE_MUTABLE_GLOBALS="ASC_FEATURE_MUTABLE_GLOBALS",G.ASC_FEATURE_NONTRAPPING_F2I="ASC_FEATURE_NONTRAPPING_F2I",G.ASC_FEATURE_BULK_MEMORY="ASC_FEATURE_BULK_MEMORY",G.ASC_FEATURE_SIMD="ASC_FEATURE_SIMD",G.ASC_FEATURE_THREADS="ASC_FEATURE_THREADS",G.ASC_FEATURE_EXCEPTION_HANDLING="ASC_FEATURE_EXCEPTION_HANDLING",G.ASC_FEATURE_TAIL_CALLS="ASC_FEATURE_TAIL_CALLS",G.ASC_FEATURE_REFERENCE_TYPES="ASC_FEATURE_REFERENCE_TYPES",G.ASC_FEATURE_MULTI_VALUE="ASC_FEATURE_MULTI_VALUE",G.ASC_FEATURE_GC="ASC_FEATURE_GC",G.ASC_FEATURE_MEMORY64="ASC_FEATURE_MEMORY64",G.ASC_FEATURE_RELAXED_SIMD="ASC_FEATURE_RELAXED_SIMD",G.ASC_FEATURE_EXTENDED_CONST="ASC_FEATURE_EXTENDED_CONST",G.ASC_FEATURE_STRINGREF="ASC_FEATURE_STRINGREF",G.ASC_VERSION_MAJOR="ASC_VERSION_MAJOR",G.ASC_VERSION_MINOR="ASC_VERSION_MINOR",G.ASC_VERSION_PATCH="ASC_VERSION_PATCH",G.I8="I8",G.I16="I16",G.I32="I32",G.I64="I64",G.Isize="Isize",G.U8="U8",G.U16="U16",G.U32="U32",G.U64="U64",G.Usize="Usize",G.Bool="Bool",G.F32="F32",G.F64="F64",G.V128="V128",G.RefFunc="RefFunc",G.RefExtern="RefExtern",G.RefAny="RefAny",G.RefEq="RefEq",G.RefStruct="RefStruct",G.RefArray="RefArray",G.RefI31="RefI31",G.RefString="RefString",G.String="String",G.RegExp="RegExp",G.Object="Object",G.Array="Array",G.StaticArray="StaticArray",G.Set="Set",G.Map="Map",G.Function="Function",G.ArrayBufferView="ArrayBufferView",G.ArrayBuffer="ArrayBuffer",G.Math="Math",G.Mathf="Mathf",G.NativeMath="NativeMath",G.NativeMathf="NativeMathf",G.Int8Array="Int8Array",G.Int16Array="Int16Array",G.Int32Array="Int32Array",G.Int64Array="Int64Array",G.Uint8Array="Uint8Array",G.Uint8ClampedArray="Uint8ClampedArray",G.Uint16Array="Uint16Array",G.Uint32Array="Uint32Array",G.Uint64Array="Uint64Array",G.Float32Array="Float32Array",G.Float64Array="Float64Array",G.TemplateStringsArray="TemplateStringsArray",G.Error="Error",G.abort="abort",G.trace="trace",G.seed="seed",G.pow="pow",G.ipow32="ipow32",G.ipow64="ipow64",G.mod="mod",G.alloc="__alloc",G.realloc="__realloc",G.free="__free",G.new_="__new",G.renew="__renew",G.link="__link",G.collect="__collect",G.visit="__visit",G.newBuffer="__newBuffer",G.newArray="__newArray",G.BLOCK="~lib/rt/common/BLOCK",G.OBJECT="~lib/rt/common/OBJECT",G.DefaultMemory="0",G.DefaultTable="0"))(B||={});var st=(v=>(v[v.Not_implemented_0=100]="Not_implemented_0",v[v.Operation_is_unsafe=101]="Operation_is_unsafe",v[v.User_defined_0=102]="User_defined_0",v[v.Feature_0_is_not_enabled=103]="Feature_0_is_not_enabled",v[v.Low_memory_limit_exceeded_by_static_data_0_1=104]="Low_memory_limit_exceeded_by_static_data_0_1",v[v.Module_requires_at_least_0_pages_of_initial_memory=105]="Module_requires_at_least_0_pages_of_initial_memory",v[v.Module_requires_at_least_0_pages_of_maximum_memory=106]="Module_requires_at_least_0_pages_of_maximum_memory",v[v.Shared_memory_requires_maximum_memory_to_be_defined=107]="Shared_memory_requires_maximum_memory_to_be_defined",v[v.Shared_memory_requires_feature_threads_to_be_enabled=108]="Shared_memory_requires_feature_threads_to_be_enabled",v[v.Transform_0_1=109]="Transform_0_1",v[v.Start_function_name_0_is_invalid_or_conflicts_with_another_export=110]="Start_function_name_0_is_invalid_or_conflicts_with_another_export",v[v.Element_0_not_found=111]="Element_0_not_found",v[v.Exchange_of_0_values_is_not_supported_by_all_embeddings=112]="Exchange_of_0_values_is_not_supported_by_all_embeddings",v[v.Conversion_from_type_0_to_1_requires_an_explicit_cast=200]="Conversion_from_type_0_to_1_requires_an_explicit_cast",v[v.Conversion_from_type_0_to_1_will_require_an_explicit_cast_when_switching_between_32_64_bit=201]="Conversion_from_type_0_to_1_will_require_an_explicit_cast_when_switching_between_32_64_bit",v[v.Type_0_cannot_be_changed_to_type_1=202]="Type_0_cannot_be_changed_to_type_1",v[v.Operation_0_cannot_be_applied_to_type_1=203]="Operation_0_cannot_be_applied_to_type_1",v[v.Type_0_cannot_be_nullable=204]="Type_0_cannot_be_nullable",v[v.Mutable_value_cannot_be_inlined=206]="Mutable_value_cannot_be_inlined",v[v.Unmanaged_classes_cannot_extend_managed_classes_and_vice_versa=207]="Unmanaged_classes_cannot_extend_managed_classes_and_vice_versa",v[v.Unmanaged_classes_cannot_implement_interfaces=208]="Unmanaged_classes_cannot_implement_interfaces",v[v.Invalid_regular_expression_flags=209]="Invalid_regular_expression_flags",v[v.Expression_is_never_null=210]="Expression_is_never_null",v[v.Class_0_is_final_and_cannot_be_extended=211]="Class_0_is_final_and_cannot_be_extended",v[v.Decorator_0_is_not_valid_here=212]="Decorator_0_is_not_valid_here",v[v.Duplicate_decorator=213]="Duplicate_decorator",v[v.Type_0_is_illegal_in_this_context=214]="Type_0_is_illegal_in_this_context",v[v.Optional_parameter_must_have_an_initializer=215]="Optional_parameter_must_have_an_initializer",v[v.Class_0_cannot_declare_a_constructor_when_instantiated_from_an_object_literal=216]="Class_0_cannot_declare_a_constructor_when_instantiated_from_an_object_literal",v[v.Function_0_cannot_be_inlined_into_itself=217]="Function_0_cannot_be_inlined_into_itself",v[v.Cannot_access_method_0_without_calling_it_as_it_requires_this_to_be_set=218]="Cannot_access_method_0_without_calling_it_as_it_requires_this_to_be_set",v[v.Optional_properties_are_not_supported=219]="Optional_properties_are_not_supported",v[v.Expression_must_be_a_compile_time_constant=220]="Expression_must_be_a_compile_time_constant",v[v.Type_0_is_not_a_function_index_or_function_reference=221]="Type_0_is_not_a_function_index_or_function_reference",v[v._0_must_be_a_value_between_1_and_2_inclusive=222]="_0_must_be_a_value_between_1_and_2_inclusive",v[v._0_must_be_a_power_of_two=223]="_0_must_be_a_power_of_two",v[v._0_is_not_a_valid_operator=224]="_0_is_not_a_valid_operator",v[v.Expression_cannot_be_represented_by_a_type=225]="Expression_cannot_be_represented_by_a_type",v[v.Expression_resolves_to_unusual_type_0=226]="Expression_resolves_to_unusual_type_0",v[v.Array_literal_expected=227]="Array_literal_expected",v[v.Function_0_is_virtual_and_will_not_be_inlined=228]="Function_0_is_virtual_and_will_not_be_inlined",v[v.Property_0_only_has_a_setter_and_is_missing_a_getter=229]="Property_0_only_has_a_setter_and_is_missing_a_getter",v[v._0_keyword_cannot_be_used_here=230]="_0_keyword_cannot_be_used_here",v[v.A_class_with_a_constructor_explicitly_returning_something_else_than_this_must_be_final=231]="A_class_with_a_constructor_explicitly_returning_something_else_than_this_must_be_final",v[v.Property_0_is_always_assigned_before_being_used=233]="Property_0_is_always_assigned_before_being_used",v[v.Expression_does_not_compile_to_a_value_at_runtime=234]="Expression_does_not_compile_to_a_value_at_runtime",v[v.Only_variables_functions_and_enums_become_WebAssembly_module_exports=235]="Only_variables_functions_and_enums_become_WebAssembly_module_exports",v[v.Literal_0_does_not_fit_into_i64_or_u64_types=236]="Literal_0_does_not_fit_into_i64_or_u64_types",v[v.Index_signature_accessors_in_type_0_differ_in_types=237]="Index_signature_accessors_in_type_0_differ_in_types",v[v.Initializer_definitive_assignment_or_nullable_type_expected=238]="Initializer_definitive_assignment_or_nullable_type_expected",v[v.Definitive_assignment_has_no_effect_on_local_variables=239]="Definitive_assignment_has_no_effect_on_local_variables",v[v.Importing_the_table_disables_some_indirect_call_optimizations=901]="Importing_the_table_disables_some_indirect_call_optimizations",v[v.Exporting_the_table_disables_some_indirect_call_optimizations=902]="Exporting_the_table_disables_some_indirect_call_optimizations",v[v.Expression_compiles_to_a_dynamic_check_at_runtime=903]="Expression_compiles_to_a_dynamic_check_at_runtime",v[v.Indexed_access_may_involve_bounds_checking=904]="Indexed_access_may_involve_bounds_checking",v[v.Explicitly_returning_constructor_drops_this_allocation=905]="Explicitly_returning_constructor_drops_this_allocation",v[v.Unnecessary_definite_assignment=906]="Unnecessary_definite_assignment",v[v._NaN_does_not_compare_equal_to_any_other_value_including_itself_Use_isNaN_x_instead=907]="_NaN_does_not_compare_equal_to_any_other_value_including_itself_Use_isNaN_x_instead",v[v.Comparison_with_0_0_is_sign_insensitive_Use_Object_is_x_0_0_if_the_sign_matters=908]="Comparison_with_0_0_is_sign_insensitive_Use_Object_is_x_0_0_if_the_sign_matters",v[v.Unterminated_string_literal=1002]="Unterminated_string_literal",v[v.Identifier_expected=1003]="Identifier_expected",v[v._0_expected=1005]="_0_expected",v[v.A_file_cannot_have_a_reference_to_itself=1006]="A_file_cannot_have_a_reference_to_itself",v[v.Trailing_comma_not_allowed=1009]="Trailing_comma_not_allowed",v[v.Unexpected_token=1012]="Unexpected_token",v[v.A_rest_parameter_must_be_last_in_a_parameter_list=1014]="A_rest_parameter_must_be_last_in_a_parameter_list",v[v.Parameter_cannot_have_question_mark_and_initializer=1015]="Parameter_cannot_have_question_mark_and_initializer",v[v.A_required_parameter_cannot_follow_an_optional_parameter=1016]="A_required_parameter_cannot_follow_an_optional_parameter",v[v._0_modifier_cannot_appear_on_class_elements_of_this_kind=1031]="_0_modifier_cannot_appear_on_class_elements_of_this_kind",v[v.Statements_are_not_allowed_in_ambient_contexts=1036]="Statements_are_not_allowed_in_ambient_contexts",v[v.Initializers_are_not_allowed_in_ambient_contexts=1039]="Initializers_are_not_allowed_in_ambient_contexts",v[v._0_modifier_cannot_be_used_here=1042]="_0_modifier_cannot_be_used_here",v[v.A_rest_parameter_cannot_be_optional=1047]="A_rest_parameter_cannot_be_optional",v[v.A_rest_parameter_cannot_have_an_initializer=1048]="A_rest_parameter_cannot_have_an_initializer",v[v.A_set_accessor_must_have_exactly_one_parameter=1049]="A_set_accessor_must_have_exactly_one_parameter",v[v.A_set_accessor_parameter_cannot_have_an_initializer=1052]="A_set_accessor_parameter_cannot_have_an_initializer",v[v.A_get_accessor_cannot_have_parameters=1054]="A_get_accessor_cannot_have_parameters",v[v.Enum_member_must_have_initializer=1061]="Enum_member_must_have_initializer",v[v.Type_parameters_cannot_appear_on_a_constructor_declaration=1092]="Type_parameters_cannot_appear_on_a_constructor_declaration",v[v.Type_annotation_cannot_appear_on_a_constructor_declaration=1093]="Type_annotation_cannot_appear_on_a_constructor_declaration",v[v.An_accessor_cannot_have_type_parameters=1094]="An_accessor_cannot_have_type_parameters",v[v.A_set_accessor_cannot_have_a_return_type_annotation=1095]="A_set_accessor_cannot_have_a_return_type_annotation",v[v.Type_parameter_list_cannot_be_empty=1098]="Type_parameter_list_cannot_be_empty",v[v.Type_argument_list_cannot_be_empty=1099]="Type_argument_list_cannot_be_empty",v[v.A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement=1104]="A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement",v[v.A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement=1105]="A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement",v[v.A_return_statement_can_only_be_used_within_a_function_body=1108]="A_return_statement_can_only_be_used_within_a_function_body",v[v.Expression_expected=1109]="Expression_expected",v[v.Type_expected=1110]="Type_expected",v[v.A_default_clause_cannot_appear_more_than_once_in_a_switch_statement=1113]="A_default_clause_cannot_appear_more_than_once_in_a_switch_statement",v[v.Duplicate_label_0=1114]="Duplicate_label_0",v[v.An_export_assignment_cannot_have_modifiers=1120]="An_export_assignment_cannot_have_modifiers",v[v.Octal_literals_are_not_allowed_in_strict_mode=1121]="Octal_literals_are_not_allowed_in_strict_mode",v[v.Digit_expected=1124]="Digit_expected",v[v.Hexadecimal_digit_expected=1125]="Hexadecimal_digit_expected",v[v.Unexpected_end_of_text=1126]="Unexpected_end_of_text",v[v.Invalid_character=1127]="Invalid_character",v[v._case_or_default_expected=1130]="_case_or_default_expected",v[v._super_must_be_followed_by_an_argument_list_or_member_access=1034]="_super_must_be_followed_by_an_argument_list_or_member_access",v[v.A_declare_modifier_cannot_be_used_in_an_already_ambient_context=1038]="A_declare_modifier_cannot_be_used_in_an_already_ambient_context",v[v.Type_argument_expected=1140]="Type_argument_expected",v[v.String_literal_expected=1141]="String_literal_expected",v[v.Line_break_not_permitted_here=1142]="Line_break_not_permitted_here",v[v.Declaration_expected=1146]="Declaration_expected",v[v._const_declarations_must_be_initialized=1155]="_const_declarations_must_be_initialized",v[v.Unterminated_regular_expression_literal=1161]="Unterminated_regular_expression_literal",v[v.Declarations_with_initializers_cannot_also_have_definite_assignment_assertions=1263]="Declarations_with_initializers_cannot_also_have_definite_assignment_assertions",v[v.Interface_declaration_cannot_have_implements_clause=1176]="Interface_declaration_cannot_have_implements_clause",v[v.Binary_digit_expected=1177]="Binary_digit_expected",v[v.Octal_digit_expected=1178]="Octal_digit_expected",v[v.An_implementation_cannot_be_declared_in_ambient_contexts=1183]="An_implementation_cannot_be_declared_in_ambient_contexts",v[v.The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer=1190]="The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer",v[v.An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive=1198]="An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive",v[v.Unterminated_Unicode_escape_sequence=1199]="Unterminated_Unicode_escape_sequence",v[v.Decorators_are_not_valid_here=1206]="Decorators_are_not_valid_here",v[v._abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration=1242]="_abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration",v[v.Method_0_cannot_have_an_implementation_because_it_is_marked_abstract=1245]="Method_0_cannot_have_an_implementation_because_it_is_marked_abstract",v[v.An_interface_property_cannot_have_an_initializer=1246]="An_interface_property_cannot_have_an_initializer",v[v.A_definite_assignment_assertion_is_not_permitted_in_this_context=1255]="A_definite_assignment_assertion_is_not_permitted_in_this_context",v[v.A_class_may_only_extend_another_class=1311]="A_class_may_only_extend_another_class",v[v.A_parameter_property_cannot_be_declared_using_a_rest_parameter=1317]="A_parameter_property_cannot_be_declared_using_a_rest_parameter",v[v.A_default_export_can_only_be_used_in_a_module=1319]="A_default_export_can_only_be_used_in_a_module",v[v.An_expression_of_type_0_cannot_be_tested_for_truthiness=1345]="An_expression_of_type_0_cannot_be_tested_for_truthiness",v[v.An_identifier_or_keyword_cannot_immediately_follow_a_numeric_literal=1351]="An_identifier_or_keyword_cannot_immediately_follow_a_numeric_literal",v[v.Duplicate_identifier_0=2300]="Duplicate_identifier_0",v[v.Cannot_find_name_0=2304]="Cannot_find_name_0",v[v.Module_0_has_no_exported_member_1=2305]="Module_0_has_no_exported_member_1",v[v.An_interface_can_only_extend_an_interface=2312]="An_interface_can_only_extend_an_interface",v[v.Generic_type_0_requires_1_type_argument_s=2314]="Generic_type_0_requires_1_type_argument_s",v[v.Type_0_is_not_generic=2315]="Type_0_is_not_generic",v[v.Type_0_is_not_assignable_to_type_1=2322]="Type_0_is_not_assignable_to_type_1",v[v.Property_0_is_private_in_type_1_but_not_in_type_2=2325]="Property_0_is_private_in_type_1_but_not_in_type_2",v[v.Index_signature_is_missing_in_type_0=2329]="Index_signature_is_missing_in_type_0",v[v._this_cannot_be_referenced_in_current_location=2332]="_this_cannot_be_referenced_in_current_location",v[v._this_cannot_be_referenced_in_constructor_arguments=2333]="_this_cannot_be_referenced_in_constructor_arguments",v[v._super_can_only_be_referenced_in_a_derived_class=2335]="_super_can_only_be_referenced_in_a_derived_class",v[v._super_cannot_be_referenced_in_constructor_arguments=2336]="_super_cannot_be_referenced_in_constructor_arguments",v[v.Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors=2337]="Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors",v[v.Property_0_does_not_exist_on_type_1=2339]="Property_0_does_not_exist_on_type_1",v[v.Property_0_is_private_and_only_accessible_within_class_1=2341]="Property_0_is_private_and_only_accessible_within_class_1",v[v.Cannot_invoke_an_expression_whose_type_lacks_a_call_signature_Type_0_has_no_compatible_call_signatures=2349]="Cannot_invoke_an_expression_whose_type_lacks_a_call_signature_Type_0_has_no_compatible_call_signatures",v[v.This_expression_is_not_constructable=2351]="This_expression_is_not_constructable",v[v.A_function_whose_declared_type_is_not_void_must_return_a_value=2355]="A_function_whose_declared_type_is_not_void_must_return_a_value",v[v.The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access=2357]="The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access",v[v.The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access=2364]="The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access",v[v.Operator_0_cannot_be_applied_to_types_1_and_2=2365]="Operator_0_cannot_be_applied_to_types_1_and_2",v[v.A_super_call_must_be_the_first_statement_in_the_constructor=2376]="A_super_call_must_be_the_first_statement_in_the_constructor",v[v.Constructors_for_derived_classes_must_contain_a_super_call=2377]="Constructors_for_derived_classes_must_contain_a_super_call",v[v._get_and_set_accessor_must_have_the_same_type=2380]="_get_and_set_accessor_must_have_the_same_type",v[v.Overload_signatures_must_all_be_public_private_or_protected=2385]="Overload_signatures_must_all_be_public_private_or_protected",v[v.Constructor_implementation_is_missing=2390]="Constructor_implementation_is_missing",v[v.Function_implementation_is_missing_or_not_immediately_following_the_declaration=2391]="Function_implementation_is_missing_or_not_immediately_following_the_declaration",v[v.Multiple_constructor_implementations_are_not_allowed=2392]="Multiple_constructor_implementations_are_not_allowed",v[v.Duplicate_function_implementation=2393]="Duplicate_function_implementation",v[v.This_overload_signature_is_not_compatible_with_its_implementation_signature=2394]="This_overload_signature_is_not_compatible_with_its_implementation_signature",v[v.Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local=2395]="Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local",v[v.Property_0_in_type_1_is_not_assignable_to_the_same_property_in_base_type_2=2416]="Property_0_in_type_1_is_not_assignable_to_the_same_property_in_base_type_2",v[v.A_class_can_only_implement_an_interface=2422]="A_class_can_only_implement_an_interface",v[v.A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged=2434]="A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged",v[v.Types_have_separate_declarations_of_a_private_property_0=2442]="Types_have_separate_declarations_of_a_private_property_0",v[v.Property_0_is_protected_in_type_1_but_public_in_type_2=2444]="Property_0_is_protected_in_type_1_but_public_in_type_2",v[v.Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses=2445]="Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses",v[v.Variable_0_used_before_its_declaration=2448]="Variable_0_used_before_its_declaration",v[v.Cannot_redeclare_block_scoped_variable_0=2451]="Cannot_redeclare_block_scoped_variable_0",v[v.The_type_argument_for_type_parameter_0_cannot_be_inferred_from_the_usage_Consider_specifying_the_type_arguments_explicitly=2453]="The_type_argument_for_type_parameter_0_cannot_be_inferred_from_the_usage_Consider_specifying_the_type_arguments_explicitly",v[v.Variable_0_is_used_before_being_assigned=2454]="Variable_0_is_used_before_being_assigned",v[v.Type_alias_0_circularly_references_itself=2456]="Type_alias_0_circularly_references_itself",v[v.Type_0_has_no_property_1=2460]="Type_0_has_no_property_1",v[v.The_0_operator_cannot_be_applied_to_type_1=2469]="The_0_operator_cannot_be_applied_to_type_1",v[v.In_const_enum_declarations_member_initializer_must_be_constant_expression=2474]="In_const_enum_declarations_member_initializer_must_be_constant_expression",v[v.Export_declaration_conflicts_with_exported_declaration_of_0=2484]="Export_declaration_conflicts_with_exported_declaration_of_0",v[v._0_is_referenced_directly_or_indirectly_in_its_own_base_expression=2506]="_0_is_referenced_directly_or_indirectly_in_its_own_base_expression",v[v.Cannot_create_an_instance_of_an_abstract_class=2511]="Cannot_create_an_instance_of_an_abstract_class",v[v.Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_2=2515]="Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_2",v[v.Object_is_possibly_null=2531]="Object_is_possibly_null",v[v.Cannot_assign_to_0_because_it_is_a_constant_or_a_read_only_property=2540]="Cannot_assign_to_0_because_it_is_a_constant_or_a_read_only_property",v[v.The_target_of_an_assignment_must_be_a_variable_or_a_property_access=2541]="The_target_of_an_assignment_must_be_a_variable_or_a_property_access",v[v.Index_signature_in_type_0_only_permits_reading=2542]="Index_signature_in_type_0_only_permits_reading",v[v.Expected_0_arguments_but_got_1=2554]="Expected_0_arguments_but_got_1",v[v.Expected_at_least_0_arguments_but_got_1=2555]="Expected_at_least_0_arguments_but_got_1",v[v.Expected_0_type_arguments_but_got_1=2558]="Expected_0_type_arguments_but_got_1",v[v.Property_0_has_no_initializer_and_is_not_assigned_in_the_constructor_before_this_is_used_or_returned=2564]="Property_0_has_no_initializer_and_is_not_assigned_in_the_constructor_before_this_is_used_or_returned",v[v.Property_0_is_used_before_being_assigned=2565]="Property_0_is_used_before_being_assigned",v[v._0_is_defined_as_an_accessor_in_class_1_but_is_overridden_here_in_2_as_an_instance_property=2610]="_0_is_defined_as_an_accessor_in_class_1_but_is_overridden_here_in_2_as_an_instance_property",v[v._0_is_defined_as_a_property_in_class_1_but_is_overridden_here_in_2_as_an_accessor=2611]="_0_is_defined_as_a_property_in_class_1_but_is_overridden_here_in_2_as_an_accessor",v[v.A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_members_defined_in_other_enums=2651]="A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_members_defined_in_other_enums",v[v.Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration=2673]="Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration",v[v.Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration=2674]="Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration",v[v.Cannot_extend_a_class_0_Class_constructor_is_marked_as_private=2675]="Cannot_extend_a_class_0_Class_constructor_is_marked_as_private",v[v.The_this_types_of_each_signature_are_incompatible=2685]="The_this_types_of_each_signature_are_incompatible",v[v.Namespace_0_has_no_exported_member_1=2694]="Namespace_0_has_no_exported_member_1",v[v.Namespace_can_only_have_declarations=2695]="Namespace_can_only_have_declarations",v[v.Required_type_parameters_may_not_follow_optional_type_parameters=2706]="Required_type_parameters_may_not_follow_optional_type_parameters",v[v.Duplicate_property_0=2718]="Duplicate_property_0",v[v.Property_0_is_missing_in_type_1_but_required_in_type_2=2741]="Property_0_is_missing_in_type_1_but_required_in_type_2",v[v.Type_0_has_no_call_signatures=2757]="Type_0_has_no_call_signatures",v[v.Get_accessor_0_must_be_at_least_as_accessible_as_the_setter=2808]="Get_accessor_0_must_be_at_least_as_accessible_as_the_setter",v[v.This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0=4117]="This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0",v[v.File_0_not_found=6054]="File_0_not_found",v[v.Numeric_separators_are_not_allowed_here=6188]="Numeric_separators_are_not_allowed_here",v[v.Multiple_consecutive_numeric_separators_are_not_permitted=6189]="Multiple_consecutive_numeric_separators_are_not_permitted",v[v.This_expression_is_not_callable_because_it_is_a_get_accessor_Did_you_mean_to_use_it_without=6234]="This_expression_is_not_callable_because_it_is_a_get_accessor_Did_you_mean_to_use_it_without",v[v._super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class=17009]="_super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class",v[v._super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class=17011]="_super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class",v))(st||{});function Ws(t){switch(t){case 100:return"Not implemented: {0}";case 101:return"Operation is unsafe.";case 102:return"User-defined: {0}";case 103:return"Feature '{0}' is not enabled.";case 104:return"Low memory limit exceeded by static data: {0} > {1}";case 105:return"Module requires at least '{0}' pages of initial memory.";case 106:return"Module requires at least '{0}' pages of maximum memory.";case 107:return"Shared memory requires maximum memory to be defined.";case 108:return"Shared memory requires feature 'threads' to be enabled.";case 109:return"Transform '{0}': {1}";case 110:return"Start function name '{0}' is invalid or conflicts with another export.";case 111:return"Element '{0}' not found.";case 112:return"Exchange of '{0}' values is not supported by all embeddings";case 200:return"Conversion from type '{0}' to '{1}' requires an explicit cast.";case 201:return"Conversion from type '{0}' to '{1}' will require an explicit cast when switching between 32/64-bit.";case 202:return"Type '{0}' cannot be changed to type '{1}'.";case 203:return"Operation '{0}' cannot be applied to type '{1}'.";case 204:return"Type '{0}' cannot be nullable.";case 206:return"Mutable value cannot be inlined.";case 207:return"Unmanaged classes cannot extend managed classes and vice-versa.";case 208:return"Unmanaged classes cannot implement interfaces.";case 209:return"Invalid regular expression flags.";case 210:return"Expression is never 'null'.";case 211:return"Class '{0}' is final and cannot be extended.";case 212:return"Decorator '{0}' is not valid here.";case 213:return"Duplicate decorator.";case 214:return"Type '{0}' is illegal in this context.";case 215:return"Optional parameter must have an initializer.";case 216:return"Class '{0}' cannot declare a constructor when instantiated from an object literal.";case 217:return"Function '{0}' cannot be inlined into itself.";case 218:return"Cannot access method '{0}' without calling it as it requires 'this' to be set.";case 219:return"Optional properties are not supported.";case 220:return"Expression must be a compile-time constant.";case 221:return"Type '{0}' is not a function index or function reference.";case 222:return"'{0}' must be a value between '{1}' and '{2}' inclusive.";case 223:return"'{0}' must be a power of two.";case 224:return"'{0}' is not a valid operator.";case 225:return"Expression cannot be represented by a type.";case 226:return"Expression resolves to unusual type '{0}'.";case 227:return"Array literal expected.";case 228:return"Function '{0}' is virtual and will not be inlined.";case 229:return"Property '{0}' only has a setter and is missing a getter.";case 230:return"'{0}' keyword cannot be used here.";case 231:return"A class with a constructor explicitly returning something else than 'this' must be '@final'.";case 233:return"Property '{0}' is always assigned before being used.";case 234:return"Expression does not compile to a value at runtime.";case 235:return"Only variables, functions and enums become WebAssembly module exports.";case 236:return"Literal '{0}' does not fit into 'i64' or 'u64' types.";case 237:return"Index signature accessors in type '{0}' differ in types.";case 238:return"Initializer, definitive assignment or nullable type expected.";case 239:return"Definitive assignment has no effect on local variables.";case 901:return"Importing the table disables some indirect call optimizations.";case 902:return"Exporting the table disables some indirect call optimizations.";case 903:return"Expression compiles to a dynamic check at runtime.";case 904:return"Indexed access may involve bounds checking.";case 905:return"Explicitly returning constructor drops 'this' allocation.";case 906:return"Unnecessary definite assignment.";case 907:return"'NaN' does not compare equal to any other value including itself. Use isNaN(x) instead.";case 908:return"Comparison with -0.0 is sign insensitive. Use Object.is(x, -0.0) if the sign matters.";case 1002:return"Unterminated string literal.";case 1003:return"Identifier expected.";case 1005:return"'{0}' expected.";case 1006:return"A file cannot have a reference to itself.";case 1009:return"Trailing comma not allowed.";case 1012:return"Unexpected token.";case 1014:return"A rest parameter must be last in a parameter list.";case 1015:return"Parameter cannot have question mark and initializer.";case 1016:return"A required parameter cannot follow an optional parameter.";case 1031:return"'{0}' modifier cannot appear on class elements of this kind.";case 1036:return"Statements are not allowed in ambient contexts.";case 1039:return"Initializers are not allowed in ambient contexts.";case 1042:return"'{0}' modifier cannot be used here.";case 1047:return"A rest parameter cannot be optional.";case 1048:return"A rest parameter cannot have an initializer.";case 1049:return"A 'set' accessor must have exactly one parameter.";case 1052:return"A 'set' accessor parameter cannot have an initializer.";case 1054:return"A 'get' accessor cannot have parameters.";case 1061:return"Enum member must have initializer.";case 1092:return"Type parameters cannot appear on a constructor declaration.";case 1093:return"Type annotation cannot appear on a constructor declaration.";case 1094:return"An accessor cannot have type parameters.";case 1095:return"A 'set' accessor cannot have a return type annotation.";case 1098:return"Type parameter list cannot be empty.";case 1099:return"Type argument list cannot be empty.";case 1104:return"A 'continue' statement can only be used within an enclosing iteration statement.";case 1105:return"A 'break' statement can only be used within an enclosing iteration or switch statement.";case 1108:return"A 'return' statement can only be used within a function body.";case 1109:return"Expression expected.";case 1110:return"Type expected.";case 1113:return"A 'default' clause cannot appear more than once in a 'switch' statement.";case 1114:return"Duplicate label '{0}'.";case 1120:return"An export assignment cannot have modifiers.";case 1121:return"Octal literals are not allowed in strict mode.";case 1124:return"Digit expected.";case 1125:return"Hexadecimal digit expected.";case 1126:return"Unexpected end of text.";case 1127:return"Invalid character.";case 1130:return"'case' or 'default' expected.";case 1034:return"'super' must be followed by an argument list or member access.";case 1038:return"A 'declare' modifier cannot be used in an already ambient context.";case 1140:return"Type argument expected.";case 1141:return"String literal expected.";case 1142:return"Line break not permitted here.";case 1146:return"Declaration expected.";case 1155:return"'const' declarations must be initialized.";case 1161:return"Unterminated regular expression literal.";case 1263:return"Declarations with initializers cannot also have definite assignment assertions.";case 1176:return"Interface declaration cannot have 'implements' clause.";case 1177:return"Binary digit expected.";case 1178:return"Octal digit expected.";case 1183:return"An implementation cannot be declared in ambient contexts.";case 1190:return"The variable declaration of a 'for...of' statement cannot have an initializer.";case 1198:return"An extended Unicode escape value must be between 0x0 and 0x10FFFF inclusive.";case 1199:return"Unterminated Unicode escape sequence.";case 1206:return"Decorators are not valid here.";case 1242:return"'abstract' modifier can only appear on a class, method, or property declaration.";case 1245:return"Method '{0}' cannot have an implementation because it is marked abstract.";case 1246:return"An interface property cannot have an initializer.";case 1255:return"A definite assignment assertion '!' is not permitted in this context.";case 1311:return"A class may only extend another class.";case 1317:return"A parameter property cannot be declared using a rest parameter.";case 1319:return"A default export can only be used in a module.";case 1345:return"An expression of type '{0}' cannot be tested for truthiness.";case 1351:return"An identifier or keyword cannot immediately follow a numeric literal.";case 2300:return"Duplicate identifier '{0}'.";case 2304:return"Cannot find name '{0}'.";case 2305:return"Module '{0}' has no exported member '{1}'.";case 2312:return"An interface can only extend an interface.";case 2314:return"Generic type '{0}' requires {1} type argument(s).";case 2315:return"Type '{0}' is not generic.";case 2322:return"Type '{0}' is not assignable to type '{1}'.";case 2325:return"Property '{0}' is private in type '{1}' but not in type '{2}'.";case 2329:return"Index signature is missing in type '{0}'.";case 2332:return"'this' cannot be referenced in current location.";case 2333:return"'this' cannot be referenced in constructor arguments.";case 2335:return"'super' can only be referenced in a derived class.";case 2336:return"'super' cannot be referenced in constructor arguments.";case 2337:return"Super calls are not permitted outside constructors or in nested functions inside constructors.";case 2339:return"Property '{0}' does not exist on type '{1}'.";case 2341:return"Property '{0}' is private and only accessible within class '{1}'.";case 2349:return"Cannot invoke an expression whose type lacks a call signature. Type '{0}' has no compatible call signatures.";case 2351:return"This expression is not constructable.";case 2355:return"A function whose declared type is not 'void' must return a value.";case 2357:return"The operand of an increment or decrement operator must be a variable or a property access.";case 2364:return"The left-hand side of an assignment expression must be a variable or a property access.";case 2365:return"Operator '{0}' cannot be applied to types '{1}' and '{2}'.";case 2376:return"A 'super' call must be the first statement in the constructor.";case 2377:return"Constructors for derived classes must contain a 'super' call.";case 2380:return"'get' and 'set' accessor must have the same type.";case 2385:return"Overload signatures must all be public, private or protected.";case 2390:return"Constructor implementation is missing.";case 2391:return"Function implementation is missing or not immediately following the declaration.";case 2392:return"Multiple constructor implementations are not allowed.";case 2393:return"Duplicate function implementation.";case 2394:return"This overload signature is not compatible with its implementation signature.";case 2395:return"Individual declarations in merged declaration '{0}' must be all exported or all local.";case 2416:return"Property '{0}' in type '{1}' is not assignable to the same property in base type '{2}'.";case 2422:return"A class can only implement an interface.";case 2434:return"A namespace declaration cannot be located prior to a class or function with which it is merged.";case 2442:return"Types have separate declarations of a private property '{0}'.";case 2444:return"Property '{0}' is protected in type '{1}' but public in type '{2}'.";case 2445:return"Property '{0}' is protected and only accessible within class '{1}' and its subclasses.";case 2448:return"Variable '{0}' used before its declaration.";case 2451:return"Cannot redeclare block-scoped variable '{0}'";case 2453:return"The type argument for type parameter '{0}' cannot be inferred from the usage. Consider specifying the type arguments explicitly.";case 2454:return"Variable '{0}' is used before being assigned.";case 2456:return"Type alias '{0}' circularly references itself.";case 2460:return"Type '{0}' has no property '{1}'.";case 2469:return"The '{0}' operator cannot be applied to type '{1}'.";case 2474:return"In 'const' enum declarations member initializer must be constant expression.";case 2484:return"Export declaration conflicts with exported declaration of '{0}'.";case 2506:return"'{0}' is referenced directly or indirectly in its own base expression.";case 2511:return"Cannot create an instance of an abstract class.";case 2515:return"Non-abstract class '{0}' does not implement inherited abstract member '{1}' from '{2}'.";case 2531:return"Object is possibly 'null'.";case 2540:return"Cannot assign to '{0}' because it is a constant or a read-only property.";case 2541:return"The target of an assignment must be a variable or a property access.";case 2542:return"Index signature in type '{0}' only permits reading.";case 2554:return"Expected {0} arguments, but got {1}.";case 2555:return"Expected at least {0} arguments, but got {1}.";case 2558:return"Expected {0} type arguments, but got {1}.";case 2564:return"Property '{0}' has no initializer and is not assigned in the constructor before 'this' is used or returned.";case 2565:return"Property '{0}' is used before being assigned.";case 2610:return"'{0}' is defined as an accessor in class '{1}', but is overridden here in '{2}' as an instance property.";case 2611:return"'{0}' is defined as a property in class '{1}', but is overridden here in '{2}' as an accessor.";case 2651:return"A member initializer in a enum declaration cannot reference members declared after it, including members defined in other enums.";case 2673:return"Constructor of class '{0}' is private and only accessible within the class declaration.";case 2674:return"Constructor of class '{0}' is protected and only accessible within the class declaration.";case 2675:return"Cannot extend a class '{0}'. Class constructor is marked as private.";case 2685:return"The 'this' types of each signature are incompatible.";case 2694:return"Namespace '{0}' has no exported member '{1}'.";case 2695:return"Namespace can only have declarations.";case 2706:return"Required type parameters may not follow optional type parameters.";case 2718:return"Duplicate property '{0}'.";case 2741:return"Property '{0}' is missing in type '{1}' but required in type '{2}'.";case 2757:return"Type '{0}' has no call signatures.";case 2808:return"Get accessor '{0}' must be at least as accessible as the setter.";case 4117:return"This member cannot have an 'override' modifier because it is not declared in the base class '{0}'.";case 6054:return"File '{0}' not found.";case 6188:return"Numeric separators are not allowed here.";case 6189:return"Multiple consecutive numeric separators are not permitted.";case 6234:return"This expression is not callable because it is a 'get' accessor. Did you mean to use it without '()'?";case 17009:return"'super' must be called before accessing 'this' in the constructor of a derived class.";case 17011:return"'super' must be called before accessing a property of 'super' in the constructor of a derived class.";default:return""}}var op={};Vl(op,{BitSet:()=>Ju,COLOR_BLUE:()=>G2,COLOR_CYAN:()=>np,COLOR_GRAY:()=>L2,COLOR_GREEN:()=>M2,COLOR_MAGENTA:()=>ip,COLOR_RED:()=>Ys,COLOR_RESET:()=>fn,COLOR_WHITE:()=>z2,COLOR_YELLOW:()=>rp,CharCode:()=>Qe,SURROGATE_HIGH:()=>pn,SURROGATE_LOW:()=>ei,accuratePow64:()=>Hs,cloneMap:()=>pe,colorize:()=>U2,combineSurrogates:()=>cn,dirname:()=>Fy,escapeString:()=>ye,indent:()=>U,isAlpha:()=>tp,isAlphaOrDecimal:()=>Sy,isColorsEnabled:()=>ni,isDecimal:()=>Je,isHexBase:()=>_n,isHexOrDecimal:()=>I2,isHighSurrogate:()=>ti,isIdentifier:()=>Le,isIdentifierPart:()=>ii,isIdentifierStart:()=>ri,isLineBreak:()=>bt,isLowSurrogate:()=>$s,isOctal:()=>Xs,isPowerOf2:()=>gt,isSurrogate:()=>E2,isSurrogateHigh:()=>v2,isSurrogateLow:()=>S2,isWhiteSpace:()=>un,mergeMaps:()=>T2,normalizePath:()=>fr,numCodeUnits:()=>cr,readF32:()=>g2,readF64:()=>b2,readI16:()=>y2,readI32:()=>Qr,readI64:()=>vy,readI8:()=>m2,readV128:()=>x2,resolvePath:()=>Zs,setColorsEnabled:()=>Qs,v128_ones:()=>lp,v128_zero:()=>ap,writeF32:()=>ur,writeF64:()=>pr,writeI16:()=>Vt,writeI32:()=>he,writeI32AsI64:()=>Ks,writeI64:()=>Jr,writeI64AsI32:()=>Yu,writeI8:()=>ce,writeV128:()=>Qu});function m2(t,i){return t[i]}function ce(t,i,e){i[e]=t}function y2(t,i){return i32(t[i])|i32(t[i+1])<<8}function Vt(t,i,e){i[e]=t,i[e+1]=t>>>8}function Qr(t,i){return i32(t[i])|i32(t[i+1])<<8|i32(t[i+2])<<16|i32(t[i+3])<<24}function he(t,i,e){i[e]=t,i[e+1]=t>>>8,i[e+2]=t>>>16,i[e+3]=t>>>24}function Ks(t,i,e,r=!1){he(t,i,e),he(r||t>=0?0:-1,i,e+4)}function vy(t,i){let e=Qr(t,i),r=Qr(t,i+4);return i64_new(e,r)}function Jr(t,i,e){he(i64_low(t),i,e),he(i64_high(t),i,e+4)}function Yu(t,i,e,r=!1){assert(r?i64_is_u32(t):i64_is_i32(t)),he(i64_low(t),i,e)}function g2(t,i){return i32_as_f32(Qr(t,i))}function ur(t,i,e){he(f32_as_i32(t),i,e)}function b2(t,i){return i64_as_f64(vy(t,i))}function pr(t,i,e){let r=f64_as_i64(t);he(i64_low(r),i,e),he(i64_high(r),i,e+4)}function x2(t,i){return t.slice(i,i+16)}function Qu(t,i,e){assert(t.length==16),i.set(t,e)}function pe(t){if(ASC_TARGET){let i=new Map;if(t)for(let e=Map_keys(t),r=0,n=e.length;re.set(n,r)),e}}var Ju=class{constructor(){this.clear()}get size(){let i=0,e=this.words;for(let r=0,n=e.length;r>>5,r=this.words;return e>=r.length&&(this.words=new Uint32Array(e+16),this.words.set(r),r=this.words),unchecked(r[e]|=1<>>5,r=this.words;e>=r.length||unchecked(r[e]&=~(1<>>5,r=this.words;return e>=r.length?!1:(unchecked(r[i>>>5])&1<=2&&Math.trunc(i)==i?i<0?Math.pow(t,i+.5)/Math.pow(t,.5):Math.pow(t,i-.5)*Math.pow(t,.5):Math.pow(t,i)}var Qe=(A=>(A[A.Null=0]="Null",A[A.LineFeed=10]="LineFeed",A[A.CarriageReturn=13]="CarriageReturn",A[A.LineSeparator=8232]="LineSeparator",A[A.ParagraphSeparator=8233]="ParagraphSeparator",A[A.NextLine=133]="NextLine",A[A.Space=32]="Space",A[A.NonBreakingSpace=160]="NonBreakingSpace",A[A.EnQuad=8192]="EnQuad",A[A.EmQuad=8193]="EmQuad",A[A.EnSpace=8194]="EnSpace",A[A.EmSpace=8195]="EmSpace",A[A.ThreePerEmSpace=8196]="ThreePerEmSpace",A[A.FourPerEmSpace=8197]="FourPerEmSpace",A[A.SixPerEmSpace=8198]="SixPerEmSpace",A[A.FigureSpace=8199]="FigureSpace",A[A.PunctuationSpace=8200]="PunctuationSpace",A[A.ThinSpace=8201]="ThinSpace",A[A.HairSpace=8202]="HairSpace",A[A.ZeroWidthSpace=8203]="ZeroWidthSpace",A[A.NarrowNoBreakSpace=8239]="NarrowNoBreakSpace",A[A.IdeographicSpace=12288]="IdeographicSpace",A[A.MathematicalSpace=8287]="MathematicalSpace",A[A.Ogham=5760]="Ogham",A[A._=95]="_",A[A._0=48]="_0",A[A._1=49]="_1",A[A._2=50]="_2",A[A._3=51]="_3",A[A._4=52]="_4",A[A._5=53]="_5",A[A._6=54]="_6",A[A._7=55]="_7",A[A._8=56]="_8",A[A._9=57]="_9",A[A.a=97]="a",A[A.b=98]="b",A[A.c=99]="c",A[A.d=100]="d",A[A.e=101]="e",A[A.f=102]="f",A[A.g=103]="g",A[A.h=104]="h",A[A.i=105]="i",A[A.j=106]="j",A[A.k=107]="k",A[A.l=108]="l",A[A.m=109]="m",A[A.n=110]="n",A[A.o=111]="o",A[A.p=112]="p",A[A.q=113]="q",A[A.r=114]="r",A[A.s=115]="s",A[A.t=116]="t",A[A.u=117]="u",A[A.v=118]="v",A[A.w=119]="w",A[A.x=120]="x",A[A.y=121]="y",A[A.z=122]="z",A[A.A=65]="A",A[A.B=66]="B",A[A.C=67]="C",A[A.D=68]="D",A[A.E=69]="E",A[A.F=70]="F",A[A.G=71]="G",A[A.H=72]="H",A[A.I=73]="I",A[A.J=74]="J",A[A.K=75]="K",A[A.L=76]="L",A[A.M=77]="M",A[A.N=78]="N",A[A.O=79]="O",A[A.P=80]="P",A[A.Q=81]="Q",A[A.R=82]="R",A[A.S=83]="S",A[A.T=84]="T",A[A.U=85]="U",A[A.V=86]="V",A[A.W=87]="W",A[A.X=88]="X",A[A.Y=89]="Y",A[A.Z=90]="Z",A[A.Ampersand=38]="Ampersand",A[A.Asterisk=42]="Asterisk",A[A.At=64]="At",A[A.Backslash=92]="Backslash",A[A.Backtick=96]="Backtick",A[A.Bar=124]="Bar",A[A.Caret=94]="Caret",A[A.CloseBrace=125]="CloseBrace",A[A.CloseBracket=93]="CloseBracket",A[A.CloseParen=41]="CloseParen",A[A.Colon=58]="Colon",A[A.Comma=44]="Comma",A[A.Dollar=36]="Dollar",A[A.Dot=46]="Dot",A[A.DoubleQuote=34]="DoubleQuote",A[A.Equals=61]="Equals",A[A.Exclamation=33]="Exclamation",A[A.GreaterThan=62]="GreaterThan",A[A.Hash=35]="Hash",A[A.LessThan=60]="LessThan",A[A.Minus=45]="Minus",A[A.OpenBrace=123]="OpenBrace",A[A.OpenBracket=91]="OpenBracket",A[A.OpenParen=40]="OpenParen",A[A.Percent=37]="Percent",A[A.Plus=43]="Plus",A[A.Question=63]="Question",A[A.Semicolon=59]="Semicolon",A[A.SingleQuote=39]="SingleQuote",A[A.Slash=47]="Slash",A[A.Tilde=126]="Tilde",A[A.Backspace=8]="Backspace",A[A.FormFeed=12]="FormFeed",A[A.ByteOrderMark=65279]="ByteOrderMark",A[A.Tab=9]="Tab",A[A.VerticalTab=11]="VerticalTab",A))(Qe||{});function bt(t){switch(t){case 10:case 13:case 8232:case 8233:return!0;default:return!1}}function un(t){switch(t){case 32:case 9:case 11:case 12:case 160:case 133:case 5760:case 8239:case 8287:case 12288:case 65279:return!0;default:return t>=8192&&t<=8203}}var pn=55296,ei=56320;function E2(t){return(t&63488)==pn}function v2(t){return t=ei}function ti(t){return(t&64512)==pn}function $s(t){return(t&64512)==ei}function cn(t,i){return 65536+((t&1023)<<10)|i&1023}function cr(t){return 1+i32(t>65535)}function tp(t){let i=t|32;return i>=97&&i<=122}function Je(t){return t>=48&&t<=57}function Xs(t){return t>=48&&t<=55}function _n(t){let i=t|32;return i>=97&&i<=102}function I2(t){return Je(t)||_n(t)}function Sy(t){return tp(t)||Je(t)}function ri(t){return tp(t)||t==95||t==36||t>=R2&&t<=k2&&Iy(t,F2)}function ii(t){return Sy(t)||t==95||t==36||t>=w2&&t<=C2&&Iy(t,A2)}function Le(t){let i=t.length;if(!i)return!1;let e=t.codePointAt(0);if(!ri(e))return!1;let r=cr(e);for(;r>>1);n-=n&1;let s=i[n];if(s<=t&&t<=i[n+1])return!0;tr&&e.push(t.substring(r,r=n+1)),e.push("\\0"),r=++n;break}case 8:{n>r&&e.push(t.substring(r,n)),r=++n,e.push("\\b");break}case 9:{n>r&&e.push(t.substring(r,n)),r=++n,e.push("\\t");break}case 10:{n>r&&e.push(t.substring(r,n)),r=++n,e.push("\\n");break}case 11:{n>r&&e.push(t.substring(r,n)),r=++n,e.push("\\v");break}case 12:{n>r&&e.push(t.substring(r,n)),r=++n,e.push("\\f");break}case 13:{n>r&&e.push(t.substring(r,n)),e.push("\\r"),r=++n;break}case 34:{i==34?(n>r&&e.push(t.substring(r,n)),e.push('\\"'),r=++n):++n;break}case 39:{i==39?(n>r&&e.push(t.substring(r,n)),e.push("\\'"),r=++n):++n;break}case 92:{n>r&&e.push(t.substring(r,n)),e.push("\\\\"),r=++n;break}case 96:{i==96?(n>r&&e.push(t.substring(r,n)),e.push("\\`"),r=++n):++n;break}default:{++n;break}}return n>r&&e.push(t.substring(r,n)),e.join("")}var _r=47;function fr(t){let i=0,e=t.length;for(;i+10||e=0;)if(t.charCodeAt(n)==_r){(i-n!=3||t.charCodeAt(n+1)!=46||t.charCodeAt(n+2)!=46)&&(t=r?t.substring(0,n):t.substring(0,n)+t.substring(i+3),e-=i+3-n,i=n-1);break}if(n<0&&i>0&&(i!=2||t.charCodeAt(0)!=46||t.charCodeAt(1)!=46)){t=t.substring(i+4),e=t.length;continue}}}i++}return e>0?t:"."}function Zs(t,i){return t.startsWith("std/")?t:fr(Fy(i)+Ye+t)}function Fy(t){let i=t.length;if(i<=1){if(i==0)return".";if(t.charCodeAt(0)==_r)return t}for(;--i>0;)if(t.charCodeAt(i)==_r)return t.substring(0,i);return"."}var L2="\x1B[90m",Ys="\x1B[91m",M2="\x1B[92m",rp="\x1B[93m",G2="\x1B[94m",ip="\x1B[95m",np="\x1B[96m",z2="\x1B[97m",fn="\x1B[0m",sp=!0;function ni(){return sp}function Qs(t){let i=t;return sp=t,i}function U2(t,i){return sp?i+t+fn:t}var ap=new Uint8Array(16),lp=new Uint8Array(16).fill(255);var ea=(n=>(n[n.Pedantic=0]="Pedantic",n[n.Info=1]="Info",n[n.Warning=2]="Warning",n[n.Error=3]="Error",n))(ea||{}),le=class t{constructor(i,e){this.start=i;this.end=e}static join(i,e){if(i.source!=e.source)throw new Error("source mismatch");let r=new t(i.starte.end?i.end:e.end);return r.source=i.source,r}equals(i){return this.source==i.source&&this.start==i.start&&this.end==i.end}get atStart(){let i=new t(this.start,this.start);return i.source=this.source,i}get atEnd(){let i=new t(this.end,this.end);return i.source=this.source,i}toString(){return this.source.text.substring(this.start,this.end)}};function up(t){switch(t){case 0:return"PEDANTIC";case 1:return"INFO";case 2:return"WARNING";case 3:return"ERROR";default:return assert(!1),""}}function ky(t){switch(t){case 0:return ip;case 1:return np;case 2:return rp;case 3:return Ys;default:return assert(!1),""}}var Js=class t{constructor(i,e,r){this.range=null;this.relatedRange=null;this.code=i,this.category=e,this.message=r}static create(i,e,r=null,n=null,s=null){let a=Ws(i);return r!=null&&(a=a.replace("{0}",r)),n!=null&&(a=a.replace("{1}",n)),s!=null&&(a=a.replace("{2}",s)),new t(i,e,a)}equals(i){if(this.code!=i.code)return!1;let e=this.range,r=i.range;if(e){if(!r||!e.equals(r))return!1}else if(r)return!1;let n=this.relatedRange,s=i.relatedRange;if(n){if(!s||!n.equals(s))return!1}else if(s)return!1;return this.message==i.message}withRange(i){return this.range=i,this}withRelatedRange(i){return this.relatedRange=i,this}toString(){let i=up(this.category),e=this.range,r=this.code,n=this.message;if(e){let s=e.source,a=s.normalizedPath,l=s.lineAt(e.start),o=s.columnAt(),p=e.end-e.start;return`${i} ${r}: "${n}" in ${a}(${l},${o}+${p})`}return`${i} ${r}: ${n}`}};function Ay(t,i=!1,e=!1){let r=Qs(i),n=[];ni()&&n.push(ky(t.category)),n.push(up(t.category)),ni()&&n.push(fn),n.push(t.code<1e3?" AS":" TS"),n.push(t.code.toString()),n.push(": "),n.push(t.message);let s=t.range;if(s){let a=s.source,l=t.relatedRange,o=0;if(l&&(o=max(a.lineAt(s.start),l.source.lineAt(l.start))),e?(n.push(` -`),n.push(Ry(s,o))):(n.push(` - in `),n.push(a.normalizedPath)),n.push("("),n.push(a.lineAt(s.start).toString()),n.push(","),n.push(a.columnAt().toString()),n.push(")"),l){let p=l.source;e?(n.push(` -`),n.push(Ry(l,o))):(n.push(` - in `),n.push(p.normalizedPath)),n.push("("),n.push(p.lineAt(l.start).toString()),n.push(","),n.push(p.columnAt().toString()),n.push(")")}}return Qs(r),n.join("")}function Ry(t,i=0){let e=t.source,r=e.text,n=r.length,s=t.start,a=s,l=e.lineAt(s).toString(),o=i?max(i.toString().length,l.length):l.length,p=" ".repeat(o);for(;s>0&&!bt(r.charCodeAt(s-1));)s--;for(;s(z[z.Source=0]="Source",z[z.NamedType=1]="NamedType",z[z.FunctionType=2]="FunctionType",z[z.TypeName=3]="TypeName",z[z.TypeParameter=4]="TypeParameter",z[z.Parameter=5]="Parameter",z[z.Identifier=6]="Identifier",z[z.Assertion=7]="Assertion",z[z.Binary=8]="Binary",z[z.Call=9]="Call",z[z.Class=10]="Class",z[z.Comma=11]="Comma",z[z.ElementAccess=12]="ElementAccess",z[z.False=13]="False",z[z.Function=14]="Function",z[z.InstanceOf=15]="InstanceOf",z[z.Literal=16]="Literal",z[z.New=17]="New",z[z.Null=18]="Null",z[z.Omitted=19]="Omitted",z[z.Parenthesized=20]="Parenthesized",z[z.PropertyAccess=21]="PropertyAccess",z[z.Ternary=22]="Ternary",z[z.Super=23]="Super",z[z.This=24]="This",z[z.True=25]="True",z[z.Constructor=26]="Constructor",z[z.UnaryPostfix=27]="UnaryPostfix",z[z.UnaryPrefix=28]="UnaryPrefix",z[z.Compiled=29]="Compiled",z[z.Block=30]="Block",z[z.Break=31]="Break",z[z.Continue=32]="Continue",z[z.Do=33]="Do",z[z.Empty=34]="Empty",z[z.Export=35]="Export",z[z.ExportDefault=36]="ExportDefault",z[z.ExportImport=37]="ExportImport",z[z.Expression=38]="Expression",z[z.For=39]="For",z[z.ForOf=40]="ForOf",z[z.If=41]="If",z[z.Import=42]="Import",z[z.Return=43]="Return",z[z.Switch=44]="Switch",z[z.Throw=45]="Throw",z[z.Try=46]="Try",z[z.Variable=47]="Variable",z[z.Void=48]="Void",z[z.While=49]="While",z[z.Module=50]="Module",z[z.ClassDeclaration=51]="ClassDeclaration",z[z.EnumDeclaration=52]="EnumDeclaration",z[z.EnumValueDeclaration=53]="EnumValueDeclaration",z[z.FieldDeclaration=54]="FieldDeclaration",z[z.FunctionDeclaration=55]="FunctionDeclaration",z[z.ImportDeclaration=56]="ImportDeclaration",z[z.InterfaceDeclaration=57]="InterfaceDeclaration",z[z.MethodDeclaration=58]="MethodDeclaration",z[z.NamespaceDeclaration=59]="NamespaceDeclaration",z[z.TypeDeclaration=60]="TypeDeclaration",z[z.VariableDeclaration=61]="VariableDeclaration",z[z.Decorator=62]="Decorator",z[z.ExportMember=63]="ExportMember",z[z.SwitchCase=64]="SwitchCase",z[z.IndexSignature=65]="IndexSignature",z[z.Comment=66]="Comment",z))(xt||{}),L=class t{constructor(i,e){this.kind=i;this.range=e}static createSimpleTypeName(i,e){return new si(t.createIdentifierExpression(i,e),null,e)}static createNamedType(i,e,r,n){return new hr(i,e,r,n)}static createFunctionType(i,e,r,n,s){return new dr(i,e,r,n,s)}static createOmittedType(i){return new hr(t.createSimpleTypeName("",i),null,!1,i)}static createTypeParameter(i,e,r,n){return new ta(i,e,r,n)}static createParameter(i,e,r,n,s){return new ai(i,e,r,n,s)}static createDecorator(i,e,r){return new ra(Tt.fromNode(i),i,e,r)}static createComment(i,e,r){return new ia(i,e,r)}static createIdentifierExpression(i,e,r=!1){return new Oe(i,r,e)}static createEmptyIdentifierExpression(i){return new Oe("",!1,i)}static createArrayLiteralExpression(i,e){return new na(i,e)}static createAssertionExpression(i,e,r,n){return new sa(i,e,r,n)}static createBinaryExpression(i,e,r,n){return new aa(i,e,r,n)}static createCallExpression(i,e,r,n){return new la(i,e,r,n)}static createClassExpression(i){return new oa(i)}static createCommaExpression(i,e){return new ua(i,e)}static createConstructorExpression(i){return new pa(i)}static createElementAccessExpression(i,e,r){return new ca(i,e,r)}static createFalseExpression(i){return new Aa(i)}static createFloatLiteralExpression(i,e){return new _a(i,e)}static createFunctionExpression(i){return new fa(i)}static createInstanceOfExpression(i,e,r){return new ha(i,e,r)}static createIntegerLiteralExpression(i,e){return new da(i,e)}static createNewExpression(i,e,r,n){return new ma(i,e,r,n)}static createNullExpression(i){return new ya(i)}static createObjectLiteralExpression(i,e,r){return new ga(i,e,r)}static createOmittedExpression(i){return new ba(i)}static createParenthesizedExpression(i,e){return new xa(i,e)}static createPropertyAccessExpression(i,e,r){return new Ta(i,e,r)}static createRegexpLiteralExpression(i,e,r){return new Ea(i,e,r)}static createTernaryExpression(i,e,r,n){return new va(i,e,r,n)}static createStringLiteralExpression(i,e){return new Sa(i,e)}static createSuperExpression(i){return new Ia(i)}static createTemplateLiteralExpression(i,e,r,n,s){return new Fa(i,e,r,n,s)}static createThisExpression(i){return new Ra(i)}static createTrueExpression(i){return new ka(i)}static createUnaryPostfixExpression(i,e,r){return new wa(i,e,r)}static createUnaryPrefixExpression(i,e,r){return new Ca(i,e,r)}static createCompiledExpression(i,e,r){return new Ba(i,e,r)}static createBlockStatement(i,e){return new Na(i,e)}static createBreakStatement(i,e){return new La(i,e)}static createClassDeclaration(i,e,r,n,s,a,l,o){return new mn(i,e,r,n,s,a,l,o)}static createContinueStatement(i,e){return new Ma(i,e)}static createDoStatement(i,e,r){return new Ga(i,e,r)}static createEmptyStatement(i){return new za(i)}static createEnumDeclaration(i,e,r,n,s){return new Ua(i,e,r,n,s)}static createEnumValueDeclaration(i,e,r,n){return new Va(i,e,r,n)}static createExportStatement(i,e,r,n){return new Oa(i,e,r,n)}static createExportDefaultStatement(i,e){return new Wa(i,e)}static createExportImportStatement(i,e,r){return new Da(i,e,r)}static createExportMember(i,e,r){return e||(e=i),new qa(i,e,r)}static createExpressionStatement(i){return new Ka(i)}static createIfStatement(i,e,r,n){return new Xa(i,e,r,n)}static createImportStatement(i,e,r){return new gn(i,null,e,r)}static createWildcardImportStatement(i,e,r){return new gn(null,i,e,r)}static createImportDeclaration(i,e,r){return e||(e=i),new Za(e,i,r)}static createInterfaceDeclaration(i,e,r,n,s,a,l,o){return new Ya(i,e,r,n,s,a,l,o)}static createFieldDeclaration(i,e,r,n,s,a){return new Ha(i,e,r,n,s,-1,a)}static createForStatement(i,e,r,n,s){return new ja(i,e,r,n,s)}static createForOfStatement(i,e,r,n){return new $a(i,e,r,n)}static createFunctionDeclaration(i,e,r,n,s,a,l,o){return new yn(i,e,r,n,s,a,l,o)}static createIndexSignature(i,e,r,n){return new Pa(i,e,r,n)}static createMethodDeclaration(i,e,r,n,s,a,l){return new mr(i,e,r,n,s,a,l)}static createNamespaceDeclaration(i,e,r,n,s){return new Qa(i,e,r,n,s)}static createReturnStatement(i,e){return new Ja(i,e)}static createSwitchStatement(i,e,r){return new tl(i,e,r)}static createSwitchCase(i,e,r){return new el(i,e,r)}static createThrowStatement(i,e){return new rl(i,e)}static createTryStatement(i,e,r,n,s){return new il(i,e,r,n,s)}static createTypeDeclaration(i,e,r,n,s,a){return new sl(i,e,r,n,s,a)}static createModuleDeclaration(i,e,r){return new nl(i,e,r)}static createVariableStatement(i,e,r){return new ll(i,e,r)}static createVariableDeclaration(i,e,r,n,s,a){return new al(i,e,r,n,s,a)}static createVoidStatement(i,e){return new ol(i,e)}static createWhileStatement(i,e,r){return new ul(i,e,r)}isLiteralKind(i){return this.kind==16&&changetype(this).literalKind==i}get isNumericLiteral(){if(this.kind==16)switch(changetype(this).literalKind){case 0:case 1:return!0}return!1}get compilesToConst(){switch(this.kind){case 16:{switch(changetype(this).literalKind){case 0:case 1:case 2:return!0}break}case 18:case 25:case 13:return!0}return!1}isAccessOn(i){let e=changetype(this);return e.kind==9&&(e=e.expression),e.kind==21&&e.expression.kind==i}get isAccessOnThis(){return this.isAccessOn(24)}get isAccessOnSuper(){return this.isAccessOn(23)}get isEmpty(){return this.kind==34}},hn=class extends L{constructor(e,r,n){super(e,n);this.isNullable=r;this.currentlyResolving=!1}hasGenericComponent(e){if(this.kind==1){let r=changetype(this);if(!r.name.next){let n=r.typeArguments;if(n&&n.length>0){for(let s=0,a=n.length;s0}get isNull(){return this.name.identifier.text=="null"}},dr=class extends hn{constructor(e,r,n,s,a){super(2,s,a);this.parameters=e;this.returnType=r;this.explicitThisType=n}},ta=class extends L{constructor(e,r,n,s){super(4,s);this.name=e;this.extendsType=r;this.defaultType=n}},oi=(r=>(r[r.Default=0]="Default",r[r.Optional=1]="Optional",r[r.Rest=2]="Rest",r))(oi||{}),ai=class extends L{constructor(e,r,n,s,a){super(5,a);this.parameterKind=e;this.name=r;this.type=n;this.initializer=s;this.implicitFieldDeclaration=null;this.flags=0}is(e){return(this.flags&e)==e}isAny(e){return(this.flags&e)!=0}set(e){this.flags|=e}},Tt=(g=>(g[g.Custom=0]="Custom",g[g.Global=1]="Global",g[g.Operator=2]="Operator",g[g.OperatorBinary=3]="OperatorBinary",g[g.OperatorPrefix=4]="OperatorPrefix",g[g.OperatorPostfix=5]="OperatorPostfix",g[g.Unmanaged=6]="Unmanaged",g[g.Final=7]="Final",g[g.Inline=8]="Inline",g[g.External=9]="External",g[g.ExternalJs=10]="ExternalJs",g[g.Builtin=11]="Builtin",g[g.Lazy=12]="Lazy",g[g.Unsafe=13]="Unsafe",g))(Tt||{});(i=>{function t(e){if(e.kind==6){let r=e.text;switch(assert(r.length),r.charCodeAt(0)){case 98:{if(r=="builtin")return 11;break}case 101:{if(r=="external")return 9;break}case 102:{if(r=="final")return 7;break}case 103:{if(r=="global")return 1;break}case 105:{if(r=="inline")return 8;break}case 108:{if(r=="lazy")return 12;break}case 111:{if(r=="operator")return 2;break}case 117:{if(r=="unmanaged")return 6;if(r=="unsafe")return 13;break}}}else if(e.kind==21){let r=e,n=r.expression;if(n.kind==6){let s=n.text;assert(s.length);let a=r.property.text;if(assert(a.length),s=="operator")switch(a.charCodeAt(0)){case 98:{if(a=="binary")return 3;break}case 112:{if(a=="prefix")return 4;if(a=="postfix")return 5;break}}else if(s=="external")switch(a.charCodeAt(0)){case 106:{if(a=="js")return 10;break}}}}return 0}i.fromNode=t})(Tt||={});var ra=class extends L{constructor(e,r,n,s){super(62,s);this.decoratorKind=e;this.name=r;this.args=n}},pp=(r=>(r[r.Line=0]="Line",r[r.Triple=1]="Triple",r[r.Block=2]="Block",r))(pp||{}),ia=class extends L{constructor(e,r,n){super(66,n);this.commentKind=e;this.text=r}},de=class extends L{},Oe=class extends de{constructor(e,r,n){super(6,n);this.text=e;this.isQuoted=r}},Dt=(l=>(l[l.Float=0]="Float",l[l.Integer=1]="Integer",l[l.String=2]="String",l[l.Template=3]="Template",l[l.RegExp=4]="RegExp",l[l.Array=5]="Array",l[l.Object=6]="Object",l))(Dt||{}),at=class extends de{constructor(e,r){super(16,r);this.literalKind=e}},na=class extends at{constructor(e,r){super(5,r);this.elementExpressions=e}},ui=(n=>(n[n.Prefix=0]="Prefix",n[n.As=1]="As",n[n.NonNull=2]="NonNull",n[n.Const=3]="Const",n))(ui||{}),sa=class extends de{constructor(e,r,n,s){super(7,s);this.assertionKind=e;this.expression=r;this.toType=n}},aa=class extends de{constructor(e,r,n,s){super(8,s);this.operator=e;this.left=r;this.right=n}},la=class extends de{constructor(e,r,n,s){super(9,s);this.expression=e;this.typeArguments=r;this.args=n}get typeArgumentsRange(){let e=this.typeArguments,r;return e&&(r=e.length)?le.join(e[0].range,e[r-1].range):this.expression.range}get argumentsRange(){let e=this.args,r=e.length;return r?le.join(e[0].range,e[r-1].range):this.expression.range}},oa=class extends de{constructor(e){super(10,e.range);this.declaration=e}},ua=class extends de{constructor(e,r){super(11,r);this.expressions=e}},pa=class extends Oe{constructor(i){super("constructor",!1,i),this.kind=26}},ca=class extends de{constructor(e,r,n){super(12,n);this.expression=e;this.elementExpression=r}},_a=class extends at{constructor(e,r){super(0,r);this.value=e}},fa=class extends de{constructor(e){super(14,e.range);this.declaration=e}},ha=class extends de{constructor(e,r,n){super(15,n);this.expression=e;this.isType=r}},da=class extends at{constructor(e,r){super(1,r);this.value=e}},ma=class extends de{constructor(e,r,n,s){super(17,s);this.typeName=e;this.typeArguments=r;this.args=n}get typeArgumentsRange(){let e=this.typeArguments,r;return e&&(r=e.length)>0?le.join(e[0].range,e[r-1].range):this.typeName.range}get argumentsRange(){let e=this.args,r=e.length;return r?le.join(e[0].range,e[r-1].range):this.typeName.range}},ya=class extends Oe{constructor(i){super("null",!1,i),this.kind=18}},ga=class extends at{constructor(e,r,n){super(6,n);this.names=e;this.values=r}},ba=class extends de{constructor(i){super(19,i)}},xa=class extends de{constructor(e,r){super(20,r);this.expression=e}},Ta=class extends de{constructor(e,r,n){super(21,n);this.expression=e;this.property=r}},Ea=class extends at{constructor(e,r,n){super(4,n);this.pattern=e;this.patternFlags=r}},va=class extends de{constructor(e,r,n,s){super(22,s);this.condition=e;this.ifThen=r;this.ifElse=n}},Sa=class extends at{constructor(e,r){super(2,r);this.value=e}},Ia=class extends Oe{constructor(i){super("super",!1,i),this.kind=23}},Fa=class extends at{constructor(e,r,n,s,a){super(3,a);this.tag=e;this.parts=r;this.rawParts=n;this.expressions=s}},Ra=class extends Oe{constructor(i){super("this",!1,i),this.kind=24}},ka=class extends Oe{constructor(i){super("true",!1,i),this.kind=25}},Aa=class extends Oe{constructor(i){super("false",!1,i),this.kind=13}},dn=class extends de{constructor(e,r,n,s){super(e,s);this.operator=r;this.operand=n}},wa=class extends dn{constructor(i,e,r){super(27,i,e,r)}},Ca=class extends dn{constructor(i,e,r){super(28,i,e,r)}},Ba=class extends de{constructor(e,r,n){super(29,n);this.expr=e;this.type=r}},oe=class extends L{},pi=(n=>(n[n.User=0]="User",n[n.UserEntry=1]="UserEntry",n[n.Library=2]="Library",n[n.LibraryEntry=3]="LibraryEntry",n))(pi||{}),fe=class t extends L{constructor(e,r,n){super(0,new le(0,n.length));this.sourceKind=e;this.normalizedPath=r;this.text=n;this.statements=new Array;this.debugInfoIndex=-1;this.exportPaths=null;this.lineCache=null;this.lineColumn=1;let s=bn(r);this.internalPath=s;let a=s.lastIndexOf(Ye);this.simplePath=a>=0?s.substring(a+1):s,this.range.source=this}static get native(){let e=t._native;return e||(t._native=e=new t(3,nt+"native.ts","[native code]")),e}static{this._native=null}get isNative(){return this.internalPath==Os}get isLibrary(){let e=this.sourceKind;return e==2||e==3}lineAt(e){assert(e>=0&&e<2147483647);let r=this.lineCache;if(!r){this.lineCache=r=[0];let a=this.text,l=0,o=a.length;for(;l>1),l=unchecked(r[a]);if(e0}},Ma=class extends oe{constructor(e,r){super(32,r);this.label=e}},Ga=class extends oe{constructor(e,r,n){super(33,n);this.body=e;this.condition=r}},za=class extends oe{constructor(i){super(34,i)}},Ua=class extends We{constructor(e,r,n,s,a){super(52,e,r,n,a);this.values=s}},Va=class extends li{constructor(i,e,r,n){super(53,i,null,e,null,r,n)}},Da=class extends oe{constructor(e,r,n){super(37,n);this.name=e;this.externalName=r}},qa=class extends L{constructor(e,r,n){super(63,n);this.localName=e;this.exportedName=r}},Oa=class extends oe{constructor(e,r,n,s){super(35,s);this.members=e;this.path=r;this.isDeclare=n;if(r){let a=fr(r.value);r.value.startsWith(".")?a=Zs(a,s.source.internalPath):a.startsWith(nt)||(a=nt+a),this.internalPath=a}else this.internalPath=null}},Wa=class extends oe{constructor(e,r){super(36,r);this.declaration=e}},Ka=class extends oe{constructor(e){super(38,e.range);this.expression=e}},Ha=class extends li{constructor(e,r,n,s,a,l,o){super(54,e,r,n,s,a,o);this.parameterIndex=l}},ja=class extends oe{constructor(e,r,n,s,a){super(39,a);this.initializer=e;this.condition=r;this.incrementor=n;this.body=s}},$a=class extends oe{constructor(e,r,n,s){super(40,s);this.variable=e;this.iterable=r;this.body=n}},ci=(r=>(r[r.None=0]="None",r[r.Parenthesized=1]="Parenthesized",r[r.Single=2]="Single",r))(ci||{}),yn=class t extends We{constructor(e,r,n,s,a,l,o,p){super(55,e,r,n,p);this.typeParameters=s;this.signature=a;this.body=l;this.arrowKind=o}get isGeneric(){let e=this.typeParameters;return e!=null&&e.length>0}clone(){return new t(this.name,this.decorators,this.flags,this.typeParameters,this.signature,this.body,this.arrowKind,this.range)}},Xa=class extends oe{constructor(e,r,n,s){super(41,s);this.condition=e;this.ifTrue=r;this.ifFalse=n}},Za=class extends We{constructor(e,r,n){super(56,e,null,0,n);this.foreignName=r}},gn=class extends oe{constructor(e,r,n,s){super(42,s);this.declarations=e;this.namespaceName=r;this.path=n;let a=fr(n.value);n.value.startsWith(".")?a=Zs(a,s.source.internalPath):a.startsWith(nt)||(a=nt+a),this.internalPath=bn(a)}},Ya=class extends mn{constructor(i,e,r,n,s,a,l,o){super(i,e,r,n,s,a,l,o),this.kind=57}},mr=class extends yn{constructor(i,e,r,n,s,a,l){super(i,e,r,n,s,a,0,l),this.kind=58}},Qa=class extends We{constructor(e,r,n,s,a){super(59,e,r,n,a);this.members=s}},Ja=class extends oe{constructor(e,r){super(43,r);this.value=e}},el=class extends L{constructor(e,r,n){super(64,n);this.label=e;this.statements=r}get isDefault(){return this.label==null}},tl=class extends oe{constructor(e,r,n){super(44,n);this.condition=e;this.cases=r}},rl=class extends oe{constructor(e,r){super(45,r);this.value=e}},il=class extends oe{constructor(e,r,n,s,a){super(46,a);this.bodyStatements=e;this.catchVariable=r;this.catchStatements=n;this.finallyStatements=s}},nl=class extends oe{constructor(e,r,n){super(50,n);this.moduleName=e;this.flags=r}},sl=class extends We{constructor(e,r,n,s,a,l){super(60,e,r,n,l);this.typeParameters=s;this.type=a}},al=class extends li{constructor(i,e,r,n,s,a){super(61,i,e,r,n,s,a)}},ll=class extends oe{constructor(e,r,n){super(47,n);this.decorators=e;this.declarations=r}},ol=class extends oe{constructor(e,r){super(48,r);this.expression=e}},ul=class extends oe{constructor(e,r,n){super(49,n);this.condition=e;this.body=r}};function Et(t,i){if(i)for(let e=0,r=i.length;e0)}return!1}var _i=(w=>(w[w.Abstract=0]="Abstract",w[w.As=1]="As",w[w.Async=2]="Async",w[w.Await=3]="Await",w[w.Break=4]="Break",w[w.Case=5]="Case",w[w.Catch=6]="Catch",w[w.Class=7]="Class",w[w.Const=8]="Const",w[w.Continue=9]="Continue",w[w.Constructor=10]="Constructor",w[w.Debugger=11]="Debugger",w[w.Declare=12]="Declare",w[w.Default=13]="Default",w[w.Delete=14]="Delete",w[w.Do=15]="Do",w[w.Else=16]="Else",w[w.Enum=17]="Enum",w[w.Export=18]="Export",w[w.Extends=19]="Extends",w[w.False=20]="False",w[w.Finally=21]="Finally",w[w.For=22]="For",w[w.From=23]="From",w[w.Function=24]="Function",w[w.Get=25]="Get",w[w.If=26]="If",w[w.Implements=27]="Implements",w[w.Import=28]="Import",w[w.In=29]="In",w[w.InstanceOf=30]="InstanceOf",w[w.Interface=31]="Interface",w[w.Is=32]="Is",w[w.KeyOf=33]="KeyOf",w[w.Let=34]="Let",w[w.Module=35]="Module",w[w.Namespace=36]="Namespace",w[w.New=37]="New",w[w.Null=38]="Null",w[w.Of=39]="Of",w[w.Override=40]="Override",w[w.Package=41]="Package",w[w.Private=42]="Private",w[w.Protected=43]="Protected",w[w.Public=44]="Public",w[w.Readonly=45]="Readonly",w[w.Return=46]="Return",w[w.Set=47]="Set",w[w.Static=48]="Static",w[w.Super=49]="Super",w[w.Switch=50]="Switch",w[w.This=51]="This",w[w.Throw=52]="Throw",w[w.True=53]="True",w[w.Try=54]="Try",w[w.Type=55]="Type",w[w.TypeOf=56]="TypeOf",w[w.Var=57]="Var",w[w.Void=58]="Void",w[w.While=59]="While",w[w.With=60]="With",w[w.Yield=61]="Yield",w[w.OpenBrace=62]="OpenBrace",w[w.CloseBrace=63]="CloseBrace",w[w.OpenParen=64]="OpenParen",w[w.CloseParen=65]="CloseParen",w[w.OpenBracket=66]="OpenBracket",w[w.CloseBracket=67]="CloseBracket",w[w.Dot=68]="Dot",w[w.Dot_Dot_Dot=69]="Dot_Dot_Dot",w[w.Semicolon=70]="Semicolon",w[w.Comma=71]="Comma",w[w.LessThan=72]="LessThan",w[w.GreaterThan=73]="GreaterThan",w[w.LessThan_Equals=74]="LessThan_Equals",w[w.GreaterThan_Equals=75]="GreaterThan_Equals",w[w.Equals_Equals=76]="Equals_Equals",w[w.Exclamation_Equals=77]="Exclamation_Equals",w[w.Equals_Equals_Equals=78]="Equals_Equals_Equals",w[w.Exclamation_Equals_Equals=79]="Exclamation_Equals_Equals",w[w.Equals_GreaterThan=80]="Equals_GreaterThan",w[w.Plus=81]="Plus",w[w.Minus=82]="Minus",w[w.Asterisk_Asterisk=83]="Asterisk_Asterisk",w[w.Asterisk=84]="Asterisk",w[w.Slash=85]="Slash",w[w.Percent=86]="Percent",w[w.Plus_Plus=87]="Plus_Plus",w[w.Minus_Minus=88]="Minus_Minus",w[w.LessThan_LessThan=89]="LessThan_LessThan",w[w.GreaterThan_GreaterThan=90]="GreaterThan_GreaterThan",w[w.GreaterThan_GreaterThan_GreaterThan=91]="GreaterThan_GreaterThan_GreaterThan",w[w.Ampersand=92]="Ampersand",w[w.Bar=93]="Bar",w[w.Caret=94]="Caret",w[w.Exclamation=95]="Exclamation",w[w.Tilde=96]="Tilde",w[w.Ampersand_Ampersand=97]="Ampersand_Ampersand",w[w.Bar_Bar=98]="Bar_Bar",w[w.Question=99]="Question",w[w.Colon=100]="Colon",w[w.Equals=101]="Equals",w[w.Plus_Equals=102]="Plus_Equals",w[w.Minus_Equals=103]="Minus_Equals",w[w.Asterisk_Equals=104]="Asterisk_Equals",w[w.Asterisk_Asterisk_Equals=105]="Asterisk_Asterisk_Equals",w[w.Slash_Equals=106]="Slash_Equals",w[w.Percent_Equals=107]="Percent_Equals",w[w.LessThan_LessThan_Equals=108]="LessThan_LessThan_Equals",w[w.GreaterThan_GreaterThan_Equals=109]="GreaterThan_GreaterThan_Equals",w[w.GreaterThan_GreaterThan_GreaterThan_Equals=110]="GreaterThan_GreaterThan_GreaterThan_Equals",w[w.Ampersand_Equals=111]="Ampersand_Equals",w[w.Bar_Equals=112]="Bar_Equals",w[w.Caret_Equals=113]="Caret_Equals",w[w.At=114]="At",w[w.Identifier=115]="Identifier",w[w.StringLiteral=116]="StringLiteral",w[w.IntegerLiteral=117]="IntegerLiteral",w[w.FloatLiteral=118]="FloatLiteral",w[w.TemplateLiteral=119]="TemplateLiteral",w[w.Invalid=120]="Invalid",w[w.EndOfFile=121]="EndOfFile",w))(_i||{}),_p=(r=>(r[r.Default=0]="Default",r[r.Prefer=1]="Prefer",r[r.Always=2]="Always",r))(_p||{});function wy(t){let i=t.length;switch(assert(i),t.charCodeAt(0)){case 97:{if(i==5){if(t=="async")return 2;if(t=="await")return 3;break}if(t=="as")return 1;if(t=="abstract")return 0;break}case 98:{if(t=="break")return 4;break}case 99:{if(i==5){if(t=="const")return 8;if(t=="class")return 7;if(t=="catch")return 6;break}if(t=="case")return 5;if(t=="continue")return 9;if(t=="constructor")return 10;break}case 100:{if(i==7){if(t=="default")return 13;if(t=="declare")return 12;break}if(t=="do")return 15;if(t=="delete")return 14;if(t=="debugger")return 11;break}case 101:{if(i==4){if(t=="else")return 16;if(t=="enum")return 17;break}if(t=="export")return 18;if(t=="extends")return 19;break}case 102:{if(i<=5){if(t=="false")return 20;if(t=="for")return 22;if(t=="from")return 23;break}if(t=="function")return 24;if(t=="finally")return 21;break}case 103:{if(t=="get")return 25;break}case 105:{if(i==2){if(t=="if")return 26;if(t=="in")return 29;if(t=="is")return 32;break}switch(t.charCodeAt(3)){case 108:{if(t=="implements")return 27;break}case 111:{if(t=="import")return 28;break}case 116:{if(t=="instanceof")return 30;break}case 101:{if(t=="interface")return 31;break}}break}case 107:{if(t=="keyof")return 33;break}case 108:{if(t=="let")return 34;break}case 109:{if(t=="module")return 35;break}case 110:{if(t=="new")return 37;if(t=="null")return 38;if(t=="namespace")return 36;break}case 111:{if(t=="of")return 39;if(t=="override")return 40;break}case 112:{if(i==7){if(t=="private")return 42;if(t=="package")return 41;break}if(t=="public")return 44;if(t=="protected")return 43;break}case 114:{if(t=="return")return 46;if(t=="readonly")return 45;break}case 115:{if(i==6){if(t=="switch")return 50;if(t=="static")return 48;break}if(t=="set")return 47;if(t=="super")return 49;break}case 116:{if(i==4){if(t=="true")return 53;if(t=="this")return 51;if(t=="type")return 55;break}if(t=="try")return 54;if(t=="throw")return 52;if(t=="typeof")return 56;break}case 118:{if(t=="var")return 57;if(t=="void")return 58;break}case 119:{if(t=="while")return 59;if(t=="with")return 60;break}case 121:{if(t=="yield")return 61;break}}return 120}function Cy(t){switch(t){case 0:case 1:case 10:case 12:case 14:case 23:case 22:case 25:case 30:case 32:case 33:case 35:case 36:case 38:case 45:case 47:case 55:case 58:return!0;default:return!1}}function fp(t){switch(assert(t.length),t.charCodeAt(0)){case 100:return t=="delete";case 102:return t=="for";case 105:return t=="instanceof";case 110:return t=="null";case 118:return t=="void"}return!1}function Te(t){switch(t){case 14:return"delete";case 29:return"in";case 30:return"instanceof";case 37:return"new";case 56:return"typeof";case 58:return"void";case 61:return"yield";case 69:return"...";case 71:return",";case 72:return"<";case 73:return">";case 74:return"<=";case 75:return">=";case 76:return"==";case 77:return"!=";case 78:return"===";case 79:return"!==";case 81:return"+";case 82:return"-";case 83:return"**";case 84:return"*";case 85:return"/";case 86:return"%";case 87:return"++";case 88:return"--";case 89:return"<<";case 90:return">>";case 91:return">>>";case 92:return"&";case 93:return"|";case 94:return"^";case 95:return"!";case 96:return"~";case 97:return"&&";case 98:return"||";case 101:return"=";case 102:return"+=";case 103:return"-=";case 104:return"*=";case 105:return"**=";case 106:return"/=";case 107:return"%=";case 108:return"<<=";case 109:return">>=";case 110:return">>>=";case 111:return"&=";case 112:return"|=";case 113:return"^=";default:return assert(!1),""}}var xn=class extends qe{constructor(e,r=null){super(r);this.end=0;this.pos=0;this.token=-1;this.tokenPos=0;this.nextToken=-1;this.nextTokenPos=0;this.nextTokenOnNewLine=2;this.onComment=null;this.readingTemplateString=!1;this.readStringStart=0;this.readStringEnd=0;r||(r=[]),this.diagnostics=r,this.source=e;let n=e.text,s=n.length,a=0;if(a1&&a2&&a1&&a1&&a1&&a2&&a1&&a1&&a1&&a2&&a+11&&a1&&a2&&a1&&a2&&a1&&a2&&a3&&a1&&a1&&a=s){o+=n.substring(l,a),this.error(1002,this.range(l-1,s)),this.readStringEnd=s;break}let p=n.charCodeAt(a);if(p==e){this.readStringEnd=a,o+=n.substring(l,a++);break}if(p==92){o+=n.substring(l,a),this.pos=a,o+=this.readEscapeSequence(r),a=this.pos,l=a;continue}if(e==96){if(p==36&&a+1=n)return this.error(1126,this.range(n)),"";let s=this.source.text,a=s.charCodeAt(this.pos++);switch(a){case 48:return e&&this.pos=n){this.error(1161,this.range(r,n));break}if(e.charCodeAt(this.pos)==92){++this.pos,s=!0;continue}let a=e.charCodeAt(this.pos);if(!s&&a==47)break;if(bt(a)){this.error(1161,this.range(r,this.pos));break}++this.pos,s=!1}return e.substring(r,this.pos)}readRegexpFlags(){let e=this.source.text,r=this.pos,n=this.end,s=0;for(;this.pos57))break;r++}return!0}readInteger(){let e=this.source.text,r=this.pos;if(r+21114111&&(e==-1&&this.error(1198,this.range(r,this.pos)),a=!0);let l=this.end,o=this.source.text;return this.pos>=l?(e==-1&&this.error(1126,this.range(r,l)),a=!0):o.charCodeAt(this.pos)==125?++this.pos:(e==-1&&this.error(1199,this.range(r,this.pos)),a=!0),a?~e?o.substring(e,this.pos):"":String.fromCodePoint(s)}},pl=class{constructor(i,e,r){this.pos=i;this.token=e;this.tokenPos=r}},cp=null;var P;(C=>(C.None=0,C.Unreachable=1,C.I32=2,C.I64=3,C.F32=4,C.F64=5,C.V128=6,C.Funcref=Uc(),C.Externref=Vc(),C.Anyref=Dc(),C.Eqref=qc(),C.Structref=Wc(),C.Arrayref=Kc(),C.I31ref=Oc(),C.Stringref=Hc(),C.StringviewWTF8=jc(),C.StringviewWTF16=$c(),C.StringviewIter=Xc(),C.Noneref=Zc(),C.Nofuncref=Qc(),C.Noexternref=Yc()))(P||={});var ue;(I=>{I.Extern=0,I.Func=1,I.Any=2,I.Eq=3,I.I31=4,I.Struct=5,I.Array=6,I.Exn=7,I.String=8,I.StringviewWTF8=9,I.StringviewWTF16=10,I.StringviewIter=11,I.None=12,I.Noextern=13,I.Nofunc=14;function S(R){return Jc(R)}I.isBottom=S;function T(R){return e_(R)}I.getBottom=T;function E(R,C){return t_(R,C)}I.isSubtype=E;function F(R,C){if(R==C)return R;if(T(R)!=T(C))return-1;if(S(R))return C;if(S(C))return R;if(R>C){let N=R;R=C,C=N}switch(R){case I.Extern:case I.Func:return-1;case I.Any:return R;case I.Eq:return C==I.I31||C==I.Struct||C==I.Array?I.Eq:I.Any;case I.I31:return C==I.Struct||C==I.Array?I.Eq:I.Any;case I.Struct:return C==I.Array?I.Eq:I.Any;case I.Array:case I.String:case I.StringviewWTF8:case I.StringviewWTF16:case I.StringviewIter:return I.Any}return assert(!1),-1}I.leastUpperBound=F})(ue||={});var En;(r=>(r.NotPacked=0,r.I8=1,r.I16=2))(En||={});var dp;(s=>{s.SelfSupertype=0,s.InvalidSupertype=1,s.ForwardSupertypeReference=2,s.ForwardChildReference=3;function n(a){switch(a){case 0:return"SelfSupertype";case 1:return"InvalidSupertype";case 2:return"ForwardSupertypeReference";case 3:return"ForwardChildReference"}return assert(!1),""}s.toString=n})(dp||={});var mp=(F=>(F[F.MVP=0]="MVP",F[F.Atomics=1]="Atomics",F[F.MutableGlobals=2]="MutableGlobals",F[F.TruncSat=4]="TruncSat",F[F.SIMD=8]="SIMD",F[F.BulkMemory=16]="BulkMemory",F[F.SignExt=32]="SignExt",F[F.ExceptionHandling=64]="ExceptionHandling",F[F.TailCall=128]="TailCall",F[F.ReferenceTypes=256]="ReferenceTypes",F[F.MultiValue=512]="MultiValue",F[F.GC=1024]="GC",F[F.Memory64=2048]="Memory64",F[F.RelaxedSIMD=4096]="RelaxedSIMD",F[F.ExtendedConst=8192]="ExtendedConst",F[F.Stringref=16384]="Stringref",F[F.MultiMemory=32768]="MultiMemory",F[F.All=131071]="All",F))(mp||{}),yr=(M=>(M[M.Invalid=0]="Invalid",M[M.Block=1]="Block",M[M.If=2]="If",M[M.Loop=3]="Loop",M[M.Break=4]="Break",M[M.Switch=5]="Switch",M[M.Call=6]="Call",M[M.CallIndirect=7]="CallIndirect",M[M.LocalGet=8]="LocalGet",M[M.LocalSet=9]="LocalSet",M[M.GlobalGet=10]="GlobalGet",M[M.GlobalSet=11]="GlobalSet",M[M.Load=12]="Load",M[M.Store=13]="Store",M[M.Const=14]="Const",M[M.Unary=15]="Unary",M[M.Binary=16]="Binary",M[M.Select=17]="Select",M[M.Drop=18]="Drop",M[M.Return=19]="Return",M[M.MemorySize=20]="MemorySize",M[M.MemoryGrow=21]="MemoryGrow",M[M.Nop=22]="Nop",M[M.Unreachable=23]="Unreachable",M[M.AtomicRMW=24]="AtomicRMW",M[M.AtomicCmpxchg=25]="AtomicCmpxchg",M[M.AtomicWait=26]="AtomicWait",M[M.AtomicNotify=27]="AtomicNotify",M[M.AtomicFence=28]="AtomicFence",M[M.SIMDExtract=29]="SIMDExtract",M[M.SIMDReplace=30]="SIMDReplace",M[M.SIMDShuffle=31]="SIMDShuffle",M[M.SIMDTernary=32]="SIMDTernary",M[M.SIMDShift=33]="SIMDShift",M[M.SIMDLoad=34]="SIMDLoad",M[M.SIMDLoadStoreLane=35]="SIMDLoadStoreLane",M[M.MemoryInit=36]="MemoryInit",M[M.DataDrop=37]="DataDrop",M[M.MemoryCopy=38]="MemoryCopy",M[M.MemoryFill=39]="MemoryFill",M[M.Pop=40]="Pop",M[M.RefNull=41]="RefNull",M[M.RefIsNull=42]="RefIsNull",M[M.RefFunc=43]="RefFunc",M[M.RefEq=44]="RefEq",M[M.TableGet=45]="TableGet",M[M.TableSet=46]="TableSet",M[M.TableSize=47]="TableSize",M[M.TableGrow=48]="TableGrow",M[M.TableFill=49]="TableFill",M[M.TableCopy=50]="TableCopy",M[M.Try=51]="Try",M[M.TryTable=52]="TryTable",M[M.Throw=53]="Throw",M[M.Rethrow=54]="Rethrow",M[M.ThrowRef=55]="ThrowRef",M[M.TupleMake=56]="TupleMake",M[M.TupleExtract=57]="TupleExtract",M[M.RefI31=58]="RefI31",M[M.I31Get=59]="I31Get",M[M.CallRef=60]="CallRef",M[M.RefTest=61]="RefTest",M[M.RefCast=62]="RefCast",M[M.BrOn=63]="BrOn",M[M.StructNew=64]="StructNew",M[M.StructGet=65]="StructGet",M[M.StructSet=66]="StructSet",M[M.ArrayNew=67]="ArrayNew",M[M.ArrayNewData=68]="ArrayNewData",M[M.ArrayNewElem=69]="ArrayNewElem",M[M.ArrayNewFixed=70]="ArrayNewFixed",M[M.ArrayGet=71]="ArrayGet",M[M.ArraySet=72]="ArraySet",M[M.ArrayLen=73]="ArrayLen",M[M.ArrayCopy=74]="ArrayCopy",M[M.ArrayFill=75]="ArrayFill",M[M.ArrayInitData=76]="ArrayInitData",M[M.ArrayInitElem=77]="ArrayInitElem",M[M.RefAs=78]="RefAs",M[M.StringNew=79]="StringNew",M[M.StringConst=80]="StringConst",M[M.StringMeasure=81]="StringMeasure",M[M.StringEncode=82]="StringEncode",M[M.StringConcat=83]="StringConcat",M[M.StringEq=84]="StringEq",M[M.StringAs=85]="StringAs",M[M.StringWTF8Advance=86]="StringWTF8Advance",M[M.StringWTF16Get=87]="StringWTF16Get",M[M.StringIterNext=88]="StringIterNext",M[M.StringIterMove=89]="StringIterMove",M[M.StringSliceWTF=90]="StringSliceWTF",M[M.StringSliceIter=91]="StringSliceIter",M[M.ResumeId=92]="ResumeId",M))(yr||{}),yp=(s=>(s[s.Function=0]="Function",s[s.Table=1]="Table",s[s.Memory=2]="Memory",s[s.Global=3]="Global",s[s.Tag=4]="Tag",s))(yp||{}),Sn=(k=>(k[k.ClzI32=0]="ClzI32",k[k.ClzI64=1]="ClzI64",k[k.CtzI32=2]="CtzI32",k[k.CtzI64=3]="CtzI64",k[k.PopcntI32=4]="PopcntI32",k[k.PopcntI64=5]="PopcntI64",k[k.NegF32=6]="NegF32",k[k.NegF64=7]="NegF64",k[k.AbsF32=8]="AbsF32",k[k.AbsF64=9]="AbsF64",k[k.CeilF32=10]="CeilF32",k[k.CeilF64=11]="CeilF64",k[k.FloorF32=12]="FloorF32",k[k.FloorF64=13]="FloorF64",k[k.TruncF32=14]="TruncF32",k[k.TruncF64=15]="TruncF64",k[k.NearestF32=16]="NearestF32",k[k.NearestF64=17]="NearestF64",k[k.SqrtF32=18]="SqrtF32",k[k.SqrtF64=19]="SqrtF64",k[k.EqzI32=20]="EqzI32",k[k.EqzI64=21]="EqzI64",k[k.ExtendI32ToI64=22]="ExtendI32ToI64",k[k.ExtendU32ToU64=23]="ExtendU32ToU64",k[k.WrapI64ToI32=24]="WrapI64ToI32",k[k.TruncF32ToI32=25]="TruncF32ToI32",k[k.TruncF32ToI64=26]="TruncF32ToI64",k[k.TruncF32ToU32=27]="TruncF32ToU32",k[k.TruncF32ToU64=28]="TruncF32ToU64",k[k.TruncF64ToI32=29]="TruncF64ToI32",k[k.TruncF64ToI64=30]="TruncF64ToI64",k[k.TruncF64ToU32=31]="TruncF64ToU32",k[k.TruncF64ToU64=32]="TruncF64ToU64",k[k.ReinterpretF32ToI32=33]="ReinterpretF32ToI32",k[k.ReinterpretF64ToI64=34]="ReinterpretF64ToI64",k[k.ConvertI32ToF32=35]="ConvertI32ToF32",k[k.ConvertI32ToF64=36]="ConvertI32ToF64",k[k.ConvertU32ToF32=37]="ConvertU32ToF32",k[k.ConvertU32ToF64=38]="ConvertU32ToF64",k[k.ConvertI64ToF32=39]="ConvertI64ToF32",k[k.ConvertI64ToF64=40]="ConvertI64ToF64",k[k.ConvertU64ToF32=41]="ConvertU64ToF32",k[k.ConvertU64ToF64=42]="ConvertU64ToF64",k[k.PromoteF32ToF64=43]="PromoteF32ToF64",k[k.DemoteF64ToF32=44]="DemoteF64ToF32",k[k.ReinterpretI32ToF32=45]="ReinterpretI32ToF32",k[k.ReinterpretI64ToF64=46]="ReinterpretI64ToF64",k[k.Extend8I32=47]="Extend8I32",k[k.Extend16I32=48]="Extend16I32",k[k.Extend8I64=49]="Extend8I64",k[k.Extend16I64=50]="Extend16I64",k[k.Extend32I64=51]="Extend32I64",k[k.TruncSatF32ToI32=52]="TruncSatF32ToI32",k[k.TruncSatF32ToU32=53]="TruncSatF32ToU32",k[k.TruncSatF64ToI32=54]="TruncSatF64ToI32",k[k.TruncSatF64ToU32=55]="TruncSatF64ToU32",k[k.TruncSatF32ToI64=56]="TruncSatF32ToI64",k[k.TruncSatF32ToU64=57]="TruncSatF32ToU64",k[k.TruncSatF64ToI64=58]="TruncSatF64ToI64",k[k.TruncSatF64ToU64=59]="TruncSatF64ToU64",k[k.SplatI8x16=60]="SplatI8x16",k[k.SplatI16x8=61]="SplatI16x8",k[k.SplatI32x4=62]="SplatI32x4",k[k.SplatI64x2=63]="SplatI64x2",k[k.SplatF32x4=64]="SplatF32x4",k[k.SplatF64x2=65]="SplatF64x2",k[k.NotV128=66]="NotV128",k[k.AnyTrueV128=67]="AnyTrueV128",k[k.AbsI8x16=68]="AbsI8x16",k[k.NegI8x16=69]="NegI8x16",k[k.AllTrueI8x16=70]="AllTrueI8x16",k[k.BitmaskI8x16=71]="BitmaskI8x16",k[k.PopcntI8x16=72]="PopcntI8x16",k[k.AbsI16x8=73]="AbsI16x8",k[k.NegI16x8=74]="NegI16x8",k[k.AllTrueI16x8=75]="AllTrueI16x8",k[k.BitmaskI16x8=76]="BitmaskI16x8",k[k.AbsI32x4=77]="AbsI32x4",k[k.NegI32x4=78]="NegI32x4",k[k.AllTrueI32x4=79]="AllTrueI32x4",k[k.BitmaskI32x4=80]="BitmaskI32x4",k[k.AbsI64x2=81]="AbsI64x2",k[k.NegI64x2=82]="NegI64x2",k[k.AllTrueI64x2=83]="AllTrueI64x2",k[k.BitmaskI64x2=84]="BitmaskI64x2",k[k.AbsF32x4=85]="AbsF32x4",k[k.NegF32x4=86]="NegF32x4",k[k.SqrtF32x4=87]="SqrtF32x4",k[k.CeilF32x4=88]="CeilF32x4",k[k.FloorF32x4=89]="FloorF32x4",k[k.TruncF32x4=90]="TruncF32x4",k[k.NearestF32x4=91]="NearestF32x4",k[k.AbsF64x2=92]="AbsF64x2",k[k.NegF64x2=93]="NegF64x2",k[k.SqrtF64x2=94]="SqrtF64x2",k[k.CeilF64x2=95]="CeilF64x2",k[k.FloorF64x2=96]="FloorF64x2",k[k.TruncF64x2=97]="TruncF64x2",k[k.NearestF64x2=98]="NearestF64x2",k[k.ExtaddPairwiseI8x16ToI16x8=99]="ExtaddPairwiseI8x16ToI16x8",k[k.ExtaddPairwiseU8x16ToU16x8=100]="ExtaddPairwiseU8x16ToU16x8",k[k.ExtaddPairwiseI16x8ToI32x4=101]="ExtaddPairwiseI16x8ToI32x4",k[k.ExtaddPairwiseU16x8ToU32x4=102]="ExtaddPairwiseU16x8ToU32x4",k[k.TruncSatF32x4ToI32x4=103]="TruncSatF32x4ToI32x4",k[k.TruncSatF32x4ToU32x4=104]="TruncSatF32x4ToU32x4",k[k.ConvertI32x4ToF32x4=105]="ConvertI32x4ToF32x4",k[k.ConvertU32x4ToF32x4=106]="ConvertU32x4ToF32x4",k[k.ExtendLowI8x16ToI16x8=107]="ExtendLowI8x16ToI16x8",k[k.ExtendHighI8x16ToI16x8=108]="ExtendHighI8x16ToI16x8",k[k.ExtendLowU8x16ToU16x8=109]="ExtendLowU8x16ToU16x8",k[k.ExtendHighU8x16ToU16x8=110]="ExtendHighU8x16ToU16x8",k[k.ExtendLowI16x8ToI32x4=111]="ExtendLowI16x8ToI32x4",k[k.ExtendHighI16x8ToI32x4=112]="ExtendHighI16x8ToI32x4",k[k.ExtendLowU16x8ToU32x4=113]="ExtendLowU16x8ToU32x4",k[k.ExtendHighU16x8ToU32x4=114]="ExtendHighU16x8ToU32x4",k[k.ExtendLowI32x4ToI64x2=115]="ExtendLowI32x4ToI64x2",k[k.ExtendHighI32x4ToI64x2=116]="ExtendHighI32x4ToI64x2",k[k.ExtendLowU32x4ToU64x2=117]="ExtendLowU32x4ToU64x2",k[k.ExtendHighU32x4ToU64x2=118]="ExtendHighU32x4ToU64x2",k[k.ConvertLowI32x4ToF64x2=119]="ConvertLowI32x4ToF64x2",k[k.ConvertLowU32x4ToF64x2=120]="ConvertLowU32x4ToF64x2",k[k.TruncSatF64x2ToI32x4Zero=121]="TruncSatF64x2ToI32x4Zero",k[k.TruncSatF64x2ToU32x4Zero=122]="TruncSatF64x2ToU32x4Zero",k[k.DemoteZeroF64x2ToF32x4=123]="DemoteZeroF64x2ToF32x4",k[k.PromoteLowF32x4ToF64x2=124]="PromoteLowF32x4ToF64x2",k[k.RelaxedTruncF32x4ToI32x4=125]="RelaxedTruncF32x4ToI32x4",k[k.RelaxedTruncF32x4ToU32x4=126]="RelaxedTruncF32x4ToU32x4",k[k.RelaxedTruncF64x2ToI32x4Zero=127]="RelaxedTruncF64x2ToI32x4Zero",k[k.RelaxedTruncF64x2ToU32x4Zero=128]="RelaxedTruncF64x2ToU32x4Zero",k[k._last=128]="_last",k[k.ClzSize=129]="ClzSize",k[k.CtzSize=130]="CtzSize",k[k.PopcntSize=131]="PopcntSize",k[k.EqzSize=132]="EqzSize",k))(Sn||{}),hi=(b=>(b[b.AddI32=0]="AddI32",b[b.SubI32=1]="SubI32",b[b.MulI32=2]="MulI32",b[b.DivI32=3]="DivI32",b[b.DivU32=4]="DivU32",b[b.RemI32=5]="RemI32",b[b.RemU32=6]="RemU32",b[b.AndI32=7]="AndI32",b[b.OrI32=8]="OrI32",b[b.XorI32=9]="XorI32",b[b.ShlI32=10]="ShlI32",b[b.ShrI32=11]="ShrI32",b[b.ShrU32=12]="ShrU32",b[b.RotlI32=13]="RotlI32",b[b.RotrI32=14]="RotrI32",b[b.EqI32=15]="EqI32",b[b.NeI32=16]="NeI32",b[b.LtI32=17]="LtI32",b[b.LtU32=18]="LtU32",b[b.LeI32=19]="LeI32",b[b.LeU32=20]="LeU32",b[b.GtI32=21]="GtI32",b[b.GtU32=22]="GtU32",b[b.GeI32=23]="GeI32",b[b.GeU32=24]="GeU32",b[b.AddI64=25]="AddI64",b[b.SubI64=26]="SubI64",b[b.MulI64=27]="MulI64",b[b.DivI64=28]="DivI64",b[b.DivU64=29]="DivU64",b[b.RemI64=30]="RemI64",b[b.RemU64=31]="RemU64",b[b.AndI64=32]="AndI64",b[b.OrI64=33]="OrI64",b[b.XorI64=34]="XorI64",b[b.ShlI64=35]="ShlI64",b[b.ShrI64=36]="ShrI64",b[b.ShrU64=37]="ShrU64",b[b.RotlI64=38]="RotlI64",b[b.RotrI64=39]="RotrI64",b[b.EqI64=40]="EqI64",b[b.NeI64=41]="NeI64",b[b.LtI64=42]="LtI64",b[b.LtU64=43]="LtU64",b[b.LeI64=44]="LeI64",b[b.LeU64=45]="LeU64",b[b.GtI64=46]="GtI64",b[b.GtU64=47]="GtU64",b[b.GeI64=48]="GeI64",b[b.GeU64=49]="GeU64",b[b.AddF32=50]="AddF32",b[b.SubF32=51]="SubF32",b[b.MulF32=52]="MulF32",b[b.DivF32=53]="DivF32",b[b.CopysignF32=54]="CopysignF32",b[b.MinF32=55]="MinF32",b[b.MaxF32=56]="MaxF32",b[b.EqF32=57]="EqF32",b[b.NeF32=58]="NeF32",b[b.LtF32=59]="LtF32",b[b.LeF32=60]="LeF32",b[b.GtF32=61]="GtF32",b[b.GeF32=62]="GeF32",b[b.AddF64=63]="AddF64",b[b.SubF64=64]="SubF64",b[b.MulF64=65]="MulF64",b[b.DivF64=66]="DivF64",b[b.CopysignF64=67]="CopysignF64",b[b.MinF64=68]="MinF64",b[b.MaxF64=69]="MaxF64",b[b.EqF64=70]="EqF64",b[b.NeF64=71]="NeF64",b[b.LtF64=72]="LtF64",b[b.LeF64=73]="LeF64",b[b.GtF64=74]="GtF64",b[b.GeF64=75]="GeF64",b[b.EqI8x16=76]="EqI8x16",b[b.NeI8x16=77]="NeI8x16",b[b.LtI8x16=78]="LtI8x16",b[b.LtU8x16=79]="LtU8x16",b[b.GtI8x16=80]="GtI8x16",b[b.GtU8x16=81]="GtU8x16",b[b.LeI8x16=82]="LeI8x16",b[b.LeU8x16=83]="LeU8x16",b[b.GeI8x16=84]="GeI8x16",b[b.GeU8x16=85]="GeU8x16",b[b.EqI16x8=86]="EqI16x8",b[b.NeI16x8=87]="NeI16x8",b[b.LtI16x8=88]="LtI16x8",b[b.LtU16x8=89]="LtU16x8",b[b.GtI16x8=90]="GtI16x8",b[b.GtU16x8=91]="GtU16x8",b[b.LeI16x8=92]="LeI16x8",b[b.LeU16x8=93]="LeU16x8",b[b.GeI16x8=94]="GeI16x8",b[b.GeU16x8=95]="GeU16x8",b[b.EqI32x4=96]="EqI32x4",b[b.NeI32x4=97]="NeI32x4",b[b.LtI32x4=98]="LtI32x4",b[b.LtU32x4=99]="LtU32x4",b[b.GtI32x4=100]="GtI32x4",b[b.GtU32x4=101]="GtU32x4",b[b.LeI32x4=102]="LeI32x4",b[b.LeU32x4=103]="LeU32x4",b[b.GeI32x4=104]="GeI32x4",b[b.GeU32x4=105]="GeU32x4",b[b.EqI64x2=106]="EqI64x2",b[b.NeI64x2=107]="NeI64x2",b[b.LtI64x2=108]="LtI64x2",b[b.GtI64x2=109]="GtI64x2",b[b.LeI64x2=110]="LeI64x2",b[b.GeI64x2=111]="GeI64x2",b[b.EqF32x4=112]="EqF32x4",b[b.NeF32x4=113]="NeF32x4",b[b.LtF32x4=114]="LtF32x4",b[b.GtF32x4=115]="GtF32x4",b[b.LeF32x4=116]="LeF32x4",b[b.GeF32x4=117]="GeF32x4",b[b.EqF64x2=118]="EqF64x2",b[b.NeF64x2=119]="NeF64x2",b[b.LtF64x2=120]="LtF64x2",b[b.GtF64x2=121]="GtF64x2",b[b.LeF64x2=122]="LeF64x2",b[b.GeF64x2=123]="GeF64x2",b[b.AndV128=124]="AndV128",b[b.OrV128=125]="OrV128",b[b.XorV128=126]="XorV128",b[b.AndnotV128=127]="AndnotV128",b[b.AddI8x16=128]="AddI8x16",b[b.AddSatI8x16=129]="AddSatI8x16",b[b.AddSatU8x16=130]="AddSatU8x16",b[b.SubI8x16=131]="SubI8x16",b[b.SubSatI8x16=132]="SubSatI8x16",b[b.SubSatU8x16=133]="SubSatU8x16",b[b.MinI8x16=134]="MinI8x16",b[b.MinU8x16=135]="MinU8x16",b[b.MaxI8x16=136]="MaxI8x16",b[b.MaxU8x16=137]="MaxU8x16",b[b.AvgrU8x16=138]="AvgrU8x16",b[b.AddI16x8=139]="AddI16x8",b[b.AddSatI16x8=140]="AddSatI16x8",b[b.AddSatU16x8=141]="AddSatU16x8",b[b.SubI16x8=142]="SubI16x8",b[b.SubSatI16x8=143]="SubSatI16x8",b[b.SubSatU16x8=144]="SubSatU16x8",b[b.MulI16x8=145]="MulI16x8",b[b.MinI16x8=146]="MinI16x8",b[b.MinU16x8=147]="MinU16x8",b[b.MaxI16x8=148]="MaxI16x8",b[b.MaxU16x8=149]="MaxU16x8",b[b.AvgrU16x8=150]="AvgrU16x8",b[b.Q15mulrSatI16x8=151]="Q15mulrSatI16x8",b[b.ExtmulLowI16x8=152]="ExtmulLowI16x8",b[b.ExtmulHighI16x8=153]="ExtmulHighI16x8",b[b.ExtmulLowU16x8=154]="ExtmulLowU16x8",b[b.ExtmulHighU16x8=155]="ExtmulHighU16x8",b[b.AddI32x4=156]="AddI32x4",b[b.SubI32x4=157]="SubI32x4",b[b.MulI32x4=158]="MulI32x4",b[b.MinI32x4=159]="MinI32x4",b[b.MinU32x4=160]="MinU32x4",b[b.MaxI32x4=161]="MaxI32x4",b[b.MaxU32x4=162]="MaxU32x4",b[b.DotI16x8=163]="DotI16x8",b[b.ExtmulLowI32x4=164]="ExtmulLowI32x4",b[b.ExtmulHighI32x4=165]="ExtmulHighI32x4",b[b.ExtmulLowU32x4=166]="ExtmulLowU32x4",b[b.ExtmulHighU32x4=167]="ExtmulHighU32x4",b[b.AddI64x2=168]="AddI64x2",b[b.SubI64x2=169]="SubI64x2",b[b.MulI64x2=170]="MulI64x2",b[b.ExtmulLowI64x2=171]="ExtmulLowI64x2",b[b.ExtmulHighI64x2=172]="ExtmulHighI64x2",b[b.ExtmulLowU64x2=173]="ExtmulLowU64x2",b[b.ExtmulHighU64x2=174]="ExtmulHighU64x2",b[b.AddF32x4=175]="AddF32x4",b[b.SubF32x4=176]="SubF32x4",b[b.MulF32x4=177]="MulF32x4",b[b.DivF32x4=178]="DivF32x4",b[b.MinF32x4=179]="MinF32x4",b[b.MaxF32x4=180]="MaxF32x4",b[b.PminF32x4=181]="PminF32x4",b[b.PmaxF32x4=182]="PmaxF32x4",b[b.AddF64x2=183]="AddF64x2",b[b.SubF64x2=184]="SubF64x2",b[b.MulF64x2=185]="MulF64x2",b[b.DivF64x2=186]="DivF64x2",b[b.MinF64x2=187]="MinF64x2",b[b.MaxF64x2=188]="MaxF64x2",b[b.PminF64x2=189]="PminF64x2",b[b.PmaxF64x2=190]="PmaxF64x2",b[b.NarrowI16x8ToI8x16=191]="NarrowI16x8ToI8x16",b[b.NarrowU16x8ToU8x16=192]="NarrowU16x8ToU8x16",b[b.NarrowI32x4ToI16x8=193]="NarrowI32x4ToI16x8",b[b.NarrowU32x4ToU16x8=194]="NarrowU32x4ToU16x8",b[b.SwizzleI8x16=195]="SwizzleI8x16",b[b.RelaxedSwizzleI8x16=196]="RelaxedSwizzleI8x16",b[b.RelaxedMinF32x4=197]="RelaxedMinF32x4",b[b.RelaxedMaxF32x4=198]="RelaxedMaxF32x4",b[b.RelaxedMinF64x2=199]="RelaxedMinF64x2",b[b.RelaxedMaxF64x2=200]="RelaxedMaxF64x2",b[b.RelaxedQ15MulrI16x8=201]="RelaxedQ15MulrI16x8",b[b.RelaxedDotI8x16I7x16ToI16x8=202]="RelaxedDotI8x16I7x16ToI16x8",b[b._last=202]="_last",b[b.AddSize=203]="AddSize",b[b.SubSize=204]="SubSize",b[b.MulSize=205]="MulSize",b[b.DivISize=206]="DivISize",b[b.DivUSize=207]="DivUSize",b[b.RemISize=208]="RemISize",b[b.RemUSize=209]="RemUSize",b[b.AndSize=210]="AndSize",b[b.OrSize=211]="OrSize",b[b.XorSize=212]="XorSize",b[b.ShlSize=213]="ShlSize",b[b.ShrISize=214]="ShrISize",b[b.ShrUSize=215]="ShrUSize",b[b.RotlSize=216]="RotlSize",b[b.RotrSize=217]="RotrSize",b[b.EqSize=218]="EqSize",b[b.NeSize=219]="NeSize",b[b.LtISize=220]="LtISize",b[b.LtUSize=221]="LtUSize",b[b.LeISize=222]="LeISize",b[b.LeUSize=223]="LeUSize",b[b.GtISize=224]="GtISize",b[b.GtUSize=225]="GtUSize",b[b.GeISize=226]="GeISize",b[b.GeUSize=227]="GeUSize",b))(hi||{}),gp=(a=>(a[a.Add=0]="Add",a[a.Sub=1]="Sub",a[a.And=2]="And",a[a.Or=3]="Or",a[a.Xor=4]="Xor",a[a.Xchg=5]="Xchg",a))(gp||{}),bp=(o=>(o[o.ExtractLaneI8x16=0]="ExtractLaneI8x16",o[o.ExtractLaneU8x16=1]="ExtractLaneU8x16",o[o.ExtractLaneI16x8=2]="ExtractLaneI16x8",o[o.ExtractLaneU16x8=3]="ExtractLaneU16x8",o[o.ExtractLaneI32x4=4]="ExtractLaneI32x4",o[o.ExtractLaneI64x2=5]="ExtractLaneI64x2",o[o.ExtractLaneF32x4=6]="ExtractLaneF32x4",o[o.ExtractLaneF64x2=7]="ExtractLaneF64x2",o))(bp||{}),xp=(a=>(a[a.ReplaceLaneI8x16=0]="ReplaceLaneI8x16",a[a.ReplaceLaneI16x8=1]="ReplaceLaneI16x8",a[a.ReplaceLaneI32x4=2]="ReplaceLaneI32x4",a[a.ReplaceLaneI64x2=3]="ReplaceLaneI64x2",a[a.ReplaceLaneF32x4=4]="ReplaceLaneF32x4",a[a.ReplaceLaneF64x2=5]="ReplaceLaneF64x2",a))(xp||{}),Tp=(f=>(f[f.ShlI8x16=0]="ShlI8x16",f[f.ShrI8x16=1]="ShrI8x16",f[f.ShrU8x16=2]="ShrU8x16",f[f.ShlI16x8=3]="ShlI16x8",f[f.ShrI16x8=4]="ShrI16x8",f[f.ShrU16x8=5]="ShrU16x8",f[f.ShlI32x4=6]="ShlI32x4",f[f.ShrI32x4=7]="ShrI32x4",f[f.ShrU32x4=8]="ShrU32x4",f[f.ShlI64x2=9]="ShlI64x2",f[f.ShrI64x2=10]="ShrI64x2",f[f.ShrU64x2=11]="ShrU64x2",f))(Tp||{}),Ep=(f=>(f[f.Load8Splat=0]="Load8Splat",f[f.Load16Splat=1]="Load16Splat",f[f.Load32Splat=2]="Load32Splat",f[f.Load64Splat=3]="Load64Splat",f[f.Load8x8S=4]="Load8x8S",f[f.Load8x8U=5]="Load8x8U",f[f.Load16x4S=6]="Load16x4S",f[f.Load16x4U=7]="Load16x4U",f[f.Load32x2S=8]="Load32x2S",f[f.Load32x2U=9]="Load32x2U",f[f.Load32Zero=10]="Load32Zero",f[f.Load64Zero=11]="Load64Zero",f))(Ep||{}),vp=(o=>(o[o.Load8Lane=0]="Load8Lane",o[o.Load16Lane=1]="Load16Lane",o[o.Load32Lane=2]="Load32Lane",o[o.Load64Lane=3]="Load64Lane",o[o.Store8Lane=4]="Store8Lane",o[o.Store16Lane=5]="Store16Lane",o[o.Store32Lane=6]="Store32Lane",o[o.Store64Lane=7]="Store64Lane",o))(vp||{}),Sp=(c=>(c[c.Bitselect=0]="Bitselect",c[c.RelaxedMaddF32x4=1]="RelaxedMaddF32x4",c[c.RelaxedNmaddF32x4=2]="RelaxedNmaddF32x4",c[c.RelaxedMaddF64x2=3]="RelaxedMaddF64x2",c[c.RelaxedNmaddF64x2=4]="RelaxedNmaddF64x2",c[c.RelaxedLaneselectI8x16=5]="RelaxedLaneselectI8x16",c[c.RelaxedLaneselectI16x8=6]="RelaxedLaneselectI16x8",c[c.RelaxedLaneselectI32x4=7]="RelaxedLaneselectI32x4",c[c.RelaxedLaneselectI64x2=8]="RelaxedLaneselectI64x2",c[c.RelaxedDotI8x16I7x16AddToI32x4=9]="RelaxedDotI8x16I7x16AddToI32x4",c))(Sp||{}),By=(r=>(r[r.NonNull=0]="NonNull",r[r.ExternInternalize=1]="ExternInternalize",r[r.ExternExternalize=2]="ExternExternalize",r))(By||{}),Py=(n=>(n[n.Null=0]="Null",n[n.NonNull=1]="NonNull",n[n.Cast=2]="Cast",n[n.CastFail=3]="CastFail",n))(Py||{}),Ny=(p=>(p[p.UTF8=0]="UTF8",p[p.WTF8=1]="WTF8",p[p.LossyUTF8=2]="LossyUTF8",p[p.WTF16=3]="WTF16",p[p.UTF8Array=4]="UTF8Array",p[p.WTF8Array=5]="WTF8Array",p[p.LossyUTF8Array=6]="LossyUTF8Array",p[p.WTF16Array=7]="WTF16Array",p[p.FromCodePoint=8]="FromCodePoint",p))(Ny||{}),Ly=(s=>(s[s.UTF8=0]="UTF8",s[s.WTF8=1]="WTF8",s[s.WTF16=2]="WTF16",s[s.IsUSV=3]="IsUSV",s[s.WTF16View=4]="WTF16View",s))(Ly||{}),My=(o=>(o[o.UTF8=0]="UTF8",o[o.LossyUTF8=1]="LossyUTF8",o[o.WTF8=2]="WTF8",o[o.WTF16=3]="WTF16",o[o.UTF8Array=4]="UTF8Array",o[o.LossyUTF8Array=5]="LossyUTF8Array",o[o.WTF8Array=6]="WTF8Array",o[o.WTF16Array=7]="WTF16Array",o))(My||{}),Gy=(e=>(e[e.Equal=0]="Equal",e[e.Compare=1]="Compare",e))(Gy||{}),zy=(r=>(r[r.WTF8=0]="WTF8",r[r.WTF16=1]="WTF16",r[r.Iter=2]="Iter",r))(zy||{}),Uy=(e=>(e[e.Advance=0]="Advance",e[e.Rewind=1]="Rewind",e))(Uy||{}),Vy=(e=>(e[e.WTF8=0]="WTF8",e[e.WTF16=1]="WTF16",e))(Vy||{}),hl=(r=>(r[r.Default=0]="Default",r[r.PreserveSideeffects=1]="PreserveSideeffects",r[r.TraverseCalls=2]="TraverseCalls",r))(hl||{}),fi=class{constructor(i,e){this.buffer=i;this.offset=e}},Ot=class t{constructor(i,e,r){this.ref=i;this.useShadowStack=e;this.sizeType=r;this.hasTemporaryFunction=!1;this.cachedStringsToPointers=new Map;this.cachedPointersToStrings=new Map;assert(r==P.I32||r==P.I64),this.lit=it(Ol())}static create(i,e){return new t(i_(),i,e)}static createFrom(i,e,r){let n=Tn(i),s=new t(Am(n,i.length),e,r);return J(changetype(n)),s}i32(i){let e=this.lit;return s_(e,i),Or(this.ref,e)}i64(i,e=0){let r=this.lit;return a_(r,i,e),Or(this.ref,r)}usize(i){return i64_is(i)?this.sizeType==P.I64?this.i64(i64_low(i),i64_high(i)):(assert(i64_is_u32(i)),this.i32(i64_low(i))):this.sizeType==P.I64?this.i64(i32(i)):this.i32(i32(i))}f32(i){let e=this.lit;return l_(e,i),Or(this.ref,e)}f64(i){let e=this.lit;return o_(e,i),Or(this.ref,e)}v128(i){assert(i.length==16);let e=this.lit;for(let r=0;r<16;++r)we(e+r,unchecked(i[r]));return u_(e,e),Or(this.ref,e)}ref_null(i){return fh(this.ref,i)}ref_eq(i,e){return bh(this.ref,i,e)}string_eq(i,e){return Fu(this.ref,0,i,e)}string_compare(i,e){return Fu(this.ref,1,i,e)}unary(i,e){if(i>128){let r=this.sizeType==P.I64;switch(i){case 129:i=r?1:0;break;case 130:i=r?3:2;break;case 131:i=r?5:4;break;case 132:i=r?21:20;break;default:assert(!1)}}return af(this.ref,i,e)}binary(i,e,r){if(i>202){let n=this.sizeType==P.I64;switch(i){case 203:i=n?25:0;break;case 204:i=n?26:1;break;case 205:i=n?27:2;break;case 206:i=n?28:3;break;case 207:i=n?29:4;break;case 208:i=n?30:5;break;case 209:i=n?31:6;break;case 210:i=n?32:7;break;case 211:i=n?33:8;break;case 212:i=n?34:9;break;case 213:i=n?35:10;break;case 214:i=n?36:11;break;case 215:i=n?37:12;break;case 216:i=n?38:13;break;case 217:i=n?39:14;break;case 218:i=n?40:15;break;case 219:i=n?41:16;break;case 220:i=n?42:17;break;case 221:i=n?43:18;break;case 222:i=n?44:19;break;case 223:i=n?45:20;break;case 224:i=n?46:21;break;case 225:i=n?47:22;break;case 226:i=n?48:23;break;case 227:i=n?49:24;break;default:assert(!1)}}return uf(this.ref,i,e,r)}memory_size(i=B.DefaultMemory,e=!1){let r=this.allocStringCached(i);return D_(this.ref,r,e)}memory_grow(i,e=B.DefaultMemory,r=!1){let n=this.allocStringCached(e);return q_(this.ref,i,n,r)}table_size(i){let e=this.allocStringCached(i);return Sh(this.ref,e)}table_grow(i,e,r=0){let n=this.allocStringCached(i);return Ih(this.ref,n,r,e)}local_get(i,e){return N_(this.ref,i,e)}tostack(i){if(this.useShadowStack){let e=Nt(i);return assert(e==P.I32||e==P.Unreachable),this.call(h.tostack,[i],e)}return i}local_tee(i,e,r,n=-1){return n==-1&&(n=Nt(e)),r&&this.useShadowStack&&(e=this.tostack(e)),M_(this.ref,i,e,n)}global_get(i,e){let r=this.allocStringCached(i);return G_(this.ref,r,e)}table_get(i,e,r){let n=this.allocStringCached(i);return Eh(this.ref,n,e,r)}load(i,e,r,n,s=0,a=i,l=B.DefaultMemory){let o=this.allocStringCached(l);return W_(this.ref,i,e,s,a,n,r,o)}store(i,e,r,n,s=0,a=i,l=B.DefaultMemory){let o=this.allocStringCached(l);return Z_(this.ref,i,s,a,e,r,n,o)}atomic_load(i,e,r,n=0,s=B.DefaultMemory){let a=this.allocStringCached(s);return X_(this.ref,i,n,r,e,a)}atomic_store(i,e,r,n,s=0,a=B.DefaultMemory){let l=this.allocStringCached(a);return Q_(this.ref,i,s,e,r,n,l)}atomic_rmw(i,e,r,n,s,a,l=B.DefaultMemory){let o=this.allocStringCached(l);return Tf(this.ref,i,e,r,n,s,a,o)}atomic_cmpxchg(i,e,r,n,s,a,l=B.DefaultMemory){let o=this.allocStringCached(l);return Sf(this.ref,i,e,r,n,s,a,o)}atomic_wait(i,e,r,n,s=B.DefaultMemory){let a=this.allocStringCached(s);return kf(this.ref,i,e,r,n,a)}atomic_notify(i,e,r=B.DefaultMemory){let n=this.allocStringCached(r);return Bf(this.ref,i,e,n)}atomic_fence(i=null){let e=this.allocStringCached(i);return Lf(this.ref,e)}local_set(i,e,r){return r&&this.useShadowStack&&(e=this.tostack(e)),L_(this.ref,i,e)}global_set(i,e){let r=this.allocStringCached(i);return z_(this.ref,r,e)}table_set(i,e,r){let n=this.allocStringCached(i);return vh(this.ref,n,e,r)}block(i,e,r=P.None){let n=this.allocStringCached(i),s=_e(e),a=__(this.ref,n,s,e.length,r);return J(s),a}flatten(i,e=P.None){let r=i.length;if(r==0)return this.nop();if(r==1){let n=i[0];switch(Q(n)){case 19:case 53:case 23:return n}let s=ie(n);return s!=P.Unreachable&&s!=e?this.unreachable():n}return this.block(null,i,e)}br(i,e=0,r=0){let n=this.allocStringCached(i);return x_(this.ref,n,e,r)}drop(i){return Xl(this.ref,i)}maybeDrop(i){let e=Nt(i);return e!=P.None&&e!=P.Unreachable?Xl(this.ref,i):i}maybeDropCondition(i,e){return bi(i,this.ref)&-21?this.block(null,[this.drop(i),e],ie(e)):e}loop(i,e){let r=this.allocStringCached(i);return g_(this.ref,r,e)}if(i,e,r=0){return h_(this.ref,i,e,r)}nop(){return bf(this.ref)}return(i=0){return gf(this.ref,i)}select(i,e,r,n){return ff(this.ref,r,i,e,n)}switch(i,e,r,n=0){let s=i.length,a=new Array(s);for(let c=0;c=0;--I)J(unchecked(_[I]))}static{this.UNLIMITED_TABLE=-1}addFunctionTable(i,e,r,n,s){let a=this.allocStringCached(i),l=n.length,o=new Array(l);for(let _=0;_=0;--a)J(n[a])}optimize(i,e,r=!1,n=!1){if((i>=3||e>=2)&&(i=4),this.setOptimizeLevel(i),this.setShrinkLevel(e),this.setDebugInfo(r),this.setZeroFilledMemory(n),this.setFastMath(!0),this.clearPassArguments(),i>=2&&e==0?(this.setAlwaysInlineMaxSize(12),this.setFlexibleInlineMaxSize(70),this.setOneCallerInlineMaxSize(200),this.setAllowInliningFunctionsWithLoops(i>=3)):(this.setAlwaysInlineMaxSize(i<=1||e>=2?2:6),this.setFlexibleInlineMaxSize(65),this.setOneCallerInlineMaxSize(80),this.setAllowInliningFunctionsWithLoops(!1)),i>0||e>0){let s=new Array;s.push("duplicate-function-elimination"),s.push("remove-unused-module-elements"),i>=2&&(s.push("once-reduction"),s.push("inlining"),s.push("simplify-globals-optimizing")),(i>=3||e>=1)&&(s.push("rse"),s.push("vacuum"),s.push("code-folding"),s.push("ssa-nomerge"),s.push("local-cse"),s.push("remove-unused-brs"),s.push("remove-unused-names"),s.push("merge-blocks"),s.push("precompute-propagate"),s.push("simplify-globals-optimizing"),s.push("gufa-optimizing"),s.push("dae-optimizing")),i>=3&&(s.push("simplify-locals-nostructure"),s.push("flatten"),s.push("vacuum"),s.push("simplify-locals-notee-nostructure"),s.push("vacuum"),s.push("licm"),s.push("merge-locals"),s.push("reorder-locals")),s.push("optimize-instructions"),(i>=3||e>=1)&&s.push("dce"),s.push("remove-unused-brs"),s.push("remove-unused-names"),i>=3||e>=2?(s.push("inlining"),s.push("precompute-propagate"),s.push("simplify-globals-optimizing")):s.push("precompute"),(i>=2||e>=1)&&s.push("pick-load-signs"),s.push("simplify-locals-notee-nostructure"),s.push("vacuum"),(i>=2||e>=1)&&s.push("local-cse"),s.push("reorder-locals"),s.push("coalesce-locals"),s.push("simplify-locals"),s.push("coalesce-locals"),s.push("reorder-locals"),s.push("vacuum"),(i>=2||e>=1)&&(s.push("rse"),s.push("vacuum")),(i>=3||e>=1)&&(s.push("merge-locals"),s.push("vacuum")),(i>=2||e>=1)&&(s.push("simplify-globals-optimizing"),s.push("simplify-globals-optimizing")),s.push("remove-unused-brs"),s.push("remove-unused-names"),s.push("merge-blocks"),i>=3&&s.push("optimize-instructions"),(i>=2||e>=1)&&(s.push("simplify-globals-optimizing"),s.push("dae-optimizing")),(i>=2||e>=2)&&s.push("inlining-optimizing"),this.getLowMemoryUnused()&&(i>=3||e>=1?s.push("optimize-added-constants-propagate"):s.push("optimize-added-constants")),s.push("duplicate-import-elimination"),i>=2||e>=2?s.push("simplify-globals-optimizing"):(s.push("simplify-globals"),s.push("vacuum")),i>=2&&this.getFeatures()&1024&&(s.push("heap2local"),s.push("merge-locals"),s.push("local-subtyping")),i>=2||e>=1?(s.push("precompute-propagate"),s.push("simplify-globals-optimizing"),s.push("simplify-globals-optimizing")):s.push("precompute"),s.push("directize"),s.push("dae-optimizing"),s.push("inlining-optimizing"),(i>=2||e>=1)&&(s.push("code-folding"),s.push("ssa-nomerge"),s.push("rse"),s.push("code-pushing"),i>=3&&(s.push("simplify-globals"),s.push("vacuum"),s.push("precompute-propagate"),s.push("inlining-optimizing"),s.push("directize"),s.push("dae-optimizing"),s.push("local-cse"),s.push("merge-locals"),s.push("coalesce-locals"),s.push("simplify-locals"),s.push("vacuum"),s.push("inlining"),s.push("precompute-propagate"),s.push("rse"),s.push("vacuum"),s.push("ssa-nomerge"),s.push("simplify-locals"),s.push("coalesce-locals")),s.push("optimize-instructions"),s.push("remove-unused-brs"),s.push("remove-unused-names"),s.push("merge-blocks"),s.push("vacuum"),s.push("simplify-globals-optimizing"),s.push("reorder-globals"),s.push("remove-unused-brs"),s.push("optimize-instructions")),s.push("duplicate-function-elimination"),e>=2&&s.push("merge-similar-functions"),s.push("memory-packing"),s.push("remove-unused-module-elements"),this.runPasses(s)}}validate(){return vm(this.ref)==1}interpret(){wm(this.ref)}toBinary(i=null){assert(Ol()>=Im());let e=this.lit,r=cl(i);Fm(e,this.ref,r);let n=zt(e+0),s=zt(e+4),a=zt(e+8),l=new fl(fx(assert(n),s),Me(a));return r&&J(r),a&&J(a),J(n),l}toText(i=!0){let e=i?km(this.ref,!0):Rm(this.ref),r=Me(e);return e&&J(e),r||""}allocStringCached(i){if(i==null)return 0;let e=this.cachedStringsToPointers;if(e.has(i))return changetype(e.get(i));let r=cl(i);return e.set(i,r),r}readStringCached(i){if(i==0)return null;let e=this.cachedPointersToStrings;if(e.has(i))return changetype(e.get(i));let r=Me(i);return e.set(i,r),r}dispose(){assert(this.ref);for(let i=Map_values(this.cachedStringsToPointers),e=0,r=i.length;e=0?this.indexes[r]=n:(this.values.push(i),this.indexes.push(n))}addCase(i,e){this.values.push(i),this.indexes.push(this.addCode(e))}addCode(i){let e=this.cases,r=e.indexOf(i);return r<0&&(r=e.length,e.push(i)),r}addDefault(i){assert(this.defaultIndex==-1);let e=this.cases;this.defaultIndex=e.length,e.push(i)}render(i,e=""){let r=this.module,n=this.cases,s=n.length;if(!s)return r.drop(this.condition);let a=this.values,l=a.length,o=this.indexes,p=new Array(1+l+1),c=new Array(s);for(let S=0;S(E[E.None=0]="None",E[E.Branches=1]="Branches",E[E.Calls=2]="Calls",E[E.ReadsLocal=4]="ReadsLocal",E[E.WritesLocal=8]="WritesLocal",E[E.ReadsGlobal=16]="ReadsGlobal",E[E.WritesGlobal=32]="WritesGlobal",E[E.ReadsMemory=64]="ReadsMemory",E[E.WritesMemory=128]="WritesMemory",E[E.ReadsTable=256]="ReadsTable",E[E.WritesTable=512]="WritesTable",E[E.ImplicitTrap=1024]="ImplicitTrap",E[E.IsAtomic=2048]="IsAtomic",E[E.Throws=4096]="Throws",E[E.DanglingPop=8192]="DanglingPop",E[E.TrapsNeverHappen=16384]="TrapsNeverHappen",E[E.Any=32767]="Any",E))(Pp||{});function bi(t,i){return Mm(t,i)}function gl(t,i){return(bi(t,i)&-21)!=0}function Tn(t){if(!t)return 0;let i=t.length,e=it(i);for(let r=0;r>>0;n<=127?i+=1:n<=2047?i+=2:ti(n)&&e+1>>0,r=e;if(i==t.length)for(let n=0,s=t.length;n>>0;we(r++,a)}else for(let n=0,s=t.length;n>>0,l;a<=127?we(r++,a):a<=2047?(we(r++,192|a>>>6),we(r++,128|a&63)):ti(a)&&n+1>>18),we(r++,128|a>>>12&63),we(r++,128|a>>>6&63),we(r++,128|a&63)):(we(r++,224|a>>>12),we(r++,128|a>>>6&63),we(r++,128|a&63))}return we(r,0),e}function fx(t,i){let e=new Uint8Array(i);for(let r=0;r>>10),i.push(ei|a&1023)}}return String.fromCharCodes(i)}var fl=class{constructor(i,e){this.output=i;this.sourceMap=e}},vt=!1;function Pn(t){if(t==u.void)return P.None;let i=qy(t);if(i)return i;let e=t;if(t=t.nonNullableType,i=t.ref)return ae(nr(i),e.is(512));ASC_TARGET&&assert(sizeof()==4);let r=Km(0),n=new Map;qt(r,n,t);let s=Ms(r),a=it(max(4*s,8));if(!Xm(r,a,a,a+4)){let l=zt(a),o=zt(a+4);throw J(a),new Error(`type builder error at index ${l}: ${dp.toString(o)}`)}for(let l=Map_keys(n),o=0,p=l.length;o1){let g=_e(o);f=ju(t,g,o.length),J(g)}else f=o.length?o[0]:P.None;let d;if(p.length>1){let g=_e(p);d=ju(t,g,p.length),J(g)}else d=p[0];return vt&&console.log(` concretize [${a}]: ${e.toString()}`),Hm(t,a,f,d),l}throw new Error(`unexpected complex type: ${e.toString()}`)}var xl=(R=>(R[R.None=0]="None",R[R.Returns=1]="Returns",R[R.ReturnsWrapped=2]="ReturnsWrapped",R[R.ReturnsNonNull=4]="ReturnsNonNull",R[R.Throws=8]="Throws",R[R.Breaks=16]="Breaks",R[R.Continues=32]="Continues",R[R.AccessesThis=64]="AccessesThis",R[R.CallsSuper=128]="CallsSuper",R[R.Terminates=256]="Terminates",R[R.ConditionallyReturns=512]="ConditionallyReturns",R[R.ConditionallyThrows=1024]="ConditionallyThrows",R[R.ConditionallyBreaks=2048]="ConditionallyBreaks",R[R.ConditionallyContinues=4096]="ConditionallyContinues",R[R.ConditionallyAccessesThis=8192]="ConditionallyAccessesThis",R[R.MayReturnNonThis=16384]="MayReturnNonThis",R[R.UncheckedContext=32768]="UncheckedContext",R[R.CtorParamContext=65536]="CtorParamContext",R[R.AnyCategorical=511]="AnyCategorical",R[R.AnyConditional=15872]="AnyConditional",R))(xl||{}),Nn=(s=>(s[s.None=0]="None",s[s.Constant=1]="Constant",s[s.Wrapped=2]="Wrapped",s[s.NonNull=4]="NonNull",s[s.Initialized=8]="Initialized",s))(Nn||{}),Np=(e=>(e[e.None=0]="None",e[e.Initialized=1]="Initialized",e))(Np||{}),Lp=(r=>(r[r.Unknown=0]="Unknown",r[r.True=1]="True",r[r.False=2]="False",r))(Lp||{}),St=class t{constructor(i,e=null){this.targetFunction=i;this.inlineFunction=e;this.parent=null;this.outer=null;this.flags=0;this.continueLabel=null;this.breakLabel=null;this.scopedLocals=null;this.scopedTypeAlias=null;this.localFlags=[];this.thisFieldFlags=null;this.inlineReturnLabel=null;this.trueFlows=null;this.falseFlows=null}static createDefault(i){let e=new t(i);return i.is(524288)&&e.initThisFieldFlags(),i.program.options.uncheckedBehavior===2&&e.set(32768),e}static createInline(i,e){let r=new t(i,e);return r.inlineReturnLabel=`${e.internalName}|inlined.${e.nextInlineId++}`,e.is(524288)&&r.initThisFieldFlags(),i.program.options.uncheckedBehavior===2&&r.set(32768),r}get isInline(){return this.inlineFunction!=null}get sourceFunction(){let i=this.inlineFunction;return i||this.targetFunction}get program(){return this.targetFunction.program}get returnType(){return this.sourceFunction.signature.returnType}get contextualTypeArguments(){return this.sourceFunction.contextualTypeArguments}is(i){return(this.flags&i)==i}isAny(i){return(this.flags&i)!=0}set(i){this.flags|=i}unset(i){this.flags&=~i}deriveConditionalFlags(){let i=this.flags&15872;return this.is(1)&&(i|=512),this.is(8)&&(i|=1024),this.is(16)&&(i|=2048),this.is(32)&&(i|=4096),this.is(64)&&(i|=8192),i}fork(i=!1,e=i){let r=new t(this.targetFunction,this.inlineFunction);if(r.parent=this,r.flags=this.flags,r.outer=this.outer,i?r.flags&=-2065:r.breakLabel=this.breakLabel,e?r.flags&=-4129:r.continueLabel=this.continueLabel,r.localFlags=this.localFlags.slice(),this.sourceFunction.is(524288)){let n=assert(this.thisFieldFlags);r.thisFieldFlags=pe(n)}else assert(!this.thisFieldFlags);return r.inlineReturnLabel=this.inlineReturnLabel,r}forkThen(i,e=!1,r=e){let n=this.fork(e,r),s=this.trueFlows;return s&&s.has(i)&&n.inherit(changetype(s.get(i))),n.inheritNonnullIfTrue(i),n}noteThen(i,e){let r=this.trueFlows;r||(this.trueFlows=r=new Map),r.set(i,e)}forkElse(i){let e=this.fork(),r=this.falseFlows;return r&&r.has(i)&&e.inherit(changetype(r.get(i))),e.inheritNonnullIfFalse(i),e}noteElse(i,e){let r=this.falseFlows;r||(this.falseFlows=r=new Map),r.set(i,e)}addScopedTypeAlias(i,e){let r=this.scopedTypeAlias;r||(this.scopedTypeAlias=r=new Map),r.set(i,e)}lookupScopedTypeAlias(i){let e=this;do{let r=e.scopedTypeAlias;if(r&&r.has(i))return assert(r.get(i));e=e.parent}while(e);return null}lookupTypeAlias(i){let e=null;if(e=this.lookupScopedTypeAlias(i))return e;let r=this.sourceFunction.parent;return r.kind==5?r.flow.lookupTypeAlias(i):null}getTempLocal(i){let e=this.targetFunction.addLocal(i);return this.unsetLocalFlag(e.index,-1),e}getScopedLocal(i){let e=this.scopedLocals;return e&&e.has(i)?assert(e.get(i)):null}addScopedLocal(i,e){let r=this.getTempLocal(e);r.name=i,r.internalName=Pe(i,r.parent,!1);let n=this.scopedLocals;return n?assert(!n.has(i)):this.scopedLocals=n=new Map,r.set(67108864),n.set(i,r),r}addScopedDummyLocal(i,e,r){let n=new ze(i,-1,e,this.targetFunction),s=this.scopedLocals;return s?s.has(i)&&this.program.error(2451,r.range,i):this.scopedLocals=s=new Map,n.set(67108864),s.set(i,n),n}addScopedAlias(i,e,r,n=null){let s=this.scopedLocals;if(!s)this.scopedLocals=s=new Map;else if(s.has(i)){let l=assert(s.get(i));return n&&(l.declaration.range.source.isNative?this.program.error(2300,n.range,i):this.program.errorRelated(2300,n.range,l.declaration.name.range,i)),l}assert(r=e),a.length=e,this.localFlags.length>e&&(this.localFlags.length=e)),l}isNonnull(i,e){if(!e.isNullableReference)return!0;switch(Q(i)){case 9:{if(!In(i))break;let r=this.targetFunction.localsByIndex[dl(i)];return!r.type.isNullableReference||this.isLocalFlag(r.index,4,!1)}case 8:{let r=this.targetFunction.localsByIndex[lt(i)];return!r.type.isNullableReference||this.isLocalFlag(r.index,4,!1)}}return!1}inheritNonnullIfTrue(i,e=null){switch(Q(i)){case 9:{if(!In(i))break;let r=this.targetFunction.localsByIndex[dl(i)];(!e||e.isLocalFlag(r.index,4))&&this.setLocalFlag(r.index,4),this.inheritNonnullIfTrue(gr(i),e);break}case 8:{let r=this.targetFunction.localsByIndex[lt(i)];(!e||e.isLocalFlag(r.index,4))&&this.setLocalFlag(r.index,4);break}case 2:{let r=gi(i);r&&Fe(r)&&(this.inheritNonnullIfTrue(yl(i),e),this.inheritNonnullIfTrue(Cn(i),e));break}case 15:{switch(Rn(i)){case 20:case 21:{this.inheritNonnullIfFalse(ml(i),e);break}}break}case 16:{switch(yi(i)){case 15:case 40:{let r=He(i),n=Be(i);et(r)?this.inheritNonnullIfTrue(n,e):et(n)&&this.inheritNonnullIfTrue(r,e);break}case 16:case 41:{let r=He(i),n=Be(i);Fe(r)?this.inheritNonnullIfTrue(n,e):Fe(n)&&this.inheritNonnullIfTrue(r,e);break}}break}case 6:{let r=Bn(i);if(r==h.String_eq){assert(ot(i)==2);let n=Ge(i,0),s=Ge(i,1);et(n)?this.inheritNonnullIfTrue(s,e):et(s)&&this.inheritNonnullIfTrue(n,e)}else if(r==h.String_ne){assert(ot(i)==2);let n=Ge(i,0),s=Ge(i,1);Fe(n)?this.inheritNonnullIfTrue(s,e):Fe(s)&&this.inheritNonnullIfTrue(n,e)}else r==h.String_not?(assert(ot(i)==1),this.inheritNonnullIfFalse(Ge(i,0),e)):r==h.tostack&&(assert(ot(i)==1),this.inheritNonnullIfTrue(Ge(i,0),e));break}}}inheritNonnullIfFalse(i,e=null){switch(Q(i)){case 15:{switch(Rn(i)){case 20:case 21:{this.inheritNonnullIfTrue(ml(i),e);break}}break}case 2:{let r=Cn(i);gi(i)&&et(r)&&(this.inheritNonnullIfFalse(yl(i),e),this.inheritNonnullIfFalse(gi(i),e));break}case 16:{switch(yi(i)){case 15:case 40:{let r=He(i),n=Be(i);Fe(r)?this.inheritNonnullIfTrue(n,e):Fe(n)&&this.inheritNonnullIfTrue(r,e);break}case 16:case 41:{let r=He(i),n=Be(i);et(r)?this.inheritNonnullIfTrue(n,e):et(n)&&this.inheritNonnullIfTrue(r,e);break}}break}case 6:{let r=Bn(i);if(r==h.String_eq){assert(ot(i)==2);let n=Ge(i,0),s=Ge(i,1);Fe(n)?this.inheritNonnullIfTrue(s,e):Fe(s)&&this.inheritNonnullIfTrue(n,e)}else if(r==h.String_ne){assert(ot(i)==2);let n=Ge(i,0),s=Ge(i,1);et(n)?this.inheritNonnullIfTrue(s,e):et(s)&&this.inheritNonnullIfTrue(n,e)}else r==h.String_not?(assert(ot(i)==1),this.inheritNonnullIfTrue(Ge(i,0),e)):r==h.tostack&&(assert(ot(i)==1),this.inheritNonnullIfFalse(Ge(i,0),e));break}}}canOverflow(i,e){if(!e.isShortIntegerValue)return!1;let r;switch(Q(i)){case 8:{let n=this.targetFunction.localsByIndex[lt(i)];return!this.isLocalFlag(n.index,2,!0)||bl(n.type,e)}case 9:return assert(In(i)),this.canOverflow(gr(i),e);case 10:{let n=assert(this.program.elementsByName.get(assert(Fn(i))));return assert(n.kind==0||n.kind==3),bl(n.type,e)}case 16:{switch(yi(i)){case 15:case 40:case 57:case 70:case 16:case 41:case 58:case 71:case 17:case 18:case 42:case 43:case 59:case 72:case 19:case 20:case 44:case 45:case 60:case 73:case 21:case 22:case 46:case 47:case 61:case 74:case 23:case 24:case 48:case 49:case 62:case 75:return!1;case 2:return!(Q(r=He(i))==14&&(ee(r)==0||ee(r)==1&&!this.canOverflow(Be(i),e))||Q(r=Be(i))==14&&(ee(r)==0||ee(r)==1&&!this.canOverflow(He(i),e)));case 7:return!(Q(r=He(i))==14&&ee(r)<=e.computeSmallIntegerMask(u.i32)||!this.canOverflow(r,e)||Q(r=Be(i))==14&&ee(r)<=e.computeSmallIntegerMask(u.i32)||!this.canOverflow(r,e));case 10:{let n=32-e.size;return Q(r=Be(i))!=14||ee(r)n):this.canOverflow(He(i),e)&&!(Q(r=Be(i))==14&&ee(r)>=n)}case 4:case 5:case 6:return this.canOverflow(He(i),e)||this.canOverflow(Be(i),e)}break}case 15:{switch(Rn(i)){case 20:case 21:return!1;case 0:case 2:case 4:return e.size<7;case 47:return e.size<(e.isUnsignedIntegerValue?32:8);case 49:return e.size<(e.isUnsignedIntegerValue?64:8);case 48:return e.size<(e.isUnsignedIntegerValue?32:16);case 50:return e.size<(e.isUnsignedIntegerValue?64:16);case 51:return e.size<(e.isUnsignedIntegerValue?64:32)}break}case 14:{let n=0;switch(ie(i)){case P.I32:{n=ee(i);break}case P.I64:{n=Ee(i);break}case P.F32:{n=i32(ge(i));break}case P.F64:{n=i32(be(i));break}case P.V128:return!1;default:assert(!1)}switch(e.kind){case 0:return(n&-2)!=0;case 1:return ni8.MAX_VALUE;case 2:return ni16.MAX_VALUE;case 6:return n<0||n>u8.MAX_VALUE;case 7:return n<0||n>u16.MAX_VALUE}break}case 12:{let n,s=kp(i);switch(Rp(i)){case 1:{n=s?u.i8:u.u8;break}case 2:{n=s?u.i16:u.u16;break}default:{n=s?u.i32:u.u32;break}}return bl(n,e)}case 1:{if(!kn(i)){let n=assert(An(i)),s=wn(i,n-1);return this.canOverflow(s,e)}break}case 2:return this.canOverflow(Cn(i),e)||this.canOverflow(assert(gi(i)),e);case 17:return this.canOverflow(Ap(i),e)||this.canOverflow(wp(i),e);case 6:{let s=this.program.instancesByName,a=assert(Bn(i));if(s.has(a)){let l=assert(s.get(a));assert(l.kind==5);let o=l,p=o.signature.returnType;return!o.flow.is(2)||bl(p,e)}return!1}case 23:return!1}return!0}toString(){let i=0,e=this.parent;for(;e;)e=e.parent,++i;let r=new Array;return this.is(1)&&r.push("RETURNS"),this.is(2)&&r.push("RETURNS_WRAPPED"),this.is(4)&&r.push("RETURNS_NONNULL"),this.is(8)&&r.push("THROWS"),this.is(16)&&r.push("BREAKS"),this.is(32)&&r.push("CONTINUES"),this.is(64)&&r.push("ACCESSES_THIS"),this.is(128)&&r.push("CALLS_SUPER"),this.is(256)&&r.push("TERMINATES"),this.is(512)&&r.push("CONDITIONALLY_RETURNS"),this.is(1024)&&r.push("CONDITIONALLY_THROWS"),this.is(2048)&&r.push("CONDITIONALLY_BREAKS"),this.is(4096)&&r.push("CONDITIONALLY_CONTINUES"),this.is(8192)&&r.push("CONDITIONALLY_ACCESSES_THIS"),this.is(16384)&&r.push("MAY_RETURN_NONTHIS"),`Flow(${this.sourceFunction})[${i}] ${r.join(" ")}`}};function bl(t,i){return i.isShortIntegerValue&&(!t.isIntegerValue||t.size>i.size||t.isSignedIntegerValue!=i.isSignedIntegerValue)}var Sl=(e=>(e[e.Report=0]="Report",e[e.Swallow=1]="Swallow",e))(Sl||{}),Ln=class extends qe{constructor(e){super(e.diagnostics);this.currentThisExpression=null;this.currentElementExpression=null;this.discoveredOverride=!1;this.resolvingExpressions=new Set;this.resolveClassPending=new Set;this.program=e}resolveType(e,r,n,s=null,a=0){if(e.currentlyResolving)return this.error(100,e.range,"Recursive types"),null;e.currentlyResolving=!0;let l=null;switch(e.kind){case 1:{l=this.resolveNamedType(e,r,n,s,a);break}case 2:{l=this.resolveFunctionType(e,r,n,s,a);break}default:assert(!1)}return e.currentlyResolving=!1,l}resolveNamedType(e,r,n,s=null,a=0){let l=e.name,o=e.typeArguments,p=!l.next;if(p){let f=l.identifier.text;if(s&&s.has(f)){let d=assert(s.get(f));if(o&&o.length>0&&a==0&&this.error(2315,e.range,d.toString()),e.isNullable){if(d.isReference)return d.asNullable();a==0&&this.error(204,e.range,d.toString())}return d}}let c=this.resolveTypeName(l,r,n,a);if(!c)return null;let _=c.shadowType;if(_)c=_;else{if(c.kind==2)return o&&o.length>0&&a==0&&this.error(2315,e.range,c.internalName),e.isNullable&&a==0&&this.error(204,e.range,`${c.name}/i32`),u.i32;if(c.kind==6||c.kind==8){let f=this.resolveClassInclTypeArguments(c,o,r,n,pe(s),e,a);return f?e.isNullable?f.type.asNullable():f.type:null}}if(c.kind==14){let f=c;if(c.is(4194304)){o&&o.length>0&&a==0&&this.error(2315,e.range,c.internalName);let T=f.type;if(e.isNullable){if(T.isReference)return T.asNullable();a==0&&this.error(204,l.range,l.identifier.text)}return T}if(p){let T=l.identifier.text;if(T==B.native)return this.resolveBuiltinNativeType(e,n,s,a);if(T==B.indexof)return this.resolveBuiltinIndexofType(e,n,s,a);if(T==B.valueof)return this.resolveBuiltinValueofType(e,n,s,a);if(T==B.returnof)return this.resolveBuiltinReturnTypeType(e,n,s,a);if(T==B.nonnull)return this.resolveBuiltinNotNullableType(e,n,s,a)}let d=f.typeParameterNodes,g=null;if(d){if(g=this.resolveTypeArguments(d,o,r,n,s=pe(s),e,a),!g)return null}else o&&o.length>0&&this.error(2315,e.range,l.identifier.text);let S=this.resolveType(f.typeNode,r,c,s,a);if(!S)return null;if(e.isNullable){if(S.isReference)return S.asNullable();a==0&&this.error(204,l.range,l.identifier.text)}return S}return a==0&&this.error(2304,l.range,l.identifier.text),null}resolveFunctionType(e,r,n,s=null,a=0){let l=e.explicitThisType,o=null;if(l&&(o=this.resolveType(l,r,n,s,a),!o))return null;let p=e.parameters,c=p.length,_=new Array(c),f=0,d=!1;for(let E=0;Ec)return o==0&&this.error(2558,_?le.join(r[0].range,r[_-1].range):l.range,(_0){let p=r.classReference;if(p){let c=this.resolveTypeName(l.name,null,n);if(!c||c.kind!=6)return;if(p.prototype==c){let _=p.typeArguments;if(_&&_.length==o.length){for(let f=0,d=_.length;f1)++c;else{let g=this.resolveExpression(d,r,p);if(!g)return null;if(p==u.auto)p=g;else if(g!=p){let S=u.commonType(p,g,p);S&&(p=S)}}}if(p==u.auto)if(c==o)p=this.program.options.usizeType;else return s==0&&this.error(2453,e.range,"T"),null;return c>0&&p.isInternalReference&&(p=p.asNullable()),assert(this.resolveClass(this.program.arrayPrototype,[p]))}case 6:return n.isClass?n.classReference:(s==0&&this.error(225,e.range),null)}return assert(!1),null}resolveLiteralExpression(e,r,n=u.auto,s=0){let a=this.lookupLiteralExpression(e,r,n,s);if(!a)return null;let l=this.getTypeOfElement(a);return l||s==0&&this.error(225,e.range),l}lookupCallExpression(e,r,n=u.void,s=0){let a=this.resolveCallExpression(e,r,n,s);if(!a)return null;let l=this.getElementOfType(a);return l||s==0&&this.error(214,e.range,a.toString()),l}resolveCallExpression(e,r,n=u.void,s=0){let a=e.expression,l=this.lookupExpression(a,r,n,s);if(!l)return null;switch(l.kind){case 4:{let o=l;if(o.internalName==h.unchecked&&e.args.length>0)return this.resolveExpression(e.args[0],r,n,s);let p=this.maybeInferCall(e,o,r,s);if(!p)return null;l=p}case 5:return l.signature.returnType;case 10:{let o=this.resolveProperty(l,s);if(!o)return null;l=o}default:{if(!El(l.kind))break;let o=this.getElementOfType(l.type);if(!o||o.kind!=7)break;l=o}case 7:{let o=l.getTypeArgumentsTo(this.program.functionPrototype);if(!(o&&o.length))break;return assert(o[0].getSignature()).returnType}}return s==0&&this.error(2349,a.range,l.internalName),null}lookupCommaExpression(e,r,n=u.auto,s=0){let a=e.expressions;return this.lookupExpression(a[assert(a.length)-1],r,n,s)}resolveCommaExpression(e,r,n=u.auto,s=0){let a=e.expressions;return this.resolveExpression(a[assert(a.length)-1],r,n,s)}lookupInstanceOfExpression(e,r,n=u.auto,s=0){return assert(u.bool.getClassOrWrapper(this.program))}resolveInstanceOfExpression(e,r,n=u.auto,s=0){return u.bool}lookupTernaryExpression(e,r,n,s=0){let a=this.resolveTernaryExpression(e,r,n,s);if(!a)return null;let l=this.getElementOfType(a);return l||s==0&&this.error(214,e.range,a.toString()),l}resolveTernaryExpression(e,r,n,s=0){let a=this.resolveExpression(e.ifThen,r,n,s);if(!a)return null;let l=this.resolveExpression(e.ifElse,r,a,s);if(!l)return null;let o=u.commonType(a,l,n);return o||s==0&&this.error(2365,e.range,"?:",a.toString(),l.toString()),o}lookupNewExpression(e,r,n,s=0){let a=this.resolveTypeName(e.typeName,r,r.sourceFunction,s);return a?a.kind==6?this.resolveClassInclTypeArguments(a,e.typeArguments,r,r.sourceFunction,pe(r.contextualTypeArguments),e,s):(s==0&&this.error(2351,e.range),null):null}resolveNewExpression(e,r,n,s=0){let a=this.lookupNewExpression(e,r,n,s);if(!a)return null;let l=this.getTypeOfElement(a);return l||s==0&&this.error(225,e.range),l}lookupFunctionExpression(e,r,n,s=0){let a=this.resolveFunctionExpression(e,r,n,s);if(!a)return null;let l=this.getElementOfType(a);return l||s==0&&this.error(214,e.range,a.toString()),l}resolveFunctionExpression(e,r,n,s=0){let a=e.declaration,l=a.signature,o=a.body,p=this.resolveType(l,null,r.sourceFunction,r.contextualTypeArguments,s);if(p&&a.arrowKind!=0&&o&&o.kind==38&&Ie(l.returnType)){let c=o.expression,_=assert(p.getSignature()),f=St.createDefault(r.sourceFunction),d=l.parameters;assert(_.parameterTypes.length==d.length);for(let S=0,T=d.length;S0){assert(p&&c==p.length);for(let C=0;C`);let R=new ct(I,e,r,F,n);if(e.setResolvedInstance(l,R),a){let C=R.declaration.name.text,N=a.base;if(N){let D=N.getMember(C);if(D){this.discoveredOverride=!0;let K=!0;if(R.isAny(6144)){if(D.kind==10){let V=this.resolveProperty(D,s);if(V)if(R.is(2048)){let O=V.getterInstance;O&&R.signature.isAssignableTo(O.signature,!0)&&(K=!1)}else{assert(R.is(4096));let O=V.setterInstance;O&&R.signature.isAssignableTo(O.signature,!0)&&(K=!1)}}}else if(R.is(524288))K=!1;else if(D.kind==4){let V=D,O=this.resolveFunction(V,r,new Map,1);O&&R.signature.isAssignableTo(O.signature,!0)&&(K=!1)}K&&this.errorRelated(2394,R.identifierAndSignatureRange,D.identifierAndSignatureRange)}}}return R}resolveFunctionInclTypeArguments(e,r,n,s,a,l=0){let o=null;if(e.is(65536)){if(e.is(262144)){let p=assert(e.getBoundClassOrInterface()),c=p.typeArguments;if(c){let _=assert(p.prototype.typeParameterNodes),f=c.length;assert(f==_.length);for(let d=0;d0)return l==0&&this.error(2315,a.range,e.internalName),null;return this.resolveFunction(e,o,s,l)}resolveOverrides(e){let r=e.prototype.unboundOverrides;if(!r)return null;let n=assert(e.getBoundClassOrInterface()),s=new Set;for(let a=Set_values(r),l=0,o=a.length;l`),e.kind==8?l=new zn(o,e,r):l=new Kt(o,e,r),e.setResolvedInstance(a,l);let p=this.resolveClassPending;if(p.add(l),r){let d=assert(e.typeParameterNodes),g=d.length,S=r.length;assert(S==g);for(let T=0;T0))}l.contextualTypeArguments=n;let c=!1,_=e.basePrototype;if(_){let d=_;do{if(d==e)return this.error(2506,e.identifierNode.range,e.internalName),null;d=d.basePrototype}while(d);let g=assert(e.extendsNode),S=this.resolveClassInclTypeArguments(_,g.typeArguments,null,e.parent,pe(n),g,s);if(!S)return null;l.setBase(S),p.has(S)&&(c=!0)}else e.implicitlyExtendsObject&&l.setBase(this.program.objectInstance);let f=e.interfacePrototypes;if(f)for(let d=0,g=f.length;d0)for(let d=Map_keys(a),g=0,S=d.length;g0)return o==0&&this.error(2315,l.range,e.internalName),null;return this.resolveClass(e,p,a,o)}resolveProperty(e,r=0){let n=e.instance;if(n)return n;e.instance=n=new Mn(e,e.parent);let s=e.getterPrototype;if(s){let l=this.resolveFunction(s,null,new Map,r);l&&(n.getterInstance=l,n.setType(l.signature.returnType))}let a=e.setterPrototype;if(a){let l=this.resolveFunction(a,null,new Map,r);l&&(n.setterInstance=l,n.is(4194304)||(assert(l.signature.parameterTypes.length==1),n.setType(l.signature.parameterTypes[0])))}return n.checkVisibility(this),n}ensureOneTypeArgument(e,r=0){let n=e.typeArguments,s=0;return!n||(s=n.length)!=1?(r==0&&this.error(2558,e.range,"1",s.toString()),null):n[0]}};var Un=class{constructor(i,e){this.source=i;this.reportNode=e}},Vn=class extends qe{constructor(e=null,r=[]){super(e);this.backlog=new Array;this.seenlog=new Set;this.donelog=new Set;this.onComment=null;this.currentSource=null;this.dependees=new Map;this.currentModuleName=null;this.tryParseSignatureIsSignature=!1;this.parseParametersThis=null;this.sources=r}parseFile(e,r,n){let s=fr(r),a=bn(s);if(this.donelog.has(a))return;if(this.donelog.add(a),this.seenlog.add(a),e==null){let c=this.dependees,_=null;c.has(a)&&(_=assert(c.get(a))),this.error(6054,_?_.reportNode.range:null,r);return}let l=new fe(n?1:r.startsWith(nt)?r.indexOf(Ye,nt.length)<0?3:2:0,s,e);this.sources.push(l),this.currentSource=l,this.currentModuleName=null;let o=new xn(l,this.diagnostics);o.onComment=this.onComment;let p=l.statements;for(;!o.skip(121);){let c=this.parseTopLevelStatement(o,null);c?p.push(c):this.skipStatement(o)}}parseTopLevelStatement(e,r=null){let n=r?r.flags&32768:0,s=-1,a=null;for(;e.skip(114);){s<0&&(s=e.tokenPos);let T=this.parseDecorator(e);if(!T){this.skipStatement(e);continue}a?a.push(T):a=[T]}let l=0,o=0,p=0,c=0;e.skip(18)&&(s<0&&(s=e.tokenPos),n|=2,l=e.tokenPos,o=e.pos,e.skip(13)&&(p=e.tokenPos,c=e.pos));let _=0,f=0,d=r!=null&&r.is(32768);e.skip(12)?d?this.error(1038,e.range()):(s<0&&(s=e.tokenPos),_=s,f=e.pos,n|=32772):d&&(n|=32768);let g=null,S=e.peek();switch(s<0&&(s=e.nextTokenPos),S){case 8:{e.next(),n|=8,e.skip(17)?g=this.parseEnum(e,n,a,s):g=this.parseVariable(e,n,a,s),a=null;break}case 34:n|=16;case 57:{e.next(),g=this.parseVariable(e,n,a,s),a=null;break}case 17:{e.next(),g=this.parseEnum(e,n,a,s),a=null;break}case 24:{e.next(),g=this.parseFunction(e,n,a,s),a=null;break}case 0:{let T=e.mark();e.next();let E=e.tokenPos,F=e.pos;if(e.peekOnNewLine()){e.reset(T),g=this.parseStatement(e,!0);break}let I=e.peek();if(I!=7){I==31&&this.error(1242,e.range(E,F)),e.reset(T),g=this.parseStatement(e,!0);break}else e.discard(T);n|=128}case 7:case 31:{e.next(),g=this.parseClassOrInterface(e,n,a,s),a=null;break}case 36:{let T=e.mark();e.next(),e.peek(1)==115?(e.discard(T),g=this.parseNamespace(e,n,a,s),a=null):(e.reset(T),g=this.parseStatement(e,!0));break}case 28:{e.next(),n|=1,n&2?g=this.parseExportImport(e,s):g=this.parseImport(e);break}case 55:{let T=e.mark();e.next(),e.peek(1)==115?(e.discard(T),g=this.parseTypeDeclaration(e,n,a,s),a=null):(e.reset(T),g=this.parseStatement(e,!0));break}case 35:{let T=e.mark();e.next(),e.peek()==116&&!e.peekOnNewLine()?(e.discard(T),g=this.parseModuleDeclaration(e,n)):(e.reset(T),g=this.parseStatement(e,!0));break}default:{n&2?c&&e.skipIdentifier(1)?(f&&this.error(1120,e.range(_,f)),g=this.parseExportDefaultAlias(e,s,p,c),p=c=0):g=this.parseExport(e,s,(n&4)!=0):(o&&this.error(1042,e.range(l,o),"export"),f&&this.error(1042,e.range(_,f),"declare"),r?this.error(2695,e.range(s)):g=this.parseStatement(e,!0));break}}if(a)for(let T=0,E=a.length;T"),null}p||(p=[]),l=L.createNamedType(o,p,!1,e.range(a,e.pos))}else return n||this.error(1110,e.range()),null;for(;e.skip(93);){let o=this.parseType(e,!1,!0);if(!o)return null;let p=l.kind==1&&l.isNull,c=o.kind==1&&o.isNull;if(!p&&!c)return n||this.error(100,o.range,"union types"),null;c?(l.isNullable=!0,l.range.end=o.range.end):p?(o.range.start=l.range.start,o.isNullable=!0,l=o):l.range.end=o.range.end}for(;e.skip(66);){let o=e.tokenPos;if(!e.skip(67))return n||this.error(1005,e.range(),"]"),null;let p=e.range(o,e.pos),c=!1;if(e.skip(93))if(e.skip(38))c=!0;else return n||this.error(100,e.range(),"union types"),null;if(l=L.createNamedType(L.createSimpleTypeName("Array",p),[l],c,e.range(a,e.pos)),c)break}return l}tryParseFunctionType(e){let r=e.mark(),n=e.tokenPos,s=null,a=null,l=!1,o=null,p=0;if(e.skip(65))l=!0,e.discard(r),s=[];else{l=!1;do{let _=-1,f=0;if(e.skip(69)&&(_=e.tokenPos,l=!0,e.discard(r),f=2),e.skip(51))if(_<0&&(_=e.tokenPos),e.skip(100)){l=!0,e.discard(r);let d=this.parseType(e,!1);if(!d)return null;if(d.kind!=1)return this.error(1003,d.range),this.tryParseSignatureIsSignature=!0,null;a=d}else return e.reset(r),this.tryParseSignatureIsSignature=!1,null;else if(e.skipIdentifier()){_<0&&(_=e.tokenPos);let d=L.createIdentifierExpression(e.readIdentifier(),e.range(e.tokenPos,e.pos));if(e.skip(99)&&(l=!0,e.discard(r),f==2?this.error(1047,e.range()):f=1),e.skip(100)){l=!0,e.discard(r);let g=this.parseType(e);if(!g)return this.tryParseSignatureIsSignature=l,null;let S=L.createParameter(f,d,g,null,e.range(_,e.pos));s?s.push(S):s=[S]}else if(l||e.peek()==71&&(l=!0,e.discard(r)),l){let g=L.createParameter(f,d,L.createOmittedType(e.range(e.pos)),null,e.range(_,e.pos));s?s.push(g):s=[g],this.error(1110,g.type.range)}else s||(o=d,p=f)}else{if(l){if(e.peek()==65)break;this.error(1003,e.range())}else e.reset(r);return this.tryParseSignatureIsSignature=l,null}}while(e.skip(71));if(!e.skip(65))return l?this.error(1005,e.range(),")"):e.reset(r),this.tryParseSignatureIsSignature=l,null}let c;if(e.skip(80)){if(!l&&(l=!0,e.discard(r),o)){let _=L.createParameter(p,o,L.createOmittedType(o.range.atEnd),null,o.range);s?s.push(_):s=[_],this.error(1110,_.type.range)}if(c=this.parseType(e),!c)return this.tryParseSignatureIsSignature=l,null}else return l?this.error(1005,e.range(),"=>"):e.reset(r),this.tryParseSignatureIsSignature=l,null;return this.tryParseSignatureIsSignature=!0,s||(s=[]),L.createFunctionType(s,c,a,!1,e.range(n,e.pos))}parseDecorator(e){let r=e.tokenPos;if(e.skipIdentifier()){let n=e.readIdentifier(),s=L.createIdentifierExpression(n,e.range(r,e.pos));for(;e.skip(68);)if(e.skipIdentifier(1))n=e.readIdentifier(),s=L.createPropertyAccessExpression(s,L.createIdentifierExpression(n,e.range()),e.range(r,e.pos));else return this.error(1003,e.range()),null;let a;if(e.skip(64)){if(a=this.parseArguments(e),a)return L.createDecorator(s,a,e.range(r,e.pos))}else return L.createDecorator(s,null,e.range(r,e.pos))}else this.error(1003,e.range());return null}parseVariable(e,r,n,s,a=!1){let l=new Array;do{let p=this.parseVariableDeclaration(e,r,n,a);if(!p)return null;p.overriddenModuleName=this.currentModuleName,l.push(p)}while(e.skip(71));let o=L.createVariableStatement(n,l,e.range(s,e.pos));return!e.skip(70)&&!a&&this.checkASI(e),o}parseVariableDeclaration(e,r,n,s=!1){if(!e.skipIdentifier())return this.error(1003,e.range()),null;let a=L.createIdentifierExpression(e.readIdentifier(),e.range());fp(a.text)&&this.error(1003,a.range);let l=r;e.skip(95)&&(l|=16384);let o=null;e.skip(100)&&(o=this.parseType(e,!0));let p=null;if(e.skip(101)){if(l&32768&&this.error(1039,e.range()),p=this.parseExpression(e,1+1),!p)return null;l&16384&&this.error(1263,p.range)}else s||(l&8?l&32768||this.error(1155,a.range):o||this.error(1110,e.range(e.pos)));let c=le.join(a.range,e.range());return l&16384&&l&32768&&this.error(1255,c),L.createVariableDeclaration(a,n,l,o,p,c)}parseEnum(e,r,n,s){if(e.next()!=115)return this.error(1003,e.range()),null;let a=L.createIdentifierExpression(e.readIdentifier(),e.range());if(e.next()!=62)return this.error(1005,e.range(),"{"),null;let l=new Array;for(;!e.skip(63);){let p=this.parseEnumValue(e,0);if(!p)return null;if(l.push(p),!e.skip(71)){if(e.skip(63))break;return this.error(1005,e.range(),"}"),null}}let o=L.createEnumDeclaration(a,n,r,l,e.range(s,e.pos));return o.overriddenModuleName=this.currentModuleName,e.skip(70),o}parseEnumValue(e,r){if(!e.skipIdentifier())return this.error(1003,e.range()),null;let n=L.createIdentifierExpression(e.readIdentifier(),e.range()),s=null;return e.skip(101)&&(s=this.parseExpression(e,1+1),!s)?null:L.createEnumValueDeclaration(n,r,s,le.join(n.range,e.range()))}parseReturn(e){let r=e.tokenPos,n=null,s=e.peek();if(s!=70&&s!=63&&!e.peekOnNewLine()&&!(n=this.parseExpression(e)))return null;let a=L.createReturnStatement(n,e.range(r,e.pos));return e.skip(70)||this.checkASI(e),a}parseTypeParameters(e){let r=new Array,n=!1,s=e.tokenPos;for(;!e.skip(73);){let a=this.parseTypeParameter(e);if(!a)return null;if(a.defaultType?n=!0:n&&(this.error(2706,a.range),a.defaultType=null),r.push(a),!e.skip(71)){if(e.skip(73))break;return this.error(1005,e.range(),">"),null}}return r.length||this.error(1098,e.range(s,e.pos)),r}parseTypeParameter(e){if(e.next()==115){let r=L.createIdentifierExpression(e.readIdentifier(),e.range()),n=null;if(e.skip(19)){let a=this.parseType(e);if(!a)return null;if(a.kind!=1)return this.error(1003,a.range),null;n=a}let s=null;if(e.skip(101)){let a=this.parseType(e);if(!a)return null;if(a.kind!=1)return this.error(1003,a.range),null;s=a}return L.createTypeParameter(r,n,s,le.join(r.range,e.range()))}else this.error(1003,e.range());return null}parseParameters(e,r=!1){let n=new Array,s=null,a=!1,l=!1,o=null;if(this.parseParametersThis=null,e.skip(51)){if(e.skip(100)){if(o=this.parseType(e),!o)return null;o.kind==1?this.parseParametersThis=o:this.error(1003,o.range)}else return this.error(1005,e.range(),":"),null;if(!e.skip(71))return e.skip(65)?n:(this.error(1005,e.range(),")"),null)}for(;!e.skip(65);){let p=this.parseParameter(e,r);if(!p)return null;switch(s&&!l&&(this.error(1014,s.name.range),l=!0),p.parameterKind){default:{a&&this.error(1016,p.name.range);break}case 1:{a=!0;break}case 2:{s=p;break}}if(n.push(p),!e.skip(71)){if(e.skip(65))break;return this.error(1005,e.range(),")"),null}}return n}parseParameter(e,r=!1){let n=!1,s=!1,a=null,l=0;if(r&&(e.skip(44)?(a=e.range(),l|=256):e.skip(43)?(a=e.range(),l|=1024):e.skip(42)&&(a=e.range(),l|=512),e.peek()==45)){let o=e.mark();e.next(),e.peek()!=100?(e.discard(o),a||(a=e.range()),l|=64):e.reset(o)}if(e.skip(69)&&(l?this.error(1317,e.range()):a=e.range(),n=!0),e.skipIdentifier()){n||(a=e.range());let o=L.createIdentifierExpression(e.readIdentifier(),e.range()),p=null;if((s=e.skip(99))&&n&&this.error(1047,o.range),e.skip(100)){if(p=this.parseType(e),!p)return null}else p=L.createOmittedType(e.range(e.pos));let c=null;if(e.skip(101)&&(n&&this.error(1048,o.range),s?this.error(1015,o.range):s=!0,c=this.parseExpression(e,1+1),!c))return null;let _=L.createParameter(n?2:s?1:0,o,p,c,le.join(assert(a),e.range()));return _.flags|=l,_}else this.error(1003,e.range());return null}parseFunction(e,r,n,s){if(!e.skipIdentifier())return this.error(1003,e.range(e.pos)),null;let a=L.createIdentifierExpression(e.readIdentifier(),e.range()),l=-1,o=null;if(e.skip(72)){if(l=e.tokenPos,o=this.parseTypeParameters(e),!o)return null;r|=65536}if(!e.skip(64))return this.error(1005,e.range(e.pos),"("),null;l<0&&(l=e.tokenPos);let p=this.parseParameters(e);if(!p)return null;let c=this.parseParametersThis,_=(r&4096)!=0;_&&(p.length!=1&&this.error(1049,a.range),p.length>0&&p[0].initializer&&this.error(1052,a.range)),r&2048&&p.length&&this.error(1054,a.range);let f=null;if(e.skip(100)&&(f=this.parseType(e,!0,_),!f))return null;f||(f=L.createOmittedType(e.range(e.pos)),_||this.error(1110,f.range));let d=L.createFunctionType(p,f,c,!1,e.range(l,e.pos)),g=null;if(e.skip(62)){if(r&32768&&this.error(1183,e.range()),g=this.parseBlockStatement(e,!1),!g)return null}else r&32768||this.error(2391,e.range(e.pos));let S=L.createFunctionDeclaration(a,n,r,o,d,g,0,e.range(s,e.pos));return S.overriddenModuleName=this.currentModuleName,e.skip(70),S}parseFunctionExpression(e){let r=e.tokenPos,n,s=0;if(e.token==24){if(e.skipIdentifier()?n=L.createIdentifierExpression(e.readIdentifier(),e.range()):n=L.createEmptyIdentifierExpression(e.range(e.pos)),!e.skip(64))return this.error(1005,e.range(e.pos),"("),null}else s=1,assert(e.token==64),n=L.createEmptyIdentifierExpression(e.range(e.tokenPos));let a=e.pos,l=this.parseParameters(e);return l?this.parseFunctionExpressionCommon(e,n,l,this.parseParametersThis,s,r,a):null}parseFunctionExpressionCommon(e,r,n,s,a,l=-1,o=-1){l<0&&(l=r.range.start),o<0&&(o=l);let p=null;if(a!=2&&e.skip(100)){if(p=this.parseType(e),!p)return null}else p=L.createOmittedType(e.range(e.pos));if(a&&!e.skip(80))return this.error(1005,e.range(e.pos),"=>"),null;let c=L.createFunctionType(n,p,s,!1,e.range(o,e.pos)),_=null;if(a)if(e.skip(62))_=this.parseBlockStatement(e,!1);else{let d=this.parseExpression(e,2);d&&(_=L.createExpressionStatement(d))}else{if(!e.skip(62))return this.error(1005,e.range(e.pos),"{"),null;_=this.parseBlockStatement(e,!1)}if(!_)return null;let f=L.createFunctionDeclaration(r,null,0,null,c,_,a,e.range(l,e.pos));return L.createFunctionExpression(f)}parseClassOrInterface(e,r,n,s){let a=e.token==31;if(!e.skipIdentifier())return this.error(1003,e.range()),null;let l=L.createIdentifierExpression(e.readIdentifier(),e.range()),o=null;if(e.skip(72)){if(o=this.parseTypeParameters(e),!o)return null;r|=65536}let p=null;if(e.skip(19)){let d=this.parseType(e);if(!d)return null;if(d.kind!=1)return this.error(1003,d.range),null;p=d}let c=null;if(e.skip(27)){a&&this.error(1176,e.range());do{let d=this.parseType(e);if(!d)return null;if(d.kind!=1)return this.error(1003,d.range),null;a||(c||(c=[]),c.push(d))}while(e.skip(71))}if(!e.skip(62))return this.error(1005,e.range(),"{"),null;let _=new Array,f;if(a?(assert(!c),f=L.createInterfaceDeclaration(l,n,r,o,p,null,_,e.range(s,e.pos))):f=L.createClassDeclaration(l,n,r,o,p,c,_,e.range(s,e.pos)),!e.skip(63))do{let d=this.parseClassMember(e,f);if(d)d.kind==65?f.indexSignature=d:(assert(d instanceof We),_.push(d));else if(this.skipStatement(e),e.skip(121))return this.error(1005,e.range(),"}"),null}while(!e.skip(63));return f.range.end=e.pos,f.overriddenModuleName=this.currentModuleName,f}parseClassExpression(e){let r=e.tokenPos,n;if(e.skipIdentifier()?n=L.createIdentifierExpression(e.readIdentifier(),e.range()):n=L.createEmptyIdentifierExpression(e.range(e.pos)),!e.skip(62))return this.error(1005,e.range(e.pos),"{"),null;let s=new Array,a=L.createClassDeclaration(n,null,0,null,null,null,s,e.range(r,e.pos));if(!e.skip(63))do{let l=this.parseClassMember(e,a);if(l)l.kind==65?a.indexSignature=l:(assert(a instanceof We),s.push(l));else if(this.skipStatement(e),e.skip(121))return this.error(1005,e.range(),"}"),null}while(!e.skip(63));return a.range.end=e.pos,L.createClassExpression(a)}parseClassMember(e,r){let n=r.kind==57,s=0,a=null;if(e.skip(114)){s=e.tokenPos;do{let se=this.parseDecorator(e);if(!se)break;a||(a=new Array),a.push(se)}while(e.skip(114));n&&a&&this.error(1206,le.join(a[0].range,a[a.length-1].range))}let l=r.flags&32768;n&&(l|=268435456);let o=0,p=0,c=r.is(32768);e.skip(12)?(n?this.error(1042,e.range(),"declare"):c?this.error(1038,e.range()):(l|=32772,o=e.tokenPos,p=e.pos),s||(s=e.tokenPos)):c&&(l|=32768);let _=0,f=0;e.skip(44)?(n?this.error(1042,e.range(),"public"):(l|=256,_=e.tokenPos,f=e.pos),s||(s=e.tokenPos)):e.skip(42)?(n?this.error(1042,e.range(),"private"):(l|=512,_=e.tokenPos,f=e.pos),s||(s=e.tokenPos)):e.skip(43)&&(n?this.error(1042,e.range(),"protected"):(l|=1024,_=e.tokenPos,f=e.pos),s||(s=e.tokenPos));let d=0,g=0,S=0,T=0;e.skip(48)?(n?this.error(1042,e.range(),"static"):(l|=32,d=e.tokenPos,g=e.pos),s||(s=e.tokenPos)):(l|=262144,e.skip(0)&&(n||!r.is(128)?this.error(1042,e.range(),"abstract"):(l|=128,S=e.tokenPos,T=e.pos),s||(s=e.tokenPos)),r.flags&65536&&(l|=131072));let E=0,F=0;e.skip(40)&&(n||r.extendsType==null?this.error(1042,e.range(),"override"):(l|=8192,E=e.tokenPos,F=e.pos),s||(s=e.tokenPos));let I=0,R=0;if(e.peek()==45){let se=e.mark();e.next(),e.peek()!=100?(e.discard(se),l|=64,I=e.tokenPos,R=e.pos,s||(s=I)):e.reset(se)}let C=e.mark(),N=!1,D=!1,K=0,V=0,O=!1,X=0,te=0;n||(e.skip(25)?e.peek(1)==115&&!e.peekOnNewLine()?(l|=2048,D=!0,K=e.tokenPos,V=e.pos,s||(s=K),l&64&&this.error(1042,e.range(I,R),"readonly")):e.reset(C):e.skip(47)?e.peek(1)==115&&!e.peekOnNewLine()?(l|=4096,O=!0,X=e.tokenPos,te=e.pos,s||(s=X),l&64&&this.error(1042,e.range(I,R),"readonly")):e.reset(C):e.skip(10)&&(l|=524288,N=!0,s||(s=e.tokenPos),l&32&&this.error(1042,e.range(d,g),"static"),l&128&&this.error(1042,e.range(S,T),"abstract"),l&64&&this.error(1042,e.range(I,R),"readonly")));let Y=D||O,re;if(N)re=L.createConstructorExpression(e.range());else{if(!Y&&e.skip(66)){s||(s=e.tokenPos),l&256?this.error(1042,e.range(_,f),"public"):l&1024?this.error(1042,e.range(_,f),"protected"):l&512&&this.error(1042,e.range(_,f),"private"),l&32&&this.error(1042,e.range(d,g),"static"),l&8192&&this.error(1042,e.range(E,F),"override"),l&128&&this.error(1042,e.range(S,T),"abstract");let se=this.parseIndexSignature(e,l,a);return se?(e.skip(70),se):(l&64&&this.error(1042,e.range(I,R),"readonly"),null)}if(!e.skipIdentifier(2))return this.error(1003,e.range()),null;s||(s=e.tokenPos),re=L.createIdentifierExpression(e.readIdentifier(),e.range())}let W=null;if(e.skip(72)){let se=e.tokenPos;if(W=this.parseTypeParameters(e),!W)return null;N?this.error(1092,e.range(se,e.pos)):Y?this.error(1094,e.range(se,e.pos)):l|=65536}if(e.skip(64)){l&4&&this.error(1031,e.range(o,p),"declare");let se=e.tokenPos,H=this.parseParameters(e,N);if(!H)return null;let Se=this.parseParametersThis;if(N)for(let Vr=0,zl=H.length;Vr0&&H[0].initializer&&this.error(1052,re.range)):re.text=="constructor"&&this.error(230,re.range,"constructor");let Ae=null;if(e.skip(100)){if(re.kind==26?this.error(1093,e.range()):O&&this.error(1095,e.range()),Ae=this.parseType(e,O||re.kind==26),!Ae)return null}else Ae=L.createOmittedType(e.range(e.pos)),!O&&re.kind!=26&&this.error(1110,Ae.range);let Li=L.createFunctionType(H,Ae,Se,!1,e.range(se,e.pos)),Mi=null;if(e.skip(62)){if(l&32768?this.error(1183,e.range()):l&128?this.error(1245,e.range(),re.text):n&&this.error(1005,e.range(),";"),Mi=this.parseBlockStatement(e,!1),!Mi)return null}else!n&&!(l&32896)&&this.error(2391,e.range());let Gl=L.createMethodDeclaration(re,a,l,W,Li,Mi,e.range(s,e.pos));return n&&e.skip(71)||e.skip(70),Gl}else if(N)this.error(2390,re.range);else if(Y)this.error(2391,re.range);else{l&4&&this.error(100,e.range(o,p),"Ambient fields"),l&128&&this.error(1042,e.range(S,T),"abstract"),l&2048&&this.error(1042,e.range(K,V),"get"),l&4096&&this.error(1042,e.range(X,te),"set");let se=null;if(e.skip(99)&&this.error(219,e.range(s,e.pos)),e.skip(95)&&(l|=16384),e.skip(100)){if(se=this.parseType(e),!se)return null}else this.error(1110,e.range());let H=null;if(e.skip(101)){if(l&32768&&this.error(1039,e.range()),H=this.parseExpression(e),!H)return null;l&16384&&this.error(1263,re.range)}let Se=e.range(s,e.pos);l&16384&&(n||l&32768)&&this.error(1255,Se);let Ae=L.createFieldDeclaration(re,a,l,se,H,Se);return n&&e.skip(71)||e.skip(70),Ae}return null}parseIndexSignature(e,r,n){n&&n.length>0&&this.error(1206,le.join(n[0].range,n[n.length-1].range));let s=e.tokenPos;if(e.skipIdentifier())if(e.readIdentifier()=="key")if(e.skip(100)){let l=this.parseType(e);if(!l)return null;if(l.kind!=1)return this.error(1110,e.range()),null;if(e.skip(67))if(e.skip(100)){let o=this.parseType(e);return o?o.kind!=1?(this.error(1003,o.range),null):L.createIndexSignature(l,o,r,e.range(s,e.pos)):null}else this.error(1005,e.range(),":");else this.error(1005,e.range(),"]")}else this.error(1005,e.range(),":");else this.error(1005,e.range(),"key");else this.error(1003,e.range());return null}parseNamespace(e,r,n,s){if(e.skipIdentifier()){let a=L.createIdentifierExpression(e.readIdentifier(),e.range());if(e.skip(62)){let l=new Array,o=L.createNamespaceDeclaration(a,n,r,l,e.range(s,e.pos));for(;!e.skip(63);){let p=this.parseTopLevelStatement(e,o);if(p){if(p.kind==35)return this.error(1319,p.range),null;l.push(p)}else if(this.skipStatement(e),e.skip(121))return this.error(1005,e.range(),"}"),null}return o.range.end=e.pos,o.overriddenModuleName=this.currentModuleName,e.skip(70),o}else this.error(1005,e.range(),"{")}else this.error(1003,e.range());return null}parseExport(e,r,n){let s=null,a=assert(this.currentSource);if(e.skip(62)){let l=new Array;for(;!e.skip(63);){let p=this.parseExportMember(e);if(!p)return null;if(l.push(p),!e.skip(71)){if(e.skip(63))break;return this.error(1005,e.range(),"}"),null}}if(e.skip(23))if(e.skip(116))s=L.createStringLiteralExpression(e.readString(),e.range());else return this.error(1141,e.range()),null;let o=L.createExportStatement(l,s,n,e.range(r,e.pos));if(s){let p=assert(o.internalPath);this.seenlog.has(p)||(this.dependees.set(p,new Un(a,s)),this.backlog.push(p),this.seenlog.add(p))}return e.skip(70),o}else if(e.skip(84))if(e.skip(23))if(e.skip(116)){s=L.createStringLiteralExpression(e.readString(),e.range());let l=L.createExportStatement(null,s,n,e.range(r,e.pos)),o=assert(l.internalPath),p=e.source,c=p.exportPaths;return c?c.includes(o)||c.push(o):p.exportPaths=[o],this.seenlog.has(o)||(this.dependees.set(o,new Un(a,s)),this.backlog.push(o)),e.skip(70),l}else this.error(1141,e.range());else this.error(1005,e.range(),"from");else this.error(1005,e.range(),"{");return null}parseExportMember(e){if(e.skipIdentifier(2)){let r=L.createIdentifierExpression(e.readIdentifier(),e.range()),n=null;if(e.skip(1))if(e.skipIdentifier(2))n=L.createIdentifierExpression(e.readIdentifier(),e.range());else return this.error(1003,e.range()),null;return n?L.createExportMember(r,n,le.join(r.range,n.range)):L.createExportMember(r,null,r.range)}else this.error(1003,e.range());return null}parseExportDefaultAlias(e,r,n,s){let a=e.readIdentifier(),l=e.range(),o=L.createExportStatement([L.createExportMember(L.createIdentifierExpression(a,l),L.createIdentifierExpression("default",e.range(n,s)),l)],null,!1,e.range(r,e.pos));return e.skip(70),o}parseImport(e){let r=e.tokenPos,n=null,s=null,a=!1;if(e.skip(62))for(n=new Array;!e.skip(63);){let l=this.parseImportDeclaration(e);if(!l)return null;if(n.push(l),!e.skip(71)){if(e.skip(63))break;return this.error(1005,e.range(),"}"),null}}else if(e.skip(84))if(e.skip(1))if(e.skipIdentifier())s=L.createIdentifierExpression(e.readIdentifier(),e.range());else return this.error(1003,e.range()),null;else return this.error(1005,e.range(),"as"),null;else if(e.skip(115,1)){let l=e.readIdentifier(),o=e.range();if(n=[L.createImportDeclaration(L.createIdentifierExpression("default",o),L.createIdentifierExpression(l,o),o)],e.skip(71))return this.error(100,e.range(),"Mixed default and named imports"),null}else a=!0;if(a||e.skip(23))if(e.skip(116)){let l=L.createStringLiteralExpression(e.readString(),e.range()),o;s?(assert(!n),o=L.createWildcardImportStatement(s,l,e.range(r,e.pos))):o=L.createImportStatement(n,l,e.range(r,e.pos));let p=o.internalPath;return this.seenlog.has(p)||(this.dependees.set(p,new Un(assert(this.currentSource),l)),this.backlog.push(p)),e.skip(70),o}else this.error(1141,e.range());else this.error(1005,e.range(),"from");return null}parseImportDeclaration(e){if(e.skipIdentifier(2)){let r=L.createIdentifierExpression(e.readIdentifier(),e.range()),n=null;if(e.skip(1))if(e.skipIdentifier())n=L.createIdentifierExpression(e.readIdentifier(),e.range());else return this.error(1003,e.range()),null;return n?L.createImportDeclaration(r,n,le.join(r.range,n.range)):L.createImportDeclaration(r,null,r.range)}else this.error(1003,e.range());return null}parseExportImport(e,r){if(e.skipIdentifier()){let n=L.createIdentifierExpression(e.readIdentifier(),e.range());if(e.skip(101))if(e.skipIdentifier()){let s=L.createIdentifierExpression(e.readIdentifier(),e.range()),a=L.createExportImportStatement(s,n,e.range(r,e.pos));return e.skip(70),a}else this.error(1003,e.range());else this.error(1005,e.range(),"=")}else this.error(1003,e.range());return null}parseStatement(e,r=!1){let n=e.mark(),s=e.next(),a=null;switch(s){case 4:{a=this.parseBreak(e);break}case 8:{a=this.parseVariable(e,8,null,e.tokenPos);break}case 9:{a=this.parseContinue(e);break}case 15:{a=this.parseDoStatement(e);break}case 22:{a=this.parseForStatement(e);break}case 26:{a=this.parseIfStatement(e);break}case 34:{a=this.parseVariable(e,16,null,e.tokenPos);break}case 57:{a=this.parseVariable(e,0,null,e.tokenPos);break}case 62:{a=this.parseBlockStatement(e,r);break}case 46:{r&&this.error(1108,e.range()),a=this.parseReturn(e);break}case 70:return L.createEmptyStatement(e.range(e.tokenPos));case 50:{a=this.parseSwitchStatement(e);break}case 52:{a=this.parseThrowStatement(e);break}case 54:{a=this.parseTryStatement(e);break}case 58:{a=this.parseVoidStatement(e);break}case 59:{a=this.parseWhileStatement(e);break}case 55:if(e.peek(1)==115){a=this.parseTypeDeclaration(e,0,null,e.tokenPos);break}default:{e.reset(n),a=this.parseExpressionStatement(e);break}}return a?e.discard(n):(e.reset(n),this.skipStatement(e)),a}parseBlockStatement(e,r){let n=e.tokenPos,s=new Array;for(;!e.skip(63);){let l=e.mark(),o=this.parseStatement(e,r);if(o)e.discard(l),s.push(o);else{if(e.token==121)return null;e.reset(l),this.skipStatement(e)}}let a=L.createBlockStatement(s,e.range(n,e.pos));return r&&e.skip(70),a}parseBreak(e){let r=null;e.peek()==115&&!e.peekOnNewLine()&&(e.next(1),r=L.createIdentifierExpression(e.readIdentifier(),e.range()));let n=L.createBreakStatement(r,e.range());return e.skip(70),n}parseContinue(e){let r=null;e.peek()==115&&!e.peekOnNewLine()&&(e.next(1),r=L.createIdentifierExpression(e.readIdentifier(),e.range()));let n=L.createContinueStatement(r,e.range());return e.skip(70),n}parseDoStatement(e){let r=e.tokenPos,n=this.parseStatement(e);if(!n)return null;if(e.skip(59))if(e.skip(64)){let s=this.parseExpression(e);if(!s)return null;if(e.skip(65)){let a=L.createDoStatement(n,s,e.range(r,e.pos));return e.skip(70),a}else this.error(1005,e.range(),")")}else this.error(1005,e.range(),"(");else this.error(1005,e.range(),"while");return null}parseExpressionStatement(e){let r=this.parseExpression(e);if(!r)return null;let n=L.createExpressionStatement(r);return e.skip(70),n}parseForStatement(e){let r=e.tokenPos;if(e.skip(64)){let n=null;if(e.skip(8))n=this.parseVariable(e,8,null,e.tokenPos,!0);else if(e.skip(34))n=this.parseVariable(e,16,null,e.tokenPos,!0);else if(e.skip(57))n=this.parseVariable(e,0,null,e.tokenPos,!0);else if(!e.skip(70)&&(n=this.parseExpressionStatement(e),!n))return null;if(n){if(e.skip(39)){if(n.kind==38)return n.expression.kind!=6?(this.error(1003,n.range),null):this.parseForOfStatement(e,r,n);if(n.kind==47){let s=n.declarations;for(let a=0,l=s.length;a"),null;let a=this.parseExpression(e,19);return a?L.createAssertionExpression(0,a,s,e.range(n,e.pos)):null}case 115:{let s=e.readIdentifier();if(s=="null")return L.createNullExpression(e.range());let a=L.createIdentifierExpression(s,e.range(n,e.pos));return e.skip(119)?this.parseTemplateLiteral(e,a):e.peek()==80&&!e.peekOnNewLine()?this.parseFunctionExpressionCommon(e,L.createEmptyIdentifierExpression(e.range(n)),[L.createParameter(0,a,L.createOmittedType(a.range.atEnd),null,a.range)],null,2,n):this.maybeParseCallExpression(e,a,!0)}case 49:{e.peek()!=68&&e.nextToken!=64&&this.error(1034,e.range());let s=L.createSuperExpression(e.range(n,e.pos));return this.maybeParseCallExpression(e,s)}case 116:return L.createStringLiteralExpression(e.readString(),e.range(n,e.pos));case 119:return this.parseTemplateLiteral(e);case 117:{let s=e.readInteger();return e.checkForIdentifierStartAfterNumericLiteral(),L.createIntegerLiteralExpression(s,e.range(n,e.pos))}case 118:{let s=e.readFloat();return e.checkForIdentifierStartAfterNumericLiteral(),L.createFloatLiteralExpression(s,e.range(n,e.pos))}case 85:{let s=e.readRegexpPattern();return e.skip(85)?L.createRegexpLiteralExpression(s,e.readRegexpFlags(),e.range(n,e.pos)):(this.error(1005,e.range(),"/"),null)}case 24:{let s=this.parseFunctionExpression(e);return s?this.maybeParseCallExpression(e,s):null}case 7:return this.parseClassExpression(e);default:return r==121?this.error(1126,e.range(n)):this.error(1109,e.range()),null}}tryParseTypeArgumentsBeforeArguments(e){let r=e.mark();if(!e.skip(72))return null;let n=e.tokenPos,s=null;do{if(e.peek()==73)break;let a=this.parseType(e,!0,!0);if(!a)return e.reset(r),null;s?s.push(a):s=[a]}while(e.skip(71));if(e.skip(73)){let a=e.pos;if(e.skip(64))return s||this.error(1099,e.range(n,a)),s}return e.reset(r),null}parseArguments(e){let r=new Array;for(;!e.skip(65);){let n=this.parseExpression(e,2);if(!n)return null;if(r.push(n),!e.skip(71)){if(e.skip(65))break;return this.error(1005,e.range(),")"),null}}return r}parseExpression(e,r=1){assert(r!=0);let n=this.parseExpressionStart(e);if(!n)return null;let s=n.range.start,a;for(;(a=dx(e.peek()))>=r;){let l=e.next();switch(l){case 1:{if(e.skip(8))n=L.createAssertionExpression(3,n,null,e.range(s,e.pos));else{let o=this.parseType(e);if(!o)return null;n=L.createAssertionExpression(1,n,o,e.range(s,e.pos))}break}case 95:{n=L.createAssertionExpression(2,n,null,e.range(s,e.pos)),n=this.maybeParseCallExpression(e,n);break}case 30:{let o=this.parseType(e);if(!o)return null;n=L.createInstanceOfExpression(n,o,e.range(s,e.pos));break}case 66:{let o=this.parseExpression(e);if(!o)return null;if(!e.skip(67))return this.error(1005,e.range(),"]"),null;n=L.createElementAccessExpression(n,o,e.range(s,e.pos)),n=this.maybeParseCallExpression(e,n);break}case 87:case 88:{n.kind!=6&&n.kind!=12&&n.kind!=21&&this.error(2357,n.range),n=L.createUnaryPostfixExpression(l,n,e.range(s,e.pos));break}case 99:{let o=this.parseExpression(e);if(!o)return null;if(!e.skip(100))return this.error(1005,e.range(),":"),null;let p=this.parseExpression(e,r>1?1+1:1);if(!p)return null;n=L.createTernaryExpression(n,o,p,e.range(s,e.pos));break}case 71:{let o=[n];do{if(n=this.parseExpression(e,1+1),!n)return null;o.push(n)}while(e.skip(71));n=L.createCommaExpression(o,e.range(s,e.pos));break}case 68:{if(e.skipIdentifier(2)){let o=L.createIdentifierExpression(e.readIdentifier(),e.range());n=L.createPropertyAccessExpression(n,o,e.range(s,e.pos))}else{let o=this.parseExpression(e,a+1);if(!o)return null;if(o.kind==9){if(n=this.joinPropertyCall(e,s,n,o),!n)return null}else return this.error(1003,o.range),null}if(e.skip(119)){if(n=this.parseTemplateLiteral(e,n),!n)return null}else n=this.maybeParseCallExpression(e,n,!0);break}case 101:case 102:case 103:case 105:case 104:case 106:case 107:case 108:case 109:case 110:case 111:case 113:case 112:case 83:{let o=this.parseExpression(e,a);if(!o)return null;n=L.createBinaryExpression(l,n,o,e.range(s,e.pos));break}case 72:case 73:case 74:case 75:case 76:case 78:case 79:case 77:case 81:case 82:case 84:case 85:case 86:case 89:case 90:case 91:case 92:case 93:case 94:case 97:case 98:case 29:{let o=this.parseExpression(e,a+1);if(!o)return null;n=L.createBinaryExpression(l,n,o,e.range(s,e.pos));break}default:assert(!1)}}return n}parseTemplateLiteral(e,r=null){let n=r?r.range.start:e.tokenPos,s=new Array,a=new Array,l=new Array;for(s.push(e.readString(0,r!=null)),a.push(e.source.text.substring(e.readStringStart,e.readStringEnd));e.readingTemplateString;){let o=this.parseExpression(e);if(!o)return null;if(l.push(o),!e.skip(63))return this.error(1005,e.range(),"}"),null;s.push(e.readString(96,r!=null)),a.push(e.source.text.substring(e.readStringStart,e.readStringEnd))}return L.createTemplateLiteralExpression(r,s,a,l,e.range(n,e.pos))}joinPropertyCall(e,r,n,s){let a=s.expression;switch(a.kind){case 6:{s.expression=L.createPropertyAccessExpression(n,a,e.range(r,e.pos));break}case 9:{let l=this.joinPropertyCall(e,r,n,a);if(!l)return null;s.expression=l,s.range=e.range(r,e.pos);break}default:return this.error(1003,s.range),null}return s}maybeParseCallExpression(e,r,n=!1){let s=null;for(;e.skip(64)||n&&(s=this.tryParseTypeArgumentsBeforeArguments(e));){let a=this.parseArguments(e);if(!a)break;r=L.createCallExpression(r,s,a,e.range(r.range.start,e.pos)),n=!1}return r}checkASI(e){let r=e.peek();r==121||r==63||e.peekOnNewLine()||this.error(1012,e.range(e.nextTokenPos))}skipStatement(e){e.peekOnNewLine()&&e.next();do{let r=e.peek();if(r==121||r==70){e.next();break}if(e.peekOnNewLine())break;switch(e.next()){case 115:{e.readIdentifier();break}case 116:case 119:{e.readString();break}case 117:{e.readInteger(),e.checkForIdentifierStartAfterNumericLiteral();break}case 118:{e.readFloat(),e.checkForIdentifierStartAfterNumericLiteral();break}case 62:{this.skipBlock(e);break}}}while(!0);e.readingTemplateString=!1}skipBlock(e){let r=1,n=!0;do switch(e.next()){case 121:{this.error(1005,e.range(),"}"),n=!1;break}case 62:{++r;break}case 63:{--r,r||(n=!1);break}case 115:{e.readIdentifier();break}case 116:{e.readString();break}case 119:{for(e.readString();e.readingTemplateString;)this.skipBlock(e),e.readString(96);break}case 117:{e.readInteger(),e.checkForIdentifierStartAfterNumericLiteral();break}case 118:{e.readFloat(),e.checkForIdentifierStartAfterNumericLiteral();break}}while(n)}},Oy=(N=>(N[N.None=0]="None",N[N.Comma=1]="Comma",N[N.Spread=2]="Spread",N[N.Yield=3]="Yield",N[N.Assignment=4]="Assignment",N[N.Conditional=5]="Conditional",N[N.LogicalOr=6]="LogicalOr",N[N.LogicalAnd=7]="LogicalAnd",N[N.BitwiseOr=8]="BitwiseOr",N[N.BitwiseXor=9]="BitwiseXor",N[N.BitwiseAnd=10]="BitwiseAnd",N[N.Equality=11]="Equality",N[N.Relational=12]="Relational",N[N.Shift=13]="Shift",N[N.Additive=14]="Additive",N[N.Multiplicative=15]="Multiplicative",N[N.Exponentiated=16]="Exponentiated",N[N.UnaryPrefix=17]="UnaryPrefix",N[N.UnaryPostfix=18]="UnaryPostfix",N[N.Call=19]="Call",N[N.MemberAccess=20]="MemberAccess",N[N.Grouping=21]="Grouping",N))(Oy||{});function dx(t){switch(t){case 71:return 1;case 101:case 102:case 103:case 105:case 104:case 106:case 107:case 108:case 109:case 110:case 111:case 113:case 112:return 4;case 99:return 5;case 98:return 6;case 97:return 7;case 93:return 8;case 94:return 9;case 92:return 10;case 76:case 77:case 78:case 79:return 11;case 1:case 29:case 30:case 72:case 73:case 74:case 75:return 12;case 89:case 90:case 91:return 13;case 81:case 82:return 14;case 84:case 85:case 86:return 15;case 83:return 16;case 87:case 88:return 18;case 68:case 66:case 95:return 20}return 0}function Il(t,i){switch(i.kind){case 1:{if(i.name.identifier.text==t)return!0;let e=i.typeArguments;if(e){for(let r=0,n=e.length;r(W[W.Invalid=0]="Invalid",W[W.IndexedGet=1]="IndexedGet",W[W.IndexedSet=2]="IndexedSet",W[W.UncheckedIndexedGet=3]="UncheckedIndexedGet",W[W.UncheckedIndexedSet=4]="UncheckedIndexedSet",W[W.Add=5]="Add",W[W.Sub=6]="Sub",W[W.Mul=7]="Mul",W[W.Div=8]="Div",W[W.Rem=9]="Rem",W[W.Pow=10]="Pow",W[W.BitwiseAnd=11]="BitwiseAnd",W[W.BitwiseOr=12]="BitwiseOr",W[W.BitwiseXor=13]="BitwiseXor",W[W.BitwiseShl=14]="BitwiseShl",W[W.BitwiseShr=15]="BitwiseShr",W[W.BitwiseShrU=16]="BitwiseShrU",W[W.Eq=17]="Eq",W[W.Ne=18]="Ne",W[W.Gt=19]="Gt",W[W.Ge=20]="Ge",W[W.Lt=21]="Lt",W[W.Le=22]="Le",W[W.Plus=23]="Plus",W[W.Minus=24]="Minus",W[W.Not=25]="Not",W[W.BitwiseNot=26]="BitwiseNot",W[W.PrefixInc=27]="PrefixInc",W[W.PrefixDec=28]="PrefixDec",W[W.PostfixInc=29]="PostfixInc",W[W.PostfixDec=30]="PostfixDec",W))(Ue||{});(n=>{function t(s,a){switch(assert(a.length),s){case 2:case 3:{switch(a.charCodeAt(0)){case 91:{if(a=="[]")return 1;if(a=="[]=")return 2;break}case 123:{if(a=="{}")return 3;if(a=="{}=")return 4;break}case 43:{if(a=="+")return 5;break}case 45:{if(a=="-")return 6;break}case 42:{if(a=="*")return 7;if(a=="**")return 10;break}case 47:{if(a=="/")return 8;break}case 37:{if(a=="%")return 9;break}case 38:{if(a=="&")return 11;break}case 124:{if(a=="|")return 12;break}case 94:{if(a=="^")return 13;break}case 61:{if(a=="==")return 17;break}case 33:{if(a=="!=")return 18;break}case 62:{if(a==">")return 19;if(a==">=")return 20;if(a==">>")return 15;if(a==">>>")return 16;break}case 60:{if(a=="<")return 21;if(a=="<=")return 22;if(a=="<<")return 14;break}}break}case 4:{switch(a.charCodeAt(0)){case 43:{if(a=="+")return 23;if(a=="++")return 27;break}case 45:{if(a=="-")return 24;if(a=="--")return 28;break}case 33:{if(a=="!")return 25;break}case 126:{if(a=="~")return 26;break}}break}case 5:{switch(a.charCodeAt(0)){case 43:{if(a=="++")return 29;break}case 45:{if(a=="--")return 30;break}}break}}return 0}n.fromDecorator=t;function i(s){switch(s){case 81:case 102:return 5;case 82:case 103:return 6;case 84:case 104:return 7;case 85:case 106:return 8;case 86:case 107:return 9;case 83:case 105:return 10;case 92:case 111:return 11;case 93:case 112:return 12;case 94:case 113:return 13;case 89:case 108:return 14;case 90:case 109:return 15;case 91:case 110:return 16;case 76:return 17;case 77:return 18;case 73:return 19;case 75:return 20;case 72:return 21;case 74:return 22}return 0}n.fromBinaryToken=i;function e(s){switch(s){case 81:return 23;case 82:return 24;case 95:return 25;case 96:return 26;case 87:return 27;case 88:return 28}return 0}n.fromUnaryPrefixToken=e;function r(s){switch(s){case 87:return 29;case 88:return 30}return 0}n.fromUnaryPostfixToken=r})(Ue||={});var Dn=class extends qe{constructor(e,r=null){super(r);this.options=e;this.sources=[];this.diagnosticsOffset=0;this.nextClassId=0;this.nextSignatureId=0;this.initialized=!1;this.filesByName=new Map;this.elementsByName=new Map;this.elementsByDeclaration=new Map;this.instancesByName=new Map;this.wrapperClasses=new Map;this.managedClasses=new Map;this.uniqueSignatures=new Map;this.moduleImports=new Map;this._arrayBufferViewInstance=null;this._arrayBufferInstance=null;this._arrayPrototype=null;this._staticArrayPrototype=null;this._setPrototype=null;this._mapPrototype=null;this._functionPrototype=null;this._int8ArrayPrototype=null;this._int16ArrayPrototype=null;this._int32ArrayPrototype=null;this._int64ArrayPrototype=null;this._uint8ArrayPrototype=null;this._uint8ClampedArrayPrototype=null;this._uint16ArrayPrototype=null;this._uint32ArrayPrototype=null;this._uint64ArrayPrototype=null;this._float32ArrayPrototype=null;this._float64ArrayPrototype=null;this._stringInstance=null;this._regexpInstance=null;this._objectPrototype=null;this._objectInstance=null;this._templateStringsArrayInstance=null;this._allocInstance=null;this._reallocInstance=null;this._freeInstance=null;this._newInstance=null;this._renewInstance=null;this._linkInstance=null;this._collectInstance=null;this._visitInstance=null;this._newBufferInstance=null;this._newArrayInstance=null;this._BLOCKInstance=null;this._OBJECTInstance=null;this.nativeDummySignature=null;this.module=Ot.create(e.stackSize>0,e.sizeTypeRef),this.parser=new Vn(this.diagnostics,this.sources),this.resolver=new Ln(this);let n=new Wn(this,fe.native);this.nativeFile=n,this.filesByName.set(n.internalName,n)}get arrayBufferViewInstance(){let e=this._arrayBufferViewInstance;return e||(this._arrayBufferViewInstance=e=this.requireClass(B.ArrayBufferView)),e}get arrayBufferInstance(){let e=this._arrayBufferInstance;return e||(this._arrayBufferInstance=e=this.requireClass(B.ArrayBuffer)),e}get arrayPrototype(){let e=this._arrayPrototype;return e||(this._arrayPrototype=e=this.require(B.Array,6)),e}get staticArrayPrototype(){let e=this._staticArrayPrototype;return e||(this._staticArrayPrototype=e=this.require(B.StaticArray,6)),e}get setPrototype(){let e=this._setPrototype;return e||(this._setPrototype=e=this.require(B.Set,6)),e}get mapPrototype(){let e=this._mapPrototype;return e||(this._mapPrototype=e=this.require(B.Map,6)),e}get functionPrototype(){let e=this._functionPrototype;return e||(this._functionPrototype=e=this.require(B.Function,6)),e}get int8ArrayPrototype(){let e=this._int8ArrayPrototype;return e||(this._int8ArrayPrototype=e=this.require(B.Int8Array,6)),e}get int16ArrayPrototype(){let e=this._int16ArrayPrototype;return e||(this._int16ArrayPrototype=e=this.require(B.Int16Array,6)),e}get int32ArrayPrototype(){let e=this._int32ArrayPrototype;return e||(this._int32ArrayPrototype=e=this.require(B.Int32Array,6)),e}get int64ArrayPrototype(){let e=this._int64ArrayPrototype;return e||(this._int64ArrayPrototype=e=this.require(B.Int64Array,6)),e}get uint8ArrayPrototype(){let e=this._uint8ArrayPrototype;return e||(this._uint8ArrayPrototype=e=this.require(B.Uint8Array,6)),e}get uint8ClampedArrayPrototype(){let e=this._uint8ClampedArrayPrototype;return e||(this._uint8ClampedArrayPrototype=e=this.require(B.Uint8ClampedArray,6)),e}get uint16ArrayPrototype(){let e=this._uint16ArrayPrototype;return e||(this._uint16ArrayPrototype=e=this.require(B.Uint16Array,6)),e}get uint32ArrayPrototype(){let e=this._uint32ArrayPrototype;return e||(this._uint32ArrayPrototype=e=this.require(B.Uint32Array,6)),e}get uint64ArrayPrototype(){let e=this._uint64ArrayPrototype;return e||(this._uint64ArrayPrototype=e=this.require(B.Uint64Array,6)),e}get float32ArrayPrototype(){let e=this._float32ArrayPrototype;return e||(this._float32ArrayPrototype=e=this.require(B.Float32Array,6)),e}get float64ArrayPrototype(){let e=this._float64ArrayPrototype;return e||(this._float64ArrayPrototype=e=this.require(B.Float64Array,6)),e}get stringInstance(){let e=this._stringInstance;return e||(this._stringInstance=e=this.requireClass(B.String)),e}get regexpInstance(){let e=this._regexpInstance;return e||(this._regexpInstance=e=this.requireClass(B.RegExp)),e}get objectPrototype(){let e=this._objectPrototype;return e||(this._objectPrototype=e=this.require(B.Object,6)),e}get objectInstance(){let e=this._objectInstance;return e||(this._objectInstance=e=this.requireClass(B.Object)),e}get templateStringsArrayInstance(){let e=this._templateStringsArrayInstance;return e||(this._templateStringsArrayInstance=e=this.requireClass(B.TemplateStringsArray)),e}get abortInstance(){let e=this.lookup(B.abort);return!e||e.kind!=4?null:this.resolver.resolveFunction(e,null)}get allocInstance(){let e=this._allocInstance;return e||(this._allocInstance=e=this.requireFunction(B.alloc)),e}get reallocInstance(){let e=this._reallocInstance;return e||(this._reallocInstance=e=this.requireFunction(B.realloc)),e}get freeInstance(){let e=this._freeInstance;return e||(this._freeInstance=e=this.requireFunction(B.free)),e}get newInstance(){let e=this._newInstance;return e||(this._newInstance=e=this.requireFunction(B.new_)),e}get renewInstance(){let e=this._renewInstance;return e||(this._renewInstance=e=this.requireFunction(B.renew)),e}get linkInstance(){let e=this._linkInstance;return e||(this._linkInstance=e=this.requireFunction(B.link)),e}get collectInstance(){let e=this._collectInstance;return e||(this._collectInstance=e=this.requireFunction(B.collect)),e}get visitInstance(){let e=this._visitInstance;return e||(this._visitInstance=e=this.requireFunction(B.visit)),e}get newBufferInstance(){let e=this._newBufferInstance;return e||(this._newBufferInstance=e=this.requireFunction(B.newBuffer)),e}get newArrayInstance(){let e=this._newArrayInstance;return e||(this._newArrayInstance=e=this.requireFunction(B.newArray)),e}get BLOCKInstance(){let e=this._BLOCKInstance;return e||(this._BLOCKInstance=e=this.requireClass(B.BLOCK)),e}get OBJECTInstance(){let e=this._OBJECTInstance;return e||(this._OBJECTInstance=e=this.requireClass(B.OBJECT)),e}getSource(e){let r=this.sources;for(let n=0;n=l||n&o)throw new Error("invalid block size");return n}makeNativeVariableDeclaration(e,r=0){let n=fe.native.range;return L.createVariableDeclaration(L.createIdentifierExpression(e,n),null,r,null,null,n)}makeNativeTypeDeclaration(e,r=0){let n=fe.native.range,s=L.createIdentifierExpression(e,n);return L.createTypeDeclaration(s,null,r,null,L.createOmittedType(n),n)}makeNativeFunctionDeclaration(e,r=0){let n=fe.native.range,s=this.nativeDummySignature;return s||(this.nativeDummySignature=s=L.createFunctionType([],L.createNamedType(L.createSimpleTypeName(B.void_,n),null,!1,n),null,!1,n)),L.createFunctionDeclaration(L.createIdentifierExpression(e,n),null,r,null,s,null,0,n)}makeNativeNamespaceDeclaration(e,r=0){let n=fe.native.range;return L.createNamespaceDeclaration(L.createIdentifierExpression(e,n),null,r,[],n)}makeNativeFunction(e,r,n=this.nativeFile,s=0,a=0){return new ct(e,new je(e,n,this.makeNativeFunctionDeclaration(e,s),a),null,r)}getElementByDeclaration(e){let r=this.elementsByDeclaration;return r.has(e)?assert(r.get(e)):null}initialize(){if(this.initialized)return;this.initialized=!0;let e=this.options;this.registerNativeType(B.i8,u.i8),this.registerNativeType(B.i16,u.i16),this.registerNativeType(B.i32,u.i32),this.registerNativeType(B.i64,u.i64),this.registerNativeType(B.isize,e.isizeType),this.registerNativeType(B.u8,u.u8),this.registerNativeType(B.u16,u.u16),this.registerNativeType(B.u32,u.u32),this.registerNativeType(B.u64,u.u64),this.registerNativeType(B.usize,e.usizeType),this.registerNativeType(B.bool,u.bool),this.registerNativeType(B.f32,u.f32),this.registerNativeType(B.f64,u.f64),this.registerNativeType(B.void_,u.void),this.registerNativeType(B.number,u.f64),this.registerNativeType(B.boolean,u.bool),this.nativeFile.add(B.native,new Xe(B.native,this.nativeFile,this.makeNativeTypeDeclaration(B.native,65538),512)),this.nativeFile.add(B.indexof,new Xe(B.indexof,this.nativeFile,this.makeNativeTypeDeclaration(B.indexof,65538),512)),this.nativeFile.add(B.valueof,new Xe(B.valueof,this.nativeFile,this.makeNativeTypeDeclaration(B.valueof,65538),512)),this.nativeFile.add(B.returnof,new Xe(B.returnof,this.nativeFile,this.makeNativeTypeDeclaration(B.returnof,65538),512)),this.nativeFile.add(B.nonnull,new Xe(B.nonnull,this.nativeFile,this.makeNativeTypeDeclaration(B.nonnull,65538),512)),this.registerNativeType(B.v128,u.v128),this.registerNativeType(B.ref_func,u.func),this.registerNativeType(B.ref_extern,u.extern),this.registerNativeType(B.ref_any,u.any),this.registerNativeType(B.ref_eq,u.eq),this.registerNativeType(B.ref_struct,u.struct),this.registerNativeType(B.ref_array,u.array),this.registerNativeType(B.ref_i31,u.i31),this.registerNativeType(B.ref_string,u.string),this.registerNativeType(B.ref_stringview_wtf8,u.stringview_wtf8),this.registerNativeType(B.ref_stringview_wtf16,u.stringview_wtf16),this.registerNativeType(B.ref_stringview_iter,u.stringview_iter),this.registerConstantInteger(B.ASC_TARGET,u.i32,i64_new(e.isWasm64?2:1)),this.registerConstantInteger(B.ASC_RUNTIME,u.i32,i64_new(e.runtime)),this.registerConstantInteger(B.ASC_NO_ASSERT,u.bool,i64_new(e.noAssert?1:0,0)),this.registerConstantInteger(B.ASC_MEMORY_BASE,u.i32,i64_new(e.memoryBase,0)),this.registerConstantInteger(B.ASC_TABLE_BASE,u.i32,i64_new(e.tableBase,0)),this.registerConstantInteger(B.ASC_OPTIMIZE_LEVEL,u.i32,i64_new(e.optimizeLevelHint,0)),this.registerConstantInteger(B.ASC_SHRINK_LEVEL,u.i32,i64_new(e.shrinkLevelHint,0)),this.registerConstantInteger(B.ASC_LOW_MEMORY_LIMIT,u.i32,i64_new(e.lowMemoryLimit,0)),this.registerConstantInteger(B.ASC_EXPORT_RUNTIME,u.bool,i64_new(e.exportRuntime?1:0,0)),this.registerConstantInteger(B.ASC_VERSION_MAJOR,u.i32,i64_new(e.bundleMajorVersion)),this.registerConstantInteger(B.ASC_VERSION_MINOR,u.i32,i64_new(e.bundleMinorVersion)),this.registerConstantInteger(B.ASC_VERSION_PATCH,u.i32,i64_new(e.bundlePatchVersion)),this.registerConstantInteger(B.ASC_FEATURE_SIGN_EXTENSION,u.bool,i64_new(e.hasFeature(1)?1:0,0)),this.registerConstantInteger(B.ASC_FEATURE_MUTABLE_GLOBALS,u.bool,i64_new(e.hasFeature(2)?1:0,0)),this.registerConstantInteger(B.ASC_FEATURE_NONTRAPPING_F2I,u.bool,i64_new(e.hasFeature(4)?1:0,0)),this.registerConstantInteger(B.ASC_FEATURE_BULK_MEMORY,u.bool,i64_new(e.hasFeature(8)?1:0,0)),this.registerConstantInteger(B.ASC_FEATURE_SIMD,u.bool,i64_new(e.hasFeature(16)?1:0,0)),this.registerConstantInteger(B.ASC_FEATURE_THREADS,u.bool,i64_new(e.hasFeature(32)?1:0,0)),this.registerConstantInteger(B.ASC_FEATURE_EXCEPTION_HANDLING,u.bool,i64_new(e.hasFeature(64)?1:0,0)),this.registerConstantInteger(B.ASC_FEATURE_TAIL_CALLS,u.bool,i64_new(e.hasFeature(128)?1:0,0)),this.registerConstantInteger(B.ASC_FEATURE_REFERENCE_TYPES,u.bool,i64_new(e.hasFeature(256)?1:0,0)),this.registerConstantInteger(B.ASC_FEATURE_MULTI_VALUE,u.bool,i64_new(e.hasFeature(512)?1:0,0)),this.registerConstantInteger(B.ASC_FEATURE_GC,u.bool,i64_new(e.hasFeature(1024)?1:0,0)),this.registerConstantInteger(B.ASC_FEATURE_MEMORY64,u.bool,i64_new(e.hasFeature(2048)?1:0,0)),this.registerConstantInteger(B.ASC_FEATURE_RELAXED_SIMD,u.bool,i64_new(e.hasFeature(4096)?1:0,0)),this.registerConstantInteger(B.ASC_FEATURE_EXTENDED_CONST,u.bool,i64_new(e.hasFeature(8192)?1:0,0)),this.registerConstantInteger(B.ASC_FEATURE_STRINGREF,u.bool,i64_new(e.hasFeature(16384)?1:0,0));let r=new Array,n=new Map,s=new Map,a=new Array,l=new Array;for(let p=0,c=this.sources.length;p=48&&S<=57)this.registerConstantInteger(d,u.i32,i64_new(parseInt(g,10)));else{let T=this.elementsByName;T.has(g)?T.set(d,assert(T.get(g))):this.error(111,null,g)}}}for(let p=Map_values(this.filesByName),c=0,_=p.length;c<_;++c){let f=unchecked(p[c]);f.source.sourceKind==1&&this.markModuleExports(f)}}processOverrides(e,r){let n=e.instanceMembers;if(n){let s=Map_values(n),a=null;do{let l=r.instanceMembers;if(l)for(let c=0,_=s.length;c<_;++c){let f=s[c];if(l.has(f.name)){let d=assert(l.get(f.name));this.doProcessOverride(e,f,r,d)}}let o=r.interfacePrototypes;if(o)for(let c=0,_=o.length;c<_;++c){let f=o[c];f!=r&&this.processOverrides(e,f)}let p=r.basePrototype;if(!p||(a||(a=new Set),a.add(r),a.has(p)))break;r=p}while(!0)}}doProcessOverride(e,r,n,s){if(!r.isAny(524800))if(r.kind==4&&s.kind==4){let a=r,l=s;a.visibilityEquals(l)||this.errorRelated(2385,a.identifierNode.range,l.identifierNode.range),s.set(268435456);let o=l.unboundOverrides;o||(l.unboundOverrides=o=new Set),o.add(r);let p=l.instances;if(p)for(let c=Map_values(p),_=0,f=c.length;_(T[T.Global=0]="Global",T[T.Local=1]="Local",T[T.Enum=2]="Enum",T[T.EnumValue=3]="EnumValue",T[T.FunctionPrototype=4]="FunctionPrototype",T[T.Function=5]="Function",T[T.ClassPrototype=6]="ClassPrototype",T[T.Class=7]="Class",T[T.InterfacePrototype=8]="InterfacePrototype",T[T.Interface=9]="Interface",T[T.PropertyPrototype=10]="PropertyPrototype",T[T.Property=11]="Property",T[T.Namespace=12]="Namespace",T[T.File=13]="File",T[T.TypeDefinition=14]="TypeDefinition",T[T.IndexSignature=15]="IndexSignature",T))(ut||{}),jt=(d=>(d[d.None=0]="None",d[d.Global=1]="Global",d[d.OperatorBinary=2]="OperatorBinary",d[d.OperatorPrefix=4]="OperatorPrefix",d[d.OperatorPostfix=8]="OperatorPostfix",d[d.Unmanaged=16]="Unmanaged",d[d.Final=32]="Final",d[d.Inline=64]="Inline",d[d.External=128]="External",d[d.ExternalJs=256]="ExternalJs",d[d.Builtin=512]="Builtin",d[d.Lazy=1024]="Lazy",d[d.Unsafe=2048]="Unsafe",d))(jt||{});(i=>{function t(e){switch(e){case 1:return 1;case 2:case 3:return 2;case 4:return 4;case 5:return 8;case 6:return 16;case 7:return 32;case 8:return 64;case 9:return 128;case 10:return 256;case 11:return 512;case 12:return 1024;case 13:return 2048;default:return 0}}i.fromKind=t})(jt||={});var qn=class{constructor(i,e,r,n,s){this.kind=i;this.name=e;this.internalName=r;this.program=n;this.flags=0;this.decoratorFlags=0;this.members=null;this.shadowType=null;this.program=n,this.name=e,this.internalName=r,s?this.parent=s:(assert(this.kind==13),this.parent=this)}get file(){let i=this;do if(i=i.parent,i.kind==13)return i;while(!0)}is(i){return(this.flags&i)==i}isAny(i){return(this.flags&i)!=0}set(i){this.flags|=i}unset(i){this.flags&=~i}hasDecorator(i){return(this.decoratorFlags&i)==i}hasAnyDecorator(i){return(this.decoratorFlags&i)!=0}getMember(i){let e=this.members;return e&&e.has(i)?assert(e.get(i)):null}lookup(i,e=!1){return this.parent.lookup(i,e)}add(i,e,r=null){let n=e.declaration,s=this.members;if(!s)this.members=s=new Map;else if(s.has(i)){let l=assert(s.get(i));if(l.parent==this){let o=Dp(l,e);if(o)e=o;else{let p=r||e.identifierNode;return On(l.kind)?this.program.errorRelated(2300,p.range,l.identifierNode.range,p.text):this.program.error(2300,p.range,p.text),!1}}}s.set(i,e);let a=this.program;return(e.kind!=4||!e.isBound)&&(a.elementsByName.set(e.internalName,e),a.elementsByDeclaration.set(n,e)),!0}get isPublic(){return!this.isAny(1536)}get isImplicitlyPublic(){return this.isPublic&&!this.is(256)}visibilityEquals(i){if(this.isPublic==i.isPublic)return!0;let e=1536;return(this.flags&e)==(i.flags&e)}visibilityNoLessThan(i){return this.isPublic?!0:this.is(512)?i.is(512):this.is(1024)?i.isAny(1536):assert(!1)}get isBound(){switch(this.parent.kind){case 7:case 9:return!0}return!1}getBoundClassOrInterface(){let i=this.parent;switch(i.kind){case 7:case 9:return i}return null}toString(){return`${this.internalName}, kind=${this.kind}`}},Ky=new Set;function On(t){return Ky.has(t)}var Ht=class extends qn{constructor(e,r,n,s,a,l){super(e,r,n,s,a);this.declaration=l;Ky.add(e),this.declaration=l,this.flags=l.flags}get isDeclaredInLibrary(){return this.declaration.range.source.isLibrary}get identifierNode(){return this.declaration.name}get identifierAndSignatureRange(){let e=this.declaration,r=e.name;if(e.kind==55||e.kind==58){let n=e.signature;if(r.range.source==n.range.source)return le.join(r.range,n.range)}return r.range}get decoratorNodes(){return this.declaration.decorators}},Hy=new Set;function El(t){return Hy.has(t)}var Ft=class extends Ht{constructor(e,r,n,s,a,l){super(e,r,n,s,a,l);this.type=u.void;Hy.add(e)}setType(e){assert(!this.is(4194304)),this.type=e,this.set(4194304)}},Wn=class extends qn{constructor(e,r){super(13,r.normalizedPath,r.internalPath,e,null);this.source=r;this.exports=null;this.exportsStar=null;this.aliasNamespaces=new Array;this.source=r,assert(!e.filesByName.has(this.internalName)),e.filesByName.set(this.internalName,this);let n=this.program.makeNativeFunction(`start:${this.internalName}`,Ve.create(e,[],u.void),this);n.internalName=n.name,this.startFunction=n}add(e,r,n=null){return r.hasDecorator(1)&&(r=this.program.ensureGlobal(e,r)),super.add(e,r,n)?(r=assert(this.getMember(e)),r.is(2)&&!n&&this.ensureExport(r.name,r),!0):!1}getMember(e){let r=super.getMember(e);if(r)return r;let n=this.exportsStar;if(n){for(let s=0,a=n.length;s(r[r.None=0]="None",r[r.Integer=1]="Integer",r[r.Float=2]="Float",r))(Up||{}),xr=class extends Ft{constructor(e,r,n,s=n.program.makeNativeVariableDeclaration(r)){super(e,r,Pe(r,n,s.is(262144)),n.program,n,s);this.constantValueKind=0;this.constantIntegerValue=i64_zero;this.constantFloatValue=0;this.flags=s.flags}get typeNode(){return this.declaration.type}get initializerNode(){return this.declaration.initializer}setConstantIntegerValue(e,r){assert(r.isIntegerInclReference),this.type=r,this.constantValueKind=1,this.constantIntegerValue=e,this.set(37748744)}setConstantFloatValue(e,r){assert(r.isFloatValue),this.type=r,this.constantValueKind=2,this.constantFloatValue=e,this.set(37748744)}},Al=class extends xr{constructor(e,r,n,s=0){super(3,e,r,n);this.isImmutable=!1;this.decoratorFlags=s,this.setType(u.i32)}get valueNode(){return this.declaration.initializer}},br=class extends xr{constructor(i,e,r,n=e.program.makeNativeVariableDeclaration(i)){super(0,i,e,n),this.decoratorFlags=r}},zp=class{constructor(i,e,r=null){this.name=i;this.type=e;this.initializer=r}},ze=class extends xr{constructor(e,r,n,s,a=s.program.makeNativeVariableDeclaration(e)){super(1,e,s,a);this.index=r;this.originalName=e,this.index=r,assert(n!=u.void),this.setType(n)}declaredByFlow(e){return this.parent==e.targetFunction}},je=class t extends Ht{constructor(e,r,n,s=0){super(4,e,Pe(e,r,n.is(262144)),r.program,r,n);this.operatorKind=0;this.instances=null;this.unboundOverrides=null;this.boundPrototypes=null;this.decoratorFlags=s}get typeParameterNodes(){return this.declaration.typeParameters}get functionTypeNode(){return this.declaration.signature}get bodyNode(){return this.declaration.body}get arrowKind(){return this.declaration.arrowKind}toBound(e){assert(this.is(262144)),assert(!this.isBound);let r=this.boundPrototypes;if(!r)this.boundPrototypes=r=new Map;else if(r.has(e))return assert(r.get(e));let n=this.declaration;assert(n.kind==58);let s=new t(this.name,e,n,this.decoratorFlags);return s.flags=this.flags,s.operatorKind=this.operatorKind,s.unboundOverrides=this.unboundOverrides,r.set(e,s),s}getResolvedInstance(e){let r=this.instances;return r&&r.has(e)?assert(r.get(e)):null}setResolvedInstance(e,r){let n=this.instances;n?assert(!n.has(e)):this.instances=n=new Map,n.set(e,r)}},ct=class t extends Ft{constructor(e,r,n,s,a=null){super(5,e,Pe(e,r.parent,r.is(262144)),r.program,r.parent,r.declaration);this.localsByIndex=[];this.debugLocations=new Map;this.ref=0;this.varargsStub=null;this.overrideStub=null;this.memorySegment=null;this.nextInlineId=0;this.nextAnonymousId=0;this.nextBreakId=0;this.breakStack=null;this.prototype=r,this.typeArguments=n,this.signature=s,this.flags=r.flags|4194304,this.decoratorFlags=r.decoratorFlags,this.contextualTypeArguments=a,this.original=this;let l=r.program;this.type=s.type;let o=St.createDefault(this);if(this.flow=o,!r.is(32768)){let p=0,c=s.thisType;if(c){let f=new ze(B.this_,p++,c,this),d=this.flow.scopedLocals;d||(this.flow.scopedLocals=d=new Map),d.set(B.this_,f),this.localsByIndex[f.index]=f,o.setLocalFlag(f.index,8)}let _=s.parameterTypes;for(let f=0,d=_.length;fe?r[e].name.text:jy(e)}newStub(e,r=this.signature.requiredParameters){let n=new t(this.original.name+Zu+e,this.prototype,this.typeArguments,this.signature.clone(r),this.contextualTypeArguments);return n.original=this.original,n.set(this.flags&-8388609|134217728),n}addLocal(e,r=null,n=null){let s=this.localsByIndex,a=s.length,l=r??a.toString();n||(n=this.program.makeNativeVariableDeclaration(l));let o=new ze(l,a,e,this,n);if(r){let p=this.flow,c=p.scopedLocals;if(c||(p.scopedLocals=c=new Map),c.has(r))throw new Error("duplicate local name");c.set(r,o)}return s[a]=o,o}lookup(e,r=!1){if(!r){let n=this.flow.scopedLocals;if(n&&n.has(e))return assert(n.get(e))}return super.lookup(e,r)}finalize(e,r){this.ref=r;let n=this.breakStack;assert(!n||!n.length),this.breakStack=null,this.addDebugInfo(e,r)}addDebugInfo(e,r){if(this.program.options.sourceMap){let n=this.debugLocations;for(let s=Map_keys(n),a=0,l=s.length;a0)throw new Error("type argument count mismatch");Vp(a,this)}get id(){return this._id}get isBuiltinArray(){return this.prototype.isBuiltinArray}get isArrayLike(){if(this.isBuiltinArray)return!0;let e=this.getMember("length");return e?(e.kind==11&&e.getterInstance!=null||e.kind==10&&e.getterPrototype!=null)&&(this.lookupOverload(1)!=null||this.lookupOverload(3)!=null):!1}get isInterface(){return this.kind==9}static leastUpperBound(e,r){if(e==r)return e;let n=new Set;for(n.add(e),n.add(r);;){let s=e.base,a=r.base;if(!s&&!a)return null;if(s){if(n.has(s))return s;n.add(e=s)}if(a){if(n.has(a))return a;n.add(r=a)}}}setBase(e){assert(!this.base),this.base=e;let r=e.contextualTypeArguments;if(r){let a=this.contextualTypeArguments;for(let l=Map_keys(r),o=0,p=l.length;o=0),s.memoryOffset):0}createBuffer(e=0){let r=this.program,n=this.nextMemoryOffset+e,s=r.computeBlockSize(n,!0),a=new Uint8Array(r.blockOverhead+s),l=r.OBJECTInstance;return l.writeField("mmInfo",s,a,0),l.writeField("gcInfo",0,a,0),l.writeField("gcInfo2",0,a,0),l.writeField("rtId",this.id,a,0),l.writeField("rtSize",n,a,0),a}writeField(e,r,n,s=this.program.totalOverhead){let a=this.getMember(e);if(a&&a.kind==10){let o=a.instance;if(!o)return 0;assert(o.isField&&o.memoryOffset>=0);let p=s+o.memoryOffset,c=o.type.kind;switch(c){case 1:case 6:return assert(!i64_is(r)),ce(i32(r),n,p),1;case 2:case 7:return assert(!i64_is(r)),Vt(i32(r),n,p),2;case 3:case 8:return assert(!i64_is(r)),he(i32(r),n,p),4;case 5:case 10:return this.program.options.isWasm64?(i64_is(r)?Jr(r,n,p):Ks(i32(r),n,p,c==10),8):(i64_is(r)?Yu(r,n,p,c==10):he(i32(r),n,p),4);case 4:case 9:return i64_is(r)?Jr(r,n,p):Ks(i32(r),n,p,c==9),8;case 11:return assert(!i64_is(r)),ur(f32(r),n,p),4;case 12:return assert(!i64_is(r)),pr(f64(r),n,p),8}}return assert(!1),0}extendsPrototype(e){return this.prototype.extends(e)}getTypeArgumentsTo(e){let r=this;do{if(r.prototype==e)return r.typeArguments;r=r.base}while(r);return null}getArrayValueType(){let e=this,r=this.program,n=r.arrayPrototype;if(this.extendsPrototype(n))return this.getTypeArgumentsTo(n)[0];let s=r.staticArrayPrototype;if(this.extendsPrototype(s))return this.getTypeArgumentsTo(s)[0];let a=r.arrayBufferViewInstance;for(;e.base!=a;)e=assert(e.base);let l=e.prototype;switch(l.name.charCodeAt(0)){case 70:{if(l==r.float32ArrayPrototype)return u.f32;if(l==r.float64ArrayPrototype)return u.f64;break}case 73:{if(l==r.int8ArrayPrototype)return u.i8;if(l==r.int16ArrayPrototype)return u.i16;if(l==r.int32ArrayPrototype)return u.i32;if(l==r.int64ArrayPrototype)return u.i64;break}case 85:{if(l==r.uint8ArrayPrototype)return u.u8;if(l==r.uint8ClampedArrayPrototype)return u.u8;if(l==r.uint16ArrayPrototype)return u.u16;if(l==r.uint32ArrayPrototype)return u.u32;if(l==r.uint64ArrayPrototype)return u.u64;break}}return assert(!1),u.void}get isPointerfree(){let e=this.program,r=this.members;if(r){for(let n=Map_values(r),s=0,a=n.length;s(O[O.Bool=0]="Bool",O[O.I8=1]="I8",O[O.I16=2]="I16",O[O.I32=3]="I32",O[O.I64=4]="I64",O[O.Isize=5]="Isize",O[O.U8=6]="U8",O[O.U16=7]="U16",O[O.U32=8]="U32",O[O.U64=9]="U64",O[O.Usize=10]="Usize",O[O.F32=11]="F32",O[O.F64=12]="F64",O[O.V128=13]="V128",O[O.Extern=14]="Extern",O[O.Func=15]="Func",O[O.Any=16]="Any",O[O.Eq=17]="Eq",O[O.Struct=18]="Struct",O[O.Array=19]="Array",O[O.I31=20]="I31",O[O.String=21]="String",O[O.StringviewWTF8=22]="StringviewWTF8",O[O.StringviewWTF16=23]="StringviewWTF16",O[O.StringviewIter=24]="StringviewIter",O[O.Void=25]="Void",O))(Wt||{}),pt=(S=>(S[S.None=0]="None",S[S.Signed=1]="Signed",S[S.Unsigned=2]="Unsigned",S[S.Integer=4]="Integer",S[S.Float=8]="Float",S[S.Varying=16]="Varying",S[S.Short=32]="Short",S[S.Long=64]="Long",S[S.Value=128]="Value",S[S.Reference=256]="Reference",S[S.Nullable=512]="Nullable",S[S.Vector=1024]="Vector",S[S.External=2048]="External",S[S.Class=4096]="Class",S[S.Function=8192]="Function",S))(pt||{}),u=class t{constructor(i,e,r){this.classReference=null;this.signatureReference=null;this._nonNullableType=null;this._nullableType=null;this.ref=0;this.kind=i,this.flags=e,this.size=r,e&512?this._nullableType=this:this._nonNullableType=this}get intType(){if(this==t.auto)return this;switch(this.kind){case 0:case 3:case 11:return t.i32;case 1:return t.i8;case 2:return t.i16;case 12:case 4:return t.i64;case 5:return this.size==64?t.isize64:t.isize32;case 6:return t.u8;case 7:return t.u16;case 8:return t.u32;case 9:return t.u64;case 10:return this.size==64?t.usize64:t.usize32;default:return t.i32}}get exceptVoid(){return this.kind==25?t.auto:this}get byteSize(){return this.size+7>>>3}get alignLog2(){return 31-clz(this.byteSize)}get isValue(){return this.is(128)}get isIntegerValue(){return this.is(132)}get isShortIntegerValue(){return this.is(164)}get isLongIntegerValue(){return this.is(196)}get isSignedIntegerValue(){return this.is(133)}get isUnsignedIntegerValue(){return this.is(134)}get isVaryingIntegerValue(){return this.is(148)}get isIntegerInclReference(){return this.is(4)}get isFloatValue(){return this.is(136)}get isNumericValue(){return this.isIntegerValue||this.isFloatValue}get isBooleanValue(){return this==t.bool}get isVectorValue(){return this.is(1152)}get isReference(){return this.is(256)}get isNullableReference(){return this.is(768)}get isInternalReference(){return this.is(260)}get isExternalReference(){return this.is(2304)}get isNullableExternalReference(){return this.is(2816)}getClass(){return this.isInternalReference?this.classReference:null}get isClass(){return this.getClass()!=null}getClassOrWrapper(i){let e=this.getClass();if(e)return e;{let r=this.getSignature();if(r){let n=r.type,s=assert(i.resolver.resolveClass(i.functionPrototype,[n]));return s.wrappedType=n,s}else{let n=i.wrapperClasses;if(n.has(this))return assert(n.get(this))}}return null}getSignature(){return this.isInternalReference?this.signatureReference:null}get isFunction(){return this.getSignature()!=null}get isManaged(){if(this.isInternalReference){let i=this.classReference;return i?!i.hasDecorator(16):this.signatureReference!=null}return!1}get isUnmanaged(){let i=this.classReference;return i!=null&&i.hasDecorator(16)}get isMemory(){switch(this.kind){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:return!0}return!1}get nonNullableType(){return assert(this._nonNullableType)}get nullableType(){return this.isReference?this.asNullable():null}computeSmallIntegerShift(i){return i.size-this.size}computeSmallIntegerMask(i){let e=this.size;return this.is(2)||(e-=1),-1>>>i.size-e}is(i){return(this.flags&i)==i}isAny(i){return(this.flags&i)!=0}asNullable(){assert(this.isReference);let i=this._nullableType;return i||(assert(!this.isNullableReference),this._nullableType=i=new t(this.kind,this.flags|512,this.size),i.classReference=this.classReference,i.signatureReference=this.signatureReference,i._nonNullableType=this),i}toUnsigned(){switch(this.kind){case 1:return t.u8;case 2:return t.u16;case 3:return t.u32;case 4:return t.u64;case 5:return this.size==64?t.usize64:t.usize32}return this}equals(i){if(this.kind!=i.kind)return!1;if(this.isReference){let e=this.signatureReference,r=i.signatureReference;return this.classReference==i.classReference&&e==r&&this.isNullableReference==i.isNullableReference}return!0}isAssignableTo(i,e=!1){let r,n,s,a;if(this.isReference){if(i.isReference&&(!this.isNullableReference||i.isNullableReference)){if(r=this.getClass()){if(n=i.getClass())return r.isAssignableTo(n)}else if(s=this.getSignature()){if(a=i.getSignature())return s.isAssignableTo(a)}else if(this.isExternalReference&&(this.kind==i.kind||i.kind==16&&this.kind!=14))return!0}}else if(!i.isReference){if(this.isIntegerValue)if(i.isIntegerValue){if(!e||this.isBooleanValue||this.isSignedIntegerValue==i.isSignedIntegerValue)return this.size<=i.size}else{if(i.kind==11)return this.size<=23;if(i.kind==12)return this.size<=52}else if(this.isFloatValue){if(i.isFloatValue)return this.size<=i.size}else if(this.isVectorValue&&i.isVectorValue)return this.size==i.size}return!1}isStrictlyAssignableTo(i,e=!1){return this.isReference?this.isAssignableTo(i):i.isReference?!1:this.isIntegerValue?i.isIntegerValue&&i.size==this.size&&(!e||this.isSignedIntegerValue==i.isSignedIntegerValue):this.kind==i.kind}hasSubtypeAssignableTo(i){let e=this.getClass(),r=i.getClass();return!e||!r?!1:e.hasSubclassAssignableTo(r)}isChangeableTo(i){if(this.is(4)&&i.is(4)){let e=this.size;return e==i.size&&(e>=32||this.is(1)==i.is(1))}return this.kind==i.kind}canExtendOrImplement(i){let e=this.getClass(),r=i.getClass();if(!e||!r||this.isManaged!=i.isManaged)return!1;if(this.isInternalReference){if(!i.isInternalReference)return!1}else if(this.isExternalReference){if(!i.isExternalReference)return!1}else return!1;return!0}static commonType(i,e,r=t.auto,n=!1){if(i.isInternalReference){if(!e.isInternalReference)return null;if(r!=t.void&&i.isAssignableTo(r)&&e.isAssignableTo(r))return r;let s=i.getClass(),a=e.getClass();if(s&&a){let l=Kt.leastUpperBound(s,a);if(l)return i.is(512)||e.is(512)?l.type.asNullable():l.type}}else if(e.isInternalReference)return null;return e.isAssignableTo(i,n)?i:i.isAssignableTo(e,n)?e:null}kindToString(){switch(this.kind){case 0:return B.bool;case 1:return B.i8;case 2:return B.i16;case 3:return B.i32;case 4:return B.i64;case 5:return B.isize;case 6:return B.u8;case 7:return B.u16;case 8:return B.u32;case 9:return B.u64;case 10:return B.usize;case 11:return B.f32;case 12:return B.f64;case 13:return B.v128;case 15:return B.ref_func;case 14:return B.ref_extern;case 16:return B.ref_any;case 17:return B.ref_eq;case 18:return B.ref_struct;case 19:return B.ref_array;case 20:return B.ref_i31;case 21:return B.ref_string;case 22:return B.ref_stringview_wtf8;case 23:return B.ref_stringview_wtf16;case 24:return B.ref_stringview_iter;default:assert(!1);case 25:return B.void_}}toString(i=!1){let e=i?"|null":" | null";if(this.isReference){let r=this.getClass();if(r)return this.isNullableReference?r.internalName+e:r.internalName;{let n=this.getSignature();return n?this.isNullableReference?`(${n.toString(i)})${e}`:n.toString(i):this.isNullableReference?`${this.kindToString()}${e}`:this.kindToString()}}return this.kindToString()}toRef(){switch(this.kind){case 0:case 1:case 2:case 3:case 6:case 7:case 8:return P.I32;case 5:case 10:if(this.size!=64)return P.I32;case 4:case 9:return P.I64;case 11:return P.F32;case 12:return P.F64;case 13:return P.V128;case 15:return ae(ue.Func,this.is(512));case 14:return ae(ue.Extern,this.is(512));case 16:return ae(ue.Any,this.is(512));case 17:return ae(ue.Eq,this.is(512));case 18:return ae(ue.Struct,this.is(512));case 19:return ae(ue.Array,this.is(512));case 20:return ae(ue.I31,this.is(512));case 21:return ae(ue.String,this.is(512));case 22:return ae(ue.StringviewWTF8,this.is(512));case 23:return ae(ue.StringviewWTF16,this.is(512));case 24:return ae(ue.StringviewIter,this.is(512));case 25:return P.None}return assert(!1),Pn(this)}static{this.i8=new t(1,165,8)}static{this.i16=new t(2,165,16)}static{this.i32=new t(3,133,32)}static{this.i64=new t(4,197,64)}static{this.isize32=new t(5,149,32)}static{this.isize64=new t(5,213,64)}static{this.u8=new t(6,166,8)}static{this.u16=new t(7,166,16)}static{this.u32=new t(8,134,32)}static{this.u64=new t(9,198,64)}static{this.usize32=new t(10,150,32)}static{this.usize64=new t(10,214,64)}static{this.bool=new t(0,166,1)}static{this.f32=new t(11,137,32)}static{this.f64=new t(12,201,64)}static{this.v128=new t(13,1152,128)}static{this.func=new t(15,2304,0)}static{this.extern=new t(14,2304,0)}static{this.any=new t(16,2304,0)}static{this.eq=new t(17,2304,0)}static{this.struct=new t(18,2304,0)}static{this.array=new t(19,2304,0)}static{this.i31=new t(20,2304,0)}static{this.string=new t(21,2304,0)}static{this.stringview_wtf8=new t(22,2304,0)}static{this.stringview_wtf16=new t(23,2304,0)}static{this.stringview_iter=new t(24,2304,0)}static{this.void=new t(25,0,0)}static{this.auto=new t(t.i32.kind,t.i32.flags,t.i32.size)}};function Tr(t){let i=t.length,e=new Array(i);for(let r=0;r=l&&p!=o&&e.push("?")}return e.push(i?"%29=>":") => "),e.push(this.returnType.toString(i)),e.join("")}clone(i=this.requiredParameters,e=this.hasRest){let r=this.parameterTypes,n=r.length,s=new Array(n);for(let a=0;a(m.start="~start",m.started="~started",m.argumentsLength="~argumentsLength",m.setArgumentsLength="~setArgumentsLength",m.abort="~lib/builtins/abort",m.trace="~lib/builtins/trace",m.seed="~lib/builtins/seed",m.isBoolean="~lib/builtins/isBoolean",m.isInteger="~lib/builtins/isInteger",m.isSigned="~lib/builtins/isSigned",m.isFloat="~lib/builtins/isFloat",m.isVector="~lib/builtins/isVector",m.isReference="~lib/builtins/isReference",m.isString="~lib/builtins/isString",m.isArray="~lib/builtins/isArray",m.isArrayLike="~lib/builtins/isArrayLike",m.isFunction="~lib/builtins/isFunction",m.isNullable="~lib/builtins/isNullable",m.isDefined="~lib/builtins/isDefined",m.isConstant="~lib/builtins/isConstant",m.isManaged="~lib/builtins/isManaged",m.isVoid="~lib/builtins/isVoid",m.add="~lib/builtins/add",m.sub="~lib/builtins/sub",m.mul="~lib/builtins/mul",m.div="~lib/builtins/div",m.clz="~lib/builtins/clz",m.ctz="~lib/builtins/ctz",m.popcnt="~lib/builtins/popcnt",m.rotl="~lib/builtins/rotl",m.rotr="~lib/builtins/rotr",m.abs="~lib/builtins/abs",m.max="~lib/builtins/max",m.min="~lib/builtins/min",m.ceil="~lib/builtins/ceil",m.floor="~lib/builtins/floor",m.copysign="~lib/builtins/copysign",m.nearest="~lib/builtins/nearest",m.reinterpret="~lib/builtins/reinterpret",m.sqrt="~lib/builtins/sqrt",m.trunc="~lib/builtins/trunc",m.eq="~lib/builtins/eq",m.ne="~lib/builtins/ne",m.rem="~lib/builtins/rem",m.load="~lib/builtins/load",m.store="~lib/builtins/store",m.atomic_load="~lib/builtins/atomic.load",m.atomic_store="~lib/builtins/atomic.store",m.atomic_add="~lib/builtins/atomic.add",m.atomic_sub="~lib/builtins/atomic.sub",m.atomic_and="~lib/builtins/atomic.and",m.atomic_or="~lib/builtins/atomic.or",m.atomic_xor="~lib/builtins/atomic.xor",m.atomic_xchg="~lib/builtins/atomic.xchg",m.atomic_cmpxchg="~lib/builtins/atomic.cmpxchg",m.atomic_wait="~lib/builtins/atomic.wait",m.atomic_notify="~lib/builtins/atomic.notify",m.atomic_fence="~lib/builtins/atomic.fence",m.sizeof="~lib/builtins/sizeof",m.alignof="~lib/builtins/alignof",m.offsetof="~lib/builtins/offsetof",m.nameof="~lib/builtins/nameof",m.lengthof="~lib/builtins/lengthof",m.select="~lib/builtins/select",m.unreachable="~lib/builtins/unreachable",m.changetype="~lib/builtins/changetype",m.assert="~lib/builtins/assert",m.call_indirect="~lib/builtins/call_indirect",m.unchecked="~lib/builtins/unchecked",m.instantiate="~lib/builtins/instantiate",m.idof="~lib/builtins/idof",m.i8="~lib/builtins/i8",m.i16="~lib/builtins/i16",m.i32="~lib/builtins/i32",m.i64="~lib/builtins/i64",m.isize="~lib/builtins/isize",m.u8="~lib/builtins/u8",m.u16="~lib/builtins/u16",m.u32="~lib/builtins/u32",m.u64="~lib/builtins/u64",m.usize="~lib/builtins/usize",m.bool="~lib/builtins/bool",m.f32="~lib/builtins/f32",m.f64="~lib/builtins/f64",m.v128="~lib/builtins/v128",m.i32_clz="~lib/builtins/i32.clz",m.i64_clz="~lib/builtins/i64.clz",m.i32_ctz="~lib/builtins/i32.ctz",m.i64_ctz="~lib/builtins/i64.ctz",m.i32_popcnt="~lib/builtins/i32.popcnt",m.i64_popcnt="~lib/builtins/i64.popcnt",m.i32_rotl="~lib/builtins/i32.rotl",m.i64_rotl="~lib/builtins/i64.rotl",m.i32_rotr="~lib/builtins/i32.rotr",m.i64_rotr="~lib/builtins/i64.rotr",m.f32_abs="~lib/builtins/f32.abs",m.f64_abs="~lib/builtins/f64.abs",m.f32_max="~lib/builtins/f32.max",m.f64_max="~lib/builtins/f64.max",m.f32_min="~lib/builtins/f32.min",m.f64_min="~lib/builtins/f64.min",m.f32_ceil="~lib/builtins/f32.ceil",m.f64_ceil="~lib/builtins/f64.ceil",m.f32_floor="~lib/builtins/f32.floor",m.f64_floor="~lib/builtins/f64.floor",m.f32_copysign="~lib/builtins/f32.copysign",m.f64_copysign="~lib/builtins/f64.copysign",m.f32_nearest="~lib/builtins/f32.nearest",m.f64_nearest="~lib/builtins/f64.nearest",m.i32_reinterpret_f32="~lib/builtins/i32.reinterpret_f32",m.i64_reinterpret_f64="~lib/builtins/i64.reinterpret_f64",m.f32_reinterpret_i32="~lib/builtins/f32.reinterpret_i32",m.f64_reinterpret_i64="~lib/builtins/f64.reinterpret_i64",m.f32_sqrt="~lib/builtins/f32.sqrt",m.f64_sqrt="~lib/builtins/f64.sqrt",m.f32_trunc="~lib/builtins/f32.trunc",m.f64_trunc="~lib/builtins/f64.trunc",m.i32_add="~lib/builtins/i32.add",m.i64_add="~lib/builtins/i64.add",m.f32_add="~lib/builtins/f32.add",m.f64_add="~lib/builtins/f64.add",m.i32_sub="~lib/builtins/i32.sub",m.i64_sub="~lib/builtins/i64.sub",m.f32_sub="~lib/builtins/f32.sub",m.f64_sub="~lib/builtins/f64.sub",m.i32_mul="~lib/builtins/i32.mul",m.i64_mul="~lib/builtins/i64.mul",m.f32_mul="~lib/builtins/f32.mul",m.f64_mul="~lib/builtins/f64.mul",m.i32_div_s="~lib/builtins/i32.div_s",m.i32_div_u="~lib/builtins/i32.div_u",m.i64_div_s="~lib/builtins/i64.div_s",m.i64_div_u="~lib/builtins/i64.div_u",m.f32_div="~lib/builtins/f32.div",m.f64_div="~lib/builtins/f64.div",m.i32_eq="~lib/builtins/i32.eq",m.i64_eq="~lib/builtins/i64.eq",m.f32_eq="~lib/builtins/f32.eq",m.f64_eq="~lib/builtins/f64.eq",m.i32_ne="~lib/builtins/i32.ne",m.i64_ne="~lib/builtins/i64.ne",m.f32_ne="~lib/builtins/f32.ne",m.f64_ne="~lib/builtins/f64.ne",m.i32_rem_s="~lib/builtins/i32.rem_s",m.i32_rem_u="~lib/builtins/i32.rem_u",m.i64_rem_s="~lib/builtins/i64.rem_s",m.i64_rem_u="~lib/builtins/i64.rem_u",m.i32_load8_s="~lib/builtins/i32.load8_s",m.i32_load8_u="~lib/builtins/i32.load8_u",m.i32_load16_s="~lib/builtins/i32.load16_s",m.i32_load16_u="~lib/builtins/i32.load16_u",m.i32_load="~lib/builtins/i32.load",m.i64_load8_s="~lib/builtins/i64.load8_s",m.i64_load8_u="~lib/builtins/i64.load8_u",m.i64_load16_s="~lib/builtins/i64.load16_s",m.i64_load16_u="~lib/builtins/i64.load16_u",m.i64_load32_s="~lib/builtins/i64.load32_s",m.i64_load32_u="~lib/builtins/i64.load32_u",m.i64_load="~lib/builtins/i64.load",m.f32_load="~lib/builtins/f32.load",m.f64_load="~lib/builtins/f64.load",m.i32_store8="~lib/builtins/i32.store8",m.i32_store16="~lib/builtins/i32.store16",m.i32_store="~lib/builtins/i32.store",m.i64_store8="~lib/builtins/i64.store8",m.i64_store16="~lib/builtins/i64.store16",m.i64_store32="~lib/builtins/i64.store32",m.i64_store="~lib/builtins/i64.store",m.f32_store="~lib/builtins/f32.store",m.f64_store="~lib/builtins/f64.store",m.i32_atomic_load8_u="~lib/builtins/i32.atomic.load8_u",m.i32_atomic_load16_u="~lib/builtins/i32.atomic.load16_u",m.i32_atomic_load="~lib/builtins/i32.atomic.load",m.i64_atomic_load8_u="~lib/builtins/i64.atomic.load8_u",m.i64_atomic_load16_u="~lib/builtins/i64.atomic.load16_u",m.i64_atomic_load32_u="~lib/builtins/i64.atomic.load32_u",m.i64_atomic_load="~lib/builtins/i64.atomic.load",m.i32_atomic_store8="~lib/builtins/i32.atomic.store8",m.i32_atomic_store16="~lib/builtins/i32.atomic.store16",m.i32_atomic_store="~lib/builtins/i32.atomic.store",m.i64_atomic_store8="~lib/builtins/i64.atomic.store8",m.i64_atomic_store16="~lib/builtins/i64.atomic.store16",m.i64_atomic_store32="~lib/builtins/i64.atomic.store32",m.i64_atomic_store="~lib/builtins/i64.atomic.store",m.i32_atomic_rmw8_add_u="~lib/builtins/i32.atomic.rmw8.add_u",m.i32_atomic_rmw16_add_u="~lib/builtins/i32.atomic.rmw16.add_u",m.i32_atomic_rmw_add="~lib/builtins/i32.atomic.rmw.add",m.i64_atomic_rmw8_add_u="~lib/builtins/i64.atomic.rmw8.add_u",m.i64_atomic_rmw16_add_u="~lib/builtins/i64.atomic.rmw16.add_u",m.i64_atomic_rmw32_add_u="~lib/builtins/i64.atomic.rmw32.add_u",m.i64_atomic_rmw_add="~lib/builtins/i64.atomic.rmw.add",m.i32_atomic_rmw8_sub_u="~lib/builtins/i32.atomic.rmw8.sub_u",m.i32_atomic_rmw16_sub_u="~lib/builtins/i32.atomic.rmw16.sub_u",m.i32_atomic_rmw_sub="~lib/builtins/i32.atomic.rmw.sub",m.i64_atomic_rmw8_sub_u="~lib/builtins/i64.atomic.rmw8.sub_u",m.i64_atomic_rmw16_sub_u="~lib/builtins/i64.atomic.rmw16.sub_u",m.i64_atomic_rmw32_sub_u="~lib/builtins/i64.atomic.rmw32.sub_u",m.i64_atomic_rmw_sub="~lib/builtins/i64.atomic.rmw.sub",m.i32_atomic_rmw8_and_u="~lib/builtins/i32.atomic.rmw8.and_u",m.i32_atomic_rmw16_and_u="~lib/builtins/i32.atomic.rmw16.and_u",m.i32_atomic_rmw_and="~lib/builtins/i32.atomic.rmw.and",m.i64_atomic_rmw8_and_u="~lib/builtins/i64.atomic.rmw8.and_u",m.i64_atomic_rmw16_and_u="~lib/builtins/i64.atomic.rmw16.and_u",m.i64_atomic_rmw32_and_u="~lib/builtins/i64.atomic.rmw32.and_u",m.i64_atomic_rmw_and="~lib/builtins/i64.atomic.rmw.and",m.i32_atomic_rmw8_or_u="~lib/builtins/i32.atomic.rmw8.or_u",m.i32_atomic_rmw16_or_u="~lib/builtins/i32.atomic.rmw16.or_u",m.i32_atomic_rmw_or="~lib/builtins/i32.atomic.rmw.or",m.i64_atomic_rmw8_or_u="~lib/builtins/i64.atomic.rmw8.or_u",m.i64_atomic_rmw16_or_u="~lib/builtins/i64.atomic.rmw16.or_u",m.i64_atomic_rmw32_or_u="~lib/builtins/i64.atomic.rmw32.or_u",m.i64_atomic_rmw_or="~lib/builtins/i64.atomic.rmw.or",m.i32_atomic_rmw8_xor_u="~lib/builtins/i32.atomic.rmw8.xor_u",m.i32_atomic_rmw16_xor_u="~lib/builtins/i32.atomic.rmw16.xor_u",m.i32_atomic_rmw_xor="~lib/builtins/i32.atomic.rmw.xor",m.i64_atomic_rmw8_xor_u="~lib/builtins/i64.atomic.rmw8.xor_u",m.i64_atomic_rmw16_xor_u="~lib/builtins/i64.atomic.rmw16.xor_u",m.i64_atomic_rmw32_xor_u="~lib/builtins/i64.atomic.rmw32.xor_u",m.i64_atomic_rmw_xor="~lib/builtins/i64.atomic.rmw.xor",m.i32_atomic_rmw8_xchg_u="~lib/builtins/i32.atomic.rmw8.xchg_u",m.i32_atomic_rmw16_xchg_u="~lib/builtins/i32.atomic.rmw16.xchg_u",m.i32_atomic_rmw_xchg="~lib/builtins/i32.atomic.rmw.xchg",m.i64_atomic_rmw8_xchg_u="~lib/builtins/i64.atomic.rmw8.xchg_u",m.i64_atomic_rmw16_xchg_u="~lib/builtins/i64.atomic.rmw16.xchg_u",m.i64_atomic_rmw32_xchg_u="~lib/builtins/i64.atomic.rmw32.xchg_u",m.i64_atomic_rmw_xchg="~lib/builtins/i64.atomic.rmw.xchg",m.i32_atomic_rmw8_cmpxchg_u="~lib/builtins/i32.atomic.rmw8.cmpxchg_u",m.i32_atomic_rmw16_cmpxchg_u="~lib/builtins/i32.atomic.rmw16.cmpxchg_u",m.i32_atomic_rmw_cmpxchg="~lib/builtins/i32.atomic.rmw.cmpxchg",m.i64_atomic_rmw8_cmpxchg_u="~lib/builtins/i64.atomic.rmw8.cmpxchg_u",m.i64_atomic_rmw16_cmpxchg_u="~lib/builtins/i64.atomic.rmw16.cmpxchg_u",m.i64_atomic_rmw32_cmpxchg_u="~lib/builtins/i64.atomic.rmw32.cmpxchg_u",m.i64_atomic_rmw_cmpxchg="~lib/builtins/i64.atomic.rmw.cmpxchg",m.memory_atomic_wait32="~lib/memory/memory.atomic.wait32",m.memory_atomic_wait64="~lib/memory/memory.atomic.wait64",m.v128_splat="~lib/builtins/v128.splat",m.v128_extract_lane="~lib/builtins/v128.extract_lane",m.v128_replace_lane="~lib/builtins/v128.replace_lane",m.v128_shuffle="~lib/builtins/v128.shuffle",m.v128_swizzle="~lib/builtins/v128.swizzle",m.v128_load_splat="~lib/builtins/v128.load_splat",m.v128_load_ext="~lib/builtins/v128.load_ext",m.v128_load_zero="~lib/builtins/v128.load_zero",m.v128_load_lane="~lib/builtins/v128.load_lane",m.v128_store_lane="~lib/builtins/v128.store_lane",m.v128_load="~lib/builtins/v128.load",m.v128_load8x8_s="~lib/builtins/v128.load8x8_s",m.v128_load8x8_u="~lib/builtins/v128.load8x8_u",m.v128_load16x4_s="~lib/builtins/v128.load16x4_s",m.v128_load16x4_u="~lib/builtins/v128.load16x4_u",m.v128_load32x2_s="~lib/builtins/v128.load32x2_s",m.v128_load32x2_u="~lib/builtins/v128.load32x2_u",m.v128_load8_splat="~lib/builtins/v128.load8_splat",m.v128_load16_splat="~lib/builtins/v128.load16_splat",m.v128_load32_splat="~lib/builtins/v128.load32_splat",m.v128_load64_splat="~lib/builtins/v128.load64_splat",m.v128_load32_zero="~lib/builtins/v128.load32_zero",m.v128_load64_zero="~lib/builtins/v128.load64_zero",m.v128_load8_lane="~lib/builtins/v128.load8_lane",m.v128_load16_lane="~lib/builtins/v128.load16_lane",m.v128_load32_lane="~lib/builtins/v128.load32_lane",m.v128_load64_lane="~lib/builtins/v128.load64_lane",m.v128_store8_lane="~lib/builtins/v128.store8_lane",m.v128_store16_lane="~lib/builtins/v128.store16_lane",m.v128_store32_lane="~lib/builtins/v128.store32_lane",m.v128_store64_lane="~lib/builtins/v128.store64_lane",m.v128_store="~lib/builtins/v128.store",m.v128_add="~lib/builtins/v128.add",m.v128_sub="~lib/builtins/v128.sub",m.v128_mul="~lib/builtins/v128.mul",m.v128_div="~lib/builtins/v128.div",m.v128_neg="~lib/builtins/v128.neg",m.v128_add_sat="~lib/builtins/v128.add_sat",m.v128_sub_sat="~lib/builtins/v128.sub_sat",m.v128_shl="~lib/builtins/v128.shl",m.v128_shr="~lib/builtins/v128.shr",m.v128_and="~lib/builtins/v128.and",m.v128_or="~lib/builtins/v128.or",m.v128_xor="~lib/builtins/v128.xor",m.v128_andnot="~lib/builtins/v128.andnot",m.v128_not="~lib/builtins/v128.not",m.v128_bitselect="~lib/builtins/v128.bitselect",m.v128_any_true="~lib/builtins/v128.any_true",m.v128_all_true="~lib/builtins/v128.all_true",m.v128_bitmask="~lib/builtins/v128.bitmask",m.v128_popcnt="~lib/builtins/v128.popcnt",m.v128_min="~lib/builtins/v128.min",m.v128_max="~lib/builtins/v128.max",m.v128_pmin="~lib/builtins/v128.pmin",m.v128_pmax="~lib/builtins/v128.pmax",m.v128_dot="~lib/builtins/v128.dot",m.v128_avgr="~lib/builtins/v128.avgr",m.v128_abs="~lib/builtins/v128.abs",m.v128_sqrt="~lib/builtins/v128.sqrt",m.v128_ceil="~lib/builtins/v128.ceil",m.v128_floor="~lib/builtins/v128.floor",m.v128_trunc="~lib/builtins/v128.trunc",m.v128_nearest="~lib/builtins/v128.nearest",m.v128_eq="~lib/builtins/v128.eq",m.v128_ne="~lib/builtins/v128.ne",m.v128_lt="~lib/builtins/v128.lt",m.v128_le="~lib/builtins/v128.le",m.v128_gt="~lib/builtins/v128.gt",m.v128_ge="~lib/builtins/v128.ge",m.v128_convert="~lib/builtins/v128.convert",m.v128_convert_low="~lib/builtins/v128.convert_low",m.v128_trunc_sat="~lib/builtins/v128.trunc_sat",m.v128_trunc_sat_zero="~lib/builtins/v128.trunc_sat_zero",m.v128_narrow="~lib/builtins/v128.narrow",m.v128_extend_low="~lib/builtins/v128.extend_low",m.v128_extend_high="~lib/builtins/v128.extend_high",m.v128_extadd_pairwise="~lib/builtins/v128.extadd_pairwise",m.v128_demote_zero="~lib/builtins/v128.demote_zero",m.v128_promote_low="~lib/builtins/v128.promote_low",m.v128_q15mulr_sat="~lib/builtins/v128.q15mulr_sat",m.v128_extmul_low="~lib/builtins/v128.extmul_low",m.v128_extmul_high="~lib/builtins/v128.extmul_high",m.v128_relaxed_swizzle="~lib/builtins/v128.relaxed_swizzle",m.v128_relaxed_trunc="~lib/builtins/v128.relaxed_trunc",m.v128_relaxed_trunc_zero="~lib/builtins/v128.relaxed_trunc_zero",m.v128_relaxed_madd="~lib/builtins/v128.relaxed_madd",m.v128_relaxed_nmadd="~lib/builtins/v128.relaxed_nmadd",m.v128_relaxed_laneselect="~lib/builtins/v128.relaxed_laneselect",m.v128_relaxed_min="~lib/builtins/v128.relaxed_min",m.v128_relaxed_max="~lib/builtins/v128.relaxed_max",m.v128_relaxed_q15mulr="~lib/builtins/v128.relaxed_q15mulr",m.v128_relaxed_dot="~lib/builtins/v128.relaxed_dot",m.v128_relaxed_dot_add="~lib/builtins/v128.relaxed_dot_add",m.i8x16="~lib/builtins/i8x16",m.i16x8="~lib/builtins/i16x8",m.i32x4="~lib/builtins/i32x4",m.i64x2="~lib/builtins/i64x2",m.f32x4="~lib/builtins/f32x4",m.f64x2="~lib/builtins/f64x2",m.i8x16_splat="~lib/builtins/i8x16.splat",m.i8x16_extract_lane_s="~lib/builtins/i8x16.extract_lane_s",m.i8x16_extract_lane_u="~lib/builtins/i8x16.extract_lane_u",m.i8x16_replace_lane="~lib/builtins/i8x16.replace_lane",m.i8x16_add="~lib/builtins/i8x16.add",m.i8x16_sub="~lib/builtins/i8x16.sub",m.i8x16_mul="~lib/builtins/i8x16.mul",m.i8x16_min_s="~lib/builtins/i8x16.min_s",m.i8x16_min_u="~lib/builtins/i8x16.min_u",m.i8x16_max_s="~lib/builtins/i8x16.max_s",m.i8x16_max_u="~lib/builtins/i8x16.max_u",m.i8x16_avgr_u="~lib/builtins/i8x16.avgr_u",m.i8x16_abs="~lib/builtins/i8x16.abs",m.i8x16_neg="~lib/builtins/i8x16.neg",m.i8x16_add_sat_s="~lib/builtins/i8x16.add_sat_s",m.i8x16_add_sat_u="~lib/builtins/i8x16.add_sat_u",m.i8x16_sub_sat_s="~lib/builtins/i8x16.sub_sat_s",m.i8x16_sub_sat_u="~lib/builtins/i8x16.sub_sat_u",m.i8x16_shl="~lib/builtins/i8x16.shl",m.i8x16_shr_s="~lib/builtins/i8x16.shr_s",m.i8x16_shr_u="~lib/builtins/i8x16.shr_u",m.i8x16_all_true="~lib/builtins/i8x16.all_true",m.i8x16_bitmask="~lib/builtins/i8x16.bitmask",m.i8x16_popcnt="~lib/builtins/i8x16.popcnt",m.i8x16_eq="~lib/builtins/i8x16.eq",m.i8x16_ne="~lib/builtins/i8x16.ne",m.i8x16_lt_s="~lib/builtins/i8x16.lt_s",m.i8x16_lt_u="~lib/builtins/i8x16.lt_u",m.i8x16_le_s="~lib/builtins/i8x16.le_s",m.i8x16_le_u="~lib/builtins/i8x16.le_u",m.i8x16_gt_s="~lib/builtins/i8x16.gt_s",m.i8x16_gt_u="~lib/builtins/i8x16.gt_u",m.i8x16_ge_s="~lib/builtins/i8x16.ge_s",m.i8x16_ge_u="~lib/builtins/i8x16.ge_u",m.i8x16_narrow_i16x8_s="~lib/builtins/i8x16.narrow_i16x8_s",m.i8x16_narrow_i16x8_u="~lib/builtins/i8x16.narrow_i16x8_u",m.i8x16_shuffle="~lib/builtins/i8x16.shuffle",m.i8x16_swizzle="~lib/builtins/i8x16.swizzle",m.i16x8_splat="~lib/builtins/i16x8.splat",m.i16x8_extract_lane_s="~lib/builtins/i16x8.extract_lane_s",m.i16x8_extract_lane_u="~lib/builtins/i16x8.extract_lane_u",m.i16x8_replace_lane="~lib/builtins/i16x8.replace_lane",m.i16x8_add="~lib/builtins/i16x8.add",m.i16x8_sub="~lib/builtins/i16x8.sub",m.i16x8_mul="~lib/builtins/i16x8.mul",m.i16x8_min_s="~lib/builtins/i16x8.min_s",m.i16x8_min_u="~lib/builtins/i16x8.min_u",m.i16x8_max_s="~lib/builtins/i16x8.max_s",m.i16x8_max_u="~lib/builtins/i16x8.max_u",m.i16x8_avgr_u="~lib/builtins/i16x8.avgr_u",m.i16x8_abs="~lib/builtins/i16x8.abs",m.i16x8_neg="~lib/builtins/i16x8.neg",m.i16x8_add_sat_s="~lib/builtins/i16x8.add_sat_s",m.i16x8_add_sat_u="~lib/builtins/i16x8.add_sat_u",m.i16x8_sub_sat_s="~lib/builtins/i16x8.sub_sat_s",m.i16x8_sub_sat_u="~lib/builtins/i16x8.sub_sat_u",m.i16x8_shl="~lib/builtins/i16x8.shl",m.i16x8_shr_s="~lib/builtins/i16x8.shr_s",m.i16x8_shr_u="~lib/builtins/i16x8.shr_u",m.i16x8_all_true="~lib/builtins/i16x8.all_true",m.i16x8_bitmask="~lib/builtins/i16x8.bitmask",m.i16x8_eq="~lib/builtins/i16x8.eq",m.i16x8_ne="~lib/builtins/i16x8.ne",m.i16x8_lt_s="~lib/builtins/i16x8.lt_s",m.i16x8_lt_u="~lib/builtins/i16x8.lt_u",m.i16x8_le_s="~lib/builtins/i16x8.le_s",m.i16x8_le_u="~lib/builtins/i16x8.le_u",m.i16x8_gt_s="~lib/builtins/i16x8.gt_s",m.i16x8_gt_u="~lib/builtins/i16x8.gt_u",m.i16x8_ge_s="~lib/builtins/i16x8.ge_s",m.i16x8_ge_u="~lib/builtins/i16x8.ge_u",m.i16x8_narrow_i32x4_s="~lib/builtins/i16x8.narrow_i32x4_s",m.i16x8_narrow_i32x4_u="~lib/builtins/i16x8.narrow_i32x4_u",m.i16x8_extend_low_i8x16_s="~lib/builtins/i16x8.extend_low_i8x16_s",m.i16x8_extend_low_i8x16_u="~lib/builtins/i16x8.extend_low_i8x16_u",m.i16x8_extend_high_i8x16_s="~lib/builtins/i16x8.extend_high_i8x16_s",m.i16x8_extend_high_i8x16_u="~lib/builtins/i16x8.extend_high_i8x16_u",m.i16x8_extadd_pairwise_i8x16_s="~lib/builtins/i16x8.extadd_pairwise_i8x16_s",m.i16x8_extadd_pairwise_i8x16_u="~lib/builtins/i16x8.extadd_pairwise_i8x16_u",m.i16x8_q15mulr_sat_s="~lib/builtins/i16x8.q15mulr_sat_s",m.i16x8_extmul_low_i8x16_s="~lib/builtins/i16x8.extmul_low_i8x16_s",m.i16x8_extmul_low_i8x16_u="~lib/builtins/i16x8.extmul_low_i8x16_u",m.i16x8_extmul_high_i8x16_s="~lib/builtins/i16x8.extmul_high_i8x16_s",m.i16x8_extmul_high_i8x16_u="~lib/builtins/i16x8.extmul_high_i8x16_u",m.i16x8_shuffle="~lib/builtins/i16x8.shuffle",m.i32x4_splat="~lib/builtins/i32x4.splat",m.i32x4_extract_lane="~lib/builtins/i32x4.extract_lane",m.i32x4_replace_lane="~lib/builtins/i32x4.replace_lane",m.i32x4_add="~lib/builtins/i32x4.add",m.i32x4_sub="~lib/builtins/i32x4.sub",m.i32x4_mul="~lib/builtins/i32x4.mul",m.i32x4_min_s="~lib/builtins/i32x4.min_s",m.i32x4_min_u="~lib/builtins/i32x4.min_u",m.i32x4_max_s="~lib/builtins/i32x4.max_s",m.i32x4_max_u="~lib/builtins/i32x4.max_u",m.i32x4_dot_i16x8_s="~lib/builtins/i32x4.dot_i16x8_s",m.i32x4_abs="~lib/builtins/i32x4.abs",m.i32x4_neg="~lib/builtins/i32x4.neg",m.i32x4_shl="~lib/builtins/i32x4.shl",m.i32x4_shr_s="~lib/builtins/i32x4.shr_s",m.i32x4_shr_u="~lib/builtins/i32x4.shr_u",m.i32x4_all_true="~lib/builtins/i32x4.all_true",m.i32x4_bitmask="~lib/builtins/i32x4.bitmask",m.i32x4_eq="~lib/builtins/i32x4.eq",m.i32x4_ne="~lib/builtins/i32x4.ne",m.i32x4_lt_s="~lib/builtins/i32x4.lt_s",m.i32x4_lt_u="~lib/builtins/i32x4.lt_u",m.i32x4_le_s="~lib/builtins/i32x4.le_s",m.i32x4_le_u="~lib/builtins/i32x4.le_u",m.i32x4_gt_s="~lib/builtins/i32x4.gt_s",m.i32x4_gt_u="~lib/builtins/i32x4.gt_u",m.i32x4_ge_s="~lib/builtins/i32x4.ge_s",m.i32x4_ge_u="~lib/builtins/i32x4.ge_u",m.i32x4_trunc_sat_f32x4_s="~lib/builtins/i32x4.trunc_sat_f32x4_s",m.i32x4_trunc_sat_f32x4_u="~lib/builtins/i32x4.trunc_sat_f32x4_u",m.i32x4_trunc_sat_f64x2_s_zero="~lib/builtins/i32x4.trunc_sat_f64x2_s_zero",m.i32x4_trunc_sat_f64x2_u_zero="~lib/builtins/i32x4.trunc_sat_f64x2_u_zero",m.i32x4_extend_low_i16x8_s="~lib/builtins/i32x4.extend_low_i16x8_s",m.i32x4_extend_low_i16x8_u="~lib/builtins/i32x4.extend_low_i16x8_u",m.i32x4_extend_high_i16x8_s="~lib/builtins/i32x4.extend_high_i16x8_s",m.i32x4_extend_high_i16x8_u="~lib/builtins/i32x4.extend_high_i16x8_u",m.i32x4_extadd_pairwise_i16x8_s="~lib/builtins/i32x4.extadd_pairwise_i16x8_s",m.i32x4_extadd_pairwise_i16x8_u="~lib/builtins/i32x4.extadd_pairwise_i16x8_u",m.i32x4_extmul_low_i16x8_s="~lib/builtins/i32x4.extmul_low_i16x8_s",m.i32x4_extmul_low_i16x8_u="~lib/builtins/i32x4.extmul_low_i16x8_u",m.i32x4_extmul_high_i16x8_s="~lib/builtins/i32x4.extmul_high_i16x8_s",m.i32x4_extmul_high_i16x8_u="~lib/builtins/i32x4.extmul_high_i16x8_u",m.i32x4_shuffle="~lib/builtins/i32x4.shuffle",m.i64x2_splat="~lib/builtins/i64x2.splat",m.i64x2_extract_lane="~lib/builtins/i64x2.extract_lane",m.i64x2_replace_lane="~lib/builtins/i64x2.replace_lane",m.i64x2_add="~lib/builtins/i64x2.add",m.i64x2_sub="~lib/builtins/i64x2.sub",m.i64x2_mul="~lib/builtins/i64x2.mul",m.i64x2_abs="~lib/builtins/i64x2.abs",m.i64x2_neg="~lib/builtins/i64x2.neg",m.i64x2_shl="~lib/builtins/i64x2.shl",m.i64x2_shr_s="~lib/builtins/i64x2.shr_s",m.i64x2_shr_u="~lib/builtins/i64x2.shr_u",m.i64x2_all_true="~lib/builtins/i64x2.all_true",m.i64x2_bitmask="~lib/builtins/i64x2.bitmask",m.i64x2_eq="~lib/builtins/i64x2.eq",m.i64x2_ne="~lib/builtins/i64x2.ne",m.i64x2_lt_s="~lib/builtins/i64x2.lt_s",m.i64x2_lt_u="~lib/builtins/i64x2.lt_u",m.i64x2_le_s="~lib/builtins/i64x2.le_s",m.i64x2_le_u="~lib/builtins/i64x2.le_u",m.i64x2_gt_s="~lib/builtins/i64x2.gt_s",m.i64x2_gt_u="~lib/builtins/i64x2.gt_u",m.i64x2_ge_s="~lib/builtins/i64x2.ge_s",m.i64x2_ge_u="~lib/builtins/i64x2.ge_u",m.i64x2_extend_low_i32x4_s="~lib/builtins/i64x2.extend_low_i32x4_s",m.i64x2_extend_low_i32x4_u="~lib/builtins/i64x2.extend_low_i32x4_u",m.i64x2_extend_high_i32x4_s="~lib/builtins/i64x2.extend_high_i32x4_s",m.i64x2_extend_high_i32x4_u="~lib/builtins/i64x2.extend_high_i32x4_u",m.i64x2_extmul_low_i32x4_s="~lib/builtins/i64x2.extmul_low_i32x4_s",m.i64x2_extmul_low_i32x4_u="~lib/builtins/i64x2.extmul_low_i32x4_u",m.i64x2_extmul_high_i32x4_s="~lib/builtins/i64x2.extmul_high_i32x4_s",m.i64x2_extmul_high_i32x4_u="~lib/builtins/i64x2.extmul_high_i32x4_u",m.i64x2_shuffle="~lib/builtins/i64x2.shuffle",m.f32x4_splat="~lib/builtins/f32x4.splat",m.f32x4_extract_lane="~lib/builtins/f32x4.extract_lane",m.f32x4_replace_lane="~lib/builtins/f32x4.replace_lane",m.f32x4_add="~lib/builtins/f32x4.add",m.f32x4_sub="~lib/builtins/f32x4.sub",m.f32x4_mul="~lib/builtins/f32x4.mul",m.f32x4_div="~lib/builtins/f32x4.div",m.f32x4_neg="~lib/builtins/f32x4.neg",m.f32x4_min="~lib/builtins/f32x4.min",m.f32x4_max="~lib/builtins/f32x4.max",m.f32x4_pmin="~lib/builtins/f32x4.pmin",m.f32x4_pmax="~lib/builtins/f32x4.pmax",m.f32x4_abs="~lib/builtins/f32x4.abs",m.f32x4_sqrt="~lib/builtins/f32x4.sqrt",m.f32x4_ceil="~lib/builtins/f32x4.ceil",m.f32x4_floor="~lib/builtins/f32x4.floor",m.f32x4_trunc="~lib/builtins/f32x4.trunc",m.f32x4_nearest="~lib/builtins/f32x4.nearest",m.f32x4_eq="~lib/builtins/f32x4.eq",m.f32x4_ne="~lib/builtins/f32x4.ne",m.f32x4_lt="~lib/builtins/f32x4.lt",m.f32x4_le="~lib/builtins/f32x4.le",m.f32x4_gt="~lib/builtins/f32x4.gt",m.f32x4_ge="~lib/builtins/f32x4.ge",m.f32x4_convert_i32x4_s="~lib/builtins/f32x4.convert_i32x4_s",m.f32x4_convert_i32x4_u="~lib/builtins/f32x4.convert_i32x4_u",m.f32x4_demote_f64x2_zero="~lib/builtins/f32x4.demote_f64x2_zero",m.f32x4_shuffle="~lib/builtins/f32x4.shuffle",m.f64x2_splat="~lib/builtins/f64x2.splat",m.f64x2_extract_lane="~lib/builtins/f64x2.extract_lane",m.f64x2_replace_lane="~lib/builtins/f64x2.replace_lane",m.f64x2_add="~lib/builtins/f64x2.add",m.f64x2_sub="~lib/builtins/f64x2.sub",m.f64x2_mul="~lib/builtins/f64x2.mul",m.f64x2_div="~lib/builtins/f64x2.div",m.f64x2_neg="~lib/builtins/f64x2.neg",m.f64x2_min="~lib/builtins/f64x2.min",m.f64x2_max="~lib/builtins/f64x2.max",m.f64x2_pmin="~lib/builtins/f64x2.pmin",m.f64x2_pmax="~lib/builtins/f64x2.pmax",m.f64x2_abs="~lib/builtins/f64x2.abs",m.f64x2_sqrt="~lib/builtins/f64x2.sqrt",m.f64x2_ceil="~lib/builtins/f64x2.ceil",m.f64x2_floor="~lib/builtins/f64x2.floor",m.f64x2_trunc="~lib/builtins/f64x2.trunc",m.f64x2_nearest="~lib/builtins/f64x2.nearest",m.f64x2_eq="~lib/builtins/f64x2.eq",m.f64x2_ne="~lib/builtins/f64x2.ne",m.f64x2_lt="~lib/builtins/f64x2.lt",m.f64x2_le="~lib/builtins/f64x2.le",m.f64x2_gt="~lib/builtins/f64x2.gt",m.f64x2_ge="~lib/builtins/f64x2.ge",m.f64x2_convert_low_i32x4_s="~lib/builtins/f64x2.convert_low_i32x4_s",m.f64x2_convert_low_i32x4_u="~lib/builtins/f64x2.convert_low_i32x4_u",m.f64x2_promote_low_f32x4="~lib/builtins/f64x2.promote_low_f32x4",m.f64x2_shuffle="~lib/builtins/f64x2.shuffle",m.i8x16_relaxed_swizzle="~lib/builtins/i8x16.relaxed_swizzle",m.i32x4_relaxed_trunc_f32x4_s="~lib/builtins/i32x4.relaxed_trunc_f32x4_s",m.i32x4_relaxed_trunc_f32x4_u="~lib/builtins/i32x4.relaxed_trunc_f32x4_u",m.i32x4_relaxed_trunc_f64x2_s_zero="~lib/builtins/i32x4.relaxed_trunc_f64x2_s_zero",m.i32x4_relaxed_trunc_f64x2_u_zero="~lib/builtins/i32x4.relaxed_trunc_f64x2_u_zero",m.f32x4_relaxed_madd="~lib/builtins/f32x4.relaxed_madd",m.f32x4_relaxed_nmadd="~lib/builtins/f32x4.relaxed_nmadd",m.f64x2_relaxed_madd="~lib/builtins/f64x2.relaxed_madd",m.f64x2_relaxed_nmadd="~lib/builtins/f64x2.relaxed_nmadd",m.i8x16_relaxed_laneselect="~lib/builtins/i8x16.relaxed_laneselect",m.i16x8_relaxed_laneselect="~lib/builtins/i16x8.relaxed_laneselect",m.i32x4_relaxed_laneselect="~lib/builtins/i32x4.relaxed_laneselect",m.i64x2_relaxed_laneselect="~lib/builtins/i64x2.relaxed_laneselect",m.f32x4_relaxed_min="~lib/builtins/f32x4.relaxed_min",m.f32x4_relaxed_max="~lib/builtins/f32x4.relaxed_max",m.f64x2_relaxed_min="~lib/builtins/f64x2.relaxed_min",m.f64x2_relaxed_max="~lib/builtins/f64x2.relaxed_max",m.i16x8_relaxed_q15mulr_s="~lib/builtins/i16x8.relaxed_q15mulr_s",m.i16x8_relaxed_dot_i8x16_i7x16_s="~lib/builtins/i16x8.relaxed_dot_i8x16_i7x16_s",m.i32x4_relaxed_dot_i8x16_i7x16_add_s="~lib/builtins/i32x4.relaxed_dot_i8x16_i7x16_add_s",m.i31_new="~lib/builtins/i31.new",m.i31_get="~lib/builtins/i31.get",m.data_end="~lib/memory/__data_end",m.stack_pointer="~lib/memory/__stack_pointer",m.heap_base="~lib/memory/__heap_base",m.rtti_base="~lib/rt/__rtti_base",m.visit_globals="~lib/rt/__visit_globals",m.visit_members="~lib/rt/__visit_members",m.tostack="~lib/rt/__tostack",m.NaN="~lib/number/NaN",m.Infinity="~lib/number/Infinity",m.isNaN="~lib/number/isNaN",m.isFinite="~lib/number/isFinite",m.ERROR="~lib/diagnostics/ERROR",m.WARNING="~lib/diagnostics/WARNING",m.INFO="~lib/diagnostics/INFO",m.Function="~lib/function/Function",m.Function_call="~lib/function/Function#call",m.memory_size="~lib/memory/memory.size",m.memory_grow="~lib/memory/memory.grow",m.memory_copy="~lib/memory/memory.copy",m.memory_fill="~lib/memory/memory.fill",m.memory_data="~lib/memory/memory.data",m.Int8Array="~lib/typedarray/Int8Array",m.Uint8Array="~lib/typedarray/Uint8Array",m.Uint8ClampedArray="~lib/typedarray/Uint8ClampedArray",m.Int16Array="~lib/typedarray/Int16Array",m.Uint16Array="~lib/typedarray/Uint16Array",m.Int32Array="~lib/typedarray/Int32Array",m.Uint32Array="~lib/typedarray/Uint32Array",m.Int64Array="~lib/typedarray/Int64Array",m.Uint64Array="~lib/typedarray/Uint64Array",m.Float32Array="~lib/typedarray/Float32Array",m.Float64Array="~lib/typedarray/Float64Array",m.String_raw="~lib/string/String.raw",m.String_eq="~lib/string/String.__eq",m.String_ne="~lib/string/String.__ne",m.String_not="~lib/string/String.__not",m.Object="~lib/object/Object"))(h||={});var jn=class{constructor(i,e,r=e.type,n=e.identifierNode){this.compiler=i;this.element=e;this.contextualType=r;this.reportNode=n}},Cl=class{constructor(i,e,r,n,s,a,l,o){this.compiler=i;this.prototype=e;this.typeArguments=r;this.operands=n;this.thisOperand=s;this.contextualType=a;this.reportNode=l;this.contextIsExact=o}},y=new Map,kt=new Map,tt=new Map,vi=0;function mx(t){let i=t.compiler,e=i.module,r=ke(t);return i.currentType=u.bool,r?ve(t,e.i32(r.isBooleanValue?1:0)):e.unreachable()}y.set(h.isBoolean,mx);function yx(t){let i=t.compiler,e=i.module,r=ke(t);return i.currentType=u.bool,r?ve(t,e.i32(r.isIntegerValue?1:0)):e.unreachable()}y.set(h.isInteger,yx);function gx(t){let i=t.compiler,e=i.module,r=ke(t);return i.currentType=u.bool,r?ve(t,e.i32(r.isSignedIntegerValue?1:0)):e.unreachable()}y.set(h.isSigned,gx);function bx(t){let i=t.compiler,e=i.module,r=ke(t);return i.currentType=u.bool,r?ve(t,e.i32(r.isFloatValue?1:0)):e.unreachable()}y.set(h.isFloat,bx);function xx(t){let i=t.compiler,e=i.module,r=ke(t);return i.currentType=u.bool,r?ve(t,e.i32(r.isVectorValue?1:0)):e.unreachable()}y.set(h.isVector,xx);function Tx(t){let i=t.compiler,e=i.module,r=ke(t);return i.currentType=u.bool,r?ve(t,e.i32(r.isReference?1:0)):e.unreachable()}y.set(h.isReference,Tx);function Ex(t){let i=t.compiler,e=i.module,r=ke(t);if(i.currentType=u.bool,!r)return e.unreachable();let n=r.getClass();return ve(t,e.i32(n&&n.isAssignableTo(i.program.stringInstance)?1:0))}y.set(h.isString,Ex);function vx(t){let i=t.compiler,e=i.module,r=ke(t);if(i.currentType=u.bool,!r)return e.unreachable();let n=r.getClass();return ve(t,e.i32(n&&n.extendsPrototype(i.program.arrayPrototype)?1:0))}y.set(h.isArray,vx);function Sx(t){let i=t.compiler,e=i.module,r=ke(t);if(i.currentType=u.bool,!r)return e.unreachable();let n=r.getClass();return ve(t,e.i32(n&&n.isArrayLike?1:0))}y.set(h.isArrayLike,Sx);function Ix(t){let i=t.compiler,e=i.module,r=ke(t);return i.currentType=u.bool,r?ve(t,e.i32(r.isFunction?1:0)):e.unreachable()}y.set(h.isFunction,Ix);function Fx(t){let i=t.compiler,e=i.module,r=ke(t);return i.currentType=u.bool,r?ve(t,e.i32(r.isNullableReference?1:0)):e.unreachable()}y.set(h.isNullable,Fx);function Rx(t){let i=t.compiler,e=i.module;if(i.currentType=u.bool,x(t)|q(t,1))return e.unreachable();let r=i.resolver.lookupExpression(t.operands[0],i.currentFlow,u.auto,1);return e.i32(r?1:0)}y.set(h.isDefined,Rx);function kx(t){let i=t.compiler,e=i.module;if(i.currentType=u.bool,x(t)|q(t,1))return e.unreachable();let r=i.compileExpression(t.operands[0],u.auto);return i.currentType=u.bool,gl(r,e.ref)?e.block(null,[e.maybeDrop(r),e.i32(0)],ie(r)):e.i32(e.isConstExpression(r)?1:0)}y.set(h.isConstant,kx);function Ax(t){let i=t.compiler,e=i.module,r=ke(t);return i.currentType=u.bool,r?ve(t,e.i32(r.isManaged?1:0)):e.unreachable()}y.set(h.isManaged,Ax);function wx(t){let i=t.compiler,e=i.module,r=ke(t);return i.currentType=u.bool,r?ve(t,e.i32(r.kind==25?1:0)):e.unreachable()}y.set(h.isVoid,wx);function Cx(t){let i=t.compiler,e=i.module,r=ke(t);if(i.currentType=u.i32,!r)return e.unreachable();let n=r.signatureReference;return n?ve(t,e.i32(n.parameterTypes.length)):(i.error(2757,t.reportNode.range,r.toString()),e.unreachable())}y.set(h.lengthof,Cx);function Bx(t){let i=t.compiler,e=i.module;if(i.currentType=i.options.usizeType,$(t)|q(t,0))return e.unreachable();let r=t.typeArguments[0],n=r.byteSize;return n?Bl(i,i64_new(n),t.contextualType):(i.error(203,t.reportNode.typeArgumentsRange,"sizeof",r.toString()),e.unreachable())}y.set(h.sizeof,Bx);function Px(t){let i=t.compiler,e=i.module;if(i.currentType=i.options.usizeType,$(t)|q(t,0))return e.unreachable();let r=t.typeArguments[0],n=r.byteSize;return gt(n)?Bl(i,i64_new(ctz(n)),t.contextualType):(i.error(203,t.reportNode.typeArgumentsRange,"alignof",r.toString()),e.unreachable())}y.set(h.alignof,Px);function Nx(t){let i=t.compiler,e=i.module;if(i.currentType=i.options.usizeType,$(t)|xe(t,0,1))return e.unreachable();let r=t.operands,n=t.contextualType,s=t.typeArguments[0],a=s.getClassOrWrapper(i.program);if(!a)return i.error(203,t.reportNode.typeArgumentsRange,"offsetof",s.toString()),i.options.isWasm64?n.isIntegerValue&&n.size<=32&&(i.currentType=u.u32):n.isIntegerValue&&n.size==64&&(i.currentType=u.u64),e.unreachable();if(r.length){let l=r[0];if(!l.isLiteralKind(2))return i.error(1141,r[0].range),e.unreachable();let o=l.value,p=a.getMember(o);if(p&&p.kind==10){let c=p.instance;if(c&&c.isField)return assert(c.memoryOffset>=0),Bl(i,i64_new(c.memoryOffset),n)}return i.error(2460,l.range,a.internalName,o),e.unreachable()}return Bl(i,i64_new(a.nextMemoryOffset),n)}y.set(h.offsetof,Nx);function Lx(t){let i=t.compiler,e=i.module,r=ke(t);if(!r)return i.currentType=i.program.stringInstance.type,e.unreachable();let n;if(r.isInternalReference){let s=r.getClass();s?n=s.name:(assert(r.getSignature()),n="Function")}else n=r.toString();return ve(t,i.ensureStaticString(n))}y.set(h.nameof,Lx);function Mx(t){let i=t.compiler,e=i.module,r=ke(t);if(i.currentType=u.u32,!r)return e.unreachable();let n=r.getSignature();if(n)return ve(t,e.i32(n.id));let s=r.getClassOrWrapper(i.program);return s&&!s.hasDecorator(16)?ve(t,e.i32(s.id)):(i.error(203,t.reportNode.typeArgumentsRange,"idof",r.toString()),e.unreachable())}y.set(h.idof,Mx);function Gx(t){let i=t.element;if(i.is(1048576)){let e=t.compiler.module;e.addGlobal(i.internalName,P.F64,!1,e.f64(NaN))}}kt.set(h.NaN,Gx);function zx(t){let i=t.compiler,e=i.module;return t.contextualType==u.f32?(i.currentType=u.f32,e.f32(NaN)):(i.currentType=u.f64,e.f64(NaN))}tt.set(h.NaN,zx);function Ux(t){let i=t.element;if(i.is(1048576)){let e=t.compiler.module;e.addGlobal(i.internalName,P.F64,!1,e.f64(1/0))}}kt.set(h.Infinity,Ux);function Vx(t){let i=t.compiler,e=i.module;return t.contextualType==u.f32?(i.currentType=u.f32,e.f32(1/0)):(i.currentType=u.f64,e.f64(1/0))}tt.set(h.Infinity,Vx);function qp(t){let i=t.compiler,e=i.module;if(ne(t,!0)|q(t,1))return e.unreachable();let r=t.typeArguments,n=r?i.compileExpression(t.operands[0],r[0],5):i.compileExpression(t.operands[0],u.i32,4),s=i.currentType;if(s.isValue)switch(s.kind){case 0:case 1:case 6:case 2:case 7:case 3:case 8:return e.unary(0,n);case 5:case 10:return e.unary(129,n);case 4:case 9:return e.unary(1,n)}return i.error(203,t.reportNode.typeArgumentsRange,"clz",s.toString()),e.unreachable()}y.set(h.clz,qp);function Op(t){let i=t.compiler,e=i.module;if(ne(t,!0)|q(t,1))return e.unreachable();let r=t.operands,n=t.typeArguments,s=n?i.compileExpression(r[0],n[0],5):i.compileExpression(r[0],u.i32,4),a=i.currentType;if(a.isValue)switch(a.kind){case 0:case 1:case 6:case 2:case 7:case 3:case 8:return e.unary(2,s);case 5:case 10:return e.unary(130,s);case 4:case 9:return e.unary(3,s)}return i.error(203,t.reportNode.typeArgumentsRange,"ctz",a.toString()),e.unreachable()}y.set(h.ctz,Op);function Wp(t){let i=t.compiler,e=i.module;if(ne(t,!0)|q(t,1))return e.unreachable();let r=t.operands,n=t.typeArguments,s=n?i.compileExpression(r[0],n[0],5):i.compileExpression(r[0],u.i32,4),a=i.currentType;if(a.isValue)switch(i.currentType.kind){case 0:return s;case 1:case 6:case 2:case 7:case 3:case 8:return e.unary(4,s);case 4:case 9:return e.unary(5,s);case 5:case 10:return e.unary(131,s)}return i.error(203,t.reportNode.typeArgumentsRange,"popcnt",a.toString()),e.unreachable()}y.set(h.popcnt,Wp);function Kp(t){let i=t.compiler,e=i.module;if(ne(t,!0)|q(t,2))return e.unreachable();let r=t.operands,n=t.typeArguments,s=n?i.compileExpression(r[0],n[0],5):i.compileExpression(r[0],u.i32,4),a=i.currentType;if(a.isValue){let l=i.compileExpression(r[1],a,1);switch(a.kind){case 0:return s;case 1:case 2:case 6:case 7:{let o=i.currentFlow,p=o.getTempLocal(a);o.setLocalFlag(p.index,2);let c=o.getTempLocal(a);return o.setLocalFlag(c.index,2),e.binary(8,e.binary(10,e.local_tee(p.index,s,!1),e.binary(7,e.local_tee(c.index,l,!1),e.i32(a.size-1))),e.binary(12,e.local_get(p.index,P.I32),e.binary(7,e.binary(1,e.i32(0),e.local_get(c.index,P.I32)),e.i32(a.size-1))))}case 3:case 8:return e.binary(13,s,l);case 4:case 9:return e.binary(38,s,l);case 5:case 10:return e.binary(216,s,l)}}return i.error(203,t.reportNode.typeArgumentsRange,"rotl",a.toString()),e.unreachable()}y.set(h.rotl,Kp);function Hp(t){let i=t.compiler,e=i.module;if(ne(t,!0)|q(t,2))return e.unreachable();let r=t.operands,n=t.typeArguments,s=n?i.compileExpression(r[0],n[0],5):i.compileExpression(r[0],u.i32,4),a=i.currentType;if(a.isValue){let l=i.compileExpression(r[1],a,1);switch(a.kind){case 0:return s;case 1:case 2:case 6:case 7:{let o=i.currentFlow,p=o.getTempLocal(a);o.setLocalFlag(p.index,2);let c=o.getTempLocal(a);return o.setLocalFlag(c.index,2),e.binary(8,e.binary(12,e.local_tee(p.index,s,!1),e.binary(7,e.local_tee(c.index,l,!1),e.i32(a.size-1))),e.binary(10,e.local_get(p.index,P.I32),e.binary(7,e.binary(1,e.i32(0),e.local_get(c.index,P.I32)),e.i32(a.size-1))))}case 3:case 8:return e.binary(14,s,l);case 4:case 9:return e.binary(39,s,l);case 5:case 10:return e.binary(217,s,l)}}return i.error(203,t.reportNode.typeArgumentsRange,"rotr",a.toString()),e.unreachable()}y.set(h.rotr,Hp);function jp(t){let i=t.compiler,e=i.module;if(ne(t,!0)|q(t,1))return e.unreachable();let r=t.operands,n=t.typeArguments,s=n?i.compileExpression(r[0],n[0],5):i.compileExpression(r[0],u.auto,4),a=i.currentType;if(a.isValue)switch(a.kind){case 0:case 6:case 7:case 8:case 9:case 10:return s;case 1:case 2:case 3:{let l=i.currentFlow,o=l.getTempLocal(u.i32),p=l.getTempLocal(u.i32);return e.binary(9,e.binary(0,e.local_tee(p.index,e.binary(11,e.local_tee(o.index,s,!1),e.i32(31)),!1),e.local_get(o.index,P.I32)),e.local_get(p.index,P.I32))}case 5:{let l=i.options,o=i.currentFlow,p=o.getTempLocal(l.usizeType),c=o.getTempLocal(l.usizeType);return e.binary(212,e.binary(203,e.local_tee(c.index,e.binary(214,e.local_tee(p.index,s,!1),i.options.isWasm64?e.i64(63):e.i32(31)),!1),e.local_get(p.index,l.sizeTypeRef)),e.local_get(c.index,l.sizeTypeRef))}case 4:{let l=i.currentFlow,o=l.getTempLocal(u.i64),p=l.getTempLocal(u.i64);return e.binary(34,e.binary(25,e.local_tee(p.index,e.binary(36,e.local_tee(o.index,s,!1),e.i64(63)),!1),e.local_get(o.index,P.I64)),e.local_get(p.index,P.I64))}case 11:return e.unary(8,s);case 12:return e.unary(9,s)}return i.error(203,t.reportNode.typeArgumentsRange,"abs",a.toString()),e.unreachable()}y.set(h.abs,jp);function $p(t){let i=t.compiler,e=i.module;if(ne(t,!0)|q(t,2))return e.unreachable();let r=t.operands,n=t.typeArguments,s=r[0],a=n?i.compileExpression(s,n[0],5):i.compileExpression(r[0],u.auto,4),l=i.currentType;if(l.isValue){let o;!n&&s.isNumericLiteral?(o=i.compileExpression(r[1],l,4),i.currentType!=l&&(a=i.compileExpression(s,l=i.currentType,5))):o=i.compileExpression(r[1],l,5);let p=-1;switch(l.kind){case 1:case 2:case 3:{p=21;break}case 0:case 6:case 7:case 8:{p=22;break}case 4:{p=46;break}case 9:{p=47;break}case 5:{p=224;break}case 10:{p=225;break}case 11:return e.binary(56,a,o);case 12:return e.binary(69,a,o)}if(p!=-1){let c=i.currentFlow,_=l.toRef(),f=c.getTempLocal(l);c.setLocalFlag(f.index,2);let d=c.getTempLocal(l);return c.setLocalFlag(d.index,2),e.select(e.local_tee(f.index,a,!1),e.local_tee(d.index,o,!1),e.binary(p,e.local_get(f.index,_),e.local_get(d.index,_)),_)}}return i.error(203,t.reportNode.typeArgumentsRange,"max",l.toString()),e.unreachable()}y.set(h.max,$p);function Xp(t){let i=t.compiler,e=i.module;if(ne(t,!0)|q(t,2))return e.unreachable();let r=t.operands,n=t.typeArguments,s=r[0],a=n?i.compileExpression(s,n[0],5):i.compileExpression(r[0],u.auto,4),l=i.currentType;if(l.isValue){let o;!n&&s.isNumericLiteral?(o=i.compileExpression(r[1],l,4),i.currentType!=l&&(a=i.compileExpression(s,l=i.currentType,5))):o=i.compileExpression(r[1],l,5);let p=-1;switch(l.kind){case 1:case 2:case 3:{p=17;break}case 0:case 6:case 7:case 8:{p=18;break}case 4:{p=42;break}case 9:{p=43;break}case 5:{p=220;break}case 10:{p=221;break}case 11:return e.binary(55,a,o);case 12:return e.binary(68,a,o)}if(p!=-1){let c=i.currentFlow,_=l.toRef(),f=c.getTempLocal(l);c.setLocalFlag(f.index,2);let d=c.getTempLocal(l);return c.setLocalFlag(d.index,2),e.select(e.local_tee(f.index,a,!1),e.local_tee(d.index,o,!1),e.binary(p,e.local_get(f.index,_),e.local_get(d.index,_)),_)}}return i.error(203,t.reportNode.typeArgumentsRange,"min",l.toString()),e.unreachable()}y.set(h.min,Xp);function Zp(t){let i=t.compiler,e=i.module;if(ne(t,!0)|q(t,1))return e.unreachable();let r=t.operands,n=t.typeArguments,s=n?i.compileExpression(r[0],n[0],1):i.compileExpression(r[0],u.auto,0),a=i.currentType;if(a.isValue)switch(a.kind){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:return s;case 11:return e.unary(10,s);case 12:return e.unary(11,s)}return i.error(203,t.reportNode.typeArgumentsRange,"ceil",a.toString()),e.unreachable()}y.set(h.ceil,Zp);function Yp(t){let i=t.compiler,e=i.module;if(ne(t,!0)|q(t,1))return e.unreachable();let r=t.operands,n=t.typeArguments,s=n?i.compileExpression(r[0],n[0],1):i.compileExpression(r[0],u.auto,0),a=i.currentType;if(a.isValue)switch(a.kind){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:return s;case 11:return e.unary(12,s);case 12:return e.unary(13,s)}return i.error(203,t.reportNode.typeArgumentsRange,"floor",a.toString()),e.unreachable()}y.set(h.floor,Yp);function Qp(t){let i=t.compiler,e=i.module;if(ne(t,!0)|q(t,2))return e.unreachable();let r=t.operands,n=t.typeArguments,s=n?i.compileExpression(r[0],n[0],1):i.compileExpression(r[0],u.f64,0),a=i.currentType;if(a.isValue){let l=i.compileExpression(r[1],a,1);switch(a.kind){case 11:return e.binary(54,s,l);case 12:return e.binary(67,s,l)}}return i.error(203,t.reportNode.typeArgumentsRange,"copysign",a.toString()),e.unreachable()}y.set(h.copysign,Qp);function Jp(t){let i=t.compiler,e=i.module;if(ne(t,!0)|q(t,1))return e.unreachable();let r=t.operands,n=t.typeArguments,s=n?i.compileExpression(r[0],n[0],1):i.compileExpression(r[0],u.auto,0),a=i.currentType;if(a.isValue)switch(a.kind){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:return s;case 11:return e.unary(16,s);case 12:return e.unary(17,s)}return i.error(203,t.reportNode.typeArgumentsRange,"nearest",a.toString()),e.unreachable()}y.set(h.nearest,Jp);function $n(t){let i=t.compiler,e=i.module;if($(t,!0)|q(t,1))return e.unreachable();let r=t.operands,s=t.typeArguments[0];if(s.isValue)switch(s.kind){case 3:case 8:{let a=i.compileExpression(r[0],u.f32,1);return i.currentType=s,e.unary(33,a)}case 4:case 9:{let a=i.compileExpression(r[0],u.f64,1);return i.currentType=s,e.unary(34,a)}case 5:case 10:{let a=i.options.isWasm64,l=i.compileExpression(r[0],a?u.f64:u.f32,1);return i.currentType=s,e.unary(a?34:33,l)}case 11:{let a=i.compileExpression(r[0],u.i32,1);return i.currentType=u.f32,e.unary(45,a)}case 12:{let a=i.compileExpression(r[0],u.i64,1);return i.currentType=u.f64,e.unary(46,a)}}return i.error(203,t.reportNode.typeArgumentsRange,"reinterpret",s.toString()),e.unreachable()}y.set(h.reinterpret,$n);function ec(t){let i=t.compiler,e=i.module;if(ne(t,!0)|q(t,1))return e.unreachable();let r=t.operands,n=t.typeArguments,s=n?i.compileExpression(r[0],n[0],1):i.compileExpression(r[0],u.f64,0),a=i.currentType;if(a.isValue)switch(a.kind){case 11:return e.unary(18,s);case 12:return e.unary(19,s)}return i.error(203,t.reportNode.typeArgumentsRange,"sqrt",a.toString()),e.unreachable()}y.set(h.sqrt,ec);function tc(t){let i=t.compiler,e=i.module;if(ne(t,!0)|q(t,1))return e.unreachable();let r=t.operands,n=t.typeArguments,s=n?i.compileExpression(r[0],n[0],1):i.compileExpression(r[0],u.auto,0),a=i.currentType;if(a.isValue)switch(a.kind){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:return s;case 11:return e.unary(14,s);case 12:return e.unary(15,s)}return i.error(203,t.reportNode.typeArgumentsRange,"trunc",a.toString()),e.unreachable()}y.set(h.trunc,tc);function Dx(t){let i=t.compiler,e=i.module;if(ne(t)|q(t,1))return i.currentType=u.bool,e.unreachable();let r=t.operands,n=t.typeArguments,s=n?i.compileExpression(r[0],n[0],1):i.compileExpression(r[0],u.auto),a=i.currentType;if(i.currentType=u.bool,a.isValue)switch(a.kind){case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:return e.maybeDropCondition(s,e.i32(0));case 11:{if(Q(s)==8)return e.binary(58,s,e.local_get(lt(s),P.F32));let o=i.currentFlow.getTempLocal(u.f32);return e.binary(58,e.local_tee(o.index,s,!1),e.local_get(o.index,P.F32))}case 12:{if(Q(s)==8)return e.binary(71,s,e.local_get(lt(s),P.F64));let o=i.currentFlow.getTempLocal(u.f64);return e.binary(71,e.local_tee(o.index,s,!1),e.local_get(o.index,P.F64))}}return i.error(203,t.reportNode.typeArgumentsRange,"isNaN",a.toString()),e.unreachable()}y.set(h.isNaN,Dx);function qx(t){let i=t.compiler,e=i.module;if(ne(t)|q(t,1))return i.currentType=u.bool,e.unreachable();let r=t.operands,n=t.typeArguments,s=n?i.compileExpression(r[0],n[0],1):i.compileExpression(r[0],u.auto),a=i.currentType;if(i.currentType=u.bool,a.isValue)switch(a.kind){case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:return e.maybeDropCondition(s,e.i32(1));case 11:{if(Q(s)==8)return e.binary(57,e.binary(51,s,e.local_get(lt(s),P.F32)),e.f32(0));let o=i.currentFlow.getTempLocal(u.f32);return e.binary(57,e.binary(51,e.local_tee(o.index,s,!1),e.local_get(o.index,P.F32)),e.f32(0))}case 12:{if(Q(s)==8)return e.binary(70,e.binary(64,s,e.local_get(lt(s),P.F64)),e.f64(0));let o=i.currentFlow.getTempLocal(u.f64);return e.binary(70,e.binary(64,e.local_tee(o.index,s,!1),e.local_get(o.index,P.F64)),e.f64(0))}}return i.error(203,t.reportNode.typeArgumentsRange,"isFinite",a.toString()),e.unreachable()}y.set(h.isFinite,qx);function Ox(t){let i=t.compiler,e=i.module,r=t.element,n=r.type;i.runtimeFeatures|=4,e.addGlobal(r.internalName,n.toRef(),!0,i.makeZero(n))}kt.set(h.heap_base,Ox);function Wx(t){let i=t.compiler,e=i.module,r=t.element,n=r.type;return i.runtimeFeatures|=4,i.currentType=n,e.global_get(r.internalName,n.toRef())}tt.set(h.heap_base,Wx);function Kx(t){let i=t.compiler,e=i.module,r=t.element,n=r.type;i.runtimeFeatures|=1,e.addGlobal(r.internalName,n.toRef(),!0,i.makeZero(n))}kt.set(h.data_end,Kx);function Hx(t){let i=t.compiler,e=i.module,r=t.element,n=r.type;return i.runtimeFeatures|=1,i.currentType=n,e.global_get(r.internalName,n.toRef())}tt.set(h.data_end,Hx);function jx(t){let i=t.compiler,e=i.module,r=t.element,n=r.type;i.runtimeFeatures|=2,e.addGlobal(r.internalName,n.toRef(),!0,i.makeZero(n))}kt.set(h.stack_pointer,jx);function $x(t){let i=t.compiler,e=i.module,r=t.element,n=r.type;return i.runtimeFeatures|=2,i.currentType=n,e.global_get(r.internalName,n.toRef())}tt.set(h.stack_pointer,$x);function Xx(t){let i=t.compiler,e=i.module,r=t.element,n=r.type;i.runtimeFeatures|=8,e.addGlobal(r.internalName,n.toRef(),!0,i.makeZero(n))}kt.set(h.rtti_base,Xx);function Zx(t){let i=t.compiler,e=i.module,r=t.element,n=r.type;return i.runtimeFeatures|=8,i.currentType=n,e.global_get(r.internalName,n.toRef())}tt.set(h.rtti_base,Zx);function Re(t){let i=t.compiler,e=i.module;if($(t,!0)|xe(t,1,3))return e.unreachable();let r=t.operands,n=t.typeArguments,s=t.contextualType,a=n[0],l=s!=u.auto&&a.isIntegerValue&&s.isIntegerValue&&s.size>a.size?s:a;if(!l.isMemory)return i.error(203,t.reportNode.typeArgumentsRange,"load",l.toString()),i.currentType=u.void,e.unreachable();let o=i.compileExpression(r[0],i.options.usizeType,1),p=r.length,c=0,_=a.byteSize;return p>=2&&(c=Ze(r[1],i),c<0||p==3&&(_=Rt(r[2],_,i),_<0))?(i.currentType=l,e.unreachable()):(i.currentType=l,e.load(a.byteSize,a.isSignedIntegerValue,o,l.toRef(),c,_))}y.set(h.load,Re);function rt(t){let i=t.compiler,e=i.module;if(i.currentType=u.void,$(t)|xe(t,2,4))return e.unreachable();let r=t.operands,n=r.length,s=t.typeArguments,a=t.contextualType,l=s[0],o=i.compileExpression(r[0],i.options.usizeType,1),p=t.contextIsExact?i.compileExpression(r[1],a,1):i.compileExpression(r[1],l,l.isIntegerValue?0:1),c=i.currentType;if(!c.isMemory)return i.error(203,t.reportNode.typeArgumentsRange,"store",c.toString()),i.currentType=u.void,e.unreachable();l.isIntegerValue&&(!c.isIntegerValue||c.size=3){if(_=Ze(r[2],i),_<0)return i.currentType=u.void,e.unreachable();if(n==4&&(f=Rt(r[3],f,i),f<0))return i.currentType=u.void,e.unreachable()}return i.currentType=u.void,e.store(l.byteSize,o,p,c.toRef(),_,f)}y.set(h.store,rt);function Xn(t){let i=t.compiler,e=i.module;if(ne(t,!0)|q(t,2))return e.unreachable();let r=t.operands,n=t.typeArguments,s=r[0],a=n?i.compileExpression(s,n[0],1):i.compileExpression(r[0],u.auto),l=i.currentType;if(l.isIntegerValue){let o;if(!n&&s.isNumericLiteral?(o=i.compileExpression(r[1],l),i.currentType!=l&&(a=i.compileExpression(s,l=i.currentType,1))):o=i.compileExpression(r[1],l,1),l.isIntegerValue)return i.makeRem(a,o,l,t.reportNode)}return i.error(203,t.reportNode.typeArgumentsRange,"rem",l.toString()),e.unreachable()}y.set(h.rem,Xn);function Zn(t){let i=t.compiler,e=i.module;if(ne(t,!0)|q(t,2))return e.unreachable();let r=t.operands,n=t.typeArguments,s=r[0],a=n?i.compileExpression(s,n[0],1):i.compileExpression(r[0],u.auto),l=i.currentType;if(l.isValue){let o;if(!n&&s.isNumericLiteral?(o=i.compileExpression(r[1],l),i.currentType!=l&&(a=i.compileExpression(s,l=i.currentType,1))):o=i.compileExpression(r[1],l,1),l.isNumericValue)return i.makeAdd(a,o,l)}return i.error(203,t.reportNode.typeArgumentsRange,"add",l.toString()),e.unreachable()}y.set(h.add,Zn);function Yn(t){let i=t.compiler,e=i.module;if(ne(t,!0)|q(t,2))return e.unreachable();let r=t.operands,n=t.typeArguments,s=r[0],a=n?i.compileExpression(s,n[0],1):i.compileExpression(r[0],u.auto),l=i.currentType;if(l.isValue){let o;if(!n&&s.isNumericLiteral?(o=i.compileExpression(r[1],l),i.currentType!=l&&(a=i.compileExpression(s,l=i.currentType,1))):o=i.compileExpression(r[1],l,1),l.isNumericValue)return i.makeSub(a,o,l)}return i.error(203,t.reportNode.typeArgumentsRange,"sub",l.toString()),e.unreachable()}y.set(h.sub,Yn);function Qn(t){let i=t.compiler,e=i.module;if(ne(t,!0)|q(t,2))return e.unreachable();let r=t.operands,n=t.typeArguments,s=r[0],a=n?i.compileExpression(s,n[0],1):i.compileExpression(r[0],u.auto),l=i.currentType;if(l.isValue){let o;if(!n&&s.isNumericLiteral?(o=i.compileExpression(r[1],l),i.currentType!=l&&(a=i.compileExpression(s,l=i.currentType,1))):o=i.compileExpression(r[1],l,1),l.isNumericValue)return i.makeMul(a,o,l)}return i.error(203,t.reportNode.typeArgumentsRange,"mul",l.toString()),e.unreachable()}y.set(h.mul,Qn);function Er(t){let i=t.compiler,e=i.module;if(ne(t,!0)|q(t,2))return e.unreachable();let r=t.operands,n=t.typeArguments,s=r[0],a=n?i.compileExpression(s,n[0],1):i.compileExpression(r[0],u.auto),l=i.currentType;if(l.isValue){let o;if(!n&&s.isNumericLiteral?(o=i.compileExpression(r[1],l),i.currentType!=l&&(a=i.compileExpression(s,l=i.currentType,1))):o=i.compileExpression(r[1],l,1),l.isNumericValue)return i.makeDiv(a,o,l)}return i.error(203,t.reportNode.typeArgumentsRange,"div",l.toString()),e.unreachable()}y.set(h.div,Er);function Jn(t){let i=t.compiler,e=i.module;if(ne(t,!0)|q(t,2))return e.unreachable();let r=t.operands,n=t.typeArguments,s=r[0],a=n?i.compileExpression(s,n[0],1):i.compileExpression(r[0],u.auto),l=i.currentType;if(l.isValue){let o;if(!n&&s.isNumericLiteral?(o=i.compileExpression(r[1],l),i.currentType!=l&&(a=i.compileExpression(s,l=i.currentType,1))):o=i.compileExpression(r[1],l,1),l.isNumericValue)return i.currentType=u.i32,i.makeEq(a,o,l,t.reportNode)}return i.error(203,t.reportNode.typeArgumentsRange,"eq",l.toString()),e.unreachable()}y.set(h.eq,Jn);function es(t){let i=t.compiler,e=i.module;if(ne(t,!0)|q(t,2))return e.unreachable();let r=t.operands,n=t.typeArguments,s=r[0],a=n?i.compileExpression(s,n[0],1):i.compileExpression(r[0],u.auto),l=i.currentType;if(l.isValue){let o;if(!n&&s.isNumericLiteral?(o=i.compileExpression(r[1],l),i.currentType!=l&&(a=i.compileExpression(s,l=i.currentType,1))):o=i.compileExpression(r[1],l,1),l.isNumericValue)return i.currentType=u.i32,i.makeNe(a,o,l,t.reportNode)}return i.error(203,t.reportNode.typeArgumentsRange,"ne",l.toString()),e.unreachable()}y.set(h.ne,es);function $t(t){let i=t.compiler,e=i.module;if(j(t,32)|$(t,!0)|xe(t,1,2))return e.unreachable();let r=t.operands,n=t.typeArguments,s=t.contextualType,a=n[0],l=a.isIntegerValue&&s.isIntegerValue&&s.size>a.size?s:a;if(!a.isIntegerValue)return i.error(203,t.reportNode.typeArgumentsRange,"atomic.load",a.toString()),i.currentType=l,e.unreachable();let o=i.compileExpression(r[0],i.options.usizeType,1),p=r.length==2?Ze(r[1],i):0;return p<0?(i.currentType=l,e.unreachable()):(i.currentType=l,e.atomic_load(a.byteSize,o,l.toRef(),p))}y.set(h.atomic_load,$t);function Xt(t){let i=t.compiler,e=i.module;if(j(t,32)|$(t)|xe(t,2,3))return e.unreachable();let r=t.operands,n=t.typeArguments,s=t.contextualType,a=n[0];if(!a.isIntegerValue)return i.error(203,t.reportNode.typeArgumentsRange,"atomic.store",a.toString()),i.currentType=u.void,e.unreachable();let l=i.compileExpression(r[0],i.options.usizeType,1),o=t.contextIsExact?i.compileExpression(r[1],s,1):i.compileExpression(r[1],a,a.isIntegerValue?0:1),p=i.currentType;a.isIntegerValue&&(!p.isIntegerValue||p.size0){let o=r[0];if(!o.isValue)return i.error(203,t.reportNode.typeArgumentsRange,"memory.data",o.toString()),i.currentType=a,e.unreachable();let p=n[0];if(p.kind!=16||p.literalKind!=5)return i.error(227,n[0].range),i.currentType=a,e.unreachable();let c=p.elementExpressions,_=c.length,f=new Array(_),d=!0;for(let T=0;T<_;++T){let E=c[T];if(E.kind!=19){let F=i.compileExpression(E,o,1),I=e.runExpression(F,1);I?F=I:d=!1,f[T]=F}else f[T]=i.makeZero(o)}if(!d)return i.error(220,p.range),i.currentType=a,e.unreachable();let g=o.byteSize;if(s==2&&(g=Rt(n[1],g,i),g<0))return i.currentType=a,e.unreachable();let S=new Uint8Array(_*o.byteSize);assert(i.writeStaticBuffer(S,0,o,f)==S.byteLength),l=i.addAlignedMemorySegment(S,g).offset}else{let o=i.compileExpression(n[0],u.i32,1),p=e.runExpression(o,1);if(!p)return i.error(220,n[0].range),i.currentType=a,e.unreachable();let c=ee(p);if(c<1)return i.error(222,n[0].range,"1",i32.MAX_VALUE.toString()),i.currentType=a,e.unreachable();let _=16;if(s==2&&(_=Rt(n[1],_,i),_<0))return i.currentType=a,e.unreachable();l=i.addAlignedMemorySegment(new Uint8Array(c),_).offset}return i.currentType=a,a==u.usize32?(assert(!i64_high(l)),e.i32(i64_low(l))):e.i64(i64_low(l),i64_high(l))}y.set(h.memory_data,s1);function a1(t){let i=t.compiler,e=i.module;if(x(t)|q(t,1))return e.unreachable();let r=t.operands,n=i.compileExpression(r[0],u.i32,1);return i.currentType=u.i31,e.i31_new(n)}y.set(h.i31_new,a1);function l1(t){let i=t.compiler,e=i.module;if(x(t)|q(t,1))return e.unreachable();let r=t.operands,n=i.compileExpression(r[0],u.i31.asNullable(),1);return t.contextualType.is(2)?(i.currentType=u.u32,e.i31_get(n,!1)):(i.currentType=u.i32,e.i31_get(n,!0))}y.set(h.i31_get,l1);function o1(t){let i=t.compiler,e=i.module;if($(t,!0)|q(t,1))return e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.auto),l=i.currentType;return i.currentType=s,l.isChangeableTo(s)?a:(i.error(202,t.reportNode.range,l.toString(),s.toString()),e.unreachable())}y.set(h.changetype,o1);function u1(t){let i=t.compiler,e=i.module,r=t.typeArguments;if(ne(t,!0)|xe(t,1,2))return r&&(assert(r.length),i.currentType=r[0].nonNullableType),e.unreachable();let n=t.operands,s=t.contextualType,a=r?i.compileExpression(n[0],r[0],5):i.compileExpression(n[0],u.bool,4),l=i.currentType;if(i.currentType=l.nonNullableType,i.options.noAssert)return a;let o=e.runExpression(a,0);if(o)switch(ie(o)){case P.I32:{if(ee(o))return a;break}case P.I64:{if(Ee(o)|Ce(o))return a;break}case P.F32:{if(ge(o))return a;break}case P.F64:{if(be(o))return a;break}}let p=i.makeAbort(n.length==2?n[1]:null,t.reportNode);if(i.currentType=l.nonNullableType,s==u.void)switch(i.currentType=u.void,l.kind){case 0:case 1:case 2:case 3:case 6:case 7:case 8:return e.if(e.unary(20,a),p);case 4:case 9:return e.if(e.unary(21,a),p);case 5:case 10:return e.if(e.unary(132,a),p);case 11:return e.if(e.binary(57,a,e.f32(0)),p);case 12:return e.if(e.binary(70,a,e.f64(0)),p);case 15:case 14:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:case 24:return e.if(e.ref_is_null(a),p)}else{i.currentType=l.nonNullableType;let c=i.currentFlow;switch(i.currentType.kind){case 0:case 1:case 2:case 3:case 6:case 7:case 8:{let _=c.getTempLocal(l);return c.setLocalFlag(_.index,2),e.if(e.local_tee(_.index,a,!1),e.local_get(_.index,P.I32),p)}case 4:case 9:{let _=c.getTempLocal(u.i64);return e.if(e.unary(21,e.local_tee(_.index,a,!1)),p,e.local_get(_.index,P.I64))}case 5:case 10:{let _=c.getTempLocal(i.options.usizeType);return e.if(e.unary(132,e.local_tee(_.index,a,l.isManaged)),p,e.local_get(_.index,i.options.sizeTypeRef))}case 11:{let _=c.getTempLocal(u.f32);return e.if(e.binary(57,e.local_tee(_.index,a,!1),e.f32(0)),p,e.local_get(_.index,P.F32))}case 12:{let _=c.getTempLocal(u.f64);return e.if(e.binary(70,e.local_tee(_.index,a,!1),e.f64(0)),p,e.local_get(_.index,P.F64))}case 15:case 14:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:case 24:{let _=c.getTempLocal(l);return e.if(e.ref_is_null(e.local_tee(_.index,a,!1)),p,e.local_get(_.index,l.toRef()))}}}return i.error(203,t.reportNode.typeArgumentsRange,"assert",i.currentType.toString()),p}y.set(h.assert,u1);function p1(t){let i=t.compiler,e=i.module;if(x(t)|q(t,1))return e.unreachable();let r=i.currentFlow,n=i.options.uncheckedBehavior===1,s=r.is(32768);n?assert(!s):r.set(32768);let a=i.compileExpression(t.operands[0],t.contextualType);return s||r.unset(32768),a}y.set(h.unchecked,p1);function c1(t){let i=t.compiler,e=i.module;if(ne(t,!0)|xe(t,1,i32.MAX_VALUE))return e.unreachable();let r=t.operands,n=t.typeArguments,s;n?(assert(n.length),s=n[0]):s=t.contextualType;let a=i.compileExpression(r[0],u.u32,1),l=r.length-1,o=new Array(l),p=new Array(l);for(let c=0;cc)&&(i.error(222,r[1].range,"Lane index","0",c.toString()),o=0),s.kind){case 1:return e.simd_extract(0,a,o);case 6:return e.simd_extract(1,a,o);case 2:return e.simd_extract(2,a,o);case 7:return e.simd_extract(3,a,o);case 3:case 8:return e.simd_extract(4,a,o);case 4:case 9:return e.simd_extract(5,a,o);case 5:case 10:return e.simd_extract(i.options.isWasm64?5:4,a,o);case 11:return e.simd_extract(6,a,o);case 12:return e.simd_extract(7,a,o)}}return i.error(203,t.reportNode.typeArgumentsRange,"v128.extract_lane",s.toString()),e.unreachable()}y.set(h.v128_extract_lane,At);function Sr(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,3))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1),l=i.compileExpression(r[1],u.u8,1),o=i.compileExpression(r[2],s,1);i.currentType=u.v128;let p=0,c=e.runExpression(l,1);if(c?p=ee(c):i.error(220,r[1].range),s.isValue){let _=16/assert(s.byteSize)-1;switch((p<0||p>_)&&(i.error(222,r[1].range,"Lane index","0",_.toString()),p=0),s.kind){case 1:case 6:return e.simd_replace(0,a,p,o);case 2:case 7:return e.simd_replace(1,a,p,o);case 3:case 8:return e.simd_replace(2,a,p,o);case 4:case 9:return e.simd_replace(3,a,p,o);case 5:case 10:return e.simd_replace(i.options.isWasm64?3:2,a,p,o);case 11:return e.simd_replace(4,a,p,o);case 12:return e.simd_replace(5,a,p,o)}}return i.error(203,t.reportNode.typeArgumentsRange,"v128.replace_lane",s.toString()),e.unreachable()}y.set(h.v128_replace_lane,Sr);function Ir(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0];if(s.isValue){let a=s.byteSize,l=16/a;if(assert(Number.isInteger(l)&>(l)),q(t,2+l))return i.currentType=u.v128,e.unreachable();let o=i.compileExpression(r[0],u.v128,1),p=i.compileExpression(r[1],u.v128,1);switch(s.kind){case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:{let c=new Uint8Array(16),_=(l<<1)-1;for(let f=0;f_)&&(i.error(222,d.range,"Lane index","0",_.toString()),T=0)):i.error(220,d.range),a){case 1:{ce(T,c,f);break}case 2:{let E=f<<1,F=T<<1;ce(F,c,E),ce(F+1,c,E+1);break}case 4:{let E=f<<2,F=T<<2;ce(F,c,E),ce(F+1,c,E+1),ce(F+2,c,E+2),ce(F+3,c,E+3);break}case 8:{let E=f<<3,F=T<<3;ce(F,c,E),ce(F+1,c,E+1),ce(F+2,c,E+2),ce(F+3,c,E+3),ce(F+4,c,E+4),ce(F+5,c,E+5),ce(F+6,c,E+6),ce(F+7,c,E+7);break}default:assert(!1)}}return i.currentType=u.v128,e.simd_shuffle(o,p,c)}}}return i.error(203,t.reportNode.typeArgumentsRange,"v128.shuffle",s.toString()),i.currentType=u.v128,e.unreachable()}y.set(h.v128_shuffle,Ir);function Xy(t){let i=t.compiler,e=i.module;if(j(t,16)|x(t)|q(t,2))return i.currentType=u.v128,e.unreachable();let r=t.operands,n=i.compileExpression(r[0],u.v128,1),s=i.compileExpression(r[1],u.v128,1);return e.binary(195,n,s)}y.set(h.v128_swizzle,Xy);function ts(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t,!0)|xe(t,1,3))return e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],i.options.usizeType,1),l=r.length,o=0,p=s.byteSize;if(l>=2){if(o=Ze(r[1],i),o<0)return i.currentType=u.v128,e.unreachable();if(l==3&&(p=Rt(r[2],p,i),p<0))return i.currentType=u.v128,e.unreachable()}if(i.currentType=u.v128,s.isValue)switch(s.kind){case 1:case 6:return e.simd_load(0,a,o,p);case 2:case 7:return e.simd_load(1,a,o,p);case 3:case 8:case 11:return e.simd_load(2,a,o,p);case 5:case 10:if(!i.options.isWasm64)return e.simd_load(2,a,o,p);case 4:case 9:case 12:return e.simd_load(3,a,o,p)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.load_splat",s.toString()),e.unreachable()}y.set(h.v128_load_splat,ts);function Fr(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t,!0)|xe(t,1,3))return e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],i.options.usizeType,1),l=r.length,o=0,p=s.byteSize;if(l>=2){if(o=Ze(r[1],i),o<0)return i.currentType=u.v128,e.unreachable();if(l==3&&(p=Rt(r[2],p,i),p<0))return i.currentType=u.v128,e.unreachable()}if(i.currentType=u.v128,s.isValue)switch(s.kind){case 1:return e.simd_load(4,a,o,p);case 6:return e.simd_load(5,a,o,p);case 2:return e.simd_load(6,a,o,p);case 7:return e.simd_load(7,a,o,p);case 5:if(i.options.isWasm64)break;case 3:return e.simd_load(8,a,o,p);case 10:if(i.options.isWasm64)break;case 8:return e.simd_load(9,a,o,p)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.load_ext",s.toString()),e.unreachable()}y.set(h.v128_load_ext,Fr);function nc(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t,!0)|xe(t,1,3))return e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],i.options.usizeType,1),l=r.length,o=0,p=s.byteSize;if(l>=2){if(o=Ze(r[1],i),o<0)return i.currentType=u.v128,e.unreachable();if(l==3&&(p=Rt(r[2],p,i),p<0))return i.currentType=u.v128,e.unreachable()}if(i.currentType=u.v128,s.isValue)switch(s.kind){case 3:case 8:case 11:return e.simd_load(10,a,o,p);case 4:case 9:case 12:return e.simd_load(11,a,o,p);case 5:case 10:return e.simd_load(i.options.isWasm64?11:10,a,o,p)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.load_zero",s.toString()),e.unreachable()}y.set(h.v128_load_zero,nc);function rs(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t,!0)|xe(t,3,5))return e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],i.options.usizeType,1),l=i.compileExpression(r[1],u.v128,1),o=i.compileExpression(r[2],u.u8,1),p=0,c=e.runExpression(o,1);c?p=ee(c):i.error(220,r[2].range);let _=r.length,f=0,d=s.byteSize;if(_>=4){if(f=Ze(r[3],i),f<0)return i.currentType=u.v128,e.unreachable();if(_==5&&(d=Rt(r[4],d,i),d<0))return i.currentType=u.v128,e.unreachable()}if(i.currentType=u.v128,s.isValue){let g=16/assert(s.byteSize)-1;switch((p<0||p>g)&&(i.error(222,r[1].range,"Lane index","0",g.toString()),p=0),s.kind){case 1:case 6:return e.simd_loadstorelane(0,a,f,d,p,l);case 2:case 7:return e.simd_loadstorelane(1,a,f,d,p,l);case 3:case 8:case 11:return e.simd_loadstorelane(2,a,f,d,p,l);case 4:case 9:case 12:return e.simd_loadstorelane(3,a,f,d,p,l);case 5:case 10:return e.simd_loadstorelane(i.options.isWasm64?3:2,a,f,d,p,l)}}return i.error(203,t.reportNode.typeArgumentsRange,"v128.load_lane",s.toString()),e.unreachable()}y.set(h.v128_load_lane,rs);function is(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t,!0)|xe(t,3,5))return e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],i.options.usizeType,1),l=i.compileExpression(r[1],u.v128,1),o=i.compileExpression(r[2],u.u8,1),p=0,c=e.runExpression(o,1);c?p=ee(c):i.error(220,r[2].range);let _=r.length,f=0,d=s.byteSize;if(_>=4){if(f=Ze(r[3],i),f<0)return i.currentType=u.v128,e.unreachable();if(_==5&&(d=Rt(r[4],d,i),d<0))return i.currentType=u.v128,e.unreachable()}if(i.currentType=u.void,s.isValue){let g=16/assert(s.byteSize)-1;switch((p<0||p>g)&&(i.error(222,r[1].range,"Lane index","0",g.toString()),p=0),s.kind){case 1:case 6:return e.simd_loadstorelane(4,a,f,d,p,l);case 2:case 7:return e.simd_loadstorelane(5,a,f,d,p,l);case 3:case 8:case 11:return e.simd_loadstorelane(6,a,f,d,p,l);case 4:case 9:case 12:return e.simd_loadstorelane(7,a,f,d,p,l);case 5:case 10:return e.simd_loadstorelane(i.options.isWasm64?7:6,a,f,d,p,l)}}return i.error(203,t.reportNode.typeArgumentsRange,"v128.store_lane",s.toString()),e.unreachable()}y.set(h.v128_store_lane,is);function Rr(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,2))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1),l=i.compileExpression(r[1],u.v128,1);if(s.isValue)switch(s.kind){case 1:case 6:return e.binary(128,a,l);case 2:case 7:return e.binary(139,a,l);case 3:case 8:return e.binary(156,a,l);case 4:case 9:return e.binary(168,a,l);case 5:case 10:return e.binary(i.options.isWasm64?168:156,a,l);case 11:return e.binary(175,a,l);case 12:return e.binary(183,a,l)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.add",s.toString()),e.unreachable()}y.set(h.v128_add,Rr);function kr(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,2))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1),l=i.compileExpression(r[1],u.v128,1);if(s.isValue)switch(s.kind){case 1:case 6:return e.binary(131,a,l);case 2:case 7:return e.binary(142,a,l);case 3:case 8:return e.binary(157,a,l);case 4:case 9:return e.binary(169,a,l);case 5:case 10:return e.binary(i.options.isWasm64?169:157,a,l);case 11:return e.binary(176,a,l);case 12:return e.binary(184,a,l)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.sub",s.toString()),e.unreachable()}y.set(h.v128_sub,kr);function Ii(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,2))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1),l=i.compileExpression(r[1],u.v128,1);if(s.isValue)switch(s.kind){case 2:case 7:return e.binary(145,a,l);case 3:case 8:return e.binary(158,a,l);case 4:case 9:return e.binary(170,a,l);case 5:case 10:return e.binary(i.options.isWasm64?170:158,a,l);case 11:return e.binary(177,a,l);case 12:return e.binary(185,a,l)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.mul",s.toString()),e.unreachable()}y.set(h.v128_mul,Ii);function sc(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,2))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1),l=i.compileExpression(r[1],u.v128,1);if(s.isValue)switch(s.kind){case 11:return e.binary(178,a,l);case 12:return e.binary(186,a,l)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.div",s.toString()),e.unreachable()}y.set(h.v128_div,sc);function ns(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,2))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1),l=i.compileExpression(r[1],u.v128,1);if(s.isValue)switch(s.kind){case 1:return e.binary(129,a,l);case 6:return e.binary(130,a,l);case 2:return e.binary(140,a,l);case 7:return e.binary(141,a,l)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.add_sat",s.toString()),e.unreachable()}y.set(h.v128_add_sat,ns);function ss(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,2))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1),l=i.compileExpression(r[1],u.v128,1);if(s.isValue)switch(s.kind){case 1:return e.binary(132,a,l);case 6:return e.binary(133,a,l);case 2:return e.binary(143,a,l);case 7:return e.binary(144,a,l)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.sub_sat",s.toString()),e.unreachable()}y.set(h.v128_sub_sat,ss);function wt(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,2))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1),l=i.compileExpression(r[1],u.v128,1);if(s.isValue)switch(s.kind){case 1:return e.binary(134,a,l);case 6:return e.binary(135,a,l);case 2:return e.binary(146,a,l);case 7:return e.binary(147,a,l);case 5:if(i.options.isWasm64)break;case 3:return e.binary(159,a,l);case 10:if(i.options.isWasm64)break;case 8:return e.binary(160,a,l);case 11:return e.binary(179,a,l);case 12:return e.binary(187,a,l)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.min",s.toString()),e.unreachable()}y.set(h.v128_min,wt);function Ct(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,2))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1),l=i.compileExpression(r[1],u.v128,1);if(s.isValue)switch(s.kind){case 1:return e.binary(136,a,l);case 6:return e.binary(137,a,l);case 2:return e.binary(148,a,l);case 7:return e.binary(149,a,l);case 5:if(i.options.isWasm64)break;case 3:return e.binary(161,a,l);case 10:if(i.options.isWasm64)break;case 8:return e.binary(162,a,l);case 11:return e.binary(180,a,l);case 12:return e.binary(188,a,l)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.max",s.toString()),e.unreachable()}y.set(h.v128_max,Ct);function ac(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,2))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1),l=i.compileExpression(r[1],u.v128,1);if(s.isValue)switch(s.kind){case 11:return e.binary(181,a,l);case 12:return e.binary(189,a,l)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.pmin",s.toString()),e.unreachable()}y.set(h.v128_pmin,ac);function lc(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,2))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1),l=i.compileExpression(r[1],u.v128,1);if(s.isValue)switch(s.kind){case 11:return e.binary(182,a,l);case 12:return e.binary(190,a,l)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.pmax",s.toString()),e.unreachable()}y.set(h.v128_pmax,lc);function Zy(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,2))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1),l=i.compileExpression(r[1],u.v128,1);if(s.isValue)switch(s.kind){case 2:return e.binary(163,a,l)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.dot",s.toString()),e.unreachable()}y.set(h.v128_dot,Zy);function oc(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,2))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1),l=i.compileExpression(r[1],u.v128,1);if(s.isValue)switch(s.kind){case 6:return e.binary(138,a,l);case 7:return e.binary(150,a,l)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.avgr",s.toString()),e.unreachable()}y.set(h.v128_avgr,oc);function Ar(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,2))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1),l=i.compileExpression(r[1],u.v128,1);if(s.isValue)switch(s.kind){case 1:case 6:return e.binary(76,a,l);case 2:case 7:return e.binary(86,a,l);case 3:case 8:return e.binary(96,a,l);case 4:case 9:return e.binary(106,a,l);case 5:case 10:return e.binary(i.options.isWasm64?106:96,a,l);case 11:return e.binary(112,a,l);case 12:return e.binary(118,a,l)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.eq",s.toString()),e.unreachable()}y.set(h.v128_eq,Ar);function wr(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,2))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1),l=i.compileExpression(r[1],u.v128,1);if(s.isValue)switch(s.kind){case 1:case 6:return e.binary(77,a,l);case 2:case 7:return e.binary(87,a,l);case 3:case 8:return e.binary(97,a,l);case 4:case 9:return e.binary(107,a,l);case 5:case 10:return e.binary(i.options.isWasm64?107:97,a,l);case 11:return e.binary(113,a,l);case 12:return e.binary(119,a,l)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.ne",s.toString()),e.unreachable()}y.set(h.v128_ne,wr);function _t(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,2))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1),l=i.compileExpression(r[1],u.v128,1);if(s.isValue)switch(s.kind){case 1:return e.binary(78,a,l);case 6:return e.binary(79,a,l);case 2:return e.binary(88,a,l);case 7:return e.binary(89,a,l);case 3:return e.binary(98,a,l);case 8:return e.binary(99,a,l);case 4:return e.binary(108,a,l);case 5:return e.binary(i.options.isWasm64?108:98,a,l);case 10:{if(i.options.isWasm64)break;return e.binary(99,a,l)}case 11:return e.binary(114,a,l);case 12:return e.binary(120,a,l)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.lt",s.toString()),e.unreachable()}y.set(h.v128_lt,_t);function ft(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,2))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1),l=i.compileExpression(r[1],u.v128,1);if(s.isValue)switch(s.kind){case 1:return e.binary(82,a,l);case 6:return e.binary(83,a,l);case 2:return e.binary(92,a,l);case 7:return e.binary(93,a,l);case 3:return e.binary(102,a,l);case 8:return e.binary(103,a,l);case 4:return e.binary(110,a,l);case 5:return e.binary(i.options.isWasm64?110:102,a,l);case 10:{if(i.options.isWasm64)break;return e.binary(103,a,l)}case 11:return e.binary(116,a,l);case 12:return e.binary(122,a,l)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.le",s.toString()),e.unreachable()}y.set(h.v128_le,ft);function ht(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,2))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1),l=i.compileExpression(r[1],u.v128,1);if(s.isValue)switch(s.kind){case 1:return e.binary(80,a,l);case 6:return e.binary(81,a,l);case 2:return e.binary(90,a,l);case 7:return e.binary(91,a,l);case 3:return e.binary(100,a,l);case 8:return e.binary(101,a,l);case 4:return e.binary(109,a,l);case 5:return e.binary(i.options.isWasm64?109:100,a,l);case 10:{if(i.options.isWasm64)break;return e.binary(101,a,l)}case 11:return e.binary(115,a,l);case 12:return e.binary(121,a,l)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.gt",s.toString()),e.unreachable()}y.set(h.v128_gt,ht);function dt(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,2))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1),l=i.compileExpression(r[1],u.v128,1);if(s.isValue)switch(s.kind){case 1:return e.binary(84,a,l);case 6:return e.binary(85,a,l);case 2:return e.binary(94,a,l);case 7:return e.binary(95,a,l);case 3:return e.binary(104,a,l);case 8:return e.binary(105,a,l);case 4:return e.binary(111,a,l);case 5:return e.binary(i.options.isWasm64?111:104,a,l);case 10:{if(i.options.isWasm64)break;return e.binary(105,a,l)}case 11:return e.binary(117,a,l);case 12:return e.binary(123,a,l)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.ge",s.toString()),e.unreachable()}y.set(h.v128_ge,dt);function as(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,2))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1),l=i.compileExpression(r[1],u.v128,1);if(s.isValue)switch(s.kind){case 2:return e.binary(191,a,l);case 7:return e.binary(192,a,l);case 3:return e.binary(193,a,l);case 8:return e.binary(194,a,l)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.narrow",s.toString()),e.unreachable()}y.set(h.v128_narrow,as);function Cr(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,1))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1);if(s.isValue)switch(s.kind){case 1:case 6:return e.unary(69,a);case 2:case 7:return e.unary(74,a);case 3:case 8:return e.unary(78,a);case 4:case 9:return e.unary(82,a);case 5:case 10:return e.unary(i.options.isWasm64?82:78,a);case 11:return e.unary(86,a);case 12:return e.unary(93,a)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.neg",s.toString()),e.unreachable()}y.set(h.v128_neg,Cr);function Br(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,1))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1);if(s.isValue)switch(s.kind){case 1:return e.unary(68,a);case 2:return e.unary(73,a);case 3:return e.unary(77,a);case 4:return e.unary(81,a);case 5:return e.unary(i.options.isWasm64?81:77,a);case 6:case 7:case 8:case 9:case 10:return a;case 11:return e.unary(85,a);case 12:return e.unary(92,a)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.abs",s.toString()),e.unreachable()}y.set(h.v128_abs,Br);function uc(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,1))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1);if(s.isValue)switch(s.kind){case 11:return e.unary(87,a);case 12:return e.unary(94,a)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.sqrt",s.toString()),e.unreachable()}y.set(h.v128_sqrt,uc);function pc(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,1))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1);if(s.isValue)switch(s.kind){case 11:return e.unary(88,a);case 12:return e.unary(95,a)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.ceil",s.toString()),e.unreachable()}y.set(h.v128_ceil,pc);function cc(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,1))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1);if(s.isValue)switch(s.kind){case 11:return e.unary(89,a);case 12:return e.unary(96,a)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.floor",s.toString()),e.unreachable()}y.set(h.v128_floor,cc);function _c(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,1))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1);if(s.isValue)switch(s.kind){case 11:return e.unary(90,a);case 12:return e.unary(97,a)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.trunc",s.toString()),e.unreachable()}y.set(h.v128_trunc,_c);function fc(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,1))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1);if(s.isValue)switch(s.kind){case 11:return e.unary(91,a);case 12:return e.unary(98,a)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.nearest",s.toString()),e.unreachable()}y.set(h.v128_nearest,fc);function hc(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,1))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1);if(s.isValue)switch(s.kind){case 5:if(i.options.isWasm64)break;case 3:return e.unary(105,a);case 10:if(i.options.isWasm64)break;case 8:return e.unary(106,a)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.convert",s.toString()),e.unreachable()}y.set(h.v128_convert,hc);function dc(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,1))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1);if(s.isValue)switch(s.kind){case 5:if(i.options.isWasm64)break;case 3:return e.unary(119,a);case 10:if(i.options.isWasm64)break;case 8:return e.unary(120,a)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.convert_low",s.toString()),e.unreachable()}y.set(h.v128_convert_low,dc);function mc(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,1))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1);if(s.isValue)switch(s.kind){case 5:if(i.options.isWasm64)break;case 3:return e.unary(103,a);case 10:if(i.options.isWasm64)break;case 8:return e.unary(104,a)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.trunc_sat",s.toString()),e.unreachable()}y.set(h.v128_trunc_sat,mc);function yc(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,1))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1);if(s.isValue)switch(s.kind){case 5:if(i.options.isWasm64)break;case 3:return e.unary(121,a);case 10:if(i.options.isWasm64)break;case 8:return e.unary(122,a)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.trunc_sat_zero",s.toString()),e.unreachable()}y.set(h.v128_trunc_sat_zero,yc);function Pr(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,1))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1);if(s.isValue)switch(s.kind){case 1:return e.unary(107,a);case 6:return e.unary(109,a);case 2:return e.unary(111,a);case 7:return e.unary(113,a);case 5:if(i.options.isWasm64)break;case 3:return e.unary(115,a);case 10:if(i.options.isWasm64)break;case 8:return e.unary(117,a)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.extend_low",s.toString()),e.unreachable()}y.set(h.v128_extend_low,Pr);function Nr(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,1))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1);if(s.isValue)switch(s.kind){case 1:return e.unary(108,a);case 6:return e.unary(110,a);case 2:return e.unary(112,a);case 7:return e.unary(114,a);case 5:if(i.options.isWasm64)break;case 3:return e.unary(116,a);case 10:if(i.options.isWasm64)break;case 8:return e.unary(118,a)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.extend_high",s.toString()),e.unreachable()}y.set(h.v128_extend_high,Nr);function ls(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,2))return i.currentType=u.v128,e.unreachable();let r=t.operands,n=t.typeArguments[0],s=i.compileExpression(r[0],u.v128,1),a=i.compileExpression(r[1],u.i32,1);if(i.currentType=u.v128,n.isValue)switch(n.kind){case 1:case 6:return e.simd_shift(0,s,a);case 2:case 7:return e.simd_shift(3,s,a);case 3:case 8:return e.simd_shift(6,s,a);case 4:case 9:return e.simd_shift(9,s,a);case 5:case 10:return e.simd_shift(i.options.isWasm64?9:6,s,a)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.shl",n.toString()),e.unreachable()}y.set(h.v128_shl,ls);function Bt(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,2))return i.currentType=u.v128,e.unreachable();let r=t.operands,n=t.typeArguments[0],s=i.compileExpression(r[0],u.v128,1),a=i.compileExpression(r[1],u.i32,1);if(i.currentType=u.v128,n.isValue)switch(n.kind){case 1:return e.simd_shift(1,s,a);case 6:return e.simd_shift(2,s,a);case 2:return e.simd_shift(4,s,a);case 7:return e.simd_shift(5,s,a);case 3:return e.simd_shift(7,s,a);case 8:return e.simd_shift(8,s,a);case 4:return e.simd_shift(10,s,a);case 9:return e.simd_shift(11,s,a);case 5:return e.simd_shift(i.options.isWasm64?10:7,s,a);case 10:return e.simd_shift(i.options.isWasm64?11:8,s,a)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.shr",n.toString()),e.unreachable()}y.set(h.v128_shr,Bt);function Pl(t,i){let e=t.compiler,r=e.module;if(j(t,16)|x(t)|q(t,2))return e.currentType=u.v128,r.unreachable();let n=t.operands,s=e.compileExpression(n[0],u.v128,1),a=e.compileExpression(n[1],u.v128,1);return r.binary(i,s,a)}function G1(t){return Pl(t,124)}y.set(h.v128_and,G1);function z1(t){return Pl(t,125)}y.set(h.v128_or,z1);function U1(t){return Pl(t,126)}y.set(h.v128_xor,U1);function V1(t){return Pl(t,127)}y.set(h.v128_andnot,V1);function D1(t,i){let e=t.compiler,r=e.module;if(j(t,16)|x(t)|q(t,1))return e.currentType=u.v128,r.unreachable();let n=t.operands,s=e.compileExpression(n[0],u.v128,1);return r.unary(i,s)}function q1(t){return D1(t,66)}y.set(h.v128_not,q1);function O1(t){let i=t.compiler,e=i.module;if(j(t,16)|x(t)|q(t,3))return i.currentType=u.v128,e.unreachable();let r=t.operands,n=i.compileExpression(r[0],u.v128,1),s=i.compileExpression(r[1],u.v128,1),a=i.compileExpression(r[2],u.v128,1);return e.simd_ternary(0,n,s,a)}y.set(h.v128_bitselect,O1);function W1(t){let i=t.compiler,e=i.module;if(j(t,16)|x(t)|q(t,1))return i.currentType=u.bool,e.unreachable();let r=t.operands,n=i.compileExpression(r[0],u.v128,1);return i.currentType=u.bool,e.unary(67,n)}y.set(h.v128_any_true,W1);function os(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,1))return i.currentType=u.bool,e.unreachable();let r=t.operands,n=t.typeArguments[0],s=i.compileExpression(r[0],u.v128,1);if(i.currentType=u.bool,n.isValue)switch(n.kind){case 1:case 6:return e.unary(70,s);case 2:case 7:return e.unary(75,s);case 3:case 8:return e.unary(79,s);case 4:case 9:return e.unary(83,s);case 5:case 10:return e.unary(i.options.isWasm64?83:79,s)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.all_true",n.toString()),e.unreachable()}y.set(h.v128_all_true,os);function us(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,1))return i.currentType=u.i32,e.unreachable();let r=t.operands,n=t.typeArguments[0],s=i.compileExpression(r[0],u.v128,1);if(i.currentType=u.i32,n.isValue)switch(n.kind){case 1:case 6:return e.unary(71,s);case 2:case 7:return e.unary(76,s);case 3:case 8:return e.unary(80,s);case 4:case 9:return e.unary(84,s);case 5:case 10:return e.unary(i.options.isWasm64?84:80,s)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.bitmask",n.toString()),e.unreachable()}y.set(h.v128_bitmask,us);function Yy(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,1))return i.currentType=u.v128,e.unreachable();let r=t.operands,n=t.typeArguments[0],s=i.compileExpression(r[0],u.v128,1);if(i.currentType=u.v128,n.isValue)switch(n.kind){case 1:case 6:return e.unary(72,s)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.popcnt",n.toString()),e.unreachable()}y.set(h.v128_popcnt,Yy);function ps(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,1))return i.currentType=u.v128,e.unreachable();let r=t.operands,n=t.typeArguments[0],s=i.compileExpression(r[0],u.v128,1);if(i.currentType=u.v128,n.isValue)switch(n.kind){case 1:return e.unary(99,s);case 6:return e.unary(100,s);case 2:return e.unary(101,s);case 7:return e.unary(102,s)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.extadd_pairwise",n.toString()),e.unreachable()}y.set(h.v128_extadd_pairwise,ps);function Qy(t){let i=t.compiler,e=i.module;if(j(t,16)|ne(t)|q(t,1))return i.currentType=u.v128,e.unreachable();let r=t.operands,n=t.typeArguments,s=n?n[0]:u.f64,a=i.compileExpression(r[0],u.v128,1);if(i.currentType=u.v128,s.isValue)switch(s.kind){case 12:return e.unary(123,a)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.demote_zero",s.toString()),e.unreachable()}y.set(h.v128_demote_zero,Qy);function Jy(t){let i=t.compiler,e=i.module;if(j(t,16)|ne(t)|q(t,1))return i.currentType=u.v128,e.unreachable();let r=t.operands,n=t.typeArguments,s=n?n[0]:u.f32,a=i.compileExpression(r[0],u.v128,1);if(i.currentType=u.v128,s.isValue)switch(s.kind){case 11:return e.unary(124,a)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.promote_low",s.toString()),e.unreachable()}y.set(h.v128_promote_low,Jy);function eg(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,2))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1),l=i.compileExpression(r[1],u.v128,1);if(s.isValue)switch(s.kind){case 2:return e.binary(151,a,l)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.q15mulr_sat",s.toString()),e.unreachable()}y.set(h.v128_q15mulr_sat,eg);function Lr(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,2))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1),l=i.compileExpression(r[1],u.v128,1);if(s.isValue)switch(s.kind){case 1:return e.binary(152,a,l);case 6:return e.binary(154,a,l);case 2:return e.binary(164,a,l);case 7:return e.binary(166,a,l);case 3:return e.binary(171,a,l);case 8:return e.binary(173,a,l)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.extmul_low",s.toString()),e.unreachable()}y.set(h.v128_extmul_low,Lr);function Mr(t){let i=t.compiler,e=i.module;if(j(t,16)|$(t)|q(t,2))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1),l=i.compileExpression(r[1],u.v128,1);if(s.isValue)switch(s.kind){case 1:return e.binary(153,a,l);case 6:return e.binary(155,a,l);case 2:return e.binary(165,a,l);case 7:return e.binary(167,a,l);case 3:return e.binary(172,a,l);case 8:return e.binary(174,a,l)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.extmul_high",s.toString()),e.unreachable()}y.set(h.v128_extmul_high,Mr);function tg(t){let i=t.compiler,e=i.module;if(j(t,4096)|x(t)|q(t,2))return i.currentType=u.v128,e.unreachable();let r=t.operands,n=i.compileExpression(r[0],u.v128,1),s=i.compileExpression(r[1],u.v128,1);return e.binary(196,n,s)}y.set(h.v128_relaxed_swizzle,tg);function gc(t){let i=t.compiler,e=i.module;if(j(t,4096)|$(t)|q(t,1))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1);if(s.isValue)switch(s.kind){case 5:if(i.options.isWasm64)break;case 3:return e.unary(125,a);case 10:if(i.options.isWasm64)break;case 8:return e.unary(126,a)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.relaxed_trunc",s.toString()),e.unreachable()}y.set(h.v128_relaxed_trunc,gc);function bc(t){let i=t.compiler,e=i.module;if(j(t,4096)|$(t)|q(t,1))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1);if(s.isValue)switch(s.kind){case 5:if(i.options.isWasm64)break;case 3:return e.unary(127,a);case 10:if(i.options.isWasm64)break;case 8:return e.unary(128,a)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.relaxed_trunc_zero",s.toString()),e.unreachable()}y.set(h.v128_relaxed_trunc_zero,bc);function xc(t){let i=t.compiler,e=i.module;if(j(t,4096)|$(t)|q(t,3))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1),l=i.compileExpression(r[1],u.v128,1),o=i.compileExpression(r[2],u.v128,1);if(s.isValue)switch(s.kind){case 11:return e.simd_ternary(1,a,l,o);case 12:return e.simd_ternary(3,a,l,o)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.relaxed_madd",s.toString()),e.unreachable()}y.set(h.v128_relaxed_madd,xc);function Tc(t){let i=t.compiler,e=i.module;if(j(t,4096)|$(t)|q(t,3))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1),l=i.compileExpression(r[1],u.v128,1),o=i.compileExpression(r[2],u.v128,1);if(s.isValue)switch(s.kind){case 11:return e.simd_ternary(2,a,l,o);case 12:return e.simd_ternary(4,a,l,o)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.relaxed_nmadd",s.toString()),e.unreachable()}y.set(h.v128_relaxed_nmadd,Tc);function cs(t){let i=t.compiler,e=i.module;if(j(t,4096)|$(t)|q(t,3))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1),l=i.compileExpression(r[1],u.v128,1),o=i.compileExpression(r[2],u.v128,1);if(s.isValue)switch(s.kind){case 1:case 6:return e.simd_ternary(5,a,l,o);case 2:case 7:return e.simd_ternary(6,a,l,o);case 3:case 8:return e.simd_ternary(7,a,l,o);case 4:case 9:return e.simd_ternary(8,a,l,o);case 5:case 10:return e.simd_ternary(i.options.isWasm64?8:7,a,l,o)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.relaxed_laneselect",s.toString()),e.unreachable()}y.set(h.v128_relaxed_laneselect,cs);function Ec(t){let i=t.compiler,e=i.module;if(j(t,4096)|$(t)|q(t,2))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1),l=i.compileExpression(r[1],u.v128,1);if(s.isValue)switch(s.kind){case 11:return e.binary(197,a,l);case 12:return e.binary(199,a,l)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.relaxed_min",s.toString()),e.unreachable()}y.set(h.v128_relaxed_min,Ec);function vc(t){let i=t.compiler,e=i.module;if(j(t,4096)|$(t)|q(t,2))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1),l=i.compileExpression(r[1],u.v128,1);if(s.isValue)switch(s.kind){case 11:return e.binary(198,a,l);case 12:return e.binary(200,a,l)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.relaxed_max",s.toString()),e.unreachable()}y.set(h.v128_relaxed_max,vc);function rg(t){let i=t.compiler,e=i.module;if(j(t,4096)|$(t)|q(t,2))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1),l=i.compileExpression(r[1],u.v128,1);if(s.isValue)switch(s.kind){case 2:return e.binary(201,a,l)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.relaxed_q15mulr",s.toString()),e.unreachable()}y.set(h.v128_relaxed_q15mulr,rg);function ig(t){let i=t.compiler,e=i.module;if(j(t,4096)|q(t,2)|$(t))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1),l=i.compileExpression(r[1],u.v128,1);switch(s.kind){case 2:return e.binary(202,a,l)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.relaxed_dot",s.toString()),e.unreachable()}y.set(h.v128_relaxed_dot,ig);function ng(t){let i=t.compiler,e=i.module;if(j(t,4096)|q(t,3)|$(t))return i.currentType=u.v128,e.unreachable();let r=t.operands,s=t.typeArguments[0],a=i.compileExpression(r[0],u.v128,1),l=i.compileExpression(r[1],u.v128,1),o=i.compileExpression(r[2],u.v128,1);switch(s.kind){case 5:if(i.options.isWasm64)break;case 3:return e.simd_ternary(9,a,l,o)}return i.error(203,t.reportNode.typeArgumentsRange,"v128.relaxed_dot_add",s.toString()),e.unreachable()}y.set(h.v128_relaxed_dot_add,ng);function K1(t){let i=t.compiler,e=i.module;if(x(t)|q(t,1))return i.currentType=u.void,e.unreachable();let r=t.operands,n=i.compileExpression(r[0],u.u32,1);return i.runtimeFeatures|=16,i.currentType=u.void,e.call(h.visit_globals,[n],P.None)}y.set(h.visit_globals,K1);function H1(t){let i=t.compiler,e=i.module;if(x(t)|q(t,2))return i.currentType=u.void,e.unreachable();let r=t.operands,n=i.compileExpression(r[0],i.options.usizeType,1),s=i.compileExpression(r[1],u.u32,1);return i.runtimeFeatures|=32,i.currentType=u.void,e.call(h.visit_members,[n,s],P.None)}y.set(h.visit_members,H1);function j1(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.i32,qp(t)}y.set(h.i32_clz,j1);function $1(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.i64,qp(t)}y.set(h.i64_clz,$1);function X1(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.i32,Op(t)}y.set(h.i32_ctz,X1);function Z1(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.i64,Op(t)}y.set(h.i64_ctz,Z1);function Y1(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.i32,Wp(t)}y.set(h.i32_popcnt,Y1);function Q1(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.i64,Wp(t)}y.set(h.i64_popcnt,Q1);function J1(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.i32,Kp(t)}y.set(h.i32_rotl,J1);function e6(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.i64,Kp(t)}y.set(h.i64_rotl,e6);function t6(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.i32,Hp(t)}y.set(h.i32_rotr,t6);function r6(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.i64,Hp(t)}y.set(h.i64_rotr,r6);function i6(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.f32,jp(t)}y.set(h.f32_abs,i6);function n6(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.f64,jp(t)}y.set(h.f64_abs,n6);function s6(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.f32,$p(t)}y.set(h.f32_max,s6);function a6(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.f64,$p(t)}y.set(h.f64_max,a6);function l6(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.f32,Xp(t)}y.set(h.f32_min,l6);function o6(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.f64,Xp(t)}y.set(h.f64_min,o6);function u6(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.f32,Zp(t)}y.set(h.f32_ceil,u6);function p6(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.f64,Zp(t)}y.set(h.f64_ceil,p6);function c6(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.f32,Yp(t)}y.set(h.f32_floor,c6);function _6(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.f64,Yp(t)}y.set(h.f64_floor,_6);function f6(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.f32,Qp(t)}y.set(h.f32_copysign,f6);function h6(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.f64,Qp(t)}y.set(h.f64_copysign,h6);function d6(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.f32,Jp(t)}y.set(h.f32_nearest,d6);function m6(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.f64,Jp(t)}y.set(h.f64_nearest,m6);function y6(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.f32,$n(t)}y.set(h.i32_reinterpret_f32,y6);function g6(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.f64,$n(t)}y.set(h.i64_reinterpret_f64,g6);function b6(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.i32,$n(t)}y.set(h.f32_reinterpret_i32,b6);function x6(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.i64,$n(t)}y.set(h.f64_reinterpret_i64,x6);function T6(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.f32,ec(t)}y.set(h.f32_sqrt,T6);function E6(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.f64,ec(t)}y.set(h.f64_sqrt,E6);function v6(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.f32,tc(t)}y.set(h.f32_trunc,v6);function S6(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.f64,tc(t)}y.set(h.f64_trunc,S6);function I6(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.i32,Xn(t)}y.set(h.i32_rem_s,I6);function F6(t){return x(t),t.typeArguments=[u.u32],t.contextualType=u.u32,Xn(t)}y.set(h.i32_rem_u,F6);function R6(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.i64,Xn(t)}y.set(h.i64_rem_s,R6);function k6(t){return x(t),t.typeArguments=[u.u64],t.contextualType=u.u64,Xn(t)}y.set(h.i64_rem_u,k6);function A6(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.i32,Zn(t)}y.set(h.i32_add,A6);function w6(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.i64,Zn(t)}y.set(h.i64_add,w6);function C6(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.f32,Zn(t)}y.set(h.f32_add,C6);function B6(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.f64,Zn(t)}y.set(h.f64_add,B6);function P6(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.i32,Yn(t)}y.set(h.i32_sub,P6);function N6(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.i64,Yn(t)}y.set(h.i64_sub,N6);function L6(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.f32,Yn(t)}y.set(h.f32_sub,L6);function M6(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.f64,Yn(t)}y.set(h.f64_sub,M6);function G6(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.i32,Qn(t)}y.set(h.i32_mul,G6);function z6(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.i64,Qn(t)}y.set(h.i64_mul,z6);function U6(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.f32,Qn(t)}y.set(h.f32_mul,U6);function V6(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.f64,Qn(t)}y.set(h.f64_mul,V6);function D6(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.i32,Er(t)}y.set(h.i32_div_s,D6);function q6(t){return x(t),t.typeArguments=[u.u32],t.contextualType=u.u32,Er(t)}y.set(h.i32_div_u,q6);function O6(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.i64,Er(t)}y.set(h.i64_div_s,O6);function W6(t){return x(t),t.typeArguments=[u.u64],t.contextualType=u.u64,Er(t)}y.set(h.i64_div_u,W6);function K6(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.f32,Er(t)}y.set(h.f32_div,K6);function H6(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.f64,Er(t)}y.set(h.f64_div,H6);function j6(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.i32,Jn(t)}y.set(h.i32_eq,j6);function $6(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.i32,Jn(t)}y.set(h.i64_eq,$6);function X6(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.i32,Jn(t)}y.set(h.f32_eq,X6);function Z6(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.i32,Jn(t)}y.set(h.f64_eq,Z6);function Y6(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.i32,es(t)}y.set(h.i32_ne,Y6);function Q6(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.i32,es(t)}y.set(h.i64_ne,Q6);function J6(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.i32,es(t)}y.set(h.f32_ne,J6);function eT(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.i32,es(t)}y.set(h.f64_ne,eT);function tT(t){return x(t),t.typeArguments=[u.i8],t.contextualType=u.i32,Re(t)}y.set(h.i32_load8_s,tT);function rT(t){return x(t),t.typeArguments=[u.u8],t.contextualType=u.i32,Re(t)}y.set(h.i32_load8_u,rT);function iT(t){return x(t),t.typeArguments=[u.i16],t.contextualType=u.i32,Re(t)}y.set(h.i32_load16_s,iT);function nT(t){return x(t),t.typeArguments=[u.u16],t.contextualType=u.i32,Re(t)}y.set(h.i32_load16_u,nT);function sT(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.i32,Re(t)}y.set(h.i32_load,sT);function aT(t){return x(t),t.typeArguments=[u.i8],t.contextualType=u.i64,Re(t)}y.set(h.i64_load8_s,aT);function lT(t){return x(t),t.typeArguments=[u.u8],t.contextualType=u.i64,Re(t)}y.set(h.i64_load8_u,lT);function oT(t){return x(t),t.typeArguments=[u.i16],t.contextualType=u.i64,Re(t)}y.set(h.i64_load16_s,oT);function uT(t){return x(t),t.typeArguments=[u.u16],t.contextualType=u.i64,Re(t)}y.set(h.i64_load16_u,uT);function pT(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.i64,Re(t)}y.set(h.i64_load32_s,pT);function cT(t){return x(t),t.typeArguments=[u.u32],t.contextualType=u.i64,Re(t)}y.set(h.i64_load32_u,cT);function _T(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.i64,Re(t)}y.set(h.i64_load,_T);function fT(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.f32,Re(t)}y.set(h.f32_load,fT);function hT(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.f64,Re(t)}y.set(h.f64_load,hT);function dT(t){return x(t),t.typeArguments=[u.i8],t.contextualType=u.i32,t.contextIsExact=!0,rt(t)}y.set(h.i32_store8,dT);function mT(t){return x(t),t.typeArguments=[u.i16],t.contextualType=u.i32,t.contextIsExact=!0,rt(t)}y.set(h.i32_store16,mT);function yT(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.i32,t.contextIsExact=!0,rt(t)}y.set(h.i32_store,yT);function gT(t){return x(t),t.typeArguments=[u.i8],t.contextualType=u.i64,t.contextIsExact=!0,rt(t)}y.set(h.i64_store8,gT);function bT(t){return x(t),t.typeArguments=[u.i16],t.contextualType=u.i64,t.contextIsExact=!0,rt(t)}y.set(h.i64_store16,bT);function xT(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.i64,t.contextIsExact=!0,rt(t)}y.set(h.i64_store32,xT);function TT(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.i64,t.contextIsExact=!0,rt(t)}y.set(h.i64_store,TT);function ET(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.f32,t.contextIsExact=!0,rt(t)}y.set(h.f32_store,ET);function vT(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.f64,t.contextIsExact=!0,rt(t)}y.set(h.f64_store,vT);function ST(t){return x(t),t.typeArguments=[u.u8],t.contextualType=u.i32,$t(t)}y.set(h.i32_atomic_load8_u,ST);function IT(t){return x(t),t.typeArguments=[u.u16],t.contextualType=u.i32,$t(t)}y.set(h.i32_atomic_load16_u,IT);function FT(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.i32,$t(t)}y.set(h.i32_atomic_load,FT);function RT(t){return x(t),t.typeArguments=[u.u8],t.contextualType=u.i64,$t(t)}y.set(h.i64_atomic_load8_u,RT);function kT(t){return x(t),t.typeArguments=[u.u16],t.contextualType=u.i64,$t(t)}y.set(h.i64_atomic_load16_u,kT);function AT(t){return x(t),t.typeArguments=[u.u32],t.contextualType=u.i64,$t(t)}y.set(h.i64_atomic_load32_u,AT);function wT(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.i64,$t(t)}y.set(h.i64_atomic_load,wT);function CT(t){return x(t),t.typeArguments=[u.i8],t.contextualType=u.i32,t.contextIsExact=!0,Xt(t)}y.set(h.i32_atomic_store8,CT);function BT(t){return x(t),t.typeArguments=[u.i16],t.contextualType=u.i32,t.contextIsExact=!0,Xt(t)}y.set(h.i32_atomic_store16,BT);function PT(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.i32,t.contextIsExact=!0,Xt(t)}y.set(h.i32_atomic_store,PT);function NT(t){return x(t),t.typeArguments=[u.i8],t.contextualType=u.i64,t.contextIsExact=!0,Xt(t)}y.set(h.i64_atomic_store8,NT);function LT(t){return x(t),t.typeArguments=[u.u16],t.contextualType=u.i64,t.contextIsExact=!0,Xt(t)}y.set(h.i64_atomic_store16,LT);function MT(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.i64,t.contextIsExact=!0,Xt(t)}y.set(h.i64_atomic_store32,MT);function GT(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.i64,t.contextIsExact=!0,Xt(t)}y.set(h.i64_atomic_store,GT);function zT(t){return x(t),t.typeArguments=[u.u8],t.contextualType=u.i32,t.contextIsExact=!0,Zt(t)}y.set(h.i32_atomic_rmw8_add_u,zT);function UT(t){return x(t),t.typeArguments=[u.u16],t.contextualType=u.i32,t.contextIsExact=!0,Zt(t)}y.set(h.i32_atomic_rmw16_add_u,UT);function VT(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.i32,t.contextIsExact=!0,Zt(t)}y.set(h.i32_atomic_rmw_add,VT);function DT(t){return x(t),t.typeArguments=[u.u8],t.contextualType=u.i64,t.contextIsExact=!0,Zt(t)}y.set(h.i64_atomic_rmw8_add_u,DT);function qT(t){return x(t),t.typeArguments=[u.u16],t.contextualType=u.i64,t.contextIsExact=!0,Zt(t)}y.set(h.i64_atomic_rmw16_add_u,qT);function OT(t){return x(t),t.typeArguments=[u.u32],t.contextualType=u.i64,t.contextIsExact=!0,Zt(t)}y.set(h.i64_atomic_rmw32_add_u,OT);function WT(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.i64,t.contextIsExact=!0,Zt(t)}y.set(h.i64_atomic_rmw_add,WT);function KT(t){return x(t),t.typeArguments=[u.u8],t.contextualType=u.i32,t.contextIsExact=!0,Yt(t)}y.set(h.i32_atomic_rmw8_sub_u,KT);function HT(t){return x(t),t.typeArguments=[u.u16],t.contextualType=u.i32,t.contextIsExact=!0,Yt(t)}y.set(h.i32_atomic_rmw16_sub_u,HT);function jT(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.i32,t.contextIsExact=!0,Yt(t)}y.set(h.i32_atomic_rmw_sub,jT);function $T(t){return x(t),t.typeArguments=[u.u8],t.contextualType=u.i64,t.contextIsExact=!0,Yt(t)}y.set(h.i64_atomic_rmw8_sub_u,$T);function XT(t){return x(t),t.typeArguments=[u.u16],t.contextualType=u.i64,t.contextIsExact=!0,Yt(t)}y.set(h.i64_atomic_rmw16_sub_u,XT);function ZT(t){return x(t),t.typeArguments=[u.u32],t.contextualType=u.i64,t.contextIsExact=!0,Yt(t)}y.set(h.i64_atomic_rmw32_sub_u,ZT);function YT(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.i64,t.contextIsExact=!0,Yt(t)}y.set(h.i64_atomic_rmw_sub,YT);function QT(t){return x(t),t.typeArguments=[u.u8],t.contextualType=u.i32,t.contextIsExact=!0,Qt(t)}y.set(h.i32_atomic_rmw8_and_u,QT);function JT(t){return x(t),t.typeArguments=[u.u16],t.contextualType=u.i32,t.contextIsExact=!0,Qt(t)}y.set(h.i32_atomic_rmw16_and_u,JT);function e4(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.i32,t.contextIsExact=!0,Qt(t)}y.set(h.i32_atomic_rmw_and,e4);function t4(t){return x(t),t.typeArguments=[u.u8],t.contextualType=u.i64,t.contextIsExact=!0,Qt(t)}y.set(h.i64_atomic_rmw8_and_u,t4);function r4(t){return x(t),t.typeArguments=[u.u16],t.contextualType=u.i64,t.contextIsExact=!0,Qt(t)}y.set(h.i64_atomic_rmw16_and_u,r4);function i4(t){return x(t),t.typeArguments=[u.u32],t.contextualType=u.i64,t.contextIsExact=!0,Qt(t)}y.set(h.i64_atomic_rmw32_and_u,i4);function n4(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.i64,t.contextIsExact=!0,Qt(t)}y.set(h.i64_atomic_rmw_and,n4);function s4(t){return x(t),t.typeArguments=[u.u8],t.contextualType=u.i32,t.contextIsExact=!0,Jt(t)}y.set(h.i32_atomic_rmw8_or_u,s4);function a4(t){return x(t),t.typeArguments=[u.u16],t.contextualType=u.i32,t.contextIsExact=!0,Jt(t)}y.set(h.i32_atomic_rmw16_or_u,a4);function l4(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.i32,t.contextIsExact=!0,Jt(t)}y.set(h.i32_atomic_rmw_or,l4);function o4(t){return x(t),t.typeArguments=[u.u8],t.contextualType=u.i64,t.contextIsExact=!0,Jt(t)}y.set(h.i64_atomic_rmw8_or_u,o4);function u4(t){return x(t),t.typeArguments=[u.u16],t.contextualType=u.i64,t.contextIsExact=!0,Jt(t)}y.set(h.i64_atomic_rmw16_or_u,u4);function p4(t){return x(t),t.typeArguments=[u.u32],t.contextualType=u.i64,t.contextIsExact=!0,Jt(t)}y.set(h.i64_atomic_rmw32_or_u,p4);function c4(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.i64,t.contextIsExact=!0,Jt(t)}y.set(h.i64_atomic_rmw_or,c4);function _4(t){return x(t),t.typeArguments=[u.u8],t.contextualType=u.i32,t.contextIsExact=!0,er(t)}y.set(h.i32_atomic_rmw8_xor_u,_4);function f4(t){return x(t),t.typeArguments=[u.u16],t.contextualType=u.i32,t.contextIsExact=!0,er(t)}y.set(h.i32_atomic_rmw16_xor_u,f4);function h4(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.i32,t.contextIsExact=!0,er(t)}y.set(h.i32_atomic_rmw_xor,h4);function d4(t){return x(t),t.typeArguments=[u.u8],t.contextualType=u.i64,t.contextIsExact=!0,er(t)}y.set(h.i64_atomic_rmw8_xor_u,d4);function m4(t){return x(t),t.typeArguments=[u.u16],t.contextualType=u.i64,t.contextIsExact=!0,er(t)}y.set(h.i64_atomic_rmw16_xor_u,m4);function y4(t){return x(t),t.typeArguments=[u.u32],t.contextualType=u.i64,t.contextIsExact=!0,er(t)}y.set(h.i64_atomic_rmw32_xor_u,y4);function g4(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.i64,t.contextIsExact=!0,er(t)}y.set(h.i64_atomic_rmw_xor,g4);function b4(t){return x(t),t.typeArguments=[u.u8],t.contextualType=u.i32,t.contextIsExact=!0,tr(t)}y.set(h.i32_atomic_rmw8_xchg_u,b4);function x4(t){return x(t),t.typeArguments=[u.u16],t.contextualType=u.i32,t.contextIsExact=!0,tr(t)}y.set(h.i32_atomic_rmw16_xchg_u,x4);function T4(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.i32,t.contextIsExact=!0,tr(t)}y.set(h.i32_atomic_rmw_xchg,T4);function E4(t){return x(t),t.typeArguments=[u.u8],t.contextualType=u.i64,t.contextIsExact=!0,tr(t)}y.set(h.i64_atomic_rmw8_xchg_u,E4);function v4(t){return x(t),t.typeArguments=[u.u16],t.contextualType=u.i64,t.contextIsExact=!0,tr(t)}y.set(h.i64_atomic_rmw16_xchg_u,v4);function S4(t){return x(t),t.typeArguments=[u.u32],t.contextualType=u.i64,t.contextIsExact=!0,tr(t)}y.set(h.i64_atomic_rmw32_xchg_u,S4);function I4(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.i64,t.contextIsExact=!0,tr(t)}y.set(h.i64_atomic_rmw_xchg,I4);function F4(t){return x(t),t.typeArguments=[u.u8],t.contextualType=u.i32,t.contextIsExact=!0,rr(t)}y.set(h.i32_atomic_rmw8_cmpxchg_u,F4);function R4(t){return x(t),t.typeArguments=[u.u16],t.contextualType=u.i32,t.contextIsExact=!0,rr(t)}y.set(h.i32_atomic_rmw16_cmpxchg_u,R4);function k4(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.i32,t.contextIsExact=!0,rr(t)}y.set(h.i32_atomic_rmw_cmpxchg,k4);function A4(t){return x(t),t.typeArguments=[u.u8],t.contextualType=u.i64,t.contextIsExact=!0,rr(t)}y.set(h.i64_atomic_rmw8_cmpxchg_u,A4);function w4(t){return x(t),t.typeArguments=[u.u16],t.contextualType=u.i64,t.contextIsExact=!0,rr(t)}y.set(h.i64_atomic_rmw16_cmpxchg_u,w4);function C4(t){return x(t),t.typeArguments=[u.u32],t.contextualType=u.i64,t.contextIsExact=!0,rr(t)}y.set(h.i64_atomic_rmw32_cmpxchg_u,C4);function B4(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.i64,t.contextIsExact=!0,rr(t)}y.set(h.i64_atomic_rmw_cmpxchg,B4);function P4(t){return x(t),t.typeArguments=[u.i32],rc(t)}y.set(h.memory_atomic_wait32,P4);function N4(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.i32,rc(t)}y.set(h.memory_atomic_wait64,N4);function L4(t){return x(t),t.typeArguments=[u.v128],t.contextualType=u.v128,Re(t)}y.set(h.v128_load,L4);function M4(t){return x(t),t.typeArguments=[u.i8],t.contextualType=u.v128,Fr(t)}y.set(h.v128_load8x8_s,M4);function G4(t){return x(t),t.typeArguments=[u.u8],t.contextualType=u.v128,Fr(t)}y.set(h.v128_load8x8_u,G4);function z4(t){return x(t),t.typeArguments=[u.i16],t.contextualType=u.v128,Fr(t)}y.set(h.v128_load16x4_s,z4);function U4(t){return x(t),t.typeArguments=[u.u16],t.contextualType=u.v128,Fr(t)}y.set(h.v128_load16x4_u,U4);function V4(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.v128,Fr(t)}y.set(h.v128_load32x2_s,V4);function D4(t){return x(t),t.typeArguments=[u.u32],t.contextualType=u.v128,Fr(t)}y.set(h.v128_load32x2_u,D4);function q4(t){return x(t),t.typeArguments=[u.u8],t.contextualType=u.v128,ts(t)}y.set(h.v128_load8_splat,q4);function O4(t){return x(t),t.typeArguments=[u.u16],t.contextualType=u.v128,ts(t)}y.set(h.v128_load16_splat,O4);function W4(t){return x(t),t.typeArguments=[u.u32],t.contextualType=u.v128,ts(t)}y.set(h.v128_load32_splat,W4);function K4(t){return x(t),t.typeArguments=[u.u64],t.contextualType=u.v128,ts(t)}y.set(h.v128_load64_splat,K4);function H4(t){return x(t),t.typeArguments=[u.u32],t.contextualType=u.v128,nc(t)}y.set(h.v128_load32_zero,H4);function j4(t){return x(t),t.typeArguments=[u.u64],t.contextualType=u.v128,nc(t)}y.set(h.v128_load64_zero,j4);function $4(t){return x(t),t.typeArguments=[u.u8],t.contextualType=u.v128,rs(t)}y.set(h.v128_load8_lane,$4);function X4(t){return x(t),t.typeArguments=[u.u16],t.contextualType=u.v128,rs(t)}y.set(h.v128_load16_lane,X4);function Z4(t){return x(t),t.typeArguments=[u.u32],t.contextualType=u.v128,rs(t)}y.set(h.v128_load32_lane,Z4);function Y4(t){return x(t),t.typeArguments=[u.u64],t.contextualType=u.v128,rs(t)}y.set(h.v128_load64_lane,Y4);function Q4(t){return x(t),t.typeArguments=[u.u8],t.contextualType=u.v128,is(t)}y.set(h.v128_store8_lane,Q4);function J4(t){return x(t),t.typeArguments=[u.u16],t.contextualType=u.v128,is(t)}y.set(h.v128_store16_lane,J4);function eE(t){return x(t),t.typeArguments=[u.u32],t.contextualType=u.v128,is(t)}y.set(h.v128_store32_lane,eE);function tE(t){return x(t),t.typeArguments=[u.u64],t.contextualType=u.v128,is(t)}y.set(h.v128_store64_lane,tE);function rE(t){return x(t),t.typeArguments=[u.v128],t.contextualType=u.v128,t.contextIsExact=!0,rt(t)}y.set(h.v128_store,rE);function iE(t){return x(t),t.typeArguments=[u.i8],t.contextualType=u.v128,vr(t)}y.set(h.i8x16_splat,iE);function nE(t){return x(t),t.typeArguments=[u.i8],t.contextualType=u.i32,At(t)}y.set(h.i8x16_extract_lane_s,nE);function sE(t){return x(t),t.typeArguments=[u.u8],t.contextualType=u.i32,At(t)}y.set(h.i8x16_extract_lane_u,sE);function aE(t){return x(t),t.typeArguments=[u.i8],t.contextualType=u.v128,Sr(t)}y.set(h.i8x16_replace_lane,aE);function lE(t){return x(t),t.typeArguments=[u.i8],t.contextualType=u.v128,Rr(t)}y.set(h.i8x16_add,lE);function oE(t){return x(t),t.typeArguments=[u.i8],t.contextualType=u.v128,kr(t)}y.set(h.i8x16_sub,oE);function uE(t){return x(t),t.typeArguments=[u.i8],t.contextualType=u.v128,wt(t)}y.set(h.i8x16_min_s,uE);function pE(t){return x(t),t.typeArguments=[u.u8],t.contextualType=u.v128,wt(t)}y.set(h.i8x16_min_u,pE);function cE(t){return x(t),t.typeArguments=[u.i8],t.contextualType=u.v128,Ct(t)}y.set(h.i8x16_max_s,cE);function _E(t){return x(t),t.typeArguments=[u.u8],t.contextualType=u.v128,Ct(t)}y.set(h.i8x16_max_u,_E);function fE(t){return x(t),t.typeArguments=[u.u8],t.contextualType=u.v128,oc(t)}y.set(h.i8x16_avgr_u,fE);function hE(t){return x(t),t.typeArguments=[u.i8],t.contextualType=u.v128,Br(t)}y.set(h.i8x16_abs,hE);function dE(t){return x(t),t.typeArguments=[u.i8],t.contextualType=u.v128,Cr(t)}y.set(h.i8x16_neg,dE);function mE(t){return x(t),t.typeArguments=[u.i8],t.contextualType=u.v128,ns(t)}y.set(h.i8x16_add_sat_s,mE);function yE(t){return x(t),t.typeArguments=[u.u8],t.contextualType=u.v128,ns(t)}y.set(h.i8x16_add_sat_u,yE);function gE(t){return x(t),t.typeArguments=[u.i8],t.contextualType=u.v128,ss(t)}y.set(h.i8x16_sub_sat_s,gE);function bE(t){return x(t),t.typeArguments=[u.u8],t.contextualType=u.v128,ss(t)}y.set(h.i8x16_sub_sat_u,bE);function xE(t){return x(t),t.typeArguments=[u.i8],t.contextualType=u.v128,ls(t)}y.set(h.i8x16_shl,xE);function TE(t){return x(t),t.typeArguments=[u.i8],t.contextualType=u.v128,Bt(t)}y.set(h.i8x16_shr_s,TE);function EE(t){return x(t),t.typeArguments=[u.u8],t.contextualType=u.v128,Bt(t)}y.set(h.i8x16_shr_u,EE);function vE(t){return x(t),t.typeArguments=[u.i8],t.contextualType=u.i32,os(t)}y.set(h.i8x16_all_true,vE);function SE(t){return x(t),t.typeArguments=[u.i8],t.contextualType=u.i32,us(t)}y.set(h.i8x16_bitmask,SE);function IE(t){return x(t),t.typeArguments=[u.i8],t.contextualType=u.v128,Yy(t)}y.set(h.i8x16_popcnt,IE);function FE(t){return x(t),t.typeArguments=[u.i8],t.contextualType=u.v128,Ar(t)}y.set(h.i8x16_eq,FE);function RE(t){return x(t),t.typeArguments=[u.i8],t.contextualType=u.v128,wr(t)}y.set(h.i8x16_ne,RE);function kE(t){return x(t),t.typeArguments=[u.i8],t.contextualType=u.v128,_t(t)}y.set(h.i8x16_lt_s,kE);function AE(t){return x(t),t.typeArguments=[u.u8],t.contextualType=u.v128,_t(t)}y.set(h.i8x16_lt_u,AE);function wE(t){return x(t),t.typeArguments=[u.i8],t.contextualType=u.v128,ft(t)}y.set(h.i8x16_le_s,wE);function CE(t){return x(t),t.typeArguments=[u.u8],t.contextualType=u.v128,ft(t)}y.set(h.i8x16_le_u,CE);function BE(t){return x(t),t.typeArguments=[u.i8],t.contextualType=u.v128,ht(t)}y.set(h.i8x16_gt_s,BE);function PE(t){return x(t),t.typeArguments=[u.u8],t.contextualType=u.v128,ht(t)}y.set(h.i8x16_gt_u,PE);function NE(t){return x(t),t.typeArguments=[u.i8],t.contextualType=u.v128,dt(t)}y.set(h.i8x16_ge_s,NE);function LE(t){return x(t),t.typeArguments=[u.u8],t.contextualType=u.v128,dt(t)}y.set(h.i8x16_ge_u,LE);function ME(t){return x(t),t.typeArguments=[u.i16],t.contextualType=u.v128,as(t)}y.set(h.i8x16_narrow_i16x8_s,ME);function GE(t){return x(t),t.typeArguments=[u.u16],t.contextualType=u.v128,as(t)}y.set(h.i8x16_narrow_i16x8_u,GE);function zE(t){return x(t),t.typeArguments=[u.i8],t.contextualType=u.v128,Ir(t)}y.set(h.i8x16_shuffle,zE);function UE(t){return x(t),t.typeArguments=null,t.contextualType=u.v128,Xy(t)}y.set(h.i8x16_swizzle,UE);function VE(t){return x(t),t.typeArguments=[u.i16],t.contextualType=u.v128,vr(t)}y.set(h.i16x8_splat,VE);function DE(t){return x(t),t.typeArguments=[u.i16],t.contextualType=u.i32,At(t)}y.set(h.i16x8_extract_lane_s,DE);function qE(t){return x(t),t.typeArguments=[u.u16],t.contextualType=u.i32,At(t)}y.set(h.i16x8_extract_lane_u,qE);function OE(t){return x(t),t.typeArguments=[u.i16],t.contextualType=u.v128,Sr(t)}y.set(h.i16x8_replace_lane,OE);function WE(t){return x(t),t.typeArguments=[u.i16],t.contextualType=u.v128,Rr(t)}y.set(h.i16x8_add,WE);function KE(t){return x(t),t.typeArguments=[u.i16],t.contextualType=u.v128,kr(t)}y.set(h.i16x8_sub,KE);function HE(t){return x(t),t.typeArguments=[u.i16],t.contextualType=u.v128,Ii(t)}y.set(h.i16x8_mul,HE);function jE(t){return x(t),t.typeArguments=[u.i16],t.contextualType=u.v128,wt(t)}y.set(h.i16x8_min_s,jE);function $E(t){return x(t),t.typeArguments=[u.u16],t.contextualType=u.v128,wt(t)}y.set(h.i16x8_min_u,$E);function XE(t){return x(t),t.typeArguments=[u.i16],t.contextualType=u.v128,Ct(t)}y.set(h.i16x8_max_s,XE);function ZE(t){return x(t),t.typeArguments=[u.u16],t.contextualType=u.v128,Ct(t)}y.set(h.i16x8_max_u,ZE);function YE(t){return x(t),t.typeArguments=[u.u16],t.contextualType=u.v128,oc(t)}y.set(h.i16x8_avgr_u,YE);function QE(t){return x(t),t.typeArguments=[u.i16],t.contextualType=u.v128,Br(t)}y.set(h.i16x8_abs,QE);function JE(t){return x(t),t.typeArguments=[u.i16],t.contextualType=u.v128,Cr(t)}y.set(h.i16x8_neg,JE);function e3(t){return x(t),t.typeArguments=[u.i16],t.contextualType=u.v128,ns(t)}y.set(h.i16x8_add_sat_s,e3);function t3(t){return x(t),t.typeArguments=[u.u16],t.contextualType=u.v128,ns(t)}y.set(h.i16x8_add_sat_u,t3);function r3(t){return x(t),t.typeArguments=[u.i16],t.contextualType=u.v128,ss(t)}y.set(h.i16x8_sub_sat_s,r3);function i3(t){return x(t),t.typeArguments=[u.u16],t.contextualType=u.v128,ss(t)}y.set(h.i16x8_sub_sat_u,i3);function n3(t){return x(t),t.typeArguments=[u.i16],t.contextualType=u.v128,ls(t)}y.set(h.i16x8_shl,n3);function s3(t){return x(t),t.typeArguments=[u.i16],t.contextualType=u.v128,Bt(t)}y.set(h.i16x8_shr_s,s3);function a3(t){return x(t),t.typeArguments=[u.u16],t.contextualType=u.v128,Bt(t)}y.set(h.i16x8_shr_u,a3);function l3(t){return x(t),t.typeArguments=[u.i16],t.contextualType=u.i32,os(t)}y.set(h.i16x8_all_true,l3);function o3(t){return x(t),t.typeArguments=[u.i16],t.contextualType=u.i32,us(t)}y.set(h.i16x8_bitmask,o3);function u3(t){return x(t),t.typeArguments=[u.i16],t.contextualType=u.v128,Ar(t)}y.set(h.i16x8_eq,u3);function p3(t){return x(t),t.typeArguments=[u.i16],t.contextualType=u.v128,wr(t)}y.set(h.i16x8_ne,p3);function c3(t){return x(t),t.typeArguments=[u.i16],t.contextualType=u.v128,_t(t)}y.set(h.i16x8_lt_s,c3);function _3(t){return x(t),t.typeArguments=[u.u16],t.contextualType=u.v128,_t(t)}y.set(h.i16x8_lt_u,_3);function f3(t){return x(t),t.typeArguments=[u.i16],t.contextualType=u.v128,ft(t)}y.set(h.i16x8_le_s,f3);function h3(t){return x(t),t.typeArguments=[u.u16],t.contextualType=u.v128,ft(t)}y.set(h.i16x8_le_u,h3);function d3(t){return x(t),t.typeArguments=[u.i16],t.contextualType=u.v128,ht(t)}y.set(h.i16x8_gt_s,d3);function m3(t){return x(t),t.typeArguments=[u.u16],t.contextualType=u.v128,ht(t)}y.set(h.i16x8_gt_u,m3);function y3(t){return x(t),t.typeArguments=[u.i16],t.contextualType=u.v128,dt(t)}y.set(h.i16x8_ge_s,y3);function g3(t){return x(t),t.typeArguments=[u.u16],t.contextualType=u.v128,dt(t)}y.set(h.i16x8_ge_u,g3);function b3(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.v128,as(t)}y.set(h.i16x8_narrow_i32x4_s,b3);function x3(t){return x(t),t.typeArguments=[u.u32],t.contextualType=u.v128,as(t)}y.set(h.i16x8_narrow_i32x4_u,x3);function T3(t){return x(t),t.typeArguments=[u.i8],t.contextualType=u.v128,Pr(t)}y.set(h.i16x8_extend_low_i8x16_s,T3);function E3(t){return x(t),t.typeArguments=[u.u8],t.contextualType=u.v128,Pr(t)}y.set(h.i16x8_extend_low_i8x16_u,E3);function v3(t){return x(t),t.typeArguments=[u.i8],t.contextualType=u.v128,Nr(t)}y.set(h.i16x8_extend_high_i8x16_s,v3);function S3(t){return x(t),t.typeArguments=[u.u8],t.contextualType=u.v128,Nr(t)}y.set(h.i16x8_extend_high_i8x16_u,S3);function I3(t){return x(t),t.typeArguments=[u.i8],t.contextualType=u.v128,ps(t)}y.set(h.i16x8_extadd_pairwise_i8x16_s,I3);function F3(t){return x(t),t.typeArguments=[u.u8],t.contextualType=u.v128,ps(t)}y.set(h.i16x8_extadd_pairwise_i8x16_u,F3);function R3(t){return x(t),t.typeArguments=[u.i16],t.contextualType=u.v128,eg(t)}y.set(h.i16x8_q15mulr_sat_s,R3);function k3(t){return x(t),t.typeArguments=[u.i8],t.contextualType=u.v128,Lr(t)}y.set(h.i16x8_extmul_low_i8x16_s,k3);function A3(t){return x(t),t.typeArguments=[u.u8],t.contextualType=u.v128,Lr(t)}y.set(h.i16x8_extmul_low_i8x16_u,A3);function w3(t){return x(t),t.typeArguments=[u.i8],t.contextualType=u.v128,Mr(t)}y.set(h.i16x8_extmul_high_i8x16_s,w3);function C3(t){return x(t),t.typeArguments=[u.u8],t.contextualType=u.v128,Mr(t)}y.set(h.i16x8_extmul_high_i8x16_u,C3);function B3(t){return x(t),t.typeArguments=[u.i16],t.contextualType=u.v128,Ir(t)}y.set(h.i16x8_shuffle,B3);function P3(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.v128,vr(t)}y.set(h.i32x4_splat,P3);function N3(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.i32,At(t)}y.set(h.i32x4_extract_lane,N3);function L3(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.v128,Sr(t)}y.set(h.i32x4_replace_lane,L3);function M3(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.v128,Rr(t)}y.set(h.i32x4_add,M3);function G3(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.v128,kr(t)}y.set(h.i32x4_sub,G3);function z3(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.v128,Ii(t)}y.set(h.i32x4_mul,z3);function U3(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.v128,wt(t)}y.set(h.i32x4_min_s,U3);function V3(t){return x(t),t.typeArguments=[u.u32],t.contextualType=u.v128,wt(t)}y.set(h.i32x4_min_u,V3);function D3(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.v128,Ct(t)}y.set(h.i32x4_max_s,D3);function q3(t){return x(t),t.typeArguments=[u.u32],t.contextualType=u.v128,Ct(t)}y.set(h.i32x4_max_u,q3);function O3(t){return x(t),t.typeArguments=[u.i16],t.contextualType=u.v128,Zy(t)}y.set(h.i32x4_dot_i16x8_s,O3);function W3(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.v128,Br(t)}y.set(h.i32x4_abs,W3);function K3(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.v128,Cr(t)}y.set(h.i32x4_neg,K3);function H3(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.v128,ls(t)}y.set(h.i32x4_shl,H3);function j3(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.v128,Bt(t)}y.set(h.i32x4_shr_s,j3);function $3(t){return x(t),t.typeArguments=[u.u32],t.contextualType=u.v128,Bt(t)}y.set(h.i32x4_shr_u,$3);function X3(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.i32,os(t)}y.set(h.i32x4_all_true,X3);function Z3(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.i32,us(t)}y.set(h.i32x4_bitmask,Z3);function Y3(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.v128,Ar(t)}y.set(h.i32x4_eq,Y3);function Q3(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.v128,wr(t)}y.set(h.i32x4_ne,Q3);function J3(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.v128,_t(t)}y.set(h.i32x4_lt_s,J3);function ev(t){return x(t),t.typeArguments=[u.u32],t.contextualType=u.v128,_t(t)}y.set(h.i32x4_lt_u,ev);function tv(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.v128,ft(t)}y.set(h.i32x4_le_s,tv);function rv(t){return x(t),t.typeArguments=[u.u32],t.contextualType=u.v128,ft(t)}y.set(h.i32x4_le_u,rv);function iv(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.v128,ht(t)}y.set(h.i32x4_gt_s,iv);function nv(t){return x(t),t.typeArguments=[u.u32],t.contextualType=u.v128,ht(t)}y.set(h.i32x4_gt_u,nv);function sv(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.v128,dt(t)}y.set(h.i32x4_ge_s,sv);function av(t){return x(t),t.typeArguments=[u.u32],t.contextualType=u.v128,dt(t)}y.set(h.i32x4_ge_u,av);function lv(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.v128,mc(t)}y.set(h.i32x4_trunc_sat_f32x4_s,lv);function ov(t){return x(t),t.typeArguments=[u.u32],t.contextualType=u.v128,mc(t)}y.set(h.i32x4_trunc_sat_f32x4_u,ov);function uv(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.v128,yc(t)}y.set(h.i32x4_trunc_sat_f64x2_s_zero,uv);function pv(t){return x(t),t.typeArguments=[u.u32],t.contextualType=u.v128,yc(t)}y.set(h.i32x4_trunc_sat_f64x2_u_zero,pv);function cv(t){return x(t),t.typeArguments=[u.i16],t.contextualType=u.v128,Pr(t)}y.set(h.i32x4_extend_low_i16x8_s,cv);function _v(t){return x(t),t.typeArguments=[u.u16],t.contextualType=u.v128,Pr(t)}y.set(h.i32x4_extend_low_i16x8_u,_v);function fv(t){return x(t),t.typeArguments=[u.i16],t.contextualType=u.v128,Nr(t)}y.set(h.i32x4_extend_high_i16x8_s,fv);function hv(t){return x(t),t.typeArguments=[u.u16],t.contextualType=u.v128,Nr(t)}y.set(h.i32x4_extend_high_i16x8_u,hv);function dv(t){return x(t),t.typeArguments=[u.i16],t.contextualType=u.v128,ps(t)}y.set(h.i32x4_extadd_pairwise_i16x8_s,dv);function mv(t){return x(t),t.typeArguments=[u.u16],t.contextualType=u.v128,ps(t)}y.set(h.i32x4_extadd_pairwise_i16x8_u,mv);function yv(t){return x(t),t.typeArguments=[u.i16],t.contextualType=u.v128,Lr(t)}y.set(h.i32x4_extmul_low_i16x8_s,yv);function gv(t){return x(t),t.typeArguments=[u.u16],t.contextualType=u.v128,Lr(t)}y.set(h.i32x4_extmul_low_i16x8_u,gv);function bv(t){return x(t),t.typeArguments=[u.i16],t.contextualType=u.v128,Mr(t)}y.set(h.i32x4_extmul_high_i16x8_s,bv);function xv(t){return x(t),t.typeArguments=[u.u16],t.contextualType=u.v128,Mr(t)}y.set(h.i32x4_extmul_high_i16x8_u,xv);function Tv(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.v128,Ir(t)}y.set(h.i32x4_shuffle,Tv);function Ev(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.v128,vr(t)}y.set(h.i64x2_splat,Ev);function vv(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.i64,At(t)}y.set(h.i64x2_extract_lane,vv);function Sv(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.v128,Sr(t)}y.set(h.i64x2_replace_lane,Sv);function Iv(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.v128,Rr(t)}y.set(h.i64x2_add,Iv);function Fv(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.v128,kr(t)}y.set(h.i64x2_sub,Fv);function Rv(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.v128,Ii(t)}y.set(h.i64x2_mul,Rv);function kv(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.v128,Br(t)}y.set(h.i64x2_abs,kv);function Av(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.v128,Cr(t)}y.set(h.i64x2_neg,Av);function wv(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.v128,ls(t)}y.set(h.i64x2_shl,wv);function Cv(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.v128,Bt(t)}y.set(h.i64x2_shr_s,Cv);function Bv(t){return x(t),t.typeArguments=[u.u64],t.contextualType=u.v128,Bt(t)}y.set(h.i64x2_shr_u,Bv);function Pv(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.i32,os(t)}y.set(h.i64x2_all_true,Pv);function Nv(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.i32,us(t)}y.set(h.i64x2_bitmask,Nv);function Lv(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.v128,Ar(t)}y.set(h.i64x2_eq,Lv);function Mv(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.v128,wr(t)}y.set(h.i64x2_ne,Mv);function Gv(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.v128,_t(t)}y.set(h.i64x2_lt_s,Gv);function zv(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.v128,ft(t)}y.set(h.i64x2_le_s,zv);function Uv(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.v128,ht(t)}y.set(h.i64x2_gt_s,Uv);function Vv(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.v128,dt(t)}y.set(h.i64x2_ge_s,Vv);function Dv(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.v128,Pr(t)}y.set(h.i64x2_extend_low_i32x4_s,Dv);function qv(t){return x(t),t.typeArguments=[u.u32],t.contextualType=u.v128,Pr(t)}y.set(h.i64x2_extend_low_i32x4_u,qv);function Ov(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.v128,Nr(t)}y.set(h.i64x2_extend_high_i32x4_s,Ov);function Wv(t){return x(t),t.typeArguments=[u.u32],t.contextualType=u.v128,Nr(t)}y.set(h.i64x2_extend_high_i32x4_u,Wv);function Kv(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.v128,Lr(t)}y.set(h.i64x2_extmul_low_i32x4_s,Kv);function Hv(t){return x(t),t.typeArguments=[u.u32],t.contextualType=u.v128,Lr(t)}y.set(h.i64x2_extmul_low_i32x4_u,Hv);function jv(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.v128,Mr(t)}y.set(h.i64x2_extmul_high_i32x4_s,jv);function $v(t){return x(t),t.typeArguments=[u.u32],t.contextualType=u.v128,Mr(t)}y.set(h.i64x2_extmul_high_i32x4_u,$v);function Xv(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.v128,Ir(t)}y.set(h.i64x2_shuffle,Xv);function Zv(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.v128,vr(t)}y.set(h.f32x4_splat,Zv);function Yv(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.f32,At(t)}y.set(h.f32x4_extract_lane,Yv);function Qv(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.v128,Sr(t)}y.set(h.f32x4_replace_lane,Qv);function Jv(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.v128,Rr(t)}y.set(h.f32x4_add,Jv);function eS(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.v128,kr(t)}y.set(h.f32x4_sub,eS);function tS(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.v128,Ii(t)}y.set(h.f32x4_mul,tS);function rS(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.v128,sc(t)}y.set(h.f32x4_div,rS);function iS(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.v128,Cr(t)}y.set(h.f32x4_neg,iS);function nS(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.v128,wt(t)}y.set(h.f32x4_min,nS);function sS(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.v128,Ct(t)}y.set(h.f32x4_max,sS);function aS(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.v128,ac(t)}y.set(h.f32x4_pmin,aS);function lS(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.v128,lc(t)}y.set(h.f32x4_pmax,lS);function oS(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.v128,Br(t)}y.set(h.f32x4_abs,oS);function uS(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.v128,uc(t)}y.set(h.f32x4_sqrt,uS);function pS(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.v128,pc(t)}y.set(h.f32x4_ceil,pS);function cS(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.v128,cc(t)}y.set(h.f32x4_floor,cS);function _S(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.v128,_c(t)}y.set(h.f32x4_trunc,_S);function fS(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.v128,fc(t)}y.set(h.f32x4_nearest,fS);function hS(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.v128,Ar(t)}y.set(h.f32x4_eq,hS);function dS(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.v128,wr(t)}y.set(h.f32x4_ne,dS);function mS(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.v128,_t(t)}y.set(h.f32x4_lt,mS);function yS(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.v128,ft(t)}y.set(h.f32x4_le,yS);function gS(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.v128,ht(t)}y.set(h.f32x4_gt,gS);function bS(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.v128,dt(t)}y.set(h.f32x4_ge,bS);function xS(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.v128,hc(t)}y.set(h.f32x4_convert_i32x4_s,xS);function TS(t){return x(t),t.typeArguments=[u.u32],t.contextualType=u.v128,hc(t)}y.set(h.f32x4_convert_i32x4_u,TS);function ES(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.v128,Qy(t)}y.set(h.f32x4_demote_f64x2_zero,ES);function vS(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.v128,Ir(t)}y.set(h.f32x4_shuffle,vS);function SS(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.v128,vr(t)}y.set(h.f64x2_splat,SS);function IS(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.f64,At(t)}y.set(h.f64x2_extract_lane,IS);function FS(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.v128,Sr(t)}y.set(h.f64x2_replace_lane,FS);function RS(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.v128,Rr(t)}y.set(h.f64x2_add,RS);function kS(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.v128,kr(t)}y.set(h.f64x2_sub,kS);function AS(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.v128,Ii(t)}y.set(h.f64x2_mul,AS);function wS(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.v128,sc(t)}y.set(h.f64x2_div,wS);function CS(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.v128,Cr(t)}y.set(h.f64x2_neg,CS);function BS(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.v128,wt(t)}y.set(h.f64x2_min,BS);function PS(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.v128,Ct(t)}y.set(h.f64x2_max,PS);function NS(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.v128,ac(t)}y.set(h.f64x2_pmin,NS);function LS(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.v128,lc(t)}y.set(h.f64x2_pmax,LS);function MS(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.v128,Br(t)}y.set(h.f64x2_abs,MS);function GS(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.v128,uc(t)}y.set(h.f64x2_sqrt,GS);function zS(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.v128,pc(t)}y.set(h.f64x2_ceil,zS);function US(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.v128,cc(t)}y.set(h.f64x2_floor,US);function VS(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.v128,_c(t)}y.set(h.f64x2_trunc,VS);function DS(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.v128,fc(t)}y.set(h.f64x2_nearest,DS);function qS(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.v128,Ar(t)}y.set(h.f64x2_eq,qS);function OS(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.v128,wr(t)}y.set(h.f64x2_ne,OS);function WS(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.v128,_t(t)}y.set(h.f64x2_lt,WS);function KS(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.v128,ft(t)}y.set(h.f64x2_le,KS);function HS(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.v128,ht(t)}y.set(h.f64x2_gt,HS);function jS(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.v128,dt(t)}y.set(h.f64x2_ge,jS);function $S(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.v128,dc(t)}y.set(h.f64x2_convert_low_i32x4_s,$S);function XS(t){return x(t),t.typeArguments=[u.u32],t.contextualType=u.v128,dc(t)}y.set(h.f64x2_convert_low_i32x4_u,XS);function ZS(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.v128,Jy(t)}y.set(h.f64x2_promote_low_f32x4,ZS);function YS(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.v128,Ir(t)}y.set(h.f64x2_shuffle,YS);function QS(t){return x(t),t.typeArguments=null,t.contextualType=u.v128,tg(t)}y.set(h.i8x16_relaxed_swizzle,QS);function JS(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.v128,gc(t)}y.set(h.i32x4_relaxed_trunc_f32x4_s,JS);function eI(t){return x(t),t.typeArguments=[u.u32],t.contextualType=u.v128,gc(t)}y.set(h.i32x4_relaxed_trunc_f32x4_u,eI);function tI(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.v128,bc(t)}y.set(h.i32x4_relaxed_trunc_f64x2_s_zero,tI);function rI(t){return x(t),t.typeArguments=[u.u32],t.contextualType=u.v128,bc(t)}y.set(h.i32x4_relaxed_trunc_f64x2_u_zero,rI);function iI(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.v128,xc(t)}y.set(h.f32x4_relaxed_madd,iI);function nI(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.v128,Tc(t)}y.set(h.f32x4_relaxed_nmadd,nI);function sI(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.v128,xc(t)}y.set(h.f64x2_relaxed_madd,sI);function aI(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.v128,Tc(t)}y.set(h.f64x2_relaxed_nmadd,aI);function lI(t){return x(t),t.typeArguments=[u.i8],t.contextualType=u.v128,cs(t)}y.set(h.i8x16_relaxed_laneselect,lI);function oI(t){return x(t),t.typeArguments=[u.i16],t.contextualType=u.v128,cs(t)}y.set(h.i16x8_relaxed_laneselect,oI);function uI(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.v128,cs(t)}y.set(h.i32x4_relaxed_laneselect,uI);function pI(t){return x(t),t.typeArguments=[u.i64],t.contextualType=u.v128,cs(t)}y.set(h.i64x2_relaxed_laneselect,pI);function cI(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.v128,Ec(t)}y.set(h.f32x4_relaxed_min,cI);function _I(t){return x(t),t.typeArguments=[u.f32],t.contextualType=u.v128,vc(t)}y.set(h.f32x4_relaxed_max,_I);function fI(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.v128,Ec(t)}y.set(h.f64x2_relaxed_min,fI);function hI(t){return x(t),t.typeArguments=[u.f64],t.contextualType=u.v128,vc(t)}y.set(h.f64x2_relaxed_max,hI);function dI(t){return x(t),t.typeArguments=[u.i16],t.contextualType=u.v128,rg(t)}y.set(h.i16x8_relaxed_q15mulr_s,dI);function mI(t){return x(t),t.typeArguments=[u.i16],t.contextualType=u.v128,ig(t)}y.set(h.i16x8_relaxed_dot_i8x16_i7x16_s,mI);function yI(t){return x(t),t.typeArguments=[u.i32],t.contextualType=u.v128,ng(t)}y.set(h.i32x4_relaxed_dot_i8x16_i7x16_add_s,yI);function sg(t){let i=t.module,e=new Array,r=t.options.sizeTypeRef,n=assert(t.program.visitInstance);t.compileFunction(n,!0);for(let s=Map_values(t.program.elementsByName),a=0,l=s.length;a=0),_=!0,o.push(r.if(r.local_tee(2,r.load(a,!1,r.local_get(0,s),s,I),!1),r.call(l.internalName,[r.local_get(2,s),r.local_get(1,P.I32)],P.None)))}}i.visitRef=r.addFunction(`${i.internalName}~visit`,Ke([s,P.I32]),P.None,_?[s]:null,r.flatten(o,P.None)),p&&p.type.isManaged&&ag(t,p)}function lg(t){let i=t.program,e=t.module,n=i.options.usizeType.toRef(),s=i.managedClasses,a=assert(i.visitInstance);t.compileFunction(a,!0);let l=new Array,o=new Array,p=0;for(let _=Map_keys(s),f=0,d=_.length;f0){if(r.length>1)return i.error(2558,t.reportNode.typeArgumentsRange,"1",r.length.toString()),null;vi=i.compileExpression(e[0],r[0],1)}else vi=i.compileExpression(e[0],u.auto);return i.currentType}return r&&r.length>1&&i.error(2558,t.reportNode.typeArgumentsRange,"1",r.length.toString()),i.error(2554,t.reportNode.argumentsRange,"1",e.length.toString()),null}function ve(t,i){let e=t.compiler.module;return vi&&gl(vi,e.ref)&&(i=e.block(null,[e.maybeDrop(vi),i],ie(i))),i}function Ze(t,i){let e=i.module,r;if(i.options.isWasm64){let n=i.compileExpression(t,u.usize64,1),s=e.runExpression(n,1);s?(assert(Ce(s)==0),r=Ee(s)):(i.error(220,t.range),r=-1)}else{let n=i.compileExpression(t,u.usize32,1),s=e.runExpression(n,1);s?r=ee(s):(i.error(220,t.range),r=-1)}return r}function Rt(t,i,e){let r=Ze(t,e);return r<0?r:r<1||i>16?(e.error(222,t.range,"Alignment","1",i.toString()),-1):gt(r)?r:(e.error(223,t.range,"Alignment"),-1)}function j(t,i){let e=t.compiler;return e.options.hasFeature(i)?0:(e.error(103,t.reportNode.range,Xr(i)),1)}function $(t,i=!1){let e=t.compiler,r=t.typeArguments;if(r){let n=r.length;if(n==1)return 0;assert(n),i&&(e.currentType=r[0]),e.error(2558,t.reportNode.typeArgumentsRange,"1",n.toString())}else e.error(2558,t.reportNode.range,"1","0");return 1}function ne(t,i=!1){let e=t.typeArguments;if(e){let r=t.compiler,n=e.length;return n==1?0:(assert(n),i&&(r.currentType=e[0]),r.error(2558,t.reportNode.typeArgumentsRange,"1",n.toString()),1)}return 0}function x(t){if(t.typeArguments){let e=t.prototype;return e.program.error(2315,t.reportNode.typeArgumentsRange,e.internalName),1}return 0}function q(t,i){let e=t.operands;return e.length!=i?(t.compiler.error(2554,t.reportNode.range,i.toString(),e.length.toString()),1):0}function xe(t,i,e){let n=t.operands.length;return ne?(t.compiler.error(2554,t.reportNode.range,e.toString(),n.toString()),1):0}function Bl(t,i,e){let r=t.module;if(e!=u.auto&&e.isIntegerValue)switch(e.kind){case 3:{if(i64_is_i32(i))return t.currentType=u.i32,r.i32(i64_low(i));break}case 8:{if(i64_is_u32(i))return t.currentType=u.u32,r.i32(i64_low(i));break}case 4:case 9:return t.currentType=e,r.i64(i64_low(i),i64_high(i))}return t.options.isWasm64?(t.currentType=u.usize64,r.i64(i64_low(i),i64_high(i))):(t.currentType=u.usize32,assert(!i64_high(i)),r.i32(i64_low(i)))}var Fc=class{constructor(){this.stack=new Array;this._currentExpression=0}get currentExpression(){let i=this._currentExpression;if(!i)throw new Error("not walking expressions");return i}get parentExpressionOrNull(){let i=this.stack,e=i.length;return e?i[e-1]:0}visitBlock(i){}visitIf(i){}visitLoop(i){}visitBreak(i){}visitSwitch(i){}visitCallPre(i){}visitCall(i){}visitCallIndirectPre(i){}visitCallIndirect(i){}visitLocalGet(i){}visitLocalSet(i){}visitGlobalGet(i){}visitGlobalSet(i){}visitLoad(i){}visitStore(i){}visitConst(i){}visitUnary(i){}visitBinary(i){}visitSelect(i){}visitDrop(i){}visitReturn(i){}visitMemorySize(i){}visitMemoryGrow(i){}visitNop(i){}visitUnreachable(i){}visitAtomicRMW(i){}visitAtomicCmpxchg(i){}visitAtomicWait(i){}visitAtomicNotify(i){}visitAtomicFence(i){}visitSIMDExtract(i){}visitSIMDReplace(i){}visitSIMDShuffle(i){}visitSIMDTernary(i){}visitSIMDShift(i){}visitSIMDLoad(i){}visitSIMDLoadStoreLane(i){}visitMemoryInit(i){}visitDataDrop(i){}visitMemoryCopy(i){}visitMemoryFill(i){}visitPop(i){}visitRefNull(i){}visitRefIsNull(i){}visitRefFunc(i){}visitRefEq(i){}visitTry(i){}visitThrow(i){}visitRethrow(i){}visitTupleMake(i){}visitTupleExtract(i){}visitRefI31(i){}visitI31Get(i){}visitCallRef(i){}visitRefTest(i){}visitRefCast(i){}visitBrOn(i){}visitStructNew(i){}visitStructGet(i){}visitStructSet(i){}visitArrayNew(i){}visitArrayNewFixed(i){}visitArrayGet(i){}visitArraySet(i){}visitArrayLen(i){}visitArrayCopy(i){}visitRefAs(i){}visitStringNew(i){}visitStringConst(i){}visitStringMeasure(i){}visitStringEncode(i){}visitStringConcat(i){}visitStringEq(i){}visitStringAs(i){}visitStringWTF8Advance(i){}visitStringWTF16Get(i){}visitStringIterNext(i){}visitStringIterMove(i){}visitStringSliceWTF(i){}visitStringSliceIter(i){}visitName(i){}visitLabel(i){}visitIndex(i){}visitTag(i){}visit(i){let e=this._currentExpression;switch(this._currentExpression=assert(i),yt(i)){case 1:{this.stack.push(i);let r=ms(i);r&&this.visitLabel(r);for(let n=0,s=Ui(i);n=0?this.ptrBinaryAdd:this.ptrBinarySub,r.global_get(h.stack_pointer,this.ptrType),this.ptrConst(abs(e))));return e>0?n:r.block(null,[n,this.makeStackCheck()],P.None)}makeStackFill(e,r){assert(e>0);let n=this.module;if(this.options.hasFeature(8)&&e>16)r.push(n.memory_fill(n.global_get(h.stack_pointer,this.ptrType),n.i32(0),this.ptrConst(e)));else{let s=e;for(;s>=8;)r.push(n.store(8,n.global_get(h.stack_pointer,this.ptrType),n.i64(0),P.I64,e-s)),s-=8;s&&(assert(s==4),r.push(n.store(4,n.global_get(h.stack_pointer,this.ptrType),n.i32(0),P.I32,e-s)))}}makeStackCheck(){let e=this.module;return this.hasStackCheckFunction||(this.hasStackCheckFunction=!0,e.addFunction("~stack_check",P.None,P.None,null,e.if(e.binary(17,e.global_get(h.stack_pointer,this.ptrType),e.global_get(h.data_end,this.ptrType)),this.compiler.makeStaticAbort(this.compiler.ensureStaticString("stack overflow"),fe.native)))),e.call("~stack_check",null,P.None)}updateCallOperands(e){let r=this.module,n=0;for(let s=0,a=e.length;s ( -`),U(n,++this.indentLevel),n.push("// "),n.push(r.internalName),n.push(` -`);let s=r.members;if(s)for(let a=Map_values(s),l=0,o=a.length;l { -`),U(c,1),c.push(`// @external.js -`),_g(s,1,c),c.push(` -})()`)):(e!="env"&&(c.push("__module"),c.push(_.toString()),c.push(".")),c.push(r),c.push("("),c.push(p.join(", ")),c.push(")")),s=c.join(""),c.length=0,_g(s,this.indentLevel,c,!0),s=c.join(""),U(a,this.indentLevel),l.returnType!=u.void?(a.push("return "),this.makeLowerToValue(s,l.returnType,a),a.push(`; -`)):(a.push(s),a.push(`; -`)),U(a,--this.indentLevel),a.push("}")}a.push(`, -`)}visitFunction(e,r){if(r.is(512))return;let n=this.sb,s=r.signature;if(this.exports.push(e),!kc(s,1)){U(n,this.indentLevel),n.push(e),n.push("(");let a=s.parameterTypes,l=0;for(let c=0,_=a.length;c<_;++c)a[c].isInternalReference&&l++,c>0&&n.push(", "),n.push(r.getParameterName(c));n.push(`) { -`),U(n,++this.indentLevel),n.push("// "),n.push(r.internalName),n.push(s.toString()),n.push(` -`);let o=new Array;for(let c=0,_=a.length;c<_;++c){let f=a[c];if(!zr(f,0)){let d=r.getParameterName(c);U(n,this.indentLevel),n.push(d),n.push(" = ");let g=f.isInternalReference&&--l>0;g&&(this.needsRetain=!0,this.needsRelease=!0,n.push("__retain("),o.push(d)),this.makeLowerToValue(d,f,n),g&&n.push(")"),n.push(`; -`)}}o.length&&(U(n,this.indentLevel++),n.push(`try { -`)),s.requiredParameters0&&p.push(", "),p.push(r.getParameterName(c));if(p.push(")"),s.returnType!=u.void?(U(n,this.indentLevel),n.push("return "),this.makeLiftFromValue(p.join(""),s.returnType,n)):(U(n,this.indentLevel),n.push(p.join(""))),n.push(`; -`),o.length){U(n,this.indentLevel-1),n.push(`} finally { -`);for(let c=0,_=o.length;c<_;++c)U(n,this.indentLevel),n.push("__release("),n.push(o[c]),n.push(`); -`);U(n,--this.indentLevel),n.push(`} -`)}U(n,--this.indentLevel),n.push(`}, -`)}this.visitNamespace(e,r)}visitClass(e,r){}visitInterface(e,r){this.visitClass(e,r)}visitNamespace(e,r){}visitAlias(e,r,n){}getExternalCode(e){let r=Et(10,e.decoratorNodes);if(r){let n=r.args;if(n&&n.length==1){let s=n[0];if(s.kind==16){let a=s;if(a.literalKind==2)return a.value;if(a.literalKind==3){let l=a.parts;if(l.length==1)return l[0]}}}}return null}build(){let e=this.exports,r=this.program.moduleImports,n=this.program,s=n.options,a=this.sb;a.push(""),U(a,this.indentLevel++),this.esm||a.push("export "),a.push(`async function instantiate(module, imports = {}) { -`);let l=a.push("")-1;U(a,this.indentLevel++),a.push(`const adaptedImports = { -`);let o=a.length;for(let S=Map_keys(r),T=0,E=S.length;To;p?(U(a,this.indentLevel),a.push(`}; -`)):a.length=o-2;let c=this.importMappings,_=new Array;for(let S=Map_keys(c),T=0,E=S.length;T { -`),_.push(` delete imports.rtrace; -`),_.push(" new rtrace.Rtrace({ getMemory() { return memory; }, onerror(err) { console.log(`RTRACE: ${err.stack}`); } }).install(imports);\n"),_.push(` })(imports.rtrace); -`)),_.push(" const __module"),_.push(I.toString()),_.push(" = imports"),Le(F)?(_.push("."),_.push(F)):(_.push('["'),_.push(ye(F,34)),_.push('"]')),_.push(`; -`)}}a[l]=_.join(""),U(a,this.indentLevel),a.push("const { exports } = await WebAssembly.instantiate(module"),p?a.push(`, adaptedImports); -`):a.push(`, imports); -`),U(a,this.indentLevel),a.push(`const memory = exports.memory || imports.env.memory; -`),U(a,this.indentLevel++),a.push(`const adaptedExports = Object.setPrototypeOf({ -`),o=a.length,this.walk(),--this.indentLevel;let f=a.length>o;f?(U(a,this.indentLevel),a.push(`}, exports); -`)):this.needsLiftBuffer||this.needsLowerBuffer||this.needsLiftString||this.needsLowerString||this.needsLiftArray||this.needsLowerArray||this.needsLiftTypedArray||this.needsLowerTypedArray||this.needsLiftStaticArray?a.length=o-2:a.length=o-4;let d=this.deferredCode;if(d.length)for(let S=0,T=d.length;S>> 2]); - } -`)}if(this.needsLowerBuffer){let S=n.arrayBufferInstance.id;a.push(` function __lowerBuffer(value) { - if (value == null) return 0; - const pointer = exports.__new(value.byteLength, ${S}) >>> 0; - new Uint8Array(memory.buffer).set(new Uint8Array(value), pointer); - return pointer; - } -`)}if(this.needsLiftString){let S=n.OBJECTInstance,T=S.offsetof("rtSize")-S.nextMemoryOffset,E=1024;a.push(` function __liftString(pointer) { - if (!pointer) return null; - const - end = pointer + new Uint32Array(memory.buffer)[pointer - ${-T} >>> 2] >>> 1, - memoryU16 = new Uint16Array(memory.buffer); - let - start = pointer >>> 1, - string = ""; - while (end - start > ${E}) string += String.fromCharCode(...memoryU16.subarray(start, start += ${E})); - return string + String.fromCharCode(...memoryU16.subarray(start, end)); - } -`)}if(this.needsLowerString){let S=n.stringInstance.id;a.push(` function __lowerString(value) { - if (value == null) return 0; - const - length = value.length, - pointer = exports.__new(length << 1, ${S}) >>> 0, - memoryU16 = new Uint16Array(memory.buffer); - for (let i = 0; i < length; ++i) memoryU16[(pointer >>> 1) + i] = value.charCodeAt(i); - return pointer; - } -`)}if(this.needsLiftArray){let S=n.arrayBufferViewInstance.offsetof("dataStart"),T=n.arrayBufferViewInstance.nextMemoryOffset;this.needsGetU32=!0,a.push(` function __liftArray(liftElement, align, pointer) { - if (!pointer) return null; - const - dataStart = __getU32(pointer + ${S}), - length = __dataview.getUint32(pointer + ${T}, true), - values = new Array(length); - for (let i = 0; i < length; ++i) values[i] = liftElement(dataStart + (i << align >>> 0)); - return values; - } -`)}if(this.needsLowerArray){let S=n.arrayBufferInstance.id,T=n.arrayBufferViewInstance,E=T.nextMemoryOffset+4,F=T.offsetof("buffer"),I=T.offsetof("dataStart"),R=T.offsetof("byteLength"),C=R+4;this.needsSetU32=!0,a.push(` function __lowerArray(lowerElement, id, align, values) { - if (values == null) return 0; - const - length = values.length, - buffer = exports.__pin(exports.__new(length << align, ${S})) >>> 0, - header = exports.__pin(exports.__new(${E}, id)) >>> 0; - __setU32(header + ${F}, buffer); - __dataview.setUint32(header + ${I}, buffer, true); - __dataview.setUint32(header + ${R}, length << align, true); - __dataview.setUint32(header + ${C}, length, true); - for (let i = 0; i < length; ++i) lowerElement(buffer + (i << align >>> 0), values[i]); - exports.__unpin(buffer); - exports.__unpin(header); - return header; - } -`)}if(this.needsLiftTypedArray){let S=n.arrayBufferViewInstance,T=S.offsetof("dataStart"),E=S.offsetof("byteLength");this.needsGetU32=!0,a.push(` function __liftTypedArray(constructor, pointer) { - if (!pointer) return null; - return new constructor( - memory.buffer, - __getU32(pointer + ${T}), - __dataview.getUint32(pointer + ${E}, true) / constructor.BYTES_PER_ELEMENT - ).slice(); - } -`)}if(this.needsLowerTypedArray){let S=n.arrayBufferInstance.id,T=n.arrayBufferViewInstance,E=T.nextMemoryOffset,F=T.offsetof("buffer"),I=T.offsetof("dataStart"),R=T.offsetof("byteLength");this.needsSetU32=!0,a.push(` function __lowerTypedArray(constructor, id, align, values) { - if (values == null) return 0; - const - length = values.length, - buffer = exports.__pin(exports.__new(length << align, ${S})) >>> 0, - header = exports.__new(${E}, id) >>> 0; - __setU32(header + ${F}, buffer); - __dataview.setUint32(header + ${I}, buffer, true); - __dataview.setUint32(header + ${R}, length << align, true); - new constructor(memory.buffer, buffer, length).set(values); - exports.__unpin(buffer); - return header; - } -`)}if(this.needsLiftStaticArray){let S=n.OBJECTInstance,T=S.offsetof("rtSize")-S.nextMemoryOffset;this.needsGetU32=!0,a.push(` function __liftStaticArray(liftElement, align, pointer) { - if (!pointer) return null; - const - length = __getU32(pointer - ${-T}) >>> align, - values = new Array(length); - for (let i = 0; i < length; ++i) values[i] = liftElement(pointer + (i << align >>> 0)); - return values; - } -`)}this.needsLowerStaticArray&&a.push(` function __lowerStaticArray(lowerElement, id, align, values, typedConstructor) { - if (values == null) return 0; - const - length = values.length, - buffer = exports.__pin(exports.__new(length << align, id)) >>> 0; - if (typedConstructor) { - new typedConstructor(memory.buffer, buffer, length).set(values); - } else { - for (let i = 0; i < length; i++) lowerElement(buffer + (i << align >>> 0), values[i]); - } - exports.__unpin(buffer); - return buffer; - } -`),(this.needsLiftInternref||this.needsLowerInternref)&&a.push(` class Internref extends Number {} -`),this.needsLiftInternref&&(this.needsRetain=!0,this.needsRelease=!0,a.push(` const registry = new FinalizationRegistry(__release); - function __liftInternref(pointer) { - if (!pointer) return null; - const sentinel = new Internref(__retain(pointer)); - registry.register(sentinel, pointer); - return sentinel; - } -`)),this.needsLowerInternref&&a.push(` function __lowerInternref(value) { - if (value == null) return 0; - if (value instanceof Internref) return value.valueOf(); - throw TypeError("internref expected"); - } -`),(this.needsRetain||this.needsRelease)&&a.push(` const refcounts = new Map(); -`),this.needsRetain&&a.push(` function __retain(pointer) { - if (pointer) { - const refcount = refcounts.get(pointer); - if (refcount) refcounts.set(pointer, refcount + 1); - else refcounts.set(exports.__pin(pointer), 1); - } - return pointer; - } -`),this.needsRelease&&a.push(` function __release(pointer) { - if (pointer) { - const refcount = refcounts.get(pointer); - if (refcount === 1) exports.__unpin(pointer), refcounts.delete(pointer); - else if (refcount) refcounts.set(pointer, refcount - 1); - else throw Error(\`invalid refcount '\${refcount}' for reference '\${pointer}'\`); - } - } -`),this.needsNotNull&&a.push(` function __notnull() { - throw TypeError("value must not be null"); - } -`),(this.needsSetU8||this.needsSetU16||this.needsSetU32||this.needsSetU64||this.needsSetF32||this.needsSetF64||this.needsGetI8||this.needsGetU8||this.needsGetI16||this.needsGetU16||this.needsGetI32||this.needsGetU32||this.needsGetI64||this.needsGetU64||this.needsGetF32||this.needsGetF64)&&a.push(` let __dataview = new DataView(memory.buffer); -`),this.needsSetU8&&a.push(Ri("U8","setUint8")),this.needsSetU16&&a.push(Ri("U16","setUint16")),this.needsSetU32&&a.push(Ri("U32","setUint32")),this.needsSetU64&&a.push(Ri("U64","setBigUint64")),this.needsSetF32&&a.push(Ri("F32","setFloat32")),this.needsSetF64&&a.push(Ri("F64","setFloat64")),this.needsGetI8&&a.push(mt("I8","getInt8")),this.needsGetU8&&a.push(mt("U8","getUint8")),this.needsGetI16&&a.push(mt("I16","getInt16")),this.needsGetU16&&a.push(mt("U16","getUint16")),this.needsGetI32&&a.push(mt("I32","getInt32")),this.needsGetU32&&a.push(mt("U32","getUint32")),this.needsGetI64&&a.push(mt("I64","getBigInt64")),this.needsGetU64&&a.push(mt("U64","getBigUint64")),this.needsGetF32&&a.push(mt("F32","getFloat32")),this.needsGetF64&&a.push(mt("F64","getFloat64"));let g=s.exportStart;if(g&&a.push(` exports.${g}(); -`),f?a.push(` return adaptedExports; -} -`):a.push(` return exports; -} -`),--this.indentLevel,assert(this.indentLevel==0),this.esm){if(a.push(`export const { -`),this.program.options.exportMemory&&a.push(` memory, -`),this.program.options.exportTable&&a.push(` table, -`),this.program.options.exportRuntime){for(let E=0,F=Ai.length;E instantiate( - await (async () => { - const isNodeOrBun = typeof process != "undefined" && process.versions != null && (process.versions.node != null || process.versions.bun != null); - if (isNodeOrBun) { return globalThis.WebAssembly.compile(await (await import("node:fs/promises")).readFile(url)); } - else { return await globalThis.WebAssembly.compileStreaming(globalThis.fetch(url)); } - })(), { -`);let S=!1,T=new Array;for(let E=Map_keys(c),F=0,I=E.length;F>> 0"),n.push(")")}else r==u.bool?n.push(`${e} != 0`):r.isUnsignedIntegerValue&&r.size>=32?r.size==64?n.push(`BigInt.asUintN(64, ${e})`):n.push(`${e} >>> 0`):n.push(e)}makeLowerToValue(e,r,n=this.sb){if(r.isInternalReference){let s=assert(r.getClassOrWrapper(this.program));if(s.extendsPrototype(this.program.arrayBufferInstance.prototype))n.push("__lowerBuffer("),this.needsLowerBuffer=!0;else if(s.extendsPrototype(this.program.stringInstance.prototype))n.push("__lowerString("),this.needsLowerString=!0;else if(s.extendsPrototype(this.program.arrayPrototype)){let a=s.getArrayValueType();n.push("__lowerArray("),this.makeLowerToMemoryFunc(a,n),n.push(", "),n.push(s.id.toString()),n.push(", "),n.push(s.getArrayValueType().alignLog2.toString()),n.push(", "),this.needsLowerArray=!0}else if(s.extendsPrototype(this.program.staticArrayPrototype)){let a=s.getArrayValueType();n.push("__lowerStaticArray("),this.makeLowerToMemoryFunc(a,n),n.push(", "),n.push(s.id.toString()),n.push(", "),n.push(a.alignLog2.toString()),n.push(", "),this.needsLowerStaticArray=!0}else if(s.extendsPrototype(this.program.arrayBufferViewInstance.prototype)){let a=s.getArrayValueType();n.push("__lowerTypedArray("),a==u.u64?n.push("BigUint64Array"):a==u.i64?n.push("BigInt64Array"):n.push(s.name),n.push(", "),n.push(s.id.toString()),n.push(", "),n.push(s.getArrayValueType().alignLog2.toString()),n.push(", "),this.needsLowerTypedArray=!0}else if(_s(s)){if(n.push("__lowerRecord"),n.push(s.id.toString()),n.push("("),!this.deferredLowers.has(s)){this.deferredLowers.add(s);let a=this.indentLevel;this.indentLevel=1,this.deferredCode.push(this.makeLowerRecord(s)),this.indentLevel=a}}else n.push("__lowerInternref("),this.needsLowerInternref=!0;if(n.push(e),s.extendsPrototype(this.program.staticArrayPrototype)){let a=s.getArrayValueType();a.isNumericValue&&(n.push(", "),a==u.u8||a==u.bool?n.push("Uint8Array"):a==u.i8?n.push("Int8Array"):a==u.u16?n.push("Uint16Array"):a==u.i16?n.push("Int16Array"):a==u.u32||a==u.usize32?n.push("Uint32Array"):a==u.i32||a==u.isize32?n.push("Int32Array"):a==u.u64||a==u.usize64?n.push("BigUint64Array"):a==u.i64||a==u.isize64?n.push("BigInt64Array"):a==u.f32?n.push("Float32Array"):a==u.f64?n.push("Float64Array"):assert(!1))}n.push(")"),r.is(512)||(this.needsNotNull=!0,n.push(" || __notnull()"))}else n.push(e),r.isIntegerValue&&r.size==64?n.push(" || 0n"):r==u.bool&&n.push(" ? 1 : 0")}ensureLiftFromMemoryFn(e){return e.isInternalReference?this.program.options.isWasm64?(this.needsGetU64=!0,"__getU64"):(this.needsGetU32=!0,"__getU32"):e==u.i8?(this.needsGetI8=!0,"__getI8"):e==u.u8||e==u.bool?(this.needsGetU8=!0,"__getU8"):e==u.i16?(this.needsGetI16=!0,"__getI16"):e==u.u16?(this.needsGetU16=!0,"__getU16"):e==u.i32||e==u.isize32?(this.needsGetI32=!0,"__getI32"):e==u.u32||e==u.usize32?(this.needsGetU32=!0,"__getU32"):e==u.i64||e==u.isize64?(this.needsGetI64=!0,"__getI64"):e==u.u64||e==u.usize64?(this.needsGetU64=!0,"__getU64"):e==u.f32?(this.needsGetF32=!0,"__getF32"):e==u.f64?(this.needsGetF64=!0,"__getF64"):'(() => { throw Error("unsupported type"); })'}makeLiftFromMemoryFunc(e,r=this.sb){let n=this.ensureLiftFromMemoryFn(e);e.isInternalReference||e==u.bool||e.isUnsignedIntegerValue&&e.size>=32?(r.push("pointer => "),this.makeLiftFromValue(`${n}(pointer)`,e,r)):r.push(n)}makeLiftFromMemoryCall(e,r=this.sb,n="pointer"){let s=this.ensureLiftFromMemoryFn(e);e.isInternalReference?this.makeLiftFromValue(`${s}(${n})`,e,r):(r.push(s),r.push("("),r.push(n),r.push(")"),e==u.bool&&r.push(" != 0"))}ensureLowerToMemoryFn(e){return e.isInternalReference?this.program.options.isWasm64?(this.needsSetU64=!0,"__setU64"):(this.needsSetU32=!0,"__setU32"):e==u.i8||e==u.u8||e==u.bool?(this.needsSetU8=!0,"__setU8"):e==u.i16||e==u.u16?(this.needsSetU16=!0,"__setU16"):e==u.i32||e==u.u32||e==u.isize32||e==u.usize32?(this.needsSetU32=!0,"__setU32"):e==u.i64||e==u.u64||e==u.isize64||e==u.usize64?(this.needsSetU64=!0,"__setU64"):e==u.f32?(this.needsSetF32=!0,"__setF32"):e==u.f64?(this.needsSetF64=!0,"__setF64"):'(() => { throw Error("unsupported type") })'}makeLowerToMemoryFunc(e,r=this.sb){let n=this.ensureLowerToMemoryFn(e);e.isInternalReference?(r.push("(pointer, value) => { "),r.push(n),r.push("(pointer, "),this.makeLowerToValue("value",e,r),r.push("); }")):r.push(n)}makeLowerToMemoryCall(e,r=this.sb,n="pointer",s="value"){let a=this.ensureLowerToMemoryFn(e);r.push(a),r.push("("),r.push(n),r.push(", "),this.makeLowerToValue(s,e,r),r.push(")")}makeLiftRecord(e){assert(_s(e));let r=new Array;U(r,this.indentLevel),r.push("function __liftRecord"),r.push(e.id.toString()),r.push(`(pointer) { -`),U(r,++this.indentLevel),r.push("// "),r.push(e.type.toString()),r.push(` -`),U(r,this.indentLevel),r.push(`// Hint: Opt-out from lifting as a record by providing an empty constructor -`),U(r,this.indentLevel),r.push(`if (!pointer) return null; -`),U(r,this.indentLevel++),r.push(`return { -`);let n=e.members;if(n)for(let s=Map_keys(n),a=0,l=s.length;a=0),U(r,this.indentLevel),r.push(c.name),r.push(": "),this.makeLiftFromMemoryCall(c.type,r,`pointer + ${c.memoryOffset}`),r.push(`, -`))}return U(r,--this.indentLevel),r.push(`}; -`),U(r,--this.indentLevel),r.push(`} -`),r.join("")}makeLowerRecord(e){assert(_s(e));let r=new Array;U(r,this.indentLevel),r.push("function __lowerRecord"),r.push(e.id.toString()),r.push(`(value) { -`),U(r,++this.indentLevel),r.push("// "),r.push(e.type.toString()),r.push(` -`),U(r,this.indentLevel),r.push(`// Hint: Opt-out from lowering as a record by providing an empty constructor -`),U(r,this.indentLevel),r.push(`if (value == null) return 0; -`),U(r,this.indentLevel),r.push("const pointer = exports.__pin(exports.__new("),r.push(e.nextMemoryOffset.toString()),r.push(", "),r.push(e.id.toString()),r.push(`)); -`);let n=e.members;if(n)for(let s=Map_keys(n),a=0,l=s.length;a=0),U(r,this.indentLevel),this.makeLowerToMemoryCall(c.type,r,`pointer + ${c.memoryOffset}`,`value.${o}`),r.push(`; -`))}return U(r,this.indentLevel),r.push(`exports.__unpin(pointer); -`),U(r,this.indentLevel),r.push(`return pointer; -`),U(r,--this.indentLevel),r.push(`} -`),r.join("")}};function zr(t,i){if(i==0){if(t==u.bool||t.isIntegerValue&&t.size==64)return!1}else if(t==u.bool||t.isUnsignedIntegerValue&&t.size>=32)return!1;return!t.isInternalReference}function kc(t,i){let e=t.parameterTypes,r=i==0?1:0;if(!zr(t.returnType,i))return!1;for(let n=0,s=e.length;n0||this.shrinkLevelHint>0}setFeature(i,e=!0){e?(i&16384&&(i|=1024),i&1024&&(i|=256),i&4096&&(i|=16),this.features|=i):(i&256&&(i|=1024),i&1024&&(i|=16384),i&16&&(i|=4096),this.features&=~i)}hasFeature(i){return(this.features&i)!=0}},Tl=(r=>(r[r.Default=0]="Default",r[r.Never=1]="Never",r[r.Always=2]="Always",r))(Tl||{}),Sc=(l=>(l[l.None=0]="None",l[l.ConvImplicit=1]="ConvImplicit",l[l.ConvExplicit=2]="ConvExplicit",l[l.MustWrap=4]="MustWrap",l[l.WillDrop=8]="WillDrop",l[l.PreferStatic=16]="PreferStatic",l[l.IsThis=32]="IsThis",l))(Sc||{}),Ic=(o=>(o[o.None=0]="None",o[o.Data=1]="Data",o[o.Stack=2]="Stack",o[o.Heap=4]="Heap",o[o.Rtti=8]="Rtti",o[o.visitGlobals=16]="visitGlobals",o[o.visitMembers=32]="visitMembers",o[o.setArgumentsLength=64]="setArgumentsLength",o))(Ic||{}),Pi;(r=>(r.DefaultNamespace="env",r.Memory="memory",r.Table="table"))(Pi||={});var fs;(n=>(n.Memory="memory",n.Table="table",n.argumentsLength="__argumentsLength",n.setArgumentsLength="__setArgumentsLength"))(fs||={});var Ai=["__new","__pin","__unpin","__collect"],wi=["__rtti_base"],ds=class t extends qe{constructor(e){super(e.diagnostics);this.currentParent=null;this.currentType=u.void;this.memorySegments=[];this.stringSegments=new Map;this.functionTable=[];this.builtinArgumentsLength=0;this.runtimeFeatures=0;this.inlineStack=[];this.lazyFunctions=new Set;this.pendingInstanceOf=new Map;this.overrideStubs=new Set;this.pendingElements=new Set;this.doneModuleExports=new Set;this.hasCustomFunctionExports=!1;this.desiresExportRuntime=!1;this.f32ModInstance=null;this.f64ModInstance=null;this.f32PowInstance=null;this.f64PowInstance=null;this.i32PowInstance=null;this.i64PowInstance=null;this._reusableCallExpression=null;this.program=e;let r=e.module,n=e.options;n.memoryBase?(this.memoryOffset=i64_new(n.memoryBase),r.setLowMemoryUnused(!1)):!n.lowMemoryLimit&&n.optimizeLevelHint>=2?(this.memoryOffset=i64_new(1024),r.setLowMemoryUnused(!0)):(this.memoryOffset=i64_new(8),r.setLowMemoryUnused(!1));let s=0;n.hasFeature(1)&&(s|=32),n.hasFeature(2)&&(s|=2),n.hasFeature(4)&&(s|=4),n.hasFeature(8)&&(s|=16),n.hasFeature(16)&&(s|=8),n.hasFeature(32)&&(s|=1),n.hasFeature(64)&&(s|=64),n.hasFeature(128)&&(s|=128),n.hasFeature(256)&&(s|=256),n.hasFeature(512)&&(s|=512),n.hasFeature(1024)&&(s|=1024),n.hasFeature(2048)&&(s|=2048),n.hasFeature(4096)&&(s|=4096),n.hasFeature(8192)&&(s|=8192),n.hasFeature(16384)&&(s|=16384),r.setFeatures(s);let a=e.makeNativeFunction(h.start,Ve.create(e,[],u.void));a.internalName=h.start,this.currentFlow=a.flow,this.currentBody=new Array,this.shadowStack=new Ll(this)}get module(){return this.program.module}get options(){return this.program.options}get resolver(){return this.program.resolver}static compile(e){return new t(e).compile()}compile(){let e=this.options,r=this.module,n=this.program,s=this.resolver,a=e.stackSize>0;this.program.initialize();let l=this.currentFlow.targetFunction;assert(l.internalName==h.start);let o=this.currentBody;assert(o.length==0);let p=n.filesByName;for(let E=Map_values(p),F=0,I=E.length;Fd.size||s.discoveredOverride);d.clear();for(let E=Set_values(f),F=0,I=E.length;F"),e.set(16777216),r.delete(e),!1;e.setType(this.currentType)}else return this.error(1110,e.identifierNode.range.atEnd),e.set(16777216),r.delete(e),!1;if(e.hasDecorator(512)){let g=e.internalName;return kt.has(g)&&assert(kt.get(g))(new jn(this,e)),r.delete(e),!0}let o=e.type;!l&&!e.is(16384)&&o.isReference&&!o.isNullableReference&&this.error(238,e.identifierNode.range);let p=o.toRef(),c=e.is(8)||e.is(96),_=e.hasDecorator(64);if(e.is(32768))return c||this.options.hasFeature(2)?(fg(e,e.declaration),this.program.markModuleImport(Ur,ir,e),n.addGlobalImport(e.internalName,Ur,ir,p,!c),r.delete(e),!this.desiresExportRuntime&&Bi(o)&&(this.desiresExportRuntime=!0),!0):(this.error(103,e.declaration.range,"mutable-globals"),e.set(16777216),r.delete(e),!1);let f=!1;if(l){if(!s){let g=this.currentFlow;e.hasDecorator(1024)&&(this.currentFlow=e.file.startFunction.flow),s=this.compileExpression(l,o,21),this.currentFlow=g}if(!n.isConstExpression(s))if(c){let g=n.runExpression(s,1);g?s=g:f=!0}else f=!0;if(f&&Q(s)==10){let g=assert(Fn(s));if(!Bp(n.getGlobal(g))){let S=this.program.elementsByName;S.has(g)&&assert(S.get(g)).is(32768)&&(f=!1)}}if(_)if(f)this.warning(206,l.range);else{switch(assert(Q(s)==14),ie(s)){case P.I32:{e.constantValueKind=1,e.constantIntegerValue=i64_new(ee(s),0);break}case P.I64:{e.constantValueKind=1,e.constantIntegerValue=i64_new(Ee(s),Ce(s));break}case P.F32:{e.constantValueKind=2,e.constantFloatValue=ge(s);break}case P.F64:{e.constantValueKind=2,e.constantFloatValue=be(s);break}default:return assert(!1),e.set(16777216),r.delete(e),!1}e.set(33554432)}}else e.is(33554432)?s=this.compileInlineConstant(e,e.type,16):s=this.makeZero(o);let d=e.internalName;if(f){_&&this.error(212,Et(8,e.decoratorNodes).range,"inline");let g=o;o.isExternalReference&&!o.is(512)&&(e.set(-2147483648),g=o.asNullable()),n.addGlobal(d,g.toRef(),!0,this.makeZero(g)),this.currentBody.push(n.global_set(d,s))}else _||n.addGlobal(d,p,!c,s);return r.delete(e),!0}compileEnum(e){if(e.is(8388608))return!e.is(16777216);e.set(8388608);let r=this.pendingElements;r.add(e);let n=this.module,s=this.currentParent;this.currentParent=e;let a=null,l=!1,o=e.is(8)||e.hasDecorator(64),p=e.members;if(p)for(let c=Map_values(p),_=0,f=c.length;_=2){let d=new Set;d.add(n[0].name.text);for(let g=1;g=p;--d)r[d+1]=r[d];r[p]=n.flatten(f,P.None),l.is(16384)&&this.options.pedantic&&this.pedantic(905,e.identifierNode.range)}l.is(16384)&&!_.hasDecorator(32)&&this.error(231,_.identifierNode.range),l.is(256)||(r.push(n.local_get(o.index,o.type.toRef())),l.set(261)),_.base&&!_.prototype.implicitlyExtendsObject&&!l.is(128)&&this.error(2377,e.prototype.declaration.range)}else if(a!=u.void&&!l.is(256))return this.error(2355,e.prototype.functionTypeNode.returnType.range),!1;return!0}makeBuiltinFieldGetter(e){let r=assert(e.getterInstance),n=this.module,s=e.type,a=s.toRef(),l=this.options.sizeTypeRef;r.set(8388608);let o=n.load(s.byteSize,s.isSignedIntegerValue,n.local_get(0,l),a,e.memoryOffset),p=this.currentFlow,c=r.flow;return this.currentFlow=c,e.is(16384)&&s.isReference&&!s.isNullableReference&&(o=this.makeRuntimeNonNullCheck(o,s,r.identifierNode)),this.currentFlow=p,n.addFunction(r.internalName,l,a,Tr(r.getNonParameterLocalTypes()),o)}makeBuiltinFieldSetter(e){let r=assert(e.setterInstance),n=this.module,s=e.type,a=this.options.sizeTypeRef,l=s.toRef(),o=n.store(s.byteSize,n.local_get(0,a),n.local_get(1,l),l,e.memoryOffset);if(s.isManaged){let p=r.parent;if(assert(p.kind==7),p.type.isManaged){let c=this.program.linkInstance;this.compileFunction(c),o=n.block(null,[o,n.call(c.internalName,[n.local_get(0,a),n.local_get(1,l),n.i32(0)],P.None)],P.None)}}return r.set(8388608),n.addFunction(r.internalName,Ke([a,l]),P.None,null,o)}addAlignedMemorySegment(e,r=16){assert(gt(r));let n=i64_align(this.memoryOffset,r),s=new fi(e,n);return this.memorySegments.push(s),this.memoryOffset=i64_add(n,i64_new(e.length)),s}addRuntimeMemorySegment(e){let r=this.program.computeBlockStart64(this.memoryOffset),n=new fi(e,r);return this.memorySegments.push(n),this.memoryOffset=i64_add(r,i64_new(e.length)),n}ensureStaticString(e){let r=this.ensureStaticStringPtr(e);return this.currentType=this.program.stringInstance.type,this.module.usize(r)}ensureStaticStringPtr(e){let r=this.program,n=r.totalOverhead,s=assert(r.stringInstance),a,l=this.stringSegments;if(l.has(e))a=assert(l.get(e));else{let o=e.length,p=s.createBuffer(o<<1);for(let c=0;c=0?`case${f}|${d}`:`break|${d}`);let g=r.block(`case0|${d}`,c,P.None),S=null,T=null;for(let E=0;E=0?T?l.inherit(T):l.set(256):T&&l.mergeBranch(T),this.currentFlow=l,g}compileThrowStatement(e){this.currentFlow.set(264);let n=new Array,s=e.value,a=null;if(s.kind==17){let l=s.args;l.length&&(a=l[0])}return n.push(this.makeAbort(a,e)),this.module.flatten(n)}compileTryStatement(e){return this.error(100,e.range,"Exceptions"),this.module.unreachable()}compileVariableStatement(e){let r=this.module,n=e.declarations,s=n.length,a=this.currentFlow,l=new Array,o=this.resolver;for(let p=0;p");continue}f=g}else{this.error(1110,c.name.range.atEnd);continue}let E=c.is(8),F=!1;if(E)if(d){let I=r.runExpression(d,1);if(I){d=I;let R=null;switch(ie(d)){case P.I32:{R=new ze(_,-1,f,a.targetFunction),R.setConstantIntegerValue(i64_new(ee(d),0),f);break}case P.I64:{R=new ze(_,-1,f,a.targetFunction),R.setConstantIntegerValue(i64_new(Ee(d),Ce(d)),f);break}case P.F32:{R=new ze(_,-1,f,a.targetFunction),R.setConstantFloatValue(ge(d),f);break}case P.F64:{R=new ze(_,-1,f,a.targetFunction),R.setConstantFloatValue(be(d),f);break}}if(R){let C=a.scopedLocals;if(!C)a.scopedLocals=C=new Map;else if(C.has(_)){let N=assert(C.get(_));return this.errorRelated(2300,c.name.range,N.declaration.name.range,_),this.module.unreachable()}C.set(_,R),F=!0}}}else this.error(1155,c.range);if(!F){let I;if(c.isAny(24)||a.isInline){let R=a.getScopedLocal(_);R?(R.declaration.range.source.isNative?this.error(2300,c.name.range,_):this.errorRelated(2300,c.name.range,R.declaration.name.range,_),I=R):I=a.addScopedLocal(_,f),E&&a.setLocalFlag(I.index,1)}else{let R=a.lookupLocal(_);if(R){this.errorRelated(2300,c.name.range,R.declaration.name.range,_);continue}I=a.targetFunction.addLocal(f,_,c),a.unsetLocalFlag(I.index,-1),E&&a.setLocalFlag(I.index,1)}d?l.push(this.makeLocalAssignment(I,d,g||f,!1)):I.type.isShortIntegerValue&&a.setLocalFlag(I.index,2)}}return this.currentType=u.void,l.length==0?0:r.flatten(l)}compileVoidStatement(e){return this.compileExpression(e.expression,u.void,10)}compileWhileStatement(e){return this.doCompileWhileStatement(e)}doCompileWhileStatement(e){let r=this.module,n=this.currentFlow,s=n.targetFunction.localsByIndex.length,a=this.compileExpression(e.condition,u.bool),l=this.makeIsTrueish(a,this.currentType,e.condition),o=this.evaluateCondition(l);if(o==2)return r.drop(l);let p=n.forkThen(a,!0),c=p.pushControlFlowLabel(),_=`while-break|${c}`;p.breakLabel=_;let f=`while-continue|${c}`;p.continueLabel=f,this.currentFlow=p;let d=new Array,g=e.body;g.kind==30?this.compileStatements(g.statements,d):d.push(this.compileStatement(g)),d.push(r.br(f)),p.popControlFlowLabel(c);let S=p.isAny(4128),T=p.isAny(2064),E=!p.isAny(272);if((S||E)&&n.resetIfNeedsRecompile(p,s))return this.currentFlow=n,this.doCompileWhileStatement(e);let I=!1;if(o==1)n.inherit(p),T||(I=!0,n.set(256));else{let C=n.forkElse(a);!E&&!T?(n.inherit(C),n.mergeSideEffects(p)):n.inheritAlternatives(p,C)}this.currentFlow=n;let R=[r.loop(f,r.if(l,r.flatten(d)))];return I&&R.push(r.unreachable()),r.block(_,R)}compileInlineConstant(e,r,n){assert(e.is(37748736));let s=e.type;switch(this.currentType=s,s.kind){case 0:return this.module.i32(e.constantValueKind==1?i64_ne(e.constantIntegerValue,i64_zero):0);case 1:case 2:{let a=s.computeSmallIntegerShift(u.i32);return this.module.i32(e.constantValueKind==1?i64_low(e.constantIntegerValue)<>a:0)}case 6:case 7:{let a=e.type.computeSmallIntegerMask(u.i32);return this.module.i32(e.constantValueKind==1?i64_low(e.constantIntegerValue)&a:0)}case 3:case 8:return this.module.i32(e.constantValueKind==1?i64_low(e.constantIntegerValue):0);case 5:case 10:if(!e.program.options.isWasm64)return this.module.i32(e.constantValueKind==1?i64_low(e.constantIntegerValue):0);case 4:case 9:return e.constantValueKind==1?this.module.i64(i64_low(e.constantIntegerValue),i64_high(e.constantIntegerValue)):this.module.i64(0);case 12:{if(!(e.hasDecorator(512)&&r==u.f32))return this.module.f64(e.constantFloatValue);this.currentType=u.f32}case 11:return this.module.f32(e.constantFloatValue);default:return assert(!1),this.module.unreachable()}}compileExpression(e,r,n=0){for(;e.kind==20;)e=e.expression;this.currentType=r,r==u.void&&(n|=8);let s;switch(e.kind){case 7:{s=this.compileAssertionExpression(e,r,n);break}case 8:{s=this.compileBinaryExpression(e,r,n);break}case 9:{s=this.compileCallExpression(e,r,n);break}case 11:{s=this.compileCommaExpression(e,r,n);break}case 12:{s=this.compileElementAccessExpression(e,r,n);break}case 14:{s=this.compileFunctionExpression(e,r,n);break}case 6:case 13:case 18:case 24:case 23:case 25:{s=this.compileIdentifierExpression(e,r,n);break}case 15:{s=this.compileInstanceOfExpression(e,r,n);break}case 16:{s=this.compileLiteralExpression(e,r,n);break}case 17:{s=this.compileNewExpression(e,r,n);break}case 21:{s=this.compilePropertyAccessExpression(e,r,n);break}case 22:{s=this.compileTernaryExpression(e,r,n);break}case 27:{s=this.compileUnaryPostfixExpression(e,r,n);break}case 28:{s=this.compileUnaryPrefixExpression(e,r,n);break}case 29:{let o=e;s=o.expr,this.currentType=o.type;break}case 10:{this.error(100,e.range,"Block-scoped class declarations or expressions"),s=this.module.unreachable();break}default:assert(!1),s=this.module.unreachable()}let a=this.currentType,l=(n&4)!=0;return a!=r.nonNullableType&&(n&2?(s=this.convertExpression(s,a,r,!0,e),this.currentType=a=r):n&1&&(s=this.convertExpression(s,a,r,!1,e),this.currentType=a=r)),l&&(s=this.ensureSmallIntegerWrap(s,a)),this.options.sourceMap&&this.addDebugLocation(s,e.range),s}convertExpression(e,r,n,s,a){let l=this.module;if(r.kind==25)return n.kind==25?e:(this.error(2322,a.range,r.toString(),n.toString()),l.unreachable());if(n.kind==25)return l.drop(e);if(r.isReference||n.isReference)return this.currentFlow.isNonnull(e,r)?r=r.nonNullableType:s&&r.isNullableReference&&!n.isNullableReference&&(this.options.noAssert||(e=this.makeRuntimeNonNullCheck(e,r,a)),r=r.nonNullableType),r.isAssignableTo(n)?(assert(n.isExternalReference||r.kind==n.kind),this.currentType=n,e):s&&n.nonNullableType.isAssignableTo(r)?n.isExternalReference?(this.error(100,a.range,"ref.cast"),this.currentType=n,l.unreachable()):(assert(r.kind==n.kind),this.options.noAssert||(e=this.makeRuntimeDowncastCheck(e,r,n,a)),this.currentType=n,e):(this.error(2322,a.range,r.toString(),n.toString()),this.currentType=n,l.unreachable());if(assert(!r.isReference&&!n.isReference),n.kind==r.kind)return this.currentType=n,e;if(!n.isBooleanValue&&(n.isVectorValue||r.isVectorValue))return this.error(2322,a.range,r.toString(),n.toString()),l.unreachable();if(r.isAssignableTo(n)||s||this.error(200,a.range,r.toString(),n.toString()),r.isFloatValue)if(n.isFloatValue)r.kind==11?n.kind==12&&(e=l.unary(43,e)):n.kind==11&&(e=l.unary(44,e));else if(n.isIntegerValue)if(r.kind==11)if(n.isBooleanValue)e=this.makeIsTrueish(e,u.f32,a);else if(n.isSignedIntegerValue){let o=this.options.hasFeature(4);n.isLongIntegerValue?e=l.unary(o?56:26,e):e=l.unary(o?52:25,e)}else{let o=this.options.hasFeature(4);n.isLongIntegerValue?e=l.unary(o?57:28,e):e=l.unary(o?53:27,e)}else if(n.isBooleanValue)e=this.makeIsTrueish(e,u.f64,a);else if(n.isSignedIntegerValue){let o=this.options.hasFeature(4);n.isLongIntegerValue?e=l.unary(o?58:30,e):e=l.unary(o?54:29,e)}else{let o=this.options.hasFeature(4);n.isLongIntegerValue?e=l.unary(o?59:32,e):e=l.unary(o?55:31,e)}else assert(n.flags==0,"void type expected"),e=l.drop(e);else if(r.isIntegerValue&&n.isFloatValue){e=this.ensureSmallIntegerWrap(e,r);let o;n.kind==11?r.isLongIntegerValue?r.isSignedIntegerValue?o=39:o=41:r.isSignedIntegerValue?o=35:o=37:r.isLongIntegerValue?r.isSignedIntegerValue?o=40:o=42:r.isSignedIntegerValue?o=36:o=38,e=l.unary(o,e)}else r==u.v128&&n.isBooleanValue?e=this.makeIsTrueish(e,u.v128,a):r.isLongIntegerValue?n.isBooleanValue?e=l.binary(41,e,l.i64(0)):n.isLongIntegerValue||(e=l.unary(24,e)):n.isLongIntegerValue?e=l.unary(r.isSignedIntegerValue?22:23,this.ensureSmallIntegerWrap(e,r)):r.isShortIntegerValue?r.size",p.toString(),_.toString()),this.currentType=r,s.unreachable();o=this.convertExpression(o,p,f,!1,a),p=f,c=this.convertExpression(c,_,f,!1,l),_=f,d=this.makeGt(o,c,f),this.currentType=u.bool;break}case 74:{o=this.compileExpression(a,r),p=this.currentType;let I=p.getClassOrWrapper(this.program);if(I){let R=I.lookupOverload(22);if(R){d=this.compileBinaryOverload(R,a,o,p,l,e);break}}if(c=this.compileExpression(l,p),_=this.currentType,f=u.commonType(p,_,r,!0),!f||!f.isNumericValue)return this.error(2365,e.range,"<=",p.toString(),_.toString()),this.currentType=r,s.unreachable();o=this.convertExpression(o,p,f,!1,a),p=f,c=this.convertExpression(c,_,f,!1,l),_=f,d=this.makeLe(o,c,f),this.currentType=u.bool;break}case 75:{o=this.compileExpression(a,r),p=this.currentType;let I=p.getClassOrWrapper(this.program);if(I){let R=I.lookupOverload(20);if(R){d=this.compileBinaryOverload(R,a,o,p,l,e);break}}if(c=this.compileExpression(l,p),_=this.currentType,f=u.commonType(p,_,r,!0),!f||!f.isNumericValue)return this.error(2365,e.range,">=",p.toString(),_.toString()),this.currentType=r,s.unreachable();o=this.convertExpression(o,p,f,!1,a),p=f,c=this.convertExpression(c,_,f,!1,l),_=f,d=this.makeGe(o,c,f),this.currentType=u.bool;break}case 78:case 76:{o=this.compileExpression(a,r),p=this.currentType;let I=p.getClassOrWrapper(this.program);if(I){let R=I.lookupOverload(17);if(R){d=this.compileBinaryOverload(R,a,o,p,l,e);break}}if(c=this.compileExpression(l,p),_=this.currentType,f=u.commonType(p,_,r),!f)return this.error(2365,e.range,Te(e.operator),p.toString(),_.toString()),this.currentType=r,s.unreachable();f.isFloatValue&&((mi(s,c)||mi(s,o))&&this.warning(907,e.range),(di(c)||di(o))&&this.warning(908,e.range)),o=this.convertExpression(o,p,f,!1,a),p=f,c=this.convertExpression(c,_,f,!1,l),_=f,d=this.makeEq(o,c,f,e),this.currentType=u.bool;break}case 79:case 77:{o=this.compileExpression(a,r),p=this.currentType;let I=p.getClass();if(I){let R=I.lookupOverload(18);if(R){d=this.compileBinaryOverload(R,a,o,p,l,e);break}}if(c=this.compileExpression(l,p),_=this.currentType,f=u.commonType(p,_,r),!f)return this.error(2365,e.range,Te(e.operator),p.toString(),_.toString()),this.currentType=r,s.unreachable();f.isFloatValue&&((mi(s,c)||mi(s,o))&&this.warning(907,e.range),(di(c)||di(o))&&this.warning(908,e.range)),o=this.convertExpression(o,p,f,!1,a),p=f,c=this.convertExpression(c,_,f,!1,l),_=f,d=this.makeNe(o,c,f,e),this.currentType=u.bool;break}case 101:return this.compileAssignment(a,l,r);case 102:g=!0;case 81:{o=this.compileExpression(a,r),p=this.currentType;let I=p.getClassOrWrapper(this.program);if(I){let R=I.lookupOverload(5);if(R){d=this.compileBinaryOverload(R,a,o,p,l,e);break}}if(g){if(!p.isNumericValue)return this.error(2469,e.range,"+",p.toString()),s.unreachable();c=this.compileExpression(l,p,1),_=f=this.currentType}else{if(c=this.compileExpression(l,p),_=this.currentType,f=u.commonType(p,_,r),!f||!f.isNumericValue)return this.error(2365,e.range,"+",p.toString(),_.toString()),this.currentType=r,s.unreachable();o=this.convertExpression(o,p,f,!1,a),p=f,c=this.convertExpression(c,_,f,!1,l),_=f}d=this.makeAdd(o,c,f);break}case 103:g=!0;case 82:{o=this.compileExpression(a,r),p=this.currentType;let I=p.getClassOrWrapper(this.program);if(I){let R=I.lookupOverload(6);if(R){d=this.compileBinaryOverload(R,a,o,p,l,e);break}}if(g){if(!p.isNumericValue)return this.error(2469,e.range,"-",p.toString()),s.unreachable();c=this.compileExpression(l,p,1),_=f=this.currentType}else{if(c=this.compileExpression(l,p),_=this.currentType,f=u.commonType(p,_,r),!f||!p.isNumericValue)return this.error(2365,e.range,"-",p.toString(),_.toString()),this.currentType=r,s.unreachable();o=this.convertExpression(o,p,f,!1,a),p=f,c=this.convertExpression(c,_,f,!1,l),_=f}d=this.makeSub(o,c,f);break}case 104:g=!0;case 84:{o=this.compileExpression(a,r),p=this.currentType;let I=p.getClassOrWrapper(this.program);if(I){let R=I.lookupOverload(7);if(R){d=this.compileBinaryOverload(R,a,o,p,l,e);break}}if(g){if(!p.isNumericValue)return this.error(2469,e.range,"*",p.toString()),s.unreachable();c=this.compileExpression(l,p,1),_=f=this.currentType}else{if(c=this.compileExpression(l,p),_=this.currentType,f=u.commonType(p,_,r),!f||!f.isNumericValue)return this.error(2365,e.range,"*",p.toString(),_.toString()),this.currentType=r,s.unreachable();o=this.convertExpression(o,p,f,!1,a),p=f,c=this.convertExpression(c,_,f,!1,l),_=f}d=this.makeMul(o,c,f);break}case 105:g=!0;case 83:{o=this.compileExpression(a,r),p=this.currentType;let I=p.getClassOrWrapper(this.program);if(I){let R=I.lookupOverload(10);if(R){d=this.compileBinaryOverload(R,a,o,p,l,e);break}}if(g){if(!p.isNumericValue)return this.error(2469,e.range,"**",p.toString()),s.unreachable();c=this.compileExpression(l,p,1),_=f=this.currentType}else{if(c=this.compileExpression(l,p),_=this.currentType,f=u.commonType(p,_,r),!f||!f.isNumericValue)return this.error(2365,e.range,"**",p.toString(),_.toString()),this.currentType=r,s.unreachable();o=this.convertExpression(o,p,f,!1,a),p=f,c=this.convertExpression(c,_,f,!1,l),_=f}d=this.makePow(o,c,f,e);break}case 106:g=!0;case 85:{o=this.compileExpression(a,r),p=this.currentType;let I=p.getClassOrWrapper(this.program);if(I){let R=I.lookupOverload(8);if(R){d=this.compileBinaryOverload(R,a,o,p,l,e);break}}if(g){if(!p.isNumericValue)return this.error(2469,e.range,"/",p.toString()),s.unreachable();c=this.compileExpression(l,p,1),_=f=this.currentType}else{if(c=this.compileExpression(l,p),_=this.currentType,f=u.commonType(p,_,r),!f||!f.isNumericValue)return this.error(2365,e.range,"/",p.toString(),_.toString()),this.currentType=r,s.unreachable();o=this.convertExpression(o,p,f,!1,a),p=f,c=this.convertExpression(c,_,f,!1,l),_=f}d=this.makeDiv(o,c,f);break}case 107:g=!0;case 86:{o=this.compileExpression(a,r),p=this.currentType;let I=p.getClassOrWrapper(this.program);if(I){let R=I.lookupOverload(9);if(R){d=this.compileBinaryOverload(R,a,o,p,l,e);break}}if(g){if(!p.isNumericValue)return this.error(2469,e.range,"%",p.toString()),s.unreachable();c=this.compileExpression(l,p,1),_=f=this.currentType}else{if(c=this.compileExpression(l,p),_=this.currentType,f=u.commonType(p,_,r),!f||!f.isNumericValue)return this.error(2365,e.range,"%",p.toString(),_.toString()),this.currentType=r,s.unreachable();o=this.convertExpression(o,p,f,!1,a),p=f,c=this.convertExpression(c,_,f,!1,l),_=f}d=this.makeRem(o,c,f,e);break}case 108:g=!0;case 89:{o=this.compileExpression(a,r.intType),p=this.currentType;let I=p.getClassOrWrapper(this.program);if(I){let R=I.lookupOverload(14);if(R){d=this.compileBinaryOverload(R,a,o,p,l,e);break}}if(!p.isIntegerValue)return this.error(2469,e.range,"<<",p.toString()),s.unreachable();c=this.compileExpression(l,p,1),_=this.currentType,d=this.makeShl(o,c,_);break}case 109:g=!0;case 90:{o=this.compileExpression(a,r.intType),p=this.currentType;let I=p.getClassOrWrapper(this.program);if(I){let R=I.lookupOverload(15);if(R){d=this.compileBinaryOverload(R,a,o,p,l,e);break}}if(!p.isIntegerValue)return this.error(2469,e.range,">>",p.toString()),this.module.unreachable();c=this.compileExpression(l,p,1),_=this.currentType,d=this.makeShr(o,c,_);break}case 110:g=!0;case 91:{o=this.compileExpression(a,r.intType),p=this.currentType;let I=p.getClassOrWrapper(this.program);if(I){let R=I.lookupOverload(16);if(R){d=this.compileBinaryOverload(R,a,o,p,l,e);break}}if(!p.isIntegerValue)return this.error(2469,e.range,">>>",p.toString()),s.unreachable();c=this.compileExpression(l,p,1),_=this.currentType,d=this.makeShru(o,c,_);break}case 111:g=!0;case 92:{o=this.compileExpression(a,r.intType),p=this.currentType;let I=p.getClassOrWrapper(this.program);if(I){let R=I.lookupOverload(11);if(R){d=this.compileBinaryOverload(R,a,o,p,l,e);break}}if(g){if(!p.isIntegerValue)return this.error(2469,e.range,"&",p.toString()),s.unreachable();c=this.compileExpression(l,p,1),_=f=this.currentType}else{if(c=this.compileExpression(l,p),_=this.currentType,f=u.commonType(p,_,r),!f||!f.isIntegerValue)return this.error(2365,e.range,"&",p.toString(),_.toString()),this.currentType=r,s.unreachable();o=this.convertExpression(o,p,f,!1,a),p=f,c=this.convertExpression(c,_,f,!1,l),_=f}d=this.makeAnd(o,c,f);break}case 112:g=!0;case 93:{o=this.compileExpression(a,r.intType),p=this.currentType;let I=p.getClassOrWrapper(this.program);if(I){let R=I.lookupOverload(12);if(R){d=this.compileBinaryOverload(R,a,o,p,l,e);break}}if(g){if(!p.isIntegerValue)return this.error(2469,e.range,"|",p.toString()),s.unreachable();c=this.compileExpression(l,p,1),_=f=this.currentType}else{if(c=this.compileExpression(l,p),_=this.currentType,f=u.commonType(p,_,r),!f||!f.isIntegerValue)return this.error(2365,e.range,"|",p.toString(),_.toString()),this.currentType=r,s.unreachable();o=this.convertExpression(o,p,f,!1,a),p=f,c=this.convertExpression(c,_,f,!1,l),_=f}d=this.makeOr(o,c,f);break}case 113:g=!0;case 94:{o=this.compileExpression(a,r.intType),p=this.currentType;let I=p.getClassOrWrapper(this.program);if(I){let R=I.lookupOverload(13);if(R){d=this.compileBinaryOverload(R,a,o,p,l,e);break}}if(g){if(!p.isIntegerValue)return this.error(2469,e.range,"^",p.toString()),s.unreachable();c=this.compileExpression(l,p,1),_=f=this.currentType}else{if(c=this.compileExpression(l,p),_=this.currentType,f=u.commonType(p,_,r),!f||!f.isIntegerValue)return this.error(2365,e.range,"^",p.toString(),_.toString()),this.currentType=r,s.unreachable();o=this.convertExpression(o,p,f,!1,a),p=f,c=this.convertExpression(c,_,f,!1,l),_=f}d=this.makeXor(o,c,f);break}case 97:{let I=this.currentFlow,R=n&4;o=this.compileExpression(a,r.exceptVoid,R),p=this.currentType;let C=I.forkThen(o);if(this.currentFlow=C,r==u.bool||r==u.void){o=this.makeIsTrueish(o,p,a);let N=this.evaluateCondition(o);N==2?d=o:(c=this.compileExpression(l,p,R),_=this.currentType,c=this.makeIsTrueish(c,_,l),N==1?(d=c,I.inherit(C)):(d=s.if(o,c,s.i32(0)),I.mergeBranch(C),I.noteThen(d,C))),this.currentFlow=I,this.currentType=u.bool}else{if(c=this.compileExpression(l,p,R),_=this.currentType,f=u.commonType(p,_,r),!f)return this.error(2365,e.range,"&&",p.toString(),_.toString()),this.currentType=r,s.unreachable();if(o=this.convertExpression(o,p,f,!1,a),p=f,c=this.convertExpression(c,_,f,!1,l),_=f,d=s.tryCopyTrivialExpression(o))d=s.if(this.makeIsTrueish(o,this.currentType,a),c,d);else{let N=I.getTempLocal(p);I.canOverflow(o,p)||I.setLocalFlag(N.index,2),I.isNonnull(o,p)&&I.setLocalFlag(N.index,4),d=s.if(this.makeIsTrueish(s.local_tee(N.index,o,p.isManaged),p,a),c,s.local_get(N.index,p.toRef()))}I.mergeBranch(C),I.noteThen(d,C),this.currentFlow=I,this.currentType=f}break}case 98:{let I=this.currentFlow,R=n&4;o=this.compileExpression(a,r.exceptVoid,R),p=this.currentType;let C=I.forkElse(o);if(this.currentFlow=C,r==u.bool||r==u.void){o=this.makeIsTrueish(o,p,a);let N=this.evaluateCondition(o);N==1?d=o:(c=this.compileExpression(l,p,R),_=this.currentType,c=this.makeIsTrueish(c,_,l),N==2?(d=c,I.inherit(C)):(d=s.if(o,s.i32(1),c),I.mergeBranch(C),I.noteElse(d,C))),this.currentFlow=I,this.currentType=u.bool}else{if(c=this.compileExpression(l,p,R),_=this.currentType,f=u.commonType(p,_,r),!f)return this.error(2365,e.range,"||",p.toString(),_.toString()),this.currentType=r,s.unreachable();let N=p.is(512)&&_.is(512);if(o=this.convertExpression(o,p,f,!1,a),p=f,c=this.convertExpression(c,_,f,!1,l),_=f,d=s.tryCopyTrivialExpression(o))d=s.if(this.makeIsTrueish(o,p,a),d,c);else{let K=I.getTempLocal(p).index;I.canOverflow(o,p)||I.setLocalFlag(K,2),I.isNonnull(o,p)&&I.setLocalFlag(K,4),d=s.if(this.makeIsTrueish(s.local_tee(K,o,p.isManaged),p,a),s.local_get(K,p.toRef()),c)}I.mergeBranch(C),I.noteElse(d,C),this.currentFlow=I,this.currentType=N?f:f.nonNullableType}break}case 29:return this.error(100,e.range,"'in' operator"),this.currentType=u.bool,s.unreachable();default:assert(!1),d=this.module.unreachable()}if(!g)return d;let T=this.resolver,E=T.lookupExpression(a,this.currentFlow);if(!E)return s.unreachable();let F=T.getTypeOfElement(E);return F||(F=u.void),this.currentType.isStrictlyAssignableTo(F)?this.makeAssignment(E,d,this.currentType,l,T.currentThisExpression,T.currentElementExpression,r!=u.void):(this.error(2322,e.range,this.currentType.toString(),F.toString()),s.unreachable())}makeLt(e,r,n){let s=this.module;switch(n.kind){case 1:case 2:e=this.ensureSmallIntegerWrap(e,n),r=this.ensureSmallIntegerWrap(r,n);case 3:return s.binary(17,e,r);case 4:return s.binary(42,e,r);case 5:return s.binary(220,e,r);case 0:case 6:case 7:e=this.ensureSmallIntegerWrap(e,n),r=this.ensureSmallIntegerWrap(r,n);case 8:return s.binary(18,e,r);case 9:return s.binary(43,e,r);case 10:return s.binary(221,e,r);case 11:return s.binary(59,e,r);case 12:return s.binary(72,e,r)}return assert(!1),s.unreachable()}makeGt(e,r,n){let s=this.module;switch(n.kind){case 1:case 2:e=this.ensureSmallIntegerWrap(e,n),r=this.ensureSmallIntegerWrap(r,n);case 3:return s.binary(21,e,r);case 4:return s.binary(46,e,r);case 5:return s.binary(224,e,r);case 0:case 6:case 7:e=this.ensureSmallIntegerWrap(e,n),r=this.ensureSmallIntegerWrap(r,n);case 8:return s.binary(22,e,r);case 9:return s.binary(47,e,r);case 10:return s.binary(225,e,r);case 11:return s.binary(61,e,r);case 12:return s.binary(74,e,r)}return assert(!1),s.unreachable()}makeLe(e,r,n){let s=this.module;switch(n.kind){case 1:case 2:e=this.ensureSmallIntegerWrap(e,n),r=this.ensureSmallIntegerWrap(r,n);case 3:return s.binary(19,e,r);case 4:return s.binary(44,e,r);case 5:return s.binary(222,e,r);case 0:case 6:case 7:e=this.ensureSmallIntegerWrap(e,n),r=this.ensureSmallIntegerWrap(r,n);case 8:return s.binary(20,e,r);case 9:return s.binary(45,e,r);case 10:return s.binary(223,e,r);case 11:return s.binary(60,e,r);case 12:return s.binary(73,e,r)}return assert(!1),s.unreachable()}makeGe(e,r,n){let s=this.module;switch(n.kind){case 1:case 2:e=this.ensureSmallIntegerWrap(e,n),r=this.ensureSmallIntegerWrap(r,n);case 3:return s.binary(23,e,r);case 4:return s.binary(48,e,r);case 5:return s.binary(226,e,r);case 0:case 6:case 7:e=this.ensureSmallIntegerWrap(e,n),r=this.ensureSmallIntegerWrap(r,n);case 8:return s.binary(24,e,r);case 9:return s.binary(49,e,r);case 10:return s.binary(227,e,r);case 11:return s.binary(62,e,r);case 12:return s.binary(75,e,r)}return assert(!1),s.unreachable()}makeEq(e,r,n,s){let a=this.module;switch(n.kind){case 0:case 1:case 2:case 6:case 7:e=this.ensureSmallIntegerWrap(e,n),r=this.ensureSmallIntegerWrap(r,n);case 3:case 8:return a.binary(15,e,r);case 4:case 9:return a.binary(40,e,r);case 5:case 10:return a.binary(218,e,r);case 11:return a.binary(57,e,r);case 12:return a.binary(70,e,r);case 13:return a.unary(70,a.binary(76,e,r));case 17:case 18:case 19:case 20:return a.ref_eq(e,r);case 21:return a.string_eq(e,r);case 22:case 23:case 24:case 15:case 14:case 16:return this.error(203,s.range,"ref.eq",n.toString()),a.unreachable()}return assert(!1),a.unreachable()}makeNe(e,r,n,s){let a=this.module;switch(n.kind){case 0:case 1:case 2:case 6:case 7:e=this.ensureSmallIntegerWrap(e,n),r=this.ensureSmallIntegerWrap(r,n);case 3:case 8:return a.binary(16,e,r);case 4:case 9:return a.binary(41,e,r);case 5:case 10:return a.binary(219,e,r);case 11:return a.binary(58,e,r);case 12:return a.binary(71,e,r);case 13:return a.unary(67,a.binary(77,e,r));case 17:case 18:case 19:case 20:return a.unary(20,a.ref_eq(e,r));case 21:return a.unary(20,a.string_eq(e,r));case 22:case 23:case 24:case 15:case 14:case 16:return this.error(203,s.range,"ref.eq",n.toString()),a.unreachable()}return assert(!1),a.unreachable()}makeAdd(e,r,n){let s=this.module;switch(n.kind){case 0:case 1:case 2:case 6:case 7:case 3:case 8:return s.binary(0,e,r);case 4:case 9:return s.binary(25,e,r);case 5:case 10:return s.binary(203,e,r);case 11:return s.binary(50,e,r);case 12:return s.binary(63,e,r)}return assert(!1),s.unreachable()}makeSub(e,r,n){let s=this.module;switch(n.kind){case 0:case 1:case 2:case 6:case 7:case 3:case 8:return s.binary(1,e,r);case 4:case 9:return s.binary(26,e,r);case 5:case 10:return s.binary(204,e,r);case 11:return s.binary(51,e,r);case 12:return s.binary(64,e,r)}return assert(!1),s.unreachable()}makeMul(e,r,n){let s=this.module;switch(n.kind){case 0:case 1:case 2:case 6:case 7:case 3:case 8:return s.binary(2,e,r);case 4:case 9:return s.binary(27,e,r);case 5:case 10:return s.binary(205,e,r);case 11:return s.binary(52,e,r);case 12:return s.binary(65,e,r)}return assert(!1),s.unreachable()}makePow(e,r,n,s){let a=this.module;switch(n.kind){case 0:return a.select(a.i32(1),a.binary(15,r,a.i32(0)),e,P.I32);case 1:case 6:case 2:case 7:e=this.ensureSmallIntegerWrap(e,n),r=this.ensureSmallIntegerWrap(r,n);case 3:case 8:{if(this.options.willOptimize&&Q(e)==14&&Q(r)==14){let p=ee(e),c=ee(r);return this.currentType=n,a.i32(i64_low(i64_pow(i64_new(p),i64_new(c))))}let l=this.i32PowInstance;if(!l){let p=this.program.lookup(B.ipow32);if(!p)return this.error(2304,s.range,"ipow32"),a.unreachable();assert(p.kind==4),this.i32PowInstance=l=this.resolver.resolveFunction(p,null)}if(!l||!this.compileFunction(l))return a.unreachable();let o=this.makeCallDirect(l,[e,r],s);return n.size<32&&(o=this.ensureSmallIntegerWrap(o,n)),o}case 4:case 9:{if(this.options.willOptimize&&Q(e)==14&&Q(r)==14){let o=i64_new(Ee(e),Ce(e)),p=i64_new(Ee(r),Ce(r)),c=i64_pow(o,p);return this.currentType=n,a.i64(i64_low(c),i64_high(c))}let l=this.i64PowInstance;if(!l){let o=this.program.lookup(B.ipow64);if(!o)return this.error(2304,s.range,"ipow64"),a.unreachable();assert(o.kind==4),this.i64PowInstance=l=this.resolver.resolveFunction(o,null)}return!l||!this.compileFunction(l)?a.unreachable():this.makeCallDirect(l,[e,r],s)}case 5:case 10:{let l=this.options.isWasm64;if(this.options.willOptimize&&Q(e)==14&&Q(r)==14)if(l){let p=i64_new(Ee(e),Ce(e)),c=i64_new(Ee(r),Ce(r)),_=i64_pow(p,c);return this.currentType=n,a.i64(i64_low(_),i64_high(_))}else{let p=ee(e),c=ee(r);return this.currentType=n,a.i32(i64_low(i64_pow(i64_new(p),i64_new(c))))}let o=l?this.i64PowInstance:this.i32PowInstance;if(!o){let p=this.program.lookup(l?B.ipow64:B.ipow32);if(!p)return this.error(2304,s.range,l?"ipow64":"ipow32"),a.unreachable();assert(p.kind==4),o=this.resolver.resolveFunction(p,null),l?this.i64PowInstance=o:this.i32PowInstance=o}return!o||!this.compileFunction(o)?a.unreachable():this.makeCallDirect(o,[e,r],s)}case 11:{if(this.options.willOptimize&&Q(e)==14&&Q(r)==14){let o=ge(e),p=ge(r);return this.currentType=n,a.f32(f32(Hs(o,p)))}let l=this.f32PowInstance;if(!l){let o=this.program.lookup(B.Mathf);if(!o)return this.error(2304,s.range,"Mathf"),a.unreachable();let p=o.getMember(B.pow);if(!p)return this.error(2304,s.range,"Mathf.pow"),a.unreachable();assert(p.kind==4),this.f32PowInstance=l=this.resolver.resolveFunction(p,null)}return!l||!this.compileFunction(l)?a.unreachable():this.makeCallDirect(l,[e,r],s)}case 12:{if(this.options.willOptimize&&Q(e)==14&&Q(r)==14){let o=be(e),p=be(r);return this.currentType=n,a.f64(Hs(o,p))}let l=this.f64PowInstance;if(!l){let o=this.program.lookup(B.Math);if(!o)return this.error(2304,s.range,"Math"),a.unreachable();let p=o.getMember(B.pow);if(!p)return this.error(2304,s.range,"Math.pow"),a.unreachable();assert(p.kind==4),this.f64PowInstance=l=this.resolver.resolveFunction(p,null)}return!l||!this.compileFunction(l)?a.unreachable():this.makeCallDirect(l,[e,r],s)}}return assert(!1),a.unreachable()}makeDiv(e,r,n){let s=this.module;switch(n.kind){case 1:case 2:e=this.ensureSmallIntegerWrap(e,n),r=this.ensureSmallIntegerWrap(r,n);case 3:return s.binary(3,e,r);case 4:return s.binary(28,e,r);case 5:return s.binary(206,e,r);case 0:case 6:case 7:e=this.ensureSmallIntegerWrap(e,n),r=this.ensureSmallIntegerWrap(r,n);case 8:return s.binary(4,e,r);case 9:return s.binary(29,e,r);case 10:return s.binary(207,e,r);case 11:return s.binary(53,e,r);case 12:return s.binary(66,e,r)}return assert(!1),s.unreachable()}makeRem(e,r,n,s){let a=this.module;switch(n.kind){case 1:case 2:e=this.ensureSmallIntegerWrap(e,n),r=this.ensureSmallIntegerWrap(r,n);case 3:return a.binary(5,e,r);case 4:return a.binary(30,e,r);case 5:return a.binary(208,e,r);case 0:case 6:case 7:e=this.ensureSmallIntegerWrap(e,n),r=this.ensureSmallIntegerWrap(r,n);case 8:return a.binary(6,e,r);case 9:return a.binary(31,e,r);case 10:return a.binary(209,e,r);case 11:{let l=this.f32ModInstance;if(!l){let o=this.program.lookup(B.Mathf);if(!o)return this.error(2304,s.range,"Mathf"),a.unreachable();let p=o.getMember(B.mod);if(!p)return this.error(2304,s.range,"Mathf.mod"),a.unreachable();assert(p.kind==4),this.f32ModInstance=l=this.resolver.resolveFunction(p,null)}return!l||!this.compileFunction(l)?a.unreachable():this.makeCallDirect(l,[e,r],s)}case 12:{let l=this.f64ModInstance;if(!l){let o=this.program.lookup(B.Math);if(!o)return this.error(2304,s.range,"Math"),a.unreachable();let p=o.getMember(B.mod);if(!p)return this.error(2304,s.range,"Math.mod"),a.unreachable();assert(p.kind==4),this.f64ModInstance=l=this.resolver.resolveFunction(p,null)}return!l||!this.compileFunction(l)?a.unreachable():this.makeCallDirect(l,[e,r],s)}}return assert(!1),a.unreachable()}makeShl(e,r,n){let s=this.module;switch(n.kind){case 0:return e;case 1:case 2:case 6:case 7:return s.binary(10,e,s.binary(7,r,s.i32(n.size-1)));case 3:case 8:return s.binary(10,e,r);case 4:case 9:return s.binary(35,e,r);case 5:case 10:return s.binary(213,e,r)}return assert(!1),s.unreachable()}makeShr(e,r,n){let s=this.module;switch(n.kind){case 0:return e;case 1:case 2:return s.binary(11,this.ensureSmallIntegerWrap(e,n),s.binary(7,r,s.i32(n.size-1)));case 6:case 7:return s.binary(12,this.ensureSmallIntegerWrap(e,n),s.binary(7,r,s.i32(n.size-1)));case 3:return s.binary(11,e,r);case 4:return s.binary(36,e,r);case 5:return s.binary(214,e,r);case 8:return s.binary(12,e,r);case 9:return s.binary(37,e,r);case 10:return s.binary(215,e,r)}return assert(!1),s.unreachable()}makeShru(e,r,n){let s=this.module;switch(n.kind){case 0:return e;case 1:case 2:case 6:case 7:return s.binary(12,this.ensureSmallIntegerWrap(e,n),s.binary(7,r,s.i32(n.size-1)));case 3:case 8:return s.binary(12,e,r);case 4:case 9:return s.binary(37,e,r);case 5:case 10:return s.binary(215,e,r)}return assert(!1),s.unreachable()}makeAnd(e,r,n){let s=this.module;switch(n.kind){case 0:case 1:case 2:case 3:case 6:case 7:case 8:return s.binary(7,e,r);case 4:case 9:return s.binary(32,e,r);case 5:case 10:return s.binary(210,e,r)}return assert(!1),s.unreachable()}makeOr(e,r,n){let s=this.module;switch(n.kind){case 0:case 1:case 2:case 6:case 7:return s.binary(8,e,r);case 3:case 8:return s.binary(8,e,r);case 4:case 9:return s.binary(33,e,r);case 5:case 10:return s.binary(211,e,r)}return assert(!1),s.unreachable()}makeXor(e,r,n){let s=this.module;switch(n.kind){case 0:case 1:case 2:case 6:case 7:return s.binary(9,e,r);case 3:case 8:return s.binary(9,e,r);case 4:case 9:return s.binary(34,e,r);case 5:case 10:return s.binary(212,e,r)}return assert(!1),s.unreachable()}compileUnaryOverload(e,r,n,s){return this.makeCallDirect(e,[n],s,!1)}compileBinaryOverload(e,r,n,s,a,l){let o,p=e.signature,c=p.parameterTypes;e.is(262144)?(n=this.convertExpression(n,s,assert(p.thisType),!1,r),o=c[0]):(n=this.convertExpression(n,s,c[0],!1,r),o=c[1]);let _=this.compileExpression(a,o,1);return this.makeCallDirect(e,[n,_],l)}compileAssignment(e,r,n){let a=this.program.resolver,l=this.currentFlow,o=a.lookupExpression(e,l);if(!o)return this.module.unreachable();let p=a.currentThisExpression,c=a.currentElementExpression,_;switch(o.kind){case 0:case 1:{if(o.kind==0){if(!this.compileGlobalLazy(o,e))return this.module.unreachable()}else if(!o.declaredByFlow(l))return this.error(100,e.range,"Closures"),this.module.unreachable();if(this.pendingElements.has(o))return this.error(2448,e.range,o.internalName),this.module.unreachable();_=o.type,o.hasDecorator(2048)&&this.checkUnsafe(e);break}case 10:{let g=o,S=a.resolveProperty(g);if(!S)return this.module.unreachable();o=S}case 11:{let g=o;if(g.isField&&this.pendingElements.has(o))return this.error(2448,e.range,o.internalName),this.module.unreachable();let S=g.setterInstance;if(!S)return this.error(2540,e.range,g.internalName),this.module.unreachable();assert(S.signature.parameterTypes.length==1),_=S.signature.parameterTypes[0],S.hasDecorator(2048)&&this.checkUnsafe(e);break}case 15:{let g=o.parent;assert(g.kind==7);let S=g,T=l.is(32768),E=S.lookupOverload(2,T);if(!E)return S.lookupOverload(1,T)?this.error(2542,e.range,S.internalName):this.error(2329,e.range,S.internalName),this.module.unreachable();let F=E.signature.parameterTypes;assert(F.length==2),_=F[1],E.hasDecorator(2048)&&this.checkUnsafe(e),!T&&this.options.pedantic&&this.pedantic(904,e.range);break}default:return this.error(2540,e.range,o.internalName),this.module.unreachable()}assert(_!=u.void);let f=this.compileExpression(r,_),d=this.currentType;return _.isNullableReference&&this.currentFlow.isNonnull(f,d)&&(_=_.nonNullableType),this.makeAssignment(o,this.convertExpression(f,d,_,!1,r),_,r,p,c,n!=u.void)}makeAssignment(e,r,n,s,a,l,o){let p=this.module,c=this.currentFlow;switch(e.kind){case 1:{let _=e;return c.isLocalFlag(_.index,1,!0)?(this.error(2540,s.range,e.internalName),this.currentType=o?_.type:u.void,p.unreachable()):this.makeLocalAssignment(_,r,n,o)}case 0:{let _=e;return this.compileGlobalLazy(_,s)?e.isAny(72)?(this.error(2540,s.range,e.internalName),this.currentType=o?_.type:u.void,p.unreachable()):this.makeGlobalAssignment(_,r,n,o):p.unreachable()}case 10:{let _=this.resolver.resolveProperty(e);if(!_)return p.unreachable();e=_}case 11:{let _=e;if(_.isField){let d=c.sourceFunction.is(524288);if(_.is(64)){let g=_.initializerNode;if(!d||g)return this.error(2540,s.range,_.internalName),p.unreachable()}a=assert(a),d&&a.kind==24&&c.setThisFieldFlag(_,1)}let f=_.setterInstance;if(!f)return this.error(2540,s.range,e.internalName),p.unreachable();if(assert(f.signature.parameterTypes.length==1),assert(f.signature.returnType==u.void),_.is(262144)){let d=assert(f.signature.thisType),g=this.compileExpression(assert(a),d,33);if(!o)return this.makeCallDirect(f,[g,r],s);let S=c.getTempLocal(n),T=n.toRef(),E=p.block(null,[this.makeCallDirect(f,[g,p.local_tee(S.index,r,n.isManaged,T)],s),p.local_get(S.index,T)],T);return this.currentType=n,E}else{if(!o)return this.makeCallDirect(f,[r],s);let d=c.getTempLocal(n),g=n.toRef(),S=p.block(null,[this.makeCallDirect(f,[p.local_tee(d.index,r,n.isManaged,g)],s),p.local_get(d.index,g)],g);return this.currentType=n,S}}case 15:{let f=e.parent;assert(f.kind==7);let d=f;assert(d.kind==7);let g=c.is(32768),S=d.lookupOverload(1,g);if(!S)return this.error(2329,s.range,d.internalName),p.unreachable();let T=d.lookupOverload(2,g);if(!T)return this.error(2542,s.range,d.internalName),this.currentType=o?S.signature.returnType:u.void,p.unreachable();assert(T.signature.parameterTypes.length==2);let E=d.type,F=this.compileExpression(assert(a),E,33),I=T.signature.parameterTypes[0],R=S.signature.parameterTypes[0];if(!I.equals(R))return this.errorRelated(237,S.identifierAndSignatureRange,T.identifierAndSignatureRange,d.internalName),this.currentType=o?S.signature.returnType:u.void,p.unreachable();let C=this.compileExpression(assert(l),I,1),N=this.currentType;if(o){let D=c.getTempLocal(E),K=c.getTempLocal(N),V=S.signature.returnType;return p.block(null,[this.makeCallDirect(T,[p.local_tee(D.index,F,E.isManaged),p.local_tee(K.index,C,N.isManaged),r],s),this.makeCallDirect(S,[p.local_get(D.index,D.type.toRef()),p.local_get(K.index,K.type.toRef())],s)],V.toRef())}else return this.makeCallDirect(T,[F,C,r],s)}default:this.error(2541,s.range)}return p.unreachable()}makeLocalAssignment(e,r,n,s){let a=this.module,l=this.currentFlow,o=e.type;assert(o!=u.void);let p=e.index;return o.isNullableReference&&(!n.isNullableReference||l.isNonnull(r,o)?l.setLocalFlag(p,4):l.unsetLocalFlag(p,4)),l.setLocalFlag(p,8),o.isShortIntegerValue&&(l.canOverflow(r,o)?l.unsetLocalFlag(p,2):l.setLocalFlag(p,2)),s?(this.currentType=o,a.local_tee(p,r,o.isManaged)):(this.currentType=u.void,a.local_set(p,r,o.isManaged))}makeGlobalAssignment(e,r,n,s){let a=this.module,l=e.type;assert(l!=u.void);let o=l.toRef();return r=this.ensureSmallIntegerWrap(r,l),s?(this.currentType=l,a.block(null,[a.global_set(e.internalName,r),a.global_get(e.internalName,o)],o)):(this.currentType=u.void,a.global_set(e.internalName,r))}compileCallExpression(e,r,n){let s=this.module,a=this.currentFlow;if(e.expression.kind==23){let _=this.currentFlow,f=_.sourceFunction;if(!f.is(524288))return this.error(2337,e.range),s.unreachable();let d=assert(f.parent);assert(d.kind==7);let g=d,S=g.base;if(!S||g.prototype.implicitlyExtendsObject)return this.error(2335,e.expression.range),s.unreachable();let T=assert(_.lookupLocal(B.this_)),E=this.options.sizeTypeRef,F=this.ensureConstructor(S,e);this.checkFieldInitialization(S,e);let I=this.compileCallDirect(F,e.args,e,s.local_get(T.index,E));return _.isAny(8256)?(this.error(17009,e.range),s.unreachable()):(_.set(192),this.currentType=u.void,s.local_set(T.index,I,g.type.isManaged))}let l=this.resolver.lookupExpression(e.expression,a);if(!l)return s.unreachable();let o=this.resolver.currentThisExpression;switch(l.kind){case 4:{let _=l;if(_.hasDecorator(512))return this.compileCallExpressionBuiltin(_,e,r);let f=this.resolver.maybeInferCall(e,_,a);if(!f)return this.module.unreachable();l=f}case 5:{let _=l,f=0;return _.is(262144)&&(f=this.compileExpression(assert(o),assert(_.signature.thisType),33)),this.compileCallDirect(_,e.args,e,f,n)}}let p=this.compileExpression(e.expression,u.auto),c=this.currentType.getSignature();if(c)return this.compileCallIndirect(c,p,e.args,e,0,r==u.void);if(this.error(2349,e.range,this.currentType.toString()),l.kind==10){let _=l.getterPrototype;_&&this.infoRelated(6234,e.range,_.identifierNode.range)}return s.unreachable()}compileCallExpressionLike(e,r,n,s,a,l=0){let o=this._reusableCallExpression;return o?(o.expression=e,o.typeArguments=r,o.args=n,o.range=s):this._reusableCallExpression=o=L.createCallExpression(e,r,n,s),this.compileCallExpression(o,a,l)}compileCallExpressionBuiltin(e,r,n){e.hasDecorator(2048)&&this.checkUnsafe(r);let s=null,a=e.typeParameterNodes,l=r.typeArguments;r.typeArguments&&(e.is(65536)||this.error(2315,r.range,e.internalName),s=this.resolver.resolveTypeArguments(assert(a),l,this.currentFlow,this.currentFlow.sourceFunction.parent,pe(this.currentFlow.contextualTypeArguments),r));let o=r.expression,p=new Cl(this,e,s,r.args,o.kind==21?o.expression:null,n,r,!1),c;return e.is(262144)?c=`${assert(e.getBoundClassOrInterface()).prototype.internalName}#${e.name}`:c=e.internalName,assert(y.has(c)),assert(y.get(c))(p)}checkCallSignature(e,r,n,s){let a=e.thisType;if(n!=(a!=null))return this.error(2685,s.range),!1;let l=e.hasRest;if(l)return this.error(100,s.range,"Rest parameters"),!1;let o=e.requiredParameters,p=e.parameterTypes.length;return rp&&!l?(this.error(2554,s.range,p.toString(),r.toString()),!1):!0}checkUnsafe(e,r=null){this.options.noUnsafe&&!e.range.source.isLibrary&&(r?this.errorRelated(101,e.range,r.range):this.error(101,e.range))}compileCallDirect(e,r,n,s=0,a=0){let l=r.length,o=e.signature;if(!this.checkCallSignature(o,l,s!=0,n))return this.currentType=o.returnType,this.module.unreachable();e.hasDecorator(2048)&&this.checkUnsafe(n);let p=this.currentFlow.sourceFunction;if(p.is(524288)&&n.isAccessOnThis){let g=p.parent;assert(g.kind==7),this.checkFieldInitialization(g,n)}if(e.hasDecorator(64)&&(!e.is(268435456)||n.isAccessOnSuper)){assert(!e.is(134217728));let g=this.inlineStack;if(g.includes(e))this.warning(217,n.range,e.internalName);else{let S=o.parameterTypes;assert(l<=S.length);let T=new Array(l);for(let F=0;F=r.length-s);s=c),!this.compileFunction(e))return a.unreachable();let g=e.signature.returnType;if(l=_),o0,p=!o||r!=u.void,c=new je(p?`${o?s.name.text:"anonymous"}|${l.nextAnonymousId++}`:s.name.text,l,s,0),_,f=pe(a.contextualTypeArguments),d=this.module,g=r.signatureReference;if(g){let E=c.functionTypeNode,F=E.parameters,I=F.length,R=g.parameterTypes,C=R.length;if(I>C)return this.error(2554,e.range,C.toString(),I.toString()),d.unreachable();for(let X=0;X=0);let d=a.isLocalFlag(f,4,!1);if(_.isNullableReference&&d&&(!_.isExternalReference||this.options.hasFeature(1024))?this.currentType=_.nonNullableType:this.currentType=_,!c.declaredByFlow(a))return this.error(100,e.range,"Closures"),s.unreachable();let g=s.local_get(f,_.toRef());return d&&_.isNullableExternalReference&&this.options.hasFeature(1024)&&(g=s.ref_as_nonnull(g)),g}case 0:{let c=p;if(!this.compileGlobalLazy(c,e))return s.unreachable();let _=c.type;if(this.pendingElements.has(c))return this.error(2448,e.range,c.internalName),this.currentType=_,s.unreachable();if(assert(_!=u.void),c.hasDecorator(512))return this.compileIdentifierExpressionBuiltin(c,e,r);if(c.is(33554432))return this.compileInlineConstant(c,r,n);let f=s.global_get(c.internalName,_.toRef());return c.is(16384)&&_.isReference&&!_.isNullableReference&&(f=this.makeRuntimeNonNullCheck(f,_,e)),this.currentType=_,f}case 3:{let c=p;return p.is(8388608)?(this.currentType=u.i32,c.is(33554432)?(assert(c.constantValueKind==1),s.i32(i64_low(c.constantIntegerValue))):s.global_get(c.internalName,P.I32)):(this.error(2651,e.range),this.currentType=u.i32,s.unreachable())}case 4:{let c=p,_=c.typeParameterNodes;if(_&&_.length!=0){this.error(1140,e.range);break}let f=this.resolver.resolveFunction(c,null,pe(a.contextualTypeArguments));if(!f||!this.compileFunction(f))return s.unreachable();if(f.hasDecorator(512))return this.error(100,e.range,"First-class built-ins"),this.currentType=f.type,s.unreachable();if(r.isExternalReference)return this.currentType=u.func,s.ref_func(f.internalName,Pn(f.type));let d=this.ensureRuntimeFunction(f);return this.currentType=f.signature.type,this.options.isWasm64?s.i64(i64_low(d),i64_high(d)):s.i32(i64_low(d))}}return this.error(234,e.range),s.unreachable()}compileIdentifierExpressionBuiltin(e,r,n){e.hasDecorator(2048)&&this.checkUnsafe(r,e.identifierNode);let s=e.internalName;return assert(tt.has(s)),assert(tt.get(s))(new jn(this,e,n,r))}compileInstanceOfExpression(e,r,n){let s=this.currentFlow,a=e.isType;if(a.kind==1){let o=a;if(!(o.isNullable||o.hasTypeArguments)){let p=this.resolver.resolveTypeName(o.name,s,s.sourceFunction,1);if(p&&p.kind==6){let c=p;if(c.is(65536))return this.makeInstanceofClass(e,c)}}}let l=this.resolver.resolveType(e.isType,s,s.sourceFunction,pe(s.contextualTypeArguments));return l?this.makeInstanceofType(e,l):(this.currentType=u.bool,this.module.unreachable())}makeInstanceofType(e,r){let n=this.module,s=this.currentFlow,a=this.compileExpression(e.expression,r),l=this.currentType;if(this.currentType=u.bool,r.isValue)return n.maybeDropCondition(a,n.i32(l==r?1:0));if(l.isValue)return n.maybeDropCondition(a,n.i32(0));let o=l.toRef();if(l.isNullableReference&&!r.isNullableReference){if(l.nonNullableType.isAssignableTo(r))return n.binary(o==P.I64?41:16,a,this.makeZero(l));if(l.nonNullableType.hasSubtypeAssignableTo(r))if(l.isUnmanaged||r.isUnmanaged)this.error(2365,e.range,"instanceof",l.toString(),r.toString());else{this.options.pedantic&&this.pedantic(903,e.range);let c=s.getTempLocal(l).index;return n.if(n.unary(o==P.I64?21:20,n.local_tee(c,a,l.isManaged)),n.i32(0),n.call(this.prepareInstanceOf(r.classReference),[n.local_get(c,o)],P.I32))}}else{if(l.isAssignableTo(r))return n.maybeDropCondition(a,n.i32(1));if(l.hasSubtypeAssignableTo(r))if(l.isUnmanaged||r.isUnmanaged)this.error(2365,e.range,"instanceof",l.toString(),r.toString());else{let c=s.getTempLocal(l).index;return n.if(n.unary(o==P.I64?21:20,n.local_tee(c,a,l.isManaged)),n.i32(0),n.call(this.prepareInstanceOf(r.classReference),[n.local_get(c,o)],P.I32))}}return n.maybeDropCondition(a,n.i32(0))}prepareInstanceOf(e){let r=`~instanceof|${e.internalName}`,n=this.pendingInstanceOf;if(n.has(e))return assert(n.get(e));n.set(e,r);let s=this.module;return s.addFunction(r,this.options.sizeTypeRef,P.I32,null,s.unreachable()),r}finalizeInstanceOf(e,r){let n=this.program,s=this.module,a=this.options.sizeTypeRef,l=new Array;l.push(s.local_set(1,s.load(4,!1,s.binary(a==P.I64?26:1,s.local_get(0,a),s.i32(n.totalOverhead-n.OBJECTInstance.offsetof("rtId"))),P.I32),!1));let o;if(e.isInterface)o=e.implementers;else{o=new Set,o.add(e);let p=e.extenders;if(p)for(let c=Set_values(p),_=0,f=c.length;_0&&R.push(this.ensureStaticString(s[0]));for(let Y=1;Y0&&R.push(this.ensureStaticString(s[Y]));let C=assert(this.resolver.resolveClass(this.program.staticArrayPrototype,[_])),N=this.addStaticBuffer(_,R,C.id);this.program.OBJECTInstance.writeField("gcInfo",3,N.buffer,0);let D=i64_add(N.offset,i64_new(this.program.totalOverhead)),K=assert(C.getMethod("join")),V=assert(C.lookupOverload(2,!0)),O=new Array(2*o+1),X=new Array(o),te=this.currentFlow;for(let Y=0;Y=0),N.push(s.local_set(S.index,s.load(_.byteSize,!1,s.local_get(g.index,C),C,K.memoryOffset),!0));for(let V=0;V",r.toString()),n.unreachable();let a=s.type;if(this.currentType=a.nonNullableType,s.kind==9)return this.error(100,e.range,"Interface hidden classes"),n.unreachable();if(s.is(128))return this.error(2511,e.range),n.unreachable();let l=s.prototype.constructorPrototype;if(l)return this.errorRelated(216,e.range,l.identifierNode.range,a.toString()),n.unreachable();a.isManaged||this.checkUnsafe(e,Et(6,s.decoratorNodes));let p=e.names,c=p.length,_=e.values,f=s.members,d=!1,g=new Array,T=this.currentFlow.getTempLocal(a),E=a.toRef();assert(c==_.length);let F=new Set;if(f)for(let C=Map_keys(f),N=0,D=C.length;N",a.toString()),d=!0;continue}switch(V.kind){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:{g.push(n.store(V.byteSize,n.local_get(T.index,E),this.makeZero(V),V.toRef(),K.memoryOffset));continue}}this.error(2741,e.range,K.name,"",a.toString()),d=!0}}if(d)return n.unreachable();let R=this.ensureConstructor(s,e);return g.unshift(n.local_set(T.index,this.compileInstantiate(R,[],0,e),a.isManaged)),g.push(n.local_get(T.index,E)),this.currentType=a.nonNullableType,n.flatten(g,E)}compileNewExpression(e,r,n){let s=this.module,a=this.currentFlow,l=this.resolver.resolveTypeName(e.typeName,a,a.sourceFunction);if(!l)return s.unreachable();if(l.kind!=6)return this.error(2351,e.typeName.range),this.module.unreachable();if(l.is(128))return this.error(2511,e.typeName.range),this.module.unreachable();let o=l,p=null,c=e.typeArguments,_;if(!c&&(_=r.classReference)&&_.prototype==o&&_.is(65536)?p=this.resolver.resolveClass(o,_.typeArguments,pe(a.contextualTypeArguments)):p=this.resolver.resolveClassInclTypeArguments(o,c,a,a.sourceFunction.parent,pe(a.contextualTypeArguments),e),!p)return s.unreachable();r==u.void&&(n|=8);let f=this.ensureConstructor(p,e);return f.hasDecorator(64)||this.checkFieldInitialization(p,e),this.compileInstantiate(f,e.args,n,e)}ensureConstructor(e,r){let n=e.constructorInstance;if(n){if(n.is(8388608))return n;n.hasDecorator(64)||this.compileFunction(n)}else{let s=e.base,a=pe(e.contextualTypeArguments);if(s){let I=this.ensureConstructor(s,r);this.checkFieldInitialization(s,r),n=new ct(B.constructor,new je(B.constructor,e,I.declaration.clone()),null,Ve.create(this.program,I.signature.parameterTypes,e.type,e.type,I.signature.requiredParameters,I.signature.hasRest),a)}else n=new ct(B.constructor,new je(B.constructor,e,this.program.makeNativeFunctionDeclaration(B.constructor,786432)),null,Ve.create(this.program,[],e.type,e.type),a);n.set(8388608),n.prototype.setResolvedInstance("",n),e.is(1048576)&&n.set(1048576),e.constructorInstance=n;let l=e.members;l||(e.members=l=new Map),l.set("constructor",n.prototype);let o=this.currentFlow,p=n.flow;this.currentFlow=p;let c=n.signature,_=this.module,f=this.options.sizeTypeRef,d=new Array;if(d.push(this.makeConditionalAllocation(e,0)),s){let I=c.parameterTypes,R=I.length,C=new Array(1+R);C[0]=_.local_get(0,f);for(let N=1;N<=R;++N)C[N]=_.local_get(N,I[N-1].toRef());d.push(_.local_set(0,this.makeCallDirect(assert(s.constructorInstance),C,r,!1),s.type.isManaged))}this.makeFieldInitializationInConstructor(e,d),d.push(_.local_get(0,f)),this.currentFlow=o;let g=n.localsByIndex,S=new Array,T=1+c.parameterTypes.length,E=g.length;if(E>T)for(let I=T;Io?c=l[o]:c=r,this.program.checkTypeSupported(a[o],c)||(n=!1)}return this.program.checkTypeSupported(e.returnType,r.returnType)||(n=!1),n}evaluateCondition(e){let r=ie(e);if(r==P.Unreachable)return 0;assert(r==P.I32);let s=this.module.runExpression(e,0);return s?ee(s)?1:2:0}makeZero(e){let r=this.module;switch(e.kind){default:assert(!1);case 0:case 1:case 2:case 3:case 6:case 7:case 8:return r.i32(0);case 5:case 10:if(e.size!=64)return r.i32(0);case 4:case 9:return r.i64(0);case 11:return r.f32(0);case 12:return r.f64(0);case 13:return r.v128(ap);case 15:case 14:case 16:case 17:case 18:case 19:case 21:case 22:case 23:case 24:return e.is(512)?r.ref_null(e.toRef()):(assert(!1),r.unreachable());case 20:return e.is(512)?r.ref_null(e.toRef()):r.i31_new(r.i32(0))}}makeOne(e){let r=this.module;switch(e.kind){default:assert(!1);case 0:case 1:case 2:case 3:case 6:case 7:case 8:return r.i32(1);case 5:case 10:if(e.size!=64)return r.i32(1);case 4:case 9:return r.i64(1);case 11:return r.f32(1);case 12:return r.f64(1);case 20:return r.i31_new(r.i32(1))}}makeNegOne(e){let r=this.module;switch(e.kind){default:assert(!1);case 1:case 2:case 3:case 6:case 7:case 8:return r.i32(-1);case 5:case 10:if(e.size!=64)return r.i32(-1);case 4:case 9:return r.i64(-1,-1);case 11:return r.f32(-1);case 12:return r.f64(-1);case 13:return r.v128(lp);case 20:return r.i31_new(r.i32(-1))}}makeIsTrueish(e,r,n){let s=this.module;switch(r.kind){case 1:case 2:case 6:case 7:e=this.ensureSmallIntegerWrap(e,r);case 0:case 3:case 8:return e;case 4:case 9:return s.binary(41,e,s.i64(0));case 5:case 10:return r.size==64?s.binary(41,e,s.i64(0)):e;case 11:{let a=this.options;return a.shrinkLevelHint>1&&a.hasFeature(4)?s.unary(20,s.unary(20,s.unary(53,s.unary(10,s.unary(8,e))))):s.binary(20,s.binary(1,s.binary(10,s.unary(33,e),s.i32(1)),s.i32(2)),s.i32(4278190078))}case 12:{let a=this.options;return a.shrinkLevelHint>1&&a.hasFeature(4)?s.unary(20,s.unary(20,s.unary(55,s.unary(11,s.unary(9,e))))):s.binary(45,s.binary(26,s.binary(35,s.unary(34,e),s.i64(1)),s.i64(2)),s.i64(4294967294,4292870143))}case 13:return s.unary(67,e);case 15:case 14:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:case 24:return s.unary(20,s.ref_is_null(e));case 25:default:return this.error(1345,n.range,r.toString()),s.i32(0)}}makeToString(e,r,n){let s=this.program.stringInstance.type;if(r==s)return e;let a=r.getClassOrWrapper(this.program);if(a){let l=a.getMethod("toString");if(l){let o=l.signature;if(!this.checkCallSignature(o,0,!0,n))return this.currentType=s,this.module.unreachable();if(!r.isStrictlyAssignableTo(assert(o.thisType)))return this.errorRelated(2685,n.range,l.identifierAndSignatureRange),this.currentType=s,this.module.unreachable();let p=o.returnType;return p.isStrictlyAssignableTo(s)?this.makeCallDirect(l,[e],n):(this.errorRelated(2322,n.range,l.identifierAndSignatureRange,p.toString(),s.toString()),this.currentType=s,this.module.unreachable())}}return this.error(2322,n.range,r.toString(),s.toString()),this.currentType=s,this.module.unreachable()}makeAllocation(e){let r=this.program;assert(e.program==r);let n=this.module,s=this.options;if(this.currentType=e.type,e.hasDecorator(16)){let a=r.allocInstance;return this.compileFunction(a),n.call(a.internalName,[s.isWasm64?n.i64(e.nextMemoryOffset):n.i32(e.nextMemoryOffset)],s.sizeTypeRef)}else{let a=r.newInstance;return this.compileFunction(a),n.call(a.internalName,[s.isWasm64?n.i64(e.nextMemoryOffset):n.i32(e.nextMemoryOffset),n.i32(e.id)],s.sizeTypeRef)}}makeConditionalAllocation(e,r){let n=this.module,a=e.type.toRef();return assert(a==this.options.sizeTypeRef),n.if(n.unary(a==P.I64?21:20,n.local_get(r,a)),n.local_set(r,this.makeAllocation(e),e.type.isManaged))}makeFieldInitializationInConstructor(e,r=[]){let n=e.members;if(!n)return r;let s=this.module,a=this.currentFlow,l=a.isInline,o=l?a.lookupLocal(B.this_).index:0,p=this.options.sizeTypeRef,c=null;for(let _=Map_values(n),f=0,d=_.length;f0){let a=s[0];a.isLiteralKind(2)?(ir=a.value,s.length>=2&&(a=s[1],a.isLiteralKind(2)?(Ur=ir,ir=a.value,s.length>2&&r.error(2554,n.range,"2",s.length.toString())):r.error(1141,a.range))):r.error(1141,a.range)}else r.error(2555,n.range,"1","0")}var Ni=class t extends Fi{constructor(e,r,n=!1){super(e,n);this.sb=[];this.indentLevel=0;this.seenObjectTypes=new Map;this.deferredTypings=new Array;this.esm=r}static build(e,r=!0){return new t(e,r).build()}visitGlobal(e,r){let n=this.sb,s=r.type,a=this.toTypeScriptType(s,1);U(n,this.indentLevel),n.push("/** "),n.push(r.internalName),n.push(` */ -`),U(n,this.indentLevel),n.push("export "),this.esm&&n.push("declare "),n.push("const "),n.push(e),n.push(`: { -`),U(n,++this.indentLevel),n.push("/** @type `"),n.push(s.toString()),n.push("` */\n"),U(n,this.indentLevel),n.push("get value(): "),n.push(a),r.is(8)?n.push(` -`):(n.push(`; -`),U(n,this.indentLevel),n.push("set value(value: "),n.push(a),n.push(`); -`)),U(n,--this.indentLevel),n.push(`}; -`)}visitEnum(e,r){let n=this.sb;U(n,this.indentLevel),n.push("/** "),n.push(r.internalName),n.push(` */ -`),U(n,this.indentLevel++),n.push("export "),this.esm&&n.push("declare "),n.push("enum "),n.push(e),n.push(` { -`);let s=r.members;if(s)for(let a=Map_keys(s),l=0,o=a.length;l=p&&n.push("?"),n.push(": "),n.push(this.toTypeScriptType(a[c],0));n.push("): "),n.push(this.toTypeScriptType(o,1)),n.push(`; -`)}visitClass(e,r){}visitInterface(e,r){}visitNamespace(e,r){}visitAlias(e,r,n){}build(){let e=this.sb;this.esm||(e.push(`declare namespace __AdaptedExports { -`),++this.indentLevel),this.program.options.exportMemory&&(U(e,this.indentLevel),e.push(`/** Exported memory */ -`),U(e,this.indentLevel),e.push(`export ${this.esm?"declare ":""}const memory: WebAssembly.Memory; -`)),this.program.options.exportTable&&(U(e,this.indentLevel),e.push(`/** Exported table */ -`),U(e,this.indentLevel),e.push(`export ${this.esm?"declare ":""}const table: WebAssembly.Table; -`)),this.program.options.exportRuntime&&(U(e,this.indentLevel),e.push(`// Exported runtime interface -`),U(e,this.indentLevel),e.push(`export ${this.esm?"declare ":""}function __new(size: number, id: number): number; -`),U(e,this.indentLevel),e.push(`export ${this.esm?"declare ":""}function __pin(ptr: number): number; -`),U(e,this.indentLevel),e.push(`export ${this.esm?"declare ":""}function __unpin(ptr: number): void; -`),U(e,this.indentLevel),e.push(`export ${this.esm?"declare ":""}function __collect(): void; -`),U(e,this.indentLevel),e.push(`export ${this.esm?"declare ":""}const __rtti_base: number; -`)),this.walk(),this.esm||(--this.indentLevel,e.push(`} -`));let r=this.deferredTypings;for(let n=0,s=r.length;n; -`)}return e.join("")}isPlainObject(e){if(e.base&&!e.prototype.implicitlyExtendsObject)return!1;let r=e.members;if(r)for(let n=Map_values(r),s=0,a=n.length;s")}else if(s.extendsPrototype(this.program.staticArrayPrototype)){let a=s.getArrayValueType();n.push("ArrayLike<"),n.push(this.toTypeScriptType(a,r)),n.push(">")}else if(s.extendsPrototype(this.program.arrayBufferViewInstance.prototype)){let a=s.getArrayValueType();a==u.i8?n.push("Int8Array"):a==u.u8?s.extendsPrototype(this.program.uint8ClampedArrayPrototype)?n.push("Uint8ClampedArray"):n.push("Uint8Array"):a==u.i16?n.push("Int16Array"):a==u.u16?n.push("Uint16Array"):a==u.i32?n.push("Int32Array"):a==u.u32?n.push("Uint32Array"):a==u.i64?n.push("BigInt64Array"):a==u.u64?n.push("BigUint64Array"):a==u.f32?n.push("Float32Array"):a==u.f64?n.push("Float64Array"):n.push("unknown")}else{let a=this.seenObjectTypes,l;if(a.has(s))l=assert(a.get(s)),n.push(l),this.isPlainObject(s)&&n.push(r==1?"":"");else{let o=this.isPlainObject(s);l=`${o?"__Record":"__Internref"}${s.id}`,n.push(l),a.set(s,l),o?(n.push(r==1?"":""),this.deferredTypings.push(this.makeRecordType(s,r))):this.deferredTypings.push(this.makeInternrefType(s))}}return e.is(512)&&n.push(" | null"),n.join("")}else{if(e==u.bool)return"boolean";if(e==u.void)return"void";if(e.isNumericValue)return e.isLongIntegerValue?"bigint":"number"}return"unknown"}makeRecordType(e,r){let n=new Array,s=e.members;if(n.push("/** "),n.push(e.internalName),n.push(` */ -declare interface __Record`),n.push(e.id.toString()),n.push(` { -`),s)for(let a=Map_keys(s),l=0,o=a.length;l")}i.isNullable&&n.push(" | null")}}visitFunctionTypeNode(i){let e=i.isNullable,r=this.sb;r.push(e?"((":"(");let n=i.explicitThisType;n&&(r.push("this: "),this.visitTypeNode(n));let s=i.parameters,a=s.length;if(a){n&&r.push(", "),this.serializeParameter(s[0]);for(let o=1;o "),this.visitTypeNode(l)):r.push(") => void"),e&&r.push(") | null")}visitTypeParameter(i){this.visitIdentifierExpression(i.name);let e=i.extendsType;e&&(this.sb.push(" extends "),this.visitTypeNode(e));let r=i.defaultType;r&&(this.sb.push("="),this.visitTypeNode(r))}visitIdentifierExpression(i){i.isQuoted?this.visitStringLiteral(i.text):this.sb.push(i.text)}visitArrayLiteralExpression(i){let e=this.sb;e.push("[");let r=i.elementExpressions,n=r.length;if(n){let s=r[0];s&&this.visitNode(s);for(let a=1;a"),this.visitNode(i.expression);break}case 1:{this.visitNode(i.expression),e.push(" as "),this.visitTypeNode(assert(i.toType));break}case 2:{this.visitNode(i.expression),e.push("!");break}case 3:{this.visitNode(i.expression),e.push(" as const");break}default:assert(!1)}}visitBinaryExpression(i){let e=this.sb;this.visitNode(i.left),e.push(" "),e.push(Te(i.operator)),e.push(" "),this.visitNode(i.right)}visitCallExpression(i){this.visitNode(i.expression),this.visitArguments(i.typeArguments,i.args)}visitArguments(i,e){let r=this.sb;if(i){let s=i.length;if(s){r.push("<"),this.visitTypeNode(i[0]);for(let a=1;a(")}}else r.push("(");let n=e.length;if(n){this.visitNode(e[0]);for(let s=1;s=0&&(r.charCodeAt(n)==125||r.charCodeAt(n)==59)?e.push(` -`):e.push(`; -`)}}visitBlockStatement(i){let e=this.sb,r=i.statements,n=r.length;if(n){e.push(`{ -`);let s=++this.indentLevel;for(let a=0;a0){n.push("<"),this.visitTypeParameter(s[0]);for(let _=1,f=s.length;_")}let a=i.extendsType;a&&(n.push(" extends "),this.visitTypeNode(a));let l=i.implementsTypes;if(l){let _=l.length;if(_){n.push(" implements "),this.visitTypeNode(l[0]);for(let f=1;f<_;++f)n.push(", "),this.visitTypeNode(l[f])}}let o=i.indexSignature,p=i.members,c=p.length;if(o||c){n.push(` { -`);let _=++this.indentLevel;o&&(U(n,_),this.visitNodeAndTerminate(o));for(let f=0,d=p.length;f0){let s=r.length;e.push(`export { -`);let a=++this.indentLevel;U(e,a),this.visitExportMember(r[0]);for(let l=1;l")}}if(i.arrowKind==2){let l=r.parameters;assert(l.length==1),assert(!r.explicitThisType),this.serializeParameter(l[0])}else{e.push("(");let l=r.parameters,o=l.length,p=r.explicitThisType;if(p&&(e.push("this: "),this.visitTypeNode(p)),o){p&&e.push(", "),this.serializeParameter(l[0]);for(let c=1;c "),this.visitNode(s)):(assert(!Ie(a)),e.push(" => "),this.visitTypeNode(a)):(!Ie(a)&&!i.isAny(528384)?(e.push("): "),this.visitTypeNode(a)):e.push(")"),s&&(e.push(" "),this.visitNode(s)))}visitIfStatement(i){let e=this.sb;e.push("if ("),this.visitNode(i.condition),e.push(") ");let r=i.ifTrue;this.visitNode(r),r.kind!=30&&e.push(`; -`);let n=i.ifFalse;n&&(r.kind==30?e.push(" else "):e.push("else "),this.visitNode(n))}visitImportDeclaration(i){let e=i.foreignName,r=i.name;this.visitIdentifierExpression(e),e.text!=r.text&&(this.sb.push(" as "),this.visitIdentifierExpression(r))}visitImportStatement(i){let e=this.sb;e.push("import ");let r=i.declarations,n=i.namespaceName;if(r){let s=r.length;if(s){e.push(`{ -`);let a=++this.indentLevel;U(e,a),this.visitImportDeclaration(r[0]);for(let l=1;l0){n.push("<"),this.visitTypeParameter(s[0]);for(let p=1,c=s.length;p")}let a=i.extendsType;a&&(n.push(" extends "),this.visitTypeNode(a)),n.push(` { -`);let l=++this.indentLevel,o=i.members;for(let p=0,c=o.length;p")}}r.push(" = "),this.visitTypeNode(i.type)}visitModuleDeclaration(i){let e=this.sb;i.flags&4&&e.push("declare "),e.push('module "'),e.push(ye(i.moduleName,34)),e.push('"')}visitVariableDeclaration(i){this.visitIdentifierExpression(i.name);let e=i.type,r=this.sb;i.flags&16384&&r.push("!"),e&&(r.push(": "),this.visitTypeNode(e));let n=i.initializer;n&&(r.push(" = "),this.visitNode(n))}visitVariableStatement(i){let e=i.decorators;if(e)for(let l=0,o=e.length;l> 24; },\n {\n \"MIN_VALUE\": { value: -128 },\n \"MAX_VALUE\": { value: 127 },\n\n parse(str, radix) { return parseInt(str, radix) << 24 >> 24; }\n }\n );\n\n Object.defineProperties(\n globalScope[\"i16\"] = function i16(value) { return value << 16 >> 16; },\n {\n \"MIN_VALUE\": { value: -32768 },\n \"MAX_VALUE\": { value: 32767 },\n\n parse(str, radix) { return parseInt(str, radix) << 16 >> 16; }\n }\n );\n\n Object.defineProperties(\n globalScope[\"i32\"] = globalScope[\"isize\"] = function i32(value) { return value | 0; },\n {\n \"MIN_VALUE\": { value: -2147483648 },\n \"MAX_VALUE\": { value: 2147483647 },\n\n parse(str, radix) { return parseInt(str, radix) | 0; }\n }\n );\n\n Object.defineProperties(\n globalScope[\"u8\"] = function u8(value) { return value & 0xff; },\n {\n \"MIN_VALUE\": { value: 0 },\n \"MAX_VALUE\": { value: 255 },\n\n parse(str, radix) { return parseInt(str, radix) & 0xff; }\n }\n );\n\n Object.defineProperties(\n globalScope[\"u16\"] = function u16(value) { return value & 0xffff; },\n {\n \"MIN_VALUE\": { value: 0 },\n \"MAX_VALUE\": { value: 65535 },\n\n parse(str, radix) { return parseInt(str, radix) & 0xffff; }\n }\n );\n\n Object.defineProperties(\n globalScope[\"u32\"] = globalScope[\"usize\"] = function u32(value) { return value >>> 0; },\n {\n \"MIN_VALUE\": { value: 0 },\n \"MAX_VALUE\": { value: 4294967295 },\n\n parse(str, radix) { return parseInt(str, radix) >>> 0; }\n }\n );\n\n Object.defineProperties(\n globalScope[\"bool\"] = function bool(value) { return !!value; },\n {\n \"MIN_VALUE\": { value: false },\n \"MAX_VALUE\": { value: true },\n\n parse(str) { return str.trim() === \"true\"; }\n }\n );\n\n Object.defineProperties(\n globalScope[\"f32\"] = function f32(value) { return Math.fround(value); },\n {\n \"EPSILON\": { value: 1.1920928955078125e-07 },\n \"MIN_VALUE\": { value: 1.401298464324817e-45 },\n \"MAX_VALUE\": { value: 3.4028234663852886e+38 },\n \"MIN_NORMAL_VALUE\": { value: 1.1754943508222875e-38 },\n \"MIN_SAFE_INTEGER\": { value: -16777215 },\n \"MAX_SAFE_INTEGER\": { value: 16777215 },\n \"POSITIVE_INFINITY\": { value: Infinity },\n \"NEGATIVE_INFINITY\": { value: -Infinity },\n \"NaN\": { value: NaN },\n\n parse(str) { return Math.fround(parseFloat(str)); }\n }\n );\n\n Object.defineProperties(\n globalScope[\"f64\"] = function f64(value) { return +value; },\n {\n \"EPSILON\": { value: 2.2204460492503131e-016 },\n \"MIN_VALUE\": { value: 5e-324 },\n \"MAX_VALUE\": { value: 1.7976931348623157e+308 },\n \"MIN_NORMAL_VALUE\": { value: 2.2250738585072014e-308 },\n \"MIN_SAFE_INTEGER\": { value: -9007199254740991 },\n \"MAX_SAFE_INTEGER\": { value: 9007199254740991 },\n \"POSITIVE_INFINITY\": { value: Infinity },\n \"NEGATIVE_INFINITY\": { value: -Infinity },\n \"NaN\": { value: NaN },\n\n parse(str) { return parseFloat(str); }\n }\n );\n\n globalScope[\"clz\"] = Math.clz32;\n\n globalScope[\"ctz\"] = function ctz(value) {\n return 32 - Math.clz32(~value & (value - 1));\n };\n\n globalScope[\"popcnt\"] = function popcnt(value) {\n value -= value >>> 1 & 0x55555555;\n value = (value & 0x33333333) + (value >>> 2 & 0x33333333);\n return (((value + (value >>> 4)) & 0x0F0F0F0F) * 0x01010101) >>> 24;\n };\n\n globalScope[\"rotl\"] = function rotl(value, shift) {\n shift &= 31;\n return (value << shift) | (value >>> (32 - shift));\n };\n\n globalScope[\"rotr\"] = function rotr(value, shift) {\n shift &= 31;\n return (value >>> shift) | (value << (32 - shift));\n };\n\n globalScope[\"abs\"] = Math.abs;\n\n globalScope[\"max\"] = Math.max;\n\n globalScope[\"min\"] = Math.min;\n\n globalScope[\"ceil\"] = Math.ceil;\n\n globalScope[\"floor\"] = Math.floor;\n\n globalScope[\"nearest\"] = function nearest(value) {\n const INV_EPS64 = 4503599627370496.0;\n const y = Math.abs(value);\n return y < INV_EPS64\n ? (y + INV_EPS64 - INV_EPS64) * Math.sign(value)\n : value;\n };\n\n globalScope[\"select\"] = function select(ifTrue, ifFalse, condition) {\n return condition ? ifTrue : ifFalse;\n };\n\n globalScope[\"sqrt\"] = Math.sqrt;\n\n globalScope[\"trunc\"] = Math.trunc;\n\n globalScope[\"copysign\"] = function copysign(x, y) {\n return y\n ? Math.abs(x) * Math.sign(y)\n : (F64[0] = y, U64[1] >>> 31 ? -1 : 1); // +0, -0, -NaN, +NaN\n };\n\n globalScope[\"bswap\"] = function bswap(value) {\n let a = value >> 8 & 0x00FF00FF;\n let b = (value & 0x00FF00FF) << 8;\n value = a | b;\n a = value >> 16 & 0x0000FFFF;\n b = (value & 0x0000FFFF) << 16;\n return a | b;\n };\n\n function UnreachableError() {\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, UnreachableError);\n } else {\n this.stack = this.name + \": \" + this.message + \"\\n\" + new Error().stack;\n }\n }\n UnreachableError.prototype = Object.create(Error.prototype);\n UnreachableError.prototype.name = \"UnreachableError\";\n UnreachableError.prototype.message = \"unreachable\";\n\n globalScope[\"unreachable\"] = function unreachable() {\n throw new UnreachableError();\n };\n\n function AssertionError(message) {\n this.message = message || \"assertion failed\";\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, AssertionError);\n } else {\n this.stack = this.name + \": \" + this.message + \"\\n\" + new Error().stack;\n }\n }\n AssertionError.prototype = Object.create(Error.prototype);\n AssertionError.prototype.name = \"AssertionError\";\n\n globalScope[\"assert\"] = function assert(isTrueish, message) {\n if (isTrueish) return isTrueish;\n throw new AssertionError(message);\n };\n\n globalScope[\"changetype\"] = function changetype(value) {\n return value;\n };\n\n String[\"fromCharCodes\"] = function fromCharCodes(arr) {\n const CHUNKSIZE = 1 << 13;\n const len = arr.length;\n if (len <= CHUNKSIZE) {\n return String.fromCharCode.apply(String, arr);\n }\n let index = 0;\n let parts = '';\n while (index < len) {\n parts += String.fromCharCode.apply(\n String,\n arr.slice(index, Math.min(index + CHUNKSIZE, len))\n );\n index += CHUNKSIZE;\n }\n return parts;\n };\n\n String[\"fromCodePoints\"] = function fromCodePoints(arr) {\n const CHUNKSIZE = 1 << 13;\n const len = arr.length;\n if (len <= CHUNKSIZE) {\n return String.fromCodePoint.apply(String, arr);\n }\n let index = 0;\n let parts = '';\n while (index < len) {\n parts += String.fromCodePoint.apply(\n String,\n arr.slice(index, Math.min(index + CHUNKSIZE, len))\n );\n index += CHUNKSIZE;\n }\n return parts;\n };\n\n if (!String.prototype.at) {\n Object.defineProperty(String.prototype, \"at\", {\n value: function at(index) {\n return this.charAt(index >= 0 ? index : index + this.length);\n },\n configurable: true\n });\n }\n\n if (!String.prototype.replaceAll) {\n Object.defineProperty(String.prototype, \"replaceAll\", {\n value: function replaceAll(search, replacment) {\n let res = this.split(search).join(replacment);\n if (!search.length) res = replacment + res + replacment;\n return res;\n },\n configurable: true\n });\n }\n\n function defaultComparator(a, b) {\n if (a == b) {\n if (a != 0) return 0;\n a = 1 / a, b = 1 / b;\n } else {\n let nanA = a != a, nanB = b != b;\n if (nanA | nanB) return nanA - nanB;\n if (a == null) a = String(a);\n if (b == null) b = String(b);\n }\n return a > b ? 1 : -1;\n }\n\n const arraySort = Array.prototype.sort;\n Array.prototype.sort = function sort(comparator) {\n return arraySort.call(this, comparator || defaultComparator);\n };\n\n [ Array,\n Uint8ClampedArray,\n Uint8Array, Int8Array,\n Uint16Array, Int16Array,\n Uint32Array, Int32Array,\n Float32Array, Float64Array\n ].forEach(Ctr => {\n if (!Ctr.prototype.at) {\n Object.defineProperty(Ctr.prototype, \"at\", {\n value: function at(index) {\n return this[index >= 0 ? index : index + this.length];\n },\n configurable: true\n });\n }\n\n if (!Ctr.prototype.findLastIndex) {\n Object.defineProperty(Ctr.prototype, \"findLastIndex\", {\n value: function findLastIndex(fn) {\n for (let i = this.length - 1; i >= 0; --i) {\n if (fn(this[i], i, this)) return i;\n }\n return -1;\n },\n configurable: true\n });\n }\n\n if (Ctr != Array) {\n Object.defineProperty(Ctr, \"wrap\", {\n value: function wrap(buffer, byteOffset, length) {\n return new Ctr(buffer, byteOffset, length);\n },\n configurable: true\n });\n }\n });\n\n globalScope[\"isInteger\"] = Number.isInteger;\n\n globalScope[\"isFloat\"] = function isFloat(arg) {\n return typeof arg === \"number\";\n };\n\n globalScope[\"isNullable\"] = function isNullable(arg) {\n return true;\n };\n\n globalScope[\"isReference\"] = function isReference(arg) {\n return typeof arg === \"object\" || typeof arg === \"string\";\n };\n\n globalScope[\"isFunction\"] = function isFunction(arg) {\n return typeof arg === \"function\";\n };\n\n globalScope[\"isString\"] = function isString(arg) {\n return typeof arg === \"string\" || arg instanceof String;\n };\n\n globalScope[\"isArray\"] = Array.isArray;\n globalScope[\"isArrayLike\"] = function isArrayLike(expr) {\n return expr\n && typeof expr === 'object'\n && typeof expr.length === 'number'\n && expr.length >= 0\n && Math.trunc(expr.length) === expr.length;\n };\n\n globalScope[\"isDefined\"] = function isDefined(expr) {\n return typeof expr !== \"undefined\";\n };\n\n globalScope[\"isConstant\"] = function isConstant(expr) {\n return false;\n };\n\n globalScope[\"unchecked\"] = function unchecked(expr) {\n return expr;\n };\n\n globalScope[\"fmod\"] = function fmod(x, y) {\n return x % y;\n };\n\n globalScope[\"fmodf\"] = function fmodf(x, y) {\n return Math.fround(x % y);\n };\n\n globalScope[\"JSMath\"] = Math;\n\n Object.defineProperties(globalScope[\"JSMath\"], {\n sincos_sin: { value: 0.0, writable: true },\n sincos_cos: { value: 0.0, writable: true },\n signbit: {\n value: function signbit(x) {\n F64[0] = x; return Boolean(U64[1] >>> 31);\n }\n },\n sincos: {\n value: function sincos(x) {\n this.sincos_sin = Math.sin(x);\n this.sincos_cos = Math.cos(x);\n }\n },\n exp2: {\n value: function exp2(x) {\n return Math.pow(2, x);\n }\n }\n });\n\n globalScope[\"unmanaged\"] = function() { /* nop */ };\n\n globalScope[\"trace\"] = function(message, n) {\n if (n) message += Array.prototype.slice.call(arguments, 2, 2 + n);\n console.error(\"trace: \" + message);\n };\n}", "export * from \"binaryen\";\nexport { default } from \"binaryen\";\n", "/**\n * @fileoverview Binaryen glue code for JavaScript.\n * @license Apache-2.0\n */\n\nimport binaryen from \"../../lib/binaryen.js\";\n\nexport const {\n _BinaryenTypeCreate,\n _BinaryenTypeArity,\n _BinaryenTypeExpand,\n _BinaryenTypeGetHeapType,\n _BinaryenTypeFromHeapType,\n _BinaryenTypeIsNullable,\n\n _BinaryenTypeFuncref,\n _BinaryenTypeExternref,\n _BinaryenTypeAnyref,\n _BinaryenTypeEqref,\n _BinaryenTypeI31ref,\n _BinaryenTypeStructref,\n _BinaryenTypeArrayref,\n _BinaryenTypeStringref,\n _BinaryenTypeStringviewWTF8,\n _BinaryenTypeStringviewWTF16,\n _BinaryenTypeStringviewIter,\n _BinaryenTypeNullref,\n _BinaryenTypeNullExternref,\n _BinaryenTypeNullFuncref,\n\n _BinaryenHeapTypeFunc,\n _BinaryenHeapTypeExt,\n _BinaryenHeapTypeAny,\n _BinaryenHeapTypeEq,\n _BinaryenHeapTypeI31,\n _BinaryenHeapTypeStruct,\n _BinaryenHeapTypeArray,\n // _BinaryenHeapTypeExn,\n _BinaryenHeapTypeString,\n _BinaryenHeapTypeStringviewWTF8,\n _BinaryenHeapTypeStringviewWTF16,\n _BinaryenHeapTypeStringviewIter,\n _BinaryenHeapTypeNone,\n _BinaryenHeapTypeNoext,\n _BinaryenHeapTypeNofunc,\n\n _BinaryenHeapTypeIsBasic,\n _BinaryenHeapTypeIsSignature,\n _BinaryenHeapTypeIsStruct,\n _BinaryenHeapTypeIsArray,\n _BinaryenHeapTypeIsBottom,\n _BinaryenHeapTypeGetBottom,\n _BinaryenHeapTypeIsSubType,\n _BinaryenStructTypeGetNumFields,\n _BinaryenStructTypeGetFieldType,\n _BinaryenStructTypeGetFieldPackedType,\n _BinaryenStructTypeIsFieldMutable,\n _BinaryenArrayTypeGetElementType,\n _BinaryenArrayTypeGetElementPackedType,\n _BinaryenArrayTypeIsElementMutable,\n _BinaryenSignatureTypeGetParams,\n _BinaryenSignatureTypeGetResults,\n\n _BinaryenModuleCreate,\n _BinaryenModuleDispose,\n\n _BinaryenSizeofLiteral,\n _BinaryenLiteralInt32,\n _BinaryenLiteralInt64,\n _BinaryenLiteralFloat32,\n _BinaryenLiteralFloat64,\n _BinaryenLiteralVec128,\n _BinaryenLiteralFloat32Bits,\n _BinaryenLiteralFloat64Bits,\n\n _BinaryenExpressionGetId,\n _BinaryenExpressionGetType,\n _BinaryenExpressionSetType,\n _BinaryenExpressionPrint,\n _BinaryenExpressionCopy,\n _BinaryenExpressionFinalize,\n\n _BinaryenBlock,\n _BinaryenBlockGetName,\n _BinaryenBlockSetName,\n _BinaryenBlockGetNumChildren,\n _BinaryenBlockGetChildAt,\n _BinaryenBlockSetChildAt,\n _BinaryenBlockAppendChild,\n _BinaryenBlockInsertChildAt,\n _BinaryenBlockRemoveChildAt,\n\n _BinaryenIf,\n _BinaryenIfGetCondition,\n _BinaryenIfSetCondition,\n _BinaryenIfGetIfTrue,\n _BinaryenIfSetIfTrue,\n _BinaryenIfGetIfFalse,\n _BinaryenIfSetIfFalse,\n\n _BinaryenLoop,\n _BinaryenLoopGetName,\n _BinaryenLoopSetName,\n _BinaryenLoopGetBody,\n _BinaryenLoopSetBody,\n\n _BinaryenBreak,\n _BinaryenBreakGetName,\n _BinaryenBreakSetName,\n _BinaryenBreakGetCondition,\n _BinaryenBreakSetCondition,\n _BinaryenBreakGetValue,\n _BinaryenBreakSetValue,\n\n _BinaryenSwitch,\n _BinaryenSwitchGetNumNames,\n _BinaryenSwitchGetNameAt,\n _BinaryenSwitchSetNameAt,\n _BinaryenSwitchAppendName,\n _BinaryenSwitchInsertNameAt,\n _BinaryenSwitchRemoveNameAt,\n _BinaryenSwitchGetDefaultName,\n _BinaryenSwitchSetDefaultName,\n _BinaryenSwitchGetCondition,\n _BinaryenSwitchSetCondition,\n _BinaryenSwitchGetValue,\n _BinaryenSwitchSetValue,\n\n _BinaryenCall,\n _BinaryenCallGetTarget,\n _BinaryenCallSetTarget,\n _BinaryenCallGetNumOperands,\n _BinaryenCallGetOperandAt,\n _BinaryenCallSetOperandAt,\n _BinaryenCallAppendOperand,\n _BinaryenCallInsertOperandAt,\n _BinaryenCallRemoveOperandAt,\n _BinaryenCallIsReturn,\n _BinaryenCallSetReturn,\n _BinaryenReturnCall,\n\n _BinaryenCallIndirect,\n _BinaryenCallIndirectGetTable,\n _BinaryenCallIndirectSetTable,\n _BinaryenCallIndirectGetTarget,\n _BinaryenCallIndirectSetTarget,\n _BinaryenCallIndirectGetNumOperands,\n _BinaryenCallIndirectGetOperandAt,\n _BinaryenCallIndirectSetOperandAt,\n _BinaryenCallIndirectAppendOperand,\n _BinaryenCallIndirectInsertOperandAt,\n _BinaryenCallIndirectRemoveOperandAt,\n _BinaryenCallIndirectIsReturn,\n _BinaryenCallIndirectSetReturn,\n _BinaryenReturnCallIndirect,\n\n _BinaryenLocalGet,\n _BinaryenLocalGetGetIndex,\n _BinaryenLocalGetSetIndex,\n\n _BinaryenLocalSet,\n _BinaryenLocalSetIsTee,\n _BinaryenLocalSetGetIndex,\n _BinaryenLocalSetSetIndex,\n _BinaryenLocalSetGetValue,\n _BinaryenLocalSetSetValue,\n _BinaryenLocalTee,\n\n _BinaryenGlobalGet,\n _BinaryenGlobalGetGetName,\n _BinaryenGlobalGetSetName,\n\n _BinaryenGlobalSet,\n _BinaryenGlobalSetGetName,\n _BinaryenGlobalSetSetName,\n _BinaryenGlobalSetGetValue,\n _BinaryenGlobalSetSetValue,\n\n _BinaryenMemorySize,\n\n _BinaryenMemoryGrow,\n _BinaryenMemoryGrowGetDelta,\n _BinaryenMemoryGrowSetDelta,\n\n _BinaryenLoad,\n _BinaryenLoadIsAtomic,\n _BinaryenLoadSetAtomic,\n _BinaryenLoadIsSigned,\n _BinaryenLoadSetSigned,\n _BinaryenLoadGetOffset,\n _BinaryenLoadSetOffset,\n _BinaryenLoadGetBytes,\n _BinaryenLoadSetBytes,\n _BinaryenLoadGetAlign,\n _BinaryenLoadSetAlign,\n _BinaryenLoadGetPtr,\n _BinaryenLoadSetPtr,\n _BinaryenAtomicLoad,\n\n _BinaryenStore,\n _BinaryenStoreIsAtomic,\n _BinaryenStoreSetAtomic,\n _BinaryenStoreGetBytes,\n _BinaryenStoreSetBytes,\n _BinaryenStoreGetOffset,\n _BinaryenStoreSetOffset,\n _BinaryenStoreGetAlign,\n _BinaryenStoreSetAlign,\n _BinaryenStoreGetPtr,\n _BinaryenStoreSetPtr,\n _BinaryenStoreGetValue,\n _BinaryenStoreSetValue,\n _BinaryenStoreGetValueType,\n _BinaryenStoreSetValueType,\n _BinaryenAtomicStore,\n\n _BinaryenConst,\n _BinaryenConstGetValueI32,\n _BinaryenConstSetValueI32,\n _BinaryenConstGetValueI64Low,\n _BinaryenConstSetValueI64Low,\n _BinaryenConstGetValueI64High,\n _BinaryenConstSetValueI64High,\n _BinaryenConstGetValueF32,\n _BinaryenConstSetValueF32,\n _BinaryenConstGetValueF64,\n _BinaryenConstSetValueF64,\n _BinaryenConstGetValueV128,\n _BinaryenConstSetValueV128,\n\n _BinaryenUnary,\n _BinaryenUnaryGetOp,\n _BinaryenUnarySetOp,\n _BinaryenUnaryGetValue,\n _BinaryenUnarySetValue,\n\n _BinaryenBinary,\n _BinaryenBinaryGetOp,\n _BinaryenBinarySetOp,\n _BinaryenBinaryGetLeft,\n _BinaryenBinarySetLeft,\n _BinaryenBinaryGetRight,\n _BinaryenBinarySetRight,\n\n _BinaryenSelect,\n _BinaryenSelectGetIfTrue,\n _BinaryenSelectSetIfTrue,\n _BinaryenSelectGetIfFalse,\n _BinaryenSelectSetIfFalse,\n _BinaryenSelectGetCondition,\n _BinaryenSelectSetCondition,\n\n _BinaryenDrop,\n _BinaryenDropGetValue,\n _BinaryenDropSetValue,\n\n _BinaryenReturn,\n _BinaryenReturnGetValue,\n _BinaryenReturnSetValue,\n\n _BinaryenNop,\n\n _BinaryenUnreachable,\n\n _BinaryenAtomicRMW,\n _BinaryenAtomicRMWGetOp,\n _BinaryenAtomicRMWSetOp,\n _BinaryenAtomicRMWGetBytes,\n _BinaryenAtomicRMWSetBytes,\n _BinaryenAtomicRMWGetOffset,\n _BinaryenAtomicRMWSetOffset,\n _BinaryenAtomicRMWGetPtr,\n _BinaryenAtomicRMWSetPtr,\n _BinaryenAtomicRMWGetValue,\n _BinaryenAtomicRMWSetValue,\n\n _BinaryenAtomicCmpxchg,\n _BinaryenAtomicCmpxchgGetBytes,\n _BinaryenAtomicCmpxchgSetBytes,\n _BinaryenAtomicCmpxchgGetOffset,\n _BinaryenAtomicCmpxchgSetOffset,\n _BinaryenAtomicCmpxchgGetPtr,\n _BinaryenAtomicCmpxchgSetPtr,\n _BinaryenAtomicCmpxchgGetExpected,\n _BinaryenAtomicCmpxchgSetExpected,\n _BinaryenAtomicCmpxchgGetReplacement,\n _BinaryenAtomicCmpxchgSetReplacement,\n\n _BinaryenAtomicWait,\n _BinaryenAtomicWaitGetPtr,\n _BinaryenAtomicWaitSetPtr,\n _BinaryenAtomicWaitGetExpected,\n _BinaryenAtomicWaitSetExpected,\n _BinaryenAtomicWaitGetTimeout,\n _BinaryenAtomicWaitSetTimeout,\n _BinaryenAtomicWaitGetExpectedType,\n _BinaryenAtomicWaitSetExpectedType,\n\n _BinaryenAtomicNotify,\n _BinaryenAtomicNotifyGetPtr,\n _BinaryenAtomicNotifySetPtr,\n _BinaryenAtomicNotifyGetNotifyCount,\n _BinaryenAtomicNotifySetNotifyCount,\n\n _BinaryenAtomicFence,\n _BinaryenAtomicFenceGetOrder,\n _BinaryenAtomicFenceSetOrder,\n\n _BinaryenSIMDExtract,\n _BinaryenSIMDExtractGetOp,\n _BinaryenSIMDExtractSetOp,\n _BinaryenSIMDExtractGetVec,\n _BinaryenSIMDExtractSetVec,\n _BinaryenSIMDExtractGetIndex,\n _BinaryenSIMDExtractSetIndex,\n\n _BinaryenSIMDReplace,\n _BinaryenSIMDReplaceGetOp,\n _BinaryenSIMDReplaceSetOp,\n _BinaryenSIMDReplaceGetVec,\n _BinaryenSIMDReplaceSetVec,\n _BinaryenSIMDReplaceGetIndex,\n _BinaryenSIMDReplaceSetIndex,\n _BinaryenSIMDReplaceGetValue,\n _BinaryenSIMDReplaceSetValue,\n\n _BinaryenSIMDShuffle,\n _BinaryenSIMDShuffleGetLeft,\n _BinaryenSIMDShuffleSetLeft,\n _BinaryenSIMDShuffleGetRight,\n _BinaryenSIMDShuffleSetRight,\n _BinaryenSIMDShuffleGetMask,\n _BinaryenSIMDShuffleSetMask,\n\n _BinaryenSIMDTernary,\n _BinaryenSIMDTernaryGetOp,\n _BinaryenSIMDTernarySetOp,\n _BinaryenSIMDTernaryGetA,\n _BinaryenSIMDTernarySetA,\n _BinaryenSIMDTernaryGetB,\n _BinaryenSIMDTernarySetB,\n _BinaryenSIMDTernaryGetC,\n _BinaryenSIMDTernarySetC,\n\n _BinaryenSIMDShift,\n _BinaryenSIMDShiftGetOp,\n _BinaryenSIMDShiftSetOp,\n _BinaryenSIMDShiftGetVec,\n _BinaryenSIMDShiftSetVec,\n _BinaryenSIMDShiftGetShift,\n _BinaryenSIMDShiftSetShift,\n\n _BinaryenSIMDLoad,\n _BinaryenSIMDLoadGetOp,\n _BinaryenSIMDLoadSetOp,\n _BinaryenSIMDLoadGetOffset,\n _BinaryenSIMDLoadSetOffset,\n _BinaryenSIMDLoadGetAlign,\n _BinaryenSIMDLoadSetAlign,\n _BinaryenSIMDLoadGetPtr,\n _BinaryenSIMDLoadSetPtr,\n\n _BinaryenSIMDLoadStoreLane,\n _BinaryenSIMDLoadStoreLaneGetOp,\n _BinaryenSIMDLoadStoreLaneSetOp,\n _BinaryenSIMDLoadStoreLaneGetOffset,\n _BinaryenSIMDLoadStoreLaneSetOffset,\n _BinaryenSIMDLoadStoreLaneGetAlign,\n _BinaryenSIMDLoadStoreLaneSetAlign,\n _BinaryenSIMDLoadStoreLaneGetIndex,\n _BinaryenSIMDLoadStoreLaneSetIndex,\n _BinaryenSIMDLoadStoreLaneGetPtr,\n _BinaryenSIMDLoadStoreLaneSetPtr,\n _BinaryenSIMDLoadStoreLaneGetVec,\n _BinaryenSIMDLoadStoreLaneSetVec,\n _BinaryenSIMDLoadStoreLaneIsStore,\n\n _BinaryenMemoryInit,\n _BinaryenMemoryInitGetSegment,\n _BinaryenMemoryInitSetSegment,\n _BinaryenMemoryInitGetDest,\n _BinaryenMemoryInitSetDest,\n _BinaryenMemoryInitGetOffset,\n _BinaryenMemoryInitSetOffset,\n _BinaryenMemoryInitGetSize,\n _BinaryenMemoryInitSetSize,\n\n _BinaryenDataDrop,\n _BinaryenDataDropGetSegment,\n _BinaryenDataDropSetSegment,\n\n _BinaryenMemoryCopy,\n _BinaryenMemoryCopyGetDest,\n _BinaryenMemoryCopySetDest,\n _BinaryenMemoryCopyGetSource,\n _BinaryenMemoryCopySetSource,\n _BinaryenMemoryCopyGetSize,\n _BinaryenMemoryCopySetSize,\n\n _BinaryenMemoryFill,\n _BinaryenMemoryFillGetDest,\n _BinaryenMemoryFillSetDest,\n _BinaryenMemoryFillGetValue,\n _BinaryenMemoryFillSetValue,\n _BinaryenMemoryFillGetSize,\n _BinaryenMemoryFillSetSize,\n\n _BinaryenRefNull,\n\n _BinaryenRefIsNull,\n _BinaryenRefIsNullGetValue,\n _BinaryenRefIsNullSetValue,\n\n _BinaryenRefAs,\n _BinaryenRefAsGetOp,\n _BinaryenRefAsSetOp,\n _BinaryenRefAsGetValue,\n _BinaryenRefAsSetValue,\n\n _BinaryenRefFunc,\n _BinaryenRefFuncGetFunc,\n _BinaryenRefFuncSetFunc,\n\n _BinaryenRefEq,\n _BinaryenRefEqGetLeft,\n _BinaryenRefEqSetLeft,\n _BinaryenRefEqGetRight,\n _BinaryenRefEqSetRight,\n\n _BinaryenTableGet,\n _BinaryenTableGetGetTable,\n _BinaryenTableGetSetTable,\n _BinaryenTableGetGetIndex,\n _BinaryenTableGetSetIndex,\n\n _BinaryenTableSet,\n _BinaryenTableSetGetTable,\n _BinaryenTableSetSetTable,\n _BinaryenTableSetGetIndex,\n _BinaryenTableSetSetIndex,\n _BinaryenTableSetGetValue,\n _BinaryenTableSetSetValue,\n\n _BinaryenTableSize,\n _BinaryenTableSizeGetTable,\n _BinaryenTableSizeSetTable,\n\n _BinaryenTableGrow,\n _BinaryenTableGrowGetTable,\n _BinaryenTableGrowSetTable,\n _BinaryenTableGrowGetValue,\n _BinaryenTableGrowSetValue,\n _BinaryenTableGrowGetDelta,\n _BinaryenTableGrowSetDelta,\n\n _BinaryenTry,\n _BinaryenTryGetName,\n _BinaryenTrySetName,\n _BinaryenTryGetBody,\n _BinaryenTrySetBody,\n _BinaryenTryGetNumCatchTags,\n _BinaryenTryGetNumCatchBodies,\n _BinaryenTryGetCatchTagAt,\n _BinaryenTrySetCatchTagAt,\n _BinaryenTryAppendCatchTag,\n _BinaryenTryInsertCatchTagAt,\n _BinaryenTryRemoveCatchTagAt,\n _BinaryenTryGetCatchBodyAt,\n _BinaryenTrySetCatchBodyAt,\n _BinaryenTryAppendCatchBody,\n _BinaryenTryInsertCatchBodyAt,\n _BinaryenTryRemoveCatchBodyAt,\n _BinaryenTryHasCatchAll,\n _BinaryenTryGetDelegateTarget,\n _BinaryenTrySetDelegateTarget,\n _BinaryenTryIsDelegate,\n\n _BinaryenThrow,\n _BinaryenThrowGetTag,\n _BinaryenThrowSetTag,\n _BinaryenThrowGetNumOperands,\n _BinaryenThrowGetOperandAt,\n _BinaryenThrowSetOperandAt,\n _BinaryenThrowAppendOperand,\n _BinaryenThrowInsertOperandAt,\n _BinaryenThrowRemoveOperandAt,\n\n _BinaryenRethrow,\n _BinaryenRethrowGetTarget,\n _BinaryenRethrowSetDepth,\n\n _BinaryenTupleMake,\n _BinaryenTupleMakeGetNumOperands,\n _BinaryenTupleMakeGetOperandAt,\n _BinaryenTupleMakeSetOperandAt,\n _BinaryenTupleMakeAppendOperand,\n _BinaryenTupleMakeInsertOperandAt,\n _BinaryenTupleMakeRemoveOperandAt,\n\n _BinaryenTupleExtract,\n _BinaryenTupleExtractGetTuple,\n _BinaryenTupleExtractSetTuple,\n _BinaryenTupleExtractGetIndex,\n _BinaryenTupleExtractSetIndex,\n\n _BinaryenPop,\n\n _BinaryenRefI31,\n _BinaryenRefI31GetValue,\n _BinaryenRefI31SetValue,\n\n _BinaryenI31Get,\n _BinaryenI31GetGetI31,\n _BinaryenI31GetSetI31,\n _BinaryenI31GetIsSigned,\n _BinaryenI31GetSetSigned,\n\n _BinaryenCallRef,\n _BinaryenCallRefGetNumOperands,\n _BinaryenCallRefGetOperandAt,\n _BinaryenCallRefSetOperandAt,\n _BinaryenCallRefAppendOperand,\n _BinaryenCallRefInsertOperandAt,\n _BinaryenCallRefRemoveOperandAt,\n _BinaryenCallRefGetTarget,\n _BinaryenCallRefSetTarget,\n _BinaryenCallRefIsReturn,\n _BinaryenCallRefSetReturn,\n\n _BinaryenRefTest,\n _BinaryenRefTestGetRef,\n _BinaryenRefTestSetRef,\n _BinaryenRefTestGetCastType,\n _BinaryenRefTestSetCastType,\n\n _BinaryenRefCast,\n _BinaryenRefCastGetRef,\n _BinaryenRefCastSetRef,\n\n _BinaryenBrOn,\n _BinaryenBrOnGetOp,\n _BinaryenBrOnSetOp,\n _BinaryenBrOnGetName,\n _BinaryenBrOnSetName,\n _BinaryenBrOnGetRef,\n _BinaryenBrOnSetRef,\n _BinaryenBrOnGetCastType,\n _BinaryenBrOnSetCastType,\n\n _BinaryenStructNew,\n _BinaryenStructNewGetNumOperands,\n _BinaryenStructNewGetOperandAt,\n _BinaryenStructNewSetOperandAt,\n _BinaryenStructNewAppendOperand,\n _BinaryenStructNewInsertOperandAt,\n _BinaryenStructNewRemoveOperandAt,\n\n _BinaryenStructGet,\n _BinaryenStructGetGetIndex,\n _BinaryenStructGetSetIndex,\n _BinaryenStructGetGetRef,\n _BinaryenStructGetSetRef,\n _BinaryenStructGetIsSigned,\n _BinaryenStructGetSetSigned,\n\n _BinaryenStructSet,\n _BinaryenStructSetGetIndex,\n _BinaryenStructSetSetIndex,\n _BinaryenStructSetGetRef,\n _BinaryenStructSetSetRef,\n _BinaryenStructSetGetValue,\n _BinaryenStructSetSetValue,\n\n _BinaryenArrayNew,\n _BinaryenArrayNewGetInit,\n _BinaryenArrayNewSetInit,\n _BinaryenArrayNewGetSize,\n _BinaryenArrayNewSetSize,\n\n _BinaryenArrayNewFixed,\n _BinaryenArrayNewFixedGetNumValues,\n _BinaryenArrayNewFixedGetValueAt,\n _BinaryenArrayNewFixedSetValueAt,\n _BinaryenArrayNewFixedAppendValue,\n _BinaryenArrayNewFixedInsertValueAt,\n _BinaryenArrayNewFixedRemoveValueAt,\n\n _BinaryenArrayGet,\n _BinaryenArrayGetGetRef,\n _BinaryenArrayGetSetRef,\n _BinaryenArrayGetGetIndex,\n _BinaryenArrayGetSetIndex,\n _BinaryenArrayGetIsSigned,\n _BinaryenArrayGetSetSigned,\n\n _BinaryenArraySet,\n _BinaryenArraySetGetRef,\n _BinaryenArraySetSetRef,\n _BinaryenArraySetGetIndex,\n _BinaryenArraySetSetIndex,\n _BinaryenArraySetGetValue,\n _BinaryenArraySetSetValue,\n\n _BinaryenArrayLen,\n _BinaryenArrayLenGetRef,\n _BinaryenArrayLenSetRef,\n\n _BinaryenArrayCopy,\n _BinaryenArrayCopyGetDestRef,\n _BinaryenArrayCopySetDestRef,\n _BinaryenArrayCopyGetDestIndex,\n _BinaryenArrayCopySetDestIndex,\n _BinaryenArrayCopyGetSrcRef,\n _BinaryenArrayCopySetSrcRef,\n _BinaryenArrayCopyGetSrcIndex,\n _BinaryenArrayCopySetSrcIndex,\n _BinaryenArrayCopyGetLength,\n _BinaryenArrayCopySetLength,\n\n _BinaryenStringNew,\n _BinaryenStringNewGetOp,\n _BinaryenStringNewSetOp,\n _BinaryenStringNewGetPtr,\n _BinaryenStringNewSetPtr,\n _BinaryenStringNewGetLength,\n _BinaryenStringNewSetLength,\n _BinaryenStringNewGetStart,\n _BinaryenStringNewSetStart,\n _BinaryenStringNewGetEnd,\n _BinaryenStringNewSetEnd,\n _BinaryenStringNewIsTry,\n _BinaryenStringNewSetTry,\n\n _BinaryenStringConst,\n _BinaryenStringConstGetString,\n _BinaryenStringConstSetString,\n\n _BinaryenStringMeasure,\n _BinaryenStringMeasureGetOp,\n _BinaryenStringMeasureSetOp,\n _BinaryenStringMeasureGetRef,\n _BinaryenStringMeasureSetRef,\n\n _BinaryenStringEncode,\n _BinaryenStringEncodeGetOp,\n _BinaryenStringEncodeSetOp,\n _BinaryenStringEncodeGetRef,\n _BinaryenStringEncodeSetRef,\n _BinaryenStringEncodeGetPtr,\n _BinaryenStringEncodeSetPtr,\n _BinaryenStringEncodeGetStart,\n _BinaryenStringEncodeSetStart,\n\n _BinaryenStringConcat,\n _BinaryenStringConcatGetLeft,\n _BinaryenStringConcatSetLeft,\n _BinaryenStringConcatGetRight,\n _BinaryenStringConcatSetRight,\n\n _BinaryenStringEq,\n _BinaryenStringEqGetOp,\n _BinaryenStringEqSetOp,\n _BinaryenStringEqGetLeft,\n _BinaryenStringEqSetLeft,\n _BinaryenStringEqGetRight,\n _BinaryenStringEqSetRight,\n\n _BinaryenStringAs,\n _BinaryenStringAsGetOp,\n _BinaryenStringAsSetOp,\n _BinaryenStringAsGetRef,\n _BinaryenStringAsSetRef,\n\n _BinaryenStringWTF8Advance,\n _BinaryenStringWTF8AdvanceGetRef,\n _BinaryenStringWTF8AdvanceSetRef,\n _BinaryenStringWTF8AdvanceGetPos,\n _BinaryenStringWTF8AdvanceSetPos,\n _BinaryenStringWTF8AdvanceGetBytes,\n _BinaryenStringWTF8AdvanceSetBytes,\n\n _BinaryenStringWTF16Get,\n _BinaryenStringWTF16GetGetRef,\n _BinaryenStringWTF16GetSetRef,\n _BinaryenStringWTF16GetGetPos,\n _BinaryenStringWTF16GetSetPos,\n\n _BinaryenStringIterNext,\n _BinaryenStringIterNextGetRef,\n _BinaryenStringIterNextSetRef,\n\n _BinaryenStringIterMove,\n _BinaryenStringIterMoveGetOp,\n _BinaryenStringIterMoveSetOp,\n _BinaryenStringIterMoveGetRef,\n _BinaryenStringIterMoveSetRef,\n _BinaryenStringIterMoveGetNum,\n _BinaryenStringIterMoveSetNum,\n\n _BinaryenStringSliceWTF,\n _BinaryenStringSliceWTFGetOp,\n _BinaryenStringSliceWTFSetOp,\n _BinaryenStringSliceWTFGetRef,\n _BinaryenStringSliceWTFSetRef,\n _BinaryenStringSliceWTFGetStart,\n _BinaryenStringSliceWTFSetStart,\n _BinaryenStringSliceWTFGetEnd,\n _BinaryenStringSliceWTFSetEnd,\n\n _BinaryenStringSliceIter,\n _BinaryenStringSliceIterGetRef,\n _BinaryenStringSliceIterSetRef,\n _BinaryenStringSliceIterGetNum,\n _BinaryenStringSliceIterSetNum,\n\n _BinaryenAddFunction,\n _BinaryenGetFunction,\n _BinaryenRemoveFunction,\n _BinaryenGetNumFunctions,\n _BinaryenGetFunctionByIndex,\n\n _BinaryenFunctionGetName,\n _BinaryenFunctionGetParams,\n _BinaryenFunctionGetResults,\n _BinaryenFunctionGetNumVars,\n _BinaryenFunctionGetVar,\n _BinaryenFunctionGetNumLocals,\n _BinaryenFunctionHasLocalName,\n _BinaryenFunctionGetLocalName,\n _BinaryenFunctionSetLocalName,\n _BinaryenFunctionGetBody,\n _BinaryenFunctionSetBody,\n _BinaryenFunctionOptimize,\n _BinaryenFunctionRunPasses,\n _BinaryenFunctionSetDebugLocation,\n\n _BinaryenAddFunctionImport,\n _BinaryenAddTableImport,\n _BinaryenAddMemoryImport,\n _BinaryenAddGlobalImport,\n _BinaryenAddTagImport,\n\n _BinaryenAddFunctionExport,\n _BinaryenAddTableExport,\n _BinaryenAddMemoryExport,\n _BinaryenAddGlobalExport,\n _BinaryenAddTagExport,\n _BinaryenGetExport,\n _BinaryenRemoveExport,\n _BinaryenGetNumExports,\n _BinaryenGetExportByIndex,\n _BinaryenExportGetKind,\n _BinaryenExportGetName,\n _BinaryenExportGetValue,\n\n _BinaryenAddGlobal,\n _BinaryenGetGlobal,\n _BinaryenRemoveGlobal,\n _BinaryenGetNumGlobals,\n _BinaryenGetGlobalByIndex,\n\n _BinaryenGlobalGetName,\n _BinaryenGlobalGetType,\n _BinaryenGlobalIsMutable,\n _BinaryenGlobalGetInitExpr,\n\n _BinaryenAddTag,\n _BinaryenGetTag,\n _BinaryenRemoveTag,\n\n _BinaryenTagGetName,\n _BinaryenTagGetParams,\n _BinaryenTagGetResults,\n\n _BinaryenAddTable,\n _BinaryenRemoveTable,\n _BinaryenGetNumTables,\n _BinaryenGetTable,\n _BinaryenGetTableByIndex,\n\n _BinaryenTableGetName,\n _BinaryenTableSetName,\n _BinaryenTableGetInitial,\n _BinaryenTableSetInitial,\n _BinaryenTableHasMax,\n _BinaryenTableGetMax,\n _BinaryenTableSetMax,\n\n _BinaryenAddActiveElementSegment,\n _BinaryenAddPassiveElementSegment,\n _BinaryenRemoveElementSegment,\n _BinaryenGetNumElementSegments,\n _BinaryenGetElementSegment,\n _BinaryenGetElementSegmentByIndex,\n\n _BinaryenSetMemory,\n _BinaryenGetNumMemorySegments,\n _BinaryenGetMemorySegmentByteOffset,\n _BinaryenGetMemorySegmentByteLength,\n _BinaryenCopyMemorySegmentData,\n\n _BinaryenSetStart,\n\n _BinaryenModuleParse,\n _BinaryenModulePrint,\n _BinaryenModulePrintAsmjs,\n _BinaryenModuleValidate,\n _BinaryenModuleOptimize,\n _BinaryenModuleRunPasses,\n _BinaryenModuleAutoDrop,\n _BinaryenSizeofAllocateAndWriteResult,\n _BinaryenModuleAllocateAndWrite,\n _BinaryenModuleAllocateAndWriteText,\n _BinaryenModuleAllocateAndWriteStackIR,\n _BinaryenModuleRead,\n _BinaryenModuleInterpret,\n _BinaryenModuleAddDebugInfoFileName,\n _BinaryenModuleGetDebugInfoFileName,\n _BinaryenModuleGetFeatures,\n _BinaryenModuleSetFeatures,\n\n _BinaryenAddCustomSection,\n\n _BinaryenExpressionGetSideEffects,\n\n _RelooperCreate,\n _RelooperAddBlock,\n _RelooperAddBranch,\n _RelooperAddBlockWithSwitch,\n _RelooperAddBranchForSwitch,\n _RelooperRenderAndDispose,\n\n _ExpressionRunnerCreate,\n _ExpressionRunnerSetLocalValue,\n _ExpressionRunnerSetGlobalValue,\n _ExpressionRunnerRunAndDispose,\n\n _TypeBuilderCreate,\n _TypeBuilderGrow,\n _TypeBuilderGetSize,\n _TypeBuilderSetSignatureType,\n _TypeBuilderSetStructType,\n _TypeBuilderSetArrayType,\n _TypeBuilderGetTempHeapType,\n _TypeBuilderGetTempTupleType,\n _TypeBuilderGetTempRefType,\n _TypeBuilderSetSubType,\n _TypeBuilderSetOpen,\n _TypeBuilderCreateRecGroup,\n _TypeBuilderBuildAndDispose,\n _BinaryenModuleSetTypeName,\n _BinaryenModuleSetFieldName,\n\n _BinaryenGetOptimizeLevel,\n _BinaryenSetOptimizeLevel,\n _BinaryenGetShrinkLevel,\n _BinaryenSetShrinkLevel,\n _BinaryenGetDebugInfo,\n _BinaryenSetDebugInfo,\n _BinaryenGetLowMemoryUnused,\n _BinaryenSetLowMemoryUnused,\n _BinaryenGetZeroFilledMemory,\n _BinaryenSetZeroFilledMemory,\n _BinaryenGetFastMath,\n _BinaryenSetFastMath,\n _BinaryenGetPassArgument,\n _BinaryenSetPassArgument,\n _BinaryenClearPassArguments,\n _BinaryenGetAlwaysInlineMaxSize,\n _BinaryenSetAlwaysInlineMaxSize,\n _BinaryenGetFlexibleInlineMaxSize,\n _BinaryenSetFlexibleInlineMaxSize,\n _BinaryenGetOneCallerInlineMaxSize,\n _BinaryenSetOneCallerInlineMaxSize,\n _BinaryenGetAllowInliningFunctionsWithLoops,\n _BinaryenSetAllowInliningFunctionsWithLoops,\n\n // Helpers\n\n _malloc,\n _free,\n __i32_store8,\n __i32_store16,\n __i32_store,\n __f32_store,\n __f64_store,\n __i32_load8_s,\n __i32_load8_u,\n __i32_load16_s,\n __i32_load16_u,\n __i32_load,\n __f32_load,\n __f64_load\n\n} = binaryen;\n\nexport default binaryen;\n", "/**\n * @fileoverview Floating point glue code for JavaScript.\n * @license Apache-2.0\n */\n\n/* eslint-disable no-undef */\n\nconst F64 = new Float64Array(1);\nconst F32 = new Float32Array(F64.buffer);\nconst I32 = new Int32Array(F64.buffer);\n\nglobalThis.f32_as_i32 = function f32_as_i32(value) {\n F32[0] = value;\n return I32[0];\n};\n\nglobalThis.i32_as_f32 = function i32_as_f32(value) {\n I32[0] = value;\n return F32[0];\n};\n\nglobalThis.f64_as_i64 = function f64_as_i64(value) {\n F64[0] = value;\n return i64_new(I32[0], I32[1]);\n};\n\nglobalThis.i64_as_f64 = function i64_as_f64(value) {\n I32[0] = i64_low(value);\n I32[1] = i64_high(value);\n return F64[0];\n};\n", "/**\n * @fileoverview 64-bit integer glue code for JavaScript.\n * @license Apache-2.0\n */\n\n/* eslint-disable no-undef */\n\nimport Long from \"long\";\n\nglobalThis.i64_zero = Long.ZERO;\nglobalThis.i64_one = Long.ONE;\nglobalThis.i64_neg_one = Long.fromInt(-1);\nglobalThis.i64_minimum = Long.MIN_VALUE;\nglobalThis.i64_maximum = Long.MAX_VALUE;\n\nglobalThis.i64_is = function i64_is(value) {\n return Long.isLong(value);\n};\n\nglobalThis.i64_new = function i64_new(lo, hi) {\n return Long.fromBits(lo, hi);\n};\n\nglobalThis.i64_low = function i64_low(value) {\n return value.low;\n};\n\nglobalThis.i64_high = function i64_high(value) {\n return value.high;\n};\n\nglobalThis.i64_not = function i64_not(value) {\n return value.not();\n};\n\nglobalThis.i64_neg = function i64_neg(value) {\n return value.neg();\n};\n\nglobalThis.i64_clz = function i64_clz(value) {\n return value.clz();\n};\n\nglobalThis.i64_ctz = function i64_ctz(value) {\n return value.ctz();\n};\n\nglobalThis.i64_add = function i64_add(left, right) {\n return left.add(right);\n};\n\nglobalThis.i64_sub = function i64_sub(left, right) {\n return left.sub(right);\n};\n\nglobalThis.i64_mul = function i64_mul(left, right) {\n return left.mul(right);\n};\n\nglobalThis.i64_pow = function i64_pow(left, right) {\n let rightLo = right.low;\n let rightHi = right.high;\n if (rightHi <= 0) {\n if (rightHi < 0) {\n if (left.eq(globalThis.i64_neg_one)) {\n return rightLo & 1 ? left : Long.ONE;\n }\n return left.eq(Long.ONE) ? left : Long.ZERO;\n }\n if (rightLo == 0) return Long.ONE;\n if (rightLo == 1) return left;\n if (rightLo == 2) return left.mul(left);\n }\n let result = Long.ONE;\n while (rightLo | rightHi) {\n if (rightLo & 1) result = result.mul(left);\n right = right.shru(1);\n left = left.mul(left);\n rightLo = right.low;\n rightHi = right.high;\n }\n return result;\n};\n\nglobalThis.i64_div = function i64_div(left, right) {\n return left.div(right);\n};\n\nglobalThis.i64_div_u = function i64_div_u(left, right) {\n return left.toUnsigned().div(right.toUnsigned()).toSigned();\n};\n\nglobalThis.i64_rem = function i64_rem(left, right) {\n return left.mod(right);\n};\n\nglobalThis.i64_rem_u = function i64_rem_u(left, right) {\n return left.toUnsigned().mod(right.toUnsigned()).toSigned();\n};\n\nglobalThis.i64_and = function i64_and(left, right) {\n return left.and(right);\n};\n\nglobalThis.i64_or = function i64_or(left, right) {\n return left.or(right);\n};\n\nglobalThis.i64_xor = function i64_xor(left, right) {\n return left.xor(right);\n};\n\nglobalThis.i64_shl = function i64_shl(left, right) {\n return left.shl(right);\n};\n\nglobalThis.i64_shr = function i64_shr(left, right) {\n return left.shr(right);\n};\n\nglobalThis.i64_shr_u = function i64_shr_u(left, right) {\n return left.shru(right);\n};\n\nglobalThis.i64_eq = function i64_eq(left, right) {\n return left.eq(right);\n};\n\nglobalThis.i64_ne = function i64_ne(left, right) {\n return left.ne(right);\n};\n\nglobalThis.i64_ge = function i64_ge(left, right) {\n return left.ge(right);\n};\n\nglobalThis.i64_ge_u = function i64_ge_u(left, right) {\n return left.toUnsigned().ge(right.toUnsigned());\n};\n\nglobalThis.i64_gt = function i64_gt(left, right) {\n return left.gt(right);\n};\n\nglobalThis.i64_gt_u = function i64_gt_u(left, right) {\n return left.toUnsigned().gt(right.toUnsigned());\n};\n\nglobalThis.i64_le = function i64_le(left, right) {\n return left.le(right);\n};\n\nglobalThis.i64_le_u = function i64_le_u(left, right) {\n return left.toUnsigned().le(right.toUnsigned());\n};\n\nglobalThis.i64_lt = function i64_lt(left, right) {\n return left.lt(right);\n};\n\nglobalThis.i64_lt_u = function i64_lt_u(left, right) {\n return left.toUnsigned().lt(right.toUnsigned());\n};\n\nglobalThis.i64_align = function i64_align(value, alignment) {\n assert(alignment && (alignment & (alignment - 1)) == 0);\n let mask = Long.fromInt(alignment - 1);\n return value.add(mask).and(mask.not());\n};\n\nglobalThis.i64_signbit = function i64_signbit(value) {\n return Boolean(value.high >>> 31);\n};\n\nglobalThis.i64_is_i8 = function i64_is_i8(value) {\n return value.high === 0 && (value.low >= 0 && value.low <= i8.MAX_VALUE)\n || value.high === -1 && (value.low >= i8.MIN_VALUE && value.low < 0);\n};\n\nglobalThis.i64_is_i16 = function i64_is_i16(value) {\n return value.high === 0 && (value.low >= 0 && value.low <= i16.MAX_VALUE)\n || value.high === -1 && (value.low >= i16.MIN_VALUE && value.low < 0);\n};\n\nglobalThis.i64_is_i32 = function i64_is_i32(value) {\n return (value.high === 0 && value.low >= 0)\n || (value.high === -1 && value.low < 0);\n};\n\nglobalThis.i64_is_u8 = function i64_is_u8(value) {\n return value.high === 0 && (value.low >>> 0) <= u8.MAX_VALUE;\n};\n\nglobalThis.i64_is_u16 = function i64_is_u16(value) {\n return value.high === 0 && (value.low >>> 0) <= u16.MAX_VALUE;\n};\n\nglobalThis.i64_is_u32 = function i64_is_u32(value) {\n return value.high === 0;\n};\n\nglobalThis.i64_is_bool = function i64_is_bool(value) {\n return (value.high | (value.low & ~1)) === 0;\n};\n\nconst minSafeF32 = Long.fromNumber(f32.MIN_SAFE_INTEGER);\nconst maxSafeF32 = Long.fromNumber(f32.MAX_SAFE_INTEGER);\n\nglobalThis.i64_is_f32 = function i64_is_f32(value) {\n return value.gte(minSafeF32) && value.lte(maxSafeF32);\n};\n\nconst minSafeF64 = Long.fromNumber(f64.MIN_SAFE_INTEGER);\nconst maxSafeF64 = Long.fromNumber(f64.MAX_SAFE_INTEGER);\n\nglobalThis.i64_is_f64 = function i64_is_f64(value) {\n return value.gte(minSafeF64) && value.lte(maxSafeF64);\n};\n\nglobalThis.i64_to_f32 = function i64_to_f32(value) {\n return globalThis.Math.fround(value.toNumber());\n};\n\nglobalThis.i64_to_f64 = function i64_to_f64(value) {\n return value.toNumber();\n};\n\nglobalThis.i64_to_string = function i64_to_string(value, unsigned) {\n return unsigned ? value.toUnsigned().toString() : value.toString();\n};\n\nglobalThis.i64_clone = function i64_clone(value) {\n return Long.fromBits(value.low, value.high, value.unsigned);\n};\n", "/**\n * @fileoverview Collections glue code for JavaScript.\n * @license Apache-2.0\n */\n\nglobalThis.Map_keys = function Map_keys(map) {\n return Array.from(map.keys());\n};\n\nglobalThis.Map_values = function Map_values(map) {\n return Array.from(map.values());\n};\n\nglobalThis.Set_values = function Set_values(set) {\n return Array.from(set.values());\n};\n", "// This file is shared with the compiler and must remain portable\n\n/** Indicates specific features to activate. */\nexport const enum Feature {\n /** No additional features. */\n None = 0,\n /** Sign extension operations. */\n SignExtension = 1 << 0, // see: https://github.com/WebAssembly/sign-extension-ops\n /** Mutable global imports and exports. */\n MutableGlobals = 1 << 1, // see: https://github.com/WebAssembly/mutable-global\n /** Non-trapping float to integer operations. */\n NontrappingF2I = 1 << 2, // see: https://github.com/WebAssembly/nontrapping-float-to-int-conversions\n /** Bulk memory operations. */\n BulkMemory = 1 << 3, // see: https://github.com/WebAssembly/bulk-memory-operations\n /** SIMD types and operations. */\n Simd = 1 << 4, // see: https://github.com/WebAssembly/simd\n /** Threading and atomic operations. */\n Threads = 1 << 5, // see: https://github.com/WebAssembly/threads\n /** Exception handling operations. */\n ExceptionHandling = 1 << 6, // see: https://github.com/WebAssembly/exception-handling\n /** Tail call operations. */\n TailCalls = 1 << 7, // see: https://github.com/WebAssembly/tail-call\n /** Reference types. */\n ReferenceTypes = 1 << 8, // see: https://github.com/WebAssembly/reference-types\n /** Multi value types. */\n MultiValue = 1 << 9, // see: https://github.com/WebAssembly/multi-value\n /** Garbage collection. */\n GC = 1 << 10, // see: https://github.com/WebAssembly/gc\n /** Memory64. */\n Memory64 = 1 << 11, // see: https://github.com/WebAssembly/memory64\n /** Relaxed SIMD. */\n RelaxedSimd = 1 << 12, // see: https://github.com/WebAssembly/relaxed-simd\n /** Extended const expressions. */\n ExtendedConst = 1 << 13, // see: https://github.com/WebAssembly/extended-const\n /** Reference typed strings. */\n Stringref = 1 << 14, // see: https://github.com/WebAssembly/stringref\n /** All features. */\n All = (1 << 15) - 1\n}\n\n/** Gets the name of the specified feature one would specify on the command line. */\nexport function featureToString(feature: Feature): string {\n switch (feature) {\n case Feature.SignExtension: return \"sign-extension\";\n case Feature.MutableGlobals: return \"mutable-globals\";\n case Feature.NontrappingF2I: return \"nontrapping-f2i\";\n case Feature.BulkMemory: return \"bulk-memory\";\n case Feature.Simd: return \"simd\";\n case Feature.Threads: return \"threads\";\n case Feature.ExceptionHandling: return \"exception-handling\";\n case Feature.TailCalls: return \"tail-calls\";\n case Feature.ReferenceTypes: return \"reference-types\";\n case Feature.MultiValue: return \"multi-value\";\n case Feature.GC: return \"gc\";\n case Feature.Memory64: return \"memory64\";\n case Feature.RelaxedSimd: return \"relaxed-simd\";\n case Feature.ExtendedConst: return \"extended-const\";\n case Feature.Stringref: return \"stringref\";\n }\n assert(false);\n return \"\";\n}\n", "// This file is shared with the compiler and must remain portable\n\n/** Compilation target. */\nexport enum Target {\n /** Portable. */\n Js = 0,\n /** WebAssembly with 32-bit pointers. */\n Wasm32 = 1,\n /** WebAssembly with 64-bit pointers. Experimental and not supported by any runtime yet. */\n Wasm64 = 2,\n}\n", "// This file is shared with the compiler and must remain portable\n\n/** Runtime types. */\nexport enum Runtime {\n /** Simple bump allocator without GC. */\n Stub = 0,\n /** Stop the world semi-automatic GC. */\n Minimal = 1,\n /** incremental GC. */\n Incremental = 2,\n}\n", "// This file is shared with the compiler and must remain portable\n\n// \u2552\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 Typeinfo interpretation \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2555\n// 3 2 1\n// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 bits\n// \u251C\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2534\u2500\u2524 \u25C4\u2500 __rtti_base\n// \u2502 count \u2502\n// \u255E\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2561 \u2510\n// \u2502 Typeinfo#flags [id=0] \u2502 id < count\n// \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524\n// \u2502 ... \u2502\n\n/** Runtime type information data structure. */\n@unmanaged\nexport class Typeinfo {\n /** Flags describing the shape of this class type. */\n flags: TypeinfoFlags = TypeinfoFlags.NONE;\n}\n\n/** Runtime type information flags. */\nexport const enum TypeinfoFlags {\n /** No specific flags. */\n NONE = 0,\n /** Type is an `ArrayBufferView`. */\n ARRAYBUFFERVIEW = 1 << 0,\n /** Type is an `Array`. */\n ARRAY = 1 << 1,\n /** Type is a `StaticArray`. */\n STATICARRAY = 1 << 2,\n /** Type is a `Set`. */\n SET = 1 << 3,\n /** Type is a `Map`. */\n MAP = 1 << 4,\n /** Type has no outgoing pointers. */\n POINTERFREE = 1 << 5,\n /** Value alignment of 1 byte. */\n VALUE_ALIGN_0 = 1 << 6,\n /** Value alignment of 2 bytes. */\n VALUE_ALIGN_1 = 1 << 7,\n /** Value alignment of 4 bytes. */\n VALUE_ALIGN_2 = 1 << 8,\n /** Value alignment of 8 bytes. */\n VALUE_ALIGN_3 = 1 << 9,\n /** Value alignment of 16 bytes. */\n VALUE_ALIGN_4 = 1 << 10,\n /** Value is a signed type. */\n VALUE_SIGNED = 1 << 11,\n /** Value is a float type. */\n VALUE_FLOAT = 1 << 12,\n /** Value type is nullable. */\n VALUE_NULLABLE = 1 << 13,\n /** Value type is managed. */\n VALUE_MANAGED = 1 << 14,\n /** Key alignment of 1 byte. */\n KEY_ALIGN_0 = 1 << 15,\n /** Key alignment of 2 bytes. */\n KEY_ALIGN_1 = 1 << 16,\n /** Key alignment of 4 bytes. */\n KEY_ALIGN_2 = 1 << 17,\n /** Key alignment of 8 bytes. */\n KEY_ALIGN_3 = 1 << 18,\n /** Key alignment of 16 bytes. */\n KEY_ALIGN_4 = 1 << 19,\n /** Key is a signed type. */\n KEY_SIGNED = 1 << 20,\n /** Key is a float type. */\n KEY_FLOAT = 1 << 21,\n /** Key type is nullable. */\n KEY_NULLABLE = 1 << 22,\n /** Key type is managed. */\n KEY_MANAGED = 1 << 23\n}\n", "/**\n * @fileoverview Common constants used by various parts of the compiler.\n * @license Apache-2.0\n */\n\n/** Indicates traits of a {@link Node} or {@link Element}. */\nexport const enum CommonFlags {\n /** No flags set. */\n None = 0,\n\n // Basic modifiers\n\n /** Has an `import` modifier. */\n Import = 1 << 0,\n /** Has an `export` modifier. */\n Export = 1 << 1,\n /** Has a `declare` modifier. */\n Declare = 1 << 2,\n /** Has a `const` modifier. */\n Const = 1 << 3,\n /** Has a `let` modifier. */\n Let = 1 << 4,\n /** Has a `static` modifier. */\n Static = 1 << 5,\n /** Has a `readonly` modifier. */\n Readonly = 1 << 6,\n /** Has an `abstract` modifier. */\n Abstract = 1 << 7,\n /** Has a `public` modifier. */\n Public = 1 << 8,\n /** Has a `private` modifier. */\n Private = 1 << 9,\n /** Has a `protected` modifier. */\n Protected = 1 << 10,\n /** Has a `get` modifier. */\n Get = 1 << 11,\n /** Has a `set` modifier. */\n Set = 1 << 12,\n /** Has a `override` modifier. */\n Override = 1 << 13,\n\n /** Has a definite assignment assertion `!` as in `x!: i32;`. */\n DefinitelyAssigned = 1 << 14,\n\n // Extended modifiers usually derived from basic modifiers\n\n /** Is ambient, that is either declared or nested in a declared element. */\n Ambient = 1 << 15,\n /** Is generic. */\n Generic = 1 << 16,\n /** Is part of a generic context. */\n GenericContext = 1 << 17,\n /** Is an instance member. */\n Instance = 1 << 18,\n /** Is a constructor. */\n Constructor = 1 << 19,\n /** Is a module export. */\n ModuleExport = 1 << 20,\n /** Is a module import. */\n ModuleImport = 1 << 21,\n\n // Compilation states\n\n /** Is resolved. */\n Resolved = 1 << 22,\n /** Is compiled. */\n Compiled = 1 << 23,\n /** Did error. */\n Errored = 1 << 24,\n /** Has a constant value and is therefore inlined. */\n Inlined = 1 << 25,\n /** Is scoped. */\n Scoped = 1 << 26,\n /** Is a stub. */\n Stub = 1 << 27,\n /** Is an overridden method. */\n Overridden = 1 << 28,\n /** Is (part of) a closure. */\n Closure = 1 << 29,\n\n // Other\n\n /** Is quoted. */\n Quoted = 1 << 30,\n /** Is internally nullable. */\n InternallyNullable = 1 << 31\n}\n\n/** Path delimiter inserted between file system levels. */\nexport const PATH_DELIMITER = \"/\";\n/** Substitution used to indicate the parent directory. */\nexport const PARENT_SUBST = \"..\";\n/** Function name prefix used for getters. */\nexport const GETTER_PREFIX = \"get:\";\n/** Function name prefix used for setters. */\nexport const SETTER_PREFIX = \"set:\";\n/** Delimiter used between class names and instance members. */\nexport const INSTANCE_DELIMITER = \"#\";\n/** Delimiter used between class and namespace names and static members. */\nexport const STATIC_DELIMITER = \".\";\n/** Delimiter used between a function and its inner elements. */\nexport const INNER_DELIMITER = \"~\";\n/** Substitution used to indicate a library directory. */\nexport const LIBRARY_SUBST = \"~lib\";\n/** Library directory prefix. */\nexport const LIBRARY_PREFIX = LIBRARY_SUBST + PATH_DELIMITER;\n/** Path index suffix. */\nexport const INDEX_SUFFIX = PATH_DELIMITER + \"index\";\n/** Stub function delimiter. */\nexport const STUB_DELIMITER = \"@\";\n\n/** Common names. */\nexport namespace CommonNames {\n // special\n export const Empty = \"\";\n // types\n export const i8 = \"i8\";\n export const i16 = \"i16\";\n export const i32 = \"i32\";\n export const i64 = \"i64\";\n export const isize = \"isize\";\n export const u8 = \"u8\";\n export const u16 = \"u16\";\n export const u32 = \"u32\";\n export const u64 = \"u64\";\n export const usize = \"usize\";\n export const bool = \"bool\";\n export const f32 = \"f32\";\n export const f64 = \"f64\";\n export const v128 = \"v128\";\n export const ref_func = \"ref_func\";\n export const ref_extern = \"ref_extern\";\n export const ref_any = \"ref_any\";\n export const ref_eq = \"ref_eq\";\n export const ref_struct = \"ref_struct\";\n export const ref_array = \"ref_array\";\n export const ref_i31 = \"ref_i31\";\n export const ref_string = \"ref_string\";\n export const ref_stringview_wtf8 = \"ref_stringview_wtf8\";\n export const ref_stringview_wtf16 = \"ref_stringview_wtf16\";\n export const ref_stringview_iter = \"ref_stringview_iter\";\n export const i8x16 = \"i8x16\";\n export const u8x16 = \"u8x16\";\n export const i16x8 = \"i16x8\";\n export const u16x8 = \"u16x8\";\n export const i32x4 = \"i32x4\";\n export const u32x4 = \"u32x4\";\n export const i64x2 = \"i64x2\";\n export const u64x2 = \"u64x2\";\n export const f32x4 = \"f32x4\";\n export const f64x2 = \"f64x2\";\n export const void_ = \"void\";\n export const number = \"number\";\n export const boolean = \"boolean\";\n export const string = \"string\";\n export const native = \"native\";\n export const indexof = \"indexof\";\n export const valueof = \"valueof\";\n export const returnof = \"returnof\";\n export const nonnull = \"nonnull\";\n // aliases\n export const null_ = \"null\";\n export const true_ = \"true\";\n export const false_ = \"false\";\n // objects\n export const this_ = \"this\";\n export const super_ = \"super\";\n export const constructor = \"constructor\";\n // constants\n export const ASC_TARGET = \"ASC_TARGET\";\n export const ASC_RUNTIME = \"ASC_RUNTIME\";\n export const ASC_NO_ASSERT = \"ASC_NO_ASSERT\";\n export const ASC_MEMORY_BASE = \"ASC_MEMORY_BASE\";\n export const ASC_TABLE_BASE = \"ASC_TABLE_BASE\";\n export const ASC_OPTIMIZE_LEVEL = \"ASC_OPTIMIZE_LEVEL\";\n export const ASC_SHRINK_LEVEL = \"ASC_SHRINK_LEVEL\";\n export const ASC_LOW_MEMORY_LIMIT = \"ASC_LOW_MEMORY_LIMIT\";\n export const ASC_EXPORT_RUNTIME = \"ASC_EXPORT_RUNTIME\";\n export const ASC_FEATURE_SIGN_EXTENSION = \"ASC_FEATURE_SIGN_EXTENSION\";\n export const ASC_FEATURE_MUTABLE_GLOBALS = \"ASC_FEATURE_MUTABLE_GLOBALS\";\n export const ASC_FEATURE_NONTRAPPING_F2I = \"ASC_FEATURE_NONTRAPPING_F2I\";\n export const ASC_FEATURE_BULK_MEMORY = \"ASC_FEATURE_BULK_MEMORY\";\n export const ASC_FEATURE_SIMD = \"ASC_FEATURE_SIMD\";\n export const ASC_FEATURE_THREADS = \"ASC_FEATURE_THREADS\";\n export const ASC_FEATURE_EXCEPTION_HANDLING = \"ASC_FEATURE_EXCEPTION_HANDLING\";\n export const ASC_FEATURE_TAIL_CALLS = \"ASC_FEATURE_TAIL_CALLS\";\n export const ASC_FEATURE_REFERENCE_TYPES = \"ASC_FEATURE_REFERENCE_TYPES\";\n export const ASC_FEATURE_MULTI_VALUE = \"ASC_FEATURE_MULTI_VALUE\";\n export const ASC_FEATURE_GC = \"ASC_FEATURE_GC\";\n export const ASC_FEATURE_MEMORY64 = \"ASC_FEATURE_MEMORY64\";\n export const ASC_FEATURE_RELAXED_SIMD = \"ASC_FEATURE_RELAXED_SIMD\";\n export const ASC_FEATURE_EXTENDED_CONST = \"ASC_FEATURE_EXTENDED_CONST\";\n export const ASC_FEATURE_STRINGREF = \"ASC_FEATURE_STRINGREF\";\n export const ASC_VERSION_MAJOR = \"ASC_VERSION_MAJOR\";\n export const ASC_VERSION_MINOR = \"ASC_VERSION_MINOR\";\n export const ASC_VERSION_PATCH = \"ASC_VERSION_PATCH\";\n // classes\n export const I8 = \"I8\";\n export const I16 = \"I16\";\n export const I32 = \"I32\";\n export const I64 = \"I64\";\n export const Isize = \"Isize\";\n export const U8 = \"U8\";\n export const U16 = \"U16\";\n export const U32 = \"U32\";\n export const U64 = \"U64\";\n export const Usize = \"Usize\";\n export const Bool = \"Bool\";\n export const F32 = \"F32\";\n export const F64 = \"F64\";\n export const V128 = \"V128\";\n export const RefFunc = \"RefFunc\";\n export const RefExtern = \"RefExtern\";\n export const RefAny = \"RefAny\";\n export const RefEq = \"RefEq\";\n export const RefStruct = \"RefStruct\";\n export const RefArray = \"RefArray\";\n export const RefI31 = \"RefI31\";\n export const RefString = \"RefString\";\n export const String = \"String\";\n export const RegExp = \"RegExp\";\n export const Object = \"Object\";\n export const Array = \"Array\";\n export const StaticArray = \"StaticArray\";\n export const Set = \"Set\";\n export const Map = \"Map\";\n export const Function = \"Function\";\n export const ArrayBufferView = \"ArrayBufferView\";\n export const ArrayBuffer = \"ArrayBuffer\";\n export const Math = \"Math\";\n export const Mathf = \"Mathf\";\n export const NativeMath = \"NativeMath\";\n export const NativeMathf = \"NativeMathf\";\n export const Int8Array = \"Int8Array\";\n export const Int16Array = \"Int16Array\";\n export const Int32Array = \"Int32Array\";\n export const Int64Array = \"Int64Array\";\n export const Uint8Array = \"Uint8Array\";\n export const Uint8ClampedArray = \"Uint8ClampedArray\";\n export const Uint16Array = \"Uint16Array\";\n export const Uint32Array = \"Uint32Array\";\n export const Uint64Array = \"Uint64Array\";\n export const Float32Array = \"Float32Array\";\n export const Float64Array = \"Float64Array\";\n export const TemplateStringsArray = \"TemplateStringsArray\";\n export const Error = \"Error\";\n // runtime\n export const abort = \"abort\";\n export const trace = \"trace\";\n export const seed = \"seed\";\n export const pow = \"pow\";\n export const ipow32 = \"ipow32\";\n export const ipow64 = \"ipow64\";\n export const mod = \"mod\";\n export const alloc = \"__alloc\";\n export const realloc = \"__realloc\";\n export const free = \"__free\";\n export const new_ = \"__new\";\n export const renew = \"__renew\";\n export const link = \"__link\";\n export const collect = \"__collect\";\n export const visit = \"__visit\";\n export const newBuffer = \"__newBuffer\";\n export const newArray = \"__newArray\";\n export const BLOCK = \"~lib/rt/common/BLOCK\";\n export const OBJECT = \"~lib/rt/common/OBJECT\";\n // memory & table\n export const DefaultMemory = \"0\";\n export const DefaultTable = \"0\";\n}\n\n// shared\nexport { Feature, featureToString } from \"../std/assembly/shared/feature\";\nexport { Target } from \"../std/assembly/shared/target\";\nexport { Runtime } from \"../std/assembly/shared/runtime\";\nexport { Typeinfo, TypeinfoFlags } from \"../std/assembly/shared/typeinfo\";\n", "// GENERATED FILE. DO NOT EDIT.\n\n/** Enum of available diagnostic codes. */\nexport enum DiagnosticCode {\n Not_implemented_0 = 100,\n Operation_is_unsafe = 101,\n User_defined_0 = 102,\n Feature_0_is_not_enabled = 103,\n Low_memory_limit_exceeded_by_static_data_0_1 = 104,\n Module_requires_at_least_0_pages_of_initial_memory = 105,\n Module_requires_at_least_0_pages_of_maximum_memory = 106,\n Shared_memory_requires_maximum_memory_to_be_defined = 107,\n Shared_memory_requires_feature_threads_to_be_enabled = 108,\n Transform_0_1 = 109,\n Start_function_name_0_is_invalid_or_conflicts_with_another_export = 110,\n Element_0_not_found = 111,\n Exchange_of_0_values_is_not_supported_by_all_embeddings = 112,\n Conversion_from_type_0_to_1_requires_an_explicit_cast = 200,\n Conversion_from_type_0_to_1_will_require_an_explicit_cast_when_switching_between_32_64_bit = 201,\n Type_0_cannot_be_changed_to_type_1 = 202,\n Operation_0_cannot_be_applied_to_type_1 = 203,\n Type_0_cannot_be_nullable = 204,\n Mutable_value_cannot_be_inlined = 206,\n Unmanaged_classes_cannot_extend_managed_classes_and_vice_versa = 207,\n Unmanaged_classes_cannot_implement_interfaces = 208,\n Invalid_regular_expression_flags = 209,\n Expression_is_never_null = 210,\n Class_0_is_final_and_cannot_be_extended = 211,\n Decorator_0_is_not_valid_here = 212,\n Duplicate_decorator = 213,\n Type_0_is_illegal_in_this_context = 214,\n Optional_parameter_must_have_an_initializer = 215,\n Class_0_cannot_declare_a_constructor_when_instantiated_from_an_object_literal = 216,\n Function_0_cannot_be_inlined_into_itself = 217,\n Cannot_access_method_0_without_calling_it_as_it_requires_this_to_be_set = 218,\n Optional_properties_are_not_supported = 219,\n Expression_must_be_a_compile_time_constant = 220,\n Type_0_is_not_a_function_index_or_function_reference = 221,\n _0_must_be_a_value_between_1_and_2_inclusive = 222,\n _0_must_be_a_power_of_two = 223,\n _0_is_not_a_valid_operator = 224,\n Expression_cannot_be_represented_by_a_type = 225,\n Expression_resolves_to_unusual_type_0 = 226,\n Array_literal_expected = 227,\n Function_0_is_virtual_and_will_not_be_inlined = 228,\n Property_0_only_has_a_setter_and_is_missing_a_getter = 229,\n _0_keyword_cannot_be_used_here = 230,\n A_class_with_a_constructor_explicitly_returning_something_else_than_this_must_be_final = 231,\n Property_0_is_always_assigned_before_being_used = 233,\n Expression_does_not_compile_to_a_value_at_runtime = 234,\n Only_variables_functions_and_enums_become_WebAssembly_module_exports = 235,\n Literal_0_does_not_fit_into_i64_or_u64_types = 236,\n Index_signature_accessors_in_type_0_differ_in_types = 237,\n Initializer_definitive_assignment_or_nullable_type_expected = 238,\n Definitive_assignment_has_no_effect_on_local_variables = 239,\n Importing_the_table_disables_some_indirect_call_optimizations = 901,\n Exporting_the_table_disables_some_indirect_call_optimizations = 902,\n Expression_compiles_to_a_dynamic_check_at_runtime = 903,\n Indexed_access_may_involve_bounds_checking = 904,\n Explicitly_returning_constructor_drops_this_allocation = 905,\n Unnecessary_definite_assignment = 906,\n _NaN_does_not_compare_equal_to_any_other_value_including_itself_Use_isNaN_x_instead = 907,\n Comparison_with_0_0_is_sign_insensitive_Use_Object_is_x_0_0_if_the_sign_matters = 908,\n Unterminated_string_literal = 1002,\n Identifier_expected = 1003,\n _0_expected = 1005,\n A_file_cannot_have_a_reference_to_itself = 1006,\n Trailing_comma_not_allowed = 1009,\n Unexpected_token = 1012,\n A_rest_parameter_must_be_last_in_a_parameter_list = 1014,\n Parameter_cannot_have_question_mark_and_initializer = 1015,\n A_required_parameter_cannot_follow_an_optional_parameter = 1016,\n _0_modifier_cannot_appear_on_class_elements_of_this_kind = 1031,\n Statements_are_not_allowed_in_ambient_contexts = 1036,\n Initializers_are_not_allowed_in_ambient_contexts = 1039,\n _0_modifier_cannot_be_used_here = 1042,\n A_rest_parameter_cannot_be_optional = 1047,\n A_rest_parameter_cannot_have_an_initializer = 1048,\n A_set_accessor_must_have_exactly_one_parameter = 1049,\n A_set_accessor_parameter_cannot_have_an_initializer = 1052,\n A_get_accessor_cannot_have_parameters = 1054,\n Enum_member_must_have_initializer = 1061,\n Type_parameters_cannot_appear_on_a_constructor_declaration = 1092,\n Type_annotation_cannot_appear_on_a_constructor_declaration = 1093,\n An_accessor_cannot_have_type_parameters = 1094,\n A_set_accessor_cannot_have_a_return_type_annotation = 1095,\n Type_parameter_list_cannot_be_empty = 1098,\n Type_argument_list_cannot_be_empty = 1099,\n A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement = 1104,\n A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement = 1105,\n A_return_statement_can_only_be_used_within_a_function_body = 1108,\n Expression_expected = 1109,\n Type_expected = 1110,\n A_default_clause_cannot_appear_more_than_once_in_a_switch_statement = 1113,\n Duplicate_label_0 = 1114,\n An_export_assignment_cannot_have_modifiers = 1120,\n Octal_literals_are_not_allowed_in_strict_mode = 1121,\n Digit_expected = 1124,\n Hexadecimal_digit_expected = 1125,\n Unexpected_end_of_text = 1126,\n Invalid_character = 1127,\n _case_or_default_expected = 1130,\n _super_must_be_followed_by_an_argument_list_or_member_access = 1034,\n A_declare_modifier_cannot_be_used_in_an_already_ambient_context = 1038,\n Type_argument_expected = 1140,\n String_literal_expected = 1141,\n Line_break_not_permitted_here = 1142,\n Declaration_expected = 1146,\n _const_declarations_must_be_initialized = 1155,\n Unterminated_regular_expression_literal = 1161,\n Declarations_with_initializers_cannot_also_have_definite_assignment_assertions = 1263,\n Interface_declaration_cannot_have_implements_clause = 1176,\n Binary_digit_expected = 1177,\n Octal_digit_expected = 1178,\n An_implementation_cannot_be_declared_in_ambient_contexts = 1183,\n The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer = 1190,\n An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive = 1198,\n Unterminated_Unicode_escape_sequence = 1199,\n Decorators_are_not_valid_here = 1206,\n _abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration = 1242,\n Method_0_cannot_have_an_implementation_because_it_is_marked_abstract = 1245,\n An_interface_property_cannot_have_an_initializer = 1246,\n A_definite_assignment_assertion_is_not_permitted_in_this_context = 1255,\n A_class_may_only_extend_another_class = 1311,\n A_parameter_property_cannot_be_declared_using_a_rest_parameter = 1317,\n A_default_export_can_only_be_used_in_a_module = 1319,\n An_expression_of_type_0_cannot_be_tested_for_truthiness = 1345,\n An_identifier_or_keyword_cannot_immediately_follow_a_numeric_literal = 1351,\n Duplicate_identifier_0 = 2300,\n Cannot_find_name_0 = 2304,\n Module_0_has_no_exported_member_1 = 2305,\n An_interface_can_only_extend_an_interface = 2312,\n Generic_type_0_requires_1_type_argument_s = 2314,\n Type_0_is_not_generic = 2315,\n Type_0_is_not_assignable_to_type_1 = 2322,\n Property_0_is_private_in_type_1_but_not_in_type_2 = 2325,\n Index_signature_is_missing_in_type_0 = 2329,\n _this_cannot_be_referenced_in_current_location = 2332,\n _this_cannot_be_referenced_in_constructor_arguments = 2333,\n _super_can_only_be_referenced_in_a_derived_class = 2335,\n _super_cannot_be_referenced_in_constructor_arguments = 2336,\n Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors = 2337,\n Property_0_does_not_exist_on_type_1 = 2339,\n Property_0_is_private_and_only_accessible_within_class_1 = 2341,\n Cannot_invoke_an_expression_whose_type_lacks_a_call_signature_Type_0_has_no_compatible_call_signatures = 2349,\n This_expression_is_not_constructable = 2351,\n A_function_whose_declared_type_is_not_void_must_return_a_value = 2355,\n The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access = 2357,\n The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access = 2364,\n Operator_0_cannot_be_applied_to_types_1_and_2 = 2365,\n A_super_call_must_be_the_first_statement_in_the_constructor = 2376,\n Constructors_for_derived_classes_must_contain_a_super_call = 2377,\n _get_and_set_accessor_must_have_the_same_type = 2380,\n Overload_signatures_must_all_be_public_private_or_protected = 2385,\n Constructor_implementation_is_missing = 2390,\n Function_implementation_is_missing_or_not_immediately_following_the_declaration = 2391,\n Multiple_constructor_implementations_are_not_allowed = 2392,\n Duplicate_function_implementation = 2393,\n This_overload_signature_is_not_compatible_with_its_implementation_signature = 2394,\n Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local = 2395,\n Property_0_in_type_1_is_not_assignable_to_the_same_property_in_base_type_2 = 2416,\n A_class_can_only_implement_an_interface = 2422,\n A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged = 2434,\n Types_have_separate_declarations_of_a_private_property_0 = 2442,\n Property_0_is_protected_in_type_1_but_public_in_type_2 = 2444,\n Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses = 2445,\n Variable_0_used_before_its_declaration = 2448,\n Cannot_redeclare_block_scoped_variable_0 = 2451,\n The_type_argument_for_type_parameter_0_cannot_be_inferred_from_the_usage_Consider_specifying_the_type_arguments_explicitly = 2453,\n Variable_0_is_used_before_being_assigned = 2454,\n Type_alias_0_circularly_references_itself = 2456,\n Type_0_has_no_property_1 = 2460,\n The_0_operator_cannot_be_applied_to_type_1 = 2469,\n In_const_enum_declarations_member_initializer_must_be_constant_expression = 2474,\n Export_declaration_conflicts_with_exported_declaration_of_0 = 2484,\n _0_is_referenced_directly_or_indirectly_in_its_own_base_expression = 2506,\n Cannot_create_an_instance_of_an_abstract_class = 2511,\n Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_2 = 2515,\n Object_is_possibly_null = 2531,\n Cannot_assign_to_0_because_it_is_a_constant_or_a_read_only_property = 2540,\n The_target_of_an_assignment_must_be_a_variable_or_a_property_access = 2541,\n Index_signature_in_type_0_only_permits_reading = 2542,\n Expected_0_arguments_but_got_1 = 2554,\n Expected_at_least_0_arguments_but_got_1 = 2555,\n Expected_0_type_arguments_but_got_1 = 2558,\n Property_0_has_no_initializer_and_is_not_assigned_in_the_constructor_before_this_is_used_or_returned = 2564,\n Property_0_is_used_before_being_assigned = 2565,\n _0_is_defined_as_an_accessor_in_class_1_but_is_overridden_here_in_2_as_an_instance_property = 2610,\n _0_is_defined_as_a_property_in_class_1_but_is_overridden_here_in_2_as_an_accessor = 2611,\n A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_members_defined_in_other_enums = 2651,\n Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration = 2673,\n Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration = 2674,\n Cannot_extend_a_class_0_Class_constructor_is_marked_as_private = 2675,\n The_this_types_of_each_signature_are_incompatible = 2685,\n Namespace_0_has_no_exported_member_1 = 2694,\n Namespace_can_only_have_declarations = 2695,\n Required_type_parameters_may_not_follow_optional_type_parameters = 2706,\n Duplicate_property_0 = 2718,\n Property_0_is_missing_in_type_1_but_required_in_type_2 = 2741,\n Type_0_has_no_call_signatures = 2757,\n Get_accessor_0_must_be_at_least_as_accessible_as_the_setter = 2808,\n This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0 = 4117,\n File_0_not_found = 6054,\n Numeric_separators_are_not_allowed_here = 6188,\n Multiple_consecutive_numeric_separators_are_not_permitted = 6189,\n This_expression_is_not_callable_because_it_is_a_get_accessor_Did_you_mean_to_use_it_without = 6234,\n _super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class = 17009,\n _super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class = 17011\n}\n\n/** Translates a diagnostic code to its respective string. */\nexport function diagnosticCodeToString(code: DiagnosticCode): string {\n switch (code) {\n case 100: return \"Not implemented: {0}\";\n case 101: return \"Operation is unsafe.\";\n case 102: return \"User-defined: {0}\";\n case 103: return \"Feature '{0}' is not enabled.\";\n case 104: return \"Low memory limit exceeded by static data: {0} > {1}\";\n case 105: return \"Module requires at least '{0}' pages of initial memory.\";\n case 106: return \"Module requires at least '{0}' pages of maximum memory.\";\n case 107: return \"Shared memory requires maximum memory to be defined.\";\n case 108: return \"Shared memory requires feature 'threads' to be enabled.\";\n case 109: return \"Transform '{0}': {1}\";\n case 110: return \"Start function name '{0}' is invalid or conflicts with another export.\";\n case 111: return \"Element '{0}' not found.\";\n case 112: return \"Exchange of '{0}' values is not supported by all embeddings\";\n case 200: return \"Conversion from type '{0}' to '{1}' requires an explicit cast.\";\n case 201: return \"Conversion from type '{0}' to '{1}' will require an explicit cast when switching between 32/64-bit.\";\n case 202: return \"Type '{0}' cannot be changed to type '{1}'.\";\n case 203: return \"Operation '{0}' cannot be applied to type '{1}'.\";\n case 204: return \"Type '{0}' cannot be nullable.\";\n case 206: return \"Mutable value cannot be inlined.\";\n case 207: return \"Unmanaged classes cannot extend managed classes and vice-versa.\";\n case 208: return \"Unmanaged classes cannot implement interfaces.\";\n case 209: return \"Invalid regular expression flags.\";\n case 210: return \"Expression is never 'null'.\";\n case 211: return \"Class '{0}' is final and cannot be extended.\";\n case 212: return \"Decorator '{0}' is not valid here.\";\n case 213: return \"Duplicate decorator.\";\n case 214: return \"Type '{0}' is illegal in this context.\";\n case 215: return \"Optional parameter must have an initializer.\";\n case 216: return \"Class '{0}' cannot declare a constructor when instantiated from an object literal.\";\n case 217: return \"Function '{0}' cannot be inlined into itself.\";\n case 218: return \"Cannot access method '{0}' without calling it as it requires 'this' to be set.\";\n case 219: return \"Optional properties are not supported.\";\n case 220: return \"Expression must be a compile-time constant.\";\n case 221: return \"Type '{0}' is not a function index or function reference.\";\n case 222: return \"'{0}' must be a value between '{1}' and '{2}' inclusive.\";\n case 223: return \"'{0}' must be a power of two.\";\n case 224: return \"'{0}' is not a valid operator.\";\n case 225: return \"Expression cannot be represented by a type.\";\n case 226: return \"Expression resolves to unusual type '{0}'.\";\n case 227: return \"Array literal expected.\";\n case 228: return \"Function '{0}' is virtual and will not be inlined.\";\n case 229: return \"Property '{0}' only has a setter and is missing a getter.\";\n case 230: return \"'{0}' keyword cannot be used here.\";\n case 231: return \"A class with a constructor explicitly returning something else than 'this' must be '@final'.\";\n case 233: return \"Property '{0}' is always assigned before being used.\";\n case 234: return \"Expression does not compile to a value at runtime.\";\n case 235: return \"Only variables, functions and enums become WebAssembly module exports.\";\n case 236: return \"Literal '{0}' does not fit into 'i64' or 'u64' types.\";\n case 237: return \"Index signature accessors in type '{0}' differ in types.\";\n case 238: return \"Initializer, definitive assignment or nullable type expected.\";\n case 239: return \"Definitive assignment has no effect on local variables.\";\n case 901: return \"Importing the table disables some indirect call optimizations.\";\n case 902: return \"Exporting the table disables some indirect call optimizations.\";\n case 903: return \"Expression compiles to a dynamic check at runtime.\";\n case 904: return \"Indexed access may involve bounds checking.\";\n case 905: return \"Explicitly returning constructor drops 'this' allocation.\";\n case 906: return \"Unnecessary definite assignment.\";\n case 907: return \"'NaN' does not compare equal to any other value including itself. Use isNaN(x) instead.\";\n case 908: return \"Comparison with -0.0 is sign insensitive. Use Object.is(x, -0.0) if the sign matters.\";\n case 1002: return \"Unterminated string literal.\";\n case 1003: return \"Identifier expected.\";\n case 1005: return \"'{0}' expected.\";\n case 1006: return \"A file cannot have a reference to itself.\";\n case 1009: return \"Trailing comma not allowed.\";\n case 1012: return \"Unexpected token.\";\n case 1014: return \"A rest parameter must be last in a parameter list.\";\n case 1015: return \"Parameter cannot have question mark and initializer.\";\n case 1016: return \"A required parameter cannot follow an optional parameter.\";\n case 1031: return \"'{0}' modifier cannot appear on class elements of this kind.\";\n case 1036: return \"Statements are not allowed in ambient contexts.\";\n case 1039: return \"Initializers are not allowed in ambient contexts.\";\n case 1042: return \"'{0}' modifier cannot be used here.\";\n case 1047: return \"A rest parameter cannot be optional.\";\n case 1048: return \"A rest parameter cannot have an initializer.\";\n case 1049: return \"A 'set' accessor must have exactly one parameter.\";\n case 1052: return \"A 'set' accessor parameter cannot have an initializer.\";\n case 1054: return \"A 'get' accessor cannot have parameters.\";\n case 1061: return \"Enum member must have initializer.\";\n case 1092: return \"Type parameters cannot appear on a constructor declaration.\";\n case 1093: return \"Type annotation cannot appear on a constructor declaration.\";\n case 1094: return \"An accessor cannot have type parameters.\";\n case 1095: return \"A 'set' accessor cannot have a return type annotation.\";\n case 1098: return \"Type parameter list cannot be empty.\";\n case 1099: return \"Type argument list cannot be empty.\";\n case 1104: return \"A 'continue' statement can only be used within an enclosing iteration statement.\";\n case 1105: return \"A 'break' statement can only be used within an enclosing iteration or switch statement.\";\n case 1108: return \"A 'return' statement can only be used within a function body.\";\n case 1109: return \"Expression expected.\";\n case 1110: return \"Type expected.\";\n case 1113: return \"A 'default' clause cannot appear more than once in a 'switch' statement.\";\n case 1114: return \"Duplicate label '{0}'.\";\n case 1120: return \"An export assignment cannot have modifiers.\";\n case 1121: return \"Octal literals are not allowed in strict mode.\";\n case 1124: return \"Digit expected.\";\n case 1125: return \"Hexadecimal digit expected.\";\n case 1126: return \"Unexpected end of text.\";\n case 1127: return \"Invalid character.\";\n case 1130: return \"'case' or 'default' expected.\";\n case 1034: return \"'super' must be followed by an argument list or member access.\";\n case 1038: return \"A 'declare' modifier cannot be used in an already ambient context.\";\n case 1140: return \"Type argument expected.\";\n case 1141: return \"String literal expected.\";\n case 1142: return \"Line break not permitted here.\";\n case 1146: return \"Declaration expected.\";\n case 1155: return \"'const' declarations must be initialized.\";\n case 1161: return \"Unterminated regular expression literal.\";\n case 1263: return \"Declarations with initializers cannot also have definite assignment assertions.\";\n case 1176: return \"Interface declaration cannot have 'implements' clause.\";\n case 1177: return \"Binary digit expected.\";\n case 1178: return \"Octal digit expected.\";\n case 1183: return \"An implementation cannot be declared in ambient contexts.\";\n case 1190: return \"The variable declaration of a 'for...of' statement cannot have an initializer.\";\n case 1198: return \"An extended Unicode escape value must be between 0x0 and 0x10FFFF inclusive.\";\n case 1199: return \"Unterminated Unicode escape sequence.\";\n case 1206: return \"Decorators are not valid here.\";\n case 1242: return \"'abstract' modifier can only appear on a class, method, or property declaration.\";\n case 1245: return \"Method '{0}' cannot have an implementation because it is marked abstract.\";\n case 1246: return \"An interface property cannot have an initializer.\";\n case 1255: return \"A definite assignment assertion '!' is not permitted in this context.\";\n case 1311: return \"A class may only extend another class.\";\n case 1317: return \"A parameter property cannot be declared using a rest parameter.\";\n case 1319: return \"A default export can only be used in a module.\";\n case 1345: return \"An expression of type '{0}' cannot be tested for truthiness.\";\n case 1351: return \"An identifier or keyword cannot immediately follow a numeric literal.\";\n case 2300: return \"Duplicate identifier '{0}'.\";\n case 2304: return \"Cannot find name '{0}'.\";\n case 2305: return \"Module '{0}' has no exported member '{1}'.\";\n case 2312: return \"An interface can only extend an interface.\";\n case 2314: return \"Generic type '{0}' requires {1} type argument(s).\";\n case 2315: return \"Type '{0}' is not generic.\";\n case 2322: return \"Type '{0}' is not assignable to type '{1}'.\";\n case 2325: return \"Property '{0}' is private in type '{1}' but not in type '{2}'.\";\n case 2329: return \"Index signature is missing in type '{0}'.\";\n case 2332: return \"'this' cannot be referenced in current location.\";\n case 2333: return \"'this' cannot be referenced in constructor arguments.\";\n case 2335: return \"'super' can only be referenced in a derived class.\";\n case 2336: return \"'super' cannot be referenced in constructor arguments.\";\n case 2337: return \"Super calls are not permitted outside constructors or in nested functions inside constructors.\";\n case 2339: return \"Property '{0}' does not exist on type '{1}'.\";\n case 2341: return \"Property '{0}' is private and only accessible within class '{1}'.\";\n case 2349: return \"Cannot invoke an expression whose type lacks a call signature. Type '{0}' has no compatible call signatures.\";\n case 2351: return \"This expression is not constructable.\";\n case 2355: return \"A function whose declared type is not 'void' must return a value.\";\n case 2357: return \"The operand of an increment or decrement operator must be a variable or a property access.\";\n case 2364: return \"The left-hand side of an assignment expression must be a variable or a property access.\";\n case 2365: return \"Operator '{0}' cannot be applied to types '{1}' and '{2}'.\";\n case 2376: return \"A 'super' call must be the first statement in the constructor.\";\n case 2377: return \"Constructors for derived classes must contain a 'super' call.\";\n case 2380: return \"'get' and 'set' accessor must have the same type.\";\n case 2385: return \"Overload signatures must all be public, private or protected.\";\n case 2390: return \"Constructor implementation is missing.\";\n case 2391: return \"Function implementation is missing or not immediately following the declaration.\";\n case 2392: return \"Multiple constructor implementations are not allowed.\";\n case 2393: return \"Duplicate function implementation.\";\n case 2394: return \"This overload signature is not compatible with its implementation signature.\";\n case 2395: return \"Individual declarations in merged declaration '{0}' must be all exported or all local.\";\n case 2416: return \"Property '{0}' in type '{1}' is not assignable to the same property in base type '{2}'.\";\n case 2422: return \"A class can only implement an interface.\";\n case 2434: return \"A namespace declaration cannot be located prior to a class or function with which it is merged.\";\n case 2442: return \"Types have separate declarations of a private property '{0}'.\";\n case 2444: return \"Property '{0}' is protected in type '{1}' but public in type '{2}'.\";\n case 2445: return \"Property '{0}' is protected and only accessible within class '{1}' and its subclasses.\";\n case 2448: return \"Variable '{0}' used before its declaration.\";\n case 2451: return \"Cannot redeclare block-scoped variable '{0}'\";\n case 2453: return \"The type argument for type parameter '{0}' cannot be inferred from the usage. Consider specifying the type arguments explicitly.\";\n case 2454: return \"Variable '{0}' is used before being assigned.\";\n case 2456: return \"Type alias '{0}' circularly references itself.\";\n case 2460: return \"Type '{0}' has no property '{1}'.\";\n case 2469: return \"The '{0}' operator cannot be applied to type '{1}'.\";\n case 2474: return \"In 'const' enum declarations member initializer must be constant expression.\";\n case 2484: return \"Export declaration conflicts with exported declaration of '{0}'.\";\n case 2506: return \"'{0}' is referenced directly or indirectly in its own base expression.\";\n case 2511: return \"Cannot create an instance of an abstract class.\";\n case 2515: return \"Non-abstract class '{0}' does not implement inherited abstract member '{1}' from '{2}'.\";\n case 2531: return \"Object is possibly 'null'.\";\n case 2540: return \"Cannot assign to '{0}' because it is a constant or a read-only property.\";\n case 2541: return \"The target of an assignment must be a variable or a property access.\";\n case 2542: return \"Index signature in type '{0}' only permits reading.\";\n case 2554: return \"Expected {0} arguments, but got {1}.\";\n case 2555: return \"Expected at least {0} arguments, but got {1}.\";\n case 2558: return \"Expected {0} type arguments, but got {1}.\";\n case 2564: return \"Property '{0}' has no initializer and is not assigned in the constructor before 'this' is used or returned.\";\n case 2565: return \"Property '{0}' is used before being assigned.\";\n case 2610: return \"'{0}' is defined as an accessor in class '{1}', but is overridden here in '{2}' as an instance property.\";\n case 2611: return \"'{0}' is defined as a property in class '{1}', but is overridden here in '{2}' as an accessor.\";\n case 2651: return \"A member initializer in a enum declaration cannot reference members declared after it, including members defined in other enums.\";\n case 2673: return \"Constructor of class '{0}' is private and only accessible within the class declaration.\";\n case 2674: return \"Constructor of class '{0}' is protected and only accessible within the class declaration.\";\n case 2675: return \"Cannot extend a class '{0}'. Class constructor is marked as private.\";\n case 2685: return \"The 'this' types of each signature are incompatible.\";\n case 2694: return \"Namespace '{0}' has no exported member '{1}'.\";\n case 2695: return \"Namespace can only have declarations.\";\n case 2706: return \"Required type parameters may not follow optional type parameters.\";\n case 2718: return \"Duplicate property '{0}'.\";\n case 2741: return \"Property '{0}' is missing in type '{1}' but required in type '{2}'.\";\n case 2757: return \"Type '{0}' has no call signatures.\";\n case 2808: return \"Get accessor '{0}' must be at least as accessible as the setter.\";\n case 4117: return \"This member cannot have an 'override' modifier because it is not declared in the base class '{0}'.\";\n case 6054: return \"File '{0}' not found.\";\n case 6188: return \"Numeric separators are not allowed here.\";\n case 6189: return \"Multiple consecutive numeric separators are not permitted.\";\n case 6234: return \"This expression is not callable because it is a 'get' accessor. Did you mean to use it without '()'?\";\n case 17009: return \"'super' must be called before accessing 'this' in the constructor of a derived class.\";\n case 17011: return \"'super' must be called before accessing a property of 'super' in the constructor of a derived class.\";\n default: return \"\";\n }\n}\n", "/**\n * @fileoverview Various utility.\n * @license Apache-2.0\n */\n\nexport * from \"./util/binary\";\nexport * from \"./util/collections\";\nexport * from \"./util/math\";\nexport * from \"./util/path\";\nexport * from \"./util/terminal\";\nexport * from \"./util/text\";\nexport * from \"./util/vector\";\n", "/**\n * @fileoverview Various binary reading and writing utility.\n * @license Apache-2.0\n */\n\n/** Reads an 8-bit integer from the specified buffer. */\nexport function readI8(buffer: Uint8Array, offset: i32): i32 {\n return buffer[offset];\n}\n\n/** Writes an 8-bit integer to the specified buffer. */\nexport function writeI8(value: i32, buffer: Uint8Array, offset: i32): void {\n buffer[offset] = value;\n}\n\n/** Reads a 16-bit integer from the specified buffer. */\nexport function readI16(buffer: Uint8Array, offset: i32): i32 {\n return i32(buffer[offset ])\n | i32(buffer[offset + 1]) << 8;\n}\n\n/** Writes a 16-bit integer to the specified buffer. */\nexport function writeI16(value: i32, buffer: Uint8Array, offset: i32): void {\n buffer[offset ] = value;\n buffer[offset + 1] = value >>> 8;\n}\n\n/** Reads a 32-bit integer from the specified buffer. */\nexport function readI32(buffer: Uint8Array, offset: i32): i32 {\n return i32(buffer[offset ])\n | i32(buffer[offset + 1]) << 8\n | i32(buffer[offset + 2]) << 16\n | i32(buffer[offset + 3]) << 24;\n}\n\n/** Writes a 32-bit integer to the specified buffer. */\nexport function writeI32(value: i32, buffer: Uint8Array, offset: i32): void {\n buffer[offset ] = value;\n buffer[offset + 1] = value >>> 8;\n buffer[offset + 2] = value >>> 16;\n buffer[offset + 3] = value >>> 24;\n}\n\n/** Writes a 32-bit integer as a 64-bit integer to the specified buffer. */\nexport function writeI32AsI64(value: i32, buffer: Uint8Array, offset: i32, unsigned: bool = false): void {\n writeI32(value, buffer, offset);\n writeI32(unsigned || value >= 0 ? 0 : -1, buffer, offset + 4);\n}\n\n/** Reads a 64-bit integer from the specified buffer. */\nexport function readI64(buffer: Uint8Array, offset: i32): i64 {\n let lo = readI32(buffer, offset);\n let hi = readI32(buffer, offset + 4);\n return i64_new(lo, hi);\n}\n\n/** Writes a 64-bit integer to the specified buffer. */\nexport function writeI64(value: i64, buffer: Uint8Array, offset: i32): void {\n writeI32(i64_low(value), buffer, offset);\n writeI32(i64_high(value), buffer, offset + 4);\n}\n\n/** Writes a 64-bit integer as a 32-bit integer to the specified buffer. */\nexport function writeI64AsI32(value: i64, buffer: Uint8Array, offset: i32, unsigned: bool = false): void {\n assert(unsigned ? i64_is_u32(value) : i64_is_i32(value));\n writeI32(i64_low(value), buffer, offset);\n}\n\n/** Reads a 32-bit float from the specified buffer. */\nexport function readF32(buffer: Uint8Array, offset: i32): f32 {\n return i32_as_f32(readI32(buffer, offset));\n}\n\n/** Writes a 32-bit float to the specified buffer. */\nexport function writeF32(value: f32, buffer: Uint8Array, offset: i32): void {\n writeI32(f32_as_i32(value), buffer, offset);\n}\n\n/** Reads a 64-bit float from the specified buffer. */\nexport function readF64(buffer: Uint8Array, offset: i32): f64 {\n return i64_as_f64(readI64(buffer, offset));\n}\n\n/** Writes a 64-bit float to the specified buffer. */\nexport function writeF64(value: f64, buffer: Uint8Array, offset: i32): void {\n let valueI64 = f64_as_i64(value);\n writeI32(i64_low(valueI64), buffer, offset);\n writeI32(i64_high(valueI64), buffer, offset + 4);\n}\n\n/** Reads a 128-bit vector from the specified buffer. */\nexport function readV128(buffer: Uint8Array, offset: i32): Uint8Array {\n return buffer.slice(offset, offset + 16);\n}\n\n/** Writes a 128-bit vector to the specified buffer. */\nexport function writeV128(value: Uint8Array, buffer: Uint8Array, offset: i32): void {\n assert(value.length == 16);\n buffer.set(value, offset);\n}\n", "/**\n * @fileoverview Various collections utility.\n * @license Apache-2.0\n */\n\n/** Clone map. Typically used to track contextual type arguments. */\nexport function cloneMap(map: Map | null): Map {\n if (!ASC_TARGET) { // JS\n // fast path for js target\n return new Map(map);\n } else {\n let out = new Map();\n if (map) {\n // TODO: for (let [k, v] of map) {\n for (let _keys = Map_keys(map), i = 0, k = _keys.length; i < k; ++i) {\n let k = unchecked(_keys[i]);\n let v = assert(map.get(k));\n out.set(k, v);\n }\n }\n return out;\n }\n}\n\n/** Merge two maps in into new one. */\nexport function mergeMaps(map1: Map, map2: Map): Map {\n if (!ASC_TARGET) { // JS\n let out = new Map(map1);\n map2.forEach((v, k) => out.set(k, v));\n return out;\n } else {\n let out = new Map();\n // TODO: for (let [k, v] of map1) {\n for (let _keys = Map_keys(map1), i = 0, k = _keys.length; i < k; ++i) {\n let k = unchecked(_keys[i]);\n let v = assert(map1.get(k));\n out.set(k, v);\n }\n // TODO: for (let [k, v] of map2) {\n for (let _keys = Map_keys(map2), i = 0, k = _keys.length; i < k; ++i) {\n let k = unchecked(_keys[i]);\n let v = assert(map2.get(k));\n out.set(k, v);\n }\n return out;\n }\n}\n\n/** BitSet represent growable sequence of N bits. It's faster alternative of Set when elements\n * are not too much sparsed. Also it's more memory and cache efficient than Array.\n * The best way to use it for short bit sequences (less than 32*(2**16)).\n */\nexport class BitSet {\n words!: Uint32Array;\n\n constructor() {\n this.clear();\n }\n\n get size(): i32 {\n let count = 0;\n let words = this.words;\n for (let i = 0, len = words.length; i < len; i++) {\n let word = unchecked(words[i]);\n if (word) count += popcnt(word);\n }\n return count;\n }\n\n add(index: i32): this {\n let idx = index >>> 5;\n let words = this.words;\n if (idx >= words.length) { // resize\n this.words = new Uint32Array(idx + 16);\n this.words.set(words);\n words = this.words;\n }\n unchecked(words[idx] |= 1 << index);\n return this;\n }\n\n delete(index: i32): void {\n let idx = index >>> 5;\n let words = this.words;\n if (idx >= words.length) return;\n unchecked(words[idx] &= ~(1 << index));\n }\n\n has(index: i32): bool {\n let idx = index >>> 5;\n let words = this.words;\n if (idx >= words.length) return false;\n return (unchecked(words[index >>> 5]) & (1 << index)) !== 0;\n }\n\n clear(): void {\n this.words = new Uint32Array(16);\n }\n\n toArray(): i32[] {\n let res = new Array(this.size);\n for (let i = 0, p = 0, len = this.words.length; i < len; ++i) {\n let word = unchecked(this.words[i]);\n while (word) {\n let mask = word & -word;\n unchecked(res[p++] = (i << 5) + popcnt(mask - 1));\n word ^= mask;\n }\n }\n return res;\n }\n\n toString(): string {\n return `BitSet { ${this.toArray()} }`;\n }\n}\n", "/**\n * @fileoverview Various math utility.\n * @license Apache-2.0\n */\n\n/** Tests if `x` is a power of two. */\nexport function isPowerOf2(x: i32): bool {\n return x != 0 && (x & (x - 1)) == 0;\n}\n\nexport function accuratePow64(x: f64, y: f64): f64 {\n if (!ASC_TARGET) { // ASC_TARGET == JS\n // Engines like V8, WebKit and SpiderMonkey uses powi fast path if exponent is integer\n // This speculative optimization leads to loose precisions like 10 ** 208 != 1e208\n // or/and 10 ** -5 != 1e-5 anymore. For avoid this behaviour we are forcing exponent\n // to fractional form and compensate this afterwards.\n if (isFinite(y) && Math.abs(y) >= 2 && Math.trunc(y) == y) {\n if (y < 0) {\n return Math.pow(x, y + 0.5) / Math.pow(x, 0.5);\n } else {\n return Math.pow(x, y - 0.5) * Math.pow(x, 0.5);\n }\n }\n }\n return Math.pow(x, y);\n}\n", "/**\n * @fileoverview Various character and text utility.\n * @license Apache-2.0\n */\n\n/** An enum of named character codes. */\nexport const enum CharCode {\n\n Null = 0,\n LineFeed = 0x0A,\n CarriageReturn = 0x0D,\n LineSeparator = 0x2028,\n ParagraphSeparator = 0x2029,\n NextLine = 0x0085,\n\n Space = 0x20,\n NonBreakingSpace = 0xA0,\n EnQuad = 0x2000,\n EmQuad = 0x2001,\n EnSpace = 0x2002,\n EmSpace = 0x2003,\n ThreePerEmSpace = 0x2004,\n FourPerEmSpace = 0x2005,\n SixPerEmSpace = 0x2006,\n FigureSpace = 0x2007,\n PunctuationSpace = 0x2008,\n ThinSpace = 0x2009,\n HairSpace = 0x200A,\n ZeroWidthSpace = 0x200B,\n NarrowNoBreakSpace = 0x202F,\n IdeographicSpace = 0x3000,\n MathematicalSpace = 0x205F,\n Ogham = 0x1680,\n\n _ = 0x5F,\n\n _0 = 0x30,\n _1 = 0x31,\n _2 = 0x32,\n _3 = 0x33,\n _4 = 0x34,\n _5 = 0x35,\n _6 = 0x36,\n _7 = 0x37,\n _8 = 0x38,\n _9 = 0x39,\n\n a = 0x61,\n b = 0x62,\n c = 0x63,\n d = 0x64,\n e = 0x65,\n f = 0x66,\n g = 0x67,\n h = 0x68,\n i = 0x69,\n j = 0x6A,\n k = 0x6B,\n l = 0x6C,\n m = 0x6D,\n n = 0x6E,\n o = 0x6F,\n p = 0x70,\n q = 0x71,\n r = 0x72,\n s = 0x73,\n t = 0x74,\n u = 0x75,\n v = 0x76,\n w = 0x77,\n x = 0x78,\n y = 0x79,\n z = 0x7A,\n\n A = 0x41,\n B = 0x42,\n C = 0x43,\n D = 0x44,\n E = 0x45,\n F = 0x46,\n G = 0x47,\n H = 0x48,\n I = 0x49,\n J = 0x4A,\n K = 0x4B,\n L = 0x4C,\n M = 0x4D,\n N = 0x4E,\n O = 0x4F,\n P = 0x50,\n Q = 0x51,\n R = 0x52,\n S = 0x53,\n T = 0x54,\n U = 0x55,\n V = 0x56,\n W = 0x57,\n X = 0x58,\n Y = 0x59,\n Z = 0x5a,\n\n Ampersand = 0x26,\n Asterisk = 0x2A,\n At = 0x40,\n Backslash = 0x5C,\n Backtick = 0x60,\n Bar = 0x7C,\n Caret = 0x5E,\n CloseBrace = 0x7D,\n CloseBracket = 0x5D,\n CloseParen = 0x29,\n Colon = 0x3A,\n Comma = 0x2C,\n Dollar = 0x24,\n Dot = 0x2E,\n DoubleQuote = 0x22,\n Equals = 0x3D,\n Exclamation = 0x21,\n GreaterThan = 0x3E,\n Hash = 0x23,\n LessThan = 0x3C,\n Minus = 0x2D,\n OpenBrace = 0x7B,\n OpenBracket = 0x5B,\n OpenParen = 0x28,\n Percent = 0x25,\n Plus = 0x2B,\n Question = 0x3F,\n Semicolon = 0x3B,\n SingleQuote = 0x27,\n Slash = 0x2F,\n Tilde = 0x7E,\n\n Backspace = 0x08,\n FormFeed = 0x0C,\n ByteOrderMark = 0xFEFF,\n Tab = 0x09,\n VerticalTab = 0x0B\n}\n\n/** Tests if the specified character code is some sort of line break. */\nexport function isLineBreak(c: i32): bool {\n switch (c) {\n case CharCode.LineFeed:\n case CharCode.CarriageReturn:\n case CharCode.LineSeparator:\n case CharCode.ParagraphSeparator: {\n return true;\n }\n default: {\n return false;\n }\n }\n}\n\n/** Tests if the specified character code is some sort of white space. */\nexport function isWhiteSpace(c: i32): bool {\n // NOTE: Calling code assumes that there are no supplementary whitespaces.\n // If Unicode ever adds one, uses of this function must be updated to\n // conditionally advance by two code units, i.e. using `numCodeUnits`.\n switch (c) {\n case CharCode.Space:\n case CharCode.Tab:\n case CharCode.VerticalTab:\n case CharCode.FormFeed:\n case CharCode.NonBreakingSpace:\n case CharCode.NextLine:\n case CharCode.Ogham:\n case CharCode.NarrowNoBreakSpace:\n case CharCode.MathematicalSpace:\n case CharCode.IdeographicSpace:\n case CharCode.ByteOrderMark: {\n return true;\n }\n default: {\n return c >= CharCode.EnQuad && c <= CharCode.ZeroWidthSpace;\n }\n }\n}\n\n/** First high (lead) surrogate. */\nexport const SURROGATE_HIGH = 0xD800;\n\n/** First low (trail) surrogate. */\nexport const SURROGATE_LOW = 0xDC00;\n\n/** Tests if a code unit or code point is a surrogate. */\nexport function isSurrogate(c: i32): bool {\n // F800: 11111 0 0000000000 Mask\n // D800: 11011 X XXXXXXXXXX Any surrogate\n return (c & 0xF800) == SURROGATE_HIGH;\n}\n\n/** Tests if a surrogate is a high (lead) surrogate. */\nexport function isSurrogateHigh(c: i32): bool {\n // D800-DBFF\n return c < SURROGATE_LOW;\n}\n\n/** Tests if a surrogate is a low (trail) surrogate. */\nexport function isSurrogateLow(c: i32): bool {\n // DC00-DFFF\n return c >= SURROGATE_LOW;\n}\n\n/** Tests if a code unit or code point is a high (lead) surrogate. */\nexport function isHighSurrogate(c: i32): bool {\n // FC00: 11111 1 0000000000 Mask\n // D800: 11011 0 XXXXXXXXXX High/Lead surrogate\n return (c & 0xFC00) == SURROGATE_HIGH;\n}\n\n/** Tests if a code unit or code point is a low (trail) surrogate. */\nexport function isLowSurrogate(c: i32): bool {\n // FC00: 11111 1 0000000000 Mask\n // DC00: 11011 1 XXXXXXXXXX Low/Trail surrogate\n return (c & 0xFC00) == SURROGATE_LOW;\n}\n\n/** Converts a surrogate pair to its respective code point. */\nexport function combineSurrogates(hi: i32, lo: i32): i32 {\n return 0x10000 + ((hi & 0x3FF) << 10) | (lo & 0x3FF);\n}\n\n/** Gets the number of UTF-16 code units of the specified code point. */\nexport function numCodeUnits(cp: i32): i32 {\n return 1 + i32(cp > 0xffff);\n}\n\nexport function isAlpha(c: i32): bool {\n let c0 = c | 32; // unify uppercases and lowercases a|A - z|Z\n return c0 >= CharCode.a && c0 <= CharCode.z;\n}\n\n/** Tests if the specified character code is a valid decimal digit. */\nexport function isDecimal(c: i32): bool {\n return c >= CharCode._0 && c <= CharCode._9;\n}\n\n/** Tests if the specified character code is a valid octal digit. */\nexport function isOctal(c: i32): bool {\n return c >= CharCode._0 && c <= CharCode._7;\n}\n\n/** Tests if the specified character code is a valid hexadecimal symbol [a-f]. */\nexport function isHexBase(c: i32): bool {\n let c0 = c | 32; // unify uppercases and lowercases a|A - f|F\n return c0 >= CharCode.a && c0 <= CharCode.f;\n}\n\n/** Tests if the specified character code is a valid hexadecimal digit. */\nexport function isHexOrDecimal(c: i32): bool {\n return isDecimal(c) || isHexBase(c);\n}\n\n/** Tests if the specified character code is trivially alphanumeric. */\nexport function isAlphaOrDecimal(c: i32): bool {\n return isAlpha(c) || isDecimal(c);\n}\n\n/** Tests if the specified code point is a valid start of an identifier. */\nexport function isIdentifierStart(cp: i32): bool {\n return isAlpha(cp)\n || cp == CharCode._\n || cp == CharCode.Dollar\n || cp >= unicodeIdentifierStartMin && cp <= unicodeIdentifierStartMax\n && lookupInUnicodeMap(cp, unicodeIdentifierStart);\n}\n\n/** Tests if the specified code point is a valid part of an identifier. */\nexport function isIdentifierPart(cp: i32): bool {\n return isAlphaOrDecimal(cp)\n || cp == CharCode._\n || cp == CharCode.Dollar\n || cp >= unicodeIdentifierPartMin && cp <= unicodeIdentifierPartMax\n && lookupInUnicodeMap(cp, unicodeIdentifierPart);\n}\n\n/** Tests if the specified string is a valid identifer. */\nexport function isIdentifier(str: string): bool {\n let len = str.length;\n if (!len) return false;\n let cp = str.codePointAt(0);\n if (!isIdentifierStart(cp)) return false;\n let i = numCodeUnits(cp);\n while (i < len) {\n cp = str.codePointAt(i);\n if (!isIdentifierPart(cp)) return false;\n i += numCodeUnits(cp);\n }\n return true;\n}\n\n/** Unicode 14.0 ID_Start/Other_ID_Start ranges */\nconst unicodeIdentifierStart: i32[] = [/*\n| from ... to | from ... to | from ... to | from ... to |*/\n 170 , 170 , 181 , 181 , 186 , 186 , 192 , 214 ,\n 216 , 246 , 248 , 705 , 710 , 721 , 736 , 740 ,\n 748 , 748 , 750 , 750 , 880 , 884 , 886 , 887 ,\n 890 , 893 , 895 , 895 , 902 , 902 , 904 , 906 ,\n 908 , 908 , 910 , 929 , 931 , 1013 , 1015 , 1153 ,\n 1162 , 1327 , 1329 , 1366 , 1369 , 1369 , 1376 , 1416 ,\n 1488 , 1514 , 1519 , 1522 , 1568 , 1610 , 1646 , 1647 ,\n 1649 , 1747 , 1749 , 1749 , 1765 , 1766 , 1774 , 1775 ,\n 1786 , 1788 , 1791 , 1791 , 1808 , 1808 , 1810 , 1839 ,\n 1869 , 1957 , 1969 , 1969 , 1994 , 2026 , 2036 , 2037 ,\n 2042 , 2042 , 2048 , 2069 , 2074 , 2074 , 2084 , 2084 ,\n 2088 , 2088 , 2112 , 2136 , 2144 , 2154 , 2160 , 2183 ,\n 2185 , 2190 , 2208 , 2249 , 2308 , 2361 , 2365 , 2365 ,\n 2384 , 2384 , 2392 , 2401 , 2417 , 2432 , 2437 , 2444 ,\n 2447 , 2448 , 2451 , 2472 , 2474 , 2480 , 2482 , 2482 ,\n 2486 , 2489 , 2493 , 2493 , 2510 , 2510 , 2524 , 2525 ,\n 2527 , 2529 , 2544 , 2545 , 2556 , 2556 , 2565 , 2570 ,\n 2575 , 2576 , 2579 , 2600 , 2602 , 2608 , 2610 , 2611 ,\n 2613 , 2614 , 2616 , 2617 , 2649 , 2652 , 2654 , 2654 ,\n 2674 , 2676 , 2693 , 2701 , 2703 , 2705 , 2707 , 2728 ,\n 2730 , 2736 , 2738 , 2739 , 2741 , 2745 , 2749 , 2749 ,\n 2768 , 2768 , 2784 , 2785 , 2809 , 2809 , 2821 , 2828 ,\n 2831 , 2832 , 2835 , 2856 , 2858 , 2864 , 2866 , 2867 ,\n 2869 , 2873 , 2877 , 2877 , 2908 , 2909 , 2911 , 2913 ,\n 2929 , 2929 , 2947 , 2947 , 2949 , 2954 , 2958 , 2960 ,\n 2962 , 2965 , 2969 , 2970 , 2972 , 2972 , 2974 , 2975 ,\n 2979 , 2980 , 2984 , 2986 , 2990 , 3001 , 3024 , 3024 ,\n 3077 , 3084 , 3086 , 3088 , 3090 , 3112 , 3114 , 3129 ,\n 3133 , 3133 , 3160 , 3162 , 3165 , 3165 , 3168 , 3169 ,\n 3200 , 3200 , 3205 , 3212 , 3214 , 3216 , 3218 , 3240 ,\n 3242 , 3251 , 3253 , 3257 , 3261 , 3261 , 3293 , 3294 ,\n 3296 , 3297 , 3313 , 3314 , 3332 , 3340 , 3342 , 3344 ,\n 3346 , 3386 , 3389 , 3389 , 3406 , 3406 , 3412 , 3414 ,\n 3423 , 3425 , 3450 , 3455 , 3461 , 3478 , 3482 , 3505 ,\n 3507 , 3515 , 3517 , 3517 , 3520 , 3526 , 3585 , 3632 ,\n 3634 , 3635 , 3648 , 3654 , 3713 , 3714 , 3716 , 3716 ,\n 3718 , 3722 , 3724 , 3747 , 3749 , 3749 , 3751 , 3760 ,\n 3762 , 3763 , 3773 , 3773 , 3776 , 3780 , 3782 , 3782 ,\n 3804 , 3807 , 3840 , 3840 , 3904 , 3911 , 3913 , 3948 ,\n 3976 , 3980 , 4096 , 4138 , 4159 , 4159 , 4176 , 4181 ,\n 4186 , 4189 , 4193 , 4193 , 4197 , 4198 , 4206 , 4208 ,\n 4213 , 4225 , 4238 , 4238 , 4256 , 4293 , 4295 , 4295 ,\n 4301 , 4301 , 4304 , 4346 , 4348 , 4680 , 4682 , 4685 ,\n 4688 , 4694 , 4696 , 4696 , 4698 , 4701 , 4704 , 4744 ,\n 4746 , 4749 , 4752 , 4784 , 4786 , 4789 , 4792 , 4798 ,\n 4800 , 4800 , 4802 , 4805 , 4808 , 4822 , 4824 , 4880 ,\n 4882 , 4885 , 4888 , 4954 , 4992 , 5007 , 5024 , 5109 ,\n 5112 , 5117 , 5121 , 5740 , 5743 , 5759 , 5761 , 5786 ,\n 5792 , 5866 , 5870 , 5880 , 5888 , 5905 , 5919 , 5937 ,\n 5952 , 5969 , 5984 , 5996 , 5998 , 6000 , 6016 , 6067 ,\n 6103 , 6103 , 6108 , 6108 , 6176 , 6264 , 6272 , 6312 ,\n 6314 , 6314 , 6320 , 6389 , 6400 , 6430 , 6480 , 6509 ,\n 6512 , 6516 , 6528 , 6571 , 6576 , 6601 , 6656 , 6678 ,\n 6688 , 6740 , 6823 , 6823 , 6917 , 6963 , 6981 , 6988 ,\n 7043 , 7072 , 7086 , 7087 , 7098 , 7141 , 7168 , 7203 ,\n 7245 , 7247 , 7258 , 7293 , 7296 , 7304 , 7312 , 7354 ,\n 7357 , 7359 , 7401 , 7404 , 7406 , 7411 , 7413 , 7414 ,\n 7418 , 7418 , 7424 , 7615 , 7680 , 7957 , 7960 , 7965 ,\n 7968 , 8005 , 8008 , 8013 , 8016 , 8023 , 8025 , 8025 ,\n 8027 , 8027 , 8029 , 8029 , 8031 , 8061 , 8064 , 8116 ,\n 8118 , 8124 , 8126 , 8126 , 8130 , 8132 , 8134 , 8140 ,\n 8144 , 8147 , 8150 , 8155 , 8160 , 8172 , 8178 , 8180 ,\n 8182 , 8188 , 8305 , 8305 , 8319 , 8319 , 8336 , 8348 ,\n 8450 , 8450 , 8455 , 8455 , 8458 , 8467 , 8469 , 8469 ,\n 8472 , 8477 , 8484 , 8484 , 8486 , 8486 , 8488 , 8488 ,\n 8490 , 8505 , 8508 , 8511 , 8517 , 8521 , 8526 , 8526 ,\n 8544 , 8584 , 11264 , 11492 , 11499 , 11502 , 11506 , 11507 ,\n 11520 , 11557 , 11559 , 11559 , 11565 , 11565 , 11568 , 11623 ,\n 11631 , 11631 , 11648 , 11670 , 11680 , 11686 , 11688 , 11694 ,\n 11696 , 11702 , 11704 , 11710 , 11712 , 11718 , 11720 , 11726 ,\n 11728 , 11734 , 11736 , 11742 , 12293 , 12295 , 12321 , 12329 ,\n 12337 , 12341 , 12344 , 12348 , 12353 , 12438 , 12443 , 12447 ,\n 12449 , 12538 , 12540 , 12543 , 12549 , 12591 , 12593 , 12686 ,\n 12704 , 12735 , 12784 , 12799 , 13312 , 19903 , 19968 , 42124 ,\n 42192 , 42237 , 42240 , 42508 , 42512 , 42527 , 42538 , 42539 ,\n 42560 , 42606 , 42623 , 42653 , 42656 , 42735 , 42775 , 42783 ,\n 42786 , 42888 , 42891 , 42954 , 42960 , 42961 , 42963 , 42963 ,\n 42965 , 42969 , 42994 , 43009 , 43011 , 43013 , 43015 , 43018 ,\n 43020 , 43042 , 43072 , 43123 , 43138 , 43187 , 43250 , 43255 ,\n 43259 , 43259 , 43261 , 43262 , 43274 , 43301 , 43312 , 43334 ,\n 43360 , 43388 , 43396 , 43442 , 43471 , 43471 , 43488 , 43492 ,\n 43494 , 43503 , 43514 , 43518 , 43520 , 43560 , 43584 , 43586 ,\n 43588 , 43595 , 43616 , 43638 , 43642 , 43642 , 43646 , 43695 ,\n 43697 , 43697 , 43701 , 43702 , 43705 , 43709 , 43712 , 43712 ,\n 43714 , 43714 , 43739 , 43741 , 43744 , 43754 , 43762 , 43764 ,\n 43777 , 43782 , 43785 , 43790 , 43793 , 43798 , 43808 , 43814 ,\n 43816 , 43822 , 43824 , 43866 , 43868 , 43881 , 43888 , 44002 ,\n 44032 , 55203 , 55216 , 55238 , 55243 , 55291 , 63744 , 64109 ,\n 64112 , 64217 , 64256 , 64262 , 64275 , 64279 , 64285 , 64285 ,\n 64287 , 64296 , 64298 , 64310 , 64312 , 64316 , 64318 , 64318 ,\n 64320 , 64321 , 64323 , 64324 , 64326 , 64433 , 64467 , 64829 ,\n 64848 , 64911 , 64914 , 64967 , 65008 , 65019 , 65136 , 65140 ,\n 65142 , 65276 , 65313 , 65338 , 65345 , 65370 , 65382 , 65470 ,\n 65474 , 65479 , 65482 , 65487 , 65490 , 65495 , 65498 , 65500 ,\n 65536 , 65547 , 65549 , 65574 , 65576 , 65594 , 65596 , 65597 ,\n 65599 , 65613 , 65616 , 65629 , 65664 , 65786 , 65856 , 65908 ,\n 66176 , 66204 , 66208 , 66256 , 66304 , 66335 , 66349 , 66378 ,\n 66384 , 66421 , 66432 , 66461 , 66464 , 66499 , 66504 , 66511 ,\n 66513 , 66517 , 66560 , 66717 , 66736 , 66771 , 66776 , 66811 ,\n 66816 , 66855 , 66864 , 66915 , 66928 , 66938 , 66940 , 66954 ,\n 66956 , 66962 , 66964 , 66965 , 66967 , 66977 , 66979 , 66993 ,\n 66995 , 67001 , 67003 , 67004 , 67072 , 67382 , 67392 , 67413 ,\n 67424 , 67431 , 67456 , 67461 , 67463 , 67504 , 67506 , 67514 ,\n 67584 , 67589 , 67592 , 67592 , 67594 , 67637 , 67639 , 67640 ,\n 67644 , 67644 , 67647 , 67669 , 67680 , 67702 , 67712 , 67742 ,\n 67808 , 67826 , 67828 , 67829 , 67840 , 67861 , 67872 , 67897 ,\n 67968 , 68023 , 68030 , 68031 , 68096 , 68096 , 68112 , 68115 ,\n 68117 , 68119 , 68121 , 68149 , 68192 , 68220 , 68224 , 68252 ,\n 68288 , 68295 , 68297 , 68324 , 68352 , 68405 , 68416 , 68437 ,\n 68448 , 68466 , 68480 , 68497 , 68608 , 68680 , 68736 , 68786 ,\n 68800 , 68850 , 68864 , 68899 , 69248 , 69289 , 69296 , 69297 ,\n 69376 , 69404 , 69415 , 69415 , 69424 , 69445 , 69488 , 69505 ,\n 69552 , 69572 , 69600 , 69622 , 69635 , 69687 , 69745 , 69746 ,\n 69749 , 69749 , 69763 , 69807 , 69840 , 69864 , 69891 , 69926 ,\n 69956 , 69956 , 69959 , 69959 , 69968 , 70002 , 70006 , 70006 ,\n 70019 , 70066 , 70081 , 70084 , 70106 , 70106 , 70108 , 70108 ,\n 70144 , 70161 , 70163 , 70187 , 70272 , 70278 , 70280 , 70280 ,\n 70282 , 70285 , 70287 , 70301 , 70303 , 70312 , 70320 , 70366 ,\n 70405 , 70412 , 70415 , 70416 , 70419 , 70440 , 70442 , 70448 ,\n 70450 , 70451 , 70453 , 70457 , 70461 , 70461 , 70480 , 70480 ,\n 70493 , 70497 , 70656 , 70708 , 70727 , 70730 , 70751 , 70753 ,\n 70784 , 70831 , 70852 , 70853 , 70855 , 70855 , 71040 , 71086 ,\n 71128 , 71131 , 71168 , 71215 , 71236 , 71236 , 71296 , 71338 ,\n 71352 , 71352 , 71424 , 71450 , 71488 , 71494 , 71680 , 71723 ,\n 71840 , 71903 , 71935 , 71942 , 71945 , 71945 , 71948 , 71955 ,\n 71957 , 71958 , 71960 , 71983 , 71999 , 71999 , 72001 , 72001 ,\n 72096 , 72103 , 72106 , 72144 , 72161 , 72161 , 72163 , 72163 ,\n 72192 , 72192 , 72203 , 72242 , 72250 , 72250 , 72272 , 72272 ,\n 72284 , 72329 , 72349 , 72349 , 72368 , 72440 , 72704 , 72712 ,\n 72714 , 72750 , 72768 , 72768 , 72818 , 72847 , 72960 , 72966 ,\n 72968 , 72969 , 72971 , 73008 , 73030 , 73030 , 73056 , 73061 ,\n 73063 , 73064 , 73066 , 73097 , 73112 , 73112 , 73440 , 73458 ,\n 73648 , 73648 , 73728 , 74649 , 74752 , 74862 , 74880 , 75075 ,\n 77712 , 77808 , 77824 , 78894 , 82944 , 83526 , 92160 , 92728 ,\n 92736 , 92766 , 92784 , 92862 , 92880 , 92909 , 92928 , 92975 ,\n 92992 , 92995 , 93027 , 93047 , 93053 , 93071 , 93760 , 93823 ,\n 93952 , 94026 , 94032 , 94032 , 94099 , 94111 , 94176 , 94177 ,\n 94179 , 94179 , 94208 , 100343, 100352, 101589, 101632, 101640,\n 110576, 110579, 110581, 110587, 110589, 110590, 110592, 110882,\n 110928, 110930, 110948, 110951, 110960, 111355, 113664, 113770,\n 113776, 113788, 113792, 113800, 113808, 113817, 119808, 119892,\n 119894, 119964, 119966, 119967, 119970, 119970, 119973, 119974,\n 119977, 119980, 119982, 119993, 119995, 119995, 119997, 120003,\n 120005, 120069, 120071, 120074, 120077, 120084, 120086, 120092,\n 120094, 120121, 120123, 120126, 120128, 120132, 120134, 120134,\n 120138, 120144, 120146, 120485, 120488, 120512, 120514, 120538,\n 120540, 120570, 120572, 120596, 120598, 120628, 120630, 120654,\n 120656, 120686, 120688, 120712, 120714, 120744, 120746, 120770,\n 120772, 120779, 122624, 122654, 123136, 123180, 123191, 123197,\n 123214, 123214, 123536, 123565, 123584, 123627, 124896, 124902,\n 124904, 124907, 124909, 124910, 124912, 124926, 124928, 125124,\n 125184, 125251, 125259, 125259, 126464, 126467, 126469, 126495,\n 126497, 126498, 126500, 126500, 126503, 126503, 126505, 126514,\n 126516, 126519, 126521, 126521, 126523, 126523, 126530, 126530,\n 126535, 126535, 126537, 126537, 126539, 126539, 126541, 126543,\n 126545, 126546, 126548, 126548, 126551, 126551, 126553, 126553,\n 126555, 126555, 126557, 126557, 126559, 126559, 126561, 126562,\n 126564, 126564, 126567, 126570, 126572, 126578, 126580, 126583,\n 126585, 126588, 126590, 126590, 126592, 126601, 126603, 126619,\n 126625, 126627, 126629, 126633, 126635, 126651, 131072, 173791,\n 173824, 177976, 177984, 178205, 178208, 183969, 183984, 191456,\n 194560, 195101, 196608, 201546,\n];\nconst unicodeIdentifierStartMin = 170;\nconst unicodeIdentifierStartMax = 201546;\n\n/** Unicode 14.0 ID_Continue/Other_ID_Continue + ID_Start/Other_ID_Start ranges*/\nconst unicodeIdentifierPart: i32[] = [/*\n| from ... to | from ... to | from ... to | from ... to |*/\n 170 , 170 , 181 , 181 , 183 , 183 , 186 , 186 ,\n 192 , 214 , 216 , 246 , 248 , 705 , 710 , 721 ,\n 736 , 740 , 748 , 748 , 750 , 750 , 768 , 884 ,\n 886 , 887 , 890 , 893 , 895 , 895 , 902 , 906 ,\n 908 , 908 , 910 , 929 , 931 , 1013 , 1015 , 1153 ,\n 1155 , 1159 , 1162 , 1327 , 1329 , 1366 , 1369 , 1369 ,\n 1376 , 1416 , 1425 , 1469 , 1471 , 1471 , 1473 , 1474 ,\n 1476 , 1477 , 1479 , 1479 , 1488 , 1514 , 1519 , 1522 ,\n 1552 , 1562 , 1568 , 1641 , 1646 , 1747 , 1749 , 1756 ,\n 1759 , 1768 , 1770 , 1788 , 1791 , 1791 , 1808 , 1866 ,\n 1869 , 1969 , 1984 , 2037 , 2042 , 2042 , 2045 , 2045 ,\n 2048 , 2093 , 2112 , 2139 , 2144 , 2154 , 2160 , 2183 ,\n 2185 , 2190 , 2200 , 2273 , 2275 , 2403 , 2406 , 2415 ,\n 2417 , 2435 , 2437 , 2444 , 2447 , 2448 , 2451 , 2472 ,\n 2474 , 2480 , 2482 , 2482 , 2486 , 2489 , 2492 , 2500 ,\n 2503 , 2504 , 2507 , 2510 , 2519 , 2519 , 2524 , 2525 ,\n 2527 , 2531 , 2534 , 2545 , 2556 , 2556 , 2558 , 2558 ,\n 2561 , 2563 , 2565 , 2570 , 2575 , 2576 , 2579 , 2600 ,\n 2602 , 2608 , 2610 , 2611 , 2613 , 2614 , 2616 , 2617 ,\n 2620 , 2620 , 2622 , 2626 , 2631 , 2632 , 2635 , 2637 ,\n 2641 , 2641 , 2649 , 2652 , 2654 , 2654 , 2662 , 2677 ,\n 2689 , 2691 , 2693 , 2701 , 2703 , 2705 , 2707 , 2728 ,\n 2730 , 2736 , 2738 , 2739 , 2741 , 2745 , 2748 , 2757 ,\n 2759 , 2761 , 2763 , 2765 , 2768 , 2768 , 2784 , 2787 ,\n 2790 , 2799 , 2809 , 2815 , 2817 , 2819 , 2821 , 2828 ,\n 2831 , 2832 , 2835 , 2856 , 2858 , 2864 , 2866 , 2867 ,\n 2869 , 2873 , 2876 , 2884 , 2887 , 2888 , 2891 , 2893 ,\n 2901 , 2903 , 2908 , 2909 , 2911 , 2915 , 2918 , 2927 ,\n 2929 , 2929 , 2946 , 2947 , 2949 , 2954 , 2958 , 2960 ,\n 2962 , 2965 , 2969 , 2970 , 2972 , 2972 , 2974 , 2975 ,\n 2979 , 2980 , 2984 , 2986 , 2990 , 3001 , 3006 , 3010 ,\n 3014 , 3016 , 3018 , 3021 , 3024 , 3024 , 3031 , 3031 ,\n 3046 , 3055 , 3072 , 3084 , 3086 , 3088 , 3090 , 3112 ,\n 3114 , 3129 , 3132 , 3140 , 3142 , 3144 , 3146 , 3149 ,\n 3157 , 3158 , 3160 , 3162 , 3165 , 3165 , 3168 , 3171 ,\n 3174 , 3183 , 3200 , 3203 , 3205 , 3212 , 3214 , 3216 ,\n 3218 , 3240 , 3242 , 3251 , 3253 , 3257 , 3260 , 3268 ,\n 3270 , 3272 , 3274 , 3277 , 3285 , 3286 , 3293 , 3294 ,\n 3296 , 3299 , 3302 , 3311 , 3313 , 3314 , 3328 , 3340 ,\n 3342 , 3344 , 3346 , 3396 , 3398 , 3400 , 3402 , 3406 ,\n 3412 , 3415 , 3423 , 3427 , 3430 , 3439 , 3450 , 3455 ,\n 3457 , 3459 , 3461 , 3478 , 3482 , 3505 , 3507 , 3515 ,\n 3517 , 3517 , 3520 , 3526 , 3530 , 3530 , 3535 , 3540 ,\n 3542 , 3542 , 3544 , 3551 , 3558 , 3567 , 3570 , 3571 ,\n 3585 , 3642 , 3648 , 3662 , 3664 , 3673 , 3713 , 3714 ,\n 3716 , 3716 , 3718 , 3722 , 3724 , 3747 , 3749 , 3749 ,\n 3751 , 3773 , 3776 , 3780 , 3782 , 3782 , 3784 , 3789 ,\n 3792 , 3801 , 3804 , 3807 , 3840 , 3840 , 3864 , 3865 ,\n 3872 , 3881 , 3893 , 3893 , 3895 , 3895 , 3897 , 3897 ,\n 3902 , 3911 , 3913 , 3948 , 3953 , 3972 , 3974 , 3991 ,\n 3993 , 4028 , 4038 , 4038 , 4096 , 4169 , 4176 , 4253 ,\n 4256 , 4293 , 4295 , 4295 , 4301 , 4301 , 4304 , 4346 ,\n 4348 , 4680 , 4682 , 4685 , 4688 , 4694 , 4696 , 4696 ,\n 4698 , 4701 , 4704 , 4744 , 4746 , 4749 , 4752 , 4784 ,\n 4786 , 4789 , 4792 , 4798 , 4800 , 4800 , 4802 , 4805 ,\n 4808 , 4822 , 4824 , 4880 , 4882 , 4885 , 4888 , 4954 ,\n 4957 , 4959 , 4969 , 4977 , 4992 , 5007 , 5024 , 5109 ,\n 5112 , 5117 , 5121 , 5740 , 5743 , 5759 , 5761 , 5786 ,\n 5792 , 5866 , 5870 , 5880 , 5888 , 5909 , 5919 , 5940 ,\n 5952 , 5971 , 5984 , 5996 , 5998 , 6000 , 6002 , 6003 ,\n 6016 , 6099 , 6103 , 6103 , 6108 , 6109 , 6112 , 6121 ,\n 6155 , 6157 , 6159 , 6169 , 6176 , 6264 , 6272 , 6314 ,\n 6320 , 6389 , 6400 , 6430 , 6432 , 6443 , 6448 , 6459 ,\n 6470 , 6509 , 6512 , 6516 , 6528 , 6571 , 6576 , 6601 ,\n 6608 , 6618 , 6656 , 6683 , 6688 , 6750 , 6752 , 6780 ,\n 6783 , 6793 , 6800 , 6809 , 6823 , 6823 , 6832 , 6845 ,\n 6847 , 6862 , 6912 , 6988 , 6992 , 7001 , 7019 , 7027 ,\n 7040 , 7155 , 7168 , 7223 , 7232 , 7241 , 7245 , 7293 ,\n 7296 , 7304 , 7312 , 7354 , 7357 , 7359 , 7376 , 7378 ,\n 7380 , 7418 , 7424 , 7957 , 7960 , 7965 , 7968 , 8005 ,\n 8008 , 8013 , 8016 , 8023 , 8025 , 8025 , 8027 , 8027 ,\n 8029 , 8029 , 8031 , 8061 , 8064 , 8116 , 8118 , 8124 ,\n 8126 , 8126 , 8130 , 8132 , 8134 , 8140 , 8144 , 8147 ,\n 8150 , 8155 , 8160 , 8172 , 8178 , 8180 , 8182 , 8188 ,\n 8255 , 8256 , 8276 , 8276 , 8305 , 8305 , 8319 , 8319 ,\n 8336 , 8348 , 8400 , 8412 , 8417 , 8417 , 8421 , 8432 ,\n 8450 , 8450 , 8455 , 8455 , 8458 , 8467 , 8469 , 8469 ,\n 8472 , 8477 , 8484 , 8484 , 8486 , 8486 , 8488 , 8488 ,\n 8490 , 8505 , 8508 , 8511 , 8517 , 8521 , 8526 , 8526 ,\n 8544 , 8584 , 11264 , 11492 , 11499 , 11507 , 11520 , 11557 ,\n 11559 , 11559 , 11565 , 11565 , 11568 , 11623 , 11631 , 11631 ,\n 11647 , 11670 , 11680 , 11686 , 11688 , 11694 , 11696 , 11702 ,\n 11704 , 11710 , 11712 , 11718 , 11720 , 11726 , 11728 , 11734 ,\n 11736 , 11742 , 11744 , 11775 , 12293 , 12295 , 12321 , 12335 ,\n 12337 , 12341 , 12344 , 12348 , 12353 , 12438 , 12441 , 12447 ,\n 12449 , 12538 , 12540 , 12543 , 12549 , 12591 , 12593 , 12686 ,\n 12704 , 12735 , 12784 , 12799 , 13312 , 19903 , 19968 , 42124 ,\n 42192 , 42237 , 42240 , 42508 , 42512 , 42539 , 42560 , 42607 ,\n 42612 , 42621 , 42623 , 42737 , 42775 , 42783 , 42786 , 42888 ,\n 42891 , 42954 , 42960 , 42961 , 42963 , 42963 , 42965 , 42969 ,\n 42994 , 43047 , 43052 , 43052 , 43072 , 43123 , 43136 , 43205 ,\n 43216 , 43225 , 43232 , 43255 , 43259 , 43259 , 43261 , 43309 ,\n 43312 , 43347 , 43360 , 43388 , 43392 , 43456 , 43471 , 43481 ,\n 43488 , 43518 , 43520 , 43574 , 43584 , 43597 , 43600 , 43609 ,\n 43616 , 43638 , 43642 , 43714 , 43739 , 43741 , 43744 , 43759 ,\n 43762 , 43766 , 43777 , 43782 , 43785 , 43790 , 43793 , 43798 ,\n 43808 , 43814 , 43816 , 43822 , 43824 , 43866 , 43868 , 43881 ,\n 43888 , 44010 , 44012 , 44013 , 44016 , 44025 , 44032 , 55203 ,\n 55216 , 55238 , 55243 , 55291 , 63744 , 64109 , 64112 , 64217 ,\n 64256 , 64262 , 64275 , 64279 , 64285 , 64296 , 64298 , 64310 ,\n 64312 , 64316 , 64318 , 64318 , 64320 , 64321 , 64323 , 64324 ,\n 64326 , 64433 , 64467 , 64829 , 64848 , 64911 , 64914 , 64967 ,\n 65008 , 65019 , 65024 , 65039 , 65056 , 65071 , 65075 , 65076 ,\n 65101 , 65103 , 65136 , 65140 , 65142 , 65276 , 65296 , 65305 ,\n 65313 , 65338 , 65343 , 65343 , 65345 , 65370 , 65382 , 65470 ,\n 65474 , 65479 , 65482 , 65487 , 65490 , 65495 , 65498 , 65500 ,\n 65536 , 65547 , 65549 , 65574 , 65576 , 65594 , 65596 , 65597 ,\n 65599 , 65613 , 65616 , 65629 , 65664 , 65786 , 65856 , 65908 ,\n 66045 , 66045 , 66176 , 66204 , 66208 , 66256 , 66272 , 66272 ,\n 66304 , 66335 , 66349 , 66378 , 66384 , 66426 , 66432 , 66461 ,\n 66464 , 66499 , 66504 , 66511 , 66513 , 66517 , 66560 , 66717 ,\n 66720 , 66729 , 66736 , 66771 , 66776 , 66811 , 66816 , 66855 ,\n 66864 , 66915 , 66928 , 66938 , 66940 , 66954 , 66956 , 66962 ,\n 66964 , 66965 , 66967 , 66977 , 66979 , 66993 , 66995 , 67001 ,\n 67003 , 67004 , 67072 , 67382 , 67392 , 67413 , 67424 , 67431 ,\n 67456 , 67461 , 67463 , 67504 , 67506 , 67514 , 67584 , 67589 ,\n 67592 , 67592 , 67594 , 67637 , 67639 , 67640 , 67644 , 67644 ,\n 67647 , 67669 , 67680 , 67702 , 67712 , 67742 , 67808 , 67826 ,\n 67828 , 67829 , 67840 , 67861 , 67872 , 67897 , 67968 , 68023 ,\n 68030 , 68031 , 68096 , 68099 , 68101 , 68102 , 68108 , 68115 ,\n 68117 , 68119 , 68121 , 68149 , 68152 , 68154 , 68159 , 68159 ,\n 68192 , 68220 , 68224 , 68252 , 68288 , 68295 , 68297 , 68326 ,\n 68352 , 68405 , 68416 , 68437 , 68448 , 68466 , 68480 , 68497 ,\n 68608 , 68680 , 68736 , 68786 , 68800 , 68850 , 68864 , 68903 ,\n 68912 , 68921 , 69248 , 69289 , 69291 , 69292 , 69296 , 69297 ,\n 69376 , 69404 , 69415 , 69415 , 69424 , 69456 , 69488 , 69509 ,\n 69552 , 69572 , 69600 , 69622 , 69632 , 69702 , 69734 , 69749 ,\n 69759 , 69818 , 69826 , 69826 , 69840 , 69864 , 69872 , 69881 ,\n 69888 , 69940 , 69942 , 69951 , 69956 , 69959 , 69968 , 70003 ,\n 70006 , 70006 , 70016 , 70084 , 70089 , 70092 , 70094 , 70106 ,\n 70108 , 70108 , 70144 , 70161 , 70163 , 70199 , 70206 , 70206 ,\n 70272 , 70278 , 70280 , 70280 , 70282 , 70285 , 70287 , 70301 ,\n 70303 , 70312 , 70320 , 70378 , 70384 , 70393 , 70400 , 70403 ,\n 70405 , 70412 , 70415 , 70416 , 70419 , 70440 , 70442 , 70448 ,\n 70450 , 70451 , 70453 , 70457 , 70459 , 70468 , 70471 , 70472 ,\n 70475 , 70477 , 70480 , 70480 , 70487 , 70487 , 70493 , 70499 ,\n 70502 , 70508 , 70512 , 70516 , 70656 , 70730 , 70736 , 70745 ,\n 70750 , 70753 , 70784 , 70853 , 70855 , 70855 , 70864 , 70873 ,\n 71040 , 71093 , 71096 , 71104 , 71128 , 71133 , 71168 , 71232 ,\n 71236 , 71236 , 71248 , 71257 , 71296 , 71352 , 71360 , 71369 ,\n 71424 , 71450 , 71453 , 71467 , 71472 , 71481 , 71488 , 71494 ,\n 71680 , 71738 , 71840 , 71913 , 71935 , 71942 , 71945 , 71945 ,\n 71948 , 71955 , 71957 , 71958 , 71960 , 71989 , 71991 , 71992 ,\n 71995 , 72003 , 72016 , 72025 , 72096 , 72103 , 72106 , 72151 ,\n 72154 , 72161 , 72163 , 72164 , 72192 , 72254 , 72263 , 72263 ,\n 72272 , 72345 , 72349 , 72349 , 72368 , 72440 , 72704 , 72712 ,\n 72714 , 72758 , 72760 , 72768 , 72784 , 72793 , 72818 , 72847 ,\n 72850 , 72871 , 72873 , 72886 , 72960 , 72966 , 72968 , 72969 ,\n 72971 , 73014 , 73018 , 73018 , 73020 , 73021 , 73023 , 73031 ,\n 73040 , 73049 , 73056 , 73061 , 73063 , 73064 , 73066 , 73102 ,\n 73104 , 73105 , 73107 , 73112 , 73120 , 73129 , 73440 , 73462 ,\n 73648 , 73648 , 73728 , 74649 , 74752 , 74862 , 74880 , 75075 ,\n 77712 , 77808 , 77824 , 78894 , 82944 , 83526 , 92160 , 92728 ,\n 92736 , 92766 , 92768 , 92777 , 92784 , 92862 , 92864 , 92873 ,\n 92880 , 92909 , 92912 , 92916 , 92928 , 92982 , 92992 , 92995 ,\n 93008 , 93017 , 93027 , 93047 , 93053 , 93071 , 93760 , 93823 ,\n 93952 , 94026 , 94031 , 94087 , 94095 , 94111 , 94176 , 94177 ,\n 94179 , 94180 , 94192 , 94193 , 94208 , 100343, 100352, 101589,\n 101632, 101640, 110576, 110579, 110581, 110587, 110589, 110590,\n 110592, 110882, 110928, 110930, 110948, 110951, 110960, 111355,\n 113664, 113770, 113776, 113788, 113792, 113800, 113808, 113817,\n 113821, 113822, 118528, 118573, 118576, 118598, 119141, 119145,\n 119149, 119154, 119163, 119170, 119173, 119179, 119210, 119213,\n 119362, 119364, 119808, 119892, 119894, 119964, 119966, 119967,\n 119970, 119970, 119973, 119974, 119977, 119980, 119982, 119993,\n 119995, 119995, 119997, 120003, 120005, 120069, 120071, 120074,\n 120077, 120084, 120086, 120092, 120094, 120121, 120123, 120126,\n 120128, 120132, 120134, 120134, 120138, 120144, 120146, 120485,\n 120488, 120512, 120514, 120538, 120540, 120570, 120572, 120596,\n 120598, 120628, 120630, 120654, 120656, 120686, 120688, 120712,\n 120714, 120744, 120746, 120770, 120772, 120779, 120782, 120831,\n 121344, 121398, 121403, 121452, 121461, 121461, 121476, 121476,\n 121499, 121503, 121505, 121519, 122624, 122654, 122880, 122886,\n 122888, 122904, 122907, 122913, 122915, 122916, 122918, 122922,\n 123136, 123180, 123184, 123197, 123200, 123209, 123214, 123214,\n 123536, 123566, 123584, 123641, 124896, 124902, 124904, 124907,\n 124909, 124910, 124912, 124926, 124928, 125124, 125136, 125142,\n 125184, 125259, 125264, 125273, 126464, 126467, 126469, 126495,\n 126497, 126498, 126500, 126500, 126503, 126503, 126505, 126514,\n 126516, 126519, 126521, 126521, 126523, 126523, 126530, 126530,\n 126535, 126535, 126537, 126537, 126539, 126539, 126541, 126543,\n 126545, 126546, 126548, 126548, 126551, 126551, 126553, 126553,\n 126555, 126555, 126557, 126557, 126559, 126559, 126561, 126562,\n 126564, 126564, 126567, 126570, 126572, 126578, 126580, 126583,\n 126585, 126588, 126590, 126590, 126592, 126601, 126603, 126619,\n 126625, 126627, 126629, 126633, 126635, 126651, 130032, 130041,\n 131072, 173791, 173824, 177976, 177984, 178205, 178208, 183969,\n 183984, 191456, 194560, 195101, 196608, 201546, 917760, 917999,\n];\nconst unicodeIdentifierPartMin = 170;\nconst unicodeIdentifierPartMax = 917999;\n\nfunction lookupInUnicodeMap(code: i32, map: i32[]): bool {\n let lo = 0;\n let hi = map.length;\n while (lo + 1 < hi) {\n let mid = lo + ((hi - lo) >>> 1);\n mid -= (mid & 1);\n let midVal = map[mid];\n if (midVal <= code && code <= map[mid + 1]) {\n return true;\n }\n if (code < midVal) {\n hi = mid;\n } else {\n lo = mid + 2;\n }\n }\n return false;\n}\n\n/** Creates an indentation matching the number of specified levels. */\nconst indentX1 = \" \";\nconst indentX2 = \" \";\nconst indentX3 = \" \";\nconst indentX4 = \" \";\nconst indentCache = new Map();\n\nexport function indent(sb: string[], level: i32): void {\n if (level <= 4) {\n switch (level) {\n case 1: sb.push(indentX1); break;\n case 2: sb.push(indentX2); break;\n case 3: sb.push(indentX3); break;\n case 4: sb.push(indentX4); break;\n }\n } else {\n let indents: string;\n // Limit number of indent entries to 1024 for avoiding unnecessary\n // memory consumetion\n if (indentCache.size <= 1024) {\n if (indentCache.has(level)) {\n indents = assert(indentCache.get(level));\n } else {\n indentCache.set(level, (indents = indentX1.repeat(level)));\n }\n } else {\n indents = indentX1.repeat(level);\n }\n sb.push(indents);\n }\n}\n\n/** Escapes a string using the specified kind of quote. */\nexport function escapeString(str: string, quote: CharCode): string {\n let sb = new Array();\n let off = 0;\n let i = 0;\n for (let k = str.length; i < k;) {\n switch (str.charCodeAt(i)) {\n case CharCode.Null: {\n if (i > off) sb.push(str.substring(off, off = i + 1));\n sb.push(\"\\\\0\");\n off = ++i;\n break;\n }\n case CharCode.Backspace: {\n if (i > off) sb.push(str.substring(off, i));\n off = ++i;\n sb.push(\"\\\\b\");\n break;\n }\n case CharCode.Tab: {\n if (i > off) sb.push(str.substring(off, i));\n off = ++i;\n sb.push(\"\\\\t\");\n break;\n }\n case CharCode.LineFeed: {\n if (i > off) sb.push(str.substring(off, i));\n off = ++i;\n sb.push(\"\\\\n\");\n break;\n }\n case CharCode.VerticalTab: {\n if (i > off) sb.push(str.substring(off, i));\n off = ++i;\n sb.push(\"\\\\v\");\n break;\n }\n case CharCode.FormFeed: {\n if (i > off) sb.push(str.substring(off, i));\n off = ++i;\n sb.push(\"\\\\f\");\n break;\n }\n case CharCode.CarriageReturn: {\n if (i > off) sb.push(str.substring(off, i));\n sb.push(\"\\\\r\");\n off = ++i;\n break;\n }\n case CharCode.DoubleQuote: {\n if (quote == CharCode.DoubleQuote) {\n if (i > off) sb.push(str.substring(off, i));\n sb.push(\"\\\\\\\"\");\n off = ++i;\n } else {\n ++i;\n }\n break;\n }\n case CharCode.SingleQuote: {\n if (quote == CharCode.SingleQuote) {\n if (i > off) sb.push(str.substring(off, i));\n sb.push(\"\\\\'\");\n off = ++i;\n } else {\n ++i;\n }\n break;\n }\n case CharCode.Backslash: {\n if (i > off) sb.push(str.substring(off, i));\n sb.push(\"\\\\\\\\\");\n off = ++i;\n break;\n }\n case CharCode.Backtick: {\n if (quote == CharCode.Backtick) {\n if (i > off) sb.push(str.substring(off, i));\n sb.push(\"\\\\`\");\n off = ++i;\n } else {\n ++i;\n }\n break;\n }\n default: {\n ++i;\n break;\n }\n }\n }\n if (i > off) sb.push(str.substring(off, i));\n return sb.join(\"\");\n}\n", "/**\n * @fileoverview Various file path utility.\n * @license Apache-2.0\n */\n\nimport {\n CharCode\n} from \"./text\";\n\nimport {\n PATH_DELIMITER\n} from \"../common\";\n\nconst separator = CharCode.Slash;\n\n/**\n * Normalizes the specified path, removing interior placeholders.\n * Expects a posix-compatible relative path (not Windows compatible).\n */\nexport function normalizePath(path: string): string {\n let pos = 0;\n let len = path.length;\n\n // trim leading './'\n while (pos + 1 < len &&\n path.charCodeAt(pos) == CharCode.Dot &&\n path.charCodeAt(pos + 1) == separator\n ) {\n pos += 2;\n }\n\n if (pos > 0 || len < path.length) {\n path = path.substring(pos, len);\n len -= pos;\n pos = 0;\n }\n\n let atEnd: bool;\n while (pos + 1 < len) {\n atEnd = false;\n\n // we are only interested in '/.' sequences ...\n if (\n path.charCodeAt(pos) == separator &&\n path.charCodeAt(pos + 1) == CharCode.Dot\n ) {\n // '/.' ( '/' | $ )\n atEnd = pos + 2 == len;\n if (atEnd ||\n pos + 2 < len &&\n path.charCodeAt(pos + 2) == separator\n ) {\n path = atEnd\n ? path.substring(0, pos)\n : path.substring(0, pos) + path.substring(pos + 2);\n len -= 2;\n continue;\n }\n\n // '/.' ( './' | '.' $ )\n atEnd = pos + 3 == len;\n if (atEnd && path.charCodeAt(pos + 2) == CharCode.Dot ||\n pos + 3 < len &&\n path.charCodeAt(pos + 2) == CharCode.Dot &&\n path.charCodeAt(pos + 3) == separator\n ) {\n // find preceeding '/'\n let ipos = pos;\n while (--ipos >= 0) {\n if (path.charCodeAt(ipos) == separator) {\n if (pos - ipos != 3 ||\n path.charCodeAt(ipos + 1) != CharCode.Dot ||\n path.charCodeAt(ipos + 2) != CharCode.Dot\n ) { // exclude '..' itself\n path = atEnd\n ? path.substring(0, ipos)\n : path.substring(0, ipos) + path.substring(pos + 3);\n len -= pos + 3 - ipos;\n pos = ipos - 1; // incremented again at end of loop\n }\n break;\n }\n }\n\n // if there's no preceeding '/', trim start if non-empty\n if (ipos < 0 && pos > 0) {\n if (pos != 2 ||\n path.charCodeAt(0) != CharCode.Dot ||\n path.charCodeAt(1) != CharCode.Dot\n ) { // exclude '..' itself\n path = path.substring(pos + 4);\n len = path.length;\n continue;\n }\n }\n }\n }\n pos++;\n }\n return len > 0 ? path : \".\";\n}\n\n/** Resolves the specified path relative to the specified origin. */\nexport function resolvePath(normalizedPath: string, origin: string): string {\n if (normalizedPath.startsWith(\"std/\")) {\n return normalizedPath;\n }\n return normalizePath(\n dirname(origin) + PATH_DELIMITER + normalizedPath\n );\n}\n\n/** Obtains the directory portion of a normalized path. */\nexport function dirname(normalizedPath: string): string {\n let pos = normalizedPath.length;\n if (pos <= 1) {\n if (pos == 0) return \".\";\n if (normalizedPath.charCodeAt(0) == separator) {\n return normalizedPath;\n }\n }\n while (--pos > 0) {\n if (normalizedPath.charCodeAt(pos) == separator) {\n return normalizedPath.substring(0, pos);\n }\n }\n return \".\";\n}\n", "/**\n * @fileoverview Terminal utility.\n * @license Apache-2.0\n */\n\n/** Gray terminal color code. */\nexport const COLOR_GRAY = \"\\u001b[90m\";\n/** Red terminal color code. */\nexport const COLOR_RED = \"\\u001b[91m\";\n/** Green terminal color code. */\nexport const COLOR_GREEN = \"\\u001b[92m\";\n/** Yellow terminal color code. */\nexport const COLOR_YELLOW = \"\\u001b[93m\";\n/** Blue terminal color code. */\nexport const COLOR_BLUE = \"\\u001b[94m\";\n/** Magenta terminal color code. */\nexport const COLOR_MAGENTA = \"\\u001b[95m\";\n/** Cyan terminal color code. */\nexport const COLOR_CYAN = \"\\u001b[96m\";\n/** White terminal color code. */\nexport const COLOR_WHITE = \"\\u001b[97m\";\n/** Terminal color reset code. */\nexport const COLOR_RESET = \"\\u001b[0m\";\n\n/** Whether terminal colors are enabled or not. */\nlet colorsEnabled = true;\n\n/** Checks whether terminal colors are enabled or not. */\nexport function isColorsEnabled(): bool {\n return colorsEnabled;\n}\n\n/** Sets whether terminal colors are enabled or not. */\nexport function setColorsEnabled(isEnabled: bool): bool {\n let wasEnabled = isEnabled;\n colorsEnabled = isEnabled;\n return wasEnabled;\n}\n\n/** Wraps the specified text in the specified terminal color code. */\nexport function colorize(text: string, color: string): string {\n return colorsEnabled ? color + text + COLOR_RESET : text;\n}\n", "/**\n * @fileoverview Various vector utility.\n * @license Apache-2.0\n */\n\n/** v128 zero constant. */\nexport const v128_zero = new Uint8Array(16);\n/** v128 all ones constant. */\nexport const v128_ones = new Uint8Array(16).fill(0xFF);\n", "/**\n * @fileoverview Shared diagnostic handling.\n * @license Apache-2.0\n */\n\nimport {\n Source\n} from \"./ast\";\n\nimport {\n DiagnosticCode,\n diagnosticCodeToString\n} from \"./diagnosticMessages.generated\";\n\nimport {\n isLineBreak,\n isWhiteSpace,\n COLOR_CYAN,\n COLOR_YELLOW,\n COLOR_RED,\n COLOR_MAGENTA,\n COLOR_RESET,\n isColorsEnabled,\n setColorsEnabled,\n CharCode\n} from \"./util\";\n\nexport {\n DiagnosticCode,\n diagnosticCodeToString\n} from \"./diagnosticMessages.generated\";\n\n/** Indicates the category of a {@link DiagnosticMessage}. */\nexport const enum DiagnosticCategory {\n /** Overly pedantic message. */\n Pedantic,\n /** Informatory message. */\n Info,\n /** Warning message. */\n Warning,\n /** Error message. */\n Error\n}\n\nexport class Range {\n\n source!: Source;\n\n constructor(public start: i32, public end: i32) {}\n\n static join(a: Range, b: Range): Range {\n if (a.source != b.source) throw new Error(\"source mismatch\");\n let range = new Range(\n a.start < b.start ? a.start : b.start,\n a.end > b.end ? a.end : b.end\n );\n range.source = a.source;\n return range;\n }\n\n equals(other: Range): bool {\n return (\n this.source == other.source &&\n this.start == other.start &&\n this.end == other.end\n );\n }\n\n get atStart(): Range {\n let range = new Range(this.start, this.start);\n range.source = this.source;\n return range;\n }\n\n get atEnd(): Range {\n let range = new Range(this.end, this.end);\n range.source = this.source;\n return range;\n }\n\n toString(): string {\n return this.source.text.substring(this.start, this.end);\n }\n}\n\n/** Returns the string representation of the specified diagnostic category. */\nexport function diagnosticCategoryToString(category: DiagnosticCategory): string {\n switch (category) {\n case DiagnosticCategory.Pedantic: return \"PEDANTIC\";\n case DiagnosticCategory.Info: return \"INFO\";\n case DiagnosticCategory.Warning: return \"WARNING\";\n case DiagnosticCategory.Error: return \"ERROR\";\n default: {\n assert(false);\n return \"\";\n }\n }\n}\n\n/** Returns the ANSI escape sequence for the specified category. */\nexport function diagnosticCategoryToColor(category: DiagnosticCategory): string {\n switch (category) {\n case DiagnosticCategory.Pedantic: return COLOR_MAGENTA;\n case DiagnosticCategory.Info: return COLOR_CYAN;\n case DiagnosticCategory.Warning: return COLOR_YELLOW;\n case DiagnosticCategory.Error: return COLOR_RED;\n default: {\n assert(false);\n return \"\";\n }\n }\n}\n\n/** Represents a diagnostic message. */\nexport class DiagnosticMessage {\n\n /** Message code. */\n code: i32;\n /** Message category. */\n category: DiagnosticCategory;\n /** Message text. */\n message: string;\n /** Respective source range, if any. */\n range: Range | null = null;\n /** Related range, if any. */\n relatedRange: Range | null = null; // TODO: Make this a related message for chains?\n\n /** Constructs a new diagnostic message. */\n private constructor(code: i32, category: DiagnosticCategory, message: string) {\n this.code = code;\n this.category = category;\n this.message = message;\n }\n\n /** Creates a new diagnostic message of the specified category. */\n static create(\n code: DiagnosticCode,\n category: DiagnosticCategory,\n arg0: string | null = null,\n arg1: string | null = null,\n arg2: string | null = null\n ): DiagnosticMessage {\n let message = diagnosticCodeToString(code);\n if (arg0 != null) message = message.replace(\"{0}\", arg0);\n if (arg1 != null) message = message.replace(\"{1}\", arg1);\n if (arg2 != null) message = message.replace(\"{2}\", arg2);\n return new DiagnosticMessage(code, category, message);\n }\n\n /** Tests if this message equals the specified. */\n equals(other: DiagnosticMessage): bool {\n if (this.code != other.code) return false;\n let thisRange = this.range;\n let otherRange = other.range;\n if (thisRange) {\n if (!otherRange || !thisRange.equals(otherRange)) return false;\n } else if (otherRange) {\n return false;\n }\n let thisRelatedRange = this.relatedRange;\n let otherRelatedRange = other.relatedRange;\n if (thisRelatedRange) {\n if (!otherRelatedRange || !thisRelatedRange.equals(otherRelatedRange)) return false;\n } else if (otherRelatedRange) {\n return false;\n }\n return this.message == other.message;\n }\n\n /** Adds a source range to this message. */\n withRange(range: Range): this {\n this.range = range;\n return this;\n }\n\n /** Adds a related source range to this message. */\n withRelatedRange(range: Range): this {\n this.relatedRange = range;\n return this;\n }\n\n /** Converts this message to a string. */\n toString(): string {\n let category = diagnosticCategoryToString(this.category);\n let range = this.range;\n let code = this.code;\n let message = this.message;\n if (range) {\n let source = range.source;\n let path = source.normalizedPath;\n let line = source.lineAt(range.start);\n let column = source.columnAt();\n let len = range.end - range.start;\n return `${category} ${code}: \"${message}\" in ${path}(${line},${column}+${len})`;\n }\n return `${category} ${code}: ${message}`;\n }\n}\n\n/** Formats a diagnostic message, optionally with terminal colors and source context. */\nexport function formatDiagnosticMessage(\n message: DiagnosticMessage,\n useColors: bool = false,\n showContext: bool = false\n): string {\n let wasColorsEnabled = setColorsEnabled(useColors);\n\n // general information\n let sb: string[] = [];\n if (isColorsEnabled()) sb.push(diagnosticCategoryToColor(message.category));\n sb.push(diagnosticCategoryToString(message.category));\n if (isColorsEnabled()) sb.push(COLOR_RESET);\n sb.push(message.code < 1000 ? \" AS\" : \" TS\");\n sb.push(message.code.toString());\n sb.push(\": \");\n sb.push(message.message);\n\n // include range information if available\n let range = message.range;\n if (range) {\n let source = range.source;\n let relatedRange = message.relatedRange;\n let minLine = 0;\n if (relatedRange) {\n // Justify context indentation when multiple ranges are present\n minLine = max(source.lineAt(range.start), relatedRange.source.lineAt(relatedRange.start));\n }\n\n // include context information if requested\n if (showContext) {\n sb.push(\"\\n\");\n sb.push(formatDiagnosticContext(range, minLine));\n } else {\n sb.push(\"\\n in \");\n sb.push(source.normalizedPath);\n }\n sb.push(\"(\");\n sb.push(source.lineAt(range.start).toString());\n sb.push(\",\");\n sb.push(source.columnAt().toString());\n sb.push(\")\");\n\n if (relatedRange) {\n let relatedSource = relatedRange.source;\n if (showContext) {\n sb.push(\"\\n\");\n sb.push(formatDiagnosticContext(relatedRange, minLine));\n } else {\n sb.push(\"\\n in \");\n sb.push(relatedSource.normalizedPath);\n }\n sb.push(\"(\");\n sb.push(relatedSource.lineAt(relatedRange.start).toString());\n sb.push(\",\");\n sb.push(relatedSource.columnAt().toString());\n sb.push(\")\");\n }\n }\n setColorsEnabled(wasColorsEnabled);\n return sb.join(\"\");\n}\n\n/** Formats the diagnostic context for the specified range, optionally with terminal colors. */\nfunction formatDiagnosticContext(range: Range, minLine: i32 = 0): string {\n let source = range.source;\n let text = source.text;\n let len = text.length;\n let start = range.start;\n let end = start;\n let lineNumber = source.lineAt(start).toString();\n let lineNumberLength = minLine\n ? max(minLine.toString().length, lineNumber.length)\n : lineNumber.length;\n let lineSpace = \" \".repeat(lineNumberLength);\n // Find preceeding line break\n while (start > 0 && !isLineBreak(text.charCodeAt(start - 1))) start--;\n // Skip leading whitespace (assume no supplementary whitespaces)\n while (start < len && isWhiteSpace(text.charCodeAt(start))) start++;\n // Find next line break\n while (end < len && !isLineBreak(text.charCodeAt(end))) end++;\n let sb: string[] = [\n lineSpace,\n \" :\\n \",\n \" \".repeat(lineNumberLength - lineNumber.length),\n lineNumber,\n \" \u2502 \",\n text.substring(start, end).replaceAll(\"\\t\", \" \"),\n \"\\n \",\n lineSpace,\n \" \u2502 \"\n ];\n while (start < range.start) {\n if (text.charCodeAt(start) == CharCode.Tab) {\n sb.push(\" \");\n start += 2;\n } else {\n sb.push(\" \");\n start++;\n }\n }\n if (isColorsEnabled()) sb.push(COLOR_RED);\n if (range.start == range.end) {\n sb.push(\"^\");\n } else {\n while (start++ < range.end) {\n let cc = text.charCodeAt(start);\n if (cc == CharCode.Tab) {\n sb.push(\"~~\");\n } else if (isLineBreak(cc)) {\n sb.push(start == range.start + 1 ? \"^\" : \"~\");\n break;\n } else {\n sb.push(\"~\");\n }\n }\n }\n if (isColorsEnabled()) sb.push(COLOR_RESET);\n sb.push(\"\\n \");\n sb.push(lineSpace);\n sb.push(\" \u2514\u2500 in \");\n sb.push(source.normalizedPath);\n return sb.join(\"\");\n}\n\n/** Base class of all diagnostic emitters. */\nexport abstract class DiagnosticEmitter {\n\n /** Diagnostic messages emitted so far. */\n diagnostics: DiagnosticMessage[];\n /** Diagnostic messages already seen, by range. */\n private seen: Map> = new Map();\n\n /** Initializes this diagnostic emitter. */\n protected constructor(diagnostics: DiagnosticMessage[] | null = null) {\n if (!diagnostics) diagnostics = [];\n this.diagnostics = diagnostics;\n }\n\n /** Emits a diagnostic message of the specified category. */\n emitDiagnostic(\n code: DiagnosticCode,\n category: DiagnosticCategory,\n range: Range | null,\n relatedRange: Range | null,\n arg0: string | null = null,\n arg1: string | null = null,\n arg2: string | null = null\n ): void {\n let message = DiagnosticMessage.create(code, category, arg0, arg1, arg2);\n if (range) message = message.withRange(range);\n if (relatedRange) message.relatedRange = relatedRange;\n // It is possible that the same diagnostic is emitted twice, for example\n // when compiling generics with different types or when recompiling a loop\n // because our initial assumptions didn't hold. It is even possible to get\n // multiple instances of the same range during parsing. Deduplicate these.\n if (range) {\n let seen = this.seen;\n if (seen.has(range.source)) {\n let seenInSource = assert(seen.get(range.source));\n if (seenInSource.has(range.start)) {\n let seenMessagesAtPos = assert(seenInSource.get(range.start));\n for (let i = 0, k = seenMessagesAtPos.length; i < k; ++i) {\n if (seenMessagesAtPos[i].equals(message)) return;\n }\n seenMessagesAtPos.push(message);\n } else {\n seenInSource.set(range.start, [ message ]);\n }\n } else {\n let seenInSource = new Map();\n seenInSource.set(range.start, [ message ]);\n seen.set(range.source, seenInSource);\n }\n }\n this.diagnostics.push(message);\n // console.log(formatDiagnosticMessage(message, true, true) + \"\\n\"); // temporary\n // console.log(new Error(\"stack\").stack);\n }\n\n /** Emits an overly pedantic diagnostic message. */\n pedantic(\n code: DiagnosticCode,\n range: Range | null,\n arg0: string | null = null,\n arg1: string | null = null,\n arg2: string | null = null\n ): void {\n this.emitDiagnostic(code, DiagnosticCategory.Pedantic, range, null, arg0, arg1, arg2);\n }\n\n /** Emits an overly pedantic diagnostic message with a related range. */\n pedanticRelated(\n code: DiagnosticCode,\n range: Range,\n relatedRange: Range,\n arg0: string | null = null,\n arg1: string | null = null,\n arg2: string | null = null\n ): void {\n this.emitDiagnostic(code, DiagnosticCategory.Pedantic, range, relatedRange, arg0, arg1, arg2);\n }\n\n /** Emits an informatory diagnostic message. */\n info(\n code: DiagnosticCode,\n range: Range | null,\n arg0: string | null = null,\n arg1: string | null = null,\n arg2: string | null = null\n ): void {\n this.emitDiagnostic(code, DiagnosticCategory.Info, range, null, arg0, arg1, arg2);\n }\n\n /** Emits an informatory diagnostic message with a related range. */\n infoRelated(\n code: DiagnosticCode,\n range: Range,\n relatedRange: Range,\n arg0: string | null = null,\n arg1: string | null = null,\n arg2: string | null = null\n ): void {\n this.emitDiagnostic(code, DiagnosticCategory.Info, range, relatedRange, arg0, arg1, arg2);\n }\n\n /** Emits a warning diagnostic message. */\n warning(\n code: DiagnosticCode,\n range: Range | null,\n arg0: string | null = null,\n arg1: string | null = null,\n arg2: string | null = null\n ): void {\n this.emitDiagnostic(code, DiagnosticCategory.Warning, range, null, arg0, arg1, arg2);\n }\n\n /** Emits a warning diagnostic message with a related range. */\n warningRelated(\n code: DiagnosticCode,\n range: Range,\n relatedRange: Range,\n arg0: string | null = null,\n arg1: string | null = null,\n arg2: string | null = null\n ): void {\n this.emitDiagnostic(code, DiagnosticCategory.Warning, range, relatedRange, arg0, arg1, arg2);\n }\n\n /** Emits an error diagnostic message. */\n error(\n code: DiagnosticCode,\n range: Range | null,\n arg0: string | null = null,\n arg1: string | null = null,\n arg2: string | null = null\n ): void {\n this.emitDiagnostic(code, DiagnosticCategory.Error, range, null, arg0, arg1, arg2);\n }\n\n /** Emits an error diagnostic message with a related range. */\n errorRelated(\n code: DiagnosticCode,\n range: Range,\n relatedRange: Range,\n arg0: string | null = null,\n arg1: string | null = null,\n arg2: string | null = null\n ): void {\n this.emitDiagnostic(code, DiagnosticCategory.Error, range, relatedRange, arg0, arg1, arg2);\n }\n}\n", "/**\n * @fileoverview Abstract syntax tree representing a source file once parsed.\n *\n * Each node in the AST is represented by an instance of a subclass of `Node`,\n * with its `Node#kind` represented by one of the `NodeKind` constants, which\n * dependent code typically switches over. The intended way to create a node\n * is to use the respective `Node.createX` method instead of its constructor.\n *\n * Note that the AST does not contain any type information except type names.\n *\n * @license Apache-2.0\n */\n\n// TODO: Make the AST more easily serializable by refactoring `Node#range` so\n// it doesn't reference the non-serializable `Source` object.\n\nimport {\n CommonFlags,\n PATH_DELIMITER,\n LIBRARY_PREFIX,\n LIBRARY_SUBST\n} from \"./common\";\n\nimport {\n Range\n} from \"./diagnostics\";\n\nimport {\n Token\n} from \"./tokenizer\";\n\nimport {\n normalizePath,\n resolvePath,\n CharCode\n} from \"./util\";\n\nimport {\n ExpressionRef\n} from \"./module\";\n\nimport {\n Type\n} from \"./types\";\n\n/** Indicates the kind of a node. */\nexport const enum NodeKind {\n\n Source,\n\n // types\n NamedType,\n FunctionType,\n TypeName,\n TypeParameter,\n Parameter,\n\n // expressions\n Identifier,\n Assertion,\n Binary,\n Call,\n Class,\n Comma,\n ElementAccess,\n False,\n Function,\n InstanceOf,\n Literal,\n New,\n Null,\n Omitted,\n Parenthesized,\n PropertyAccess,\n Ternary,\n Super,\n This,\n True,\n Constructor,\n UnaryPostfix,\n UnaryPrefix,\n Compiled,\n\n // statements\n Block,\n Break,\n Continue,\n Do,\n Empty,\n Export,\n ExportDefault,\n ExportImport,\n Expression,\n For,\n ForOf,\n If,\n Import,\n Return,\n Switch,\n Throw,\n Try,\n Variable,\n Void,\n While,\n Module,\n\n // declaration statements\n ClassDeclaration,\n EnumDeclaration,\n EnumValueDeclaration,\n FieldDeclaration,\n FunctionDeclaration,\n ImportDeclaration,\n InterfaceDeclaration,\n MethodDeclaration,\n NamespaceDeclaration,\n TypeDeclaration,\n VariableDeclaration,\n\n // special\n Decorator,\n ExportMember,\n SwitchCase,\n IndexSignature,\n Comment\n}\n\n/** Base class of all nodes. */\nexport abstract class Node {\n constructor(\n /** Kind of this node. */\n public kind: NodeKind,\n /** Source range. */\n public range: Range\n ) {}\n\n // types\n\n static createSimpleTypeName(\n name: string,\n range: Range\n ): TypeName {\n return new TypeName(Node.createIdentifierExpression(name, range), null, range);\n }\n\n static createNamedType(\n name: TypeName,\n typeArguments: TypeNode[] | null,\n isNullable: bool,\n range: Range\n ): NamedTypeNode {\n return new NamedTypeNode(name, typeArguments, isNullable, range);\n }\n\n static createFunctionType(\n parameters: ParameterNode[],\n returnType: TypeNode,\n explicitThisType: NamedTypeNode | null,\n isNullable: bool,\n range: Range\n ): FunctionTypeNode {\n return new FunctionTypeNode(parameters, returnType, explicitThisType, isNullable, range);\n }\n\n static createOmittedType(\n range: Range\n ): NamedTypeNode {\n return new NamedTypeNode(Node.createSimpleTypeName(\"\", range), null, false, range);\n }\n\n static createTypeParameter(\n name: IdentifierExpression,\n extendsType: NamedTypeNode | null,\n defaultType: NamedTypeNode | null,\n range: Range\n ): TypeParameterNode {\n return new TypeParameterNode(name, extendsType, defaultType, range);\n }\n\n static createParameter(\n parameterKind: ParameterKind,\n name: IdentifierExpression,\n type: TypeNode,\n initializer: Expression | null,\n range: Range\n ): ParameterNode {\n return new ParameterNode(parameterKind, name, type, initializer, range);\n }\n\n // special\n\n static createDecorator(\n name: Expression,\n args: Expression[] | null,\n range: Range\n ): DecoratorNode {\n return new DecoratorNode(DecoratorKind.fromNode(name), name, args, range);\n }\n\n static createComment(\n commentKind: CommentKind,\n text: string,\n range: Range\n ): CommentNode {\n return new CommentNode(commentKind, text, range);\n }\n\n // expressions\n\n static createIdentifierExpression(\n text: string,\n range: Range,\n isQuoted: bool = false\n ): IdentifierExpression {\n return new IdentifierExpression(text, isQuoted, range);\n }\n\n static createEmptyIdentifierExpression(\n range: Range\n ): IdentifierExpression {\n return new IdentifierExpression(\"\", false, range);\n }\n\n static createArrayLiteralExpression(\n elementExpressions: Expression[],\n range: Range\n ): ArrayLiteralExpression {\n return new ArrayLiteralExpression(elementExpressions, range);\n }\n\n static createAssertionExpression(\n assertionKind: AssertionKind,\n expression: Expression,\n toType: TypeNode | null,\n range: Range\n ): AssertionExpression {\n return new AssertionExpression(assertionKind, expression, toType, range);\n }\n\n static createBinaryExpression(\n operator: Token,\n left: Expression,\n right: Expression,\n range: Range\n ): BinaryExpression {\n return new BinaryExpression(operator, left, right, range);\n }\n\n static createCallExpression(\n expression: Expression,\n typeArguments: TypeNode[] | null,\n args: Expression[],\n range: Range\n ): CallExpression {\n return new CallExpression(expression, typeArguments, args, range);\n }\n\n static createClassExpression(\n declaration: ClassDeclaration\n ): ClassExpression {\n return new ClassExpression(declaration);\n }\n\n static createCommaExpression(\n expressions: Expression[],\n range: Range\n ): CommaExpression {\n return new CommaExpression(expressions, range);\n }\n\n static createConstructorExpression(\n range: Range\n ): ConstructorExpression {\n return new ConstructorExpression(range);\n }\n\n static createElementAccessExpression(\n expression: Expression,\n elementExpression: Expression,\n range: Range\n ): ElementAccessExpression {\n return new ElementAccessExpression(expression, elementExpression, range);\n }\n\n static createFalseExpression(\n range: Range\n ): FalseExpression {\n return new FalseExpression(range);\n }\n\n static createFloatLiteralExpression(\n value: f64,\n range: Range\n ): FloatLiteralExpression {\n return new FloatLiteralExpression(value, range);\n }\n\n static createFunctionExpression(\n declaration: FunctionDeclaration\n ): FunctionExpression {\n return new FunctionExpression(declaration);\n }\n\n static createInstanceOfExpression(\n expression: Expression,\n isType: TypeNode,\n range: Range\n ): InstanceOfExpression {\n return new InstanceOfExpression(expression, isType, range);\n }\n\n static createIntegerLiteralExpression(\n value: i64,\n range: Range\n ): IntegerLiteralExpression {\n return new IntegerLiteralExpression(value, range);\n }\n\n static createNewExpression(\n typeName: TypeName,\n typeArguments: TypeNode[] | null,\n args: Expression[],\n range: Range\n ): NewExpression {\n return new NewExpression(typeName, typeArguments, args, range);\n }\n\n static createNullExpression(\n range: Range\n ): NullExpression {\n return new NullExpression(range);\n }\n\n static createObjectLiteralExpression(\n names: IdentifierExpression[],\n values: Expression[],\n range: Range\n ): ObjectLiteralExpression {\n return new ObjectLiteralExpression(names, values, range);\n }\n\n static createOmittedExpression(\n range: Range\n ): OmittedExpression {\n return new OmittedExpression(range);\n }\n\n static createParenthesizedExpression(\n expression: Expression,\n range: Range\n ): ParenthesizedExpression {\n return new ParenthesizedExpression(expression, range);\n }\n\n static createPropertyAccessExpression(\n expression: Expression,\n property: IdentifierExpression,\n range: Range\n ): PropertyAccessExpression {\n return new PropertyAccessExpression(expression, property, range);\n }\n\n static createRegexpLiteralExpression(\n pattern: string,\n patternFlags: string,\n range: Range\n ): RegexpLiteralExpression {\n return new RegexpLiteralExpression(pattern, patternFlags, range);\n }\n\n static createTernaryExpression(\n condition: Expression,\n ifThen: Expression,\n ifElse: Expression,\n range: Range\n ): TernaryExpression {\n return new TernaryExpression(condition, ifThen, ifElse, range);\n }\n\n static createStringLiteralExpression(\n value: string,\n range: Range\n ): StringLiteralExpression {\n return new StringLiteralExpression(value, range);\n }\n\n static createSuperExpression(\n range: Range\n ): SuperExpression {\n return new SuperExpression(range);\n }\n\n static createTemplateLiteralExpression(\n tag: Expression | null,\n parts: string[],\n rawParts: string[],\n expressions: Expression[],\n range: Range\n ): TemplateLiteralExpression {\n return new TemplateLiteralExpression(tag, parts, rawParts, expressions, range);\n }\n\n static createThisExpression(\n range: Range\n ): ThisExpression {\n return new ThisExpression(range);\n }\n\n static createTrueExpression(\n range: Range\n ): TrueExpression {\n return new TrueExpression(range);\n }\n\n static createUnaryPostfixExpression(\n operator: Token,\n operand: Expression,\n range: Range\n ): UnaryPostfixExpression {\n return new UnaryPostfixExpression(operator, operand, range);\n }\n\n static createUnaryPrefixExpression(\n operator: Token,\n operand: Expression,\n range: Range\n ): UnaryPrefixExpression {\n return new UnaryPrefixExpression(operator, operand, range);\n }\n\n static createCompiledExpression(\n expr: ExpressionRef,\n type: Type,\n range: Range\n ): Expression {\n return new CompiledExpression(expr, type, range);\n }\n\n // statements\n\n static createBlockStatement(\n statements: Statement[],\n range: Range\n ): BlockStatement {\n return new BlockStatement(statements, range);\n }\n\n static createBreakStatement(\n label: IdentifierExpression | null,\n range: Range\n ): BreakStatement {\n return new BreakStatement(label, range);\n }\n\n static createClassDeclaration(\n name: IdentifierExpression,\n decorators: DecoratorNode[] | null,\n flags: CommonFlags,\n typeParameters: TypeParameterNode[] | null,\n extendsType: NamedTypeNode | null,\n implementsTypes: NamedTypeNode[] | null,\n members: DeclarationStatement[],\n range: Range\n ): ClassDeclaration {\n return new ClassDeclaration(name, decorators, flags, typeParameters, extendsType, implementsTypes, members, range);\n }\n\n static createContinueStatement(\n label: IdentifierExpression | null,\n range: Range\n ): ContinueStatement {\n return new ContinueStatement(label, range);\n }\n\n static createDoStatement(\n body: Statement,\n condition: Expression,\n range: Range\n ): DoStatement {\n return new DoStatement(body, condition, range);\n }\n\n static createEmptyStatement(\n range: Range\n ): EmptyStatement {\n return new EmptyStatement(range);\n }\n\n static createEnumDeclaration(\n name: IdentifierExpression,\n decorators: DecoratorNode[] | null,\n flags: CommonFlags,\n values: EnumValueDeclaration[],\n range: Range\n ): EnumDeclaration {\n return new EnumDeclaration(name, decorators, flags, values, range);\n }\n\n static createEnumValueDeclaration(\n name: IdentifierExpression,\n flags: CommonFlags,\n initializer: Expression | null,\n range: Range\n ): EnumValueDeclaration {\n return new EnumValueDeclaration(name, flags, initializer, range);\n }\n\n static createExportStatement(\n members: ExportMember[] | null,\n path: StringLiteralExpression | null,\n isDeclare: bool,\n range: Range\n ): ExportStatement {\n return new ExportStatement(members, path, isDeclare, range);\n }\n\n static createExportDefaultStatement(\n declaration: DeclarationStatement,\n range: Range\n ): ExportDefaultStatement {\n return new ExportDefaultStatement(declaration, range);\n }\n\n static createExportImportStatement(\n name: IdentifierExpression,\n externalName: IdentifierExpression,\n range: Range\n ): ExportImportStatement {\n return new ExportImportStatement(name, externalName, range);\n }\n\n static createExportMember(\n localName: IdentifierExpression,\n exportedName: IdentifierExpression | null,\n range: Range\n ): ExportMember {\n if (!exportedName) exportedName = localName;\n return new ExportMember(localName, exportedName, range);\n }\n\n static createExpressionStatement(\n expression: Expression\n ): ExpressionStatement {\n return new ExpressionStatement(expression);\n }\n\n static createIfStatement(\n condition: Expression,\n ifTrue: Statement,\n ifFalse: Statement | null,\n range: Range\n ): IfStatement {\n return new IfStatement(condition, ifTrue, ifFalse, range);\n }\n\n static createImportStatement(\n declarations: ImportDeclaration[] | null,\n path: StringLiteralExpression,\n range: Range\n ): ImportStatement {\n return new ImportStatement(declarations, null, path, range);\n }\n\n static createWildcardImportStatement(\n namespaceName: IdentifierExpression,\n path: StringLiteralExpression,\n range: Range\n ): ImportStatement {\n return new ImportStatement(null, namespaceName, path, range);\n }\n\n static createImportDeclaration(\n foreignName: IdentifierExpression,\n name: IdentifierExpression | null,\n range: Range\n ): ImportDeclaration {\n if (!name) name = foreignName;\n return new ImportDeclaration(name, foreignName, range);\n }\n\n static createInterfaceDeclaration(\n name: IdentifierExpression,\n decorators: DecoratorNode[] | null,\n flags: CommonFlags,\n typeParameters: TypeParameterNode[] | null,\n extendsType: NamedTypeNode | null,\n implementsTypes: NamedTypeNode[] | null,\n members: DeclarationStatement[],\n range: Range\n ): InterfaceDeclaration {\n return new InterfaceDeclaration(name, decorators, flags, typeParameters, extendsType, implementsTypes, members, range);\n }\n\n static createFieldDeclaration(\n name: IdentifierExpression,\n decorators: DecoratorNode[] | null,\n flags: CommonFlags,\n type: TypeNode | null,\n initializer: Expression | null,\n range: Range\n ): FieldDeclaration {\n return new FieldDeclaration(name, decorators, flags, type, initializer, -1, range);\n }\n\n static createForStatement(\n initializer: Statement | null,\n condition: Expression | null,\n incrementor: Expression | null,\n body: Statement,\n range: Range\n ): ForStatement {\n return new ForStatement(initializer, condition, incrementor, body, range);\n }\n\n static createForOfStatement(\n variable: Statement,\n iterable: Expression,\n body: Statement,\n range: Range\n ): ForOfStatement {\n return new ForOfStatement(variable, iterable, body, range);\n }\n\n static createFunctionDeclaration(\n name: IdentifierExpression,\n decorators: DecoratorNode[] | null,\n flags: CommonFlags,\n typeParameters: TypeParameterNode[] | null,\n signature: FunctionTypeNode,\n body: Statement | null,\n arrowKind: ArrowKind,\n range: Range\n ): FunctionDeclaration {\n return new FunctionDeclaration(name, decorators, flags, typeParameters, signature, body, arrowKind, range);\n }\n\n static createIndexSignature(\n keyType: NamedTypeNode,\n valueType: TypeNode,\n flags: CommonFlags,\n range: Range\n ): IndexSignatureNode {\n return new IndexSignatureNode(keyType, valueType, flags, range);\n }\n\n static createMethodDeclaration(\n name: IdentifierExpression,\n decorators: DecoratorNode[] | null,\n flags: CommonFlags,\n typeParameters: TypeParameterNode[] | null,\n signature: FunctionTypeNode,\n body: Statement | null,\n range: Range\n ): MethodDeclaration {\n return new MethodDeclaration(name, decorators, flags, typeParameters, signature, body, range);\n }\n\n static createNamespaceDeclaration(\n name: IdentifierExpression,\n decorators: DecoratorNode[] | null,\n flags: CommonFlags,\n members: Statement[],\n range: Range\n ): NamespaceDeclaration {\n return new NamespaceDeclaration(name, decorators, flags, members, range);\n }\n\n static createReturnStatement(\n value: Expression | null,\n range: Range\n ): ReturnStatement {\n return new ReturnStatement(value, range);\n }\n\n static createSwitchStatement(\n condition: Expression,\n cases: SwitchCase[],\n range: Range\n ): SwitchStatement {\n return new SwitchStatement(condition, cases, range);\n }\n\n static createSwitchCase(\n label: Expression | null,\n statements: Statement[],\n range: Range\n ): SwitchCase {\n return new SwitchCase(label, statements, range);\n }\n\n static createThrowStatement(\n value: Expression,\n range: Range\n ): ThrowStatement {\n return new ThrowStatement(value, range);\n }\n\n static createTryStatement(\n bodyStatements: Statement[],\n catchVariable: IdentifierExpression | null,\n catchStatements: Statement[] | null,\n finallyStatements: Statement[] | null,\n range: Range\n ): TryStatement {\n return new TryStatement(bodyStatements, catchVariable, catchStatements, finallyStatements, range);\n }\n\n static createTypeDeclaration(\n name: IdentifierExpression,\n decorators: DecoratorNode[] | null,\n flags: CommonFlags,\n typeParameters: TypeParameterNode[] | null,\n type: TypeNode,\n range: Range\n ): TypeDeclaration {\n return new TypeDeclaration(name, decorators, flags, typeParameters, type, range);\n }\n\n static createModuleDeclaration(\n name: string,\n flags: CommonFlags,\n range: Range\n ): ModuleDeclaration {\n return new ModuleDeclaration(name, flags, range);\n }\n\n static createVariableStatement(\n decorators: DecoratorNode[] | null,\n declarations: VariableDeclaration[],\n range: Range\n ): VariableStatement {\n return new VariableStatement(decorators, declarations, range);\n }\n\n static createVariableDeclaration(\n name: IdentifierExpression,\n decorators: DecoratorNode[] | null,\n flags: CommonFlags,\n type: TypeNode | null,\n initializer: Expression | null,\n range: Range\n ): VariableDeclaration {\n return new VariableDeclaration(name, decorators, flags, type, initializer, range);\n }\n\n static createVoidStatement(\n expression: Expression,\n range: Range\n ): VoidStatement {\n return new VoidStatement(expression, range);\n }\n\n static createWhileStatement(\n condition: Expression,\n statement: Statement,\n range: Range\n ): WhileStatement {\n return new WhileStatement(condition, statement, range);\n }\n\n /** Tests if this node is a literal of the specified kind. */\n isLiteralKind(literalKind: LiteralKind): bool {\n return this.kind == NodeKind.Literal\n && (changetype(this)).literalKind == literalKind; // TS\n }\n\n /** Tests if this node is a literal of a numeric kind (float or integer). */\n get isNumericLiteral(): bool {\n if (this.kind == NodeKind.Literal) {\n switch ((changetype(this)).literalKind) { // TS\n case LiteralKind.Float:\n case LiteralKind.Integer: return true;\n }\n }\n return false;\n }\n\n /** Tests whether this node is guaranteed to compile to a constant value. */\n get compilesToConst(): bool {\n switch (this.kind) {\n case NodeKind.Literal: {\n switch ((changetype(this)).literalKind) { // TS\n case LiteralKind.Float:\n case LiteralKind.Integer:\n case LiteralKind.String: return true;\n }\n break;\n }\n case NodeKind.Null:\n case NodeKind.True:\n case NodeKind.False: return true;\n }\n return false;\n }\n\n private isAccessOn(kind: NodeKind): bool {\n let node = changetype(this);\n if (node.kind == NodeKind.Call) {\n node = (node).expression;\n }\n if (node.kind == NodeKind.PropertyAccess) {\n let target = (node).expression;\n if (target.kind == kind) return true;\n }\n return false;\n }\n\n /** Checks if this node accesses a method or property on `this`. */\n get isAccessOnThis(): bool {\n return this.isAccessOn(NodeKind.This);\n }\n\n /** Checks if this node accesses a method or property on `super`. */\n get isAccessOnSuper(): bool {\n return this.isAccessOn(NodeKind.Super);\n }\n\n get isEmpty(): bool {\n return this.kind == NodeKind.Empty;\n }\n}\n\n// types\n\nexport abstract class TypeNode extends Node {\n constructor(\n /** Kind of the type node. */\n kind: NodeKind,\n /** Whether nullable or not. */\n public isNullable: bool,\n /** Source range. */\n range: Range\n ) {\n super(kind, range);\n }\n\n /** Whether this type node is currently in the process of being resolved. */\n currentlyResolving: bool = false;\n\n /** Tests if this type has a generic component matching one of the given type parameters. */\n hasGenericComponent(typeParameterNodes: TypeParameterNode[]): bool {\n if (this.kind == NodeKind.NamedType) {\n let namedTypeNode = changetype(this); // TS\n if (!namedTypeNode.name.next) {\n let typeArgumentNodes = namedTypeNode.typeArguments;\n if (typeArgumentNodes && typeArgumentNodes.length > 0) {\n for (let i = 0, k = typeArgumentNodes.length; i < k; ++i) {\n if (typeArgumentNodes[i].hasGenericComponent(typeParameterNodes)) return true;\n }\n } else {\n let name = namedTypeNode.name.identifier.text;\n for (let i = 0, k = typeParameterNodes.length; i < k; ++i) {\n if (typeParameterNodes[i].name.text == name) return true;\n }\n }\n }\n } else if (this.kind == NodeKind.FunctionType) {\n let functionTypeNode = changetype(this); // TS\n let parameterNodes = functionTypeNode.parameters;\n for (let i = 0, k = parameterNodes.length; i < k; ++i) {\n if (parameterNodes[i].type.hasGenericComponent(typeParameterNodes)) return true;\n }\n if (functionTypeNode.returnType.hasGenericComponent(typeParameterNodes)) return true;\n let explicitThisType = functionTypeNode.explicitThisType;\n if (explicitThisType && explicitThisType.hasGenericComponent(typeParameterNodes)) return true;\n } else {\n assert(false);\n }\n return false;\n }\n}\n\n/** Represents a type name. */\nexport class TypeName extends Node {\n constructor(\n /** Identifier of this part. */\n public identifier: IdentifierExpression,\n /** Next part of the type name or `null` if this is the last part. */\n public next: TypeName | null,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.TypeName, range);\n }\n}\n\n/** Represents a named type. */\nexport class NamedTypeNode extends TypeNode {\n constructor(\n /** Type name. */\n public name: TypeName,\n /** Type argument references. */\n public typeArguments: TypeNode[] | null,\n /** Whether nullable or not. */\n isNullable: bool,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.NamedType, isNullable, range);\n }\n\n /** Checks if this type node has type arguments. */\n get hasTypeArguments(): bool {\n let typeArguments = this.typeArguments;\n return typeArguments != null && typeArguments.length > 0;\n }\n\n /** Tests if this type is \"null\". */\n get isNull(): bool {\n return this.name.identifier.text == \"null\";\n }\n}\n\n/** Represents a function type. */\nexport class FunctionTypeNode extends TypeNode {\n constructor(\n /** Function parameters. */\n public parameters: ParameterNode[],\n /** Return type. */\n public returnType: TypeNode,\n /** Explicitly provided this type, if any. */\n public explicitThisType: NamedTypeNode | null, // can't be a function\n /** Whether nullable or not. */\n isNullable: bool,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.FunctionType, isNullable, range);\n }\n}\n\n/** Represents a type parameter. */\nexport class TypeParameterNode extends Node {\n constructor(\n /** Identifier reference. */\n public name: IdentifierExpression,\n /** Extended type reference, if any. */\n public extendsType: NamedTypeNode | null, // can't be a function\n /** Default type if omitted, if any. */\n public defaultType: NamedTypeNode | null, // can't be a function\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.TypeParameter, range);\n }\n}\n\n/** Represents the kind of a parameter. */\nexport const enum ParameterKind {\n /** No specific flags. */\n Default,\n /** Is an optional parameter. */\n Optional,\n /** Is a rest parameter. */\n Rest\n}\n\n/** Represents a function parameter. */\nexport class ParameterNode extends Node {\n constructor(\n /** Parameter kind. */\n public parameterKind: ParameterKind,\n /** Parameter name. */\n public name: IdentifierExpression,\n /** Parameter type. */\n public type: TypeNode,\n /** Initializer expression, if any. */\n public initializer: Expression | null,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.Parameter, range);\n }\n\n /** Implicit field declaration, if applicable. */\n implicitFieldDeclaration: FieldDeclaration | null = null;\n /** Common flags indicating specific traits. */\n flags: CommonFlags = CommonFlags.None;\n\n /** Tests if this node has the specified flag or flags. */\n is(flag: CommonFlags): bool { return (this.flags & flag) == flag; }\n /** Tests if this node has one of the specified flags. */\n isAny(flag: CommonFlags): bool { return (this.flags & flag) != 0; }\n /** Sets a specific flag or flags. */\n set(flag: CommonFlags): void { this.flags |= flag; }\n}\n\n// special\n\n/** Built-in decorator kinds. */\nexport enum DecoratorKind {\n Custom,\n Global,\n Operator,\n OperatorBinary,\n OperatorPrefix,\n OperatorPostfix,\n Unmanaged,\n Final,\n Inline,\n External,\n ExternalJs,\n Builtin,\n Lazy,\n Unsafe\n}\n\nexport namespace DecoratorKind {\n\n /** Returns the kind of the specified decorator name node. Defaults to {@link DecoratorKind.CUSTOM}. */\n export function fromNode(nameNode: Expression): DecoratorKind {\n if (nameNode.kind == NodeKind.Identifier) {\n let nameStr = (nameNode).text;\n assert(nameStr.length);\n switch (nameStr.charCodeAt(0)) {\n case CharCode.b: {\n if (nameStr == \"builtin\") return DecoratorKind.Builtin;\n break;\n }\n case CharCode.e: {\n if (nameStr == \"external\") return DecoratorKind.External;\n break;\n }\n case CharCode.f: {\n if (nameStr == \"final\") return DecoratorKind.Final;\n break;\n }\n case CharCode.g: {\n if (nameStr == \"global\") return DecoratorKind.Global;\n break;\n }\n case CharCode.i: {\n if (nameStr == \"inline\") return DecoratorKind.Inline;\n break;\n }\n case CharCode.l: {\n if (nameStr == \"lazy\") return DecoratorKind.Lazy;\n break;\n }\n case CharCode.o: {\n if (nameStr == \"operator\") return DecoratorKind.Operator;\n break;\n }\n case CharCode.u: {\n if (nameStr == \"unmanaged\") return DecoratorKind.Unmanaged;\n if (nameStr == \"unsafe\") return DecoratorKind.Unsafe;\n break;\n }\n }\n } else if (nameNode.kind == NodeKind.PropertyAccess) {\n let propertyAccessNode = nameNode;\n let expression = propertyAccessNode.expression;\n if (expression.kind == NodeKind.Identifier) {\n let nameStr = (expression).text;\n assert(nameStr.length);\n let propStr = propertyAccessNode.property.text;\n assert(propStr.length);\n if (nameStr == \"operator\") {\n switch (propStr.charCodeAt(0)) {\n case CharCode.b: {\n if (propStr == \"binary\") return DecoratorKind.OperatorBinary;\n break;\n }\n case CharCode.p: {\n if (propStr == \"prefix\") return DecoratorKind.OperatorPrefix;\n if (propStr == \"postfix\") return DecoratorKind.OperatorPostfix;\n break;\n }\n }\n } else if (nameStr == \"external\") {\n switch (propStr.charCodeAt(0)) {\n case CharCode.j: {\n if (propStr == \"js\") return DecoratorKind.ExternalJs;\n break;\n }\n }\n }\n }\n }\n return DecoratorKind.Custom;\n }\n}\n\n/** Represents a decorator. */\nexport class DecoratorNode extends Node {\n constructor(\n /** Built-in decorator kind, or custom. */\n public decoratorKind: DecoratorKind,\n /** Name expression. */\n public name: Expression,\n /** Argument expressions. */\n public args: Expression[] | null,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.Decorator, range);\n }\n}\n\n/** Comment kinds. */\nexport const enum CommentKind {\n /** Line comment. */\n Line,\n /** Triple-slash line comment. */\n Triple,\n /** Block comment. */\n Block\n}\n\n/** Represents a comment. */\nexport class CommentNode extends Node {\n constructor(\n /** Comment kind. */\n public commentKind: CommentKind,\n /** Comment text. */\n public text: string,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.Comment, range);\n }\n}\n\n// expressions\n\n/** Base class of all expression nodes. */\nexport abstract class Expression extends Node { }\n\n/** Represents an identifier expression. */\nexport class IdentifierExpression extends Expression {\n constructor(\n /** Textual name. */\n public text: string,\n /** Whether quoted or not. */\n public isQuoted: bool,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.Identifier, range);\n }\n}\n\n/** Indicates the kind of a literal. */\nexport const enum LiteralKind {\n Float,\n Integer,\n String,\n Template,\n RegExp,\n Array,\n Object\n}\n\n/** Base class of all literal expressions. */\nexport abstract class LiteralExpression extends Expression {\n constructor(\n /** Specific literal kind. */\n public literalKind: LiteralKind,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.Literal, range);\n }\n}\n\n/** Represents an `[]` literal expression. */\nexport class ArrayLiteralExpression extends LiteralExpression {\n constructor(\n /** Nested element expressions. */\n public elementExpressions: Expression[],\n /** Source range. */\n range: Range\n ) {\n super(LiteralKind.Array, range);\n }\n}\n\n/** Indicates the kind of an assertion. */\nexport const enum AssertionKind {\n /** A prefix assertion, i.e. `expr`. */\n Prefix,\n /** An as assertion, i.e. `expr as T`. */\n As,\n /** A non-null assertion, i.e. `!expr`. */\n NonNull,\n /** A const assertion, i.e. `expr as const`. */\n Const\n}\n\n/** Represents an assertion expression. */\nexport class AssertionExpression extends Expression {\n constructor(\n /** Specific kind of this assertion. */\n public assertionKind: AssertionKind,\n /** Expression being asserted. */\n public expression: Expression,\n /** Target type, if applicable. */\n public toType: TypeNode | null,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.Assertion, range);\n }\n}\n\n/** Represents a binary expression. */\nexport class BinaryExpression extends Expression {\n constructor(\n /** Operator token. */\n public operator: Token,\n /** Left-hand side expression */\n public left: Expression,\n /** Right-hand side expression. */\n public right: Expression,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.Binary, range);\n }\n}\n\n/** Represents a call expression. */\nexport class CallExpression extends Expression {\n constructor(\n /** Called expression. Usually an identifier or property access expression. */\n public expression: Expression,\n /** Provided type arguments. */\n public typeArguments: TypeNode[] | null,\n /** Provided arguments. */\n public args: Expression[],\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.Call, range);\n }\n\n /** Gets the type arguments range for reporting. */\n get typeArgumentsRange(): Range {\n let typeArguments = this.typeArguments;\n let numTypeArguments: i32;\n if (typeArguments) {\n if (numTypeArguments = typeArguments.length) {\n return Range.join(typeArguments[0].range, typeArguments[numTypeArguments - 1].range);\n }\n }\n return this.expression.range;\n }\n\n /** Gets the arguments range for reporting. */\n get argumentsRange(): Range {\n let args = this.args;\n let numArguments = args.length;\n if (numArguments) {\n return Range.join(args[0].range, args[numArguments - 1].range);\n }\n return this.expression.range;\n }\n}\n\n/** Represents a class expression using the 'class' keyword. */\nexport class ClassExpression extends Expression {\n constructor(\n /** Inline class declaration. */\n public declaration: ClassDeclaration\n ) {\n super(NodeKind.Class, declaration.range);\n }\n}\n\n/** Represents a comma expression composed of multiple expressions. */\nexport class CommaExpression extends Expression {\n constructor(\n /** Sequential expressions. */\n public expressions: Expression[],\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.Comma, range);\n }\n}\n\n/** Represents a `constructor` expression. */\nexport class ConstructorExpression extends IdentifierExpression {\n constructor(\n /** Source range. */\n range: Range\n ) {\n super(\"constructor\", false, range);\n this.kind = NodeKind.Constructor;\n }\n}\n\n/** Represents an element access expression, e.g., array access. */\nexport class ElementAccessExpression extends Expression {\n constructor(\n /** Expression being accessed. */\n public expression: Expression,\n /** Element of the expression being accessed. */\n public elementExpression: Expression,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.ElementAccess, range);\n }\n}\n\n/** Represents a float literal expression. */\nexport class FloatLiteralExpression extends LiteralExpression {\n constructor(\n /** Float value. */\n public value: f64,\n /** Source range. */\n range: Range\n ) {\n super(LiteralKind.Float, range);\n }\n}\n\n/** Represents a function expression using the 'function' keyword. */\nexport class FunctionExpression extends Expression {\n constructor(\n /** Inline function declaration. */\n public declaration: FunctionDeclaration\n ) {\n super(NodeKind.Function, declaration.range);\n }\n}\n\n/** Represents an `instanceof` expression. */\nexport class InstanceOfExpression extends Expression {\n constructor(\n /** Expression being asserted. */\n public expression: Expression,\n /** Type to test for. */\n public isType: TypeNode,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.InstanceOf, range);\n }\n}\n\n/** Represents an integer literal expression. */\nexport class IntegerLiteralExpression extends LiteralExpression {\n constructor(\n /** Integer value. */\n public value: i64,\n /** Source range. */\n range: Range\n ) {\n super(LiteralKind.Integer, range);\n }\n}\n\n/** Represents a `new` expression. Like a call but with its own kind. */\nexport class NewExpression extends Expression {\n constructor(\n /** Type being constructed. */\n public typeName: TypeName,\n /** Provided type arguments. */\n public typeArguments: TypeNode[] | null,\n /** Provided arguments. */\n public args: Expression[],\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.New, range);\n }\n\n /** Gets the type arguments range for reporting. */\n get typeArgumentsRange(): Range {\n let typeArguments = this.typeArguments;\n let numTypeArguments: i32;\n if (typeArguments && (numTypeArguments = typeArguments.length) > 0) {\n return Range.join(typeArguments[0].range, typeArguments[numTypeArguments - 1].range);\n }\n return this.typeName.range;\n }\n\n /** Gets the arguments range for reporting. */\n get argumentsRange(): Range {\n let args = this.args;\n let numArguments = args.length;\n if (numArguments) {\n return Range.join(args[0].range, args[numArguments - 1].range);\n }\n return this.typeName.range;\n }\n}\n\n/** Represents a `null` expression. */\nexport class NullExpression extends IdentifierExpression {\n constructor(\n /** Source range. */\n range: Range\n ) {\n super(\"null\", false, range);\n this.kind = NodeKind.Null;\n }\n}\n\n/** Represents an object literal expression. */\nexport class ObjectLiteralExpression extends LiteralExpression {\n constructor(\n /** Field names. */\n public names: IdentifierExpression[],\n /** Field values. */\n public values: Expression[],\n /** Source range. */\n range: Range\n ) {\n super(LiteralKind.Object, range);\n }\n}\n\n/** Represents an omitted expression, e.g. within an array literal. */\nexport class OmittedExpression extends Expression {\n constructor(\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.Omitted, range);\n }\n}\n\n/** Represents a parenthesized expression. */\nexport class ParenthesizedExpression extends Expression {\n constructor(\n /** Expression in parenthesis. */\n public expression: Expression,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.Parenthesized, range);\n }\n}\n\n/** Represents a property access expression. */\nexport class PropertyAccessExpression extends Expression {\n constructor(\n /** Expression being accessed. */\n public expression: Expression,\n /** Property of the expression being accessed. */\n public property: IdentifierExpression,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.PropertyAccess, range);\n }\n}\n\n/** Represents a regular expression literal expression. */\nexport class RegexpLiteralExpression extends LiteralExpression {\n constructor(\n /** Regular expression pattern. */\n public pattern: string,\n /** Regular expression flags. */\n public patternFlags: string,\n /** Source range. */\n range: Range\n ) {\n super(LiteralKind.RegExp, range);\n }\n}\n\n/** Represents a ternary expression, i.e., short if notation. */\nexport class TernaryExpression extends Expression {\n constructor(\n /** Condition expression. */\n public condition: Expression,\n /** Expression executed when condition is `true`. */\n public ifThen: Expression,\n /** Expression executed when condition is `false`. */\n public ifElse: Expression,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.Ternary, range);\n }\n}\n\n/** Represents a string literal expression. */\nexport class StringLiteralExpression extends LiteralExpression {\n constructor(\n /** String value without quotes. */\n public value: string,\n /** Source range. */\n range: Range\n ) {\n super(LiteralKind.String, range);\n }\n}\n\n/** Represents a `super` expression. */\nexport class SuperExpression extends IdentifierExpression {\n constructor(\n /** Source range. */\n range: Range\n ) {\n super(\"super\", false, range);\n this.kind = NodeKind.Super;\n }\n}\n\n/** Represents a template literal expression. */\nexport class TemplateLiteralExpression extends LiteralExpression {\n constructor(\n /** Tag expression, if any. */\n public tag: Expression | null,\n /** String parts. */\n public parts: string[],\n /** Raw string parts. */\n public rawParts: string[],\n /** Expression parts. */\n public expressions: Expression[],\n /** Source range. */\n range: Range\n ) {\n super(LiteralKind.Template, range);\n }\n}\n\n/** Represents a `this` expression. */\nexport class ThisExpression extends IdentifierExpression {\n constructor(\n /** Source range. */\n range: Range\n ) {\n super(\"this\", false, range);\n this.kind = NodeKind.This;\n }\n}\n\n/** Represents a `true` expression. */\nexport class TrueExpression extends IdentifierExpression {\n constructor(\n /** Source range. */\n range: Range\n ) {\n super(\"true\", false, range);\n this.kind = NodeKind.True;\n }\n}\n\n/** Represents a `false` expression. */\nexport class FalseExpression extends IdentifierExpression {\n constructor(\n /** Source range. */\n range: Range\n ) {\n super(\"false\", false, range);\n this.kind = NodeKind.False;\n }\n}\n\n/** Base class of all unary expressions. */\nexport abstract class UnaryExpression extends Expression {\n constructor(\n /** Unary expression kind. */\n kind: NodeKind,\n /** Operator token. */\n public operator: Token,\n /** Operand expression. */\n public operand: Expression,\n /** Source range. */\n range: Range\n ) {\n super(kind, range);\n }\n}\n\n/** Represents a unary postfix expression, e.g. a postfix increment. */\nexport class UnaryPostfixExpression extends UnaryExpression {\n constructor(\n /** Operator token. */\n operator: Token,\n /** Operand expression. */\n operand: Expression,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.UnaryPostfix, operator, operand, range);\n }\n}\n\n/** Represents a unary prefix expression, e.g. a negation. */\nexport class UnaryPrefixExpression extends UnaryExpression {\n constructor(\n /** Operator token. */\n operator: Token,\n /** Operand expression. */\n operand: Expression,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.UnaryPrefix, operator, operand, range);\n }\n}\n\n/** Represents a special pre-compiled expression. If the expression has side-effects, special care has to be taken. */\nexport class CompiledExpression extends Expression {\n constructor(\n /** Compiled expression. */\n public expr: ExpressionRef,\n /** Type of the compiled expression. */\n public type: Type,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.Compiled, range);\n }\n}\n\n// statements\n\n/** Base class of all statement nodes. */\nexport abstract class Statement extends Node { }\n\n/** Indicates the specific kind of a source. */\nexport const enum SourceKind {\n /** User-provided file. */\n User = 0,\n /** User-provided entry file. */\n UserEntry = 1,\n /** Library-provided file. */\n Library = 2,\n /** Library-provided entry file. */\n LibraryEntry = 3\n}\n\n/** A top-level source node. */\nexport class Source extends Node {\n\n /** Gets the special native source. */\n static get native(): Source {\n let source = Source._native;\n if (!source) Source._native = source = new Source(SourceKind.LibraryEntry, LIBRARY_PREFIX + \"native.ts\", \"[native code]\");\n return source;\n }\n private static _native: Source | null = null;\n\n constructor(\n /** Source kind. */\n public sourceKind: SourceKind,\n /** Normalized path with file extension. */\n public normalizedPath: string,\n /** Full source text. */\n public text: string\n ) {\n super(NodeKind.Source, new Range(0, text.length));\n let internalPath = mangleInternalPath(normalizedPath);\n this.internalPath = internalPath;\n let pos = internalPath.lastIndexOf(PATH_DELIMITER);\n this.simplePath = pos >= 0 ? internalPath.substring(pos + 1) : internalPath;\n this.range.source = this;\n }\n\n /** Path used internally. */\n internalPath: string;\n /** Simple path (last part without extension). */\n simplePath: string;\n /** Contained statements. */\n statements: Statement[] = new Array();\n /** Source map index. */\n debugInfoIndex: i32 = -1;\n /** Re-exported sources. */\n exportPaths: string[] | null = null;\n\n /** Checks if this source represents native code. */\n get isNative(): bool {\n return this.internalPath == LIBRARY_SUBST;\n }\n\n /** Checks if this source is part of the (standard) library. */\n get isLibrary(): bool {\n let kind = this.sourceKind;\n return kind == SourceKind.Library || kind == SourceKind.LibraryEntry;\n }\n\n /** Cached line starts. */\n private lineCache: i32[] | null = null;\n\n /** Remembered column number. */\n private lineColumn: i32 = 1;\n\n /** Determines the line number at the specified position. Starts at `1`. */\n lineAt(pos: i32): i32 {\n assert(pos >= 0 && pos < 0x7fffffff);\n let lineCache = this.lineCache;\n if (!lineCache) {\n this.lineCache = lineCache = [0];\n let text = this.text;\n let off = 0;\n let end = text.length;\n while (off < end) {\n if (text.charCodeAt(off++) == CharCode.LineFeed) lineCache.push(off);\n }\n lineCache.push(0x7fffffff);\n }\n let l = 0;\n let r = lineCache.length - 1;\n while (l < r) {\n let m = l + ((r - l) >> 1);\n let s = unchecked(lineCache[m]);\n if (pos < s) r = m;\n else if (pos < unchecked(lineCache[m + 1])) {\n this.lineColumn = pos - s + 1;\n return m + 1;\n }\n else l = m + 1;\n }\n return assert(0);\n }\n\n /** Gets the column number at the last position queried with `lineAt`. Starts at `1`. */\n columnAt(): i32 {\n return this.lineColumn;\n }\n}\n\n/** Base class of all declaration statements. */\nexport abstract class DeclarationStatement extends Statement {\n constructor(\n /** Declaration node kind. */\n kind: NodeKind,\n /** Simple name being declared. */\n public name: IdentifierExpression,\n /** Array of decorators, if any. */\n public decorators: DecoratorNode[] | null,\n /** Common flags indicating specific traits. */\n public flags: CommonFlags,\n /** Source range. */\n range: Range\n ) {\n super(kind, range);\n }\n /** Overridden module name from preceeding `module` statement. */\n public overriddenModuleName: string | null = null;\n\n /** Tests if this node has the specified flag or flags. */\n is(flag: CommonFlags): bool { return (this.flags & flag) == flag; }\n /** Tests if this node has one of the specified flags. */\n isAny(flag: CommonFlags): bool { return (this.flags & flag) != 0; }\n /** Sets a specific flag or flags. */\n set(flag: CommonFlags): void { this.flags |= flag; }\n}\n\n/** Represents an index signature. */\nexport class IndexSignatureNode extends Node {\n constructor(\n /** Key type. */\n public keyType: NamedTypeNode,\n /** Value type. */\n public valueType: TypeNode,\n /** Common flags indicating specific traits. */\n public flags: CommonFlags,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.IndexSignature, range);\n }\n}\n\n/** Base class of all variable-like declaration statements. */\nexport abstract class VariableLikeDeclarationStatement extends DeclarationStatement {\n constructor(\n /** Variable-like declaration node kind. */\n kind: NodeKind,\n /** Simple name being declared. */\n name: IdentifierExpression,\n /** Array of decorators, if any. */\n decorators: DecoratorNode[] | null,\n /** Common flags indicating specific traits. */\n flags: CommonFlags,\n /** Annotated type node, if any. */\n public type: TypeNode | null,\n /** Initializer expression, if any. */\n public initializer: Expression | null,\n /** Source range. */\n range: Range\n ) {\n super(kind, name, decorators, flags, range);\n }\n}\n\n/** Represents a block statement. */\nexport class BlockStatement extends Statement {\n constructor(\n /** Contained statements. */\n public statements: Statement[],\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.Block, range);\n }\n}\n\n/** Represents a `break` statement. */\nexport class BreakStatement extends Statement {\n constructor(\n /** Target label, if any. */\n public label: IdentifierExpression | null,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.Break, range);\n }\n}\n\n/** Represents a `class` declaration. */\nexport class ClassDeclaration extends DeclarationStatement {\n constructor(\n /** Simple name being declared. */\n name: IdentifierExpression,\n /** Array of decorators, if any. */\n decorators: DecoratorNode[] | null,\n /** Common flags indicating specific traits. */\n flags: CommonFlags,\n /** Accepted type parameters. */\n public typeParameters: TypeParameterNode[] | null,\n /** Base class type being extended, if any. */\n public extendsType: NamedTypeNode | null, // can't be a function\n /** Interface types being implemented, if any. */\n public implementsTypes: NamedTypeNode[] | null, // can't be functions\n /** Class member declarations. */\n public members: DeclarationStatement[],\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.ClassDeclaration, name, decorators, flags, range);\n }\n\n /** Index signature, if present. */\n indexSignature: IndexSignatureNode | null = null;\n\n get isGeneric(): bool {\n let typeParameters = this.typeParameters;\n return typeParameters != null && typeParameters.length > 0;\n }\n}\n\n/** Represents a `continue` statement. */\nexport class ContinueStatement extends Statement {\n constructor(\n /** Target label, if applicable. */\n public label: IdentifierExpression | null,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.Continue, range);\n }\n}\n\n/** Represents a `do` statement. */\nexport class DoStatement extends Statement {\n constructor(\n /** Body statement being looped over. */\n public body: Statement,\n /** Condition when to repeat. */\n public condition: Expression,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.Do, range);\n }\n}\n\n/** Represents an empty statement, i.e., a semicolon terminating nothing. */\nexport class EmptyStatement extends Statement {\n constructor(\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.Empty, range);\n }\n}\n\n/** Represents an `enum` declaration. */\nexport class EnumDeclaration extends DeclarationStatement {\n constructor(\n /** Simple name being declared. */\n name: IdentifierExpression,\n /** Array of decorators, if any. */\n decorators: DecoratorNode[] | null,\n /** Common flags indicating specific traits. */\n flags: CommonFlags,\n /** Enum value declarations. */\n public values: EnumValueDeclaration[],\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.EnumDeclaration, name, decorators, flags, range);\n }\n}\n\n/** Represents a value of an `enum` declaration. */\nexport class EnumValueDeclaration extends VariableLikeDeclarationStatement {\n constructor(\n /** Simple name being declared. */\n name: IdentifierExpression,\n /** Common flags indicating specific traits. */\n flags: CommonFlags,\n /** Initializer expression, if any. */\n initializer: Expression | null,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.EnumValueDeclaration, name, null, flags, null, initializer, range);\n }\n}\n\n/** Represents an `export import` statement of an interface. */\nexport class ExportImportStatement extends Statement {\n constructor(\n /** Identifier being imported. */\n public name: IdentifierExpression,\n /** Identifier being exported. */\n public externalName: IdentifierExpression,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.ExportImport, range);\n }\n}\n\n/** Represents a member of an `export` statement. */\nexport class ExportMember extends Node {\n constructor(\n /** Local identifier. */\n public localName: IdentifierExpression,\n /** Exported identifier. */\n public exportedName: IdentifierExpression,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.ExportMember, range);\n }\n}\n\n/** Represents an `export` statement. */\nexport class ExportStatement extends Statement {\n constructor(\n /** Array of members if a set of named exports, or `null` if a file export. */\n public members: ExportMember[] | null,\n /** Path being exported from, if applicable. */\n public path: StringLiteralExpression | null,\n /** Whether this is a declared export. */\n public isDeclare: bool,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.Export, range);\n if (path) {\n let normalizedPath = normalizePath(path.value);\n if (path.value.startsWith(\".\")) { // relative\n normalizedPath = resolvePath(normalizedPath, range.source.internalPath);\n } else { // absolute\n if (!normalizedPath.startsWith(LIBRARY_PREFIX)) normalizedPath = LIBRARY_PREFIX + normalizedPath;\n }\n this.internalPath = normalizedPath;\n } else {\n this.internalPath = null;\n }\n }\n\n /** Internal path being referenced, if `path` is set. */\n internalPath: string | null;\n}\n\n/** Represents an `export default` statement. */\nexport class ExportDefaultStatement extends Statement {\n constructor(\n /** Declaration being exported as default. */\n public declaration: DeclarationStatement,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.ExportDefault, range);\n }\n}\n\n/** Represents an expression that is used as a statement. */\nexport class ExpressionStatement extends Statement {\n constructor(\n /** Expression being used as a statement.*/\n public expression: Expression\n ) {\n super(NodeKind.Expression, expression.range);\n }\n}\n\n/** Represents a field declaration within a `class`. */\nexport class FieldDeclaration extends VariableLikeDeclarationStatement {\n constructor(\n /** Simple name being declared. */\n name: IdentifierExpression,\n /** Array of decorators, if any. */\n decorators: DecoratorNode[] | null,\n /** Common flags indicating specific traits. */\n flags: CommonFlags,\n /** Annotated type node, if any. */\n type: TypeNode | null,\n /** Initializer expression, if any. */\n initializer: Expression | null,\n /** Parameter index if declared as a constructor parameter, otherwise `-1`. */\n public parameterIndex: i32,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.FieldDeclaration, name, decorators, flags, type, initializer, range);\n }\n}\n\n/** Represents a `for` statement. */\nexport class ForStatement extends Statement {\n constructor(\n /** Initializer statement, if present. Either a `VariableStatement` or `ExpressionStatement`. */\n public initializer: Statement | null,\n /** Condition expression, if present. */\n public condition: Expression | null,\n /** Incrementor expression, if present. */\n public incrementor: Expression | null,\n /** Body statement being looped over. */\n public body: Statement,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.For, range);\n }\n}\n\n/** Represents a `for..of` statement. */\nexport class ForOfStatement extends Statement {\n constructor(\n /** Variable statement. Either a `VariableStatement` or `ExpressionStatement` of `IdentifierExpression`. */\n public variable: Statement,\n /** Iterable expression being iterated. */\n public iterable: Expression,\n /** Body statement being looped over. */\n public body: Statement,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.ForOf, range);\n }\n}\n\n/** Indicates the kind of an array function. */\nexport const enum ArrowKind {\n /** Not an arrow function. */\n None,\n /** Parenthesized parameter list. */\n Parenthesized,\n /** Single parameter without parenthesis. */\n Single\n}\n\n/** Represents a `function` declaration. */\nexport class FunctionDeclaration extends DeclarationStatement {\n constructor(\n /** Simple name being declared. */\n name: IdentifierExpression,\n /** Array of decorators, if any. */\n decorators: DecoratorNode[] | null,\n /** Common flags indicating specific traits. */\n flags: CommonFlags,\n /** Type parameters, if any. */\n public typeParameters: TypeParameterNode[] | null,\n /** Function signature. */\n public signature: FunctionTypeNode,\n /** Body statement. Usually a block. */\n public body: Statement | null,\n /** Arrow function kind, if applicable. */\n public arrowKind: ArrowKind,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.FunctionDeclaration, name, decorators, flags, range);\n }\n\n /** Gets if this function is generic. */\n get isGeneric(): bool {\n let typeParameters = this.typeParameters;\n return typeParameters != null && typeParameters.length > 0;\n }\n\n /** Clones this function declaration. */\n clone(): FunctionDeclaration {\n return new FunctionDeclaration(\n this.name,\n this.decorators,\n this.flags,\n this.typeParameters,\n this.signature,\n this.body,\n this.arrowKind,\n this.range\n );\n }\n}\n\n/** Represents an `if` statement. */\nexport class IfStatement extends Statement {\n constructor(\n /** Condition. */\n public condition: Expression,\n /** Statement executed when condition is `true`. */\n public ifTrue: Statement,\n /** Statement executed when condition is `false`. */\n public ifFalse: Statement | null,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.If, range);\n }\n}\n\n/** Represents an `import` declaration part of an {@link ImportStatement}. */\nexport class ImportDeclaration extends DeclarationStatement {\n constructor(\n /** Simple name being declared. */\n name: IdentifierExpression,\n /** Identifier being imported. */\n public foreignName: IdentifierExpression,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.ImportDeclaration, name, null, CommonFlags.None, range);\n }\n}\n\n/** Represents an `import` statement. */\nexport class ImportStatement extends Statement {\n constructor(\n /** Array of member declarations or `null` if an asterisk import. */\n public declarations: ImportDeclaration[] | null,\n /** Name of the local namespace, if an asterisk import. */\n public namespaceName: IdentifierExpression | null,\n /** Path being imported from. */\n public path: StringLiteralExpression,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.Import, range);\n let normalizedPath = normalizePath(path.value);\n if (path.value.startsWith(\".\")) { // relative in project\n normalizedPath = resolvePath(normalizedPath, range.source.internalPath);\n } else { // absolute in library\n if (!normalizedPath.startsWith(LIBRARY_PREFIX)) normalizedPath = LIBRARY_PREFIX + normalizedPath;\n }\n this.internalPath = mangleInternalPath(normalizedPath);\n }\n\n /** Internal path being referenced. */\n internalPath: string;\n}\n\n/** Represents an `interfarce` declaration. */\nexport class InterfaceDeclaration extends ClassDeclaration {\n constructor(\n /** Simple name being declared. */\n name: IdentifierExpression,\n /** Array of decorators, if any. */\n decorators: DecoratorNode[] | null,\n /** Common flags indicating specific traits. */\n flags: CommonFlags,\n /** Accepted type parameters. */\n typeParameters: TypeParameterNode[] | null,\n /** Base class type being extended, if any. */\n extendsType: NamedTypeNode | null, // can't be a function\n /** Interface types being implemented, if any. */\n implementsTypes: NamedTypeNode[] | null, // can't be functions\n /** Class member declarations. */\n members: DeclarationStatement[],\n /** Source range. */\n range: Range\n ) {\n super(name, decorators, flags, typeParameters, extendsType, implementsTypes, members, range);\n this.kind = NodeKind.InterfaceDeclaration;\n }\n}\n\n/** Represents a method declaration within a `class`. */\nexport class MethodDeclaration extends FunctionDeclaration {\n constructor(\n /** Simple name being declared. */\n name: IdentifierExpression,\n /** Array of decorators, if any. */\n decorators: DecoratorNode[] | null,\n /** Common flags indicating specific traits. */\n flags: CommonFlags,\n /** Type parameters, if any. */\n typeParameters: TypeParameterNode[] | null,\n /** Function signature. */\n signature: FunctionTypeNode,\n /** Body statement. Usually a block. */\n body: Statement | null,\n /** Source range. */\n range: Range\n ) {\n super(name, decorators, flags, typeParameters, signature, body, ArrowKind.None, range);\n this.kind = NodeKind.MethodDeclaration;\n }\n}\n\n/** Represents a `namespace` declaration. */\nexport class NamespaceDeclaration extends DeclarationStatement {\n constructor(\n /** Simple name being declared. */\n name: IdentifierExpression,\n /** Array of decorators, if any. */\n decorators: DecoratorNode[] | null,\n /** Common flags indicating specific traits. */\n flags: CommonFlags,\n /** Array of namespace members. */\n public members: Statement[],\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.NamespaceDeclaration, name, decorators, flags, range);\n }\n}\n\n/** Represents a `return` statement. */\nexport class ReturnStatement extends Statement {\n constructor(\n /** Value expression being returned, if present. */\n public value: Expression | null,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.Return, range);\n }\n}\n\n/** Represents a single `case` within a `switch` statement. */\nexport class SwitchCase extends Node {\n constructor(\n /** Label expression. `null` indicates the default case. */\n public label: Expression | null,\n /** Contained statements. */\n public statements: Statement[],\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.SwitchCase, range);\n }\n\n get isDefault(): bool {\n return this.label == null;\n }\n}\n\n/** Represents a `switch` statement. */\nexport class SwitchStatement extends Statement {\n constructor(\n /** Condition expression. */\n public condition: Expression,\n /** Contained cases. */\n public cases: SwitchCase[],\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.Switch, range);\n }\n}\n\n/** Represents a `throw` statement. */\nexport class ThrowStatement extends Statement {\n constructor(\n /** Value expression being thrown. */\n public value: Expression,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.Throw, range);\n }\n}\n\n/** Represents a `try` statement. */\nexport class TryStatement extends Statement {\n constructor(\n /** Contained statements. */\n public bodyStatements: Statement[],\n /** Exception variable name, if a `catch` clause is present. */\n public catchVariable: IdentifierExpression | null,\n /** Statements being executed on catch, if a `catch` clause is present. */\n public catchStatements: Statement[] | null,\n /** Statements being executed afterwards, if a `finally` clause is present. */\n public finallyStatements: Statement[] | null,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.Try, range);\n }\n}\n\n/** Represents a `module` statement. */\nexport class ModuleDeclaration extends Statement {\n constructor(\n /** Module name. */\n public moduleName: string,\n /** Common flags indicating specific traits. */\n public flags: CommonFlags,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.Module, range);\n }\n}\n\n/** Represents a `type` declaration. */\nexport class TypeDeclaration extends DeclarationStatement {\n constructor(\n /** Simple name being declared. */\n name: IdentifierExpression,\n /** Array of decorators, if any. */\n decorators: DecoratorNode[] | null,\n /** Common flags indicating specific traits. */\n flags: CommonFlags,\n /** Type parameters, if any. */\n public typeParameters: TypeParameterNode[] | null,\n /** Type being aliased. */\n public type: TypeNode,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.TypeDeclaration, name, decorators, flags, range);\n }\n}\n\n/** Represents a variable declaration part of a {@link VariableStatement}. */\nexport class VariableDeclaration extends VariableLikeDeclarationStatement {\n constructor(\n /** Simple name being declared. */\n name: IdentifierExpression,\n /** Array of decorators, if any. */\n decorators: DecoratorNode[] | null,\n /** Common flags indicating specific traits. */\n flags: CommonFlags,\n /** Annotated type node, if any. */\n type: TypeNode | null,\n /** Initializer expression, if any. */\n initializer: Expression | null,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.VariableDeclaration, name, decorators, flags, type, initializer, range);\n }\n}\n\n/** Represents a variable statement wrapping {@link VariableDeclaration}s. */\nexport class VariableStatement extends Statement {\n constructor(\n /** Array of decorators. */\n public decorators: DecoratorNode[] | null,\n /** Array of member declarations. */\n public declarations: VariableDeclaration[],\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.Variable, range);\n }\n}\n\n/** Represents a void statement dropping an expression's value. */\nexport class VoidStatement extends Statement {\n constructor(\n /** Expression being dropped. */\n public expression: Expression,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.Void, range);\n }\n}\n\n/** Represents a `while` statement. */\nexport class WhileStatement extends Statement {\n constructor(\n /** Condition expression. */\n public condition: Expression,\n /** Body statement being looped over. */\n public body: Statement,\n /** Source range. */\n range: Range\n ) {\n super(NodeKind.While, range);\n }\n}\n\n/** Finds the first decorator matching the specified kind. */\nexport function findDecorator(kind: DecoratorKind, decorators: DecoratorNode[] | null): DecoratorNode | null {\n if (decorators) {\n for (let i = 0, k = decorators.length; i < k; ++i) {\n let decorator = decorators[i];\n if (decorator.decoratorKind == kind) return decorator;\n }\n }\n return null;\n}\n\n/** Mangles an external to an internal path. */\nexport function mangleInternalPath(path: string): string {\n if (path.endsWith(\"/\")) {\n path += \"index\";\n } else if (path.endsWith(\".ts\")) {\n path = path.substring(0, path.length - 3);\n }\n return path;\n}\n\n/** Tests if the specified type node represents an omitted type. */\nexport function isTypeOmitted(type: TypeNode): bool {\n if (type.kind == NodeKind.NamedType) {\n let name = (type).name;\n return !(name.next || name.identifier.text.length > 0);\n }\n return false;\n}\n", "/**\n * @fileoverview A TypeScript tokenizer modified for AssemblyScript.\n *\n * The `Tokenizer` scans over a source file and returns one syntactic token\n * at a time that the parser will combine to an abstract syntax tree.\n *\n * It skips over trivia like comments and whitespace and provides a general\n * mark/reset mechanism for the parser to utilize on ambiguous tokens, with\n * one token of lookahead otherwise.\n *\n * @license Apache-2.0\n */\n\nimport {\n Range,\n DiagnosticCode,\n DiagnosticMessage,\n DiagnosticEmitter\n} from \"./diagnostics\";\n\nimport {\n Source,\n CommentKind\n} from \"./ast\";\n\nimport {\n CharCode,\n isLineBreak,\n isWhiteSpace,\n isIdentifierStart,\n isIdentifierPart,\n isDecimal,\n isOctal,\n isHexBase,\n isHighSurrogate,\n combineSurrogates,\n numCodeUnits\n} from \"./util\";\n\n/** Named token types. */\nexport const enum Token {\n\n // keywords\n // discarded: ANY, BOOLEAN, NEVER, NUMBER, STRING, SYMBOL, UNDEFINED, LESSTHAN_SLASH\n\n Abstract,\n As,\n Async,\n Await, // ES2017\n Break, // ES2017\n Case, // ES2017\n Catch, // ES2017\n Class, // ES2017\n Const, // ES2017\n Continue, // ES2017\n Constructor,\n Debugger, // ES2017\n Declare,\n Default, // ES2017\n Delete, // ES2017\n Do, // ES2017\n Else, // ES2017\n Enum, // ES2017 future\n Export, // ES2017\n Extends, // ES2017\n False, // ES\n Finally, // ES2017\n For, // ES2017\n From, // AS possible identifier\n Function, // ES2017\n Get,\n If, // ES2017\n Implements, // ES2017 non-lexical\n Import, // ES2017\n In, // ES2017\n InstanceOf, // ES2017\n Interface, // ES2017 non-lexical\n Is,\n KeyOf,\n Let, // ES2017 non-lexical\n Module, // AS possible identifier\n Namespace, // AS possible identifier\n New, // ES2017\n Null, // ES\n Of,\n Override,\n Package, // ES2017 non-lexical\n Private, // ES2017 non-lexical\n Protected, // ES2017 non-lexical\n Public, // ES2017 non-lexical\n Readonly,\n Return, // ES2017\n Set,\n Static, // ES2017 non-lexical\n Super, // ES2017\n Switch, // ES2017\n This, // ES2017\n Throw, // ES2017\n True, // ES\n Try, // ES2017\n Type, // AS possible identifier\n TypeOf, // ES2017\n Var, // ES2017\n Void, // ES2017\n While, // ES2017\n With, // ES2017\n Yield, // ES2017\n\n // punctuation\n\n OpenBrace,\n CloseBrace,\n OpenParen,\n CloseParen,\n OpenBracket,\n CloseBracket,\n Dot,\n Dot_Dot_Dot,\n Semicolon,\n Comma,\n LessThan,\n GreaterThan,\n LessThan_Equals,\n GreaterThan_Equals,\n Equals_Equals,\n Exclamation_Equals,\n Equals_Equals_Equals,\n Exclamation_Equals_Equals,\n Equals_GreaterThan,\n Plus,\n Minus,\n Asterisk_Asterisk,\n Asterisk,\n Slash,\n Percent,\n Plus_Plus,\n Minus_Minus,\n LessThan_LessThan,\n GreaterThan_GreaterThan,\n GreaterThan_GreaterThan_GreaterThan,\n Ampersand,\n Bar,\n Caret,\n Exclamation,\n Tilde,\n Ampersand_Ampersand,\n Bar_Bar,\n Question,\n Colon,\n Equals,\n Plus_Equals,\n Minus_Equals,\n Asterisk_Equals,\n Asterisk_Asterisk_Equals,\n Slash_Equals,\n Percent_Equals,\n LessThan_LessThan_Equals,\n GreaterThan_GreaterThan_Equals,\n GreaterThan_GreaterThan_GreaterThan_Equals,\n Ampersand_Equals,\n Bar_Equals,\n Caret_Equals,\n At,\n\n // literals\n\n Identifier,\n StringLiteral,\n IntegerLiteral,\n FloatLiteral,\n TemplateLiteral,\n\n // meta\n\n Invalid,\n EndOfFile\n}\n\nexport const enum IdentifierHandling {\n Default,\n Prefer,\n Always\n}\n\nexport function tokenFromKeyword(text: string): Token {\n let len = text.length;\n assert(len);\n switch (text.charCodeAt(0)) {\n case CharCode.a: {\n if (len == 5) {\n if (text == \"async\") return Token.Async;\n if (text == \"await\") return Token.Await;\n break;\n }\n if (text == \"as\") return Token.As;\n if (text == \"abstract\") return Token.Abstract;\n break;\n }\n case CharCode.b: {\n if (text == \"break\") return Token.Break;\n break;\n }\n case CharCode.c: {\n if (len == 5) {\n if (text == \"const\") return Token.Const;\n if (text == \"class\") return Token.Class;\n if (text == \"catch\") return Token.Catch;\n break;\n }\n if (text == \"case\") return Token.Case;\n if (text == \"continue\") return Token.Continue;\n if (text == \"constructor\") return Token.Constructor;\n break;\n }\n case CharCode.d: {\n if (len == 7) {\n if (text == \"default\") return Token.Default;\n if (text == \"declare\") return Token.Declare;\n break;\n }\n if (text == \"do\") return Token.Do;\n if (text == \"delete\") return Token.Delete;\n if (text == \"debugger\") return Token.Debugger;\n break;\n }\n case CharCode.e: {\n if (len == 4) {\n if (text == \"else\") return Token.Else;\n if (text == \"enum\") return Token.Enum;\n break;\n }\n if (text == \"export\") return Token.Export;\n if (text == \"extends\") return Token.Extends;\n break;\n }\n case CharCode.f: {\n if (len <= 5) {\n if (text == \"false\") return Token.False;\n if (text == \"for\") return Token.For;\n if (text == \"from\") return Token.From;\n break;\n }\n if (text == \"function\") return Token.Function;\n if (text == \"finally\") return Token.Finally;\n break;\n }\n case CharCode.g: {\n if (text == \"get\") return Token.Get;\n break;\n }\n case CharCode.i: {\n if (len == 2) {\n if (text == \"if\") return Token.If;\n if (text == \"in\") return Token.In;\n if (text == \"is\") return Token.Is;\n break;\n }\n switch (text.charCodeAt(3)) {\n case CharCode.l: {\n if (text == \"implements\") return Token.Implements;\n break;\n }\n case CharCode.o: {\n if (text == \"import\") return Token.Import;\n break;\n }\n case CharCode.t: {\n if (text == \"instanceof\") return Token.InstanceOf;\n break;\n }\n case CharCode.e: {\n if (text == \"interface\") return Token.Interface;\n break;\n }\n }\n break;\n }\n case CharCode.k: {\n if (text == \"keyof\") return Token.KeyOf;\n break;\n }\n case CharCode.l: {\n if (text == \"let\") return Token.Let;\n break;\n }\n case CharCode.m: {\n if (text == \"module\") return Token.Module;\n break;\n }\n case CharCode.n: {\n if (text == \"new\") return Token.New;\n if (text == \"null\") return Token.Null;\n if (text == \"namespace\") return Token.Namespace;\n break;\n }\n case CharCode.o: {\n if (text == \"of\") return Token.Of;\n if (text == \"override\") return Token.Override;\n break;\n }\n case CharCode.p: {\n if (len == 7) {\n if (text == \"private\") return Token.Private;\n if (text == \"package\") return Token.Package;\n break;\n }\n if (text == \"public\") return Token.Public;\n if (text == \"protected\") return Token.Protected;\n break;\n }\n case CharCode.r: {\n if (text == \"return\") return Token.Return;\n if (text == \"readonly\") return Token.Readonly;\n break;\n }\n case CharCode.s: {\n if (len == 6) {\n if (text == \"switch\") return Token.Switch;\n if (text == \"static\") return Token.Static;\n break;\n }\n if (text == \"set\") return Token.Set;\n if (text == \"super\") return Token.Super;\n break;\n }\n case CharCode.t: {\n if (len == 4) {\n if (text == \"true\") return Token.True;\n if (text == \"this\") return Token.This;\n if (text == \"type\") return Token.Type;\n break;\n }\n if (text == \"try\") return Token.Try;\n if (text == \"throw\") return Token.Throw;\n if (text == \"typeof\") return Token.TypeOf;\n break;\n }\n case CharCode.v: {\n if (text == \"var\") return Token.Var;\n if (text == \"void\") return Token.Void;\n break;\n }\n case CharCode.w: {\n if (text == \"while\") return Token.While;\n if (text == \"with\") return Token.With;\n break;\n }\n case CharCode.y: {\n if (text == \"yield\") return Token.Yield;\n break;\n }\n }\n return Token.Invalid;\n}\n\nexport function tokenIsAlsoIdentifier(token: Token): bool {\n switch (token) {\n case Token.Abstract:\n case Token.As:\n case Token.Constructor:\n case Token.Declare:\n case Token.Delete:\n case Token.From:\n case Token.For:\n case Token.Get:\n case Token.InstanceOf:\n case Token.Is:\n case Token.KeyOf:\n case Token.Module:\n case Token.Namespace:\n case Token.Null:\n case Token.Readonly:\n case Token.Set:\n case Token.Type:\n case Token.Void: return true;\n default: return false;\n }\n}\n\nexport function isIllegalVariableIdentifier(name: string): bool {\n assert(name.length);\n switch (name.charCodeAt(0)) {\n case CharCode.d: return name == \"delete\";\n case CharCode.f: return name == \"for\";\n case CharCode.i: return name == \"instanceof\";\n case CharCode.n: return name == \"null\";\n case CharCode.v: return name == \"void\";\n }\n return false;\n}\n\nexport function operatorTokenToString(token: Token): string {\n switch (token) {\n case Token.Delete: return \"delete\";\n case Token.In: return \"in\";\n case Token.InstanceOf: return \"instanceof\";\n case Token.New: return \"new\";\n case Token.TypeOf: return \"typeof\";\n case Token.Void: return \"void\";\n case Token.Yield: return \"yield\";\n case Token.Dot_Dot_Dot: return \"...\";\n case Token.Comma: return \",\";\n case Token.LessThan: return \"<\";\n case Token.GreaterThan: return \">\";\n case Token.LessThan_Equals: return \"<=\";\n case Token.GreaterThan_Equals: return \">=\";\n case Token.Equals_Equals: return \"==\";\n case Token.Exclamation_Equals: return \"!=\";\n case Token.Equals_Equals_Equals: return \"===\";\n case Token.Exclamation_Equals_Equals: return \"!==\";\n case Token.Plus: return \"+\";\n case Token.Minus: return \"-\";\n case Token.Asterisk_Asterisk: return \"**\";\n case Token.Asterisk: return \"*\";\n case Token.Slash: return \"/\";\n case Token.Percent: return \"%\";\n case Token.Plus_Plus: return \"++\";\n case Token.Minus_Minus: return \"--\";\n case Token.LessThan_LessThan: return \"<<\";\n case Token.GreaterThan_GreaterThan: return \">>\";\n case Token.GreaterThan_GreaterThan_GreaterThan: return \">>>\";\n case Token.Ampersand: return \"&\";\n case Token.Bar: return \"|\";\n case Token.Caret: return \"^\";\n case Token.Exclamation: return \"!\";\n case Token.Tilde: return \"~\";\n case Token.Ampersand_Ampersand: return \"&&\";\n case Token.Bar_Bar: return \"||\";\n case Token.Equals: return \"=\";\n case Token.Plus_Equals: return \"+=\";\n case Token.Minus_Equals: return \"-=\";\n case Token.Asterisk_Equals: return \"*=\";\n case Token.Asterisk_Asterisk_Equals: return \"**=\";\n case Token.Slash_Equals: return \"/=\";\n case Token.Percent_Equals: return \"%=\";\n case Token.LessThan_LessThan_Equals: return \"<<=\";\n case Token.GreaterThan_GreaterThan_Equals: return \">>=\";\n case Token.GreaterThan_GreaterThan_GreaterThan_Equals: return \">>>=\";\n case Token.Ampersand_Equals: return \"&=\";\n case Token.Bar_Equals: return \"|=\";\n case Token.Caret_Equals: return \"^=\";\n default: {\n assert(false);\n return \"\";\n }\n }\n}\n\n/** Handler for intercepting comments while tokenizing. */\nexport type CommentHandler = (kind: CommentKind, text: string, range: Range) => void;\n\n/** Whether a token begins on a new line, if known. */\nenum OnNewLine {\n No,\n Yes,\n Unknown\n}\n\n/** Tokenizes a source to individual {@link Token}s. */\nexport class Tokenizer extends DiagnosticEmitter {\n\n source: Source;\n end: i32 = 0;\n\n pos: i32 = 0;\n token: Token = -1;\n tokenPos: i32 = 0;\n\n nextToken: Token = -1;\n nextTokenPos: i32 = 0;\n nextTokenOnNewLine: OnNewLine = OnNewLine.Unknown;\n\n onComment: CommentHandler | null = null;\n\n /** Constructs a new tokenizer. */\n constructor(source: Source, diagnostics: DiagnosticMessage[] | null = null) {\n super(diagnostics);\n\n if (!diagnostics) diagnostics = [];\n this.diagnostics = diagnostics;\n this.source = source;\n\n let text = source.text;\n let end = text.length;\n let pos = 0;\n // skip bom\n if (\n pos < end &&\n text.charCodeAt(pos) == CharCode.ByteOrderMark\n ) {\n ++pos;\n }\n\n // skip shebang\n if (\n pos + 1 < end &&\n text.charCodeAt(pos) == CharCode.Hash &&\n text.charCodeAt(pos + 1) == CharCode.Exclamation\n ) {\n pos += 2;\n while (\n pos < end &&\n text.charCodeAt(pos) != CharCode.LineFeed\n ) {\n ++pos;\n }\n // 'next' now starts at lf or eof\n }\n this.pos = pos;\n this.end = end;\n }\n\n next(identifierHandling: IdentifierHandling = IdentifierHandling.Default): Token {\n this.clearNextToken();\n let token: Token;\n do token = this.unsafeNext(identifierHandling);\n while (token == Token.Invalid);\n this.token = token;\n return token;\n }\n\n private unsafeNext(\n identifierHandling: IdentifierHandling = IdentifierHandling.Default,\n maxTokenLength: i32 = i32.MAX_VALUE\n ): Token {\n let text = this.source.text;\n let end = this.end;\n let pos = this.pos;\n while (pos < end) {\n this.tokenPos = pos;\n let c = text.charCodeAt(pos);\n switch (c) {\n case CharCode.CarriageReturn: {\n if (!(\n ++pos < end &&\n text.charCodeAt(pos) == CharCode.LineFeed\n )) break;\n // otherwise fall-through\n }\n case CharCode.LineFeed:\n case CharCode.Tab:\n case CharCode.VerticalTab:\n case CharCode.FormFeed:\n case CharCode.Space: {\n ++pos;\n break;\n }\n case CharCode.Exclamation: {\n ++pos;\n if (\n maxTokenLength > 1 && pos < end &&\n text.charCodeAt(pos) == CharCode.Equals\n ) {\n ++pos;\n if (\n maxTokenLength > 2 && pos < end &&\n text.charCodeAt(pos) == CharCode.Equals\n ) {\n this.pos = pos + 1;\n return Token.Exclamation_Equals_Equals;\n }\n this.pos = pos;\n return Token.Exclamation_Equals;\n }\n this.pos = pos;\n return Token.Exclamation;\n }\n case CharCode.DoubleQuote:\n case CharCode.SingleQuote: {\n this.pos = pos;\n return Token.StringLiteral;\n }\n case CharCode.Backtick: {\n this.pos = pos;\n return Token.TemplateLiteral;\n }\n case CharCode.Percent: {\n ++pos;\n if (\n maxTokenLength > 1 && pos < end &&\n text.charCodeAt(pos) == CharCode.Equals\n ) {\n this.pos = pos + 1;\n return Token.Percent_Equals;\n }\n this.pos = pos;\n return Token.Percent;\n }\n case CharCode.Ampersand: {\n ++pos;\n if (maxTokenLength > 1 && pos < end) {\n let chr = text.charCodeAt(pos);\n if (chr == CharCode.Ampersand) {\n this.pos = pos + 1;\n return Token.Ampersand_Ampersand;\n }\n if (chr == CharCode.Equals) {\n this.pos = pos + 1;\n return Token.Ampersand_Equals;\n }\n }\n this.pos = pos;\n return Token.Ampersand;\n }\n case CharCode.OpenParen: {\n this.pos = pos + 1;\n return Token.OpenParen;\n }\n case CharCode.CloseParen: {\n this.pos = pos + 1;\n return Token.CloseParen;\n }\n case CharCode.Asterisk: {\n ++pos;\n if (maxTokenLength > 1 && pos < end) {\n let chr = text.charCodeAt(pos);\n if (chr == CharCode.Equals) {\n this.pos = pos + 1;\n return Token.Asterisk_Equals;\n }\n if (chr == CharCode.Asterisk) {\n ++pos;\n if (\n maxTokenLength > 2 && pos < end &&\n text.charCodeAt(pos) == CharCode.Equals\n ) {\n this.pos = pos + 1;\n return Token.Asterisk_Asterisk_Equals;\n }\n this.pos = pos;\n return Token.Asterisk_Asterisk;\n }\n }\n this.pos = pos;\n return Token.Asterisk;\n }\n case CharCode.Plus: {\n ++pos;\n if (maxTokenLength > 1 && pos < end) {\n let chr = text.charCodeAt(pos);\n if (chr == CharCode.Plus) {\n this.pos = pos + 1;\n return Token.Plus_Plus;\n }\n if (chr == CharCode.Equals) {\n this.pos = pos + 1;\n return Token.Plus_Equals;\n }\n }\n this.pos = pos;\n return Token.Plus;\n }\n case CharCode.Comma: {\n this.pos = pos + 1;\n return Token.Comma;\n }\n case CharCode.Minus: {\n ++pos;\n if (maxTokenLength > 1 && pos < end) {\n let chr = text.charCodeAt(pos);\n if (chr == CharCode.Minus) {\n this.pos = pos + 1;\n return Token.Minus_Minus;\n }\n if (chr == CharCode.Equals) {\n this.pos = pos + 1;\n return Token.Minus_Equals;\n }\n }\n this.pos = pos;\n return Token.Minus;\n }\n case CharCode.Dot: {\n ++pos;\n if (maxTokenLength > 1 && pos < end) {\n let chr = text.charCodeAt(pos);\n if (isDecimal(chr)) {\n this.pos = pos - 1;\n return Token.FloatLiteral; // expects a call to readFloat\n }\n if (\n maxTokenLength > 2 && pos + 1 < end &&\n chr == CharCode.Dot &&\n text.charCodeAt(pos + 1) == CharCode.Dot\n ) {\n this.pos = pos + 2;\n return Token.Dot_Dot_Dot;\n }\n }\n this.pos = pos;\n return Token.Dot;\n }\n case CharCode.Slash: {\n let commentStartPos = pos;\n ++pos;\n if (maxTokenLength > 1 && pos < end) {\n let chr = text.charCodeAt(pos);\n if (chr == CharCode.Slash) { // single-line\n let commentKind = CommentKind.Line;\n if (\n pos + 1 < end &&\n text.charCodeAt(pos + 1) == CharCode.Slash\n ) {\n ++pos;\n commentKind = CommentKind.Triple;\n }\n while (++pos < end) {\n if (text.charCodeAt(pos) == CharCode.LineFeed) {\n ++pos;\n break;\n }\n }\n if (this.onComment) {\n this.onComment(\n commentKind,\n text.substring(commentStartPos, pos),\n this.range(commentStartPos, pos)\n );\n }\n break;\n }\n if (chr == CharCode.Asterisk) { // multi-line\n let closed = false;\n while (++pos < end) {\n c = text.charCodeAt(pos);\n if (\n c == CharCode.Asterisk &&\n pos + 1 < end &&\n text.charCodeAt(pos + 1) == CharCode.Slash\n ) {\n pos += 2;\n closed = true;\n break;\n }\n }\n if (!closed) {\n this.error(\n DiagnosticCode._0_expected,\n this.range(pos), \"*/\"\n );\n } else if (this.onComment) {\n this.onComment(\n CommentKind.Block,\n text.substring(commentStartPos, pos),\n this.range(commentStartPos, pos)\n );\n }\n break;\n }\n if (chr == CharCode.Equals) {\n this.pos = pos + 1;\n return Token.Slash_Equals;\n }\n }\n this.pos = pos;\n return Token.Slash;\n }\n case CharCode._0:\n case CharCode._1:\n case CharCode._2:\n case CharCode._3:\n case CharCode._4:\n case CharCode._5:\n case CharCode._6:\n case CharCode._7:\n case CharCode._8:\n case CharCode._9: {\n this.pos = pos;\n return this.testInteger()\n ? Token.IntegerLiteral // expects a call to readInteger\n : Token.FloatLiteral; // expects a call to readFloat\n }\n case CharCode.Colon: {\n this.pos = pos + 1;\n return Token.Colon;\n }\n case CharCode.Semicolon: {\n this.pos = pos + 1;\n return Token.Semicolon;\n }\n case CharCode.LessThan: {\n ++pos;\n if (maxTokenLength > 1 && pos < end) {\n let chr = text.charCodeAt(pos);\n if (chr == CharCode.LessThan) {\n ++pos;\n if (\n maxTokenLength > 2 &&\n pos < end &&\n text.charCodeAt(pos) == CharCode.Equals\n ) {\n this.pos = pos + 1;\n return Token.LessThan_LessThan_Equals;\n }\n this.pos = pos;\n return Token.LessThan_LessThan;\n }\n if (chr == CharCode.Equals) {\n this.pos = pos + 1;\n return Token.LessThan_Equals;\n }\n }\n this.pos = pos;\n return Token.LessThan;\n }\n case CharCode.Equals: {\n ++pos;\n if (maxTokenLength > 1 && pos < end) {\n let chr = text.charCodeAt(pos);\n if (chr == CharCode.Equals) {\n ++pos;\n if (\n maxTokenLength > 2 &&\n pos < end &&\n text.charCodeAt(pos) == CharCode.Equals\n ) {\n this.pos = pos + 1;\n return Token.Equals_Equals_Equals;\n }\n this.pos = pos;\n return Token.Equals_Equals;\n }\n if (chr == CharCode.GreaterThan) {\n this.pos = pos + 1;\n return Token.Equals_GreaterThan;\n }\n }\n this.pos = pos;\n return Token.Equals;\n }\n case CharCode.GreaterThan: {\n ++pos;\n if (maxTokenLength > 1 && pos < end) {\n let chr = text.charCodeAt(pos);\n if (chr == CharCode.GreaterThan) {\n ++pos;\n if (maxTokenLength > 2 && pos < end) {\n chr = text.charCodeAt(pos);\n if (chr == CharCode.GreaterThan) {\n ++pos;\n if (\n maxTokenLength > 3 && pos < end &&\n text.charCodeAt(pos) == CharCode.Equals\n ) {\n this.pos = pos + 1;\n return Token.GreaterThan_GreaterThan_GreaterThan_Equals;\n }\n this.pos = pos;\n return Token.GreaterThan_GreaterThan_GreaterThan;\n }\n if (chr == CharCode.Equals) {\n this.pos = pos + 1;\n return Token.GreaterThan_GreaterThan_Equals;\n }\n }\n this.pos = pos;\n return Token.GreaterThan_GreaterThan;\n }\n if (chr == CharCode.Equals) {\n this.pos = pos + 1;\n return Token.GreaterThan_Equals;\n }\n }\n this.pos = pos;\n return Token.GreaterThan;\n }\n case CharCode.Question: {\n this.pos = pos + 1;\n return Token.Question;\n }\n case CharCode.OpenBracket: {\n this.pos = pos + 1;\n return Token.OpenBracket;\n }\n case CharCode.CloseBracket: {\n this.pos = pos + 1;\n return Token.CloseBracket;\n }\n case CharCode.Caret: {\n ++pos;\n if (\n maxTokenLength > 1 && pos < end &&\n text.charCodeAt(pos) == CharCode.Equals\n ) {\n this.pos = pos + 1;\n return Token.Caret_Equals;\n }\n this.pos = pos;\n return Token.Caret;\n }\n case CharCode.OpenBrace: {\n this.pos = pos + 1;\n return Token.OpenBrace;\n }\n case CharCode.Bar: {\n ++pos;\n if (maxTokenLength > 1 && pos < end) {\n let chr = text.charCodeAt(pos);\n if (chr == CharCode.Bar) {\n this.pos = pos + 1;\n return Token.Bar_Bar;\n }\n if (chr == CharCode.Equals) {\n this.pos = pos + 1;\n return Token.Bar_Equals;\n }\n }\n this.pos = pos;\n return Token.Bar;\n }\n case CharCode.CloseBrace: {\n this.pos = pos + 1;\n return Token.CloseBrace;\n }\n case CharCode.Tilde: {\n this.pos = pos + 1;\n return Token.Tilde;\n }\n case CharCode.At: {\n this.pos = pos + 1;\n return Token.At;\n }\n default: {\n // Unicode-aware from here on\n if (isHighSurrogate(c) && pos + 1 < end) {\n c = combineSurrogates(c, text.charCodeAt(pos + 1));\n }\n if (isIdentifierStart(c)) {\n let posBefore = pos;\n while (\n (pos += numCodeUnits(c)) < end &&\n isIdentifierPart(c = text.codePointAt(pos))\n ) { /* nop */ }\n if (identifierHandling != IdentifierHandling.Always) {\n let maybeKeywordToken = tokenFromKeyword(text.substring(posBefore, pos));\n if (\n maybeKeywordToken != Token.Invalid &&\n !(\n identifierHandling == IdentifierHandling.Prefer &&\n tokenIsAlsoIdentifier(maybeKeywordToken)\n )\n ) {\n this.pos = pos;\n return maybeKeywordToken;\n }\n }\n this.pos = posBefore;\n return Token.Identifier;\n } else if (isWhiteSpace(c)) {\n ++pos; // assume no supplementary whitespaces\n break;\n }\n let start = pos;\n pos += numCodeUnits(c);\n this.error(\n DiagnosticCode.Invalid_character,\n this.range(start, pos)\n );\n this.pos = pos;\n return Token.Invalid;\n }\n }\n }\n this.pos = pos;\n return Token.EndOfFile;\n }\n\n peek(\n identifierHandling: IdentifierHandling = IdentifierHandling.Default,\n maxCompoundLength: i32 = i32.MAX_VALUE\n ): Token {\n let nextToken = this.nextToken;\n if (nextToken < 0) {\n let posBefore = this.pos;\n let tokenBefore = this.token;\n let tokenPosBefore = this.tokenPos;\n do nextToken = this.unsafeNext(identifierHandling, maxCompoundLength);\n while (nextToken == Token.Invalid);\n this.nextToken = nextToken;\n this.nextTokenPos = this.tokenPos;\n this.nextTokenOnNewLine = OnNewLine.Unknown;\n this.pos = posBefore;\n this.token = tokenBefore;\n this.tokenPos = tokenPosBefore;\n }\n return nextToken;\n }\n\n peekOnNewLine(): bool {\n switch (this.nextTokenOnNewLine) {\n case OnNewLine.No: return false;\n case OnNewLine.Yes: return true;\n }\n this.peek();\n let text = this.source.text;\n for (let pos = this.pos, end = this.nextTokenPos; pos < end; ++pos) {\n if (isLineBreak(text.charCodeAt(pos))) {\n this.nextTokenOnNewLine = OnNewLine.Yes;\n return true;\n }\n }\n this.nextTokenOnNewLine = OnNewLine.No;\n return false;\n }\n\n skipIdentifier(identifierHandling: IdentifierHandling = IdentifierHandling.Prefer): bool {\n return this.skip(Token.Identifier, identifierHandling);\n }\n\n skip(token: Token, identifierHandling: IdentifierHandling = IdentifierHandling.Default): bool {\n let posBefore = this.pos;\n let tokenBefore = this.token;\n let tokenPosBefore = this.tokenPos;\n let maxCompoundLength = i32.MAX_VALUE;\n if (token == Token.GreaterThan) { // where parsing type arguments\n maxCompoundLength = 1;\n }\n let nextToken: Token;\n do nextToken = this.unsafeNext(identifierHandling, maxCompoundLength);\n while (nextToken == Token.Invalid);\n if (nextToken == token) {\n this.token = token;\n this.clearNextToken();\n return true;\n } else {\n this.pos = posBefore;\n this.token = tokenBefore;\n this.tokenPos = tokenPosBefore;\n return false;\n }\n }\n\n mark(): State {\n let state = reusableState;\n if (state) {\n reusableState = null;\n state.pos = this.pos;\n state.token = this.token;\n state.tokenPos = this.tokenPos;\n } else {\n state = new State(this.pos, this.token, this.tokenPos);\n }\n return state;\n }\n\n discard(state: State): void {\n reusableState = state;\n }\n\n reset(state: State): void {\n this.pos = state.pos;\n this.token = state.token;\n this.tokenPos = state.tokenPos;\n this.clearNextToken();\n }\n\n clearNextToken(): void {\n this.nextToken = -1;\n this.nextTokenPos = 0;\n this.nextTokenOnNewLine = OnNewLine.Unknown;\n }\n\n range(start: i32 = -1, end: i32 = -1): Range {\n if (start < 0) {\n start = this.tokenPos;\n end = this.pos;\n } else if (end < 0) {\n end = start;\n }\n let range = new Range(start, end);\n range.source = this.source;\n return range;\n }\n\n readIdentifier(): string {\n let text = this.source.text;\n let end = this.end;\n let pos = this.pos;\n let start = pos;\n let c = text.codePointAt(pos);\n assert(isIdentifierStart(c));\n while (\n (pos += numCodeUnits(c)) < end &&\n isIdentifierPart(c = text.codePointAt(pos))\n );\n this.pos = pos;\n return text.substring(start, pos);\n }\n\n readingTemplateString: bool = false;\n readStringStart: i32 = 0;\n readStringEnd: i32 = 0;\n\n readString(quote: i32 = 0, isTaggedTemplate: bool = false): string {\n let text = this.source.text;\n let end = this.end;\n let pos = this.pos;\n if (!quote) quote = text.charCodeAt(pos++);\n let start = pos;\n this.readStringStart = start;\n let result = \"\";\n\n while (true) {\n if (pos >= end) {\n result += text.substring(start, pos);\n this.error(\n DiagnosticCode.Unterminated_string_literal,\n this.range(start - 1, end)\n );\n this.readStringEnd = end;\n break;\n }\n let c = text.charCodeAt(pos);\n if (c == quote) {\n this.readStringEnd = pos;\n result += text.substring(start, pos++);\n break;\n }\n if (c == CharCode.Backslash) {\n result += text.substring(start, pos);\n this.pos = pos; // save\n result += this.readEscapeSequence(isTaggedTemplate);\n pos = this.pos; // restore\n start = pos;\n continue;\n }\n if (quote == CharCode.Backtick) {\n if (c == CharCode.Dollar && pos + 1 < end && text.charCodeAt(pos + 1) == CharCode.OpenBrace) {\n result += text.substring(start, pos);\n this.readStringEnd = pos;\n this.pos = pos + 2;\n this.readingTemplateString = true;\n return result;\n }\n } else if (isLineBreak(c)) {\n result += text.substring(start, pos);\n this.error(\n DiagnosticCode.Unterminated_string_literal,\n this.range(start - 1, pos)\n );\n this.readStringEnd = pos;\n break;\n }\n ++pos;\n }\n this.pos = pos;\n this.readingTemplateString = false;\n return result;\n }\n\n readEscapeSequence(isTaggedTemplate: bool = false): string {\n // for context on isTaggedTemplate, see: https://tc39.es/proposal-template-literal-revision/\n let start = this.pos;\n let end = this.end;\n if (++this.pos >= end) {\n this.error(\n DiagnosticCode.Unexpected_end_of_text,\n this.range(end)\n );\n return \"\";\n }\n\n let text = this.source.text;\n let c = text.charCodeAt(this.pos++);\n switch (c) {\n case CharCode._0: {\n if (isTaggedTemplate && this.pos < end && isDecimal(text.charCodeAt(this.pos))) {\n ++this.pos;\n return text.substring(start, this.pos);\n }\n return \"\\0\";\n }\n case CharCode.b: return \"\\b\";\n case CharCode.t: return \"\\t\";\n case CharCode.n: return \"\\n\";\n case CharCode.v: return \"\\v\";\n case CharCode.f: return \"\\f\";\n case CharCode.r: return \"\\r\";\n case CharCode.SingleQuote: return \"'\";\n case CharCode.DoubleQuote: return \"\\\"\";\n case CharCode.u: {\n if (\n this.pos < end &&\n text.charCodeAt(this.pos) == CharCode.OpenBrace\n ) {\n ++this.pos;\n return this.readExtendedUnicodeEscape(isTaggedTemplate ? start : -1); // \\u{DDDDDDDD}\n }\n return this.readUnicodeEscape(isTaggedTemplate ? start : -1); // \\uDDDD\n }\n case CharCode.x: {\n return this.readHexadecimalEscape(2, isTaggedTemplate ? start : - 1); // \\xDD\n }\n case CharCode.CarriageReturn: {\n if (\n this.pos < end &&\n text.charCodeAt(this.pos) == CharCode.LineFeed\n ) {\n ++this.pos;\n }\n // fall through\n }\n case CharCode.LineFeed:\n case CharCode.LineSeparator:\n case CharCode.ParagraphSeparator: return \"\";\n default: return String.fromCodePoint(c);\n }\n }\n\n readRegexpPattern(): string {\n let text = this.source.text;\n let start = this.pos;\n let end = this.end;\n let escaped = false;\n while (true) {\n if (this.pos >= end) {\n this.error(\n DiagnosticCode.Unterminated_regular_expression_literal,\n this.range(start, end)\n );\n break;\n }\n if (text.charCodeAt(this.pos) == CharCode.Backslash) {\n ++this.pos;\n escaped = true;\n continue;\n }\n let c = text.charCodeAt(this.pos);\n if (!escaped && c == CharCode.Slash) break;\n if (isLineBreak(c)) {\n this.error(\n DiagnosticCode.Unterminated_regular_expression_literal,\n this.range(start, this.pos)\n );\n break;\n }\n ++this.pos;\n escaped = false;\n }\n return text.substring(start, this.pos);\n }\n\n readRegexpFlags(): string {\n let text = this.source.text;\n let start = this.pos;\n let end = this.end;\n let flags = 0;\n while (this.pos < end) {\n let c: i32 = text.charCodeAt(this.pos);\n if (!isIdentifierPart(c)) break;\n ++this.pos;\n\n // make sure each supported flag is unique\n switch (c) {\n case CharCode.g: {\n flags |= flags & 1 ? -1 : 1;\n break;\n }\n case CharCode.i: {\n flags |= flags & 2 ? -1 : 2;\n break;\n }\n case CharCode.m: {\n flags |= flags & 4 ? -1 : 4;\n break;\n }\n default: {\n flags = -1;\n break;\n }\n }\n }\n if (flags == -1) {\n this.error(\n DiagnosticCode.Invalid_regular_expression_flags,\n this.range(start, this.pos)\n );\n }\n return text.substring(start, this.pos);\n }\n\n testInteger(): bool {\n let text = this.source.text;\n let pos = this.pos;\n let end = this.end;\n if (pos + 1 < end && text.charCodeAt(pos) == CharCode._0) {\n switch (text.charCodeAt(pos + 2) | 32) {\n case CharCode.x:\n case CharCode.b:\n case CharCode.o: return true;\n }\n }\n while (pos < end) {\n let c = text.charCodeAt(pos);\n if (c == CharCode.Dot || (c | 32) == CharCode.e) return false;\n if (c != CharCode._ && (c < CharCode._0 || c > CharCode._9)) break;\n // does not validate separator placement (this is done in readXYInteger)\n pos++;\n }\n return true;\n }\n\n readInteger(): i64 {\n let text = this.source.text;\n let pos = this.pos;\n if (pos + 2 < this.end && text.charCodeAt(pos) == CharCode._0) {\n switch (text.charCodeAt(pos + 1) | 32) {\n case CharCode.x: {\n this.pos = pos + 2;\n return this.readHexInteger();\n }\n case CharCode.b: {\n this.pos = pos + 2;\n return this.readBinaryInteger();\n }\n case CharCode.o: {\n this.pos = pos + 2;\n return this.readOctalInteger();\n }\n }\n if (isOctal(text.charCodeAt(pos + 1))) {\n let start = pos;\n this.pos = pos + 1;\n let value = this.readOctalInteger();\n this.error(\n DiagnosticCode.Octal_literals_are_not_allowed_in_strict_mode,\n this.range(start, this.pos)\n );\n return value;\n }\n }\n return this.readDecimalInteger();\n }\n\n readHexInteger(): i64 {\n let text = this.source.text;\n let pos = this.pos;\n let end = this.end;\n let start = pos;\n let sepEnd = start;\n let value = i64_zero;\n let i64_4 = i64_new(4);\n let nextValue = value;\n let overflowOccurred = false;\n\n while (pos < end) {\n let c = text.charCodeAt(pos);\n if (isDecimal(c)) {\n // (value << 4) + c - CharCode._0\n nextValue = i64_add(\n i64_shl(value, i64_4),\n i64_new(c - CharCode._0)\n );\n } else if (isHexBase(c)) {\n // (value << 4) + (c | 32) + (10 - CharCode.a)\n nextValue = i64_add(\n i64_shl(value, i64_4),\n i64_new((c | 32) + (10 - CharCode.a))\n );\n } else if (c == CharCode._) {\n if (sepEnd == pos) {\n this.error(\n sepEnd == start\n ? DiagnosticCode.Numeric_separators_are_not_allowed_here\n : DiagnosticCode.Multiple_consecutive_numeric_separators_are_not_permitted,\n this.range(pos)\n );\n }\n sepEnd = pos + 1;\n } else {\n break;\n }\n if (i64_gt_u(value, nextValue)) {\n // Unsigned overflow occurred\n overflowOccurred = true;\n }\n value = nextValue;\n ++pos;\n }\n if (pos == start) {\n this.error(\n DiagnosticCode.Hexadecimal_digit_expected,\n this.range(start)\n );\n } else if (sepEnd == pos) {\n this.error(\n DiagnosticCode.Numeric_separators_are_not_allowed_here,\n this.range(sepEnd - 1)\n );\n }\n if (overflowOccurred) {\n this.error(\n DiagnosticCode.Literal_0_does_not_fit_into_i64_or_u64_types,\n this.range(start - 2, pos),\n this.source.text.substring(start - 2, pos)\n );\n }\n this.pos = pos;\n return value;\n }\n\n readDecimalInteger(): i64 {\n let text = this.source.text;\n let pos = this.pos;\n let end = this.end;\n let start = pos;\n let sepEnd = start;\n let value = i64_zero;\n let i64_10 = i64_new(10);\n let nextValue = value;\n let overflowOccurred = false;\n\n while (pos < end) {\n let c = text.charCodeAt(pos);\n if (isDecimal(c)) {\n // value = value * 10 + c - CharCode._0;\n nextValue = i64_add(\n i64_mul(value, i64_10),\n i64_new(c - CharCode._0)\n );\n } else if (c == CharCode._) {\n if (sepEnd == pos) {\n this.error(\n sepEnd == start\n ? DiagnosticCode.Numeric_separators_are_not_allowed_here\n : DiagnosticCode.Multiple_consecutive_numeric_separators_are_not_permitted,\n this.range(pos)\n );\n } else if (pos - 1 == start && text.charCodeAt(pos - 1) == CharCode._0) {\n this.error(\n DiagnosticCode.Numeric_separators_are_not_allowed_here,\n this.range(pos)\n );\n }\n sepEnd = pos + 1;\n } else {\n break;\n }\n if (i64_gt_u(value, nextValue)) {\n // Unsigned overflow occurred\n overflowOccurred = true;\n }\n value = nextValue;\n ++pos;\n }\n if (pos == start) {\n this.error(\n DiagnosticCode.Digit_expected,\n this.range(start)\n );\n } else if (sepEnd == pos) {\n this.error(\n DiagnosticCode.Numeric_separators_are_not_allowed_here,\n this.range(sepEnd - 1)\n );\n } else if (overflowOccurred) {\n this.error(\n DiagnosticCode.Literal_0_does_not_fit_into_i64_or_u64_types,\n this.range(start, pos),\n this.source.text.substring(start, pos)\n );\n }\n this.pos = pos;\n return value;\n }\n\n readOctalInteger(): i64 {\n let text = this.source.text;\n let pos = this.pos;\n let end = this.end;\n let start = pos;\n let sepEnd = start;\n let value = i64_zero;\n let i64_3 = i64_new(3);\n let nextValue = value;\n let overflowOccurred = false;\n\n while (pos < end) {\n let c = text.charCodeAt(pos);\n if (isOctal(c)) {\n // (value << 3) + c - CharCode._0\n nextValue = i64_add(\n i64_shl(value, i64_3),\n i64_new(c - CharCode._0)\n );\n } else if (c == CharCode._) {\n if (sepEnd == pos) {\n this.error(\n sepEnd == start\n ? DiagnosticCode.Numeric_separators_are_not_allowed_here\n : DiagnosticCode.Multiple_consecutive_numeric_separators_are_not_permitted,\n this.range(pos)\n );\n }\n sepEnd = pos + 1;\n } else {\n break;\n }\n if (i64_gt_u(value, nextValue)) {\n // Unsigned overflow occurred\n overflowOccurred = true;\n }\n value = nextValue;\n ++pos;\n }\n if (pos == start) {\n this.error(\n DiagnosticCode.Octal_digit_expected,\n this.range(start)\n );\n } else if (sepEnd == pos) {\n this.error(\n DiagnosticCode.Numeric_separators_are_not_allowed_here,\n this.range(sepEnd - 1)\n );\n } else if (overflowOccurred) {\n this.error(\n DiagnosticCode.Literal_0_does_not_fit_into_i64_or_u64_types,\n this.range(start - 2, pos),\n this.source.text.substring(start - 2, pos)\n );\n }\n this.pos = pos;\n return value;\n }\n\n readBinaryInteger(): i64 {\n let text = this.source.text;\n let pos = this.pos;\n let end = this.end;\n let start = pos;\n let sepEnd = start;\n let value = i64_zero;\n let nextValue = value;\n let overflowOccurred = false;\n\n while (pos < end) {\n let c = text.charCodeAt(pos);\n if (c == CharCode._0) {\n // value << 1 | 0\n nextValue = i64_shl(value, i64_one);\n } else if (c == CharCode._1) {\n // value << 1 | 1\n nextValue = i64_or(\n i64_shl(value, i64_one),\n i64_one\n );\n } else if (c == CharCode._) {\n if (sepEnd == pos) {\n this.error(\n sepEnd == start\n ? DiagnosticCode.Numeric_separators_are_not_allowed_here\n : DiagnosticCode.Multiple_consecutive_numeric_separators_are_not_permitted,\n this.range(pos)\n );\n }\n sepEnd = pos + 1;\n } else {\n break;\n }\n if (i64_gt(value, nextValue)) {\n // Overflow occurred\n overflowOccurred = true;\n }\n value = nextValue;\n ++pos;\n }\n if (pos == start) {\n this.error(\n DiagnosticCode.Binary_digit_expected,\n this.range(start)\n );\n } else if (sepEnd == pos) {\n this.error(\n DiagnosticCode.Numeric_separators_are_not_allowed_here,\n this.range(sepEnd - 1)\n );\n } else if (overflowOccurred) {\n this.error(\n DiagnosticCode.Literal_0_does_not_fit_into_i64_or_u64_types,\n this.range(start - 2, pos),\n this.source.text.substring(start - 2, pos)\n );\n }\n this.pos = pos;\n return value;\n }\n\n readFloat(): f64 {\n // let text = this.source.text;\n // if (text.charCodeAt(this.pos) == CharCode._0 && this.pos + 2 < this.end) {\n // switch (text.charCodeAt(this.pos + 1)) {\n // case CharCode.X:\n // case CharCode.x: {\n // this.pos += 2;\n // return this.readHexFloat();\n // }\n // }\n // }\n return this.readDecimalFloat();\n }\n\n readDecimalFloat(): f64 {\n let text = this.source.text;\n let end = this.end;\n let start = this.pos;\n let sepCount = this.readDecimalFloatPartial(false);\n if (this.pos < end && text.charCodeAt(this.pos) == CharCode.Dot) {\n ++this.pos;\n sepCount += this.readDecimalFloatPartial();\n }\n if (this.pos < end) {\n let c = text.charCodeAt(this.pos);\n if ((c | 32) == CharCode.e) {\n if (\n ++this.pos < end &&\n (c = text.charCodeAt(this.pos)) == CharCode.Minus || c == CharCode.Plus &&\n isDecimal(text.charCodeAt(this.pos + 1))\n ) {\n ++this.pos;\n }\n sepCount += this.readDecimalFloatPartial();\n }\n }\n let result = text.substring(start, this.pos);\n if (sepCount) result = result.replaceAll(\"_\", \"\");\n return parseFloat(result);\n }\n\n /** Reads past one section of a decimal float literal. Returns the number of separators encountered. */\n private readDecimalFloatPartial(allowLeadingZeroSep: bool = true): u32 {\n let text = this.source.text;\n let pos = this.pos;\n let start = pos;\n let end = this.end;\n let sepEnd = start;\n let sepCount = 0;\n\n while (pos < end) {\n let c = text.charCodeAt(pos);\n\n if (c == CharCode._) {\n if (sepEnd == pos) {\n this.error(\n sepEnd == start\n ? DiagnosticCode.Numeric_separators_are_not_allowed_here\n : DiagnosticCode.Multiple_consecutive_numeric_separators_are_not_permitted,\n this.range(pos)\n );\n } else if (!allowLeadingZeroSep && pos - 1 == start && text.charCodeAt(pos - 1) == CharCode._0) {\n this.error(\n DiagnosticCode.Numeric_separators_are_not_allowed_here,\n this.range(pos)\n );\n }\n sepEnd = pos + 1;\n ++sepCount;\n } else if (!isDecimal(c)) {\n break;\n }\n ++pos;\n }\n\n if (pos != start && sepEnd == pos) {\n this.error(\n DiagnosticCode.Numeric_separators_are_not_allowed_here,\n this.range(sepEnd - 1)\n );\n }\n\n this.pos = pos;\n return sepCount;\n }\n\n readHexFloat(): f64 {\n throw new Error(\"not implemented\"); // TBD\n }\n\n readHexadecimalEscape(remain: i32 = 2, startIfTaggedTemplate: i32 = -1): string {\n let value = 0;\n let text = this.source.text;\n let pos = this.pos;\n let end = this.end;\n while (pos < end) {\n let c = text.charCodeAt(pos++);\n if (isDecimal(c)) {\n value = (value << 4) + c - CharCode._0;\n } else if (isHexBase(c)) {\n value = (value << 4) + (c | 32) + (10 - CharCode.a);\n } else if (~startIfTaggedTemplate) {\n this.pos = --pos;\n return text.substring(startIfTaggedTemplate, pos);\n } else {\n this.pos = pos;\n this.error(\n DiagnosticCode.Hexadecimal_digit_expected,\n this.range(pos - 1, pos)\n );\n return \"\";\n }\n if (--remain == 0) break;\n }\n if (remain) { // invalid\n this.pos = pos;\n if (~startIfTaggedTemplate) {\n return text.substring(startIfTaggedTemplate, pos);\n }\n this.error(\n DiagnosticCode.Unexpected_end_of_text,\n this.range(pos)\n );\n return \"\";\n }\n this.pos = pos;\n return String.fromCodePoint(value);\n }\n\n checkForIdentifierStartAfterNumericLiteral(): void {\n // TODO: BigInt n\n let pos = this.pos;\n if (pos < this.end && isIdentifierStart(this.source.text.charCodeAt(pos))) {\n this.error(\n DiagnosticCode.An_identifier_or_keyword_cannot_immediately_follow_a_numeric_literal,\n this.range(pos)\n );\n }\n }\n\n readUnicodeEscape(startIfTaggedTemplate: i32 = -1): string {\n return this.readHexadecimalEscape(4, startIfTaggedTemplate);\n }\n\n private readExtendedUnicodeEscape(startIfTaggedTemplate: i32 = -1): string {\n let start = this.pos;\n let value = this.readHexInteger();\n let value32 = i64_low(value);\n let invalid = false;\n\n assert(!i64_high(value));\n if (value32 > 0x10FFFF) {\n if (startIfTaggedTemplate == -1) {\n this.error(\n DiagnosticCode.An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive,\n this.range(start, this.pos)\n );\n }\n invalid = true;\n }\n\n let end = this.end;\n let text = this.source.text;\n if (this.pos >= end) {\n if (startIfTaggedTemplate == -1) {\n this.error(\n DiagnosticCode.Unexpected_end_of_text,\n this.range(start, end)\n );\n }\n invalid = true;\n } else if (text.charCodeAt(this.pos) == CharCode.CloseBrace) {\n ++this.pos;\n } else {\n if (startIfTaggedTemplate == -1) {\n this.error(\n DiagnosticCode.Unterminated_Unicode_escape_sequence,\n this.range(start, this.pos)\n );\n }\n invalid = true;\n }\n\n if (invalid) {\n return ~startIfTaggedTemplate\n ? text.substring(startIfTaggedTemplate, this.pos)\n : \"\";\n }\n return String.fromCodePoint(value32);\n }\n}\n\n/** Tokenizer state as returned by {@link Tokenizer#mark} and consumed by {@link Tokenizer#reset}. */\nexport class State {\n constructor(\n /** Current position. */\n public pos: i32,\n /** Current token. */\n public token: Token,\n /** Current token's position. */\n public tokenPos: i32\n ) {}\n}\n\n// Reusable state object to reduce allocations\nlet reusableState: State | null = null;\n", "/**\n * @fileoverview A thin wrapper around Binaryen's C-API.\n *\n * The AssemblyScript compiler utilizes Binaryen's C-API directly. Even\n * though it currently imports binaryen.js, none of the JS APIs it\n * provides are used.\n *\n * @license Apache-2.0\n */\n\nimport { BuiltinNames } from \"./builtins\";\nimport { CommonNames, Target } from \"./common\";\nimport {\n isHighSurrogate,\n isLowSurrogate,\n combineSurrogates,\n SURROGATE_HIGH,\n SURROGATE_LOW\n} from \"./util\";\nimport {\n Type,\n TypeFlags,\n TypeKind\n} from \"./types\";\nimport {\n ElementKind,\n PropertyPrototype\n} from \"./program\";\nimport * as binaryen from \"./glue/binaryen\";\n\n/** A Binaryen-compatible index. */\nexport type Index = binaryen.Index;\n/** Reference to a Binaryen-compatible string. */\nexport type StringRef = binaryen.StringRef;\n/** Reference to a Binaryen module. */\nexport type ModuleRef = binaryen.ModuleRef;\n/** Reference to a Binaryen function. */\nexport type FunctionRef = binaryen.FunctionRef;\n/** Reference to a Binaryen expression. */\nexport type ExpressionRef = binaryen.ExpressionRef;\n/** Reference to a Binaryen global. */\nexport type GlobalRef = binaryen.GlobalRef;\n/** Reference to a Binaryen tag. */\nexport type TagRef = binaryen.TagRef;\n/** Reference to a Binaryen import. */\nexport type ImportRef = binaryen.ImportRef;\n/** Reference to a Binaryen export. */\nexport type ExportRef = binaryen.ExportRef;\n/** Reference to a Binaryen relooper. */\nexport type RelooperRef = binaryen.RelooperRef;\n/** Reference to a Binaryen relooper block. */\nexport type RelooperBlockRef = binaryen.RelooperBlockRef;\n\n// The following constants must be updated by running scripts/update-constants.\n// This is necessary because the functions are not yet callable with Binaryen\n// compiled to WebAssembly, requiring awaiting the ready promise first. Note\n// that this essentially fixes the compiler to specific versions of Binaryen\n// sometimes, because these constants can differ between Binaryen versions.\n\n/** Reference to a Binaryen type. */\nexport type TypeRef = binaryen.TypeRef;\nexport namespace TypeRef {\n // special types\n export const None: TypeRef = 0 /* _BinaryenTypeNone */;\n export const Unreachable: TypeRef = 1 /* _BinaryenTypeUnreachable */;\n // value types\n export const I32: TypeRef = 2 /* _BinaryenTypeInt32 */;\n export const I64: TypeRef = 3 /* _BinaryenTypeInt64 */;\n export const F32: TypeRef = 4 /* _BinaryenTypeFloat32 */;\n export const F64: TypeRef = 5 /* _BinaryenTypeFloat64 */;\n export const V128: TypeRef = 6 /* _BinaryenTypeVec128 */;\n // reference/gc types\n export const Funcref = binaryen._BinaryenTypeFuncref();\n export const Externref = binaryen._BinaryenTypeExternref();\n export const Anyref = binaryen._BinaryenTypeAnyref();\n export const Eqref = binaryen._BinaryenTypeEqref();\n export const Structref = binaryen._BinaryenTypeStructref();\n export const Arrayref = binaryen._BinaryenTypeArrayref();\n export const I31ref = binaryen._BinaryenTypeI31ref();\n export const Stringref = binaryen._BinaryenTypeStringref();\n export const StringviewWTF8 = binaryen._BinaryenTypeStringviewWTF8();\n export const StringviewWTF16 = binaryen._BinaryenTypeStringviewWTF16();\n export const StringviewIter = binaryen._BinaryenTypeStringviewIter();\n export const Noneref = binaryen._BinaryenTypeNullref();\n export const Nofuncref = binaryen._BinaryenTypeNullFuncref();\n export const Noexternref = binaryen._BinaryenTypeNullExternref();\n}\n\n/** Reference to a Binaryen heap type. */\nexport type HeapTypeRef = binaryen.HeapTypeRef;\nexport namespace HeapTypeRef {\n\n // any extern func\n // | | |\n // __ eq __ ? noextern (...)\n // / | \\ | |\n // i31 struct array string nofunc\n // | | | |\n // none (...) (...) ?\n // | |\n // none none\n //\n // where (...) represents the concrete subtypes\n\n export const Extern: HeapTypeRef = 0 /* _BinaryenHeapTypeExt */;\n export const Func: HeapTypeRef = 1 /* _BinaryenHeapTypeFunc */;\n export const Any: HeapTypeRef = 2 /* _BinaryenHeapTypeAny */;\n export const Eq: HeapTypeRef = 3 /* _BinaryenHeapTypeEq */;\n export const I31: HeapTypeRef = 4 /* _BinaryenHeapTypeI31 */;\n export const Struct: HeapTypeRef = 5 /* _BinaryenHeapTypeStruct */;\n export const Array: HeapTypeRef = 6 /* _BinaryenHeapTypeArray */;\n export const Exn: HeapTypeRef = 7 /* TODO: BinaryenHeapTypeExn */;\n export const String: HeapTypeRef = 8 /* _BinaryenHeapTypeString */;\n export const StringviewWTF8: HeapTypeRef = 9 /* _BinaryenHeapTypeStringviewWTF8 */;\n export const StringviewWTF16: HeapTypeRef = 10 /* _BinaryenHeapTypeStringviewWTF16 */;\n export const StringviewIter: HeapTypeRef = 11 /* _BinaryenHeapTypeStringviewIter */;\n export const None: HeapTypeRef = 12 /* _BinaryenHeapTypeNone */;\n export const Noextern: HeapTypeRef = 13 /* _BinaryenHeapTypeNoext */;\n export const Nofunc: HeapTypeRef = 14 /* _BinaryenHeapTypeNofunc */;\n\n export function isBottom(ht: HeapTypeRef): bool {\n return binaryen._BinaryenHeapTypeIsBottom(ht);\n }\n\n export function getBottom(ht: HeapTypeRef): HeapTypeRef {\n return binaryen._BinaryenHeapTypeGetBottom(ht);\n }\n\n export function isSubtype(ht: HeapTypeRef, superHt: HeapTypeRef): bool {\n return binaryen._BinaryenHeapTypeIsSubType(ht, superHt);\n }\n\n export function leastUpperBound(a: HeapTypeRef, b: HeapTypeRef): HeapTypeRef {\n // see binaryen/src/wasm/wasm-type.cpp\n if (a == b) return a;\n if (getBottom(a) != getBottom(b)) return -1;\n if (isBottom(a)) return b;\n if (isBottom(b)) return a;\n if (a > b) {\n let t = a;\n a = b;\n b = t;\n }\n switch (a) {\n case HeapTypeRef.Extern:\n case HeapTypeRef.Func: return -1;\n case HeapTypeRef.Any: return a;\n case HeapTypeRef.Eq: {\n return b == HeapTypeRef.I31 || b == HeapTypeRef.Struct || b == HeapTypeRef.Array\n ? HeapTypeRef.Eq\n : HeapTypeRef.Any;\n }\n case HeapTypeRef.I31: {\n return b == HeapTypeRef.Struct || b == HeapTypeRef.Array\n ? HeapTypeRef.Eq\n : HeapTypeRef.Any;\n }\n case HeapTypeRef.Struct: {\n return b == HeapTypeRef.Array\n ? HeapTypeRef.Eq\n : HeapTypeRef.Any;\n }\n case HeapTypeRef.Array:\n case HeapTypeRef.String:\n case HeapTypeRef.StringviewWTF8:\n case HeapTypeRef.StringviewWTF16:\n case HeapTypeRef.StringviewIter: return HeapTypeRef.Any;\n }\n assert(false);\n return -1;\n }\n}\n\n/** Packed array element respectively struct field types. */\nexport type PackedType = binaryen.PackedType;\nexport namespace PackedType {\n export const NotPacked: PackedType = 0 /* _BinaryenPackedTypeNotPacked */;\n export const I8: PackedType = 1 /* _BinaryenPackedTypeInt8 */;\n export const I16: PackedType = 2 /* _BinaryenPackedTypeInt16 */;\n}\n\n/** Type builder error reasons. */\nexport type TypeBuilderErrorReason = binaryen.TypeBuilderErrorReason;\nexport namespace TypeBuilderErrorReason {\n /** Indicates a cycle in the supertype relation. */\n export const SelfSupertype: TypeBuilderErrorReason = 0 /* _TypeBuilderErrorReasonSelfSupertype */;\n /** Indicates that the declared supertype of a type is invalid. */\n export const InvalidSupertype: TypeBuilderErrorReason = 1 /* _TypeBuilderErrorReasonInvalidSupertype */;\n /** Indicates that the declared supertype is an invalid forward reference. */\n export const ForwardSupertypeReference: TypeBuilderErrorReason = 2 /* _TypeBuilderErrorReasonForwardSupertypeReference */;\n /** Indicates that a child of a type is an invalid forward reference. */\n export const ForwardChildReference: TypeBuilderErrorReason = 3 /* _TypeBuilderErrorReasonForwardChildReference */;\n /** Converts a type builder error reason to a string. */\n export function toString(reason: TypeBuilderErrorReason): string {\n switch (reason) {\n case SelfSupertype: return \"SelfSupertype\";\n case InvalidSupertype: return \"InvalidSupertype\";\n case ForwardSupertypeReference: return \"ForwardSupertypeReference\";\n case ForwardChildReference: return \"ForwardChildReference\";\n }\n assert(false);\n return \"\";\n }\n}\n\n/** Binaryen feature constants. */\nexport const enum FeatureFlags {\n MVP = 0 /* _BinaryenFeatureMVP */,\n Atomics = 1 /* _BinaryenFeatureAtomics */,\n MutableGlobals = 2 /* _BinaryenFeatureMutableGlobals */,\n TruncSat = 4 /* _BinaryenFeatureNontrappingFPToInt */,\n SIMD = 8 /* _BinaryenFeatureSIMD128 */,\n BulkMemory = 16 /* _BinaryenFeatureBulkMemory */,\n SignExt = 32 /* _BinaryenFeatureSignExt */,\n ExceptionHandling = 64 /* _BinaryenFeatureExceptionHandling */,\n TailCall = 128 /* _BinaryenFeatureTailCall */,\n ReferenceTypes = 256 /* _BinaryenFeatureReferenceTypes */,\n MultiValue = 512 /* _BinaryenFeatureMultivalue */,\n GC = 1024 /* _BinaryenFeatureGC */,\n Memory64 = 2048 /* _BinaryenFeatureMemory64 */,\n RelaxedSIMD = 4096 /* _BinaryenFeatureRelaxedSIMD */,\n ExtendedConst = 8192 /* _BinaryenFeatureExtendedConst */,\n Stringref = 16384 /* _BinaryenFeatureStrings */,\n MultiMemory = 32768 /* _BinaryenFeatureMultiMemory */,\n All = 131071 /* _BinaryenFeatureAll */\n}\n\n/** Binaryen expression id constants. */\nexport const enum ExpressionId {\n Invalid = 0 /* _BinaryenInvalidId */,\n Block = 1 /* _BinaryenBlockId */,\n If = 2 /* _BinaryenIfId */,\n Loop = 3 /* _BinaryenLoopId */,\n Break = 4 /* _BinaryenBreakId */,\n Switch = 5 /* _BinaryenSwitchId */,\n Call = 6 /* _BinaryenCallId */,\n CallIndirect = 7 /* _BinaryenCallIndirectId */,\n LocalGet = 8 /* _BinaryenLocalGetId */,\n LocalSet = 9 /* _BinaryenLocalSetId */,\n GlobalGet = 10 /* _BinaryenGlobalGetId */,\n GlobalSet = 11 /* _BinaryenGlobalSetId */,\n Load = 12 /* _BinaryenLoadId */,\n Store = 13 /* _BinaryenStoreId */,\n Const = 14 /* _BinaryenConstId */,\n Unary = 15 /* _BinaryenUnaryId */,\n Binary = 16 /* _BinaryenBinaryId */,\n Select = 17 /* _BinaryenSelectId */,\n Drop = 18 /* _BinaryenDropId */,\n Return = 19 /* _BinaryenReturnId */,\n MemorySize = 20 /* _BinaryenMemorySizeId */,\n MemoryGrow = 21 /* _BinaryenMemoryGrowId */,\n Nop = 22 /* _BinaryenNopId */,\n Unreachable = 23 /* _BinaryenUnreachableId */,\n AtomicRMW = 24 /* _BinaryenAtomicRMWId */,\n AtomicCmpxchg = 25 /* _BinaryenAtomicCmpxchgId */,\n AtomicWait = 26 /* _BinaryenAtomicWaitId */,\n AtomicNotify = 27 /* _BinaryenAtomicNotifyId */,\n AtomicFence = 28 /* _BinaryenAtomicFenceId */,\n SIMDExtract = 29 /* _BinaryenSIMDExtractId */,\n SIMDReplace = 30 /* _BinaryenSIMDReplaceId */,\n SIMDShuffle = 31 /* _BinaryenSIMDShuffleId */,\n SIMDTernary = 32 /* _BinaryenSIMDTernaryId */,\n SIMDShift = 33 /* _BinaryenSIMDShiftId */,\n SIMDLoad = 34 /* _BinaryenSIMDLoadId */,\n SIMDLoadStoreLane = 35 /* _BinaryenSIMDLoadStoreLaneId */,\n MemoryInit = 36 /* _BinaryenMemoryInitId */,\n DataDrop = 37 /* _BinaryenDataDropId */,\n MemoryCopy = 38 /* _BinaryenMemoryCopyId */,\n MemoryFill = 39 /* _BinaryenMemoryFillId */,\n Pop = 40 /* _BinaryenPopId */,\n RefNull = 41 /* _BinaryenRefNullId */,\n RefIsNull = 42 /* _BinaryenRefIsNullId */,\n RefFunc = 43 /* _BinaryenRefFuncId */,\n RefEq = 44 /* _BinaryenRefEqId */,\n TableGet = 45 /* _BinaryenTableGetId */,\n TableSet = 46 /* _BinaryenTableSetId */,\n TableSize = 47 /* _BinaryenTableSizeId */,\n TableGrow = 48 /* _BinaryenTableGrowId */,\n TableFill = 49 /* _BinaryenTableFillId */,\n TableCopy = 50 /* _BinaryenTableCopyId */,\n Try = 51 /* _BinaryenTryId */,\n TryTable = 52 /* _BinaryenTryTableId */,\n Throw = 53 /* _BinaryenThrowId */,\n Rethrow = 54 /* _BinaryenRethrowId */,\n ThrowRef = 55 /* _BinaryenThrowRefId */,\n TupleMake = 56 /* _BinaryenTupleMakeId */,\n TupleExtract = 57 /* _BinaryenTupleExtractId */,\n RefI31 = 58 /* _BinaryenRefI31Id */,\n I31Get = 59 /* _BinaryenI31GetId */,\n CallRef = 60 /* _BinaryenCallRefId */,\n RefTest = 61 /* _BinaryenRefTestId */,\n RefCast = 62 /* _BinaryenRefCastId */,\n BrOn = 63 /* _BinaryenBrOnId */,\n StructNew = 64 /* _BinaryenStructNewId */,\n StructGet = 65 /* _BinaryenStructGetId */,\n StructSet = 66 /* _BinaryenStructSetId */,\n ArrayNew = 67 /* _BinaryenArrayNewId */,\n ArrayNewData = 68 /* _BinaryenArrayNewDataId */,\n ArrayNewElem = 69 /* _BinaryenArrayNewElemId */,\n ArrayNewFixed = 70 /* _BinaryenArrayNewFixedId */,\n ArrayGet = 71 /* _BinaryenArrayGetId */,\n ArraySet = 72 /* _BinaryenArraySetId */,\n ArrayLen = 73 /* _BinaryenArrayLenId */,\n ArrayCopy = 74 /* _BinaryenArrayCopyId */,\n ArrayFill = 75 /* _BinaryenArrayFillId */,\n ArrayInitData = 76 /* _BinaryenArrayInitDataId */,\n ArrayInitElem = 77 /* _BinaryenArrayInitElemId */,\n RefAs = 78 /* _BinaryenRefAsId */,\n StringNew = 79 /* _BinaryenStringNewId */,\n StringConst = 80 /* _BinaryenStringConstId */,\n StringMeasure = 81 /* _BinaryenStringMeasureId */,\n StringEncode = 82 /* _BinaryenStringEncodeId */,\n StringConcat = 83 /* _BinaryenStringConcatId */,\n StringEq = 84 /* _BinaryenStringEqId */,\n StringAs = 85 /* _BinaryenStringAsId */,\n StringWTF8Advance = 86 /* _BinaryenStringWTF8AdvanceId */,\n StringWTF16Get = 87 /* _BinaryenStringWTF16GetId */,\n StringIterNext = 88 /* _BinaryenStringIterNextId */,\n StringIterMove = 89 /* _BinaryenStringIterMoveId */,\n StringSliceWTF = 90 /* _BinaryenStringSliceWTFId */,\n StringSliceIter = 91 /* _BinaryenStringSliceIterId */,\n ResumeId = 92 /* _BinaryenResumeId */\n}\n\n/** Binaryen external kind constants. */\nexport const enum ExternalKind {\n Function = 0 /* _BinaryenExternalFunction */,\n Table = 1 /* _BinaryenExternalTable */,\n Memory = 2 /* _BinaryenExternalMemory */,\n Global = 3 /* _BinaryenExternalGlobal */,\n Tag = 4 /* _BinaryenExternalTag */\n}\n\n/** Binaryen unary operation constants. */\nexport const enum UnaryOp {\n /** i32.clz */\n ClzI32 = 0 /* _BinaryenClzInt32 */,\n /** i64.clz */\n ClzI64 = 1 /* _BinaryenClzInt64 */,\n /** i32.ctz */\n CtzI32 = 2 /* _BinaryenCtzInt32 */,\n /** i64.ctz */\n CtzI64 = 3 /* _BinaryenCtzInt64 */,\n /** i32.popcnt */\n PopcntI32 = 4 /* _BinaryenPopcntInt32 */,\n /** i64.popcnt */\n PopcntI64 = 5 /* _BinaryenPopcntInt64 */,\n /** f32.neg */\n NegF32 = 6 /* _BinaryenNegFloat32 */,\n /** f64.neg */\n NegF64 = 7 /* _BinaryenNegFloat64 */,\n /** f32.abs */\n AbsF32 = 8 /* _BinaryenAbsFloat32 */,\n /** f64.abs */\n AbsF64 = 9 /* _BinaryenAbsFloat64 */,\n /** f32.ceil */\n CeilF32 = 10 /* _BinaryenCeilFloat32 */,\n /** f64.ceil */\n CeilF64 = 11 /* _BinaryenCeilFloat64 */,\n /** f32.floor */\n FloorF32 = 12 /* _BinaryenFloorFloat32 */,\n /** f64.floor */\n FloorF64 = 13 /* _BinaryenFloorFloat64 */,\n /** f32.trunc */\n TruncF32 = 14 /* _BinaryenTruncFloat32 */,\n /** f64.trunc */\n TruncF64 = 15 /* _BinaryenTruncFloat64 */,\n /** f32.nearest */\n NearestF32 = 16 /* _BinaryenNearestFloat32 */,\n /** f64.nearest */\n NearestF64 = 17 /* _BinaryenNearestFloat64 */,\n /** f32.sqrt */\n SqrtF32 = 18 /* _BinaryenSqrtFloat32 */,\n /** f64.sqrt */\n SqrtF64 = 19 /* _BinaryenSqrtFloat64 */,\n /** i32.eqz */\n EqzI32 = 20 /* _BinaryenEqZInt32 */,\n /** i64.eqz */\n EqzI64 = 21 /* _BinaryenEqZInt64 */,\n /** i64.extend_i32_s */\n ExtendI32ToI64 = 22 /* _BinaryenExtendSInt32 */,\n /** i64.extend_i32_u */\n ExtendU32ToU64 = 23 /* _BinaryenExtendUInt32 */,\n /** i32.wrap_i64 */\n WrapI64ToI32 = 24 /* _BinaryenWrapInt64 */,\n /** i32.trunc_f32_s */\n TruncF32ToI32 = 25 /* _BinaryenTruncSFloat32ToInt32 */,\n /** i64.trunc_f32_s */\n TruncF32ToI64 = 26 /* _BinaryenTruncSFloat32ToInt64 */,\n /** i32.trunc_f32_u */\n TruncF32ToU32 = 27 /* _BinaryenTruncUFloat32ToInt32 */,\n /** i64.trunc_f32_u */\n TruncF32ToU64 = 28 /* _BinaryenTruncUFloat32ToInt64 */,\n /** i32.trunc_f64_s */\n TruncF64ToI32 = 29 /* _BinaryenTruncSFloat64ToInt32 */,\n /** i64.trunc_f64_s */\n TruncF64ToI64 = 30 /* _BinaryenTruncSFloat64ToInt64 */,\n /** i32.trunc_f64_u */\n TruncF64ToU32 = 31 /* _BinaryenTruncUFloat64ToInt32 */,\n /** i64.trunc_f64_u */\n TruncF64ToU64 = 32 /* _BinaryenTruncUFloat64ToInt64 */,\n /** i32.reinterpret_f32 */\n ReinterpretF32ToI32 = 33 /* _BinaryenReinterpretFloat32 */,\n /** i64.reinterpret_f64 */\n ReinterpretF64ToI64 = 34 /* _BinaryenReinterpretFloat64 */,\n /** f32.convert_i32_s */\n ConvertI32ToF32 = 35 /* _BinaryenConvertSInt32ToFloat32 */,\n /** f64.convert_i32_s */\n ConvertI32ToF64 = 36 /* _BinaryenConvertSInt32ToFloat64 */,\n /** f32.convert_i32_u */\n ConvertU32ToF32 = 37 /* _BinaryenConvertUInt32ToFloat32 */,\n /** f64.convert_i32_u */\n ConvertU32ToF64 = 38 /* _BinaryenConvertUInt32ToFloat64 */,\n /** f32.convert_i64_s */\n ConvertI64ToF32 = 39 /* _BinaryenConvertSInt64ToFloat32 */,\n /** f64.convert_i64_s */\n ConvertI64ToF64 = 40 /* _BinaryenConvertSInt64ToFloat64 */,\n /** f32.convert_i64_u */\n ConvertU64ToF32 = 41 /* _BinaryenConvertUInt64ToFloat32 */,\n /** f64.convert_i64_u */\n ConvertU64ToF64 = 42 /* _BinaryenConvertUInt64ToFloat64 */,\n /** f64.promote.f32 */\n PromoteF32ToF64 = 43 /* _BinaryenPromoteFloat32 */,\n /** f32.demote_f64 */\n DemoteF64ToF32 = 44 /* _BinaryenDemoteFloat64 */,\n /** f32.reinterpret_i32 */\n ReinterpretI32ToF32 = 45 /* _BinaryenReinterpretInt32 */,\n /** f64.reinterpret_i64 */\n ReinterpretI64ToF64 = 46 /* _BinaryenReinterpretInt64 */,\n\n // see: https://github.com/WebAssembly/sign-extension-ops\n\n /** i32.extend8_s */\n Extend8I32 = 47 /* _BinaryenExtendS8Int32 */,\n /** i32.extend16_s */\n Extend16I32 = 48 /* _BinaryenExtendS16Int32 */,\n /** i64.extend8_s */\n Extend8I64 = 49 /* _BinaryenExtendS8Int64 */,\n /** i64.extend16_s */\n Extend16I64 = 50 /* _BinaryenExtendS16Int64 */,\n /** i64.extend32_s (i64 in, i64 out) */\n Extend32I64 = 51 /* _BinaryenExtendS32Int64 */,\n\n // see: https://github.com/WebAssembly/nontrapping-float-to-int-conversions\n\n /** i32.trunc_sat_f32_s */\n TruncSatF32ToI32 = 52 /* _BinaryenTruncSatSFloat32ToInt32 */,\n /** i32.trunc_sat_f32_u */\n TruncSatF32ToU32 = 53 /* _BinaryenTruncSatUFloat32ToInt32 */,\n /** i32.trunc_sat_f64_s */\n TruncSatF64ToI32 = 54 /* _BinaryenTruncSatSFloat64ToInt32 */,\n /** i32.trunc_sat_f64_u */\n TruncSatF64ToU32 = 55 /* _BinaryenTruncSatUFloat64ToInt32 */,\n /** i64.trunc_sat_f32_s */\n TruncSatF32ToI64 = 56 /* _BinaryenTruncSatSFloat32ToInt64 */,\n /** i64.trunc_sat_f32_u */\n TruncSatF32ToU64 = 57 /* _BinaryenTruncSatUFloat32ToInt64 */,\n /** i64.trunc_sat_f64_s */\n TruncSatF64ToI64 = 58 /* _BinaryenTruncSatSFloat64ToInt64 */,\n /** i64.trunc_sat_f64_u */\n TruncSatF64ToU64 = 59 /* _BinaryenTruncSatUFloat64ToInt64 */,\n\n // see: https://github.com/WebAssembly/simd\n\n /** i8x16.splat */\n SplatI8x16 = 60 /* _BinaryenSplatVecI8x16 */,\n /** i16x8.splat */\n SplatI16x8 = 61 /* _BinaryenSplatVecI16x8 */,\n /** i32x4.splat */\n SplatI32x4 = 62 /* _BinaryenSplatVecI32x4 */,\n /** i64x2.splat */\n SplatI64x2 = 63 /* _BinaryenSplatVecI64x2 */,\n /** f32x4.splat */\n SplatF32x4 = 64 /* _BinaryenSplatVecF32x4 */,\n /** f64x2.splat */\n SplatF64x2 = 65 /* _BinaryenSplatVecF64x2 */,\n /** v128.not */\n NotV128 = 66 /* _BinaryenNotVec128 */,\n /** v128.any_true */\n AnyTrueV128 = 67 /* _BinaryenAnyTrueVec128 */,\n /** i8x16.abs */\n AbsI8x16 = 68 /* _BinaryenAbsVecI8x16 */,\n /** i8x16.neg */\n NegI8x16 = 69 /* _BinaryenNegVecI8x16 */,\n /** i8x16.all_true */\n AllTrueI8x16 = 70 /* _BinaryenAllTrueVecI8x16 */,\n /** i8x16.bitmask */\n BitmaskI8x16 = 71 /* _BinaryenBitmaskVecI8x16 */,\n /** i8x16.popcnt */\n PopcntI8x16 = 72 /* _BinaryenPopcntVecI8x16 */,\n /** i16x8.abs */\n AbsI16x8 = 73 /* _BinaryenAbsVecI16x8 */,\n /** i16x8.neg */\n NegI16x8 = 74 /* _BinaryenNegVecI16x8 */,\n /** i16x8.all_true */\n AllTrueI16x8 = 75 /* _BinaryenAllTrueVecI16x8 */,\n /** i16x8.bitmask */\n BitmaskI16x8 = 76 /* _BinaryenBitmaskVecI16x8 */,\n /** i32x4.abs */\n AbsI32x4 = 77 /* _BinaryenAbsVecI32x4 */,\n /** i32x4.neg */\n NegI32x4 = 78 /* _BinaryenNegVecI32x4 */,\n /** i32x4.all_true */\n AllTrueI32x4 = 79 /* _BinaryenAllTrueVecI32x4 */,\n /** i32x4.bitmask */\n BitmaskI32x4 = 80 /* _BinaryenBitmaskVecI32x4 */,\n /** i64x2.abs */\n AbsI64x2 = 81 /* _BinaryenAbsVecI64x2 */,\n /** i64x2.neg */\n NegI64x2 = 82 /* _BinaryenNegVecI64x2 */,\n /** i64x2.all_true */\n AllTrueI64x2 = 83 /* _BinaryenAllTrueVecI64x2 */,\n /** i64x2.bitmask */\n BitmaskI64x2 = 84 /* _BinaryenBitmaskVecI64x2 */,\n /** f32x4.abs */\n AbsF32x4 = 85 /* _BinaryenAbsVecF32x4 */,\n /** f32x4.neg */\n NegF32x4 = 86 /* _BinaryenNegVecF32x4 */,\n /** f32x4.sqrt */\n SqrtF32x4 = 87 /* _BinaryenSqrtVecF32x4 */,\n /** f32x4.ceil */\n CeilF32x4 = 88 /* _BinaryenCeilVecF32x4 */,\n /** f32x4.floor */\n FloorF32x4 = 89 /* _BinaryenFloorVecF32x4 */,\n /** f32x4.trunc */\n TruncF32x4 = 90 /* BinaryenTruncVecF32x4 */,\n /** f32x4.nearest */\n NearestF32x4 = 91 /* BinaryenNearestVecF32x4 */,\n /** f64x2.abs */\n AbsF64x2 = 92 /* _BinaryenAbsVecF64x2 */,\n /** f64x2.neg */\n NegF64x2 = 93 /* _BinaryenNegVecF64x2 */,\n /** f64x2.sqrt */\n SqrtF64x2 = 94 /* _BinaryenSqrtVecF64x2 */,\n /** f64x2.ceil */\n CeilF64x2 = 95 /* _BinaryenCeilVecF64x2 */,\n /** f64x2.floor */\n FloorF64x2 = 96 /* _BinaryenFloorVecF64x2 */,\n /** f64x2.trunc */\n TruncF64x2 = 97 /* _BinaryenTruncVecF64x2 */,\n /** f64x2.nearest */\n NearestF64x2 = 98 /* _BinaryenNearestVecF64x2 */,\n /** i16x8.extadd_pairwise_i8x16_s */\n ExtaddPairwiseI8x16ToI16x8 = 99 /* _BinaryenExtAddPairwiseSVecI8x16ToI16x8 */,\n /** i16x8.extadd_pairwise.i8x16_u */\n ExtaddPairwiseU8x16ToU16x8 = 100 /* _BinaryenExtAddPairwiseUVecI8x16ToI16x8 */,\n /** i32x4.extadd_pairwise.i16x8_s */\n ExtaddPairwiseI16x8ToI32x4 = 101 /* _BinaryenExtAddPairwiseSVecI16x8ToI32x4 */,\n /** i32x4.extadd_pairwise.i64x8_u */\n ExtaddPairwiseU16x8ToU32x4 = 102 /* _BinaryenExtAddPairwiseUVecI16x8ToI32x4 */,\n /** i32x4.trunc_sat_f32x4_s */\n TruncSatF32x4ToI32x4 = 103 /* _BinaryenTruncSatSVecF32x4ToVecI32x4 */,\n /** i32x4.trunc_sat_f32x4_u */\n TruncSatF32x4ToU32x4 = 104 /* _BinaryenTruncSatUVecF32x4ToVecI32x4 */,\n /** f32x4.convert_i32x4_s */\n ConvertI32x4ToF32x4 = 105 /* _BinaryenConvertSVecI32x4ToVecF32x4 */,\n /** f32x4.convert_i32x4_u */\n ConvertU32x4ToF32x4 = 106 /* _BinaryenConvertUVecI32x4ToVecF32x4 */,\n /** i16x8.extend_low_i8x16_s */\n ExtendLowI8x16ToI16x8 = 107 /* _BinaryenExtendLowSVecI8x16ToVecI16x8 */,\n /** i16x8.extend_high_i8x16_s */\n ExtendHighI8x16ToI16x8 = 108 /* _BinaryenExtendHighSVecI8x16ToVecI16x8 */,\n /** i16x8.extend_low_i8x16_u */\n ExtendLowU8x16ToU16x8 = 109 /* _BinaryenExtendLowUVecI8x16ToVecI16x8 */,\n /** i16x8.extend_high_i8x16_u */\n ExtendHighU8x16ToU16x8 = 110 /* _BinaryenExtendHighUVecI8x16ToVecI16x8 */,\n /** i32x4.extend_low_i16x8_s */\n ExtendLowI16x8ToI32x4 = 111 /* _BinaryenExtendLowSVecI16x8ToVecI32x4 */,\n /** i32x4.extend_high_i16x8_s */\n ExtendHighI16x8ToI32x4 = 112 /* _BinaryenExtendHighSVecI16x8ToVecI32x4 */,\n /** i32x4.extend_low_i16x8_u */\n ExtendLowU16x8ToU32x4 = 113 /* _BinaryenExtendLowUVecI16x8ToVecI32x4 */,\n /** i32x4.extend_high_i16x8_u */\n ExtendHighU16x8ToU32x4 = 114 /* _BinaryenExtendHighUVecI16x8ToVecI32x4 */,\n /** i64x2.extend_low_i32x4_s */\n ExtendLowI32x4ToI64x2 = 115 /* _BinaryenExtendLowSVecI32x4ToVecI64x2 */,\n /** i64x2.extend_high_i32x4_s */\n ExtendHighI32x4ToI64x2 = 116 /* _BinaryenExtendHighSVecI32x4ToVecI64x2 */,\n /** i64x2.extend_low_i32x4_u */\n ExtendLowU32x4ToU64x2 = 117 /* _BinaryenExtendLowUVecI32x4ToVecI64x2 */,\n /** i64x2.extend_high_i32x4_u */\n ExtendHighU32x4ToU64x2 = 118 /* _BinaryenExtendHighUVecI32x4ToVecI64x2 */,\n /** f32x4.convert_i32x4_s */\n ConvertLowI32x4ToF64x2 = 119 /* _BinaryenConvertLowSVecI32x4ToVecF64x2 */,\n /** f32x4.convert_i32x4_u */\n ConvertLowU32x4ToF64x2 = 120 /* _BinaryenConvertLowUVecI32x4ToVecF64x2 */,\n /** i32x4.trunc_sat_f64x2_s_zero */\n TruncSatF64x2ToI32x4Zero = 121 /* _BinaryenTruncSatZeroSVecF64x2ToVecI32x4 */,\n /** i32x4.trunc_sat_f64x2_u_zero */\n TruncSatF64x2ToU32x4Zero = 122 /* _BinaryenTruncSatZeroUVecF64x2ToVecI32x4 */,\n /** f32x4.demote_f64x2_zero */\n DemoteZeroF64x2ToF32x4 = 123 /* _BinaryenDemoteZeroVecF64x2ToVecF32x4 */,\n /** f64x2.promote_low_f32x4 */\n PromoteLowF32x4ToF64x2 = 124 /* _BinaryenPromoteLowVecF32x4ToVecF64x2 */,\n\n // see: https://github.com/WebAssembly/relaxed-simd\n\n /** i32x4.relaxed_trunc_f32x4_s */\n RelaxedTruncF32x4ToI32x4 = 125 /* TODO_BinaryenRelaxedTruncSVecF32x4ToVecI32x4 */,\n /** i32x4.relaxed_trunc_f32x4_u */\n RelaxedTruncF32x4ToU32x4 = 126 /* TODO_BinaryenRelaxedTruncUVecF32x4ToVecI32x4 */,\n /** i32x4.relaxed_trunc_f64x2_s_zero */\n RelaxedTruncF64x2ToI32x4Zero = 127 /* TODO_BinaryenRelaxedTruncZeroSVecF64x2ToVecI32x4 */,\n /** i32x4.relaxed_trunc_f64x2_u_zero */\n RelaxedTruncF64x2ToU32x4Zero = 128 /* TODO_BinaryenRelaxedTruncZeroUVecF64x2ToVecI32x4 */,\n\n _last = RelaxedTruncF64x2ToU32x4Zero,\n\n // Target dependent\n\n /** i32.clz or i64.clz, depending on target word size */\n ClzSize,\n /** i32.ctz or i64.ctz, depending on target word size */\n CtzSize,\n /** i32.popcnt or i64.popcnt, depending on target word size */\n PopcntSize,\n /** i32.eqz or i64.eqz, depending on target word size */\n EqzSize\n}\n\n/** Binaryen binary operation constants. */\nexport const enum BinaryOp {\n /** i32.add */\n AddI32 = 0 /* _BinaryenAddInt32 */,\n /** i32.sub */\n SubI32 = 1 /* _BinaryenSubInt32 */,\n /** i32.mul */\n MulI32 = 2 /* _BinaryenMulInt32 */,\n /** i32.div_s */\n DivI32 = 3 /* _BinaryenDivSInt32 */,\n /** i32.div_u */\n DivU32 = 4 /* _BinaryenDivUInt32 */,\n /** i32.rem_s */\n RemI32 = 5 /* _BinaryenRemSInt32 */,\n /** i32.rem_u */\n RemU32 = 6 /* _BinaryenRemUInt32 */,\n /** i32.and */\n AndI32 = 7 /* _BinaryenAndInt32 */,\n /** i32.or */\n OrI32 = 8 /* _BinaryenOrInt32 */,\n /** i32.xor */\n XorI32 = 9 /* _BinaryenXorInt32 */,\n /** i32.shl */\n ShlI32 = 10 /* _BinaryenShlInt32 */,\n /** i32.shr_s */\n ShrI32 = 11 /* _BinaryenShrSInt32 */,\n /** i32.shr_u */\n ShrU32 = 12 /* _BinaryenShrUInt32 */,\n /** i32.rotl */\n RotlI32 = 13 /* _BinaryenRotLInt32 */,\n /** i32.rotr */\n RotrI32 = 14 /* _BinaryenRotRInt32 */,\n /** i32.eq */\n EqI32 = 15 /* _BinaryenEqInt32 */,\n /** i32.ne */\n NeI32 = 16 /* _BinaryenNeInt32 */,\n /** i32.lt_s */\n LtI32 = 17 /* _BinaryenLtSInt32 */,\n /** i32.lt_u */\n LtU32 = 18 /* _BinaryenLtUInt32 */,\n /** i32.le_s */\n LeI32 = 19 /* _BinaryenLeSInt32 */,\n /** i32.le_u */\n LeU32 = 20 /* _BinaryenLeUInt32 */,\n /** i32.gt_s */\n GtI32 = 21 /* _BinaryenGtSInt32 */,\n /** i32.gt_u */\n GtU32 = 22 /* _BinaryenGtUInt32 */,\n /** i32.ge_s */\n GeI32 = 23 /* _BinaryenGeSInt32 */,\n /** i32.ge_u */\n GeU32 = 24 /* _BinaryenGeUInt32 */,\n /** i64.add */\n AddI64 = 25 /* _BinaryenAddInt64 */,\n /** i64.sub */\n SubI64 = 26 /* _BinaryenSubInt64 */,\n /** i64.mul */\n MulI64 = 27 /* _BinaryenMulInt64 */,\n /** i64.div_s */\n DivI64 = 28 /* _BinaryenDivSInt64 */,\n /** i64.div_u */\n DivU64 = 29 /* _BinaryenDivUInt64 */,\n /** i64.rem_s */\n RemI64 = 30 /* _BinaryenRemSInt64 */,\n /** i64.rem_u */\n RemU64 = 31 /* _BinaryenRemUInt64 */,\n /** i64.and */\n AndI64 = 32 /* _BinaryenAndInt64 */,\n /** i64.or */\n OrI64 = 33 /* _BinaryenOrInt64 */,\n /** i64.xor */\n XorI64 = 34 /* _BinaryenXorInt64 */,\n /** i64.shl */\n ShlI64 = 35 /* _BinaryenShlInt64 */,\n /** i64.shr_s */\n ShrI64 = 36 /* _BinaryenShrSInt64 */,\n /** i64.shr_u */\n ShrU64 = 37 /* _BinaryenShrUInt64 */,\n /** i64.rotl */\n RotlI64 = 38 /* _BinaryenRotLInt64 */,\n /** i64.rotr */\n RotrI64 = 39 /* _BinaryenRotRInt64 */,\n /** i64.eq */\n EqI64 = 40 /* _BinaryenEqInt64 */,\n /** i64.ne */\n NeI64 = 41 /* _BinaryenNeInt64 */,\n /** i64.lt_s */\n LtI64 = 42 /* _BinaryenLtSInt64 */,\n /** i64.lt_u */\n LtU64 = 43 /* _BinaryenLtUInt64 */,\n /** i64.le_s */\n LeI64 = 44 /* _BinaryenLeSInt64 */,\n /** i64.le_u */\n LeU64 = 45 /* _BinaryenLeUInt64 */,\n /** i64.gt_s */\n GtI64 = 46 /* _BinaryenGtSInt64 */,\n /** i64.gt_u */\n GtU64 = 47 /* _BinaryenGtUInt64 */,\n /** i64.ge_s */\n GeI64 = 48 /* _BinaryenGeSInt64 */,\n /** i64.ge_u */\n GeU64 = 49 /* _BinaryenGeUInt64 */,\n /** f32.add */\n AddF32 = 50 /* _BinaryenAddFloat32 */,\n /** f32.sub */\n SubF32 = 51 /* _BinaryenSubFloat32 */,\n /** f32.mul */\n MulF32 = 52 /* _BinaryenMulFloat32 */,\n /** f32.div */\n DivF32 = 53 /* _BinaryenDivFloat32 */,\n /** f32.copysign */\n CopysignF32 = 54 /* _BinaryenCopySignFloat32 */,\n /** f32.min */\n MinF32 = 55 /* _BinaryenMinFloat32 */,\n /** f32.max */\n MaxF32 = 56 /* _BinaryenMaxFloat32 */,\n /** f32.eq */\n EqF32 = 57 /* _BinaryenEqFloat32 */,\n /** f32.ne */\n NeF32 = 58 /* _BinaryenNeFloat32 */,\n /** f32.lt */\n LtF32 = 59 /* _BinaryenLtFloat32 */,\n /** f32.le */\n LeF32 = 60 /* _BinaryenLeFloat32 */,\n /** f32.gt */\n GtF32 = 61 /* _BinaryenGtFloat32 */,\n /** f32.ge */\n GeF32 = 62 /* _BinaryenGeFloat32 */,\n /** f64.add */\n AddF64 = 63 /* _BinaryenAddFloat64 */,\n /** f64.sub */\n SubF64 = 64 /* _BinaryenSubFloat64 */,\n /** f64.mul */\n MulF64 = 65 /* _BinaryenMulFloat64 */,\n /** f64.div */\n DivF64 = 66 /* _BinaryenDivFloat64 */,\n /** f64.copysign */\n CopysignF64 = 67 /* _BinaryenCopySignFloat64 */,\n /** f64.min */\n MinF64 = 68 /* _BinaryenMinFloat64 */,\n /** f64.max */\n MaxF64 = 69 /* _BinaryenMaxFloat64 */,\n /** f64.eq */\n EqF64 = 70 /* _BinaryenEqFloat64 */,\n /** f64.ne */\n NeF64 = 71 /* _BinaryenNeFloat64 */,\n /** f64.lt */\n LtF64 = 72 /* _BinaryenLtFloat64 */,\n /** f64.le */\n LeF64 = 73 /* _BinaryenLeFloat64 */,\n /** f64.gt */\n GtF64 = 74 /* _BinaryenGtFloat64 */,\n /** f64.ge */\n GeF64 = 75 /* _BinaryenGeFloat64 */,\n\n // see: https://github.com/WebAssembly/simd\n\n /** i8x16.eq */\n EqI8x16 = 76 /* _BinaryenEqVecI8x16 */,\n /** i8x16.he */\n NeI8x16 = 77 /* _BinaryenNeVecI8x16 */,\n /** i8x16.lt_s */\n LtI8x16 = 78 /* _BinaryenLtSVecI8x16 */,\n /** i8x16.lt_u */\n LtU8x16 = 79 /* _BinaryenLtUVecI8x16 */,\n /** i8x16.gt_s */\n GtI8x16 = 80 /* _BinaryenGtSVecI8x16 */,\n /** i8x16.gt_u */\n GtU8x16 = 81 /* _BinaryenGtUVecI8x16 */,\n /** i8x16.le_s */\n LeI8x16 = 82 /* _BinaryenLeSVecI8x16 */,\n /** i8x16.le_u */\n LeU8x16 = 83 /* _BinaryenLeUVecI8x16 */,\n /** i8x16.ge_s */\n GeI8x16 = 84 /* _BinaryenGeSVecI8x16 */,\n /** i8x16.ge_u */\n GeU8x16 = 85 /* _BinaryenGeUVecI8x16 */,\n /** i16x8.eq */\n EqI16x8 = 86 /* _BinaryenEqVecI16x8 */,\n /** i16x8.ne */\n NeI16x8 = 87 /* _BinaryenNeVecI16x8 */,\n /** i16x8.lt_s */\n LtI16x8 = 88 /* _BinaryenLtSVecI16x8 */,\n /** i16x8.lt_u */\n LtU16x8 = 89 /* _BinaryenLtUVecI16x8 */,\n /** i16x8.gt_s */\n GtI16x8 = 90 /* _BinaryenGtSVecI16x8 */,\n /** i16x8.gt_u */\n GtU16x8 = 91 /* _BinaryenGtUVecI16x8 */,\n /** i16x8.le_s */\n LeI16x8 = 92 /* _BinaryenLeSVecI16x8 */,\n /** i16x8.le_u */\n LeU16x8 = 93 /* _BinaryenLeUVecI16x8 */,\n /** i16x8.ge_s */\n GeI16x8 = 94 /* _BinaryenGeSVecI16x8 */,\n /** i16x8.ge_u */\n GeU16x8 = 95 /* _BinaryenGeUVecI16x8 */,\n /** i32x4.eq */\n EqI32x4 = 96 /* _BinaryenEqVecI32x4 */,\n /** i32x4.ne */\n NeI32x4 = 97 /* _BinaryenNeVecI32x4 */,\n /** i32x4.lt_s */\n LtI32x4 = 98 /* _BinaryenLtSVecI32x4 */,\n /** i32x4.lt_u */\n LtU32x4 = 99 /* _BinaryenLtUVecI32x4 */,\n /** i32x4.gt_s */\n GtI32x4 = 100 /* _BinaryenGtSVecI32x4 */,\n /** i32x4.gt_u */\n GtU32x4 = 101 /* _BinaryenGtUVecI32x4 */,\n /** i32x4.le_s */\n LeI32x4 = 102 /* _BinaryenLeSVecI32x4 */,\n /** i32x4.le_u */\n LeU32x4 = 103 /* _BinaryenLeUVecI32x4 */,\n /** i32x4.ge_s */\n GeI32x4 = 104 /* _BinaryenGeSVecI32x4 */,\n /** i32x4.ge_u */\n GeU32x4 = 105 /* _BinaryenGeUVecI32x4 */,\n /** i64x2.eq */\n EqI64x2 = 106 /* _BinaryenEqVecI64x2 */,\n /** i64x2.ne */\n NeI64x2 = 107 /* _BinaryenNeVecI64x2 */,\n /** i64x2.lt_s */\n LtI64x2 = 108 /* _BinaryenLtSVecI64x2 */,\n /** i64x2.gt_s */\n GtI64x2 = 109 /* _BinaryenGtSVecI64x2 */,\n /** i64x2.le_s */\n LeI64x2 = 110 /* _BinaryenLeSVecI64x2 */,\n /** i64x2.ge_s */\n GeI64x2 = 111 /* _BinaryenGeSVecI64x2 */,\n /** f32x4.eq */\n EqF32x4 = 112 /* _BinaryenEqVecF32x4 */,\n /** f32x4.ne */\n NeF32x4 = 113 /* _BinaryenNeVecF32x4 */,\n /** f32x4.lt */\n LtF32x4 = 114 /* _BinaryenLtVecF32x4 */,\n /** f32x4.gt */\n GtF32x4 = 115 /* _BinaryenGtVecF32x4 */,\n /** f32x4.le */\n LeF32x4 = 116 /* _BinaryenLeVecF32x4 */,\n /** f32x4.ge */\n GeF32x4 = 117 /* _BinaryenGeVecF32x4 */,\n /** f64x2.eq */\n EqF64x2 = 118 /* _BinaryenEqVecF64x2 */,\n /** f64x2.ne */\n NeF64x2 = 119 /* _BinaryenNeVecF64x2 */,\n /** f64x2.lt */\n LtF64x2 = 120 /* _BinaryenLtVecF64x2 */,\n /** f64x2.gt */\n GtF64x2 = 121 /* _BinaryenGtVecF64x2 */,\n /** f64x2.le */\n LeF64x2 = 122 /* _BinaryenLeVecF64x2 */,\n /** f64x2.ge */\n GeF64x2 = 123 /* _BinaryenGeVecF64x2 */,\n /** v128.and */\n AndV128 = 124 /* _BinaryenAndVec128 */,\n /** v128.or */\n OrV128 = 125 /* _BinaryenOrVec128 */,\n /** v128.xor */\n XorV128 = 126 /* _BinaryenXorVec128 */,\n /** v128.andnot */\n AndnotV128 = 127 /* _BinaryenAndNotVec128 */,\n /** i8x16.add */\n AddI8x16 = 128 /* _BinaryenAddVecI8x16 */,\n /** i8x16.add_sat_s */\n AddSatI8x16 = 129 /* _BinaryenAddSatSVecI8x16 */,\n /** i8x16.add_sat_u */\n AddSatU8x16 = 130 /* _BinaryenAddSatUVecI8x16 */,\n /** i8x16.sub */\n SubI8x16 = 131 /* _BinaryenSubVecI8x16 */,\n /** i8x16.sub_sat_s */\n SubSatI8x16 = 132 /* _BinaryenSubSatSVecI8x16 */,\n /** i8x16.sub_sat_u */\n SubSatU8x16 = 133 /* _BinaryenSubSatUVecI8x16 */,\n /** i8x16.min_s */\n MinI8x16 = 134 /* _BinaryenMinSVecI8x16 */,\n /** i8x16.min_u */\n MinU8x16 = 135 /* _BinaryenMinUVecI8x16 */,\n /** i8x16.max_s */\n MaxI8x16 = 136 /* _BinaryenMaxSVecI8x16 */,\n /** i8x16.max_u */\n MaxU8x16 = 137 /* _BinaryenMaxUVecI8x16 */,\n /** i8x16.avgr_u */\n AvgrU8x16 = 138 /* _BinaryenAvgrUVecI8x16 */,\n /** i16x8.add */\n AddI16x8 = 139 /* _BinaryenAddVecI16x8 */,\n /** i16x8.add_sat_s */\n AddSatI16x8 = 140 /* _BinaryenAddSatSVecI16x8 */,\n /** i16x8.add_sat_u */\n AddSatU16x8 = 141 /* _BinaryenAddSatUVecI16x8 */,\n /** i16x8.sub */\n SubI16x8 = 142 /* _BinaryenSubVecI16x8 */,\n /** i16x8.sub_sat_s */\n SubSatI16x8 = 143 /* _BinaryenSubSatSVecI16x8 */,\n /** i16x8.sub_sat_u */\n SubSatU16x8 = 144 /* _BinaryenSubSatUVecI16x8 */,\n /** i16x8.mul */\n MulI16x8 = 145 /* _BinaryenMulVecI16x8 */,\n /** i16x8.min_s */\n MinI16x8 = 146 /* _BinaryenMinSVecI16x8 */,\n /** i16x8.min_u */\n MinU16x8 = 147 /* _BinaryenMinUVecI16x8 */,\n /** i16x8.max_s */\n MaxI16x8 = 148 /* _BinaryenMaxSVecI16x8 */,\n /** i16x8.max_u */\n MaxU16x8 = 149 /* _BinaryenMaxUVecI16x8 */,\n /** i16x8.avgr_u */\n AvgrU16x8 = 150 /* _BinaryenAvgrUVecI16x8 */,\n /** i16x8.q15mulr_sat_s */\n Q15mulrSatI16x8 = 151 /* _BinaryenQ15MulrSatSVecI16x8 */,\n /** i16x8.extmul_low_i8x16_s */\n ExtmulLowI16x8 = 152 /* _BinaryenExtMulLowSVecI16x8 */,\n /** i16x8.extmul_high_i8x16_s */\n ExtmulHighI16x8 = 153 /* _BinaryenExtMulHighSVecI16x8 */,\n /** i16x8.extmul_low_i8x16_u */\n ExtmulLowU16x8 = 154 /* _BinaryenExtMulLowUVecI16x8 */,\n /** i16x8.extmul_high_i8x16_u */\n ExtmulHighU16x8 = 155 /* _BinaryenExtMulHighUVecI16x8 */,\n /** i32x4.add */\n AddI32x4 = 156 /* _BinaryenAddVecI32x4 */,\n /** i32x4.sub */\n SubI32x4 = 157 /* _BinaryenSubVecI32x4 */,\n /** i32x4.mul */\n MulI32x4 = 158 /* _BinaryenMulVecI32x4 */,\n /** i32x4.min_s */\n MinI32x4 = 159 /* _BinaryenMinSVecI32x4 */,\n /** i32x4.min_u */\n MinU32x4 = 160 /* _BinaryenMinUVecI32x4 */,\n /** i32x4.max_s */\n MaxI32x4 = 161 /* _BinaryenMaxSVecI32x4 */,\n /** i32x4.max_u */\n MaxU32x4 = 162 /* _BinaryenMaxUVecI32x4 */,\n /** i32x4.dot_i16x8_s */\n DotI16x8 = 163 /* _BinaryenDotSVecI16x8ToVecI32x4 */,\n /** i32x4.extmul_low_i16x8_s */\n ExtmulLowI32x4 = 164 /* _BinaryenExtMulLowSVecI32x4 */,\n /** i32x4.extmul_high_i16x8_s */\n ExtmulHighI32x4 = 165 /* _BinaryenExtMulHighSVecI32x4 */,\n /** i32x4.extmul_low_i16x8_u */\n ExtmulLowU32x4 = 166 /* _BinaryenExtMulLowUVecI32x4 */,\n /** i32x4.extmul_high_i16x8_u */\n ExtmulHighU32x4 = 167 /* _BinaryenExtMulHighUVecI32x4 */,\n /** i64x2.add */\n AddI64x2 = 168 /* _BinaryenAddVecI64x2 */,\n /** i64x2.sub */\n SubI64x2 = 169 /* _BinaryenSubVecI64x2 */,\n /** i64x2.mul */\n MulI64x2 = 170 /* _BinaryenMulVecI64x2 */,\n /** i64x2.extmul_low_i32x4_s */\n ExtmulLowI64x2 = 171 /* _BinaryenExtMulLowSVecI64x2 */,\n /** i64x2.extmul_high_i32x4_s */\n ExtmulHighI64x2 = 172 /* _BinaryenExtMulHighSVecI64x2 */,\n /** i64x2.extmul_low_i32x4_u */\n ExtmulLowU64x2 = 173 /* _BinaryenExtMulLowUVecI64x2 */,\n /** i64x2.extmul_high_i32x4_u */\n ExtmulHighU64x2 = 174 /* _BinaryenExtMulHighUVecI64x2 */,\n /** f32x4.add */\n AddF32x4 = 175 /* _BinaryenAddVecF32x4 */,\n /** f32x4.sub */\n SubF32x4 = 176 /* _BinaryenSubVecF32x4 */,\n /** f32x4.mul */\n MulF32x4 = 177 /* _BinaryenMulVecF32x4 */,\n /** f32x4.div */\n DivF32x4 = 178 /* _BinaryenDivVecF32x4 */,\n /** f32x4.min */\n MinF32x4 = 179 /* _BinaryenMinVecF32x4 */,\n /** f32x4.max */\n MaxF32x4 = 180 /* _BinaryenMaxVecF32x4 */,\n /** f32x4.pmin */\n PminF32x4 = 181 /* _BinaryenPMinVecF32x4 */,\n /** f32x4.pmax */\n PmaxF32x4 = 182 /* _BinaryenPMaxVecF32x4 */,\n /** f64x2.add */\n AddF64x2 = 183 /* _BinaryenAddVecF64x2 */,\n /** f64x2.sub */\n SubF64x2 = 184 /* _BinaryenSubVecF64x2 */,\n /** f64x2.mul */\n MulF64x2 = 185 /* _BinaryenMulVecF64x2 */,\n /** f64x2.div */\n DivF64x2 = 186 /* _BinaryenDivVecF64x2 */,\n /** f64x2.min */\n MinF64x2 = 187 /* _BinaryenMinVecF64x2 */,\n /** f64x2.max */\n MaxF64x2 = 188 /* _BinaryenMaxVecF64x2 */,\n /** f64x2.pmin */\n PminF64x2 = 189 /* _BinaryenPMinVecF64x2 */,\n /** f64x2.pmax */\n PmaxF64x2 = 190 /* _BinaryenPMaxVecF64x2 */,\n /** i8x16.narrow_i16x8_s */\n NarrowI16x8ToI8x16 = 191 /* _BinaryenNarrowSVecI16x8ToVecI8x16 */,\n /** i8x16.narrow_i16x8_u */\n NarrowU16x8ToU8x16 = 192 /* _BinaryenNarrowUVecI16x8ToVecI8x16 */,\n /** i16x8.narrow_i32x4_s */\n NarrowI32x4ToI16x8 = 193 /* _BinaryenNarrowSVecI32x4ToVecI16x8 */,\n /** i16x8.narrow_i32x4_u */\n NarrowU32x4ToU16x8 = 194 /* _BinaryenNarrowUVecI32x4ToVecI16x8 */,\n /** i8x16.swizzle */\n SwizzleI8x16 = 195 /* _BinaryenSwizzleVecI8x16 */,\n\n // see: https://github.com/WebAssembly/relaxed-simd\n\n /** i8x16.relaxed_swizzle */\n RelaxedSwizzleI8x16 = 196 /* TODO_BinaryenRelaxedSwizzleVecI8x16 */,\n /** f32x4.relaxed_min */\n RelaxedMinF32x4 = 197 /* TODO_BinaryenRelaxedMinVecF32x4 */,\n /** f32x4.relaxed_max */\n RelaxedMaxF32x4 = 198 /* TODO_BinaryenRelaxedMaxVecF32x4 */,\n /** f64x2.relaxed_min */\n RelaxedMinF64x2 = 199 /* TODO_BinaryenRelaxedMinVecF64x2 */,\n /** f64x2.relaxed_max */\n RelaxedMaxF64x2 = 200 /* TODO_BinaryenRelaxedMaxVecF64x2 */,\n /** i16x8.relaxed_q15mulr_s */\n RelaxedQ15MulrI16x8 = 201 /* TODO_BinaryenRelaxedQ15MulrSVecI16x8 */,\n /** i16x8.relaxed_dot_i8x16_i7x16_s */\n RelaxedDotI8x16I7x16ToI16x8 = 202 /* TODO_BinaryenDotI8x16I7x16SToVecI16x8 */,\n\n _last = RelaxedDotI8x16I7x16ToI16x8,\n\n // Target dependent\n\n /** i32.add or i64.add, depending on target word size */\n AddSize,\n /** i32.sub or i64.sub, depending on target word size */\n SubSize,\n /** i32.mul or i64.mul, depending on target word size */\n MulSize,\n /** i32.div_s or i64.div_s, depending on target word size */\n DivISize,\n /** i32.div_u or i64.div_u, depending on target word size */\n DivUSize,\n /** i32.rem_s or i64.rem_s, depending on target word size */\n RemISize,\n /** i32.rem_u or i64.rem_u, depending on target word size */\n RemUSize,\n /** i32.and or i64.and, depending on target word size */\n AndSize,\n /** i32.or or i64.or, depending on target word size */\n OrSize,\n /** i32.xor or i64.xor, depending on target word size */\n XorSize,\n /** i32.shl or i64.shl, depending on target word size */\n ShlSize,\n /** i32.shr_s or i64.shr_s, depending on target word size */\n ShrISize,\n /** i32.shr_u or i64.shr_u, depending on target word size */\n ShrUSize,\n /** i32.rotl or i64.rotl, depending on target word size */\n RotlSize,\n /** i32.rotr or i64.rotr, depending on target word size */\n RotrSize,\n /** i32.eq or i64.eq, depending on target word size */\n EqSize,\n /** i32.ne or i64.ne, depending on target word size */\n NeSize,\n /** i32.lt_s or i64.lt_s, depending on target word size */\n LtISize,\n /** i32.lt_u or i64.lt_u, depending on target word size */\n LtUSize,\n /** i32.le_s or i64.le_s, depending on target word size */\n LeISize,\n /** i32.le_u or i64.le_u, depending on target word size */\n LeUSize,\n /** i32.gt_s or i64.gt_s, depending on target word size */\n GtISize,\n /** i32.gt_u or i64.gt_u, depending on target word size */\n GtUSize,\n /** i32.ge_s or i64.ge_s, depending on target word size */\n GeISize,\n /** i32.ge_u or i64.ge_u, depending on target word size */\n GeUSize\n}\n\n/** Binaryen atomic read-modify-write operation constants. */\nexport const enum AtomicRMWOp {\n /** i32.atomic.rmw.add, i32.atomic.rmw8.add_u, i32.atomic.rmw16.add_u, i64.atomic.rmw.add, i64.atomic.rmw8.add_u, i64.atomic.rmw16.add_u, i64.atomic.rmw32.add_u */\n Add = 0 /* _BinaryenAtomicRMWAdd */,\n /** i32.atomic.rmw.sub, i32.atomic.rmw8.sub_u, i32.atomic.rmw16.sub_u, i64.atomic.rmw.sub, i64.atomic.rmw8.sub_u, i64.atomic.rmw16.sub_u, i64.atomic.rmw32.sub_u */\n Sub = 1 /* _BinaryenAtomicRMWSub */,\n /** i32.atomic.rmw.and, i32.atomic.rmw8.and_u, i32.atomic.rmw16.and_u, i64.atomic.rmw.and, i64.atomic.rmw8.and_u, i64.atomic.rmw16.and_u, i64.atomic.rmw32.and_u */\n And = 2 /* _BinaryenAtomicRMWAnd */,\n /** i32.atomic.rmw.or, i32.atomic.rmw8.or_u, i32.atomic.rmw16.or_u, i64.atomic.rmw.or, i64.atomic.rmw8.or_u, i64.atomic.rmw16.or_u, i64.atomic.rmw32.or_u */\n Or = 3 /* _BinaryenAtomicRMWOr */,\n /** i32.atomic.rmw.xor, i32.atomic.rmw8.xor_u, i32.atomic.rmw16.xor_u, i64.atomic.rmw.xor, i64.atomic.rmw8.xor_u, i64.atomic.rmw16.xor_u, i64.atomic.rmw32.xor_u */\n Xor = 4 /* _BinaryenAtomicRMWXor */,\n /** i32.atomic.rmw.xchg, i32.atomic.rmw8.xchg_u, i32.atomic.rmw16.xchg_u, i64.atomic.rmw.xchg, i64.atomic.rmw8.xchg_u, i64.atomic.rmw16.xchg_u, i64.atomic.rmw32.xchg_u */\n Xchg = 5 /* _BinaryenAtomicRMWXchg */\n}\n\n/** Binaryen SIMD extract operation constants. */\nexport const enum SIMDExtractOp {\n /** i8x16.extract_lane_s */\n ExtractLaneI8x16 = 0 /* _BinaryenExtractLaneSVecI8x16 */,\n /** i8x16.extract_lane_u */\n ExtractLaneU8x16 = 1 /* _BinaryenExtractLaneUVecI8x16 */,\n /** i16x8.extract_lane_s */\n ExtractLaneI16x8 = 2 /* _BinaryenExtractLaneSVecI16x8 */,\n /** i16x8.extract_lane_u */\n ExtractLaneU16x8 = 3 /* _BinaryenExtractLaneUVecI16x8 */,\n /** i32x4.extract_lane_s */\n ExtractLaneI32x4 = 4 /* _BinaryenExtractLaneVecI32x4 */,\n /** i32x4.extract_lane_u */\n ExtractLaneI64x2 = 5 /* _BinaryenExtractLaneVecI64x2 */,\n /** i64x2.extract_lane_s */\n ExtractLaneF32x4 = 6 /* _BinaryenExtractLaneVecF32x4 */,\n /** i64x2.extract_lane_u */\n ExtractLaneF64x2 = 7 /* _BinaryenExtractLaneVecF64x2 */,\n}\n\n/** Binaryen SIMD replace operation constants. */\nexport const enum SIMDReplaceOp {\n /** i8x16.replace_lane */\n ReplaceLaneI8x16 = 0 /* _BinaryenReplaceLaneVecI8x16 */,\n /** i16x8.replace_lane */\n ReplaceLaneI16x8 = 1 /* _BinaryenReplaceLaneVecI16x8 */,\n /** i32x4.replace_lane */\n ReplaceLaneI32x4 = 2 /* _BinaryenReplaceLaneVecI32x4 */,\n /** i64x2.replace_lane */\n ReplaceLaneI64x2 = 3 /* _BinaryenReplaceLaneVecI64x2 */,\n /** f32x4.replace_lane */\n ReplaceLaneF32x4 = 4 /* _BinaryenReplaceLaneVecF32x4 */,\n /** f64x2.replace_lane */\n ReplaceLaneF64x2 = 5 /* _BinaryenReplaceLaneVecF64x2 */\n}\n\n/** Binaryen SIMD shift operation constants. */\nexport const enum SIMDShiftOp {\n /** i8x16.shl */\n ShlI8x16 = 0 /* _BinaryenShlVecI8x16 */,\n /** i8x16.shr_s */\n ShrI8x16 = 1 /* _BinaryenShrSVecI8x16 */,\n /** i8x16.shr_u */\n ShrU8x16 = 2 /* _BinaryenShrUVecI8x16 */,\n /** i16x8.shl */\n ShlI16x8 = 3 /* _BinaryenShlVecI16x8 */,\n /** i16x8.shr_s */\n ShrI16x8 = 4 /* _BinaryenShrSVecI16x8 */,\n /** i16x8.shr_u */\n ShrU16x8 = 5 /* _BinaryenShrUVecI16x8 */,\n /** i16x8.shl */\n ShlI32x4 = 6 /* _BinaryenShlVecI32x4 */,\n /** i32x4.shr_s */\n ShrI32x4 = 7 /* _BinaryenShrSVecI32x4 */,\n /** i32x4.shr_u */\n ShrU32x4 = 8 /* _BinaryenShrUVecI32x4 */,\n /** i64x2.shl */\n ShlI64x2 = 9 /* _BinaryenShlVecI64x2 */,\n /** i64x2.shr_u */\n ShrI64x2 = 10 /* _BinaryenShrSVecI64x2 */,\n /** i64x2.shr_u */\n ShrU64x2 = 11 /* _BinaryenShrUVecI64x2 */\n}\n\n/** Binaryen SIMD load operation constants. */\nexport const enum SIMDLoadOp {\n /** v128.load8_splat */\n Load8Splat = 0 /* _BinaryenLoad8SplatVec128 */,\n /** v128.load16_splat */\n Load16Splat = 1 /* _BinaryenLoad16SplatVec128 */,\n /** v128.load32_splat */\n Load32Splat = 2 /* _BinaryenLoad32SplatVec128 */,\n /** v128.load64_splat */\n Load64Splat = 3 /* _BinaryenLoad64SplatVec128 */,\n /** v128.load8x8_s */\n Load8x8S = 4 /* _BinaryenLoad8x8SVec128 */,\n /** v128.load8x8_u */\n Load8x8U = 5 /* _BinaryenLoad8x8UVec128 */,\n /** v128.load16x4_s */\n Load16x4S = 6 /* _BinaryenLoad16x4SVec128 */,\n /** v128.load16x4_u */\n Load16x4U = 7 /* _BinaryenLoad16x4UVec128 */,\n /** v128.load32x2_s */\n Load32x2S = 8 /* _BinaryenLoad32x2SVec128 */,\n /** v128.load32x2_u */\n Load32x2U = 9 /* _BinaryenLoad32x2UVec128 */,\n /** v128.load32_zero */\n Load32Zero = 10 /* _BinaryenLoad32ZeroVec128 */,\n /** v128.load64_zero */\n Load64Zero = 11 /* _BinaryenLoad64ZeroVec128 */,\n}\n\n/** Binaryen SIMD load/store lane operation constants. */\nexport const enum SIMDLoadStoreLaneOp {\n /** v128.load8_lane */\n Load8Lane = 0 /* _BinaryenLoad8LaneVec128 */,\n /** v128.load16_lane */\n Load16Lane = 1 /* _BinaryenLoad16LaneVec128 */,\n /** v128.load32_lane */\n Load32Lane = 2 /* _BinaryenLoad32LaneVec128 */,\n /** v128.load64_lane */\n Load64Lane = 3 /* _BinaryenLoad64LaneVec128 */,\n /** v128.store8_lane */\n Store8Lane = 4 /* _BinaryenStore8LaneVec128 */,\n /** v128.store16_lane */\n Store16Lane = 5 /* _BinaryenStore16LaneVec128 */,\n /** v128.store32_lane */\n Store32Lane = 6 /* _BinaryenStore32LaneVec128 */,\n /** v128.store64_lane */\n Store64Lane = 7 /* _BinaryenStore64LaneVec128 */,\n}\n\n/** Binaryen SIMD ternary operation constants. */\nexport const enum SIMDTernaryOp {\n /** v128.bitselect */\n Bitselect = 0 /* _BinaryenBitselectVec128 */,\n\n // see: https://github.com/WebAssembly/relaxed-simd\n\n /** f32x4.relaxed_madd */\n RelaxedMaddF32x4 = 1 /* TODO_BinaryenRelaxedFmaVecF32x4 */,\n /** f32x4.relaxed_nmadd */\n RelaxedNmaddF32x4 = 2 /* TODO_BinaryenRelaxedFmsVecF32x4 */,\n /** f64x2.relaxed_madd */\n RelaxedMaddF64x2 = 3 /* TODO_BinaryenRelaxedFmaVecF64x2 */,\n /** f64x2.relaxed_nmadd */\n RelaxedNmaddF64x2 = 4 /* TODO_BinaryenRelaxedFmsVecF64x2 */,\n /** i8x16.relaxed_laneselect */\n RelaxedLaneselectI8x16 = 5 /* TODO_BinaryenLaneselectI8x16 */,\n /** i16x8.relaxed_laneselect */\n RelaxedLaneselectI16x8 = 6 /* TODO_BinaryenLaneselectI16x8 */,\n /** i32x4.relaxed_laneselect */\n RelaxedLaneselectI32x4 = 7 /* TODO_BinaryenLaneselectI32x4 */,\n /** i64x2.relaxed_laneselect */\n RelaxedLaneselectI64x2 = 8 /* TODO_BinaryenLaneselectI64x2 */,\n /** i32x4.relaxed_dot_i8x16_i7x16_add_s */\n RelaxedDotI8x16I7x16AddToI32x4 = 9 /* TODO_BinaryenDotI8x16I7x16AddSToVecI32x4 */,\n}\n\n/** Binaryen RefAs operation constants. */\nexport const enum RefAsOp {\n /** ref.as_non_null */\n NonNull = 0 /* _BinaryenRefAsNonNull */,\n /** extern.internalize */\n ExternInternalize = 1 /* _BinaryenRefAsExternInternalize */,\n /** extern.externalize */\n ExternExternalize = 2 /* _BinaryenRefAsExternExternalize */\n}\n\n/** Binaryen BrOn operation constants. */\nexport const enum BrOnOp {\n /** br_on_null */\n Null = 0 /* _BinaryenBrOnNull */,\n /** br_on_non_null */\n NonNull = 1 /* _BinaryenBrOnNonNull */,\n /** br_on_cast */\n Cast = 2 /* _BinaryenBrOnCast */,\n /** br_on_cast_fail */\n CastFail = 3 /* _BinaryenBrOnCastFail */\n}\n\n/** Binaryen StringNew operation constants. */\nexport const enum StringNewOp {\n /** string.new_wtf8 utf8 */\n UTF8 = 0 /* _BinaryenStringNewUTF8 */,\n /** string.new_wtf8 wtf8 */\n WTF8 = 1 /* _BinaryenStringNewWTF8 */,\n /** string.new_wtf8 replace */\n LossyUTF8 = 2 /* _BinaryenStringNewLossyUTF8 */,\n /** string.new_wtf16 */\n WTF16 = 3 /* _BinaryenStringNewWTF16 */,\n /** string.new_wtf8_array utf8 */\n UTF8Array = 4 /* _BinaryenStringNewUTF8Array */,\n /** string.new_wtf8_array wtf8 */\n WTF8Array = 5 /* _BinaryenStringNewWTF8Array */,\n /** string.new_wtf8_array replace */\n LossyUTF8Array = 6 /* _BinaryenStringNewLossyUTF8Array */,\n /** string.new_wtf16_array */\n WTF16Array = 7 /* _BinaryenStringNewWTF16Array */,\n /** string.from_code_point */\n FromCodePoint = 8 /* _BinaryenStringNewFromCodePoint */\n}\n\n/** Binaryen StringMeasure operation constants. */\nexport const enum StringMeasureOp {\n /** string.measure_wtf8 utf8 */\n UTF8 = 0 /* _BinaryenStringMeasureUTF8 */,\n /** string.measure_wtf8 wtf8 */\n WTF8 = 1 /* _BinaryenStringMeasureWTF8 */,\n /** string.measure_wtf16 */\n WTF16 = 2 /* _BinaryenStringMeasureWTF16 */,\n /** string.is_usv_sequence */\n IsUSV = 3 /* _BinaryenStringMeasureIsUSV */,\n /** stringview_wtf16.length */\n WTF16View = 4 /* _BinaryenStringMeasureWTF16View */\n}\n\n/** Binaryen StringEncode operation constants. */\nexport const enum StringEncodeOp {\n /** string.encode_wtf8 utf8 */\n UTF8 = 0 /* _BinaryenStringEncodeUTF8 */,\n /** string.encode_lossy_utf8 utf8 */\n LossyUTF8 = 1 /* _BinaryenStringEncodeLossyUTF8 */,\n /** string.encode_wtf8 wtf8 */\n WTF8 = 2 /* _BinaryenStringEncodeWTF8 */,\n /** string.encode_wtf16 */\n WTF16 = 3 /* _BinaryenStringEncodeWTF16 */,\n /** string.encode_wtf8_array utf8 */\n UTF8Array = 4 /* _BinaryenStringEncodeUTF8Array */,\n /** string.encode_lossy_utf8_array utf8 */\n LossyUTF8Array = 5 /* _BinaryenStringEncodeLossyUTF8Array */,\n /** string.encode_wtf8_array wtf8 */\n WTF8Array = 6 /* _BinaryenStringEncodeWTF8Array */,\n /** string.encode_wtf16_array */\n WTF16Array = 7 /* _BinaryenStringEncodeWTF16Array */\n}\n\n/** Binaryen StringEq operation constants. */\nexport const enum StringEqOp {\n /** string.eq */\n Equal = 0 /* _BinaryenStringEqEqual */,\n /** string.compare */\n Compare = 1 /* _BinaryenStringEqCompare */\n}\n\n/** Binaryen StringAs operation constants. */\nexport const enum StringAsOp {\n /** string.as_wtf8 */\n WTF8 = 0 /* _BinaryenStringAsWTF8 */,\n /** string.as_wtf16 */\n WTF16 = 1 /* _BinaryenStringAsWTF16 */,\n /** string.as_iter */\n Iter = 2 /* _BinaryenStringAsIter */\n}\n\n/** Binaryen StringIterMove operation constants. */\nexport const enum StringIterMoveOp {\n /** stringview_iter.advance */\n Advance = 0 /* _BinaryenStringIterMoveAdvance */,\n /** stringview_iter.rewind */\n Rewind = 1 /* _BinaryenStringIterMoveRewind */\n}\n\n/** Binaryen StringSlice operation constants. */\nexport const enum StringSliceWTFOp {\n /** stringview_wtf8.slice */\n WTF8 = 0 /* _BinaryenStringSliceWTF8 */,\n /** stringview_wtf16.slice */\n WTF16 = 1 /* _BinaryenStringSliceWTF16 */\n}\n\n/** Binaryen expression runner flags. */\nexport const enum ExpressionRunnerFlags {\n Default = 0 /* _ExpressionRunnerFlagsDefault */,\n PreserveSideeffects = 1 /* _ExpressionRunnerFlagsPreserveSideeffects */,\n TraverseCalls = 2 /* _ExpressionRunnerFlagsTraverseCalls */\n}\n\nexport class MemorySegment {\n constructor(\n /** Segment data. */\n public buffer: Uint8Array,\n /** Segment offset. */\n public offset: i64\n ) {}\n}\n\nexport class Module {\n constructor(\n /** Binaryen module reference. */\n public ref: ModuleRef,\n /** Whether a shadow stack is used. */\n public useShadowStack: bool,\n /** Architecture-dependent size type. */\n public sizeType: TypeRef\n ) {\n assert(sizeType == TypeRef.I32 || sizeType == TypeRef.I64);\n this.lit = binaryen._malloc(binaryen._BinaryenSizeofLiteral());\n }\n\n private lit: usize;\n\n static create(useShadowStack: bool, sizeType: TypeRef): Module {\n return new Module(binaryen._BinaryenModuleCreate(), useShadowStack, sizeType);\n }\n\n static createFrom(buffer: Uint8Array, useShadowStack: bool, sizeType: TypeRef): Module {\n let cArr = allocU8Array(buffer);\n let module = new Module(binaryen._BinaryenModuleRead(cArr, buffer.length), useShadowStack, sizeType);\n binaryen._free(changetype(cArr));\n return module;\n }\n\n // constants\n\n i32(value: i32): ExpressionRef {\n let out = this.lit;\n binaryen._BinaryenLiteralInt32(out, value);\n return binaryen._BinaryenConst(this.ref, out);\n }\n\n i64(valueLow: i32, valueHigh: i32 = 0): ExpressionRef {\n let out = this.lit;\n binaryen._BinaryenLiteralInt64(out, valueLow, valueHigh);\n return binaryen._BinaryenConst(this.ref, out);\n }\n\n // isize(value: T): ExpressionRef {\n // if (i64_is(value)) {\n // if (this.sizeType == TypeRef.I64) {\n // return this.i64(i64_low(value), i64_high(value));\n // }\n // assert(i64_is_i32(value));\n // return this.i32(i64_low(value));\n // }\n // return this.sizeType == TypeRef.I64\n // ? this.i64(i32(value), i32(value) < 0 ? -1 : 0)\n // : this.i32(i32(value));\n // }\n\n usize(value: T): ExpressionRef {\n if (i64_is(value)) {\n if (this.sizeType == TypeRef.I64) {\n return this.i64(i64_low(value), i64_high(value));\n }\n assert(i64_is_u32(value));\n return this.i32(i64_low(value));\n }\n return this.sizeType == TypeRef.I64\n ? this.i64(i32(value))\n : this.i32(i32(value));\n }\n\n f32(value: f32): ExpressionRef {\n let out = this.lit;\n binaryen._BinaryenLiteralFloat32(out, value);\n return binaryen._BinaryenConst(this.ref, out);\n }\n\n f64(value: f64): ExpressionRef {\n let out = this.lit;\n binaryen._BinaryenLiteralFloat64(out, value);\n return binaryen._BinaryenConst(this.ref, out);\n }\n\n v128(bytes: Uint8Array): ExpressionRef {\n assert(bytes.length == 16);\n let out = this.lit;\n for (let i = 0; i < 16; ++i) {\n binaryen.__i32_store8(out + i, unchecked(bytes[i]));\n }\n binaryen._BinaryenLiteralVec128(out, out);\n return binaryen._BinaryenConst(this.ref, out);\n }\n\n ref_null(type: TypeRef): ExpressionRef {\n // TODO: Provide the desired bottom type directly? Currently, Binaryen does\n // this under the hood, but this API could change to take a heap type.\n // type = binaryen._BinaryenTypeFromHeapType(\n // binaryen._BinaryenHeapTypeGetBottom(\n // binaryen._BinaryenTypeGetHeapType(type)\n // ),\n // true\n // );\n return binaryen._BinaryenRefNull(this.ref, type);\n }\n\n ref_eq(left: ExpressionRef, right: ExpressionRef): ExpressionRef {\n return binaryen._BinaryenRefEq(this.ref, left, right);\n }\n\n string_eq(left: ExpressionRef, right: ExpressionRef): ExpressionRef {\n return binaryen._BinaryenStringEq(this.ref, StringEqOp.Equal, left, right);\n }\n\n string_compare(left: ExpressionRef, right: ExpressionRef): ExpressionRef {\n return binaryen._BinaryenStringEq(this.ref, StringEqOp.Compare, left, right);\n }\n\n // expressions\n\n unary(\n op: UnaryOp,\n value: ExpressionRef\n ): ExpressionRef {\n if (op > UnaryOp._last) {\n let isWam64 = this.sizeType == TypeRef.I64;\n switch (op) {\n case UnaryOp.ClzSize: op = isWam64 ? UnaryOp.ClzI64 : UnaryOp.ClzI32; break;\n case UnaryOp.CtzSize: op = isWam64 ? UnaryOp.CtzI64 : UnaryOp.CtzI32; break;\n case UnaryOp.PopcntSize: op = isWam64 ? UnaryOp.PopcntI64 : UnaryOp.PopcntI32; break;\n case UnaryOp.EqzSize: op = isWam64 ? UnaryOp.EqzI64 : UnaryOp.EqzI32; break;\n default: assert(false);\n }\n }\n return binaryen._BinaryenUnary(this.ref, op, value);\n }\n\n binary(\n op: BinaryOp,\n left: ExpressionRef,\n right: ExpressionRef\n ): ExpressionRef {\n if (op > BinaryOp._last) {\n let isWasm64 = this.sizeType == TypeRef.I64;\n switch (op) {\n case BinaryOp.AddSize: op = isWasm64 ? BinaryOp.AddI64 : BinaryOp.AddI32; break;\n case BinaryOp.SubSize: op = isWasm64 ? BinaryOp.SubI64 : BinaryOp.SubI32; break;\n case BinaryOp.MulSize: op = isWasm64 ? BinaryOp.MulI64 : BinaryOp.MulI32; break;\n case BinaryOp.DivISize: op = isWasm64 ? BinaryOp.DivI64 : BinaryOp.DivI32; break;\n case BinaryOp.DivUSize: op = isWasm64 ? BinaryOp.DivU64 : BinaryOp.DivU32; break;\n case BinaryOp.RemISize: op = isWasm64 ? BinaryOp.RemI64 : BinaryOp.RemI32; break;\n case BinaryOp.RemUSize: op = isWasm64 ? BinaryOp.RemU64 : BinaryOp.RemU32; break;\n case BinaryOp.AndSize: op = isWasm64 ? BinaryOp.AndI64 : BinaryOp.AndI32; break;\n case BinaryOp.OrSize: op = isWasm64 ? BinaryOp.OrI64 : BinaryOp.OrI32; break;\n case BinaryOp.XorSize: op = isWasm64 ? BinaryOp.XorI64 : BinaryOp.XorI32; break;\n case BinaryOp.ShlSize: op = isWasm64 ? BinaryOp.ShlI64 : BinaryOp.ShlI32; break;\n case BinaryOp.ShrISize: op = isWasm64 ? BinaryOp.ShrI64 : BinaryOp.ShrI32; break;\n case BinaryOp.ShrUSize: op = isWasm64 ? BinaryOp.ShrU64 : BinaryOp.ShrU32; break;\n case BinaryOp.RotlSize: op = isWasm64 ? BinaryOp.RotlI64 : BinaryOp.RotlI32; break;\n case BinaryOp.RotrSize: op = isWasm64 ? BinaryOp.RotrI64 : BinaryOp.RotrI32; break;\n case BinaryOp.EqSize: op = isWasm64 ? BinaryOp.EqI64 : BinaryOp.EqI32; break;\n case BinaryOp.NeSize: op = isWasm64 ? BinaryOp.NeI64 : BinaryOp.NeI32; break;\n case BinaryOp.LtISize: op = isWasm64 ? BinaryOp.LtI64 : BinaryOp.LtI32; break;\n case BinaryOp.LtUSize: op = isWasm64 ? BinaryOp.LtU64 : BinaryOp.LtU32; break;\n case BinaryOp.LeISize: op = isWasm64 ? BinaryOp.LeI64 : BinaryOp.LeI32; break;\n case BinaryOp.LeUSize: op = isWasm64 ? BinaryOp.LeU64 : BinaryOp.LeU32; break;\n case BinaryOp.GtISize: op = isWasm64 ? BinaryOp.GtI64 : BinaryOp.GtI32; break;\n case BinaryOp.GtUSize: op = isWasm64 ? BinaryOp.GtU64 : BinaryOp.GtU32; break;\n case BinaryOp.GeISize: op = isWasm64 ? BinaryOp.GeI64 : BinaryOp.GeI32; break;\n case BinaryOp.GeUSize: op = isWasm64 ? BinaryOp.GeU64 : BinaryOp.GeU32; break;\n default: assert(false);\n }\n }\n return binaryen._BinaryenBinary(this.ref, op, left, right);\n }\n\n memory_size(name: string = CommonNames.DefaultMemory, is64: bool = false): ExpressionRef {\n let cStr = this.allocStringCached(name);\n return binaryen._BinaryenMemorySize(this.ref, cStr, is64);\n }\n\n memory_grow(delta: ExpressionRef, name: string = CommonNames.DefaultMemory, is64: bool = false): ExpressionRef {\n let cStr = this.allocStringCached(name);\n return binaryen._BinaryenMemoryGrow(this.ref, delta, cStr, is64);\n }\n\n table_size(name: string): ExpressionRef {\n let cStr = this.allocStringCached(name);\n return binaryen._BinaryenTableSize(this.ref, cStr);\n }\n\n table_grow(name: string, delta: ExpressionRef, value: ExpressionRef = 0): ExpressionRef {\n let cStr = this.allocStringCached(name);\n return binaryen._BinaryenTableGrow(this.ref, cStr, value, delta);\n }\n\n local_get(\n index: i32,\n type: TypeRef\n ): ExpressionRef {\n return binaryen._BinaryenLocalGet(this.ref, index, type);\n }\n\n tostack(value: ExpressionRef): ExpressionRef {\n if (this.useShadowStack) {\n let type = binaryen._BinaryenExpressionGetType(value);\n assert(type == TypeRef.I32 || type == TypeRef.Unreachable);\n return this.call(BuiltinNames.tostack, [ value ], type);\n }\n return value;\n }\n\n local_tee(\n index: i32,\n value: ExpressionRef,\n isManaged: bool,\n type: TypeRef = -1,\n ): ExpressionRef {\n if (type == -1) type = binaryen._BinaryenExpressionGetType(value);\n if (isManaged && this.useShadowStack) {\n value = this.tostack(value);\n }\n return binaryen._BinaryenLocalTee(this.ref, index, value, type);\n }\n\n global_get(\n name: string,\n type: TypeRef\n ): ExpressionRef {\n let cStr = this.allocStringCached(name);\n return binaryen._BinaryenGlobalGet(this.ref, cStr, type);\n }\n\n table_get(\n name: string,\n index: ExpressionRef,\n type: TypeRef\n ): ExpressionRef {\n let cStr = this.allocStringCached(name);\n return binaryen._BinaryenTableGet(this.ref, cStr, index, type);\n }\n\n load(\n bytes: Index,\n signed: bool,\n ptr: ExpressionRef,\n type: TypeRef,\n offset: Index = 0,\n align: Index = bytes, // naturally aligned by default\n name: string = CommonNames.DefaultMemory\n ): ExpressionRef {\n let cStr = this.allocStringCached(name);\n return binaryen._BinaryenLoad(this.ref, bytes, signed, offset, align, type, ptr, cStr);\n }\n\n store(\n bytes: Index,\n ptr: ExpressionRef,\n value: ExpressionRef,\n type: TypeRef,\n offset: Index = 0,\n align: Index = bytes, // naturally aligned by default\n name: string = CommonNames.DefaultMemory\n ): ExpressionRef {\n let cStr = this.allocStringCached(name);\n return binaryen._BinaryenStore(this.ref, bytes, offset, align, ptr, value, type, cStr);\n }\n\n atomic_load(\n bytes: Index,\n ptr: ExpressionRef,\n type: TypeRef,\n offset: Index = 0,\n name: string = CommonNames.DefaultMemory\n ): ExpressionRef {\n let cStr = this.allocStringCached(name);\n return binaryen._BinaryenAtomicLoad(this.ref, bytes, offset, type, ptr, cStr);\n }\n\n atomic_store(\n bytes: Index,\n ptr: ExpressionRef,\n value: ExpressionRef,\n type: TypeRef,\n offset: Index = 0,\n name: string = CommonNames.DefaultMemory\n ): ExpressionRef {\n let cStr = this.allocStringCached(name);\n return binaryen._BinaryenAtomicStore(this.ref, bytes, offset, ptr, value, type, cStr);\n }\n\n atomic_rmw(\n op: AtomicRMWOp,\n bytes: Index,\n offset: Index,\n ptr: ExpressionRef,\n value: ExpressionRef,\n type: TypeRef,\n name: string = CommonNames.DefaultMemory\n ): ExpressionRef {\n let cStr = this.allocStringCached(name);\n return binaryen._BinaryenAtomicRMW(this.ref, op, bytes, offset, ptr, value, type, cStr);\n }\n\n atomic_cmpxchg(\n bytes: Index,\n offset: Index,\n ptr: ExpressionRef,\n expected: ExpressionRef,\n replacement: ExpressionRef,\n type: TypeRef,\n name: string = CommonNames.DefaultMemory\n ): ExpressionRef {\n let cStr = this.allocStringCached(name);\n return binaryen._BinaryenAtomicCmpxchg(this.ref, bytes, offset, ptr, expected, replacement, type, cStr);\n }\n\n atomic_wait(\n ptr: ExpressionRef,\n expected: ExpressionRef,\n timeout: ExpressionRef,\n expectedType: TypeRef,\n name: string = CommonNames.DefaultMemory\n ): ExpressionRef {\n let cStr = this.allocStringCached(name);\n return binaryen._BinaryenAtomicWait(this.ref, ptr, expected, timeout, expectedType, cStr);\n }\n\n atomic_notify(\n ptr: ExpressionRef,\n notifyCount: ExpressionRef,\n name: string = CommonNames.DefaultMemory\n ): ExpressionRef {\n let cStr = this.allocStringCached(name);\n return binaryen._BinaryenAtomicNotify(this.ref, ptr, notifyCount, cStr);\n }\n\n atomic_fence(name: string | null = null): ExpressionRef {\n let cStr = this.allocStringCached(name);\n return binaryen._BinaryenAtomicFence(this.ref, cStr);\n }\n\n // statements\n\n local_set(\n index: Index,\n value: ExpressionRef,\n isManaged: bool\n ): ExpressionRef {\n if (isManaged && this.useShadowStack) {\n value = this.tostack(value);\n }\n return binaryen._BinaryenLocalSet(this.ref, index, value);\n }\n\n global_set(\n name: string,\n value: ExpressionRef\n ): ExpressionRef {\n let cStr = this.allocStringCached(name);\n return binaryen._BinaryenGlobalSet(this.ref, cStr, value);\n }\n\n table_set(\n name: string,\n index: ExpressionRef,\n value: ExpressionRef\n ): ExpressionRef {\n let cStr = this.allocStringCached(name);\n return binaryen._BinaryenTableSet(this.ref, cStr, index, value);\n }\n\n block(\n label: string | null,\n children: ExpressionRef[],\n type: TypeRef = TypeRef.None\n ): ExpressionRef {\n let cStr = this.allocStringCached(label);\n let cArr = allocPtrArray(children);\n let ret = binaryen._BinaryenBlock(this.ref, cStr, cArr, children.length, type);\n binaryen._free(cArr);\n return ret;\n }\n\n /** Attempts to trivially flatten a series of expressions instead of emitting a block. */\n flatten(\n stmts: ExpressionRef[],\n type: TypeRef = TypeRef.None\n ): ExpressionRef {\n let length = stmts.length;\n if (length == 0) return this.nop(); // usually filtered out again\n if (length == 1) {\n let single = stmts[0];\n switch (getExpressionId(single)) {\n case ExpressionId.Return:\n case ExpressionId.Throw:\n case ExpressionId.Unreachable: {\n // type does no matter, terminates anyway\n return single;\n }\n }\n let singleType = getExpressionType(single);\n if (singleType != TypeRef.Unreachable && singleType != type) {\n // can happen when there was a diagnostic prior\n return this.unreachable();\n }\n return single;\n }\n return this.block(null, stmts, type);\n }\n\n br(\n label: string | null,\n condition: ExpressionRef = 0,\n value: ExpressionRef = 0\n ): ExpressionRef {\n let cStr = this.allocStringCached(label);\n return binaryen._BinaryenBreak(this.ref, cStr, condition, value);\n }\n\n drop(\n expression: ExpressionRef\n ): ExpressionRef {\n return binaryen._BinaryenDrop(this.ref, expression);\n }\n\n /** Drops an expression if it evaluates to a value. */\n maybeDrop(\n expression: ExpressionRef\n ): ExpressionRef {\n let type = binaryen._BinaryenExpressionGetType(expression);\n if (type != TypeRef.None && type != TypeRef.Unreachable) {\n return binaryen._BinaryenDrop(this.ref, expression);\n }\n return expression;\n }\n\n maybeDropCondition(condition: ExpressionRef, result: ExpressionRef): ExpressionRef {\n // FIXME: This is necessary because Binaryen's ExpressionRunner bails early\n // when encountering a local with an unknown value. This helper only drops\n // the pre-evaluated condition if it has relevant side effects.\n // see WebAssembly/binaryen#1237\n if ((getSideEffects(condition, this.ref) & ~(SideEffects.ReadsLocal | SideEffects.ReadsGlobal)) != 0) {\n return this.block(null, [\n this.drop(condition),\n result\n ], getExpressionType(result));\n }\n return result;\n }\n\n loop(\n label: string | null,\n body: ExpressionRef\n ): ExpressionRef {\n let cStr = this.allocStringCached(label);\n return binaryen._BinaryenLoop(this.ref, cStr, body);\n }\n\n if(\n condition: ExpressionRef,\n ifTrue: ExpressionRef,\n ifFalse: ExpressionRef = 0\n ): ExpressionRef {\n return binaryen._BinaryenIf(this.ref, condition, ifTrue, ifFalse);\n }\n\n nop(): ExpressionRef {\n return binaryen._BinaryenNop(this.ref);\n }\n\n return(\n expression: ExpressionRef = 0\n ): ExpressionRef {\n return binaryen._BinaryenReturn(this.ref, expression);\n }\n\n select(\n ifTrue: ExpressionRef,\n ifFalse: ExpressionRef,\n condition: ExpressionRef,\n type: TypeRef\n ): ExpressionRef {\n return binaryen._BinaryenSelect(this.ref, condition, ifTrue, ifFalse, type);\n }\n\n switch(\n names: string[],\n defaultName: string | null,\n condition: ExpressionRef,\n value: ExpressionRef = 0\n ): ExpressionRef {\n let numNames = names.length;\n let strs = new Array(numNames);\n for (let i = 0; i < numNames; ++i) {\n unchecked(strs[i] = this.allocStringCached(names[i]));\n }\n let cArr = allocPtrArray(strs);\n let cStr = this.allocStringCached(defaultName);\n let ret = binaryen._BinaryenSwitch(this.ref, cArr, numNames, cStr, condition, value);\n binaryen._free(cArr);\n return ret;\n }\n\n call(\n target: string,\n operands: ExpressionRef[] | null,\n returnType: TypeRef,\n isReturn: bool = false\n ): ExpressionRef {\n let cStr = this.allocStringCached(target);\n let cArr = allocPtrArray(operands);\n let ret = isReturn\n ? binaryen._BinaryenReturnCall(\n this.ref, cStr, cArr, operands ? operands.length : 0, returnType\n )\n : binaryen._BinaryenCall(\n this.ref, cStr, cArr, operands ? operands.length : 0, returnType\n );\n binaryen._free(cArr);\n return ret;\n }\n\n return_call(\n target: string,\n operands: ExpressionRef[] | null,\n returnType: TypeRef\n ): ExpressionRef {\n return this.call(target, operands, returnType, true);\n }\n\n call_indirect(\n tableName: string | null,\n index: ExpressionRef,\n operands: ExpressionRef[] | null,\n params: TypeRef,\n results: TypeRef,\n isReturn: bool = false\n ): ExpressionRef {\n let cStr = this.allocStringCached(tableName != null\n ? tableName\n : CommonNames.DefaultTable\n );\n let cArr = allocPtrArray(operands);\n let ret = isReturn\n ? binaryen._BinaryenReturnCallIndirect(\n this.ref, cStr, index, cArr, operands ? operands.length : 0, params, results\n )\n : binaryen._BinaryenCallIndirect(\n this.ref, cStr, index, cArr, operands ? operands.length : 0, params, results\n );\n binaryen._free(cArr);\n return ret;\n }\n\n return_call_indirect(\n tableName: string | null,\n index: ExpressionRef,\n operands: ExpressionRef[] | null,\n params: TypeRef,\n results: TypeRef\n ): ExpressionRef {\n return this.call_indirect(tableName, index, operands, params, results, true);\n }\n\n unreachable(): ExpressionRef {\n return binaryen._BinaryenUnreachable(this.ref);\n }\n\n // bulk memory\n\n memory_copy(\n dest: ExpressionRef,\n source: ExpressionRef,\n size: ExpressionRef,\n destName: string = CommonNames.DefaultMemory,\n sourceName: string = CommonNames.DefaultMemory\n ): ExpressionRef {\n let cStr1 = this.allocStringCached(destName);\n let cStr2 = this.allocStringCached(sourceName);\n return binaryen._BinaryenMemoryCopy(this.ref, dest, source, size, cStr1, cStr2);\n }\n\n memory_fill(\n dest: ExpressionRef,\n value: ExpressionRef,\n size: ExpressionRef,\n name: string = CommonNames.DefaultMemory\n ): ExpressionRef {\n let cStr = this.allocStringCached(name);\n return binaryen._BinaryenMemoryFill(this.ref, dest, value, size, cStr);\n }\n\n // exception handling\n\n try(\n name: string | null,\n body: ExpressionRef,\n catchTags: string[],\n catchBodies: ExpressionRef[],\n delegateTarget: string | null = null\n ): ExpressionRef {\n let numCatchTags = catchTags.length;\n let strs = new Array(numCatchTags);\n for (let i = 0; i < numCatchTags; ++i) {\n strs[i] = this.allocStringCached(catchTags[i]);\n }\n let cArr1 = allocPtrArray(strs);\n let cArr2 = allocPtrArray(catchBodies);\n let cStr1 = this.allocStringCached(name);\n let cStr2 = this.allocStringCached(delegateTarget);\n let ret = binaryen._BinaryenTry(\n this.ref, cStr1, body, cArr1, numCatchTags, cArr2, catchBodies.length, cStr2\n );\n binaryen._free(cArr2);\n binaryen._free(cArr1);\n return ret;\n }\n\n throw(\n tagName: string,\n operands: ExpressionRef[]\n ): ExpressionRef {\n let cStr = this.allocStringCached(tagName);\n let cArr = allocPtrArray(operands);\n let ret = binaryen._BinaryenThrow(this.ref, cStr, cArr, operands.length);\n binaryen._free(cArr);\n return ret;\n }\n\n rethrow(\n target: string\n ): ExpressionRef {\n let cStr = this.allocStringCached(target);\n return binaryen._BinaryenRethrow(this.ref, cStr);\n }\n\n // multi value (pseudo instructions)\n\n pop(\n type: TypeRef\n ): ExpressionRef {\n return binaryen._BinaryenPop(this.ref, type);\n }\n\n tuple_make(operands: ExpressionRef[]): ExpressionRef {\n let cArr = allocPtrArray(operands);\n let ret = binaryen._BinaryenTupleMake(this.ref, cArr, operands.length);\n binaryen._free(cArr);\n return ret;\n }\n\n tuple_extract(tuple: ExpressionRef, index: Index): ExpressionRef {\n return binaryen._BinaryenTupleExtract(this.ref, tuple, index);\n }\n\n // simd\n\n simd_extract(\n op: SIMDExtractOp,\n vec: ExpressionRef,\n idx: u8\n ): ExpressionRef {\n return binaryen._BinaryenSIMDExtract(this.ref, op, vec, idx);\n }\n\n simd_replace(\n op: SIMDReplaceOp,\n vec: ExpressionRef,\n idx: u8,\n value: ExpressionRef\n ): ExpressionRef {\n return binaryen._BinaryenSIMDReplace(this.ref, op, vec, idx, value);\n }\n\n simd_shuffle(\n vec1: ExpressionRef,\n vec2: ExpressionRef,\n mask: Uint8Array\n ): ExpressionRef {\n assert(mask.length == 16);\n let cArr = allocU8Array(mask);\n let ret = binaryen._BinaryenSIMDShuffle(this.ref, vec1, vec2, cArr);\n binaryen._free(cArr);\n return ret;\n }\n\n simd_ternary(\n op: SIMDTernaryOp,\n a: ExpressionRef,\n b: ExpressionRef,\n c: ExpressionRef\n ): ExpressionRef {\n return binaryen._BinaryenSIMDTernary(this.ref, op, a, b, c);\n }\n\n simd_shift(\n op: SIMDShiftOp,\n vec: ExpressionRef,\n shift: ExpressionRef\n ): ExpressionRef {\n return binaryen._BinaryenSIMDShift(this.ref, op, vec, shift);\n }\n\n simd_load(\n op: SIMDLoadOp,\n ptr: ExpressionRef,\n offset: u32,\n align: u32,\n name: string = CommonNames.DefaultMemory\n ): ExpressionRef {\n let cStr = this.allocStringCached(name);\n return binaryen._BinaryenSIMDLoad(this.ref, op, offset, align, ptr, cStr);\n }\n\n simd_loadstorelane(\n op: SIMDLoadStoreLaneOp,\n ptr: ExpressionRef,\n offset: u32,\n align: u32,\n index: u8,\n vec: ExpressionRef,\n name: string = CommonNames.DefaultMemory\n ): ExpressionRef {\n let cStr = this.allocStringCached(name);\n return binaryen._BinaryenSIMDLoadStoreLane(this.ref, op, offset, align, index, ptr, vec, cStr);\n }\n\n // reference types / gc\n\n ref_is_null(\n expr: ExpressionRef\n ): ExpressionRef {\n return binaryen._BinaryenRefIsNull(this.ref, expr);\n }\n\n ref_as(\n op: RefAsOp,\n expr: ExpressionRef\n ): ExpressionRef {\n return binaryen._BinaryenRefAs(this.ref, op, expr);\n }\n\n ref_as_nonnull(\n expr: ExpressionRef\n ): ExpressionRef {\n if (isNullableType(getExpressionType(expr))) {\n return binaryen._BinaryenRefAs(this.ref, RefAsOp.NonNull, expr);\n } else {\n return expr;\n }\n }\n\n ref_func(\n name: string,\n type: TypeRef\n ): ExpressionRef {\n let cStr = this.allocStringCached(name);\n return binaryen._BinaryenRefFunc(this.ref, cStr, type);\n }\n\n i31_new(\n value: ExpressionRef\n ): ExpressionRef {\n return binaryen._BinaryenRefI31(this.ref, value);\n }\n\n i31_get(\n expr: ExpressionRef,\n signed: bool\n ): ExpressionRef {\n return binaryen._BinaryenI31Get(this.ref, expr, signed);\n }\n\n // globals\n\n addGlobal(\n name: string,\n type: TypeRef,\n mutable: bool,\n initializer: ExpressionRef\n ): GlobalRef {\n let cStr = this.allocStringCached(name);\n return binaryen._BinaryenAddGlobal(this.ref, cStr, type, mutable, initializer);\n }\n\n getGlobal(\n name: string\n ): GlobalRef {\n let cStr = this.allocStringCached(name);\n return binaryen._BinaryenGetGlobal(this.ref, cStr);\n }\n\n removeGlobal(\n name: string\n ): bool {\n let cStr = this.allocStringCached(name);\n if (!binaryen._BinaryenGetGlobal(this.ref, cStr)) return false;\n binaryen._BinaryenRemoveGlobal(this.ref, cStr);\n return true;\n }\n\n // tags\n\n addTag(\n name: string,\n params: TypeRef,\n results: TypeRef\n ): TagRef {\n let cStr = this.allocStringCached(name);\n return binaryen._BinaryenAddTag(this.ref, cStr, params, results);\n }\n\n getTag(\n name: string\n ): TagRef {\n let cStr = this.allocStringCached(name);\n return binaryen._BinaryenGetTag(this.ref, cStr);\n }\n\n removeTag(\n name: string\n ): void {\n let cStr = this.allocStringCached(name);\n binaryen._BinaryenRemoveTag(this.ref, cStr);\n }\n\n // functions\n\n addFunction(\n name: string,\n params: TypeRef,\n results: TypeRef,\n varTypes: TypeRef[] | null,\n body: ExpressionRef\n ): FunctionRef {\n let cStr = this.allocStringCached(name);\n let cArr = allocPtrArray(varTypes);\n let ret = binaryen._BinaryenAddFunction(\n this.ref,\n cStr,\n params,\n results,\n cArr,\n varTypes ? varTypes.length : 0,\n body\n );\n binaryen._free(cArr);\n return ret;\n }\n\n setLocalName(funcRef: FunctionRef, index: u32, name: string): void {\n binaryen._BinaryenFunctionSetLocalName(funcRef, index, this.allocStringCached(name));\n }\n\n getFunction(\n name: string\n ): FunctionRef {\n let cStr = this.allocStringCached(name);\n return binaryen._BinaryenGetFunction(this.ref, cStr);\n }\n\n removeFunction(name: string): void {\n let cStr = this.allocStringCached(name);\n binaryen._BinaryenRemoveFunction(this.ref, cStr);\n }\n\n hasFunction(name: string): bool {\n let cStr = this.allocStringCached(name);\n return binaryen._BinaryenGetFunction(this.ref, cStr) != 0;\n }\n\n private hasTemporaryFunction: bool = false;\n\n addTemporaryFunction(\n result: TypeRef,\n paramTypes: TypeRef[] | null,\n body: ExpressionRef\n ): FunctionRef {\n this.hasTemporaryFunction = assert(!this.hasTemporaryFunction);\n let tempName = this.allocStringCached(\"\");\n let cArr = allocPtrArray(paramTypes);\n let ret = binaryen._BinaryenAddFunction(this.ref,\n tempName,\n createType(paramTypes),\n result,\n 0, 0,\n body\n );\n binaryen._free(cArr);\n return ret;\n }\n\n removeTemporaryFunction(): void {\n this.hasTemporaryFunction = !assert(this.hasTemporaryFunction);\n let tempName = this.allocStringCached(\"\");\n binaryen._BinaryenRemoveFunction(this.ref, tempName);\n }\n\n setStart(func: FunctionRef): void {\n binaryen._BinaryenSetStart(this.ref, func);\n }\n\n // exports\n\n addFunctionExport(\n internalName: string,\n externalName: string\n ): ExportRef {\n let cStr1 = this.allocStringCached(internalName);\n let cStr2 = this.allocStringCached(externalName);\n return binaryen._BinaryenAddFunctionExport(this.ref, cStr1, cStr2);\n }\n\n addTableExport(\n internalName: string,\n externalName: string\n ): ExportRef {\n let cStr1 = this.allocStringCached(internalName);\n let cStr2 = this.allocStringCached(externalName);\n return binaryen._BinaryenAddTableExport(this.ref, cStr1, cStr2);\n }\n\n addMemoryExport(\n internalName: string,\n externalName: string\n ): ExportRef {\n let cStr1 = this.allocStringCached(internalName);\n let cStr2 = this.allocStringCached(externalName);\n return binaryen._BinaryenAddMemoryExport(this.ref, cStr1, cStr2);\n }\n\n addGlobalExport(\n internalName: string,\n externalName: string\n ): ExportRef {\n let cStr1 = this.allocStringCached(internalName);\n let cStr2 = this.allocStringCached(externalName);\n return binaryen._BinaryenAddGlobalExport(this.ref, cStr1, cStr2);\n }\n\n addTagExport(\n internalName: string,\n externalName: string\n ): ExportRef {\n let cStr1 = this.allocStringCached(internalName);\n let cStr2 = this.allocStringCached(externalName);\n return binaryen._BinaryenAddTagExport(this.ref, cStr1, cStr2);\n }\n\n removeExport(externalName: string): void {\n let cStr = this.allocStringCached(externalName);\n binaryen._BinaryenRemoveExport(this.ref, cStr);\n }\n\n hasExport(externalName: string): bool {\n let cStr = this.allocStringCached(externalName);\n return binaryen._BinaryenGetExport(this.ref, cStr) != 0;\n }\n\n // imports\n\n addFunctionImport(\n internalName: string,\n externalModuleName: string,\n externalBaseName: string,\n params: TypeRef,\n results: TypeRef\n ): void {\n let cStr1 = this.allocStringCached(internalName);\n let cStr2 = this.allocStringCached(externalModuleName);\n let cStr3 = this.allocStringCached(externalBaseName);\n binaryen._BinaryenAddFunctionImport(this.ref, cStr1, cStr2, cStr3, params, results);\n }\n\n addTableImport(\n internalName: string,\n externalModuleName: string,\n externalBaseName: string\n ): void {\n let cStr1 = this.allocStringCached(internalName);\n let cStr2 = this.allocStringCached(externalModuleName);\n let cStr3 = this.allocStringCached(externalBaseName);\n binaryen._BinaryenAddTableImport(this.ref, cStr1, cStr2, cStr3);\n }\n\n addMemoryImport(\n internalName: string,\n externalModuleName: string,\n externalBaseName: string,\n shared: bool = false,\n ): void {\n let cStr1 = this.allocStringCached(internalName);\n let cStr2 = this.allocStringCached(externalModuleName);\n let cStr3 = this.allocStringCached(externalBaseName);\n binaryen._BinaryenAddMemoryImport(this.ref, cStr1, cStr2, cStr3, shared);\n }\n\n addGlobalImport(\n internalName: string,\n externalModuleName: string,\n externalBaseName: string,\n globalType: TypeRef,\n mutable: bool = false\n ): void {\n let cStr1 = this.allocStringCached(internalName);\n let cStr2 = this.allocStringCached(externalModuleName);\n let cStr3 = this.allocStringCached(externalBaseName);\n binaryen._BinaryenAddGlobalImport(this.ref, cStr1, cStr2, cStr3, globalType, mutable);\n }\n\n addTagImport(\n internalName: string,\n externalModuleName: string,\n externalBaseName: string,\n params: TypeRef,\n results: TypeRef\n ): void {\n let cStr1 = this.allocStringCached(internalName);\n let cStr2 = this.allocStringCached(externalModuleName);\n let cStr3 = this.allocStringCached(externalBaseName);\n binaryen._BinaryenAddTagImport(\n this.ref, cStr1, cStr2, cStr3, params, results\n );\n }\n\n // memory\n\n /** Unlimited memory constant. */\n static readonly UNLIMITED_MEMORY: Index = -1;\n\n setMemory(\n initial: Index,\n maximum: Index,\n segments: MemorySegment[],\n target: Target,\n exportName: string | null = null,\n name: string = CommonNames.DefaultMemory,\n shared: bool = false\n ): void {\n let cStr1 = this.allocStringCached(exportName);\n let cStr2 = this.allocStringCached(name);\n let k = segments.length;\n let segs = new Array(k);\n let psvs = new Uint8Array(k);\n let offs = new Array(k);\n let sizs = new Array(k);\n for (let i = 0; i < k; ++i) {\n let segment = unchecked(segments[i]);\n let buffer = segment.buffer;\n let offset = segment.offset;\n unchecked(segs[i] = allocU8Array(buffer));\n unchecked(psvs[i] = 0); // no passive segments currently\n unchecked(offs[i] = target == Target.Wasm64\n ? this.i64(i64_low(offset), i64_high(offset))\n : this.i32(i64_low(offset))\n );\n unchecked(sizs[i] = buffer.length);\n }\n let cArr1 = allocPtrArray(segs);\n let cArr2 = allocU8Array(psvs);\n let cArr3 = allocPtrArray(offs);\n let cArr4 = allocU32Array(sizs);\n binaryen._BinaryenSetMemory(\n this.ref, initial, maximum, cStr1, cArr1, cArr2, cArr3, cArr4, k, shared, false, cStr2\n );\n binaryen._free(cArr4);\n binaryen._free(cArr3);\n binaryen._free(cArr2);\n binaryen._free(cArr1);\n for (let i = k - 1; i >= 0; --i) {\n binaryen._free(unchecked(segs[i]));\n }\n }\n\n // table\n\n /** Unlimited table constant. */\n static readonly UNLIMITED_TABLE: Index = -1;\n\n addFunctionTable(\n name: string,\n initial: Index,\n maximum: Index,\n funcs: string[],\n offset: ExpressionRef\n ): void {\n let cStr = this.allocStringCached(name);\n let numNames = funcs.length;\n let names = new Array(numNames);\n for (let i = 0; i < numNames; ++i) {\n unchecked(names[i] = this.allocStringCached(funcs[i]));\n }\n let cArr = allocPtrArray(names);\n let tableRef = binaryen._BinaryenGetTable(this.ref, cStr);\n if (!tableRef) {\n tableRef = binaryen._BinaryenAddTable(this.ref, cStr, initial, maximum, TypeRef.Funcref);\n } else {\n binaryen._BinaryenTableSetInitial(tableRef, initial);\n binaryen._BinaryenTableSetMax(tableRef, maximum);\n }\n binaryen._BinaryenAddActiveElementSegment(this.ref, cStr, cStr, cArr, numNames, offset);\n binaryen._free(cArr);\n }\n\n /* setFunctionTable(\n initial: Index,\n maximum: Index,\n funcs: string[],\n offset: ExpressionRef\n ): void {\n let numNames = funcs.length;\n let names = new Array(numNames);\n for (let i = 0; i < numNames; ++i) {\n names[i] = this.allocStringCached(funcs[i]);\n }\n let cArr = allocPtrArray(names);\n binaryen._BinaryenSetFunctionTable(\n this.ref, initial, maximum, cArr, numNames, offset\n );\n binaryen._free(cArr);\n } */\n\n // sections\n\n addCustomSection(name: string, contents: Uint8Array): void {\n let cStr = this.allocStringCached(name);\n let cArr = allocU8Array(contents);\n binaryen._BinaryenAddCustomSection(this.ref, cStr, cArr, contents.length);\n binaryen._free(cArr);\n }\n\n // meta (global)\n\n getOptimizeLevel(): i32 {\n return binaryen._BinaryenGetOptimizeLevel();\n }\n\n setOptimizeLevel(level: i32): void {\n binaryen._BinaryenSetOptimizeLevel(level);\n }\n\n getShrinkLevel(): i32 {\n return binaryen._BinaryenGetShrinkLevel();\n }\n\n setShrinkLevel(level: i32): void {\n binaryen._BinaryenSetShrinkLevel(level);\n }\n\n getDebugInfo(): boolean {\n return binaryen._BinaryenGetDebugInfo();\n }\n\n setDebugInfo(on: bool): void {\n binaryen._BinaryenSetDebugInfo(on);\n }\n\n getLowMemoryUnused(): bool {\n return binaryen._BinaryenGetLowMemoryUnused();\n }\n\n setLowMemoryUnused(on: bool): void {\n binaryen._BinaryenSetLowMemoryUnused(on);\n }\n\n getZeroFilledMemory(): bool {\n return binaryen._BinaryenGetZeroFilledMemory();\n }\n\n setZeroFilledMemory(on: bool): void {\n binaryen._BinaryenSetZeroFilledMemory(on);\n }\n\n getFastMath(): bool {\n return binaryen._BinaryenGetFastMath();\n }\n\n setFastMath(on: bool): void {\n binaryen._BinaryenSetFastMath(on);\n }\n\n getPassArgument(key: string): string | null {\n let cStr = this.allocStringCached(key);\n let ptr = binaryen._BinaryenGetPassArgument(cStr);\n return ptr ? readString(ptr) : null;\n }\n\n setPassArgument(key: string, value: string | null): void {\n let cStr1 = this.allocStringCached(key);\n let cStr2 = this.allocStringCached(value);\n binaryen._BinaryenSetPassArgument(cStr1, cStr2);\n }\n\n clearPassArguments(): void {\n binaryen._BinaryenClearPassArguments();\n }\n\n getAlwaysInlineMaxSize(): Index {\n return binaryen._BinaryenGetAlwaysInlineMaxSize();\n }\n\n setAlwaysInlineMaxSize(size: Index): void {\n binaryen._BinaryenSetAlwaysInlineMaxSize(size);\n }\n\n getFlexibleInlineMaxSize(): Index {\n return binaryen._BinaryenGetFlexibleInlineMaxSize();\n }\n\n setFlexibleInlineMaxSize(size: Index): void {\n binaryen._BinaryenSetFlexibleInlineMaxSize(size);\n }\n\n getOneCallerInlineMaxSize(): Index {\n return binaryen._BinaryenGetOneCallerInlineMaxSize();\n }\n\n setOneCallerInlineMaxSize(size: Index): void {\n binaryen._BinaryenSetOneCallerInlineMaxSize(size);\n }\n\n getAllowInliningFunctionsWithLoops(): bool {\n return binaryen._BinaryenGetAllowInliningFunctionsWithLoops();\n }\n\n setAllowInliningFunctionsWithLoops(enabled: bool): void {\n binaryen._BinaryenSetAllowInliningFunctionsWithLoops(enabled);\n }\n\n // meta (module)\n\n getFeatures(): FeatureFlags {\n return binaryen._BinaryenModuleGetFeatures(this.ref);\n }\n\n setFeatures(featureFlags: FeatureFlags): void {\n binaryen._BinaryenModuleSetFeatures(this.ref, featureFlags);\n }\n\n runPasses(passes: string[], func: FunctionRef = 0): void {\n let numNames = passes.length;\n let cStrs = new Array(numNames);\n for (let i = 0; i < numNames; ++i) {\n cStrs[i] = allocString(passes[i]);\n }\n let cArr = allocPtrArray(cStrs);\n if (func) {\n binaryen._BinaryenFunctionRunPasses(func, this.ref, cArr, numNames);\n } else {\n binaryen._BinaryenModuleRunPasses(this.ref, cArr, numNames);\n }\n binaryen._free(cArr);\n for (let i = numNames - 1; i >= 0; --i) binaryen._free(cStrs[i]);\n }\n\n optimize(\n optimizeLevel: i32,\n shrinkLevel: i32,\n debugInfo: bool = false,\n zeroFilledMemory: bool = false\n ): void {\n // Implicitly run costly non-LLVM optimizations on -O3 or -Oz\n if (optimizeLevel >= 3 || shrinkLevel >= 2) optimizeLevel = 4;\n\n this.setOptimizeLevel(optimizeLevel);\n this.setShrinkLevel(shrinkLevel);\n this.setDebugInfo(debugInfo);\n this.setZeroFilledMemory(zeroFilledMemory);\n this.setFastMath(true);\n this.clearPassArguments();\n\n // Tweak inlining limits based on optimization levels\n if (optimizeLevel >= 2 && shrinkLevel == 0) {\n this.setAlwaysInlineMaxSize(12);\n this.setFlexibleInlineMaxSize(70);\n this.setOneCallerInlineMaxSize(200);\n this.setAllowInliningFunctionsWithLoops(optimizeLevel >= 3);\n } else {\n this.setAlwaysInlineMaxSize(\n optimizeLevel <= 1 || shrinkLevel >= 2\n ? 2\n : 6\n );\n this.setFlexibleInlineMaxSize(65);\n this.setOneCallerInlineMaxSize(80);\n this.setAllowInliningFunctionsWithLoops(false);\n }\n\n // Pass order here differs substantially from Binaryen's defaults\n // see: Binaryen/src/pass.cpp\n if (optimizeLevel > 0 || shrinkLevel > 0) {\n let passes = new Array();\n\n // --- PassRunner::addDefaultGlobalOptimizationPrePasses ---\n\n passes.push(\"duplicate-function-elimination\");\n passes.push(\"remove-unused-module-elements\"); // +\n\n // --- PassRunner::addDefaultFunctionOptimizationPasses ---\n if (optimizeLevel >= 2) {\n passes.push(\"once-reduction\");\n passes.push(\"inlining\");\n passes.push(\"simplify-globals-optimizing\");\n }\n if (optimizeLevel >= 3 || shrinkLevel >= 1) {\n passes.push(\"rse\");\n passes.push(\"vacuum\");\n passes.push(\"code-folding\");\n passes.push(\"ssa-nomerge\");\n passes.push(\"local-cse\");\n passes.push(\"remove-unused-brs\");\n passes.push(\"remove-unused-names\");\n passes.push(\"merge-blocks\");\n passes.push(\"precompute-propagate\");\n passes.push(\"simplify-globals-optimizing\");\n passes.push(\"gufa-optimizing\");\n passes.push(\"dae-optimizing\");\n }\n if (optimizeLevel >= 3) {\n passes.push(\"simplify-locals-nostructure\");\n passes.push(\"flatten\");\n passes.push(\"vacuum\");\n passes.push(\"simplify-locals-notee-nostructure\");\n passes.push(\"vacuum\");\n passes.push(\"licm\");\n passes.push(\"merge-locals\");\n passes.push(\"reorder-locals\");\n }\n passes.push(\"optimize-instructions\");\n if (optimizeLevel >= 3 || shrinkLevel >= 1) {\n passes.push(\"dce\");\n }\n passes.push(\"remove-unused-brs\");\n passes.push(\"remove-unused-names\");\n if (optimizeLevel >= 3 || shrinkLevel >= 2) {\n passes.push(\"inlining\");\n passes.push(\"precompute-propagate\");\n passes.push(\"simplify-globals-optimizing\");\n } else {\n passes.push(\"precompute\");\n }\n if (optimizeLevel >= 2 || shrinkLevel >= 1) {\n passes.push(\"pick-load-signs\");\n }\n passes.push(\"simplify-locals-notee-nostructure\");\n passes.push(\"vacuum\");\n if (optimizeLevel >= 2 || shrinkLevel >= 1) {\n passes.push(\"local-cse\");\n }\n passes.push(\"reorder-locals\");\n passes.push(\"coalesce-locals\");\n passes.push(\"simplify-locals\");\n passes.push(\"coalesce-locals\");\n passes.push(\"reorder-locals\");\n passes.push(\"vacuum\");\n if (optimizeLevel >= 2 || shrinkLevel >= 1) {\n passes.push(\"rse\");\n passes.push(\"vacuum\");\n }\n if (optimizeLevel >= 3 || shrinkLevel >= 1) {\n passes.push(\"merge-locals\");\n passes.push(\"vacuum\");\n }\n if (optimizeLevel >= 2 || shrinkLevel >= 1) {\n passes.push(\"simplify-globals-optimizing\");\n passes.push(\"simplify-globals-optimizing\");\n }\n passes.push(\"remove-unused-brs\");\n passes.push(\"remove-unused-names\");\n passes.push(\"merge-blocks\");\n if (optimizeLevel >= 3) {\n passes.push(\"optimize-instructions\");\n }\n\n // --- PassRunner::addDefaultGlobalOptimizationPostPasses ---\n\n if (optimizeLevel >= 2 || shrinkLevel >= 1) {\n passes.push(\"simplify-globals-optimizing\");\n passes.push(\"dae-optimizing\");\n }\n if (optimizeLevel >= 2 || shrinkLevel >= 2) {\n passes.push(\"inlining-optimizing\");\n }\n if (this.getLowMemoryUnused()) {\n if (optimizeLevel >= 3 || shrinkLevel >= 1) {\n passes.push(\"optimize-added-constants-propagate\");\n } else {\n passes.push(\"optimize-added-constants\");\n }\n }\n passes.push(\"duplicate-import-elimination\");\n if (optimizeLevel >= 2 || shrinkLevel >= 2) {\n passes.push(\"simplify-globals-optimizing\");\n } else {\n passes.push(\"simplify-globals\");\n passes.push(\"vacuum\");\n }\n if (optimizeLevel >= 2 && (this.getFeatures() & FeatureFlags.GC) != 0) {\n passes.push(\"heap2local\");\n passes.push(\"merge-locals\");\n passes.push(\"local-subtyping\");\n }\n // precompute works best after global optimizations\n if (optimizeLevel >= 2 || shrinkLevel >= 1) {\n passes.push(\"precompute-propagate\");\n passes.push(\"simplify-globals-optimizing\");\n passes.push(\"simplify-globals-optimizing\");\n } else {\n passes.push(\"precompute\");\n }\n passes.push(\"directize\"); // replace indirect with direct calls\n passes.push(\"dae-optimizing\"); // reduce arity\n passes.push(\"inlining-optimizing\"); // and inline if possible\n if (optimizeLevel >= 2 || shrinkLevel >= 1) {\n passes.push(\"code-folding\");\n passes.push(\"ssa-nomerge\");\n passes.push(\"rse\");\n // move code on early return (after CFG cleanup)\n passes.push(\"code-pushing\");\n if (optimizeLevel >= 3) {\n // very expensive, so O3 only\n passes.push(\"simplify-globals\");\n passes.push(\"vacuum\");\n\n passes.push(\"precompute-propagate\");\n\n // replace indirect with direct calls again and inline\n passes.push(\"inlining-optimizing\");\n passes.push(\"directize\");\n passes.push(\"dae-optimizing\");\n passes.push(\"local-cse\");\n\n passes.push(\"merge-locals\");\n passes.push(\"coalesce-locals\");\n passes.push(\"simplify-locals\");\n passes.push(\"vacuum\");\n\n passes.push(\"inlining\");\n passes.push(\"precompute-propagate\");\n passes.push(\"rse\");\n passes.push(\"vacuum\");\n passes.push(\"ssa-nomerge\");\n passes.push(\"simplify-locals\");\n passes.push(\"coalesce-locals\");\n }\n passes.push(\"optimize-instructions\");\n passes.push(\"remove-unused-brs\");\n passes.push(\"remove-unused-names\");\n passes.push(\"merge-blocks\");\n passes.push(\"vacuum\");\n\n passes.push(\"simplify-globals-optimizing\");\n passes.push(\"reorder-globals\");\n passes.push(\"remove-unused-brs\");\n passes.push(\"optimize-instructions\");\n }\n // clean up\n passes.push(\"duplicate-function-elimination\");\n if (shrinkLevel >= 2) {\n passes.push(\"merge-similar-functions\");\n }\n passes.push(\"memory-packing\");\n passes.push(\"remove-unused-module-elements\");\n\n this.runPasses(passes);\n }\n }\n\n validate(): bool {\n return binaryen._BinaryenModuleValidate(this.ref) == 1;\n }\n\n interpret(): void {\n binaryen._BinaryenModuleInterpret(this.ref);\n }\n\n toBinary(sourceMapUrl: string | null = null): BinaryModule {\n assert(\n binaryen._BinaryenSizeofLiteral() >=\n binaryen._BinaryenSizeofAllocateAndWriteResult()\n );\n\n // now safely reuse lit buffer for BinaryenModuleAllocateAndWriteResult\n let resPtr = this.lit;\n let urlPtr = allocString(sourceMapUrl);\n\n binaryen._BinaryenModuleAllocateAndWrite(resPtr, this.ref, urlPtr);\n\n // read BinaryenModuleAllocateAndWriteResult struct\n let binaryPtr = binaryen.__i32_load(resPtr + 0) as usize; // non-nullabe\n let binaryLen = binaryen.__i32_load(resPtr + 4);\n let srcMapPtr = binaryen.__i32_load(resPtr + 8) as usize; // nullable\n\n let binary = new BinaryModule(\n readBuffer(assert(binaryPtr), binaryLen),\n readString(srcMapPtr)\n );\n\n if (urlPtr) binaryen._free(urlPtr);\n if (srcMapPtr) binaryen._free(srcMapPtr);\n binaryen._free(binaryPtr);\n\n return binary;\n }\n\n toText(watFormat: bool = true): string {\n let textPtr = watFormat\n ? binaryen._BinaryenModuleAllocateAndWriteStackIR(this.ref, true)\n : binaryen._BinaryenModuleAllocateAndWriteText(this.ref);\n let text = readString(textPtr);\n if (textPtr) binaryen._free(textPtr);\n return text || \"\";\n }\n\n private cachedStringsToPointers: Map = new Map();\n private cachedPointersToStrings: Map = new Map();\n\n allocStringCached(str: string | null): usize {\n if (str == null) return 0;\n let cached = this.cachedStringsToPointers;\n if (cached.has(str)) return changetype(cached.get(str));\n let ptr = allocString(str);\n cached.set(str, ptr);\n return ptr;\n }\n\n readStringCached(ptr: usize): string | null {\n // Binaryen internalizes names, so using this method where it's safe can\n // avoid quite a bit of unnecessary garbage.\n if (ptr == 0) return null;\n let cached = this.cachedPointersToStrings;\n if (cached.has(ptr)) return changetype(cached.get(ptr));\n let str = readString(ptr);\n cached.set(ptr, str);\n return str;\n }\n\n dispose(): void {\n assert(this.ref);\n // TODO: for (let ptr of this.cachedStrings.values()) {\n for (let _values = Map_values(this.cachedStringsToPointers), i = 0, k = _values.length; i < k; ++i) {\n let ptr = unchecked(_values[i]);\n binaryen._free(ptr);\n }\n this.cachedStringsToPointers.clear();\n this.cachedPointersToStrings.clear();\n binaryen._free(this.lit);\n binaryen._BinaryenModuleDispose(this.ref);\n this.ref = 0;\n }\n\n createRelooper(): Relooper {\n return Relooper.create(this);\n }\n\n /** Makes a copy of a trivial expression (doesn't contain subexpressions). Returns `0` if non-trivial. */\n tryCopyTrivialExpression(expr: ExpressionRef): ExpressionRef {\n switch (binaryen._BinaryenExpressionGetId(expr)) {\n case ExpressionId.LocalGet:\n case ExpressionId.GlobalGet:\n case ExpressionId.Const:\n case ExpressionId.MemorySize:\n case ExpressionId.Nop:\n case ExpressionId.Unreachable:\n case ExpressionId.DataDrop:\n case ExpressionId.RefNull: return this.copyExpression(expr);\n }\n return 0;\n }\n\n /** Makes a copy of any expression including all subexpressions. */\n copyExpression(expr: ExpressionRef): ExpressionRef {\n // TODO: Copy debug location as well (needs Binaryen support)\n return binaryen._BinaryenExpressionCopy(expr, this.ref);\n }\n\n runExpression(\n expr: ExpressionRef,\n flags: ExpressionRunnerFlags,\n maxDepth: i32 = 50,\n maxLoopIterations: i32 = 1\n ): ExpressionRef {\n let runner = binaryen._ExpressionRunnerCreate(this.ref, flags, maxDepth, maxLoopIterations);\n let precomp = binaryen._ExpressionRunnerRunAndDispose(runner, expr);\n if (precomp) {\n if (!this.isConstExpression(precomp)) return 0;\n assert(getExpressionType(precomp) == getExpressionType(expr));\n }\n return precomp;\n }\n\n isConstExpression(expr: ExpressionRef): bool {\n switch (getExpressionId(expr)) {\n case ExpressionId.Const:\n case ExpressionId.RefNull:\n case ExpressionId.RefFunc:\n case ExpressionId.RefI31: return true;\n case ExpressionId.Binary: {\n if (this.getFeatures() & FeatureFlags.ExtendedConst) {\n switch (getBinaryOp(expr)) {\n case BinaryOp.AddI32:\n case BinaryOp.SubI32:\n case BinaryOp.MulI32:\n case BinaryOp.AddI64:\n case BinaryOp.SubI64:\n case BinaryOp.MulI64:\n return (\n this.isConstExpression(getBinaryLeft(expr)) &&\n this.isConstExpression(getBinaryRight(expr))\n );\n }\n }\n break;\n }\n }\n return false;\n }\n\n // source map generation\n\n addDebugInfoFile(name: string): Index {\n let cStr = allocString(name);\n let ret = binaryen._BinaryenModuleAddDebugInfoFileName(this.ref, cStr);\n binaryen._free(cStr);\n return ret;\n }\n\n getDebugInfoFile(index: Index): string | null {\n return readString(binaryen._BinaryenModuleGetDebugInfoFileName(this.ref, index));\n }\n\n setDebugLocation(\n func: FunctionRef,\n expr: ExpressionRef,\n fileIndex: Index,\n lineNumber: Index,\n columnNumber: Index\n ): void {\n binaryen._BinaryenFunctionSetDebugLocation(func, expr, fileIndex, lineNumber, columnNumber);\n }\n}\n\n// types\n\nexport function createType(types: TypeRef[] | null): TypeRef {\n if (!types) return TypeRef.None;\n switch (types.length) {\n case 0: return TypeRef.None;\n case 1: return types[0];\n }\n let cArr = allocPtrArray(types);\n let ret = binaryen._BinaryenTypeCreate(cArr, types.length);\n binaryen._free(cArr);\n return ret;\n}\n\nexport function expandType(type: TypeRef): TypeRef[] {\n let arity = binaryen._BinaryenTypeArity(type);\n let cArr = binaryen._malloc(arity << 2);\n binaryen._BinaryenTypeExpand(type, cArr);\n let types = new Array(arity);\n for (let i: u32 = 0; i < arity; ++i) {\n unchecked(types[i] = binaryen.__i32_load(cArr + (i << 2)));\n }\n binaryen._free(cArr);\n return types;\n}\n\nexport function isNullableType(type: TypeRef): bool {\n return binaryen._BinaryenTypeIsNullable(type);\n}\n\n// expressions\n\nexport function getExpressionId(expr: ExpressionRef): ExpressionId {\n return binaryen._BinaryenExpressionGetId(expr);\n}\n\nexport function getExpressionType(expr: ExpressionRef): TypeRef {\n return binaryen._BinaryenExpressionGetType(expr);\n}\n\nexport function getConstValueI32(expr: ExpressionRef): i32 {\n return binaryen._BinaryenConstGetValueI32(expr);\n}\n\nexport function getConstValueI64Low(expr: ExpressionRef): i32 {\n return binaryen._BinaryenConstGetValueI64Low(expr);\n}\n\nexport function getConstValueI64High(expr: ExpressionRef): i32 {\n return binaryen._BinaryenConstGetValueI64High(expr);\n}\n\nexport function getConstValueF32(expr: ExpressionRef): f32 {\n return binaryen._BinaryenConstGetValueF32(expr);\n}\n\nexport function getConstValueF64(expr: ExpressionRef): f64 {\n return binaryen._BinaryenConstGetValueF64(expr);\n}\n\nexport function getConstValueV128(expr: ExpressionRef): Uint8Array {\n let cArr = binaryen._malloc(16);\n binaryen._BinaryenConstGetValueV128(expr, cArr);\n let out = new Uint8Array(16);\n for (let i = 0; i < 16; ++i) {\n out[i] = binaryen.__i32_load8_u(cArr + i);\n }\n binaryen._free(cArr);\n return out;\n}\n\nexport function isConstZero(expr: ExpressionRef): bool {\n if (getExpressionId(expr) != ExpressionId.Const) return false;\n let type = getExpressionType(expr);\n if (type == TypeRef.I32) return getConstValueI32(expr) == 0;\n if (type == TypeRef.I64) return (getConstValueI64Low(expr) | getConstValueI64High(expr)) == 0;\n if (type == TypeRef.F32) return getConstValueF32(expr) == 0;\n if (type == TypeRef.F64) return getConstValueF64(expr) == 0;\n return false;\n}\n\nexport function isConstNonZero(expr: ExpressionRef): bool {\n if (getExpressionId(expr) != ExpressionId.Const) return false;\n let type = getExpressionType(expr);\n if (type == TypeRef.I32) return getConstValueI32(expr) != 0;\n if (type == TypeRef.I64) return (getConstValueI64Low(expr) | getConstValueI64High(expr)) != 0;\n if (type == TypeRef.F32) return getConstValueF32(expr) != 0;\n if (type == TypeRef.F64) return getConstValueF64(expr) != 0;\n return false;\n}\n\nexport function isConstNegZero(expr: ExpressionRef): bool {\n if (getExpressionId(expr) != ExpressionId.Const) return false;\n let type = getExpressionType(expr);\n if (type == TypeRef.F32) {\n let d = getConstValueF32(expr);\n return d == 0 && f32_as_i32(d) < 0;\n }\n if (type == TypeRef.F64) {\n let d = getConstValueF64(expr);\n return d == 0 && i64_signbit(f64_as_i64(d));\n }\n return false;\n}\n\nexport function isConstNaN(expr: ExpressionRef): bool {\n if (getExpressionId(expr) != ExpressionId.Const) return false;\n let type = getExpressionType(expr);\n if (type == TypeRef.F32) return isNaN(getConstValueF32(expr));\n if (type == TypeRef.F64) return isNaN(getConstValueF64(expr));\n return false;\n}\n\nexport function isConstExpressionNaN(module: Module, expr: ExpressionRef): bool {\n let id = getExpressionId(expr);\n let type = getExpressionType(expr);\n if (type == TypeRef.F32 || type == TypeRef.F64) {\n if (id == ExpressionId.Const) {\n return isNaN(\n type == TypeRef.F32\n ? getConstValueF32(expr)\n : getConstValueF64(expr)\n );\n } else if (id == ExpressionId.GlobalGet) {\n let precomp = module.runExpression(expr, ExpressionRunnerFlags.Default, 8);\n if (precomp) {\n return isNaN(\n type == TypeRef.F32\n ? getConstValueF32(precomp)\n : getConstValueF64(precomp)\n );\n }\n }\n }\n return false;\n}\n\nexport function getLocalGetIndex(expr: ExpressionRef): Index {\n return binaryen._BinaryenLocalGetGetIndex(expr);\n}\n\nexport function getLocalSetIndex(expr: ExpressionRef): Index {\n return binaryen._BinaryenLocalSetGetIndex(expr);\n}\n\nexport function getLocalSetValue(expr: ExpressionRef): ExpressionRef {\n return binaryen._BinaryenLocalSetGetValue(expr);\n}\n\nexport function isLocalTee(expr: ExpressionRef): bool {\n return binaryen._BinaryenLocalSetIsTee(expr);\n}\n\nexport function getGlobalGetName(expr: ExpressionRef): string | null {\n return readString(binaryen._BinaryenGlobalGetGetName(expr));\n}\n\nexport function getBinaryOp(expr: ExpressionRef): BinaryOp {\n return binaryen._BinaryenBinaryGetOp(expr);\n}\n\nexport function getBinaryLeft(expr: ExpressionRef): ExpressionRef {\n return binaryen._BinaryenBinaryGetLeft(expr);\n}\n\nexport function getBinaryRight(expr: ExpressionRef): ExpressionRef {\n return binaryen._BinaryenBinaryGetRight(expr);\n}\n\nexport function getUnaryOp(expr: ExpressionRef): UnaryOp {\n return binaryen._BinaryenUnaryGetOp(expr);\n}\n\nexport function getUnaryValue(expr: ExpressionRef): ExpressionRef {\n return binaryen._BinaryenUnaryGetValue(expr);\n}\n\nexport function getLoadBytes(expr: ExpressionRef): u32 {\n return binaryen._BinaryenLoadGetBytes(expr);\n}\n\nexport function getLoadOffset(expr: ExpressionRef): u32 {\n return binaryen._BinaryenLoadGetOffset(expr);\n}\n\nexport function getLoadPtr(expr: ExpressionRef): ExpressionRef {\n return binaryen._BinaryenLoadGetPtr(expr);\n}\n\nexport function isLoadSigned(expr: ExpressionRef): bool {\n return binaryen._BinaryenLoadIsSigned(expr);\n}\n\nexport function getStoreBytes(expr: ExpressionRef): u32 {\n return binaryen._BinaryenStoreGetBytes(expr);\n}\n\nexport function getStoreOffset(expr: ExpressionRef): u32 {\n return binaryen._BinaryenStoreGetOffset(expr);\n}\n\nexport function getStorePtr(expr: ExpressionRef): ExpressionRef {\n return binaryen._BinaryenStoreGetPtr(expr);\n}\n\nexport function getStoreValue(expr: ExpressionRef): ExpressionRef {\n return binaryen._BinaryenStoreGetValue(expr);\n}\n\nexport function getBlockName(expr: ExpressionRef): string | null {\n return readString(binaryen._BinaryenBlockGetName(expr));\n}\n\nexport function getBlockChildCount(expr: ExpressionRef): Index {\n return binaryen._BinaryenBlockGetNumChildren(expr);\n}\n\nexport function getBlockChildAt(expr: ExpressionRef, index: Index): ExpressionRef {\n return binaryen._BinaryenBlockGetChildAt(expr, index);\n}\n\nexport function getIfCondition(expr: ExpressionRef): ExpressionRef {\n return binaryen._BinaryenIfGetCondition(expr);\n}\n\nexport function getIfTrue(expr: ExpressionRef): ExpressionRef {\n return binaryen._BinaryenIfGetIfTrue(expr);\n}\n\nexport function getIfFalse(expr: ExpressionRef): ExpressionRef {\n return binaryen._BinaryenIfGetIfFalse(expr);\n}\n\nexport function getLoopName(expr: ExpressionRef): string | null {\n return readString(binaryen._BinaryenLoopGetName(expr));\n}\n\nexport function getLoopBody(expr: ExpressionRef): ExpressionRef {\n return binaryen._BinaryenLoopGetBody(expr);\n}\n\nexport function getBreakName(expr: ExpressionRef): string | null {\n return readString(binaryen._BinaryenBreakGetName(expr));\n}\n\nexport function getBreakCondition(expr: ExpressionRef): ExpressionRef {\n return binaryen._BinaryenBreakGetCondition(expr);\n}\n\nexport function getSelectThen(expr: ExpressionRef): ExpressionRef {\n return binaryen._BinaryenSelectGetIfTrue(expr);\n}\n\nexport function getSelectElse(expr: ExpressionRef): ExpressionRef {\n return binaryen._BinaryenSelectGetIfFalse(expr);\n}\n\nexport function getSelectCondition(expr: ExpressionRef): ExpressionRef {\n return binaryen._BinaryenSelectGetCondition(expr);\n}\n\nexport function getDropValue(expr: ExpressionRef): ExpressionRef {\n return binaryen._BinaryenDropGetValue(expr);\n}\n\nexport function getReturnValue(expr: ExpressionRef): ExpressionRef {\n return binaryen._BinaryenReturnGetValue(expr);\n}\n\nexport function getCallTarget(expr: ExpressionRef): string | null {\n return readString(binaryen._BinaryenCallGetTarget(expr));\n}\n\nexport function getCallOperandCount(expr: ExpressionRef): i32 {\n return binaryen._BinaryenCallGetNumOperands(expr);\n}\n\nexport function getCallOperandAt(expr: ExpressionRef, index: Index): ExpressionRef {\n return binaryen._BinaryenCallGetOperandAt(expr, index);\n}\n\nexport function getMemoryGrowDelta(expr: ExpressionRef): ExpressionRef {\n return binaryen._BinaryenMemoryGrowGetDelta(expr);\n}\n\n// functions\n\nexport function getFunctionBody(func: FunctionRef): ExpressionRef {\n return binaryen._BinaryenFunctionGetBody(func);\n}\n\nexport function getFunctionName(func: FunctionRef): string | null {\n return readString(binaryen._BinaryenFunctionGetName(func));\n}\n\nexport function getFunctionParams(func: FunctionRef): TypeRef {\n return binaryen._BinaryenFunctionGetParams(func);\n}\n\nexport function getFunctionResults(func: FunctionRef): TypeRef {\n return binaryen._BinaryenFunctionGetResults(func);\n}\n\nexport function getFunctionVars(func: FunctionRef): TypeRef[] {\n let count = binaryen._BinaryenFunctionGetNumVars(func);\n let types = new Array(count);\n for (let i: Index = 0; i < count; ++i) {\n unchecked(types[i] = binaryen._BinaryenFunctionGetVar(func, i));\n }\n return types;\n}\n\n// globals\n\nexport function getGlobalName(global: GlobalRef): string | null {\n return readString(binaryen._BinaryenGlobalGetName(global));\n}\n\nexport function getGlobalType(global: GlobalRef): TypeRef {\n return binaryen._BinaryenGlobalGetType(global);\n}\n\nexport function isGlobalMutable(global: GlobalRef): bool {\n return binaryen._BinaryenGlobalIsMutable(global);\n}\n\nexport function getGlobalInit(global: GlobalRef): ExpressionRef {\n return binaryen._BinaryenGlobalGetInitExpr(global);\n}\n\n// tags\n\nexport function getTagName(tag: TagRef): string | null {\n return readString(binaryen._BinaryenTagGetName(tag));\n}\n\nexport function getTagParams(tag: TagRef): TypeRef {\n return binaryen._BinaryenTagGetParams(tag);\n}\n\nexport function getTagResults(tag: TagRef): TypeRef {\n return binaryen._BinaryenTagGetResults(tag);\n}\n\nexport class Relooper {\n constructor(\n /** Module this relooper belongs to. */\n public module: Module,\n /** Binaryen relooper reference. */\n public ref: RelooperRef\n ) {}\n\n static create(module: Module): Relooper {\n return new Relooper(module, binaryen._RelooperCreate(module.ref));\n }\n\n addBlock(code: ExpressionRef): RelooperBlockRef {\n return binaryen._RelooperAddBlock(this.ref, code);\n }\n\n addBranch(\n from: RelooperBlockRef,\n to: RelooperBlockRef,\n condition: ExpressionRef = 0,\n code: ExpressionRef = 0\n ): void {\n binaryen._RelooperAddBranch(from, to, condition, code);\n }\n\n addBlockWithSwitch(code: ExpressionRef, condition: ExpressionRef): RelooperBlockRef {\n return binaryen._RelooperAddBlockWithSwitch(this.ref, code, condition);\n }\n\n addBranchForSwitch(\n from: RelooperBlockRef,\n to: RelooperBlockRef,\n indexes: i32[],\n code: ExpressionRef = 0\n ): void {\n let cArr = allocI32Array(indexes);\n binaryen._RelooperAddBranchForSwitch(from, to, cArr, indexes.length, code);\n binaryen._free(cArr);\n }\n\n renderAndDispose(entry: RelooperBlockRef, labelHelper: Index): ExpressionRef {\n return binaryen._RelooperRenderAndDispose(this.ref, entry, labelHelper);\n }\n}\n\n/** Builds a switch using a sequence of `br_if`s. */\nexport class SwitchBuilder {\n // This is useful because Binaryen understands sequences of `br_if`s and\n // knows how to make a `br_table` from such a sequence if switched over\n // values are considered dense enough, respectively a size-efficient sequence\n // of `if`s if not, depending on optimization levels.\n\n private module: Module;\n private condition: ExpressionRef;\n private values: i32[] = new Array();\n private indexes: i32[] = new Array();\n private cases: ExpressionRef[][] = new Array();\n private defaultIndex: i32 = -1;\n\n /** Creates a new builder using the specified i32 condition. */\n constructor(module: Module, condition: ExpressionRef) {\n this.module = module;\n this.condition = condition;\n }\n\n /** Links a case to the specified branch, replace old case if it is linked. */\n addOrReplaceCase(value: i32, code: ExpressionRef[]): void {\n const valueIndex = this.values.indexOf(value);\n const codeIndex = this.addCode(code);\n if (valueIndex >= 0) {\n this.indexes[valueIndex] = codeIndex;\n } else {\n this.values.push(value);\n this.indexes.push(codeIndex);\n }\n }\n\n /** Links a case to the specified branch. */\n addCase(value: i32, code: ExpressionRef[]): void {\n this.values.push(value);\n this.indexes.push(this.addCode(code));\n }\n\n private addCode(code: ExpressionRef[]): i32 {\n let cases = this.cases;\n let index = cases.indexOf(code);\n if (index < 0) {\n index = cases.length;\n cases.push(code);\n }\n return index;\n }\n\n /** Links the default branch. */\n addDefault(code: ExpressionRef[]): void {\n assert(this.defaultIndex == -1);\n let cases = this.cases;\n this.defaultIndex = cases.length;\n cases.push(code);\n }\n\n /** Renders the switch to a block. */\n render(localIndex: i32, labelPostfix: string = \"\"): ExpressionRef {\n let module = this.module;\n let cases = this.cases;\n let numCases = cases.length;\n if (!numCases) {\n return module.drop(this.condition);\n }\n let values = this.values;\n let numValues = values.length;\n let indexes = this.indexes;\n let entry = new Array(1 + numValues + 1);\n let labels = new Array(numCases);\n for (let i = 0; i < numCases; ++i) {\n unchecked(labels[i] = `case${i}${labelPostfix}`);\n }\n entry[0] = module.local_set(localIndex, this.condition, false); // u32\n for (let i = 0; i < numValues; ++i) {\n let index = unchecked(indexes[i]);\n unchecked(entry[1 + i] = module.br(labels[index],\n module.binary(BinaryOp.EqI32,\n module.local_get(localIndex, TypeRef.I32),\n module.i32(values[i])\n )\n ));\n }\n let defaultIndex = this.defaultIndex;\n let defaultLabel = `default${labelPostfix}`;\n entry[1 + numValues] = module.br(\n ~defaultIndex\n ? labels[defaultIndex]\n : defaultLabel\n );\n let current = module.block(labels[0], entry);\n for (let i = 1; i < numCases; ++i) {\n let block = cases[i - 1];\n block.unshift(current);\n current = module.block(unchecked(labels[i]), block);\n }\n let lastCase = cases[numCases - 1];\n lastCase.unshift(current);\n return module.block(\n ~defaultIndex\n ? null\n : defaultLabel,\n lastCase\n );\n }\n}\n\nexport const enum SideEffects {\n None = 0 /* _BinaryenSideEffectNone */,\n Branches = 1 /* _BinaryenSideEffectBranches */,\n Calls = 2 /* _BinaryenSideEffectCalls */,\n ReadsLocal = 4 /* _BinaryenSideEffectReadsLocal */,\n WritesLocal = 8 /* _BinaryenSideEffectWritesLocal */,\n ReadsGlobal = 16 /* _BinaryenSideEffectReadsGlobal */,\n WritesGlobal = 32 /* _BinaryenSideEffectWritesGlobal */,\n ReadsMemory = 64 /* _BinaryenSideEffectReadsMemory */,\n WritesMemory = 128 /* _BinaryenSideEffectWritesMemory */,\n ReadsTable = 256 /* _BinaryenSideEffectReadsTable */,\n WritesTable = 512 /* _BinaryenSideEffectWritesTable */,\n ImplicitTrap = 1024 /* _BinaryenSideEffectImplicitTrap */,\n IsAtomic = 2048 /* _BinaryenSideEffectIsAtomic */,\n Throws = 4096 /* _BinaryenSideEffectThrows */,\n DanglingPop = 8192 /* _BinaryenSideEffectDanglingPop */,\n TrapsNeverHappen = 16384 /* _BinaryenSideEffectTrapsNeverHappen */,\n Any = 32767 /* _BinaryenSideEffectAny */\n}\n\nexport function getSideEffects(expr: ExpressionRef, module: ModuleRef): SideEffects {\n return binaryen._BinaryenExpressionGetSideEffects(expr, module);\n}\n\nexport function mustPreserveSideEffects(expr: ExpressionRef, module: ModuleRef): bool {\n return (getSideEffects(expr, module) & ~(SideEffects.ReadsLocal | SideEffects.ReadsGlobal)) != SideEffects.None;\n}\n\n// helpers\n// can't do stack allocation here: STACKTOP is a global in WASM but a hidden variable in asm.js\n\nfunction allocU8Array(u8s: Uint8Array | null): usize {\n if (!u8s) return 0;\n let len = u8s.length;\n let ptr = binaryen._malloc(len);\n for (let i = 0; i < len; ++i) {\n binaryen.__i32_store8(ptr + i, unchecked(u8s[i]));\n }\n return ptr;\n}\n\nfunction allocI32Array(i32s: i32[] | null): usize {\n if (!i32s) return 0;\n let len = i32s.length;\n let ptr = binaryen._malloc(len << 2);\n let idx = ptr;\n for (let i = 0; i < len; ++i) {\n let val = unchecked(i32s[i]);\n binaryen.__i32_store(idx, val);\n idx += 4;\n }\n return ptr;\n}\n\nfunction allocU32Array(u32s: u32[] | null): usize {\n if (!u32s) return 0;\n let len = u32s.length;\n let ptr = binaryen._malloc(len << 2);\n let idx = ptr;\n for (let i = 0; i < len; ++i) {\n let val = unchecked(u32s[i]);\n binaryen.__i32_store(idx, val);\n idx += 4;\n }\n return ptr;\n}\n\nexport function allocPtrArray(ptrs: usize[] | null): usize {\n if (!ptrs) return 0;\n // TODO: WASM64\n assert(ASC_TARGET != Target.Wasm64);\n let len = ptrs.length;\n let ptr = binaryen._malloc(len << 2);\n let idx = ptr;\n for (let i = 0, k = len; i < k; ++i) {\n let val = unchecked(ptrs[i]);\n binaryen.__i32_store(idx, val);\n idx += 4;\n }\n return ptr;\n}\n\nfunction stringLengthUTF8(str: string): usize {\n let len = 0;\n for (let i = 0, k = str.length; i < k; ++i) {\n let c1 = str.charCodeAt(i) >>> 0;\n if (c1 <= 0x7F) {\n len += 1;\n } else if (c1 <= 0x7FF) {\n len += 2;\n } else if (\n isHighSurrogate(c1) && i + 1 < k &&\n isLowSurrogate(str.charCodeAt(i + 1))\n ) {\n i++;\n len += 4;\n } else {\n len += 3;\n }\n }\n return len;\n}\n\nfunction allocString(str: string | null): usize {\n if (str == null) return 0;\n let len = stringLengthUTF8(str);\n let ptr = binaryen._malloc(len + 1) >>> 0;\n let idx = ptr;\n if (len == str.length) {\n // fast path when all chars are ascii\n for (let i = 0, k = str.length; i < k; ++i) {\n let u = str.charCodeAt(i) >>> 0;\n binaryen.__i32_store8(idx++, u as u8);\n }\n } else {\n for (let i = 0, k = str.length; i < k; ++i) {\n let c1 = str.charCodeAt(i) >>> 0, c2: i32;\n if (c1 <= 0x7F) {\n binaryen.__i32_store8(idx++, c1 as u8);\n } else if (c1 <= 0x7FF) {\n binaryen.__i32_store8(idx++, (0xC0 | (c1 >>> 6) ) as u8);\n binaryen.__i32_store8(idx++, (0x80 | ( c1 & 63)) as u8);\n } else if (\n isHighSurrogate(c1) && i + 1 < k &&\n isLowSurrogate(c2 = str.charCodeAt(i + 1))\n ) {\n c1 = combineSurrogates(c1, c2);\n ++i;\n binaryen.__i32_store8(idx++, (0xF0 | (c1 >>> 18) ) as u8);\n binaryen.__i32_store8(idx++, (0x80 | ((c1 >>> 12) & 63)) as u8);\n binaryen.__i32_store8(idx++, (0x80 | ((c1 >>> 6) & 63)) as u8);\n binaryen.__i32_store8(idx++, (0x80 | ( c1 & 63)) as u8);\n } else {\n binaryen.__i32_store8(idx++, (0xE0 | (c1 >>> 12) ) as u8);\n binaryen.__i32_store8(idx++, (0x80 | ((c1 >>> 6) & 63)) as u8);\n binaryen.__i32_store8(idx++, (0x80 | ( c1 & 63)) as u8);\n }\n }\n }\n binaryen.__i32_store8(idx, 0); // \\0\n return ptr;\n}\n\nfunction readBuffer(ptr: usize, len: i32): Uint8Array {\n let ret = new Uint8Array(len);\n for (let i = 0; i < len; ++i) {\n unchecked(ret[i] = binaryen.__i32_load8_u(ptr + i));\n }\n return ret;\n}\n\nexport function readString(ptr: usize): string | null {\n if (!ptr) return null;\n let arr = new Array();\n // the following is based on Emscripten's UTF8ArrayToString\n let cp: u32;\n let u1: u32, u2: u32, u3: u32;\n while (cp = binaryen.__i32_load8_u(ptr++)) {\n if (!(cp & 0x80)) {\n arr.push(cp);\n continue;\n }\n u1 = binaryen.__i32_load8_u(ptr++) & 63;\n if ((cp & 0xE0) == 0xC0) {\n arr.push(((cp & 31) << 6) | u1);\n continue;\n }\n u2 = binaryen.__i32_load8_u(ptr++) & 63;\n if ((cp & 0xF0) == 0xE0) {\n cp = ((cp & 15) << 12) | (u1 << 6) | u2;\n } else {\n u3 = binaryen.__i32_load8_u(ptr++) & 63;\n if ((cp & 0xF8) == 0xF0) {\n cp = ((cp & 7) << 18) | (u1 << 12) | (u2 << 6) | u3;\n } else {\n assert(false, \"Invalid UTF8 sequence during readString\");\n }\n }\n if (cp < 0x10000) {\n arr.push(cp);\n } else {\n let ch = cp - 0x10000;\n arr.push(SURROGATE_HIGH | (ch >>> 10));\n arr.push(SURROGATE_LOW | (ch & 0x3FF));\n }\n }\n // TODO: implement and use String.fromCodePoints\n return String.fromCharCodes(arr);\n}\n\n/** Result structure of {@link Module#toBinary}. */\nexport class BinaryModule {\n constructor(\n /** WebAssembly binary. */\n public output: Uint8Array,\n /** Source map, if generated. */\n public sourceMap: string | null\n ) {}\n}\n\n// TypeBuilder\n\nconst DEBUG_TYPEBUILDER = false;\n\n/** Ensures that the given potentially complex type has a corresponding GC type. */\nexport function ensureType(type: Type): TypeRef {\n // Obtain basic type if applicable\n if (type == Type.void) return TypeRef.None;\n let typeRef = tryEnsureBasicType(type);\n if (typeRef) return typeRef;\n\n // From here on we are dealing with heap types independent of nullability.\n // Nullability is applied again when returning the final type.\n let originalType = type;\n type = type.nonNullableType;\n\n // Obtain cached type if already built. Guaranteed to be not a temp type.\n if (typeRef = type.ref) {\n return binaryen._BinaryenTypeFromHeapType(\n binaryen._BinaryenTypeGetHeapType(typeRef),\n originalType.is(TypeFlags.Nullable) // apply nullability\n );\n }\n\n // Otherwise use a type builder\n if (ASC_TARGET) {\n // @ts-ignore: Wasm only\n assert(sizeof() == 4); // ABI code below assumes 32-bit pointers\n }\n let builder = binaryen._TypeBuilderCreate(0);\n let seen = new Map();\n prepareType(builder, seen, type); // drop temp return\n let size = binaryen._TypeBuilderGetSize(builder);\n let out = binaryen._malloc(max(4 * size, 8)); // either each heap type or index + reason\n if (!binaryen._TypeBuilderBuildAndDispose(builder, out, out, out + 4)) {\n let errorIndex = binaryen.__i32_load(out);\n let errorReason = binaryen.__i32_load(out + 4);\n binaryen._free(out);\n throw new Error(`type builder error at index ${errorIndex}: ${TypeBuilderErrorReason.toString(errorReason)}`);\n }\n\n // Assign all the built types to their respective non-nullable type\n for (let _keys = Map_keys(seen), i = 0, k = _keys.length; i < k; ++i) {\n let seenType = _keys[i];\n assert(!seenType.is(TypeFlags.Nullable)); // non-nullable only\n let heapType = binaryen.__i32_load(out + 4 * i);\n let fullType = binaryen._BinaryenTypeFromHeapType(heapType, false);\n assert(!seenType.ref);\n seenType.ref = fullType;\n if (DEBUG_TYPEBUILDER) {\n console.log(` set ${seenType.toString()}`);\n }\n let classInstance = seenType.getClass();\n if (classInstance) {\n let module = classInstance.program.module;\n binaryen._BinaryenModuleSetTypeName(module.ref, heapType, module.allocStringCached(classInstance.internalName));\n let members = classInstance.members;\n if (members) {\n let numFieldsInType = binaryen._BinaryenStructTypeGetNumFields(heapType);\n let numFieldsInClass = 0;\n for (let _values = Map_values(members), i = 0, k = _values.length; i < k; ++i) {\n let member = _values[i];\n if (member.kind != ElementKind.PropertyPrototype) continue;\n // only interested in fields (resolved during class finalization)\n let property = (member).instance;\n if (!property || !property.isField) continue;\n binaryen._BinaryenModuleSetFieldName(module.ref, heapType, numFieldsInClass++, module.allocStringCached(property.name));\n }\n assert(numFieldsInType == numFieldsInClass);\n }\n }\n }\n binaryen._free(out);\n\n // Initial type should now exist in its non-nullable variant\n if (DEBUG_TYPEBUILDER) {\n console.log(` finalize ${type.toString()}`);\n }\n typeRef = assert(type.ref);\n return binaryen._BinaryenTypeFromHeapType(\n binaryen._BinaryenTypeGetHeapType(typeRef),\n originalType.is(TypeFlags.Nullable) // apply nullability\n );\n}\n\n/** Obtains the basic type of the given type, if any. */\nfunction tryEnsureBasicType(type: Type): TypeRef {\n switch (type.kind) {\n case TypeKind.Bool:\n case TypeKind.I8:\n case TypeKind.U8:\n case TypeKind.I16:\n case TypeKind.U16:\n case TypeKind.I32:\n case TypeKind.U32: return TypeRef.I32;\n case TypeKind.I64:\n case TypeKind.U64: return TypeRef.I64;\n case TypeKind.Isize:\n case TypeKind.Usize: {\n if (type.isInternalReference) break; // non-basic\n return type.size == 64 ? TypeRef.I64 : TypeRef.I32;\n }\n case TypeKind.F32: return TypeRef.F32;\n case TypeKind.F64: return TypeRef.F64;\n case TypeKind.V128: return TypeRef.V128;\n case TypeKind.Func: {\n return binaryen._BinaryenTypeFromHeapType(HeapTypeRef.Func, type.is(TypeFlags.Nullable));\n }\n case TypeKind.Extern: {\n return binaryen._BinaryenTypeFromHeapType(HeapTypeRef.Extern, type.is(TypeFlags.Nullable));\n }\n case TypeKind.Any: {\n return binaryen._BinaryenTypeFromHeapType(HeapTypeRef.Any, type.is(TypeFlags.Nullable));\n }\n case TypeKind.Eq: {\n return binaryen._BinaryenTypeFromHeapType(HeapTypeRef.Eq, type.is(TypeFlags.Nullable));\n }\n case TypeKind.Struct: {\n return binaryen._BinaryenTypeFromHeapType(HeapTypeRef.Struct, type.is(TypeFlags.Nullable));\n }\n case TypeKind.Array: {\n return binaryen._BinaryenTypeFromHeapType(HeapTypeRef.Array, type.is(TypeFlags.Nullable));\n }\n case TypeKind.I31: {\n return binaryen._BinaryenTypeFromHeapType(HeapTypeRef.I31, type.is(TypeFlags.Nullable));\n }\n case TypeKind.String: {\n return binaryen._BinaryenTypeFromHeapType(HeapTypeRef.String, type.is(TypeFlags.Nullable));\n }\n case TypeKind.StringviewWTF8: {\n return binaryen._BinaryenTypeFromHeapType(HeapTypeRef.StringviewWTF8, type.is(TypeFlags.Nullable));\n }\n case TypeKind.StringviewWTF16: {\n return binaryen._BinaryenTypeFromHeapType(HeapTypeRef.StringviewWTF16, type.is(TypeFlags.Nullable));\n }\n case TypeKind.StringviewIter: {\n return binaryen._BinaryenTypeFromHeapType(HeapTypeRef.StringviewIter, type.is(TypeFlags.Nullable));\n }\n case TypeKind.Void: assert(false); // invalid here\n }\n return 0; // non-basic\n}\n\n/** Determines the packed GC type of the given type, if applicable. */\nfunction determinePackedType(type: Type): PackedType {\n switch (type.kind) {\n case TypeKind.Bool:\n case TypeKind.I8:\n case TypeKind.U8: return PackedType.I8;\n case TypeKind.I16:\n case TypeKind.U16: return PackedType.I16;\n }\n return PackedType.NotPacked;\n}\n\n/** Recursively prepares the given GC type, potentially returning a temporary type. */\nfunction prepareType(builder: binaryen.TypeBuilderRef, seen: Map, type: Type): TypeRef {\n // Obtain basic type if applicable\n if (type == Type.void) return TypeRef.None;\n let typeRef = tryEnsureBasicType(type);\n if (typeRef) return typeRef;\n\n assert(!type.is(TypeFlags.Nullable)); // operating on non-nullable types only\n\n // Reuse existing type\n if (typeRef = type.ref) return typeRef;\n\n // Reuse seen temporary type if it exists\n if (seen.has(type)) {\n if (DEBUG_TYPEBUILDER) {\n console.log(` prepare ${type.toString()} (seen)`);\n }\n return changetype(seen.get(type));\n }\n\n if (DEBUG_TYPEBUILDER) {\n console.log(`prepare ${type.toString()}`);\n }\n\n // Otherwise construct a new class type. Note that arrays are not supported, as these would\n // have to involve a Wasm-level `array`, either wrapped in `Array` or `Uint8Array` etc., or\n // directly representing an `ArrayBuffer` or `StaticArray`. TBD.\n let classReference = type.getClass();\n if (classReference) {\n // Make sure the base type has been built prior, at a lower index\n let base = classReference.base;\n let baseRef: HeapTypeRef = 0;\n if (base) baseRef = prepareType(builder, seen, base.type); // might be temporary, is non-nullable\n\n // Block this index with a temporary type and cache\n let index = binaryen._TypeBuilderGetSize(builder);\n binaryen._TypeBuilderGrow(builder, 1);\n if (DEBUG_TYPEBUILDER) {\n console.log(` block [${index}]: ${type.toString()}`);\n }\n let heapTypeRef = binaryen._TypeBuilderGetTempHeapType(builder, index);\n typeRef = binaryen._TypeBuilderGetTempRefType(builder, heapTypeRef, false);\n seen.set(type, typeRef);\n\n // Populate the struct type (TODO: names)\n let fieldTypes = new Array();\n let packedTypes = new Array();\n let fieldMutables = new Array();\n let members = classReference.members;\n if (members) {\n for (let _values = Map_values(members), i = 0, k = _values.length; i < k; ++i) {\n let member = _values[i];\n if (member.kind != ElementKind.PropertyPrototype) continue;\n // only interested in fields (resolved during class finalization)\n let property = (member).instance;\n if (!property || !property.isField) continue;\n let fieldType = property.type;\n if (DEBUG_TYPEBUILDER) {\n console.log(` field ${fieldType.toString()}`);\n }\n if (fieldType.is(TypeFlags.Nullable)) {\n fieldTypes.push(\n binaryen._TypeBuilderGetTempRefType(\n builder,\n binaryen._BinaryenTypeGetHeapType(\n prepareType(builder, seen, fieldType.nonNullableType)\n ),\n true\n )\n );\n } else {\n fieldTypes.push(prepareType(builder, seen, fieldType));\n }\n packedTypes.push(determinePackedType(fieldType));\n fieldMutables.push(1);\n }\n }\n let cArrFT = allocPtrArray(fieldTypes);\n let cArrPT = allocU32Array(packedTypes);\n let cArrFM = allocU32Array(fieldMutables);\n if (DEBUG_TYPEBUILDER) {\n console.log(` concretize [${index}]: ${type.toString()}`);\n }\n binaryen._TypeBuilderSetStructType(builder, index, cArrFT, cArrPT, cArrFM, fieldTypes.length);\n if (base) {\n if (DEBUG_TYPEBUILDER) {\n console.log(` set super [${index}]: ${type.toString()} <: ${base.type.toString()} ${baseRef == base.type.ref ? \" (known)\" : \"\"}`);\n }\n binaryen._TypeBuilderSetSubType(builder, index, binaryen._BinaryenTypeGetHeapType(baseRef));\n }\n binaryen._free(cArrFM);\n binaryen._free(cArrPT);\n binaryen._free(cArrFT);\n return typeRef;\n }\n\n // Respectively a new signature type\n let signatureReference = type.getSignature();\n if (signatureReference) {\n\n // Block this index with a temporary type and cache\n let index = binaryen._TypeBuilderGetSize(builder);\n binaryen._TypeBuilderGrow(builder, 1);\n let tempTypeRef = binaryen._TypeBuilderGetTempRefType(\n builder,\n binaryen._TypeBuilderGetTempHeapType(builder, index),\n false\n );\n seen.set(type, tempTypeRef);\n\n let paramTypes = new Array();\n let resultTypes = new Array();\n let parameterTypes = signatureReference.parameterTypes;\n for (let i = 0, k = parameterTypes.length; i < k; ++i) {\n let paramType = parameterTypes[i];\n if (paramType.is(TypeFlags.Nullable)) {\n paramTypes.push(\n binaryen._TypeBuilderGetTempRefType(\n builder,\n binaryen._BinaryenTypeGetHeapType(\n prepareType(builder, seen, paramType.nonNullableType)\n ),\n true\n )\n );\n } else {\n paramTypes.push(prepareType(builder, seen, paramType));\n }\n }\n let returnType = signatureReference.returnType;\n resultTypes.push(\n returnType == Type.void\n ? TypeRef.None\n : returnType.is(TypeFlags.Nullable)\n ? binaryen._TypeBuilderGetTempRefType(\n builder,\n binaryen._BinaryenTypeGetHeapType(\n prepareType(builder, seen, returnType.nonNullableType)\n ),\n true\n )\n : prepareType(builder, seen, returnType)\n );\n let tempParamType: TypeRef;\n if (paramTypes.length > 1) {\n let cArrPT = allocPtrArray(paramTypes);\n tempParamType = binaryen._TypeBuilderGetTempTupleType(builder, cArrPT, paramTypes.length);\n binaryen._free(cArrPT);\n } else {\n tempParamType = paramTypes.length ? paramTypes[0] : TypeRef.None;\n }\n let tempResultType: TypeRef;\n if (resultTypes.length > 1) {\n let cArrRT = allocPtrArray(resultTypes);\n tempResultType = binaryen._TypeBuilderGetTempTupleType(builder, cArrRT, resultTypes.length);\n binaryen._free(cArrRT);\n } else {\n tempResultType = resultTypes[0];\n }\n if (DEBUG_TYPEBUILDER) {\n console.log(` concretize [${index}]: ${type.toString()}`);\n }\n binaryen._TypeBuilderSetSignatureType(builder, index, tempParamType, tempResultType);\n return tempTypeRef;\n }\n\n throw new Error(`unexpected complex type: ${type.toString()}`);\n}\n", "/**\n * @fileoverview A concurrent code flow analyzer.\n *\n * Flows keep track of compilation state and can be queried for various\n * conditions, like whether the current branch always terminates, whether\n * a local is known to be non-null or whether an expression has possibly\n * overflown its value range.\n *\n * To accomplish this, compilation of each function begins with a clean\n * flow populated with initial local states etc. While compilation\n * progresses, statements and expressions update flow state while control\n * constructs fork, potentially add scoped locals and later merge these\n * forked branches as necessary.\n *\n * @license Apache-2.0\n */\n\nimport {\n Type,\n TypeFlags,\n TypeKind\n} from \"./types\";\n\nimport {\n Program,\n Local,\n Function,\n Element,\n ElementKind,\n Class,\n TypedElement,\n mangleInternalName,\n Property,\n PropertyPrototype,\n TypeDefinition\n} from \"./program\";\n\nimport {\n TypeRef,\n ExpressionId,\n ExpressionRef,\n BinaryOp,\n UnaryOp,\n\n getExpressionId,\n getLocalGetIndex,\n isLocalTee,\n getLocalSetValue,\n getGlobalGetName,\n getBinaryOp,\n getBinaryLeft,\n getConstValueI32,\n getBinaryRight,\n getUnaryOp,\n getExpressionType,\n getConstValueI64Low,\n getConstValueF32,\n getConstValueF64,\n getLoadBytes,\n isLoadSigned,\n getBlockName,\n getBlockChildCount,\n getBlockChildAt,\n getIfTrue,\n getIfFalse,\n getSelectThen,\n getSelectElse,\n getCallTarget,\n getLocalSetIndex,\n getIfCondition,\n getUnaryValue,\n getCallOperandAt,\n getCallOperandCount,\n isConstZero,\n isConstNonZero\n} from \"./module\";\n\nimport {\n CommonFlags\n} from \"./common\";\n\nimport {\n UncheckedBehavior\n} from \"./compiler\";\n\nimport {\n DiagnosticCode\n} from \"./diagnostics\";\n\nimport {\n Node\n} from \"./ast\";\n\nimport {\n cloneMap\n} from \"./util\";\n\nimport {\n BuiltinNames\n} from \"./builtins\";\n\n/** Control flow flags indicating specific conditions. */\nexport const enum FlowFlags {\n /** No specific conditions. */\n None = 0,\n\n // categorical\n\n /** This flow always returns. */\n Returns = 1 << 0,\n /** This flow always returns a wrapped value. */\n ReturnsWrapped = 1 << 1,\n /** This flow always returns a non-null value. */\n ReturnsNonNull = 1 << 2,\n /** This flow always throws. */\n Throws = 1 << 3,\n /** This flow always breaks. */\n Breaks = 1 << 4,\n /** This flow always continues. */\n Continues = 1 << 5,\n /** This flow always accesses `this`. Constructors only. */\n AccessesThis = 1 << 6,\n /** This flow always calls `super`. Constructors only. */\n CallsSuper = 1 << 7,\n /** This flow always terminates (returns, throws or continues). */\n Terminates = 1 << 8, // Note that this doesn't cover BREAKS, which is separate\n\n // conditional\n\n /** This flow conditionally returns in a child flow. */\n ConditionallyReturns = 1 << 9,\n /** This flow conditionally throws in a child flow. */\n ConditionallyThrows = 1 << 10,\n /** This flow conditionally breaks in a child flow. */\n ConditionallyBreaks = 1 << 11,\n /** This flow conditionally continues in a child flow. */\n ConditionallyContinues = 1 << 12,\n /** This flow conditionally accesses `this` in a child flow. Constructors only. */\n ConditionallyAccessesThis = 1 << 13,\n /** This flow may return a non-this value. Constructors only. */\n MayReturnNonThis = 1 << 14,\n\n // other\n\n /** This is a flow with explicitly disabled bounds checking. */\n UncheckedContext = 1 << 15,\n /** This is a flow compiling a constructor parameter. */\n CtorParamContext = 1 << 16,\n\n // masks\n\n /** Any categorical flag. */\n AnyCategorical = FlowFlags.Returns\n | FlowFlags.ReturnsWrapped\n | FlowFlags.ReturnsNonNull\n | FlowFlags.Throws\n | FlowFlags.Breaks\n | FlowFlags.Continues\n | FlowFlags.AccessesThis\n | FlowFlags.CallsSuper\n | FlowFlags.Terminates,\n\n /** Any conditional flag. */\n AnyConditional = FlowFlags.ConditionallyReturns\n | FlowFlags.ConditionallyThrows\n | FlowFlags.ConditionallyBreaks\n | FlowFlags.ConditionallyContinues\n | FlowFlags.ConditionallyAccessesThis\n}\n\n/** Flags indicating the current state of a local. */\nexport const enum LocalFlags {\n /** No specific conditions. */\n None = 0,\n\n /** Local is constant. */\n Constant = 1 << 0,\n /** Local is properly wrapped. Relevant for small integers. */\n Wrapped = 1 << 1,\n /** Local is non-null. */\n NonNull = 1 << 2,\n /** Local is initialized. */\n Initialized = 1 << 3\n}\n\n/** Flags indicating the current state of a field. */\nexport const enum FieldFlags {\n None = 0,\n Initialized = 1 << 0\n}\n\n/** Condition kinds. */\nexport const enum ConditionKind {\n /** Outcome of the condition is unknown */\n Unknown,\n /** Condition is always true. */\n True,\n /** Condition is always false. */\n False\n}\n\n/** A control flow evaluator. */\nexport class Flow {\n\n /** Creates the default top-level flow of the specified function. */\n static createDefault(targetFunction: Function): Flow {\n let flow = new Flow(targetFunction);\n if (targetFunction.is(CommonFlags.Constructor)) {\n flow.initThisFieldFlags();\n }\n if (targetFunction.program.options.uncheckedBehavior === UncheckedBehavior.Always) {\n flow.set(FlowFlags.UncheckedContext);\n }\n return flow;\n }\n\n /** Creates an inline flow, compiling `inlineFunction` into `targetFunction`. */\n static createInline(targetFunction: Function, inlineFunction: Function): Flow {\n // Note that `targetFunction` and `inlineFunction` can be the same function\n // when it is inlined into itself.\n let flow = new Flow(targetFunction, inlineFunction);\n flow.inlineReturnLabel = `${inlineFunction.internalName}|inlined.${(inlineFunction.nextInlineId++)}`;\n if (inlineFunction.is(CommonFlags.Constructor)) {\n flow.initThisFieldFlags();\n }\n if (targetFunction.program.options.uncheckedBehavior === UncheckedBehavior.Always) {\n flow.set(FlowFlags.UncheckedContext);\n }\n return flow;\n }\n\n private constructor(\n /** Target function this flow generates code into. */\n public targetFunction: Function,\n /** Inline function this flow generates code from, if any. */\n public inlineFunction: Function | null = null\n ) {\n // Setup is performed above so inline ids and field flags are not reset\n // when forking flows, which also uses the constructor.\n }\n\n /** Parent flow. */\n parent: Flow | null = null;\n /** Outer flow. Only relevant for first-class functions. */\n outer: Flow | null = null;\n /** Flow flags indicating specific conditions. */\n flags: FlowFlags = FlowFlags.None;\n /** The label we break to when encountering a continue statement. */\n continueLabel: string | null = null;\n /** The label we break to when encountering a break statement. */\n breakLabel: string | null = null;\n /** Scoped local variables. */\n scopedLocals: Map | null = null;\n /** Scoped type alias. */\n scopedTypeAlias: Map | null = null;\n /** Local flags. */\n localFlags: LocalFlags[] = [];\n /** Field flags on `this`. Constructors only. */\n thisFieldFlags: Map | null = null;\n /** The label we break to when encountering a return statement, when inlining. */\n inlineReturnLabel: string | null = null;\n /** Alternative flows if a compound expression is true-ish. */\n trueFlows: Map | null = null;\n /** Alternative flows if a compound expression is false-ish. */\n falseFlows: Map | null = null;\n\n /** Tests if this is an inline flow. */\n get isInline(): bool {\n return this.inlineFunction != null;\n }\n\n /** Gets the source function being compiled. Differs from target when inlining. */\n get sourceFunction(): Function {\n // Obtaining the source function is useful when resolving elements relative\n // to their source location. Note that the source function does not necessarily\n // materialize in the binary, as it might be inlined. Code, locals, etc. must\n // always be added to / maintained in the materializing target function instead.\n let inlineFunction = this.inlineFunction;\n if (inlineFunction) return inlineFunction;\n return this.targetFunction;\n }\n\n /** Gets the program this flow belongs to. */\n get program(): Program {\n return this.targetFunction.program;\n }\n\n /** Gets the current return type. */\n get returnType(): Type {\n return this.sourceFunction.signature.returnType;\n }\n\n /** Gets the current contextual type arguments. */\n get contextualTypeArguments(): Map | null {\n return this.sourceFunction.contextualTypeArguments;\n }\n\n /** Tests if this flow has the specified flag or flags. */\n is(flag: FlowFlags): bool { return (this.flags & flag) == flag; }\n /** Tests if this flow has one of the specified flags. */\n isAny(flag: FlowFlags): bool { return (this.flags & flag) != 0; }\n /** Sets the specified flag or flags. */\n set(flag: FlowFlags): void { this.flags |= flag; }\n /** Unsets the specified flag or flags. */\n unset(flag: FlowFlags): void { this.flags &= ~flag; }\n\n deriveConditionalFlags(): FlowFlags {\n let condiFlags = this.flags & FlowFlags.AnyConditional;\n if (this.is(FlowFlags.Returns)) {\n condiFlags |= FlowFlags.ConditionallyReturns;\n }\n if (this.is(FlowFlags.Throws)) {\n condiFlags |= FlowFlags.ConditionallyThrows;\n }\n if (this.is(FlowFlags.Breaks)) {\n condiFlags |= FlowFlags.ConditionallyBreaks;\n }\n if (this.is(FlowFlags.Continues)) {\n condiFlags |= FlowFlags.ConditionallyContinues;\n }\n if (this.is(FlowFlags.AccessesThis)) {\n condiFlags |= FlowFlags.ConditionallyAccessesThis;\n }\n return condiFlags;\n }\n\n /** Forks this flow to a child flow. */\n fork(\n /** Whether a new break context is established, e.g. by a block. */\n newBreakContext: bool = false,\n /** Whether a new continue context is established, e.g. by a loop. */\n newContinueContext: bool = newBreakContext\n ): Flow {\n let branch = new Flow(this.targetFunction, this.inlineFunction);\n branch.parent = this;\n branch.flags = this.flags;\n branch.outer = this.outer;\n if (newBreakContext) {\n branch.flags &= ~(\n FlowFlags.Breaks |\n FlowFlags.ConditionallyBreaks\n );\n } else {\n branch.breakLabel = this.breakLabel;\n }\n if (newContinueContext) {\n branch.flags &= ~(\n FlowFlags.Continues |\n FlowFlags.ConditionallyContinues\n );\n } else {\n branch.continueLabel = this.continueLabel;\n }\n branch.localFlags = this.localFlags.slice();\n if (this.sourceFunction.is(CommonFlags.Constructor)) {\n let thisFieldFlags = assert(this.thisFieldFlags);\n branch.thisFieldFlags = cloneMap(thisFieldFlags);\n } else {\n assert(!this.thisFieldFlags);\n }\n branch.inlineReturnLabel = this.inlineReturnLabel;\n return branch;\n }\n\n /** Forks this flow to a child flow where `condExpr` is true-ish. */\n forkThen(\n /** Condition that turned out to be true. */\n condExpr: ExpressionRef,\n /** Whether a new break context is established, e.g. by a block. */\n newBreakContext: bool = false,\n /** Whether a new continue context is established, e.g. by a loop. */\n newContinueContext: bool = newBreakContext\n ): Flow {\n let flow = this.fork(newBreakContext, newContinueContext);\n let trueFlows = this.trueFlows;\n if (trueFlows && trueFlows.has(condExpr)) {\n flow.inherit(changetype(trueFlows.get(condExpr)));\n }\n flow.inheritNonnullIfTrue(condExpr);\n return flow;\n }\n\n /** Remembers the alternative flow if `condExpr` turns out `true`. */\n noteThen(condExpr: ExpressionRef, trueFlow: Flow): void {\n let trueFlows = this.trueFlows;\n if (!trueFlows) this.trueFlows = trueFlows = new Map();\n trueFlows.set(condExpr, trueFlow);\n }\n\n /** Forks this flow to a child flow where `condExpr` is false-ish. */\n forkElse(\n /** Condition that turned out to be false. */\n condExpr: ExpressionRef\n ): Flow {\n let flow = this.fork();\n let falseFlows = this.falseFlows;\n if (falseFlows && falseFlows.has(condExpr)) {\n flow.inherit(changetype(falseFlows.get(condExpr)));\n }\n flow.inheritNonnullIfFalse(condExpr);\n return flow;\n }\n\n /** Remembers the alternative flow if `condExpr` turns out `false`. */\n noteElse(condExpr: ExpressionRef, falseFlow: Flow): void {\n let falseFlows = this.falseFlows;\n if (!falseFlows) this.falseFlows = falseFlows = new Map();\n falseFlows.set(condExpr, falseFlow);\n }\n\n addScopedTypeAlias(name: string, definition: TypeDefinition): void {\n let scopedTypeAlias = this.scopedTypeAlias;\n if (!scopedTypeAlias) this.scopedTypeAlias = scopedTypeAlias = new Map();\n scopedTypeAlias.set(name, definition);\n }\n\n lookupScopedTypeAlias(name: string): TypeDefinition | null {\n let current: Flow | null = this;\n do {\n let scopedTypeAlias = current.scopedTypeAlias;\n if (scopedTypeAlias && scopedTypeAlias.has(name)) {\n return assert(scopedTypeAlias.get(name));\n }\n current = current.parent;\n } while (current);\n return null;\n }\n\n lookupTypeAlias(name: string): TypeDefinition | null {\n let definition: TypeDefinition | null = null;\n if (definition = this.lookupScopedTypeAlias(name)) return definition;\n\n let sourceParent = this.sourceFunction.parent;\n if (sourceParent.kind == ElementKind.Function) {\n // lookup parent function.\n let parentFunction = sourceParent;\n return parentFunction.flow.lookupTypeAlias(name);\n }\n \n return null;\n }\n\n /** Gets a free temporary local of the specified type. */\n getTempLocal(type: Type): Local {\n let local = this.targetFunction.addLocal(type);\n this.unsetLocalFlag(local.index, ~0);\n return local;\n }\n\n /** Gets the scoped local of the specified name. */\n getScopedLocal(name: string): Local | null {\n let scopedLocals = this.scopedLocals;\n if (scopedLocals && scopedLocals.has(name)) return assert(scopedLocals.get(name));\n return null;\n }\n\n /** Adds a new scoped local of the specified name. */\n addScopedLocal(name: string, type: Type): Local {\n let scopedLocal = this.getTempLocal(type);\n scopedLocal.name = name;\n scopedLocal.internalName = mangleInternalName(name, scopedLocal.parent, false);\n let scopedLocals = this.scopedLocals;\n if (!scopedLocals) this.scopedLocals = scopedLocals = new Map();\n else assert(!scopedLocals.has(name));\n scopedLocal.set(CommonFlags.Scoped);\n scopedLocals.set(name, scopedLocal);\n return scopedLocal;\n }\n\n /** Adds a new scoped dummy local of the specified name. */\n addScopedDummyLocal(name: string, type: Type, declarationNode: Node): Local {\n let scopedDummy = new Local(name, -1, type, this.targetFunction);\n let scopedLocals = this.scopedLocals;\n if (!scopedLocals) this.scopedLocals = scopedLocals = new Map();\n else if (scopedLocals.has(name)) {\n this.program.error(\n DiagnosticCode.Cannot_redeclare_block_scoped_variable_0,\n declarationNode.range, name\n );\n }\n scopedDummy.set(CommonFlags.Scoped);\n scopedLocals.set(name, scopedDummy);\n return scopedDummy;\n }\n\n /** Adds a new scoped alias for the specified local. For example `super` aliased to the `this` local. */\n addScopedAlias(name: string, type: Type, index: i32, reportNode: Node | null = null): Local {\n let scopedLocals = this.scopedLocals;\n if (!scopedLocals) {\n this.scopedLocals = scopedLocals = new Map();\n } else if (scopedLocals.has(name)) {\n let existingLocal = assert(scopedLocals.get(name));\n if (reportNode) {\n if (!existingLocal.declaration.range.source.isNative) {\n this.program.errorRelated(\n DiagnosticCode.Duplicate_identifier_0,\n reportNode.range,\n existingLocal.declaration.name.range,\n name\n );\n } else {\n this.program.error(\n DiagnosticCode.Duplicate_identifier_0,\n reportNode.range, name\n );\n }\n }\n return existingLocal;\n }\n assert(index < this.targetFunction.localsByIndex.length);\n let scopedAlias = new Local(name, index, type, this.targetFunction);\n scopedAlias.set(CommonFlags.Scoped);\n scopedLocals.set(name, scopedAlias);\n return scopedAlias;\n }\n\n /** Frees a single scoped local by its name. */\n freeScopedDummyLocal(name: string): void {\n let scopedLocals = assert(this.scopedLocals);\n assert(scopedLocals.has(name));\n let local = assert(scopedLocals.get(name));\n assert(local.index == -1);\n scopedLocals.delete(name);\n }\n\n /** Looks up the local of the specified name in the current scope. */\n lookupLocal(name: string): Local | null {\n let current: Flow | null = this;\n do {\n let scope = current.scopedLocals;\n if (scope && scope.has(name)) return assert(scope.get(name));\n current = current.parent;\n } while (current);\n return null;\n }\n\n /** Looks up the element with the specified name relative to the scope of this flow. */\n lookup(name: string): Element | null {\n let element = this.lookupLocal(name);\n if (element) return element;\n return this.sourceFunction.lookup(name);\n }\n\n /** Tests if the local at the specified index has the specified flag or flags. */\n isLocalFlag(index: i32, flag: LocalFlags, defaultIfInlined: bool = true): bool {\n if (index < 0) return defaultIfInlined;\n let localFlags = this.localFlags;\n return index < localFlags.length && (unchecked(localFlags[index]) & flag) == flag;\n }\n\n /** Tests if the local at the specified index has any of the specified flags. */\n isAnyLocalFlag(index: i32, flag: LocalFlags, defaultIfInlined: bool = true): bool {\n if (index < 0) return defaultIfInlined;\n let localFlags = this.localFlags;\n return index < localFlags.length && (unchecked(localFlags[index]) & flag) != 0;\n }\n\n /** Sets the specified flag or flags on the local at the specified index. */\n setLocalFlag(index: i32, flag: LocalFlags): void {\n if (index < 0) return;\n let localFlags = this.localFlags;\n let flags = index < localFlags.length ? unchecked(localFlags[index]) : 0;\n localFlags[index] = flags | flag;\n }\n\n /** Unsets the specified flag or flags on the local at the specified index. */\n unsetLocalFlag(index: i32, flag: LocalFlags): void {\n if (index < 0) return;\n let localFlags = this.localFlags;\n let flags = index < localFlags.length ? unchecked(localFlags[index]) : 0;\n localFlags[index] = flags & ~flag;\n }\n\n /** Initializes `this` field flags. */\n initThisFieldFlags(): void {\n let sourceFunction = this.sourceFunction;\n assert(sourceFunction.is(CommonFlags.Constructor));\n let parent = sourceFunction.parent;\n assert(parent.kind == ElementKind.Class);\n let classInstance = parent;\n this.thisFieldFlags = new Map();\n let members = classInstance.members;\n if (members) {\n for (let _values = Map_values(members), i = 0, k = _values.length; i < k; ++i) {\n let member = _values[i];\n if (member.kind != ElementKind.PropertyPrototype) continue;\n // only interested in fields (resolved during class finalization)\n let property = (member).instance;\n if (!property || !property.isField) continue;\n if (\n // guaranteed by super\n property.prototype.parent != classInstance ||\n // has field initializer\n property.initializerNode ||\n // is initialized as a ctor parameter\n property.prototype.parameterIndex != -1 ||\n // is safe to initialize with zero\n property.type.isAny(TypeFlags.Value | TypeFlags.Nullable)\n ) {\n this.setThisFieldFlag(property, FieldFlags.Initialized);\n }\n }\n }\n }\n\n /** Tests if the specified `this` field has the specified flag or flags. */\n isThisFieldFlag(field: Property, flag: FieldFlags): bool {\n let fieldFlags = this.thisFieldFlags;\n if (fieldFlags != null && fieldFlags.has(field)) {\n return (changetype(fieldFlags.get(field)) & flag) == flag;\n }\n return false;\n }\n\n /** Sets the specified flag or flags on the given `this` field. */\n setThisFieldFlag(field: Property, flag: FieldFlags): void {\n let fieldFlags = this.thisFieldFlags;\n if (fieldFlags) {\n assert(this.sourceFunction.is(CommonFlags.Constructor));\n if (fieldFlags.has(field)) {\n let flags = changetype(fieldFlags.get(field));\n fieldFlags.set(field, flags | flag);\n } else {\n fieldFlags.set(field, flag);\n }\n } else {\n assert(!this.sourceFunction.is(CommonFlags.Constructor));\n }\n }\n\n /** Pushes a new control flow label, for example when entering a loop that one can `break` from. */\n pushControlFlowLabel(): i32 {\n let targetFunction = this.targetFunction;\n let id = targetFunction.nextBreakId++;\n let stack = targetFunction.breakStack;\n if (!stack) targetFunction.breakStack = [ id ];\n else stack.push(id);\n return id;\n }\n\n /** Pops the most recent control flow label and validates that it matches. */\n popControlFlowLabel(expectedLabel: i32): void {\n let targetFunction = this.targetFunction;\n let stack = assert(targetFunction.breakStack); // should exist\n assert(stack.length); // should not be empty\n assert(stack.pop() == expectedLabel); // should match\n }\n\n /** Inherits flags of another flow into this one, i.e. a finished inner block. */\n inherit(other: Flow): void {\n assert(other.targetFunction == this.targetFunction);\n let otherFlags = other.flags;\n\n // respective inner flags are irrelevant if contexts differ\n if (this.breakLabel != other.breakLabel) {\n if (otherFlags & (FlowFlags.Breaks | FlowFlags.ConditionallyBreaks)) {\n otherFlags &= ~FlowFlags.Terminates;\n }\n otherFlags &= ~(FlowFlags.Breaks | FlowFlags.ConditionallyBreaks);\n }\n if (this.continueLabel != other.continueLabel) {\n otherFlags &= ~(FlowFlags.Continues | FlowFlags.ConditionallyContinues);\n }\n\n this.flags = this.flags | otherFlags; // what happens before is still true\n this.localFlags = other.localFlags;\n this.thisFieldFlags = other.thisFieldFlags;\n }\n\n\n /** Merges only the side effects of a branch, i.e. when not taken. */\n mergeSideEffects(other: Flow): void {\n assert(other.targetFunction == this.targetFunction);\n\n let thisFlags = this.flags;\n let otherFlags = other.flags;\n let newFlags = FlowFlags.None;\n\n if (thisFlags & FlowFlags.Returns) { // nothing can change that\n newFlags |= FlowFlags.Returns;\n } else if (otherFlags & FlowFlags.Returns) {\n newFlags |= FlowFlags.ConditionallyReturns;\n } else {\n newFlags |= (thisFlags | otherFlags) & FlowFlags.ConditionallyReturns;\n }\n\n // must be the case in both\n newFlags |= thisFlags & otherFlags & FlowFlags.ReturnsWrapped;\n newFlags |= thisFlags & otherFlags & FlowFlags.ReturnsNonNull;\n\n if (thisFlags & FlowFlags.Throws) { // nothing can change that\n newFlags |= FlowFlags.Throws;\n } else if (otherFlags & FlowFlags.Throws) {\n newFlags |= FlowFlags.ConditionallyThrows;\n } else {\n newFlags |= (thisFlags | otherFlags) & FlowFlags.ConditionallyThrows;\n }\n\n if (thisFlags & FlowFlags.Breaks) { // nothing can change that\n newFlags |= FlowFlags.Breaks;\n } else if (other.breakLabel == this.breakLabel) {\n if (otherFlags & FlowFlags.Breaks) {\n newFlags |= FlowFlags.ConditionallyBreaks;\n } else {\n newFlags |= (thisFlags | otherFlags) & FlowFlags.ConditionallyBreaks;\n }\n } else {\n newFlags |= thisFlags & FlowFlags.ConditionallyBreaks;\n }\n\n if (thisFlags & FlowFlags.Continues) { // nothing can change that\n newFlags |= FlowFlags.Continues;\n } else if (other.continueLabel == this.continueLabel) {\n if (otherFlags & FlowFlags.Continues) {\n newFlags |= FlowFlags.ConditionallyContinues;\n } else {\n newFlags |= (thisFlags | otherFlags) & FlowFlags.ConditionallyContinues;\n }\n } else {\n newFlags |= thisFlags & FlowFlags.ConditionallyContinues;\n }\n\n if (thisFlags & FlowFlags.AccessesThis) { // can become conditional\n if (otherFlags & FlowFlags.AccessesThis) {\n newFlags |= FlowFlags.AccessesThis;\n } else {\n newFlags |= FlowFlags.ConditionallyAccessesThis;\n }\n } else if (otherFlags & FlowFlags.AccessesThis) {\n newFlags |= FlowFlags.ConditionallyAccessesThis;\n }\n\n // may be the case in any\n newFlags |= (thisFlags | otherFlags) & FlowFlags.MayReturnNonThis;\n\n // must be the case in both\n newFlags |= thisFlags & otherFlags & FlowFlags.CallsSuper;\n\n if (thisFlags & FlowFlags.Terminates) { // nothing can change that\n newFlags |= FlowFlags.Terminates;\n }\n\n this.flags = newFlags | (thisFlags & (FlowFlags.UncheckedContext | FlowFlags.CtorParamContext));\n }\n\n /** Merges a branch joining again with this flow, i.e. then without else. */\n mergeBranch(other: Flow): void {\n this.mergeSideEffects(other);\n\n // Local flags matter if the branch does not terminate\n let thisLocalFlags = this.localFlags;\n let numThisLocalFlags = thisLocalFlags.length;\n let otherLocalFlags = other.localFlags;\n let numOtherLocalFlags = otherLocalFlags.length;\n let maxLocalFlags = max(numThisLocalFlags, numOtherLocalFlags);\n for (let i = 0; i < maxLocalFlags; ++i) {\n let thisFlags = i < numThisLocalFlags ? thisLocalFlags[i] : 0;\n let otherFlags = i < numOtherLocalFlags ? otherLocalFlags[i] : 0;\n thisLocalFlags[i] = thisFlags & otherFlags & (\n LocalFlags.Constant |\n LocalFlags.Wrapped |\n LocalFlags.NonNull |\n LocalFlags.Initialized\n );\n }\n\n // field flags do not matter here since there's only INITIALIZED, which can\n // only be set if it has been observed prior to entering the branch.\n }\n\n /** Inherits two alternate branches to become this flow, i.e. then with else. */\n inheritAlternatives(left: Flow, right: Flow): void {\n assert(left.targetFunction == right.targetFunction);\n assert(left.targetFunction == this.targetFunction);\n // Differs from `mergeBranch` in that the alternatives are intersected to\n // then become this branch.\n\n let leftFlags = left.flags;\n let rightFlags = right.flags;\n let newFlags = FlowFlags.None;\n\n if (leftFlags & FlowFlags.Returns) {\n if (rightFlags & FlowFlags.Returns) {\n newFlags |= FlowFlags.Returns;\n } else {\n newFlags |= FlowFlags.ConditionallyReturns;\n }\n } else if (rightFlags & FlowFlags.Returns) {\n newFlags |= FlowFlags.ConditionallyReturns;\n } else {\n newFlags |= (leftFlags | rightFlags) & FlowFlags.ConditionallyReturns;\n }\n\n if ((leftFlags & FlowFlags.ReturnsWrapped) && (rightFlags & FlowFlags.ReturnsWrapped)) {\n newFlags |= FlowFlags.ReturnsWrapped;\n }\n\n if ((leftFlags & FlowFlags.ReturnsNonNull) && (rightFlags & FlowFlags.ReturnsNonNull)) {\n newFlags |= FlowFlags.ReturnsNonNull;\n }\n\n if (leftFlags & FlowFlags.Throws) {\n if (rightFlags & FlowFlags.Throws) {\n newFlags |= FlowFlags.Throws;\n } else {\n newFlags |= FlowFlags.ConditionallyThrows;\n }\n } else if (rightFlags & FlowFlags.Throws) {\n newFlags |= FlowFlags.ConditionallyThrows;\n } else {\n newFlags |= (leftFlags | rightFlags) & FlowFlags.ConditionallyThrows;\n }\n\n if (leftFlags & FlowFlags.Breaks) {\n if (rightFlags & FlowFlags.Breaks) {\n newFlags |= FlowFlags.Breaks;\n } else {\n newFlags |= FlowFlags.ConditionallyBreaks;\n }\n } else if (rightFlags & FlowFlags.Breaks) {\n newFlags |= FlowFlags.ConditionallyBreaks;\n } else {\n newFlags |= (leftFlags | rightFlags) & FlowFlags.ConditionallyBreaks;\n }\n\n if (leftFlags & FlowFlags.Continues) {\n if (rightFlags & FlowFlags.Continues) {\n newFlags |= FlowFlags.Continues;\n } else {\n newFlags |= FlowFlags.ConditionallyContinues;\n }\n } else if (rightFlags & FlowFlags.Continues) {\n newFlags |= FlowFlags.ConditionallyContinues;\n } else {\n newFlags |= (leftFlags | rightFlags) & FlowFlags.ConditionallyContinues;\n }\n\n if (leftFlags & FlowFlags.AccessesThis) {\n if (rightFlags & FlowFlags.AccessesThis) {\n newFlags |= FlowFlags.AccessesThis;\n } else {\n newFlags |= FlowFlags.ConditionallyAccessesThis;\n }\n } else if (rightFlags & FlowFlags.AccessesThis) {\n newFlags |= FlowFlags.ConditionallyAccessesThis;\n } else {\n newFlags |= (leftFlags | rightFlags) & FlowFlags.ConditionallyAccessesThis;\n }\n\n newFlags |= (leftFlags | rightFlags) & FlowFlags.MayReturnNonThis;\n\n if ((leftFlags & FlowFlags.CallsSuper) && (rightFlags & FlowFlags.CallsSuper)) {\n newFlags |= FlowFlags.CallsSuper;\n }\n\n if ((leftFlags & FlowFlags.Terminates) && (rightFlags & FlowFlags.Terminates)) {\n newFlags |= FlowFlags.Terminates;\n }\n\n this.flags = newFlags | (this.flags & (FlowFlags.UncheckedContext | FlowFlags.CtorParamContext));\n\n // local flags\n let thisLocalFlags = this.localFlags;\n if (leftFlags & FlowFlags.Terminates) {\n if (!(rightFlags & FlowFlags.Terminates)) {\n let rightLocalFlags = right.localFlags;\n for (let i = 0, k = rightLocalFlags.length; i < k; ++i) {\n thisLocalFlags[i] = rightLocalFlags[i];\n }\n }\n } else if (rightFlags & FlowFlags.Terminates) {\n let leftLocalFlags = left.localFlags;\n for (let i = 0, k = leftLocalFlags.length; i < k; ++i) {\n thisLocalFlags[i] = leftLocalFlags[i];\n }\n } else {\n let leftLocalFlags = left.localFlags;\n let numLeftLocalFlags = leftLocalFlags.length;\n let rightLocalFlags = right.localFlags;\n let numRightLocalFlags = rightLocalFlags.length;\n let maxLocalFlags = max(numLeftLocalFlags, numRightLocalFlags);\n for (let i = 0; i < maxLocalFlags; ++i) {\n let leftFlags = i < numLeftLocalFlags ? leftLocalFlags[i] : 0;\n let rightFlags = i < numRightLocalFlags ? rightLocalFlags[i] : 0;\n thisLocalFlags[i] = leftFlags & rightFlags & (\n LocalFlags.Constant |\n LocalFlags.Wrapped |\n LocalFlags.NonNull |\n LocalFlags.Initialized\n );\n }\n }\n\n // field flags (currently only INITIALIZED, so can simplify)\n let leftFieldFlags = left.thisFieldFlags;\n if (leftFieldFlags) {\n let newFieldFlags = new Map();\n let rightFieldFlags = assert(right.thisFieldFlags);\n for (let _keys = Map_keys(leftFieldFlags), i = 0, k = _keys.length; i < k; ++i) {\n let key = _keys[i];\n let leftFlags = changetype(leftFieldFlags.get(key));\n if (\n (leftFlags & FieldFlags.Initialized) != 0 && rightFieldFlags.has(key) &&\n (changetype(rightFieldFlags.get(key)) & FieldFlags.Initialized)\n ) {\n newFieldFlags.set(key, FieldFlags.Initialized);\n }\n }\n this.thisFieldFlags = newFieldFlags;\n } else {\n assert(!right.thisFieldFlags);\n }\n }\n\n /** Tests if recompilation is needed due to incompatible local flags between loops, and resets if necessary. */\n resetIfNeedsRecompile(\n /** Resulting flow of the current compilation attempt. */\n other: Flow,\n /** Number of locals before the compilation attempt. */\n numLocalsBefore: i32\n ): bool {\n let numThisLocalFlags = this.localFlags.length;\n let numOtherLocalFlags = other.localFlags.length;\n let targetFunction = this.targetFunction;\n assert(targetFunction == other.targetFunction);\n let localsByIndex = targetFunction.localsByIndex;\n assert(localsByIndex == other.targetFunction.localsByIndex);\n let needsRecompile = false;\n for (let i = 0, k = min(numThisLocalFlags, numOtherLocalFlags); i < k; ++i) {\n let local = localsByIndex[i];\n let type = local.type;\n if (type.isShortIntegerValue) {\n if (this.isLocalFlag(i, LocalFlags.Wrapped) && !other.isLocalFlag(i, LocalFlags.Wrapped)) {\n this.unsetLocalFlag(i, LocalFlags.Wrapped); // assume not wrapped\n needsRecompile = true;\n }\n }\n if (type.isNullableReference) {\n if (this.isLocalFlag(i, LocalFlags.NonNull) && !other.isLocalFlag(i, LocalFlags.NonNull)) {\n this.unsetLocalFlag(i, LocalFlags.NonNull); // assume possibly null\n needsRecompile = true;\n }\n }\n }\n if (needsRecompile) {\n // Reset function locals to state before the compilation attempt\n assert(localsByIndex.length >= numLocalsBefore);\n localsByIndex.length = numLocalsBefore;\n if (this.localFlags.length > numLocalsBefore) {\n this.localFlags.length = numLocalsBefore;\n }\n }\n return needsRecompile;\n }\n\n /** Checks if an expression of the specified type is known to be non-null, even if the type might be nullable. */\n isNonnull(expr: ExpressionRef, type: Type): bool {\n if (!type.isNullableReference) return true;\n // below, only teeLocal/getLocal are relevant because these are the only expressions that\n // depend on a dynamic nullable state (flag = LocalFlags.NonNull), while everything else\n // has already been handled by the nullable type check above.\n switch (getExpressionId(expr)) {\n case ExpressionId.LocalSet: {\n if (!isLocalTee(expr)) break;\n let local = this.targetFunction.localsByIndex[getLocalSetIndex(expr)];\n return !local.type.isNullableReference || this.isLocalFlag(local.index, LocalFlags.NonNull, false);\n }\n case ExpressionId.LocalGet: {\n let local = this.targetFunction.localsByIndex[getLocalGetIndex(expr)];\n return !local.type.isNullableReference || this.isLocalFlag(local.index, LocalFlags.NonNull, false);\n }\n }\n return false;\n }\n\n /** Updates local states to reflect that this branch is only taken when `expr` is true-ish. */\n private inheritNonnullIfTrue(\n /** Expression being true. */\n expr: ExpressionRef,\n /** If specified, only set the flag if also nonnull in this flow. */\n iff: Flow | null = null\n ): void {\n // A: `expr` is true-ish -> Q: how did that happen?\n\n // The iff argument is useful in situations like\n //\n // if (!ref) {\n // ref = new Ref();\n // }\n // // inheritNonnullIfFalse(`!ref`, thenFlow) -> ref != null\n //\n\n switch (getExpressionId(expr)) {\n case ExpressionId.LocalSet: {\n if (!isLocalTee(expr)) break;\n let local = this.targetFunction.localsByIndex[getLocalSetIndex(expr)];\n if (!iff || iff.isLocalFlag(local.index, LocalFlags.NonNull)) {\n this.setLocalFlag(local.index, LocalFlags.NonNull);\n }\n this.inheritNonnullIfTrue(getLocalSetValue(expr), iff); // must have been true-ish as well\n break;\n }\n case ExpressionId.LocalGet: {\n let local = this.targetFunction.localsByIndex[getLocalGetIndex(expr)];\n if (!iff || iff.isLocalFlag(local.index, LocalFlags.NonNull)) {\n this.setLocalFlag(local.index, LocalFlags.NonNull);\n }\n break;\n }\n case ExpressionId.If: {\n let ifFalse = getIfFalse(expr);\n if (ifFalse && isConstZero(ifFalse)) {\n // Logical AND: (if (condition ifTrue 0))\n // the only way this had become true is if condition and ifTrue are true\n this.inheritNonnullIfTrue(getIfCondition(expr), iff);\n this.inheritNonnullIfTrue(getIfTrue(expr), iff);\n }\n break;\n }\n case ExpressionId.Unary: {\n switch (getUnaryOp(expr)) {\n case UnaryOp.EqzI32:\n case UnaryOp.EqzI64: {\n this.inheritNonnullIfFalse(getUnaryValue(expr), iff); // !value -> value must have been false\n break;\n }\n }\n break;\n }\n case ExpressionId.Binary: {\n switch (getBinaryOp(expr)) {\n case BinaryOp.EqI32:\n case BinaryOp.EqI64: {\n let left = getBinaryLeft(expr);\n let right = getBinaryRight(expr);\n if (isConstNonZero(left)) {\n this.inheritNonnullIfTrue(right, iff); // TRUE == right -> right must have been true\n } else if (isConstNonZero(right)) {\n this.inheritNonnullIfTrue(left, iff); // left == TRUE -> left must have been true\n }\n break;\n }\n case BinaryOp.NeI32:\n case BinaryOp.NeI64: {\n let left = getBinaryLeft(expr);\n let right = getBinaryRight(expr);\n if (isConstZero(left)) {\n this.inheritNonnullIfTrue(right, iff); // FALSE != right -> right must have been true\n } else if (isConstZero(right)) {\n this.inheritNonnullIfTrue(left, iff); // left != FALSE -> left must have been true\n }\n break;\n }\n }\n break;\n }\n case ExpressionId.Call: {\n // handle string eq/ne/not overloads\n let name = getCallTarget(expr);\n if (name == BuiltinNames.String_eq) {\n assert(getCallOperandCount(expr) == 2);\n let left = getCallOperandAt(expr, 0);\n let right = getCallOperandAt(expr, 1);\n if (isConstNonZero(left)) {\n this.inheritNonnullIfTrue(right, iff); // TRUE == right -> right must have been true\n } else if (isConstNonZero(right)) {\n this.inheritNonnullIfTrue(left, iff); // left == TRUE -> left must have been true\n }\n } else if (name == BuiltinNames.String_ne) {\n assert(getCallOperandCount(expr) == 2);\n let left = getCallOperandAt(expr, 0);\n let right = getCallOperandAt(expr, 1);\n if (isConstZero(left)) {\n this.inheritNonnullIfTrue(right, iff); // FALSE != right -> right must have been true\n } else if (isConstZero(right)) {\n this.inheritNonnullIfTrue(left, iff); // left != FALSE -> left must have been true\n }\n } else if (name == BuiltinNames.String_not) {\n assert(getCallOperandCount(expr) == 1);\n this.inheritNonnullIfFalse(getCallOperandAt(expr, 0), iff); // !value -> value must have been false\n } else if (name == BuiltinNames.tostack) {\n assert(getCallOperandCount(expr) == 1);\n this.inheritNonnullIfTrue(getCallOperandAt(expr, 0), iff);\n }\n break;\n }\n }\n }\n\n /** Updates local states to reflect that this branch is only taken when `expr` is false-ish. */\n private inheritNonnullIfFalse(\n /** Expression being false. */\n expr: ExpressionRef,\n /** If specified, only set the flag if also nonnull in this flow. */\n iff: Flow | null = null\n ): void {\n // A: `expr` is false-ish -> Q: how did that happen?\n switch (getExpressionId(expr)) {\n case ExpressionId.Unary: {\n switch (getUnaryOp(expr)) {\n case UnaryOp.EqzI32:\n case UnaryOp.EqzI64: {\n this.inheritNonnullIfTrue(getUnaryValue(expr), iff); // !value -> value must have been true\n break;\n }\n }\n break;\n }\n case ExpressionId.If: {\n let ifTrue = getIfTrue(expr);\n let ifFalse = getIfFalse(expr);\n if (ifFalse && isConstNonZero(ifTrue)) {\n // Logical OR: (if (condition 1 ifFalse))\n // the only way this had become false is if condition and ifFalse are false\n this.inheritNonnullIfFalse(getIfCondition(expr), iff);\n this.inheritNonnullIfFalse(getIfFalse(expr), iff);\n }\n break;\n }\n case ExpressionId.Binary: {\n switch (getBinaryOp(expr)) {\n // remember: we want to know how the _entire_ expression became FALSE (!)\n case BinaryOp.EqI32:\n case BinaryOp.EqI64: {\n let left = getBinaryLeft(expr);\n let right = getBinaryRight(expr);\n if (isConstZero(left)) {\n this.inheritNonnullIfTrue(right, iff); // !(FALSE == right) -> right must have been true\n } else if (isConstZero(right)) {\n this.inheritNonnullIfTrue(left, iff); // !(left == FALSE) -> left must have been true\n }\n break;\n }\n case BinaryOp.NeI32:\n case BinaryOp.NeI64: {\n let left = getBinaryLeft(expr);\n let right = getBinaryRight(expr);\n if (isConstNonZero(left)) {\n this.inheritNonnullIfTrue(right, iff); // !(TRUE != right) -> right must have been true\n } else if (isConstNonZero(right)) {\n this.inheritNonnullIfTrue(left, iff); // !(left != TRUE) -> left must have been true\n }\n break;\n }\n }\n break;\n }\n case ExpressionId.Call: {\n // handle string eq/ne/not overloads\n let name = getCallTarget(expr);\n if (name == BuiltinNames.String_eq) {\n assert(getCallOperandCount(expr) == 2);\n let left = getCallOperandAt(expr, 0);\n let right = getCallOperandAt(expr, 1);\n if (isConstZero(left)) {\n this.inheritNonnullIfTrue(right, iff); // !(FALSE == right) -> right must have been true\n } else if (isConstZero(right)) {\n this.inheritNonnullIfTrue(left, iff); // !(left == FALSE) -> left must have been true\n }\n } else if (name == BuiltinNames.String_ne) {\n assert(getCallOperandCount(expr) == 2);\n let left = getCallOperandAt(expr, 0);\n let right = getCallOperandAt(expr, 1);\n if (isConstNonZero(left)) {\n this.inheritNonnullIfTrue(right, iff); // !(TRUE != right) -> right must have been true\n } else if (isConstNonZero(right)) {\n this.inheritNonnullIfTrue(left, iff); // !(left != TRUE) -> left must have been true\n }\n } else if (name == BuiltinNames.String_not) {\n assert(getCallOperandCount(expr) == 1);\n this.inheritNonnullIfTrue(getCallOperandAt(expr, 0), iff); // !(!value) -> value must have been true\n } else if (name == BuiltinNames.tostack) {\n assert(getCallOperandCount(expr) == 1);\n this.inheritNonnullIfFalse(getCallOperandAt(expr, 0), iff);\n }\n break;\n }\n }\n }\n\n /**\n * Tests if an expression can possibly overflow in the context of this flow. Assumes that the\n * expression might already have overflown and returns `false` only if the operation neglects\n * any possible combination of garbage bits being present.\n */\n canOverflow(expr: ExpressionRef, type: Type): bool {\n // TODO: the following catches most common and a few uncommon cases, but there are additional\n // opportunities here, obviously.\n\n // types other than i8, u8, i16, u16 and bool do not overflow\n if (!type.isShortIntegerValue) return false;\n\n let operand: ExpressionRef;\n switch (getExpressionId(expr)) {\n\n // overflows if the local isn't wrapped or the conversion does\n case ExpressionId.LocalGet: {\n let local = this.targetFunction.localsByIndex[getLocalGetIndex(expr)];\n return !this.isLocalFlag(local.index, LocalFlags.Wrapped, true)\n || canConversionOverflow(local.type, type);\n }\n\n // overflows if the value does\n case ExpressionId.LocalSet: { // tee\n assert(isLocalTee(expr));\n return this.canOverflow(getLocalSetValue(expr), type);\n }\n\n // overflows if the conversion does (globals are wrapped on set)\n case ExpressionId.GlobalGet: {\n // TODO: this is inefficient because it has to read a string\n let global = assert(this.program.elementsByName.get(assert(getGlobalGetName(expr))));\n assert(global.kind == ElementKind.Global || global.kind == ElementKind.EnumValue);\n return canConversionOverflow((global).type, type);\n }\n\n case ExpressionId.Binary: {\n switch (getBinaryOp(expr)) {\n\n // comparisons do not overflow (result is 0 or 1)\n case BinaryOp.EqI32:\n case BinaryOp.EqI64:\n case BinaryOp.EqF32:\n case BinaryOp.EqF64:\n case BinaryOp.NeI32:\n case BinaryOp.NeI64:\n case BinaryOp.NeF32:\n case BinaryOp.NeF64:\n case BinaryOp.LtI32:\n case BinaryOp.LtU32:\n case BinaryOp.LtI64:\n case BinaryOp.LtU64:\n case BinaryOp.LtF32:\n case BinaryOp.LtF64:\n case BinaryOp.LeI32:\n case BinaryOp.LeU32:\n case BinaryOp.LeI64:\n case BinaryOp.LeU64:\n case BinaryOp.LeF32:\n case BinaryOp.LeF64:\n case BinaryOp.GtI32:\n case BinaryOp.GtU32:\n case BinaryOp.GtI64:\n case BinaryOp.GtU64:\n case BinaryOp.GtF32:\n case BinaryOp.GtF64:\n case BinaryOp.GeI32:\n case BinaryOp.GeU32:\n case BinaryOp.GeI64:\n case BinaryOp.GeU64:\n case BinaryOp.GeF32:\n case BinaryOp.GeF64: return false;\n\n // result won't overflow if one side is 0 or if one side is 1 and the other wrapped\n case BinaryOp.MulI32: {\n return !(\n (\n getExpressionId(operand = getBinaryLeft(expr)) == ExpressionId.Const &&\n (\n getConstValueI32(operand) == 0 ||\n (\n getConstValueI32(operand) == 1 &&\n !this.canOverflow(getBinaryRight(expr), type)\n )\n )\n ) || (\n getExpressionId(operand = getBinaryRight(expr)) == ExpressionId.Const &&\n (\n getConstValueI32(operand) == 0 ||\n (\n getConstValueI32(operand) == 1 &&\n !this.canOverflow(getBinaryLeft(expr), type)\n )\n )\n )\n );\n }\n\n // result won't overflow if one side is a constant less than this type's mask or one side\n // is wrapped\n case BinaryOp.AndI32: {\n // note that computeSmallIntegerMask returns the mask minus the MSB for signed types\n // because signed value garbage bits must be guaranteed to be equal to the MSB.\n return !(\n (\n (\n getExpressionId(operand = getBinaryLeft(expr)) == ExpressionId.Const &&\n getConstValueI32(operand) <= type.computeSmallIntegerMask(Type.i32)\n ) || !this.canOverflow(operand, type)\n ) || (\n (\n getExpressionId(operand = getBinaryRight(expr)) == ExpressionId.Const &&\n getConstValueI32(operand) <= type.computeSmallIntegerMask(Type.i32)\n ) || !this.canOverflow(operand, type)\n )\n );\n }\n\n // overflows if the shift doesn't clear potential garbage bits\n case BinaryOp.ShlI32: {\n let shift = 32 - type.size;\n return getExpressionId(operand = getBinaryRight(expr)) != ExpressionId.Const\n || getConstValueI32(operand) < shift;\n }\n\n // overflows if the value does and the shift doesn't clear potential garbage bits\n case BinaryOp.ShrI32: {\n let shift = 32 - type.size;\n return this.canOverflow(getBinaryLeft(expr), type) && (\n getExpressionId(operand = getBinaryRight(expr)) != ExpressionId.Const ||\n getConstValueI32(operand) < shift\n );\n }\n\n // overflows if the shift does not clear potential garbage bits. if an unsigned value is\n // wrapped, it can't overflow.\n case BinaryOp.ShrU32: {\n let shift = 32 - type.size;\n return type.isSignedIntegerValue\n ? !(\n getExpressionId(operand = getBinaryRight(expr)) == ExpressionId.Const &&\n getConstValueI32(operand) > shift // must clear MSB\n )\n : this.canOverflow(getBinaryLeft(expr), type) &&\n !(\n getExpressionId(operand = getBinaryRight(expr)) == ExpressionId.Const &&\n getConstValueI32(operand) >= shift // can leave MSB\n );\n }\n\n // overflows if any side does\n case BinaryOp.DivU32:\n case BinaryOp.RemI32:\n case BinaryOp.RemU32: {\n return this.canOverflow(getBinaryLeft(expr), type)\n || this.canOverflow(getBinaryRight(expr), type);\n }\n }\n break;\n }\n\n case ExpressionId.Unary: {\n switch (getUnaryOp(expr)) {\n\n // comparisons do not overflow (result is 0 or 1)\n case UnaryOp.EqzI32:\n case UnaryOp.EqzI64: return false;\n\n // overflow if the maximum result (32) cannot be represented in the target type\n case UnaryOp.ClzI32:\n case UnaryOp.CtzI32:\n case UnaryOp.PopcntI32: return type.size < 7;\n\n // sign extensions overflow if result can have high garbage bits in the target type\n case UnaryOp.Extend8I32: return type.size < (type.isUnsignedIntegerValue ? 32 : 8);\n case UnaryOp.Extend8I64: return type.size < (type.isUnsignedIntegerValue ? 64 : 8);\n case UnaryOp.Extend16I32: return type.size < (type.isUnsignedIntegerValue ? 32 : 16);\n case UnaryOp.Extend16I64: return type.size < (type.isUnsignedIntegerValue ? 64 : 16);\n case UnaryOp.Extend32I64: return type.size < (type.isUnsignedIntegerValue ? 64 : 32);\n }\n break;\n }\n\n // overflows if the value cannot be represented in the target type\n case ExpressionId.Const: {\n let value: i32 = 0;\n switch (getExpressionType(expr)) {\n case TypeRef.I32: { value = getConstValueI32(expr); break; }\n case TypeRef.I64: { value = getConstValueI64Low(expr); break; } // discards upper bits\n case TypeRef.F32: { value = i32(getConstValueF32(expr)); break; }\n case TypeRef.F64: { value = i32(getConstValueF64(expr)); break; }\n case TypeRef.V128: return false;\n default: assert(false);\n }\n switch (type.kind) {\n case TypeKind.Bool: return (value & ~1) != 0;\n case TypeKind.I8: return value < i8.MIN_VALUE || value > i8.MAX_VALUE;\n case TypeKind.I16: return value < i16.MIN_VALUE || value > i16.MAX_VALUE;\n case TypeKind.U8: return value < 0 || value > u8.MAX_VALUE;\n case TypeKind.U16: return value < 0 || value > u16.MAX_VALUE;\n }\n break;\n }\n\n // overflows if the conversion does\n case ExpressionId.Load: {\n let fromType: Type;\n let signed = isLoadSigned(expr);\n switch (getLoadBytes(expr)) {\n case 1: { fromType = signed ? Type.i8 : Type.u8; break; }\n case 2: { fromType = signed ? Type.i16 : Type.u16; break; }\n default: { fromType = signed ? Type.i32 : Type.u32; break; }\n }\n return canConversionOverflow(fromType, type);\n }\n\n // overflows if the result does, which is either\n // - the last expression of the block, by contract, if the block doesn't have a label\n // - the last expression or the value of an inner br if the block has a label (TODO)\n case ExpressionId.Block: {\n if (!getBlockName(expr)) {\n let size = assert(getBlockChildCount(expr));\n let last = getBlockChildAt(expr, size - 1);\n return this.canOverflow(last, type);\n }\n break;\n }\n\n // overflows if either side does\n case ExpressionId.If: {\n return this.canOverflow(getIfTrue(expr), type)\n || this.canOverflow(assert(getIfFalse(expr)), type);\n }\n\n // overflows if either side does\n case ExpressionId.Select: {\n return this.canOverflow(getSelectThen(expr), type)\n || this.canOverflow(getSelectElse(expr), type);\n }\n\n // overflows if the call does not return a wrapped value or the conversion does\n case ExpressionId.Call: {\n let program = this.program;\n let instancesByName = program.instancesByName;\n let instanceName = assert(getCallTarget(expr));\n if (instancesByName.has(instanceName)) {\n let instance = assert(instancesByName.get(instanceName));\n assert(instance.kind == ElementKind.Function);\n let functionInstance = instance;\n let returnType = functionInstance.signature.returnType;\n return !functionInstance.flow.is(FlowFlags.ReturnsWrapped)\n || canConversionOverflow(returnType, type);\n }\n return false; // assume no overflow for builtins\n }\n\n // doesn't technically overflow\n case ExpressionId.Unreachable: return false;\n }\n return true;\n }\n\n toString(): string {\n let levels = 0;\n let parent = this.parent;\n while (parent) {\n parent = parent.parent;\n ++levels;\n }\n let sb = new Array();\n if (this.is(FlowFlags.Returns)) sb.push(\"RETURNS\");\n if (this.is(FlowFlags.ReturnsWrapped)) sb.push(\"RETURNS_WRAPPED\");\n if (this.is(FlowFlags.ReturnsNonNull)) sb.push(\"RETURNS_NONNULL\");\n if (this.is(FlowFlags.Throws)) sb.push(\"THROWS\");\n if (this.is(FlowFlags.Breaks)) sb.push(\"BREAKS\");\n if (this.is(FlowFlags.Continues)) sb.push(\"CONTINUES\");\n if (this.is(FlowFlags.AccessesThis)) sb.push(\"ACCESSES_THIS\");\n if (this.is(FlowFlags.CallsSuper)) sb.push(\"CALLS_SUPER\");\n if (this.is(FlowFlags.Terminates)) sb.push(\"TERMINATES\");\n if (this.is(FlowFlags.ConditionallyReturns)) sb.push(\"CONDITIONALLY_RETURNS\");\n if (this.is(FlowFlags.ConditionallyThrows)) sb.push(\"CONDITIONALLY_THROWS\");\n if (this.is(FlowFlags.ConditionallyBreaks)) sb.push(\"CONDITIONALLY_BREAKS\");\n if (this.is(FlowFlags.ConditionallyContinues)) sb.push(\"CONDITIONALLY_CONTINUES\");\n if (this.is(FlowFlags.ConditionallyAccessesThis)) sb.push(\"CONDITIONALLY_ACCESSES_THIS\");\n if (this.is(FlowFlags.MayReturnNonThis)) sb.push(\"MAY_RETURN_NONTHIS\");\n return `Flow(${this.sourceFunction})[${levels}] ${sb.join(\" \")}`;\n }\n}\n\n/** Tests if a conversion from one type to another can technically overflow. */\nfunction canConversionOverflow(fromType: Type, toType: Type): bool {\n return toType.isShortIntegerValue && (\n !fromType.isIntegerValue || // i.e. float to small int\n fromType.size > toType.size || // larger int to small int\n fromType.isSignedIntegerValue != toType.isSignedIntegerValue // signedness mismatch\n );\n}\n", "/**\n * @fileoverview Resolve infrastructure to obtain types and elements.\n *\n * Similar to the compiler making instructions of expressions, the resolver\n * obtains metadata of expressions. As such, for each `compileX` method in\n * the compiler there is one `lookupX` method in the resolver returning the\n * respective IR element, respectively one `resolveX` method returning the\n * respective type of an expression. It is also able to make new elements,\n * like instances of classes given its concrete type arguments.\n *\n * @license Apache-2.0\n */\n\nimport {\n Range,\n DiagnosticEmitter,\n DiagnosticCode\n} from \"./diagnostics\";\n\nimport {\n Program,\n ElementKind,\n OperatorKind,\n Element,\n Class,\n ClassPrototype,\n Interface,\n Function,\n FunctionPrototype,\n VariableLikeElement,\n Property,\n PropertyPrototype,\n Global,\n TypeDefinition,\n TypedElement,\n IndexSignature,\n isTypedElement,\n InterfacePrototype,\n DeclaredElement\n} from \"./program\";\n\nimport {\n Flow\n} from \"./flow\";\n\nimport {\n FunctionTypeNode,\n ParameterKind,\n TypeNode,\n NodeKind,\n NamedTypeNode,\n TypeName,\n TypeParameterNode,\n Node,\n IdentifierExpression,\n CallExpression,\n ElementAccessExpression,\n PropertyAccessExpression,\n LiteralExpression,\n LiteralKind,\n ParenthesizedExpression,\n AssertionExpression,\n Expression,\n IntegerLiteralExpression,\n UnaryPrefixExpression,\n UnaryPostfixExpression,\n AssertionKind,\n BinaryExpression,\n ThisExpression,\n SuperExpression,\n CommaExpression,\n InstanceOfExpression,\n TernaryExpression,\n isTypeOmitted,\n FunctionExpression,\n NewExpression,\n ArrayLiteralExpression,\n ArrowKind,\n ExpressionStatement\n} from \"./ast\";\n\nimport {\n Type,\n Signature,\n typesToString,\n TypeKind,\n TypeFlags\n} from \"./types\";\n\nimport {\n CommonFlags,\n CommonNames\n} from \"./common\";\n\nimport {\n cloneMap,\n isPowerOf2\n} from \"./util\";\n\nimport {\n Token,\n operatorTokenToString\n} from \"./tokenizer\";\n\nimport {\n BuiltinNames\n} from \"./builtins\";\n\n/** Indicates whether errors are reported or not. */\nexport const enum ReportMode {\n /** Report errors. */\n Report,\n /** Swallow errors. */\n Swallow\n}\n\n/** Provides tools to resolve types and expressions. */\nexport class Resolver extends DiagnosticEmitter {\n\n /** The program this resolver belongs to. */\n program: Program;\n\n /** Target expression of the previously resolved property or element access. */\n currentThisExpression: Expression | null = null;\n /** Element expression of the previously resolved element access. */\n currentElementExpression : Expression | null = null;\n /** Whether a new override has been discovered. */\n discoveredOverride: bool = false;\n\n /** Constructs the resolver for the specified program. */\n constructor(\n /** The program to construct a resolver for. */\n program: Program\n ) {\n super(program.diagnostics);\n this.program = program;\n }\n\n // ====================================================== Types ======================================================\n\n /** Resolves a {@link TypeNode} to a concrete {@link Type}. */\n resolveType(\n /** The type to resolve. */\n node: TypeNode,\n /** The flow */\n flow: Flow | null,\n /** Contextual element. */\n ctxElement: Element,\n /** Contextual types, i.e. `T`. */\n ctxTypes: Map | null = null,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Type | null {\n if (node.currentlyResolving) {\n this.error(\n DiagnosticCode.Not_implemented_0,\n node.range, \"Recursive types\"\n );\n return null;\n }\n node.currentlyResolving = true;\n let resolved: Type | null = null;\n switch (node.kind) {\n case NodeKind.NamedType: {\n resolved = this.resolveNamedType(node, flow, ctxElement, ctxTypes, reportMode);\n break;\n }\n case NodeKind.FunctionType: {\n resolved = this.resolveFunctionType(node, flow, ctxElement, ctxTypes, reportMode);\n break;\n }\n default: assert(false);\n }\n node.currentlyResolving = false;\n return resolved;\n }\n\n /** Resolves a {@link NamedTypeNode} to a concrete {@link Type}. */\n private resolveNamedType(\n /** The type to resolve. */\n node: NamedTypeNode,\n /** The flow */\n flow: Flow | null,\n /** Contextual element. */\n ctxElement: Element,\n /** Contextual types, i.e. `T`. */\n ctxTypes: Map | null = null,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Type | null {\n let nameNode = node.name;\n let typeArgumentNodes = node.typeArguments;\n let isSimpleType = !nameNode.next;\n\n // Look up in contextual types if a simple type\n if (isSimpleType) {\n let simpleName = nameNode.identifier.text;\n if (ctxTypes && ctxTypes.has(simpleName)) {\n let type = assert(ctxTypes.get(simpleName));\n if (typeArgumentNodes && typeArgumentNodes.length > 0) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Type_0_is_not_generic,\n node.range, type.toString()\n );\n }\n }\n if (node.isNullable) {\n if (type.isReference) return type.asNullable();\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Type_0_cannot_be_nullable,\n node.range, type.toString()\n );\n }\n }\n return type;\n }\n }\n\n // Look up in context\n let element = this.resolveTypeName(nameNode, flow, ctxElement, reportMode);\n if (!element) return null;\n\n // Use shadow type if present (i.e. namespace sharing a type)\n let shadowType = element.shadowType;\n if (shadowType) {\n element = shadowType;\n\n } else {\n\n // Handle enums (become i32)\n if (element.kind == ElementKind.Enum) {\n if (typeArgumentNodes && typeArgumentNodes.length > 0) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Type_0_is_not_generic,\n node.range, element.internalName\n );\n }\n }\n if (node.isNullable) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Type_0_cannot_be_nullable,\n node.range, `${element.name}/i32`\n );\n }\n }\n return Type.i32;\n }\n\n // Handle classes and interfaces\n if (\n element.kind == ElementKind.ClassPrototype ||\n element.kind == ElementKind.InterfacePrototype\n ) {\n let instance = this.resolveClassInclTypeArguments(\n element,\n typeArgumentNodes,\n flow,\n ctxElement,\n cloneMap(ctxTypes), // don't inherit\n node,\n reportMode\n );\n if (!instance) return null;\n return node.isNullable ? instance.type.asNullable() : instance.type;\n }\n }\n\n // Handle type definitions\n if (element.kind == ElementKind.TypeDefinition) {\n let typeDefinition = element;\n\n // Shortcut already resolved (mostly builtins)\n if (element.is(CommonFlags.Resolved)) {\n if (typeArgumentNodes && typeArgumentNodes.length > 0) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Type_0_is_not_generic,\n node.range, element.internalName\n );\n }\n }\n let type = typeDefinition.type;\n if (node.isNullable) {\n if (type.isReference) return type.asNullable();\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Type_0_cannot_be_nullable,\n nameNode.range, nameNode.identifier.text\n );\n }\n }\n return type;\n }\n\n // Handle special built-in types\n if (isSimpleType) {\n let text = nameNode.identifier.text;\n if (text == CommonNames.native) return this.resolveBuiltinNativeType(node, ctxElement, ctxTypes, reportMode);\n if (text == CommonNames.indexof) return this.resolveBuiltinIndexofType(node, ctxElement, ctxTypes, reportMode);\n if (text == CommonNames.valueof) return this.resolveBuiltinValueofType(node, ctxElement, ctxTypes, reportMode);\n if (text == CommonNames.returnof) return this.resolveBuiltinReturnTypeType(node, ctxElement, ctxTypes, reportMode);\n if (text == CommonNames.nonnull) return this.resolveBuiltinNotNullableType(node, ctxElement, ctxTypes, reportMode);\n }\n\n // Resolve normally\n let typeParameterNodes = typeDefinition.typeParameterNodes;\n let typeArguments: Type[] | null = null;\n if (typeParameterNodes) {\n typeArguments = this.resolveTypeArguments(\n typeParameterNodes,\n typeArgumentNodes,\n flow,\n ctxElement,\n ctxTypes = cloneMap(ctxTypes), // update\n node,\n reportMode\n );\n if (!typeArguments) return null;\n } else if (typeArgumentNodes && typeArgumentNodes.length > 0) {\n this.error(\n DiagnosticCode.Type_0_is_not_generic,\n node.range, nameNode.identifier.text\n );\n }\n let type = this.resolveType(\n typeDefinition.typeNode,\n flow,\n element,\n ctxTypes,\n reportMode\n );\n if (!type) return null;\n if (node.isNullable) {\n if (type.isReference) return type.asNullable();\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Type_0_cannot_be_nullable,\n nameNode.range, nameNode.identifier.text\n );\n }\n }\n return type;\n }\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Cannot_find_name_0,\n nameNode.range, nameNode.identifier.text\n );\n }\n return null;\n }\n\n /** Resolves a {@link FunctionTypeNode} to a concrete {@link Type}. */\n private resolveFunctionType(\n /** The type to resolve. */\n node: FunctionTypeNode,\n /** The flow */\n flow: Flow | null,\n /** Contextual element. */\n ctxElement: Element,\n /** Contextual types, i.e. `T`. */\n ctxTypes: Map | null = null,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Type | null {\n let explicitThisType = node.explicitThisType;\n let thisType: Type | null = null;\n if (explicitThisType) {\n thisType = this.resolveType(\n explicitThisType,\n flow,\n ctxElement,\n ctxTypes,\n reportMode\n );\n if (!thisType) return null;\n }\n let parameterNodes = node.parameters;\n let numParameters = parameterNodes.length;\n let parameterTypes = new Array(numParameters);\n let requiredParameters = 0;\n let hasRest = false;\n for (let i = 0; i < numParameters; ++i) {\n let parameterNode = parameterNodes[i];\n switch (parameterNode.parameterKind) {\n case ParameterKind.Default: {\n requiredParameters = i + 1;\n break;\n }\n case ParameterKind.Rest: {\n assert(i == numParameters - 1);\n hasRest = true;\n break;\n }\n }\n let parameterTypeNode = parameterNode.type;\n if (isTypeOmitted(parameterTypeNode)) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Type_expected,\n parameterTypeNode.range\n );\n }\n return null;\n }\n let parameterType = this.resolveType(\n parameterTypeNode,\n flow,\n ctxElement,\n ctxTypes,\n reportMode\n );\n if (!parameterType) return null;\n parameterTypes[i] = parameterType;\n }\n let returnTypeNode = node.returnType;\n let returnType: Type | null;\n if (isTypeOmitted(returnTypeNode)) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Type_expected,\n returnTypeNode.range\n );\n }\n returnType = Type.void;\n } else {\n returnType = this.resolveType(\n returnTypeNode,\n flow,\n ctxElement,\n ctxTypes,\n reportMode\n );\n if (!returnType) return null;\n }\n let signature = Signature.create(this.program, parameterTypes, returnType, thisType, requiredParameters, hasRest);\n return node.isNullable ? signature.type.asNullable() : signature.type;\n }\n\n private resolveBuiltinNativeType(\n /** The type to resolve. */\n node: NamedTypeNode,\n /** Contextual element. */\n ctxElement: Element,\n /** Contextual types, i.e. `T`. */\n ctxTypes: Map | null = null,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Type | null {\n const typeArgumentNode = this.ensureOneTypeArgument(node, reportMode);\n if (!typeArgumentNode) return null;\n let typeArgument = this.resolveType(typeArgumentNode, null, ctxElement, ctxTypes, reportMode);\n if (!typeArgument) return null;\n switch (typeArgument.kind) {\n case TypeKind.I8:\n case TypeKind.I16:\n case TypeKind.I32: return Type.i32;\n case TypeKind.Isize: if (!this.program.options.isWasm64) return Type.i32;\n case TypeKind.I64: return Type.i64;\n case TypeKind.U8:\n case TypeKind.U16:\n case TypeKind.U32:\n case TypeKind.Bool: return Type.u32;\n case TypeKind.Usize: if (!this.program.options.isWasm64) return Type.u32;\n case TypeKind.U64: return Type.u64;\n case TypeKind.F32: return Type.f32;\n case TypeKind.F64: return Type.f64;\n case TypeKind.V128: return Type.v128;\n case TypeKind.Void: return Type.void;\n default: assert(false);\n }\n return null;\n }\n\n private resolveBuiltinIndexofType(\n /** The type to resolve. */\n node: NamedTypeNode,\n /** Contextual element. */\n ctxElement: Element,\n /** Contextual types, i.e. `T`. */\n ctxTypes: Map | null = null,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Type | null {\n const typeArgumentNode = this.ensureOneTypeArgument(node, reportMode);\n if (!typeArgumentNode) return null;\n let typeArgument = this.resolveType(typeArgumentNode, null, ctxElement, ctxTypes, reportMode);\n if (!typeArgument) return null;\n let classReference = typeArgument.classReference;\n if (!classReference) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Index_signature_is_missing_in_type_0,\n typeArgumentNode.range, typeArgument.toString()\n );\n }\n return null;\n }\n let overload = classReference.lookupOverload(OperatorKind.IndexedGet);\n if (overload) {\n let parameterTypes = overload.signature.parameterTypes;\n if (overload.is(CommonFlags.Static)) {\n assert(parameterTypes.length == 2);\n return parameterTypes[1];\n } else {\n assert(parameterTypes.length == 1);\n return parameterTypes[0];\n }\n }\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Index_signature_is_missing_in_type_0,\n typeArgumentNode.range, typeArgument.toString()\n );\n }\n return null;\n }\n\n private resolveBuiltinValueofType(\n /** The type to resolve. */\n node: NamedTypeNode,\n /** Contextual element. */\n ctxElement: Element,\n /** Contextual types, i.e. `T`. */\n ctxTypes: Map | null = null,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Type | null {\n const typeArgumentNode = this.ensureOneTypeArgument(node, reportMode);\n if (!typeArgumentNode) return null;\n let typeArgument = this.resolveType(typeArgumentNode, null, ctxElement, ctxTypes, reportMode);\n if (!typeArgument) return null;\n let classReference = typeArgument.getClassOrWrapper(this.program);\n if (classReference) {\n let overload = classReference.lookupOverload(OperatorKind.IndexedGet);\n if (overload) return overload.signature.returnType;\n }\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Index_signature_is_missing_in_type_0,\n typeArgumentNode.range, typeArgument.toString()\n );\n }\n return null;\n }\n\n private resolveBuiltinReturnTypeType(\n /** The type to resolve. */\n node: NamedTypeNode,\n /** Contextual element. */\n ctxElement: Element,\n /** Contextual types, i.e. `T`. */\n ctxTypes: Map | null = null,\n /** How to proceed with eventualy diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Type | null {\n const typeArgumentNode = this.ensureOneTypeArgument(node, reportMode);\n if (!typeArgumentNode) return null;\n let typeArgument = this.resolveType(typeArgumentNode, null, ctxElement, ctxTypes, reportMode);\n if (!typeArgument) return null;\n let signatureReference = typeArgument.getSignature();\n if (signatureReference) return signatureReference.returnType;\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Type_0_has_no_call_signatures,\n typeArgumentNode.range, typeArgument.toString()\n );\n }\n return null;\n }\n\n private resolveBuiltinNotNullableType(\n /** The type to resolve. */\n node: NamedTypeNode,\n /** Contextual element. */\n ctxElement: Element,\n /** Contextual types, i.e. `T`. */\n ctxTypes: Map | null = null,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Type | null {\n const typeArgumentNode = this.ensureOneTypeArgument(node, reportMode);\n if (!typeArgumentNode) return null;\n let typeArgument = this.resolveType(typeArgumentNode, null, ctxElement, ctxTypes, reportMode);\n if (!typeArgument) return null;\n if (!typeArgument.isNullableReference) return typeArgument;\n return typeArgument.nonNullableType;\n }\n\n /** Resolves a type name to the program element it refers to. */\n resolveTypeName(\n /** The type name to resolve. */\n node: TypeName,\n /** The flow */\n flow: Flow | null,\n /** Contextual element. */\n ctxElement: Element,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Element | null {\n let element: Element | null = null;\n if (flow) element = flow.lookupTypeAlias(node.identifier.text);\n if (!element) element = ctxElement.lookup(node.identifier.text, true);\n if (!element) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Cannot_find_name_0,\n node.range, node.identifier.text\n );\n }\n return null;\n }\n let prev = node;\n let next = node.next;\n while (next) {\n if (!(element = element.getMember(next.identifier.text))) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Property_0_does_not_exist_on_type_1,\n next.range, next.identifier.text, prev.identifier.text\n );\n }\n return null;\n }\n prev = next;\n next = next.next;\n }\n return element;\n }\n\n /** Resolves an array of type arguments to concrete types. */\n resolveTypeArguments(\n /** Type parameter nodes present. */\n typeParameters: TypeParameterNode[],\n /** Type argument nodes provided. */\n typeArgumentNodes: TypeNode[] | null,\n /** Flow */\n flow: Flow | null,\n /** Contextual element. */\n ctxElement: Element,\n /** Contextual types, i.e. `T`. Updated in place with the new set of contextual types. */\n ctxTypes: Map = new Map(),\n /** Alternative report node in case of empty type arguments. */\n alternativeReportNode: Node | null = null,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Type[] | null {\n let minParameterCount = 0;\n let maxParameterCount = 0;\n for (let i = 0, k = typeParameters.length; i < k; ++i) {\n if (!typeParameters[i].defaultType) ++minParameterCount;\n ++maxParameterCount;\n }\n let argumentCount = typeArgumentNodes ? typeArgumentNodes.length : 0;\n if (argumentCount < minParameterCount || argumentCount > maxParameterCount) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Expected_0_type_arguments_but_got_1,\n argumentCount\n ? Range.join(\n typeArgumentNodes![0].range,\n typeArgumentNodes![argumentCount - 1].range\n )\n : alternativeReportNode!.range,\n (argumentCount < minParameterCount ? minParameterCount : maxParameterCount).toString(),\n argumentCount.toString()\n );\n }\n return null;\n }\n let typeArguments = new Array(maxParameterCount);\n let oldCtxTypes = cloneMap(ctxTypes);\n ctxTypes.clear();\n for (let i = 0; i < maxParameterCount; ++i) {\n let type = i < argumentCount\n ? this.resolveType( // reports\n typeArgumentNodes![i],\n flow,\n ctxElement,\n oldCtxTypes, // update\n reportMode\n )\n : this.resolveType( // reports\n assert(typeParameters[i].defaultType),\n flow,\n ctxElement,\n cloneMap(ctxTypes), // don't update\n reportMode\n );\n if (!type) return null;\n // TODO: check extendsType\n ctxTypes.set(typeParameters[i].name.text, type);\n typeArguments[i] = type;\n }\n return typeArguments;\n }\n\n /** Resolves respectively infers the concrete instance of a function by call context. */\n maybeInferCall(\n node: CallExpression,\n prototype: FunctionPrototype,\n ctxFlow: Flow,\n reportMode: ReportMode = ReportMode.Report\n ): Function | null {\n let typeArguments = node.typeArguments;\n\n // resolve generic call if type arguments have been provided\n if (typeArguments) {\n if (!prototype.is(CommonFlags.Generic)) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Type_0_is_not_generic,\n node.expression.range, prototype.internalName\n );\n }\n return null;\n }\n return this.resolveFunctionInclTypeArguments(\n prototype,\n typeArguments,\n ctxFlow.sourceFunction,\n cloneMap(ctxFlow.contextualTypeArguments), // don't inherit\n node,\n reportMode\n );\n }\n\n // infer generic call if type arguments have been omitted\n if (prototype.is(CommonFlags.Generic)) {\n let contextualTypeArguments = cloneMap(ctxFlow.contextualTypeArguments);\n\n // fill up contextual types with auto for each generic component\n let typeParameterNodes = assert(prototype.typeParameterNodes);\n let numTypeParameters = typeParameterNodes.length;\n let typeParameterNames = new Set();\n for (let i = 0; i < numTypeParameters; ++i) {\n let name = typeParameterNodes[i].name.text;\n contextualTypeArguments.set(name, Type.auto);\n typeParameterNames.add(name);\n }\n\n let parameterNodes = prototype.functionTypeNode.parameters;\n let numParameters = parameterNodes.length;\n let argumentNodes = node.args;\n let numArguments = argumentNodes.length;\n\n // infer types with generic components while updating contextual types\n for (let i = 0; i < numParameters; ++i) {\n let argumentExpression = i < numArguments\n ? argumentNodes[i]\n : parameterNodes[i].initializer;\n if (!argumentExpression) {\n // optional but not have initializer should be handled in the other place\n if (parameterNodes[i].parameterKind == ParameterKind.Optional) {\n continue;\n }\n // missing initializer -> too few arguments\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Expected_0_arguments_but_got_1,\n node.range, numParameters.toString(), numArguments.toString()\n );\n }\n return null;\n }\n let typeNode = parameterNodes[i].type;\n if (typeNode.hasGenericComponent(typeParameterNodes)) {\n let type = this.resolveExpression(argumentExpression, ctxFlow, Type.auto, ReportMode.Swallow);\n if (type) {\n this.propagateInferredGenericTypes(\n typeNode,\n type,\n prototype,\n contextualTypeArguments,\n typeParameterNames\n );\n }\n }\n }\n\n // apply concrete types to the generic function signature\n let resolvedTypeArguments = new Array(numTypeParameters);\n for (let i = 0; i < numTypeParameters; ++i) {\n let typeParameterNode = typeParameterNodes[i];\n let name = typeParameterNode.name.text;\n if (contextualTypeArguments.has(name)) {\n let inferredType = assert(contextualTypeArguments.get(name));\n if (inferredType != Type.auto) {\n resolvedTypeArguments[i] = inferredType;\n continue;\n }\n let defaultType = typeParameterNode.defaultType;\n if (defaultType) {\n // Default parameters are resolved in context of the called function, not the calling function\n let parent = prototype.parent;\n let defaultTypeContextualTypeArguments: Map | null = null;\n if (parent.kind == ElementKind.Class) {\n defaultTypeContextualTypeArguments = (parent).contextualTypeArguments;\n } else if (parent.kind == ElementKind.Function) {\n defaultTypeContextualTypeArguments = (parent).contextualTypeArguments;\n }\n let resolvedDefaultType = this.resolveType(\n defaultType,\n null,\n prototype,\n defaultTypeContextualTypeArguments,\n reportMode\n );\n if (!resolvedDefaultType) return null;\n resolvedTypeArguments[i] = resolvedDefaultType;\n continue;\n }\n }\n // unused template, e.g. `function test(): void {...}` called as `test()`\n // invalid because the type is effectively unknown inside the function body\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Type_argument_expected,\n node.expression.range.atEnd\n );\n }\n return null;\n }\n return this.resolveFunction(\n prototype,\n resolvedTypeArguments,\n cloneMap(ctxFlow.contextualTypeArguments),\n reportMode\n );\n }\n\n // otherwise resolve the non-generic call as usual\n return this.resolveFunction(prototype, null, new Map(), reportMode);\n }\n\n /** Updates contextual types with a possibly encapsulated inferred type. */\n private propagateInferredGenericTypes(\n /** The inferred type node. */\n node: TypeNode,\n /** The inferred type. */\n type: Type,\n /** Contextual element. */\n ctxElement: Element,\n /** Contextual types, i.e. `T`, with unknown types initialized to `auto`. */\n ctxTypes: Map,\n /** The names of the type parameters being inferred. */\n typeParameterNames: Set\n ): void {\n if (node.kind == NodeKind.NamedType) {\n let namedTypeNode = node;\n let typeArgumentNodes = namedTypeNode.typeArguments;\n if (typeArgumentNodes && typeArgumentNodes.length > 0) { // foo(bar: Array)\n let classReference = type.classReference;\n if (classReference) {\n let classPrototype = this.resolveTypeName(namedTypeNode.name, null, ctxElement);\n if (!classPrototype || classPrototype.kind != ElementKind.ClassPrototype) return;\n if (classReference.prototype == classPrototype) {\n let typeArguments = classReference.typeArguments;\n if (typeArguments && typeArguments.length == typeArgumentNodes.length) {\n for (let i = 0, k = typeArguments.length; i < k; ++i) {\n this.propagateInferredGenericTypes(\n typeArgumentNodes[i],\n typeArguments[i],\n ctxElement,\n ctxTypes,\n typeParameterNames\n );\n }\n return;\n }\n }\n }\n } else { // foo(bar: T)\n let name = namedTypeNode.name.identifier.text;\n if (ctxTypes.has(name)) {\n let currentType = assert(ctxTypes.get(name));\n if (\n currentType == Type.auto ||\n (typeParameterNames.has(name) && currentType.isAssignableTo(type))\n ) ctxTypes.set(name, type);\n }\n }\n } else if (node.kind == NodeKind.FunctionType) { // foo(bar: (baz: T) => i32))\n let functionTypeNode = node;\n let parameterNodes = functionTypeNode.parameters;\n let signatureReference = type.signatureReference;\n if (signatureReference) {\n let parameterTypes = signatureReference.parameterTypes;\n for (let i = 0, k = min(parameterTypes.length, parameterNodes.length) ; i < k; ++i) {\n this.propagateInferredGenericTypes(\n parameterNodes[i].type,\n parameterTypes[i],\n ctxElement,\n ctxTypes,\n typeParameterNames\n );\n }\n let returnType = signatureReference.returnType;\n if (returnType != Type.void) {\n this.propagateInferredGenericTypes(\n functionTypeNode.returnType,\n returnType,\n ctxElement,\n ctxTypes,\n typeParameterNames\n );\n }\n let thisType = signatureReference.thisType;\n let explicitThisType = functionTypeNode.explicitThisType;\n if (thisType && explicitThisType) {\n this.propagateInferredGenericTypes(\n explicitThisType,\n thisType,\n ctxElement,\n ctxTypes,\n typeParameterNames\n );\n }\n return;\n }\n }\n }\n\n /** Gets the concrete type of an element. */\n getTypeOfElement(element: Element): Type | null {\n let kind = element.kind;\n if (kind == ElementKind.Global) {\n if (!this.ensureResolvedLazyGlobal(element, ReportMode.Swallow)) return null;\n }\n if (isTypedElement(kind)) {\n let type = (element).type;\n let classReference = type.getClassOrWrapper(this.program);\n if (classReference) {\n let wrappedType = classReference.wrappedType;\n if (wrappedType) type = wrappedType;\n }\n return type;\n }\n return null;\n }\n\n /** Gets the element of a concrete type. */\n getElementOfType(type: Type): Element | null {\n let classReference = type.getClassOrWrapper(this.program);\n if (classReference) return classReference;\n return null;\n }\n\n // =================================================== Expressions ===================================================\n\n /** Looks up the program element the specified expression refers to. */\n lookupExpression(\n /** The expression to look up. */\n node: Expression,\n /** Contextual flow. */\n ctxFlow: Flow,\n /** Contextual type. */\n ctxType: Type = Type.auto,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Element | null {\n while (node.kind == NodeKind.Parenthesized) { // skip\n node = (node).expression;\n }\n switch (node.kind) {\n case NodeKind.Assertion: {\n return this.lookupAssertionExpression(\n node,\n ctxFlow, ctxType, reportMode\n );\n }\n case NodeKind.Binary: {\n return this.lookupBinaryExpression(\n node,\n ctxFlow, ctxType, reportMode\n );\n }\n case NodeKind.Call: {\n return this.lookupCallExpression(\n node,\n ctxFlow, ctxType, reportMode\n );\n }\n case NodeKind.Comma: {\n return this.lookupCommaExpression(\n node,\n ctxFlow, ctxType, reportMode\n );\n }\n case NodeKind.ElementAccess: {\n return this.lookupElementAccessExpression(\n node,\n ctxFlow, ctxType, reportMode\n );\n }\n case NodeKind.Function: {\n return this.lookupFunctionExpression(\n node,\n ctxFlow, ctxType, reportMode\n );\n }\n case NodeKind.Identifier:\n case NodeKind.False:\n case NodeKind.Null:\n case NodeKind.True: {\n return this.lookupIdentifierExpression(\n node,\n ctxFlow, ctxFlow.sourceFunction, reportMode\n );\n }\n case NodeKind.This: {\n return this.lookupThisExpression(\n node,\n ctxFlow, ctxType, reportMode\n );\n }\n case NodeKind.Super: {\n return this.lookupSuperExpression(\n node,\n ctxFlow, ctxType, reportMode\n );\n }\n case NodeKind.InstanceOf: {\n return this.lookupInstanceOfExpression(\n node,\n ctxFlow, ctxType, reportMode\n );\n }\n case NodeKind.Literal: {\n return this.lookupLiteralExpression(\n node,\n ctxFlow, ctxType, reportMode\n );\n }\n case NodeKind.New: {\n return this.lookupNewExpression(\n node,\n ctxFlow, ctxType, reportMode\n );\n }\n case NodeKind.PropertyAccess: {\n return this.lookupPropertyAccessExpression(\n node,\n ctxFlow, ctxType, reportMode\n );\n }\n case NodeKind.Ternary: {\n return this.lookupTernaryExpression(\n node,\n ctxFlow, ctxType, reportMode\n );\n }\n case NodeKind.UnaryPostfix: {\n return this.lookupUnaryPostfixExpression(\n node,\n ctxFlow, ctxType, reportMode\n );\n }\n case NodeKind.UnaryPrefix: {\n return this.lookupUnaryPrefixExpression(\n node,\n ctxFlow, ctxType, reportMode\n );\n }\n }\n assert(false);\n return null;\n }\n\n /** resolving expressions */\n private resolvingExpressions: Set = new Set();\n\n /** Resolves an expression to its static type. */\n resolveExpression(\n /** The expression to resolve. */\n node: Expression,\n /** Contextual flow. */\n ctxFlow: Flow,\n /** Contextual type. */\n ctxType: Type = Type.auto,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Type | null {\n const resolvingExpressions = this.resolvingExpressions;\n if (resolvingExpressions.has(node)) return null;\n resolvingExpressions.add(node);\n const resolved = this.doResolveExpression(node, ctxFlow, ctxType, reportMode);\n resolvingExpressions.delete(node);\n return resolved;\n }\n\n /** Resolves an expression to its static type. (may cause stack overflow) */\n private doResolveExpression(\n node: Expression,\n ctxFlow: Flow,\n ctxType: Type = Type.auto,\n reportMode: ReportMode = ReportMode.Report\n ): Type | null {\n while (node.kind == NodeKind.Parenthesized) { // skip\n node = (node).expression;\n }\n switch (node.kind) {\n case NodeKind.Assertion: {\n return this.resolveAssertionExpression(\n node,\n ctxFlow, ctxType, reportMode\n );\n }\n case NodeKind.Binary: {\n return this.resolveBinaryExpression(\n node,\n ctxFlow, ctxType, reportMode\n );\n }\n case NodeKind.Call: {\n return this.resolveCallExpression(\n node,\n ctxFlow, ctxType, reportMode\n );\n }\n case NodeKind.Comma: {\n return this.resolveCommaExpression(\n node,\n ctxFlow, ctxType, reportMode\n );\n }\n case NodeKind.ElementAccess: {\n return this.resolveElementAccessExpression(\n node,\n ctxFlow, ctxType, reportMode\n );\n }\n case NodeKind.Function: {\n return this.resolveFunctionExpression(\n node,\n ctxFlow, ctxType, reportMode\n );\n }\n case NodeKind.Identifier:\n case NodeKind.False:\n case NodeKind.Null:\n case NodeKind.True: {\n return this.resolveIdentifierExpression(\n node,\n ctxFlow, ctxType, ctxFlow.sourceFunction, reportMode\n );\n }\n case NodeKind.This: {\n return this.resolveThisExpression(\n node,\n ctxFlow, ctxType, reportMode\n );\n }\n case NodeKind.Super: {\n return this.resolveSuperExpression(\n node,\n ctxFlow, ctxType, reportMode\n );\n }\n case NodeKind.InstanceOf: {\n return this.resolveInstanceOfExpression(\n node,\n ctxFlow, ctxType, reportMode\n );\n }\n case NodeKind.Literal: {\n return this.resolveLiteralExpression(\n node,\n ctxFlow, ctxType, reportMode\n );\n }\n case NodeKind.New: {\n return this.resolveNewExpression(\n node,\n ctxFlow, ctxType, reportMode\n );\n }\n case NodeKind.PropertyAccess: {\n return this.resolvePropertyAccessExpression(\n node,\n ctxFlow, ctxType, reportMode\n );\n }\n case NodeKind.Ternary: {\n return this.resolveTernaryExpression(\n node,\n ctxFlow, ctxType, reportMode\n );\n }\n case NodeKind.UnaryPostfix: {\n return this.resolveUnaryPostfixExpression(\n node,\n ctxFlow, ctxType, reportMode\n );\n }\n case NodeKind.UnaryPrefix: {\n return this.resolveUnaryPrefixExpression(\n node,\n ctxFlow, ctxType, reportMode\n );\n }\n }\n assert(false);\n return null;\n }\n\n /** Looks up the program element the specified identifier expression refers to. */\n lookupIdentifierExpression(\n /** The expression to look up. */\n node: IdentifierExpression,\n /** Flow to search for scoped locals. */\n ctxFlow: Flow,\n /** Element to search. */\n ctxElement: Element = ctxFlow.sourceFunction, // differs for enums and namespaces\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Element | null {\n switch (node.kind) {\n case NodeKind.True:\n case NodeKind.False:\n case NodeKind.Null: {\n let type = this.resolveIdentifierExpression(node, ctxFlow, Type.auto, ctxElement, reportMode);\n return type ? this.getElementOfType(type) : null;\n }\n }\n let name = node.text;\n let element: Element | null;\n if (element = ctxFlow.lookup(name)) {\n this.currentThisExpression = null;\n this.currentElementExpression = null;\n return element;\n }\n let outerFlow = ctxFlow.outer;\n if (outerFlow) {\n if (element = outerFlow.lookup(name)) {\n this.currentThisExpression = null;\n this.currentElementExpression = null;\n return element;\n }\n }\n if (element = ctxElement.lookup(name)) {\n this.currentThisExpression = null;\n this.currentElementExpression = null;\n return element;\n }\n if (element = this.program.lookup(name)) {\n this.currentThisExpression = null;\n this.currentElementExpression = null;\n return element;\n }\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Cannot_find_name_0,\n node.range, name\n );\n }\n return null;\n }\n\n /** Resolves an identifier to its static type. */\n private resolveIdentifierExpression(\n /** The expression to resolve. */\n node: IdentifierExpression,\n /** Flow to search for scoped locals. */\n ctxFlow: Flow,\n /** Contextual type. */\n ctxType: Type = Type.auto,\n /** Element to search. */\n ctxElement: Element = ctxFlow.sourceFunction, // differs for enums and namespaces\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Type | null {\n switch (node.kind) {\n case NodeKind.True:\n case NodeKind.False: return Type.bool;\n case NodeKind.Null: {\n let classReference = ctxType.getClass();\n if (classReference) {\n return classReference.type.asNullable();\n } else {\n let signatureReference = ctxType.getSignature();\n if (signatureReference) {\n return signatureReference.type.asNullable();\n } else if (ctxType.isExternalReference) {\n return ctxType; // TODO: nullable?\n }\n }\n return this.program.options.usizeType;\n }\n }\n let element = this.lookupIdentifierExpression(node, ctxFlow, ctxElement, reportMode);\n if (!element) return null;\n if (element.kind == ElementKind.FunctionPrototype) {\n let instance = this.resolveFunction(element, null, new Map(), reportMode);\n if (!instance) return null;\n element = instance;\n }\n let type = this.getTypeOfElement(element);\n if (!type) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Expression_cannot_be_represented_by_a_type,\n node.range\n );\n }\n }\n return type;\n }\n\n /** Resolves a lazily compiled global, i.e. a static class field or annotated `@lazy`. */\n private ensureResolvedLazyGlobal(global: Global, reportMode: ReportMode = ReportMode.Report): bool {\n if (global.is(CommonFlags.Resolved)) return true;\n let typeNode = global.typeNode;\n let type = typeNode\n ? this.resolveType(typeNode, null, global.parent, null, reportMode)\n : this.resolveExpression(\n assert(global.initializerNode),\n global.file.startFunction.flow,\n Type.auto,\n reportMode\n );\n if (!type) return false;\n global.setType(type); // also sets resolved\n return true;\n }\n\n /** Looks up the program element the specified property access expression refers to. */\n private lookupPropertyAccessExpression(\n /** The expression to look up. */\n node: PropertyAccessExpression,\n /** Contextual flow. */\n ctxFlow: Flow,\n /** Contextual type. */\n ctxType: Type,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Element | null {\n let targetNode = node.expression;\n let target = this.lookupExpression(targetNode, ctxFlow, ctxType, reportMode); // reports\n if (!target) return null;\n let propertyName = node.property.text;\n\n // Resolve variable-likes to their class type first\n switch (target.kind) {\n case ElementKind.Global: if (!this.ensureResolvedLazyGlobal(target, reportMode)) return null;\n case ElementKind.EnumValue:\n case ElementKind.Local: { // someVar.prop\n let variableLikeElement = target;\n let type = variableLikeElement.type;\n if (type == Type.void) return null; // errored earlier\n let classReference = type.getClassOrWrapper(this.program);\n if (!classReference) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Property_0_does_not_exist_on_type_1,\n node.property.range, propertyName, variableLikeElement.type.toString()\n );\n }\n return null;\n }\n target = classReference;\n break;\n }\n case ElementKind.PropertyPrototype: { // SomeClass.prop\n let propertyInstance = this.resolveProperty(target, reportMode);\n if (!propertyInstance) return null;\n target = propertyInstance;\n // fall-through\n }\n case ElementKind.Property: { // someInstance.prop\n let propertyInstance = target;\n let getterInstance = propertyInstance.getterInstance;\n if (!getterInstance) {\n // In TS, getters without setters return `undefined`. Since AS doesn't have\n // undefined, we instead diagnose it at compile time, but this isn't\n // compatible with TS.\n let setterInstance = assert(propertyInstance.setterInstance);\n this.errorRelated(\n DiagnosticCode.Property_0_only_has_a_setter_and_is_missing_a_getter,\n targetNode.range, setterInstance.declaration.range, propertyInstance.name\n );\n return null;\n }\n let type = getterInstance.signature.returnType;\n let classReference = type.getClassOrWrapper(this.program);\n if (!classReference) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Property_0_does_not_exist_on_type_1,\n node.property.range, propertyName, type.toString()\n );\n }\n return null;\n }\n target = classReference;\n break;\n }\n case ElementKind.IndexSignature: { // someInstance[x].prop\n let indexSignature = target;\n let parent = indexSignature.parent;\n assert(parent.kind == ElementKind.Class);\n let classInstance = parent;\n let elementExpression = assert(this.currentElementExpression);\n let indexedGet = classInstance.lookupOverload(OperatorKind.IndexedGet);\n if (!indexedGet) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Index_signature_is_missing_in_type_0,\n elementExpression.range, parent.internalName\n );\n }\n return null;\n }\n let returnType = indexedGet.signature.returnType;\n let classReference = returnType.getClassOrWrapper(this.program);\n if (!classReference) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Property_0_does_not_exist_on_type_1,\n node.property.range, propertyName, returnType.toString()\n );\n }\n return null;\n }\n target = classReference;\n break;\n }\n case ElementKind.FunctionPrototype: {\n // Function with shadow type, i.e. function Symbol() + type Symbol = _Symbol\n let shadowType = target.shadowType;\n if (shadowType) {\n if (!shadowType.is(CommonFlags.Resolved)) {\n let resolvedType = this.resolveType(shadowType.typeNode, null, shadowType.parent, null, reportMode);\n if (resolvedType) shadowType.setType(resolvedType);\n }\n let classReference = shadowType.type.classReference;\n if (classReference) target = classReference.prototype;\n break;\n } else if (!target.is(CommonFlags.Generic)) {\n // Inherit from 'Function' if not overridden, i.e. fn.call\n let ownMember = target.getMember(propertyName);\n if (!ownMember) {\n let functionInstance = this.resolveFunction(target, null, new Map(), ReportMode.Swallow);\n if (functionInstance) {\n let wrapper = functionInstance.type.getClassOrWrapper(this.program);\n if (wrapper) target = wrapper;\n }\n }\n }\n break;\n }\n }\n\n // Look up the member within\n switch (target.kind) {\n case ElementKind.ClassPrototype:\n case ElementKind.InterfacePrototype:\n case ElementKind.Class:\n case ElementKind.Interface: {\n let classLikeTarget = target;\n let findBase = false; \n do {\n let member = classLikeTarget.getMember(propertyName);\n if (member) {\n if (member.kind == ElementKind.PropertyPrototype) {\n let propertyInstance = this.resolveProperty(member, reportMode);\n if (!propertyInstance) return null;\n member = propertyInstance;\n if (propertyInstance.is(CommonFlags.Static)) {\n this.currentThisExpression = null;\n } else {\n this.currentThisExpression = targetNode;\n }\n } else {\n this.currentThisExpression = targetNode;\n }\n this.currentElementExpression = null;\n return member; // instance FIELD, static GLOBAL, FUNCTION_PROTOTYPE, PROPERTY...\n }\n findBase = false;\n switch (classLikeTarget.kind) {\n case ElementKind.ClassPrototype:\n case ElementKind.InterfacePrototype: {\n // traverse inherited static members on the base prototype if target is a class prototype\n let classPrototype = classLikeTarget;\n let basePrototype = classPrototype.basePrototype;\n if (basePrototype) {\n findBase = true;\n classLikeTarget = basePrototype;\n }\n break;\n }\n case ElementKind.Class:\n case ElementKind.Interface: {\n // traverse inherited instance members on the base class if target is a class instance\n let classInstance = classLikeTarget;\n let baseInstance = classInstance.base;\n if (baseInstance) {\n findBase = true;\n classLikeTarget = baseInstance;\n }\n break;\n }\n }\n } while (findBase);\n break;\n }\n default: { // enums or other namespace-like elements\n let member = target.getMember(propertyName);\n if (member) {\n this.currentThisExpression = targetNode;\n this.currentElementExpression = null;\n return member; // static ENUMVALUE, static GLOBAL, static FUNCTION_PROTOTYPE...\n }\n break;\n }\n }\n\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Property_0_does_not_exist_on_type_1,\n node.property.range, propertyName, target.internalName\n );\n }\n return null;\n }\n\n /** Resolves a property access expression to its static type. */\n private resolvePropertyAccessExpression(\n /** The expression to resolve. */\n node: PropertyAccessExpression,\n /** Contextual flow. */\n ctxFlow: Flow,\n /** Contextual type. */\n ctxType: Type,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Type | null {\n let element = this.lookupPropertyAccessExpression(node, ctxFlow, ctxType, reportMode);\n if (!element) return null;\n let type = this.getTypeOfElement(element);\n if (!type) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Expression_cannot_be_represented_by_a_type,\n node.range\n );\n }\n }\n return type;\n }\n\n /** Looks up the program element the specified element access expression refers to. */\n private lookupElementAccessExpression(\n /** The expression to look up. */\n node: ElementAccessExpression,\n /** Contextual flow. */\n ctxFlow: Flow,\n /** Contextual type. */\n ctxType: Type,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Element | null {\n let targetExpression = node.expression;\n let targetType = this.resolveExpression(targetExpression, ctxFlow, ctxType, reportMode);\n if (!targetType) return null;\n let classReference = targetType.getClassOrWrapper(this.program);\n if (classReference) {\n do {\n let indexSignature = classReference.indexSignature;\n if (indexSignature) {\n this.currentThisExpression = targetExpression;\n this.currentElementExpression = node.elementExpression;\n return indexSignature;\n }\n classReference = classReference.base;\n } while(classReference);\n }\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Index_signature_is_missing_in_type_0,\n targetExpression.range, targetType.toString()\n );\n }\n return null;\n }\n\n /** Resolves an element access expression to its static type. */\n private resolveElementAccessExpression(\n /** The expression to resolve. */\n node: ElementAccessExpression,\n /** Contextual flow. */\n ctxFlow: Flow,\n /** Contextual type. */\n ctxType: Type,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Type | null {\n let element = this.lookupElementAccessExpression(node, ctxFlow, ctxType, reportMode);\n if (!element) return null;\n let type = this.getTypeOfElement(element);\n if (!type) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Expression_cannot_be_represented_by_a_type,\n node.range\n );\n }\n }\n return type;\n }\n\n /** Determines the final type of an integer literal given the specified contextual type. */\n determineIntegerLiteralType(\n /** Integer literal value. */\n expr: IntegerLiteralExpression,\n /** Has unary minus before literal. */\n negate: bool,\n /** Contextual type. */\n ctxType: Type\n ): Type {\n let intValue = expr.value;\n if (negate) {\n // x + i64.min > 0 -> underflow\n if (i64_gt(i64_add(intValue, i64_minimum), i64_zero)) {\n let range = expr.range;\n this.error(\n DiagnosticCode.Literal_0_does_not_fit_into_i64_or_u64_types,\n range, range.source.text.substring(range.start - 1, range.end)\n );\n } else if (i64_eq(intValue, i64_zero)) {\n // Special handling for -0\n if (ctxType.isFloatValue) {\n return ctxType.kind == TypeKind.F32\n ? Type.f32\n : Type.f64;\n } else if (!ctxType.isIntegerValue) {\n // If it's unknown just always assume this is f64\n return Type.f64;\n }\n }\n intValue = i64_neg(intValue);\n }\n if (ctxType.isValue) {\n // compile to contextual type if matching\n switch (ctxType.kind) {\n case TypeKind.Bool: {\n if (i64_is_bool(intValue)) return Type.bool;\n break;\n }\n case TypeKind.I8: {\n if (i64_is_i8(intValue)) return Type.i8;\n break;\n }\n case TypeKind.U8: {\n if (i64_is_u8(intValue)) return Type.u8;\n break;\n }\n case TypeKind.I16: {\n if (i64_is_i16(intValue)) return Type.i16;\n break;\n }\n case TypeKind.U16: {\n if (i64_is_u16(intValue)) return Type.u16;\n break;\n }\n case TypeKind.I32: {\n if (i64_is_i32(intValue)) return Type.i32;\n break;\n }\n case TypeKind.U32: {\n if (i64_is_u32(intValue)) return Type.u32;\n break;\n }\n case TypeKind.Isize: {\n if (!this.program.options.isWasm64) {\n if (i64_is_i32(intValue)) return Type.isize32;\n break;\n }\n return Type.isize64;\n }\n case TypeKind.Usize: {\n if (!this.program.options.isWasm64) {\n if (i64_is_u32(intValue)) return Type.usize32;\n break;\n }\n return Type.usize64;\n }\n case TypeKind.I64: return Type.i64;\n case TypeKind.U64: return Type.u64;\n case TypeKind.F32: return Type.f32;\n case TypeKind.F64: return Type.f64;\n }\n }\n // otherwise compile to best fitting type\n if (i64_is_i32(intValue)) return Type.i32;\n if (i64_is_u32(intValue)) return Type.u32;\n return Type.i64; // TODO: u64 if positive and larger than i64?\n }\n\n /** Looks up the program element the specified assertion expression refers to. */\n private lookupAssertionExpression(\n /** The expression to look up. */\n node: AssertionExpression,\n /** Contextual flow. */\n ctxFlow: Flow,\n /** Contextual type. */\n ctxType: Type = Type.auto,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Element | null {\n switch (node.assertionKind) {\n case AssertionKind.As:\n case AssertionKind.Prefix: {\n let type = this.resolveType(\n assert(node.toType), // must be set if not NONNULL\n null,\n ctxFlow.sourceFunction,\n ctxFlow.contextualTypeArguments,\n reportMode\n );\n if (!type) return null;\n let element = this.getElementOfType(type);\n if (element) return element;\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Type_0_is_illegal_in_this_context,\n node.range, type.toString()\n );\n }\n this.currentThisExpression = null;\n this.currentElementExpression = null;\n return null;\n }\n case AssertionKind.NonNull: {\n return this.lookupExpression(node.expression, ctxFlow, ctxType, reportMode);\n }\n case AssertionKind.Const: {\n // TODO: decide on the layout of ReadonlyArray first\n // let element = this.lookupExpression(node.expression, ctxFlow, ctxType, reportMode);\n // if (!element) return null;\n // if (element.kind == ElementKind.Class && (element).extends(this.program.arrayPrototype)) {\n // let elementType = assert((element).getTypeArgumentsTo(this.program.arrayPrototype))[0];\n // return this.resolveClass(this.program.readonlyArrayPrototype, [ elementType ]);\n // }\n this.error(\n DiagnosticCode.Not_implemented_0,\n node.range,\n \"Const assertion\"\n );\n return null;\n }\n }\n assert(false);\n return null;\n }\n\n /** Resolves an assertion expression to its static type. */\n private resolveAssertionExpression(\n /** The expression to resolve. */\n node: AssertionExpression,\n /** Contextual flow. */\n ctxFlow: Flow,\n /** Contextual type. */\n ctxType: Type = Type.auto,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Type | null {\n switch (node.assertionKind) {\n case AssertionKind.As:\n case AssertionKind.Prefix: {\n return this.resolveType(\n assert(node.toType),\n null,\n ctxFlow.sourceFunction,\n ctxFlow.contextualTypeArguments,\n reportMode\n );\n }\n case AssertionKind.NonNull: {\n let type = this.resolveExpression(node.expression, ctxFlow, ctxType, reportMode);\n return type ? type.nonNullableType : null;\n }\n case AssertionKind.Const: {\n let element = this.lookupExpression(node, ctxFlow, ctxType, reportMode);\n if (!element) return null;\n let type = this.getTypeOfElement(element);\n if (!type) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Expression_cannot_be_represented_by_a_type,\n node.range\n );\n }\n }\n return type;\n }\n default: assert(false);\n }\n return null;\n }\n\n /** Looks up the program element the specified unary prefix expression refers to. */\n private lookupUnaryPrefixExpression(\n /** The expression to look up. */\n node: UnaryPrefixExpression,\n /** Contextual flow. */\n ctxFlow: Flow,\n /** Contextual type. */\n ctxType: Type = Type.auto,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Element | null {\n let type = this.resolveUnaryPrefixExpression(node, ctxFlow, ctxType, reportMode);\n if (!type) return null;\n let element = this.getElementOfType(type);\n if (!element) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.The_0_operator_cannot_be_applied_to_type_1,\n node.range, operatorTokenToString(node.operator), type.toString()\n );\n }\n }\n return element;\n }\n\n /** Resolves an unary prefix expression to its static type. */\n private resolveUnaryPrefixExpression(\n /** The expression to resolve. */\n node: UnaryPrefixExpression,\n /** Contextual flow. */\n ctxFlow: Flow,\n /** Contextual type. */\n ctxType: Type = Type.auto,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Type | null {\n let operand = node.operand;\n let operator = node.operator;\n switch (operator) {\n case Token.Minus: {\n // implicitly negate if an integer literal to distinguish between i32/u32/i64\n if (operand.isLiteralKind(LiteralKind.Integer)) {\n return this.determineIntegerLiteralType(\n operand,\n true,\n ctxType\n );\n }\n // fall-through\n }\n case Token.Plus:\n case Token.Plus_Plus:\n case Token.Minus_Minus: {\n let type = this.resolveExpression(operand, ctxFlow, ctxType, reportMode);\n if (!type) return null;\n let classReference = type.getClassOrWrapper(this.program);\n if (classReference) {\n let overload = classReference.lookupOverload(OperatorKind.fromUnaryPrefixToken(operator));\n if (overload) return overload.signature.returnType;\n }\n if (!type.isNumericValue) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.The_0_operator_cannot_be_applied_to_type_1,\n node.range, operatorTokenToString(operator), type.toString()\n );\n }\n return null;\n }\n return type;\n }\n case Token.Exclamation: {\n let type = this.resolveExpression(operand, ctxFlow, ctxType, reportMode);\n if (!type) return null;\n let classReference = type.getClassOrWrapper(this.program);\n if (classReference) {\n let overload = classReference.lookupOverload(OperatorKind.Not);\n if (overload) return overload.signature.returnType;\n }\n return Type.bool; // incl. references\n }\n case Token.Tilde: {\n let type = this.resolveExpression(operand, ctxFlow, ctxType, reportMode);\n if (!type) return null;\n let classReference = type.getClassOrWrapper(this.program);\n if (classReference) {\n let overload = classReference.lookupOverload(OperatorKind.BitwiseNot);\n if (overload) return overload.signature.returnType;\n }\n if (!type.isNumericValue) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.The_0_operator_cannot_be_applied_to_type_1,\n node.range, \"~\", type.toString()\n );\n }\n return null;\n }\n return type.intType;\n }\n case Token.Dot_Dot_Dot: {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Not_implemented_0,\n node.range, \"Spread operator\"\n );\n }\n return null;\n }\n case Token.TypeOf: {\n return this.program.stringInstance.type;\n }\n default: assert(false);\n }\n return null;\n }\n\n /** Looks up the program element the specified unary postfix expression refers to. */\n private lookupUnaryPostfixExpression(\n /** The expression to resolve. */\n node: UnaryPostfixExpression,\n /** Contextual flow. */\n ctxFlow: Flow,\n /** Contextual type. */\n ctxType: Type = Type.auto,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Element | null {\n let type = this.resolveUnaryPostfixExpression(node, ctxFlow, ctxType, reportMode);\n if (!type) return null;\n let element = this.getElementOfType(type);\n if (!element) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.The_0_operator_cannot_be_applied_to_type_1,\n node.range, operatorTokenToString(node.operator), type.toString()\n );\n }\n }\n return element;\n }\n\n /** Resolves an unary postfix expression to its static type. */\n private resolveUnaryPostfixExpression(\n /** The expression to resolve. */\n node: UnaryPostfixExpression,\n /** Contextual flow. */\n ctxFlow: Flow,\n /** Contextual type. */\n ctxType: Type = Type.auto,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Type | null {\n let operator = node.operator;\n switch (operator) {\n case Token.Plus_Plus:\n case Token.Minus_Minus: {\n let type = this.resolveExpression(node.operand, ctxFlow, ctxType, reportMode);\n if (!type) return null;\n let classReference = type.getClassOrWrapper(this.program);\n if (classReference) {\n let overload = classReference.lookupOverload(OperatorKind.fromUnaryPostfixToken(operator));\n if (overload) return overload.signature.returnType;\n }\n if (!type.isNumericValue) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.The_0_operator_cannot_be_applied_to_type_1,\n node.range, operatorTokenToString(operator), type.toString()\n );\n }\n return null;\n }\n return type;\n }\n }\n assert(false);\n return null;\n }\n\n /** Looks up the program element the specified binary expression refers to. */\n private lookupBinaryExpression(\n /** The expression to look up. */\n node: BinaryExpression,\n /** Contextual flow. */\n ctxFlow: Flow,\n /** Contextual type. */\n ctxType: Type = Type.auto,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Element | null {\n let type = this.resolveBinaryExpression(node, ctxFlow, ctxType, reportMode);\n if (!type) return null;\n let element = this.getElementOfType(type);\n if (element) return element; // otherwise void\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Type_0_is_illegal_in_this_context,\n node.range, type.toString()\n );\n }\n return null;\n }\n\n /** Resolves a binary expression to its static type. */\n private resolveBinaryExpression(\n /** The expression to resolve. */\n node: BinaryExpression,\n /** Contextual flow. */\n ctxFlow: Flow,\n /** Contextual type. */\n ctxType: Type = Type.auto,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Type | null {\n let left = node.left;\n let right = node.right;\n let operator = node.operator;\n\n switch (operator) {\n\n // assignment: result is the target's type\n\n case Token.Equals:\n case Token.Plus_Equals:\n case Token.Minus_Equals:\n case Token.Asterisk_Equals:\n case Token.Asterisk_Asterisk_Equals:\n case Token.Slash_Equals:\n case Token.Percent_Equals:\n case Token.LessThan_LessThan_Equals:\n case Token.GreaterThan_GreaterThan_Equals:\n case Token.GreaterThan_GreaterThan_GreaterThan_Equals:\n case Token.Ampersand_Equals:\n case Token.Bar_Equals:\n case Token.Caret_Equals: {\n return this.resolveExpression(left, ctxFlow, ctxType, reportMode);\n }\n\n // comparison: result is Bool, preferring overloads, integer/float only\n\n case Token.LessThan:\n case Token.GreaterThan:\n case Token.LessThan_Equals:\n case Token.GreaterThan_Equals: {\n let leftType = this.resolveExpression(left, ctxFlow, ctxType, reportMode);\n if (!leftType) return null;\n let classReference = leftType.getClassOrWrapper(this.program);\n if (classReference) {\n let overload = classReference.lookupOverload(OperatorKind.fromBinaryToken(operator));\n if (overload) return overload.signature.returnType;\n }\n if (!leftType.isNumericValue) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.The_0_operator_cannot_be_applied_to_type_1,\n node.range, operatorTokenToString(operator), leftType.toString()\n );\n }\n return null;\n }\n return Type.bool;\n }\n\n // equality: result is Bool, preferring overloads, incl. references\n\n case Token.Equals_Equals:\n case Token.Exclamation_Equals: {\n let leftType = this.resolveExpression(left, ctxFlow, ctxType, reportMode);\n if (!leftType) return null;\n let classReference = leftType.getClassOrWrapper(this.program);\n if (classReference) {\n let overload = classReference.lookupOverload(OperatorKind.fromBinaryToken(operator));\n if (overload) return overload.signature.returnType;\n }\n return Type.bool;\n }\n\n // identity: result is Bool, not supporting overloads\n\n case Token.Equals_Equals_Equals:\n case Token.Exclamation_Equals_Equals: {\n return Type.bool;\n }\n\n // in operator\n\n case Token.In: {\n return Type.bool;\n }\n\n // arithmetics: result is common type of LHS and RHS, preferring overloads\n\n case Token.Plus:\n case Token.Minus:\n case Token.Asterisk:\n case Token.Slash:\n case Token.Percent: // mod has special logic, but also behaves like this\n case Token.Asterisk_Asterisk: {\n let leftType = this.resolveExpression(left, ctxFlow, ctxType, reportMode);\n if (!leftType) return null;\n let classReference = leftType.getClassOrWrapper(this.program);\n if (classReference) {\n let overload = classReference.lookupOverload(OperatorKind.fromBinaryToken(operator));\n if (overload) return overload.signature.returnType;\n }\n let rightType = this.resolveExpression(right, ctxFlow, leftType, reportMode);\n if (!rightType) return null;\n let commonType = Type.commonType(leftType, rightType, ctxType);\n if (!commonType) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Operator_0_cannot_be_applied_to_types_1_and_2,\n node.range, operatorTokenToString(operator), leftType.toString(), rightType.toString()\n );\n }\n }\n return commonType;\n }\n\n // shift: result is LHS (RHS is converted to LHS), preferring overloads\n\n case Token.LessThan_LessThan:\n case Token.GreaterThan_GreaterThan:\n case Token.GreaterThan_GreaterThan_GreaterThan: {\n let leftType = this.resolveExpression(left, ctxFlow, ctxType, reportMode);\n if (!leftType) return null;\n let classReference = leftType.getClassOrWrapper(this.program);\n if (classReference) {\n let overload = classReference.lookupOverload(OperatorKind.fromBinaryToken(operator));\n if (overload) return overload.signature.returnType;\n }\n if (!leftType.isIntegerValue) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.The_0_operator_cannot_be_applied_to_type_1,\n node.range, operatorTokenToString(operator), leftType.toString()\n );\n }\n return null;\n }\n return leftType;\n }\n\n // bitwise: result is common type of LHS and RHS with floats not being supported, preferring overloads\n\n case Token.Ampersand:\n case Token.Bar:\n case Token.Caret: {\n let leftType = this.resolveExpression(left, ctxFlow, ctxType, reportMode);\n if (!leftType) return null;\n let classReference = leftType.getClassOrWrapper(this.program);\n if (classReference) {\n let overload = classReference.lookupOverload(OperatorKind.fromBinaryToken(operator));\n if (overload) return overload.signature.returnType;\n }\n let rightType = this.resolveExpression(right, ctxFlow, ctxType, reportMode);\n if (!rightType) return null;\n let commonType = Type.commonType(leftType, rightType, ctxType);\n if (!commonType || !commonType.isIntegerValue) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Operator_0_cannot_be_applied_to_types_1_and_2,\n node.range, operatorTokenToString(operator), leftType.toString(), rightType.toString()\n );\n }\n }\n return commonType;\n }\n\n // logical\n\n case Token.Ampersand_Ampersand: {\n let leftType = this.resolveExpression(left, ctxFlow, ctxType, reportMode);\n if (!leftType) return null;\n let rightType = this.resolveExpression(right, ctxFlow, leftType, reportMode);\n if (!rightType) return null;\n let commonType = Type.commonType(leftType, rightType, ctxType);\n if (!commonType) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Operator_0_cannot_be_applied_to_types_1_and_2,\n node.range, \"&&\", leftType.toString(), rightType.toString()\n );\n }\n }\n return commonType;\n }\n case Token.Bar_Bar: {\n let leftType = this.resolveExpression(left, ctxFlow, ctxType, reportMode);\n if (!leftType) return null;\n let rightType = this.resolveExpression(right, ctxFlow, leftType, reportMode);\n if (!rightType) return null;\n let commonType = Type.commonType(leftType, rightType, ctxType);\n if (!commonType) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Operator_0_cannot_be_applied_to_types_1_and_2,\n node.range, \"||\", leftType.toString(), rightType.toString()\n );\n }\n return null;\n }\n // `LHS || RHS` can only be null if both LHS and RHS are null\n return leftType.is(TypeFlags.Nullable) && rightType.is(TypeFlags.Nullable)\n ? commonType\n : commonType.nonNullableType;\n }\n }\n assert(false);\n return null;\n }\n\n /** Looks up the program element the specified this expression refers to. */\n private lookupThisExpression(\n /** The expression to look up. */\n node: ThisExpression,\n /** Contextual flow. */\n ctxFlow: Flow,\n /** Contextual type. */\n ctxType: Type = Type.auto,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Element | null {\n if (ctxFlow.isInline) {\n let thisLocal = ctxFlow.lookupLocal(CommonNames.this_);\n if (thisLocal) {\n this.currentThisExpression = null;\n this.currentElementExpression = null;\n return thisLocal;\n }\n }\n let parent = ctxFlow.sourceFunction.parent;\n if (parent) {\n this.currentThisExpression = null;\n this.currentElementExpression = null;\n return parent;\n }\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode._this_cannot_be_referenced_in_current_location,\n node.range\n );\n }\n return null;\n }\n\n /** Resolves a this expression to its static type. */\n private resolveThisExpression(\n /** The expression to resolve. */\n node: ThisExpression,\n /** Contextual flow. */\n ctxFlow: Flow,\n /** Contextual type. */\n ctxType: Type = Type.auto,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Type | null {\n let element = this.lookupThisExpression(node, ctxFlow, ctxType, reportMode);\n if (!element) return null;\n let type = this.getTypeOfElement(element);\n if (!type) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Expression_cannot_be_represented_by_a_type,\n node.range\n );\n }\n }\n return type;\n }\n\n /** Looks up the program element the specified super expression refers to. */\n private lookupSuperExpression(\n /** The expression to look up. */\n node: SuperExpression,\n /** Contextual flow. */\n ctxFlow: Flow,\n /** Contextual type. */\n ctxType: Type = Type.auto,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Element | null {\n if (ctxFlow.isInline) {\n let superLocal = ctxFlow.lookupLocal(CommonNames.super_);\n if (superLocal) {\n this.currentThisExpression = null;\n this.currentElementExpression = null;\n return superLocal;\n }\n }\n let parent: Element | null = ctxFlow.sourceFunction.parent;\n if (parent && parent.kind == ElementKind.Class) {\n let base = (parent).base;\n if (base) {\n this.currentThisExpression = null;\n this.currentElementExpression = null;\n return base;\n }\n }\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode._super_can_only_be_referenced_in_a_derived_class,\n node.range\n );\n }\n return null;\n }\n\n /** Resolves a super expression to its static type. */\n private resolveSuperExpression(\n /** The expression to resolve. */\n node: SuperExpression,\n /** Contextual flow. */\n ctxFlow: Flow,\n /** Contextual type. */\n ctxType: Type = Type.auto,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Type | null {\n let element = this.lookupSuperExpression(node, ctxFlow, ctxType, reportMode);\n if (!element) return null;\n let type = this.getTypeOfElement(element);\n if (!type) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Expression_cannot_be_represented_by_a_type,\n node.range\n );\n }\n }\n return type;\n }\n\n /** Looks up the program element the specified literal expression refers to. */\n private lookupLiteralExpression(\n /** The expression to look up. */\n node: LiteralExpression,\n /** Contextual flow. */\n ctxFlow: Flow,\n /** Contextual type. */\n ctxType: Type = Type.auto,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Element | null {\n this.currentThisExpression = node;\n this.currentElementExpression = null;\n switch (node.literalKind) {\n case LiteralKind.Integer: {\n let intType = this.determineIntegerLiteralType(\n node,\n false,\n ctxType\n );\n return assert(intType.getClassOrWrapper(this.program));\n }\n case LiteralKind.Float: {\n let fltType = ctxType == Type.f32 ? Type.f32 : Type.f64;\n return assert(fltType.getClassOrWrapper(this.program));\n }\n case LiteralKind.String:\n case LiteralKind.Template: {\n return this.program.stringInstance;\n }\n case LiteralKind.RegExp: {\n return this.program.regexpInstance;\n }\n case LiteralKind.Array: {\n let classReference = ctxType.getClass();\n if (classReference && classReference.prototype == this.program.arrayPrototype) {\n return this.getElementOfType(ctxType);\n }\n // otherwise infer, ignoring ctxType\n let expressions = (node).elementExpressions;\n let length = expressions.length;\n let elementType = Type.auto;\n let numNullLiterals = 0;\n for (let i = 0, k = length; i < k; ++i) {\n let expression = expressions[i];\n if (expression) {\n if (expression.kind == NodeKind.Null && length > 1) {\n ++numNullLiterals;\n } else {\n let currentType = this.resolveExpression(expression, ctxFlow, elementType);\n if (!currentType) return null;\n if (elementType == Type.auto) elementType = currentType;\n else if (currentType != elementType) {\n let commonType = Type.commonType(elementType, currentType, elementType);\n if (commonType) elementType = commonType;\n // otherwise triggers error on compilation\n }\n }\n }\n }\n if (elementType /* still */ == Type.auto) {\n if (numNullLiterals == length) { // all nulls infers as usize\n elementType = this.program.options.usizeType;\n } else {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.The_type_argument_for_type_parameter_0_cannot_be_inferred_from_the_usage_Consider_specifying_the_type_arguments_explicitly,\n node.range, \"T\"\n );\n }\n return null;\n }\n }\n if (\n numNullLiterals > 0 &&\n elementType.isInternalReference\n ) {\n elementType = elementType.asNullable();\n }\n return assert(this.resolveClass(this.program.arrayPrototype, [ elementType ]));\n }\n case LiteralKind.Object: {\n if (ctxType.isClass) return ctxType.classReference;\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Expression_cannot_be_represented_by_a_type,\n node.range\n );\n }\n return null;\n }\n }\n assert(false);\n return null;\n }\n\n /** Resolves a literal expression to its static type. */\n private resolveLiteralExpression(\n /** The expression to resolve. */\n node: LiteralExpression,\n /** Contextual flow. */\n ctxFlow: Flow,\n /** Contextual type. */\n ctxType: Type = Type.auto,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Type | null {\n let element = this.lookupLiteralExpression(node, ctxFlow, ctxType, reportMode);\n if (!element) return null;\n let type = this.getTypeOfElement(element);\n if (!type) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Expression_cannot_be_represented_by_a_type,\n node.range\n );\n }\n }\n return type;\n }\n\n /** Looks up the program element the specified call expression refers to. */\n private lookupCallExpression(\n /** The expression to look up. */\n node: CallExpression,\n /** Contextual flow. */\n ctxFlow: Flow,\n /** Contextual type. */\n ctxType: Type = Type.void,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Element | null {\n let type = this.resolveCallExpression(node, ctxFlow, ctxType, reportMode);\n if (!type) return null;\n let element = this.getElementOfType(type);\n if (!element) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Type_0_is_illegal_in_this_context,\n node.range, type.toString()\n );\n }\n }\n return element;\n }\n\n /** Resolves a call expression to its static type. */\n private resolveCallExpression(\n /** The expression to resolve. */\n node: CallExpression,\n /** Contextual flow. */\n ctxFlow: Flow,\n /** Contextual type. */\n ctxType: Type = Type.void,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Type | null {\n let targetExpression = node.expression;\n let target = this.lookupExpression( // reports\n targetExpression,\n ctxFlow,\n ctxType,\n reportMode\n );\n if (!target) return null;\n switch (target.kind) {\n case ElementKind.FunctionPrototype: {\n let functionPrototype = target;\n // `unchecked` behaves like parenthesized\n if (\n functionPrototype.internalName == BuiltinNames.unchecked &&\n node.args.length > 0\n ) {\n return this.resolveExpression(node.args[0], ctxFlow, ctxType, reportMode);\n }\n let functionInstance = this.maybeInferCall(node, functionPrototype, ctxFlow, reportMode);\n if (!functionInstance) return null;\n target = functionInstance;\n // fall-through\n }\n case ElementKind.Function: {\n return (target).signature.returnType;\n }\n case ElementKind.PropertyPrototype: {\n let propertyInstance = this.resolveProperty(target, reportMode);\n if (!propertyInstance) return null;\n target = propertyInstance;\n // fall-through\n }\n default: {\n if (!isTypedElement(target.kind)) break;\n let targetElement = this.getElementOfType((target).type);\n if (!targetElement || targetElement.kind != ElementKind.Class) break;\n target = targetElement;\n // fall-through\n }\n case ElementKind.Class: {\n let typeArguments = (target).getTypeArgumentsTo(this.program.functionPrototype);\n if (!(typeArguments && typeArguments.length)) break;\n let signature = assert(typeArguments[0].getSignature());\n return signature.returnType;\n }\n }\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Cannot_invoke_an_expression_whose_type_lacks_a_call_signature_Type_0_has_no_compatible_call_signatures,\n targetExpression.range, target.internalName\n );\n }\n return null;\n }\n\n /** Looks up the program element the specified comma expression refers to. */\n private lookupCommaExpression(\n /** The expression to look up. */\n node: CommaExpression,\n /** Flow to search for scoped locals. */\n ctxFlow: Flow,\n /** Contextual type. */\n ctxType: Type = Type.auto,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Element | null {\n let expressions = node.expressions;\n return this.lookupExpression(expressions[assert(expressions.length) - 1], ctxFlow, ctxType, reportMode);\n }\n\n /** Resolves a comma expression to its static type. */\n private resolveCommaExpression(\n /** The expression to resolve. */\n node: CommaExpression,\n /** Flow to search for scoped locals. */\n ctxFlow: Flow,\n /** Contextual type. */\n ctxType: Type = Type.auto,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Type | null {\n let expressions = node.expressions;\n return this.resolveExpression(expressions[assert(expressions.length) - 1], ctxFlow, ctxType, reportMode);\n }\n\n /** Looks up the program element the specified instanceof expression refers to. */\n private lookupInstanceOfExpression(\n /** The expression to look up. */\n node: InstanceOfExpression,\n /** Flow to search for scoped locals. */\n ctxFlow: Flow,\n /** Contextual type. */\n ctxType: Type = Type.auto,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Element | null {\n return assert(Type.bool.getClassOrWrapper(this.program));\n }\n\n /** Resolves an instanceof expression to its static type. */\n private resolveInstanceOfExpression(\n /** The expression to resolve. */\n node: InstanceOfExpression,\n /** Flow to search for scoped locals. */\n ctxFlow: Flow,\n /** Contextual type. */\n ctxType: Type = Type.auto,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Type | null {\n return Type.bool;\n }\n\n /** Looks up the program element the specified ternary expression refers to. */\n private lookupTernaryExpression(\n /** The expression to look up. */\n node: TernaryExpression,\n /** Contextual flow. */\n ctxFlow: Flow,\n /** Contextual type. */\n ctxType: Type,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Element | null {\n let type = this.resolveTernaryExpression(node, ctxFlow, ctxType, reportMode);\n if (!type) return null;\n let element = this.getElementOfType(type);\n if (!element) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Type_0_is_illegal_in_this_context,\n node.range, type.toString()\n );\n }\n }\n return element;\n }\n\n /** Resolves a ternary expression to its static type. */\n private resolveTernaryExpression(\n /** The expression to resolve. */\n node: TernaryExpression,\n /** Contextual flow. */\n ctxFlow: Flow,\n /** Contextual type. */\n ctxType: Type,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Type | null {\n let thenType = this.resolveExpression(node.ifThen, ctxFlow, ctxType, reportMode);\n if (!thenType) return null;\n let elseType = this.resolveExpression(node.ifElse, ctxFlow, thenType, reportMode);\n if (!elseType) return null;\n let commonType = Type.commonType(thenType, elseType, ctxType);\n if (!commonType) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Operator_0_cannot_be_applied_to_types_1_and_2,\n node.range, \"?:\", thenType.toString(), elseType.toString()\n );\n }\n }\n return commonType;\n }\n\n /** Looks up the program element the specified new expression refers to. */\n private lookupNewExpression(\n /** The expression to look up. */\n node: NewExpression,\n /** Contextual flow. */\n ctxFlow: Flow,\n /** Contextual type. */\n ctxType: Type,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Element | null {\n let element = this.resolveTypeName(node.typeName, ctxFlow, ctxFlow.sourceFunction, reportMode);\n if (!element) return null;\n if (element.kind == ElementKind.ClassPrototype) {\n return this.resolveClassInclTypeArguments(\n element,\n node.typeArguments,\n ctxFlow,\n ctxFlow.sourceFunction,\n cloneMap(ctxFlow.contextualTypeArguments),\n node,\n reportMode\n );\n }\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.This_expression_is_not_constructable,\n node.range\n );\n }\n return null;\n }\n\n /** Resolves a new expression to its static type. */\n private resolveNewExpression(\n /** The expression to resolve. */\n node: NewExpression,\n /** Contextual flow. */\n ctxFlow: Flow,\n /** Contextual type. */\n ctxType: Type,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Type | null {\n let element = this.lookupNewExpression(node, ctxFlow, ctxType, reportMode);\n if (!element) return null;\n let type = this.getTypeOfElement(element);\n if (!type) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Expression_cannot_be_represented_by_a_type,\n node.range\n );\n }\n }\n return type;\n }\n\n /** Looks up the program element the specified function expression refers to. */\n private lookupFunctionExpression(\n /** The expression to look up. */\n node: FunctionExpression,\n /** Contextual flow. */\n ctxFlow: Flow,\n /** Contextual type. */\n ctxType: Type,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Element | null {\n let type = this.resolveFunctionExpression(node, ctxFlow, ctxType, reportMode);\n if (!type) return null;\n let element = this.getElementOfType(type);\n if (!element) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Type_0_is_illegal_in_this_context,\n node.range, type.toString()\n );\n }\n }\n return element;\n }\n\n /** Resolves a function expression to its static type. */\n private resolveFunctionExpression(\n /** The expression to resolve. */\n node: FunctionExpression,\n /** Contextual flow. */\n ctxFlow: Flow,\n /** Contextual type. */\n ctxType: Type,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Type | null {\n const declaration = node.declaration;\n const signature = declaration.signature;\n const body = declaration.body;\n let functionType = this.resolveType(signature, null, ctxFlow.sourceFunction, ctxFlow.contextualTypeArguments, reportMode);\n if (\n functionType &&\n declaration.arrowKind != ArrowKind.None &&\n body && body.kind == NodeKind.Expression &&\n isTypeOmitted(signature.returnType)\n ) {\n // (x) => ret, infer return type accordingt to `ret`\n const expr = (body).expression;\n let signatureReference = assert(functionType.getSignature());\n // create a temp flow to resolve expression\n let tempFlow = Flow.createDefault(ctxFlow.sourceFunction);\n let parameters = signature.parameters;\n // return type of resolveFunctionType should have same parameter length with signature\n assert(signatureReference.parameterTypes.length == parameters.length);\n for (let i = 0, k = parameters.length; i < k; i++) {\n const parameter = parameters[i];\n const type = signatureReference.parameterTypes[i];\n tempFlow.addScopedDummyLocal(parameter.name.text, type, parameter);\n }\n const type = this.resolveExpression(expr, tempFlow, ctxType, reportMode);\n if (type) {\n functionType.signatureReference = Signature.create(\n this.program,\n signatureReference.parameterTypes,\n type,\n signatureReference.thisType,\n signatureReference.requiredParameters,\n signatureReference.hasRest,\n );\n }\n }\n return functionType;\n }\n\n // ==================================================== Elements =====================================================\n\n /** Resolves a function prototype using the specified concrete type arguments. */\n resolveFunction(\n /** The prototype of the function. */\n prototype: FunctionPrototype,\n /** Type arguments provided. */\n typeArguments: Type[] | null,\n /** Contextual types, i.e. `T`. */\n ctxTypes: Map = new Map(),\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Function | null {\n let classInstance: Class | null = null; // if an instance method\n let instanceKey = typeArguments ? typesToString(typeArguments) : \"\";\n\n // Instance method prototypes are pre-bound to their concrete class as their parent\n if (prototype.is(CommonFlags.Instance)) {\n classInstance = assert(prototype.getBoundClassOrInterface());\n\n // check if this exact concrete class and function combination is known already\n let resolvedInstance = prototype.getResolvedInstance(instanceKey);\n if (resolvedInstance) return resolvedInstance;\n\n // inherit class specific type arguments\n let classTypeArguments = classInstance.typeArguments;\n if (classTypeArguments) {\n let classTypeParameters = assert(classInstance.prototype.typeParameterNodes);\n let numClassTypeArguments = classTypeParameters.length;\n assert(numClassTypeArguments == classTypeParameters.length);\n for (let i = 0; i < numClassTypeArguments; ++i) {\n let classTypeParameterName = classTypeParameters[i].name.text;\n // override contextual\n ctxTypes.set(classTypeParameterName, classTypeArguments[i]);\n }\n }\n } else {\n assert(!prototype.isBound);\n let resolvedInstance = prototype.getResolvedInstance(instanceKey);\n if (resolvedInstance) return resolvedInstance;\n }\n\n // override whatever is contextual with actual function type arguments\n let signatureNode = prototype.functionTypeNode;\n let typeParameterNodes = prototype.typeParameterNodes;\n let numFunctionTypeArguments: i32;\n if (typeArguments && (numFunctionTypeArguments = typeArguments.length) > 0) {\n assert(typeParameterNodes && numFunctionTypeArguments == typeParameterNodes.length);\n for (let i = 0; i < numFunctionTypeArguments; ++i) {\n ctxTypes.set(\n (typeParameterNodes)[i].name.text,\n typeArguments[i]\n );\n }\n } else {\n assert(!typeParameterNodes || typeParameterNodes.length == 0);\n }\n\n // resolve `this` type if applicable\n let thisType: Type | null = null;\n let explicitThisType = signatureNode.explicitThisType;\n if (explicitThisType) {\n thisType = this.resolveType(\n explicitThisType,\n null,\n prototype.parent, // relative to function\n ctxTypes,\n reportMode\n );\n if (!thisType) return null;\n ctxTypes.set(CommonNames.this_, thisType);\n } else if (classInstance) {\n thisType = classInstance.type;\n ctxTypes.set(CommonNames.this_, thisType);\n }\n\n // resolve parameter types\n let signatureParameters = signatureNode.parameters;\n let numSignatureParameters = signatureParameters.length;\n let parameterTypes = new Array(numSignatureParameters);\n let requiredParameters = 0;\n for (let i = 0; i < numSignatureParameters; ++i) {\n let parameterDeclaration = signatureParameters[i];\n if (parameterDeclaration.parameterKind == ParameterKind.Default) {\n requiredParameters = i + 1;\n }\n let typeNode = parameterDeclaration.type;\n if (isTypeOmitted(typeNode)) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Type_expected,\n typeNode.range\n );\n }\n return null;\n }\n let parameterType = this.resolveType(\n typeNode,\n null,\n prototype.parent, // relative to function\n ctxTypes,\n reportMode\n );\n if (!parameterType) return null;\n if (parameterType == Type.void) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Type_expected,\n typeNode.range\n );\n }\n return null;\n }\n parameterTypes[i] = parameterType;\n }\n\n // resolve return type\n let returnType: Type;\n if (prototype.is(CommonFlags.Set)) {\n returnType = Type.void; // not annotated\n } else if (prototype.is(CommonFlags.Constructor)) {\n returnType = classInstance!.type; // not annotated\n } else {\n let typeNode = signatureNode.returnType;\n if (isTypeOmitted(typeNode)) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Type_expected,\n typeNode.range\n );\n }\n return null;\n }\n let type = this.resolveType(\n typeNode,\n null,\n prototype.parent, // relative to function\n ctxTypes,\n reportMode\n );\n if (!type) return null;\n returnType = type;\n }\n\n let signature = Signature.create(this.program, parameterTypes, returnType, thisType, requiredParameters);\n\n let nameInclTypeParameters = prototype.name;\n if (instanceKey.length) nameInclTypeParameters += `<${instanceKey}>`;\n let instance = new Function(\n nameInclTypeParameters,\n prototype,\n typeArguments,\n signature,\n ctxTypes\n );\n prototype.setResolvedInstance(instanceKey, instance);\n\n // check against overridden base member\n if (classInstance) {\n let methodOrPropertyName = instance.declaration.name.text;\n let baseClass = classInstance.base;\n if (baseClass) {\n let baseMember = baseClass.getMember(methodOrPropertyName);\n if (baseMember) {\n // note override discovery (used by stub finalization)\n this.discoveredOverride = true;\n // verify that this is a compatible override\n let incompatibleOverride = true;\n if (instance.isAny(CommonFlags.Get | CommonFlags.Set)) {\n if (baseMember.kind == ElementKind.PropertyPrototype) {\n let baseProperty = this.resolveProperty(baseMember, reportMode);\n if (baseProperty) {\n if (instance.is(CommonFlags.Get)) {\n let baseGetter = baseProperty.getterInstance;\n if (baseGetter && instance.signature.isAssignableTo(baseGetter.signature, true)) {\n incompatibleOverride = false;\n }\n } else {\n assert(instance.is(CommonFlags.Set));\n let baseSetter = baseProperty.setterInstance;\n if (baseSetter && instance.signature.isAssignableTo(baseSetter.signature, true)) {\n incompatibleOverride = false;\n }\n }\n }\n }\n } else if (instance.is(CommonFlags.Constructor)) {\n incompatibleOverride = false;\n } else {\n if (baseMember.kind == ElementKind.FunctionPrototype) {\n // Possibly generic. Resolve with same type arguments to obtain the correct one.\n let basePrototype = baseMember;\n let baseFunction = this.resolveFunction(basePrototype, typeArguments, new Map(), ReportMode.Swallow);\n if (baseFunction && instance.signature.isAssignableTo(baseFunction.signature, true)) {\n incompatibleOverride = false;\n }\n }\n }\n if (incompatibleOverride) {\n this.errorRelated(\n DiagnosticCode.This_overload_signature_is_not_compatible_with_its_implementation_signature,\n instance.identifierAndSignatureRange, baseMember.identifierAndSignatureRange\n );\n }\n }\n }\n }\n return instance;\n }\n\n /** Resolves a function prototypeby first resolving the specified type arguments. */\n resolveFunctionInclTypeArguments(\n /** The prototype of the function. */\n prototype: FunctionPrototype,\n /** Type arguments provided to be resolved. */\n typeArgumentNodes: TypeNode[] | null,\n /** Contextual element. */\n ctxElement: Element,\n /** Contextual types, i.e. `T`. */\n ctxTypes: Map,\n /** The node to use when reporting intermediate errors. */\n reportNode: Node,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Function | null {\n let resolvedTypeArguments: Type[] | null = null;\n\n // Resolve type arguments if generic\n if (prototype.is(CommonFlags.Generic)) {\n\n // If this is an instance method, first apply the class's type arguments\n if (prototype.is(CommonFlags.Instance)) {\n let classInstance = assert(prototype.getBoundClassOrInterface());\n let classTypeArguments = classInstance.typeArguments;\n if (classTypeArguments) {\n let typeParameterNodes = assert(classInstance.prototype.typeParameterNodes);\n let numClassTypeArguments = classTypeArguments.length;\n assert(numClassTypeArguments == typeParameterNodes.length);\n for (let i = 0; i < numClassTypeArguments; ++i) {\n ctxTypes.set(\n typeParameterNodes[i].name.text,\n classTypeArguments[i]\n );\n }\n }\n }\n\n resolvedTypeArguments = this.resolveTypeArguments( // reports\n assert(prototype.typeParameterNodes),\n typeArgumentNodes,\n null,\n ctxElement,\n ctxTypes, // update\n reportNode,\n reportMode\n );\n if (!resolvedTypeArguments) return null;\n\n // Otherwise make sure that no type arguments have been specified\n } else {\n if (typeArgumentNodes && typeArgumentNodes.length > 0) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Type_0_is_not_generic,\n reportNode.range, prototype.internalName\n );\n }\n return null;\n }\n }\n\n // Continue with concrete types\n return this.resolveFunction(\n prototype,\n resolvedTypeArguments,\n ctxTypes,\n reportMode\n );\n }\n\n /** Resolves reachable overrides of the given instance method. */\n resolveOverrides(instance: Function): Function[] | null {\n let overridePrototypes = instance.prototype.unboundOverrides;\n if (!overridePrototypes) return null;\n\n let parentClassInstance = assert(instance.getBoundClassOrInterface());\n let overrides = new Set();\n\n // A method's `overrides` property contains its unbound override prototypes\n // so we first have to find the concrete classes it became bound to, obtain\n // their bound prototypes and make sure these are resolved.\n for (let _values = Set_values(overridePrototypes), i = 0, k = _values.length; i < k; ++i) {\n let unboundOverridePrototype = _values[i];\n assert(!unboundOverridePrototype.isBound);\n let unboundOverrideParent = unboundOverridePrototype.parent;\n let classInstances: Map | null;\n assert(unboundOverrideParent.kind == ElementKind.ClassPrototype || unboundOverrideParent.kind == ElementKind.InterfacePrototype);\n classInstances = (unboundOverrideParent).instances;\n if (!classInstances) continue;\n for (let _values = Map_values(classInstances), j = 0, l = _values.length; j < l; ++j) {\n let classInstance = _values[j];\n // Check if the parent class is a subtype of instance's class\n if (!classInstance.isAssignableTo(parentClassInstance)) continue;\n let overrideInstance: Function | null = null;\n if (instance.isAny(CommonFlags.Get | CommonFlags.Set)) {\n let propertyName = instance.declaration.name.text;\n let boundPropertyPrototype = assert(classInstance.getMember(propertyName));\n assert(boundPropertyPrototype.kind == ElementKind.PropertyPrototype);\n let boundPropertyInstance = this.resolveProperty(boundPropertyPrototype);\n if (!boundPropertyInstance) continue;\n if (instance.is(CommonFlags.Get)) {\n overrideInstance = boundPropertyInstance.getterInstance;\n } else {\n assert(instance.is(CommonFlags.Set));\n overrideInstance = boundPropertyInstance.setterInstance;\n }\n } else {\n let boundPrototype = classInstance.getMember(unboundOverridePrototype.name);\n if (boundPrototype) { // might have errored earlier and wasn't added\n assert(boundPrototype.kind == ElementKind.FunctionPrototype);\n overrideInstance = this.resolveFunction(boundPrototype, instance.typeArguments);\n }\n }\n if (overrideInstance) overrides.add(overrideInstance);\n }\n }\n return Set_values(overrides);\n }\n\n /** Currently resolving classes. */\n private resolveClassPending: Set = new Set();\n\n /** Resolves a class prototype using the specified concrete type arguments. */\n resolveClass(\n /** The prototype of the class. */\n prototype: ClassPrototype,\n /** Type arguments provided. */\n typeArguments: Type[] | null,\n /** Contextual types, i.e. `T`. */\n ctxTypes: Map = new Map(),\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Class | null {\n let instanceKey = typeArguments ? typesToString(typeArguments) : \"\";\n\n // Do not attempt to resolve the same class twice. This can return a class\n // that isn't fully resolved yet, but only on deeper levels of recursion.\n let instance = prototype.getResolvedInstance(instanceKey);\n if (instance) return instance;\n\n // Otherwise create\n let nameInclTypeParameters = prototype.name;\n if (instanceKey.length) nameInclTypeParameters += `<${instanceKey}>`;\n if (prototype.kind == ElementKind.InterfacePrototype) {\n instance = new Interface(nameInclTypeParameters, prototype, typeArguments);\n } else {\n instance = new Class(nameInclTypeParameters, prototype, typeArguments);\n }\n prototype.setResolvedInstance(instanceKey, instance);\n let pendingClasses = this.resolveClassPending;\n pendingClasses.add(instance);\n\n // Insert contextual type arguments for this operation. Internally, this method is always\n // called with matching type parameter / argument counts.\n if (typeArguments) {\n let typeParameterNodes = assert(prototype.typeParameterNodes);\n let numTypeParameters = typeParameterNodes.length;\n let numTypeArguments = typeArguments.length;\n assert(numTypeArguments == numTypeParameters);\n for (let i = 0; i < numTypeArguments; ++i) {\n ctxTypes.set(typeParameterNodes[i].name.text, typeArguments[i]);\n }\n } else {\n let typeParameterNodes = prototype.typeParameterNodes;\n assert(!(typeParameterNodes && typeParameterNodes.length > 0));\n }\n instance.contextualTypeArguments = ctxTypes;\n\n let anyPending = false;\n\n // Resolve base class if applicable\n let basePrototype = prototype.basePrototype;\n if (basePrototype) {\n let current: ClassPrototype | null = basePrototype;\n do {\n if (current == prototype) {\n this.error(\n DiagnosticCode._0_is_referenced_directly_or_indirectly_in_its_own_base_expression,\n prototype.identifierNode.range,\n prototype.internalName\n );\n return null;\n }\n current = current.basePrototype;\n } while (current);\n let extendsNode = assert(prototype.extendsNode); // must be present if it has a base prototype\n let base = this.resolveClassInclTypeArguments(\n basePrototype,\n extendsNode.typeArguments,\n null,\n prototype.parent, // relative to derived class\n cloneMap(ctxTypes), // don't inherit\n extendsNode,\n reportMode\n );\n if (!base) return null;\n instance.setBase(base);\n\n // If the base class is still pending, yield here and instead resolve any\n // derived classes once the base class's `finishResolveClass` is done.\n // This is guaranteed to never happen at the entry of the recursion, i.e.\n // where `resolveClass` is called from other code.\n if (pendingClasses.has(base)) anyPending = true;\n\n // Implicitly extend `Object` if a derived object\n } else if (prototype.implicitlyExtendsObject) {\n instance.setBase(this.program.objectInstance);\n }\n\n // Resolve interfaces if applicable\n let interfacePrototypes = prototype.interfacePrototypes;\n if (interfacePrototypes) {\n for (let i = 0, k = interfacePrototypes.length; i < k; ++i) {\n let interfacePrototype = interfacePrototypes[i];\n let current: ClassPrototype | null = interfacePrototype;\n do {\n if (current == prototype) {\n this.error(\n DiagnosticCode._0_is_referenced_directly_or_indirectly_in_its_own_base_expression,\n prototype.identifierNode.range,\n prototype.internalName\n );\n return null;\n }\n current = current.basePrototype;\n } while (current);\n let implementsNode = assert(prototype.implementsNodes![i]);\n let iface = this.resolveClassInclTypeArguments(\n interfacePrototype,\n implementsNode.typeArguments,\n null,\n prototype.parent,\n cloneMap(ctxTypes),\n implementsNode,\n reportMode\n );\n if (!iface) return null;\n assert(iface.kind == ElementKind.Interface);\n instance.addInterface(iface);\n\n // Like above, if any implemented interface is still pending, yield\n if (pendingClasses.has(iface)) anyPending = true;\n }\n }\n if (anyPending) return instance;\n\n // We only get here if the base class has been fully resolved already.\n this.finishResolveClass(instance, reportMode);\n return instance;\n }\n\n /** Checks whether an override's visibility is valid. */\n private checkOverrideVisibility(\n /** Name to report. */\n name: string,\n /** Overriding member. */\n thisMember: DeclaredElement,\n /** Overriding class. */\n thisClass: Class,\n /** Overridden member. */\n baseMember: DeclaredElement,\n /** Overridden class. */\n baseClass: Class,\n /** Report mode. */\n reportMode: ReportMode\n ): bool {\n let hasErrors = false;\n if (thisMember.is(CommonFlags.Constructor)) {\n assert(baseMember.is(CommonFlags.Constructor));\n if (baseMember.is(CommonFlags.Private)) {\n if (reportMode == ReportMode.Report) {\n this.errorRelated(\n DiagnosticCode.Cannot_extend_a_class_0_Class_constructor_is_marked_as_private,\n thisMember.identifierNode.range, baseMember.identifierNode.range,\n baseClass.internalName\n );\n }\n hasErrors = true;\n }\n } else if (thisMember.is(CommonFlags.Private)) {\n if (baseMember.is(CommonFlags.Private)) {\n if (reportMode == ReportMode.Report) {\n this.errorRelated(\n DiagnosticCode.Types_have_separate_declarations_of_a_private_property_0,\n thisMember.identifierNode.range, baseMember.identifierNode.range,\n name\n );\n }\n hasErrors = true;\n } else {\n if (reportMode == ReportMode.Report) {\n this.errorRelated(\n DiagnosticCode.Property_0_is_private_in_type_1_but_not_in_type_2,\n thisMember.identifierNode.range, baseMember.identifierNode.range,\n name, thisClass.internalName, baseClass.internalName\n );\n }\n hasErrors = true;\n }\n } else if (thisMember.is(CommonFlags.Protected)) {\n if (baseMember.is(CommonFlags.Private)) {\n if (reportMode == ReportMode.Report) {\n this.errorRelated(\n DiagnosticCode.Property_0_is_private_in_type_1_but_not_in_type_2,\n thisMember.identifierNode.range, baseMember.identifierNode.range,\n name, baseClass.internalName, thisClass.internalName\n );\n }\n hasErrors = true;\n } else if (baseMember.isPublic) {\n if (reportMode == ReportMode.Report) {\n this.errorRelated(\n DiagnosticCode.Property_0_is_protected_in_type_1_but_public_in_type_2,\n thisMember.identifierNode.range, baseMember.identifierNode.range,\n name, thisClass.internalName, baseClass.internalName\n );\n }\n hasErrors = true;\n } else {\n assert(baseMember.is(CommonFlags.Protected));\n }\n } else if (thisMember.isPublic) {\n if (baseMember.is(CommonFlags.Private)) {\n if (reportMode == ReportMode.Report) {\n this.errorRelated(\n DiagnosticCode.Property_0_is_private_in_type_1_but_not_in_type_2,\n thisMember.identifierNode.range, baseMember.identifierNode.range,\n name, baseClass.internalName, thisClass.internalName\n );\n }\n hasErrors = true;\n } else if (baseMember.is(CommonFlags.Protected)) {\n if (reportMode == ReportMode.Report) {\n this.errorRelated(\n DiagnosticCode.Property_0_is_protected_in_type_1_but_public_in_type_2,\n thisMember.identifierNode.range, baseMember.identifierNode.range,\n name, baseClass.internalName, thisClass.internalName\n );\n }\n hasErrors = true;\n } else {\n assert(baseMember.isPublic);\n }\n }\n return !hasErrors;\n }\n\n /** Finishes resolving the specified class. */\n private finishResolveClass(\n /** Class to finish resolving. */\n instance: Class,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode\n ): void {\n let members = instance.members;\n if (!members) instance.members = members = new Map();\n\n let pendingClasses = this.resolveClassPending;\n let unimplemented = new Map();\n // Alias implemented interface members\n let interfaces = instance.interfaces;\n if (interfaces) {\n for (let _values = Set_values(interfaces), i = 0, k = _values.length; i < k; ++i) {\n let iface = _values[i];\n assert(!pendingClasses.has(iface));\n let ifaceMembers = iface.members;\n if (ifaceMembers) {\n for (let _keys = Map_keys(ifaceMembers), i = 0, k = _keys.length; i < k; ++i) {\n let memberName = unchecked(_keys[i]);\n let ifaceMember = assert(ifaceMembers.get(memberName));\n let existingMember = instance.getMember(memberName);\n if (existingMember && !this.checkOverrideVisibility(memberName, existingMember, instance, ifaceMember, iface, reportMode)) {\n continue; // keep previous\n }\n members.set(memberName, ifaceMember);\n unimplemented.set(memberName, ifaceMember);\n }\n }\n }\n }\n\n // Alias base members\n let memoryOffset: u32 = 0;\n let base = instance.base;\n if (base) {\n let implicitlyExtendsObject = instance.prototype.implicitlyExtendsObject;\n assert(!pendingClasses.has(base));\n let baseMembers = base.members;\n if (baseMembers) {\n // TODO: for (let [baseMemberName, baseMember] of baseMembers) {\n for (let _keys = Map_keys(baseMembers), i = 0, k = _keys.length; i < k; ++i) {\n let memberName = unchecked(_keys[i]);\n let baseMember = assert(baseMembers.get(memberName));\n if (implicitlyExtendsObject && baseMember.is(CommonFlags.Static)) continue;\n let existingMember = instance.getMember(memberName);\n if (existingMember && !this.checkOverrideVisibility(memberName, existingMember, instance, baseMember, base, reportMode)) {\n continue; // keep previous\n }\n members.set(memberName, baseMember);\n if (baseMember.is(CommonFlags.Abstract)) {\n unimplemented.set(memberName, baseMember);\n } else {\n unimplemented.delete(memberName);\n }\n }\n }\n memoryOffset = base.nextMemoryOffset;\n }\n\n // Resolve instance members\n let prototype = instance.prototype;\n let instanceMemberPrototypes = prototype.instanceMembers;\n if (instanceMemberPrototypes) {\n // TODO: for (let member of instanceMemberPrototypes.values()) {\n for (let _values = Map_values(instanceMemberPrototypes), i = 0, k = _values.length; i < k; ++i) {\n let member = unchecked(_values[i]);\n let memberName = member.name;\n if (base) {\n let baseMember = base.getMember(memberName);\n if (baseMember) this.checkOverrideVisibility(memberName, member, instance, baseMember, base, reportMode);\n }\n switch (member.kind) {\n case ElementKind.FunctionPrototype: {\n let boundPrototype = (member).toBound(instance);\n instance.add(boundPrototype.name, boundPrototype); // reports\n break;\n }\n case ElementKind.PropertyPrototype: {\n let boundPrototype = (member).toBound(instance);\n if (boundPrototype.isField) { // resolve and lay out\n let boundInstance = this.resolveProperty(boundPrototype, reportMode);\n if (boundInstance) {\n let fieldType = boundInstance.type;\n if (fieldType == Type.void) break; // failed to resolve earlier\n if (fieldType.isExternalReference) {\n this.error(\n DiagnosticCode.Not_implemented_0,\n assert(boundPrototype.typeNode).range,\n \"Reference typed fields\"\n );\n break;\n }\n let needsLayout = true;\n if (base) {\n let existingMember = base.getMember(boundPrototype.name);\n if (existingMember && existingMember.kind == ElementKind.PropertyPrototype) {\n let existingPrototype = existingMember;\n let existingProperty = this.resolveProperty(existingPrototype, reportMode);\n if (existingProperty && existingProperty.isField) {\n if (existingProperty.type != boundInstance.type) {\n // make sure fields are invariant (Binaryen would otherwise error)\n this.errorRelated(\n DiagnosticCode.Property_0_in_type_1_is_not_assignable_to_the_same_property_in_base_type_2,\n boundInstance.identifierNode.range, existingProperty.identifierNode.range,\n boundInstance.name, instance.internalName, base.internalName\n );\n break; // keep existing\n }\n boundInstance.memoryOffset = existingProperty.memoryOffset;\n needsLayout = false;\n }\n }\n }\n if (needsLayout) {\n let byteSize = fieldType.byteSize;\n assert(isPowerOf2(byteSize));\n let mask = byteSize - 1;\n if (memoryOffset & mask) memoryOffset = (memoryOffset | mask) + 1;\n boundInstance.memoryOffset = memoryOffset;\n memoryOffset += byteSize;\n }\n boundPrototype.instance = boundInstance;\n instance.add(boundPrototype.name, boundPrototype); // reports\n // field materializes here, so check for supported type early\n // (other checks are performed once an element is compiled)\n let typeNode = assert(boundPrototype.fieldDeclaration).type;\n if (typeNode) this.program.checkTypeSupported(fieldType, typeNode);\n }\n } else {\n instance.add(boundPrototype.name, boundPrototype); // reports\n }\n break;\n }\n default: assert(false);\n }\n if (!member.is(CommonFlags.Abstract)) {\n unimplemented.delete(memberName);\n }\n }\n }\n\n if (instance.kind != ElementKind.Interface) {\n\n // Check that all required members are implemented\n if (!instance.is(CommonFlags.Abstract) && unimplemented.size > 0) {\n for (let _keys = Map_keys(unimplemented), i = 0, k = _keys.length; i < k; ++i) {\n let memberName = _keys[i];\n let member = assert(unimplemented.get(memberName));\n this.errorRelated(\n DiagnosticCode.Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_2,\n instance.identifierNode.range, member.identifierNode.range,\n instance.internalName, memberName, member.parent.internalName\n );\n }\n }\n\n // Finalize memory offset\n instance.nextMemoryOffset = memoryOffset;\n\n // Link _own_ constructor if present\n {\n let ctorPrototype = instance.getMember(CommonNames.constructor);\n if (ctorPrototype && ctorPrototype.parent == instance) {\n assert(ctorPrototype.kind == ElementKind.FunctionPrototype);\n let ctorInstance = this.resolveFunction(\n ctorPrototype,\n null,\n assert(instance.contextualTypeArguments),\n reportMode\n );\n if (ctorInstance) instance.constructorInstance = ctorInstance;\n }\n }\n }\n\n // Fully resolve operator overloads (don't have type parameters on their own)\n let overloadPrototypes = prototype.operatorOverloadPrototypes;\n // TODO: for (let [overloadKind, overloadPrototype] of overloadPrototypes) {\n for (let _keys = Map_keys(overloadPrototypes), i = 0, k = _keys.length; i < k; ++i) {\n let overloadKind = unchecked(_keys[i]);\n let overloadPrototype = assert(overloadPrototypes.get(overloadKind));\n assert(overloadKind != OperatorKind.Invalid);\n if (overloadPrototype.is(CommonFlags.Generic)) {\n // Already errored during initialization: AS212: Decorator '@operator' is not valid here\n continue;\n }\n let operatorInstance: Function | null;\n if (overloadPrototype.is(CommonFlags.Instance)) {\n let boundPrototype = overloadPrototype.toBound(instance);\n operatorInstance = this.resolveFunction(\n boundPrototype,\n null,\n new Map(),\n reportMode\n );\n } else {\n operatorInstance = this.resolveFunction(\n overloadPrototype,\n null,\n new Map(),\n reportMode\n );\n }\n if (!operatorInstance) continue;\n let overloads = instance.operatorOverloads;\n if (!overloads) instance.operatorOverloads = overloads = new Map();\n // inc/dec are special in that an instance overload attempts to re-assign\n // the corresponding value, thus requiring a matching return type, while a\n // static overload works like any other overload.\n if (operatorInstance.is(CommonFlags.Instance)) {\n switch (overloadKind) {\n case OperatorKind.PrefixInc:\n case OperatorKind.PrefixDec:\n case OperatorKind.PostfixInc:\n case OperatorKind.PostfixDec: {\n let returnType = operatorInstance.signature.returnType;\n if (!returnType.isAssignableTo(instance.type)) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Type_0_is_not_assignable_to_type_1,\n overloadPrototype.functionTypeNode.returnType.range, returnType.toString(), instance.type.toString()\n );\n }\n }\n }\n }\n }\n if (!overloads.has(overloadKind)) {\n overloads.set(overloadKind, operatorInstance);\n if (overloadKind == OperatorKind.IndexedGet || overloadKind == OperatorKind.IndexedSet) {\n let index = instance.indexSignature;\n if (!index) instance.indexSignature = index = new IndexSignature(instance);\n if (overloadKind == OperatorKind.IndexedGet) {\n index.setType(operatorInstance.signature.returnType);\n }\n }\n } else {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Duplicate_decorator,\n operatorInstance.declaration.range\n );\n }\n }\n }\n\n // Remove this class from pending\n assert(pendingClasses.has(instance)); // must be pending\n pendingClasses.delete(instance);\n\n // Finish derived classes that we postponed in `resolveClass` due to the\n // base class still being pending, again triggering `finishResolveClass`\n // of any classes derived from those classes, ultimately leading to all\n // pending classes being resolved.\n for (let _values = Set_values(pendingClasses), i = 0, k = _values.length; i < k; ++i) {\n let pending = _values[i];\n let dependsOnInstance = pending.base == instance;\n let interfaces = pending.interfaces;\n if (interfaces) {\n let anyPending = false;\n for (let _values2 = Set_values(interfaces), j = 0, l = _values2.length; j < l; ++j) {\n let iface = _values2[j];\n if (iface == instance) dependsOnInstance = true;\n else if (pendingClasses.has(iface)) anyPending = true;\n }\n if (anyPending) continue;\n }\n if (dependsOnInstance) this.finishResolveClass(pending, reportMode);\n }\n }\n\n /** Resolves a class prototype by first resolving the specified type arguments. */\n resolveClassInclTypeArguments(\n /** The prototype of the class. */\n prototype: ClassPrototype,\n /** Type arguments provided to be resolved. */\n typeArgumentNodes: TypeNode[] | null,\n /** Flow of {@link typeArgumentNodes} */\n flow: Flow | null,\n /** Contextual element. */\n ctxElement: Element,\n /** Contextual types, i.e. `T`. */\n ctxTypes: Map,\n /** The node to use when reporting intermediate errors. */\n reportNode: Node,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Class | null {\n let resolvedTypeArguments: Type[] | null = null;\n\n // Resolve type arguments if generic\n if (prototype.is(CommonFlags.Generic)) {\n resolvedTypeArguments = this.resolveTypeArguments( // reports\n assert(prototype.typeParameterNodes), // must be present if generic\n typeArgumentNodes,\n flow,\n ctxElement,\n ctxTypes, // update\n reportNode,\n reportMode\n );\n if (!resolvedTypeArguments) return null;\n\n // Otherwise make sure that no type arguments have been specified\n } else {\n if (typeArgumentNodes && typeArgumentNodes.length > 0) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Type_0_is_not_generic,\n reportNode.range, prototype.internalName\n );\n }\n return null;\n }\n }\n\n // Continue with concrete types\n return this.resolveClass(\n prototype,\n resolvedTypeArguments,\n ctxTypes,\n reportMode\n );\n }\n\n /** Resolves a property prototype. */\n resolveProperty(\n /** The prototype of the property. */\n prototype: PropertyPrototype,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): Property | null {\n let instance = prototype.instance;\n if (instance) return instance;\n prototype.instance = instance = new Property(\n prototype,\n prototype.parent // same level as prototype\n );\n let getterPrototype = prototype.getterPrototype;\n if (getterPrototype) {\n let getterInstance = this.resolveFunction(\n getterPrototype,\n null,\n new Map(),\n reportMode\n );\n if (getterInstance) {\n instance.getterInstance = getterInstance;\n instance.setType(getterInstance.signature.returnType);\n }\n }\n let setterPrototype = prototype.setterPrototype;\n if (setterPrototype) {\n let setterInstance = this.resolveFunction(\n setterPrototype,\n null,\n new Map(),\n reportMode\n );\n if (setterInstance) {\n instance.setterInstance = setterInstance;\n if (!instance.is(CommonFlags.Resolved)) {\n assert(setterInstance.signature.parameterTypes.length == 1);\n instance.setType(setterInstance.signature.parameterTypes[0]);\n }\n }\n }\n instance.checkVisibility(this);\n return instance;\n }\n\n private ensureOneTypeArgument(\n /** The type to resolve. */\n node: NamedTypeNode,\n /** How to proceed with eventual diagnostics. */\n reportMode: ReportMode = ReportMode.Report\n ): TypeNode | null {\n let typeArgumentNodes = node.typeArguments;\n let numTypeArguments = 0;\n if (!typeArgumentNodes || (numTypeArguments = typeArgumentNodes.length) != 1) {\n if (reportMode == ReportMode.Report) {\n this.error(\n DiagnosticCode.Expected_0_type_arguments_but_got_1,\n node.range, \"1\", numTypeArguments.toString()\n );\n }\n return null;\n }\n return typeArgumentNodes[0];\n }\n}\n", "/**\n * @fileoverview A TypeScript parser for the AssemblyScript subset.\n *\n * Takes the tokens produced by the `Tokenizer` and builds an abstract\n * syntax tree composed of `Node`s wrapped in a `Source` out of it.\n *\n * @license Apache-2.0\n */\n\nimport {\n CommonFlags,\n LIBRARY_PREFIX,\n PATH_DELIMITER\n} from \"./common\";\n\nimport {\n Tokenizer,\n Token,\n CommentHandler,\n IdentifierHandling,\n isIllegalVariableIdentifier\n} from \"./tokenizer\";\n\nimport {\n Range,\n DiagnosticCode,\n DiagnosticEmitter,\n DiagnosticMessage\n} from \"./diagnostics\";\n\nimport {\n CharCode,\n normalizePath\n} from \"./util\";\n\nimport {\n Node,\n NodeKind,\n Source,\n SourceKind,\n TypeNode,\n TypeName,\n NamedTypeNode,\n FunctionTypeNode,\n ArrowKind,\n\n Expression,\n AssertionKind,\n CallExpression,\n ClassExpression,\n FunctionExpression,\n IdentifierExpression,\n StringLiteralExpression,\n\n Statement,\n BlockStatement,\n BreakStatement,\n ClassDeclaration,\n ContinueStatement,\n DeclarationStatement,\n DecoratorNode,\n DoStatement,\n EnumDeclaration,\n EnumValueDeclaration,\n ExportImportStatement,\n ExportMember,\n ExportStatement,\n ExpressionStatement,\n ForOfStatement,\n FunctionDeclaration,\n IfStatement,\n ImportDeclaration,\n ImportStatement,\n IndexSignatureNode,\n NamespaceDeclaration,\n ParameterNode,\n ParameterKind,\n ReturnStatement,\n SwitchCase,\n SwitchStatement,\n ThrowStatement,\n TryStatement,\n TypeDeclaration,\n TypeParameterNode,\n VariableStatement,\n VariableDeclaration,\n VoidStatement,\n WhileStatement,\n ModuleDeclaration,\n\n mangleInternalPath\n} from \"./ast\";\n\n/** Represents a dependee. */\nclass Dependee {\n constructor(\n public source: Source,\n public reportNode: Node\n ) {}\n}\n\n/** Parser interface. */\nexport class Parser extends DiagnosticEmitter {\n\n /** Source file names to be requested next. */\n backlog: string[] = new Array();\n /** Source file names already seen, that is processed or backlogged. */\n seenlog: Set = new Set();\n /** Source file names already completely processed. */\n donelog: Set = new Set();\n /** Optional handler to intercept comments while tokenizing. */\n onComment: CommentHandler | null = null;\n /** Current file being parsed. */\n currentSource: Source | null = null;\n /** Map of dependees being depended upon by a source, by path. */\n dependees: Map = new Map();\n /** An array of parsed sources. */\n sources: Source[];\n /** Current overridden module name. */\n currentModuleName: string | null = null;\n\n /** Constructs a new parser. */\n constructor(\n diagnostics: DiagnosticMessage[] | null = null,\n sources: Source[] = []\n ) {\n super(diagnostics);\n this.sources = sources;\n }\n\n /** Parses a file and adds its definitions to the program. */\n parseFile(\n /** Source text of the file, or `null` to indicate not found. */\n text: string | null,\n /** Normalized path of the file. */\n path: string,\n /** Whether this is an entry file. */\n isEntry: bool\n ): void {\n // the frontend gives us paths with file extensions\n let normalizedPath = normalizePath(path);\n let internalPath = mangleInternalPath(normalizedPath);\n\n // check if already processed\n if (this.donelog.has(internalPath)) return;\n this.donelog.add(internalPath); // do not parse again\n this.seenlog.add(internalPath); // do not request again\n\n // check if this is an error\n if (text == null) {\n let dependees = this.dependees;\n let dependee: Dependee | null = null;\n if (dependees.has(internalPath)) dependee = assert(dependees.get(internalPath));\n this.error(\n DiagnosticCode.File_0_not_found,\n dependee\n ? dependee.reportNode.range\n : null,\n path\n );\n return;\n }\n\n // create the source element\n let source = new Source(\n isEntry\n ? SourceKind.UserEntry\n : path.startsWith(LIBRARY_PREFIX)\n ? path.indexOf(PATH_DELIMITER, LIBRARY_PREFIX.length) < 0\n ? SourceKind.LibraryEntry\n : SourceKind.Library\n : SourceKind.User,\n normalizedPath,\n text\n );\n\n this.sources.push(source);\n this.currentSource = source;\n this.currentModuleName = null;\n\n // tokenize and parse\n let tn = new Tokenizer(source, this.diagnostics);\n tn.onComment = this.onComment;\n let statements = source.statements;\n while (!tn.skip(Token.EndOfFile)) {\n let statement = this.parseTopLevelStatement(tn, null);\n if (statement) {\n statements.push(statement);\n } else {\n this.skipStatement(tn);\n }\n }\n }\n\n /** Parses a top-level statement. */\n parseTopLevelStatement(\n tn: Tokenizer,\n namespace: NamespaceDeclaration | null = null\n ): Statement | null {\n let flags = namespace ? namespace.flags & CommonFlags.Ambient : CommonFlags.None;\n let startPos = -1;\n\n // check decorators\n let decorators: DecoratorNode[] | null = null;\n while (tn.skip(Token.At)) {\n if (startPos < 0) startPos = tn.tokenPos;\n let decorator = this.parseDecorator(tn);\n if (!decorator) {\n this.skipStatement(tn);\n continue;\n }\n if (!decorators) decorators = [decorator];\n else decorators.push(decorator);\n }\n\n // check modifiers\n let exportStart = 0;\n let exportEnd = 0;\n let defaultStart = 0;\n let defaultEnd = 0;\n if (tn.skip(Token.Export)) {\n if (startPos < 0) startPos = tn.tokenPos;\n flags |= CommonFlags.Export;\n exportStart = tn.tokenPos;\n exportEnd = tn.pos;\n if (tn.skip(Token.Default)) {\n defaultStart = tn.tokenPos;\n defaultEnd = tn.pos;\n }\n }\n\n let declareStart = 0;\n let declareEnd = 0;\n let contextIsAmbient = namespace != null && namespace.is(CommonFlags.Ambient);\n if (tn.skip(Token.Declare)) {\n if (contextIsAmbient) {\n this.error(\n DiagnosticCode.A_declare_modifier_cannot_be_used_in_an_already_ambient_context,\n tn.range()\n ); // recoverable\n } else {\n if (startPos < 0) startPos = tn.tokenPos;\n declareStart = startPos;\n declareEnd = tn.pos;\n flags |= CommonFlags.Declare | CommonFlags.Ambient;\n }\n } else if (contextIsAmbient) {\n flags |= CommonFlags.Ambient;\n }\n\n // parse the statement\n let statement: Statement | null = null;\n\n // handle declarations\n let first = tn.peek();\n if (startPos < 0) startPos = tn.nextTokenPos;\n switch (first) {\n case Token.Const: {\n tn.next();\n flags |= CommonFlags.Const;\n if (tn.skip(Token.Enum)) {\n statement = this.parseEnum(tn, flags, decorators, startPos);\n } else {\n statement = this.parseVariable(tn, flags, decorators, startPos);\n }\n decorators = null;\n break;\n }\n case Token.Let: flags |= CommonFlags.Let;\n case Token.Var: {\n tn.next();\n statement = this.parseVariable(tn, flags, decorators, startPos);\n decorators = null;\n break;\n }\n case Token.Enum: {\n tn.next();\n statement = this.parseEnum(tn, flags, decorators, startPos);\n decorators = null;\n break;\n }\n case Token.Function: {\n tn.next();\n statement = this.parseFunction(tn, flags, decorators, startPos);\n decorators = null;\n break;\n }\n case Token.Abstract: {\n let state = tn.mark();\n tn.next();\n let abstractStart = tn.tokenPos;\n let abstractEnd = tn.pos;\n if (tn.peekOnNewLine()) {\n tn.reset(state);\n statement = this.parseStatement(tn, true);\n break;\n }\n let next = tn.peek();\n if (next != Token.Class) {\n if (next == Token.Interface) {\n this.error(\n DiagnosticCode._abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration,\n tn.range(abstractStart, abstractEnd)\n );\n }\n tn.reset(state);\n statement = this.parseStatement(tn, true);\n break;\n } else {\n tn.discard(state);\n }\n flags |= CommonFlags.Abstract;\n // fall through\n }\n case Token.Class:\n case Token.Interface: {\n tn.next();\n statement = this.parseClassOrInterface(tn, flags, decorators, startPos);\n decorators = null;\n break;\n }\n case Token.Namespace: {\n let state = tn.mark();\n tn.next();\n if (tn.peek(IdentifierHandling.Prefer) == Token.Identifier) {\n tn.discard(state);\n statement = this.parseNamespace(tn, flags, decorators, startPos);\n decorators = null;\n } else {\n tn.reset(state);\n statement = this.parseStatement(tn, true);\n }\n break;\n }\n case Token.Import: {\n tn.next();\n flags |= CommonFlags.Import;\n if (flags & CommonFlags.Export) {\n statement = this.parseExportImport(tn, startPos);\n } else {\n statement = this.parseImport(tn);\n }\n break;\n }\n case Token.Type: { // also identifier\n let state = tn.mark();\n tn.next();\n if (tn.peek(IdentifierHandling.Prefer) == Token.Identifier) {\n tn.discard(state);\n statement = this.parseTypeDeclaration(tn, flags, decorators, startPos);\n decorators = null;\n } else {\n tn.reset(state);\n statement = this.parseStatement(tn, true);\n }\n break;\n }\n case Token.Module: { // also identifier\n let state = tn.mark();\n tn.next();\n if (tn.peek() == Token.StringLiteral && !tn.peekOnNewLine()) {\n tn.discard(state);\n statement = this.parseModuleDeclaration(tn, flags);\n } else {\n tn.reset(state);\n statement = this.parseStatement(tn, true);\n }\n break;\n }\n default: {\n\n // handle plain exports\n if (flags & CommonFlags.Export) {\n if (defaultEnd && tn.skipIdentifier(IdentifierHandling.Prefer)) {\n if (declareEnd) {\n this.error(\n DiagnosticCode.An_export_assignment_cannot_have_modifiers,\n tn.range(declareStart, declareEnd)\n );\n }\n statement = this.parseExportDefaultAlias(tn, startPos, defaultStart, defaultEnd);\n defaultStart = defaultEnd = 0; // consume\n } else {\n statement = this.parseExport(tn, startPos, (flags & CommonFlags.Declare) != 0);\n }\n\n // handle non-declaration statements\n } else {\n if (exportEnd) {\n this.error(\n DiagnosticCode._0_modifier_cannot_be_used_here,\n tn.range(exportStart, exportEnd), \"export\"\n ); // recoverable\n }\n if (declareEnd) {\n this.error(\n DiagnosticCode._0_modifier_cannot_be_used_here,\n tn.range(declareStart, declareEnd), \"declare\"\n ); // recoverable\n }\n if (namespace) {\n this.error(\n DiagnosticCode.Namespace_can_only_have_declarations,\n tn.range(startPos)\n );\n } else {\n statement = this.parseStatement(tn, true);\n }\n }\n break;\n }\n }\n\n // check for decorators that weren't consumed\n if (decorators) {\n for (let i = 0, k = decorators.length; i < k; ++i) {\n this.error(\n DiagnosticCode.Decorators_are_not_valid_here,\n decorators[i].range\n );\n }\n }\n\n // check if this an `export default` declaration\n if (defaultEnd && statement != null) {\n switch (statement.kind) {\n case NodeKind.EnumDeclaration:\n case NodeKind.FunctionDeclaration:\n case NodeKind.ClassDeclaration:\n case NodeKind.InterfaceDeclaration:\n case NodeKind.NamespaceDeclaration: {\n return Node.createExportDefaultStatement(statement, tn.range(startPos, tn.pos));\n }\n default: {\n this.error(\n DiagnosticCode._0_modifier_cannot_be_used_here,\n tn.range(defaultStart, defaultEnd), \"default\"\n );\n }\n }\n }\n return statement;\n }\n\n /** Obtains the next file to parse. */\n nextFile(): string | null {\n let backlog = this.backlog;\n return backlog.length ? assert(backlog.shift()) : null;\n }\n\n /** Obtains the path of the dependee of the given imported file. */\n getDependee(dependent: string): string | null {\n let dependees = this.dependees;\n if (dependees.has(dependent)) {\n let dependee = assert(dependees.get(dependent));\n return dependee.source.internalPath;\n }\n return null;\n }\n\n /** Finishes parsing. */\n finish(): void {\n if (this.backlog.length) throw new Error(\"backlog is not empty\");\n this.backlog = [];\n this.seenlog.clear();\n this.donelog.clear();\n this.dependees.clear();\n }\n\n // types\n\n /** Parses a type name. */\n parseTypeName(\n tn: Tokenizer\n ): TypeName | null {\n\n // at: Identifier ('.' Identifier)*\n\n let first = Node.createSimpleTypeName(tn.readIdentifier(), tn.range());\n let current = first;\n while (tn.skip(Token.Dot)) {\n if (tn.skip(Token.Identifier)) {\n let next = Node.createSimpleTypeName(tn.readIdentifier(), tn.range());\n current.next = next;\n current = next;\n } else {\n this.error(\n DiagnosticCode.Identifier_expected,\n tn.range(tn.pos)\n );\n return null;\n }\n }\n return first;\n }\n\n /** Parses a type. */\n parseType(\n tn: Tokenizer,\n acceptParenthesized: bool = true,\n suppressErrors: bool = false\n ): TypeNode | null {\n\n // before: Type\n\n // NOTE: this parses our limited subset\n let token = tn.next();\n let startPos = tn.tokenPos;\n\n let type: TypeNode;\n\n // '(' ...\n if (token == Token.OpenParen) {\n\n // '(' FunctionSignature ')'\n let isInnerParenthesized = tn.skip(Token.OpenParen);\n // FunctionSignature?\n let signature = this.tryParseFunctionType(tn);\n if (signature) {\n if (isInnerParenthesized) {\n if (!tn.skip(Token.CloseParen)) {\n if (!suppressErrors) {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \")\"\n );\n }\n return null;\n }\n }\n type = signature;\n } else if (isInnerParenthesized || this.tryParseSignatureIsSignature) {\n if (!suppressErrors) {\n this.error(\n DiagnosticCode.Unexpected_token,\n tn.range()\n );\n }\n return null;\n // Type (',' Type)* ')'\n } else if (acceptParenthesized) {\n let innerType = this.parseType(tn, false, suppressErrors);\n if (!innerType) return null;\n if (!tn.skip(Token.CloseParen)) {\n if (!suppressErrors) {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(tn.pos), \")\"\n );\n }\n return null;\n }\n type = innerType;\n type.range.start = startPos;\n type.range.end = tn.pos;\n } else {\n if (!suppressErrors) {\n this.error(\n DiagnosticCode.Unexpected_token,\n tn.range()\n );\n }\n return null;\n }\n\n // 'void'\n } else if (token == Token.Void) {\n type = Node.createNamedType(\n Node.createSimpleTypeName(\"void\", tn.range()), [], false, tn.range(startPos, tn.pos)\n );\n\n // 'this'\n } else if (token == Token.This) {\n type = Node.createNamedType(\n Node.createSimpleTypeName(\"this\", tn.range()), [], false, tn.range(startPos, tn.pos)\n );\n\n // 'true'\n } else if (token == Token.True || token == Token.False) {\n type = Node.createNamedType(\n Node.createSimpleTypeName(\"bool\", tn.range()), [], false, tn.range(startPos, tn.pos)\n );\n\n // 'null'\n } else if (token == Token.Null) {\n type = Node.createNamedType(\n Node.createSimpleTypeName(\"null\", tn.range()), [], false, tn.range(startPos, tn.pos)\n );\n\n // StringLiteral\n } else if (token == Token.StringLiteral) {\n tn.readString();\n type = Node.createNamedType(\n Node.createSimpleTypeName(\"string\", tn.range()), [], false, tn.range(startPos, tn.pos)\n );\n\n // Identifier\n } else if (token == Token.Identifier) {\n let name = this.parseTypeName(tn);\n if (!name) return null;\n let parameters: TypeNode[] | null = null;\n\n // Name\n if (tn.skip(Token.LessThan)) {\n do {\n let parameter = this.parseType(tn, true, suppressErrors);\n if (!parameter) return null;\n if (!parameters) parameters = [ parameter ];\n else parameters.push(parameter);\n } while (tn.skip(Token.Comma));\n if (!tn.skip(Token.GreaterThan)) {\n if (!suppressErrors) {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(tn.pos), \">\"\n );\n }\n return null;\n }\n }\n if (!parameters) parameters = [];\n type = Node.createNamedType(name, parameters, false, tn.range(startPos, tn.pos));\n } else {\n if (!suppressErrors) {\n this.error(\n DiagnosticCode.Type_expected,\n tn.range()\n );\n }\n return null;\n }\n // ... | type\n while (tn.skip(Token.Bar)) {\n let nextType = this.parseType(tn, false, true);\n if (!nextType) return null;\n let typeIsNull = type.kind == NodeKind.NamedType && (type).isNull;\n let nextTypeIsNull = nextType.kind == NodeKind.NamedType && (nextType).isNull;\n if (!typeIsNull && !nextTypeIsNull) {\n if (!suppressErrors) {\n this.error(\n DiagnosticCode.Not_implemented_0, nextType.range, \"union types\"\n );\n }\n return null;\n } else if (nextTypeIsNull) {\n type.isNullable = true;\n type.range.end = nextType.range.end;\n } else if (typeIsNull) {\n nextType.range.start = type.range.start;\n nextType.isNullable = true;\n type = nextType;\n } else {\n // `null | null` still `null`\n type.range.end = nextType.range.end;\n }\n }\n // ... [][]\n while (tn.skip(Token.OpenBracket)) {\n let bracketStart = tn.tokenPos;\n if (!tn.skip(Token.CloseBracket)) {\n if (!suppressErrors) {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \"]\"\n );\n }\n return null;\n }\n let bracketRange = tn.range(bracketStart, tn.pos);\n\n // ...[] | null\n let nullable = false;\n if (tn.skip(Token.Bar)) {\n if (tn.skip(Token.Null)) {\n nullable = true;\n } else {\n if (!suppressErrors) {\n this.error(\n DiagnosticCode.Not_implemented_0,\n tn.range(), \"union types\"\n );\n }\n return null;\n }\n }\n type = Node.createNamedType(\n Node.createSimpleTypeName(\"Array\", bracketRange),\n [ type ],\n nullable,\n tn.range(startPos, tn.pos)\n );\n if (nullable) break;\n }\n\n return type;\n }\n\n // Indicates whether tryParseSignature determined that it is handling a Signature\n private tryParseSignatureIsSignature: bool = false;\n\n /** Parses a function type, as used in type declarations. */\n tryParseFunctionType(\n tn: Tokenizer\n ): FunctionTypeNode | null {\n\n // at '(': ('...'? Identifier '?'? ':' Type (',' '...'? Identifier '?'? ':' Type)* )? ')' '=>' Type\n\n let state = tn.mark();\n let startPos = tn.tokenPos;\n let parameters: ParameterNode[] | null = null;\n let thisType: NamedTypeNode | null = null;\n let isSignature: bool = false;\n let firstParamNameNoType: IdentifierExpression | null = null;\n let firstParamKind: ParameterKind = ParameterKind.Default;\n\n if (tn.skip(Token.CloseParen)) {\n isSignature = true;\n tn.discard(state);\n parameters = [];\n\n } else {\n isSignature = false; // not yet known\n do {\n let paramStart = -1;\n let kind = ParameterKind.Default;\n if (tn.skip(Token.Dot_Dot_Dot)) {\n paramStart = tn.tokenPos;\n isSignature = true;\n tn.discard(state);\n kind = ParameterKind.Rest;\n }\n if (tn.skip(Token.This)) {\n if (paramStart < 0) paramStart = tn.tokenPos;\n if (tn.skip(Token.Colon)) {\n isSignature = true;\n tn.discard(state);\n let type = this.parseType(tn, false);\n if (!type) return null;\n if (type.kind != NodeKind.NamedType) {\n this.error(\n DiagnosticCode.Identifier_expected,\n type.range\n );\n this.tryParseSignatureIsSignature = true;\n return null;\n }\n thisType = type;\n } else {\n tn.reset(state);\n this.tryParseSignatureIsSignature = false;\n return null;\n }\n } else if (tn.skipIdentifier()) {\n if (paramStart < 0) paramStart = tn.tokenPos;\n let name = Node.createIdentifierExpression(tn.readIdentifier(), tn.range(tn.tokenPos, tn.pos));\n if (tn.skip(Token.Question)) {\n isSignature = true;\n tn.discard(state);\n if (kind == ParameterKind.Rest) {\n this.error(\n DiagnosticCode.A_rest_parameter_cannot_be_optional,\n tn.range()\n ); // recoverable\n } else {\n kind = ParameterKind.Optional;\n }\n }\n if (tn.skip(Token.Colon)) {\n isSignature = true;\n tn.discard(state);\n let type = this.parseType(tn); // not suppressing errors because known\n if (!type) {\n this.tryParseSignatureIsSignature = isSignature;\n return null;\n }\n let param = Node.createParameter(kind, name, type, null, tn.range(paramStart, tn.pos));\n if (!parameters) parameters = [ param ];\n else parameters.push(param);\n } else {\n if (!isSignature) {\n if (tn.peek() == Token.Comma) {\n isSignature = true;\n tn.discard(state);\n }\n }\n if (isSignature) {\n let param = Node.createParameter(kind, name, Node.createOmittedType(tn.range(tn.pos)), null, tn.range(paramStart, tn.pos));\n if (!parameters) parameters = [ param ];\n else parameters.push(param);\n this.error(\n DiagnosticCode.Type_expected,\n param.type.range\n ); // recoverable\n } else if (!parameters) {\n // on '(' Identifier ^',' we don't yet know whether this is a\n // parenthesized or a function type, hence we have to delay the\n // respective diagnostic until we know for sure.\n firstParamNameNoType = name;\n firstParamKind = kind;\n }\n }\n } else {\n if (isSignature) {\n if (tn.peek() == Token.CloseParen) break; // allow trailing comma\n this.error(\n DiagnosticCode.Identifier_expected,\n tn.range()\n );\n } else {\n tn.reset(state);\n }\n this.tryParseSignatureIsSignature = isSignature;\n return null;\n }\n } while (tn.skip(Token.Comma));\n if (!tn.skip(Token.CloseParen)) {\n if (isSignature) {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \")\"\n );\n } else {\n tn.reset(state);\n }\n this.tryParseSignatureIsSignature = isSignature;\n return null;\n }\n }\n\n let returnType: TypeNode | null;\n if (tn.skip(Token.Equals_GreaterThan)) {\n if (!isSignature) {\n isSignature = true;\n tn.discard(state);\n if (firstParamNameNoType) { // now we know\n let param = Node.createParameter(\n firstParamKind,\n firstParamNameNoType,\n Node.createOmittedType(firstParamNameNoType.range.atEnd),\n null,\n firstParamNameNoType.range\n );\n if (!parameters) parameters = [ param ];\n else parameters.push(param);\n this.error(\n DiagnosticCode.Type_expected,\n param.type.range\n ); // recoverable\n }\n }\n returnType = this.parseType(tn);\n if (!returnType) {\n this.tryParseSignatureIsSignature = isSignature;\n return null;\n }\n } else {\n if (isSignature) {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \"=>\"\n );\n } else {\n tn.reset(state);\n }\n this.tryParseSignatureIsSignature = isSignature;\n return null;\n }\n this.tryParseSignatureIsSignature = true;\n\n if (!parameters) parameters = [];\n\n return Node.createFunctionType(\n parameters,\n returnType,\n thisType,\n false,\n tn.range(startPos, tn.pos)\n );\n }\n\n // statements\n\n parseDecorator(\n tn: Tokenizer\n ): DecoratorNode | null {\n\n // at '@': Identifier ('.' Identifier)* '(' Arguments\n\n let startPos = tn.tokenPos;\n if (tn.skipIdentifier()) {\n let name = tn.readIdentifier();\n let expression: Expression = Node.createIdentifierExpression(name, tn.range(startPos, tn.pos));\n while (tn.skip(Token.Dot)) {\n if (tn.skipIdentifier(IdentifierHandling.Prefer)) {\n name = tn.readIdentifier();\n expression = Node.createPropertyAccessExpression(\n expression,\n Node.createIdentifierExpression(name, tn.range()),\n tn.range(startPos, tn.pos)\n );\n } else {\n this.error(\n DiagnosticCode.Identifier_expected,\n tn.range()\n );\n return null;\n }\n }\n let args: Expression[] | null;\n if (tn.skip(Token.OpenParen)) {\n args = this.parseArguments(tn);\n if (args) {\n return Node.createDecorator(expression, args, tn.range(startPos, tn.pos));\n }\n } else {\n return Node.createDecorator(expression, null, tn.range(startPos, tn.pos));\n }\n } else {\n this.error(\n DiagnosticCode.Identifier_expected,\n tn.range()\n );\n }\n return null;\n }\n\n parseVariable(\n tn: Tokenizer,\n flags: CommonFlags,\n decorators: DecoratorNode[] | null,\n startPos: i32,\n isFor: bool = false\n ): VariableStatement | null {\n\n // at ('const' | 'let' | 'var'): VariableDeclaration (',' VariableDeclaration)* ';'?\n\n let declarations = new Array();\n do {\n let declaration = this.parseVariableDeclaration(tn, flags, decorators, isFor);\n if (!declaration) return null;\n declaration.overriddenModuleName = this.currentModuleName;\n declarations.push(declaration);\n } while (tn.skip(Token.Comma));\n\n let ret = Node.createVariableStatement(decorators, declarations, tn.range(startPos, tn.pos));\n if (!tn.skip(Token.Semicolon) && !isFor) this.checkASI(tn);\n return ret;\n }\n\n parseVariableDeclaration(\n tn: Tokenizer,\n parentFlags: CommonFlags,\n parentDecorators: DecoratorNode[] | null,\n isFor: bool = false\n ): VariableDeclaration | null {\n\n // before: Identifier (':' Type)? ('=' Expression)?\n\n if (!tn.skipIdentifier()) {\n this.error(\n DiagnosticCode.Identifier_expected,\n tn.range()\n );\n return null;\n }\n let identifier = Node.createIdentifierExpression(tn.readIdentifier(), tn.range());\n if (isIllegalVariableIdentifier(identifier.text)) {\n this.error(\n DiagnosticCode.Identifier_expected,\n identifier.range\n );\n }\n let flags = parentFlags;\n if (tn.skip(Token.Exclamation)) {\n flags |= CommonFlags.DefinitelyAssigned;\n }\n\n let type: TypeNode | null = null;\n if (tn.skip(Token.Colon)) {\n type = this.parseType(tn, true);\n }\n\n let initializer: Expression | null = null;\n if (tn.skip(Token.Equals)) {\n if (flags & CommonFlags.Ambient) {\n this.error(\n DiagnosticCode.Initializers_are_not_allowed_in_ambient_contexts,\n tn.range()\n ); // recoverable\n }\n initializer = this.parseExpression(tn, Precedence.Comma + 1);\n if (!initializer) return null;\n if (flags & CommonFlags.DefinitelyAssigned) {\n this.error(\n DiagnosticCode.Declarations_with_initializers_cannot_also_have_definite_assignment_assertions,\n initializer.range\n );\n }\n } else if (!isFor) {\n if (flags & CommonFlags.Const) {\n if (!(flags & CommonFlags.Ambient)) {\n this.error(\n DiagnosticCode._const_declarations_must_be_initialized,\n identifier.range\n ); // recoverable\n }\n } else if (!type) { // neither type nor initializer\n this.error(\n DiagnosticCode.Type_expected,\n tn.range(tn.pos)\n ); // recoverable\n }\n }\n let range = Range.join(identifier.range, tn.range());\n if ((flags & CommonFlags.DefinitelyAssigned) != 0 && (flags & CommonFlags.Ambient) != 0) {\n this.error(\n DiagnosticCode.A_definite_assignment_assertion_is_not_permitted_in_this_context,\n range\n );\n }\n return Node.createVariableDeclaration(\n identifier,\n parentDecorators,\n flags,\n type,\n initializer,\n range\n );\n }\n\n parseEnum(\n tn: Tokenizer,\n flags: CommonFlags,\n decorators: DecoratorNode[] | null,\n startPos: i32\n ): EnumDeclaration | null {\n\n // at 'enum': Identifier '{' (EnumValueDeclaration (',' EnumValueDeclaration )*)? '}' ';'?\n\n if (tn.next() != Token.Identifier) {\n this.error(\n DiagnosticCode.Identifier_expected,\n tn.range()\n );\n return null;\n }\n let identifier = Node.createIdentifierExpression(tn.readIdentifier(), tn.range());\n if (tn.next() != Token.OpenBrace) {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \"{\"\n );\n return null;\n }\n let members = new Array();\n while (!tn.skip(Token.CloseBrace)) {\n let member = this.parseEnumValue(tn, CommonFlags.None);\n if (!member) return null;\n members.push(member);\n if (!tn.skip(Token.Comma)) {\n if (tn.skip(Token.CloseBrace)) {\n break;\n } else {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \"}\"\n );\n return null;\n }\n }\n }\n let ret = Node.createEnumDeclaration(\n identifier,\n decorators,\n flags,\n members,\n tn.range(startPos, tn.pos)\n );\n ret.overriddenModuleName = this.currentModuleName;\n tn.skip(Token.Semicolon);\n return ret;\n }\n\n parseEnumValue(\n tn: Tokenizer,\n parentFlags: CommonFlags\n ): EnumValueDeclaration | null {\n\n // before: Identifier ('=' Expression)?\n\n if (!tn.skipIdentifier()) {\n this.error(\n DiagnosticCode.Identifier_expected,\n tn.range()\n );\n return null;\n }\n let identifier = Node.createIdentifierExpression(tn.readIdentifier(), tn.range());\n let value: Expression | null = null;\n if (tn.skip(Token.Equals)) {\n value = this.parseExpression(tn, Precedence.Comma + 1);\n if (!value) return null;\n }\n return Node.createEnumValueDeclaration(\n identifier,\n parentFlags,\n value,\n Range.join(identifier.range, tn.range())\n );\n }\n\n parseReturn(\n tn: Tokenizer\n ): ReturnStatement | null {\n\n // at 'return': Expression | (';' | '}' | ...'\\n')\n\n let startPos = tn.tokenPos;\n let expr: Expression | null = null;\n let nextToken = tn.peek();\n if (\n nextToken != Token.Semicolon &&\n nextToken != Token.CloseBrace &&\n !tn.peekOnNewLine()\n ) {\n if (!(expr = this.parseExpression(tn))) return null;\n }\n\n let ret = Node.createReturnStatement(expr, tn.range(startPos, tn.pos));\n if (!tn.skip(Token.Semicolon)) this.checkASI(tn);\n return ret;\n }\n\n parseTypeParameters(\n tn: Tokenizer\n ): TypeParameterNode[] | null {\n\n // at '<': TypeParameter (',' TypeParameter)* '>'\n\n let typeParameters = new Array();\n let seenOptional = false;\n let start = tn.tokenPos;\n while (!tn.skip(Token.GreaterThan)) {\n let typeParameter = this.parseTypeParameter(tn);\n if (!typeParameter) return null;\n if (typeParameter.defaultType) {\n seenOptional = true;\n } else if (seenOptional) {\n this.error(\n DiagnosticCode.Required_type_parameters_may_not_follow_optional_type_parameters,\n typeParameter.range\n );\n typeParameter.defaultType = null;\n }\n typeParameters.push(typeParameter);\n if (!tn.skip(Token.Comma)) {\n if (tn.skip(Token.GreaterThan)) {\n break;\n } else {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \">\"\n );\n return null;\n }\n }\n }\n if (!typeParameters.length) {\n this.error(\n DiagnosticCode.Type_parameter_list_cannot_be_empty,\n tn.range(start, tn.pos)\n ); // recoverable\n }\n return typeParameters;\n }\n\n parseTypeParameter(\n tn: Tokenizer\n ): TypeParameterNode | null {\n\n // before: Identifier ('extends' Type)? ('=' Type)?\n\n if (tn.next() == Token.Identifier) {\n let identifier = Node.createIdentifierExpression(\n tn.readIdentifier(),\n tn.range()\n );\n let extendsType: NamedTypeNode | null = null;\n if (tn.skip(Token.Extends)) {\n let type = this.parseType(tn);\n if (!type) return null;\n if (type.kind != NodeKind.NamedType) {\n this.error(\n DiagnosticCode.Identifier_expected,\n type.range\n );\n return null;\n }\n extendsType = type;\n }\n let defaultType: NamedTypeNode | null = null;\n if (tn.skip(Token.Equals)) {\n let type = this.parseType(tn);\n if (!type) return null;\n if (type.kind != NodeKind.NamedType) {\n this.error(\n DiagnosticCode.Identifier_expected,\n type.range\n );\n return null;\n }\n defaultType = type;\n }\n return Node.createTypeParameter(\n identifier,\n extendsType,\n defaultType,\n Range.join(identifier.range, tn.range())\n );\n } else {\n this.error(\n DiagnosticCode.Identifier_expected,\n tn.range()\n );\n }\n return null;\n }\n\n private parseParametersThis: NamedTypeNode | null = null;\n\n parseParameters(\n tn: Tokenizer,\n isConstructor: bool = false\n ): ParameterNode[] | null {\n\n // at '(': (Parameter (',' Parameter)*)? ')'\n\n let parameters = new Array();\n let seenRest: ParameterNode | null = null;\n let seenOptional = false;\n let reportedRest = false;\n let thisType: TypeNode | null = null;\n\n // check if there is a leading `this` parameter\n this.parseParametersThis = null;\n if (tn.skip(Token.This)) {\n if (tn.skip(Token.Colon)) {\n thisType = this.parseType(tn); // reports\n if (!thisType) return null;\n if (thisType.kind == NodeKind.NamedType) {\n this.parseParametersThis = thisType;\n } else {\n this.error(\n DiagnosticCode.Identifier_expected,\n thisType.range\n );\n }\n } else {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \":\"\n );\n return null;\n }\n if (!tn.skip(Token.Comma)) {\n if (tn.skip(Token.CloseParen)) {\n return parameters;\n } else {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \")\"\n );\n return null;\n }\n }\n }\n\n while (!tn.skip(Token.CloseParen)) {\n let param = this.parseParameter(tn, isConstructor); // reports\n if (!param) return null;\n if (seenRest && !reportedRest) {\n this.error(\n DiagnosticCode.A_rest_parameter_must_be_last_in_a_parameter_list,\n seenRest.name.range\n );\n reportedRest = true;\n }\n switch (param.parameterKind) {\n default: {\n if (seenOptional) {\n this.error(\n DiagnosticCode.A_required_parameter_cannot_follow_an_optional_parameter,\n param.name.range\n );\n }\n break;\n }\n case ParameterKind.Optional: {\n seenOptional = true;\n break;\n }\n case ParameterKind.Rest: {\n seenRest = param;\n break;\n }\n }\n parameters.push(param);\n if (!tn.skip(Token.Comma)) {\n if (tn.skip(Token.CloseParen)) {\n break;\n } else {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \")\"\n );\n return null;\n }\n }\n }\n return parameters;\n }\n\n parseParameter(\n tn: Tokenizer,\n isConstructor: bool = false\n ): ParameterNode | null {\n\n // before: ('public' | 'private' | 'protected' | '...')? Identifier '?'? (':' Type)? ('=' Expression)?\n\n let isRest = false;\n let isOptional = false;\n let startRange: Range | null = null;\n let accessFlags: CommonFlags = CommonFlags.None;\n if (isConstructor) {\n if (tn.skip(Token.Public)) {\n startRange = tn.range();\n accessFlags |= CommonFlags.Public;\n } else if (tn.skip(Token.Protected)) {\n startRange = tn.range();\n accessFlags |= CommonFlags.Protected;\n } else if (tn.skip(Token.Private)) {\n startRange = tn.range();\n accessFlags |= CommonFlags.Private;\n }\n if (tn.peek() == Token.Readonly) {\n let state = tn.mark();\n tn.next();\n if (tn.peek() != Token.Colon) { // modifier\n tn.discard(state);\n if (!startRange) startRange = tn.range();\n accessFlags |= CommonFlags.Readonly;\n } else { // identifier\n tn.reset(state);\n }\n }\n }\n if (tn.skip(Token.Dot_Dot_Dot)) {\n if (accessFlags) {\n this.error(\n DiagnosticCode.A_parameter_property_cannot_be_declared_using_a_rest_parameter,\n tn.range()\n );\n } else {\n startRange = tn.range();\n }\n isRest = true;\n }\n if (tn.skipIdentifier()) {\n if (!isRest) startRange = tn.range();\n let identifier = Node.createIdentifierExpression(tn.readIdentifier(), tn.range());\n let type: TypeNode | null = null;\n if (isOptional = tn.skip(Token.Question)) {\n if (isRest) {\n this.error(\n DiagnosticCode.A_rest_parameter_cannot_be_optional,\n identifier.range\n );\n }\n }\n if (tn.skip(Token.Colon)) {\n type = this.parseType(tn);\n if (!type) return null;\n } else {\n type = Node.createOmittedType(tn.range(tn.pos));\n }\n let initializer: Expression | null = null;\n if (tn.skip(Token.Equals)) {\n if (isRest) {\n this.error(\n DiagnosticCode.A_rest_parameter_cannot_have_an_initializer,\n identifier.range\n );\n }\n if (isOptional) {\n this.error(\n DiagnosticCode.Parameter_cannot_have_question_mark_and_initializer,\n identifier.range\n );\n } else {\n isOptional = true;\n }\n initializer = this.parseExpression(tn, Precedence.Comma + 1);\n if (!initializer) return null;\n }\n let param = Node.createParameter(\n isRest\n ? ParameterKind.Rest\n : isOptional\n ? ParameterKind.Optional\n : ParameterKind.Default,\n identifier,\n type,\n initializer,\n Range.join(assert(startRange), tn.range())\n );\n param.flags |= accessFlags;\n return param;\n } else {\n this.error(\n DiagnosticCode.Identifier_expected,\n tn.range()\n );\n }\n return null;\n }\n\n parseFunction(\n tn: Tokenizer,\n flags: CommonFlags,\n decorators: DecoratorNode[] | null,\n startPos: i32\n ): FunctionDeclaration | null {\n\n // at 'function':\n // Identifier\n // ('<' TypeParameters)?\n // '(' Parameters (':' Type)?\n // '{' Statement* '}'\n // ';'?\n\n if (!tn.skipIdentifier()) {\n this.error(\n DiagnosticCode.Identifier_expected,\n tn.range(tn.pos)\n );\n return null;\n }\n\n let name = Node.createIdentifierExpression(tn.readIdentifier(), tn.range());\n let signatureStart = -1;\n\n let typeParameters: TypeParameterNode[] | null = null;\n if (tn.skip(Token.LessThan)) {\n signatureStart = tn.tokenPos;\n typeParameters = this.parseTypeParameters(tn);\n if (!typeParameters) return null;\n flags |= CommonFlags.Generic;\n }\n\n if (!tn.skip(Token.OpenParen)) {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(tn.pos), \"(\"\n );\n return null;\n }\n\n if (signatureStart < 0) {\n signatureStart = tn.tokenPos;\n }\n\n let parameters = this.parseParameters(tn);\n if (!parameters) return null;\n let thisType = this.parseParametersThis;\n\n let isSetter = (flags & CommonFlags.Set) != 0;\n if (isSetter) {\n if (parameters.length != 1) {\n this.error(\n DiagnosticCode.A_set_accessor_must_have_exactly_one_parameter,\n name.range\n ); // recoverable\n }\n if (parameters.length > 0 && parameters[0].initializer) {\n this.error(\n DiagnosticCode.A_set_accessor_parameter_cannot_have_an_initializer,\n name.range\n ); // recoverable\n }\n }\n\n if (flags & CommonFlags.Get) {\n if (parameters.length) {\n this.error(\n DiagnosticCode.A_get_accessor_cannot_have_parameters,\n name.range\n ); // recoverable\n }\n }\n\n let returnType: TypeNode | null = null;\n if (tn.skip(Token.Colon)) {\n returnType = this.parseType(tn, true, isSetter);\n if (!returnType) return null;\n }\n\n if (!returnType) {\n returnType = Node.createOmittedType(\n tn.range(tn.pos)\n );\n if (!isSetter) {\n this.error(\n DiagnosticCode.Type_expected,\n returnType.range\n ); // recoverable\n }\n }\n\n let signature = Node.createFunctionType(\n parameters,\n returnType,\n thisType,\n false,\n tn.range(signatureStart, tn.pos)\n );\n\n let body: Statement | null = null;\n if (tn.skip(Token.OpenBrace)) {\n if (flags & CommonFlags.Ambient) {\n this.error(\n DiagnosticCode.An_implementation_cannot_be_declared_in_ambient_contexts,\n tn.range()\n ); // recoverable\n }\n\n body = this.parseBlockStatement(tn, false);\n if (!body) return null;\n } else if (!(flags & CommonFlags.Ambient)) {\n this.error(\n DiagnosticCode.Function_implementation_is_missing_or_not_immediately_following_the_declaration,\n tn.range(tn.pos)\n );\n }\n\n let ret = Node.createFunctionDeclaration(\n name,\n decorators,\n flags,\n typeParameters,\n signature,\n body,\n ArrowKind.None,\n tn.range(startPos, tn.pos)\n );\n ret.overriddenModuleName = this.currentModuleName;\n tn.skip(Token.Semicolon);\n return ret;\n }\n\n parseFunctionExpression(tn: Tokenizer): FunctionExpression | null {\n let startPos = tn.tokenPos;\n let name: IdentifierExpression;\n let arrowKind = ArrowKind.None;\n\n // either at 'function':\n // Identifier?\n // '(' Parameters (':' Type)?\n // Statement\n\n if (tn.token == Token.Function) {\n if (tn.skipIdentifier()) {\n name = Node.createIdentifierExpression(tn.readIdentifier(), tn.range());\n } else { // empty name\n name = Node.createEmptyIdentifierExpression(tn.range(tn.pos));\n }\n if (!tn.skip(Token.OpenParen)) {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(tn.pos), \"(\"\n );\n return null;\n }\n\n // or at '(' of arrow function:\n // Parameters (':' Type)?\n // Statement\n\n } else {\n arrowKind = ArrowKind.Parenthesized;\n assert(tn.token == Token.OpenParen);\n name = Node.createEmptyIdentifierExpression(tn.range(tn.tokenPos));\n }\n\n // TODO: type parameters? doesn't seem worth it.\n\n let signatureStart = tn.pos;\n let parameters = this.parseParameters(tn);\n if (!parameters) return null;\n\n return this.parseFunctionExpressionCommon(tn, name, parameters, this.parseParametersThis, arrowKind, startPos, signatureStart);\n }\n\n private parseFunctionExpressionCommon(\n tn: Tokenizer,\n name: IdentifierExpression,\n parameters: ParameterNode[],\n explicitThis: NamedTypeNode | null,\n arrowKind: ArrowKind,\n startPos: i32 = -1,\n signatureStart: i32 = -1\n ): FunctionExpression | null {\n if (startPos < 0) startPos = name.range.start;\n if (signatureStart < 0) signatureStart = startPos;\n\n let returnType: TypeNode | null = null;\n if (arrowKind != ArrowKind.Single && tn.skip(Token.Colon)) {\n returnType = this.parseType(tn);\n if (!returnType) return null;\n } else {\n returnType = Node.createOmittedType(tn.range(tn.pos));\n }\n\n if (arrowKind) {\n if (!tn.skip(Token.Equals_GreaterThan)) {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(tn.pos), \"=>\"\n );\n return null;\n }\n }\n\n let signature = Node.createFunctionType(\n parameters,\n returnType,\n explicitThis,\n false,\n tn.range(signatureStart, tn.pos)\n );\n\n let body: Statement | null = null;\n if (arrowKind) {\n if (tn.skip(Token.OpenBrace)) {\n body = this.parseBlockStatement(tn, false);\n } else {\n let bodyExpression = this.parseExpression(tn, Precedence.Comma + 1);\n if (bodyExpression) body = Node.createExpressionStatement(bodyExpression);\n }\n } else {\n if (!tn.skip(Token.OpenBrace)) {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(tn.pos), \"{\"\n );\n return null;\n }\n body = this.parseBlockStatement(tn, false);\n }\n if (!body) return null;\n\n let declaration = Node.createFunctionDeclaration(\n name,\n null,\n CommonFlags.None,\n null,\n signature,\n body,\n arrowKind,\n tn.range(startPos, tn.pos)\n );\n return Node.createFunctionExpression(declaration);\n }\n\n parseClassOrInterface(\n tn: Tokenizer,\n flags: CommonFlags,\n decorators: DecoratorNode[] | null,\n startPos: i32\n ): ClassDeclaration | null {\n\n // at ('class' | 'interface'):\n // Identifier\n // ('<' TypeParameters)?\n // ('extends' Type)?\n // ('implements' Type (',' Type)*)?\n // '{' ClassMember* '}'\n\n let isInterface = tn.token == Token.Interface;\n\n if (!tn.skipIdentifier()) {\n this.error(\n DiagnosticCode.Identifier_expected,\n tn.range()\n );\n return null;\n }\n\n let identifier = Node.createIdentifierExpression(\n tn.readIdentifier(),\n tn.range()\n );\n\n let typeParameters: TypeParameterNode[] | null = null;\n if (tn.skip(Token.LessThan)) {\n typeParameters = this.parseTypeParameters(tn);\n if (!typeParameters) return null;\n flags |= CommonFlags.Generic;\n }\n\n let extendsType: NamedTypeNode | null = null;\n if (tn.skip(Token.Extends)) {\n let type = this.parseType(tn);\n if (!type) return null;\n if (type.kind != NodeKind.NamedType) {\n this.error(\n DiagnosticCode.Identifier_expected,\n type.range\n );\n return null;\n }\n extendsType = type;\n }\n\n let implementsTypes: NamedTypeNode[] | null = null;\n if (tn.skip(Token.Implements)) {\n if (isInterface) {\n this.error(\n DiagnosticCode.Interface_declaration_cannot_have_implements_clause,\n tn.range()\n ); // recoverable\n }\n do {\n let type = this.parseType(tn);\n if (!type) return null;\n if (type.kind != NodeKind.NamedType) {\n this.error(\n DiagnosticCode.Identifier_expected,\n type.range\n );\n return null;\n }\n if (!isInterface) {\n if (!implementsTypes) implementsTypes = [];\n implementsTypes.push(type);\n }\n } while (tn.skip(Token.Comma));\n }\n\n if (!tn.skip(Token.OpenBrace)) {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \"{\"\n );\n return null;\n }\n\n let members = new Array();\n let declaration: ClassDeclaration;\n if (isInterface) {\n assert(!implementsTypes);\n declaration = Node.createInterfaceDeclaration(\n identifier,\n decorators,\n flags,\n typeParameters,\n extendsType,\n null,\n members,\n tn.range(startPos, tn.pos)\n );\n } else {\n declaration = Node.createClassDeclaration(\n identifier,\n decorators,\n flags,\n typeParameters,\n extendsType,\n implementsTypes,\n members,\n tn.range(startPos, tn.pos)\n );\n }\n if (!tn.skip(Token.CloseBrace)) {\n do {\n let member = this.parseClassMember(tn, declaration);\n if (member) {\n if (member.kind == NodeKind.IndexSignature) {\n declaration.indexSignature = member;\n } else {\n assert(member instanceof DeclarationStatement);\n members.push(member);\n }\n } else {\n this.skipStatement(tn);\n if (tn.skip(Token.EndOfFile)) {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \"}\"\n );\n return null;\n }\n }\n } while (!tn.skip(Token.CloseBrace));\n }\n declaration.range.end = tn.pos;\n declaration.overriddenModuleName = this.currentModuleName;\n return declaration;\n }\n\n parseClassExpression(tn: Tokenizer): ClassExpression | null {\n\n // at 'class': Identifier? '{' ... '}'\n\n let startPos = tn.tokenPos;\n let name: IdentifierExpression;\n\n if (tn.skipIdentifier()) {\n name = Node.createIdentifierExpression(tn.readIdentifier(), tn.range());\n } else {\n name = Node.createEmptyIdentifierExpression(tn.range(tn.pos));\n }\n\n if (!tn.skip(Token.OpenBrace)) {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(tn.pos), \"{\"\n );\n return null;\n }\n\n let members = new Array();\n let declaration = Node.createClassDeclaration(\n name,\n null,\n CommonFlags.None,\n null,\n null,\n null,\n members,\n tn.range(startPos, tn.pos)\n );\n if (!tn.skip(Token.CloseBrace)) {\n do {\n let member = this.parseClassMember(tn, declaration);\n if (member) {\n if (member.kind == NodeKind.IndexSignature) {\n declaration.indexSignature = member;\n } else {\n assert(declaration instanceof DeclarationStatement);\n members.push(member);\n }\n } else {\n this.skipStatement(tn);\n if (tn.skip(Token.EndOfFile)) {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \"}\"\n );\n return null;\n }\n }\n } while (!tn.skip(Token.CloseBrace));\n }\n declaration.range.end = tn.pos;\n return Node.createClassExpression(declaration);\n }\n\n parseClassMember(\n tn: Tokenizer,\n parent: ClassDeclaration\n ): Node | null {\n\n // before:\n // 'declare'?\n // ('public' | 'private' | 'protected')?\n // ('static' | 'abstract')?\n // 'override'?\n // 'readonly'?\n // ('get' | 'set')?\n // Identifier ...\n\n let isInterface = parent.kind == NodeKind.InterfaceDeclaration;\n let startPos = 0;\n let decorators: DecoratorNode[] | null = null;\n if (tn.skip(Token.At)) {\n startPos = tn.tokenPos;\n do {\n let decorator = this.parseDecorator(tn);\n if (!decorator) break;\n if (!decorators) decorators = new Array();\n decorators.push(decorator);\n } while (tn.skip(Token.At));\n if (isInterface && decorators) {\n this.error(\n DiagnosticCode.Decorators_are_not_valid_here,\n Range.join(decorators[0].range, decorators[decorators.length - 1].range)\n );\n }\n }\n\n // inherit ambient status\n let flags = parent.flags & CommonFlags.Ambient;\n\n // interface methods are always overridden if used\n if (isInterface) flags |= CommonFlags.Overridden;\n\n let declareStart = 0;\n let declareEnd = 0;\n let contextIsAmbient = parent.is(CommonFlags.Ambient);\n if (tn.skip(Token.Declare)) {\n if (isInterface) {\n this.error(\n DiagnosticCode._0_modifier_cannot_be_used_here,\n tn.range(), \"declare\"\n );\n } else {\n if (contextIsAmbient) {\n this.error(\n DiagnosticCode.A_declare_modifier_cannot_be_used_in_an_already_ambient_context,\n tn.range()\n ); // recoverable\n } else {\n flags |= CommonFlags.Declare | CommonFlags.Ambient;\n declareStart = tn.tokenPos;\n declareEnd = tn.pos;\n }\n }\n if (!startPos) startPos = tn.tokenPos;\n } else if (contextIsAmbient) {\n flags |= CommonFlags.Ambient;\n }\n\n let accessStart = 0;\n let accessEnd = 0;\n if (tn.skip(Token.Public)) {\n if (isInterface) {\n this.error(\n DiagnosticCode._0_modifier_cannot_be_used_here,\n tn.range(), \"public\"\n );\n } else {\n flags |= CommonFlags.Public;\n accessStart = tn.tokenPos;\n accessEnd = tn.pos;\n }\n if (!startPos) startPos = tn.tokenPos;\n } else if (tn.skip(Token.Private)) {\n if (isInterface) {\n this.error(\n DiagnosticCode._0_modifier_cannot_be_used_here,\n tn.range(), \"private\"\n );\n } else {\n flags |= CommonFlags.Private;\n accessStart = tn.tokenPos;\n accessEnd = tn.pos;\n }\n if (!startPos) startPos = tn.tokenPos;\n } else if (tn.skip(Token.Protected)) {\n if (isInterface) {\n this.error(\n DiagnosticCode._0_modifier_cannot_be_used_here,\n tn.range(), \"protected\"\n );\n } else {\n flags |= CommonFlags.Protected;\n accessStart = tn.tokenPos;\n accessEnd = tn.pos;\n }\n if (!startPos) startPos = tn.tokenPos;\n }\n\n let staticStart = 0;\n let staticEnd = 0;\n let abstractStart = 0;\n let abstractEnd = 0;\n if (tn.skip(Token.Static)) {\n if (isInterface) {\n this.error(\n DiagnosticCode._0_modifier_cannot_be_used_here,\n tn.range(), \"static\"\n );\n } else {\n flags |= CommonFlags.Static;\n staticStart = tn.tokenPos;\n staticEnd = tn.pos;\n }\n if (!startPos) startPos = tn.tokenPos;\n } else {\n flags |= CommonFlags.Instance;\n if (tn.skip(Token.Abstract)) {\n if (isInterface || !parent.is(CommonFlags.Abstract)) {\n this.error(\n DiagnosticCode._0_modifier_cannot_be_used_here,\n tn.range(), \"abstract\"\n );\n } else {\n flags |= CommonFlags.Abstract;\n abstractStart = tn.tokenPos;\n abstractEnd = tn.pos;\n }\n if (!startPos) startPos = tn.tokenPos;\n }\n if (parent.flags & CommonFlags.Generic) flags |= CommonFlags.GenericContext;\n }\n\n let overrideStart = 0;\n let overrideEnd = 0;\n if (tn.skip(Token.Override)) {\n if (isInterface || parent.extendsType == null) {\n this.error(\n DiagnosticCode._0_modifier_cannot_be_used_here,\n tn.range(), \"override\"\n );\n } else {\n flags |= CommonFlags.Override;\n overrideStart = tn.tokenPos;\n overrideEnd = tn.pos;\n }\n if (!startPos) startPos = tn.tokenPos;\n }\n\n let readonlyStart = 0;\n let readonlyEnd = 0;\n if (tn.peek() == Token.Readonly) {\n let state = tn.mark();\n tn.next();\n if (tn.peek() != Token.Colon) { // modifier\n tn.discard(state);\n flags |= CommonFlags.Readonly;\n readonlyStart = tn.tokenPos;\n readonlyEnd = tn.pos;\n if (!startPos) startPos = readonlyStart;\n } else { // identifier\n tn.reset(state);\n }\n }\n\n // check if accessor: ('get' | 'set') ^\\n Identifier\n let state = tn.mark();\n let isConstructor = false;\n let isGetter = false;\n let getStart = 0;\n let getEnd = 0;\n let isSetter = false;\n let setStart = 0;\n let setEnd = 0;\n if (!isInterface) {\n if (tn.skip(Token.Get)) {\n if (tn.peek(IdentifierHandling.Prefer) == Token.Identifier && !tn.peekOnNewLine()) {\n flags |= CommonFlags.Get;\n isGetter = true;\n getStart = tn.tokenPos;\n getEnd = tn.pos;\n if (!startPos) startPos = getStart;\n if (flags & CommonFlags.Readonly) {\n this.error(\n DiagnosticCode._0_modifier_cannot_be_used_here,\n tn.range(readonlyStart, readonlyEnd), \"readonly\"\n ); // recoverable\n }\n } else {\n tn.reset(state);\n }\n } else if (tn.skip(Token.Set)) {\n if (tn.peek(IdentifierHandling.Prefer) == Token.Identifier && !tn.peekOnNewLine()) {\n flags |= CommonFlags.Set;\n isSetter = true;\n setStart = tn.tokenPos;\n setEnd = tn.pos;\n if (!startPos) startPos = setStart;\n if (flags & CommonFlags.Readonly) {\n this.error(\n DiagnosticCode._0_modifier_cannot_be_used_here,\n tn.range(readonlyStart, readonlyEnd), \"readonly\"\n ); // recoverable\n }\n } else {\n tn.reset(state);\n }\n } else if (tn.skip(Token.Constructor)) {\n flags |= CommonFlags.Constructor;\n isConstructor = true;\n if (!startPos) startPos = tn.tokenPos;\n if (flags & CommonFlags.Static) {\n this.error(\n DiagnosticCode._0_modifier_cannot_be_used_here,\n tn.range(staticStart, staticEnd), \"static\"\n ); // recoverable\n }\n if (flags & CommonFlags.Abstract) {\n this.error(\n DiagnosticCode._0_modifier_cannot_be_used_here,\n tn.range(abstractStart, abstractEnd), \"abstract\"\n ); // recoverable\n }\n if (flags & CommonFlags.Readonly) {\n this.error(\n DiagnosticCode._0_modifier_cannot_be_used_here,\n tn.range(readonlyStart, readonlyEnd), \"readonly\"\n ); // recoverable\n }\n }\n }\n\n let isGetterOrSetter = isGetter || isSetter;\n let name: IdentifierExpression;\n if (isConstructor) {\n name = Node.createConstructorExpression(tn.range());\n } else {\n if (!isGetterOrSetter && tn.skip(Token.OpenBracket)) {\n if (!startPos) startPos = tn.tokenPos;\n // TODO: also handle symbols, which might have some of these modifiers\n if (flags & CommonFlags.Public) {\n this.error(\n DiagnosticCode._0_modifier_cannot_be_used_here,\n tn.range(accessStart, accessEnd), \"public\"\n ); // recoverable\n } else if (flags & CommonFlags.Protected) {\n this.error(\n DiagnosticCode._0_modifier_cannot_be_used_here,\n tn.range(accessStart, accessEnd), \"protected\"\n ); // recoverable\n } else if (flags & CommonFlags.Private) {\n this.error(\n DiagnosticCode._0_modifier_cannot_be_used_here,\n tn.range(accessStart, accessEnd), \"private\"\n ); // recoverable\n }\n if (flags & CommonFlags.Static) {\n this.error(\n DiagnosticCode._0_modifier_cannot_be_used_here,\n tn.range(staticStart, staticEnd), \"static\"\n ); // recoverable\n }\n if (flags & CommonFlags.Override) {\n this.error(\n DiagnosticCode._0_modifier_cannot_be_used_here,\n tn.range(overrideStart, overrideEnd), \"override\"\n );\n }\n if (flags & CommonFlags.Abstract) {\n this.error(\n DiagnosticCode._0_modifier_cannot_be_used_here,\n tn.range(abstractStart, abstractEnd), \"abstract\"\n ); // recoverable\n }\n let retIndex = this.parseIndexSignature(tn, flags, decorators);\n if (!retIndex) {\n if (flags & CommonFlags.Readonly) {\n this.error(\n DiagnosticCode._0_modifier_cannot_be_used_here,\n tn.range(readonlyStart, readonlyEnd), \"readonly\"\n ); // recoverable\n }\n return null;\n }\n tn.skip(Token.Semicolon);\n return retIndex;\n }\n if (!tn.skipIdentifier(IdentifierHandling.Always)) {\n this.error(\n DiagnosticCode.Identifier_expected,\n tn.range()\n );\n return null;\n }\n if (!startPos) startPos = tn.tokenPos;\n name = Node.createIdentifierExpression(tn.readIdentifier(), tn.range());\n }\n let typeParameters: TypeParameterNode[] | null = null;\n if (tn.skip(Token.LessThan)) {\n let typeParametersStart = tn.tokenPos;\n typeParameters = this.parseTypeParameters(tn);\n if (!typeParameters) return null;\n if (isConstructor) {\n this.error(\n DiagnosticCode.Type_parameters_cannot_appear_on_a_constructor_declaration,\n tn.range(typeParametersStart, tn.pos)\n ); // recoverable\n } else if (isGetterOrSetter) {\n this.error(\n DiagnosticCode.An_accessor_cannot_have_type_parameters,\n tn.range(typeParametersStart, tn.pos)\n ); // recoverable\n } else {\n flags |= CommonFlags.Generic;\n }\n }\n\n // method: '(' Parameters (':' Type)? '{' Statement* '}' ';'?\n if (tn.skip(Token.OpenParen)) {\n if (flags & CommonFlags.Declare) {\n this.error(\n DiagnosticCode._0_modifier_cannot_appear_on_class_elements_of_this_kind,\n tn.range(declareStart, declareEnd), \"declare\"\n ); // recoverable\n }\n\n let signatureStart = tn.tokenPos;\n let parameters = this.parseParameters(tn, isConstructor);\n if (!parameters) return null;\n let thisType = this.parseParametersThis;\n if (isConstructor) {\n for (let i = 0, k = parameters.length; i < k; ++i) {\n let parameter = parameters[i];\n if (parameter.isAny(\n CommonFlags.Public |\n CommonFlags.Protected |\n CommonFlags.Private |\n CommonFlags.Readonly\n )) {\n let implicitFieldDeclaration = Node.createFieldDeclaration(\n parameter.name,\n null,\n parameter.flags | CommonFlags.Instance,\n parameter.type,\n null, // initialized via parameter\n parameter.range\n );\n implicitFieldDeclaration.parameterIndex = i;\n parameter.implicitFieldDeclaration = implicitFieldDeclaration;\n parent.members.push(implicitFieldDeclaration);\n }\n }\n } else if (isGetter) {\n if (parameters.length) {\n this.error(\n DiagnosticCode.A_get_accessor_cannot_have_parameters,\n name.range\n );\n }\n } else if (isSetter) {\n if (parameters.length != 1) {\n this.error(\n DiagnosticCode.A_set_accessor_must_have_exactly_one_parameter,\n name.range\n );\n }\n if (parameters.length > 0 && parameters[0].initializer) {\n this.error(\n DiagnosticCode.A_set_accessor_parameter_cannot_have_an_initializer,\n name.range\n );\n }\n } else if (name.text == \"constructor\") {\n this.error(\n DiagnosticCode._0_keyword_cannot_be_used_here,\n name.range, \"constructor\"\n );\n }\n\n let returnType: TypeNode | null = null;\n if (tn.skip(Token.Colon)) {\n if (name.kind == NodeKind.Constructor) {\n this.error(\n DiagnosticCode.Type_annotation_cannot_appear_on_a_constructor_declaration,\n tn.range()\n );\n } else if (isSetter) {\n this.error(\n DiagnosticCode.A_set_accessor_cannot_have_a_return_type_annotation,\n tn.range()\n );\n }\n returnType = this.parseType(tn, isSetter || name.kind == NodeKind.Constructor);\n if (!returnType) return null;\n } else {\n returnType = Node.createOmittedType(tn.range(tn.pos));\n if (!isSetter && name.kind != NodeKind.Constructor) {\n this.error(\n DiagnosticCode.Type_expected,\n returnType.range\n ); // recoverable\n }\n }\n\n let signature = Node.createFunctionType(\n parameters,\n returnType,\n thisType,\n false,\n tn.range(signatureStart, tn.pos)\n );\n\n let body: Statement | null = null;\n if (tn.skip(Token.OpenBrace)) {\n if (flags & CommonFlags.Ambient) {\n this.error(\n DiagnosticCode.An_implementation_cannot_be_declared_in_ambient_contexts,\n tn.range()\n ); // recoverable\n } else if (flags & CommonFlags.Abstract) {\n this.error(\n DiagnosticCode.Method_0_cannot_have_an_implementation_because_it_is_marked_abstract,\n tn.range(), name.text\n ); // recoverable\n } else if (isInterface) {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \";\"\n ); // recoverable\n }\n body = this.parseBlockStatement(tn, false);\n if (!body) return null;\n } else if (!isInterface && !(flags & (CommonFlags.Ambient | CommonFlags.Abstract))) {\n this.error(\n DiagnosticCode.Function_implementation_is_missing_or_not_immediately_following_the_declaration,\n tn.range()\n ); // recoverable\n }\n\n let retMethod = Node.createMethodDeclaration(\n name,\n decorators,\n flags,\n typeParameters,\n signature,\n body,\n tn.range(startPos, tn.pos)\n );\n if (!(isInterface && tn.skip(Token.Comma))) {\n tn.skip(Token.Semicolon);\n }\n return retMethod;\n\n } else if (isConstructor) {\n this.error(\n DiagnosticCode.Constructor_implementation_is_missing,\n name.range\n );\n\n } else if (isGetterOrSetter) {\n this.error(\n DiagnosticCode.Function_implementation_is_missing_or_not_immediately_following_the_declaration,\n name.range\n );\n\n // field: (':' Type)? ('=' Expression)? ';'?\n } else {\n if (flags & CommonFlags.Declare) {\n this.error(\n DiagnosticCode.Not_implemented_0,\n tn.range(declareStart, declareEnd), \"Ambient fields\"\n ); // recoverable\n }\n\n if (flags & CommonFlags.Abstract) {\n this.error(\n DiagnosticCode._0_modifier_cannot_be_used_here,\n tn.range(abstractStart, abstractEnd), \"abstract\"\n ); // recoverable\n }\n\n if (flags & CommonFlags.Get) {\n this.error(\n DiagnosticCode._0_modifier_cannot_be_used_here,\n tn.range(getStart, getEnd), \"get\"\n ); // recoverable\n }\n\n if (flags & CommonFlags.Set) {\n this.error(\n DiagnosticCode._0_modifier_cannot_be_used_here,\n tn.range(setStart, setEnd), \"set\"\n ); // recoverable\n }\n\n let type: TypeNode | null = null;\n if (tn.skip(Token.Question)) {\n this.error(\n DiagnosticCode.Optional_properties_are_not_supported,\n tn.range(startPos, tn.pos)\n );\n }\n if (tn.skip(Token.Exclamation)) {\n flags |= CommonFlags.DefinitelyAssigned;\n }\n if (tn.skip(Token.Colon)) {\n type = this.parseType(tn);\n if (!type) return null;\n } else {\n this.error(\n DiagnosticCode.Type_expected,\n tn.range()\n ); // recoverable\n }\n let initializer: Expression | null = null;\n if (tn.skip(Token.Equals)) {\n if (flags & CommonFlags.Ambient) {\n this.error(\n DiagnosticCode.Initializers_are_not_allowed_in_ambient_contexts,\n tn.range()\n ); // recoverable\n }\n initializer = this.parseExpression(tn);\n if (!initializer) return null;\n if (flags & CommonFlags.DefinitelyAssigned) {\n this.error(\n DiagnosticCode.Declarations_with_initializers_cannot_also_have_definite_assignment_assertions,\n name.range\n );\n }\n }\n let range = tn.range(startPos, tn.pos);\n if ((flags & CommonFlags.DefinitelyAssigned) != 0 && (isInterface || (flags & CommonFlags.Ambient) != 0)) {\n this.error(\n DiagnosticCode.A_definite_assignment_assertion_is_not_permitted_in_this_context,\n range\n );\n }\n let retField = Node.createFieldDeclaration(\n name,\n decorators,\n flags,\n type,\n initializer,\n range\n );\n if (!(isInterface && tn.skip(Token.Comma))) {\n tn.skip(Token.Semicolon);\n }\n return retField;\n }\n return null;\n }\n\n parseIndexSignature(\n tn: Tokenizer,\n flags: CommonFlags,\n decorators: DecoratorNode[] | null,\n ): IndexSignatureNode | null {\n\n // at: '[': 'key' ':' Type ']' ':' Type\n\n if (decorators && decorators.length > 0) {\n this.error(\n DiagnosticCode.Decorators_are_not_valid_here,\n Range.join(decorators[0].range, decorators[decorators.length - 1].range)\n ); // recoverable\n }\n\n let start = tn.tokenPos;\n if (tn.skipIdentifier()) {\n let id = tn.readIdentifier();\n if (id == \"key\") {\n if (tn.skip(Token.Colon)) {\n let keyType = this.parseType(tn);\n if (!keyType) return null;\n if (keyType.kind != NodeKind.NamedType) {\n this.error(\n DiagnosticCode.Type_expected,\n tn.range()\n );\n return null;\n }\n if (tn.skip(Token.CloseBracket)) {\n if (tn.skip(Token.Colon)) {\n let valueType = this.parseType(tn);\n if (!valueType) return null;\n if (valueType.kind != NodeKind.NamedType) {\n this.error(\n DiagnosticCode.Identifier_expected,\n valueType.range\n );\n return null;\n }\n return Node.createIndexSignature(keyType, valueType, flags, tn.range(start, tn.pos));\n } else {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \":\"\n );\n }\n } else {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \"]\"\n );\n }\n } else {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \":\"\n );\n }\n } else {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \"key\"\n );\n }\n } else {\n this.error(\n DiagnosticCode.Identifier_expected,\n tn.range()\n );\n }\n return null;\n }\n\n parseNamespace(\n tn: Tokenizer,\n flags: CommonFlags,\n decorators: DecoratorNode[] | null,\n startPos: i32\n ): NamespaceDeclaration | null {\n\n // at 'namespace': Identifier '{' (Variable | Function)* '}'\n\n if (tn.skipIdentifier()) {\n let identifier = Node.createIdentifierExpression(tn.readIdentifier(), tn.range());\n if (tn.skip(Token.OpenBrace)) {\n let members = new Array();\n let declaration = Node.createNamespaceDeclaration(\n identifier,\n decorators,\n flags,\n members,\n tn.range(startPos, tn.pos)\n );\n while (!tn.skip(Token.CloseBrace)) {\n let member = this.parseTopLevelStatement(tn, declaration);\n if (member) {\n if (member.kind == NodeKind.Export) {\n this.error(\n DiagnosticCode.A_default_export_can_only_be_used_in_a_module,\n member.range,\n );\n return null;\n }\n members.push(member);\n } else {\n this.skipStatement(tn);\n if (tn.skip(Token.EndOfFile)) {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \"}\"\n );\n return null;\n }\n }\n }\n declaration.range.end = tn.pos;\n declaration.overriddenModuleName = this.currentModuleName;\n tn.skip(Token.Semicolon);\n return declaration;\n } else {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \"{\"\n );\n }\n } else {\n this.error(\n DiagnosticCode.Identifier_expected,\n tn.range()\n );\n }\n return null;\n }\n\n parseExport(\n tn: Tokenizer,\n startPos: i32,\n isDeclare: bool\n ): ExportStatement | null {\n\n // at 'export': '{' ExportMember (',' ExportMember)* }' ('from' StringLiteral)? ';'?\n\n let path: StringLiteralExpression | null = null;\n let currentSource = assert(this.currentSource);\n if (tn.skip(Token.OpenBrace)) {\n let members = new Array();\n while (!tn.skip(Token.CloseBrace)) {\n let member = this.parseExportMember(tn);\n if (!member) return null;\n members.push(member);\n if (!tn.skip(Token.Comma)) {\n if (tn.skip(Token.CloseBrace)) {\n break;\n } else {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \"}\"\n );\n return null;\n }\n }\n }\n if (tn.skip(Token.From)) {\n if (tn.skip(Token.StringLiteral)) {\n path = Node.createStringLiteralExpression(tn.readString(), tn.range());\n } else {\n this.error(\n DiagnosticCode.String_literal_expected,\n tn.range()\n );\n return null;\n }\n }\n let ret = Node.createExportStatement(members, path, isDeclare, tn.range(startPos, tn.pos));\n if (path) {\n let internalPath = assert(ret.internalPath);\n if (!this.seenlog.has(internalPath)) {\n this.dependees.set(internalPath, new Dependee(currentSource, path));\n this.backlog.push(internalPath);\n this.seenlog.add(internalPath);\n }\n }\n tn.skip(Token.Semicolon);\n return ret;\n } else if (tn.skip(Token.Asterisk)) {\n if (tn.skip(Token.From)) {\n if (tn.skip(Token.StringLiteral)) {\n path = Node.createStringLiteralExpression(tn.readString(), tn.range());\n let ret = Node.createExportStatement(null, path, isDeclare, tn.range(startPos, tn.pos));\n let internalPath = assert(ret.internalPath);\n let source = tn.source;\n let exportPaths = source.exportPaths;\n if (!exportPaths) source.exportPaths = [ internalPath ];\n else if (!exportPaths.includes(internalPath)) exportPaths.push(internalPath);\n if (!this.seenlog.has(internalPath)) {\n this.dependees.set(internalPath, new Dependee(currentSource, path));\n this.backlog.push(internalPath);\n }\n tn.skip(Token.Semicolon);\n return ret;\n } else {\n this.error(\n DiagnosticCode.String_literal_expected,\n tn.range()\n );\n }\n } else {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \"from\"\n );\n }\n } else {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \"{\"\n );\n }\n return null;\n }\n\n parseExportMember(\n tn: Tokenizer\n ): ExportMember | null {\n\n // before: Identifier ('as' Identifier)?\n\n if (tn.skipIdentifier(IdentifierHandling.Always)) {\n let identifier = Node.createIdentifierExpression(tn.readIdentifier(), tn.range());\n let asIdentifier: IdentifierExpression | null = null;\n if (tn.skip(Token.As)) {\n if (tn.skipIdentifier(IdentifierHandling.Always)) {\n asIdentifier = Node.createIdentifierExpression(tn.readIdentifier(), tn.range());\n } else {\n this.error(\n DiagnosticCode.Identifier_expected,\n tn.range()\n );\n return null;\n }\n }\n if (asIdentifier) {\n return Node.createExportMember(\n identifier,\n asIdentifier,\n Range.join(identifier.range, asIdentifier.range)\n );\n }\n return Node.createExportMember(\n identifier,\n null,\n identifier.range\n );\n } else {\n this.error(\n DiagnosticCode.Identifier_expected,\n tn.range()\n );\n }\n return null;\n }\n\n parseExportDefaultAlias(\n tn: Tokenizer,\n startPos: i32,\n defaultStart: i32,\n defaultEnd: i32\n ): ExportStatement {\n\n // at 'export' 'default': [Known-To-Be-]Identifier\n\n let name = tn.readIdentifier();\n let range = tn.range();\n let ret = Node.createExportStatement([\n Node.createExportMember(\n Node.createIdentifierExpression(name, range),\n Node.createIdentifierExpression(\"default\", tn.range(defaultStart, defaultEnd)),\n range\n )\n ], null, false, tn.range(startPos, tn.pos));\n tn.skip(Token.Semicolon);\n return ret;\n }\n\n parseImport(\n tn: Tokenizer\n ): ImportStatement | null {\n\n // at 'import':\n // ('{' (ImportMember (',' ImportMember)* '}') | ('*' 'as' Identifier)?\n // 'from' StringLiteral ';'?\n\n let startPos = tn.tokenPos;\n let members: ImportDeclaration[] | null = null;\n let namespaceName: IdentifierExpression | null = null;\n let skipFrom = false;\n if (tn.skip(Token.OpenBrace)) { // import { ... } from \"file\"\n members = new Array();\n while (!tn.skip(Token.CloseBrace)) {\n let member = this.parseImportDeclaration(tn);\n if (!member) return null;\n members.push(member);\n if (!tn.skip(Token.Comma)) {\n if (tn.skip(Token.CloseBrace)) {\n break;\n } else {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \"}\"\n );\n return null;\n }\n }\n }\n } else if (tn.skip(Token.Asterisk)) { // import * from \"file\"\n if (tn.skip(Token.As)) {\n if (tn.skipIdentifier()) {\n namespaceName = Node.createIdentifierExpression(tn.readIdentifier(), tn.range());\n } else {\n this.error(\n DiagnosticCode.Identifier_expected,\n tn.range()\n );\n return null;\n }\n } else {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \"as\"\n );\n return null;\n }\n } else if (tn.skip(Token.Identifier, IdentifierHandling.Prefer)) { // import Name from \"file\"\n let name = tn.readIdentifier();\n let range = tn.range();\n members = [\n Node.createImportDeclaration(\n Node.createIdentifierExpression(\"default\", range),\n Node.createIdentifierExpression(name, range),\n range\n )\n ];\n if (tn.skip(Token.Comma)) {\n // TODO: default + star, default + members\n this.error(\n DiagnosticCode.Not_implemented_0,\n tn.range(),\n \"Mixed default and named imports\"\n );\n return null;\n }\n } else { // import \"file\"\n skipFrom = true;\n }\n\n if (skipFrom || tn.skip(Token.From)) {\n if (tn.skip(Token.StringLiteral)) {\n let path = Node.createStringLiteralExpression(tn.readString(), tn.range());\n let ret: ImportStatement;\n if (namespaceName) {\n assert(!members);\n ret = Node.createWildcardImportStatement(namespaceName, path, tn.range(startPos, tn.pos));\n } else {\n ret = Node.createImportStatement(members, path, tn.range(startPos, tn.pos));\n }\n let internalPath = ret.internalPath;\n if (!this.seenlog.has(internalPath)) {\n this.dependees.set(internalPath, new Dependee(assert(this.currentSource), path));\n this.backlog.push(internalPath);\n }\n tn.skip(Token.Semicolon);\n return ret;\n } else {\n this.error(\n DiagnosticCode.String_literal_expected,\n tn.range()\n );\n }\n } else {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \"from\"\n );\n }\n return null;\n }\n\n parseImportDeclaration(\n tn: Tokenizer\n ): ImportDeclaration | null {\n\n // before: Identifier ('as' Identifier)?\n\n if (tn.skipIdentifier(IdentifierHandling.Always)) {\n let identifier = Node.createIdentifierExpression(tn.readIdentifier(), tn.range());\n let asIdentifier: IdentifierExpression | null = null;\n if (tn.skip(Token.As)) {\n if (tn.skipIdentifier()) {\n asIdentifier = Node.createIdentifierExpression(tn.readIdentifier(), tn.range());\n } else {\n this.error(\n DiagnosticCode.Identifier_expected,\n tn.range()\n );\n return null;\n }\n }\n if (asIdentifier) {\n return Node.createImportDeclaration(\n identifier,\n asIdentifier,\n Range.join(identifier.range, asIdentifier.range)\n );\n }\n return Node.createImportDeclaration(\n identifier,\n null,\n identifier.range\n );\n } else {\n this.error(\n DiagnosticCode.Identifier_expected,\n tn.range()\n );\n }\n return null;\n }\n\n parseExportImport(\n tn: Tokenizer,\n startPos: i32\n ): ExportImportStatement | null {\n\n // at 'export' 'import': Identifier ('=' Identifier)? ';'?\n\n if (tn.skipIdentifier()) {\n let asIdentifier = Node.createIdentifierExpression(tn.readIdentifier(), tn.range());\n if (tn.skip(Token.Equals)) {\n if (tn.skipIdentifier()) {\n let identifier = Node.createIdentifierExpression(tn.readIdentifier(), tn.range());\n let ret = Node.createExportImportStatement(identifier, asIdentifier, tn.range(startPos, tn.pos));\n tn.skip(Token.Semicolon);\n return ret;\n } else {\n this.error(\n DiagnosticCode.Identifier_expected,\n tn.range()\n );\n }\n } else {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \"=\"\n );\n }\n } else {\n this.error(\n DiagnosticCode.Identifier_expected,\n tn.range()\n );\n }\n return null;\n }\n\n parseStatement(\n tn: Tokenizer,\n topLevel: bool = false\n ): Statement | null {\n\n // at previous token\n\n let state = tn.mark();\n let token = tn.next();\n let statement: Statement | null = null;\n switch (token) {\n case Token.Break: {\n statement = this.parseBreak(tn);\n break;\n }\n case Token.Const: {\n statement = this.parseVariable(tn, CommonFlags.Const, null, tn.tokenPos);\n break;\n }\n case Token.Continue: {\n statement = this.parseContinue(tn);\n break;\n }\n case Token.Do: {\n statement = this.parseDoStatement(tn);\n break;\n }\n case Token.For: {\n statement = this.parseForStatement(tn);\n break;\n }\n case Token.If: {\n statement = this.parseIfStatement(tn);\n break;\n }\n case Token.Let: {\n statement = this.parseVariable(tn, CommonFlags.Let, null, tn.tokenPos);\n break;\n }\n case Token.Var: {\n statement = this.parseVariable(tn, CommonFlags.None, null, tn.tokenPos);\n break;\n }\n case Token.OpenBrace: {\n statement = this.parseBlockStatement(tn, topLevel);\n break;\n }\n case Token.Return: {\n if (topLevel) {\n this.error(\n DiagnosticCode.A_return_statement_can_only_be_used_within_a_function_body,\n tn.range()\n ); // recoverable\n }\n statement = this.parseReturn(tn);\n break;\n }\n case Token.Semicolon: {\n return Node.createEmptyStatement(tn.range(tn.tokenPos));\n }\n case Token.Switch: {\n statement = this.parseSwitchStatement(tn);\n break;\n }\n case Token.Throw: {\n statement = this.parseThrowStatement(tn);\n break;\n }\n case Token.Try: {\n statement = this.parseTryStatement(tn);\n break;\n }\n case Token.Void: {\n statement = this.parseVoidStatement(tn);\n break;\n }\n case Token.While: {\n statement = this.parseWhileStatement(tn);\n break;\n }\n case Token.Type: { // also identifier\n if (tn.peek(IdentifierHandling.Prefer) == Token.Identifier) {\n statement = this.parseTypeDeclaration(tn, CommonFlags.None, null, tn.tokenPos);\n break;\n }\n // fall-through\n }\n default: {\n tn.reset(state);\n statement = this.parseExpressionStatement(tn);\n break;\n }\n }\n if (!statement) { // has been reported\n tn.reset(state);\n this.skipStatement(tn);\n } else {\n tn.discard(state);\n }\n return statement;\n }\n\n parseBlockStatement(\n tn: Tokenizer,\n topLevel: bool\n ): BlockStatement | null {\n\n // at '{': Statement* '}' ';'?\n\n let startPos = tn.tokenPos;\n let statements = new Array();\n while (!tn.skip(Token.CloseBrace)) {\n let state = tn.mark();\n let statement = this.parseStatement(tn, topLevel);\n if (!statement) {\n if (tn.token == Token.EndOfFile) return null;\n tn.reset(state);\n this.skipStatement(tn);\n } else {\n tn.discard(state);\n statements.push(statement);\n }\n }\n let ret = Node.createBlockStatement(statements, tn.range(startPos, tn.pos));\n if (topLevel) tn.skip(Token.Semicolon);\n return ret;\n }\n\n parseBreak(\n tn: Tokenizer\n ): BreakStatement | null {\n\n // at 'break': Identifier? ';'?\n\n let identifier: IdentifierExpression | null = null;\n if (tn.peek() == Token.Identifier && !tn.peekOnNewLine()) {\n tn.next(IdentifierHandling.Prefer);\n identifier = Node.createIdentifierExpression(tn.readIdentifier(), tn.range());\n }\n let ret = Node.createBreakStatement(identifier, tn.range());\n tn.skip(Token.Semicolon);\n return ret;\n }\n\n parseContinue(\n tn: Tokenizer\n ): ContinueStatement | null {\n\n // at 'continue': Identifier? ';'?\n\n let identifier: IdentifierExpression | null = null;\n if (tn.peek() == Token.Identifier && !tn.peekOnNewLine()) {\n tn.next(IdentifierHandling.Prefer);\n identifier = Node.createIdentifierExpression(tn.readIdentifier(), tn.range());\n }\n let ret = Node.createContinueStatement(identifier, tn.range());\n tn.skip(Token.Semicolon);\n return ret;\n }\n\n parseDoStatement(\n tn: Tokenizer\n ): DoStatement | null {\n\n // at 'do': Statement 'while' '(' Expression ')' ';'?\n\n let startPos = tn.tokenPos;\n let statement = this.parseStatement(tn);\n if (!statement) return null;\n\n if (tn.skip(Token.While)) {\n\n if (tn.skip(Token.OpenParen)) {\n let condition = this.parseExpression(tn);\n if (!condition) return null;\n\n if (tn.skip(Token.CloseParen)) {\n let ret = Node.createDoStatement(statement, condition, tn.range(startPos, tn.pos));\n tn.skip(Token.Semicolon);\n return ret;\n } else {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \")\"\n );\n }\n } else {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \"(\"\n );\n }\n } else {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \"while\"\n );\n }\n return null;\n }\n\n parseExpressionStatement(\n tn: Tokenizer\n ): ExpressionStatement | null {\n\n // at previous token\n\n let expr = this.parseExpression(tn);\n if (!expr) return null;\n\n let ret = Node.createExpressionStatement(expr);\n tn.skip(Token.Semicolon);\n return ret;\n }\n\n parseForStatement(\n tn: Tokenizer\n ): Statement | null {\n\n // at 'for': '(' Statement? Expression? ';' Expression? ')' Statement\n\n let startPos = tn.tokenPos;\n\n if (tn.skip(Token.OpenParen)) {\n let initializer: Statement | null = null;\n\n if (tn.skip(Token.Const)) {\n initializer = this.parseVariable(tn, CommonFlags.Const, null, tn.tokenPos, true);\n } else if (tn.skip(Token.Let)) {\n initializer = this.parseVariable(tn, CommonFlags.Let, null, tn.tokenPos, true);\n } else if (tn.skip(Token.Var)) {\n initializer = this.parseVariable(tn, CommonFlags.None, null, tn.tokenPos, true);\n\n } else if (!tn.skip(Token.Semicolon)) {\n initializer = this.parseExpressionStatement(tn);\n if (!initializer) return null;\n }\n\n if (initializer) {\n if (tn.skip(Token.Of)) {\n // TODO: for (let [key, val] of ...)\n if (initializer.kind == NodeKind.Expression) {\n if ((initializer).expression.kind != NodeKind.Identifier) {\n this.error(\n DiagnosticCode.Identifier_expected,\n initializer.range\n );\n return null;\n }\n return this.parseForOfStatement(tn, startPos, initializer);\n }\n if (initializer.kind == NodeKind.Variable) {\n let declarations = (initializer).declarations;\n for (let i = 0, k = declarations.length; i < k; ++i) {\n let declaration = declarations[i];\n let initializer = declaration.initializer;\n if (initializer) {\n this.error(\n DiagnosticCode.The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer,\n initializer.range\n ); // recoverable\n }\n }\n return this.parseForOfStatement(tn, startPos, initializer);\n }\n this.error(\n DiagnosticCode.Identifier_expected,\n initializer.range\n );\n return null;\n }\n // non-for..of needs type or initializer\n if (initializer.kind == NodeKind.Variable) {\n let declarations = (initializer).declarations;\n for (let i = 0, k = declarations.length; i < k; ++i) {\n let declaration = declarations[i];\n if (!declaration.initializer) {\n if (declaration.flags & CommonFlags.Const) {\n this.error(\n DiagnosticCode._const_declarations_must_be_initialized,\n declaration.name.range\n );\n } else if (!declaration.type) {\n this.error(\n DiagnosticCode.Type_expected,\n declaration.name.range.atEnd\n );\n }\n }\n }\n }\n }\n\n if (tn.token == Token.Semicolon) {\n let condition: ExpressionStatement | null = null;\n if (!tn.skip(Token.Semicolon)) {\n condition = this.parseExpressionStatement(tn);\n if (!condition) return null;\n }\n\n if (tn.token == Token.Semicolon) {\n let incrementor: Expression | null = null;\n if (!tn.skip(Token.CloseParen)) {\n incrementor = this.parseExpression(tn);\n if (!incrementor) return null;\n\n if (!tn.skip(Token.CloseParen)) {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \")\"\n );\n return null;\n }\n }\n\n let statement = this.parseStatement(tn);\n if (!statement) return null;\n\n return Node.createForStatement(\n initializer,\n condition\n ? condition.expression\n : null,\n incrementor,\n statement,\n tn.range(startPos, tn.pos)\n );\n\n } else {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \";\"\n );\n }\n } else {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \";\"\n );\n }\n } else {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \"(\"\n );\n }\n return null;\n }\n\n parseForOfStatement(\n tn: Tokenizer,\n startPos: i32,\n variable: Statement,\n ): ForOfStatement | null {\n\n // at 'of': Expression ')' Statement\n\n let iterable = this.parseExpression(tn);\n if (!iterable) return null;\n\n if (!tn.skip(Token.CloseParen)) {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \")\"\n );\n return null;\n }\n\n let statement = this.parseStatement(tn);\n if (!statement) return null;\n\n return Node.createForOfStatement(\n variable,\n iterable,\n statement,\n tn.range(startPos, tn.pos)\n );\n }\n\n parseIfStatement(\n tn: Tokenizer\n ): IfStatement | null {\n\n // at 'if': '(' Expression ')' Statement ('else' Statement)?\n\n let startPos = tn.tokenPos;\n if (tn.skip(Token.OpenParen)) {\n let condition = this.parseExpression(tn);\n if (!condition) return null;\n if (tn.skip(Token.CloseParen)) {\n let statement = this.parseStatement(tn);\n if (!statement) return null;\n let elseStatement: Statement | null = null;\n if (tn.skip(Token.Else)) {\n elseStatement = this.parseStatement(tn);\n if (!elseStatement) return null;\n }\n return Node.createIfStatement(\n condition,\n statement,\n elseStatement,\n tn.range(startPos, tn.pos)\n );\n } else {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \")\"\n );\n }\n } else {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \"(\"\n );\n }\n return null;\n }\n\n parseSwitchStatement(\n tn: Tokenizer\n ): SwitchStatement | null {\n\n // at 'switch': '(' Expression ')' '{' SwitchCase* '}' ';'?\n\n let startPos = tn.tokenPos;\n if (tn.skip(Token.OpenParen)) {\n let condition = this.parseExpression(tn);\n if (!condition) return null;\n if (tn.skip(Token.CloseParen)) {\n if (tn.skip(Token.OpenBrace)) {\n let switchCases = new Array();\n while (!tn.skip(Token.CloseBrace)) {\n let switchCase = this.parseSwitchCase(tn);\n if (!switchCase) return null;\n switchCases.push(switchCase);\n }\n let ret = Node.createSwitchStatement(condition, switchCases, tn.range(startPos, tn.pos));\n tn.skip(Token.Semicolon);\n return ret;\n } else {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \"{\"\n );\n }\n } else {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \")\"\n );\n }\n } else {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \"(\"\n );\n }\n return null;\n }\n\n parseSwitchCase(\n tn: Tokenizer\n ): SwitchCase | null {\n\n let startPos = tn.tokenPos;\n let statements: Statement[],\n statement: Statement | null;\n\n // 'case' Expression ':' Statement*\n\n if (tn.skip(Token.Case)) {\n let label = this.parseExpression(tn);\n if (!label) return null;\n if (tn.skip(Token.Colon)) {\n statements = new Array();\n while (\n tn.peek() != Token.Case &&\n tn.nextToken != Token.Default &&\n tn.nextToken != Token.CloseBrace\n ) {\n statement = this.parseStatement(tn);\n if (!statement) return null;\n statements.push(statement);\n }\n return Node.createSwitchCase(label, statements, tn.range(startPos, tn.pos));\n } else {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \":\"\n );\n }\n\n // 'default' ':' Statement*\n\n } else if (tn.skip(Token.Default)) {\n if (tn.skip(Token.Colon)) {\n statements = new Array();\n while (\n tn.peek() != Token.Case &&\n tn.nextToken != Token.Default &&\n tn.nextToken != Token.CloseBrace\n ) {\n statement = this.parseStatement(tn);\n if (!statement) return null;\n statements.push(statement);\n }\n return Node.createSwitchCase(null, statements, tn.range(startPos, tn.pos));\n } else {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \":\"\n );\n }\n } else {\n this.error(\n DiagnosticCode._case_or_default_expected,\n tn.range()\n );\n }\n return null;\n }\n\n parseThrowStatement(\n tn: Tokenizer\n ): ThrowStatement | null {\n\n // at 'throw': Expression ';'?\n\n let startPos = tn.tokenPos;\n let expression = this.parseExpression(tn);\n if (!expression) return null;\n let ret = Node.createThrowStatement(expression, tn.range(startPos, tn.pos));\n if (!tn.skip(Token.Semicolon)) this.checkASI(tn);\n return ret;\n }\n\n parseTryStatement(\n tn: Tokenizer\n ): TryStatement | null {\n\n // at 'try':\n // '{' Statement* '}'\n // ('catch' '(' VariableMember ')' '{' Statement* '}')?\n // ('finally' '{' Statement* '}'? ';'?\n\n let startPos = tn.tokenPos;\n let stmt: Statement | null;\n if (tn.skip(Token.OpenBrace)) {\n let bodyStatements = new Array();\n while (!tn.skip(Token.CloseBrace)) {\n stmt = this.parseStatement(tn);\n if (!stmt) return null;\n bodyStatements.push(stmt);\n }\n let catchVariable: IdentifierExpression | null = null;\n let catchStatements: Statement[] | null = null;\n let finallyStatements: Statement[] | null = null;\n if (tn.skip(Token.Catch)) {\n if (!tn.skip(Token.OpenParen)) {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \"(\"\n );\n return null;\n }\n if (!tn.skipIdentifier()) {\n this.error(\n DiagnosticCode.Identifier_expected,\n tn.range()\n );\n return null;\n }\n catchVariable = Node.createIdentifierExpression(tn.readIdentifier(), tn.range());\n if (!tn.skip(Token.CloseParen)) {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \")\"\n );\n return null;\n }\n if (!tn.skip(Token.OpenBrace)) {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \"{\"\n );\n return null;\n }\n catchStatements = [];\n while (!tn.skip(Token.CloseBrace)) {\n stmt = this.parseStatement(tn);\n if (!stmt) return null;\n catchStatements.push(stmt);\n }\n }\n if (tn.skip(Token.Finally)) {\n if (!tn.skip(Token.OpenBrace)) {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \"{\"\n );\n return null;\n }\n finallyStatements = [];\n while (!tn.skip(Token.CloseBrace)) {\n stmt = this.parseStatement(tn);\n if (!stmt) return null;\n finallyStatements.push(stmt);\n }\n }\n if (!(catchStatements || finallyStatements)) {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \"catch\"\n );\n return null;\n }\n let ret = Node.createTryStatement(\n bodyStatements,\n catchVariable,\n catchStatements,\n finallyStatements,\n tn.range(startPos, tn.pos)\n );\n tn.skip(Token.Semicolon);\n return ret;\n } else {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \"{\"\n );\n }\n return null;\n }\n\n parseTypeDeclaration(\n tn: Tokenizer,\n flags: CommonFlags,\n decorators: DecoratorNode[] | null,\n startPos: i32\n ): TypeDeclaration | null {\n\n // at 'type': Identifier ('<' TypeParameters '>')? '=' '|'? Type ';'?\n\n if (tn.skipIdentifier()) {\n let name = Node.createIdentifierExpression(tn.readIdentifier(), tn.range());\n let typeParameters: TypeParameterNode[] | null = null;\n if (tn.skip(Token.LessThan)) {\n typeParameters = this.parseTypeParameters(tn);\n if (!typeParameters) return null;\n flags |= CommonFlags.Generic;\n }\n if (tn.skip(Token.Equals)) {\n tn.skip(Token.Bar);\n let type = this.parseType(tn);\n if (!type) return null;\n if (isCircularTypeAlias(name.text, type)) {\n this.error(\n DiagnosticCode.Type_alias_0_circularly_references_itself,\n name.range, name.text\n );\n return null;\n }\n let ret = Node.createTypeDeclaration(\n name,\n decorators,\n flags,\n typeParameters,\n type,\n tn.range(startPos, tn.pos)\n );\n tn.skip(Token.Semicolon);\n ret.overriddenModuleName = this.currentModuleName;\n return ret;\n } else {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \"=\"\n );\n }\n } else {\n this.error(\n DiagnosticCode.Identifier_expected,\n tn.range()\n );\n }\n return null;\n }\n\n parseModuleDeclaration(\n tn: Tokenizer,\n flags: CommonFlags\n ): ModuleDeclaration | null {\n\n // at 'module': StringLiteral ';'?\n\n let startPos = tn.tokenPos;\n assert(tn.next() == Token.StringLiteral); // checked earlier\n let moduleName = tn.readString();\n let ret = Node.createModuleDeclaration(moduleName, flags, tn.range(startPos, tn.pos));\n this.currentModuleName = moduleName;\n tn.skip(Token.Semicolon);\n return ret;\n }\n\n parseVoidStatement(\n tn: Tokenizer\n ): VoidStatement | null {\n\n // at 'void': Expression ';'?\n\n let startPos = tn.tokenPos;\n let expression = this.parseExpression(tn, Precedence.Grouping);\n if (!expression) return null;\n let ret = Node.createVoidStatement(expression, tn.range(startPos, tn.pos));\n tn.skip(Token.Semicolon);\n return ret;\n }\n\n parseWhileStatement(\n tn: Tokenizer\n ): WhileStatement | null {\n\n // at 'while': '(' Expression ')' Statement ';'?\n\n let startPos = tn.tokenPos;\n if (tn.skip(Token.OpenParen)) {\n let expression = this.parseExpression(tn);\n if (!expression) return null;\n if (tn.skip(Token.CloseParen)) {\n let statement = this.parseStatement(tn);\n if (!statement) return null;\n let ret = Node.createWhileStatement(expression, statement, tn.range(startPos, tn.pos));\n tn.skip(Token.Semicolon);\n return ret;\n } else {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \")\"\n );\n }\n } else {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \"(\"\n );\n }\n return null;\n }\n\n // expressions\n\n parseExpressionStart(\n tn: Tokenizer\n ): Expression | null {\n let token = tn.next(IdentifierHandling.Prefer);\n let startPos = tn.tokenPos;\n switch (token) {\n\n // TODO: SpreadExpression, YieldExpression\n case Token.Dot_Dot_Dot:\n case Token.Yield: // fallthrough to unsupported UnaryPrefixExpression\n\n // UnaryPrefixExpression\n case Token.Exclamation:\n case Token.Tilde:\n case Token.Plus:\n case Token.Minus:\n case Token.TypeOf:\n case Token.Void:\n case Token.Delete: {\n let operand = this.parseExpression(tn, Precedence.UnaryPrefix);\n if (!operand) return null;\n return Node.createUnaryPrefixExpression(token, operand, tn.range(startPos, tn.pos));\n }\n case Token.Plus_Plus:\n case Token.Minus_Minus: {\n let operand = this.parseExpression(tn, Precedence.UnaryPrefix);\n if (!operand) return null;\n switch (operand.kind) {\n case NodeKind.Identifier:\n case NodeKind.ElementAccess:\n case NodeKind.PropertyAccess: break;\n default: {\n this.error(\n DiagnosticCode.The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access,\n operand.range\n );\n }\n }\n return Node.createUnaryPrefixExpression(token, operand, tn.range(startPos, tn.pos));\n }\n\n // NewExpression\n case Token.New: {\n if (!tn.skipIdentifier()) {\n this.error(\n DiagnosticCode.Identifier_expected,\n tn.range()\n );\n return null;\n }\n let typeName = this.parseTypeName(tn);\n if (!typeName) return null;\n let typeArguments: TypeNode[] | null = null;\n let arguments_: Expression[] | null = null;\n if (\n tn.skip(Token.OpenParen) ||\n (typeArguments = this.tryParseTypeArgumentsBeforeArguments(tn))\n ) {\n arguments_ = this.parseArguments(tn);\n if (!arguments_) return null;\n } else {\n arguments_ = []; // new Type;\n }\n return Node.createNewExpression(\n typeName,\n typeArguments,\n arguments_,\n tn.range(startPos, tn.pos)\n );\n }\n\n // Special IdentifierExpression\n case Token.Null: return Node.createNullExpression(tn.range());\n case Token.True: return Node.createTrueExpression(tn.range());\n case Token.False: return Node.createFalseExpression(tn.range());\n case Token.This: return Node.createThisExpression(tn.range());\n case Token.Constructor: return Node.createConstructorExpression(tn.range());\n\n // ParenthesizedExpression or FunctionExpression\n case Token.OpenParen: {\n\n // determine whether this is a function expression\n if (tn.skip(Token.CloseParen)) { // must be a function expression (fast route)\n return this.parseFunctionExpressionCommon(\n tn,\n Node.createEmptyIdentifierExpression(tn.range(startPos)),\n [],\n null,\n ArrowKind.Parenthesized\n );\n }\n let state = tn.mark();\n let again = true;\n do {\n switch (tn.next(IdentifierHandling.Prefer)) {\n\n // function expression\n case Token.Dot_Dot_Dot: {\n tn.reset(state);\n return this.parseFunctionExpression(tn);\n }\n // can be both\n case Token.Identifier: {\n tn.readIdentifier();\n switch (tn.next()) {\n\n // if we got here, check for arrow\n case Token.CloseParen: {\n // `Identifier):Type =>` is function expression\n if (tn.skip(Token.Colon)) {\n let type = this.parseType(tn, true, true);\n if (type == null) {\n again = false;\n break;\n }\n }\n if (!tn.skip(Token.Equals_GreaterThan)) {\n again = false;\n break;\n }\n // fall-through\n }\n // function expression\n case Token.Colon: { // type annotation\n tn.reset(state);\n return this.parseFunctionExpression(tn);\n }\n // optional parameter or parenthesized\n case Token.Question: {\n if (\n tn.skip(Token.Colon) || // optional parameter with type\n tn.skip(Token.Comma) || // optional parameter without type\n tn.skip(Token.CloseParen) // last optional parameter without type\n ) {\n tn.reset(state);\n return this.parseFunctionExpression(tn);\n }\n again = false; // parenthesized\n break;\n }\n case Token.Comma: {\n break; // continue\n }\n // parenthesized expression\n // case Token.EQUALS: // missing type annotation for simplicity\n default: {\n again = false;\n break;\n }\n }\n break;\n }\n // parenthesized expression\n default: {\n again = false;\n break;\n }\n }\n } while (again);\n tn.reset(state);\n\n // parse parenthesized\n let inner = this.parseExpression(tn);\n if (!inner) return null;\n if (!tn.skip(Token.CloseParen)) {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \")\"\n );\n return null;\n }\n inner = Node.createParenthesizedExpression(inner, tn.range(startPos, tn.pos));\n return this.maybeParseCallExpression(tn, inner);\n }\n // ArrayLiteralExpression\n case Token.OpenBracket: {\n let elementExpressions = new Array();\n while (!tn.skip(Token.CloseBracket)) {\n let expr: Expression | null;\n if (tn.peek() == Token.Comma) {\n expr = Node.createOmittedExpression(tn.range(tn.pos));\n } else {\n expr = this.parseExpression(tn, Precedence.Comma + 1);\n if (!expr) return null;\n }\n elementExpressions.push(expr);\n if (!tn.skip(Token.Comma)) {\n if (tn.skip(Token.CloseBracket)) {\n break;\n } else {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \"]\"\n );\n return null;\n }\n }\n }\n return Node.createArrayLiteralExpression(elementExpressions, tn.range(startPos, tn.pos));\n }\n // ObjectLiteralExpression\n case Token.OpenBrace: {\n let startPos = tn.tokenPos;\n let names = new Array();\n let values = new Array();\n let name: IdentifierExpression;\n while (!tn.skip(Token.CloseBrace)) {\n if (!tn.skipIdentifier()) {\n if (!tn.skip(Token.StringLiteral)) {\n this.error(\n DiagnosticCode.Identifier_expected,\n tn.range(),\n );\n return null;\n }\n name = Node.createIdentifierExpression(tn.readString(), tn.range());\n name.isQuoted = true;\n } else {\n name = Node.createIdentifierExpression(tn.readIdentifier(), tn.range());\n }\n names.push(name);\n if (tn.skip(Token.Colon)) {\n let value = this.parseExpression(tn, Precedence.Comma + 1);\n if (!value) return null;\n values.push(value);\n } else if (!name.isQuoted) {\n values.push(name);\n } else {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \":\"\n );\n return null;\n }\n if (!tn.skip(Token.Comma)) {\n if (tn.skip(Token.CloseBrace)) {\n break;\n } else {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \"}\"\n );\n return null;\n }\n }\n }\n return Node.createObjectLiteralExpression(names, values, tn.range(startPos, tn.pos));\n }\n // AssertionExpression (unary prefix)\n case Token.LessThan: {\n let toType = this.parseType(tn);\n if (!toType) return null;\n if (!tn.skip(Token.GreaterThan)) {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \">\"\n );\n return null;\n }\n let expr = this.parseExpression(tn, Precedence.Call);\n if (!expr) return null;\n return Node.createAssertionExpression(\n AssertionKind.Prefix,\n expr,\n toType,\n tn.range(startPos, tn.pos)\n );\n }\n case Token.Identifier: {\n let identifierText = tn.readIdentifier();\n if (identifierText == \"null\") return Node.createNullExpression(tn.range()); // special\n let identifier = Node.createIdentifierExpression(identifierText, tn.range(startPos, tn.pos));\n if (tn.skip(Token.TemplateLiteral)) {\n return this.parseTemplateLiteral(tn, identifier);\n }\n if (tn.peek() == Token.Equals_GreaterThan && !tn.peekOnNewLine()) {\n return this.parseFunctionExpressionCommon(\n tn,\n Node.createEmptyIdentifierExpression(tn.range(startPos)),\n [\n Node.createParameter(\n ParameterKind.Default,\n identifier,\n Node.createOmittedType(identifier.range.atEnd),\n null,\n identifier.range\n )\n ],\n null,\n ArrowKind.Single,\n startPos\n );\n }\n return this.maybeParseCallExpression(tn, identifier, true);\n }\n case Token.Super: {\n if (tn.peek() != Token.Dot && tn.nextToken != Token.OpenParen) {\n this.error(\n DiagnosticCode._super_must_be_followed_by_an_argument_list_or_member_access,\n tn.range()\n );\n }\n let expr = Node.createSuperExpression(tn.range(startPos, tn.pos));\n return this.maybeParseCallExpression(tn, expr);\n }\n case Token.StringLiteral: {\n return Node.createStringLiteralExpression(tn.readString(), tn.range(startPos, tn.pos));\n }\n case Token.TemplateLiteral: {\n return this.parseTemplateLiteral(tn);\n }\n case Token.IntegerLiteral: {\n let value = tn.readInteger();\n tn.checkForIdentifierStartAfterNumericLiteral();\n return Node.createIntegerLiteralExpression(value, tn.range(startPos, tn.pos));\n }\n case Token.FloatLiteral: {\n let value = tn.readFloat();\n tn.checkForIdentifierStartAfterNumericLiteral();\n return Node.createFloatLiteralExpression(value, tn.range(startPos, tn.pos));\n }\n // RegexpLiteralExpression\n // note that this also continues on invalid ones so the surrounding AST remains intact\n case Token.Slash: {\n let regexpPattern = tn.readRegexpPattern(); // also reports\n if (!tn.skip(Token.Slash)) {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \"/\"\n );\n return null;\n }\n return Node.createRegexpLiteralExpression(\n regexpPattern,\n tn.readRegexpFlags(), // also reports\n tn.range(startPos, tn.pos)\n );\n }\n case Token.Function: {\n let expr = this.parseFunctionExpression(tn);\n if (!expr) return null;\n return this.maybeParseCallExpression(tn, expr);\n }\n case Token.Class: {\n return this.parseClassExpression(tn);\n }\n default: {\n if (token == Token.EndOfFile) {\n this.error(\n DiagnosticCode.Unexpected_end_of_text,\n tn.range(startPos)\n );\n } else {\n this.error(\n DiagnosticCode.Expression_expected,\n tn.range()\n );\n }\n return null;\n }\n }\n }\n\n tryParseTypeArgumentsBeforeArguments(\n tn: Tokenizer\n ): TypeNode[] | null {\n\n // at '<': Type (',' Type)* '>' '('\n\n let state = tn.mark();\n if (!tn.skip(Token.LessThan)) return null;\n let start = tn.tokenPos;\n let typeArguments: TypeNode[] | null = null;\n do {\n if (tn.peek() == Token.GreaterThan) {\n break;\n }\n let type = this.parseType(tn, true, true);\n if (!type) {\n tn.reset(state);\n return null;\n }\n if (!typeArguments) typeArguments = [ type ];\n else typeArguments.push(type);\n } while (tn.skip(Token.Comma));\n if (tn.skip(Token.GreaterThan)) {\n let end = tn.pos;\n if (tn.skip(Token.OpenParen)) {\n if (!typeArguments) {\n this.error(\n DiagnosticCode.Type_argument_list_cannot_be_empty,\n tn.range(start, end)\n );\n }\n return typeArguments;\n }\n }\n tn.reset(state);\n return null;\n }\n\n parseArguments(\n tn: Tokenizer\n ): Expression[] | null {\n\n // at '(': (Expression (',' Expression)*)? ')'\n\n let args = new Array();\n while (!tn.skip(Token.CloseParen)) {\n let expr = this.parseExpression(tn, Precedence.Comma + 1);\n if (!expr) return null;\n args.push(expr);\n if (!tn.skip(Token.Comma)) {\n if (tn.skip(Token.CloseParen)) {\n break;\n } else {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \")\"\n );\n return null;\n }\n }\n }\n return args;\n }\n\n parseExpression(\n tn: Tokenizer,\n precedence: Precedence = Precedence.Comma\n ): Expression | null {\n assert(precedence != Precedence.None);\n let expr = this.parseExpressionStart(tn);\n if (!expr) return null;\n let startPos = expr.range.start;\n\n // precedence climbing\n // see: http://www.engr.mun.ca/~theo/Misc/exp_parsing.htm#climbing\n let nextPrecedence: Precedence;\n while (\n (nextPrecedence = determinePrecedence(tn.peek())) >= precedence\n ) {\n let token = tn.next();\n switch (token) {\n\n // AssertionExpression\n case Token.As: {\n if (tn.skip(Token.Const)) {\n expr = Node.createAssertionExpression(\n AssertionKind.Const,\n expr,\n null,\n tn.range(startPos, tn.pos)\n );\n } else {\n let toType = this.parseType(tn); // reports\n if (!toType) return null;\n expr = Node.createAssertionExpression(\n AssertionKind.As,\n expr,\n toType,\n tn.range(startPos, tn.pos)\n );\n }\n break;\n }\n case Token.Exclamation: {\n expr = Node.createAssertionExpression(\n AssertionKind.NonNull,\n expr,\n null,\n tn.range(startPos, tn.pos)\n );\n expr = this.maybeParseCallExpression(tn, expr);\n break;\n }\n // InstanceOfExpression\n case Token.InstanceOf: {\n let isType = this.parseType(tn); // reports\n if (!isType) return null;\n expr = Node.createInstanceOfExpression(\n expr,\n isType,\n tn.range(startPos, tn.pos)\n );\n break;\n }\n // ElementAccessExpression\n case Token.OpenBracket: {\n let next = this.parseExpression(tn); // reports\n if (!next) return null;\n if (!tn.skip(Token.CloseBracket)) {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \"]\"\n );\n return null;\n }\n expr = Node.createElementAccessExpression(\n expr,\n next,\n tn.range(startPos, tn.pos)\n );\n expr = this.maybeParseCallExpression(tn, expr);\n break;\n }\n // UnaryPostfixExpression\n case Token.Plus_Plus:\n case Token.Minus_Minus: {\n if (\n expr.kind != NodeKind.Identifier &&\n expr.kind != NodeKind.ElementAccess &&\n expr.kind != NodeKind.PropertyAccess\n ) {\n this.error(\n DiagnosticCode.The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access,\n expr.range\n );\n }\n expr = Node.createUnaryPostfixExpression(\n token,\n expr,\n tn.range(startPos, tn.pos)\n );\n break;\n }\n // TernaryExpression\n case Token.Question: {\n let ifThen = this.parseExpression(tn);\n if (!ifThen) return null;\n if (!tn.skip(Token.Colon)) {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \":\"\n );\n return null;\n }\n let ifElse = this.parseExpression(tn, precedence > Precedence.Comma\n ? Precedence.Comma + 1\n : Precedence.Comma\n );\n if (!ifElse) return null;\n expr = Node.createTernaryExpression(\n expr,\n ifThen,\n ifElse,\n tn.range(startPos, tn.pos)\n );\n break;\n }\n // CommaExpression\n case Token.Comma: {\n let commaExprs: Expression[] = [ expr ];\n do {\n expr = this.parseExpression(tn, Precedence.Comma + 1);\n if (!expr) return null;\n commaExprs.push(expr);\n } while (tn.skip(Token.Comma));\n expr = Node.createCommaExpression(commaExprs, tn.range(startPos, tn.pos));\n break;\n }\n // PropertyAccessExpression\n case Token.Dot: {\n if (tn.skipIdentifier(IdentifierHandling.Always)) { // expr '.' Identifier\n let next = Node.createIdentifierExpression(tn.readIdentifier(), tn.range());\n expr = Node.createPropertyAccessExpression(\n expr,\n next,\n tn.range(startPos, tn.pos)\n );\n } else {\n let next = this.parseExpression(tn, nextPrecedence + 1);\n if (!next) return null;\n if (next.kind == NodeKind.Call) { // expr '.' CallExpression\n expr = this.joinPropertyCall(tn, startPos, expr, next);\n if (!expr) return null;\n } else {\n this.error(\n DiagnosticCode.Identifier_expected,\n next.range\n );\n return null;\n }\n }\n if (tn.skip(Token.TemplateLiteral)) {\n expr = this.parseTemplateLiteral(tn, expr);\n if (!expr) return null;\n } else {\n expr = this.maybeParseCallExpression(tn, expr, true);\n }\n break;\n }\n // BinaryExpression (right associative)\n case Token.Equals:\n case Token.Plus_Equals:\n case Token.Minus_Equals:\n case Token.Asterisk_Asterisk_Equals:\n case Token.Asterisk_Equals:\n case Token.Slash_Equals:\n case Token.Percent_Equals:\n case Token.LessThan_LessThan_Equals:\n case Token.GreaterThan_GreaterThan_Equals:\n case Token.GreaterThan_GreaterThan_GreaterThan_Equals:\n case Token.Ampersand_Equals:\n case Token.Caret_Equals:\n case Token.Bar_Equals:\n case Token.Asterisk_Asterisk: {\n let next = this.parseExpression(tn, nextPrecedence);\n if (!next) return null;\n expr = Node.createBinaryExpression(token, expr, next, tn.range(startPos, tn.pos));\n break;\n }\n // BinaryExpression\n case Token.LessThan:\n case Token.GreaterThan:\n case Token.LessThan_Equals:\n case Token.GreaterThan_Equals:\n case Token.Equals_Equals:\n case Token.Equals_Equals_Equals:\n case Token.Exclamation_Equals_Equals:\n case Token.Exclamation_Equals:\n case Token.Plus:\n case Token.Minus:\n case Token.Asterisk:\n case Token.Slash:\n case Token.Percent:\n case Token.LessThan_LessThan:\n case Token.GreaterThan_GreaterThan:\n case Token.GreaterThan_GreaterThan_GreaterThan:\n case Token.Ampersand:\n case Token.Bar:\n case Token.Caret:\n case Token.Ampersand_Ampersand:\n case Token.Bar_Bar:\n case Token.In: {\n let next = this.parseExpression(tn, nextPrecedence + 1);\n if (!next) return null;\n expr = Node.createBinaryExpression(token, expr, next, tn.range(startPos, tn.pos));\n break;\n }\n default: assert(false); // filtered by determinePrecedence\n }\n }\n return expr;\n }\n\n private parseTemplateLiteral(tn: Tokenizer, tag: Expression | null = null): Expression | null {\n // at '`': ... '`'\n let startPos = tag ? tag.range.start : tn.tokenPos;\n let parts = new Array();\n let rawParts = new Array();\n let exprs = new Array();\n parts.push(tn.readString(0, tag != null));\n rawParts.push(tn.source.text.substring(tn.readStringStart, tn.readStringEnd));\n while (tn.readingTemplateString) {\n let expr = this.parseExpression(tn);\n if (!expr) return null;\n exprs.push(expr);\n if (!tn.skip(Token.CloseBrace)) {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \"}\"\n );\n return null;\n }\n parts.push(tn.readString(CharCode.Backtick, tag != null));\n rawParts.push(tn.source.text.substring(tn.readStringStart, tn.readStringEnd));\n }\n return Node.createTemplateLiteralExpression(tag, parts, rawParts, exprs, tn.range(startPos, tn.pos));\n }\n\n private joinPropertyCall(\n tn: Tokenizer,\n startPos: i32,\n expr: Expression,\n call: CallExpression\n ): Expression | null {\n let callee = call.expression;\n switch (callee.kind) {\n case NodeKind.Identifier: { // join property access and use as call target\n call.expression = Node.createPropertyAccessExpression(\n expr,\n callee,\n tn.range(startPos, tn.pos)\n );\n break;\n }\n case NodeKind.Call: { // join call target und wrap the original call around it\n let inner = this.joinPropertyCall(tn, startPos, expr, callee);\n if (!inner) return null;\n call.expression = inner;\n call.range = tn.range(startPos, tn.pos);\n break;\n }\n default: {\n this.error(\n DiagnosticCode.Identifier_expected,\n call.range\n );\n return null;\n }\n }\n return call;\n }\n\n private maybeParseCallExpression(\n tn: Tokenizer,\n expr: Expression,\n potentiallyGeneric: bool = false\n ): Expression {\n let typeArguments: TypeNode[] | null = null;\n while (\n tn.skip(Token.OpenParen) ||\n potentiallyGeneric &&\n (typeArguments = this.tryParseTypeArgumentsBeforeArguments(tn))\n ) {\n let args = this.parseArguments(tn);\n if (!args) break;\n expr = Node.createCallExpression( // is again callable\n expr,\n typeArguments,\n args,\n tn.range(expr.range.start, tn.pos)\n );\n potentiallyGeneric = false;\n }\n return expr;\n }\n\n private checkASI(\n tn: Tokenizer\n ): void {\n // see: https://tc39.es/ecma262/#sec-automatic-semicolon-insertion\n let nextToken = tn.peek();\n if (nextToken == Token.EndOfFile || nextToken == Token.CloseBrace || tn.peekOnNewLine()) return;\n this.error(\n DiagnosticCode.Unexpected_token,\n tn.range(tn.nextTokenPos)\n );\n }\n\n /** Skips over a statement on errors in an attempt to reduce unnecessary diagnostic noise. */\n skipStatement(tn: Tokenizer): void {\n if (tn.peekOnNewLine()) tn.next(); // if reset() to the previous line\n do {\n let nextToken = tn.peek();\n if (\n nextToken == Token.EndOfFile || // next step should handle this\n nextToken == Token.Semicolon // end of the statement for sure\n ) {\n tn.next();\n break;\n }\n if (tn.peekOnNewLine()) break; // end of the statement maybe\n switch (tn.next()) {\n case Token.Identifier: {\n tn.readIdentifier();\n break;\n }\n case Token.StringLiteral:\n case Token.TemplateLiteral: {\n tn.readString();\n break;\n }\n case Token.IntegerLiteral: {\n tn.readInteger();\n tn.checkForIdentifierStartAfterNumericLiteral();\n break;\n }\n case Token.FloatLiteral: {\n tn.readFloat();\n tn.checkForIdentifierStartAfterNumericLiteral();\n break;\n }\n case Token.OpenBrace: {\n this.skipBlock(tn);\n break;\n }\n }\n } while (true);\n tn.readingTemplateString = false;\n }\n\n /** Skips over a block on errors in an attempt to reduce unnecessary diagnostic noise. */\n skipBlock(tn: Tokenizer): void {\n // at '{': ... '}'\n let depth = 1;\n let again = true;\n do {\n switch (tn.next()) {\n case Token.EndOfFile: {\n this.error(\n DiagnosticCode._0_expected,\n tn.range(), \"}\"\n );\n again = false;\n break;\n }\n case Token.OpenBrace: {\n ++depth;\n break;\n }\n case Token.CloseBrace: {\n --depth;\n if (!depth) again = false;\n break;\n }\n case Token.Identifier: {\n tn.readIdentifier();\n break;\n }\n case Token.StringLiteral:{\n tn.readString();\n break;\n }\n case Token.TemplateLiteral: {\n tn.readString();\n while(tn.readingTemplateString){\n this.skipBlock(tn);\n tn.readString(CharCode.Backtick);\n }\n break;\n }\n case Token.IntegerLiteral: {\n tn.readInteger();\n tn.checkForIdentifierStartAfterNumericLiteral();\n break;\n }\n case Token.FloatLiteral: {\n tn.readFloat();\n tn.checkForIdentifierStartAfterNumericLiteral();\n break;\n }\n }\n } while (again);\n }\n}\n\n/** Operator precedence from least to largest. */\nexport const enum Precedence {\n None,\n Comma,\n Spread,\n Yield,\n Assignment,\n Conditional,\n LogicalOr,\n LogicalAnd,\n BitwiseOr,\n BitwiseXor,\n BitwiseAnd,\n Equality,\n Relational,\n Shift,\n Additive,\n Multiplicative,\n Exponentiated,\n UnaryPrefix,\n UnaryPostfix,\n Call,\n MemberAccess,\n Grouping\n}\n\n/** Determines the precedence of a non-starting token. */\nfunction determinePrecedence(kind: Token): Precedence {\n switch (kind) {\n case Token.Comma: return Precedence.Comma;\n case Token.Equals:\n case Token.Plus_Equals:\n case Token.Minus_Equals:\n case Token.Asterisk_Asterisk_Equals:\n case Token.Asterisk_Equals:\n case Token.Slash_Equals:\n case Token.Percent_Equals:\n case Token.LessThan_LessThan_Equals:\n case Token.GreaterThan_GreaterThan_Equals:\n case Token.GreaterThan_GreaterThan_GreaterThan_Equals:\n case Token.Ampersand_Equals:\n case Token.Caret_Equals:\n case Token.Bar_Equals: return Precedence.Assignment;\n case Token.Question: return Precedence.Conditional;\n case Token.Bar_Bar: return Precedence.LogicalOr;\n case Token.Ampersand_Ampersand: return Precedence.LogicalAnd;\n case Token.Bar: return Precedence.BitwiseOr;\n case Token.Caret: return Precedence.BitwiseXor;\n case Token.Ampersand: return Precedence.BitwiseAnd;\n case Token.Equals_Equals:\n case Token.Exclamation_Equals:\n case Token.Equals_Equals_Equals:\n case Token.Exclamation_Equals_Equals: return Precedence.Equality;\n case Token.As:\n case Token.In:\n case Token.InstanceOf:\n case Token.LessThan:\n case Token.GreaterThan:\n case Token.LessThan_Equals:\n case Token.GreaterThan_Equals: return Precedence.Relational;\n case Token.LessThan_LessThan:\n case Token.GreaterThan_GreaterThan:\n case Token.GreaterThan_GreaterThan_GreaterThan: return Precedence.Shift;\n case Token.Plus:\n case Token.Minus: return Precedence.Additive;\n case Token.Asterisk:\n case Token.Slash:\n case Token.Percent: return Precedence.Multiplicative;\n case Token.Asterisk_Asterisk: return Precedence.Exponentiated;\n case Token.Plus_Plus:\n case Token.Minus_Minus: return Precedence.UnaryPostfix;\n case Token.Dot:\n case Token.OpenBracket:\n case Token.Exclamation: return Precedence.MemberAccess;\n }\n return Precedence.None;\n}\n\n/** Checks if the type alias of the given name and type is circular. */\nfunction isCircularTypeAlias(name: string, type: TypeNode): bool {\n switch (type.kind) {\n case NodeKind.NamedType: {\n if ((type).name.identifier.text == name) {\n return true;\n }\n let typeArguments = (type).typeArguments;\n if (typeArguments) {\n for (let i = 0, k = typeArguments.length; i < k; i++) {\n if (isCircularTypeAlias(name, typeArguments[i])) return true;\n }\n }\n break;\n }\n case NodeKind.FunctionType: {\n let functionType = type;\n if (isCircularTypeAlias(name, functionType.returnType)) return true;\n let parameters = functionType.parameters;\n for (let i = 0, k = parameters.length; i < k; i++) {\n if (isCircularTypeAlias(name, parameters[i].type)) return true;\n }\n break;\n }\n default: assert(false);\n }\n return false;\n}\n", "/**\n * @fileoverview AssemblyScript's intermediate representation.\n *\n * The compiler uses Binaryen IR, which is fairly low level, as its\n * primary intermediate representation, with the following structures\n * holding any higher level information that cannot be represented by\n * Binaryen IR alone, for example higher level types.\n *\n * Similar to the AST being composed of `Node`s in `Source`s, the IR is\n * composed of `Element`s in a `Program`. Each class or function is\n * represented by a \"prototype\" holding all the relevant information,\n * including each's concrete instances. If a class or function is not\n * generic, there is exactly one instance, otherwise there is one for\n * each concrete set of type arguments.\n *\n * @license Apache-2.0\n */\n\n// Element Base class of all elements\n// \u251C\u2500DeclaredElement Base class of elements with a declaration\n// \u2502 \u251C\u2500TypedElement Base class of elements resolving to a type\n// \u2502 \u2502 \u251C\u2500TypeDefinition Type alias declaration\n// \u2502 \u2502 \u251C\u2500VariableLikeElement Base class of all variable-like elements\n// \u2502 \u2502 \u2502 \u251C\u2500EnumValue Enum value\n// \u2502 \u2502 \u2502 \u251C\u2500Global File global\n// \u2502 \u2502 \u2502 \u251C\u2500Local Function local\n// \u2502 \u2502 \u2502 \u2514\u2500Property Class property (incl. instance fields)\n// \u2502 \u2502 \u251C\u2500IndexSignature Class index signature\n// \u2502 \u2502 \u251C\u2500Function Concrete function instance\n// \u2502 \u2502 \u2514\u2500Class Concrete class instance\n// \u2502 \u251C\u2500Namespace Namespace with static members\n// \u2502 \u251C\u2500FunctionPrototype Prototype of concrete function instances\n// \u2502 \u251C\u2500PropertyPrototype Prototype of concrete property instances\n// \u2502 \u2514\u2500ClassPrototype Prototype of concrete class instances\n// \u2514\u2500File File, analogous to Source in the AST\n\nimport {\n CommonFlags,\n PATH_DELIMITER,\n STATIC_DELIMITER,\n INSTANCE_DELIMITER,\n GETTER_PREFIX,\n SETTER_PREFIX,\n INNER_DELIMITER,\n INDEX_SUFFIX,\n STUB_DELIMITER,\n CommonNames,\n Feature,\n Target,\n featureToString\n} from \"./common\";\n\nimport {\n Options\n} from \"./compiler\";\n\nimport {\n Range,\n DiagnosticCode,\n DiagnosticMessage,\n DiagnosticEmitter\n} from \"./diagnostics\";\n\nimport {\n Type,\n TypeKind,\n Signature,\n TypeFlags\n} from \"./types\";\n\nimport {\n Token\n} from \"./tokenizer\";\n\nimport {\n Node,\n NodeKind,\n Source,\n SourceKind,\n DecoratorNode,\n DecoratorKind,\n TypeParameterNode,\n TypeNode,\n NamedTypeNode,\n FunctionTypeNode,\n ArrowKind,\n\n Expression,\n IdentifierExpression,\n LiteralKind,\n StringLiteralExpression,\n\n Statement,\n ClassDeclaration,\n DeclarationStatement,\n EnumDeclaration,\n EnumValueDeclaration,\n ExportMember,\n ExportDefaultStatement,\n ExportStatement,\n FieldDeclaration,\n FunctionDeclaration,\n ImportDeclaration,\n ImportStatement,\n InterfaceDeclaration,\n MethodDeclaration,\n NamespaceDeclaration,\n TypeDeclaration,\n VariableDeclaration,\n VariableLikeDeclarationStatement,\n VariableStatement,\n ParameterKind,\n ParameterNode,\n TypeName\n} from \"./ast\";\n\nimport {\n Module,\n ExpressionRef,\n FunctionRef,\n MemorySegment,\n getFunctionName\n} from \"./module\";\n\nimport {\n CharCode,\n writeI8,\n writeI16,\n writeI32,\n writeF32,\n writeF64,\n writeI64,\n writeI32AsI64,\n writeI64AsI32\n} from \"./util\";\n\nimport {\n Resolver\n} from \"./resolver\";\n\nimport {\n Flow,\n LocalFlags\n} from \"./flow\";\n\nimport {\n Parser\n} from \"./parser\";\n\nimport {\n BuiltinNames,\n builtinFunctions,\n builtinVariables_onAccess\n} from \"./builtins\";\n\n// Memory manager constants\nconst AL_SIZE = 16;\nconst AL_MASK = AL_SIZE - 1;\n\n/** Represents a yet unresolved `import`. */\nclass QueuedImport {\n constructor(\n /** File being imported into. */\n public localFile: File,\n /** Identifier within the local file. */\n public localIdentifier: IdentifierExpression,\n /** Identifier within the other file. Is an `import *` if not set. */\n public foreignIdentifier: IdentifierExpression | null,\n /** Path to the other file. */\n public foreignPath: string,\n /** Alternative path to the other file. */\n public foreignPathAlt: string\n ) {}\n}\n\n/** Represents a yet unresolved `export`. */\nclass QueuedExport {\n constructor(\n /** Identifier within the local file. */\n public localIdentifier: IdentifierExpression,\n /** Identifier within the other file. */\n public foreignIdentifier: IdentifierExpression,\n /** Path to the other file if a re-export. */\n public foreignPath: string | null,\n /** Alternative path to the other file if a re-export. */\n public foreignPathAlt: string | null\n ) {}\n}\n\n/** Represents a yet unresolved `export *`. */\nclass QueuedExportStar {\n // stored in a map with localFile as the key\n constructor(\n /** Path to the other file. */\n public foreignPath: string,\n /** Alternative path to the other file. */\n public foreignPathAlt: string,\n /** Reference to the path literal for reporting. */\n public pathLiteral: StringLiteralExpression\n ) {}\n}\n\n/** Represents the kind of an operator overload. */\nexport enum OperatorKind {\n Invalid,\n\n // indexed access\n IndexedGet, // a[]\n IndexedSet, // a[]=b\n UncheckedIndexedGet, // unchecked(a[])\n UncheckedIndexedSet, // unchecked(a[]=b)\n\n // binary\n Add, // a + b\n Sub, // a - b\n Mul, // a * b\n Div, // a / b\n Rem, // a % b\n Pow, // a ** b\n BitwiseAnd, // a & b\n BitwiseOr, // a | b\n BitwiseXor, // a ^ b\n BitwiseShl, // a << b\n BitwiseShr, // a >> b\n BitwiseShrU, // a >>> b\n Eq, // a == b, a === b\n Ne, // a != b, a !== b\n Gt, // a > b\n Ge, // a >= b\n Lt, // a < b\n Le, // a <= b\n\n // unary prefix\n Plus, // +a\n Minus, // -a\n Not, // !a\n BitwiseNot, // ~a\n PrefixInc, // ++a\n PrefixDec, // --a\n\n // unary postfix\n PostfixInc, // a++\n PostfixDec // a--\n\n // not overridable:\n // LogicalAnd // a && b\n // LogicalOr // a || b\n}\n\nexport namespace OperatorKind {\n\n /** Returns the operator kind represented by the specified decorator and string argument. */\n export function fromDecorator(decoratorKind: DecoratorKind, arg: string): OperatorKind {\n assert(arg.length);\n switch (decoratorKind) {\n case DecoratorKind.Operator:\n case DecoratorKind.OperatorBinary: {\n switch (arg.charCodeAt(0)) {\n case CharCode.OpenBracket: {\n if (arg == \"[]\") return OperatorKind.IndexedGet;\n if (arg == \"[]=\") return OperatorKind.IndexedSet;\n break;\n }\n case CharCode.OpenBrace: {\n if (arg == \"{}\") return OperatorKind.UncheckedIndexedGet;\n if (arg == \"{}=\") return OperatorKind.UncheckedIndexedSet;\n break;\n }\n case CharCode.Plus: {\n if (arg == \"+\") return OperatorKind.Add;\n break;\n }\n case CharCode.Minus: {\n if (arg == \"-\") return OperatorKind.Sub;\n break;\n }\n case CharCode.Asterisk: {\n if (arg == \"*\") return OperatorKind.Mul;\n if (arg == \"**\") return OperatorKind.Pow;\n break;\n }\n case CharCode.Slash: {\n if (arg == \"/\") return OperatorKind.Div;\n break;\n }\n case CharCode.Percent: {\n if (arg == \"%\") return OperatorKind.Rem;\n break;\n }\n case CharCode.Ampersand: {\n if (arg == \"&\") return OperatorKind.BitwiseAnd;\n break;\n }\n case CharCode.Bar: {\n if (arg == \"|\") return OperatorKind.BitwiseOr;\n break;\n }\n case CharCode.Caret: {\n if (arg == \"^\") return OperatorKind.BitwiseXor;\n break;\n }\n case CharCode.Equals: {\n if (arg == \"==\") return OperatorKind.Eq;\n break;\n }\n case CharCode.Exclamation: {\n if (arg == \"!=\") return OperatorKind.Ne;\n break;\n }\n case CharCode.GreaterThan: {\n if (arg == \">\") return OperatorKind.Gt;\n if (arg == \">=\") return OperatorKind.Ge;\n if (arg == \">>\") return OperatorKind.BitwiseShr;\n if (arg == \">>>\") return OperatorKind.BitwiseShrU;\n break;\n }\n case CharCode.LessThan: {\n if (arg == \"<\") return OperatorKind.Lt;\n if (arg == \"<=\") return OperatorKind.Le;\n if (arg == \"<<\") return OperatorKind.BitwiseShl;\n break;\n }\n }\n break;\n }\n case DecoratorKind.OperatorPrefix: {\n switch (arg.charCodeAt(0)) {\n case CharCode.Plus: {\n if (arg == \"+\") return OperatorKind.Plus;\n if (arg == \"++\") return OperatorKind.PrefixInc;\n break;\n }\n case CharCode.Minus: {\n if (arg == \"-\") return OperatorKind.Minus;\n if (arg == \"--\") return OperatorKind.PrefixDec;\n break;\n }\n case CharCode.Exclamation: {\n if (arg == \"!\") return OperatorKind.Not;\n break;\n }\n case CharCode.Tilde: {\n if (arg == \"~\") return OperatorKind.BitwiseNot;\n break;\n }\n }\n break;\n }\n case DecoratorKind.OperatorPostfix: {\n switch (arg.charCodeAt(0)) {\n case CharCode.Plus: {\n if (arg == \"++\") return OperatorKind.PostfixInc;\n break;\n }\n case CharCode.Minus: {\n if (arg == \"--\") return OperatorKind.PostfixDec;\n break;\n }\n }\n break;\n }\n }\n return OperatorKind.Invalid;\n }\n\n /** Converts a binary operator token to the respective operator kind. */\n export function fromBinaryToken(token: Token): OperatorKind {\n switch (token) {\n case Token.Plus:\n case Token.Plus_Equals: return OperatorKind.Add;\n case Token.Minus:\n case Token.Minus_Equals: return OperatorKind.Sub;\n case Token.Asterisk:\n case Token.Asterisk_Equals: return OperatorKind.Mul;\n case Token.Slash:\n case Token.Slash_Equals: return OperatorKind.Div;\n case Token.Percent:\n case Token.Percent_Equals: return OperatorKind.Rem;\n case Token.Asterisk_Asterisk:\n case Token.Asterisk_Asterisk_Equals: return OperatorKind.Pow;\n case Token.Ampersand:\n case Token.Ampersand_Equals: return OperatorKind.BitwiseAnd;\n case Token.Bar:\n case Token.Bar_Equals: return OperatorKind.BitwiseOr;\n case Token.Caret:\n case Token.Caret_Equals: return OperatorKind.BitwiseXor;\n case Token.LessThan_LessThan:\n case Token.LessThan_LessThan_Equals: return OperatorKind.BitwiseShl;\n case Token.GreaterThan_GreaterThan:\n case Token.GreaterThan_GreaterThan_Equals: return OperatorKind.BitwiseShr;\n case Token.GreaterThan_GreaterThan_GreaterThan:\n case Token.GreaterThan_GreaterThan_GreaterThan_Equals: return OperatorKind.BitwiseShrU;\n case Token.Equals_Equals: return OperatorKind.Eq;\n case Token.Exclamation_Equals: return OperatorKind.Ne;\n case Token.GreaterThan: return OperatorKind.Gt;\n case Token.GreaterThan_Equals: return OperatorKind.Ge;\n case Token.LessThan: return OperatorKind.Lt;\n case Token.LessThan_Equals: return OperatorKind.Le;\n }\n return OperatorKind.Invalid;\n }\n\n /** Converts a unary prefix operator token to the respective operator kind. */\n export function fromUnaryPrefixToken(token: Token): OperatorKind {\n switch (token) {\n case Token.Plus: return OperatorKind.Plus;\n case Token.Minus: return OperatorKind.Minus;\n case Token.Exclamation: return OperatorKind.Not;\n case Token.Tilde: return OperatorKind.BitwiseNot;\n case Token.Plus_Plus: return OperatorKind.PrefixInc;\n case Token.Minus_Minus: return OperatorKind.PrefixDec;\n }\n return OperatorKind.Invalid;\n }\n\n /** Converts a unary postfix operator token to the respective operator kind. */\n export function fromUnaryPostfixToken(token: Token): OperatorKind {\n switch (token) {\n case Token.Plus_Plus: return OperatorKind.PostfixInc;\n case Token.Minus_Minus: return OperatorKind.PostfixDec;\n }\n return OperatorKind.Invalid;\n }\n}\n\n/** Represents an AssemblyScript program. */\nexport class Program extends DiagnosticEmitter {\n\n /** Constructs a new program, optionally inheriting parser diagnostics. */\n constructor(\n /** Compiler options. */\n public options: Options,\n /** Shared array of diagnostic messages (emitted so far). */\n diagnostics: DiagnosticMessage[] | null = null\n ) {\n super(diagnostics);\n this.module = Module.create(options.stackSize > 0, options.sizeTypeRef); \n this.parser = new Parser(this.diagnostics, this.sources);\n this.resolver = new Resolver(this);\n let nativeFile = new File(this, Source.native);\n this.nativeFile = nativeFile;\n this.filesByName.set(nativeFile.internalName, nativeFile);\n }\n\n /** Module instance. */\n module: Module;\n /** Parser instance. */\n parser!: Parser;\n /** Resolver instance. */\n resolver!: Resolver;\n /** Array of sources. */\n sources: Source[] = [];\n /** Diagnostic offset used where successively obtaining the next diagnostic. */\n diagnosticsOffset: i32 = 0;\n /** Special native code file. */\n nativeFile!: File;\n /** Next class id. */\n nextClassId: u32 = 0;\n /** Next signature id. */\n nextSignatureId: i32 = 0;\n /** An indicator if the program has been initialized. */\n initialized: bool = false;\n\n // Lookup maps\n\n /** Files by unique internal name. */\n filesByName: Map = new Map();\n /** Elements by unique internal name in element space. */\n elementsByName: Map = new Map();\n /** Elements by declaration. */\n elementsByDeclaration: Map = new Map();\n /** Element instances by unique internal name. */\n instancesByName: Map = new Map();\n /** Classes wrapping basic types like `i32`. */\n wrapperClasses: Map = new Map();\n /** Managed classes contained in the program, by id. */\n managedClasses: Map = new Map();\n /** A set of unique function signatures contained in the program, by id. */\n uniqueSignatures: Map = new Map();\n /** Module imports. */\n moduleImports: Map> = new Map();\n\n // Standard library\n\n /** Gets the standard `ArrayBufferView` instance. */\n get arrayBufferViewInstance(): Class {\n let cached = this._arrayBufferViewInstance;\n if (!cached) this._arrayBufferViewInstance = cached = this.requireClass(CommonNames.ArrayBufferView);\n return cached;\n }\n private _arrayBufferViewInstance: Class | null = null;\n\n /** Gets the standard `ArrayBuffer` instance. */\n get arrayBufferInstance(): Class {\n let cached = this._arrayBufferInstance;\n if (!cached) this._arrayBufferInstance = cached = this.requireClass(CommonNames.ArrayBuffer);\n return cached;\n }\n private _arrayBufferInstance: Class | null = null;\n\n /** Gets the standard `Array` prototype. */\n get arrayPrototype(): ClassPrototype {\n let cached = this._arrayPrototype;\n if (!cached) this._arrayPrototype = cached = this.require(CommonNames.Array, ElementKind.ClassPrototype);\n return cached;\n }\n private _arrayPrototype: ClassPrototype | null = null;\n\n /** Gets the standard `StaticArray` prototype. */\n get staticArrayPrototype(): ClassPrototype {\n let cached = this._staticArrayPrototype;\n if (!cached) this._staticArrayPrototype = cached = this.require(CommonNames.StaticArray, ElementKind.ClassPrototype);\n return cached;\n }\n private _staticArrayPrototype: ClassPrototype | null = null;\n\n /** Gets the standard `Set` prototype. */\n get setPrototype(): ClassPrototype {\n let cached = this._setPrototype;\n if (!cached) this._setPrototype = cached = this.require(CommonNames.Set, ElementKind.ClassPrototype);\n return cached;\n }\n private _setPrototype: ClassPrototype | null = null;\n\n /** Gets the standard `Map` prototype. */\n get mapPrototype(): ClassPrototype {\n let cached = this._mapPrototype;\n if (!cached) this._mapPrototype = cached = this.require(CommonNames.Map, ElementKind.ClassPrototype);\n return cached;\n }\n private _mapPrototype: ClassPrototype | null = null;\n\n /** Gets the standard `Function` prototype. */\n get functionPrototype(): ClassPrototype {\n let cached = this._functionPrototype;\n if (!cached) this._functionPrototype = cached = this.require(CommonNames.Function, ElementKind.ClassPrototype);\n return cached;\n }\n private _functionPrototype: ClassPrototype | null = null;\n\n /** Gets the standard `Int8Array` prototype. */\n get int8ArrayPrototype(): ClassPrototype {\n let cached = this._int8ArrayPrototype;\n if (!cached) this._int8ArrayPrototype = cached = this.require(CommonNames.Int8Array, ElementKind.ClassPrototype);\n return cached;\n }\n private _int8ArrayPrototype: ClassPrototype | null = null;\n\n /** Gets the standard `Int16Array` prototype. */\n get int16ArrayPrototype(): ClassPrototype {\n let cached = this._int16ArrayPrototype;\n if (!cached) this._int16ArrayPrototype = cached = this.require(CommonNames.Int16Array, ElementKind.ClassPrototype);\n return cached;\n }\n private _int16ArrayPrototype: ClassPrototype | null = null;\n\n /** Gets the standard `Int32Array` prototype. */\n get int32ArrayPrototype(): ClassPrototype {\n let cached = this._int32ArrayPrototype;\n if (!cached) this._int32ArrayPrototype = cached = this.require(CommonNames.Int32Array, ElementKind.ClassPrototype);\n return cached;\n }\n private _int32ArrayPrototype: ClassPrototype | null = null;\n\n /** Gets the standard `Int64Array` prototype. */\n get int64ArrayPrototype(): ClassPrototype {\n let cached = this._int64ArrayPrototype;\n if (!cached) this._int64ArrayPrototype = cached = this.require(CommonNames.Int64Array, ElementKind.ClassPrototype);\n return cached;\n }\n private _int64ArrayPrototype: ClassPrototype | null = null;\n\n /** Gets the standard `Uint8Array` prototype. */\n get uint8ArrayPrototype(): ClassPrototype {\n let cached = this._uint8ArrayPrototype;\n if (!cached) this._uint8ArrayPrototype = cached = this.require(CommonNames.Uint8Array, ElementKind.ClassPrototype);\n return cached;\n }\n private _uint8ArrayPrototype: ClassPrototype | null = null;\n\n /** Gets the standard `Uint8ClampedArray` prototype. */\n get uint8ClampedArrayPrototype(): ClassPrototype {\n let cached = this._uint8ClampedArrayPrototype;\n if (!cached) this._uint8ClampedArrayPrototype = cached = this.require(CommonNames.Uint8ClampedArray, ElementKind.ClassPrototype);\n return cached;\n }\n private _uint8ClampedArrayPrototype: ClassPrototype | null = null;\n\n /** Gets the standard `Uint16Array` prototype. */\n get uint16ArrayPrototype(): ClassPrototype {\n let cached = this._uint16ArrayPrototype;\n if (!cached) this._uint16ArrayPrototype = cached = this.require(CommonNames.Uint16Array, ElementKind.ClassPrototype);\n return cached;\n }\n private _uint16ArrayPrototype: ClassPrototype | null = null;\n\n /** Gets the standard `Uint32Array` prototype. */\n get uint32ArrayPrototype(): ClassPrototype {\n let cached = this._uint32ArrayPrototype;\n if (!cached) this._uint32ArrayPrototype = cached = this.require(CommonNames.Uint32Array, ElementKind.ClassPrototype);\n return cached;\n }\n private _uint32ArrayPrototype: ClassPrototype | null = null;\n\n /** Gets the standard `Uint64Array` prototype. */\n get uint64ArrayPrototype(): ClassPrototype {\n let cached = this._uint64ArrayPrototype;\n if (!cached) this._uint64ArrayPrototype = cached = this.require(CommonNames.Uint64Array, ElementKind.ClassPrototype);\n return cached;\n }\n private _uint64ArrayPrototype: ClassPrototype | null = null;\n\n /** Gets the standard `Float32Array` prototype. */\n get float32ArrayPrototype(): ClassPrototype {\n let cached = this._float32ArrayPrototype;\n if (!cached) this._float32ArrayPrototype = cached = this.require(CommonNames.Float32Array, ElementKind.ClassPrototype);\n return cached;\n }\n private _float32ArrayPrototype: ClassPrototype | null = null;\n\n /** Gets the standard `Float64Array` prototype. */\n get float64ArrayPrototype(): ClassPrototype {\n let cached = this._float64ArrayPrototype;\n if (!cached) this._float64ArrayPrototype = cached = this.require(CommonNames.Float64Array, ElementKind.ClassPrototype);\n return cached;\n }\n private _float64ArrayPrototype: ClassPrototype | null = null;\n\n /** Gets the standard `String` instance. */\n get stringInstance(): Class {\n let cached = this._stringInstance;\n if (!cached) this._stringInstance = cached = this.requireClass(CommonNames.String);\n return cached;\n }\n private _stringInstance: Class | null = null;\n\n /** Gets the standard `RegExp` instance. */\n get regexpInstance(): Class {\n let cached = this._regexpInstance;\n if (!cached) this._regexpInstance = cached = this.requireClass(CommonNames.RegExp);\n return cached;\n }\n private _regexpInstance: Class | null = null;\n\n /** Gets the standard `Object` prototype. */\n get objectPrototype(): ClassPrototype {\n let cached = this._objectPrototype;\n if (!cached) this._objectPrototype = cached = this.require(CommonNames.Object, ElementKind.ClassPrototype);\n return cached;\n }\n private _objectPrototype: ClassPrototype | null = null;\n\n /** Gets the standard `Object` instance. */\n get objectInstance(): Class {\n let cached = this._objectInstance;\n if (!cached) this._objectInstance = cached = this.requireClass(CommonNames.Object);\n return cached;\n }\n private _objectInstance: Class | null = null;\n\n /** Gets the standard `TemplateStringsArray` instance. */\n get templateStringsArrayInstance(): Class {\n let cached = this._templateStringsArrayInstance;\n if (!cached) this._templateStringsArrayInstance = cached = this.requireClass(CommonNames.TemplateStringsArray);\n return cached;\n }\n private _templateStringsArrayInstance: Class | null = null;\n\n /** Gets the standard `abort` instance, if not explicitly disabled. */\n get abortInstance(): Function | null {\n let prototype = this.lookup(CommonNames.abort);\n if (!prototype || prototype.kind != ElementKind.FunctionPrototype) return null;\n return this.resolver.resolveFunction(prototype, null);\n }\n\n // Runtime interface\n\n /** Gets the runtime `__alloc(size: usize): usize` instance. */\n get allocInstance(): Function {\n let cached = this._allocInstance;\n if (!cached) this._allocInstance = cached = this.requireFunction(CommonNames.alloc);\n return cached;\n }\n private _allocInstance: Function | null = null;\n\n /** Gets the runtime `__realloc(ptr: usize, newSize: usize): usize` instance. */\n get reallocInstance(): Function {\n let cached = this._reallocInstance;\n if (!cached) this._reallocInstance = cached = this.requireFunction(CommonNames.realloc);\n return cached;\n }\n private _reallocInstance: Function | null = null;\n\n /** Gets the runtime `__free(ptr: usize): void` instance. */\n get freeInstance(): Function {\n let cached = this._freeInstance;\n if (!cached) this._freeInstance = cached = this.requireFunction(CommonNames.free);\n return cached;\n }\n private _freeInstance: Function | null = null;\n\n /** Gets the runtime `__new(size: usize, id: u32): usize` instance. */\n get newInstance(): Function {\n let cached = this._newInstance;\n if (!cached) this._newInstance = cached = this.requireFunction(CommonNames.new_);\n return cached;\n }\n private _newInstance: Function | null = null;\n\n /** Gets the runtime `__renew(ptr: usize, size: usize): usize` instance. */\n get renewInstance(): Function {\n let cached = this._renewInstance;\n if (!cached) this._renewInstance = cached = this.requireFunction(CommonNames.renew);\n return cached;\n }\n private _renewInstance: Function | null = null;\n\n /** Gets the runtime `__link(parentPtr: usize, childPtr: usize, expectMultiple: bool): void` instance. */\n get linkInstance(): Function {\n let cached = this._linkInstance;\n if (!cached) this._linkInstance = cached = this.requireFunction(CommonNames.link);\n return cached;\n }\n private _linkInstance: Function | null = null;\n\n /** Gets the runtime `__collect(): void` instance. */\n get collectInstance(): Function {\n let cached = this._collectInstance;\n if (!cached) this._collectInstance = cached = this.requireFunction(CommonNames.collect);\n return cached;\n }\n private _collectInstance: Function | null = null;\n\n /** Gets the runtime `__visit(ptr: usize, cookie: u32): void` instance. */\n get visitInstance(): Function {\n let cached = this._visitInstance;\n if (!cached) this._visitInstance = cached = this.requireFunction(CommonNames.visit);\n return cached;\n }\n private _visitInstance: Function | null = null;\n\n /** Gets the runtime `__newBuffer(size: usize, id: u32, data: usize = 0): usize` instance. */\n get newBufferInstance(): Function {\n let cached = this._newBufferInstance;\n if (!cached) this._newBufferInstance = cached = this.requireFunction(CommonNames.newBuffer);\n return cached;\n }\n private _newBufferInstance: Function | null = null;\n\n /** Gets the runtime `__newArray(length: i32, alignLog2: usize, id: u32, data: usize = 0): usize` instance. */\n get newArrayInstance(): Function {\n let cached = this._newArrayInstance;\n if (!cached) this._newArrayInstance = cached = this.requireFunction(CommonNames.newArray);\n return cached;\n }\n private _newArrayInstance: Function | null = null;\n\n /** Gets the runtime's internal `BLOCK` instance. */\n get BLOCKInstance(): Class {\n let cached = this._BLOCKInstance;\n if (!cached) this._BLOCKInstance = cached = this.requireClass(CommonNames.BLOCK);\n return cached;\n }\n private _BLOCKInstance: Class | null = null;\n\n /** Gets the runtime's internal `OBJECT` instance. */\n get OBJECTInstance(): Class {\n let cached = this._OBJECTInstance;\n if (!cached) this._OBJECTInstance = cached = this.requireClass(CommonNames.OBJECT);\n return cached;\n }\n private _OBJECTInstance: Class | null = null;\n\n // Utility\n\n /** Obtains the source matching the specified internal path. */\n getSource(internalPath: string): string | null {\n let sources = this.sources;\n for (let i = 0; i < sources.length; ++i) {\n let source = sources[i];\n if (source.internalPath == internalPath) return source.text;\n }\n return null;\n }\n\n /** Gets the overhead of a memory manager block. */\n get blockOverhead(): i32 {\n // BLOCK | data...\n // ^ 16b alignment\n return this.BLOCKInstance.nextMemoryOffset;\n }\n\n /** Gets the overhead of a managed object, excl. block overhead, incl. alignment. */\n get objectOverhead(): i32 {\n // OBJECT+align | data...\n // \u2514 0 \u2518 ^ 16b alignment\n return (this.OBJECTInstance.nextMemoryOffset - this.blockOverhead + AL_MASK) & ~AL_MASK;\n }\n\n /** Gets the total overhead of a managed object, incl. block overhead. */\n get totalOverhead(): i32 {\n // BLOCK | OBJECT+align | data...\n // \u2514 = TOTAL \u2518 ^ 16b alignment\n return this.blockOverhead + this.objectOverhead;\n }\n\n searchFunctionByRef(ref: FunctionRef): Function | null {\n const modifiedFunctionName = getFunctionName(ref);\n if (modifiedFunctionName) {\n const instancesByName = this.instancesByName;\n if (instancesByName.has(modifiedFunctionName)) {\n const element = assert(instancesByName.get(modifiedFunctionName));\n if (element.kind == ElementKind.Function) {\n return element;\n }\n }\n }\n return null;\n }\n\n /** Computes the next properly aligned offset of a memory manager block, given the current bump offset. */\n computeBlockStart(currentOffset: i32): i32 {\n let blockOverhead = this.blockOverhead;\n return ((currentOffset + blockOverhead + AL_MASK) & ~AL_MASK) - blockOverhead;\n }\n\n /** Computes the next properly aligned offset of a memory manager block, given the current bump offset. */\n computeBlockStart64(currentOffset: i64): i64 {\n let blockOverhead = i64_new(this.blockOverhead);\n return i64_sub(i64_align(i64_add(currentOffset, blockOverhead), AL_SIZE), blockOverhead);\n }\n\n /** Computes the size of a memory manager block, excl. block overhead. */\n computeBlockSize(payloadSize: i32, isManaged: bool): i32 {\n // see: std/rt/tlsf.ts, computeSize; becomes mmInfo\n if (isManaged) payloadSize += this.objectOverhead;\n // we know that payload must be aligned, and that block sizes must be chosen\n // so that blocks are adjacent with the next payload aligned. hence, block\n // size is payloadSize rounded up to where the next block would start:\n let blockSize = this.computeBlockStart(payloadSize);\n // make sure that block size is valid according to TLSF requirements\n let blockOverhead = this.blockOverhead;\n let blockMinsize = ((3 * this.options.usizeType.byteSize + blockOverhead + AL_MASK) & ~AL_MASK) - blockOverhead;\n if (blockSize < blockMinsize) blockSize = blockMinsize;\n const blockMaxsize = 1 << 30; // 1 << (FL_BITS + SB_BITS - 1), exclusive\n const tagsMask = 3;\n if (blockSize >= blockMaxsize || (blockSize & tagsMask) != 0) {\n throw new Error(\"invalid block size\");\n }\n return blockSize;\n }\n\n /** Creates a native variable declaration. */\n makeNativeVariableDeclaration(\n /** The simple name of the variable */\n name: string,\n /** Flags indicating specific traits, e.g. `CONST`. */\n flags: CommonFlags = CommonFlags.None\n ): VariableDeclaration {\n let range = Source.native.range;\n return Node.createVariableDeclaration(\n Node.createIdentifierExpression(name, range),\n null, flags, null, null, range\n );\n }\n\n /** Creates a native type declaration. */\n makeNativeTypeDeclaration(\n /** The simple name of the type. */\n name: string,\n /** Flags indicating specific traits, e.g. `GENERIC`. */\n flags: CommonFlags = CommonFlags.None\n ): TypeDeclaration {\n let range = Source.native.range;\n let identifier = Node.createIdentifierExpression(name, range);\n return Node.createTypeDeclaration(\n identifier,\n null, flags, null,\n Node.createOmittedType(range),\n range\n );\n }\n\n // a dummy signature for programmatically generated native functions\n private nativeDummySignature: FunctionTypeNode | null = null;\n\n /** Creates a native function declaration. */\n makeNativeFunctionDeclaration(\n /** The simple name of the function. */\n name: string,\n /** Flags indicating specific traits, e.g. `DECLARE`. */\n flags: CommonFlags = CommonFlags.None\n ): FunctionDeclaration {\n let range = Source.native.range;\n let signature = this.nativeDummySignature;\n if (!signature) {\n this.nativeDummySignature = signature = Node.createFunctionType([],\n Node.createNamedType( // ^ AST signature doesn't really matter, is overridden anyway\n Node.createSimpleTypeName(CommonNames.void_, range),\n null, false, range\n ),\n null, false, range\n );\n }\n return Node.createFunctionDeclaration(\n Node.createIdentifierExpression(name, range),\n null, flags, null, signature, null, ArrowKind.None, range\n );\n }\n\n /** Creates a native namespace declaration. */\n makeNativeNamespaceDeclaration(\n /** The simple name of the namespace. */\n name: string,\n /** Flags indicating specific traits, e.g. `EXPORT`. */\n flags: CommonFlags = CommonFlags.None\n ): NamespaceDeclaration {\n let range = Source.native.range;\n return Node.createNamespaceDeclaration(\n Node.createIdentifierExpression(name, range),\n null, flags, [], range\n );\n }\n\n /** Creates a native function. */\n makeNativeFunction(\n /** The simple name of the function. */\n name: string,\n /** Concrete function signature. */\n signature: Signature,\n /** Parent element, usually a file, class or namespace. */\n parent: Element = this.nativeFile,\n /** Flags indicating specific traits, e.g. `GENERIC`. */\n flags: CommonFlags = CommonFlags.None,\n /** Decorator flags representing built-in decorators. */\n decoratorFlags: DecoratorFlags = DecoratorFlags.None\n ): Function {\n return new Function(\n name,\n new FunctionPrototype(\n name,\n parent,\n this.makeNativeFunctionDeclaration(name, flags),\n decoratorFlags\n ),\n null,\n signature\n );\n }\n\n /** Gets the (possibly merged) program element linked to the specified declaration. */\n getElementByDeclaration(declaration: DeclarationStatement): DeclaredElement | null {\n let elementsByDeclaration = this.elementsByDeclaration;\n return elementsByDeclaration.has(declaration)\n ? assert(elementsByDeclaration.get(declaration))\n : null;\n }\n\n /** Initializes the program and its elements prior to compilation. */\n initialize(): void {\n if (this.initialized) return;\n this.initialized = true;\n\n let options = this.options;\n\n // register native types\n this.registerNativeType(CommonNames.i8, Type.i8);\n this.registerNativeType(CommonNames.i16, Type.i16);\n this.registerNativeType(CommonNames.i32, Type.i32);\n this.registerNativeType(CommonNames.i64, Type.i64);\n this.registerNativeType(CommonNames.isize, options.isizeType);\n this.registerNativeType(CommonNames.u8, Type.u8);\n this.registerNativeType(CommonNames.u16, Type.u16);\n this.registerNativeType(CommonNames.u32, Type.u32);\n this.registerNativeType(CommonNames.u64, Type.u64);\n this.registerNativeType(CommonNames.usize, options.usizeType);\n this.registerNativeType(CommonNames.bool, Type.bool);\n this.registerNativeType(CommonNames.f32, Type.f32);\n this.registerNativeType(CommonNames.f64, Type.f64);\n this.registerNativeType(CommonNames.void_, Type.void);\n this.registerNativeType(CommonNames.number, Type.f64); // alias\n this.registerNativeType(CommonNames.boolean, Type.bool); // alias\n this.nativeFile.add(CommonNames.native, new TypeDefinition(\n CommonNames.native,\n this.nativeFile,\n this.makeNativeTypeDeclaration(CommonNames.native, CommonFlags.Export | CommonFlags.Generic),\n DecoratorFlags.Builtin\n ));\n this.nativeFile.add(CommonNames.indexof, new TypeDefinition(\n CommonNames.indexof,\n this.nativeFile,\n this.makeNativeTypeDeclaration(CommonNames.indexof, CommonFlags.Export | CommonFlags.Generic),\n DecoratorFlags.Builtin\n ));\n this.nativeFile.add(CommonNames.valueof, new TypeDefinition(\n CommonNames.valueof,\n this.nativeFile,\n this.makeNativeTypeDeclaration(CommonNames.valueof, CommonFlags.Export | CommonFlags.Generic),\n DecoratorFlags.Builtin\n ));\n this.nativeFile.add(CommonNames.returnof, new TypeDefinition(\n CommonNames.returnof,\n this.nativeFile,\n this.makeNativeTypeDeclaration(CommonNames.returnof, CommonFlags.Export | CommonFlags.Generic),\n DecoratorFlags.Builtin\n ));\n this.nativeFile.add(CommonNames.nonnull, new TypeDefinition(\n CommonNames.nonnull,\n this.nativeFile,\n this.makeNativeTypeDeclaration(CommonNames.nonnull, CommonFlags.Export | CommonFlags.Generic),\n DecoratorFlags.Builtin\n ));\n\n // The following types might not be enabled by compiler options, so the\n // compiler needs to check this condition whenever such a value is created\n // respectively stored or loaded.\n this.registerNativeType(CommonNames.v128, Type.v128);\n this.registerNativeType(CommonNames.ref_func, Type.func);\n this.registerNativeType(CommonNames.ref_extern, Type.extern);\n this.registerNativeType(CommonNames.ref_any, Type.any);\n this.registerNativeType(CommonNames.ref_eq, Type.eq);\n this.registerNativeType(CommonNames.ref_struct, Type.struct);\n this.registerNativeType(CommonNames.ref_array, Type.array);\n this.registerNativeType(CommonNames.ref_i31, Type.i31);\n this.registerNativeType(CommonNames.ref_string, Type.string);\n this.registerNativeType(CommonNames.ref_stringview_wtf8, Type.stringview_wtf8);\n this.registerNativeType(CommonNames.ref_stringview_wtf16, Type.stringview_wtf16);\n this.registerNativeType(CommonNames.ref_stringview_iter, Type.stringview_iter);\n\n // register compiler hints\n this.registerConstantInteger(CommonNames.ASC_TARGET, Type.i32,\n i64_new(options.isWasm64 ? Target.Wasm64 : Target.Wasm32));\n this.registerConstantInteger(CommonNames.ASC_RUNTIME, Type.i32,\n i64_new(options.runtime));\n this.registerConstantInteger(CommonNames.ASC_NO_ASSERT, Type.bool,\n i64_new(options.noAssert ? 1 : 0, 0));\n this.registerConstantInteger(CommonNames.ASC_MEMORY_BASE, Type.i32,\n i64_new(options.memoryBase, 0));\n this.registerConstantInteger(CommonNames.ASC_TABLE_BASE, Type.i32,\n i64_new(options.tableBase, 0));\n this.registerConstantInteger(CommonNames.ASC_OPTIMIZE_LEVEL, Type.i32,\n i64_new(options.optimizeLevelHint, 0));\n this.registerConstantInteger(CommonNames.ASC_SHRINK_LEVEL, Type.i32,\n i64_new(options.shrinkLevelHint, 0));\n this.registerConstantInteger(CommonNames.ASC_LOW_MEMORY_LIMIT, Type.i32,\n i64_new(options.lowMemoryLimit, 0));\n this.registerConstantInteger(CommonNames.ASC_EXPORT_RUNTIME, Type.bool,\n i64_new(options.exportRuntime ? 1 : 0, 0));\n this.registerConstantInteger(CommonNames.ASC_VERSION_MAJOR, Type.i32,\n i64_new(options.bundleMajorVersion));\n this.registerConstantInteger(CommonNames.ASC_VERSION_MINOR, Type.i32,\n i64_new(options.bundleMinorVersion));\n this.registerConstantInteger(CommonNames.ASC_VERSION_PATCH, Type.i32,\n i64_new(options.bundlePatchVersion));\n\n // register feature hints\n this.registerConstantInteger(CommonNames.ASC_FEATURE_SIGN_EXTENSION, Type.bool,\n i64_new(options.hasFeature(Feature.SignExtension) ? 1 : 0, 0));\n this.registerConstantInteger(CommonNames.ASC_FEATURE_MUTABLE_GLOBALS, Type.bool,\n i64_new(options.hasFeature(Feature.MutableGlobals) ? 1 : 0, 0));\n this.registerConstantInteger(CommonNames.ASC_FEATURE_NONTRAPPING_F2I, Type.bool,\n i64_new(options.hasFeature(Feature.NontrappingF2I) ? 1 : 0, 0));\n this.registerConstantInteger(CommonNames.ASC_FEATURE_BULK_MEMORY, Type.bool,\n i64_new(options.hasFeature(Feature.BulkMemory) ? 1 : 0, 0));\n this.registerConstantInteger(CommonNames.ASC_FEATURE_SIMD, Type.bool,\n i64_new(options.hasFeature(Feature.Simd) ? 1 : 0, 0));\n this.registerConstantInteger(CommonNames.ASC_FEATURE_THREADS, Type.bool,\n i64_new(options.hasFeature(Feature.Threads) ? 1 : 0, 0));\n this.registerConstantInteger(CommonNames.ASC_FEATURE_EXCEPTION_HANDLING, Type.bool,\n i64_new(options.hasFeature(Feature.ExceptionHandling) ? 1 : 0, 0));\n this.registerConstantInteger(CommonNames.ASC_FEATURE_TAIL_CALLS, Type.bool,\n i64_new(options.hasFeature(Feature.TailCalls) ? 1 : 0, 0));\n this.registerConstantInteger(CommonNames.ASC_FEATURE_REFERENCE_TYPES, Type.bool,\n i64_new(options.hasFeature(Feature.ReferenceTypes) ? 1 : 0, 0));\n this.registerConstantInteger(CommonNames.ASC_FEATURE_MULTI_VALUE, Type.bool,\n i64_new(options.hasFeature(Feature.MultiValue) ? 1 : 0, 0));\n this.registerConstantInteger(CommonNames.ASC_FEATURE_GC, Type.bool,\n i64_new(options.hasFeature(Feature.GC) ? 1 : 0, 0));\n this.registerConstantInteger(CommonNames.ASC_FEATURE_MEMORY64, Type.bool,\n i64_new(options.hasFeature(Feature.Memory64) ? 1 : 0, 0));\n this.registerConstantInteger(CommonNames.ASC_FEATURE_RELAXED_SIMD, Type.bool,\n i64_new(options.hasFeature(Feature.RelaxedSimd) ? 1 : 0, 0));\n this.registerConstantInteger(CommonNames.ASC_FEATURE_EXTENDED_CONST, Type.bool,\n i64_new(options.hasFeature(Feature.ExtendedConst) ? 1 : 0, 0));\n this.registerConstantInteger(CommonNames.ASC_FEATURE_STRINGREF, Type.bool,\n i64_new(options.hasFeature(Feature.Stringref) ? 1 : 0, 0));\n\n // remember deferred elements\n let queuedImports = new Array();\n let queuedExports = new Map>();\n let queuedExportsStar = new Map();\n let queuedExtends = new Array();\n let queuedImplements = new Array();\n\n // initialize relevant declaration-like statements of the entire program\n for (let i = 0, k = this.sources.length; i < k; ++i) {\n let source = this.sources[i];\n let file = new File(this, source);\n this.filesByName.set(file.internalName, file);\n let statements = source.statements;\n for (let j = 0, l = statements.length; j < l; ++j) {\n let statement = statements[j];\n switch (statement.kind) {\n case NodeKind.Export: {\n this.initializeExports(statement, file, queuedExports, queuedExportsStar);\n break;\n }\n case NodeKind.ExportDefault: {\n this.initializeExportDefault(statement, file, queuedExtends, queuedImplements);\n break;\n }\n case NodeKind.Import: {\n this.initializeImports(statement, file, queuedImports, queuedExports);\n break;\n }\n case NodeKind.Variable: {\n this.initializeVariables(statement, file);\n break;\n }\n case NodeKind.ClassDeclaration: {\n this.initializeClass(statement, file, queuedExtends, queuedImplements);\n break;\n }\n case NodeKind.EnumDeclaration: {\n this.initializeEnum(statement, file);\n break;\n }\n case NodeKind.FunctionDeclaration: {\n this.initializeFunction(statement, file);\n break;\n }\n case NodeKind.InterfaceDeclaration: {\n this.initializeInterface(statement, file, queuedExtends);\n break;\n }\n case NodeKind.NamespaceDeclaration: {\n this.initializeNamespace(statement, file, queuedExtends, queuedImplements);\n break;\n }\n case NodeKind.TypeDeclaration: {\n this.initializeTypeDefinition(statement, file);\n break;\n }\n }\n }\n }\n\n // queued exports * should be linkable now that all files have been processed\n // TODO: for (let [file, starExports] of queuedExportsStar) {\n for (let _keys = Map_keys(queuedExportsStar), i = 0, k = _keys.length; i < k; ++i) {\n let file = _keys[i];\n let starExports = assert(queuedExportsStar.get(file));\n for (let j = 0, l = starExports.length; j < l; ++j) {\n let exportStar = unchecked(starExports[j]);\n let foreignFile = this.lookupForeignFile(exportStar.foreignPath, exportStar.foreignPathAlt);\n if (!foreignFile) {\n this.error(\n DiagnosticCode.File_0_not_found,\n exportStar.pathLiteral.range, exportStar.pathLiteral.value\n );\n continue;\n }\n file.ensureExportStar(foreignFile);\n }\n }\n\n // queued imports should be resolvable now through traversing exports and queued exports.\n // note that imports may depend upon imports, so repeat until there's no more progress.\n do {\n let i = 0, madeProgress = false;\n while (i < queuedImports.length) {\n let queuedImport = queuedImports[i];\n let localIdentifier = queuedImport.localIdentifier;\n let foreignIdentifier = queuedImport.foreignIdentifier;\n // File must be found here, as it would otherwise already have been reported by the parser\n let foreignFile = assert(this.lookupForeignFile(queuedImport.foreignPath, queuedImport.foreignPathAlt));\n if (foreignIdentifier) { // i.e. import { foo [as bar] } from \"./baz\"\n let element = this.lookupForeign(\n foreignIdentifier.text,\n foreignFile,\n queuedExports\n );\n if (element) {\n queuedImport.localFile.add(\n localIdentifier.text,\n element,\n localIdentifier // isImport\n );\n queuedImports.splice(i, 1);\n madeProgress = true;\n } else {\n ++i;\n }\n } else { // i.e. import * as bar from \"./bar\"\n let localFile = queuedImport.localFile;\n let localName = localIdentifier.text;\n localFile.add(\n localName,\n foreignFile.asAliasNamespace(\n localName,\n localFile,\n localIdentifier\n ),\n localIdentifier // isImport\n );\n queuedImports.splice(i, 1);\n madeProgress = true;\n }\n }\n if (!madeProgress) {\n // report queued imports we were unable to resolve\n for (let j = 0, l = queuedImports.length; j < l; ++j) {\n let queuedImport = queuedImports[j];\n let foreignIdentifier = queuedImport.foreignIdentifier;\n if (foreignIdentifier) {\n this.error(\n DiagnosticCode.Module_0_has_no_exported_member_1,\n foreignIdentifier.range, queuedImport.foreignPath, foreignIdentifier.text\n );\n }\n }\n break;\n }\n } while (true);\n\n // queued exports should be resolvable now that imports are finalized\n // TODO: for (let [file, exports] of queuedExports) {\n for (let _keys = Map_keys(queuedExports), i = 0, k = _keys.length; i < k; ++i) {\n let file = unchecked(_keys[i]);\n let exports = assert(queuedExports.get(file));\n // TODO: for (let [exportName, queuedExport] of exports) {\n for (let exportNames = Map_keys(exports), j = 0, l = exportNames.length; j < l; ++j) {\n let exportName = unchecked(exportNames[j]);\n let queuedExport = assert(exports.get(exportName));\n let localName = queuedExport.localIdentifier.text;\n let foreignPath = queuedExport.foreignPath;\n if (foreignPath) { // i.e. export { foo [as bar] } from \"./baz\"\n // File must be found here, as it would otherwise already have been reported by the parser\n let foreignFile = assert(this.lookupForeignFile(foreignPath, assert(queuedExport.foreignPathAlt)));\n let element = this.lookupForeign(localName, foreignFile, queuedExports);\n if (element) {\n file.ensureExport(exportName, element);\n } else {\n this.error(\n DiagnosticCode.Module_0_has_no_exported_member_1,\n queuedExport.localIdentifier.range,\n foreignPath, localName\n );\n }\n } else { // i.e. export { foo [as bar] }\n let element = file.getMember(localName);\n if (element) {\n file.ensureExport(exportName, element);\n } else {\n let globalElement = this.lookup(localName);\n if (globalElement && isDeclaredElement(globalElement.kind)) { // export { memory }\n file.ensureExport(exportName, globalElement);\n } else {\n this.error(\n DiagnosticCode.Module_0_has_no_exported_member_1,\n queuedExport.foreignIdentifier.range,\n file.internalName, queuedExport.foreignIdentifier.text\n );\n }\n }\n }\n }\n }\n\n // register foundational classes with fixed ids\n assert(this.objectInstance.id == 0);\n assert(this.arrayBufferInstance.id == 1);\n assert(this.stringInstance.id == 2);\n assert(this.arrayBufferViewInstance.id == 3);\n\n // register classes backing basic types\n this.registerWrapperClass(Type.i8, CommonNames.I8);\n this.registerWrapperClass(Type.i16, CommonNames.I16);\n this.registerWrapperClass(Type.i32, CommonNames.I32);\n this.registerWrapperClass(Type.i64, CommonNames.I64);\n this.registerWrapperClass(options.isizeType, CommonNames.Isize);\n this.registerWrapperClass(Type.u8, CommonNames.U8);\n this.registerWrapperClass(Type.u16, CommonNames.U16);\n this.registerWrapperClass(Type.u32, CommonNames.U32);\n this.registerWrapperClass(Type.u64, CommonNames.U64);\n this.registerWrapperClass(options.usizeType, CommonNames.Usize);\n this.registerWrapperClass(Type.bool, CommonNames.Bool);\n this.registerWrapperClass(Type.f32, CommonNames.F32);\n this.registerWrapperClass(Type.f64, CommonNames.F64);\n if (options.hasFeature(Feature.Simd)) this.registerWrapperClass(Type.v128, CommonNames.V128);\n if (options.hasFeature(Feature.ReferenceTypes)) {\n this.registerWrapperClass(Type.func, CommonNames.RefFunc);\n this.registerWrapperClass(Type.extern, CommonNames.RefExtern);\n if (options.hasFeature(Feature.GC)) {\n this.registerWrapperClass(Type.any, CommonNames.RefAny);\n this.registerWrapperClass(Type.eq, CommonNames.RefEq);\n this.registerWrapperClass(Type.struct, CommonNames.RefStruct);\n this.registerWrapperClass(Type.array, CommonNames.RefArray);\n this.registerWrapperClass(Type.i31, CommonNames.RefI31);\n }\n if (options.hasFeature(Feature.Stringref)) {\n this.registerWrapperClass(Type.string, CommonNames.RefString);\n }\n }\n\n // resolve prototypes of extended classes or interfaces\n let resolver = this.resolver;\n for (let i = 0, k = queuedExtends.length; i < k; ++i) {\n let thisPrototype = queuedExtends[i];\n let extendsNode = assert(thisPrototype.extendsNode); // must be present if in queuedExtends\n let baseElement = resolver.resolveTypeName(extendsNode.name, null, thisPrototype.parent);\n if (!baseElement) continue;\n if (thisPrototype.kind == ElementKind.ClassPrototype) {\n if (baseElement.kind == ElementKind.ClassPrototype) {\n let basePrototype = baseElement;\n if (basePrototype.hasDecorator(DecoratorFlags.Final)) {\n this.error(\n DiagnosticCode.Class_0_is_final_and_cannot_be_extended,\n extendsNode.range, basePrototype.identifierNode.text\n );\n }\n if (\n basePrototype.hasDecorator(DecoratorFlags.Unmanaged) !=\n thisPrototype.hasDecorator(DecoratorFlags.Unmanaged)\n ) {\n this.error(\n DiagnosticCode.Unmanaged_classes_cannot_extend_managed_classes_and_vice_versa,\n Range.join(thisPrototype.identifierNode.range, extendsNode.range)\n );\n }\n if (!thisPrototype.extends(basePrototype)) {\n thisPrototype.basePrototype = basePrototype;\n } else {\n this.error(\n DiagnosticCode._0_is_referenced_directly_or_indirectly_in_its_own_base_expression,\n basePrototype.identifierNode.range,\n basePrototype.identifierNode.text,\n );\n }\n } else {\n this.error(\n DiagnosticCode.A_class_may_only_extend_another_class,\n extendsNode.range\n );\n }\n } else if (thisPrototype.kind == ElementKind.InterfacePrototype) {\n if (baseElement.kind == ElementKind.InterfacePrototype) {\n const basePrototype = baseElement;\n if (!thisPrototype.extends(basePrototype)) {\n thisPrototype.basePrototype = basePrototype;\n } else {\n this.error(\n DiagnosticCode._0_is_referenced_directly_or_indirectly_in_its_own_base_expression,\n basePrototype.identifierNode.range,\n basePrototype.identifierNode.text,\n );\n }\n } else {\n this.error(\n DiagnosticCode.An_interface_can_only_extend_an_interface,\n extendsNode.range\n );\n }\n }\n }\n\n // check override\n for (let i = 0, k = queuedExtends.length; i < k; i++) {\n let prototype = queuedExtends[i];\n let instanesMembers = prototype.instanceMembers;\n if (instanesMembers) {\n let members = Map_values(instanesMembers);\n for (let j = 0, k = members.length; j < k; j++) {\n let member = members[j];\n let declaration = member.declaration;\n if (declaration.is(CommonFlags.Override)) {\n let basePrototype = prototype.basePrototype;\n let hasOverride = false;\n while (basePrototype) {\n let instanceMembers = basePrototype.instanceMembers;\n if (instanceMembers) {\n if (instanceMembers.has(member.name)) {\n hasOverride = true;\n break;\n }\n }\n basePrototype = basePrototype.basePrototype;\n }\n if (!hasOverride) {\n let basePrototype = assert(prototype.basePrototype);\n this.error(\n DiagnosticCode.This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0,\n declaration.name.range,\n basePrototype.name\n );\n }\n }\n }\n }\n }\n\n // resolve prototypes of implemented interfaces\n for (let i = 0, k = queuedImplements.length; i < k; ++i) {\n let thisPrototype = queuedImplements[i];\n let implementsNodes = assert(thisPrototype.implementsNodes); // must be present if in queuedImplements\n for (let j = 0, l = implementsNodes.length; j < l; ++j) {\n let implementsNode = implementsNodes[j];\n let interfaceElement = resolver.resolveTypeName(implementsNode.name, null, thisPrototype.parent);\n if (!interfaceElement) continue;\n if (interfaceElement.kind == ElementKind.InterfacePrototype) {\n let interfacePrototype = interfaceElement;\n let interfacePrototypes = thisPrototype.interfacePrototypes;\n if (!interfacePrototypes) thisPrototype.interfacePrototypes = interfacePrototypes = new Array();\n interfacePrototypes.push(interfacePrototype);\n } else {\n this.error(\n DiagnosticCode.A_class_can_only_implement_an_interface,\n implementsNode.range\n );\n }\n }\n }\n\n // process overrides in extended classes and implemented interfaces\n for (let i = 0, k = queuedExtends.length; i < k; ++i) {\n let thisPrototype = queuedExtends[i];\n let basePrototype = thisPrototype.basePrototype;\n if (basePrototype) {\n this.processOverrides(thisPrototype, basePrototype);\n }\n }\n for (let i = 0, k = queuedImplements.length; i < k; ++i) {\n let thisPrototype = queuedImplements[i];\n let basePrototype = thisPrototype.basePrototype;\n let interfacePrototypes = thisPrototype.interfacePrototypes;\n if (basePrototype) {\n this.processOverrides(thisPrototype, basePrototype);\n }\n if (interfacePrototypes) {\n for (let j = 0, l = interfacePrototypes.length; j < l; ++j) {\n this.processOverrides(thisPrototype, interfacePrototypes[j]);\n }\n }\n }\n\n // set up global aliases\n {\n let globalAliases = options.globalAliases;\n if (!globalAliases) globalAliases = new Map();\n if (!globalAliases.has(CommonNames.abort)) {\n globalAliases.set(CommonNames.abort, BuiltinNames.abort);\n }\n if (!globalAliases.has(CommonNames.trace)) {\n globalAliases.set(CommonNames.trace, BuiltinNames.trace);\n }\n if (!globalAliases.has(CommonNames.seed)) {\n globalAliases.set(CommonNames.seed, BuiltinNames.seed);\n }\n if (!globalAliases.has(CommonNames.Math)) {\n globalAliases.set(CommonNames.Math, CommonNames.NativeMath);\n }\n if (!globalAliases.has(CommonNames.Mathf)) {\n globalAliases.set(CommonNames.Mathf, CommonNames.NativeMathf);\n }\n // TODO: for (let [alias, name] of globalAliases) {\n for (let _keys = Map_keys(globalAliases), i = 0, k = _keys.length; i < k; ++i) {\n let alias = unchecked(_keys[i]);\n let name = changetype(globalAliases.get(alias));\n assert(name != null);\n if (!name.length) {\n this.elementsByName.delete(alias);\n continue;\n }\n let firstChar = name.charCodeAt(0);\n if (firstChar >= CharCode._0 && firstChar <= CharCode._9) {\n this.registerConstantInteger(alias, Type.i32, i64_new(parseInt(name, 10)));\n } else {\n let elementsByName = this.elementsByName;\n if (elementsByName.has(name)) {\n elementsByName.set(alias, assert(elementsByName.get(name)));\n } else {\n this.error(DiagnosticCode.Element_0_not_found, null, name);\n }\n }\n }\n }\n\n // mark module exports, i.e. to apply proper wrapping behavior on the boundaries\n // TODO: for (let file of this.filesByName.values()) {\n for (let _values = Map_values(this.filesByName), i = 0, k = _values.length; i < k; ++i) {\n let file = unchecked(_values[i]);\n if (file.source.sourceKind == SourceKind.UserEntry) {\n this.markModuleExports(file);\n }\n }\n }\n\n /** Processes overridden members by this class in a base class. */\n private processOverrides(\n thisPrototype: ClassPrototype,\n basePrototype: ClassPrototype,\n ): void {\n // Note that we don't know concrete instances of class members, yet. Type\n // checking of concrete (generic) instances happens upon resolve.\n let thisInstanceMembers = thisPrototype.instanceMembers;\n if (thisInstanceMembers) {\n let thisMembers = Map_values(thisInstanceMembers);\n let seen: Set | null = null;\n do {\n let baseInstanceMembers = basePrototype.instanceMembers;\n if (baseInstanceMembers) {\n for (let j = 0, l = thisMembers.length; j < l; ++j) {\n let thisMember = thisMembers[j];\n if (baseInstanceMembers.has(thisMember.name)) {\n let baseMember = assert(baseInstanceMembers.get(thisMember.name));\n this.doProcessOverride(thisPrototype, thisMember, basePrototype, baseMember);\n }\n }\n }\n // A class can have a base class and multiple interfaces, but from the\n // base member alone we only get one. Make sure we don't miss any.\n let baseInterfacePrototypes = basePrototype.interfacePrototypes;\n if (baseInterfacePrototypes) {\n for (let i = 0, k = baseInterfacePrototypes.length; i < k; ++i) {\n let baseInterfacePrototype = baseInterfacePrototypes[i];\n if (baseInterfacePrototype != basePrototype) {\n this.processOverrides(thisPrototype, baseInterfacePrototype);\n }\n }\n }\n let nextPrototype = basePrototype.basePrototype;\n if (!nextPrototype) break;\n // Break on circular inheritance. Is diagnosed later, when resolved.\n if (!seen) seen = new Set();\n seen.add(basePrototype);\n if (seen.has(nextPrototype)) break;\n // Otherwise traverse to next base prototype.\n basePrototype = nextPrototype;\n } while (true);\n }\n }\n\n /** Processes a single overridden member by this class in a base class. */\n private doProcessOverride(\n thisClass: ClassPrototype,\n thisMember: DeclaredElement,\n baseClass: ClassPrototype,\n baseMember: DeclaredElement\n ): void {\n // Constructors and private members do not override\n if (thisMember.isAny(CommonFlags.Constructor | CommonFlags.Private)) return;\n if (\n thisMember.kind == ElementKind.FunctionPrototype &&\n baseMember.kind == ElementKind.FunctionPrototype\n ) {\n let thisMethod = thisMember;\n let baseMethod = baseMember;\n if (!thisMethod.visibilityEquals(baseMethod)) {\n this.errorRelated(\n DiagnosticCode.Overload_signatures_must_all_be_public_private_or_protected,\n thisMethod.identifierNode.range, baseMethod.identifierNode.range\n );\n }\n baseMember.set(CommonFlags.Overridden);\n let overrides = baseMethod.unboundOverrides;\n if (!overrides) baseMethod.unboundOverrides = overrides = new Set();\n overrides.add(thisMember);\n let baseMethodInstances = baseMethod.instances;\n if (baseMethodInstances) {\n for (let _values = Map_values(baseMethodInstances), a = 0, b = _values.length; a < b; ++a) {\n let baseMethodInstance = _values[a];\n baseMethodInstance.set(CommonFlags.Overridden);\n }\n }\n } else if (\n thisMember.kind == ElementKind.PropertyPrototype &&\n baseMember.kind == ElementKind.PropertyPrototype\n ) {\n let thisProperty = thisMember;\n let baseProperty = baseMember;\n if (!thisProperty.visibilityEquals(baseProperty)) {\n this.errorRelated(\n DiagnosticCode.Overload_signatures_must_all_be_public_private_or_protected,\n thisProperty.identifierNode.range, baseProperty.identifierNode.range\n );\n }\n if (baseProperty.parent.kind != ElementKind.InterfacePrototype) {\n // Interface fields/properties can be implemented by either, but other\n // members must match to retain compatiblity with TS/JS.\n let thisIsField = thisProperty.isField;\n if (thisIsField != baseProperty.isField) {\n if (thisIsField) { // base is property\n this.errorRelated(\n DiagnosticCode._0_is_defined_as_an_accessor_in_class_1_but_is_overridden_here_in_2_as_an_instance_property,\n thisProperty.identifierNode.range, baseProperty.identifierNode.range,\n thisProperty.name, baseClass.internalName, thisClass.internalName\n );\n } else { // this is property, base is field\n this.errorRelated(\n DiagnosticCode._0_is_defined_as_a_property_in_class_1_but_is_overridden_here_in_2_as_an_accessor,\n thisProperty.identifierNode.range, baseProperty.identifierNode.range,\n thisProperty.name, baseClass.internalName, thisClass.internalName\n );\n }\n return;\n } else if (thisIsField) { // base is also field\n // Fields don't override other fields and can only be redeclared\n return;\n }\n }\n baseProperty.set(CommonFlags.Overridden);\n let baseGetter = baseProperty.getterPrototype;\n if (baseGetter) {\n baseGetter.set(CommonFlags.Overridden);\n let thisGetter = thisProperty.getterPrototype;\n if (thisGetter) {\n let overrides = baseGetter.unboundOverrides;\n if (!overrides) baseGetter.unboundOverrides = overrides = new Set();\n overrides.add(thisGetter);\n }\n let baseGetterInstances = baseGetter.instances;\n if (baseGetterInstances) {\n for (let _values = Map_values(baseGetterInstances), a = 0, b = _values.length; a < b; ++a) {\n let baseGetterInstance = _values[a];\n baseGetterInstance.set(CommonFlags.Overridden);\n }\n }\n }\n let baseSetter = baseProperty.setterPrototype;\n if (baseSetter && thisProperty.setterPrototype) {\n baseSetter.set(CommonFlags.Overridden);\n let thisSetter = thisProperty.setterPrototype;\n if (thisSetter) {\n let overrides = baseSetter.unboundOverrides;\n if (!overrides) baseSetter.unboundOverrides = overrides = new Set();\n overrides.add(thisSetter);\n }\n let baseSetterInstances = baseSetter.instances;\n if (baseSetterInstances) {\n for (let _values = Map_values(baseSetterInstances), a = 0, b = _values.length; a < b; ++a) {\n let baseSetterInstance = _values[a];\n baseSetterInstance.set(CommonFlags.Overridden);\n }\n }\n }\n } else {\n this.errorRelated(\n DiagnosticCode.Property_0_in_type_1_is_not_assignable_to_the_same_property_in_base_type_2,\n thisMember.identifierNode.range, baseMember.identifierNode.range,\n thisMember.name, thisClass.internalName, baseClass.internalName\n );\n }\n }\n\n /** Looks up the element of the specified name in the global scope. */\n lookup(name: string): Element | null {\n let elements = this.elementsByName;\n if (elements.has(name)) return assert(elements.get(name));\n return null;\n }\n\n /** Requires that a global library element of the specified kind is present and returns it. */\n private require(name: string, kind: ElementKind): Element {\n let element = this.lookup(name);\n if (!element) throw new Error(`Missing standard library component: ${name}`);\n if (element.kind != kind) throw Error(`Invalid standard library component kind: ${name}`);\n return element;\n }\n\n /** Requires that a global variable is present and returns it. */\n requireGlobal(name: string): Global {\n return this.require(name, ElementKind.Global);\n }\n\n /** Requires that a non-generic global class is present and returns it. */\n requireClass(name: string): Class {\n let prototype = this.require(name, ElementKind.ClassPrototype);\n let resolved = this.resolver.resolveClass(prototype, null);\n if (!resolved) throw new Error(`Invalid standard library class: ${name}`);\n return resolved;\n }\n\n /** Requires that a global function is present and returns it. */\n requireFunction(name: string, typeArguments: Type[] | null = null): Function {\n let prototype = this.require(name, ElementKind.FunctionPrototype);\n let resolved = this.resolver.resolveFunction(prototype, typeArguments);\n if (!resolved) throw new Error(`Invalid standard library function: ${name}`);\n return resolved;\n }\n\n /** Marks all exports of the specified file as module exports. */\n private markModuleExports(file: File): void {\n let exports = file.exports;\n if (exports) {\n // TODO: for (let element of exports.values()) {\n for (let _values = Map_values(exports), j = 0, l = _values.length; j < l; ++j) {\n let element = unchecked(_values[j]);\n this.markModuleExport(element);\n }\n }\n let exportsStar = file.exportsStar;\n if (exportsStar) {\n for (let i = 0, k = exportsStar.length; i < k; ++i) {\n this.markModuleExports(exportsStar[i]);\n }\n }\n }\n\n /** Marks an element and its children as a module export. */\n private markModuleExport(element: Element): void {\n element.set(CommonFlags.ModuleExport);\n switch (element.kind) {\n case ElementKind.ClassPrototype: {\n let instanceMembers = (element).instanceMembers;\n if (instanceMembers) {\n // TODO: for (let member of instanceMembers.values()) {\n for (let _values = Map_values(instanceMembers), i = 0, k = _values.length; i < k; ++i) {\n let member = unchecked(_values[i]);\n this.markModuleExport(member);\n }\n }\n break;\n }\n case ElementKind.PropertyPrototype: {\n let propertyPrototype = element;\n let getterPrototype = propertyPrototype.getterPrototype;\n if (getterPrototype) this.markModuleExport(getterPrototype);\n let setterPrototype = propertyPrototype.setterPrototype;\n if (setterPrototype) this.markModuleExport(setterPrototype);\n break;\n }\n case ElementKind.Property:\n case ElementKind.Function:\n case ElementKind.Class: assert(false); // assumes that there are no instances yet\n }\n let staticMembers = element.members;\n if (staticMembers) {\n // TODO: for (let member of staticMembers.values()) {\n for (let _values = Map_values(staticMembers), i = 0, k = _values.length; i < k; ++i) {\n let member = unchecked(_values[i]);\n this.markModuleExport(member);\n }\n }\n }\n\n /** Marks an element as a module import. */\n markModuleImport(moduleName: string, name: string, element: Element): void {\n element.set(CommonFlags.ModuleImport);\n let moduleImports = this.moduleImports;\n let module: Map;\n if (moduleImports.has(moduleName)) {\n module = assert(moduleImports.get(moduleName));\n } else {\n module = new Map();\n moduleImports.set(moduleName, module);\n }\n module.set(name, element);\n }\n\n /** Registers a native type with the program. */\n private registerNativeType(name: string, type: Type): void {\n let element = new TypeDefinition(\n name,\n this.nativeFile,\n this.makeNativeTypeDeclaration(name, CommonFlags.Export),\n DecoratorFlags.Builtin\n );\n element.setType(type);\n this.nativeFile.add(name, element);\n }\n\n /** Registers the wrapper class of a non-class type. */\n private registerWrapperClass(type: Type, className: string): void {\n let wrapperClasses = this.wrapperClasses;\n assert(!type.isInternalReference && !wrapperClasses.has(type));\n let element = assert(this.lookup(className));\n assert(element.kind == ElementKind.ClassPrototype);\n let classElement = assert(this.resolver.resolveClass(element, null));\n classElement.wrappedType = type;\n wrapperClasses.set(type, classElement);\n }\n\n /** Registers a constant integer value within the global scope. */\n registerConstantInteger(name: string, type: Type, value: i64): void {\n assert(type.isIntegerInclReference);\n let global = new Global(\n name,\n this.nativeFile,\n DecoratorFlags.Lazy,\n this.makeNativeVariableDeclaration(name, CommonFlags.Const | CommonFlags.Export)\n );\n global.setConstantIntegerValue(value, type);\n this.nativeFile.add(name, global);\n }\n\n /** Registers a constant float value within the global scope. */\n private registerConstantFloat(name: string, type: Type, value: f64): void {\n assert(type.isFloatValue);\n let global = new Global(\n name,\n this.nativeFile,\n DecoratorFlags.Lazy,\n this.makeNativeVariableDeclaration(name, CommonFlags.Const | CommonFlags.Export)\n );\n global.setConstantFloatValue(value, type);\n this.nativeFile.add(name, global);\n }\n\n /** Ensures that the given global element exists. Attempts to merge duplicates. */\n ensureGlobal(name: string, element: DeclaredElement): DeclaredElement {\n let elementsByName = this.elementsByName;\n if (elementsByName.has(name)) {\n let existing = assert(elementsByName.get(name));\n // NOTE: this is effectively only performed when merging native types with\n // their respective namespaces in std/builtins, but can also trigger when a\n // user has multiple global elements of the same name in different files,\n // which might result in unexpected shared symbols accross files. considering\n // this a wonky feature for now that we might want to revisit later.\n if (existing != element) {\n let merged = tryMerge(existing, element);\n if (!merged) {\n if (isDeclaredElement(existing.kind)) {\n this.errorRelated(\n DiagnosticCode.Duplicate_identifier_0,\n element.identifierNode.range,\n (existing).declaration.name.range,\n name\n );\n } else {\n this.error(\n DiagnosticCode.Duplicate_identifier_0,\n element.identifierNode.range, name\n );\n }\n return element;\n }\n element = merged;\n }\n }\n elementsByName.set(name, element);\n return element;\n }\n\n /** Tries to locate a foreign file given its normalized path. */\n private lookupForeignFile(\n /** Normalized path to the other file. */\n foreignPath: string,\n /** Alternative normalized path to the other file. */\n foreignPathAlt: string\n ): File | null {\n let filesByName = this.filesByName;\n return filesByName.has(foreignPath)\n ? assert(filesByName.get(foreignPath))\n : filesByName.has(foreignPathAlt)\n ? assert(filesByName.get(foreignPathAlt))\n : null;\n }\n\n /** Tries to locate a foreign element by traversing exports and queued exports. */\n private lookupForeign(\n /** Identifier within the other file. */\n foreignName: string,\n /** The other file. */\n foreignFile: File,\n /** So far queued exports. */\n queuedExports: Map>\n ): DeclaredElement | null {\n do {\n // check if already resolved\n let element = foreignFile.lookupExport(foreignName);\n if (element) return element;\n\n // follow queued exports\n if (queuedExports.has(foreignFile)) {\n let fileQueuedExports = assert(queuedExports.get(foreignFile));\n if (fileQueuedExports.has(foreignName)) {\n let queuedExport = assert(fileQueuedExports.get(foreignName));\n let queuedExportForeignPath = queuedExport.foreignPath;\n\n // re-exported from another file\n if (queuedExportForeignPath) {\n let otherFile = this.lookupForeignFile(queuedExportForeignPath, assert(queuedExport.foreignPathAlt));\n if (!otherFile) return null;\n foreignName = queuedExport.localIdentifier.text;\n foreignFile = otherFile;\n continue;\n }\n\n // exported from this file\n element = foreignFile.getMember(queuedExport.localIdentifier.text);\n if (element) return element;\n }\n }\n break;\n } while (true);\n\n // follow star exports\n let exportsStar = foreignFile.exportsStar;\n if (exportsStar) {\n for (let i = 0, k = exportsStar.length; i < k; ++i) {\n let element = this.lookupForeign(foreignName, exportsStar[i], queuedExports);\n if (element) return element;\n }\n }\n return null;\n }\n\n /** Validates that only supported decorators are present. */\n private checkDecorators(\n /** Decorators present on an element. */\n decorators: DecoratorNode[] | null,\n /** Accepted decorator flags. Emits diagnostics if any other decorators are present. */\n acceptedFlags: DecoratorFlags\n ): DecoratorFlags {\n let flags = DecoratorFlags.None;\n if (decorators) {\n for (let i = 0, k = decorators.length; i < k; ++i) {\n let decorator = decorators[i];\n let kind = DecoratorKind.fromNode(decorator.name);\n let flag = DecoratorFlags.fromKind(kind);\n if (flag) {\n if (!(acceptedFlags & flag)) {\n this.error(\n DiagnosticCode.Decorator_0_is_not_valid_here,\n decorator.range, decorator.name.range.toString()\n );\n } else if (flags & flag) {\n this.error(\n DiagnosticCode.Duplicate_decorator,\n decorator.range\n );\n } else {\n flags |= flag;\n }\n }\n }\n }\n return flags;\n }\n\n /** Checks whether a particular feature is enabled. */\n checkFeatureEnabled(feature: Feature, reportNode: Node): bool {\n if (!this.options.hasFeature(feature)) {\n this.error(\n DiagnosticCode.Feature_0_is_not_enabled,\n reportNode.range, featureToString(feature)\n );\n return false;\n }\n return true;\n }\n\n /** Checks whether a particular type is supported. */\n checkTypeSupported(type: Type, reportNode: Node): bool {\n switch (type.kind) {\n case TypeKind.V128: return this.checkFeatureEnabled(Feature.Simd, reportNode);\n case TypeKind.Func:\n case TypeKind.Extern:\n // Non-nullability is introduced by typed function references (here part of GC)\n if (!type.is(TypeFlags.Nullable)) return this.checkFeatureEnabled(Feature.GC, reportNode);\n return this.checkFeatureEnabled(Feature.ReferenceTypes, reportNode);\n case TypeKind.Any:\n case TypeKind.Eq:\n case TypeKind.Struct:\n case TypeKind.Array:\n case TypeKind.I31: {\n return this.checkFeatureEnabled(Feature.ReferenceTypes, reportNode)\n && this.checkFeatureEnabled(Feature.GC, reportNode);\n }\n case TypeKind.String:\n case TypeKind.StringviewWTF8:\n case TypeKind.StringviewWTF16:\n case TypeKind.StringviewIter: {\n return this.checkFeatureEnabled(Feature.ReferenceTypes, reportNode)\n && this.checkFeatureEnabled(Feature.Stringref, reportNode);\n }\n }\n let classReference = type.getClass();\n if (classReference) {\n do {\n let typeArguments = classReference.typeArguments;\n if (typeArguments) {\n for (let i = 0, k = typeArguments.length; i < k; ++i) {\n if (!this.checkTypeSupported(typeArguments[i], reportNode)) {\n return false;\n }\n }\n }\n classReference = classReference.base;\n } while (classReference);\n } else {\n let signatureReference = type.getSignature();\n if (signatureReference) {\n let thisType = signatureReference.thisType;\n if (thisType) {\n if (!this.checkTypeSupported(thisType, reportNode)) {\n return false;\n }\n }\n let parameterTypes = signatureReference.parameterTypes;\n for (let i = 0, k = parameterTypes.length; i < k; ++i) {\n if (!this.checkTypeSupported(parameterTypes[i], reportNode)) {\n return false;\n }\n }\n let returnType = signatureReference.returnType;\n if (!this.checkTypeSupported(returnType, reportNode)) {\n return false;\n }\n }\n }\n return true;\n }\n\n /** Initializes a class declaration. */\n private initializeClass(\n /** The declaration to initialize. */\n declaration: ClassDeclaration,\n /** Parent element, usually a file or namespace. */\n parent: Element,\n /** So far queued `extends` clauses. */\n queuedExtends: ClassPrototype[],\n /** So far queued `implements` clauses. */\n queuedImplements: ClassPrototype[]\n ): ClassPrototype | null {\n let name = declaration.name.text;\n let element = new ClassPrototype(\n name,\n parent,\n declaration,\n this.checkDecorators(declaration.decorators,\n DecoratorFlags.Global |\n DecoratorFlags.Final |\n DecoratorFlags.Unmanaged\n )\n );\n if (!parent.add(name, element)) return null;\n\n // remember classes that implement interfaces\n let implementsTypes = declaration.implementsTypes;\n if (implementsTypes) {\n let numImplementsTypes = implementsTypes.length;\n if (numImplementsTypes) {\n // cannot implement interfaces when unmanaged\n if (element.hasDecorator(DecoratorFlags.Unmanaged)) {\n this.error(\n DiagnosticCode.Unmanaged_classes_cannot_implement_interfaces,\n Range.join(\n declaration.name.range,\n implementsTypes[numImplementsTypes - 1].range\n )\n );\n } else {\n queuedImplements.push(element);\n }\n }\n }\n\n // remember classes that extend another class\n if (declaration.extendsType) {\n queuedExtends.push(element);\n } else if (\n !element.hasDecorator(DecoratorFlags.Unmanaged) &&\n element.internalName != BuiltinNames.Object\n ) {\n element.implicitlyExtendsObject = true;\n }\n\n // initialize members\n let memberDeclarations = declaration.members;\n for (let i = 0, k = memberDeclarations.length; i < k; ++i) {\n let memberDeclaration = memberDeclarations[i];\n switch (memberDeclaration.kind) {\n case NodeKind.FieldDeclaration: {\n this.initializeField(memberDeclaration, element);\n break;\n }\n case NodeKind.MethodDeclaration: {\n let methodDeclaration = memberDeclaration;\n if (memberDeclaration.isAny(CommonFlags.Get | CommonFlags.Set)) {\n this.initializeProperty(methodDeclaration, element);\n } else {\n let method = this.initializeMethod(methodDeclaration, element);\n if (method && methodDeclaration.name.kind == NodeKind.Constructor) {\n element.constructorPrototype = method;\n }\n }\n break;\n }\n case NodeKind.IndexSignature: break; // ignored for now\n default: assert(false); // class member expected\n }\n }\n return element;\n }\n\n /** Initializes a field of a class or interface. */\n private initializeField(\n /** The declaration to initialize. */\n declaration: FieldDeclaration,\n /** Parent class. */\n parent: ClassPrototype\n ): void {\n let name = declaration.name.text;\n let decorators = declaration.decorators;\n let element: DeclaredElement;\n let acceptedFlags: DecoratorFlags = DecoratorFlags.Unsafe;\n if (parent.is(CommonFlags.Ambient)) {\n acceptedFlags |= DecoratorFlags.External;\n }\n if (declaration.is(CommonFlags.Static)) { // global variable\n assert(parent.kind != ElementKind.InterfacePrototype);\n acceptedFlags |= DecoratorFlags.Lazy;\n if (declaration.is(CommonFlags.Readonly)) {\n acceptedFlags |= DecoratorFlags.Inline;\n }\n element = new Global(\n name,\n parent,\n this.checkDecorators(decorators, acceptedFlags),\n declaration\n );\n if (!parent.add(name, element)) return;\n } else { // actual instance field\n assert(!declaration.isAny(CommonFlags.Abstract | CommonFlags.Get | CommonFlags.Set));\n element = PropertyPrototype.forField(\n name,\n parent,\n declaration,\n this.checkDecorators(decorators, acceptedFlags)\n );\n if (!parent.addInstance(name, element)) return;\n }\n }\n\n /** Initializes a method of a class or interface. */\n private initializeMethod(\n /** The declaration to initialize. */\n declaration: MethodDeclaration,\n /** Parent class. */\n parent: ClassPrototype\n ): FunctionPrototype | null {\n let name = declaration.name.text;\n let isStatic = declaration.is(CommonFlags.Static);\n let acceptedFlags = DecoratorFlags.Inline | DecoratorFlags.Unsafe;\n if (!declaration.is(CommonFlags.Generic)) {\n acceptedFlags |= DecoratorFlags.OperatorBinary\n | DecoratorFlags.OperatorPrefix\n | DecoratorFlags.OperatorPostfix;\n }\n if (parent.is(CommonFlags.Ambient)) {\n acceptedFlags |= DecoratorFlags.External;\n }\n if (declaration.range.source.isLibrary) {\n acceptedFlags |= DecoratorFlags.Builtin;\n }\n let element = new FunctionPrototype(\n name,\n parent,\n declaration,\n this.checkDecorators(declaration.decorators, acceptedFlags)\n );\n if (element.hasDecorator(DecoratorFlags.Builtin) && !builtinFunctions.has(element.internalName)) {\n this.error(\n DiagnosticCode.Not_implemented_0,\n declaration.range, `Builtin '${element.internalName}'`\n );\n }\n if (isStatic) { // global function\n assert(declaration.name.kind != NodeKind.Constructor);\n if (!parent.add(name, element)) return null;\n } else { // actual instance method\n if (!parent.addInstance(name, element)) return null;\n }\n this.checkOperatorOverloads(declaration.decorators, element, parent);\n return element;\n }\n\n /** Checks that operator overloads are generally valid, if present. */\n private checkOperatorOverloads(\n /** Decorators to check. */\n decorators: DecoratorNode[] | null,\n /** Decorated method. */\n prototype: FunctionPrototype,\n /** Parent class. */\n classPrototype: ClassPrototype\n ): void {\n if (decorators) {\n for (let i = 0, k = decorators.length; i < k; ++i) {\n let decorator: DecoratorNode = decorators[i]; // FIXME: why does tsc want a type here?\n switch (decorator.decoratorKind) {\n case DecoratorKind.Operator:\n case DecoratorKind.OperatorBinary:\n case DecoratorKind.OperatorPrefix:\n case DecoratorKind.OperatorPostfix: {\n let args = decorator.args;\n let numArgs = args ? args.length : 0;\n if (numArgs == 1) {\n let firstArg = (decorator.args)[0];\n if (firstArg.isLiteralKind(LiteralKind.String)) {\n let text = (firstArg).value;\n let kind = OperatorKind.fromDecorator(decorator.decoratorKind, text);\n if (kind == OperatorKind.Invalid) {\n this.error(\n DiagnosticCode._0_is_not_a_valid_operator,\n firstArg.range, text\n );\n } else {\n let overloads = classPrototype.operatorOverloadPrototypes;\n if (overloads.has(kind)) {\n this.error(\n DiagnosticCode.Duplicate_function_implementation,\n firstArg.range\n );\n } else {\n prototype.operatorKind = kind;\n overloads.set(kind, prototype);\n }\n }\n } else {\n this.error(\n DiagnosticCode.String_literal_expected,\n firstArg.range\n );\n }\n } else {\n this.error(\n DiagnosticCode.Expected_0_arguments_but_got_1,\n decorator.range, \"1\", numArgs.toString()\n );\n }\n }\n }\n }\n }\n }\n\n /** Ensures that the property introduced by the specified getter or setter exists.*/\n private ensureProperty(\n /** The declaration of the getter or setter introducing the property. */\n declaration: MethodDeclaration,\n /** Parent class. */\n parent: ClassPrototype\n ): PropertyPrototype | null {\n let name = declaration.name.text;\n if (declaration.is(CommonFlags.Static)) {\n let parentMembers = parent.members;\n if (parentMembers && parentMembers.has(name)) {\n let element = assert(parentMembers.get(name));\n if (element.kind == ElementKind.PropertyPrototype) return element;\n } else {\n let element = new PropertyPrototype(name, parent, declaration);\n if (!parent.add(name, element)) return null;\n return element;\n }\n } else {\n let parentMembers = parent.instanceMembers;\n if (parentMembers && parentMembers.has(name)) {\n let element = assert(parentMembers.get(name));\n if (element.kind == ElementKind.PropertyPrototype) return element;\n } else {\n let element = new PropertyPrototype(name, parent, declaration);\n if (!parent.addInstance(name, element)) return null;\n return element;\n }\n }\n this.error(\n DiagnosticCode.Duplicate_property_0,\n declaration.name.range, name\n );\n return null;\n }\n\n /** Initializes a property of a class. */\n private initializeProperty(\n /** The declaration of the getter or setter. */\n declaration: MethodDeclaration,\n /** Parent class. */\n parent: ClassPrototype\n ): void {\n let property = this.ensureProperty(declaration, parent);\n if (!property) return;\n let name = declaration.name.text;\n let isGetter = declaration.is(CommonFlags.Get);\n if (isGetter) {\n if (property.getterPrototype) {\n this.error(\n DiagnosticCode.Duplicate_property_0,\n declaration.name.range, name\n );\n return;\n }\n } else {\n if (property.setterPrototype) {\n this.error(\n DiagnosticCode.Duplicate_property_0,\n declaration.name.range, name\n );\n return;\n }\n }\n let element = new FunctionPrototype(\n (isGetter ? GETTER_PREFIX : SETTER_PREFIX) + name,\n property.parent, // same level as property\n declaration,\n this.checkDecorators(declaration.decorators,\n DecoratorFlags.Inline | DecoratorFlags.Unsafe\n )\n );\n if (isGetter) {\n property.getterPrototype = element;\n } else {\n property.setterPrototype = element;\n }\n }\n\n /** Initializes an enum. */\n private initializeEnum(\n /** The declaration to initialize. */\n declaration: EnumDeclaration,\n /** Parent element, usually a file or namespace. */\n parent: Element\n ): Enum | null {\n let name = declaration.name.text;\n let element = new Enum(\n name,\n parent,\n declaration,\n this.checkDecorators(declaration.decorators,\n DecoratorFlags.Global |\n DecoratorFlags.Inline |\n DecoratorFlags.Lazy\n )\n );\n if (!parent.add(name, element)) return null;\n let values = declaration.values;\n for (let i = 0, k = values.length; i < k; ++i) {\n this.initializeEnumValue(values[i], element);\n }\n return element;\n }\n\n /** Initializes an enum value. */\n private initializeEnumValue(\n /** The declaration to initialize. */\n declaration: EnumValueDeclaration,\n /** Parent enum. */\n parent: Enum\n ): void {\n let name = declaration.name.text;\n let element = new EnumValue(\n name,\n parent,\n declaration,\n this.checkDecorators(declaration.decorators,\n DecoratorFlags.None\n )\n );\n if (!parent.add(name, element)) return;\n }\n\n /** Initializes an `export` statement. */\n private initializeExports(\n /** The statement to initialize. */\n statement: ExportStatement,\n /** Parent file. */\n parent: File,\n /** So far queued `export`s. */\n queuedExports: Map>,\n /** So far queued `export *`s. */\n queuedExportsStar: Map\n ): void {\n let members = statement.members;\n if (members) { // export { foo, bar } [from \"./baz\"]\n for (let i = 0, k = members.length; i < k; ++i) {\n this.initializeExport(members[i], parent, statement.internalPath, queuedExports);\n }\n } else { // export * from \"./baz\"\n let queued: QueuedExportStar[];\n if (queuedExportsStar.has(parent)) queued = assert(queuedExportsStar.get(parent));\n else queuedExportsStar.set(parent, queued = []);\n let foreignPath = statement.internalPath!; // must be set for export *\n queued.push(new QueuedExportStar(\n foreignPath,\n foreignPath.endsWith(INDEX_SUFFIX) // strip or add index depending on what's already present\n ? foreignPath.substring(0, foreignPath.length - INDEX_SUFFIX.length)\n : foreignPath + INDEX_SUFFIX,\n assert(statement.path)\n ));\n }\n }\n\n /** Initializes a single `export` member. Does not handle `export *`. */\n private initializeExport(\n /** The member to initialize. */\n member: ExportMember,\n /** Local file. */\n localFile: File,\n /** Path to the other file, if present. */\n foreignPath: string | null,\n /** So far queued `export`s. */\n queuedExports: Map>\n ): void {\n let localName = member.localName.text;\n let foreignName = member.exportedName.text;\n\n // check for duplicates\n let element = localFile.lookupExport(foreignName);\n if (element) {\n this.error(\n DiagnosticCode.Export_declaration_conflicts_with_exported_declaration_of_0,\n member.exportedName.range, foreignName\n );\n return;\n }\n // local element, i.e. export { foo [as bar] }\n if (foreignPath == null) {\n\n // resolve right away if the local element already exists\n if (element = localFile.getMember(localName)) {\n localFile.ensureExport(foreignName, element);\n\n // otherwise queue it\n } else {\n let queued: Map;\n if (queuedExports.has(localFile)) queued = assert(queuedExports.get(localFile));\n else queuedExports.set(localFile, queued = new Map());\n queued.set(foreignName, new QueuedExport(\n member.localName,\n member.exportedName,\n null, null\n ));\n }\n\n // foreign element, i.e. export { foo } from \"./bar\"\n } else {\n let queued: Map;\n if (queuedExports.has(localFile)) queued = assert(queuedExports.get(localFile));\n else queuedExports.set(localFile, queued = new Map());\n queued.set(foreignName, new QueuedExport(\n member.localName,\n member.exportedName,\n foreignPath,\n foreignPath.endsWith(INDEX_SUFFIX) // strip or add index depending on what's already present\n ? foreignPath.substring(0, foreignPath.length - INDEX_SUFFIX.length)\n : foreignPath + INDEX_SUFFIX\n ));\n }\n }\n\n private initializeExportDefault(\n /** The statement to initialize. */\n statement: ExportDefaultStatement,\n /** Parent file. */\n parent: File,\n /** So far queued `extends` clauses. */\n queuedExtends: Array,\n /** So far queued `implements` clauses. */\n queuedImplements: ClassPrototype[]\n ): void {\n let declaration = statement.declaration;\n let element: DeclaredElement | null = null;\n switch (declaration.kind) {\n case NodeKind.EnumDeclaration: {\n element = this.initializeEnum(declaration, parent);\n break;\n }\n case NodeKind.FunctionDeclaration: {\n element = this.initializeFunction(declaration, parent);\n break;\n }\n case NodeKind.ClassDeclaration: {\n element = this.initializeClass(declaration, parent, queuedExtends, queuedImplements);\n break;\n }\n case NodeKind.InterfaceDeclaration: {\n element = this.initializeInterface(declaration, parent, queuedExtends);\n break;\n }\n case NodeKind.NamespaceDeclaration: {\n element = this.initializeNamespace(declaration, parent, queuedExtends, queuedImplements);\n break;\n }\n default: assert(false);\n }\n if (element) {\n let exports = parent.exports;\n if (!exports) parent.exports = exports = new Map();\n else {\n if (exports.has(\"default\")) {\n let existing = assert(exports.get(\"default\"));\n this.errorRelated(\n DiagnosticCode.Duplicate_identifier_0,\n declaration.name.range,\n existing.declaration.name.range,\n \"default\"\n );\n return;\n }\n }\n exports.set(\"default\", element);\n }\n }\n\n /** Initializes an `import` statement. */\n private initializeImports(\n /** The statement to initialize. */\n statement: ImportStatement,\n /** Parent file. */\n parent: File,\n /** So far queued `import`s. */\n queuedImports: QueuedImport[],\n /** So far queued `export`s. */\n queuedExports: Map>\n ): void {\n let declarations = statement.declarations;\n if (declarations) { // import { foo [as bar] } from \"./baz\"\n for (let i = 0, k = declarations.length; i < k; ++i) {\n this.initializeImport(\n declarations[i],\n parent,\n statement.internalPath,\n queuedImports,\n queuedExports\n );\n }\n } else {\n let namespaceName = statement.namespaceName;\n if (namespaceName) { // import * as foo from \"./bar\"\n queuedImports.push(new QueuedImport(\n parent,\n namespaceName,\n null, // indicates import *\n statement.internalPath,\n statement.internalPath + INDEX_SUFFIX\n ));\n } else {\n // import \"./foo\"\n }\n }\n }\n\n /** Initializes a single `import` declaration. Does not handle `import *`. */\n private initializeImport( // { foo [as bar] }\n /** The declaration to initialize. */\n declaration: ImportDeclaration,\n /** Parent file. */\n parent: File,\n /** Path to the other file. */\n foreignPath: string,\n /** So far queued `import`s. */\n queuedImports: QueuedImport[],\n /** So far queued `export`s. */\n queuedExports: Map>\n ): void {\n let foreignPathAlt = foreignPath.endsWith(INDEX_SUFFIX) // strip or add index depending on what's already present\n ? foreignPath.substring(0, foreignPath.length - INDEX_SUFFIX.length)\n : foreignPath + INDEX_SUFFIX;\n\n // resolve right away if the element exists\n let foreignFile = this.lookupForeignFile(foreignPath, foreignPathAlt);\n if (foreignFile) {\n let element = this.lookupForeign(declaration.foreignName.text, foreignFile, queuedExports);\n if (element) {\n parent.add(declaration.name.text, element, declaration.name /* isImport */);\n return;\n }\n }\n\n // otherwise queue it\n queuedImports.push(new QueuedImport(\n parent,\n declaration.name,\n declaration.foreignName,\n foreignPath,\n foreignPathAlt\n ));\n }\n\n /** Initializes a function. Does not handle methods. */\n private initializeFunction(\n /** The declaration to initialize. */\n declaration: FunctionDeclaration,\n /** Parent element, usually a file or namespace. */\n parent: Element\n ): FunctionPrototype | null {\n let name = declaration.name.text;\n let validDecorators = DecoratorFlags.Unsafe;\n if (declaration.is(CommonFlags.Ambient)) {\n validDecorators |= DecoratorFlags.External | DecoratorFlags.ExternalJs;\n } else {\n validDecorators |= DecoratorFlags.Inline;\n if (declaration.range.source.isLibrary || declaration.is(CommonFlags.Export)) {\n validDecorators |= DecoratorFlags.Lazy;\n }\n }\n if (!declaration.is(CommonFlags.Instance)) {\n if (parent.kind != ElementKind.ClassPrototype) {\n validDecorators |= DecoratorFlags.Global;\n }\n }\n if (declaration.range.source.isLibrary) {\n validDecorators |= DecoratorFlags.Builtin;\n }\n let element = new FunctionPrototype(\n name,\n parent,\n declaration,\n this.checkDecorators(declaration.decorators, validDecorators)\n );\n if (element.hasDecorator(DecoratorFlags.Builtin) && !builtinFunctions.has(element.internalName)) {\n this.error(\n DiagnosticCode.Not_implemented_0,\n declaration.range, `Builtin '${element.internalName}'`\n );\n }\n if (!parent.add(name, element)) return null;\n return element;\n }\n\n /** Initializes an interface. */\n private initializeInterface(\n /** The declaration to initialize. */\n declaration: InterfaceDeclaration,\n /** Parent element, usually a file or namespace. */\n parent: Element,\n /** So far queued `extends` clauses. */\n queuedExtends: ClassPrototype[],\n ): InterfacePrototype | null {\n let name = declaration.name.text;\n let element = new InterfacePrototype(\n name,\n parent,\n declaration,\n this.checkDecorators(declaration.decorators,\n DecoratorFlags.Global\n )\n );\n if (!parent.add(name, element)) return null;\n\n // remember interfaces that extend another interface\n if (declaration.extendsType) queuedExtends.push(element);\n\n let memberDeclarations = declaration.members;\n for (let i = 0, k = memberDeclarations.length; i < k; ++i) {\n let memberDeclaration = memberDeclarations[i];\n switch (memberDeclaration.kind) {\n case NodeKind.FieldDeclaration: {\n this.initializeFieldAsProperty(memberDeclaration, element);\n break;\n }\n case NodeKind.MethodDeclaration: {\n let methodDeclaration = memberDeclaration;\n if (memberDeclaration.isAny(CommonFlags.Get | CommonFlags.Set)) {\n this.initializeProperty(methodDeclaration, element);\n } else {\n this.initializeMethod(methodDeclaration, element);\n }\n break;\n }\n default: assert(false); // interface member expected\n }\n }\n return element;\n }\n\n /** Initializes a field of an interface, as a property. */\n private initializeFieldAsProperty(\n /** Field declaration. */\n declaration: FieldDeclaration,\n /** Parent interface. */\n parent: InterfacePrototype\n ): void {\n let initializer = declaration.initializer;\n if (initializer) {\n this.error(DiagnosticCode.An_interface_property_cannot_have_an_initializer, initializer.range);\n }\n let typeNode = declaration.type;\n if (!typeNode) typeNode = Node.createOmittedType(declaration.name.range.atEnd);\n this.initializeProperty(\n Node.createMethodDeclaration(\n declaration.name,\n declaration.decorators,\n declaration.flags | CommonFlags.Get,\n null,\n Node.createFunctionType(\n [],\n typeNode,\n null,\n false,\n declaration.range\n ),\n null,\n declaration.range\n ),\n parent\n );\n if (!declaration.is(CommonFlags.Readonly)) {\n this.initializeProperty(\n Node.createMethodDeclaration(\n declaration.name,\n declaration.decorators,\n declaration.flags | CommonFlags.Set,\n null,\n Node.createFunctionType(\n [\n Node.createParameter(\n ParameterKind.Default,\n declaration.name,\n typeNode,\n null,\n declaration.name.range\n )\n ],\n Node.createOmittedType(declaration.name.range.atEnd),\n null,\n false,\n declaration.range\n ),\n null,\n declaration.range\n ),\n parent\n );\n }\n }\n\n /** Initializes a namespace. */\n private initializeNamespace(\n /** The declaration to initialize. */\n declaration: NamespaceDeclaration,\n /** Parent element, usually a file or another namespace. */\n parent: Element,\n /** So far queued `extends` clauses. */\n queuedExtends: ClassPrototype[],\n /** So far queued `implements` clauses. */\n queuedImplements: ClassPrototype[]\n ): DeclaredElement | null {\n let name = declaration.name.text;\n let original = new Namespace(\n name,\n parent,\n declaration,\n this.checkDecorators(declaration.decorators, DecoratorFlags.Global)\n );\n if (!parent.add(name, original)) return null;\n let element = assert(parent.getMember(name)); // possibly merged\n let members = declaration.members;\n for (let i = 0, k = members.length; i < k; ++i) {\n let member = members[i];\n switch (member.kind) {\n case NodeKind.ClassDeclaration: {\n this.initializeClass(member, original, queuedExtends, queuedImplements);\n break;\n }\n case NodeKind.EnumDeclaration: {\n this.initializeEnum(member, original);\n break;\n }\n case NodeKind.FunctionDeclaration: {\n this.initializeFunction(member, original);\n break;\n }\n case NodeKind.InterfaceDeclaration: {\n this.initializeInterface(member, original, queuedExtends);\n break;\n }\n case NodeKind.NamespaceDeclaration: {\n this.initializeNamespace(member, original, queuedExtends, queuedImplements);\n break;\n }\n case NodeKind.TypeDeclaration: {\n this.initializeTypeDefinition(member, original);\n break;\n }\n case NodeKind.Variable: {\n this.initializeVariables(member, original);\n break;\n }\n default: assert(false); // namespace member expected\n }\n }\n if (original != element) copyMembers(original, element); // keep original parent\n return element;\n }\n\n /** Initializes a `type` definition. */\n private initializeTypeDefinition(\n /** The declaration to initialize. */\n declaration: TypeDeclaration,\n /** Parent element, usually a file or namespace. */\n parent: Element\n ): void {\n let name = declaration.name.text;\n let element = new TypeDefinition(\n name,\n parent,\n declaration,\n this.checkDecorators(declaration.decorators, DecoratorFlags.None)\n );\n parent.add(name, element); // reports\n }\n\n /** Initializes a variable statement. */\n private initializeVariables(\n /** The statement to initialize. */\n statement: VariableStatement,\n /** Parent element, usually a file or namespace. */\n parent: Element\n ): void {\n let declarations = statement.declarations;\n for (let i = 0, k = declarations.length; i < k; ++i) {\n let declaration = declarations[i];\n let name = declaration.name.text;\n let acceptedFlags = DecoratorFlags.Global | DecoratorFlags.Lazy;\n if (declaration.is(CommonFlags.Ambient)) {\n acceptedFlags |= DecoratorFlags.External;\n }\n if (declaration.is(CommonFlags.Const)) {\n acceptedFlags |= DecoratorFlags.Inline;\n }\n if (declaration.range.source.isLibrary) {\n acceptedFlags |= DecoratorFlags.Builtin;\n }\n let element = new Global(\n name,\n parent,\n this.checkDecorators(declaration.decorators, acceptedFlags),\n declaration\n );\n if (element.hasDecorator(DecoratorFlags.Builtin) && !builtinVariables_onAccess.has(element.internalName)) {\n this.error(\n DiagnosticCode.Not_implemented_0,\n declaration.range, `Builtin '${element.internalName}'`\n );\n }\n if (!parent.add(name, element)) continue; // reports\n }\n }\n\n /** Determines the element type of a built-in array. */\n // determineBuiltinArrayType(target: Class): Type | null {\n // switch (target.internalName) {\n // case BuiltinSymbols.Int8Array: return Type.i8;\n // case BuiltinSymbols.Uint8ClampedArray:\n // case BuiltinSymbols.Uint8Array: return Type.u8;\n // case BuiltinSymbols.Int16Array: return Type.i16;\n // case BuiltinSymbols.Uint16Array: return Type.u16;\n // case BuiltinSymbols.Int32Array: return Type.i32;\n // case BuiltinSymbols.Uint32Array: return Type.u32;\n // case BuiltinSymbols.Int64Array: return Type.i64;\n // case BuiltinSymbols.Uint64Array: return Type.u64;\n // case BuiltinSymbols.Float32Array: return Type.f32;\n // case BuiltinSymbols.Float64Array: return Type.f64;\n // }\n // let current: Class | null = target;\n // let arrayPrototype = this.arrayPrototype;\n // do {\n // if (current.prototype == arrayPrototype) { // Array\n // let typeArguments = assert(current.typeArguments);\n // assert(typeArguments.length == 1);\n // return typeArguments[0];\n // }\n // } while (current = current.base);\n // return null;\n // }\n}\n\n/** Indicates the specific kind of an {@link Element}. */\nexport const enum ElementKind {\n /** A {@link Global}. */\n Global,\n /** A {@link Local}. */\n Local,\n /** An {@link Enum}. */\n Enum,\n /** An {@link EnumValue}. */\n EnumValue,\n /** A {@link FunctionPrototype}. */\n FunctionPrototype,\n /** A {@link Function}. */\n Function,\n /** A {@link ClassPrototype}. */\n ClassPrototype,\n /** A {@link Class}. */\n Class,\n /** An {@link InterfacePrototype}. */\n InterfacePrototype,\n /** An {@link Interface}. */\n Interface,\n /** A {@link PropertyPrototype}. */\n PropertyPrototype,\n /** A {@link Property}. */\n Property,\n /** A {@link Namespace}. */\n Namespace,\n /** A {@link File}. */\n File,\n /** A {@link TypeDefinition}. */\n TypeDefinition,\n /** An {@link IndexSignature}. */\n IndexSignature\n}\n\n/** Indicates built-in decorators that are present. */\nexport enum DecoratorFlags {\n /** No flags set. */\n None = 0,\n /** Is a program global. */\n Global = 1 << 0,\n /** Is a binary operator overload. */\n OperatorBinary = 1 << 1,\n /** Is a unary prefix operator overload. */\n OperatorPrefix = 1 << 2,\n /** Is a unary postfix operator overload. */\n OperatorPostfix = 1 << 3,\n /** Is an unmanaged class. */\n Unmanaged = 1 << 4,\n /** Is a final class. */\n Final = 1 << 5,\n /** Is always inlined. */\n Inline = 1 << 6,\n /** Is using a different external name. */\n External = 1 << 7,\n /** Has external JavaScript code. */\n ExternalJs = 1 << 8,\n /** Is a builtin. */\n Builtin = 1 << 9,\n /** Is compiled lazily. */\n Lazy = 1 << 10,\n /** Is considered unsafe code. */\n Unsafe = 1 << 11\n}\n\nexport namespace DecoratorFlags {\n\n /** Translates a decorator kind to the respective decorator flag. */\n export function fromKind(kind: DecoratorKind): DecoratorFlags {\n switch (kind) {\n case DecoratorKind.Global: return DecoratorFlags.Global;\n case DecoratorKind.Operator:\n case DecoratorKind.OperatorBinary: return DecoratorFlags.OperatorBinary;\n case DecoratorKind.OperatorPrefix: return DecoratorFlags.OperatorPrefix;\n case DecoratorKind.OperatorPostfix: return DecoratorFlags.OperatorPostfix;\n case DecoratorKind.Unmanaged: return DecoratorFlags.Unmanaged;\n case DecoratorKind.Final: return DecoratorFlags.Final;\n case DecoratorKind.Inline: return DecoratorFlags.Inline;\n case DecoratorKind.External: return DecoratorFlags.External;\n case DecoratorKind.ExternalJs: return DecoratorFlags.ExternalJs;\n case DecoratorKind.Builtin: return DecoratorFlags.Builtin;\n case DecoratorKind.Lazy: return DecoratorFlags.Lazy;\n case DecoratorKind.Unsafe: return DecoratorFlags.Unsafe;\n default: return DecoratorFlags.None;\n }\n }\n}\n\n/** Base class of all program elements. */\nexport abstract class Element {\n\n /** Parent element. */\n parent!: Element;\n /** Common flags indicating specific traits. */\n flags: CommonFlags = CommonFlags.None;\n /** Decorator flags indicating annotated traits. */\n decoratorFlags: DecoratorFlags = DecoratorFlags.None;\n /** Member elements. */\n members: Map | null = null;\n /** Shadowing type in type space, if any. */\n shadowType: TypeDefinition | null = null;\n\n /** Constructs a new program element. */\n protected constructor(\n /** Specific element kind. */\n public kind: ElementKind,\n /** Simple name. */\n public name: string,\n /** Internal name referring to this element. */\n public internalName: string,\n /** Containing {@link Program}. */\n public program: Program,\n /** Parent element. */\n parent: Element | null\n ) {\n this.program = program;\n this.name = name;\n this.internalName = internalName;\n if (parent) {\n this.parent = parent;\n } else {\n assert(this.kind == ElementKind.File);\n this.parent = this; // special case to keep this.parent non-nullable\n }\n }\n\n /** Gets the enclosing file. */\n get file(): File {\n let current: Element = this;\n do {\n current = current.parent;\n if (current.kind == ElementKind.File) return current;\n } while (true);\n }\n\n /** Tests if this element has a specific flag or flags. */\n is(flag: CommonFlags): bool { return (this.flags & flag) == flag; }\n /** Tests if this element has any of the specified flags. */\n isAny(flags: CommonFlags): bool { return (this.flags & flags) != 0; }\n /** Sets a specific flag or flags. */\n set(flag: CommonFlags): void { this.flags |= flag; }\n /** Unsets the specific flag or flags. */\n unset(flag: CommonFlags): void {this.flags &= ~flag; }\n /** Tests if this element has a specific decorator flag or flags. */\n hasDecorator(flag: DecoratorFlags): bool { return (this.decoratorFlags & flag) == flag; }\n /** Tests if this element has any of the specified decorator flags. */\n hasAnyDecorator(flags: DecoratorFlags): bool { return (this.decoratorFlags & flags) != 0; }\n\n /** Get the member with the specified name, if any. */\n getMember(name: string): DeclaredElement | null {\n let members = this.members;\n if (members && members.has(name)) return assert(members.get(name));\n return null;\n }\n\n /** Looks up the element with the specified name relative to this element. */\n lookup(name: string, isType: bool = false): Element | null {\n return this.parent.lookup(name, isType);\n }\n\n /** Adds an element as a member of this one. Reports and returns `false` if a duplicate. */\n add(name: string, element: DeclaredElement, localIdentifierIfImport: IdentifierExpression | null = null): bool {\n let originalDeclaration = element.declaration;\n let members = this.members;\n if (!members) this.members = members = new Map();\n else if (members.has(name)) {\n let existing = assert(members.get(name));\n if (existing.parent != this) {\n // override non-own element\n } else {\n let merged = tryMerge(existing, element);\n if (merged) {\n element = merged; // use merged element\n } else {\n let reportedIdentifier = localIdentifierIfImport\n ? localIdentifierIfImport\n : element.identifierNode;\n if (isDeclaredElement(existing.kind)) {\n this.program.errorRelated(\n DiagnosticCode.Duplicate_identifier_0,\n reportedIdentifier.range,\n (existing).identifierNode.range,\n reportedIdentifier.text\n );\n } else {\n this.program.error(\n DiagnosticCode.Duplicate_identifier_0,\n reportedIdentifier.range, reportedIdentifier.text\n );\n }\n return false;\n }\n }\n }\n members.set(name, element);\n let program = this.program;\n if (element.kind != ElementKind.FunctionPrototype || !(element).isBound) {\n // prefer unbound prototypes in global lookup maps\n program.elementsByName.set(element.internalName, element);\n program.elementsByDeclaration.set(originalDeclaration, element);\n }\n return true;\n }\n\n /** Checks if this element is public, explicitly or implicitly. */\n get isPublic(): bool {\n return !this.isAny(CommonFlags.Private | CommonFlags.Protected);\n }\n\n /** Checks if this element is implicitly public, i.e. not explicitly declared to be. */\n get isImplicitlyPublic(): bool {\n return this.isPublic && !this.is(CommonFlags.Public);\n }\n\n /** Checks if the visibility of this element equals the specified. */\n visibilityEquals(other: Element): bool {\n if (this.isPublic == other.isPublic) return true;\n const vis = CommonFlags.Private | CommonFlags.Protected;\n return (this.flags & vis) == (other.flags & vis);\n }\n\n visibilityNoLessThan(other: Element): bool {\n if (this.isPublic) return true; // public is a most frequent case\n if (this.is(CommonFlags.Private)) return other.is(CommonFlags.Private);\n if (this.is(CommonFlags.Protected)) return other.isAny(CommonFlags.Private | CommonFlags.Protected);\n return assert(false);\n }\n\n /** Tests if this element is bound to a class. */\n get isBound(): bool {\n let parent = this.parent;\n switch (parent.kind) {\n case ElementKind.Class:\n case ElementKind.Interface: return true;\n }\n return false;\n }\n\n /** Gets the class or interface this element is bound to, if any. */\n getBoundClassOrInterface(): Class | null {\n let parent = this.parent;\n switch (parent.kind) {\n case ElementKind.Class:\n case ElementKind.Interface: return parent;\n }\n return null;\n }\n\n /** Returns a string representation of this element. */\n toString(): string {\n return `${this.internalName}, kind=${this.kind}`;\n }\n}\n\n// Kinds of all declared elements\nlet declaredElements = new Set();\n\n/** Tests if the specified element kind indicates a declared element. */\nexport function isDeclaredElement(kind: ElementKind): bool {\n return declaredElements.has(kind);\n}\n\n/** Base class of elements with an associated declaration statement. */\nexport abstract class DeclaredElement extends Element {\n\n /** Constructs a new declared program element. */\n protected constructor(\n /** Specific element kind. */\n kind: ElementKind,\n /** Simple name. */\n name: string,\n /** Internal name referring to this element. */\n internalName: string,\n /** Containing {@link Program}. */\n program: Program,\n /** Parent element. */\n parent: Element | null,\n /** Declaration reference. */\n public declaration: DeclarationStatement\n ) {\n super(kind, name, internalName, program, parent);\n declaredElements.add(kind);\n // It is necessary to have access to identifiers of all members and exports\n // for reporting purposes and this is the lowest common denominator. Comes\n // at the expense of not having more specific type information in derived\n // classes, though. Instead, derived classes implement getters for other\n // important AST nodes directly through manual casting, allowing the resolver\n // etc. to not worry about actual declarations.\n this.declaration = declaration;\n this.flags = declaration.flags; // inherit\n }\n\n /** Tests if this element is a library element. */\n get isDeclaredInLibrary(): bool {\n return this.declaration.range.source.isLibrary;\n }\n\n /** Gets the associated identifier node. */\n get identifierNode(): IdentifierExpression {\n return this.declaration.name;\n }\n\n /** Gets the signature node, if applicable, along the identifier node. */\n get identifierAndSignatureRange(): Range {\n let declaration = this.declaration;\n let identifierNode = declaration.name;\n if (declaration.kind == NodeKind.FunctionDeclaration || declaration.kind == NodeKind.MethodDeclaration) {\n let signatureNode = (declaration).signature;\n if (identifierNode.range.source == signatureNode.range.source) {\n return Range.join(identifierNode.range, signatureNode.range);\n }\n }\n return identifierNode.range;\n }\n\n /** Gets the assiciated decorator nodes. */\n get decoratorNodes(): DecoratorNode[] | null {\n return this.declaration.decorators;\n }\n}\n\n// Kinds of all typed elements\nlet typedElements = new Set();\n\n/** Checks if the specified element kind indicates a typed element. */\nexport function isTypedElement(kind: ElementKind): bool {\n return typedElements.has(kind);\n}\n\n/** Base class of elements that can be resolved to a concrete type. */\nexport abstract class TypedElement extends DeclaredElement {\n\n /** Resolved type. Set once `is(RESOLVED)`, otherwise void. */\n type: Type = Type.void;\n\n constructor(\n /** Specific element kind. */\n kind: ElementKind,\n /** Simple name. */\n name: string,\n /** Internal name referring to this element. */\n internalName: string,\n /** Containing {@link Program}. */\n program: Program,\n /** Parent element. */\n parent: Element | null,\n /** Declaration reference. */\n declaration: DeclarationStatement\n ) {\n super(kind, name, internalName, program, parent, declaration);\n typedElements.add(kind);\n }\n\n /** Sets the resolved type of this element. */\n setType(type: Type): void {\n assert(!this.is(CommonFlags.Resolved));\n this.type = type;\n this.set(CommonFlags.Resolved);\n }\n}\n\n/** A file representing the implicit top-level namespace of a source. */\nexport class File extends Element {\n\n /** File exports. */\n exports: Map | null = null;\n /** File re-exports. */\n exportsStar: File[] | null = null;\n /** Top-level start function of this file. */\n startFunction!: Function;\n /** Array of `import * as X` alias namespaces of this file. */\n aliasNamespaces: Array = new Array();\n\n /** Constructs a new file. */\n constructor(\n /** Program this file belongs to. */\n program: Program,\n /** Source of this file. */\n public source: Source\n ) {\n super(\n ElementKind.File,\n source.normalizedPath,\n source.internalPath,\n program,\n null // special case for files\n );\n this.source = source;\n assert(!program.filesByName.has(this.internalName));\n program.filesByName.set(this.internalName, this);\n let startFunction = this.program.makeNativeFunction(\n `start:${this.internalName}`,\n Signature.create(program, [], Type.void),\n this\n );\n startFunction.internalName = startFunction.name;\n this.startFunction = startFunction;\n }\n\n /* @override */\n add(name: string, element: DeclaredElement, localIdentifierIfImport: IdentifierExpression | null = null): bool {\n if (element.hasDecorator(DecoratorFlags.Global)) {\n element = this.program.ensureGlobal(name, element); // possibly merged globally\n }\n if (!super.add(name, element, localIdentifierIfImport)) return false;\n element = assert(this.getMember(name)); // possibly merged locally\n if (element.is(CommonFlags.Export) && !localIdentifierIfImport) {\n this.ensureExport(\n element.name,\n element\n );\n }\n return true;\n }\n\n /* @override */\n getMember(name: string): DeclaredElement | null {\n let element = super.getMember(name);\n if (element) return element;\n let exportsStar = this.exportsStar;\n if (exportsStar) {\n for (let i = 0, k = exportsStar.length; i < k; ++i) {\n if (element = exportsStar[i].getMember(name)) return element;\n }\n }\n return null;\n }\n\n /* @override */\n lookup(name: string, isType: bool = false): Element | null {\n let element = this.getMember(name);\n if (element) return element;\n return this.program.lookup(name); // has no meaningful parent\n }\n\n /** Ensures that an element is an export of this file. */\n ensureExport(name: string, element: DeclaredElement): void {\n let exports = this.exports;\n if (!exports) this.exports = exports = new Map();\n exports.set(name, element);\n if (this.source.sourceKind == SourceKind.LibraryEntry) this.program.ensureGlobal(name, element);\n\n // Also, add to the namespaces that capture our exports\n for(let i = 0; i < this.aliasNamespaces.length; i++) {\n let ns = this.aliasNamespaces[i];\n ns.add(name, element);\n }\n }\n\n /** Ensures that another file is a re-export of this file. */\n ensureExportStar(file: File): void {\n let exportsStar = this.exportsStar;\n if (!exportsStar) this.exportsStar = exportsStar = [];\n else if (exportsStar.includes(file)) return;\n exportsStar.push(file);\n }\n\n /** Looks up the export of the specified name. */\n lookupExport(name: string): DeclaredElement | null {\n let exports = this.exports;\n if (exports && exports.has(name)) return assert(exports.get(name));\n let exportsStar = this.exportsStar;\n if (exportsStar) {\n for (let i = 0, k = exportsStar.length; i < k; ++i) {\n let element = exportsStar[i].lookupExport(name);\n if (element) return element;\n }\n }\n return null;\n }\n\n /** Creates an imported namespace from this file. */\n asAliasNamespace(\n name: string,\n parent: Element,\n localIdentifier: IdentifierExpression\n ): Namespace {\n let declaration = this.program.makeNativeNamespaceDeclaration(name);\n declaration.name = localIdentifier;\n let ns = new Namespace(name, parent, declaration);\n ns.set(CommonFlags.Scoped);\n this.copyExportsToNamespace(ns);\n // NOTE: Some exports are still queued, and can't yet be added here,\n // so we remember all the alias namespaces and add to them as well\n // when adding an element to the file.\n this.aliasNamespaces.push(ns);\n return ns;\n }\n\n /** Recursively copies the exports of this file to the specified namespace. */\n private copyExportsToNamespace(ns: Namespace): void {\n let exports = this.exports;\n if (exports) {\n // TODO: for (let [memberName, member] of exports) {\n for (let _keys = Map_keys(exports), i = 0, k = _keys.length; i < k; ++i) {\n let memberName = unchecked(_keys[i]);\n let member = assert(exports.get(memberName));\n ns.add(memberName, member);\n }\n }\n let exportsStar = this.exportsStar;\n if (exportsStar) {\n for (let i = 0, k = exportsStar.length; i < k; ++i) {\n exportsStar[i].copyExportsToNamespace(ns);\n }\n }\n }\n}\n\n/** A type definition. */\nexport class TypeDefinition extends TypedElement {\n\n /** Constructs a new type definition. */\n constructor(\n /** Simple name. */\n name: string,\n /** Parent element. */\n parent: Element,\n /** Declaration reference. */\n declaration: TypeDeclaration,\n /** Pre-checked flags indicating built-in decorators. */\n decoratorFlags: DecoratorFlags = DecoratorFlags.None\n ) {\n super(\n ElementKind.TypeDefinition,\n name,\n mangleInternalName(name, parent, false),\n parent.program,\n parent,\n declaration\n );\n this.decoratorFlags = decoratorFlags;\n }\n\n /** Gets the associated type parameter nodes. */\n get typeParameterNodes(): TypeParameterNode[] | null {\n return (this.declaration).typeParameters;\n }\n\n /** Gets the associated type node. */\n get typeNode(): TypeNode {\n return (this.declaration).type;\n }\n}\n\n/** A namespace that differs from a file in being user-declared with a name. */\nexport class Namespace extends DeclaredElement {\n\n /** Constructs a new namespace. */\n constructor(\n /** Simple name. */\n name: string,\n /** Parent element, usually a file or another namespace. */\n parent: Element,\n /** Declaration reference. */\n declaration: NamespaceDeclaration,\n /** Pre-checked flags indicating built-in decorators. */\n decoratorFlags: DecoratorFlags = DecoratorFlags.None\n ) {\n super(\n ElementKind.Namespace,\n name,\n mangleInternalName(name, parent, false),\n parent.program,\n parent,\n declaration\n );\n this.decoratorFlags = decoratorFlags;\n }\n\n /* @override */\n lookup(name: string, isType: bool = false): Element | null {\n let member = this.getMember(name);\n if (member) return member;\n return super.lookup(name, isType);\n }\n}\n\n/** An enum. */\nexport class Enum extends TypedElement {\n\n /** Constructs a new enum. */\n constructor(\n /** Simple name. */\n name: string,\n /** Parent element, usually a file or namespace. */\n parent: Element,\n /** Declaration reference. */\n declaration: EnumDeclaration,\n /** Pre-checked flags indicating built-in decorators. */\n decoratorFlags: DecoratorFlags = DecoratorFlags.None\n ) {\n super(\n ElementKind.Enum,\n name,\n mangleInternalName(name, parent, false),\n parent.program,\n parent,\n declaration\n );\n this.decoratorFlags = decoratorFlags;\n this.setType(Type.i32);\n }\n\n /* @override */\n lookup(name: string, isType: bool = false): Element | null {\n let member = this.getMember(name);\n if (member) return member;\n return super.lookup(name, isType);\n }\n}\n\n/** Indicates the kind of an inlined constant value. */\nexport const enum ConstantValueKind {\n /** No constant value. */\n None,\n /** Constant integer value. */\n Integer,\n /** Constant float value. */\n Float\n}\n\n/** Base class of all variable-like program elements. */\nexport abstract class VariableLikeElement extends TypedElement {\n\n /** Constant value kind. */\n constantValueKind: ConstantValueKind = ConstantValueKind.None;\n /** Constant integer value, if applicable. */\n constantIntegerValue: i64 = i64_zero;\n /** Constant float value, if applicable. */\n constantFloatValue: f64 = 0;\n\n /** Constructs a new variable-like element. */\n protected constructor(\n /** Specific element kind. */\n kind: ElementKind,\n /** Simple name. */\n name: string,\n /** Parent element, usually a file, namespace or class. */\n parent: Element,\n /** Declaration reference. Creates a native declaration if omitted. */\n declaration: VariableLikeDeclarationStatement = parent.program.makeNativeVariableDeclaration(name)\n ) {\n super(\n kind,\n name,\n mangleInternalName(name, parent, declaration.is(CommonFlags.Instance)),\n parent.program,\n parent,\n declaration\n );\n this.flags = declaration.flags;\n }\n\n /** Gets the associated type node.s */\n get typeNode(): TypeNode | null {\n return (this.declaration).type;\n }\n\n /** Gets the associated initializer node. */\n get initializerNode(): Expression | null {\n return (this.declaration).initializer;\n }\n\n /** Applies a constant integer value to this element. */\n setConstantIntegerValue(value: i64, type: Type): void {\n assert(type.isIntegerInclReference);\n this.type = type;\n this.constantValueKind = ConstantValueKind.Integer;\n this.constantIntegerValue = value;\n this.set(CommonFlags.Const | CommonFlags.Inlined | CommonFlags.Resolved);\n }\n\n /** Applies a constant float value to this element. */\n setConstantFloatValue(value: f64, type: Type): void {\n assert(type.isFloatValue);\n this.type = type;\n this.constantValueKind = ConstantValueKind.Float;\n this.constantFloatValue = value;\n this.set(CommonFlags.Const | CommonFlags.Inlined | CommonFlags.Resolved);\n }\n}\n\n/** An enum value. */\nexport class EnumValue extends VariableLikeElement {\n\n /** Constructs a new enum value. */\n constructor(\n /** Simple name. */\n name: string,\n /** Parent enum. */\n parent: Enum,\n /** Declaration reference. */\n declaration: EnumValueDeclaration,\n /** Pre-checked flags indicating built-in decorators. */\n decoratorFlags: DecoratorFlags = DecoratorFlags.None\n ) {\n super(\n ElementKind.EnumValue,\n name,\n parent,\n declaration\n );\n this.decoratorFlags = decoratorFlags;\n this.setType(Type.i32);\n }\n\n /** Whether this enum value is immutable. */\n isImmutable: bool = false;\n\n /** Gets the associated value node. */\n get valueNode(): Expression | null {\n return (this.declaration).initializer;\n }\n}\n\n/** A global variable. */\nexport class Global extends VariableLikeElement {\n\n /** Constructs a new global variable. */\n constructor(\n /** Simple name. */\n name: string,\n /** Parent element, usually a file, namespace or static class. */\n parent: Element,\n /** Pre-checked flags indicating built-in decorators. */\n decoratorFlags: DecoratorFlags,\n /** Declaration reference. Creates a native declaration if omitted. */\n declaration: VariableLikeDeclarationStatement = parent.program.makeNativeVariableDeclaration(name)\n ) {\n super(\n ElementKind.Global,\n name,\n parent,\n declaration\n );\n this.decoratorFlags = decoratorFlags;\n }\n}\n\n/** A function parameter. */\nexport class Parameter {\n /** Constructs a new function parameter. */\n constructor(\n /** Parameter name. */\n public name: string,\n /** Parameter type. */\n public type: Type,\n /** Parameter initializer, if present. */\n public initializer: Expression | null = null\n ) {}\n}\n\n/** A local variable. */\nexport class Local extends VariableLikeElement {\n\n /** Original name of the (temporary) local. */\n private originalName: string;\n\n /** Constructs a new local variable. */\n constructor(\n /** Simple name. */\n name: string,\n /** Zero-based index within the enclosing function. `-1` indicates a dummy local. */\n public index: i32,\n /** Resolved type. */\n type: Type,\n /** Parent function. */\n parent: Function,\n /** Declaration reference. */\n declaration: VariableLikeDeclarationStatement = parent.program.makeNativeVariableDeclaration(name)\n ) {\n super(\n ElementKind.Local,\n name,\n parent,\n declaration\n );\n this.originalName = name;\n this.index = index;\n assert(type != Type.void);\n this.setType(type);\n }\n\n declaredByFlow(flow: Flow): bool {\n return this.parent == flow.targetFunction;\n }\n}\n\n/** A yet unresolved function prototype. */\nexport class FunctionPrototype extends DeclaredElement {\n\n /** Operator kind, if an overload. */\n operatorKind: OperatorKind = OperatorKind.Invalid;\n /** Already resolved instances. */\n instances: Map | null = null;\n /** Methods overriding this one, if any. These are unbound. */\n unboundOverrides: Set | null = null;\n\n /** Clones of this prototype that are bound to specific classes. */\n private boundPrototypes: Map | null = null;\n\n /** Constructs a new function prototype. */\n constructor(\n /** Simple name */\n name: string,\n /** Parent element, usually a file, namespace or class (if a method). */\n parent: Element,\n /** Declaration reference. */\n declaration: FunctionDeclaration,\n /** Pre-checked flags indicating built-in decorators. */\n decoratorFlags: DecoratorFlags = DecoratorFlags.None\n ) {\n super(\n ElementKind.FunctionPrototype,\n name,\n mangleInternalName(name, parent, declaration.is(CommonFlags.Instance)),\n parent.program,\n parent,\n declaration\n );\n this.decoratorFlags = decoratorFlags;\n }\n\n /** Gets the associated type parameter nodes. */\n get typeParameterNodes(): TypeParameterNode[] | null {\n return (this.declaration).typeParameters;\n }\n\n /** Gets the associated function type node. */\n get functionTypeNode(): FunctionTypeNode {\n return (this.declaration).signature;\n }\n\n /** Gets the associated body node. */\n get bodyNode(): Statement | null {\n return (this.declaration).body;\n }\n\n /** Gets the arrow function kind. */\n get arrowKind(): ArrowKind {\n return (this.declaration).arrowKind;\n }\n\n /** Creates a clone of this prototype that is bound to a concrete class instead. */\n toBound(classInstance: Class): FunctionPrototype {\n assert(this.is(CommonFlags.Instance));\n assert(!this.isBound);\n let boundPrototypes = this.boundPrototypes;\n if (!boundPrototypes) this.boundPrototypes = boundPrototypes = new Map();\n else if (boundPrototypes.has(classInstance)) return assert(boundPrototypes.get(classInstance));\n let declaration = this.declaration;\n assert(declaration.kind == NodeKind.MethodDeclaration);\n let bound = new FunctionPrototype(\n this.name,\n classInstance, // now bound\n declaration,\n this.decoratorFlags\n );\n bound.flags = this.flags;\n bound.operatorKind = this.operatorKind;\n bound.unboundOverrides = this.unboundOverrides;\n // NOTE: this.instances holds instances per bound class / unbound\n boundPrototypes.set(classInstance, bound);\n return bound;\n }\n\n /** Gets the resolved instance for the specified instance key, if already resolved. */\n getResolvedInstance(instanceKey: string): Function | null {\n let instances = this.instances;\n if (instances && instances.has(instanceKey)) return assert(instances.get(instanceKey));\n return null;\n }\n\n /** Sets the resolved instance for the specified instance key. */\n setResolvedInstance(instanceKey: string, instance: Function): void {\n let instances = this.instances;\n if (!instances) this.instances = instances = new Map();\n else assert(!instances.has(instanceKey));\n instances.set(instanceKey, instance);\n }\n}\n\n/** A resolved function. */\nexport class Function extends TypedElement {\n\n /** Function prototype. */\n prototype: FunctionPrototype;\n /** Function signature. */\n signature: Signature;\n /** Array of locals by index. */\n localsByIndex: Local[] = [];\n /** Concrete type arguments. */\n typeArguments: Type[] | null;\n /** Contextual type arguments. */\n contextualTypeArguments: Map | null;\n /** Default control flow. */\n flow!: Flow;\n /** Ordered debug locations by Binaryen expression reference. */\n debugLocations: Map = new Map();\n /** Function reference, if compiled. */\n ref: FunctionRef = 0;\n /** Varargs stub for calling with omitted arguments. */\n varargsStub: Function | null = null;\n /** Stub for calling overrides. */\n overrideStub: Function | null = null;\n /** Runtime memory segment, if created. */\n memorySegment: MemorySegment | null = null;\n /** Original function, if a stub. Otherwise `this`. */\n original!: Function;\n\n /** Counting id of inline operations involving this function. */\n nextInlineId: i32 = 0;\n /** Counting id of anonymous inner functions. */\n nextAnonymousId: i32 = 0;\n\n /** Constructs a new concrete function. */\n constructor(\n /** Name incl. type parameters, i.e. `foo`. */\n nameInclTypeParameters: string,\n /** Respective function prototype. */\n prototype: FunctionPrototype,\n /** Concrete type arguments. */\n typeArguments: Type[] | null,\n /** Concrete signature. */\n signature: Signature, // pre-resolved\n /** Contextual type arguments inherited from its parent class, if any. */\n contextualTypeArguments: Map | null = null\n ) {\n super(\n ElementKind.Function,\n nameInclTypeParameters,\n mangleInternalName(nameInclTypeParameters, prototype.parent, prototype.is(CommonFlags.Instance)),\n prototype.program,\n prototype.parent,\n prototype.declaration\n );\n this.prototype = prototype;\n this.typeArguments = typeArguments;\n this.signature = signature;\n this.flags = prototype.flags | CommonFlags.Resolved;\n this.decoratorFlags = prototype.decoratorFlags;\n this.contextualTypeArguments = contextualTypeArguments;\n this.original = this;\n let program = prototype.program;\n this.type = signature.type;\n let flow = Flow.createDefault(this);\n this.flow = flow;\n if (!prototype.is(CommonFlags.Ambient)) {\n let localIndex = 0;\n let thisType = signature.thisType;\n if (thisType) {\n let local = new Local(\n CommonNames.this_,\n localIndex++,\n thisType,\n this\n );\n let scopedLocals = this.flow.scopedLocals;\n if (!scopedLocals) this.flow.scopedLocals = scopedLocals = new Map();\n scopedLocals.set(CommonNames.this_, local);\n this.localsByIndex[local.index] = local;\n flow.setLocalFlag(local.index, LocalFlags.Initialized);\n }\n let parameterTypes = signature.parameterTypes;\n for (let i = 0, k = parameterTypes.length; i < k; ++i) {\n let parameterType = parameterTypes[i];\n let parameterName = this.getParameterName(i);\n let local = new Local(\n parameterName,\n localIndex++,\n parameterType,\n this\n );\n let scopedLocals = this.flow.scopedLocals;\n if (!scopedLocals) this.flow.scopedLocals = scopedLocals = new Map();\n scopedLocals.set(parameterName, local);\n this.localsByIndex[local.index] = local;\n flow.setLocalFlag(local.index, LocalFlags.Initialized);\n }\n }\n registerConcreteElement(program, this);\n }\n\n /** Gets the types of additional locals that are not parameters. */\n getNonParameterLocalTypes(): Type[] {\n let localsByIndex = this.localsByIndex;\n let signature = this.signature;\n let numTotal = localsByIndex.length;\n let numFixed = signature.parameterTypes.length;\n if (signature.thisType) ++numFixed;\n let numAdditional = numTotal - numFixed;\n let types = new Array(numAdditional);\n for (let i = 0; i < numAdditional; ++i) {\n types[i] = localsByIndex[numFixed + i].type;\n }\n return types;\n }\n\n /** Gets the name of the parameter at the specified index. */\n getParameterName(index: i32): string {\n let parameters = (this.declaration).signature.parameters;\n return parameters.length > index\n ? parameters[index].name.text\n : getDefaultParameterName(index);\n }\n\n /** Creates a stub for use with this function, i.e. for varargs or override calls. */\n newStub(postfix: string, requiredParameters: i32 = this.signature.requiredParameters): Function {\n let stub = new Function(\n this.original.name + STUB_DELIMITER + postfix,\n this.prototype,\n this.typeArguments,\n this.signature.clone(requiredParameters),\n this.contextualTypeArguments\n );\n stub.original = this.original;\n stub.set(this.flags & ~CommonFlags.Compiled | CommonFlags.Stub);\n return stub;\n }\n\n /** Adds a local of the specified type, with an optional name. */\n addLocal(type: Type, name: string | null = null, declaration: VariableDeclaration | null = null): Local {\n // if it has a name, check previously as this method will throw otherwise\n let localsByIndex = this.localsByIndex;\n let localIndex = localsByIndex.length;\n let localName = name != null ? name : localIndex.toString();\n if (!declaration) declaration = this.program.makeNativeVariableDeclaration(localName);\n let local = new Local(localName, localIndex, type, this, declaration);\n if (name) {\n let defaultFlow = this.flow;\n let scopedLocals = defaultFlow.scopedLocals;\n if (!scopedLocals) defaultFlow.scopedLocals = scopedLocals = new Map();\n if (scopedLocals.has(name)) throw new Error(\"duplicate local name\");\n scopedLocals.set(name, local);\n }\n localsByIndex[localIndex] = local;\n return local;\n }\n\n /* @override */\n lookup(name: string, isType: bool = false): Element | null {\n if (!isType) {\n let scopedLocals = this.flow.scopedLocals;\n if (scopedLocals && scopedLocals.has(name)) {\n return assert(scopedLocals.get(name));\n }\n }\n return super.lookup(name, isType);\n }\n\n // used by flows to keep track of break labels\n nextBreakId: i32 = 0;\n breakStack: i32[] | null = null;\n\n /** Finalizes the function once compiled, releasing no longer needed resources. */\n finalize(module: Module, ref: FunctionRef): void {\n this.ref = ref;\n let breakStack = this.breakStack;\n assert(!breakStack || !breakStack.length); // should be empty\n this.breakStack = null;\n this.addDebugInfo(module, ref);\n }\n\n addDebugInfo(module: Module, ref: FunctionRef): void {\n if (this.program.options.sourceMap) {\n let debugLocations = this.debugLocations;\n for (let _keys = Map_keys(debugLocations), i = 0, k = _keys.length; i < k; ++i) {\n let expressionRef = _keys[i];\n let range = assert(debugLocations.get(expressionRef));\n let source = range.source;\n module.setDebugLocation(\n ref,\n expressionRef,\n source.debugInfoIndex,\n source.lineAt(range.start),\n source.columnAt() - 1 // source maps are 0-based\n );\n }\n }\n if (this.program.options.debugInfo) {\n let localNameMap = new Set();\n let localsByIndex = this.localsByIndex;\n for (let i = 0, k = localsByIndex.length; i < k; i++) {\n let localName = localsByIndex[i].name;\n if (localNameMap.has(localName)) {\n localName = `${localName}|${i}`;\n }\n localNameMap.add(localName);\n module.setLocalName(ref, i, localName);\n }\n }\n }\n}\n\n/** A property comprised of a getter and a setter function. */\nexport class PropertyPrototype extends DeclaredElement {\n\n /** Field declaration, if a field. */\n fieldDeclaration: FieldDeclaration | null = null;\n /** Getter prototype. */\n getterPrototype: FunctionPrototype | null = null;\n /** Setter prototype. */\n setterPrototype: FunctionPrototype | null = null;\n /** Property instance, if resolved. */\n instance: Property | null = null;\n\n /** Clones of this prototype that are bound to specific classes. */\n private boundPrototypes: Map | null = null;\n\n /** Creates a property prototype representing a field. */\n static forField(\n /** Simple name. */\n name: string,\n /** Parent element. Always a class prototype. */\n parent: ClassPrototype,\n /** Declaration of the field. */\n fieldDeclaration: FieldDeclaration,\n /** Pre-checked flags indicating built-in decorators. */\n decoratorFlags: DecoratorFlags,\n ): PropertyPrototype {\n // A field is a property with an attached memory offset. Unlike normal\n // properties, accessors for fields are not explicitly declared, so we\n // declare them implicitly here and compile them as built-ins when used.\n // As a result, explicit and implicit accessors can override each other,\n // which is useful when implementing interfaces declaring \"fields\". Such\n // fields are satisfied by either a field or a normal property, so the\n // override stub at the interface needs to handle both interchangeably.\n let nativeRange = Source.native.range;\n let typeNode = fieldDeclaration.type;\n if (!typeNode) typeNode = Node.createOmittedType(fieldDeclaration.name.range.atEnd);\n let getterDeclaration = new MethodDeclaration( // get name(): type\n fieldDeclaration.name,\n fieldDeclaration.decorators,\n fieldDeclaration.flags | CommonFlags.Instance | CommonFlags.Get,\n null,\n new FunctionTypeNode([], typeNode, null, false, nativeRange),\n null,\n nativeRange\n );\n let setterDeclaration = new MethodDeclaration( // set name(name: type)\n fieldDeclaration.name,\n fieldDeclaration.decorators,\n fieldDeclaration.flags | CommonFlags.Instance | CommonFlags.Set,\n null,\n new FunctionTypeNode(\n [\n new ParameterNode(\n ParameterKind.Default,\n fieldDeclaration.name,\n typeNode, null, nativeRange\n )\n ],\n new NamedTypeNode(\n new TypeName(\n new IdentifierExpression(\"\", false, nativeRange),\n null, nativeRange\n ),\n null, false, nativeRange\n ),\n null, false, nativeRange\n ),\n null, nativeRange\n );\n let prototype = new PropertyPrototype(name, parent, getterDeclaration);\n prototype.fieldDeclaration = fieldDeclaration;\n prototype.decoratorFlags = decoratorFlags;\n prototype.getterPrototype = new FunctionPrototype(GETTER_PREFIX + name, parent, getterDeclaration, decoratorFlags);\n prototype.setterPrototype = new FunctionPrototype(SETTER_PREFIX + name, parent, setterDeclaration, decoratorFlags);\n return prototype;\n }\n\n /** Constructs a new property prototype. */\n constructor(\n /** Simple name. */\n name: string,\n /** Parent element. Either a class prototype or instance. */\n parent: Element,\n /** Declaration of the getter or setter introducing the property. */\n firstDeclaration: FunctionDeclaration\n ) {\n super(\n ElementKind.PropertyPrototype,\n name,\n mangleInternalName(name, parent, firstDeclaration.is(CommonFlags.Instance)),\n parent.program,\n parent,\n firstDeclaration\n );\n this.flags &= ~(CommonFlags.Get | CommonFlags.Set);\n }\n\n /** Tests if this property prototype represents a field. */\n get isField(): bool {\n return this.fieldDeclaration != null;\n }\n\n /** Gets the associated type node. */\n get typeNode(): TypeNode | null {\n let fieldDeclaration = this.fieldDeclaration;\n if (fieldDeclaration) return fieldDeclaration.type;\n let getterPrototype = this.getterPrototype;\n if (getterPrototype) {\n let getterDeclaration = getterPrototype.declaration;\n if (getterDeclaration.kind == NodeKind.FunctionDeclaration) {\n return (getterDeclaration).signature.returnType;\n }\n }\n let setterPrototype = this.setterPrototype;\n if (setterPrototype) {\n let setterDeclaration = setterPrototype.declaration;\n if (setterDeclaration.kind == NodeKind.FunctionDeclaration) {\n let setterParameters = (setterDeclaration).signature.parameters;\n if (setterParameters.length) return setterParameters[0].type;\n }\n }\n return null;\n }\n\n /** Gets the associated initializer node. */\n get initializerNode(): Expression | null {\n let fieldDeclaration = this.fieldDeclaration;\n if (fieldDeclaration) return fieldDeclaration.initializer;\n return null;\n }\n\n /** Gets the associated parameter index. Set if declared as a constructor parameter, otherwise `-1`. */\n get parameterIndex(): i32 {\n let fieldDeclaration = this.fieldDeclaration;\n if (fieldDeclaration) return fieldDeclaration.parameterIndex;\n return -1;\n }\n\n /** Gets the respective `this` type. */\n get thisType(): Type {\n let parent = this.parent;\n assert(parent.kind == ElementKind.Class);\n return (parent).type;\n }\n\n /** Creates a clone of this property prototype that is bound to a concrete class. */\n toBound(classInstance: Class): PropertyPrototype {\n assert(this.is(CommonFlags.Instance));\n assert(!this.isBound);\n let boundPrototypes = this.boundPrototypes;\n if (!boundPrototypes) this.boundPrototypes = boundPrototypes = new Map();\n else if (boundPrototypes.has(classInstance)) return assert(boundPrototypes.get(classInstance));\n let firstDeclaration = this.declaration;\n assert(firstDeclaration.kind == NodeKind.MethodDeclaration);\n let bound = new PropertyPrototype(\n this.name,\n classInstance, // now bound\n firstDeclaration\n );\n bound.flags = this.flags;\n bound.fieldDeclaration = this.fieldDeclaration;\n let getterPrototype = this.getterPrototype;\n if (getterPrototype) {\n bound.getterPrototype = getterPrototype.toBound(classInstance);\n }\n let setterPrototype = this.setterPrototype;\n if (setterPrototype) {\n bound.setterPrototype = setterPrototype.toBound(classInstance);\n }\n boundPrototypes.set(classInstance, bound);\n return bound;\n }\n}\n\n/** A resolved property. */\nexport class Property extends VariableLikeElement {\n\n /** Prototype reference. */\n prototype: PropertyPrototype;\n /** Getter instance. */\n getterInstance: Function | null = null;\n /** Setter instance. */\n setterInstance: Function | null = null;\n /** Field memory offset, if a (layed out) instance field. */\n memoryOffset: i32 = -1;\n\n /** Constructs a new property prototype. */\n constructor(\n /** Respective property prototype. */\n prototype: PropertyPrototype,\n /** Parent element, usually a static class prototype or class instance. */\n parent: Element\n ) {\n super(\n ElementKind.Property,\n prototype.name,\n parent,\n prototype.isField\n ? assert(prototype.fieldDeclaration)\n : Node.createVariableDeclaration(\n prototype.identifierNode,\n null,\n prototype.flags & CommonFlags.Instance,\n null, null,\n prototype.identifierNode.range\n )\n );\n this.prototype = prototype;\n this.flags = prototype.flags;\n this.decoratorFlags = prototype.decoratorFlags;\n if (this.is(CommonFlags.Instance)) {\n registerConcreteElement(this.program, this);\n }\n }\n\n /** Tests if this property represents a field. */\n get isField(): bool {\n return this.prototype.isField;\n }\n\n checkVisibility(diag: DiagnosticEmitter): void {\n let propertyGetter = this.getterInstance;\n let propertySetter = this.setterInstance;\n if (propertyGetter && propertySetter && !propertyGetter.visibilityNoLessThan(propertySetter)) {\n diag.errorRelated(\n DiagnosticCode.Get_accessor_0_must_be_at_least_as_accessible_as_the_setter,\n propertyGetter.identifierNode.range, propertySetter.identifierNode.range, propertyGetter.identifierNode.text\n );\n }\n }\n}\n\n/** A resolved index signature. */\nexport class IndexSignature extends TypedElement {\n\n /** Constructs a new index prototype. */\n constructor(\n /** Parent class. */\n parent: Class\n ) {\n super(\n ElementKind.IndexSignature,\n \"[]\",\n parent.internalName + \"[]\",\n parent.program,\n parent,\n parent.program.makeNativeVariableDeclaration(\"[]\") // is fine\n );\n }\n\n /** Obtains the getter instance. */\n getGetterInstance(isUnchecked: bool): Function | null {\n return (this.parent).lookupOverload(OperatorKind.IndexedGet, isUnchecked);\n }\n\n /** Obtains the setter instance. */\n getSetterInstance(isUnchecked: bool): Function | null {\n return (this.parent).lookupOverload(OperatorKind.IndexedSet, isUnchecked);\n }\n}\n\n/** A yet unresolved class prototype. */\nexport class ClassPrototype extends DeclaredElement {\n\n /** Instance member prototypes. */\n instanceMembers: Map | null = null;\n /** Base class prototype, if applicable. */\n basePrototype: ClassPrototype | null = null;\n /** Interface prototypes, if applicable. */\n interfacePrototypes: InterfacePrototype[] | null = null;\n /** Constructor prototype. */\n constructorPrototype: FunctionPrototype | null = null;\n /** Operator overload prototypes. */\n operatorOverloadPrototypes: Map = new Map();\n /** Already resolved instances. */\n instances: Map | null = null;\n /** Classes extending this class. */\n extenders: Set = new Set();\n /** Whether this class implicitly extends `Object`. */\n implicitlyExtendsObject: bool = false;\n\n constructor(\n /** Simple name. */\n name: string,\n /** Parent element, usually a file or namespace. */\n parent: Element,\n /** Declaration reference. */\n declaration: ClassDeclaration,\n /** Pre-checked flags indicating built-in decorators. */\n decoratorFlags: DecoratorFlags = DecoratorFlags.None,\n _isInterface: bool = false // FIXME\n ) {\n super(\n _isInterface ? ElementKind.InterfacePrototype : ElementKind.ClassPrototype,\n name,\n mangleInternalName(name, parent, declaration.is(CommonFlags.Instance)),\n parent.program,\n parent,\n declaration\n );\n this.decoratorFlags = decoratorFlags;\n }\n\n /** Gets the associated type parameter nodes. */\n get typeParameterNodes(): TypeParameterNode[] | null {\n return (this.declaration).typeParameters;\n }\n /** Gets the associated extends node. */\n get extendsNode(): NamedTypeNode | null {\n return (this.declaration).extendsType;\n }\n /** Gets the associated implements nodes. */\n get implementsNodes(): NamedTypeNode[] | null {\n return (this.declaration).implementsTypes;\n }\n\n /** Tests if this prototype is of a builtin array type (Array/TypedArray). */\n get isBuiltinArray(): bool {\n let arrayBufferViewInstance = this.program.arrayBufferViewInstance;\n return arrayBufferViewInstance && this.extends(arrayBufferViewInstance.prototype);\n }\n\n /** Tests if this prototype extends the specified. */\n extends(basePtototype: ClassPrototype | null): bool {\n let current: ClassPrototype | null = this;\n let seen = new Set();\n do {\n // cannot directly or indirectly extend itself\n if (seen.has(current)) break;\n seen.add(current);\n if (current == basePtototype) return true;\n current = current.basePrototype;\n } while (current);\n return false;\n }\n\n /** Adds an element as an instance member of this one. Returns the previous element if a duplicate. */\n addInstance(name: string, element: DeclaredElement): bool {\n let originalDeclaration = element.declaration;\n let instanceMembers = this.instanceMembers;\n if (!instanceMembers) this.instanceMembers = instanceMembers = new Map();\n else if (instanceMembers.has(name)) {\n let existing = assert(instanceMembers.get(name));\n let merged = tryMerge(existing, element);\n if (!merged) {\n if (isDeclaredElement(existing.kind)) {\n this.program.errorRelated(\n DiagnosticCode.Duplicate_identifier_0,\n element.identifierNode.range,\n (existing).declaration.name.range,\n element.identifierNode.text\n );\n } else {\n this.program.error(\n DiagnosticCode.Duplicate_identifier_0,\n element.identifierNode.range, element.identifierNode.text\n );\n }\n return false;\n }\n element = merged;\n }\n instanceMembers.set(name, element);\n if (element.is(CommonFlags.Export) && this.is(CommonFlags.ModuleExport)) {\n element.set(CommonFlags.ModuleExport); // propagate\n }\n this.program.elementsByDeclaration.set(originalDeclaration, element);\n return true;\n }\n\n /** Gets the resolved instance for the specified instance key, if already resolved. */\n getResolvedInstance(instanceKey: string): Class | null {\n let instances = this.instances;\n if (instances && instances.has(instanceKey)) return instances.get(instanceKey);\n return null;\n }\n\n /** Sets the resolved instance for the specified instance key. */\n setResolvedInstance(instanceKey: string, instance: Class): void {\n let instances = this.instances;\n if (!instances) this.instances = instances = new Map();\n else assert(!instances.has(instanceKey));\n instances.set(instanceKey, instance);\n }\n}\n\n/** A resolved class. */\nexport class Class extends TypedElement {\n\n /** Class prototype. */\n prototype: ClassPrototype;\n /** Resolved type arguments. */\n typeArguments: Type[] | null;\n /** Base class, if any. */\n base: Class | null = null;\n /** Directly implemented interfaces, if any. */\n interfaces: Set | null = null;\n /** Contextual type arguments for fields and methods. */\n contextualTypeArguments: Map | null = null;\n /** Current member memory offset. */\n nextMemoryOffset: u32 = 0;\n /** Constructor instance. */\n constructorInstance: Function | null = null;\n /** Operator overloads. */\n operatorOverloads: Map | null = null;\n /** Index signature, if present. */\n indexSignature: IndexSignature | null = null;\n /** Unique class id. */\n private _id: u32 = 0;\n /** Runtime type information flags. */\n rttiFlags: u32 = 0;\n /** Wrapped type, if a wrapper for a basic type. */\n wrappedType: Type | null = null;\n /** Classes directly or indirectly extending this class, if any. */\n extenders: Set | null = null;\n /** Classes directly or indirectly implementing this interface, if any. */\n implementers: Set | null = null;\n /** Whether the field initialization check has already been performed. */\n didCheckFieldInitialization: bool = false;\n /** Runtime visitor function reference. */\n visitRef: FunctionRef = 0;\n\n /** Gets the unique runtime id of this class. */\n get id(): u32 {\n return this._id; // unmanaged remains 0 (=ArrayBuffer)\n }\n\n /** Tests if this class is of a builtin array type (Array/TypedArray). */\n get isBuiltinArray(): bool {\n return this.prototype.isBuiltinArray;\n }\n\n /** Tests if this class is array-like. */\n get isArrayLike(): bool {\n if (this.isBuiltinArray) return true;\n let lengthField = this.getMember(\"length\");\n if (!lengthField) return false;\n return (\n (\n lengthField.kind == ElementKind.Property &&\n (lengthField).getterInstance != null\n ) || (\n lengthField.kind == ElementKind.PropertyPrototype &&\n (lengthField).getterPrototype != null // TODO: resolve & check type?\n )\n ) && (\n this.lookupOverload(OperatorKind.IndexedGet) != null ||\n this.lookupOverload(OperatorKind.UncheckedIndexedGet) != null\n );\n }\n\n /** Tests if this is an interface. */\n get isInterface(): bool {\n return this.kind == ElementKind.Interface;\n }\n\n /** Constructs a new class. */\n constructor(\n /** Name incl. type parameters, i.e. `Foo`. */\n nameInclTypeParameters: string,\n /** The respective class prototype. */\n prototype: ClassPrototype,\n /** Concrete type arguments, if any. */\n typeArguments: Type[] | null = null,\n _isInterface: bool = false // FIXME\n ) {\n super(\n _isInterface ? ElementKind.Interface : ElementKind.Class,\n nameInclTypeParameters,\n mangleInternalName(nameInclTypeParameters, prototype.parent, prototype.is(CommonFlags.Instance)),\n prototype.program,\n prototype.parent,\n prototype.declaration\n );\n this.prototype = prototype;\n this.flags = prototype.flags;\n this.decoratorFlags = prototype.decoratorFlags;\n this.typeArguments = typeArguments;\n let program = this.program;\n let usizeType = program.options.usizeType;\n let type = new Type(usizeType.kind, usizeType.flags & ~TypeFlags.Value | TypeFlags.Reference, usizeType.size);\n type.classReference = this;\n this.setType(type);\n\n if (!this.hasDecorator(DecoratorFlags.Unmanaged)) {\n let id = program.nextClassId++;\n this._id = id;\n program.managedClasses.set(id, this);\n }\n\n // apply pre-checked instance-specific contextual type arguments\n let typeParameters = prototype.typeParameterNodes;\n if (typeArguments) {\n let numTypeArguments = typeArguments.length;\n if (!typeParameters || numTypeArguments != typeParameters.length) {\n throw new Error(\"type argument count mismatch\");\n }\n if (numTypeArguments) {\n let contextualTypeArguments = this.contextualTypeArguments;\n if (!contextualTypeArguments) this.contextualTypeArguments = contextualTypeArguments = new Map();\n for (let i = 0; i < numTypeArguments; ++i) {\n contextualTypeArguments.set(typeParameters[i].name.text, typeArguments[i]);\n }\n }\n } else if (typeParameters && typeParameters.length > 0) {\n throw new Error(\"type argument count mismatch\");\n }\n registerConcreteElement(program, this);\n }\n\n /** Computes the least upper bound of two class types. */\n static leastUpperBound(a: Class, b: Class): Class | null {\n if (a == b) return a;\n let candidates = new Set();\n candidates.add(a);\n candidates.add(b);\n while (true) {\n let aBase = a.base;\n let bBase = b.base;\n if (!aBase && !bBase) return null; // none\n if (aBase) {\n if (candidates.has(aBase)) return aBase;\n candidates.add(a = aBase);\n }\n if (bBase) {\n if (candidates.has(bBase)) return bBase;\n candidates.add(b = bBase);\n }\n }\n }\n\n /** Sets the base class. */\n setBase(base: Class): void {\n assert(!this.base);\n this.base = base;\n\n // Inherit contextual type arguments from base class\n let inheritedTypeArguments = base.contextualTypeArguments;\n if (inheritedTypeArguments) {\n let contextualTypeArguments = this.contextualTypeArguments;\n // TODO: for (let [baseName, baseType] of inheritedTypeArguments) {\n for (let _keys = Map_keys(inheritedTypeArguments), i = 0, k = _keys.length; i < k; ++i) {\n let baseName = unchecked(_keys[i]);\n let baseType = assert(inheritedTypeArguments.get(baseName));\n if (!contextualTypeArguments) {\n this.contextualTypeArguments = contextualTypeArguments = new Map();\n contextualTypeArguments.set(baseName, baseType);\n } else if (!contextualTypeArguments.has(baseName)) {\n contextualTypeArguments.set(baseName, baseType);\n }\n }\n }\n\n // This class and its extenders now extend each direct or indirect base class\n base.propagateExtenderUp(this);\n let extenders = this.extenders;\n if (extenders) {\n for (let _values = Set_values(extenders), i = 0, k = _values.length; i < k; ++i) {\n let extender = _values[i];\n base.propagateExtenderUp(extender);\n }\n }\n\n // Direct or indirect base interfaces are now implemented by this class and its extenders\n let nextBase: Class | null = base;\n do {\n let baseInterfaces = nextBase.interfaces;\n if (baseInterfaces) {\n for (let _values = Set_values(baseInterfaces), i = 0, k = _values.length; i < k; ++i) {\n let baseInterface = _values[i];\n this.propagateInterfaceDown(baseInterface);\n }\n }\n nextBase = nextBase.base;\n } while (nextBase);\n }\n\n /** Propagates an extender to this class and its base classes. */\n private propagateExtenderUp(extender: Class): void {\n // Start with this class, adding the extender to it. Repeat for the class's\n // bases that are indirectly extended by the extender.\n let nextBase: Class | null = this;\n do {\n let extenders = nextBase.extenders;\n if (!extenders) nextBase.extenders = extenders = new Set();\n extenders.add(extender);\n nextBase = nextBase.base;\n } while (nextBase);\n }\n\n /** Propagates an interface and its base interfaces to this class and its extenders. */\n private propagateInterfaceDown(iface: Interface): void {\n // Start with the interface itself, adding this class and its extenders to\n // its implementers. Repeat for the interface's bases that are indirectly\n // implemented by means of being extended by the interface.\n let nextIface: Interface | null = iface;\n let extenders = this.extenders;\n do {\n let implementers = nextIface.implementers;\n if (!implementers) nextIface.implementers = implementers = new Set();\n implementers.add(this);\n if (extenders) {\n for (let _values = Set_values(extenders), i = 0, k = _values.length; i < k; ++i) {\n let extender = _values[i];\n implementers.add(extender);\n }\n }\n nextIface = nextIface.base;\n } while (nextIface);\n }\n\n /** Adds an interface. */\n addInterface(iface: Interface): void {\n let interfaces = this.interfaces;\n if (!interfaces) this.interfaces = interfaces = new Set();\n interfaces.add(iface);\n\n // This class and its extenders now implement the interface and its bases\n this.propagateInterfaceDown(iface);\n }\n\n /** Tests if a value of this class type is assignable to a target of the specified class type. */\n isAssignableTo(target: Class): bool {\n // Q: When does the assignment in the comment below succeed?\n if (target.isInterface) {\n if (this.isInterface) {\n // targetInterface = thisInterface\n return this == target || this.extends(target);\n } else {\n // targetInterface = thisClass\n return this.implements(target);\n }\n } else {\n if (this.isInterface) {\n // targetClass = thisInterface\n return target == this.program.objectInstance;\n } else {\n // targetClass = thisClass\n return this == target || this.extends(target);\n }\n }\n }\n\n /** Tests if any subclass of this class is assignable to a target of the specified class type. */\n hasSubclassAssignableTo(target: Class): bool {\n // Q: When can the cast in the comment below succeed? (while an assignment would not)\n if (target.isInterface) {\n if (this.isInterface) {\n // thisInterface\n return this.hasImplementerImplementing(target);\n } else {\n // thisClass\n return this.hasExtenderImplementing(target);\n }\n } else {\n if (this.isInterface) {\n // thisInterface\n return this.hasImplementer(target);\n } else {\n // thisClass\n return this.hasExtender(target);\n }\n }\n }\n\n /** Looks up the operator overload of the specified kind. */\n lookupOverload(kind: OperatorKind, unchecked: bool = false): Function | null {\n if (unchecked) {\n switch (kind) {\n case OperatorKind.IndexedGet: {\n let uncheckedOverload = this.lookupOverload(OperatorKind.UncheckedIndexedGet);\n if (uncheckedOverload) return uncheckedOverload;\n break;\n }\n case OperatorKind.IndexedSet: {\n let uncheckedOverload = this.lookupOverload(OperatorKind.UncheckedIndexedSet);\n if (uncheckedOverload) return uncheckedOverload;\n break;\n }\n default: assert(false);\n }\n }\n let instance: Class | null = this;\n do {\n let overloads = instance.operatorOverloads;\n if (overloads != null && overloads.has(kind)) {\n return assert(overloads.get(kind));\n }\n instance = instance.base;\n } while (instance);\n return null;\n }\n\n /** Gets the method of the specified name, resolved with the given type arguments. */\n getMethod(name: string, typeArguments: Type[] | null = null): Function | null {\n let member = this.getMember(name);\n if (member && member.kind == ElementKind.FunctionPrototype) {\n return this.program.resolver.resolveFunction(member, typeArguments);\n }\n return null;\n }\n\n /** Calculates the memory offset of the specified field. */\n offsetof(fieldName: string): u32 {\n let member = assert(this.getMember(fieldName));\n assert(member.kind == ElementKind.PropertyPrototype);\n let prototype = member;\n let property = prototype.instance;\n if (property) { // would have failed before\n assert(property.isField && property.memoryOffset >= 0);\n return property.memoryOffset;\n }\n return 0;\n }\n\n /** Creates a buffer suitable to hold a runtime instance of this class. */\n createBuffer(overhead: i32 = 0): Uint8Array {\n let program = this.program;\n let payloadSize = this.nextMemoryOffset + overhead;\n let blockSize = program.computeBlockSize(payloadSize, true); // excl. overhead\n let buffer = new Uint8Array(program.blockOverhead + blockSize);\n let OBJECT = program.OBJECTInstance;\n OBJECT.writeField(\"mmInfo\", blockSize, buffer, 0);\n OBJECT.writeField(\"gcInfo\", 0, buffer, 0);\n OBJECT.writeField(\"gcInfo2\", 0, buffer, 0);\n OBJECT.writeField(\"rtId\", this.id, buffer, 0);\n OBJECT.writeField(\"rtSize\", payloadSize, buffer, 0);\n return buffer;\n }\n\n /** Writes a field value to a buffer and returns the number of bytes written. */\n writeField(name: string, value: T, buffer: Uint8Array, baseOffset: i32 = this.program.totalOverhead): i32 {\n let member = this.getMember(name);\n if (member && member.kind == ElementKind.PropertyPrototype) {\n let prototype = member;\n let property = prototype.instance; // resolved during class finalization\n if (!property) return 0; // failed before\n assert(property.isField && property.memoryOffset >= 0);\n let offset = baseOffset + property.memoryOffset;\n let typeKind = property.type.kind;\n switch (typeKind) {\n case TypeKind.I8:\n case TypeKind.U8: {\n assert(!i64_is(value));\n writeI8(i32(value), buffer, offset);\n return 1;\n }\n case TypeKind.I16:\n case TypeKind.U16: {\n assert(!i64_is(value));\n writeI16(i32(value), buffer, offset);\n return 2;\n }\n case TypeKind.I32:\n case TypeKind.U32: {\n assert(!i64_is(value));\n writeI32(i32(value), buffer, offset);\n return 4;\n }\n case TypeKind.Isize:\n case TypeKind.Usize: {\n if (this.program.options.isWasm64) {\n if (i64_is(value)) {\n writeI64(value, buffer, offset);\n } else {\n writeI32AsI64(i32(value), buffer, offset, typeKind == TypeKind.Usize);\n }\n return 8;\n } else {\n if (i64_is(value)) {\n writeI64AsI32(value, buffer, offset, typeKind == TypeKind.Usize);\n } else {\n writeI32(i32(value), buffer, offset);\n }\n return 4;\n }\n }\n case TypeKind.I64:\n case TypeKind.U64: {\n if (i64_is(value)) {\n writeI64(value, buffer, offset);\n } else {\n writeI32AsI64(i32(value), buffer, offset, typeKind == TypeKind.U64);\n }\n return 8;\n }\n case TypeKind.F32: {\n assert(!i64_is(value));\n writeF32(f32(value), buffer, offset);\n return 4;\n }\n case TypeKind.F64: {\n assert(!i64_is(value));\n writeF64(f64(value), buffer, offset);\n return 8;\n }\n }\n }\n assert(false);\n return 0;\n }\n\n /** Tests if this class extends the specified prototype. */\n extendsPrototype(prototype: ClassPrototype): bool {\n return this.prototype.extends(prototype);\n }\n\n /** Gets the concrete type arguments to the specified extendend prototype. */\n getTypeArgumentsTo(extendedPrototype: ClassPrototype): Type[] | null {\n let current: Class | null = this;\n do {\n if (current.prototype == extendedPrototype) return current.typeArguments;\n current = current.base;\n } while (current);\n return null;\n }\n\n /** Gets the value type of an array. Must be an array. */\n getArrayValueType(): Type {\n let current: Class = this;\n let program = this.program;\n let arrayPrototype = program.arrayPrototype;\n if (this.extendsPrototype(arrayPrototype)) {\n return this.getTypeArgumentsTo(arrayPrototype)![0];\n }\n let staticArrayPrototype = program.staticArrayPrototype;\n if (this.extendsPrototype(staticArrayPrototype)) {\n return this.getTypeArgumentsTo(staticArrayPrototype)![0];\n }\n let abvInstance = program.arrayBufferViewInstance;\n while (current.base != abvInstance) {\n current = assert(current.base);\n }\n let prototype = current.prototype;\n switch (prototype.name.charCodeAt(0)) {\n case CharCode.F: {\n if (prototype == program.float32ArrayPrototype) return Type.f32;\n if (prototype == program.float64ArrayPrototype) return Type.f64;\n break;\n }\n case CharCode.I: {\n if (prototype == program.int8ArrayPrototype) return Type.i8;\n if (prototype == program.int16ArrayPrototype) return Type.i16;\n if (prototype == program.int32ArrayPrototype) return Type.i32;\n if (prototype == program.int64ArrayPrototype) return Type.i64;\n break;\n }\n case CharCode.U: {\n if (prototype == program.uint8ArrayPrototype) return Type.u8;\n if (prototype == program.uint8ClampedArrayPrototype) return Type.u8;\n if (prototype == program.uint16ArrayPrototype) return Type.u16;\n if (prototype == program.uint32ArrayPrototype) return Type.u32;\n if (prototype == program.uint64ArrayPrototype) return Type.u64;\n break;\n }\n }\n assert(false);\n return Type.void;\n }\n\n /** Tests if this class is pointerfree. Useful to know for the GC. */\n get isPointerfree(): bool {\n let program = this.program;\n\n let instanceMembers = this.members;\n if (instanceMembers) {\n\n // Check that there are no managed instance fields\n for (let _values = Map_values(instanceMembers), i = 0, k = _values.length; i < k; ++i) {\n let member = unchecked(_values[i]);\n if (member.kind == ElementKind.PropertyPrototype) {\n let prototype = member;\n let property = prototype.instance; // resolved during class finalization\n if (!property) continue; // failed earlier\n if (property.isField && property.type.isManaged) return false;\n }\n }\n\n // Check that this isn't a managed collection\n if (instanceMembers.has(CommonNames.visit)) {\n let prototype = this.prototype;\n if (\n prototype == program.arrayPrototype ||\n prototype == program.staticArrayPrototype ||\n prototype == program.setPrototype ||\n prototype == program.mapPrototype\n ) {\n // Note that we cannot know for sure anymore as soon as the collection\n // is extended, because user code may implement a custom visitor.\n let typeArguments = assert(this.getTypeArgumentsTo(prototype));\n for (let i = 0, k = typeArguments.length; i < k; ++i) {\n if (typeArguments[i].isManaged) return false;\n }\n return true;\n }\n return false; // has a custom __visit\n }\n }\n return true;\n }\n\n /** Tests if this class or interface extends the given class or interface. */\n extends(other: Class): bool {\n return other.hasExtender(this);\n }\n\n /** Tests if this class has a direct or indirect extender matching the given class. */\n hasExtender(other: Class): bool {\n let extenders = this.extenders;\n return extenders != null && extenders.has(other);\n }\n\n /** Tests if this class has a direct or indirect extender that implements the given interface. */\n hasExtenderImplementing(other: Interface): bool {\n let extenders = this.extenders;\n if (extenders) {\n for (let _values = Set_values(extenders), i = 0, k = _values.length; i < k; ++i) {\n let extender = _values[i];\n if (extender.implements(other)) return true;\n }\n }\n return false;\n }\n\n /** Tests if this class directly or indirectly implements the given interface. */\n implements(other: Interface): bool {\n return other.hasImplementer(this);\n }\n\n /** Tests if this interface has a direct or indirect implementer matching the given class. */\n hasImplementer(other: Class): bool {\n let implementers = this.implementers;\n return implementers != null && implementers.has(other);\n }\n\n /** Tests if this interface has an implementer implementing the given interface. */\n hasImplementerImplementing(other: Interface): bool {\n let implementers = this.implementers;\n if (implementers) {\n for (let _values = Set_values(implementers), i = 0, k = _values.length; i < k; ++i) {\n let implementer = _values[i];\n if (implementer.implements(other)) return true;\n }\n }\n return false;\n }\n}\n\n/** A yet unresolved interface. */\nexport class InterfacePrototype extends ClassPrototype {\n\n /** Constructs a new interface prototype. */\n constructor(\n name: string,\n parent: Element,\n declaration: InterfaceDeclaration,\n decoratorFlags: DecoratorFlags\n ) {\n super(\n name,\n parent,\n declaration,\n decoratorFlags,\n true\n );\n }\n}\n\n/** A resolved interface. */\nexport class Interface extends Class { // FIXME\n\n /** Constructs a new interface. */\n constructor(\n /** Name incl. type parameters, i.e. `Foo`. */\n nameInclTypeParameters: string,\n /** The respective class prototype. */\n prototype: InterfacePrototype,\n /** Concrete type arguments, if any. */\n typeArguments: Type[] | null = null,\n ) {\n super(\n nameInclTypeParameters,\n prototype,\n typeArguments,\n true\n );\n }\n}\n\n/** Registers a concrete element with a program. */\nfunction registerConcreteElement(program: Program, element: Element): void {\n assert(!program.instancesByName.has(element.internalName));\n program.instancesByName.set(element.internalName, element);\n}\n\n/** Attempts to merge two elements. Returns the merged element on success. */\nfunction tryMerge(older: Element, newer: Element): DeclaredElement | null {\n // NOTE: some of the following cases are not supported by TS, not sure why exactly.\n // suggesting to just merge what seems to be possible for now and revisit later.\n assert(older.program == newer.program);\n if (newer.members) return null;\n let merged: DeclaredElement | null = null;\n switch (older.kind) {\n case ElementKind.FunctionPrototype: {\n switch (newer.kind) {\n case ElementKind.Namespace: {\n copyMembers(newer, older);\n merged = older;\n break;\n }\n case ElementKind.TypeDefinition: {\n if (!older.shadowType) {\n older.shadowType = newer;\n copyMembers(newer, older);\n merged = older;\n }\n break;\n }\n }\n break;\n }\n case ElementKind.ClassPrototype:\n case ElementKind.Enum: {\n if (newer.kind == ElementKind.Namespace) {\n copyMembers(newer, older);\n merged = older;\n break;\n }\n break;\n }\n case ElementKind.Namespace: {\n switch (newer.kind) {\n case ElementKind.Enum:\n case ElementKind.ClassPrototype: // TS2434\n case ElementKind.FunctionPrototype: { // TS2434\n copyMembers(older, newer);\n merged = newer;\n break;\n }\n case ElementKind.Namespace: {\n copyMembers(newer, older);\n merged = older;\n break;\n }\n case ElementKind.TypeDefinition: {\n if (!older.shadowType) {\n older.shadowType = newer;\n copyMembers(newer, older);\n merged = older;\n }\n break;\n }\n }\n break;\n }\n case ElementKind.Global: {\n if (newer.kind == ElementKind.TypeDefinition) {\n if (!older.shadowType) {\n older.shadowType = newer;\n copyMembers(newer, older);\n merged = older;\n }\n }\n break;\n }\n case ElementKind.TypeDefinition: {\n switch (newer.kind) {\n case ElementKind.Global:\n case ElementKind.FunctionPrototype:\n case ElementKind.Namespace: {\n if (!newer.shadowType) {\n newer.shadowType = older;\n copyMembers(older, newer);\n merged = newer;\n }\n break;\n }\n }\n break;\n }\n }\n if (merged) {\n let olderIsExport = older.is(CommonFlags.Export) || older.hasDecorator(DecoratorFlags.Global);\n let newerIsExport = newer.is(CommonFlags.Export) || newer.hasDecorator(DecoratorFlags.Global);\n if (olderIsExport != newerIsExport) {\n older.program.error(\n DiagnosticCode.Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local,\n merged.identifierNode.range, merged.identifierNode.text\n );\n }\n }\n return merged;\n}\n\n/** Copies the members of `src` to `dest`. */\nfunction copyMembers(src: Element, dest: Element): void {\n let srcMembers = src.members;\n if (srcMembers) {\n let destMembers = dest.members;\n if (!destMembers) dest.members = destMembers = new Map();\n // TODO: for (let [memberName, member] of srcMembers) {\n for (let _keys = Map_keys(srcMembers), i = 0, k = _keys.length; i < k; ++i) {\n let memberName = unchecked(_keys[i]);\n let member = assert(srcMembers.get(memberName));\n destMembers.set(memberName, member);\n }\n }\n}\n\n/** Mangles the internal name of an element with the specified name that is a child of the given parent. */\nexport function mangleInternalName(\n name: string,\n parent: Element,\n isInstance: bool,\n asGlobal: bool = false\n): string {\n switch (parent.kind) {\n case ElementKind.File: {\n if (asGlobal) return name;\n return parent.internalName + PATH_DELIMITER + name;\n }\n case ElementKind.Function: {\n if (asGlobal) return name;\n assert(!isInstance);\n return parent.internalName + INNER_DELIMITER + name;\n }\n case ElementKind.PropertyPrototype: // properties are just containers\n case ElementKind.Property: { //\n parent = parent.parent;\n // fall-through\n }\n default: {\n return (\n mangleInternalName(parent.name, parent.parent, parent.is(CommonFlags.Instance), asGlobal) +\n (isInstance ? INSTANCE_DELIMITER : STATIC_DELIMITER) + name\n );\n }\n }\n}\n\n// Cached default parameter names used where names are unknown.\nlet cachedDefaultParameterNames: string[] = [];\n\n/** Gets the cached default parameter name for the specified index. */\nexport function getDefaultParameterName(index: i32): string {\n for (let i = cachedDefaultParameterNames.length; i <= index; ++i) {\n cachedDefaultParameterNames.push(`$${i}`);\n }\n return cachedDefaultParameterNames[index];\n}\n", "/**\n * @fileoverview Mappings from AssemblyScript types to WebAssembly types.\n * @license Apache-2.0\n */\n\nimport {\n CommonNames\n} from \"./common\";\n\nimport {\n Class,\n Program,\n DecoratorFlags\n} from \"./program\";\n\nimport {\n TypeRef,\n createType,\n HeapTypeRef,\n ensureType\n} from \"./module\";\n\nimport * as binaryen from \"./glue/binaryen\";\n\n/** Indicates the kind of a type. */\nexport const enum TypeKind {\n /** A 1-bit unsigned integer. */\n Bool,\n\n // signed integers\n\n /** An 8-bit signed integer. */\n I8,\n /** A 16-bit signed integer. */\n I16,\n /** A 32-bit signed integer. */\n I32,\n /** A 64-bit signed integer. */\n I64,\n /** A 32-bit/64-bit signed integer, depending on the target. */\n Isize,\n\n // unsigned integers\n\n /** An 8-bit unsigned integer. */\n U8,\n /** A 16-bit unsigned integer. */\n U16,\n /** A 32-bit unsigned integer. Also the base of function types. */\n U32,\n /** A 64-bit unsigned integer. */\n U64,\n /** A 32-bit/64-bit unsigned integer, depending on the target. Also the base of class types. */\n Usize,\n\n // floats\n\n /** A 32-bit float. */\n F32,\n /** A 64-bit double. */\n F64,\n\n // vectors\n\n /** A 128-bit vector. */\n V128,\n\n // references (keep in same order as in Binaryen)\n\n /** External reference. */\n Extern,\n /** Function reference. */\n Func,\n /** Any reference. */\n Any,\n /** Equatable reference. */\n Eq,\n /** Struct reference. */\n Struct,\n /** Array reference. */\n Array,\n /** 31-bit integer reference. */\n I31,\n /** String reference. */\n String,\n /** WTF8 string view. */\n StringviewWTF8,\n /** WTF16 string view. */\n StringviewWTF16,\n /** String iterator. */\n StringviewIter,\n\n // other\n\n /** No return type. */\n Void\n}\n\n/** Indicates capabilities of a type. */\nexport const enum TypeFlags {\n None = 0,\n /** Is a signed type that can represent negative values. */\n Signed = 1 << 0,\n /** Is an unsigned type that cannot represent negative values. */\n Unsigned = 1 << 1,\n /** Is an integer type. */\n Integer = 1 << 2,\n /** Is a floating point type. */\n Float = 1 << 3,\n /** Is a varying (in size) type. */\n Varying = 1 << 4,\n /** Is smaller than 32-bits. */\n Short = 1 << 5,\n /** Is larger than 32-bits. */\n Long = 1 << 6,\n /** Is a value type. */\n Value = 1 << 7,\n /** Is a reference type (either a class or a function type). */\n Reference = 1 << 8,\n /** Is a nullable type. */\n Nullable = 1 << 9,\n /** Is a vector type. */\n Vector = 1 << 10,\n /** Is an external type. */\n External = 1 << 11,\n /** Is a class. */\n Class = 1 << 12,\n /** Is a function. */\n Function = 1 << 13\n}\n\n/** Represents a resolved type. */\nexport class Type {\n\n /** Type kind. */\n kind: TypeKind;\n /** Type flags. */\n flags: TypeFlags;\n /** Size in bits. */\n size: i32;\n /** Underlying class reference, if a class type. */\n classReference: Class | null = null;\n /** Underlying signature reference, if a function type. */\n signatureReference: Signature | null = null;\n /** Respective non-nullable type, if nullable. */\n private _nonNullableType: Type | null = null;\n /** Respective nullable type, if non-nullable. */\n private _nullableType: Type | null = null;\n /** Cached Binaryen type reference. */\n ref: TypeRef = 0;\n\n /** Constructs a new resolved type. */\n constructor(kind: TypeKind, flags: TypeFlags, size: u32) {\n this.kind = kind;\n this.flags = flags;\n this.size = size;\n if (!(flags & TypeFlags.Nullable)) {\n this._nonNullableType = this;\n } else {\n this._nullableType = this;\n }\n }\n\n /** Returns the closest int type representing this type. */\n get intType(): Type {\n if (this == Type.auto) return this; // keep auto as a hint\n switch (this.kind) {\n case TypeKind.Bool:\n case TypeKind.I32:\n case TypeKind.F32: return Type.i32;\n case TypeKind.I8: return Type.i8;\n case TypeKind.I16: return Type.i16;\n case TypeKind.F64:\n case TypeKind.I64: return Type.i64;\n case TypeKind.Isize: return this.size == 64 ? Type.isize64 : Type.isize32;\n case TypeKind.U8: return Type.u8;\n case TypeKind.U16: return Type.u16;\n case TypeKind.U32: return Type.u32;\n case TypeKind.U64: return Type.u64;\n case TypeKind.Usize: return this.size == 64 ? Type.usize64 : Type.usize32;\n default: return Type.i32;\n }\n }\n\n /** Substitutes this type with the auto type if this type is void. */\n get exceptVoid(): Type {\n return this.kind == TypeKind.Void ? Type.auto : this;\n }\n\n /** Size in bytes. */\n get byteSize(): i32 {\n // ceiled div by 8\n return this.size + 7 >>> 3;\n }\n\n /** Gets this type's logarithmic alignment in memory. */\n get alignLog2(): i32 {\n return 31 - clz(this.byteSize);\n }\n\n /** Tests if this type represents a basic value. */\n get isValue(): bool {\n return this.is(TypeFlags.Value);\n }\n\n /** Tests if this type represents an integer value. */\n get isIntegerValue(): bool {\n return this.is(TypeFlags.Integer | TypeFlags.Value);\n }\n\n /** Tests if this type represents a small (< 32 bits) integer value. */\n get isShortIntegerValue(): bool {\n return this.is(TypeFlags.Short | TypeFlags.Integer | TypeFlags.Value);\n }\n\n /** Tests if this type represents a long (> 32 bits) integer value. */\n get isLongIntegerValue(): bool {\n return this.is(TypeFlags.Long | TypeFlags.Integer | TypeFlags.Value);\n }\n\n /** Tests if this type represents a signed integer value. */\n get isSignedIntegerValue(): bool {\n return this.is(TypeFlags.Signed | TypeFlags.Integer | TypeFlags.Value);\n }\n\n /** Tests if this type represents an unsigned integer value. */\n get isUnsignedIntegerValue(): bool {\n return this.is(TypeFlags.Unsigned | TypeFlags.Integer | TypeFlags.Value);\n }\n\n /** Tests if this type represents a varying (in size) integer value. */\n get isVaryingIntegerValue(): bool {\n return this.is(TypeFlags.Varying | TypeFlags.Integer | TypeFlags.Value);\n }\n\n /** Tests if this type represents an integer, including references. */\n get isIntegerInclReference(): bool {\n return this.is(TypeFlags.Integer);\n }\n\n /** Tests if this type represents a floating point value. */\n get isFloatValue(): bool {\n return this.is(TypeFlags.Float | TypeFlags.Value);\n }\n\n /** Tests if this type represents a numeric (integer or floating point) value. */\n get isNumericValue(): bool {\n return this.isIntegerValue || this.isFloatValue;\n }\n\n /** Tests if this type represents a boolean value. */\n get isBooleanValue(): bool {\n return this == Type.bool;\n }\n\n /** Tests if this type represents a vector value. */\n get isVectorValue(): bool {\n return this.is(TypeFlags.Vector | TypeFlags.Value);\n }\n\n /** Tests if this type represents an internal or external reference. */\n get isReference(): bool {\n return this.is(TypeFlags.Reference);\n }\n\n /** Tests if this type represents a nullable internal or external reference. */\n get isNullableReference(): bool {\n return this.is(TypeFlags.Nullable | TypeFlags.Reference);\n }\n\n /** Tests if this type represents an internal object. */\n get isInternalReference(): bool {\n return this.is(TypeFlags.Integer | TypeFlags.Reference);\n }\n\n /** Tests if this type represents an external object. */\n get isExternalReference(): bool {\n return this.is(TypeFlags.External | TypeFlags.Reference);\n }\n\n /** Tests if this type represents a nullable external object. */\n get isNullableExternalReference(): bool {\n return this.is(TypeFlags.Nullable | TypeFlags.External | TypeFlags.Reference);\n }\n\n /** Gets the underlying class of this type, if any. */\n getClass(): Class | null {\n return this.isInternalReference\n ? this.classReference\n : null;\n }\n\n /** Tests if this type represents a class. */\n get isClass(): bool {\n return this.getClass() != null;\n }\n\n /** Gets the underlying class or wrapper class of this type, if any. */\n getClassOrWrapper(program: Program): Class | null {\n let classReference = this.getClass();\n if (classReference) {\n // typical class\n return classReference;\n } else {\n let signatureReference = this.getSignature();\n if (signatureReference) {\n // function wrapper\n let type = signatureReference.type;\n let wrapper = assert(program.resolver.resolveClass(program.functionPrototype, [ type ]));\n wrapper.wrappedType = type;\n return wrapper;\n } else {\n let wrapperClasses = program.wrapperClasses;\n if (wrapperClasses.has(this)) {\n // value wrapper\n return assert(wrapperClasses.get(this));\n }\n }\n }\n return null;\n }\n\n /** Gets the underlying function signature of this type, if any. */\n getSignature(): Signature | null {\n return this.isInternalReference\n ? this.signatureReference\n : null;\n }\n\n /** Tests if this type represents a function. */\n get isFunction(): bool {\n return this.getSignature() != null;\n }\n\n /** Tests if this is a managed type that needs GC hooks. */\n get isManaged(): bool {\n if (this.isInternalReference) {\n let classReference = this.classReference;\n if (classReference) return !classReference.hasDecorator(DecoratorFlags.Unmanaged);\n return this.signatureReference != null; // function references are managed\n }\n return false;\n }\n\n /** Tests if this is a class type explicitly annotated as unmanaged. */\n get isUnmanaged(): bool {\n let classReference = this.classReference;\n return classReference != null && classReference.hasDecorator(DecoratorFlags.Unmanaged);\n }\n\n get isMemory(): bool {\n switch (this.kind) {\n case TypeKind.Bool:\n case TypeKind.I8:\n case TypeKind.I16:\n case TypeKind.I32:\n case TypeKind.I64:\n case TypeKind.Isize:\n case TypeKind.U8:\n case TypeKind.U16:\n case TypeKind.U32:\n case TypeKind.U64:\n case TypeKind.Usize:\n case TypeKind.F32:\n case TypeKind.F64:\n case TypeKind.V128: return true;\n }\n return false;\n }\n\n /** Gets the corresponding non-nullable type. */\n get nonNullableType(): Type {\n // Every type has a corresponding non-nullable type\n return assert(this._nonNullableType);\n }\n\n /** Gets the corresponding nullable type, if applicable. */\n get nullableType(): Type | null {\n return this.isReference\n ? this.asNullable() // Every reference type has a corresponding nullable type\n : null; // Other types do not have a nullable type\n }\n\n /** Computes the sign-extending shift in the target type. */\n computeSmallIntegerShift(targetType: Type): i32 {\n return targetType.size - this.size;\n }\n\n /** Computes the truncating mask in the target type. */\n computeSmallIntegerMask(targetType: Type): i32 {\n let size = this.size;\n if (!this.is(TypeFlags.Unsigned)) size -= 1;\n return ~0 >>> (targetType.size - size);\n }\n\n /** Tests if this type has (all of) the specified flags. */\n is(flags: TypeFlags): bool { return (this.flags & flags) == flags; }\n /** Tests if this type has any of the specified flags. */\n isAny(flags: TypeFlags): bool { return (this.flags & flags) != 0; }\n\n /** Composes the respective nullable type of this type. */\n asNullable(): Type {\n assert(this.isReference);\n let nullableType = this._nullableType;\n if (!nullableType) {\n assert(!this.isNullableReference);\n this._nullableType = nullableType = new Type(this.kind, this.flags | TypeFlags.Nullable, this.size);\n nullableType.classReference = this.classReference;\n nullableType.signatureReference = this.signatureReference;\n nullableType._nonNullableType = this;\n }\n return nullableType;\n }\n\n /** Use unsigned type for according size if possible. */\n toUnsigned(): Type {\n switch (this.kind) {\n case TypeKind.I8: return Type.u8;\n case TypeKind.I16: return Type.u16;\n case TypeKind.I32: return Type.u32;\n case TypeKind.I64: return Type.u64;\n case TypeKind.Isize: return this.size == 64 ? Type.usize64 : Type.usize32;\n }\n return this;\n }\n\n /** Tests if this type equals the specified. */\n equals(other: Type): bool {\n if (this.kind != other.kind) {\n return false;\n }\n if (this.isReference) {\n let selfSignatureReference = this.signatureReference;\n let otherSignatureReference = other.signatureReference;\n\n return (\n this.classReference == other.classReference\n && selfSignatureReference == otherSignatureReference\n && this.isNullableReference == other.isNullableReference\n );\n }\n return true;\n }\n\n /** Tests if a value of this type is assignable to the target type incl. implicit conversion. */\n isAssignableTo(target: Type, signednessIsRelevant: bool = false): bool {\n let currentClass: Class | null;\n let targetClass: Class | null;\n let currentFunction: Signature | null;\n let targetFunction: Signature | null;\n if (this.isReference) {\n if (target.isReference) {\n if (!this.isNullableReference || target.isNullableReference) {\n if (currentClass = this.getClass()) {\n if (targetClass = target.getClass()) {\n return currentClass.isAssignableTo(targetClass);\n }\n } else if (currentFunction = this.getSignature()) {\n if (targetFunction = target.getSignature()) {\n return currentFunction.isAssignableTo(targetFunction);\n }\n } else if (this.isExternalReference) {\n if (\n this.kind == target.kind ||\n (target.kind == TypeKind.Any && this.kind != TypeKind.Extern)\n ) {\n return true;\n }\n }\n }\n }\n } else if (!target.isReference) {\n if (this.isIntegerValue) {\n if (target.isIntegerValue) {\n if (\n !signednessIsRelevant ||\n this.isBooleanValue || // a bool (0 or 1) can be safely assigned to all sorts of integers\n this.isSignedIntegerValue == target.isSignedIntegerValue\n ) {\n return this.size <= target.size;\n }\n } else if (target.kind == TypeKind.F32) {\n return this.size <= 23; // mantissa bits\n } else if (target.kind == TypeKind.F64) {\n return this.size <= 52; // ^\n }\n } else if (this.isFloatValue) {\n if (target.isFloatValue) {\n return this.size <= target.size;\n }\n } else if (this.isVectorValue) {\n if (target.isVectorValue) {\n return this.size == target.size;\n }\n }\n }\n return false;\n }\n\n /** Tests if a value of this type is assignable to the target type excl. implicit conversion. */\n isStrictlyAssignableTo(target: Type, signednessIsRelevant: bool = false): bool {\n if (this.isReference) return this.isAssignableTo(target);\n else if (target.isReference) return false;\n // not dealing with references from here on\n if (this.isIntegerValue) {\n return target.isIntegerValue && target.size == this.size && (\n !signednessIsRelevant ||\n this.isSignedIntegerValue == target.isSignedIntegerValue\n );\n }\n return this.kind == target.kind;\n }\n\n /** Tests if this type has a subtype assignable to the target type. */\n hasSubtypeAssignableTo(target: Type): bool {\n let thisClass = this.getClass();\n let targetClass = target.getClass();\n if (!thisClass || !targetClass) return false; // TODO: what about basic types?\n return thisClass.hasSubclassAssignableTo(targetClass);\n }\n\n /** Tests if a value of this type can be changed to the target type using `changetype`. */\n isChangeableTo(target: Type): bool {\n // special in that it allows integer references as well\n if (this.is(TypeFlags.Integer) && target.is(TypeFlags.Integer)) {\n let size = this.size;\n return size == target.size && (\n size >= 32 ||\n this.is(TypeFlags.Signed) == target.is(TypeFlags.Signed)\n );\n }\n return this.kind == target.kind;\n }\n\n /** Tests if this type can extend or implement the given type. */\n canExtendOrImplement(base: Type): bool {\n // Both must be class types\n let thisClass = this.getClass();\n let baseClass = base.getClass();\n if (!thisClass || !baseClass) return false;\n // Both types must be either managed or unmanaged\n if (this.isManaged != base.isManaged) return false;\n // Both types must be either internal or external references\n if (this.isInternalReference) {\n if (!base.isInternalReference) return false;\n } else if (this.isExternalReference) {\n if (!base.isExternalReference) return false;\n } else {\n return false;\n }\n return true;\n }\n\n /** Computes the common type of a binary-like expression, if any. */\n static commonType(\n /** LHS type. */\n left: Type,\n /** RHS type. */\n right: Type,\n /** Contextual type, if any. */\n contextualType: Type = Type.auto,\n /** Whether signedness is relevant. */\n signednessIsRelevant: bool = false\n ): Type | null {\n // Compute LUB of internal reference types (classes)\n if (left.isInternalReference) {\n if (!right.isInternalReference) return null;\n // Prefer contextual type if meaningful\n if (contextualType != Type.void && left.isAssignableTo(contextualType) && right.isAssignableTo(contextualType)) {\n return contextualType;\n }\n let leftClass = left.getClass();\n let rightClass = right.getClass();\n if (leftClass && rightClass) {\n let lubClass = Class.leastUpperBound(leftClass, rightClass);\n if (lubClass) {\n let ret = left.is(TypeFlags.Nullable) || right.is(TypeFlags.Nullable) ? lubClass.type.asNullable() : lubClass.type;\n return ret;\n }\n }\n } else if (right.isInternalReference) {\n return null;\n }\n // TODO: External reference types (needs nullability)\n // Otherwise do a trivial check\n if (right.isAssignableTo(left, signednessIsRelevant)) return left;\n else if (left.isAssignableTo(right, signednessIsRelevant)) return right;\n return null;\n }\n\n /** Converts this type's kind to a string. */\n kindToString(): string {\n switch (this.kind) {\n case TypeKind.Bool: return CommonNames.bool;\n case TypeKind.I8: return CommonNames.i8;\n case TypeKind.I16: return CommonNames.i16;\n case TypeKind.I32: return CommonNames.i32;\n case TypeKind.I64: return CommonNames.i64;\n case TypeKind.Isize: return CommonNames.isize;\n case TypeKind.U8: return CommonNames.u8;\n case TypeKind.U16: return CommonNames.u16;\n case TypeKind.U32: return CommonNames.u32;\n case TypeKind.U64: return CommonNames.u64;\n case TypeKind.Usize: return CommonNames.usize;\n case TypeKind.F32: return CommonNames.f32;\n case TypeKind.F64: return CommonNames.f64;\n case TypeKind.V128: return CommonNames.v128;\n case TypeKind.Func: return CommonNames.ref_func;\n case TypeKind.Extern: return CommonNames.ref_extern;\n case TypeKind.Any: return CommonNames.ref_any;\n case TypeKind.Eq: return CommonNames.ref_eq;\n case TypeKind.Struct: return CommonNames.ref_struct;\n case TypeKind.Array: return CommonNames.ref_array;\n case TypeKind.I31: return CommonNames.ref_i31;\n case TypeKind.String: return CommonNames.ref_string;\n case TypeKind.StringviewWTF8: return CommonNames.ref_stringview_wtf8;\n case TypeKind.StringviewWTF16: return CommonNames.ref_stringview_wtf16;\n case TypeKind.StringviewIter: return CommonNames.ref_stringview_iter;\n default: assert(false);\n case TypeKind.Void: return CommonNames.void_;\n }\n }\n\n /** Converts this type to a string. */\n toString(validWat: bool = false): string {\n const nullablePostfix = validWat ? \"|null\" : \" | null\";\n if (this.isReference) {\n let classReference = this.getClass();\n if (classReference) {\n return this.isNullableReference\n ? classReference.internalName + nullablePostfix\n : classReference.internalName;\n } else {\n let signatureReference = this.getSignature();\n if (signatureReference) {\n return this.isNullableReference\n ? `(${signatureReference.toString(validWat)})${nullablePostfix}`\n : signatureReference.toString(validWat);\n } else {\n return this.isNullableReference\n ? `${this.kindToString()}${nullablePostfix}`\n : this.kindToString();\n }\n }\n }\n return this.kindToString();\n }\n\n // Binaryen specific\n\n /** Converts this type to its respective type reference. */\n toRef(): TypeRef {\n switch (this.kind) {\n case TypeKind.Bool:\n case TypeKind.I8:\n case TypeKind.I16:\n case TypeKind.I32:\n case TypeKind.U8:\n case TypeKind.U16:\n case TypeKind.U32: return TypeRef.I32;\n case TypeKind.Isize:\n case TypeKind.Usize: if (this.size != 64) return TypeRef.I32;\n case TypeKind.I64:\n case TypeKind.U64: return TypeRef.I64;\n case TypeKind.F32: return TypeRef.F32;\n case TypeKind.F64: return TypeRef.F64;\n case TypeKind.V128: return TypeRef.V128;\n case TypeKind.Func: {\n return binaryen._BinaryenTypeFromHeapType(HeapTypeRef.Func, this.is(TypeFlags.Nullable));\n }\n case TypeKind.Extern: {\n return binaryen._BinaryenTypeFromHeapType(HeapTypeRef.Extern, this.is(TypeFlags.Nullable));\n }\n case TypeKind.Any: {\n return binaryen._BinaryenTypeFromHeapType(HeapTypeRef.Any, this.is(TypeFlags.Nullable));\n }\n case TypeKind.Eq: {\n return binaryen._BinaryenTypeFromHeapType(HeapTypeRef.Eq, this.is(TypeFlags.Nullable));\n }\n case TypeKind.Struct: {\n return binaryen._BinaryenTypeFromHeapType(HeapTypeRef.Struct, this.is(TypeFlags.Nullable));\n }\n case TypeKind.Array: {\n return binaryen._BinaryenTypeFromHeapType(HeapTypeRef.Array, this.is(TypeFlags.Nullable));\n }\n case TypeKind.I31: {\n return binaryen._BinaryenTypeFromHeapType(HeapTypeRef.I31, this.is(TypeFlags.Nullable));\n }\n case TypeKind.String: {\n return binaryen._BinaryenTypeFromHeapType(HeapTypeRef.String, this.is(TypeFlags.Nullable));\n }\n case TypeKind.StringviewWTF8: {\n return binaryen._BinaryenTypeFromHeapType(HeapTypeRef.StringviewWTF8, this.is(TypeFlags.Nullable));\n }\n case TypeKind.StringviewWTF16: {\n return binaryen._BinaryenTypeFromHeapType(HeapTypeRef.StringviewWTF16, this.is(TypeFlags.Nullable));\n }\n case TypeKind.StringviewIter: {\n return binaryen._BinaryenTypeFromHeapType(HeapTypeRef.StringviewIter, this.is(TypeFlags.Nullable));\n }\n case TypeKind.Void: return TypeRef.None;\n }\n // TODO: not used yet\n assert(false);\n return ensureType(this);\n }\n\n // Types\n\n /** An 8-bit signed integer. */\n static readonly i8: Type = new Type(TypeKind.I8,\n TypeFlags.Signed |\n TypeFlags.Short |\n TypeFlags.Integer |\n TypeFlags.Value, 8\n );\n\n /** A 16-bit signed integer. */\n static readonly i16: Type = new Type(TypeKind.I16,\n TypeFlags.Signed |\n TypeFlags.Short |\n TypeFlags.Integer |\n TypeFlags.Value, 16\n );\n\n /** A 32-bit signed integer. */\n static readonly i32: Type = new Type(TypeKind.I32,\n TypeFlags.Signed |\n TypeFlags.Integer |\n TypeFlags.Value, 32\n );\n\n /** A 64-bit signed integer. */\n static readonly i64: Type = new Type(TypeKind.I64,\n TypeFlags.Signed |\n TypeFlags.Long |\n TypeFlags.Integer |\n TypeFlags.Value, 64\n );\n\n /** A 32-bit signed size. WASM32 only. */\n static readonly isize32: Type = new Type(TypeKind.Isize,\n TypeFlags.Signed |\n TypeFlags.Integer |\n TypeFlags.Varying |\n TypeFlags.Value, 32\n );\n\n /** A 64-bit signed size. WASM64 only. */\n static readonly isize64: Type = new Type(TypeKind.Isize,\n TypeFlags.Signed |\n TypeFlags.Long |\n TypeFlags.Integer |\n TypeFlags.Varying |\n TypeFlags.Value, 64\n );\n\n /** An 8-bit unsigned integer. */\n static readonly u8: Type = new Type(TypeKind.U8,\n TypeFlags.Unsigned |\n TypeFlags.Short |\n TypeFlags.Integer |\n TypeFlags.Value, 8\n );\n\n /** A 16-bit unsigned integer. */\n static readonly u16: Type = new Type(TypeKind.U16,\n TypeFlags.Unsigned |\n TypeFlags.Short |\n TypeFlags.Integer |\n TypeFlags.Value, 16\n );\n\n /** A 32-bit unsigned integer. */\n static readonly u32: Type = new Type(TypeKind.U32,\n TypeFlags.Unsigned |\n TypeFlags.Integer |\n TypeFlags.Value, 32\n );\n\n /** A 64-bit unsigned integer. */\n static readonly u64: Type = new Type(TypeKind.U64,\n TypeFlags.Unsigned |\n TypeFlags.Long |\n TypeFlags.Integer |\n TypeFlags.Value, 64\n );\n\n /** A 32-bit unsigned size. WASM32 only. */\n static readonly usize32: Type = new Type(TypeKind.Usize,\n TypeFlags.Unsigned |\n TypeFlags.Integer |\n TypeFlags.Varying |\n TypeFlags.Value, 32\n );\n\n /** A 64-bit unsigned size. WASM64 only. */\n static readonly usize64: Type = new Type(TypeKind.Usize,\n TypeFlags.Unsigned |\n TypeFlags.Long |\n TypeFlags.Integer |\n TypeFlags.Varying |\n TypeFlags.Value, 64\n );\n\n /** A 1-bit unsigned integer. */\n static readonly bool: Type = new Type(TypeKind.Bool,\n TypeFlags.Unsigned |\n TypeFlags.Short |\n TypeFlags.Integer |\n TypeFlags.Value, 1\n );\n\n /** A 32-bit float. */\n static readonly f32: Type = new Type(TypeKind.F32,\n TypeFlags.Signed |\n TypeFlags.Float |\n TypeFlags.Value, 32\n );\n\n /** A 64-bit float. */\n static readonly f64: Type = new Type(TypeKind.F64,\n TypeFlags.Signed |\n TypeFlags.Long |\n TypeFlags.Float |\n TypeFlags.Value, 64\n );\n\n /** A 128-bit vector. */\n static readonly v128: Type = new Type(TypeKind.V128,\n TypeFlags.Vector |\n TypeFlags.Value, 128\n );\n\n /** Non-nullable function reference (`ref func`). */\n static readonly func: Type = new Type(TypeKind.Func,\n TypeFlags.External |\n TypeFlags.Reference, 0\n );\n\n /** Non-nullable external reference (`ref extern`). */\n static readonly extern: Type = new Type(TypeKind.Extern,\n TypeFlags.External |\n TypeFlags.Reference, 0\n );\n\n /** Non-nullable any reference (`ref any`). */\n static readonly any: Type = new Type(TypeKind.Any,\n TypeFlags.External |\n TypeFlags.Reference, 0\n );\n\n /** Non-nullable equatable reference (`ref eq`). */\n static readonly eq: Type = new Type(TypeKind.Eq,\n TypeFlags.External |\n TypeFlags.Reference, 0\n );\n\n /** Non-nullable struct reference (`ref struct`). */\n static readonly struct: Type = new Type(TypeKind.Struct,\n TypeFlags.External |\n TypeFlags.Reference, 0\n );\n\n /** Non-nullable array reference (`ref array`). */\n static readonly array: Type = new Type(TypeKind.Array,\n TypeFlags.External |\n TypeFlags.Reference, 0\n );\n\n /** Non-nullable 31-bit integer reference (`ref i31`). */\n static readonly i31: Type = new Type(TypeKind.I31,\n TypeFlags.External |\n TypeFlags.Reference, 0\n );\n\n /** Non-nullable string reference (`ref string`). */\n static readonly string: Type = new Type(TypeKind.String,\n TypeFlags.External |\n TypeFlags.Reference, 0\n );\n\n /** Non-nullable WTF8 string view reference (`ref stringview_wtf8`). */\n static readonly stringview_wtf8: Type = new Type(TypeKind.StringviewWTF8,\n TypeFlags.External |\n TypeFlags.Reference, 0\n );\n\n /** Non-nullable WTF16 string view reference (`ref stringview_wtf16`). */\n static readonly stringview_wtf16: Type = new Type(TypeKind.StringviewWTF16,\n TypeFlags.External |\n TypeFlags.Reference, 0\n );\n\n /** Non-nullable string iterator reference (`ref stringview_iter`). */\n static readonly stringview_iter: Type = new Type(TypeKind.StringviewIter,\n TypeFlags.External |\n TypeFlags.Reference, 0\n );\n\n /** No return type. */\n static readonly void: Type = new Type(TypeKind.Void, TypeFlags.None, 0);\n\n /** Alias of i32 indicating type inference of locals and globals with just an initializer. */\n static readonly auto: Type = new Type(Type.i32.kind, Type.i32.flags, Type.i32.size);\n}\n\n/** Converts an array of types to an array of type references. */\nexport function typesToRefs(types: Type[]): TypeRef[] {\n let numTypes = types.length;\n let ret = new Array(numTypes);\n for (let i = 0; i < numTypes; ++i) {\n unchecked(ret[i] = types[i].toRef());\n }\n return ret;\n}\n\n/** Converts an array of types to its combined string representation. */\nexport function typesToString(types: Type[]): string {\n let numTypes = types.length;\n if (!numTypes) return \"\";\n let sb = new Array(numTypes);\n for (let i = 0; i < numTypes; ++i) {\n unchecked(sb[i] = types[i].toString(true));\n }\n return sb.join(\",\");\n}\n\n/** Represents a fully resolved function signature. */\nexport class Signature {\n /** Construct a new signature. */\n public static create(\n /** The program that created this signature. */\n program: Program,\n /** Parameter types, if any, excluding `this`. */\n parameterTypes: Type[] = [],\n /** Return type. */\n returnType: Type = Type.void,\n /** This type, if an instance signature. */\n thisType: Type | null = null,\n /** Number of required parameters excluding `this`. Other parameters are considered optional. */\n requiredParameters: i32 = parameterTypes ? parameterTypes.length : 0,\n /** Whether the last parameter is a rest parameter. */\n hasRest: bool = false,\n ): Signature {\n // get the usize type, and the type of the signature\n let usizeType = program.options.usizeType;\n let type = new Type(\n usizeType.kind,\n usizeType.flags & ~TypeFlags.Value | TypeFlags.Reference,\n usizeType.size\n );\n\n // calculate the properties\n let signatureTypes = program.uniqueSignatures;\n let nextId = program.nextSignatureId;\n \n // construct the signature and calculate it's unique key\n let signature = new Signature(program, parameterTypes, returnType, thisType, requiredParameters, hasRest, nextId, type);\n let uniqueKey = signature.toString();\n\n // check if it exists, and return it\n if (signatureTypes.has(uniqueKey)) {\n let existing = assert(signatureTypes.get(uniqueKey));\n assert(signature.equals(existing));\n return existing;\n }\n\n // otherwise increment the program's signature id, set the signature reference of the type, and memoize the signature\n program.nextSignatureId = nextId + 1;\n type.signatureReference = signature;\n signatureTypes.set(uniqueKey, signature);\n return signature;\n }\n\n /** Constructs a new signature. */\n private constructor(\n /** The program that created this signature. */\n public readonly program: Program,\n /** Parameter types, if any, excluding `this`. */\n public readonly parameterTypes: Type[],\n /** Return type. */\n public readonly returnType: Type,\n /** This type, if an instance signature. */\n public readonly thisType: Type | null,\n /** Number of required parameters excluding `this`. Other parameters are considered optional. */\n public readonly requiredParameters: i32,\n /** Whether the last parameter is a rest parameter. */\n public readonly hasRest: bool,\n /** Unique id representing this signature. */\n public readonly id: u32,\n /** Respective function type. */\n public readonly type: Type,\n ) {}\n\n get paramRefs(): TypeRef {\n let thisType = this.thisType;\n let parameterTypes = this.parameterTypes;\n let numParameterTypes = parameterTypes.length;\n if (!numParameterTypes) {\n return thisType ? thisType.toRef() : TypeRef.None;\n }\n if (thisType) {\n let typeRefs = new Array(1 + numParameterTypes);\n unchecked(typeRefs[0] = thisType.toRef());\n for (let i = 0; i < numParameterTypes; ++i) {\n unchecked(typeRefs[i + 1] = parameterTypes[i].toRef());\n }\n return createType(typeRefs);\n }\n return createType(typesToRefs(parameterTypes));\n }\n\n get resultRefs(): TypeRef {\n return this.returnType.toRef();\n }\n\n /** Tests if this signature equals the specified. */\n equals(other: Signature): bool {\n\n // check `this` type\n let thisThisType = this.thisType;\n let otherThisType = other.thisType;\n if (thisThisType) {\n if (!otherThisType || !thisThisType.equals(otherThisType)) return false;\n } else if (otherThisType) {\n return false;\n }\n\n // check rest parameter\n if (this.hasRest != other.hasRest) return false;\n\n // check return type\n if (!this.returnType.equals(other.returnType)) return false;\n\n // check parameter types\n let selfParameterTypes = this.parameterTypes;\n let otherParameterTypes = other.parameterTypes;\n let numParameters = selfParameterTypes.length;\n if (numParameters != otherParameterTypes.length) return false;\n\n for (let i = 0; i < numParameters; ++i) {\n let selfParameterType = unchecked(selfParameterTypes[i]);\n let otherParameterType = unchecked(otherParameterTypes[i]);\n if (!selfParameterType.equals(otherParameterType)) return false;\n }\n return true;\n }\n\n /** Tests if a value of this function type is assignable to a target of the specified function type. */\n isAssignableTo(target: Signature, checkCompatibleOverride: bool = false): bool {\n let thisThisType = this.thisType;\n let targetThisType = target.thisType;\n\n if (thisThisType && targetThisType) {\n const compatibleThisType = checkCompatibleOverride \n ? thisThisType.canExtendOrImplement(targetThisType)\n : targetThisType.isAssignableTo(thisThisType);\n if (!compatibleThisType) return false; \n } else if (thisThisType || targetThisType) {\n return false;\n }\n\n // check rest parameter\n if (this.hasRest != target.hasRest) return false; // TODO\n\n // check return type (covariant)\n let thisReturnType = this.returnType;\n let targetReturnType = target.returnType;\n if (!(thisReturnType == targetReturnType || thisReturnType.isAssignableTo(targetReturnType))) {\n return false;\n }\n // check parameter types (invariant)\n let thisParameterTypes = this.parameterTypes;\n let targetParameterTypes = target.parameterTypes;\n let numParameters = thisParameterTypes.length;\n if (numParameters != targetParameterTypes.length) return false; // TODO\n\n for (let i = 0; i < numParameters; ++i) {\n let thisParameterType = unchecked(thisParameterTypes[i]);\n let targetParameterType = unchecked(targetParameterTypes[i]);\n if (thisParameterType != targetParameterType) return false;\n }\n return true;\n }\n\n /** Tests if this signature has at least one managed operand. */\n get hasManagedOperands(): bool {\n let thisType = this.thisType;\n if (thisType && thisType.isManaged) {\n return true;\n }\n let parameterTypes = this.parameterTypes;\n for (let i = 0, k = parameterTypes.length; i < k; ++i) {\n if (unchecked(parameterTypes[i]).isManaged) return true;\n }\n return false;\n }\n\n /** Gets the indices of all managed operands. */\n getManagedOperandIndices(): i32[] {\n let indices = new Array();\n let index = 0;\n let thisType = this.thisType;\n if (thisType) {\n if (thisType.isManaged) indices.push(index);\n ++index;\n }\n let parameterTypes = this.parameterTypes;\n for (let i = 0, k = parameterTypes.length; i < k; ++i) {\n if (unchecked(parameterTypes[i]).isManaged) {\n indices.push(index);\n }\n ++index;\n }\n return indices;\n }\n\n /** Tests if this signature has at least one v128 operand. */\n get hasVectorValueOperands(): bool {\n let thisType = this.thisType;\n if (thisType && thisType.isVectorValue) {\n return true;\n }\n let parameterTypes = this.parameterTypes;\n for (let i = 0, k = parameterTypes.length; i < k; ++i) {\n if (unchecked(parameterTypes[i]).isVectorValue) return true;\n }\n return false;\n }\n\n /** Gets the indices of all v128 operands. */\n getVectorValueOperandIndices(): i32[] {\n let indices = new Array();\n let index = 0;\n let thisType = this.thisType;\n if (thisType) {\n if (thisType.isVectorValue) indices.push(index);\n ++index;\n }\n let parameterTypes = this.parameterTypes;\n for (let i = 0, k = parameterTypes.length; i < k; ++i) {\n if (unchecked(parameterTypes[i]).isVectorValue) {\n indices.push(index);\n }\n ++index;\n }\n return indices;\n }\n\n /** Converts this signature to a string. */\n toString(validWat: bool = false): string {\n let sb = new Array();\n sb.push(validWat ? \"%28\" : \"(\");\n let index = 0;\n let thisType = this.thisType;\n if (thisType) {\n sb.push(validWat ? \"this:\" : \"this: \");\n sb.push(thisType.toString(validWat));\n index = 1;\n }\n let parameters = this.parameterTypes;\n let numParameters = parameters.length;\n if (numParameters) {\n let optionalStart = this.requiredParameters;\n let restIndex = this.hasRest ? numParameters - 1 : -1;\n for (let i = 0; i < numParameters; ++i, ++index) {\n if (index) sb.push(validWat ? \"%2C\" : \", \");\n if (i == restIndex) sb.push(\"...\");\n sb.push(parameters[i].toString(validWat));\n if (i >= optionalStart && i != restIndex) sb.push(\"?\");\n }\n }\n sb.push(validWat ? \"%29=>\" : \") => \");\n sb.push(this.returnType.toString(validWat));\n return sb.join(\"\");\n }\n\n /** Creates a clone of this signature that is safe to modify. */\n clone(requiredParameters: i32 = this.requiredParameters, hasRest: bool = this.hasRest): Signature {\n let parameterTypes = this.parameterTypes;\n let numParameterTypes = parameterTypes.length;\n let cloneParameterTypes = new Array(numParameterTypes);\n for (let i = 0; i < numParameterTypes; ++i) {\n unchecked(cloneParameterTypes[i] = parameterTypes[i]);\n }\n return Signature.create(\n this.program,\n cloneParameterTypes,\n this.returnType,\n this.thisType,\n requiredParameters,\n hasRest\n );\n }\n}\n", "/**\n * @fileoverview Built-in elements providing core WebAssembly functionality.\n *\n * Each builtin is linked to its definition in std/assembly/builtins.ts.\n * When its prototype is called, the compiler recognizes the `@builtin`\n * decorator, looks up the respective handler in the global builtins map\n * and executes it, with the handler directly emitting WebAssembly code\n * according to context.\n *\n * Builtins can be categorized into core builtins that typically are generic\n * and emit code directly and aliases calling core builtins with overridden\n * contexts. The latter is used by inline assembler aliases of WebAssembly\n * instructions, like `i64.load8_u` deferring to `load`.\n *\n * The `contextIsExact` modifier is used to force a specific instruction\n * family. A `i32.store8` deferring to `store` for example is\n * ambiguous in that the input can still be an i32 or an i64, leading to\n * either an `i32.store8` or an `i64.store8`, so `i32` is forced there.\n * This behavior is indicated by `from i32/i64` in the comments below.\n *\n * @license Apache-2.0\n */\n\n// TODO: Add builtins for `i32.add` etc. that do not have a core builtin.\n\nimport {\n Compiler,\n Constraints,\n RuntimeFeatures,\n UncheckedBehavior\n} from \"./compiler\";\n\nimport {\n DiagnosticCode,\n DiagnosticCategory\n} from \"./diagnostics\";\n\nimport {\n Expression,\n LiteralKind,\n StringLiteralExpression,\n CallExpression,\n NodeKind,\n LiteralExpression,\n ArrayLiteralExpression,\n IdentifierExpression\n} from \"./ast\";\n\nimport {\n Type,\n TypeKind,\n TypeFlags\n} from \"./types\";\n\nimport {\n BinaryOp,\n UnaryOp,\n AtomicRMWOp,\n SIMDExtractOp,\n SIMDReplaceOp,\n SIMDShiftOp,\n SIMDTernaryOp,\n SIMDLoadOp,\n SIMDLoadStoreLaneOp,\n TypeRef,\n ExpressionRef,\n ExpressionId,\n getExpressionId,\n getExpressionType,\n getConstValueI64High,\n getConstValueI64Low,\n getConstValueI32,\n getConstValueF32,\n getConstValueF64,\n getLocalGetIndex,\n createType,\n ExpressionRunnerFlags,\n mustPreserveSideEffects\n} from \"./module\";\n\nimport {\n ElementKind,\n FunctionPrototype,\n Global,\n DecoratorFlags,\n Class,\n PropertyPrototype,\n VariableLikeElement\n} from \"./program\";\n\nimport {\n FlowFlags,\n LocalFlags\n} from \"./flow\";\n\nimport {\n ReportMode\n} from \"./resolver\";\n\nimport {\n CommonFlags,\n Feature,\n featureToString,\n TypeinfoFlags\n} from \"./common\";\n\nimport {\n writeI8,\n writeI16,\n writeI32,\n writeF32,\n writeF64,\n isPowerOf2\n} from \"./util\";\n\n/** Internal names of various compiler built-ins. */\nexport namespace BuiltinNames {\n\n // compiler-generated\n export const start = \"~start\";\n export const started = \"~started\";\n export const argumentsLength = \"~argumentsLength\";\n export const setArgumentsLength = \"~setArgumentsLength\";\n\n // std/builtins.ts\n export const abort = \"~lib/builtins/abort\";\n export const trace = \"~lib/builtins/trace\";\n export const seed = \"~lib/builtins/seed\";\n\n export const isBoolean = \"~lib/builtins/isBoolean\";\n export const isInteger = \"~lib/builtins/isInteger\";\n export const isSigned = \"~lib/builtins/isSigned\";\n export const isFloat = \"~lib/builtins/isFloat\";\n export const isVector = \"~lib/builtins/isVector\";\n export const isReference = \"~lib/builtins/isReference\";\n export const isString = \"~lib/builtins/isString\";\n export const isArray = \"~lib/builtins/isArray\";\n export const isArrayLike = \"~lib/builtins/isArrayLike\";\n export const isFunction = \"~lib/builtins/isFunction\";\n export const isNullable = \"~lib/builtins/isNullable\";\n export const isDefined = \"~lib/builtins/isDefined\";\n export const isConstant = \"~lib/builtins/isConstant\";\n export const isManaged = \"~lib/builtins/isManaged\";\n export const isVoid = \"~lib/builtins/isVoid\";\n\n export const add = \"~lib/builtins/add\";\n export const sub = \"~lib/builtins/sub\";\n export const mul = \"~lib/builtins/mul\";\n export const div = \"~lib/builtins/div\";\n export const clz = \"~lib/builtins/clz\";\n export const ctz = \"~lib/builtins/ctz\";\n export const popcnt = \"~lib/builtins/popcnt\";\n export const rotl = \"~lib/builtins/rotl\";\n export const rotr = \"~lib/builtins/rotr\";\n export const abs = \"~lib/builtins/abs\";\n export const max = \"~lib/builtins/max\";\n export const min = \"~lib/builtins/min\";\n export const ceil = \"~lib/builtins/ceil\";\n export const floor = \"~lib/builtins/floor\";\n export const copysign = \"~lib/builtins/copysign\";\n export const nearest = \"~lib/builtins/nearest\";\n export const reinterpret = \"~lib/builtins/reinterpret\";\n export const sqrt = \"~lib/builtins/sqrt\";\n export const trunc = \"~lib/builtins/trunc\";\n export const eq = \"~lib/builtins/eq\";\n export const ne = \"~lib/builtins/ne\";\n export const rem = \"~lib/builtins/rem\";\n export const load = \"~lib/builtins/load\";\n export const store = \"~lib/builtins/store\";\n export const atomic_load = \"~lib/builtins/atomic.load\";\n export const atomic_store = \"~lib/builtins/atomic.store\";\n export const atomic_add = \"~lib/builtins/atomic.add\";\n export const atomic_sub = \"~lib/builtins/atomic.sub\";\n export const atomic_and = \"~lib/builtins/atomic.and\";\n export const atomic_or = \"~lib/builtins/atomic.or\";\n export const atomic_xor = \"~lib/builtins/atomic.xor\";\n export const atomic_xchg = \"~lib/builtins/atomic.xchg\";\n export const atomic_cmpxchg = \"~lib/builtins/atomic.cmpxchg\";\n export const atomic_wait = \"~lib/builtins/atomic.wait\";\n export const atomic_notify = \"~lib/builtins/atomic.notify\";\n export const atomic_fence = \"~lib/builtins/atomic.fence\";\n\n export const sizeof = \"~lib/builtins/sizeof\";\n export const alignof = \"~lib/builtins/alignof\";\n export const offsetof = \"~lib/builtins/offsetof\";\n export const nameof = \"~lib/builtins/nameof\";\n export const lengthof = \"~lib/builtins/lengthof\";\n export const select = \"~lib/builtins/select\";\n export const unreachable = \"~lib/builtins/unreachable\";\n export const changetype = \"~lib/builtins/changetype\";\n export const assert = \"~lib/builtins/assert\";\n export const call_indirect = \"~lib/builtins/call_indirect\";\n export const unchecked = \"~lib/builtins/unchecked\";\n export const instantiate = \"~lib/builtins/instantiate\";\n export const idof = \"~lib/builtins/idof\";\n\n export const i8 = \"~lib/builtins/i8\";\n export const i16 = \"~lib/builtins/i16\";\n export const i32 = \"~lib/builtins/i32\";\n export const i64 = \"~lib/builtins/i64\";\n export const isize = \"~lib/builtins/isize\";\n export const u8 = \"~lib/builtins/u8\";\n export const u16 = \"~lib/builtins/u16\";\n export const u32 = \"~lib/builtins/u32\";\n export const u64 = \"~lib/builtins/u64\";\n export const usize = \"~lib/builtins/usize\";\n export const bool = \"~lib/builtins/bool\";\n export const f32 = \"~lib/builtins/f32\";\n export const f64 = \"~lib/builtins/f64\";\n export const v128 = \"~lib/builtins/v128\";\n\n export const i32_clz = \"~lib/builtins/i32.clz\";\n export const i64_clz = \"~lib/builtins/i64.clz\";\n export const i32_ctz = \"~lib/builtins/i32.ctz\";\n export const i64_ctz = \"~lib/builtins/i64.ctz\";\n export const i32_popcnt = \"~lib/builtins/i32.popcnt\";\n export const i64_popcnt = \"~lib/builtins/i64.popcnt\";\n export const i32_rotl = \"~lib/builtins/i32.rotl\";\n export const i64_rotl = \"~lib/builtins/i64.rotl\";\n export const i32_rotr = \"~lib/builtins/i32.rotr\";\n export const i64_rotr = \"~lib/builtins/i64.rotr\";\n\n export const f32_abs = \"~lib/builtins/f32.abs\";\n export const f64_abs = \"~lib/builtins/f64.abs\";\n export const f32_max = \"~lib/builtins/f32.max\";\n export const f64_max = \"~lib/builtins/f64.max\";\n export const f32_min = \"~lib/builtins/f32.min\";\n export const f64_min = \"~lib/builtins/f64.min\";\n export const f32_ceil = \"~lib/builtins/f32.ceil\";\n export const f64_ceil = \"~lib/builtins/f64.ceil\";\n export const f32_floor = \"~lib/builtins/f32.floor\";\n export const f64_floor = \"~lib/builtins/f64.floor\";\n export const f32_copysign = \"~lib/builtins/f32.copysign\";\n export const f64_copysign = \"~lib/builtins/f64.copysign\";\n export const f32_nearest = \"~lib/builtins/f32.nearest\";\n export const f64_nearest = \"~lib/builtins/f64.nearest\";\n export const i32_reinterpret_f32 = \"~lib/builtins/i32.reinterpret_f32\";\n export const i64_reinterpret_f64 = \"~lib/builtins/i64.reinterpret_f64\";\n export const f32_reinterpret_i32 = \"~lib/builtins/f32.reinterpret_i32\";\n export const f64_reinterpret_i64 = \"~lib/builtins/f64.reinterpret_i64\";\n export const f32_sqrt = \"~lib/builtins/f32.sqrt\";\n export const f64_sqrt = \"~lib/builtins/f64.sqrt\";\n export const f32_trunc = \"~lib/builtins/f32.trunc\";\n export const f64_trunc = \"~lib/builtins/f64.trunc\";\n\n export const i32_add = \"~lib/builtins/i32.add\";\n export const i64_add = \"~lib/builtins/i64.add\";\n export const f32_add = \"~lib/builtins/f32.add\";\n export const f64_add = \"~lib/builtins/f64.add\";\n export const i32_sub = \"~lib/builtins/i32.sub\";\n export const i64_sub = \"~lib/builtins/i64.sub\";\n export const f32_sub = \"~lib/builtins/f32.sub\";\n export const f64_sub = \"~lib/builtins/f64.sub\";\n export const i32_mul = \"~lib/builtins/i32.mul\";\n export const i64_mul = \"~lib/builtins/i64.mul\";\n export const f32_mul = \"~lib/builtins/f32.mul\";\n export const f64_mul = \"~lib/builtins/f64.mul\";\n export const i32_div_s = \"~lib/builtins/i32.div_s\";\n export const i32_div_u = \"~lib/builtins/i32.div_u\";\n export const i64_div_s = \"~lib/builtins/i64.div_s\";\n export const i64_div_u = \"~lib/builtins/i64.div_u\";\n export const f32_div = \"~lib/builtins/f32.div\";\n export const f64_div = \"~lib/builtins/f64.div\";\n\n export const i32_eq = \"~lib/builtins/i32.eq\";\n export const i64_eq = \"~lib/builtins/i64.eq\";\n export const f32_eq = \"~lib/builtins/f32.eq\";\n export const f64_eq = \"~lib/builtins/f64.eq\";\n export const i32_ne = \"~lib/builtins/i32.ne\";\n export const i64_ne = \"~lib/builtins/i64.ne\";\n export const f32_ne = \"~lib/builtins/f32.ne\";\n export const f64_ne = \"~lib/builtins/f64.ne\";\n\n export const i32_rem_s = \"~lib/builtins/i32.rem_s\";\n export const i32_rem_u = \"~lib/builtins/i32.rem_u\";\n export const i64_rem_s = \"~lib/builtins/i64.rem_s\";\n export const i64_rem_u = \"~lib/builtins/i64.rem_u\";\n\n export const i32_load8_s = \"~lib/builtins/i32.load8_s\";\n export const i32_load8_u = \"~lib/builtins/i32.load8_u\";\n export const i32_load16_s = \"~lib/builtins/i32.load16_s\";\n export const i32_load16_u = \"~lib/builtins/i32.load16_u\";\n export const i32_load = \"~lib/builtins/i32.load\";\n export const i64_load8_s = \"~lib/builtins/i64.load8_s\";\n export const i64_load8_u = \"~lib/builtins/i64.load8_u\";\n export const i64_load16_s = \"~lib/builtins/i64.load16_s\";\n export const i64_load16_u = \"~lib/builtins/i64.load16_u\";\n export const i64_load32_s = \"~lib/builtins/i64.load32_s\";\n export const i64_load32_u = \"~lib/builtins/i64.load32_u\";\n export const i64_load = \"~lib/builtins/i64.load\";\n export const f32_load = \"~lib/builtins/f32.load\";\n export const f64_load = \"~lib/builtins/f64.load\";\n export const i32_store8 = \"~lib/builtins/i32.store8\";\n export const i32_store16 = \"~lib/builtins/i32.store16\";\n export const i32_store = \"~lib/builtins/i32.store\";\n export const i64_store8 = \"~lib/builtins/i64.store8\";\n export const i64_store16 = \"~lib/builtins/i64.store16\";\n export const i64_store32 = \"~lib/builtins/i64.store32\";\n export const i64_store = \"~lib/builtins/i64.store\";\n export const f32_store = \"~lib/builtins/f32.store\";\n export const f64_store = \"~lib/builtins/f64.store\";\n\n export const i32_atomic_load8_u = \"~lib/builtins/i32.atomic.load8_u\";\n export const i32_atomic_load16_u = \"~lib/builtins/i32.atomic.load16_u\";\n export const i32_atomic_load = \"~lib/builtins/i32.atomic.load\";\n export const i64_atomic_load8_u = \"~lib/builtins/i64.atomic.load8_u\";\n export const i64_atomic_load16_u = \"~lib/builtins/i64.atomic.load16_u\";\n export const i64_atomic_load32_u = \"~lib/builtins/i64.atomic.load32_u\";\n export const i64_atomic_load = \"~lib/builtins/i64.atomic.load\";\n export const i32_atomic_store8 = \"~lib/builtins/i32.atomic.store8\";\n export const i32_atomic_store16 = \"~lib/builtins/i32.atomic.store16\";\n export const i32_atomic_store = \"~lib/builtins/i32.atomic.store\";\n export const i64_atomic_store8 = \"~lib/builtins/i64.atomic.store8\";\n export const i64_atomic_store16 = \"~lib/builtins/i64.atomic.store16\";\n export const i64_atomic_store32 = \"~lib/builtins/i64.atomic.store32\";\n export const i64_atomic_store = \"~lib/builtins/i64.atomic.store\";\n export const i32_atomic_rmw8_add_u = \"~lib/builtins/i32.atomic.rmw8.add_u\";\n export const i32_atomic_rmw16_add_u = \"~lib/builtins/i32.atomic.rmw16.add_u\";\n export const i32_atomic_rmw_add = \"~lib/builtins/i32.atomic.rmw.add\";\n export const i64_atomic_rmw8_add_u = \"~lib/builtins/i64.atomic.rmw8.add_u\";\n export const i64_atomic_rmw16_add_u = \"~lib/builtins/i64.atomic.rmw16.add_u\";\n export const i64_atomic_rmw32_add_u = \"~lib/builtins/i64.atomic.rmw32.add_u\";\n export const i64_atomic_rmw_add = \"~lib/builtins/i64.atomic.rmw.add\";\n export const i32_atomic_rmw8_sub_u = \"~lib/builtins/i32.atomic.rmw8.sub_u\";\n export const i32_atomic_rmw16_sub_u = \"~lib/builtins/i32.atomic.rmw16.sub_u\";\n export const i32_atomic_rmw_sub = \"~lib/builtins/i32.atomic.rmw.sub\";\n export const i64_atomic_rmw8_sub_u = \"~lib/builtins/i64.atomic.rmw8.sub_u\";\n export const i64_atomic_rmw16_sub_u = \"~lib/builtins/i64.atomic.rmw16.sub_u\";\n export const i64_atomic_rmw32_sub_u = \"~lib/builtins/i64.atomic.rmw32.sub_u\";\n export const i64_atomic_rmw_sub = \"~lib/builtins/i64.atomic.rmw.sub\";\n export const i32_atomic_rmw8_and_u = \"~lib/builtins/i32.atomic.rmw8.and_u\";\n export const i32_atomic_rmw16_and_u = \"~lib/builtins/i32.atomic.rmw16.and_u\";\n export const i32_atomic_rmw_and = \"~lib/builtins/i32.atomic.rmw.and\";\n export const i64_atomic_rmw8_and_u = \"~lib/builtins/i64.atomic.rmw8.and_u\";\n export const i64_atomic_rmw16_and_u = \"~lib/builtins/i64.atomic.rmw16.and_u\";\n export const i64_atomic_rmw32_and_u = \"~lib/builtins/i64.atomic.rmw32.and_u\";\n export const i64_atomic_rmw_and = \"~lib/builtins/i64.atomic.rmw.and\";\n export const i32_atomic_rmw8_or_u = \"~lib/builtins/i32.atomic.rmw8.or_u\";\n export const i32_atomic_rmw16_or_u = \"~lib/builtins/i32.atomic.rmw16.or_u\";\n export const i32_atomic_rmw_or = \"~lib/builtins/i32.atomic.rmw.or\";\n export const i64_atomic_rmw8_or_u = \"~lib/builtins/i64.atomic.rmw8.or_u\";\n export const i64_atomic_rmw16_or_u = \"~lib/builtins/i64.atomic.rmw16.or_u\";\n export const i64_atomic_rmw32_or_u = \"~lib/builtins/i64.atomic.rmw32.or_u\";\n export const i64_atomic_rmw_or = \"~lib/builtins/i64.atomic.rmw.or\";\n export const i32_atomic_rmw8_xor_u = \"~lib/builtins/i32.atomic.rmw8.xor_u\";\n export const i32_atomic_rmw16_xor_u = \"~lib/builtins/i32.atomic.rmw16.xor_u\";\n export const i32_atomic_rmw_xor = \"~lib/builtins/i32.atomic.rmw.xor\";\n export const i64_atomic_rmw8_xor_u = \"~lib/builtins/i64.atomic.rmw8.xor_u\";\n export const i64_atomic_rmw16_xor_u = \"~lib/builtins/i64.atomic.rmw16.xor_u\";\n export const i64_atomic_rmw32_xor_u = \"~lib/builtins/i64.atomic.rmw32.xor_u\";\n export const i64_atomic_rmw_xor = \"~lib/builtins/i64.atomic.rmw.xor\";\n export const i32_atomic_rmw8_xchg_u = \"~lib/builtins/i32.atomic.rmw8.xchg_u\";\n export const i32_atomic_rmw16_xchg_u = \"~lib/builtins/i32.atomic.rmw16.xchg_u\";\n export const i32_atomic_rmw_xchg = \"~lib/builtins/i32.atomic.rmw.xchg\";\n export const i64_atomic_rmw8_xchg_u = \"~lib/builtins/i64.atomic.rmw8.xchg_u\";\n export const i64_atomic_rmw16_xchg_u = \"~lib/builtins/i64.atomic.rmw16.xchg_u\";\n export const i64_atomic_rmw32_xchg_u = \"~lib/builtins/i64.atomic.rmw32.xchg_u\";\n export const i64_atomic_rmw_xchg = \"~lib/builtins/i64.atomic.rmw.xchg\";\n export const i32_atomic_rmw8_cmpxchg_u = \"~lib/builtins/i32.atomic.rmw8.cmpxchg_u\";\n export const i32_atomic_rmw16_cmpxchg_u = \"~lib/builtins/i32.atomic.rmw16.cmpxchg_u\";\n export const i32_atomic_rmw_cmpxchg = \"~lib/builtins/i32.atomic.rmw.cmpxchg\";\n export const i64_atomic_rmw8_cmpxchg_u = \"~lib/builtins/i64.atomic.rmw8.cmpxchg_u\";\n export const i64_atomic_rmw16_cmpxchg_u = \"~lib/builtins/i64.atomic.rmw16.cmpxchg_u\";\n export const i64_atomic_rmw32_cmpxchg_u = \"~lib/builtins/i64.atomic.rmw32.cmpxchg_u\";\n export const i64_atomic_rmw_cmpxchg = \"~lib/builtins/i64.atomic.rmw.cmpxchg\";\n export const memory_atomic_wait32 = \"~lib/memory/memory.atomic.wait32\";\n export const memory_atomic_wait64 = \"~lib/memory/memory.atomic.wait64\";\n\n export const v128_splat = \"~lib/builtins/v128.splat\";\n export const v128_extract_lane = \"~lib/builtins/v128.extract_lane\";\n export const v128_replace_lane = \"~lib/builtins/v128.replace_lane\";\n export const v128_shuffle = \"~lib/builtins/v128.shuffle\";\n export const v128_swizzle = \"~lib/builtins/v128.swizzle\";\n export const v128_load_splat = \"~lib/builtins/v128.load_splat\";\n export const v128_load_ext = \"~lib/builtins/v128.load_ext\";\n export const v128_load_zero = \"~lib/builtins/v128.load_zero\";\n export const v128_load_lane = \"~lib/builtins/v128.load_lane\";\n export const v128_store_lane = \"~lib/builtins/v128.store_lane\";\n export const v128_load = \"~lib/builtins/v128.load\";\n export const v128_load8x8_s = \"~lib/builtins/v128.load8x8_s\";\n export const v128_load8x8_u = \"~lib/builtins/v128.load8x8_u\";\n export const v128_load16x4_s = \"~lib/builtins/v128.load16x4_s\";\n export const v128_load16x4_u = \"~lib/builtins/v128.load16x4_u\";\n export const v128_load32x2_s = \"~lib/builtins/v128.load32x2_s\";\n export const v128_load32x2_u = \"~lib/builtins/v128.load32x2_u\";\n export const v128_load8_splat = \"~lib/builtins/v128.load8_splat\";\n export const v128_load16_splat = \"~lib/builtins/v128.load16_splat\";\n export const v128_load32_splat = \"~lib/builtins/v128.load32_splat\";\n export const v128_load64_splat = \"~lib/builtins/v128.load64_splat\";\n export const v128_load32_zero = \"~lib/builtins/v128.load32_zero\";\n export const v128_load64_zero = \"~lib/builtins/v128.load64_zero\";\n export const v128_load8_lane = \"~lib/builtins/v128.load8_lane\";\n export const v128_load16_lane = \"~lib/builtins/v128.load16_lane\";\n export const v128_load32_lane = \"~lib/builtins/v128.load32_lane\";\n export const v128_load64_lane = \"~lib/builtins/v128.load64_lane\";\n export const v128_store8_lane = \"~lib/builtins/v128.store8_lane\";\n export const v128_store16_lane = \"~lib/builtins/v128.store16_lane\";\n export const v128_store32_lane = \"~lib/builtins/v128.store32_lane\";\n export const v128_store64_lane = \"~lib/builtins/v128.store64_lane\";\n export const v128_store = \"~lib/builtins/v128.store\";\n export const v128_add = \"~lib/builtins/v128.add\";\n export const v128_sub = \"~lib/builtins/v128.sub\";\n export const v128_mul = \"~lib/builtins/v128.mul\";\n export const v128_div = \"~lib/builtins/v128.div\";\n export const v128_neg = \"~lib/builtins/v128.neg\";\n export const v128_add_sat = \"~lib/builtins/v128.add_sat\";\n export const v128_sub_sat = \"~lib/builtins/v128.sub_sat\";\n export const v128_shl = \"~lib/builtins/v128.shl\";\n export const v128_shr = \"~lib/builtins/v128.shr\";\n export const v128_and = \"~lib/builtins/v128.and\";\n export const v128_or = \"~lib/builtins/v128.or\";\n export const v128_xor = \"~lib/builtins/v128.xor\";\n export const v128_andnot = \"~lib/builtins/v128.andnot\";\n export const v128_not = \"~lib/builtins/v128.not\";\n export const v128_bitselect = \"~lib/builtins/v128.bitselect\";\n export const v128_any_true = \"~lib/builtins/v128.any_true\";\n export const v128_all_true = \"~lib/builtins/v128.all_true\";\n export const v128_bitmask = \"~lib/builtins/v128.bitmask\";\n export const v128_popcnt = \"~lib/builtins/v128.popcnt\";\n export const v128_min = \"~lib/builtins/v128.min\";\n export const v128_max = \"~lib/builtins/v128.max\";\n export const v128_pmin = \"~lib/builtins/v128.pmin\";\n export const v128_pmax = \"~lib/builtins/v128.pmax\";\n export const v128_dot = \"~lib/builtins/v128.dot\";\n export const v128_avgr = \"~lib/builtins/v128.avgr\";\n export const v128_abs = \"~lib/builtins/v128.abs\";\n export const v128_sqrt = \"~lib/builtins/v128.sqrt\";\n export const v128_ceil = \"~lib/builtins/v128.ceil\";\n export const v128_floor = \"~lib/builtins/v128.floor\";\n export const v128_trunc = \"~lib/builtins/v128.trunc\";\n export const v128_nearest = \"~lib/builtins/v128.nearest\";\n export const v128_eq = \"~lib/builtins/v128.eq\";\n export const v128_ne = \"~lib/builtins/v128.ne\";\n export const v128_lt = \"~lib/builtins/v128.lt\";\n export const v128_le = \"~lib/builtins/v128.le\";\n export const v128_gt = \"~lib/builtins/v128.gt\";\n export const v128_ge = \"~lib/builtins/v128.ge\";\n export const v128_convert = \"~lib/builtins/v128.convert\";\n export const v128_convert_low = \"~lib/builtins/v128.convert_low\";\n export const v128_trunc_sat = \"~lib/builtins/v128.trunc_sat\";\n export const v128_trunc_sat_zero = \"~lib/builtins/v128.trunc_sat_zero\";\n export const v128_narrow = \"~lib/builtins/v128.narrow\";\n export const v128_extend_low = \"~lib/builtins/v128.extend_low\";\n export const v128_extend_high = \"~lib/builtins/v128.extend_high\";\n export const v128_extadd_pairwise = \"~lib/builtins/v128.extadd_pairwise\";\n export const v128_demote_zero = \"~lib/builtins/v128.demote_zero\";\n export const v128_promote_low = \"~lib/builtins/v128.promote_low\";\n export const v128_q15mulr_sat = \"~lib/builtins/v128.q15mulr_sat\";\n export const v128_extmul_low = \"~lib/builtins/v128.extmul_low\";\n export const v128_extmul_high = \"~lib/builtins/v128.extmul_high\";\n export const v128_relaxed_swizzle = \"~lib/builtins/v128.relaxed_swizzle\";\n export const v128_relaxed_trunc = \"~lib/builtins/v128.relaxed_trunc\";\n export const v128_relaxed_trunc_zero = \"~lib/builtins/v128.relaxed_trunc_zero\";\n export const v128_relaxed_madd = \"~lib/builtins/v128.relaxed_madd\";\n export const v128_relaxed_nmadd = \"~lib/builtins/v128.relaxed_nmadd\";\n export const v128_relaxed_laneselect = \"~lib/builtins/v128.relaxed_laneselect\";\n export const v128_relaxed_min = \"~lib/builtins/v128.relaxed_min\";\n export const v128_relaxed_max = \"~lib/builtins/v128.relaxed_max\";\n export const v128_relaxed_q15mulr = \"~lib/builtins/v128.relaxed_q15mulr\";\n export const v128_relaxed_dot = \"~lib/builtins/v128.relaxed_dot\";\n export const v128_relaxed_dot_add = \"~lib/builtins/v128.relaxed_dot_add\";\n\n export const i8x16 = \"~lib/builtins/i8x16\";\n export const i16x8 = \"~lib/builtins/i16x8\";\n export const i32x4 = \"~lib/builtins/i32x4\";\n export const i64x2 = \"~lib/builtins/i64x2\";\n export const f32x4 = \"~lib/builtins/f32x4\";\n export const f64x2 = \"~lib/builtins/f64x2\";\n\n export const i8x16_splat = \"~lib/builtins/i8x16.splat\";\n export const i8x16_extract_lane_s = \"~lib/builtins/i8x16.extract_lane_s\";\n export const i8x16_extract_lane_u = \"~lib/builtins/i8x16.extract_lane_u\";\n export const i8x16_replace_lane = \"~lib/builtins/i8x16.replace_lane\";\n export const i8x16_add = \"~lib/builtins/i8x16.add\";\n export const i8x16_sub = \"~lib/builtins/i8x16.sub\";\n export const i8x16_mul = \"~lib/builtins/i8x16.mul\";\n export const i8x16_min_s = \"~lib/builtins/i8x16.min_s\";\n export const i8x16_min_u = \"~lib/builtins/i8x16.min_u\";\n export const i8x16_max_s = \"~lib/builtins/i8x16.max_s\";\n export const i8x16_max_u = \"~lib/builtins/i8x16.max_u\";\n export const i8x16_avgr_u = \"~lib/builtins/i8x16.avgr_u\";\n export const i8x16_abs = \"~lib/builtins/i8x16.abs\";\n export const i8x16_neg = \"~lib/builtins/i8x16.neg\";\n export const i8x16_add_sat_s = \"~lib/builtins/i8x16.add_sat_s\";\n export const i8x16_add_sat_u = \"~lib/builtins/i8x16.add_sat_u\";\n export const i8x16_sub_sat_s = \"~lib/builtins/i8x16.sub_sat_s\";\n export const i8x16_sub_sat_u = \"~lib/builtins/i8x16.sub_sat_u\";\n export const i8x16_shl = \"~lib/builtins/i8x16.shl\";\n export const i8x16_shr_s = \"~lib/builtins/i8x16.shr_s\";\n export const i8x16_shr_u = \"~lib/builtins/i8x16.shr_u\";\n export const i8x16_all_true = \"~lib/builtins/i8x16.all_true\";\n export const i8x16_bitmask = \"~lib/builtins/i8x16.bitmask\";\n export const i8x16_popcnt = \"~lib/builtins/i8x16.popcnt\";\n export const i8x16_eq = \"~lib/builtins/i8x16.eq\";\n export const i8x16_ne = \"~lib/builtins/i8x16.ne\";\n export const i8x16_lt_s = \"~lib/builtins/i8x16.lt_s\";\n export const i8x16_lt_u = \"~lib/builtins/i8x16.lt_u\";\n export const i8x16_le_s = \"~lib/builtins/i8x16.le_s\";\n export const i8x16_le_u = \"~lib/builtins/i8x16.le_u\";\n export const i8x16_gt_s = \"~lib/builtins/i8x16.gt_s\";\n export const i8x16_gt_u = \"~lib/builtins/i8x16.gt_u\";\n export const i8x16_ge_s = \"~lib/builtins/i8x16.ge_s\";\n export const i8x16_ge_u = \"~lib/builtins/i8x16.ge_u\";\n export const i8x16_narrow_i16x8_s = \"~lib/builtins/i8x16.narrow_i16x8_s\";\n export const i8x16_narrow_i16x8_u = \"~lib/builtins/i8x16.narrow_i16x8_u\";\n export const i8x16_shuffle = \"~lib/builtins/i8x16.shuffle\";\n export const i8x16_swizzle = \"~lib/builtins/i8x16.swizzle\";\n\n export const i16x8_splat = \"~lib/builtins/i16x8.splat\";\n export const i16x8_extract_lane_s = \"~lib/builtins/i16x8.extract_lane_s\";\n export const i16x8_extract_lane_u = \"~lib/builtins/i16x8.extract_lane_u\";\n export const i16x8_replace_lane = \"~lib/builtins/i16x8.replace_lane\";\n export const i16x8_add = \"~lib/builtins/i16x8.add\";\n export const i16x8_sub = \"~lib/builtins/i16x8.sub\";\n export const i16x8_mul = \"~lib/builtins/i16x8.mul\";\n export const i16x8_min_s = \"~lib/builtins/i16x8.min_s\";\n export const i16x8_min_u = \"~lib/builtins/i16x8.min_u\";\n export const i16x8_max_s = \"~lib/builtins/i16x8.max_s\";\n export const i16x8_max_u = \"~lib/builtins/i16x8.max_u\";\n export const i16x8_avgr_u = \"~lib/builtins/i16x8.avgr_u\";\n export const i16x8_abs = \"~lib/builtins/i16x8.abs\";\n export const i16x8_neg = \"~lib/builtins/i16x8.neg\";\n export const i16x8_add_sat_s = \"~lib/builtins/i16x8.add_sat_s\";\n export const i16x8_add_sat_u = \"~lib/builtins/i16x8.add_sat_u\";\n export const i16x8_sub_sat_s = \"~lib/builtins/i16x8.sub_sat_s\";\n export const i16x8_sub_sat_u = \"~lib/builtins/i16x8.sub_sat_u\";\n export const i16x8_shl = \"~lib/builtins/i16x8.shl\";\n export const i16x8_shr_s = \"~lib/builtins/i16x8.shr_s\";\n export const i16x8_shr_u = \"~lib/builtins/i16x8.shr_u\";\n export const i16x8_all_true = \"~lib/builtins/i16x8.all_true\";\n export const i16x8_bitmask = \"~lib/builtins/i16x8.bitmask\";\n export const i16x8_eq = \"~lib/builtins/i16x8.eq\";\n export const i16x8_ne = \"~lib/builtins/i16x8.ne\";\n export const i16x8_lt_s = \"~lib/builtins/i16x8.lt_s\";\n export const i16x8_lt_u = \"~lib/builtins/i16x8.lt_u\";\n export const i16x8_le_s = \"~lib/builtins/i16x8.le_s\";\n export const i16x8_le_u = \"~lib/builtins/i16x8.le_u\";\n export const i16x8_gt_s = \"~lib/builtins/i16x8.gt_s\";\n export const i16x8_gt_u = \"~lib/builtins/i16x8.gt_u\";\n export const i16x8_ge_s = \"~lib/builtins/i16x8.ge_s\";\n export const i16x8_ge_u = \"~lib/builtins/i16x8.ge_u\";\n export const i16x8_narrow_i32x4_s = \"~lib/builtins/i16x8.narrow_i32x4_s\";\n export const i16x8_narrow_i32x4_u = \"~lib/builtins/i16x8.narrow_i32x4_u\";\n export const i16x8_extend_low_i8x16_s = \"~lib/builtins/i16x8.extend_low_i8x16_s\";\n export const i16x8_extend_low_i8x16_u = \"~lib/builtins/i16x8.extend_low_i8x16_u\";\n export const i16x8_extend_high_i8x16_s = \"~lib/builtins/i16x8.extend_high_i8x16_s\";\n export const i16x8_extend_high_i8x16_u = \"~lib/builtins/i16x8.extend_high_i8x16_u\";\n export const i16x8_extadd_pairwise_i8x16_s = \"~lib/builtins/i16x8.extadd_pairwise_i8x16_s\";\n export const i16x8_extadd_pairwise_i8x16_u = \"~lib/builtins/i16x8.extadd_pairwise_i8x16_u\";\n export const i16x8_q15mulr_sat_s = \"~lib/builtins/i16x8.q15mulr_sat_s\";\n export const i16x8_extmul_low_i8x16_s = \"~lib/builtins/i16x8.extmul_low_i8x16_s\";\n export const i16x8_extmul_low_i8x16_u = \"~lib/builtins/i16x8.extmul_low_i8x16_u\";\n export const i16x8_extmul_high_i8x16_s = \"~lib/builtins/i16x8.extmul_high_i8x16_s\";\n export const i16x8_extmul_high_i8x16_u = \"~lib/builtins/i16x8.extmul_high_i8x16_u\";\n export const i16x8_shuffle = \"~lib/builtins/i16x8.shuffle\";\n\n export const i32x4_splat = \"~lib/builtins/i32x4.splat\";\n export const i32x4_extract_lane = \"~lib/builtins/i32x4.extract_lane\";\n export const i32x4_replace_lane = \"~lib/builtins/i32x4.replace_lane\";\n export const i32x4_add = \"~lib/builtins/i32x4.add\";\n export const i32x4_sub = \"~lib/builtins/i32x4.sub\";\n export const i32x4_mul = \"~lib/builtins/i32x4.mul\";\n export const i32x4_min_s = \"~lib/builtins/i32x4.min_s\";\n export const i32x4_min_u = \"~lib/builtins/i32x4.min_u\";\n export const i32x4_max_s = \"~lib/builtins/i32x4.max_s\";\n export const i32x4_max_u = \"~lib/builtins/i32x4.max_u\";\n export const i32x4_dot_i16x8_s = \"~lib/builtins/i32x4.dot_i16x8_s\";\n export const i32x4_abs = \"~lib/builtins/i32x4.abs\";\n export const i32x4_neg = \"~lib/builtins/i32x4.neg\";\n export const i32x4_shl = \"~lib/builtins/i32x4.shl\";\n export const i32x4_shr_s = \"~lib/builtins/i32x4.shr_s\";\n export const i32x4_shr_u = \"~lib/builtins/i32x4.shr_u\";\n export const i32x4_all_true = \"~lib/builtins/i32x4.all_true\";\n export const i32x4_bitmask = \"~lib/builtins/i32x4.bitmask\";\n export const i32x4_eq = \"~lib/builtins/i32x4.eq\";\n export const i32x4_ne = \"~lib/builtins/i32x4.ne\";\n export const i32x4_lt_s = \"~lib/builtins/i32x4.lt_s\";\n export const i32x4_lt_u = \"~lib/builtins/i32x4.lt_u\";\n export const i32x4_le_s = \"~lib/builtins/i32x4.le_s\";\n export const i32x4_le_u = \"~lib/builtins/i32x4.le_u\";\n export const i32x4_gt_s = \"~lib/builtins/i32x4.gt_s\";\n export const i32x4_gt_u = \"~lib/builtins/i32x4.gt_u\";\n export const i32x4_ge_s = \"~lib/builtins/i32x4.ge_s\";\n export const i32x4_ge_u = \"~lib/builtins/i32x4.ge_u\";\n export const i32x4_trunc_sat_f32x4_s = \"~lib/builtins/i32x4.trunc_sat_f32x4_s\";\n export const i32x4_trunc_sat_f32x4_u = \"~lib/builtins/i32x4.trunc_sat_f32x4_u\";\n export const i32x4_trunc_sat_f64x2_s_zero = \"~lib/builtins/i32x4.trunc_sat_f64x2_s_zero\";\n export const i32x4_trunc_sat_f64x2_u_zero = \"~lib/builtins/i32x4.trunc_sat_f64x2_u_zero\";\n export const i32x4_extend_low_i16x8_s = \"~lib/builtins/i32x4.extend_low_i16x8_s\";\n export const i32x4_extend_low_i16x8_u = \"~lib/builtins/i32x4.extend_low_i16x8_u\";\n export const i32x4_extend_high_i16x8_s = \"~lib/builtins/i32x4.extend_high_i16x8_s\";\n export const i32x4_extend_high_i16x8_u = \"~lib/builtins/i32x4.extend_high_i16x8_u\";\n export const i32x4_extadd_pairwise_i16x8_s = \"~lib/builtins/i32x4.extadd_pairwise_i16x8_s\";\n export const i32x4_extadd_pairwise_i16x8_u = \"~lib/builtins/i32x4.extadd_pairwise_i16x8_u\";\n export const i32x4_extmul_low_i16x8_s = \"~lib/builtins/i32x4.extmul_low_i16x8_s\";\n export const i32x4_extmul_low_i16x8_u = \"~lib/builtins/i32x4.extmul_low_i16x8_u\";\n export const i32x4_extmul_high_i16x8_s = \"~lib/builtins/i32x4.extmul_high_i16x8_s\";\n export const i32x4_extmul_high_i16x8_u = \"~lib/builtins/i32x4.extmul_high_i16x8_u\";\n export const i32x4_shuffle = \"~lib/builtins/i32x4.shuffle\";\n\n export const i64x2_splat = \"~lib/builtins/i64x2.splat\";\n export const i64x2_extract_lane = \"~lib/builtins/i64x2.extract_lane\";\n export const i64x2_replace_lane = \"~lib/builtins/i64x2.replace_lane\";\n export const i64x2_add = \"~lib/builtins/i64x2.add\";\n export const i64x2_sub = \"~lib/builtins/i64x2.sub\";\n export const i64x2_mul = \"~lib/builtins/i64x2.mul\";\n export const i64x2_abs = \"~lib/builtins/i64x2.abs\";\n export const i64x2_neg = \"~lib/builtins/i64x2.neg\";\n export const i64x2_shl = \"~lib/builtins/i64x2.shl\";\n export const i64x2_shr_s = \"~lib/builtins/i64x2.shr_s\";\n export const i64x2_shr_u = \"~lib/builtins/i64x2.shr_u\";\n export const i64x2_all_true = \"~lib/builtins/i64x2.all_true\";\n export const i64x2_bitmask = \"~lib/builtins/i64x2.bitmask\";\n export const i64x2_eq = \"~lib/builtins/i64x2.eq\";\n export const i64x2_ne = \"~lib/builtins/i64x2.ne\";\n export const i64x2_lt_s = \"~lib/builtins/i64x2.lt_s\";\n export const i64x2_lt_u = \"~lib/builtins/i64x2.lt_u\";\n export const i64x2_le_s = \"~lib/builtins/i64x2.le_s\";\n export const i64x2_le_u = \"~lib/builtins/i64x2.le_u\";\n export const i64x2_gt_s = \"~lib/builtins/i64x2.gt_s\";\n export const i64x2_gt_u = \"~lib/builtins/i64x2.gt_u\";\n export const i64x2_ge_s = \"~lib/builtins/i64x2.ge_s\";\n export const i64x2_ge_u = \"~lib/builtins/i64x2.ge_u\";\n export const i64x2_extend_low_i32x4_s = \"~lib/builtins/i64x2.extend_low_i32x4_s\";\n export const i64x2_extend_low_i32x4_u = \"~lib/builtins/i64x2.extend_low_i32x4_u\";\n export const i64x2_extend_high_i32x4_s = \"~lib/builtins/i64x2.extend_high_i32x4_s\";\n export const i64x2_extend_high_i32x4_u = \"~lib/builtins/i64x2.extend_high_i32x4_u\";\n export const i64x2_extmul_low_i32x4_s = \"~lib/builtins/i64x2.extmul_low_i32x4_s\";\n export const i64x2_extmul_low_i32x4_u = \"~lib/builtins/i64x2.extmul_low_i32x4_u\";\n export const i64x2_extmul_high_i32x4_s = \"~lib/builtins/i64x2.extmul_high_i32x4_s\";\n export const i64x2_extmul_high_i32x4_u = \"~lib/builtins/i64x2.extmul_high_i32x4_u\";\n export const i64x2_shuffle = \"~lib/builtins/i64x2.shuffle\";\n\n export const f32x4_splat = \"~lib/builtins/f32x4.splat\";\n export const f32x4_extract_lane = \"~lib/builtins/f32x4.extract_lane\";\n export const f32x4_replace_lane = \"~lib/builtins/f32x4.replace_lane\";\n export const f32x4_add = \"~lib/builtins/f32x4.add\";\n export const f32x4_sub = \"~lib/builtins/f32x4.sub\";\n export const f32x4_mul = \"~lib/builtins/f32x4.mul\";\n export const f32x4_div = \"~lib/builtins/f32x4.div\";\n export const f32x4_neg = \"~lib/builtins/f32x4.neg\";\n export const f32x4_min = \"~lib/builtins/f32x4.min\";\n export const f32x4_max = \"~lib/builtins/f32x4.max\";\n export const f32x4_pmin = \"~lib/builtins/f32x4.pmin\";\n export const f32x4_pmax = \"~lib/builtins/f32x4.pmax\";\n export const f32x4_abs = \"~lib/builtins/f32x4.abs\";\n export const f32x4_sqrt = \"~lib/builtins/f32x4.sqrt\";\n export const f32x4_ceil = \"~lib/builtins/f32x4.ceil\";\n export const f32x4_floor = \"~lib/builtins/f32x4.floor\";\n export const f32x4_trunc = \"~lib/builtins/f32x4.trunc\";\n export const f32x4_nearest = \"~lib/builtins/f32x4.nearest\";\n export const f32x4_eq = \"~lib/builtins/f32x4.eq\";\n export const f32x4_ne = \"~lib/builtins/f32x4.ne\";\n export const f32x4_lt = \"~lib/builtins/f32x4.lt\";\n export const f32x4_le = \"~lib/builtins/f32x4.le\";\n export const f32x4_gt = \"~lib/builtins/f32x4.gt\";\n export const f32x4_ge = \"~lib/builtins/f32x4.ge\";\n export const f32x4_convert_i32x4_s = \"~lib/builtins/f32x4.convert_i32x4_s\";\n export const f32x4_convert_i32x4_u = \"~lib/builtins/f32x4.convert_i32x4_u\";\n export const f32x4_demote_f64x2_zero = \"~lib/builtins/f32x4.demote_f64x2_zero\";\n export const f32x4_shuffle = \"~lib/builtins/f32x4.shuffle\";\n\n export const f64x2_splat = \"~lib/builtins/f64x2.splat\";\n export const f64x2_extract_lane = \"~lib/builtins/f64x2.extract_lane\";\n export const f64x2_replace_lane = \"~lib/builtins/f64x2.replace_lane\";\n export const f64x2_add = \"~lib/builtins/f64x2.add\";\n export const f64x2_sub = \"~lib/builtins/f64x2.sub\";\n export const f64x2_mul = \"~lib/builtins/f64x2.mul\";\n export const f64x2_div = \"~lib/builtins/f64x2.div\";\n export const f64x2_neg = \"~lib/builtins/f64x2.neg\";\n export const f64x2_min = \"~lib/builtins/f64x2.min\";\n export const f64x2_max = \"~lib/builtins/f64x2.max\";\n export const f64x2_pmin = \"~lib/builtins/f64x2.pmin\";\n export const f64x2_pmax = \"~lib/builtins/f64x2.pmax\";\n export const f64x2_abs = \"~lib/builtins/f64x2.abs\";\n export const f64x2_sqrt = \"~lib/builtins/f64x2.sqrt\";\n export const f64x2_ceil = \"~lib/builtins/f64x2.ceil\";\n export const f64x2_floor = \"~lib/builtins/f64x2.floor\";\n export const f64x2_trunc = \"~lib/builtins/f64x2.trunc\";\n export const f64x2_nearest = \"~lib/builtins/f64x2.nearest\";\n export const f64x2_eq = \"~lib/builtins/f64x2.eq\";\n export const f64x2_ne = \"~lib/builtins/f64x2.ne\";\n export const f64x2_lt = \"~lib/builtins/f64x2.lt\";\n export const f64x2_le = \"~lib/builtins/f64x2.le\";\n export const f64x2_gt = \"~lib/builtins/f64x2.gt\";\n export const f64x2_ge = \"~lib/builtins/f64x2.ge\";\n export const f64x2_convert_low_i32x4_s = \"~lib/builtins/f64x2.convert_low_i32x4_s\";\n export const f64x2_convert_low_i32x4_u = \"~lib/builtins/f64x2.convert_low_i32x4_u\";\n export const f64x2_promote_low_f32x4 = \"~lib/builtins/f64x2.promote_low_f32x4\";\n export const f64x2_shuffle = \"~lib/builtins/f64x2.shuffle\";\n\n export const i8x16_relaxed_swizzle = \"~lib/builtins/i8x16.relaxed_swizzle\";\n export const i32x4_relaxed_trunc_f32x4_s = \"~lib/builtins/i32x4.relaxed_trunc_f32x4_s\";\n export const i32x4_relaxed_trunc_f32x4_u = \"~lib/builtins/i32x4.relaxed_trunc_f32x4_u\";\n export const i32x4_relaxed_trunc_f64x2_s_zero = \"~lib/builtins/i32x4.relaxed_trunc_f64x2_s_zero\";\n export const i32x4_relaxed_trunc_f64x2_u_zero = \"~lib/builtins/i32x4.relaxed_trunc_f64x2_u_zero\";\n export const f32x4_relaxed_madd = \"~lib/builtins/f32x4.relaxed_madd\";\n export const f32x4_relaxed_nmadd = \"~lib/builtins/f32x4.relaxed_nmadd\";\n export const f64x2_relaxed_madd = \"~lib/builtins/f64x2.relaxed_madd\";\n export const f64x2_relaxed_nmadd = \"~lib/builtins/f64x2.relaxed_nmadd\";\n export const i8x16_relaxed_laneselect = \"~lib/builtins/i8x16.relaxed_laneselect\";\n export const i16x8_relaxed_laneselect = \"~lib/builtins/i16x8.relaxed_laneselect\";\n export const i32x4_relaxed_laneselect = \"~lib/builtins/i32x4.relaxed_laneselect\";\n export const i64x2_relaxed_laneselect = \"~lib/builtins/i64x2.relaxed_laneselect\";\n export const f32x4_relaxed_min = \"~lib/builtins/f32x4.relaxed_min\";\n export const f32x4_relaxed_max = \"~lib/builtins/f32x4.relaxed_max\";\n export const f64x2_relaxed_min = \"~lib/builtins/f64x2.relaxed_min\";\n export const f64x2_relaxed_max = \"~lib/builtins/f64x2.relaxed_max\";\n export const i16x8_relaxed_q15mulr_s = \"~lib/builtins/i16x8.relaxed_q15mulr_s\";\n export const i16x8_relaxed_dot_i8x16_i7x16_s = \"~lib/builtins/i16x8.relaxed_dot_i8x16_i7x16_s\";\n export const i32x4_relaxed_dot_i8x16_i7x16_add_s = \"~lib/builtins/i32x4.relaxed_dot_i8x16_i7x16_add_s\";\n\n export const i31_new = \"~lib/builtins/i31.new\";\n export const i31_get = \"~lib/builtins/i31.get\";\n\n // internals\n export const data_end = \"~lib/memory/__data_end\";\n export const stack_pointer = \"~lib/memory/__stack_pointer\";\n export const heap_base = \"~lib/memory/__heap_base\";\n export const rtti_base = \"~lib/rt/__rtti_base\";\n export const visit_globals = \"~lib/rt/__visit_globals\";\n export const visit_members = \"~lib/rt/__visit_members\";\n export const tostack = \"~lib/rt/__tostack\";\n\n // std/number.ts\n export const NaN = \"~lib/number/NaN\";\n export const Infinity = \"~lib/number/Infinity\";\n export const isNaN = \"~lib/number/isNaN\";\n export const isFinite = \"~lib/number/isFinite\";\n\n // std/diagnostics.ts\n export const ERROR = \"~lib/diagnostics/ERROR\";\n export const WARNING = \"~lib/diagnostics/WARNING\";\n export const INFO = \"~lib/diagnostics/INFO\";\n\n // std/function.ts\n export const Function = \"~lib/function/Function\";\n export const Function_call = \"~lib/function/Function#call\";\n\n // std/memory.ts\n export const memory_size = \"~lib/memory/memory.size\";\n export const memory_grow = \"~lib/memory/memory.grow\";\n export const memory_copy = \"~lib/memory/memory.copy\";\n export const memory_fill = \"~lib/memory/memory.fill\";\n export const memory_data = \"~lib/memory/memory.data\";\n\n // std/typedarray.ts\n export const Int8Array = \"~lib/typedarray/Int8Array\";\n export const Uint8Array = \"~lib/typedarray/Uint8Array\";\n export const Uint8ClampedArray = \"~lib/typedarray/Uint8ClampedArray\";\n export const Int16Array = \"~lib/typedarray/Int16Array\";\n export const Uint16Array = \"~lib/typedarray/Uint16Array\";\n export const Int32Array = \"~lib/typedarray/Int32Array\";\n export const Uint32Array = \"~lib/typedarray/Uint32Array\";\n export const Int64Array = \"~lib/typedarray/Int64Array\";\n export const Uint64Array = \"~lib/typedarray/Uint64Array\";\n export const Float32Array = \"~lib/typedarray/Float32Array\";\n export const Float64Array = \"~lib/typedarray/Float64Array\";\n\n // std/string.ts\n export const String_raw = \"~lib/string/String.raw\";\n export const String_eq = \"~lib/string/String.__eq\";\n export const String_ne = \"~lib/string/String.__ne\";\n export const String_not = \"~lib/string/String.__not\";\n\n // std/object.ts\n export const Object = \"~lib/object/Object\";\n}\n\n/** Builtin variable compilation context. */\nexport class BuiltinVariableContext {\n constructor(\n /** Compiler reference. */\n public compiler: Compiler,\n /** Variable being accessed. */\n public element: VariableLikeElement,\n /** Contextual type. */\n public contextualType: Type = element.type,\n /** Respective report expression. */\n public reportNode: IdentifierExpression = element.identifierNode\n ) {}\n}\n\n/** Builtin function compilation context. */\nexport class BuiltinFunctionContext {\n constructor(\n /** Compiler reference. */\n public compiler: Compiler,\n /** Prototype being called. */\n public prototype: FunctionPrototype,\n /** Provided type arguments. */\n public typeArguments: Type[] | null,\n /** Provided operands. */\n public operands: Expression[],\n /** Provided this operand, if any. */\n public thisOperand: Expression | null,\n /** Contextual type. */\n public contextualType: Type,\n /** Respective call expression. */\n public reportNode: CallExpression,\n /** Whether originating from inline assembly. */\n public contextIsExact: bool\n ) {}\n}\n\n/** Builtin functions map. */\nexport const builtinFunctions = new Map ExpressionRef>();\n\n/** Builtin variables map. */\nexport const builtinVariables_onCompile = new Map void>();\nexport const builtinVariables_onAccess = new Map ExpressionRef>();\n\n// === Static type evaluation =================================================================\n\n// helper global used by checkConstantType\nlet checkConstantType_expr: ExpressionRef = 0;\n\n// isBoolean() / isBoolean(value: T) -> bool\nfunction builtin_isBoolean(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n let type = checkConstantType(ctx);\n compiler.currentType = Type.bool;\n if (!type) return module.unreachable();\n return reifyConstantType(ctx, module.i32(type.isBooleanValue ? 1 : 0));\n}\nbuiltinFunctions.set(BuiltinNames.isBoolean, builtin_isBoolean);\n\n// isInteger() / isInteger(value: T) -> bool\nfunction builtin_isInteger(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n let type = checkConstantType(ctx);\n compiler.currentType = Type.bool;\n if (!type) return module.unreachable();\n return reifyConstantType(ctx, module.i32(type.isIntegerValue ? 1 : 0));\n}\nbuiltinFunctions.set(BuiltinNames.isInteger, builtin_isInteger);\n\n// isSigned() / isSigned(value: T) -> bool\nfunction builtin_isSigned(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n let type = checkConstantType(ctx);\n compiler.currentType = Type.bool;\n if (!type) return module.unreachable();\n return reifyConstantType(ctx, module.i32(type.isSignedIntegerValue ? 1 : 0));\n}\nbuiltinFunctions.set(BuiltinNames.isSigned, builtin_isSigned);\n\n// isFloat() / isFloat(value: T) -> bool\nfunction builtin_isFloat(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n let type = checkConstantType(ctx);\n compiler.currentType = Type.bool;\n if (!type) return module.unreachable();\n return reifyConstantType(ctx, module.i32(type.isFloatValue ? 1 : 0));\n}\nbuiltinFunctions.set(BuiltinNames.isFloat, builtin_isFloat);\n\n// isVector() / isVector(value: T) -> bool\nfunction builtin_isVector(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n let type = checkConstantType(ctx);\n compiler.currentType = Type.bool;\n if (!type) return module.unreachable();\n return reifyConstantType(ctx, module.i32(type.isVectorValue ? 1 : 0));\n}\nbuiltinFunctions.set(BuiltinNames.isVector, builtin_isVector);\n\n// isReference() / isReference(value: T) -> bool\nfunction builtin_isReference(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n let type = checkConstantType(ctx);\n compiler.currentType = Type.bool;\n if (!type) return module.unreachable();\n return reifyConstantType(ctx, module.i32(type.isReference ? 1 : 0));\n}\nbuiltinFunctions.set(BuiltinNames.isReference, builtin_isReference);\n\n// isString() / isString(value: T) -> bool\nfunction builtin_isString(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n let type = checkConstantType(ctx);\n compiler.currentType = Type.bool;\n if (!type) return module.unreachable();\n let classReference = type.getClass();\n return reifyConstantType(ctx,\n module.i32(\n classReference && classReference.isAssignableTo(compiler.program.stringInstance)\n ? 1\n : 0\n )\n );\n}\nbuiltinFunctions.set(BuiltinNames.isString, builtin_isString);\n\n// isArray() / isArray(value: T) -> bool\nfunction builtin_isArray(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n let type = checkConstantType(ctx);\n compiler.currentType = Type.bool;\n if (!type) return module.unreachable();\n let classReference = type.getClass();\n return reifyConstantType(ctx,\n module.i32(\n classReference && classReference.extendsPrototype(compiler.program.arrayPrototype)\n ? 1\n : 0\n )\n );\n}\nbuiltinFunctions.set(BuiltinNames.isArray, builtin_isArray);\n\n// isArrayLike() / isArrayLike(value: T) -> bool\nfunction builtin_isArrayLike(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n let type = checkConstantType(ctx);\n compiler.currentType = Type.bool;\n if (!type) return module.unreachable();\n let classReference = type.getClass();\n return reifyConstantType(ctx,\n module.i32(\n classReference && classReference.isArrayLike\n ? 1\n : 0\n )\n );\n}\nbuiltinFunctions.set(BuiltinNames.isArrayLike, builtin_isArrayLike);\n\n// isFunction / isFunction(value: T) -> bool\nfunction builtin_isFunction(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n let type = checkConstantType(ctx);\n compiler.currentType = Type.bool;\n if (!type) return module.unreachable();\n return reifyConstantType(ctx, module.i32(type.isFunction ? 1 : 0));\n}\nbuiltinFunctions.set(BuiltinNames.isFunction, builtin_isFunction);\n\n// isNullable / isNullable(value: T) -> bool\nfunction builtin_isNullable(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n let type = checkConstantType(ctx);\n compiler.currentType = Type.bool;\n if (!type) return module.unreachable();\n return reifyConstantType(ctx, module.i32(type.isNullableReference ? 1 : 0));\n}\nbuiltinFunctions.set(BuiltinNames.isNullable, builtin_isNullable);\n\n// isDefined(expression) -> bool\nfunction builtin_isDefined(ctx: BuiltinFunctionContext): ExpressionRef {\n // Note that `isDefined` neither compiles nor evaluates the given expression\n // but exclusively performs a check whether it can be compiled in theory.\n // This is not exactly unsafe due to only seemingly having side effects which\n // actually never happen, but may confuse tooling unaware of its semantics.\n let compiler = ctx.compiler;\n let module = compiler.module;\n compiler.currentType = Type.bool;\n if (\n checkTypeAbsent(ctx) |\n checkArgsRequired(ctx, 1)\n ) return module.unreachable();\n let element = compiler.resolver.lookupExpression(\n ctx.operands[0],\n compiler.currentFlow,\n Type.auto,\n ReportMode.Swallow\n );\n return module.i32(element ? 1 : 0);\n}\nbuiltinFunctions.set(BuiltinNames.isDefined, builtin_isDefined);\n\n// isConstant(expression) -> bool\nfunction builtin_isConstant(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n compiler.currentType = Type.bool;\n if (\n checkTypeAbsent(ctx) |\n checkArgsRequired(ctx, 1)\n ) return module.unreachable();\n let expr = compiler.compileExpression(ctx.operands[0], Type.auto);\n compiler.currentType = Type.bool;\n if (!mustPreserveSideEffects(expr, module.ref)) {\n return module.i32(module.isConstExpression(expr) ? 1 : 0);\n }\n return module.block(null, [\n module.maybeDrop(expr),\n module.i32(0)\n ], getExpressionType(expr));\n}\nbuiltinFunctions.set(BuiltinNames.isConstant, builtin_isConstant);\n\n// isManaged() -> bool\nfunction builtin_isManaged(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n let type = checkConstantType(ctx);\n compiler.currentType = Type.bool;\n if (!type) return module.unreachable();\n return reifyConstantType(ctx, module.i32(type.isManaged ? 1 : 0));\n}\nbuiltinFunctions.set(BuiltinNames.isManaged, builtin_isManaged);\n\n// isVoid() -> bool\nfunction builtin_isVoid(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n let type = checkConstantType(ctx);\n compiler.currentType = Type.bool;\n if (!type) return module.unreachable();\n return reifyConstantType(ctx, module.i32(type.kind == TypeKind.Void ? 1 : 0));\n}\nbuiltinFunctions.set(BuiltinNames.isVoid, builtin_isVoid);\n\n// lengthof() -> i32\nfunction builtin_lengthof(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n let type = checkConstantType(ctx);\n compiler.currentType = Type.i32;\n if (!type) return module.unreachable();\n let signatureReference = type.signatureReference;\n if (!signatureReference) {\n compiler.error(\n DiagnosticCode.Type_0_has_no_call_signatures,\n ctx.reportNode.range, type.toString()\n );\n return module.unreachable();\n }\n return reifyConstantType(ctx, module.i32(signatureReference.parameterTypes.length));\n}\nbuiltinFunctions.set(BuiltinNames.lengthof, builtin_lengthof);\n\n// sizeof() -> usize*\nfunction builtin_sizeof(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n compiler.currentType = compiler.options.usizeType;\n if (\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 0)\n ) return module.unreachable();\n let type = ctx.typeArguments![0];\n let byteSize = type.byteSize;\n if (!byteSize) {\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"sizeof\", type.toString()\n );\n return module.unreachable();\n }\n return contextualUsize(compiler, i64_new(byteSize), ctx.contextualType);\n}\nbuiltinFunctions.set(BuiltinNames.sizeof, builtin_sizeof);\n\n// alignof() -> usize*\nfunction builtin_alignof(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n compiler.currentType = compiler.options.usizeType;\n if (\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 0)\n ) return module.unreachable();\n let type = ctx.typeArguments![0];\n let byteSize = type.byteSize;\n if (!isPowerOf2(byteSize)) { // implies == 0\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"alignof\", type.toString()\n );\n return module.unreachable();\n }\n return contextualUsize(compiler, i64_new(ctz(byteSize)), ctx.contextualType);\n}\nbuiltinFunctions.set(BuiltinNames.alignof, builtin_alignof);\n\n// offsetof(fieldName?: string) -> usize*\nfunction builtin_offsetof(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n compiler.currentType = compiler.options.usizeType;\n if (\n checkTypeRequired(ctx) |\n checkArgsOptional(ctx, 0, 1)\n ) return module.unreachable();\n let operands = ctx.operands;\n let contextualType = ctx.contextualType;\n let type = ctx.typeArguments![0];\n let classReference = type.getClassOrWrapper(compiler.program);\n if (!classReference) {\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"offsetof\", type.toString()\n );\n if (compiler.options.isWasm64) {\n if (contextualType.isIntegerValue && contextualType.size <= 32) {\n compiler.currentType = Type.u32;\n }\n } else {\n if (contextualType.isIntegerValue && contextualType.size == 64) {\n compiler.currentType = Type.u64;\n }\n }\n return module.unreachable();\n }\n if (operands.length) {\n let firstOperand = operands[0];\n if (!firstOperand.isLiteralKind(LiteralKind.String)) {\n compiler.error(\n DiagnosticCode.String_literal_expected,\n operands[0].range\n );\n return module.unreachable();\n }\n let fieldName = (firstOperand).value;\n let fieldMember = classReference.getMember(fieldName);\n if (fieldMember && fieldMember.kind == ElementKind.PropertyPrototype) {\n let property = (fieldMember).instance;\n if (property && property.isField) {\n assert(property.memoryOffset >= 0);\n return contextualUsize(compiler, i64_new(property.memoryOffset), contextualType);\n }\n }\n compiler.error(\n DiagnosticCode.Type_0_has_no_property_1,\n firstOperand.range, classReference.internalName, fieldName\n );\n return module.unreachable();\n }\n return contextualUsize(compiler, i64_new(classReference.nextMemoryOffset), contextualType);\n}\nbuiltinFunctions.set(BuiltinNames.offsetof, builtin_offsetof);\n\n// nameof -> string\nfunction builtin_nameof(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n let resultType = checkConstantType(ctx);\n if (!resultType) {\n compiler.currentType = compiler.program.stringInstance.type;\n return module.unreachable();\n }\n let value: string;\n if (resultType.isInternalReference) {\n let classReference = resultType.getClass();\n if (classReference) {\n value = classReference.name;\n } else {\n assert(resultType.getSignature());\n value = \"Function\";\n }\n } else {\n value = resultType.toString();\n }\n return reifyConstantType(ctx, compiler.ensureStaticString(value));\n}\nbuiltinFunctions.set(BuiltinNames.nameof, builtin_nameof);\n\n// idof -> u32\nfunction builtin_idof(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n let type = checkConstantType(ctx);\n compiler.currentType = Type.u32;\n if (!type) return module.unreachable();\n let signatureReference = type.getSignature();\n if (signatureReference) {\n return reifyConstantType(ctx, module.i32(signatureReference.id));\n }\n let classReference = type.getClassOrWrapper(compiler.program);\n if (classReference && !classReference.hasDecorator(DecoratorFlags.Unmanaged)) {\n return reifyConstantType(ctx, module.i32(classReference.id));\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"idof\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.idof, builtin_idof);\n\n// === Math ===================================================================================\n\n// NaN\nfunction builtin_NaN_compile(ctx: BuiltinVariableContext): void {\n let element = ctx.element;\n if (element.is(CommonFlags.ModuleExport)) {\n let module = ctx.compiler.module;\n module.addGlobal(element.internalName, TypeRef.F64, false, module.f64(NaN));\n }\n}\nbuiltinVariables_onCompile.set(BuiltinNames.NaN, builtin_NaN_compile);\n\n// NaN -> f32 | f64\nfunction builtin_NaN_access(ctx: BuiltinVariableContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (ctx.contextualType == Type.f32) {\n compiler.currentType = Type.f32;\n return module.f32(NaN);\n }\n compiler.currentType = Type.f64;\n return module.f64(NaN);\n}\nbuiltinVariables_onAccess.set(BuiltinNames.NaN, builtin_NaN_access);\n\n// Infinity\nfunction builtin_Infinity_compile(ctx: BuiltinVariableContext): void {\n let element = ctx.element;\n if (element.is(CommonFlags.ModuleExport)) {\n let module = ctx.compiler.module;\n module.addGlobal(element.internalName, TypeRef.F64, false, module.f64(Infinity));\n }\n}\nbuiltinVariables_onCompile.set(BuiltinNames.Infinity, builtin_Infinity_compile);\n\n// Infinity -> f32 | f64\nfunction builtin_Infinity_access(ctx: BuiltinVariableContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (ctx.contextualType == Type.f32) {\n compiler.currentType = Type.f32;\n return module.f32(Infinity);\n }\n compiler.currentType = Type.f64;\n return module.f64(Infinity);\n}\nbuiltinVariables_onAccess.set(BuiltinNames.Infinity, builtin_Infinity_access);\n\n// clz(value: T) -> T\nfunction builtin_clz(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkTypeOptional(ctx, true) |\n checkArgsRequired(ctx, 1)\n ) return module.unreachable();\n let typeArguments = ctx.typeArguments;\n let arg0 = typeArguments\n ? compiler.compileExpression(ctx.operands[0], typeArguments[0], Constraints.ConvImplicit | Constraints.MustWrap)\n : compiler.compileExpression(ctx.operands[0], Type.i32, Constraints.MustWrap);\n let type = compiler.currentType;\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.Bool: // not wrapped\n case TypeKind.I8:\n case TypeKind.U8:\n case TypeKind.I16:\n case TypeKind.U16:\n case TypeKind.I32:\n case TypeKind.U32: return module.unary(UnaryOp.ClzI32, arg0);\n case TypeKind.Isize:\n case TypeKind.Usize: return module.unary(UnaryOp.ClzSize, arg0);\n case TypeKind.I64:\n case TypeKind.U64: return module.unary(UnaryOp.ClzI64, arg0);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"clz\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.clz, builtin_clz);\n\n// ctz(value: T) -> T\nfunction builtin_ctz(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkTypeOptional(ctx, true) |\n checkArgsRequired(ctx, 1)\n ) return module.unreachable();\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments;\n let arg0 = typeArguments\n ? compiler.compileExpression(operands[0], typeArguments[0], Constraints.ConvImplicit | Constraints.MustWrap)\n : compiler.compileExpression(operands[0], Type.i32, Constraints.MustWrap);\n let type = compiler.currentType;\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.Bool: // not wrapped\n case TypeKind.I8:\n case TypeKind.U8:\n case TypeKind.I16:\n case TypeKind.U16:\n case TypeKind.I32:\n case TypeKind.U32: return module.unary(UnaryOp.CtzI32, arg0);\n case TypeKind.Isize:\n case TypeKind.Usize: return module.unary(UnaryOp.CtzSize, arg0);\n case TypeKind.I64:\n case TypeKind.U64: return module.unary(UnaryOp.CtzI64, arg0);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"ctz\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.ctz, builtin_ctz);\n\n// popcnt(value: T) -> T\nfunction builtin_popcnt(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkTypeOptional(ctx, true) |\n checkArgsRequired(ctx, 1)\n ) return module.unreachable();\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments;\n let arg0 = typeArguments\n ? compiler.compileExpression(operands[0], typeArguments[0], Constraints.ConvImplicit | Constraints.MustWrap)\n : compiler.compileExpression(operands[0], Type.i32, Constraints.MustWrap);\n let type = compiler.currentType;\n if (type.isValue) {\n switch (compiler.currentType.kind) {\n case TypeKind.Bool: return arg0;\n case TypeKind.I8: // not wrapped\n case TypeKind.U8:\n case TypeKind.I16:\n case TypeKind.U16:\n case TypeKind.I32:\n case TypeKind.U32: return module.unary(UnaryOp.PopcntI32, arg0);\n case TypeKind.I64:\n case TypeKind.U64: return module.unary(UnaryOp.PopcntI64, arg0);\n case TypeKind.Isize:\n case TypeKind.Usize: return module.unary(UnaryOp.PopcntSize, arg0);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"popcnt\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.popcnt, builtin_popcnt);\n\n// rotl(value: T, shift: T) -> T\nfunction builtin_rotl(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkTypeOptional(ctx, true) |\n checkArgsRequired(ctx, 2)\n ) return module.unreachable();\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments;\n let arg0 = typeArguments\n ? compiler.compileExpression(operands[0], typeArguments[0], Constraints.ConvImplicit | Constraints.MustWrap)\n : compiler.compileExpression(operands[0], Type.i32, Constraints.MustWrap);\n let type = compiler.currentType;\n if (type.isValue) {\n let arg1 = compiler.compileExpression(operands[1], type, Constraints.ConvImplicit);\n switch (type.kind) {\n case TypeKind.Bool: return arg0;\n case TypeKind.I8:\n case TypeKind.I16:\n case TypeKind.U8:\n case TypeKind.U16: {\n // (value << (shift & mask)) | (value >>> ((0 - shift) & mask))\n let flow = compiler.currentFlow;\n let temp1 = flow.getTempLocal(type);\n flow.setLocalFlag(temp1.index, LocalFlags.Wrapped);\n let temp2 = flow.getTempLocal(type);\n flow.setLocalFlag(temp2.index, LocalFlags.Wrapped);\n\n let ret = module.binary(BinaryOp.OrI32,\n module.binary(\n BinaryOp.ShlI32,\n module.local_tee(temp1.index, arg0, false), // i32\n module.binary(\n BinaryOp.AndI32,\n module.local_tee(temp2.index, arg1, false), // i32\n module.i32(type.size - 1)\n )\n ),\n module.binary(\n BinaryOp.ShrU32,\n module.local_get(temp1.index, TypeRef.I32),\n module.binary(\n BinaryOp.AndI32,\n module.binary(\n BinaryOp.SubI32,\n module.i32(0),\n module.local_get(temp2.index, TypeRef.I32)\n ),\n module.i32(type.size - 1)\n )\n )\n );\n\n return ret;\n }\n case TypeKind.I32:\n case TypeKind.U32: return module.binary(BinaryOp.RotlI32, arg0, arg1);\n case TypeKind.I64:\n case TypeKind.U64: return module.binary(BinaryOp.RotlI64, arg0, arg1);\n case TypeKind.Isize:\n case TypeKind.Usize: return module.binary(BinaryOp.RotlSize, arg0, arg1);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"rotl\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.rotl, builtin_rotl);\n\n// rotr(value: T, shift: T) -> T\nfunction builtin_rotr(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkTypeOptional(ctx, true) |\n checkArgsRequired(ctx, 2)\n ) return module.unreachable();\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments;\n let arg0 = typeArguments\n ? compiler.compileExpression(operands[0], typeArguments[0], Constraints.ConvImplicit | Constraints.MustWrap)\n : compiler.compileExpression(operands[0], Type.i32, Constraints.MustWrap);\n let type = compiler.currentType;\n if (type.isValue) {\n let arg1 = compiler.compileExpression(operands[1], type, Constraints.ConvImplicit);\n switch (type.kind) {\n case TypeKind.Bool: return arg0;\n case TypeKind.I8:\n case TypeKind.I16:\n case TypeKind.U8:\n case TypeKind.U16: {\n // (value >>> (shift & mask)) | (value << ((0 - shift) & mask))\n let flow = compiler.currentFlow;\n let temp1 = flow.getTempLocal(type);\n flow.setLocalFlag(temp1.index, LocalFlags.Wrapped);\n let temp2 = flow.getTempLocal(type);\n flow.setLocalFlag(temp2.index, LocalFlags.Wrapped);\n\n let ret = module.binary(BinaryOp.OrI32,\n module.binary(\n BinaryOp.ShrU32,\n module.local_tee(temp1.index, arg0, false), // i32\n module.binary(\n BinaryOp.AndI32,\n module.local_tee(temp2.index, arg1, false), // i32\n module.i32(type.size - 1)\n )\n ),\n module.binary(\n BinaryOp.ShlI32,\n module.local_get(temp1.index, TypeRef.I32),\n module.binary(\n BinaryOp.AndI32,\n module.binary(\n BinaryOp.SubI32,\n module.i32(0),\n module.local_get(temp2.index, TypeRef.I32)\n ),\n module.i32(type.size - 1)\n )\n )\n );\n\n return ret;\n }\n case TypeKind.I32:\n case TypeKind.U32: return module.binary(BinaryOp.RotrI32, arg0, arg1);\n case TypeKind.I64:\n case TypeKind.U64: return module.binary(BinaryOp.RotrI64, arg0, arg1);\n case TypeKind.Isize:\n case TypeKind.Usize: return module.binary(BinaryOp.RotrSize, arg0, arg1);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"rotr\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.rotr, builtin_rotr);\n\n// abs(value: T) -> T\nfunction builtin_abs(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkTypeOptional(ctx, true) |\n checkArgsRequired(ctx, 1)\n ) return module.unreachable();\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments;\n let arg0 = typeArguments\n ? compiler.compileExpression(operands[0], typeArguments[0], Constraints.ConvImplicit | Constraints.MustWrap)\n : compiler.compileExpression(operands[0], Type.auto, Constraints.MustWrap);\n let type = compiler.currentType;\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.Bool:\n case TypeKind.U8:\n case TypeKind.U16:\n case TypeKind.U32:\n case TypeKind.U64:\n case TypeKind.Usize: return arg0;\n case TypeKind.I8:\n case TypeKind.I16:\n case TypeKind.I32: {\n let flow = compiler.currentFlow;\n\n // possibly overflows, e.g. abs(-128) == 128\n let temp1 = flow.getTempLocal(Type.i32);\n let temp2 = flow.getTempLocal(Type.i32);\n // (x + (x >> 31)) ^ (x >> 31)\n let ret = module.binary(BinaryOp.XorI32,\n module.binary(BinaryOp.AddI32,\n module.local_tee(\n temp2.index,\n module.binary(BinaryOp.ShrI32,\n module.local_tee(temp1.index, arg0, false), // i32\n module.i32(31)\n ),\n false // i32\n ),\n module.local_get(temp1.index, TypeRef.I32)\n ),\n module.local_get(temp2.index, TypeRef.I32)\n );\n return ret;\n }\n case TypeKind.Isize: {\n let options = compiler.options;\n let flow = compiler.currentFlow;\n\n let temp1 = flow.getTempLocal(options.usizeType);\n let temp2 = flow.getTempLocal(options.usizeType);\n let ret = module.binary(BinaryOp.XorSize,\n module.binary(BinaryOp.AddSize,\n module.local_tee(\n temp2.index,\n module.binary(BinaryOp.ShrISize,\n module.local_tee(temp1.index, arg0, false), // i32/i64\n compiler.options.isWasm64\n ? module.i64(63)\n : module.i32(31)\n ),\n false // i32/i64\n ),\n module.local_get(temp1.index, options.sizeTypeRef)\n ),\n module.local_get(temp2.index, options.sizeTypeRef)\n );\n return ret;\n }\n case TypeKind.I64: {\n let flow = compiler.currentFlow;\n\n let temp1 = flow.getTempLocal(Type.i64);\n let temp2 = flow.getTempLocal(Type.i64);\n // (x + (x >> 63)) ^ (x >> 63)\n let ret = module.binary(BinaryOp.XorI64,\n module.binary(BinaryOp.AddI64,\n module.local_tee(\n temp2.index,\n module.binary(BinaryOp.ShrI64,\n module.local_tee(temp1.index, arg0, false), // i64\n module.i64(63)\n ),\n false // i64\n ),\n module.local_get(temp1.index, TypeRef.I64)\n ),\n module.local_get(temp2.index, TypeRef.I64)\n );\n return ret;\n }\n case TypeKind.F32: return module.unary(UnaryOp.AbsF32, arg0);\n case TypeKind.F64: return module.unary(UnaryOp.AbsF64, arg0);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"abs\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.abs, builtin_abs);\n\n// max(left: T, right: T) -> T\nfunction builtin_max(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkTypeOptional(ctx, true) |\n checkArgsRequired(ctx, 2)\n ) return module.unreachable();\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments;\n let left = operands[0];\n let arg0 = typeArguments\n ? compiler.compileExpression(left, typeArguments[0], Constraints.ConvImplicit | Constraints.MustWrap)\n : compiler.compileExpression(operands[0], Type.auto, Constraints.MustWrap);\n let type = compiler.currentType;\n if (type.isValue) {\n let arg1: ExpressionRef;\n if (!typeArguments && left.isNumericLiteral) { // prefer right type\n arg1 = compiler.compileExpression(operands[1], type, Constraints.MustWrap);\n if (compiler.currentType != type) {\n arg0 = compiler.compileExpression(left, type = compiler.currentType, Constraints.ConvImplicit | Constraints.MustWrap);\n }\n } else {\n arg1 = compiler.compileExpression(operands[1], type, Constraints.ConvImplicit | Constraints.MustWrap);\n }\n let op: BinaryOp = -1;\n switch (type.kind) {\n case TypeKind.I8:\n case TypeKind.I16:\n case TypeKind.I32: { op = BinaryOp.GtI32; break; }\n case TypeKind.Bool:\n case TypeKind.U8:\n case TypeKind.U16:\n case TypeKind.U32: { op = BinaryOp.GtU32; break; }\n case TypeKind.I64: { op = BinaryOp.GtI64; break; }\n case TypeKind.U64: { op = BinaryOp.GtU64; break; }\n case TypeKind.Isize: { op = BinaryOp.GtISize; break; }\n case TypeKind.Usize: { op = BinaryOp.GtUSize; break; }\n case TypeKind.F32: return module.binary(BinaryOp.MaxF32, arg0, arg1);\n case TypeKind.F64: return module.binary(BinaryOp.MaxF64, arg0, arg1);\n }\n if (op as i32 != -1) {\n let flow = compiler.currentFlow;\n let typeRef = type.toRef();\n let temp1 = flow.getTempLocal(type);\n flow.setLocalFlag(temp1.index, LocalFlags.Wrapped);\n let temp2 = flow.getTempLocal(type);\n flow.setLocalFlag(temp2.index, LocalFlags.Wrapped);\n let ret = module.select(\n module.local_tee(temp1.index, arg0, false), // numeric\n module.local_tee(temp2.index, arg1, false), // numeric\n module.binary(op,\n module.local_get(temp1.index, typeRef),\n module.local_get(temp2.index, typeRef)\n ),\n typeRef\n );\n return ret;\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"max\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.max, builtin_max);\n\n// min(left: T, right: T) -> T\nfunction builtin_min(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkTypeOptional(ctx, true) |\n checkArgsRequired(ctx, 2)\n ) return module.unreachable();\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments;\n let left = operands[0];\n let arg0 = typeArguments\n ? compiler.compileExpression(left, typeArguments[0], Constraints.ConvImplicit | Constraints.MustWrap)\n : compiler.compileExpression(operands[0], Type.auto, Constraints.MustWrap);\n let type = compiler.currentType;\n if (type.isValue) {\n let arg1: ExpressionRef;\n if (!typeArguments && left.isNumericLiteral) { // prefer right type\n arg1 = compiler.compileExpression(operands[1], type, Constraints.MustWrap);\n if (compiler.currentType != type) {\n arg0 = compiler.compileExpression(left, type = compiler.currentType, Constraints.ConvImplicit | Constraints.MustWrap);\n }\n } else {\n arg1 = compiler.compileExpression(operands[1], type, Constraints.ConvImplicit | Constraints.MustWrap);\n }\n let op: BinaryOp = -1;\n switch (type.kind) {\n case TypeKind.I8:\n case TypeKind.I16:\n case TypeKind.I32: { op = BinaryOp.LtI32; break; }\n case TypeKind.Bool:\n case TypeKind.U8:\n case TypeKind.U16:\n case TypeKind.U32: { op = BinaryOp.LtU32; break; }\n case TypeKind.I64: { op = BinaryOp.LtI64; break; }\n case TypeKind.U64: { op = BinaryOp.LtU64; break; }\n case TypeKind.Isize: { op = BinaryOp.LtISize; break; }\n case TypeKind.Usize: { op = BinaryOp.LtUSize; break; }\n case TypeKind.F32: return module.binary(BinaryOp.MinF32, arg0, arg1);\n case TypeKind.F64: return module.binary(BinaryOp.MinF64, arg0, arg1);\n }\n if (op as i32 != -1) {\n let flow = compiler.currentFlow;\n let typeRef = type.toRef();\n let temp1 = flow.getTempLocal(type);\n flow.setLocalFlag(temp1.index, LocalFlags.Wrapped);\n let temp2 = flow.getTempLocal(type);\n flow.setLocalFlag(temp2.index, LocalFlags.Wrapped);\n let ret = module.select(\n module.local_tee(temp1.index, arg0, false), // numeric\n module.local_tee(temp2.index, arg1, false), // numeric\n module.binary(op,\n module.local_get(temp1.index, typeRef),\n module.local_get(temp2.index, typeRef)\n ),\n typeRef\n );\n return ret;\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"min\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.min, builtin_min);\n\n// ceil(value: T) -> T\nfunction builtin_ceil(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkTypeOptional(ctx, true) |\n checkArgsRequired(ctx, 1)\n ) return module.unreachable();\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments;\n let arg0 = typeArguments\n ? compiler.compileExpression(operands[0], typeArguments[0], Constraints.ConvImplicit)\n : compiler.compileExpression(operands[0], Type.auto, Constraints.None);\n let type = compiler.currentType;\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.Bool:\n case TypeKind.I8:\n case TypeKind.I16:\n case TypeKind.I32:\n case TypeKind.I64:\n case TypeKind.Isize:\n case TypeKind.U8:\n case TypeKind.U16:\n case TypeKind.U32:\n case TypeKind.U64:\n case TypeKind.Usize: return arg0; // considered rounded\n case TypeKind.F32: return module.unary(UnaryOp.CeilF32, arg0);\n case TypeKind.F64: return module.unary(UnaryOp.CeilF64, arg0);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"ceil\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.ceil, builtin_ceil);\n\n// floor(value: T) -> T\nfunction builtin_floor(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkTypeOptional(ctx, true) |\n checkArgsRequired(ctx, 1)\n ) return module.unreachable();\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments;\n let arg0 = typeArguments\n ? compiler.compileExpression(operands[0], typeArguments[0], Constraints.ConvImplicit)\n : compiler.compileExpression(operands[0], Type.auto, Constraints.None);\n let type = compiler.currentType;\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.Bool:\n case TypeKind.I8:\n case TypeKind.I16:\n case TypeKind.I32:\n case TypeKind.I64:\n case TypeKind.Isize:\n case TypeKind.U8:\n case TypeKind.U16:\n case TypeKind.U32:\n case TypeKind.U64:\n case TypeKind.Usize: return arg0; // considered rounded\n case TypeKind.F32: return module.unary(UnaryOp.FloorF32, arg0);\n case TypeKind.F64: return module.unary(UnaryOp.FloorF64, arg0);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"floor\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.floor, builtin_floor);\n\n// copysign(left: T, right: T) -> T\nfunction builtin_copysign(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkTypeOptional(ctx, true) |\n checkArgsRequired(ctx, 2)\n ) return module.unreachable();\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments;\n let arg0 = typeArguments\n ? compiler.compileExpression(operands[0], typeArguments[0], Constraints.ConvImplicit)\n : compiler.compileExpression(operands[0], Type.f64, Constraints.None);\n let type = compiler.currentType;\n if (type.isValue) {\n let arg1 = compiler.compileExpression(operands[1], type, Constraints.ConvImplicit);\n switch (type.kind) {\n // TODO: does an integer version make sense?\n case TypeKind.F32: return module.binary(BinaryOp.CopysignF32, arg0, arg1);\n case TypeKind.F64: return module.binary(BinaryOp.CopysignF64, arg0, arg1);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"copysign\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.copysign, builtin_copysign);\n\n// nearest(value: T) -> T\nfunction builtin_nearest(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkTypeOptional(ctx, true) |\n checkArgsRequired(ctx, 1)\n ) return module.unreachable();\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments;\n let arg0 = typeArguments\n ? compiler.compileExpression(operands[0], typeArguments[0], Constraints.ConvImplicit)\n : compiler.compileExpression(operands[0], Type.auto, Constraints.None);\n let type = compiler.currentType;\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.Bool:\n case TypeKind.I8:\n case TypeKind.I16:\n case TypeKind.I32:\n case TypeKind.I64:\n case TypeKind.Isize:\n case TypeKind.U8:\n case TypeKind.U16:\n case TypeKind.U32:\n case TypeKind.U64:\n case TypeKind.Usize: return arg0;\n case TypeKind.F32: return module.unary(UnaryOp.NearestF32, arg0);\n case TypeKind.F64: return module.unary(UnaryOp.NearestF64, arg0);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"nearest\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.nearest, builtin_nearest);\n\n// reinterpret(value: *) -> T\nfunction builtin_reinterpret(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkTypeRequired(ctx, true) |\n checkArgsRequired(ctx, 1)\n ) return module.unreachable();\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments;\n let type = typeArguments![0];\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.I32:\n case TypeKind.U32: {\n let arg0 = compiler.compileExpression(operands[0], Type.f32, Constraints.ConvImplicit);\n compiler.currentType = type;\n return module.unary(UnaryOp.ReinterpretF32ToI32, arg0);\n }\n case TypeKind.I64:\n case TypeKind.U64: {\n let arg0 = compiler.compileExpression(operands[0], Type.f64, Constraints.ConvImplicit);\n compiler.currentType = type;\n return module.unary(UnaryOp.ReinterpretF64ToI64, arg0);\n }\n case TypeKind.Isize:\n case TypeKind.Usize: {\n let isWasm64 = compiler.options.isWasm64;\n let arg0 = compiler.compileExpression(operands[0],\n isWasm64 ? Type.f64 : Type.f32,\n Constraints.ConvImplicit\n );\n compiler.currentType = type;\n return module.unary(\n isWasm64\n ? UnaryOp.ReinterpretF64ToI64\n : UnaryOp.ReinterpretF32ToI32,\n arg0\n );\n }\n case TypeKind.F32: {\n let arg0 = compiler.compileExpression(operands[0], Type.i32, Constraints.ConvImplicit);\n compiler.currentType = Type.f32;\n return module.unary(UnaryOp.ReinterpretI32ToF32, arg0);\n }\n case TypeKind.F64: {\n let arg0 = compiler.compileExpression(operands[0], Type.i64, Constraints.ConvImplicit);\n compiler.currentType = Type.f64;\n return module.unary(UnaryOp.ReinterpretI64ToF64, arg0);\n }\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"reinterpret\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.reinterpret, builtin_reinterpret);\n\n// sqrt(value: T) -> T\nfunction builtin_sqrt(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkTypeOptional(ctx, true) |\n checkArgsRequired(ctx, 1)\n ) return module.unreachable();\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments;\n let arg0 = typeArguments\n ? compiler.compileExpression(operands[0], typeArguments[0], Constraints.ConvImplicit)\n : compiler.compileExpression(operands[0], Type.f64, Constraints.None);\n let type = compiler.currentType;\n if (type.isValue) {\n switch (type.kind) {\n // TODO: integer versions (that return f64 or convert)?\n case TypeKind.F32: return module.unary(UnaryOp.SqrtF32, arg0);\n case TypeKind.F64: return module.unary(UnaryOp.SqrtF64, arg0);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"sqrt\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.sqrt, builtin_sqrt);\n\n// trunc(value: T) -> T\nfunction builtin_trunc(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkTypeOptional(ctx, true) |\n checkArgsRequired(ctx, 1)\n ) return module.unreachable();\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments;\n let arg0 = typeArguments\n ? compiler.compileExpression(operands[0], typeArguments[0], Constraints.ConvImplicit)\n : compiler.compileExpression(operands[0], Type.auto, Constraints.None);\n let type = compiler.currentType;\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.Bool:\n case TypeKind.I8:\n case TypeKind.I16:\n case TypeKind.I32:\n case TypeKind.I64:\n case TypeKind.Isize:\n case TypeKind.U8:\n case TypeKind.U16:\n case TypeKind.U32:\n case TypeKind.U64:\n case TypeKind.Usize: return arg0; // considered truncated\n case TypeKind.F32: return module.unary(UnaryOp.TruncF32, arg0);\n case TypeKind.F64: return module.unary(UnaryOp.TruncF64, arg0);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"trunc\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.trunc, builtin_trunc);\n\n// isNaN(value: T) -> bool\nfunction builtin_isNaN(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkTypeOptional(ctx) |\n checkArgsRequired(ctx, 1)\n ) {\n compiler.currentType = Type.bool;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments;\n let arg0 = typeArguments\n ? compiler.compileExpression(operands[0], typeArguments[0], Constraints.ConvImplicit)\n : compiler.compileExpression(operands[0], Type.auto);\n let type = compiler.currentType;\n compiler.currentType = Type.bool;\n if (type.isValue) {\n switch (type.kind) {\n // never NaN\n case TypeKind.I8:\n case TypeKind.I16:\n case TypeKind.I32:\n case TypeKind.I64:\n case TypeKind.Isize:\n case TypeKind.U8:\n case TypeKind.U16:\n case TypeKind.U32:\n case TypeKind.U64:\n case TypeKind.Usize: {\n return module.maybeDropCondition(arg0, module.i32(0));\n }\n // (t = arg0) != t\n case TypeKind.F32: {\n if (getExpressionId(arg0) == ExpressionId.LocalGet) {\n return module.binary(BinaryOp.NeF32,\n arg0,\n module.local_get(getLocalGetIndex(arg0), TypeRef.F32)\n );\n }\n let flow = compiler.currentFlow;\n let temp = flow.getTempLocal(Type.f32);\n let ret = module.binary(BinaryOp.NeF32,\n module.local_tee(temp.index, arg0, false), // f32\n module.local_get(temp.index, TypeRef.F32)\n );\n return ret;\n }\n case TypeKind.F64: {\n if (getExpressionId(arg0) == ExpressionId.LocalGet) {\n return module.binary(BinaryOp.NeF64,\n arg0,\n module.local_get(getLocalGetIndex(arg0), TypeRef.F64)\n );\n }\n let flow = compiler.currentFlow;\n let temp = flow.getTempLocal(Type.f64);\n let ret = module.binary(BinaryOp.NeF64,\n module.local_tee(temp.index, arg0, false), // f64\n module.local_get(temp.index, TypeRef.F64)\n );\n return ret;\n }\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"isNaN\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.isNaN, builtin_isNaN);\n\n// isFinite(value: T) -> bool\nfunction builtin_isFinite(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkTypeOptional(ctx) |\n checkArgsRequired(ctx, 1)\n ) {\n compiler.currentType = Type.bool;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments;\n let arg0 = typeArguments\n ? compiler.compileExpression(operands[0], typeArguments[0], Constraints.ConvImplicit)\n : compiler.compileExpression(operands[0], Type.auto);\n let type = compiler.currentType;\n compiler.currentType = Type.bool;\n if (type.isValue) {\n switch (type.kind) {\n // always finite\n case TypeKind.I8:\n case TypeKind.I16:\n case TypeKind.I32:\n case TypeKind.I64:\n case TypeKind.Isize:\n case TypeKind.U8:\n case TypeKind.U16:\n case TypeKind.U32:\n case TypeKind.U64:\n case TypeKind.Usize: {\n return module.maybeDropCondition(arg0, module.i32(1));\n }\n // (t = arg0) - t == 0\n case TypeKind.F32: {\n if (getExpressionId(arg0) == ExpressionId.LocalGet) {\n return module.binary(BinaryOp.EqF32,\n module.binary(BinaryOp.SubF32,\n arg0,\n module.local_get(getLocalGetIndex(arg0), TypeRef.F32)\n ),\n module.f32(0)\n );\n }\n let flow = compiler.currentFlow;\n let temp = flow.getTempLocal(Type.f32);\n let ret = module.binary(BinaryOp.EqF32,\n module.binary(BinaryOp.SubF32,\n module.local_tee(temp.index, arg0, false), // f32\n module.local_get(temp.index, TypeRef.F32)\n ),\n module.f32(0)\n );\n return ret;\n }\n case TypeKind.F64: {\n if (getExpressionId(arg0) == ExpressionId.LocalGet) {\n return module.binary(BinaryOp.EqF64,\n module.binary(BinaryOp.SubF64,\n arg0,\n module.local_get(getLocalGetIndex(arg0), TypeRef.F64)\n ),\n module.f64(0)\n );\n }\n let flow = compiler.currentFlow;\n let temp = flow.getTempLocal(Type.f64);\n let ret = module.binary(BinaryOp.EqF64,\n module.binary(BinaryOp.SubF64,\n module.local_tee(temp.index, arg0, false), // f64\n module.local_get(temp.index, TypeRef.F64)\n ),\n module.f64(0)\n );\n return ret;\n }\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"isFinite\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.isFinite, builtin_isFinite);\n\n// === Memory access ==========================================================================\n\n// __heap_base\nfunction builtin_heap_base_compile(ctx: BuiltinVariableContext): void {\n let compiler = ctx.compiler;\n let module = compiler.module;\n let element = ctx.element;\n let type = element.type;\n compiler.runtimeFeatures |= RuntimeFeatures.Heap;\n module.addGlobal(element.internalName, type.toRef(), true, compiler.makeZero(type)); // dummy\n}\nbuiltinVariables_onCompile.set(BuiltinNames.heap_base, builtin_heap_base_compile);\n\n// __heap_base -> usize\nfunction builtin_heap_base_access(ctx: BuiltinVariableContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n let element = ctx.element;\n let type = element.type;\n compiler.runtimeFeatures |= RuntimeFeatures.Heap;\n compiler.currentType = type;\n return module.global_get(element.internalName, type.toRef());\n}\nbuiltinVariables_onAccess.set(BuiltinNames.heap_base, builtin_heap_base_access);\n\n// __data_end\nfunction builtin_data_end_compile(ctx: BuiltinVariableContext): void {\n let compiler = ctx.compiler;\n let module = compiler.module;\n let element = ctx.element;\n let type = element.type;\n compiler.runtimeFeatures |= RuntimeFeatures.Data;\n module.addGlobal(element.internalName, type.toRef(), true, compiler.makeZero(type)); // dummy\n}\nbuiltinVariables_onCompile.set(BuiltinNames.data_end, builtin_data_end_compile);\n\n// __data_end -> usize\nfunction builtin_data_end_access(ctx: BuiltinVariableContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n let element = ctx.element;\n let type = element.type;\n compiler.runtimeFeatures |= RuntimeFeatures.Data;\n compiler.currentType = type;\n return module.global_get(element.internalName, type.toRef());\n}\nbuiltinVariables_onAccess.set(BuiltinNames.data_end, builtin_data_end_access);\n\n// __stack_pointer\nfunction builtin_stack_pointer_compile(ctx: BuiltinVariableContext): void {\n let compiler = ctx.compiler;\n let module = compiler.module;\n let element = ctx.element;\n let type = element.type;\n compiler.runtimeFeatures |= RuntimeFeatures.Stack;\n module.addGlobal(element.internalName, type.toRef(), true, compiler.makeZero(type)); // dummy\n}\nbuiltinVariables_onCompile.set(BuiltinNames.stack_pointer, builtin_stack_pointer_compile);\n\n// __stack_pointer -> usize\nfunction builtin_stack_pointer_access(ctx: BuiltinVariableContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n let element = ctx.element;\n let type = element.type;\n compiler.runtimeFeatures |= RuntimeFeatures.Stack;\n compiler.currentType = type;\n return module.global_get(element.internalName, type.toRef());\n}\nbuiltinVariables_onAccess.set(BuiltinNames.stack_pointer, builtin_stack_pointer_access);\n\n// __rtti_base\nfunction builtin_rtti_base_compile(ctx: BuiltinVariableContext): void {\n let compiler = ctx.compiler;\n let module = compiler.module;\n let element = ctx.element;\n let type = element.type;\n compiler.runtimeFeatures |= RuntimeFeatures.Rtti;\n module.addGlobal(element.internalName, type.toRef(), true, compiler.makeZero(type)); // dummy\n}\nbuiltinVariables_onCompile.set(BuiltinNames.rtti_base, builtin_rtti_base_compile);\n\n// __rtti_base -> usize\nfunction builtin_rtti_base_access(ctx: BuiltinVariableContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n let element = ctx.element;\n let type = element.type;\n compiler.runtimeFeatures |= RuntimeFeatures.Rtti;\n compiler.currentType = type;\n return module.global_get(element.internalName, type.toRef());\n}\nbuiltinVariables_onAccess.set(BuiltinNames.rtti_base, builtin_rtti_base_access);\n\n// load(offset: usize, immOffset?: usize, immAlign?: usize) -> T*\nfunction builtin_load(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkTypeRequired(ctx, true) |\n checkArgsOptional(ctx, 1, 3)\n ) return module.unreachable();\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments;\n let contextualType = ctx.contextualType;\n let type = typeArguments![0];\n\n let outType = (\n contextualType != Type.auto &&\n type.isIntegerValue &&\n contextualType.isIntegerValue &&\n contextualType.size > type.size\n ) ? contextualType : type;\n\n if (!outType.isMemory) {\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"load\", outType.toString()\n );\n compiler.currentType = Type.void;\n return module.unreachable();\n }\n\n let arg0 = compiler.compileExpression(operands[0], compiler.options.usizeType, Constraints.ConvImplicit);\n let numOperands = operands.length;\n let immOffset = 0;\n let immAlign = type.byteSize;\n if (numOperands >= 2) {\n immOffset = evaluateImmediateOffset(operands[1], compiler); // reports\n if (immOffset < 0) {\n compiler.currentType = outType;\n return module.unreachable();\n }\n if (numOperands == 3) {\n immAlign = evaluateImmediateAlign(operands[2], immAlign, compiler); // reports\n if (immAlign < 0) {\n compiler.currentType = outType;\n return module.unreachable();\n }\n }\n }\n compiler.currentType = outType;\n return module.load(\n type.byteSize,\n type.isSignedIntegerValue,\n arg0,\n outType.toRef(),\n immOffset,\n immAlign\n );\n}\nbuiltinFunctions.set(BuiltinNames.load, builtin_load);\n\n// store(ptr: usize, value: T*, immOffset?: usize, immAlign?: usize) -> void\nfunction builtin_store(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n compiler.currentType = Type.void;\n if (\n checkTypeRequired(ctx) |\n checkArgsOptional(ctx, 2, 4)\n ) return module.unreachable();\n let operands = ctx.operands;\n let numOperands = operands.length;\n let typeArguments = ctx.typeArguments;\n let contextualType = ctx.contextualType;\n let type = typeArguments![0];\n let arg0 = compiler.compileExpression(operands[0], compiler.options.usizeType, Constraints.ConvImplicit);\n let arg1 = ctx.contextIsExact\n ? compiler.compileExpression(operands[1],\n contextualType,\n Constraints.ConvImplicit\n )\n : compiler.compileExpression(\n operands[1],\n type,\n type.isIntegerValue\n ? Constraints.None // no need to convert to small int (but now might result in a float)\n : Constraints.ConvImplicit\n );\n let inType = compiler.currentType;\n if (!inType.isMemory) {\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"store\", inType.toString()\n );\n compiler.currentType = Type.void;\n return module.unreachable();\n }\n if (\n type.isIntegerValue &&\n (\n !inType.isIntegerValue || // float to int\n inType.size < type.size // int to larger int (clear garbage bits)\n )\n ) {\n // either conversion or memory operation clears garbage bits\n arg1 = compiler.convertExpression(arg1, inType, type, false, operands[1]);\n inType = type;\n }\n let immOffset = 0;\n let immAlign = type.byteSize;\n if (numOperands >= 3) {\n immOffset = evaluateImmediateOffset(operands[2], compiler); // reports\n if (immOffset < 0) {\n compiler.currentType = Type.void;\n return module.unreachable();\n }\n if (numOperands == 4) {\n immAlign = evaluateImmediateAlign(operands[3], immAlign, compiler); // reports\n if (immAlign < 0) {\n compiler.currentType = Type.void;\n return module.unreachable();\n }\n }\n }\n compiler.currentType = Type.void;\n return module.store(type.byteSize, arg0, arg1, inType.toRef(), immOffset, immAlign);\n}\nbuiltinFunctions.set(BuiltinNames.store, builtin_store);\n\n// rem(left: T, right: T) -> T\nfunction builtin_rem(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (checkTypeOptional(ctx, true) | checkArgsRequired(ctx, 2)) {\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments;\n let left = operands[0];\n let arg0 = typeArguments\n ? compiler.compileExpression(\n left,\n typeArguments[0],\n Constraints.ConvImplicit\n )\n : compiler.compileExpression(operands[0], Type.auto);\n let type = compiler.currentType;\n if (type.isIntegerValue) {\n let arg1: ExpressionRef;\n if (!typeArguments && left.isNumericLiteral) {\n // prefer right type\n arg1 = compiler.compileExpression(\n operands[1],\n type\n );\n if (compiler.currentType != type) {\n arg0 = compiler.compileExpression(\n left,\n (type = compiler.currentType),\n Constraints.ConvImplicit\n );\n }\n } else {\n arg1 = compiler.compileExpression(\n operands[1],\n type,\n Constraints.ConvImplicit\n );\n }\n if (type.isIntegerValue) {\n return compiler.makeRem(arg0, arg1, type, ctx.reportNode);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange,\n \"rem\",\n type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.rem, builtin_rem);\n\n// add(left: T, right: T) -> T\nfunction builtin_add(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (checkTypeOptional(ctx, true) | checkArgsRequired(ctx, 2)) {\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments;\n let left = operands[0];\n let arg0 = typeArguments\n ? compiler.compileExpression(\n left,\n typeArguments[0],\n Constraints.ConvImplicit\n )\n : compiler.compileExpression(operands[0], Type.auto);\n let type = compiler.currentType;\n if (type.isValue) {\n let arg1: ExpressionRef;\n if (!typeArguments && left.isNumericLiteral) {\n // prefer right type\n arg1 = compiler.compileExpression(\n operands[1],\n type\n );\n if (compiler.currentType != type) {\n arg0 = compiler.compileExpression(\n left,\n (type = compiler.currentType),\n Constraints.ConvImplicit\n );\n }\n } else {\n arg1 = compiler.compileExpression(\n operands[1],\n type,\n Constraints.ConvImplicit\n );\n }\n if (type.isNumericValue) {\n return compiler.makeAdd(arg0, arg1, type);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange,\n \"add\",\n type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.add, builtin_add);\n\n// sub(left: T, right: T) -> T\nfunction builtin_sub(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (checkTypeOptional(ctx, true) | checkArgsRequired(ctx, 2)) {\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments;\n let left = operands[0];\n let arg0 = typeArguments\n ? compiler.compileExpression(\n left,\n typeArguments[0],\n Constraints.ConvImplicit\n )\n : compiler.compileExpression(operands[0], Type.auto);\n let type = compiler.currentType;\n if (type.isValue) {\n let arg1: ExpressionRef;\n if (!typeArguments && left.isNumericLiteral) {\n // prefer right type\n arg1 = compiler.compileExpression(\n operands[1],\n type\n );\n if (compiler.currentType != type) {\n arg0 = compiler.compileExpression(\n left,\n (type = compiler.currentType),\n Constraints.ConvImplicit\n );\n }\n } else {\n arg1 = compiler.compileExpression(\n operands[1],\n type,\n Constraints.ConvImplicit\n );\n }\n if (type.isNumericValue) {\n return compiler.makeSub(arg0, arg1, type);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange,\n \"sub\",\n type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.sub, builtin_sub);\n\n// mul(left: T, right: T) -> T\nfunction builtin_mul(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (checkTypeOptional(ctx, true) | checkArgsRequired(ctx, 2)) {\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments;\n let left = operands[0];\n let arg0 = typeArguments\n ? compiler.compileExpression(\n left,\n typeArguments[0],\n Constraints.ConvImplicit\n )\n : compiler.compileExpression(operands[0], Type.auto);\n let type = compiler.currentType;\n if (type.isValue) {\n let arg1: ExpressionRef;\n if (!typeArguments && left.isNumericLiteral) {\n // prefer right type\n arg1 = compiler.compileExpression(\n operands[1],\n type\n );\n if (compiler.currentType != type) {\n arg0 = compiler.compileExpression(\n left,\n (type = compiler.currentType),\n Constraints.ConvImplicit\n );\n }\n } else {\n arg1 = compiler.compileExpression(\n operands[1],\n type,\n Constraints.ConvImplicit\n );\n }\n if (type.isNumericValue) {\n return compiler.makeMul(arg0, arg1, type);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange,\n \"mul\",\n type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.mul, builtin_mul);\n\n// div(left: T, right: T) -> T\nfunction builtin_div(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (checkTypeOptional(ctx, true) | checkArgsRequired(ctx, 2)) {\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments;\n let left = operands[0];\n let arg0 = typeArguments\n ? compiler.compileExpression(\n left,\n typeArguments[0],\n Constraints.ConvImplicit\n )\n : compiler.compileExpression(operands[0], Type.auto);\n let type = compiler.currentType;\n if (type.isValue) {\n let arg1: ExpressionRef;\n if (!typeArguments && left.isNumericLiteral) {\n // prefer right type\n arg1 = compiler.compileExpression(\n operands[1],\n type\n );\n if (compiler.currentType != type) {\n arg0 = compiler.compileExpression(\n left,\n (type = compiler.currentType),\n Constraints.ConvImplicit\n );\n }\n } else {\n arg1 = compiler.compileExpression(\n operands[1],\n type,\n Constraints.ConvImplicit\n );\n }\n if (type.isNumericValue) {\n return compiler.makeDiv(arg0, arg1, type);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange,\n \"div\",\n type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.div, builtin_div);\n\n// eq(left: T, right: T) -> i32\nfunction builtin_eq(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (checkTypeOptional(ctx, true) | checkArgsRequired(ctx, 2)) {\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments;\n let left = operands[0];\n let arg0 = typeArguments\n ? compiler.compileExpression(\n left,\n typeArguments[0],\n Constraints.ConvImplicit\n )\n : compiler.compileExpression(operands[0], Type.auto);\n let type = compiler.currentType;\n if (type.isValue) {\n let arg1: ExpressionRef;\n if (!typeArguments && left.isNumericLiteral) {\n // prefer right type\n arg1 = compiler.compileExpression(\n operands[1],\n type\n );\n if (compiler.currentType != type) {\n arg0 = compiler.compileExpression(\n left,\n (type = compiler.currentType),\n Constraints.ConvImplicit\n );\n }\n } else {\n arg1 = compiler.compileExpression(\n operands[1],\n type,\n Constraints.ConvImplicit\n );\n }\n if (type.isNumericValue) {\n compiler.currentType = Type.i32;\n return compiler.makeEq(arg0, arg1, type, ctx.reportNode);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange,\n \"eq\",\n type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.eq, builtin_eq);\n\n// ne(left: T, right: T) -> i32\nfunction builtin_ne(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (checkTypeOptional(ctx, true) | checkArgsRequired(ctx, 2)) {\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments;\n let left = operands[0];\n let arg0 = typeArguments\n ? compiler.compileExpression(\n left,\n typeArguments[0],\n Constraints.ConvImplicit\n )\n : compiler.compileExpression(operands[0], Type.auto);\n let type = compiler.currentType;\n if (type.isValue) {\n let arg1: ExpressionRef;\n if (!typeArguments && left.isNumericLiteral) {\n // prefer right type\n arg1 = compiler.compileExpression(\n operands[1],\n type\n );\n if (compiler.currentType != type) {\n arg0 = compiler.compileExpression(\n left,\n (type = compiler.currentType),\n Constraints.ConvImplicit\n );\n }\n } else {\n arg1 = compiler.compileExpression(\n operands[1],\n type,\n Constraints.ConvImplicit\n );\n }\n if (type.isNumericValue) {\n compiler.currentType = Type.i32;\n return compiler.makeNe(arg0, arg1, type, ctx.reportNode);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange,\n \"ne\",\n type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.ne, builtin_ne);\n\n// === Atomics ================================================================================\n\n// atomic.load(offset: usize, immOffset?: usize) -> T*\nfunction builtin_atomic_load(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Threads) |\n checkTypeRequired(ctx, true) |\n checkArgsOptional(ctx, 1, 2)\n ) return module.unreachable();\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments;\n let contextualType = ctx.contextualType;\n let type = typeArguments![0];\n let outType = (\n type.isIntegerValue &&\n contextualType.isIntegerValue &&\n contextualType.size > type.size\n ) ? contextualType : type;\n if (!type.isIntegerValue) {\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"atomic.load\", type.toString()\n );\n compiler.currentType = outType;\n return module.unreachable();\n }\n let arg0 = compiler.compileExpression(operands[0], compiler.options.usizeType, Constraints.ConvImplicit);\n let immOffset = operands.length == 2 ? evaluateImmediateOffset(operands[1], compiler) : 0; // reports\n if (immOffset < 0) {\n compiler.currentType = outType;\n return module.unreachable();\n }\n compiler.currentType = outType;\n return module.atomic_load(\n type.byteSize,\n arg0,\n outType.toRef(),\n immOffset\n );\n}\nbuiltinFunctions.set(BuiltinNames.atomic_load, builtin_atomic_load);\n\n// atomic.store(offset: usize, value: T*, immOffset?: usize) -> void\nfunction builtin_atomic_store(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Threads) |\n checkTypeRequired(ctx) |\n checkArgsOptional(ctx, 2, 3)\n ) return module.unreachable();\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments;\n let contextualType = ctx.contextualType;\n let type = typeArguments![0];\n if (!type.isIntegerValue) {\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"atomic.store\", type.toString()\n );\n compiler.currentType = Type.void;\n return module.unreachable();\n }\n let arg0 = compiler.compileExpression(operands[0], compiler.options.usizeType, Constraints.ConvImplicit);\n let arg1 = ctx.contextIsExact\n ? compiler.compileExpression(\n operands[1],\n contextualType,\n Constraints.ConvImplicit\n )\n : compiler.compileExpression(\n operands[1],\n type,\n type.isIntegerValue\n ? Constraints.None // no need to convert to small int (but now might result in a float)\n : Constraints.ConvImplicit\n );\n let inType = compiler.currentType;\n if (\n type.isIntegerValue &&\n (\n !inType.isIntegerValue|| // float to int\n inType.size < type.size // int to larger int (clear garbage bits)\n )\n ) {\n // either conversion or memory operation clears garbage bits\n arg1 = compiler.convertExpression(arg1, inType, type, false, operands[1]);\n inType = type;\n }\n let immOffset = operands.length == 3 ? evaluateImmediateOffset(operands[2], compiler) : 0; // reports\n if (immOffset < 0) {\n compiler.currentType = Type.void;\n return module.unreachable();\n }\n compiler.currentType = Type.void;\n return module.atomic_store(type.byteSize, arg0, arg1, inType.toRef(), immOffset);\n}\nbuiltinFunctions.set(BuiltinNames.atomic_store, builtin_atomic_store);\n\n// any_atomic_binary(ptr, value: T, immOffset?: usize) -> T\nfunction builtin_atomic_binary(ctx: BuiltinFunctionContext, op: AtomicRMWOp, opName: string): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Threads) |\n checkTypeRequired(ctx, true) |\n checkArgsOptional(ctx, 2, 3)\n ) return module.unreachable();\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments;\n let contextualType = ctx.contextualType;\n let type = typeArguments![0];\n if (!type.isIntegerValue || type.size < 8) {\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, opName, type.toString()\n );\n return module.unreachable();\n }\n let arg0 = compiler.compileExpression(operands[0],\n compiler.options.usizeType,\n Constraints.ConvImplicit\n );\n let arg1 = ctx.contextIsExact\n ? compiler.compileExpression(operands[1],\n contextualType,\n Constraints.ConvImplicit\n )\n : compiler.compileExpression(\n operands[1],\n type,\n type.isIntegerValue\n ? Constraints.None // no need to convert to small int (but now might result in a float)\n : Constraints.ConvImplicit\n );\n let inType = compiler.currentType;\n if (\n type.isIntegerValue &&\n (\n !inType.isIntegerValue || // float to int\n inType.size < type.size // int to larger int (clear garbage bits)\n )\n ) {\n // either conversion or memory operation clears garbage bits\n arg1 = compiler.convertExpression(arg1, inType, type, false, operands[1]);\n inType = type;\n }\n let immOffset = operands.length == 3 ? evaluateImmediateOffset(operands[2], compiler) : 0; // reports\n if (immOffset < 0) {\n compiler.currentType = inType;\n return module.unreachable();\n }\n compiler.currentType = inType;\n return module.atomic_rmw(op, type.byteSize, immOffset, arg0, arg1, inType.toRef());\n}\n\n// atomic.add(ptr, value: T, immOffset?: usize) -> T\nfunction builtin_atomic_add(ctx: BuiltinFunctionContext): ExpressionRef {\n return builtin_atomic_binary(ctx, AtomicRMWOp.Add, \"atomic.add\");\n}\nbuiltinFunctions.set(BuiltinNames.atomic_add, builtin_atomic_add);\n\n// atomic.sub(ptr, value: T, immOffset?: usize) -> T\nfunction builtin_atomic_sub(ctx: BuiltinFunctionContext): ExpressionRef {\n return builtin_atomic_binary(ctx, AtomicRMWOp.Sub, \"atomic.sub\");\n}\nbuiltinFunctions.set(BuiltinNames.atomic_sub, builtin_atomic_sub);\n\n// atomic.and(ptr, value: T, immOffset?: usize) -> T\nfunction builtin_atomic_and(ctx: BuiltinFunctionContext): ExpressionRef {\n return builtin_atomic_binary(ctx, AtomicRMWOp.And, \"atomic.and\");\n}\nbuiltinFunctions.set(BuiltinNames.atomic_and, builtin_atomic_and);\n\n// atomic.or(ptr, value: T, immOffset?: usize) -> T\nfunction builtin_atomic_or(ctx: BuiltinFunctionContext): ExpressionRef {\n return builtin_atomic_binary(ctx, AtomicRMWOp.Or, \"atomic.or\");\n}\nbuiltinFunctions.set(BuiltinNames.atomic_or, builtin_atomic_or);\n\n// atomic.xor(ptr, value: T, immOffset?: usize) -> T\nfunction builtin_atomic_xor(ctx: BuiltinFunctionContext): ExpressionRef {\n return builtin_atomic_binary(ctx, AtomicRMWOp.Xor, \"atomic.xor\");\n}\nbuiltinFunctions.set(BuiltinNames.atomic_xor, builtin_atomic_xor);\n\n// atomic.xchg(ptr, value: T, immOffset?: usize) -> T\nfunction builtin_atomic_xchg(ctx: BuiltinFunctionContext): ExpressionRef {\n return builtin_atomic_binary(ctx, AtomicRMWOp.Xchg, \"atomic.xchg\");\n}\nbuiltinFunctions.set(BuiltinNames.atomic_xchg, builtin_atomic_xchg);\n\n// atomic.cmpxchg(ptr: usize, expected: T, replacement: T, off?: usize) -> T\nfunction builtin_atomic_cmpxchg(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Threads) |\n checkTypeRequired(ctx, true) |\n checkArgsOptional(ctx, 3, 4)\n ) return module.unreachable();\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments;\n let contextualType = ctx.contextualType;\n let type = typeArguments![0];\n if (!type.isIntegerValue || type.size < 8) {\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"atomic.cmpxchg\", type.toString()\n );\n return module.unreachable();\n }\n let arg0 = compiler.compileExpression(operands[0],\n compiler.options.usizeType,\n Constraints.ConvImplicit\n );\n let arg1 = ctx.contextIsExact\n ? compiler.compileExpression(operands[1],\n contextualType,\n Constraints.ConvImplicit\n )\n : compiler.compileExpression(\n operands[1],\n type,\n type.isIntegerValue\n ? Constraints.None // no need to convert to small int (but now might result in a float)\n : Constraints.ConvImplicit\n );\n let inType = compiler.currentType;\n let arg2 = compiler.compileExpression(operands[2],\n inType,\n Constraints.ConvImplicit\n );\n if (\n type.isIntegerValue &&\n (\n !inType.isIntegerValue || // float to int\n inType.size < type.size // int to larger int (clear garbage bits)\n )\n ) {\n // either conversion or memory operation clears garbage bits\n arg1 = compiler.convertExpression(arg1, inType, type, false, operands[1]);\n arg2 = compiler.convertExpression(arg2, inType, type, false, operands[2]);\n inType = type;\n }\n let immOffset = operands.length == 4 ? evaluateImmediateOffset(operands[3], compiler) : 0; // reports\n if (immOffset < 0) {\n compiler.currentType = inType;\n return module.unreachable();\n }\n compiler.currentType = inType;\n return module.atomic_cmpxchg(type.byteSize, immOffset, arg0, arg1, arg2, inType.toRef());\n}\nbuiltinFunctions.set(BuiltinNames.atomic_cmpxchg, builtin_atomic_cmpxchg);\n\n// atomic.wait(ptr: usize, expected: T, timeout?: i64) -> i32\nfunction builtin_atomic_wait(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Threads) |\n checkTypeRequired(ctx) |\n checkArgsOptional(ctx, 2, 3)\n ) {\n compiler.currentType = Type.i32;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments;\n let type = typeArguments![0];\n let arg0 = compiler.compileExpression(operands[0], compiler.options.usizeType, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], type, Constraints.ConvImplicit);\n let arg2 = operands.length == 3\n ? compiler.compileExpression(operands[2], Type.i64, Constraints.ConvImplicit)\n : module.i64(-1, -1); // Infinite timeout\n compiler.currentType = Type.i32;\n switch (type.kind) {\n case TypeKind.I32:\n case TypeKind.I64:\n case TypeKind.Isize:\n case TypeKind.U32:\n case TypeKind.U64:\n case TypeKind.Usize: return module.atomic_wait(arg0, arg1, arg2, type.toRef());\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"atomic.wait\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.atomic_wait, builtin_atomic_wait);\n\n// atomic.notify(ptr: usize, count?: i32) -> i32\nfunction builtin_atomic_notify(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Threads) |\n checkTypeAbsent(ctx) |\n checkArgsOptional(ctx, 1, 2)\n ) {\n compiler.currentType = Type.i32;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let arg0 = compiler.compileExpression(operands[0], compiler.options.usizeType, Constraints.ConvImplicit);\n let arg1 = operands.length == 2\n ? compiler.compileExpression(operands[1], Type.i32, Constraints.ConvImplicit)\n : module.i32(-1); // Inifinity count of waiters\n compiler.currentType = Type.i32;\n return module.atomic_notify(arg0, arg1);\n}\nbuiltinFunctions.set(BuiltinNames.atomic_notify, builtin_atomic_notify);\n\n// atomic.fence() -> void\nfunction builtin_atomic_fence(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n compiler.currentType = Type.void;\n if (\n checkFeatureEnabled(ctx, Feature.Threads) |\n checkTypeAbsent(ctx) |\n checkArgsRequired(ctx, 0)\n ) return module.unreachable();\n return module.atomic_fence();\n}\nbuiltinFunctions.set(BuiltinNames.atomic_fence, builtin_atomic_fence);\n\n// === Control flow ===========================================================================\n\n// select(ifTrue: T, ifFalse: T, condition: bool) -> T\nfunction builtin_select(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkTypeOptional(ctx, true) |\n checkArgsRequired(ctx, 3)\n ) return module.unreachable();\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments;\n let arg0 = typeArguments\n ? compiler.compileExpression(operands[0], typeArguments[0], Constraints.ConvImplicit)\n : compiler.compileExpression(operands[0], Type.auto);\n let type = compiler.currentType;\n if (!type.isAny(TypeFlags.Value | TypeFlags.Reference)) {\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"select\", type.toString()\n );\n return module.unreachable();\n }\n let arg1 = compiler.compileExpression(operands[1], type, Constraints.ConvImplicit);\n let arg2 = compiler.makeIsTrueish(\n compiler.compileExpression(operands[2], Type.bool),\n compiler.currentType, // ^\n operands[2]\n );\n compiler.currentType = type;\n return module.select(arg0, arg1, arg2, type.toRef());\n}\nbuiltinFunctions.set(BuiltinNames.select, builtin_select);\n\n// unreachable() -> *\nfunction builtin_unreachable(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n checkArgsRequired(ctx, 0);\n return ctx.compiler.module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.unreachable, builtin_unreachable);\n\n// === Memory =================================================================================\n\n// memory.size() -> i32\nfunction builtin_memory_size(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n compiler.currentType = Type.i32;\n if (\n checkTypeAbsent(ctx) |\n checkArgsRequired(ctx, 0)\n ) return module.unreachable();\n return module.memory_size();\n}\nbuiltinFunctions.set(BuiltinNames.memory_size, builtin_memory_size);\n\n// memory.grow(pages: i32) -> i32\nfunction builtin_memory_grow(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n compiler.currentType = Type.i32;\n if (\n checkTypeAbsent(ctx) |\n checkArgsRequired(ctx, 1)\n ) return module.unreachable();\n return module.memory_grow(compiler.compileExpression(ctx.operands[0], Type.i32, Constraints.ConvImplicit));\n}\nbuiltinFunctions.set(BuiltinNames.memory_grow, builtin_memory_grow);\n\n// memory.copy(dest: usize, src: usize: n: usize) -> void\nfunction builtin_memory_copy(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n compiler.currentType = Type.void;\n if (\n checkTypeAbsent(ctx) |\n checkArgsRequired(ctx, 3)\n ) return module.unreachable();\n let operands = ctx.operands;\n if (!compiler.options.hasFeature(Feature.BulkMemory)) {\n // use stdlib alternative if not supported\n let instance = compiler.resolver.resolveFunction(ctx.prototype, null); // reports\n compiler.currentType = Type.void;\n if (!instance || !compiler.compileFunction(instance, true)) return module.unreachable();\n return compiler.compileCallDirect(instance, operands, ctx.reportNode);\n }\n let usizeType = compiler.options.usizeType;\n let arg0 = compiler.compileExpression(operands[0], usizeType, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], usizeType, Constraints.ConvImplicit);\n let arg2 = compiler.compileExpression(operands[2], usizeType, Constraints.ConvImplicit);\n compiler.currentType = Type.void;\n return module.memory_copy(arg0, arg1, arg2);\n}\nbuiltinFunctions.set(BuiltinNames.memory_copy, builtin_memory_copy);\n\n// memory.fill(dest: usize, value: u8, n: usize) -> void\nfunction builtin_memory_fill(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n compiler.currentType = Type.void;\n if (\n checkTypeAbsent(ctx) |\n checkArgsRequired(ctx, 3)\n ) return module.unreachable();\n let operands = ctx.operands;\n if (!compiler.options.hasFeature(Feature.BulkMemory)) {\n // use stdlib alternative if not supported\n let instance = compiler.resolver.resolveFunction(ctx.prototype, null); // reports\n compiler.currentType = Type.void;\n if (!instance || !compiler.compileFunction(instance, true)) return module.unreachable();\n return compiler.compileCallDirect(instance, operands, ctx.reportNode);\n }\n let usizeType = compiler.options.usizeType;\n let arg0 = compiler.compileExpression(operands[0], usizeType, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.u8, Constraints.ConvImplicit);\n let arg2 = compiler.compileExpression(operands[2], usizeType, Constraints.ConvImplicit);\n compiler.currentType = Type.void;\n return module.memory_fill(arg0, arg1, arg2);\n}\nbuiltinFunctions.set(BuiltinNames.memory_fill, builtin_memory_fill);\n\n// memory.data(size[, align]) -> usize\n// memory.data(values[, align]) -> usize\nfunction builtin_memory_data(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n compiler.currentType = Type.i32;\n if (\n checkTypeOptional(ctx) |\n checkArgsOptional(ctx, 1, 2)\n ) return module.unreachable();\n let typeArguments = ctx.typeArguments;\n let operands = ctx.operands;\n let numOperands = operands.length;\n let usizeType = compiler.options.usizeType;\n let offset: i64;\n if (typeArguments && typeArguments.length > 0) { // data(values[, align])\n let elementType = typeArguments[0];\n if (!elementType.isValue) {\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"memory.data\", elementType.toString()\n );\n compiler.currentType = usizeType;\n return module.unreachable();\n }\n let valuesOperand = operands[0];\n if (valuesOperand.kind != NodeKind.Literal || (valuesOperand).literalKind != LiteralKind.Array) {\n compiler.error(\n DiagnosticCode.Array_literal_expected,\n operands[0].range\n );\n compiler.currentType = usizeType;\n return module.unreachable();\n }\n let expressions = (valuesOperand).elementExpressions;\n let numElements = expressions.length;\n let exprs = new Array(numElements);\n let isStatic = true;\n for (let i = 0; i < numElements; ++i) {\n let elementExpression = expressions[i];\n if (elementExpression.kind != NodeKind.Omitted) {\n let expr = compiler.compileExpression(elementExpression, elementType, Constraints.ConvImplicit);\n let precomp = module.runExpression(expr, ExpressionRunnerFlags.PreserveSideeffects);\n if (precomp) {\n expr = precomp;\n } else {\n isStatic = false;\n }\n exprs[i] = expr;\n } else {\n exprs[i] = compiler.makeZero(elementType);\n }\n }\n if (!isStatic) {\n compiler.error(\n DiagnosticCode.Expression_must_be_a_compile_time_constant,\n valuesOperand.range\n );\n compiler.currentType = usizeType;\n return module.unreachable();\n }\n let align = elementType.byteSize;\n if (numOperands == 2) {\n align = evaluateImmediateAlign(operands[1], align, compiler); // reports\n if (align < 0) {\n compiler.currentType = usizeType;\n return module.unreachable();\n }\n }\n let buf = new Uint8Array(numElements * elementType.byteSize);\n assert(compiler.writeStaticBuffer(buf, 0, elementType, exprs) == buf.byteLength);\n offset = compiler.addAlignedMemorySegment(buf, align).offset;\n } else { // data(size[, align])\n let arg0 = compiler.compileExpression(operands[0], Type.i32, Constraints.ConvImplicit);\n let precomp = module.runExpression(arg0, ExpressionRunnerFlags.PreserveSideeffects);\n if (!precomp) {\n compiler.error(\n DiagnosticCode.Expression_must_be_a_compile_time_constant,\n operands[0].range\n );\n compiler.currentType = usizeType;\n return module.unreachable();\n }\n let size = getConstValueI32(precomp);\n if (size < 1) {\n compiler.error(\n DiagnosticCode._0_must_be_a_value_between_1_and_2_inclusive,\n operands[0].range, \"1\", i32.MAX_VALUE.toString()\n );\n compiler.currentType = usizeType;\n return module.unreachable();\n }\n let align = 16;\n if (numOperands == 2) {\n align = evaluateImmediateAlign(operands[1], align, compiler); // reports\n if (align < 0) {\n compiler.currentType = usizeType;\n return module.unreachable();\n }\n }\n offset = compiler.addAlignedMemorySegment(new Uint8Array(size), align).offset;\n }\n // FIXME: what if recompiles happen? recompiles are bad.\n compiler.currentType = usizeType;\n if (usizeType == Type.usize32) {\n assert(!i64_high(offset));\n return module.i32(i64_low(offset));\n } else {\n return module.i64(i64_low(offset), i64_high(offset));\n }\n}\nbuiltinFunctions.set(BuiltinNames.memory_data, builtin_memory_data);\n\n// === GC =====================================================================================\n\nfunction builtin_i31_new(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkTypeAbsent(ctx) |\n checkArgsRequired(ctx, 1)\n ) return module.unreachable();\n let operands = ctx.operands;\n let arg0 = compiler.compileExpression(operands[0], Type.i32, Constraints.ConvImplicit);\n compiler.currentType = Type.i31;\n return module.i31_new(arg0);\n}\nbuiltinFunctions.set(BuiltinNames.i31_new, builtin_i31_new);\n\nfunction builtin_i31_get(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkTypeAbsent(ctx) |\n checkArgsRequired(ctx, 1)\n ) return module.unreachable();\n let operands = ctx.operands;\n let arg0 = compiler.compileExpression(operands[0], Type.i31.asNullable(), Constraints.ConvImplicit);\n if (ctx.contextualType.is(TypeFlags.Unsigned)) {\n compiler.currentType = Type.u32;\n return module.i31_get(arg0, false);\n } else {\n compiler.currentType = Type.i32;\n return module.i31_get(arg0, true);\n }\n}\nbuiltinFunctions.set(BuiltinNames.i31_get, builtin_i31_get);\n\n// === Helpers ================================================================================\n\n// changetype(value: *) -> T\nfunction builtin_changetype(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkTypeRequired(ctx, true) |\n checkArgsRequired(ctx, 1)\n ) return module.unreachable();\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let toType = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.auto);\n let fromType = compiler.currentType;\n compiler.currentType = toType;\n if (!fromType.isChangeableTo(toType)) {\n compiler.error(\n DiagnosticCode.Type_0_cannot_be_changed_to_type_1,\n ctx.reportNode.range, fromType.toString(), toType.toString()\n );\n return module.unreachable();\n }\n return arg0;\n}\nbuiltinFunctions.set(BuiltinNames.changetype, builtin_changetype);\n\n// assert(isTrueish: T, message?: string) -> T{!= null}\nfunction builtin_assert(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n let typeArguments = ctx.typeArguments;\n if (\n checkTypeOptional(ctx, true) |\n checkArgsOptional(ctx, 1, 2)\n ) {\n if (typeArguments) {\n assert(typeArguments.length); // otherwise invalid, should not been set at all\n compiler.currentType = typeArguments[0].nonNullableType;\n }\n return module.unreachable();\n }\n let operands = ctx.operands;\n let contextualType = ctx.contextualType;\n let arg0 = typeArguments\n ? compiler.compileExpression(operands[0], typeArguments[0], Constraints.ConvImplicit | Constraints.MustWrap)\n : compiler.compileExpression(operands[0], Type.bool, Constraints.MustWrap);\n let type = compiler.currentType;\n compiler.currentType = type.nonNullableType;\n\n // omit if assertions are disabled\n if (compiler.options.noAssert) {\n return arg0;\n }\n\n // omit if the assertion can be proven statically\n let evaled = module.runExpression(arg0, ExpressionRunnerFlags.Default);\n if (evaled) {\n switch (getExpressionType(evaled)) {\n case TypeRef.I32: {\n if (getConstValueI32(evaled)) {\n return arg0;\n }\n break;\n }\n case TypeRef.I64: {\n if (getConstValueI64Low(evaled) | getConstValueI64High(evaled)) {\n return arg0;\n }\n break;\n }\n case TypeRef.F32: {\n if (getConstValueF32(evaled)) {\n return arg0;\n }\n break;\n }\n case TypeRef.F64: {\n if (getConstValueF64(evaled)) {\n return arg0;\n }\n break;\n }\n }\n }\n\n // otherwise call abort if the assertion is false-ish\n let abort = compiler.makeAbort(operands.length == 2 ? operands[1] : null, ctx.reportNode);\n compiler.currentType = type.nonNullableType;\n if (contextualType == Type.void) { // simplify if dropped anyway\n compiler.currentType = Type.void;\n switch (type.kind) {\n case TypeKind.Bool:\n case TypeKind.I8:\n case TypeKind.I16:\n case TypeKind.I32:\n case TypeKind.U8:\n case TypeKind.U16:\n case TypeKind.U32: return module.if(module.unary(UnaryOp.EqzI32, arg0), abort);\n case TypeKind.I64:\n case TypeKind.U64: return module.if(module.unary(UnaryOp.EqzI64, arg0), abort);\n case TypeKind.Isize:\n case TypeKind.Usize: return module.if(module.unary(UnaryOp.EqzSize, arg0), abort);\n // TODO: also check for NaN in float assertions, as in `Boolean(NaN) -> false`?\n case TypeKind.F32: return module.if(module.binary(BinaryOp.EqF32, arg0, module.f32(0)), abort);\n case TypeKind.F64: return module.if(module.binary(BinaryOp.EqF64, arg0, module.f64(0)), abort);\n case TypeKind.Func:\n case TypeKind.Extern:\n case TypeKind.Any:\n case TypeKind.Eq:\n case TypeKind.Struct:\n case TypeKind.Array:\n case TypeKind.I31:\n case TypeKind.String:\n case TypeKind.StringviewWTF8:\n case TypeKind.StringviewWTF16:\n case TypeKind.StringviewIter: return module.if(module.ref_is_null(arg0), abort);\n }\n } else {\n compiler.currentType = type.nonNullableType;\n let flow = compiler.currentFlow;\n switch (compiler.currentType.kind) {\n case TypeKind.Bool:\n case TypeKind.I8:\n case TypeKind.I16:\n case TypeKind.I32:\n case TypeKind.U8:\n case TypeKind.U16:\n case TypeKind.U32: {\n let temp = flow.getTempLocal(type);\n flow.setLocalFlag(temp.index, LocalFlags.Wrapped); // arg0 is wrapped\n let ret = module.if(\n module.local_tee(temp.index, arg0, false), // numeric\n module.local_get(temp.index, TypeRef.I32),\n abort\n );\n return ret;\n }\n case TypeKind.I64:\n case TypeKind.U64: {\n let temp = flow.getTempLocal(Type.i64);\n let ret = module.if(\n module.unary(UnaryOp.EqzI64,\n module.local_tee(temp.index, arg0, false) // i64\n ),\n abort,\n module.local_get(temp.index, TypeRef.I64)\n );\n return ret;\n }\n case TypeKind.Isize:\n case TypeKind.Usize: {\n let temp = flow.getTempLocal(compiler.options.usizeType);\n let ret = module.if(\n module.unary(\n UnaryOp.EqzSize,\n module.local_tee(temp.index, arg0, type.isManaged)\n ),\n abort,\n module.local_get(temp.index, compiler.options.sizeTypeRef)\n );\n return ret;\n }\n case TypeKind.F32: {\n let temp = flow.getTempLocal(Type.f32);\n let ret = module.if(\n module.binary(BinaryOp.EqF32,\n module.local_tee(temp.index, arg0, false), // f32\n module.f32(0)\n ),\n abort,\n module.local_get(temp.index, TypeRef.F32)\n );\n return ret;\n }\n case TypeKind.F64: {\n let temp = flow.getTempLocal(Type.f64);\n let ret = module.if(\n module.binary(BinaryOp.EqF64,\n module.local_tee(temp.index, arg0, false), // f64\n module.f64(0)\n ),\n abort,\n module.local_get(temp.index, TypeRef.F64)\n );\n return ret;\n }\n case TypeKind.Func:\n case TypeKind.Extern:\n case TypeKind.Any:\n case TypeKind.Eq:\n case TypeKind.Struct:\n case TypeKind.Array:\n case TypeKind.I31:\n case TypeKind.String:\n case TypeKind.StringviewWTF8:\n case TypeKind.StringviewWTF16:\n case TypeKind.StringviewIter: {\n let temp = flow.getTempLocal(type);\n let ret = module.if(\n module.ref_is_null(\n module.local_tee(temp.index, arg0, false) // ref\n ),\n abort,\n module.local_get(temp.index, type.toRef())\n );\n return ret;\n }\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange,\n \"assert\", compiler.currentType.toString()\n );\n return abort;\n}\nbuiltinFunctions.set(BuiltinNames.assert, builtin_assert);\n\n// unchecked(expr: *) -> *\nfunction builtin_unchecked(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkTypeAbsent(ctx) |\n checkArgsRequired(ctx, 1)\n ) return module.unreachable();\n let flow = compiler.currentFlow;\n let ignoreUnchecked = compiler.options.uncheckedBehavior === UncheckedBehavior.Never;\n let alreadyUnchecked = flow.is(FlowFlags.UncheckedContext);\n if (ignoreUnchecked) assert(!alreadyUnchecked);\n else flow.set(FlowFlags.UncheckedContext);\n // eliminate unnecessary tees by preferring contextualType(=void)\n let expr = compiler.compileExpression(ctx.operands[0], ctx.contextualType);\n if (!alreadyUnchecked) flow.unset(FlowFlags.UncheckedContext);\n return expr;\n}\nbuiltinFunctions.set(BuiltinNames.unchecked, builtin_unchecked);\n\n// call_indirect(index: u32, ...args: *[]) -> T\nfunction builtin_call_indirect(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkTypeOptional(ctx, true) |\n checkArgsOptional(ctx, 1, i32.MAX_VALUE)\n ) return module.unreachable();\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments;\n let returnType: Type;\n if (typeArguments) {\n assert(typeArguments.length);\n returnType = typeArguments[0];\n } else {\n returnType = ctx.contextualType;\n }\n let indexArg = compiler.compileExpression(operands[0], Type.u32, Constraints.ConvImplicit);\n let numOperands = operands.length - 1;\n let operandExprs = new Array(numOperands);\n let paramTypeRefs = new Array(numOperands);\n for (let i = 0; i < numOperands; ++i) {\n operandExprs[i] = compiler.compileExpression(operands[1 + i], Type.auto);\n paramTypeRefs[i] = compiler.currentType.toRef();\n }\n compiler.currentType = returnType;\n return module.call_indirect(null /* TODO */, indexArg, operandExprs, createType(paramTypeRefs), returnType.toRef());\n}\nbuiltinFunctions.set(BuiltinNames.call_indirect, builtin_call_indirect);\n\n// instantiate(...args: *[]) -> T\nfunction builtin_instantiate(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkTypeRequired(ctx, true)\n ) return module.unreachable();\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let typeArgument = typeArguments[0];\n let classInstance = typeArgument.getClass();\n if (!classInstance) {\n compiler.error(\n DiagnosticCode.This_expression_is_not_constructable,\n ctx.reportNode.expression.range\n );\n return module.unreachable();\n }\n compiler.currentType = classInstance.type;\n let ctor = compiler.ensureConstructor(classInstance, ctx.reportNode);\n compiler.checkFieldInitialization(classInstance, ctx.reportNode);\n return compiler.compileInstantiate(ctor, operands, Constraints.None, ctx.reportNode);\n}\nbuiltinFunctions.set(BuiltinNames.instantiate, builtin_instantiate);\n\n// === User-defined diagnostics ===============================================================\n\nfunction builtin_diagnostic(ctx: BuiltinFunctionContext, category: DiagnosticCategory): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n checkTypeAbsent(ctx);\n let operands = ctx.operands;\n let reportNode = ctx.reportNode;\n compiler.emitDiagnostic(\n DiagnosticCode.User_defined_0,\n category,\n reportNode.range,\n null,\n operands.length\n ? operands[0].range.toString()\n : reportNode.range.toString()\n );\n return category == DiagnosticCategory.Error\n ? module.unreachable()\n : module.nop();\n}\n\n// ERROR(message?)\nfunction builtin_error(ctx: BuiltinFunctionContext): ExpressionRef {\n return builtin_diagnostic(ctx, DiagnosticCategory.Error);\n}\nbuiltinFunctions.set(BuiltinNames.ERROR, builtin_error);\n\n// WARNING(message?)\nfunction builtin_warning(ctx: BuiltinFunctionContext): ExpressionRef {\n return builtin_diagnostic(ctx, DiagnosticCategory.Warning);\n}\nbuiltinFunctions.set(BuiltinNames.WARNING, builtin_warning);\n\n// INFO(message?)\nfunction builtin_info(ctx: BuiltinFunctionContext): ExpressionRef {\n return builtin_diagnostic(ctx, DiagnosticCategory.Info);\n}\nbuiltinFunctions.set(BuiltinNames.INFO, builtin_info);\n\n// === Function builtins ======================================================================\n\n// Function#call(thisArg: thisof | null, ...args: *[]) -> returnof\nfunction builtin_function_call(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let parent = ctx.prototype.parent;\n assert(parent.kind == ElementKind.Class);\n let classInstance = parent;\n assert(classInstance.prototype == compiler.program.functionPrototype);\n let typeArguments = assert(classInstance.typeArguments);\n assert(typeArguments.length == 1);\n let ftype = typeArguments[0];\n let signature = assert(ftype.getSignature());\n let returnType = signature.returnType;\n if (\n checkTypeAbsent(ctx) |\n checkArgsOptional(ctx, 1 + signature.requiredParameters, 1 + signature.parameterTypes.length)\n ) {\n compiler.currentType = returnType;\n return compiler.module.unreachable();\n }\n let functionArg = compiler.compileExpression(assert(ctx.thisOperand), ftype, Constraints.ConvImplicit);\n let thisOperand = assert(ctx.operands.shift());\n let thisType = signature.thisType;\n let thisArg: usize = 0;\n if (thisType) {\n thisArg = compiler.compileExpression(thisOperand, thisType, Constraints.ConvImplicit);\n } else if (thisOperand.kind != NodeKind.Null) {\n compiler.error(\n DiagnosticCode._this_cannot_be_referenced_in_current_location,\n thisOperand.range\n );\n return compiler.module.unreachable();\n }\n return compiler.compileCallIndirect(signature, functionArg, ctx.operands, ctx.reportNode, thisArg, ctx.contextualType == Type.void);\n}\nbuiltinFunctions.set(BuiltinNames.Function_call, builtin_function_call);\n\n// String.raw(parts: TemplateStringsArray, ...values: unknown[]): string\nfunction builtin_string_raw(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n compiler.currentType = ctx.compiler.program.stringInstance.type;\n compiler.error(\n DiagnosticCode.Not_implemented_0,\n ctx.reportNode.range, \"String.raw\"\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.String_raw, builtin_string_raw);\n\n// === Portable type conversions ==============================================================\n\nfunction builtin_conversion(ctx: BuiltinFunctionContext, toType: Type): ExpressionRef {\n let compiler = ctx.compiler;\n if (\n checkTypeAbsent(ctx) |\n checkArgsRequired(ctx, 1)\n ) {\n compiler.currentType = toType;\n return compiler.module.unreachable();\n }\n return compiler.compileExpression(ctx.operands[0], toType, Constraints.ConvExplicit);\n}\n\n// i8(*) -> i8\nfunction builtin_i8(ctx: BuiltinFunctionContext): ExpressionRef {\n return builtin_conversion(ctx, Type.i8);\n}\nbuiltinFunctions.set(BuiltinNames.i8, builtin_i8);\n\n// i16(*) -> i16\nfunction builtin_i16(ctx: BuiltinFunctionContext): ExpressionRef {\n return builtin_conversion(ctx, Type.i16);\n}\nbuiltinFunctions.set(BuiltinNames.i16, builtin_i16);\n\n// i32(*) -> i32\nfunction builtin_i32(ctx: BuiltinFunctionContext): ExpressionRef {\n return builtin_conversion(ctx, Type.i32);\n}\nbuiltinFunctions.set(BuiltinNames.i32, builtin_i32);\n\n// i64(*) -> i64\nfunction builtin_i64(ctx: BuiltinFunctionContext): ExpressionRef {\n return builtin_conversion(ctx, Type.i64);\n}\nbuiltinFunctions.set(BuiltinNames.i64, builtin_i64);\n\n// isize(*) -> isize\nfunction builtin_isize(ctx: BuiltinFunctionContext): ExpressionRef {\n return builtin_conversion(ctx, ctx.compiler.options.isizeType);\n}\nbuiltinFunctions.set(BuiltinNames.isize, builtin_isize);\n\n// u8(*) -> u8\nfunction builtin_u8(ctx: BuiltinFunctionContext): ExpressionRef {\n return builtin_conversion(ctx, Type.u8);\n}\nbuiltinFunctions.set(BuiltinNames.u8, builtin_u8);\n\n// u16(*) -> u16\nfunction builtin_u16(ctx: BuiltinFunctionContext): ExpressionRef {\n return builtin_conversion(ctx, Type.u16);\n}\nbuiltinFunctions.set(BuiltinNames.u16, builtin_u16);\n\n// u32(*) -> u32\nfunction builtin_u32(ctx: BuiltinFunctionContext): ExpressionRef {\n return builtin_conversion(ctx, Type.u32);\n}\nbuiltinFunctions.set(BuiltinNames.u32, builtin_u32);\n\n// u64(*) -> u64\nfunction builtin_u64(ctx: BuiltinFunctionContext): ExpressionRef {\n return builtin_conversion(ctx, Type.u64);\n}\nbuiltinFunctions.set(BuiltinNames.u64, builtin_u64);\n\n// usize(*) -> usize\nfunction builtin_usize(ctx: BuiltinFunctionContext): ExpressionRef {\n return builtin_conversion(ctx, ctx.compiler.options.usizeType);\n}\nbuiltinFunctions.set(BuiltinNames.usize, builtin_usize);\n\n// bool(*) -> bool\nfunction builtin_bool(ctx: BuiltinFunctionContext): ExpressionRef {\n return builtin_conversion(ctx, Type.bool);\n}\nbuiltinFunctions.set(BuiltinNames.bool, builtin_bool);\n\n// f32(*) -> f32\nfunction builtin_f32(ctx: BuiltinFunctionContext): ExpressionRef {\n return builtin_conversion(ctx, Type.f32);\n}\nbuiltinFunctions.set(BuiltinNames.f32, builtin_f32);\n\n// f64(*) -> f64\nfunction builtin_f64(ctx: BuiltinFunctionContext): ExpressionRef {\n return builtin_conversion(ctx, Type.f64);\n}\nbuiltinFunctions.set(BuiltinNames.f64, builtin_f64);\n\n// TODO: alias for now, splat input integer perhaps?\nfunction builtin_v128(ctx: BuiltinFunctionContext): ExpressionRef {\n return builtin_i8x16(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.v128, builtin_v128);\n\n// === SIMD ===================================================================================\n\n// i8x16(...values: i8[16]) -> v128\nfunction builtin_i8x16(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeAbsent(ctx) |\n checkArgsRequired(ctx, 16)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let bytes = new Uint8Array(16);\n let vars = new Array(16);\n let numVars = 0;\n\n for (let i = 0; i < 16; ++i) {\n let expr = compiler.compileExpression(operands[i], Type.i8, Constraints.ConvImplicit);\n let precomp = module.runExpression(expr, ExpressionRunnerFlags.PreserveSideeffects);\n if (precomp) {\n writeI8(getConstValueI32(precomp), bytes, i);\n } else {\n vars[i] = expr;\n numVars++;\n }\n }\n compiler.currentType = Type.v128;\n if (numVars == 0) {\n // all constants\n return module.v128(bytes);\n } else {\n let vec: ExpressionRef;\n let fullVars = numVars == 16;\n if (fullVars) {\n // all variants\n vec = module.unary(UnaryOp.SplatI8x16, vars[0]);\n } else {\n // mixed constants / variants\n vec = module.v128(bytes);\n }\n for (let i = i32(fullVars); i < 16; i++) {\n let expr = vars[i];\n if (expr) vec = module.simd_replace(SIMDReplaceOp.ReplaceLaneI8x16, vec, i, expr);\n }\n return vec;\n }\n}\nbuiltinFunctions.set(BuiltinNames.i8x16, builtin_i8x16);\n\n// i16x8(...values: i16[8]) -> v128\nfunction builtin_i16x8(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeAbsent(ctx) |\n checkArgsRequired(ctx, 8)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let bytes = new Uint8Array(16);\n let vars = new Array(8);\n let numVars = 0;\n\n for (let i = 0; i < 8; ++i) {\n let expr = compiler.compileExpression(operands[i], Type.i16, Constraints.ConvImplicit);\n let precomp = module.runExpression(expr, ExpressionRunnerFlags.PreserveSideeffects);\n if (precomp) {\n writeI16(getConstValueI32(precomp), bytes, i << 1);\n } else {\n vars[i] = expr;\n numVars++;\n }\n }\n compiler.currentType = Type.v128;\n if (numVars == 0) {\n // all constants\n return module.v128(bytes);\n } else {\n let vec: ExpressionRef;\n let fullVars = numVars == 8;\n if (fullVars) {\n // all variants\n vec = module.unary(UnaryOp.SplatI16x8, vars[0]);\n } else {\n // mixed constants / variants\n vec = module.v128(bytes);\n }\n for (let i = i32(fullVars); i < 8; i++) {\n let expr = vars[i];\n if (expr) vec = module.simd_replace(SIMDReplaceOp.ReplaceLaneI16x8, vec, i, expr);\n }\n return vec;\n }\n}\nbuiltinFunctions.set(BuiltinNames.i16x8, builtin_i16x8);\n\n// i32x4(...values: i32[4]) -> v128\nfunction builtin_i32x4(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeAbsent(ctx) |\n checkArgsRequired(ctx, 4)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let bytes = new Uint8Array(16);\n let vars = new Array(4);\n let numVars = 0;\n\n for (let i = 0; i < 4; ++i) {\n let expr = compiler.compileExpression(operands[i], Type.i32, Constraints.ConvImplicit);\n let precomp = module.runExpression(expr, ExpressionRunnerFlags.PreserveSideeffects);\n if (precomp) {\n writeI32(getConstValueI32(precomp), bytes, i << 2);\n } else {\n vars[i] = expr;\n numVars++;\n }\n }\n compiler.currentType = Type.v128;\n if (numVars == 0) {\n // all constants\n return module.v128(bytes);\n } else {\n let vec: ExpressionRef;\n let fullVars = numVars == 4;\n if (fullVars) {\n // all variants\n vec = module.unary(UnaryOp.SplatI32x4, vars[0]);\n } else {\n // mixed constants / variants\n vec = module.v128(bytes);\n }\n for (let i = i32(fullVars); i < 4; i++) {\n let expr = vars[i];\n if (expr) vec = module.simd_replace(SIMDReplaceOp.ReplaceLaneI32x4, vec, i, expr);\n }\n return vec;\n }\n}\nbuiltinFunctions.set(BuiltinNames.i32x4, builtin_i32x4);\n\n// i64x2(...values: i64[2]) -> v128\nfunction builtin_i64x2(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeAbsent(ctx) |\n checkArgsRequired(ctx, 2)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let bytes = new Uint8Array(16);\n let vars = new Array(2);\n let numVars = 0;\n\n for (let i = 0; i < 2; ++i) {\n let expr = compiler.compileExpression(operands[i], Type.i64, Constraints.ConvImplicit);\n let precomp = module.runExpression(expr, ExpressionRunnerFlags.PreserveSideeffects);\n if (precomp) {\n let off = i << 3;\n writeI32(getConstValueI64Low(precomp), bytes, off + 0);\n writeI32(getConstValueI64High(precomp), bytes, off + 4);\n } else {\n vars[i] = expr;\n numVars++;\n }\n }\n compiler.currentType = Type.v128;\n if (numVars == 0) {\n // all constants\n return module.v128(bytes);\n } else {\n let vec: ExpressionRef;\n let fullVars = numVars == 2;\n if (fullVars) {\n // all variants\n vec = module.unary(UnaryOp.SplatI64x2, vars[0]);\n } else {\n // mixed constants / variants\n vec = module.v128(bytes);\n }\n for (let i = i32(fullVars); i < 2; i++) {\n let expr = vars[i];\n if (expr) vec = module.simd_replace(SIMDReplaceOp.ReplaceLaneI64x2, vec, i, expr);\n }\n return vec;\n }\n}\nbuiltinFunctions.set(BuiltinNames.i64x2, builtin_i64x2);\n\n// f32x4(...values: f32[4]) -> v128\nfunction builtin_f32x4(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeAbsent(ctx) |\n checkArgsRequired(ctx, 4)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let bytes = new Uint8Array(16);\n let vars = new Array(4);\n let numVars = 0;\n\n for (let i = 0; i < 4; ++i) {\n let expr = compiler.compileExpression(operands[i], Type.f32, Constraints.ConvImplicit);\n let precomp = module.runExpression(expr, ExpressionRunnerFlags.PreserveSideeffects);\n if (precomp) {\n writeF32(getConstValueF32(precomp), bytes, i << 2);\n } else {\n vars[i] = expr;\n numVars++;\n }\n }\n compiler.currentType = Type.v128;\n if (numVars == 0) {\n // all constants\n return module.v128(bytes);\n } else {\n let vec: ExpressionRef;\n let fullVars = numVars == 4;\n if (fullVars) {\n // all variants\n vec = module.unary(UnaryOp.SplatF32x4, vars[0]);\n } else {\n // mixed constants / variants\n vec = module.v128(bytes);\n }\n for (let i = i32(fullVars); i < 4; i++) {\n let expr = vars[i];\n if (expr) vec = module.simd_replace(SIMDReplaceOp.ReplaceLaneF32x4, vec, i, expr);\n }\n return vec;\n }\n}\nbuiltinFunctions.set(BuiltinNames.f32x4, builtin_f32x4);\n\n// f64x2(...values: f64[2]) -> v128\nfunction builtin_f64x2(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeAbsent(ctx) |\n checkArgsRequired(ctx, 2)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let bytes = new Uint8Array(16);\n let vars = new Array(2);\n let numVars = 0;\n\n for (let i = 0; i < 2; ++i) {\n let expr = compiler.compileExpression(operands[i], Type.f64, Constraints.ConvImplicit);\n let precomp = module.runExpression(expr, ExpressionRunnerFlags.PreserveSideeffects);\n if (precomp) {\n writeF64(getConstValueF64(precomp), bytes, i << 3);\n } else {\n vars[i] = expr;\n numVars++;\n }\n }\n compiler.currentType = Type.v128;\n if (numVars == 0) {\n // all constants\n return module.v128(bytes);\n } else {\n let vec: ExpressionRef;\n let fullVars = numVars == 2;\n if (fullVars) {\n // all variants\n vec = module.unary(UnaryOp.SplatF64x2, vars[0]);\n } else {\n // mixed constants / variants\n vec = module.v128(bytes);\n }\n for (let i = i32(fullVars); i < 2; i++) {\n let expr = vars[i];\n if (expr) vec = module.simd_replace(SIMDReplaceOp.ReplaceLaneF64x2, vec, i, expr);\n }\n return vec;\n }\n}\nbuiltinFunctions.set(BuiltinNames.f64x2, builtin_f64x2);\n\n// v128.splat(x: T) -> v128\nfunction builtin_v128_splat(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 1)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], type, Constraints.ConvImplicit);\n compiler.currentType = Type.v128;\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.I8:\n case TypeKind.U8: return module.unary(UnaryOp.SplatI8x16, arg0);\n case TypeKind.I16:\n case TypeKind.U16: return module.unary(UnaryOp.SplatI16x8, arg0);\n case TypeKind.I32:\n case TypeKind.U32: return module.unary(UnaryOp.SplatI32x4, arg0);\n case TypeKind.I64:\n case TypeKind.U64: return module.unary(UnaryOp.SplatI64x2, arg0);\n case TypeKind.Isize:\n case TypeKind.Usize: {\n return module.unary(\n compiler.options.isWasm64\n ? UnaryOp.SplatI64x2\n : UnaryOp.SplatI32x4,\n arg0\n );\n }\n case TypeKind.F32: return module.unary(UnaryOp.SplatF32x4, arg0);\n case TypeKind.F64: return module.unary(UnaryOp.SplatF64x2, arg0);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.splat\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_splat, builtin_v128_splat);\n\n// v128.extract_lane(x: v128, idx: u8) -> T\nfunction builtin_v128_extract_lane(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx, true) |\n checkArgsRequired(ctx, 2)\n ) return module.unreachable();\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.u8, Constraints.ConvImplicit);\n compiler.currentType = type;\n let idx = 0;\n let precomp = module.runExpression(arg1, ExpressionRunnerFlags.PreserveSideeffects);\n if (precomp) {\n idx = getConstValueI32(precomp);\n } else {\n compiler.error(\n DiagnosticCode.Expression_must_be_a_compile_time_constant,\n operands[1].range\n );\n }\n if (type.isValue) {\n let maxIdx = (16 / assert(type.byteSize)) - 1;\n if (idx < 0 || idx > maxIdx) {\n compiler.error(\n DiagnosticCode._0_must_be_a_value_between_1_and_2_inclusive,\n operands[1].range, \"Lane index\", \"0\", maxIdx.toString()\n );\n idx = 0;\n }\n switch (type.kind) {\n case TypeKind.I8: return module.simd_extract(SIMDExtractOp.ExtractLaneI8x16, arg0, idx);\n case TypeKind.U8: return module.simd_extract(SIMDExtractOp.ExtractLaneU8x16, arg0, idx);\n case TypeKind.I16: return module.simd_extract(SIMDExtractOp.ExtractLaneI16x8, arg0, idx);\n case TypeKind.U16: return module.simd_extract(SIMDExtractOp.ExtractLaneU16x8, arg0, idx);\n case TypeKind.I32:\n case TypeKind.U32: return module.simd_extract(SIMDExtractOp.ExtractLaneI32x4, arg0, idx);\n case TypeKind.I64:\n case TypeKind.U64: return module.simd_extract(SIMDExtractOp.ExtractLaneI64x2, arg0, idx);\n case TypeKind.Isize:\n case TypeKind.Usize: {\n return module.simd_extract(\n compiler.options.isWasm64\n ? SIMDExtractOp.ExtractLaneI64x2\n : SIMDExtractOp.ExtractLaneI32x4,\n arg0, idx\n );\n }\n case TypeKind.F32: return module.simd_extract(SIMDExtractOp.ExtractLaneF32x4, arg0, idx);\n case TypeKind.F64: return module.simd_extract(SIMDExtractOp.ExtractLaneF64x2, arg0, idx);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.extract_lane\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_extract_lane, builtin_v128_extract_lane);\n\n// v128.replace_lane(x: v128, idx: u8, value: T) -> v128\nfunction builtin_v128_replace_lane(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 3)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.u8, Constraints.ConvImplicit);\n let arg2 = compiler.compileExpression(operands[2], type, Constraints.ConvImplicit);\n compiler.currentType = Type.v128;\n let idx = 0;\n let precomp = module.runExpression(arg1, ExpressionRunnerFlags.PreserveSideeffects);\n if (precomp) {\n idx = getConstValueI32(precomp);\n } else {\n compiler.error(\n DiagnosticCode.Expression_must_be_a_compile_time_constant,\n operands[1].range\n );\n }\n if (type.isValue) {\n let maxIdx = (16 / assert(type.byteSize)) - 1;\n if (idx < 0 || idx > maxIdx) {\n compiler.error(\n DiagnosticCode._0_must_be_a_value_between_1_and_2_inclusive,\n operands[1].range, \"Lane index\", \"0\", maxIdx.toString()\n );\n idx = 0;\n }\n switch (type.kind) {\n case TypeKind.I8:\n case TypeKind.U8: return module.simd_replace(SIMDReplaceOp.ReplaceLaneI8x16, arg0, idx, arg2);\n case TypeKind.I16:\n case TypeKind.U16: return module.simd_replace(SIMDReplaceOp.ReplaceLaneI16x8, arg0, idx, arg2);\n case TypeKind.I32:\n case TypeKind.U32: return module.simd_replace(SIMDReplaceOp.ReplaceLaneI32x4, arg0, idx, arg2);\n case TypeKind.I64:\n case TypeKind.U64: return module.simd_replace(SIMDReplaceOp.ReplaceLaneI64x2, arg0, idx, arg2);\n case TypeKind.Isize:\n case TypeKind.Usize: {\n return module.simd_replace(\n compiler.options.isWasm64\n ? SIMDReplaceOp.ReplaceLaneI64x2\n : SIMDReplaceOp.ReplaceLaneI32x4,\n arg0, idx, arg2\n );\n }\n case TypeKind.F32: return module.simd_replace(SIMDReplaceOp.ReplaceLaneF32x4, arg0, idx, arg2);\n case TypeKind.F64: return module.simd_replace(SIMDReplaceOp.ReplaceLaneF64x2, arg0, idx, arg2);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.replace_lane\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_replace_lane, builtin_v128_replace_lane);\n\n// v128.shuffle(a: v128, b: v128, ...lanes: u8[]) -> v128\nfunction builtin_v128_shuffle(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n if (type.isValue) {\n let laneWidth = type.byteSize;\n let laneCount = 16 / laneWidth;\n assert(Number.isInteger(laneCount) && isPowerOf2(laneCount));\n if (\n checkArgsRequired(ctx, 2 + laneCount)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit);\n switch (type.kind) {\n case TypeKind.I8:\n case TypeKind.I16:\n case TypeKind.I32:\n case TypeKind.I64:\n case TypeKind.Isize:\n case TypeKind.U8:\n case TypeKind.U16:\n case TypeKind.U32:\n case TypeKind.U64:\n case TypeKind.Usize:\n case TypeKind.F32:\n case TypeKind.F64: {\n let mask = new Uint8Array(16);\n let maxIdx = (laneCount << 1) - 1;\n for (let i = 0; i < laneCount; ++i) {\n let operand = operands[2 + i];\n let argN = compiler.compileExpression(operand, Type.u8, Constraints.ConvImplicit);\n let precomp = module.runExpression(argN, ExpressionRunnerFlags.PreserveSideeffects);\n let idx = 0;\n if (precomp) {\n idx = getConstValueI32(precomp);\n if (idx < 0 || idx > maxIdx) {\n compiler.error(\n DiagnosticCode._0_must_be_a_value_between_1_and_2_inclusive,\n operand.range, \"Lane index\", \"0\", maxIdx.toString()\n );\n idx = 0;\n }\n } else {\n compiler.error(\n DiagnosticCode.Expression_must_be_a_compile_time_constant,\n operand.range\n );\n }\n switch (laneWidth) {\n case 1: {\n writeI8(idx, mask, i);\n break;\n }\n case 2: {\n let off8 = i << 1;\n let idx8 = idx << 1;\n writeI8(idx8 , mask, off8);\n writeI8(idx8 + 1, mask, off8 + 1);\n break;\n }\n case 4: {\n let off8 = i << 2;\n let idx8 = idx << 2;\n writeI8(idx8 , mask, off8);\n writeI8(idx8 + 1, mask, off8 + 1);\n writeI8(idx8 + 2, mask, off8 + 2);\n writeI8(idx8 + 3, mask, off8 + 3);\n break;\n }\n case 8: {\n let off8 = i << 3;\n let idx8 = idx << 3;\n writeI8(idx8 , mask, off8);\n writeI8(idx8 + 1, mask, off8 + 1);\n writeI8(idx8 + 2, mask, off8 + 2);\n writeI8(idx8 + 3, mask, off8 + 3);\n writeI8(idx8 + 4, mask, off8 + 4);\n writeI8(idx8 + 5, mask, off8 + 5);\n writeI8(idx8 + 6, mask, off8 + 6);\n writeI8(idx8 + 7, mask, off8 + 7);\n break;\n }\n default: assert(false);\n }\n }\n compiler.currentType = Type.v128;\n return module.simd_shuffle(arg0, arg1, mask);\n }\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.shuffle\", type.toString()\n );\n compiler.currentType = Type.v128;\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_shuffle, builtin_v128_shuffle);\n\n// v128.swizzle(a: v128, b: v128) -> v128\nfunction builtin_v128_swizzle(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeAbsent(ctx) |\n checkArgsRequired(ctx, 2)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit);\n return module.binary(BinaryOp.SwizzleI8x16, arg0, arg1);\n}\nbuiltinFunctions.set(BuiltinNames.v128_swizzle, builtin_v128_swizzle);\n\n// v128.load_splat(ptr: usize, immOffset?: usize, immAlign?: usize) -> v128\nfunction builtin_v128_load_splat(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx, true) |\n checkArgsOptional(ctx, 1, 3)\n ) return module.unreachable();\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], compiler.options.usizeType, Constraints.ConvImplicit);\n let numOperands = operands.length;\n let immOffset = 0;\n let immAlign = type.byteSize;\n if (numOperands >= 2) {\n immOffset = evaluateImmediateOffset(operands[1], compiler); // reports\n if (immOffset < 0) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n if (numOperands == 3) {\n immAlign = evaluateImmediateAlign(operands[2], immAlign, compiler); // reports\n if (immAlign < 0) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n }\n }\n compiler.currentType = Type.v128;\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.I8:\n case TypeKind.U8: {\n return module.simd_load(SIMDLoadOp.Load8Splat, arg0, immOffset, immAlign);\n }\n case TypeKind.I16:\n case TypeKind.U16: {\n return module.simd_load(SIMDLoadOp.Load16Splat, arg0, immOffset, immAlign);\n }\n case TypeKind.I32:\n case TypeKind.U32:\n case TypeKind.F32: {\n return module.simd_load(SIMDLoadOp.Load32Splat, arg0, immOffset, immAlign);\n }\n case TypeKind.Isize:\n case TypeKind.Usize: {\n if (!compiler.options.isWasm64) {\n return module.simd_load(SIMDLoadOp.Load32Splat, arg0, immOffset, immAlign);\n }\n // fall-through\n }\n case TypeKind.I64:\n case TypeKind.U64:\n case TypeKind.F64: {\n return module.simd_load(SIMDLoadOp.Load64Splat, arg0, immOffset, immAlign);\n }\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.load_splat\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_load_splat, builtin_v128_load_splat);\n\n// v128.load_ext(ptr: usize, immOffset?: usize, immAlign?: usize) -> v128\nfunction builtin_v128_load_ext(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx, true) |\n checkArgsOptional(ctx, 1, 3)\n ) return module.unreachable();\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], compiler.options.usizeType, Constraints.ConvImplicit);\n let numOperands = operands.length;\n let immOffset = 0;\n let immAlign = type.byteSize;\n if (numOperands >= 2) {\n immOffset = evaluateImmediateOffset(operands[1], compiler); // reports\n if (immOffset < 0) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n if (numOperands == 3) {\n immAlign = evaluateImmediateAlign(operands[2], immAlign, compiler); // reports\n if (immAlign < 0) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n }\n }\n compiler.currentType = Type.v128;\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.I8: return module.simd_load(SIMDLoadOp.Load8x8S, arg0, immOffset, immAlign);\n case TypeKind.U8: return module.simd_load(SIMDLoadOp.Load8x8U, arg0, immOffset, immAlign);\n case TypeKind.I16: return module.simd_load(SIMDLoadOp.Load16x4S, arg0, immOffset, immAlign);\n case TypeKind.U16: return module.simd_load(SIMDLoadOp.Load16x4U, arg0, immOffset, immAlign);\n case TypeKind.Isize: {\n if (compiler.options.isWasm64) break;\n // fall-through\n }\n case TypeKind.I32: return module.simd_load(SIMDLoadOp.Load32x2S, arg0, immOffset, immAlign);\n case TypeKind.Usize: {\n if (compiler.options.isWasm64) break;\n // fall-through\n }\n case TypeKind.U32: return module.simd_load(SIMDLoadOp.Load32x2U, arg0, immOffset, immAlign);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.load_ext\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_load_ext, builtin_v128_load_ext);\n\n// v128.load_zero(ptr: usize, immOffset?: usize, immAlign?: usize) -> v128\nfunction builtin_v128_load_zero(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx, true) |\n checkArgsOptional(ctx, 1, 3)\n ) return module.unreachable();\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], compiler.options.usizeType, Constraints.ConvImplicit);\n let numOperands = operands.length;\n let immOffset = 0;\n let immAlign = type.byteSize;\n if (numOperands >= 2) {\n immOffset = evaluateImmediateOffset(operands[1], compiler); // reports\n if (immOffset < 0) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n if (numOperands == 3) {\n immAlign = evaluateImmediateAlign(operands[2], immAlign, compiler); // reports\n if (immAlign < 0) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n }\n }\n compiler.currentType = Type.v128;\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.I32:\n case TypeKind.U32:\n case TypeKind.F32: return module.simd_load(SIMDLoadOp.Load32Zero, arg0, immOffset, immAlign);\n case TypeKind.I64:\n case TypeKind.U64:\n case TypeKind.F64: return module.simd_load(SIMDLoadOp.Load64Zero, arg0, immOffset, immAlign);\n case TypeKind.Isize:\n case TypeKind.Usize: {\n return module.simd_load(\n compiler.options.isWasm64\n ? SIMDLoadOp.Load64Zero\n : SIMDLoadOp.Load32Zero,\n arg0,\n immOffset,\n immAlign\n );\n }\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.load_zero\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_load_zero, builtin_v128_load_zero);\n\n// v128.load_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize) -> v128\nfunction builtin_v128_load_lane(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx, true) |\n checkArgsOptional(ctx, 3, 5)\n ) return module.unreachable();\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], compiler.options.usizeType, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit);\n let arg2 = compiler.compileExpression(operands[2], Type.u8, Constraints.ConvImplicit);\n let idx = 0;\n let precomp = module.runExpression(arg2, ExpressionRunnerFlags.PreserveSideeffects);\n if (precomp) {\n idx = getConstValueI32(precomp);\n } else {\n compiler.error(\n DiagnosticCode.Expression_must_be_a_compile_time_constant,\n operands[2].range\n );\n }\n let numOperands = operands.length;\n let immOffset = 0;\n let immAlign = type.byteSize;\n if (numOperands >= 4) {\n immOffset = evaluateImmediateOffset(operands[3], compiler); // reports\n if (immOffset < 0) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n if (numOperands == 5) {\n immAlign = evaluateImmediateAlign(operands[4], immAlign, compiler); // reports\n if (immAlign < 0) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n }\n }\n compiler.currentType = Type.v128;\n if (type.isValue) {\n let maxIdx = (16 / assert(type.byteSize)) - 1;\n if (idx < 0 || idx > maxIdx) {\n compiler.error(\n DiagnosticCode._0_must_be_a_value_between_1_and_2_inclusive,\n operands[1].range, \"Lane index\", \"0\", maxIdx.toString()\n );\n idx = 0;\n }\n switch (type.kind) {\n case TypeKind.I8:\n case TypeKind.U8: return module.simd_loadstorelane(SIMDLoadStoreLaneOp.Load8Lane, arg0, immOffset, immAlign, idx, arg1);\n case TypeKind.I16:\n case TypeKind.U16: return module.simd_loadstorelane(SIMDLoadStoreLaneOp.Load16Lane, arg0, immOffset, immAlign, idx, arg1);\n case TypeKind.I32:\n case TypeKind.U32:\n case TypeKind.F32: return module.simd_loadstorelane(SIMDLoadStoreLaneOp.Load32Lane, arg0, immOffset, immAlign, idx, arg1);\n case TypeKind.I64:\n case TypeKind.U64:\n case TypeKind.F64: return module.simd_loadstorelane(SIMDLoadStoreLaneOp.Load64Lane, arg0, immOffset, immAlign, idx, arg1);\n case TypeKind.Isize:\n case TypeKind.Usize: {\n return module.simd_loadstorelane(\n compiler.options.isWasm64\n ? SIMDLoadStoreLaneOp.Load64Lane\n : SIMDLoadStoreLaneOp.Load32Lane,\n arg0,\n immOffset,\n immAlign,\n idx,\n arg1\n );\n }\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.load_lane\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_load_lane, builtin_v128_load_lane);\n\n// v128.store_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize) -> void\nfunction builtin_v128_store_lane(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx, true) |\n checkArgsOptional(ctx, 3, 5)\n ) return module.unreachable();\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], compiler.options.usizeType, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit);\n let arg2 = compiler.compileExpression(operands[2], Type.u8, Constraints.ConvImplicit);\n let idx = 0;\n let precomp = module.runExpression(arg2, ExpressionRunnerFlags.PreserveSideeffects);\n if (precomp) {\n idx = getConstValueI32(precomp);\n } else {\n compiler.error(\n DiagnosticCode.Expression_must_be_a_compile_time_constant,\n operands[2].range\n );\n }\n let numOperands = operands.length;\n let immOffset = 0;\n let immAlign = type.byteSize;\n if (numOperands >= 4) {\n immOffset = evaluateImmediateOffset(operands[3], compiler); // reports\n if (immOffset < 0) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n if (numOperands == 5) {\n immAlign = evaluateImmediateAlign(operands[4], immAlign, compiler); // reports\n if (immAlign < 0) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n }\n }\n compiler.currentType = Type.void;\n if (type.isValue) {\n let maxIdx = (16 / assert(type.byteSize)) - 1;\n if (idx < 0 || idx > maxIdx) {\n compiler.error(\n DiagnosticCode._0_must_be_a_value_between_1_and_2_inclusive,\n operands[1].range, \"Lane index\", \"0\", maxIdx.toString()\n );\n idx = 0;\n }\n switch (type.kind) {\n case TypeKind.I8:\n case TypeKind.U8: return module.simd_loadstorelane(SIMDLoadStoreLaneOp.Store8Lane, arg0, immOffset, immAlign, idx, arg1);\n case TypeKind.I16:\n case TypeKind.U16: return module.simd_loadstorelane(SIMDLoadStoreLaneOp.Store16Lane, arg0, immOffset, immAlign, idx, arg1);\n case TypeKind.I32:\n case TypeKind.U32:\n case TypeKind.F32: return module.simd_loadstorelane(SIMDLoadStoreLaneOp.Store32Lane, arg0, immOffset, immAlign, idx, arg1);\n case TypeKind.I64:\n case TypeKind.U64:\n case TypeKind.F64: return module.simd_loadstorelane(SIMDLoadStoreLaneOp.Store64Lane, arg0, immOffset, immAlign, idx, arg1);\n case TypeKind.Isize:\n case TypeKind.Usize: {\n return module.simd_loadstorelane(\n compiler.options.isWasm64\n ? SIMDLoadStoreLaneOp.Store64Lane\n : SIMDLoadStoreLaneOp.Store32Lane,\n arg0,\n immOffset,\n immAlign,\n idx,\n arg1\n );\n }\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.store_lane\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_store_lane, builtin_v128_store_lane);\n\n// v128.add(a: v128, b: v128) -> v128\nfunction builtin_v128_add(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 2)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.I8:\n case TypeKind.U8: return module.binary(BinaryOp.AddI8x16, arg0, arg1);\n case TypeKind.I16:\n case TypeKind.U16: return module.binary(BinaryOp.AddI16x8, arg0, arg1);\n case TypeKind.I32:\n case TypeKind.U32: return module.binary(BinaryOp.AddI32x4, arg0, arg1);\n case TypeKind.I64:\n case TypeKind.U64: return module.binary(BinaryOp.AddI64x2, arg0, arg1);\n case TypeKind.Isize:\n case TypeKind.Usize: {\n return module.binary(\n compiler.options.isWasm64\n ? BinaryOp.AddI64x2\n : BinaryOp.AddI32x4,\n arg0, arg1\n );\n }\n case TypeKind.F32: return module.binary(BinaryOp.AddF32x4, arg0, arg1);\n case TypeKind.F64: return module.binary(BinaryOp.AddF64x2, arg0, arg1);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.add\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_add, builtin_v128_add);\n\n// v128.sub(a: v128, b: v128) -> v128\nfunction builtin_v128_sub(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 2)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.I8:\n case TypeKind.U8: return module.binary(BinaryOp.SubI8x16, arg0, arg1);\n case TypeKind.I16:\n case TypeKind.U16: return module.binary(BinaryOp.SubI16x8, arg0, arg1);\n case TypeKind.I32:\n case TypeKind.U32: return module.binary(BinaryOp.SubI32x4, arg0, arg1);\n case TypeKind.I64:\n case TypeKind.U64: return module.binary(BinaryOp.SubI64x2, arg0, arg1);\n case TypeKind.Isize:\n case TypeKind.Usize: {\n return module.binary(\n compiler.options.isWasm64\n ? BinaryOp.SubI64x2\n : BinaryOp.SubI32x4,\n arg0, arg1\n );\n }\n case TypeKind.F32: return module.binary(BinaryOp.SubF32x4, arg0, arg1);\n case TypeKind.F64: return module.binary(BinaryOp.SubF64x2, arg0, arg1);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.sub\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_sub, builtin_v128_sub);\n\n// v128.mul(a: v128, b: v128) -> v128\nfunction builtin_v128_mul(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 2)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.I16:\n case TypeKind.U16: return module.binary(BinaryOp.MulI16x8, arg0, arg1);\n case TypeKind.I32:\n case TypeKind.U32: return module.binary(BinaryOp.MulI32x4, arg0, arg1);\n case TypeKind.I64:\n case TypeKind.U64: return module.binary(BinaryOp.MulI64x2, arg0, arg1);\n case TypeKind.Isize:\n case TypeKind.Usize: return module.binary(compiler.options.isWasm64 ? BinaryOp.MulI64x2 : BinaryOp.MulI32x4, arg0, arg1);\n case TypeKind.F32: return module.binary(BinaryOp.MulF32x4, arg0, arg1);\n case TypeKind.F64: return module.binary(BinaryOp.MulF64x2, arg0, arg1);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.mul\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_mul, builtin_v128_mul);\n\n// v128.div(a: v128, b: v128) -> v128\nfunction builtin_v128_div(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 2)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.F32: return module.binary(BinaryOp.DivF32x4, arg0, arg1);\n case TypeKind.F64: return module.binary(BinaryOp.DivF64x2, arg0, arg1);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.div\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_div, builtin_v128_div);\n\n// v128.add_sat(a: v128, b: v128) -> v128\nfunction builtin_v128_add_sat(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 2)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.I8: return module.binary(BinaryOp.AddSatI8x16, arg0, arg1);\n case TypeKind.U8: return module.binary(BinaryOp.AddSatU8x16, arg0, arg1);\n case TypeKind.I16: return module.binary(BinaryOp.AddSatI16x8, arg0, arg1);\n case TypeKind.U16: return module.binary(BinaryOp.AddSatU16x8, arg0, arg1);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.add_sat\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_add_sat, builtin_v128_add_sat);\n\n// v128.sub_sat(a: v128, b: v128) -> v128\nfunction builtin_v128_sub_sat(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 2)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.I8: return module.binary(BinaryOp.SubSatI8x16, arg0, arg1);\n case TypeKind.U8: return module.binary(BinaryOp.SubSatU8x16, arg0, arg1);\n case TypeKind.I16: return module.binary(BinaryOp.SubSatI16x8, arg0, arg1);\n case TypeKind.U16: return module.binary(BinaryOp.SubSatU16x8, arg0, arg1);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.sub_sat\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_sub_sat, builtin_v128_sub_sat);\n\n// v128.min(a: v128, b: v128) -> v128\nfunction builtin_v128_min(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 2)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.I8: return module.binary(BinaryOp.MinI8x16, arg0, arg1);\n case TypeKind.U8: return module.binary(BinaryOp.MinU8x16, arg0, arg1);\n case TypeKind.I16: return module.binary(BinaryOp.MinI16x8, arg0, arg1);\n case TypeKind.U16: return module.binary(BinaryOp.MinU16x8, arg0, arg1);\n case TypeKind.Isize: {\n if (compiler.options.isWasm64) break;\n // fall-through\n }\n case TypeKind.I32: return module.binary(BinaryOp.MinI32x4, arg0, arg1);\n case TypeKind.Usize: {\n if (compiler.options.isWasm64) break;\n // fall-through\n }\n case TypeKind.U32: return module.binary(BinaryOp.MinU32x4, arg0, arg1);\n case TypeKind.F32: return module.binary(BinaryOp.MinF32x4, arg0, arg1);\n case TypeKind.F64: return module.binary(BinaryOp.MinF64x2, arg0, arg1);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.min\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_min, builtin_v128_min);\n\n// v128.max(a: v128, b: v128) -> v128\nfunction builtin_v128_max(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 2)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.I8: return module.binary(BinaryOp.MaxI8x16, arg0, arg1);\n case TypeKind.U8: return module.binary(BinaryOp.MaxU8x16, arg0, arg1);\n case TypeKind.I16: return module.binary(BinaryOp.MaxI16x8, arg0, arg1);\n case TypeKind.U16: return module.binary(BinaryOp.MaxU16x8, arg0, arg1);\n case TypeKind.Isize: {\n if (compiler.options.isWasm64) break;\n // fall-through\n }\n case TypeKind.I32: return module.binary(BinaryOp.MaxI32x4, arg0, arg1);\n case TypeKind.Usize: {\n if (compiler.options.isWasm64) break;\n // fall-through\n }\n case TypeKind.U32: return module.binary(BinaryOp.MaxU32x4, arg0, arg1);\n case TypeKind.F32: return module.binary(BinaryOp.MaxF32x4, arg0, arg1);\n case TypeKind.F64: return module.binary(BinaryOp.MaxF64x2, arg0, arg1);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.max\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_max, builtin_v128_max);\n\n// v128.pmin(a: v128, b: v128) -> v128\nfunction builtin_v128_pmin(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 2)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.F32: return module.binary(BinaryOp.PminF32x4, arg0, arg1);\n case TypeKind.F64: return module.binary(BinaryOp.PminF64x2, arg0, arg1);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.pmin\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_pmin, builtin_v128_pmin);\n\n// v128.pmax(a: v128, b: v128) -> v128\nfunction builtin_v128_pmax(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 2)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.F32: return module.binary(BinaryOp.PmaxF32x4, arg0, arg1);\n case TypeKind.F64: return module.binary(BinaryOp.PmaxF64x2, arg0, arg1);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.pmax\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_pmax, builtin_v128_pmax);\n\n// v128.dot(a: v128, b: v128) -> v128\nfunction builtin_v128_dot(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 2)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.I16: return module.binary(BinaryOp.DotI16x8, arg0, arg1);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.dot\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_dot, builtin_v128_dot);\n\n// v128.avgr(a: v128, b: v128) -> v128\nfunction builtin_v128_avgr(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 2)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.U8: return module.binary(BinaryOp.AvgrU8x16, arg0, arg1);\n case TypeKind.U16: return module.binary(BinaryOp.AvgrU16x8, arg0, arg1);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.avgr\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_avgr, builtin_v128_avgr);\n\n// v128.eq(a: v128, b: v128) -> v128\nfunction builtin_v128_eq(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 2)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.I8:\n case TypeKind.U8: return module.binary(BinaryOp.EqI8x16, arg0, arg1);\n case TypeKind.I16:\n case TypeKind.U16: return module.binary(BinaryOp.EqI16x8, arg0, arg1);\n case TypeKind.I32:\n case TypeKind.U32: return module.binary(BinaryOp.EqI32x4, arg0, arg1);\n case TypeKind.I64:\n case TypeKind.U64: return module.binary(BinaryOp.EqI64x2, arg0, arg1);\n case TypeKind.Isize:\n case TypeKind.Usize: return module.binary(compiler.options.isWasm64 ? BinaryOp.EqI64x2 : BinaryOp.EqI32x4, arg0, arg1);\n case TypeKind.F32: return module.binary(BinaryOp.EqF32x4, arg0, arg1);\n case TypeKind.F64: return module.binary(BinaryOp.EqF64x2, arg0, arg1);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.eq\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_eq, builtin_v128_eq);\n\n// v128.ne(a: v128, b: v128) -> v128\nfunction builtin_v128_ne(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 2)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.I8:\n case TypeKind.U8: return module.binary(BinaryOp.NeI8x16, arg0, arg1);\n case TypeKind.I16:\n case TypeKind.U16: return module.binary(BinaryOp.NeI16x8, arg0, arg1);\n case TypeKind.I32:\n case TypeKind.U32: return module.binary(BinaryOp.NeI32x4, arg0, arg1);\n case TypeKind.I64:\n case TypeKind.U64: return module.binary(BinaryOp.NeI64x2, arg0, arg1);\n case TypeKind.Isize:\n case TypeKind.Usize: return module.binary(compiler.options.isWasm64 ? BinaryOp.NeI64x2 : BinaryOp.NeI32x4, arg0, arg1);\n case TypeKind.F32: return module.binary(BinaryOp.NeF32x4, arg0, arg1);\n case TypeKind.F64: return module.binary(BinaryOp.NeF64x2, arg0, arg1);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.ne\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_ne, builtin_v128_ne);\n\n// v128.lt(a: v128, b: v128) -> v128\nfunction builtin_v128_lt(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 2)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.I8: return module.binary(BinaryOp.LtI8x16, arg0, arg1);\n case TypeKind.U8: return module.binary(BinaryOp.LtU8x16, arg0, arg1);\n case TypeKind.I16: return module.binary(BinaryOp.LtI16x8, arg0, arg1);\n case TypeKind.U16: return module.binary(BinaryOp.LtU16x8, arg0, arg1);\n case TypeKind.I32: return module.binary(BinaryOp.LtI32x4, arg0, arg1);\n case TypeKind.U32: return module.binary(BinaryOp.LtU32x4, arg0, arg1);\n case TypeKind.I64: return module.binary(BinaryOp.LtI64x2, arg0, arg1);\n // no LtU64x2\n case TypeKind.Isize: return module.binary(compiler.options.isWasm64 ? BinaryOp.LtI64x2 : BinaryOp.LtI32x4, arg0, arg1);\n case TypeKind.Usize: {\n if (compiler.options.isWasm64) break;\n return module.binary(BinaryOp.LtU32x4, arg0, arg1);\n }\n case TypeKind.F32: return module.binary(BinaryOp.LtF32x4, arg0, arg1);\n case TypeKind.F64: return module.binary(BinaryOp.LtF64x2, arg0, arg1);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.lt\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_lt, builtin_v128_lt);\n\n// v128.le(a: v128, b: v128) -> v128\nfunction builtin_v128_le(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 2)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.I8: return module.binary(BinaryOp.LeI8x16, arg0, arg1);\n case TypeKind.U8: return module.binary(BinaryOp.LeU8x16, arg0, arg1);\n case TypeKind.I16: return module.binary(BinaryOp.LeI16x8, arg0, arg1);\n case TypeKind.U16: return module.binary(BinaryOp.LeU16x8, arg0, arg1);\n case TypeKind.I32: return module.binary(BinaryOp.LeI32x4, arg0, arg1);\n case TypeKind.U32: return module.binary(BinaryOp.LeU32x4, arg0, arg1);\n case TypeKind.I64: return module.binary(BinaryOp.LeI64x2, arg0, arg1);\n // no LeU64x2\n case TypeKind.Isize: return module.binary(compiler.options.isWasm64 ? BinaryOp.LeI64x2 : BinaryOp.LeI32x4, arg0, arg1);\n case TypeKind.Usize: {\n if (compiler.options.isWasm64) break;\n return module.binary(BinaryOp.LeU32x4, arg0, arg1);\n }\n case TypeKind.F32: return module.binary(BinaryOp.LeF32x4, arg0, arg1);\n case TypeKind.F64: return module.binary(BinaryOp.LeF64x2, arg0, arg1);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.le\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_le, builtin_v128_le);\n\n// v128.gt(a: v128, b: v128) -> v128\nfunction builtin_v128_gt(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 2)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.I8: return module.binary(BinaryOp.GtI8x16, arg0, arg1);\n case TypeKind.U8: return module.binary(BinaryOp.GtU8x16, arg0, arg1);\n case TypeKind.I16: return module.binary(BinaryOp.GtI16x8, arg0, arg1);\n case TypeKind.U16: return module.binary(BinaryOp.GtU16x8, arg0, arg1);\n case TypeKind.I32: return module.binary(BinaryOp.GtI32x4, arg0, arg1);\n case TypeKind.U32: return module.binary(BinaryOp.GtU32x4, arg0, arg1);\n case TypeKind.I64: return module.binary(BinaryOp.GtI64x2, arg0, arg1);\n // no GtU64x2\n case TypeKind.Isize: return module.binary(compiler.options.isWasm64 ? BinaryOp.GtI64x2 : BinaryOp.GtI32x4, arg0, arg1);\n case TypeKind.Usize: {\n if (compiler.options.isWasm64) break;\n return module.binary(BinaryOp.GtU32x4, arg0, arg1);\n }\n case TypeKind.F32: return module.binary(BinaryOp.GtF32x4, arg0, arg1);\n case TypeKind.F64: return module.binary(BinaryOp.GtF64x2, arg0, arg1);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.gt\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_gt, builtin_v128_gt);\n\n// v128.ge(a: v128, b: v128) -> v128\nfunction builtin_v128_ge(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 2)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.I8: return module.binary(BinaryOp.GeI8x16, arg0, arg1);\n case TypeKind.U8: return module.binary(BinaryOp.GeU8x16, arg0, arg1);\n case TypeKind.I16: return module.binary(BinaryOp.GeI16x8, arg0, arg1);\n case TypeKind.U16: return module.binary(BinaryOp.GeU16x8, arg0, arg1);\n case TypeKind.I32: return module.binary(BinaryOp.GeI32x4, arg0, arg1);\n case TypeKind.U32: return module.binary(BinaryOp.GeU32x4, arg0, arg1);\n case TypeKind.I64: return module.binary(BinaryOp.GeI64x2, arg0, arg1);\n // no GeU64x2\n case TypeKind.Isize: return module.binary(compiler.options.isWasm64 ? BinaryOp.GeI64x2 : BinaryOp.GeI32x4, arg0, arg1);\n case TypeKind.Usize: {\n if (compiler.options.isWasm64) break;\n return module.binary(BinaryOp.GeU32x4, arg0, arg1);\n }\n case TypeKind.F32: return module.binary(BinaryOp.GeF32x4, arg0, arg1);\n case TypeKind.F64: return module.binary(BinaryOp.GeF64x2, arg0, arg1);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.ge\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_ge, builtin_v128_ge);\n\n// v128.narrow(a: v128, b: v128) -> v128\nfunction builtin_v128_narrow(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 2)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.I16: return module.binary(BinaryOp.NarrowI16x8ToI8x16, arg0, arg1);\n case TypeKind.U16: return module.binary(BinaryOp.NarrowU16x8ToU8x16, arg0, arg1);\n case TypeKind.I32: return module.binary(BinaryOp.NarrowI32x4ToI16x8, arg0, arg1);\n case TypeKind.U32: return module.binary(BinaryOp.NarrowU32x4ToU16x8, arg0, arg1);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.narrow\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_narrow, builtin_v128_narrow);\n\n// v128.neg(a: v128) -> v128\nfunction builtin_v128_neg(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 1)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.I8:\n case TypeKind.U8: return module.unary(UnaryOp.NegI8x16, arg0);\n case TypeKind.I16:\n case TypeKind.U16: return module.unary(UnaryOp.NegI16x8, arg0);\n case TypeKind.I32:\n case TypeKind.U32: return module.unary(UnaryOp.NegI32x4, arg0);\n case TypeKind.I64:\n case TypeKind.U64: return module.unary(UnaryOp.NegI64x2, arg0);\n case TypeKind.Isize:\n case TypeKind.Usize: {\n return module.unary(\n compiler.options.isWasm64\n ? UnaryOp.NegI64x2\n : UnaryOp.NegI32x4,\n arg0\n );\n }\n case TypeKind.F32: return module.unary(UnaryOp.NegF32x4, arg0);\n case TypeKind.F64: return module.unary(UnaryOp.NegF64x2, arg0);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.neg\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_neg, builtin_v128_neg);\n\n// v128.abs(a: v128) -> v128\nfunction builtin_v128_abs(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 1)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.I8: return module.unary(UnaryOp.AbsI8x16, arg0);\n case TypeKind.I16: return module.unary(UnaryOp.AbsI16x8, arg0);\n case TypeKind.I32: return module.unary(UnaryOp.AbsI32x4, arg0);\n case TypeKind.I64: return module.unary(UnaryOp.AbsI64x2, arg0);\n case TypeKind.Isize: return module.unary(compiler.options.isWasm64 ? UnaryOp.AbsI64x2 : UnaryOp.AbsI32x4, arg0);\n case TypeKind.U8:\n case TypeKind.U16:\n case TypeKind.U32:\n case TypeKind.U64:\n case TypeKind.Usize: return arg0;\n case TypeKind.F32: return module.unary(UnaryOp.AbsF32x4, arg0);\n case TypeKind.F64: return module.unary(UnaryOp.AbsF64x2, arg0);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.abs\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_abs, builtin_v128_abs);\n\n// v128.sqrt(a: v128) -> v128\nfunction builtin_v128_sqrt(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 1)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.F32: return module.unary(UnaryOp.SqrtF32x4, arg0);\n case TypeKind.F64: return module.unary(UnaryOp.SqrtF64x2, arg0);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.sqrt\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_sqrt, builtin_v128_sqrt);\n\n// v128.ceil(a: v128) -> v128\nfunction builtin_v128_ceil(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 1)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.F32: return module.unary(UnaryOp.CeilF32x4, arg0);\n case TypeKind.F64: return module.unary(UnaryOp.CeilF64x2, arg0);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.ceil\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_ceil, builtin_v128_ceil);\n\n// v128.floor(a: v128) -> v128\nfunction builtin_v128_floor(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 1)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.F32: return module.unary(UnaryOp.FloorF32x4, arg0);\n case TypeKind.F64: return module.unary(UnaryOp.FloorF64x2, arg0);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.floor\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_floor, builtin_v128_floor);\n\n// v128.trunc(a: v128) -> v128\nfunction builtin_v128_trunc(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 1)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.F32: return module.unary(UnaryOp.TruncF32x4, arg0);\n case TypeKind.F64: return module.unary(UnaryOp.TruncF64x2, arg0);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.trunc\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_trunc, builtin_v128_trunc);\n\n// v128.nearest(a: v128) -> v128\nfunction builtin_v128_nearest(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 1)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.F32: return module.unary(UnaryOp.NearestF32x4, arg0);\n case TypeKind.F64: return module.unary(UnaryOp.NearestF64x2, arg0);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.nearest\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_nearest, builtin_v128_nearest);\n\n// v128.convert(a: v128) -> v128\nfunction builtin_v128_convert(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 1)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.Isize: {\n if (compiler.options.isWasm64) break;\n // fall-through\n }\n case TypeKind.I32: return module.unary(UnaryOp.ConvertI32x4ToF32x4, arg0);\n case TypeKind.Usize: {\n if (compiler.options.isWasm64) break;\n // fall-through\n }\n case TypeKind.U32: return module.unary(UnaryOp.ConvertU32x4ToF32x4, arg0);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.convert\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_convert, builtin_v128_convert);\n\n// v128.convert_low(a: v128) -> v128\nfunction builtin_v128_convert_low(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 1)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.Isize: {\n if (compiler.options.isWasm64) break;\n // fall-through\n }\n case TypeKind.I32: return module.unary(UnaryOp.ConvertLowI32x4ToF64x2, arg0);\n case TypeKind.Usize: {\n if (compiler.options.isWasm64) break;\n // fall-through\n }\n case TypeKind.U32: return module.unary(UnaryOp.ConvertLowU32x4ToF64x2, arg0);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.convert_low\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_convert_low, builtin_v128_convert_low);\n\n// v128.trunc_sat(a: v128) -> v128\nfunction builtin_v128_trunc_sat(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 1)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.Isize: {\n if (compiler.options.isWasm64) break;\n // fall-through\n }\n case TypeKind.I32: return module.unary(UnaryOp.TruncSatF32x4ToI32x4, arg0);\n case TypeKind.Usize: {\n if (compiler.options.isWasm64) break;\n // fall-through\n }\n case TypeKind.U32: return module.unary(UnaryOp.TruncSatF32x4ToU32x4, arg0);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.trunc_sat\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_trunc_sat, builtin_v128_trunc_sat);\n\n// v128.trunc_sat_zero(a: v128) -> v128\nfunction builtin_v128_trunc_sat_zero(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 1)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.Isize: {\n if (compiler.options.isWasm64) break;\n // fall-through\n }\n case TypeKind.I32: return module.unary(UnaryOp.TruncSatF64x2ToI32x4Zero, arg0);\n case TypeKind.Usize: {\n if (compiler.options.isWasm64) break;\n // fall-through\n }\n case TypeKind.U32: return module.unary(UnaryOp.TruncSatF64x2ToU32x4Zero, arg0);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.trunc_sat_zero\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_trunc_sat_zero, builtin_v128_trunc_sat_zero);\n\n// v128.extend_low(a: v128) -> v128\nfunction builtin_v128_extend_low(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 1)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.I8: return module.unary(UnaryOp.ExtendLowI8x16ToI16x8, arg0);\n case TypeKind.U8: return module.unary(UnaryOp.ExtendLowU8x16ToU16x8, arg0);\n case TypeKind.I16: return module.unary(UnaryOp.ExtendLowI16x8ToI32x4, arg0);\n case TypeKind.U16: return module.unary(UnaryOp.ExtendLowU16x8ToU32x4, arg0);\n case TypeKind.Isize: {\n if (compiler.options.isWasm64) break;\n // fall-through\n }\n case TypeKind.I32: return module.unary(UnaryOp.ExtendLowI32x4ToI64x2, arg0);\n case TypeKind.Usize: {\n if (compiler.options.isWasm64) break;\n // fall-through\n }\n case TypeKind.U32: return module.unary(UnaryOp.ExtendLowU32x4ToU64x2, arg0);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.extend_low\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_extend_low, builtin_v128_extend_low);\n\n// v128.extend_high(a: v128) -> v128\nfunction builtin_v128_extend_high(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 1)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.I8: return module.unary(UnaryOp.ExtendHighI8x16ToI16x8, arg0);\n case TypeKind.U8: return module.unary(UnaryOp.ExtendHighU8x16ToU16x8, arg0);\n case TypeKind.I16: return module.unary(UnaryOp.ExtendHighI16x8ToI32x4, arg0);\n case TypeKind.U16: return module.unary(UnaryOp.ExtendHighU16x8ToU32x4, arg0);\n case TypeKind.Isize: {\n if (compiler.options.isWasm64) break;\n // fall-through\n }\n case TypeKind.I32: return module.unary(UnaryOp.ExtendHighI32x4ToI64x2, arg0);\n case TypeKind.Usize: {\n if (compiler.options.isWasm64) break;\n // fall-through\n }\n case TypeKind.U32: return module.unary(UnaryOp.ExtendHighU32x4ToU64x2, arg0);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.extend_high\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_extend_high, builtin_v128_extend_high);\n\n// v128.shl(a: v128, b: i32) -> v128\nfunction builtin_v128_shl(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 2)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let type = ctx.typeArguments![0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.i32, Constraints.ConvImplicit);\n compiler.currentType = Type.v128;\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.I8:\n case TypeKind.U8: return module.simd_shift(SIMDShiftOp.ShlI8x16, arg0, arg1);\n case TypeKind.I16:\n case TypeKind.U16: return module.simd_shift(SIMDShiftOp.ShlI16x8, arg0, arg1);\n case TypeKind.I32:\n case TypeKind.U32: return module.simd_shift(SIMDShiftOp.ShlI32x4, arg0, arg1);\n case TypeKind.I64:\n case TypeKind.U64: return module.simd_shift(SIMDShiftOp.ShlI64x2, arg0, arg1);\n case TypeKind.Isize:\n case TypeKind.Usize: {\n return module.simd_shift(\n compiler.options.isWasm64\n ? SIMDShiftOp.ShlI64x2\n : SIMDShiftOp.ShlI32x4,\n arg0, arg1\n );\n }\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.shl\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_shl, builtin_v128_shl);\n\n// v128.shr(a: v128, b: i32) -> v128\nfunction builtin_v128_shr(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 2)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let type = ctx.typeArguments![0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.i32, Constraints.ConvImplicit);\n compiler.currentType = Type.v128;\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.I8: return module.simd_shift(SIMDShiftOp.ShrI8x16, arg0, arg1);\n case TypeKind.U8: return module.simd_shift(SIMDShiftOp.ShrU8x16, arg0, arg1);\n case TypeKind.I16: return module.simd_shift(SIMDShiftOp.ShrI16x8, arg0, arg1);\n case TypeKind.U16: return module.simd_shift(SIMDShiftOp.ShrU16x8, arg0, arg1);\n case TypeKind.I32: return module.simd_shift(SIMDShiftOp.ShrI32x4, arg0, arg1);\n case TypeKind.U32: return module.simd_shift(SIMDShiftOp.ShrU32x4, arg0, arg1);\n case TypeKind.I64: return module.simd_shift(SIMDShiftOp.ShrI64x2, arg0, arg1);\n case TypeKind.U64: return module.simd_shift(SIMDShiftOp.ShrU64x2, arg0, arg1);\n case TypeKind.Isize: {\n return module.simd_shift(\n compiler.options.isWasm64\n ? SIMDShiftOp.ShrI64x2\n : SIMDShiftOp.ShrI32x4,\n arg0, arg1\n );\n }\n case TypeKind.Usize: {\n return module.simd_shift(\n compiler.options.isWasm64\n ? SIMDShiftOp.ShrU64x2\n : SIMDShiftOp.ShrU32x4,\n arg0, arg1\n );\n }\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.shr\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_shr, builtin_v128_shr);\n\nfunction builtin_v128_bitwise_binary(ctx: BuiltinFunctionContext, op: BinaryOp): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeAbsent(ctx) |\n checkArgsRequired(ctx, 2)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit);\n return module.binary(op, arg0, arg1);\n}\n\n// v128.and(a: v128, b: v128) -> v128\nfunction builtin_v128_and(ctx: BuiltinFunctionContext): ExpressionRef {\n return builtin_v128_bitwise_binary(ctx, BinaryOp.AndV128);\n}\nbuiltinFunctions.set(BuiltinNames.v128_and, builtin_v128_and);\n\n// v128.or(a: v128, b: v128) -> v128\nfunction builtin_v128_or(ctx: BuiltinFunctionContext): ExpressionRef {\n return builtin_v128_bitwise_binary(ctx, BinaryOp.OrV128);\n}\nbuiltinFunctions.set(BuiltinNames.v128_or, builtin_v128_or);\n\n// v128.xor(a: v128, b: v128) -> v128\nfunction builtin_v128_xor(ctx: BuiltinFunctionContext): ExpressionRef {\n return builtin_v128_bitwise_binary(ctx, BinaryOp.XorV128);\n}\nbuiltinFunctions.set(BuiltinNames.v128_xor, builtin_v128_xor);\n\n// v128.andnot(a: v128, b: v128) -> v128\nfunction builtin_v128_andnot(ctx: BuiltinFunctionContext): ExpressionRef {\n return builtin_v128_bitwise_binary(ctx, BinaryOp.AndnotV128);\n}\nbuiltinFunctions.set(BuiltinNames.v128_andnot, builtin_v128_andnot);\n\nfunction builtin_v128_bitwise_unary(ctx: BuiltinFunctionContext, op: UnaryOp): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeAbsent(ctx) |\n checkArgsRequired(ctx, 1)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n return module.unary(op, arg0);\n}\n\n// v128.not(a: v128) -> v128\nfunction builtin_v128_not(ctx: BuiltinFunctionContext): ExpressionRef {\n return builtin_v128_bitwise_unary(ctx, UnaryOp.NotV128);\n}\nbuiltinFunctions.set(BuiltinNames.v128_not, builtin_v128_not);\n\n// v128.bitselect(v1: v128, v2: v128, c: v128) -> v128\nfunction builtin_v128_bitselect(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeAbsent(ctx) |\n checkArgsRequired(ctx, 3)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit);\n let arg2 = compiler.compileExpression(operands[2], Type.v128, Constraints.ConvImplicit);\n return module.simd_ternary(SIMDTernaryOp.Bitselect, arg0, arg1, arg2);\n}\nbuiltinFunctions.set(BuiltinNames.v128_bitselect, builtin_v128_bitselect);\n\n// v128.any_true(a: v128) -> bool\nfunction builtin_v128_any_true(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeAbsent(ctx) |\n checkArgsRequired(ctx, 1)\n ) {\n compiler.currentType = Type.bool;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n compiler.currentType = Type.bool;\n return module.unary(UnaryOp.AnyTrueV128, arg0);\n}\nbuiltinFunctions.set(BuiltinNames.v128_any_true, builtin_v128_any_true);\n\n// v128.all_true(a: v128) -> bool\nfunction builtin_v128_all_true(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 1)\n ) {\n compiler.currentType = Type.bool;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let type = ctx.typeArguments![0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n compiler.currentType = Type.bool;\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.I8:\n case TypeKind.U8: return module.unary(UnaryOp.AllTrueI8x16, arg0);\n case TypeKind.I16:\n case TypeKind.U16: return module.unary(UnaryOp.AllTrueI16x8, arg0);\n case TypeKind.I32:\n case TypeKind.U32: return module.unary(UnaryOp.AllTrueI32x4, arg0);\n case TypeKind.I64:\n case TypeKind.U64: return module.unary(UnaryOp.AllTrueI64x2, arg0);\n case TypeKind.Isize:\n case TypeKind.Usize: {\n return module.unary(\n compiler.options.isWasm64\n ? UnaryOp.AllTrueI64x2\n : UnaryOp.AllTrueI32x4,\n arg0\n );\n }\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.all_true\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_all_true, builtin_v128_all_true);\n\n// v128.bitmask(a: v128) -> i32\nfunction builtin_v128_bitmask(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 1)\n ) {\n compiler.currentType = Type.i32;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let type = ctx.typeArguments![0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n compiler.currentType = Type.i32;\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.I8:\n case TypeKind.U8: return module.unary(UnaryOp.BitmaskI8x16, arg0);\n case TypeKind.I16:\n case TypeKind.U16: return module.unary(UnaryOp.BitmaskI16x8, arg0);\n case TypeKind.I32:\n case TypeKind.U32: return module.unary(UnaryOp.BitmaskI32x4, arg0);\n case TypeKind.I64:\n case TypeKind.U64: return module.unary(UnaryOp.BitmaskI64x2, arg0);\n case TypeKind.Isize:\n case TypeKind.Usize: {\n return module.unary(\n compiler.options.isWasm64\n ? UnaryOp.BitmaskI64x2\n : UnaryOp.BitmaskI32x4,\n arg0\n );\n }\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.bitmask\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_bitmask, builtin_v128_bitmask);\n\n// v128.popcnt(a: v128) -> v128\nfunction builtin_v128_popcnt(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 1)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let type = ctx.typeArguments![0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n compiler.currentType = Type.v128;\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.I8:\n case TypeKind.U8: return module.unary(UnaryOp.PopcntI8x16, arg0);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.popcnt\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_popcnt, builtin_v128_popcnt);\n\n// v128.extadd_pairwise(a: v128) -> v128\nfunction builtin_v128_extadd_pairwise(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 1)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let type = ctx.typeArguments![0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n compiler.currentType = Type.v128;\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.I8: return module.unary(UnaryOp.ExtaddPairwiseI8x16ToI16x8, arg0);\n case TypeKind.U8: return module.unary(UnaryOp.ExtaddPairwiseU8x16ToU16x8, arg0);\n case TypeKind.I16: return module.unary(UnaryOp.ExtaddPairwiseI16x8ToI32x4, arg0);\n case TypeKind.U16: return module.unary(UnaryOp.ExtaddPairwiseU16x8ToU32x4, arg0);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.extadd_pairwise\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_extadd_pairwise, builtin_v128_extadd_pairwise);\n\n// v128.demote_zero(a: v128) -> v128\nfunction builtin_v128_demote_zero(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeOptional(ctx) |\n checkArgsRequired(ctx, 1)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments;\n let type = typeArguments ? typeArguments[0] : Type.f64;\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n compiler.currentType = Type.v128;\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.F64: return module.unary(UnaryOp.DemoteZeroF64x2ToF32x4, arg0);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.demote_zero\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_demote_zero, builtin_v128_demote_zero);\n\n// v128.promote_low(a: v128) -> v128\nfunction builtin_v128_promote_low(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeOptional(ctx) |\n checkArgsRequired(ctx, 1)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments;\n let type = typeArguments ? typeArguments[0] : Type.f32;\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n compiler.currentType = Type.v128;\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.F32: return module.unary(UnaryOp.PromoteLowF32x4ToF64x2, arg0);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.promote_low\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_promote_low, builtin_v128_promote_low);\n\n// v128.q15mulr_sat(a: v128, b: v128) -> v128\nfunction builtin_v128_q15mulr_sat(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 2)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.I16: return module.binary(BinaryOp.Q15mulrSatI16x8, arg0, arg1);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.q15mulr_sat\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_q15mulr_sat, builtin_v128_q15mulr_sat);\n\n// v128.extmul_low(a: v128, b: v128) -> v128\nfunction builtin_v128_extmul_low(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 2)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.I8: return module.binary(BinaryOp.ExtmulLowI16x8, arg0, arg1);\n case TypeKind.U8: return module.binary(BinaryOp.ExtmulLowU16x8, arg0, arg1);\n case TypeKind.I16: return module.binary(BinaryOp.ExtmulLowI32x4, arg0, arg1);\n case TypeKind.U16: return module.binary(BinaryOp.ExtmulLowU32x4, arg0, arg1);\n case TypeKind.I32: return module.binary(BinaryOp.ExtmulLowI64x2, arg0, arg1);\n case TypeKind.U32: return module.binary(BinaryOp.ExtmulLowU64x2, arg0, arg1);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.extmul_low\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_extmul_low, builtin_v128_extmul_low);\n\n// v128.extmul_high(a: v128, b: v128) -> v128\nfunction builtin_v128_extmul_high(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.Simd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 2)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.I8: return module.binary(BinaryOp.ExtmulHighI16x8, arg0, arg1);\n case TypeKind.U8: return module.binary(BinaryOp.ExtmulHighU16x8, arg0, arg1);\n case TypeKind.I16: return module.binary(BinaryOp.ExtmulHighI32x4, arg0, arg1);\n case TypeKind.U16: return module.binary(BinaryOp.ExtmulHighU32x4, arg0, arg1);\n case TypeKind.I32: return module.binary(BinaryOp.ExtmulHighI64x2, arg0, arg1);\n case TypeKind.U32: return module.binary(BinaryOp.ExtmulHighU64x2, arg0, arg1);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.extmul_high\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_extmul_high, builtin_v128_extmul_high);\n\n// === Relaxed SIMD ===========================================================================\n\n// v128.relaxed_swizzle(a: v128, s: v128) -> v128\nfunction builtin_v128_relaxed_swizzle(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.RelaxedSimd) |\n checkTypeAbsent(ctx) |\n checkArgsRequired(ctx, 2)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit);\n return module.binary(BinaryOp.RelaxedSwizzleI8x16, arg0, arg1);\n}\nbuiltinFunctions.set(BuiltinNames.v128_relaxed_swizzle, builtin_v128_relaxed_swizzle);\n\n// v128.relaxed_trunc(a: v128) -> v128\nfunction builtin_v128_relaxed_trunc(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.RelaxedSimd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 1)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.Isize: {\n if (compiler.options.isWasm64) break;\n // fall-through\n }\n case TypeKind.I32: return module.unary(UnaryOp.RelaxedTruncF32x4ToI32x4, arg0);\n case TypeKind.Usize: {\n if (compiler.options.isWasm64) break;\n // fall-through\n }\n case TypeKind.U32: return module.unary(UnaryOp.RelaxedTruncF32x4ToU32x4, arg0);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.relaxed_trunc\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_relaxed_trunc, builtin_v128_relaxed_trunc);\n\n// v128.relaxed_trunc_zero(a: v128) -> v128\nfunction builtin_v128_relaxed_trunc_zero(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.RelaxedSimd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 1)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.Isize: {\n if (compiler.options.isWasm64) break;\n // fall-through\n }\n case TypeKind.I32: return module.unary(UnaryOp.RelaxedTruncF64x2ToI32x4Zero, arg0);\n case TypeKind.Usize: {\n if (compiler.options.isWasm64) break;\n // fall-through\n }\n case TypeKind.U32: return module.unary(UnaryOp.RelaxedTruncF64x2ToU32x4Zero, arg0);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.relaxed_trunc_zero\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_relaxed_trunc_zero, builtin_v128_relaxed_trunc_zero);\n\n// v128.relaxed_madd(a: v128, b: v128, c: v128) -> v128\nfunction builtin_v128_relaxed_madd(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.RelaxedSimd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 3)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit);\n let arg2 = compiler.compileExpression(operands[2], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.F32: return module.simd_ternary(SIMDTernaryOp.RelaxedMaddF32x4, arg0, arg1, arg2);\n case TypeKind.F64: return module.simd_ternary(SIMDTernaryOp.RelaxedMaddF64x2, arg0, arg1, arg2);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.relaxed_madd\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_relaxed_madd, builtin_v128_relaxed_madd);\n\n// v128.relaxed_nmadd(a: v128, b: v128, c: v128) -> v128\nfunction builtin_v128_relaxed_nmadd(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.RelaxedSimd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 3)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit);\n let arg2 = compiler.compileExpression(operands[2], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.F32: return module.simd_ternary(SIMDTernaryOp.RelaxedNmaddF32x4, arg0, arg1, arg2);\n case TypeKind.F64: return module.simd_ternary(SIMDTernaryOp.RelaxedNmaddF64x2, arg0, arg1, arg2);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.relaxed_nmadd\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_relaxed_nmadd, builtin_v128_relaxed_nmadd);\n\n// v128.relaxed_laneselect(a: v128, b: v128, m: v128) -> v128\nfunction builtin_v128_relaxed_laneselect(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.RelaxedSimd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 3)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit);\n let arg2 = compiler.compileExpression(operands[2], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.I8:\n case TypeKind.U8: return module.simd_ternary(SIMDTernaryOp.RelaxedLaneselectI8x16, arg0, arg1, arg2);\n case TypeKind.I16:\n case TypeKind.U16: return module.simd_ternary(SIMDTernaryOp.RelaxedLaneselectI16x8, arg0, arg1, arg2);\n case TypeKind.I32:\n case TypeKind.U32: return module.simd_ternary(SIMDTernaryOp.RelaxedLaneselectI32x4, arg0, arg1, arg2);\n case TypeKind.I64:\n case TypeKind.U64: return module.simd_ternary(SIMDTernaryOp.RelaxedLaneselectI64x2, arg0, arg1, arg2);\n case TypeKind.Isize:\n case TypeKind.Usize: {\n return module.simd_ternary(\n compiler.options.isWasm64\n ? SIMDTernaryOp.RelaxedLaneselectI64x2\n : SIMDTernaryOp.RelaxedLaneselectI32x4,\n arg0, arg1, arg2\n );\n }\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.relaxed_laneselect\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_relaxed_laneselect, builtin_v128_relaxed_laneselect);\n\n// v128.relaxed_min(a: v128, b: v128) -> v128\nfunction builtin_v128_relaxed_min(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.RelaxedSimd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 2)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.F32: return module.binary(BinaryOp.RelaxedMinF32x4, arg0, arg1);\n case TypeKind.F64: return module.binary(BinaryOp.RelaxedMinF64x2, arg0, arg1);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.relaxed_min\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_relaxed_min, builtin_v128_relaxed_min);\n\n// v128.relaxed_max(a: v128, b: v128) -> v128\nfunction builtin_v128_relaxed_max(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.RelaxedSimd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 2)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.F32: return module.binary(BinaryOp.RelaxedMaxF32x4, arg0, arg1);\n case TypeKind.F64: return module.binary(BinaryOp.RelaxedMaxF64x2, arg0, arg1);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.relaxed_max\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_relaxed_max, builtin_v128_relaxed_max);\n\n// v128.relaxed_q15mulr(a: v128, b: v128) -> v128\nfunction builtin_v128_relaxed_q15mulr(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.RelaxedSimd) |\n checkTypeRequired(ctx) |\n checkArgsRequired(ctx, 2)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit);\n if (type.isValue) {\n switch (type.kind) {\n case TypeKind.I16: return module.binary(BinaryOp.RelaxedQ15MulrI16x8, arg0, arg1);\n }\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.relaxed_q15mulr\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_relaxed_q15mulr, builtin_v128_relaxed_q15mulr);\n\n// v128.relaxed_dot(a: v128, b: v128) -> v128\nfunction builtin_v128_relaxed_dot(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.RelaxedSimd) |\n checkArgsRequired(ctx, 2) |\n checkTypeRequired(ctx)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit);\n switch (type.kind) {\n case TypeKind.I16: return module.binary(BinaryOp.RelaxedDotI8x16I7x16ToI16x8, arg0, arg1);\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.relaxed_dot\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_relaxed_dot, builtin_v128_relaxed_dot);\n\n// v128.relaxed_dot_add(a: v128, b: v128, c: v128) -> v128\nfunction builtin_v128_relaxed_dot_add(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkFeatureEnabled(ctx, Feature.RelaxedSimd) |\n checkArgsRequired(ctx, 3) |\n checkTypeRequired(ctx)\n ) {\n compiler.currentType = Type.v128;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments!;\n let type = typeArguments[0];\n let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit);\n let arg2 = compiler.compileExpression(operands[2], Type.v128, Constraints.ConvImplicit);\n switch (type.kind) {\n // TOOD: emulate relaxed_dot_add of i16 with multiple instructions?\n case TypeKind.Isize: {\n if (compiler.options.isWasm64) break;\n // fall-through\n }\n case TypeKind.I32: return module.simd_ternary(SIMDTernaryOp.RelaxedDotI8x16I7x16AddToI32x4, arg0, arg1, arg2);\n }\n compiler.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n ctx.reportNode.typeArgumentsRange, \"v128.relaxed_dot_add\", type.toString()\n );\n return module.unreachable();\n}\nbuiltinFunctions.set(BuiltinNames.v128_relaxed_dot_add, builtin_v128_relaxed_dot_add);\n\n// === Internal runtime =======================================================================\n\n// __visit_globals(cookie: u32) -> void\nfunction builtin_visit_globals(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkTypeAbsent(ctx) |\n checkArgsRequired(ctx, 1) // cookie\n ) {\n compiler.currentType = Type.void;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let arg0 = compiler.compileExpression(operands[0], Type.u32, Constraints.ConvImplicit);\n compiler.runtimeFeatures |= RuntimeFeatures.visitGlobals;\n compiler.currentType = Type.void;\n return module.call(BuiltinNames.visit_globals, [ arg0 ], TypeRef.None);\n}\nbuiltinFunctions.set(BuiltinNames.visit_globals, builtin_visit_globals);\n\n// __visit_members(ref: usize, cookie: u32) -> void\nfunction builtin_visit_members(ctx: BuiltinFunctionContext): ExpressionRef {\n let compiler = ctx.compiler;\n let module = compiler.module;\n if (\n checkTypeAbsent(ctx) |\n checkArgsRequired(ctx, 2) // ref, cookie\n ) {\n compiler.currentType = Type.void;\n return module.unreachable();\n }\n let operands = ctx.operands;\n let arg0 = compiler.compileExpression(operands[0], compiler.options.usizeType, Constraints.ConvImplicit);\n let arg1 = compiler.compileExpression(operands[1], Type.u32, Constraints.ConvImplicit);\n compiler.runtimeFeatures |= RuntimeFeatures.visitMembers;\n compiler.currentType = Type.void;\n return module.call(BuiltinNames.visit_members, [ arg0, arg1 ], TypeRef.None);\n}\nbuiltinFunctions.set(BuiltinNames.visit_members, builtin_visit_members);\n\n// === Inline assembler =======================================================================\n\n// TODO: Operators can't be just deferred (don't have a corresponding generic built-in)\n// add, sub, mul, div_s, div_u, rem_s, rem_u\n// and, or, xor, shl, shr_u, shr_s\n// eq, eqz, ne, lt_s, lt_u, le_s, le_u, gt_s, gt_u, ge_s, ge_u\n\n// i32.clz -> clz\nfunction builtin_i32_clz(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.i32;\n return builtin_clz(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_clz, builtin_i32_clz);\n\n// i64.clz -> clz\nfunction builtin_i64_clz(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.i64;\n return builtin_clz(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_clz, builtin_i64_clz);\n\n// i32.ctz -> ctz\nfunction builtin_i32_ctz(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.i32;\n return builtin_ctz(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_ctz, builtin_i32_ctz);\n\n// i64.ctz -> ctz\nfunction builtin_i64_ctz(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.i64;\n return builtin_ctz(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_ctz, builtin_i64_ctz);\n\n// i32.popcnt -> popcnt\nfunction builtin_i32_popcnt(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.i32;\n return builtin_popcnt(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_popcnt, builtin_i32_popcnt);\n\n// i64.popcnt -> popcnt\nfunction builtin_i64_popcnt(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.i64;\n return builtin_popcnt(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_popcnt, builtin_i64_popcnt);\n\n// i32.rotl -> rotl\nfunction builtin_i32_rotl(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.i32;\n return builtin_rotl(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_rotl, builtin_i32_rotl);\n\n// i64.rotl -> rotl\nfunction builtin_i64_rotl(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.i64;\n return builtin_rotl(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_rotl, builtin_i64_rotl);\n\n// i32.rotr -> rotr\nfunction builtin_i32_rotr(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.i32;\n return builtin_rotr(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_rotr, builtin_i32_rotr);\n\n// i64.rotr -> rotr\nfunction builtin_i64_rotr(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.i64;\n return builtin_rotr(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_rotr, builtin_i64_rotr);\n\n// f32.abs -> abs\nfunction builtin_f32_abs(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.f32;\n return builtin_abs(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32_abs, builtin_f32_abs);\n\n// f64.abs -> abs\nfunction builtin_f64_abs(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.f64;\n return builtin_abs(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64_abs, builtin_f64_abs);\n\n// f32.max -> max\nfunction builtin_f32_max(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.f32;\n return builtin_max(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32_max, builtin_f32_max);\n\n// f64.max -> max\nfunction builtin_f64_max(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.f64;\n return builtin_max(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64_max, builtin_f64_max);\n\n// f32.min -> min\nfunction builtin_f32_min(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.f32;\n return builtin_min(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32_min, builtin_f32_min);\n\n// f64.min -> min\nfunction builtin_f64_min(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.f64;\n return builtin_min(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64_min, builtin_f64_min);\n\n// f32.ceil -> ceil\nfunction builtin_f32_ceil(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.f32;\n return builtin_ceil(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32_ceil, builtin_f32_ceil);\n\n// f64.ceil -> ceil\nfunction builtin_f64_ceil(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.f64;\n return builtin_ceil(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64_ceil, builtin_f64_ceil);\n\n// f32.floor -> floor\nfunction builtin_f32_floor(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.f32;\n return builtin_floor(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32_floor, builtin_f32_floor);\n\n// f64.floor -> floor\nfunction builtin_f64_floor(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.f64;\n return builtin_floor(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64_floor, builtin_f64_floor);\n\n// f32.copysign -> copysign\nfunction builtin_f32_copysign(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.f32;\n return builtin_copysign(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32_copysign, builtin_f32_copysign);\n\n// f64.copysign -> copysign\nfunction builtin_f64_copysign(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.f64;\n return builtin_copysign(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64_copysign, builtin_f64_copysign);\n\n// f32.nearest -> nearest\nfunction builtin_f32_nearest(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.f32;\n return builtin_nearest(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32_nearest, builtin_f32_nearest);\n\n// f64.nearest -> nearest\nfunction builtin_f64_nearest(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.f64;\n return builtin_nearest(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64_nearest, builtin_f64_nearest);\n\n// i32.reinterpret_f32 -> reinterpret\nfunction builtin_i32_reinterpret_f32(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.f32;\n return builtin_reinterpret(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_reinterpret_f32, builtin_i32_reinterpret_f32);\n\n// i64.reinterpret_f64 -> reinterpret\nfunction builtin_i64_reinterpret_f64(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.f64;\n return builtin_reinterpret(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_reinterpret_f64, builtin_i64_reinterpret_f64);\n\n// f32.reinterpret_i32 -> reinterpret\nfunction builtin_f32_reinterpret_i32(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.i32;\n return builtin_reinterpret(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32_reinterpret_i32, builtin_f32_reinterpret_i32);\n\n// f64.reinterpret_i64 -> reinterpret\nfunction builtin_f64_reinterpret_i64(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.i64;\n return builtin_reinterpret(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64_reinterpret_i64, builtin_f64_reinterpret_i64);\n\n// f32.sqrt -> sqrt\nfunction builtin_f32_sqrt(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.f32;\n return builtin_sqrt(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32_sqrt, builtin_f32_sqrt);\n\n// f64.sqrt -> sqrt\nfunction builtin_f64_sqrt(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.f64;\n return builtin_sqrt(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64_sqrt, builtin_f64_sqrt);\n\n// f32.trunc -> trunc\nfunction builtin_f32_trunc(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.f32;\n return builtin_trunc(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32_trunc, builtin_f32_trunc);\n\n// f64.trunc -> trunc\nfunction builtin_f64_trunc(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.f64;\n return builtin_trunc(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64_trunc, builtin_f64_trunc);\n\n// i32.rem_s -> rem\nfunction builtin_i32_rem_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.i32;\n return builtin_rem(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_rem_s, builtin_i32_rem_s);\n\n// i32.rem_u -> rem\nfunction builtin_i32_rem_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u32 ];\n ctx.contextualType = Type.u32;\n return builtin_rem(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_rem_u, builtin_i32_rem_u);\n\n// i64.rem_s -> rem\nfunction builtin_i64_rem_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.i64;\n return builtin_rem(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_rem_s, builtin_i64_rem_s);\n\n// i64.rem_u -> rem\nfunction builtin_i64_rem_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u64 ];\n ctx.contextualType = Type.u64;\n return builtin_rem(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_rem_u, builtin_i64_rem_u);\n\n// i32.add -> add\nfunction builtin_i32_add(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.i32;\n return builtin_add(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_add, builtin_i32_add);\n\n// i64.add -> add\nfunction builtin_i64_add(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.i64;\n return builtin_add(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_add, builtin_i64_add);\n\n// f32.add -> add\nfunction builtin_f32_add(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.f32;\n return builtin_add(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32_add, builtin_f32_add);\n\n// f64.add -> add\nfunction builtin_f64_add(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.f64;\n return builtin_add(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64_add, builtin_f64_add);\n\n// i32.sub -> sub\nfunction builtin_i32_sub(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.i32;\n return builtin_sub(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_sub, builtin_i32_sub);\n\n// i64.sub -> sub\nfunction builtin_i64_sub(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.i64;\n return builtin_sub(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_sub, builtin_i64_sub);\n\n// f32.sub -> sub\nfunction builtin_f32_sub(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.f32;\n return builtin_sub(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32_sub, builtin_f32_sub);\n\n// f64.sub -> sub\nfunction builtin_f64_sub(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.f64;\n return builtin_sub(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64_sub, builtin_f64_sub);\n\n// i32.mul -> mul\nfunction builtin_i32_mul(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.i32;\n return builtin_mul(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_mul, builtin_i32_mul);\n\n// i64.mul -> mul\nfunction builtin_i64_mul(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.i64;\n return builtin_mul(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_mul, builtin_i64_mul);\n\n// f32.mul -> mul\nfunction builtin_f32_mul(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.f32;\n return builtin_mul(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32_mul, builtin_f32_mul);\n\n// f64.mul -> mul\nfunction builtin_f64_mul(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.f64;\n return builtin_mul(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64_mul, builtin_f64_mul);\n\n// i32.div_s -> div\nfunction builtin_i32_div_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.i32;\n return builtin_div(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_div_s, builtin_i32_div_s);\n\n// i32.div_u -> div\nfunction builtin_i32_div_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u32 ];\n ctx.contextualType = Type.u32;\n return builtin_div(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_div_u, builtin_i32_div_u);\n\n// i64.div_s -> div_s\nfunction builtin_i64_div_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.i64;\n return builtin_div(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_div_s, builtin_i64_div_s);\n\n// i64.div_u -> div_u\nfunction builtin_i64_div_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u64 ];\n ctx.contextualType = Type.u64;\n return builtin_div(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_div_u, builtin_i64_div_u);\n\n// f32.div -> div\nfunction builtin_f32_div(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.f32;\n return builtin_div(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32_div, builtin_f32_div);\n\n// f64.div -> div\nfunction builtin_f64_div(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.f64;\n return builtin_div(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64_div, builtin_f64_div);\n\n// i32.eq -> eq\nfunction builtin_i32_eq(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.i32;\n return builtin_eq(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_eq, builtin_i32_eq);\n\n// i64.eq -> eq\nfunction builtin_i64_eq(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.i32;\n return builtin_eq(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_eq, builtin_i64_eq);\n\n// f32.eq -> eq\nfunction builtin_f32_eq(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.i32;\n return builtin_eq(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32_eq, builtin_f32_eq);\n\n// f64.eq -> eq\nfunction builtin_f64_eq(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.i32;\n return builtin_eq(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64_eq, builtin_f64_eq);\n\n// i32.ne -> ne\nfunction builtin_i32_ne(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.i32;\n return builtin_ne(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_ne, builtin_i32_ne);\n\n// i64.ne -> ne\nfunction builtin_i64_ne(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.i32;\n return builtin_ne(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_ne, builtin_i64_ne);\n\n// f32.ne -> ne\nfunction builtin_f32_ne(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.i32;\n return builtin_ne(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32_ne, builtin_f32_ne);\n\n// f64.ne-> ne\nfunction builtin_f64_ne(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.i32;\n return builtin_ne(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64_ne, builtin_f64_ne);\n\n// i32.load8_s -> load\nfunction builtin_i32_load8_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i8 ];\n ctx.contextualType = Type.i32;\n return builtin_load(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_load8_s, builtin_i32_load8_s);\n\n// i32.load8_u -> load\nfunction builtin_i32_load8_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u8 ];\n ctx.contextualType = Type.i32;\n return builtin_load(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_load8_u, builtin_i32_load8_u);\n\n// i32.load16_s -> load\nfunction builtin_i32_load16_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i16 ];\n ctx.contextualType = Type.i32;\n return builtin_load(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_load16_s, builtin_i32_load16_s);\n\n// i32.load16_u -> load\nfunction builtin_i32_load16_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u16 ];\n ctx.contextualType = Type.i32;\n return builtin_load(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_load16_u, builtin_i32_load16_u);\n\n// i32.load -> load\nfunction builtin_i32_load(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.i32;\n return builtin_load(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_load, builtin_i32_load);\n\n// i64.load8_s -> load\nfunction builtin_i64_load8_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i8 ];\n ctx.contextualType = Type.i64;\n return builtin_load(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_load8_s, builtin_i64_load8_s);\n\n// i64.load8_u -> load\nfunction builtin_i64_load8_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u8 ];\n ctx.contextualType = Type.i64;\n return builtin_load(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_load8_u, builtin_i64_load8_u);\n\n// i64.load16_s -> load\nfunction builtin_i64_load16_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i16 ];\n ctx.contextualType = Type.i64;\n return builtin_load(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_load16_s, builtin_i64_load16_s);\n\n// i64.load16_u -> load\nfunction builtin_i64_load16_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u16 ];\n ctx.contextualType = Type.i64;\n return builtin_load(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_load16_u, builtin_i64_load16_u);\n\n// i64.load32_s -> load\nfunction builtin_i64_load32_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.i64;\n return builtin_load(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_load32_s, builtin_i64_load32_s);\n\n// i64.load32_u -> load\nfunction builtin_i64_load32_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u32 ];\n ctx.contextualType = Type.i64;\n return builtin_load(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_load32_u, builtin_i64_load32_u);\n\n// i64.load -> load\nfunction builtin_i64_load(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.i64;\n return builtin_load(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_load, builtin_i64_load);\n\n// f32.load -> load\nfunction builtin_f32_load(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.f32;\n return builtin_load(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32_load, builtin_f32_load);\n\n// f64.load -> load\nfunction builtin_f64_load(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.f64;\n return builtin_load(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64_load, builtin_f64_load);\n\n// i32.store8 -> store\nfunction builtin_i32_store8(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i8 ];\n ctx.contextualType = Type.i32;\n ctx.contextIsExact = true;\n return builtin_store(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_store8, builtin_i32_store8);\n\n// i32.store16 -> store\nfunction builtin_i32_store16(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i16 ];\n ctx.contextualType = Type.i32;\n ctx.contextIsExact = true;\n return builtin_store(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_store16, builtin_i32_store16);\n\n// i32.store -> store\nfunction builtin_i32_store(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.i32;\n ctx.contextIsExact = true;\n return builtin_store(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_store, builtin_i32_store);\n\n// i64.store8 -> store\nfunction builtin_i64_store8(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i8 ];\n ctx.contextualType = Type.i64;\n ctx.contextIsExact = true;\n return builtin_store(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_store8, builtin_i64_store8);\n\n// i64.store16 -> store\nfunction builtin_i64_store16(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i16 ];\n ctx.contextualType = Type.i64;\n ctx.contextIsExact = true;\n return builtin_store(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_store16, builtin_i64_store16);\n\n// i64.store32 -> store\nfunction builtin_i64_store32(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.i64;\n ctx.contextIsExact = true;\n return builtin_store(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_store32, builtin_i64_store32);\n\n// i64.store -> store\nfunction builtin_i64_store(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.i64;\n ctx.contextIsExact = true;\n return builtin_store(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_store, builtin_i64_store);\n\n// f32.store -> store\nfunction builtin_f32_store(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.f32;\n ctx.contextIsExact = true;\n return builtin_store(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32_store, builtin_f32_store);\n\n// f64.store -> store\nfunction builtin_f64_store(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.f64;\n ctx.contextIsExact = true;\n return builtin_store(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64_store, builtin_f64_store);\n\n// i32.atomic.load8_u -> atomic.load\nfunction builtin_i32_atomic_load8_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u8 ];\n ctx.contextualType = Type.i32;\n return builtin_atomic_load(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_atomic_load8_u, builtin_i32_atomic_load8_u);\n\n// i32.atomic.load16_u -> atomic.load\nfunction builtin_i32_atomic_load16_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u16 ];\n ctx.contextualType = Type.i32;\n return builtin_atomic_load(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_atomic_load16_u, builtin_i32_atomic_load16_u);\n\n// i32.atomic.load -> atomic.load\nfunction builtin_i32_atomic_load(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.i32;\n return builtin_atomic_load(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_atomic_load, builtin_i32_atomic_load);\n\n// i64.atomic.load8_u -> atomic.load\nfunction builtin_i64_atomic_load8_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u8 ];\n ctx.contextualType = Type.i64;\n return builtin_atomic_load(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_atomic_load8_u, builtin_i64_atomic_load8_u);\n\n// i64.atomic.load16_u -> atomic.load\nfunction builtin_i64_atomic_load16_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u16 ];\n ctx.contextualType = Type.i64;\n return builtin_atomic_load(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_atomic_load16_u, builtin_i64_atomic_load16_u);\n\n// i64.atomic.load32_u -> atomic.load\nfunction builtin_i64_atomic_load32_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u32 ];\n ctx.contextualType = Type.i64;\n return builtin_atomic_load(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_atomic_load32_u, builtin_i64_atomic_load32_u);\n\n// i64.atomic.load -> atomic.load\nfunction builtin_i64_atomic_load(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.i64;\n return builtin_atomic_load(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_atomic_load, builtin_i64_atomic_load);\n\n// i32.atomic.store8 -> atomic.store\nfunction builtin_i32_atomic_store8(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i8 ];\n ctx.contextualType = Type.i32;\n ctx.contextIsExact = true;\n return builtin_atomic_store(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_atomic_store8, builtin_i32_atomic_store8);\n\n// i32.atomic.store16 -> atomic.store\nfunction builtin_i32_atomic_store16(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i16 ];\n ctx.contextualType = Type.i32;\n ctx.contextIsExact = true;\n return builtin_atomic_store(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_atomic_store16, builtin_i32_atomic_store16);\n\n// i32.atomic.store -> atomic.store\nfunction builtin_i32_atomic_store(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.i32;\n ctx.contextIsExact = true;\n return builtin_atomic_store(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_atomic_store, builtin_i32_atomic_store);\n\n// i64.atomic.store8 -> atomic.store\nfunction builtin_i64_atomic_store8(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i8 ];\n ctx.contextualType = Type.i64;\n ctx.contextIsExact = true;\n return builtin_atomic_store(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_atomic_store8, builtin_i64_atomic_store8);\n\n// i64.atomic.store16 -> atomic.store\nfunction builtin_i64_atomic_store16(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u16 ];\n ctx.contextualType = Type.i64;\n ctx.contextIsExact = true;\n return builtin_atomic_store(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_atomic_store16, builtin_i64_atomic_store16);\n\n// i64.atomic.store32 -> atomic.store\nfunction builtin_i64_atomic_store32(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.i64;\n ctx.contextIsExact = true;\n return builtin_atomic_store(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_atomic_store32, builtin_i64_atomic_store32);\n\n// i64.atomic.store -> atomic.store\nfunction builtin_i64_atomic_store(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.i64;\n ctx.contextIsExact = true;\n return builtin_atomic_store(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_atomic_store, builtin_i64_atomic_store);\n\n// i32.atomic.rmw8.add_u -> atomic.add\nfunction builtin_i32_atomic_rmw8_add_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u8 ];\n ctx.contextualType = Type.i32;\n ctx.contextIsExact = true;\n return builtin_atomic_add(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_atomic_rmw8_add_u, builtin_i32_atomic_rmw8_add_u);\n\n// i32.atomic.rmw16.add_u -> atomic.add\nfunction builtin_i32_atomic_rmw16_add_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u16 ];\n ctx.contextualType = Type.i32;\n ctx.contextIsExact = true;\n return builtin_atomic_add(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_atomic_rmw16_add_u, builtin_i32_atomic_rmw16_add_u);\n\n// i32.atomic.rmw.add -> atomic.add\nfunction builtin_i32_atomic_rmw_add(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.i32;\n ctx.contextIsExact = true;\n return builtin_atomic_add(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_atomic_rmw_add, builtin_i32_atomic_rmw_add);\n\n// i64.atomic.rmw8.add_u -> atomic.add\nfunction builtin_i64_atomic_rmw8_add_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u8 ];\n ctx.contextualType = Type.i64;\n ctx.contextIsExact = true;\n return builtin_atomic_add(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_atomic_rmw8_add_u, builtin_i64_atomic_rmw8_add_u);\n\n// i64.atomic.rmw16.add_u -> atomic.add\nfunction builtin_i64_atomic_rmw16_add_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u16 ];\n ctx.contextualType = Type.i64;\n ctx.contextIsExact = true;\n return builtin_atomic_add(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_atomic_rmw16_add_u, builtin_i64_atomic_rmw16_add_u);\n\n// i64.atomic.rmw32.add_u -> atomic.add\nfunction builtin_i64_atomic_rmw32_add_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u32 ];\n ctx.contextualType = Type.i64;\n ctx.contextIsExact = true;\n return builtin_atomic_add(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_atomic_rmw32_add_u, builtin_i64_atomic_rmw32_add_u);\n\n// i64.atomic.rmw.add -> atomic.add\nfunction builtin_i64_atomic_rmw_add(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.i64;\n ctx.contextIsExact = true;\n return builtin_atomic_add(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_atomic_rmw_add, builtin_i64_atomic_rmw_add);\n\n// i32.atomic.rmw8.sub_u -> atomic.sub\nfunction builtin_i32_atomic_rmw8_sub_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u8 ];\n ctx.contextualType = Type.i32;\n ctx.contextIsExact = true;\n return builtin_atomic_sub(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_atomic_rmw8_sub_u, builtin_i32_atomic_rmw8_sub_u);\n\n// i32.atomic.rmw16.sub_u -> atomic.sub\nfunction builtin_i32_atomic_rmw16_sub_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u16 ];\n ctx.contextualType = Type.i32;\n ctx.contextIsExact = true;\n return builtin_atomic_sub(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_atomic_rmw16_sub_u, builtin_i32_atomic_rmw16_sub_u);\n\n// i32.atomic.rmw.sub -> atomic.sub\nfunction builtin_i32_atomic_rmw_sub(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.i32;\n ctx.contextIsExact = true;\n return builtin_atomic_sub(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_atomic_rmw_sub, builtin_i32_atomic_rmw_sub);\n\n// i64.atomic.rmw8.sub_u -> atomic.sub\nfunction builtin_i64_atomic_rmw8_sub_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u8 ];\n ctx.contextualType = Type.i64;\n ctx.contextIsExact = true;\n return builtin_atomic_sub(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_atomic_rmw8_sub_u, builtin_i64_atomic_rmw8_sub_u);\n\n// i64.atomic.rmw16.sub_u -> atomic.sub\nfunction builtin_i64_atomic_rmw16_sub_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u16 ];\n ctx.contextualType = Type.i64;\n ctx.contextIsExact = true;\n return builtin_atomic_sub(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_atomic_rmw16_sub_u, builtin_i64_atomic_rmw16_sub_u);\n\n// i64.atomic.rmw32.sub_u -> atomic.sub\nfunction builtin_i64_atomic_rmw32_sub_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u32 ];\n ctx.contextualType = Type.i64;\n ctx.contextIsExact = true;\n return builtin_atomic_sub(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_atomic_rmw32_sub_u, builtin_i64_atomic_rmw32_sub_u);\n\n// i64.atomic.rmw.sub -> atomic.sub\nfunction builtin_i64_atomic_rmw_sub(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.i64;\n ctx.contextIsExact = true;\n return builtin_atomic_sub(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_atomic_rmw_sub, builtin_i64_atomic_rmw_sub);\n\n// i32.atomic.rmw8.and_u -> atomic.and\nfunction builtin_i32_atomic_rmw8_and_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u8 ];\n ctx.contextualType = Type.i32;\n ctx.contextIsExact = true;\n return builtin_atomic_and(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_atomic_rmw8_and_u, builtin_i32_atomic_rmw8_and_u);\n\n// i32.atomic.rmw16.and_u -> atomic.and\nfunction builtin_i32_atomic_rmw16_and_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u16 ];\n ctx.contextualType = Type.i32;\n ctx.contextIsExact = true;\n return builtin_atomic_and(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_atomic_rmw16_and_u, builtin_i32_atomic_rmw16_and_u);\n\n// i32.atomic.rmw.and -> atomic.and\nfunction builtin_i32_atomic_rmw_and(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.i32;\n ctx.contextIsExact = true;\n return builtin_atomic_and(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_atomic_rmw_and, builtin_i32_atomic_rmw_and);\n\n// i64.atomic.rmw8.and_u -> atomic.and\nfunction builtin_i64_atomic_rmw8_and_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u8 ];\n ctx.contextualType = Type.i64;\n ctx.contextIsExact = true;\n return builtin_atomic_and(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_atomic_rmw8_and_u, builtin_i64_atomic_rmw8_and_u);\n\n// i64.atomic.rmw16.and_u -> atomic.and\nfunction builtin_i64_atomic_rmw16_and_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u16 ];\n ctx.contextualType = Type.i64;\n ctx.contextIsExact = true;\n return builtin_atomic_and(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_atomic_rmw16_and_u, builtin_i64_atomic_rmw16_and_u);\n\n// i64.atomic.rmw32.and_u -> atomic.and\nfunction builtin_i64_atomic_rmw32_and_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u32 ];\n ctx.contextualType = Type.i64;\n ctx.contextIsExact = true;\n return builtin_atomic_and(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_atomic_rmw32_and_u, builtin_i64_atomic_rmw32_and_u);\n\n// i64.atomic.rmw.and -> atomic.and\nfunction builtin_i64_atomic_rmw_and(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.i64;\n ctx.contextIsExact = true;\n return builtin_atomic_and(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_atomic_rmw_and, builtin_i64_atomic_rmw_and);\n\n// i32.atomic.rmw8.or_u -> atomic.or\nfunction builtin_i32_atomic_rmw8_or_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u8 ];\n ctx.contextualType = Type.i32;\n ctx.contextIsExact = true;\n return builtin_atomic_or(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_atomic_rmw8_or_u, builtin_i32_atomic_rmw8_or_u);\n\n// i32.atomic.rmw16.or_u -> \nfunction builtin_i32_atomic_rmw16_or_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u16 ];\n ctx.contextualType = Type.i32;\n ctx.contextIsExact = true;\n return builtin_atomic_or(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_atomic_rmw16_or_u, builtin_i32_atomic_rmw16_or_u);\n\n// i32.atomic.rmw.or -> atomic.or\nfunction builtin_i32_atomic_rmw_or(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.i32;\n ctx.contextIsExact = true;\n return builtin_atomic_or(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_atomic_rmw_or, builtin_i32_atomic_rmw_or);\n\n// i64.atomic.rmw8.or_u -> atomic.or\nfunction builtin_i64_atomic_rmw8_or_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u8 ];\n ctx.contextualType = Type.i64;\n ctx.contextIsExact = true;\n return builtin_atomic_or(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_atomic_rmw8_or_u, builtin_i64_atomic_rmw8_or_u);\n\n// i64.atomic.rmw16.or_u -> atomic.or\nfunction builtin_i64_atomic_rmw16_or_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u16 ];\n ctx.contextualType = Type.i64;\n ctx.contextIsExact = true;\n return builtin_atomic_or(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_atomic_rmw16_or_u, builtin_i64_atomic_rmw16_or_u);\n\n// i64.atomic.rmw32.or_u -> atomic.or\nfunction builtin_i64_atomic_rmw32_or_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u32 ];\n ctx.contextualType = Type.i64;\n ctx.contextIsExact = true;\n return builtin_atomic_or(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_atomic_rmw32_or_u, builtin_i64_atomic_rmw32_or_u);\n\n// i64.atomic.rmw.or -> atomic.or\nfunction builtin_i64_atomic_rmw_or(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.i64;\n ctx.contextIsExact = true;\n return builtin_atomic_or(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_atomic_rmw_or, builtin_i64_atomic_rmw_or);\n\n// i32.atomic.rmw8.xor_u -> atomic.xor\nfunction builtin_i32_atomic_rmw8_xor_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u8 ];\n ctx.contextualType = Type.i32;\n ctx.contextIsExact = true;\n return builtin_atomic_xor(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_atomic_rmw8_xor_u, builtin_i32_atomic_rmw8_xor_u);\n\n// i32.atomic.rmw16.xor_u -> atomic.xor\nfunction builtin_i32_atomic_rmw16_xor_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u16 ];\n ctx.contextualType = Type.i32;\n ctx.contextIsExact = true;\n return builtin_atomic_xor(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_atomic_rmw16_xor_u, builtin_i32_atomic_rmw16_xor_u);\n\n// i32.atomic.rmw.xor -> atomic.xor\nfunction builtin_i32_atomic_rmw_xor(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.i32;\n ctx.contextIsExact = true;\n return builtin_atomic_xor(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_atomic_rmw_xor, builtin_i32_atomic_rmw_xor);\n\n// i64.atomic.rmw8.xor_u -> atomic.xor\nfunction builtin_i64_atomic_rmw8_xor_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u8 ];\n ctx.contextualType = Type.i64;\n ctx.contextIsExact = true;\n return builtin_atomic_xor(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_atomic_rmw8_xor_u, builtin_i64_atomic_rmw8_xor_u);\n\n// i64.atomic.rmw16.xor_u -> atomic.xor\nfunction builtin_i64_atomic_rmw16_xor_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u16 ];\n ctx.contextualType = Type.i64;\n ctx.contextIsExact = true;\n return builtin_atomic_xor(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_atomic_rmw16_xor_u, builtin_i64_atomic_rmw16_xor_u);\n\n// i64.atomic.rmw32.xor_u -> atomic.xor\nfunction builtin_i64_atomic_rmw32_xor_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u32 ];\n ctx.contextualType = Type.i64;\n ctx.contextIsExact = true;\n return builtin_atomic_xor(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_atomic_rmw32_xor_u, builtin_i64_atomic_rmw32_xor_u);\n\n// i64.atomic.rmw.xor -> atomic.xor\nfunction builtin_i64_atomic_rmw_xor(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.i64;\n ctx.contextIsExact = true;\n return builtin_atomic_xor(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_atomic_rmw_xor, builtin_i64_atomic_rmw_xor);\n\n// i32.atomic.rmw8.xchg_u -> atomic.xchg\nfunction builtin_i32_atomic_rmw8_xchg_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u8 ];\n ctx.contextualType = Type.i32;\n ctx.contextIsExact = true;\n return builtin_atomic_xchg(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_atomic_rmw8_xchg_u, builtin_i32_atomic_rmw8_xchg_u);\n\n// i32.atomic.rmw16.xchg_u -> atomic.xchg\nfunction builtin_i32_atomic_rmw16_xchg_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u16 ];\n ctx.contextualType = Type.i32;\n ctx.contextIsExact = true;\n return builtin_atomic_xchg(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_atomic_rmw16_xchg_u, builtin_i32_atomic_rmw16_xchg_u);\n\n// i32.atomic.rmw.xchg -> atomic.xchg\nfunction builtin_i32_atomic_rmw_xchg(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.i32;\n ctx.contextIsExact = true;\n return builtin_atomic_xchg(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_atomic_rmw_xchg, builtin_i32_atomic_rmw_xchg);\n\n// i64.atomic.rmw8.xchg_u -> atomic.xchg\nfunction builtin_i64_atomic_rmw8_xchg_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u8 ];\n ctx.contextualType = Type.i64;\n ctx.contextIsExact = true;\n return builtin_atomic_xchg(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_atomic_rmw8_xchg_u, builtin_i64_atomic_rmw8_xchg_u);\n\n// i64.atomic.rmw16.xchg_u -> atomic.xchg\nfunction builtin_i64_atomic_rmw16_xchg_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u16 ];\n ctx.contextualType = Type.i64;\n ctx.contextIsExact = true;\n return builtin_atomic_xchg(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_atomic_rmw16_xchg_u, builtin_i64_atomic_rmw16_xchg_u);\n\n// i64.atomic.rmw32.xchg_u -> atomic.xchg\nfunction builtin_i64_atomic_rmw32_xchg_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u32 ];\n ctx.contextualType = Type.i64;\n ctx.contextIsExact = true;\n return builtin_atomic_xchg(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_atomic_rmw32_xchg_u, builtin_i64_atomic_rmw32_xchg_u);\n\n// i64.atomic.rmw.xchg -> atomic.xchg\nfunction builtin_i64_atomic_rmw_xchg(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.i64;\n ctx.contextIsExact = true;\n return builtin_atomic_xchg(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_atomic_rmw_xchg, builtin_i64_atomic_rmw_xchg);\n\n// i32.atomic.rmw8.cmpxchg_u -> atomic.cmpxchg\nfunction builtin_i32_atomic_rmw8_cmpxchg_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u8 ];\n ctx.contextualType = Type.i32;\n ctx.contextIsExact = true;\n return builtin_atomic_cmpxchg(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_atomic_rmw8_cmpxchg_u, builtin_i32_atomic_rmw8_cmpxchg_u);\n\n// i32.atomic.rmw16.cmpxchg_u -> atomic.cmpxchg\nfunction builtin_i32_atomic_rmw16_cmpxchg_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u16 ];\n ctx.contextualType = Type.i32;\n ctx.contextIsExact = true;\n return builtin_atomic_cmpxchg(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_atomic_rmw16_cmpxchg_u, builtin_i32_atomic_rmw16_cmpxchg_u);\n\n// i32.atomic.rmw.cmpxchg -> atomic.cmpxchg\nfunction builtin_i32_atomic_rmw_cmpxchg(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.i32;\n ctx.contextIsExact = true;\n return builtin_atomic_cmpxchg(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32_atomic_rmw_cmpxchg, builtin_i32_atomic_rmw_cmpxchg);\n\n// i64.atomic.rmw8.cmpxchg_u -> atomic.cmpxchg\nfunction builtin_i64_atomic_rmw8_cmpxchg_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u8 ];\n ctx.contextualType = Type.i64;\n ctx.contextIsExact = true;\n return builtin_atomic_cmpxchg(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_atomic_rmw8_cmpxchg_u, builtin_i64_atomic_rmw8_cmpxchg_u);\n\n// i64.atomic.rmw16.cmpxchg_u -> atomic.cmpxchg\nfunction builtin_i64_atomic_rmw16_cmpxchg_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u16 ];\n ctx.contextualType = Type.i64;\n ctx.contextIsExact = true;\n return builtin_atomic_cmpxchg(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_atomic_rmw16_cmpxchg_u, builtin_i64_atomic_rmw16_cmpxchg_u);\n\n// i64.atomic.rmw32.cmpxchg_u -> atomic.cmpxchg\nfunction builtin_i64_atomic_rmw32_cmpxchg_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u32 ];\n ctx.contextualType = Type.i64;\n ctx.contextIsExact = true;\n return builtin_atomic_cmpxchg(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_atomic_rmw32_cmpxchg_u, builtin_i64_atomic_rmw32_cmpxchg_u);\n\n// i64.atomic.rmw.cmpxchg -> atomic.cmpxchg\nfunction builtin_i64_atomic_rmw_cmpxchg(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.i64;\n ctx.contextIsExact = true;\n return builtin_atomic_cmpxchg(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64_atomic_rmw_cmpxchg, builtin_i64_atomic_rmw_cmpxchg);\n\n// memory.atomic.wait32 -> atomic.wait\nfunction builtin_memory_atomic_wait32(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n return builtin_atomic_wait(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.memory_atomic_wait32, builtin_memory_atomic_wait32);\n\n// memory.atomic.wait64 -> atomic.wait\nfunction builtin_memory_atomic_wait64(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.i32;\n return builtin_atomic_wait(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.memory_atomic_wait64, builtin_memory_atomic_wait64);\n\n// v128.load -> load\nfunction builtin_v128_load(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.v128 ];\n ctx.contextualType = Type.v128;\n return builtin_load(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.v128_load, builtin_v128_load);\n\n// v128.load8x8_s -> v128.load_ext\nfunction builtin_v128_load8x8_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_load_ext(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.v128_load8x8_s, builtin_v128_load8x8_s);\n\n// v128.load8x8_u -> v128.load_ext\nfunction builtin_v128_load8x8_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_load_ext(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.v128_load8x8_u, builtin_v128_load8x8_u);\n\n// v128.load16x4_s -> v128.load_ext\nfunction builtin_v128_load16x4_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_load_ext(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.v128_load16x4_s, builtin_v128_load16x4_s);\n\n// v128.load16x4_u -> v128.load_ext\nfunction builtin_v128_load16x4_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_load_ext(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.v128_load16x4_u, builtin_v128_load16x4_u);\n\n// v128.load32x2_s -> v128.load_ext\nfunction builtin_v128_load32x2_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_load_ext(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.v128_load32x2_s, builtin_v128_load32x2_s);\n\n// v128.load32x2_u -> v128.load_ext\nfunction builtin_v128_load32x2_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_load_ext(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.v128_load32x2_u, builtin_v128_load32x2_u);\n\n// v128.load8_splat -> v128.load_splat\nfunction builtin_v128_load8_splat(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_load_splat(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.v128_load8_splat, builtin_v128_load8_splat);\n\n// v128.load16_splat -> v128.load_splat\nfunction builtin_v128_load16_splat(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_load_splat(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.v128_load16_splat, builtin_v128_load16_splat);\n\n// v128.load32_splat -> v128.load_splat\nfunction builtin_v128_load32_splat(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_load_splat(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.v128_load32_splat, builtin_v128_load32_splat);\n\n// v128.load64_splat -> v128.load_splat\nfunction builtin_v128_load64_splat(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_load_splat(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.v128_load64_splat, builtin_v128_load64_splat);\n\n// v128.load32_zero -> v128.load_zero\nfunction builtin_v128_load32_zero(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_load_zero(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.v128_load32_zero, builtin_v128_load32_zero);\n\n// v128.load64_zero -> v128.load_zero\nfunction builtin_v128_load64_zero(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_load_zero(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.v128_load64_zero, builtin_v128_load64_zero);\n\n// v128.load8_lane -> v128.load_lane\nfunction builtin_v128_load8_lane(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_load_lane(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.v128_load8_lane, builtin_v128_load8_lane);\n\n// v128.load16_lane -> v128.load_lane\nfunction builtin_v128_load16_lane(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_load_lane(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.v128_load16_lane, builtin_v128_load16_lane);\n\n// v128.load32_lane -> v128.load_lane\nfunction builtin_v128_load32_lane(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_load_lane(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.v128_load32_lane, builtin_v128_load32_lane);\n\n// v128.load64_lane -> v128.load_lane\nfunction builtin_v128_load64_lane(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_load_lane(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.v128_load64_lane, builtin_v128_load64_lane);\n\n// v128.store8_lane -> v128.store_lane\nfunction builtin_v128_store8_lane(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_store_lane(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.v128_store8_lane, builtin_v128_store8_lane);\n\n// v128.store16_lane -> v128.store_lane\nfunction builtin_v128_store16_lane(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_store_lane(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.v128_store16_lane, builtin_v128_store16_lane);\n\n// v128.store32_lane -> v128.store_lane\nfunction builtin_v128_store32_lane(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_store_lane(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.v128_store32_lane, builtin_v128_store32_lane);\n\n// v128.store64_lane -> v128.store_lane\nfunction builtin_v128_store64_lane(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_store_lane(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.v128_store64_lane, builtin_v128_store64_lane);\n\n// v128.store -> store\nfunction builtin_v128_store(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.v128 ];\n ctx.contextualType = Type.v128;\n ctx.contextIsExact = true;\n return builtin_store(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.v128_store, builtin_v128_store);\n\n// i8x16_splat -> v128.splat\nfunction builtin_i8x16_splat(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_splat(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i8x16_splat, builtin_i8x16_splat);\n\n// i8x16.extract_lane_s -> v128.extract_lane\nfunction builtin_i8x16_extract_lane_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i8 ];\n ctx.contextualType = Type.i32;\n return builtin_v128_extract_lane(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i8x16_extract_lane_s, builtin_i8x16_extract_lane_s);\n\n// i8x16.extract_lane_u -> v128.extract_lane\nfunction builtin_i8x16_extract_lane_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u8 ];\n ctx.contextualType = Type.i32;\n return builtin_v128_extract_lane(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i8x16_extract_lane_u, builtin_i8x16_extract_lane_u);\n\n// i8x16.replace_lane -> v128.replace_lane\nfunction builtin_i8x16_replace_lane(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_replace_lane(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i8x16_replace_lane, builtin_i8x16_replace_lane);\n\n// i8x16.add -> v128.add\nfunction builtin_i8x16_add(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_add(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i8x16_add, builtin_i8x16_add);\n\n// i8x16.sub -> v128.sub\nfunction builtin_i8x16_sub(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_sub(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i8x16_sub, builtin_i8x16_sub);\n\n// i8x16.min_s -> v128.min\nfunction builtin_i8x16_min_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_min(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i8x16_min_s, builtin_i8x16_min_s);\n\n// i8x16.min_u -> v128.min\nfunction builtin_i8x16_min_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_min(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i8x16_min_u, builtin_i8x16_min_u);\n\n// i8x16.max_s -> v128.max\nfunction builtin_i8x16_max_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_max(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i8x16_max_s, builtin_i8x16_max_s);\n\n// i8x16.max_u -> v128.max\nfunction builtin_i8x16_max_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_max(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i8x16_max_u, builtin_i8x16_max_u);\n\n// i8x16.avgr_u -> v128.avgr\nfunction builtin_i8x16_avgr_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_avgr(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i8x16_avgr_u, builtin_i8x16_avgr_u);\n\n// i8x16.abs -> v128.abs\nfunction builtin_i8x16_abs(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_abs(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i8x16_abs, builtin_i8x16_abs);\n\n// i8x16.neg -> v128.neg\nfunction builtin_i8x16_neg(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_neg(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i8x16_neg, builtin_i8x16_neg);\n\n// i8x16.add_sat_s -> v128.add_sat\nfunction builtin_i8x16_add_sat_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_add_sat(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i8x16_add_sat_s, builtin_i8x16_add_sat_s);\n\n// i8x16.add_sat_u -> v128.add_sat\nfunction builtin_i8x16_add_sat_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_add_sat(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i8x16_add_sat_u, builtin_i8x16_add_sat_u);\n\n// i8x16.sub_sat_s -> v128.sub_sat\nfunction builtin_i8x16_sub_sat_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_sub_sat(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i8x16_sub_sat_s, builtin_i8x16_sub_sat_s);\n\n// i8x16.sub_sat_u -> v128.sub_sat\nfunction builtin_i8x16_sub_sat_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_sub_sat(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i8x16_sub_sat_u, builtin_i8x16_sub_sat_u);\n\n// i8x16.shl -> v128.shl\nfunction builtin_i8x16_shl(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_shl(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i8x16_shl, builtin_i8x16_shl);\n\n// i8x16.shr_s -> v128.shr\nfunction builtin_i8x16_shr_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_shr(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i8x16_shr_s, builtin_i8x16_shr_s);\n\n// i8x16.shr_u -> v128.shr\nfunction builtin_i8x16_shr_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_shr(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i8x16_shr_u, builtin_i8x16_shr_u);\n\n// i8x16.all_true -> v128.all_true\nfunction builtin_i8x16_all_true(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i8 ];\n ctx.contextualType = Type.i32;\n return builtin_v128_all_true(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i8x16_all_true, builtin_i8x16_all_true);\n\n// i8x16.bitmask -> v128.bitmask\nfunction builtin_i8x16_bitmask(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i8 ];\n ctx.contextualType = Type.i32;\n return builtin_v128_bitmask(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i8x16_bitmask, builtin_i8x16_bitmask);\n\n// i8x16.popcnt -> v128.popcnt\nfunction builtin_i8x16_popcnt(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_popcnt(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i8x16_popcnt, builtin_i8x16_popcnt);\n\n// i8x16.eq -> v128.eq\nfunction builtin_i8x16_eq(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_eq(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i8x16_eq, builtin_i8x16_eq);\n\n// i8x16.ne -> v128.ne\nfunction builtin_i8x16_ne(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_ne(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i8x16_ne, builtin_i8x16_ne);\n\n// i8x16.lt_s -> v128.lt\nfunction builtin_i8x16_lt_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_lt(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i8x16_lt_s, builtin_i8x16_lt_s);\n\n// i8x16.lt_u -> v128.lt\nfunction builtin_i8x16_lt_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_lt(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i8x16_lt_u, builtin_i8x16_lt_u);\n\n// i8x16.le_s -> v128.le\nfunction builtin_i8x16_le_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_le(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i8x16_le_s, builtin_i8x16_le_s);\n\n// i8x16.le_u -> v128.le\nfunction builtin_i8x16_le_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_le(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i8x16_le_u, builtin_i8x16_le_u);\n\n// i8x16.gt_s -> v128.gt\nfunction builtin_i8x16_gt_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_gt(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i8x16_gt_s, builtin_i8x16_gt_s);\n\n// i8x16.gt_u -> v128.gt\nfunction builtin_i8x16_gt_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_gt(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i8x16_gt_u, builtin_i8x16_gt_u);\n\n// i8x16.ge_s -> v128.ge\nfunction builtin_i8x16_ge_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_ge(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i8x16_ge_s, builtin_i8x16_ge_s);\n\n// i8x16.ge_u -> v128.ge\nfunction builtin_i8x16_ge_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_ge(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i8x16_ge_u, builtin_i8x16_ge_u);\n\n// i8x16.narrow_i16x8_s -> v128.narrow\nfunction builtin_i8x16_narrow_i16x8_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_narrow(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i8x16_narrow_i16x8_s, builtin_i8x16_narrow_i16x8_s);\n\n// i8x16.narrow_i16x8_u -> v128.narrow\nfunction builtin_i8x16_narrow_i16x8_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_narrow(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i8x16_narrow_i16x8_u, builtin_i8x16_narrow_i16x8_u);\n\n// i8x16.shuffle -> v128.shuffle\nfunction builtin_i8x16_shuffle(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_shuffle(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i8x16_shuffle, builtin_i8x16_shuffle);\n\n// i8x16.swizzle -> v128.swizzle\nfunction builtin_i8x16_swizzle(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = null;\n ctx.contextualType = Type.v128;\n return builtin_v128_swizzle(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i8x16_swizzle, builtin_i8x16_swizzle);\n\n// i16x8.splat -> v128.splat\nfunction builtin_i16x8_splat(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_splat(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_splat, builtin_i16x8_splat);\n\n// i16x8.extract_lane_s -> v128.extract_lane\nfunction builtin_i16x8_extract_lane_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i16 ];\n ctx.contextualType = Type.i32;\n return builtin_v128_extract_lane(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_extract_lane_s, builtin_i16x8_extract_lane_s);\n\n// i16x8..extract_lane_u -> v128.extract_lane\nfunction builtin_i16x8_extract_lane_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u16 ];\n ctx.contextualType = Type.i32;\n return builtin_v128_extract_lane(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_extract_lane_u, builtin_i16x8_extract_lane_u);\n\n// i16x8.replace_lane -> v128.replace_lane\nfunction builtin_i16x8_replace_lane(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_replace_lane(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_replace_lane, builtin_i16x8_replace_lane);\n\n// i16x8.add -> v128.add\nfunction builtin_i16x8_add(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_add(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_add, builtin_i16x8_add);\n\n// i16x8.sub -> v128.sub\nfunction builtin_i16x8_sub(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_sub(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_sub, builtin_i16x8_sub);\n\n// i16x8.mul -> v128.mul\nfunction builtin_i16x8_mul(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_mul(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_mul, builtin_i16x8_mul);\n\n// i16x8.min_s -> v128.min\nfunction builtin_i16x8_min_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_min(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_min_s, builtin_i16x8_min_s);\n\n// i16x8.min_u -> v128.min\nfunction builtin_i16x8_min_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_min(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_min_u, builtin_i16x8_min_u);\n\n// i16x8.max_s -> v128.max\nfunction builtin_i16x8_max_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_max(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_max_s, builtin_i16x8_max_s);\n\n// i16x8.max_u -> v128.max\nfunction builtin_i16x8_max_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_max(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_max_u, builtin_i16x8_max_u);\n\n// i16x8.avgr_u -> v128.avgr\nfunction builtin_i16x8_avgr_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_avgr(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_avgr_u, builtin_i16x8_avgr_u);\n\n// i16x8.abs -> v128.abs\nfunction builtin_i16x8_abs(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_abs(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_abs, builtin_i16x8_abs);\n\n// i16x8.neg -> v128.neg\nfunction builtin_i16x8_neg(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_neg(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_neg, builtin_i16x8_neg);\n\n// i16x8.add_sat_s -> v128.add_sat\nfunction builtin_i16x8_add_sat_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_add_sat(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_add_sat_s, builtin_i16x8_add_sat_s);\n\n// i16x8.add_sat_u -> v128.add_sat\nfunction builtin_i16x8_add_sat_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_add_sat(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_add_sat_u, builtin_i16x8_add_sat_u);\n\n// i16x8.sub_sat_s -> v128.sub_sat\nfunction builtin_i16x8_sub_sat_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_sub_sat(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_sub_sat_s, builtin_i16x8_sub_sat_s);\n\n// i16x8.sub_sat_u -> v128.sub_sat\nfunction builtin_i16x8_sub_sat_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_sub_sat(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_sub_sat_u, builtin_i16x8_sub_sat_u);\n\n// i16x8.shl -> v128.shl\nfunction builtin_i16x8_shl(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_shl(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_shl, builtin_i16x8_shl);\n\n// i16x8.shr_s -> v128.shr\nfunction builtin_i16x8_shr_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_shr(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_shr_s, builtin_i16x8_shr_s);\n\n// i16x8.shr_u -> v128.shr\nfunction builtin_i16x8_shr_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_shr(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_shr_u, builtin_i16x8_shr_u);\n\n// i16x8.all_true -> v128.all_true\nfunction builtin_i16x8_all_true(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i16 ];\n ctx.contextualType = Type.i32;\n return builtin_v128_all_true(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_all_true, builtin_i16x8_all_true);\n\n// i16x8.bitmask -> v128.bitmask\nfunction builtin_i16x8_bitmask(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i16 ];\n ctx.contextualType = Type.i32;\n return builtin_v128_bitmask(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_bitmask, builtin_i16x8_bitmask);\n\n// i16x8.eq -> v128.eq\nfunction builtin_i16x8_eq(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_eq(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_eq, builtin_i16x8_eq);\n\n// i16x8.ne -> v128.ne\nfunction builtin_i16x8_ne(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_ne(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_ne, builtin_i16x8_ne);\n\n// i16x8.lt_s -> v128.lt\nfunction builtin_i16x8_lt_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_lt(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_lt_s, builtin_i16x8_lt_s);\n\n// i16x8.lt_u -> v128.lt\nfunction builtin_i16x8_lt_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_lt(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_lt_u, builtin_i16x8_lt_u);\n\n// i16x8.le_s -> v128.le\nfunction builtin_i16x8_le_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_le(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_le_s, builtin_i16x8_le_s);\n\n// i16x8.le_u -> v128.le\nfunction builtin_i16x8_le_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_le(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_le_u, builtin_i16x8_le_u);\n\n// i16x8.gt_s -> v128.gt\nfunction builtin_i16x8_gt_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_gt(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_gt_s, builtin_i16x8_gt_s);\n\n// i16x8.gt_u -> v128.gt\nfunction builtin_i16x8_gt_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_gt(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_gt_u, builtin_i16x8_gt_u);\n\n// i16x8.ge_s -> v128.ge\nfunction builtin_i16x8_ge_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_ge(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_ge_s, builtin_i16x8_ge_s);\n\n// i16x8.ge_u -> v128.ge\nfunction builtin_i16x8_ge_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_ge(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_ge_u, builtin_i16x8_ge_u);\n\n// i16x8.narrow_i32x4_s -> v128.narrow\nfunction builtin_i16x8_narrow_i32x4_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_narrow(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_narrow_i32x4_s, builtin_i16x8_narrow_i32x4_s);\n\n// i16x8.narrow_i32x4_u -> v128.narrow\nfunction builtin_i16x8_narrow_i32x4_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_narrow(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_narrow_i32x4_u, builtin_i16x8_narrow_i32x4_u);\n\n// i16x8.extend_low_i8x16_s -> v128.extend_low\nfunction builtin_i16x8_extend_low_i8x16_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_extend_low(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_extend_low_i8x16_s, builtin_i16x8_extend_low_i8x16_s);\n\n// i16x8.extend_low_i8x16_u -> v128.extend_low\nfunction builtin_i16x8_extend_low_i8x16_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_extend_low(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_extend_low_i8x16_u, builtin_i16x8_extend_low_i8x16_u);\n\n// i16x8.extend_high_i8x16_s -> v128.extend_high\nfunction builtin_i16x8_extend_high_i8x16_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_extend_high(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_extend_high_i8x16_s, builtin_i16x8_extend_high_i8x16_s);\n\n// i16x8.extend_high_i8x16_u -> v128.extend_high\nfunction builtin_i16x8_extend_high_i8x16_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_extend_high(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_extend_high_i8x16_u, builtin_i16x8_extend_high_i8x16_u);\n\n// i16x8.extadd_pairwise_i8x16_s -> v128.extadd_pairwise\nfunction builtin_i16x8_extadd_pairwise_i8x16_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_extadd_pairwise(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_extadd_pairwise_i8x16_s, builtin_i16x8_extadd_pairwise_i8x16_s);\n\n// i16x8.extadd_pairwise_i8x16_u -> v128.extadd_pairwise\nfunction builtin_i16x8_extadd_pairwise_i8x16_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_extadd_pairwise(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_extadd_pairwise_i8x16_u, builtin_i16x8_extadd_pairwise_i8x16_u);\n\n// i16x8.q15mulr_sat_s -> v128.q15mulr_sat\nfunction builtin_i16x8_q15mulr_sat_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_q15mulr_sat(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_q15mulr_sat_s, builtin_i16x8_q15mulr_sat_s);\n\n// i16x8.extmul_low_i8x16_s -> v128.extmul_low\nfunction builtin_i16x8_extmul_low_i8x16_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_extmul_low(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_extmul_low_i8x16_s, builtin_i16x8_extmul_low_i8x16_s);\n\n// i16x8.extmul_low_i8x16_u -> v128.extmul_low\nfunction builtin_i16x8_extmul_low_i8x16_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_extmul_low(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_extmul_low_i8x16_u, builtin_i16x8_extmul_low_i8x16_u);\n\n// i16x8.extmul_high_i8x16_s -> v128.extmul_high\nfunction builtin_i16x8_extmul_high_i8x16_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_extmul_high(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_extmul_high_i8x16_s, builtin_i16x8_extmul_high_i8x16_s);\n\n// i16x8.extmul_high_i8x16_u -> v128.extmul_high\nfunction builtin_i16x8_extmul_high_i8x16_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_extmul_high(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_extmul_high_i8x16_u, builtin_i16x8_extmul_high_i8x16_u);\n\n// i16x8.shuffle -> v128.shuffle\nfunction builtin_i16x8_shuffle(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_shuffle(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_shuffle, builtin_i16x8_shuffle);\n\n// i32x4.splat -> v128.splat\nfunction builtin_i32x4_splat(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_splat(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_splat, builtin_i32x4_splat);\n\n// i32x4.extract_lane -> v128.extract_lane\nfunction builtin_i32x4_extract_lane(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.i32;\n return builtin_v128_extract_lane(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_extract_lane, builtin_i32x4_extract_lane);\n\n// i32x4.replace_lane -> v128.replace_lane\nfunction builtin_i32x4_replace_lane(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_replace_lane(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_replace_lane, builtin_i32x4_replace_lane);\n\n// i32x4.add -> v128.add\nfunction builtin_i32x4_add(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_add(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_add, builtin_i32x4_add);\n\n// i32x4.sub -> v128.sub\nfunction builtin_i32x4_sub(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_sub(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_sub, builtin_i32x4_sub);\n\n// i32x4.mul -> v128.mul\nfunction builtin_i32x4_mul(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_mul(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_mul, builtin_i32x4_mul);\n\n// i32x4.min_s -> v128.min\nfunction builtin_i32x4_min_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_min(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_min_s, builtin_i32x4_min_s);\n\n// i32x4.min_u -> v128.min\nfunction builtin_i32x4_min_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_min(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_min_u, builtin_i32x4_min_u);\n\n// i32x4.max_s -> v128.max\nfunction builtin_i32x4_max_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_max(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_max_s, builtin_i32x4_max_s);\n\n// i32x4.max_u -> v128.max\nfunction builtin_i32x4_max_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_max(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_max_u, builtin_i32x4_max_u);\n\n// i32x4.dot_i16x8_s -> v128.dot\nfunction builtin_i32x4_dot_i16x8_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_dot(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_dot_i16x8_s, builtin_i32x4_dot_i16x8_s);\n\n// i32x4.abs -> v128.abs\nfunction builtin_i32x4_abs(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_abs(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_abs, builtin_i32x4_abs);\n\n// i32x4.neg -> v128.neg\nfunction builtin_i32x4_neg(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_neg(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_neg, builtin_i32x4_neg);\n\n// i32x4.shl -> v128.shl\nfunction builtin_i32x4_shl(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_shl(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_shl, builtin_i32x4_shl);\n\n// i32x4.shr_s -> v128.shr\nfunction builtin_i32x4_shr_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_shr(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_shr_s, builtin_i32x4_shr_s);\n\n// i32x4.shr_u -> v128.shr\nfunction builtin_i32x4_shr_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_shr(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_shr_u, builtin_i32x4_shr_u);\n\n// i32x4.all_true -> v128.all_true\nfunction builtin_i32x4_all_true(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.i32;\n return builtin_v128_all_true(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_all_true, builtin_i32x4_all_true);\n\n// i32x4.bitmask -> v128.bitmask\nfunction builtin_i32x4_bitmask(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.i32;\n return builtin_v128_bitmask(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_bitmask, builtin_i32x4_bitmask);\n\n// i32x4.eq -> v128.eq\nfunction builtin_i32x4_eq(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_eq(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_eq, builtin_i32x4_eq);\n\n// i32x4.ne -> v128.ne\nfunction builtin_i32x4_ne(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_ne(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_ne, builtin_i32x4_ne);\n\n// i32x4.lt_s -> v128.lt\nfunction builtin_i32x4_lt_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_lt(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_lt_s, builtin_i32x4_lt_s);\n\n// i32x4.lt_u -> v128.lt\nfunction builtin_i32x4_lt_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_lt(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_lt_u, builtin_i32x4_lt_u);\n\n// i32x4.le_s -> v128.le\nfunction builtin_i32x4_le_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_le(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_le_s, builtin_i32x4_le_s);\n\n// i32x4.le_u -> v128.le\nfunction builtin_i32x4_le_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_le(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_le_u, builtin_i32x4_le_u);\n\n// i32x4.gt_s -> v128.gt\nfunction builtin_i32x4_gt_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_gt(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_gt_s, builtin_i32x4_gt_s);\n\n// i32x4.gt_u -> v128.gt\nfunction builtin_i32x4_gt_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_gt(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_gt_u, builtin_i32x4_gt_u);\n\n// i32x4.ge_s -> v128.ge\nfunction builtin_i32x4_ge_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_ge(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_ge_s, builtin_i32x4_ge_s);\n\n// i32x4.ge_u -> v128.ge\nfunction builtin_i32x4_ge_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_ge(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_ge_u, builtin_i32x4_ge_u);\n\n// i32x4.trunc_sat_f32x4_s -> v128.trunc_sat\nfunction builtin_i32x4_trunc_sat_f32x4_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_trunc_sat(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_trunc_sat_f32x4_s, builtin_i32x4_trunc_sat_f32x4_s);\n\n// i32x4.trunc_sat_f32x4_u -> v128.trunc_sat\nfunction builtin_i32x4_trunc_sat_f32x4_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_trunc_sat(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_trunc_sat_f32x4_u, builtin_i32x4_trunc_sat_f32x4_u);\n\n// i32x4.trunc_sat_f64x2_s_zero -> v128.trunc_sat_zero\nfunction builtin_i32x4_trunc_sat_f64x2_s_zero(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_trunc_sat_zero(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_trunc_sat_f64x2_s_zero, builtin_i32x4_trunc_sat_f64x2_s_zero);\n\n// i32x4.trunc_sat_f64x2_u_zero -> v128.trunc_sat_zero\nfunction builtin_i32x4_trunc_sat_f64x2_u_zero(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_trunc_sat_zero(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_trunc_sat_f64x2_u_zero, builtin_i32x4_trunc_sat_f64x2_u_zero);\n\n// i32x4.extend_low_i16x8_s -> // v128.extend_low\nfunction builtin_i32x4_extend_low_i16x8_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_extend_low(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_extend_low_i16x8_s, builtin_i32x4_extend_low_i16x8_s);\n\n// i32x4.extend_low_i16x8_u -> v128.extend_low\nfunction builtin_i32x4_extend_low_i16x8_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_extend_low(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_extend_low_i16x8_u, builtin_i32x4_extend_low_i16x8_u);\n\n// i32x4.extend_high_i16x8_s -> v128.extend_high\nfunction builtin_i32x4_extend_high_i16x8_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_extend_high(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_extend_high_i16x8_s, builtin_i32x4_extend_high_i16x8_s);\n\n// i32x4.extend_high_i16x8_u -> v128.extend_high\nfunction builtin_i32x4_extend_high_i16x8_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_extend_high(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_extend_high_i16x8_u, builtin_i32x4_extend_high_i16x8_u);\n\n// i32x4.extadd_pairwise_i16x8_s -> v128.extadd_pairwise\nfunction builtin_i32x4_extadd_pairwise_i16x8_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_extadd_pairwise(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_extadd_pairwise_i16x8_s, builtin_i32x4_extadd_pairwise_i16x8_s);\n\n// i32x4.extadd_pairwise_i16x8_u -> v128.extadd_pairwise\nfunction builtin_i32x4_extadd_pairwise_i16x8_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_extadd_pairwise(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_extadd_pairwise_i16x8_u, builtin_i32x4_extadd_pairwise_i16x8_u);\n\n// i32x4.extmul_low_i16x8_s -> v128.extmul_low\nfunction builtin_i32x4_extmul_low_i16x8_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_extmul_low(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_extmul_low_i16x8_s, builtin_i32x4_extmul_low_i16x8_s);\n\n// i32x4.extmul_low_i16x8_u -> v128.extmul_low\nfunction builtin_i32x4_extmul_low_i16x8_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_extmul_low(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_extmul_low_i16x8_u, builtin_i32x4_extmul_low_i16x8_u);\n\n// i32x4.extmul_high_i16x8_s -> v128.extmul_high\nfunction builtin_i32x4_extmul_high_i16x8_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_extmul_high(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_extmul_high_i16x8_s, builtin_i32x4_extmul_high_i16x8_s);\n\n// i32x4.extmul_high_i16x8_u -> v128.extmul_high\nfunction builtin_i32x4_extmul_high_i16x8_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_extmul_high(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_extmul_high_i16x8_u, builtin_i32x4_extmul_high_i16x8_u);\n\n// i32x4.shuffle -> v128.shuffle\nfunction builtin_i32x4_shuffle(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_shuffle(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_shuffle, builtin_i32x4_shuffle);\n\n// i64x2.splat -> v128.splat\nfunction builtin_i64x2_splat(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_splat(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64x2_splat, builtin_i64x2_splat);\n\n// i64x2.extract_lane -> v128.extract_lane\nfunction builtin_i64x2_extract_lane(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.i64;\n return builtin_v128_extract_lane(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64x2_extract_lane, builtin_i64x2_extract_lane);\n\n// i64x2.replace_lane -> v128.replace_lane\nfunction builtin_i64x2_replace_lane(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_replace_lane(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64x2_replace_lane, builtin_i64x2_replace_lane);\n\n// i64x2.add -> v128.add\nfunction builtin_i64x2_add(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_add(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64x2_add, builtin_i64x2_add);\n\n// i64x2.sub -> v128.sub\nfunction builtin_i64x2_sub(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_sub(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64x2_sub, builtin_i64x2_sub);\n\n// i64x2.mul -> v128.mul\nfunction builtin_i64x2_mul(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_mul(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64x2_mul, builtin_i64x2_mul);\n\n// i64x2.abs -> v128.abs\nfunction builtin_i64x2_abs(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_abs(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64x2_abs, builtin_i64x2_abs);\n\n// i64x2.neg -> v128.neg\nfunction builtin_i64x2_neg(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_neg(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64x2_neg, builtin_i64x2_neg);\n\n// i64x2.shl -> v128.shl\nfunction builtin_i64x2_shl(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_shl(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64x2_shl, builtin_i64x2_shl);\n\n// i64x2.shr_s -> v128.shr\nfunction builtin_i64x2_shr_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_shr(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64x2_shr_s, builtin_i64x2_shr_s);\n\n// i64x2.shr_u -> v128.shr\nfunction builtin_i64x2_shr_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_shr(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64x2_shr_u, builtin_i64x2_shr_u);\n\n// i64x2.all_true -> v128.all_true\nfunction builtin_i64x2_all_true(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.i32;\n return builtin_v128_all_true(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64x2_all_true, builtin_i64x2_all_true);\n\n// i64x2.bitmask -> v128.bitmask\nfunction builtin_i64x2_bitmask(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.i32;\n return builtin_v128_bitmask(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64x2_bitmask, builtin_i64x2_bitmask);\n\n// i64x2.eq -> v128.eq\nfunction builtin_i64x2_eq(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_eq(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64x2_eq, builtin_i64x2_eq);\n\n// i64x2.ne -> v128.ne\nfunction builtin_i64x2_ne(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_ne(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64x2_ne, builtin_i64x2_ne);\n\n// i64x2.lt_s -> v128.lt\nfunction builtin_i64x2_lt_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_lt(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64x2_lt_s, builtin_i64x2_lt_s);\n\n// i64x2.le_s -> v128.le\nfunction builtin_i64x2_le_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_le(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64x2_le_s, builtin_i64x2_le_s);\n\n// i64x2.gt_s -> v128.gt\nfunction builtin_i64x2_gt_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_gt(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64x2_gt_s, builtin_i64x2_gt_s);\n\n// i64x2.ge_s -> v128.ge\nfunction builtin_i64x2_ge_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_ge(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64x2_ge_s, builtin_i64x2_ge_s);\n\n// i64x2.extend_low_i32x4_s -> // v128.extend_low\nfunction builtin_i64x2_extend_low_i32x4_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_extend_low(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64x2_extend_low_i32x4_s, builtin_i64x2_extend_low_i32x4_s);\n\n// i64x2.extend_low_i32x4_u -> v128.extend_low\nfunction builtin_i64x2_extend_low_i32x4_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_extend_low(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64x2_extend_low_i32x4_u, builtin_i64x2_extend_low_i32x4_u);\n\n// i64x2.extend_high_i32x4_s -> v128.extend_high\nfunction builtin_i64x2_extend_high_i32x4_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_extend_high(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64x2_extend_high_i32x4_s, builtin_i64x2_extend_high_i32x4_s);\n\n// i64x2.extend_high_i32x4_u -> v128.extend_high\nfunction builtin_i64x2_extend_high_i32x4_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_extend_high(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64x2_extend_high_i32x4_u, builtin_i64x2_extend_high_i32x4_u);\n\n// i64x2.extmul_low_i32x4_s -> v128.extmul_low\nfunction builtin_i64x2_extmul_low_i32x4_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_extmul_low(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64x2_extmul_low_i32x4_s, builtin_i64x2_extmul_low_i32x4_s);\n\n// i64x2.extmul_low_i32x4_u -> v128.extmul_low\nfunction builtin_i64x2_extmul_low_i32x4_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_extmul_low(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64x2_extmul_low_i32x4_u, builtin_i64x2_extmul_low_i32x4_u);\n\n// i64x2.extmul_high_i32x4_s -> v128.extmul_high\nfunction builtin_i64x2_extmul_high_i32x4_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_extmul_high(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64x2_extmul_high_i32x4_s, builtin_i64x2_extmul_high_i32x4_s);\n\n// i64x2.extmul_high_i32x4_u -> v128.extmul_high\nfunction builtin_i64x2_extmul_high_i32x4_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_extmul_high(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64x2_extmul_high_i32x4_u, builtin_i64x2_extmul_high_i32x4_u);\n\n// i64x2.shuffle -> v128.shuffle\nfunction builtin_i64x2_shuffle(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_shuffle(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64x2_shuffle, builtin_i64x2_shuffle);\n\n// f32x4.splat -> v128.splat\nfunction builtin_f32x4_splat(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_splat(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32x4_splat, builtin_f32x4_splat);\n\n// f32x4.extract_lane -> v128.extract_lane\nfunction builtin_f32x4_extract_lane(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.f32;\n return builtin_v128_extract_lane(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32x4_extract_lane, builtin_f32x4_extract_lane);\n\n// f32x4.replace_lane -> v128.replace_lane\nfunction builtin_f32x4_replace_lane(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_replace_lane(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32x4_replace_lane, builtin_f32x4_replace_lane);\n\n// f32x4.add -> v128.add\nfunction builtin_f32x4_add(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_add(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32x4_add, builtin_f32x4_add);\n\n// f32x4.sub -> v128.sub\nfunction builtin_f32x4_sub(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_sub(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32x4_sub, builtin_f32x4_sub);\n\n// f32x4.mul -> v128.mul\nfunction builtin_f32x4_mul(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_mul(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32x4_mul, builtin_f32x4_mul);\n\n// f32x4.div -> v128.div\nfunction builtin_f32x4_div(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_div(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32x4_div, builtin_f32x4_div);\n\n// f32x4.neg -> v128.neg\nfunction builtin_f32x4_neg(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_neg(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32x4_neg, builtin_f32x4_neg);\n\n// f32x4.min -> v128.min\nfunction builtin_f32x4_min(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_min(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32x4_min, builtin_f32x4_min);\n\n// f32x4.max -> v128.max\nfunction builtin_f32x4_max(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_max(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32x4_max, builtin_f32x4_max);\n\n// f32x4.pmin -> v128.pmin\nfunction builtin_f32x4_pmin(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_pmin(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32x4_pmin, builtin_f32x4_pmin);\n\n// f32x4.pmax -> v128.pmax\nfunction builtin_f32x4_pmax(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_pmax(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32x4_pmax, builtin_f32x4_pmax);\n\n// f32x4.abs -> v128.abs\nfunction builtin_f32x4_abs(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_abs(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32x4_abs, builtin_f32x4_abs);\n\n// f32x4.sqrt -> v128.sqrt\nfunction builtin_f32x4_sqrt(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_sqrt(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32x4_sqrt, builtin_f32x4_sqrt);\n\n// f32x4.ceil -> v128.ceil\nfunction builtin_f32x4_ceil(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_ceil(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32x4_ceil, builtin_f32x4_ceil);\n\n// f32x4.floor -> v128.floor\nfunction builtin_f32x4_floor(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_floor(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32x4_floor, builtin_f32x4_floor);\n\n// f32x4.trunc -> v128.trunc\nfunction builtin_f32x4_trunc(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_trunc(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32x4_trunc, builtin_f32x4_trunc);\n\n// f32x4.nearest -> v128.nearest\nfunction builtin_f32x4_nearest(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_nearest(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32x4_nearest, builtin_f32x4_nearest);\n\n// f32x4.eq -> v128.eq\nfunction builtin_f32x4_eq(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_eq(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32x4_eq, builtin_f32x4_eq);\n\n// f32x4.ne -> v128.ne\nfunction builtin_f32x4_ne(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_ne(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32x4_ne, builtin_f32x4_ne);\n\n// f32x4.lt -> v128.lt\nfunction builtin_f32x4_lt(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_lt(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32x4_lt, builtin_f32x4_lt);\n\n// f32x4.le -> v128.le\nfunction builtin_f32x4_le(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_le(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32x4_le, builtin_f32x4_le);\n\n// f32x4.gt -> v128.gt\nfunction builtin_f32x4_gt(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_gt(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32x4_gt, builtin_f32x4_gt);\n\n// f32x4.ge -> v128.ge\nfunction builtin_f32x4_ge(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_ge(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32x4_ge, builtin_f32x4_ge);\n\n// f32x4.convert_i32x4_s -> v128.convert\nfunction builtin_f32x4_convert_i32x4_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_convert(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32x4_convert_i32x4_s, builtin_f32x4_convert_i32x4_s);\n\n// f32x4.convert_i32x4_u -> v128.convert\nfunction builtin_f32x4_convert_i32x4_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_convert(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32x4_convert_i32x4_u, builtin_f32x4_convert_i32x4_u);\n\n// f32x4.demote_f64x2_zero -> v128.demote_zero\nfunction builtin_f32x4_demote_f64x2_zero(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_demote_zero(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32x4_demote_f64x2_zero, builtin_f32x4_demote_f64x2_zero);\n\n// f32x4.shuffle -> v128.shuffle\nfunction builtin_f32x4_shuffle(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_shuffle(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32x4_shuffle, builtin_f32x4_shuffle);\n\n// f64x2.splat -> v128.splat\nfunction builtin_f64x2_splat(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_splat(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64x2_splat, builtin_f64x2_splat);\n\n// f64x2.extract_lane -> v128.extract_lane\nfunction builtin_f64x2_extract_lane(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.f64;\n return builtin_v128_extract_lane(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64x2_extract_lane, builtin_f64x2_extract_lane);\n\n// f64x2.replace_lane -> v128.replace_lane\nfunction builtin_f64x2_replace_lane(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_replace_lane(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64x2_replace_lane, builtin_f64x2_replace_lane);\n\n// f64x2.add -> v128.add\nfunction builtin_f64x2_add(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_add(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64x2_add, builtin_f64x2_add);\n\n// f64x2.sub -> v128.sub\nfunction builtin_f64x2_sub(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_sub(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64x2_sub, builtin_f64x2_sub);\n\n// f64x2.mul -> v128.mul\nfunction builtin_f64x2_mul(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_mul(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64x2_mul, builtin_f64x2_mul);\n\n// f64x2.div -> v128.div\nfunction builtin_f64x2_div(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_div(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64x2_div, builtin_f64x2_div);\n\n// f64x2.neg -> v128.neg\nfunction builtin_f64x2_neg(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_neg(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64x2_neg, builtin_f64x2_neg);\n\n// f64x2.min -> v128.min\nfunction builtin_f64x2_min(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_min(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64x2_min, builtin_f64x2_min);\n\n// f64x2.max -> v128.max\nfunction builtin_f64x2_max(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_max(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64x2_max, builtin_f64x2_max);\n\n// f64x2.pmin -> v128.pmin\nfunction builtin_f64x2_pmin(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_pmin(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64x2_pmin, builtin_f64x2_pmin);\n\n// f64x2.pmax -> v128.pmax\nfunction builtin_f64x2_pmax(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_pmax(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64x2_pmax, builtin_f64x2_pmax);\n\n// f64x2.abs -> v128.abs\nfunction builtin_f64x2_abs(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_abs(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64x2_abs, builtin_f64x2_abs);\n\n// f64x2.sqrt -> v128.sqrt\nfunction builtin_f64x2_sqrt(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_sqrt(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64x2_sqrt, builtin_f64x2_sqrt);\n\n// f64x2.ceil -> v128.ceil\nfunction builtin_f64x2_ceil(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_ceil(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64x2_ceil, builtin_f64x2_ceil);\n\n// f64x2.floor -> v128.floor\nfunction builtin_f64x2_floor(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_floor(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64x2_floor, builtin_f64x2_floor);\n\n// f64x2.trunc -> v128.trunc\nfunction builtin_f64x2_trunc(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_trunc(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64x2_trunc, builtin_f64x2_trunc);\n\n// f64x2.nearest -> v128.nearest\nfunction builtin_f64x2_nearest(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_nearest(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64x2_nearest, builtin_f64x2_nearest);\n\n// f64x2.eq -> v128.eq\nfunction builtin_f64x2_eq(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_eq(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64x2_eq, builtin_f64x2_eq);\n\n// f64x2.ne -> v128.ne\nfunction builtin_f64x2_ne(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_ne(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64x2_ne, builtin_f64x2_ne);\n\n// f64x2.lt -> v128.lt\nfunction builtin_f64x2_lt(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_lt(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64x2_lt, builtin_f64x2_lt);\n\n// f64x2.le -> v128.le\nfunction builtin_f64x2_le(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_le(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64x2_le, builtin_f64x2_le);\n\n// f64x2.gt -> v128.gt\nfunction builtin_f64x2_gt(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_gt(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64x2_gt, builtin_f64x2_gt);\n\n// f64x2.ge -> v128.ge\nfunction builtin_f64x2_ge(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_ge(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64x2_ge, builtin_f64x2_ge);\n\n// f64x2.convert_low_i32x4_s -> v128.convert_low\nfunction builtin_f64x2_convert_low_i32x4_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_convert_low(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64x2_convert_low_i32x4_s, builtin_f64x2_convert_low_i32x4_s);\n\n// f64x2.convert_low_i32x4_u -> v128.convert_low\nfunction builtin_f64x2_convert_low_i32x4_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_convert_low(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64x2_convert_low_i32x4_u, builtin_f64x2_convert_low_i32x4_u);\n\n// f64x2.promote_low_f32x4 -> v128.promote_low\nfunction builtin_f64x4_promote_low_f32x4(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_promote_low(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64x2_promote_low_f32x4, builtin_f64x4_promote_low_f32x4);\n\n// f64x2.shuffle -> v128.shuffle\nfunction builtin_f64x2_shuffle(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_shuffle(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64x2_shuffle, builtin_f64x2_shuffle);\n\n// i8x16.relaxed_swizzle -> v128.relaxed_swizzle\nfunction builtin_i8x16_relaxed_swizzle(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = null;\n ctx.contextualType = Type.v128;\n return builtin_v128_relaxed_swizzle(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i8x16_relaxed_swizzle, builtin_i8x16_relaxed_swizzle);\n\n// i32x4.relaxed_trunc_f32x4_s -> v128.relaxed_trunc\nfunction builtin_i32x4_relaxed_trunc_f32x4_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_relaxed_trunc(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_relaxed_trunc_f32x4_s, builtin_i32x4_relaxed_trunc_f32x4_s);\n\n// i32x4.relaxed_trunc_f32x4_u -> v128.relaxed_trunc\nfunction builtin_i32x4_relaxed_trunc_f32x4_u(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_relaxed_trunc(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_relaxed_trunc_f32x4_u, builtin_i32x4_relaxed_trunc_f32x4_u);\n\n// i32x4.relaxed_trunc_f64x2_s_zero -> v128.relaxed_trunc_zero\nfunction builtin_i32x4_relaxed_trunc_f64x2_s_zero(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_relaxed_trunc_zero(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_relaxed_trunc_f64x2_s_zero, builtin_i32x4_relaxed_trunc_f64x2_s_zero);\n\n// i32x4.relaxed_trunc_f64x2_u_zero -> v128.relaxed_trunc_zero\nfunction builtin_i32x4_relaxed_trunc_f64x2_u_zero(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.u32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_relaxed_trunc_zero(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_relaxed_trunc_f64x2_u_zero, builtin_i32x4_relaxed_trunc_f64x2_u_zero);\n\n// f32x4.relaxed_madd -> v128.relaxed_madd\nfunction builtin_f32x4_relaxed_madd(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_relaxed_madd(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32x4_relaxed_madd, builtin_f32x4_relaxed_madd);\n\n// f32x4.relaxed_nmadd -> v128.relaxed_nmadd\nfunction builtin_f32x4_relaxed_nmadd(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_relaxed_nmadd(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32x4_relaxed_nmadd, builtin_f32x4_relaxed_nmadd);\n\n// f64x2.relaxed_madd -> v128.relaxed_madd\nfunction builtin_f64x2_relaxed_madd(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_relaxed_madd(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64x2_relaxed_madd, builtin_f64x2_relaxed_madd);\n\n// f64x2.relaxed_nmadd -> v128.relaxed_nmadd\nfunction builtin_f64x2_relaxed_nmadd(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_relaxed_nmadd(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64x2_relaxed_nmadd, builtin_f64x2_relaxed_nmadd);\n\n// i8x16.relaxed_laneselect -> v128.relaxed_laneselect\nfunction builtin_i8x16_relaxed_laneselect(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i8 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_relaxed_laneselect(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i8x16_relaxed_laneselect, builtin_i8x16_relaxed_laneselect);\n\n// i16x8.relaxed_laneselect -> v128.relaxed_laneselect\nfunction builtin_i16x8_relaxed_laneselect(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_relaxed_laneselect(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_relaxed_laneselect, builtin_i16x8_relaxed_laneselect);\n\n// i32x4.relaxed_laneselect -> v128.relaxed_laneselect\nfunction builtin_i32x4_relaxed_laneselect(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_relaxed_laneselect(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_relaxed_laneselect, builtin_i32x4_relaxed_laneselect);\n\n// i64x2.relaxed_laneselect -> v128.relaxed_laneselect\nfunction builtin_i64x2_relaxed_laneselect(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_relaxed_laneselect(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i64x2_relaxed_laneselect, builtin_i64x2_relaxed_laneselect);\n\n// f32x4.relaxed_min -> v128.relaxed_min\nfunction builtin_f32x4_relaxed_min(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_relaxed_min(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32x4_relaxed_min, builtin_f32x4_relaxed_min);\n\n// f32x4.relaxed_max -> v128.relaxed_max\nfunction builtin_f32x4_relaxed_max(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_relaxed_max(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f32x4_relaxed_max, builtin_f32x4_relaxed_max);\n\n// f64x2.relaxed_min -> v128.relaxed_min\nfunction builtin_f64x2_relaxed_min(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_relaxed_min(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64x2_relaxed_min, builtin_f64x2_relaxed_min);\n\n// f64x2.relaxed_max -> v128.relaxed_max\nfunction builtin_f64x2_relaxed_max(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.f64 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_relaxed_max(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.f64x2_relaxed_max, builtin_f64x2_relaxed_max);\n\n// i16x8.relaxed_q15mulr_s -> v128.relaxed_q15mulr\nfunction builtin_i16x8_relaxed_q15mulr_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_relaxed_q15mulr(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_relaxed_q15mulr_s, builtin_i16x8_relaxed_q15mulr_s);\n\n// i16x8.relaxed_dot_i8x16_i7x16_s -> v128.relaxed_dot\nfunction builtin_i16x8_relaxed_dot_i8x16_i7x16_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i16 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_relaxed_dot(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i16x8_relaxed_dot_i8x16_i7x16_s, builtin_i16x8_relaxed_dot_i8x16_i7x16_s);\n\n// i32x4.relaxed_dot_i8x16_i7x16_add_s -> v128.relaxed_dot_add\nfunction builtin_i32x4_relaxed_dot_i8x16_i7x16_add_s(ctx: BuiltinFunctionContext): ExpressionRef {\n checkTypeAbsent(ctx);\n ctx.typeArguments = [ Type.i32 ];\n ctx.contextualType = Type.v128;\n return builtin_v128_relaxed_dot_add(ctx);\n}\nbuiltinFunctions.set(BuiltinNames.i32x4_relaxed_dot_i8x16_i7x16_add_s, builtin_i32x4_relaxed_dot_i8x16_i7x16_add_s);\n\n// === Internal helpers =======================================================================\n\n/** Compiles the `visit_globals` function. */\nexport function compileVisitGlobals(compiler: Compiler): void {\n let module = compiler.module;\n let exprs = new Array();\n let sizeTypeRef = compiler.options.sizeTypeRef;\n let visitInstance = assert(compiler.program.visitInstance);\n\n // this function is @lazy: make sure it exists\n compiler.compileFunction(visitInstance, true);\n\n // TODO: for (let element of compiler.program.elementsByName.values()) {\n for (let _values = Map_values(compiler.program.elementsByName), i = 0, k = _values.length; i < k; ++i) {\n let element = unchecked(_values[i]);\n if (element.kind != ElementKind.Global) continue;\n let global = element;\n let globalType = global.type;\n let classReference = globalType.getClass();\n if (\n classReference &&\n !classReference.hasDecorator(DecoratorFlags.Unmanaged) &&\n global.is(CommonFlags.Compiled)\n ) {\n if (global.is(CommonFlags.Inlined)) {\n let value = global.constantIntegerValue;\n if (i64_low(value) || i64_high(value)) {\n exprs.push(\n module.call(visitInstance.internalName, [\n compiler.options.isWasm64\n ? module.i64(i64_low(value), i64_high(value))\n : module.i32(i64_low(value)),\n module.local_get(0, TypeRef.I32) // cookie\n ], TypeRef.None)\n );\n }\n } else {\n exprs.push(\n module.if(\n module.local_tee(1,\n module.global_get(global.internalName, sizeTypeRef),\n false // internal\n ),\n module.call(visitInstance.internalName, [\n module.local_get(1, sizeTypeRef), // tempRef != null\n module.local_get(0, TypeRef.I32) // cookie\n ], TypeRef.None)\n )\n );\n }\n }\n }\n module.addFunction(BuiltinNames.visit_globals,\n TypeRef.I32, // cookie\n TypeRef.None, // => void\n [ sizeTypeRef ],\n exprs.length\n ? module.block(null, exprs)\n : module.nop()\n );\n}\n\n/** Ensures that the visitor function of the specified class is compiled. */\nfunction ensureVisitMembersOf(compiler: Compiler, instance: Class): void {\n assert(instance.type.isManaged);\n if (instance.visitRef) return;\n\n let program = compiler.program;\n let module = compiler.module;\n let usizeType = program.options.usizeType;\n let sizeTypeRef = usizeType.toRef();\n let sizeTypeSize = usizeType.byteSize;\n let visitInstance = assert(program.visitInstance);\n let body = new Array();\n\n // If the class has a base class, call its visitor first\n let base = instance.base;\n if (base) {\n body.push(\n module.call(`${base.internalName}~visit`, [\n module.local_get(0, sizeTypeRef), // this\n module.local_get(1, TypeRef.I32) // cookie\n ], TypeRef.None)\n );\n }\n\n // Some standard library components provide a custom visitor implementation,\n // for example to visit all members of a collection, e.g. arrays and maps.\n let hasVisitImpl = false;\n if (instance.isDeclaredInLibrary) {\n let visitPrototype = instance.getMember(\"__visit\");\n if (visitPrototype) {\n assert(visitPrototype.kind == ElementKind.FunctionPrototype);\n let visitInstance = program.resolver.resolveFunction(visitPrototype, null);\n if (!visitInstance || !compiler.compileFunction(visitInstance)) {\n body.push(\n module.unreachable()\n );\n } else {\n let visitSignature = visitInstance.signature;\n let visitThisType = assert(visitSignature.thisType);\n assert(\n visitSignature.parameterTypes.length == 1 &&\n visitSignature.parameterTypes[0] == Type.u32 &&\n visitSignature.returnType == Type.void &&\n instance.type.isStrictlyAssignableTo(visitThisType) // incl. implemented on super\n );\n body.push(\n module.call(visitInstance.internalName, [\n module.local_get(0, sizeTypeRef), // this\n module.local_get(1, TypeRef.I32) // cookie\n ], TypeRef.None)\n );\n }\n hasVisitImpl = true;\n }\n }\n\n // Otherwise, if there is no custom visitor, generate a visitor function\n // according to class layout, visiting all _own_ managed members.\n let needsTempValue = false;\n if (!hasVisitImpl) {\n let members = instance.members;\n if (members) {\n // TODO: for (let member of members.values()) {\n for (let _values = Map_values(members), j = 0, l = _values.length; j < l; ++j) {\n let member = unchecked(_values[j]);\n if (member.kind != ElementKind.PropertyPrototype) continue;\n // Class should have resolved fields during finalization\n let property = (member).instance;\n if (!property) continue;\n let fieldType = property.type;\n if (!property.isField || property.getBoundClassOrInterface() != instance || !fieldType.isManaged) continue;\n let fieldOffset = property.memoryOffset;\n assert(fieldOffset >= 0);\n needsTempValue = true;\n body.push(\n // if ($2 = value) __visit($2, $1)\n module.if(\n module.local_tee(2,\n module.load(sizeTypeSize, false,\n module.local_get(0, sizeTypeRef),\n sizeTypeRef, fieldOffset\n ),\n false // internal\n ),\n module.call(visitInstance.internalName, [\n module.local_get(2, sizeTypeRef), // value\n module.local_get(1, TypeRef.I32) // cookie\n ], TypeRef.None)\n )\n );\n }\n }\n }\n\n // Create the visitor function\n instance.visitRef = module.addFunction(`${instance.internalName}~visit`,\n createType([sizeTypeRef, TypeRef.I32]),\n TypeRef.None,\n needsTempValue ? [ sizeTypeRef ] : null,\n module.flatten(body, TypeRef.None)\n );\n\n // And make sure the base visitor function exists\n if (base && base.type.isManaged) {\n // errored earlier if not managed\n ensureVisitMembersOf(compiler, base);\n }\n}\n\n/** Compiles the `__visit_members` function. */\nexport function compileVisitMembers(compiler: Compiler): void {\n let program = compiler.program;\n let module = compiler.module;\n let usizeType = program.options.usizeType;\n let sizeTypeRef = usizeType.toRef();\n let managedClasses = program.managedClasses;\n let visitInstance = assert(program.visitInstance);\n compiler.compileFunction(visitInstance, true); // is lazy, make sure it is compiled\n\n // Prepare a mapping of class names to visitor calls. Each name corresponds to\n // the respective sequential (0..N) class id.\n let names = new Array();\n let cases = new Array();\n let nextId = 0;\n for (let _keys = Map_keys(managedClasses), i = 0, k = _keys.length; i < k; ++i) {\n let instanceId = _keys[i];\n assert(instanceId == nextId++);\n let instance = assert(managedClasses.get(instanceId));\n names[i] = instance.internalName;\n if (instance.isPointerfree) {\n cases[i] = module.return();\n } else {\n cases[i] = module.block(null, [\n module.call(`${instance.internalName}~visit`, [\n module.local_get(0, sizeTypeRef), // this\n module.local_get(1, TypeRef.I32) // cookie\n ], TypeRef.None),\n module.return()\n ], TypeRef.None);\n ensureVisitMembersOf(compiler, instance);\n }\n }\n\n // Make a br_table of the mapping, calling visitor functions by unique class id\n let current = module.block(names[0], [\n module.switch(names, \"invalid\",\n // load(changetype(this) - 8)\n module.load(4, false,\n sizeTypeRef == TypeRef.I64\n ? module.binary(BinaryOp.SubI64,\n module.local_get(0, sizeTypeRef),\n module.i64(8)\n )\n : module.binary(BinaryOp.SubI32,\n module.local_get(0, sizeTypeRef),\n module.i32(8) // rtId is at -8\n ),\n TypeRef.I32, 0\n )\n )\n ], TypeRef.None);\n\n // Wrap blocks in order\n for (let i = 0, k = names.length - 1; i < k; ++i) {\n current = module.block(names[i + 1], [\n current,\n cases[i]\n ], TypeRef.None);\n }\n\n // Wrap the last id in an 'invalid' block to break out of on invalid ids\n current = module.block(\"invalid\", [\n current,\n cases[names.length - 1]\n ], TypeRef.None);\n\n // Add the function, executing an unreachable if breaking to 'invalid'\n module.addFunction(BuiltinNames.visit_members,\n createType([ sizeTypeRef, TypeRef.I32 ]), // this, cookie\n TypeRef.None, // => void\n null,\n module.flatten([\n current,\n module.unreachable()\n ])\n );\n}\n\nfunction typeToRuntimeFlags(type: Type): TypeinfoFlags {\n let flags = TypeinfoFlags.VALUE_ALIGN_0 * (1 << type.alignLog2);\n if (type.is(TypeFlags.Signed)) flags |= TypeinfoFlags.VALUE_SIGNED;\n if (type.is(TypeFlags.Float)) flags |= TypeinfoFlags.VALUE_FLOAT;\n if (type.is(TypeFlags.Nullable)) flags |= TypeinfoFlags.VALUE_NULLABLE;\n if (type.isManaged) flags |= TypeinfoFlags.VALUE_MANAGED;\n return flags / TypeinfoFlags.VALUE_ALIGN_0;\n}\n\n/** Compiles runtime type information for use by stdlib. */\nexport function compileRTTI(compiler: Compiler): void {\n let program = compiler.program;\n let module = compiler.module;\n let managedClasses = program.managedClasses;\n let count = managedClasses.size;\n let size = 4 + 4 * count; // count | TypeInfo*\n let data = new Uint8Array(size);\n writeI32(count, data, 0);\n let off = 4;\n let abvInstance = program.arrayBufferViewInstance;\n let abvPrototype = abvInstance.prototype;\n let arrayPrototype = program.arrayPrototype;\n let setPrototype = program.setPrototype;\n let mapPrototype = program.mapPrototype;\n let staticArrayPrototype = program.staticArrayPrototype;\n let lastId = 0;\n // TODO: for (let [instanceId, instance] of managedClasses) {\n for (let _keys = Map_keys(managedClasses), i = 0, k = _keys.length; i < k; ++i) {\n let instanceId = unchecked(_keys[i]);\n let instance = assert(managedClasses.get(instanceId));\n assert(instanceId == lastId++);\n let flags: TypeinfoFlags = 0;\n if (instance.isPointerfree) flags |= TypeinfoFlags.POINTERFREE;\n if (instance != abvInstance && instance.extendsPrototype(abvPrototype)) {\n let valueType = instance.getArrayValueType();\n flags |= TypeinfoFlags.ARRAYBUFFERVIEW;\n flags |= TypeinfoFlags.VALUE_ALIGN_0 * typeToRuntimeFlags(valueType);\n } else if (instance.extendsPrototype(arrayPrototype)) {\n let valueType = instance.getArrayValueType();\n flags |= TypeinfoFlags.ARRAY;\n flags |= TypeinfoFlags.VALUE_ALIGN_0 * typeToRuntimeFlags(valueType);\n } else if (instance.extendsPrototype(setPrototype)) {\n let typeArguments = assert(instance.getTypeArgumentsTo(setPrototype));\n assert(typeArguments.length == 1);\n flags |= TypeinfoFlags.SET;\n flags |= TypeinfoFlags.VALUE_ALIGN_0 * typeToRuntimeFlags(typeArguments[0]);\n } else if (instance.extendsPrototype(mapPrototype)) {\n let typeArguments = assert(instance.getTypeArgumentsTo(mapPrototype));\n assert(typeArguments.length == 2);\n flags |= TypeinfoFlags.MAP;\n flags |= TypeinfoFlags.KEY_ALIGN_0 * typeToRuntimeFlags(typeArguments[0]);\n flags |= TypeinfoFlags.VALUE_ALIGN_0 * typeToRuntimeFlags(typeArguments[1]);\n } else if (instance.extendsPrototype(staticArrayPrototype)) {\n let valueType = instance.getArrayValueType();\n flags |= TypeinfoFlags.STATICARRAY;\n flags |= TypeinfoFlags.VALUE_ALIGN_0 * typeToRuntimeFlags(valueType);\n }\n writeI32(flags, data, off); off += 4;\n instance.rttiFlags = flags;\n }\n assert(off == size);\n let usizeType = program.options.usizeType;\n let segment = compiler.addAlignedMemorySegment(data);\n if (usizeType.size == 8) {\n let offset = segment.offset;\n module.addGlobal(BuiltinNames.rtti_base, TypeRef.I64, false, module.i64(i64_low(offset), i64_high(offset)));\n } else {\n module.addGlobal(BuiltinNames.rtti_base, TypeRef.I32, false, module.i32(i64_low(segment.offset)));\n }\n}\n\n// Helpers\n\n/** Checks the constant type of a type argument *or* expression. */\nfunction checkConstantType(ctx: BuiltinFunctionContext): Type | null {\n let compiler = ctx.compiler;\n let operands = ctx.operands;\n let typeArguments = ctx.typeArguments;\n checkConstantType_expr = 0;\n if (operands.length == 0) { // requires type argument\n if (!typeArguments || typeArguments.length != 1) {\n compiler.error(\n DiagnosticCode.Expected_0_type_arguments_but_got_1,\n ctx.reportNode.typeArgumentsRange, \"1\", typeArguments ? typeArguments.length.toString() : \"0\"\n );\n return null;\n }\n return typeArguments[0];\n }\n if (operands.length == 1) { // optional type argument\n if (typeArguments && typeArguments.length > 0) {\n if (typeArguments.length > 1) {\n compiler.error(\n DiagnosticCode.Expected_0_type_arguments_but_got_1,\n ctx.reportNode.typeArgumentsRange, \"1\", typeArguments.length.toString()\n );\n return null;\n }\n checkConstantType_expr = compiler.compileExpression(operands[0], typeArguments[0], Constraints.ConvImplicit);\n } else {\n checkConstantType_expr = compiler.compileExpression(operands[0], Type.auto);\n }\n return compiler.currentType;\n }\n if (typeArguments && typeArguments.length > 1) {\n compiler.error(\n DiagnosticCode.Expected_0_type_arguments_but_got_1,\n ctx.reportNode.typeArgumentsRange, \"1\", typeArguments.length.toString()\n );\n }\n compiler.error(\n DiagnosticCode.Expected_0_arguments_but_got_1,\n ctx.reportNode.argumentsRange, \"1\", operands.length.toString()\n );\n return null;\n}\n\n/** Reifies a constant type check potentially involving an expression. */\nfunction reifyConstantType(ctx: BuiltinFunctionContext, expr: ExpressionRef): ExpressionRef {\n let module = ctx.compiler.module;\n if (checkConstantType_expr && mustPreserveSideEffects(checkConstantType_expr, module.ref)) {\n expr = module.block(null, [\n module.maybeDrop(checkConstantType_expr),\n expr\n ], getExpressionType(expr));\n }\n return expr;\n}\n\n/** Evaluates a compile-time constant immediate offset argument.*/\nfunction evaluateImmediateOffset(expression: Expression, compiler: Compiler): i32 {\n let module = compiler.module;\n let value: i32;\n if (compiler.options.isWasm64) {\n let expr = compiler.compileExpression(expression, Type.usize64, Constraints.ConvImplicit);\n let precomp = module.runExpression(expr, ExpressionRunnerFlags.PreserveSideeffects);\n if (precomp) {\n assert(getConstValueI64High(precomp) == 0); // TODO\n value = getConstValueI64Low(precomp);\n } else {\n compiler.error(\n DiagnosticCode.Expression_must_be_a_compile_time_constant,\n expression.range\n );\n value = -1;\n }\n } else {\n let expr = compiler.compileExpression(expression, Type.usize32, Constraints.ConvImplicit);\n let precomp = module.runExpression(expr, ExpressionRunnerFlags.PreserveSideeffects);\n if (precomp) {\n value = getConstValueI32(precomp);\n } else {\n compiler.error(\n DiagnosticCode.Expression_must_be_a_compile_time_constant,\n expression.range\n );\n value = -1;\n }\n }\n return value;\n}\n\n/** Evaluates a compile-time constant immediate align argument. */\nfunction evaluateImmediateAlign(expression: Expression, naturalAlign: i32, compiler: Compiler): i32 {\n let align = evaluateImmediateOffset(expression, compiler);\n if (align < 0) return align;\n if (align < 1 || naturalAlign > 16) {\n compiler.error(\n DiagnosticCode._0_must_be_a_value_between_1_and_2_inclusive,\n expression.range, \"Alignment\", \"1\", naturalAlign.toString()\n );\n return -1;\n }\n if (!isPowerOf2(align)) {\n compiler.error(\n DiagnosticCode._0_must_be_a_power_of_two,\n expression.range, \"Alignment\"\n );\n return -1;\n }\n return align;\n}\n\n/** Checks that the specified feature is enabled. */\nfunction checkFeatureEnabled(ctx: BuiltinFunctionContext, feature: Feature): i32 {\n let compiler = ctx.compiler;\n if (!compiler.options.hasFeature(feature)) {\n compiler.error(\n DiagnosticCode.Feature_0_is_not_enabled,\n ctx.reportNode.range, featureToString(feature)\n );\n return 1;\n }\n return 0;\n}\n\n/** Checks a call with a single required type argument. Returns `1` on error. */\nfunction checkTypeRequired(ctx: BuiltinFunctionContext, setCurrentTypeOnError: bool = false): i32 {\n let compiler = ctx.compiler;\n let typeArguments = ctx.typeArguments;\n if (typeArguments) {\n let numTypeArguments = typeArguments.length;\n if (numTypeArguments == 1) return 0;\n assert(numTypeArguments); // invalid if 0, must not be set at all instead\n if (setCurrentTypeOnError) compiler.currentType = typeArguments[0];\n compiler.error(\n DiagnosticCode.Expected_0_type_arguments_but_got_1,\n ctx.reportNode.typeArgumentsRange, \"1\", numTypeArguments.toString()\n );\n } else {\n compiler.error(\n DiagnosticCode.Expected_0_type_arguments_but_got_1,\n ctx.reportNode.range, \"1\", \"0\"\n );\n }\n return 1;\n}\n\n/** Checks a call with a single optional type argument. Returns `1` on error. */\nfunction checkTypeOptional(ctx: BuiltinFunctionContext, setCurrentTypeOnError: bool = false): i32 {\n let typeArguments = ctx.typeArguments;\n if (typeArguments) {\n let compiler = ctx.compiler;\n let numTypeArguments = typeArguments.length;\n if (numTypeArguments == 1) return 0;\n assert(numTypeArguments); // invalid if 0, must not be set at all instead\n if (setCurrentTypeOnError) compiler.currentType = typeArguments[0];\n compiler.error(\n DiagnosticCode.Expected_0_type_arguments_but_got_1,\n ctx.reportNode.typeArgumentsRange, \"1\", numTypeArguments.toString()\n );\n return 1;\n }\n return 0;\n}\n\n/** Checks a call that is not generic. Returns `1` on error. */\nfunction checkTypeAbsent(ctx: BuiltinFunctionContext): i32 {\n let typeArguments = ctx.typeArguments;\n if (typeArguments) {\n let prototype = ctx.prototype;\n prototype.program.error(\n DiagnosticCode.Type_0_is_not_generic,\n ctx.reportNode.typeArgumentsRange, prototype.internalName\n );\n return 1;\n }\n return 0;\n}\n\n/** Checks a call that requires a fixed number of arguments. Returns `1` on error. */\nfunction checkArgsRequired(ctx: BuiltinFunctionContext, expected: i32): i32 {\n let operands = ctx.operands;\n if (operands.length != expected) {\n ctx.compiler.error(\n DiagnosticCode.Expected_0_arguments_but_got_1,\n ctx.reportNode.range, expected.toString(), operands.length.toString()\n );\n return 1;\n }\n return 0;\n}\n\n/** Checks a call that requires a variable number of arguments. Returns `1` on error. */\nfunction checkArgsOptional(ctx: BuiltinFunctionContext, expectedMinimum: i32, expectedMaximum: i32): i32 {\n let operands = ctx.operands;\n let numOperands = operands.length;\n if (numOperands < expectedMinimum) {\n ctx.compiler.error(\n DiagnosticCode.Expected_at_least_0_arguments_but_got_1,\n ctx.reportNode.range, expectedMinimum.toString(), numOperands.toString()\n );\n return 1;\n } else if (numOperands > expectedMaximum) {\n ctx.compiler.error(\n DiagnosticCode.Expected_0_arguments_but_got_1,\n ctx.reportNode.range, expectedMaximum.toString(), numOperands.toString()\n );\n return 1;\n }\n return 0;\n}\n\n/** Makes an usize constant matching contextual type if reasonable. */\nfunction contextualUsize(compiler: Compiler, value: i64, contextualType: Type): ExpressionRef {\n let module = compiler.module;\n // Check if contextual type fits\n if (contextualType != Type.auto && contextualType.isIntegerValue) {\n switch (contextualType.kind) {\n case TypeKind.I32: {\n if (i64_is_i32(value)) {\n compiler.currentType = Type.i32;\n return module.i32(i64_low(value));\n }\n break;\n }\n case TypeKind.U32: {\n if (i64_is_u32(value)) {\n compiler.currentType = Type.u32;\n return module.i32(i64_low(value));\n }\n break;\n }\n case TypeKind.I64:\n case TypeKind.U64: {\n compiler.currentType = contextualType;\n return module.i64(i64_low(value), i64_high(value));\n }\n // isize/usize falls through\n // small int is probably not intended\n }\n }\n // Default to usize\n if (compiler.options.isWasm64) {\n compiler.currentType = Type.usize64;\n return module.i64(i64_low(value), i64_high(value));\n } else {\n compiler.currentType = Type.usize32;\n assert(!i64_high(value));\n return module.i32(i64_low(value));\n }\n}\n", "/**\n * @fileoverview Infrastructure for custom Binaryen passes.\n * @license Apache-2.0\n */\n\nimport {\n Module,\n ExpressionId,\n ExpressionRef,\n FunctionRef,\n GlobalRef,\n Index,\n StringRef\n} from \"../module\";\n\nimport {\n _BinaryenExpressionGetId,\n _BinaryenBlockGetNumChildren,\n _BinaryenBlockGetChildAt,\n _BinaryenIfGetCondition,\n _BinaryenIfGetIfTrue,\n _BinaryenIfGetIfFalse,\n _BinaryenLoopGetBody,\n _BinaryenBreakGetCondition,\n _BinaryenBreakGetValue,\n _BinaryenGetNumFunctions,\n _BinaryenGetFunctionByIndex,\n _BinaryenGetNumGlobals,\n _BinaryenGetGlobalByIndex,\n _BinaryenFunctionGetBody,\n _BinaryenSwitchGetCondition,\n _BinaryenSwitchGetValue,\n _BinaryenCallGetNumOperands,\n _BinaryenCallGetOperandAt,\n _BinaryenCallIndirectGetNumOperands,\n _BinaryenCallIndirectGetOperandAt,\n _BinaryenLocalSetGetValue,\n _BinaryenGlobalSetGetValue,\n _BinaryenGlobalGetInitExpr,\n _BinaryenLoadGetPtr,\n _BinaryenStoreGetPtr,\n _BinaryenStoreGetValue,\n _BinaryenUnaryGetValue,\n _BinaryenBinaryGetLeft,\n _BinaryenBinaryGetRight,\n _BinaryenSelectGetIfTrue,\n _BinaryenSelectGetIfFalse,\n _BinaryenSelectGetCondition,\n _BinaryenDropGetValue,\n _BinaryenBlockSetChildAt,\n _BinaryenCallIndirectGetTarget,\n _BinaryenReturnGetValue,\n _BinaryenMemoryGrowGetDelta,\n _BinaryenAtomicRMWGetPtr,\n _BinaryenAtomicRMWGetValue,\n _BinaryenAtomicCmpxchgGetPtr,\n _BinaryenAtomicCmpxchgGetExpected,\n _BinaryenAtomicCmpxchgGetReplacement,\n _BinaryenAtomicWaitGetPtr,\n _BinaryenAtomicWaitGetExpected,\n _BinaryenAtomicWaitGetTimeout,\n _BinaryenAtomicNotifyGetPtr,\n _BinaryenSIMDExtractGetVec,\n _BinaryenSIMDReplaceGetVec,\n _BinaryenSIMDReplaceGetValue,\n _BinaryenSIMDShuffleGetLeft,\n _BinaryenSIMDShuffleGetRight,\n _BinaryenSIMDTernaryGetA,\n _BinaryenSIMDTernaryGetB,\n _BinaryenSIMDTernaryGetC,\n _BinaryenSIMDShiftGetVec,\n _BinaryenSIMDShiftGetShift,\n _BinaryenSIMDLoadGetPtr,\n _BinaryenMemoryInitGetDest,\n _BinaryenMemoryInitGetOffset,\n _BinaryenMemoryInitGetSize,\n _BinaryenMemoryCopyGetDest,\n _BinaryenMemoryCopyGetSource,\n _BinaryenMemoryCopyGetSize,\n _BinaryenMemoryFillGetDest,\n _BinaryenMemoryFillGetValue,\n _BinaryenMemoryFillGetSize,\n _BinaryenRefIsNullGetValue,\n _BinaryenRefAsGetValue,\n _BinaryenTryGetBody,\n _BinaryenTryGetNumCatchBodies,\n _BinaryenTryGetCatchBodyAt,\n _BinaryenThrowGetNumOperands,\n _BinaryenThrowGetOperandAt,\n _BinaryenTupleMakeGetOperandAt,\n _BinaryenTupleMakeGetNumOperands,\n _BinaryenIfSetCondition,\n _BinaryenIfSetIfTrue,\n _BinaryenIfSetIfFalse,\n _BinaryenLoopSetBody,\n _BinaryenBreakSetCondition,\n _BinaryenBreakSetValue,\n _BinaryenSwitchSetCondition,\n _BinaryenSwitchSetValue,\n _BinaryenCallSetOperandAt,\n _BinaryenCallIndirectSetTarget,\n _BinaryenCallIndirectSetOperandAt,\n _BinaryenLocalSetSetValue,\n _BinaryenGlobalSetSetValue,\n _BinaryenLoadSetPtr,\n _BinaryenStoreSetPtr,\n _BinaryenStoreSetValue,\n _BinaryenUnarySetValue,\n _BinaryenExpressionFinalize,\n _BinaryenBinarySetLeft,\n _BinaryenBinarySetRight,\n _BinaryenSelectSetIfTrue,\n _BinaryenSelectSetIfFalse,\n _BinaryenSelectSetCondition,\n _BinaryenDropSetValue,\n _BinaryenReturnSetValue,\n _BinaryenMemoryGrowSetDelta,\n _BinaryenAtomicRMWSetPtr,\n _BinaryenAtomicRMWSetValue,\n _BinaryenAtomicCmpxchgSetPtr,\n _BinaryenAtomicCmpxchgSetExpected,\n _BinaryenAtomicCmpxchgSetReplacement,\n _BinaryenAtomicWaitSetPtr,\n _BinaryenAtomicWaitSetExpected,\n _BinaryenAtomicWaitSetTimeout,\n _BinaryenAtomicNotifySetPtr,\n _BinaryenSIMDExtractSetVec,\n _BinaryenSIMDReplaceSetVec,\n _BinaryenSIMDReplaceSetValue,\n _BinaryenSIMDShuffleSetLeft,\n _BinaryenSIMDShuffleSetRight,\n _BinaryenSIMDTernarySetA,\n _BinaryenSIMDTernarySetB,\n _BinaryenSIMDTernarySetC,\n _BinaryenSIMDShiftSetVec,\n _BinaryenSIMDShiftSetShift,\n _BinaryenSIMDLoadSetPtr,\n _BinaryenSIMDLoadStoreLaneGetPtr,\n _BinaryenSIMDLoadStoreLaneGetVec,\n _BinaryenSIMDLoadStoreLaneSetPtr,\n _BinaryenSIMDLoadStoreLaneSetVec,\n _BinaryenMemoryInitSetDest,\n _BinaryenMemoryInitSetOffset,\n _BinaryenMemoryInitSetSize,\n _BinaryenMemoryCopySetDest,\n _BinaryenMemoryCopySetSource,\n _BinaryenMemoryCopySetSize,\n _BinaryenMemoryFillSetDest,\n _BinaryenMemoryFillSetValue,\n _BinaryenMemoryFillSetSize,\n _BinaryenRefIsNullSetValue,\n _BinaryenTrySetBody,\n _BinaryenTrySetCatchBodyAt,\n _BinaryenThrowSetOperandAt,\n _BinaryenTupleMakeSetOperandAt,\n _BinaryenBlockGetName,\n _BinaryenLoopGetName,\n _BinaryenBreakGetName,\n _BinaryenSwitchGetDefaultName,\n _BinaryenSwitchGetNumNames,\n _BinaryenSwitchGetNameAt,\n _BinaryenCallGetTarget,\n _BinaryenLocalGetGetIndex,\n _BinaryenLocalSetGetIndex,\n _BinaryenGlobalGetGetName,\n _BinaryenGlobalSetGetName,\n _BinaryenAtomicNotifyGetNotifyCount,\n _BinaryenAtomicNotifySetNotifyCount,\n _BinaryenRefFuncGetFunc,\n _BinaryenThrowGetTag,\n _BinaryenTupleExtractGetTuple,\n _BinaryenTupleExtractSetTuple,\n _BinaryenRefEqGetLeft,\n _BinaryenRefEqGetRight,\n _BinaryenRefEqSetLeft,\n _BinaryenRefEqSetRight,\n _BinaryenFunctionSetBody,\n _BinaryenRefI31GetValue,\n _BinaryenI31GetGetI31,\n _BinaryenRefI31SetValue,\n _BinaryenI31GetSetI31,\n _BinaryenCallRefGetNumOperands,\n _BinaryenCallRefGetOperandAt,\n _BinaryenCallRefGetTarget,\n _BinaryenRefTestGetRef,\n _BinaryenRefCastGetRef,\n _BinaryenBrOnGetName,\n _BinaryenBrOnGetRef,\n _BinaryenStructNewGetNumOperands,\n _BinaryenStructNewGetOperandAt,\n _BinaryenStructGetGetRef,\n _BinaryenStructSetGetRef,\n _BinaryenStructSetGetValue,\n _BinaryenStructSetGetIndex,\n _BinaryenStructGetGetIndex,\n _BinaryenArrayNewGetSize,\n _BinaryenArrayNewGetInit,\n _BinaryenArrayNewFixedGetNumValues,\n _BinaryenArrayNewFixedGetValueAt,\n _BinaryenArrayGetGetRef,\n _BinaryenArrayGetGetIndex,\n _BinaryenArraySetGetRef,\n _BinaryenArraySetGetIndex,\n _BinaryenArraySetGetValue,\n _BinaryenArrayLenGetRef,\n _BinaryenArrayCopyGetDestRef,\n _BinaryenArrayCopyGetDestIndex,\n _BinaryenArrayCopyGetSrcRef,\n _BinaryenArrayCopyGetSrcIndex,\n _BinaryenArrayCopyGetLength,\n _BinaryenStringNewGetPtr,\n _BinaryenStringNewGetLength,\n _BinaryenStringNewGetStart,\n _BinaryenStringNewGetEnd,\n _BinaryenStringMeasureGetRef,\n _BinaryenStringEncodeGetPtr,\n _BinaryenStringEncodeGetRef,\n _BinaryenStringEncodeGetStart,\n _BinaryenStringConcatGetLeft,\n _BinaryenStringConcatGetRight,\n _BinaryenStringEqGetLeft,\n _BinaryenStringEqGetRight,\n _BinaryenStringAsGetRef,\n _BinaryenStringWTF8AdvanceGetRef,\n _BinaryenStringWTF8AdvanceGetPos,\n _BinaryenStringWTF8AdvanceGetBytes,\n _BinaryenStringWTF16GetGetRef,\n _BinaryenStringWTF16GetGetPos,\n _BinaryenStringIterNextGetRef,\n _BinaryenStringIterMoveGetRef,\n _BinaryenStringIterMoveGetNum,\n _BinaryenStringSliceWTFGetRef,\n _BinaryenStringSliceWTFGetStart,\n _BinaryenStringSliceWTFGetEnd,\n _BinaryenStringSliceIterGetRef,\n _BinaryenStringSliceIterGetNum,\n _BinaryenCallRefSetOperandAt,\n _BinaryenCallRefSetTarget,\n _BinaryenRefTestSetRef,\n _BinaryenRefCastSetRef,\n _BinaryenBrOnSetRef,\n _BinaryenStructNewSetOperandAt,\n _BinaryenStructGetSetRef,\n _BinaryenStructSetSetRef,\n _BinaryenStructSetSetValue,\n _BinaryenArrayNewSetSize,\n _BinaryenArrayNewSetInit,\n _BinaryenArrayGetSetRef,\n _BinaryenArrayGetSetIndex,\n _BinaryenArraySetSetRef,\n _BinaryenArraySetSetIndex,\n _BinaryenArraySetSetValue,\n _BinaryenArrayLenSetRef,\n _BinaryenArrayCopySetDestRef,\n _BinaryenArrayCopySetDestIndex,\n _BinaryenArrayCopySetSrcRef,\n _BinaryenArrayCopySetSrcIndex,\n _BinaryenArrayCopySetLength,\n _BinaryenRefAsSetValue,\n _BinaryenStringNewSetPtr,\n _BinaryenStringNewSetLength,\n _BinaryenStringNewSetStart,\n _BinaryenStringNewSetEnd,\n _BinaryenStringMeasureSetRef,\n _BinaryenStringEncodeSetRef,\n _BinaryenStringEncodeSetPtr,\n _BinaryenStringEncodeSetStart,\n _BinaryenStringConcatSetLeft,\n _BinaryenStringConcatSetRight,\n _BinaryenStringEqSetLeft,\n _BinaryenStringEqSetRight,\n _BinaryenStringAsSetRef,\n _BinaryenStringWTF8AdvanceSetRef,\n _BinaryenStringWTF8AdvanceSetPos,\n _BinaryenStringWTF8AdvanceSetBytes,\n _BinaryenStringWTF16GetSetRef,\n _BinaryenStringWTF16GetSetPos,\n _BinaryenStringIterNextSetRef,\n _BinaryenStringIterMoveSetRef,\n _BinaryenStringIterMoveSetNum,\n _BinaryenStringSliceWTFSetRef,\n _BinaryenStringSliceWTFSetStart,\n _BinaryenStringSliceWTFSetEnd,\n _BinaryenStringSliceIterSetRef,\n _BinaryenStringSliceIterSetNum,\n _BinaryenArrayNewFixedSetValueAt\n} from \"../glue/binaryen\";\n\n/** Base class of custom Binaryen visitors. */\nexport abstract class Visitor {\n /** Expression stack. */\n private stack: ExpressionRef[] = new Array();\n\n /** Gets the current expression being walked. */\n get currentExpression(): ExpressionRef {\n let currentExpression = this._currentExpression;\n if (!currentExpression) throw new Error(\"not walking expressions\");\n return currentExpression;\n }\n _currentExpression: ExpressionRef = 0;\n\n /** Gets the parent expression of the current expression being walked. Returns zero if already the top-most expression. */\n get parentExpressionOrNull(): ExpressionRef {\n let stack = this.stack;\n let length = stack.length;\n return length ? stack[length - 1] : 0;\n }\n\n // Expressions\n\n visitBlock(expr: ExpressionRef): void {\n // unimp\n }\n\n visitIf(expr: ExpressionRef): void {\n // unimp\n }\n\n visitLoop(expr: ExpressionRef): void {\n // unimp\n }\n\n visitBreak(expr: ExpressionRef): void {\n // unimp\n }\n\n visitSwitch(expr: ExpressionRef): void {\n // unimp\n }\n\n visitCallPre(expr: ExpressionRef): void {\n // unimp\n }\n\n visitCall(expr: ExpressionRef): void {\n // unimp\n }\n\n visitCallIndirectPre(expr: ExpressionRef): void {\n // unimp\n }\n\n visitCallIndirect(expr: ExpressionRef): void {\n // unimp\n }\n\n visitLocalGet(expr: ExpressionRef): void {\n // unimp\n }\n\n visitLocalSet(expr: ExpressionRef): void {\n // unimp\n }\n\n visitGlobalGet(expr: ExpressionRef): void {\n // unimp\n }\n\n visitGlobalSet(expr: ExpressionRef): void {\n // unimp\n }\n\n visitLoad(expr: ExpressionRef): void {\n // unimp\n }\n\n visitStore(expr: ExpressionRef): void {\n // unimp\n }\n\n visitConst(expr: ExpressionRef): void {\n // unimp\n }\n\n visitUnary(expr: ExpressionRef): void {\n // unimp\n }\n\n visitBinary(expr: ExpressionRef): void {\n // unimp\n }\n\n visitSelect(expr: ExpressionRef): void {\n // unimp\n }\n\n visitDrop(expr: ExpressionRef): void {\n // unimp\n }\n\n visitReturn(expr: ExpressionRef): void {\n // unimp\n }\n\n visitMemorySize(expr: ExpressionRef): void {\n // unimp\n }\n\n visitMemoryGrow(expr: ExpressionRef): void {\n // unimp\n }\n\n visitNop(expr: ExpressionRef): void {\n // unimp\n }\n\n visitUnreachable(expr: ExpressionRef): void {\n // unimp\n }\n\n visitAtomicRMW(expr: ExpressionRef): void {\n // unimp\n }\n\n visitAtomicCmpxchg(expr: ExpressionRef): void {\n // unimp\n }\n\n visitAtomicWait(expr: ExpressionRef): void {\n // unimp\n }\n\n visitAtomicNotify(expr: ExpressionRef): void {\n // unimp\n }\n\n visitAtomicFence(expr: ExpressionRef): void {\n // unimp\n }\n\n visitSIMDExtract(expr: ExpressionRef): void {\n // unimp\n }\n\n visitSIMDReplace(expr: ExpressionRef): void {\n // unimp\n }\n\n visitSIMDShuffle(expr: ExpressionRef): void {\n // unimp\n }\n\n visitSIMDTernary(expr: ExpressionRef): void {\n // unimp\n }\n\n visitSIMDShift(expr: ExpressionRef): void {\n // unimp\n }\n\n visitSIMDLoad(expr: ExpressionRef): void {\n // unimp\n }\n\n visitSIMDLoadStoreLane(expr: ExpressionRef): void {\n // unimp\n }\n\n visitMemoryInit(expr: ExpressionRef): void {\n // unimp\n }\n\n visitDataDrop(expr: ExpressionRef): void {\n // unimp\n }\n\n visitMemoryCopy(expr: ExpressionRef): void {\n // unimp\n }\n\n visitMemoryFill(expr: ExpressionRef): void {\n // unimp\n }\n\n visitPop(expr: ExpressionRef): void {\n // unimp\n }\n\n visitRefNull(expr: ExpressionRef): void {\n // unimp\n }\n\n visitRefIsNull(expr: ExpressionRef): void {\n // unimp\n }\n\n visitRefFunc(expr: ExpressionRef): void {\n // unimp\n }\n\n visitRefEq(expr: ExpressionRef): void {\n // unimp\n }\n\n visitTry(expr: ExpressionRef): void {\n // unimp\n }\n\n visitThrow(expr: ExpressionRef): void {\n // unimp\n }\n\n visitRethrow(expr: ExpressionRef): void {\n // unimp\n }\n\n visitTupleMake(expr: ExpressionRef): void {\n // unimp\n }\n\n visitTupleExtract(expr: ExpressionRef): void {\n // unimp\n }\n\n visitRefI31(expr: ExpressionRef): void {\n // unimp\n }\n\n visitI31Get(expr: ExpressionRef): void {\n // unimp\n }\n\n visitCallRef(expr: ExpressionRef): void {\n // unimp\n }\n\n visitRefTest(expr: ExpressionRef): void {\n // unimp\n }\n\n visitRefCast(expr: ExpressionRef): void {\n // unimp\n }\n\n visitBrOn(expr: ExpressionRef): void {\n // unimp\n }\n\n visitStructNew(expr: ExpressionRef): void {\n // unimp\n }\n\n visitStructGet(expr: ExpressionRef): void {\n // unimp\n }\n\n visitStructSet(expr: ExpressionRef): void {\n // unimp\n }\n\n visitArrayNew(expr: ExpressionRef): void {\n // unimp\n }\n\n visitArrayNewFixed(expr: ExpressionRef): void {\n // unimp\n }\n\n visitArrayGet(expr: ExpressionRef): void {\n // unimp\n }\n\n visitArraySet(expr: ExpressionRef): void {\n // unimp\n }\n\n visitArrayLen(expr: ExpressionRef): void {\n // unimp\n }\n\n visitArrayCopy(expr: ExpressionRef): void {\n // unimp\n }\n\n visitRefAs(expr: ExpressionRef): void {\n // unimp\n }\n\n visitStringNew(expr: ExpressionRef): void {\n // unimp\n }\n\n visitStringConst(expr: ExpressionRef): void {\n // unimp\n }\n\n visitStringMeasure(expr: ExpressionRef): void {\n // unimp\n }\n\n visitStringEncode(expr: ExpressionRef): void {\n // unimp\n }\n\n visitStringConcat(expr: ExpressionRef): void {\n // unimp\n }\n\n visitStringEq(expr: ExpressionRef): void {\n // unimp\n }\n\n visitStringAs(expr: ExpressionRef): void {\n // unimp\n }\n\n visitStringWTF8Advance(expr: ExpressionRef): void {\n // unimp\n }\n\n visitStringWTF16Get(expr: ExpressionRef): void {\n // unimp\n }\n\n visitStringIterNext(expr: ExpressionRef): void {\n // unimp\n }\n\n visitStringIterMove(expr: ExpressionRef): void {\n // unimp\n }\n\n visitStringSliceWTF(expr: ExpressionRef): void {\n // unimp\n }\n\n visitStringSliceIter(expr: ExpressionRef): void {\n // unimp\n }\n\n // Immediates\n\n visitName(name: StringRef): void {\n // unimp\n }\n\n visitLabel(name: StringRef): void {\n // unimp\n }\n\n visitIndex(index: Index): void {\n // unimp\n }\n\n visitTag(name: StringRef): void {\n // unimp\n }\n\n // Delegate\n\n /** Visits any expression, delegating to the respective visitor methods. */\n visit(expr: ExpressionRef): void {\n let previousExpression = this._currentExpression;\n this._currentExpression = assert(expr);\n switch (_BinaryenExpressionGetId(expr)) {\n case ExpressionId.Block: {\n this.stack.push(expr);\n let name = _BinaryenBlockGetName(expr);\n if (name) this.visitLabel(name);\n for (let i: Index = 0, n = _BinaryenBlockGetNumChildren(expr); i < n; ++i) {\n this.visit(_BinaryenBlockGetChildAt(expr, i));\n }\n assert(this.stack.pop() == expr);\n this.visitBlock(expr);\n break;\n }\n case ExpressionId.If: {\n this.stack.push(expr);\n this.visit(_BinaryenIfGetCondition(expr));\n this.visit(_BinaryenIfGetIfTrue(expr));\n let ifFalse = _BinaryenIfGetIfFalse(expr);\n if (ifFalse) this.visit(ifFalse);\n assert(this.stack.pop() == expr);\n this.visitIf(expr);\n break;\n }\n case ExpressionId.Loop: {\n this.stack.push(expr);\n let name = _BinaryenLoopGetName(expr);\n if (name) this.visitLabel(name);\n this.visit(_BinaryenLoopGetBody(expr));\n assert(this.stack.pop() == expr);\n this.visitLoop(expr);\n break;\n }\n case ExpressionId.Break: {\n this.stack.push(expr);\n this.visitLabel(_BinaryenBreakGetName(expr));\n let condition = _BinaryenBreakGetCondition(expr);\n if (condition) this.visit(condition);\n let value = _BinaryenBreakGetValue(expr);\n if (value) this.visit(value);\n assert(this.stack.pop() == expr);\n this.visitBreak(expr);\n break;\n }\n case ExpressionId.Switch: {\n this.stack.push(expr);\n let defaultName = _BinaryenSwitchGetDefaultName(expr);\n if (defaultName) this.visitLabel(defaultName);\n let numNames = _BinaryenSwitchGetNumNames(expr);\n for (let i: Index = 0; i < numNames; ++i) {\n this.visitLabel(_BinaryenSwitchGetNameAt(expr, i));\n }\n this.visit(_BinaryenSwitchGetCondition(expr));\n let value = _BinaryenSwitchGetValue(expr);\n if (value) this.visit(value);\n assert(this.stack.pop() == expr);\n this.visitSwitch(expr);\n break;\n }\n case ExpressionId.Call: {\n this.visitCallPre(expr);\n this.stack.push(expr);\n this.visitName(_BinaryenCallGetTarget(expr));\n let numOperands = _BinaryenCallGetNumOperands(expr);\n for (let i: Index = 0; i < numOperands; ++i) {\n this.visit(_BinaryenCallGetOperandAt(expr, i));\n }\n assert(this.stack.pop() == expr);\n this.visitCall(expr);\n break;\n }\n case ExpressionId.CallIndirect: {\n this.visitCallIndirectPre(expr);\n this.stack.push(expr);\n this.visit(_BinaryenCallIndirectGetTarget(expr));\n for (let i: Index = 0, k = _BinaryenCallIndirectGetNumOperands(expr); i < k; ++i) {\n this.visit(_BinaryenCallIndirectGetOperandAt(expr, i));\n }\n assert(this.stack.pop() == expr);\n this.visitCallIndirect(expr);\n break;\n }\n case ExpressionId.LocalGet: {\n this.stack.push(expr);\n this.visitIndex(_BinaryenLocalGetGetIndex(expr));\n assert(this.stack.pop() == expr);\n this.visitLocalGet(expr);\n break;\n }\n case ExpressionId.LocalSet: {\n this.stack.push(expr);\n this.visitIndex(_BinaryenLocalSetGetIndex(expr));\n this.visit(_BinaryenLocalSetGetValue(expr));\n assert(this.stack.pop() == expr);\n this.visitLocalSet(expr);\n break;\n }\n case ExpressionId.GlobalGet: {\n this.stack.push(expr);\n this.visitName(_BinaryenGlobalGetGetName(expr));\n assert(this.stack.pop() == expr);\n this.visitGlobalGet(expr);\n break;\n }\n case ExpressionId.GlobalSet: {\n this.stack.push(expr);\n this.visitName(_BinaryenGlobalSetGetName(expr));\n this.visit(_BinaryenGlobalSetGetValue(expr));\n assert(this.stack.pop() == expr);\n this.visitGlobalSet(expr);\n break;\n }\n case ExpressionId.Load: {\n this.stack.push(expr);\n this.visit(_BinaryenLoadGetPtr(expr));\n assert(this.stack.pop() == expr);\n this.visitLoad(expr);\n break;\n }\n case ExpressionId.Store: {\n this.stack.push(expr);\n this.visit(_BinaryenStoreGetPtr(expr));\n this.visit(_BinaryenStoreGetValue(expr));\n assert(this.stack.pop() == expr);\n this.visitStore(expr);\n break;\n }\n case ExpressionId.Const: {\n this.visitConst(expr);\n break;\n }\n case ExpressionId.Unary: {\n this.stack.push(expr);\n this.visit(_BinaryenUnaryGetValue(expr));\n assert(this.stack.pop() == expr);\n this.visitUnary(expr);\n break;\n }\n case ExpressionId.Binary: {\n this.stack.push(expr);\n this.visit(_BinaryenBinaryGetLeft(expr));\n this.visit(_BinaryenBinaryGetRight(expr));\n assert(this.stack.pop() == expr);\n this.visitBinary(expr);\n break;\n }\n case ExpressionId.Select: {\n this.stack.push(expr);\n this.visit(_BinaryenSelectGetIfTrue(expr));\n this.visit(_BinaryenSelectGetIfFalse(expr));\n this.visit(_BinaryenSelectGetCondition(expr));\n assert(this.stack.pop() == expr);\n this.visitSelect(expr);\n break;\n }\n case ExpressionId.Drop: {\n this.stack.push(expr);\n this.visit(_BinaryenDropGetValue(expr));\n assert(this.stack.pop() == expr);\n this.visitDrop(expr);\n break;\n }\n case ExpressionId.Return: {\n let value = _BinaryenReturnGetValue(expr);\n if (value) {\n this.stack.push(expr);\n this.visit(value);\n assert(this.stack.pop() == expr);\n }\n this.visitReturn(expr);\n break;\n }\n case ExpressionId.MemorySize: {\n this.visitMemorySize(expr);\n break;\n }\n case ExpressionId.MemoryGrow: {\n this.stack.push(expr);\n this.visit(_BinaryenMemoryGrowGetDelta(expr));\n assert(this.stack.pop() == expr);\n this.visitMemoryGrow(expr);\n break;\n }\n case ExpressionId.Nop: {\n this.visitNop(expr);\n break;\n }\n case ExpressionId.Unreachable: {\n this.visitUnreachable(expr);\n break;\n }\n case ExpressionId.AtomicRMW: {\n this.stack.push(expr);\n this.visit(_BinaryenAtomicRMWGetPtr(expr));\n this.visit(_BinaryenAtomicRMWGetValue(expr));\n assert(this.stack.pop() == expr);\n this.visitAtomicRMW(expr);\n break;\n }\n case ExpressionId.AtomicCmpxchg: {\n this.stack.push(expr);\n this.visit(_BinaryenAtomicCmpxchgGetPtr(expr));\n this.visit(_BinaryenAtomicCmpxchgGetExpected(expr));\n this.visit(_BinaryenAtomicCmpxchgGetReplacement(expr));\n assert(this.stack.pop() == expr);\n this.visitAtomicCmpxchg(expr);\n break;\n }\n case ExpressionId.AtomicWait: {\n this.stack.push(expr);\n this.visit(_BinaryenAtomicWaitGetPtr(expr));\n this.visit(_BinaryenAtomicWaitGetExpected(expr));\n this.visit(_BinaryenAtomicWaitGetTimeout(expr));\n assert(this.stack.pop() == expr);\n this.visitAtomicWait(expr);\n break;\n }\n case ExpressionId.AtomicNotify: {\n this.stack.push(expr);\n this.visit(_BinaryenAtomicNotifyGetPtr(expr));\n this.visit(_BinaryenAtomicNotifyGetNotifyCount(expr));\n assert(this.stack.pop() == expr);\n this.visitAtomicNotify(expr);\n break;\n }\n case ExpressionId.AtomicFence: {\n this.visitAtomicFence(expr);\n break;\n }\n case ExpressionId.SIMDExtract: {\n this.stack.push(expr);\n this.visit(_BinaryenSIMDExtractGetVec(expr));\n assert(this.stack.pop() == expr);\n this.visitSIMDExtract(expr);\n break;\n }\n case ExpressionId.SIMDReplace: {\n this.stack.push(expr);\n this.visit(_BinaryenSIMDReplaceGetVec(expr));\n this.visit(_BinaryenSIMDReplaceGetValue(expr));\n assert(this.stack.pop() == expr);\n this.visitSIMDReplace(expr);\n break;\n }\n case ExpressionId.SIMDShuffle: {\n this.stack.push(expr);\n this.visit(_BinaryenSIMDShuffleGetLeft(expr));\n this.visit(_BinaryenSIMDShuffleGetRight(expr));\n assert(this.stack.pop() == expr);\n this.visitSIMDShuffle(expr);\n break;\n }\n case ExpressionId.SIMDTernary: {\n this.stack.push(expr);\n this.visit(_BinaryenSIMDTernaryGetA(expr));\n this.visit(_BinaryenSIMDTernaryGetB(expr));\n this.visit(_BinaryenSIMDTernaryGetC(expr));\n assert(this.stack.pop() == expr);\n this.visitSIMDTernary(expr);\n break;\n }\n case ExpressionId.SIMDShift: {\n this.stack.push(expr);\n this.visit(_BinaryenSIMDShiftGetVec(expr));\n this.visit(_BinaryenSIMDShiftGetShift(expr));\n assert(this.stack.pop() == expr);\n this.visitSIMDShift(expr);\n break;\n }\n case ExpressionId.SIMDLoad: {\n this.stack.push(expr);\n this.visit(_BinaryenSIMDLoadGetPtr(expr));\n assert(this.stack.pop() == expr);\n this.visitSIMDLoad(expr);\n break;\n }\n case ExpressionId.SIMDLoadStoreLane: {\n this.stack.push(expr);\n this.visit(_BinaryenSIMDLoadStoreLaneGetPtr(expr));\n this.visit(_BinaryenSIMDLoadStoreLaneGetVec(expr));\n assert(this.stack.pop() == expr);\n this.visitSIMDLoadStoreLane(expr);\n break;\n }\n case ExpressionId.MemoryInit: {\n this.stack.push(expr);\n this.visit(_BinaryenMemoryInitGetDest(expr));\n this.visit(_BinaryenMemoryInitGetOffset(expr));\n this.visit(_BinaryenMemoryInitGetSize(expr));\n assert(this.stack.pop() == expr);\n this.visitMemoryInit(expr);\n break;\n }\n case ExpressionId.DataDrop: {\n this.visitDataDrop(expr);\n break;\n }\n case ExpressionId.MemoryCopy: {\n this.stack.push(expr);\n this.visit(_BinaryenMemoryCopyGetDest(expr));\n this.visit(_BinaryenMemoryCopyGetSource(expr));\n this.visit(_BinaryenMemoryCopyGetSize(expr));\n assert(this.stack.pop() == expr);\n this.visitMemoryCopy(expr);\n break;\n }\n case ExpressionId.MemoryFill: {\n this.stack.push(expr);\n this.visit(_BinaryenMemoryFillGetDest(expr));\n this.visit(_BinaryenMemoryFillGetValue(expr));\n this.visit(_BinaryenMemoryFillGetSize(expr));\n assert(this.stack.pop() == expr);\n this.visitMemoryFill(expr);\n break;\n }\n case ExpressionId.Pop: {\n this.visitPop(expr);\n break;\n }\n case ExpressionId.RefNull: {\n this.visitRefNull(expr);\n break;\n }\n case ExpressionId.RefIsNull: {\n this.stack.push(expr);\n this.visit(_BinaryenRefIsNullGetValue(expr));\n assert(this.stack.pop() == expr);\n this.visitRefIsNull(expr);\n break;\n }\n case ExpressionId.RefFunc: {\n this.stack.push(expr);\n this.visitName(_BinaryenRefFuncGetFunc(expr));\n assert(this.stack.pop() == expr);\n this.visitRefFunc(expr);\n break;\n }\n case ExpressionId.RefEq: {\n this.stack.push(expr);\n this.visit(_BinaryenRefEqGetLeft(expr));\n this.visit(_BinaryenRefEqGetRight(expr));\n assert(this.stack.pop() == expr);\n this.visitRefEq(expr);\n break;\n }\n case ExpressionId.Try: {\n this.stack.push(expr);\n this.visit(_BinaryenTryGetBody(expr));\n let numCatchBodies = _BinaryenTryGetNumCatchBodies(expr);\n for (let i: Index = 0; i < numCatchBodies; ++i) {\n this.visit(_BinaryenTryGetCatchBodyAt(expr, i));\n }\n assert(this.stack.pop() == expr);\n this.visitTry(expr);\n break;\n }\n case ExpressionId.Throw: {\n this.stack.push(expr);\n this.visitTag(_BinaryenThrowGetTag(expr));\n let numOperands = _BinaryenThrowGetNumOperands(expr);\n for (let i: Index = 0; i < numOperands; ++i) {\n this.visit(_BinaryenThrowGetOperandAt(expr, i));\n }\n assert(this.stack.pop() == expr);\n this.visitThrow(expr);\n break;\n }\n case ExpressionId.Rethrow: {\n this.visitRethrow(expr);\n break;\n }\n case ExpressionId.TupleMake: {\n let numOperands = _BinaryenTupleMakeGetNumOperands(expr);\n if (numOperands) {\n this.stack.push(expr);\n for (let i: Index = 0; i < numOperands; ++i) {\n this.visit(_BinaryenTupleMakeGetOperandAt(expr, i));\n }\n assert(this.stack.pop() == expr);\n }\n this.visitTupleMake(expr);\n break;\n }\n case ExpressionId.TupleExtract: {\n this.stack.push(expr);\n this.visit(_BinaryenTupleExtractGetTuple(expr));\n assert(this.stack.pop() == expr);\n this.visitTupleExtract(expr);\n break;\n }\n case ExpressionId.RefI31: {\n this.stack.push(expr);\n this.visit(_BinaryenRefI31GetValue(expr));\n assert(this.stack.pop() == expr);\n this.visitRefI31(expr);\n break;\n }\n case ExpressionId.I31Get: {\n this.stack.push(expr);\n this.visit(_BinaryenI31GetGetI31(expr));\n assert(this.stack.pop() == expr);\n this.visitI31Get(expr);\n break;\n }\n case ExpressionId.CallRef: {\n this.stack.push(expr);\n let numOperands = _BinaryenCallRefGetNumOperands(expr);\n if (numOperands) {\n for (let i: Index = 0; i < numOperands; ++i) {\n this.visit(_BinaryenCallRefGetOperandAt(expr, i));\n }\n }\n this.visit(_BinaryenCallRefGetTarget(expr));\n assert(this.stack.pop() == expr);\n this.visitCallRef(expr);\n break;\n }\n case ExpressionId.RefTest: {\n this.stack.push(expr);\n this.visit(_BinaryenRefTestGetRef(expr));\n assert(this.stack.pop() == expr);\n this.visitRefTest(expr);\n break;\n }\n case ExpressionId.RefCast: {\n this.stack.push(expr);\n this.visit(_BinaryenRefCastGetRef(expr));\n assert(this.stack.pop() == expr);\n this.visitRefCast(expr);\n break;\n }\n case ExpressionId.BrOn: {\n this.stack.push(expr);\n this.visitLabel(_BinaryenBrOnGetName(expr));\n this.visit(_BinaryenBrOnGetRef(expr));\n assert(this.stack.pop() == expr);\n this.visitBrOn(expr);\n break;\n }\n case ExpressionId.StructNew: {\n let numOperands = _BinaryenStructNewGetNumOperands(expr);\n if (numOperands) {\n this.stack.push(expr);\n for (let i: Index = 0; i < numOperands; ++i) {\n this.visit(_BinaryenStructNewGetOperandAt(expr, i));\n }\n assert(this.stack.pop() == expr);\n }\n this.visitStructNew(expr);\n break;\n }\n case ExpressionId.StructGet: {\n this.stack.push(expr);\n this.visit(_BinaryenStructGetGetRef(expr));\n this.visitIndex(_BinaryenStructGetGetIndex(expr));\n assert(this.stack.pop() == expr);\n this.visitStructGet(expr);\n break;\n }\n case ExpressionId.StructSet: {\n this.stack.push(expr);\n this.visit(_BinaryenStructSetGetRef(expr));\n this.visitIndex(_BinaryenStructSetGetIndex(expr));\n this.visit(_BinaryenStructSetGetValue(expr));\n assert(this.stack.pop() == expr);\n this.visitStructSet(expr);\n break;\n }\n case ExpressionId.ArrayNew: {\n this.stack.push(expr);\n this.visit(_BinaryenArrayNewGetSize(expr));\n let init = _BinaryenArrayNewGetInit(expr);\n if (init) this.visit(init);\n assert(this.stack.pop() == expr);\n this.visitArrayNew(expr);\n break;\n }\n case ExpressionId.ArrayNewFixed: {\n let numValues = _BinaryenArrayNewFixedGetNumValues(expr);\n if (numValues) {\n this.stack.push(expr);\n for (let i: Index = 0; i < numValues; ++i) {\n this.visit(_BinaryenArrayNewFixedGetValueAt(expr, i));\n }\n assert(this.stack.pop() == expr);\n }\n this.visitArrayNewFixed(expr);\n break;\n }\n case ExpressionId.ArrayGet: {\n this.stack.push(expr);\n this.visit(_BinaryenArrayGetGetRef(expr));\n this.visit(_BinaryenArrayGetGetIndex(expr));\n assert(this.stack.pop() == expr);\n this.visitArrayGet(expr);\n break;\n }\n case ExpressionId.ArraySet: {\n this.stack.push(expr);\n this.visit(_BinaryenArraySetGetRef(expr));\n this.visit(_BinaryenArraySetGetIndex(expr));\n this.visit(_BinaryenArraySetGetValue(expr));\n assert(this.stack.pop() == expr);\n this.visitArraySet(expr);\n break;\n }\n case ExpressionId.ArrayLen: {\n this.stack.push(expr);\n this.visit(_BinaryenArrayLenGetRef(expr));\n assert(this.stack.pop() == expr);\n this.visitArrayLen(expr);\n break;\n }\n case ExpressionId.ArrayCopy: {\n this.stack.push(expr);\n this.visit(_BinaryenArrayCopyGetDestRef(expr));\n this.visit(_BinaryenArrayCopyGetDestIndex(expr));\n this.visit(_BinaryenArrayCopyGetSrcRef(expr));\n this.visit(_BinaryenArrayCopyGetSrcIndex(expr));\n this.visit(_BinaryenArrayCopyGetLength(expr));\n assert(this.stack.pop() == expr);\n this.visitArrayCopy(expr);\n break;\n }\n case ExpressionId.RefAs: {\n this.stack.push(expr);\n this.visit(_BinaryenRefAsGetValue(expr));\n assert(this.stack.pop() == expr);\n this.visitRefAs(expr);\n break;\n }\n case ExpressionId.StringNew: {\n this.stack.push(expr);\n this.visit(_BinaryenStringNewGetPtr(expr));\n let length = _BinaryenStringNewGetLength(expr); // LM only\n if (length) this.visit(length);\n let start = _BinaryenStringNewGetStart(expr); // GC only\n if (start) this.visit(start);\n let end = _BinaryenStringNewGetEnd(expr); // GC only\n if (end) this.visit(end);\n assert(this.stack.pop() == expr);\n this.visitStringNew(expr);\n break;\n }\n case ExpressionId.StringConst: {\n this.stack.push(expr);\n assert(this.stack.pop() == expr);\n this.visitStringConst(expr);\n break;\n }\n case ExpressionId.StringMeasure: {\n this.stack.push(expr);\n this.visit(_BinaryenStringMeasureGetRef(expr));\n assert(this.stack.pop() == expr);\n this.visitStringMeasure(expr);\n break;\n }\n case ExpressionId.StringEncode: {\n this.stack.push(expr);\n this.visit(_BinaryenStringEncodeGetRef(expr));\n this.visit(_BinaryenStringEncodeGetPtr(expr));\n let start = _BinaryenStringEncodeGetStart(expr); // GC only\n if (start) this.visit(start);\n assert(this.stack.pop() == expr);\n this.visitStringEncode(expr);\n break;\n }\n case ExpressionId.StringConcat: {\n this.stack.push(expr);\n this.visit(_BinaryenStringConcatGetLeft(expr));\n this.visit(_BinaryenStringConcatGetRight(expr));\n assert(this.stack.pop() == expr);\n this.visitStringConcat(expr);\n break;\n }\n case ExpressionId.StringEq: {\n this.stack.push(expr);\n this.visit(_BinaryenStringEqGetLeft(expr));\n this.visit(_BinaryenStringEqGetRight(expr));\n assert(this.stack.pop() == expr);\n this.visitStringEq(expr);\n break;\n }\n case ExpressionId.StringAs: {\n this.stack.push(expr);\n this.visit(_BinaryenStringAsGetRef(expr));\n assert(this.stack.pop() == expr);\n this.visitStringAs(expr);\n break;\n }\n case ExpressionId.StringWTF8Advance: {\n this.stack.push(expr);\n this.visit(_BinaryenStringWTF8AdvanceGetRef(expr));\n this.visit(_BinaryenStringWTF8AdvanceGetPos(expr));\n this.visit(_BinaryenStringWTF8AdvanceGetBytes(expr));\n assert(this.stack.pop() == expr);\n this.visitStringWTF8Advance(expr);\n break;\n }\n case ExpressionId.StringWTF16Get: {\n this.stack.push(expr);\n this.visit(_BinaryenStringWTF16GetGetRef(expr));\n this.visit(_BinaryenStringWTF16GetGetPos(expr));\n assert(this.stack.pop() == expr);\n this.visitStringWTF16Get(expr);\n break;\n }\n case ExpressionId.StringIterNext: {\n this.stack.push(expr);\n this.visit(_BinaryenStringIterNextGetRef(expr));\n assert(this.stack.pop() == expr);\n this.visitStringIterNext(expr);\n break;\n }\n case ExpressionId.StringIterMove: {\n this.stack.push(expr);\n this.visit(_BinaryenStringIterMoveGetRef(expr));\n this.visit(_BinaryenStringIterMoveGetNum(expr));\n assert(this.stack.pop() == expr);\n this.visitStringIterMove(expr);\n break;\n }\n case ExpressionId.StringSliceWTF: {\n this.stack.push(expr);\n this.visit(_BinaryenStringSliceWTFGetRef(expr));\n this.visit(_BinaryenStringSliceWTFGetStart(expr));\n this.visit(_BinaryenStringSliceWTFGetEnd(expr));\n assert(this.stack.pop() == expr);\n this.visitStringSliceWTF(expr);\n break;\n }\n case ExpressionId.StringSliceIter: {\n this.stack.push(expr);\n this.visit(_BinaryenStringSliceIterGetRef(expr));\n this.visit(_BinaryenStringSliceIterGetNum(expr));\n assert(this.stack.pop() == expr);\n this.visitStringSliceIter(expr);\n break;\n }\n default: throw new Error(\"unexpected expression kind\");\n }\n this._currentExpression = previousExpression;\n }\n}\n\n/** Base class of custom Binaryen passes. */\nexport abstract class Pass extends Visitor {\n\n /** Gets the current function being walked. */\n get currentFunction(): FunctionRef {\n let currentFunction = this._currentFunction;\n if (!currentFunction) throw new Error(\"not walking a function\");\n return currentFunction;\n }\n private _currentFunction: FunctionRef = 0;\n\n /** Gets the current global being walked. */\n get currentGlobal(): GlobalRef {\n let currentGlobal = this._currentGlobal;\n if (!currentGlobal) throw new Error(\"not walking a global\");\n return currentGlobal;\n }\n private _currentGlobal: GlobalRef = 0;\n\n /** Constructs a new Binaryen pass. */\n constructor(readonly module: Module) {\n super();\n }\n\n // Walking\n\n /** Walks the entire module. */\n walkModule(): void {\n this.walkFunctions();\n this.walkGlobals();\n }\n\n /** Walks all functions. */\n walkFunctions(): void {\n let moduleRef = this.module.ref;\n for (let i: Index = 0, k = _BinaryenGetNumFunctions(moduleRef); i < k; ++i) {\n this.walkFunction(_BinaryenGetFunctionByIndex(moduleRef, i));\n }\n }\n\n /** Walks a specific function. */\n walkFunction(func: FunctionRef): void {\n let body = _BinaryenFunctionGetBody(func);\n if (body) {\n this._currentFunction = func;\n this.visit(body);\n this._currentFunction = 0;\n }\n }\n\n /** Walks all global variables. */\n walkGlobals(): void {\n let moduleRef = this.module.ref;\n for (let i: Index = 0, k = _BinaryenGetNumGlobals(moduleRef); i < k; ++i) {\n this.walkGlobal(_BinaryenGetGlobalByIndex(moduleRef, i));\n }\n }\n\n /** Walks a specific global variable. */\n walkGlobal(global: GlobalRef): void {\n this._currentGlobal = global;\n let init = _BinaryenGlobalGetInitExpr(global);\n if (init) this.visit(init);\n this._currentGlobal = 0;\n }\n\n // Utility\n\n /** Replaces the current expression with the specified replacement. */\n replaceCurrent(replacement: ExpressionRef): void {\n let search = this.currentExpression;\n let func = this.currentFunction;\n let body = _BinaryenFunctionGetBody(func);\n if (body == search) {\n _BinaryenFunctionSetBody(func, replacement);\n } else {\n let parent = assert(this.parentExpressionOrNull);\n let replaced = replaceChild(parent, search, replacement);\n if (!replaced) throw Error(\"failed to replace expression\");\n _BinaryenExpressionFinalize(parent);\n }\n }\n}\n\n/** Replaces an expression within a parent expression. Returns the replaced expression on success, otherwise `0`. */\nexport function replaceChild(\n /** Parent expression containing `search`. */\n parent: ExpressionRef,\n /** Expression to replace. */\n search: ExpressionRef,\n /** Expression to replace `search` with. */\n replacement: ExpressionRef\n): ExpressionRef {\n switch (_BinaryenExpressionGetId(parent)) {\n case ExpressionId.Block: {\n let numChildren = _BinaryenBlockGetNumChildren(parent);\n for (let i: Index = 0; i < numChildren; ++i) {\n let child = _BinaryenBlockGetChildAt(parent, i);\n if (child == search) {\n _BinaryenBlockSetChildAt(parent, i, replacement);\n return child;\n }\n }\n break;\n }\n case ExpressionId.If: {\n let condition = _BinaryenIfGetCondition(parent);\n if (condition == search) {\n _BinaryenIfSetCondition(parent, replacement);\n return condition;\n }\n let ifTrue = _BinaryenIfGetIfTrue(parent);\n if (ifTrue == search) {\n _BinaryenIfSetIfTrue(parent, replacement);\n return ifTrue;\n }\n let ifFalse = _BinaryenIfGetIfFalse(parent);\n if (ifFalse == search) {\n _BinaryenIfSetIfFalse(parent, replacement);\n return ifFalse;\n }\n break;\n }\n case ExpressionId.Loop: {\n let body = _BinaryenLoopGetBody(parent);\n if (body == search) {\n _BinaryenLoopSetBody(parent, replacement);\n return body;\n }\n break;\n }\n case ExpressionId.Break: {\n let condition = _BinaryenBreakGetCondition(parent);\n if (condition == search) {\n _BinaryenBreakSetCondition(parent, replacement);\n return condition;\n }\n let value = _BinaryenBreakGetValue(parent);\n if (value == search) {\n _BinaryenBreakSetValue(parent, replacement);\n return value;\n }\n break;\n }\n case ExpressionId.Switch: {\n let condition = _BinaryenSwitchGetCondition(parent);\n if (condition == search) {\n _BinaryenSwitchSetCondition(parent, replacement);\n return condition;\n }\n let value = _BinaryenSwitchGetValue(parent);\n if (value == search) {\n _BinaryenSwitchSetValue(parent, replacement);\n return value;\n }\n break;\n }\n case ExpressionId.Call: {\n let numOperands = _BinaryenCallGetNumOperands(parent);\n for (let i: Index = 0; i < numOperands; ++i) {\n let operand = _BinaryenCallGetOperandAt(parent, i);\n if (operand == search) {\n _BinaryenCallSetOperandAt(parent, i, replacement);\n return operand;\n }\n }\n break;\n }\n case ExpressionId.CallIndirect: {\n let target = _BinaryenCallIndirectGetTarget(parent);\n if (target == search) {\n _BinaryenCallIndirectSetTarget(parent, replacement);\n return target;\n }\n let numOperands = _BinaryenCallIndirectGetNumOperands(parent);\n for (let i: Index = 0; i < numOperands; ++i) {\n let operand = _BinaryenCallIndirectGetOperandAt(parent, i);\n if (operand == search) {\n _BinaryenCallIndirectSetOperandAt(parent, i, replacement);\n return operand;\n }\n }\n break;\n }\n case ExpressionId.LocalGet: {\n break;\n }\n case ExpressionId.LocalSet: {\n let value = _BinaryenLocalSetGetValue(parent);\n if (value == search) {\n _BinaryenLocalSetSetValue(parent, replacement);\n return value;\n }\n break;\n }\n case ExpressionId.GlobalGet: {\n break;\n }\n case ExpressionId.GlobalSet: {\n let value = _BinaryenGlobalSetGetValue(parent);\n if (value == search) {\n _BinaryenGlobalSetSetValue(parent, replacement);\n return value;\n }\n break;\n }\n case ExpressionId.Load: {\n let ptr = _BinaryenLoadGetPtr(parent);\n if (ptr == search) {\n _BinaryenLoadSetPtr(parent, replacement);\n return ptr;\n }\n break;\n }\n case ExpressionId.Store: {\n let ptr = _BinaryenStoreGetPtr(parent);\n if (ptr == search) {\n _BinaryenStoreSetPtr(parent, replacement);\n return ptr;\n }\n let value = _BinaryenStoreGetValue(parent);\n if (value == search) {\n _BinaryenStoreSetValue(parent, replacement);\n return value;\n }\n break;\n }\n case ExpressionId.Const: {\n break;\n }\n case ExpressionId.Unary: {\n let value = _BinaryenUnaryGetValue(parent);\n if (value == search) {\n _BinaryenUnarySetValue(parent, replacement);\n return value;\n }\n break;\n }\n case ExpressionId.Binary: {\n let left = _BinaryenBinaryGetLeft(parent);\n if (left == search) {\n _BinaryenBinarySetLeft(parent, replacement);\n return left;\n }\n let right = _BinaryenBinaryGetRight(parent);\n if (right == search) {\n _BinaryenBinarySetRight(parent, replacement);\n return right;\n }\n break;\n }\n case ExpressionId.Select: {\n let ifTrue = _BinaryenSelectGetIfTrue(parent);\n if (ifTrue == search) {\n _BinaryenSelectSetIfTrue(parent, replacement);\n return ifTrue;\n }\n let ifFalse = _BinaryenSelectGetIfFalse(parent);\n if (ifFalse == search) {\n _BinaryenSelectSetIfFalse(parent, replacement);\n return ifFalse;\n }\n let condition = _BinaryenSelectGetCondition(parent);\n if (condition == search) {\n _BinaryenSelectSetCondition(parent, replacement);\n return condition;\n }\n break;\n }\n case ExpressionId.Drop: {\n let value = _BinaryenDropGetValue(parent);\n if (value == search) {\n _BinaryenDropSetValue(parent, replacement);\n return value;\n }\n break;\n }\n case ExpressionId.Return: {\n let value = _BinaryenReturnGetValue(parent);\n if (value == search) {\n _BinaryenReturnSetValue(parent, replacement);\n return value;\n }\n break;\n }\n case ExpressionId.MemorySize: {\n break;\n }\n case ExpressionId.MemoryGrow: {\n let delta = _BinaryenMemoryGrowGetDelta(parent);\n if (delta == search) {\n _BinaryenMemoryGrowSetDelta(parent, replacement);\n return delta;\n }\n break;\n }\n case ExpressionId.Nop: {\n break;\n }\n case ExpressionId.Unreachable: {\n break;\n }\n case ExpressionId.AtomicRMW: {\n let ptr = _BinaryenAtomicRMWGetPtr(parent);\n if (ptr == search) {\n _BinaryenAtomicRMWSetPtr(parent, replacement);\n return ptr;\n }\n let value = _BinaryenAtomicRMWGetValue(parent);\n if (value == search) {\n _BinaryenAtomicRMWSetValue(parent, replacement);\n return value;\n }\n break;\n }\n case ExpressionId.AtomicCmpxchg: {\n let ptr = _BinaryenAtomicCmpxchgGetPtr(parent);\n if (ptr == search) {\n _BinaryenAtomicCmpxchgSetPtr(parent, replacement);\n return ptr;\n }\n let expected = _BinaryenAtomicCmpxchgGetExpected(parent);\n if (expected == search) {\n _BinaryenAtomicCmpxchgSetExpected(parent, replacement);\n return expected;\n }\n let repl = _BinaryenAtomicCmpxchgGetReplacement(parent);\n if (repl == search) {\n _BinaryenAtomicCmpxchgSetReplacement(parent, replacement);\n return repl;\n }\n break;\n }\n case ExpressionId.AtomicWait: {\n let ptr = _BinaryenAtomicWaitGetPtr(parent);\n if (ptr == search) {\n _BinaryenAtomicWaitSetPtr(parent, replacement);\n return ptr;\n }\n let expected = _BinaryenAtomicWaitGetExpected(parent);\n if (expected == search) {\n _BinaryenAtomicWaitSetExpected(parent, replacement);\n return expected;\n }\n let timeout = _BinaryenAtomicWaitGetTimeout(parent);\n if (timeout == search) {\n _BinaryenAtomicWaitSetTimeout(parent, replacement);\n return timeout;\n }\n break;\n }\n case ExpressionId.AtomicNotify: {\n let ptr = _BinaryenAtomicNotifyGetPtr(parent);\n if (ptr == search) {\n _BinaryenAtomicNotifySetPtr(parent, replacement);\n return ptr;\n }\n let notifyCount = _BinaryenAtomicNotifyGetNotifyCount(parent);\n if (notifyCount == search) {\n _BinaryenAtomicNotifySetNotifyCount(parent, replacement);\n return notifyCount;\n }\n break;\n }\n case ExpressionId.AtomicFence: {\n break;\n }\n case ExpressionId.SIMDExtract: {\n let vec = _BinaryenSIMDExtractGetVec(parent);\n if (vec == search) {\n _BinaryenSIMDExtractSetVec(parent, replacement);\n return vec;\n }\n break;\n }\n case ExpressionId.SIMDReplace: {\n let vec = _BinaryenSIMDReplaceGetVec(parent);\n if (vec == search) {\n _BinaryenSIMDReplaceSetVec(parent, replacement);\n return vec;\n }\n let value = _BinaryenSIMDReplaceGetValue(parent);\n if (value == search) {\n _BinaryenSIMDReplaceSetValue(parent, replacement);\n return value;\n }\n break;\n }\n case ExpressionId.SIMDShuffle: {\n let left = _BinaryenSIMDShuffleGetLeft(parent);\n if (left == search) {\n _BinaryenSIMDShuffleSetLeft(parent, replacement);\n return left;\n }\n let right = _BinaryenSIMDShuffleGetRight(parent);\n if (right == search) {\n _BinaryenSIMDShuffleSetRight(parent, replacement);\n return right;\n }\n break;\n }\n case ExpressionId.SIMDTernary: {\n let a = _BinaryenSIMDTernaryGetA(parent);\n if (a == search) {\n _BinaryenSIMDTernarySetA(parent, replacement);\n return a;\n }\n let b = _BinaryenSIMDTernaryGetB(parent);\n if (b == search) {\n _BinaryenSIMDTernarySetB(parent, replacement);\n return b;\n }\n let c = _BinaryenSIMDTernaryGetC(parent);\n if (c == search) {\n _BinaryenSIMDTernarySetC(parent, replacement);\n return c;\n }\n break;\n }\n case ExpressionId.SIMDShift: {\n let vec = _BinaryenSIMDShiftGetVec(parent);\n if (vec == search) {\n _BinaryenSIMDShiftSetVec(parent, replacement);\n return vec;\n }\n let shift = _BinaryenSIMDShiftGetShift(parent);\n if (shift == search) {\n _BinaryenSIMDShiftSetShift(parent, replacement);\n return shift;\n }\n break;\n }\n case ExpressionId.SIMDLoad: {\n let ptr = _BinaryenSIMDLoadGetPtr(parent);\n if (ptr == search) {\n _BinaryenSIMDLoadSetPtr(parent, replacement);\n return ptr;\n }\n break;\n }\n case ExpressionId.SIMDLoadStoreLane: {\n let ptr = _BinaryenSIMDLoadStoreLaneGetPtr(parent);\n if (ptr == search) {\n _BinaryenSIMDLoadStoreLaneSetPtr(parent, replacement);\n return ptr;\n }\n let vec = _BinaryenSIMDLoadStoreLaneGetVec(parent);\n if (vec == search) {\n _BinaryenSIMDLoadStoreLaneSetVec(parent, replacement);\n return ptr;\n }\n break;\n }\n case ExpressionId.MemoryInit: {\n let dest = _BinaryenMemoryInitGetDest(parent);\n if (dest == search) {\n _BinaryenMemoryInitSetDest(parent, replacement);\n return dest;\n }\n let offset = _BinaryenMemoryInitGetOffset(parent);\n if (offset == search) {\n _BinaryenMemoryInitSetOffset(parent, replacement);\n return offset;\n }\n let size = _BinaryenMemoryInitGetSize(parent);\n if (size == search) {\n _BinaryenMemoryInitSetSize(parent, replacement);\n return size;\n }\n break;\n }\n case ExpressionId.DataDrop: {\n break;\n }\n case ExpressionId.MemoryCopy: {\n let dest = _BinaryenMemoryCopyGetDest(parent);\n if (dest == search) {\n _BinaryenMemoryCopySetDest(parent, replacement);\n return dest;\n }\n let source = _BinaryenMemoryCopyGetSource(parent);\n if (source == search) {\n _BinaryenMemoryCopySetSource(parent, replacement);\n return source;\n }\n let size = _BinaryenMemoryCopyGetSize(parent);\n if (size == search) {\n _BinaryenMemoryCopySetSize(parent, replacement);\n return size;\n }\n break;\n }\n case ExpressionId.MemoryFill: {\n let dest = _BinaryenMemoryFillGetDest(parent);\n if (dest == search) {\n _BinaryenMemoryFillSetDest(parent, replacement);\n return dest;\n }\n let value = _BinaryenMemoryFillGetValue(parent);\n if (value == search) {\n _BinaryenMemoryFillSetValue(parent, replacement);\n return value;\n }\n let size = _BinaryenMemoryFillGetSize(parent);\n if (size == search) {\n _BinaryenMemoryFillSetSize(parent, replacement);\n return size;\n }\n break;\n }\n case ExpressionId.Pop: {\n break;\n }\n case ExpressionId.RefNull: {\n break;\n }\n case ExpressionId.RefIsNull: {\n let value = _BinaryenRefIsNullGetValue(parent);\n if (value == search) {\n _BinaryenRefIsNullSetValue(parent, replacement);\n return value;\n }\n break;\n }\n case ExpressionId.RefFunc: {\n break;\n }\n case ExpressionId.RefEq: {\n let left = _BinaryenRefEqGetLeft(parent);\n if (left == search) {\n _BinaryenRefEqSetLeft(parent, replacement);\n return left;\n }\n let right = _BinaryenRefEqGetRight(parent);\n if (right == search) {\n _BinaryenRefEqSetRight(parent, replacement);\n return right;\n }\n break;\n }\n case ExpressionId.Try: {\n let body = _BinaryenTryGetBody(parent);\n if (body == search) {\n _BinaryenTrySetBody(parent, replacement);\n return body;\n }\n let numCatchBodies = _BinaryenTryGetNumCatchBodies(parent);\n for (let i: Index = 0; i < numCatchBodies; ++i) {\n let catchBody = _BinaryenTryGetCatchBodyAt(parent, i);\n if (catchBody == search) {\n _BinaryenTrySetCatchBodyAt(parent, i, replacement);\n return catchBody;\n }\n }\n break;\n }\n case ExpressionId.Throw: {\n let numOperands = _BinaryenThrowGetNumOperands(parent);\n for (let i: Index = 0; i < numOperands; ++i) {\n let operand = _BinaryenThrowGetOperandAt(parent, i);\n if (operand == search) {\n _BinaryenThrowSetOperandAt(parent, i, replacement);\n return operand;\n }\n }\n break;\n }\n case ExpressionId.Rethrow: {\n break;\n }\n case ExpressionId.TupleMake: {\n let numOperands = _BinaryenTupleMakeGetNumOperands(parent);\n for (let i: Index = 0; i < numOperands; ++i) {\n let operand = _BinaryenTupleMakeGetOperandAt(parent, i);\n if (operand == search) {\n _BinaryenTupleMakeSetOperandAt(parent, i, replacement);\n return operand;\n }\n }\n break;\n }\n case ExpressionId.TupleExtract: {\n let tuple = _BinaryenTupleExtractGetTuple(parent);\n if (tuple == search) {\n _BinaryenTupleExtractSetTuple(parent, replacement);\n return tuple;\n }\n break;\n }\n case ExpressionId.RefI31: {\n let value = _BinaryenRefI31GetValue(parent);\n if (value == search) {\n _BinaryenRefI31SetValue(parent, replacement);\n return value;\n }\n break;\n }\n case ExpressionId.I31Get: {\n let i31Expr = _BinaryenI31GetGetI31(parent);\n if (i31Expr == search) {\n _BinaryenI31GetSetI31(parent, replacement);\n return i31Expr;\n }\n break;\n }\n case ExpressionId.CallRef: {\n let numOperands = _BinaryenCallRefGetNumOperands(parent);\n for (let i: Index = 0; i < numOperands; ++i) {\n let operand = _BinaryenCallRefGetOperandAt(parent, i);\n if (operand == search) {\n _BinaryenCallRefSetOperandAt(parent, i, replacement);\n return operand;\n }\n }\n let target = _BinaryenCallRefGetTarget(parent);\n if (target == search) {\n _BinaryenCallRefSetTarget(parent, replacement);\n return target;\n }\n break;\n }\n case ExpressionId.RefTest: {\n let ref = _BinaryenRefTestGetRef(parent);\n if (ref == search) {\n _BinaryenRefTestSetRef(parent, replacement);\n return ref;\n }\n break;\n }\n case ExpressionId.RefCast: {\n let ref = _BinaryenRefCastGetRef(parent);\n if (ref == search) {\n _BinaryenRefCastSetRef(parent, replacement);\n return ref;\n }\n break;\n }\n case ExpressionId.BrOn: {\n let ref = _BinaryenBrOnGetRef(parent);\n if (ref == search) {\n _BinaryenBrOnSetRef(parent, replacement);\n return ref;\n }\n break;\n }\n case ExpressionId.StructNew: {\n let numOperands = _BinaryenStructNewGetNumOperands(parent);\n for (let i: Index = 0; i < numOperands; ++i) {\n let operand = _BinaryenStructNewGetOperandAt(parent, i);\n if (operand == search) {\n _BinaryenStructNewSetOperandAt(parent, i, replacement);\n return operand;\n }\n }\n break;\n }\n case ExpressionId.StructGet: {\n let ref = _BinaryenStructGetGetRef(parent);\n if (ref == search) {\n _BinaryenStructGetSetRef(parent, replacement);\n return ref;\n }\n break;\n }\n case ExpressionId.StructSet: {\n let ref = _BinaryenStructSetGetRef(parent);\n if (ref == search) {\n _BinaryenStructSetSetRef(parent, replacement);\n return ref;\n }\n let value = _BinaryenStructSetGetValue(parent);\n if (value == search) {\n _BinaryenStructSetSetValue(parent, replacement);\n return value;\n }\n break;\n }\n case ExpressionId.ArrayNew: {\n let size = _BinaryenArrayNewGetSize(parent);\n if (size == search) {\n _BinaryenArrayNewSetSize(parent, replacement);\n return size;\n }\n let init = _BinaryenArrayNewGetInit(parent);\n if (init == search) {\n _BinaryenArrayNewSetInit(parent, replacement);\n return init;\n }\n break;\n }\n case ExpressionId.ArrayNewFixed: {\n let numValues = _BinaryenArrayNewFixedGetNumValues(parent);\n for (let i: Index = 0; i < numValues; ++i) {\n let value = _BinaryenArrayNewFixedGetValueAt(parent, i);\n if (value == search) {\n _BinaryenArrayNewFixedSetValueAt(parent, i, replacement);\n return value;\n }\n }\n break;\n }\n case ExpressionId.ArrayGet: {\n let ref = _BinaryenArrayGetGetRef(parent);\n if (ref == search) {\n _BinaryenArrayGetSetRef(parent, replacement);\n return ref;\n }\n let index = _BinaryenArrayGetGetIndex(parent);\n if (index == search) {\n _BinaryenArrayGetSetIndex(parent, replacement);\n return index;\n }\n break;\n }\n case ExpressionId.ArraySet: {\n let ref = _BinaryenArraySetGetRef(parent);\n if (ref == search) {\n _BinaryenArraySetSetRef(parent, replacement);\n return ref;\n }\n let index = _BinaryenArraySetGetIndex(parent);\n if (index == search) {\n _BinaryenArraySetSetIndex(parent, replacement);\n return index;\n }\n let value = _BinaryenArraySetGetValue(parent);\n if (value == search) {\n _BinaryenArraySetSetValue(parent, replacement);\n return value;\n }\n break;\n }\n case ExpressionId.ArrayLen: {\n let ref = _BinaryenArrayLenGetRef(parent);\n if (ref == search) {\n _BinaryenArrayLenSetRef(parent, replacement);\n return ref;\n }\n break;\n }\n case ExpressionId.ArrayCopy: {\n let destRef = _BinaryenArrayCopyGetDestRef(parent);\n if (destRef == search) {\n _BinaryenArrayCopySetDestRef(parent, replacement);\n return destRef;\n }\n let destIndex = _BinaryenArrayCopyGetDestIndex(parent);\n if (destIndex == search) {\n _BinaryenArrayCopySetDestIndex(parent, replacement);\n return destIndex;\n }\n let srcRef = _BinaryenArrayCopyGetSrcRef(parent);\n if (srcRef == search) {\n _BinaryenArrayCopySetSrcRef(parent, replacement);\n return srcRef;\n }\n let srcIndex = _BinaryenArrayCopyGetSrcIndex(parent);\n if (srcIndex == search) {\n _BinaryenArrayCopySetSrcIndex(parent, replacement);\n return srcIndex;\n }\n let length = _BinaryenArrayCopyGetLength(parent);\n if (length == search) {\n _BinaryenArrayCopySetLength(parent, replacement);\n return length;\n }\n break;\n }\n case ExpressionId.RefAs: {\n let value = _BinaryenRefAsGetValue(parent);\n if (value == search) {\n _BinaryenRefAsSetValue(parent, replacement);\n return value;\n }\n break;\n }\n case ExpressionId.StringNew: {\n let ptr = _BinaryenStringNewGetPtr(parent);\n if (ptr == search) {\n _BinaryenStringNewSetPtr(parent, replacement);\n return ptr;\n }\n let length = _BinaryenStringNewGetLength(parent);\n if (length == search) {\n _BinaryenStringNewSetLength(parent, replacement);\n return length;\n }\n let start = _BinaryenStringNewGetStart(parent);\n if (start == search) {\n _BinaryenStringNewSetStart(parent, replacement);\n return start;\n }\n let end = _BinaryenStringNewGetEnd(parent);\n if (end == search) {\n _BinaryenStringNewSetEnd(parent, replacement);\n return end;\n }\n break;\n }\n case ExpressionId.StringConst: {\n break;\n }\n case ExpressionId.StringMeasure: {\n let ref = _BinaryenStringMeasureGetRef(parent);\n if (ref == search) {\n _BinaryenStringMeasureSetRef(parent, replacement);\n return ref;\n }\n break;\n }\n case ExpressionId.StringEncode: {\n let ref = _BinaryenStringEncodeGetRef(parent);\n if (ref == search) {\n _BinaryenStringEncodeSetRef(parent, replacement);\n return ref;\n }\n let ptr = _BinaryenStringEncodeGetPtr(parent);\n if (ptr == search) {\n _BinaryenStringEncodeSetPtr(parent, replacement);\n return ptr;\n }\n let start = _BinaryenStringEncodeGetStart(parent);\n if (start == search) {\n _BinaryenStringEncodeSetStart(parent, replacement);\n return start;\n }\n break;\n }\n case ExpressionId.StringConcat: {\n let left = _BinaryenStringConcatGetLeft(parent);\n if (left == search) {\n _BinaryenStringConcatSetLeft(parent, replacement);\n return left;\n }\n let right = _BinaryenStringConcatGetRight(parent);\n if (right == search) {\n _BinaryenStringConcatSetRight(parent, replacement);\n return right;\n }\n break;\n }\n case ExpressionId.StringEq: {\n let left = _BinaryenStringEqGetLeft(parent);\n if (left == search) {\n _BinaryenStringEqSetLeft(parent, replacement);\n return left;\n }\n let right = _BinaryenStringEqGetRight(parent);\n if (right == search) {\n _BinaryenStringEqSetRight(parent, replacement);\n return right;\n }\n break;\n }\n case ExpressionId.StringAs: {\n let ref = _BinaryenStringAsGetRef(parent);\n if (ref == search) {\n _BinaryenStringAsSetRef(parent, replacement);\n return ref;\n }\n break;\n }\n case ExpressionId.StringWTF8Advance: {\n let ref = _BinaryenStringWTF8AdvanceGetRef(parent);\n if (ref == search) {\n _BinaryenStringWTF8AdvanceSetRef(parent, replacement);\n return ref;\n }\n let pos = _BinaryenStringWTF8AdvanceGetPos(parent);\n if (pos == search) {\n _BinaryenStringWTF8AdvanceSetPos(parent, replacement);\n return pos;\n }\n let bytes = _BinaryenStringWTF8AdvanceGetBytes(parent);\n if (bytes == search) {\n _BinaryenStringWTF8AdvanceSetBytes(parent, replacement);\n return bytes;\n }\n break;\n }\n case ExpressionId.StringWTF16Get: {\n let ref = _BinaryenStringWTF16GetGetRef(parent);\n if (ref == search) {\n _BinaryenStringWTF16GetSetRef(parent, replacement);\n return ref;\n }\n let pos = _BinaryenStringWTF16GetGetPos(parent);\n if (pos == search) {\n _BinaryenStringWTF16GetSetPos(parent, replacement);\n return pos;\n }\n break;\n }\n case ExpressionId.StringIterNext: {\n let ref = _BinaryenStringIterNextGetRef(parent);\n if (ref == search) {\n _BinaryenStringIterNextSetRef(parent, replacement);\n return ref;\n }\n break;\n }\n case ExpressionId.StringIterMove: {\n let ref = _BinaryenStringIterMoveGetRef(parent);\n if (ref == search) {\n _BinaryenStringIterMoveSetRef(parent, replacement);\n return ref;\n }\n let num = _BinaryenStringIterMoveGetNum(parent);\n if (num == search) {\n _BinaryenStringIterMoveSetNum(parent, replacement);\n return num;\n }\n break;\n }\n case ExpressionId.StringSliceWTF: {\n let ref = _BinaryenStringSliceWTFGetRef(parent);\n if (ref == search) {\n _BinaryenStringSliceWTFSetRef(parent, replacement);\n return ref;\n }\n let start = _BinaryenStringSliceWTFGetStart(parent);\n if (start == search) {\n _BinaryenStringSliceWTFSetStart(parent, replacement);\n return start;\n }\n let end = _BinaryenStringSliceWTFGetEnd(parent);\n if (end == search) {\n _BinaryenStringSliceWTFSetEnd(parent, replacement);\n return end;\n }\n break;\n }\n case ExpressionId.StringSliceIter: {\n let ref = _BinaryenStringSliceIterGetRef(parent);\n if (ref == search) {\n _BinaryenStringSliceIterSetRef(parent, replacement);\n return ref;\n }\n let num = _BinaryenStringSliceIterGetNum(parent);\n if (num == search) {\n _BinaryenStringSliceIterSetNum(parent, replacement);\n return num;\n }\n break;\n }\n default: throw new Error(\"unexpected expression id\");\n }\n return 0;\n}\n", "/**\n * @fileoverview A lightweight store instrumentation pass.\n * \n * Can be used to find rogue stores to protected memory addresses like object\n * headers or similar, without going overboard with instrumentation. Also\n * passes a flag whether a store originates within the runtime or other code.\n * \n * @license Apache-2.0\n */\n\nimport {\n Pass\n} from \"./pass\";\n\nimport {\n Compiler\n} from \"../compiler\";\n\nimport {\n createType,\n ExpressionRef,\n TypeRef\n} from \"../module\";\n\nimport {\n _BinaryenFunctionGetName,\n _BinaryenStoreGetBytes,\n _BinaryenStoreGetOffset,\n _BinaryenStoreGetPtr,\n _BinaryenStoreSetPtr\n} from \"../glue/binaryen\";\n\n/** Instruments stores to also call an import. */\nexport class RtraceMemory extends Pass {\n /** Whether we've seen any stores. */\n seenStores: bool = false;\n /** Target pointer type. */\n ptrType: TypeRef;\n\n constructor(compiler: Compiler) {\n super(compiler.module);\n this.ptrType = compiler.options.sizeTypeRef;\n }\n\n checkRT(): bool {\n let functionName = this.module.readStringCached(_BinaryenFunctionGetName(this.currentFunction))!;\n return functionName.startsWith(\"~lib/rt/\");\n }\n\n /** @override */\n visitStore(store: ExpressionRef): void {\n let module = this.module;\n let ptr = _BinaryenStoreGetPtr(store);\n let offset = _BinaryenStoreGetOffset(store);\n let bytes = _BinaryenStoreGetBytes(store);\n // onstore(ptr: usize, offset: i32, bytes: i32, isRT: bool) -> ptr\n _BinaryenStoreSetPtr(store,\n module.call(\"~onstore\", [\n ptr,\n module.i32(offset),\n module.i32(bytes),\n module.i32(i32(this.checkRT()))\n ], this.ptrType)\n );\n this.seenStores = true;\n }\n\n // TODO: MemoryFill, Atomics\n\n /** @override */\n walkModule(): void {\n super.walkModule();\n if (this.seenStores) {\n this.module.addFunctionImport(\"~onstore\", \"rtrace\", \"onstore\",\n createType([ this.ptrType, TypeRef.I32, TypeRef.I32, TypeRef.I32 ]),\n this.ptrType\n );\n }\n }\n}\n", "/**\n * @fileoverview Shadow stack instrumentation for a precise GC.\n *\n * Instruments function arguments and local assignments marked with a 'tostack'\n * call to also do stores to a shadow stack of managed values only.\n *\n * Consider a simple call to a function looking like the following, taking\n * managed arguments, plus assigning managed values to locals:\n *\n * function foo(a: Obj, b: Obj): Obj {\n * let c = __tostack(a) // slot 2\n * __collect()\n * return b\n * }\n *\n * foo(__tostack(a), __tostack(b)) // slot 0, 1\n *\n * At the call to `__collect()` the 32-bit stack frame of the function is:\n *\n * Offset | Value stored\n * -------|----------------------------\n * 0 | First managed argument 'a'\n * 4 | Second managed argument 'b'\n * -------|----------------------------\n * 8 | First managed local 'c'\n *\n * We are splitting the frame in two halves as annotated since both halves are\n * only known separately for indirect calls, with the first half becoming an\n * extension of the calling function's stack frame by means of treating the\n * arguments as if these were locals beyond the caller's `numLocals`. Function\n * arguments stay a bit longer on the stack than usually, but we also don't have\n * to modify the stack pointer pre-call at all this way. The caller's amended\n * stack frame when assuming one managed local may look like this:\n *\n * Offset | Value stored\n * -------|----------------------------\n * 0 | First managed local '?'\n * 4 | Extended with first managed argument 'a'\n * 8 | Extended with second managed argument 'b'\n *\n * with the callee's stack frame becoming just:\n *\n * Offset | Value stored\n * -------|----------------------------\n * 0 | First managed local 'c'\n *\n * Instrumentation added below looks about like the following, with the stack\n * growing downwards and 't' and 'r' being new temporary locals:\n *\n * // callee frameSize = 1 * sizeof()\n * function foo(a: usize, b: usize): usize {\n * memory.fill(__stack_pointer -= frameSize, 0, frameSize)\n * store(__stack_pointer, c = a, 0 * sizeof())\n * __collect()\n * let r = b\n * __stack_pointer += frameSize\n * return r\n * }\n *\n * // caller frameSize = (numLocalSlots + 2 [by extension]) * sizeof()\n * (\n * r = foo(\n * ( t = a,\n * store(__stack_pointer, t, (numLocalSlots + 0) * sizeof()),\n * t ),\n * ( t = b,\n * store(__stack_pointer, t, (numLocalSlots + 1) * sizeof()),\n * t )\n * ),\n * r\n * )\n *\n * Also note that we have to `memory.fill` the second half because the first\n * assignment to a local may happen at a later point within the function. The\n * invariant we need to maintain for a precise GC is that it only sees zeroes\n * or valid pointers, but never an invalid pointer left on the stack earlier.\n * Since most frames are small, we unroll a sequence of `store`s up to a frame\n * size of 16 bytes, and `memory.fill`, if available, beyond.\n *\n * @license Apache-2.0\n */\n\nimport {\n Pass\n} from \"./pass\";\n\nimport {\n _BinaryenAddFunction,\n _BinaryenAddFunctionExport,\n _BinaryenCallGetNumOperands,\n _BinaryenCallGetOperandAt,\n _BinaryenCallGetTarget,\n _BinaryenCallIndirectGetNumOperands,\n _BinaryenCallIndirectGetOperandAt,\n _BinaryenCallIndirectSetOperandAt,\n _BinaryenCallSetOperandAt,\n _BinaryenExportGetKind,\n _BinaryenExportGetName,\n _BinaryenExportGetValue,\n _BinaryenExpressionGetId,\n _BinaryenExpressionGetType,\n _BinaryenFunctionGetBody,\n _BinaryenFunctionGetName,\n _BinaryenFunctionGetNumLocals,\n _BinaryenFunctionGetNumVars,\n _BinaryenFunctionGetParams,\n _BinaryenFunctionGetResults,\n _BinaryenFunctionGetVar,\n _BinaryenFunctionSetBody,\n _BinaryenGetExport,\n _BinaryenGetFunction,\n _BinaryenLocalSetGetIndex,\n _BinaryenLocalSetGetValue,\n _BinaryenLocalSetIsTee,\n _BinaryenLocalSetSetValue,\n _BinaryenRemoveExport,\n _BinaryenRemoveFunction,\n _BinaryenReturnGetValue,\n _BinaryenReturnSetValue,\n _free\n} from \"../glue/binaryen\";\n\nimport {\n ExpressionId,\n ExpressionRef,\n FunctionRef,\n Index,\n BinaryOp,\n TypeRef,\n allocPtrArray,\n Module,\n ExternalKind,\n ExportRef,\n expandType,\n isConstZero,\n} from \"../module\";\n\nimport {\n Compiler,\n Options\n} from \"../compiler\";\n\nimport {\n Feature\n} from \"../common\";\n\nimport {\n BuiltinNames\n} from \"../builtins\";\n\nimport {\n Source\n} from \"../ast\";\n\ntype LocalIndex = Index;\ntype SlotIndex = Index;\ntype SlotMap = Map;\ntype TempMap = Map;\n\n/** Attempts to match the `__tostack(value)` pattern. Returns `value` if a match, otherwise `0`. */\nfunction matchPattern(module: Module, expr: ExpressionRef): ExpressionRef {\n let isFound = false;\n while (\n _BinaryenExpressionGetId(expr) == ExpressionId.Call &&\n module.readStringCached(_BinaryenCallGetTarget(expr)) == BuiltinNames.tostack\n ) {\n assert(_BinaryenCallGetNumOperands(expr) == 1);\n expr = _BinaryenCallGetOperandAt(expr, 0);\n isFound = true;\n }\n if (!isFound) return 0;\n return expr;\n}\n\n/** Tests whether a `value` matched by `matchTostack` needs a slot. */\nfunction needsSlot(value: ExpressionRef): bool {\n switch (_BinaryenExpressionGetId(value)) {\n // no need to stack null pointers\n case ExpressionId.Const: return !isConstZero(value);\n // note: can't omit a slot when assigning from another local since the other\n // local might have shorter lifetime and become reassigned, say in a loop,\n // then no longer holding on to the previous value in its stack slot.\n }\n return true;\n}\n\n/** Instruments a module with a shadow stack for precise GC. */\nexport class ShadowStackPass extends Pass {\n /** Stack frame slots, per function. */\n slotMaps: Map = new Map();\n /** Temporary locals, per function. */\n tempMaps: Map = new Map();\n /** Exports (with managed operands) map. */\n exportMap: Map = new Map();\n /** Compiler reference. */\n compiler: Compiler;\n\n constructor(compiler: Compiler) {\n super(compiler.module);\n this.compiler = compiler;\n }\n\n /** Compiler options. */\n get options(): Options { return this.compiler.options; }\n /** Target pointer type. */\n get ptrType(): TypeRef { return this.options.sizeTypeRef; }\n /** Target pointer size. */\n get ptrSize(): i32 { return this.ptrType == TypeRef.I64 ? 8 : 4; }\n /** Target pointer addition operation. */\n get ptrBinaryAdd(): BinaryOp { return this.ptrType == TypeRef.I64 ? BinaryOp.AddI64 : BinaryOp.AddI32; }\n /** Target pointer subtraction operation. */\n get ptrBinarySub(): BinaryOp { return this.ptrType == TypeRef.I64 ? BinaryOp.SubI64 : BinaryOp.SubI32; }\n\n /** Gets a constant with the specified value of the target pointer type. */\n ptrConst(value: i32): ExpressionRef {\n return this.ptrType == TypeRef.I64\n ? this.module.i64(value)\n : this.module.i32(value);\n }\n\n /** Notes the presence of a slot for the specified (imaginary) local, returning the slot index. */\n noteSlot(func: FunctionRef, localIndex: Index): i32 {\n let slotMap: SlotMap;\n if (this.slotMaps.has(func)) {\n slotMap = changetype(this.slotMaps.get(func));\n if (slotMap.has(localIndex)) {\n return changetype(slotMap.get(localIndex));\n }\n } else {\n slotMap = new Map();\n this.slotMaps.set(func, slotMap);\n }\n let slotIndex = slotMap.size;\n slotMap.set(localIndex, slotIndex);\n return slotIndex;\n }\n\n /** Notes the presence of an exported function taking managed operands. */\n noteExport(name: string, managedOperandIndices: i32[]): void {\n if (!managedOperandIndices.length) return;\n this.exportMap.set(name, managedOperandIndices);\n }\n\n /** Gets a shared temporary local of the given type in the specified functions. */\n getSharedTemp(func: FunctionRef, type: TypeRef): Index {\n let tempMap: TempMap;\n if (this.tempMaps.has(func)) {\n tempMap = changetype(this.tempMaps.get(func));\n if (tempMap.has(type)) {\n return changetype(tempMap.get(type));\n }\n } else {\n tempMap = new Map();\n this.tempMaps.set(func, tempMap);\n }\n let numLocals = _BinaryenFunctionGetNumLocals(func);\n let localIndex = numLocals + tempMap.size;\n tempMap.set(type, localIndex);\n return localIndex;\n }\n\n /** Makes an expression modifying the stack pointer by the given offset. */\n makeStackOffset(offset: i32): ExpressionRef {\n assert(offset != 0);\n let module = this.module;\n let expr = module.global_set(BuiltinNames.stack_pointer,\n module.binary(offset >= 0 ? this.ptrBinaryAdd : this.ptrBinarySub,\n module.global_get(BuiltinNames.stack_pointer, this.ptrType),\n this.ptrConst(abs(offset))\n )\n );\n if (offset > 0) return expr;\n return module.block(null, [\n expr,\n this.makeStackCheck()\n ], TypeRef.None);\n }\n\n /** Makes a sequence of expressions zeroing the stack frame. */\n makeStackFill(frameSize: i32, stmts: ExpressionRef[]): void {\n assert(frameSize > 0);\n let module = this.module;\n if (this.options.hasFeature(Feature.BulkMemory) && frameSize > 16) {\n stmts.push(\n module.memory_fill(\n module.global_get(BuiltinNames.stack_pointer, this.ptrType),\n module.i32(0), // TODO: Wasm64 also i32?\n this.ptrConst(frameSize)\n )\n );\n } else {\n let remain = frameSize;\n while (remain >= 8) {\n // store(__stack_pointer, 0, frameSize - remain)\n stmts.push(\n module.store(8,\n module.global_get(BuiltinNames.stack_pointer, this.ptrType),\n module.i64(0),\n TypeRef.I64,\n frameSize - remain\n )\n );\n remain -= 8;\n }\n if (remain) {\n assert(remain == 4);\n // store(__stack_pointer, 0, frameSize - remain)\n stmts.push(\n module.store(4,\n module.global_get(BuiltinNames.stack_pointer, this.ptrType),\n module.i32(0),\n TypeRef.I32,\n frameSize - remain\n )\n );\n }\n }\n }\n\n private hasStackCheckFunction: bool = false;\n\n /** Makes a check that the current stack pointer is valid. */\n makeStackCheck(): ExpressionRef {\n let module = this.module;\n if (!this.hasStackCheckFunction) {\n this.hasStackCheckFunction = true;\n module.addFunction(\"~stack_check\", TypeRef.None, TypeRef.None, null,\n module.if(\n module.binary(BinaryOp.LtI32,\n module.global_get(BuiltinNames.stack_pointer, this.ptrType),\n module.global_get(BuiltinNames.data_end, this.ptrType)\n ),\n this.compiler.makeStaticAbort(\n this.compiler.ensureStaticString(\"stack overflow\"),\n Source.native\n )\n )\n );\n }\n return module.call(\"~stack_check\", null, TypeRef.None);\n }\n\n private updateCallOperands(operands: ExpressionRef[]): i32 {\n let module = this.module;\n let numSlots = 0;\n for (let i = 0, k = operands.length; i < k; ++i) {\n let operand = operands[i];\n let match = matchPattern(module, operand);\n if (!match) continue;\n if (!needsSlot(match)) {\n operands[i] = match;\n continue;\n }\n let currentFunction = this.currentFunction;\n let numLocals = _BinaryenFunctionGetNumLocals(currentFunction);\n let slotIndex = this.noteSlot(currentFunction, numLocals + this.callSlotOffset + numSlots);\n let temp = this.getSharedTemp(currentFunction, this.ptrType);\n let stmts = new Array();\n // t = value\n stmts.push(\n module.local_set(temp, match, false)\n );\n // store(__stack_pointer, t, slotIndex * ptrSize)\n stmts.push(\n module.store(this.ptrSize,\n module.global_get(BuiltinNames.stack_pointer, this.ptrType),\n module.local_get(temp, this.ptrType),\n this.ptrType, slotIndex * this.ptrSize\n )\n );\n // -> t\n stmts.push(\n module.local_get(temp, this.ptrType)\n );\n operands[i] = module.block(null, stmts, this.ptrType);\n ++numSlots;\n }\n return numSlots;\n }\n\n /** Slot offset accounting for nested calls. */\n private callSlotOffset: i32 = 0;\n /** Slot offset stack in nested calls. */\n private callSlotStack: i32[] = new Array();\n\n /** @override */\n visitCallPre(call: ExpressionRef): void {\n let numOperands = _BinaryenCallGetNumOperands(call);\n let operands = new Array(numOperands);\n for (let i: Index = 0; i < numOperands; ++i) {\n operands[i] = _BinaryenCallGetOperandAt(call, i);\n }\n let numSlots = this.updateCallOperands(operands);\n for (let i = 0, k = operands.length; i < k; ++i) {\n _BinaryenCallSetOperandAt(call, i, operands[i]);\n }\n if (numSlots) {\n // Reserve these slots for us so nested calls use their own\n this.callSlotOffset += numSlots;\n }\n this.callSlotStack.push(numSlots);\n }\n\n /** @override */\n visitCall(call: ExpressionRef): void {\n let numSlots = this.callSlotStack.pop();\n if (numSlots) this.callSlotOffset -= numSlots;\n }\n\n /** @override */\n visitCallIndirectPre(callIndirect: ExpressionRef): void {\n let numOperands = _BinaryenCallIndirectGetNumOperands(callIndirect);\n let operands = new Array(numOperands);\n for (let i: Index = 0; i < numOperands; ++i) {\n operands[i] = _BinaryenCallIndirectGetOperandAt(callIndirect, i);\n }\n let numSlots = this.updateCallOperands(operands);\n for (let i = 0, k = operands.length; i < k; ++i) {\n _BinaryenCallIndirectSetOperandAt(callIndirect, i, operands[i]);\n }\n if (numSlots) {\n // Reserve these slots for us so nested calls use their own\n this.callSlotOffset += numSlots;\n }\n this.callSlotStack.push(numSlots);\n }\n\n /** @override */\n visitCallIndirect(callIndirect: ExpressionRef): void {\n let numSlots = this.callSlotStack.pop();\n if (numSlots) this.callSlotOffset -= numSlots;\n }\n\n /** @override */\n visitLocalSet(localSet: ExpressionRef): void {\n let module = this.module;\n let value = _BinaryenLocalSetGetValue(localSet);\n let match = matchPattern(module, value);\n if (!match) return;\n if (!needsSlot(match)) {\n _BinaryenLocalSetSetValue(localSet, match);\n return;\n }\n let index = _BinaryenLocalSetGetIndex(localSet);\n let slotIndex = this.noteSlot(this.currentFunction, index);\n let stmts = new Array();\n // store(__stack_pointer, local = match, slotIndex * ptrSize)\n stmts.push(\n module.store(this.ptrSize,\n module.global_get(BuiltinNames.stack_pointer, this.ptrType),\n module.local_tee(index, match, false),\n this.ptrType, slotIndex * this.ptrSize\n )\n );\n if (_BinaryenLocalSetIsTee(localSet)) {\n // -> local\n stmts.push(\n module.local_get(index, this.ptrType)\n );\n this.replaceCurrent(module.flatten(stmts, this.ptrType));\n } else {\n this.replaceCurrent(module.flatten(stmts, TypeRef.None));\n }\n }\n\n /** Updates a function with additional locals etc. */\n updateFunction(funcRef: FunctionRef): void {\n let name = _BinaryenFunctionGetName(funcRef);\n let params = _BinaryenFunctionGetParams(funcRef);\n let results = _BinaryenFunctionGetResults(funcRef);\n let body = assert(_BinaryenFunctionGetBody(funcRef));\n let numVars = _BinaryenFunctionGetNumVars(funcRef);\n let vars = new Array();\n for (let i: Index = 0; i < numVars; ++i) {\n vars[i] = _BinaryenFunctionGetVar(funcRef, i);\n }\n let tempMaps = this.tempMaps;\n if (tempMaps.has(funcRef)) {\n let tempMap = changetype(tempMaps.get(funcRef));\n for (let _keys = Map_keys(tempMap), i = 0, k = _keys.length; i < k; ++i) {\n vars.push(_keys[i]);\n }\n }\n let moduleRef = this.module.ref;\n _BinaryenRemoveFunction(moduleRef, name);\n let cArr = allocPtrArray(vars);\n let newFuncRef = _BinaryenAddFunction(moduleRef, name, params, results, cArr, vars.length, body);\n if (this.options.sourceMap || this.options.debugInfo) {\n let func = this.compiler.program.searchFunctionByRef(newFuncRef);\n if (func) func.addDebugInfo(this.module, newFuncRef);\n }\n _free(cArr);\n }\n\n /** Updates a function export taking managed arguments. */\n updateExport(exportRef: ExportRef, managedOperandIndices: i32[]): void {\n let module = this.module;\n let moduleRef = module.ref;\n assert(_BinaryenExportGetKind(exportRef) == ExternalKind.Function);\n\n let internalNameRef = _BinaryenExportGetValue(exportRef);\n let internalName = module.readStringCached(internalNameRef)!;\n let externalNameRef = _BinaryenExportGetName(exportRef);\n let funcRef = _BinaryenGetFunction(moduleRef, internalNameRef);\n let params = _BinaryenFunctionGetParams(funcRef);\n let paramTypes = expandType(params);\n let numParams = paramTypes.length;\n let results = _BinaryenFunctionGetResults(funcRef);\n let numLocals = numParams;\n let vars = new Array();\n let numSlots = assert(managedOperandIndices.length);\n let frameSize = numSlots * this.ptrSize;\n let wrapperName = \"export:\" + internalName;\n let wrapperNameRef = module.allocStringCached(wrapperName);\n\n if (_BinaryenGetFunction(moduleRef, wrapperNameRef) == 0) {\n let stmts = new Array();\n // __stack_pointer -= frameSize\n stmts.push(\n this.makeStackOffset(-frameSize)\n );\n for (let slotIndex = 0; slotIndex < numSlots; ++slotIndex) {\n // store(__stack_pointer, $local, slotIndex * ptrSize)\n stmts.push(\n module.store(this.ptrSize,\n module.global_get(BuiltinNames.stack_pointer, this.ptrType),\n module.local_get(managedOperandIndices[slotIndex], this.ptrType),\n this.ptrType, slotIndex * this.ptrSize\n )\n );\n }\n let forwardedOperands = new Array(numParams);\n for (let i = 0; i < numParams; ++i) {\n forwardedOperands[i] = module.local_get(i, paramTypes[i]);\n }\n if (results != TypeRef.None) {\n let tempIndex = numLocals++;\n vars.push(results);\n // t = original(...)\n stmts.push(\n module.local_set(tempIndex,\n module.call(internalName, forwardedOperands, results),\n false // internal\n )\n );\n // __stack_pointer += frameSize\n stmts.push(\n this.makeStackOffset(+frameSize)\n );\n // -> t\n stmts.push(\n module.local_get(tempIndex, results)\n );\n } else {\n // original(...)\n stmts.push(\n module.call(internalName, forwardedOperands, results)\n );\n // __stack_pointer += frameSize\n stmts.push(\n this.makeStackOffset(+frameSize)\n );\n }\n let cArr = allocPtrArray(vars);\n _BinaryenAddFunction(moduleRef, wrapperNameRef, params, results, cArr, vars.length,\n module.block(null, stmts, results)\n );\n _free(cArr);\n }\n _BinaryenRemoveExport(moduleRef, externalNameRef);\n _BinaryenAddFunctionExport(moduleRef, wrapperNameRef, externalNameRef);\n }\n\n /** @override */\n walkModule(): void {\n // Run the pass normally\n super.walkModule();\n\n // Instrument returns in functions utilizing stack slots\n let module = this.module;\n let instrumentReturns = new InstrumentReturns(this);\n for (let _keys = Map_keys(this.slotMaps), i = 0, k = _keys.length; i < k; ++i) {\n let func = _keys[i];\n let slotMap = changetype(this.slotMaps.get(func));\n let frameSize = slotMap.size * this.ptrSize;\n\n // Instrument function returns\n instrumentReturns.frameSize = frameSize;\n instrumentReturns.walkFunction(func);\n\n // Instrument function entry\n let stmts = new Array();\n // __stack_pointer -= frameSize\n stmts.push(\n this.makeStackOffset(-frameSize)\n );\n // memory.fill(__stack_pointer, 0, frameSize)\n this.makeStackFill(frameSize, stmts);\n\n // Handle implicit return\n let body = _BinaryenFunctionGetBody(func);\n let bodyType = _BinaryenExpressionGetType(body);\n if (bodyType == TypeRef.Unreachable) {\n // body\n stmts.push(\n body\n );\n } else if (bodyType == TypeRef.None) {\n // body\n stmts.push(\n body\n );\n // __stack_pointer += frameSize\n stmts.push(\n this.makeStackOffset(+frameSize)\n );\n } else {\n let temp = this.getSharedTemp(func, bodyType);\n // t = body\n stmts.push(\n module.local_set(temp, body, false)\n );\n // __stack_pointer += frameSize\n stmts.push(\n this.makeStackOffset(+frameSize)\n );\n // -> t\n stmts.push(\n module.local_get(temp, bodyType)\n );\n }\n _BinaryenFunctionSetBody(func, module.flatten(stmts, bodyType));\n }\n\n // Update functions we added more locals to\n // TODO: _BinaryenFunctionAddVar ?\n for (let _keys = Map_keys(this.tempMaps), i = 0, k = _keys.length; i < k; ++i) {\n this.updateFunction(_keys[i]);\n }\n\n // Update exports taking managed arguments\n let exportMap = this.exportMap;\n for (let _keys = Map_keys(exportMap), i = 0, k = _keys.length; i < k; ++i) {\n let exportName = _keys[i];\n let exportRef = _BinaryenGetExport(module.ref, module.allocStringCached(exportName));\n let managedOperandIndices = changetype(exportMap.get(exportName));\n this.updateExport(exportRef, managedOperandIndices);\n }\n }\n}\n\n/** Companion pass instrumenting `return` statements to restore the stack frame. */\nclass InstrumentReturns extends Pass {\n /** Parent pass. */\n parentPass: ShadowStackPass;\n /** Frame size of the current function being processed. */\n frameSize: i32 = 0;\n\n constructor(shadowStack: ShadowStackPass) {\n super(shadowStack.module);\n this.parentPass = shadowStack;\n }\n\n /** @override */\n visitReturn(ret: ExpressionRef): void {\n assert(this.frameSize);\n let module = this.module;\n let value = _BinaryenReturnGetValue(ret);\n let stmts = new Array();\n if (value) {\n let returnType = _BinaryenExpressionGetType(value);\n if (returnType == TypeRef.Unreachable) return;\n let temp = this.parentPass.getSharedTemp(this.currentFunction, returnType);\n // t = value\n stmts.push(\n module.local_set(temp, value, false)\n );\n // __stack_pointer += frameSize\n stmts.push(\n this.parentPass.makeStackOffset(+this.frameSize)\n );\n // return t\n _BinaryenReturnSetValue(ret, module.local_get(temp, returnType));\n } else {\n // __stack_pointer += frameSize\n stmts.push(\n this.parentPass.makeStackOffset(+this.frameSize)\n );\n // return\n }\n stmts.push(\n ret\n );\n this.replaceCurrent(module.flatten(stmts, TypeRef.Unreachable));\n }\n}\n", "import {\n SourceKind\n} from \"../ast\";\n\nimport {\n CommonFlags\n} from \"../common\";\n\nimport {\n ClassPrototype,\n Element,\n ElementKind,\n Function,\n Enum,\n Class,\n Interface,\n File,\n FunctionPrototype,\n Global,\n Program,\n Property,\n PropertyPrototype,\n InterfacePrototype\n} from \"../program\";\n\n/** Walker base class. */\nexport abstract class ExportsWalker {\n\n /** Program reference. */\n program: Program;\n /** Whether to include private members */\n includePrivate: bool;\n /** Already seen elements. */\n seen: Map = new Map();\n\n /** Constructs a new Element walker. */\n constructor(program: Program, includePrivate: bool = false) {\n this.program = program;\n this.includePrivate = includePrivate;\n }\n\n /** Walks all elements and calls the respective handlers. */\n walk(): void {\n // TODO: for (let file of this.program.filesByName.values()) {\n for (let _values = Map_values(this.program.filesByName), i = 0, k = _values.length; i < k; ++i) {\n let file = unchecked(_values[i]);\n if (file.source.sourceKind == SourceKind.UserEntry) this.visitFile(file);\n }\n }\n\n /** Visits all exported elements of a file. */\n visitFile(file: File): void {\n let exports = file.exports;\n if (exports) {\n // TODO: for (let [memberName, member] of exports) {\n for (let _keys = Map_keys(exports), i = 0, k = _keys.length; i < k; ++i) {\n let memberName = unchecked(_keys[i]);\n let member = assert(exports.get(memberName));\n this.visitElement(memberName, member);\n }\n }\n let exportsStar = file.exportsStar;\n if (exportsStar) {\n for (let i = 0, k = exportsStar.length; i < k; ++i) {\n let exportStar = unchecked(exportsStar[i]);\n this.visitFile(exportStar);\n }\n }\n }\n\n /** Visits an element.*/\n visitElement(name: string, element: Element): void {\n if (element.is(CommonFlags.Private) && !this.includePrivate) return;\n let seen = this.seen;\n if (!element.is(CommonFlags.Instance) && seen.has(element)) {\n this.visitAlias(name, element, assert(seen.get(element)));\n return;\n }\n seen.set(element, name);\n switch (element.kind) {\n case ElementKind.Global: {\n if (element.is(CommonFlags.Compiled)) this.visitGlobal(name, element);\n break;\n }\n case ElementKind.Enum: {\n if (element.is(CommonFlags.Compiled)) this.visitEnum(name, element);\n break;\n }\n case ElementKind.EnumValue: break; // handled by visitEnum\n case ElementKind.FunctionPrototype: {\n this.visitFunctionInstances(name, element);\n break;\n }\n case ElementKind.ClassPrototype: {\n this.visitClassInstances(name, element);\n break;\n }\n case ElementKind.InterfacePrototype: {\n this.visitInterfaceInstances(name, element);\n break;\n }\n case ElementKind.PropertyPrototype: {\n let propertyInstance = (element).instance;\n if (!propertyInstance) break;\n element = propertyInstance;\n // fall-through\n }\n case ElementKind.Property: {\n let propertyInstance = element;\n let getterInstance = propertyInstance.getterInstance;\n if (getterInstance) this.visitFunction(name, getterInstance);\n let setterInstance = propertyInstance.setterInstance;\n if (setterInstance) this.visitFunction(name, setterInstance);\n break;\n }\n case ElementKind.Namespace: {\n if (hasCompiledMember(element)) this.visitNamespace(name, element);\n break;\n }\n case ElementKind.TypeDefinition:\n case ElementKind.IndexSignature: break;\n default: {\n // Not (directly) reachable exports:\n // File, Local, Function, Class, Interface\n assert(false);\n }\n }\n }\n\n private visitFunctionInstances(name: string, element: FunctionPrototype): void {\n let instances = element.instances;\n if (instances) {\n // TODO: for (let instance of instances.values()) {\n for (let _values = Map_values(instances), i = 0, k = _values.length; i < k; ++i) {\n let instance = unchecked(_values[i]);\n if (instance.is(CommonFlags.Compiled)) this.visitFunction(name, instance);\n }\n }\n }\n\n private visitClassInstances(name: string, element: ClassPrototype): void {\n let instances = element.instances;\n if (instances) {\n // TODO: for (let instance of instances.values()) {\n for (let _values = Map_values(instances), i = 0, k = _values.length; i < k; ++i) {\n let instance = unchecked(_values[i]);\n assert(instance.kind == ElementKind.Class);\n if (instance.is(CommonFlags.Compiled)) this.visitClass(name, instance);\n }\n }\n }\n\n private visitInterfaceInstances(name: string, element: InterfacePrototype): void {\n let instances = element.instances;\n if (instances) {\n // TODO: for (let instance of instances.values()) {\n for (let _values = Map_values(instances), i = 0, k = _values.length; i < k; ++i) {\n let instance = unchecked(_values[i]);\n assert(instance.kind == ElementKind.Interface);\n if (instance.is(CommonFlags.Compiled)) this.visitInterface(name, instance);\n }\n }\n }\n\n abstract visitGlobal(name: string, element: Global): void;\n abstract visitEnum(name: string, element: Enum): void;\n abstract visitFunction(name: string, element: Function): void;\n abstract visitClass(name: string, element: Class): void;\n abstract visitInterface(name: string, element: Interface): void;\n abstract visitNamespace(name: string, element: Element): void;\n abstract visitAlias(name: string, element: Element, originalName: string): void;\n}\n\n// Helpers\n\n/** Tests if a namespace-like element has at least one compiled member. */\nexport function hasCompiledMember(element: Element): bool {\n let members = element.members;\n if (members) {\n // TODO: for (let member of members.values()) {\n for (let _values = Map_values(members), i = 0, k = _values.length; i < k; ++i) {\n let member = unchecked(_values[i]);\n switch (member.kind) {\n case ElementKind.FunctionPrototype: {\n let instances = (member).instances;\n if (instances) {\n // TODO: for (let instance of instances.values()) {\n for (let _values = Map_values(instances), j = 0, l = _values.length; j < l; ++j) {\n let instance = unchecked(_values[j]);\n if (instance.is(CommonFlags.Compiled)) return true;\n }\n }\n break;\n }\n case ElementKind.ClassPrototype: {\n let instances = (member).instances;\n if (instances) {\n // TODO: for (let instance of instances.values()) {\n for (let _values = Map_values(instances), j = 0, l = _values.length; j < l; ++j) {\n let instance = unchecked(_values[j]);\n if (instance.is(CommonFlags.Compiled)) return true;\n }\n }\n break;\n }\n default: {\n if (member.is(CommonFlags.Compiled) || hasCompiledMember(member)) return true;\n break;\n }\n }\n }\n }\n return false;\n}\n", "import {\n NodeKind,\n DecoratorKind,\n LiteralKind,\n LiteralExpression,\n StringLiteralExpression,\n TemplateLiteralExpression,\n findDecorator,\n Source\n} from \"../ast\";\n\nimport {\n CommonFlags\n} from \"../common\";\n\nimport {\n runtimeFunctions,\n runtimeGlobals\n} from \"../compiler\";\n\nimport {\n ElementKind,\n Element,\n Program,\n Function,\n Global,\n Class,\n Interface,\n Enum,\n EnumValue,\n PropertyPrototype\n} from \"../program\";\n\nimport {\n Type,\n TypeFlags,\n Signature\n} from \"../types\";\n\nimport {\n CharCode,\n escapeString,\n indent,\n isIdentifier\n} from \"../util\";\n\nimport {\n ExportsWalker\n} from \"./util\";\n\n// Limitations\n//\n// - Instrumented globals are no longer WebAssembly.Global, hence cannot be\n// imported the same way as non-instrumented globals would allow. Affects both\n// globals imported here and globals imported elsewhere.\n//\n// - Since little is known about how class imports and exports will behave,\n// there is currently no glue generated for them. In IT there appears to be\n// a concept of protocols that may or may not map in the future. In GC there\n// doesn't appear to be a connection between classes and their methods so far.\n//\n// Instead, generated bindings are limited to lifting and lowering of plain\n// objects when the class has no constructor and no non-public elements. In\n// any other sitation an internal or external reference is passed.\n//\n// - Linking two instrumented modules with separate bindings produces\n// intermediate garbage (i.e. goes through a temporary JS object). Any native\n// mechanism enabling communication between modules directly would help here.\n//\n// - Cycles between the internal and the external GC cannot be resolved. Using\n// a common GC as envisioned by the GC proposal can help here, but so far it\n// seems that the same limitations as for IT will remain.\n//\n// - Duplicate Wasm imports don't yet work when instrumentation is required as\n// provided argument types cannot be told apart when these only come in as\n// numbers. It might be possible to modify the binary post compilation, but\n// this has not been attempted yet.\n//\n// Oddities\n//\n// - Interface Types `string` will be incompatible with JavaScript `String` and\n// it remains unclear how to proceed on this front. We could either use the IT\n// mechanism and accept potential hazards or keep using unfortunate glue code.\n//\n// - Functions with a variable number of arguments need some special glue to\n// inform the binary how many arguments have been provided so it can fill in\n// defaults for the omitted arguments. No native mechanism in sight, yet.\n//\n// - Optional BigInt arguments must be coerced to 0n since JS does not\n// implicitly coerce from `null` or `undefined`. Numbers do, however.\n//\n// - Generated bindings assume little endian architecture with typed arrays as\n// it appears to be more efficient than using a DataView and BE use cases\n// haven't been seen in the wild so far.\n//\n// - It is assumed that generated import bindings call JavaScript and that the\n// callee expects a properly coerced integer value, leading to more `>>> 0`\n// coercions than necessary when the import is actually another Wasm module.\n\n/** Maps special imports to their actual modules. */\nfunction importToModule(moduleName: string): string {\n // Map rtrace via `imports` in package.json\n if (moduleName == \"rtrace\") return \"#rtrace\";\n return moduleName;\n}\n\n/** Determines whether a module's imports should be instrumented. */\nfunction shouldInstrument(moduleName: string): bool {\n return moduleName != \"rtrace\";\n}\n\n/** A JavaScript bindings builder. */\nexport class JSBuilder extends ExportsWalker {\n\n /** Builds JavaScript bindings for the specified program. */\n static build(program: Program, esm: bool = true): string {\n return new JSBuilder(program, esm).build();\n }\n\n private esm: bool;\n private sb: string[] = [];\n private indentLevel: i32 = 0;\n\n private needsLiftBuffer: bool = false;\n private needsLowerBuffer: bool = false;\n private needsLiftString: bool = false;\n private needsLowerString: bool = false;\n private needsLiftArray: bool = false;\n private needsLowerArray: bool = false;\n private needsLiftTypedArray: bool = false;\n private needsLowerTypedArray: bool = false;\n private needsLiftStaticArray: bool = false;\n private needsLowerStaticArray: bool = false;\n private needsLiftInternref: bool = false;\n private needsLowerInternref: bool = false;\n private needsRetain: bool = false;\n private needsRelease: bool = false;\n private needsNotNull: bool = false;\n private needsSetU8: bool = false;\n private needsSetU16: bool = false;\n private needsSetU32: bool = false;\n private needsSetU64: bool = false;\n private needsSetF32: bool = false;\n private needsSetF64: bool = false;\n private needsGetI8: bool = false;\n private needsGetU8: bool = false;\n private needsGetI16: bool = false;\n private needsGetU16: bool = false;\n private needsGetI32: bool = false;\n private needsGetU32: bool = false;\n private needsGetI64: bool = false;\n private needsGetU64: bool = false;\n private needsGetF32: bool = false;\n private needsGetF64: bool = false;\n\n private deferredLifts: Set = new Set();\n private deferredLowers: Set = new Set();\n private deferredCode: string[] = new Array();\n\n private exports: string[] = new Array();\n private importMappings: Map = new Map();\n\n /** Constructs a new JavaScript bindings builder. */\n constructor(program: Program, esm: bool, includePrivate: bool = false) {\n super(program, includePrivate);\n this.esm = esm;\n }\n\n visitGlobal(name: string, element: Global): void {\n let sb = this.sb;\n let type = element.type;\n this.exports.push(name);\n if (!isPlainValue(type, Mode.Export)) {\n indent(sb, this.indentLevel);\n sb.push(name);\n sb.push(\": {\\n\");\n indent(sb, ++this.indentLevel);\n sb.push(\"// \");\n sb.push(element.internalName);\n sb.push(\": \");\n sb.push(type.toString());\n sb.push(\"\\n\");\n indent(sb, this.indentLevel);\n sb.push(\"valueOf() { return this.value; },\\n\");\n indent(sb, this.indentLevel);\n sb.push(\"get value() {\\n\");\n indent(sb, ++this.indentLevel);\n sb.push(\"return \");\n this.makeLiftFromValue(\"exports.\" + name + \".value\", type, sb);\n sb.push(\";\\n\");\n indent(sb, --this.indentLevel);\n sb.push(\"}\");\n if (!element.is(CommonFlags.Const)) {\n sb.push(\",\\n\");\n indent(sb, this.indentLevel);\n sb.push(\"set value(value) {\\n\");\n indent(sb, ++this.indentLevel);\n sb.push(\"exports.\");\n sb.push(name);\n sb.push(\".value = \");\n this.makeLowerToValue(\"value\", type, sb);\n sb.push(\";\\n\");\n indent(sb, --this.indentLevel);\n sb.push(\"}\");\n }\n sb.push(\"\\n\");\n indent(sb, --this.indentLevel);\n sb.push(\"},\\n\");\n }\n this.visitNamespace(name, element);\n }\n\n visitEnum(name: string, element: Enum): void {\n let sb = this.sb;\n this.exports.push(name);\n indent(sb, this.indentLevel);\n sb.push(name);\n sb.push(\": (values => (\\n\");\n indent(sb, ++this.indentLevel);\n sb.push(\"// \");\n sb.push(element.internalName);\n sb.push(\"\\n\");\n let members = element.members;\n if (members) {\n for (let _values = Map_values(members), i = 0, k = _values.length; i < k; ++i) {\n let value = _values[i];\n if (value.kind != ElementKind.EnumValue) continue;\n indent(sb, this.indentLevel);\n sb.push(\"values[values.\");\n sb.push(value.name);\n if (value.is(CommonFlags.Inlined)) {\n sb.push(\" = \");\n sb.push(i64_low((value).constantIntegerValue).toString());\n } else {\n sb.push(\" = exports[\\\"\");\n sb.push(escapeString(name + \".\" + value.name, CharCode.DoubleQuote));\n sb.push(\"\\\"].valueOf()\");\n }\n sb.push(\"] = \\\"\");\n sb.push(escapeString(value.name, CharCode.DoubleQuote));\n sb.push(\"\\\",\\n\");\n }\n }\n indent(sb, this.indentLevel);\n sb.push(\"values\\n\");\n indent(sb, --this.indentLevel);\n sb.push(\"))({}),\\n\");\n this.visitNamespace(name, element);\n }\n\n makeGlobalImport(moduleName: string, name: string, element: Global): void {\n let sb = this.sb;\n let type = element.type;\n indent(sb, this.indentLevel);\n if (isIdentifier(name)) {\n sb.push(name);\n } else {\n sb.push(\"\\\"\");\n sb.push(escapeString(name, CharCode.DoubleQuote));\n sb.push(\"\\\": \");\n }\n let moduleId = this.ensureModuleId(moduleName);\n if (isPlainValue(type, Mode.Import)) {\n sb.push(\"(\\n\");\n indent(sb, this.indentLevel + 1);\n sb.push(\"// \");\n sb.push(element.internalName);\n sb.push(\": \");\n sb.push(element.type.toString());\n sb.push(\"\\n\");\n indent(sb, this.indentLevel + 1);\n if (moduleName != \"env\") {\n sb.push(\"__module\");\n sb.push(moduleId.toString());\n sb.push(\".\");\n }\n sb.push(name);\n sb.push(\"\\n\");\n indent(sb, this.indentLevel);\n sb.push(\")\");\n } else {\n sb.push(\"{\\n\");\n indent(sb, ++this.indentLevel);\n sb.push(\"// \");\n sb.push(element.internalName);\n sb.push(\": \");\n sb.push(element.type.toString());\n sb.push(\"\\n\");\n indent(sb, this.indentLevel);\n sb.push(\"// not supported: cannot lower before instantiate completes\\n\");\n indent(sb, --this.indentLevel);\n sb.push(\"}\");\n }\n sb.push(\",\\n\");\n }\n\n makeFunctionImport(moduleName: string, name: string, element: Function, code: string | null = null): void {\n let sb = this.sb;\n let signature = element.signature;\n indent(sb, this.indentLevel);\n if (isIdentifier(name)) {\n sb.push(name);\n } else {\n sb.push(\"\\\"\");\n sb.push(escapeString(name, CharCode.DoubleQuote));\n sb.push(\"\\\"\");\n }\n if (isPlainFunction(signature, Mode.Import) && !code && isIdentifier(name)) {\n sb.push(\": (\\n\");\n indent(sb, this.indentLevel + 1);\n sb.push(\"// \");\n sb.push(element.internalName);\n sb.push(element.signature.toString());\n sb.push(\"\\n\");\n indent(sb, this.indentLevel + 1);\n if (moduleName != \"env\") {\n sb.push(moduleName);\n sb.push(\".\");\n }\n sb.push(name);\n sb.push(\"\\n\");\n indent(sb, this.indentLevel);\n sb.push(\")\");\n } else {\n sb.push(\"(\");\n let parameterTypes = signature.parameterTypes;\n let parameterNames = new Array();\n for (let i = 0, k = parameterTypes.length; i < k; ++i) {\n parameterNames.push(element.getParameterName(i));\n }\n sb.push(parameterNames.join(\", \"));\n sb.push(\") {\\n\");\n indent(sb, ++this.indentLevel);\n sb.push(\"// \");\n sb.push(element.internalName);\n sb.push(element.signature.toString());\n sb.push(\"\\n\");\n for (let i = 0, k = parameterTypes.length; i < k; ++i) {\n let type = parameterTypes[i];\n if (!isPlainValue(type, Mode.Export)) {\n let name = element.getParameterName(i);\n indent(sb, this.indentLevel);\n sb.push(name);\n sb.push(\" = \");\n this.makeLiftFromValue(name, type, sb);\n sb.push(\";\\n\");\n }\n }\n let expr = new Array();\n let moduleId = this.ensureModuleId(moduleName);\n if (code) {\n expr.push(\"(() => {\\n\");\n indent(expr, 1);\n expr.push(\"// @external.js\\n\");\n indentText(code, 1, expr);\n expr.push(\"\\n})()\");\n } else {\n if (moduleName != \"env\") {\n expr.push(\"__module\");\n expr.push(moduleId.toString());\n expr.push(\".\");\n }\n expr.push(name);\n expr.push(\"(\");\n expr.push(parameterNames.join(\", \"));\n expr.push(\")\");\n }\n code = expr.join(\"\");\n expr.length = 0;\n indentText(code, this.indentLevel, expr, true);\n code = expr.join(\"\");\n indent(sb, this.indentLevel);\n if (signature.returnType != Type.void) {\n sb.push(\"return \");\n this.makeLowerToValue(code, signature.returnType, sb);\n sb.push(\";\\n\");\n } else {\n sb.push(code);\n sb.push(\";\\n\");\n }\n indent(sb, --this.indentLevel);\n sb.push(\"}\");\n }\n sb.push(\",\\n\");\n }\n\n visitFunction(name: string, element: Function): void {\n if (element.is(CommonFlags.Private)) return;\n let sb = this.sb;\n let signature = element.signature;\n this.exports.push(name);\n if (!isPlainFunction(signature, Mode.Export)) {\n indent(sb, this.indentLevel);\n sb.push(name);\n sb.push(\"(\");\n let parameterTypes = signature.parameterTypes;\n let numReferences = 0;\n for (let i = 0, k = parameterTypes.length; i < k; ++i) {\n if (parameterTypes[i].isInternalReference) numReferences++;\n if (i > 0) sb.push(\", \");\n sb.push(element.getParameterName(i));\n }\n sb.push(\") {\\n\");\n indent(sb, ++this.indentLevel);\n sb.push(\"// \");\n sb.push(element.internalName);\n sb.push(signature.toString());\n sb.push(\"\\n\");\n let releases = new Array();\n for (let i = 0, k = parameterTypes.length; i < k; ++i) {\n let type = parameterTypes[i];\n if (!isPlainValue(type, Mode.Import)) {\n let name = element.getParameterName(i);\n indent(sb, this.indentLevel);\n sb.push(name);\n sb.push(\" = \");\n let needsRetainRelease = type.isInternalReference && --numReferences > 0;\n if (needsRetainRelease) {\n this.needsRetain = true;\n this.needsRelease = true;\n sb.push(\"__retain(\");\n releases.push(name);\n }\n this.makeLowerToValue(name, type, sb);\n if (needsRetainRelease) {\n sb.push(\")\");\n }\n sb.push(\";\\n\");\n }\n }\n if (releases.length) {\n indent(sb, this.indentLevel++);\n sb.push(\"try {\\n\");\n }\n if (signature.requiredParameters < parameterTypes.length) {\n indent(sb, this.indentLevel);\n sb.push(\"exports.__setArgumentsLength(arguments.length);\\n\");\n }\n const expr = new Array();\n expr.push(\"exports.\");\n expr.push(name);\n expr.push(\"(\");\n for (let i = 0, k = parameterTypes.length; i < k; ++i) {\n if (i > 0) expr.push(\", \");\n expr.push(element.getParameterName(i));\n }\n expr.push(\")\");\n if (signature.returnType != Type.void) {\n indent(sb, this.indentLevel);\n sb.push(\"return \");\n this.makeLiftFromValue(expr.join(\"\"), signature.returnType, sb);\n } else {\n indent(sb, this.indentLevel);\n sb.push(expr.join(\"\"));\n }\n sb.push(\";\\n\");\n if (releases.length) {\n indent(sb, this.indentLevel - 1);\n sb.push(\"} finally {\\n\");\n for (let i = 0, k = releases.length; i < k; ++i) {\n indent(sb, this.indentLevel);\n sb.push(\"__release(\");\n sb.push(releases[i]);\n sb.push(\");\\n\");\n }\n indent(sb, --this.indentLevel);\n sb.push(\"}\\n\");\n }\n indent(sb, --this.indentLevel);\n sb.push(\"},\\n\");\n }\n this.visitNamespace(name, element);\n }\n\n visitClass(name: string, element: Class): void {\n // not implemented\n }\n\n visitInterface(name: string, element: Interface): void {\n this.visitClass(name, element);\n }\n\n visitNamespace(name: string, element: Element): void {\n // not implemented\n }\n\n visitAlias(name: string, element: Element, originalName: string): void {\n // not implemented\n // let sb = this.sb;\n // sb.push(\"export const \");\n // sb.push(name);\n // sb.push(\" = \");\n // sb.push(originalName);\n // sb.push(\";\\n\");\n }\n\n getExternalCode(element: Function): string | null {\n let decorator = findDecorator(DecoratorKind.ExternalJs, element.decoratorNodes);\n if (decorator) {\n let args = decorator.args;\n if (args && args.length == 1) {\n let codeArg = args[0];\n if (codeArg.kind == NodeKind.Literal) {\n let literal = codeArg;\n if (literal.literalKind == LiteralKind.String) {\n return (literal).value;\n }\n if (literal.literalKind == LiteralKind.Template) {\n let parts = (literal).parts;\n if (parts.length == 1) {\n return parts[0];\n }\n }\n }\n }\n }\n return null;\n }\n\n build(): string {\n let exports = this.exports;\n let moduleImports = this.program.moduleImports;\n let program = this.program;\n let options = program.options;\n let sb = this.sb;\n\n sb.push(\"\"); // placeholder\n indent(sb, this.indentLevel++);\n if (!this.esm) sb.push(\"export \");\n sb.push(\"async function instantiate(module, imports = {}) {\\n\");\n const insertPos = sb.push(\"\") - 1;\n\n // Instrument module imports. Keeps raw (JS) imports on the respective\n // prototypes and overrides selectively where instrumentation is required.\n indent(sb, this.indentLevel++);\n sb.push(\"const adaptedImports = {\\n\");\n let sbLengthBefore = sb.length;\n for (let _keys = Map_keys(moduleImports), i = 0, k = _keys.length; i < k; ++i) {\n let moduleName = _keys[i];\n let moduleId = this.ensureModuleId(moduleName);\n let module = >moduleImports.get(moduleName);\n indent(sb, this.indentLevel);\n if (isIdentifier(moduleName)) {\n sb.push(moduleName);\n } else {\n sb.push(\"\\\"\");\n sb.push(escapeString(moduleName, CharCode.DoubleQuote));\n sb.push(\"\\\"\");\n }\n if (!shouldInstrument(moduleName)) {\n sb.push(\": __module\");\n sb.push(moduleId.toString());\n sb.push(\",\\n\");\n continue;\n }\n let resetPos = sb.length;\n sb.push(\": Object.assign(Object.create(\");\n if (moduleName == \"env\") {\n sb.push(\"globalThis\");\n } else {\n sb.push(\"__module\");\n sb.push(moduleId.toString());\n }\n sb.push(\"), \");\n if (moduleName == \"env\") {\n sb.push(\"imports.env || {}, \");\n }\n sb.push(\"{\\n\");\n ++this.indentLevel;\n let numInstrumented = 0;\n for (let _keys2 = Map_keys(module), j = 0, l = _keys2.length; j < l; ++j) {\n let name = _keys2[j];\n let elem = assert(module.get(name));\n if (elem.kind == ElementKind.Function) {\n let func = elem;\n let code = this.getExternalCode(func);\n if (!isPlainFunction(func.signature, Mode.Import) || !isIdentifier(name) || code) {\n this.makeFunctionImport(moduleName, name, elem, code);\n ++numInstrumented;\n }\n } else if (elem.kind == ElementKind.Global) {\n let global = elem;\n if (!isPlainValue(global.type, Mode.Import) || !isIdentifier(name)) {\n this.makeGlobalImport(moduleName, name, global);\n ++numInstrumented;\n }\n }\n }\n --this.indentLevel;\n if (!numInstrumented) {\n sb.length = resetPos;\n if (moduleName == \"env\") {\n sb.push(\": Object.assign(Object.create(globalThis), imports.env || {})\");\n } else {\n sb.push(\": __module\");\n sb.push(moduleId.toString());\n }\n sb.push(\",\\n\");\n } else {\n indent(sb, this.indentLevel);\n sb.push(\"}),\\n\");\n }\n }\n --this.indentLevel;\n let hasAdaptedImports = sb.length > sbLengthBefore;\n if (hasAdaptedImports) {\n indent(sb, this.indentLevel);\n sb.push(\"};\\n\");\n } else {\n sb.length = sbLengthBefore - 2; // incl. indent\n }\n\n let mappings = this.importMappings;\n let map = new Array();\n for (let _keys = Map_keys(mappings), i = 0, k = _keys.length; i < k; ++i) {\n let moduleName = _keys[i];\n if (moduleName == \"env\") {\n map.push(\" const env = imports.env;\\n\");\n } else {\n let moduleId = mappings.get(moduleName);\n if (moduleName == \"rtrace\") {\n // Rtrace is special in that it needs to be installed on the imports\n // object. Use sensible defaults and substitute the original import.\n map.push(\" ((rtrace) => {\\n\");\n map.push(\" delete imports.rtrace;\\n\");\n map.push(\" new rtrace.Rtrace({ getMemory() { return memory; }, onerror(err) { console.log(`RTRACE: ${err.stack}`); } }).install(imports);\\n\");\n map.push(\" })(imports.rtrace);\\n\");\n }\n map.push(\" const __module\");\n map.push(moduleId.toString());\n map.push(\" = imports\");\n if (isIdentifier(moduleName)) {\n map.push(\".\");\n map.push(moduleName);\n } else {\n map.push(\"[\\\"\");\n map.push(escapeString(moduleName, CharCode.DoubleQuote));\n map.push(\"\\\"]\");\n }\n map.push(\";\\n\");\n }\n }\n sb[insertPos] = map.join(\"\");\n\n indent(sb, this.indentLevel);\n sb.push(\"const { exports } = await WebAssembly.instantiate(module\");\n if (hasAdaptedImports) {\n sb.push(\", adaptedImports);\\n\");\n } else {\n sb.push(\", imports);\\n\");\n }\n indent(sb, this.indentLevel);\n sb.push(\"const memory = exports.memory || imports.env.memory;\\n\");\n indent(sb, this.indentLevel++);\n sb.push(\"const adaptedExports = Object.setPrototypeOf({\\n\");\n sbLengthBefore = sb.length;\n\n // Instrument module exports. Keeps raw (Wasm) exports on the prototype and\n // overrides selectively where instrumentation is required.\n this.walk();\n --this.indentLevel;\n let hasAdaptedExports = sb.length > sbLengthBefore;\n if (hasAdaptedExports) {\n indent(sb, this.indentLevel);\n sb.push(\"}, exports);\\n\");\n } else {\n if (\n this.needsLiftBuffer || this.needsLowerBuffer ||\n this.needsLiftString || this.needsLowerString ||\n this.needsLiftArray || this.needsLowerArray ||\n this.needsLiftTypedArray || this.needsLowerTypedArray ||\n this.needsLiftStaticArray\n ) {\n sb.length = sbLengthBefore - 2; // skip adaptedExports + 1x indent\n } else {\n sb.length = sbLengthBefore - 4; // skip memory and adaptedExports + 2x indent\n }\n }\n\n // Add external JS code fragments\n let deferredCode = this.deferredCode;\n if (deferredCode.length) {\n for (let i = 0, k = deferredCode.length; i < k; ++i) {\n sb.push(deferredCode[i]);\n }\n }\n\n // Add the respective lifting and lowering adapters\n if (this.needsLiftBuffer) {\n let objectInstance = program.OBJECTInstance;\n let rtSizeOffset = objectInstance.offsetof(\"rtSize\") - objectInstance.nextMemoryOffset;\n sb.push(` function __liftBuffer(pointer) {\n if (!pointer) return null;\n return memory.buffer.slice(pointer, pointer + new Uint32Array(memory.buffer)[pointer - ${-rtSizeOffset} >>> 2]);\n }\n`);\n }\n if (this.needsLowerBuffer) {\n let arrayBufferId = program.arrayBufferInstance.id;\n sb.push(` function __lowerBuffer(value) {\n if (value == null) return 0;\n const pointer = exports.__new(value.byteLength, ${arrayBufferId}) >>> 0;\n new Uint8Array(memory.buffer).set(new Uint8Array(value), pointer);\n return pointer;\n }\n`);\n }\n if (this.needsLiftString) {\n let objectInstance = program.OBJECTInstance;\n let rtSizeOffset = objectInstance.offsetof(\"rtSize\") - objectInstance.nextMemoryOffset;\n let chunkSize = 1024;\n sb.push(` function __liftString(pointer) {\n if (!pointer) return null;\n const\n end = pointer + new Uint32Array(memory.buffer)[pointer - ${-rtSizeOffset} >>> 2] >>> 1,\n memoryU16 = new Uint16Array(memory.buffer);\n let\n start = pointer >>> 1,\n string = \"\";\n while (end - start > ${chunkSize}) string += String.fromCharCode(...memoryU16.subarray(start, start += ${chunkSize}));\n return string + String.fromCharCode(...memoryU16.subarray(start, end));\n }\n`);\n }\n if (this.needsLowerString) {\n let stringId = program.stringInstance.id;\n sb.push(` function __lowerString(value) {\n if (value == null) return 0;\n const\n length = value.length,\n pointer = exports.__new(length << 1, ${stringId}) >>> 0,\n memoryU16 = new Uint16Array(memory.buffer);\n for (let i = 0; i < length; ++i) memoryU16[(pointer >>> 1) + i] = value.charCodeAt(i);\n return pointer;\n }\n`);\n }\n if (this.needsLiftArray) {\n let dataStartOffset = program.arrayBufferViewInstance.offsetof(\"dataStart\");\n let lengthOffset = program.arrayBufferViewInstance.nextMemoryOffset;\n this.needsGetU32 = true;\n sb.push(` function __liftArray(liftElement, align, pointer) {\n if (!pointer) return null;\n const\n dataStart = __getU32(pointer + ${dataStartOffset}),\n length = __dataview.getUint32(pointer + ${lengthOffset}, true),\n values = new Array(length);\n for (let i = 0; i < length; ++i) values[i] = liftElement(dataStart + (i << align >>> 0));\n return values;\n }\n`);\n }\n if (this.needsLowerArray) {\n let arrayBufferId = program.arrayBufferInstance.id;\n let arrayBufferViewInstance = program.arrayBufferViewInstance;\n let arraySize = arrayBufferViewInstance.nextMemoryOffset + 4; // + length\n let bufferOffset = arrayBufferViewInstance.offsetof(\"buffer\");\n let dataStartOffset = arrayBufferViewInstance.offsetof(\"dataStart\");\n let byteLengthOffset = arrayBufferViewInstance.offsetof(\"byteLength\");\n let lengthOffset = byteLengthOffset + 4;\n this.needsSetU32 = true;\n sb.push(` function __lowerArray(lowerElement, id, align, values) {\n if (values == null) return 0;\n const\n length = values.length,\n buffer = exports.__pin(exports.__new(length << align, ${arrayBufferId})) >>> 0,\n header = exports.__pin(exports.__new(${arraySize}, id)) >>> 0;\n __setU32(header + ${bufferOffset}, buffer);\n __dataview.setUint32(header + ${dataStartOffset}, buffer, true);\n __dataview.setUint32(header + ${byteLengthOffset}, length << align, true);\n __dataview.setUint32(header + ${lengthOffset}, length, true);\n for (let i = 0; i < length; ++i) lowerElement(buffer + (i << align >>> 0), values[i]);\n exports.__unpin(buffer);\n exports.__unpin(header);\n return header;\n }\n`);\n }\n if (this.needsLiftTypedArray) {\n let arrayBufferViewInstance = program.arrayBufferViewInstance;\n let dataStartOffset = arrayBufferViewInstance.offsetof(\"dataStart\");\n let byteLengthOffset = arrayBufferViewInstance.offsetof(\"byteLength\");\n this.needsGetU32 = true;\n sb.push(` function __liftTypedArray(constructor, pointer) {\n if (!pointer) return null;\n return new constructor(\n memory.buffer,\n __getU32(pointer + ${dataStartOffset}),\n __dataview.getUint32(pointer + ${byteLengthOffset}, true) / constructor.BYTES_PER_ELEMENT\n ).slice();\n }\n`);\n }\n if (this.needsLowerTypedArray) {\n let arrayBufferId = program.arrayBufferInstance.id;\n let arrayBufferViewInstance = program.arrayBufferViewInstance;\n let size = arrayBufferViewInstance.nextMemoryOffset;\n let bufferOffset = arrayBufferViewInstance.offsetof(\"buffer\");\n let dataStartOffset = arrayBufferViewInstance.offsetof(\"dataStart\");\n let byteLengthOffset = arrayBufferViewInstance.offsetof(\"byteLength\");\n this.needsSetU32 = true;\n sb.push(` function __lowerTypedArray(constructor, id, align, values) {\n if (values == null) return 0;\n const\n length = values.length,\n buffer = exports.__pin(exports.__new(length << align, ${arrayBufferId})) >>> 0,\n header = exports.__new(${size}, id) >>> 0;\n __setU32(header + ${bufferOffset}, buffer);\n __dataview.setUint32(header + ${dataStartOffset}, buffer, true);\n __dataview.setUint32(header + ${byteLengthOffset}, length << align, true);\n new constructor(memory.buffer, buffer, length).set(values);\n exports.__unpin(buffer);\n return header;\n }\n`);\n }\n if (this.needsLiftStaticArray) {\n let objectInstance = program.OBJECTInstance;\n let rtSizeOffset = objectInstance.offsetof(\"rtSize\") - objectInstance.nextMemoryOffset;\n this.needsGetU32 = true;\n sb.push(` function __liftStaticArray(liftElement, align, pointer) {\n if (!pointer) return null;\n const\n length = __getU32(pointer - ${-rtSizeOffset}) >>> align,\n values = new Array(length);\n for (let i = 0; i < length; ++i) values[i] = liftElement(pointer + (i << align >>> 0));\n return values;\n }\n`);\n }\n if (this.needsLowerStaticArray) {\n sb.push(` function __lowerStaticArray(lowerElement, id, align, values, typedConstructor) {\n if (values == null) return 0;\n const\n length = values.length,\n buffer = exports.__pin(exports.__new(length << align, id)) >>> 0;\n if (typedConstructor) {\n new typedConstructor(memory.buffer, buffer, length).set(values);\n } else {\n for (let i = 0; i < length; i++) lowerElement(buffer + (i << align >>> 0), values[i]);\n }\n exports.__unpin(buffer);\n return buffer;\n }\n`);\n }\n if (this.needsLiftInternref || this.needsLowerInternref) {\n sb.push(\" class Internref extends Number {}\\n\");\n }\n if (this.needsLiftInternref) {\n this.needsRetain = true;\n this.needsRelease = true;\n sb.push(` const registry = new FinalizationRegistry(__release);\n function __liftInternref(pointer) {\n if (!pointer) return null;\n const sentinel = new Internref(__retain(pointer));\n registry.register(sentinel, pointer);\n return sentinel;\n }\n`);\n }\n if (this.needsLowerInternref) {\n sb.push(` function __lowerInternref(value) {\n if (value == null) return 0;\n if (value instanceof Internref) return value.valueOf();\n throw TypeError(\"internref expected\");\n }\n`);\n }\n if (this.needsRetain || this.needsRelease) {\n sb.push(` const refcounts = new Map();\n`);\n }\n if (this.needsRetain) {\n sb.push(` function __retain(pointer) {\n if (pointer) {\n const refcount = refcounts.get(pointer);\n if (refcount) refcounts.set(pointer, refcount + 1);\n else refcounts.set(exports.__pin(pointer), 1);\n }\n return pointer;\n }\n`);\n }\n if (this.needsRelease) {\n sb.push(` function __release(pointer) {\n if (pointer) {\n const refcount = refcounts.get(pointer);\n if (refcount === 1) exports.__unpin(pointer), refcounts.delete(pointer);\n else if (refcount) refcounts.set(pointer, refcount - 1);\n else throw Error(\\`invalid refcount '\\${refcount}' for reference '\\${pointer}'\\`);\n }\n }\n`);\n }\n if (this.needsNotNull) {\n sb.push(` function __notnull() {\n throw TypeError(\"value must not be null\");\n }\n`);\n }\n if (\n this.needsSetU8 ||\n this.needsSetU16 ||\n this.needsSetU32 ||\n this.needsSetU64 ||\n this.needsSetF32 ||\n this.needsSetF64 ||\n this.needsGetI8 ||\n this.needsGetU8 ||\n this.needsGetI16 ||\n this.needsGetU16 ||\n this.needsGetI32 ||\n this.needsGetU32 ||\n this.needsGetI64 ||\n this.needsGetU64 ||\n this.needsGetF32 ||\n this.needsGetF64\n ) {\n sb.push(\" let __dataview = new DataView(memory.buffer);\\n\");\n }\n if (this.needsSetU8) sb.push(makeCheckedSetter(\"U8\", \"setUint8\"));\n if (this.needsSetU16) sb.push(makeCheckedSetter(\"U16\", \"setUint16\"));\n if (this.needsSetU32) sb.push(makeCheckedSetter(\"U32\", \"setUint32\"));\n if (this.needsSetU64) sb.push(makeCheckedSetter(\"U64\", \"setBigUint64\"));\n if (this.needsSetF32) sb.push(makeCheckedSetter(\"F32\", \"setFloat32\"));\n if (this.needsSetF64) sb.push(makeCheckedSetter(\"F64\", \"setFloat64\"));\n if (this.needsGetI8) sb.push(makeCheckedGetter(\"I8\", \"getInt8\"));\n if (this.needsGetU8) sb.push(makeCheckedGetter(\"U8\", \"getUint8\"));\n if (this.needsGetI16) sb.push(makeCheckedGetter(\"I16\", \"getInt16\"));\n if (this.needsGetU16) sb.push(makeCheckedGetter(\"U16\", \"getUint16\"));\n if (this.needsGetI32) sb.push(makeCheckedGetter(\"I32\", \"getInt32\"));\n if (this.needsGetU32) sb.push(makeCheckedGetter(\"U32\", \"getUint32\"));\n if (this.needsGetI64) sb.push(makeCheckedGetter(\"I64\", \"getBigInt64\"));\n if (this.needsGetU64) sb.push(makeCheckedGetter(\"U64\", \"getBigUint64\"));\n if (this.needsGetF32) sb.push(makeCheckedGetter(\"F32\", \"getFloat32\"));\n if (this.needsGetF64) sb.push(makeCheckedGetter(\"F64\", \"getFloat64\"));\n\n let exportStart = options.exportStart;\n if (exportStart) {\n sb.push(` exports.${exportStart}();\\n`);\n }\n\n if (hasAdaptedExports) {\n sb.push(\" return adaptedExports;\\n}\\n\");\n } else {\n sb.push(\" return exports;\\n}\\n\");\n }\n --this.indentLevel;\n assert(this.indentLevel == 0);\n\n if (this.esm) {\n sb.push(\"export const {\\n\");\n if (this.program.options.exportMemory) {\n sb.push(\" memory,\\n\");\n }\n if (this.program.options.exportTable) {\n sb.push(\" table,\\n\");\n }\n if (this.program.options.exportRuntime) {\n for (let i = 0, k = runtimeFunctions.length; i < k; ++i) {\n sb.push(\" \");\n sb.push(runtimeFunctions[i]);\n sb.push(\",\\n\");\n }\n for (let i = 0, k = runtimeGlobals.length; i < k; ++i) {\n sb.push(\" \");\n sb.push(runtimeGlobals[i]);\n sb.push(\",\\n\");\n }\n }\n for (let i = 0, k = exports.length; i < k; ++i) {\n sb.push(\" \");\n sb.push(exports[i]);\n sb.push(\",\\n\");\n }\n sb.push(`} = await (async url => instantiate(\n await (async () => {\n const isNodeOrBun = typeof process != \"undefined\" && process.versions != null && (process.versions.node != null || process.versions.bun != null);\n if (isNodeOrBun) { return globalThis.WebAssembly.compile(await (await import(\"node:fs/promises\")).readFile(url)); }\n else { return await globalThis.WebAssembly.compileStreaming(globalThis.fetch(url)); }\n })(), {\n`);\n let needsMaybeDefault = false;\n let importExpr = new Array();\n for (let _keys = Map_keys(mappings), i = 0, k = _keys.length; i < k; ++i) {\n let moduleName = _keys[i];\n if (moduleName == \"env\") {\n indent(sb, 2);\n sb.push(\"env: globalThis,\\n\");\n } else {\n let moduleId = this.ensureModuleId(moduleName);\n indent(sb, 2);\n if (isIdentifier(moduleName)) {\n sb.push(moduleName);\n } else {\n sb.push(\"\\\"\");\n sb.push(escapeString(moduleName, CharCode.DoubleQuote));\n sb.push(\"\\\"\");\n }\n sb.push(\": __maybeDefault(__import\");\n sb.push(moduleId.toString());\n sb.push(\"),\\n\");\n importExpr.push(\"import * as __import\");\n importExpr.push(moduleId.toString());\n importExpr.push(\" from \\\"\");\n importExpr.push(escapeString(importToModule(moduleName), CharCode.DoubleQuote));\n importExpr.push(\"\\\";\\n\");\n needsMaybeDefault = true;\n }\n }\n sb[0] = importExpr.join(\"\");\n sb.push(` }\n))(new URL(\"${escapeString(options.basenameHint, CharCode.DoubleQuote)}.wasm\", import.meta.url));\n`);\n if (needsMaybeDefault) {\n sb.push(`function __maybeDefault(module) {\n return typeof module.default === \"object\" && Object.keys(module).length == 1\n ? module.default\n : module;\n}\n`);\n }\n }\n return sb.join(\"\");\n }\n\n ensureModuleId(moduleName: string): i32 {\n if (moduleName == \"env\") return -1;\n let importMap = this.importMappings;\n let moduleId = importMap.has(moduleName)\n ? i32(importMap.get(moduleName))\n : importMap.size;\n importMap.set(moduleName, moduleId);\n return moduleId;\n }\n\n /** Lifts a WebAssembly value to a JavaScript value, as an expression. */\n makeLiftFromValue(valueExpr: string, type: Type, sb: string[] = this.sb): void {\n if (type.isInternalReference) {\n // Lift reference types\n const clazz = assert(type.getClassOrWrapper(this.program));\n if (clazz.extendsPrototype(this.program.arrayBufferInstance.prototype)) {\n sb.push(\"__liftBuffer(\");\n this.needsLiftBuffer = true;\n } else if (clazz.extendsPrototype(this.program.stringInstance.prototype)) {\n sb.push(\"__liftString(\");\n this.needsLiftString = true;\n } else if (clazz.extendsPrototype(this.program.arrayPrototype)) {\n let valueType = clazz.getArrayValueType();\n sb.push(\"__liftArray(\");\n this.makeLiftFromMemoryFunc(valueType, sb);\n sb.push(\", \");\n sb.push(valueType.alignLog2.toString());\n sb.push(\", \");\n this.needsLiftArray = true;\n } else if (clazz.extendsPrototype(this.program.staticArrayPrototype)) {\n let valueType = clazz.getArrayValueType();\n sb.push(\"__liftStaticArray(\");\n this.makeLiftFromMemoryFunc(valueType, sb);\n sb.push(\", \");\n sb.push(valueType.alignLog2.toString());\n sb.push(\", \");\n this.needsLiftStaticArray = true;\n } else if (clazz.extendsPrototype(this.program.arrayBufferViewInstance.prototype)) {\n sb.push(\"__liftTypedArray(\");\n if (clazz.name == \"Uint64Array\") {\n sb.push(\"BigUint64Array\");\n } else if (clazz.name == \"Int64Array\") {\n sb.push(\"BigInt64Array\");\n } else {\n sb.push(clazz.name); // TODO: what if extended?\n }\n sb.push(\", \");\n this.needsLiftTypedArray = true;\n } else if (isPlainObject(clazz)) {\n sb.push(\"__liftRecord\");\n sb.push(clazz.id.toString());\n sb.push(\"(\");\n if (!this.deferredLifts.has(clazz)) {\n this.deferredLifts.add(clazz);\n let prevIndentLevel = this.indentLevel;\n this.indentLevel = 1;\n this.deferredCode.push(this.makeLiftRecord(clazz));\n this.indentLevel = prevIndentLevel;\n }\n } else {\n sb.push(\"__liftInternref(\");\n this.needsLiftInternref = true;\n }\n sb.push(valueExpr);\n if (!valueExpr.startsWith(\"__get\")) {\n // no need to coerce when lifting with indirection\n sb.push(\" >>> 0\");\n }\n sb.push(\")\");\n } else {\n // Lift and coerce basic values (from a Wasm export)\n if (type == Type.bool) { // i32 to boolean\n sb.push(`${valueExpr} != 0`);\n } else if (type.isUnsignedIntegerValue && type.size >= 32) {\n if (type.size == 64) { // i64 to unsigned bigint\n sb.push(`BigInt.asUintN(64, ${valueExpr})`);\n } else { // i32 to unsigned\n sb.push(`${valueExpr} >>> 0`);\n }\n } else {\n sb.push(valueExpr);\n }\n }\n }\n\n /** Lowers a JavaScript value to a WebAssembly value, as an expression. */\n makeLowerToValue(valueExpr: string, type: Type, sb: string[] = this.sb): void {\n if (type.isInternalReference) {\n // Lower reference types\n const clazz = assert(type.getClassOrWrapper(this.program));\n if (clazz.extendsPrototype(this.program.arrayBufferInstance.prototype)) {\n sb.push(\"__lowerBuffer(\");\n this.needsLowerBuffer = true;\n } else if (clazz.extendsPrototype(this.program.stringInstance.prototype)) {\n sb.push(\"__lowerString(\");\n this.needsLowerString = true;\n } else if (clazz.extendsPrototype(this.program.arrayPrototype)) {\n let valueType = clazz.getArrayValueType();\n sb.push(\"__lowerArray(\");\n this.makeLowerToMemoryFunc(valueType, sb);\n sb.push(\", \");\n sb.push(clazz.id.toString());\n sb.push(\", \");\n sb.push(clazz.getArrayValueType().alignLog2.toString());\n sb.push(\", \");\n this.needsLowerArray = true;\n } else if (clazz.extendsPrototype(this.program.staticArrayPrototype)) {\n let valueType = clazz.getArrayValueType();\n sb.push(\"__lowerStaticArray(\");\n this.makeLowerToMemoryFunc(valueType, sb);\n sb.push(\", \");\n sb.push(clazz.id.toString());\n sb.push(\", \");\n sb.push(valueType.alignLog2.toString());\n sb.push(\", \");\n this.needsLowerStaticArray = true;\n } else if (clazz.extendsPrototype(this.program.arrayBufferViewInstance.prototype)) {\n let valueType = clazz.getArrayValueType();\n sb.push(\"__lowerTypedArray(\");\n if (valueType == Type.u64) {\n sb.push(\"BigUint64Array\");\n } else if (valueType == Type.i64) {\n sb.push(\"BigInt64Array\");\n } else {\n sb.push(clazz.name); // TODO: what if extended?\n }\n sb.push(\", \");\n sb.push(clazz.id.toString());\n sb.push(\", \");\n sb.push(clazz.getArrayValueType().alignLog2.toString());\n sb.push(\", \");\n this.needsLowerTypedArray = true;\n } else if (isPlainObject(clazz)) {\n sb.push(\"__lowerRecord\");\n sb.push(clazz.id.toString());\n sb.push(\"(\");\n if (!this.deferredLowers.has(clazz)) {\n this.deferredLowers.add(clazz);\n let prevIndentLevel = this.indentLevel;\n this.indentLevel = 1;\n this.deferredCode.push(this.makeLowerRecord(clazz));\n this.indentLevel = prevIndentLevel;\n }\n } else {\n sb.push(\"__lowerInternref(\");\n this.needsLowerInternref = true;\n }\n sb.push(valueExpr);\n if (clazz.extendsPrototype(this.program.staticArrayPrototype)) {\n // optional last argument for __lowerStaticArray\n let valueType = clazz.getArrayValueType();\n if (valueType.isNumericValue) {\n sb.push(\", \");\n if (valueType == Type.u8 || valueType == Type.bool) {\n sb.push(\"Uint8Array\");\n } else if (valueType == Type.i8) {\n sb.push(\"Int8Array\");\n } else if (valueType == Type.u16) {\n sb.push(\"Uint16Array\");\n } else if (valueType == Type.i16) {\n sb.push(\"Int16Array\");\n } else if (valueType == Type.u32 || valueType == Type.usize32) {\n sb.push(\"Uint32Array\");\n } else if (valueType == Type.i32 || valueType == Type.isize32) {\n sb.push(\"Int32Array\");\n } else if (valueType == Type.u64 || valueType == Type.usize64) {\n sb.push(\"BigUint64Array\");\n } else if (valueType == Type.i64 || valueType == Type.isize64) {\n sb.push(\"BigInt64Array\");\n } else if (valueType == Type.f32) {\n sb.push(\"Float32Array\");\n } else if (valueType == Type.f64) {\n sb.push(\"Float64Array\");\n } else {\n // unreachable\n assert(false);\n }\n }\n }\n sb.push(\")\");\n if (!type.is(TypeFlags.Nullable)) {\n this.needsNotNull = true;\n sb.push(\" || __notnull()\");\n }\n } else {\n // Lower basic types\n sb.push(valueExpr); // basic value\n if (type.isIntegerValue && type.size == 64) {\n sb.push(\" || 0n\");\n } else if (type == Type.bool) {\n // may be stored to an Uint8Array, make sure to store 1/0\n sb.push(\" ? 1 : 0\");\n }\n }\n }\n\n ensureLiftFromMemoryFn(valueType: Type): string {\n if (valueType.isInternalReference) {\n if (this.program.options.isWasm64) {\n this.needsGetU64 = true;\n return \"__getU64\";\n } else {\n this.needsGetU32 = true;\n return \"__getU32\";\n }\n }\n if (valueType == Type.i8) {\n this.needsGetI8 = true;\n return \"__getI8\";\n }\n if (valueType == Type.u8 || valueType == Type.bool) {\n this.needsGetU8 = true;\n return \"__getU8\";\n }\n if (valueType == Type.i16) {\n this.needsGetI16 = true;\n return \"__getI16\";\n }\n if (valueType == Type.u16) {\n this.needsGetU16 = true;\n return \"__getU16\";\n }\n if (valueType == Type.i32 || valueType == Type.isize32) {\n this.needsGetI32 = true;\n return \"__getI32\";\n }\n if (valueType == Type.u32 || valueType == Type.usize32) {\n this.needsGetU32 = true;\n return \"__getU32\";\n }\n if (valueType == Type.i64 || valueType == Type.isize64) {\n this.needsGetI64 = true;\n return \"__getI64\";\n }\n if (valueType == Type.u64 || valueType == Type.usize64) {\n this.needsGetU64 = true;\n return \"__getU64\";\n }\n if (valueType == Type.f32) {\n this.needsGetF32 = true;\n return \"__getF32\";\n }\n if (valueType == Type.f64) {\n this.needsGetF64 = true;\n return \"__getF64\";\n }\n return \"(() => { throw Error(\\\"unsupported type\\\"); })\";\n }\n\n /** Lifts a WebAssembly memory address to a JavaScript value, as a function. */\n makeLiftFromMemoryFunc(valueType: Type, sb: string[] = this.sb): void {\n let fn = this.ensureLiftFromMemoryFn(valueType);\n if (\n // Compound or with coercion, see makeLiftFromValue\n valueType.isInternalReference ||\n valueType == Type.bool ||\n (valueType.isUnsignedIntegerValue && valueType.size >= 32)\n ) {\n sb.push(\"pointer => \");\n this.makeLiftFromValue(`${fn}(pointer)`, valueType, sb);\n } else {\n sb.push(fn);\n }\n }\n\n /** Lifts a WebAssembly memory address to a JavaScript value, as a call. */\n makeLiftFromMemoryCall(valueType: Type, sb: string[] = this.sb, pointerExpr: string = \"pointer\"): void {\n let fn = this.ensureLiftFromMemoryFn(valueType);\n if (valueType.isInternalReference) {\n this.makeLiftFromValue(`${fn}(${pointerExpr})`, valueType, sb);\n } else {\n sb.push(fn);\n sb.push(\"(\");\n sb.push(pointerExpr);\n sb.push(\")\");\n if (valueType == Type.bool) {\n sb.push(\" != 0\");\n }\n // Other integers are known to be coerced here by loading from a view\n }\n }\n\n ensureLowerToMemoryFn(valueType: Type): string {\n if (valueType.isInternalReference) {\n if (this.program.options.isWasm64) {\n this.needsSetU64 = true;\n return \"__setU64\";\n } else {\n this.needsSetU32 = true;\n return \"__setU32\";\n }\n }\n if (valueType == Type.i8 || valueType == Type.u8 || valueType == Type.bool) {\n this.needsSetU8 = true;\n return \"__setU8\";\n }\n if (valueType == Type.i16 || valueType == Type.u16) {\n this.needsSetU16 = true;\n return \"__setU16\";\n }\n if (valueType == Type.i32 || valueType == Type.u32 || valueType == Type.isize32 || valueType == Type.usize32) {\n this.needsSetU32 = true;\n return \"__setU32\";\n }\n if (valueType == Type.i64 || valueType == Type.u64 || valueType == Type.isize64 || valueType == Type.usize64) {\n this.needsSetU64 = true;\n return \"__setU64\";\n }\n if (valueType == Type.f32) {\n this.needsSetF32 = true;\n return \"__setF32\";\n }\n if (valueType == Type.f64) {\n this.needsSetF64 = true;\n return \"__setF64\";\n }\n return \"(() => { throw Error(\\\"unsupported type\\\") })\";\n }\n\n /** Lowers a JavaScript value to a WebAssembly memory address, as a function. */\n makeLowerToMemoryFunc(valueType: Type, sb: string[] = this.sb): void {\n let fn = this.ensureLowerToMemoryFn(valueType);\n if (valueType.isInternalReference) {\n sb.push(\"(pointer, value) => { \");\n sb.push(fn);\n sb.push(\"(pointer, \");\n this.makeLowerToValue(\"value\", valueType, sb);\n sb.push(\"); }\");\n } else {\n sb.push(fn);\n }\n }\n\n /** Lowers a JavaScript value to a WebAssembly memory address, as a call. */\n makeLowerToMemoryCall(valueType: Type, sb: string[] = this.sb, pointerExpr: string = \"pointer\", valueExpr: string = \"value\"): void {\n let fn = this.ensureLowerToMemoryFn(valueType);\n sb.push(fn);\n sb.push(\"(\");\n sb.push(pointerExpr);\n sb.push(\", \");\n this.makeLowerToValue(valueExpr, valueType, sb);\n sb.push(\")\");\n }\n\n makeLiftRecord(clazz: Class): string {\n assert(isPlainObject(clazz));\n let sb = new Array();\n indent(sb, this.indentLevel);\n sb.push(\"function __liftRecord\");\n sb.push(clazz.id.toString());\n sb.push(\"(pointer) {\\n\");\n indent(sb, ++this.indentLevel);\n sb.push(\"// \");\n sb.push(clazz.type.toString());\n sb.push(\"\\n\");\n indent(sb, this.indentLevel);\n sb.push(\"// Hint: Opt-out from lifting as a record by providing an empty constructor\\n\");\n indent(sb, this.indentLevel);\n sb.push(\"if (!pointer) return null;\\n\");\n indent(sb, this.indentLevel++);\n sb.push(\"return {\\n\");\n let members = clazz.members;\n if (members) {\n for (let _keys = Map_keys(members), i = 0, k = _keys.length; i < k; ++i) {\n let memberName = _keys[i];\n let member = assert(members.get(memberName));\n if (member.kind != ElementKind.PropertyPrototype) continue;\n let property = (member).instance; // resolved during class finalization\n if (!property || !property.isField) continue;\n assert(property.memoryOffset >= 0);\n indent(sb, this.indentLevel);\n sb.push(property.name);\n sb.push(\": \");\n this.makeLiftFromMemoryCall(property.type, sb, `pointer + ${property.memoryOffset}`);\n sb.push(\",\\n\");\n }\n }\n indent(sb, --this.indentLevel);\n sb.push(\"};\\n\");\n indent(sb, --this.indentLevel);\n sb.push(\"}\\n\");\n return sb.join(\"\");\n }\n\n makeLowerRecord(clazz: Class): string {\n assert(isPlainObject(clazz));\n let sb = new Array();\n indent(sb, this.indentLevel);\n sb.push(\"function __lowerRecord\");\n sb.push(clazz.id.toString());\n sb.push(\"(value) {\\n\");\n indent(sb, ++this.indentLevel);\n sb.push(\"// \");\n sb.push(clazz.type.toString());\n sb.push(\"\\n\");\n indent(sb, this.indentLevel);\n sb.push(\"// Hint: Opt-out from lowering as a record by providing an empty constructor\\n\");\n indent(sb, this.indentLevel);\n sb.push(\"if (value == null) return 0;\\n\");\n indent(sb, this.indentLevel);\n sb.push(\"const pointer = exports.__pin(exports.__new(\");\n sb.push(clazz.nextMemoryOffset.toString());\n sb.push(\", \");\n sb.push(clazz.id.toString());\n sb.push(\"));\\n\");\n let members = clazz.members;\n if (members) {\n for (let _keys = Map_keys(members), i = 0, k = _keys.length; i < k; ++i) {\n let memberName = _keys[i];\n let member = assert(members.get(memberName));\n if (member.kind != ElementKind.PropertyPrototype) continue;\n let property = (member).instance; // resolved during class finalization\n if (!property || !property.isField) continue;\n assert(property.memoryOffset >= 0);\n indent(sb, this.indentLevel);\n this.makeLowerToMemoryCall(property.type, sb, `pointer + ${property.memoryOffset}`, `value.${memberName}`);\n sb.push(\";\\n\");\n }\n }\n indent(sb, this.indentLevel);\n sb.push(\"exports.__unpin(pointer);\\n\");\n indent(sb, this.indentLevel);\n sb.push(\"return pointer;\\n\");\n indent(sb, --this.indentLevel);\n sb.push(\"}\\n\");\n return sb.join(\"\");\n }\n}\n\n// Helpers\n\nenum Mode {\n Import,\n Export\n}\n\nfunction isPlainValue(type: Type, kind: Mode): bool {\n if (kind == Mode.Import) {\n // may be stored to an Uint8Array, make sure to store 1/0\n if (type == Type.bool) return false;\n // requires coercion of undefined to 0n\n if (type.isIntegerValue && type.size == 64) return false;\n } else {\n // requires coercion from 1/0 to true/false\n if (type == Type.bool) return false;\n // requires coercion from signed to unsigned for u32 and u64.\n // Note, u8 and u16 doesn't overflow in native type so mark as plain\n if (type.isUnsignedIntegerValue && type.size >= 32) return false;\n }\n return !type.isInternalReference;\n}\n\nfunction isPlainFunction(signature: Signature, mode: Mode): bool {\n let parameterTypes = signature.parameterTypes;\n let inverseMode = mode == Mode.Import ? Mode.Export : Mode.Import;\n if (!isPlainValue(signature.returnType, mode)) return false;\n for (let i = 0, k = parameterTypes.length; i < k; ++i) {\n if (!isPlainValue(parameterTypes[i], inverseMode)) return false;\n }\n return true;\n}\n\nfunction isPlainObject(clazz: Class): bool {\n // A plain object does not inherit and does not have a constructor or private properties\n if (clazz.base && !clazz.prototype.implicitlyExtendsObject) return false;\n let members = clazz.members;\n if (members) {\n for (let _values = Map_values(members), i = 0, k = _values.length; i < k; ++i) {\n let member = _values[i];\n if (member.isAny(CommonFlags.Private | CommonFlags.Protected)) return false;\n if (member.is(CommonFlags.Constructor)) {\n // a generated constructor is ok\n if (member.declaration.range != Source.native.range) return false;\n }\n }\n }\n return true;\n}\n\nfunction indentText(text: string, indentLevel: i32, sb: string[], butFirst: bool = false): void {\n let lineStart = 0;\n let length = text.length;\n let pos = 0;\n while (pos < length) {\n if (text.charCodeAt(pos) == CharCode.LineFeed) {\n if (butFirst) butFirst = false;\n else indent(sb, indentLevel);\n sb.push(text.substring(lineStart, lineStart = pos + 1));\n }\n ++pos;\n }\n if (lineStart < length) {\n if (!butFirst) indent(sb, indentLevel);\n sb.push(text.substring(lineStart));\n }\n}\n\nexport function liftRequiresExportRuntime(type: Type): bool {\n // TODO: enable v128 in signatures in future\n // if (type.isVectorValue) return true;\n if (!type.isInternalReference) return false;\n let clazz = type.classReference;\n if (!clazz) {\n // functions lift as internref using __pin\n assert(type.signatureReference);\n return true;\n }\n let program = clazz.program;\n // flat collections lift via memory copy\n if (\n clazz.extendsPrototype(program.arrayBufferInstance.prototype) ||\n clazz.extendsPrototype(program.stringInstance.prototype) ||\n clazz.extendsPrototype(program.arrayBufferViewInstance.prototype)\n ) {\n return false;\n }\n // nested collections lift depending on element type\n if (\n clazz.extendsPrototype(program.arrayPrototype) ||\n clazz.extendsPrototype(program.staticArrayPrototype)\n ) {\n return liftRequiresExportRuntime(clazz.getArrayValueType());\n }\n // complex objects lift as internref using __pin. plain objects may or may not\n // involve the runtime: assume that they do to avoid potentially costly checks\n return true;\n}\n\nexport function lowerRequiresExportRuntime(type: Type): bool {\n // TODO: enable v128 in signatures in future\n // if (type.isVectorValue) return true;\n if (!type.isInternalReference) return false;\n let clazz = type.classReference;\n if (!clazz) {\n // lowers by reference\n assert(type.signatureReference);\n return false;\n }\n // lowers using __new\n let program = clazz.program;\n if (\n clazz.extendsPrototype(program.arrayBufferInstance.prototype) ||\n clazz.extendsPrototype(program.stringInstance.prototype) ||\n clazz.extendsPrototype(program.arrayBufferViewInstance.prototype) ||\n clazz.extendsPrototype(program.arrayPrototype) ||\n clazz.extendsPrototype(program.staticArrayPrototype)\n ) {\n return true;\n }\n // complex objects lower via internref by reference,\n // while plain objects lower using __new\n return isPlainObject(clazz);\n}\n\n/** Makes a checked setter function to memory for the given basic type. */\nfunction makeCheckedSetter(type: string, fn: string): string {\n return ` function __set${type}(pointer, value) {\n try {\n __dataview.${fn}(pointer, value, true);\n } catch {\n __dataview = new DataView(memory.buffer);\n __dataview.${fn}(pointer, value, true);\n }\n }\n`;\n}\n\n/** Makes a checked getter function from memory for the given basic type. */\nfunction makeCheckedGetter(type: string, fn: string): string {\n return ` function __get${type}(pointer) {\n try {\n return __dataview.${fn}(pointer, true);\n } catch {\n __dataview = new DataView(memory.buffer);\n return __dataview.${fn}(pointer, true);\n }\n }\n`;\n}\n", "/**\n * @fileoverview The AssemblyScript compiler.\n * @license Apache-2.0\n */\n\n// helper globals used by mangleImportName\nlet mangleImportName_moduleName: string = \"\";\nlet mangleImportName_elementName: string = \"\";\n\nimport {\n BuiltinNames,\n BuiltinFunctionContext,\n BuiltinVariableContext,\n builtinFunctions,\n builtinVariables_onAccess,\n builtinVariables_onCompile,\n compileVisitGlobals,\n compileVisitMembers,\n compileRTTI\n} from \"./builtins\";\n\nimport {\n Range,\n DiagnosticCode,\n DiagnosticEmitter\n} from \"./diagnostics\";\n\nimport {\n Module,\n MemorySegment,\n ExpressionRef,\n UnaryOp,\n BinaryOp,\n TypeRef,\n FunctionRef,\n ExpressionId,\n GlobalRef,\n FeatureFlags,\n Index,\n getExpressionId,\n getExpressionType,\n getConstValueI32,\n getConstValueI64Low,\n getConstValueI64High,\n getConstValueF32,\n getConstValueF64,\n getConstValueV128,\n getBlockChildCount,\n getBlockChildAt,\n getBlockName,\n getLocalSetValue,\n getGlobalGetName,\n isGlobalMutable,\n getSideEffects,\n SideEffects,\n SwitchBuilder,\n ExpressionRunnerFlags,\n isConstZero,\n isConstNegZero,\n isConstExpressionNaN,\n ensureType,\n createType\n} from \"./module\";\n\nimport {\n CommonFlags,\n STATIC_DELIMITER,\n INDEX_SUFFIX,\n CommonNames,\n Feature,\n Target,\n Runtime\n} from \"./common\";\n\nimport {\n Program,\n ClassPrototype,\n Class,\n Element,\n ElementKind,\n DeclaredElement,\n Enum,\n FunctionPrototype,\n Function,\n Global,\n Local,\n EnumValue,\n Property,\n VariableLikeElement,\n ConstantValueKind,\n OperatorKind,\n DecoratorFlags,\n PropertyPrototype,\n IndexSignature,\n File,\n mangleInternalName,\n TypeDefinition\n} from \"./program\";\n\nimport {\n FlowFlags,\n Flow,\n LocalFlags,\n FieldFlags,\n ConditionKind\n} from \"./flow\";\n\nimport {\n Resolver,\n ReportMode\n} from \"./resolver\";\n\nimport {\n Token,\n operatorTokenToString\n} from \"./tokenizer\";\n\nimport {\n Node,\n NodeKind,\n DecoratorKind,\n AssertionKind,\n SourceKind,\n FunctionTypeNode,\n DecoratorNode,\n\n Statement,\n BlockStatement,\n BreakStatement,\n ClassDeclaration,\n ContinueStatement,\n DeclarationStatement,\n DoStatement,\n EmptyStatement,\n EnumDeclaration,\n ExportDefaultStatement,\n ExportStatement,\n ExpressionStatement,\n FieldDeclaration,\n ForStatement,\n ForOfStatement,\n FunctionDeclaration,\n IfStatement,\n ImportStatement,\n InstanceOfExpression,\n NamespaceDeclaration,\n ReturnStatement,\n SwitchStatement,\n ThrowStatement,\n TryStatement,\n VariableStatement,\n VoidStatement,\n WhileStatement,\n\n Expression,\n AssertionExpression,\n BinaryExpression,\n CallExpression,\n CommaExpression,\n ElementAccessExpression,\n FloatLiteralExpression,\n FunctionExpression,\n IdentifierExpression,\n IntegerLiteralExpression,\n LiteralExpression,\n LiteralKind,\n NewExpression,\n ObjectLiteralExpression,\n ParenthesizedExpression,\n PropertyAccessExpression,\n TernaryExpression,\n ArrayLiteralExpression,\n StringLiteralExpression,\n TemplateLiteralExpression,\n UnaryPostfixExpression,\n UnaryPrefixExpression,\n CompiledExpression,\n\n TypeNode,\n NamedTypeNode,\n\n findDecorator,\n isTypeOmitted,\n Source,\n TypeDeclaration\n} from \"./ast\";\n\nimport {\n Type,\n TypeKind,\n TypeFlags,\n Signature,\n typesToRefs\n} from \"./types\";\n\nimport {\n writeI8,\n writeI16,\n writeI32,\n writeI64,\n writeF32,\n writeF64,\n writeV128,\n cloneMap,\n isPowerOf2,\n readI32,\n isIdentifier,\n accuratePow64,\n v128_zero,\n v128_ones,\n} from \"./util\";\n\nimport {\n RtraceMemory\n} from \"./passes/rtrace\";\n\nimport {\n ShadowStackPass\n} from \"./passes/shadowstack\";\n\nimport {\n liftRequiresExportRuntime,\n lowerRequiresExportRuntime\n} from \"./bindings/js\";\n\n/** Features enabled by default. */\nexport const defaultFeatures = Feature.MutableGlobals\n | Feature.SignExtension\n | Feature.NontrappingF2I\n | Feature.BulkMemory;\n\n/** Compiler options. */\nexport class Options {\n constructor() { /* as internref */ }\n\n /** WebAssembly target. Defaults to {@link Target.Wasm32}. */\n target: Target = Target.Wasm32;\n /** Runtime type. Defaults to Incremental GC. */\n runtime: Runtime = Runtime.Incremental;\n /** If true, indicates that debug information will be emitted by Binaryen. */\n debugInfo: bool = false;\n /** If true, replaces assertions with nops. */\n noAssert: bool = false;\n /** It true, exports the memory to the embedder. */\n exportMemory: bool = true;\n /** If true, imports the memory provided by the embedder. */\n importMemory: bool = false;\n /** Initial memory size, in pages. */\n initialMemory: u32 = 0;\n /** Maximum memory size, in pages. */\n maximumMemory: u32 = 0;\n /** If true, memory is declared as shared. */\n sharedMemory: bool = false;\n /** If true, imported memory is zero filled. */\n zeroFilledMemory: bool = false;\n /** If true, imports the function table provided by the embedder. */\n importTable: bool = false;\n /** If true, exports the function table. */\n exportTable: bool = false;\n /** If true, generates information necessary for source maps. */\n sourceMap: bool = false;\n /** Unchecked behavior. Defaults to only using unchecked operations inside unchecked(). */\n uncheckedBehavior: UncheckedBehavior = UncheckedBehavior.Default;\n /** If given, exports the start function instead of calling it implicitly. */\n exportStart: string | null = null;\n /** Static memory start offset. */\n memoryBase: u32 = 0;\n /** Static table start offset. */\n tableBase: u32 = 0;\n /** Global aliases, mapping alias names as the key to internal names to be aliased as the value. */\n globalAliases: Map | null = null;\n /** Features to activate by default. */\n features: Feature = defaultFeatures;\n /** If true, disallows unsafe features in user code. */\n noUnsafe: bool = false;\n /** If true, enables pedantic diagnostics. */\n pedantic: bool = false;\n /** Indicates a very low (<64k) memory limit. */\n lowMemoryLimit: u32 = 0;\n /** If true, exports the runtime helpers. */\n exportRuntime: bool = false;\n /** Stack size in bytes, if using a stack. */\n stackSize: i32 = 0;\n /** Semantic major bundle version from root package.json */\n bundleMajorVersion: i32 = 0;\n /** Semantic minor bundle version from root package.json */\n bundleMinorVersion: i32 = 0;\n /** Semantic patch bundle version from root package.json */\n bundlePatchVersion: i32 = 0;\n\n /** Hinted optimize level. Not applied by the compiler itself. */\n optimizeLevelHint: i32 = 0;\n /** Hinted shrink level. Not applied by the compiler itself. */\n shrinkLevelHint: i32 = 0;\n /** Hinted basename. */\n basenameHint: string = \"output\";\n /** Hinted bindings generation. */\n bindingsHint: bool = false;\n\n /** Tests if the target is WASM64 or, otherwise, WASM32. */\n get isWasm64(): bool {\n return this.target == Target.Wasm64;\n }\n\n /** Gets the unsigned size type matching the target. */\n get usizeType(): Type {\n return this.target == Target.Wasm64 ? Type.usize64 : Type.usize32;\n }\n\n /** Gets the signed size type matching the target. */\n get isizeType(): Type {\n return this.target == Target.Wasm64 ? Type.isize64 : Type.isize32;\n }\n\n /** Gets the size type reference matching the target. */\n get sizeTypeRef(): TypeRef {\n return this.target == Target.Wasm64 ? TypeRef.I64 : TypeRef.I32;\n }\n\n /** Gets if any optimizations will be performed. */\n get willOptimize(): bool {\n return this.optimizeLevelHint > 0 || this.shrinkLevelHint > 0;\n }\n\n /** Sets whether a feature is enabled. */\n setFeature(feature: Feature, on: bool = true): void {\n if (on) {\n // Enabling Stringref also enables GC\n if (feature & Feature.Stringref) feature |= Feature.GC;\n // Enabling GC also enables Reference Types\n if (feature & Feature.GC) feature |= Feature.ReferenceTypes;\n // Enabling Relaxed SIMD also enables SIMD\n if (feature & Feature.RelaxedSimd) feature |= Feature.Simd;\n this.features |= feature;\n } else {\n // Disabling Reference Types also disables GC\n if (feature & Feature.ReferenceTypes) feature |= Feature.GC;\n // Disabling GC also disables Stringref\n if (feature & Feature.GC) feature |= Feature.Stringref;\n // Disabling SIMD also disables Relaxed SIMD\n if (feature & Feature.Simd) feature |= Feature.RelaxedSimd;\n this.features &= ~feature;\n }\n }\n\n /** Tests if a specific feature is activated. */\n hasFeature(feature: Feature): bool {\n return (this.features & feature) != 0;\n }\n}\n\n/** Behaviors regarding unchecked operations. */\nexport const enum UncheckedBehavior {\n /** Only use unchecked operations inside unchecked(). */\n Default = 0,\n /** Never use unchecked operations. */\n Never = 1,\n /** Always use unchecked operations if possible. */\n Always = 2\n}\n\n/** Various constraints in expression compilation. */\nexport const enum Constraints {\n None = 0,\n\n /** Must implicitly convert to the target type. */\n ConvImplicit = 1 << 0,\n /** Must explicitly convert to the target type. */\n ConvExplicit = 1 << 1,\n /** Must wrap small integer values to match the target type. */\n MustWrap = 1 << 2,\n\n /** Indicates that the value will be dropped immediately. */\n WillDrop = 1 << 3,\n /** Indicates that static data is preferred. */\n PreferStatic = 1 << 4,\n /** Indicates that the value will become `this` of a property access or instance call. */\n IsThis = 1 << 5\n}\n\n/** Runtime features to be activated by the compiler. */\nexport const enum RuntimeFeatures {\n None = 0,\n /** Requires data setup. */\n Data = 1 << 0,\n /** Requires a stack. */\n Stack = 1 << 1,\n /** Requires heap setup. */\n Heap = 1 << 2,\n /** Requires runtime type information setup. */\n Rtti = 1 << 3,\n /** Requires the built-in globals visitor. */\n visitGlobals = 1 << 4,\n /** Requires the built-in members visitor. */\n visitMembers = 1 << 5,\n /** Requires the setArgumentsLength export. */\n setArgumentsLength = 1 << 6\n}\n\n/** Imported default names of compiler-generated elements. */\nexport namespace ImportNames {\n /** Name of the default namespace */\n export const DefaultNamespace = \"env\";\n /** Name of the memory instance, if imported. */\n export const Memory = \"memory\";\n /** Name of the table instance, if imported. */\n export const Table = \"table\";\n}\n\n/** Exported names of compiler-generated elements. */\nexport namespace ExportNames {\n /** Name of the memory instance, if exported. */\n export const Memory = \"memory\";\n /** Name of the table instance, if exported. */\n export const Table = \"table\";\n /** Name of the argumentsLength varargs helper global. */\n export const argumentsLength = \"__argumentsLength\";\n /** Name of the alternative argumentsLength setter function. */\n export const setArgumentsLength = \"__setArgumentsLength\";\n}\n\n/** Functions to export if `--exportRuntime` is set. */\nexport const runtimeFunctions = [ \"__new\", \"__pin\", \"__unpin\", \"__collect\" ];\n/** Globals to export if `--exportRuntime` is set. */\nexport const runtimeGlobals = [ \"__rtti_base\" ];\n\n/** Compiler interface. */\nexport class Compiler extends DiagnosticEmitter {\n\n /** Program reference. */\n program: Program;\n /** Module instance being compiled. */\n get module(): Module { return this.program.module; }\n /** Provided options. */\n get options(): Options { return this.program.options; }\n /** Resolver reference. */\n get resolver(): Resolver { return this.program.resolver; }\n\n /** Current control flow. */\n currentFlow: Flow;\n /** Current parent element if not a function, i.e. an enum or namespace. */\n currentParent: Element | null = null;\n /** Current type in compilation. */\n currentType: Type = Type.void;\n /** Start function statements. */\n currentBody: ExpressionRef[];\n /** Counting memory offset. */\n memoryOffset: i64;\n /** Memory segments being compiled. */\n memorySegments: MemorySegment[] = [];\n /** Map of already compiled static string segments. */\n stringSegments: Map = new Map();\n /** Function table being compiled. First elem is blank. */\n functionTable: Function[] = [];\n /** Arguments length helper global. */\n builtinArgumentsLength: GlobalRef = 0;\n /** Requires runtime features. */\n runtimeFeatures: RuntimeFeatures = RuntimeFeatures.None;\n /** Current inline functions stack. */\n inlineStack: Function[] = [];\n /** Lazily compiled functions. */\n lazyFunctions: Set = new Set();\n /** Pending instanceof helpers and their names. */\n pendingInstanceOf: Map = new Map();\n /** Stubs to defer calls to overridden methods. */\n overrideStubs: Set = new Set();\n /** Elements currently undergoing compilation. */\n pendingElements: Set = new Set();\n /** Elements, that are module exports, already processed */\n doneModuleExports: Set = new Set();\n /** Shadow stack reference. */\n shadowStack!: ShadowStackPass;\n /** Whether the module has custom function exports. */\n hasCustomFunctionExports: bool = false;\n /** Whether the module would use the exported runtime to lift/lower. */\n desiresExportRuntime: bool = false;\n\n /** Compiles a {@link Program} to a {@link Module} using the specified options. */\n static compile(program: Program): Module {\n return new Compiler(program).compile();\n }\n\n /** Constructs a new compiler for a {@link Program} using the specified options. */\n constructor(program: Program) {\n super(program.diagnostics);\n this.program = program;\n let module = program.module;\n let options = program.options;\n if (options.memoryBase) {\n this.memoryOffset = i64_new(options.memoryBase);\n module.setLowMemoryUnused(false);\n } else {\n if (!options.lowMemoryLimit && options.optimizeLevelHint >= 2) {\n this.memoryOffset = i64_new(1024);\n module.setLowMemoryUnused(true);\n } else {\n this.memoryOffset = i64_new(8);\n module.setLowMemoryUnused(false);\n }\n }\n let featureFlags: FeatureFlags = 0;\n if (options.hasFeature(Feature.SignExtension)) featureFlags |= FeatureFlags.SignExt;\n if (options.hasFeature(Feature.MutableGlobals)) featureFlags |= FeatureFlags.MutableGlobals;\n if (options.hasFeature(Feature.NontrappingF2I)) featureFlags |= FeatureFlags.TruncSat;\n if (options.hasFeature(Feature.BulkMemory)) featureFlags |= FeatureFlags.BulkMemory;\n if (options.hasFeature(Feature.Simd)) featureFlags |= FeatureFlags.SIMD;\n if (options.hasFeature(Feature.Threads)) featureFlags |= FeatureFlags.Atomics;\n if (options.hasFeature(Feature.ExceptionHandling)) featureFlags |= FeatureFlags.ExceptionHandling;\n if (options.hasFeature(Feature.TailCalls)) featureFlags |= FeatureFlags.TailCall;\n if (options.hasFeature(Feature.ReferenceTypes)) featureFlags |= FeatureFlags.ReferenceTypes;\n if (options.hasFeature(Feature.MultiValue)) featureFlags |= FeatureFlags.MultiValue;\n if (options.hasFeature(Feature.GC)) featureFlags |= FeatureFlags.GC;\n if (options.hasFeature(Feature.Memory64)) featureFlags |= FeatureFlags.Memory64;\n if (options.hasFeature(Feature.RelaxedSimd)) featureFlags |= FeatureFlags.RelaxedSIMD;\n if (options.hasFeature(Feature.ExtendedConst)) featureFlags |= FeatureFlags.ExtendedConst;\n if (options.hasFeature(Feature.Stringref)) featureFlags |= FeatureFlags.Stringref;\n module.setFeatures(featureFlags);\n\n // set up the main start function\n let startFunctionInstance = program.makeNativeFunction(BuiltinNames.start, Signature.create(program, [], Type.void));\n startFunctionInstance.internalName = BuiltinNames.start;\n this.currentFlow = startFunctionInstance.flow;\n this.currentBody = new Array();\n this.shadowStack = new ShadowStackPass(this);\n }\n\n /** Performs compilation of the underlying {@link Program} to a {@link Module}. */\n compile(): Module {\n let options = this.options;\n let module = this.module;\n let program = this.program;\n let resolver = this.resolver;\n let hasShadowStack = options.stackSize > 0; // implies runtime=incremental\n\n // initialize lookup maps, built-ins, imports, exports, etc.\n this.program.initialize();\n\n // obtain the main start function\n let startFunctionInstance = this.currentFlow.targetFunction;\n assert(startFunctionInstance.internalName == BuiltinNames.start);\n let startFunctionBody = this.currentBody;\n assert(startFunctionBody.length == 0);\n\n // compile entry file(s) while traversing reachable elements\n let files = program.filesByName;\n // TODO: for (let file of files.values()) {\n for (let _values = Map_values(files), i = 0, k = _values.length; i < k; ++i) {\n let file = unchecked(_values[i]);\n if (file.source.sourceKind == SourceKind.UserEntry) {\n this.compileFile(file);\n this.compileModuleExports(file);\n }\n }\n\n // compile and export runtime if requested or necessary\n if (this.options.exportRuntime || (this.options.bindingsHint && this.desiresExportRuntime)) {\n for (let i = 0, k = runtimeFunctions.length; i < k; ++i) {\n let name = runtimeFunctions[i];\n let instance = program.requireFunction(name);\n if (this.compileFunction(instance) && !module.hasExport(name)) {\n module.addFunctionExport(instance.internalName, name);\n }\n }\n for (let i = 0, k = runtimeGlobals.length; i < k; ++i) {\n let name = runtimeGlobals[i];\n let instance = program.requireGlobal(name);\n if (this.compileGlobal(instance) && !module.hasExport(name)) {\n module.addGlobalExport(instance.internalName, name);\n }\n }\n }\n\n // compile lazy functions\n let lazyFunctions = this.lazyFunctions;\n do {\n let functionsToCompile = new Array();\n // TODO: for (let instance of lazyLibraryFunctions) {\n for (let _values = Set_values(lazyFunctions), i = 0, k = _values.length; i < k; ++i) {\n let instance = unchecked(_values[i]);\n functionsToCompile.push(instance);\n }\n lazyFunctions.clear();\n for (let i = 0, k = functionsToCompile.length; i < k; ++i) {\n this.compileFunction(unchecked(functionsToCompile[i]), true);\n }\n } while (lazyFunctions.size);\n\n // set up override stubs\n let functionTable = this.functionTable;\n let overrideStubs = this.overrideStubs;\n for (let i = 0, k = functionTable.length; i < k; ++i) {\n let instance = functionTable[i];\n if (instance.is(CommonFlags.Overridden)) {\n assert(instance.is(CommonFlags.Instance));\n functionTable[i] = this.ensureOverrideStub(instance); // includes varargs stub\n } else if (instance.signature.requiredParameters < instance.signature.parameterTypes.length) {\n functionTable[i] = this.ensureVarargsStub(instance);\n }\n }\n let overrideStubsSeen = new Set();\n do {\n // override stubs and overrides have cross-dependencies on each other, in that compiling\n // either may discover the respective other. do this in a loop until no more are found.\n resolver.discoveredOverride = false;\n for (let _values = Set_values(overrideStubs), i = 0, k = _values.length; i < k; ++i) {\n let instance = unchecked(_values[i]);\n let overrideInstances = resolver.resolveOverrides(instance);\n if (overrideInstances) {\n for (let i = 0, k = overrideInstances.length; i < k; ++i) {\n this.compileFunction(overrideInstances[i]);\n }\n }\n overrideStubsSeen.add(instance);\n }\n } while (overrideStubs.size > overrideStubsSeen.size || resolver.discoveredOverride);\n overrideStubsSeen.clear();\n for (let _values = Set_values(overrideStubs), i = 0, k = _values.length; i < k; ++i) {\n this.finalizeOverrideStub(_values[i]);\n }\n\n // compile pending instanceof helpers\n for (let _keys = Map_keys(this.pendingInstanceOf), i = 0, k = _keys.length; i < k; ++i) {\n let elem = _keys[i];\n let name = assert(this.pendingInstanceOf.get(elem));\n switch (elem.kind) {\n case ElementKind.Class:\n case ElementKind.Interface: {\n this.finalizeInstanceOf(elem, name);\n break;\n }\n case ElementKind.ClassPrototype:\n case ElementKind.InterfacePrototype: {\n this.finalizeAnyInstanceOf(elem, name);\n break;\n }\n default: assert(false);\n }\n }\n\n // finalize runtime features\n module.removeGlobal(BuiltinNames.rtti_base);\n if (this.runtimeFeatures & RuntimeFeatures.Rtti) compileRTTI(this);\n if (this.runtimeFeatures & RuntimeFeatures.visitGlobals) compileVisitGlobals(this);\n if (this.runtimeFeatures & RuntimeFeatures.visitMembers) compileVisitMembers(this);\n\n let memoryOffset = i64_align(this.memoryOffset, options.usizeType.byteSize);\n\n // finalize data\n module.removeGlobal(BuiltinNames.data_end);\n if ((this.runtimeFeatures & RuntimeFeatures.Data) != 0 || hasShadowStack) {\n if (options.isWasm64) {\n module.addGlobal(BuiltinNames.data_end, TypeRef.I64, false,\n module.i64(i64_low(memoryOffset), i64_high(memoryOffset))\n );\n } else {\n module.addGlobal(BuiltinNames.data_end, TypeRef.I32, false,\n module.i32(i64_low(memoryOffset))\n );\n }\n }\n\n // finalize stack (grows down from __heap_base to __data_end)\n module.removeGlobal(BuiltinNames.stack_pointer);\n if ((this.runtimeFeatures & RuntimeFeatures.Stack) != 0 || hasShadowStack) {\n memoryOffset = i64_align(\n i64_add(memoryOffset, i64_new(options.stackSize)),\n options.usizeType.byteSize\n );\n if (options.isWasm64) {\n module.addGlobal(BuiltinNames.stack_pointer, TypeRef.I64, true,\n module.i64(i64_low(memoryOffset), i64_high(memoryOffset))\n );\n } else {\n module.addGlobal(BuiltinNames.stack_pointer, TypeRef.I32, true,\n module.i32(i64_low(memoryOffset))\n );\n }\n }\n\n // finalize heap\n module.removeGlobal(BuiltinNames.heap_base);\n if ((this.runtimeFeatures & RuntimeFeatures.Heap) != 0 || hasShadowStack) {\n if (options.isWasm64) {\n module.addGlobal(BuiltinNames.heap_base, TypeRef.I64, false,\n module.i64(i64_low(memoryOffset), i64_high(memoryOffset))\n );\n } else {\n module.addGlobal(BuiltinNames.heap_base, TypeRef.I32, false,\n module.i32(i64_low(memoryOffset))\n );\n }\n }\n\n // setup default memory & table\n this.initDefaultMemory(memoryOffset);\n this.initDefaultTable();\n\n // expose the arguments length helper if there are varargs exports\n if (this.runtimeFeatures & RuntimeFeatures.setArgumentsLength) {\n module.addFunction(BuiltinNames.setArgumentsLength, TypeRef.I32, TypeRef.None, null,\n module.global_set(this.ensureArgumentsLength(), module.local_get(0, TypeRef.I32))\n );\n module.addFunctionExport(BuiltinNames.setArgumentsLength, ExportNames.setArgumentsLength);\n }\n\n // NOTE: no more element compiles from here. may go to the start function!\n\n // compile the start function if not empty or if explicitly requested\n let startIsEmpty = !startFunctionBody.length;\n let exportStart = options.exportStart;\n if (!startIsEmpty || exportStart != null) {\n let signature = startFunctionInstance.signature;\n if (!startIsEmpty && exportStart != null) {\n module.addGlobal(BuiltinNames.started, TypeRef.I32, true, module.i32(0));\n startFunctionBody.unshift(\n module.global_set(BuiltinNames.started, module.i32(1))\n );\n startFunctionBody.unshift(\n module.if(\n module.global_get(BuiltinNames.started, TypeRef.I32),\n module.return()\n )\n );\n }\n let funcRef = module.addFunction(\n startFunctionInstance.internalName,\n signature.paramRefs,\n signature.resultRefs,\n typesToRefs(startFunctionInstance.getNonParameterLocalTypes()),\n module.flatten(startFunctionBody)\n );\n startFunctionInstance.finalize(module, funcRef);\n if (exportStart == null) module.setStart(funcRef);\n else {\n if (!isIdentifier(exportStart) || module.hasExport(exportStart)) {\n this.error(\n DiagnosticCode.Start_function_name_0_is_invalid_or_conflicts_with_another_export,\n Source.native.range, exportStart\n );\n } else {\n module.addFunctionExport(startFunctionInstance.internalName, exportStart);\n }\n }\n }\n\n // Run custom passes\n if (hasShadowStack) {\n this.shadowStack.walkModule();\n }\n if (program.lookup(\"ASC_RTRACE\") != null) {\n new RtraceMemory(this).walkModule();\n }\n\n return module;\n }\n\n private initDefaultMemory(memoryOffset: i64): void {\n this.memoryOffset = memoryOffset;\n\n let options = this.options;\n let module = this.module;\n let memorySegments = this.memorySegments;\n\n let initialPages: u32 = 0;\n let maximumPages = Module.UNLIMITED_MEMORY;\n let isSharedMemory = false;\n\n if (options.memoryBase /* is specified */ || memorySegments.length) {\n initialPages = u32(i64_low(i64_shr_u(i64_align(memoryOffset, 0x10000), i64_new(16))));\n }\n\n if (options.initialMemory) {\n if (options.initialMemory < initialPages) {\n this.error(\n DiagnosticCode.Module_requires_at_least_0_pages_of_initial_memory,\n null,\n initialPages.toString()\n );\n } else {\n initialPages = options.initialMemory;\n }\n }\n\n if (options.maximumMemory) {\n if (options.maximumMemory < initialPages) {\n this.error(\n DiagnosticCode.Module_requires_at_least_0_pages_of_maximum_memory,\n null,\n initialPages.toString()\n );\n } else {\n maximumPages = options.maximumMemory;\n }\n }\n\n if (options.sharedMemory) {\n isSharedMemory = true;\n if (!options.maximumMemory) {\n this.error(\n DiagnosticCode.Shared_memory_requires_maximum_memory_to_be_defined,\n null\n );\n isSharedMemory = false;\n }\n if (!options.hasFeature(Feature.Threads)) {\n this.error(\n DiagnosticCode.Shared_memory_requires_feature_threads_to_be_enabled,\n null\n );\n isSharedMemory = false;\n }\n }\n\n // check that we didn't exceed lowMemoryLimit already\n let lowMemoryLimit32 = options.lowMemoryLimit;\n if (lowMemoryLimit32) {\n let lowMemoryLimit = i64_new(lowMemoryLimit32 & ~15);\n if (i64_gt(memoryOffset, lowMemoryLimit)) {\n this.error(\n DiagnosticCode.Low_memory_limit_exceeded_by_static_data_0_1,\n null, i64_to_string(memoryOffset), i64_to_string(lowMemoryLimit)\n );\n }\n }\n\n // Setup internal memory with default name \"0\"\n module.setMemory(\n initialPages,\n maximumPages,\n memorySegments,\n options.target,\n options.exportMemory ? ExportNames.Memory : null,\n CommonNames.DefaultMemory,\n isSharedMemory\n );\n\n // import memory if requested (default memory is named '0' by Binaryen)\n if (options.importMemory) {\n module.addMemoryImport(\n CommonNames.DefaultMemory,\n ImportNames.DefaultNamespace,\n ImportNames.Memory,\n isSharedMemory\n );\n }\n }\n\n private initDefaultTable(): void {\n let options = this.options;\n let module = this.module;\n\n // import and/or export table if requested (default table is named '0' by Binaryen)\n if (options.importTable) {\n module.addTableImport(\n CommonNames.DefaultTable,\n ImportNames.DefaultNamespace,\n ImportNames.Table\n );\n if (options.pedantic && options.willOptimize) {\n this.pedantic(\n DiagnosticCode.Importing_the_table_disables_some_indirect_call_optimizations,\n null\n );\n }\n }\n if (options.exportTable) {\n module.addTableExport(CommonNames.DefaultTable, ExportNames.Table);\n if (options.pedantic && options.willOptimize) {\n this.pedantic(\n DiagnosticCode.Exporting_the_table_disables_some_indirect_call_optimizations,\n null\n );\n }\n }\n\n // set up function table (first elem is blank)\n let tableBase = options.tableBase;\n if (!tableBase) tableBase = 1; // leave first elem blank\n let functionTable = this.functionTable;\n let functionTableNames = new Array(functionTable.length);\n for (let i = 0, k = functionTable.length; i < k; ++i) {\n functionTableNames[i] = functionTable[i].internalName;\n }\n\n let initialTableSize = tableBase + functionTable.length;\n let maximumTableSize = Module.UNLIMITED_TABLE;\n\n if (!(options.importTable || options.exportTable)) {\n // use fixed size for non-imported and non-exported tables\n maximumTableSize = initialTableSize;\n if (options.willOptimize) {\n // Hint for directize pass which indicate table's content will not change\n // and can be better optimized\n module.setPassArgument(\"directize-initial-contents-immutable\", \"true\");\n }\n }\n module.addFunctionTable(\n CommonNames.DefaultTable,\n initialTableSize,\n maximumTableSize,\n functionTableNames,\n module.i32(tableBase)\n );\n }\n\n // === Exports ==================================================================================\n\n /** Compiles the respective module exports for the specified entry file. */\n private compileModuleExports(file: File): void {\n let exports = file.exports;\n if (exports) {\n // TODO: for (let [elementName, element] of exports) {\n for (let _keys = Map_keys(exports), i = 0, k = _keys.length; i < k; ++i) {\n let elementName = unchecked(_keys[i]);\n let element = assert(exports.get(elementName));\n this.compileModuleExport(elementName, element);\n }\n }\n let exportsStar = file.exportsStar;\n if (exportsStar) {\n for (let i = 0, k = exportsStar.length; i < k; ++i) {\n this.compileModuleExports(exportsStar[i]);\n }\n }\n }\n\n /** Compiles the respective module export(s) for the specified element. */\n private compileModuleExport(name: string, element: DeclaredElement, prefix: string = \"\"): void {\n let module = this.module;\n switch (element.kind) {\n case ElementKind.FunctionPrototype: {\n // obtain the default instance\n let functionPrototype = element;\n if (!functionPrototype.is(CommonFlags.Generic)) {\n let functionInstance = this.resolver.resolveFunction(functionPrototype, null);\n if (functionInstance) {\n this.compileModuleExport(name, functionInstance, prefix);\n }\n return;\n }\n break;\n }\n case ElementKind.Function: {\n let functionInstance = element;\n if (!functionInstance.hasDecorator(DecoratorFlags.Builtin)) {\n let signature = functionInstance.signature;\n if (signature.requiredParameters < signature.parameterTypes.length) {\n // utilize varargs stub to fill in omitted arguments\n functionInstance = this.ensureVarargsStub(functionInstance);\n this.runtimeFeatures |= RuntimeFeatures.setArgumentsLength;\n }\n this.compileFunction(functionInstance);\n if (functionInstance.is(CommonFlags.Compiled)) {\n let exportName = prefix + name;\n if (!module.hasExport(exportName)) {\n module.addFunctionExport(functionInstance.internalName, exportName);\n this.hasCustomFunctionExports = true;\n let hasManagedOperands = signature.hasManagedOperands;\n if (hasManagedOperands) {\n this.shadowStack.noteExport(exportName, signature.getManagedOperandIndices());\n }\n if (!this.desiresExportRuntime) {\n let thisType = signature.thisType;\n if (\n thisType && lowerRequiresExportRuntime(thisType) ||\n liftRequiresExportRuntime(signature.returnType)\n ) {\n this.desiresExportRuntime = true;\n } else {\n let parameterTypes = signature.parameterTypes;\n for (let i = 0, k = parameterTypes.length; i < k; ++i) {\n if (lowerRequiresExportRuntime(parameterTypes[i])) {\n this.desiresExportRuntime = true;\n break;\n }\n }\n }\n }\n }\n return;\n }\n }\n break;\n }\n case ElementKind.Global: {\n let global = element;\n let isConst = global.is(CommonFlags.Const) || global.is(CommonFlags.Static | CommonFlags.Readonly);\n if (!isConst && !this.options.hasFeature(Feature.MutableGlobals)) {\n this.warning(\n DiagnosticCode.Feature_0_is_not_enabled,\n global.identifierNode.range, \"mutable-globals\"\n );\n return;\n }\n this.compileGlobal(global);\n if (global.is(CommonFlags.Compiled)) {\n let exportName = prefix + name;\n if (!module.hasExport(exportName)) {\n module.addGlobalExport(element.internalName, exportName);\n if (!this.desiresExportRuntime) {\n let type = global.type;\n if (\n liftRequiresExportRuntime(type) ||\n !global.is(CommonFlags.Const) && lowerRequiresExportRuntime(type)\n ) {\n this.desiresExportRuntime = true;\n }\n }\n }\n if (global.type == Type.v128) {\n this.warning(\n DiagnosticCode.Exchange_of_0_values_is_not_supported_by_all_embeddings,\n global.typeNode\n ? assert(global.typeNode).range\n : global.identifierNode.range,\n \"v128\"\n );\n }\n return;\n }\n break;\n }\n case ElementKind.Enum: {\n this.compileEnum(element);\n let members = element.members;\n if (members) {\n let subPrefix = prefix + name + STATIC_DELIMITER;\n for (let _keys = Map_keys(members), i = 0, k = _keys.length; i < k; ++i) {\n let memberName = unchecked(_keys[i]);\n let member = assert(members.get(memberName));\n if (!member.is(CommonFlags.Private)) {\n this.compileModuleExport(memberName, member, subPrefix);\n }\n }\n }\n return;\n }\n case ElementKind.EnumValue: {\n let enumValue = element;\n if (!enumValue.isImmutable && !this.options.hasFeature(Feature.MutableGlobals)) {\n this.error(\n DiagnosticCode.Feature_0_is_not_enabled,\n enumValue.identifierNode.range, \"mutable-globals\"\n );\n return;\n }\n if (enumValue.is(CommonFlags.Compiled)) {\n let exportName = prefix + name;\n if (!module.hasExport(exportName)) {\n module.addGlobalExport(element.internalName, exportName);\n }\n return;\n }\n break;\n }\n }\n this.warning(\n DiagnosticCode.Only_variables_functions_and_enums_become_WebAssembly_module_exports,\n element.identifierNode.range\n );\n }\n\n // files\n\n /** Compiles the file matching the specified path. */\n compileFileByPath(normalizedPathWithoutExtension: string, reportNode: Node): void {\n let file: File;\n let filesByName = this.program.filesByName;\n let pathWithIndex: string;\n if (filesByName.has(normalizedPathWithoutExtension)) {\n file = assert(filesByName.get(normalizedPathWithoutExtension));\n } else if (filesByName.has(pathWithIndex = normalizedPathWithoutExtension + INDEX_SUFFIX)) {\n file = assert(filesByName.get(pathWithIndex));\n } else {\n this.error(\n DiagnosticCode.File_0_not_found,\n reportNode.range, normalizedPathWithoutExtension\n );\n return;\n }\n this.compileFile(file);\n }\n\n /** Compiles the specified file. */\n compileFile(file: File): void {\n if (file.is(CommonFlags.Compiled)) return;\n file.set(CommonFlags.Compiled);\n\n // compile top-level statements within the file's start function\n let startFunction = file.startFunction;\n let startSignature = startFunction.signature;\n let previousBody = this.currentBody;\n let startFunctionBody = new Array();\n this.currentBody = startFunctionBody;\n\n // compile top-level statements\n let previousFlow = this.currentFlow;\n let flow = startFunction.flow;\n this.currentFlow = flow;\n for (let statements = file.source.statements, i = 0, k = statements.length; i < k; ++i) {\n this.compileTopLevelStatement(statements[i], startFunctionBody);\n }\n // no need to insert unreachable since last statement should have done that\n this.currentFlow = previousFlow;\n this.currentBody = previousBody;\n\n // if top-level statements are present, make the per-file start function and call it in start\n if (startFunctionBody.length) {\n let module = this.module;\n let locals = startFunction.localsByIndex;\n let numLocals = locals.length;\n let varTypes = new Array(numLocals);\n for (let i = 0; i < numLocals; ++i) varTypes[i] = locals[i].type.toRef();\n const funcRef = module.addFunction(\n startFunction.internalName,\n startSignature.paramRefs,\n startSignature.resultRefs,\n varTypes,\n module.flatten(startFunctionBody)\n );\n startFunction.finalize(module, funcRef);\n previousBody.push(\n module.call(startFunction.internalName, null, TypeRef.None)\n );\n }\n }\n\n // === Globals ==================================================================================\n\n /** Tries to compile a global variable lazily. */\n compileGlobalLazy(global: Global, reportNode: Node): bool {\n if (global.is(CommonFlags.Compiled)) return !global.is(CommonFlags.Errored);\n if (global.hasAnyDecorator(DecoratorFlags.Lazy | DecoratorFlags.Builtin) || global.is(CommonFlags.Ambient)) {\n return this.compileGlobal(global); // compile now\n }\n // Otherwise the global is used before its initializer executes\n this.errorRelated(\n DiagnosticCode.Variable_0_used_before_its_declaration,\n reportNode.range, global.identifierNode.range, global.internalName\n );\n return false;\n }\n\n /** Compiles a global variable. */\n compileGlobal(global: Global): bool {\n if (global.is(CommonFlags.Compiled)) return !global.is(CommonFlags.Errored);\n global.set(CommonFlags.Compiled);\n\n let pendingElements = this.pendingElements;\n pendingElements.add(global);\n\n let module = this.module;\n let initExpr: ExpressionRef = 0;\n let typeNode = global.typeNode;\n let initializerNode = global.initializerNode;\n\n if (!global.is(CommonFlags.Resolved)) {\n\n // Resolve type if annotated\n if (typeNode) {\n let resolvedType = this.resolver.resolveType(typeNode, null, global.parent); // reports\n if (!resolvedType) {\n global.set(CommonFlags.Errored);\n pendingElements.delete(global);\n return false;\n }\n if (resolvedType == Type.void) {\n this.error(\n DiagnosticCode.Type_expected,\n typeNode.range\n );\n global.set(CommonFlags.Errored);\n pendingElements.delete(global);\n return false;\n }\n global.setType(resolvedType);\n this.program.checkTypeSupported(resolvedType, typeNode);\n\n // Otherwise infer type from initializer\n } else if (initializerNode) {\n let previousFlow = this.currentFlow;\n if (global.hasDecorator(DecoratorFlags.Lazy)) {\n this.currentFlow = global.file.startFunction.flow;\n }\n initExpr = this.compileExpression(initializerNode, Type.auto, // reports\n Constraints.MustWrap | Constraints.PreferStatic\n );\n this.currentFlow = previousFlow;\n if (this.currentType == Type.void) {\n this.error(\n DiagnosticCode.Type_0_is_not_assignable_to_type_1,\n initializerNode.range, this.currentType.toString(), \"\"\n );\n global.set(CommonFlags.Errored);\n pendingElements.delete(global);\n return false;\n }\n global.setType(this.currentType);\n\n // Error if there's neither a type nor an initializer\n } else {\n this.error(\n DiagnosticCode.Type_expected,\n global.identifierNode.range.atEnd\n );\n global.set(CommonFlags.Errored);\n pendingElements.delete(global);\n return false;\n }\n }\n\n // Handle builtins like '__heap_base' that need to be resolved but are added explicitly\n if (global.hasDecorator(DecoratorFlags.Builtin)) {\n let internalName = global.internalName;\n if (builtinVariables_onCompile.has(internalName)) { // optional\n let fn = assert(builtinVariables_onCompile.get(internalName));\n fn(new BuiltinVariableContext(this, global));\n }\n pendingElements.delete(global);\n return true;\n }\n\n let type = global.type;\n\n // Enforce either an initializer, a definitive assignment or a nullable type\n // to guarantee soundness when globals are accessed. In the absence of an\n // initializer, a definitive assignment guarantees a runtime check, whereas\n // a nullable type guarantees that obtaining default `null` is OK. Avoids:\n //\n // let foo: string;\n // function bar() {\n // foo.length; // no error in TS even though undefined\n // }\n // bar();\n if (\n !initializerNode && !global.is(CommonFlags.DefinitelyAssigned) &&\n type.isReference && !type.isNullableReference\n ) {\n this.error(\n DiagnosticCode.Initializer_definitive_assignment_or_nullable_type_expected,\n global.identifierNode.range\n );\n }\n\n let typeRef = type.toRef();\n let isDeclaredConstant = global.is(CommonFlags.Const) || global.is(CommonFlags.Static | CommonFlags.Readonly);\n let isDeclaredInline = global.hasDecorator(DecoratorFlags.Inline);\n\n // Handle imports\n if (global.is(CommonFlags.Ambient)) {\n\n // Constant global or mutable globals enabled\n if (isDeclaredConstant || this.options.hasFeature(Feature.MutableGlobals)) {\n mangleImportName(global, global.declaration);\n this.program.markModuleImport(mangleImportName_moduleName, mangleImportName_elementName, global);\n module.addGlobalImport(\n global.internalName,\n mangleImportName_moduleName,\n mangleImportName_elementName,\n typeRef,\n !isDeclaredConstant\n );\n pendingElements.delete(global);\n if (!this.desiresExportRuntime && lowerRequiresExportRuntime(type)) {\n this.desiresExportRuntime = true;\n }\n return true;\n }\n\n // Importing mutable globals is not supported in the MVP\n this.error(\n DiagnosticCode.Feature_0_is_not_enabled,\n global.declaration.range, \"mutable-globals\"\n );\n global.set(CommonFlags.Errored);\n pendingElements.delete(global);\n return false;\n }\n\n // The MVP does not yet support initializer expressions other than constants and gets of\n // imported immutable globals, hence such initializations must be performed in the start.\n let initializeInStart = false;\n\n // Evaluate initializer if present\n if (initializerNode) {\n if (!initExpr) {\n let previousFlow = this.currentFlow;\n if (global.hasDecorator(DecoratorFlags.Lazy)) {\n this.currentFlow = global.file.startFunction.flow;\n }\n initExpr = this.compileExpression(initializerNode, type,\n Constraints.ConvImplicit | Constraints.MustWrap | Constraints.PreferStatic\n );\n this.currentFlow = previousFlow;\n }\n\n // If not a constant expression, attempt to precompute\n if (!module.isConstExpression(initExpr)) {\n if (isDeclaredConstant) {\n let precomp = module.runExpression(initExpr, ExpressionRunnerFlags.PreserveSideeffects);\n if (precomp) {\n initExpr = precomp;\n } else {\n initializeInStart = true;\n }\n } else {\n initializeInStart = true;\n }\n }\n\n // Handle special case of initializing from imported immutable global\n if (initializeInStart && getExpressionId(initExpr) == ExpressionId.GlobalGet) {\n let fromName = assert(getGlobalGetName(initExpr));\n if (!isGlobalMutable(module.getGlobal(fromName))) {\n let elementsByName = this.program.elementsByName;\n if (elementsByName.has(fromName)) {\n let global = assert(elementsByName.get(fromName));\n if (global.is(CommonFlags.Ambient)) initializeInStart = false;\n }\n }\n }\n\n // Explicitly inline if annotated\n if (isDeclaredInline) {\n if (initializeInStart) {\n this.warning(\n DiagnosticCode.Mutable_value_cannot_be_inlined,\n initializerNode.range\n );\n } else {\n assert(getExpressionId(initExpr) == ExpressionId.Const);\n let exprType = getExpressionType(initExpr);\n switch (exprType) {\n case TypeRef.I32: {\n global.constantValueKind = ConstantValueKind.Integer;\n global.constantIntegerValue = i64_new(getConstValueI32(initExpr), 0);\n break;\n }\n case TypeRef.I64: {\n global.constantValueKind = ConstantValueKind.Integer;\n global.constantIntegerValue = i64_new(\n getConstValueI64Low(initExpr),\n getConstValueI64High(initExpr)\n );\n break;\n }\n case TypeRef.F32: {\n global.constantValueKind = ConstantValueKind.Float;\n global.constantFloatValue = getConstValueF32(initExpr);\n break;\n }\n case TypeRef.F64: {\n global.constantValueKind = ConstantValueKind.Float;\n global.constantFloatValue = getConstValueF64(initExpr);\n break;\n }\n default: {\n assert(false);\n global.set(CommonFlags.Errored);\n pendingElements.delete(global);\n return false;\n }\n }\n global.set(CommonFlags.Inlined); // inline the value from now on\n }\n }\n\n // Initialize to zero if there's no initializer\n } else {\n if (global.is(CommonFlags.Inlined)) {\n initExpr = this.compileInlineConstant(global, global.type, Constraints.PreferStatic);\n } else {\n initExpr = this.makeZero(type);\n }\n }\n\n let internalName = global.internalName;\n\n if (initializeInStart) { // initialize to mutable zero and set the actual value in start\n if (isDeclaredInline) {\n this.error(\n DiagnosticCode.Decorator_0_is_not_valid_here,\n findDecorator(DecoratorKind.Inline, global.decoratorNodes)!.range, \"inline\"\n );\n }\n let internalType = type;\n if (type.isExternalReference && !type.is(TypeFlags.Nullable)) {\n // There is no default value for non-nullable external references, so\n // make the global nullable internally and use `null`.\n global.set(CommonFlags.InternallyNullable);\n internalType = type.asNullable();\n }\n module.addGlobal(internalName, internalType.toRef(), true, this.makeZero(internalType));\n this.currentBody.push(\n module.global_set(internalName, initExpr)\n );\n } else if (!isDeclaredInline) { // compile normally\n module.addGlobal(internalName, typeRef, !isDeclaredConstant, initExpr);\n }\n pendingElements.delete(global);\n return true;\n }\n\n // === Enums ====================================================================================\n\n /** Compiles an enum. */\n compileEnum(element: Enum): bool {\n if (element.is(CommonFlags.Compiled)) return !element.is(CommonFlags.Errored);\n element.set(CommonFlags.Compiled);\n\n let pendingElements = this.pendingElements;\n pendingElements.add(element);\n\n let module = this.module;\n let previousParent = this.currentParent;\n this.currentParent = element;\n let previousValue: EnumValue | null = null;\n let previousValueIsMut = false;\n let isInline = element.is(CommonFlags.Const) || element.hasDecorator(DecoratorFlags.Inline);\n\n let members = element.members;\n if (members) {\n // TODO: for (let member of element.members.values()) {\n for (let _values = Map_values(members), i = 0, k = _values.length; i < k; ++i) {\n let member = unchecked(_values[i]);\n if (member.kind != ElementKind.EnumValue) continue; // happens if an enum is also a namespace\n let initInStart = false;\n let enumValue = member;\n let valueNode = enumValue.valueNode;\n enumValue.set(CommonFlags.Compiled);\n let previousFlow = this.currentFlow;\n if (element.hasDecorator(DecoratorFlags.Lazy)) {\n this.currentFlow = element.file.startFunction.flow;\n }\n let initExpr: ExpressionRef;\n if (valueNode) {\n initExpr = this.compileExpression(valueNode, Type.i32,\n Constraints.ConvImplicit\n );\n if (getExpressionId(initExpr) != ExpressionId.Const) {\n let precomp = module.runExpression(initExpr, ExpressionRunnerFlags.PreserveSideeffects);\n if (precomp) {\n initExpr = precomp;\n } else {\n if (element.is(CommonFlags.Const)) {\n this.error(\n DiagnosticCode.In_const_enum_declarations_member_initializer_must_be_constant_expression,\n valueNode.range\n );\n }\n initInStart = true;\n }\n }\n } else if (previousValue == null) {\n initExpr = module.i32(0);\n } else {\n if (previousValueIsMut) {\n this.error(\n DiagnosticCode.Enum_member_must_have_initializer,\n enumValue.identifierNode.range.atEnd\n );\n }\n if (isInline) {\n let value = i64_add(previousValue.constantIntegerValue, i64_new(1));\n assert(!i64_high(value));\n initExpr = module.i32(i64_low(value));\n } else {\n initExpr = module.binary(BinaryOp.AddI32,\n module.global_get(previousValue.internalName, TypeRef.I32),\n module.i32(1)\n );\n let precomp = module.runExpression(initExpr, ExpressionRunnerFlags.PreserveSideeffects);\n if (precomp) {\n initExpr = precomp;\n } else {\n if (element.is(CommonFlags.Const)) {\n this.error(\n DiagnosticCode.In_const_enum_declarations_member_initializer_must_be_constant_expression,\n member.declaration.range\n );\n }\n initInStart = true;\n }\n }\n }\n this.currentFlow = previousFlow;\n if (initInStart) {\n module.addGlobal(enumValue.internalName, TypeRef.I32, true, module.i32(0));\n this.currentBody.push(\n this.makeGlobalAssignment(enumValue, initExpr, Type.i32, false)\n );\n previousValueIsMut = true;\n } else {\n if (isInline) {\n enumValue.setConstantIntegerValue(i64_new(getConstValueI32(initExpr)), Type.i32);\n if (enumValue.is(CommonFlags.ModuleExport)) {\n module.addGlobal(enumValue.internalName, TypeRef.I32, false, initExpr);\n }\n } else {\n module.addGlobal(enumValue.internalName, TypeRef.I32, false, initExpr);\n }\n enumValue.isImmutable = true;\n previousValueIsMut = false;\n }\n previousValue = enumValue;\n }\n }\n this.currentParent = previousParent;\n pendingElements.delete(element);\n return true;\n }\n\n // === Functions ================================================================================\n\n /** Compiles a priorly resolved function. */\n compileFunction(\n /** Function to compile. */\n instance: Function,\n /** Force compilation of stdlib alternative if a builtin. */\n forceStdAlternative: bool = false\n ): bool {\n if (instance.is(CommonFlags.Compiled)) return !instance.is(CommonFlags.Errored);\n\n if (!forceStdAlternative) {\n if (instance.hasDecorator(DecoratorFlags.Builtin)) return true;\n if (instance.hasDecorator(DecoratorFlags.Lazy)) {\n this.lazyFunctions.add(instance);\n return true;\n }\n }\n\n // ensure the function has no duplicate parameters\n let parameters = instance.prototype.functionTypeNode.parameters;\n let numParameters = parameters.length;\n if (numParameters >= 2) {\n let visited = new Set();\n visited.add(parameters[0].name.text);\n for (let i = 1; i < numParameters; i++) {\n let paramIdentifier = parameters[i].name;\n let paramName = paramIdentifier.text;\n if (!visited.has(paramName)) {\n visited.add(paramName);\n } else {\n this.error(\n DiagnosticCode.Duplicate_identifier_0,\n paramIdentifier.range, paramName\n );\n }\n }\n }\n\n instance.set(CommonFlags.Compiled);\n let pendingElements = this.pendingElements;\n pendingElements.add(instance);\n\n let previousType = this.currentType;\n let module = this.module;\n let signature = instance.signature;\n let bodyNode = instance.prototype.bodyNode;\n let declarationNode = instance.declaration;\n assert(declarationNode.kind == NodeKind.FunctionDeclaration || declarationNode.kind == NodeKind.MethodDeclaration);\n this.checkSignatureSupported(instance.signature, (declarationNode).signature);\n\n let funcRef: FunctionRef = 0;\n\n // concrete function\n if (bodyNode) {\n\n // must not be ambient\n if (instance.is(CommonFlags.Ambient)) {\n this.error(\n DiagnosticCode.An_implementation_cannot_be_declared_in_ambient_contexts,\n instance.identifierNode.range\n );\n }\n\n // cannot have an annotated external name or code\n if (instance.hasAnyDecorator(DecoratorFlags.External | DecoratorFlags.ExternalJs)) {\n let decoratorNodes = instance.decoratorNodes;\n let decorator: DecoratorNode | null;\n if (decorator = findDecorator(DecoratorKind.External, decoratorNodes)) {\n this.error(\n DiagnosticCode.Decorator_0_is_not_valid_here,\n decorator.range, \"external\"\n );\n }\n if (decorator = findDecorator(DecoratorKind.ExternalJs, decoratorNodes)) {\n this.error(\n DiagnosticCode.Decorator_0_is_not_valid_here,\n decorator.range, \"external.js\"\n );\n }\n }\n\n // compile body in this function's context\n let previousFlow = this.currentFlow;\n let flow = instance.flow;\n this.currentFlow = flow;\n let stmts = new Array();\n\n if (!this.compileFunctionBody(instance, stmts)) {\n stmts.push(module.unreachable());\n }\n\n this.currentFlow = previousFlow;\n\n // create the function\n funcRef = module.addFunction(\n instance.internalName,\n signature.paramRefs,\n signature.resultRefs,\n typesToRefs(instance.getNonParameterLocalTypes()),\n module.flatten(stmts, instance.signature.returnType.toRef())\n );\n\n // imported function\n } else if (instance.is(CommonFlags.Ambient)) {\n mangleImportName(instance, declarationNode); // TODO: check for duplicates\n this.program.markModuleImport(mangleImportName_moduleName, mangleImportName_elementName, instance);\n module.addFunctionImport(\n instance.internalName,\n mangleImportName_moduleName,\n mangleImportName_elementName,\n signature.paramRefs,\n signature.resultRefs\n );\n funcRef = module.getFunction(instance.internalName);\n if (!this.desiresExportRuntime) {\n let thisType = signature.thisType;\n if (\n thisType && liftRequiresExportRuntime(thisType) ||\n lowerRequiresExportRuntime(signature.returnType)\n ) {\n this.desiresExportRuntime = true;\n } else {\n let parameterTypes = signature.parameterTypes;\n for (let i = 0, k = parameterTypes.length; i < k; ++i) {\n if (liftRequiresExportRuntime(parameterTypes[i])) {\n this.desiresExportRuntime = true;\n break;\n }\n }\n }\n }\n\n // abstract or interface function\n } else if (instance.is(CommonFlags.Abstract) || instance.parent.kind == ElementKind.Interface) {\n funcRef = module.addFunction(\n instance.internalName,\n signature.paramRefs,\n signature.resultRefs,\n null,\n module.unreachable()\n );\n\n } else {\n // built-in field accessor?\n if (instance.isAny(CommonFlags.Get | CommonFlags.Set)) {\n let propertyName = instance.declaration.name.text;\n let propertyParent = assert(instance.parent.getMember(propertyName));\n assert(propertyParent.kind == ElementKind.PropertyPrototype);\n let propertyInstance = (propertyParent).instance;\n if (propertyInstance && propertyInstance.isField) {\n funcRef = instance.is(CommonFlags.Get)\n ? this.makeBuiltinFieldGetter(propertyInstance)\n : this.makeBuiltinFieldSetter(propertyInstance);\n assert(instance.is(CommonFlags.Compiled));\n }\n }\n if (!funcRef) {\n this.error(\n DiagnosticCode.Function_implementation_is_missing_or_not_immediately_following_the_declaration,\n instance.identifierNode.range\n );\n instance.set(CommonFlags.Errored);\n }\n }\n\n if (instance.is(CommonFlags.Ambient) || instance.is(CommonFlags.Export)) {\n // Verify and print warn if signature has v128 type for imported or exported functions\n let hasVectorValueOperands = signature.hasVectorValueOperands;\n if (hasVectorValueOperands) {\n let range: Range;\n let fnTypeNode = instance.prototype.functionTypeNode;\n if (signature.returnType == Type.v128) {\n range = fnTypeNode.returnType.range;\n } else {\n let firstIndex = signature.getVectorValueOperandIndices()[0];\n range = fnTypeNode.parameters[firstIndex].range;\n }\n this.warning(\n DiagnosticCode.Exchange_of_0_values_is_not_supported_by_all_embeddings,\n range, \"v128\"\n );\n }\n }\n\n instance.finalize(module, funcRef);\n this.currentType = previousType;\n pendingElements.delete(instance);\n return true;\n }\n\n /** Compiles the body of a function within the specified flow. */\n private compileFunctionBody(\n /** Function to compile. */\n instance: Function,\n /** Target array of statements also being returned. Creates a new array if omitted. */\n stmts: ExpressionRef[]\n ): bool {\n let module = this.module;\n let bodyNode = assert(instance.prototype.bodyNode);\n let returnType = instance.signature.returnType;\n let flow = this.currentFlow;\n let thisLocal = instance.signature.thisType\n ? assert(flow.lookupLocal(CommonNames.this_))\n : null;\n let bodyStartIndex = stmts.length;\n\n // compile statements\n if (bodyNode.kind == NodeKind.Block) {\n stmts = this.compileStatements((bodyNode).statements, stmts);\n } else {\n // must be an expression statement if not a block\n assert(bodyNode.kind == NodeKind.Expression);\n\n // must be an arrow function\n assert(instance.prototype.arrowKind);\n\n // none of the following can be an arrow function\n assert(!instance.isAny(CommonFlags.Constructor | CommonFlags.Get | CommonFlags.Set));\n\n let expr = this.compileExpression((bodyNode).expression, returnType, Constraints.ConvImplicit);\n if (!flow.canOverflow(expr, returnType)) flow.set(FlowFlags.ReturnsWrapped);\n if (flow.isNonnull(expr, returnType)) flow.set(FlowFlags.ReturnsNonNull);\n\n if (!stmts) stmts = [ expr ];\n else stmts.push(expr);\n\n if (!flow.is(FlowFlags.Terminates)) {\n if (!flow.canOverflow(expr, returnType)) flow.set(FlowFlags.ReturnsWrapped);\n if (flow.isNonnull(expr, returnType)) flow.set(FlowFlags.ReturnsNonNull);\n flow.set(FlowFlags.Returns | FlowFlags.Terminates);\n }\n }\n\n // Make constructors return their instance pointer, and prepend a conditional\n // allocation if any code path accesses `this`.\n if (instance.is(CommonFlags.Constructor)) {\n assert(instance.is(CommonFlags.Instance));\n thisLocal = assert(thisLocal);\n let parent = assert(instance.parent);\n assert(parent.kind == ElementKind.Class);\n let classInstance = parent;\n\n if (flow.isAny(FlowFlags.AccessesThis | FlowFlags.ConditionallyAccessesThis) || !flow.is(FlowFlags.Terminates)) {\n\n // Allocate `this` if not a super call, and initialize fields\n let allocStmts = new Array();\n allocStmts.push(\n this.makeConditionalAllocation(classInstance, thisLocal.index)\n );\n this.makeFieldInitializationInConstructor(classInstance, allocStmts);\n\n // Insert right before the body\n for (let i = stmts.length - 1; i >= bodyStartIndex; --i) {\n stmts[i + 1] = stmts[i];\n }\n stmts[bodyStartIndex] = module.flatten(allocStmts, TypeRef.None);\n\n // Just prepended allocation is dropped when returning non-'this'\n if (flow.is(FlowFlags.MayReturnNonThis)) {\n if (this.options.pedantic) {\n this.pedantic(\n DiagnosticCode.Explicitly_returning_constructor_drops_this_allocation,\n instance.identifierNode.range\n );\n }\n }\n }\n\n // Returning something else than 'this' would break 'super()' calls\n if (flow.is(FlowFlags.MayReturnNonThis) && !classInstance.hasDecorator(DecoratorFlags.Final)) {\n this.error(\n DiagnosticCode.A_class_with_a_constructor_explicitly_returning_something_else_than_this_must_be_final,\n classInstance.identifierNode.range\n );\n }\n\n // Implicitly return `this` if the flow falls through\n if (!flow.is(FlowFlags.Terminates)) {\n stmts.push(\n module.local_get(thisLocal.index, thisLocal.type.toRef())\n );\n flow.set(FlowFlags.Returns | FlowFlags.ReturnsNonNull | FlowFlags.Terminates);\n }\n\n // check that super has been called if this is a derived class\n if (classInstance.base && !classInstance.prototype.implicitlyExtendsObject && !flow.is(FlowFlags.CallsSuper)) {\n this.error(\n DiagnosticCode.Constructors_for_derived_classes_must_contain_a_super_call,\n instance.prototype.declaration.range\n );\n }\n\n // if this is a normal function, make sure that all branches terminate\n } else if (returnType != Type.void && !flow.is(FlowFlags.Terminates)) {\n this.error(\n DiagnosticCode.A_function_whose_declared_type_is_not_void_must_return_a_value,\n instance.prototype.functionTypeNode.returnType.range\n );\n return false; // not recoverable\n }\n\n return true;\n }\n\n /** Makes a built-in getter of a property that is a field. */\n private makeBuiltinFieldGetter(property: Property): FunctionRef {\n let getterInstance = assert(property.getterInstance);\n let module = this.module;\n let valueType = property.type;\n let valueTypeRef = valueType.toRef();\n let thisTypeRef = this.options.sizeTypeRef;\n getterInstance.set(CommonFlags.Compiled);\n let body = module.load(valueType.byteSize, valueType.isSignedIntegerValue,\n module.local_get(0, thisTypeRef),\n valueTypeRef, property.memoryOffset\n );\n let flowBefore = this.currentFlow;\n let flow = getterInstance.flow;\n this.currentFlow = flow;\n if (property.is(CommonFlags.DefinitelyAssigned) && valueType.isReference && !valueType.isNullableReference) {\n body = this.makeRuntimeNonNullCheck(body, valueType, getterInstance.identifierNode);\n }\n this.currentFlow = flowBefore;\n return module.addFunction(\n getterInstance.internalName,\n thisTypeRef,\n valueTypeRef,\n typesToRefs(getterInstance.getNonParameterLocalTypes()),\n body\n );\n }\n\n /** Makes a built-in setter of a property that is a field. */\n private makeBuiltinFieldSetter(property: Property): FunctionRef {\n let setterInstance = assert(property.setterInstance);\n let module = this.module;\n let valueType = property.type;\n let thisTypeRef = this.options.sizeTypeRef;\n let valueTypeRef = valueType.toRef();\n // void(this.field = value)\n let bodyExpr = module.store(valueType.byteSize,\n module.local_get(0, thisTypeRef),\n module.local_get(1, valueTypeRef),\n valueTypeRef, property.memoryOffset\n );\n if (valueType.isManaged) {\n let parent = setterInstance.parent;\n assert(parent.kind == ElementKind.Class);\n if ((parent).type.isManaged) {\n let linkInstance = this.program.linkInstance;\n this.compileFunction(linkInstance);\n bodyExpr = module.block(null, [\n bodyExpr,\n module.call(linkInstance.internalName, [\n module.local_get(0, thisTypeRef),\n module.local_get(1, valueTypeRef),\n module.i32(0)\n ], TypeRef.None)\n ], TypeRef.None);\n }\n }\n setterInstance.set(CommonFlags.Compiled);\n return module.addFunction(\n setterInstance.internalName,\n createType([ thisTypeRef, valueTypeRef ]),\n TypeRef.None,\n null,\n bodyExpr\n );\n }\n\n // === Memory ===================================================================================\n\n /** Adds a static memory segment with the specified data. */\n addAlignedMemorySegment(buffer: Uint8Array, alignment: i32 = 16): MemorySegment {\n assert(isPowerOf2(alignment));\n let memoryOffset = i64_align(this.memoryOffset, alignment);\n let segment = new MemorySegment(buffer, memoryOffset);\n this.memorySegments.push(segment);\n this.memoryOffset = i64_add(memoryOffset, i64_new(buffer.length));\n return segment;\n }\n\n /** Adds a static memory segment representing a runtime object. */\n addRuntimeMemorySegment(buffer: Uint8Array): MemorySegment {\n let memoryOffset = this.program.computeBlockStart64(this.memoryOffset);\n let segment = new MemorySegment(buffer, memoryOffset);\n this.memorySegments.push(segment);\n this.memoryOffset = i64_add(memoryOffset, i64_new(buffer.length));\n return segment;\n }\n\n /** Ensures that a string exists in static memory and returns a pointer expression. Deduplicates. */\n ensureStaticString(stringValue: string): ExpressionRef {\n let ptr = this.ensureStaticStringPtr(stringValue);\n this.currentType = this.program.stringInstance.type;\n return this.module.usize(ptr);\n }\n\n /** Ensures that a string exists in static memory and returns a pointer to it. Deduplicates. */\n ensureStaticStringPtr(stringValue: string): i64 {\n let program = this.program;\n let totalOverhead = program.totalOverhead;\n let stringInstance = assert(program.stringInstance);\n let stringSegment: MemorySegment;\n let segments = this.stringSegments;\n if (segments.has(stringValue)) {\n stringSegment = assert(segments.get(stringValue)); // reuse\n } else {\n let len = stringValue.length;\n let buf = stringInstance.createBuffer(len << 1);\n for (let i = 0; i < len; ++i) {\n writeI16(stringValue.charCodeAt(i), buf, totalOverhead + (i << 1));\n }\n stringSegment = this.addRuntimeMemorySegment(buf);\n segments.set(stringValue, stringSegment);\n }\n return i64_add(stringSegment.offset, i64_new(totalOverhead));\n }\n\n /** Writes a series of static values of the specified type to a buffer. */\n writeStaticBuffer(buf: Uint8Array, pos: i32, elementType: Type, values: ExpressionRef[]): i32 {\n let length = values.length;\n let byteSize = elementType.byteSize;\n let elementTypeRef = elementType.toRef();\n switch (elementTypeRef) {\n case TypeRef.I32: {\n switch (byteSize) {\n case 1: {\n for (let i = 0; i < length; ++i) {\n let value = values[i];\n assert(getExpressionType(value) == elementTypeRef);\n assert(getExpressionId(value) == ExpressionId.Const);\n writeI8(getConstValueI32(value), buf, pos);\n pos += 1;\n }\n break;\n }\n case 2: {\n for (let i = 0; i < length; ++i) {\n let value = values[i];\n assert(getExpressionType(value) == elementTypeRef);\n assert(getExpressionId(value) == ExpressionId.Const);\n writeI16(getConstValueI32(value), buf, pos);\n pos += 2;\n }\n break;\n }\n case 4: {\n for (let i = 0; i < length; ++i) {\n let value = values[i];\n assert(getExpressionType(value) == elementTypeRef);\n assert(getExpressionId(value) == ExpressionId.Const);\n writeI32(getConstValueI32(value), buf, pos);\n pos += 4;\n }\n break;\n }\n default: assert(false);\n }\n break;\n }\n case TypeRef.I64: {\n for (let i = 0; i < length; ++i) {\n let value = values[i];\n assert(getExpressionType(value) == elementTypeRef);\n assert(getExpressionId(value) == ExpressionId.Const);\n writeI64(i64_new(getConstValueI64Low(value), getConstValueI64High(value)), buf, pos);\n pos += 8;\n }\n break;\n }\n case TypeRef.F32: {\n for (let i = 0; i < length; ++i) {\n let value = values[i];\n assert(getExpressionType(value) == elementTypeRef);\n assert(getExpressionId(value) == ExpressionId.Const);\n writeF32(getConstValueF32(value), buf, pos);\n pos += 4;\n }\n break;\n }\n case TypeRef.F64: {\n for (let i = 0; i < length; ++i) {\n let value = values[i];\n assert(getExpressionType(value) == elementTypeRef);\n assert(getExpressionId(value) == ExpressionId.Const);\n writeF64(getConstValueF64(value), buf, pos);\n pos += 8;\n }\n break;\n }\n case TypeRef.V128: {\n for (let i = 0; i < length; ++i) {\n let value = values[i];\n assert(getExpressionType(value) == elementTypeRef);\n assert(getExpressionId(value) == ExpressionId.Const);\n writeV128(getConstValueV128(value), buf, pos);\n pos += 16;\n }\n break;\n }\n case TypeRef.None: {\n // nothing to write\n break;\n }\n default: assert(false);\n }\n return pos;\n }\n\n /** Adds a buffer to static memory and returns the created segment. */\n addStaticBuffer(elementType: Type, values: ExpressionRef[], id: u32 = this.program.arrayBufferInstance.id): MemorySegment {\n let program = this.program;\n let arrayBufferInstance = program.arrayBufferInstance;\n let buf = arrayBufferInstance.createBuffer(values.length * elementType.byteSize);\n this.program.OBJECTInstance.writeField(\"rtId\", id, buf, 0); // use specified rtId\n this.writeStaticBuffer(buf, program.totalOverhead, elementType, values);\n return this.addRuntimeMemorySegment(buf);\n }\n\n /** Adds an array header to static memory and returns the created segment. */\n private addStaticArrayHeader(\n elementType: Type,\n bufferSegment: MemorySegment,\n /** Optional array instance override. */\n arrayInstance: Class | null = null\n ): MemorySegment {\n let program = this.program;\n if (!arrayInstance) {\n arrayInstance = assert(this.resolver.resolveClass(this.program.arrayPrototype, [ elementType ]));\n }\n let bufferLength = readI32(bufferSegment.buffer, program.OBJECTInstance.offsetof(\"rtSize\"));\n let arrayLength = i32(bufferLength / elementType.byteSize);\n let bufferAddress = i64_add(bufferSegment.offset, i64_new(program.totalOverhead));\n let buf = arrayInstance.createBuffer();\n assert(arrayInstance.writeField(\"buffer\", bufferAddress, buf));\n assert(arrayInstance.writeField(\"dataStart\", bufferAddress, buf));\n assert(arrayInstance.writeField(\"byteLength\", bufferLength, buf));\n assert(arrayInstance.writeField(\"length_\", arrayLength, buf));\n return this.addRuntimeMemorySegment(buf);\n }\n\n // === Table ====================================================================================\n\n /** Ensures that a runtime counterpart of the specified function exists and returns its address. */\n ensureRuntimeFunction(instance: Function): i64 {\n assert(instance.is(CommonFlags.Compiled) && !instance.is(CommonFlags.Stub));\n let program = this.program;\n let memorySegment = instance.memorySegment;\n if (!memorySegment) {\n\n // Add to the function table\n let functionTable = this.functionTable;\n let tableBase = this.options.tableBase;\n if (!tableBase) tableBase = 1; // leave first elem blank\n let index = tableBase + functionTable.length;\n functionTable.push(instance);\n\n // Create runtime function\n let rtInstance = assert(this.resolver.resolveClass(program.functionPrototype, [ instance.type ]));\n let buf = rtInstance.createBuffer();\n assert(rtInstance.writeField(\"_index\", index, buf));\n assert(rtInstance.writeField(\"_env\", 0, buf));\n instance.memorySegment = memorySegment = this.addRuntimeMemorySegment(buf);\n }\n return i64_add(memorySegment.offset, i64_new(program.totalOverhead));\n }\n\n // === Statements ===============================================================================\n\n /** Compiles a top level statement (incl. function declarations etc.) to the specified body. */\n compileTopLevelStatement(statement: Statement, body: ExpressionRef[]): void {\n switch (statement.kind) {\n case NodeKind.ClassDeclaration: {\n let memberStatements = (statement).members;\n for (let i = 0, k = memberStatements.length; i < k; ++i) {\n this.compileTopLevelStatement(memberStatements[i], body);\n }\n break;\n }\n case NodeKind.EnumDeclaration: {\n let element = this.program.getElementByDeclaration(statement);\n if (element) {\n assert(element.kind == ElementKind.Enum);\n if (!element.hasDecorator(DecoratorFlags.Lazy)) this.compileEnum(element);\n }\n break;\n }\n case NodeKind.NamespaceDeclaration: {\n let declaration = statement;\n let element = this.program.getElementByDeclaration(declaration);\n if (element) {\n // any potential merged element\n let previousParent = this.currentParent;\n this.currentParent = element;\n let memberStatements = declaration.members;\n for (let i = 0, k = memberStatements.length; i < k; ++i) {\n this.compileTopLevelStatement(memberStatements[i], body);\n }\n this.currentParent = previousParent;\n }\n break;\n }\n case NodeKind.Variable: {\n let declarations = (statement).declarations;\n for (let i = 0, k = declarations.length; i < k; ++i) {\n let element = this.program.getElementByDeclaration(declarations[i]);\n if (element) {\n assert(element.kind == ElementKind.Global);\n if (\n !element.is(CommonFlags.Ambient) && // delay imports\n !element.hasDecorator(DecoratorFlags.Lazy)\n ) this.compileGlobal(element);\n }\n }\n break;\n }\n case NodeKind.FieldDeclaration: {\n let element = this.program.getElementByDeclaration(statement);\n if (element && element.kind == ElementKind.Global) { // static\n if (!element.hasDecorator(DecoratorFlags.Lazy)) this.compileGlobal(element);\n }\n break;\n }\n case NodeKind.Export: {\n let exportStatement = statement;\n let internalPath = exportStatement.internalPath;\n if (internalPath != null) {\n this.compileFileByPath(internalPath, assert(exportStatement.path));\n }\n break;\n }\n case NodeKind.ExportDefault: {\n this.compileTopLevelStatement((statement).declaration, body);\n break;\n }\n case NodeKind.Import: {\n let importStatement = statement;\n this.compileFileByPath(importStatement.internalPath, importStatement.path);\n break;\n }\n case NodeKind.FunctionDeclaration:\n case NodeKind.MethodDeclaration:\n case NodeKind.InterfaceDeclaration:\n case NodeKind.IndexSignature:\n case NodeKind.TypeDeclaration: break;\n default: { // otherwise a top-level statement that is part of the start function's body\n let stmt = this.compileStatement(statement);\n if (getExpressionId(stmt) != ExpressionId.Nop) body.push(stmt);\n break;\n }\n }\n }\n\n /** Compiles a statement. */\n compileStatement(\n /** Statement to compile. */\n statement: Statement\n ): ExpressionRef {\n let module = this.module;\n let stmt: ExpressionRef;\n switch (statement.kind) {\n case NodeKind.Block: {\n stmt = this.compileBlockStatement(statement);\n break;\n }\n case NodeKind.Break: {\n stmt = this.compileBreakStatement(statement);\n break;\n }\n case NodeKind.Continue: {\n stmt = this.compileContinueStatement(statement);\n break;\n }\n case NodeKind.Do: {\n stmt = this.compileDoStatement(statement);\n break;\n }\n case NodeKind.Empty: {\n stmt = this.compileEmptyStatement(statement);\n break;\n }\n case NodeKind.Expression: {\n stmt = this.compileExpressionStatement(statement);\n break;\n }\n case NodeKind.For: {\n stmt = this.compileForStatement(statement);\n break;\n }\n case NodeKind.ForOf: {\n stmt = this.compileForOfStatement(statement);\n break;\n }\n case NodeKind.If: {\n stmt = this.compileIfStatement(statement);\n break;\n }\n case NodeKind.Return: {\n stmt = this.compileReturnStatement(statement);\n break;\n }\n case NodeKind.Switch: {\n stmt = this.compileSwitchStatement(statement);\n break;\n }\n case NodeKind.Throw: {\n stmt = this.compileThrowStatement(statement);\n break;\n }\n case NodeKind.Try: {\n stmt = this.compileTryStatement(statement);\n break;\n }\n case NodeKind.Variable: {\n stmt = this.compileVariableStatement(statement);\n if (!stmt) stmt = module.nop();\n break;\n }\n case NodeKind.Void: {\n stmt = this.compileVoidStatement(statement);\n break;\n }\n case NodeKind.While: {\n stmt = this.compileWhileStatement(statement);\n break;\n }\n case NodeKind.TypeDeclaration: {\n stmt = this.compileTypeDeclaration(statement);\n break;\n }\n case NodeKind.Module: {\n stmt = module.nop();\n break;\n }\n default: {\n assert(false);\n stmt = module.unreachable();\n }\n }\n if (this.options.sourceMap) this.addDebugLocation(stmt, statement.range);\n return stmt;\n }\n\n /** Compiles a series of statements. */\n compileStatements(\n /** Statements to compile. */\n statements: Statement[],\n /** Statements to append to. Also returned, created if omitted. */\n stmts: ExpressionRef[] | null = null\n ): ExpressionRef[] {\n let numStatements = statements.length;\n if (!stmts) {\n stmts = new Array(numStatements);\n stmts.length = 0;\n }\n let flow = this.currentFlow;\n for (let i = 0; i < numStatements; ++i) {\n let stmt = this.compileStatement(statements[i]);\n switch (getExpressionId(stmt)) {\n case ExpressionId.Block: {\n if (!getBlockName(stmt)) {\n for (let j: Index = 0, k = getBlockChildCount(stmt); j < k; ++j) stmts.push(getBlockChildAt(stmt, j));\n break;\n }\n // fall-through\n }\n default: stmts.push(stmt);\n case ExpressionId.Nop:\n }\n if (flow.isAny(FlowFlags.Terminates | FlowFlags.Breaks)) break;\n }\n return stmts;\n }\n\n private compileBlockStatement(\n statement: BlockStatement\n ): ExpressionRef {\n let statements = statement.statements;\n let outerFlow = this.currentFlow;\n let innerFlow = outerFlow.fork();\n this.currentFlow = innerFlow;\n\n let stmts = this.compileStatements(statements);\n outerFlow.inherit(innerFlow);\n this.currentFlow = outerFlow;\n return this.module.flatten(stmts);\n }\n\n private compileTypeDeclaration(statement: TypeDeclaration): ExpressionRef {\n let flow = this.currentFlow;\n let name = statement.name.text;\n let existedTypeAlias = flow.lookupScopedTypeAlias(name);\n if (existedTypeAlias) {\n this.errorRelated(\n DiagnosticCode.Duplicate_identifier_0,\n statement.range,\n existedTypeAlias.declaration.range,\n name\n );\n return this.module.unreachable();\n }\n let element = new TypeDefinition(name, flow.sourceFunction, statement, DecoratorFlags.None);\n flow.addScopedTypeAlias(name, element);\n return this.module.nop();\n }\n\n private compileBreakStatement(\n statement: BreakStatement\n ): ExpressionRef {\n let module = this.module;\n let labelNode = statement.label;\n if (labelNode) {\n this.error(\n DiagnosticCode.Not_implemented_0,\n labelNode.range,\n \"Break label\"\n );\n return module.unreachable();\n }\n let flow = this.currentFlow;\n let breakLabel = flow.breakLabel;\n if (breakLabel == null) {\n this.error(\n DiagnosticCode.A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement,\n statement.range\n );\n return module.unreachable();\n }\n flow.set(FlowFlags.Breaks);\n return module.br(breakLabel);\n }\n\n private compileContinueStatement(\n statement: ContinueStatement\n ): ExpressionRef {\n let module = this.module;\n let label = statement.label;\n if (label) {\n this.error(\n DiagnosticCode.Not_implemented_0,\n label.range,\n \"Continue label\"\n );\n return module.unreachable();\n }\n // Check if 'continue' is allowed here\n let flow = this.currentFlow;\n let continueLabel = flow.continueLabel;\n if (continueLabel == null) {\n this.error(\n DiagnosticCode.A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement,\n statement.range\n );\n return module.unreachable();\n }\n flow.set(FlowFlags.Continues | FlowFlags.Terminates);\n return module.br(continueLabel);\n }\n\n private compileDoStatement(\n /** Statement to compile. */\n statement: DoStatement\n ): ExpressionRef {\n return this.doCompileDoStatement(statement);\n }\n\n private doCompileDoStatement(\n /** Statement to compile. */\n statement: DoStatement\n ): ExpressionRef {\n let module = this.module;\n let outerFlow = this.currentFlow;\n let numLocalsBefore = outerFlow.targetFunction.localsByIndex.length;\n\n // (block $break\n // (loop $loop\n // (?block $continue\n // (body)\n // )\n // (br_if $loop (condition))\n // )\n // )\n\n // Cases of interest:\n // * If the body never falls through or continues, the condition never executes\n // * If the condition is always true and body never breaks, overall flow terminates\n // * If the body terminates with a continue, condition is still reached\n\n // Compile the body (always executes)\n let flow = outerFlow.fork(/* resetBreakContext */ true);\n let label = flow.pushControlFlowLabel();\n let breakLabel = `do-break|${label}`;\n flow.breakLabel = breakLabel;\n let continueLabel = `do-continue|${label}`;\n flow.continueLabel = continueLabel;\n let loopLabel = `do-loop|${label}`;\n this.currentFlow = flow;\n let bodyStmts = new Array();\n let body = statement.body;\n if (body.kind == NodeKind.Block) {\n this.compileStatements((body).statements, bodyStmts);\n } else {\n bodyStmts.push(this.compileStatement(body));\n }\n flow.popControlFlowLabel(label);\n\n let possiblyContinues = flow.isAny(FlowFlags.Continues | FlowFlags.ConditionallyContinues);\n let possiblyBreaks = flow.isAny(FlowFlags.Breaks | FlowFlags.ConditionallyBreaks);\n let possiblyFallsThrough = !flow.isAny(FlowFlags.Terminates | FlowFlags.Breaks);\n\n // Shortcut if the condition is never reached\n if (!possiblyFallsThrough && !possiblyContinues) {\n bodyStmts.push(\n module.unreachable()\n );\n outerFlow.inherit(flow);\n\n // If the body also never breaks, the overall flow terminates\n if (!possiblyBreaks) {\n outerFlow.set(FlowFlags.Terminates);\n }\n\n // Otherwise compile and evaluate the condition (from here on always executes)\n } else {\n let condExpr = this.compileExpression(statement.condition, Type.bool);\n let condExprTrueish = this.makeIsTrueish(condExpr, this.currentType, statement.condition);\n let condKind = this.evaluateCondition(condExprTrueish);\n\n // Detect if local flags are incompatible before and after looping, and\n // if so recompile by unifying local flags between iterations. Note that\n // this may be necessary multiple times where locals depend on each other.\n let possiblyLoops = condKind != ConditionKind.False && (possiblyContinues || possiblyFallsThrough);\n if (possiblyLoops && outerFlow.resetIfNeedsRecompile(flow.forkThen(condExpr), numLocalsBefore)) {\n this.currentFlow = outerFlow;\n return this.doCompileDoStatement(statement);\n }\n\n if (possiblyContinues) {\n bodyStmts[0] = module.block(continueLabel, bodyStmts);\n bodyStmts.length = 1;\n flow.unset(FlowFlags.Terminates); // Continue breaks to condition\n }\n bodyStmts.push(\n module.br(loopLabel,\n condExprTrueish\n )\n );\n outerFlow.inherit(flow);\n\n // Terminate if the condition is always true and body never breaks\n if (condKind == ConditionKind.True && !possiblyBreaks) {\n outerFlow.set(FlowFlags.Terminates);\n }\n }\n\n // Finalize and leave everything else to the optimizer\n this.currentFlow = outerFlow;\n let expr = module.loop(loopLabel,\n module.flatten(bodyStmts)\n );\n if (possiblyBreaks) {\n expr = module.block(breakLabel, [\n expr\n ]);\n }\n if (outerFlow.is(FlowFlags.Terminates)) {\n expr = module.block(null, [ expr, module.unreachable() ]);\n }\n return expr;\n }\n\n private compileEmptyStatement(\n statement: EmptyStatement\n ): ExpressionRef {\n return this.module.nop();\n }\n\n private compileExpressionStatement(\n statement: ExpressionStatement\n ): ExpressionRef {\n return this.compileExpression(statement.expression, Type.void, Constraints.ConvImplicit);\n }\n\n private compileForStatement(\n /** Statement to compile. */\n statement: ForStatement\n ): ExpressionRef {\n return this.doCompileForStatement(statement);\n }\n\n private doCompileForStatement(\n /** Statement to compile. */\n statement: ForStatement\n ): ExpressionRef {\n let module = this.module;\n let outerFlow = this.currentFlow;\n let numLocalsBefore = outerFlow.targetFunction.localsByIndex.length;\n\n // (initializer) \u2514\u25BA\u2510 flow\n // (?block $break \u2502 (initializer)\n // (?loop $loop \u250C\u25C4\u2524 (condition) shortcut if false \u25C4\u2510\n // (if (condition) \u251C\u25BA\u2510 bodyFlow \u2502\n // (then \u2502 \u2502 (body) \u2502\n // (?block $continue \u2502 \u2502 if loops: (incrementor) \u2500\u2500\u2500\u2500\u2500\u2518\n // (body) \u2502 \u2502 recompile body?\n // ) \u251C\u25C4\u2518 \n // (incrementor) \u250C\u25C4\u2518\n // (br $loop)\n // )\n // )\n // )\n // )\n\n // Compile initializer if present. The initializer might introduce scoped\n // locals bound to the for statement, so create a new flow early.\n let flow = outerFlow.fork();\n this.currentFlow = flow;\n let stmts = new Array();\n let initializer = statement.initializer;\n if (initializer) {\n assert(\n initializer.kind == NodeKind.Expression ||\n initializer.kind == NodeKind.Variable\n );\n stmts.push(this.compileStatement(initializer));\n }\n\n // Precompute the condition if present, or default to `true`\n let condExpr: ExpressionRef;\n let condExprTrueish: ExpressionRef;\n let condKind: ConditionKind;\n let condition = statement.condition;\n if (condition) {\n condExpr = this.compileExpression(condition, Type.bool);\n condExprTrueish = this.makeIsTrueish(condExpr, this.currentType, condition);\n condKind = this.evaluateCondition(condExprTrueish);\n\n // Shortcut if condition is always false (body never executes)\n if (condKind == ConditionKind.False) {\n stmts.push(\n module.drop(condExprTrueish)\n );\n outerFlow.inherit(flow);\n this.currentFlow = outerFlow;\n return module.flatten(stmts);\n }\n } else {\n condExpr = module.i32(1);\n condExprTrueish = condExpr;\n condKind = ConditionKind.True;\n }\n // From here on condition is either true or unknown\n\n // Compile the body assuming the condition turned out true\n let bodyFlow = flow.forkThen(condExpr, /* newBreakContext */ true);\n let label = bodyFlow.pushControlFlowLabel();\n let breakLabel = `for-break${label}`;\n bodyFlow.breakLabel = breakLabel;\n let continueLabel = `for-continue|${label}`;\n bodyFlow.continueLabel = continueLabel;\n let loopLabel = `for-loop|${label}`;\n this.currentFlow = bodyFlow;\n let bodyStmts = new Array();\n let body = statement.body;\n if (body.kind == NodeKind.Block) {\n this.compileStatements((body).statements, bodyStmts);\n } else {\n bodyStmts.push(this.compileStatement(body));\n }\n bodyFlow.popControlFlowLabel(label);\n bodyFlow.breakLabel = null;\n bodyFlow.continueLabel = null;\n\n let possiblyFallsThrough = !bodyFlow.isAny(FlowFlags.Terminates | FlowFlags.Breaks);\n let possiblyContinues = bodyFlow.isAny(FlowFlags.Continues | FlowFlags.ConditionallyContinues);\n let possiblyBreaks = bodyFlow.isAny(FlowFlags.Breaks | FlowFlags.ConditionallyBreaks);\n\n if (possiblyContinues) {\n bodyStmts[0] = module.block(continueLabel, bodyStmts);\n bodyStmts.length = 1;\n }\n\n if (condKind == ConditionKind.True) {\n // Body executes at least once\n flow.inherit(bodyFlow);\n } else {\n // Otherwise executes conditionally\n flow.mergeBranch(bodyFlow);\n }\n\n // Compile the incrementor if it possibly executes\n let possiblyLoops = possiblyContinues || possiblyFallsThrough;\n if (possiblyLoops) {\n let incrementor = statement.incrementor;\n if (incrementor) {\n this.currentFlow = flow;\n bodyStmts.push(\n this.compileExpression(incrementor, Type.void, Constraints.ConvImplicit | Constraints.WillDrop)\n );\n }\n bodyStmts.push(\n module.br(loopLabel)\n );\n\n // Detect if local flags are incompatible before and after looping, and if\n // so recompile by unifying local flags between iterations. Note that this\n // may be necessary multiple times where locals depend on each other.\n if (outerFlow.resetIfNeedsRecompile(bodyFlow.forkThen(condExpr), numLocalsBefore)) {\n this.currentFlow = outerFlow;\n return this.doCompileForStatement(statement);\n }\n }\n\n\n // Finalize\n outerFlow.inherit(flow);\n this.currentFlow = outerFlow;\n let expr = module.if(condExprTrueish,\n module.flatten(bodyStmts)\n );\n if (possiblyLoops) {\n expr = module.loop(loopLabel, expr);\n }\n if (possiblyBreaks) {\n expr = module.block(breakLabel, [ expr ]);\n }\n stmts.push(expr);\n if (outerFlow.is(FlowFlags.Terminates)) {\n stmts.push(module.unreachable());\n }\n return module.flatten(stmts);\n }\n\n private compileForOfStatement(\n statement: ForOfStatement\n ): ExpressionRef {\n this.error(\n DiagnosticCode.Not_implemented_0,\n statement.range,\n \"Iterators\"\n );\n return this.module.unreachable();\n }\n\n private compileIfStatement(\n statement: IfStatement\n ): ExpressionRef {\n let module = this.module;\n let ifTrue = statement.ifTrue;\n let ifFalse = statement.ifFalse;\n\n // (if (condition)\n // (then (ifTrue))\n // (?else (ifFalse))\n // )\n\n // Cases of interest:\n // * If the condition is always true or false, the other branch is eliminated\n // * If both then and else terminate, the overall flow does as well\n // * Without an else, when then terminates, follow-up flow acts like an else\n\n // Precompute the condition (always executes)\n let condExpr = this.compileExpression(statement.condition, Type.bool);\n let condExprTrueish = this.makeIsTrueish(\n condExpr,\n this.currentType,\n statement.condition\n );\n let condKind = this.evaluateCondition(condExprTrueish);\n\n // Shortcut if the condition is constant\n switch (condKind) {\n case ConditionKind.True: {\n return module.block(null, [\n module.drop(condExprTrueish),\n this.compileStatement(ifTrue)\n ]);\n }\n case ConditionKind.False: {\n return ifFalse\n ? module.block(null, [\n module.drop(condExprTrueish),\n this.compileStatement(ifFalse)\n ])\n : module.drop(condExprTrueish);\n }\n }\n\n // From here on condition is always unknown\n\n let flow = this.currentFlow;\n\n // Compile ifTrue assuming the condition turned out true\n let thenStmts = new Array();\n let thenFlow = flow.forkThen(condExpr);\n this.currentFlow = thenFlow;\n if (ifTrue.kind == NodeKind.Block) {\n this.compileStatements((ifTrue).statements, thenStmts);\n } else {\n thenStmts.push(this.compileStatement(ifTrue));\n }\n this.currentFlow = flow;\n\n // Compile ifFalse assuming the condition turned out false, if present\n let elseFlow = flow.forkElse(condExpr);\n if (ifFalse) {\n this.currentFlow = elseFlow;\n let elseStmts = new Array();\n if (ifFalse.kind == NodeKind.Block) {\n this.compileStatements((ifFalse).statements, elseStmts);\n } else {\n elseStmts.push(this.compileStatement(ifFalse));\n }\n flow.inheritAlternatives(thenFlow, elseFlow); // terminates if both do\n this.currentFlow = flow;\n return module.if(condExprTrueish,\n module.flatten(thenStmts),\n module.flatten(elseStmts)\n );\n } else {\n if (thenFlow.isAny(FlowFlags.Terminates | FlowFlags.Breaks)) {\n // Only getting past if condition was false (acts like else)\n flow.inherit(elseFlow);\n flow.mergeSideEffects(thenFlow);\n } else {\n // Otherwise getting past conditionally\n flow.inheritAlternatives(thenFlow, elseFlow);\n }\n this.currentFlow = flow;\n return module.if(condExprTrueish,\n module.flatten(thenStmts)\n );\n }\n }\n\n private compileReturnStatement(\n statement: ReturnStatement\n ): ExpressionRef {\n let module = this.module;\n let expr: ExpressionRef = 0;\n let flow = this.currentFlow;\n let returnType = flow.returnType;\n\n let valueExpression = statement.value;\n if (valueExpression) {\n let constraints = Constraints.ConvImplicit;\n if (flow.sourceFunction.is(CommonFlags.ModuleExport)) constraints |= Constraints.MustWrap;\n\n expr = this.compileExpression(valueExpression, returnType, constraints);\n if (!flow.canOverflow(expr, returnType)) flow.set(FlowFlags.ReturnsWrapped);\n if (flow.isNonnull(expr, returnType)) flow.set(FlowFlags.ReturnsNonNull);\n if (flow.sourceFunction.is(CommonFlags.Constructor) && valueExpression.kind != NodeKind.This) {\n flow.set(FlowFlags.MayReturnNonThis);\n }\n } else if (returnType != Type.void) {\n this.error(\n DiagnosticCode.Type_0_is_not_assignable_to_type_1,\n statement.range, \"void\", returnType.toString()\n );\n this.currentType = returnType;\n return module.unreachable();\n }\n\n // Remember that this flow returns\n flow.set(FlowFlags.Returns | FlowFlags.Terminates);\n\n // Handle inline return\n if (flow.isInline) {\n let inlineReturnLabel = assert(flow.inlineReturnLabel);\n return expr\n ? this.currentType == Type.void\n ? module.block(null, [ expr, module.br(inlineReturnLabel) ])\n : module.br(inlineReturnLabel, 0, expr)\n : module.br(inlineReturnLabel);\n }\n\n // Otherwise emit a normal return\n return expr\n ? this.currentType == Type.void\n ? module.block(null, [ expr, module.return() ])\n : module.return(expr)\n : module.return();\n }\n\n private compileSwitchStatement(\n statement: SwitchStatement\n ): ExpressionRef {\n let module = this.module;\n let cases = statement.cases;\n let numCases = cases.length;\n\n // Compile the condition (always executes)\n let condExpr = this.compileExpression(statement.condition, Type.u32,\n Constraints.ConvImplicit\n );\n\n // Shortcut if there are no cases\n if (!numCases) return module.drop(condExpr);\n \n // Assign the condition to a temporary local as we compare it multiple times\n let outerFlow = this.currentFlow;\n let tempLocal = outerFlow.getTempLocal(Type.u32);\n let tempLocalIndex = tempLocal.index;\n let breaks = new Array(1 + numCases);\n breaks[0] = module.local_set(tempLocalIndex, condExpr, false); // u32\n \n // Make one br_if per labeled case and leave it to Binaryen to optimize the\n // sequence of br_ifs to a br_table according to optimization levels\n let breakIndex = 1;\n let defaultIndex = -1;\n let label = outerFlow.pushControlFlowLabel();\n for (let i = 0; i < numCases; ++i) {\n let case_ = cases[i];\n if (case_.isDefault) {\n defaultIndex = i;\n continue;\n }\n breaks[breakIndex++] = module.br(`case${i}|${label}`,\n module.binary(BinaryOp.EqI32,\n module.local_get(tempLocalIndex, TypeRef.I32),\n this.compileExpression(assert(case_.label), Type.u32,\n Constraints.ConvImplicit\n )\n )\n );\n }\n\n // If there is a default case, break to it, otherwise break out of the switch\n breaks[breakIndex] = module.br(defaultIndex >= 0\n ? `case${defaultIndex}|${label}`\n : `break|${label}`\n );\n\n // Nest the case blocks in order, to be targeted by the br_if sequence\n let currentBlock = module.block(`case0|${label}`, breaks, TypeRef.None);\n let fallThroughFlow: Flow | null = null;\n let breakingFlowAlternatives: Flow | null = null;\n for (let i = 0; i < numCases; ++i) {\n let case_ = cases[i];\n let statements = case_.statements;\n let numStatements = statements.length;\n\n // Can get here by matching the case or possibly by fall-through\n let innerFlow = outerFlow.fork(/* newBreakContext */ true, /* newContinueContext */ false);\n if (fallThroughFlow) innerFlow.mergeBranch(fallThroughFlow);\n this.currentFlow = innerFlow;\n let breakLabel = `break|${label}`;\n innerFlow.breakLabel = breakLabel;\n\n let isLast = i == numCases - 1;\n let nextLabel = isLast ? breakLabel : `case${i + 1}|${label}`;\n let stmts = new Array(1 + numStatements);\n stmts[0] = currentBlock;\n let count = 1;\n let possiblyFallsThrough = true;\n for (let j = 0; j < numStatements; ++j) {\n let stmt = this.compileStatement(statements[j]);\n if (getExpressionId(stmt) != ExpressionId.Nop) {\n stmts[count++] = stmt;\n }\n if (innerFlow.isAny(FlowFlags.Terminates | FlowFlags.Breaks)) {\n possiblyFallsThrough = false;\n break;\n }\n }\n stmts.length = count;\n fallThroughFlow = possiblyFallsThrough ? innerFlow : null;\n let possiblyBreaks = innerFlow.isAny(FlowFlags.Breaks | FlowFlags.ConditionallyBreaks);\n innerFlow.unset(FlowFlags.Breaks | FlowFlags.ConditionallyBreaks); // clear\n\n // Combine all alternatives that merge again with outer flow\n if (possiblyBreaks || (isLast && possiblyFallsThrough)) {\n if (breakingFlowAlternatives) breakingFlowAlternatives.inheritAlternatives(breakingFlowAlternatives, innerFlow);\n else breakingFlowAlternatives = innerFlow;\n\n // Otherwise just merge the effects of a non-merging branch\n } else if (!possiblyFallsThrough) {\n outerFlow.mergeSideEffects(innerFlow);\n }\n\n this.currentFlow = outerFlow;\n currentBlock = module.block(nextLabel, stmts, TypeRef.None); // must be a labeled block\n }\n outerFlow.popControlFlowLabel(label);\n\n // If the switch has a default, we only get past through any breaking flow\n if (defaultIndex >= 0) {\n if (breakingFlowAlternatives) outerFlow.inherit(breakingFlowAlternatives);\n else outerFlow.set(FlowFlags.Terminates);\n\n // Otherwise either none or any breaking flow can get past conditionally\n } else if (breakingFlowAlternatives) {\n outerFlow.mergeBranch(breakingFlowAlternatives);\n }\n\n this.currentFlow = outerFlow;\n return currentBlock;\n }\n\n private compileThrowStatement(\n statement: ThrowStatement\n ): ExpressionRef {\n // TODO: requires exception-handling spec.\n let flow = this.currentFlow;\n\n // Remember that this branch throws\n flow.set(FlowFlags.Throws | FlowFlags.Terminates);\n\n let stmts = new Array();\n let value = statement.value;\n let message: Expression | null = null;\n if (value.kind == NodeKind.New) {\n let newArgs = (value).args;\n if (newArgs.length) message = newArgs[0]; // FIXME: naively assumes type string\n }\n stmts.push(\n this.makeAbort(message, statement)\n );\n return this.module.flatten(stmts);\n }\n\n private compileTryStatement(\n statement: TryStatement\n ): ExpressionRef {\n // TODO: can't yet support something like: try { return ... } finally { ... }\n // worthwhile to investigate lowering returns to block results (here)?\n this.error(\n DiagnosticCode.Not_implemented_0,\n statement.range,\n \"Exceptions\"\n );\n return this.module.unreachable();\n }\n\n /** Compiles a variable statement. Returns `0` if an initializer is not necessary. */\n private compileVariableStatement(\n statement: VariableStatement\n ): ExpressionRef {\n let module = this.module;\n let declarations = statement.declarations;\n let numDeclarations = declarations.length;\n let flow = this.currentFlow;\n let initializers = new Array();\n let resolver = this.resolver;\n\n for (let i = 0; i < numDeclarations; ++i) {\n let declaration = declarations[i];\n let name = declaration.name.text;\n let type: Type | null = null;\n let initExpr: ExpressionRef = 0;\n let initType: Type | null = null;\n\n if (declaration.is(CommonFlags.DefinitelyAssigned)) {\n this.warning(\n DiagnosticCode.Definitive_assignment_has_no_effect_on_local_variables,\n declaration.name.range\n );\n }\n\n // Resolve type if annotated\n let typeNode = declaration.type;\n let initializerNode = declaration.initializer;\n if (typeNode) {\n type = resolver.resolveType( // reports\n typeNode, flow,\n flow.sourceFunction,\n cloneMap(flow.contextualTypeArguments)\n );\n if (!type) continue;\n this.program.checkTypeSupported(type, typeNode);\n\n if (initializerNode) {\n let pendingElements = this.pendingElements;\n let dummy = flow.addScopedDummyLocal(name, type, statement); // pending dummy\n pendingElements.add(dummy);\n initExpr = this.compileExpression(initializerNode, type, // reports\n Constraints.ConvImplicit\n );\n initType = this.currentType;\n pendingElements.delete(dummy);\n flow.freeScopedDummyLocal(name);\n }\n\n // Otherwise infer type from initializer\n } else if (initializerNode) {\n let pendingElements = this.pendingElements;\n let temp = flow.addScopedDummyLocal(name, Type.auto, statement); // pending dummy\n pendingElements.add(temp);\n initExpr = this.compileExpression(initializerNode, Type.auto); // reports\n initType = this.currentType;\n pendingElements.delete(temp);\n flow.freeScopedDummyLocal(name);\n\n if (this.currentType == Type.void) {\n this.error(\n DiagnosticCode.Type_0_is_not_assignable_to_type_1,\n declaration.range, this.currentType.toString(), \"\"\n );\n continue;\n }\n type = initType;\n\n // Error if there's neither a type nor an initializer\n } else {\n this.error(\n DiagnosticCode.Type_expected,\n declaration.name.range.atEnd\n );\n continue;\n }\n\n // Handle constants, and try to inline if value is static\n let isConst = declaration.is(CommonFlags.Const);\n let isStatic = false;\n if (isConst) {\n if (initExpr) {\n let precomp = module.runExpression(initExpr, ExpressionRunnerFlags.PreserveSideeffects);\n if (precomp) {\n initExpr = precomp; // always use precomputed initExpr\n let local: Local | null = null;\n switch (getExpressionType(initExpr)) {\n case TypeRef.I32: {\n local = new Local(name, -1, type, flow.targetFunction);\n local.setConstantIntegerValue(\n i64_new(\n getConstValueI32(initExpr),\n 0\n ),\n type\n );\n break;\n }\n case TypeRef.I64: {\n local = new Local(name, -1, type, flow.targetFunction);\n local.setConstantIntegerValue(\n i64_new(\n getConstValueI64Low(initExpr),\n getConstValueI64High(initExpr)\n ),\n type\n );\n break;\n }\n case TypeRef.F32: {\n local = new Local(name, -1, type, flow.targetFunction);\n local.setConstantFloatValue(getConstValueF32(initExpr), type);\n break;\n }\n case TypeRef.F64: {\n local = new Local(name, -1, type, flow.targetFunction);\n local.setConstantFloatValue(getConstValueF64(initExpr), type);\n break;\n }\n }\n if (local) {\n // Add as a dummy local that doesn't actually exist in WebAssembly\n let scopedLocals = flow.scopedLocals;\n if (!scopedLocals) flow.scopedLocals = scopedLocals = new Map();\n else if (scopedLocals.has(name)) {\n let existing = assert(scopedLocals.get(name));\n this.errorRelated(\n DiagnosticCode.Duplicate_identifier_0,\n declaration.name.range,\n existing.declaration.name.range,\n name\n );\n return this.module.unreachable();\n }\n scopedLocals.set(name, local);\n isStatic = true;\n }\n }\n } else {\n this.error(\n DiagnosticCode._const_declarations_must_be_initialized,\n declaration.range\n );\n }\n }\n\n // Otherwise compile as mutable\n if (!isStatic) {\n let local: Local;\n if (\n declaration.isAny(CommonFlags.Let | CommonFlags.Const) ||\n flow.isInline\n ) { // here: not top-level\n let existingLocal = flow.getScopedLocal(name);\n if (existingLocal) {\n if (!existingLocal.declaration.range.source.isNative) {\n this.errorRelated(\n DiagnosticCode.Duplicate_identifier_0,\n declaration.name.range,\n existingLocal.declaration.name.range,\n name\n );\n } else { // scoped locals are shared temps that don't track declarations\n this.error(\n DiagnosticCode.Duplicate_identifier_0,\n declaration.name.range, name\n );\n }\n local = existingLocal;\n } else {\n local = flow.addScopedLocal(name, type);\n }\n if (isConst) flow.setLocalFlag(local.index, LocalFlags.Constant);\n } else {\n let existing = flow.lookupLocal(name);\n if (existing) {\n this.errorRelated(\n DiagnosticCode.Duplicate_identifier_0,\n declaration.name.range,\n existing.declaration.name.range,\n name\n );\n continue;\n }\n local = flow.targetFunction.addLocal(type, name, declaration);\n flow.unsetLocalFlag(local.index, ~0);\n if (isConst) flow.setLocalFlag(local.index, LocalFlags.Constant);\n }\n if (initExpr) {\n initializers.push(\n this.makeLocalAssignment(local, initExpr, initType ? initType : type, false)\n );\n } else {\n // no need to assign zero\n if (local.type.isShortIntegerValue) {\n flow.setLocalFlag(local.index, LocalFlags.Wrapped);\n }\n }\n }\n }\n this.currentType = Type.void;\n return initializers.length == 0\n ? 0\n : module.flatten(initializers);\n }\n\n private compileVoidStatement(\n statement: VoidStatement\n ): ExpressionRef {\n return this.compileExpression(statement.expression, Type.void,\n Constraints.ConvExplicit | Constraints.WillDrop\n );\n }\n\n private compileWhileStatement(\n /** Statement to compile. */\n statement: WhileStatement\n ): ExpressionRef {\n return this.doCompileWhileStatement(statement);\n }\n\n private doCompileWhileStatement(\n /** Statement to compile. */\n statement: WhileStatement\n ): ExpressionRef {\n let module = this.module;\n let outerFlow = this.currentFlow;\n let numLocalsBefore = outerFlow.targetFunction.localsByIndex.length;\n\n // (block $break\n // (loop $continue\n // (if (condition)\n // (then\n // (body)\n // (br $continue)\n // )\n // )\n // )\n\n // Cases of interest:\n // * If the condition is always false, eliminate the body as it never runs\n // * If the condition is always true and the body never breaks, terminate\n // * If the body runs but always terminates, continue as if condition was false\n\n // Compile and evaluate the condition (always executes)\n let condExpr = this.compileExpression(statement.condition, Type.bool);\n let condExprTrueish = this.makeIsTrueish(condExpr, this.currentType, statement.condition);\n let condKind = this.evaluateCondition(condExprTrueish);\n\n // Shortcut if condition is always false (body never runs)\n if (condKind == ConditionKind.False) {\n return module.drop(condExprTrueish);\n }\n\n // Compile the body assuming the condition turned out true\n let thenFlow = outerFlow.forkThen(condExpr, /* newBreakContext */ true);\n let label = thenFlow.pushControlFlowLabel();\n let breakLabel = `while-break|${label}`;\n thenFlow.breakLabel = breakLabel;\n let continueLabel = `while-continue|${label}`;\n thenFlow.continueLabel = continueLabel;\n this.currentFlow = thenFlow;\n let bodyStmts = new Array();\n let body = statement.body;\n if (body.kind == NodeKind.Block) {\n this.compileStatements((body).statements, bodyStmts);\n } else {\n bodyStmts.push(this.compileStatement(body));\n }\n bodyStmts.push(\n module.br(continueLabel)\n );\n thenFlow.popControlFlowLabel(label);\n\n let possiblyContinues = thenFlow.isAny(FlowFlags.Continues | FlowFlags.ConditionallyContinues);\n let possiblyBreaks = thenFlow.isAny(FlowFlags.Breaks | FlowFlags.ConditionallyBreaks);\n let possiblyFallsThrough = !thenFlow.isAny(FlowFlags.Terminates | FlowFlags.Breaks);\n\n // Detect if local flags are incompatible before and after looping, and\n // if so recompile by unifying local flags between iterations. Note that\n // this may be necessary multiple times where locals depend on each other.\n let possiblyLoops = possiblyContinues || possiblyFallsThrough;\n if (possiblyLoops && outerFlow.resetIfNeedsRecompile(thenFlow, numLocalsBefore)) {\n this.currentFlow = outerFlow;\n return this.doCompileWhileStatement(statement);\n }\n\n // If the condition is always true, the body's effects always happen\n let alwaysTerminates = false;\n if (condKind == ConditionKind.True) {\n outerFlow.inherit(thenFlow);\n\n // If the body also never breaks, the overall flow terminates\n if (!possiblyBreaks) {\n alwaysTerminates = true;\n outerFlow.set(FlowFlags.Terminates);\n }\n\n // Otherwise loop conditionally\n } else {\n let elseFlow = outerFlow.forkElse(condExpr);\n if (!possiblyFallsThrough && !possiblyBreaks) {\n // Only getting past if condition was false\n outerFlow.inherit(elseFlow);\n outerFlow.mergeSideEffects(thenFlow);\n } else {\n // Otherwise getting past conditionally\n outerFlow.inheritAlternatives(thenFlow, elseFlow);\n }\n }\n\n // Finalize and leave everything else to the optimizer\n this.currentFlow = outerFlow;\n let stmts: ExpressionRef[] = [\n module.loop(continueLabel,\n module.if(condExprTrueish,\n module.flatten(bodyStmts)\n )\n )\n ];\n if (alwaysTerminates) stmts.push(module.unreachable());\n return module.block(breakLabel, stmts);\n }\n\n // === Expressions ==============================================================================\n\n /** Compiles the value of an inlined constant element. */\n compileInlineConstant(\n element: VariableLikeElement,\n contextualType: Type,\n constraints: Constraints\n ): ExpressionRef {\n assert(element.is(CommonFlags.Inlined | CommonFlags.Resolved));\n let type = element.type;\n this.currentType = type;\n switch (type.kind) {\n case TypeKind.Bool: {\n return this.module.i32(\n element.constantValueKind == ConstantValueKind.Integer\n // @ts-ignore\n ? i64_ne(element.constantIntegerValue, i64_zero)\n : 0\n );\n }\n case TypeKind.I8:\n case TypeKind.I16: {\n let shift = type.computeSmallIntegerShift(Type.i32);\n return this.module.i32(\n element.constantValueKind == ConstantValueKind.Integer\n ? i64_low(element.constantIntegerValue) << shift >> shift\n : 0\n ); // recognized by canOverflow\n }\n case TypeKind.U8:\n case TypeKind.U16: {\n let mask = element.type.computeSmallIntegerMask(Type.i32);\n return this.module.i32(\n element.constantValueKind == ConstantValueKind.Integer\n ? i64_low(element.constantIntegerValue) & mask\n : 0\n ); // recognized by canOverflow\n }\n case TypeKind.I32:\n case TypeKind.U32: {\n return this.module.i32(\n element.constantValueKind == ConstantValueKind.Integer\n ? i64_low(element.constantIntegerValue)\n : 0\n );\n }\n case TypeKind.Isize:\n case TypeKind.Usize: {\n if (!element.program.options.isWasm64) {\n return this.module.i32(\n element.constantValueKind == ConstantValueKind.Integer\n ? i64_low(element.constantIntegerValue)\n : 0\n );\n }\n // fall-through\n }\n case TypeKind.I64:\n case TypeKind.U64: {\n return element.constantValueKind == ConstantValueKind.Integer\n ? this.module.i64(\n i64_low(element.constantIntegerValue),\n i64_high(element.constantIntegerValue)\n )\n : this.module.i64(0);\n }\n case TypeKind.F64: {\n // monkey-patch for converting built-in floats to f32 implicitly\n if (!(element.hasDecorator(DecoratorFlags.Builtin) && contextualType == Type.f32)) {\n return this.module.f64(element.constantFloatValue);\n }\n // otherwise fall-through: basically precomputes f32.demote/f64 of NaN / Infinity\n this.currentType = Type.f32;\n }\n case TypeKind.F32: {\n return this.module.f32(element.constantFloatValue);\n }\n default: {\n assert(false);\n return this.module.unreachable();\n }\n }\n }\n\n compileExpression(\n expression: Expression,\n contextualType: Type,\n constraints: Constraints = Constraints.None\n ): ExpressionRef {\n while (expression.kind == NodeKind.Parenthesized) { // skip\n expression = (expression).expression;\n }\n this.currentType = contextualType;\n if (contextualType == Type.void) constraints |= Constraints.WillDrop;\n let expr: ExpressionRef;\n switch (expression.kind) {\n case NodeKind.Assertion: {\n expr = this.compileAssertionExpression(expression, contextualType, constraints);\n break;\n }\n case NodeKind.Binary: {\n expr = this.compileBinaryExpression(expression, contextualType, constraints);\n break;\n }\n case NodeKind.Call: {\n expr = this.compileCallExpression(expression, contextualType, constraints);\n break;\n }\n case NodeKind.Comma: {\n expr = this.compileCommaExpression(expression, contextualType, constraints);\n break;\n }\n case NodeKind.ElementAccess: {\n expr = this.compileElementAccessExpression(expression, contextualType, constraints);\n break;\n }\n case NodeKind.Function: {\n expr = this.compileFunctionExpression(expression, contextualType, constraints);\n break;\n }\n case NodeKind.Identifier:\n case NodeKind.False:\n case NodeKind.Null:\n case NodeKind.This:\n case NodeKind.Super:\n case NodeKind.True: {\n expr = this.compileIdentifierExpression(expression, contextualType, constraints);\n break;\n }\n case NodeKind.InstanceOf: {\n expr = this.compileInstanceOfExpression(expression, contextualType, constraints);\n break;\n }\n case NodeKind.Literal: {\n expr = this.compileLiteralExpression(expression, contextualType, constraints);\n break;\n }\n case NodeKind.New: {\n expr = this.compileNewExpression(expression, contextualType, constraints);\n break;\n }\n case NodeKind.PropertyAccess: {\n expr = this.compilePropertyAccessExpression(expression, contextualType, constraints);\n break;\n }\n case NodeKind.Ternary: {\n expr = this.compileTernaryExpression(expression, contextualType, constraints);\n break;\n }\n case NodeKind.UnaryPostfix: {\n expr = this.compileUnaryPostfixExpression(expression, contextualType, constraints);\n break;\n }\n case NodeKind.UnaryPrefix: {\n expr = this.compileUnaryPrefixExpression(expression, contextualType, constraints);\n break;\n }\n case NodeKind.Compiled: {\n let compiled = expression;\n expr = compiled.expr;\n this.currentType = compiled.type;\n break;\n }\n case NodeKind.Class: {\n // TODO: compile as class expression\n this.error(\n DiagnosticCode.Not_implemented_0,\n expression.range,\n \"Block-scoped class declarations or expressions\"\n );\n expr = this.module.unreachable();\n break;\n }\n default: {\n assert(false);\n expr = this.module.unreachable();\n }\n }\n // ensure conversion and wrapping in case the respective function doesn't on its own\n let currentType = this.currentType;\n let wrap = (constraints & Constraints.MustWrap) != 0;\n if (currentType != contextualType.nonNullableType) { // allow assigning non-nullable to nullable\n if (constraints & Constraints.ConvExplicit) {\n expr = this.convertExpression(expr, currentType, contextualType, true, expression);\n this.currentType = currentType = contextualType;\n } else if (constraints & Constraints.ConvImplicit) {\n expr = this.convertExpression(expr, currentType, contextualType, false, expression);\n this.currentType = currentType = contextualType;\n }\n }\n if (wrap) expr = this.ensureSmallIntegerWrap(expr, currentType);\n // debug location is added here so the caller doesn't have to. means: compilation of an expression\n // must go through this function, with the respective per-kind functions not being used directly.\n if (this.options.sourceMap) this.addDebugLocation(expr, expression.range);\n return expr;\n }\n\n /** Converts an expression's result from one type to another. */\n convertExpression(\n expr: ExpressionRef,\n /** Original type. */\n fromType: Type,\n /** New type. */\n toType: Type,\n /** Whether the conversion is explicit. */\n explicit: bool,\n /** Report node. */\n reportNode: Node\n ): ExpressionRef {\n let module = this.module;\n\n if (fromType.kind == TypeKind.Void) {\n if (toType.kind == TypeKind.Void) {\n // void to void: Can happen as a result of a foregoing error. Since we\n // have an `expr` here that is already supposed to be void, return it.\n return expr;\n }\n // void to any\n this.error(\n DiagnosticCode.Type_0_is_not_assignable_to_type_1,\n reportNode.range, fromType.toString(), toType.toString()\n );\n return module.unreachable();\n }\n\n // any to void\n if (toType.kind == TypeKind.Void) return module.drop(expr);\n\n // reference involved\n if (fromType.isReference || toType.isReference) {\n if (this.currentFlow.isNonnull(expr, fromType)) {\n fromType = fromType.nonNullableType;\n } else if (explicit && fromType.isNullableReference && !toType.isNullableReference) {\n // explicit conversion from nullable to non-nullable requires a runtime\n // check here because nonnull state above already didn't know better\n if (!this.options.noAssert) {\n expr = this.makeRuntimeNonNullCheck(expr, fromType, reportNode);\n }\n fromType = fromType.nonNullableType;\n }\n if (fromType.isAssignableTo(toType)) { // upcast or same\n assert(toType.isExternalReference || fromType.kind == toType.kind);\n this.currentType = toType;\n return expr;\n }\n if (explicit && toType.nonNullableType.isAssignableTo(fromType)) { // downcast\n // (maybeCat)\n if (toType.isExternalReference) {\n this.error(\n DiagnosticCode.Not_implemented_0,\n reportNode.range,\n \"ref.cast\"\n );\n this.currentType = toType;\n return module.unreachable();\n }\n assert(fromType.kind == toType.kind);\n if (!this.options.noAssert) {\n expr = this.makeRuntimeDowncastCheck(expr, fromType, toType, reportNode);\n }\n this.currentType = toType;\n return expr;\n }\n this.error(\n DiagnosticCode.Type_0_is_not_assignable_to_type_1,\n reportNode.range, fromType.toString(), toType.toString()\n );\n this.currentType = toType;\n return module.unreachable();\n }\n\n // not dealing with references from here on\n assert(!fromType.isReference && !toType.isReference);\n\n // Early return if we have same types\n if (toType.kind == fromType.kind) {\n this.currentType = toType;\n return expr;\n }\n\n // v128 to any / any to v128\n // except v128 to bool\n //\n // NOTE:In case we would have more conversions to and from v128 type it's better\n // to make these checks more individual and integrate in below flow.\n if (\n !toType.isBooleanValue &&\n (toType.isVectorValue || fromType.isVectorValue)\n ) {\n this.error(\n DiagnosticCode.Type_0_is_not_assignable_to_type_1,\n reportNode.range, fromType.toString(), toType.toString()\n );\n return module.unreachable();\n }\n\n if (!fromType.isAssignableTo(toType)) {\n if (!explicit) {\n this.error(\n DiagnosticCode.Conversion_from_type_0_to_1_requires_an_explicit_cast,\n reportNode.range, fromType.toString(), toType.toString()\n ); // recoverable\n }\n }\n\n if (fromType.isFloatValue) {\n\n // float to float\n if (toType.isFloatValue) {\n if (fromType.kind == TypeKind.F32) {\n\n // f32 to f64\n if (toType.kind == TypeKind.F64) {\n expr = module.unary(UnaryOp.PromoteF32ToF64, expr);\n }\n\n // otherwise f32 to f32\n\n // f64 to f32\n } else if (toType.kind == TypeKind.F32) {\n expr = module.unary(UnaryOp.DemoteF64ToF32, expr);\n }\n\n // otherwise f64 to f64\n\n // float to int\n } else if (toType.isIntegerValue) {\n\n // f32 to int\n if (fromType.kind == TypeKind.F32) {\n if (toType.isBooleanValue) {\n expr = this.makeIsTrueish(expr, Type.f32, reportNode);\n } else if (toType.isSignedIntegerValue) {\n let saturating = this.options.hasFeature(Feature.NontrappingF2I);\n if (toType.isLongIntegerValue) {\n expr = module.unary(saturating ? UnaryOp.TruncSatF32ToI64 : UnaryOp.TruncF32ToI64, expr);\n } else {\n expr = module.unary(saturating ? UnaryOp.TruncSatF32ToI32 : UnaryOp.TruncF32ToI32, expr);\n }\n } else {\n let saturating = this.options.hasFeature(Feature.NontrappingF2I);\n if (toType.isLongIntegerValue) {\n expr = module.unary(saturating ? UnaryOp.TruncSatF32ToU64 : UnaryOp.TruncF32ToU64, expr);\n } else {\n expr = module.unary(saturating ? UnaryOp.TruncSatF32ToU32 : UnaryOp.TruncF32ToU32, expr);\n }\n }\n\n // f64 to int\n } else {\n if (toType.isBooleanValue) {\n expr = this.makeIsTrueish(expr, Type.f64, reportNode);\n } else if (toType.isSignedIntegerValue) {\n let saturating = this.options.hasFeature(Feature.NontrappingF2I);\n if (toType.isLongIntegerValue) {\n expr = module.unary(saturating ? UnaryOp.TruncSatF64ToI64 : UnaryOp.TruncF64ToI64, expr);\n } else {\n expr = module.unary(saturating ? UnaryOp.TruncSatF64ToI32 : UnaryOp.TruncF64ToI32, expr);\n }\n } else {\n let saturating = this.options.hasFeature(Feature.NontrappingF2I);\n if (toType.isLongIntegerValue) {\n expr = module.unary(saturating ? UnaryOp.TruncSatF64ToU64 : UnaryOp.TruncF64ToU64, expr);\n } else {\n expr = module.unary(saturating ? UnaryOp.TruncSatF64ToU32 : UnaryOp.TruncF64ToU32, expr);\n }\n }\n }\n\n // float to void\n } else {\n assert(toType.flags == TypeFlags.None, \"void type expected\");\n expr = module.drop(expr);\n }\n\n // int to float\n } else if (fromType.isIntegerValue && toType.isFloatValue) {\n // Clear extra bits.\n expr = this.ensureSmallIntegerWrap(expr, fromType);\n let op: UnaryOp;\n // int to f32\n if (toType.kind == TypeKind.F32) {\n if (fromType.isLongIntegerValue) {\n if (fromType.isSignedIntegerValue) op = UnaryOp.ConvertI64ToF32;\n else op = UnaryOp.ConvertU64ToF32;\n } else {\n if (fromType.isSignedIntegerValue) op = UnaryOp.ConvertI32ToF32;\n else op = UnaryOp.ConvertU32ToF32;\n }\n // int to f64\n } else {\n if (fromType.isLongIntegerValue) {\n if (fromType.isSignedIntegerValue) op = UnaryOp.ConvertI64ToF64;\n else op = UnaryOp.ConvertU64ToF64;\n } else {\n if (fromType.isSignedIntegerValue) op = UnaryOp.ConvertI32ToF64;\n else op = UnaryOp.ConvertU32ToF64;\n }\n }\n expr = module.unary(op, expr);\n\n // v128 to bool\n } else if (fromType == Type.v128 && toType.isBooleanValue) {\n expr = this.makeIsTrueish(expr, Type.v128, reportNode);\n\n // int to int\n } else {\n // i64 to ...\n if (fromType.isLongIntegerValue) {\n\n // i64 to i32 or smaller\n if (toType.isBooleanValue) {\n expr = module.binary(BinaryOp.NeI64, expr, module.i64(0));\n } else if (!toType.isLongIntegerValue) {\n expr = module.unary(UnaryOp.WrapI64ToI32, expr); // discards upper bits\n }\n\n // i32 or smaller to i64\n } else if (toType.isLongIntegerValue) {\n expr = module.unary(\n fromType.isSignedIntegerValue ? UnaryOp.ExtendI32ToI64 : UnaryOp.ExtendU32ToU64,\n this.ensureSmallIntegerWrap(expr, fromType) // must clear garbage bits\n );\n\n // i32 to i32\n } else {\n // small i32 to ...\n if (fromType.isShortIntegerValue) {\n // small i32 to larger i32\n if (fromType.size < toType.size) {\n expr = this.ensureSmallIntegerWrap(expr, fromType); // must clear garbage bits\n }\n // same size\n } else {\n if (!explicit && !this.options.isWasm64 && fromType.isVaryingIntegerValue && !toType.isVaryingIntegerValue) {\n this.warning(\n DiagnosticCode.Conversion_from_type_0_to_1_will_require_an_explicit_cast_when_switching_between_32_64_bit,\n reportNode.range, fromType.toString(), toType.toString()\n );\n }\n }\n }\n }\n\n this.currentType = toType;\n return expr;\n }\n\n private compileAssertionExpression(\n expression: AssertionExpression,\n contextualType: Type,\n constraints: Constraints\n ): ExpressionRef {\n let inheritedConstraints = constraints & ~(Constraints.ConvImplicit | Constraints.ConvExplicit);\n switch (expression.assertionKind) {\n case AssertionKind.Prefix:\n case AssertionKind.As: {\n let flow = this.currentFlow;\n let toType = this.resolver.resolveType( // reports\n assert(expression.toType), flow,\n flow.sourceFunction,\n cloneMap(flow.contextualTypeArguments)\n );\n if (!toType) return this.module.unreachable();\n return this.compileExpression(expression.expression, toType, inheritedConstraints | Constraints.ConvExplicit);\n }\n case AssertionKind.NonNull: {\n assert(!expression.toType);\n let expr = this.compileExpression(expression.expression, contextualType.exceptVoid, inheritedConstraints);\n let type = this.currentType;\n if (this.currentFlow.isNonnull(expr, type)) {\n this.info(\n DiagnosticCode.Expression_is_never_null,\n expression.expression.range\n );\n } else if (!this.options.noAssert) {\n expr = this.makeRuntimeNonNullCheck(expr, type, expression);\n }\n this.currentType = type.nonNullableType;\n return expr;\n }\n case AssertionKind.Const: {\n // TODO: decide on the layout of ReadonlyArray first\n // let operand = expression.expression;\n // if (operand.kind == NodeKind.Literal && (operand).literalKind == LiteralKind.Array) {\n // let element = this.resolver.lookupExpression(expression /* ! */, this.currentFlow, contextualType);\n // if (!element) return this.module.unreachable();\n // if (element.kind == ElementKind.Class) {\n // let arrayInstance = element;\n // if (arrayInstance.extends(this.program.readonlyArrayPrototype)) {\n // return this.compileStaticArrayLiteral(operand, arrayInstance.type, constraints);\n // }\n // }\n // }\n this.error(\n DiagnosticCode.Not_implemented_0,\n expression.range,\n \"Const assertion\"\n );\n return this.module.unreachable();\n }\n default: assert(false);\n }\n return this.module.unreachable();\n }\n\n private f32ModInstance: Function | null = null;\n private f64ModInstance: Function | null = null;\n private f32PowInstance: Function | null = null;\n private f64PowInstance: Function | null = null;\n private i32PowInstance: Function | null = null;\n private i64PowInstance: Function | null = null;\n\n private compileBinaryExpression(\n expression: BinaryExpression,\n contextualType: Type,\n constraints: Constraints\n ): ExpressionRef {\n let module = this.module;\n let left = expression.left;\n let right = expression.right;\n\n let leftExpr: ExpressionRef;\n let leftType: Type;\n let rightExpr: ExpressionRef;\n let rightType: Type;\n let commonType: Type | null;\n\n let expr: ExpressionRef;\n let compound = false;\n\n let operator = expression.operator;\n switch (operator) {\n case Token.LessThan: {\n leftExpr = this.compileExpression(left, contextualType);\n leftType = this.currentType;\n\n // check operator overload\n let classReference = leftType.getClassOrWrapper(this.program);\n if (classReference) {\n let overload = classReference.lookupOverload(OperatorKind.Lt);\n if (overload) {\n expr = this.compileBinaryOverload(overload, left, leftExpr, leftType, right, expression);\n break;\n }\n }\n\n rightExpr = this.compileExpression(right, leftType);\n rightType = this.currentType;\n commonType = Type.commonType(leftType, rightType, contextualType, true);\n if (!commonType || !commonType.isNumericValue) {\n this.error(\n DiagnosticCode.Operator_0_cannot_be_applied_to_types_1_and_2,\n expression.range, \"<\", leftType.toString(), rightType.toString()\n );\n this.currentType = contextualType;\n return module.unreachable();\n }\n\n leftExpr = this.convertExpression(leftExpr, leftType, commonType, false, left);\n leftType = commonType;\n rightExpr = this.convertExpression(rightExpr, rightType, commonType, false, right);\n rightType = commonType;\n\n expr = this.makeLt(leftExpr, rightExpr, commonType);\n this.currentType = Type.bool;\n break;\n }\n case Token.GreaterThan: {\n leftExpr = this.compileExpression(left, contextualType);\n leftType = this.currentType;\n\n // check operator overload\n let classReference = leftType.getClassOrWrapper(this.program);\n if (classReference) {\n let overload = classReference.lookupOverload(OperatorKind.Gt);\n if (overload) {\n expr = this.compileBinaryOverload(overload, left, leftExpr, leftType, right, expression);\n break;\n }\n }\n\n rightExpr = this.compileExpression(right, leftType);\n rightType = this.currentType;\n commonType = Type.commonType(leftType, rightType, contextualType, true);\n if (!commonType || !commonType.isNumericValue) {\n this.error(\n DiagnosticCode.Operator_0_cannot_be_applied_to_types_1_and_2,\n expression.range, \">\", leftType.toString(), rightType.toString()\n );\n this.currentType = contextualType;\n return module.unreachable();\n }\n\n leftExpr = this.convertExpression(leftExpr, leftType, commonType, false, left);\n leftType = commonType;\n rightExpr = this.convertExpression(rightExpr, rightType, commonType, false, right);\n rightType = commonType;\n\n expr = this.makeGt(leftExpr, rightExpr, commonType);\n this.currentType = Type.bool;\n break;\n }\n case Token.LessThan_Equals: {\n leftExpr = this.compileExpression(left, contextualType);\n leftType = this.currentType;\n\n // check operator overload\n let classReference = leftType.getClassOrWrapper(this.program);\n if (classReference) {\n let overload = classReference.lookupOverload(OperatorKind.Le);\n if (overload) {\n expr = this.compileBinaryOverload(overload, left, leftExpr, leftType, right, expression);\n break;\n }\n }\n\n rightExpr = this.compileExpression(right, leftType);\n rightType = this.currentType;\n commonType = Type.commonType(leftType, rightType, contextualType, true);\n if (!commonType || !commonType.isNumericValue) {\n this.error(\n DiagnosticCode.Operator_0_cannot_be_applied_to_types_1_and_2,\n expression.range, \"<=\", leftType.toString(), rightType.toString()\n );\n this.currentType = contextualType;\n return module.unreachable();\n }\n\n leftExpr = this.convertExpression(leftExpr, leftType, commonType, false, left);\n leftType = commonType;\n rightExpr = this.convertExpression(rightExpr, rightType, commonType, false, right);\n rightType = commonType;\n\n expr = this.makeLe(leftExpr, rightExpr, commonType);\n this.currentType = Type.bool;\n break;\n }\n case Token.GreaterThan_Equals: {\n leftExpr = this.compileExpression(left, contextualType);\n leftType = this.currentType;\n\n // check operator overload\n let classReference = leftType.getClassOrWrapper(this.program);\n if (classReference) {\n let overload = classReference.lookupOverload(OperatorKind.Ge);\n if (overload) {\n expr = this.compileBinaryOverload(overload, left, leftExpr, leftType, right, expression);\n break;\n }\n }\n\n rightExpr = this.compileExpression(right, leftType);\n rightType = this.currentType;\n commonType = Type.commonType(leftType, rightType, contextualType, true);\n if (!commonType || !commonType.isNumericValue) {\n this.error(\n DiagnosticCode.Operator_0_cannot_be_applied_to_types_1_and_2,\n expression.range, \">=\", leftType.toString(), rightType.toString()\n );\n this.currentType = contextualType;\n return module.unreachable();\n }\n\n leftExpr = this.convertExpression(leftExpr, leftType, commonType, false, left);\n leftType = commonType;\n rightExpr = this.convertExpression(rightExpr, rightType, commonType, false, right);\n rightType = commonType;\n\n expr = this.makeGe(leftExpr, rightExpr, commonType);\n this.currentType = Type.bool;\n break;\n }\n\n case Token.Equals_Equals_Equals:\n case Token.Equals_Equals: {\n leftExpr = this.compileExpression(left, contextualType);\n leftType = this.currentType;\n\n // check operator overload\n let classReference = leftType.getClassOrWrapper(this.program);\n if (classReference) {\n let overload = classReference.lookupOverload(OperatorKind.Eq);\n if (overload) {\n expr = this.compileBinaryOverload(overload, left, leftExpr, leftType, right, expression);\n break;\n }\n }\n\n rightExpr = this.compileExpression(right, leftType);\n rightType = this.currentType;\n commonType = Type.commonType(leftType, rightType, contextualType);\n if (!commonType) {\n this.error(\n DiagnosticCode.Operator_0_cannot_be_applied_to_types_1_and_2,\n expression.range, operatorTokenToString(expression.operator), leftType.toString(), rightType.toString()\n );\n this.currentType = contextualType;\n return module.unreachable();\n }\n if (commonType.isFloatValue) {\n if (\n isConstExpressionNaN(module, rightExpr) ||\n isConstExpressionNaN(module, leftExpr)\n ) {\n this.warning(\n DiagnosticCode._NaN_does_not_compare_equal_to_any_other_value_including_itself_Use_isNaN_x_instead,\n expression.range\n );\n }\n if (isConstNegZero(rightExpr) || isConstNegZero(leftExpr)) {\n this.warning(\n DiagnosticCode.Comparison_with_0_0_is_sign_insensitive_Use_Object_is_x_0_0_if_the_sign_matters,\n expression.range\n );\n }\n }\n leftExpr = this.convertExpression(leftExpr, leftType, commonType, false, left);\n leftType = commonType;\n rightExpr = this.convertExpression(rightExpr, rightType, commonType, false, right);\n rightType = commonType;\n\n expr = this.makeEq(leftExpr, rightExpr, commonType, expression);\n this.currentType = Type.bool;\n break;\n }\n case Token.Exclamation_Equals_Equals:\n case Token.Exclamation_Equals: {\n leftExpr = this.compileExpression(left, contextualType);\n leftType = this.currentType;\n\n // check operator overload\n let classReference = leftType.getClass();\n if (classReference) {\n let overload = classReference.lookupOverload(OperatorKind.Ne);\n if (overload) {\n expr = this.compileBinaryOverload(overload, left, leftExpr, leftType, right, expression);\n break;\n }\n }\n\n rightExpr = this.compileExpression(right, leftType);\n rightType = this.currentType;\n commonType = Type.commonType(leftType, rightType, contextualType);\n if (!commonType) {\n this.error(\n DiagnosticCode.Operator_0_cannot_be_applied_to_types_1_and_2,\n expression.range, operatorTokenToString(expression.operator), leftType.toString(), rightType.toString()\n );\n this.currentType = contextualType;\n return module.unreachable();\n }\n if (commonType.isFloatValue) {\n if (\n isConstExpressionNaN(module, rightExpr) ||\n isConstExpressionNaN(module, leftExpr)\n ) {\n this.warning(\n DiagnosticCode._NaN_does_not_compare_equal_to_any_other_value_including_itself_Use_isNaN_x_instead,\n expression.range\n );\n }\n if (isConstNegZero(rightExpr) || isConstNegZero(leftExpr)) {\n this.warning(\n DiagnosticCode.Comparison_with_0_0_is_sign_insensitive_Use_Object_is_x_0_0_if_the_sign_matters,\n expression.range\n );\n }\n }\n leftExpr = this.convertExpression(leftExpr, leftType, commonType, false, left);\n leftType = commonType;\n rightExpr = this.convertExpression(rightExpr, rightType, commonType, false, right);\n rightType = commonType;\n\n expr = this.makeNe(leftExpr, rightExpr, commonType, expression);\n this.currentType = Type.bool;\n break;\n }\n case Token.Equals: {\n return this.compileAssignment(left, right, contextualType);\n }\n case Token.Plus_Equals: compound = true;\n case Token.Plus: {\n leftExpr = this.compileExpression(left, contextualType);\n leftType = this.currentType;\n\n // check operator overload\n let classReference = leftType.getClassOrWrapper(this.program);\n if (classReference) {\n let overload = classReference.lookupOverload(OperatorKind.Add);\n if (overload) {\n expr = this.compileBinaryOverload(overload, left, leftExpr, leftType, right, expression);\n break;\n }\n }\n if (compound) {\n if (!leftType.isNumericValue) {\n this.error(\n DiagnosticCode.The_0_operator_cannot_be_applied_to_type_1,\n expression.range, \"+\", leftType.toString()\n );\n return module.unreachable();\n }\n rightExpr = this.compileExpression(right, leftType, Constraints.ConvImplicit);\n rightType = commonType = this.currentType;\n } else {\n rightExpr = this.compileExpression(right, leftType);\n rightType = this.currentType;\n commonType = Type.commonType(leftType, rightType, contextualType);\n if (!commonType || !commonType.isNumericValue) {\n this.error(\n DiagnosticCode.Operator_0_cannot_be_applied_to_types_1_and_2,\n expression.range, \"+\", leftType.toString(), rightType.toString()\n );\n this.currentType = contextualType;\n return module.unreachable();\n }\n leftExpr = this.convertExpression(leftExpr, leftType, commonType, false, left);\n leftType = commonType;\n rightExpr = this.convertExpression(rightExpr, rightType, commonType, false, right);\n rightType = commonType;\n }\n expr = this.makeAdd(leftExpr, rightExpr, commonType);\n break;\n }\n case Token.Minus_Equals: compound = true;\n case Token.Minus: {\n leftExpr = this.compileExpression(left, contextualType);\n leftType = this.currentType;\n\n // check operator overload\n let classReference = leftType.getClassOrWrapper(this.program);\n if (classReference) {\n let overload = classReference.lookupOverload(OperatorKind.Sub);\n if (overload) {\n expr = this.compileBinaryOverload(overload, left, leftExpr, leftType, right, expression);\n break;\n }\n }\n\n if (compound) {\n if (!leftType.isNumericValue) {\n this.error(\n DiagnosticCode.The_0_operator_cannot_be_applied_to_type_1,\n expression.range, \"-\", leftType.toString()\n );\n return module.unreachable();\n }\n rightExpr = this.compileExpression(right, leftType, Constraints.ConvImplicit);\n rightType = commonType = this.currentType;\n } else {\n rightExpr = this.compileExpression(right, leftType);\n rightType = this.currentType;\n commonType = Type.commonType(leftType, rightType, contextualType);\n if (!commonType || !leftType.isNumericValue) {\n this.error(\n DiagnosticCode.Operator_0_cannot_be_applied_to_types_1_and_2,\n expression.range, \"-\", leftType.toString(), rightType.toString()\n );\n this.currentType = contextualType;\n return module.unreachable();\n }\n leftExpr = this.convertExpression(leftExpr, leftType, commonType, false, left);\n leftType = commonType;\n rightExpr = this.convertExpression(rightExpr, rightType, commonType, false, right);\n rightType = commonType;\n }\n expr = this.makeSub(leftExpr, rightExpr, commonType);\n break;\n }\n case Token.Asterisk_Equals: compound = true;\n case Token.Asterisk: {\n leftExpr = this.compileExpression(left, contextualType);\n leftType = this.currentType;\n\n // check operator overload\n let classReference = leftType.getClassOrWrapper(this.program);\n if (classReference) {\n let overload = classReference.lookupOverload(OperatorKind.Mul);\n if (overload) {\n expr = this.compileBinaryOverload(overload, left, leftExpr, leftType, right, expression);\n break;\n }\n }\n\n if (compound) {\n if (!leftType.isNumericValue) {\n this.error(\n DiagnosticCode.The_0_operator_cannot_be_applied_to_type_1,\n expression.range, \"*\", leftType.toString()\n );\n return module.unreachable();\n }\n rightExpr = this.compileExpression(right, leftType, Constraints.ConvImplicit);\n rightType = commonType = this.currentType;\n } else {\n rightExpr = this.compileExpression(right, leftType);\n rightType = this.currentType;\n commonType = Type.commonType(leftType, rightType, contextualType);\n if (!commonType || !commonType.isNumericValue) {\n this.error(\n DiagnosticCode.Operator_0_cannot_be_applied_to_types_1_and_2,\n expression.range, \"*\", leftType.toString(), rightType.toString()\n );\n this.currentType = contextualType;\n return module.unreachable();\n }\n leftExpr = this.convertExpression(leftExpr, leftType, commonType, false, left);\n leftType = commonType;\n rightExpr = this.convertExpression(rightExpr, rightType, commonType, false, right);\n rightType = commonType;\n }\n expr = this.makeMul(leftExpr, rightExpr, commonType);\n break;\n }\n case Token.Asterisk_Asterisk_Equals: compound = true;\n case Token.Asterisk_Asterisk: {\n leftExpr = this.compileExpression(left, contextualType);\n leftType = this.currentType;\n\n // check operator overload\n let classReference = leftType.getClassOrWrapper(this.program);\n if (classReference) {\n let overload = classReference.lookupOverload(OperatorKind.Pow);\n if (overload) {\n expr = this.compileBinaryOverload(overload, left, leftExpr, leftType, right, expression);\n break;\n }\n }\n\n if (compound) {\n if (!leftType.isNumericValue) {\n this.error(\n DiagnosticCode.The_0_operator_cannot_be_applied_to_type_1,\n expression.range, \"**\", leftType.toString()\n );\n return module.unreachable();\n }\n rightExpr = this.compileExpression(right, leftType, Constraints.ConvImplicit);\n rightType = commonType = this.currentType;\n } else {\n rightExpr = this.compileExpression(right, leftType);\n rightType = this.currentType;\n commonType = Type.commonType(leftType, rightType, contextualType);\n if (!commonType || !commonType.isNumericValue) {\n this.error(\n DiagnosticCode.Operator_0_cannot_be_applied_to_types_1_and_2,\n expression.range, \"**\", leftType.toString(), rightType.toString()\n );\n this.currentType = contextualType;\n return module.unreachable();\n }\n leftExpr = this.convertExpression(leftExpr, leftType, commonType, false, left);\n leftType = commonType;\n rightExpr = this.convertExpression(rightExpr, rightType, commonType, false, right);\n rightType = commonType;\n }\n expr = this.makePow(leftExpr, rightExpr, commonType, expression);\n break;\n }\n case Token.Slash_Equals: compound = true;\n case Token.Slash: {\n leftExpr = this.compileExpression(left, contextualType);\n leftType = this.currentType;\n\n // check operator overload\n let classReference = leftType.getClassOrWrapper(this.program);\n if (classReference) {\n let overload = classReference.lookupOverload(OperatorKind.Div);\n if (overload) {\n expr = this.compileBinaryOverload(overload, left, leftExpr, leftType, right, expression);\n break;\n }\n }\n\n if (compound) {\n if (!leftType.isNumericValue) {\n this.error(\n DiagnosticCode.The_0_operator_cannot_be_applied_to_type_1,\n expression.range, \"/\", leftType.toString()\n );\n return module.unreachable();\n }\n rightExpr = this.compileExpression(right, leftType, Constraints.ConvImplicit);\n rightType = commonType = this.currentType;\n } else {\n rightExpr = this.compileExpression(right, leftType);\n rightType = this.currentType;\n commonType = Type.commonType(leftType, rightType, contextualType);\n if (!commonType || !commonType.isNumericValue) {\n this.error(\n DiagnosticCode.Operator_0_cannot_be_applied_to_types_1_and_2,\n expression.range, \"/\", leftType.toString(), rightType.toString()\n );\n this.currentType = contextualType;\n return module.unreachable();\n }\n leftExpr = this.convertExpression(leftExpr, leftType, commonType, false, left);\n leftType = commonType;\n rightExpr = this.convertExpression(rightExpr, rightType, commonType, false, right);\n rightType = commonType;\n }\n expr = this.makeDiv(leftExpr, rightExpr, commonType);\n break;\n }\n case Token.Percent_Equals: compound = true;\n case Token.Percent: {\n leftExpr = this.compileExpression(left, contextualType);\n leftType = this.currentType;\n\n // check operator overload\n let classReference = leftType.getClassOrWrapper(this.program);\n if (classReference) {\n let overload = classReference.lookupOverload(OperatorKind.Rem);\n if (overload) {\n expr = this.compileBinaryOverload(overload, left, leftExpr, leftType, right, expression);\n break;\n }\n }\n\n if (compound) {\n if (!leftType.isNumericValue) {\n this.error(\n DiagnosticCode.The_0_operator_cannot_be_applied_to_type_1,\n expression.range, \"%\", leftType.toString()\n );\n return module.unreachable();\n }\n rightExpr = this.compileExpression(right, leftType, Constraints.ConvImplicit);\n rightType = commonType = this.currentType;\n } else {\n rightExpr = this.compileExpression(right, leftType);\n rightType = this.currentType;\n commonType = Type.commonType(leftType, rightType, contextualType);\n if (!commonType || !commonType.isNumericValue) {\n this.error(\n DiagnosticCode.Operator_0_cannot_be_applied_to_types_1_and_2,\n expression.range, \"%\", leftType.toString(), rightType.toString()\n );\n this.currentType = contextualType;\n return module.unreachable();\n }\n leftExpr = this.convertExpression(leftExpr, leftType, commonType, false, left);\n leftType = commonType;\n rightExpr = this.convertExpression(rightExpr, rightType, commonType, false, right);\n rightType = commonType;\n }\n expr = this.makeRem(leftExpr, rightExpr, commonType, expression);\n break;\n }\n case Token.LessThan_LessThan_Equals: compound = true;\n case Token.LessThan_LessThan: {\n leftExpr = this.compileExpression(left, contextualType.intType);\n leftType = this.currentType;\n\n // check operator overload\n let classReference = leftType.getClassOrWrapper(this.program);\n if (classReference) {\n let overload = classReference.lookupOverload(OperatorKind.BitwiseShl);\n if (overload) {\n expr = this.compileBinaryOverload(overload, left, leftExpr, leftType, right, expression);\n break;\n }\n }\n if (!leftType.isIntegerValue) {\n this.error(\n DiagnosticCode.The_0_operator_cannot_be_applied_to_type_1,\n expression.range, \"<<\", leftType.toString()\n );\n return module.unreachable();\n }\n rightExpr = this.compileExpression(right, leftType, Constraints.ConvImplicit);\n rightType = this.currentType;\n\n expr = this.makeShl(leftExpr, rightExpr, rightType);\n break;\n }\n case Token.GreaterThan_GreaterThan_Equals: compound = true;\n case Token.GreaterThan_GreaterThan: {\n leftExpr = this.compileExpression(left, contextualType.intType);\n leftType = this.currentType;\n\n // check operator overload\n let classReference = leftType.getClassOrWrapper(this.program);\n if (classReference) {\n let overload = classReference.lookupOverload(OperatorKind.BitwiseShr);\n if (overload) {\n expr = this.compileBinaryOverload(overload, left, leftExpr, leftType, right, expression);\n break;\n }\n }\n if (!leftType.isIntegerValue) {\n this.error(\n DiagnosticCode.The_0_operator_cannot_be_applied_to_type_1,\n expression.range, \">>\", leftType.toString()\n );\n return this.module.unreachable();\n }\n\n rightExpr = this.compileExpression(right, leftType, Constraints.ConvImplicit);\n rightType = this.currentType;\n\n expr = this.makeShr(leftExpr, rightExpr, rightType);\n break;\n }\n case Token.GreaterThan_GreaterThan_GreaterThan_Equals: compound = true;\n case Token.GreaterThan_GreaterThan_GreaterThan: {\n leftExpr = this.compileExpression(left, contextualType.intType);\n leftType = this.currentType;\n\n // check operator overload\n let classReference = leftType.getClassOrWrapper(this.program);\n if (classReference) {\n let overload = classReference.lookupOverload(OperatorKind.BitwiseShrU);\n if (overload) {\n expr = this.compileBinaryOverload(overload, left, leftExpr, leftType, right, expression);\n break;\n }\n }\n if (!leftType.isIntegerValue) {\n this.error(\n DiagnosticCode.The_0_operator_cannot_be_applied_to_type_1,\n expression.range, \">>>\", leftType.toString()\n );\n return module.unreachable();\n }\n rightExpr = this.compileExpression(right, leftType, Constraints.ConvImplicit);\n rightType = this.currentType;\n\n expr = this.makeShru(leftExpr, rightExpr, rightType);\n break;\n }\n case Token.Ampersand_Equals: compound = true;\n case Token.Ampersand: {\n leftExpr = this.compileExpression(left, contextualType.intType);\n leftType = this.currentType;\n\n // check operator overload\n let classReference = leftType.getClassOrWrapper(this.program);\n if (classReference) {\n let overload = classReference.lookupOverload(OperatorKind.BitwiseAnd);\n if (overload) {\n expr = this.compileBinaryOverload(overload, left, leftExpr, leftType, right, expression);\n break;\n }\n }\n\n if (compound) {\n if (!leftType.isIntegerValue) {\n this.error(\n DiagnosticCode.The_0_operator_cannot_be_applied_to_type_1,\n expression.range, \"&\", leftType.toString()\n );\n return module.unreachable();\n }\n rightExpr = this.compileExpression(right, leftType, Constraints.ConvImplicit);\n rightType = commonType = this.currentType;\n } else {\n rightExpr = this.compileExpression(right, leftType);\n rightType = this.currentType;\n commonType = Type.commonType(leftType, rightType, contextualType);\n if (!commonType || !commonType.isIntegerValue) {\n this.error(\n DiagnosticCode.Operator_0_cannot_be_applied_to_types_1_and_2,\n expression.range, \"&\", leftType.toString(), rightType.toString()\n );\n this.currentType = contextualType;\n return module.unreachable();\n }\n leftExpr = this.convertExpression(leftExpr, leftType, commonType, false, left);\n leftType = commonType;\n rightExpr = this.convertExpression(rightExpr, rightType, commonType, false, right);\n rightType = commonType;\n }\n expr = this.makeAnd(leftExpr, rightExpr, commonType);\n break;\n }\n case Token.Bar_Equals: compound = true;\n case Token.Bar: {\n leftExpr = this.compileExpression(left, contextualType.intType);\n leftType = this.currentType;\n\n // check operator overload\n let classReference = leftType.getClassOrWrapper(this.program);\n if (classReference) {\n let overload = classReference.lookupOverload(OperatorKind.BitwiseOr);\n if (overload) {\n expr = this.compileBinaryOverload(overload, left, leftExpr, leftType, right, expression);\n break;\n }\n }\n\n if (compound) {\n if (!leftType.isIntegerValue) {\n this.error(\n DiagnosticCode.The_0_operator_cannot_be_applied_to_type_1,\n expression.range, \"|\", leftType.toString()\n );\n return module.unreachable();\n }\n rightExpr = this.compileExpression(right, leftType, Constraints.ConvImplicit);\n rightType = commonType = this.currentType;\n } else {\n rightExpr = this.compileExpression(right, leftType);\n rightType = this.currentType;\n commonType = Type.commonType(leftType, rightType, contextualType);\n if (!commonType || !commonType.isIntegerValue) {\n this.error(\n DiagnosticCode.Operator_0_cannot_be_applied_to_types_1_and_2,\n expression.range, \"|\", leftType.toString(), rightType.toString()\n );\n this.currentType = contextualType;\n return module.unreachable();\n }\n leftExpr = this.convertExpression(leftExpr, leftType, commonType, false, left);\n leftType = commonType;\n rightExpr = this.convertExpression(rightExpr, rightType, commonType, false, right);\n rightType = commonType;\n }\n expr = this.makeOr(leftExpr, rightExpr, commonType);\n break;\n }\n case Token.Caret_Equals: compound = true;\n case Token.Caret: {\n leftExpr = this.compileExpression(left, contextualType.intType);\n leftType = this.currentType;\n\n // check operator overload\n let classReference = leftType.getClassOrWrapper(this.program);\n if (classReference) {\n let overload = classReference.lookupOverload(OperatorKind.BitwiseXor);\n if (overload) {\n expr = this.compileBinaryOverload(overload, left, leftExpr, leftType, right, expression);\n break;\n }\n }\n\n if (compound) {\n if (!leftType.isIntegerValue) {\n this.error(\n DiagnosticCode.The_0_operator_cannot_be_applied_to_type_1,\n expression.range, \"^\", leftType.toString()\n );\n return module.unreachable();\n }\n rightExpr = this.compileExpression(right, leftType, Constraints.ConvImplicit);\n rightType = commonType = this.currentType;\n } else {\n rightExpr = this.compileExpression(right, leftType);\n rightType = this.currentType;\n commonType = Type.commonType(leftType, rightType, contextualType);\n if (!commonType || !commonType.isIntegerValue) {\n this.error(\n DiagnosticCode.Operator_0_cannot_be_applied_to_types_1_and_2,\n expression.range, \"^\", leftType.toString(), rightType.toString()\n );\n this.currentType = contextualType;\n return module.unreachable();\n }\n leftExpr = this.convertExpression(leftExpr, leftType, commonType, false, left);\n leftType = commonType;\n rightExpr = this.convertExpression(rightExpr, rightType, commonType, false, right);\n rightType = commonType;\n }\n expr = this.makeXor(leftExpr, rightExpr, commonType);\n break;\n }\n\n // logical (no overloading)\n\n case Token.Ampersand_Ampersand: { // left && right -> (t = left) ? right : t\n let flow = this.currentFlow;\n let inheritedConstraints = constraints & Constraints.MustWrap;\n leftExpr = this.compileExpression(left, contextualType.exceptVoid, inheritedConstraints);\n leftType = this.currentType;\n\n let rightFlow = flow.forkThen(leftExpr);\n this.currentFlow = rightFlow;\n\n // simplify if only interested in true or false\n if (contextualType == Type.bool || contextualType == Type.void) {\n leftExpr = this.makeIsTrueish(leftExpr, leftType, left);\n\n // shortcut if lhs is always false\n let condKind = this.evaluateCondition(leftExpr);\n if (condKind == ConditionKind.False) {\n expr = leftExpr;\n // RHS is not compiled\n } else {\n rightExpr = this.compileExpression(right, leftType, inheritedConstraints);\n rightType = this.currentType;\n rightExpr = this.makeIsTrueish(rightExpr, rightType, right);\n\n // simplify if lhs is always true\n if (condKind == ConditionKind.True) {\n expr = rightExpr;\n flow.inherit(rightFlow); // true && RHS -> RHS always executes\n } else {\n expr = module.if(leftExpr, rightExpr, module.i32(0));\n flow.mergeBranch(rightFlow); // LHS && RHS -> RHS conditionally executes\n flow.noteThen(expr, rightFlow); // LHS && RHS == true -> RHS always executes\n }\n }\n this.currentFlow = flow;\n this.currentType = Type.bool;\n\n } else {\n rightExpr = this.compileExpression(right, leftType, inheritedConstraints);\n rightType = this.currentType;\n commonType = Type.commonType(leftType, rightType, contextualType);\n if (!commonType) {\n this.error(\n DiagnosticCode.Operator_0_cannot_be_applied_to_types_1_and_2,\n expression.range, \"&&\", leftType.toString(), rightType.toString()\n );\n this.currentType = contextualType;\n return module.unreachable();\n }\n leftExpr = this.convertExpression(leftExpr, leftType, commonType, false, left);\n leftType = commonType;\n rightExpr = this.convertExpression(rightExpr, rightType, commonType, false, right);\n rightType = commonType;\n\n // simplify if copying left is trivial\n if (expr = module.tryCopyTrivialExpression(leftExpr)) {\n expr = module.if(\n this.makeIsTrueish(leftExpr, this.currentType, left),\n rightExpr,\n expr\n );\n\n // if not possible, tee left to a temp\n } else {\n let tempLocal = flow.getTempLocal(leftType);\n if (!flow.canOverflow(leftExpr, leftType)) flow.setLocalFlag(tempLocal.index, LocalFlags.Wrapped);\n if (flow.isNonnull(leftExpr, leftType)) flow.setLocalFlag(tempLocal.index, LocalFlags.NonNull);\n expr = module.if(\n this.makeIsTrueish(module.local_tee(tempLocal.index, leftExpr, leftType.isManaged), leftType, left),\n rightExpr,\n module.local_get(tempLocal.index, leftType.toRef())\n );\n }\n flow.mergeBranch(rightFlow); // LHS && RHS -> RHS conditionally executes\n flow.noteThen(expr, rightFlow); // LHS && RHS == true -> RHS always executes\n this.currentFlow = flow;\n this.currentType = commonType;\n }\n break;\n }\n case Token.Bar_Bar: { // left || right -> ((t = left) ? t : right)\n let flow = this.currentFlow;\n let inheritedConstraints = constraints & Constraints.MustWrap;\n leftExpr = this.compileExpression(left, contextualType.exceptVoid, inheritedConstraints);\n leftType = this.currentType;\n\n let rightFlow = flow.forkElse(leftExpr);\n this.currentFlow = rightFlow;\n\n // simplify if only interested in true or false\n if (contextualType == Type.bool || contextualType == Type.void) {\n leftExpr = this.makeIsTrueish(leftExpr, leftType, left);\n\n // shortcut if lhs is always true\n let condKind = this.evaluateCondition(leftExpr);\n if (condKind == ConditionKind.True) {\n expr = leftExpr;\n // RHS is not compiled\n } else {\n rightExpr = this.compileExpression(right, leftType, inheritedConstraints);\n rightType = this.currentType;\n rightExpr = this.makeIsTrueish(rightExpr, rightType, right);\n\n // simplify if lhs is always false\n if (condKind == ConditionKind.False) {\n expr = rightExpr;\n flow.inherit(rightFlow); // false || RHS -> RHS always executes\n } else {\n expr = module.if(leftExpr, module.i32(1), rightExpr);\n flow.mergeBranch(rightFlow); // LHS || RHS -> RHS conditionally executes\n flow.noteElse(expr, rightFlow); // LHS || RHS == false -> RHS always executes\n }\n }\n this.currentFlow = flow;\n this.currentType = Type.bool;\n\n } else {\n rightExpr = this.compileExpression(right, leftType, inheritedConstraints);\n rightType = this.currentType;\n commonType = Type.commonType(leftType, rightType, contextualType);\n if (!commonType) {\n this.error(\n DiagnosticCode.Operator_0_cannot_be_applied_to_types_1_and_2,\n expression.range, \"||\", leftType.toString(), rightType.toString()\n );\n this.currentType = contextualType;\n return module.unreachable();\n }\n let possiblyNull = leftType.is(TypeFlags.Nullable) && rightType.is(TypeFlags.Nullable);\n leftExpr = this.convertExpression(leftExpr, leftType, commonType, false, left);\n leftType = commonType;\n rightExpr = this.convertExpression(rightExpr, rightType, commonType, false, right);\n rightType = commonType;\n\n // simplify if copying left is trivial\n if (expr = module.tryCopyTrivialExpression(leftExpr)) {\n expr = module.if(\n this.makeIsTrueish(leftExpr, leftType, left),\n expr,\n rightExpr\n );\n\n // if not possible, tee left to a temp. local\n } else {\n let temp = flow.getTempLocal(leftType);\n let tempIndex = temp.index;\n if (!flow.canOverflow(leftExpr, leftType)) flow.setLocalFlag(tempIndex, LocalFlags.Wrapped);\n if (flow.isNonnull(leftExpr, leftType)) flow.setLocalFlag(tempIndex, LocalFlags.NonNull);\n expr = module.if(\n this.makeIsTrueish(module.local_tee(tempIndex, leftExpr, leftType.isManaged), leftType, left),\n module.local_get(tempIndex, leftType.toRef()),\n rightExpr\n );\n }\n flow.mergeBranch(rightFlow); // LHS || RHS -> RHS conditionally executes\n flow.noteElse(expr, rightFlow); // LHS || RHS == false -> RHS always executes\n this.currentFlow = flow;\n this.currentType = possiblyNull\n ? commonType\n : commonType.nonNullableType;\n }\n break;\n }\n case Token.In: {\n this.error(\n DiagnosticCode.Not_implemented_0,\n expression.range, \"'in' operator\"\n );\n this.currentType = Type.bool;\n return module.unreachable();\n }\n default: {\n assert(false);\n expr = this.module.unreachable();\n }\n }\n if (!compound) return expr;\n let resolver = this.resolver;\n let target = resolver.lookupExpression(left, this.currentFlow);\n if (!target) return module.unreachable();\n let targetType = resolver.getTypeOfElement(target);\n if (!targetType) targetType = Type.void;\n if (!this.currentType.isStrictlyAssignableTo(targetType)) {\n this.error(\n DiagnosticCode.Type_0_is_not_assignable_to_type_1,\n expression.range, this.currentType.toString(), targetType.toString()\n );\n return module.unreachable();\n }\n return this.makeAssignment(\n target,\n expr,\n this.currentType,\n right,\n resolver.currentThisExpression,\n resolver.currentElementExpression,\n contextualType != Type.void\n );\n }\n\n makeLt(leftExpr: ExpressionRef, rightExpr: ExpressionRef, type: Type): ExpressionRef {\n // Cares about garbage bits and signedness\n let module = this.module;\n switch (type.kind) {\n case TypeKind.I8:\n case TypeKind.I16: {\n leftExpr = this.ensureSmallIntegerWrap(leftExpr, type);\n rightExpr = this.ensureSmallIntegerWrap(rightExpr, type);\n // falls through\n }\n case TypeKind.I32: return module.binary(BinaryOp.LtI32, leftExpr, rightExpr);\n case TypeKind.I64: return module.binary(BinaryOp.LtI64, leftExpr, rightExpr);\n case TypeKind.Isize: return module.binary(BinaryOp.LtISize, leftExpr, rightExpr);\n case TypeKind.Bool:\n case TypeKind.U8:\n case TypeKind.U16: {\n leftExpr = this.ensureSmallIntegerWrap(leftExpr, type);\n rightExpr = this.ensureSmallIntegerWrap(rightExpr, type);\n // falls through\n }\n case TypeKind.U32: return module.binary(BinaryOp.LtU32, leftExpr, rightExpr);\n case TypeKind.U64: return module.binary(BinaryOp.LtU64, leftExpr, rightExpr);\n case TypeKind.Usize: return module.binary(BinaryOp.LtUSize, leftExpr, rightExpr);\n case TypeKind.F32: return module.binary(BinaryOp.LtF32, leftExpr, rightExpr);\n case TypeKind.F64: return module.binary(BinaryOp.LtF64, leftExpr, rightExpr);\n }\n assert(false);\n return module.unreachable();\n }\n\n makeGt(leftExpr: ExpressionRef, rightExpr: ExpressionRef, type: Type): ExpressionRef {\n // Cares about garbage bits and signedness\n let module = this.module;\n switch (type.kind) {\n case TypeKind.I8:\n case TypeKind.I16: {\n leftExpr = this.ensureSmallIntegerWrap(leftExpr, type);\n rightExpr = this.ensureSmallIntegerWrap(rightExpr, type);\n // falls through\n }\n case TypeKind.I32: return module.binary(BinaryOp.GtI32, leftExpr, rightExpr);\n case TypeKind.I64: return module.binary(BinaryOp.GtI64, leftExpr, rightExpr);\n case TypeKind.Isize: return module.binary(BinaryOp.GtISize, leftExpr, rightExpr);\n case TypeKind.Bool:\n case TypeKind.U8:\n case TypeKind.U16: {\n leftExpr = this.ensureSmallIntegerWrap(leftExpr, type);\n rightExpr = this.ensureSmallIntegerWrap(rightExpr, type);\n // falls through\n }\n case TypeKind.U32: return module.binary(BinaryOp.GtU32, leftExpr, rightExpr);\n case TypeKind.U64: return module.binary(BinaryOp.GtU64, leftExpr, rightExpr);\n case TypeKind.Usize: return module.binary(BinaryOp.GtUSize, leftExpr, rightExpr);\n case TypeKind.F32: return module.binary(BinaryOp.GtF32, leftExpr, rightExpr);\n case TypeKind.F64: return module.binary(BinaryOp.GtF64, leftExpr, rightExpr);\n }\n assert(false);\n return module.unreachable();\n }\n\n makeLe(leftExpr: ExpressionRef, rightExpr: ExpressionRef, type: Type): ExpressionRef {\n // Cares about garbage bits and signedness\n let module = this.module;\n switch (type.kind) {\n case TypeKind.I8:\n case TypeKind.I16: {\n leftExpr = this.ensureSmallIntegerWrap(leftExpr, type);\n rightExpr = this.ensureSmallIntegerWrap(rightExpr, type);\n // falls through\n }\n case TypeKind.I32: return module.binary(BinaryOp.LeI32, leftExpr, rightExpr);\n case TypeKind.I64: return module.binary(BinaryOp.LeI64, leftExpr, rightExpr);\n case TypeKind.Isize: return module.binary(BinaryOp.LeISize, leftExpr, rightExpr);\n case TypeKind.Bool:\n case TypeKind.U8:\n case TypeKind.U16: {\n leftExpr = this.ensureSmallIntegerWrap(leftExpr, type);\n rightExpr = this.ensureSmallIntegerWrap(rightExpr, type);\n // falls through\n }\n case TypeKind.U32: return module.binary(BinaryOp.LeU32, leftExpr, rightExpr);\n case TypeKind.U64: return module.binary(BinaryOp.LeU64, leftExpr, rightExpr);\n case TypeKind.Usize: return module.binary(BinaryOp.LeUSize, leftExpr, rightExpr);\n case TypeKind.F32: return module.binary(BinaryOp.LeF32, leftExpr, rightExpr);\n case TypeKind.F64: return module.binary(BinaryOp.LeF64, leftExpr, rightExpr);\n }\n assert(false);\n return module.unreachable();\n }\n\n makeGe(leftExpr: ExpressionRef, rightExpr: ExpressionRef, type: Type): ExpressionRef {\n // Cares about garbage bits and signedness\n let module = this.module;\n switch (type.kind) {\n case TypeKind.I8:\n case TypeKind.I16: {\n leftExpr = this.ensureSmallIntegerWrap(leftExpr, type);\n rightExpr = this.ensureSmallIntegerWrap(rightExpr, type);\n // falls through\n }\n case TypeKind.I32: return module.binary(BinaryOp.GeI32, leftExpr, rightExpr);\n case TypeKind.I64: return module.binary(BinaryOp.GeI64, leftExpr, rightExpr);\n case TypeKind.Isize: return module.binary(BinaryOp.GeISize, leftExpr, rightExpr);\n case TypeKind.Bool:\n case TypeKind.U8:\n case TypeKind.U16: {\n leftExpr = this.ensureSmallIntegerWrap(leftExpr, type);\n rightExpr = this.ensureSmallIntegerWrap(rightExpr, type);\n // falls through\n }\n case TypeKind.U32: return module.binary(BinaryOp.GeU32, leftExpr, rightExpr);\n case TypeKind.U64: return module.binary(BinaryOp.GeU64, leftExpr, rightExpr);\n case TypeKind.Usize: return module.binary(BinaryOp.GeUSize, leftExpr, rightExpr);\n case TypeKind.F32: return module.binary(BinaryOp.GeF32, leftExpr, rightExpr);\n case TypeKind.F64: return module.binary(BinaryOp.GeF64, leftExpr, rightExpr);\n }\n assert(false);\n return module.unreachable();\n }\n\n makeEq(leftExpr: ExpressionRef, rightExpr: ExpressionRef, type: Type, reportNode: Node): ExpressionRef {\n // Cares about garbage bits\n let module = this.module;\n switch (type.kind) {\n case TypeKind.Bool:\n case TypeKind.I8:\n case TypeKind.I16:\n case TypeKind.U8:\n case TypeKind.U16: {\n leftExpr = this.ensureSmallIntegerWrap(leftExpr, type);\n rightExpr = this.ensureSmallIntegerWrap(rightExpr, type);\n // falls through\n }\n case TypeKind.I32:\n case TypeKind.U32: return module.binary(BinaryOp.EqI32, leftExpr, rightExpr);\n case TypeKind.I64:\n case TypeKind.U64: return module.binary(BinaryOp.EqI64, leftExpr, rightExpr);\n case TypeKind.Isize:\n case TypeKind.Usize: return module.binary(BinaryOp.EqSize, leftExpr, rightExpr);\n case TypeKind.F32: return module.binary(BinaryOp.EqF32, leftExpr, rightExpr);\n case TypeKind.F64: return module.binary(BinaryOp.EqF64, leftExpr, rightExpr);\n case TypeKind.V128: {\n return module.unary(UnaryOp.AllTrueI8x16,\n module.binary(BinaryOp.EqI8x16, leftExpr, rightExpr)\n );\n }\n case TypeKind.Eq:\n case TypeKind.Struct:\n case TypeKind.Array:\n case TypeKind.I31: return module.ref_eq(leftExpr, rightExpr);\n case TypeKind.String: return module.string_eq(leftExpr, rightExpr);\n case TypeKind.StringviewWTF8:\n case TypeKind.StringviewWTF16:\n case TypeKind.StringviewIter:\n case TypeKind.Func:\n case TypeKind.Extern:\n case TypeKind.Any: {\n this.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n reportNode.range,\n \"ref.eq\",\n type.toString()\n );\n return module.unreachable();\n }\n }\n assert(false);\n return module.unreachable();\n }\n\n makeNe(leftExpr: ExpressionRef, rightExpr: ExpressionRef, type: Type, reportNode: Node): ExpressionRef {\n // Cares about garbage bits\n let module = this.module;\n switch (type.kind) {\n case TypeKind.Bool:\n case TypeKind.I8:\n case TypeKind.I16:\n case TypeKind.U8:\n case TypeKind.U16: {\n leftExpr = this.ensureSmallIntegerWrap(leftExpr, type);\n rightExpr = this.ensureSmallIntegerWrap(rightExpr, type);\n // falls through\n }\n case TypeKind.I32:\n case TypeKind.U32: return module.binary(BinaryOp.NeI32, leftExpr, rightExpr);\n case TypeKind.I64:\n case TypeKind.U64: return module.binary(BinaryOp.NeI64, leftExpr, rightExpr);\n case TypeKind.Isize:\n case TypeKind.Usize: return module.binary(BinaryOp.NeSize, leftExpr, rightExpr);\n case TypeKind.F32: return module.binary(BinaryOp.NeF32, leftExpr, rightExpr);\n case TypeKind.F64: return module.binary(BinaryOp.NeF64, leftExpr, rightExpr);\n case TypeKind.V128: {\n return module.unary(UnaryOp.AnyTrueV128,\n module.binary(BinaryOp.NeI8x16, leftExpr, rightExpr)\n );\n }\n case TypeKind.Eq:\n case TypeKind.Struct:\n case TypeKind.Array:\n case TypeKind.I31: {\n return module.unary(UnaryOp.EqzI32,\n module.ref_eq(leftExpr, rightExpr)\n );\n }\n case TypeKind.String: {\n return module.unary(UnaryOp.EqzI32,\n module.string_eq(leftExpr, rightExpr)\n );\n }\n case TypeKind.StringviewWTF8:\n case TypeKind.StringviewWTF16:\n case TypeKind.StringviewIter:\n case TypeKind.Func:\n case TypeKind.Extern:\n case TypeKind.Any: {\n this.error(\n DiagnosticCode.Operation_0_cannot_be_applied_to_type_1,\n reportNode.range,\n \"ref.eq\",\n type.toString()\n );\n return module.unreachable();\n }\n }\n assert(false);\n return module.unreachable();\n }\n\n makeAdd(leftExpr: ExpressionRef, rightExpr: ExpressionRef, type: Type): ExpressionRef {\n // Does not care about garbage bits or signedness\n let module = this.module;\n switch (type.kind) {\n case TypeKind.Bool:\n case TypeKind.I8:\n case TypeKind.I16:\n case TypeKind.U8:\n case TypeKind.U16:\n case TypeKind.I32:\n case TypeKind.U32: return module.binary(BinaryOp.AddI32, leftExpr, rightExpr);\n case TypeKind.I64:\n case TypeKind.U64: return module.binary(BinaryOp.AddI64, leftExpr, rightExpr);\n case TypeKind.Isize:\n case TypeKind.Usize: return module.binary(BinaryOp.AddSize, leftExpr, rightExpr);\n case TypeKind.F32: return module.binary(BinaryOp.AddF32, leftExpr, rightExpr);\n case TypeKind.F64: return module.binary(BinaryOp.AddF64, leftExpr, rightExpr);\n }\n assert(false);\n return module.unreachable();\n }\n\n makeSub(leftExpr: ExpressionRef, rightExpr: ExpressionRef, type: Type): ExpressionRef {\n // Does not care about garbage bits or signedness\n let module = this.module;\n switch (type.kind) {\n case TypeKind.Bool:\n case TypeKind.I8:\n case TypeKind.I16:\n case TypeKind.U8:\n case TypeKind.U16:\n case TypeKind.I32:\n case TypeKind.U32: return module.binary(BinaryOp.SubI32, leftExpr, rightExpr);\n case TypeKind.I64:\n case TypeKind.U64: return module.binary(BinaryOp.SubI64, leftExpr, rightExpr);\n case TypeKind.Isize:\n case TypeKind.Usize: return module.binary(BinaryOp.SubSize, leftExpr, rightExpr);\n case TypeKind.F32: return module.binary(BinaryOp.SubF32, leftExpr, rightExpr);\n case TypeKind.F64: return module.binary(BinaryOp.SubF64, leftExpr, rightExpr);\n }\n assert(false);\n return module.unreachable();\n }\n\n makeMul(leftExpr: ExpressionRef, rightExpr: ExpressionRef, type: Type): ExpressionRef {\n // Does not care about garbage bits or signedness\n let module = this.module;\n switch (type.kind) {\n case TypeKind.Bool:\n case TypeKind.I8:\n case TypeKind.I16:\n case TypeKind.U8:\n case TypeKind.U16:\n case TypeKind.I32:\n case TypeKind.U32: return module.binary(BinaryOp.MulI32, leftExpr, rightExpr);\n case TypeKind.I64:\n case TypeKind.U64: return module.binary(BinaryOp.MulI64, leftExpr, rightExpr);\n case TypeKind.Isize:\n case TypeKind.Usize: return module.binary(BinaryOp.MulSize, leftExpr, rightExpr);\n case TypeKind.F32: return module.binary(BinaryOp.MulF32, leftExpr, rightExpr);\n case TypeKind.F64: return module.binary(BinaryOp.MulF64, leftExpr, rightExpr);\n }\n assert(false);\n return module.unreachable();\n }\n\n makePow(leftExpr: ExpressionRef, rightExpr: ExpressionRef, type: Type, reportNode: Node): ExpressionRef {\n // Cares about garbage bits\n let module = this.module;\n switch (type.kind) {\n case TypeKind.Bool: {\n return module.select(\n module.i32(1),\n module.binary(BinaryOp.EqI32, rightExpr, module.i32(0)),\n leftExpr,\n TypeRef.I32\n );\n }\n case TypeKind.I8:\n case TypeKind.U8:\n case TypeKind.I16:\n case TypeKind.U16: {\n leftExpr = this.ensureSmallIntegerWrap(leftExpr, type);\n rightExpr = this.ensureSmallIntegerWrap(rightExpr, type);\n // falls through\n }\n case TypeKind.I32:\n case TypeKind.U32: {\n if (this.options.willOptimize) {\n // Precompute power if LHS and RHS constants\n // TODO: move this optimization to AIR\n if (\n getExpressionId(leftExpr) == ExpressionId.Const &&\n getExpressionId(rightExpr) == ExpressionId.Const\n ) {\n let leftValue = getConstValueI32(leftExpr);\n let rightValue = getConstValueI32(rightExpr);\n this.currentType = type;\n return module.i32(i64_low(i64_pow(\n i64_new(leftValue),\n i64_new(rightValue)\n )));\n }\n }\n let instance = this.i32PowInstance;\n if (!instance) {\n let prototype = this.program.lookup(CommonNames.ipow32);\n if (!prototype) {\n this.error(\n DiagnosticCode.Cannot_find_name_0,\n reportNode.range, \"ipow32\"\n );\n return module.unreachable();\n }\n assert(prototype.kind == ElementKind.FunctionPrototype);\n this.i32PowInstance = instance = this.resolver.resolveFunction(prototype, null);\n }\n if (!instance || !this.compileFunction(instance)) {\n return module.unreachable();\n }\n let expr = this.makeCallDirect(instance, [ leftExpr, rightExpr ], reportNode);\n if (type.size < 32) {\n // TODO: this is necessary because i32PowInstance is generic, and deals with 32-bit integers,\n // so its flow does not indicate whether returned SMIs are wrapped. worth to avoid?\n expr = this.ensureSmallIntegerWrap(expr, type);\n }\n return expr;\n }\n case TypeKind.I64:\n case TypeKind.U64: {\n if (this.options.willOptimize) {\n // Precompute power if LHS and RHS constants\n // TODO: move this optimization to AIR\n if (\n getExpressionId(leftExpr) == ExpressionId.Const &&\n getExpressionId(rightExpr) == ExpressionId.Const\n ) {\n let leftValue = i64_new(getConstValueI64Low(leftExpr), getConstValueI64High(leftExpr));\n let rightValue = i64_new(getConstValueI64Low(rightExpr), getConstValueI64High(rightExpr));\n let result = i64_pow(leftValue, rightValue);\n this.currentType = type;\n return module.i64(i64_low(result), i64_high(result));\n }\n }\n let instance = this.i64PowInstance;\n if (!instance) {\n let prototype = this.program.lookup(CommonNames.ipow64);\n if (!prototype) {\n this.error(\n DiagnosticCode.Cannot_find_name_0,\n reportNode.range, \"ipow64\"\n );\n return module.unreachable();\n }\n assert(prototype.kind == ElementKind.FunctionPrototype);\n this.i64PowInstance = instance = this.resolver.resolveFunction(prototype, null);\n }\n if (!instance || !this.compileFunction(instance)) {\n return module.unreachable();\n }\n return this.makeCallDirect(instance, [ leftExpr, rightExpr ], reportNode);\n }\n case TypeKind.Isize:\n case TypeKind.Usize: {\n let isWasm64 = this.options.isWasm64;\n if (this.options.willOptimize) {\n // Precompute power if LHS and RHS constants\n // TODO: move this optimization to AIR\n if (\n getExpressionId(leftExpr) == ExpressionId.Const &&\n getExpressionId(rightExpr) == ExpressionId.Const\n ) {\n if (isWasm64) {\n let leftValue = i64_new(getConstValueI64Low(leftExpr), getConstValueI64High(leftExpr));\n let rightValue = i64_new(getConstValueI64Low(rightExpr), getConstValueI64High(rightExpr));\n let result = i64_pow(leftValue, rightValue);\n this.currentType = type;\n return module.i64(i64_low(result), i64_high(result));\n } else {\n let leftValue = getConstValueI32(leftExpr);\n let rightValue = getConstValueI32(rightExpr);\n this.currentType = type;\n return module.i32(i64_low(i64_pow(\n i64_new(leftValue),\n i64_new(rightValue)\n )));\n }\n }\n }\n let instance = isWasm64\n ? this.i64PowInstance\n : this.i32PowInstance;\n if (!instance) {\n let prototype = this.program.lookup(isWasm64\n ? CommonNames.ipow64\n : CommonNames.ipow32\n );\n if (!prototype) {\n this.error(\n DiagnosticCode.Cannot_find_name_0,\n reportNode.range, isWasm64 ? \"ipow64\" : \"ipow32\"\n );\n return module.unreachable();\n }\n assert(prototype.kind == ElementKind.FunctionPrototype);\n instance = this.resolver.resolveFunction(prototype, null);\n if (isWasm64) {\n this.i64PowInstance = instance;\n } else {\n this.i32PowInstance = instance;\n }\n }\n if (!instance || !this.compileFunction(instance)) {\n return module.unreachable();\n }\n return this.makeCallDirect(instance, [ leftExpr, rightExpr ], reportNode);\n }\n case TypeKind.F32: {\n if (this.options.willOptimize) {\n // Precompute power if LHS and RHS constants\n // TODO: move this optimization to AIR\n if (\n getExpressionId(leftExpr) == ExpressionId.Const &&\n getExpressionId(rightExpr) == ExpressionId.Const\n ) {\n let leftValue = getConstValueF32(leftExpr);\n let rightValue = getConstValueF32(rightExpr);\n this.currentType = type;\n return module.f32(f32(accuratePow64(leftValue, rightValue)));\n }\n }\n let instance = this.f32PowInstance;\n if (!instance) {\n let namespace = this.program.lookup(CommonNames.Mathf);\n if (!namespace) {\n this.error(\n DiagnosticCode.Cannot_find_name_0,\n reportNode.range, \"Mathf\"\n );\n return module.unreachable();\n }\n let prototype = namespace.getMember(CommonNames.pow);\n if (!prototype) {\n this.error(\n DiagnosticCode.Cannot_find_name_0,\n reportNode.range, \"Mathf.pow\"\n );\n return module.unreachable();\n }\n assert(prototype.kind == ElementKind.FunctionPrototype);\n this.f32PowInstance = instance = this.resolver.resolveFunction(prototype, null);\n }\n if (!instance || !this.compileFunction(instance)) {\n return module.unreachable();\n }\n return this.makeCallDirect(instance, [ leftExpr, rightExpr ], reportNode);\n }\n // Math.pow otherwise (result is f64)\n case TypeKind.F64: {\n if (this.options.willOptimize) {\n // Precompute power if LHS and RHS constants\n // TODO: move this optimization to AIR\n if (\n getExpressionId(leftExpr) == ExpressionId.Const &&\n getExpressionId(rightExpr) == ExpressionId.Const\n ) {\n let leftValue = getConstValueF64(leftExpr);\n let rightValue = getConstValueF64(rightExpr);\n this.currentType = type;\n return module.f64(accuratePow64(leftValue, rightValue));\n }\n }\n let instance = this.f64PowInstance;\n if (!instance) {\n let namespace = this.program.lookup(CommonNames.Math);\n if (!namespace) {\n this.error(\n DiagnosticCode.Cannot_find_name_0,\n reportNode.range, \"Math\"\n );\n return module.unreachable();\n }\n let prototype = namespace.getMember(CommonNames.pow);\n if (!prototype) {\n this.error(\n DiagnosticCode.Cannot_find_name_0,\n reportNode.range, \"Math.pow\"\n );\n return module.unreachable();\n }\n assert(prototype.kind == ElementKind.FunctionPrototype);\n this.f64PowInstance = instance = this.resolver.resolveFunction(prototype, null);\n }\n if (!instance || !this.compileFunction(instance)) {\n return module.unreachable();\n }\n return this.makeCallDirect(instance, [ leftExpr, rightExpr ], reportNode);\n }\n }\n assert(false);\n return module.unreachable();\n }\n\n makeDiv(leftExpr: ExpressionRef, rightExpr: ExpressionRef, type: Type): ExpressionRef {\n // Cares about garbage bits and signedness\n let module = this.module;\n switch (type.kind) {\n case TypeKind.I8:\n case TypeKind.I16: {\n leftExpr = this.ensureSmallIntegerWrap(leftExpr, type);\n rightExpr = this.ensureSmallIntegerWrap(rightExpr, type);\n // falls through\n }\n case TypeKind.I32: return module.binary(BinaryOp.DivI32, leftExpr, rightExpr);\n case TypeKind.I64: return module.binary(BinaryOp.DivI64, leftExpr, rightExpr);\n case TypeKind.Isize: return module.binary(BinaryOp.DivISize, leftExpr, rightExpr);\n case TypeKind.Bool:\n case TypeKind.U8:\n case TypeKind.U16: {\n leftExpr = this.ensureSmallIntegerWrap(leftExpr, type);\n rightExpr = this.ensureSmallIntegerWrap(rightExpr, type);\n // falls through\n }\n case TypeKind.U32: return module.binary(BinaryOp.DivU32, leftExpr, rightExpr);\n case TypeKind.U64: return module.binary(BinaryOp.DivU64, leftExpr, rightExpr);\n case TypeKind.Usize: return module.binary(BinaryOp.DivUSize, leftExpr, rightExpr);\n case TypeKind.F32: return module.binary(BinaryOp.DivF32, leftExpr, rightExpr);\n case TypeKind.F64: return module.binary(BinaryOp.DivF64, leftExpr, rightExpr);\n }\n assert(false);\n return module.unreachable();\n }\n\n makeRem(leftExpr: ExpressionRef, rightExpr: ExpressionRef, type: Type, reportNode: Node): ExpressionRef {\n // Cares about garbage bits and signedness\n let module = this.module;\n switch (type.kind) {\n case TypeKind.I8:\n case TypeKind.I16: {\n leftExpr = this.ensureSmallIntegerWrap(leftExpr, type);\n rightExpr = this.ensureSmallIntegerWrap(rightExpr, type);\n // falls through\n }\n case TypeKind.I32: return module.binary(BinaryOp.RemI32, leftExpr, rightExpr);\n case TypeKind.I64: return module.binary(BinaryOp.RemI64, leftExpr, rightExpr);\n case TypeKind.Isize: return module.binary(BinaryOp.RemISize, leftExpr, rightExpr);\n case TypeKind.Bool:\n case TypeKind.U8:\n case TypeKind.U16: {\n leftExpr = this.ensureSmallIntegerWrap(leftExpr, type);\n rightExpr = this.ensureSmallIntegerWrap(rightExpr, type);\n // falls through\n }\n case TypeKind.U32: return module.binary(BinaryOp.RemU32, leftExpr, rightExpr);\n case TypeKind.U64: return module.binary(BinaryOp.RemU64, leftExpr, rightExpr);\n case TypeKind.Usize: return module.binary(BinaryOp.RemUSize, leftExpr, rightExpr);\n case TypeKind.F32: {\n let instance = this.f32ModInstance;\n if (!instance) {\n let namespace = this.program.lookup(CommonNames.Mathf);\n if (!namespace) {\n this.error(\n DiagnosticCode.Cannot_find_name_0,\n reportNode.range, \"Mathf\"\n );\n return module.unreachable();\n }\n let prototype = namespace.getMember(CommonNames.mod);\n if (!prototype) {\n this.error(\n DiagnosticCode.Cannot_find_name_0,\n reportNode.range, \"Mathf.mod\"\n );\n return module.unreachable();\n }\n assert(prototype.kind == ElementKind.FunctionPrototype);\n this.f32ModInstance = instance = this.resolver.resolveFunction(prototype, null);\n }\n if (!instance || !this.compileFunction(instance)) {\n return module.unreachable();\n }\n return this.makeCallDirect(instance, [ leftExpr, rightExpr ], reportNode);\n }\n case TypeKind.F64: {\n let instance = this.f64ModInstance;\n if (!instance) {\n let namespace = this.program.lookup(CommonNames.Math);\n if (!namespace) {\n this.error(\n DiagnosticCode.Cannot_find_name_0,\n reportNode.range, \"Math\"\n );\n return module.unreachable();\n }\n let prototype = namespace.getMember(CommonNames.mod);\n if (!prototype) {\n this.error(\n DiagnosticCode.Cannot_find_name_0,\n reportNode.range, \"Math.mod\"\n );\n return module.unreachable();\n }\n assert(prototype.kind == ElementKind.FunctionPrototype);\n this.f64ModInstance = instance = this.resolver.resolveFunction(prototype, null);\n }\n if (!instance || !this.compileFunction(instance)) {\n return module.unreachable();\n }\n return this.makeCallDirect(instance, [ leftExpr, rightExpr ], reportNode);\n }\n }\n assert(false);\n return module.unreachable();\n }\n\n makeShl(leftExpr: ExpressionRef, rightExpr: ExpressionRef, type: Type): ExpressionRef {\n // Cares about garbage bits on the RHS, but only for types smaller than 5 bits\n let module = this.module;\n switch (type.kind) {\n case TypeKind.Bool: return leftExpr;\n case TypeKind.I8:\n case TypeKind.I16:\n case TypeKind.U8:\n case TypeKind.U16: {\n // leftExpr << (rightExpr & (7|15))\n return module.binary(\n BinaryOp.ShlI32,\n leftExpr,\n module.binary(\n BinaryOp.AndI32,\n rightExpr,\n module.i32(type.size - 1)\n )\n );\n }\n case TypeKind.I32:\n case TypeKind.U32: return module.binary(BinaryOp.ShlI32, leftExpr, rightExpr);\n case TypeKind.I64:\n case TypeKind.U64: return module.binary(BinaryOp.ShlI64, leftExpr, rightExpr);\n case TypeKind.Isize:\n case TypeKind.Usize: return module.binary(BinaryOp.ShlSize, leftExpr, rightExpr);\n }\n assert(false);\n return module.unreachable();\n }\n\n makeShr(leftExpr: ExpressionRef, rightExpr: ExpressionRef, type: Type): ExpressionRef {\n // Cares about garbage bits on the LHS, but on the RHS only for types smaller than 5 bits,\n // and signedness\n let module = this.module;\n switch (type.kind) {\n case TypeKind.Bool: return leftExpr;\n case TypeKind.I8:\n case TypeKind.I16: {\n // leftExpr >> (rightExpr & (7|15))\n return module.binary(\n BinaryOp.ShrI32,\n this.ensureSmallIntegerWrap(leftExpr, type),\n module.binary(\n BinaryOp.AndI32,\n rightExpr,\n module.i32(type.size - 1)\n )\n );\n }\n case TypeKind.U8:\n case TypeKind.U16: {\n // leftExpr >>> (rightExpr & (7|15))\n return module.binary(\n BinaryOp.ShrU32,\n this.ensureSmallIntegerWrap(leftExpr, type),\n module.binary(\n BinaryOp.AndI32,\n rightExpr,\n module.i32(type.size - 1)\n )\n );\n }\n case TypeKind.I32: return module.binary(BinaryOp.ShrI32, leftExpr, rightExpr);\n case TypeKind.I64: return module.binary(BinaryOp.ShrI64, leftExpr, rightExpr);\n case TypeKind.Isize: return module.binary(BinaryOp.ShrISize, leftExpr, rightExpr);\n case TypeKind.U32: return module.binary(BinaryOp.ShrU32, leftExpr, rightExpr);\n case TypeKind.U64: return module.binary(BinaryOp.ShrU64, leftExpr, rightExpr);\n case TypeKind.Usize: return module.binary(BinaryOp.ShrUSize, leftExpr, rightExpr);\n }\n assert(false);\n return module.unreachable();\n }\n\n makeShru(leftExpr: ExpressionRef, rightExpr: ExpressionRef, type: Type): ExpressionRef {\n // Cares about garbage bits on the LHS, but on the RHS only for types smaller than 5 bits\n let module = this.module;\n switch (type.kind) {\n case TypeKind.Bool: return leftExpr;\n case TypeKind.I8:\n case TypeKind.I16:\n case TypeKind.U8:\n case TypeKind.U16: {\n // leftExpr >>> (rightExpr & (7|15))\n return module.binary(\n BinaryOp.ShrU32,\n this.ensureSmallIntegerWrap(leftExpr, type),\n module.binary(\n BinaryOp.AndI32,\n rightExpr,\n module.i32(type.size - 1)\n )\n );\n }\n case TypeKind.I32:\n case TypeKind.U32: return module.binary(BinaryOp.ShrU32, leftExpr, rightExpr);\n case TypeKind.I64:\n case TypeKind.U64: return module.binary(BinaryOp.ShrU64, leftExpr, rightExpr);\n case TypeKind.Isize:\n case TypeKind.Usize: return module.binary(BinaryOp.ShrUSize, leftExpr, rightExpr);\n }\n assert(false);\n return module.unreachable();\n }\n\n makeAnd(leftExpr: ExpressionRef, rightExpr: ExpressionRef, type: Type): ExpressionRef {\n // Does not care about garbage bits or signedness\n let module = this.module;\n switch (type.kind) {\n case TypeKind.Bool:\n case TypeKind.I8:\n case TypeKind.I16:\n case TypeKind.I32:\n case TypeKind.U8:\n case TypeKind.U16:\n case TypeKind.U32: return module.binary(BinaryOp.AndI32, leftExpr, rightExpr);\n case TypeKind.I64:\n case TypeKind.U64: return module.binary(BinaryOp.AndI64, leftExpr, rightExpr);\n case TypeKind.Isize:\n case TypeKind.Usize: return module.binary(BinaryOp.AndSize, leftExpr, rightExpr);\n }\n assert(false);\n return module.unreachable();\n }\n\n makeOr(leftExpr: ExpressionRef, rightExpr: ExpressionRef, type: Type): ExpressionRef {\n // Does not care about garbage bits or signedness\n let module = this.module;\n switch (type.kind) {\n case TypeKind.Bool:\n case TypeKind.I8:\n case TypeKind.I16:\n case TypeKind.U8:\n case TypeKind.U16: return module.binary(BinaryOp.OrI32, leftExpr, rightExpr);\n case TypeKind.I32:\n case TypeKind.U32: return module.binary(BinaryOp.OrI32, leftExpr, rightExpr);\n case TypeKind.I64:\n case TypeKind.U64: return module.binary(BinaryOp.OrI64, leftExpr, rightExpr);\n case TypeKind.Isize:\n case TypeKind.Usize: return module.binary(BinaryOp.OrSize, leftExpr, rightExpr);\n }\n assert(false);\n return module.unreachable();\n }\n\n makeXor(leftExpr: ExpressionRef, rightExpr: ExpressionRef, type: Type): ExpressionRef {\n // Does not care about garbage bits or signedness\n let module = this.module;\n switch (type.kind) {\n case TypeKind.Bool:\n case TypeKind.I8:\n case TypeKind.I16:\n case TypeKind.U8:\n case TypeKind.U16: return module.binary(BinaryOp.XorI32, leftExpr, rightExpr);\n case TypeKind.I32:\n case TypeKind.U32: return module.binary(BinaryOp.XorI32, leftExpr, rightExpr);\n case TypeKind.I64:\n case TypeKind.U64: return module.binary(BinaryOp.XorI64, leftExpr, rightExpr);\n case TypeKind.Isize:\n case TypeKind.Usize: return module.binary(BinaryOp.XorSize, leftExpr, rightExpr);\n }\n assert(false);\n return module.unreachable();\n }\n\n private compileUnaryOverload(\n operatorInstance: Function,\n value: Expression,\n valueExpr: ExpressionRef,\n reportNode: Node\n ): ExpressionRef {\n // FIXME: see comment in compileBinaryOverload below why recompiling on type mismatch\n // is a bad idea currently. so this assumes that the type matches.\n return this.makeCallDirect(operatorInstance, [ valueExpr ], reportNode, false);\n }\n\n private compileBinaryOverload(\n operatorInstance: Function,\n left: Expression,\n leftExpr: ExpressionRef,\n leftType: Type,\n right: Expression,\n reportNode: Node\n ): ExpressionRef {\n let rightType: Type;\n let signature = operatorInstance.signature;\n let parameterTypes = signature.parameterTypes;\n if (operatorInstance.is(CommonFlags.Instance)) {\n leftExpr = this.convertExpression(leftExpr, leftType, assert(signature.thisType), false, left);\n rightType = parameterTypes[0];\n } else {\n leftExpr = this.convertExpression(leftExpr, leftType, parameterTypes[0], false, left);\n rightType = parameterTypes[1];\n }\n let rightExpr = this.compileExpression(right, rightType, Constraints.ConvImplicit);\n return this.makeCallDirect(operatorInstance, [ leftExpr, rightExpr ], reportNode);\n }\n\n private compileAssignment(\n expression: Expression,\n valueExpression: Expression,\n contextualType: Type\n ): ExpressionRef {\n let program = this.program;\n let resolver = program.resolver;\n let flow = this.currentFlow;\n let target = resolver.lookupExpression(expression, flow); // reports\n if (!target) return this.module.unreachable();\n let thisExpression = resolver.currentThisExpression;\n let elementExpression = resolver.currentElementExpression;\n\n // to compile just the value, we need to know the target's type\n let targetType: Type;\n switch (target.kind) {\n case ElementKind.Global:\n case ElementKind.Local: {\n if (target.kind == ElementKind.Global) {\n if (!this.compileGlobalLazy(target, expression)) {\n return this.module.unreachable();\n }\n } else if (!(target).declaredByFlow(flow)) {\n // TODO: closures\n this.error(\n DiagnosticCode.Not_implemented_0,\n expression.range,\n \"Closures\"\n );\n return this.module.unreachable();\n }\n if (this.pendingElements.has(target)) {\n this.error(\n DiagnosticCode.Variable_0_used_before_its_declaration,\n expression.range,\n target.internalName\n );\n return this.module.unreachable();\n }\n targetType = (target).type;\n if (target.hasDecorator(DecoratorFlags.Unsafe)) this.checkUnsafe(expression);\n break;\n }\n case ElementKind.PropertyPrototype: {\n let propertyPrototype = target;\n let propertyInstance = resolver.resolveProperty(propertyPrototype);\n if (!propertyInstance) return this.module.unreachable();\n target = propertyInstance;\n // fall-through\n }\n case ElementKind.Property: {\n let propertyInstance = target;\n if (propertyInstance.isField) {\n if (this.pendingElements.has(target)) {\n this.error(\n DiagnosticCode.Variable_0_used_before_its_declaration,\n expression.range,\n target.internalName\n );\n return this.module.unreachable();\n }\n }\n let setterInstance = propertyInstance.setterInstance;\n if (!setterInstance) {\n this.error(\n DiagnosticCode.Cannot_assign_to_0_because_it_is_a_constant_or_a_read_only_property,\n expression.range, propertyInstance.internalName\n );\n return this.module.unreachable();\n }\n assert(setterInstance.signature.parameterTypes.length == 1); // parser must guarantee this\n targetType = setterInstance.signature.parameterTypes[0];\n if (setterInstance.hasDecorator(DecoratorFlags.Unsafe)) this.checkUnsafe(expression);\n break;\n }\n case ElementKind.IndexSignature: {\n let parent = (target).parent;\n assert(parent.kind == ElementKind.Class);\n let classInstance = parent;\n let isUnchecked = flow.is(FlowFlags.UncheckedContext);\n let indexedSet = classInstance.lookupOverload(OperatorKind.IndexedSet, isUnchecked);\n if (!indexedSet) {\n let indexedGet = classInstance.lookupOverload(OperatorKind.IndexedGet, isUnchecked);\n if (!indexedGet) {\n this.error(\n DiagnosticCode.Index_signature_is_missing_in_type_0,\n expression.range, classInstance.internalName\n );\n } else {\n this.error(\n DiagnosticCode.Index_signature_in_type_0_only_permits_reading,\n expression.range, classInstance.internalName\n );\n }\n return this.module.unreachable();\n }\n let parameterTypes = indexedSet.signature.parameterTypes;\n\n assert(parameterTypes.length == 2); // parser must guarantee this\n targetType = parameterTypes[1]; // 2nd parameter is the element\n\n if (indexedSet.hasDecorator(DecoratorFlags.Unsafe)) this.checkUnsafe(expression);\n if (!isUnchecked && this.options.pedantic) {\n this.pedantic(\n DiagnosticCode.Indexed_access_may_involve_bounds_checking,\n expression.range\n );\n }\n break;\n }\n default: {\n this.error(\n DiagnosticCode.Cannot_assign_to_0_because_it_is_a_constant_or_a_read_only_property,\n expression.range, target.internalName\n );\n return this.module.unreachable();\n }\n }\n\n // compile the value and do the assignment\n assert(targetType != Type.void);\n let valueExpr = this.compileExpression(valueExpression, targetType);\n let valueType = this.currentType;\n if (targetType.isNullableReference && this.currentFlow.isNonnull(valueExpr, valueType)) targetType = targetType.nonNullableType;\n return this.makeAssignment(\n target,\n this.convertExpression(valueExpr, valueType, targetType, false, valueExpression),\n targetType,\n valueExpression,\n thisExpression,\n elementExpression,\n contextualType != Type.void\n );\n }\n\n /** Makes an assignment expression or block, assigning a value to a target. */\n makeAssignment(\n /** Target element, e.g. a Local. */\n target: Element,\n /** Value expression that has been compiled in a previous step already. */\n valueExpr: ExpressionRef,\n /** Value expression type. */\n valueType: Type,\n /** Expression reference. Has already been compiled to `valueExpr`. */\n valueExpression: Expression,\n /** `this` expression reference if a field or property set. */\n thisExpression: Expression | null,\n /** Index expression reference if an indexed set. */\n indexExpression: Expression | null,\n /** Whether to tee the value. */\n tee: bool\n ): ExpressionRef {\n let module = this.module;\n let flow = this.currentFlow;\n\n switch (target.kind) {\n case ElementKind.Local: {\n let local = target;\n if (flow.isLocalFlag(local.index, LocalFlags.Constant, true)) {\n this.error(\n DiagnosticCode.Cannot_assign_to_0_because_it_is_a_constant_or_a_read_only_property,\n valueExpression.range, target.internalName\n );\n this.currentType = tee ? local.type : Type.void;\n return module.unreachable();\n }\n return this.makeLocalAssignment(local, valueExpr, valueType, tee);\n }\n case ElementKind.Global: {\n let global = target;\n if (!this.compileGlobalLazy(global, valueExpression)) {\n return module.unreachable();\n }\n if (target.isAny(CommonFlags.Const | CommonFlags.Readonly)) {\n this.error(\n DiagnosticCode.Cannot_assign_to_0_because_it_is_a_constant_or_a_read_only_property,\n valueExpression.range,\n target.internalName\n );\n this.currentType = tee ? global.type : Type.void;\n return module.unreachable();\n }\n return this.makeGlobalAssignment(global, valueExpr, valueType, tee);\n }\n case ElementKind.PropertyPrototype: {\n let propertyInstance = this.resolver.resolveProperty(target);\n if (!propertyInstance) return module.unreachable();\n target = propertyInstance;\n // fall-through\n }\n case ElementKind.Property: {\n let propertyInstance = target;\n if (propertyInstance.isField) {\n // Cannot assign to readonly fields except in constructors if there's no initializer\n let isConstructor = flow.sourceFunction.is(CommonFlags.Constructor);\n if (propertyInstance.is(CommonFlags.Readonly)) {\n let initializerNode = propertyInstance.initializerNode;\n if (!isConstructor || initializerNode) {\n this.error(\n DiagnosticCode.Cannot_assign_to_0_because_it_is_a_constant_or_a_read_only_property,\n valueExpression.range, propertyInstance.internalName\n );\n return module.unreachable();\n }\n }\n // Mark initialized fields in constructors\n thisExpression = assert(thisExpression);\n if (isConstructor && thisExpression.kind == NodeKind.This) {\n flow.setThisFieldFlag(propertyInstance, FieldFlags.Initialized);\n }\n }\n let setterInstance = propertyInstance.setterInstance;\n if (!setterInstance) {\n this.error(\n DiagnosticCode.Cannot_assign_to_0_because_it_is_a_constant_or_a_read_only_property,\n valueExpression.range, target.internalName\n );\n return module.unreachable();\n }\n assert(setterInstance.signature.parameterTypes.length == 1);\n assert(setterInstance.signature.returnType == Type.void);\n if (propertyInstance.is(CommonFlags.Instance)) {\n let thisType = assert(setterInstance.signature.thisType);\n let thisExpr = this.compileExpression(\n assert(thisExpression),\n thisType,\n Constraints.ConvImplicit | Constraints.IsThis\n );\n if (!tee) return this.makeCallDirect(setterInstance, [ thisExpr, valueExpr ], valueExpression);\n let tempLocal = flow.getTempLocal(valueType);\n let valueTypeRef = valueType.toRef();\n let ret = module.block(null, [\n this.makeCallDirect(setterInstance, [\n thisExpr,\n module.local_tee(tempLocal.index, valueExpr, valueType.isManaged, valueTypeRef)\n ], valueExpression),\n module.local_get(tempLocal.index, valueTypeRef),\n ], valueTypeRef);\n this.currentType = valueType;\n return ret;\n } else {\n if (!tee) return this.makeCallDirect(setterInstance, [ valueExpr ], valueExpression);\n let tempLocal = flow.getTempLocal(valueType);\n let valueTypeRef = valueType.toRef();\n let ret = module.block(null, [\n this.makeCallDirect(setterInstance, [\n module.local_tee(tempLocal.index, valueExpr, valueType.isManaged, valueTypeRef),\n ], valueExpression),\n module.local_get(tempLocal.index, valueTypeRef),\n ], valueTypeRef);\n this.currentType = valueType;\n return ret;\n }\n }\n case ElementKind.IndexSignature: {\n let indexSignature = target;\n let parent = indexSignature.parent;\n assert(parent.kind == ElementKind.Class);\n let classInstance = parent;\n assert(classInstance.kind == ElementKind.Class);\n let isUnchecked = flow.is(FlowFlags.UncheckedContext);\n let getterInstance = classInstance.lookupOverload(OperatorKind.IndexedGet, isUnchecked);\n if (!getterInstance) {\n this.error(\n DiagnosticCode.Index_signature_is_missing_in_type_0,\n valueExpression.range, classInstance.internalName\n );\n return module.unreachable();\n }\n let setterInstance = classInstance.lookupOverload(OperatorKind.IndexedSet, isUnchecked);\n if (!setterInstance) {\n this.error(\n DiagnosticCode.Index_signature_in_type_0_only_permits_reading,\n valueExpression.range, classInstance.internalName\n );\n this.currentType = tee ? getterInstance.signature.returnType : Type.void;\n return module.unreachable();\n }\n assert(setterInstance.signature.parameterTypes.length == 2);\n let thisType = classInstance.type;\n let thisExpr = this.compileExpression(\n assert(thisExpression),\n thisType,\n Constraints.ConvImplicit | Constraints.IsThis\n );\n let setterIndexType = setterInstance.signature.parameterTypes[0];\n let getterIndexType = getterInstance.signature.parameterTypes[0];\n if (!setterIndexType.equals(getterIndexType)) {\n this.errorRelated(\n DiagnosticCode.Index_signature_accessors_in_type_0_differ_in_types,\n getterInstance.identifierAndSignatureRange,\n setterInstance.identifierAndSignatureRange,\n classInstance.internalName,\n );\n this.currentType = tee ? getterInstance.signature.returnType : Type.void;\n return module.unreachable();\n }\n let elementExpr = this.compileExpression(assert(indexExpression), setterIndexType, Constraints.ConvImplicit);\n let elementType = this.currentType;\n if (tee) {\n let tempTarget = flow.getTempLocal(thisType);\n let tempElement = flow.getTempLocal(elementType);\n let returnType = getterInstance.signature.returnType;\n let ret = module.block(null, [\n this.makeCallDirect(setterInstance, [\n module.local_tee(tempTarget.index, thisExpr, thisType.isManaged),\n module.local_tee(tempElement.index, elementExpr, elementType.isManaged),\n valueExpr\n ], valueExpression),\n this.makeCallDirect(getterInstance, [\n module.local_get(tempTarget.index, tempTarget.type.toRef()),\n module.local_get(tempElement.index, tempElement.type.toRef())\n ], valueExpression)\n ], returnType.toRef());\n return ret;\n } else {\n return this.makeCallDirect(setterInstance, [\n thisExpr,\n elementExpr,\n valueExpr\n ], valueExpression);\n }\n }\n default: {\n this.error(\n DiagnosticCode.The_target_of_an_assignment_must_be_a_variable_or_a_property_access,\n valueExpression.range\n );\n }\n }\n return module.unreachable();\n }\n\n /** Makes an assignment to a local, keeping track of wrap and null states. */\n private makeLocalAssignment(\n /** Local to assign to. */\n local: Local,\n /** Value to assign. */\n valueExpr: ExpressionRef,\n /** Value type. */\n valueType: Type,\n /** Whether to tee the value. */\n tee: bool\n ): ExpressionRef {\n let module = this.module;\n let flow = this.currentFlow;\n let type = local.type;\n assert(type != Type.void);\n let localIndex = local.index;\n\n if (type.isNullableReference) {\n if (!valueType.isNullableReference || flow.isNonnull(valueExpr, type)) flow.setLocalFlag(localIndex, LocalFlags.NonNull);\n else flow.unsetLocalFlag(localIndex, LocalFlags.NonNull);\n }\n flow.setLocalFlag(localIndex, LocalFlags.Initialized);\n if (type.isShortIntegerValue) {\n if (!flow.canOverflow(valueExpr, type)) flow.setLocalFlag(localIndex, LocalFlags.Wrapped);\n else flow.unsetLocalFlag(localIndex, LocalFlags.Wrapped);\n }\n if (tee) { // local = value\n this.currentType = type;\n return module.local_tee(localIndex, valueExpr, type.isManaged);\n } else { // void(local = value)\n this.currentType = Type.void;\n return module.local_set(localIndex, valueExpr, type.isManaged);\n }\n }\n\n /** Makes an assignment to a global. */\n private makeGlobalAssignment(\n /** The global variable to assign to. */\n global: VariableLikeElement,\n /** The value to assign. */\n valueExpr: ExpressionRef,\n /** The type of the value to assign. */\n valueType: Type,\n /** Whether to tee the value. */\n tee: bool\n ): ExpressionRef {\n let module = this.module;\n let type = global.type;\n assert(type != Type.void);\n let typeRef = type.toRef();\n\n valueExpr = this.ensureSmallIntegerWrap(valueExpr, type); // globals must be wrapped\n if (tee) { // (global = value), global\n this.currentType = type;\n return module.block(null, [\n module.global_set(global.internalName, valueExpr),\n module.global_get(global.internalName, typeRef) // known to be assigned now\n ], typeRef);\n } else { // global = value\n this.currentType = Type.void;\n return module.global_set(global.internalName,\n valueExpr\n );\n }\n }\n\n /** Compiles a call expression according to the specified context. */\n private compileCallExpression(\n /** Call expression to compile. */\n expression: CallExpression,\n /** Contextual type indicating the return type the caller expects, if any. */\n contextualType: Type,\n /** Constraints indicating contextual conditions. */\n constraints: Constraints\n ): ExpressionRef {\n\n let module = this.module;\n let flow = this.currentFlow;\n\n // handle call to super\n if (expression.expression.kind == NodeKind.Super) {\n let flow = this.currentFlow;\n let sourceFunction = flow.sourceFunction;\n if (!sourceFunction.is(CommonFlags.Constructor)) {\n this.error(\n DiagnosticCode.Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors,\n expression.range\n );\n return module.unreachable();\n }\n\n let parent = assert(sourceFunction.parent);\n assert(parent.kind == ElementKind.Class);\n let classInstance = parent;\n let baseClassInstance = classInstance.base;\n if (!baseClassInstance || classInstance.prototype.implicitlyExtendsObject) {\n this.error(\n DiagnosticCode._super_can_only_be_referenced_in_a_derived_class,\n expression.expression.range\n );\n return module.unreachable();\n }\n let thisLocal = assert(flow.lookupLocal(CommonNames.this_));\n let sizeTypeRef = this.options.sizeTypeRef;\n\n let baseCtorInstance = this.ensureConstructor(baseClassInstance, expression);\n this.checkFieldInitialization(baseClassInstance, expression);\n let superCall = this.compileCallDirect(\n baseCtorInstance,\n expression.args,\n expression,\n module.local_get(thisLocal.index, sizeTypeRef)\n );\n\n // check that super had been called before accessing `this`\n if (flow.isAny(\n FlowFlags.AccessesThis |\n FlowFlags.ConditionallyAccessesThis\n )) {\n this.error(\n DiagnosticCode._super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class,\n expression.range\n );\n return module.unreachable();\n }\n flow.set(FlowFlags.AccessesThis | FlowFlags.CallsSuper);\n this.currentType = Type.void;\n return module.local_set(thisLocal.index, superCall, classInstance.type.isManaged);\n }\n\n // otherwise resolve normally\n let target = this.resolver.lookupExpression(expression.expression, flow); // reports\n if (!target) return module.unreachable();\n let thisExpression = this.resolver.currentThisExpression;\n\n // handle direct call\n switch (target.kind) {\n case ElementKind.FunctionPrototype: {\n let functionPrototype = target;\n if (functionPrototype.hasDecorator(DecoratorFlags.Builtin)) {\n // builtins handle present respectively omitted type arguments on their own\n return this.compileCallExpressionBuiltin(functionPrototype, expression, contextualType);\n }\n let functionInstance = this.resolver.maybeInferCall(expression, functionPrototype, flow);\n if (!functionInstance) return this.module.unreachable();\n target = functionInstance;\n // fall-through\n }\n case ElementKind.Function: {\n let functionInstance = target;\n let thisArg: ExpressionRef = 0;\n if (functionInstance.is(CommonFlags.Instance)) {\n thisArg = this.compileExpression(\n assert(thisExpression),\n assert(functionInstance.signature.thisType),\n Constraints.ConvImplicit | Constraints.IsThis\n );\n }\n return this.compileCallDirect(\n functionInstance,\n expression.args,\n expression,\n thisArg,\n constraints\n );\n }\n }\n\n // handle indirect call\n let functionArg = this.compileExpression(expression.expression, Type.auto);\n let signature = this.currentType.getSignature();\n if (signature) {\n return this.compileCallIndirect(\n signature,\n functionArg,\n expression.args,\n expression,\n 0,\n contextualType == Type.void\n );\n }\n this.error(\n DiagnosticCode.Cannot_invoke_an_expression_whose_type_lacks_a_call_signature_Type_0_has_no_compatible_call_signatures,\n expression.range, this.currentType.toString()\n );\n if (target.kind == ElementKind.PropertyPrototype) {\n let getterPrototype = (target).getterPrototype;\n if (getterPrototype) {\n this.infoRelated(\n DiagnosticCode.This_expression_is_not_callable_because_it_is_a_get_accessor_Did_you_mean_to_use_it_without,\n expression.range, getterPrototype.identifierNode.range\n );\n }\n }\n return module.unreachable();\n }\n\n /** Compiles the given arguments like a call expression according to the specified context. */\n private compileCallExpressionLike(\n /** Called expression. */\n expression: Expression,\n /** Call type arguments. */\n typeArguments: TypeNode[] | null,\n /** Call arguments. */\n args: Expression[],\n /** Diagnostic range. */\n range: Range,\n /** Contextual type indicating the return type the caller expects, if any. */\n contextualType: Type,\n /** Constraints indicating contextual conditions. */\n constraints: Constraints = Constraints.None\n ): ExpressionRef {\n // Desugaring like this can happen many times. Let's cache the intermediate allocation.\n let call = this._reusableCallExpression;\n if (call) {\n call.expression = expression;\n call.typeArguments = typeArguments;\n call.args = args;\n call.range = range;\n } else {\n this._reusableCallExpression = call = Node.createCallExpression(expression, typeArguments, args, range);\n }\n return this.compileCallExpression(call, contextualType, constraints);\n }\n private _reusableCallExpression: CallExpression | null = null;\n\n private compileCallExpressionBuiltin(\n prototype: FunctionPrototype,\n expression: CallExpression,\n contextualType: Type\n ): ExpressionRef {\n if (prototype.hasDecorator(DecoratorFlags.Unsafe)) this.checkUnsafe(expression);\n\n let typeArguments: Type[] | null = null;\n\n // builtins handle omitted type arguments on their own. if present, however, resolve them here\n // and pass them to the builtin, even if it's still up to the builtin how to handle them.\n let typeParameterNodes = prototype.typeParameterNodes;\n let typeArgumentNodes = expression.typeArguments;\n if (expression.typeArguments) {\n if (!prototype.is(CommonFlags.Generic)) {\n this.error(\n DiagnosticCode.Type_0_is_not_generic,\n expression.range, prototype.internalName\n );\n }\n typeArguments = this.resolver.resolveTypeArguments(\n assert(typeParameterNodes),\n typeArgumentNodes,\n this.currentFlow,\n this.currentFlow.sourceFunction.parent,\n cloneMap(this.currentFlow.contextualTypeArguments), // don't update\n expression\n );\n }\n let callee = expression.expression;\n let ctx = new BuiltinFunctionContext(\n this,\n prototype,\n typeArguments,\n expression.args,\n callee.kind == NodeKind.PropertyAccess\n ? (callee).expression\n : null,\n contextualType,\n expression,\n false\n );\n let internalName: string;\n if (prototype.is(CommonFlags.Instance)) {\n // omit generic name components, e.g. in `Function<...>#call`\n let parent = assert(prototype.getBoundClassOrInterface());\n internalName = `${parent.prototype.internalName}#${prototype.name}`;\n } else {\n internalName = prototype.internalName;\n }\n assert(builtinFunctions.has(internalName)); // checked earlier\n let fn = assert(builtinFunctions.get(internalName));\n return fn(ctx);\n }\n\n /**\n * Checks that a call with the given number as arguments can be performed according to the\n * specified signature.\n */\n checkCallSignature(\n signature: Signature,\n numArguments: i32,\n hasThis: bool,\n reportNode: Node\n ): bool {\n\n // cannot call an instance method without a `this` argument (TODO: `.call`?)\n let thisType = signature.thisType;\n if (hasThis != (thisType != null)) {\n this.error(\n DiagnosticCode.The_this_types_of_each_signature_are_incompatible,\n reportNode.range\n );\n return false;\n }\n\n // not yet implemented (TODO: maybe some sort of an unmanaged/lightweight array?)\n let hasRest = signature.hasRest;\n if (hasRest) {\n this.error(\n DiagnosticCode.Not_implemented_0,\n reportNode.range, \"Rest parameters\"\n );\n return false;\n }\n\n let minimum = signature.requiredParameters;\n let maximum = signature.parameterTypes.length;\n\n // must at least be called with required arguments\n if (numArguments < minimum) {\n this.error(\n minimum < maximum\n ? DiagnosticCode.Expected_at_least_0_arguments_but_got_1\n : DiagnosticCode.Expected_0_arguments_but_got_1,\n reportNode.range, minimum.toString(), numArguments.toString()\n );\n return false;\n }\n\n // must not be called with more than the maximum arguments\n if (numArguments > maximum && !hasRest) {\n this.error(\n DiagnosticCode.Expected_0_arguments_but_got_1,\n reportNode.range, maximum.toString(), numArguments.toString()\n );\n return false;\n }\n\n return true;\n }\n\n /** Checks that an unsafe expression is allowed. */\n private checkUnsafe(reportNode: Node, relatedReportNode: Node | null = null): void {\n // Library files may always use unsafe features\n if (this.options.noUnsafe && !reportNode.range.source.isLibrary) {\n if (relatedReportNode) {\n this.errorRelated(\n DiagnosticCode.Operation_is_unsafe,\n reportNode.range, relatedReportNode.range\n );\n } else {\n this.error(\n DiagnosticCode.Operation_is_unsafe,\n reportNode.range\n );\n }\n }\n }\n\n /** Compiles a direct call to a concrete function. */\n compileCallDirect(\n instance: Function,\n argumentExpressions: Expression[],\n reportNode: Node,\n thisArg: ExpressionRef = 0,\n constraints: Constraints = Constraints.None\n ): ExpressionRef {\n let numArguments = argumentExpressions.length;\n let signature = instance.signature;\n if (!this.checkCallSignature( // reports\n signature,\n numArguments,\n thisArg != 0,\n reportNode\n )) {\n this.currentType = signature.returnType;\n return this.module.unreachable();\n }\n if (instance.hasDecorator(DecoratorFlags.Unsafe)) this.checkUnsafe(reportNode);\n\n // handle call on `this` in constructors\n let sourceFunction = this.currentFlow.sourceFunction;\n if (sourceFunction.is(CommonFlags.Constructor) && reportNode.isAccessOnThis) {\n let parent = sourceFunction.parent;\n assert(parent.kind == ElementKind.Class);\n this.checkFieldInitialization(parent, reportNode);\n }\n\n // Inline if explicitly requested\n if (instance.hasDecorator(DecoratorFlags.Inline) && (!instance.is(CommonFlags.Overridden) || reportNode.isAccessOnSuper)) {\n assert(!instance.is(CommonFlags.Stub)); // doesn't make sense\n let inlineStack = this.inlineStack;\n if (inlineStack.includes(instance)) {\n this.warning(\n DiagnosticCode.Function_0_cannot_be_inlined_into_itself,\n reportNode.range, instance.internalName\n );\n } else {\n let parameterTypes = signature.parameterTypes;\n assert(numArguments <= parameterTypes.length);\n // compile argument expressions *before* pushing to the inline stack\n // otherwise, the arguments may not be inlined, e.g. `abc(abc(123))`\n let args = new Array(numArguments);\n for (let i = 0; i < numArguments; ++i) {\n args[i] = this.compileExpression(argumentExpressions[i], parameterTypes[i], Constraints.ConvImplicit);\n }\n // make the inlined call\n inlineStack.push(instance);\n let expr = this.makeCallInline(instance, args, thisArg, (constraints & Constraints.WillDrop) != 0);\n inlineStack.pop();\n return expr;\n }\n }\n\n // Otherwise compile to just a call\n let numArgumentsInclThis = thisArg ? numArguments + 1 : numArguments;\n let operands = new Array(numArgumentsInclThis);\n let index = 0;\n if (thisArg) {\n operands[0] = thisArg;\n index = 1;\n }\n let parameterTypes = signature.parameterTypes;\n for (let i = 0; i < numArguments; ++i, ++index) {\n let paramType = parameterTypes[i];\n let paramExpr = this.compileExpression(argumentExpressions[i], paramType, Constraints.ConvImplicit);\n operands[index] = paramExpr;\n }\n assert(index == numArgumentsInclThis);\n return this.makeCallDirect(instance, operands, reportNode, (constraints & Constraints.WillDrop) != 0);\n }\n\n makeCallInline(\n instance: Function,\n operands: ExpressionRef[] | null,\n thisArg: ExpressionRef = 0,\n immediatelyDropped: bool = false\n ): ExpressionRef {\n let module = this.module;\n let numArguments = operands ? operands.length : 0;\n let signature = instance.signature;\n let parameterTypes = signature.parameterTypes;\n let numParameters = parameterTypes.length;\n\n // Create a new inline flow and use it to compile the function as a block\n let previousFlow = this.currentFlow;\n let flow = Flow.createInline(previousFlow.targetFunction, instance);\n let body = [];\n\n if (thisArg) {\n let parent = assert(instance.parent);\n assert(parent.kind == ElementKind.Class);\n let classInstance = parent;\n let thisType = assert(instance.signature.thisType);\n let thisLocal = flow.addScopedLocal(CommonNames.this_, thisType);\n body.push(\n module.local_set(thisLocal.index, thisArg, thisType.isManaged)\n );\n flow.setLocalFlag(thisLocal.index, LocalFlags.Initialized);\n let base = classInstance.base;\n if (base) flow.addScopedAlias(CommonNames.super_, base.type, thisLocal.index);\n } else {\n assert(!instance.signature.thisType);\n }\n for (let i = 0; i < numArguments; ++i) {\n let paramExpr = operands![i];\n let paramType = parameterTypes[i];\n let argumentLocal = flow.addScopedLocal(instance.getParameterName(i), paramType);\n // inlining is aware of wrap/nonnull states:\n if (!previousFlow.canOverflow(paramExpr, paramType)) flow.setLocalFlag(argumentLocal.index, LocalFlags.Wrapped);\n if (flow.isNonnull(paramExpr, paramType)) flow.setLocalFlag(argumentLocal.index, LocalFlags.NonNull);\n body.push(\n module.local_set(argumentLocal.index, paramExpr, paramType.isManaged)\n );\n flow.setLocalFlag(argumentLocal.index, LocalFlags.Initialized);\n }\n\n // Compile omitted arguments with final argument locals blocked. Doesn't need to take care of\n // side-effects within earlier expressions because these already happened on set.\n this.currentFlow = flow;\n let isConstructor = instance.is(CommonFlags.Constructor);\n if (isConstructor) flow.set(FlowFlags.CtorParamContext);\n for (let i = numArguments; i < numParameters; ++i) {\n let initType = parameterTypes[i];\n let initExpr = this.compileExpression(\n assert(instance.prototype.functionTypeNode.parameters[i].initializer),\n initType,\n Constraints.ConvImplicit\n );\n let argumentLocal = flow.addScopedLocal(instance.getParameterName(i), initType);\n body.push(\n this.makeLocalAssignment(argumentLocal, initExpr, initType, false)\n );\n }\n flow.unset(FlowFlags.CtorParamContext);\n\n // Compile the called function's body in the scope of the inlined flow\n this.compileFunctionBody(instance, body);\n\n // If a constructor, perform field init checks on its flow directly\n if (isConstructor) {\n let parent = instance.parent;\n assert(parent.kind == ElementKind.Class);\n this.checkFieldInitializationInFlow(parent, flow);\n }\n\n // Free any new scoped locals and reset to the original flow\n let returnType = flow.returnType;\n this.currentFlow = previousFlow;\n\n // Create an outer block that we can break to when returning a value out of order\n this.currentType = returnType;\n return module.block(flow.inlineReturnLabel, body, returnType.toRef());\n }\n\n /** Makes sure that the arguments length helper global is present. */\n ensureArgumentsLength(): string {\n let name = BuiltinNames.argumentsLength;\n if (!this.builtinArgumentsLength) {\n let module = this.module;\n this.builtinArgumentsLength = module.addGlobal(name, TypeRef.I32, true, module.i32(0));\n }\n return name;\n }\n\n /** Ensures compilation of the varargs stub for the specified function. */\n ensureVarargsStub(original: Function): Function {\n // A varargs stub is a function called with omitted arguments being zeroed,\n // reading the `argumentsLength` helper global to decide which initializers\n // to inject before calling the original function. It is typically attempted\n // to circumvent the varargs stub where possible, for example where omitted\n // arguments are constants and can be inlined into the original call.\n let stub = original.varargsStub;\n if (stub) return stub;\n\n let originalSignature = original.signature;\n let originalParameterTypes = originalSignature.parameterTypes;\n let originalParameterDeclarations = original.prototype.functionTypeNode.parameters;\n let returnType = originalSignature.returnType;\n let isInstance = original.is(CommonFlags.Instance);\n\n // arguments excl. `this`, operands incl. `this`\n let minArguments = originalSignature.requiredParameters;\n let minOperands = minArguments;\n let maxArguments = originalParameterTypes.length;\n let maxOperands = maxArguments;\n if (isInstance) {\n ++minOperands;\n ++maxOperands;\n }\n let numOptional = assert(maxOperands - minOperands);\n\n let forwardedOperands = new Array(minOperands);\n let operandIndex = 0;\n let stmts = new Array();\n\n // forward `this` if applicable\n let module = this.module;\n let thisType = originalSignature.thisType;\n if (thisType) {\n forwardedOperands[0] = module.local_get(0, thisType.toRef());\n operandIndex = 1;\n }\n\n // forward required arguments\n for (let i = 0; i < minArguments; ++i, ++operandIndex) {\n let paramType = originalParameterTypes[i];\n forwardedOperands[operandIndex] = module.local_get(operandIndex, paramType.toRef());\n }\n assert(operandIndex == minOperands);\n\n // create the varargs stub\n stub = original.newStub(\"varargs\", maxArguments);\n\n original.varargsStub = stub;\n\n // compile initializers of omitted arguments in the scope of the stub,\n // accounting for additional locals and a proper `this` context.\n let previousFlow = this.currentFlow;\n let flow = stub.flow;\n if (original.is(CommonFlags.Constructor)) flow.set(FlowFlags.CtorParamContext);\n this.currentFlow = flow;\n\n // create a br_table switching over the number of optional parameters provided\n let numNames = numOptional + 1; // incl. outer block\n let names = new Array(numNames);\n let ofN = `of${numOptional}`;\n for (let i = 0; i < numNames; ++i) {\n names[i] = `${i}${ofN}`;\n }\n let argumentsLength = this.ensureArgumentsLength();\n let table = module.block(names[0], [\n module.block(\"outOfRange\", [\n module.switch(names, \"outOfRange\",\n // condition is number of provided optional arguments, so subtract required arguments\n minArguments\n ? module.binary(\n BinaryOp.SubI32,\n module.global_get(argumentsLength, TypeRef.I32),\n module.i32(minArguments)\n )\n : module.global_get(argumentsLength, TypeRef.I32)\n )\n ]),\n module.unreachable()\n ]);\n for (let i = 0; i < numOptional; ++i, ++operandIndex) {\n let type = originalParameterTypes[minArguments + i];\n let declaration = originalParameterDeclarations[minArguments + i];\n let initializer = declaration.initializer;\n let initExpr: ExpressionRef;\n if (initializer) {\n initExpr = this.compileExpression(\n initializer,\n type,\n Constraints.ConvImplicit\n );\n initExpr = module.local_set(operandIndex, initExpr, type.isManaged);\n } else {\n this.error(\n DiagnosticCode.Optional_parameter_must_have_an_initializer,\n declaration.range\n );\n initExpr = module.unreachable();\n }\n table = module.block(names[i + 1], [\n table,\n initExpr,\n ]);\n forwardedOperands[operandIndex] = module.local_get(operandIndex, type.toRef());\n }\n assert(operandIndex == maxOperands);\n\n stmts.push(\n table\n );\n stmts.push(\n // assume this will always succeed (can just use name as the reportNode)\n this.makeCallDirect(original, forwardedOperands, original.declaration.name)\n );\n this.currentFlow = previousFlow;\n\n let funcRef = module.addFunction(\n stub.internalName,\n stub.signature.paramRefs,\n stub.signature.resultRefs,\n typesToRefs(stub.getNonParameterLocalTypes()),\n module.flatten(stmts, returnType.toRef())\n );\n stub.set(CommonFlags.Compiled);\n stub.finalize(module, funcRef);\n return stub;\n }\n\n /** Ensures compilation of the override stub for the specified function. */\n ensureOverrideStub(original: Function): Function {\n // An override stub is a function redirecting virtual calls to the actual\n // override targeted by the call. It utilizes varargs stubs where necessary\n // and as such has the same semantics as one. Here, we only make sure that\n // a placeholder exist, with actual code being generated as a finalization\n // step once module compilation is otherwise complete.\n let stub = original.overrideStub;\n if (stub) return stub;\n stub = original.newStub(\"override\");\n original.overrideStub = stub;\n let module = this.module;\n stub.ref = module.addFunction(\n stub.internalName,\n stub.signature.paramRefs,\n stub.signature.resultRefs,\n null,\n module.unreachable()\n );\n this.overrideStubs.add(original);\n return stub;\n }\n\n /** Finalizes the override stub of the specified function. */\n private finalizeOverrideStub(instance: Function): void {\n let stub = this.ensureOverrideStub(instance);\n if (stub.is(CommonFlags.Compiled)) return;\n\n assert(instance.parent.kind == ElementKind.Class || instance.parent.kind == ElementKind.Interface);\n let module = this.module;\n let usizeType = this.options.usizeType;\n let sizeTypeRef = usizeType.toRef();\n let parameterTypes = instance.signature.parameterTypes;\n let returnType = instance.signature.returnType;\n let numParameters = parameterTypes.length;\n let tempIndex = 1 + parameterTypes.length; // incl. `this`\n\n // Switch over this's rtId and map it to the respective overload\n let builder = new SwitchBuilder(this.module,\n module.load(4, false,\n module.binary(\n sizeTypeRef == TypeRef.I64\n ? BinaryOp.SubI64\n : BinaryOp.SubI32,\n module.local_get(0, sizeTypeRef),\n sizeTypeRef == TypeRef.I64\n ? module.i64(8) // rtId offset = -8\n : module.i32(8)\n ),\n TypeRef.I32\n )\n );\n let overrideInstances = this.resolver.resolveOverrides(instance);\n if (overrideInstances) {\n let mostRecentInheritanceMapping = new Map();\n for (let i = 0, k = overrideInstances.length; i < k; ++i) {\n let overrideInstance = overrideInstances[i];\n if (!overrideInstance.is(CommonFlags.Compiled)) continue; // errored\n\n let overrideSignature = overrideInstance.signature;\n let originalSignature = instance.signature;\n\n if (!overrideSignature.isAssignableTo(originalSignature, true)) {\n this.error(\n DiagnosticCode.Type_0_is_not_assignable_to_type_1,\n overrideInstance.identifierNode.range, overrideSignature.toString(), originalSignature.toString()\n );\n continue;\n }\n // TODO: additional optional parameters are not permitted by `isAssignableTo` yet\n let overrideParameterTypes = overrideSignature.parameterTypes;\n let overrideNumParameters = overrideParameterTypes.length;\n let paramExprs = new Array(1 + overrideNumParameters);\n paramExprs[0] = module.local_get(0, sizeTypeRef); // this\n for (let n = 1; n <= numParameters; ++n) {\n paramExprs[n] = module.local_get(n, parameterTypes[n - 1].toRef());\n }\n let needsVarargsStub = false;\n for (let n = numParameters; n < overrideNumParameters; ++n) {\n // TODO: inline constant initializers and skip varargs stub\n paramExprs[1 + n] = this.makeZero(overrideParameterTypes[n]);\n needsVarargsStub = true;\n }\n let calledName = needsVarargsStub\n ? this.ensureVarargsStub(overrideInstance).internalName\n : overrideInstance.internalName;\n let returnTypeRef = overrideSignature.returnType.toRef();\n let stmts = new Array();\n if (needsVarargsStub) {\n // Safe to prepend since paramExprs are local.get's\n stmts.push(module.global_set(this.ensureArgumentsLength(), module.i32(numParameters)));\n }\n if (returnType == Type.void) {\n stmts.push(\n module.call(calledName, paramExprs, returnTypeRef)\n );\n stmts.push(\n module.return()\n );\n } else {\n stmts.push(\n module.return(\n module.call(calledName, paramExprs, returnTypeRef)\n )\n );\n }\n let classInstance = assert(overrideInstance.getBoundClassOrInterface());\n builder.addCase(classInstance.id, stmts);\n // Also alias each extender inheriting this exact overload\n let extenders = classInstance.extenders;\n if (extenders) {\n for (let _values = Set_values(extenders), i = 0, k = _values.length; i < k; ++i) {\n let extender = _values[i];\n let instanceMembers = extender.prototype.instanceMembers;\n if (instanceMembers && instanceMembers.has(instance.declaration.name.text)) {\n continue; // skip those not inheriting\n }\n if (\n !mostRecentInheritanceMapping.has(extender) ||\n !assert(mostRecentInheritanceMapping.get(extender)).extends(classInstance)\n ) {\n mostRecentInheritanceMapping.set(extender, classInstance);\n builder.addOrReplaceCase(extender.id, stmts);\n }\n }\n }\n }\n }\n\n // Call the original function if no other id matches and the method is not\n // abstract or part of an interface. Note that doing so will not catch an\n // invalid id, but can reduce code size significantly since we also don't\n // have to add branches for extenders inheriting the original function.\n let body: ExpressionRef;\n let instanceClass = instance.getBoundClassOrInterface();\n if (!instance.is(CommonFlags.Abstract) && !(instanceClass && instanceClass.kind == ElementKind.Interface)) {\n let paramExprs = new Array(numParameters);\n paramExprs[0] = module.local_get(0, sizeTypeRef); // this\n for (let i = 0, k = parameterTypes.length; i < k; ++i) {\n paramExprs[1 + i] = module.local_get(1 + i, parameterTypes[i].toRef());\n }\n body = module.call(instance.internalName, paramExprs, returnType.toRef());\n\n // Otherwise trap\n } else {\n body = module.unreachable();\n }\n\n // Create the stub function\n let ref = stub.ref;\n if (ref) module.removeFunction(stub.internalName);\n stub.ref = module.addFunction(\n stub.internalName,\n stub.signature.paramRefs,\n stub.signature.resultRefs,\n [ TypeRef.I32 ],\n module.block(null, [\n builder.render(tempIndex),\n body\n ], returnType.toRef())\n );\n stub.set(CommonFlags.Compiled);\n }\n\n /** Marks managed call operands for the shadow stack. */\n private operandsTostack(signature: Signature, operands: ExpressionRef[]): void {\n if (!this.options.stackSize) return;\n let module = this.module;\n let operandIndex = 0;\n let thisType = signature.thisType;\n if (thisType) {\n if (thisType.isManaged) {\n let operand = operands[0];\n let precomp = module.runExpression(operand, ExpressionRunnerFlags.Default);\n if (!isConstZero(precomp)) { // otherwise unnecessary\n operands[operandIndex] = module.tostack(operand);\n }\n }\n ++operandIndex;\n }\n let parameterIndex = 0;\n let parameterTypes = signature.parameterTypes;\n assert(parameterTypes.length >= operands.length - operandIndex);\n while (operandIndex < operands.length) {\n let paramType = parameterTypes[parameterIndex];\n if (paramType.isManaged) {\n let operand = operands[operandIndex];\n let precomp = module.runExpression(operand, ExpressionRunnerFlags.Default);\n if (!isConstZero(precomp)) { // otherwise unnecessary\n operands[operandIndex] = module.tostack(operand);\n }\n }\n ++operandIndex;\n ++parameterIndex;\n }\n }\n\n /** Creates a direct call to the specified function. */\n makeCallDirect(\n instance: Function,\n operands: ExpressionRef[] | null,\n reportNode: Node,\n immediatelyDropped: bool = false\n ): ExpressionRef {\n if (instance.hasDecorator(DecoratorFlags.Inline)) {\n if (!instance.is(CommonFlags.Overridden)) {\n assert(!instance.is(CommonFlags.Stub)); // doesn't make sense\n let inlineStack = this.inlineStack;\n if (inlineStack.includes(instance)) {\n this.warning(\n DiagnosticCode.Function_0_cannot_be_inlined_into_itself,\n reportNode.range, instance.internalName\n );\n } else {\n inlineStack.push(instance);\n let expr: ExpressionRef;\n if (instance.is(CommonFlags.Instance)) {\n let theOperands = assert(operands);\n assert(theOperands.length);\n expr = this.makeCallInline(instance, theOperands.slice(1), theOperands[0], immediatelyDropped);\n } else {\n expr = this.makeCallInline(instance, operands, 0, immediatelyDropped);\n }\n inlineStack.pop();\n return expr;\n }\n } else {\n this.warning(\n DiagnosticCode.Function_0_is_virtual_and_will_not_be_inlined,\n reportNode.range, instance.internalName\n );\n }\n }\n let module = this.module;\n let numOperands = operands ? operands.length : 0;\n let numArguments = numOperands;\n let minArguments = instance.signature.requiredParameters;\n let minOperands = minArguments;\n let parameterTypes = instance.signature.parameterTypes;\n let maxArguments = parameterTypes.length;\n let maxOperands = maxArguments;\n if (instance.is(CommonFlags.Instance)) {\n ++minOperands;\n ++maxOperands;\n --numArguments;\n }\n assert(numOperands >= minOperands);\n\n if (!this.compileFunction(instance)) return module.unreachable();\n let returnType = instance.signature.returnType;\n\n // fill up omitted arguments with their initializers, if constant, otherwise with zeroes.\n if (numOperands < maxOperands) {\n if (!operands) {\n operands = new Array(maxOperands);\n operands.length = 0;\n }\n let parameterNodes = instance.prototype.functionTypeNode.parameters;\n assert(parameterNodes.length == parameterTypes.length);\n let allOptionalsAreConstant = true;\n for (let i = numArguments; i < maxArguments; ++i) {\n let initializer = parameterNodes[i].initializer;\n if (initializer) {\n if (initializer.compilesToConst) {\n operands.push(this.compileExpression(\n initializer,\n parameterTypes[i],\n Constraints.ConvImplicit\n ));\n continue;\n }\n let resolved = this.resolver.lookupExpression(initializer, instance.flow, parameterTypes[i], ReportMode.Swallow);\n if (resolved && resolved.kind == ElementKind.Global) {\n let global = resolved;\n if (this.compileGlobalLazy(global, initializer) && global.is(CommonFlags.Inlined)) {\n operands.push(\n this.compileInlineConstant(global, parameterTypes[i], Constraints.ConvImplicit)\n );\n continue;\n }\n }\n }\n operands.push(this.makeZero(parameterTypes[i]));\n allOptionalsAreConstant = false;\n }\n if (!allOptionalsAreConstant && !instance.is(CommonFlags.ModuleImport)) {\n let original = instance;\n instance = this.ensureVarargsStub(instance);\n if (!this.compileFunction(instance)) return module.unreachable();\n instance.flow.flags = original.flow.flags;\n let returnTypeRef = returnType.toRef();\n // We know the last operand is optional and omitted, so inject setting\n // ~argumentsLength into that operand, which is always safe.\n let lastOperand = operands[maxOperands - 1];\n assert(!(getSideEffects(lastOperand, module.ref) & SideEffects.WritesGlobal));\n let lastOperandType = parameterTypes[maxArguments - 1];\n operands[maxOperands - 1] = module.block(null, [\n module.global_set(this.ensureArgumentsLength(), module.i32(numArguments)),\n lastOperand\n ], lastOperandType.toRef());\n this.operandsTostack(instance.signature, operands);\n let expr = module.call(instance.internalName, operands, returnTypeRef);\n if (returnType != Type.void && immediatelyDropped) {\n expr = module.drop(expr);\n this.currentType = Type.void;\n } else {\n this.currentType = returnType;\n }\n return expr;\n }\n }\n\n // Call the override stub if the function has overloads\n if (instance.is(CommonFlags.Overridden) && !reportNode.isAccessOnSuper) {\n instance = this.ensureOverrideStub(instance);\n }\n\n if (operands) this.operandsTostack(instance.signature, operands);\n let expr = module.call(instance.internalName, operands, returnType.toRef());\n this.currentType = returnType;\n return expr;\n }\n\n /** Compiles an indirect call to a first-class function. */\n compileCallIndirect(\n signature: Signature,\n functionArg: ExpressionRef,\n argumentExpressions: Expression[],\n reportNode: Node,\n thisArg: ExpressionRef = 0,\n immediatelyDropped: bool = false\n ): ExpressionRef {\n let numArguments = argumentExpressions.length;\n\n if (!this.checkCallSignature( // reports\n signature,\n numArguments,\n thisArg != 0,\n reportNode\n )) {\n return this.module.unreachable();\n }\n\n let numArgumentsInclThis = thisArg ? numArguments + 1 : numArguments;\n let operands = new Array(numArgumentsInclThis);\n let index = 0;\n if (thisArg) {\n operands[0] = thisArg;\n index = 1;\n }\n let parameterTypes = signature.parameterTypes;\n for (let i = 0; i < numArguments; ++i, ++index) {\n operands[index] = this.compileExpression(argumentExpressions[i], parameterTypes[i],\n Constraints.ConvImplicit\n );\n }\n assert(index == numArgumentsInclThis);\n return this.makeCallIndirect(signature, functionArg, reportNode, operands, immediatelyDropped);\n }\n\n /** Creates an indirect call to a first-class function. */\n makeCallIndirect(\n signature: Signature,\n functionArg: ExpressionRef,\n reportNode: Node,\n operands: ExpressionRef[] | null = null,\n immediatelyDropped: bool = false,\n ): ExpressionRef {\n let module = this.module;\n let numOperands = operands ? operands.length : 0;\n let numArguments = numOperands;\n let minArguments = signature.requiredParameters;\n let minOperands = minArguments;\n let parameterTypes = signature.parameterTypes;\n let returnType = signature.returnType;\n let maxArguments = parameterTypes.length;\n let maxOperands = maxArguments;\n if (signature.thisType) {\n ++minOperands;\n ++maxOperands;\n --numArguments;\n }\n assert(numOperands >= minOperands);\n\n // fill up omitted arguments with zeroes\n if (numOperands < maxOperands) {\n if (!operands) {\n operands = new Array(maxOperands);\n operands.length = 0;\n }\n let parameterTypes = signature.parameterTypes;\n for (let i = numArguments; i < maxArguments; ++i) {\n operands.push(this.makeZero(parameterTypes[i]));\n }\n }\n\n // We might be calling a varargs stub here, even if all operands have been\n // provided, so we must set `argumentsLength` in any case. Inject setting it\n // into the index argument, which becomes executed last after any operands.\n let argumentsLength = this.ensureArgumentsLength();\n let sizeTypeRef = this.options.sizeTypeRef;\n if (getSideEffects(functionArg, module.ref) & SideEffects.WritesGlobal) {\n let flow = this.currentFlow;\n let temp = flow.getTempLocal(this.options.usizeType);\n let tempIndex = temp.index;\n functionArg = module.block(null, [\n module.local_set(tempIndex, functionArg, true), // Function\n module.global_set(argumentsLength, module.i32(numArguments)),\n module.local_get(tempIndex, sizeTypeRef)\n ], sizeTypeRef);\n } else { // simplify\n functionArg = module.block(null, [\n module.global_set(argumentsLength, module.i32(numArguments)),\n functionArg\n ], sizeTypeRef);\n }\n if (operands) this.operandsTostack(signature, operands);\n let expr = module.call_indirect(\n null, // TODO: handle multiple tables\n module.load(4, false, functionArg, TypeRef.I32), // ._index\n operands,\n signature.paramRefs,\n signature.resultRefs\n );\n this.currentType = returnType;\n return expr;\n }\n\n private compileCommaExpression(\n expression: CommaExpression,\n contextualType: Type,\n constraints: Constraints\n ): ExpressionRef {\n let expressions = expression.expressions;\n let numExpressions = expressions.length;\n let exprs = new Array(numExpressions--);\n for (let i = 0; i < numExpressions; ++i) {\n exprs[i] = this.compileExpression(expressions[i], Type.void, // drop all except last\n Constraints.ConvImplicit | Constraints.WillDrop\n );\n }\n exprs[numExpressions] = this.compileExpression(expressions[numExpressions], contextualType, constraints);\n return this.module.flatten(exprs, this.currentType.toRef());\n }\n\n private compileElementAccessExpression(\n expression: ElementAccessExpression,\n contextualType: Type,\n constraints: Constraints\n ): ExpressionRef {\n let module = this.module;\n let targetExpression = expression.expression;\n let targetType = this.resolver.resolveExpression(targetExpression, this.currentFlow); // reports\n if (targetType) {\n let classReference = targetType.getClassOrWrapper(this.program);\n if (classReference) {\n let isUnchecked = this.currentFlow.is(FlowFlags.UncheckedContext);\n let indexedGet = classReference.lookupOverload(OperatorKind.IndexedGet, isUnchecked);\n if (indexedGet) {\n let thisType = assert(indexedGet.signature.thisType);\n let thisArg = this.compileExpression(targetExpression, thisType,\n Constraints.ConvImplicit\n );\n if (!isUnchecked && this.options.pedantic) {\n this.pedantic(\n DiagnosticCode.Indexed_access_may_involve_bounds_checking,\n expression.range\n );\n }\n return this.compileCallDirect(indexedGet, [\n expression.elementExpression\n ], expression, thisArg, constraints);\n }\n }\n this.error(\n DiagnosticCode.Index_signature_is_missing_in_type_0,\n expression.expression.range, targetType.toString()\n );\n }\n return module.unreachable();\n }\n\n private compileFunctionExpression(\n expression: FunctionExpression,\n contextualType: Type,\n constraints: Constraints\n ): ExpressionRef {\n let declaration = expression.declaration.clone(); // generic contexts can have multiple\n assert(!declaration.typeParameters); // function expression cannot be generic\n let flow = this.currentFlow;\n let sourceFunction = flow.sourceFunction;\n let isNamed = declaration.name.text.length > 0;\n let isSemanticallyAnonymous = !isNamed || contextualType != Type.void;\n let prototype = new FunctionPrototype(\n isSemanticallyAnonymous\n ? `${isNamed ? declaration.name.text : \"anonymous\"}|${sourceFunction.nextAnonymousId++}`\n : declaration.name.text,\n sourceFunction,\n declaration,\n DecoratorFlags.None\n );\n let instance: Function | null;\n let contextualTypeArguments = cloneMap(flow.contextualTypeArguments);\n let module = this.module;\n\n // compile according to context. this differs from a normal function in that omitted parameter\n // and return types can be inferred and omitted arguments can be replaced with dummies.\n let contextualSignature = contextualType.signatureReference;\n if (contextualSignature) {\n let signatureNode = prototype.functionTypeNode;\n let parameterNodes = signatureNode.parameters;\n let numPresentParameters = parameterNodes.length;\n\n // must not require more than the maximum number of parameters\n let parameterTypes = contextualSignature.parameterTypes;\n let numParameters = parameterTypes.length;\n if (numPresentParameters > numParameters) {\n this.error(\n DiagnosticCode.Expected_0_arguments_but_got_1,\n expression.range, numParameters.toString(), numPresentParameters.toString()\n );\n return module.unreachable();\n }\n\n // check non-omitted parameter types\n for (let i = 0; i < numPresentParameters; ++i) {\n let parameterNode = parameterNodes[i];\n if (!isTypeOmitted(parameterNode.type)) {\n let resolvedType = this.resolver.resolveType(\n parameterNode.type, flow,\n sourceFunction.parent,\n contextualTypeArguments\n );\n if (!resolvedType) return module.unreachable();\n if (!parameterTypes[i].isStrictlyAssignableTo(resolvedType)) {\n this.error(\n DiagnosticCode.Type_0_is_not_assignable_to_type_1,\n parameterNode.range, parameterTypes[i].toString(), resolvedType.toString()\n );\n return module.unreachable();\n }\n }\n // any unused parameters are inherited but ignored\n }\n\n // check non-omitted return type\n let returnType = contextualSignature.returnType;\n if (!isTypeOmitted(signatureNode.returnType)) {\n let resolvedType = this.resolver.resolveType(\n signatureNode.returnType, flow,\n sourceFunction.parent,\n contextualTypeArguments\n );\n if (!resolvedType) return module.unreachable();\n if (\n returnType == Type.void\n ? resolvedType != Type.void\n : !resolvedType.isStrictlyAssignableTo(returnType)\n ) {\n this.error(\n DiagnosticCode.Type_0_is_not_assignable_to_type_1,\n signatureNode.returnType.range, resolvedType.toString(), returnType.toString()\n );\n return module.unreachable();\n }\n }\n\n // check explicit this type\n let thisType = contextualSignature.thisType;\n let thisTypeNode = signatureNode.explicitThisType;\n if (thisTypeNode) {\n if (!thisType) {\n this.error(\n DiagnosticCode._this_cannot_be_referenced_in_current_location,\n thisTypeNode.range\n );\n return module.unreachable();\n }\n let resolvedType = this.resolver.resolveType(\n thisTypeNode, flow,\n sourceFunction.parent,\n contextualTypeArguments\n );\n if (!resolvedType) return module.unreachable();\n if (!thisType.isStrictlyAssignableTo(resolvedType)) {\n this.error(\n DiagnosticCode.Type_0_is_not_assignable_to_type_1,\n thisTypeNode.range, thisType.toString(), resolvedType.toString()\n );\n return module.unreachable();\n }\n }\n\n let signature = Signature.create(this.program, parameterTypes, returnType, thisType, numParameters);\n instance = new Function(\n prototype.name,\n prototype,\n null,\n signature,\n contextualTypeArguments\n );\n instance.flow.outer = flow;\n let worked = this.compileFunction(instance);\n this.currentType = contextualSignature.type;\n if (!worked) return module.unreachable();\n\n // otherwise compile like a normal function\n } else {\n instance = this.resolver.resolveFunction(prototype, null, contextualTypeArguments);\n if (!instance) return this.module.unreachable();\n instance.flow.outer = flow;\n let worked = this.compileFunction(instance);\n this.currentType = instance.signature.type;\n if (!worked) return module.unreachable();\n }\n\n let offset = this.ensureRuntimeFunction(instance); // reports\n let expr = this.options.isWasm64\n ? module.i64(i64_low(offset), i64_high(offset))\n : module.i32(i64_low(offset));\n\n // add a constant local referring to the function if applicable\n if (!isSemanticallyAnonymous) {\n let fname = instance.name;\n let existingLocal = flow.getScopedLocal(fname);\n if (existingLocal) {\n if (!existingLocal.declaration.range.source.isNative) {\n this.errorRelated(\n DiagnosticCode.Duplicate_identifier_0,\n declaration.name.range,\n existingLocal.declaration.name.range,\n fname\n );\n } else { // scoped locals are shared temps that don't track declarations\n this.error(\n DiagnosticCode.Duplicate_identifier_0,\n declaration.name.range, fname\n );\n }\n } else {\n let ftype = instance.type;\n let local = flow.addScopedLocal(instance.name, ftype);\n flow.setLocalFlag(local.index, LocalFlags.Constant | LocalFlags.Initialized);\n expr = module.local_tee(local.index, expr, ftype.isManaged);\n }\n }\n\n return expr;\n }\n\n /** Makes sure the enclosing source file of the specified expression has been compiled. */\n private maybeCompileEnclosingSource(expression: Expression): void {\n let internalPath = expression.range.source.internalPath;\n let filesByName = this.program.filesByName;\n assert(filesByName.has(internalPath));\n let enclosingFile = assert(filesByName.get(internalPath));\n if (!enclosingFile.is(CommonFlags.Compiled)) {\n this.compileFileByPath(internalPath, expression);\n }\n }\n\n private compileIdentifierExpression(\n expression: IdentifierExpression,\n contextualType: Type,\n constraints: Constraints\n ): ExpressionRef {\n let module = this.module;\n let flow = this.currentFlow;\n let sourceFunction = flow.sourceFunction;\n\n // check special keywords first\n switch (expression.kind) {\n case NodeKind.Null: {\n let options = this.options;\n if (contextualType.isReference) {\n let classReference = contextualType.getClass();\n if (classReference) {\n this.currentType = classReference.type.asNullable();\n return options.isWasm64 ? module.i64(0) : module.i32(0);\n }\n let signatureReference = contextualType.getSignature();\n if (signatureReference) {\n this.currentType = signatureReference.type.asNullable();\n return options.isWasm64 ? module.i64(0) : module.i32(0);\n }\n return this.makeZero(contextualType);\n }\n this.currentType = options.usizeType;\n this.warning(\n DiagnosticCode.Expression_resolves_to_unusual_type_0,\n expression.range, this.currentType.toString()\n );\n return options.isWasm64\n ? module.i64(0)\n : module.i32(0);\n }\n case NodeKind.True: {\n this.currentType = Type.bool;\n return module.i32(1);\n }\n case NodeKind.False: {\n this.currentType = Type.bool;\n return module.i32(0);\n }\n case NodeKind.This: {\n let thisType = sourceFunction.signature.thisType;\n if (!thisType) {\n this.error(\n DiagnosticCode._this_cannot_be_referenced_in_current_location,\n expression.range\n );\n this.currentType = this.options.usizeType;\n return module.unreachable();\n }\n if (sourceFunction.is(CommonFlags.Constructor)) {\n if (flow.is(FlowFlags.CtorParamContext)) {\n this.error(\n DiagnosticCode._this_cannot_be_referenced_in_constructor_arguments,\n expression.range\n );\n }\n if (!(constraints & Constraints.IsThis)) {\n let parent = sourceFunction.parent;\n assert(parent.kind == ElementKind.Class);\n this.checkFieldInitialization(parent, expression);\n }\n }\n let thisLocal = assert(flow.lookupLocal(CommonNames.this_));\n flow.set(FlowFlags.AccessesThis);\n this.currentType = thisType;\n return module.local_get(thisLocal.index, thisType.toRef());\n }\n case NodeKind.Super: {\n if (sourceFunction.is(CommonFlags.Constructor)) {\n if (flow.is(FlowFlags.CtorParamContext)) {\n this.error(\n DiagnosticCode._super_cannot_be_referenced_in_constructor_arguments,\n expression.range\n );\n } else if (!flow.is(FlowFlags.CallsSuper)) {\n // TS1034 in the parser effectively limits this to property accesses\n this.error(\n DiagnosticCode._super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class,\n expression.range\n );\n }\n }\n if (flow.isInline) {\n let scopedThis = flow.lookupLocal(CommonNames.this_);\n if (scopedThis) {\n let scopedThisClass = assert(scopedThis.type.getClass());\n let base = scopedThisClass.base;\n if (base) {\n this.currentType = base.type;\n return module.local_get(scopedThis.index, base.type.toRef());\n }\n }\n }\n if (sourceFunction.is(CommonFlags.Instance)) {\n let parent = assert(sourceFunction.parent);\n assert(parent.kind == ElementKind.Class);\n let classInstance = parent;\n let baseClassInstance = classInstance.base;\n if (baseClassInstance) {\n let superType = baseClassInstance.type;\n this.currentType = superType;\n return module.local_get(0, superType.toRef());\n }\n }\n this.error(\n DiagnosticCode._super_can_only_be_referenced_in_a_derived_class,\n expression.range\n );\n this.currentType = this.options.usizeType;\n return module.unreachable();\n }\n }\n\n this.maybeCompileEnclosingSource(expression);\n\n // otherwise resolve\n let currentParent = this.currentParent;\n if (!currentParent) currentParent = sourceFunction;\n let target = this.resolver.lookupIdentifierExpression( // reports\n expression,\n flow,\n currentParent\n );\n if (!target) {\n // make a guess to avoid assertions in calling code\n if (this.currentType == Type.void) this.currentType = Type.i32;\n return module.unreachable();\n }\n\n switch (target.kind) {\n case ElementKind.Local: {\n let local = target;\n let localType = local.type;\n assert(localType != Type.void);\n if (this.pendingElements.has(local)) {\n this.error(\n DiagnosticCode.Variable_0_used_before_its_declaration,\n expression.range,\n local.internalName\n );\n this.currentType = localType;\n return module.unreachable();\n }\n if (local.is(CommonFlags.Inlined)) {\n return this.compileInlineConstant(local, contextualType, constraints);\n }\n let localIndex = local.index;\n if (!flow.isLocalFlag(localIndex, LocalFlags.Initialized)) {\n this.error(\n DiagnosticCode.Variable_0_is_used_before_being_assigned,\n expression.range, local.name\n );\n }\n assert(localIndex >= 0);\n let isNonNull = flow.isLocalFlag(localIndex, LocalFlags.NonNull, false);\n if (localType.isNullableReference && isNonNull && (!localType.isExternalReference || this.options.hasFeature(Feature.GC))) {\n this.currentType = localType.nonNullableType;\n } else {\n this.currentType = localType;\n }\n\n if (!local.declaredByFlow(flow)) {\n // TODO: closures\n this.error(\n DiagnosticCode.Not_implemented_0,\n expression.range,\n \"Closures\"\n );\n return module.unreachable();\n }\n let expr = module.local_get(localIndex, localType.toRef());\n if (isNonNull && localType.isNullableExternalReference && this.options.hasFeature(Feature.GC)) {\n // If the local's type is nullable, but its value is known to be non-null, propagate\n // non-nullability info to Binaryen. Only applicable if GC is enabled, since without\n // GC, here incl. typed function references, there is no nullability dimension.\n expr = module.ref_as_nonnull(expr);\n }\n return expr;\n }\n case ElementKind.Global: {\n let global = target;\n if (!this.compileGlobalLazy(global, expression)) {\n return module.unreachable();\n }\n let globalType = global.type;\n if (this.pendingElements.has(global)) {\n this.error(\n DiagnosticCode.Variable_0_used_before_its_declaration,\n expression.range,\n global.internalName\n );\n this.currentType = globalType;\n return module.unreachable();\n }\n assert(globalType != Type.void);\n if (global.hasDecorator(DecoratorFlags.Builtin)) {\n return this.compileIdentifierExpressionBuiltin(global, expression, contextualType);\n }\n if (global.is(CommonFlags.Inlined)) {\n return this.compileInlineConstant(global, contextualType, constraints);\n }\n let expr = module.global_get(global.internalName, globalType.toRef());\n if (global.is(CommonFlags.DefinitelyAssigned) && globalType.isReference && !globalType.isNullableReference) {\n expr = this.makeRuntimeNonNullCheck(expr, globalType, expression);\n }\n this.currentType = globalType;\n return expr;\n }\n case ElementKind.EnumValue: { // here: if referenced from within the same enum\n let enumValue = target;\n if (!target.is(CommonFlags.Compiled)) {\n this.error(\n DiagnosticCode.A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_members_defined_in_other_enums,\n expression.range\n );\n this.currentType = Type.i32;\n return module.unreachable();\n }\n this.currentType = Type.i32;\n if (enumValue.is(CommonFlags.Inlined)) {\n assert(enumValue.constantValueKind == ConstantValueKind.Integer);\n return module.i32(i64_low(enumValue.constantIntegerValue));\n }\n return module.global_get(enumValue.internalName, TypeRef.I32);\n }\n case ElementKind.FunctionPrototype: {\n let functionPrototype = target;\n let typeParameterNodes = functionPrototype.typeParameterNodes;\n\n if (typeParameterNodes && typeParameterNodes.length != 0) {\n this.error(\n DiagnosticCode.Type_argument_expected,\n expression.range\n );\n break; // also diagnose 'not a value at runtime'\n }\n\n let functionInstance = this.resolver.resolveFunction(\n functionPrototype,\n null,\n cloneMap(flow.contextualTypeArguments)\n );\n if (!functionInstance || !this.compileFunction(functionInstance)) return module.unreachable();\n if (functionInstance.hasDecorator(DecoratorFlags.Builtin)) {\n this.error(\n DiagnosticCode.Not_implemented_0,\n expression.range, \"First-class built-ins\"\n );\n this.currentType = functionInstance.type;\n return module.unreachable();\n }\n if (contextualType.isExternalReference) {\n // TODO: Concrete function types currently map to first class functions implemented in\n // linear memory (on top of `usize`), leaving only generic `funcref` for use here. In the\n // future, once functions become Wasm GC objects, the actual signature type can be used.\n this.currentType = Type.func;\n return module.ref_func(functionInstance.internalName, ensureType(functionInstance.type));\n }\n let offset = this.ensureRuntimeFunction(functionInstance);\n this.currentType = functionInstance.signature.type;\n return this.options.isWasm64\n ? module.i64(i64_low(offset), i64_high(offset))\n : module.i32(i64_low(offset));\n }\n }\n this.error(\n DiagnosticCode.Expression_does_not_compile_to_a_value_at_runtime,\n expression.range\n );\n return module.unreachable();\n }\n\n private compileIdentifierExpressionBuiltin(\n element: VariableLikeElement,\n expression: IdentifierExpression,\n contextualType: Type\n ): ExpressionRef {\n if (element.hasDecorator(DecoratorFlags.Unsafe)) this.checkUnsafe(expression, element.identifierNode);\n let internalName = element.internalName;\n assert(builtinVariables_onAccess.has(internalName)); // checked earlier\n let fn = assert(builtinVariables_onAccess.get(internalName));\n return fn(new BuiltinVariableContext(\n this,\n element,\n contextualType,\n expression\n ));\n }\n\n private compileInstanceOfExpression(\n expression: InstanceOfExpression,\n contextualType: Type,\n constraints: Constraints\n ): ExpressionRef {\n let flow = this.currentFlow;\n let isType = expression.isType;\n\n // Mimic `instanceof CLASS`\n if (isType.kind == NodeKind.NamedType) {\n let namedType = isType;\n if (!(namedType.isNullable || namedType.hasTypeArguments)) {\n let element = this.resolver.resolveTypeName(namedType.name, flow, flow.sourceFunction, ReportMode.Swallow);\n if (element && element.kind == ElementKind.ClassPrototype) {\n let prototype = element;\n if (prototype.is(CommonFlags.Generic)) {\n return this.makeInstanceofClass(expression, prototype);\n }\n }\n }\n }\n\n // Fall back to `instanceof TYPE`\n let expectedType = this.resolver.resolveType(\n expression.isType, flow,\n flow.sourceFunction,\n cloneMap(flow.contextualTypeArguments)\n );\n if (!expectedType) {\n this.currentType = Type.bool;\n return this.module.unreachable();\n }\n return this.makeInstanceofType(expression, expectedType);\n }\n\n private makeInstanceofType(expression: InstanceOfExpression, expectedType: Type): ExpressionRef {\n let module = this.module;\n let flow = this.currentFlow;\n let expr = this.compileExpression(expression.expression, expectedType);\n let actualType = this.currentType;\n this.currentType = Type.bool;\n\n // instanceof - must be exact\n if (expectedType.isValue) {\n return module.maybeDropCondition(expr, module.i32(actualType == expectedType ? 1 : 0));\n }\n\n // instanceof - always false\n if (actualType.isValue) {\n return module.maybeDropCondition(expr, module.i32(0));\n }\n\n // both LHS and RHS are references now\n let sizeTypeRef = actualType.toRef();\n\n // instanceof - LHS must be != 0\n if (actualType.isNullableReference && !expectedType.isNullableReference) {\n\n // same or upcast - check statically\n if (actualType.nonNullableType.isAssignableTo(expectedType)) {\n return module.binary(\n sizeTypeRef == TypeRef.I64\n ? BinaryOp.NeI64\n : BinaryOp.NeI32,\n expr,\n this.makeZero(actualType)\n );\n }\n\n // potential downcast - check dynamically\n if (actualType.nonNullableType.hasSubtypeAssignableTo(expectedType)) {\n if (!(actualType.isUnmanaged || expectedType.isUnmanaged)) {\n if (this.options.pedantic) {\n this.pedantic(\n DiagnosticCode.Expression_compiles_to_a_dynamic_check_at_runtime,\n expression.range\n );\n }\n let temp = flow.getTempLocal(actualType);\n let tempIndex = temp.index;\n return module.if(\n module.unary(\n sizeTypeRef == TypeRef.I64\n ? UnaryOp.EqzI64\n : UnaryOp.EqzI32,\n module.local_tee(tempIndex, expr, actualType.isManaged),\n ),\n module.i32(0),\n module.call(this.prepareInstanceOf(expectedType.classReference!), [\n module.local_get(tempIndex, sizeTypeRef)\n ], TypeRef.I32)\n );\n } else {\n this.error(\n DiagnosticCode.Operator_0_cannot_be_applied_to_types_1_and_2,\n expression.range, \"instanceof\", actualType.toString(), expectedType.toString()\n );\n }\n }\n\n // either none or both nullable\n } else {\n\n // same or upcast - check statically\n if (actualType.isAssignableTo(expectedType)) {\n return module.maybeDropCondition(expr, module.i32(1));\n }\n\n // potential downcast - check dynamically\n if (actualType.hasSubtypeAssignableTo(expectedType)) {\n if (!(actualType.isUnmanaged || expectedType.isUnmanaged)) {\n let temp = flow.getTempLocal(actualType);\n let tempIndex = temp.index;\n return module.if(\n module.unary(\n sizeTypeRef == TypeRef.I64\n ? UnaryOp.EqzI64\n : UnaryOp.EqzI32,\n module.local_tee(tempIndex, expr, actualType.isManaged),\n ),\n module.i32(0),\n module.call(this.prepareInstanceOf(expectedType.classReference!), [\n module.local_get(tempIndex, sizeTypeRef)\n ], TypeRef.I32)\n );\n } else {\n this.error(\n DiagnosticCode.Operator_0_cannot_be_applied_to_types_1_and_2,\n expression.range, \"instanceof\", actualType.toString(), expectedType.toString()\n );\n }\n }\n }\n\n // false\n return module.maybeDropCondition(expr, module.i32(0));\n }\n\n /** Prepares the instanceof helper for the given class or interface instance. */\n private prepareInstanceOf(instance: Class): string {\n let name = `~instanceof|${instance.internalName}`;\n let pending = this.pendingInstanceOf;\n if (pending.has(instance)) return assert(pending.get(instance));\n pending.set(instance, name);\n let module = this.module;\n module.addFunction(name, this.options.sizeTypeRef, TypeRef.I32, null,\n module.unreachable()\n );\n return name;\n }\n\n /** Finalizes the instanceof helper of the given class or interface instance. */\n private finalizeInstanceOf(\n /** Class to finalize the helper for. */\n instance: Class,\n /** Name of the helper function. */\n name: string\n ): void {\n let program = this.program;\n let module = this.module;\n let sizeType = this.options.sizeTypeRef;\n let stmts = new Array();\n // (block $is_instance\n // (local.set $1 (i32.load (...))) ;; class id\n // (br_if $is_instance (i32.eq (local.get $1) (ID)))\n // ...\n // (return (i32.const 0))\n // )\n // (i32.const 1)\n stmts.push(\n module.local_set(1,\n module.load(4, false,\n module.binary(\n sizeType == TypeRef.I64\n ? BinaryOp.SubI64\n : BinaryOp.SubI32,\n module.local_get(0, sizeType),\n module.i32(\n program.totalOverhead - program.OBJECTInstance.offsetof(\"rtId\")\n )\n ),\n TypeRef.I32\n ), false // managedness is irrelevant here, isn't interrupted\n )\n );\n let allInstances: Set | null;\n if (instance.isInterface) {\n allInstances = instance.implementers;\n } else {\n allInstances = new Set();\n allInstances.add(instance);\n let extenders = instance.extenders;\n if (extenders) {\n for (let _values = Set_values(extenders), i = 0, k = _values.length; i < k; ++i) {\n let extender = _values[i];\n allInstances.add(extender);\n }\n }\n }\n if (allInstances) {\n for (let _values = Set_values(allInstances), i = 0, k = _values.length; i < k; ++i) {\n let instance = _values[i];\n stmts.push(\n module.br(\"is_instance\",\n module.binary(BinaryOp.EqI32,\n module.local_get(1, TypeRef.I32),\n module.i32(instance.id)\n )\n )\n );\n }\n }\n stmts.push(\n module.return(\n module.i32(0)\n )\n );\n stmts[0] = module.block(\"is_instance\", stmts, TypeRef.None);\n stmts.length = 1;\n stmts.push(\n module.i32(1)\n ); \n module.removeFunction(name);\n module.addFunction(name, sizeType, TypeRef.I32, [ TypeRef.I32 ], module.block(null, stmts, TypeRef.I32));\n }\n\n private makeInstanceofClass(expression: InstanceOfExpression, prototype: ClassPrototype): ExpressionRef {\n let module = this.module;\n let expr = this.compileExpression(expression.expression, Type.auto);\n let actualType = this.currentType;\n let sizeTypeRef = actualType.toRef();\n\n this.currentType = Type.bool;\n\n // exclusively interested in class references here\n let classReference = actualType.getClass();\n if (classReference) {\n\n // static check\n if (classReference.extendsPrototype(prototype)) {\n\n // instanceof - LHS must be != 0\n if (actualType.isNullableReference) {\n return module.binary(\n sizeTypeRef == TypeRef.I64\n ? BinaryOp.NeI64\n : BinaryOp.NeI32,\n expr,\n this.makeZero(actualType)\n );\n\n // is just `true`\n } else {\n return module.maybeDropCondition(expr, module.i32(1));\n }\n\n // dynamic check against all possible concrete ids\n } else if (prototype.extends(classReference.prototype)) {\n let flow = this.currentFlow;\n let temp = flow.getTempLocal(actualType);\n let tempIndex = temp.index;\n // !(t = expr) ? 0 : anyinstanceof(t)\n return module.if(\n module.unary(\n sizeTypeRef == TypeRef.I64\n ? UnaryOp.EqzI64\n : UnaryOp.EqzI32,\n module.local_tee(tempIndex, expr, actualType.isManaged),\n ),\n module.i32(0),\n module.call(this.prepareAnyInstanceOf(prototype), [\n module.local_get(tempIndex, sizeTypeRef)\n ], TypeRef.I32)\n );\n }\n }\n\n // false\n return module.maybeDropCondition(expr, module.i32(0));\n }\n\n /** Prepares the instanceof helper for the given class or interface prototype. */\n private prepareAnyInstanceOf(prototype: ClassPrototype): string {\n let name = `~anyinstanceof|${prototype.internalName}`;\n let pending = this.pendingInstanceOf;\n if (pending.has(prototype)) return assert(pending.get(prototype));\n pending.set(prototype, name);\n let module = this.module;\n module.addFunction(name, this.options.sizeTypeRef, TypeRef.I32, null,\n module.unreachable()\n );\n return name;\n }\n\n /** Finalizes the instanceof helper of the given class prototype. */\n private finalizeAnyInstanceOf(prototype: ClassPrototype, name: string): void {\n let module = this.module;\n let sizeType = this.options.sizeTypeRef;\n let stmts = new Array();\n let instances = prototype.instances;\n // (block $is_instance\n // (local.set $1 (i32.load(...)))\n // (br_if $is_instance (i32.eq (local.get $1) (ID))\n // ...\n // (return (i32.const 0))\n // )\n // (i32.const 1)\n if (instances) {\n let program = this.program;\n stmts.push(\n module.local_set(1,\n module.load(4, false,\n module.binary(\n sizeType == TypeRef.I64\n ? BinaryOp.SubI64\n : BinaryOp.SubI32,\n module.local_get(0, sizeType),\n module.i32(\n program.totalOverhead - program.OBJECTInstance.offsetof(\"rtId\")\n )\n ),\n TypeRef.I32\n ), false // managedness is irrelevant here, isn't interrupted\n )\n );\n let allInstances = new Set();\n for (let _values = Map_values(instances), i = 0, k = _values.length; i < k; ++i) {\n let instance = _values[i];\n if (instance.isInterface) {\n let implementers = instance.implementers;\n if (implementers) {\n for (let _values = Set_values(implementers), i = 0, k = _values.length; i < k; ++i) {\n let implementer = _values[i];\n allInstances.add(implementer);\n }\n }\n } else {\n allInstances.add(instance);\n let extenders = instance.extenders;\n if (extenders) {\n for (let _values = Set_values(extenders), i = 0, k = _values.length; i < k; ++i) {\n let extender = _values[i];\n allInstances.add(extender);\n }\n }\n }\n }\n for (let _values = Set_values(allInstances), i = 0, k = _values.length; i < k; ++i) {\n let instance = _values[i];\n stmts.push(\n module.br(\"is_instance\",\n module.binary(BinaryOp.EqI32,\n module.local_get(1, TypeRef.I32),\n module.i32(instance.id)\n )\n )\n );\n }\n }\n stmts.push(\n module.return(\n module.i32(0)\n )\n );\n stmts[0] = module.block(\"is_instance\", stmts, TypeRef.None);\n stmts.length = 1;\n stmts.push(\n module.i32(1)\n );\n module.removeFunction(name);\n module.addFunction(name, sizeType, TypeRef.I32, [ TypeRef.I32 ], module.block(null, stmts, TypeRef.I32));\n }\n\n private compileLiteralExpression(\n expression: LiteralExpression,\n contextualType: Type,\n constraints: Constraints,\n implicitlyNegate: bool = false\n ): ExpressionRef {\n let module = this.module;\n switch (expression.literalKind) {\n case LiteralKind.Array: {\n assert(!implicitlyNegate);\n return this.compileArrayLiteral(\n expression,\n contextualType,\n constraints\n );\n }\n case LiteralKind.Float: {\n let floatValue = (expression).value;\n if (implicitlyNegate) {\n floatValue = -floatValue;\n }\n if (contextualType == Type.f32) {\n return module.f32(floatValue);\n }\n this.currentType = Type.f64;\n return module.f64(floatValue);\n }\n case LiteralKind.Integer: {\n let expr = expression;\n let type = this.resolver.determineIntegerLiteralType(expr, implicitlyNegate, contextualType);\n this.currentType = type;\n let intValue = expr.value;\n let sign = 1.0; // should multiply for float literals\n if (implicitlyNegate) {\n if (type.isFloatValue) {\n sign = -1.0;\n } else {\n intValue = i64_neg(intValue);\n }\n }\n switch (type.kind) {\n case TypeKind.Isize: if (!this.options.isWasm64) return module.i32(i64_low(intValue));\n case TypeKind.I64: return module.i64(i64_low(intValue), i64_high(intValue));\n case TypeKind.Usize: if (!this.options.isWasm64) return module.i32(i64_low(intValue));\n case TypeKind.U64: return module.i64(i64_low(intValue), i64_high(intValue));\n case TypeKind.F32: return module.f32(sign * i64_to_f32(intValue));\n case TypeKind.F64: return module.f64(sign * i64_to_f64(intValue));\n default: return module.i32(i64_low(intValue));\n }\n }\n case LiteralKind.String: {\n assert(!implicitlyNegate);\n return this.compileStringLiteral(expression, constraints);\n }\n case LiteralKind.Template: {\n assert(!implicitlyNegate);\n return this.compileTemplateLiteral(expression, constraints);\n }\n case LiteralKind.Object: {\n assert(!implicitlyNegate);\n return this.compileObjectLiteral(expression, contextualType);\n }\n case LiteralKind.RegExp: {\n this.error(\n DiagnosticCode.Not_implemented_0,\n expression.range,\n \"Regular expressions\"\n );\n this.currentType = contextualType;\n return module.unreachable();\n }\n }\n assert(false);\n return module.unreachable();\n }\n\n private compileStringLiteral(\n expression: StringLiteralExpression,\n constraints: Constraints\n ): ExpressionRef {\n return this.ensureStaticString(expression.value);\n }\n\n private compileTemplateLiteral(\n expression: TemplateLiteralExpression,\n constraints: Constraints\n ): ExpressionRef {\n let tag = expression.tag;\n let parts = expression.parts;\n let numParts = parts.length;\n let expressions = expression.expressions;\n let numExpressions = expressions.length;\n assert(numExpressions == numParts - 1);\n\n let module = this.module;\n let stringInstance = this.program.stringInstance;\n let stringType = stringInstance.type;\n\n if (!tag) {\n // Shortcut if just a (multi-line) string\n if (numParts == 1) {\n return this.ensureStaticString(parts[0]);\n }\n\n // Shortcut for `${expr}`, `${expr}`, `${expr}`\n if (numParts == 2) {\n let expression = expressions[0];\n let lhsLen = parts[0].length;\n let rhsLen = parts[1].length;\n // Shortcut for `${expr}` -> expr.toString()\n if (!lhsLen && !rhsLen) {\n return this.makeToString(\n this.compileExpression(expression, stringType),\n this.currentType, expression\n );\n }\n // Shortcuts for\n // `${expr}` -> \"\" + expr.toString()\n // `${expr}` -> expr.toString() + \"\"\n let hasPrefix = lhsLen != 0;\n // @ts-ignore: cast\n if (hasPrefix ^ (rhsLen != 0)) {\n let lhs: ExpressionRef;\n let rhs: ExpressionRef;\n let expr = this.makeToString(\n this.compileExpression(expression, stringType),\n this.currentType, expression\n );\n if (hasPrefix) {\n lhs = this.ensureStaticString(parts[0]);\n rhs = expr;\n } else {\n // suffix\n lhs = expr;\n rhs = this.ensureStaticString(parts[1]);\n }\n let concatMethod = assert(stringInstance.getMethod(\"concat\"));\n return this.makeCallDirect(concatMethod, [ lhs, rhs ], expression);\n }\n }\n\n // Shortcut for `${exprA}${exprB}` -> exprA.toString() + exprB.toString()\n if (numParts == 3 && !parts[0].length && !parts[1].length && !parts[2].length) {\n let exprA = expressions[0];\n let exprB = expressions[1];\n\n let lhs = this.makeToString(\n this.compileExpression(exprA, stringType),\n this.currentType, exprA\n );\n let rhs = this.makeToString(\n this.compileExpression(exprB, stringType),\n this.currentType, exprB\n );\n let concatMethod = assert(stringInstance.getMethod(\"concat\"));\n return this.makeCallDirect(concatMethod, [ lhs, rhs ], expression);\n }\n\n // Compile to a `StaticArray#join(\"\") in the general case\n let expressionPositions = new Array(numExpressions);\n let values = new Array();\n if (parts[0].length > 0) values.push(this.ensureStaticString(parts[0]));\n for (let i = 1; i < numParts; ++i) {\n expressionPositions[i - 1] = values.length;\n values.push(module.usize(0));\n if (parts[i].length > 0) values.push(this.ensureStaticString(parts[i]));\n }\n let arrayInstance = assert(this.resolver.resolveClass(this.program.staticArrayPrototype, [ stringType ]));\n let segment = this.addStaticBuffer(stringType, values, arrayInstance.id);\n this.program.OBJECTInstance.writeField(\"gcInfo\", 3, segment.buffer, 0); // use transparent gcinfo\n let offset = i64_add(segment.offset, i64_new(this.program.totalOverhead));\n let joinInstance = assert(arrayInstance.getMethod(\"join\"));\n let indexedSetInstance = assert(arrayInstance.lookupOverload(OperatorKind.IndexedSet, true));\n let stmts = new Array(2 * numExpressions + 1);\n // Use one local per toString'ed subexpression, since otherwise recursion on the same\n // static array would overwrite already prepared parts. Avoids a temporary array.\n let temps = new Array(numExpressions);\n let flow = this.currentFlow;\n for (let i = 0; i < numExpressions; ++i) {\n let expression = expressions[i];\n let temp = flow.getTempLocal(stringType);\n temps[i] = temp;\n stmts[i] = module.local_set(temp.index,\n this.makeToString(\n this.compileExpression(expression, stringType),\n this.currentType, expression\n ),\n true\n );\n }\n // Populate the static array with the toString'ed subexpressions and call .join(\"\")\n for (let i = 0; i < numExpressions; ++i) {\n stmts[numExpressions + i] = this.makeCallDirect(indexedSetInstance, [\n module.usize(offset),\n module.i32(expressionPositions[i]),\n module.local_get(temps[i].index, stringType.toRef())\n ], expression);\n }\n stmts[2 * numExpressions] = this.makeCallDirect(joinInstance, [\n module.usize(offset),\n this.ensureStaticString(\"\")\n ], expression);\n return module.flatten(stmts, stringType.toRef());\n }\n\n // Try to find out whether the template function takes a full-blown TemplateStringsArray or if\n // it is sufficient to compile to a normal array. While technically incorrect, this allows us\n // to avoid generating unnecessary static data that is not explicitly signaled to be used.\n let tsaArrayInstance = this.program.templateStringsArrayInstance;\n let arrayInstance = tsaArrayInstance;\n let target = this.resolver.lookupExpression(tag, this.currentFlow, Type.auto, ReportMode.Swallow);\n if (target) {\n switch (target.kind) {\n case ElementKind.FunctionPrototype: {\n let instance = this.resolver.resolveFunction(\n target,\n null,\n new Map(),\n ReportMode.Swallow\n );\n if (!instance) break;\n target = instance;\n // fall-through\n }\n case ElementKind.Function: {\n let instance = target;\n let parameterTypes = instance.signature.parameterTypes;\n if (parameterTypes.length) {\n let first = parameterTypes[0].getClass();\n if (first && !first.extendsPrototype(tsaArrayInstance.prototype)) {\n arrayInstance = assert(this.resolver.resolveClass(this.program.arrayPrototype, [ stringType ]));\n }\n }\n break;\n }\n }\n }\n\n // Compile to a call to the tag function\n let rawParts = expression.rawParts;\n assert(rawParts.length == numParts);\n let partExprs = new Array(numParts);\n for (let i = 0; i < numParts; ++i) {\n partExprs[i] = this.ensureStaticString(parts[i]);\n }\n let arraySegment: MemorySegment;\n if (arrayInstance == tsaArrayInstance) {\n let rawExprs = new Array(numParts);\n for (let i = 0; i < numParts; ++i) {\n rawExprs[i] = this.ensureStaticString(rawParts[i]);\n }\n arraySegment = this.addStaticArrayHeader(stringType,\n this.addStaticBuffer(this.options.usizeType, partExprs),\n arrayInstance\n );\n let rawHeaderSegment = this.addStaticArrayHeader(stringType,\n this.addStaticBuffer(this.options.usizeType, rawExprs)\n );\n arrayInstance.writeField(\"raw\",\n i64_add(rawHeaderSegment.offset, i64_new(this.program.totalOverhead)),\n arraySegment.buffer\n );\n } else {\n arraySegment = this.addStaticArrayHeader(stringType,\n this.addStaticBuffer(this.options.usizeType, partExprs),\n arrayInstance\n );\n }\n\n // Desugar to compileCallExpression\n let args = expressions.slice();\n args.unshift(\n Node.createCompiledExpression(\n module.usize(i64_add(arraySegment.offset, i64_new(this.program.totalOverhead))),\n arrayInstance.type,\n Source.native.range\n )\n );\n // TODO: Requires ReadonlyArray to be safe\n this.error(\n DiagnosticCode.Not_implemented_0,\n expression.range, \"Tagged template literals\"\n );\n return this.compileCallExpressionLike(tag, null, args, expression.range, stringType);\n }\n\n private compileArrayLiteral(\n expression: ArrayLiteralExpression,\n contextualType: Type,\n constraints: Constraints\n ): ExpressionRef {\n let module = this.module;\n let flow = this.currentFlow;\n let program = this.program;\n\n // handle static arrays\n let contextualClass = contextualType.getClass();\n if (contextualClass && contextualClass.extendsPrototype(program.staticArrayPrototype)) {\n return this.compileStaticArrayLiteral(expression, contextualType, constraints);\n }\n\n // handle normal arrays\n let element = this.resolver.lookupExpression(expression, flow, this.currentType);\n if (!element) return module.unreachable();\n assert(element.kind == ElementKind.Class);\n let arrayInstance = element;\n let arrayType = arrayInstance.type;\n let elementType = arrayInstance.getTypeArgumentsTo(program.arrayPrototype)![0];\n let arrayBufferInstance = assert(program.arrayBufferInstance);\n\n // block those here so compiling expressions doesn't conflict\n let tempThis = flow.getTempLocal(this.options.usizeType);\n let tempDataStart = flow.getTempLocal(arrayBufferInstance.type);\n\n // compile value expressions and find out whether all are constant\n let expressions = expression.elementExpressions;\n let length = expressions.length;\n let values = new Array(length);\n let isStatic = !elementType.isExternalReference;\n for (let i = 0; i < length; ++i) {\n let elementExpression = expressions[i];\n if (elementExpression.kind != NodeKind.Omitted) {\n let expr = this.compileExpression(elementExpression, elementType, Constraints.ConvImplicit);\n if (getExpressionType(expr) != elementType.toRef()) {\n isStatic = false;\n } else {\n let precomp = module.runExpression(expr, ExpressionRunnerFlags.PreserveSideeffects);\n if (precomp) {\n expr = precomp;\n } else {\n isStatic = false;\n }\n }\n values[i] = expr;\n } else {\n values[i] = this.makeZero(elementType);\n }\n }\n\n // if the array is static, make a static arraybuffer segment\n if (isStatic) {\n let totalOverhead = program.totalOverhead;\n let bufferSegment = this.addStaticBuffer(elementType, values);\n let bufferAddress = i64_add(bufferSegment.offset, i64_new(totalOverhead));\n\n // make both the buffer and array header static if assigned to a global. this can't be done\n // if inside of a function because each invocation must create a new array reference then.\n if (constraints & Constraints.PreferStatic) {\n let arraySegment = this.addStaticArrayHeader(elementType, bufferSegment);\n let arrayAddress = i64_add(arraySegment.offset, i64_new(totalOverhead));\n this.currentType = arrayType;\n return program.options.isWasm64\n ? this.module.i64(i64_low(arrayAddress), i64_high(arrayAddress))\n : this.module.i32(i64_low(arrayAddress));\n\n // otherwise allocate a new array header and make it wrap a copy of the static buffer\n } else {\n return this.makeNewArray(arrayInstance, length, bufferAddress, expression);\n }\n }\n\n // otherwise compile an explicit instantiation with indexed sets\n let indexedSet = arrayInstance.lookupOverload(OperatorKind.IndexedSet, true);\n if (!indexedSet) {\n this.error(\n DiagnosticCode.Index_signature_in_type_0_only_permits_reading,\n expression.range, arrayInstance.internalName\n );\n this.currentType = arrayType;\n return module.unreachable();\n }\n let arrayTypeRef = arrayType.toRef();\n\n let stmts = new Array();\n // tempThis = __newArray(length, alignLog2, classId, source = 0)\n stmts.push(\n module.local_set(tempThis.index,\n this.makeNewArray(arrayInstance, length, i64_new(0), expression),\n arrayType.isManaged\n )\n );\n // tempData = tempThis.dataStart\n let dataStartMember = assert(arrayInstance.getMember(\"dataStart\"));\n assert(dataStartMember.kind == ElementKind.PropertyPrototype);\n // is a field, so should have been resolved during class finalization\n let dataStartProperty = (dataStartMember).instance;\n if (!dataStartProperty) return module.unreachable();\n assert(dataStartProperty.isField && dataStartProperty.memoryOffset >= 0);\n stmts.push(\n module.local_set(tempDataStart.index,\n module.load(arrayType.byteSize, false,\n module.local_get(tempThis.index, arrayTypeRef),\n arrayTypeRef,\n dataStartProperty.memoryOffset\n ),\n true // ArrayBuffer\n )\n );\n for (let i = 0; i < length; ++i) {\n // this[i] = value\n stmts.push(\n module.call(indexedSet.internalName, [\n module.local_get(tempThis.index, arrayTypeRef),\n module.i32(i),\n values[i]\n ], TypeRef.None)\n );\n }\n // -> tempThis\n stmts.push(\n module.local_get(tempThis.index, arrayTypeRef)\n );\n if (length) this.compileFunction(indexedSet);\n this.currentType = arrayType;\n return module.flatten(stmts, arrayTypeRef);\n }\n\n /** Makes a new array instance from a static buffer segment. */\n private makeNewArray(\n /** Concrete array class. */\n arrayInstance: Class,\n /** Length of the array. */\n length: i32,\n /** Source address to copy from. Array is zeroed if `0`. */\n source: i64,\n /** Report node. */\n reportNode: Node\n ): ExpressionRef {\n let program = this.program;\n let module = this.module;\n assert(!arrayInstance.extendsPrototype(program.staticArrayPrototype));\n let elementType = arrayInstance.getArrayValueType(); // asserts\n\n // __newArray(length, alignLog2, classId, staticBuffer)\n let expr = this.makeCallDirect(program.newArrayInstance, [\n module.i32(length),\n program.options.isWasm64\n ? module.i64(elementType.alignLog2)\n : module.i32(elementType.alignLog2),\n module.i32(arrayInstance.id),\n program.options.isWasm64\n ? module.i64(i64_low(source), i64_high(source))\n : module.i32(i64_low(source))\n ], reportNode);\n this.currentType = arrayInstance.type;\n return expr;\n }\n\n /** Compiles a special `fixed` array literal. */\n private compileStaticArrayLiteral(\n expression: ArrayLiteralExpression,\n contextualType: Type,\n constraints: Constraints\n ): ExpressionRef {\n let module = this.module;\n let flow = this.currentFlow;\n let program = this.program;\n\n // make sure this method is only called with a valid contextualType\n let arrayInstance = assert(contextualType.getClass());\n let arrayType = arrayInstance.type;\n let typeArguments = assert(arrayInstance.getTypeArgumentsTo(program.staticArrayPrototype));\n let elementType = typeArguments[0];\n\n // block those here so compiling expressions doesn't conflict\n let tempThis = flow.getTempLocal(this.options.usizeType);\n\n // compile value expressions and check if all are compile-time constants\n let expressions = expression.elementExpressions;\n let length = expressions.length;\n let values = new Array(length);\n let isStatic = !elementType.isExternalReference;\n for (let i = 0; i < length; ++i) {\n let elementExpression = expressions[i];\n if (elementExpression.kind != NodeKind.Omitted) {\n let expr = this.compileExpression(elementExpression, elementType, Constraints.ConvImplicit);\n let precomp = module.runExpression(expr, ExpressionRunnerFlags.PreserveSideeffects);\n if (precomp) {\n expr = precomp;\n } else {\n isStatic = false;\n }\n values[i] = expr;\n } else {\n values[i] = this.makeZero(elementType);\n }\n }\n\n let isWasm64 = this.options.isWasm64;\n let bufferSize = values.length << elementType.alignLog2;\n\n // if the array is static, make a static arraybuffer segment\n if (isStatic) {\n let bufferSegment = this.addStaticBuffer(elementType, values, arrayInstance.id);\n let bufferAddress = i64_add(bufferSegment.offset, i64_new(program.totalOverhead));\n\n // return the static buffer directly if assigned to a global\n if (constraints & Constraints.PreferStatic) {\n let expr = this.options.isWasm64\n ? module.i64(i64_low(bufferAddress), i64_high(bufferAddress))\n : module.i32(i64_low(bufferAddress));\n this.currentType = arrayType;\n return expr;\n\n // otherwise allocate a new chunk of memory and return a copy of the buffer\n } else {\n // __newBuffer(bufferSize, id, buffer)\n let expr = this.makeCallDirect(program.newBufferInstance, [\n isWasm64\n ? module.i64(bufferSize)\n : module.i32(bufferSize),\n module.i32(arrayInstance.id),\n isWasm64\n ? module.i64(i64_low(bufferAddress), i64_high(bufferAddress))\n : module.i32(i64_low(bufferAddress))\n ], expression);\n this.currentType = arrayType;\n return expr;\n }\n }\n\n // otherwise compile an explicit instantiation with indexed sets\n let indexedSet = arrayInstance.lookupOverload(OperatorKind.IndexedSet, true);\n if (!indexedSet) {\n this.error(\n DiagnosticCode.Index_signature_in_type_0_only_permits_reading,\n expression.range, arrayInstance.internalName\n );\n this.currentType = arrayType;\n return module.unreachable();\n }\n let arrayTypeRef = arrayType.toRef();\n\n let stmts = new Array();\n // tempThis = __newBuffer(bufferSize, classId)\n stmts.push(\n module.local_set(tempThis.index,\n this.makeCallDirect(program.newBufferInstance, [\n isWasm64\n ? module.i64(bufferSize)\n : module.i32(bufferSize),\n module.i32(arrayInstance.id)\n ], expression),\n arrayType.isManaged\n )\n );\n for (let i = 0; i < length; ++i) {\n // array[i] = value\n stmts.push(\n module.call(indexedSet.internalName, [\n module.local_get(tempThis.index, arrayTypeRef),\n module.i32(i),\n values[i]\n ], TypeRef.None)\n );\n }\n // -> tempThis\n stmts.push(\n module.local_get(tempThis.index, arrayTypeRef)\n );\n if (length) this.compileFunction(indexedSet);\n this.currentType = arrayType;\n return module.flatten(stmts, arrayTypeRef);\n }\n\n private compileObjectLiteral(expression: ObjectLiteralExpression, contextualType: Type): ExpressionRef {\n let module = this.module;\n\n // Check that contextual type is a class (TODO: hidden class for interfaces?)\n let classReference = contextualType.getClass();\n if (!classReference) {\n this.error(\n DiagnosticCode.Type_0_is_not_assignable_to_type_1,\n expression.range, \"\", contextualType.toString()\n );\n return module.unreachable();\n }\n let classType = classReference.type;\n this.currentType = classType.nonNullableType;\n if (classReference.kind == ElementKind.Interface) {\n this.error(\n DiagnosticCode.Not_implemented_0,\n expression.range, \"Interface hidden classes\"\n );\n return module.unreachable();\n }\n if (classReference.is(CommonFlags.Abstract)) {\n this.error(\n DiagnosticCode.Cannot_create_an_instance_of_an_abstract_class,\n expression.range\n );\n return module.unreachable();\n }\n\n // Check that the class is compatible with object literals\n let ctorPrototype = classReference.prototype.constructorPrototype;\n if (ctorPrototype) {\n this.errorRelated(\n DiagnosticCode.Class_0_cannot_declare_a_constructor_when_instantiated_from_an_object_literal,\n expression.range, ctorPrototype.identifierNode.range, classType.toString()\n );\n return module.unreachable();\n }\n\n let isManaged = classType.isManaged;\n if (!isManaged) {\n this.checkUnsafe(expression, findDecorator(DecoratorKind.Unmanaged, classReference.decoratorNodes));\n }\n\n // check and compile field values\n let names = expression.names;\n let numNames = names.length;\n let values = expression.values;\n let members = classReference.members;\n let hasErrors = false;\n let exprs = new Array();\n let flow = this.currentFlow;\n let tempLocal = flow.getTempLocal(classType);\n let classTypeRef = classType.toRef();\n assert(numNames == values.length);\n\n // Assume all class fields will be omitted, and add them to our omitted list\n let omittedFields = new Set();\n if (members) {\n for (let _keys = Map_keys(members), i = 0, k = _keys.length; i < k; ++i) {\n let memberKey = _keys[i];\n let member = assert(members.get(memberKey));\n if (member && member.kind == ElementKind.PropertyPrototype) {\n // only interested in fields (resolved during class finalization)\n let property = (member).instance;\n if (property && property.isField) {\n omittedFields.add(property); // incl. private/protected\n }\n }\n }\n }\n\n // Iterate through the members defined in our expression\n let deferredProperties = new Array();\n for (let i = 0; i < numNames; ++i) {\n let memberName = names[i].text;\n let member = classReference.getMember(memberName);\n if (!member || member.kind != ElementKind.PropertyPrototype) {\n this.error(\n DiagnosticCode.Property_0_does_not_exist_on_type_1,\n names[i].range, memberName, classType.toString()\n );\n hasErrors = true;\n continue;\n }\n if (member.is(CommonFlags.Private)) {\n this.error(\n DiagnosticCode.Property_0_is_private_and_only_accessible_within_class_1,\n names[i].range, memberName, classType.toString()\n );\n hasErrors = true;\n continue;\n }\n if (member.is(CommonFlags.Protected)) {\n this.error(\n DiagnosticCode.Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses,\n names[i].range, memberName, classType.toString()\n );\n hasErrors = true;\n continue;\n }\n let propertyInstance = this.resolver.resolveProperty(member);\n if (!propertyInstance) continue;\n let setterInstance = propertyInstance.setterInstance;\n if (!setterInstance) {\n this.error(\n DiagnosticCode.Cannot_assign_to_0_because_it_is_a_constant_or_a_read_only_property,\n names[i].range, memberName, classType.toString()\n );\n hasErrors = true;\n continue;\n }\n\n // This member is no longer omitted, so delete from our omitted fields\n omittedFields.delete(propertyInstance);\n\n // Defer real properties to be set after fields are initialized\n if (!propertyInstance.isField) {\n deferredProperties.push(propertyInstance);\n continue;\n }\n\n let propertyType = propertyInstance.type;\n let expr = this.makeCallDirect(setterInstance, [\n module.local_get(tempLocal.index, classTypeRef),\n this.compileExpression(values[i], propertyType, Constraints.ConvImplicit),\n ], setterInstance.identifierNode, true);\n if (this.currentType != Type.void) { // in case\n expr = module.drop(expr);\n }\n exprs.push(expr);\n }\n\n // Call deferred real property setters after\n for (let i = 0, k = deferredProperties.length; i < k; ++i) {\n let propertyInstance = deferredProperties[i];\n let setterInstance = assert(propertyInstance.setterInstance);\n exprs.push(\n this.makeCallDirect(setterInstance, [\n module.local_get(tempLocal.index, classTypeRef),\n this.compileExpression(values[i], propertyInstance.type, Constraints.ConvImplicit)\n ], setterInstance.identifierNode)\n );\n }\n\n this.currentType = classType.nonNullableType;\n if (hasErrors) return module.unreachable();\n\n // Check remaining omitted fields\n for (let _values = Set_values(omittedFields), j = 0, l = _values.length; j < l; ++j) {\n let propertyInstance = _values[j];\n assert(propertyInstance.isField);\n let propertyType = propertyInstance.type;\n\n if (propertyInstance.initializerNode) {\n continue; // set by generated ctor\n }\n\n if (propertyType.isReference) {\n if (!propertyType.isNullableReference) {\n this.error(\n DiagnosticCode.Property_0_is_missing_in_type_1_but_required_in_type_2,\n expression.range, propertyInstance.name, \"\", classType.toString()\n );\n hasErrors = true;\n continue;\n }\n }\n\n switch (propertyType.kind) {\n // Number Types (and Number alias types)\n case TypeKind.Bool:\n case TypeKind.I8:\n case TypeKind.I16:\n case TypeKind.I32:\n case TypeKind.I64:\n case TypeKind.Isize:\n case TypeKind.U8:\n case TypeKind.U16:\n case TypeKind.U32:\n case TypeKind.U64:\n case TypeKind.Usize:\n case TypeKind.F32:\n case TypeKind.F64: {\n // Can store zeroes directly (no need to __link)\n exprs.push(\n module.store(\n propertyType.byteSize,\n module.local_get(tempLocal.index, classTypeRef),\n this.makeZero(propertyType),\n propertyType.toRef(),\n propertyInstance.memoryOffset\n )\n );\n continue;\n }\n }\n\n // Otherwise error\n this.error(\n DiagnosticCode.Property_0_is_missing_in_type_1_but_required_in_type_2,\n expression.range, propertyInstance.name, \"\", classType.toString()\n );\n hasErrors = true;\n }\n if (hasErrors) return module.unreachable();\n\n // generate the default constructor\n let ctor = this.ensureConstructor(classReference, expression);\n // note that this is not checking field initialization within the ctor, but\n // instead checks conditions above with provided fields taken into account.\n\n // allocate a new instance first and assign 'this' to the temp. local\n exprs.unshift(\n module.local_set(tempLocal.index,\n this.compileInstantiate(ctor, [], Constraints.None, expression),\n classType.isManaged\n )\n );\n\n // once all field values have been set, return 'this'\n exprs.push(\n module.local_get(tempLocal.index, classTypeRef)\n );\n\n this.currentType = classType.nonNullableType;\n return module.flatten(exprs, classTypeRef);\n }\n\n private compileNewExpression(\n expression: NewExpression,\n contextualType: Type,\n constraints: Constraints\n ): ExpressionRef {\n let module = this.module;\n let flow = this.currentFlow;\n\n // obtain the class being instantiated\n let target = this.resolver.resolveTypeName(expression.typeName, flow, flow.sourceFunction);\n if (!target) return module.unreachable();\n if (target.kind != ElementKind.ClassPrototype) {\n this.error(\n DiagnosticCode.This_expression_is_not_constructable,\n expression.typeName.range\n );\n return this.module.unreachable();\n }\n if (target.is(CommonFlags.Abstract)) {\n this.error(\n DiagnosticCode.Cannot_create_an_instance_of_an_abstract_class,\n expression.typeName.range\n );\n return this.module.unreachable();\n }\n let classPrototype = target;\n let classInstance: Class | null = null;\n let typeArguments = expression.typeArguments;\n let classReference: Class | null;\n if (\n !typeArguments &&\n (classReference = contextualType.classReference) &&\n classReference.prototype == classPrototype &&\n classReference.is(CommonFlags.Generic)\n ) {\n // e.g. `arr: Array = new Array()`\n classInstance = this.resolver.resolveClass(\n classPrototype,\n classReference.typeArguments,\n cloneMap(flow.contextualTypeArguments)\n );\n } else {\n classInstance = this.resolver.resolveClassInclTypeArguments(\n classPrototype,\n typeArguments,\n flow,\n flow.sourceFunction.parent, // relative to caller\n cloneMap(flow.contextualTypeArguments),\n expression\n );\n }\n if (!classInstance) return module.unreachable();\n if (contextualType == Type.void) constraints |= Constraints.WillDrop;\n let ctor = this.ensureConstructor(classInstance, expression);\n if (!ctor.hasDecorator(DecoratorFlags.Inline)) {\n // Inlined ctors haven't been compiled yet and are checked upon inline\n // compilation of their body instead.\n this.checkFieldInitialization(classInstance, expression);\n }\n return this.compileInstantiate(ctor, expression.args, constraints, expression);\n }\n\n /** Gets the compiled constructor of the specified class or generates one if none is present. */\n ensureConstructor(\n /** Class wanting a constructor. */\n classInstance: Class,\n /** Report node. */\n reportNode: Node\n ): Function {\n let instance = classInstance.constructorInstance;\n if (instance) {\n // shortcut if already compiled\n if (instance.is(CommonFlags.Compiled)) return instance;\n // do not attempt to compile if inlined anyway\n if (!instance.hasDecorator(DecoratorFlags.Inline)) this.compileFunction(instance);\n } else {\n // clone base constructor if a derived class. note that we cannot just\n // call the base ctor since the derived class may have additional fields.\n let baseClass = classInstance.base;\n let contextualTypeArguments = cloneMap(classInstance.contextualTypeArguments);\n if (baseClass) {\n let baseCtor = this.ensureConstructor(baseClass, reportNode);\n this.checkFieldInitialization(baseClass, reportNode);\n instance = new Function(\n CommonNames.constructor,\n new FunctionPrototype(\n CommonNames.constructor,\n classInstance,\n // declaration is important, i.e. to access optional parameter initializers\n (baseCtor.declaration).clone()\n ),\n null,\n Signature.create(\n this.program,\n baseCtor.signature.parameterTypes,\n classInstance.type,\n classInstance.type,\n baseCtor.signature.requiredParameters,\n baseCtor.signature.hasRest\n ),\n contextualTypeArguments\n );\n\n // otherwise make a default constructor\n } else {\n instance = new Function(\n CommonNames.constructor,\n new FunctionPrototype(\n CommonNames.constructor,\n classInstance, // bound\n this.program.makeNativeFunctionDeclaration(CommonNames.constructor,\n CommonFlags.Instance | CommonFlags.Constructor\n )\n ),\n null,\n Signature.create(this.program, [], classInstance.type, classInstance.type),\n contextualTypeArguments\n );\n }\n\n instance.set(CommonFlags.Compiled);\n instance.prototype.setResolvedInstance(\"\", instance);\n if (classInstance.is(CommonFlags.ModuleExport)) {\n instance.set(CommonFlags.ModuleExport);\n }\n classInstance.constructorInstance = instance;\n let members = classInstance.members;\n if (!members) classInstance.members = members = new Map();\n members.set(\"constructor\", instance.prototype);\n\n let previousFlow = this.currentFlow;\n let flow = instance.flow;\n this.currentFlow = flow;\n\n // generate body\n let signature = instance.signature;\n let module = this.module;\n let sizeTypeRef = this.options.sizeTypeRef;\n let stmts = new Array();\n\n // {\n // this = \n // IF_DERIVED: this = super(this, ...args)\n // this.a = X\n // this.b = Y\n // return this\n // }\n stmts.push(\n this.makeConditionalAllocation(classInstance, 0)\n );\n if (baseClass) {\n let parameterTypes = signature.parameterTypes;\n let numParameters = parameterTypes.length;\n let operands = new Array(1 + numParameters);\n operands[0] = module.local_get(0, sizeTypeRef);\n for (let i = 1; i <= numParameters; ++i) {\n operands[i] = module.local_get(i, parameterTypes[i - 1].toRef());\n }\n stmts.push(\n module.local_set(0,\n this.makeCallDirect(assert(baseClass.constructorInstance), operands, reportNode, false),\n baseClass.type.isManaged\n )\n );\n }\n this.makeFieldInitializationInConstructor(classInstance, stmts);\n stmts.push(\n module.local_get(0, sizeTypeRef)\n );\n this.currentFlow = previousFlow;\n\n // make the function\n let locals = instance.localsByIndex;\n let varTypes = new Array(); // of temp. vars added while compiling initializers\n let numOperands = 1 + signature.parameterTypes.length;\n let numLocals = locals.length;\n if (numLocals > numOperands) {\n for (let i = numOperands; i < numLocals; ++i) varTypes.push(locals[i].type.toRef());\n }\n let funcRef = module.addFunction(\n instance.internalName,\n signature.paramRefs,\n signature.resultRefs,\n varTypes,\n module.flatten(stmts, sizeTypeRef)\n );\n instance.finalize(module, funcRef);\n }\n\n return instance;\n }\n\n /** Checks that all class fields have been initialized. */\n checkFieldInitialization(classInstance: Class, relatedNode: Node | null = null): void {\n if (classInstance.didCheckFieldInitialization) return;\n classInstance.didCheckFieldInitialization = true;\n let ctor = assert(classInstance.constructorInstance);\n this.checkFieldInitializationInFlow(classInstance, ctor.flow, relatedNode);\n }\n\n /** Checks that all class fields have been initialized in the specified flow. */\n checkFieldInitializationInFlow(classInstance: Class, flow: Flow, relatedNode: Node | null = null): void {\n let members = classInstance.members;\n if (members) {\n for (let _values = Map_values(members), i = 0, k = _values.length; i < k; ++i) {\n let element = _values[i];\n if (element.kind != ElementKind.PropertyPrototype || element.parent != classInstance) continue;\n // only interested in fields (resolved during class finalization)\n let property = (element).instance;\n if (!property || !property.isField) continue;\n if (!property.initializerNode && !flow.isThisFieldFlag(property, FieldFlags.Initialized)) {\n if (!property.is(CommonFlags.DefinitelyAssigned)) {\n if (relatedNode) {\n this.errorRelated(\n DiagnosticCode.Property_0_has_no_initializer_and_is_not_assigned_in_the_constructor_before_this_is_used_or_returned,\n property.declaration.name.range,\n relatedNode.range,\n property.internalName\n );\n } else {\n this.error(\n DiagnosticCode.Property_0_has_no_initializer_and_is_not_assigned_in_the_constructor_before_this_is_used_or_returned,\n property.declaration.name.range,\n property.internalName\n );\n }\n }\n } else if (property.is(CommonFlags.DefinitelyAssigned)) {\n if (property.type.isReference) {\n this.warning( // involves a runtime check\n DiagnosticCode.Property_0_is_always_assigned_before_being_used,\n property.identifierNode.range,\n property.internalName\n );\n } else {\n this.pedantic( // is a nop anyway\n DiagnosticCode.Unnecessary_definite_assignment,\n property.identifierNode.range\n );\n }\n }\n }\n }\n }\n\n compileInstantiate(\n /** Constructor to call. */\n ctorInstance: Function,\n /** Constructor arguments. */\n argumentExpressions: Expression[],\n /** Contextual flags. */\n constraints: Constraints,\n /** Node to report on. */\n reportNode: Node\n ): ExpressionRef {\n assert(ctorInstance.is(CommonFlags.Constructor));\n let parent = ctorInstance.parent;\n assert(parent.kind == ElementKind.Class);\n let classInstance = parent;\n if (classInstance.type.isUnmanaged || ctorInstance.hasDecorator(DecoratorFlags.Unsafe)) this.checkUnsafe(reportNode);\n let expr = this.compileCallDirect(\n ctorInstance,\n argumentExpressions,\n reportNode,\n this.makeZero(this.options.usizeType),\n constraints\n );\n if (getExpressionType(expr) != TypeRef.None) { // possibly WILL_DROP\n this.currentType = classInstance.type; // important because a super ctor could be called\n }\n return expr;\n }\n\n private compilePropertyAccessExpression(\n expression: PropertyAccessExpression,\n ctxType: Type,\n constraints: Constraints\n ): ExpressionRef {\n let module = this.module;\n let flow = this.currentFlow;\n\n this.maybeCompileEnclosingSource(expression);\n\n let resolver = this.resolver;\n let target = resolver.lookupExpression(expression, flow, ctxType); // reports\n if (!target) return module.unreachable();\n let thisExpression = resolver.currentThisExpression;\n if (target.hasDecorator(DecoratorFlags.Unsafe)) this.checkUnsafe(expression);\n\n switch (target.kind) {\n case ElementKind.Global: { // static field\n let global = target;\n if (!this.compileGlobalLazy(global, expression)) {\n return module.unreachable();\n }\n let globalType = global.type;\n assert(globalType != Type.void);\n if (this.pendingElements.has(global)) {\n this.error(\n DiagnosticCode.Variable_0_used_before_its_declaration,\n expression.range,\n global.internalName\n );\n this.currentType = globalType;\n return module.unreachable();\n }\n if (global.is(CommonFlags.Inlined)) {\n return this.compileInlineConstant(global, ctxType, constraints);\n }\n let expr = module.global_get(global.internalName, globalType.toRef());\n if (global.is(CommonFlags.DefinitelyAssigned) && globalType.isReference && !globalType.isNullableReference) {\n expr = this.makeRuntimeNonNullCheck(expr, globalType, expression);\n }\n this.currentType = globalType;\n return expr;\n }\n case ElementKind.EnumValue: { // enum value\n let enumValue = target;\n let parent = assert(enumValue.parent);\n assert(parent.kind == ElementKind.Enum);\n let parentEnum = parent;\n if (!this.compileEnum(parentEnum)) {\n this.currentType = Type.i32;\n return this.module.unreachable();\n }\n this.currentType = Type.i32;\n if (enumValue.is(CommonFlags.Inlined)) {\n assert(enumValue.constantValueKind == ConstantValueKind.Integer);\n return this.compileInlineConstant(enumValue, ctxType, constraints);\n }\n assert(enumValue.type == Type.i32);\n return module.global_get(enumValue.internalName, TypeRef.I32);\n }\n case ElementKind.PropertyPrototype: {\n let propertyPrototype = target;\n let propertyInstance = this.resolver.resolveProperty(propertyPrototype);\n if (!propertyInstance) return module.unreachable();\n target = propertyInstance;\n // fall-through\n }\n case ElementKind.Property: {\n let propertyInstance = target;\n if (propertyInstance.isField) {\n if (\n flow.sourceFunction.is(CommonFlags.Constructor) &&\n assert(thisExpression).kind == NodeKind.This &&\n !flow.isThisFieldFlag(propertyInstance, FieldFlags.Initialized) &&\n !propertyInstance.is(CommonFlags.DefinitelyAssigned)\n ) {\n this.errorRelated(\n DiagnosticCode.Property_0_is_used_before_being_assigned,\n expression.range,\n propertyInstance.identifierNode.range,\n propertyInstance.internalName\n );\n }\n }\n let getterInstance = propertyInstance.getterInstance;\n if (!getterInstance) return module.unreachable(); // failed earlier\n let thisArg: ExpressionRef = 0;\n if (getterInstance.is(CommonFlags.Instance)) {\n thisArg = this.compileExpression(\n assert(thisExpression),\n assert(getterInstance.signature.thisType),\n Constraints.ConvImplicit | Constraints.IsThis\n );\n }\n return this.compileCallDirect(getterInstance, [], expression, thisArg);\n }\n case ElementKind.FunctionPrototype: {\n let functionPrototype = target;\n let typeParameterNodes = functionPrototype.typeParameterNodes;\n\n if (typeParameterNodes && typeParameterNodes.length != 0) {\n this.error(\n DiagnosticCode.Type_argument_expected,\n expression.range\n );\n break; // also diagnose 'not a value at runtime'\n }\n\n let functionInstance = this.resolver.resolveFunction(functionPrototype, null);\n if (!functionInstance) return module.unreachable();\n if (!this.compileFunction(functionInstance)) return module.unreachable();\n this.currentType = functionInstance.type;\n\n if (functionInstance.hasDecorator(DecoratorFlags.Builtin)) {\n this.error(\n DiagnosticCode.Not_implemented_0,\n expression.range, \"First-class built-ins\"\n );\n return module.unreachable();\n }\n\n let offset = this.ensureRuntimeFunction(functionInstance);\n return this.options.isWasm64\n ? module.i64(i64_low(offset), i64_high(offset))\n : module.i32(i64_low(offset));\n }\n }\n this.error(\n DiagnosticCode.Expression_does_not_compile_to_a_value_at_runtime,\n expression.range\n );\n return this.module.unreachable();\n }\n\n private compileTernaryExpression(\n expression: TernaryExpression,\n contextualType: Type,\n constraints: Constraints\n ): ExpressionRef {\n let module = this.module;\n let ifThen = expression.ifThen;\n let ifElse = expression.ifElse;\n\n let condExpr = this.compileExpression(expression.condition, Type.bool);\n let condExprTrueish = this.makeIsTrueish(condExpr, this.currentType, expression.condition);\n // Try to eliminate unnecesssary branches if the condition is constant\n // FIXME: skips common denominator, inconsistently picking branch type\n let condKind = this.evaluateCondition(condExprTrueish);\n if (condKind == ConditionKind.True) {\n return module.maybeDropCondition(condExprTrueish, this.compileExpression(ifThen, contextualType));\n }\n if (condKind == ConditionKind.False) {\n return module.maybeDropCondition(condExprTrueish, this.compileExpression(ifElse, contextualType));\n }\n\n let outerFlow = this.currentFlow;\n let ifThenFlow = outerFlow.forkThen(condExpr);\n this.currentFlow = ifThenFlow;\n let ifThenExpr = this.compileExpression(ifThen, contextualType);\n let ifThenType = this.currentType;\n\n let ifElseFlow = outerFlow.forkElse(condExpr);\n this.currentFlow = ifElseFlow;\n let ifElseExpr = this.compileExpression(ifElse, contextualType == Type.auto ? ifThenType : contextualType);\n let ifElseType = this.currentType;\n\n if (contextualType == Type.void) { // values, including type mismatch, are irrelevant\n if (ifThenType != Type.void) {\n ifThenExpr = module.drop(ifThenExpr);\n ifThenType = Type.void;\n }\n if (ifElseType != Type.void) {\n ifElseExpr = module.drop(ifElseExpr);\n ifElseType = Type.void;\n }\n this.currentType = Type.void;\n } else {\n let commonType = Type.commonType(ifThenType, ifElseType, contextualType);\n if (!commonType) {\n this.error(\n DiagnosticCode.Type_0_is_not_assignable_to_type_1,\n ifElse.range, ifElseType.toString(), ifThenType.toString()\n );\n this.currentType = contextualType;\n return module.unreachable();\n }\n ifThenExpr = this.convertExpression(ifThenExpr, ifThenType, commonType, false, ifThen);\n ifThenType = commonType;\n ifElseExpr = this.convertExpression(ifElseExpr, ifElseType, commonType, false, ifElse);\n ifElseType = commonType;\n this.currentType = commonType;\n }\n\n outerFlow.inheritAlternatives(ifThenFlow, ifElseFlow);\n this.currentFlow = outerFlow;\n\n return module.if(condExprTrueish, ifThenExpr, ifElseExpr);\n }\n\n private compileUnaryPostfixExpression(\n expression: UnaryPostfixExpression,\n contextualType: Type,\n constraints: Constraints\n ): ExpressionRef {\n let module = this.module;\n let flow = this.currentFlow;\n\n // make a getter for the expression (also obtains the type)\n let getValue = this.compileExpression( // reports\n expression.operand,\n contextualType.exceptVoid,\n Constraints.None\n );\n\n // if the value isn't dropped, a temp. local is required to remember the original value,\n // except if a static overload is found, which reverses the use of a temp. (see below)\n let tempLocal: Local | null = null;\n if (contextualType != Type.void) {\n tempLocal = flow.getTempLocal(this.currentType);\n getValue = module.local_tee(\n tempLocal.index,\n getValue,\n this.currentType.isManaged\n );\n }\n\n let expr: ExpressionRef;\n\n switch (expression.operator) {\n case Token.Plus_Plus: {\n\n // check operator overload\n let classReference = this.currentType.getClassOrWrapper(this.program);\n if (classReference) {\n let overload = classReference.lookupOverload(OperatorKind.PostfixInc);\n if (overload) {\n let isInstance = overload.is(CommonFlags.Instance);\n if (tempLocal && !isInstance) { // revert: static overload simply returns\n getValue = getLocalSetValue(getValue);\n tempLocal = null;\n }\n expr = this.compileUnaryOverload(overload, expression.operand, getValue, expression);\n if (isInstance) break;\n return expr; // here\n }\n }\n if (!this.currentType.isValue) {\n this.error(\n DiagnosticCode.The_0_operator_cannot_be_applied_to_type_1,\n expression.range, \"++\", this.currentType.toString()\n );\n return module.unreachable();\n }\n\n switch (this.currentType.kind) {\n case TypeKind.Bool:\n case TypeKind.I8:\n case TypeKind.I16:\n case TypeKind.I32:\n case TypeKind.U8:\n case TypeKind.U16:\n case TypeKind.U32: {\n expr = module.binary(\n BinaryOp.AddI32,\n getValue,\n module.i32(1)\n );\n break;\n }\n case TypeKind.I64:\n case TypeKind.U64: {\n expr = module.binary(\n BinaryOp.AddI64,\n getValue,\n module.i64(1)\n );\n break;\n }\n case TypeKind.Isize:\n case TypeKind.Usize: {\n expr = module.binary(\n BinaryOp.AddSize,\n getValue,\n this.makeOne(this.currentType)\n );\n break;\n }\n case TypeKind.F32: {\n expr = module.binary(\n BinaryOp.AddF32,\n getValue,\n module.f32(1)\n );\n break;\n }\n case TypeKind.F64: {\n expr = module.binary(\n BinaryOp.AddF64,\n getValue,\n module.f64(1)\n );\n break;\n }\n default: {\n this.error(\n DiagnosticCode.The_0_operator_cannot_be_applied_to_type_1,\n expression.range, \"++\", this.currentType.toString()\n );\n return module.unreachable();\n }\n }\n break;\n }\n case Token.Minus_Minus: {\n\n // check operator overload\n let classReference = this.currentType.getClassOrWrapper(this.program);\n if (classReference) {\n let overload = classReference.lookupOverload(OperatorKind.PostfixDec);\n if (overload) {\n let isInstance = overload.is(CommonFlags.Instance);\n if (tempLocal && !isInstance) { // revert: static overload simply returns\n getValue = getLocalSetValue(getValue);\n tempLocal = null;\n }\n expr = this.compileUnaryOverload(overload, expression.operand, getValue, expression);\n if (overload.is(CommonFlags.Instance)) break;\n return expr; // here\n }\n }\n if (!this.currentType.isValue) {\n this.error(\n DiagnosticCode.The_0_operator_cannot_be_applied_to_type_1,\n expression.range, \"--\", this.currentType.toString()\n );\n return module.unreachable();\n }\n\n switch (this.currentType.kind) {\n case TypeKind.Bool:\n case TypeKind.I8:\n case TypeKind.I16:\n case TypeKind.I32:\n case TypeKind.U8:\n case TypeKind.U16:\n case TypeKind.U32: {\n expr = module.binary(\n BinaryOp.SubI32,\n getValue,\n module.i32(1)\n );\n break;\n }\n case TypeKind.I64:\n case TypeKind.U64: {\n expr = module.binary(\n BinaryOp.SubI64,\n getValue,\n module.i64(1)\n );\n break;\n }\n case TypeKind.Isize:\n case TypeKind.Usize: {\n expr = module.binary(\n BinaryOp.SubSize,\n getValue,\n this.makeOne(this.currentType)\n );\n break;\n }\n case TypeKind.F32: {\n expr = module.binary(\n BinaryOp.SubF32,\n getValue,\n module.f32(1)\n );\n break;\n }\n case TypeKind.F64: {\n expr = module.binary(\n BinaryOp.SubF64,\n getValue,\n module.f64(1)\n );\n break;\n }\n default: {\n this.error(\n DiagnosticCode.The_0_operator_cannot_be_applied_to_type_1,\n expression.range, \"--\", this.currentType.toString()\n );\n return module.unreachable();\n }\n }\n break;\n }\n default: {\n assert(false);\n return module.unreachable();\n }\n }\n\n let resolver = this.resolver;\n let target = resolver.lookupExpression(expression.operand, flow); // reports\n if (!target) {\n return module.unreachable();\n }\n\n // simplify if dropped anyway\n if (!tempLocal) {\n return this.makeAssignment(\n target,\n expr,\n this.currentType,\n expression.operand,\n resolver.currentThisExpression,\n resolver.currentElementExpression,\n false\n );\n }\n\n // otherwise use the temp. local for the intermediate value (always possibly overflows)\n let setValue = this.makeAssignment(\n target,\n expr, // includes a tee of getValue to tempLocal\n this.currentType,\n expression.operand,\n resolver.currentThisExpression,\n resolver.currentElementExpression,\n false\n );\n\n this.currentType = tempLocal.type;\n let typeRef = tempLocal.type.toRef();\n\n return module.block(null, [\n setValue,\n module.local_get(tempLocal.index, typeRef)\n ], typeRef); // result of 'x++' / 'x--' might overflow\n }\n\n private compileUnaryPrefixExpression(\n expression: UnaryPrefixExpression,\n contextualType: Type,\n constraints: Constraints\n ): ExpressionRef {\n let module = this.module;\n let compound = false;\n let expr: ExpressionRef;\n\n switch (expression.operator) {\n case Token.Plus: {\n expr = this.compileExpression(\n expression.operand,\n contextualType.exceptVoid,\n Constraints.None\n );\n\n // check operator overload\n let classReference = this.currentType.getClassOrWrapper(this.program);\n if (classReference) {\n let overload = classReference.lookupOverload(OperatorKind.Plus);\n if (overload) return this.compileUnaryOverload(overload, expression.operand, expr, expression);\n }\n if (!this.currentType.isValue) {\n this.error(\n DiagnosticCode.The_0_operator_cannot_be_applied_to_type_1,\n expression.range, \"+\", this.currentType.toString()\n );\n return module.unreachable();\n }\n\n // nop\n break;\n }\n case Token.Minus: {\n let operand = expression.operand;\n if (operand.isNumericLiteral) {\n // implicitly negate integer and float literals. also enables proper checking of literal ranges.\n expr = this.compileLiteralExpression(operand, contextualType, Constraints.None, true);\n // compileExpression normally does this:\n if (this.options.sourceMap) this.addDebugLocation(expr, expression.range);\n break;\n }\n\n expr = this.compileExpression(\n expression.operand,\n contextualType.exceptVoid,\n Constraints.None\n );\n\n // check operator overload\n let classReference = this.currentType.getClassOrWrapper(this.program);\n if (classReference) {\n let overload = classReference.lookupOverload(OperatorKind.Minus);\n if (overload) return this.compileUnaryOverload(overload, expression.operand, expr, expression);\n }\n if (!this.currentType.isValue) {\n this.error(\n DiagnosticCode.The_0_operator_cannot_be_applied_to_type_1,\n expression.range, \"-\", this.currentType.toString()\n );\n return module.unreachable();\n }\n\n switch (this.currentType.kind) {\n case TypeKind.Bool:\n case TypeKind.I8:\n case TypeKind.I16:\n case TypeKind.I32:\n case TypeKind.U8:\n case TypeKind.U16:\n case TypeKind.U32: {\n expr = module.binary(BinaryOp.SubI32, module.i32(0), expr);\n break;\n }\n case TypeKind.I64:\n case TypeKind.U64: {\n expr = module.binary(BinaryOp.SubI64, module.i64(0), expr);\n break;\n }\n case TypeKind.Isize:\n case TypeKind.Usize: {\n expr = module.binary(\n BinaryOp.SubSize,\n this.makeZero(this.currentType),\n expr\n );\n break;\n }\n case TypeKind.F32: {\n expr = module.unary(UnaryOp.NegF32, expr);\n break;\n }\n case TypeKind.F64: {\n expr = module.unary(UnaryOp.NegF64, expr);\n break;\n }\n default: {\n this.error(\n DiagnosticCode.The_0_operator_cannot_be_applied_to_type_1,\n expression.range, \"-\", this.currentType.toString()\n );\n expr = module.unreachable();\n }\n }\n break;\n }\n case Token.Plus_Plus: {\n compound = true;\n expr = this.compileExpression(\n expression.operand,\n contextualType.exceptVoid,\n Constraints.None\n );\n\n // check operator overload\n let classReference = this.currentType.getClassOrWrapper(this.program);\n if (classReference) {\n let overload = classReference.lookupOverload(OperatorKind.PrefixInc);\n if (overload) {\n expr = this.compileUnaryOverload(overload, expression.operand, expr, expression);\n if (overload.is(CommonFlags.Instance)) break; // re-assign\n return expr; // skip re-assign\n }\n }\n if (!this.currentType.isValue) {\n this.error(\n DiagnosticCode.The_0_operator_cannot_be_applied_to_type_1,\n expression.range, \"++\", this.currentType.toString()\n );\n return module.unreachable();\n }\n\n switch (this.currentType.kind) {\n case TypeKind.Bool:\n case TypeKind.I8:\n case TypeKind.I16:\n case TypeKind.I32:\n case TypeKind.U8:\n case TypeKind.U16:\n case TypeKind.U32: {\n expr = module.binary(BinaryOp.AddI32, expr, this.module.i32(1));\n break;\n }\n case TypeKind.I64:\n case TypeKind.U64: {\n expr = module.binary(BinaryOp.AddI64, expr, module.i64(1));\n break;\n }\n case TypeKind.Isize:\n case TypeKind.Usize: {\n expr = module.binary(\n BinaryOp.AddSize,\n expr,\n this.makeOne(this.currentType)\n );\n break;\n }\n case TypeKind.F32: {\n expr = module.binary(BinaryOp.AddF32, expr, module.f32(1));\n break;\n }\n case TypeKind.F64: {\n expr = module.binary(BinaryOp.AddF64, expr, module.f64(1));\n break;\n }\n default: {\n this.error(\n DiagnosticCode.The_0_operator_cannot_be_applied_to_type_1,\n expression.range, \"++\", this.currentType.toString()\n );\n expr = module.unreachable();\n }\n }\n break;\n }\n case Token.Minus_Minus: {\n compound = true;\n expr = this.compileExpression(\n expression.operand,\n contextualType.exceptVoid,\n Constraints.None\n );\n\n // check operator overload\n let classReference = this.currentType.getClassOrWrapper(this.program);\n if (classReference) {\n let overload = classReference.lookupOverload(OperatorKind.PrefixDec);\n if (overload) {\n expr = this.compileUnaryOverload(overload, expression.operand, expr, expression);\n if (overload.is(CommonFlags.Instance)) break; // re-assign\n return expr; // skip re-assign\n }\n }\n if (!this.currentType.isValue) {\n this.error(\n DiagnosticCode.The_0_operator_cannot_be_applied_to_type_1,\n expression.range, \"--\", this.currentType.toString()\n );\n return module.unreachable();\n }\n\n switch (this.currentType.kind) {\n case TypeKind.Bool:\n case TypeKind.I8:\n case TypeKind.I16:\n case TypeKind.I32:\n case TypeKind.U8:\n case TypeKind.U16:\n case TypeKind.U32: {\n expr = module.binary(BinaryOp.SubI32, expr, module.i32(1));\n break;\n }\n case TypeKind.I64:\n case TypeKind.U64: {\n expr = module.binary(BinaryOp.SubI64, expr, module.i64(1));\n break;\n }\n case TypeKind.Isize:\n case TypeKind.Usize: {\n expr = module.binary(\n BinaryOp.SubSize,\n expr,\n this.makeOne(this.currentType)\n );\n break;\n }\n case TypeKind.F32: {\n expr = module.binary(BinaryOp.SubF32, expr, module.f32(1));\n break;\n }\n case TypeKind.F64: {\n expr = module.binary(BinaryOp.SubF64, expr, module.f64(1));\n break;\n }\n default: {\n this.error(\n DiagnosticCode.The_0_operator_cannot_be_applied_to_type_1,\n expression.range, \"--\", this.currentType.toString()\n );\n expr = module.unreachable();\n }\n }\n break;\n }\n case Token.Exclamation: {\n expr = this.compileExpression(\n expression.operand,\n contextualType.exceptVoid,\n Constraints.None\n );\n\n // check operator overload\n let classReference = this.currentType.getClassOrWrapper(this.program);\n if (classReference) {\n let overload = classReference.lookupOverload(OperatorKind.Not);\n if (overload) return this.compileUnaryOverload(overload, expression.operand, expr, expression);\n // fall back to compare by value\n }\n\n expr = module.unary(UnaryOp.EqzI32, this.makeIsTrueish(expr, this.currentType, expression.operand));\n this.currentType = Type.bool;\n break;\n }\n case Token.Tilde: {\n expr = this.compileExpression(\n expression.operand,\n contextualType == Type.void\n ? Type.i32\n : contextualType.isFloatValue\n ? Type.i64\n : contextualType,\n Constraints.None\n );\n\n // check operator overload\n let classReference = this.currentType.getClassOrWrapper(this.program);\n if (classReference) {\n let overload = classReference.lookupOverload(OperatorKind.BitwiseNot);\n if (overload) return this.compileUnaryOverload(overload, expression.operand, expr, expression);\n }\n if (!this.currentType.isValue) {\n this.error(\n DiagnosticCode.The_0_operator_cannot_be_applied_to_type_1,\n expression.range, \"~\", this.currentType.toString()\n );\n return module.unreachable();\n }\n\n expr = this.convertExpression(expr, this.currentType, this.currentType.intType, false, expression.operand);\n\n switch (this.currentType.kind) {\n case TypeKind.Bool:\n case TypeKind.I8:\n case TypeKind.I16:\n case TypeKind.I32:\n case TypeKind.U8:\n case TypeKind.U16:\n case TypeKind.U32: {\n expr = module.binary(BinaryOp.XorI32, expr, module.i32(-1));\n break;\n }\n case TypeKind.I64:\n case TypeKind.U64: {\n expr = module.binary(BinaryOp.XorI64, expr, module.i64(-1, -1));\n break;\n }\n case TypeKind.Isize:\n case TypeKind.Usize: {\n expr = module.binary(\n BinaryOp.XorSize,\n expr,\n this.makeNegOne(this.currentType)\n );\n break;\n }\n default: {\n this.error(\n DiagnosticCode.The_0_operator_cannot_be_applied_to_type_1,\n expression.range, \"~\", this.currentType.toString()\n );\n expr = module.unreachable();\n }\n }\n break;\n }\n case Token.TypeOf: {\n return this.compileTypeof(expression, contextualType, constraints);\n }\n case Token.Dot_Dot_Dot: {\n this.error(\n DiagnosticCode.Not_implemented_0,\n expression.range, \"Spread operator\"\n );\n return module.unreachable();\n }\n default: {\n assert(false);\n return module.unreachable();\n }\n }\n if (!compound) return expr;\n let resolver = this.resolver;\n let target = resolver.lookupExpression(expression.operand, this.currentFlow);\n if (!target) return module.unreachable();\n return this.makeAssignment(\n target,\n expr,\n this.currentType,\n expression.operand,\n resolver.currentThisExpression,\n resolver.currentElementExpression,\n contextualType != Type.void\n );\n }\n\n private compileTypeof(\n expression: UnaryPrefixExpression,\n contextualType: Type,\n constraints: Constraints\n ): ExpressionRef {\n let operand = expression.operand;\n let expr: ExpressionRef = 0;\n let stringInstance = this.program.stringInstance;\n let typeString: string;\n if (operand.kind == NodeKind.Null) {\n typeString = \"object\"; // special since `null` without type context is usize\n } else {\n let element = this.resolver.lookupExpression(operand, this.currentFlow, Type.auto, ReportMode.Swallow);\n if (!element) {\n switch (operand.kind) {\n case NodeKind.Identifier: break; // ignore error: typeof doesntExist -> undefined\n case NodeKind.PropertyAccess:\n case NodeKind.ElementAccess: {\n operand = operand.kind == NodeKind.PropertyAccess\n ? (operand).expression\n : (operand).expression;\n let targetType = this.resolver.resolveExpression(operand, this.currentFlow, Type.auto, ReportMode.Report);\n if (!targetType) { // access on non-object\n this.currentType = stringInstance.type;\n return this.module.unreachable();\n }\n // fall-through\n }\n default: {\n expr = this.compileExpression(operand, Type.auto); // may trigger an error\n expr = this.convertExpression(expr, this.currentType, Type.void, true, operand);\n }\n }\n typeString = \"undefined\";\n } else {\n switch (element.kind) {\n case ElementKind.ClassPrototype:\n case ElementKind.Namespace:\n case ElementKind.Enum: {\n typeString = \"object\";\n break;\n }\n case ElementKind.FunctionPrototype: {\n typeString = \"function\";\n break;\n }\n default: {\n expr = this.compileExpression(operand, Type.auto);\n let type = this.currentType;\n expr = this.convertExpression(expr, type, Type.void, true, operand);\n if (type.isReference) {\n let signatureReference = type.getSignature();\n if (signatureReference) {\n typeString = \"function\";\n } else {\n let classReference = type.getClass();\n if (classReference) {\n if (classReference.prototype == stringInstance.prototype) {\n typeString = \"string\";\n } else {\n typeString = \"object\";\n }\n } else {\n typeString = \"externref\"; // TODO?\n }\n }\n } else if (type == Type.bool) {\n typeString = \"boolean\";\n } else if (type.isNumericValue) {\n typeString = \"number\";\n } else {\n typeString = \"undefined\"; // failed to compile?\n }\n break;\n }\n }\n }\n }\n this.currentType = stringInstance.type;\n return expr\n ? this.module.block(null, [ expr, this.ensureStaticString(typeString) ], this.options.sizeTypeRef)\n : this.ensureStaticString(typeString);\n }\n\n /** Makes sure that a 32-bit integer value is wrapped to a valid value of the specified type. */\n ensureSmallIntegerWrap(expr: ExpressionRef, type: Type): ExpressionRef {\n let module = this.module;\n let flow = this.currentFlow;\n switch (type.kind) {\n case TypeKind.Bool: {\n if (flow.canOverflow(expr, type)) {\n // bool is special in that it compares to 0 instead of masking with 0x1\n expr = module.binary(BinaryOp.NeI32,\n expr,\n module.i32(0)\n );\n }\n break;\n }\n case TypeKind.I8: {\n if (flow.canOverflow(expr, type)) {\n expr = this.options.hasFeature(Feature.SignExtension)\n ? module.unary(UnaryOp.Extend8I32, expr)\n : module.binary(BinaryOp.ShrI32,\n module.binary(BinaryOp.ShlI32,\n expr,\n module.i32(24)\n ),\n module.i32(24)\n );\n }\n break;\n }\n case TypeKind.I16: {\n if (flow.canOverflow(expr, type)) {\n expr = this.options.hasFeature(Feature.SignExtension)\n ? module.unary(UnaryOp.Extend16I32, expr)\n : module.binary(BinaryOp.ShrI32,\n module.binary(BinaryOp.ShlI32,\n expr,\n module.i32(16)\n ),\n module.i32(16)\n );\n }\n break;\n }\n case TypeKind.U8: {\n if (flow.canOverflow(expr, type)) {\n expr = module.binary(BinaryOp.AndI32,\n expr,\n module.i32(0xff)\n );\n }\n break;\n }\n case TypeKind.U16: {\n if (flow.canOverflow(expr, type)) {\n expr = module.binary(BinaryOp.AndI32,\n expr,\n module.i32(0xffff)\n );\n }\n break;\n }\n }\n return expr;\n }\n\n /** Adds the debug location of the specified expression at the specified range to the source map. */\n addDebugLocation(expr: ExpressionRef, range: Range): void {\n let targetFunction = this.currentFlow.targetFunction;\n let source = range.source;\n if (source.debugInfoIndex < 0) source.debugInfoIndex = this.module.addDebugInfoFile(source.normalizedPath);\n // It's possible that an `expr` is seen multiple times, for example when\n // first adding debug information for an inner expression and later on for\n // an expression supposedly wrapping it, where the wrapping became a noop.\n targetFunction.debugLocations.set(expr, range);\n }\n\n /** Checks whether a particular function signature is supported. */\n checkSignatureSupported(signature: Signature, reportNode: FunctionTypeNode): bool {\n let supported = true;\n let explicitThisType = reportNode.explicitThisType;\n if (explicitThisType) {\n if (!this.program.checkTypeSupported(assert(signature.thisType), explicitThisType)) {\n supported = false;\n }\n }\n let parameterTypes = signature.parameterTypes;\n let parameterNodes = reportNode.parameters;\n for (let i = 0, k = parameterTypes.length; i < k; ++i) {\n let parameterReportNode: Node;\n if (parameterNodes.length > i) parameterReportNode = parameterNodes[i];\n else parameterReportNode = reportNode;\n if (!this.program.checkTypeSupported(parameterTypes[i], parameterReportNode)) {\n supported = false;\n }\n }\n if (!this.program.checkTypeSupported(signature.returnType, reportNode.returnType)) {\n supported = false;\n }\n return supported;\n }\n\n /** Evaluates a boolean condition, determining whether it is TRUE, FALSE or UNKNOWN. */\n evaluateCondition(expr: ExpressionRef): ConditionKind {\n let type = getExpressionType(expr);\n if (type == TypeRef.Unreachable)\n return ConditionKind.Unknown;\n\n assert(type == TypeRef.I32);\n let module = this.module;\n let evaled = module.runExpression(expr, ExpressionRunnerFlags.Default);\n if (evaled) {\n return getConstValueI32(evaled)\n ? ConditionKind.True\n : ConditionKind.False;\n }\n return ConditionKind.Unknown;\n }\n\n // === Specialized code generation ==============================================================\n\n /** Makes a constant zero of the specified type. */\n makeZero(type: Type): ExpressionRef {\n let module = this.module;\n switch (type.kind) {\n default: assert(false);\n case TypeKind.Bool:\n case TypeKind.I8:\n case TypeKind.I16:\n case TypeKind.I32:\n case TypeKind.U8:\n case TypeKind.U16:\n case TypeKind.U32: return module.i32(0);\n case TypeKind.Isize:\n case TypeKind.Usize: if (type.size != 64) return module.i32(0);\n case TypeKind.I64:\n case TypeKind.U64: return module.i64(0);\n case TypeKind.F32: return module.f32(0);\n case TypeKind.F64: return module.f64(0);\n case TypeKind.V128: return module.v128(v128_zero);\n case TypeKind.Func:\n case TypeKind.Extern:\n case TypeKind.Any:\n case TypeKind.Eq:\n case TypeKind.Struct:\n case TypeKind.Array:\n case TypeKind.String:\n case TypeKind.StringviewWTF8:\n case TypeKind.StringviewWTF16:\n case TypeKind.StringviewIter: {\n if (type.is(TypeFlags.Nullable)) return module.ref_null(type.toRef());\n assert(false); // TODO: check that refs are nullable in callers?\n return module.unreachable();\n }\n case TypeKind.I31: {\n if (type.is(TypeFlags.Nullable)) return module.ref_null(type.toRef());\n return module.i31_new(module.i32(0));\n }\n }\n }\n\n /** Makes a constant one of the specified type. */\n makeOne(type: Type): ExpressionRef {\n let module = this.module;\n switch (type.kind) {\n default: assert(false);\n case TypeKind.Bool:\n case TypeKind.I8:\n case TypeKind.I16:\n case TypeKind.I32:\n case TypeKind.U8:\n case TypeKind.U16:\n case TypeKind.U32: return module.i32(1);\n case TypeKind.Isize:\n case TypeKind.Usize: if (type.size != 64) return module.i32(1);\n case TypeKind.I64:\n case TypeKind.U64: return module.i64(1);\n case TypeKind.F32: return module.f32(1);\n case TypeKind.F64: return module.f64(1);\n case TypeKind.I31: return module.i31_new(module.i32(1));\n }\n }\n\n /** Makes a constant negative one of the specified type. */\n makeNegOne(type: Type): ExpressionRef {\n let module = this.module;\n switch (type.kind) {\n default: assert(false);\n case TypeKind.I8:\n case TypeKind.I16:\n case TypeKind.I32:\n case TypeKind.U8:\n case TypeKind.U16:\n case TypeKind.U32: return module.i32(-1);\n case TypeKind.Isize:\n case TypeKind.Usize: if (type.size != 64) return module.i32(-1);\n case TypeKind.I64:\n case TypeKind.U64: return module.i64(-1, -1);\n case TypeKind.F32: return module.f32(-1);\n case TypeKind.F64: return module.f64(-1);\n case TypeKind.V128: return module.v128(v128_ones);\n case TypeKind.I31: return module.i31_new(module.i32(-1));\n }\n }\n\n /** Creates a comparison whether an expression is 'true' in a broader sense. */\n makeIsTrueish(expr: ExpressionRef, type: Type, reportNode: Node): ExpressionRef {\n let module = this.module;\n switch (type.kind) {\n case TypeKind.I8:\n case TypeKind.I16:\n case TypeKind.U8:\n case TypeKind.U16: {\n expr = this.ensureSmallIntegerWrap(expr, type);\n // fall-through\n }\n case TypeKind.Bool: // not a mask, just != 0\n case TypeKind.I32:\n case TypeKind.U32: return expr;\n case TypeKind.I64:\n case TypeKind.U64: return module.binary(BinaryOp.NeI64, expr, module.i64(0));\n case TypeKind.Isize:\n case TypeKind.Usize: {\n return type.size == 64\n ? module.binary(BinaryOp.NeI64, expr, module.i64(0))\n : expr;\n }\n case TypeKind.F32: {\n let options = this.options;\n if (\n options.shrinkLevelHint > 1 &&\n options.hasFeature(Feature.NontrappingF2I)\n ) {\n // Use more compact but slower 5-byte (3 bytes in best case) approach\n // !!(i32.trunc_sat_f32_u(f32.ceil(f32.abs(x))))\n return module.unary(UnaryOp.EqzI32,\n module.unary(UnaryOp.EqzI32,\n module.unary(UnaryOp.TruncSatF32ToU32,\n module.unary(UnaryOp.CeilF32,\n module.unary(UnaryOp.AbsF32, expr)\n )\n )\n )\n );\n } else {\n // 0 < abs(bitCast(x)) <= bitCast(Infinity) or\n // (reinterpret(x) & 0x7FFFFFFF) - 1 <= 0x7F800000 - 1\n //\n // and finally:\n // (reinterpret(x) << 1) - (1 << 1) <= ((0x7F800000 - 1) << 1)\n return module.binary(BinaryOp.LeU32,\n module.binary(BinaryOp.SubI32,\n module.binary(BinaryOp.ShlI32,\n module.unary(UnaryOp.ReinterpretF32ToI32, expr),\n module.i32(1)\n ),\n module.i32(2) // 1 << 1\n ),\n module.i32(0xFEFFFFFE) // (0x7F800000 - 1) << 1\n );\n }\n }\n case TypeKind.F64: {\n let options = this.options;\n if (\n options.shrinkLevelHint > 1 &&\n options.hasFeature(Feature.NontrappingF2I)\n ) {\n // Use more compact but slower 5-byte (3 bytes in best case) approach\n // !!(i32.trunc_sat_f64_u(f64.ceil(f64.abs(x))))\n return module.unary(UnaryOp.EqzI32,\n module.unary(UnaryOp.EqzI32,\n module.unary(UnaryOp.TruncSatF64ToU32,\n module.unary(UnaryOp.CeilF64,\n module.unary(UnaryOp.AbsF64, expr)\n )\n )\n )\n );\n } else {\n // 0 < abs(bitCast(x)) <= bitCast(Infinity) or\n // (reinterpret(x) & 0x7FFFFFFFFFFFFFFF) - 1 <= 0x7FF0000000000000 - 1\n //\n // and finally:\n // (reinterpret(x) << 1) - (1 << 1) <= ((0x7FF0000000000000 - 1) << 1)\n return module.binary(BinaryOp.LeU64,\n module.binary(BinaryOp.SubI64,\n module.binary(BinaryOp.ShlI64,\n module.unary(UnaryOp.ReinterpretF64ToI64, expr),\n module.i64(1)\n ),\n module.i64(2) // 1 << 1\n ),\n module.i64(0xFFFFFFFE, 0xFFDFFFFF) // (0x7FF0000000000000 - 1) << 1\n );\n }\n }\n case TypeKind.V128: {\n return module.unary(UnaryOp.AnyTrueV128, expr);\n }\n case TypeKind.Func:\n case TypeKind.Extern:\n case TypeKind.Any:\n case TypeKind.Eq:\n case TypeKind.Struct:\n case TypeKind.Array:\n case TypeKind.I31:\n case TypeKind.String:\n case TypeKind.StringviewWTF8:\n case TypeKind.StringviewWTF16:\n case TypeKind.StringviewIter: {\n // Needs to be true (i.e. not zero) when the ref is _not_ null,\n // which means `ref.is_null` returns false (i.e. zero).\n return module.unary(UnaryOp.EqzI32, module.ref_is_null(expr));\n }\n case TypeKind.Void:\n default: {\n this.error(\n DiagnosticCode.An_expression_of_type_0_cannot_be_tested_for_truthiness,\n reportNode.range, type.toString()\n );\n return module.i32(0);\n }\n }\n }\n\n /** Makes a string conversion of the given expression. */\n makeToString(expr: ExpressionRef, type: Type, reportNode: Node): ExpressionRef {\n let stringType = this.program.stringInstance.type;\n if (type == stringType) {\n return expr;\n }\n let classType = type.getClassOrWrapper(this.program);\n if (classType) {\n let toStringInstance = classType.getMethod(\"toString\");\n if (toStringInstance) {\n let toStringSignature = toStringInstance.signature;\n if (!this.checkCallSignature( // reports\n toStringSignature,\n 0,\n true,\n reportNode\n )) {\n this.currentType = stringType;\n return this.module.unreachable();\n }\n if (!type.isStrictlyAssignableTo(assert(toStringSignature.thisType))) {\n this.errorRelated(\n DiagnosticCode.The_this_types_of_each_signature_are_incompatible,\n reportNode.range, toStringInstance.identifierAndSignatureRange\n );\n this.currentType = stringType;\n return this.module.unreachable();\n }\n let toStringReturnType = toStringSignature.returnType;\n if (!toStringReturnType.isStrictlyAssignableTo(stringType)) {\n this.errorRelated(\n DiagnosticCode.Type_0_is_not_assignable_to_type_1,\n reportNode.range, toStringInstance.identifierAndSignatureRange, toStringReturnType.toString(), stringType.toString()\n );\n this.currentType = stringType;\n return this.module.unreachable();\n }\n return this.makeCallDirect(toStringInstance, [ expr ], reportNode);\n }\n }\n this.error(\n DiagnosticCode.Type_0_is_not_assignable_to_type_1,\n reportNode.range, type.toString(), stringType.toString()\n );\n this.currentType = stringType;\n return this.module.unreachable();\n }\n\n /** Makes an allocation suitable to hold the data of an instance of the given class. */\n makeAllocation(\n classInstance: Class\n ): ExpressionRef {\n let program = this.program;\n assert(classInstance.program == program);\n let module = this.module;\n let options = this.options;\n this.currentType = classInstance.type;\n if (classInstance.hasDecorator(DecoratorFlags.Unmanaged)) {\n let allocInstance = program.allocInstance;\n this.compileFunction(allocInstance);\n return module.call(allocInstance.internalName, [\n options.isWasm64\n ? module.i64(classInstance.nextMemoryOffset)\n : module.i32(classInstance.nextMemoryOffset)\n ], options.sizeTypeRef);\n } else {\n let newInstance = program.newInstance;\n this.compileFunction(newInstance);\n return module.call(newInstance.internalName, [\n options.isWasm64\n ? module.i64(classInstance.nextMemoryOffset)\n : module.i32(classInstance.nextMemoryOffset),\n module.i32(classInstance.id)\n ], options.sizeTypeRef);\n }\n }\n\n /** Makes a conditional allocation where `this` might not have been initialized yet. */\n makeConditionalAllocation(\n classInstance: Class,\n thisIndex: i32\n ): ExpressionRef {\n let module = this.module;\n let classType = classInstance.type;\n let classTypeRef = classType.toRef();\n assert(classTypeRef == this.options.sizeTypeRef);\n return module.if(\n module.unary(classTypeRef == TypeRef.I64 ? UnaryOp.EqzI64 : UnaryOp.EqzI32,\n module.local_get(thisIndex, classTypeRef)\n ),\n module.local_set(thisIndex,\n this.makeAllocation(classInstance),\n classInstance.type.isManaged\n )\n );\n }\n\n /** Makes the initializers for a class's fields within the constructor. */\n makeFieldInitializationInConstructor(\n /** Class being initialized. */\n classInstance: Class,\n /** Statements to append to also being returned. Created if omitted. */\n stmts: ExpressionRef[] = []\n ): ExpressionRef[] {\n let members = classInstance.members;\n if (!members) return stmts;\n\n let module = this.module;\n let flow = this.currentFlow;\n let isInline = flow.isInline;\n let thisLocalIndex = isInline ? flow.lookupLocal(CommonNames.this_)!.index : 0;\n let sizeTypeRef = this.options.sizeTypeRef;\n let nonParameterFields: Property[] | null = null;\n\n // TODO: for (let member of members.values()) {\n for (let _values = Map_values(members), i = 0, k = _values.length; i < k; ++i) {\n let member = unchecked(_values[i]);\n if (member.kind != ElementKind.PropertyPrototype) continue;\n // only interested in fields (resolved during class finalization)\n let property = (member).instance;\n if (!property || !property.isField || property.getBoundClassOrInterface() != classInstance) continue;\n assert(!property.isAny(CommonFlags.Const));\n let fieldPrototype = property.prototype;\n let parameterIndex = fieldPrototype.parameterIndex;\n\n // Defer non-parameter fields until parameter fields are initialized\n if (parameterIndex < 0) {\n if (!nonParameterFields) nonParameterFields = new Array();\n nonParameterFields.push(property);\n continue;\n }\n\n // Initialize constructor parameter field\n let fieldType = property.type;\n let fieldTypeRef = fieldType.toRef();\n assert(!fieldPrototype.initializerNode);\n let setterInstance = assert(property.setterInstance);\n let expr = this.makeCallDirect(setterInstance, [\n module.local_get(thisLocalIndex, sizeTypeRef),\n module.local_get(\n isInline\n ? flow.lookupLocal(property.name)!.index\n : 1 + parameterIndex, // `this` is local 0\n fieldTypeRef\n )\n ], setterInstance.identifierNode, true);\n if (this.currentType != Type.void) { // in case\n expr = module.drop(expr);\n }\n stmts.push(expr);\n }\n\n // Initialize deferred non-parameter fields\n if (nonParameterFields) {\n for (let i = 0, k = nonParameterFields.length; i < k; ++i) {\n let field = unchecked(nonParameterFields[i]);\n let fieldType = field.type;\n let fieldPrototype = field.prototype;\n let initializerNode = fieldPrototype.initializerNode;\n assert(fieldPrototype.parameterIndex < 0);\n let setterInstance = assert(field.setterInstance);\n let expr = this.makeCallDirect(setterInstance, [\n module.local_get(thisLocalIndex, sizeTypeRef),\n initializerNode // use initializer if present, otherwise initialize with zero\n ? this.compileExpression(initializerNode, fieldType, Constraints.ConvImplicit)\n : this.makeZero(fieldType)\n ], field.identifierNode, true);\n if (this.currentType != Type.void) { // in case\n expr = module.drop(expr);\n }\n stmts.push(expr);\n }\n }\n\n this.currentType = Type.void;\n return stmts;\n }\n\n /** Makes a call to `abort`, if present, otherwise creates a trap. */\n makeAbort(\n /** Message argument of type string, if any. */\n message: Expression | null,\n /** Code location to report when aborting. */\n codeLocation: Node\n ): ExpressionRef {\n let program = this.program;\n let abortInstance = program.abortInstance;\n if (!abortInstance || !this.compileFunction(abortInstance)) return this.module.unreachable();\n\n let stringInstance = program.stringInstance;\n let messageArg: ExpressionRef;\n if (message) {\n messageArg = this.compileExpression(message, stringInstance.type, Constraints.ConvImplicit);\n } else {\n messageArg = this.makeZero(stringInstance.type);\n }\n\n return this.makeStaticAbort(messageArg, codeLocation);\n }\n\n /** Makes a call to `abort`, if present, otherwise creates a trap. */\n makeStaticAbort(\n /** Message argument of type string. May be zero. */\n messageExpr: ExpressionRef,\n /** Code location to report when aborting. */\n codeLocation: Node\n ): ExpressionRef {\n let program = this.program;\n let module = this.module;\n let abortInstance = program.abortInstance;\n if (!abortInstance || !this.compileFunction(abortInstance)) return module.unreachable();\n\n let filenameExpr = this.ensureStaticString(codeLocation.range.source.normalizedPath);\n let range = codeLocation.range;\n let source = range.source;\n return module.block(null, [\n module.call(\n abortInstance.internalName, [\n messageExpr,\n filenameExpr,\n module.i32(source.lineAt(range.start)),\n module.i32(source.columnAt())\n ],\n TypeRef.None\n ),\n module.unreachable()\n ]);\n }\n\n /** Makes a runtime non-null check, e.g. on `possiblyNull` or `possiblyNull!`. */\n makeRuntimeNonNullCheck(\n /** Expression being checked. */\n expr: ExpressionRef,\n /** Type of the expression. */\n type: Type,\n /** Report node. */\n reportNode: Node\n ): ExpressionRef {\n let module = this.module;\n let flow = this.currentFlow;\n let temp = flow.getTempLocal(type);\n let tempIndex = temp.index;\n if (!flow.canOverflow(expr, type)) flow.setLocalFlag(tempIndex, LocalFlags.Wrapped);\n flow.setLocalFlag(tempIndex, LocalFlags.NonNull);\n\n let staticAbortCallExpr = this.makeStaticAbort(\n this.ensureStaticString(\"Unexpected 'null' (not assigned or failed cast)\"),\n reportNode\n ); // TODO: throw\n\n if (type.isExternalReference) {\n let nonNullExpr = module.local_get(tempIndex, type.toRef());\n if (this.options.hasFeature(Feature.GC)) {\n nonNullExpr = module.ref_as_nonnull(nonNullExpr);\n }\n expr = module.if(\n module.ref_is_null(\n module.local_tee(tempIndex, expr, false)\n ),\n staticAbortCallExpr,\n nonNullExpr\n );\n } else {\n expr = module.if(\n module.local_tee(tempIndex, expr, type.isManaged),\n module.local_get(tempIndex, type.toRef()),\n staticAbortCallExpr\n );\n }\n this.currentType = type.nonNullableType;\n return expr;\n }\n\n /** Makes a runtime downcast check, e.g. on `parent`. */\n makeRuntimeDowncastCheck(\n /** Expression being downcast. */\n expr: ExpressionRef,\n /** Type of the expression. */\n type: Type,\n /** Type casting to. */\n toType: Type,\n /** Report node. */\n reportNode: Node\n ): ExpressionRef {\n assert(toType.isReference && toType.nonNullableType.isAssignableTo(type));\n let module = this.module;\n let flow = this.currentFlow;\n let temp = flow.getTempLocal(type);\n let tempIndex = temp.index;\n\n let staticAbortCallExpr = this.makeStaticAbort(\n this.ensureStaticString(\"invalid downcast\"),\n reportNode\n ); // TODO: throw\n\n if (!toType.isNullableReference || flow.isNonnull(expr, type)) {\n // Simplify if the value cannot be `null`. If toType is non-nullable, a\n // null-check would have been emitted separately so is not necessary here.\n // instanceof(t = expr) ? t : abort()\n expr = module.if(\n module.call(this.prepareInstanceOf(toType.classReference!), [\n module.local_tee(tempIndex, expr, type.isManaged)\n ], TypeRef.I32),\n module.local_get(tempIndex, type.toRef()),\n staticAbortCallExpr\n );\n } else {\n // !(t = expr) ? 0 : instanceof(t) ? t : abort()\n expr = module.if(\n module.unary(\n UnaryOp.EqzI32,\n module.local_tee(tempIndex, expr, type.isManaged)\n ),\n module.usize(0),\n module.if(\n module.call(this.prepareInstanceOf(toType.classReference!), [\n module.local_get(tempIndex, type.toRef()),\n ], TypeRef.I32),\n module.local_get(tempIndex, type.toRef()),\n staticAbortCallExpr\n )\n );\n }\n this.currentType = toType;\n return expr;\n }\n}\n\n// helpers\n\nfunction mangleImportName(\n element: Element,\n declaration: DeclarationStatement\n): void {\n // by default, use the file name as the module name\n mangleImportName_moduleName = declaration.range.source.simplePath;\n // and the internal name of the element within that file as the element name\n mangleImportName_elementName = mangleInternalName(\n element.name, element.parent, element.is(CommonFlags.Instance), true\n );\n // override module name if a `module` statement is present\n let overriddenModuleName = declaration.overriddenModuleName;\n if (overriddenModuleName) mangleImportName_moduleName = overriddenModuleName;\n\n if (!element.hasDecorator(DecoratorFlags.External)) return;\n\n let program = element.program;\n let decorator = assert(findDecorator(DecoratorKind.External, declaration.decorators));\n let args = decorator.args;\n if (args && args.length > 0) {\n let arg = args[0];\n // if one argument is given, override just the element name\n // if two arguments are given, override both module and element name\n if (arg.isLiteralKind(LiteralKind.String)) {\n mangleImportName_elementName = (arg).value;\n if (args.length >= 2) {\n arg = args[1];\n if (arg.isLiteralKind(LiteralKind.String)) {\n mangleImportName_moduleName = mangleImportName_elementName;\n mangleImportName_elementName = (arg).value;\n if (args.length > 2) {\n program.error(\n DiagnosticCode.Expected_0_arguments_but_got_1,\n decorator.range, \"2\", args.length.toString()\n );\n }\n } else {\n program.error(\n DiagnosticCode.String_literal_expected,\n arg.range\n );\n }\n }\n } else {\n program.error(\n DiagnosticCode.String_literal_expected,\n arg.range\n );\n }\n } else {\n program.error(\n DiagnosticCode.Expected_at_least_0_arguments_but_got_1,\n decorator.range, \"1\", \"0\"\n );\n }\n}\n", "import {\n Source\n} from \"../ast\";\n\nimport {\n CommonFlags\n} from \"../common\";\n\nimport {\n Global,\n Program,\n Function,\n Class,\n Interface,\n Enum,\n ElementKind,\n Element,\n PropertyPrototype\n} from \"../program\";\n\nimport {\n Type,\n TypeFlags\n} from \"../types\";\n\nimport {\n CharCode,\n escapeString,\n indent, isIdentifier\n} from \"../util\";\n\nimport {\n ExportsWalker\n} from \"./util\";\n\n/** A TypeScript definitions builder. */\nexport class TSDBuilder extends ExportsWalker {\n\n /** Builds TypeScript definitions for the specified program. */\n static build(program: Program, esm: bool = true): string {\n return new TSDBuilder(program, esm).build();\n }\n\n private esm: bool;\n private sb: string[] = [];\n private indentLevel: i32 = 0;\n private seenObjectTypes: Map = new Map();\n private deferredTypings: string[] = new Array();\n\n /** Constructs a new TypeScript definitions builder. */\n constructor(program: Program, esm: bool, includePrivate: bool = false) {\n super(program, includePrivate);\n this.esm = esm;\n }\n\n visitGlobal(name: string, element: Global): void {\n let sb = this.sb;\n let type = element.type;\n let tsType = this.toTypeScriptType(type, Mode.EXPORT);\n indent(sb, this.indentLevel);\n sb.push(\"/** \");\n sb.push(element.internalName);\n sb.push(\" */\\n\");\n indent(sb, this.indentLevel);\n sb.push(\"export \");\n if (this.esm) sb.push(\"declare \");\n sb.push(\"const \");\n sb.push(name);\n sb.push(\": {\\n\");\n indent(sb, ++this.indentLevel);\n sb.push(\"/** @type `\");\n sb.push(type.toString());\n sb.push(\"` */\\n\");\n indent(sb, this.indentLevel);\n sb.push(\"get value(): \");\n sb.push(tsType);\n if (!element.is(CommonFlags.Const)) {\n sb.push(\";\\n\");\n indent(sb, this.indentLevel);\n sb.push(\"set value(value: \");\n sb.push(tsType);\n sb.push(\");\\n\");\n } else {\n sb.push(\"\\n\");\n }\n indent(sb, --this.indentLevel);\n sb.push(\"};\\n\");\n }\n\n visitEnum(name: string, element: Enum): void {\n let sb = this.sb;\n indent(sb, this.indentLevel);\n sb.push(\"/** \");\n sb.push(element.internalName);\n sb.push(\" */\\n\");\n indent(sb, this.indentLevel++);\n sb.push(\"export \");\n if (this.esm) sb.push(\"declare \");\n sb.push(\"enum \");\n sb.push(name);\n sb.push(\" {\\n\");\n let members = element.members;\n if (members) {\n // TODO: for (let [memberName, member] of members) {\n for (let _keys = Map_keys(members), i = 0, k = _keys.length; i < k; ++i) {\n let memberName = unchecked(_keys[i]);\n let member = assert(members.get(memberName));\n if (member.kind != ElementKind.EnumValue) continue;\n indent(sb, this.indentLevel);\n sb.push(\"/** @type `i32` */\\n\");\n indent(sb, this.indentLevel);\n sb.push(memberName);\n sb.push(\",\\n\");\n }\n }\n indent(sb, --this.indentLevel);\n sb.push(\"}\\n\");\n }\n\n visitFunction(name: string, element: Function): void {\n let sb = this.sb;\n let signature = element.signature;\n indent(sb, this.indentLevel);\n sb.push(\"/**\\n\");\n indent(sb, this.indentLevel);\n sb.push(\" * \");\n sb.push(element.internalName);\n sb.push(\"\\n\");\n let parameterTypes = signature.parameterTypes;\n let numParameters = parameterTypes.length;\n for (let i = 0; i < numParameters; ++i) {\n indent(sb, this.indentLevel);\n sb.push(\" * @param \");\n sb.push(element.getParameterName(i));\n sb.push(\" `\");\n sb.push(parameterTypes[i].toString());\n sb.push(\"`\\n\");\n }\n let returnType = signature.returnType;\n if (returnType != Type.void) {\n indent(sb, this.indentLevel);\n sb.push(\" * @returns `\");\n sb.push(returnType.toString());\n sb.push(\"`\\n\");\n }\n indent(sb, this.indentLevel);\n sb.push(\" */\\n\");\n indent(sb, this.indentLevel);\n sb.push(\"export \");\n if (this.esm) sb.push(\"declare \");\n sb.push(\"function \");\n sb.push(name);\n sb.push(\"(\");\n let requiredParameters = signature.requiredParameters;\n for (let i = 0; i < numParameters; ++i) {\n if (i) sb.push(\", \");\n sb.push(element.getParameterName(i));\n if (i >= requiredParameters) sb.push(\"?\");\n sb.push(\": \");\n sb.push(this.toTypeScriptType(parameterTypes[i], Mode.IMPORT));\n }\n sb.push(\"): \");\n sb.push(this.toTypeScriptType(returnType, Mode.EXPORT));\n sb.push(\";\\n\");\n }\n\n visitClass(name: string, element: Class): void {\n // not implemented\n }\n\n visitInterface(name: string, element: Interface): void {\n // not implemented\n }\n\n visitNamespace(name: string, element: Element): void {\n // not implemented\n }\n\n visitAlias(name: string, element: Element, originalName: string): void {\n // not implemented\n }\n\n build(): string {\n let sb = this.sb;\n if (!this.esm) {\n sb.push(\"declare namespace __AdaptedExports {\\n\");\n ++this.indentLevel;\n }\n if (this.program.options.exportMemory) {\n indent(sb, this.indentLevel);\n sb.push(\"/** Exported memory */\\n\");\n indent(sb, this.indentLevel);\n sb.push(`export ${this.esm ? \"declare \" : \"\"}const memory: WebAssembly.Memory;\\n`);\n }\n if (this.program.options.exportTable) {\n indent(sb, this.indentLevel);\n sb.push(\"/** Exported table */\\n\");\n indent(sb, this.indentLevel);\n sb.push(`export ${this.esm ? \"declare \" : \"\"}const table: WebAssembly.Table;\\n`);\n }\n if (this.program.options.exportRuntime) {\n indent(sb, this.indentLevel);\n sb.push(\"// Exported runtime interface\\n\");\n indent(sb, this.indentLevel);\n sb.push(`export ${this.esm ? \"declare \" : \"\"}function __new(size: number, id: number): number;\\n`);\n indent(sb, this.indentLevel);\n sb.push(`export ${this.esm ? \"declare \" : \"\"}function __pin(ptr: number): number;\\n`);\n indent(sb, this.indentLevel);\n sb.push(`export ${this.esm ? \"declare \" : \"\"}function __unpin(ptr: number): void;\\n`);\n indent(sb, this.indentLevel);\n sb.push(`export ${this.esm ? \"declare \" : \"\"}function __collect(): void;\\n`);\n indent(sb, this.indentLevel);\n sb.push(`export ${this.esm ? \"declare \" : \"\"}const __rtti_base: number;\\n`);\n }\n this.walk();\n if (!this.esm) {\n --this.indentLevel;\n sb.push(\"}\\n\");\n }\n let deferredTypes = this.deferredTypings;\n for (let i = 0, k = deferredTypes.length; i < k; ++i) {\n sb.push(deferredTypes[i]);\n }\n if (!this.esm) {\n sb.push(\"/** Instantiates the compiled WebAssembly module with the given imports. */\\n\");\n sb.push(\"export declare function instantiate(module: WebAssembly.Module, imports: {\\n\");\n let moduleImports = this.program.moduleImports;\n for (let _keys = Map_keys(moduleImports), i = 0, k = _keys.length; i < k; ++i) {\n let moduleName = _keys[i];\n sb.push(\" \");\n if (isIdentifier(moduleName)) {\n sb.push(moduleName);\n } else {\n sb.push(\"\\\"\");\n sb.push(escapeString(moduleName, CharCode.DoubleQuote));\n sb.push(\"\\\"\");\n }\n sb.push(\": unknown,\\n\");\n }\n sb.push(\"}): Promise;\\n\");\n }\n return sb.join(\"\");\n }\n\n isPlainObject(clazz: Class): bool {\n // A plain object does not inherit and does not have a constructor or private properties\n if (clazz.base && !clazz.prototype.implicitlyExtendsObject) return false;\n let members = clazz.members;\n if (members) {\n for (let _values = Map_values(members), i = 0, k = _values.length; i < k; ++i) {\n let member = _values[i];\n if (member.isAny(CommonFlags.Private | CommonFlags.Protected)) return false;\n if (member.is(CommonFlags.Constructor)) {\n // a generated constructor is ok\n if (member.declaration.range != Source.native.range) return false;\n }\n }\n }\n return true;\n }\n\n toTypeScriptType(type: Type, mode: Mode): string {\n if (type.isInternalReference) {\n const sb = new Array();\n const clazz = assert(type.getClassOrWrapper(this.program));\n if (clazz.extendsPrototype(this.program.arrayBufferInstance.prototype)) {\n sb.push(\"ArrayBuffer\");\n } else if (clazz.extendsPrototype(this.program.stringInstance.prototype)) {\n sb.push(\"string\");\n } else if (clazz.extendsPrototype(this.program.arrayPrototype)) {\n const valueType = clazz.getArrayValueType();\n sb.push(\"Array<\");\n sb.push(this.toTypeScriptType(valueType, mode));\n sb.push(\">\");\n } else if (clazz.extendsPrototype(this.program.staticArrayPrototype)) {\n const valueType = clazz.getArrayValueType();\n sb.push(\"ArrayLike<\");\n sb.push(this.toTypeScriptType(valueType, mode));\n sb.push(\">\");\n } else if (clazz.extendsPrototype(this.program.arrayBufferViewInstance.prototype)) {\n const valueType = clazz.getArrayValueType();\n if (valueType == Type.i8) {\n sb.push(\"Int8Array\");\n } else if (valueType == Type.u8) {\n if (clazz.extendsPrototype(this.program.uint8ClampedArrayPrototype)) {\n sb.push(\"Uint8ClampedArray\");\n } else {\n sb.push(\"Uint8Array\");\n }\n } else if (valueType == Type.i16) {\n sb.push(\"Int16Array\");\n } else if (valueType == Type.u16) {\n sb.push(\"Uint16Array\");\n } else if (valueType == Type.i32) {\n sb.push(\"Int32Array\");\n } else if (valueType == Type.u32) {\n sb.push(\"Uint32Array\");\n } else if (valueType == Type.i64) {\n sb.push(\"BigInt64Array\");\n } else if (valueType == Type.u64) {\n sb.push(\"BigUint64Array\");\n } else if (valueType == Type.f32) {\n sb.push(\"Float32Array\");\n } else if (valueType == Type.f64) {\n sb.push(\"Float64Array\");\n } else {\n sb.push(\"unknown\");\n }\n } else {\n let seenObjectTypes = this.seenObjectTypes;\n let typeName: string;\n if (seenObjectTypes.has(clazz)) {\n typeName = assert(seenObjectTypes.get(clazz));\n sb.push(typeName);\n if (this.isPlainObject(clazz)) {\n sb.push(mode == Mode.EXPORT ? \"\" : \"\");\n }\n } else {\n let isPlain = this.isPlainObject(clazz);\n typeName = `${isPlain ? \"__Record\" : \"__Internref\"}${clazz.id}`;\n sb.push(typeName);\n seenObjectTypes.set(clazz, typeName);\n if (isPlain) {\n sb.push(mode == Mode.EXPORT ? \"\" : \"\");\n this.deferredTypings.push(this.makeRecordType(clazz, mode));\n } else {\n this.deferredTypings.push(this.makeInternrefType(clazz));\n }\n }\n }\n if (type.is(TypeFlags.Nullable)) {\n sb.push(\" | null\");\n }\n return sb.join(\"\");\n } else {\n if (type == Type.bool) {\n return \"boolean\";\n }\n if (type == Type.void) {\n return \"void\";\n }\n if (type.isNumericValue) {\n if (type.isLongIntegerValue) {\n return \"bigint\";\n }\n return \"number\";\n }\n }\n return \"unknown\";\n }\n\n makeRecordType(clazz: Class, mode: Mode): string {\n let sb = new Array();\n let members = clazz.members;\n sb.push(\"/** \");\n sb.push(clazz.internalName);\n sb.push(\" */\\ndeclare interface __Record\");\n sb.push(clazz.id.toString());\n sb.push(\" {\\n\");\n if (members) {\n for (let _keys = Map_keys(members), i = 0, k = _keys.length; i < k; ++i) {\n let memberName = _keys[i];\n let member = assert(members.get(memberName));\n if (member.kind != ElementKind.PropertyPrototype) continue;\n let property = (member).instance; // resolved during class finalization\n if (!property || !property.isField) continue;\n sb.push(\" /** @type `\");\n sb.push(property.type.toString());\n sb.push(\"` */\\n \");\n sb.push(property.name);\n sb.push(\": \");\n sb.push(this.toTypeScriptType(property.type, mode));\n if (this.fieldAcceptsUndefined(property.type)) {\n sb.push(\" | TOmittable\");\n }\n sb.push(\";\\n\");\n }\n }\n sb.push(\"}\\n\");\n return sb.join(\"\");\n }\n\n fieldAcceptsUndefined(type: Type): bool {\n if (type.isInternalReference) {\n return type.is(TypeFlags.Nullable);\n }\n return true;\n }\n\n makeInternrefType(clazz: Class): string {\n let sb = new Array();\n sb.push(\"/** \");\n sb.push(clazz.internalName);\n sb.push(\" */\\n\");\n sb.push(\"declare class __Internref\");\n sb.push(clazz.id.toString());\n sb.push(\" extends Number {\\n\");\n let base: Class | null = clazz;\n do {\n sb.push(\" private __nominal\");\n sb.push(base.id.toString());\n sb.push(\": symbol;\\n\");\n base = base.base;\n } while (base);\n sb.push(\"}\\n\");\n return sb.join(\"\");\n }\n}\n\n// Helpers\n\nenum Mode {\n IMPORT,\n EXPORT\n}\n", "/**\n * @fileoverview The C-like and re-exported public compiler interface.\n *\n * The intended way to consume the compiler sources is to import this\n * file, which again exports all relevant functions, classes and constants\n * as a flat namespace.\n *\n * Note though that the compiler sources are written in \"portable\n * AssemblyScript\" that can be compiled to both JavaScript with tsc and\n * to WebAssembly with asc, and as such require additional glue code\n * depending on the target.\n *\n * When compiling to JavaScript `glue/js/index.js` must be included.\n * When compiling to WebAssembly `glue/wasm/index.ts` must be included.\n */\n\nimport {\n Target,\n Runtime,\n Feature\n} from \"./common\";\n\nimport {\n Compiler,\n Options,\n UncheckedBehavior,\n defaultFeatures\n} from \"./compiler\";\n\nimport {\n TSDBuilder,\n JSBuilder\n} from \"./bindings\";\n\nimport {\n Range,\n DiagnosticMessage,\n DiagnosticCategory,\n formatDiagnosticMessage\n} from \"./diagnostics\";\n\nimport { Module } from \"./module\";\nimport { Program } from \"./program\";\nimport { Source } from \"./ast\";\n\n// Options\n\n/** Creates a new set of compiler options. */\nexport function newOptions(): Options {\n return new Options();\n}\n\n/** Sets the `target` option. */\nexport function setTarget(options: Options, target: Target): void {\n options.target = target;\n}\n\nexport function setRuntime(options: Options, runtime: Runtime): void {\n options.runtime = runtime;\n}\n\n/** Sets the `noAssert` option. */\nexport function setNoAssert(options: Options, noAssert: bool): void {\n options.noAssert = noAssert;\n}\n\n/** Sets the `exportMemory` option. */\nexport function setExportMemory(options: Options, exportMemory: bool): void {\n options.exportMemory = exportMemory;\n}\n\n/** Sets the `importMemory` option. */\nexport function setImportMemory(options: Options, importMemory: bool): void {\n options.importMemory = importMemory;\n}\n\n/** Sets the `initialMemory` option. */\nexport function setInitialMemory(options: Options, initialMemory: u32): void {\n options.initialMemory = initialMemory;\n}\n\n/** Sets the `maximumMemory` option. */\nexport function setMaximumMemory(options: Options, maximumMemory: u32): void {\n options.maximumMemory = maximumMemory;\n}\n\n/** Sets the `sharedMemory` option. */\nexport function setSharedMemory(options: Options, sharedMemory: bool): void {\n options.sharedMemory = sharedMemory;\n}\n\n/** Sets the `importTable` option. */\nexport function setImportTable(options: Options, importTable: bool): void {\n options.importTable = importTable;\n}\n\n/** Sets the `exportTable` option. */\nexport function setExportTable(options: Options, exportTable: bool): void {\n options.exportTable = exportTable;\n}\n\n/** Sets the `sourceMap` option. */\nexport function setSourceMap(options: Options, sourceMap: bool): void {\n options.sourceMap = sourceMap;\n}\n\n/** Sets the `uncheckedBehavior` option. */\nexport function setUncheckedBehavior(options: Options, uncheckedBehavior: UncheckedBehavior): void {\n options.uncheckedBehavior = uncheckedBehavior;\n}\n\n/** Sets the `memoryBase` option. */\nexport function setMemoryBase(options: Options, memoryBase: u32): void {\n options.memoryBase = memoryBase;\n}\n\n/** Sets the `tableBase` option. */\nexport function setTableBase(options: Options, tableBase: u32): void {\n options.tableBase = tableBase;\n}\n\n/** Adds a 'globalAliases' value. */\nexport function addGlobalAlias(options: Options, alias: string, name: string): void {\n let globalAliases = options.globalAliases;\n if (!globalAliases) options.globalAliases = globalAliases = new Map();\n globalAliases.set(alias, name);\n}\n\n/** Removes a 'globalAliases' value. */\nexport function removeGlobalAlias(options: Options, alias: string): void {\n let globalAliases = options.globalAliases;\n if (globalAliases) globalAliases.delete(alias);\n}\n\n/** Sets the `exportStart` option. */\nexport function setExportStart(options: Options, exportStart: string | null): void {\n options.exportStart = exportStart;\n}\n\n/** Sets the `noUnsafe` option. */\nexport function setNoUnsafe(options: Options, noUnsafe: bool): void {\n options.noUnsafe = noUnsafe;\n}\n\n/** Sets the `lowMemoryLimit` option. */\nexport function setLowMemoryLimit(options: Options, lowMemoryLimit: i32): void {\n options.lowMemoryLimit = lowMemoryLimit;\n}\n\n/** Sets the `exportRuntime` option. */\nexport function setExportRuntime(options: Options, exportRuntime: bool): void {\n options.exportRuntime = exportRuntime;\n}\n\n/** Default stack size. */\nexport const DEFAULT_STACK_SIZE = 32768;\n\n/** Sets the `stackSize` option. */\nexport function setStackSize(options: Options, stackSize: i32): void {\n options.stackSize = stackSize;\n}\n\n/** Sets the bundle semantic version. */\nexport function setBundleVersion(\n options: Options,\n bundleMajorVersion: i32,\n bundleMinorVersion: i32,\n bundlePatchVersion: i32,\n): void {\n options.bundleMajorVersion = bundleMajorVersion;\n options.bundleMinorVersion = bundleMinorVersion;\n options.bundlePatchVersion = bundlePatchVersion;\n}\n\n/** Sign extension operations. */\nexport const FEATURE_SIGN_EXTENSION = Feature.SignExtension;\n/** Mutable global imports and exports. */\nexport const FEATURE_MUTABLE_GLOBALS = Feature.MutableGlobals;\n/** Non-trapping float to int conversion operations. */\nexport const FEATURE_NONTRAPPING_F2I = Feature.NontrappingF2I;\n/** Bulk memory operations. */\nexport const FEATURE_BULK_MEMORY = Feature.BulkMemory;\n/** SIMD types and operations. */\nexport const FEATURE_SIMD = Feature.Simd;\n/** Threading and atomic operations. */\nexport const FEATURE_THREADS = Feature.Threads;\n/** Exception handling operations. */\nexport const FEATURE_EXCEPTION_HANDLING = Feature.ExceptionHandling;\n/** Tail call operations. */\nexport const FEATURE_TAIL_CALLS = Feature.TailCalls;\n/** Reference types. */\nexport const FEATURE_REFERENCE_TYPES = Feature.ReferenceTypes;\n/** Multi value types. */\nexport const FEATURE_MULTI_VALUE = Feature.MultiValue;\n/** Garbage collection. */\nexport const FEATURE_GC = Feature.GC;\n/** Memory64. */\nexport const FEATURE_MEMORY64 = Feature.Memory64;\n/** Relaxed SIMD. */\nexport const FEATURE_RELAXED_SIMD = Feature.RelaxedSimd;\n/** Extended const expressions. */\nexport const FEATURE_EXTENDED_CONST = Feature.ExtendedConst;\n/** String references. */\nexport const FEATURE_STRINGREF = Feature.Stringref;\n/** All features. */\nexport const FEATURES_ALL = Feature.All;\n/** Default features. */\nexport const FEATURES_DEFAULT = defaultFeatures;\n\n/** Sets whether a specific feature is enabled. */\nexport function setFeature(options: Options, feature: Feature, on: bool): void {\n options.setFeature(feature, on);\n}\n\n/** Gives the compiler a hint at the optimize levels that will be used later on. */\nexport function setOptimizeLevelHints(options: Options, optimizeLevel: i32, shrinkLevel: i32): void {\n options.optimizeLevelHint = optimizeLevel;\n options.shrinkLevelHint = shrinkLevel;\n}\n\n/** Gives the compiler a hint of the emitted module's basename. */\nexport function setBasenameHint(options: Options, basename: string): void {\n options.basenameHint = basename;\n}\n\n/** Gives the compiler a hint that bindings will be generated. */\nexport function setBindingsHint(options: Options, bindings: bool): void {\n options.bindingsHint = bindings;\n}\n\n/** Sets the `pedantic` option. */\nexport function setPedantic(options: Options, pedantic: bool): void {\n options.pedantic = pedantic;\n}\n\nexport function setDebugInfo(options: Options, debug: bool): void {\n options.debugInfo = debug;\n}\n\n// Program\n\n/** Creates a new Program. */\nexport function newProgram(options: Options): Program {\n return new Program(options);\n}\n\n/** Obtains the next diagnostic message. Returns `null` once complete. */\nexport function nextDiagnostic(program: Program): DiagnosticMessage | null {\n return program.diagnosticsOffset < program.diagnostics.length\n ? program.diagnostics[program.diagnosticsOffset++]\n : null;\n}\n\n/** Obtains the source of the given file. */\nexport function getSource(program: Program, internalPath: string): string | null {\n return program.getSource(internalPath);\n}\n\n/** Formats a diagnostic message to a string. */\nexport { formatDiagnosticMessage as formatDiagnostic };\n\n/** Gets the code of a diagnostic message. */\nexport function getDiagnosticCode(diagnostic: DiagnosticMessage): i32 {\n return diagnostic.code;\n}\n\n/** Gets the category of a diagnostic message. */\nexport function getDiagnosticCategory(diagnostic: DiagnosticMessage): DiagnosticCategory {\n return diagnostic.category;\n}\n\n/** Gets the textual message of a diagnostic message. */\nexport function getDiagnosticMessage(diagnostic: DiagnosticMessage): string {\n return diagnostic.message;\n}\n\n/** Gets the primary range, if any, of a diagnostic message. */\nexport function getDiagnosticRange(diagnostic: DiagnosticMessage): Range | null {\n return diagnostic.range;\n}\n\n/** Gets the related range, if any, of a diagnostic message. */\nexport function getDiagnosticRelatedRange(diagnostic: DiagnosticMessage): Range | null {\n return diagnostic.relatedRange;\n}\n\n/** Gets a range's start offset. */\nexport function getRangeStart(range: Range): i32 {\n return range.start;\n}\n\n/** Gets a range's end offsset. */\nexport function getRangeEnd(range: Range): i32 {\n return range.end;\n}\n\n/** Gets a range's relevant source. */\nexport function getRangeSource(range: Range): Source {\n return range.source;\n}\n\n/** Gets a source's normalized path. */\nexport function getSourceNormalizedPath(source: Source): string {\n return source.normalizedPath;\n}\n\n/** Tests whether a diagnostic is informatory. */\nexport function isInfo(message: DiagnosticMessage): bool {\n return message.category == DiagnosticCategory.Info;\n}\n\n/** Tests whether a diagnostic is a warning. */\nexport function isWarning(message: DiagnosticMessage): bool {\n return message.category == DiagnosticCategory.Warning;\n}\n\n/** Tests whether a diagnostic is an error. */\nexport function isError(message: DiagnosticMessage): bool {\n return message.category == DiagnosticCategory.Error;\n}\n\n// Parser\n\n/** Parses a source file. If `parser` has been omitted a new one is created. */\nexport function parse(\n /** Program reference. */\n program: Program,\n /** Source text of the file, or `null` to indicate not found. */\n text: string | null,\n /** Normalized path of the file. */\n path: string,\n /** Whether this is an entry file. */\n isEntry: bool = false\n): void {\n program.parser.parseFile(text, path, isEntry);\n}\n\n/** Obtains the next required file's path. Returns `null` once complete. */\nexport function nextFile(program: Program): string | null {\n return program.parser.nextFile();\n}\n\n/** Obtains the path of the dependee of a given imported file. */\nexport function getDependee(program: Program, file: string): string | null {\n return program.parser.getDependee(file);\n}\n\n// Compiler\n\n/** Initializes the program pre-emptively for transform hooks. */\nexport function initializeProgram(program: Program): void {\n program.initialize();\n}\n\n/** Compiles the parsed sources to a module. */\nexport function compile(program: Program): Module {\n program.parser.finish();\n return new Compiler(program).compile();\n}\n\n/** Builds TypeScript definitions for the specified program. */\nexport function buildTSD(program: Program, esm: bool): string {\n return TSDBuilder.build(program, esm);\n}\n\n/** Builds JavaScript glue code for the specified program. */\nexport function buildJS(program: Program, esm: bool): string {\n return JSBuilder.build(program, esm);\n}\n\n/** Gets the Binaryen module reference of a module. */\nexport function getBinaryenModuleRef(module: Module): usize {\n return module.ref;\n}\n\n/** Validates a module. */\nexport function validate(module: Module): bool {\n return module.validate();\n}\n\n/** Optimizes a module. */\nexport function optimize(\n module: Module,\n optimizeLevel: i32,\n shrinkLevel: i32,\n debugInfo: bool = false,\n zeroFilledMemory: bool = false\n): void {\n module.optimize(optimizeLevel, shrinkLevel, debugInfo, zeroFilledMemory);\n}\n", "/**\n * @fileoverview Abstract Syntax Tree extras.\n *\n * Provides serialization of the AssemblyScript AST back to it source form.\n *\n * @license Apache-2.0\n */\n\nimport {\n Node,\n NodeKind,\n Source,\n ArrowKind,\n\n TypeNode,\n NamedTypeNode,\n FunctionTypeNode,\n TypeName,\n TypeParameterNode,\n\n Expression,\n IdentifierExpression,\n LiteralExpression,\n LiteralKind,\n FloatLiteralExpression,\n IntegerLiteralExpression,\n StringLiteralExpression,\n TemplateLiteralExpression,\n RegexpLiteralExpression,\n ArrayLiteralExpression,\n AssertionExpression,\n AssertionKind,\n BinaryExpression,\n CallExpression,\n CommaExpression,\n ElementAccessExpression,\n FunctionExpression,\n NewExpression,\n ParenthesizedExpression,\n PropertyAccessExpression,\n TernaryExpression,\n UnaryPostfixExpression,\n UnaryExpression,\n UnaryPrefixExpression,\n ClassExpression,\n ObjectLiteralExpression,\n\n BlockStatement,\n BreakStatement,\n ContinueStatement,\n DoStatement,\n EmptyStatement,\n ExportImportStatement,\n ExportStatement,\n ExportDefaultStatement,\n ExpressionStatement,\n ForStatement,\n ForOfStatement,\n IfStatement,\n ImportStatement,\n InstanceOfExpression,\n ReturnStatement,\n SwitchStatement,\n ThrowStatement,\n TryStatement,\n VariableStatement,\n WhileStatement,\n ModuleDeclaration,\n\n DeclarationStatement,\n ClassDeclaration,\n EnumDeclaration,\n EnumValueDeclaration,\n FieldDeclaration,\n FunctionDeclaration,\n ImportDeclaration,\n InterfaceDeclaration,\n MethodDeclaration,\n NamespaceDeclaration,\n TypeDeclaration,\n VariableDeclaration,\n\n DecoratorNode,\n ParameterNode,\n ParameterKind,\n ExportMember,\n SwitchCase,\n IndexSignatureNode,\n\n isTypeOmitted\n} from \"../ast\";\n\nimport {\n operatorTokenToString\n} from \"../tokenizer\";\n\nimport {\n CharCode,\n indent,\n escapeString\n} from \"../util\";\n\nimport {\n CommonFlags\n} from \"../common\";\n\n/** An AST builder. */\nexport class ASTBuilder {\n\n /** Rebuilds the textual source from the specified AST, as far as possible. */\n static build(node: Node): string {\n let builder = new ASTBuilder();\n builder.visitNode(node);\n return builder.finish();\n }\n\n private sb: string[] = [];\n private indentLevel: i32 = 0;\n\n visitNode(node: Node): void {\n switch (node.kind) {\n case NodeKind.Source: {\n this.visitSource(node);\n break;\n }\n\n // types\n\n case NodeKind.NamedType: {\n this.visitNamedTypeNode(node);\n break;\n }\n case NodeKind.FunctionType: {\n this.visitFunctionTypeNode(node);\n break;\n }\n case NodeKind.TypeParameter: {\n this.visitTypeParameter(node);\n break;\n }\n\n // expressions\n\n case NodeKind.False:\n case NodeKind.Null:\n case NodeKind.Super:\n case NodeKind.This:\n case NodeKind.True:\n case NodeKind.Constructor:\n case NodeKind.Identifier: {\n this.visitIdentifierExpression(node);\n break;\n }\n case NodeKind.Assertion: {\n this.visitAssertionExpression(node);\n break;\n }\n case NodeKind.Binary: {\n this.visitBinaryExpression(node);\n break;\n }\n case NodeKind.Call: {\n this.visitCallExpression(node);\n break;\n }\n case NodeKind.Class: {\n this.visitClassExpression(node);\n break;\n }\n case NodeKind.Comma: {\n this.visitCommaExpression(node);\n break;\n }\n case NodeKind.ElementAccess: {\n this.visitElementAccessExpression(node);\n break;\n }\n case NodeKind.Function: {\n this.visitFunctionExpression(node);\n break;\n }\n case NodeKind.InstanceOf: {\n this.visitInstanceOfExpression(node);\n break;\n }\n case NodeKind.Literal: {\n this.visitLiteralExpression(node);\n break;\n }\n case NodeKind.New: {\n this.visitNewExpression(node);\n break;\n }\n case NodeKind.Parenthesized: {\n this.visitParenthesizedExpression(node);\n break;\n }\n case NodeKind.PropertyAccess: {\n this.visitPropertyAccessExpression(node);\n break;\n }\n case NodeKind.Ternary: {\n this.visitTernaryExpression(node);\n break;\n }\n case NodeKind.UnaryPostfix: {\n this.visitUnaryPostfixExpression(node);\n break;\n }\n case NodeKind.UnaryPrefix: {\n this.visitUnaryPrefixExpression(node);\n break;\n }\n\n // statements\n\n case NodeKind.Block: {\n this.visitBlockStatement(node);\n break;\n }\n case NodeKind.Break: {\n this.visitBreakStatement(node);\n break;\n }\n case NodeKind.Continue: {\n this.visitContinueStatement(node);\n break;\n }\n case NodeKind.Do: {\n this.visitDoStatement(node);\n break;\n }\n case NodeKind.Empty: {\n this.visitEmptyStatement(node);\n break;\n }\n case NodeKind.Export: {\n this.visitExportStatement(node);\n break;\n }\n case NodeKind.ExportDefault: {\n this.visitExportDefaultStatement(node);\n break;\n }\n case NodeKind.ExportImport: {\n this.visitExportImportStatement(node);\n break;\n }\n case NodeKind.Expression: {\n this.visitExpressionStatement(node);\n break;\n }\n case NodeKind.For: {\n this.visitForStatement(node);\n break;\n }\n case NodeKind.ForOf: {\n this.visitForOfStatement(node);\n break;\n }\n case NodeKind.If: {\n this.visitIfStatement(node);\n break;\n }\n case NodeKind.Import: {\n this.visitImportStatement(node);\n break;\n }\n case NodeKind.Return: {\n this.visitReturnStatement(node);\n break;\n }\n case NodeKind.Switch: {\n this.visitSwitchStatement(node);\n break;\n }\n case NodeKind.Throw: {\n this.visitThrowStatement(node);\n break;\n }\n case NodeKind.Try: {\n this.visitTryStatement(node);\n break;\n }\n case NodeKind.Variable: {\n this.visitVariableStatement(node);\n break;\n }\n case NodeKind.While: {\n this.visitWhileStatement(node);\n break;\n }\n case NodeKind.Module: {\n this.visitModuleDeclaration(node);\n break;\n }\n\n // declaration statements\n\n case NodeKind.ClassDeclaration: {\n this.visitClassDeclaration(node);\n break;\n }\n case NodeKind.EnumDeclaration: {\n this.visitEnumDeclaration(node);\n break;\n }\n case NodeKind.EnumValueDeclaration: {\n this.visitEnumValueDeclaration(node);\n break;\n }\n case NodeKind.FieldDeclaration: {\n this.visitFieldDeclaration(node);\n break;\n }\n case NodeKind.FunctionDeclaration: {\n this.visitFunctionDeclaration(node);\n break;\n }\n case NodeKind.ImportDeclaration: {\n this.visitImportDeclaration(node);\n break;\n }\n case NodeKind.InterfaceDeclaration: {\n this.visitInterfaceDeclaration(node);\n break;\n }\n case NodeKind.MethodDeclaration: {\n this.visitMethodDeclaration(node);\n break;\n }\n case NodeKind.NamespaceDeclaration: {\n this.visitNamespaceDeclaration(node);\n break;\n }\n case NodeKind.TypeDeclaration: {\n this.visitTypeDeclaration(node);\n break;\n }\n case NodeKind.VariableDeclaration: {\n this.visitVariableDeclaration(node);\n break;\n }\n\n // other\n\n case NodeKind.Decorator: {\n this.serializeDecorator(node);\n break;\n }\n case NodeKind.ExportMember: {\n this.visitExportMember(node);\n break;\n }\n case NodeKind.Parameter: {\n this.serializeParameter(node);\n break;\n }\n case NodeKind.SwitchCase: {\n this.visitSwitchCase(node);\n break;\n }\n case NodeKind.IndexSignature: {\n this.visitIndexSignature(node);\n break;\n }\n default: assert(false);\n }\n }\n\n visitSource(source: Source): void {\n let statements = source.statements;\n for (let i = 0, k = statements.length; i < k; ++i) {\n this.visitNodeAndTerminate(statements[i]);\n }\n }\n\n // types\n\n visitTypeNode(node: TypeNode): void {\n switch (node.kind) {\n case NodeKind.NamedType: {\n this.visitNamedTypeNode(node);\n break;\n }\n case NodeKind.FunctionType: {\n this.visitFunctionTypeNode(node);\n break;\n }\n default: assert(false);\n }\n }\n\n visitTypeName(node: TypeName): void {\n this.visitIdentifierExpression(node.identifier);\n let sb = this.sb;\n let current = node.next;\n while (current) {\n sb.push(\".\");\n this.visitIdentifierExpression(current.identifier);\n current = current.next;\n }\n }\n\n visitNamedTypeNode(node: NamedTypeNode): void {\n this.visitTypeName(node.name);\n let typeArguments = node.typeArguments;\n if (typeArguments) {\n let numTypeArguments = typeArguments.length;\n let sb = this.sb;\n if (numTypeArguments) {\n sb.push(\"<\");\n this.visitTypeNode(typeArguments[0]);\n for (let i = 1; i < numTypeArguments; ++i) {\n sb.push(\", \");\n this.visitTypeNode(typeArguments[i]);\n }\n sb.push(\">\");\n }\n if (node.isNullable) sb.push(\" | null\");\n }\n }\n\n visitFunctionTypeNode(node: FunctionTypeNode): void {\n let isNullable = node.isNullable;\n let sb = this.sb;\n sb.push(isNullable ? \"((\" : \"(\");\n let explicitThisType = node.explicitThisType;\n if (explicitThisType) {\n sb.push(\"this: \");\n this.visitTypeNode(explicitThisType);\n }\n let parameters = node.parameters;\n let numParameters = parameters.length;\n if (numParameters) {\n if (explicitThisType) sb.push(\", \");\n this.serializeParameter(parameters[0]);\n for (let i = 1; i < numParameters; ++i) {\n sb.push(\", \");\n this.serializeParameter(parameters[i]);\n }\n }\n let returnType = node.returnType;\n if (returnType) {\n sb.push(\") => \");\n this.visitTypeNode(returnType);\n } else {\n sb.push(\") => void\");\n }\n if (isNullable) sb.push(\") | null\");\n }\n\n visitTypeParameter(node: TypeParameterNode): void {\n this.visitIdentifierExpression(node.name);\n let extendsType = node.extendsType;\n if (extendsType) {\n this.sb.push(\" extends \");\n this.visitTypeNode(extendsType);\n }\n let defaultType = node.defaultType;\n if (defaultType) {\n this.sb.push(\"=\");\n this.visitTypeNode(defaultType);\n }\n }\n\n // expressions\n\n visitIdentifierExpression(node: IdentifierExpression): void {\n if (node.isQuoted) this.visitStringLiteral(node.text);\n else this.sb.push(node.text);\n }\n\n visitArrayLiteralExpression(node: ArrayLiteralExpression): void {\n let sb = this.sb;\n sb.push(\"[\");\n let elements = node.elementExpressions;\n let numElements = elements.length;\n if (numElements) {\n let element = elements[0];\n if (element) this.visitNode(element);\n for (let i = 1; i < numElements; ++i) {\n element = elements[i];\n sb.push(\", \");\n if (element) this.visitNode(element);\n }\n }\n sb.push(\"]\");\n }\n\n visitObjectLiteralExpression(node: ObjectLiteralExpression): void {\n let sb = this.sb;\n let names = node.names;\n let values = node.values;\n let numElements = names.length;\n assert(numElements == values.length);\n if (numElements) {\n sb.push(\"{\\n\");\n indent(sb, ++this.indentLevel);\n this.visitNode(names[0]);\n sb.push(\": \");\n this.visitNode(values[0]);\n for (let i = 1; i < numElements; ++i) {\n sb.push(\",\\n\");\n indent(sb, this.indentLevel);\n let name = names[i];\n let value = values[i];\n if (name == value) {\n this.visitNode(name);\n } else {\n this.visitNode(name);\n sb.push(\": \");\n this.visitNode(value);\n }\n }\n sb.push(\"\\n\");\n indent(sb, --this.indentLevel);\n sb.push(\"}\");\n } else {\n sb.push(\"{}\");\n }\n }\n\n visitAssertionExpression(node: AssertionExpression): void {\n let sb = this.sb;\n switch (node.assertionKind) {\n case AssertionKind.Prefix: {\n sb.push(\"<\");\n this.visitTypeNode(assert(node.toType));\n sb.push(\">\");\n this.visitNode(node.expression);\n break;\n }\n case AssertionKind.As: {\n this.visitNode(node.expression);\n sb.push(\" as \");\n this.visitTypeNode(assert(node.toType));\n break;\n }\n case AssertionKind.NonNull: {\n this.visitNode(node.expression);\n sb.push(\"!\");\n break;\n }\n case AssertionKind.Const: {\n this.visitNode(node.expression);\n sb.push(\" as const\");\n break;\n }\n default: assert(false);\n }\n }\n\n visitBinaryExpression(node: BinaryExpression): void {\n let sb = this.sb;\n this.visitNode(node.left);\n sb.push(\" \");\n sb.push(operatorTokenToString(node.operator));\n sb.push(\" \");\n this.visitNode(node.right);\n }\n\n visitCallExpression(node: CallExpression): void {\n this.visitNode(node.expression);\n this.visitArguments(node.typeArguments, node.args);\n }\n\n private visitArguments(typeArguments: TypeNode[] | null, args: Expression[]): void {\n let sb = this.sb;\n if (typeArguments) {\n let numTypeArguments = typeArguments.length;\n if (numTypeArguments) {\n sb.push(\"<\");\n this.visitTypeNode(typeArguments[0]);\n for (let i = 1; i < numTypeArguments; ++i) {\n sb.push(\", \");\n this.visitTypeNode(typeArguments[i]);\n }\n sb.push(\">(\");\n }\n } else {\n sb.push(\"(\");\n }\n let numArgs = args.length;\n if (numArgs) {\n this.visitNode(args[0]);\n for (let i = 1; i < numArgs; ++i) {\n sb.push(\", \");\n this.visitNode(args[i]);\n }\n }\n sb.push(\")\");\n }\n\n visitClassExpression(node: ClassExpression): void {\n let declaration = node.declaration;\n this.visitClassDeclaration(declaration);\n }\n\n visitCommaExpression(node: CommaExpression): void {\n let expressions = node.expressions;\n let numExpressions = assert(expressions.length);\n this.visitNode(expressions[0]);\n let sb = this.sb;\n for (let i = 1; i < numExpressions; ++i) {\n sb.push(\",\");\n this.visitNode(expressions[i]);\n }\n }\n\n visitElementAccessExpression(node: ElementAccessExpression): void {\n let sb = this.sb;\n this.visitNode(node.expression);\n sb.push(\"[\");\n this.visitNode(node.elementExpression);\n sb.push(\"]\");\n }\n\n visitFunctionExpression(node: FunctionExpression): void {\n let declaration = node.declaration;\n if (!declaration.arrowKind) {\n if (declaration.name.text.length) {\n this.sb.push(\"function \");\n } else {\n this.sb.push(\"function\");\n }\n } else {\n assert(declaration.name.text.length == 0);\n }\n this.visitFunctionCommon(declaration);\n }\n\n visitLiteralExpression(node: LiteralExpression): void {\n switch (node.literalKind) {\n case LiteralKind.Float: {\n this.visitFloatLiteralExpression(node);\n break;\n }\n case LiteralKind.Integer: {\n this.visitIntegerLiteralExpression(node);\n break;\n }\n case LiteralKind.String: {\n this.visitStringLiteralExpression(node);\n break;\n }\n case LiteralKind.Template: {\n this.visitTemplateLiteralExpression(node);\n break;\n }\n case LiteralKind.RegExp: {\n this.visitRegexpLiteralExpression(node);\n break;\n }\n case LiteralKind.Array: {\n this.visitArrayLiteralExpression(node);\n break;\n }\n case LiteralKind.Object: {\n this.visitObjectLiteralExpression(node);\n break;\n }\n default: {\n assert(false);\n break;\n }\n }\n }\n\n visitFloatLiteralExpression(node: FloatLiteralExpression): void {\n this.sb.push(node.value.toString());\n }\n\n visitInstanceOfExpression(node: InstanceOfExpression): void {\n this.visitNode(node.expression);\n this.sb.push(\" instanceof \");\n this.visitTypeNode(node.isType);\n }\n\n visitIntegerLiteralExpression(node: IntegerLiteralExpression): void {\n let range = node.range;\n let hasExplicitSign = range.source.text.startsWith(\"-\", range.start);\n this.sb.push(i64_to_string(node.value, !hasExplicitSign));\n }\n\n visitStringLiteral(str: string): void {\n let sb = this.sb;\n sb.push(\"\\\"\");\n sb.push(escapeString(str, CharCode.DoubleQuote));\n sb.push(\"\\\"\");\n }\n\n visitStringLiteralExpression(node: StringLiteralExpression): void {\n this.visitStringLiteral(node.value);\n }\n\n visitTemplateLiteralExpression(node: TemplateLiteralExpression): void {\n let sb = this.sb;\n let tag = node.tag;\n let parts = node.parts;\n let expressions = node.expressions;\n if (tag) this.visitNode(tag);\n sb.push(\"`\");\n sb.push(escapeString(parts[0], CharCode.Backtick));\n assert(parts.length == expressions.length + 1);\n for (let i = 0, k = expressions.length; i < k; ++i) {\n sb.push(\"${\");\n this.visitNode(expressions[i]);\n sb.push(\"}\");\n sb.push(escapeString(parts[i + 1], CharCode.Backtick));\n }\n sb.push(\"`\");\n }\n\n visitRegexpLiteralExpression(node: RegexpLiteralExpression): void {\n let sb = this.sb;\n sb.push(\"/\");\n sb.push(node.pattern);\n sb.push(\"/\");\n sb.push(node.patternFlags);\n }\n\n visitNewExpression(node: NewExpression): void {\n this.sb.push(\"new \");\n this.visitTypeName(node.typeName);\n this.visitArguments(node.typeArguments, node.args);\n }\n\n visitParenthesizedExpression(node: ParenthesizedExpression): void {\n let sb = this.sb;\n sb.push(\"(\");\n this.visitNode(node.expression);\n sb.push(\")\");\n }\n\n visitPropertyAccessExpression(node: PropertyAccessExpression): void {\n this.visitNode(node.expression);\n this.sb.push(\".\");\n this.visitIdentifierExpression(node.property);\n }\n\n visitTernaryExpression(node: TernaryExpression): void {\n let sb = this.sb;\n this.visitNode(node.condition);\n sb.push(\" ? \");\n this.visitNode(node.ifThen);\n sb.push(\" : \");\n this.visitNode(node.ifElse);\n }\n\n visitUnaryExpression(node: UnaryExpression): void {\n switch (node.kind) {\n case NodeKind.UnaryPostfix: {\n this.visitUnaryPostfixExpression(node);\n break;\n }\n case NodeKind.UnaryPrefix: {\n this.visitUnaryPrefixExpression(node);\n break;\n }\n default: assert(false);\n }\n }\n\n visitUnaryPostfixExpression(node: UnaryPostfixExpression): void {\n this.visitNode(node.operand);\n this.sb.push(operatorTokenToString(node.operator));\n }\n\n visitUnaryPrefixExpression(node: UnaryPrefixExpression): void {\n this.sb.push(operatorTokenToString(node.operator));\n this.visitNode(node.operand);\n }\n\n // statements\n\n visitNodeAndTerminate(node: Node): void {\n this.visitNode(node);\n let sb = this.sb;\n if (\n !sb.length || // leading EmptyStatement\n node.kind == NodeKind.Variable || // potentially assigns a FunctionExpression\n node.kind == NodeKind.Expression // potentially assigns a FunctionExpression\n ) {\n sb.push(\";\\n\");\n } else {\n let last = sb[sb.length - 1];\n let lastCharPos = last.length - 1;\n if (lastCharPos >= 0 && (\n last.charCodeAt(lastCharPos) == CharCode.CloseBrace ||\n last.charCodeAt(lastCharPos) == CharCode.Semicolon)\n ) {\n sb.push(\"\\n\");\n } else {\n sb.push(\";\\n\");\n }\n }\n }\n\n visitBlockStatement(node: BlockStatement): void {\n let sb = this.sb;\n let statements = node.statements;\n let numStatements = statements.length;\n if (numStatements) {\n sb.push(\"{\\n\");\n let indentLevel = ++this.indentLevel;\n for (let i = 0; i < numStatements; ++i) {\n indent(sb, indentLevel);\n this.visitNodeAndTerminate(statements[i]);\n }\n indent(sb, --this.indentLevel);\n sb.push(\"}\");\n } else {\n sb.push(\"{}\");\n }\n }\n\n visitBreakStatement(node: BreakStatement): void {\n let label = node.label;\n if (label) {\n this.sb.push(\"break \");\n this.visitIdentifierExpression(label);\n } else {\n this.sb.push(\"break\");\n }\n }\n\n visitContinueStatement(node: ContinueStatement): void {\n let label = node.label;\n if (label) {\n this.sb.push(\"continue \");\n this.visitIdentifierExpression(label);\n } else {\n this.sb.push(\"continue\");\n }\n }\n\n visitClassDeclaration(node: ClassDeclaration, isDefault: bool = false): void {\n let decorators = node.decorators;\n if (decorators) {\n for (let i = 0, k = decorators.length; i < k; ++i) {\n this.serializeDecorator(decorators[i]);\n }\n }\n let sb = this.sb;\n if (isDefault) {\n sb.push(\"export default \");\n } else {\n this.serializeExternalModifiers(node);\n }\n if (node.is(CommonFlags.Abstract)) sb.push(\"abstract \");\n if (node.name.text.length) {\n sb.push(\"class \");\n this.visitIdentifierExpression(node.name);\n } else {\n sb.push(\"class\");\n }\n let typeParameters = node.typeParameters;\n if (typeParameters != null && typeParameters.length > 0) {\n sb.push(\"<\");\n this.visitTypeParameter(typeParameters[0]);\n for (let i = 1, k = typeParameters.length; i < k; ++i) {\n sb.push(\", \");\n this.visitTypeParameter(typeParameters[i]);\n }\n sb.push(\">\");\n }\n let extendsType = node.extendsType;\n if (extendsType) {\n sb.push(\" extends \");\n this.visitTypeNode(extendsType);\n }\n let implementsTypes = node.implementsTypes;\n if (implementsTypes) {\n let numImplementsTypes = implementsTypes.length;\n if (numImplementsTypes) {\n sb.push(\" implements \");\n this.visitTypeNode(implementsTypes[0]);\n for (let i = 1; i < numImplementsTypes; ++i) {\n sb.push(\", \");\n this.visitTypeNode(implementsTypes[i]);\n }\n }\n }\n let indexSignature = node.indexSignature;\n let members = node.members;\n let numMembers = members.length;\n if (indexSignature || numMembers) {\n sb.push(\" {\\n\");\n let indentLevel = ++this.indentLevel;\n if (indexSignature) {\n indent(sb, indentLevel);\n this.visitNodeAndTerminate(indexSignature);\n }\n for (let i = 0, k = members.length; i < k; ++i) {\n let member = members[i];\n if (member.kind != NodeKind.FieldDeclaration || (member).parameterIndex < 0) {\n indent(sb, indentLevel);\n this.visitNodeAndTerminate(member);\n }\n }\n indent(sb, --this.indentLevel);\n sb.push(\"}\");\n } else {\n sb.push(\" {}\");\n }\n }\n\n visitDoStatement(node: DoStatement): void {\n let sb = this.sb;\n sb.push(\"do \");\n this.visitNode(node.body);\n if (node.body.kind == NodeKind.Block) {\n sb.push(\" while (\");\n } else {\n sb.push(\";\\n\");\n indent(sb, this.indentLevel);\n sb.push(\"while (\");\n }\n this.visitNode(node.condition);\n sb.push(\")\");\n }\n\n visitEmptyStatement(node: EmptyStatement): void {\n /* nop */\n }\n\n visitEnumDeclaration(node: EnumDeclaration, isDefault: bool = false): void {\n let sb = this.sb;\n if (isDefault) {\n sb.push(\"export default \");\n } else {\n this.serializeExternalModifiers(node);\n }\n if (node.is(CommonFlags.Const)) sb.push(\"const \");\n sb.push(\"enum \");\n this.visitIdentifierExpression(node.name);\n let values = node.values;\n let numValues = values.length;\n if (numValues) {\n sb.push(\" {\\n\");\n let indentLevel = ++this.indentLevel;\n indent(sb, indentLevel);\n this.visitEnumValueDeclaration(node.values[0]);\n for (let i = 1; i < numValues; ++i) {\n sb.push(\",\\n\");\n indent(sb, indentLevel);\n this.visitEnumValueDeclaration(node.values[i]);\n }\n sb.push(\"\\n\");\n indent(sb, --this.indentLevel);\n sb.push(\"}\");\n } else {\n sb.push(\" {}\");\n }\n }\n\n visitEnumValueDeclaration(node: EnumValueDeclaration): void {\n this.visitIdentifierExpression(node.name);\n let initializer = node.initializer;\n if (initializer) {\n this.sb.push(\" = \");\n this.visitNode(initializer);\n }\n }\n\n visitExportImportStatement(node: ExportImportStatement): void {\n let sb = this.sb;\n sb.push(\"export import \");\n this.visitIdentifierExpression(node.externalName);\n sb.push(\" = \");\n this.visitIdentifierExpression(node.name);\n }\n\n visitExportMember(node: ExportMember): void {\n this.visitIdentifierExpression(node.localName);\n if (node.exportedName.text != node.localName.text) {\n this.sb.push(\" as \");\n this.visitIdentifierExpression(node.exportedName);\n }\n }\n\n visitExportStatement(node: ExportStatement): void {\n let sb = this.sb;\n if (node.isDeclare) {\n sb.push(\"declare \");\n }\n let members = node.members;\n if (members == null) {\n sb.push(\"export *\");\n } else if (members.length > 0) {\n let numMembers = members.length;\n sb.push(\"export {\\n\");\n let indentLevel = ++this.indentLevel;\n indent(sb, indentLevel);\n this.visitExportMember(members[0]);\n for (let i = 1; i < numMembers; ++i) {\n sb.push(\",\\n\");\n indent(sb, indentLevel);\n this.visitExportMember(members[i]);\n }\n --this.indentLevel;\n sb.push(\"\\n}\");\n } else {\n sb.push(\"export {}\");\n }\n let path = node.path;\n if (path) {\n sb.push(\" from \");\n this.visitStringLiteralExpression(path);\n }\n sb.push(\";\");\n }\n\n visitExportDefaultStatement(node: ExportDefaultStatement): void {\n let declaration = node.declaration;\n switch (declaration.kind) {\n case NodeKind.EnumDeclaration: {\n this.visitEnumDeclaration(declaration, true);\n break;\n }\n case NodeKind.FunctionDeclaration: {\n this.visitFunctionDeclaration(declaration, true);\n break;\n }\n case NodeKind.ClassDeclaration: {\n this.visitClassDeclaration(declaration, true);\n break;\n }\n case NodeKind.InterfaceDeclaration: {\n this.visitInterfaceDeclaration(declaration, true);\n break;\n }\n case NodeKind.NamespaceDeclaration: {\n this.visitNamespaceDeclaration(declaration, true);\n break;\n }\n default: assert(false);\n }\n }\n\n visitExpressionStatement(node: ExpressionStatement): void {\n this.visitNode(node.expression);\n }\n\n visitFieldDeclaration(node: FieldDeclaration): void {\n let decorators = node.decorators;\n if (decorators) {\n for (let i = 0, k = decorators.length; i < k; ++i) {\n this.serializeDecorator(decorators[i]);\n }\n }\n this.serializeAccessModifiers(node);\n this.visitIdentifierExpression(node.name);\n let sb = this.sb;\n if (node.flags & CommonFlags.DefinitelyAssigned) {\n sb.push(\"!\");\n }\n let type = node.type;\n if (type) {\n sb.push(\": \");\n this.visitTypeNode(type);\n }\n let initializer = node.initializer;\n if (initializer) {\n sb.push(\" = \");\n this.visitNode(initializer);\n }\n }\n\n visitForStatement(node: ForStatement): void {\n let sb = this.sb;\n sb.push(\"for (\");\n let initializer = node.initializer;\n if (initializer) {\n this.visitNode(initializer);\n }\n let condition = node.condition;\n if (condition) {\n sb.push(\"; \");\n this.visitNode(condition);\n } else {\n sb.push(\";\");\n }\n let incrementor = node.incrementor;\n if (incrementor) {\n sb.push(\"; \");\n this.visitNode(incrementor);\n } else {\n sb.push(\";\");\n }\n sb.push(\") \");\n this.visitNode(node.body);\n }\n\n visitForOfStatement(node: ForOfStatement): void {\n let sb = this.sb;\n sb.push(\"for (\");\n this.visitNode(node.variable);\n sb.push(\" of \");\n this.visitNode(node.iterable);\n sb.push(\") \");\n this.visitNode(node.body);\n }\n\n visitFunctionDeclaration(node: FunctionDeclaration, isDefault: bool = false): void {\n let sb = this.sb;\n let decorators = node.decorators;\n if (decorators) {\n for (let i = 0, k = decorators.length; i < k; ++i) {\n this.serializeDecorator(decorators[i]);\n }\n }\n if (isDefault) {\n sb.push(\"export default \");\n } else {\n this.serializeExternalModifiers(node);\n this.serializeAccessModifiers(node);\n }\n if (node.name.text.length) {\n sb.push(\"function \");\n } else {\n sb.push(\"function\");\n }\n this.visitFunctionCommon(node);\n }\n\n visitFunctionCommon(node: FunctionDeclaration): void {\n let sb = this.sb;\n this.visitIdentifierExpression(node.name);\n let signature = node.signature;\n let typeParameters = node.typeParameters;\n if (typeParameters) {\n let numTypeParameters = typeParameters.length;\n if (numTypeParameters) {\n sb.push(\"<\");\n this.visitTypeParameter(typeParameters[0]);\n for (let i = 1; i < numTypeParameters; ++i) {\n sb.push(\", \");\n this.visitTypeParameter(typeParameters[i]);\n }\n sb.push(\">\");\n }\n }\n if (node.arrowKind == ArrowKind.Single) {\n let parameters = signature.parameters;\n assert(parameters.length == 1);\n assert(!signature.explicitThisType);\n this.serializeParameter(parameters[0]);\n } else {\n sb.push(\"(\");\n let parameters = signature.parameters;\n let numParameters = parameters.length;\n let explicitThisType = signature.explicitThisType;\n if (explicitThisType) {\n sb.push(\"this: \");\n this.visitTypeNode(explicitThisType);\n }\n if (numParameters) {\n if (explicitThisType) sb.push(\", \");\n this.serializeParameter(parameters[0]);\n for (let i = 1; i < numParameters; ++i) {\n sb.push(\", \");\n this.serializeParameter(parameters[i]);\n }\n }\n }\n let body = node.body;\n let returnType = signature.returnType;\n if (node.arrowKind) {\n if (body) {\n if (node.arrowKind == ArrowKind.Single) {\n assert(isTypeOmitted(returnType));\n } else {\n if (isTypeOmitted(returnType)) {\n sb.push(\")\");\n } else {\n sb.push(\"): \");\n this.visitTypeNode(returnType);\n }\n }\n sb.push(\" => \");\n this.visitNode(body);\n } else {\n assert(!isTypeOmitted(returnType));\n sb.push(\" => \");\n this.visitTypeNode(returnType);\n }\n } else {\n if (\n !isTypeOmitted(returnType) &&\n !node.isAny(CommonFlags.Constructor | CommonFlags.Set)\n ) {\n sb.push(\"): \");\n this.visitTypeNode(returnType);\n } else {\n sb.push(\")\");\n }\n if (body) {\n sb.push(\" \");\n this.visitNode(body);\n }\n }\n }\n\n visitIfStatement(node: IfStatement): void {\n let sb = this.sb;\n sb.push(\"if (\");\n this.visitNode(node.condition);\n sb.push(\") \");\n let ifTrue = node.ifTrue;\n this.visitNode(ifTrue);\n if (ifTrue.kind != NodeKind.Block) {\n sb.push(\";\\n\");\n }\n let ifFalse = node.ifFalse;\n if (ifFalse) {\n if (ifTrue.kind == NodeKind.Block) {\n sb.push(\" else \");\n } else {\n sb.push(\"else \");\n }\n this.visitNode(ifFalse);\n }\n }\n\n visitImportDeclaration(node: ImportDeclaration): void {\n let externalName = node.foreignName;\n let name = node.name;\n this.visitIdentifierExpression(externalName);\n if (externalName.text != name.text) {\n this.sb.push(\" as \");\n this.visitIdentifierExpression(name);\n }\n }\n\n visitImportStatement(node: ImportStatement): void {\n let sb = this.sb;\n sb.push(\"import \");\n let declarations = node.declarations;\n let namespaceName = node.namespaceName;\n if (declarations) {\n let numDeclarations = declarations.length;\n if (numDeclarations) {\n sb.push(\"{\\n\");\n let indentLevel = ++this.indentLevel;\n indent(sb, indentLevel);\n this.visitImportDeclaration(declarations[0]);\n for (let i = 1; i < numDeclarations; ++i) {\n sb.push(\",\\n\");\n indent(sb, indentLevel);\n this.visitImportDeclaration(declarations[i]);\n }\n --this.indentLevel;\n sb.push(\"\\n} from \");\n } else {\n sb.push(\"{} from \");\n }\n } else if (namespaceName) {\n sb.push(\"* as \");\n this.visitIdentifierExpression(namespaceName);\n sb.push(\" from \");\n }\n this.visitStringLiteralExpression(node.path);\n }\n\n visitIndexSignature(node: IndexSignatureNode): void {\n let sb = this.sb;\n sb.push(\"[key: \");\n this.visitTypeNode(node.keyType);\n sb.push(\"]: \");\n this.visitTypeNode(node.valueType);\n }\n\n visitInterfaceDeclaration(node: InterfaceDeclaration, isDefault: bool = false): void {\n let decorators = node.decorators;\n if (decorators) {\n for (let i = 0, k = decorators.length; i < k; ++i) {\n this.serializeDecorator(decorators[i]);\n }\n }\n let sb = this.sb;\n if (isDefault) {\n sb.push(\"export default \");\n } else {\n this.serializeExternalModifiers(node);\n }\n sb.push(\"interface \");\n this.visitIdentifierExpression(node.name);\n let typeParameters = node.typeParameters;\n if (typeParameters != null && typeParameters.length > 0) {\n sb.push(\"<\");\n this.visitTypeParameter(typeParameters[0]);\n for (let i = 1, k = typeParameters.length; i < k; ++i) {\n sb.push(\", \");\n this.visitTypeParameter(typeParameters[i]);\n }\n sb.push(\">\");\n }\n let extendsType = node.extendsType;\n if (extendsType) {\n sb.push(\" extends \");\n this.visitTypeNode(extendsType);\n }\n // must not have implementsTypes\n sb.push(\" {\\n\");\n let indentLevel = ++this.indentLevel;\n let members = node.members;\n for (let i = 0, k = members.length; i < k; ++i) {\n indent(sb, indentLevel);\n this.visitNodeAndTerminate(members[i]);\n }\n --this.indentLevel;\n sb.push(\"}\");\n }\n\n visitMethodDeclaration(node: MethodDeclaration): void {\n let decorators = node.decorators;\n if (decorators) {\n for (let i = 0, k = decorators.length; i < k; ++i) {\n this.serializeDecorator(decorators[i]);\n }\n }\n this.serializeAccessModifiers(node);\n if (node.is(CommonFlags.Get)) {\n this.sb.push(\"get \");\n } else if (node.is(CommonFlags.Set)) {\n this.sb.push(\"set \");\n }\n this.visitFunctionCommon(node);\n }\n\n visitNamespaceDeclaration(node: NamespaceDeclaration, isDefault: bool = false): void {\n let decorators = node.decorators;\n if (decorators) {\n for (let i = 0, k = decorators.length; i < k; ++i) {\n this.serializeDecorator(decorators[i]);\n }\n }\n let sb = this.sb;\n if (isDefault) {\n sb.push(\"export default \");\n } else {\n this.serializeExternalModifiers(node);\n }\n sb.push(\"namespace \");\n this.visitIdentifierExpression(node.name);\n let members = node.members;\n let numMembers = members.length;\n if (numMembers) {\n sb.push(\" {\\n\");\n let indentLevel = ++this.indentLevel;\n for (let i = 0, k = members.length; i < k; ++i) {\n indent(sb, indentLevel);\n this.visitNodeAndTerminate(members[i]);\n }\n indent(sb, --this.indentLevel);\n sb.push(\"}\");\n } else {\n sb.push(\" {}\");\n }\n }\n\n visitReturnStatement(node: ReturnStatement): void {\n let value = node.value;\n if (value) {\n this.sb.push(\"return \");\n this.visitNode(value);\n } else {\n this.sb.push(\"return\");\n }\n }\n\n visitSwitchCase(node: SwitchCase): void {\n let sb = this.sb;\n let label = node.label;\n if (label) {\n sb.push(\"case \");\n this.visitNode(label);\n sb.push(\":\\n\");\n } else {\n sb.push(\"default:\\n\");\n }\n let statements = node.statements;\n let numStatements = statements.length;\n if (numStatements) {\n let indentLevel = ++this.indentLevel;\n indent(sb, indentLevel);\n this.visitNodeAndTerminate(statements[0]);\n for (let i = 1; i < numStatements; ++i) {\n indent(sb, indentLevel);\n this.visitNodeAndTerminate(statements[i]);\n }\n --this.indentLevel;\n }\n }\n\n visitSwitchStatement(node: SwitchStatement): void {\n let sb = this.sb;\n sb.push(\"switch (\");\n this.visitNode(node.condition);\n sb.push(\") {\\n\");\n let indentLevel = ++this.indentLevel;\n let cases = node.cases;\n for (let i = 0, k = cases.length; i < k; ++i) {\n indent(sb, indentLevel);\n this.visitSwitchCase(cases[i]);\n sb.push(\"\\n\");\n }\n --this.indentLevel;\n sb.push(\"}\");\n }\n\n visitThrowStatement(node: ThrowStatement): void {\n this.sb.push(\"throw \");\n this.visitNode(node.value);\n }\n\n visitTryStatement(node: TryStatement): void {\n let sb = this.sb;\n sb.push(\"try {\\n\");\n let indentLevel = ++this.indentLevel;\n let bodyStatements = node.bodyStatements;\n for (let i = 0, k = bodyStatements.length; i < k; ++i) {\n indent(sb, indentLevel);\n this.visitNodeAndTerminate(bodyStatements[i]);\n }\n let catchVariable = node.catchVariable;\n if (catchVariable) {\n indent(sb, indentLevel - 1);\n sb.push(\"} catch (\");\n this.visitIdentifierExpression(catchVariable);\n sb.push(\") {\\n\");\n let catchStatements = node.catchStatements;\n if (catchStatements) {\n for (let i = 0, k = catchStatements.length; i < k; ++i) {\n indent(sb, indentLevel);\n this.visitNodeAndTerminate(catchStatements[i]);\n }\n }\n }\n let finallyStatements = node.finallyStatements;\n if (finallyStatements) {\n indent(sb, indentLevel - 1);\n sb.push(\"} finally {\\n\");\n for (let i = 0, k = finallyStatements.length; i < k; ++i) {\n indent(sb, indentLevel);\n this.visitNodeAndTerminate(finallyStatements[i]);\n }\n }\n indent(sb, indentLevel - 1);\n sb.push(\"}\");\n }\n\n visitTypeDeclaration(node: TypeDeclaration): void {\n let decorators = node.decorators;\n if (decorators) {\n for (let i = 0, k = decorators.length; i < k; ++i) {\n this.serializeDecorator(decorators[i]);\n }\n }\n let sb = this.sb;\n this.serializeExternalModifiers(node);\n sb.push(\"type \");\n this.visitIdentifierExpression(node.name);\n let typeParameters = node.typeParameters;\n if (typeParameters) {\n let numTypeParameters = typeParameters.length;\n if (numTypeParameters) {\n sb.push(\"<\");\n for (let i = 0; i < numTypeParameters; ++i) {\n this.visitTypeParameter(typeParameters[i]);\n }\n sb.push(\">\");\n }\n }\n sb.push(\" = \");\n this.visitTypeNode(node.type);\n }\n\n visitModuleDeclaration(node: ModuleDeclaration): void {\n let sb = this.sb;\n if (node.flags & CommonFlags.Declare) {\n sb.push(\"declare \");\n }\n sb.push(\"module \\\"\");\n sb.push(escapeString(node.moduleName, CharCode.DoubleQuote));\n sb.push(\"\\\"\");\n }\n\n visitVariableDeclaration(node: VariableDeclaration): void {\n this.visitIdentifierExpression(node.name);\n let type = node.type;\n let sb = this.sb;\n if (node.flags & CommonFlags.DefinitelyAssigned) {\n sb.push(\"!\");\n }\n if (type) {\n sb.push(\": \");\n this.visitTypeNode(type);\n }\n let initializer = node.initializer;\n if (initializer) {\n sb.push(\" = \");\n this.visitNode(initializer);\n }\n }\n\n visitVariableStatement(node: VariableStatement): void {\n let decorators = node.decorators;\n if (decorators) {\n for (let i = 0, k = decorators.length; i < k; ++i) {\n this.serializeDecorator(decorators[i]);\n }\n }\n let sb = this.sb;\n let declarations = node.declarations;\n let numDeclarations = assert(declarations.length);\n let firstDeclaration = declarations[0];\n this.serializeExternalModifiers(firstDeclaration);\n sb.push(firstDeclaration.is(CommonFlags.Const) ? \"const \" : firstDeclaration.is(CommonFlags.Let) ? \"let \" : \"var \");\n this.visitVariableDeclaration(node.declarations[0]);\n for (let i = 1; i < numDeclarations; ++i) {\n sb.push(\", \");\n this.visitVariableDeclaration(node.declarations[i]);\n }\n }\n\n visitWhileStatement(node: WhileStatement): void {\n let sb = this.sb;\n sb.push(\"while (\");\n this.visitNode(node.condition);\n let body = node.body;\n if (body.isEmpty) {\n sb.push(\")\");\n } else {\n sb.push(\") \");\n this.visitNode(body);\n }\n }\n\n // other\n\n serializeDecorator(node: DecoratorNode): void {\n let sb = this.sb;\n sb.push(\"@\");\n this.visitNode(node.name);\n let args = node.args;\n if (args) {\n sb.push(\"(\");\n let numArgs = args.length;\n if (numArgs) {\n this.visitNode(args[0]);\n for (let i = 1; i < numArgs; ++i) {\n sb.push(\", \");\n this.visitNode(args[i]);\n }\n }\n sb.push(\")\\n\");\n } else {\n sb.push(\"\\n\");\n }\n indent(sb, this.indentLevel);\n }\n\n serializeParameter(node: ParameterNode): void {\n let sb = this.sb;\n let kind = node.parameterKind;\n let implicitFieldDeclaration = node.implicitFieldDeclaration;\n if (implicitFieldDeclaration) {\n this.serializeAccessModifiers(implicitFieldDeclaration);\n }\n if (kind == ParameterKind.Rest) {\n sb.push(\"...\");\n }\n this.visitIdentifierExpression(node.name);\n let type = node.type;\n let initializer = node.initializer;\n if (type) {\n if (kind == ParameterKind.Optional && !initializer) sb.push(\"?\");\n if (!isTypeOmitted(type)) {\n sb.push(\": \");\n this.visitTypeNode(type);\n }\n }\n if (initializer) {\n sb.push(\" = \");\n this.visitNode(initializer);\n }\n }\n\n serializeExternalModifiers(node: DeclarationStatement): void {\n let sb = this.sb;\n if (node.is(CommonFlags.Export)) {\n sb.push(\"export \");\n } else if (node.is(CommonFlags.Import)) {\n sb.push(\"import \");\n } else if (node.is(CommonFlags.Declare)) {\n sb.push(\"declare \");\n }\n }\n\n serializeAccessModifiers(node: DeclarationStatement): void {\n let sb = this.sb;\n if (node.is(CommonFlags.Declare)) {\n sb.push(\"declare \");\n }\n if (node.is(CommonFlags.Public)) {\n sb.push(\"public \");\n } else if (node.is(CommonFlags.Private)) {\n sb.push(\"private \");\n } else if (node.is(CommonFlags.Protected)) {\n sb.push(\"protected \");\n }\n if (node.is(CommonFlags.Static)) {\n sb.push(\"static \");\n } else if (node.is(CommonFlags.Abstract)) {\n sb.push(\"abstract \");\n }\n if (node.is(CommonFlags.Readonly)) {\n sb.push(\"readonly \");\n }\n }\n\n finish(): string {\n let ret = this.sb.join(\"\");\n this.sb = [];\n return ret;\n }\n}\n", "/**\n * @license\n * Copyright 2020 Daniel Wirtz / The AssemblyScript Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\nexport * from \"./index-js\";\nimport * as assemblyscript from \"./index-js\";\nexport default assemblyscript;\n"], - "mappings": "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,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,IAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OACxD,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OACxD,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OACxD,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OACxD,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OACxD,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OACxD,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OACxD,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OACxD,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OACxD,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OACxD,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OACxD,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OACxD,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OACxD,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OACxD,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OACxD,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OACxD,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OACxD,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OACxD,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OACxD,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OACxD,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OACxD,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OACxD,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OACxD,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OACxD,OAAQ,OAAQ,OAAQ,MAC1B,EACMH,GAA4B,IAC5BC,GAA4B,OAG5BM,GAA+B,CAEnC,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IACxD,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IACxD,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IACxD,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,IACxD,IAAQ,IAAQ,IAAQ,IAAQ,IAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,IAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KACxD,KAAQ,KAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MACxD,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,OAAQ,OAAQ,OACxD,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OACxD,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OACxD,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OACxD,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OACxD,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OACxD,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OACxD,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OACxD,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OACxD,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ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", - "names": ["index_js_exports", "__export", "ASTBuilder", "ArrayLiteralExpression", "ArrowKind", "AssertionExpression", "AssertionKind", "AtomicRMWOp", "BinaryExpression", "BinaryModule", "BinaryOp", "BlockStatement", "BrOnOp", "BreakStatement", "CallExpression", "Class", "ClassDeclaration", "ClassExpression", "ClassPrototype", "CommaExpression", "CommentKind", "CommentNode", "CommonFlags", "CommonNames", "CompiledExpression", "Compiler", "ConditionKind", "ConstantValueKind", "Constraints", "ConstructorExpression", "ContinueStatement", "DEFAULT_STACK_SIZE", "DeclarationStatement", "DeclaredElement", "DecoratorFlags", "DecoratorKind", "DecoratorNode", "DiagnosticCategory", "DiagnosticCode", "DiagnosticEmitter", "DiagnosticMessage", "DoStatement", "Element", "ElementAccessExpression", "ElementKind", "EmptyStatement", "Enum", "EnumDeclaration", "EnumValue", "EnumValueDeclaration", "ExportDefaultStatement", "ExportImportStatement", "ExportMember", "ExportNames", "ExportStatement", "Expression", "ExpressionId", "ExpressionRunnerFlags", "ExpressionStatement", "ExternalKind", "FEATURES_ALL", "FEATURES_DEFAULT", "FEATURE_BULK_MEMORY", "FEATURE_EXCEPTION_HANDLING", "FEATURE_EXTENDED_CONST", "FEATURE_GC", "FEATURE_MEMORY64", "FEATURE_MULTI_VALUE", "FEATURE_MUTABLE_GLOBALS", "FEATURE_NONTRAPPING_F2I", "FEATURE_REFERENCE_TYPES", "FEATURE_RELAXED_SIMD", "FEATURE_SIGN_EXTENSION", "FEATURE_SIMD", "FEATURE_STRINGREF", "FEATURE_TAIL_CALLS", "FEATURE_THREADS", "FalseExpression", "Feature", "FeatureFlags", "FieldDeclaration", "FieldFlags", "File", "FloatLiteralExpression", "Flow", "FlowFlags", "ForOfStatement", "ForStatement", "Function", "FunctionDeclaration", "FunctionExpression", "FunctionPrototype", "FunctionTypeNode", "GETTER_PREFIX", "Global", "HeapTypeRef", "INDEX_SUFFIX", "INNER_DELIMITER", "INSTANCE_DELIMITER", "IdentifierExpression", "IdentifierHandling", "IfStatement", "ImportDeclaration", "ImportNames", "ImportStatement", "IndexSignature", "IndexSignatureNode", "InstanceOfExpression", "IntegerLiteralExpression", "Interface", "InterfaceDeclaration", "InterfacePrototype", "JSBuilder", "LIBRARY_PREFIX", "LIBRARY_SUBST", "LiteralExpression", "LiteralKind", "Local", "LocalFlags", "MemorySegment", "MethodDeclaration", "Module", "ModuleDeclaration", "NamedTypeNode", "Namespace", "NamespaceDeclaration", "NewExpression", "Node", "NodeKind", "NullExpression", "ObjectLiteralExpression", "OmittedExpression", "OperatorKind", "Options", "PARENT_SUBST", "PATH_DELIMITER", "PackedType", "Parameter", "ParameterKind", "ParameterNode", "ParenthesizedExpression", "Parser", "Precedence", "Program", "Property", "PropertyAccessExpression", "PropertyPrototype", "Range", "RefAsOp", "RegexpLiteralExpression", "Relooper", "ReportMode", "Resolver", "ReturnStatement", "Runtime", "RuntimeFeatures", "SETTER_PREFIX", "SIMDExtractOp", "SIMDLoadOp", "SIMDLoadStoreLaneOp", "SIMDReplaceOp", "SIMDShiftOp", "SIMDTernaryOp", "STATIC_DELIMITER", "STUB_DELIMITER", "SideEffects", "Signature", "Source", "SourceKind", "State", "Statement", "StringAsOp", "StringEncodeOp", "StringEqOp", "StringIterMoveOp", "StringLiteralExpression", "StringMeasureOp", "StringNewOp", "StringSliceWTFOp", "SuperExpression", "SwitchBuilder", "SwitchCase", "SwitchStatement", "TSDBuilder", "Target", "TemplateLiteralExpression", "TernaryExpression", "ThisExpression", "ThrowStatement", "Token", "Tokenizer", "TrueExpression", "TryStatement", "Type", "TypeBuilderErrorReason", "TypeDeclaration", "TypeDefinition", "TypeFlags", "TypeKind", "TypeName", "TypeNode", "TypeParameterNode", "TypeRef", "TypedElement", "Typeinfo", "TypeinfoFlags", "UnaryExpression", "UnaryOp", "UnaryPostfixExpression", "UnaryPrefixExpression", "UncheckedBehavior", "VariableDeclaration", "VariableLikeDeclarationStatement", "VariableLikeElement", "VariableStatement", "VoidStatement", "WhileStatement", "addGlobalAlias", "allocPtrArray", "buildJS", "buildTSD", "compile", "createType", "defaultFeatures", "diagnosticCategoryToColor", "diagnosticCategoryToString", "diagnosticCodeToString", "ensureType", "expandType", "featureToString", "findDecorator", "formatDiagnosticMessage", "getBinaryLeft", "getBinaryOp", "getBinaryRight", "getBinaryenModuleRef", "getBlockChildAt", "getBlockChildCount", "getBlockName", "getBreakCondition", "getBreakName", "getCallOperandAt", "getCallOperandCount", "getCallTarget", "getConstValueF32", "getConstValueF64", "getConstValueI32", "getConstValueI64High", "getConstValueI64Low", "getConstValueV128", "getDefaultParameterName", "getDependee", "getDiagnosticCategory", "getDiagnosticCode", "getDiagnosticMessage", "getDiagnosticRange", "getDiagnosticRelatedRange", "getDropValue", "getExpressionId", "getExpressionType", "getFunctionBody", "getFunctionName", "getFunctionParams", "getFunctionResults", "getFunctionVars", "getGlobalGetName", "getGlobalInit", "getGlobalName", "getGlobalType", "getIfCondition", "getIfFalse", "getIfTrue", "getLoadBytes", "getLoadOffset", "getLoadPtr", "getLocalGetIndex", "getLocalSetIndex", "getLocalSetValue", "getLoopBody", "getLoopName", "getMemoryGrowDelta", "getRangeEnd", "getRangeSource", "getRangeStart", "getReturnValue", "getSelectCondition", "getSelectElse", "getSelectThen", "getSideEffects", "getSource", "getSourceNormalizedPath", "getStoreBytes", "getStoreOffset", "getStorePtr", "getStoreValue", "getTagName", "getTagParams", "getTagResults", "getUnaryOp", "getUnaryValue", "initializeProgram", "isConstExpressionNaN", "isConstNaN", "isConstNegZero", "isConstNonZero", "isConstZero", "isDeclaredElement", "isError", "isGlobalMutable", "isIllegalVariableIdentifier", "isInfo", "isLoadSigned", "isLocalTee", "isNullableType", "isTypeOmitted", "isTypedElement", "isWarning", "mangleInternalName", "mangleInternalPath", "mustPreserveSideEffects", "newOptions", "newProgram", "nextDiagnostic", "nextFile", "operatorTokenToString", "optimize", "parse", "readString", "removeGlobalAlias", "runtimeFunctions", "runtimeGlobals", "setBasenameHint", "setBindingsHint", "setBundleVersion", "setDebugInfo", "setExportMemory", "setExportRuntime", "setExportStart", "setExportTable", "setFeature", "setImportMemory", "setImportTable", "setInitialMemory", "setLowMemoryLimit", "setMaximumMemory", "setMemoryBase", "setNoAssert", "setNoUnsafe", "setOptimizeLevelHints", "setPedantic", "setRuntime", "setSharedMemory", "setSourceMap", "setStackSize", "setTableBase", "setTarget", "setUncheckedBehavior", "tokenFromKeyword", "tokenIsAlsoIdentifier", "typesToRefs", "typesToString", "util_exports", "validate", "globalScope", "UnreachableError", "AssertionError", "message", "defaultComparator", "b", "nanA", "nanB", "F64", "U64", "value", "str", "radix", "shift", "y", "ifTrue", "ifFalse", "condition", "x", "a", "isTrueish", "arr", "len", "index", "parts", "search", "replacment", "res", "arraySort", "comparator", "Ctr", "fn", "i", "buffer", "byteOffset", "length", "arg", "expr", "n", "binaryen_exports", "__export", "default", "__reExport", "binaryen_star", "_BinaryenTypeCreate", "_BinaryenTypeArity", "_BinaryenTypeExpand", "_BinaryenTypeGetHeapType", "_BinaryenTypeFromHeapType", "_BinaryenTypeIsNullable", "_BinaryenTypeFuncref", "_BinaryenTypeExternref", "_BinaryenTypeAnyref", "_BinaryenTypeEqref", "_BinaryenTypeI31ref", "_BinaryenTypeStructref", "_BinaryenTypeArrayref", "_BinaryenTypeStringref", "_BinaryenTypeStringviewWTF8", "_BinaryenTypeStringviewWTF16", "_BinaryenTypeStringviewIter", "_BinaryenTypeNullref", "_BinaryenTypeNullExternref", "_BinaryenTypeNullFuncref", "_BinaryenHeapTypeFunc", "_BinaryenHeapTypeExt", "_BinaryenHeapTypeAny", "_BinaryenHeapTypeEq", "_BinaryenHeapTypeI31", "_BinaryenHeapTypeStruct", "_BinaryenHeapTypeArray", "_BinaryenHeapTypeString", "_BinaryenHeapTypeStringviewWTF8", "_BinaryenHeapTypeStringviewWTF16", "_BinaryenHeapTypeStringviewIter", "_BinaryenHeapTypeNone", "_BinaryenHeapTypeNoext", "_BinaryenHeapTypeNofunc", "_BinaryenHeapTypeIsBasic", "_BinaryenHeapTypeIsSignature", "_BinaryenHeapTypeIsStruct", "_BinaryenHeapTypeIsArray", "_BinaryenHeapTypeIsBottom", "_BinaryenHeapTypeGetBottom", "_BinaryenHeapTypeIsSubType", "_BinaryenStructTypeGetNumFields", "_BinaryenStructTypeGetFieldType", "_BinaryenStructTypeGetFieldPackedType", "_BinaryenStructTypeIsFieldMutable", "_BinaryenArrayTypeGetElementType", "_BinaryenArrayTypeGetElementPackedType", "_BinaryenArrayTypeIsElementMutable", "_BinaryenSignatureTypeGetParams", "_BinaryenSignatureTypeGetResults", "_BinaryenModuleCreate", "_BinaryenModuleDispose", "_BinaryenSizeofLiteral", "_BinaryenLiteralInt32", "_BinaryenLiteralInt64", "_BinaryenLiteralFloat32", "_BinaryenLiteralFloat64", "_BinaryenLiteralVec128", "_BinaryenLiteralFloat32Bits", "_BinaryenLiteralFloat64Bits", "_BinaryenExpressionGetId", "_BinaryenExpressionGetType", "_BinaryenExpressionSetType", "_BinaryenExpressionPrint", "_BinaryenExpressionCopy", "_BinaryenExpressionFinalize", "_BinaryenBlock", "_BinaryenBlockGetName", "_BinaryenBlockSetName", "_BinaryenBlockGetNumChildren", "_BinaryenBlockGetChildAt", "_BinaryenBlockSetChildAt", "_BinaryenBlockAppendChild", "_BinaryenBlockInsertChildAt", "_BinaryenBlockRemoveChildAt", "_BinaryenIf", "_BinaryenIfGetCondition", "_BinaryenIfSetCondition", "_BinaryenIfGetIfTrue", "_BinaryenIfSetIfTrue", "_BinaryenIfGetIfFalse", "_BinaryenIfSetIfFalse", "_BinaryenLoop", "_BinaryenLoopGetName", "_BinaryenLoopSetName", "_BinaryenLoopGetBody", "_BinaryenLoopSetBody", "_BinaryenBreak", "_BinaryenBreakGetName", "_BinaryenBreakSetName", "_BinaryenBreakGetCondition", "_BinaryenBreakSetCondition", "_BinaryenBreakGetValue", "_BinaryenBreakSetValue", "_BinaryenSwitch", "_BinaryenSwitchGetNumNames", "_BinaryenSwitchGetNameAt", "_BinaryenSwitchSetNameAt", "_BinaryenSwitchAppendName", "_BinaryenSwitchInsertNameAt", "_BinaryenSwitchRemoveNameAt", "_BinaryenSwitchGetDefaultName", "_BinaryenSwitchSetDefaultName", "_BinaryenSwitchGetCondition", "_BinaryenSwitchSetCondition", "_BinaryenSwitchGetValue", "_BinaryenSwitchSetValue", "_BinaryenCall", "_BinaryenCallGetTarget", "_BinaryenCallSetTarget", "_BinaryenCallGetNumOperands", "_BinaryenCallGetOperandAt", "_BinaryenCallSetOperandAt", "_BinaryenCallAppendOperand", "_BinaryenCallInsertOperandAt", "_BinaryenCallRemoveOperandAt", "_BinaryenCallIsReturn", "_BinaryenCallSetReturn", "_BinaryenReturnCall", "_BinaryenCallIndirect", "_BinaryenCallIndirectGetTable", "_BinaryenCallIndirectSetTable", "_BinaryenCallIndirectGetTarget", "_BinaryenCallIndirectSetTarget", "_BinaryenCallIndirectGetNumOperands", "_BinaryenCallIndirectGetOperandAt", "_BinaryenCallIndirectSetOperandAt", "_BinaryenCallIndirectAppendOperand", "_BinaryenCallIndirectInsertOperandAt", "_BinaryenCallIndirectRemoveOperandAt", "_BinaryenCallIndirectIsReturn", "_BinaryenCallIndirectSetReturn", "_BinaryenReturnCallIndirect", "_BinaryenLocalGet", "_BinaryenLocalGetGetIndex", "_BinaryenLocalGetSetIndex", "_BinaryenLocalSet", "_BinaryenLocalSetIsTee", "_BinaryenLocalSetGetIndex", "_BinaryenLocalSetSetIndex", "_BinaryenLocalSetGetValue", "_BinaryenLocalSetSetValue", "_BinaryenLocalTee", "_BinaryenGlobalGet", "_BinaryenGlobalGetGetName", "_BinaryenGlobalGetSetName", "_BinaryenGlobalSet", "_BinaryenGlobalSetGetName", "_BinaryenGlobalSetSetName", "_BinaryenGlobalSetGetValue", "_BinaryenGlobalSetSetValue", "_BinaryenMemorySize", "_BinaryenMemoryGrow", "_BinaryenMemoryGrowGetDelta", "_BinaryenMemoryGrowSetDelta", "_BinaryenLoad", "_BinaryenLoadIsAtomic", "_BinaryenLoadSetAtomic", "_BinaryenLoadIsSigned", "_BinaryenLoadSetSigned", "_BinaryenLoadGetOffset", "_BinaryenLoadSetOffset", "_BinaryenLoadGetBytes", "_BinaryenLoadSetBytes", "_BinaryenLoadGetAlign", "_BinaryenLoadSetAlign", "_BinaryenLoadGetPtr", "_BinaryenLoadSetPtr", "_BinaryenAtomicLoad", "_BinaryenStore", "_BinaryenStoreIsAtomic", "_BinaryenStoreSetAtomic", "_BinaryenStoreGetBytes", "_BinaryenStoreSetBytes", "_BinaryenStoreGetOffset", "_BinaryenStoreSetOffset", "_BinaryenStoreGetAlign", "_BinaryenStoreSetAlign", "_BinaryenStoreGetPtr", "_BinaryenStoreSetPtr", "_BinaryenStoreGetValue", "_BinaryenStoreSetValue", "_BinaryenStoreGetValueType", "_BinaryenStoreSetValueType", "_BinaryenAtomicStore", "_BinaryenConst", "_BinaryenConstGetValueI32", "_BinaryenConstSetValueI32", "_BinaryenConstGetValueI64Low", "_BinaryenConstSetValueI64Low", "_BinaryenConstGetValueI64High", "_BinaryenConstSetValueI64High", "_BinaryenConstGetValueF32", "_BinaryenConstSetValueF32", "_BinaryenConstGetValueF64", "_BinaryenConstSetValueF64", "_BinaryenConstGetValueV128", "_BinaryenConstSetValueV128", "_BinaryenUnary", "_BinaryenUnaryGetOp", "_BinaryenUnarySetOp", "_BinaryenUnaryGetValue", "_BinaryenUnarySetValue", "_BinaryenBinary", "_BinaryenBinaryGetOp", "_BinaryenBinarySetOp", "_BinaryenBinaryGetLeft", "_BinaryenBinarySetLeft", "_BinaryenBinaryGetRight", "_BinaryenBinarySetRight", "_BinaryenSelect", "_BinaryenSelectGetIfTrue", "_BinaryenSelectSetIfTrue", "_BinaryenSelectGetIfFalse", "_BinaryenSelectSetIfFalse", "_BinaryenSelectGetCondition", "_BinaryenSelectSetCondition", "_BinaryenDrop", "_BinaryenDropGetValue", "_BinaryenDropSetValue", "_BinaryenReturn", "_BinaryenReturnGetValue", "_BinaryenReturnSetValue", "_BinaryenNop", "_BinaryenUnreachable", "_BinaryenAtomicRMW", "_BinaryenAtomicRMWGetOp", "_BinaryenAtomicRMWSetOp", "_BinaryenAtomicRMWGetBytes", "_BinaryenAtomicRMWSetBytes", "_BinaryenAtomicRMWGetOffset", "_BinaryenAtomicRMWSetOffset", "_BinaryenAtomicRMWGetPtr", "_BinaryenAtomicRMWSetPtr", "_BinaryenAtomicRMWGetValue", "_BinaryenAtomicRMWSetValue", "_BinaryenAtomicCmpxchg", "_BinaryenAtomicCmpxchgGetBytes", "_BinaryenAtomicCmpxchgSetBytes", "_BinaryenAtomicCmpxchgGetOffset", "_BinaryenAtomicCmpxchgSetOffset", "_BinaryenAtomicCmpxchgGetPtr", "_BinaryenAtomicCmpxchgSetPtr", "_BinaryenAtomicCmpxchgGetExpected", "_BinaryenAtomicCmpxchgSetExpected", "_BinaryenAtomicCmpxchgGetReplacement", "_BinaryenAtomicCmpxchgSetReplacement", "_BinaryenAtomicWait", "_BinaryenAtomicWaitGetPtr", "_BinaryenAtomicWaitSetPtr", "_BinaryenAtomicWaitGetExpected", "_BinaryenAtomicWaitSetExpected", "_BinaryenAtomicWaitGetTimeout", "_BinaryenAtomicWaitSetTimeout", "_BinaryenAtomicWaitGetExpectedType", "_BinaryenAtomicWaitSetExpectedType", "_BinaryenAtomicNotify", "_BinaryenAtomicNotifyGetPtr", "_BinaryenAtomicNotifySetPtr", "_BinaryenAtomicNotifyGetNotifyCount", "_BinaryenAtomicNotifySetNotifyCount", "_BinaryenAtomicFence", "_BinaryenAtomicFenceGetOrder", "_BinaryenAtomicFenceSetOrder", "_BinaryenSIMDExtract", "_BinaryenSIMDExtractGetOp", "_BinaryenSIMDExtractSetOp", "_BinaryenSIMDExtractGetVec", "_BinaryenSIMDExtractSetVec", "_BinaryenSIMDExtractGetIndex", "_BinaryenSIMDExtractSetIndex", "_BinaryenSIMDReplace", "_BinaryenSIMDReplaceGetOp", "_BinaryenSIMDReplaceSetOp", "_BinaryenSIMDReplaceGetVec", "_BinaryenSIMDReplaceSetVec", "_BinaryenSIMDReplaceGetIndex", "_BinaryenSIMDReplaceSetIndex", "_BinaryenSIMDReplaceGetValue", "_BinaryenSIMDReplaceSetValue", "_BinaryenSIMDShuffle", "_BinaryenSIMDShuffleGetLeft", "_BinaryenSIMDShuffleSetLeft", "_BinaryenSIMDShuffleGetRight", "_BinaryenSIMDShuffleSetRight", "_BinaryenSIMDShuffleGetMask", "_BinaryenSIMDShuffleSetMask", "_BinaryenSIMDTernary", "_BinaryenSIMDTernaryGetOp", "_BinaryenSIMDTernarySetOp", "_BinaryenSIMDTernaryGetA", "_BinaryenSIMDTernarySetA", "_BinaryenSIMDTernaryGetB", "_BinaryenSIMDTernarySetB", "_BinaryenSIMDTernaryGetC", "_BinaryenSIMDTernarySetC", "_BinaryenSIMDShift", "_BinaryenSIMDShiftGetOp", "_BinaryenSIMDShiftSetOp", "_BinaryenSIMDShiftGetVec", "_BinaryenSIMDShiftSetVec", "_BinaryenSIMDShiftGetShift", "_BinaryenSIMDShiftSetShift", "_BinaryenSIMDLoad", "_BinaryenSIMDLoadGetOp", "_BinaryenSIMDLoadSetOp", "_BinaryenSIMDLoadGetOffset", "_BinaryenSIMDLoadSetOffset", "_BinaryenSIMDLoadGetAlign", "_BinaryenSIMDLoadSetAlign", "_BinaryenSIMDLoadGetPtr", "_BinaryenSIMDLoadSetPtr", "_BinaryenSIMDLoadStoreLane", "_BinaryenSIMDLoadStoreLaneGetOp", "_BinaryenSIMDLoadStoreLaneSetOp", "_BinaryenSIMDLoadStoreLaneGetOffset", "_BinaryenSIMDLoadStoreLaneSetOffset", "_BinaryenSIMDLoadStoreLaneGetAlign", "_BinaryenSIMDLoadStoreLaneSetAlign", "_BinaryenSIMDLoadStoreLaneGetIndex", "_BinaryenSIMDLoadStoreLaneSetIndex", "_BinaryenSIMDLoadStoreLaneGetPtr", "_BinaryenSIMDLoadStoreLaneSetPtr", "_BinaryenSIMDLoadStoreLaneGetVec", "_BinaryenSIMDLoadStoreLaneSetVec", "_BinaryenSIMDLoadStoreLaneIsStore", "_BinaryenMemoryInit", "_BinaryenMemoryInitGetSegment", "_BinaryenMemoryInitSetSegment", "_BinaryenMemoryInitGetDest", "_BinaryenMemoryInitSetDest", "_BinaryenMemoryInitGetOffset", "_BinaryenMemoryInitSetOffset", "_BinaryenMemoryInitGetSize", "_BinaryenMemoryInitSetSize", "_BinaryenDataDrop", "_BinaryenDataDropGetSegment", "_BinaryenDataDropSetSegment", "_BinaryenMemoryCopy", "_BinaryenMemoryCopyGetDest", "_BinaryenMemoryCopySetDest", "_BinaryenMemoryCopyGetSource", "_BinaryenMemoryCopySetSource", "_BinaryenMemoryCopyGetSize", "_BinaryenMemoryCopySetSize", "_BinaryenMemoryFill", "_BinaryenMemoryFillGetDest", "_BinaryenMemoryFillSetDest", "_BinaryenMemoryFillGetValue", "_BinaryenMemoryFillSetValue", "_BinaryenMemoryFillGetSize", "_BinaryenMemoryFillSetSize", "_BinaryenRefNull", "_BinaryenRefIsNull", "_BinaryenRefIsNullGetValue", "_BinaryenRefIsNullSetValue", "_BinaryenRefAs", "_BinaryenRefAsGetOp", "_BinaryenRefAsSetOp", "_BinaryenRefAsGetValue", "_BinaryenRefAsSetValue", "_BinaryenRefFunc", "_BinaryenRefFuncGetFunc", "_BinaryenRefFuncSetFunc", "_BinaryenRefEq", "_BinaryenRefEqGetLeft", "_BinaryenRefEqSetLeft", "_BinaryenRefEqGetRight", "_BinaryenRefEqSetRight", "_BinaryenTableGet", "_BinaryenTableGetGetTable", "_BinaryenTableGetSetTable", "_BinaryenTableGetGetIndex", "_BinaryenTableGetSetIndex", "_BinaryenTableSet", "_BinaryenTableSetGetTable", "_BinaryenTableSetSetTable", "_BinaryenTableSetGetIndex", "_BinaryenTableSetSetIndex", "_BinaryenTableSetGetValue", "_BinaryenTableSetSetValue", "_BinaryenTableSize", "_BinaryenTableSizeGetTable", "_BinaryenTableSizeSetTable", "_BinaryenTableGrow", "_BinaryenTableGrowGetTable", "_BinaryenTableGrowSetTable", "_BinaryenTableGrowGetValue", "_BinaryenTableGrowSetValue", "_BinaryenTableGrowGetDelta", "_BinaryenTableGrowSetDelta", "_BinaryenTry", "_BinaryenTryGetName", "_BinaryenTrySetName", "_BinaryenTryGetBody", "_BinaryenTrySetBody", "_BinaryenTryGetNumCatchTags", "_BinaryenTryGetNumCatchBodies", "_BinaryenTryGetCatchTagAt", "_BinaryenTrySetCatchTagAt", "_BinaryenTryAppendCatchTag", "_BinaryenTryInsertCatchTagAt", "_BinaryenTryRemoveCatchTagAt", "_BinaryenTryGetCatchBodyAt", "_BinaryenTrySetCatchBodyAt", "_BinaryenTryAppendCatchBody", "_BinaryenTryInsertCatchBodyAt", "_BinaryenTryRemoveCatchBodyAt", "_BinaryenTryHasCatchAll", "_BinaryenTryGetDelegateTarget", "_BinaryenTrySetDelegateTarget", "_BinaryenTryIsDelegate", "_BinaryenThrow", "_BinaryenThrowGetTag", "_BinaryenThrowSetTag", "_BinaryenThrowGetNumOperands", "_BinaryenThrowGetOperandAt", "_BinaryenThrowSetOperandAt", "_BinaryenThrowAppendOperand", "_BinaryenThrowInsertOperandAt", "_BinaryenThrowRemoveOperandAt", "_BinaryenRethrow", "_BinaryenRethrowGetTarget", "_BinaryenRethrowSetDepth", "_BinaryenTupleMake", "_BinaryenTupleMakeGetNumOperands", "_BinaryenTupleMakeGetOperandAt", "_BinaryenTupleMakeSetOperandAt", "_BinaryenTupleMakeAppendOperand", "_BinaryenTupleMakeInsertOperandAt", "_BinaryenTupleMakeRemoveOperandAt", "_BinaryenTupleExtract", "_BinaryenTupleExtractGetTuple", "_BinaryenTupleExtractSetTuple", "_BinaryenTupleExtractGetIndex", "_BinaryenTupleExtractSetIndex", "_BinaryenPop", "_BinaryenRefI31", "_BinaryenRefI31GetValue", "_BinaryenRefI31SetValue", "_BinaryenI31Get", "_BinaryenI31GetGetI31", "_BinaryenI31GetSetI31", "_BinaryenI31GetIsSigned", "_BinaryenI31GetSetSigned", "_BinaryenCallRef", "_BinaryenCallRefGetNumOperands", "_BinaryenCallRefGetOperandAt", "_BinaryenCallRefSetOperandAt", "_BinaryenCallRefAppendOperand", "_BinaryenCallRefInsertOperandAt", "_BinaryenCallRefRemoveOperandAt", "_BinaryenCallRefGetTarget", "_BinaryenCallRefSetTarget", "_BinaryenCallRefIsReturn", "_BinaryenCallRefSetReturn", "_BinaryenRefTest", "_BinaryenRefTestGetRef", "_BinaryenRefTestSetRef", "_BinaryenRefTestGetCastType", "_BinaryenRefTestSetCastType", "_BinaryenRefCast", "_BinaryenRefCastGetRef", "_BinaryenRefCastSetRef", "_BinaryenBrOn", "_BinaryenBrOnGetOp", "_BinaryenBrOnSetOp", "_BinaryenBrOnGetName", "_BinaryenBrOnSetName", "_BinaryenBrOnGetRef", "_BinaryenBrOnSetRef", "_BinaryenBrOnGetCastType", "_BinaryenBrOnSetCastType", "_BinaryenStructNew", "_BinaryenStructNewGetNumOperands", "_BinaryenStructNewGetOperandAt", "_BinaryenStructNewSetOperandAt", "_BinaryenStructNewAppendOperand", "_BinaryenStructNewInsertOperandAt", "_BinaryenStructNewRemoveOperandAt", "_BinaryenStructGet", "_BinaryenStructGetGetIndex", "_BinaryenStructGetSetIndex", "_BinaryenStructGetGetRef", "_BinaryenStructGetSetRef", "_BinaryenStructGetIsSigned", "_BinaryenStructGetSetSigned", "_BinaryenStructSet", "_BinaryenStructSetGetIndex", "_BinaryenStructSetSetIndex", "_BinaryenStructSetGetRef", "_BinaryenStructSetSetRef", "_BinaryenStructSetGetValue", "_BinaryenStructSetSetValue", "_BinaryenArrayNew", "_BinaryenArrayNewGetInit", "_BinaryenArrayNewSetInit", "_BinaryenArrayNewGetSize", "_BinaryenArrayNewSetSize", "_BinaryenArrayNewFixed", "_BinaryenArrayNewFixedGetNumValues", "_BinaryenArrayNewFixedGetValueAt", "_BinaryenArrayNewFixedSetValueAt", "_BinaryenArrayNewFixedAppendValue", "_BinaryenArrayNewFixedInsertValueAt", "_BinaryenArrayNewFixedRemoveValueAt", "_BinaryenArrayGet", "_BinaryenArrayGetGetRef", "_BinaryenArrayGetSetRef", "_BinaryenArrayGetGetIndex", "_BinaryenArrayGetSetIndex", "_BinaryenArrayGetIsSigned", "_BinaryenArrayGetSetSigned", "_BinaryenArraySet", "_BinaryenArraySetGetRef", "_BinaryenArraySetSetRef", "_BinaryenArraySetGetIndex", "_BinaryenArraySetSetIndex", "_BinaryenArraySetGetValue", "_BinaryenArraySetSetValue", "_BinaryenArrayLen", "_BinaryenArrayLenGetRef", "_BinaryenArrayLenSetRef", "_BinaryenArrayCopy", "_BinaryenArrayCopyGetDestRef", "_BinaryenArrayCopySetDestRef", "_BinaryenArrayCopyGetDestIndex", "_BinaryenArrayCopySetDestIndex", "_BinaryenArrayCopyGetSrcRef", "_BinaryenArrayCopySetSrcRef", "_BinaryenArrayCopyGetSrcIndex", "_BinaryenArrayCopySetSrcIndex", "_BinaryenArrayCopyGetLength", "_BinaryenArrayCopySetLength", "_BinaryenStringNew", "_BinaryenStringNewGetOp", "_BinaryenStringNewSetOp", "_BinaryenStringNewGetPtr", "_BinaryenStringNewSetPtr", "_BinaryenStringNewGetLength", "_BinaryenStringNewSetLength", "_BinaryenStringNewGetStart", "_BinaryenStringNewSetStart", "_BinaryenStringNewGetEnd", "_BinaryenStringNewSetEnd", "_BinaryenStringNewIsTry", "_BinaryenStringNewSetTry", "_BinaryenStringConst", "_BinaryenStringConstGetString", "_BinaryenStringConstSetString", "_BinaryenStringMeasure", "_BinaryenStringMeasureGetOp", "_BinaryenStringMeasureSetOp", "_BinaryenStringMeasureGetRef", "_BinaryenStringMeasureSetRef", "_BinaryenStringEncode", "_BinaryenStringEncodeGetOp", "_BinaryenStringEncodeSetOp", "_BinaryenStringEncodeGetRef", "_BinaryenStringEncodeSetRef", "_BinaryenStringEncodeGetPtr", "_BinaryenStringEncodeSetPtr", "_BinaryenStringEncodeGetStart", "_BinaryenStringEncodeSetStart", "_BinaryenStringConcat", "_BinaryenStringConcatGetLeft", "_BinaryenStringConcatSetLeft", "_BinaryenStringConcatGetRight", "_BinaryenStringConcatSetRight", "_BinaryenStringEq", "_BinaryenStringEqGetOp", "_BinaryenStringEqSetOp", "_BinaryenStringEqGetLeft", "_BinaryenStringEqSetLeft", "_BinaryenStringEqGetRight", "_BinaryenStringEqSetRight", "_BinaryenStringAs", "_BinaryenStringAsGetOp", "_BinaryenStringAsSetOp", "_BinaryenStringAsGetRef", "_BinaryenStringAsSetRef", "_BinaryenStringWTF8Advance", "_BinaryenStringWTF8AdvanceGetRef", "_BinaryenStringWTF8AdvanceSetRef", "_BinaryenStringWTF8AdvanceGetPos", "_BinaryenStringWTF8AdvanceSetPos", "_BinaryenStringWTF8AdvanceGetBytes", "_BinaryenStringWTF8AdvanceSetBytes", "_BinaryenStringWTF16Get", "_BinaryenStringWTF16GetGetRef", "_BinaryenStringWTF16GetSetRef", "_BinaryenStringWTF16GetGetPos", "_BinaryenStringWTF16GetSetPos", "_BinaryenStringIterNext", "_BinaryenStringIterNextGetRef", "_BinaryenStringIterNextSetRef", "_BinaryenStringIterMove", "_BinaryenStringIterMoveGetOp", "_BinaryenStringIterMoveSetOp", "_BinaryenStringIterMoveGetRef", "_BinaryenStringIterMoveSetRef", "_BinaryenStringIterMoveGetNum", "_BinaryenStringIterMoveSetNum", "_BinaryenStringSliceWTF", "_BinaryenStringSliceWTFGetOp", "_BinaryenStringSliceWTFSetOp", "_BinaryenStringSliceWTFGetRef", "_BinaryenStringSliceWTFSetRef", "_BinaryenStringSliceWTFGetStart", "_BinaryenStringSliceWTFSetStart", "_BinaryenStringSliceWTFGetEnd", "_BinaryenStringSliceWTFSetEnd", "_BinaryenStringSliceIter", "_BinaryenStringSliceIterGetRef", "_BinaryenStringSliceIterSetRef", "_BinaryenStringSliceIterGetNum", "_BinaryenStringSliceIterSetNum", "_BinaryenAddFunction", "_BinaryenGetFunction", "_BinaryenRemoveFunction", "_BinaryenGetNumFunctions", "_BinaryenGetFunctionByIndex", "_BinaryenFunctionGetName", "_BinaryenFunctionGetParams", "_BinaryenFunctionGetResults", "_BinaryenFunctionGetNumVars", "_BinaryenFunctionGetVar", "_BinaryenFunctionGetNumLocals", "_BinaryenFunctionHasLocalName", "_BinaryenFunctionGetLocalName", "_BinaryenFunctionSetLocalName", "_BinaryenFunctionGetBody", "_BinaryenFunctionSetBody", "_BinaryenFunctionOptimize", "_BinaryenFunctionRunPasses", "_BinaryenFunctionSetDebugLocation", "_BinaryenAddFunctionImport", "_BinaryenAddTableImport", "_BinaryenAddMemoryImport", "_BinaryenAddGlobalImport", "_BinaryenAddTagImport", "_BinaryenAddFunctionExport", "_BinaryenAddTableExport", "_BinaryenAddMemoryExport", "_BinaryenAddGlobalExport", "_BinaryenAddTagExport", "_BinaryenGetExport", "_BinaryenRemoveExport", "_BinaryenGetNumExports", "_BinaryenGetExportByIndex", "_BinaryenExportGetKind", "_BinaryenExportGetName", "_BinaryenExportGetValue", "_BinaryenAddGlobal", "_BinaryenGetGlobal", "_BinaryenRemoveGlobal", "_BinaryenGetNumGlobals", "_BinaryenGetGlobalByIndex", "_BinaryenGlobalGetName", "_BinaryenGlobalGetType", "_BinaryenGlobalIsMutable", "_BinaryenGlobalGetInitExpr", "_BinaryenAddTag", "_BinaryenGetTag", "_BinaryenRemoveTag", "_BinaryenTagGetName", "_BinaryenTagGetParams", "_BinaryenTagGetResults", "_BinaryenAddTable", "_BinaryenRemoveTable", "_BinaryenGetNumTables", "_BinaryenGetTable", "_BinaryenGetTableByIndex", "_BinaryenTableGetName", "_BinaryenTableSetName", "_BinaryenTableGetInitial", "_BinaryenTableSetInitial", "_BinaryenTableHasMax", "_BinaryenTableGetMax", "_BinaryenTableSetMax", "_BinaryenAddActiveElementSegment", "_BinaryenAddPassiveElementSegment", "_BinaryenRemoveElementSegment", "_BinaryenGetNumElementSegments", "_BinaryenGetElementSegment", "_BinaryenGetElementSegmentByIndex", "_BinaryenSetMemory", "_BinaryenGetNumMemorySegments", "_BinaryenGetMemorySegmentByteOffset", "_BinaryenGetMemorySegmentByteLength", "_BinaryenCopyMemorySegmentData", "_BinaryenSetStart", "_BinaryenModuleParse", "_BinaryenModulePrint", "_BinaryenModulePrintAsmjs", "_BinaryenModuleValidate", "_BinaryenModuleOptimize", "_BinaryenModuleRunPasses", "_BinaryenModuleAutoDrop", "_BinaryenSizeofAllocateAndWriteResult", "_BinaryenModuleAllocateAndWrite", "_BinaryenModuleAllocateAndWriteText", "_BinaryenModuleAllocateAndWriteStackIR", "_BinaryenModuleRead", "_BinaryenModuleInterpret", "_BinaryenModuleAddDebugInfoFileName", "_BinaryenModuleGetDebugInfoFileName", "_BinaryenModuleGetFeatures", "_BinaryenModuleSetFeatures", "_BinaryenAddCustomSection", "_BinaryenExpressionGetSideEffects", "_RelooperCreate", "_RelooperAddBlock", "_RelooperAddBranch", "_RelooperAddBlockWithSwitch", "_RelooperAddBranchForSwitch", "_RelooperRenderAndDispose", "_ExpressionRunnerCreate", "_ExpressionRunnerSetLocalValue", "_ExpressionRunnerSetGlobalValue", "_ExpressionRunnerRunAndDispose", "_TypeBuilderCreate", "_TypeBuilderGrow", "_TypeBuilderGetSize", "_TypeBuilderSetSignatureType", "_TypeBuilderSetStructType", "_TypeBuilderSetArrayType", "_TypeBuilderGetTempHeapType", "_TypeBuilderGetTempTupleType", "_TypeBuilderGetTempRefType", "_TypeBuilderSetSubType", "_TypeBuilderSetOpen", "_TypeBuilderCreateRecGroup", "_TypeBuilderBuildAndDispose", "_BinaryenModuleSetTypeName", "_BinaryenModuleSetFieldName", "_BinaryenGetOptimizeLevel", "_BinaryenSetOptimizeLevel", "_BinaryenGetShrinkLevel", "_BinaryenSetShrinkLevel", "_BinaryenGetDebugInfo", "_BinaryenSetDebugInfo", "_BinaryenGetLowMemoryUnused", "_BinaryenSetLowMemoryUnused", "_BinaryenGetZeroFilledMemory", "_BinaryenSetZeroFilledMemory", "_BinaryenGetFastMath", "_BinaryenSetFastMath", "_BinaryenGetPassArgument", "_BinaryenSetPassArgument", "_BinaryenClearPassArguments", "_BinaryenGetAlwaysInlineMaxSize", "_BinaryenSetAlwaysInlineMaxSize", "_BinaryenGetFlexibleInlineMaxSize", "_BinaryenSetFlexibleInlineMaxSize", "_BinaryenGetOneCallerInlineMaxSize", "_BinaryenSetOneCallerInlineMaxSize", "_BinaryenGetAllowInliningFunctionsWithLoops", "_BinaryenSetAllowInliningFunctionsWithLoops", "_malloc", "_free", "__i32_store8", "__i32_store16", "__i32_store", "__f32_store", "__f64_store", "__i32_load8_s", "__i32_load8_u", "__i32_load16_s", "__i32_load16_u", "__i32_load", "__f32_load", "__f64_load", "default", "F64", "F32", "I32", "value", "Long", "value", "lo", "hi", "left", "right", "rightLo", "rightHi", "result", "alignment", "mask", "minSafeF32", "maxSafeF32", "minSafeF64", "maxSafeF64", "unsigned", "map", "set", "Feature", "featureToString", "feature", "Target", "Runtime", "Typeinfo", "__decorateClass", "TypeinfoFlags", "CommonFlags", "PATH_DELIMITER", "PARENT_SUBST", "GETTER_PREFIX", "SETTER_PREFIX", "INSTANCE_DELIMITER", "STATIC_DELIMITER", "INNER_DELIMITER", "LIBRARY_SUBST", "LIBRARY_PREFIX", "INDEX_SUFFIX", "STUB_DELIMITER", "CommonNames", "DiagnosticCode", "diagnosticCodeToString", "code", "util_exports", "__export", "BitSet", "COLOR_BLUE", "COLOR_CYAN", "COLOR_GRAY", "COLOR_GREEN", "COLOR_MAGENTA", "COLOR_RED", "COLOR_RESET", "COLOR_WHITE", "COLOR_YELLOW", "CharCode", "SURROGATE_HIGH", "SURROGATE_LOW", "accuratePow64", "cloneMap", "colorize", "combineSurrogates", "dirname", "escapeString", "indent", "isAlpha", "isAlphaOrDecimal", "isColorsEnabled", "isDecimal", "isHexBase", "isHexOrDecimal", "isHighSurrogate", "isIdentifier", "isIdentifierPart", "isIdentifierStart", "isLineBreak", "isLowSurrogate", "isOctal", "isPowerOf2", "isSurrogate", "isSurrogateHigh", "isSurrogateLow", "isWhiteSpace", "mergeMaps", "normalizePath", "numCodeUnits", "readF32", "readF64", "readI16", "readI32", "readI64", "readI8", "readV128", "resolvePath", "setColorsEnabled", "v128_ones", "v128_zero", "writeF32", "writeF64", "writeI16", "writeI32", "writeI32AsI64", "writeI64", "writeI64AsI32", "writeI8", "writeV128", "readI8", "buffer", "offset", "writeI8", "value", "readI16", "writeI16", "readI32", "writeI32", "writeI32AsI64", "unsigned", "readI64", "lo", "hi", "writeI64", "writeI64AsI32", "readF32", "writeF32", "readF64", "writeF64", "valueI64", "readV128", "writeV128", "cloneMap", "map", "out", "_keys", "i", "k", "v", "mergeMaps", "map1", "map2", "BitSet", "count", "words", "len", "word", "index", "idx", "res", "p", "mask", "isPowerOf2", "x", "accuratePow64", "y", "CharCode", "isLineBreak", "c", "isWhiteSpace", "SURROGATE_HIGH", "SURROGATE_LOW", "isSurrogate", "isSurrogateHigh", "isSurrogateLow", "isHighSurrogate", "isLowSurrogate", "combineSurrogates", "hi", "lo", "numCodeUnits", "cp", "isAlpha", "c0", "isDecimal", "isOctal", "isHexBase", "isHexOrDecimal", "isAlphaOrDecimal", "isIdentifierStart", "unicodeIdentifierStartMin", "unicodeIdentifierStartMax", "lookupInUnicodeMap", "unicodeIdentifierStart", "isIdentifierPart", "unicodeIdentifierPartMin", "unicodeIdentifierPartMax", "unicodeIdentifierPart", "isIdentifier", "str", "len", "i", "code", "map", "mid", "midVal", "indentX1", "indentX2", "indentX3", "indentX4", "indentCache", "indent", "sb", "level", "indents", "escapeString", "quote", "off", "k", "separator", "normalizePath", "path", "pos", "len", "atEnd", "ipos", "resolvePath", "normalizedPath", "origin", "dirname", "PATH_DELIMITER", "COLOR_GRAY", "COLOR_RED", "COLOR_GREEN", "COLOR_YELLOW", "COLOR_BLUE", "COLOR_MAGENTA", "COLOR_CYAN", "COLOR_WHITE", "COLOR_RESET", "colorsEnabled", "isColorsEnabled", "setColorsEnabled", "isEnabled", "wasEnabled", "colorize", "text", "color", "v128_zero", "v128_ones", "DiagnosticCategory", "Range", "_Range", "start", "end", "a", "b", "range", "other", "diagnosticCategoryToString", "category", "diagnosticCategoryToColor", "COLOR_MAGENTA", "COLOR_CYAN", "COLOR_YELLOW", "COLOR_RED", "DiagnosticMessage", "_DiagnosticMessage", "code", "message", "arg0", "arg1", "arg2", "diagnosticCodeToString", "thisRange", "otherRange", "thisRelatedRange", "otherRelatedRange", "source", "path", "line", "column", "len", "formatDiagnosticMessage", "useColors", "showContext", "wasColorsEnabled", "setColorsEnabled", "sb", "isColorsEnabled", "COLOR_RESET", "relatedRange", "minLine", "formatDiagnosticContext", "relatedSource", "text", "lineNumber", "lineNumberLength", "lineSpace", "isLineBreak", "isWhiteSpace", "cc", "DiagnosticEmitter", "diagnostics", "seen", "seenInSource", "seenMessagesAtPos", "i", "k", "NodeKind", "Node", "_Node", "kind", "range", "name", "TypeName", "typeArguments", "isNullable", "NamedTypeNode", "parameters", "returnType", "explicitThisType", "FunctionTypeNode", "extendsType", "defaultType", "TypeParameterNode", "parameterKind", "type", "initializer", "ParameterNode", "args", "DecoratorNode", "DecoratorKind", "commentKind", "text", "CommentNode", "isQuoted", "IdentifierExpression", "elementExpressions", "ArrayLiteralExpression", "assertionKind", "expression", "toType", "AssertionExpression", "operator", "left", "right", "BinaryExpression", "CallExpression", "declaration", "ClassExpression", "expressions", "CommaExpression", "ConstructorExpression", "elementExpression", "ElementAccessExpression", "FalseExpression", "value", "FloatLiteralExpression", "FunctionExpression", "isType", "InstanceOfExpression", "IntegerLiteralExpression", "typeName", "NewExpression", "NullExpression", "names", "values", "ObjectLiteralExpression", "OmittedExpression", "ParenthesizedExpression", "property", "PropertyAccessExpression", "pattern", "patternFlags", "RegexpLiteralExpression", "condition", "ifThen", "ifElse", "TernaryExpression", "StringLiteralExpression", "SuperExpression", "tag", "parts", "rawParts", "TemplateLiteralExpression", "ThisExpression", "TrueExpression", "operand", "UnaryPostfixExpression", "UnaryPrefixExpression", "expr", "CompiledExpression", "statements", "BlockStatement", "label", "BreakStatement", "decorators", "flags", "typeParameters", "implementsTypes", "members", "ClassDeclaration", "ContinueStatement", "body", "DoStatement", "EmptyStatement", "EnumDeclaration", "EnumValueDeclaration", "path", "isDeclare", "ExportStatement", "ExportDefaultStatement", "externalName", "ExportImportStatement", "localName", "exportedName", "ExportMember", "ExpressionStatement", "ifTrue", "ifFalse", "IfStatement", "declarations", "ImportStatement", "namespaceName", "foreignName", "ImportDeclaration", "InterfaceDeclaration", "FieldDeclaration", "incrementor", "ForStatement", "variable", "iterable", "ForOfStatement", "signature", "arrowKind", "FunctionDeclaration", "keyType", "valueType", "IndexSignatureNode", "MethodDeclaration", "NamespaceDeclaration", "ReturnStatement", "cases", "SwitchStatement", "SwitchCase", "ThrowStatement", "bodyStatements", "catchVariable", "catchStatements", "finallyStatements", "TryStatement", "TypeDeclaration", "ModuleDeclaration", "VariableStatement", "VariableDeclaration", "VoidStatement", "statement", "WhileStatement", "literalKind", "node", "TypeNode", "typeParameterNodes", "namedTypeNode", "typeArgumentNodes", "i", "k", "functionTypeNode", "parameterNodes", "identifier", "next", "ParameterKind", "flag", "fromNode", "nameNode", "nameStr", "propertyAccessNode", "propStr", "decoratorKind", "CommentKind", "Expression", "LiteralKind", "LiteralExpression", "AssertionKind", "numTypeArguments", "Range", "numArguments", "UnaryExpression", "Statement", "SourceKind", "Source", "_Source", "sourceKind", "normalizedPath", "internalPath", "mangleInternalPath", "pos", "PATH_DELIMITER", "source", "LIBRARY_PREFIX", "LIBRARY_SUBST", "lineCache", "off", "end", "l", "r", "m", "s", "DeclarationStatement", "VariableLikeDeclarationStatement", "normalizePath", "resolvePath", "parameterIndex", "ArrowKind", "_FunctionDeclaration", "moduleName", "findDecorator", "decorator", "isTypeOmitted", "Token", "IdentifierHandling", "tokenFromKeyword", "text", "len", "tokenIsAlsoIdentifier", "token", "isIllegalVariableIdentifier", "name", "operatorTokenToString", "Tokenizer", "DiagnosticEmitter", "source", "diagnostics", "text", "end", "pos", "identifierHandling", "token", "maxTokenLength", "c", "chr", "isDecimal", "commentStartPos", "commentKind", "closed", "isHighSurrogate", "combineSurrogates", "isIdentifierStart", "posBefore", "numCodeUnits", "isIdentifierPart", "maybeKeywordToken", "tokenFromKeyword", "tokenIsAlsoIdentifier", "isWhiteSpace", "start", "maxCompoundLength", "nextToken", "tokenBefore", "tokenPosBefore", "isLineBreak", "state", "reusableState", "State", "range", "Range", "quote", "isTaggedTemplate", "result", "escaped", "flags", "isOctal", "value", "sepEnd", "i64_4", "nextValue", "overflowOccurred", "isHexBase", "i64_10", "i64_3", "sepCount", "allowLeadingZeroSep", "remain", "startIfTaggedTemplate", "value32", "invalid", "tokenPos", "TypeRef", "_BinaryenTypeFuncref", "_BinaryenTypeExternref", "_BinaryenTypeAnyref", "_BinaryenTypeEqref", "_BinaryenTypeStructref", "_BinaryenTypeArrayref", "_BinaryenTypeI31ref", "_BinaryenTypeStringref", "_BinaryenTypeStringviewWTF8", "_BinaryenTypeStringviewWTF16", "_BinaryenTypeStringviewIter", "_BinaryenTypeNullref", "_BinaryenTypeNullFuncref", "_BinaryenTypeNullExternref", "HeapTypeRef", "isBottom", "ht", "_BinaryenHeapTypeIsBottom", "getBottom", "_BinaryenHeapTypeGetBottom", "isSubtype", "superHt", "_BinaryenHeapTypeIsSubType", "leastUpperBound", "a", "b", "t", "PackedType", "TypeBuilderErrorReason", "toString", "reason", "FeatureFlags", "ExpressionId", "ExternalKind", "UnaryOp", "BinaryOp", "AtomicRMWOp", "SIMDExtractOp", "SIMDReplaceOp", "SIMDShiftOp", "SIMDLoadOp", "SIMDLoadStoreLaneOp", "SIMDTernaryOp", "RefAsOp", "BrOnOp", "StringNewOp", "StringMeasureOp", "StringEncodeOp", "StringEqOp", "StringAsOp", "StringIterMoveOp", "StringSliceWTFOp", "ExpressionRunnerFlags", "MemorySegment", "buffer", "offset", "Module", "_Module", "ref", "useShadowStack", "sizeType", "_malloc", "_BinaryenSizeofLiteral", "_BinaryenModuleCreate", "cArr", "allocU8Array", "module", "_BinaryenModuleRead", "_free", "value", "out", "_BinaryenLiteralInt32", "_BinaryenConst", "valueLow", "valueHigh", "_BinaryenLiteralInt64", "_BinaryenLiteralFloat32", "_BinaryenLiteralFloat64", "bytes", "i", "__i32_store8", "_BinaryenLiteralVec128", "type", "_BinaryenRefNull", "left", "right", "_BinaryenRefEq", "_BinaryenStringEq", "op", "isWam64", "_BinaryenUnary", "isWasm64", "_BinaryenBinary", "name", "CommonNames", "is64", "cStr", "_BinaryenMemorySize", "delta", "_BinaryenMemoryGrow", "_BinaryenTableSize", "_BinaryenTableGrow", "index", "_BinaryenLocalGet", "_BinaryenExpressionGetType", "BuiltinNames", "isManaged", "_BinaryenLocalTee", "_BinaryenGlobalGet", "_BinaryenTableGet", "signed", "ptr", "align", "_BinaryenLoad", "_BinaryenStore", "_BinaryenAtomicLoad", "_BinaryenAtomicStore", "_BinaryenAtomicRMW", "expected", "replacement", "_BinaryenAtomicCmpxchg", "timeout", "expectedType", "_BinaryenAtomicWait", "notifyCount", "_BinaryenAtomicNotify", "_BinaryenAtomicFence", "_BinaryenLocalSet", "_BinaryenGlobalSet", "_BinaryenTableSet", "label", "children", "allocPtrArray", "ret", "_BinaryenBlock", "stmts", "length", "single", "getExpressionId", "singleType", "getExpressionType", "condition", "_BinaryenBreak", "expression", "_BinaryenDrop", "result", "getSideEffects", "body", "_BinaryenLoop", "ifTrue", "ifFalse", "_BinaryenIf", "_BinaryenNop", "_BinaryenReturn", "_BinaryenSelect", "names", "defaultName", "numNames", "strs", "_BinaryenSwitch", "target", "operands", "returnType", "isReturn", "_BinaryenReturnCall", "_BinaryenCall", "tableName", "params", "results", "_BinaryenReturnCallIndirect", "_BinaryenCallIndirect", "_BinaryenUnreachable", "dest", "source", "size", "destName", "sourceName", "cStr1", "cStr2", "_BinaryenMemoryCopy", "_BinaryenMemoryFill", "catchTags", "catchBodies", "delegateTarget", "numCatchTags", "cArr1", "cArr2", "_BinaryenTry", "tagName", "_BinaryenThrow", "_BinaryenRethrow", "_BinaryenPop", "_BinaryenTupleMake", "tuple", "_BinaryenTupleExtract", "vec", "idx", "_BinaryenSIMDExtract", "_BinaryenSIMDReplace", "vec1", "vec2", "mask", "_BinaryenSIMDShuffle", "c", "_BinaryenSIMDTernary", "shift", "_BinaryenSIMDShift", "_BinaryenSIMDLoad", "_BinaryenSIMDLoadStoreLane", "expr", "_BinaryenRefIsNull", "_BinaryenRefAs", "isNullableType", "_BinaryenRefFunc", "_BinaryenRefI31", "_BinaryenI31Get", "mutable", "initializer", "_BinaryenAddGlobal", "_BinaryenGetGlobal", "_BinaryenRemoveGlobal", "_BinaryenAddTag", "_BinaryenGetTag", "_BinaryenRemoveTag", "varTypes", "_BinaryenAddFunction", "funcRef", "_BinaryenFunctionSetLocalName", "_BinaryenGetFunction", "_BinaryenRemoveFunction", "paramTypes", "tempName", "createType", "func", "_BinaryenSetStart", "internalName", "externalName", "_BinaryenAddFunctionExport", "_BinaryenAddTableExport", "_BinaryenAddMemoryExport", "_BinaryenAddGlobalExport", "_BinaryenAddTagExport", "_BinaryenRemoveExport", "_BinaryenGetExport", "externalModuleName", "externalBaseName", "cStr3", "_BinaryenAddFunctionImport", "_BinaryenAddTableImport", "shared", "_BinaryenAddMemoryImport", "globalType", "_BinaryenAddGlobalImport", "_BinaryenAddTagImport", "initial", "maximum", "segments", "exportName", "k", "segs", "psvs", "offs", "sizs", "segment", "cArr3", "cArr4", "allocU32Array", "_BinaryenSetMemory", "funcs", "tableRef", "_BinaryenGetTable", "_BinaryenTableSetInitial", "_BinaryenTableSetMax", "_BinaryenAddTable", "_BinaryenAddActiveElementSegment", "contents", "_BinaryenAddCustomSection", "_BinaryenGetOptimizeLevel", "level", "_BinaryenSetOptimizeLevel", "_BinaryenGetShrinkLevel", "_BinaryenSetShrinkLevel", "_BinaryenGetDebugInfo", "on", "_BinaryenSetDebugInfo", "_BinaryenGetLowMemoryUnused", "_BinaryenSetLowMemoryUnused", "_BinaryenGetZeroFilledMemory", "_BinaryenSetZeroFilledMemory", "_BinaryenGetFastMath", "_BinaryenSetFastMath", "key", "_BinaryenGetPassArgument", "readString", "_BinaryenSetPassArgument", "_BinaryenClearPassArguments", "_BinaryenGetAlwaysInlineMaxSize", "_BinaryenSetAlwaysInlineMaxSize", "_BinaryenGetFlexibleInlineMaxSize", "_BinaryenSetFlexibleInlineMaxSize", "_BinaryenGetOneCallerInlineMaxSize", "_BinaryenSetOneCallerInlineMaxSize", "_BinaryenGetAllowInliningFunctionsWithLoops", "enabled", "_BinaryenSetAllowInliningFunctionsWithLoops", "_BinaryenModuleGetFeatures", "featureFlags", "_BinaryenModuleSetFeatures", "passes", "cStrs", "allocString", "_BinaryenFunctionRunPasses", "_BinaryenModuleRunPasses", "optimizeLevel", "shrinkLevel", "debugInfo", "zeroFilledMemory", "_BinaryenModuleValidate", "_BinaryenModuleInterpret", "sourceMapUrl", "_BinaryenSizeofAllocateAndWriteResult", "resPtr", "urlPtr", "_BinaryenModuleAllocateAndWrite", "binaryPtr", "__i32_load", "binaryLen", "srcMapPtr", "binary", "BinaryModule", "readBuffer", "watFormat", "textPtr", "_BinaryenModuleAllocateAndWriteStackIR", "_BinaryenModuleAllocateAndWriteText", "text", "str", "cached", "_values", "_BinaryenModuleDispose", "Relooper", "_BinaryenExpressionGetId", "_BinaryenExpressionCopy", "flags", "maxDepth", "maxLoopIterations", "runner", "_ExpressionRunnerCreate", "precomp", "_ExpressionRunnerRunAndDispose", "getBinaryOp", "getBinaryLeft", "getBinaryRight", "_BinaryenModuleAddDebugInfoFileName", "_BinaryenModuleGetDebugInfoFileName", "fileIndex", "lineNumber", "columnNumber", "_BinaryenFunctionSetDebugLocation", "types", "_BinaryenTypeCreate", "expandType", "arity", "_BinaryenTypeArity", "_BinaryenTypeExpand", "_BinaryenTypeIsNullable", "getConstValueI32", "_BinaryenConstGetValueI32", "getConstValueI64Low", "_BinaryenConstGetValueI64Low", "getConstValueI64High", "_BinaryenConstGetValueI64High", "getConstValueF32", "_BinaryenConstGetValueF32", "getConstValueF64", "_BinaryenConstGetValueF64", "getConstValueV128", "_BinaryenConstGetValueV128", "__i32_load8_u", "isConstZero", "isConstNonZero", "isConstNegZero", "d", "isConstNaN", "isConstExpressionNaN", "id", "getLocalGetIndex", "_BinaryenLocalGetGetIndex", "getLocalSetIndex", "_BinaryenLocalSetGetIndex", "getLocalSetValue", "_BinaryenLocalSetGetValue", "isLocalTee", "_BinaryenLocalSetIsTee", "getGlobalGetName", "_BinaryenGlobalGetGetName", "_BinaryenBinaryGetOp", "_BinaryenBinaryGetLeft", "_BinaryenBinaryGetRight", "getUnaryOp", "_BinaryenUnaryGetOp", "getUnaryValue", "_BinaryenUnaryGetValue", "getLoadBytes", "_BinaryenLoadGetBytes", "getLoadOffset", "_BinaryenLoadGetOffset", "getLoadPtr", "_BinaryenLoadGetPtr", "isLoadSigned", "_BinaryenLoadIsSigned", "getStoreBytes", "_BinaryenStoreGetBytes", "getStoreOffset", "_BinaryenStoreGetOffset", "getStorePtr", "_BinaryenStoreGetPtr", "getStoreValue", "_BinaryenStoreGetValue", "getBlockName", "_BinaryenBlockGetName", "getBlockChildCount", "_BinaryenBlockGetNumChildren", "getBlockChildAt", "_BinaryenBlockGetChildAt", "getIfCondition", "_BinaryenIfGetCondition", "getIfTrue", "_BinaryenIfGetIfTrue", "getIfFalse", "_BinaryenIfGetIfFalse", "getLoopName", "_BinaryenLoopGetName", "getLoopBody", "_BinaryenLoopGetBody", "getBreakName", "_BinaryenBreakGetName", "getBreakCondition", "_BinaryenBreakGetCondition", "getSelectThen", "_BinaryenSelectGetIfTrue", "getSelectElse", "_BinaryenSelectGetIfFalse", "getSelectCondition", "_BinaryenSelectGetCondition", "getDropValue", "_BinaryenDropGetValue", "getReturnValue", "_BinaryenReturnGetValue", "getCallTarget", "_BinaryenCallGetTarget", "getCallOperandCount", "_BinaryenCallGetNumOperands", "getCallOperandAt", "_BinaryenCallGetOperandAt", "getMemoryGrowDelta", "_BinaryenMemoryGrowGetDelta", "getFunctionBody", "_BinaryenFunctionGetBody", "getFunctionName", "_BinaryenFunctionGetName", "getFunctionParams", "_BinaryenFunctionGetParams", "getFunctionResults", "_BinaryenFunctionGetResults", "getFunctionVars", "count", "_BinaryenFunctionGetNumVars", "_BinaryenFunctionGetVar", "getGlobalName", "global", "_BinaryenGlobalGetName", "getGlobalType", "_BinaryenGlobalGetType", "isGlobalMutable", "_BinaryenGlobalIsMutable", "getGlobalInit", "_BinaryenGlobalGetInitExpr", "getTagName", "tag", "_BinaryenTagGetName", "getTagParams", "_BinaryenTagGetParams", "getTagResults", "_BinaryenTagGetResults", "_Relooper", "_RelooperCreate", "code", "_RelooperAddBlock", "from", "to", "_RelooperAddBranch", "_RelooperAddBlockWithSwitch", "indexes", "allocI32Array", "_RelooperAddBranchForSwitch", "entry", "labelHelper", "_RelooperRenderAndDispose", "SwitchBuilder", "valueIndex", "codeIndex", "cases", "localIndex", "labelPostfix", "numCases", "values", "numValues", "labels", "defaultIndex", "defaultLabel", "current", "block", "lastCase", "SideEffects", "_BinaryenExpressionGetSideEffects", "mustPreserveSideEffects", "u8s", "len", "i32s", "val", "__i32_store", "u32s", "ptrs", "stringLengthUTF8", "c1", "isHighSurrogate", "isLowSurrogate", "u", "c2", "combineSurrogates", "arr", "cp", "u1", "u2", "u3", "ch", "SURROGATE_HIGH", "SURROGATE_LOW", "output", "sourceMap", "DEBUG_TYPEBUILDER", "ensureType", "Type", "typeRef", "tryEnsureBasicType", "originalType", "_BinaryenTypeFromHeapType", "_BinaryenTypeGetHeapType", "builder", "_TypeBuilderCreate", "seen", "prepareType", "_TypeBuilderGetSize", "_TypeBuilderBuildAndDispose", "errorIndex", "errorReason", "_keys", "seenType", "heapType", "fullType", "classInstance", "_BinaryenModuleSetTypeName", "members", "numFieldsInType", "_BinaryenStructTypeGetNumFields", "numFieldsInClass", "member", "property", "_BinaryenModuleSetFieldName", "determinePackedType", "classReference", "base", "baseRef", "_TypeBuilderGrow", "heapTypeRef", "_TypeBuilderGetTempHeapType", "_TypeBuilderGetTempRefType", "fieldTypes", "packedTypes", "fieldMutables", "fieldType", "cArrFT", "cArrPT", "cArrFM", "_TypeBuilderSetStructType", "_TypeBuilderSetSubType", "signatureReference", "tempTypeRef", "resultTypes", "parameterTypes", "paramType", "tempParamType", "_TypeBuilderGetTempTupleType", "tempResultType", "cArrRT", "_TypeBuilderSetSignatureType", "FlowFlags", "LocalFlags", "FieldFlags", "ConditionKind", "Flow", "_Flow", "targetFunction", "inlineFunction", "flow", "flag", "condiFlags", "newBreakContext", "newContinueContext", "branch", "thisFieldFlags", "cloneMap", "condExpr", "trueFlows", "trueFlow", "falseFlows", "falseFlow", "name", "definition", "scopedTypeAlias", "current", "sourceParent", "type", "local", "scopedLocals", "scopedLocal", "mangleInternalName", "declarationNode", "scopedDummy", "Local", "index", "reportNode", "existingLocal", "scopedAlias", "scope", "element", "defaultIfInlined", "localFlags", "flags", "sourceFunction", "parent", "classInstance", "members", "_values", "i", "k", "member", "property", "field", "fieldFlags", "id", "stack", "expectedLabel", "other", "otherFlags", "thisFlags", "newFlags", "thisLocalFlags", "numThisLocalFlags", "otherLocalFlags", "numOtherLocalFlags", "maxLocalFlags", "left", "right", "leftFlags", "rightFlags", "rightLocalFlags", "leftLocalFlags", "numLeftLocalFlags", "numRightLocalFlags", "leftFieldFlags", "newFieldFlags", "rightFieldFlags", "_keys", "key", "numLocalsBefore", "localsByIndex", "needsRecompile", "expr", "getExpressionId", "isLocalTee", "getLocalSetIndex", "getLocalGetIndex", "iff", "getLocalSetValue", "ifFalse", "getIfFalse", "isConstZero", "getIfCondition", "getIfTrue", "getUnaryOp", "getUnaryValue", "getBinaryOp", "getBinaryLeft", "getBinaryRight", "isConstNonZero", "getCallTarget", "BuiltinNames", "getCallOperandCount", "getCallOperandAt", "ifTrue", "operand", "canConversionOverflow", "global", "getGlobalGetName", "getConstValueI32", "Type", "shift", "value", "getExpressionType", "TypeRef", "getConstValueI64Low", "getConstValueF32", "getConstValueF64", "fromType", "signed", "isLoadSigned", "getLoadBytes", "getBlockName", "size", "getBlockChildCount", "last", "getBlockChildAt", "getSelectThen", "getSelectElse", "instancesByName", "instanceName", "instance", "functionInstance", "returnType", "levels", "sb", "toType", "ReportMode", "Resolver", "DiagnosticEmitter", "program", "node", "flow", "ctxElement", "ctxTypes", "reportMode", "resolved", "nameNode", "typeArgumentNodes", "isSimpleType", "simpleName", "type", "element", "shadowType", "Type", "instance", "cloneMap", "typeDefinition", "text", "CommonNames", "typeParameterNodes", "typeArguments", "explicitThisType", "thisType", "parameterNodes", "numParameters", "parameterTypes", "requiredParameters", "hasRest", "i", "parameterNode", "parameterTypeNode", "isTypeOmitted", "parameterType", "returnTypeNode", "returnType", "signature", "Signature", "typeArgumentNode", "typeArgument", "classReference", "overload", "signatureReference", "prev", "next", "typeParameters", "alternativeReportNode", "minParameterCount", "maxParameterCount", "k", "argumentCount", "Range", "oldCtxTypes", "prototype", "ctxFlow", "contextualTypeArguments", "numTypeParameters", "typeParameterNames", "name", "argumentNodes", "numArguments", "argumentExpression", "typeNode", "resolvedTypeArguments", "typeParameterNode", "inferredType", "defaultType", "parent", "defaultTypeContextualTypeArguments", "resolvedDefaultType", "namedTypeNode", "classPrototype", "currentType", "functionTypeNode", "kind", "isTypedElement", "wrappedType", "ctxType", "resolvingExpressions", "outerFlow", "global", "targetNode", "target", "propertyName", "variableLikeElement", "propertyInstance", "getterInstance", "setterInstance", "classInstance", "elementExpression", "indexedGet", "resolvedType", "functionInstance", "wrapper", "classLikeTarget", "findBase", "member", "basePrototype", "baseInstance", "targetExpression", "targetType", "indexSignature", "expr", "negate", "intValue", "range", "operatorTokenToString", "operand", "operator", "OperatorKind", "left", "right", "leftType", "rightType", "commonType", "thisLocal", "superLocal", "base", "intType", "fltType", "expressions", "length", "elementType", "numNullLiterals", "expression", "functionPrototype", "BuiltinNames", "targetElement", "thenType", "elseType", "declaration", "body", "functionType", "tempFlow", "Flow", "parameters", "parameter", "instanceKey", "typesToString", "resolvedInstance", "classTypeArguments", "classTypeParameters", "numClassTypeArguments", "classTypeParameterName", "signatureNode", "numFunctionTypeArguments", "signatureParameters", "numSignatureParameters", "parameterDeclaration", "nameInclTypeParameters", "Function", "methodOrPropertyName", "baseClass", "baseMember", "incompatibleOverride", "baseProperty", "baseGetter", "baseSetter", "baseFunction", "reportNode", "overridePrototypes", "parentClassInstance", "overrides", "_values", "unboundOverridePrototype", "unboundOverrideParent", "classInstances", "j", "l", "overrideInstance", "boundPropertyPrototype", "boundPropertyInstance", "boundPrototype", "Interface", "Class", "pendingClasses", "numTypeArguments", "anyPending", "current", "extendsNode", "interfacePrototypes", "interfacePrototype", "implementsNode", "iface", "thisMember", "thisClass", "hasErrors", "members", "unimplemented", "interfaces", "ifaceMembers", "_keys", "memberName", "ifaceMember", "existingMember", "memoryOffset", "implicitlyExtendsObject", "baseMembers", "instanceMemberPrototypes", "boundInstance", "fieldType", "needsLayout", "existingPrototype", "existingProperty", "byteSize", "isPowerOf2", "mask", "ctorPrototype", "ctorInstance", "overloadPrototypes", "overloadKind", "overloadPrototype", "operatorInstance", "overloads", "index", "IndexSignature", "pending", "dependsOnInstance", "_values2", "Property", "getterPrototype", "setterPrototype", "Dependee", "source", "reportNode", "Parser", "DiagnosticEmitter", "diagnostics", "sources", "text", "path", "isEntry", "normalizedPath", "normalizePath", "internalPath", "mangleInternalPath", "dependees", "dependee", "Source", "LIBRARY_PREFIX", "PATH_DELIMITER", "tn", "Tokenizer", "statements", "statement", "namespace", "flags", "startPos", "decorators", "decorator", "exportStart", "exportEnd", "defaultStart", "defaultEnd", "declareStart", "declareEnd", "contextIsAmbient", "first", "state", "abstractStart", "abstractEnd", "next", "i", "k", "Node", "backlog", "dependent", "current", "acceptParenthesized", "suppressErrors", "token", "type", "isInnerParenthesized", "signature", "innerType", "name", "parameters", "parameter", "nextType", "typeIsNull", "nextTypeIsNull", "bracketStart", "bracketRange", "nullable", "thisType", "isSignature", "firstParamNameNoType", "firstParamKind", "paramStart", "kind", "param", "returnType", "expression", "args", "isFor", "declarations", "declaration", "ret", "parentFlags", "parentDecorators", "identifier", "isIllegalVariableIdentifier", "initializer", "range", "Range", "members", "member", "value", "expr", "nextToken", "typeParameters", "seenOptional", "start", "typeParameter", "extendsType", "defaultType", "isConstructor", "seenRest", "reportedRest", "isRest", "isOptional", "startRange", "accessFlags", "signatureStart", "isSetter", "body", "arrowKind", "explicitThis", "bodyExpression", "isInterface", "implementsTypes", "DeclarationStatement", "parent", "accessStart", "accessEnd", "staticStart", "staticEnd", "overrideStart", "overrideEnd", "readonlyStart", "readonlyEnd", "isGetter", "getStart", "getEnd", "setStart", "setEnd", "isGetterOrSetter", "retIndex", "typeParametersStart", "implicitFieldDeclaration", "retMethod", "retField", "keyType", "valueType", "isDeclare", "currentSource", "exportPaths", "asIdentifier", "namespaceName", "skipFrom", "topLevel", "condition", "incrementor", "variable", "iterable", "elseStatement", "switchCases", "switchCase", "label", "stmt", "bodyStatements", "catchVariable", "catchStatements", "finallyStatements", "isCircularTypeAlias", "moduleName", "operand", "typeName", "typeArguments", "arguments_", "again", "inner", "elementExpressions", "names", "values", "toType", "identifierText", "regexpPattern", "end", "precedence", "nextPrecedence", "determinePrecedence", "isType", "ifThen", "ifElse", "commaExprs", "tag", "parts", "rawParts", "exprs", "call", "callee", "potentiallyGeneric", "depth", "Precedence", "functionType", "AL_SIZE", "AL_MASK", "QueuedImport", "localFile", "localIdentifier", "foreignIdentifier", "foreignPath", "foreignPathAlt", "QueuedExport", "QueuedExportStar", "pathLiteral", "OperatorKind", "fromDecorator", "decoratorKind", "arg", "fromBinaryToken", "token", "fromUnaryPrefixToken", "fromUnaryPostfixToken", "Program", "DiagnosticEmitter", "options", "diagnostics", "Module", "Parser", "Resolver", "nativeFile", "File", "Source", "cached", "CommonNames", "prototype", "internalPath", "sources", "i", "source", "ref", "modifiedFunctionName", "getFunctionName", "instancesByName", "element", "currentOffset", "blockOverhead", "payloadSize", "isManaged", "blockSize", "blockMinsize", "blockMaxsize", "tagsMask", "name", "flags", "range", "Node", "identifier", "signature", "parent", "decoratorFlags", "Function", "FunctionPrototype", "declaration", "elementsByDeclaration", "Type", "TypeDefinition", "queuedImports", "queuedExports", "queuedExportsStar", "queuedExtends", "queuedImplements", "k", "file", "statements", "j", "l", "statement", "_keys", "starExports", "exportStar", "foreignFile", "madeProgress", "queuedImport", "localName", "exports", "exportNames", "exportName", "queuedExport", "globalElement", "isDeclaredElement", "resolver", "thisPrototype", "extendsNode", "baseElement", "basePrototype", "Range", "instanesMembers", "members", "member", "hasOverride", "instanceMembers", "implementsNodes", "implementsNode", "interfaceElement", "interfacePrototype", "interfacePrototypes", "globalAliases", "BuiltinNames", "alias", "firstChar", "elementsByName", "_values", "thisInstanceMembers", "thisMembers", "seen", "baseInstanceMembers", "thisMember", "baseMember", "baseInterfacePrototypes", "baseInterfacePrototype", "nextPrototype", "thisClass", "baseClass", "thisMethod", "baseMethod", "overrides", "baseMethodInstances", "a", "b", "thisProperty", "baseProperty", "thisIsField", "baseGetter", "thisGetter", "baseGetterInstances", "baseSetter", "thisSetter", "baseSetterInstances", "elements", "kind", "resolved", "typeArguments", "exportsStar", "propertyPrototype", "getterPrototype", "setterPrototype", "staticMembers", "moduleName", "moduleImports", "module", "type", "className", "wrapperClasses", "classElement", "value", "global", "Global", "existing", "merged", "tryMerge", "filesByName", "foreignName", "fileQueuedExports", "queuedExportForeignPath", "otherFile", "decorators", "acceptedFlags", "decorator", "DecoratorKind", "flag", "DecoratorFlags", "feature", "reportNode", "featureToString", "classReference", "signatureReference", "thisType", "parameterTypes", "returnType", "ClassPrototype", "implementsTypes", "numImplementsTypes", "memberDeclarations", "memberDeclaration", "methodDeclaration", "method", "PropertyPrototype", "isStatic", "builtinFunctions", "classPrototype", "args", "numArgs", "firstArg", "text", "overloads", "parentMembers", "property", "isGetter", "GETTER_PREFIX", "SETTER_PREFIX", "Enum", "values", "EnumValue", "queued", "INDEX_SUFFIX", "declarations", "namespaceName", "validDecorators", "InterfacePrototype", "initializer", "typeNode", "original", "Namespace", "copyMembers", "builtinVariables_onAccess", "ElementKind", "fromKind", "Element", "internalName", "program", "current", "isType", "localIdentifierIfImport", "originalDeclaration", "reportedIdentifier", "other", "vis", "declaredElements", "DeclaredElement", "identifierNode", "signatureNode", "typedElements", "isTypedElement", "TypedElement", "startFunction", "Signature", "ns", "memberName", "mangleInternalName", "ConstantValueKind", "VariableLikeElement", "Parameter", "Local", "index", "flow", "_FunctionPrototype", "classInstance", "boundPrototypes", "bound", "instanceKey", "instances", "instance", "_Function", "nameInclTypeParameters", "contextualTypeArguments", "Flow", "localIndex", "local", "scopedLocals", "parameterType", "parameterName", "registerConcreteElement", "localsByIndex", "numTotal", "numFixed", "numAdditional", "types", "parameters", "getDefaultParameterName", "postfix", "requiredParameters", "stub", "STUB_DELIMITER", "defaultFlow", "breakStack", "debugLocations", "expressionRef", "localNameMap", "_PropertyPrototype", "firstDeclaration", "fieldDeclaration", "nativeRange", "getterDeclaration", "MethodDeclaration", "FunctionTypeNode", "setterDeclaration", "ParameterNode", "NamedTypeNode", "TypeName", "IdentifierExpression", "setterParameters", "Property", "diag", "propertyGetter", "propertySetter", "IndexSignature", "isUnchecked", "_isInterface", "arrayBufferViewInstance", "basePtototype", "Class", "usizeType", "id", "typeParameters", "numTypeArguments", "lengthField", "candidates", "aBase", "bBase", "base", "inheritedTypeArguments", "baseName", "baseType", "extenders", "extender", "nextBase", "baseInterfaces", "baseInterface", "iface", "nextIface", "implementers", "interfaces", "target", "unchecked", "uncheckedOverload", "fieldName", "overhead", "buffer", "OBJECT", "baseOffset", "offset", "typeKind", "writeI8", "writeI16", "writeI32", "writeI64", "writeI32AsI64", "writeI64AsI32", "writeF32", "writeF64", "extendedPrototype", "arrayPrototype", "staticArrayPrototype", "abvInstance", "Interface", "older", "newer", "olderIsExport", "newerIsExport", "src", "dest", "srcMembers", "destMembers", "isInstance", "asGlobal", "PATH_DELIMITER", "INNER_DELIMITER", "INSTANCE_DELIMITER", "STATIC_DELIMITER", "cachedDefaultParameterNames", "TypeKind", "TypeFlags", "Type", "_Type", "kind", "flags", "size", "program", "classReference", "signatureReference", "type", "wrapper", "wrapperClasses", "targetType", "nullableType", "other", "selfSignatureReference", "otherSignatureReference", "target", "signednessIsRelevant", "currentClass", "targetClass", "currentFunction", "targetFunction", "thisClass", "base", "baseClass", "left", "right", "contextualType", "leftClass", "rightClass", "lubClass", "Class", "CommonNames", "validWat", "nullablePostfix", "TypeRef", "_BinaryenTypeFromHeapType", "HeapTypeRef", "ensureType", "typesToRefs", "types", "numTypes", "ret", "i", "typesToString", "sb", "Signature", "_Signature", "parameterTypes", "returnType", "thisType", "requiredParameters", "hasRest", "id", "usizeType", "signatureTypes", "nextId", "signature", "uniqueKey", "existing", "numParameterTypes", "typeRefs", "createType", "thisThisType", "otherThisType", "selfParameterTypes", "otherParameterTypes", "numParameters", "selfParameterType", "otherParameterType", "checkCompatibleOverride", "targetThisType", "thisReturnType", "targetReturnType", "thisParameterTypes", "targetParameterTypes", "thisParameterType", "targetParameterType", "k", "indices", "index", "parameters", "optionalStart", "restIndex", "cloneParameterTypes", "BuiltinNames", "BuiltinVariableContext", "compiler", "element", "contextualType", "reportNode", "BuiltinFunctionContext", "prototype", "typeArguments", "operands", "thisOperand", "contextIsExact", "builtinFunctions", "builtinVariables_onCompile", "builtinVariables_onAccess", "checkConstantType_expr", "builtin_isBoolean", "ctx", "module", "type", "checkConstantType", "Type", "reifyConstantType", "builtin_isInteger", "builtin_isSigned", "builtin_isFloat", "builtin_isVector", "builtin_isReference", "builtin_isString", "classReference", "builtin_isArray", "builtin_isArrayLike", "builtin_isFunction", "builtin_isNullable", "builtin_isDefined", "checkTypeAbsent", "checkArgsRequired", "builtin_isConstant", "expr", "mustPreserveSideEffects", "getExpressionType", "builtin_isManaged", "builtin_isVoid", "builtin_lengthof", "signatureReference", "builtin_sizeof", "checkTypeRequired", "byteSize", "contextualUsize", "builtin_alignof", "isPowerOf2", "builtin_offsetof", "checkArgsOptional", "firstOperand", "fieldName", "fieldMember", "property", "builtin_nameof", "resultType", "value", "builtin_idof", "builtin_NaN_compile", "TypeRef", "builtin_NaN_access", "builtin_Infinity_compile", "builtin_Infinity_access", "builtin_clz", "checkTypeOptional", "arg0", "builtin_ctz", "builtin_popcnt", "builtin_rotl", "arg1", "flow", "temp1", "temp2", "builtin_rotr", "builtin_abs", "options", "builtin_max", "left", "op", "typeRef", "builtin_min", "builtin_ceil", "builtin_floor", "builtin_copysign", "builtin_nearest", "builtin_reinterpret", "isWasm64", "builtin_sqrt", "builtin_trunc", "builtin_isNaN", "getExpressionId", "getLocalGetIndex", "temp", "builtin_isFinite", "builtin_heap_base_compile", "builtin_heap_base_access", "builtin_data_end_compile", "builtin_data_end_access", "builtin_stack_pointer_compile", "builtin_stack_pointer_access", "builtin_rtti_base_compile", "builtin_rtti_base_access", "builtin_load", "outType", "numOperands", "immOffset", "immAlign", "evaluateImmediateOffset", "evaluateImmediateAlign", "builtin_store", "inType", "builtin_rem", "builtin_add", "builtin_sub", "builtin_mul", "builtin_div", "builtin_eq", "builtin_ne", "builtin_atomic_load", "checkFeatureEnabled", "builtin_atomic_store", "builtin_atomic_binary", "opName", "builtin_atomic_add", "builtin_atomic_sub", "builtin_atomic_and", "builtin_atomic_or", "builtin_atomic_xor", "builtin_atomic_xchg", "builtin_atomic_cmpxchg", "arg2", "builtin_atomic_wait", "builtin_atomic_notify", "builtin_atomic_fence", "builtin_select", "builtin_unreachable", "builtin_memory_size", "builtin_memory_grow", "builtin_memory_copy", "instance", "usizeType", "builtin_memory_fill", "builtin_memory_data", "offset", "elementType", "valuesOperand", "expressions", "numElements", "exprs", "isStatic", "i", "elementExpression", "precomp", "align", "buf", "size", "getConstValueI32", "builtin_i31_new", "builtin_i31_get", "builtin_changetype", "toType", "fromType", "builtin_assert", "evaled", "getConstValueI64Low", "getConstValueI64High", "getConstValueF32", "getConstValueF64", "abort", "builtin_unchecked", "ignoreUnchecked", "alreadyUnchecked", "builtin_call_indirect", "returnType", "indexArg", "operandExprs", "paramTypeRefs", "createType", "builtin_instantiate", "classInstance", "ctor", "builtin_diagnostic", "category", "builtin_error", "builtin_warning", "builtin_info", "builtin_function_call", "parent", "ftype", "signature", "functionArg", "thisType", "thisArg", "builtin_string_raw", "builtin_conversion", "builtin_i8", "builtin_i16", "builtin_i32", "builtin_i64", "builtin_isize", "builtin_u8", "builtin_u16", "builtin_u32", "builtin_u64", "builtin_usize", "builtin_bool", "builtin_f32", "builtin_f64", "builtin_v128", "builtin_i8x16", "bytes", "vars", "numVars", "writeI8", "vec", "fullVars", "builtin_i16x8", "writeI16", "builtin_i32x4", "writeI32", "builtin_i64x2", "off", "builtin_f32x4", "writeF32", "builtin_f64x2", "writeF64", "builtin_v128_splat", "builtin_v128_extract_lane", "idx", "maxIdx", "builtin_v128_replace_lane", "builtin_v128_shuffle", "laneWidth", "laneCount", "mask", "operand", "argN", "off8", "idx8", "builtin_v128_swizzle", "builtin_v128_load_splat", "builtin_v128_load_ext", "builtin_v128_load_zero", "builtin_v128_load_lane", "builtin_v128_store_lane", "builtin_v128_add", "builtin_v128_sub", "builtin_v128_mul", "builtin_v128_div", "builtin_v128_add_sat", "builtin_v128_sub_sat", "builtin_v128_min", "builtin_v128_max", "builtin_v128_pmin", "builtin_v128_pmax", "builtin_v128_dot", "builtin_v128_avgr", "builtin_v128_eq", "builtin_v128_ne", "builtin_v128_lt", "builtin_v128_le", "builtin_v128_gt", "builtin_v128_ge", "builtin_v128_narrow", "builtin_v128_neg", "builtin_v128_abs", "builtin_v128_sqrt", "builtin_v128_ceil", "builtin_v128_floor", "builtin_v128_trunc", "builtin_v128_nearest", "builtin_v128_convert", "builtin_v128_convert_low", "builtin_v128_trunc_sat", "builtin_v128_trunc_sat_zero", "builtin_v128_extend_low", "builtin_v128_extend_high", "builtin_v128_shl", "builtin_v128_shr", "builtin_v128_bitwise_binary", "builtin_v128_and", "builtin_v128_or", "builtin_v128_xor", "builtin_v128_andnot", "builtin_v128_bitwise_unary", "builtin_v128_not", "builtin_v128_bitselect", "builtin_v128_any_true", "builtin_v128_all_true", "builtin_v128_bitmask", "builtin_v128_popcnt", "builtin_v128_extadd_pairwise", "builtin_v128_demote_zero", "builtin_v128_promote_low", "builtin_v128_q15mulr_sat", "builtin_v128_extmul_low", "builtin_v128_extmul_high", "builtin_v128_relaxed_swizzle", "builtin_v128_relaxed_trunc", "builtin_v128_relaxed_trunc_zero", "builtin_v128_relaxed_madd", "builtin_v128_relaxed_nmadd", "builtin_v128_relaxed_laneselect", "builtin_v128_relaxed_min", "builtin_v128_relaxed_max", "builtin_v128_relaxed_q15mulr", "builtin_v128_relaxed_dot", "builtin_v128_relaxed_dot_add", "builtin_visit_globals", "builtin_visit_members", "builtin_i32_clz", "builtin_i64_clz", "builtin_i32_ctz", "builtin_i64_ctz", "builtin_i32_popcnt", "builtin_i64_popcnt", "builtin_i32_rotl", "builtin_i64_rotl", "builtin_i32_rotr", "builtin_i64_rotr", "builtin_f32_abs", "builtin_f64_abs", "builtin_f32_max", "builtin_f64_max", "builtin_f32_min", "builtin_f64_min", "builtin_f32_ceil", "builtin_f64_ceil", "builtin_f32_floor", "builtin_f64_floor", "builtin_f32_copysign", "builtin_f64_copysign", "builtin_f32_nearest", "builtin_f64_nearest", "builtin_i32_reinterpret_f32", "builtin_i64_reinterpret_f64", "builtin_f32_reinterpret_i32", "builtin_f64_reinterpret_i64", "builtin_f32_sqrt", "builtin_f64_sqrt", "builtin_f32_trunc", "builtin_f64_trunc", "builtin_i32_rem_s", "builtin_i32_rem_u", "builtin_i64_rem_s", "builtin_i64_rem_u", "builtin_i32_add", "builtin_i64_add", "builtin_f32_add", "builtin_f64_add", "builtin_i32_sub", "builtin_i64_sub", "builtin_f32_sub", "builtin_f64_sub", "builtin_i32_mul", "builtin_i64_mul", "builtin_f32_mul", "builtin_f64_mul", "builtin_i32_div_s", "builtin_i32_div_u", "builtin_i64_div_s", "builtin_i64_div_u", "builtin_f32_div", "builtin_f64_div", "builtin_i32_eq", "builtin_i64_eq", "builtin_f32_eq", "builtin_f64_eq", "builtin_i32_ne", "builtin_i64_ne", "builtin_f32_ne", "builtin_f64_ne", "builtin_i32_load8_s", "builtin_i32_load8_u", "builtin_i32_load16_s", "builtin_i32_load16_u", "builtin_i32_load", "builtin_i64_load8_s", "builtin_i64_load8_u", "builtin_i64_load16_s", "builtin_i64_load16_u", "builtin_i64_load32_s", "builtin_i64_load32_u", "builtin_i64_load", "builtin_f32_load", "builtin_f64_load", "builtin_i32_store8", "builtin_i32_store16", "builtin_i32_store", "builtin_i64_store8", "builtin_i64_store16", "builtin_i64_store32", "builtin_i64_store", "builtin_f32_store", "builtin_f64_store", "builtin_i32_atomic_load8_u", "builtin_i32_atomic_load16_u", "builtin_i32_atomic_load", "builtin_i64_atomic_load8_u", "builtin_i64_atomic_load16_u", "builtin_i64_atomic_load32_u", "builtin_i64_atomic_load", "builtin_i32_atomic_store8", "builtin_i32_atomic_store16", "builtin_i32_atomic_store", "builtin_i64_atomic_store8", "builtin_i64_atomic_store16", "builtin_i64_atomic_store32", "builtin_i64_atomic_store", "builtin_i32_atomic_rmw8_add_u", "builtin_i32_atomic_rmw16_add_u", "builtin_i32_atomic_rmw_add", "builtin_i64_atomic_rmw8_add_u", "builtin_i64_atomic_rmw16_add_u", "builtin_i64_atomic_rmw32_add_u", "builtin_i64_atomic_rmw_add", "builtin_i32_atomic_rmw8_sub_u", "builtin_i32_atomic_rmw16_sub_u", "builtin_i32_atomic_rmw_sub", "builtin_i64_atomic_rmw8_sub_u", "builtin_i64_atomic_rmw16_sub_u", "builtin_i64_atomic_rmw32_sub_u", "builtin_i64_atomic_rmw_sub", "builtin_i32_atomic_rmw8_and_u", "builtin_i32_atomic_rmw16_and_u", "builtin_i32_atomic_rmw_and", "builtin_i64_atomic_rmw8_and_u", "builtin_i64_atomic_rmw16_and_u", "builtin_i64_atomic_rmw32_and_u", "builtin_i64_atomic_rmw_and", "builtin_i32_atomic_rmw8_or_u", "builtin_i32_atomic_rmw16_or_u", "builtin_i32_atomic_rmw_or", "builtin_i64_atomic_rmw8_or_u", "builtin_i64_atomic_rmw16_or_u", "builtin_i64_atomic_rmw32_or_u", "builtin_i64_atomic_rmw_or", "builtin_i32_atomic_rmw8_xor_u", "builtin_i32_atomic_rmw16_xor_u", "builtin_i32_atomic_rmw_xor", "builtin_i64_atomic_rmw8_xor_u", "builtin_i64_atomic_rmw16_xor_u", "builtin_i64_atomic_rmw32_xor_u", "builtin_i64_atomic_rmw_xor", "builtin_i32_atomic_rmw8_xchg_u", "builtin_i32_atomic_rmw16_xchg_u", "builtin_i32_atomic_rmw_xchg", "builtin_i64_atomic_rmw8_xchg_u", "builtin_i64_atomic_rmw16_xchg_u", "builtin_i64_atomic_rmw32_xchg_u", "builtin_i64_atomic_rmw_xchg", "builtin_i32_atomic_rmw8_cmpxchg_u", "builtin_i32_atomic_rmw16_cmpxchg_u", "builtin_i32_atomic_rmw_cmpxchg", "builtin_i64_atomic_rmw8_cmpxchg_u", "builtin_i64_atomic_rmw16_cmpxchg_u", "builtin_i64_atomic_rmw32_cmpxchg_u", "builtin_i64_atomic_rmw_cmpxchg", "builtin_memory_atomic_wait32", "builtin_memory_atomic_wait64", "builtin_v128_load", "builtin_v128_load8x8_s", "builtin_v128_load8x8_u", "builtin_v128_load16x4_s", "builtin_v128_load16x4_u", "builtin_v128_load32x2_s", "builtin_v128_load32x2_u", "builtin_v128_load8_splat", "builtin_v128_load16_splat", "builtin_v128_load32_splat", "builtin_v128_load64_splat", "builtin_v128_load32_zero", "builtin_v128_load64_zero", "builtin_v128_load8_lane", "builtin_v128_load16_lane", "builtin_v128_load32_lane", "builtin_v128_load64_lane", "builtin_v128_store8_lane", "builtin_v128_store16_lane", "builtin_v128_store32_lane", "builtin_v128_store64_lane", "builtin_v128_store", "builtin_i8x16_splat", "builtin_i8x16_extract_lane_s", "builtin_i8x16_extract_lane_u", "builtin_i8x16_replace_lane", "builtin_i8x16_add", "builtin_i8x16_sub", "builtin_i8x16_min_s", "builtin_i8x16_min_u", "builtin_i8x16_max_s", "builtin_i8x16_max_u", "builtin_i8x16_avgr_u", "builtin_i8x16_abs", "builtin_i8x16_neg", "builtin_i8x16_add_sat_s", "builtin_i8x16_add_sat_u", "builtin_i8x16_sub_sat_s", "builtin_i8x16_sub_sat_u", "builtin_i8x16_shl", "builtin_i8x16_shr_s", "builtin_i8x16_shr_u", "builtin_i8x16_all_true", "builtin_i8x16_bitmask", "builtin_i8x16_popcnt", "builtin_i8x16_eq", "builtin_i8x16_ne", "builtin_i8x16_lt_s", "builtin_i8x16_lt_u", "builtin_i8x16_le_s", "builtin_i8x16_le_u", "builtin_i8x16_gt_s", "builtin_i8x16_gt_u", "builtin_i8x16_ge_s", "builtin_i8x16_ge_u", "builtin_i8x16_narrow_i16x8_s", "builtin_i8x16_narrow_i16x8_u", "builtin_i8x16_shuffle", "builtin_i8x16_swizzle", "builtin_i16x8_splat", "builtin_i16x8_extract_lane_s", "builtin_i16x8_extract_lane_u", "builtin_i16x8_replace_lane", "builtin_i16x8_add", "builtin_i16x8_sub", "builtin_i16x8_mul", "builtin_i16x8_min_s", "builtin_i16x8_min_u", "builtin_i16x8_max_s", "builtin_i16x8_max_u", "builtin_i16x8_avgr_u", "builtin_i16x8_abs", "builtin_i16x8_neg", "builtin_i16x8_add_sat_s", "builtin_i16x8_add_sat_u", "builtin_i16x8_sub_sat_s", "builtin_i16x8_sub_sat_u", "builtin_i16x8_shl", "builtin_i16x8_shr_s", "builtin_i16x8_shr_u", "builtin_i16x8_all_true", "builtin_i16x8_bitmask", "builtin_i16x8_eq", "builtin_i16x8_ne", "builtin_i16x8_lt_s", "builtin_i16x8_lt_u", "builtin_i16x8_le_s", "builtin_i16x8_le_u", "builtin_i16x8_gt_s", "builtin_i16x8_gt_u", "builtin_i16x8_ge_s", "builtin_i16x8_ge_u", "builtin_i16x8_narrow_i32x4_s", "builtin_i16x8_narrow_i32x4_u", "builtin_i16x8_extend_low_i8x16_s", "builtin_i16x8_extend_low_i8x16_u", "builtin_i16x8_extend_high_i8x16_s", "builtin_i16x8_extend_high_i8x16_u", "builtin_i16x8_extadd_pairwise_i8x16_s", "builtin_i16x8_extadd_pairwise_i8x16_u", "builtin_i16x8_q15mulr_sat_s", "builtin_i16x8_extmul_low_i8x16_s", "builtin_i16x8_extmul_low_i8x16_u", "builtin_i16x8_extmul_high_i8x16_s", "builtin_i16x8_extmul_high_i8x16_u", "builtin_i16x8_shuffle", "builtin_i32x4_splat", "builtin_i32x4_extract_lane", "builtin_i32x4_replace_lane", "builtin_i32x4_add", "builtin_i32x4_sub", "builtin_i32x4_mul", "builtin_i32x4_min_s", "builtin_i32x4_min_u", "builtin_i32x4_max_s", "builtin_i32x4_max_u", "builtin_i32x4_dot_i16x8_s", "builtin_i32x4_abs", "builtin_i32x4_neg", "builtin_i32x4_shl", "builtin_i32x4_shr_s", "builtin_i32x4_shr_u", "builtin_i32x4_all_true", "builtin_i32x4_bitmask", "builtin_i32x4_eq", "builtin_i32x4_ne", "builtin_i32x4_lt_s", "builtin_i32x4_lt_u", "builtin_i32x4_le_s", "builtin_i32x4_le_u", "builtin_i32x4_gt_s", "builtin_i32x4_gt_u", "builtin_i32x4_ge_s", "builtin_i32x4_ge_u", "builtin_i32x4_trunc_sat_f32x4_s", "builtin_i32x4_trunc_sat_f32x4_u", "builtin_i32x4_trunc_sat_f64x2_s_zero", "builtin_i32x4_trunc_sat_f64x2_u_zero", "builtin_i32x4_extend_low_i16x8_s", "builtin_i32x4_extend_low_i16x8_u", "builtin_i32x4_extend_high_i16x8_s", "builtin_i32x4_extend_high_i16x8_u", "builtin_i32x4_extadd_pairwise_i16x8_s", "builtin_i32x4_extadd_pairwise_i16x8_u", "builtin_i32x4_extmul_low_i16x8_s", "builtin_i32x4_extmul_low_i16x8_u", "builtin_i32x4_extmul_high_i16x8_s", "builtin_i32x4_extmul_high_i16x8_u", "builtin_i32x4_shuffle", "builtin_i64x2_splat", "builtin_i64x2_extract_lane", "builtin_i64x2_replace_lane", "builtin_i64x2_add", "builtin_i64x2_sub", "builtin_i64x2_mul", "builtin_i64x2_abs", "builtin_i64x2_neg", "builtin_i64x2_shl", "builtin_i64x2_shr_s", "builtin_i64x2_shr_u", "builtin_i64x2_all_true", "builtin_i64x2_bitmask", "builtin_i64x2_eq", "builtin_i64x2_ne", "builtin_i64x2_lt_s", "builtin_i64x2_le_s", "builtin_i64x2_gt_s", "builtin_i64x2_ge_s", "builtin_i64x2_extend_low_i32x4_s", "builtin_i64x2_extend_low_i32x4_u", "builtin_i64x2_extend_high_i32x4_s", "builtin_i64x2_extend_high_i32x4_u", "builtin_i64x2_extmul_low_i32x4_s", "builtin_i64x2_extmul_low_i32x4_u", "builtin_i64x2_extmul_high_i32x4_s", "builtin_i64x2_extmul_high_i32x4_u", "builtin_i64x2_shuffle", "builtin_f32x4_splat", "builtin_f32x4_extract_lane", "builtin_f32x4_replace_lane", "builtin_f32x4_add", "builtin_f32x4_sub", "builtin_f32x4_mul", "builtin_f32x4_div", "builtin_f32x4_neg", "builtin_f32x4_min", "builtin_f32x4_max", "builtin_f32x4_pmin", "builtin_f32x4_pmax", "builtin_f32x4_abs", "builtin_f32x4_sqrt", "builtin_f32x4_ceil", "builtin_f32x4_floor", "builtin_f32x4_trunc", "builtin_f32x4_nearest", "builtin_f32x4_eq", "builtin_f32x4_ne", "builtin_f32x4_lt", "builtin_f32x4_le", "builtin_f32x4_gt", "builtin_f32x4_ge", "builtin_f32x4_convert_i32x4_s", "builtin_f32x4_convert_i32x4_u", "builtin_f32x4_demote_f64x2_zero", "builtin_f32x4_shuffle", "builtin_f64x2_splat", "builtin_f64x2_extract_lane", "builtin_f64x2_replace_lane", "builtin_f64x2_add", "builtin_f64x2_sub", "builtin_f64x2_mul", "builtin_f64x2_div", "builtin_f64x2_neg", "builtin_f64x2_min", "builtin_f64x2_max", "builtin_f64x2_pmin", "builtin_f64x2_pmax", "builtin_f64x2_abs", "builtin_f64x2_sqrt", "builtin_f64x2_ceil", "builtin_f64x2_floor", "builtin_f64x2_trunc", "builtin_f64x2_nearest", "builtin_f64x2_eq", "builtin_f64x2_ne", "builtin_f64x2_lt", "builtin_f64x2_le", "builtin_f64x2_gt", "builtin_f64x2_ge", "builtin_f64x2_convert_low_i32x4_s", "builtin_f64x2_convert_low_i32x4_u", "builtin_f64x4_promote_low_f32x4", "builtin_f64x2_shuffle", "builtin_i8x16_relaxed_swizzle", "builtin_i32x4_relaxed_trunc_f32x4_s", "builtin_i32x4_relaxed_trunc_f32x4_u", "builtin_i32x4_relaxed_trunc_f64x2_s_zero", "builtin_i32x4_relaxed_trunc_f64x2_u_zero", "builtin_f32x4_relaxed_madd", "builtin_f32x4_relaxed_nmadd", "builtin_f64x2_relaxed_madd", "builtin_f64x2_relaxed_nmadd", "builtin_i8x16_relaxed_laneselect", "builtin_i16x8_relaxed_laneselect", "builtin_i32x4_relaxed_laneselect", "builtin_i64x2_relaxed_laneselect", "builtin_f32x4_relaxed_min", "builtin_f32x4_relaxed_max", "builtin_f64x2_relaxed_min", "builtin_f64x2_relaxed_max", "builtin_i16x8_relaxed_q15mulr_s", "builtin_i16x8_relaxed_dot_i8x16_i7x16_s", "builtin_i32x4_relaxed_dot_i8x16_i7x16_add_s", "compileVisitGlobals", "sizeTypeRef", "visitInstance", "_values", "k", "global", "ensureVisitMembersOf", "program", "sizeTypeSize", "body", "base", "hasVisitImpl", "visitPrototype", "visitSignature", "visitThisType", "needsTempValue", "members", "j", "l", "member", "fieldType", "fieldOffset", "compileVisitMembers", "managedClasses", "names", "cases", "nextId", "_keys", "instanceId", "current", "typeToRuntimeFlags", "flags", "compileRTTI", "count", "data", "abvInstance", "abvPrototype", "arrayPrototype", "setPrototype", "mapPrototype", "staticArrayPrototype", "lastId", "valueType", "segment", "expression", "naturalAlign", "feature", "featureToString", "setCurrentTypeOnError", "numTypeArguments", "expected", "expectedMinimum", "expectedMaximum", "Visitor", "currentExpression", "stack", "length", "expr", "name", "index", "previousExpression", "_BinaryenExpressionGetId", "_BinaryenBlockGetName", "i", "n", "_BinaryenBlockGetNumChildren", "_BinaryenBlockGetChildAt", "_BinaryenIfGetCondition", "_BinaryenIfGetIfTrue", "ifFalse", "_BinaryenIfGetIfFalse", "_BinaryenLoopGetName", "_BinaryenLoopGetBody", "_BinaryenBreakGetName", "condition", "_BinaryenBreakGetCondition", "value", "_BinaryenBreakGetValue", "defaultName", "_BinaryenSwitchGetDefaultName", "numNames", "_BinaryenSwitchGetNumNames", "_BinaryenSwitchGetNameAt", "_BinaryenSwitchGetCondition", "_BinaryenSwitchGetValue", "_BinaryenCallGetTarget", "numOperands", "_BinaryenCallGetNumOperands", "_BinaryenCallGetOperandAt", "_BinaryenCallIndirectGetTarget", "k", "_BinaryenCallIndirectGetNumOperands", "_BinaryenCallIndirectGetOperandAt", "_BinaryenLocalGetGetIndex", "_BinaryenLocalSetGetIndex", "_BinaryenLocalSetGetValue", "_BinaryenGlobalGetGetName", "_BinaryenGlobalSetGetName", "_BinaryenGlobalSetGetValue", "_BinaryenLoadGetPtr", "_BinaryenStoreGetPtr", "_BinaryenStoreGetValue", "_BinaryenUnaryGetValue", "_BinaryenBinaryGetLeft", "_BinaryenBinaryGetRight", "_BinaryenSelectGetIfTrue", "_BinaryenSelectGetIfFalse", "_BinaryenSelectGetCondition", "_BinaryenDropGetValue", "_BinaryenReturnGetValue", "_BinaryenMemoryGrowGetDelta", "_BinaryenAtomicRMWGetPtr", "_BinaryenAtomicRMWGetValue", "_BinaryenAtomicCmpxchgGetPtr", "_BinaryenAtomicCmpxchgGetExpected", "_BinaryenAtomicCmpxchgGetReplacement", "_BinaryenAtomicWaitGetPtr", "_BinaryenAtomicWaitGetExpected", "_BinaryenAtomicWaitGetTimeout", "_BinaryenAtomicNotifyGetPtr", "_BinaryenAtomicNotifyGetNotifyCount", "_BinaryenSIMDExtractGetVec", "_BinaryenSIMDReplaceGetVec", "_BinaryenSIMDReplaceGetValue", "_BinaryenSIMDShuffleGetLeft", "_BinaryenSIMDShuffleGetRight", "_BinaryenSIMDTernaryGetA", "_BinaryenSIMDTernaryGetB", "_BinaryenSIMDTernaryGetC", "_BinaryenSIMDShiftGetVec", "_BinaryenSIMDShiftGetShift", "_BinaryenSIMDLoadGetPtr", "_BinaryenSIMDLoadStoreLaneGetPtr", "_BinaryenSIMDLoadStoreLaneGetVec", "_BinaryenMemoryInitGetDest", "_BinaryenMemoryInitGetOffset", "_BinaryenMemoryInitGetSize", "_BinaryenMemoryCopyGetDest", "_BinaryenMemoryCopyGetSource", "_BinaryenMemoryCopyGetSize", "_BinaryenMemoryFillGetDest", "_BinaryenMemoryFillGetValue", "_BinaryenMemoryFillGetSize", "_BinaryenRefIsNullGetValue", "_BinaryenRefFuncGetFunc", "_BinaryenRefEqGetLeft", "_BinaryenRefEqGetRight", "_BinaryenTryGetBody", "numCatchBodies", "_BinaryenTryGetNumCatchBodies", "_BinaryenTryGetCatchBodyAt", "_BinaryenThrowGetTag", "_BinaryenThrowGetNumOperands", "_BinaryenThrowGetOperandAt", "_BinaryenTupleMakeGetNumOperands", "_BinaryenTupleMakeGetOperandAt", "_BinaryenTupleExtractGetTuple", "_BinaryenRefI31GetValue", "_BinaryenI31GetGetI31", "_BinaryenCallRefGetNumOperands", "_BinaryenCallRefGetOperandAt", "_BinaryenCallRefGetTarget", "_BinaryenRefTestGetRef", "_BinaryenRefCastGetRef", "_BinaryenBrOnGetName", "_BinaryenBrOnGetRef", "_BinaryenStructNewGetNumOperands", "_BinaryenStructNewGetOperandAt", "_BinaryenStructGetGetRef", "_BinaryenStructGetGetIndex", "_BinaryenStructSetGetRef", "_BinaryenStructSetGetIndex", "_BinaryenStructSetGetValue", "_BinaryenArrayNewGetSize", "init", "_BinaryenArrayNewGetInit", "numValues", "_BinaryenArrayNewFixedGetNumValues", "_BinaryenArrayNewFixedGetValueAt", "_BinaryenArrayGetGetRef", "_BinaryenArrayGetGetIndex", "_BinaryenArraySetGetRef", "_BinaryenArraySetGetIndex", "_BinaryenArraySetGetValue", "_BinaryenArrayLenGetRef", "_BinaryenArrayCopyGetDestRef", "_BinaryenArrayCopyGetDestIndex", "_BinaryenArrayCopyGetSrcRef", "_BinaryenArrayCopyGetSrcIndex", "_BinaryenArrayCopyGetLength", "_BinaryenRefAsGetValue", "_BinaryenStringNewGetPtr", "_BinaryenStringNewGetLength", "start", "_BinaryenStringNewGetStart", "end", "_BinaryenStringNewGetEnd", "_BinaryenStringMeasureGetRef", "_BinaryenStringEncodeGetRef", "_BinaryenStringEncodeGetPtr", "_BinaryenStringEncodeGetStart", "_BinaryenStringConcatGetLeft", "_BinaryenStringConcatGetRight", "_BinaryenStringEqGetLeft", "_BinaryenStringEqGetRight", "_BinaryenStringAsGetRef", "_BinaryenStringWTF8AdvanceGetRef", "_BinaryenStringWTF8AdvanceGetPos", "_BinaryenStringWTF8AdvanceGetBytes", "_BinaryenStringWTF16GetGetRef", "_BinaryenStringWTF16GetGetPos", "_BinaryenStringIterNextGetRef", "_BinaryenStringIterMoveGetRef", "_BinaryenStringIterMoveGetNum", "_BinaryenStringSliceWTFGetRef", "_BinaryenStringSliceWTFGetStart", "_BinaryenStringSliceWTFGetEnd", "_BinaryenStringSliceIterGetRef", "_BinaryenStringSliceIterGetNum", "Pass", "module", "currentFunction", "currentGlobal", "moduleRef", "_BinaryenGetNumFunctions", "_BinaryenGetFunctionByIndex", "func", "body", "_BinaryenFunctionGetBody", "_BinaryenGetNumGlobals", "_BinaryenGetGlobalByIndex", "global", "_BinaryenGlobalGetInitExpr", "replacement", "search", "_BinaryenFunctionSetBody", "parent", "replaceChild", "_BinaryenExpressionFinalize", "numChildren", "child", "_BinaryenBlockSetChildAt", "_BinaryenIfSetCondition", "ifTrue", "_BinaryenIfSetIfTrue", "_BinaryenIfSetIfFalse", "_BinaryenLoopSetBody", "_BinaryenBreakSetCondition", "_BinaryenBreakSetValue", "_BinaryenSwitchSetCondition", "_BinaryenSwitchSetValue", "operand", "_BinaryenCallSetOperandAt", "target", "_BinaryenCallIndirectSetTarget", "_BinaryenCallIndirectSetOperandAt", "_BinaryenLocalSetSetValue", "_BinaryenGlobalSetSetValue", "ptr", "_BinaryenLoadSetPtr", "_BinaryenStoreSetPtr", "_BinaryenStoreSetValue", "_BinaryenUnarySetValue", "left", "_BinaryenBinarySetLeft", "right", "_BinaryenBinarySetRight", "_BinaryenSelectSetIfTrue", "_BinaryenSelectSetIfFalse", "_BinaryenSelectSetCondition", "_BinaryenDropSetValue", "_BinaryenReturnSetValue", "delta", "_BinaryenMemoryGrowSetDelta", "_BinaryenAtomicRMWSetPtr", "_BinaryenAtomicRMWSetValue", "_BinaryenAtomicCmpxchgSetPtr", "expected", "_BinaryenAtomicCmpxchgSetExpected", "repl", "_BinaryenAtomicCmpxchgSetReplacement", "_BinaryenAtomicWaitSetPtr", "_BinaryenAtomicWaitSetExpected", "timeout", "_BinaryenAtomicWaitSetTimeout", "_BinaryenAtomicNotifySetPtr", "notifyCount", "_BinaryenAtomicNotifySetNotifyCount", "vec", "_BinaryenSIMDExtractSetVec", "_BinaryenSIMDReplaceSetVec", "_BinaryenSIMDReplaceSetValue", "_BinaryenSIMDShuffleSetLeft", "_BinaryenSIMDShuffleSetRight", "a", "_BinaryenSIMDTernarySetA", "b", "_BinaryenSIMDTernarySetB", "c", "_BinaryenSIMDTernarySetC", "_BinaryenSIMDShiftSetVec", "shift", "_BinaryenSIMDShiftSetShift", "_BinaryenSIMDLoadSetPtr", "_BinaryenSIMDLoadStoreLaneSetPtr", "_BinaryenSIMDLoadStoreLaneSetVec", "dest", "_BinaryenMemoryInitSetDest", "offset", "_BinaryenMemoryInitSetOffset", "size", "_BinaryenMemoryInitSetSize", "_BinaryenMemoryCopySetDest", "source", "_BinaryenMemoryCopySetSource", "_BinaryenMemoryCopySetSize", "_BinaryenMemoryFillSetDest", "_BinaryenMemoryFillSetValue", "_BinaryenMemoryFillSetSize", "_BinaryenRefIsNullSetValue", "_BinaryenRefEqSetLeft", "_BinaryenRefEqSetRight", "_BinaryenTrySetBody", "catchBody", "_BinaryenTrySetCatchBodyAt", "_BinaryenThrowSetOperandAt", "_BinaryenTupleMakeSetOperandAt", "tuple", "_BinaryenTupleExtractSetTuple", "_BinaryenRefI31SetValue", "i31Expr", "_BinaryenI31GetSetI31", "_BinaryenCallRefSetOperandAt", "_BinaryenCallRefSetTarget", "ref", "_BinaryenRefTestSetRef", "_BinaryenRefCastSetRef", "_BinaryenBrOnSetRef", "_BinaryenStructNewSetOperandAt", "_BinaryenStructGetSetRef", "_BinaryenStructSetSetRef", "_BinaryenStructSetSetValue", "_BinaryenArrayNewSetSize", "_BinaryenArrayNewSetInit", "_BinaryenArrayNewFixedSetValueAt", "_BinaryenArrayGetSetRef", "_BinaryenArrayGetSetIndex", "_BinaryenArraySetSetRef", "_BinaryenArraySetSetIndex", "_BinaryenArraySetSetValue", "_BinaryenArrayLenSetRef", "destRef", "_BinaryenArrayCopySetDestRef", "destIndex", "_BinaryenArrayCopySetDestIndex", "srcRef", "_BinaryenArrayCopySetSrcRef", "srcIndex", "_BinaryenArrayCopySetSrcIndex", "_BinaryenArrayCopySetLength", "_BinaryenRefAsSetValue", "_BinaryenStringNewSetPtr", "_BinaryenStringNewSetLength", "_BinaryenStringNewSetStart", "_BinaryenStringNewSetEnd", "_BinaryenStringMeasureSetRef", "_BinaryenStringEncodeSetRef", "_BinaryenStringEncodeSetPtr", "_BinaryenStringEncodeSetStart", "_BinaryenStringConcatSetLeft", "_BinaryenStringConcatSetRight", "_BinaryenStringEqSetLeft", "_BinaryenStringEqSetRight", "_BinaryenStringAsSetRef", "_BinaryenStringWTF8AdvanceSetRef", "pos", "_BinaryenStringWTF8AdvanceSetPos", "bytes", "_BinaryenStringWTF8AdvanceSetBytes", "_BinaryenStringWTF16GetSetRef", "_BinaryenStringWTF16GetSetPos", "_BinaryenStringIterNextSetRef", "_BinaryenStringIterMoveSetRef", "num", "_BinaryenStringIterMoveSetNum", "_BinaryenStringSliceWTFSetRef", "_BinaryenStringSliceWTFSetStart", "_BinaryenStringSliceWTFSetEnd", "_BinaryenStringSliceIterSetRef", "_BinaryenStringSliceIterSetNum", "RtraceMemory", "Pass", "compiler", "_BinaryenFunctionGetName", "store", "module", "ptr", "_BinaryenStoreGetPtr", "offset", "_BinaryenStoreGetOffset", "bytes", "_BinaryenStoreGetBytes", "_BinaryenStoreSetPtr", "createType", "TypeRef", "matchPattern", "module", "expr", "isFound", "_BinaryenExpressionGetId", "_BinaryenCallGetTarget", "BuiltinNames", "_BinaryenCallGetNumOperands", "_BinaryenCallGetOperandAt", "needsSlot", "value", "isConstZero", "ShadowStackPass", "Pass", "compiler", "TypeRef", "func", "localIndex", "slotMap", "slotIndex", "name", "managedOperandIndices", "type", "tempMap", "_BinaryenFunctionGetNumLocals", "offset", "frameSize", "stmts", "remain", "Source", "operands", "numSlots", "i", "k", "operand", "match", "currentFunction", "numLocals", "temp", "call", "numOperands", "_BinaryenCallSetOperandAt", "callIndirect", "_BinaryenCallIndirectGetNumOperands", "_BinaryenCallIndirectGetOperandAt", "_BinaryenCallIndirectSetOperandAt", "localSet", "_BinaryenLocalSetGetValue", "_BinaryenLocalSetSetValue", "index", "_BinaryenLocalSetGetIndex", "_BinaryenLocalSetIsTee", "funcRef", "_BinaryenFunctionGetName", "params", "_BinaryenFunctionGetParams", "results", "_BinaryenFunctionGetResults", "body", "_BinaryenFunctionGetBody", "numVars", "_BinaryenFunctionGetNumVars", "vars", "_BinaryenFunctionGetVar", "tempMaps", "_keys", "moduleRef", "_BinaryenRemoveFunction", "cArr", "allocPtrArray", "newFuncRef", "_BinaryenAddFunction", "_free", "exportRef", "_BinaryenExportGetKind", "internalNameRef", "_BinaryenExportGetValue", "internalName", "externalNameRef", "_BinaryenExportGetName", "_BinaryenGetFunction", "paramTypes", "expandType", "numParams", "wrapperName", "wrapperNameRef", "forwardedOperands", "tempIndex", "_BinaryenRemoveExport", "_BinaryenAddFunctionExport", "instrumentReturns", "InstrumentReturns", "bodyType", "_BinaryenExpressionGetType", "_BinaryenFunctionSetBody", "exportMap", "exportName", "_BinaryenGetExport", "shadowStack", "ret", "_BinaryenReturnGetValue", "returnType", "_BinaryenReturnSetValue", "ExportsWalker", "program", "includePrivate", "_values", "i", "k", "file", "exports", "_keys", "memberName", "member", "exportsStar", "exportStar", "name", "element", "seen", "propertyInstance", "getterInstance", "setterInstance", "hasCompiledMember", "instances", "instance", "members", "j", "l", "importToModule", "moduleName", "shouldInstrument", "JSBuilder", "_JSBuilder", "ExportsWalker", "program", "esm", "includePrivate", "name", "element", "sb", "type", "isPlainValue", "indent", "members", "_values", "i", "k", "value", "escapeString", "isIdentifier", "moduleId", "code", "signature", "isPlainFunction", "parameterTypes", "parameterNames", "expr", "indentText", "Type", "numReferences", "releases", "needsRetainRelease", "originalName", "decorator", "findDecorator", "args", "codeArg", "literal", "parts", "exports", "moduleImports", "options", "insertPos", "sbLengthBefore", "_keys", "module", "resetPos", "numInstrumented", "_keys2", "j", "l", "elem", "func", "global", "hasAdaptedImports", "mappings", "map", "hasAdaptedExports", "deferredCode", "objectInstance", "rtSizeOffset", "arrayBufferId", "chunkSize", "stringId", "dataStartOffset", "lengthOffset", "arrayBufferViewInstance", "arraySize", "bufferOffset", "byteLengthOffset", "size", "makeCheckedSetter", "makeCheckedGetter", "exportStart", "runtimeFunctions", "runtimeGlobals", "needsMaybeDefault", "importExpr", "importMap", "valueExpr", "clazz", "valueType", "isPlainObject", "prevIndentLevel", "fn", "pointerExpr", "memberName", "member", "property", "isPlainValue", "type", "kind", "Type", "isPlainFunction", "signature", "mode", "parameterTypes", "inverseMode", "i", "k", "isPlainObject", "clazz", "members", "_values", "member", "Source", "indentText", "text", "indentLevel", "sb", "butFirst", "lineStart", "length", "pos", "indent", "liftRequiresExportRuntime", "program", "lowerRequiresExportRuntime", "makeCheckedSetter", "fn", "makeCheckedGetter", "mangleImportName_moduleName", "mangleImportName_elementName", "defaultFeatures", "Options", "Type", "TypeRef", "feature", "on", "UncheckedBehavior", "Constraints", "RuntimeFeatures", "ImportNames", "ExportNames", "runtimeFunctions", "runtimeGlobals", "Compiler", "_Compiler", "DiagnosticEmitter", "program", "module", "options", "featureFlags", "startFunctionInstance", "BuiltinNames", "Signature", "ShadowStackPass", "resolver", "hasShadowStack", "startFunctionBody", "files", "_values", "i", "k", "file", "name", "instance", "lazyFunctions", "functionsToCompile", "functionTable", "overrideStubs", "overrideStubsSeen", "overrideInstances", "_keys", "elem", "compileRTTI", "compileVisitGlobals", "compileVisitMembers", "memoryOffset", "startIsEmpty", "exportStart", "signature", "funcRef", "typesToRefs", "isIdentifier", "Source", "RtraceMemory", "memorySegments", "initialPages", "maximumPages", "Module", "isSharedMemory", "lowMemoryLimit32", "lowMemoryLimit", "CommonNames", "tableBase", "functionTableNames", "initialTableSize", "maximumTableSize", "exports", "elementName", "element", "exportsStar", "prefix", "functionPrototype", "functionInstance", "exportName", "thisType", "lowerRequiresExportRuntime", "liftRequiresExportRuntime", "parameterTypes", "global", "type", "members", "subPrefix", "STATIC_DELIMITER", "memberName", "member", "enumValue", "normalizedPathWithoutExtension", "reportNode", "filesByName", "pathWithIndex", "INDEX_SUFFIX", "startFunction", "startSignature", "previousBody", "previousFlow", "flow", "statements", "locals", "numLocals", "varTypes", "pendingElements", "initExpr", "typeNode", "initializerNode", "resolvedType", "internalName", "builtinVariables_onCompile", "BuiltinVariableContext", "typeRef", "isDeclaredConstant", "isDeclaredInline", "mangleImportName", "initializeInStart", "precomp", "getExpressionId", "fromName", "getGlobalGetName", "isGlobalMutable", "elementsByName", "getExpressionType", "getConstValueI32", "getConstValueI64Low", "getConstValueI64High", "getConstValueF32", "getConstValueF64", "findDecorator", "internalType", "previousParent", "previousValue", "previousValueIsMut", "isInline", "initInStart", "valueNode", "value", "forceStdAlternative", "parameters", "numParameters", "visited", "paramIdentifier", "paramName", "previousType", "bodyNode", "declarationNode", "decoratorNodes", "decorator", "stmts", "propertyName", "propertyParent", "propertyInstance", "range", "fnTypeNode", "firstIndex", "returnType", "thisLocal", "bodyStartIndex", "expr", "parent", "classInstance", "allocStmts", "property", "getterInstance", "valueType", "valueTypeRef", "thisTypeRef", "body", "flowBefore", "setterInstance", "bodyExpr", "linkInstance", "createType", "buffer", "alignment", "isPowerOf2", "segment", "MemorySegment", "stringValue", "ptr", "totalOverhead", "stringInstance", "stringSegment", "segments", "len", "buf", "writeI16", "pos", "elementType", "values", "length", "byteSize", "elementTypeRef", "writeI8", "writeI32", "writeI64", "writeF32", "writeF64", "writeV128", "getConstValueV128", "id", "bufferSegment", "arrayInstance", "bufferLength", "readI32", "arrayLength", "bufferAddress", "memorySegment", "index", "rtInstance", "statement", "memberStatements", "declaration", "declarations", "exportStatement", "internalPath", "importStatement", "stmt", "numStatements", "getBlockName", "j", "getBlockChildCount", "getBlockChildAt", "outerFlow", "innerFlow", "existedTypeAlias", "TypeDefinition", "labelNode", "breakLabel", "label", "continueLabel", "numLocalsBefore", "loopLabel", "bodyStmts", "possiblyContinues", "possiblyBreaks", "possiblyFallsThrough", "condExpr", "condExprTrueish", "condKind", "initializer", "condition", "bodyFlow", "possiblyLoops", "incrementor", "ifTrue", "ifFalse", "thenStmts", "thenFlow", "elseFlow", "elseStmts", "valueExpression", "constraints", "inlineReturnLabel", "cases", "numCases", "tempLocalIndex", "breaks", "breakIndex", "defaultIndex", "case_", "currentBlock", "fallThroughFlow", "breakingFlowAlternatives", "isLast", "nextLabel", "count", "message", "newArgs", "numDeclarations", "initializers", "initType", "cloneMap", "dummy", "temp", "isConst", "isStatic", "local", "Local", "scopedLocals", "existing", "existingLocal", "alwaysTerminates", "contextualType", "shift", "mask", "expression", "compiled", "currentType", "wrap", "fromType", "toType", "explicit", "saturating", "op", "inheritedConstraints", "left", "right", "leftExpr", "leftType", "rightExpr", "rightType", "commonType", "compound", "classReference", "overload", "operatorTokenToString", "isConstExpressionNaN", "isConstNegZero", "rightFlow", "tempLocal", "possiblyNull", "tempIndex", "target", "targetType", "leftValue", "rightValue", "prototype", "result", "isWasm64", "accuratePow64", "namespace", "operatorInstance", "valueExpr", "thisExpression", "elementExpression", "propertyPrototype", "isUnchecked", "indexedSet", "indexExpression", "tee", "isConstructor", "thisExpr", "ret", "setterIndexType", "getterIndexType", "elementExpr", "tempTarget", "tempElement", "localIndex", "sourceFunction", "baseClassInstance", "sizeTypeRef", "baseCtorInstance", "superCall", "thisArg", "functionArg", "getterPrototype", "typeArguments", "args", "call", "Node", "typeParameterNodes", "typeArgumentNodes", "callee", "ctx", "BuiltinFunctionContext", "builtinFunctions", "numArguments", "hasThis", "hasRest", "minimum", "maximum", "relatedReportNode", "argumentExpressions", "inlineStack", "numArgumentsInclThis", "operands", "paramType", "paramExpr", "immediatelyDropped", "Flow", "base", "argumentLocal", "original", "stub", "originalSignature", "originalParameterTypes", "originalParameterDeclarations", "isInstance", "minArguments", "minOperands", "maxArguments", "maxOperands", "numOptional", "forwardedOperands", "operandIndex", "numNames", "names", "ofN", "argumentsLength", "table", "builder", "SwitchBuilder", "mostRecentInheritanceMapping", "overrideInstance", "overrideSignature", "overrideParameterTypes", "overrideNumParameters", "paramExprs", "n", "needsVarargsStub", "calledName", "returnTypeRef", "extenders", "extender", "instanceMembers", "instanceClass", "operand", "isConstZero", "parameterIndex", "theOperands", "numOperands", "parameterNodes", "allOptionalsAreConstant", "resolved", "lastOperand", "getSideEffects", "lastOperandType", "expressions", "numExpressions", "exprs", "targetExpression", "indexedGet", "isNamed", "isSemanticallyAnonymous", "FunctionPrototype", "contextualTypeArguments", "contextualSignature", "signatureNode", "numPresentParameters", "parameterNode", "isTypeOmitted", "thisTypeNode", "Function", "worked", "offset", "fname", "ftype", "signatureReference", "scopedThis", "superType", "currentParent", "localType", "isNonNull", "globalType", "ensureType", "builtinVariables_onAccess", "isType", "namedType", "expectedType", "actualType", "pending", "sizeType", "allInstances", "instances", "implementers", "implementer", "implicitlyNegate", "floatValue", "intValue", "sign", "tag", "parts", "numParts", "stringType", "lhsLen", "rhsLen", "hasPrefix", "lhs", "rhs", "concatMethod", "exprA", "exprB", "expressionPositions", "joinInstance", "indexedSetInstance", "temps", "tsaArrayInstance", "first", "rawParts", "partExprs", "arraySegment", "rawExprs", "rawHeaderSegment", "contextualClass", "arrayType", "arrayBufferInstance", "tempThis", "tempDataStart", "arrayAddress", "arrayTypeRef", "dataStartMember", "dataStartProperty", "source", "bufferSize", "classType", "ctorPrototype", "hasErrors", "classTypeRef", "omittedFields", "memberKey", "deferredProperties", "propertyType", "l", "ctor", "classPrototype", "baseClass", "baseCtor", "relatedNode", "ctorInstance", "ctxType", "parentEnum", "ifThen", "ifElse", "ifThenFlow", "ifThenExpr", "ifThenType", "ifElseFlow", "ifElseExpr", "ifElseType", "getValue", "getLocalSetValue", "setValue", "typeString", "targetFunction", "supported", "explicitThisType", "parameterReportNode", "evaled", "v128_zero", "v128_ones", "toStringInstance", "toStringSignature", "toStringReturnType", "allocInstance", "newInstance", "thisIndex", "thisLocalIndex", "nonParameterFields", "fieldPrototype", "fieldTypeRef", "field", "fieldType", "codeLocation", "abortInstance", "messageArg", "messageExpr", "filenameExpr", "staticAbortCallExpr", "nonNullExpr", "mangleInternalName", "overriddenModuleName", "arg", "TSDBuilder", "_TSDBuilder", "ExportsWalker", "program", "esm", "includePrivate", "name", "element", "sb", "type", "tsType", "indent", "members", "_keys", "i", "k", "memberName", "signature", "parameterTypes", "numParameters", "returnType", "Type", "requiredParameters", "originalName", "deferredTypes", "moduleImports", "moduleName", "isIdentifier", "escapeString", "clazz", "_values", "member", "Source", "mode", "valueType", "seenObjectTypes", "typeName", "isPlain", "property", "base", "newOptions", "Options", "setTarget", "options", "target", "setRuntime", "runtime", "setNoAssert", "noAssert", "setExportMemory", "exportMemory", "setImportMemory", "importMemory", "setInitialMemory", "initialMemory", "setMaximumMemory", "maximumMemory", "setSharedMemory", "sharedMemory", "setImportTable", "importTable", "setExportTable", "exportTable", "setSourceMap", "sourceMap", "setUncheckedBehavior", "uncheckedBehavior", "setMemoryBase", "memoryBase", "setTableBase", "tableBase", "addGlobalAlias", "alias", "name", "globalAliases", "removeGlobalAlias", "setExportStart", "exportStart", "setNoUnsafe", "noUnsafe", "setLowMemoryLimit", "lowMemoryLimit", "setExportRuntime", "exportRuntime", "DEFAULT_STACK_SIZE", "setStackSize", "stackSize", "setBundleVersion", "bundleMajorVersion", "bundleMinorVersion", "bundlePatchVersion", "FEATURE_SIGN_EXTENSION", "FEATURE_MUTABLE_GLOBALS", "FEATURE_NONTRAPPING_F2I", "FEATURE_BULK_MEMORY", "FEATURE_SIMD", "FEATURE_THREADS", "FEATURE_EXCEPTION_HANDLING", "FEATURE_TAIL_CALLS", "FEATURE_REFERENCE_TYPES", "FEATURE_MULTI_VALUE", "FEATURE_GC", "FEATURE_MEMORY64", "FEATURE_RELAXED_SIMD", "FEATURE_EXTENDED_CONST", "FEATURE_STRINGREF", "FEATURES_ALL", "FEATURES_DEFAULT", "defaultFeatures", "setFeature", "feature", "on", "setOptimizeLevelHints", "optimizeLevel", "shrinkLevel", "setBasenameHint", "basename", "setBindingsHint", "bindings", "setPedantic", "pedantic", "setDebugInfo", "debug", "newProgram", "Program", "nextDiagnostic", "program", "getSource", "internalPath", "getDiagnosticCode", "diagnostic", "getDiagnosticCategory", "getDiagnosticMessage", "getDiagnosticRange", "getDiagnosticRelatedRange", "getRangeStart", "range", "getRangeEnd", "getRangeSource", "getSourceNormalizedPath", "source", "isInfo", "message", "isWarning", "isError", "parse", "program", "text", "path", "isEntry", "nextFile", "getDependee", "file", "initializeProgram", "compile", "Compiler", "buildTSD", "esm", "TSDBuilder", "buildJS", "JSBuilder", "getBinaryenModuleRef", "module", "validate", "optimize", "optimizeLevel", "shrinkLevel", "debugInfo", "zeroFilledMemory", "ASTBuilder", "_ASTBuilder", "node", "builder", "source", "statements", "i", "k", "sb", "current", "typeArguments", "numTypeArguments", "isNullable", "explicitThisType", "parameters", "numParameters", "returnType", "extendsType", "defaultType", "elements", "numElements", "element", "names", "values", "indent", "name", "value", "operatorTokenToString", "args", "numArgs", "declaration", "expressions", "numExpressions", "range", "hasExplicitSign", "str", "escapeString", "tag", "parts", "last", "lastCharPos", "numStatements", "indentLevel", "label", "isDefault", "decorators", "typeParameters", "implementsTypes", "numImplementsTypes", "indexSignature", "members", "numMembers", "member", "numValues", "initializer", "path", "type", "condition", "incrementor", "signature", "numTypeParameters", "body", "isTypeOmitted", "ifTrue", "ifFalse", "externalName", "declarations", "namespaceName", "numDeclarations", "cases", "bodyStatements", "catchVariable", "catchStatements", "finallyStatements", "firstDeclaration", "kind", "implicitFieldDeclaration", "ret", "src_default", "index_js_exports"] -} diff --git a/platforms/Arduino/node_modules/assemblyscript/dist/importmap.json b/platforms/Arduino/node_modules/assemblyscript/dist/importmap.json deleted file mode 100644 index 91c019e5..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/dist/importmap.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "imports": { - "assemblyscript": "https://cdn.jsdelivr.net/npm/assemblyscript@0.27.29/dist/assemblyscript.js", - "assemblyscript/asc": "https://cdn.jsdelivr.net/npm/assemblyscript@0.27.29/dist/asc.js", - "binaryen": "https://cdn.jsdelivr.net/npm/binaryen@116.0.0-nightly.20240114/index.js", - "long": "https://cdn.jsdelivr.net/npm/long@5.2.3/index.js" - } -} - \ No newline at end of file diff --git a/platforms/Arduino/node_modules/assemblyscript/dist/transform.cjs b/platforms/Arduino/node_modules/assemblyscript/dist/transform.cjs deleted file mode 100644 index a245e852..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/dist/transform.cjs +++ /dev/null @@ -1 +0,0 @@ -module.exports = class Transform { /* stub */ }; diff --git a/platforms/Arduino/node_modules/assemblyscript/dist/transform.d.ts b/platforms/Arduino/node_modules/assemblyscript/dist/transform.d.ts deleted file mode 100644 index 14efe05e..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/dist/transform.d.ts +++ /dev/null @@ -1 +0,0 @@ -export { Transform } from "./asc"; diff --git a/platforms/Arduino/node_modules/assemblyscript/dist/transform.js b/platforms/Arduino/node_modules/assemblyscript/dist/transform.js deleted file mode 100644 index f6c08776..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/dist/transform.js +++ /dev/null @@ -1 +0,0 @@ -export class Transform { /* stub */ }; diff --git a/platforms/Arduino/node_modules/assemblyscript/dist/web.js b/platforms/Arduino/node_modules/assemblyscript/dist/web.js deleted file mode 100644 index bd23945f..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/dist/web.js +++ /dev/null @@ -1,22 +0,0 @@ -var ASSEMBLYSCRIPT_VERSION = "0.27.29"; - var ASSEMBLYSCRIPT_IMPORTMAP = { - "imports": { - "assemblyscript": "https://cdn.jsdelivr.net/npm/assemblyscript@0.27.29/dist/assemblyscript.js", - "assemblyscript/asc": "https://cdn.jsdelivr.net/npm/assemblyscript@0.27.29/dist/asc.js", - "binaryen": "https://cdn.jsdelivr.net/npm/binaryen@116.0.0-nightly.20240114/index.js", - "long": "https://cdn.jsdelivr.net/npm/long@5.2.3/index.js" - } -}; - if (!document.currentScript.src.includes("noinstall")) { - let elem = document.createElement("script"); - elem.type = "importmap"; - elem.text = JSON.stringify(ASSEMBLYSCRIPT_IMPORTMAP); - document.head.appendChild(elem); - } - if (!document.currentScript.src.includes("noshim")) { - let elem = document.createElement("script"); - elem.async = true; - elem.src = "https://cdn.jsdelivr.net/npm/es-module-shims@1/dist/es-module-shims.wasm.min.js"; - document.head.appendChild(elem); - } - \ No newline at end of file diff --git a/platforms/Arduino/node_modules/assemblyscript/lib/README.md b/platforms/Arduino/node_modules/assemblyscript/lib/README.md deleted file mode 100644 index 9ac01cc6..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/lib/README.md +++ /dev/null @@ -1,14 +0,0 @@ -Library -======= - -Additional packages provided by the main package. - -| Package | Description -|------------------------------------|------------------------- -| [@assemblyscript/loader](./loader) | Module loader utility -| [@assemblyscript/rtrace](./rtrace) | Runtime tracing utility -| binaryen | Binaryen proxy - -The Binaryen proxy herein is imported accross the code base and forwards the -`binaryen` npm package by default. It can be modified to use a custom build, -for example for testing purposes. diff --git a/platforms/Arduino/node_modules/assemblyscript/lib/binaryen.d.ts b/platforms/Arduino/node_modules/assemblyscript/lib/binaryen.d.ts deleted file mode 100644 index facd1649..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/lib/binaryen.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from "binaryen"; -export { default } from "binaryen"; diff --git a/platforms/Arduino/node_modules/assemblyscript/lib/binaryen.js b/platforms/Arduino/node_modules/assemblyscript/lib/binaryen.js deleted file mode 100644 index facd1649..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/lib/binaryen.js +++ /dev/null @@ -1,2 +0,0 @@ -export * from "binaryen"; -export { default } from "binaryen"; diff --git a/platforms/Arduino/node_modules/assemblyscript/package.json b/platforms/Arduino/node_modules/assemblyscript/package.json deleted file mode 100644 index 0766d7a9..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/package.json +++ /dev/null @@ -1,76 +0,0 @@ -{ - "name": "assemblyscript", - "description": "A TypeScript-like language for WebAssembly.", - "keywords": [ - "typescript", - "webassembly", - "compiler", - "assemblyscript", - "wasm" - ], - "version": "0.27.29", - "author": "Daniel Wirtz ", - "license": "Apache-2.0", - "homepage": "https://assemblyscript.org", - "repository": { - "type": "git", - "url": "https://github.com/AssemblyScript/assemblyscript.git" - }, - "bugs": { - "url": "https://github.com/AssemblyScript/assemblyscript/issues" - }, - "engines": { - "node": ">=16", - "npm": ">=7" - }, - "engineStrict": true, - "dependencies": { - "binaryen": "116.0.0-nightly.20240114", - "long": "^5.2.1" - }, - "type": "module", - "exports": { - ".": { - "import": "./dist/assemblyscript.js", - "types": "./dist/assemblyscript.d.ts" - }, - "./asc": { - "import": "./dist/asc.js", - "types": "./dist/asc.d.ts" - }, - "./transform": { - "import": "./dist/transform.js", - "require": "./dist/transform.cjs", - "types": "./dist/transform.d.ts" - }, - "./binaryen": { - "import": "./lib/binaryen.js", - "types": "./lib/binaryen.d.ts" - }, - "./*": "./*" - }, - "imports": { - "#rtrace": { - "import": "./lib/rtrace/index.js", - "types": "./lib/rtrace/index.d.ts" - } - }, - "bin": { - "asc": "./bin/asc.js", - "asinit": "./bin/asinit.js" - }, - "files": [ - "bin/", - "dist/", - "std/", - "util/", - "lib/binaryen.js", - "lib/binaryen.d.ts", - "tsconfig-base.json", - "NOTICE" - ], - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/assemblyscript" - } -} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/README.md b/platforms/Arduino/node_modules/assemblyscript/std/README.md deleted file mode 100644 index e6621716..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/std/README.md +++ /dev/null @@ -1,6 +0,0 @@ -Standard library -================ - -Standard library components for use with `tsc` (portable) and `asc` (assembly). - -Base configurations (.json) and definition files (.d.ts) are relevant to `tsc` only and not used by `asc`. diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly.json b/platforms/Arduino/node_modules/assemblyscript/std/assembly.json deleted file mode 100644 index 10a3e067..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/std/assembly.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "extends": "../tsconfig-base.json", - "compilerOptions": { - "target": "esnext", - "module": "commonjs", - "noLib": true, - "allowJs": false, - "typeRoots": [ "types" ], - "types": [ "assembly" ], - "baseUrl": ".", - "paths": { - "*": [ - "./assembly/*" - ] - } - } -} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/array.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/array.ts deleted file mode 100644 index faa6d9b3..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/std/assembly/array.ts +++ /dev/null @@ -1,526 +0,0 @@ -/// - -import { BLOCK_MAXSIZE } from "./rt/common"; -import { Runtime } from "shared/runtime"; -import { COMPARATOR, SORT } from "./util/sort"; -import { REVERSE, FILL } from "./util/bytes"; -import { joinBooleanArray, joinIntegerArray, joinFloatArray, joinStringArray, joinReferenceArray } from "./util/string"; -import { idof, isArray as builtin_isArray } from "./builtins"; -import { E_INDEXOUTOFRANGE, E_INVALIDLENGTH, E_EMPTYARRAY, E_HOLEYARRAY } from "./util/error"; - -// @ts-ignore: decorator -@inline @lazy const MIN_SIZE: usize = 8; - -/** Ensures that the given array has _at least_ the specified backing size. */ -function ensureCapacity(array: usize, newSize: usize, alignLog2: u32, canGrow: bool = true): void { - // Depends on the fact that Arrays mimic ArrayBufferView - let oldCapacity = changetype(array).byteLength; - if (newSize > oldCapacity >>> alignLog2) { - if (newSize > BLOCK_MAXSIZE >>> alignLog2) throw new RangeError(E_INVALIDLENGTH); - let oldData = changetype(changetype(array).buffer); - // Grows old capacity by factor of two. - // Make sure we don't reach BLOCK_MAXSIZE for new growed capacity. - let newCapacity = max(newSize, MIN_SIZE) << alignLog2; - if (canGrow) newCapacity = max(min(oldCapacity << 1, BLOCK_MAXSIZE), newCapacity); - let newData = __renew(oldData, newCapacity); - // __new / __renew already init memory range as zeros in Incremental runtime. - // So try to avoid this. - if (ASC_RUNTIME != Runtime.Incremental) { - memory.fill(newData + oldCapacity, 0, newCapacity - oldCapacity); - } - if (newData != oldData) { // oldData has been free'd - store(array, newData, offsetof("buffer")); - store(array, newData, offsetof("dataStart")); - __link(array, changetype(newData), false); - } - store(array, newCapacity, offsetof("byteLength")); - } -} - -export class Array { - [key: number]: T; - - // Mimicking ArrayBufferView isn't strictly necessary here but is done to allow glue code - // to work with typed and normal arrays interchangeably. Technically, normal arrays do not need - // `dataStart` (equals `buffer`) and `byteLength` (equals computed `buffer.byteLength`), but the - // block is 16 bytes anyway so it's fine to have a couple extra fields in there. - - private buffer: ArrayBuffer; - @unsafe readonly dataStart: usize; - private byteLength: i32; // Uses here as capacity - - // Also note that Array with non-nullable T must guard against uninitialized null values - // whenever an element is accessed. Otherwise, the compiler wouldn't be able to guarantee - // type-safety anymore. For lack of a better word, such an array is "holey". - - private length_: i32; - - static isArray(value: U): bool { - return isReference() ? changetype(value) != 0 && builtin_isArray(value) : false; - } - - static create(capacity: i32 = 0): Array { - WARNING("'Array.create' is deprecated. Use 'new Array' instead, making sure initial elements are initialized."); - let array = new Array(capacity); - array.length = 0; - return array; - } - - constructor(length: i32 = 0) { - if (length > BLOCK_MAXSIZE >>> alignof()) throw new RangeError(E_INVALIDLENGTH); - // reserve capacity for at least MIN_SIZE elements - let bufferSize = max(length, MIN_SIZE) << alignof(); - let buffer = changetype(__new(bufferSize, idof())); - if (ASC_RUNTIME != Runtime.Incremental) { - memory.fill(changetype(buffer), 0, bufferSize); - } - this.buffer = buffer; // links - this.dataStart = changetype(buffer); - this.byteLength = bufferSize; - this.length_ = length; - } - - get length(): i32 { - return this.length_; - } - - set length(newLength: i32) { - ensureCapacity(changetype(this), newLength, alignof(), false); - this.length_ = newLength; - } - - every(fn: (value: T, index: i32, array: Array) => bool): bool { - for (let i = 0, len = this.length_; i < min(len, this.length_); ++i) { - if (!fn(load(this.dataStart + (i << alignof())), i, this)) return false; - } - return true; - } - - findIndex(fn: (value: T, index: i32, array: Array) => bool): i32 { - for (let i = 0, len = this.length_; i < min(len, this.length_); ++i) { - if (fn(load(this.dataStart + (i << alignof())), i, this)) return i; - } - return -1; - } - - findLastIndex(fn: (value: T, index: i32, array: Array) => bool): i32 { - for (let i = this.length_ - 1; i >= 0; --i) { - if (fn(load(this.dataStart + (i << alignof())), i, this)) return i; - } - return -1; - } - - @operator("[]") private __get(index: i32): T { - if (index >= this.length_) throw new RangeError(E_INDEXOUTOFRANGE); - let value = load(this.dataStart + (index << alignof())); - if (isReference()) { - if (!isNullable()) { - if (!changetype(value)) throw new Error(E_HOLEYARRAY); - } - } - return value; - } - - @unsafe @operator("{}") private __uget(index: i32): T { - return load(this.dataStart + (index << alignof())); - } - - @operator("[]=") private __set(index: i32, value: T): void { - if (index >= this.length_) { - if (index < 0) throw new RangeError(E_INDEXOUTOFRANGE); - ensureCapacity(changetype(this), index + 1, alignof()); - this.length_ = index + 1; - } - store(this.dataStart + (index << alignof()), value); - if (isManaged()) { - __link(changetype(this), changetype(value), true); - } - } - - at(index: i32): T { - let len = this.length_; - index += select(0, len, index >= 0); - if (index >= len) throw new RangeError(E_INDEXOUTOFRANGE); - let value = load(this.dataStart + (index << alignof())); - if (isReference()) { - if (!isNullable()) { - if (!changetype(value)) throw new Error(E_HOLEYARRAY); - } - } - return value; - } - - fill(value: T, start: i32 = 0, end: i32 = i32.MAX_VALUE): Array { - if (isManaged()) { - FILL(this.dataStart, this.length_, changetype(value), start, end); - __link(changetype(this), changetype(value), false); - } else { - FILL(this.dataStart, this.length_, value, start, end); - } - return this; - } - - includes(value: T, fromIndex: i32 = 0): bool { - if (isFloat()) { - let len = this.length_; - if (len == 0 || fromIndex >= len) return false; - if (fromIndex < 0) fromIndex = max(len + fromIndex, 0); - let ptr = this.dataStart; - while (fromIndex < len) { - let elem = load(ptr + (fromIndex << alignof())); - // @ts-ignore - if (elem == value || isNaN(elem) & isNaN(value)) return true; - ++fromIndex; - } - return false; - } else { - return this.indexOf(value, fromIndex) >= 0; - } - } - - indexOf(value: T, fromIndex: i32 = 0): i32 { - let len = this.length_; - if (len == 0 || fromIndex >= len) return -1; - if (fromIndex < 0) fromIndex = max(len + fromIndex, 0); - let ptr = this.dataStart; - while (fromIndex < len) { - if (load(ptr + (fromIndex << alignof())) == value) return fromIndex; - ++fromIndex; - } - return -1; - } - - lastIndexOf(value: T, fromIndex: i32 = this.length_): i32 { - let len = this.length_; - if (len == 0) return -1; - if (fromIndex < 0) fromIndex = len + fromIndex; - else if (fromIndex >= len) fromIndex = len - 1; - let ptr = this.dataStart; - while (fromIndex >= 0) { - if (load(ptr + (fromIndex << alignof())) == value) return fromIndex; - --fromIndex; - } - return -1; - } - - push(value: T): i32 { - let oldLen = this.length_; - let len = oldLen + 1; - ensureCapacity(changetype(this), len, alignof()); - if (isManaged()) { - store(this.dataStart + (oldLen << alignof()), changetype(value)); - __link(changetype(this), changetype(value), true); - } else { - store(this.dataStart + (oldLen << alignof()), value); - } - this.length_ = len; - return len; - } - - concat(other: Array): Array { - let thisLen = this.length_; - let otherLen = other.length_; - let outLen = thisLen + otherLen; - if (outLen > BLOCK_MAXSIZE >>> alignof()) throw new Error(E_INVALIDLENGTH); - let out = changetype>(__newArray(outLen, alignof(), idof>())); - let outStart = out.dataStart; - let thisSize = thisLen << alignof(); - if (isManaged()) { - let thisStart = this.dataStart; - for (let offset: usize = 0; offset < thisSize; offset += sizeof()) { - let ref = load(thisStart + offset); - store(outStart + offset, ref); - __link(changetype(out), ref, true); - } - outStart += thisSize; - let otherStart = other.dataStart; - let otherSize = otherLen << alignof(); - for (let offset: usize = 0; offset < otherSize; offset += sizeof()) { - let ref = load(otherStart + offset); - store(outStart + offset, ref); - __link(changetype(out), ref, true); - } - } else { - memory.copy(outStart, this.dataStart, thisSize); - memory.copy(outStart + thisSize, other.dataStart, otherLen << alignof()); - } - return out; - } - - copyWithin(target: i32, start: i32, end: i32 = i32.MAX_VALUE): Array { - let ptr = this.dataStart; - let len = this.length_; - - end = min(end, len); - - let to = target < 0 ? max(len + target, 0) : min(target, len); - let from = start < 0 ? max(len + start, 0) : min(start, len); - let last = end < 0 ? max(len + end, 0) : min(end, len); - let count = min(last - from, len - to); - - memory.copy( // is memmove - ptr + (to << alignof()), - ptr + (from << alignof()), - count << alignof() - ); - return this; - } - - pop(): T { - let len = this.length_; - if (len < 1) throw new RangeError(E_EMPTYARRAY); - let val = load(this.dataStart + ((--len) << alignof())); - this.length_ = len; - return val; - } - - forEach(fn: (value: T, index: i32, array: Array) => void): void { - for (let i = 0, len = this.length_; i < min(len, this.length_); ++i) { - fn(load(this.dataStart + (i << alignof())), i, this); - } - } - - map(fn: (value: T, index: i32, array: Array) => U): Array { - let len = this.length_; - let out = changetype>(__newArray(len, alignof(), idof>())); - let outStart = out.dataStart; - for (let i = 0; i < min(len, this.length_); ++i) { - let result = fn(load(this.dataStart + (i << alignof())), i, this); - store(outStart + (i << alignof()), result); - if (isManaged()) { - __link(changetype(out), changetype(result), true); - } - } - return out; - } - - filter(fn: (value: T, index: i32, array: Array) => bool): Array { - let result = changetype>(__newArray(0, alignof(), idof>())); - for (let i = 0, len = this.length_; i < min(len, this.length_); ++i) { - let value = load(this.dataStart + (i << alignof())); - if (fn(value, i, this)) result.push(value); - } - return result; - } - - reduce( - fn: (previousValue: U, currentValue: T, currentIndex: i32, array: Array) => U, - initialValue: U - ): U { - let acc = initialValue; - for (let i = 0, len = this.length_; i < min(len, this.length_); ++i) { - acc = fn(acc, load(this.dataStart + (i << alignof())), i, this); - } - return acc; - } - - reduceRight( - fn: (previousValue: U, currentValue: T, currentIndex: i32, array: Array) => U, - initialValue: U - ): U { - let acc = initialValue; - for (let i = this.length_ - 1; i >= 0; --i) { - acc = fn(acc, load(this.dataStart + (i << alignof())), i, this); - } - return acc; - } - - shift(): T { - let len = this.length_; - if (len < 1) throw new RangeError(E_EMPTYARRAY); - let base = this.dataStart; - let element = load(base); - let lastIndex = len - 1; - memory.copy( - base, - base + sizeof(), - lastIndex << alignof() - ); - if (isReference()) { - store(base + (lastIndex << alignof()), 0); - } else { - // @ts-ignore - store(base + (lastIndex << alignof()), 0); - } - this.length_ = lastIndex; - return element; - } - - some(fn: (value: T, index: i32, array: Array) => bool): bool { - for (let i = 0, len = this.length_; i < min(len, this.length_); ++i) { - if (fn(load(this.dataStart + (i << alignof())), i, this)) return true; - } - return false; - } - - unshift(value: T): i32 { - let len = this.length_ + 1; - ensureCapacity(changetype(this), len, alignof()); - let ptr = this.dataStart; - memory.copy( - ptr + sizeof(), - ptr, - (len - 1) << alignof() - ); - store(ptr, value); - if (isManaged()) { - __link(changetype(this), changetype(value), true); - } - this.length_ = len; - return len; - } - - slice(start: i32 = 0, end: i32 = i32.MAX_VALUE): Array { - let len = this.length_; - start = start < 0 ? max(start + len, 0) : min(start, len); - end = end < 0 ? max(end + len, 0) : min(end , len); - len = max(end - start, 0); - let slice = changetype>(__newArray(len, alignof(), idof>())); - let sliceBase = slice.dataStart; - let thisBase = this.dataStart + (start << alignof()); - if (isManaged()) { - let off = 0; - let end = len << alignof(); - while (off < end) { - let ref = load(thisBase + off); - store(sliceBase + off, ref); - __link(changetype(slice), ref, true); - off += sizeof(); - } - } else { - memory.copy(sliceBase, thisBase, len << alignof()); - } - return slice; - } - - splice(start: i32, deleteCount: i32 = i32.MAX_VALUE): Array { - let len = this.length_; - start = start < 0 ? max(len + start, 0) : min(start, len); - deleteCount = max(min(deleteCount, len - start), 0); - let result = changetype>(__newArray(deleteCount, alignof(), idof>())); - let resultStart = result.dataStart; - let thisStart = this.dataStart; - let thisBase = thisStart + (start << alignof()); - memory.copy( - resultStart, - thisBase, - deleteCount << alignof() - ); - let offset = start + deleteCount; - if (len != offset) { - memory.copy( - thisBase, - thisStart + (offset << alignof()), - (len - offset) << alignof() - ); - } - this.length_ = len - deleteCount; - return result; - } - - reverse(): Array { - REVERSE(this.dataStart, this.length_); - return this; - } - - sort(comparator: (a: T, b: T) => i32 = COMPARATOR()): Array { - SORT(this.dataStart, this.length_, comparator); - return this; - } - - join(separator: string = ","): string { - let ptr = this.dataStart; - let len = this.length_; - if (isBoolean()) return joinBooleanArray(ptr, len, separator); - if (isInteger()) return joinIntegerArray(ptr, len, separator); - if (isFloat()) return joinFloatArray(ptr, len, separator); - - if (ASC_SHRINK_LEVEL < 1) { - if (isString()) return joinStringArray(ptr, len, separator); - } - // For rest objects and arrays use general join routine - if (isReference()) return joinReferenceArray(ptr, len, separator); - ERROR("unspported element type"); - return unreachable(); - } - - flat(): T { - if (!isArray()) { - ERROR("Cannot call flat() on Array where T is not an Array."); - } - // Get the length and data start values - let ptr = this.dataStart; - let len = this.length_; - - // calculate the end size with an initial pass - let size = 0; - for (let i = 0; i < len; ++i) { - let child = load(ptr + (i << alignof())); - size += child == 0 ? 0 : load(child, offsetof("length_")); - } - - // calculate the byteLength of the resulting backing ArrayBuffer - const align = alignof>(); - let byteLength = size << align; - let outBuffer = changetype(__new(byteLength, idof())); - - // create the return value and initialize it - let outArray = changetype(__new(offsetof(), idof())); - store(changetype(outArray), size, offsetof("length_")); - - // byteLength, dataStart, and buffer are all readonly - store(changetype(outArray), byteLength, offsetof("byteLength")); - store(changetype(outArray), changetype(outBuffer), offsetof("dataStart")); - store(changetype(outArray), changetype(outBuffer), offsetof("buffer")); - __link(changetype(outArray), changetype(outBuffer), false); - - // set the elements - let resultOffset: usize = 0; - for (let i = 0; i < len; ++i) { // for each child - let child = load(ptr + (i << alignof())); - - // ignore null arrays - if (!child) continue; - - // copy the underlying buffer data to the result buffer - let childDataLength = load(child, offsetof("length_")) << align; - memory.copy( - changetype(outBuffer) + resultOffset, - load(child, offsetof("dataStart")), - childDataLength - ); - - // advance the result length - resultOffset += childDataLength; - } - - // if the `valueof` type is managed, we must link each reference - if (isManaged>()) { - for (let i = 0; i < size; ++i) { - let ref = load(changetype(outBuffer) + (i << usize(alignof>()))); - __link(changetype(outBuffer), ref, true); - } - } - - return outArray; - } - - toString(): string { - return this.join(); - } - - // RT integration - - @unsafe private __visit(cookie: u32): void { - if (isManaged()) { - let cur = this.dataStart; - let end = cur + (this.length_ << alignof()); - while (cur < end) { - let val = load(cur); - if (val) __visit(val, cookie); - cur += sizeof(); - } - } - __visit(changetype(this.buffer), cookie); - } -} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/arraybuffer.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/arraybuffer.ts deleted file mode 100644 index bbc8deff..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/std/assembly/arraybuffer.ts +++ /dev/null @@ -1,77 +0,0 @@ -/// - -import { OBJECT, BLOCK_MAXSIZE, TOTAL_OVERHEAD } from "./rt/common"; -import { Runtime } from "shared/runtime"; -import { idof } from "./builtins"; -import { E_INVALIDLENGTH } from "./util/error"; - -export abstract class ArrayBufferView { - - readonly buffer: ArrayBuffer; - @unsafe readonly dataStart: usize; - readonly byteLength: i32; - - get byteOffset(): i32 { - return (this.dataStart - changetype(this.buffer)); - } - - protected constructor(length: i32, alignLog2: i32) { - if (length > BLOCK_MAXSIZE >>> alignLog2) throw new RangeError(E_INVALIDLENGTH); - let buffer = changetype(__new(length = length << alignLog2, idof())); - if (ASC_RUNTIME != Runtime.Incremental) { - memory.fill(changetype(buffer), 0, length); - } - this.buffer = buffer; // links - this.dataStart = changetype(buffer); - this.byteLength = length; - } -} - -@final export class ArrayBuffer { - - static isView(value: T): bool { - if (isNullable()) { - if (changetype(value) == 0) return false; - } - if (value instanceof Int8Array) return true; - if (value instanceof Uint8Array) return true; - if (value instanceof Uint8ClampedArray) return true; - if (value instanceof Int16Array) return true; - if (value instanceof Uint16Array) return true; - if (value instanceof Int32Array) return true; - if (value instanceof Uint32Array) return true; - if (value instanceof Int64Array) return true; - if (value instanceof Uint64Array) return true; - if (value instanceof Float32Array) return true; - if (value instanceof Float64Array) return true; - if (value instanceof DataView) return true; - return false; - } - - constructor(length: i32) { - if (length > BLOCK_MAXSIZE) throw new RangeError(E_INVALIDLENGTH); - let buffer = changetype(__new(length, idof())); - if (ASC_RUNTIME != Runtime.Incremental) { - memory.fill(changetype(buffer), 0, length); - } - return buffer; - } - - get byteLength(): i32 { - return changetype(changetype(this) - TOTAL_OVERHEAD).rtSize; - } - - slice(begin: i32 = 0, end: i32 = BLOCK_MAXSIZE): ArrayBuffer { - let length = this.byteLength; - begin = begin < 0 ? max(length + begin, 0) : min(begin, length); - end = end < 0 ? max(length + end , 0) : min(end , length); - let outSize = max(end - begin, 0); - let out = changetype(__new(outSize, idof())); - memory.copy(changetype(out), changetype(this) + begin, outSize); - return out; - } - - toString(): string { - return "[object ArrayBuffer]"; - } -} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/atomics.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/atomics.ts deleted file mode 100644 index 45b5a6b8..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/std/assembly/atomics.ts +++ /dev/null @@ -1,127 +0,0 @@ -import { ArrayBufferView } from "./arraybuffer"; -import { E_INDEXOUTOFRANGE } from "./util/error"; - -export namespace Atomics { - - // @ts-ignore: decorator - @inline - export function load(array: T, index: i32): valueof { - const align = alignof>(); - if (index < 0 || (index << align) >= array.byteLength) throw new RangeError(E_INDEXOUTOFRANGE); - return atomic.load>( - changetype(array.buffer) + (index << align) + array.byteOffset - ); - } - - // @ts-ignore: decorator - @inline - export function store(array: T, index: i32, value: valueof): void { - const align = alignof>(); - if (index < 0 || (index << align) >= array.byteLength) throw new RangeError(E_INDEXOUTOFRANGE); - atomic.store>( - changetype(array.buffer) + (index << align) + array.byteOffset, - value - ); - } - - // @ts-ignore: decorator - @inline - export function add(array: T, index: i32, value: valueof): valueof { - const align = alignof>(); - if (index < 0 || (index << align) >= array.byteLength) throw new RangeError(E_INDEXOUTOFRANGE); - return atomic.add>( - changetype(array.buffer) + (index << align) + array.byteOffset, - value - ); - } - - // @ts-ignore: decorator - @inline - export function sub(array: T, index: i32, value: valueof): valueof { - const align = alignof>(); - if (index < 0 || (index << align) >= array.byteLength) throw new RangeError(E_INDEXOUTOFRANGE); - return atomic.sub>( - changetype(array.buffer) + (index << align) + array.byteOffset, - value - ); - } - - // @ts-ignore: decorator - @inline - export function and(array: T, index: i32, value: valueof): valueof { - const align = alignof>(); - if (index < 0 || (index << align) >= array.byteLength) throw new RangeError(E_INDEXOUTOFRANGE); - return atomic.and>( - changetype(array.buffer) + (index << align) + array.byteOffset, - value - ); - } - - // @ts-ignore: decorator - @inline - export function or(array: T, index: i32, value: valueof): valueof { - const align = alignof>(); - if (index < 0 || (index << align) >= array.byteLength) throw new RangeError(E_INDEXOUTOFRANGE); - return atomic.or>( - changetype(array.buffer) + (index << align) + array.byteOffset, - value - ); - } - - // @ts-ignore: decorator - @inline - export function xor(array: T, index: i32, value: valueof): valueof { - const align = alignof>(); - if (index < 0 || (index << align) >= array.byteLength) throw new RangeError(E_INDEXOUTOFRANGE); - return atomic.xor>( - changetype(array.buffer) + (index << align) + array.byteOffset, - value - ); - } - - // @ts-ignore: decorator - @inline - export function exchange(array: T, index: i32, value: valueof): valueof { - const align = alignof>(); - if (index < 0 || (index << align) >= array.byteLength) throw new RangeError(E_INDEXOUTOFRANGE); - return atomic.xchg>( - changetype(array.buffer) + (index << align) + array.byteOffset, - value - ); - } - - // @ts-ignore: decorator - @inline - export function compareExchange( - array: T, - index: i32, - expectedValue: valueof, - replacementValue: valueof - ): valueof { - const align = alignof>(); - if (index < 0 || (index << align) >= array.byteLength) throw new RangeError(E_INDEXOUTOFRANGE); - return atomic.cmpxchg>( - changetype(array.buffer) + (index << align) + array.byteOffset, - expectedValue, - replacementValue - ); - } - - // @ts-ignore: decorator - @inline - export function wait(array: T, value: valueof, timeout: i64 = -1): AtomicWaitResult { - return atomic.wait>(changetype(array.buffer) + array.byteOffset, value, timeout); - } - - // @ts-ignore: decorator - @inline - export function notify(array: T, index: i32, count: i32 = -1): i32 { - const align = alignof>(); - if (index < 0 || (index << align) >= array.byteLength) throw new RangeError(E_INDEXOUTOFRANGE); - return atomic.notify(changetype(array.buffer) + (index << align) + array.byteOffset, count); - } - - export function isLockFree(size: usize): bool { - return size == 1 || size == 2 || size == 4; - } -} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/bindings/asyncify.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/bindings/asyncify.ts deleted file mode 100644 index 43d8daf1..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/std/assembly/bindings/asyncify.ts +++ /dev/null @@ -1,16 +0,0 @@ -@unmanaged -export class StackDescriptor { - /** The index in linear memory of the start of the “asyncify stack”. */ - stackStart: usize; - /** The index of the end of that stack region, which implies how big it is. */ - stackEnd: usize; -} - -/** Starts to unwind the call stack. */ -export declare function start_unwind(data: StackDescriptor): void; -/** Stops unwinding the call stack. */ -export declare function stop_unwind(): void; -/** Starts to rewind the call stack. */ -export declare function start_rewind(data: StackDescriptor): void; -/** Stops rewinding the call stack. */ -export declare function stop_rewind(): void; diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/bindings/dom.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/bindings/dom.ts deleted file mode 100644 index 85c59ffc..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/std/assembly/bindings/dom.ts +++ /dev/null @@ -1,291 +0,0 @@ -@external("env", "globalThis") -export declare const globalThis: externref; - -export declare namespace Math { - @external("env", "Math.E") - export const E: f64; - @external("env", "Math.LN2") - export const LN2: f64; - @external("env", "Math.LN10") - export const LN10: f64; - @external("env", "Math.LOG2E") - export const LOG2E: f64; - @external("env", "Math.LOG10E") - export const LOG10E: f64; - @external("env", "Math.PI") - export const PI: f64; - @external("env", "Math.SQRT1_2") - export const SQRT1_2: f64; - @external("env", "Math.SQRT2") - export const SQRT2: f64; - @external("env", "Math.abs") - export function abs(x: f64): f64; - @external("env", "Math.acos") - export function acos(x: f64): f64; - @external("env", "Math.acosh") - export function acosh(x: f64): f64; - @external("env", "Math.asin") - export function asin(x: f64): f64; - @external("env", "Math.asinh") - export function asinh(x: f64): f64; - @external("env", "Math.atan") - export function atan(x: f64): f64; - @external("env", "Math.atan2") - export function atan2(y: f64, x: f64): f64; - @external("env", "Math.atanh") - export function atanh(x: f64): f64; - @external("env", "Math.cbrt") - export function cbrt(x: f64): f64; - @external("env", "Math.ceil") - export function ceil(x: f64): f64; - @external("env", "Math.clz32") - export function clz32(x: f64): f64; - @external("env", "Math.cos") - export function cos(x: f64): f64; - @external("env", "Math.cosh") - export function cosh(x: f64): f64; - @external("env", "Math.exp") - export function exp(x: f64): f64; - @external("env", "Math.expm1") - export function expm1(x: f64): f64; - @external("env", "Math.floor") - export function floor(x: f64): f64; - @external("env", "Math.fround") - export function fround(x: f64): f32; - @external("env", "Math.hypot") - export function hypot(value1: f64, value2: f64): f64; // TODO: rest - @external("env", "Math.imul") - export function imul(a: f64, b: f64): f64; - @external("env", "Math.log") - export function log(x: f64): f64; - @external("env", "Math.log10") - export function log10(x: f64): f64; - @external("env", "Math.log1p") - export function log1p(x: f64): f64; - @external("env", "Math.log2") - export function log2(x: f64): f64; - @external("env", "Math.max") - export function max(value1: f64, value2: f64): f64; // TODO: rest - @external("env", "Math.min") - export function min(value1: f64, value2: f64): f64; // TODO: rest - @external("env", "Math.pow") - export function pow(base: f64, exponent: f64): f64; - @external("env", "Math.random") - export function random(): f64; - @external("env", "Math.round") - export function round(x: f64): f64; - @external("env", "Math.sign") - export function sign(x: f64): f64; - @external("env", "Math.sin") - export function sin(x: f64): f64; - @external("env", "Math.sinh") - export function sinh(x: f64): f64; - @external("env", "Math.sqrt") - export function sqrt(x: f64): f64; - @external("env", "Math.tan") - export function tan(x: f64): f64; - @external("env", "Math.tanh") - export function tanh(x: f64): f64; - @external("env", "Math.trunc") - export function trunc(x: f64): f64; -} - -export declare namespace Reflect { - @external("env", "Reflect.get") - export function get(target: externref, propertyKey: string): externref; - @external("env", "Reflect.getWithReceiver") - @external.js("return Reflect.get(target, propertyKey, receiver);") - export function getWithReceiver(target: externref, propertyKey: string, receiver: externref): externref; - @external("env", "Reflect.has") - export function has(target: externref, propertyKey: string): bool; - @external("env", "Reflect.set") - export function set(target: externref, propertyKey: string, value: externref): externref; - @external("env", "Reflect.setWithReceiver") - @external.js("return Reflect.set(target, propertyKey, value, receiver);") - export function setWithReceiver(target: externref, propertyKey: string, value: externref , receiver: externref): externref; - @external("env", "Reflect.apply") - export function apply(target: externref, thisArgument: externref, argumentsList: externref): externref; -} - -export declare namespace String { - @external("env", "String.fromCodePoint") - export function fromCodePoint(codepoint: i32): externref; - @external("env", "String.fromCodePoints") - @external.js("return String.fromCodePoint(...codepoints);") - export function fromCodePoints(codepoints: i32[]): externref; -} - -export declare namespace Object { - @external("env", "Object.is") - export function is(a: externref, b: externref): bool; - @external("env", "Object.hasOwn") - export function hasOwn(target: externref, propertyKey: string): bool; - @external("env", "Object.assign") - export function assign(target: externref, source: externref): externref; - @external("env", "Object.keys") - export function keys(target: externref): externref; - @external("env", "Object.values") - export function values(target: externref): externref; - @external("env", "Object.entries") - export function entries(target: externref): externref; - @external("env", "Object.getOwnPropertyNames") - export function getOwnPropertyNames(target: externref): externref; -} - -export declare namespace Date { - @external("env", "Date.now") - export function now(): f64; -} - -export declare namespace console { - @external("env", "console.assert") - export function assert(condition: bool, message: string): void; - @external("env", "console.log") - export function log(text: string): void; - @external("env", "console.debug") - export function debug(text: string): void; - @external("env", "console.info") - export function info(text: string): void; - @external("env", "console.warn") - export function warn(text: string): void; - @external("env", "console.error") - export function error(text: string): void; - @external("env", "console.time") - export function time(label: string): void; - @external("env", "console.timeLog") - export function timeLog(label: string): void; - @external("env", "console.timeEnd") - export function timeEnd(label: string): void; -} - -export declare namespace document { - /** Returns document's encoding. */ - @external("env", "document.characterSet") - export const characterSet: string; - /** Returns a value that indicates whether standards-compliant mode is switched on for the object. */ - @external("env", "document.compatMode") - export const compatMode: string; - /** Returns document's content type. */ - @external("env", "document.contentType") - export const contentType: string; - /** Returns a reference to the root node of the document. */ - @external("env", "document.documentElement") - export const documentElement: externref; - /** Returns document's URL. */ - @external("env", "document.documentURI") - export const documentURI: string; - /** Returns the URL of the location that referred the user to the current page. */ - @external("env", "document.referrer") - export const referrer: string; - /** Returns true if document has the ability of fullscreen mode, or false otherwise. */ - @external("env", "document.pictureInPictureEnabled") - export const fullscreenEnabled: bool; - /** Returns true if document has the ability of picture-in-picture mode, or false otherwise. */ - @external("env", "document.pictureInPictureEnabled") - export const pictureInPictureEnabled: bool; - - /** Returns the number of child elements. */ - @external("env", "document.childElementCount") - export const childElementCount: i32; - /** Returns the child elements. */ - @external("env", "document.children") - export const children: externref; - /** Returns the first child that is an element, and null otherwise. */ - @external("env", "document.firstElementChild") - export const firstElementChild: externref; - /** Returns the last child that is an element, and null otherwise. */ - @external("env", "document.lastElementChild") - export const lastElementChild: externref; - - /** - * Returns the HTTP cookies that apply to the Document. If there are no cookies or cookies can't be applied - * to this resource, the empty string will be returned. - * - * Can be set, to add a new cookie to the element's set of HTTP cookies. - * - * If the contents are sandboxed into a unique origin (e.g. in an iframe with the sandbox attribute), - * a "SecurityError" DOMException will be thrown on getting and setting. - */ - @external("env", "document.cookie") - export let cookie: string; - /** Represents the or node of the current document, or null if no such element exists. */ - @external("env", "document.body") - export let body: externref; - /** Sets or gets the security domain of the document. */ - @external("env", "document.domain") - export let domain: string; - /** Sets or gets the title of the document. */ - @external("env", "document.title") - export let title: string; - /** Sets or gets information about the current Location. */ - @external("env", "document.location") - export let location: externref; - /** Sets or gets the URL for the current document. */ - @external("env", "document.URL") - export let URL: string; - - /** - * Creates an instance of the element for the specified tag. - * @param tagName The name of an element. - */ - @external("env", "document.createElement") - export function createElement(tagName: string /* , options?: ElementCreationOptions */): externref; - /** - * Returns a reference to the first HTMLElement object with the specified value of the ID attribute. - * @param id String that specifies the ID value. - */ - @external("env", "document.getElementById") - export function getElementById(id: string): externref; - /** - * Returns a HTMLCollection of the elements in the object on which the method was invoked that have all the classes - * given by classNames. The classNames argument is interpreted as a space-separated list of classes. - * @param classNames Gets a collection of objects based on the value of the CLASS attribute. - */ - @external("env", "document.getElementsByClassName") - export function getElementsByClassName(classNames: string): externref; - /** - * Gets a collection of HTMLElement objects based on the value of the NAME or ID attribute. - * @param elementName Gets a collection of objects based on the value of the NAME or ID attribute. - */ - @external("env", "document.getElementsByName") - export function getElementsByName(elementName: string): externref; - /** Gets a value indicating whether the object currently has focus. */ - @external("env", "document.hasFocus") - export function hasFocus(): bool; - /** Inserts nodes after the last child of node, while replacing strings in nodes with equivalent Text nodes. */ - @external("env", "document.append") - export function append(node: externref): void; - /** Inserts nodes before the first child of node, while replacing strings in nodes with equivalent Text nodes. */ - @external("env", "document.prepend") - export function prepend(node: externref): void; - /** Replace all children of node with nodes, while replacing strings in nodes with equivalent Text nodes. */ - @external("env", "document.replaceChildren") - export function replaceChildren(node: externref): void; - /** - * Writes one or more HTML expressions to a document in the specified window. - * @param content Specifies the text and HTML tags to write. - */ - @external("env", "document.write") - export function write(content: string): void; - /** - * Writes one or more HTML expressions, followed by a carriage return, to a document in the specified window. - * @param content Specifies the text and HTML tags to write. - */ - @external("env", "document.writeln") - export function writeln(content: string): void; -} - -export declare namespace performance { - @external("env", "performance.now") - export function now(): f64; -} - -export namespace crypto { - export function getRandomValues(array: Uint8Array): void { - let values = getRandomValuesN(array.length); - array.set(values); - } - @external("env", "crypto.getRandomValuesN") - @external.js("let a = new Uint8Array(n); crypto.getRandomValues(a); return a;") - export declare function getRandomValuesN(n: u32): Uint8Array; -} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/bindings/node.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/bindings/node.ts deleted file mode 100644 index 77a29f9e..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/std/assembly/bindings/node.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare namespace process { - @external("env", "process.argv") - export const argv: string[]; - @external("env", "process.exit") - export function exit(code: i32): void; -} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/builtins.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/builtins.ts deleted file mode 100644 index 0f910a39..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/std/assembly/builtins.ts +++ /dev/null @@ -1,2625 +0,0 @@ -import { strtol, strtod, strtob } from "./util/string"; - -type auto = i32; - -// @ts-ignore: decorator -@builtin -export declare function isBoolean(value?: T): bool; - -// @ts-ignore: decorator -@builtin -export declare function isInteger(value?: T): bool; - -// @ts-ignore: decorator -@builtin -export declare function isSigned(value?: T): bool; - -// @ts-ignore: decorator -@builtin -export declare function isFloat(value?: T): bool; - -// @ts-ignore: decorator -@builtin -export declare function isVector(value?: T): bool; - -// @ts-ignore: decorator -@builtin -export declare function isReference(value?: T): bool; - -// @ts-ignore: decorator -@builtin -export declare function isString(value?: T): bool; - -// @ts-ignore: decorator -@builtin -export declare function isArray(value?: T): bool; - -// @ts-ignore: decorator -@builtin -export declare function isArrayLike(value?: T): bool; - -// @ts-ignore: decorator -@builtin -export declare function isFunction(value?: T): bool; - -// @ts-ignore: decorator -@builtin -export declare function isNullable(value?: T): bool; - -// @ts-ignore: decorator -@builtin -export declare function isDefined(expression: auto): bool; - -// @ts-ignore: decorator -@builtin -export declare function isConstant(expression: auto): bool; - -// @ts-ignore: decorator -@builtin -export declare function isManaged(value?: T): bool; - -// @ts-ignore: decorator -@builtin -export declare function isVoid(): bool; - -// @ts-ignore -@builtin -export declare function lengthof(func?: T): i32; - -// @ts-ignore: decorator -@builtin -export declare function clz(value: T): T; - -// @ts-ignore: decorator -@builtin -export declare function ctz(value: T): T; - -// @ts-ignore: decorator -@builtin -export declare function popcnt(value: T): T; - -// @ts-ignore: decorator -@builtin -export declare function rotl(value: T, shift: T): T; - -// @ts-ignore: decorator -@builtin -export declare function rotr(value: T, shift: T): T; - -// @ts-ignore: decorator -@builtin -export declare function abs(value: T): T; - -// @ts-ignore: decorator -@builtin -export declare function max(left: T, right: T): T; - -// @ts-ignore: decorator -@builtin -export declare function min(left: T, right: T): T; - -// @ts-ignore: decorator -@builtin -export declare function ceil(value: T): T; - -// @ts-ignore: decorator -@builtin -export declare function floor(value: T): T; - -// @ts-ignore: decorator -@builtin -export declare function copysign(left: T, right: T): T; - -// @ts-ignore: decorator -@builtin -export declare function nearest(value: T): T; - -// @ts-ignore: decorator -@builtin -export declare function reinterpret(value: number): T; - -// @ts-ignore: decorator -@builtin -export declare function sqrt(value: T): T; - -// @ts-ignore: decorator -@builtin -export declare function trunc(value: T): T; - -// @ts-ignore: decorator -@builtin -export declare function add(left: T, right: T): T; - -// @ts-ignore: decorator -@builtin -export declare function sub(left: T, right: T): T; - -// @ts-ignore: decorator -@builtin -export declare function mul(left: T, right: T): T; - -// @ts-ignore: decorator -@builtin -export declare function div(left: T, right: T): T; - -// @ts-ignore: decorator -@builtin -export declare function eq(left: T, right: T): i32; - -// @ts-ignore: decorator -@builtin -export declare function ne(left: T, right: T): i32; - -// @ts-ignore: decorator -@builtin -export declare function rem(left: T, right: T): T; - -// @ts-ignore: decorator -@unsafe @builtin -export declare function load(ptr: usize, immOffset?: usize, immAlign?: usize): T; - -// @ts-ignore: decorator -@unsafe @builtin -export declare function store(ptr: usize, value: auto, immOffset?: usize, immAlign?: usize): void; - -// @ts-ignore: decorator -@builtin -export declare function sizeof(): usize; // | u32 / u64 - -// @ts-ignore: decorator -@builtin -export declare function alignof(): usize; // | u32 / u64 - -// @ts-ignore: decorator -@builtin -export declare function offsetof(fieldName?: string): usize; // | u32 / u64 - -// @ts-ignore: decorator -@builtin -export declare function idof(): u32; - -// @ts-ignore -@builtin -export declare function nameof(): string; - -// @ts-ignore: decorator -@builtin -export declare function select(ifTrue: T, ifFalse: T, condition: bool): T; - -// @ts-ignore: decorator -@unsafe @builtin -export declare function unreachable(): auto; - -// @ts-ignore: decorator -@builtin -export declare function changetype(value: auto): T; - -// @ts-ignore: decorator -@builtin -export declare function assert(isTrueish: T, message?: string): T; - -// @ts-ignore: decorator -@unsafe @builtin -export declare function unchecked(expr: T): T; - -// @ts-ignore: decorator -@unsafe @builtin -export declare function call_indirect(index: u32, ...args: auto[]): T; - -// @ts-ignore: decorator -@builtin -export declare function instantiate(...args: auto[]): T; - -export namespace atomic { - // @ts-ignore: decorator - @unsafe @builtin - export declare function load(ptr: usize, immOffset?: usize): T; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function store(ptr: usize, value: T, immOffset?: usize): void; - - // @ts-ignore: decorator - @builtin - export declare function add(ptr: usize, value: T, immOffset?: usize): T; - - // @ts-ignore: decorator - @builtin - export declare function sub(ptr: usize, value: T, immOffset?: usize): T; - - // @ts-ignore: decorator - @builtin - export declare function and(ptr: usize, value: T, immOffset?: usize): T; - - // @ts-ignore: decorator - @builtin - export declare function or(ptr: usize, value: T, immOffset?: usize): T; - - // @ts-ignore: decorator - @builtin - export declare function xor(ptr: usize, value: T, immOffset?: usize): T; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function xchg(ptr: usize, value: T, immOffset?: usize): T; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function cmpxchg(ptr: usize, expected: T, replacement: T, immOffset?: usize): T; - - // @ts-ignore: decorator - @builtin - export declare function wait(ptr: usize, expected: T, timeout: i64): AtomicWaitResult; - - // @ts-ignore: decorator - @builtin - export declare function notify(ptr: usize, count: i32): i32; - - // @ts-ignore: decorator - @builtin - export declare function fence(): void; -} - -// @ts-ignore: decorator -@lazy -export const enum AtomicWaitResult { - OK = 0, - NOT_EQUAL = 1, - TIMED_OUT = 2 -} - -// @ts-ignore: decorator -@builtin -export declare function i8(value: auto): i8; - -export namespace i8 { - - // @ts-ignore: decorator - @lazy - export const MIN_VALUE: i8 = -128; - - // @ts-ignore: decorator - @lazy - export const MAX_VALUE: i8 = 127; - - // @ts-ignore: decorator - @inline - export function parse(value: string, radix: i32 = 0): i8 { - return strtol(value, radix); - } -} - -// @ts-ignore: decorator -@builtin -export declare function i16(value: auto): i16; - -export namespace i16 { - - // @ts-ignore: decorator - @lazy - export const MIN_VALUE: i16 = -32768; - - // @ts-ignore: decorator - @lazy - export const MAX_VALUE: i16 = 32767; - - // @ts-ignore: decorator - @inline - export function parse(value: string, radix: i32 = 0): i16 { - return strtol(value, radix); - } -} - -// @ts-ignore: decorator -@builtin -export declare function i32(value: auto): i32; - -export namespace i32 { - - // @ts-ignore: decorator - @lazy - export const MIN_VALUE: i32 = -2147483648; - - // @ts-ignore: decorator - @lazy - export const MAX_VALUE: i32 = 2147483647; - - // @ts-ignore: decorator - @inline - export function parse(value: string, radix: i32 = 0): i32 { - return strtol(value, radix); - } - - // @ts-ignore: decorator - @builtin - export declare function clz(value: i32): i32; - - // @ts-ignore: decorator - @builtin - export declare function ctz(value: i32): i32; - - // @ts-ignore: decorator - @builtin - export declare function popcnt(value: i32): i32; - - // @ts-ignore: decorator - @builtin - export declare function add(left: i32, right:i32): i32; - - // @ts-ignore: decorator - @builtin - export declare function sub(left: i32, right:i32): i32; - - // @ts-ignore: decorator - @builtin - export declare function mul(left: i32, right:i32): i32; - - // @ts-ignore: decorator - @builtin - export declare function div_s(left: i32, right:i32): i32; - - // @ts-ignore: decorator - @builtin - export declare function div_u(left: i32, right:i32): i32; - - // @ts-ignore: decorator - @builtin - export declare function rotl(value: i32, shift: i32): i32; - - // @ts-ignore: decorator - @builtin - export declare function rotr(value: i32, shift: i32): i32; - - // @ts-ignore: decorator - @builtin - export declare function eq(left: i32, right:i32): i32; - - // @ts-ignore: decorator - @builtin - export declare function ne(left: i32, right:i32): i32; - - // @ts-ignore: decorator - @builtin - export declare function rem_s(left: i32, right: i32): i32; - - // @ts-ignore: decorator - @builtin - export declare function rem_u(left: u32, right: u32): u32; - - // @ts-ignore: decorator - @builtin - export declare function reinterpret_f32(value: f32): i32; - - // @ts-ignore: decorator - @builtin - export declare function load8_s(ptr: usize, immOffset?: usize, immAlign?: usize): i32; - - // @ts-ignore: decorator - @builtin - export declare function load8_u(ptr: usize, immOffset?: usize, immAlign?: usize): i32; - - // @ts-ignore: decorator - @builtin - export declare function load16_s(ptr: usize, immOffset?: usize, immAlign?: usize): i32; - - // @ts-ignore: decorator - @builtin - export declare function load16_u(ptr: usize, immOffset?: usize, immAlign?: usize): i32; - - // @ts-ignore: decorator - @builtin - export declare function load(ptr: usize, immOffset?: usize, immAlign?: usize): i32; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function store8(ptr: usize, value: i32, immOffset?: usize, immAlign?: usize): void; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function store16(ptr: usize, value: i32, immOffset?: usize, immAlign?: usize): void; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function store(ptr: usize, value: i32, immOffset?: usize, immAlign?: usize): void; - - export namespace atomic { - - // @ts-ignore: decorator - @builtin - export declare function load8_u(ptr: usize, immOffset?: usize): i32; - - // @ts-ignore: decorator - @builtin - export declare function load16_u(ptr: usize, immOffset?: usize): i32; - - // @ts-ignore: decorator - @builtin - export declare function load(ptr: usize, immOffset?: usize): i32; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function store8(ptr: usize, value: i32, immOffset?: usize): void; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function store16(ptr: usize, value: i32, immOffset?: usize): void; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function store(ptr: usize, value: i32, immOffset?: usize): void; - - export namespace rmw8 { - - // @ts-ignore: decorator - @builtin - export declare function add_u(ptr: usize, value: i32, immOffset?: usize): i32; - - // @ts-ignore: decorator - @builtin - export declare function sub_u(ptr: usize, value: i32, immOffset?: usize): i32; - - // @ts-ignore: decorator - @builtin - export declare function and_u(ptr: usize, value: i32, immOffset?: usize): i32; - - // @ts-ignore: decorator - @builtin - export declare function or_u(ptr: usize, value: i32, immOffset?: usize): i32; - - // @ts-ignore: decorator - @builtin - export declare function xor_u(ptr: usize, value: i32, immOffset?: usize): i32; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function xchg_u(ptr: usize, value: i32, immOffset?: usize): i32; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function cmpxchg_u(ptr: usize, expected: i32, replacement: i32, immOffset?: usize): i32; - } - - export namespace rmw16 { - - // @ts-ignore: decorator - @builtin - export declare function add_u(ptr: usize, value: i32, immOffset?: usize): i32; - - // @ts-ignore: decorator - @builtin - export declare function sub_u(ptr: usize, value: i32, immOffset?: usize): i32; - - // @ts-ignore: decorator - @builtin - export declare function and_u(ptr: usize, value: i32, immOffset?: usize): i32; - - // @ts-ignore: decorator - @builtin - export declare function or_u(ptr: usize, value: i32, immOffset?: usize): i32; - - // @ts-ignore: decorator - @builtin - export declare function xor_u(ptr: usize, value: i32, immOffset?: usize): i32; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function xchg_u(ptr: usize, value: i32, immOffset?: usize): i32; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function cmpxchg_u(ptr: usize, expected: i32, replacement: i32, immOffset?: usize): i32; - } - - export namespace rmw { - - // @ts-ignore: decorator - @builtin - export declare function add(ptr: usize, value: i32, immOffset?: usize): i32; - - // @ts-ignore: decorator - @builtin - export declare function sub(ptr: usize, value: i32, immOffset?: usize): i32; - - // @ts-ignore: decorator - @builtin - export declare function and(ptr: usize, value: i32, immOffset?: usize): i32; - - // @ts-ignore: decorator - @builtin - export declare function or(ptr: usize, value: i32, immOffset?: usize): i32; - - // @ts-ignore: decorator - @builtin - export declare function xor(ptr: usize, value: i32, immOffset?: usize): i32; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function xchg(ptr: usize, value: i32, immOffset?: usize): i32; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function cmpxchg(ptr: usize, expected: i32, replacement: i32, immOffset?: usize): i32; - } - } -} - -// @ts-ignore: decorator -@builtin -export declare function i64(value: auto): i64; - -export namespace i64 { - - // @ts-ignore: decorator - @lazy - export const MIN_VALUE: i64 = -9223372036854775808; - - // @ts-ignore: decorator - @lazy - export const MAX_VALUE: i64 = 9223372036854775807; - - // @ts-ignore: decorator - @inline - export function parse(value: string, radix: i32 = 0): i64 { - return strtol(value, radix); - } - - // @ts-ignore: decorator - @builtin - export declare function clz(value: i64): i64; - - // @ts-ignore: decorator - @builtin - export declare function ctz(value: i64): i64; - - // @ts-ignore: decorator - @builtin - export declare function add(left: i64, right:i64): i64; - - // @ts-ignore: decorator - @builtin - export declare function sub(left: i64, right:i64): i64; - - // @ts-ignore: decorator - @builtin - export declare function mul(left: i64, right:i64): i64; - - // @ts-ignore: decorator - @builtin - export declare function div_s(left: i64, right:i64): i64; - - // @ts-ignore: decorator - @builtin - export declare function div_u(left: i64, right:i64): i64; - - // @ts-ignore: decorator - @builtin - export declare function load8_s(ptr: usize, immOffset?: usize, immAlign?: usize): i64; - - // @ts-ignore: decorator - @builtin - export declare function load8_u(ptr: usize, immOffset?: usize, immAlign?: usize): i64; - - // @ts-ignore: decorator - @builtin - export declare function load16_s(ptr: usize, immOffset?: usize, immAlign?: usize): i64; - - // @ts-ignore: decorator - @builtin - export declare function load16_u(ptr: usize, immOffset?: usize, immAlign?: usize): i64; - - // @ts-ignore: decorator - @builtin - export declare function load32_s(ptr: usize, immOffset?: usize, immAlign?: usize): i64; - - // @ts-ignore: decorator - @builtin - export declare function load32_u(ptr: usize, immOffset?: usize, immAlign?: usize): i64; - - // @ts-ignore: decorator - @builtin - export declare function load(ptr: usize, immOffset?: usize): i64; - - // @ts-ignore: decorator - @builtin - export declare function popcnt(value: i64): i64; - - // @ts-ignore: decorator - @builtin - export declare function rotl(value: i64, shift: i64): i64; - - // @ts-ignore: decorator - @builtin - export declare function rotr(value: i64, shift: i64): i64; - - // @ts-ignore: decorator - @builtin - export declare function eq(left: i64, right:i64): i32; - - // @ts-ignore: decorator - @builtin - export declare function ne(left: i64, right:i64): i32; - - // @ts-ignore: decorator - @builtin - export declare function rem_s(left: i64, right: i64): i64; - - // @ts-ignore: decorator - @builtin - export declare function rem_u(left: u64, right: u64): u64; - - // @ts-ignore: decorator - @builtin - export declare function reinterpret_f64(value: f64): i64; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function store8(ptr: usize, value: i64, immOffset?: usize, immAlign?: usize): void; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function store16(ptr: usize, value: i64, immOffset?: usize, immAlign?: usize): void; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function store32(ptr: usize, value: i64, immOffset?: usize, immAlign?: usize): void; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function store(ptr: usize, value: i64, immOffset?: usize, immAlign?: usize): void; - - export namespace atomic { - - // @ts-ignore: decorator - @builtin - export declare function load8_u(ptr: usize, immOffset?: usize): i64; - - // @ts-ignore: decorator - @builtin - export declare function load16_u(ptr: usize, immOffset?: usize): i64; - - // @ts-ignore: decorator - @builtin - export declare function load32_u(ptr: usize, immOffset?: usize): i64; - - // @ts-ignore: decorator - @builtin - export declare function load(ptr: usize, immOffset?: usize): i64; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function store8(ptr: usize, value: i64, immOffset?: usize): void; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function store16(ptr: usize, value: i64, immOffset?: usize): void; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function store32(ptr: usize, value: i64, immOffset?: usize): void; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function store(ptr: usize, value: i64, immOffset?: usize): void; - - export namespace rmw8 { - - // @ts-ignore: decorator - @builtin - export declare function add_u(ptr: usize, value: i64, immOffset?: usize): i64; - - // @ts-ignore: decorator - @builtin - export declare function sub_u(ptr: usize, value: i64, immOffset?: usize): i64; - - // @ts-ignore: decorator - @builtin - export declare function and_u(ptr: usize, value: i64, immOffset?: usize): i64; - - // @ts-ignore: decorator - @builtin - export declare function or_u(ptr: usize, value: i64, immOffset?: usize): i64; - - // @ts-ignore: decorator - @builtin - export declare function xor_u(ptr: usize, value: i64, immOffset?: usize): i64; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function xchg_u(ptr: usize, value: i64, immOffset?: usize): i64; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function cmpxchg_u(ptr: usize, expected: i64, replacement: i64, immOffset?: usize): i64; - } - - export namespace rmw16 { - - // @ts-ignore: decorator - @builtin - export declare function add_u(ptr: usize, value: i64, immOffset?: usize): i64; - - // @ts-ignore: decorator - @builtin - export declare function sub_u(ptr: usize, value: i64, immOffset?: usize): i64; - - // @ts-ignore: decorator - @builtin - export declare function and_u(ptr: usize, value: i64, immOffset?: usize): i64; - - // @ts-ignore: decorator - @builtin - export declare function or_u(ptr: usize, value: i64, immOffset?: usize): i64; - - // @ts-ignore: decorator - @builtin - export declare function xor_u(ptr: usize, value: i64, immOffset?: usize): i64; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function xchg_u(ptr: usize, value: i64, immOffset?: usize): i64; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function cmpxchg_u(ptr: usize, expected: i64, replacement: i64, immOffset?: usize): i64; - } - - export namespace rmw32 { - - // @ts-ignore: decorator - @builtin - export declare function add_u(ptr: usize, value: i64, immOffset?: usize): i64; - - // @ts-ignore: decorator - @builtin - export declare function sub_u(ptr: usize, value: i64, immOffset?: usize): i64; - - // @ts-ignore: decorator - @builtin - export declare function and_u(ptr: usize, value: i64, immOffset?: usize): i64; - - // @ts-ignore: decorator - @builtin - export declare function or_u(ptr: usize, value: i64, immOffset?: usize): i64; - - // @ts-ignore: decorator - @builtin - export declare function xor_u(ptr: usize, value: i64, immOffset?: usize): i64; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function xchg_u(ptr: usize, value: i64, immOffset?: usize): i64; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function cmpxchg_u(ptr: usize, expected: i64, replacement: i64, immOffset?: usize): i64; - } - - export namespace rmw { - - // @ts-ignore: decorator - @builtin - export declare function add(ptr: usize, value: i64, immOffset?: usize): i64; - - // @ts-ignore: decorator - @builtin - export declare function sub(ptr: usize, value: i64, immOffset?: usize): i64; - - // @ts-ignore: decorator - @builtin - export declare function and(ptr: usize, value: i64, immOffset?: usize): i64; - - // @ts-ignore: decorator - @builtin - export declare function or(ptr: usize, value: i64, immOffset?: usize): i64; - - // @ts-ignore: decorator - @builtin - export declare function xor(ptr: usize, value: i64, immOffset?: usize): i64; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function xchg(ptr: usize, value: i64, immOffset?: usize): i64; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function cmpxchg(ptr: usize, expected: i64, replacement: i64, immOffset?: usize): i64; - } - } -} - -// @ts-ignore: decorator -@builtin -export declare function isize(value: auto): isize; - -export namespace isize { - - // @ts-ignore: decorator - @lazy - export const MIN_VALUE: isize = sizeof() == sizeof() - ? -2147483648 - : -9223372036854775808; - - // @ts-ignore: decorator - @lazy - export const MAX_VALUE: isize = sizeof() == sizeof() - ? 2147483647 - : 9223372036854775807; - - // @ts-ignore: decorator - @inline - export function parse(value: string, radix: i32 = 0): isize { - return strtol(value, radix); - } -} - -// @ts-ignore: decorator -@builtin -export declare function u8(value: auto): u8; - -export namespace u8 { - - // @ts-ignore: decorator - @lazy - export const MIN_VALUE: u8 = 0; - - // @ts-ignore: decorator - @lazy - export const MAX_VALUE: u8 = 255; - - // @ts-ignore: decorator - @inline - export function parse(value: string, radix: i32 = 0): u8 { - return strtol(value, radix); - } -} - -// @ts-ignore: decorator -@builtin -export declare function u16(value: auto): u16; - -export namespace u16 { - - // @ts-ignore: decorator - @lazy - export const MIN_VALUE: u16 = 0; - - // @ts-ignore: decorator - @lazy - export const MAX_VALUE: u16 = 65535; - - // @ts-ignore: decorator - @inline - export function parse(value: string, radix: i32 = 0): u16 { - return strtol(value, radix); - } -} - -// @ts-ignore: decorator -@builtin -export declare function u32(value: auto): u32; - -export namespace u32 { - - // @ts-ignore: decorator - @lazy - export const MIN_VALUE: u32 = 0; - - // @ts-ignore: decorator - @lazy - export const MAX_VALUE: u32 = 4294967295; - - // @ts-ignore: decorator - @inline - export function parse(value: string, radix: i32 = 0): u32 { - return strtol(value, radix); - } -} - -// @ts-ignore: decorator -@builtin -export declare function u64(value: auto): u64; - -export namespace u64 { - - // @ts-ignore: decorator - @lazy - export const MIN_VALUE: u64 = 0; - - // @ts-ignore: decorator - @lazy - export const MAX_VALUE: u64 = 18446744073709551615; - - // @ts-ignore: decorator - @inline - export function parse(value: string, radix: i32 = 0): u64 { - return strtol(value, radix); - } -} - -// @ts-ignore: decorator -@builtin -export declare function usize(value: auto): usize; - -export namespace usize { - - // @ts-ignore: decorator - @lazy - export const MIN_VALUE: usize = 0; - - // @ts-ignore: decorator - @lazy - export const MAX_VALUE: usize = sizeof() == sizeof() - ? 4294967295 - : 18446744073709551615; - - // @ts-ignore: decorator - @inline - export function parse(value: string, radix: i32 = 0): usize { - return strtol(value, radix); - } -} - -// @ts-ignore: decorator -@builtin -export declare function bool(value: auto): bool; - -export namespace bool { - - // @ts-ignore: decorator - @lazy - export const MIN_VALUE: bool = false; - - // @ts-ignore: decorator - @lazy - export const MAX_VALUE: bool = true; - - // @ts-ignore: decorator - @inline - export function parse(value: string): bool { - return strtob(value); - } -} - -// @ts-ignore: decorator -@builtin -export declare function f32(value: auto): f32; - -export namespace f32 { - - // @ts-ignore: decorator - @lazy - export const EPSILON = reinterpret(0x34000000); // 0x1p-23f - - // @ts-ignore: decorator - @lazy - export const MIN_VALUE = reinterpret(0x00000001); // 0x0.000001p+0f - - // @ts-ignore: decorator - @lazy - export const MAX_VALUE = reinterpret(0x7F7FFFFF); // 0x1.fffffep+127f - - // @ts-ignore: decorator - @lazy - export const MIN_NORMAL_VALUE = reinterpret(0x00800000); // 0x1p-126f - - // @ts-ignore: decorator - @lazy - export const MIN_SAFE_INTEGER: f32 = -16777215; - - // @ts-ignore: decorator - @lazy - export const MAX_SAFE_INTEGER: f32 = 16777215; - - // @ts-ignore: decorator - @lazy - export const POSITIVE_INFINITY: f32 = Infinity; - - // @ts-ignore: decorator - @lazy - export const NEGATIVE_INFINITY: f32 = -Infinity; - - // @ts-ignore: decorator - @lazy - export const NaN: f32 = 0.0 / 0.0; - - // @ts-ignore: decorator - @inline - export function parse(value: string): f32 { - return strtod(value); - } - - // @ts-ignore: decorator - @builtin - export declare function abs(value: f32): f32; - - // @ts-ignore: decorator - @builtin - export declare function ceil(value: f32): f32; - - // @ts-ignore: decorator - @builtin - export declare function copysign(x: f32, y: f32): f32; - - // @ts-ignore: decorator - @builtin - export declare function floor(value: f32): f32; - - // @ts-ignore: decorator - @builtin - export declare function load(ptr: usize, immOffset?: usize, immAlign?: usize): f32; - - // @ts-ignore: decorator - @builtin - export declare function max(left: f32, right: f32): f32; - - // @ts-ignore: decorator - @builtin - export declare function min(left: f32, right: f32): f32; - - // @ts-ignore: decorator - @builtin - export declare function nearest(value: f32): f32; - - // @ts-ignore: decorator - @builtin - export declare function reinterpret_i32(value: i32): f32; - - // @ts-ignore: decorator - @builtin - export declare function sqrt(value: f32): f32; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function store(ptr: usize, value: f32, immOffset?: usize, immAlign?: usize): void; - - // @ts-ignore: decorator - @builtin - export declare function trunc(value: f32): f32; - - // @ts-ignore: decorator - @builtin - export declare function add(left: f32, right: f32): f32; - - // @ts-ignore: decorator - @builtin - export declare function sub(left: f32, right: f32): f32; - - // @ts-ignore: decorator - @builtin - export declare function mul(left: f32, right: f32): f32; - - // @ts-ignore: decorator - @builtin - export declare function div(left: f32, right: f32): f32; - - // @ts-ignore: decorator - @builtin - export declare function eq(left: f32, right: f32): i32; - - // @ts-ignore: decorator - @builtin - export declare function ne(left: f32, right: f32): i32; -} - -// @ts-ignore: decorator -@builtin -export declare function f64(value: auto): f64; - -export namespace f64 { - - // @ts-ignore: decorator - @lazy - export const EPSILON = reinterpret(0x3CB0000000000000); // 0x1p-52 - - // @ts-ignore: decorator - @lazy - export const MIN_VALUE = reinterpret(0x0000000000000001); // 0x0.0000000000001p+0 - - // @ts-ignore: decorator - @lazy - export const MAX_VALUE = reinterpret(0x7FEFFFFFFFFFFFFF); // 0x1.fffffffffffffp+1023 - - // @ts-ignore: decorator - @lazy - export const MIN_NORMAL_VALUE = reinterpret(0x0010000000000000); // 0x1p-1022 - - // @ts-ignore: decorator - @lazy - export const MIN_SAFE_INTEGER: f64 = -9007199254740991; - - // @ts-ignore: decorator - @lazy - export const MAX_SAFE_INTEGER: f64 = 9007199254740991; - - // @ts-ignore: decorator - @lazy - export const POSITIVE_INFINITY: f64 = Infinity; - - // @ts-ignore: decorator - @lazy - export const NEGATIVE_INFINITY: f64 = -Infinity; - - // @ts-ignore: decorator - @lazy - export const NaN: f64 = 0.0 / 0.0; - - // @ts-ignore: decorator - @inline - export function parse(value: string): f64 { - return strtod(value); - } - - // @ts-ignore: decorator - @builtin - export declare function abs(value: f64): f64; - - // @ts-ignore: decorator - @builtin - export declare function ceil(value: f64): f64; - - // @ts-ignore: decorator - @builtin - export declare function copysign(x: f64, y: f64): f64; - - // @ts-ignore: decorator - @builtin - export declare function floor(value: f64): f64; - - // @ts-ignore: decorator - @builtin - export declare function load(ptr: usize, immOffset?: usize, immAlign?: usize): f64; - - // @ts-ignore: decorator - @builtin - export declare function max(left: f64, right: f64): f64; - - // @ts-ignore: decorator - @builtin - export declare function min(left: f64, right: f64): f64; - - // @ts-ignore: decorator - @builtin - export declare function nearest(value: f64): f64; - - // @ts-ignore: decorator - @builtin - export declare function reinterpret_i64(value: i64): f64; - - // @ts-ignore: decorator - @builtin - export declare function sqrt(value: f64): f64; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function store(ptr: usize, value: f64, immOffset?: usize, immAlign?: usize): void; - - // @ts-ignore: decorator - @builtin - export declare function trunc(value: f64): f64; - - // @ts-ignore: decorator - @builtin - export declare function add(left: f64, right: f64): f64; - - // @ts-ignore: decorator - @builtin - export declare function sub(left: f64, right: f64): f64; - - // @ts-ignore: decorator - @builtin - export declare function mul(left: f64, right: f64): f64; - - // @ts-ignore: decorator - @builtin - export declare function div(left: f64, right: f64): f64; - - // @ts-ignore: decorator - @builtin - export declare function eq(left: f64, right: f64): i32; - - // @ts-ignore: decorator - @builtin - export declare function ne(left: f64, right: f64): i32; -} - -// @ts-ignore: decorator -@builtin -export declare function v128( - a: i8, b: i8, c: i8, d: i8, e: i8, f: i8, g: i8, h: i8, - i: i8, j: i8, k: i8, l: i8, m: i8, n: i8, o: i8, p: i8 -): v128; - -export namespace v128 { - - // @ts-ignore: decorator - @builtin - export declare function splat(x: T): v128; - - // @ts-ignore: decorator - @builtin - export declare function extract_lane(x: v128, idx: u8): T; - - // @ts-ignore: decorator - @builtin - export declare function replace_lane(x: v128, idx: u8, value: T): v128; - - // @ts-ignore: decorator - @builtin - export declare function shuffle(a: v128, b: v128, ...lanes: u8[]): v128; - - // @ts-ignore: decorator - @builtin - export declare function swizzle(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function load(ptr: usize, immOffset?: usize, immAlign?: usize): v128; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function load_ext(ptr: usize, immOffset?: usize, immAlign?: usize): v128; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function load_zero(ptr: usize, immOffset?: usize, immAlign?: usize): v128; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function load_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): v128; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function store_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): void; - - // @ts-ignore: decorator - @builtin - export declare function load8x8_s(ptr: usize, immOffset?: u32, immAlign?: u32): v128; - - // @ts-ignore: decorator - @builtin - export declare function load8x8_u(ptr: usize, immOffset?: u32, immAlign?: u32): v128; - - // @ts-ignore: decorator - @builtin - export declare function load16x4_s(ptr: usize, immOffset?: u32, immAlign?: u32): v128; - - // @ts-ignore: decorator - @builtin - export declare function load16x4_u(ptr: usize, immOffset?: u32, immAlign?: u32): v128; - - // @ts-ignore: decorator - @builtin - export declare function load32x2_s(ptr: usize, immOffset?: u32, immAlign?: u32): v128; - - // @ts-ignore: decorator - @builtin - export declare function load32x2_u(ptr: usize, immOffset?: u32, immAlign?: u32): v128; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function load_splat(ptr: usize, immOffset?: usize, immAlign?: usize): v128; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function load8_splat(ptr: usize, immOffset?: u32, immAlign?: u32): v128; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function load16_splat(ptr: usize, immOffset?: u32, immAlign?: u32): v128; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function load32_splat(ptr: usize, immOffset?: u32, immAlign?: u32): v128; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function load64_splat(ptr: usize, immOffset?: u32, immAlign?: u32): v128; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function load32_zero(ptr: usize, immOffset?: u32, immAlign?: u32): v128; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function load64_zero(ptr: usize, immOffset?: u32, immAlign?: u32): v128; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function load8_lane(ptr: usize, vec: v128, idx: u8, immOffset?: u32, immAlign?: u32): v128; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function load16_lane(ptr: usize, vec: v128, idx: u8, immOffset?: u32, immAlign?: u32): v128; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function load32_lane(ptr: usize, vec: v128, idx: u8, immOffset?: u32, immAlign?: u32): v128; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function load64_lane(ptr: usize, vec: v128, idx: u8, immOffset?: u32, immAlign?: u32): v128; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function store8_lane(ptr: usize, vec: v128, idx: u8, immOffset?: u32, immAlign?: u32): void; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function store16_lane(ptr: usize, vec: v128, idx: u8, immOffset?: u32, immAlign?: u32): void; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function store32_lane(ptr: usize, vec: v128, idx: u8, immOffset?: u32, immAlign?: u32): void; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function store64_lane(ptr: usize, vec: v128, idx: u8, immOffset?: u32, immAlign?: u32): void; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function store(ptr: usize, value: v128, immOffset?: usize, immAlign?: usize): void; - - // @ts-ignore: decorator - @builtin - export declare function add(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function sub(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function mul(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function div(a: v128, b: v128): v128; // f32, f64 only - - // @ts-ignore: decorator - @builtin - export declare function neg(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function add_sat(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function sub_sat(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function shl(a: v128, b: i32): v128; - - // @ts-ignore: decorator - @builtin - export declare function shr(a: v128, b: i32): v128; - - // @ts-ignore: decorator - @builtin - export declare function and(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function or(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function xor(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function andnot(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function not(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function bitselect(v1: v128, v2: v128, c: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function any_true(a: v128): bool; - - // @ts-ignore: decorator - @builtin - export declare function all_true(a: v128): bool; - - // @ts-ignore: decorator - @builtin - export declare function bitmask(a: v128): i32; - - // @ts-ignore: decorator - @builtin - export declare function popcnt(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function min(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function max(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function pmin(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function pmax(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function dot(a: v128, b: v128): v128; // i16 only - - // @ts-ignore: decorator - @builtin - export declare function avgr(a: v128, b: v128): v128; // u8, u16 only - - // @ts-ignore: decorator - @builtin - export declare function abs(a: v128): v128; // f32, f64 only - - // @ts-ignore: decorator - @builtin - export declare function sqrt(a: v128): v128; // f32, f64 only - - // @ts-ignore: decorator - @builtin - export declare function ceil(a: v128): v128; // f32, f64 only - - // @ts-ignore: decorator - @builtin - export declare function floor(a: v128): v128; // f32, f64 only - - // @ts-ignore: decorator - @builtin - export declare function trunc(a: v128): v128; // f32, f64 only - - // @ts-ignore: decorator - @builtin - export declare function nearest(a: v128): v128; // f32, f64 only - - // @ts-ignore: decorator - @builtin - export declare function eq(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function ne(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function lt(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function le(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function gt(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function ge(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function convert(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function convert_low(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function trunc_sat(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function trunc_sat_zero(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function narrow(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function extend_low(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function extend_high(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function extadd_pairwise(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function demote_zero(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function promote_low(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function q15mulr_sat(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function extmul_low(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function extmul_high(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function relaxed_swizzle(a: v128, s: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function relaxed_trunc(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function relaxed_trunc_zero(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function relaxed_madd(a: v128, b: v128, c: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function relaxed_nmadd(a: v128, b: v128, c: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function relaxed_laneselect(a: v128, b: v128, m: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function relaxed_min(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function relaxed_max(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function relaxed_q15mulr(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function relaxed_dot(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function relaxed_dot_add(a: v128, b: v128, c: v128): v128; -} - -// @ts-ignore: decorator -@builtin -export declare function i8x16( - a: i8, b: i8, c: i8, d: i8, e: i8, f: i8, g: i8, h: i8, - i: i8, j: i8, k: i8, l: i8, m: i8, n: i8, o: i8, p: i8 -): v128; - -export namespace i8x16 { - - // @ts-ignore: decorator - @builtin - export declare function splat(x: i8): v128; - - // @ts-ignore: decorator - @builtin - export declare function extract_lane_s(x: v128, idx: u8): i8; - - // @ts-ignore: decorator - @builtin - export declare function extract_lane_u(x: v128, idx: u8): u8; - - // @ts-ignore: decorator - @builtin - export declare function replace_lane(x: v128, idx: u8, value: i8): v128; - - // @ts-ignore: decorator - @builtin - export declare function add(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function sub(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function min_s(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function min_u(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function max_s(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function max_u(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function avgr_u(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function abs(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function neg(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function add_sat_s(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function add_sat_u(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function sub_sat_s(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function sub_sat_u(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function shl(a: v128, b: i32): v128; - - // @ts-ignore: decorator - @builtin - export declare function shr_s(a: v128, b: i32): v128; - - // @ts-ignore: decorator - @builtin - export declare function shr_u(a: v128, b: i32): v128; - - // @ts-ignore: decorator - @builtin - export declare function all_true(a: v128): bool; - - // @ts-ignore: decorator - @builtin - export declare function bitmask(a: v128): i32; - - // @ts-ignore: decorator - @builtin - export declare function popcnt(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function eq(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function ne(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function lt_s(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function lt_u(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function le_s(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function le_u(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function gt_s(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function gt_u(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function ge_s(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function ge_u(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function narrow_i16x8_s(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function narrow_i16x8_u(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function shuffle( - a: v128, b: v128, - l0: u8, l1: u8, l2: u8, l3: u8, l4: u8, l5: u8, l6: u8, l7: u8, - l8: u8, l9: u8, l10: u8, l11: u8, l12: u8, l13: u8, l14: u8, l15: u8 - ): v128; - - // @ts-ignore: decorator - @builtin - export declare function swizzle(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function relaxed_swizzle(a: v128, s: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function relaxed_laneselect(a: v128, b: v128, m: v128): v128; -} - -// @ts-ignore: decorator -@builtin -export declare function i16x8(a: i16, b: i16, c: i16, d: i16, e: i16, f: i16, g: i16, h: i16): v128; - -export namespace i16x8 { - - // @ts-ignore: decorator - @builtin - export declare function splat(x: i16): v128; - - // @ts-ignore: decorator - @builtin - export declare function extract_lane_s(x: v128, idx: u8): i16; - - // @ts-ignore: decorator - @builtin - export declare function extract_lane_u(x: v128, idx: u8): u16; - - // @ts-ignore: decorator - @builtin - export declare function replace_lane(x: v128, idx: u8, value: i16): v128; - - // @ts-ignore: decorator - @builtin - export declare function add(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function sub(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function mul(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function min_s(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function min_u(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function max_s(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function max_u(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function avgr_u(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function abs(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function neg(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function add_sat_s(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function add_sat_u(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function sub_sat_s(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function sub_sat_u(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function shl(a: v128, b: i32): v128; - - // @ts-ignore: decorator - @builtin - export declare function shr_s(a: v128, b: i32): v128; - - // @ts-ignore: decorator - @builtin - export declare function shr_u(a: v128, b: i32): v128; - - // @ts-ignore: decorator - @builtin - export declare function all_true(a: v128): bool; - - // @ts-ignore: decorator - @builtin - export declare function bitmask(a: v128): i32; - - // @ts-ignore: decorator - @builtin - export declare function eq(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function ne(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function lt_s(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function lt_u(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function le_s(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function le_u(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function gt_s(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function gt_u(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function ge_s(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function ge_u(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function narrow_i32x4_s(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function narrow_i32x4_u(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function extend_low_i8x16_s(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function extend_low_i8x16_u(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function extend_high_i8x16_s(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function extend_high_i8x16_u(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function extadd_pairwise_i8x16_s(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function extadd_pairwise_i8x16_u(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function q15mulr_sat_s(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function extmul_low_i8x16_s(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function extmul_low_i8x16_u(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function extmul_high_i8x16_s(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function extmul_high_i8x16_u(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function shuffle( - a: v128, b: v128, - l0: u8, l1: u8, l2: u8, l3: u8, l4: u8, l5: u8, l6: u8, l7: u8 - ): v128; - - // @ts-ignore: decorator - @builtin - export declare function relaxed_laneselect(a: v128, b: v128, m: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function relaxed_q15mulr_s(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function relaxed_dot_i8x16_i7x16_s(a: v128, b: v128, c: v128): v128; -} - -// @ts-ignore: decorator -@builtin -export declare function i32x4(a: i32, b: i32, c: i32, d: i32): v128; - -export namespace i32x4 { - - // @ts-ignore: decorator - @builtin - export declare function splat(x: i32): v128; - - // @ts-ignore: decorator - @builtin - export declare function extract_lane(x: v128, idx: u8): i32; - - // @ts-ignore: decorator - @builtin - export declare function replace_lane(x: v128, idx: u8, value: i32): v128; - - // @ts-ignore: decorator - @builtin - export declare function add(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function sub(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function mul(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function min_s(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function min_u(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function max_s(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function max_u(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function dot_i16x8_s(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function abs(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function neg(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function shl(a: v128, b: i32): v128; - - // @ts-ignore: decorator - @builtin - export declare function shr_s(a: v128, b: i32): v128; - - // @ts-ignore: decorator - @builtin - export declare function shr_u(a: v128, b: i32): v128; - - // @ts-ignore: decorator - @builtin - export declare function all_true(a: v128): bool; - - // @ts-ignore: decorator - @builtin - export declare function bitmask(a: v128): i32; - - // @ts-ignore: decorator - @builtin - export declare function eq(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function ne(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function lt_s(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function lt_u(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function le_s(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function le_u(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function gt_s(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function gt_u(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function ge_s(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function ge_u(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function trunc_sat_f32x4_s(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function trunc_sat_f32x4_u(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function trunc_sat_f64x2_s_zero(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function trunc_sat_f64x2_u_zero(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function extend_low_i16x8_s(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function extend_low_i16x8_u(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function extend_high_i16x8_s(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function extend_high_i16x8_u(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function extadd_pairwise_i16x8_s(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function extadd_pairwise_i16x8_u(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function extmul_low_i16x8_s(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function extmul_low_i16x8_u(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function extmul_high_i16x8_s(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function extmul_high_i16x8_u(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function shuffle(a: v128, b: v128, l0: u8, l1: u8, l2: u8, l3: u8): v128; - - // @ts-ignore: decorator - @builtin - export declare function relaxed_trunc_f32x4_s(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function relaxed_trunc_f32x4_u(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function relaxed_trunc_f64x2_s_zero(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function relaxed_trunc_f64x2_u_zero(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function relaxed_laneselect(a: v128, b: v128, m: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function relaxed_dot_i8x16_i7x16_add_s(a: v128, b: v128, c: v128): v128; -} - -// @ts-ignore: decorator -@builtin -export declare function i64x2(a: i64, b: i64): v128; - -export namespace i64x2 { - - // @ts-ignore: decorator - @builtin - export declare function splat(x: i64): v128; - - // @ts-ignore: decorator - @builtin - export declare function extract_lane(x: v128, idx: u8): i64; - - // @ts-ignore: decorator - @builtin - export declare function replace_lane(x: v128, idx: u8, value: i64): v128; - - // @ts-ignore: decorator - @builtin - export declare function add(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function sub(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function mul(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function abs(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function neg(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function shl(a: v128, b: i32): v128; - - // @ts-ignore: decorator - @builtin - export declare function shr_s(a: v128, b: i32): v128; - - // @ts-ignore: decorator - @builtin - export declare function shr_u(a: v128, b: i32): v128; - - // @ts-ignore: decorator - @builtin - export declare function all_true(a: v128): bool; - - // @ts-ignore: decorator - @builtin - export declare function bitmask(a: v128): i32; - - // @ts-ignore: decorator - @builtin - export declare function eq(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function ne(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function lt_s(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function le_s(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function gt_s(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function ge_s(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function extend_low_i32x4_s(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function extend_low_i32x4_u(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function extend_high_i32x4_s(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function extend_high_i32x4_u(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function extmul_low_i32x4_s(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function extmul_low_i32x4_u(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function extmul_high_i32x4_s(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function extmul_high_i32x4_u(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function shuffle(a: v128, b: v128, l0: u8, l1: u8): v128; - - // @ts-ignore: decorator - @builtin - export declare function relaxed_laneselect(a: v128, b: v128, m: v128): v128; -} - -// @ts-ignore: decorator -@builtin -export declare function f32x4(a: f32, b: f32, c: f32, d: f32): v128; - -export namespace f32x4 { - - // @ts-ignore: decorator - @builtin - export declare function splat(x: f32): v128; - - // @ts-ignore: decorator - @builtin - export declare function extract_lane(x: v128, idx: u8): f32; - - // @ts-ignore: decorator - @builtin - export declare function replace_lane(x: v128, idx: u8, value: f32): v128; - - // @ts-ignore: decorator - @builtin - export declare function add(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function sub(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function mul(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function div(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function neg(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function min(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function max(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function pmin(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function pmax(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function abs(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function sqrt(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function ceil(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function floor(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function trunc(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function nearest(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function eq(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function ne(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function lt(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function le(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function gt(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function ge(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function convert_i32x4_s(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function convert_i32x4_u(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function demote_f64x2_zero(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function shuffle(a: v128, b: v128, l0: u8, l1: u8, l2: u8, l3: u8): v128; - - // @ts-ignore: decorator - @builtin - export declare function relaxed_madd(a: v128, b: v128, c: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function relaxed_nmadd(a: v128, b: v128, c: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function relaxed_min(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function relaxed_max(a: v128, b: v128): v128; -} - -// @ts-ignore: decorator -@builtin -export declare function f64x2(a: f64, b: f64): v128; - -export namespace f64x2 { - - // @ts-ignore: decorator - @builtin - export declare function splat(x: f64): v128; - - // @ts-ignore: decorator - @builtin - export declare function extract_lane(x: v128, idx: u8): f64; - - // @ts-ignore: decorator - @builtin - export declare function replace_lane(x: v128, idx: u8, value: f64): v128; - - // @ts-ignore: decorator - @builtin - export declare function add(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function sub(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function mul(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function div(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function neg(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function min(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function max(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function pmin(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function pmax(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function abs(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function sqrt(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function ceil(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function floor(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function trunc(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function nearest(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function eq(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function ne(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function lt(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function le(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function gt(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function ge(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function convert_low_i32x4_s(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function convert_low_i32x4_u(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function promote_low_f32x4(a: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function shuffle(a: v128, b: v128, l0: u8, l1: u8): v128; - - // @ts-ignore: decorator - @builtin - export declare function relaxed_madd(a: v128, b: v128, c: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function relaxed_nmadd(a: v128, b: v128, c: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function relaxed_min(a: v128, b: v128): v128; - - // @ts-ignore: decorator - @builtin - export declare function relaxed_max(a: v128, b: v128): v128; -} - -@final -export abstract class i31 { // FIXME: usage of 'new' requires a class :( - - // @ts-ignore: decorator - @builtin - static new(value: i32): i31ref { return changetype(unreachable()); } - - // @ts-ignore: decorator - @builtin - static get(i31expr: i31ref): i32 { return unreachable(); } -} - -/* eslint-disable @typescript-eslint/no-unused-vars */ - -// @ts-ignore: decorator -@external("env", "abort") -@external.js("throw Error(`${message} in ${fileName}:${lineNumber}:${columnNumber}`);") -declare function abort( - message?: string | null, - fileName?: string | null, - lineNumber?: u32, - columnNumber?: u32 -): void; - -// @ts-ignore: decorator -@external("env", "trace") -@external.js("console.log(message, ...[a0, a1, a2, a3, a4].slice(0, n));") -declare function trace( - message: string, - n?: i32, - a0?: f64, - a1?: f64, - a2?: f64, - a3?: f64, - a4?: f64 -): void; - -// @ts-ignore: decorator -@external("env", "seed") -@external.js("return Date.now() * Math.random();") -declare function seed(): f64; - -/* eslint-enable @typescript-eslint/no-unused-vars */ diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/compat.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/compat.ts deleted file mode 100644 index 669bb16f..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/std/assembly/compat.ts +++ /dev/null @@ -1,2 +0,0 @@ -export type ReturnType = returnof; -export type NonNullable = nonnull; diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/console.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/console.ts deleted file mode 100644 index 26a18a4e..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/std/assembly/console.ts +++ /dev/null @@ -1,42 +0,0 @@ -import { - console as binding -} from "./bindings/dom"; - -export namespace console { - - export function assert(condition: T, message: string = ""): void { - binding.assert(!!condition, message); - } - - export function log(message: string = ""): void { - binding.log(message); - } - - export function debug(message: string = ""): void { - binding.debug(message); - } - - export function info(message: string = ""): void { - binding.info(message); - } - - export function warn(message: string = ""): void { - binding.warn(message); - } - - export function error(message: string = ""): void { - binding.error(message); - } - - export function time(label: string = "default"): void { - binding.time(label); - } - - export function timeLog(label: string = "default"): void { - binding.timeLog(label); - } - - export function timeEnd(label: string = "default"): void { - binding.timeEnd(label); - } -} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/crypto.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/crypto.ts deleted file mode 100644 index 6a57cbac..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/std/assembly/crypto.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { - crypto as crypto_binding -} from "bindings/dom"; - -export namespace crypto { - export function getRandomValues(array: Uint8Array): void { - crypto_binding.getRandomValues(array); - } -} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/dataview.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/dataview.ts deleted file mode 100644 index 7eb1f2a2..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/std/assembly/dataview.ts +++ /dev/null @@ -1,181 +0,0 @@ -import { BLOCK_MAXSIZE } from "./rt/common"; -import { ArrayBuffer } from "./arraybuffer"; -import { E_INDEXOUTOFRANGE, E_INVALIDLENGTH } from "./util/error"; - -// TODO: there is probably a smarter way to check byteOffset for accesses larger than 1 byte - -export class DataView { - - readonly buffer: ArrayBuffer; - @unsafe readonly dataStart: usize; - readonly byteLength: i32; - - get byteOffset(): i32 { - return (this.dataStart - changetype(this.buffer)); - } - - constructor( - buffer: ArrayBuffer, - byteOffset: i32 = 0, - byteLength: i32 = buffer.byteLength - ) { - if ( - i32(byteLength > BLOCK_MAXSIZE) | - i32(byteOffset + byteLength > buffer.byteLength) - ) throw new RangeError(E_INVALIDLENGTH); - this.buffer = buffer; // links - let dataStart = changetype(buffer) + byteOffset; - this.dataStart = dataStart; - this.byteLength = byteLength; - } - - getFloat32(byteOffset: i32, littleEndian: bool = false): f32 { - if ( - (byteOffset >>> 31) | i32(byteOffset + 4 > this.byteLength) - ) throw new RangeError(E_INDEXOUTOFRANGE); - return littleEndian - ? load(this.dataStart + byteOffset) - : reinterpret(bswap(load(this.dataStart + byteOffset))); - } - - getFloat64(byteOffset: i32, littleEndian: bool = false): f64 { - if ( - (byteOffset >>> 31) | i32(byteOffset + 8 > this.byteLength) - ) throw new RangeError(E_INDEXOUTOFRANGE); - return littleEndian - ? load(this.dataStart + byteOffset) - : reinterpret(bswap(load(this.dataStart + byteOffset))); - } - - getInt8(byteOffset: i32): i8 { - if (byteOffset >= this.byteLength) throw new RangeError(E_INDEXOUTOFRANGE); - return load(this.dataStart + byteOffset); - } - - getInt16(byteOffset: i32, littleEndian: bool = false): i16 { - if ( - (byteOffset >>> 31) | i32(byteOffset + 2 > this.byteLength) - ) throw new RangeError(E_INDEXOUTOFRANGE); - let result: i16 = load(this.dataStart + byteOffset); - return littleEndian ? result : bswap(result); - } - - getInt32(byteOffset: i32, littleEndian: bool = false): i32 { - if ( - (byteOffset >>> 31) | i32(byteOffset + 4 > this.byteLength) - ) throw new RangeError(E_INDEXOUTOFRANGE); - let result: i32 = load(this.dataStart + byteOffset); - return littleEndian ? result : bswap(result); - } - - getUint8(byteOffset: i32): u8 { - if (byteOffset >= this.byteLength) throw new RangeError(E_INDEXOUTOFRANGE); - return load(this.dataStart + byteOffset); - } - - getUint16(byteOffset: i32, littleEndian: bool = false): u16 { - if ( - (byteOffset >>> 31) | i32(byteOffset + 2 > this.byteLength) - ) throw new RangeError(E_INDEXOUTOFRANGE); - let result: u16 = load(this.dataStart + byteOffset); - return littleEndian ? result : bswap(result); - } - - getUint32(byteOffset: i32, littleEndian: bool = false): u32 { - if ( - (byteOffset >>> 31) | i32(byteOffset + 4 > this.byteLength) - ) throw new RangeError(E_INDEXOUTOFRANGE); - let result: u32 = load(this.dataStart + byteOffset); - return littleEndian ? result : bswap(result); - } - - setFloat32(byteOffset: i32, value: f32, littleEndian: bool = false): void { - if ( - (byteOffset >>> 31) | i32(byteOffset + 4 > this.byteLength) - ) throw new RangeError(E_INDEXOUTOFRANGE); - if (littleEndian) store(this.dataStart + byteOffset, value); - else store(this.dataStart + byteOffset, bswap(reinterpret(value))); - } - - setFloat64(byteOffset: i32, value: f64, littleEndian: bool = false): void { - if ( - (byteOffset >>> 31) | i32(byteOffset + 8 > this.byteLength) - ) throw new RangeError(E_INDEXOUTOFRANGE); - if (littleEndian) store(this.dataStart + byteOffset, value); - else store(this.dataStart + byteOffset, bswap(reinterpret(value))); - } - - setInt8(byteOffset: i32, value: i8): void { - if (byteOffset >= this.byteLength) throw new RangeError(E_INDEXOUTOFRANGE); - store(this.dataStart + byteOffset, value); - } - - setInt16(byteOffset: i32, value: i16, littleEndian: bool = false): void { - if ( - (byteOffset >>> 31) | i32(byteOffset + 2 > this.byteLength) - ) throw new RangeError(E_INDEXOUTOFRANGE); - store(this.dataStart + byteOffset, littleEndian ? value : bswap(value)); - } - - setInt32(byteOffset: i32, value: i32, littleEndian: bool = false): void { - if ( - (byteOffset >>> 31) | i32(byteOffset + 4 > this.byteLength) - ) throw new RangeError(E_INDEXOUTOFRANGE); - store(this.dataStart + byteOffset, littleEndian ? value : bswap(value)); - } - - setUint8(byteOffset: i32, value: u8): void { - if (byteOffset >= this.byteLength) throw new RangeError(E_INDEXOUTOFRANGE); - store(this.dataStart + byteOffset, value); - } - - setUint16(byteOffset: i32, value: u16, littleEndian: bool = false): void { - if ( - (byteOffset >>> 31) | i32(byteOffset + 2 > this.byteLength) - ) throw new RangeError(E_INDEXOUTOFRANGE); - store(this.dataStart + byteOffset, littleEndian ? value : bswap(value)); - } - - setUint32(byteOffset: i32, value: u32, littleEndian: bool = false): void { - if ( - (byteOffset >>> 31) | i32(byteOffset + 4 > this.byteLength) - ) throw new RangeError(E_INDEXOUTOFRANGE); - store(this.dataStart + byteOffset, littleEndian ? value : bswap(value)); - } - - // Non-standard additions that make sense in WebAssembly, but won't work in JS: - - getInt64(byteOffset: i32, littleEndian: bool = false): i64 { - if ( - (byteOffset >>> 31) | i32(byteOffset + 8 > this.byteLength) - ) throw new RangeError(E_INDEXOUTOFRANGE); - let result: i64 = load(this.dataStart + byteOffset); - return littleEndian ? result : bswap(result); - } - - getUint64(byteOffset: i32, littleEndian: bool = false): u64 { - if ( - (byteOffset >>> 31) | i32(byteOffset + 8 > this.byteLength) - ) throw new RangeError(E_INDEXOUTOFRANGE); - let result = load(this.dataStart + byteOffset); - return littleEndian ? result : bswap(result); - } - - setInt64(byteOffset: i32, value: i64, littleEndian: bool = false): void { - if ( - (byteOffset >>> 31) | i32(byteOffset + 8 > this.byteLength) - ) throw new RangeError(E_INDEXOUTOFRANGE); - store(this.dataStart + byteOffset, littleEndian ? value : bswap(value)); - } - - setUint64(byteOffset: i32, value: u64, littleEndian: bool = false): void { - if ( - (byteOffset >>> 31) | i32(byteOffset + 8 > this.byteLength) - ) throw new RangeError(E_INDEXOUTOFRANGE); - store(this.dataStart + byteOffset, littleEndian ? value : bswap(value)); - } - - toString(): string { - return "[object DataView]"; - } -} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/date.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/date.ts deleted file mode 100644 index 2f847e17..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/std/assembly/date.ts +++ /dev/null @@ -1,375 +0,0 @@ -import { E_INVALIDDATE } from "util/error"; -import { Date as Date_binding } from "./bindings/dom"; - -// @ts-ignore: decorator -@inline const - MILLIS_PER_DAY = 1000 * 60 * 60 * 24, - MILLIS_PER_HOUR = 1000 * 60 * 60, - MILLIS_PER_MINUTE = 1000 * 60, - MILLIS_PER_SECOND = 1000, - - YEARS_PER_EPOCH = 400, - DAYS_PER_EPOCH = 146097, - EPOCH_OFFSET = 719468, // Jan 1, 1970 - MILLIS_LIMIT = 8640000000000000; - -// ymdFromEpochDays returns values via globals to avoid allocations -// @ts-ignore: decorator -@lazy let _month: i32, _day: i32; - -export class Date { - private year: i32 = 0; - private month: i32 = 0; - private day: i32 = 0; - - @inline static UTC( - year: i32, - month: i32 = 0, - day: i32 = 1, - hour: i32 = 0, - minute: i32 = 0, - second: i32 = 0, - millisecond: i32 = 0 - ): i64 { - if (year >= 0 && year <= 99) year += 1900; - let ms = epochMillis(year, month + 1, day, hour, minute, second, millisecond); - if (invalidDate(ms)) throw new RangeError(E_INVALIDDATE); - return ms; - } - - @inline static now(): i64 { - return Date_binding.now(); - } - - // It can parse only ISO 8601 inputs like YYYY-MM-DDTHH:MM:SS.000Z - @inline static parse(dateString: string): Date { - return this.fromString(dateString); - } - - static fromString(dateTimeString: string): Date { - if (!dateTimeString.length) throw new RangeError(E_INVALIDDATE); - var - hour: i32 = 0, - min: i32 = 0, - sec: i32 = 0, - ms: i32 = 0, - offsetMs: i32 = 0; - - let dateString = dateTimeString; - let posT = dateTimeString.indexOf("T"); - if (~posT) { - // includes a time component - let timeString: string; - dateString = dateTimeString.substring(0, posT); - timeString = dateTimeString.substring(posT + 1); - - // might end with an offset ("Z", "+05:30", "-08:00", etc.) - for (let i = timeString.length - 1; i >= 0; i--) { - let c = timeString.charCodeAt(i); - if (c == 90) { // Z - timeString = timeString.substring(0, i); - break; - } else if (c == 43 || c == 45) { // + or - - if (i == timeString.length - 1) { - throw new RangeError(E_INVALIDDATE); - } - - let posColon = timeString.indexOf(":", i + 1); - if (~posColon) { - let offsetHours = i32.parse(timeString.substring(i + 1, posColon)); - let offsetMinutes = i32.parse(timeString.substring(posColon + 1)); - offsetMs = (offsetHours * 60 + offsetMinutes) * MILLIS_PER_MINUTE; - } else { - let offsetHours = i32.parse(timeString.substring(i + 1)); - offsetMs = offsetHours * MILLIS_PER_HOUR; - } - - if (c == 45) offsetMs = -offsetMs; // negative offset - timeString = timeString.substring(0, i); - break; - } - } - - // parse the HH:MM:SS component - let timeParts = timeString.split(":"); - let len = timeParts.length; - if (len <= 1) throw new RangeError(E_INVALIDDATE); - - hour = i32.parse(timeParts[0]); - min = i32.parse(timeParts[1]); - if (len >= 3) { - let secAndFrac = timeParts[2]; - let posDot = secAndFrac.indexOf("."); - if (~posDot) { - // includes fractional seconds (truncate to milliseconds) - sec = i32.parse(secAndFrac.substring(0, posDot)); - ms = i32.parse(secAndFrac.substr(posDot + 1, 3).padEnd(3, "0")); - } else { - sec = i32.parse(secAndFrac); - } - } - } - - // parse the YYYY-MM-DD component - let parts = dateString.split("-"); - let year = i32.parse(parts[0]); - let month = 1, day = 1; - let len = parts.length; - if (len >= 2) { - month = i32.parse(parts[1]); - if (len >= 3) { - day = i32.parse(parts[2]); - } - } - - return new Date(epochMillis(year, month, day, hour, min, sec, ms) - offsetMs); - } - - constructor(private epochMillis: i64) { - // this differs from JavaScript which prefer return NaN or "Invalid Date" string - // instead throwing exception. - if (invalidDate(epochMillis)) throw new RangeError(E_INVALIDDATE); - - this.year = dateFromEpoch(epochMillis); - this.month = _month; - this.day = _day; - } - - @inline getTime(): i64 { - return this.epochMillis; - } - - setTime(time: i64): i64 { - if (invalidDate(time)) throw new RangeError(E_INVALIDDATE); - - this.epochMillis = time; - this.year = dateFromEpoch(time); - this.month = _month; - this.day = _day; - - return time; - } - - @inline getUTCFullYear(): i32 { - return this.year; - } - - @inline getUTCMonth(): i32 { - return this.month - 1; - } - - @inline getUTCDate(): i32 { - return this.day; - } - - @inline getUTCDay(): i32 { - return dayOfWeek(this.year, this.month, this.day); - } - - getUTCHours(): i32 { - return i32(euclidRem(this.epochMillis, MILLIS_PER_DAY)) / MILLIS_PER_HOUR; - } - - getUTCMinutes(): i32 { - return i32(euclidRem(this.epochMillis, MILLIS_PER_HOUR)) / MILLIS_PER_MINUTE; - } - - getUTCSeconds(): i32 { - return i32(euclidRem(this.epochMillis, MILLIS_PER_MINUTE)) / MILLIS_PER_SECOND; - } - - getUTCMilliseconds(): i32 { - return i32(euclidRem(this.epochMillis, MILLIS_PER_SECOND)); - } - - setUTCMilliseconds(millis: i32): void { - this.setTime(this.epochMillis + (millis - this.getUTCMilliseconds())); - } - - setUTCSeconds(seconds: i32): void { - this.setTime(this.epochMillis + (seconds - this.getUTCSeconds()) * MILLIS_PER_SECOND); - } - - setUTCMinutes(minutes: i32): void { - this.setTime(this.epochMillis + (minutes - this.getUTCMinutes()) * MILLIS_PER_MINUTE); - } - - setUTCHours(hours: i32): void { - this.setTime(this.epochMillis + (hours - this.getUTCHours()) * MILLIS_PER_HOUR); - } - - setUTCDate(day: i32): void { - if (this.day == day) return; - this.setTime(join(this.year, this.month, day, this.epochMillis)); - } - - setUTCMonth(month: i32, day: i32 = this.day): void { - if (this.month == month + 1) return; - this.setTime(join(this.year, month + 1, day, this.epochMillis)); - } - - setUTCFullYear(year: i32): void { - if (this.year == year) return; - this.setTime(join(year, this.month, this.day, this.epochMillis)); - } - - toISOString(): string { - // TODO: add more low-level helper which combine toString and padStart without extra allocation - - let yr = this.year; - let isNeg = yr < 0; - let year = (isNeg || yr >= 10000) - ? (isNeg ? "-" : "+") + stringify(abs(yr), 6) - : stringify(yr, 4); - let month = stringify(this.month, 2); - let day = stringify(this.day); - let hours = stringify(this.getUTCHours()); - let mins = stringify(this.getUTCMinutes()); - let secs = stringify(this.getUTCSeconds()); - let ms = stringify(this.getUTCMilliseconds(), 3); - - return `${year}-${month}-${day}T${hours}:${mins}:${secs}.${ms}Z`; - } - - toUTCString(): string { - const - weeks: StaticArray = [ - "Sun, ", "Mon, ", "Tue, ", "Wed, ", "Thu, ", "Fri, ", "Sat, " - ], - months: StaticArray = [ - " Jan ", " Feb ", " Mar ", " Apr ", " May ", " Jun ", - " Jul ", " Aug ", " Sep ", " Oct ", " Nov ", " Dec " - ]; - - let mo = this.month; - let da = this.day; - let yr = this.year; - let wd = dayOfWeek(yr, mo, da); - let year = stringify(abs(yr), 4); - let month = unchecked(months[mo - 1]); - let week = unchecked(weeks[wd]); - let day = stringify(da); - let hours = stringify(this.getUTCHours()); - let mins = stringify(this.getUTCMinutes()); - let secs = stringify(this.getUTCSeconds()); - - return `${week}${day}${month}${yr < 0 ? "-" : ""}${year} ${hours}:${mins}:${secs} GMT`; - } - - toDateString(): string { - // TODO: use u64 static data instead 4 chars - // also use stream itoa variants. - const - weeks: StaticArray = [ - "Sun ", "Mon ", "Tue ", "Wed ", "Thu ", "Fri ", "Sat " - ], - months: StaticArray = [ - "Jan ", "Feb ", "Mar ", "Apr ", "May ", "Jun ", - "Jul ", "Aug ", "Sep ", "Oct ", "Nov ", "Dec " - ]; - - let mo = this.month; - let da = this.day; - let yr = this.year; - let wd = dayOfWeek(yr, mo, da); - let year = stringify(abs(yr), 4); - let month = unchecked(months[mo - 1]); - let week = unchecked(weeks[wd]); - let day = stringify(da); - - return `${week}${month}${day}${yr < 0 ? " -" : " "}${year}`; - } - - // Note: it uses UTC time instead local time (without timezone offset) - toTimeString(): string { - let hours = stringify(this.getUTCHours()); - let mins = stringify(this.getUTCMinutes()); - let secs = stringify(this.getUTCSeconds()); - // TODO: add timezone - return `${hours}:${mins}:${secs}`; - } - - // Note: it uses UTC datetime instead local datetime (without timezone offset) - toString(): string { - return `${this.toDateString()} ${this.toTimeString()}`; - } -} - -function epochMillis( - year: i32, - month: i32, - day: i32, - hour: i32, - minute: i32, - second: i32, - milliseconds: i32 -): i64 { - return ( - daysSinceEpoch(year, month, day) * MILLIS_PER_DAY + - hour * MILLIS_PER_HOUR + - minute * MILLIS_PER_MINUTE + - second * MILLIS_PER_SECOND + - milliseconds - ); -} - -// @ts-ignore: decorator -@inline function floorDiv(a: T, b: T): T { - return (a - (a < 0 ? b - 1 : 0)) / b as T; -} - -// @ts-ignore: decorator -@inline function euclidRem(a: T, b: T): T { - let m = a % b; - return m + (m < 0 ? b : 0) as T; -} - -function invalidDate(millis: i64): bool { - // @ts-ignore - return (millis < -MILLIS_LIMIT) | (millis > MILLIS_LIMIT); -} - -// Based on "Euclidean Affine Functions and Applications to Calendar Algorithms" -// Paper: https://arxiv.org/pdf/2102.06959.pdf -function dateFromEpoch(ms: i64): i32 { - let da = (floorDiv(ms, MILLIS_PER_DAY) * 4 + EPOCH_OFFSET * 4) | 3; - let q0 = floorDiv(da, DAYS_PER_EPOCH); // [0, 146096] - let r1 = da - q0 * DAYS_PER_EPOCH; - let u1 = u64(r1 | 3) * 2939745; - let dm1 = u1 / 11758980; - let n1 = 2141 * dm1 + 197913; - let year = 100 * q0 + i32(u1 >>> 32); - let mo = n1 >>> 16; - _day = (n1 & 0xFFFF) / 2141 + 1; // [1, 31] - if (dm1 >= 306) { mo -= 12; ++year; } - _month = mo; // [1, 12] - return year; -} - -// http://howardhinnant.github.io/date_algorithms.html#days_from_civil -function daysSinceEpoch(y: i32, m: i32, d: i32): i64 { - y -= i32(m <= 2); - let era = floorDiv(y, YEARS_PER_EPOCH); - let yoe = y - era * YEARS_PER_EPOCH; // [0, 399] - let doy = (153 * (m + (m > 2 ? -3 : 9)) + 2) / 5 + d - 1; // [0, 365] - let doe = yoe * 365 + yoe / 4 - yoe / 100 + doy; // [0, 146096] - return (era * 146097 + doe - EPOCH_OFFSET); -} - -// TomohikoSakamoto algorithm from https://en.wikipedia.org/wiki/Determination_of_the_day_of_the_week -function dayOfWeek(year: i32, month: i32, day: i32): i32 { - const tab = memory.data([0, 3, 2, 5, 0, 3, 5, 1, 4, 6, 2, 4]); - - year -= i32(month < 3); - year += floorDiv(year, 4) - floorDiv(year, 100) + floorDiv(year, YEARS_PER_EPOCH); - month = load(tab + month - 1); - return euclidRem(year + month + day, 7); -} - -function stringify(value: i32, padding: i32 = 2): string { - return value.toString().padStart(padding, "0"); -} - -function join(year: i32, month: i32, day: i32, ms: i64): i64 { - return daysSinceEpoch(year, month, day) * MILLIS_PER_DAY + euclidRem(ms, MILLIS_PER_DAY); -} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/diagnostics.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/diagnostics.ts deleted file mode 100644 index 065364db..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/std/assembly/diagnostics.ts +++ /dev/null @@ -1,11 +0,0 @@ -// @ts-ignore: decorator -@builtin -export declare function ERROR(message?: string): void; - -// @ts-ignore: decorator -@builtin -export declare function WARNING(message?: string): void; - -// @ts-ignore: decorator -@builtin -export declare function INFO(message?: string): void; diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/error.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/error.ts deleted file mode 100644 index f4ea0585..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/std/assembly/error.ts +++ /dev/null @@ -1,44 +0,0 @@ -export class Error { - - name: string = "Error"; - stack: string = ""; // TODO - - constructor( - public message: string = "" - ) {} - - toString(): string { - let message = this.message; - return message.length - ? this.name + ": " + message - : this.name; - } -} - -export class RangeError extends Error { - constructor(message: string = "") { - super(message); - this.name = "RangeError"; - } -} - -export class TypeError extends Error { - constructor(message: string = "") { - super(message); - this.name = "TypeError"; - } -} - -export class SyntaxError extends Error { - constructor(message: string = "") { - super(message); - this.name = "SyntaxError"; - } -} - -export class URIError extends Error { - constructor(message: string = "") { - super(message); - this.name = "URIError"; - } -} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/function.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/function.ts deleted file mode 100644 index dd326963..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/std/assembly/function.ts +++ /dev/null @@ -1,38 +0,0 @@ -type auto = i32; - -@final export abstract class Function { - private _index: u32; - private _env: usize; - - // @ts-ignore: this on getter - get index(this: T): u32 { - return load(changetype(this), offsetof>("_index")); - } - - // @ts-ignore: this on getter - get name(this: T): string { - return ""; - } - - // @ts-ignore: this on getter - get length(this: T): i32 { - // @ts-ignore: T is function - return lengthof(); - } - - // @ts-ignore: T is function - @builtin call(thisArg: thisof | null, ...args: auto[]): returnof { - return unreachable(); - } - - toString(this: T): string { - return "function() { [native code] }"; - } - - // RT integration - - @unsafe private __visit(cookie: u32): void { - // Env is either `null` (nop) or compiler-generated - __visit(this._env, cookie); - } -} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/index.d.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/index.d.ts deleted file mode 100644 index 4dbee416..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/std/assembly/index.d.ts +++ /dev/null @@ -1,2708 +0,0 @@ -/** - * Environment definitions for compiling AssemblyScript to WebAssembly using asc. - * @module std/assembly - *//***/ - -/// - -// Types - -/** An 8-bit signed integer. */ -declare type i8 = number; -/** A 16-bit signed integer. */ -declare type i16 = number; -/** A 32-bit signed integer. */ -declare type i32 = number; -/** A 64-bit signed integer. */ -declare type i64 = number; -/** A 32-bit signed integer when targeting 32-bit WebAssembly or a 64-bit signed integer when targeting 64-bit WebAssembly. */ -declare type isize = number; -/** An 8-bit unsigned integer. */ -declare type u8 = number; -/** A 16-bit unsigned integer. */ -declare type u16 = number; -/** A 32-bit unsigned integer. */ -declare type u32 = number; -/** A 64-bit unsigned integer. */ -declare type u64 = number; -/** A 32-bit unsigned integer when targeting 32-bit WebAssembly or a 64-bit unsigned integer when targeting 64-bit WebAssembly. */ -declare type usize = number; -/** A 1-bit unsigned integer. */ -declare type bool = boolean | number; -/** A 32-bit float. */ -declare type f32 = number; -/** A 64-bit float. */ -declare type f64 = number; -/** A 128-bit vector. */ -declare type v128 = object; -/** Non-nullable function reference. */ -declare type ref_func = object; -/** Canonical nullable function reference. */ -declare type funcref = ref_func | null; -/** Non-nullable external reference. */ -declare type ref_extern = object; -/** Canonical nullable external reference. */ -declare type externref = ref_extern | null; -/** Non-nullable any reference. */ -declare type ref_any = object; -/** Canonical nullable any reference. */ -declare type anyref = ref_any | null; -/** Non-nullable equatable reference. */ -declare type ref_eq = object; -/** Canonical nullable equatable reference. */ -declare type eqref = ref_eq | null; -/** Non-nullable struct reference. */ -declare type ref_struct = object; -/** Canonical nullable struct reference. */ -declare type structref = ref_struct | null; -/** Non-nullable array reference. */ -declare type ref_array = object; -/** Canonical nullable array reference. */ -declare type arrayref = ref_array | null; -/** Non-nullable 31-bit integer reference. */ -declare type ref_i31 = object; -/** Canonical nullable 31-bit integer reference. */ -declare type i31ref = ref_i31 | null; -/** Non-nullable string reference. */ -declare type ref_string = object; -/** Canonical nullable string reference. */ -declare type stringref = ref_string | null; -/** Non-nullable WTF-8 string view. */ -declare type ref_stringview_wtf8 = object; -/** Canonical nullable WTF-8 string view. */ -declare type stringview_wtf8 = ref_stringview_wtf8 | null; -/** Non-nullable WTF-16 string view. */ -declare type ref_stringview_wtf16 = object; -/** Canonical nullable WTF-16 string view. */ -declare type stringview_wtf16 = ref_stringview_wtf16 | null; -/** Non-nullable string iterator. */ -declare type ref_stringview_iter = object; -/** Canonical nullable string iterator. */ -declare type stringview_iter = ref_stringview_iter | null; - -// Compiler hints - -/** Compiler target. 0 = JS, 1 = WASM32, 2 = WASM64. */ -declare const ASC_TARGET: i32; -/** Runtime type. 0 = Stub, 1 = Minimal, 2 = Incremental. */ -declare const ASC_RUNTIME: i32; -/** Provided noAssert option. */ -declare const ASC_NO_ASSERT: bool; -/** Provided memoryBase option. */ -declare const ASC_MEMORY_BASE: i32; -/** Provided tableBase option. */ -declare const ASC_TABLE_BASE: i32; -/** Provided optimizeLevel option. */ -declare const ASC_OPTIMIZE_LEVEL: i32; -/** Provided shrinkLevel option. */ -declare const ASC_SHRINK_LEVEL: i32; -/** Provided lowMemoryLimit option. */ -declare const ASC_LOW_MEMORY_LIMIT: i32; -/** Provided noExportRuntime option. */ -declare const ASC_NO_EXPORT_RUNTIME: i32; -/** Whether the sign extension feature is enabled. */ -declare const ASC_FEATURE_SIGN_EXTENSION: bool; -/** Whether the mutable globals feature is enabled. */ -declare const ASC_FEATURE_MUTABLE_GLOBALS: bool; -/** Whether the non-trapping float-to-int feature is enabled. */ -declare const ASC_FEATURE_NONTRAPPING_F2I: bool; -/** Whether the bulk memory feature is enabled. */ -declare const ASC_FEATURE_BULK_MEMORY: bool; -/** Whether the SIMD feature is enabled. */ -declare const ASC_FEATURE_SIMD: bool; -/** Whether the threads feature is enabled. */ -declare const ASC_FEATURE_THREADS: bool; -/** Whether the exception handling feature is enabled. */ -declare const ASC_FEATURE_EXCEPTION_HANDLING: bool; -/** Whether the tail calls feature is enabled. */ -declare const ASC_FEATURE_TAIL_CALLS: bool; -/** Whether the reference types feature is enabled. */ -declare const ASC_FEATURE_REFERENCE_TYPES: bool; -/** Whether the multi value types feature is enabled. */ -declare const ASC_FEATURE_MULTI_VALUE: bool; -/** Whether the garbage collection feature is enabled. */ -declare const ASC_FEATURE_GC: bool; -/** Whether the memory64 feature is enabled. */ -declare const ASC_FEATURE_MEMORY64: bool; -/** Whether the relaxed SIMD feature is enabled. */ -declare const ASC_FEATURE_RELAXED_SIMD: bool; -/** Whether the extended const expression feature is enabled. */ -declare const ASC_FEATURE_EXTENDED_CONST: bool; -/** Whether the string references feature is enabled. */ -declare const ASC_FEATURE_STRINGREF: bool; -/** Major version of the compiler. */ -declare const ASC_VERSION_MAJOR: i32; -/** Minor version of the compiler. */ -declare const ASC_VERSION_MINOR: i32; -/** Patch version of the compiler. */ -declare const ASC_VERSION_PATCH: i32; - -// Builtins - -/** Performs the sign-agnostic reverse bytes **/ -declare function bswap(value: T): T; -/** Performs the sign-agnostic count leading zero bits operation on a 32-bit or 64-bit integer. All zero bits are considered leading if the value is zero. */ -declare function clz(value: T): T; -/** Performs the sign-agnostic count tailing zero bits operation on a 32-bit or 64-bit integer. All zero bits are considered trailing if the value is zero. */ -declare function ctz(value: T): T; -/** Performs the sign-agnostic count number of one bits operation on a 32-bit or 64-bit integer. */ -declare function popcnt(value: T): T; -/** Performs the sign-agnostic rotate left operation on a 32-bit or 64-bit integer. */ -declare function rotl(value: T, shift: T): T; -/** Performs the sign-agnostic rotate right operation on a 32-bit or 64-bit integer. */ -declare function rotr(value: T, shift: T): T; -/** Computes the absolute value of an integer or float. */ -declare function abs(value: T): T; -/** Determines the maximum of two integers or floats. If either operand is `NaN`, returns `NaN`. */ -declare function max(left: T, right: T): T; -/** Determines the minimum of two integers or floats. If either operand is `NaN`, returns `NaN`. */ -declare function min(left: T, right: T): T; -/** Performs the ceiling operation on a 32-bit or 64-bit float. */ -declare function ceil(value: T): T; -/** Composes a 32-bit or 64-bit float from the magnitude of `x` and the sign of `y`. */ -declare function copysign(x: T, y: T): T; -/** Performs the floor operation on a 32-bit or 64-bit float. */ -declare function floor(value: T): T; -/** Rounds to the nearest integer tied to even of a 32-bit or 64-bit float. */ -declare function nearest(value: T): T; -/** Reinterprets the bits of the specified value as type `T`. Valid reinterpretations are u32/i32 to/from f32 and u64/i64 to/from f64. */ -declare function reinterpret(value: number): T; -/** Selects one of two pre-evaluated values depending on the condition. */ -declare function select(ifTrue: T, ifFalse: T, condition: bool): T; -/** Calculates the square root of a 32-bit or 64-bit float. */ -declare function sqrt(value: T): T; -/** Rounds to the nearest integer towards zero of a 32-bit or 64-bit float. */ -declare function trunc(value: T): T; -/** Computes the sum of two integers or floats. */ -declare function add(left: T, right: T): T; -/** Computes the difference of two integers or floats. */ -declare function sub(left: T, right: T): T; -/** Computes the product of two integers or floats. */ -declare function mul(left: T, right: T): T; -/** Computes the quotient of two integers or floats. */ -declare function div(left: T, right: T): T; -/** Return 1 if two numbers are equal to each other, 0 otherwise. */ -declare function eq(left: T, right: T): i32; -/** Return 0 if two numbers are equal to each other, 1 otherwise. */ -declare function ne(left: T, right: T): i32; -/** Computes the remainder of two integers. */ -declare function rem(left: T, right: T): T; -/** Loads a value of the specified type from memory. Equivalent to dereferncing a pointer in other languages. */ -declare function load(ptr: usize, immOffset?: usize, immAlign?: usize): T; -/** Stores a value of the specified type to memory. Equivalent to dereferencing a pointer in other languages when assigning a value. */ -declare function store(ptr: usize, value: T, immOffset?: usize, immAlign?: usize): void; -/** Emits an unreachable operation that results in a runtime error when executed. Both a statement and an expression. */ -declare function unreachable(): never; - -/** NaN (not a number) as a 32-bit or 64-bit float depending on context. */ -declare const NaN: f32 | f64; -/** Positive infinity as a 32-bit or 64-bit float depending on context. */ -declare const Infinity: f32 | f64; -/** Data end offset. */ -declare const __data_end: usize; -/** Stack pointer offset. */ -declare let __stack_pointer: usize; -/** Heap base offset. */ -declare const __heap_base: usize; -/** Determines the byte size of the specified underlying core type. Compiles to a constant. */ -declare function sizeof(): usize; -/** Determines the alignment (log2) of the specified underlying core type. Compiles to a constant. */ -declare function alignof(): usize; -/** Determines the end offset of the given class type. Compiles to a constant. */ -declare function offsetof(): usize; -/** Determines the offset of the specified field within the given class type. Compiles to a constant. */ -declare function offsetof(fieldName: keyof T | string): usize; -/** Determines the offset of the specified field within the given class type. Returns the class type's end offset if field name has been omitted. Compiles to a constant. */ -declare function offsetof(fieldName?: string): usize; -/** Determines the name of a given type. */ -declare function nameof(value?: T): string; -/** Determines the unique runtime id of a class type. Compiles to a constant. */ -declare function idof(): u32; -/** Changes the type of any value of `usize` kind to another one of `usize` kind. Useful for casting class instances to their pointer values and vice-versa. Beware that this is unsafe.*/ -declare function changetype(value: any): T; -/** Explicitly requests no bounds checks on the provided expression. Useful for array accesses. */ -declare function unchecked(value: T): T; -/** Emits a `call_indirect` instruction, calling the specified function in the function table by index with the specified arguments. Does result in a runtime error if the arguments do not match the called function. */ -declare function call_indirect(index: u32, ...args: unknown[]): T; -/** Instantiates a new instance of `T` using the specified constructor arguments. */ -declare function instantiate(...args: any[]): T; -/** Tests if a 32-bit or 64-bit float is `NaN`. */ -declare function isNaN(value: T): bool; -/** Tests if a 32-bit or 64-bit float is finite, that is not `NaN` or +/-`Infinity`. */ -declare function isFinite(value: T): bool; -/** Tests if the specified type *or* expression is of a boolean type. */ -declare function isBoolean(value?: any): value is number; -/** Tests if the specified type *or* expression is of an integer type and not a reference. Compiles to a constant. */ -declare function isInteger(value?: any): value is number; -/** Tests if the specified type *or* expression can represent negative numbers. Compiles to a constant. */ -declare function isSigned(value?: any): value is number; -/** Tests if the specified type *or* expression is of a float type. Compiles to a constant. */ -declare function isFloat(value?: any): value is number; -/** Tests if the specified type *or* expression is of a v128 type. Compiles to a constant. */ -declare function isVector(value?: any): value is v128; -/** Tests if the specified type *or* expression is of a reference type. Compiles to a constant. */ -declare function isReference(value?: any): value is object | string; -/** Tests if the specified type *or* expression can be used as a string. Compiles to a constant. */ -declare function isString(value?: any): value is string | String; -/** Tests if the specified type *or* expression can be used as an array. Compiles to a constant. */ -declare function isArray(value?: any): value is Array; -/** Tests if the specified type *or* expression can be used as an array like object. Compiles to a constant. */ -declare function isArrayLike(value?: any): value is ArrayLike; -/** Tests if the specified type *or* expression is of a function type. Compiles to a constant. */ -declare function isFunction(value?: any): value is (...args: any) => any; -/** Tests if the specified type *or* expression is of a nullable reference type. Compiles to a constant. */ -declare function isNullable(value?: any): bool; -/** Tests if the specified expression resolves to a defined element. Compiles to a constant. */ -declare function isDefined(expression: any): bool; -/** Tests if the specified expression evaluates to a constant value. Compiles to a constant. */ -declare function isConstant(expression: any): bool; -/** Tests if the specified type *or* expression is of a managed type. Compiles to a constant. */ -declare function isManaged(value?: any): bool; -/** Tests if the specified type is void. Compiles to a constant. */ -declare function isVoid(): bool; -/** Traps if the specified value is not true-ish, otherwise returns the (non-nullable) value. */ -declare function assert(isTrueish: T, message?: string): T & (object | string | number); // any better way to model `: T != null`? -/** Parses an integer string to a 64-bit float. */ -declare function parseInt(str: string, radix?: i32): f64; -/** Parses a string to a 64-bit float. */ -declare function parseFloat(str: string): f64; -/** Returns the 64-bit floating-point remainder of `x/y`. */ -declare function fmod(x: f64, y: f64): f64; -/** Returns the 32-bit floating-point remainder of `x/y`. */ -declare function fmodf(x: f32, y: f32): f32; -/** Returns the number of parameters in the given function signature type. */ -declare function lengthof any>(func?: T): i32; -/** Encodes a text string as a valid Uniform Resource Identifier (URI). */ -declare function encodeURI(str: string): string; -/** Encodes a text string as a valid component of a Uniform Resource Identifier (URI). */ -declare function encodeURIComponent(str: string): string; -/** Decodes a Uniform Resource Identifier (URI) previously created by encodeURI. */ -declare function decodeURI(str: string): string; -/** Decodes a Uniform Resource Identifier (URI) component previously created by encodeURIComponent. */ -declare function decodeURIComponent(str: string): string; - -/** Atomic operations. */ -declare namespace atomic { - /** Atomically loads an integer value from memory and returns it. */ - export function load(ptr: usize, immOffset?: usize): T; - /** Atomically stores an integer value to memory. */ - export function store(ptr: usize, value: T, immOffset?: usize): void; - /** Atomically adds an integer value in memory. */ - export function add(ptr: usize, value: T, immOffset?: usize): T; - /** Atomically subtracts an integer value in memory. */ - export function sub(ptr: usize, value: T, immOffset?: usize): T; - /** Atomically performs a bitwise AND operation on an integer value in memory. */ - export function and(ptr: usize, value: T, immOffset?: usize): T; - /** Atomically performs a bitwise OR operation on an integer value in memory. */ - export function or(ptr: usize, value: T, immOffset?: usize): T; - /** Atomically performs a bitwise XOR operation on an integer value in memory. */ - export function xor(ptr: usize, value: T, immOffset?: usize): T; - /** Atomically exchanges an integer value in memory. */ - export function xchg(ptr: usize, value: T, immOffset?: usize): T; - /** Atomically compares and exchanges an integer value in memory if the condition is met. */ - export function cmpxchg(ptr: usize, expected: T, replacement: T, immOffset?: usize): T; - /** Performs a wait operation on an address in memory suspending this agent if the integer condition is met. */ - export function wait(ptr: usize, expected: T, timeout?: i64): AtomicWaitResult; - /** Performs a notify operation on an address in memory waking up suspended agents. */ - export function notify(ptr: usize, count?: i32): i32; - /** Performs a fence operation, preserving synchronization guarantees of higher level languages. */ - export function fence(): void; -} - -/** Describes the result of an atomic wait operation. */ -declare enum AtomicWaitResult { - /** Woken by another agent. */ - OK, - /** Loaded value did not match the expected value. */ - NOT_EQUAL, - /** Not woken before the timeout expired. */ - TIMED_OUT -} - -/** Converts any other numeric value to an 8-bit signed integer. */ -declare function i8(value: any): i8; -declare namespace i8 { - /** Smallest representable value. */ - export const MIN_VALUE: i8; - /** Largest representable value. */ - export const MAX_VALUE: i8; - /** Parses a string as an i8. */ - export function parse(value: string, radix?: i32): i8; -} -/** Converts any other numeric value to a 16-bit signed integer. */ -declare function i16(value: any): i16; -declare namespace i16 { - /** Smallest representable value. */ - export const MIN_VALUE: i16; - /** Largest representable value. */ - export const MAX_VALUE: i16; - /** Parses a string as an i16. */ - export function parse(value: string, radix?: i32): i16; -} -/** Converts any other numeric value to a 32-bit signed integer. */ -declare function i32(value: any): i32; -declare namespace i32 { - /** Smallest representable value. */ - export const MIN_VALUE: i32; - /** Largest representable value. */ - export const MAX_VALUE: i32; - /** Parses a string as an i32. */ - export function parse(value: string, radix?: i32): i32; - /** Loads an 8-bit signed integer value from memory and returns it as a 32-bit integer. */ - export function load8_s(ptr: usize, immOffset?: usize, immAlign?: usize): i32; - /** Loads an 8-bit unsigned integer value from memory and returns it as a 32-bit integer. */ - export function load8_u(ptr: usize, immOffset?: usize, immAlign?: usize): i32; - /** Loads a 16-bit signed integer value from memory and returns it as a 32-bit integer. */ - export function load16_s(ptr: usize, immOffset?: usize, immAlign?: usize): i32; - /** Loads a 16-bit unsigned integer value from memory and returns it as a 32-bit integer. */ - export function load16_u(ptr: usize, immOffset?: usize, immAlign?: usize): i32; - /** Loads a 32-bit integer value from memory. */ - export function load(ptr: usize, immOffset?: usize, immAlign?: usize): i32; - /** Stores a 32-bit integer value to memory as an 8-bit integer. */ - export function store8(ptr: usize, value: i32, immOffset?: usize, immAlign?: usize): void; - /** Stores a 32-bit integer value to memory as a 16-bit integer. */ - export function store16(ptr: usize, value: i32, immOffset?: usize, immAlign?: usize): void; - /** Stores a 32-bit integer value to memory. */ - export function store(ptr: usize, value: i32, immOffset?: usize, immAlign?: usize): void; - /** Performs the sign-agnostic count leading zero bits operation on a 32-bit integer. All zero bits are considered leading if the value is zero. */ - export function clz(value: i32): i32; - /** Performs the sign-agnostic count tailing zero bits operation on a 32-bit integer. All zero bits are considered trailing if the value is zero. */ - export function ctz(value: i32): i32; - /** Performs the sign-agnostic count number of one bits operation on a 32-bit integer. */ - export function popcnt(value: i32): i32; - /** Performs the sign-agnostic rotate left operation on a 32-bit integer. */ - export function rotl(value: i32, shift: i32): i32; - /** Performs the sign-agnostic rotate right operation on a 32-bit integer. */ - export function rotr(value: i32, shift: i32): i32; - /** Reinterprets the bits of the specified 32-bit float as a 32-bit integer. */ - export function reinterpret_f32(value: f32): i32; - /** Computes the sum of two 32-bit integers. */ - export function add(left: i32, right: i32): i32; - /** Computes the difference of two 32-bit integers. */ - export function sub(left: i32, right: i32): i32; - /** Computes the product of two 32-bit integers. */ - export function mul(left: i32, right: i32): i32; - /** Computes the signed quotient of two 32-bit integers. */ - export function div_s(left: i32, right: i32): i32; - /** Computes the unsigned quotient of two 32-bit integers. */ - export function div_u(left: i32, right: i32): i32; - /** Return 1 if two 32-bit integers are equal to each other, 0 otherwise. */ - export function eq(left: i32, right: i32): i32; - /** Return 0 if two 32-bit integers are equal to each other, 1 otherwise. */ - export function ne(left: i32, right: i32): i32; - /** Computes the signed remainder of two 32-bit integers. */ - export function rem_s(left: i32, right: i32): i32; - /** Computes the unsigned remainder of two 32-bit integers. */ - export function rem_u(left: u32, right: u32): u32; - - /** Atomic 32-bit integer operations. */ - export namespace atomic { - /** Atomically loads an 8-bit unsigned integer value from memory and returns it as a 32-bit integer. */ - export function load8_u(ptr: usize, immOffset?: usize): i32; - /** Atomically loads a 16-bit unsigned integer value from memory and returns it as a 32-bit integer. */ - export function load16_u(ptr: usize, immOffset?: usize): i32; - /** Atomically loads a 32-bit integer value from memory and returns it. */ - export function load(ptr: usize, immOffset?: usize): i32; - /** Atomically stores a 32-bit integer value to memory as an 8-bit integer. */ - export function store8(ptr: usize, value: i32, immOffset?: usize): void; - /** Atomically stores a 32-bit integer value to memory as a 16-bit integer. */ - export function store16(ptr: usize, value: i32, immOffset?: usize): void; - /** Atomically stores a 32-bit integer value to memory. */ - export function store(ptr: usize, value: i32, immOffset?: usize): void; - /** Atomic 32-bit integer read-modify-write operations on 8-bit values. */ - export namespace rmw8 { - /** Atomically adds an 8-bit unsigned integer value in memory. */ - export function add_u(ptr: usize, value: i32, immOffset?: usize): i32; - /** Atomically subtracts an 8-bit unsigned integer value in memory. */ - export function sub_u(ptr: usize, value: i32, immOffset?: usize): i32; - /** Atomically performs a bitwise AND operation an 8-bit unsigned integer value in memory. */ - export function and_u(ptr: usize, value: i32, immOffset?: usize): i32; - /** Atomically performs a bitwise OR operation an 8-bit unsigned integer value in memory. */ - export function or_u(ptr: usize, value: i32, immOffset?: usize): i32; - /** Atomically performs a bitwise XOR operation an 8-bit unsigned integer value in memory. */ - export function xor_u(ptr: usize, value: i32, immOffset?: usize): i32; - /** Atomically exchanges an 8-bit unsigned integer value in memory. */ - export function xchg_u(ptr: usize, value: i32, immOffset?: usize): i32; - /** Atomically compares and exchanges an 8-bit unsigned integer value in memory if the condition is met. */ - export function cmpxchg_u(ptr: usize, expected: i32, replacement: i32, immOffset?: usize): i32; - } - /** Atomic 32-bit integer read-modify-write operations on 16-bit values. */ - export namespace rmw16 { - /** Atomically adds a 16-bit unsigned integer value in memory. */ - export function add_u(ptr: usize, value: i32, immOffset?: usize): i32; - /** Atomically adds a 16-bit unsigned integer value in memory. */ - export function sub_u(ptr: usize, value: i32, immOffset?: usize): i32; - /** Atomically performs a bitwise AND operation a 16-bit unsigned integer value in memory. */ - export function and_u(ptr: usize, value: i32, immOffset?: usize): i32; - /** Atomically performs a bitwise OR operation a 16-bit unsigned integer value in memory. */ - export function or_u(ptr: usize, value: i32, immOffset?: usize): i32; - /** Atomically performs a bitwise XOR operation a 16-bit unsigned integer value in memory. */ - export function xor_u(ptr: usize, value: i32, immOffset?: usize): i32; - /** Atomically exchanges a 16-bit unsigned integer value in memory. */ - export function xchg_u(ptr: usize, value: i32, immOffset?: usize): i32; - /** Atomically compares and exchanges a 16-bit unsigned integer value in memory if the condition is met. */ - export function cmpxchg_u(ptr: usize, expected: i32, replacement: i32, immOffset?: usize): i32; - } - /** Atomic 32-bit integer read-modify-write operations. */ - export namespace rmw { - /** Atomically adds a 32-bit integer value in memory. */ - export function add(ptr: usize, value: i32, immOffset?: usize): i32; - /** Atomically subtracts a 32-bit integer value in memory. */ - export function sub(ptr: usize, value: i32, immOffset?: usize): i32; - /** Atomically performs a bitwise AND operation a 32-bit integer value in memory. */ - export function and(ptr: usize, value: i32, immOffset?: usize): i32; - /** Atomically performs a bitwise OR operation a 32-bit integer value in memory. */ - export function or(ptr: usize, value: i32, immOffset?: usize): i32; - /** Atomically performs a bitwise XOR operation a 32-bit integer value in memory. */ - export function xor(ptr: usize, value: i32, immOffset?: usize): i32; - /** Atomically exchanges a 32-bit integer value in memory. */ - export function xchg(ptr: usize, value: i32, immOffset?: usize): i32; - /** Atomically compares and exchanges a 32-bit integer value in memory if the condition is met. */ - export function cmpxchg(ptr: usize, expected: i32, replacement: i32, immOffset?: usize): i32; - } - } -} -/** Converts any other numeric value to a 64-bit signed integer. */ -declare function i64(value: any): i64; -declare namespace i64 { - /** Smallest representable value. */ - export const MIN_VALUE: i64; - /** Largest representable value. */ - export const MAX_VALUE: i64; - /** Parses a string as an i64. */ - export function parse(value: string, radix?: i32): i64; - /** Loads an 8-bit signed integer value from memory and returns it as a 64-bit integer. */ - export function load8_s(ptr: usize, immOffset?: usize, immAlign?: usize): i64; - /** Loads an 8-bit unsigned integer value from memory and returns it as a 64-bit integer. */ - export function load8_u(ptr: usize, immOffset?: usize, immAlign?: usize): i64; - /** Loads a 16-bit signed integer value from memory and returns it as a 64-bit integer. */ - export function load16_s(ptr: usize, immOffset?: usize, immAlign?: usize): i64; - /** Loads a 16-bit unsigned integer value from memory and returns it as a 64-bit integer. */ - export function load16_u(ptr: usize, immOffset?: usize, immAlign?: usize): i64; - /** Loads a 32-bit signed integer value from memory and returns it as a 64-bit integer. */ - export function load32_s(ptr: usize, immOffset?: usize, immAlign?: usize): i64; - /** Loads a 32-bit unsigned integer value from memory and returns it as a 64-bit integer. */ - export function load32_u(ptr: usize, immOffset?: usize, immAlign?: usize): i64; - /** Loads a 64-bit unsigned integer value from memory. */ - export function load(ptr: usize, immOffset?: usize, immAlign?: usize): i64; - /** Stores a 64-bit integer value to memory as an 8-bit integer. */ - export function store8(ptr: usize, value: i64, immOffset?: usize, immAlign?: usize): void; - /** Stores a 64-bit integer value to memory as a 16-bit integer. */ - export function store16(ptr: usize, value: i64, immOffset?: usize, immAlign?: usize): void; - /** Stores a 64-bit integer value to memory as a 32-bit integer. */ - export function store32(ptr: usize, value: i64, immOffset?: usize, immAlign?: usize): void; - /** Stores a 64-bit integer value to memory. */ - export function store(ptr: usize, value: i64, immOffset?: usize, immAlign?: usize): void; - /** Performs the sign-agnostic count leading zero bits operation on a 64-bit integer. All zero bits are considered leading if the value is zero. */ - export function clz(value: i64): i64; - /** Performs the sign-agnostic count tailing zero bits operation on a 64-bit integer. All zero bits are considered trailing if the value is zero. */ - export function ctz(value: i64): i64; - /** Performs the sign-agnostic count number of one bits operation on a 64-bit integer. */ - export function popcnt(value: i64): i64; - /** Performs the sign-agnostic rotate left operation on a 64-bit integer. */ - export function rotl(value: i64, shift: i64): i64; - /** Performs the sign-agnostic rotate right operation on a 64-bit integer. */ - export function rotr(value: i64, shift: i64): i64; - /** Reinterprets the bits of the specified 64-bit float as a 64-bit integer. */ - export function reinterpret_f64(value: f64): i64; - /** Computes the sum of two 64-bit integers. */ - export function add(left: i64, right: i64): i64; - /** Computes the difference of two 64-bit integers. */ - export function sub(left: i64, right: i64): i64; - /** Computes the product of two 64-bit integers. */ - export function mul(left: i64, right: i64): i64; - /** Computes the signed quotient of two 64-bit integers. */ - export function div_s(left: i64, right: i64): i64; - /** Computes the unsigned quotient of two 64-bit integers. */ - export function div_u(left: i64, right: i64): i64; - /** Return 1 if two 64-bit integers are equal to each other, 0 otherwise. */ - export function eq(left: i64, right: i64): i32; - /** Return 0 if two 64-bit integers are equal to each other, 1 otherwise. */ - export function ne(left: i64, right: i64): i32; - /** Computes the signed remainder of two 64-bit integers. */ - export function rem_s(left: i64, right: i64): i64; - /** Computes the unsigned remainder of two 64-bit integers. */ - export function rem_u(left: u64, right: u64): u64; - - /** Atomic 64-bit integer operations. */ - export namespace atomic { - /** Atomically loads an 8-bit unsigned integer value from memory and returns it as a 64-bit integer. */ - export function load8_u(ptr: usize, immOffset?: usize): i64; - /** Atomically loads a 16-bit unsigned integer value from memory and returns it as a 64-bit integer. */ - export function load16_u(ptr: usize, immOffset?: usize): i64; - /** Atomically loads a 32-bit unsigned integer value from memory and returns it as a 64-bit integer. */ - export function load32_u(ptr: usize, immOffset?: usize): i64; - /** Atomically loads a 64-bit integer value from memory and returns it. */ - export function load(ptr: usize, immOffset?: usize): i64; - /** Atomically stores a 64-bit integer value to memory as an 8-bit integer. */ - export function store8(ptr: usize, value: i64, immOffset?: usize): void; - /** Atomically stores a 64-bit integer value to memory as a 16-bit integer. */ - export function store16(ptr: usize, value: i64, immOffset?: usize): void; - /** Atomically stores a 64-bit integer value to memory as a 32-bit integer. */ - export function store32(ptr: usize, value: i64, immOffset?: usize): void; - /** Atomically stores a 64-bit integer value to memory. */ - export function store(ptr: usize, value: i64, immOffset?: usize): void; - /** Atomic 64-bit integer read-modify-write operations on 8-bit values. */ - export namespace rmw8 { - /** Atomically adds an 8-bit unsigned integer value in memory. */ - export function add_u(ptr: usize, value: i64, immOffset?: usize): i64; - /** Atomically subtracts an 8-bit unsigned integer value in memory. */ - export function sub_u(ptr: usize, value: i64, immOffset?: usize): i64; - /** Atomically performs a bitwise AND operation on an 8-bit unsigned integer value in memory. */ - export function and_u(ptr: usize, value: i64, immOffset?: usize): i64; - /** Atomically performs a bitwise OR operation on an 8-bit unsigned integer value in memory. */ - export function or_u(ptr: usize, value: i64, immOffset?: usize): i64; - /** Atomically performs a bitwise XOR operation on an 8-bit unsigned integer value in memory. */ - export function xor_u(ptr: usize, value: i64, immOffset?: usize): i64; - /** Atomically exchanges an 8-bit unsigned integer value in memory. */ - export function xchg_u(ptr: usize, value: i64, immOffset?: usize): i64; - /** Atomically compares and exchanges an 8-bit unsigned integer value in memory if the condition is met. */ - export function cmpxchg_u(ptr: usize, expected: i64, replacement: i64, immOffset?: usize): i64; - } - /** Atomic 64-bit integer read-modify-write operations on 16-bit values. */ - export namespace rmw16 { - /** Atomically adds a 16-bit unsigned integer value in memory. */ - export function add_u(ptr: usize, value: i64, immOffset?: usize): i64; - /** Atomically subtracts a 16-bit unsigned integer value in memory. */ - export function sub_u(ptr: usize, value: i64, immOffset?: usize): i64; - /** Atomically performs a bitwise AND operation on a 16-bit unsigned integer value in memory. */ - export function and_u(ptr: usize, value: i64, immOffset?: usize): i64; - /** Atomically performs a bitwise OR operation on a 16-bit unsigned integer value in memory. */ - export function or_u(ptr: usize, value: i64, immOffset?: usize): i64; - /** Atomically performs a bitwise XOR operation on a 16-bit unsigned integer value in memory. */ - export function xor_u(ptr: usize, value: i64, immOffset?: usize): i64; - /** Atomically exchanges a 16-bit unsigned integer value in memory. */ - export function xchg_u(ptr: usize, value: i64, immOffset?: usize): i64; - /** Atomically compares and exchanges a 16-bit unsigned integer value in memory if the condition is met. */ - export function cmpxchg_u(ptr: usize, expected: i64, replacement: i64, immOffset?: usize): i64; - } - /** Atomic 64-bit integer read-modify-write operations on 32-bit values. */ - export namespace rmw32 { - /** Atomically adds a 32-bit unsigned integer value in memory. */ - export function add_u(ptr: usize, value: i64, immOffset?: usize): i64; - /** Atomically subtracts a 32-bit unsigned integer value in memory. */ - export function sub_u(ptr: usize, value: i64, immOffset?: usize): i64; - /** Atomically performs a bitwise AND operation on a 32-bit unsigned integer value in memory. */ - export function and_u(ptr: usize, value: i64, immOffset?: usize): i64; - /** Atomically performs a bitwise OR operation on a 32-bit unsigned integer value in memory. */ - export function or_u(ptr: usize, value: i64, immOffset?: usize): i64; - /** Atomically performs a bitwise XOR operation on a 32-bit unsigned integer value in memory. */ - export function xor_u(ptr: usize, value: i64, immOffset?: usize): i64; - /** Atomically exchanges a 32-bit unsigned integer value in memory. */ - export function xchg_u(ptr: usize, value: i64, immOffset?: usize): i64; - /** Atomically compares and exchanges a 32-bit unsigned integer value in memory if the condition is met. */ - export function cmpxchg_u(ptr: usize, expected: i64, replacement: i64, immOffset?: usize): i64; - } - /** Atomic 64-bit integer read-modify-write operations. */ - export namespace rmw { - /** Atomically adds a 64-bit integer value in memory. */ - export function add(ptr: usize, value: i64, immOffset?: usize): i64; - /** Atomically subtracts a 64-bit integer value in memory. */ - export function sub(ptr: usize, value: i64, immOffset?: usize): i64; - /** Atomically performs a bitwise AND operation on a 64-bit integer value in memory. */ - export function and(ptr: usize, value: i64, immOffset?: usize): i64; - /** Atomically performs a bitwise OR operation on a 64-bit integer value in memory. */ - export function or(ptr: usize, value: i64, immOffset?: usize): i64; - /** Atomically performs a bitwise XOR operation on a 64-bit integer value in memory. */ - export function xor(ptr: usize, value: i64, immOffset?: usize): i64; - /** Atomically exchanges a 64-bit integer value in memory. */ - export function xchg(ptr: usize, value: i64, immOffset?: usize): i64; - /** Atomically compares and exchanges a 64-bit integer value in memory if the condition is met. */ - export function cmpxchg(ptr: usize, expected: i64, replacement: i64, immOffset?: usize): i64; - } - } -} -/** Converts any other numeric value to a 32-bit (in WASM32) respectivel 64-bit (in WASM64) signed integer. */ -declare let isize: typeof i32 | typeof i64; -/** Converts any other numeric value to an 8-bit unsigned integer. */ -declare function u8(value: any): u8; -declare namespace u8 { - /** Smallest representable value. */ - export const MIN_VALUE: u8; - /** Largest representable value. */ - export const MAX_VALUE: u8; - /** Parses a string as an u8. */ - export function parse(value: string, radix?: i32): u8; -} -/** Converts any other numeric value to a 16-bit unsigned integer. */ -declare function u16(value: any): u16; -declare namespace u16 { - /** Smallest representable value. */ - export const MIN_VALUE: u16; - /** Largest representable value. */ - export const MAX_VALUE: u16; - /** Parses a string as an u16. */ - export function parse(value: string, radix?: i32): u16; -} -/** Converts any other numeric value to a 32-bit unsigned integer. */ -declare function u32(value: any): u32; -declare namespace u32 { - /** Smallest representable value. */ - export const MIN_VALUE: u32; - /** Largest representable value. */ - export const MAX_VALUE: u32; - /** Parses a string as an u32. */ - export function parse(value: string, radix?: i32): u32; -} -/** Converts any other numeric value to a 64-bit unsigned integer. */ -declare function u64(value: any): u64; -declare namespace u64 { - /** Smallest representable value. */ - export const MIN_VALUE: u64; - /** Largest representable value. */ - export const MAX_VALUE: u64; - /** Parses a string as an u64. */ - export function parse(value: string, radix?: i32): u64; -} -/** Converts any other numeric value to a 32-bit (in WASM32) respectivel 64-bit (in WASM64) unsigned integer. */ -declare let usize: typeof u32 | typeof u64; -/** Converts any other numeric value to a 1-bit unsigned integer. */ -declare function bool(value: any): bool; -declare namespace bool { - /** Smallest representable value. */ - export const MIN_VALUE: bool; - /** Largest representable value. */ - export const MAX_VALUE: bool; - /** Parses a string as a bool. */ - export function parse(value: string): bool; -} -/** Converts any other numeric value to a 32-bit float. */ -declare function f32(value: any): f32; -declare namespace f32 { - /** Smallest representable value. */ - export const MIN_VALUE: f32; - /** Largest representable value. */ - export const MAX_VALUE: f32; - /** Smallest normalized positive value. */ - export const MIN_NORMAL_VALUE: f32; - /** Smallest safely representable integer value. */ - export const MIN_SAFE_INTEGER: f32; - /** Largest safely representable integer value. */ - export const MAX_SAFE_INTEGER: f32; - /** Positive infinity value. */ - export const POSITIVE_INFINITY: f32; - /** Negative infinity value. */ - export const NEGATIVE_INFINITY: f32; - /** Not a number value. */ - export const NaN: f32; - /** Difference between 1 and the smallest representable value greater than 1. */ - export const EPSILON: f32; - /** Parses a string as an f32. */ - export function parse(value: string): f32; - /** Loads a 32-bit float from memory. */ - export function load(ptr: usize, immOffset?: usize, immAlign?: usize): f32; - /** Stores a 32-bit float to memory. */ - export function store(ptr: usize, value: f32, immOffset?: usize, immAlign?: usize): void; - /** Computes the sum of two 32-bit floats. */ - export function add(left: f32, right: f32): f32; - /** Computes the difference of two 32-bit floats. */ - export function sub(left: f32, right: f32): f32; - /** Computes the product of two 32-bit floats. */ - export function mul(left: f32, right: f32): f32; - /** Computes the quotient of two 32-bit floats. */ - export function div(left: f32, right: f32): f32; - /** Return 1 two 32-bit floats are equal to each other, 0 otherwise. */ - export function eq(left: f32, right: f32): i32; - /** Return 0 two 32-bit floats are equal to each other, 1 otherwise. */ - export function ne(left: f32, right: f32): i32; - /** Computes the absolute value of a 32-bit float. */ - export function abs(value: f32): f32; - /** Determines the maximum of two 32-bit floats. If either operand is `NaN`, returns `NaN`. */ - export function max(left: f32, right: f32): f32; - /** Determines the minimum of two 32-bit floats. If either operand is `NaN`, returns `NaN`. */ - export function min(left: f32, right: f32): f32; - /** Performs the ceiling operation on a 32-bit float. */ - export function ceil(value: f32): f32; - /** Composes a 32-bit float from the magnitude of `x` and the sign of `y`. */ - export function copysign(x: f32, y: f32): f32; - /** Performs the floor operation on a 32-bit float. */ - export function floor(value: f32): f32; - /** Rounds to the nearest integer tied to even of a 32-bit float. */ - export function nearest(value: f32): f32; - /** Reinterprets the bits of the specified 32-bit integer as a 32-bit float. */ - export function reinterpret_i32(value: i32): f32; - /** Calculates the square root of a 32-bit float. */ - export function sqrt(value: f32): f32; - /** Rounds to the nearest integer towards zero of a 32-bit float. */ - export function trunc(value: f32): f32; -} -/** Converts any other numeric value to a 64-bit float. */ -declare function f64(value: any): f64; -declare namespace f64 { - /** Smallest representable value. */ - export const MIN_VALUE: f64; - /** Largest representable value. */ - export const MAX_VALUE: f64; - /** Smallest normalized positive value. */ - export const MIN_NORMAL_VALUE: f64; - /** Smallest safely representable integer value. */ - export const MIN_SAFE_INTEGER: f64; - /** Largest safely representable integer value. */ - export const MAX_SAFE_INTEGER: f64; - /** Positive infinity value. */ - export const POSITIVE_INFINITY: f64; - /** Negative infinity value. */ - export const NEGATIVE_INFINITY: f64; - /** Not a number value. */ - export const NaN: f64; - /** Difference between 1 and the smallest representable value greater than 1. */ - export const EPSILON: f64; - /** Parses a string as an f64. */ - export function parse(value: string): f64; - /** Loads a 64-bit float from memory. */ - export function load(ptr: usize, immOffset?: usize, immAlign?: usize): f64; - /** Stores a 64-bit float to memory. */ - export function store(ptr: usize, value: f64, immOffset?: usize, immAlign?: usize): void; - /** Computes the sum of two 64-bit floats. */ - export function add(left: f64, right: f64): f64; - /** Computes the difference of two 64-bit floats. */ - export function sub(left: f64, right: f64): f64; - /** Computes the product of two 64-bit floats. */ - export function mul(left: f64, right: f64): f64; - /** Computes the quotient of two 64-bit floats. */ - export function div(left: f64, right: f64): f64; - /** Return 1 two 64-bit floats are equal to each other, 0 otherwise. */ - export function eq(left: f64, right: f64): i32; - /** Return 0 two 32-bit floats are equal to each other, 1 otherwise. */ - export function ne(left: f64, right: f64): i32; - /** Computes the absolute value of a 64-bit float. */ - export function abs(value: f64): f64; - /** Determines the maximum of two 64-bit floats. If either operand is `NaN`, returns `NaN`. */ - export function max(left: f64, right: f64): f64; - /** Determines the minimum of two 64-bit floats. If either operand is `NaN`, returns `NaN`. */ - export function min(left: f64, right: f64): f64; - /** Performs the ceiling operation on a 64-bit float. */ - export function ceil(value: f64): f64; - /** Composes a 64-bit float from the magnitude of `x` and the sign of `y`. */ - export function copysign(x: f64, y: f64): f64; - /** Performs the floor operation on a 64-bit float. */ - export function floor(value: f64): f64; - /** Rounds to the nearest integer tied to even of a 64-bit float. */ - export function nearest(value: f64): f64; - /** Reinterprets the bits of the specified 64-bit integer as a 64-bit float. */ - export function reinterpret_i64(value: i64): f64; - /** Calculates the square root of a 64-bit float. */ - export function sqrt(value: f64): f64; - /** Rounds to the nearest integer towards zero of a 64-bit float. */ - export function trunc(value: f64): f64; -} -/** Initializes a 128-bit vector from sixteen 8-bit integer values. Arguments must be compile-time constants. */ -declare function v128(a: i8, b: i8, c: i8, d: i8, e: i8, f: i8, g: i8, h: i8, i: i8, j: i8, k: i8, l: i8, m: i8, n: i8, o: i8, p: i8): v128; -declare namespace v128 { - /** Creates a vector with identical lanes. */ - export function splat(x: T): v128; - /** Extracts one lane as a scalar. */ - export function extract_lane(x: v128, idx: u8): T; - /** Replaces one lane. */ - export function replace_lane(x: v128, idx: u8, value: T): v128; - /** Selects lanes from either vector according to the specified lane indexes. */ - export function shuffle(a: v128, b: v128, ...lanes: u8[]): v128; - /** Selects 8-bit lanes from the first vector according to the indexes [0-15] specified by the 8-bit lanes of the second vector. */ - export function swizzle(a: v128, s: v128): v128; - /** Loads a vector from memory. */ - export function load(ptr: usize, immOffset?: usize, immAlign?: usize): v128; - /** Creates a vector by loading the lanes of the specified type and extending each to the next larger type. */ - export function load_ext(ptr: usize, immOffset?: usize, immAlign?: usize): v128; - /** Creates a vector by loading a value of the specified type into the lowest bits and initializing all other bits of the vector to zero. */ - export function load_zero(ptr: usize, immOffset?: usize, immAlign?: usize): v128; - /** Loads a single lane from memory into the specified lane of the given vector. Other lanes are bypassed as is. */ - export function load_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): v128; - /** Stores the single lane at the specified index of the given vector to memory. */ - export function store_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): void; - /** Creates a vector with eight 16-bit integer lanes by loading and sign extending eight 8-bit integers. */ - export function load8x8_s(ptr: usize, immOffset?: u32, immAlign?: u32): v128; - /** Creates a vector with eight 16-bit integer lanes by loading and zero extending eight 8-bit integers. */ - export function load8x8_u(ptr: usize, immOffset?: u32, immAlign?: u32): v128; - /** Creates a vector with four 32-bit integer lanes by loading and sign extending four 16-bit integers. */ - export function load16x4_s(ptr: usize, immOffset?: u32, immAlign?: u32): v128; - /** Creates a vector with four 32-bit integer lanes by loading and zero extending four 16-bit integers. */ - export function load16x4_u(ptr: usize, immOffset?: u32, immAlign?: u32): v128; - /** Creates a vector with two 64-bit integer lanes by loading and sign extending two 32-bit integers. */ - export function load32x2_s(ptr: usize, immOffset?: u32, immAlign?: u32): v128; - /** Creates a vector with two 64-bit integer lanes by loading and zero extending two 32-bit integers. */ - export function load32x2_u(ptr: usize, immOffset?: u32, immAlign?: u32): v128; - /** Creates a vector with identical lanes by loading the splatted value. */ - export function load_splat(ptr: usize, immOffset?: usize, immAlign?: usize): v128; - /** Loads an 8-bit integer and splats it sixteen times forming a new vector. */ - export function load8_splat(ptr: usize, immOffset?: usize, immAlign?: usize): v128; - /** Loads a 16-bit integer and splats it eight times forming a new vector. */ - export function load16_splat(ptr: usize, immOffset?: usize, immAlign?: usize): v128; - /** Loads a 32-bit integer and splats it four times forming a new vector. */ - export function load32_splat(ptr: usize, immOffset?: usize, immAlign?: usize): v128; - /** Loads a 64-bit integer and splats it two times forming a new vector. */ - export function load64_splat(ptr: usize, immOffset?: usize, immAlign?: usize): v128; - /** Creates a vector by loading a 32-bit value into the lowest bits and initializing all other bits of the vector to zero. */ - export function load32_zero(ptr: usize, immOffset?: usize, immAlign?: usize): v128; - /** Creates a vector by loading a 64-bit value into the lowest bits and initializing all other bits of the vector to zero. */ - export function load64_zero(ptr: usize, immOffset?: usize, immAlign?: usize): v128; - /** Loads a single 8-bit lane from memory into the specified lane of the given vector. Other lanes are bypassed as is. */ - export function load8_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): v128; - /** Loads a single 16-bit lane from memory into the specified lane of the given vector. Other lanes are bypassed as is. */ - export function load16_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): v128; - /** Loads a single 32-bit lane from memory into the specified lane of the given vector. Other lanes are bypassed as is. */ - export function load32_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): v128; - /** Loads a single 64-bit lane from memory into the specified lane of the given vector. Other lanes are bypassed as is. */ - export function load64_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): v128; - /** Stores the 8-bit lane at the specified lane of the given vector to memory. */ - export function store8_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): void; - /** Stores the 16-bit lane at the specified lane of the given vector to memory. */ - export function store16_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): void; - /** Stores the 32-bit lane at the specified lane of the given vector to memory. */ - export function store32_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): void; - /** Stores the 64-bit lane at the specified lane of the given vector to memory. */ - export function store64_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): void; - /** Stores a vector to memory. */ - export function store(ptr: usize, value: v128, immOffset?: usize, immAlign?: usize): void; - /** Adds each lane. */ - export function add(a: v128, b: v128): v128; - /** Subtracts each lane. */ - export function sub(a: v128, b: v128): v128; - /** Multiplies each lane. */ - export function mul(a: v128, b: v128): v128; // except i64 - /** Divides each lane. */ - export function div(a: v128, b: v128): v128; - /** Negates each lane of a vector. */ - export function neg(a: v128): v128; - /** Adds each lane using saturation. */ - export function add_sat(a: v128, b: v128): v128; - /** Subtracts each lane using saturation. */ - export function sub_sat(a: v128, b: v128): v128; - /** Performs a bitwise left shift on each lane of a vector by a scalar. */ - export function shl(a: v128, b: i32): v128; - /** Performs a bitwise right shift on each lane of a vector by a scalar. */ - export function shr(a: v128, b: i32): v128; - /** Performs the bitwise AND operation on two vectors. */ - export function and(a: v128, b: v128): v128; - /** Performs the bitwise OR operation on two vectors. */ - export function or(a: v128, b: v128): v128; - /** Performs the bitwise XOR operation on two vectors. */ - export function xor(a: v128, b: v128): v128; - /** Performs the bitwise ANDNOT operation on two vectors. */ - export function andnot(a: v128, b: v128): v128; - /** Performs the bitwise NOT operation on a vector. */ - export function not(a: v128): v128; - /** Selects bits of either vector according to the specified mask. Selects from `v1` if the bit in `mask` is `1`, otherwise from `v2`. */ - export function bitselect(v1: v128, v2: v128, mask: v128): v128; - /** Reduces a vector to a scalar indicating whether any lane is considered `true`. */ - export function any_true(a: v128): bool; - /** Reduces a vector to a scalar indicating whether all lanes are considered `true`. */ - export function all_true(a: v128): bool; - /** Extracts the high bit of each lane and produces a scalar mask with all bits concatenated. */ - export function bitmask(a: v128): i32; - /** Counts the number of bits set to one within each lane. */ - export function popcnt(a: v128): v128; - /** Computes the minimum of each lane. */ - export function min(a: v128, b: v128): v128; - /** Computes the maximum of each lane. */ - export function max(a: v128, b: v128): v128; - /** Computes the pseudo-minimum of each lane. */ - export function pmin(a: v128, b: v128): v128; - /** Computes the pseudo-maximum of each lane. */ - export function pmax(a: v128, b: v128): v128; - /** Computes the dot product of two lanes each, yielding lanes one size wider than the input. */ - export function dot(a: v128, b: v128): v128; - /** Computes the average of each lane. */ - export function avgr(a: v128, b: v128): v128; - /** Computes the absolute value of each lane. */ - export function abs(a: v128): v128; - /** Computes the square root of each lane. */ - export function sqrt(a: v128): v128; - /** Performs the ceiling operation on each lane. */ - export function ceil(a: v128): v128; - /** Performs the floor operation on each lane. */ - export function floor(a: v128): v128; - /** Rounds to the nearest integer towards zero of each lane. */ - export function trunc(a: v128): v128; - /** Rounds to the nearest integer tied to even of each lane. */ - export function nearest(a: v128): v128; - /** Computes which lanes are equal. */ - export function eq(a: v128, b: v128): v128; - /** Computes which lanes are not equal. */ - export function ne(a: v128, b: v128): v128; - /** Computes which lanes of the first vector are less than those of the second. */ - export function lt(a: v128, b: v128): v128; - /** Computes which lanes of the first vector are less than or equal those of the second. */ - export function le(a: v128, b: v128): v128; - /** Computes which lanes of the first vector are greater than those of the second. */ - export function gt(a: v128, b: v128): v128; - /** Computes which lanes of the first vector are greater than or equal those of the second. */ - export function ge(a: v128, b: v128): v128; - /** Converts each lane of a vector from integer to single-precision floating point. */ - export function convert(a: v128): v128; - /** Converts the low lanes of a vector from integer to double-precision floating point. */ - export function convert_low(a: v128): v128; - /** Truncates each lane of a vector from single-precision floating point to integer with saturation. Takes the target type. */ - export function trunc_sat(a: v128): v128; - /** Truncates each lane of a vector from double-precision floating point to integer with saturation. Takes the target type. */ - export function trunc_sat_zero(a: v128): v128; - /** Narrows each lane to their respective narrower lanes. */ - export function narrow(a: v128, b: v128): v128; - /** Extends the low lanes of a vector to their respective wider lanes. */ - export function extend_low(a: v128): v128; - /** Extends the high lanes of a vector to their respective wider lanes. */ - export function extend_high(a: v128): v128; - /** Adds lanes pairwise producing twice wider extended results. */ - export function extadd_pairwise(a: v128): v128; - /** Demotes each float lane to lower precision. The higher lanes of the result are initialized to zero. */ - export function demote_zero(a: v128): v128; - /** Promotes the lower float lanes to higher precision. */ - export function promote_low(a: v128): v128; - /** Performs the line-wise saturating rounding multiplication in Q15 format (`(a[i] * b[i] + (1 << (Q - 1))) >> Q` where `Q=15`). */ - export function q15mulr_sat(a: v128, b: v128): v128; - /** Performs the lane-wise integer extended multiplication of the lower lanes producing a twice wider result than the inputs. */ - export function extmul_low(a: v128, b: v128): v128; - /** Performs the lane-wise integer extended multiplication of the higher lanes producing a twice wider result than the inputs. */ - export function extmul_high(a: v128, b: v128): v128; - /** - * Selects 8-bit lanes from `a` using indices in `s`. Indices in the range [0-15] select the i-th element of `a`. - * - * Unlike {@link v128.swizzle}, the result of an out of bounds index is implementation-defined, depending on hardware - * capabilities: Either `0` or `a[s[i]%16]`. - */ - export function relaxed_swizzle(a: v128, s: v128): v128; - /** - * Truncates each lane of a vector from 32-bit floating point to a 32-bit signed or unsigned integer as indicated by - * `T`. - * - * Unlike {@link v128.trunc_sat}, the result of lanes out of bounds of the target type is implementation defined, - * depending on hardware capabilities: - * - If the input lane contains `NaN`, the result is either `0` or the respective maximum integer value. - * - If the input lane contains a value otherwise out of bounds of the target type, the result is either the - * saturatated result or maximum integer value. - */ - export function relaxed_trunc(a: v128): v128; - /** - * Truncates each lane of a vector from 64-bit floating point to a 32-bit signed or unsigned integer as indicated by - * `T`. Unused higher integer lanes of the result are initialized to zero. - * - * Unlike {@link v128.trunc_sat_zero}, the result of lanes out of bounds of the target type is implementation defined, - * depending on hardware capabilities: - * - If the input lane contains `NaN`, the result is either `0` or the respective maximum integer value. - * - If the input lane contains a value otherwise out of bounds of the target type, the result is either the - * saturatated result or maximum integer value. - */ - export function relaxed_trunc_zero(a: v128): v128; - /** - * Performs the fused multiply-add operation (`a * b + c`) on 32- or 64-bit floating point lanes as indicated by - * `T`. - * - * The result is implementation defined, depending on hardware capabilities: - * - Either `a * b` is rounded once and the final result rounded again, or - * - The expression is evaluated with higher precision and only rounded once - */ - export function relaxed_madd(a: v128, b: v128, c: v128): v128; - /** - * Performs the fused negative multiply-add operation (`-(a * b) + c`) on 32- or 64-bit floating point lanes as - * indicated by `T`. - * - * The result is implementation defined, depending on hardware capabilities: - * - Either `a * b` is rounded once and the final result rounded again, or - * - The expression is evaluated with higher precision and only rounded once - */ - export function relaxed_nmadd(a: v128, b: v128, c: v128): v128; - /** - * Selects 8-, 16-, 32- or 64-bit integer lanes as indicated by `T` from `a` or `b` based on masks in `m`. - * - * Behaves like {@link v128.bitselect} if masks in `m` do have all bits either set (result is `a[i]`) or unset (result - * is `b[i]`). Otherwise the result is implementation-defined, depending on hardware capabilities: If the most - * significant bit of `m` is set, the result is either `bitselect(a[i], b[i], mask)` or `a[i]`, otherwise the result - * is `b[i]`. - */ - export function relaxed_laneselect(a: v128, b: v128, m: v128): v128; - /** - * Computes the minimum of each 32- or 64-bit floating point lane as indicated by `T`. - * - * Unlike {@link v128.min}, the result is implementation-defined if either value is `NaN` or both are `-0.0` and - * `+0.0`, depending on hardware capabilities: Either `a[i]` or `b[i]`. - */ - export function relaxed_min(a: v128, b: v128): v128; - /** - * Computes the maximum of each 32- or 64-bit floating point lane as indicated by `T`. - * - * Unlike {@link v128.max}, the result is implementation-defined if either value is `NaN` or both are `-0.0` and - * `+0.0`, depending on hardware capabilities: Either `a[i]` or `b[i]`. - */ - export function relaxed_max(a: v128, b: v128): v128; - /** - * Performs the lane-wise rounding multiplication in Q15 format (`(a[i] * b[i] + (1 << (Q - 1))) >> Q` where `Q=15`). - * - * Unlike {@link v128.q15mulr_sat}, the result is implementation-defined if both inputs are the minimum signed value: - * Either the minimum or maximum signed value. - */ - export function relaxed_q15mulr(a: v128, b: v128): v128; - /** - * Computes the dot product of two 8-bit integer lanes each, yielding lanes one size wider than the input. - * - * Unlike {@link v128.dot}, if the most significant bit of `b[i]` is set, whether `b[i]` is interpreted as signed or - * unsigned is implementation-defined. - */ - export function relaxed_dot(a: v128, b: v128): v128; - /** - * Computes the dot product of two 8-bit integer lanes each, yielding lanes two sizes wider than the input with the - * lanes of `c` accumulated into the result. - * - * Unlike {@link v128.dot}, if the most significant bit of `b[i]` is set, whether `b[i]` is interpreted as signed or - * unsigned by the intermediate multiplication is implementation-defined. - */ - export function relaxed_dot_add(a: v128, b: v128, c: v128): v128; -} -/** Initializes a 128-bit vector from sixteen 8-bit integer values. Arguments must be compile-time constants. */ -declare function i8x16(a: i8, b: i8, c: i8, d: i8, e: i8, f: i8, g: i8, h: i8, i: i8, j: i8, k: i8, l: i8, m: i8, n: i8, o: i8, p: i8): v128; -declare namespace i8x16 { - /** Creates a vector with sixteen identical 8-bit integer lanes. */ - export function splat(x: i8): v128; - /** Extracts one 8-bit integer lane as a signed scalar. */ - export function extract_lane_s(x: v128, idx: u8): i8; - /** Extracts one 8-bit integer lane as an unsigned scalar. */ - export function extract_lane_u(x: v128, idx: u8): u8; - /** Replaces one 8-bit integer lane. */ - export function replace_lane(x: v128, idx: u8, value: i8): v128; - /** Adds each 8-bit integer lane. */ - export function add(a: v128, b: v128): v128; - /** Subtracts each 8-bit integer lane. */ - export function sub(a: v128, b: v128): v128; - /** Computes the signed minimum of each 8-bit integer lane. */ - export function min_s(a: v128, b: v128): v128; - /** Computes the unsigned minimum of each 8-bit integer lane. */ - export function min_u(a: v128, b: v128): v128; - /** Computes the signed maximum of each 8-bit integer lane. */ - export function max_s(a: v128, b: v128): v128; - /** Computes the unsigned maximum of each 8-bit integer lane. */ - export function max_u(a: v128, b: v128): v128; - /** Computes the unsigned average of each 8-bit integer lane. */ - export function avgr_u(a: v128, b: v128): v128; - /** Computes the absolute value of each 8-bit integer lane. */ - export function abs(a: v128): v128; - /** Negates each 8-bit integer lane. */ - export function neg(a: v128): v128; - /** Adds each 8-bit integer lane using signed saturation. */ - export function add_sat_s(a: v128, b: v128): v128; - /** Adds each 8-bit integer lane using unsigned saturation. */ - export function add_sat_u(a: v128, b: v128): v128; - /** Subtracts each 8-bit integer lane using signed saturation. */ - export function sub_sat_s(a: v128, b: v128): v128; - /** Subtracts each 8-bit integer lane using unsigned saturation. */ - export function sub_sat_u(a: v128, b: v128): v128; - /** Performs a bitwise left shift on each 8-bit integer lane by a scalar. */ - export function shl(a: v128, b: i32): v128; - /** Performs a bitwise arithmetic right shift on each 8-bit integer lane by a scalar. */ - export function shr_s(a: v128, b: i32): v128; - /** Performs a bitwise logical right shift on each 8-bit integer lane by a scalar. */ - export function shr_u(a: v128, b: i32): v128; - /** Reduces a vector to a scalar indicating whether all 8-bit integer lanes are considered `true`. */ - export function all_true(a: v128): bool; - /** Extracts the high bit of each 8-bit integer lane and produces a scalar mask with all bits concatenated. */ - export function bitmask(a: v128): i32; - /** Counts the number of bits set to one within each 8-bit integer lane. */ - export function popcnt(a: v128): v128; - /** Computes which 8-bit integer lanes are equal. */ - export function eq(a: v128, b: v128): v128; - /** Computes which 8-bit integer lanes are not equal. */ - export function ne(a: v128, b: v128): v128; - /** Computes which 8-bit signed integer lanes of the first vector are less than those of the second. */ - export function lt_s(a: v128, b: v128): v128; - /** Computes which 8-bit unsigned integer lanes of the first vector are less than those of the second. */ - export function lt_u(a: v128, b: v128): v128; - /** Computes which 8-bit signed integer lanes of the first vector are less than or equal those of the second. */ - export function le_s(a: v128, b: v128): v128; - /** Computes which 8-bit unsigned integer lanes of the first vector are less than or equal those of the second. */ - export function le_u(a: v128, b: v128): v128; - /** Computes which 8-bit signed integer lanes of the first vector are greater than those of the second. */ - export function gt_s(a: v128, b: v128): v128; - /** Computes which 8-bit unsigned integer lanes of the first vector are greater than those of the second. */ - export function gt_u(a: v128, b: v128): v128; - /** Computes which 8-bit signed integer lanes of the first vector are greater than or equal those of the second. */ - export function ge_s(a: v128, b: v128): v128; - /** Computes which 8-bit unsigned integer lanes of the first vector are greater than or equal those of the second. */ - export function ge_u(a: v128, b: v128): v128; - /** Narrows each 16-bit signed integer lane to 8-bit signed integer lanes. */ - export function narrow_i16x8_s(a: v128, b: v128): v128; - /** Narrows each 16-bit signed integer lane to 8-bit unsigned integer lanes. */ - export function narrow_i16x8_u(a: v128, b: v128): v128; - /** Selects 8-bit lanes from either vector according to the specified [0-15] respectively [16-31] lane indexes. */ - export function shuffle(a: v128, b: v128, l0: u8, l1: u8, l2: u8, l3: u8, l4: u8, l5: u8, l6: u8, l7: u8, l8: u8, l9: u8, l10: u8, l11: u8, l12: u8, l13: u8, l14: u8, l15: u8): v128; - /** Selects 8-bit lanes from the first vector according to the indexes [0-15] specified by the 8-bit lanes of the second vector. */ - export function swizzle(a: v128, s: v128): v128; - /** - * Selects 8-bit integer lanes from `a` using indices in `s`. Indices in the range [0-15] select the i-th element of - * `a`. - * - * Unlike {@link i8x16.swizzle}, the result of an out of bounds index is implementation-defined, depending on hardware - * capabilities: Either `0` or `a[s[i]%16]`. - */ - export function relaxed_swizzle(a: v128, s: v128): v128; - /** - * Selects 8-bit integer lanes from `a` or `b` based on masks in `m`. - * - * Behaves like {@link v128.bitselect} if masks in `m` do have all bits either set (result is `a[i]`) or unset (result - * is `b[i]`). Otherwise the result is implementation-defined, depending on hardware capabilities: If the most - * significant bit of `m` is set, the result is either `bitselect(a[i], b[i], mask)` or `a[i]`, otherwise the result - * is `b[i]`. - */ - export function relaxed_laneselect(a: v128, b: v128, m: v128): v128; -} -/** Initializes a 128-bit vector from eight 16-bit integer values. Arguments must be compile-time constants. */ -declare function i16x8(a: i16, b: i16, c: i16, d: i16, e: i16, f: i16, g: i16, h: i16): v128; -declare namespace i16x8 { - /** Creates a vector with eight identical 16-bit integer lanes. */ - export function splat(x: i16): v128; - /** Extracts one 16-bit integer lane as a signed scalar. */ - export function extract_lane_s(x: v128, idx: u8): i16; - /** Extracts one 16-bit integer lane as an unsigned scalar. */ - export function extract_lane_u(x: v128, idx: u8): u16; - /** Replaces one 16-bit integer lane. */ - export function replace_lane(x: v128, idx: u8, value: i16): v128; - /** Adds each 16-bit integer lane. */ - export function add(a: v128, b: v128): v128; - /** Subtracts each 16-bit integer lane. */ - export function sub(a: v128, b: v128): v128; - /** Multiplies each 16-bit integer lane. */ - export function mul(a: v128, b: v128): v128; - /** Computes the signed minimum of each 16-bit integer lane. */ - export function min_s(a: v128, b: v128): v128; - /** Computes the unsigned minimum of each 16-bit integer lane. */ - export function min_u(a: v128, b: v128): v128; - /** Computes the signed maximum of each 16-bit integer lane. */ - export function max_s(a: v128, b: v128): v128; - /** Computes the unsigned maximum of each 16-bit integer lane. */ - export function max_u(a: v128, b: v128): v128; - /** Computes the unsigned average of each 16-bit integer lane. */ - export function avgr_u(a: v128, b: v128): v128; - /** Computes the absolute value of each 16-bit integer lane. */ - export function abs(a: v128): v128; - /** Negates each 16-bit integer lane. */ - export function neg(a: v128): v128; - /** Adds each 16-bit integer lane using signed saturation. */ - export function add_sat_s(a: v128, b: v128): v128; - /** Adds each 16-bit integer lane using unsigned saturation. */ - export function add_sat_u(a: v128, b: v128): v128; - /** Subtracts each 16-bit integer lane using signed saturation. */ - export function sub_sat_s(a: v128, b: v128): v128; - /** Subtracts each 16-bit integer lane using unsigned saturation. */ - export function sub_sat_u(a: v128, b: v128): v128; - /** Performs a bitwise left shift on each 16-bit integer lane by a scalar. */ - export function shl(a: v128, b: i32): v128; - /** Performs a bitwise arithmetic right shift each 16-bit integer lane by a scalar. */ - export function shr_s(a: v128, b: i32): v128; - /** Performs a bitwise logical right shift on each 16-bit integer lane by a scalar. */ - export function shr_u(a: v128, b: i32): v128; - /** Reduces a vector to a scalar indicating whether all 16-bit integer lanes are considered `true`. */ - export function all_true(a: v128): bool; - /** Extracts the high bit of each 16-bit integer lane and produces a scalar mask with all bits concatenated. */ - export function bitmask(a: v128): i32; - /** Computes which 16-bit integer lanes are equal. */ - export function eq(a: v128, b: v128): v128; - /** Computes which 16-bit integer lanes are not equal. */ - export function ne(a: v128, b: v128): v128; - /** Computes which 16-bit signed integer lanes of the first vector are less than those of the second. */ - export function lt_s(a: v128, b: v128): v128; - /** Computes which 16-bit unsigned integer lanes of the first vector are less than those of the second. */ - export function lt_u(a: v128, b: v128): v128; - /** Computes which 16-bit signed integer lanes of the first vector are less than or equal those of the second. */ - export function le_s(a: v128, b: v128): v128; - /** Computes which 16-bit unsigned integer lanes of the first vector are less than or equal those of the second. */ - export function le_u(a: v128, b: v128): v128; - /** Computes which 16-bit signed integer lanes of the first vector are greater than those of the second. */ - export function gt_s(a: v128, b: v128): v128; - /** Computes which 16-bit unsigned integer lanes of the first vector are greater than those of the second. */ - export function gt_u(a: v128, b: v128): v128; - /** Computes which 16-bit signed integer lanes of the first vector are greater than or equal those of the second. */ - export function ge_s(a: v128, b: v128): v128; - /** Computes which 16-bit unsigned integer lanes of the first vector are greater than or equal those of the second. */ - export function ge_u(a: v128, b: v128): v128; - /** Narrows each 32-bit signed integer lane to 16-bit signed integer lanes. */ - export function narrow_i32x4_s(a: v128, b: v128): v128; - /** Narrows each 32-bit signed integer lane to 16-bit unsigned integer lanes. */ - export function narrow_i32x4_u(a: v128, b: v128): v128; - /** Extends the low 8-bit signed integer lanes to 16-bit signed integer lanes. */ - export function extend_low_i8x16_s(a: v128): v128; - /** Extends the low 8-bit unsigned integer lanes to 16-bit unsigned integer lanes. */ - export function extend_low_i8x16_u(a: v128): v128; - /** Extends the high 8-bit signed integer lanes to 16-bit signed integer lanes. */ - export function extend_high_i8x16_s(a: v128): v128; - /** Extends the high 8-bit unsigned integer lanes to 16-bit unsigned integer lanes. */ - export function extend_high_i8x16_u(a: v128): v128; - /** Adds the sixteen 8-bit signed integer lanes pairwise producing eight 16-bit signed integer results. */ - export function extadd_pairwise_i8x16_s(a: v128): v128; - /** Adds the sixteen 8-bit unsigned integer lanes pairwise producing eight 16-bit unsigned integer results. */ - export function extadd_pairwise_i8x16_u(a: v128): v128; - /** Performs the line-wise 16-bit signed integer saturating rounding multiplication in Q15 format. */ - export function q15mulr_sat_s(a: v128, b: v128): v128; - /** Performs the lane-wise 8-bit signed integer extended multiplication of the eight lower lanes producing twice wider 16-bit integer results. */ - export function extmul_low_i8x16_s(a: v128, b: v128): v128; - /** Performs the lane-wise 8-bit unsigned integer extended multiplication of the eight lower lanes producing twice wider 16-bit integer results. */ - export function extmul_low_i8x16_u(a: v128, b: v128): v128; - /** Performs the lane-wise 8-bit signed integer extended multiplication of the eight higher lanes producing twice wider 16-bit integer results. */ - export function extmul_high_i8x16_s(a: v128, b: v128): v128; - /** Performs the lane-wise 8-bit unsigned integer extended multiplication of the eight higher lanes producing twice wider 16-bit integer results. */ - export function extmul_high_i8x16_u(a: v128, b: v128): v128; - /** Selects 16-bit lanes from either vector according to the specified [0-7] respectively [8-15] lane indexes. */ - export function shuffle(a: v128, b: v128, l0: u8, l1: u8, l2: u8, l3: u8, l4: u8, l5: u8, l6: u8, l7: u8): v128; - /** - * Selects 16-bit integer lanes from `a` or `b` based on masks in `m`. - * - * Behaves like {@link v128.bitselect} if masks in `m` do have all bits either set (result is `a[i]`) or unset (result - * is `b[i]`). Otherwise the result is implementation-defined, depending on hardware capabilities: If the most - * significant bit of `m` is set, the result is either `bitselect(a[i], b[i], mask)` or `a[i]`, otherwise the result - * is `b[i]`. - */ - export function relaxed_laneselect(a: v128, b: v128, m: v128): v128; - /** - * Performs the line-wise rounding multiplication in Q15 format (`(a[i] * b[i] + (1 << (Q - 1))) >> Q` where `Q=15`). - * - * Some results are implementation-defined: If both inputs are `i16.MIN_VALUE`, the value of the respective - * resulting lane may be either `i16.MIN_VALUE` or `i16.MAX_VALUE`. - */ - export function relaxed_q15mulr_s(a: v128, b: v128): v128; - /** - * Computes the dot product of two 8-bit integer lanes each, yielding lanes one size wider than the input. - * - * Some results are implementation-defined: If the most significant bit of `b[i]` is set, the intermediate - * multiplication may interpret `b[i]` as either signed or unsigned. - */ - export function relaxed_dot_i8x16_i7x16_s(a: v128, b: v128): v128; -} -/** Initializes a 128-bit vector from four 32-bit integer values. Arguments must be compile-time constants. */ -declare function i32x4(a: i32, b: i32, c: i32, d: i32): v128; -declare namespace i32x4 { - /** Creates a vector with four identical 32-bit integer lanes. */ - export function splat(x: i32): v128; - /** Extracts one 32-bit integer lane as a scalar. */ - export function extract_lane(x: v128, idx: u8): i32; - /** Replaces one 32-bit integer lane. */ - export function replace_lane(x: v128, idx: u8, value: i32): v128; - /** Adds each 32-bit integer lane. */ - export function add(a: v128, b: v128): v128; - /** Subtracts each 32-bit integer lane. */ - export function sub(a: v128, b: v128): v128; - /** Multiplies each 32-bit integer lane. */ - export function mul(a: v128, b: v128): v128; - /** Computes the signed minimum of each 32-bit integer lane. */ - export function min_s(a: v128, b: v128): v128; - /** Computes the unsigned minimum of each 32-bit integer lane. */ - export function min_u(a: v128, b: v128): v128; - /** Computes the signed maximum of each 32-bit integer lane. */ - export function max_s(a: v128, b: v128): v128; - /** Computes the unsigned maximum of each 32-bit integer lane. */ - export function max_u(a: v128, b: v128): v128; - /** Computes the dot product of two 16-bit integer lanes each, yielding 32-bit integer lanes. */ - export function dot_i16x8_s(a: v128, b: v128): v128; - /** Computes the absolute value of each 32-bit integer lane. */ - export function abs(a: v128): v128; - /** Negates each 32-bit integer lane. */ - export function neg(a: v128): v128; - /** Performs a bitwise left shift on each 32-bit integer lane by a scalar. */ - export function shl(a: v128, b: i32): v128; - /** Performs a bitwise arithmetic right shift on each 32-bit integer lane by a scalar. */ - export function shr_s(a: v128, b: i32): v128; - /** Performs a bitwise logical right shift on each 32-bit integer lane by a scalar. */ - export function shr_u(a: v128, b: i32): v128; - /** Reduces a vector to a scalar indicating whether all 32-bit integer lanes are considered `true`. */ - export function all_true(a: v128): bool; - /** Extracts the high bit of each 32-bit integer lane and produces a scalar mask with all bits concatenated. */ - export function bitmask(a: v128): i32; - /** Computes which 32-bit integer lanes are equal. */ - export function eq(a: v128, b: v128): v128; - /** Computes which 32-bit integer lanes are not equal. */ - export function ne(a: v128, b: v128): v128; - /** Computes which 32-bit signed integer lanes of the first vector are less than those of the second. */ - export function lt_s(a: v128, b: v128): v128; - /** Computes which 32-bit unsigned integer lanes of the first vector are less than those of the second. */ - export function lt_u(a: v128, b: v128): v128; - /** Computes which 32-bit signed integer lanes of the first vector are less than or equal those of the second. */ - export function le_s(a: v128, b: v128): v128; - /** Computes which 32-bit unsigned integer lanes of the first vector are less than or equal those of the second. */ - export function le_u(a: v128, b: v128): v128; - /** Computes which 32-bit signed integer lanes of the first vector are greater than those of the second. */ - export function gt_s(a: v128, b: v128): v128; - /** Computes which 32-bit unsigned integer lanes of the first vector are greater than those of the second. */ - export function gt_u(a: v128, b: v128): v128; - /** Computes which 32-bit signed integer lanes of the first vector are greater than or equal those of the second. */ - export function ge_s(a: v128, b: v128): v128; - /** Computes which 32-bit unsigned integer lanes of the first vector are greater than or equal those of the second. */ - export function ge_u(a: v128, b: v128): v128; - /** Truncates each 32-bit float lane to a signed integer with saturation. */ - export function trunc_sat_f32x4_s(a: v128): v128; - /** Truncates each 32-bit float lane to an unsigned integer with saturation. */ - export function trunc_sat_f32x4_u(a: v128): v128; - /** Truncates the two 64-bit float lanes to the two lower signed integer lanes with saturation. The two higher integer lanes of the result are initialized to zero. */ - export function trunc_sat_f64x2_s_zero(a: v128): v128; - /** Truncates the two 64-bit float lanes to the two lower unsigned integer lanes with saturation. The two higher integer lanes of the result are initialized to zero. */ - export function trunc_sat_f64x2_u_zero(a: v128): v128; - /** Extends the low 16-bit signed integer lanes to 32-bit signed integer lanes. */ - export function extend_low_i16x8_s(a: v128): v128; - /** Extends the low 16-bit unsigned integer lane to 32-bit unsigned integer lanes. */ - export function extend_low_i16x8_u(a: v128): v128; - /** Extends the high 16-bit signed integer lanes to 32-bit signed integer lanes. */ - export function extend_high_i16x8_s(a: v128): v128; - /** Extends the high 16-bit unsigned integer lanes to 32-bit unsigned integer lanes. */ - export function extend_high_i16x8_u(a: v128): v128; - /** Adds the eight 16-bit signed integer lanes pairwise producing four 32-bit signed integer results. */ - export function extadd_pairwise_i16x8_s(a: v128): v128; - /** Adds the eight 16-bit unsigned integer lanes pairwise producing four 32-bit unsigned integer results. */ - export function extadd_pairwise_i16x8_u(a: v128): v128; - /** Performs the lane-wise 16-bit signed integer extended multiplication of the four lower lanes producing twice wider 32-bit integer results. */ - export function extmul_low_i16x8_s(a: v128, b: v128): v128; - /** Performs the lane-wise 16-bit unsigned integer extended multiplication of the four lower lanes producing twice wider 32-bit integer results. */ - export function extmul_low_i16x8_u(a: v128, b: v128): v128; - /** Performs the lane-wise 16-bit signed integer extended multiplication of the four higher lanes producing twice wider 32-bit integer results. */ - export function extmul_high_i16x8_s(a: v128, b: v128): v128; - /** Performs the lane-wise 16-bit unsigned integer extended multiplication of the four higher lanes producing twice wider 32-bit integer results. */ - export function extmul_high_i16x8_u(a: v128, b: v128): v128; - /** Selects 32-bit lanes from either vector according to the specified [0-3] respectively [4-7] lane indexes. */ - export function shuffle(a: v128, b: v128, l0: u8, l1: u8, l2: u8, l3: u8): v128; - /** - * Truncates each lane of a vector from 32-bit floating point to a signed 32-bit integer. - * - * Unlike {@link i32x4.trunc_sat_f32x4_s}, the result of lanes out of bounds of the target type is implementation - * defined, depending on hardware capabilities: - * - If the input lane contains `NaN`, the result is either `0` or the respective maximum integer value. - * - If the input lane contains a value otherwise out of bounds of the target type, the result is either the - * saturatated result or maximum integer value. - */ - export function relaxed_trunc_f32x4_s(a: v128): v128; - /** - * Truncates each lane of a vector from 32-bit floating point to an unsigned 32-bit integer. - * - * Unlike {@link i32x4.trunc_sat_f32x4_u}, the result of lanes out of bounds of the target type is implementation - * defined, depending on hardware capabilities: - * - If the input lane contains `NaN`, the result is either `0` or the respective maximum integer value. - * - If the input lane contains a value otherwise out of bounds of the target type, the result is either the - * saturatated result or maximum integer value. - */ - export function relaxed_trunc_f32x4_u(a: v128): v128; - /** - * Truncates each lane of a vector from 64-bit floating point to a signed 32-bit integer. The two higher - * integer lanes of the result are initialized to zero. - * - * Unlike {@link i32x4.trunc_sat_f64x2_s_zero}, the result of lanes out of bounds of the target type is implementation - * defined, depending on hardware capabilities: - * - If the input lane contains `NaN`, the result is either `0` or the respective maximum integer value. - * - If the input lane contains a value otherwise out of bounds of the target type, the result is either the - * saturatated result or maximum integer value. - */ - export function relaxed_trunc_f64x2_s_zero(a: v128): v128; - /** - * Truncates each lane of a vector from 64-bit floating point to an unsigned 32-bit integer. The two higher - * integer lanes of the result are initialized to zero. - * - * Unlike {@link i32x4.trunc_sat_f64x2_u_zero}, the result of lanes out of bounds of the target type is implementation - * defined, depending on hardware capabilities: - * - If the input lane contains `NaN`, the result is either `0` or the respective maximum integer value. - * - If the input lane contains a value otherwise out of bounds of the target type, the result is either the - * saturatated result or maximum integer value. - */ - export function relaxed_trunc_f64x2_u_zero(a: v128): v128; - /** - * Selects 32-bit integer lanes from `a` or `b` based on masks in `m`. - * - * Behaves like {@link v128.bitselect} if masks in `m` do have all bits either set (result is `a[i]`) or unset (result - * is `b[i]`). Otherwise the result is implementation-defined, depending on hardware capabilities: If the most - * significant bit of `m` is set, the result is either `bitselect(a[i], b[i], mask)` or `a[i]`, otherwise the result - * is `b[i]`. - */ - export function relaxed_laneselect(a: v128, b: v128, m: v128): v128; - /** - * Computes the dot product of two 8-bit lanes each, yielding lanes two sizes wider than the input with the lanes of - * `c` accumulated into the result. - * - * Unlike {@link v128.dot}, if the most significant bit of `b[i]` is set, whether `b[i]` is interpreted as signed or - * unsigned by the intermediate multiplication is implementation-defined. - */ - export function relaxed_dot_i8x16_i7x16_add_s(a: v128, b: v128, c: v128): v128; -} -/** Initializes a 128-bit vector from two 64-bit integer values. Arguments must be compile-time constants. */ -declare function i64x2(a: i64, b: i64): v128; -declare namespace i64x2 { - /** Creates a vector with two identical 64-bit integer lanes. */ - export function splat(x: i64): v128; - /** Extracts one 64-bit integer lane as a scalar. */ - export function extract_lane(x: v128, idx: u8): i64; - /** Replaces one 64-bit integer lane. */ - export function replace_lane(x: v128, idx: u8, value: i64): v128; - /** Adds each 64-bit integer lane. */ - export function add(a: v128, b: v128): v128; - /** Subtracts each 64-bit integer lane. */ - export function sub(a: v128, b: v128): v128; - /** Multiplies each 64-bit integer lane. */ - export function mul(a: v128, b: v128): v128; - /** Computes the absolute value of each 64-bit integer lane. */ - export function abs(a: v128): v128; - /** Negates each 64-bit integer lane. */ - export function neg(a: v128): v128; - /** Performs a bitwise left shift on each 64-bit integer lane by a scalar. */ - export function shl(a: v128, b: i32): v128; - /** Performs a bitwise arithmetic right shift on each 64-bit integer lane by a scalar. */ - export function shr_s(a: v128, b: i32): v128; - /** Performs a bitwise logical right shift on each 64-bit integer lane by a scalar. */ - export function shr_u(a: v128, b: i32): v128; - /** Reduces a vector to a scalar indicating whether all 64-bit integer lanes are considered `true`. */ - export function all_true(a: v128): bool; - /** Extracts the high bit of each 64-bit integer lane and produces a scalar mask with all bits concatenated. */ - export function bitmask(a: v128): i32; - /** Computes which 64-bit integer lanes are equal. */ - export function eq(a: v128, b: v128): v128; - /** Computes which 64-bit integer lanes are not equal. */ - export function ne(a: v128, b: v128): v128; - /** Computes which 64-bit signed integer lanes of the first vector are less than those of the second. */ - export function lt_s(a: v128, b: v128): v128; - /** Computes which 64-bit signed integer lanes of the first vector are less than or equal those of the second. */ - export function le_s(a: v128, b: v128): v128; - /** Computes which 64-bit signed integer lanes of the first vector are greater than those of the second. */ - export function gt_s(a: v128, b: v128): v128; - /** Computes which 64-bit signed integer lanes of the first vector are greater than or equal those of the second. */ - export function ge_s(a: v128, b: v128): v128; - /** Extends the low 32-bit signed integer lanes to 64-bit signed integer lanes. */ - export function extend_low_i32x4_s(a: v128): v128; - /** Extends the low 32-bit unsigned integer lane to 64-bit unsigned integer lanes. */ - export function extend_low_i32x4_u(a: v128): v128; - /** Extends the high 32-bit signed integer lanes to 64-bit signed integer lanes. */ - export function extend_high_i32x4_s(a: v128): v128; - /** Extends the high 32-bit unsigned integer lanes to 64-bit unsigned integer lanes. */ - export function extend_high_i32x4_u(a: v128): v128; - /** Performs the lane-wise 32-bit signed integer extended multiplication of the two lower lanes producing twice wider 64-bit integer results. */ - export function extmul_low_i32x4_s(a: v128, b: v128): v128; - /** Performs the lane-wise 32-bit unsigned integer extended multiplication of the two lower lanes producing twice wider 64-bit integer results. */ - export function extmul_low_i32x4_u(a: v128, b: v128): v128; - /** Performs the lane-wise 32-bit signed integer extended multiplication of the two higher lanes producing twice wider 64-bit integer results. */ - export function extmul_high_i32x4_s(a: v128, b: v128): v128; - /** Performs the lane-wise 32-bit unsigned integer extended multiplication of the two higher lanes producing twice wider 64-bit integer results. */ - export function extmul_high_i32x4_u(a: v128, b: v128): v128; - /** Selects 64-bit lanes from either vector according to the specified [0-1] respectively [2-3] lane indexes. */ - export function shuffle(a: v128, b: v128, l0: u8, l1: u8): v128; - /** - * Selects 64-bit integer lanes from `a` or `b` based on masks in `m`. - * - * Behaves like {@link v128.bitselect} if masks in `m` do have all bits either set (result is `a[i]`) or unset (result - * is `b[i]`). Otherwise the result is implementation-defined, depending on hardware capabilities: If the most - * significant bit of `m` is set, the result is either `bitselect(a[i], b[i], mask)` or `a[i]`, otherwise the result - * is `b[i]`. - */ - export function relaxed_laneselect(a: v128, b: v128, m: v128): v128; -} -/** Initializes a 128-bit vector from four 32-bit float values. Arguments must be compile-time constants. */ -declare function f32x4(a: f32, b: f32, c: f32, d: f32): v128; -declare namespace f32x4 { - /** Creates a vector with four identical 32-bit float lanes. */ - export function splat(x: f32): v128; - /** Extracts one 32-bit float lane as a scalar. */ - export function extract_lane(x: v128, idx: u8): f32; - /** Replaces one 32-bit float lane. */ - export function replace_lane(x: v128, idx: u8, value: f32): v128; - /** Adds each 32-bit float lane. */ - export function add(a: v128, b: v128): v128; - /** Subtracts each 32-bit float lane. */ - export function sub(a: v128, b: v128): v128; - /** Multiplies each 32-bit float lane. */ - export function mul(a: v128, b: v128): v128; - /** Divides each 32-bit float lane. */ - export function div(a: v128, b: v128): v128; - /** Negates each 32-bit float lane. */ - export function neg(a: v128): v128; - /** Computes the minimum of each 32-bit float lane. */ - export function min(a: v128, b: v128): v128; - /** Computes the maximum of each 32-bit float lane. */ - export function max(a: v128, b: v128): v128; - /** Computes the pseudo-minimum of each 32-bit float lane. */ - export function pmin(a: v128, b: v128): v128; - /** Computes the pseudo-maximum of each 32-bit float lane. */ - export function pmax(a: v128, b: v128): v128; - /** Computes the absolute value of each 32-bit float lane. */ - export function abs(a: v128): v128; - /** Computes the square root of each 32-bit float lane. */ - export function sqrt(a: v128): v128; - /** Performs the ceiling operation on each 32-bit float lane. */ - export function ceil(a: v128): v128; - /** Performs the floor operation on each each 32-bit float lane. */ - export function floor(a: v128): v128; - /** Rounds to the nearest integer towards zero of each 32-bit float lane. */ - export function trunc(a: v128): v128; - /** Rounds to the nearest integer tied to even of each 32-bit float lane. */ - export function nearest(a: v128): v128; - /** Computes which 32-bit float lanes are equal. */ - export function eq(a: v128, b: v128): v128; - /** Computes which 32-bit float lanes are not equal. */ - export function ne(a: v128, b: v128): v128; - /** Computes which 32-bit float lanes of the first vector are less than those of the second. */ - export function lt(a: v128, b: v128): v128; - /** Computes which 32-bit float lanes of the first vector are less than or equal those of the second. */ - export function le(a: v128, b: v128): v128; - /** Computes which 32-bit float lanes of the first vector are greater than those of the second. */ - export function gt(a: v128, b: v128): v128; - /** Computes which 32-bit float lanes of the first vector are greater than or equal those of the second. */ - export function ge(a: v128, b: v128): v128; - /** Converts each 32-bit signed integer lane of a vector to single-precision floating point. */ - export function convert_i32x4_s(a: v128): v128; - /** Converts each 32-bit unsigned integer lane of a vector to single-precision floating point. */ - export function convert_i32x4_u(a: v128): v128; - /** Demotes each 64-bit float lane of a vector to single-precision. The higher lanes of the result are initialized to zero. */ - export function demote_f64x2_zero(a: v128): v128; - /** Selects 32-bit lanes from either vector according to the specified [0-3] respectively [4-7] lane indexes. */ - export function shuffle(a: v128, b: v128, l0: u8, l1: u8, l2: u8, l3: u8): v128; - /** - * Performs the fused multiply-add operation (`a * b + c`) on all 32-bit floating point lanes. - * - * The result is implementation defined, depending on hardware capabilities: - * - Either `a * b` is rounded once and the final result rounded again, or - * - The expression is evaluated with higher precision and only rounded once - */ - export function relaxed_madd(a: v128, b: v128, c: v128): v128; - /** - * Performs the fused negative multiply-add operation (`-(a * b) + c`) on all 32-bit floating point lanes. - * - * The result is implementation defined, depending on hardware capabilities: - * - Either `a * b` is rounded once and the final result rounded again, or - * - The expression is evaluated with higher precision and only rounded once - */ - export function relaxed_nmadd(a: v128, b: v128, c: v128): v128; - /** - * Computes the minimum of each 32-bit floating point lane. - * - * Unlike {@link f32x4.min}, the result is implementation-defined if either value is `NaN`, `-0.0` or `+0.0`, - * depending on hardware capabilities: Either `a[i]` or `b[i]`. - */ - export function relaxed_min(a: v128, b: v128): v128; - /** - * Computes the maximum of each 32-bit floating point lane. - * - * Unlike {@link f32x4.max}, the result is implementation-defined if either value is `NaN`, `-0.0` or `+0.0`, - * depending on hardware capabilities: Either `a[i]` or `b[i]`. - */ - export function relaxed_max(a: v128, b: v128): v128; -} -/** Initializes a 128-bit vector from two 64-bit float values. Arguments must be compile-time constants. */ -declare function f64x2(a: f64, b: f64): v128; -declare namespace f64x2 { - /** Creates a vector with two identical 64-bit float lanes. */ - export function splat(x: f64): v128; - /** Extracts one 64-bit float lane as a scalar. */ - export function extract_lane(x: v128, idx: u8): f64; - /** Replaces one 64-bit float lane. */ - export function replace_lane(x: v128, idx: u8, value: f64): v128; - /** Adds each 64-bit float lane. */ - export function add(a: v128, b: v128): v128; - /** Subtracts each 64-bit float lane. */ - export function sub(a: v128, b: v128): v128; - /** Multiplies each 64-bit float lane. */ - export function mul(a: v128, b: v128): v128; - /** Divides each 64-bit float lane. */ - export function div(a: v128, b: v128): v128; - /** Negates each 64-bit float lane. */ - export function neg(a: v128): v128; - /** Computes the minimum of each 64-bit float lane. */ - export function min(a: v128, b: v128): v128; - /** Computes the maximum of each 64-bit float lane. */ - export function max(a: v128, b: v128): v128; - /** Computes the pseudo-minimum of each 64-bit float lane. */ - export function pmin(a: v128, b: v128): v128; - /** Computes the pseudo-maximum of each 64-bit float lane. */ - export function pmax(a: v128, b: v128): v128; - /** Computes the absolute value of each 64-bit float lane. */ - export function abs(a: v128): v128; - /** Computes the square root of each 64-bit float lane. */ - export function sqrt(a: v128): v128; - /** Performs the ceiling operation on each 64-bit float lane. */ - export function ceil(a: v128): v128; - /** Performs the floor operation on each each 64-bit float lane. */ - export function floor(a: v128): v128; - /** Rounds to the nearest integer towards zero of each 64-bit float lane. */ - export function trunc(a: v128): v128; - /** Rounds to the nearest integer tied to even of each 64-bit float lane. */ - export function nearest(a: v128): v128; - /** Computes which 64-bit float lanes are equal. */ - export function eq(a: v128, b: v128): v128; - /** Computes which 64-bit float lanes are not equal. */ - export function ne(a: v128, b: v128): v128; - /** Computes which 64-bit float lanes of the first vector are less than those of the second. */ - export function lt(a: v128, b: v128): v128; - /** Computes which 64-bit float lanes of the first vector are less than or equal those of the second. */ - export function le(a: v128, b: v128): v128; - /** Computes which 64-bit float lanes of the first vector are greater than those of the second. */ - export function gt(a: v128, b: v128): v128; - /** Computes which 64-bit float lanes of the first vector are greater than or equal those of the second. */ - export function ge(a: v128, b: v128): v128; - /** Converts the low 32-bit signed integer lanes of a vector to double-precision floating point. */ - export function convert_low_i32x4_s(a: v128): v128; - /** Converts the low 32-bit unsigned integer lanes of a vector to double-precision floating point. */ - export function convert_low_i32x4_u(a: v128): v128; - /** Promotes the low 32-bit float lanes of a vector to double-precision. */ - export function promote_low_f32x4(a: v128): v128; - /** Selects 64-bit lanes from either vector according to the specified [0-1] respectively [2-3] lane indexes. */ - export function shuffle(a: v128, b: v128, l0: u8, l1: u8): v128; - /** - * Performs the fused multiply-add operation (`a * b + c`) on all 64-bit floating point lanes. - * - * The result is implementation defined, depending on hardware capabilities: - * - Either `a * b` is rounded once and the final result rounded again, or - * - The expression is evaluated with higher precision and only rounded once - */ - export function relaxed_madd(a: v128, b: v128, c: v128): v128; - /** - * Performs the fused negative multiply-add operation (`-(a * b) + c`) on all 64-bit floating point lanes. - * - * The result is implementation defined, depending on hardware capabilities: - * - Either `a * b` is rounded once and the final result rounded again, or - * - The expression is evaluated with higher precision and only rounded once - */ - export function relaxed_nmadd(a: v128, b: v128, c: v128): v128; - /** - * Computes the minimum of each 64-bit floating point lane. - * - * Unlike {@link f64x2.min}, the result is implementation-defined if either value is `NaN`, `-0.0` or `+0.0`, - * depending on hardware capabilities: Either `a[i]` or `b[i]`. - */ - export function relaxed_min(a: v128, b: v128): v128; - /** - * Computes the maximum of each 64-bit floating point lane. - * - * Unlike {@link f64x2.max}, the result is implementation-defined if either value is `NaN`, `-0.0` or `+0.0`, - * depending on hardware capabilities: Either `a[i]` or `b[i]`. - */ - export function relaxed_max(a: v128, b: v128): v128; -} - -declare abstract class i31 { - /** Creates a new 31-bit integer reference from the specified integer value. */ - static new(value: i32): ref_i31; - /** Gets the integer value of an 31-bit integer reference. */ - static get(i31expr: ref_i31 | null): i32; -} - -/** Macro type evaluating to the underlying native WebAssembly type. */ -declare type native = T; -/** Special type evaluating the indexed access index type. */ -declare type indexof> = keyof T; -/** Special type evaluating the indexed access value type. */ -declare type valueof> = T[0]; -/** A special type evaluated to the return type of T if T is a callable function. */ -declare type ReturnType any> = T extends (...args: any) => infer R ? R : any; -/** A special type evaluated to the return type of T if T is a callable function. */ -declare type returnof any> = ReturnType; -/** A special type that excludes null and undefined from T. */ -declare type NonNullable = T extends null | undefined ? never : T; -/** A special type that excludes null and undefined from T. */ -declare type nonnull = NonNullable; - -/** Pseudo-class representing the backing class of integer types. */ -/** @internal */ -declare class _Integer { - /** Smallest representable value. */ - static readonly MIN_VALUE: number; - /** Largest representable value. */ - static readonly MAX_VALUE: number; - /** @deprecated Converts a string to an integer of this type. Please use "i32.parse" method. */ - static parseInt(value: string, radix?: number): number; - /** Converts this integer to a string. */ - toString(radix?: number): string; -} - -/** Pseudo-class representing the backing class of floating-point types. */ -/** @internal */ -declare class _Float { - /** Difference between 1 and the smallest representable value greater than 1. */ - static readonly EPSILON: f32 | f64; - /** Smallest representable value. */ - static readonly MIN_VALUE: f32 | f64; - /** Largest representable value. */ - static readonly MAX_VALUE: f32 | f64; - /** Smallest safely representable integer value. */ - static readonly MIN_SAFE_INTEGER: f32 | f64; - /** Largest safely representable integer value. */ - static readonly MAX_SAFE_INTEGER: f32 | f64; - /** Value representing positive infinity. */ - static readonly POSITIVE_INFINITY: f32 | f64; - /** Value representing negative infinity. */ - static readonly NEGATIVE_INFINITY: f32 | f64; - /** Value representing 'not a number'. */ - static readonly NaN: f32 | f64; - /** Returns a boolean value that indicates whether a value is the reserved value NaN (not a number). */ - static isNaN(value: f32 | f64): bool; - /** Returns true if passed value is finite. */ - static isFinite(value: f32 | f64): bool; - /** Returns true if the value passed is a safe integer. */ - static isSafeInteger(value: f32 | f64): bool; - /** Returns true if the value passed is an integer, false otherwise. */ - static isInteger(value: f32 | f64): bool; - /** @deprecated Converts a string to an integer. Please use "i32.parse" / "i64.parse" methods. */ - static parseInt(value: string, radix?: i32): f32 | f64; - /** @deprecated Converts a string to a floating-point number. Please use "f32.parse" / "f64.parse" methods. */ - static parseFloat(value: string): f32 | f64; - /** Converts this floating-point number to a string. */ - toString(radix?: number): string; -} - -declare class Boolean { - toString(radix?: number): string; -} - -/** Backing class of signed 8-bit integers. */ -declare const I8: typeof _Integer; -/** Backing class of signed 16-bit integers. */ -declare const I16: typeof _Integer; -/** Backing class of signed 32-bit integers. */ -declare const I32: typeof _Integer; -/** Backing class of signed 64-bit integers. */ -declare const I64: typeof _Integer; -/** Backing class of signed size integers. */ -declare const Isize: typeof _Integer; -/** Backing class of unsigned 8-bit integers. */ -declare const U8: typeof _Integer; -/** Backing class of unsigned 16-bit integers. */ -declare const U16: typeof _Integer; -/** Backing class of unsigned 32-bit integers. */ -declare const U32: typeof _Integer; -/** Backing class of unsigned 64-bit integers. */ -declare const U64: typeof _Integer; -/** Backing class of unsigned size integers. */ -declare const Usize: typeof _Integer; -/** Backing class of 32-bit floating-point values. */ -declare const F32: typeof _Float; -/** Backing class of 64-bit floating-point values. */ -declare const F64: typeof _Float; -/** Alias of F64. */ -declare const Number: typeof F64; -declare type Number = _Float; - -// User-defined diagnostic macros - -/** Emits a user-defined diagnostic error when encountered. */ -declare function ERROR(message?: any): never; -/** Emits a user-defined diagnostic warning when encountered. */ -declare function WARNING(message?: any): void; -/** Emits a user-defined diagnostic info when encountered. */ -declare function INFO(message?: any): void; - -// Standard library - -/** Memory operations. */ -declare namespace memory { - /** Whether the memory managed interface is implemented. */ - export const implemented: bool; - /** Returns the current memory size in units of pages. One page is 64kb. */ - export function size(): i32; - /** Grows linear memory by a given unsigned delta of pages. One page is 64kb. Returns the previous memory size in units of pages or `-1` on failure. */ - export function grow(value: i32): i32; - /** Sets n bytes beginning at the specified destination in memory to the specified byte value. */ - export function fill(dst: usize, value: u8, count: usize): void; - /** Copies n bytes from the specified source to the specified destination in memory. These regions may overlap. */ - export function copy(dst: usize, src: usize, n: usize): void; - /** Repeats `src` of length `srcLength` `count` times at `dst`. */ - export function repeat(dst: usize, src: usize, srcLength: usize, count: usize): void; - /** Copies elements from a passive element segment to a table. */ - export function init(segmentIndex: u32, srcOffset: usize, dstOffset: usize, n: usize): void; - /** Prevents further use of a passive element segment. */ - export function drop(segmentIndex: u32): void; - /** Compares two chunks of memory. Returns `0` if equal, otherwise the difference of the first differing bytes. */ - export function compare(vl: usize, vr: usize, n: usize): i32; - /** Gets a pointer to a zeroed static chunk of memory of the given size. Alignment defaults to `16`. Arguments must be compile-time constants. */ - export function data(size: i32, align?: i32): usize; - /** Gets a pointer to a pre-initialized static chunk of memory. Alignment defaults to the size of `T`. Arguments must be compile-time constants. */ - export function data(values: T[], align?: i32): usize; - - export namespace atomic { - /** Performs a wait operation on a 32-bit integer value in memory suspending this agent if the condition is met. */ - export function wait32(ptr: usize, expected: i32, timeout?: i64): AtomicWaitResult; - /** Performs a wait operation on a 64-bit integer value in memory suspending this agent if the condition is met. */ - export function wait64(ptr: usize, expected: i64, timeout?: i64): AtomicWaitResult; - } -} - -/** Heap memory interface. */ -declare namespace heap { - /** Allocates a chunk of memory of at least the specified size. */ - export function alloc(size: usize): usize; - /** Reallocates a chunk of memory to have at least the specified size. */ - export function realloc(ptr: usize, size: usize): usize; - /** Frees a chunk of memory. Does hardly anything (most recent block only) with the stub/none runtime. */ - export function free(ptr: usize): void; -} - -/** Table operations. */ -declare namespace table { - /** Copies elements from a passive element segment to a table. */ - export function init(elementIndex: u32, srcOffset: u32, dstOffset: u32, n: u32): void; - /** Prevents further use of a passive element segment. */ - export function drop(elementIndex: u32): void; - /** Copies elements from one region of a table to another region. */ - export function copy(dest: u32, src: u32, n: u32): void; -} - -declare namespace Atomics { - export function load(array: TypedArray, index: i32): T; - export function store(array: TypedArray, index: i32, value: T): void; - export function add(array: TypedArray, index: i32, value: T): T; - export function sub(array: TypedArray, index: i32, value: T): T; - export function and(array: TypedArray, index: i32, value: T): T; - export function or(array: TypedArray, index: i32, value: T): T; - export function xor(array: TypedArray, index: i32, value: T): T; - export function exchange(array: TypedArray, index: i32, value: T): T; - export function compareExchange(array: TypedArray, index: i32, expectedValue: T, replacementValue: T): T; - export function wait(array: TypedArray, value: T, timeout?: i64): AtomicWaitResult; - export function notify(array: TypedArray, index: i32, count?: i32): i32; - /** The static Atomics.isLockFree() method is used to determine whether to use locks or atomic operations. It returns true, if the given size is one of the BYTES_PER_ELEMENT */ - export function isLockFree(size: usize): bool; -} - -/** Class representing a generic, fixed-length raw binary data buffer. */ -declare class ArrayBuffer { - /** The size, in bytes, of the array. */ - readonly byteLength: i32; - /** Returns true if value is one of the ArrayBuffer views, such as typed array or a DataView **/ - static isView(value: T): bool; - /** Constructs a new array buffer of the given length in bytes. */ - constructor(length: i32); - /** Returns a copy of this array buffer's bytes from begin, inclusive, up to end, exclusive. */ - slice(begin?: i32, end?: i32): ArrayBuffer; - /** Returns a string representation of ArrayBuffer. */ - toString(): string; -} - -/** The `DataView` view provides a low-level interface for reading and writing multiple number types in a binary `ArrayBuffer`, without having to care about the platform's endianness. */ -declare class DataView { - /** The `buffer` accessor property represents the `ArrayBuffer` or `SharedArrayBuffer` referenced by the `DataView` at construction time. */ - readonly buffer: ArrayBuffer; - /** Returns raw pointer to data storage including offset (unsafe). */ - readonly dataStart: usize; - /** The `byteLength` accessor property represents the length (in bytes) of this view from the start of its `ArrayBuffer` or `SharedArrayBuffer`. */ - readonly byteLength: i32; - /** The `byteOffset` accessor property represents the offset (in bytes) of this view from the start of its `ArrayBuffer` or `SharedArrayBuffer`. */ - readonly byteOffset: i32; - /** Constructs a new `DataView` with the given properties */ - constructor(buffer: ArrayBuffer, byteOffset?: i32, byteLength?: i32); - /** The `getFloat32()` method gets a signed 32-bit float (float) at the specified byte offset from the start of the `DataView`. */ - getFloat32(byteOffset: i32, littleEndian?: bool): f32; - /** The `getFloat64()` method gets a signed 64-bit float (double) at the specified byte offset from the start of the `DataView`. */ - getFloat64(byteOffset: i32, littleEndian?: bool): f64; - /** The `getInt8()` method gets a signed 8-bit integer (byte) at the specified byte offset from the start of the `DataView`. */ - getInt8(byteOffset: i32): i8; - /** The `getInt16()` method gets a signed 16-bit integer (short) at the specified byte offset from the start of the `DataView`. */ - getInt16(byteOffset: i32, littleEndian?: bool): i16; - /** The `getInt32()` method gets a signed 32-bit integer (long) at the specified byte offset from the start of the `DataView`. */ - getInt32(byteOffset: i32, littleEndian?: bool): i32; - /** The `getInt64()` method gets a signed 64-bit integer (long long) at the specified byte offset from the start of the `DataView`. */ - getInt64(byteOffset: i32, littleEndian?: bool): i64; - /** The `getUint8()` method gets an unsigned 8-bit integer (unsigned byte) at the specified byte offset from the start of the `DataView`. */ - getUint8(byteOffset: i32): u8; - /** The `getUint16()` method gets an unsigned 16-bit integer (unsigned short) at the specified byte offset from the start of the `DataView`. */ - getUint16(byteOffset: i32, littleEndian?: bool): u16; - /** The `getUint32()` method gets an unsigned 32-bit integer (unsigned long) at the specified byte offset from the start of the `DataView`. */ - getUint32(byteOffset: i32, littleEndian?: bool): u32; - /** The `getUint64()` method gets an unsigned 64-bit integer (unsigned long long) at the specified byte offset from the start of the `DataView`. */ - getUint64(byteOffset: i32, littleEndian?: bool): u64; - /** The `setFloat32()` method stores a signed 32-bit float (float) value at the specified byte offset from the start of the `DataView`. */ - setFloat32(byteOffset: i32, value: f32, littleEndian?: bool): void; - /** The `setFloat64()` method stores a signed 64-bit float (double) value at the specified byte offset from the start of the `DataView`. */ - setFloat64(byteOffset: i32, value: f64, littleEndian?: bool): void; - /** The `setInt8()` method stores a signed 8-bit integer (byte) value at the specified byte offset from the start of the `DataView`. */ - setInt8(byteOffset: i32, value: i8): void; - /** The `setInt16()` method stores a signed 16-bit integer (short) value at the specified byte offset from the start of the `DataView`. */ - setInt16(byteOffset: i32, value: i16, littleEndian?: bool): void; - /** The `setInt32()` method stores a signed 32-bit integer (long) value at the specified byte offset from the start of the `DataView`. */ - setInt32(byteOffset: i32, value: i32, littleEndian?: bool): void; - /** The `setInt64()` method stores a signed 64-bit integer (long long) value at the specified byte offset from the start of the `DataView`. */ - setInt64(byteOffset: i32, value: i64, littleEndian?: bool): void; - /** The `setUint8()` method stores an unsigned 8-bit integer (byte) value at the specified byte offset from the start of the `DataView`. */ - setUint8(byteOffset: i32, value: u8): void; - /** The `setUint16()` method stores an unsigned 16-bit integer (unsigned short) value at the specified byte offset from the start of the `DataView`. */ - setUint16(byteOffset: i32, value: u16, littleEndian?: bool): void; - /** The `setUint32()` method stores an unsigned 32-bit integer (unsigned long) value at the specified byte offset from the start of the `DataView`. */ - setUint32(byteOffset: i32, value: u32, littleEndian?: bool): void; - /** The `setUint64()` method stores an unsigned 64-bit integer (unsigned long long) value at the specified byte offset from the start of the `DataView`. */ - setUint64(byteOffset: i32, value: u64, littleEndian?: bool): void; - /** Returns a string representation of DataView. */ - toString(): string; -} - -interface ArrayLike { - [key: number]: T; - length: i32; -} - -/** Interface for a typed view on an array buffer. */ -interface ArrayBufferView { - /** The {@link ArrayBuffer} referenced by this view. */ - readonly buffer: ArrayBuffer; - /** The offset in bytes from the start of the referenced {@link ArrayBuffer}. */ - readonly byteOffset: i32; - /** The length in bytes from the start of the referenced {@link ArrayBuffer}. */ - readonly byteLength: i32; - /** Returns raw pointer to data storage including offset (unsafe). */ - readonly dataStart: usize; -} - -/** @internal */ -declare abstract class TypedArray implements ArrayBufferView { - [key: number]: T; - /** Number of bytes per element. */ - static readonly BYTES_PER_ELEMENT: usize; - /** Constructs a new typed array. */ - constructor(length: i32); - /** The {@link ArrayBuffer} referenced by this view. */ - readonly buffer: ArrayBuffer; - /** The offset in bytes from the start of the referenced {@link ArrayBuffer}. */ - readonly byteOffset: i32; - /** The length in bytes from the start of the referenced {@link ArrayBuffer}. */ - readonly byteLength: i32; - /** Returns raw pointer to data storage including offset (unsafe). */ - readonly dataStart: usize; - /** The length (in elements). */ - readonly length: i32; - /** Returns value using relative indexing. Index may be negative */ - at(index: i32): T; - /** The includes() method determines whether a typed array includes a certain element, returning true or false as appropriate. */ - includes(searchElement: T, fromIndex?: i32): bool; - /** The indexOf() method returns the first index at which a given element can be found in the typed array, or -1 if it is not present. */ - indexOf(searchElement: T, fromIndex?: i32): i32; - /** The lastIndexOf() method returns the last index at which a given element can be found in the typed array, or -1 if it is not present. The typed array is searched backwards, starting at fromIndex. */ - lastIndexOf(searchElement: T, fromIndex?: i32): i32; - /** Returns copied section of an TypedArray from begin inclusive to end exclusive */ - slice(begin?: i32, end?: i32): TypedArray; - /** Returns a new TypedArray of this type on the same ArrayBuffer from begin inclusive to end exclusive. */ - subarray(begin?: i32, end?: i32): TypedArray; - /** The copyWithin() method copies the sequence of array elements within the array to the position starting at target. The copy is taken from the index positions of the second and third arguments start and end. The end argument is optional and defaults to the length of the array. */ - copyWithin(target: i32, start: i32, end?: i32): this; - /** The reduce() method applies a function against an accumulator and each value of the typed array (from left-to-right) has to reduce it to a single value. This method has the same algorithm as Array.prototype.reduce(). */ - reduce(callbackfn: (accumulator: U, value: T, index: i32, self: this) => U, initialValue: U): U; - /** The reduceRight() method applies a function against an accumulator and each value of the typed array (from left-to-right) has to reduce it to a single value, starting from the end of the array. This method has the same algorithm as Array.prototype.reduceRight(). */ - reduceRight(callbackfn: (accumulator: U, value: T, index: i32, self: this) => U, initialValue: U): U; - /** The some() method tests whether some element in the typed array passes the test implemented by the provided function. This method has the same algorithm as Array.prototype.some().*/ - some(callbackfn: (value: T, index: i32, self: this) => bool): bool; - /** The map() method creates a new typed array with the results of calling a provided function on every element in this typed array. This method has the same algorithm as Array.prototype.map().*/ - map(callbackfn: (value: T, index: i32, self: this) => T): TypedArray; - /** The filter() method creates a new typed array with all elements that pass the test implemented by the provided function. This method has the same algorithm as Array.prototype.filter(). */ - filter(callbackfn: (value: T, index: i32, self: this) => bool): TypedArray; - /** The sort() method sorts the elements of a typed array numerically in place and returns the typed array. This method has the same algorithm as Array.prototype.sort(), except that sorts the values numerically instead of as strings. TypedArray is one of the typed array types here. */ - sort(callback?: (a: T, b: T) => i32): this; - /** The fill() method fills all the elements of a typed array from a start index to an end index with a static value. This method has the same algorithm as Array.prototype.fill(). */ - fill(value: T, start?: i32, end?: i32): this; - /** The findIndex() method returns an index in the typed array, if an element in the typed array satisfies the provided testing function. Otherwise -1 is returned. See also the find() [not implemented] method, which returns the value of a found element in the typed array instead of its index. */ - findIndex(callbackfn: (value: T, index: i32, self: this) => bool): i32; - /** The findLastIndex() method returns an index start searching from the end in the typed array, if an element in the typed array satisfies the provided testing function. Otherwise -1 is returned. See also the find() [not implemented] method, which returns the value of a found element in the typed array instead of its index. */ - findLastIndex(callbackfn: (value: T, index: i32, self: this) => bool): i32; - /** The every() method tests whether all elements in the typed array pass the test implemented by the provided function. This method has the same algorithm as Array.prototype.every(). */ - every(callbackfn: (value: T, index: i32, self: this) => bool): bool; - /** The forEach() method executes a provided function once per array element. This method has the same algorithm as Array.prototype.forEach().*/ - forEach(callbackfn: (value: T, index: i32, self: this) => void): void; - /** The reverse() method reverses a typed array in place. The first typed array element becomes the last and the last becomes the first. This method has the same algorithm as Array.prototype.reverse(). */ - reverse(): this; - /** The join() method joins all elements of an array into a string. This method has the same algorithm as Array.prototype.join(). */ - join(separator?: string): string; - /** The set() method stores multiple values in the typed array, reading input values from a specified array. */ - set>(source: U, offset?: i32): void - /** The toString() method returns a string representing the specified array and its elements. This method has the same algorithm as Array.prototype.toString() */ - toString(): string; -} - -/** An array of twos-complement 8-bit signed integers. */ -declare class Int8Array extends TypedArray { - /** Wrap an ArrayBuffer */ - static wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Int8Array; -} -/** An array of 8-bit unsigned integers. */ -declare class Uint8Array extends TypedArray { - /** Wrap an ArrayBuffer */ - static wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Uint8Array; -} -/** A clamped array of 8-bit unsigned integers. */ -declare class Uint8ClampedArray extends TypedArray { - /** Wrap an ArrayBuffer */ - static wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Uint8ClampedArray; -} -/** An array of twos-complement 16-bit signed integers. */ -declare class Int16Array extends TypedArray { - /** Wrap an ArrayBuffer */ - static wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Int16Array; -} -/** An array of 16-bit unsigned integers. */ -declare class Uint16Array extends TypedArray { - /** Wrap an ArrayBuffer */ - static wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Uint16Array; -} -/** An array of twos-complement 32-bit signed integers. */ -declare class Int32Array extends TypedArray { - /** Wrap an ArrayBuffer */ - static wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Int32Array; -} -/** An array of 32-bit unsigned integers. */ -declare class Uint32Array extends TypedArray { - /** Wrap an ArrayBuffer */ - static wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Uint32Array; -} -/** An array of twos-complement 64-bit signed integers. */ -declare class Int64Array extends TypedArray { - /** Wrap an ArrayBuffer */ - static wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Int64Array; -} -/** An array of 64-bit unsigned integers. */ -declare class Uint64Array extends TypedArray { - /** Wrap an ArrayBuffer */ - static wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Uint64Array; -} -/** An array of 32-bit floating point numbers. */ -declare class Float32Array extends TypedArray { - /** Wrap an ArrayBuffer */ - static wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Float32Array; -} -/** An array of 64-bit floating point numbers. */ -declare class Float64Array extends TypedArray { - /** Wrap an ArrayBuffer */ - static wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Float64Array; -} - -/** Class representing a sequence of values of type `T`. */ -declare class Array { - - /** Tests if a value is an array. */ - static isArray(value: any): value is Array; - - [key: number]: T; - /** Current length of the array. */ - length: i32; - /** Returns raw pointer to data storage (unsafe). */ - readonly dataStart: usize; - /** Constructs a new array. */ - constructor(length?: i32); - at(index: i32): T; - fill(value: T, start?: i32, end?: i32): this; - findIndex(callbackfn: (value: T, index: i32, array: Array) => bool): i32; - findLastIndex(callbackfn: (value: T, index: i32, array: Array) => bool): i32; - includes(searchElement: T, fromIndex?: i32): bool; - indexOf(searchElement: T, fromIndex?: i32): i32; - lastIndexOf(searchElement: T, fromIndex?: i32): i32; - push(element: T): i32; - concat(items: T[]): T[]; - copyWithin(target: i32, start: i32, end?: i32): this; - pop(): T; - forEach(callbackfn: (value: T, index: i32, array: Array) => void): void; - map(callbackfn: (value: T, index: i32, array: Array) => U): Array; - filter(callbackfn: (value: T, index: i32, array: Array) => bool): Array; - reduce(callbackfn: (previousValue: U, currentValue: T, currentIndex: i32, array: Array) => U, initialValue: U): U; - reduceRight(callbackfn: (previousValue: U, currentValue: T, currentIndex: i32, array: Array) => U, initialValue: U): U; - every(callbackfn: (value: T, index: i32, array: Array) => bool): bool; - some(callbackfn: (value: T, index: i32, array: Array) => bool): bool; - shift(): T; - unshift(element: T): i32; - slice(from?: i32, to?: i32): Array; - splice(start: i32, deleteCount?: i32): Array; - sort(comparator?: (a: T, b: T) => i32): this; - join(separator?: string): string; - reverse(): this; - /** Flattens an array of arrays. If any null entries exist in the array, they are ignored, unlike JavaScript's version of Array#flat(). */ - flat(): T extends unknown[] ? T : never; - toString(): string; -} - -/** Class representing a static (not resizable) sequence of values of type `T`. This class is @final. */ -declare class StaticArray { - [key: number]: T; - static fromArray(source: Array): StaticArray; - /** @deprecated */ - static concat(source: StaticArray, other: StaticArray): StaticArray; - /** @deprecated */ - static slice(source: StaticArray, start?: i32, end?: i32): StaticArray; - readonly length: i32; - constructor(length?: i32); - at(index: i32): T; - fill(value: T, start?: i32, end?: i32): this; - findIndex(callbackfn: (value: T, index: i32, array: StaticArray) => bool): i32; - findLastIndex(callbackfn: (value: T, index: i32, array: StaticArray) => bool): i32; - copyWithin(target: i32, start: i32, end?: i32): this; - includes(searchElement: T, fromIndex?: i32): bool; - indexOf(searchElement: T, fromIndex?: i32): i32; - lastIndexOf(searchElement: T, fromIndex?: i32): i32; - forEach(callbackfn: (value: T, index: i32, array: StaticArray) => void): void; - map(callbackfn: (value: T, index: i32, array: StaticArray) => U): Array; - filter(callbackfn: (value: T, index: i32, array: StaticArray) => bool): Array; - reduce(callbackfn: (previousValue: U, currentValue: T, currentIndex: i32, array: StaticArray) => U, initialValue: U): U; - reduceRight(callbackfn: (previousValue: U, currentValue: T, currentIndex: i32, array: StaticArray) => U, initialValue: U): U; - every(callbackfn: (value: T, index: i32, array: StaticArray) => bool): bool; - some(callbackfn: (value: T, index: i32, array: StaticArray) => bool): bool; - concat(items: Array): Array; - concat>(other: U): U; - slice(from?: i32, to?: i32): Array; - slice>(from?: i32, to?: i32): U; - sort(comparator?: (a: T, b: T) => i32): this; - join(separator?: string): string; - reverse(): this; - toString(): string; -} - -/** Class representing a sequence of characters. */ -declare class String { - static fromCharCode(ls: i32, hs?: i32): string; - static fromCharCodes(arr: i32[]): string; - static fromCodePoint(code: i32): string; - static fromCodePoints(arr: i32[]): string; - static raw(parts: TemplateStringsArray, ...args: any[]): string; - readonly length: i32; - at(index: i32): string; - charAt(index: i32): string; - charCodeAt(index: i32): i32; - codePointAt(index: i32): i32; - concat(other: string): string; - endsWith(other: string): bool; - indexOf(other: string, fromIndex?: i32): i32; - lastIndexOf(other: string, fromIndex?: i32): i32; - localeCompare(other: string): i32; - includes(other: string): bool; - startsWith(other: string): bool; - substr(start: i32, length?: i32): string; - substring(start: i32, end?: i32): string; - trim(): string; - trimLeft(): string; - trimRight(): string; - trimStart(): string; - trimEnd(): string; - padStart(targetLength: i32, padString?: string): string; - padEnd(targetLength: i32, padString?: string): string; - repeat(count?: i32): string; - replace(search: string, replacement: string): string; - replaceAll(search: string, replacement: string): string; - slice(beginIndex: i32, endIndex?: i32): string; - split(separator?: string, limit?: i32): string[]; - toLowerCase(): string; - toUpperCase(): string; - toString(): string; -} - -declare namespace String { - /** Encoding helpers for UTF-8. */ - export namespace UTF8 { - /** UTF-8 encoding error modes. */ - export const enum ErrorMode { - /** Keeps unpaired surrogates as of WTF-8. This is the default. */ - WTF8, - /** Replaces unpaired surrogates with the replacement character (U+FFFD). */ - REPLACE, - /** Throws an error on unpaired surrogates. */ - ERROR - } - /** Calculates the byte length of the specified string when encoded as UTF-8, optionally null terminated. */ - export function byteLength(str: string, nullTerminated?: bool): i32; - /** Encodes the specified string to UTF-8 bytes, optionally null terminated. ErrorMode defaults to WTF-8. */ - export function encode(str: string, nullTerminated?: bool, errorMode?: ErrorMode): ArrayBuffer; - /** Encodes the specified raw string to UTF-8 bytes, opionally null terminated. ErrorMode defaults to WTF-8. Returns the number of bytes written. */ - export function encodeUnsafe(str: usize, len: i32, buf: usize, nullTerminated?: bool, errorMode?: ErrorMode): usize; - /** Decodes the specified buffer from UTF-8 bytes to a string, optionally null terminated. */ - export function decode(buf: ArrayBuffer, nullTerminated?: bool): string; - /** Decodes raw UTF-8 bytes to a string, optionally null terminated. */ - export function decodeUnsafe(buf: usize, len: usize, nullTerminated?: bool): string; - } - /** Encoding helpers for UTF-16. */ - export namespace UTF16 { - /** Calculates the byte length of the specified string when encoded as UTF-16. */ - export function byteLength(str: string): i32; - /** Encodes the specified string to UTF-16 bytes. */ - export function encode(str: string): ArrayBuffer; - /** Encodes the specified raw string to UTF-16 bytes. Returns the number of bytes written. */ - export function encodeUnsafe(str: usize, len: i32, buf: usize): usize; - /** Decodes the specified buffer from UTF-16 bytes to a string. */ - export function decode(buf: ArrayBuffer): string; - /** Decodes raw UTF-16 bytes to a string. */ - export function decodeUnsafe(buf: usize, len: usize): string; - } -} - -declare class TemplateStringsArray extends Array { - readonly raw: string[]; -} - -declare class Object { - /** The Object.is() method determines whether two values are the same value. */ - static is(value1: T, value2: T): bool; -} - -declare namespace performance { - /** Gets a high resolution timestamp measured in milliseconds. */ - export function now(): f64; -} - -declare class Date { - /** Returns the UTC timestamp in milliseconds of the specified date. */ - static UTC( - year: i32, - month: i32, - day: i32, - hour: i32, - minute: i32, - second: i32, - millisecond: i32 - ): i64; - /** Returns the current UTC timestamp in milliseconds. */ - static now(): i64; - /** Parses a string representation of a date, and returns the number of milliseconds since January 1, 1970, 00:00:00 UTC. */ - static parse(dateString: string): Date; - static fromString(dateString: string): Date; - /** Constructs a new date object from an UTC timestamp in milliseconds. */ - constructor(value: i64); - /** Returns the UTC timestamp of this date in milliseconds. */ - getTime(): i64; - /** Sets the UTC timestamp of this date in milliseconds. */ - setTime(value: i64): i64; - - getUTCFullYear(): i32; - getUTCMonth(): i32; - getUTCDate(): i32; - getUTCDay(): i32; - getUTCHours(): i32; - getUTCMinutes(): i32; - getUTCSeconds(): i32; - getUTCMilliseconds(): i32; - - setUTCFullYear(value: i32): void; - setUTCMonth(value: i32, day?: i32): void; - setUTCDate(value: i32): void; - setUTCHours(value: i32): void; - setUTCMinutes(value: i32): void; - setUTCSeconds(value: i32): void; - setUTCMilliseconds(value: i32): void; - - toString(): string; - toISOString(): string; - toUTCString(): string; - toDateString(): string; - toTimeString(): string; -} - -/** Class for representing a runtime error. Base class of all errors. */ -declare class Error { - - /** Error name. */ - name: string; - - /** Message provided on construction. */ - message: string; - - /** Stack trace. */ - stack?: string; - - /** Constructs a new error, optionally with a message. */ - constructor(message?: string); - - /** Method returns a string representing the specified Error class. */ - toString(): string; -} - -/** Class for indicating an error when a value is not in the set or range of allowed values. */ -declare class RangeError extends Error { } - -/** Class for indicating an error when a value is not of the expected type. */ -declare class TypeError extends Error { } - -/** Class for indicating an error when trying to interpret syntactically invalid code. */ -declare class SyntaxError extends Error { } - -/** Class for indicating an error when a global URI handling function was used in a wrong way. */ -declare class URIError extends Error { } - -interface Function { - /** Function table index. */ - readonly index: u32; - /** Function name. Always an empty string. */ - readonly name: string; - /** Number of expected parameters. */ - readonly length: u32; - /** Calls this function indirectly with the specified arguments. */ - call(thisArg: unknown, ...args: unknown[]): any; - /** Returns a string representation of this function. */ - toString(): string; -} - -/** - * Extracts the type of the 'this' parameter of a function type, or 'unknown' if the function type has no 'this' parameter. - */ -type ThisParameterType = T extends (this: infer U, ...args: never) => any ? U : unknown; - -/** - * Removes the 'this' parameter from a function type. - */ -type OmitThisParameter = unknown extends ThisParameterType ? T : T extends (...args: infer A) => infer R ? (...args: A) => R : T; - -interface CallableFunction extends Function { - /** - * Calls the function with the specified object as the this value and the elements of specified array as the arguments. - * @param thisArg The object to be used as the this object. - */ - apply(this: (this: T) => R, thisArg: T): R; - - /** - * Calls the function with the specified object as the this value and the elements of specified array as the arguments. - * @param thisArg The object to be used as the this object. - * @param args An array of argument values to be passed to the function. - */ - apply(this: (this: T, ...args: A) => R, thisArg: T, args: A): R; - - /** - * Calls the function with the specified object as the this value and the specified rest arguments as the arguments. - * @param thisArg The object to be used as the this object. - * @param args Argument values to be passed to the function. - */ - call(this: (this: T, ...args: A) => R, thisArg: T, ...args: A): R; - - /** - * For a given function, creates a bound function that has the same body as the original function. - * The this object of the bound function is associated with the specified object, and has the specified initial parameters. - * @param thisArg The object to be used as the this object. - */ - bind(this: T, thisArg: ThisParameterType): OmitThisParameter; - - /** - * For a given function, creates a bound function that has the same body as the original function. - * The this object of the bound function is associated with the specified object, and has the specified initial parameters. - * @param thisArg The object to be used as the this object. - * @param args Arguments to bind to the parameters of the function. - */ - bind(this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; -} - -interface NewableFunction extends Function { - /** - * Calls the function with the specified object as the this value and the elements of specified array as the arguments. - * @param thisArg The object to be used as the this object. - */ - apply(this: new () => T, thisArg: T): void; - /** - * Calls the function with the specified object as the this value and the elements of specified array as the arguments. - * @param thisArg The object to be used as the this object. - * @param args An array of argument values to be passed to the function. - */ - apply(this: new (...args: A) => T, thisArg: T, args: A): void; - - /** - * Calls the function with the specified object as the this value and the specified rest arguments as the arguments. - * @param thisArg The object to be used as the this object. - * @param args Argument values to be passed to the function. - */ - call(this: new (...args: A) => T, thisArg: T, ...args: A): void; - - /** - * For a given function, creates a bound function that has the same body as the original function. - * The this object of the bound function is associated with the specified object, and has the specified initial parameters. - * @param thisArg The object to be used as the this object. - */ - bind(this: T, thisArg: any): T; - - /** - * For a given function, creates a bound function that has the same body as the original function. - * The this object of the bound function is associated with the specified object, and has the specified initial parameters. - * @param thisArg The object to be used as the this object. - * @param args Arguments to bind to the parameters of the function. - */ - bind(this: new (...args: [...A, ...B]) => R, thisArg: any, ...args: A): new (...args: B) => R; -} - -interface IArguments {} -interface RegExp {} - -declare class Map { - readonly size: i32; - has(key: K): bool; - set(key: K, value: V): this; - get(key: K): V; - delete(key: K): bool; - clear(): void; - keys(): K[]; // preliminary - values(): V[]; // preliminary - toString(): string; -} - -declare class Set { - readonly size: i32; - has(value: K): bool; - add(value: K): this; - delete(value: K): bool; - clear(): void; - values(): K[]; // preliminary - toString(): string; -} - -interface SymbolConstructor { - readonly hasInstance: symbol; - readonly isConcatSpreadable: symbol; - readonly isRegExp: symbol; - readonly iterator: symbol; - readonly match: symbol; - readonly replace: symbol; - readonly search: symbol; - readonly species: symbol; - readonly split: symbol; - readonly toPrimitive: symbol; - readonly toStringTag: symbol; - readonly unscopables: symbol; - (description?: string | null): symbol; - for(key: string): symbol; - keyFor(sym: symbol): string | null; -} - -declare const Symbol: SymbolConstructor; - -/** @internal */ -interface IMath { - /** The base of natural logarithms, e, approximately 2.718. */ - readonly E: T; - /** The natural logarithm of 2, approximately 0.693. */ - readonly LN2: T; - /** The natural logarithm of 10, approximately 2.302. */ - readonly LN10: T; - /** The base 2 logarithm of e, approximately 1.442. */ - readonly LOG2E: T; - /** The base 10 logarithm of e, approximately 0.434. */ - readonly LOG10E: T; - /** The ratio of the circumference of a circle to its diameter, approximately 3.14159. */ - readonly PI: T; - /** The square root of 1/2, approximately 0.707. */ - readonly SQRT1_2: T; - /** The square root of 2, approximately 1.414. */ - readonly SQRT2: T; - /** Returns the absolute value of `x`. */ - abs(x: T): T; - /** Returns the arccosine (in radians) of `x`. */ - acos(x: T): T; - /** Returns the hyperbolic arc-cosine of `x`. */ - acosh(x: T): T; - /** Returns the arcsine (in radians) of `x`. */ - asin(x: T): T; - /** Returns the hyperbolic arcsine of `x`. */ - asinh(x: T): T; - /** Returns the arctangent (in radians) of `x`. */ - atan(x: T): T; - /** Returns the arctangent of the quotient of its arguments. */ - atan2(y: T, x: T): T; - /** Returns the hyperbolic arctangent of `x`. */ - atanh(x: T): T; - /** Returns the cube root of `x`. */ - cbrt(x: T): T; - /** Returns the smallest integer greater than or equal to `x`. */ - ceil(x: T): T; - /** Returns the number of leading zero bits in the 32-bit binary representation of `x`. */ - clz32(x: T): T; - /** Returns the cosine (in radians) of `x`. */ - cos(x: T): T; - /** Returns the hyperbolic cosine of `x`. */ - cosh(x: T): T; - /** Returns e to the power of `x`. */ - exp(x: T): T; - /** Returns e to the power of `x`, minus 1. */ - expm1(x: T): T; - /** Returns the largest integer less than or equal to `x`. */ - floor(x: T): T; - /** Returns the nearest 32-bit single precision float representation of `x`. */ - fround(x: T): T; - /** Returns the square root of the sum of squares of its arguments. */ - hypot(value1: T, value2: T): T; // TODO: rest - /** Returns the result of the C-like 32-bit multiplication of `a` and `b`. */ - imul(a: T, b: T): T; - /** Returns the natural logarithm (base e) of `x`. */ - log(x: T): T; - /** Returns the base 10 logarithm of `x`. */ - log10(x: T): T; - /** Returns the natural logarithm (base e) of 1 + `x`. */ - log1p(x: T): T; - /** Returns the base 2 logarithm of `x`. */ - log2(x: T): T; - /** Returns the largest-valued number of its arguments. */ - max(value1: T, value2: T): T; // TODO: rest - /** Returns the lowest-valued number of its arguments. */ - min(value1: T, value2: T): T; // TODO: rest - /** Returns `base` to the power of `exponent`. */ - pow(base: T, exponent: T): T; - /** Returns a pseudo-random number in the range from 0.0 inclusive up to but not including 1.0. */ - random(): T; - /** Returns the value of `x` rounded to the nearest integer. */ - round(x: T): T; - /** Returns the sign of `x`, indicating whether the number is positive, negative or zero. */ - sign(x: T): T; - /** Returns whether the sign bit of `x` is set. */ - signbit(x: T): bool; - /** Returns the sine of `x`. */ - sin(x: T): T; - /** Returns the hyperbolic sine of `x`. */ - sinh(x: T): T; - /** Returns the square root of `x`. */ - sqrt(x: T): T; - /** Returns the tangent of `x`. */ - tan(x: T): T; - /** Returns the hyperbolic tangent of `x`. */ - tanh(x: T): T; - /** Returns the integer part of `x` by removing any fractional digits. */ - trunc(x: T): T; -} - -/** @internal */ -interface INativeMath extends IMath { - /** Contains sin value produced after Math/Mathf.sincos */ - sincos_sin: T; - /** Contains cos value produced after Math/Mathf.sincos */ - sincos_cos: T; - /** Seeds the random number generator. */ - seedRandom(value: i64): void; - /** Multiplies a floating point `x` by 2 raised to power exp `n`. */ - scalbn(x: T, n: i32): T; - /** Returns the floating-point remainder of `x / y` (rounded towards zero). */ - mod(x: T, y: T): T; - /** Returns the floating-point remainder of `x / y` (rounded to nearest). */ - rem(x: T, y: T): T; - /** Returns sin and cos simultaneously for same angle. Results stored to `sincos_s32/64` and `sincos_c32/64` globals */ - sincos(x: T): void; - /** Returns 2 raised to the given power x. Equivalent to 2 ** x. */ - exp2(x: T): T; -} - -/** Double precision math imported from JavaScript. */ -declare const JSMath: IMath; -/** Double precision math implemented natively. */ -declare const NativeMath: INativeMath; -/** Single precision math implemented natively. */ -declare const NativeMathf: INativeMath; -/** Alias of {@link NativeMath} or {@link JSMath} respectively. Defaults to `NativeMath`. */ -declare const Math: IMath; -/** Alias of {@link NativeMathf} or {@link JSMath} respectively. Defaults to `NativeMathf`. */ -declare const Mathf: IMath; - -/** Environmental abort function. */ -declare function abort(msg?: string | null, fileName?: string | null, lineNumber?: i32, columnNumber?: i32): never; -/** Environmental tracing function. */ -declare function trace(msg: string, n?: i32, a0?: f64, a1?: f64, a2?: f64, a3?: f64, a4?: f64): void; -/** Environmental seeding function. */ -declare function seed(): f64; - -/** Node-like process. */ -declare namespace process { - /** String representing the CPU architecture for which the binary was compiled. Either `wasm32` or `wasm64`. */ - export const arch: string; - /** String representing the operating system platform for which the binary was compiled. Always `wasm`. */ - export const platform: string; - /** Array of command line arguments passed to the binary upon instantiation. */ - export const argv: string[]; - /** Map of variables in the binary's user environment. */ - export const env: Map; - /** Terminates the process with either the given exit code, or `process.exitCode` if omitted. */ - export function exit(code?: i32): void; - /** `exit()`’s default value. Defaults to `0`. */ - export let exitCode: i32; - /** Stream connected to `stdin` (fd `0`). */ - export const stdin: ReadableStream; - /** Stream connected to `stdout` (fd `1`). */ - export const stdout: WritableStream; - /** Stream connected to `stderr` (fd `2`). */ - export const stderr: WritableStream; - /** Obtains the system's current time of day, in milliseconds since Unix epoch. */ - export function time(): i64; - /** Obtains the system's monotonic high resolution time, in nanoseconds since an arbitrary time in the past. */ - export function hrtime(): u64; - - interface Stream { - /** Closes the stream. Throws if already closed or if the stream cannot be closed. */ - close(): void; - } - interface ReadableStream extends Stream { - /** Reads available data from the stream, into `buffer` at offset `offset`, returning the number of bytes read. */ - read(buffer: ArrayBuffer, offset?: isize): i32; - } - interface WritableStream extends Stream { - /** Writes string or buffer to the stream. */ - write(data: T): void; - } -} - -/** Browser-like console. */ -declare namespace console { - /** Logs `message` to console if `assertion` is false-ish. */ - export function assert(assertion: T, message?: string): void; - /** Outputs `message` to the console. */ - export function log(message?: string): void; - /** Outputs `message` to the console, prefixed with "Debug:". */ - export function debug(message?: string): void; - /** Outputs `message` to the console, prefixed with "Info:". */ - export function info(message?: string): void; - /** Outputs `message` to the console, prefixed with "Warning:". */ - export function warn(message?: string): void; - /** Outputs `message` to the console, prefixed with "Error:". */ - export function error(message?: string): void; - /** Starts a new timer using the specified `label`. */ - export function time(label?: string): void; - /** Logs the current value of a timer previously started with `console.time`. */ - export function timeLog(label?: string): void; - /** Logs the current value of a timer previously started with `console.time` and discards the timer. */ - export function timeEnd(label?: string): void; -} - -/** Browser-like crypto utilities. */ -declare namespace crypto { - /** Fills `array` with cryptographically strong random values. */ - export function getRandomValues(array: Uint8Array): void; -} - -// Decorators - -interface TypedPropertyDescriptor { - configurable?: boolean; - enumerable?: boolean; - writable?: boolean; - value?: T; - get?(): T; - set?(value: T): void; -} - -type Constructor = - (new (...args: any[]) => unknown) - | (abstract new (...args: any[]) => unknown); - -/** Annotates a method as a binary operator overload for the specified `token`. */ -declare function operator(token: - "[]" | "[]=" | "{}" | "{}=" | "==" | "!=" | ">" | "<" | "<=" | ">=" | - ">>" | ">>>" | "<<" | "&" | "|" | "^" | "+" | "-" | "*" | "**" | "/" | "%" -): ( - target: any, - propertyKey: string, - descriptor: TypedPropertyDescriptor -) => TypedPropertyDescriptor | void; - -declare namespace operator { - /** Annotates a method as a binary operator overload for the specified `token`. */ - export function binary(token: - "[]" | "[]=" | "{}" | "{}=" | "==" | "!=" | ">" | "<" | "<=" | ">=" | - ">>" | ">>>" | "<<" | "&" | "|" | "^" | "+" | "-" | "*" | "**" | "/" | "%" - ): ( - target: any, - propertyKey: string, - descriptor: TypedPropertyDescriptor - ) => TypedPropertyDescriptor | void; - /** Annotates a method as an unary prefix operator overload for the specified `token`. */ - export function prefix(token: "!" | "~" | "+" | "-" | "++" | "--"): ( - target: any, - propertyKey: string, - descriptor: TypedPropertyDescriptor - ) => TypedPropertyDescriptor | void; - /** Annotates a method as an unary postfix operator overload for the specified `token`. */ - export function postfix(token: "++" | "--"): ( - target: any, - propertyKey: string, - descriptor: TypedPropertyDescriptor - ) => TypedPropertyDescriptor | void; -} - -/** Annotates an element as a program global. */ -declare function global(...args: any[]): any; - -/** Annotates a class as being unmanaged with limited capabilities. */ -declare function unmanaged(constructor: Constructor): void; - -/** Annotates a class as being final / non-derivable. */ -declare function final(constructor: Constructor): void; - -/** Annotates a method, function or constant global as always inlined. */ -declare function inline(...args: any[]): any; - -/** Annotates a method, function or constant global as unsafe. */ -declare function unsafe(...args: any[]): any; - -/** Annotates an explicit external name of a function or global. */ -declare function external(name: string): any; -declare function external(moduleName: string, name: string): any; -declare namespace external { - function js(code: string): any; -} - -/** Annotates a global for lazy compilation. */ -declare function lazy(...args: any[]): any; diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/iterator.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/iterator.ts deleted file mode 100644 index 95c87d69..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/std/assembly/iterator.ts +++ /dev/null @@ -1,35 +0,0 @@ -export abstract class Iterable { - // ? -} - -@final -export abstract class Iterator { - - // private constructor(iterable: Iterable) { - // } - - // TODO: these need to evaluate the classId at the respective reference in order to obtain the - // next value, i.e. arrays work differently than maps. we'd then have: - // - // ╒═══════════════════ Iterator layout (32-bit) ══════════════════╕ - // 3 2 1 - // 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 bits - // ├─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┤ - // │ index │ - // ├─────────────────────────────────────────────────────────┬───┬─┤ - // │ reference │ 0 │D│ - // └─────────────────────────────────────────────────────────┴───┴─┘ - // D: Done flag - - // get value(this: u64): T { - // ? - // } - - // next(this: u64): Iterator { - // ? - // } - - done(this: u64): bool { - return (this & 1); - } -} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/map.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/map.ts deleted file mode 100644 index ab7302f7..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/std/assembly/map.ts +++ /dev/null @@ -1,260 +0,0 @@ -/// - -import { HASH } from "./util/hash"; -import { E_KEYNOTFOUND } from "./util/error"; - -// A deterministic hash map based on CloseTable from https://github.com/jorendorff/dht - -// @ts-ignore: decorator -@inline const INITIAL_CAPACITY = 4; - -// @ts-ignore: decorator -@inline const FILL_FACTOR_N = 8; - -// @ts-ignore: decorator -@inline const FILL_FACTOR_D = 3; - -// @ts-ignore: decorator -@inline const FREE_FACTOR_N = 3; - -// @ts-ignore: decorator -@inline const FREE_FACTOR_D = 4; - -/** Structure of a map entry. */ -@unmanaged class MapEntry { - key: K; - value: V; - taggedNext: usize; // LSB=1 indicates EMPTY -} - -/** Empty bit. */ -// @ts-ignore: decorator -@inline const EMPTY: usize = 1 << 0; - -/** Size of a bucket. */ -// @ts-ignore: decorator -@inline const BUCKET_SIZE = sizeof(); - -/** Computes the alignment of an entry. */ -// @ts-ignore: decorator -@inline -function ENTRY_ALIGN(): usize { - // can align to 4 instead of 8 if 32-bit and K/V is <= 32-bits - const maxkv = sizeof() > sizeof() ? sizeof() : sizeof(); - const align = (maxkv > sizeof() ? maxkv : sizeof()) - 1; - return align; -} - -/** Computes the aligned size of an entry. */ -// @ts-ignore: decorator -@inline -function ENTRY_SIZE(): usize { - const align = ENTRY_ALIGN(); - const size = (offsetof>() + align) & ~align; - return size; -} - -export class Map { - - // buckets referencing their respective first entry, usize[bucketsMask + 1] - private buckets: ArrayBuffer = new ArrayBuffer(INITIAL_CAPACITY * BUCKET_SIZE); - private bucketsMask: u32 = INITIAL_CAPACITY - 1; - - // entries in insertion order, MapEntry[entriesCapacity] - private entries: ArrayBuffer = new ArrayBuffer(INITIAL_CAPACITY * ENTRY_SIZE()); - private entriesCapacity: i32 = INITIAL_CAPACITY; - private entriesOffset: i32 = 0; - private entriesCount: i32 = 0; - - constructor() { - /* nop */ - } - - get size(): i32 { - return this.entriesCount; - } - - clear(): void { - this.buckets = new ArrayBuffer(INITIAL_CAPACITY * BUCKET_SIZE); - this.bucketsMask = INITIAL_CAPACITY - 1; - this.entries = new ArrayBuffer(INITIAL_CAPACITY * ENTRY_SIZE()); - this.entriesCapacity = INITIAL_CAPACITY; - this.entriesOffset = 0; - this.entriesCount = 0; - } - - private find(key: K, hashCode: u32): MapEntry | null { - let entry = load>( // unmanaged! - changetype(this.buckets) + (hashCode & this.bucketsMask) * BUCKET_SIZE - ); - while (entry) { - let taggedNext = entry.taggedNext; - if (!(taggedNext & EMPTY) && entry.key == key) return entry; - entry = changetype>(taggedNext & ~EMPTY); - } - return null; - } - - has(key: K): bool { - return this.find(key, HASH(key)) != null; - } - - @operator("[]") - get(key: K): V { - let entry = this.find(key, HASH(key)); - if (!entry) throw new Error(E_KEYNOTFOUND); // cannot represent `undefined` - return entry.value; - } - - @operator("[]=") - set(key: K, value: V): this { - let hashCode = HASH(key); - let entry = this.find(key, hashCode); // unmanaged! - if (entry) { - entry.value = value; - if (isManaged()) { - __link(changetype(this), changetype(value), true); - } - } else { - // check if rehashing is necessary - if (this.entriesOffset == this.entriesCapacity) { - this.rehash( - this.entriesCount < this.entriesCapacity * FREE_FACTOR_N / FREE_FACTOR_D - ? this.bucketsMask // just rehash if 1/4+ entries are empty - : (this.bucketsMask << 1) | 1 // grow capacity to next 2^N - ); - } - // append new entry - let entries = this.entries; - entry = changetype>(changetype(entries) + (this.entriesOffset++) * ENTRY_SIZE()); - // link with the map - entry.key = key; - if (isManaged()) { - __link(changetype(this), changetype(key), true); - } - entry.value = value; - if (isManaged()) { - __link(changetype(this), changetype(value), true); - } - ++this.entriesCount; - // link with previous entry in bucket - let bucketPtrBase = changetype(this.buckets) + (hashCode & this.bucketsMask) * BUCKET_SIZE; - entry.taggedNext = load(bucketPtrBase); - store(bucketPtrBase, changetype(entry)); - } - return this; - } - - delete(key: K): bool { - let entry = this.find(key, HASH(key)); - if (!entry) return false; - entry.taggedNext |= EMPTY; - --this.entriesCount; - // check if rehashing is appropriate - let halfBucketsMask = this.bucketsMask >> 1; - if ( - halfBucketsMask + 1 >= max(INITIAL_CAPACITY, this.entriesCount) && - this.entriesCount < this.entriesCapacity * FREE_FACTOR_N / FREE_FACTOR_D - ) this.rehash(halfBucketsMask); - return true; - } - - private rehash(newBucketsMask: u32): void { - let newBucketsCapacity = (newBucketsMask + 1); - let newBuckets = new ArrayBuffer(newBucketsCapacity * BUCKET_SIZE); - let newEntriesCapacity = newBucketsCapacity * FILL_FACTOR_N / FILL_FACTOR_D; - let newEntries = new ArrayBuffer(newEntriesCapacity * ENTRY_SIZE()); - - // copy old entries to new entries - let oldPtr = changetype(this.entries); - let oldEnd = oldPtr + this.entriesOffset * ENTRY_SIZE(); - let newPtr = changetype(newEntries); - while (oldPtr != oldEnd) { - let oldEntry = changetype>(oldPtr); - if (!(oldEntry.taggedNext & EMPTY)) { - let newEntry = changetype>(newPtr); - let oldEntryKey = oldEntry.key; - newEntry.key = oldEntryKey; - newEntry.value = oldEntry.value; - let newBucketIndex = HASH(oldEntryKey) & newBucketsMask; - let newBucketPtrBase = changetype(newBuckets) + newBucketIndex * BUCKET_SIZE; - newEntry.taggedNext = load(newBucketPtrBase); - store(newBucketPtrBase, newPtr); - newPtr += ENTRY_SIZE(); - } - oldPtr += ENTRY_SIZE(); - } - - this.buckets = newBuckets; - this.bucketsMask = newBucketsMask; - this.entries = newEntries; - this.entriesCapacity = newEntriesCapacity; - this.entriesOffset = this.entriesCount; - } - - keys(): K[] { - // FIXME: this is preliminary, needs iterators/closures - let start = changetype(this.entries); - let size = this.entriesOffset; - let keys = new Array(size); - let length = 0; - for (let i = 0; i < size; ++i) { - let entry = changetype>(start + i * ENTRY_SIZE()); - if (!(entry.taggedNext & EMPTY)) { - unchecked(keys[length++] = entry.key); - } - } - keys.length = length; - return keys; - } - - values(): V[] { - // FIXME: this is preliminary, needs iterators/closures - let start = changetype(this.entries); - let size = this.entriesOffset; - let values = new Array(size); - let length = 0; - for (let i = 0; i < size; ++i) { - let entry = changetype>(start + i * ENTRY_SIZE()); - if (!(entry.taggedNext & EMPTY)) { - unchecked(values[length++] = entry.value); - } - } - values.length = length; - return values; - } - - toString(): string { - return "[object Map]"; - } - - // RT integration - - @unsafe private __visit(cookie: u32): void { - __visit(changetype(this.buckets), cookie); - let entries = changetype(this.entries); - if (isManaged() || isManaged()) { - let cur = entries; - let end = cur + this.entriesOffset * ENTRY_SIZE(); - while (cur < end) { - let entry = changetype>(cur); - if (!(entry.taggedNext & EMPTY)) { - if (isManaged()) { - let val = changetype(entry.key); - if (isNullable()) { - if (val) __visit(val, cookie); - } else __visit(val, cookie); - } - if (isManaged()) { - let val = changetype(entry.value); - if (isNullable()) { - if (val) __visit(val, cookie); - } else __visit(val, cookie); - } - } - cur += ENTRY_SIZE(); - } - } - __visit(entries, cookie); - } -} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/math.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/math.ts deleted file mode 100644 index e93837b2..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/std/assembly/math.ts +++ /dev/null @@ -1,3289 +0,0 @@ -import { Math as JSMath } from "./bindings/dom"; -export { JSMath }; - -import { - pow_lut, exp_lut, exp2_lut, log_lut, log2_lut, - powf_lut, expf_lut, exp2f_lut, logf_lut, log2f_lut -} from "./util/math"; - -import { - abs as builtin_abs, - ceil as builtin_ceil, - clz as builtin_clz, - copysign as builtin_copysign, - floor as builtin_floor, - max as builtin_max, - min as builtin_min, - sqrt as builtin_sqrt, - trunc as builtin_trunc -} from "./builtins"; - -// SUN COPYRIGHT NOTICE -// -// Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. -// Developed at SunPro, a Sun Microsystems, Inc. business. -// Permission to use, copy, modify, and distribute this software -// is freely granted, provided that this notice is preserved. -// -// Applies to all functions marked with a comment referring here. - -/** @internal */ -// @ts-ignore: decorator -@lazy let rempio2_y0: f64, rempio2_y1: f64, res128_hi: u64; - -/** @internal */ -// @ts-ignore: decorator -@lazy @inline const PIO2_TABLE = memory.data([ - 0x00000000A2F9836E, 0x4E441529FC2757D1, 0xF534DDC0DB629599, 0x3C439041FE5163AB, - 0xDEBBC561B7246E3A, 0x424DD2E006492EEA, 0x09D1921CFE1DEB1C, 0xB129A73EE88235F5, - 0x2EBB4484E99C7026, 0xB45F7E413991D639, 0x835339F49C845F8B, 0xBDF9283B1FF897FF, - 0xDE05980FEF2F118B, 0x5A0A6D1F6D367ECF, 0x27CB09B74F463F66, 0x9E5FEA2D7527BAC7, - 0xEBE5F17B3D0739F7, 0x8A5292EA6BFB5FB1, 0x1F8D5D0856033046, 0xFC7B6BABF0CFBC20, - 0x9AF4361DA9E39161, 0x5EE61B086599855F, 0x14A068408DFFD880, 0x4D73273106061557 -]); - -/** @internal */ -function R(z: f64): f64 { // Rational approximation of (asin(x)-x)/x^3 - const // see: musl/src/math/asin.c and SUN COPYRIGHT NOTICE above - pS0 = reinterpret(0x3FC5555555555555), // 1.66666666666666657415e-01 - pS1 = reinterpret(0xBFD4D61203EB6F7D), // -3.25565818622400915405e-01 - pS2 = reinterpret(0x3FC9C1550E884455), // 2.01212532134862925881e-01 - pS3 = reinterpret(0xBFA48228B5688F3B), // -4.00555345006794114027e-02 - pS4 = reinterpret(0x3F49EFE07501B288), // 7.91534994289814532176e-04 - pS5 = reinterpret(0x3F023DE10DFDF709), // 3.47933107596021167570e-05 - qS1 = reinterpret(0xC0033A271C8A2D4B), // -2.40339491173441421878e+00 - qS2 = reinterpret(0x40002AE59C598AC8), // 2.02094576023350569471e+00 - qS3 = reinterpret(0xBFE6066C1B8D0159), // -6.88283971605453293030e-01 - qS4 = reinterpret(0x3FB3B8C5B12E9282); // 7.70381505559019352791e-02 - - let p = z * (pS0 + z * (pS1 + z * (pS2 + z * (pS3 + z * (pS4 + z * pS5))))); - let q = 1.0 + z * (qS1 + z * (qS2 + z * (qS3 + z * qS4))); - return p / q; -} - -/** @internal */ -// @ts-ignore: decorator -@inline -function expo2(x: f64, sign: f64): f64 { // exp(x)/2 for x >= log(DBL_MAX) - const // see: musl/src/math/__expo2.c - k = 2043, - kln2 = reinterpret(0x40962066151ADD8B); // 0x1.62066151add8bp+10 - let scale = reinterpret(((0x3FF + k / 2) << 20) << 32); - // in directed rounding correct sign before rounding or overflow is important - return NativeMath.exp(x - kln2) * (sign * scale) * scale; -} - -/** @internal */ -/* Helper function to eventually get bits of π/2 * |x| - * - * y = π/4 * (frac << clz(frac) >> 11) - * return clz(frac) - * - * Right shift 11 bits to make upper half fit in `double` - */ -// @ts-ignore: decorator -@inline -function pio2_right(q0: u64, q1: u64): u64 { // see: jdh8/metallic/blob/master/src/math/double/rem_pio2.c - // Bits of π/4 - const p0: u64 = 0xC4C6628B80DC1CD1; - const p1: u64 = 0xC90FDAA22168C234; - - const Ox1p_64 = reinterpret(0x3BF0000000000000); // 0x1p-64 - const Ox1p_75 = reinterpret(0x3B40000000000000); // 0x1p-75 - - let shift = clz(q1); - - q1 = q1 << shift | q0 >> (64 - shift); - q0 <<= shift; - - let lo = umuldi(p1, q1); - let hi = res128_hi; - - let ahi = hi >> 11; - let alo = lo >> 11 | hi << 53; - let blo = (Ox1p_75 * p0 * q1 + Ox1p_75 * p1 * q0); - - rempio2_y0 = (ahi + u64(lo < blo)); - rempio2_y1 = Ox1p_64 * (alo + blo); - - return shift; -} - -/** @internal */ -// @ts-ignore: decorator -@inline -function umuldi(u: u64, v: u64): u64 { - let u1: u64 , v1: u64, w0: u64, w1: u64, t: u64; - - u1 = u & 0xFFFFFFFF; - v1 = v & 0xFFFFFFFF; - - u >>= 32; - v >>= 32; - - t = u1 * v1; - w0 = t & 0xFFFFFFFF; - t = u * v1 + (t >> 32); - w1 = t >> 32; - t = u1 * v + (t & 0xFFFFFFFF); - - res128_hi = u * v + w1 + (t >> 32); - return (t << 32) + w0; -} - -/** @internal */ -function pio2_large_quot(x: f64, u: i64): i32 { // see: jdh8/metallic/blob/master/src/math/double/rem_pio2.c - let magnitude = u & 0x7FFFFFFFFFFFFFFF; - let offset = (magnitude >> 52) - 1045; - let shift = offset & 63; - let tblPtr = PIO2_TABLE + ((offset >> 6) << 3); - let s0: u64, s1: u64, s2: u64; - - let b0 = load(tblPtr, 0 << 3); - let b1 = load(tblPtr, 1 << 3); - let b2 = load(tblPtr, 2 << 3); - - // Get 192 bits of 0x1p-31 / π with `offset` bits skipped - if (shift) { - let rshift = 64 - shift; - let b3 = load(tblPtr, 3 << 3); - s0 = b1 >> rshift | b0 << shift; - s1 = b2 >> rshift | b1 << shift; - s2 = b3 >> rshift | b2 << shift; - } else { - s0 = b0; - s1 = b1; - s2 = b2; - } - - let significand = (u & 0x000FFFFFFFFFFFFF) | 0x0010000000000000; - - // First 128 bits of fractional part of x/(2π) - let blo = umuldi(s1, significand); - let bhi = res128_hi; - - let ahi = s0 * significand; - let clo = (s2 >> 32) * (significand >> 32); - let plo = blo + clo; - let phi = ahi + bhi + u64(plo < clo); - - // r: u128 = p << 2 - let rlo = plo << 2; - let rhi = phi << 2 | plo >> 62; - - // s: i128 = r >> 127 - let slo = rhi >> 63; - let shi = slo >> 1; - let q = (phi >> 62) - slo; - - let shifter = 0x3CB0000000000000 - (pio2_right(rlo ^ slo, rhi ^ shi) << 52); - let signbit = (u ^ rhi) & 0x8000000000000000; - let coeff = reinterpret(shifter | signbit); - - rempio2_y0 *= coeff; - rempio2_y1 *= coeff; - - return q; -} - -/** @internal */ -// @ts-ignore: decorator -@inline -function rempio2(x: f64, u: u64, sign: i32): i32 { - const - pio2_1 = reinterpret(0x3FF921FB54400000), // 1.57079632673412561417e+00 - pio2_1t = reinterpret(0x3DD0B4611A626331), // 6.07710050650619224932e-11 - pio2_2 = reinterpret(0x3DD0B4611A600000), // 6.07710050630396597660e-11 - pio2_2t = reinterpret(0x3BA3198A2E037073), // 2.02226624879595063154e-21 - pio2_3 = reinterpret(0x3BA3198A2E000000), // 2.02226624871116645580e-21 - pio2_3t = reinterpret(0x397B839A252049C1), // 8.47842766036889956997e-32 - invpio2 = reinterpret(0x3FE45F306DC9C883); // 0.63661977236758134308 - - let ix = (u >> 32) & 0x7FFFFFFF; - - if (ASC_SHRINK_LEVEL < 1) { - if (ix < 0x4002D97C) { // |x| < 3pi/4, special case with n=+-1 - let q = 1, z: f64, y0: f64, y1: f64; - if (!sign) { - z = x - pio2_1; - if (ix != 0x3FF921FB) { // 33+53 bit pi is good enough - y0 = z - pio2_1t; - y1 = (z - y0) - pio2_1t; - } else { // near pi/2, use 33+33+53 bit pi - z -= pio2_2; - y0 = z - pio2_2t; - y1 = (z - y0) - pio2_2t; - } - } else { // negative x - z = x + pio2_1; - if (ix != 0x3FF921FB) { // 33+53 bit pi is good enough - y0 = z + pio2_1t; - y1 = (z - y0) + pio2_1t; - } else { // near pi/2, use 33+33+53 bit pi - z += pio2_2; - y0 = z + pio2_2t; - y1 = (z - y0) + pio2_2t; - } - q = -1; - } - rempio2_y0 = y0; - rempio2_y1 = y1; - return q; - } - } - - if (ix < 0x413921FB) { // |x| ~< 2^20*pi/2 (1647099) - // Use precise Cody Waite scheme - let q = nearest(x * invpio2); - let r = x - q * pio2_1; - let w = q * pio2_1t; // 1st round good to 85 bit - let j = ix >> 20; - let y0 = r - w; - let hi = (reinterpret(y0) >> 32); - let i = j - ((hi >> 20) & 0x7FF); - - if (i > 16) { // 2nd iteration needed, good to 118 - let t = r; - w = q * pio2_2; - r = t - w; - w = q * pio2_2t - ((t - r) - w); - y0 = r - w; - hi = (reinterpret(y0) >> 32); - i = j - ((hi >> 20) & 0x7FF); - if (i > 49) { // 3rd iteration need, 151 bits acc - let t = r; - w = q * pio2_3; - r = t - w; - w = q * pio2_3t - ((t - r) - w); - y0 = r - w; - } - } - let y1 = (r - y0) - w; - rempio2_y0 = y0; - rempio2_y1 = y1; - return q; - } - let q = pio2_large_quot(x, u); - return select(-q, q, sign); -} - -/** @internal */ -// @ts-ignore: decorator -@inline -function sin_kern(x: f64, y: f64, iy: i32): f64 { // see: musl/tree/src/math/__sin.c - const - S1 = reinterpret(0xBFC5555555555549), // -1.66666666666666324348e-01 - S2 = reinterpret(0x3F8111111110F8A6), // 8.33333333332248946124e-03 - S3 = reinterpret(0xBF2A01A019C161D5), // -1.98412698298579493134e-04 - S4 = reinterpret(0x3EC71DE357B1FE7D), // 2.75573137070700676789e-06 - S5 = reinterpret(0xBE5AE5E68A2B9CEB), // -2.50507602534068634195e-08 - S6 = reinterpret(0x3DE5D93A5ACFD57C); // 1.58969099521155010221e-10 - - let z = x * x; - let w = z * z; - let r = S2 + z * (S3 + z * S4) + z * w * (S5 + z * S6); - let v = z * x; - if (!iy) { - return x + v * (S1 + z * r); - } else { - return x - ((z * (0.5 * y - v * r) - y) - v * S1); - } -} - -/** @internal */ -// @ts-ignore: decorator -@inline -function cos_kern(x: f64, y: f64): f64 { // see: musl/tree/src/math/__cos.c - const - C1 = reinterpret(0x3FA555555555554C), // 4.16666666666666019037e-02 - C2 = reinterpret(0xBF56C16C16C15177), // -1.38888888888741095749e-03 - C3 = reinterpret(0x3EFA01A019CB1590), // 2.48015872894767294178e-05 - C4 = reinterpret(0xBE927E4F809C52AD), // -2.75573143513906633035e-07 - C5 = reinterpret(0x3E21EE9EBDB4B1C4), // 2.08757232129817482790e-09 - C6 = reinterpret(0xBDA8FAE9BE8838D4); // -1.13596475577881948265e-11 - - let z = x * x; - let w = z * z; - let r = z * (C1 + z * (C2 + z * C3)) + w * w * (C4 + z * (C5 + z * C6)); - let hz = 0.5 * z; - w = 1.0 - hz; - return w + (((1.0 - w) - hz) + (z * r - x * y)); -} - -/** @internal */ -function tan_kern(x: f64, y: f64, iy: i32): f64 { // see: src/lib/msun/src/k_tan.c - const - T0 = reinterpret(0x3FD5555555555563), // 3.33333333333334091986e-01 - T1 = reinterpret(0x3FC111111110FE7A), // 1.33333333333201242699e-01 - T2 = reinterpret(0x3FABA1BA1BB341FE), // 5.39682539762260521377e-02 - T3 = reinterpret(0x3F9664F48406D637), // 2.18694882948595424599e-02 - T4 = reinterpret(0x3F8226E3E96E8493), // 8.86323982359930005737e-03 - T5 = reinterpret(0x3F6D6D22C9560328), // 3.59207910759131235356e-03 - T6 = reinterpret(0x3F57DBC8FEE08315), // 1.45620945432529025516e-03 - T7 = reinterpret(0x3F4344D8F2F26501), // 5.88041240820264096874e-04 - T8 = reinterpret(0x3F3026F71A8D1068), // 2.46463134818469906812e-04 - T9 = reinterpret(0x3F147E88A03792A6), // 7.81794442939557092300e-05 - T10 = reinterpret(0x3F12B80F32F0A7E9), // 7.14072491382608190305e-05 - T11 = reinterpret(0xBEF375CBDB605373), // -1.85586374855275456654e-05 - T12 = reinterpret(0x3EFB2A7074BF7AD4); // 2.59073051863633712884e-05 - - const - one = reinterpret(0x3FF0000000000000), // 1.00000000000000000000e+00 - pio4 = reinterpret(0x3FE921FB54442D18), // 7.85398163397448278999e-01 - pio4lo = reinterpret(0x3C81A62633145C07); // 3.06161699786838301793e-17 - - let z: f64, r: f64, v: f64, w: f64, s: f64; - let hx = (reinterpret(x) >> 32); // high word of x - let ix = hx & 0x7FFFFFFF; // high word of |x| - let big = ix >= 0x3FE59428; - if (big) { // |x| >= 0.6744 - if (hx < 0) { x = -x, y = -y; } - z = pio4 - x; - w = pio4lo - y; - x = z + w; - y = 0.0; - } - z = x * x; - w = z * z; - r = T1 + w * (T3 + w * (T5 + w * (T7 + w * (T9 + w * T11)))); - v = z * (T2 + w * (T4 + w * (T6 + w * (T8 + w * (T10 + w * T12))))); - s = z * x; - r = y + z * (s * (r + v) + y); - r += T0 * s; - w = x + r; - if (big) { - v = iy; - return (1 - ((hx >> 30) & 2)) * (v - 2.0 * (x - (w * w / (w + v) - r))); - } - if (iy == 1) return w; - let a: f64, t: f64; - z = w; - z = reinterpret(reinterpret(z) & 0xFFFFFFFF00000000); - v = r - (z - x); // z + v = r + x - t = a = -one / w; // a = -1.0 / w - t = reinterpret(reinterpret(t) & 0xFFFFFFFF00000000); - s = one + t * z; - return t + a * (s + t * v); -} - -/** @internal */ -function dtoi32(x: f64): i32 { - if (ASC_SHRINK_LEVEL > 0) { - const inv32 = 1.0 / 4294967296; - return (x - 4294967296 * floor(x * inv32)); - } else { - let result = 0; - let u = reinterpret(x); - let e = (u >> 52) & 0x7FF; - if (e <= 1023 + 30) { - result = x; - } else if (e <= 1023 + 30 + 53) { - let v = (u & ((1 << 52) - 1)) | (1 << 52); - v = v << e - 1023 - 52 + 32; - result = (v >> 32); - result = select(-result, result, u < 0); - } - return result; - } -} - -// @ts-ignore: decorator -@lazy let random_seeded = false; - -// @ts-ignore: decorator -@lazy let random_state0_64: u64, random_state1_64: u64; - -// @ts-ignore: decorator -@lazy let random_state0_32: u32, random_state1_32: u32; - -function murmurHash3(h: u64): u64 { // Force all bits of a hash block to avalanche - h ^= h >> 33; // see: https://github.com/aappleby/smhasher - h *= 0xFF51AFD7ED558CCD; - h ^= h >> 33; - h *= 0xC4CEB9FE1A85EC53; - h ^= h >> 33; - return h; -} - -function splitMix32(h: u32): u32 { - h += 0x6D2B79F5; - h = (h ^ (h >> 15)) * (h | 1); - h ^= h + (h ^ (h >> 7)) * (h | 61); - return h ^ (h >> 14); -} - -export namespace NativeMath { - - // @ts-ignore: decorator - @lazy - export const E = reinterpret(0x4005BF0A8B145769); // 2.7182818284590452354 - - // @ts-ignore: decorator - @lazy - export const LN2 = reinterpret(0x3FE62E42FEFA39EF); // 0.69314718055994530942 - - // @ts-ignore: decorator - @lazy - export const LN10 = reinterpret(0x40026BB1BBB55516); // 2.30258509299404568402 - - // @ts-ignore: decorator - @lazy - export const LOG2E = reinterpret(0x3FF71547652B82FE); // 1.4426950408889634074 - - // @ts-ignore: decorator - @lazy - export const LOG10E = reinterpret(0x3FDBCB7B1526E50E); // 0.43429448190325182765 - - // @ts-ignore: decorator - @lazy - export const PI = reinterpret(0x400921FB54442D18); // 3.14159265358979323846 - - // @ts-ignore: decorator - @lazy - export const SQRT1_2 = reinterpret(0x3FE6A09E667F3BCD); // 0.70710678118654752440 - - // @ts-ignore: decorator - @lazy - export const SQRT2 = reinterpret(0x3FF6A09E667F3BCD); // 1.41421356237309504880 - - // @ts-ignore: decorator - @lazy - export let sincos_sin: f64 = 0; - - // @ts-ignore: decorator - @lazy - export let sincos_cos: f64 = 0; - - // @ts-ignore: decorator - @inline export function abs(x: f64): f64 { - return builtin_abs(x); - } - - export function acos(x: f64): f64 { // see: musl/src/math/acos.c and SUN COPYRIGHT NOTICE above - const - pio2_hi = reinterpret(0x3FF921FB54442D18), // 1.57079632679489655800e+00 - pio2_lo = reinterpret(0x3C91A62633145C07), // 6.12323399573676603587e-17 - Ox1p_120f = reinterpret(0x03800000); - - let hx = (reinterpret(x) >> 32); - let ix = hx & 0x7FFFFFFF; - if (ix >= 0x3FF00000) { - let lx = reinterpret(x); - if ((ix - 0x3FF00000 | lx) == 0) { - if (hx < 0) return 2 * pio2_hi + Ox1p_120f; - return 0; - } - return 0 / (x - x); - } - if (ix < 0x3FE00000) { - if (ix <= 0x3C600000) return pio2_hi + Ox1p_120f; - return pio2_hi - (x - (pio2_lo - x * R(x * x))); - } - let s: f64, w: f64, z: f64; - if (hx < 0) { - // z = (1.0 + x) * 0.5; - z = 0.5 + x * 0.5; - s = builtin_sqrt(z); - w = R(z) * s - pio2_lo; - return 2 * (pio2_hi - (s + w)); - } - // z = (1.0 - x) * 0.5; - z = 0.5 - x * 0.5; - s = builtin_sqrt(z); - let df = reinterpret(reinterpret(s) & 0xFFFFFFFF00000000); - let c = (z - df * df) / (s + df); - w = R(z) * s + c; - return 2 * (df + w); - } - - export function acosh(x: f64): f64 { // see: musl/src/math/acosh.c - const s = reinterpret(0x3FE62E42FEFA39EF); - let u = reinterpret(x); - // Prevent propagation for all input values less than 1.0. - // Note musl lib didn't fix this yet. - if (u < 0x3FF0000000000000) return (x - x) / 0.0; - let e = u >> 52 & 0x7FF; - if (e < 0x3FF + 1) return log1p(x - 1 + builtin_sqrt((x - 1) * (x - 1) + 2 * (x - 1))); - if (e < 0x3FF + 26) return log(2 * x - 1 / (x + builtin_sqrt(x * x - 1))); - return log(x) + s; - } - - export function asin(x: f64): f64 { // see: musl/src/math/asin.c and SUN COPYRIGHT NOTICE above - const - pio2_hi = reinterpret(0x3FF921FB54442D18), // 1.57079632679489655800e+00 - pio2_lo = reinterpret(0x3C91A62633145C07), // 6.12323399573676603587e-17 - Ox1p_120f = reinterpret(0x03800000); - - let hx = (reinterpret(x) >> 32); - let ix = hx & 0x7FFFFFFF; - if (ix >= 0x3FF00000) { - let lx = reinterpret(x); - if ((ix - 0x3FF00000 | lx) == 0) return x * pio2_hi + Ox1p_120f; - return 0 / (x - x); - } - if (ix < 0x3FE00000) { - if (ix < 0x3E500000 && ix >= 0x00100000) return x; - return x + x * R(x * x); - } - // let z = (1.0 - builtin_abs(x)) * 0.5; - let z = 0.5 - builtin_abs(x) * 0.5; - let s = builtin_sqrt(z); - let r = R(z); - if (ix >= 0x3FEF3333) x = pio2_hi - (2 * (s + s * r) - pio2_lo); - else { - let f = reinterpret(reinterpret(s) & 0xFFFFFFFF00000000); - let c = (z - f * f) / (s + f); - x = 0.5 * pio2_hi - (2 * s * r - (pio2_lo - 2 * c) - (0.5 * pio2_hi - 2 * f)); - } - return select(-x, x, hx < 0); - } - - export function asinh(x: f64): f64 { // see: musl/src/math/asinh.c - const c = reinterpret(0x3FE62E42FEFA39EF); // 0.693147180559945309417232121458176568 - let u = reinterpret(x); - let e = u >> 52 & 0x7FF; - let y = reinterpret(u & 0x7FFFFFFFFFFFFFFF); - if (e >= 0x3FF + 26) y = log(y) + c; - else if (e >= 0x3FF + 1) y = log(2 * y + 1 / (builtin_sqrt(y * y + 1) + y)); - else if (e >= 0x3FF - 26) y = log1p(y + y * y / (builtin_sqrt(y * y + 1) + 1)); - return builtin_copysign(y, x); - } - - export function atan(x: f64): f64 { // see musl/src/math/atan.c and SUN COPYRIGHT NOTICE above - const - atanhi0 = reinterpret(0x3FDDAC670561BB4F), // 4.63647609000806093515e-01 - atanhi1 = reinterpret(0x3FE921FB54442D18), // 7.85398163397448278999e-01 - atanhi2 = reinterpret(0x3FEF730BD281F69B), // 9.82793723247329054082e-01 - atanhi3 = reinterpret(0x3FF921FB54442D18), // 1.57079632679489655800e+00 - atanlo0 = reinterpret(0x3C7A2B7F222F65E2), // 2.26987774529616870924e-17 - atanlo1 = reinterpret(0x3C81A62633145C07), // 3.06161699786838301793e-17 - atanlo2 = reinterpret(0x3C7007887AF0CBBD), // 1.39033110312309984516e-17 - atanlo3 = reinterpret(0x3C91A62633145C07), // 6.12323399573676603587e-17 - aT0 = reinterpret(0x3FD555555555550D), // 3.33333333333329318027e-01 - aT1 = reinterpret(0xBFC999999998EBC4), // -1.99999999998764832476e-01 - aT2 = reinterpret(0x3FC24924920083FF), // 1.42857142725034663711e-01 - aT3 = reinterpret(0xBFBC71C6FE231671), // -1.11111104054623557880e-01, - aT4 = reinterpret(0x3FB745CDC54C206E), // 9.09088713343650656196e-02 - aT5 = reinterpret(0xBFB3B0F2AF749A6D), // -7.69187620504482999495e-02 - aT6 = reinterpret(0x3FB10D66A0D03D51), // 6.66107313738753120669e-02 - aT7 = reinterpret(0xBFADDE2D52DEFD9A), // -5.83357013379057348645e-02 - aT8 = reinterpret(0x3FA97B4B24760DEB), // 4.97687799461593236017e-02 - aT9 = reinterpret(0xBFA2B4442C6A6C2F), // -3.65315727442169155270e-02 - aT10 = reinterpret(0x3F90AD3AE322DA11), // 1.62858201153657823623e-02 - Ox1p_120f = reinterpret(0x03800000); - - let ix = (reinterpret(x) >> 32); - let sx = x; - ix &= 0x7FFFFFFF; - let z: f64; - if (ix >= 0x44100000) { - if (isNaN(x)) return x; - z = atanhi3 + Ox1p_120f; - return builtin_copysign(z, sx); - } - let id: i32; - if (ix < 0x3FDC0000) { - if (ix < 0x3E400000) return x; - id = -1; - } else { - x = builtin_abs(x); - if (ix < 0x3FF30000) { - if (ix < 0x3FE60000) { - id = 0; - x = (2.0 * x - 1.0) / (2.0 + x); - } else { - id = 1; - x = (x - 1.0) / (x + 1.0); - } - } else { - if (ix < 0x40038000) { - id = 2; - x = (x - 1.5) / (1.0 + 1.5 * x); - } else { - id = 3; - x = -1.0 / x; - } - } - } - z = x * x; - let w = z * z; - let s1 = z * (aT0 + w * (aT2 + w * (aT4 + w * (aT6 + w * (aT8 + w * aT10))))); - let s2 = w * (aT1 + w * (aT3 + w * (aT5 + w * (aT7 + w * aT9)))); - let s3 = x * (s1 + s2); - if (id < 0) return x - s3; - switch (id) { - case 0: { z = atanhi0 - ((s3 - atanlo0) - x); break; } - case 1: { z = atanhi1 - ((s3 - atanlo1) - x); break; } - case 2: { z = atanhi2 - ((s3 - atanlo2) - x); break; } - case 3: { z = atanhi3 - ((s3 - atanlo3) - x); break; } - default: unreachable(); - } - return builtin_copysign(z, sx); - } - - export function atanh(x: f64): f64 { // see: musl/src/math/atanh.c - let u = reinterpret(x); - let e = u >> 52 & 0x7FF; - let y = builtin_abs(x); - if (e < 0x3FF - 1) { - if (e >= 0x3FF - 32) y = 0.5 * log1p(2 * y + 2 * y * y / (1 - y)); - } else { - y = 0.5 * log1p(2 * (y / (1 - y))); - } - return builtin_copysign(y, x); - } - - export function atan2(y: f64, x: f64): f64 { // see: musl/src/math/atan2.c and SUN COPYRIGHT NOTICE above - const pi_lo = reinterpret(0x3CA1A62633145C07); // 1.2246467991473531772E-16 - if (isNaN(x) || isNaN(y)) return x + y; - let u = reinterpret(x); - let ix = (u >> 32); - let lx = u; - u = reinterpret(y); - let iy = (u >> 32); - let ly = u; - if ((ix - 0x3FF00000 | lx) == 0) return atan(y); - let m = ((iy >> 31) & 1) | ((ix >> 30) & 2); - ix = ix & 0x7FFFFFFF; - iy = iy & 0x7FFFFFFF; - if ((iy | ly) == 0) { - switch (m) { - case 0: - case 1: return y; - case 2: return PI; - case 3: return -PI; - } - } - if ((ix | lx) == 0) return m & 1 ? -PI / 2 : PI / 2; - if (ix == 0x7FF00000) { - if (iy == 0x7FF00000) { - let t = m & 2 ? 3 * PI / 4 : PI / 4; - return m & 1 ? -t : t; - } else { - let t = m & 2 ? PI : 0; - return m & 1 ? -t : t; - } - } - let z: f64; - if (ix + (64 << 20) < iy || iy == 0x7FF00000) return m & 1 ? -PI / 2 : PI / 2; - if ((m & 2) && iy + (64 << 20) < ix) z = 0; - else z = atan(builtin_abs(y / x)); - switch (m) { - case 0: return z; - case 1: return -z; - case 2: return PI - (z - pi_lo); - case 3: return (z - pi_lo) - PI; - } - unreachable(); - return 0; - } - - export function cbrt(x: f64): f64 { // see: musl/src/math/cbrt.c and SUN COPYRIGHT NOTICE above - const - B1 = 715094163, - B2 = 696219795, - P0 = reinterpret(0x3FFE03E60F61E692), // 1.87595182427177009643 - P1 = reinterpret(0xBFFE28E092F02420), // -1.88497979543377169875 - P2 = reinterpret(0x3FF9F1604A49D6C2), // 1.621429720105354466140 - P3 = reinterpret(0xBFE844CBBEE751D9), // -0.758397934778766047437 - P4 = reinterpret(0x3FC2B000D4E4EDD7), // 0.145996192886612446982 - Ox1p54 = reinterpret(0x4350000000000000); // 0x1p54 - - let u = reinterpret(x); - let hx = (u >> 32) & 0x7FFFFFFF; - if (hx >= 0x7FF00000) return x + x; - if (hx < 0x00100000) { - u = reinterpret(x * Ox1p54); - hx = (u >> 32) & 0x7FFFFFFF; - if (hx == 0) return x; - hx = hx / 3 + B2; - } else { - hx = hx / 3 + B1; - } - u &= 1 << 63; - u |= hx << 32; - let t = reinterpret(u); - let r = (t * t) * (t / x); - t = t * ((P0 + r * (P1 + r * P2)) + ((r * r) * r) * (P3 + r * P4)); - t = reinterpret((reinterpret(t) + 0x80000000) & 0xFFFFFFFFC0000000); - let s = t * t; - r = x / s; - r = (r - t) / (2 * t + r); - t = t + t * r; - return t; - } - - // @ts-ignore: decorator - @inline - export function ceil(x: f64): f64 { - return builtin_ceil(x); - } - - export function clz32(x: f64): f64 { - if (!isFinite(x)) return 32; - /* - * Wasm (MVP) and JS have different approaches for double->int conversions. - * - * For emulate JS conversion behavior and avoid trapping from wasm we should modulate by MAX_INT - * our float-point arguments before actual convertion to integers. - */ - return builtin_clz(dtoi32(x)); - } - - export function cos(x: f64): f64 { // see: musl/src/math/cos.c - let u = reinterpret(x); - let ux = u32(u >> 32); - let sign = ux >> 31; - - ux &= 0x7FFFFFFF; - - // |x| ~< pi/4 - if (ux <= 0x3FE921FB) { - if (ux < 0x3E46A09E) { // |x| < 2**-27 * sqrt(2) - return 1.0; - } - return cos_kern(x, 0); - } - - // sin(Inf or NaN) is NaN - if (ux >= 0x7FF00000) return x - x; - - // argument reduction needed - let n = rempio2(x, u, sign); - let y0 = rempio2_y0; - let y1 = rempio2_y1; - - x = n & 1 ? sin_kern(y0, y1, 1) : cos_kern(y0, y1); - return (n + 1) & 2 ? -x : x; - } - - export function cosh(x: f64): f64 { // see: musl/src/math/cosh.c - let u = reinterpret(x); - u &= 0x7FFFFFFFFFFFFFFF; - x = reinterpret(u); - let w = (u >> 32); - let t: f64; - if (w < 0x3FE62E42) { - if (w < 0x3FF00000 - (26 << 20)) return 1; - t = expm1(x); - // return 1 + t * t / (2 * (1 + t)); - return 1 + t * t / (2 + 2 * t); - } - if (w < 0x40862E42) { - t = exp(x); - return 0.5 * (t + 1 / t); - } - t = expo2(x, 1); - return t; - } - - export function exp(x: f64): f64 { // see: musl/src/math/exp.c and SUN COPYRIGHT NOTICE above - if (ASC_SHRINK_LEVEL < 1) { - return exp_lut(x); - } else { - const - ln2hi = reinterpret(0x3FE62E42FEE00000), // 6.93147180369123816490e-01 - ln2lo = reinterpret(0x3DEA39EF35793C76), // 1.90821492927058770002e-10 - invln2 = reinterpret(0x3FF71547652B82FE), // 1.44269504088896338700e+00 - P1 = reinterpret(0x3FC555555555553E), // 1.66666666666666019037e-01 - P2 = reinterpret(0xBF66C16C16BEBD93), // -2.77777777770155933842e-03 - P3 = reinterpret(0x3F11566AAF25DE2C), // 6.61375632143793436117e-05 - P4 = reinterpret(0xBEBBBD41C5D26BF1), // -1.65339022054652515390e-06 - P5 = reinterpret(0x3E66376972BEA4D0), // 4.13813679705723846039e-08 - overflow = reinterpret(0x40862E42FEFA39EF), // 709.782712893383973096 - underflow = reinterpret(0xC0874910D52D3051), // -745.13321910194110842 - Ox1p1023 = reinterpret(0x7FE0000000000000); // 0x1p1023 - - let hx = u32(reinterpret(x) >> 32); - let sign = hx >> 31; - hx &= 0x7FFFFFFF; - if (hx >= 0x4086232B) { - if (isNaN(x)) return x; - if (x > overflow) return x * Ox1p1023; - if (x < underflow) return 0; - } - let hi: f64, lo: f64 = 0; - let k = 0; - if (hx > 0x3FD62E42) { - if (hx >= 0x3FF0A2B2) { - k = i32(invln2 * x + builtin_copysign(0.5, x)); - } else { - k = 1 - (sign << 1); - } - hi = x - k * ln2hi; - lo = k * ln2lo; - x = hi - lo; - } else if (hx > 0x3E300000) { - hi = x; - } else return 1.0 + x; - let xs = x * x; - // let c = x - xp2 * (P1 + xp2 * (P2 + xp2 * (P3 + xp2 * (P4 + xp2 * P5)))); - let xq = xs * xs; - let c = x - (xs * P1 + xq * ((P2 + xs * P3) + xq * (P4 + xs * P5))); - let y = 1.0 + (x * c / (2 - c) - lo + hi); - return k == 0 ? y : scalbn(y, k); - } - } - - export function exp2(x: f64): f64 { - return exp2_lut(x); - } - - export function expm1(x: f64): f64 { // see: musl/src/math/expm1.c and SUN COPYRIGHT NOTICE above - const - o_threshold = reinterpret(0x40862E42FEFA39EF), // 7.09782712893383973096e+02 - ln2_hi = reinterpret(0x3FE62E42FEE00000), // 6.93147180369123816490e-01 - ln2_lo = reinterpret(0x3DEA39EF35793C76), // 1.90821492927058770002e-10 - invln2 = reinterpret(0x3FF71547652B82FE), // 1.44269504088896338700e+00 - Q1 = reinterpret(0xBFA11111111110F4), // -3.33333333333331316428e-02 - Q2 = reinterpret(0x3F5A01A019FE5585), // 1.58730158725481460165e-03 - Q3 = reinterpret(0xBF14CE199EAADBB7), // -7.93650757867487942473e-05 - Q4 = reinterpret(0x3ED0CFCA86E65239), // 4.00821782732936239552e-06 - Q5 = reinterpret(0xBE8AFDB76E09C32D), // -2.01099218183624371326e-07 - Ox1p1023 = reinterpret(0x7FE0000000000000); // 0x1p1023 - - let u = reinterpret(x); - let hx = u32(u >> 32) & 0x7FFFFFFF; - let sign = u32(u >> 63); - let k = 0; - if (hx >= 0x4043687A) { - if (isNaN(x)) return x; - if (sign) return -1; - if (x > o_threshold) return x * Ox1p1023; - } - let c = 0.0, t: f64; - if (hx > 0x3FD62E42) { - k = select( - 1 - (sign << 1), - i32(invln2 * x + builtin_copysign(0.5, x)), - hx < 0x3FF0A2B2 - ); - t = k; - let hi = x - t * ln2_hi; - let lo = t * ln2_lo; - x = hi - lo; - c = (hi - x) - lo; - } else if (hx < 0x3C900000) return x; - let hfx = 0.5 * x; - let hxs = x * hfx; - // let r1 = 1.0 + hxs * (Q1 + hxs * (Q2 + hxs * (Q3 + hxs * (Q4 + hxs * Q5)))); - let hxq = hxs * hxs; - let r1 = (1.0 + hxs * Q1) + hxq * ((Q2 + hxs * Q3) + hxq * (Q4 + hxs * Q5)); - t = 3.0 - r1 * hfx; - let e = hxs * ((r1 - t) / (6.0 - x * t)); - if (k == 0) return x - (x * e - hxs); - e = x * (e - c) - c; - e -= hxs; - if (k == -1) return 0.5 * (x - e) - 0.5; - if (k == 1) { - if (x < -0.25) return -2.0 * (e - (x + 0.5)); - return 1.0 + 2.0 * (x - e); - } - u = (0x3FF + k) << 52; - let twopk = reinterpret(u); - let y: f64; - if (k < 0 || k > 56) { - y = x - e + 1.0; - if (k == 1024) y = y * 2.0 * Ox1p1023; - else y = y * twopk; - return y - 1.0; - } - u = (0x3FF - k) << 52; - y = reinterpret(u); - if (k < 20) y = (1 - y) - e; - else y = 1 - (e + y); - return (x + y) * twopk; - } - - // @ts-ignore: decorator - @inline - export function floor(x: f64): f64 { - return builtin_floor(x); - } - - // @ts-ignore: decorator - @inline - export function fround(x: f64): f64 { - return x; - } - - export function hypot(x: f64, y: f64): f64 { // see: musl/src/math/hypot.c - const - SPLIT = reinterpret(0x41A0000000000000) + 1, // 0x1p27 + 1 - Ox1p700 = reinterpret(0x6BB0000000000000), - Ox1p_700 = reinterpret(0x1430000000000000); - - let ux = reinterpret(x); - let uy = reinterpret(y); - ux &= 0x7FFFFFFFFFFFFFFF; - uy &= 0x7FFFFFFFFFFFFFFF; - if (ux < uy) { - let ut = ux; - ux = uy; - uy = ut; - } - let ex = i32(ux >> 52); - let ey = i32(uy >> 52); - y = reinterpret(uy); - if (ey == 0x7FF) return y; - x = reinterpret(ux); - if (ex == 0x7FF || uy == 0) return x; - if (ex - ey > 64) return x + y; - let z = 1.0; - if (ex > 0x3FF + 510) { - z = Ox1p700; - x *= Ox1p_700; - y *= Ox1p_700; - } else if (ey < 0x3FF - 450) { - z = Ox1p_700; - x *= Ox1p700; - y *= Ox1p700; - } - let c = x * SPLIT; - let h = x - c + c; - let l = x - h; - let hx = x * x; - let lx = h * h - hx + (2 * h + l) * l; - c = y * SPLIT; - h = y - c + c; - l = y - h; - let hy = y * y; - let ly = h * h - hy + (2 * h + l) * l; - return z * builtin_sqrt(ly + lx + hy + hx); - } - - export function imul(x: f64, y: f64): f64 { - /* - * Wasm (MVP) and JS have different approaches for double->int conversions. - * - * For emulate JS conversion behavior and avoid trapping from wasm we should modulate by MAX_INT - * our float-point arguments before actual convertion to integers. - */ - if (!isFinite(x + y)) return 0; - return dtoi32(x) * dtoi32(y); - } - - export function log(x: f64): f64 { // see: musl/src/math/log.c and SUN COPYRIGHT NOTICE above - if (ASC_SHRINK_LEVEL < 1) { - return log_lut(x); - } else { - const - ln2_hi = reinterpret(0x3FE62E42FEE00000), // 6.93147180369123816490e-01 - ln2_lo = reinterpret(0x3DEA39EF35793C76), // 1.90821492927058770002e-10 - Lg1 = reinterpret(0x3FE5555555555593), // 6.666666666666735130e-01 - Lg2 = reinterpret(0x3FD999999997FA04), // 3.999999999940941908e-01 - Lg3 = reinterpret(0x3FD2492494229359), // 2.857142874366239149e-01 - Lg4 = reinterpret(0x3FCC71C51D8E78AF), // 2.222219843214978396e-01 - Lg5 = reinterpret(0x3FC7466496CB03DE), // 1.818357216161805012e-01 - Lg6 = reinterpret(0x3FC39A09D078C69F), // 1.531383769920937332e-01 - Lg7 = reinterpret(0x3FC2F112DF3E5244), // 1.479819860511658591e-01 - Ox1p54 = reinterpret(0x4350000000000000); // 0x1p54 - - let u = reinterpret(x); - let hx = u32(u >> 32); - let k = 0; - let sign = hx >> 31; - if (sign || hx < 0x00100000) { - if (u << 1 == 0) return -1 / (x * x); - if (sign) return (x - x) / 0.0; - k -= 54; - x *= Ox1p54; - u = reinterpret(x); - hx = u32(u >> 32); - } else if (hx >= 0x7FF00000) { - return x; - } else if (hx == 0x3FF00000 && u << 32 == 0) { - return 0; - } - hx += 0x3FF00000 - 0x3FE6A09E; - k += (hx >> 20) - 0x3FF; - hx = (hx & 0x000FFFFF) + 0x3FE6A09E; - u = hx << 32 | (u & 0xFFFFFFFF); - x = reinterpret(u); - let f = x - 1.0; - let hfsq = 0.5 * f * f; - let s = f / (2.0 + f); - let z = s * s; - let w = z * z; - let t1 = w * (Lg2 + w * (Lg4 + w * Lg6)); - let t2 = z * (Lg1 + w * (Lg3 + w * (Lg5 + w * Lg7))); - let r = t2 + t1; - let dk = k; - return s * (hfsq + r) + dk * ln2_lo - hfsq + f + dk * ln2_hi; - } - } - - export function log10(x: f64): f64 { // see: musl/src/math/log10.c and SUN COPYRIGHT NOTICE above - const - ivln10hi = reinterpret(0x3FDBCB7B15200000), // 4.34294481878168880939e-01 - ivln10lo = reinterpret(0x3DBB9438CA9AADD5), // 2.50829467116452752298e-11 - log10_2hi = reinterpret(0x3FD34413509F6000), // 3.01029995663611771306e-01 - log10_2lo = reinterpret(0x3D59FEF311F12B36), // 3.69423907715893078616e-13 - Lg1 = reinterpret(0x3FE5555555555593), // 6.666666666666735130e-01 - Lg2 = reinterpret(0x3FD999999997FA04), // 3.999999999940941908e-01 - Lg3 = reinterpret(0x3FD2492494229359), // 2.857142874366239149e-01 - Lg4 = reinterpret(0x3FCC71C51D8E78AF), // 2.222219843214978396e-01 - Lg5 = reinterpret(0x3FC7466496CB03DE), // 1.818357216161805012e-01 - Lg6 = reinterpret(0x3FC39A09D078C69F), // 1.531383769920937332e-01 - Lg7 = reinterpret(0x3FC2F112DF3E5244), // 1.479819860511658591e-01 - Ox1p54 = reinterpret(0x4350000000000000); // 0x1p54 - - let u = reinterpret(x); - let hx = u32(u >> 32); - let k = 0; - let sign = hx >> 31; - if (sign || hx < 0x00100000) { - if (u << 1 == 0) return -1 / (x * x); - if (sign) return (x - x) / 0.0; - k -= 54; - x *= Ox1p54; - u = reinterpret(x); - hx = u32(u >> 32); - } else if (hx >= 0x7FF00000) { - return x; - } else if (hx == 0x3FF00000 && u << 32 == 0) { - return 0; - } - hx += 0x3FF00000 - 0x3FE6A09E; - k += i32(hx >> 20) - 0x3FF; - hx = (hx & 0x000FFFFF) + 0x3FE6A09E; - u = hx << 32 | (u & 0xFFFFFFFF); - x = reinterpret(u); - let f = x - 1.0; - let hfsq = 0.5 * f * f; - let s = f / (2.0 + f); - let z = s * s; - let w = z * z; - let t1 = w * (Lg2 + w * (Lg4 + w * Lg6)); - let t2 = z * (Lg1 + w * (Lg3 + w * (Lg5 + w * Lg7))); - let r = t2 + t1; - let hi = f - hfsq; - u = reinterpret(hi); - u &= 0xFFFFFFFF00000000; - hi = reinterpret(u); - let lo = f - hi - hfsq + s * (hfsq + r); - let val_hi = hi * ivln10hi; - let dk = k; - let y = dk * log10_2hi; - let val_lo = dk * log10_2lo + (lo + hi) * ivln10lo + lo * ivln10hi; - w = y + val_hi; - val_lo += (y - w) + val_hi; - return val_lo + w; - } - - export function log1p(x: f64): f64 { // see: musl/src/math/log1p.c and SUN COPYRIGHT NOTICE above - const - ln2_hi = reinterpret(0x3FE62E42FEE00000), // 6.93147180369123816490e-01 - ln2_lo = reinterpret(0x3DEA39EF35793C76), // 1.90821492927058770002e-10 - Lg1 = reinterpret(0x3FE5555555555593), // 6.666666666666735130e-01 - Lg2 = reinterpret(0x3FD999999997FA04), // 3.999999999940941908e-01 - Lg3 = reinterpret(0x3FD2492494229359), // 2.857142874366239149e-01 - Lg4 = reinterpret(0x3FCC71C51D8E78AF), // 2.222219843214978396e-01 - Lg5 = reinterpret(0x3FC7466496CB03DE), // 1.818357216161805012e-01 - Lg6 = reinterpret(0x3FC39A09D078C69F), // 1.531383769920937332e-01 - Lg7 = reinterpret(0x3FC2F112DF3E5244); // 1.479819860511658591e-01 - - let u = reinterpret(x); - let hx = u32(u >> 32); - let k = 1; - let c = 0.0, f = 0.0; - if (hx < 0x3FDA827A || bool(hx >> 31)) { - if (hx >= 0xBFF00000) { - if (x == -1) return x / 0.0; - return (x - x) / 0.0; - } - if (hx << 1 < 0x3CA00000 << 1) return x; - if (hx <= 0xBFD2BEC4) { - k = 0; - c = 0; - f = x; - } - } else if (hx >= 0x7FF00000) return x; - if (k) { - u = reinterpret(1 + x); - let hu = u32(u >> 32); - hu += 0x3FF00000 - 0x3FE6A09E; - k = i32(hu >> 20) - 0x3FF; - if (k < 54) { - let uf = reinterpret(u); - c = k >= 2 ? 1 - (uf - x) : x - (uf - 1); - c /= uf; - } else c = 0; - hu = (hu & 0x000FFFFF) + 0x3FE6A09E; - u = hu << 32 | (u & 0xFFFFFFFF); - f = reinterpret(u) - 1; - } - let hfsq = 0.5 * f * f; - let s = f / (2.0 + f); - let z = s * s; - let w = z * z; - let t1 = w * (Lg2 + w * (Lg4 + w * Lg6)); - let t2 = z * (Lg1 + w * (Lg3 + w * (Lg5 + w * Lg7))); - let r = t2 + t1; - let dk = k; - return s * (hfsq + r) + (dk * ln2_lo + c) - hfsq + f + dk * ln2_hi; - } - - export function log2(x: f64): f64 { // see: musl/src/math/log2.c and SUN COPYRIGHT NOTICE above - if (ASC_SHRINK_LEVEL < 1) { - return log2_lut(x); - } else { - const - ivln2hi = reinterpret(0x3FF7154765200000), // 1.44269504072144627571e+00 - ivln2lo = reinterpret(0x3DE705FC2EEFA200), // 1.67517131648865118353e-10 - Lg1 = reinterpret(0x3FE5555555555593), // 6.666666666666735130e-01 - Lg2 = reinterpret(0x3FD999999997FA04), // 3.999999999940941908e-01 - Lg3 = reinterpret(0x3FD2492494229359), // 2.857142874366239149e-01 - Lg4 = reinterpret(0x3FCC71C51D8E78AF), // 2.222219843214978396e-01 - Lg5 = reinterpret(0x3FC7466496CB03DE), // 1.818357216161805012e-01 - Lg6 = reinterpret(0x3FC39A09D078C69F), // 1.531383769920937332e-01 - Lg7 = reinterpret(0x3FC2F112DF3E5244), // 1.479819860511658591e-01 - Ox1p54 = reinterpret(0x4350000000000000); // 1p54 - - let u = reinterpret(x); - let hx = u32(u >> 32); - let k = 0; - let sign = hx >> 31; - if (sign || hx < 0x00100000) { - if (u << 1 == 0) return -1 / (x * x); - if (sign) return (x - x) / 0.0; - k -= 54; - x *= Ox1p54; - u = reinterpret(x); - hx = u32(u >> 32); - } else if (hx >= 0x7FF00000) { - return x; - } else if (hx == 0x3FF00000 && u << 32 == 0) { - return 0; - } - hx += 0x3FF00000 - 0x3FE6A09E; - k += i32(hx >> 20) - 0x3FF; - hx = (hx & 0x000FFFFF) + 0x3FE6A09E; - u = hx << 32 | (u & 0xFFFFFFFF); - x = reinterpret(u); - let f = x - 1.0; - let hfsq = 0.5 * f * f; - let s = f / (2.0 + f); - let z = s * s; - let w = z * z; - let t1 = w * (Lg2 + w * (Lg4 + w * Lg6)); - let t2 = z * (Lg1 + w * (Lg3 + w * (Lg5 + w * Lg7))); - let r = t2 + t1; - let hi = f - hfsq; - u = reinterpret(hi); - u &= 0xFFFFFFFF00000000; - hi = reinterpret(u); - let lo = f - hi - hfsq + s * (hfsq + r); - let val_hi = hi * ivln2hi; - let val_lo = (lo + hi) * ivln2lo + lo * ivln2hi; - let y = k; - w = y + val_hi; - val_lo += (y - w) + val_hi; - val_hi = w; - return val_lo + val_hi; - } - } - - // @ts-ignore: decorator - @inline - export function max(value1: f64, value2: f64): f64 { - return builtin_max(value1, value2); - } - - // @ts-ignore: decorator - @inline - export function min(value1: f64, value2: f64): f64 { - return builtin_min(value1, value2); - } - - export function pow(x: f64, y: f64): f64 { // see: musl/src/math/pow.c and SUN COPYRIGHT NOTICE above - // TODO: remove this fast pathes after introduced own mid-end IR with "stdlib call simplify" transforms - if (builtin_abs(y) <= 2) { - if (y == 2.0) return x * x; - if (y == 0.5) { - return select( - builtin_abs(builtin_sqrt(x)), - Infinity, - x != -Infinity - ); - } - if (y == -1.0) return 1 / x; - if (y == 1.0) return x; - if (y == 0.0) return 1.0; - } - if (ASC_SHRINK_LEVEL < 1) { - return pow_lut(x, y); - } else { - const - dp_h1 = reinterpret(0x3FE2B80340000000), // 5.84962487220764160156e-01 - dp_l1 = reinterpret(0x3E4CFDEB43CFD006), // 1.35003920212974897128e-08 - two53 = reinterpret(0x4340000000000000), // 9007199254740992.0 - huge = reinterpret(0x7E37E43C8800759C), // 1e+300 - tiny = reinterpret(0x01A56E1FC2F8F359), // 1e-300 - L1 = reinterpret(0x3FE3333333333303), // 5.99999999999994648725e-01 - L2 = reinterpret(0x3FDB6DB6DB6FABFF), // 4.28571428578550184252e-01 - L3 = reinterpret(0x3FD55555518F264D), // 3.33333329818377432918e-01 - L4 = reinterpret(0x3FD17460A91D4101), // 2.72728123808534006489e-01 - L5 = reinterpret(0x3FCD864A93C9DB65), // 2.30660745775561754067e-01 - L6 = reinterpret(0x3FCA7E284A454EEF), // 2.06975017800338417784e-01 - P1 = reinterpret(0x3FC555555555553E), // 1.66666666666666019037e-01 - P2 = reinterpret(0xBF66C16C16BEBD93), // -2.77777777770155933842e-03 - P3 = reinterpret(0x3F11566AAF25DE2C), // 6.61375632143793436117e-05 - P4 = reinterpret(0xBEBBBD41C5D26BF1), // -1.65339022054652515390e-06 - P5 = reinterpret(0x3E66376972BEA4D0), // 4.13813679705723846039e-08 - lg2 = reinterpret(0x3FE62E42FEFA39EF), // 6.93147180559945286227e-01 - lg2_h = reinterpret(0x3FE62E4300000000), // 6.93147182464599609375e-01 - lg2_l = reinterpret(0xBE205C610CA86C39), // -1.90465429995776804525e-09 - ovt = reinterpret(0x3C971547652B82FE), // 8.0085662595372944372e-017 - cp = reinterpret(0x3FEEC709DC3A03FD), // 9.61796693925975554329e-01 - cp_h = reinterpret(0x3FEEC709E0000000), // 9.61796700954437255859e-01 - cp_l = reinterpret(0xBE3E2FE0145B01F5), // -7.02846165095275826516e-09 - ivln2 = reinterpret(0x3FF71547652B82FE), // 1.44269504088896338700e+00 - ivln2_h = reinterpret(0x3FF7154760000000), // 1.44269502162933349609e+00 - ivln2_l = reinterpret(0x3E54AE0BF85DDF44), // 1.92596299112661746887e-08 - inv3 = reinterpret(0x3FD5555555555555); // 0.3333333333333333333333 - - let u_ = reinterpret(x); - let hx = i32(u_ >> 32); - let lx = u_; - u_ = reinterpret(y); - let hy = i32(u_ >> 32); - let ly = u_; - let ix = hx & 0x7FFFFFFF; - let iy = hy & 0x7FFFFFFF; - if ((iy | ly) == 0) return 1.0; // x**0 = 1, even if x is NaN - // if (hx == 0x3FF00000 && lx == 0) return 1.0; // C: 1**y = 1, even if y is NaN, JS: NaN - if ( // NaN if either arg is NaN - ix > 0x7FF00000 || (ix == 0x7FF00000 && lx != 0) || - iy > 0x7FF00000 || (iy == 0x7FF00000 && ly != 0) - ) return x + y; - let yisint = 0, k: i32; - if (hx < 0) { - if (iy >= 0x43400000) yisint = 2; - else if (iy >= 0x3FF00000) { - k = (iy >> 20) - 0x3FF; - let offset = select(52, 20, k > 20) - k; - let Ly = select(ly, iy, k > 20); - let jj = Ly >> offset; - if ((jj << offset) == Ly) yisint = 2 - (jj & 1); - } - } - if (ly == 0) { - if (iy == 0x7FF00000) { // y is +-inf - if (((ix - 0x3FF00000) | lx) == 0) return NaN; // C: (-1)**+-inf is 1, JS: NaN - else if (ix >= 0x3FF00000) return hy >= 0 ? y : 0.0; // (|x|>1)**+-inf = inf,0 - else return hy >= 0 ? 0.0 : -y; // (|x|<1)**+-inf = 0,inf - } - if (iy == 0x3FF00000) { - if (hy >= 0) return x; - return 1 / x; - } - if (hy == 0x40000000) return x * x; - if (hy == 0x3FE00000) { - if (hx >= 0) return builtin_sqrt(x); - } - } - let ax = builtin_abs(x), z: f64; - if (lx == 0) { - if (ix == 0 || ix == 0x7FF00000 || ix == 0x3FF00000) { - z = ax; - if (hy < 0) z = 1.0 / z; - if (hx < 0) { - if (((ix - 0x3FF00000) | yisint) == 0) { - let d = z - z; - z = d / d; - } else if (yisint == 1) z = -z; - } - return z; - } - } - let s = 1.0; - if (hx < 0) { - if (yisint == 0) { - let d = x - x; - return d / d; - } - if (yisint == 1) s = -1.0; - } - let t1: f64, t2: f64, p_h: f64, p_l: f64, r: f64, t: f64, u: f64, v: f64, w: f64; - let j: i32, n: i32; - if (iy > 0x41E00000) { - if (iy > 0x43F00000) { - if (ix <= 0x3FEFFFFF) return hy < 0 ? huge * huge : tiny * tiny; - if (ix >= 0x3FF00000) return hy > 0 ? huge * huge : tiny * tiny; - } - if (ix < 0x3FEFFFFF) return hy < 0 ? s * huge * huge : s * tiny * tiny; - if (ix > 0x3FF00000) return hy > 0 ? s * huge * huge : s * tiny * tiny; - t = ax - 1.0; - w = (t * t) * (0.5 - t * (inv3 - t * 0.25)); - u = ivln2_h * t; - v = t * ivln2_l - w * ivln2; - t1 = u + v; - t1 = reinterpret(reinterpret(t1) & 0xFFFFFFFF00000000); - t2 = v - (t1 - u); - } else { - let ss: f64, s2: f64, s_h: f64, s_l: f64, t_h: f64, t_l: f64; - n = 0; - if (ix < 0x00100000) { - ax *= two53; - n -= 53; - ix = (reinterpret(ax) >> 32); - } - n += (ix >> 20) - 0x3FF; - j = ix & 0x000FFFFF; - ix = j | 0x3FF00000; - if (j <= 0x3988E) k = 0; - else if (j < 0xBB67A) k = 1; - else { - k = 0; - n += 1; - ix -= 0x00100000; - } - ax = reinterpret(reinterpret(ax) & 0xFFFFFFFF | (ix << 32)); - let bp = select(1.5, 1.0, k); // k ? 1.5 : 1.0 - u = ax - bp; - v = 1.0 / (ax + bp); - ss = u * v; - s_h = ss; - s_h = reinterpret(reinterpret(s_h) & 0xFFFFFFFF00000000); - t_h = reinterpret(u64(((ix >> 1) | 0x20000000) + 0x00080000 + (k << 18)) << 32); - t_l = ax - (t_h - bp); - s_l = v * ((u - s_h * t_h) - s_h * t_l); - s2 = ss * ss; - r = s2 * s2 * (L1 + s2 * (L2 + s2 * (L3 + s2 * (L4 + s2 * (L5 + s2 * L6))))); - r += s_l * (s_h + ss); - s2 = s_h * s_h; - t_h = 3.0 + s2 + r; - t_h = reinterpret(reinterpret(t_h) & 0xFFFFFFFF00000000); - t_l = r - ((t_h - 3.0) - s2); - u = s_h * t_h; - v = s_l * t_h + t_l * ss; - p_h = u + v; - p_h = reinterpret(reinterpret(p_h) & 0xFFFFFFFF00000000); - p_l = v - (p_h - u); - let z_h = cp_h * p_h; - let dp_l = select(dp_l1, 0.0, k); - let z_l = cp_l * p_h + p_l * cp + dp_l; - t = n; - let dp_h = select(dp_h1, 0.0, k); - t1 = ((z_h + z_l) + dp_h) + t; - t1 = reinterpret(reinterpret(t1) & 0xFFFFFFFF00000000); - t2 = z_l - (((t1 - t) - dp_h) - z_h); - } - let y1 = y; - y1 = reinterpret(reinterpret(y1) & 0xFFFFFFFF00000000); - p_l = (y - y1) * t1 + y * t2; - p_h = y1 * t1; - z = p_l + p_h; - u_ = reinterpret(z); - j = u32(u_ >> 32); - let i = u_; - if (j >= 0x40900000) { - if (((j - 0x40900000) | i) != 0) return s * huge * huge; - if (p_l + ovt > z - p_h) return s * huge * huge; - } else if ((j & 0x7FFFFFFF) >= 0x4090CC00) { - if (((j - 0xC090CC00) | i) != 0) return s * tiny * tiny; - if (p_l <= z - p_h) return s * tiny * tiny; - } - i = j & 0x7FFFFFFF; - k = (i >> 20) - 0x3FF; - n = 0; - if (i > 0x3FE00000) { - n = j + (0x00100000 >> (k + 1)); - k = ((n & 0x7FFFFFFF) >> 20) - 0x3FF; - t = 0.0; - t = reinterpret(u64(n & ~(0x000FFFFF >> k)) << 32); - n = ((n & 0x000FFFFF) | 0x00100000) >> (20 - k); - if (j < 0) n = -n; - p_h -= t; - } - t = p_l + p_h; - t = reinterpret(reinterpret(t) & 0xFFFFFFFF00000000); - u = t * lg2_h; - v = (p_l - (t - p_h)) * lg2 + t * lg2_l; - z = u + v; - w = v - (z - u); - t = z * z; - t1 = z - t * (P1 + t * (P2 + t * (P3 + t * (P4 + t * P5)))); - r = (z * t1) / (t1 - 2.0) - (w + z * w); - z = 1.0 - (r - z); - j = u32(reinterpret(z) >> 32); - j += n << 20; - if ((j >> 20) <= 0) z = scalbn(z, n); - else z = reinterpret(reinterpret(z) & 0xFFFFFFFF | (j << 32)); - return s * z; - } - } - - export function seedRandom(value: i64): void { - // Instead zero seed use golden ratio: - // phi = (1 + sqrt(5)) / 2 - // trunc(2^64 / phi) = 0x9e3779b97f4a7c15 - if (value == 0) value = 0x9e3779b97f4a7c15; - random_state0_64 = murmurHash3(value); - random_state1_64 = murmurHash3(~random_state0_64); - random_state0_32 = splitMix32(value); - random_state1_32 = splitMix32(random_state0_32); - random_seeded = true; - } - - export function random(): f64 { // see: v8/src/base/utils/random-number-generator.cc - if (!random_seeded) seedRandom(reinterpret(seed())); - let s1 = random_state0_64; - let s0 = random_state1_64; - random_state0_64 = s0; - s1 ^= s1 << 23; - s1 ^= s1 >> 17; - s1 ^= s0; - s1 ^= s0 >> 26; - random_state1_64 = s1; - let r = (s0 >> 12) | 0x3FF0000000000000; - return reinterpret(r) - 1; - } - - export function round(x: f64): f64 { - if (ASC_SHRINK_LEVEL > 0) { - return builtin_ceil(x) - f64(builtin_ceil(x) - 0.5 > x); - } else { - let roundUp = builtin_ceil(x); - return select(roundUp, roundUp - 1.0, roundUp - 0.5 <= x); - } - } - - export function sign(x: f64): f64 { - if (ASC_SHRINK_LEVEL > 0) { - return select(builtin_copysign(1, x), x, builtin_abs(x) > 0); - } else { - return select(1, select(-1, x, x < 0), x > 0); - } - } - - // @ts-ignore: decorator - @inline - export function signbit(x: f64): bool { - return bool(reinterpret(x) >>> 63); - } - - export function sin(x: f64): f64 { // see: musl/src/math/sin.c - let u = reinterpret(x); - let ux = u32(u >> 32); - let sign = ux >> 31; - - ux &= 0x7FFFFFFF; - - // |x| ~< pi/4 - if (ux <= 0x3FE921FB) { - if (ux < 0x3E500000) { // |x| < 2**-26 - return x; - } - return sin_kern(x, 0.0, 0); - } - - // sin(Inf or NaN) is NaN - if (ux >= 0x7FF00000) return x - x; - - // argument reduction needed - let n = rempio2(x, u, sign); - let y0 = rempio2_y0; - let y1 = rempio2_y1; - - x = n & 1 ? cos_kern(y0, y1) : sin_kern(y0, y1, 1); - return n & 2 ? -x : x; - } - - export function sinh(x: f64): f64 { // see: musl/src/math/sinh.c - let u = reinterpret(x) & 0x7FFFFFFFFFFFFFFF; - let a = reinterpret(u); - let w = u32(u >> 32); - let h = builtin_copysign(0.5, x); - if (w < 0x40862E42) { - let t = expm1(a); - if (w < 0x3FF00000) { - if (w < 0x3FF00000 - (26 << 20)) return x; - return h * (2 * t - t * t / (t + 1)); - } - return h * (t + t / (t + 1)); - } - return expo2(a, 2 * h); - } - - // @ts-ignore: decorator - @inline - export function sqrt(x: f64): f64 { - return builtin_sqrt(x); - } - - export function tan(x: f64): f64 { // see: musl/src/math/tan.c - let u = reinterpret(x); - let ux = u32(u >> 32); - let sign = ux >>> 31; - - ux &= 0x7FFFFFFF; - - // |x| ~< pi/4 - if (ux <= 0x3FE921FB) { - if (ux < 0x3E400000) { // |x| < 2**-27 - return x; - } - return tan_kern(x, 0.0, 1); - } - - // tan(Inf or NaN) is NaN - if (ux >= 0x7FF00000) return x - x; - - let n = rempio2(x, u, sign); - return tan_kern(rempio2_y0, rempio2_y1, 1 - ((n & 1) << 1)); - } - - export function tanh(x: f64): f64 { // see: musl/src/math/tanh.c - let u = reinterpret(x); - u &= 0x7FFFFFFFFFFFFFFF; - let y = reinterpret(u); - let w = u32(u >> 32); - let t: f64; - if (w > 0x3FE193EA) { - if (w > 0x40340000) { - t = 1 - 0 / y; - } else { - t = expm1(2 * y); - t = 1 - 2 / (t + 2); - } - } else if (w > 0x3FD058AE) { - t = expm1(2 * y); - t = t / (t + 2); - } else if (w >= 0x00100000) { - t = expm1(-2 * y); - t = -t / (t + 2); - } else t = y; - return builtin_copysign(t, x); - } - - // @ts-ignore: decorator - @inline - export function trunc(x: f64): f64 { - return builtin_trunc(x); - } - - export function scalbn(x: f64, n: i32): f64 { // see: https://git.musl-libc.org/cgit/musl/tree/src/math/scalbn.c - const - Ox1p53 = reinterpret(0x4340000000000000), - Ox1p1023 = reinterpret(0x7FE0000000000000), - Ox1p_1022 = reinterpret(0x0010000000000000); - - let y = x; - if (n > 1023) { - y *= Ox1p1023; - n -= 1023; - if (n > 1023) { - y *= Ox1p1023; - n = builtin_min(n - 1023, 1023); - } - } else if (n < -1022) { - // make sure final n < -53 to avoid double - // rounding in the subnormal range - y *= Ox1p_1022 * Ox1p53; - n += 1022 - 53; - if (n < -1022) { - y *= Ox1p_1022 * Ox1p53; - n = builtin_max(n + 1022 - 53, -1022); - } - } - return y * reinterpret((0x3FF + n) << 52); - } - - export function mod(x: f64, y: f64): f64 { // see: musl/src/math/fmod.c - if (builtin_abs(y) == 1.0) { - // x % 1, x % -1 ==> sign(x) * abs(x - 1.0 * trunc(x / 1.0)) - // TODO: move this rule to compiler's optimization pass. - // It could be apply for any x % C_pot, where "C_pot" is pow of two const. - return builtin_copysign(x - builtin_trunc(x), x); - } - let ux = reinterpret(x); - let uy = reinterpret(y); - let ex = i64(ux >> 52 & 0x7FF); - let ey = i64(uy >> 52 & 0x7FF); - let sx = ux >> 63; - let uy1 = uy << 1; - if (uy1 == 0 || ex == 0x7FF || isNaN(y)) { - let m = x * y; - return m / m; - } - let ux1 = ux << 1; - if (ux1 <= uy1) { - return x * f64(ux1 != uy1); - } - if (!ex) { - ex -= builtin_clz(ux << 12); - ux <<= 1 - ex; - } else { - ux &= u64(-1) >> 12; - ux |= 1 << 52; - } - if (!ey) { - ey -= builtin_clz(uy << 12); - uy <<= 1 - ey; - } else { - uy &= u64(-1) >> 12; - uy |= 1 << 52; - } - while (ex > ey) { - if (ux >= uy) { - if (ux == uy) return 0 * x; - ux -= uy; - } - ux <<= 1; - --ex; - } - if (ux >= uy) { - if (ux == uy) return 0 * x; - ux -= uy; - } - // for (; !(ux >> 52); ux <<= 1) --ex; - let shift = builtin_clz(ux << 11); - ex -= shift; - ux <<= shift; - if (ex > 0) { - ux -= 1 << 52; - ux |= ex << 52; - } else { - ux >>= -ex + 1; - } - return reinterpret(ux | (sx << 63)); - } - - export function rem(x: f64, y: f64): f64 { // see: musl/src/math/remquo.c - let ux = reinterpret(x); - let uy = reinterpret(y); - let ex = i64(ux >> 52 & 0x7FF); - let ey = i64(uy >> 52 & 0x7FF); - if (uy << 1 == 0 || ex == 0x7FF || isNaN(y)) { - let m = x * y; - return m / m; - } - if (ux << 1 == 0) return x; - let uxi = ux; - if (!ex) { - ex -= builtin_clz(uxi << 12); - uxi <<= 1 - ex; - } else { - uxi &= u64(-1) >> 12; - uxi |= 1 << 52; - } - if (!ey) { - ey -= builtin_clz(uy << 12); - uy <<= 1 - ey; - } else { - uy &= u64(-1) >> 12; - uy |= 1 << 52; - } - let q: u32 = 0; - do { - if (ex < ey) { - if (ex + 1 == ey) break; // goto end - return x; - } - while (ex > ey) { - if (uxi >= uy) { - uxi -= uy; - ++q; - } - uxi <<= 1; - q <<= 1; - --ex; - } - if (uxi >= uy) { - uxi -= uy; - ++q; - } - if (uxi == 0) ex = -60; - else { - let shift = builtin_clz(uxi << 11); - ex -= shift; - uxi <<= shift; - } - break; - } while (false); - // end: - if (ex > 0) { - uxi -= 1 << 52; - uxi |= ex << 52; - } else { - uxi >>= -ex + 1; - } - x = reinterpret(uxi); - y = builtin_abs(y); - let x2 = x + x; - if (ex == ey || (ex + 1 == ey && (x2 > y || (x2 == y && (q & 1))))) { - x -= y; - // ++q; - } - return ux < 0 ? -x : x; - } - - export function sincos(x: f64): void { // see: musl/tree/src/math/sincos.c - let u = reinterpret(x); - let ux = u32(u >> 32); - let sign = ux >> 31; - ux &= 0x7FFFFFFF; - - if (ux <= 0x3FE921FB) { // |x| ~<= π/4 - if (ux < 0x3E46A09E) { // if |x| < 2**-27 * sqrt(2) - sincos_sin = x; - sincos_cos = 1; - return; - } - sincos_sin = sin_kern(x, 0, 0); - sincos_cos = cos_kern(x, 0); - return; - } - // sin(Inf or NaN) is NaN - if (ux >= 0x7F800000) { - let xx = x - x; - sincos_sin = xx; - sincos_cos = xx; - return; - } - // general argument reduction needed - let n = rempio2(x, u, sign); - let y0 = rempio2_y0; - let y1 = rempio2_y1; - let s = sin_kern(y0, y1, 1); - let c = cos_kern(y0, y1); - let sin = s, cos = c; - if (n & 1) { - sin = c; - cos = -s; - } - if (n & 2) { - sin = -sin; - cos = -cos; - } - sincos_sin = sin; - sincos_cos = cos; - } -} - -// @ts-ignore: decorator -@lazy let rempio2f_y: f64; - -// @ts-ignore: decorator -@lazy @inline const PIO2F_TABLE = memory.data([ - 0xA2F9836E4E441529, - 0xFC2757D1F534DDC0, - 0xDB6295993C439041, - 0xFE5163ABDEBBC561 -]); - -function Rf(z: f32): f32 { // Rational approximation of (asin(x)-x)/x^3 - const // see: musl/src/math/asinf.c and SUN COPYRIGHT NOTICE above - pS0 = reinterpret(0x3E2AAA75), // 1.6666586697e-01f - pS1 = reinterpret(0xBD2F13BA), // -4.2743422091e-02f - pS2 = reinterpret(0xBC0DD36B), // -8.6563630030e-03f - qS1 = reinterpret(0xBF34E5AE); // -7.0662963390e-01f - - let p = z * (pS0 + z * (pS1 + z * pS2)); - let q: f32 = 1 + z * qS1; - return p / q; -} - -// @ts-ignore: decorator -@inline -function expo2f(x: f32, sign: f32): f32 { // exp(x)/2 for x >= log(DBL_MAX) - const // see: musl/src/math/__expo2f.c - k = 235, - kln2 = reinterpret(0x4322E3BC); // 0x1.45c778p+7f - let scale = reinterpret(u32(0x7F + (k >> 1)) << 23); - // in directed rounding correct sign before rounding or overflow is important - return NativeMathf.exp(x - kln2) * (sign * scale) * scale; -} - -// @ts-ignore: decorator -@inline -function pio2f_large_quot(x: f32, u: i32): i32 { // see: jdh8/metallic/blob/master/src/math/float/rem_pio2f.c - const coeff = reinterpret(0x3BF921FB54442D18); // π * 0x1p-65 = 8.51530395021638647334e-20 - - let offset = (u >> 23) - 152; - let shift = u64(offset & 63); - let tblPtr = PIO2F_TABLE + (offset >> 6 << 3); - - let b0 = load(tblPtr, 0 << 3); - let b1 = load(tblPtr, 1 << 3); - let lo: u64; - - if (shift > 32) { - let b2 = load(tblPtr, 2 << 3); - lo = b2 >> (96 - shift); - lo |= b1 << (shift - 32); - } else { - lo = b1 >> (32 - shift); - } - - let hi = (b1 >> (64 - shift)) | (b0 << shift); - let mantissa: u64 = (u & 0x007FFFFF) | 0x00800000; - let product = mantissa * hi + (mantissa * lo >> 32); - let r: i64 = product << 2; - let q = i32((product >> 62) + (r >>> 63)); - rempio2f_y = copysign(coeff, x) * r; - return q; -} - -// @ts-ignore: decorator -@inline -function rempio2f(x: f32, u: u32, sign: i32): i32 { // see: jdh8/metallic/blob/master/src/math/float/rem_pio2f.c - const - pi2hi = reinterpret(0x3FF921FB50000000), // 1.57079631090164184570 - pi2lo = reinterpret(0x3E5110B4611A6263), // 1.58932547735281966916e-8 - _2_pi = reinterpret(0x3FE45F306DC9C883); // 0.63661977236758134308 - - if (u < 0x4DC90FDB) { // π * 0x1p28 - let q = nearest(x * _2_pi); - rempio2f_y = x - q * pi2hi - q * pi2lo; - return q; - } - - let q = pio2f_large_quot(x, u); - return select(-q, q, sign); -} - -// |sin(x)/x - s(x)| < 2**-37.5 (~[-4.89e-12, 4.824e-12]). -// @ts-ignore: decorator -@inline -function sin_kernf(x: f64): f32 { // see: musl/tree/src/math/__sindf.c - const - S1 = reinterpret(0xBFC5555554CBAC77), // -0x15555554cbac77.0p-55 - S2 = reinterpret(0x3F811110896EFBB2), // 0x111110896efbb2.0p-59 - S3 = reinterpret(0xBF2A00F9E2CAE774), // -0x1a00f9e2cae774.0p-65 - S4 = reinterpret(0x3EC6CD878C3B46A7); // 0x16cd878c3b46a7.0p-71 - - let z = x * x; - let w = z * z; - let r = S3 + z * S4; - let s = z * x; - return f32((x + s * (S1 + z * S2)) + s * w * r); -} - -// |cos(x) - c(x)| < 2**-34.1 (~[-5.37e-11, 5.295e-11]). -// @ts-ignore: decorator -@inline -function cos_kernf(x: f64): f32 { // see: musl/tree/src/math/__cosdf.c - const - C0 = reinterpret(0xBFDFFFFFFD0C5E81), // -0x1ffffffd0c5e81.0p-54 - C1 = reinterpret(0x3FA55553E1053A42), // 0x155553e1053a42.0p-57 - C2 = reinterpret(0xBF56C087E80F1E27), // -0x16c087e80f1e27.0p-62 - C3 = reinterpret(0x3EF99342E0EE5069); // 0x199342e0ee5069.0p-68 - - let z = x * x; - let w = z * z; - let r = C2 + z * C3; - return f32(((1 + z * C0) + w * C1) + (w * z) * r); -} - -// |tan(x)/x - t(x)| < 2**-25.5 (~[-2e-08, 2e-08]). -// @ts-ignore: decorator -@inline -function tan_kernf(x: f64, odd: i32): f32 { // see: musl/tree/src/math/__tandf.c - const - T0 = reinterpret(0x3FD5554D3418C99F), // 0x15554d3418c99f.0p-54 - T1 = reinterpret(0x3FC112FD38999F72), // 0x1112fd38999f72.0p-55 - T2 = reinterpret(0x3FAB54C91D865AFE), // 0x1b54c91d865afe.0p-57 - T3 = reinterpret(0x3F991DF3908C33CE), // 0x191df3908c33ce.0p-58 - T4 = reinterpret(0x3F685DADFCECF44E), // 0x185dadfcecf44e.0p-61 - T5 = reinterpret(0x3F8362B9BF971BCD); // 0x1362b9bf971bcd.0p-59 - - let z = x * x; - let r = T4 + z * T5; - let t = T2 + z * T3; - let w = z * z; - let s = z * x; - let u = T0 + z * T1; - - r = (x + s * u) + (s * w) * (t + w * r); - return f32(odd ? -1 / r : r); -} - -// See: jdh8/metallic/src/math/float/log2f.c and jdh8/metallic/src/math/float/kernel/atanh.h -// @ts-ignore: decorator -@inline -function log2f(x: f64): f64 { - const - log2e = reinterpret(0x3FF71547652B82FE), // 1.44269504088896340736 - c0 = reinterpret(0x3FD555554FD9CAEF), // 0.33333332822728226129 - c1 = reinterpret(0x3FC999A7A8AF4132), // 0.20000167595436263505 - c2 = reinterpret(0x3FC2438D79437030), // 0.14268654271188685375 - c3 = reinterpret(0x3FBE2F663B001C97); // 0.11791075649681414150 - - let i = reinterpret(x); - let exponent = (i - 0x3FE6A09E667F3BCD) >> 52; - x = reinterpret(i - (exponent << 52)); - x = (x - 1) / (x + 1); - let xx = x * x; - let y = x + x * xx * (c0 + c1 * xx + (c2 + c3 * xx) * (xx * xx)); - return (2 * log2e) * y + exponent; -} - -// See: jdh8/metallic/src/math/float/exp2f.h and jdh8/metallic/blob/master/src/math/float/kernel/exp2f.h -// @ts-ignore: decorator -@inline -function exp2f(x: f64): f64 { - const - c0 = reinterpret(0x3FE62E4302FCC24A), // 6.931471880289532425e-1 - c1 = reinterpret(0x3FCEBFBE07D97B91), // 2.402265108421173406e-1 - c2 = reinterpret(0x3FAC6AF6CCFC1A65), // 5.550357105498874537e-2 - c3 = reinterpret(0x3F83B29E3CE9AEF6), // 9.618030771171497658e-3 - c4 = reinterpret(0x3F55F0896145A89F), // 1.339086685300950937e-3 - c5 = reinterpret(0x3F2446C81E384864); // 1.546973499989028719e-4 - - if (x < -1022) return 0; - if (x >= 1024) return Infinity; - - let n = nearest(x); - x -= n; - let xx = x * x; - let y = 1 + x * (c0 + c1 * x + (c2 + c3 * x) * xx + (c4 + c5 * x) * (xx * xx)); - return reinterpret(reinterpret(y) + (n << 52)); -} - -export namespace NativeMathf { - - // @ts-ignore: decorator - @lazy - export const E = NativeMath.E; - - // @ts-ignore: decorator - @lazy - export const LN2 = NativeMath.LN2; - - // @ts-ignore: decorator - @lazy - export const LN10 = NativeMath.LN10; - - // @ts-ignore: decorator - @lazy - export const LOG2E = NativeMath.LOG2E; - - // @ts-ignore: decorator - @lazy - export const LOG10E = NativeMath.LOG10E; - - // @ts-ignore: decorator - @lazy - export const PI = NativeMath.PI; - - // @ts-ignore: decorator - @lazy - export const SQRT1_2 = NativeMath.SQRT1_2; - - // @ts-ignore: decorator - @lazy - export const SQRT2 = NativeMath.SQRT2; - - // @ts-ignore: decorator - @lazy - export let sincos_sin: f32 = 0; - - // @ts-ignore: decorator - @lazy - export let sincos_cos: f32 = 0; - - // @ts-ignore: decorator - @inline - export function abs(x: f32): f32 { - return builtin_abs(x); - } - - export function acos(x: f32): f32 { // see: musl/src/math/acosf.c and SUN COPYRIGHT NOTICE above - const - pio2_hi = reinterpret(0x3FC90FDA), // 1.5707962513e+00f - pio2_lo = reinterpret(0x33A22168), // 7.5497894159e-08f - Ox1p_120f = reinterpret(0x03800000); // 0x1p-120f - - let hx = reinterpret(x); - let ix = hx & 0x7FFFFFFF; - if (ix >= 0x3F800000) { - if (ix == 0x3F800000) { - return select(2 * pio2_hi + Ox1p_120f, 0, hx < 0); - } - return 0 / (x - x); - } - if (ix < 0x3F000000) { - if (ix <= 0x32800000) return pio2_hi + Ox1p_120f; - return pio2_hi - (x - (pio2_lo - x * Rf(x * x))); - } - let z: f32, w: f32, s: f32; - if (hx < 0) { - // z = (1 + x) * 0.5; - z = 0.5 + x * 0.5; - s = builtin_sqrt(z); - w = Rf(z) * s - pio2_lo; - return 2 * (pio2_hi - (s + w)); - } - // z = (1 - x) * 0.5; - z = 0.5 - x * 0.5; - s = builtin_sqrt(z); - hx = reinterpret(s); - let df = reinterpret(hx & 0xFFFFF000); - let c = (z - df * df) / (s + df); - w = Rf(z) * s + c; - return 2 * (df + w); - } - - export function acosh(x: f32): f32 { // see: musl/src/math/acoshf.c - const s = reinterpret(0x3F317218); // 0.693147180559945309417232121458176568f - let u = reinterpret(x); - let a = u & 0x7FFFFFFF; - if (a < 0x3F800000 + (1 << 23)) { // |x| < 2, invalid if x < 1 - let xm1 = x - 1; - return log1p(xm1 + builtin_sqrt(xm1 * (xm1 + 2))); - } - if (u < 0x3F800000 + (12 << 23)) { // 2 <= x < 0x1p12 - return log(2 * x - 1 / (x + builtin_sqrt(x * x - 1))); - } - // x >= 0x1p12 or x <= -2 or NaN - return log(x) + s; - } - - export function asin(x: f32): f32 { // see: musl/src/math/asinf.c and SUN COPYRIGHT NOTICE above - const - pio2 = reinterpret(0x3FC90FDB), // 1.570796326794896558e+00f - Ox1p_120f = reinterpret(0x03800000); // 0x1p-120f - - let sx = x; - let hx = reinterpret(x) & 0x7FFFFFFF; - if (hx >= 0x3F800000) { - if (hx == 0x3F800000) return x * pio2 + Ox1p_120f; - return 0 / (x - x); - } - if (hx < 0x3F000000) { - if (hx < 0x39800000 && hx >= 0x00800000) return x; - return x + x * Rf(x * x); - } - // let z: f32 = (1 - builtin_abs(x)) * 0.5; - let z: f32 = 0.5 - builtin_abs(x) * 0.5; - let s = builtin_sqrt(z); // sic - x = f32(pio2 - 2 * (s + s * Rf(z))); - return builtin_copysign(x, sx); - } - - export function asinh(x: f32): f32 { // see: musl/src/math/asinhf.c - const c = reinterpret(0x3F317218); // 0.693147180559945309417232121458176568f - let u = reinterpret(x) & 0x7FFFFFFF; - let y = reinterpret(u); - if (u >= 0x3F800000 + (12 << 23)) y = log(y) + c; - else if (u >= 0x3F800000 + (1 << 23)) y = log(2 * y + 1 / (builtin_sqrt(y * y + 1) + y)); - else if (u >= 0x3F800000 - (12 << 23)) y = log1p(y + y * y / (builtin_sqrt(y * y + 1) + 1)); - return builtin_copysign(y, x); - } - - export function atan(x: f32): f32 { // see: musl/src/math/atanf.c and SUN COPYRIGHT NOTICE above - const - atanhi0 = reinterpret(0x3EED6338), // 4.6364760399e-01f - atanhi1 = reinterpret(0x3F490FDA), // 7.8539812565e-01f - atanhi2 = reinterpret(0x3F7B985E), // 9.8279368877e-01f - atanhi3 = reinterpret(0x3FC90FDA), // 1.5707962513e+00f - atanlo0 = reinterpret(0x31AC3769), // 5.0121582440e-09f - atanlo1 = reinterpret(0x33222168), // 3.7748947079e-08f - atanlo2 = reinterpret(0x33140FB4), // 3.4473217170e-08f - atanlo3 = reinterpret(0x33A22168), // 7.5497894159e-08f - aT0 = reinterpret(0x3EAAAAA9), // 3.3333328366e-01f - aT1 = reinterpret(0xBE4CCA98), // -1.9999158382e-01f - aT2 = reinterpret(0x3E11F50D), // 1.4253635705e-01f - aT3 = reinterpret(0xBDDA1247), // -1.0648017377e-01f - aT4 = reinterpret(0x3D7CAC25), // 6.1687607318e-02f - Ox1p_120f = reinterpret(0x03800000); // 0x1p-120f - - let ix = reinterpret(x); - let sx = x; - ix &= 0x7FFFFFFF; - let z: f32; - if (ix >= 0x4C800000) { - if (isNaN(x)) return x; - z = atanhi3 + Ox1p_120f; - return builtin_copysign(z, sx); - } - let id: i32; - if (ix < 0x3EE00000) { - if (ix < 0x39800000) return x; - id = -1; - } else { - x = builtin_abs(x); - if (ix < 0x3F980000) { - if (ix < 0x3F300000) { - id = 0; - x = (2.0 * x - 1.0) / (2.0 + x); - } else { - id = 1; - x = (x - 1.0) / (x + 1.0); - } - } else { - if (ix < 0x401C0000) { - id = 2; - x = (x - 1.5) / (1.0 + 1.5 * x); - } else { - id = 3; - x = -1.0 / x; - } - } - } - z = x * x; - let w = z * z; - let s1 = z * (aT0 + w * (aT2 + w * aT4)); - let s2 = w * (aT1 + w * aT3); - let s3 = x * (s1 + s2); - if (id < 0) return x - s3; - switch (id) { - case 0: { z = atanhi0 - ((s3 - atanlo0) - x); break; } - case 1: { z = atanhi1 - ((s3 - atanlo1) - x); break; } - case 2: { z = atanhi2 - ((s3 - atanlo2) - x); break; } - case 3: { z = atanhi3 - ((s3 - atanlo3) - x); break; } - default: unreachable(); - } - return builtin_copysign(z, sx); - } - - export function atanh(x: f32): f32 { // see: musl/src/math/atanhf.c - let u = reinterpret(x); - let y = builtin_abs(x); - if (u < 0x3F800000 - (1 << 23)) { - if (u >= 0x3F800000 - (32 << 23)) y = 0.5 * log1p(2 * y * (1.0 + y / (1 - y))); - } else y = 0.5 * log1p(2 * (y / (1 - y))); - return builtin_copysign(y, x); - } - - export function atan2(y: f32, x: f32): f32 { // see: musl/src/math/atan2f.c and SUN COPYRIGHT NOTICE above - const - pi = reinterpret(0x40490FDB), // 3.1415927410e+00f - pi_lo = reinterpret(0xB3BBBD2E); // -8.7422776573e-08f - - if (isNaN(x) || isNaN(y)) return x + y; - let ix = reinterpret(x); - let iy = reinterpret(y); - if (ix == 0x3F800000) return atan(y); - let m = u32(((iy >> 31) & 1) | ((ix >> 30) & 2)); - ix &= 0x7FFFFFFF; - iy &= 0x7FFFFFFF; - if (iy == 0) { - switch (m) { - case 0: - case 1: return y; - case 2: return pi; - case 3: return -pi; - } - } - if (ix == 0) return m & 1 ? -pi / 2 : pi / 2; - if (ix == 0x7F800000) { - if (iy == 0x7F800000) { - let t: f32 = m & 2 ? 3 * pi / 4 : pi / 4; - return m & 1 ? -t : t; - } else { - let t: f32 = m & 2 ? pi : 0.0; - return m & 1 ? -t : t; - } - } - if (ix + (26 << 23) < iy || iy == 0x7F800000) return m & 1 ? -pi / 2 : pi / 2; - let z: f32; - if ((m & 2) && iy + (26 << 23) < ix) z = 0.0; - else z = atan(builtin_abs(y / x)); - switch (m) { - case 0: return z; - case 1: return -z; - case 2: return pi - (z - pi_lo); - case 3: return (z - pi_lo) - pi; - } - unreachable(); - return 0; - } - - export function cbrt(x: f32): f32 { // see: musl/src/math/cbrtf.c and SUN COPYRIGHT NOTICE above - const - B1 = 709958130, - B2 = 642849266, - Ox1p24f = reinterpret(0x4B800000); - - let u = reinterpret(x); - let hx = u & 0x7FFFFFFF; - if (hx >= 0x7F800000) return x + x; - if (hx < 0x00800000) { - if (hx == 0) return x; - u = reinterpret(x * Ox1p24f); - hx = u & 0x7FFFFFFF; - hx = hx / 3 + B2; - } else { - hx = hx / 3 + B1; - } - u &= 0x80000000; - u |= hx; - let t = reinterpret(u); - let r = t * t * t; - t = t * (x + x + r) / (x + r + r); - r = t * t * t; - t = t * (x + x + r) / (x + r + r); - return t; - } - - // @ts-ignore: decorator - @inline - export function ceil(x: f32): f32 { - return builtin_ceil(x); - } - - export function clz32(x: f32): f32 { - if (!isFinite(x)) return 32; - return builtin_clz(dtoi32(x)); - } - - export function cos(x: f32): f32 { // see: musl/src/math/cosf.c - const - c1pio2 = reinterpret(0x3FF921FB54442D18), // M_PI_2 * 1 - c2pio2 = reinterpret(0x400921FB54442D18), // M_PI_2 * 2 - c3pio2 = reinterpret(0x4012D97C7F3321D2), // M_PI_2 * 3 - c4pio2 = reinterpret(0x401921FB54442D18); // M_PI_2 * 4 - - let ux = reinterpret(x); - let sign = ux >> 31; - ux &= 0x7FFFFFFF; - - if (ux <= 0x3F490FDA) { // |x| ~<= π/4 - if (ux < 0x39800000) { // |x| < 2**-12 - // raise inexact if x != 0 - return 1; - } - return cos_kernf(x); - } - - if (ASC_SHRINK_LEVEL < 1) { - if (ux <= 0x407B53D1) { // |x| ~<= 5π/4 - if (ux > 0x4016CBE3) { // |x| ~> 3π/4 - return -cos_kernf(sign ? x + c2pio2 : x - c2pio2); - } else { - return sign ? sin_kernf(x + c1pio2) : sin_kernf(c1pio2 - x); - } - } - if (ux <= 0x40E231D5) { // |x| ~<= 9π/4 - if (ux > 0x40AFEDDF) { // |x| ~> 7π/4 - return cos_kernf(sign ? x + c4pio2 : x - c4pio2); - } else { - return sign ? sin_kernf(-x - c3pio2) : sin_kernf(x - c3pio2); - } - } - } - - // cos(Inf or NaN) is NaN - if (ux >= 0x7F800000) return x - x; - - // general argument reduction needed - let n = rempio2f(x, ux, sign); - let y = rempio2f_y; - - let t = n & 1 ? sin_kernf(y) : cos_kernf(y); - return (n + 1) & 2 ? -t : t; - } - - export function cosh(x: f32): f32 { // see: musl/src/math/coshf.c - let u = reinterpret(x); - u &= 0x7FFFFFFF; - x = reinterpret(u); - if (u < 0x3F317217) { - if (u < 0x3F800000 - (12 << 23)) return 1; - let t = expm1(x); - // return 1 + t * t / (2 * (1 + t)); - return 1 + t * t / (2 + 2 * t); - } - if (u < 0x42B17217) { - let t = exp(x); - // return 0.5 * (t + 1 / t); - return 0.5 * t + 0.5 / t; - } - return expo2f(x, 1); - } - - // @ts-ignore: decorator - @inline - export function floor(x: f32): f32 { - return builtin_floor(x); - } - - export function exp(x: f32): f32 { // see: musl/src/math/expf.c and SUN COPYRIGHT NOTICE above - if (ASC_SHRINK_LEVEL < 1) { - return expf_lut(x); - } else { - const - ln2hi = reinterpret(0x3F317200), // 6.9314575195e-1f - ln2lo = reinterpret(0x35BFBE8E), // 1.4286067653e-6f - invln2 = reinterpret(0x3FB8AA3B), // 1.4426950216e+0f - P1 = reinterpret(0x3E2AAA8F), // 1.6666625440e-1f - P2 = reinterpret(0xBB355215), // -2.7667332906e-3f - Ox1p127f = reinterpret(0x7F000000); // 0x1p+127f - - let hx = reinterpret(x); - let sign = hx >> 31; - hx &= 0x7FFFFFFF; - if (hx >= 0x42AEAC50) { - if (hx > 0x7F800000) return x; // NaN - if (hx >= 0x42B17218) { - if (!sign) return x * Ox1p127f; - else if (hx >= 0x42CFF1B5) return 0; - } - } - let hi: f32, lo: f32; - let k: i32; - if (hx > 0x3EB17218) { - if (hx > 0x3F851592) { - k = i32(invln2 * x + builtin_copysign(0.5, x)); - } else { - k = 1 - (sign << 1); - } - hi = x - k * ln2hi; - lo = k * ln2lo; - x = hi - lo; - } else if (hx > 0x39000000) { - k = 0; - hi = x; - lo = 0; - } else { - return 1 + x; - } - let xx = x * x; - let c = x - xx * (P1 + xx * P2); - let y: f32 = 1 + (x * c / (2 - c) - lo + hi); - return k == 0 ? y : scalbn(y, k); - } - } - - export function exp2(x: f32): f32 { - return exp2f_lut(x); - } - - export function expm1(x: f32): f32 { // see: musl/src/math/expm1f.c and SUN COPYRIGHT NOTICE above - const - ln2_hi = reinterpret(0x3F317180), // 6.9313812256e-01f - ln2_lo = reinterpret(0x3717F7D1), // 9.0580006145e-06f - invln2 = reinterpret(0x3FB8AA3B), // 1.4426950216e+00f - Q1 = reinterpret(0xBD088868), // -3.3333212137e-02f - Q2 = reinterpret(0x3ACF3010), // 1.5807170421e-03f - Ox1p127f = reinterpret(0x7F000000); // 0x1p+127f - - let u = reinterpret(x); - let hx = u & 0x7FFFFFFF; - let sign = u >> 31; - if (hx >= 0x4195B844) { - if (hx > 0x7F800000) return x; - if (sign) return -1; - if (hx > 0x42B17217) { // x > log(FLT_MAX) - x *= Ox1p127f; - return x; - } - } - let c: f32 = 0.0, t: f32, k: i32; - if (hx > 0x3EB17218) { - k = select( - 1 - (sign << 1), - i32(invln2 * x + builtin_copysign(0.5, x)), - hx < 0x3F851592 - ); - t = k; - let hi = x - t * ln2_hi; - let lo = t * ln2_lo; - x = hi - lo; - c = (hi - x) - lo; - } else if (hx < 0x33000000) { - return x; - } else k = 0; - let hfx: f32 = 0.5 * x; - let hxs: f32 = x * hfx; - let r1: f32 = 1.0 + hxs * (Q1 + hxs * Q2); - t = 3.0 - r1 * hfx; - let e = hxs * ((r1 - t) / (6.0 - x * t)); - if (k == 0) return x - (x * e - hxs); - e = x * (e - c) - c; - e -= hxs; - if (k == -1) return 0.5 * (x - e) - 0.5; - if (k == 1) { - if (x < -0.25) return -2.0 * (e - (x + 0.5)); - return 1.0 + 2.0 * (x - e); - } - u = (0x7F + k) << 23; - let twopk = reinterpret(u); - let y: f32; - if (k < 0 || k > 56) { - y = x - e + 1.0; - if (k == 128) y = y * 2.0 * Ox1p127f; - else y = y * twopk; - return y - 1.0; - } - u = (0x7F - k) << 23; - y = reinterpret(u); - if (k < 20) y = (1 - y) - e; - else y = 1 - (e + y); - return (x + y) * twopk; - } - - // @ts-ignore: decorator - @inline - export function fround(x: f32): f32 { - return x; - } - - export function hypot(x: f32, y: f32): f32 { // see: musl/src/math/hypotf.c - const - Ox1p90f = reinterpret(0x6C800000), - Ox1p_90f = reinterpret(0x12800000); - - let ux = reinterpret(x); - let uy = reinterpret(y); - ux &= 0x7FFFFFFF; - uy &= 0x7FFFFFFF; - if (ux < uy) { - let ut = ux; - ux = uy; - uy = ut; - } - x = reinterpret(ux); - y = reinterpret(uy); - if (uy == 0xFF << 23) return y; - if (ux >= 0xFF << 23 || uy == 0 || ux - uy >= 25 << 23) return x + y; - let z: f32 = 1; - if (ux >= (0x7F + 60) << 23) { - z = Ox1p90f; - x *= Ox1p_90f; - y *= Ox1p_90f; - } else if (uy < (0x7F - 60) << 23) { - z = Ox1p_90f; - x *= Ox1p90f; - y *= Ox1p90f; - } - return z * builtin_sqrt(f32(x * x + y * y)); - } - - // @ts-ignore: decorator - @inline - export function imul(x: f32, y: f32): f32 { - /* - * Wasm (MVP) and JS have different approaches for double->int conversions. - * - * For emulate JS conversion behavior and avoid trapping from wasm we should modulate by MAX_INT - * our float-point arguments before actual convertion to integers. - */ - if (!isFinite(x + y)) return 0; - return (dtoi32(x) * dtoi32(y)); - } - - export function log(x: f32): f32 { // see: musl/src/math/logf.c and SUN COPYRIGHT NOTICE above - if (ASC_SHRINK_LEVEL < 1) { - return logf_lut(x); - } else { - const - ln2_hi = reinterpret(0x3F317180), // 6.9313812256e-01f - ln2_lo = reinterpret(0x3717F7D1), // 9.0580006145e-06f - Lg1 = reinterpret(0x3F2AAAAA), // 0xaaaaaa.0p-24f - Lg2 = reinterpret(0x3ECCCE13), // 0xccce13.0p-25f - Lg3 = reinterpret(0x3E91E9EE), // 0x91e9ee.0p-25f - Lg4 = reinterpret(0x3E789E26), // 0xf89e26.0p-26f - Ox1p25f = reinterpret(0x4C000000); - - let u = reinterpret(x); - let k = 0; - let sign = u >> 31; - if (sign || u < 0x00800000) { - if (u << 1 == 0) return -1 / (x * x); - if (sign) return (x - x) / 0; - k -= 25; - x *= Ox1p25f; - u = reinterpret(x); - } else if (u >= 0x7F800000) { - return x; - } else if (u == 0x3F800000) { - return 0; - } - u += 0x3F800000 - 0x3F3504F3; - k += i32(u >> 23) - 0x7F; - u = (u & 0x007FFFFF) + 0x3F3504F3; - x = reinterpret(u); - let f = x - 1.0; - let s = f / (2.0 + f); - let z = s * s; - let w = z * z; - let t1 = w * (Lg2 + w * Lg4); - let t2 = z * (Lg1 + w * Lg3); - let r = t2 + t1; - let hfsq = 0.5 * f * f; - let dk = k; - return s * (hfsq + r) + dk * ln2_lo - hfsq + f + dk * ln2_hi; - } - } - - export function log10(x: f32): f32 { // see: musl/src/math/log10f.c and SUN COPYRIGHT NOTICE above - const - ivln10hi = reinterpret(0x3EDE6000), // 4.3432617188e-01f - ivln10lo = reinterpret(0xB804EAD9), // -3.1689971365e-05f - log10_2hi = reinterpret(0x3E9A2080), // 3.0102920532e-01f - log10_2lo = reinterpret(0x355427DB), // 7.9034151668e-07f - Lg1 = reinterpret(0x3F2AAAAA), // 0xaaaaaa.0p-24f, 0.66666662693f - Lg2 = reinterpret(0x3ECCCE13), // 0xccce13.0p-25f, 0.40000972152f - Lg3 = reinterpret(0x3E91E9EE), // 0x91e9ee.0p-25f, 0.28498786688f - Lg4 = reinterpret(0x3E789E26), // 0xf89e26.0p-26f, 0.24279078841f - Ox1p25f = reinterpret(0x4C000000); // 0x1p25f - - let ux = reinterpret(x); - let k = 0; - let sign = ux >> 31; - if (sign || ux < 0x00800000) { - if (ux << 1 == 0) return -1 / (x * x); - if (sign) return (x - x) / 0.0; - k -= 25; - x *= Ox1p25f; - ux = reinterpret(x); - } else if (ux >= 0x7F800000) { - return x; - } else if (ux == 0x3F800000) { - return 0; - } - ux += 0x3F800000 - 0x3F3504F3; - k += i32(ux >> 23) - 0x7F; - ux = (ux & 0x007FFFFF) + 0x3F3504F3; - x = reinterpret(ux); - let f = x - 1.0; - let s = f / (2.0 + f); - let z = s * s; - let w = z * z; - let t1 = w * (Lg2 + w * Lg4); - let t2 = z * (Lg1 + w * Lg3); - let r = t2 + t1; - let hfsq: f32 = 0.5 * f * f; - let hi = f - hfsq; - ux = reinterpret(hi); - ux &= 0xFFFFF000; - hi = reinterpret(ux); - let lo = f - hi - hfsq + s * (hfsq + r); - let dk = k; - return dk * log10_2lo + (lo + hi) * ivln10lo + lo * ivln10hi + hi * ivln10hi + dk * log10_2hi; - } - - export function log1p(x: f32): f32 { // see: musl/src/math/log1pf.c and SUN COPYRIGHT NOTICE above - const - ln2_hi = reinterpret(0x3F317180), // 6.9313812256e-01 - ln2_lo = reinterpret(0x3717F7D1), // 9.0580006145e-06 - Lg1 = reinterpret(0x3F2AAAAA), // 0xaaaaaa.0p-24f, 0.66666662693f - Lg2 = reinterpret(0x3ECCCE13), // 0xccce13.0p-25f, 0.40000972152f - Lg3 = reinterpret(0x3E91E9EE), // 0x91e9ee.0p-25f, 0.28498786688f - Lg4 = reinterpret(0x3E789E26); // 0xf89e26.0p-26f, 0.24279078841f - - let ix = reinterpret(x); - let c: f32 = 0; - let f: f32 = 0; - let k = 1; - if (ix < 0x3ED413D0 || bool(ix >> 31)) { - if (ix >= 0xBF800000) { - if (x == -1) return x / 0.0; - return (x - x) / 0.0; - } - if (ix << 1 < 0x33800000 << 1) return x; - if (ix <= 0xBE95F619) { - k = 0; - c = 0; - f = x; - } - } else if (ix >= 0x7F800000) return x; - if (k) { - let uf: f32 = 1 + x; - let iu = reinterpret(uf); - iu += 0x3F800000 - 0x3F3504F3; - k = i32(iu >> 23) - 0x7F; - if (k < 25) { - c = k >= 2 ? 1 - (uf - x) : x - (uf - 1); - c /= uf; - } else c = 0; - iu = (iu & 0x007FFFFF) + 0x3F3504F3; - f = reinterpret(iu) - 1; - } - let s = f / (2.0 + f); - let z = s * s; - let w = z * z; - let t1 = w * (Lg2 + w * Lg4); - let t2 = z * (Lg1 + w * Lg3); - let r = t2 + t1; - let hfsq: f32 = 0.5 * f * f; - let dk = k; - return s * (hfsq + r) + (dk * ln2_lo + c) - hfsq + f + dk * ln2_hi; - } - - export function log2(x: f32): f32 { // see: musl/src/math/log2f.c and SUN COPYRIGHT NOTICE above - if (ASC_SHRINK_LEVEL < 1) { - return log2f_lut(x); - } else { - const - ivln2hi = reinterpret(0x3FB8B000), // 1.4428710938e+00f - ivln2lo = reinterpret(0xB9389AD4), // -1.7605285393e-04 - Lg1 = reinterpret(0x3F2AAAAA), // 0xaaaaaa.0p-24f, 0.66666662693f - Lg2 = reinterpret(0x3ECCCE13), // 0xccce13.0p-25f, 0.40000972152f - Lg3 = reinterpret(0x3E91E9EE), // 0x91e9ee.0p-25f, 0.28498786688f - Lg4 = reinterpret(0x3E789E26), // 0xf89e26.0p-26f, 0.24279078841f - Ox1p25f = reinterpret(0x4C000000); // 0x1p25f - - let ux = reinterpret(x); - let k = 0; - let sign = ux >> 31; - if (sign || ux < 0x00800000) { - if (ux << 1 == 0) return -1 / (x * x); - if (sign) return (x - x) / 0.0; - k -= 25; - x *= Ox1p25f; - ux = reinterpret(x); - } else if (ux >= 0x7F800000) { - return x; - } else if (ux == 0x3F800000) { - return 0; - } - ux += 0x3F800000 - 0x3F3504F3; - k += i32(ux >> 23) - 0x7F; - ux = (ux & 0x007FFFFF) + 0x3F3504F3; - x = reinterpret(ux); - let f = x - 1.0; - let s = f / (2.0 + f); - let z = s * s; - let w = z * z; - let t1 = w * (Lg2 + w * Lg4); - let t2 = z * (Lg1 + w * Lg3); - let r = t2 + t1; - let hfsq: f32 = 0.5 * f * f; - let hi = f - hfsq; - let u = reinterpret(hi); - u &= 0xFFFFF000; - hi = reinterpret(u); - let lo: f32 = f - hi - hfsq + s * (hfsq + r); - let dk = k; - return (lo + hi) * ivln2lo + lo * ivln2hi + hi * ivln2hi + dk; - } - } - - // @ts-ignore: decorator - @inline - export function max(value1: f32, value2: f32): f32 { - return builtin_max(value1, value2); - } - - // @ts-ignore: decorator - @inline - export function min(value1: f32, value2: f32): f32 { - return builtin_min(value1, value2); - } - - export function pow(x: f32, y: f32): f32 { - // TODO: remove this fast pathes after introduced own mid-end IR with "stdlib call simplify" transforms - if (builtin_abs(y) <= 2) { - if (y == 2.0) return x * x; - if (y == 0.5) { - return select( - builtin_abs(builtin_sqrt(x)), - Infinity, - x != -Infinity - ); - } - if (y == -1.0) return 1 / x; - if (y == 1.0) return x; - if (y == 0.0) return 1.0; - } - if (ASC_SHRINK_LEVEL < 1) { - // see: musl/src/math/powf.c - return powf_lut(x, y); - } else { - // based on: jdh8/metallic/src/math/float/powf.c - if (y == 0) return 1; - // @ts-ignore: cast - if (isNaN(x) | isNaN(y)) { - return NaN; - } - let sign: u32 = 0; - let uy = reinterpret(y); - let ux = reinterpret(x); - let sx = ux >> 31; - ux &= 0x7FFFFFFF; - if (sx && nearest(y) == y) { - x = -x; - sx = 0; - sign = u32(nearest(y * 0.5) != y * 0.5) << 31; - } - let m: u32; - if (ux == 0x3F800000) { // x == 1 - m = sx | u32((uy & 0x7FFFFFFF) == 0x7F800000) ? 0x7FC00000 : 0x3F800000; - } else if (ux == 0) { - m = uy < 0 ? 0x7F800000 : 0; - } else if (ux == 0x7F800000) { - m = uy < 0 ? 0 : 0x7F800000; - } else if (sx) { - m = 0x7FC00000; - } else { - m = reinterpret(exp2f(y * log2f(x))); - } - return reinterpret(m | sign); - } - } - - // @ts-ignore: decorator - @inline - export function seedRandom(value: i64): void { - NativeMath.seedRandom(value); - } - - // Using xoroshiro64starstar from http://xoshiro.di.unimi.it/xoroshiro64starstar.c - export function random(): f32 { - if (!random_seeded) seedRandom(reinterpret(seed())); - - let s0 = random_state0_32; - let s1 = random_state1_32; - let r = rotl(s0 * 0x9E3779BB, 5) * 5; - - s1 ^= s0; - random_state0_32 = rotl(s0, 26) ^ s1 ^ (s1 << 9); - random_state1_32 = rotl(s1, 13); - - return reinterpret((r >> 9) | (127 << 23)) - 1.0; - } - - export function round(x: f32): f32 { - if (ASC_SHRINK_LEVEL > 0) { - return builtin_ceil(x) - f32(builtin_ceil(x) - 0.5 > x); - } else { - let roundUp = builtin_ceil(x); - return select(roundUp, roundUp - 1.0, roundUp - 0.5 <= x); - } - } - - export function sign(x: f32): f32 { - if (ASC_SHRINK_LEVEL > 0) { - return select(builtin_copysign(1, x), x, builtin_abs(x) > 0); - } else { - return select(1, select(-1, x, x < 0), x > 0); - } - } - - // @ts-ignore: decorator - @inline - export function signbit(x: f32): bool { - return (reinterpret(x) >>> 31); - } - - export function sin(x: f32): f32 { // see: musl/src/math/sinf.c - const - s1pio2 = reinterpret(0x3FF921FB54442D18), // M_PI_2 * 1 - s2pio2 = reinterpret(0x400921FB54442D18), // M_PI_2 * 2 - s3pio2 = reinterpret(0x4012D97C7F3321D2), // M_PI_2 * 3 - s4pio2 = reinterpret(0x401921FB54442D18); // M_PI_2 * 4 - - let ux = reinterpret(x); - let sign = ux >> 31; - ux &= 0x7FFFFFFF; - - if (ux <= 0x3F490FDA) { // |x| ~<= π/4 - if (ux < 0x39800000) { // |x| < 2**-12 - return x; - } - return sin_kernf(x); - } - - if (ASC_SHRINK_LEVEL < 1) { - if (ux <= 0x407B53D1) { // |x| ~<= 5π/4 - if (ux <= 0x4016CBE3) { // |x| ~<= 3π/4 - return sign ? -cos_kernf(x + s1pio2) : cos_kernf(x - s1pio2); - } - return sin_kernf(-(sign ? x + s2pio2 : x - s2pio2)); - } - - if (ux <= 0x40E231D5) { // |x| ~<= 9π/4 - if (ux <= 0x40AFEDDF) { // |x| ~<= 7π/4 - return sign ? cos_kernf(x + s3pio2) : -cos_kernf(x - s3pio2); - } - return sin_kernf(sign ? x + s4pio2 : x - s4pio2); - } - } - - // sin(Inf or NaN) is NaN - if (ux >= 0x7F800000) return x - x; - - let n = rempio2f(x, ux, sign); - let y = rempio2f_y; - - let t = n & 1 ? cos_kernf(y) : sin_kernf(y); - return n & 2 ? -t : t; - } - - export function sinh(x: f32): f32 { // see: musl/src/math/sinhf.c - let u = reinterpret(x) & 0x7FFFFFFF; - let a = reinterpret(u); - let h = builtin_copysign(0.5, x); - if (u < 0x42B17217) { - let t = expm1(a); - if (u < 0x3F800000) { - if (u < 0x3F800000 - (12 << 23)) return x; - return h * (2 * t - t * t / (t + 1)); - } - return h * (t + t / (t + 1)); - } - return expo2f(a, 2 * h); - } - - // @ts-ignore: decorator - @inline - export function sqrt(x: f32): f32 { - return builtin_sqrt(x); - } - - export function tan(x: f32): f32 { // see: musl/src/math/tanf.c - const - t1pio2 = reinterpret(0x3FF921FB54442D18), // 1 * M_PI_2 - t2pio2 = reinterpret(0x400921FB54442D18), // 2 * M_PI_2 - t3pio2 = reinterpret(0x4012D97C7F3321D2), // 3 * M_PI_2 - t4pio2 = reinterpret(0x401921FB54442D18); // 4 * M_PI_2 - - let ux = reinterpret(x); - let sign = ux >> 31; - ux &= 0x7FFFFFFF; - - if (ux <= 0x3F490FDA) { // |x| ~<= π/4 - if (ux < 0x39800000) { // |x| < 2**-12 - return x; - } - return tan_kernf(x, 0); - } - - if (ASC_SHRINK_LEVEL < 1) { - if (ux <= 0x407B53D1) { // |x| ~<= 5π/4 - if (ux <= 0x4016CBE3) { // |x| ~<= 3π/4 - return tan_kernf((sign ? x + t1pio2 : x - t1pio2), 1); - } else { - return tan_kernf((sign ? x + t2pio2 : x - t2pio2), 0); - } - } - if (ux <= 0x40E231D5) { // |x| ~<= 9π/4 - if (ux <= 0x40AFEDDF) { // |x| ~<= 7π/4 - return tan_kernf((sign ? x + t3pio2 : x - t3pio2), 1); - } else { - return tan_kernf((sign ? x + t4pio2 : x - t4pio2), 0); - } - } - } - - // tan(Inf or NaN) is NaN - if (ux >= 0x7F800000) return x - x; - - // argument reduction - let n = rempio2f(x, ux, sign); - let y = rempio2f_y; - return tan_kernf(y, n & 1); - } - - export function tanh(x: f32): f32 { // see: musl/src/math/tanhf.c - let u = reinterpret(x); - u &= 0x7FFFFFFF; - let y = reinterpret(u); - let t: f32; - if (u > 0x3F0C9F54) { - if (u > 0x41200000) t = 1 + 0 / y; - else { - t = expm1(2 * y); - t = 1 - 2 / (t + 2); - } - } else if (u > 0x3E82C578) { - t = expm1(2 * y); - t = t / (t + 2); - } else if (u >= 0x00800000) { - t = expm1(-2 * y); - t = -t / (t + 2); - } else t = y; - return builtin_copysign(t, x); - } - - // @ts-ignore: decorator - @inline - export function trunc(x: f32): f32 { - return builtin_trunc(x); - } - - export function scalbn(x: f32, n: i32): f32 { // see: https://git.musl-libc.org/cgit/musl/tree/src/math/scalbnf.c - const - Ox1p24f = reinterpret(0x4B800000), - Ox1p127f = reinterpret(0x7F000000), - Ox1p_126f = reinterpret(0x00800000); - - let y = x; - if (n > 127) { - y *= Ox1p127f; - n -= 127; - if (n > 127) { - y *= Ox1p127f; - n = builtin_min(n - 127, 127); - } - } else if (n < -126) { - y *= Ox1p_126f * Ox1p24f; - n += 126 - 24; - if (n < -126) { - y *= Ox1p_126f * Ox1p24f; - n = builtin_max(n + 126 - 24, -126); - } - } - return y * reinterpret((0x7F + n) << 23); - } - - export function mod(x: f32, y: f32): f32 { // see: musl/src/math/fmodf.c - if (builtin_abs(y) == 1.0) { - // x % 1, x % -1 ==> sign(x) * abs(x - 1.0 * trunc(x / 1.0)) - // TODO: move this rule to compiler's optimization pass. - // It could be apply for any x % C_pot, where "C_pot" is pow of two const. - return builtin_copysign(x - builtin_trunc(x), x); - } - let ux = reinterpret(x); - let uy = reinterpret(y); - let ex = i32(ux >> 23 & 0xFF); - let ey = i32(uy >> 23 & 0xFF); - let sm = ux & 0x80000000; - let uy1 = uy << 1; - if (uy1 == 0 || ex == 0xFF || isNaN(y)) { - let m = x * y; - return m / m; - } - let ux1 = ux << 1; - if (ux1 <= uy1) { - return x * f32(ux1 != uy1); - } - if (!ex) { - ex -= builtin_clz(ux << 9); - ux <<= 1 - ex; - } else { - ux &= -1 >> 9; - ux |= 1 << 23; - } - if (!ey) { - ey -= builtin_clz(uy << 9); - uy <<= 1 - ey; - } else { - uy &= u32(-1) >> 9; - uy |= 1 << 23; - } - while (ex > ey) { - if (ux >= uy) { - if (ux == uy) return 0 * x; - ux -= uy; - } - ux <<= 1; - --ex; - } - if (ux >= uy) { - if (ux == uy) return 0 * x; - ux -= uy; - } - // for (; !(ux >> 23); ux <<= 1) --ex; - let shift = builtin_clz(ux << 8); - ex -= shift; - ux <<= shift; - if (ex > 0) { - ux -= 1 << 23; - ux |= ex << 23; - } else { - ux >>= -ex + 1; - } - return reinterpret(ux | sm); - } - - export function rem(x: f32, y: f32): f32 { // see: musl/src/math/remquof.c - let ux = reinterpret(x); - let uy = reinterpret(y); - let ex = i32(ux >> 23 & 0xFF); - let ey = i32(uy >> 23 & 0xFF); - let uxi = ux; - if (uy << 1 == 0 || ex == 0xFF || isNaN(y)) return (x * y) / (x * y); - if (ux << 1 == 0) return x; - if (!ex) { - ex -= builtin_clz(uxi << 9); - uxi <<= 1 - ex; - } else { - uxi &= u32(-1) >> 9; - uxi |= 1 << 23; - } - if (!ey) { - ey -= builtin_clz(uy << 9); - uy <<= 1 - ey; - } else { - uy &= u32(-1) >> 9; - uy |= 1 << 23; - } - let q = 0; - do { - if (ex < ey) { - if (ex + 1 == ey) break; // goto end - return x; - } - while (ex > ey) { - if (uxi >= uy) { - uxi -= uy; - ++q; - } - uxi <<= 1; - q <<= 1; - --ex; - } - if (uxi >= uy) { - uxi -= uy; - ++q; - } - if (uxi == 0) ex = -30; - else { - let shift = builtin_clz(uxi << 8); - ex -= shift; - uxi <<= shift; - } - break; - } while (false); - // end: - if (ex > 0) { - uxi -= 1 << 23; - uxi |= ex << 23; - } else { - uxi >>= -ex + 1; - } - x = reinterpret(uxi); - y = builtin_abs(y); - let x2 = x + x; - if (ex == ey || (ex + 1 == ey && (x2 > y || (x2 == y && bool(q & 1))))) { - x -= y; - // q++; - } - return ux < 0 ? -x : x; - } - - export function sincos(x: f32): void { // see: musl/tree/src/math/sincosf.c - const - s1pio2 = reinterpret(0x3FF921FB54442D18), // 1 * M_PI_2 - s2pio2 = reinterpret(0x400921FB54442D18), // 2 * M_PI_2 - s3pio2 = reinterpret(0x4012D97C7F3321D2), // 3 * M_PI_2 - s4pio2 = reinterpret(0x401921FB54442D18); // 4 * M_PI_2 - - let ux = reinterpret(x); - let sign = ux >> 31; - ux &= 0x7FFFFFFF; - - if (ux <= 0x3F490FDA) { // |x| ~<= π/4 - if (ux < 0x39800000) { // |x| < 2**-12 - sincos_sin = x; - sincos_cos = 1; - return; - } - sincos_sin = sin_kernf(x); - sincos_cos = cos_kernf(x); - return; - } - if (ASC_SHRINK_LEVEL < 1) { - if (ux <= 0x407B53D1) { // |x| ~<= 5π/4 - if (ux <= 0x4016CBE3) { // |x| ~<= 3π/4 - if (sign) { - sincos_sin = -cos_kernf(x + s1pio2); - sincos_cos = sin_kernf(x + s1pio2); - } else { - sincos_sin = cos_kernf(s1pio2 - x); - sincos_cos = sin_kernf(s1pio2 - x); - } - return; - } - // -sin(x + c) is not correct if x+c could be 0: -0 vs +0 - sincos_sin = -sin_kernf(sign ? x + s2pio2 : x - s2pio2); - sincos_cos = -cos_kernf(sign ? x + s2pio2 : x - s2pio2); - return; - } - if (ux <= 0x40E231D5) { // |x| ~<= 9π/4 - if (ux <= 0x40AFEDDF) { // |x| ~<= 7π/4 - if (sign) { - sincos_sin = cos_kernf(x + s3pio2); - sincos_cos = -sin_kernf(x + s3pio2); - } else { - sincos_sin = -cos_kernf(x - s3pio2); - sincos_cos = sin_kernf(x - s3pio2); - } - return; - } - sincos_sin = sin_kernf(sign ? x + s4pio2 : x - s4pio2); - sincos_cos = cos_kernf(sign ? x + s4pio2 : x - s4pio2); - return; - } - } - // sin(Inf or NaN) is NaN - if (ux >= 0x7F800000) { - let xx = x - x; - sincos_sin = xx; - sincos_cos = xx; - return; - } - // general argument reduction needed - let n = rempio2f(x, ux, sign); - let y = rempio2f_y; - let s = sin_kernf(y); - let c = cos_kernf(y); - let sin = s, cos = c; - if (n & 1) { - sin = c; - cos = -s; - } - if (n & 2) { - sin = -sin; - cos = -cos; - } - sincos_sin = sin; - sincos_cos = cos; - } -} - -export function ipow32(x: i32, e: i32): i32 { - let out = 1; - if (ASC_SHRINK_LEVEL < 1) { - if (x == 2) { - return select(1 << e, 0, e < 32); - } - if (e <= 0) { - if (x == -1) return select(-1, 1, e & 1); - return i32(e == 0) | i32(x == 1); - } - else if (e == 1) return x; - else if (e == 2) return x * x; - else if (e < 32) { - let log = 32 - clz(e); - // 32 = 2 ^ 5, so need only five cases. - // But some extra cases needs for properly overflowing - switch (log) { - case 5: { - if (e & 1) out *= x; - e >>>= 1; - x *= x; - } - case 4: { - if (e & 1) out *= x; - e >>>= 1; - x *= x; - } - case 3: { - if (e & 1) out *= x; - e >>>= 1; - x *= x; - } - case 2: { - if (e & 1) out *= x; - e >>>= 1; - x *= x; - } - case 1: { - if (e & 1) out *= x; - } - } - return out; - } - } - while (e) { - if (e & 1) out *= x; - e >>>= 1; - x *= x; - } - return out; -} - -export function ipow64(x: i64, e: i64): i64 { - let out: i64 = 1; - if (ASC_SHRINK_LEVEL < 1) { - if (x == 2) { - return select(1 << e, 0, e < 64); - } - if (e <= 0) { - if (x == -1) return select(-1, 1, e & 1); - return i64(e == 0) | i64(x == 1); - } - else if (e == 1) return x; - else if (e == 2) return x * x; - else if (e < 64) { - let log = 64 - clz(e); - // 64 = 2 ^ 6, so need only six cases. - // But some extra cases needs for properly overflowing - switch (log) { - case 6: { - if (e & 1) out *= x; - e >>>= 1; - x *= x; - } - case 5: { - if (e & 1) out *= x; - e >>>= 1; - x *= x; - } - case 4: { - if (e & 1) out *= x; - e >>>= 1; - x *= x; - } - case 3: { - if (e & 1) out *= x; - e >>>= 1; - x *= x; - } - case 2: { - if (e & 1) out *= x; - e >>>= 1; - x *= x; - } - case 1: { - if (e & 1) out *= x; - } - } - return out; - } - } - while (e) { - if (e & 1) out *= x; - e >>>= 1; - x *= x; - } - return out; -} - -/* -TODO: -In compile time if only exponent is constant we could replace ipow32/ipow64 by shortest addition chains -which usually faster than exponentiation by squaring - -for ipow32 and e < 32: - -let b: i32, c: i32, d: i32, h: i32, k: i32, g: i32; -switch (e) { - case 1: return x; - case 2: return x * x; - case 3: return x * x * x; - case 4: return (b = x * x) * b; - case 5: return (b = x * x) * b * x; - case 6: return (b = x * x) * b * b; - case 7: return (b = x * x) * b * b * x; - case 8: return (d = (b = x * x) * b) * d; - case 9: return (c = x * x * x) * c * c; - case 10: return (d = (b = x * x) * b) * d * b; - case 11: return (d = (b = x * x) * b) * d * b * x; - case 12: return (d = (b = x * x) * b) * d * d; - case 13: return (d = (b = x * x) * b) * d * d * x; - case 14: return (d = (b = x * x) * b) * d * d * b; - case 15: return (k = (b = x * x) * b * x) * k * k; - case 16: return (h = (d = (b = x * x) * b) * d) * h; - case 17: return (h = (d = (b = x * x) * b) * d) * h * x; - case 18: return (h = (d = (b = x * x) * b) * d * x) * h; - case 19: return (h = (d = (b = x * x) * b) * d * x) * h * x; - case 20: return (h = (k = (b = x * x) * b * x) * k) * h; - case 21: return (h = (k = (b = x * x) * b * x) * k) * h * x; - case 22: return (g = (h = (k = (b = x * x) * b * x) * k) * x) * g; - case 23: return (h = (d = (c = (b = x * x) * x) * b) * d) * h * c; - case 24: return (h = (d = (c = x * x * x) * c) * d) * h; - case 25: return (h = (d = (c = x * x * x) * c) * d) * h * x; - case 26: return (g = (h = (d = (c = x * x * x) * c) * d) * x) * g; - case 27: return (h = (d = (c = x * x * x) * c) * d) * h * c; - case 28: return (h = (d = (c = x * x * x) * c * x) * d) * h; - case 29: return (h = (d = (c = x * x * x) * c * x) * d) * h * x; - case 30: return (h = (d = (c = x * x * x) * c) * d * c) * h; - case 31: return (h = (d = (c = x * x * x) * c) * d * c) * h * x; -} - -for ipow64: TODO -switch (e) { - case 32: - ... - case 63: -} -*/ diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/memory.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/memory.ts deleted file mode 100644 index 5bff3516..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/std/assembly/memory.ts +++ /dev/null @@ -1,123 +0,0 @@ -import { memcmp, memmove, memset } from "./util/memory"; -import { E_NOTIMPLEMENTED } from "./util/error"; - -/** Memory manager interface. */ -export namespace memory { - - /** Gets the size of the memory in pages. */ - // @ts-ignore: decorator - @builtin - export declare function size(): i32; - - /** Grows the memory by the given size in pages and returns the previous size in pages. */ - // @ts-ignore: decorator - @unsafe @builtin - export declare function grow(pages: i32): i32; - - /** Fills a section in memory with the specified byte value. */ - // @ts-ignore: decorator - @unsafe @builtin - export function fill(dst: usize, c: u8, n: usize): void { - memset(dst, c, n); // fallback if "bulk-memory" isn't enabled - } - - /** Copies a section of memory to another. Has move semantics. */ - // @ts-ignore: decorator - @unsafe @builtin - export function copy(dst: usize, src: usize, n: usize): void { - memmove(dst, src, n); // fallback if "bulk-memory" isn't enabled - } - - export namespace atomic { - - // @ts-ignore: decorator - @unsafe @builtin - export declare function wait32(ptr: usize, expected: i32, timeout: i64): AtomicWaitResult; - - // @ts-ignore: decorator - @unsafe @builtin - export declare function wait64(ptr: usize, expected: i64, timeout: i64): AtomicWaitResult; - } - - /** Initializes a memory segment. */ - // @ts-ignore: decorator - @unsafe - export function init(segmentIndex: u32, srcOffset: usize, dstOffset: usize, n: usize): void { - throw new Error(E_NOTIMPLEMENTED); - } - - /** Drops a memory segment. */ - // @ts-ignore: decorator - @unsafe - export function drop(segmentIndex: u32): void { - throw new Error(E_NOTIMPLEMENTED); - } - - /** Repeats a section of memory at a specific address. */ - // @ts-ignore: decorator - @unsafe - export function repeat(dst: usize, src: usize, srcLength: usize, count: usize): void { - let index: usize = 0; - let total = srcLength * count; - while (index < total) { - memory.copy(dst + index, src, srcLength); - index += srcLength; - } - } - - /** Compares a section of memory to another. */ - // @ts-ignore: decorator - @inline - export function compare(vl: usize, vr: usize, n: usize): i32 { - return memcmp(vl, vr, n); - } - - /** Gets a pointer to a static chunk of memory of the given size. */ - // @ts-ignore: decorator - @builtin - export declare function data(size: T, align?: i32): usize; -} - -// @ts-ignore: decorator -@builtin -export declare const __data_end: usize; - -// @ts-ignore: decorator -@builtin -export declare let __stack_pointer: usize; - -// @ts-ignore: decorator -@builtin -export declare const __heap_base: usize; - -/** Heap memory interface. */ -export namespace heap { - - /** Allocates a chunk of memory of at least the specified size. */ - // @ts-ignore: decorator - @unsafe export function alloc(size: usize): usize { - return __alloc(size); - } - - /** Reallocates a chunk of memory to have at least the specified size. */ - // @ts-ignore: decorator - @unsafe export function realloc(ptr: usize, size: usize): usize { - return __realloc(ptr, size); - } - - /** Frees a chunk of memory. Does hardly anything (most recent block only) with the stub runtime. */ - // @ts-ignore: decorator - @unsafe export function free(ptr: usize): void { - __free(ptr); - } - - /** Dangerously resets the entire heap. Specific to the stub runtime. */ - // @ts-ignore: decorator - @unsafe export function reset(): void { - if (isDefined(__reset)) { - __reset(); - } else { - throw new Error(E_NOTIMPLEMENTED); - } - } -} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/number.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/number.ts deleted file mode 100644 index 47a4a7a9..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/std/assembly/number.ts +++ /dev/null @@ -1,388 +0,0 @@ -import { itoa32, utoa32, itoa64, utoa64, dtoa } from "./util/number"; -import { strtol, strtod } from "./util/string"; - -// @ts-ignore: decorator -@builtin @inline -export const NaN: f64 = 0 / 0; // context-aware - -// @ts-ignore: decorator -@builtin @inline -export const Infinity: f64 = 1 / 0; // context-aware - -// @ts-ignore: decorator -@builtin -export declare function isNaN(value: T): bool; - -// @ts-ignore: decorator -@builtin -export declare function isFinite(value: T): bool; - -@final @unmanaged -export abstract class I8 { - - // @ts-ignore: decorator - @lazy - static readonly MIN_VALUE: i8 = i8.MIN_VALUE; - - // @ts-ignore: decorator - @lazy - static readonly MAX_VALUE: i8 = i8.MAX_VALUE; - - /** @deprecated */ - static parseInt(value: string, radix: i32 = 0): i8 { - return strtol(value, radix); - } - - toString(this: i8, radix: i32 = 10): String { - return itoa32(this, radix); - } -} - -@final @unmanaged -export abstract class I16 { - - // @ts-ignore: decorator - @lazy - static readonly MIN_VALUE: i16 = i16.MIN_VALUE; - - // @ts-ignore: decorator - @lazy - static readonly MAX_VALUE: i16 = i16.MAX_VALUE; - - /** @deprecated */ - static parseInt(value: string, radix: i32 = 0): i16 { - return strtol(value, radix); - } - - toString(this: i16, radix: i32 = 10): String { - return itoa32(this, radix); - } -} - -@final @unmanaged -export abstract class I32 { - - // @ts-ignore: decorator - @lazy - static readonly MIN_VALUE: i32 = i32.MIN_VALUE; - - // @ts-ignore: decorator - @lazy - static readonly MAX_VALUE: i32 = i32.MAX_VALUE; - - /** @deprecated */ - static parseInt(value: string, radix: i32 = 0): i32 { - return strtol(value, radix); - } - - toString(this: i32, radix: i32 = 10): String { - return itoa32(this, radix); - } -} - -@final @unmanaged -export abstract class I64 { - - // @ts-ignore: decorator - @lazy - static readonly MIN_VALUE: i64 = i64.MIN_VALUE; - - // @ts-ignore: decorator - @lazy - static readonly MAX_VALUE: i64 = i64.MAX_VALUE; - - /** @deprecated */ - static parseInt(value: string, radix: i32 = 0): i64 { - return strtol(value, radix); - } - - toString(this: i64, radix: i32 = 10): String { - return itoa64(this, radix); - } -} - -@final @unmanaged -export abstract class Isize { - - // @ts-ignore: decorator - @lazy - static readonly MIN_VALUE: isize = isize.MIN_VALUE; - - // @ts-ignore: decorator - @lazy - static readonly MAX_VALUE: isize = isize.MAX_VALUE; - - /** @deprecated */ - static parseInt(value: string, radix: i32 = 0): isize { - return strtol(value, radix); - } - - toString(this: isize, radix: i32 = 10): String { - if (sizeof() == 4) { - return itoa32(this, radix); - } else { - return itoa64(this, radix); - } - } -} - -@final @unmanaged -export abstract class U8 { - - // @ts-ignore: decorator - @lazy - static readonly MIN_VALUE: u8 = u8.MIN_VALUE; - - // @ts-ignore: decorator - @lazy - static readonly MAX_VALUE: u8 = u8.MAX_VALUE; - - /** @deprecated */ - static parseInt(value: string, radix: i32 = 0): u8 { - return strtol(value, radix); - } - - toString(this: u8, radix: i32 = 10): String { - return utoa32(this, radix); - } -} - -@final @unmanaged -export abstract class U16 { - - // @ts-ignore: decorator - @lazy - static readonly MIN_VALUE: u16 = u16.MIN_VALUE; - - // @ts-ignore: decorator - @lazy - static readonly MAX_VALUE: u16 = u16.MAX_VALUE; - - /** @deprecated */ - static parseInt(value: string, radix: i32 = 0): u16 { - return strtol(value, radix); - } - - toString(this: u16, radix: i32 = 10): String { - return utoa32(this, radix); - } -} - -@final @unmanaged -export abstract class U32 { - - // @ts-ignore: decorator - @lazy - static readonly MIN_VALUE: u32 = u32.MIN_VALUE; - - // @ts-ignore: decorator - @lazy - static readonly MAX_VALUE: u32 = u32.MAX_VALUE; - - /** @deprecated */ - static parseInt(value: string, radix: i32 = 0): u32 { - return strtol(value, radix); - } - - toString(this: u32, radix: i32 = 10): String { - return utoa32(this, radix); - } -} - -@final @unmanaged -export abstract class U64 { - - // @ts-ignore: decorator - @lazy - static readonly MIN_VALUE: u64 = u64.MIN_VALUE; - - // @ts-ignore: decorator - @lazy - static readonly MAX_VALUE: u64 = u64.MAX_VALUE; - - /** @deprecated */ - static parseInt(value: string, radix: i32 = 0): u64 { - return strtol(value, radix); - } - - toString(this: u64, radix: i32 = 10): String { - return utoa64(this, radix); - } -} - -@final @unmanaged -export abstract class Usize { - - // @ts-ignore: decorator - @lazy - static readonly MIN_VALUE: usize = usize.MIN_VALUE; - - // @ts-ignore: decorator - @lazy - static readonly MAX_VALUE: usize = usize.MAX_VALUE; - - /** @deprecated */ - static parseInt(value: string, radix: i32 = 0): usize { - return strtol(value, radix); - } - - toString(this: usize, radix: i32 = 10): String { - if (sizeof() == 4) { - return utoa32(this, radix); - } else { - return utoa64(this, radix); - } - } -} - -@final @unmanaged -export abstract class Bool { - - // @ts-ignore: decorator - @lazy - static readonly MIN_VALUE: bool = bool.MIN_VALUE; - - // @ts-ignore: decorator - @lazy - static readonly MAX_VALUE: bool = bool.MAX_VALUE; - - toString(this: bool, radix: i32 = 0): String { - return this ? "true" : "false"; - } -} - -export { Bool as Boolean }; - -@final @unmanaged -export abstract class F32 { - - // @ts-ignore: decorator - @lazy - static readonly EPSILON: f32 = f32.EPSILON; - - // @ts-ignore: decorator - @lazy - static readonly MIN_VALUE: f32 = f32.MIN_VALUE; - - // @ts-ignore: decorator - @lazy - static readonly MAX_VALUE: f32 = f32.MAX_VALUE; - - // @ts-ignore: decorator - @lazy - static readonly MIN_SAFE_INTEGER: f32 = f32.MIN_SAFE_INTEGER; - - // @ts-ignore: decorator - @lazy - static readonly MAX_SAFE_INTEGER: f32 = f32.MAX_SAFE_INTEGER; - - // @ts-ignore: decorator - @lazy - static readonly POSITIVE_INFINITY: f32 = f32.POSITIVE_INFINITY; - - // @ts-ignore: decorator - @lazy - static readonly NEGATIVE_INFINITY: f32 = f32.NEGATIVE_INFINITY; - - // @ts-ignore: decorator - @lazy - static readonly NaN: f32 = f32.NaN; - - static isNaN(value: f32): bool { - return isNaN(value); - } - - static isFinite(value: f32): bool { - return isFinite(value); - } - - static isSafeInteger(value: f32): bool { - return abs(value) <= f32.MAX_SAFE_INTEGER && trunc(value) == value; - } - - static isInteger(value: f32): bool { - return isFinite(value) && trunc(value) == value; - } - - /** @deprecated */ - static parseInt(value: string, radix: i32 = 0): f32 { - return strtol(value, radix); - } - - /** @deprecated */ - static parseFloat(value: string): f32 { - return strtod(value); - } - - toString(this: f32, radix: i32 = 0): String { - return dtoa(this); - } -} - -@final @unmanaged -export abstract class F64 { - - // @ts-ignore: decorator - @lazy - static readonly EPSILON: f64 = f64.EPSILON; - - // @ts-ignore: decorator - @lazy - static readonly MIN_VALUE: f64 = f64.MIN_VALUE; - - // @ts-ignore: decorator - @lazy - static readonly MAX_VALUE: f64 = f64.MAX_VALUE; - - // @ts-ignore: decorator - @lazy - static readonly MIN_SAFE_INTEGER: f64 = f64.MIN_SAFE_INTEGER; - - // @ts-ignore: decorator - @lazy - static readonly MAX_SAFE_INTEGER: f64 = f64.MAX_SAFE_INTEGER; - - // @ts-ignore: decorator - @lazy - static readonly POSITIVE_INFINITY: f64 = f64.POSITIVE_INFINITY; - - // @ts-ignore: decorator - @lazy - static readonly NEGATIVE_INFINITY: f64 = f64.NEGATIVE_INFINITY; - - // @ts-ignore: decorator - @lazy - static readonly NaN: f64 = f64.NaN; - - static isNaN(value: f64): bool { - return isNaN(value); - } - - static isFinite(value: f64): bool { - return isFinite(value); - } - - static isSafeInteger(value: f64): bool { - return abs(value) <= f64.MAX_SAFE_INTEGER && trunc(value) == value; - } - - static isInteger(value: f64): bool { - return isFinite(value) && trunc(value) == value; - } - - /** @deprecated */ - static parseInt(value: string, radix: i32 = 0): f64 { - return strtol(value, radix); - } - - /** @deprecated */ - static parseFloat(value: string): f64 { - return strtod(value); - } - - toString(this: f64, radix: i32 = 0): String { - return dtoa(this); - } -} - -export { F64 as Number }; diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/object.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/object.ts deleted file mode 100644 index 23f5740a..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/std/assembly/object.ts +++ /dev/null @@ -1,36 +0,0 @@ -export abstract class Object { - static is(x: T, y: T): bool { - if (isFloat()) { - // Float pointing is special we shoulr presere following identities: - // 0.0 !=-0.0 - // NaN == NaN - if (sizeof() == 8) { - return ( - bool(u32(x != x) & u32(y != y) | - u32(reinterpret(f64(x)) == reinterpret(f64(y)))) - ); - } else { - return ( - bool(u32(x != x) & u32(y != y) | - u32(reinterpret(f32(x)) == reinterpret(f32(y)))) - ); - } - } - // For references, strings, integers and booleans - return x == y; - } - - // TODO: Wrapper classes like `Function` override the `this` type of - // `toString`, which is covariant and hence fails to overload. Wrapper classes - // might need a different mechanism to indicate such special `this` types. - // toString(): string { - // return "[object Object]"; - // } -} - -// TODO: The types `Object` and `object` differ in TypeScript, in that the -// latter indicates any non-primitive type, not including `string` for example. -// The `object` type hence remains reserved for now, also to potentially address -// the above `toString` TODO in alternative ways. -// @ts-ignore: nolib -// export type object = Object; diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/performance.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/performance.ts deleted file mode 100644 index 201f4ad2..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/std/assembly/performance.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { - performance as performance_binding -} from "bindings/dom"; - -export namespace performance { - export function now(): f64 { - return performance_binding.now(); - } -} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/polyfills.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/polyfills.ts deleted file mode 100644 index 2f39f1f2..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/std/assembly/polyfills.ts +++ /dev/null @@ -1,27 +0,0 @@ -export function bswap(value: T): T { - if (isInteger()) { - if (sizeof() == 1) { - return value; - } - if (sizeof() == 2) { - return (value << 8 | (value >> 8)); - } - if (sizeof() == 4) { - return ( - rotl(value & 0xFF00FF00, 8) | - rotr(value & 0x00FF00FF, 8) - ); - } - if (sizeof() == 8) { - let a = (value >> 8) & 0x00FF00FF00FF00FF; - let b = (value & 0x00FF00FF00FF00FF) << 8; - let v = a | b; - - a = (v >>> 16) & 0x0000FFFF0000FFFF; - b = (v & 0x0000FFFF0000FFFF) << 16; - - return rotr(a | b, 32); - } - } - ERROR("Unsupported generic type"); -} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/process.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/process.ts deleted file mode 100644 index 63c35e1b..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/std/assembly/process.ts +++ /dev/null @@ -1,50 +0,0 @@ -import { - Date as Date_binding, - performance as performance_binding -} from "bindings/dom"; - -import { - process as process_binding -} from "bindings/node"; - -export namespace process { - - // @ts-ignore: decorator - @lazy export const arch = sizeof() == 4 ? "wasm32" : "wasm64"; - - // @ts-ignore: decorator - @lazy export const platform = "wasm"; - - // @ts-ignore: decorator - @lazy export const argv = lazyArgv(); - - // @ts-ignore: decorator - @lazy export const env = lazyEnv(); - - // @ts-ignore: decorator - @lazy export let exitCode = 0; - - export function exit(code: i32 = exitCode): void { - process_binding.exit(code); - } - - export function time(): i64 { - return Date_binding.now(); - } - - export function hrtime(): u64 { - let now = performance_binding.now(); - let millis = now; - let fraction = now - millis; - return millis * 1000000 + (fraction * 1000000); - } -} - -function lazyArgv(): string[] { - return process_binding.argv; -} - -function lazyEnv(): Map { - // TODO: What about Node? - return new Map(); -} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/reference.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/reference.ts deleted file mode 100644 index 148f4567..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/std/assembly/reference.ts +++ /dev/null @@ -1,48 +0,0 @@ -// Canonical aliases -export type funcref = ref_func | null; -export type externref = ref_extern | null; -export type anyref = ref_any | null; -export type eqref = ref_eq | null; -export type i31ref = ref_i31 | null; -export type structref = ref_struct | null; -export type arrayref = ref_array | null; -export type stringref = ref_string | null; -export type stringview_wtf8 = ref_stringview_wtf8 | null; -export type stringview_wtf16 = ref_stringview_wtf16 | null; -export type stringview_iter = ref_stringview_iter | null; - -@unmanaged -abstract class Ref { -} - -@final @unmanaged -export abstract class RefFunc extends Ref { -} - -@final @unmanaged -export abstract class RefExtern extends Ref { -} - -@final @unmanaged -export abstract class RefAny extends Ref { -} - -@final @unmanaged -export abstract class RefEq extends Ref { -} - -@final @unmanaged -export abstract class RefI31 extends Ref { -} - -@final @unmanaged -export abstract class RefStruct extends Ref { -} - -@final @unmanaged -export abstract class RefArray extends Ref { -} - -@final @unmanaged -export abstract class RefString extends Ref { -} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/regexp.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/regexp.ts deleted file mode 100644 index 8ed6063e..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/std/assembly/regexp.ts +++ /dev/null @@ -1,12 +0,0 @@ -export class RegExp { - - // @binding(CALL_NEW, [ STRING, STRING], OBJECT_HANDLE) - constructor(pattern: string, flags: string = "") { throw new Error("unreachable"); } - - // @binding(CALL_THIS, [ STRING ], PASS_THRU) - test(search: string): bool { throw new Error("unreachable"); } - - // @binding(CALL_THIS, [], STRING) - toString(): string { throw new Error("unreachable"); } - -} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/rt.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/rt.ts deleted file mode 100644 index 403e4b20..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/std/assembly/rt.ts +++ /dev/null @@ -1,87 +0,0 @@ -import { Typeinfo, TypeinfoFlags } from "./shared/typeinfo"; -import { E_INDEXOUTOFRANGE } from "./util/error"; -import { ArrayBufferView } from "./arraybuffer"; - -// @ts-ignore: decorator -@builtin -export declare const __rtti_base: usize; - -// @ts-ignore: decorator -@builtin @unsafe -export declare function __visit_globals(cookie: u32): void; - -// @ts-ignore: decorator -@builtin @unsafe -export declare function __visit_members(ref: usize, cookie: u32): void; - -// @ts-ignore: decorator -@unsafe -export function __typeinfo(id: u32): TypeinfoFlags { - let ptr = __rtti_base; - if (id > load(ptr)) throw new Error(E_INDEXOUTOFRANGE); - return changetype(ptr + sizeof() + id * offsetof()).flags; -} - -// @ts-ignore: decorator -@unsafe -export function __newBuffer(size: usize, id: u32, data: usize = 0): usize { - let buffer = __new(size, id); - if (data) memory.copy(buffer, data, size); - return buffer; -} - -// @ts-ignore: decorator -@unsafe -export function __newArray(length: i32, alignLog2: usize, id: u32, data: usize = 0): usize { - let bufferSize = length << alignLog2; - // make sure `buffer` is tracked by the shadow stack - let buffer = changetype(__newBuffer(bufferSize, idof(), data)); - // ...since allocating the array may trigger GC steps - let array = __new(offsetof(), id); - store(array, changetype(buffer), offsetof("buffer")); - __link(array, changetype(buffer), false); - store(array, changetype(buffer), offsetof("dataStart")); - store(array, bufferSize, offsetof("byteLength")); - store(array, length, offsetof("length_")); - return array; -} - -// @ts-ignore: decorator -@global @unsafe -function __tostack(ptr: usize): usize { // eslint-disable-line - return ptr; -} - -// These are provided by the respective implementation, included as another entry file by asc: - -// // @ts-ignore: decorator -// @builtin @unsafe -// export declare function __alloc(size: usize): usize; - -// // @ts-ignore: decorator -// @builtin @unsafe -// export declare function __realloc(ptr: usize, size: usize): usize; - -// // @ts-ignore: decorator -// @builtin @unsafe -// export declare function __free(ptr: usize): void; - -// // @ts-ignore: decorator -// @builtin @unsafe -// export declare function __new(size: usize, id: u32): usize; - -// // @ts-ignore: decorator -// @builtin @unsafe -// export declare function __renew(ptr: usize, size: usize): usize; - -// // @ts-ignore: decorator -// @builtin @unsafe -// export declare function __link(parentPtr: usize, childPtr: usize, expectMultiple: bool): void; - -// // @ts-ignore: decorator -// @builtin @unsafe -// export declare function __collect(): void; - -// // @ts-ignore: decorator -// @builtin @unsafe -// export declare function __visit(ptr: usize, cookie: u32): void; diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/README.md b/platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/README.md deleted file mode 100644 index 6a27d565..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/README.md +++ /dev/null @@ -1,83 +0,0 @@ -The AssemblyScript Runtime -========================== - -The runtime provides the functionality necessary to dynamically allocate and deallocate memory of objects, arrays and buffers, as well as collect garbage that is no longer used. The current implementation is either a Two-Color Mark & Sweep (TCMS) garbage collector that must be called manually when the execution stack is unwound or an Incremental Tri-Color Mark & Sweep (ITCMS) garbage collector that is fully automated with a shadow stack, implemented on top of a Two-Level Segregate Fit (TLSF) memory manager. It's not designed to be the fastest of its kind, but intentionally focuses on simplicity and ease of integration until we can replace it with the real deal, i.e. Wasm GC. - -Interface ---------- - -### Garbage collector / `--exportRuntime` - -* **__new**(size: `usize`, id: `u32` = 0): `usize`
- Dynamically allocates a GC object of at least the specified size and returns its address. - Alignment is guaranteed to be 16 bytes to fit up to v128 values naturally. - GC-allocated objects cannot be used with `__realloc` and `__free`. - -* **__pin**(ptr: `usize`): `usize`
- Pins the object pointed to by `ptr` externally so it and its directly reachable members and indirectly reachable objects do not become garbage collected. - -* **__unpin**(ptr: `usize`): `void`
- Unpins the object pointed to by `ptr` externally so it can become garbage collected. - -* **__collect**(): `void`
- Performs a full garbage collection. - -### Internals - -* **__alloc**(size: `usize`): `usize`
- Dynamically allocates a chunk of memory of at least the specified size and returns its address. - Alignment is guaranteed to be 16 bytes to fit up to v128 values naturally. - -* **__realloc**(ptr: `usize`, size: `usize`): `usize`
- Dynamically changes the size of a chunk of memory, possibly moving it to a new address. - -* **__free**(ptr: `usize`): `void`
- Frees a dynamically allocated chunk of memory by its address. - -* **__renew**(ptr: `usize`, size: `usize`): `usize`
- Like `__realloc`, but for `__new`ed GC objects. - -* **__link**(parentPtr: `usize`, childPtr: `usize`, expectMultiple: `bool`): `void`
- Introduces a link from a parent object to a child object, i.e. upon `parent.field = child`. - -* **__visit**(ptr: `usize`, cookie: `u32`): `void`
- Concrete visitor implementation called during traversal. Cookie can be used to indicate one of multiple operations. - -* **__visit_globals**(cookie: `u32`): `void`
- Calls `__visit` on each global that is of a managed type. - -* **__visit_members**(ptr: `usize`, cookie: `u32`): `void`
- Calls `__visit` on each member of the object pointed to by `ptr`. - -* **__typeinfo**(id: `u32`): `RTTIFlags`
- Obtains the runtime type information for objects with the specified runtime id. Runtime type information is a set of flags indicating whether a type is managed, an array or similar, and what the relevant alignments when creating an instance externally are etc. - -ITCMS / `--runtime incremental` ------ - -The Incremental Tri-Color Mark & Sweep garbage collector maintains a separate shadow stack of managed values in the background to achieve full automation. Maintaining another stack introduces some overhead compared to the simpler Two-Color Mark & Sweep garbage collector, but makes it independent of whether the execution stack is unwound or not when it is invoked, so the garbage collector can run interleaved with the program. - -There are several constants one can experiment with to tweak ITCMS's automation: - -* `--use ASC_GC_GRANULARITY=1024`
- How often to interrupt. The default of 1024 means "interrupt each 1024 bytes allocated". -* `--use ASC_GC_STEPFACTOR=200`
- How long to interrupt. The default of 200% means "run at double the speed of allocations". -* `--use ASC_GC_IDLEFACTOR=200`
- How long to idle. The default of 200% means "wait for memory to double before kicking in again". -* `--use ASC_GC_MARKCOST=1`
- How costly it is to mark one object. Budget per interrupt is `GRANULARITY * STEPFACTOR / 100`. -* `--use ASC_GC_SWEEPCOST=10`
- How costly it is to sweep one object. Budget per interrupt is `GRANULARITY * STEPFACTOR / 100`. - -TCMS / `--runtime minimal` ----- - -If automation and low pause times aren't strictly necessary, using the Two-Color Mark & Sweep garbage collector instead by invoking collection manually at appropriate times when the execution stack is unwound may be more performant as it simpler and has less overhead. The execution stack is typically unwound when invoking the collector externally, at a place that is not indirectly called from Wasm. - -STUB / `--runtime stub` ----- - -The stub is a maximally minimal runtime substitute, consisting of a simple and fast bump allocator with no means of freeing up memory again, except when freeing the respective most recently allocated object on top of the bump. Useful where memory is not a concern, and/or where it is sufficient to destroy the whole module including any potential garbage after execution. - -See also: [Garbage collection](https://www.assemblyscript.org/garbage-collection.html) diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/common.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/common.ts deleted file mode 100644 index 4be7c653..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/common.ts +++ /dev/null @@ -1,81 +0,0 @@ -// Alignment guarantees - -// @ts-ignore: decorator -@inline export const AL_BITS: u32 = 4; // 16 bytes to fit up to v128 -// @ts-ignore: decorator -@inline export const AL_SIZE: usize = 1 << AL_BITS; -// @ts-ignore: decorator -@inline export const AL_MASK: usize = AL_SIZE - 1; - -// Extra debugging - -// @ts-ignore: decorator -@inline export const DEBUG = true; -// @ts-ignore: decorator -@inline export const TRACE = false; -// @ts-ignore: decorator -@inline export const RTRACE = isDefined(ASC_RTRACE); -// @ts-ignore: decorator -@inline export const PROFILE = isDefined(ASC_PROFILE); - -// Memory manager - -// ╒════════════ Memory manager block layout (32-bit) ═════════════╕ -// 3 2 1 -// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 bits -// ├─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┤ -// │ MM info │ -4 -// ╞>ptr═══════════════════════════════════════════════════════════╡ -// │ ... │ -@unmanaged export class BLOCK { - /** Memory manager info. */ - mmInfo: usize; -} - -/** Overhead of a memory manager block. */ -// @ts-ignore: decorator -@inline export const BLOCK_OVERHEAD: usize = offsetof(); - -/** Maximum size of a memory manager block's payload. */ -// @ts-ignore: decorator -@inline export const BLOCK_MAXSIZE: usize = (1 << 30) - BLOCK_OVERHEAD; - -// Garbage collector - -// ╒══════════ Garbage collector object layout (32-bit) ═══════════╕ -// 3 2 1 -// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 bits -// ├─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┤ -// │ Memory manager block │ -20 -// ╞═══════════════════════════════════════════════════════════════╡ -// │ GC info │ -16 -// ├───────────────────────────────────────────────────────────────┤ -// │ GC info │ -12 -// ├───────────────────────────────────────────────────────────────┤ -// │ RT id │ -8 -// ├───────────────────────────────────────────────────────────────┤ -// │ RT size │ -4 -// ╞>ptr═══════════════════════════════════════════════════════════╡ -// │ ... │ -@unmanaged export class OBJECT extends BLOCK { - /** Garbage collector info. */ - gcInfo: u32; - /** Garbage collector info. */ - gcInfo2: u32; - /** Runtime class id. */ - rtId: u32; - /** Runtime object size. */ - rtSize: u32; -} - -/** Overhead of a garbage collector object. Excludes memory manager block overhead. */ -// @ts-ignore: decorator -@inline export const OBJECT_OVERHEAD: usize = (offsetof() - BLOCK_OVERHEAD + AL_MASK) & ~AL_MASK; - -/** Maximum size of a garbage collector object's payload. */ -// @ts-ignore: decorator -@inline export const OBJECT_MAXSIZE: usize = BLOCK_MAXSIZE - OBJECT_OVERHEAD; - -/** Total of memory manager and garbage collector overhead. */ -// @ts-ignore: decorator -@inline export const TOTAL_OVERHEAD: usize = BLOCK_OVERHEAD + OBJECT_OVERHEAD; diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/index-incremental.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/index-incremental.ts deleted file mode 100644 index 4730344b..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/index-incremental.ts +++ /dev/null @@ -1,2 +0,0 @@ -import "rt/tlsf"; -import "rt/itcms"; diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/index-minimal.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/index-minimal.ts deleted file mode 100644 index cf88ee15..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/index-minimal.ts +++ /dev/null @@ -1,2 +0,0 @@ -import "rt/tlsf"; -import "rt/tcms"; diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/index-stub.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/index-stub.ts deleted file mode 100644 index 47f29beb..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/index-stub.ts +++ /dev/null @@ -1 +0,0 @@ -import "rt/stub"; diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/index.d.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/index.d.ts deleted file mode 100644 index fbe1a778..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/index.d.ts +++ /dev/null @@ -1,37 +0,0 @@ -// Memory manager -declare function __alloc(size: usize): usize; -declare function __realloc(ptr: usize, size: usize): usize; -declare function __free(ptr: usize): void; -declare function __reset(): void; - -// Garbage collector -declare function __new(size: usize, id: u32): usize; -declare function __renew(ptr: usize, size: usize): usize; -declare function __link(parentPtr: usize, childPtr: usize, expectMultiple: bool): void; -declare function __collect(): void; - -// Runtime type info -declare function __typeinfo(id: u32): u32; - -// Visitors -declare function __visit(ptr: usize, cookie: i32): void; -declare function __visit_globals(cookie: u32): void; -declare function __visit_members(ptr: usize, cookie: u32): void; - -// Allocation helpers -declare function __newBuffer(size: usize, id: u32, data?: usize): usize; -declare function __newArray(length: i32, alignLog2: usize, id: u32, data?: usize): usize; - -// Finalization -declare function __finalize(ptr: usize): void; - -// Debugging -declare const ASC_RTRACE: bool; -declare const ASC_PROFILE: bool; - -// Incremental GC constants -declare const ASC_GC_GRANULARITY: i32; -declare const ASC_GC_SWEEPFACTOR: i32; -declare const ASC_GC_IDLEFACTOR: i32; -declare const ASC_GC_MARKCOST: i32; -declare const ASC_GC_SWEEPCOST: i32; diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/itcms.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/itcms.ts deleted file mode 100644 index b44b69af..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/itcms.ts +++ /dev/null @@ -1,414 +0,0 @@ -import { BLOCK, BLOCK_OVERHEAD, OBJECT_OVERHEAD, OBJECT_MAXSIZE, TOTAL_OVERHEAD, DEBUG, TRACE, RTRACE, PROFILE } from "./common"; -import { onvisit, oncollect, oninterrupt, onyield } from "./rtrace"; -import { TypeinfoFlags } from "../shared/typeinfo"; -import { E_ALLOCATION_TOO_LARGE, E_ALREADY_PINNED, E_NOT_PINNED } from "../util/error"; - -// === ITCMS: An incremental Tri-Color Mark & Sweep garbage collector === -// Adapted from Bach Le's μgc, see: https://github.com/bullno1/ugc - -// ╒═════════════╤══════════════ Colors ═══════════════════════════╕ -// │ Color │ Meaning │ -// ├─────────────┼─────────────────────────────────────────────────┤ -// │ WHITE* │ Unprocessed │ -// │ BLACK* │ Processed │ -// │ GRAY │ Processed with unprocessed children │ -// │ TRANSPARENT │ Manually pinned (always reachable) │ -// └─────────────┴─────────────────────────────────────────────────┘ -// * flipped between cycles - -// @ts-ignore: decorator -@lazy let white = 0; -// @ts-ignore: decorator -@inline const gray = 2; -// @ts-ignore: decorator -@inline const transparent = 3; -// @ts-ignore: decorator -@inline const COLOR_MASK = 3; - -/** Size in memory of all objects currently managed by the GC. */ -// @ts-ignore: decorator -@lazy let total: usize = 0; - -/** Currently transitioning from SWEEP to MARK state. */ -// @ts-ignore: decorator -@inline const STATE_IDLE = 0; -/** Currently marking reachable objects. */ -// @ts-ignore: decorator -@inline const STATE_MARK = 1; -/** Currently sweeping unreachable objects. */ -// @ts-ignore: decorator -@inline const STATE_SWEEP = 2; -/** Current collector state. */ -// @ts-ignore: decorator -@lazy let state = STATE_IDLE; - -// @ts-ignore: decorator -@lazy let fromSpace = initLazy(changetype(memory.data(offsetof()))); -// @ts-ignore: decorator -@lazy let toSpace = initLazy(changetype(memory.data(offsetof()))); -// @ts-ignore: decorator -@lazy let pinSpace = initLazy(changetype(memory.data(offsetof()))); -// @ts-ignore: decorator -@lazy let iter: Object = changetype(0); // unsafe initializion below - -function initLazy(space: Object): Object { - space.nextWithColor = changetype(space); - space.prev = space; - return space; -} - -/** Visit cookie indicating scanning of an object. */ -// @ts-ignore: decorator -@inline const VISIT_SCAN = 0; - -// ╒═══════════════ Managed object layout (32-bit) ════════════════╕ -// 3 2 1 -// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 bits -// ├─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┤ -// │ Memory manager block │ -// ╞═══════════════════════════════════════════════════════════╤═══╡ -// │ next │ C │ = nextWithColor -// ├───────────────────────────────────────────────────────────┴───┤ -// │ prev │ -// ├───────────────────────────────────────────────────────────────┤ -// │ rtId │ -// ├───────────────────────────────────────────────────────────────┤ -// │ rtSize │ -// ╞>ptr═══════════════════════════════════════════════════════════╡ -// │ ... │ -// C: color - -/** Represents a managed object in memory, consisting of a header followed by the object's data. */ -@unmanaged class Object extends BLOCK { - /** Pointer to the next object with color flags stored in the alignment bits. */ - nextWithColor: usize; // *u32 - /** Pointer to the previous object. */ - prev: Object; // *u32 - /** Runtime id. */ - rtId: u32; - /** Runtime size. */ - rtSize: u32; - - /** Gets the pointer to the next object. */ - get next(): Object { - return changetype(this.nextWithColor & ~COLOR_MASK); - } - - /** Sets the pointer to the next object. */ - set next(obj: Object) { - this.nextWithColor = changetype(obj) | (this.nextWithColor & COLOR_MASK); - } - - /** Gets this object's color. */ - get color(): i32 { - return i32(this.nextWithColor & COLOR_MASK); - } - - /** Sets this object's color. */ - set color(color: i32) { - this.nextWithColor = (this.nextWithColor & ~COLOR_MASK) | color; - } - - /** Gets the size of this object in memory. */ - get size(): usize { - return BLOCK_OVERHEAD + (this.mmInfo & ~3); - } - - /** Tests if this object is pointerfree. */ - get isPointerfree(): bool { - let rtId = this.rtId; - // 0: Object, 1: ArrayBuffer, 2: String - return rtId <= idof() || (__typeinfo(rtId) & TypeinfoFlags.POINTERFREE) != 0; - } - - /** Unlinks this object from its list. */ - unlink(): void { - let next = this.next; - if (next == null) { - if (DEBUG) assert(this.prev == null && changetype(this) < __heap_base); - return; // static data not yet linked - } - let prev = this.prev; - if (DEBUG) assert(prev); - next.prev = prev; - prev.next = next; - } - - /** Links this object to the specified list, with the given color. */ - linkTo(list: Object, withColor: i32): void { - let prev = list.prev; - this.nextWithColor = changetype(list) | withColor; - this.prev = prev; - prev.next = this; - list.prev = this; - } - - /** Marks this object as gray, that is reachable with unscanned children. */ - makeGray(): void { - if (this == iter) iter = assert(this.prev); - this.unlink(); - this.linkTo(toSpace, this.isPointerfree ? i32(!white) : gray); - } -} - -/** Visits all objects considered to be program roots. */ -function visitRoots(cookie: u32): void { - __visit_globals(cookie); - let pn = pinSpace; - let iter = pn.next; - while (iter != pn) { - if (DEBUG) assert(iter.color == transparent); - __visit_members(changetype(iter) + TOTAL_OVERHEAD, cookie); - iter = iter.next; - } -} - -/** Visits all objects on the stack. */ -function visitStack(cookie: u32): void { - let ptr = __stack_pointer; - while (ptr < __heap_base) { - __visit(load(ptr), cookie); - ptr += sizeof(); - } -} - -/** Performs a single step according to the current state. */ -function step(): usize { - // Magic constants responsible for pause times. Obtained experimentally - // using the compiler compiling itself. 2048 budget pro run by default. - const MARKCOST = isDefined(ASC_GC_MARKCOST) ? ASC_GC_MARKCOST : 1; - const SWEEPCOST = isDefined(ASC_GC_SWEEPCOST) ? ASC_GC_SWEEPCOST : 10; - let obj: Object; - switch (state) { - case STATE_IDLE: { - state = STATE_MARK; - visitCount = 0; - visitRoots(VISIT_SCAN); - iter = toSpace; - return visitCount * MARKCOST; - } - case STATE_MARK: { - let black = i32(!white); - obj = iter.next; - while (obj != toSpace) { - iter = obj; - if (obj.color != black) { // skip already-blacks (pointerfree) - obj.color = black; - visitCount = 0; - __visit_members(changetype(obj) + TOTAL_OVERHEAD, VISIT_SCAN); - return visitCount * MARKCOST; - } - obj = obj.next; - } - visitCount = 0; - visitRoots(VISIT_SCAN); - obj = iter.next; - if (obj == toSpace) { - visitStack(VISIT_SCAN); - obj = iter.next; - while (obj != toSpace) { - if (obj.color != black) { - obj.color = black; - __visit_members(changetype(obj) + TOTAL_OVERHEAD, VISIT_SCAN); - } - obj = obj.next; - } - let from = fromSpace; - fromSpace = toSpace; - toSpace = from; - white = black; - iter = from.next; - state = STATE_SWEEP; - } - return visitCount * MARKCOST; - } - case STATE_SWEEP: { - obj = iter; - if (obj != toSpace) { - iter = obj.next; - if (DEBUG) assert(obj.color == i32(!white)); // old white - free(obj); - return SWEEPCOST; - } - toSpace.nextWithColor = changetype(toSpace); - toSpace.prev = toSpace; - state = STATE_IDLE; - break; - } - } - return 0; -} - -/** Frees an object. */ -function free(obj: Object): void { - if (changetype(obj) < __heap_base) { - obj.nextWithColor = 0; // may become linked again - obj.prev = changetype(0); - } else { - total -= obj.size; - if (isDefined(__finalize)) { - __finalize(changetype(obj) + TOTAL_OVERHEAD); - } - __free(changetype(obj) + BLOCK_OVERHEAD); - } -} - -// Garbage collector interface - -// @ts-ignore: decorator -@global @unsafe -export function __new(size: usize, id: i32): usize { - if (size >= OBJECT_MAXSIZE) throw new Error(E_ALLOCATION_TOO_LARGE); - if (total >= threshold) interrupt(); - let obj = changetype(__alloc(OBJECT_OVERHEAD + size) - BLOCK_OVERHEAD); - obj.rtId = id; - obj.rtSize = size; - obj.linkTo(fromSpace, white); // inits next/prev - total += obj.size; - let ptr = changetype(obj) + TOTAL_OVERHEAD; - // may be visited before being fully initialized, so must fill - memory.fill(ptr, 0, size); - return ptr; -} - -// @ts-ignore: decorator -@global @unsafe -export function __renew(oldPtr: usize, size: usize): usize { - let oldObj = changetype(oldPtr - TOTAL_OVERHEAD); - // Update object size if its block is large enough - if (size <= (oldObj.mmInfo & ~3) - OBJECT_OVERHEAD) { - oldObj.rtSize = size; - return oldPtr; - } - // If not the same object anymore, we have to move it move it due to the - // shadow stack potentially still referencing the old object - let newPtr = __new(size, oldObj.rtId); - memory.copy(newPtr, oldPtr, min(size, oldObj.rtSize)); - return newPtr; -} - -// @ts-ignore: decorator -@global @unsafe -export function __link(parentPtr: usize, childPtr: usize, expectMultiple: bool): void { - // Write barrier is unnecessary if non-incremental - if (!childPtr) return; - if (DEBUG) assert(parentPtr); - let child = changetype(childPtr - TOTAL_OVERHEAD); - if (child.color == white) { - let parent = changetype(parentPtr - TOTAL_OVERHEAD); - let parentColor = parent.color; - if (parentColor == i32(!white)) { - // Maintain the invariant that no black object may point to a white object. - if (expectMultiple) { - // Move the barrier "backward". Suitable for containers receiving multiple stores. - // Avoids a barrier for subsequent objects stored into the same container. - parent.makeGray(); - } else { - // Move the barrier "forward". Suitable for objects receiving isolated stores. - child.makeGray(); - } - } else if (parentColor == transparent && state == STATE_MARK) { - // Pinned objects are considered 'black' during the mark phase. - child.makeGray(); - } - } -} - -// @ts-ignore: decorator -@lazy let visitCount = 0; - -// @ts-ignore: decorator -@global @unsafe -export function __visit(ptr: usize, cookie: i32): void { - if (!ptr) return; - let obj = changetype(ptr - TOTAL_OVERHEAD); - if (RTRACE) if (!onvisit(obj)) return; - if (obj.color == white) { - obj.makeGray(); - ++visitCount; - } -} - -// @ts-ignore: decorator -@global @unsafe -export function __pin(ptr: usize): usize { - if (ptr) { - let obj = changetype(ptr - TOTAL_OVERHEAD); - if (obj.color == transparent) { - throw new Error(E_ALREADY_PINNED); - } - obj.unlink(); // from fromSpace - obj.linkTo(pinSpace, transparent); - } - return ptr; -} - -// @ts-ignore: decorator -@global @unsafe -export function __unpin(ptr: usize): void { - if (!ptr) return; - let obj = changetype(ptr - TOTAL_OVERHEAD); - if (obj.color != transparent) { - throw new Error(E_NOT_PINNED); - } - if (state == STATE_MARK) { - // We may be right at the point after marking roots for the second time and - // entering the sweep phase, in which case the object would be missed if it - // is not only pinned but also a root. Make sure it isn't missed. - obj.makeGray(); - } else { - obj.unlink(); - obj.linkTo(fromSpace, white); - } -} - -// @ts-ignore: decorator -@global @unsafe -export function __collect(): void { - if (TRACE) trace("GC (full) at", 1, total); - if (state > STATE_IDLE) { - // finish current cycle - while (state != STATE_IDLE) step(); - } - // perform a full cycle - step(); - while (state != STATE_IDLE) step(); - threshold = (total * IDLEFACTOR / 100) + GRANULARITY; - if (TRACE) trace("GC (full) done at cur/max", 2, total, memory.size() << 16); - if (RTRACE || PROFILE) oncollect(total); -} - -// Garbage collector automation - -/** How often to interrupt. The default of 1024 means "interrupt each 1024 bytes allocated". */ -// @ts-ignore: decorator -@inline const GRANULARITY: usize = isDefined(ASC_GC_GRANULARITY) ? ASC_GC_GRANULARITY : 1024; -/** How long to interrupt. The default of 200% means "run at double the speed of allocations". */ -// @ts-ignore: decorator -@inline const STEPFACTOR: usize = isDefined(ASC_GC_SWEEPFACTOR) ? ASC_GC_SWEEPFACTOR : 200; -/** How long to idle. The default of 200% means "wait for memory to double before kicking in again". */ -// @ts-ignore: decorator -@inline const IDLEFACTOR: usize = isDefined(ASC_GC_IDLEFACTOR) ? ASC_GC_IDLEFACTOR : 200; - -/** Threshold of memory used by objects to exceed before interrupting again. */ -// @ts-ignore: decorator -@lazy let threshold: usize = ((memory.size() << 16) - __heap_base) >> 1; - -/** Performs a reasonable amount of incremental GC steps. */ -function interrupt(): void { - if (PROFILE) oninterrupt(total); - if (TRACE) trace("GC (auto) at", 1, total); - let budget: isize = GRANULARITY * STEPFACTOR / 100; - do { - budget -= step(); - if (state == STATE_IDLE) { - if (TRACE) trace("└ GC (auto) done at cur/max", 2, total, memory.size() << 16); - threshold = (total * IDLEFACTOR / 100) + GRANULARITY; - if (PROFILE) onyield(total); - return; - } - } while (budget > 0); - if (TRACE) trace("└ GC (auto) ongoing at", 1, total); - threshold = total + GRANULARITY * usize(total - threshold < GRANULARITY); - if (PROFILE) onyield(total); -} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/rtrace.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/rtrace.ts deleted file mode 100644 index 1e22956b..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/rtrace.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { BLOCK } from "./common"; - -export declare function oninit(heapBase: usize): void; - -// Memory Allocator -export declare function onalloc(block: BLOCK): void; -export declare function onresize(block: BLOCK, oldSizeInclOverhead: usize): void; -export declare function onmove(oldBlock: BLOCK, newBlock: BLOCK): void; -export declare function onfree(block: BLOCK): void; - -// Garbage collector -export declare function onvisit(block: BLOCK): bool; -export declare function oncollect(total: usize): void; -export declare function oninterrupt(total: usize): void; -export declare function onyield(total: usize): void; diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/stub.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/stub.ts deleted file mode 100644 index a80c6d33..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/stub.ts +++ /dev/null @@ -1,133 +0,0 @@ -import { AL_MASK, OBJECT, OBJECT_OVERHEAD, BLOCK_MAXSIZE, BLOCK_OVERHEAD, BLOCK, OBJECT_MAXSIZE } from "./common"; -import { E_ALLOCATION_TOO_LARGE } from "../util/error"; - -// === A minimal runtime stub === - -// @ts-ignore: decorator -@lazy let startOffset: usize = ((__heap_base + BLOCK_OVERHEAD + AL_MASK) & ~AL_MASK) - BLOCK_OVERHEAD; -// @ts-ignore: decorator -@lazy let offset: usize = startOffset; - -function maybeGrowMemory(newOffset: usize): void { - // assumes newOffset is aligned - let pagesBefore = memory.size(); - let maxOffset = ((pagesBefore << 16) + AL_MASK) & ~AL_MASK; - if (newOffset > maxOffset) { - let pagesNeeded = (((newOffset - maxOffset + 0xffff) & ~0xffff) >>> 16); - let pagesWanted = max(pagesBefore, pagesNeeded); // double memory - if (memory.grow(pagesWanted) < 0) { - if (memory.grow(pagesNeeded) < 0) unreachable(); // out of memory - } - } - offset = newOffset; -} - -// @ts-ignore: decorator -@inline function computeSize(size: usize): usize { - return ((size + BLOCK_OVERHEAD + AL_MASK) & ~AL_MASK) - BLOCK_OVERHEAD; -} - -// @ts-ignore: decorator -@unsafe @global -export function __alloc(size: usize): usize { - if (size > BLOCK_MAXSIZE) throw new Error(E_ALLOCATION_TOO_LARGE); - let block = changetype(offset); - let ptr = offset + BLOCK_OVERHEAD; - let payloadSize = computeSize(size); - maybeGrowMemory(ptr + payloadSize); - block.mmInfo = payloadSize; - return ptr; -} - -// @ts-ignore: decorator -@unsafe @global -export function __realloc(ptr: usize, size: usize): usize { - assert(ptr != 0 && !(ptr & AL_MASK)); // must exist and be aligned - let block = changetype(ptr - BLOCK_OVERHEAD); - let actualSize = block.mmInfo; - let isLast = ptr + actualSize == offset; - let payloadSize = computeSize(size); - if (size > actualSize) { - if (isLast) { // last block: grow - if (size > BLOCK_MAXSIZE) throw new Error(E_ALLOCATION_TOO_LARGE); - maybeGrowMemory(ptr + payloadSize); - block.mmInfo = payloadSize; - } else { // copy to new block at least double the size - let newPtr = __alloc(max(payloadSize, actualSize << 1)); - memory.copy(newPtr, ptr, actualSize); - block = changetype((ptr = newPtr) - BLOCK_OVERHEAD); - } - } else if (isLast) { // last block: shrink - offset = ptr + payloadSize; - block.mmInfo = payloadSize; - } - return ptr; -} - -// @ts-ignore: decorator -@unsafe @global -export function __free(ptr: usize): void { - assert(ptr != 0 && !(ptr & AL_MASK)); // must exist and be aligned - let block = changetype(ptr - BLOCK_OVERHEAD); - if (ptr + block.mmInfo == offset) { // last block: discard - offset = changetype(block); - } -} - -// @ts-ignore: decorator -@unsafe @global -export function __reset(): void { // special - offset = startOffset; -} - -// @ts-ignore: decorator -@unsafe @global -export function __new(size: usize, id: u32): usize { - if (size > OBJECT_MAXSIZE) throw new Error(E_ALLOCATION_TOO_LARGE); - let ptr = __alloc(OBJECT_OVERHEAD + size); - let object = changetype(ptr - BLOCK_OVERHEAD); - object.gcInfo = 0; - object.gcInfo2 = 0; - object.rtId = id; - object.rtSize = size; - return ptr + OBJECT_OVERHEAD; -} - -// @ts-ignore: decorator -@unsafe @global -export function __renew(oldPtr: usize, size: usize): usize { - if (size > OBJECT_MAXSIZE) throw new Error(E_ALLOCATION_TOO_LARGE); - let newPtr = __realloc(oldPtr - OBJECT_OVERHEAD, OBJECT_OVERHEAD + size); - changetype(newPtr - BLOCK_OVERHEAD).rtSize = size; - return newPtr + OBJECT_OVERHEAD; -} - -// @ts-ignore: decorator -@global @unsafe -export function __link(parentPtr: usize, childPtr: usize, expectMultiple: bool): void { - // nop -} - -// @ts-ignore: decorator -@global @unsafe -export function __pin(ptr: usize): usize { - return ptr; -} - -// @ts-ignore: decorator -@global @unsafe -export function __unpin(ptr: usize): void { - // nop -} - -// @ts-ignore: decorator -@global @unsafe -function __visit(ptr: usize, cookie: u32): void { // eslint-disable-line @typescript-eslint/no-unused-vars - // nop -} - -// @ts-ignore: decorator -@global @unsafe -export function __collect(): void { - // nop -} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/tcms.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/tcms.ts deleted file mode 100644 index 998ff86b..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/tcms.ts +++ /dev/null @@ -1,254 +0,0 @@ -import { BLOCK, BLOCK_OVERHEAD, OBJECT_OVERHEAD, OBJECT_MAXSIZE, TOTAL_OVERHEAD, DEBUG, TRACE, RTRACE } from "./common"; -import { onvisit, oncollect } from "./rtrace"; -import { E_ALLOCATION_TOO_LARGE, E_ALREADY_PINNED, E_NOT_PINNED } from "../util/error"; - -// === TCMS: A Two-Color Mark & Sweep garbage collector === - -// ╒═════════════╤══════════════ Colors ═══════════════════════════╕ -// │ Color │ Meaning │ -// ├─────────────┼─────────────────────────────────────────────────┤ -// │ WHITE* │ Unreachable │ -// │ BLACK* │ Reachable │ -// │ TRANSPARENT │ Manually pinned (always reachable) │ -// └─────────────┴─────────────────────────────────────────────────┘ -// * flipped between cycles - -// @ts-ignore: decorator -@lazy let white = 0; -// @ts-ignore: decorator -@inline const transparent = 3; -// @ts-ignore: decorator -@inline const COLOR_MASK = 3; - -/** Size in memory of all objects currently managed by the GC. */ -// @ts-ignore: decorator -@lazy let total: usize = 0; - -// @ts-ignore: decorator -@lazy let fromSpace = initLazy(changetype(memory.data(offsetof()))); -// @ts-ignore: decorator -@lazy let toSpace = initLazy(changetype(memory.data(offsetof()))); -// @ts-ignore: decorator -@lazy let pinSpace = initLazy(changetype(memory.data(offsetof()))); - -function initLazy(space: Object): Object { - space.nextWithColor = changetype(space); - space.prev = space; - return space; -} - -/** Visit cookie indicating scanning of an object. */ -// @ts-ignore: decorator -@inline const VISIT_SCAN = 0; - -// ╒═══════════════ Managed object layout (32-bit) ════════════════╕ -// 3 2 1 -// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 bits -// ├─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┤ -// │ Memory manager block │ -// ╞═══════════════════════════════════════════════════════════╤═══╡ -// │ next │ C │ = nextWithColor -// ├───────────────────────────────────────────────────────────┴───┤ -// │ prev │ -// ├───────────────────────────────────────────────────────────────┤ -// │ rtId │ -// ├───────────────────────────────────────────────────────────────┤ -// │ rtSize │ -// ╞>ptr═══════════════════════════════════════════════════════════╡ -// │ ... │ -// C: color - -/** Represents a managed object in memory, consisting of a header followed by the object's data. */ -@unmanaged class Object extends BLOCK { - /** Pointer to the next object with color flags stored in the alignment bits. */ - nextWithColor: usize; // *u32 - /** Pointer to the previous object. */ - prev: Object; // *u32 - /** Runtime id. */ - rtId: u32; - /** Runtime size. */ - rtSize: u32; - - /** Gets the pointer to the next object. */ - get next(): Object { - return changetype(this.nextWithColor & ~COLOR_MASK); - } - - /** Sets the pointer to the next object. */ - set next(obj: Object) { - this.nextWithColor = changetype(obj) | (this.nextWithColor & COLOR_MASK); - } - - /** Gets this object's color. */ - get color(): i32 { - return i32(this.nextWithColor & COLOR_MASK); - } - - /** Sets this object's color. */ - set color(color: i32) { - this.nextWithColor = (this.nextWithColor & ~COLOR_MASK) | color; - } - - /** Gets the size of this object in memory. */ - get size(): usize { - return BLOCK_OVERHEAD + (this.mmInfo & ~3); - } - - /** Unlinks this object from its list. */ - unlink(): void { - let next = this.next; - if (next == null) { - if (DEBUG) assert(this.prev == null && changetype(this) < __heap_base); - return; // static data not yet linked - } - let prev = this.prev; - if (DEBUG) assert(prev); - next.prev = prev; - prev.next = next; - } - - /** Links this object to the specified list, with the given color. */ - linkTo(list: Object, withColor: i32): void { - let prev = list.prev; - this.nextWithColor = changetype(list) | withColor; - this.prev = prev; - prev.next = this; - list.prev = this; - } -} - -// Garbage collector interface - -// @ts-ignore: decorator -@global @unsafe -export function __new(size: usize, id: i32): usize { - if (size > OBJECT_MAXSIZE) throw new Error(E_ALLOCATION_TOO_LARGE); - let obj = changetype(__alloc(OBJECT_OVERHEAD + size) - BLOCK_OVERHEAD); - obj.rtId = id; - obj.rtSize = size; - obj.linkTo(fromSpace, white); - total += obj.size; - return changetype(obj) + TOTAL_OVERHEAD; -} - -// @ts-ignore: decorator -@global @unsafe -export function __renew(oldPtr: usize, size: usize): usize { - let oldObj = changetype(oldPtr - TOTAL_OVERHEAD); - if (oldPtr < __heap_base) { // move to heap for simplicity - let newPtr = __new(size, oldObj.rtId); - memory.copy(newPtr, oldPtr, min(size, oldObj.rtSize)); - return newPtr; - } - if (size > OBJECT_MAXSIZE) throw new Error(E_ALLOCATION_TOO_LARGE); - total -= oldObj.size; - let newPtr = __realloc(oldPtr - OBJECT_OVERHEAD, OBJECT_OVERHEAD + size) + OBJECT_OVERHEAD; - let newObj = changetype(newPtr - TOTAL_OVERHEAD); - newObj.rtSize = size; - - // Replace with new object - newObj.next.prev = newObj; - newObj.prev.next = newObj; - - total += newObj.size; - return newPtr; -} - -// @ts-ignore: decorator -@global @unsafe -export function __link(parentPtr: usize, childPtr: usize, expectMultiple: bool): void { - // nop -} - -// @ts-ignore: decorator -@global @unsafe -export function __visit(ptr: usize, cookie: i32): void { - if (!ptr) return; - let obj = changetype(ptr - TOTAL_OVERHEAD); - if (RTRACE) if (!onvisit(obj)) return; - if (obj.color == white) { - obj.unlink(); // from fromSpace - obj.linkTo(toSpace, i32(!white)); - } -} - -// @ts-ignore: decorator -@global @unsafe -export function __pin(ptr: usize): usize { - if (ptr) { - let obj = changetype(ptr - TOTAL_OVERHEAD); - if (obj.color == transparent) { - throw new Error(E_ALREADY_PINNED); - } - obj.unlink(); // from fromSpace - obj.linkTo(pinSpace, transparent); - } - return ptr; -} - -// @ts-ignore: decorator -@global @unsafe -export function __unpin(ptr: usize): void { - if (!ptr) return; - let obj = changetype(ptr - TOTAL_OVERHEAD); - if (obj.color != transparent) { - throw new Error(E_NOT_PINNED); - } - obj.unlink(); // from pinSpace - obj.linkTo(fromSpace, white); -} - -// @ts-ignore: decorator -@global @unsafe -export function __collect(): void { - if (TRACE) trace("GC at", 1, total); - - // Mark roots (add to toSpace) - __visit_globals(VISIT_SCAN); - - // Mark direct members of pinned objects (add to toSpace) - let pn = pinSpace; - let iter = pn.next; - while (iter != pn) { - if (DEBUG) assert(iter.color == transparent); - __visit_members(changetype(iter) + TOTAL_OVERHEAD, VISIT_SCAN); - iter = iter.next; - } - - // Mark what's reachable from toSpace - let black = i32(!white); - let to = toSpace; - iter = to.next; - while (iter != to) { - if (DEBUG) assert(iter.color == black); - __visit_members(changetype(iter) + TOTAL_OVERHEAD, VISIT_SCAN); - iter = iter.next; - } - - // Sweep what's left in fromSpace - let from = fromSpace; - iter = from.next; - while (iter != from) { - if (DEBUG) assert(iter.color == white); - let newNext = iter.next; - if (changetype(iter) < __heap_base) { - iter.nextWithColor = 0; // may become linked again - iter.prev = changetype(0); - } else { - total -= iter.size; - if (isDefined(__finalize)) __finalize(changetype(iter) + TOTAL_OVERHEAD); - __free(changetype(iter) + BLOCK_OVERHEAD); - } - iter = newNext; - } - from.nextWithColor = changetype(from); - from.prev = from; - - // Flip spaces and colors - fromSpace = to; - toSpace = from; - white = black; - - if (TRACE) trace("GC done at", 1, total); - if (RTRACE) oncollect(total); -} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/tlsf.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/tlsf.ts deleted file mode 100644 index 3d135a3b..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/std/assembly/rt/tlsf.ts +++ /dev/null @@ -1,592 +0,0 @@ -import { AL_BITS, AL_SIZE, AL_MASK, DEBUG, BLOCK, BLOCK_OVERHEAD, BLOCK_MAXSIZE } from "./common"; -import { oninit, onalloc, onresize, onmove, onfree } from "./rtrace"; -import { E_ALLOCATION_TOO_LARGE } from "../util/error"; - -// === The TLSF (Two-Level Segregate Fit) memory allocator === -// see: http://www.gii.upv.es/tlsf/ - -// - `ffs(x)` is equivalent to `ctz(x)` with x != 0 -// - `fls(x)` is equivalent to `sizeof(x) * 8 - clz(x) - 1` - -// ╒══════════════ Block size interpretation (32-bit) ═════════════╕ -// 3 2 1 -// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 bits -// ├─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┼─┴─┴─┴─╫─┴─┴─┴─┤ -// │ | FL │ SB = SL + AL │ ◄─ usize -// └───────────────────────────────────────────────┴───────╨───────┘ -// FL: first level, SL: second level, AL: alignment, SB: small block - -// @ts-ignore: decorator -@inline const SL_BITS: u32 = 4; -// @ts-ignore: decorator -@inline const SL_SIZE: u32 = 1 << SL_BITS; - -// @ts-ignore: decorator -@inline const SB_BITS: u32 = SL_BITS + AL_BITS; -// @ts-ignore: decorator -@inline const SB_SIZE: u32 = 1 << SB_BITS; - -// @ts-ignore: decorator -@inline const FL_BITS: u32 = 31 - SB_BITS; - -// [00]: < 256B (SB) [12]: < 1M -// [01]: < 512B [13]: < 2M -// [02]: < 1K [14]: < 4M -// [03]: < 2K [15]: < 8M -// [04]: < 4K [16]: < 16M -// [05]: < 8K [17]: < 32M -// [06]: < 16K [18]: < 64M -// [07]: < 32K [19]: < 128M -// [08]: < 64K [20]: < 256M -// [09]: < 128K [21]: < 512M -// [10]: < 256K [22]: <= 1G - OVERHEAD -// [11]: < 512K -// VMs limit to 2GB total (currently), making one 1G block max (or three 512M etc.) due to block overhead - -// Tags stored in otherwise unused alignment bits - -// @ts-ignore: decorator -@inline const FREE: usize = 1 << 0; -// @ts-ignore: decorator -@inline const LEFTFREE: usize = 1 << 1; -// @ts-ignore: decorator -@inline const TAGS_MASK: usize = FREE | LEFTFREE; // <= AL_MASK - -// ╒════════════════════ Block layout (32-bit) ════════════════════╕ -// 3 2 1 -// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 bits -// ├─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┼─┼─┤ ┐ -// │ size │L│F│ ◄─┐ info overhead -// ╞>ptr═══════════════════════════════════════════════════════╧═╧═╡ │ ┘ -// │ if free: ◄ prev │ ◄─┤ usize -// ├───────────────────────────────────────────────────────────────┤ │ -// │ if free: next ► │ ◄─┤ -// ├───────────────────────────────────────────────────────────────┤ │ -// │ ... │ │ >= 0 -// ├───────────────────────────────────────────────────────────────┤ │ -// │ if free: back ▲ │ ◄─┘ -// └───────────────────────────────────────────────────────────────┘ >= MIN SIZE -// F: FREE, L: LEFTFREE -@unmanaged export class Block extends BLOCK { - - /** Previous free block, if any. Only valid if free, otherwise part of payload. */ - prev: Block | null; - /** Next free block, if any. Only valid if free, otherwise part of payload. */ - next: Block | null; - - // If the block is free, there is a 'back'reference at its end pointing at its start. -} - -// Block constants. A block must have a minimum size of three pointers so it can hold `prev`, -// `next` and `back` if free. - -// @ts-ignore: decorator -@inline const BLOCK_MINSIZE: usize = ((3 * sizeof() + BLOCK_OVERHEAD + AL_MASK) & ~AL_MASK) - BLOCK_OVERHEAD; // prev + next + back -// @ts-ignore: decorator -// @inline const BLOCK_MAXSIZE: usize = 1 << (FL_BITS + SB_BITS - 1); // exclusive, lives in common.ts - -/** Gets the left block of a block. Only valid if the left block is free. */ -// @ts-ignore: decorator -@inline function GETFREELEFT(block: Block): Block { - return load(changetype(block) - sizeof()); -} - -/** Gets the right block of a block by advancing to the right by its size. */ -// @ts-ignore: decorator -@inline function GETRIGHT(block: Block): Block { - return changetype(changetype(block) + BLOCK_OVERHEAD + (block.mmInfo & ~TAGS_MASK)); -} - -// ╒═════════════════════ Root layout (32-bit) ════════════════════╕ -// 3 2 1 -// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 bits -// ├─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┤ ┐ -// │ 0 | flMap S│ ◄────┐ -// ╞═══════════════════════════════════════════════════════════════╡ │ -// │ slMap[0] S │ ◄─┐ │ -// ├───────────────────────────────────────────────────────────────┤ │ │ -// │ slMap[1] │ ◄─┤ │ -// ├───────────────────────────────────────────────────────────────┤ u32 │ -// │ slMap[22] │ ◄─┘ │ -// ╞═══════════════════════════════════════════════════════════════╡ usize -// │ head[0] │ ◄────┤ -// ├───────────────────────────────────────────────────────────────┤ │ -// │ ... │ ◄────┤ -// ├───────────────────────────────────────────────────────────────┤ │ -// │ head[367] │ ◄────┤ -// ╞═══════════════════════════════════════════════════════════════╡ │ -// │ tail │ ◄────┘ -// └───────────────────────────────────────────────────────────────┘ SIZE ┘ -// S: Small blocks map -@unmanaged class Root { - /** First level bitmap. */ - flMap: usize; -} - -// Root constants. Where stuff is stored inside of the root structure. - -// @ts-ignore: decorator -@inline const SL_START: usize = sizeof(); -// @ts-ignore: decorator -@inline const SL_END: usize = SL_START + (FL_BITS << alignof()); -// @ts-ignore: decorator -@inline const HL_START: usize = (SL_END + AL_MASK) & ~AL_MASK; -// @ts-ignore: decorator -@inline const HL_END: usize = HL_START + FL_BITS * SL_SIZE * sizeof(); -// @ts-ignore: decorator -@inline const ROOT_SIZE: usize = HL_END + sizeof(); - -// @ts-ignore: decorator -@lazy export let ROOT: Root = changetype(0); // unsafe initializion below - -/** Gets the second level map of the specified first level. */ -// @ts-ignore: decorator -@inline function GETSL(root: Root, fl: usize): u32 { - return load( - changetype(root) + (fl << alignof()), - SL_START - ); -} - -/** Sets the second level map of the specified first level. */ -// @ts-ignore: decorator -@inline function SETSL(root: Root, fl: usize, slMap: u32): void { - store( - changetype(root) + (fl << alignof()), - slMap, - SL_START - ); -} - -/** Gets the head of the free list for the specified combination of first and second level. */ -// @ts-ignore: decorator -@inline function GETHEAD(root: Root, fl: usize, sl: u32): Block | null { - return load( - changetype(root) + (((fl << SL_BITS) + sl) << alignof()), - HL_START - ); -} - -/** Sets the head of the free list for the specified combination of first and second level. */ -// @ts-ignore: decorator -@inline function SETHEAD(root: Root, fl: usize, sl: u32, head: Block | null): void { - store( - changetype(root) + (((fl << SL_BITS) + sl) << alignof()), - head, - HL_START - ); -} - -/** Gets the tail block.. */ -// @ts-ignore: decorator -@inline function GETTAIL(root: Root): Block { - return load( - changetype(root), - HL_END - ); -} - -/** Sets the tail block. */ -// @ts-ignore: decorator -@inline function SETTAIL(root: Root, tail: Block): void { - store( - changetype(root), - tail, - HL_END - ); -} - -/** Inserts a previously used block back into the free list. */ -function insertBlock(root: Root, block: Block): void { - if (DEBUG) assert(block); // cannot be null - let blockInfo = block.mmInfo; - if (DEBUG) assert(blockInfo & FREE); // must be free - - let right = GETRIGHT(block); - let rightInfo = right.mmInfo; - - // merge with right block if also free - if (rightInfo & FREE) { - removeBlock(root, right); - block.mmInfo = blockInfo = blockInfo + BLOCK_OVERHEAD + (rightInfo & ~TAGS_MASK); // keep block tags - right = GETRIGHT(block); - rightInfo = right.mmInfo; - // 'back' is set below - } - - // merge with left block if also free - if (blockInfo & LEFTFREE) { - let left = GETFREELEFT(block); - let leftInfo = left.mmInfo; - if (DEBUG) assert(leftInfo & FREE); // must be free according to right tags - removeBlock(root, left); - block = left; - block.mmInfo = blockInfo = leftInfo + BLOCK_OVERHEAD + (blockInfo & ~TAGS_MASK); // keep left tags - // 'back' is set below - } - - right.mmInfo = rightInfo | LEFTFREE; - // reference to right is no longer used now, hence rightInfo is not synced - - // we now know the size of the block - let size = blockInfo & ~TAGS_MASK; - if (DEBUG) assert(size >= BLOCK_MINSIZE); // must be a valid size - if (DEBUG) assert(changetype(block) + BLOCK_OVERHEAD + size == changetype(right)); // must match - - // set 'back' to itself at the end of block - store(changetype(right) - sizeof(), block); - - // mapping_insert - let fl: usize, sl: u32; - if (size < SB_SIZE) { - fl = 0; - sl = (size >> AL_BITS); - } else { - const inv: usize = sizeof() * 8 - 1; - let boundedSize = min(size, BLOCK_MAXSIZE); - fl = inv - clz(boundedSize); - sl = ((boundedSize >> (fl - SL_BITS)) ^ (1 << SL_BITS)); - fl -= SB_BITS - 1; - } - if (DEBUG) assert(fl < FL_BITS && sl < SL_SIZE); // fl/sl out of range - - // perform insertion - let head = GETHEAD(root, fl, sl); - block.prev = null; - block.next = head; - if (head) head.prev = block; - SETHEAD(root, fl, sl, block); - - // update first and second level maps - root.flMap |= (1 << fl); - SETSL(root, fl, GETSL(root, fl) | (1 << sl)); -} - -/** Removes a free block from internal lists. */ -function removeBlock(root: Root, block: Block): void { - let blockInfo = block.mmInfo; - if (DEBUG) assert(blockInfo & FREE); // must be free - let size = blockInfo & ~TAGS_MASK; - if (DEBUG) assert(size >= BLOCK_MINSIZE); // must be valid - - // mapping_insert - let fl: usize, sl: u32; - if (size < SB_SIZE) { - fl = 0; - sl = (size >> AL_BITS); - } else { - const inv: usize = sizeof() * 8 - 1; - let boundedSize = min(size, BLOCK_MAXSIZE); - fl = inv - clz(boundedSize); - sl = ((boundedSize >> (fl - SL_BITS)) ^ (1 << SL_BITS)); - fl -= SB_BITS - 1; - } - if (DEBUG) assert(fl < FL_BITS && sl < SL_SIZE); // fl/sl out of range - - // link previous and next free block - let prev = block.prev; - let next = block.next; - if (prev) prev.next = next; - if (next) next.prev = prev; - - // update head if we are removing it - if (block == GETHEAD(root, fl, sl)) { - SETHEAD(root, fl, sl, next); - - // clear second level map if head is empty now - if (!next) { - let slMap = GETSL(root, fl); - SETSL(root, fl, slMap &= ~(1 << sl)); - - // clear first level map if second level is empty now - if (!slMap) root.flMap &= ~(1 << fl); - } - } - // note: does not alter left/back because it is likely that splitting - // is performed afterwards, invalidating those changes. so, the caller - // must perform those updates. -} - -function roundSize(size: usize): usize { - const halfMaxSize = BLOCK_MAXSIZE >> 1; // don't round last fl - const inv: usize = sizeof() * 8 - 1; - const invRound = inv - SL_BITS; - return size < halfMaxSize - ? size + (1 << (invRound - clz(size))) - 1 - : size; -} - -/** Searches for a free block of at least the specified size. */ -function searchBlock(root: Root, size: usize): Block | null { - // size was already asserted by caller - - // mapping_search - let fl: usize, sl: u32; - if (size < SB_SIZE) { - fl = 0; - sl = (size >> AL_BITS); - } else { - const requestSize = roundSize(size); - fl = sizeof() * 8 - 1 - clz(requestSize); - sl = ((requestSize >> (fl - SL_BITS)) ^ (1 << SL_BITS)); - fl -= SB_BITS - 1; - } - if (DEBUG) assert(fl < FL_BITS && sl < SL_SIZE); // fl/sl out of range - - // search second level - let slMap = GETSL(root, fl) & (~0 << sl); - let head: Block | null = null; - if (!slMap) { - // search next larger first level - let flMap = root.flMap & (~0 << (fl + 1)); - if (!flMap) { - head = null; - } else { - fl = ctz(flMap); - slMap = GETSL(root, fl); - if (DEBUG) assert(slMap); // can't be zero if fl points here - head = GETHEAD(root, fl, ctz(slMap)); - } - } else { - head = GETHEAD(root, fl, ctz(slMap)); - } - return head; -} - -/** Prepares the specified block before (re-)use, possibly splitting it. */ -function prepareBlock(root: Root, block: Block, size: usize): void { - // size was already asserted by caller - - let blockInfo = block.mmInfo; - if (DEBUG) assert(!((size + BLOCK_OVERHEAD) & AL_MASK)); // size must be aligned so the new block is - - // split if the block can hold another MINSIZE block incl. overhead - let remaining = (blockInfo & ~TAGS_MASK) - size; - if (remaining >= BLOCK_OVERHEAD + BLOCK_MINSIZE) { - block.mmInfo = size | (blockInfo & LEFTFREE); // also discards FREE - - let spare = changetype(changetype(block) + BLOCK_OVERHEAD + size); - spare.mmInfo = (remaining - BLOCK_OVERHEAD) | FREE; // not LEFTFREE - insertBlock(root, spare); // also sets 'back' - - // otherwise tag block as no longer FREE and right as no longer LEFTFREE - } else { - block.mmInfo = blockInfo & ~FREE; - GETRIGHT(block).mmInfo &= ~LEFTFREE; - } -} - -/** Adds more memory to the pool. */ -function addMemory(root: Root, start: usize, endU64: u64): bool { - let end = endU64; - if (DEBUG) assert(start <= endU64); // must be valid - start = ((start + BLOCK_OVERHEAD + AL_MASK) & ~AL_MASK) - BLOCK_OVERHEAD; - end &= ~AL_MASK; - - let tail = GETTAIL(root); - let tailInfo: usize = 0; - if (tail) { // more memory - if (DEBUG) assert(start >= changetype(tail) + BLOCK_OVERHEAD); - - // merge with current tail if adjacent - const offsetToTail = AL_SIZE; - if (start - offsetToTail == changetype(tail)) { - start -= offsetToTail; - tailInfo = tail.mmInfo; - } else { - // We don't do this, but a user might `memory.grow` manually - // leading to non-adjacent pages managed by TLSF. - } - - } else if (DEBUG) { // first memory - assert(start >= changetype(root) + ROOT_SIZE); // starts after root - } - - // check if size is large enough for a free block and the tail block - let size = end - start; - if (size < BLOCK_OVERHEAD + BLOCK_MINSIZE + BLOCK_OVERHEAD) { - return false; - } - - // left size is total minus its own and the zero-length tail's header - let leftSize = size - 2 * BLOCK_OVERHEAD; - let left = changetype(start); - left.mmInfo = leftSize | FREE | (tailInfo & LEFTFREE); - left.prev = null; - left.next = null; - - // tail is a zero-length used block - tail = changetype(start + BLOCK_OVERHEAD + leftSize); - tail.mmInfo = 0 | LEFTFREE; - SETTAIL(root, tail); - - insertBlock(root, left); // also merges with free left before tail / sets 'back' - - return true; -} - -/** Grows memory to fit at least another block of the specified size. */ -function growMemory(root: Root, size: usize): void { - if (ASC_LOW_MEMORY_LIMIT) { - unreachable(); - return; - } - // Here, both rounding performed in searchBlock ... - if (size >= SB_SIZE) { - size = roundSize(size); - } - // and additional BLOCK_OVERHEAD must be taken into account. If we are going - // to merge with the tail block, that's one time, otherwise it's two times. - let pagesBefore = memory.size(); - size += BLOCK_OVERHEAD << usize((pagesBefore << 16) - BLOCK_OVERHEAD != changetype(GETTAIL(root))); - let pagesNeeded = (((size + 0xffff) & ~0xffff) >>> 16); - let pagesWanted = max(pagesBefore, pagesNeeded); // double memory - if (memory.grow(pagesWanted) < 0) { - if (memory.grow(pagesNeeded) < 0) unreachable(); - } - let pagesAfter = memory.size(); - addMemory(root, pagesBefore << 16, pagesAfter << 16); -} - -/** Computes the size (excl. header) of a block. */ -function computeSize(size: usize): usize { - // Size must be large enough and aligned minus preceeding overhead - return size <= BLOCK_MINSIZE - ? BLOCK_MINSIZE - : ((size + BLOCK_OVERHEAD + AL_MASK) & ~AL_MASK) - BLOCK_OVERHEAD; -} - -/** Prepares and checks an allocation size. */ -function prepareSize(size: usize): usize { - if (size > BLOCK_MAXSIZE) throw new Error(E_ALLOCATION_TOO_LARGE); - return computeSize(size); -} - -/** Initializes the root structure. */ -function initialize(): void { - if (isDefined(ASC_RTRACE)) oninit(__heap_base); - let rootOffset = (__heap_base + AL_MASK) & ~AL_MASK; - let pagesBefore = memory.size(); - let pagesNeeded = ((((rootOffset + ROOT_SIZE) + 0xffff) & ~0xffff) >>> 16); - if (pagesNeeded > pagesBefore && memory.grow(pagesNeeded - pagesBefore) < 0) unreachable(); - let root = changetype(rootOffset); - root.flMap = 0; - SETTAIL(root, changetype(0)); - for (let fl: usize = 0; fl < FL_BITS; ++fl) { - SETSL(root, fl, 0); - for (let sl: u32 = 0; sl < SL_SIZE; ++sl) { - SETHEAD(root, fl, sl, null); - } - } - let memStart = rootOffset + ROOT_SIZE; - if (ASC_LOW_MEMORY_LIMIT) { - const memEnd = ASC_LOW_MEMORY_LIMIT & ~AL_MASK; - if (memStart <= memEnd) addMemory(root, memStart, memEnd); - else unreachable(); // low memory limit already exceeded - } else { - addMemory(root, memStart, memory.size() << 16); - } - ROOT = root; -} - -/** Allocates a block of the specified size. */ -export function allocateBlock(root: Root, size: usize): Block { - let payloadSize = prepareSize(size); - let block = searchBlock(root, payloadSize); - if (!block) { - growMemory(root, payloadSize); - block = changetype(searchBlock(root, payloadSize)); - if (DEBUG) assert(block); // must be found now - } - if (DEBUG) assert((block.mmInfo & ~TAGS_MASK) >= payloadSize); // must fit - removeBlock(root, block); - prepareBlock(root, block, payloadSize); - if (isDefined(ASC_RTRACE)) onalloc(block); - return block; -} - -/** Reallocates a block to the specified size. */ -export function reallocateBlock(root: Root, block: Block, size: usize): Block { - let payloadSize = prepareSize(size); - let blockInfo = block.mmInfo; - let blockSize = blockInfo & ~TAGS_MASK; - - // possibly split and update runtime size if it still fits - if (payloadSize <= blockSize) { - prepareBlock(root, block, payloadSize); - if (isDefined(ASC_RTRACE)) { - if (payloadSize != blockSize) onresize(block, BLOCK_OVERHEAD + blockSize); - } - return block; - } - - // merge with right free block if merger is large enough - let right = GETRIGHT(block); - let rightInfo = right.mmInfo; - if (rightInfo & FREE) { - let mergeSize = blockSize + BLOCK_OVERHEAD + (rightInfo & ~TAGS_MASK); - if (mergeSize >= payloadSize) { - removeBlock(root, right); - block.mmInfo = (blockInfo & TAGS_MASK) | mergeSize; - prepareBlock(root, block, payloadSize); - if (isDefined(ASC_RTRACE)) onresize(block, BLOCK_OVERHEAD + blockSize); - return block; - } - } - - // otherwise move the block - return moveBlock(root, block, size); -} - -/** Moves a block to a new one of the specified size. */ -function moveBlock(root: Root, block: Block, newSize: usize): Block { - let newBlock = allocateBlock(root, newSize); - memory.copy(changetype(newBlock) + BLOCK_OVERHEAD, changetype(block) + BLOCK_OVERHEAD, block.mmInfo & ~TAGS_MASK); - if (changetype(block) >= __heap_base) { - if (isDefined(ASC_RTRACE)) onmove(block, newBlock); - freeBlock(root, block); - } - return newBlock; -} - -/** Frees a block. */ -export function freeBlock(root: Root, block: Block): void { - if (isDefined(ASC_RTRACE)) onfree(block); - block.mmInfo = block.mmInfo | FREE; - insertBlock(root, block); -} - -/** Checks that a used block is valid to be freed or reallocated. */ -function checkUsedBlock(ptr: usize): Block { - let block = changetype(ptr - BLOCK_OVERHEAD); - assert( - ptr != 0 && !(ptr & AL_MASK) && // must exist and be aligned - !(block.mmInfo & FREE) // must be used - ); - return block; -} - -// @ts-ignore: decorator -@global @unsafe -export function __alloc(size: usize): usize { - if (!ROOT) initialize(); - return changetype(allocateBlock(ROOT, size)) + BLOCK_OVERHEAD; -} - -// @ts-ignore: decorator -@global @unsafe -export function __realloc(ptr: usize, size: usize): usize { - if (!ROOT) initialize(); - return (ptr < __heap_base - ? changetype(moveBlock(ROOT, checkUsedBlock(ptr), size)) - : changetype(reallocateBlock(ROOT, checkUsedBlock(ptr), size)) - ) + BLOCK_OVERHEAD; -} - -// @ts-ignore: decorator -@global @unsafe -export function __free(ptr: usize): void { - if (ptr < __heap_base) return; - if (!ROOT) initialize(); - freeBlock(ROOT, checkUsedBlock(ptr)); -} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/set.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/set.ts deleted file mode 100644 index ca2d6e4e..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/std/assembly/set.ts +++ /dev/null @@ -1,220 +0,0 @@ -/// - -import { HASH } from "./util/hash"; - -// A deterministic hash set based on CloseTable from https://github.com/jorendorff/dht - -// @ts-ignore: decorator -@inline const INITIAL_CAPACITY = 4; - -// @ts-ignore: decorator -@inline const FILL_FACTOR_N = 8; - -// @ts-ignore: decorator -@inline const FILL_FACTOR_D = 3; - -// @ts-ignore: decorator -@inline const FREE_FACTOR_N = 3; - -// @ts-ignore: decorator -@inline const FREE_FACTOR_D = 4; - -/** Structure of a set entry. */ -@unmanaged class SetEntry { - key: K; - taggedNext: usize; // LSB=1 indicates EMPTY -} - -/** Empty bit. */ -// @ts-ignore: decorator -@inline const EMPTY: usize = 1 << 0; - -/** Size of a bucket. */ -// @ts-ignore: decorator -@inline const BUCKET_SIZE = sizeof(); - -/** Computes the alignment of an entry. */ -// @ts-ignore: decorator -@inline -function ENTRY_ALIGN(): usize { - // can align to 4 instead of 8 if 32-bit and K is <= 32-bits - const align = (sizeof() > sizeof() ? sizeof() : sizeof()) - 1; - return align; -} - -/** Computes the aligned size of an entry. */ -// @ts-ignore: decorator -@inline -function ENTRY_SIZE(): usize { - const align = ENTRY_ALIGN(); - const size = (offsetof>() + align) & ~align; - return size; -} - -export class Set { - - // buckets referencing their respective first entry, usize[bucketsMask + 1] - private buckets: ArrayBuffer = new ArrayBuffer(INITIAL_CAPACITY * BUCKET_SIZE); - private bucketsMask: u32 = INITIAL_CAPACITY - 1; - - // entries in insertion order, SetEntry[entriesCapacity] - private entries: ArrayBuffer = new ArrayBuffer(INITIAL_CAPACITY * ENTRY_SIZE()); - private entriesCapacity: i32 = INITIAL_CAPACITY; - private entriesOffset: i32 = 0; - private entriesCount: i32 = 0; - - constructor() { - /* nop */ - } - - get size(): i32 { - return this.entriesCount; - } - - clear(): void { - this.buckets = new ArrayBuffer(INITIAL_CAPACITY * BUCKET_SIZE); - this.bucketsMask = INITIAL_CAPACITY - 1; - this.entries = new ArrayBuffer(INITIAL_CAPACITY * ENTRY_SIZE()); - this.entriesCapacity = INITIAL_CAPACITY; - this.entriesOffset = 0; - this.entriesCount = 0; - } - - private find(key: T, hashCode: u32): SetEntry | null { - let entry = load>( // unmanaged! - changetype(this.buckets) + (hashCode & this.bucketsMask) * BUCKET_SIZE - ); - while (entry) { - let taggedNext = entry.taggedNext; - if (!(taggedNext & EMPTY) && entry.key == key) return entry; - entry = changetype>(taggedNext & ~EMPTY); - } - return null; - } - - @operator("[]") - has(key: T): bool { - return this.find(key, HASH(key)) != null; - } - - add(key: T): this { - let hashCode = HASH(key); - let entry = this.find(key, hashCode); // unmanaged! - if (!entry) { - // check if rehashing is necessary - if (this.entriesOffset == this.entriesCapacity) { - this.rehash( - this.entriesCount < this.entriesCapacity * FREE_FACTOR_N / FREE_FACTOR_D - ? this.bucketsMask // just rehash if 1/4+ entries are empty - : (this.bucketsMask << 1) | 1 // grow capacity to next 2^N - ); - } - // append new entry - entry = changetype>(changetype(this.entries) + (this.entriesOffset++) * ENTRY_SIZE()); - entry.key = key; - if (isManaged()) { - __link(changetype(this), changetype(key), true); - } - ++this.entriesCount; - // link with previous entry in bucket - let bucketPtrBase = changetype(this.buckets) + (hashCode & this.bucketsMask) * BUCKET_SIZE; - entry.taggedNext = load(bucketPtrBase); - store(bucketPtrBase, changetype(entry)); - } - return this; - } - - @operator("[]=") - private __set(key: T, value: bool): void { - if (value) this.add(key); - else this.delete(key); - } - - delete(key: T): bool { - let entry = this.find(key, HASH(key)); // unmanaged! - if (!entry) return false; - entry.taggedNext |= EMPTY; - --this.entriesCount; - // check if rehashing is appropriate - let halfBucketsMask = this.bucketsMask >> 1; - if ( - halfBucketsMask + 1 >= max(INITIAL_CAPACITY, this.entriesCount) && - this.entriesCount < this.entriesCapacity * FREE_FACTOR_N / FREE_FACTOR_D - ) this.rehash(halfBucketsMask); - return true; - } - - private rehash(newBucketsMask: u32): void { - let newBucketsCapacity = (newBucketsMask + 1); - let newBuckets = new ArrayBuffer(newBucketsCapacity * BUCKET_SIZE); - let newEntriesCapacity = newBucketsCapacity * FILL_FACTOR_N / FILL_FACTOR_D; - let newEntries = new ArrayBuffer(newEntriesCapacity * ENTRY_SIZE()); - - // copy old entries to new entries - let oldPtr = changetype(this.entries); - let oldEnd = oldPtr + this.entriesOffset * ENTRY_SIZE(); - let newPtr = changetype(newEntries); - while (oldPtr != oldEnd) { - let oldEntry = changetype>(oldPtr); // unmanaged! - if (!(oldEntry.taggedNext & EMPTY)) { - let newEntry = changetype>(newPtr); // unmanaged! - let oldEntryKey = oldEntry.key; - newEntry.key = oldEntryKey; - let newBucketIndex = HASH(oldEntryKey) & newBucketsMask; - let newBucketPtrBase = changetype(newBuckets) + newBucketIndex * BUCKET_SIZE; - newEntry.taggedNext = load(newBucketPtrBase); - store(newBucketPtrBase, newPtr); - newPtr += ENTRY_SIZE(); - } - oldPtr += ENTRY_SIZE(); - } - - this.buckets = newBuckets; - this.bucketsMask = newBucketsMask; - this.entries = newEntries; - this.entriesCapacity = newEntriesCapacity; - this.entriesOffset = this.entriesCount; - } - - values(): T[] { - // FIXME: this is preliminary, needs iterators/closures - let start = changetype(this.entries); - let size = this.entriesOffset; - let values = new Array(size); - let length = 0; - for (let i = 0; i < size; ++i) { - let entry = changetype>(start + i * ENTRY_SIZE()); - if (!(entry.taggedNext & EMPTY)) { - unchecked(values[length++] = entry.key); - } - } - values.length = length; - return values; - } - - toString(): string { - return "[object Set]"; - } - - // RT integration - - @unsafe private __visit(cookie: u32): void { - __visit(changetype(this.buckets), cookie); - let entries = changetype(this.entries); - if (isManaged()) { - let cur = entries; - let end = cur + this.entriesOffset * ENTRY_SIZE(); - while (cur < end) { - let entry = changetype>(cur); - if (!(entry.taggedNext & EMPTY)) { - let val = changetype(entry.key); - if (isNullable()) { - if (val) __visit(val, cookie); - } else __visit(val, cookie); - } - cur += ENTRY_SIZE(); - } - } - __visit(entries, cookie); - } -} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/shared/feature.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/shared/feature.ts deleted file mode 100644 index 1baa9ba3..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/std/assembly/shared/feature.ts +++ /dev/null @@ -1,62 +0,0 @@ -// This file is shared with the compiler and must remain portable - -/** Indicates specific features to activate. */ -export const enum Feature { - /** No additional features. */ - None = 0, - /** Sign extension operations. */ - SignExtension = 1 << 0, // see: https://github.com/WebAssembly/sign-extension-ops - /** Mutable global imports and exports. */ - MutableGlobals = 1 << 1, // see: https://github.com/WebAssembly/mutable-global - /** Non-trapping float to integer operations. */ - NontrappingF2I = 1 << 2, // see: https://github.com/WebAssembly/nontrapping-float-to-int-conversions - /** Bulk memory operations. */ - BulkMemory = 1 << 3, // see: https://github.com/WebAssembly/bulk-memory-operations - /** SIMD types and operations. */ - Simd = 1 << 4, // see: https://github.com/WebAssembly/simd - /** Threading and atomic operations. */ - Threads = 1 << 5, // see: https://github.com/WebAssembly/threads - /** Exception handling operations. */ - ExceptionHandling = 1 << 6, // see: https://github.com/WebAssembly/exception-handling - /** Tail call operations. */ - TailCalls = 1 << 7, // see: https://github.com/WebAssembly/tail-call - /** Reference types. */ - ReferenceTypes = 1 << 8, // see: https://github.com/WebAssembly/reference-types - /** Multi value types. */ - MultiValue = 1 << 9, // see: https://github.com/WebAssembly/multi-value - /** Garbage collection. */ - GC = 1 << 10, // see: https://github.com/WebAssembly/gc - /** Memory64. */ - Memory64 = 1 << 11, // see: https://github.com/WebAssembly/memory64 - /** Relaxed SIMD. */ - RelaxedSimd = 1 << 12, // see: https://github.com/WebAssembly/relaxed-simd - /** Extended const expressions. */ - ExtendedConst = 1 << 13, // see: https://github.com/WebAssembly/extended-const - /** Reference typed strings. */ - Stringref = 1 << 14, // see: https://github.com/WebAssembly/stringref - /** All features. */ - All = (1 << 15) - 1 -} - -/** Gets the name of the specified feature one would specify on the command line. */ -export function featureToString(feature: Feature): string { - switch (feature) { - case Feature.SignExtension: return "sign-extension"; - case Feature.MutableGlobals: return "mutable-globals"; - case Feature.NontrappingF2I: return "nontrapping-f2i"; - case Feature.BulkMemory: return "bulk-memory"; - case Feature.Simd: return "simd"; - case Feature.Threads: return "threads"; - case Feature.ExceptionHandling: return "exception-handling"; - case Feature.TailCalls: return "tail-calls"; - case Feature.ReferenceTypes: return "reference-types"; - case Feature.MultiValue: return "multi-value"; - case Feature.GC: return "gc"; - case Feature.Memory64: return "memory64"; - case Feature.RelaxedSimd: return "relaxed-simd"; - case Feature.ExtendedConst: return "extended-const"; - case Feature.Stringref: return "stringref"; - } - assert(false); - return ""; -} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/shared/runtime.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/shared/runtime.ts deleted file mode 100644 index 4092e209..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/std/assembly/shared/runtime.ts +++ /dev/null @@ -1,11 +0,0 @@ -// This file is shared with the compiler and must remain portable - -/** Runtime types. */ -export enum Runtime { - /** Simple bump allocator without GC. */ - Stub = 0, - /** Stop the world semi-automatic GC. */ - Minimal = 1, - /** incremental GC. */ - Incremental = 2, -} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/shared/target.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/shared/target.ts deleted file mode 100644 index 42e51ffe..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/std/assembly/shared/target.ts +++ /dev/null @@ -1,11 +0,0 @@ -// This file is shared with the compiler and must remain portable - -/** Compilation target. */ -export enum Target { - /** Portable. */ - Js = 0, - /** WebAssembly with 32-bit pointers. */ - Wasm32 = 1, - /** WebAssembly with 64-bit pointers. Experimental and not supported by any runtime yet. */ - Wasm64 = 2, -} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/shared/tsconfig.json b/platforms/Arduino/node_modules/assemblyscript/std/assembly/shared/tsconfig.json deleted file mode 100644 index 6dafbedf..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/std/assembly/shared/tsconfig.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "extends": "../../portable.json", - "compilerOptions": { - "outDir": "../../../out", - "allowJs": false, - "sourceMap": true - }, - "include": [ - "./**/*.ts" - ] -} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/shared/typeinfo.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/shared/typeinfo.ts deleted file mode 100644 index 0ad0ccda..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/std/assembly/shared/typeinfo.ts +++ /dev/null @@ -1,72 +0,0 @@ -// This file is shared with the compiler and must remain portable - -// ╒═══════════════════ Typeinfo interpretation ═══════════════════╕ -// 3 2 1 -// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 bits -// ├─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┤ ◄─ __rtti_base -// │ count │ -// ╞═══════════════════════════════════════════════════════════════╡ ┐ -// │ Typeinfo#flags [id=0] │ id < count -// ├───────────────────────────────────────────────────────────────┤ -// │ ... │ - -/** Runtime type information data structure. */ -@unmanaged -export class Typeinfo { - /** Flags describing the shape of this class type. */ - flags: TypeinfoFlags = TypeinfoFlags.NONE; -} - -/** Runtime type information flags. */ -export const enum TypeinfoFlags { - /** No specific flags. */ - NONE = 0, - /** Type is an `ArrayBufferView`. */ - ARRAYBUFFERVIEW = 1 << 0, - /** Type is an `Array`. */ - ARRAY = 1 << 1, - /** Type is a `StaticArray`. */ - STATICARRAY = 1 << 2, - /** Type is a `Set`. */ - SET = 1 << 3, - /** Type is a `Map`. */ - MAP = 1 << 4, - /** Type has no outgoing pointers. */ - POINTERFREE = 1 << 5, - /** Value alignment of 1 byte. */ - VALUE_ALIGN_0 = 1 << 6, - /** Value alignment of 2 bytes. */ - VALUE_ALIGN_1 = 1 << 7, - /** Value alignment of 4 bytes. */ - VALUE_ALIGN_2 = 1 << 8, - /** Value alignment of 8 bytes. */ - VALUE_ALIGN_3 = 1 << 9, - /** Value alignment of 16 bytes. */ - VALUE_ALIGN_4 = 1 << 10, - /** Value is a signed type. */ - VALUE_SIGNED = 1 << 11, - /** Value is a float type. */ - VALUE_FLOAT = 1 << 12, - /** Value type is nullable. */ - VALUE_NULLABLE = 1 << 13, - /** Value type is managed. */ - VALUE_MANAGED = 1 << 14, - /** Key alignment of 1 byte. */ - KEY_ALIGN_0 = 1 << 15, - /** Key alignment of 2 bytes. */ - KEY_ALIGN_1 = 1 << 16, - /** Key alignment of 4 bytes. */ - KEY_ALIGN_2 = 1 << 17, - /** Key alignment of 8 bytes. */ - KEY_ALIGN_3 = 1 << 18, - /** Key alignment of 16 bytes. */ - KEY_ALIGN_4 = 1 << 19, - /** Key is a signed type. */ - KEY_SIGNED = 1 << 20, - /** Key is a float type. */ - KEY_FLOAT = 1 << 21, - /** Key type is nullable. */ - KEY_NULLABLE = 1 << 22, - /** Key type is managed. */ - KEY_MANAGED = 1 << 23 -} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/staticarray.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/staticarray.ts deleted file mode 100644 index 89cad68a..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/std/assembly/staticarray.ts +++ /dev/null @@ -1,401 +0,0 @@ -/// - -import { OBJECT, BLOCK_MAXSIZE, TOTAL_OVERHEAD } from "./rt/common"; -import { Runtime } from "shared/runtime"; -import { COMPARATOR, SORT } from "./util/sort"; -import { REVERSE, FILL } from "./util/bytes"; -import { idof } from "./builtins"; -import { Array } from "./array"; -import { E_INDEXOUTOFRANGE, E_INVALIDLENGTH, E_HOLEYARRAY } from "./util/error"; -import { joinBooleanArray, joinIntegerArray, joinFloatArray, joinStringArray, joinReferenceArray } from "./util/string"; - -@final -export class StaticArray { - [key: number]: T; - - // Note that the interface of StaticArray instances must be a semantically - // compatible subset of Array in order for syntax highlighting to work - // properly, for instance when creating static arrays from array literals. - // The additionally provided static methods take care of dealing with static - // arrays exclusively, without having to convert to Array first. - - static fromArray(source: Array): StaticArray { - let length = source.length; - let outSize = length << alignof(); - let out = changetype>(__new(outSize, idof>())); - if (isManaged()) { - let sourcePtr = source.dataStart; - for (let i = 0; i < length; ++i) { - let off = i << alignof(); - let ref = load(sourcePtr + off); - store(changetype(out) + off, ref); - __link(changetype(out), ref, true); - } - } else { - memory.copy(changetype(out), source.dataStart, outSize); - } - return out; - } - - /** @deprecated Please use source.concat> instead. */ - static concat(source: StaticArray, other: StaticArray): StaticArray { - return source.concat>(other); - } - - /** @deprecated Please use source.slice> instead. */ - static slice(source: StaticArray, start: i32 = 0, end: i32 = i32.MAX_VALUE): StaticArray { - return source.slice>(start, end); - } - - constructor(length: i32) { - if (length > BLOCK_MAXSIZE >>> alignof()) throw new RangeError(E_INVALIDLENGTH); - let outSize = length << alignof(); - let out = changetype>(__new(outSize, idof>())); - if (ASC_RUNTIME != Runtime.Incremental) { - memory.fill(changetype(out), 0, outSize); - } - return out; - } - - get length(): i32 { - return changetype(changetype(this) - TOTAL_OVERHEAD).rtSize >>> alignof(); - } - - at(index: i32): T { - let len = this.length; - index += select(0, len, index >= 0); - if (index >= len) throw new RangeError(E_INDEXOUTOFRANGE); - let value = load(changetype(this) + (index << alignof())); - if (isReference()) { - if (!isNullable()) { - if (!changetype(value)) throw new Error(E_HOLEYARRAY); - } - } - return value; - } - - @operator("[]") private __get(index: i32): T { - if (index >= this.length) throw new RangeError(E_INDEXOUTOFRANGE); - let value = load(changetype(this) + (index << alignof())); - if (isReference()) { - if (!isNullable()) { - if (!changetype(value)) throw new Error(E_HOLEYARRAY); - } - } - return value; - } - - @unsafe @operator("{}") private __uget(index: i32): T { - return load(changetype(this) + (index << alignof())); - } - - @operator("[]=") private __set(index: i32, value: T): void { - if (index >= this.length) throw new RangeError(E_INDEXOUTOFRANGE); - this.__uset(index, value); - } - - @unsafe @operator("{}=") private __uset(index: i32, value: T): void { - store(changetype(this) + (index << alignof()), value); - if (isManaged()) { - __link(changetype(this), changetype(value), true); - } - } - - fill(value: T, start: i32 = 0, end: i32 = i32.MAX_VALUE): StaticArray { - if (isManaged()) { - FILL(changetype(this), this.length, changetype(value), start, end); - __link(changetype(this), changetype(value), false); - } else { - FILL(changetype(this), this.length, value, start, end); - } - return this; - } - - copyWithin(target: i32, start: i32, end: i32 = i32.MAX_VALUE): StaticArray { - let ptr = changetype(this); - let len = this.length; - - end = min(end, len); - - let to = target < 0 ? max(len + target, 0) : min(target, len); - let from = start < 0 ? max(len + start, 0) : min(start, len); - let last = end < 0 ? max(len + end, 0) : min(end, len); - let count = min(last - from, len - to); - - memory.copy( // is memmove - ptr + (to << alignof()), - ptr + (from << alignof()), - count << alignof() - ); - return this; - } - - includes(value: T, fromIndex: i32 = 0): bool { - if (isFloat()) { - let length = this.length; - if (length == 0 || fromIndex >= length) return false; - if (fromIndex < 0) fromIndex = max(length + fromIndex, 0); - while (fromIndex < length) { - let elem = load(changetype(this) + (fromIndex << alignof())); - // @ts-ignore - if (elem == value || isNaN(elem) & isNaN(value)) return true; - ++fromIndex; - } - return false; - } else { - return this.indexOf(value, fromIndex) >= 0; - } - } - - indexOf(value: T, fromIndex: i32 = 0): i32 { - let length = this.length; - if (length == 0 || fromIndex >= length) return -1; - if (fromIndex < 0) fromIndex = max(length + fromIndex, 0); - while (fromIndex < length) { - if (load(changetype(this) + (fromIndex << alignof())) == value) return fromIndex; - ++fromIndex; - } - return -1; - } - - lastIndexOf(value: T, fromIndex: i32 = this.length): i32 { - let length = this.length; - if (length == 0) return -1; - if (fromIndex < 0) fromIndex = length + fromIndex; - else if (fromIndex >= length) fromIndex = length - 1; - while (fromIndex >= 0) { - if (load(changetype(this) + (fromIndex << alignof())) == value) return fromIndex; - --fromIndex; - } - return -1; - } - - concat = Array>(other: U): U { - let sourceLen = this.length; - let otherLen = other.length; - let outLen = sourceLen + otherLen; - if (outLen > BLOCK_MAXSIZE >>> alignof()) { - throw new Error(E_INVALIDLENGTH); - } - let sourceSize = sourceLen << alignof(); - let out = changetype(this); // FIXME: instanceof needs *some* value - - if (out instanceof Array) { - out = changetype(__newArray(outLen, alignof(), idof>())); - // ^ FIXME: Function returns type U, but can't __newArray(U extends Array) - let outStart = changetype>(out).dataStart; - let otherStart = changetype>(other).dataStart; - let thisStart = changetype(this); - - if (isManaged()) { - for (let offset: usize = 0; offset < sourceSize; offset += sizeof()) { - let ref = load(thisStart + offset); - store(outStart + offset, ref); - __link(changetype(out), ref, true); - } - outStart += sourceSize; - let otherSize = otherLen << alignof(); - for (let offset: usize = 0; offset < otherSize; offset += sizeof()) { - let ref = load(otherStart + offset); - store(outStart + offset, ref); - __link(changetype(out), ref, true); - } - } else { - memory.copy(outStart, thisStart, sourceSize); - memory.copy(outStart + sourceSize, otherStart, otherLen << alignof()); - } - } else if (out instanceof StaticArray) { - out = changetype(__new(outLen << alignof(), idof>())); - let outStart = changetype(out); - let otherStart = changetype(other); - let thisStart = changetype(this); - - if (isManaged()) { - for (let offset: usize = 0; offset < sourceSize; offset += sizeof()) { - let ref = load(thisStart + offset); - store(outStart + offset, ref); - __link(changetype(out), ref, true); - } - outStart += sourceSize; - let otherSize = otherLen << alignof(); - for (let offset: usize = 0; offset < otherSize; offset += sizeof()) { - let ref = load(otherStart + offset); - store(outStart + offset, ref); - __link(changetype(out), ref, true); - } - } else { - memory.copy(outStart, thisStart, sourceSize); - memory.copy(outStart + sourceSize, otherStart, otherLen << alignof()); - } - } else { - ERROR("Only Array and StaticArray accept for 'U' parameter"); - } - return out; - } - - slice = Array>(start: i32 = 0, end: i32 = i32.MAX_VALUE): U { - let length = this.length; - start = start < 0 ? max(start + length, 0) : min(start, length); - end = end < 0 ? max(end + length, 0) : min(end, length); - length = max(end - start, 0); - - let sourceStart = changetype(this) + (start << alignof()); - let size = length << alignof(); - let out = changetype(this); // FIXME: instanceof needs *some* value - - if (out instanceof Array) { - // return Array - out = changetype(__newArray(length, alignof(), idof>())); - // ^ FIXME: Function returns type U, but can't __newArray(U extends Array) - let outStart = changetype>(out).dataStart; - if (isManaged()) { - let off: usize = 0; - while (off < size) { - let ref = load(sourceStart + off); - store(outStart + off, ref); - __link(changetype(out), ref, true); - off += sizeof(); - } - } else { - memory.copy(outStart, sourceStart, size); - } - } else if (out instanceof StaticArray) { - // return StaticArray - out = changetype(__new(size, idof>())); - let outStart = changetype(out); - if (isManaged()) { - let off: usize = 0; - while (off < size) { - let ref = load(sourceStart + off); - store(outStart + off, ref); - __link(outStart, ref, true); - off += sizeof(); - } - } else { - memory.copy(outStart, sourceStart, size); - } - } else { - ERROR("Only Array and StaticArray accept for 'U' parameter"); - } - return out; - } - - findIndex(fn: (value: T, index: i32, array: StaticArray) => bool): i32 { - for (let i = 0, len = this.length; i < len; ++i) { - if (fn(load(changetype(this) + (i << alignof())), i, this)) return i; - } - return -1; - } - - findLastIndex(fn: (value: T, index: i32, array: StaticArray) => bool): i32 { - for (let i = this.length - 1; i >= 0; --i) { - if (fn(load(changetype(this) + (i << alignof())), i, this)) return i; - } - return -1; - } - - forEach(fn: (value: T, index: i32, array: StaticArray) => void): void { - for (let i = 0, len = this.length; i < len; ++i) { - fn(load(changetype(this) + (i << alignof())), i, this); - } - } - - map(fn: (value: T, index: i32, array: StaticArray) => U): Array { - let len = this.length; - let out = changetype>(__newArray(len, alignof(), idof>())); - let outStart = out.dataStart; - for (let i = 0; i < len; ++i) { - let result = fn(load(changetype(this) + (i << alignof())), i, this); - store(outStart + (i << alignof()), result); - if (isManaged()) { - __link(changetype(out), changetype(result), true); - } - } - return out; - } - - filter(fn: (value: T, index: i32, array: StaticArray) => bool): Array { - let result = changetype>(__newArray(0, alignof(), idof>())); - for (let i = 0, len = this.length; i < len; ++i) { - let value = load(changetype(this) + (i << alignof())); - if (fn(value, i, this)) result.push(value); - } - return result; - } - - reduce( - fn: (previousValue: U, currentValue: T, currentIndex: i32, array: StaticArray) => U, - initialValue: U - ): U { - let acc = initialValue; - for (let i = 0, len = this.length; i < len; ++i) { - acc = fn(acc, load(changetype(this) + (i << alignof())), i, this); - } - return acc; - } - - reduceRight( - fn: (previousValue: U, currentValue: T, currentIndex: i32, array: StaticArray) => U, - initialValue: U - ): U { - let acc = initialValue; - for (let i = this.length - 1; i >= 0; --i) { - acc = fn(acc, load(changetype(this) + (i << alignof())), i, this); - } - return acc; - } - - every(fn: (value: T, index: i32, array: StaticArray) => bool): bool { - for (let i = 0, len = this.length; i < len; ++i) { - if (!fn(load(changetype(this) + (i << alignof())), i, this)) return false; - } - return true; - } - - some(fn: (value: T, index: i32, array: StaticArray) => bool): bool { - for (let i = 0, len = this.length; i < len; ++i) { - if (fn(load(changetype(this) + (i << alignof())), i, this)) return true; - } - return false; - } - - sort(comparator: (a: T, b: T) => i32 = COMPARATOR()): StaticArray { - SORT(changetype(this), this.length, comparator); - return this; - } - - join(separator: string = ","): string { - if (isBoolean()) return joinBooleanArray(changetype(this), this.length, separator); - if (isInteger()) return joinIntegerArray(changetype(this), this.length, separator); - if (isFloat()) return joinFloatArray(changetype(this), this.length, separator); - if (ASC_SHRINK_LEVEL < 1) { - if (isString()) return joinStringArray(changetype(this), this.length, separator); - } - if (isReference()) return joinReferenceArray(changetype(this), this.length, separator); - ERROR("unspported element type"); - return unreachable(); - } - - reverse(): StaticArray { - REVERSE(changetype(this), this.length); - return this; - } - - toString(): string { - return this.join(); - } - - // RT integration - - @unsafe private __visit(cookie: u32): void { - if (isManaged()) { - let cur = changetype(this); - let end = cur + changetype(changetype(this) - TOTAL_OVERHEAD).rtSize; - while (cur < end) { - let val = load(cur); - if (val) __visit(val, cookie); - cur += sizeof(); - } - } - } -} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/string.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/string.ts deleted file mode 100644 index 76753180..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/std/assembly/string.ts +++ /dev/null @@ -1,847 +0,0 @@ -/// - -import { OBJECT, BLOCK_MAXSIZE, TOTAL_OVERHEAD } from "./rt/common"; -import { compareImpl, strtol, strtod, isSpace, isAscii, isFinalSigma, toLower8, toUpper8 } from "./util/string"; -import { SPECIALS_UPPER, casemap, bsearch } from "./util/casemap"; -import { E_INDEXOUTOFRANGE, E_INVALIDLENGTH, E_UNPAIRED_SURROGATE } from "./util/error"; -import { idof } from "./builtins"; -import { Array } from "./array"; - -@final export abstract class String { - - @lazy static readonly MAX_LENGTH: i32 = (BLOCK_MAXSIZE >>> alignof()); - - static fromCharCode(unit: i32, surr: i32 = -1): String { - let hasSur = surr > 0; - let out = changetype(__new(2 << i32(hasSur), idof())); - store(changetype(out), unit); - if (hasSur) store(changetype(out), surr, 2); - return out; - } - - static fromCharCodes(units: Array): String { - let length = units.length; - let out = changetype(__new(length << 1, idof())); - let ptr = units.dataStart; - for (let i = 0; i < length; ++i) { - store(changetype(out) + (i << 1), load(ptr + (i << 2))); - } - return out; - } - - static fromCodePoint(code: i32): String { - let hasSur = code > 0xFFFF; - let out = changetype(__new(2 << i32(hasSur), idof())); - if (!hasSur) { - store(changetype(out), code); - } else { - // Checks valid code point range - assert(code <= 0x10FFFF); - code -= 0x10000; - let hi = (code & 0x03FF) | 0xDC00; - let lo = code >>> 10 | 0xD800; - store(changetype(out), lo | hi << 16); - } - return out; - } - - @builtin static raw(parts: TemplateStringsArray, ...args: unknown[]): string { return unreachable(); } - - get length(): i32 { - return changetype(changetype(this) - TOTAL_OVERHEAD).rtSize >> 1; - } - - at(pos: i32): String { - let len = this.length; - pos += select(0, len, pos >= 0); - if (pos >= len) throw new RangeError(E_INDEXOUTOFRANGE); - let out = __new(2, idof()); - store(out, load(changetype(this) + (pos << 1))); - return changetype(out); // retains - } - - @operator("[]") charAt(pos: i32): String { - if (pos >= this.length) return changetype(""); - let out = changetype(__new(2, idof())); - store(changetype(out), load(changetype(this) + (pos << 1))); - return out; - } - - charCodeAt(pos: i32): i32 { - if (pos >= this.length) return -1; // (NaN) - return load(changetype(this) + (pos << 1)); - } - - codePointAt(pos: i32): i32 { - let len = this.length; - if (pos >= len) return -1; // (undefined) - let first = load(changetype(this) + (pos << 1)); - if ((first & 0xFC00) != 0xD800 || pos + 1 == len) return first; - let second = load(changetype(this) + (pos << 1), 2); - if ((second & 0xFC00) != 0xDC00) return first; - return (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000; - } - - @operator("+") private static __concat(left: String, right: String): String { - return left.concat(right); - } - - concat(other: String): String { - let thisSize: isize = this.length << 1; - let otherSize: isize = other.length << 1; - let outSize: usize = thisSize + otherSize; - if (outSize == 0) return changetype(""); - let out = changetype(__new(outSize, idof())); - memory.copy(changetype(out), changetype(this), thisSize); - memory.copy(changetype(out) + thisSize, changetype(other), otherSize); - return out; - } - - endsWith(search: String, end: i32 = String.MAX_LENGTH): bool { - end = min(max(end, 0), this.length); - let searchLength = search.length; - let searchStart = end - searchLength; - if (searchStart < 0) return false; - // @ts-ignore: string <-> String - return !compareImpl(this, searchStart, search, 0, searchLength); - } - - @operator("==") private static __eq(left: String | null, right: String | null): bool { - if (changetype(left) == changetype(right)) return true; - if (changetype(left) == 0 || changetype(right) == 0) return false; - let leftLength = changetype(left).length; - if (leftLength != changetype(right).length) return false; - // @ts-ignore: string <-> String - return !compareImpl(left, 0, right, 0, leftLength); - } - - @operator.prefix("!") - private static __not(str: String | null): bool { - return changetype(str) == 0 || !changetype(str).length; - } - - @operator("!=") - private static __ne(left: String | null, right: String | null): bool { - return !this.__eq(left, right); - } - - @operator(">") private static __gt(left: String, right: String): bool { - if (changetype(left) == changetype(right)) return false; - let leftLength = left.length; - if (!leftLength) return false; - let rightLength = right.length; - if (!rightLength) return true; - // @ts-ignore: string <-> String - let res = compareImpl(left, 0, right, 0, min(leftLength, rightLength)); - return res ? res > 0 : leftLength > rightLength; - } - - @operator(">=") private static __gte(left: String, right: String): bool { - return !this.__lt(left, right); - } - - @operator("<") private static __lt(left: String, right: String): bool { - if (changetype(left) == changetype(right)) return false; - let rightLength = right.length; - if (!rightLength) return false; - let leftLength = left.length; - if (!leftLength) return true; - // @ts-ignore: string <-> String - let res = compareImpl(left, 0, right, 0, min(leftLength, rightLength)); - return res ? res < 0 : leftLength < rightLength; - } - - @operator("<=") private static __lte(left: String, right: String): bool { - return !this.__gt(left, right); - } - - includes(search: String, start: i32 = 0): bool { - return this.indexOf(search, start) != -1; - } - - indexOf(search: String, start: i32 = 0): i32 { - let searchLen = search.length; - if (!searchLen) return 0; - let len = this.length; - if (!len) return -1; - let searchStart = min(max(start, 0), len); - for (len -= searchLen; searchStart <= len; ++searchStart) { - // @ts-ignore: string <-> String - if (!compareImpl(this, searchStart, search, 0, searchLen)) return searchStart; - } - return -1; - } - - lastIndexOf(search: String, start: i32 = i32.MAX_VALUE): i32 { - let searchLen = search.length; - if (!searchLen) return this.length; - let len = this.length; - if (!len) return -1; - let searchStart = min(max(start, 0), len - searchLen); - for (; searchStart >= 0; --searchStart) { - // @ts-ignore: string <-> String - if (!compareImpl(this, searchStart, search, 0, searchLen)) return searchStart; - } - return -1; - } - - // TODO: implement full locale comparison with locales and Collator options - localeCompare(other: String): i32 { - if (changetype(other) == changetype(this)) return 0; - let alen = this.length; - let blen = other.length; - // @ts-ignore: string <-> String - let res = compareImpl(this, 0, other, 0, min(alen, blen)); - res = res ? res : alen - blen; - // normalize to [-1, 1] range - return i32(res > 0) - i32(res < 0); - } - - startsWith(search: String, start: i32 = 0): bool { - let len = this.length; - let searchStart = min(max(start, 0), len); - let searchLength = search.length; - if (searchLength + searchStart > len) return false; - // @ts-ignore: string <-> String - return !compareImpl(this, searchStart, search, 0, searchLength); - } - - substr(start: i32, length: i32 = i32.MAX_VALUE): String { // legacy - let intStart: isize = start; - let end: isize = length; - let len: isize = this.length; - if (intStart < 0) intStart = max(len + intStart, 0); - let size = min(max(end, 0), len - intStart) << 1; - if (size <= 0) return changetype(""); - let out = changetype(__new(size, idof())); - memory.copy(changetype(out), changetype(this) + (intStart << 1), size); - return out; - } - - substring(start: i32, end: i32 = i32.MAX_VALUE): String { - let len: isize = this.length; - let finalStart = min(max(start, 0), len); - let finalEnd = min(max(end, 0), len); - let fromPos = min(finalStart, finalEnd) << 1; - let toPos = max(finalStart, finalEnd) << 1; - let size = toPos - fromPos; - if (!size) return changetype(""); - if (!fromPos && toPos == len << 1) return this; - let out = changetype(__new(size, idof())); - memory.copy(changetype(out), changetype(this) + fromPos, size); - return out; - } - - trim(): String { - let len = this.length; - let size: usize = len << 1; - while (size && isSpace(load(changetype(this) + size - 2))) { - size -= 2; - } - let offset: usize = 0; - while (offset < size && isSpace(load(changetype(this) + offset))) { - offset += 2; size -= 2; - } - if (!size) return changetype(""); - if (!offset && size == len << 1) return this; - let out = changetype(__new(size, idof())); - memory.copy(changetype(out), changetype(this) + offset, size); - return out; - } - - @inline - trimLeft(): String { - return this.trimStart(); - } - - @inline - trimRight(): String { - return this.trimEnd(); - } - - trimStart(): String { - let size = this.length << 1; - let offset: usize = 0; - while (offset < size && isSpace(load(changetype(this) + offset))) { - offset += 2; - } - if (!offset) return this; - size -= offset; - if (!size) return changetype(""); - let out = changetype(__new(size, idof())); - memory.copy(changetype(out), changetype(this) + offset, size); - return out; - } - - trimEnd(): String { - let originalSize = this.length << 1; - let size = originalSize; - while (size && isSpace(load(changetype(this) + size - 2))) { - size -= 2; - } - if (!size) return changetype(""); - if (size == originalSize) return this; - let out = changetype(__new(size, idof())); - memory.copy(changetype(out), changetype(this), size); - return out; - } - - padStart(length: i32, pad: string = " "): String { - let thisSize = this.length << 1; - let targetSize = length << 1; - let padSize = pad.length << 1; - if (targetSize < thisSize || !padSize) return this; - let prependSize = targetSize - thisSize; - let out = changetype(__new(targetSize, idof())); - if (prependSize > padSize) { - let repeatCount = (prependSize - 2) / padSize; - let restBase = repeatCount * padSize; - let restSize = prependSize - restBase; - memory.repeat(changetype(out), changetype(pad), padSize, repeatCount); - memory.copy(changetype(out) + restBase, changetype(pad), restSize); - } else { - memory.copy(changetype(out), changetype(pad), prependSize); - } - memory.copy(changetype(out) + prependSize, changetype(this), thisSize); - return out; - } - - padEnd(length: i32, pad: string = " "): String { - let thisSize = this.length << 1; - let targetSize = length << 1; - let padSize = pad.length << 1; - if (targetSize < thisSize || !padSize) return this; - let appendSize = targetSize - thisSize; - let out = changetype(__new(targetSize, idof())); - memory.copy(changetype(out), changetype(this), thisSize); - if (appendSize > padSize) { - let repeatCount = (appendSize - 2) / padSize; - let restBase = repeatCount * padSize; - let restSize = appendSize - restBase; - memory.repeat(changetype(out) + thisSize, changetype(pad), padSize, repeatCount); - memory.copy(changetype(out) + thisSize + restBase, changetype(pad), restSize); - } else { - memory.copy(changetype(out) + thisSize, changetype(pad), appendSize); - } - return out; - } - - repeat(count: i32 = 0): String { - let length = this.length; - - // Most browsers can't handle strings 1 << 28 chars or longer - if (count < 0 || length * count > (1 << 28)) { - throw new RangeError(E_INVALIDLENGTH); - } - - if (count == 0 || !length) return changetype(""); - if (count == 1) return this; - let out = changetype(__new((length * count) << 1, idof())); - memory.repeat(changetype(out), changetype(this), length << 1, count); - return out; - } - - replace(search: String, replacement: String): String { - let len: usize = this.length; - let slen: usize = search.length; - if (len <= slen) { - return len < slen ? this : select(replacement, this, search == this); - } - let index: isize = this.indexOf(search); - if (~index) { - let rlen: usize = replacement.length; - len -= slen; - let olen = len + rlen; - if (olen) { - let out = changetype(__new(olen << 1, idof())); - memory.copy(changetype(out), changetype(this), index << 1); - memory.copy( - changetype(out) + (index << 1), - changetype(replacement), - rlen << 1 - ); - memory.copy( - changetype(out) + ((index + rlen) << 1), - changetype(this) + ((index + slen) << 1), - (len - index) << 1 - ); - return out; - } - } - return this; - } - - replaceAll(search: String, replacement: String): String { - let thisLen: usize = this.length; - let searchLen: usize = search.length; - if (thisLen <= searchLen) { - return thisLen < searchLen - ? this - : select(replacement, this, search == this); - } - let replaceLen: usize = replacement.length; - if (!searchLen) { - if (!replaceLen) return this; - // Special case: 'abc'.replaceAll('', '-') -> '-a-b-c-' - let out = changetype(__new((thisLen + (thisLen + 1) * replaceLen) << 1, idof())); - memory.copy(changetype(out), changetype(replacement), replaceLen << 1); - let offset = replaceLen; - for (let i: usize = 0; i < thisLen; ++i) { - store( - changetype(out) + (offset++ << 1), - load(changetype(this) + (i << 1)) - ); - memory.copy( - changetype(out) + (offset << 1), - changetype(replacement), - replaceLen << 1 - ); - offset += replaceLen; - } - return out; - } - let prev: isize = 0, next: isize = 0; - if (searchLen == replaceLen) { - // Fast path when search and replacement have same length - let outSize = thisLen << 1; - let out = changetype(__new(outSize, idof())); - memory.copy(changetype(out), changetype(this), outSize); - while (~(next = this.indexOf(search, prev))) { - memory.copy(changetype(out) + (next << 1), changetype(replacement), replaceLen << 1); - prev = next + searchLen; - } - return out; - } - let out: String | null = null, offset: usize = 0, outSize = thisLen; - while (~(next = this.indexOf(search, prev))) { - if (!out) out = changetype(__new(thisLen << 1, idof())); - let chunk = next - prev; - if (offset + chunk + replaceLen > outSize) { - outSize <<= 1; - out = changetype(__renew(changetype(out), outSize << 1)); - } - memory.copy( - changetype(out) + (offset << 1), - changetype(this) + (prev << 1), - chunk << 1 - ); - offset += chunk; - memory.copy( - changetype(out) + (offset << 1), - changetype(replacement), - replaceLen << 1 - ); - offset += replaceLen; - prev = next + searchLen; - } - if (out) { - let rest = thisLen - prev; - if (offset + rest > outSize) { - outSize <<= 1; - out = changetype(__renew(changetype(out), outSize << 1)); - } - if (rest) { - memory.copy( - changetype(out) + (offset << 1), - changetype(this) + (prev << 1), - rest << 1 - ); - } - rest += offset; - if (outSize > rest) { - out = changetype(__renew(changetype(out), rest << 1)); - } - return out; - } - return this; - } - - slice(start: i32, end: i32 = i32.MAX_VALUE): String { - let len = this.length; - start = start < 0 ? max(start + len, 0) : min(start, len); - end = end < 0 ? max(end + len, 0) : min(end, len); - len = end - start; - if (len <= 0) return changetype(""); - let out = changetype(__new(len << 1, idof())); - memory.copy(changetype(out), changetype(this) + (start << 1), len << 1); - return out; - } - - split(separator: String | null = null, limit: i32 = i32.MAX_VALUE): String[] { - if (!limit) return changetype(__newArray(0, alignof(), idof>())); - if (changetype(separator) == 0) return [ this ]; - let length: isize = this.length; - let sepLen = changetype(separator).length; - if (limit < 0) limit = i32.MAX_VALUE; - if (!sepLen) { - if (!length) return changetype(__newArray(0, alignof(), idof>())); - // split by chars - length = min(length, limit); - let result = changetype(__newArray(length, alignof(), idof>())); - // @ts-ignore: cast - let resultStart = result.dataStart as usize; - for (let i: isize = 0; i < length; ++i) { - let charStr = changetype(__new(2, idof())); - store(changetype(charStr), load(changetype(this) + (i << 1))); - store(resultStart + (i << alignof()), changetype(charStr)); // result[i] = charStr - __link(changetype(result), changetype(charStr), true); - } - return result; - } else if (!length) { - let result = changetype(__newArray(1, alignof(), idof>())); - // @ts-ignore: cast - store(result.dataStart as usize, changetype("")); // static "" - return result; - } - let result = changetype(__newArray(0, alignof(), idof>())); - let end = 0, start = 0, i = 0; - while (~(end = this.indexOf(changetype(separator), start))) { - let len = end - start; - if (len > 0) { - let out = changetype(__new(len << 1, idof())); - memory.copy(changetype(out), changetype(this) + (start << 1), len << 1); - result.push(out); - } else { - result.push(changetype("")); - } - if (++i == limit) return result; - start = end + sepLen; - } - if (!start) { // also means: loop above didn't do anything - result.push(this); - return result; - } - let len = length - start; - if (len > 0) { - let out = changetype(__new(len << 1, idof())); - memory.copy(changetype(out), changetype(this) + (start << 1), len << 1); - result.push(out); - } else { - result.push(changetype("")); // static "" - } - return result; - } - - toLowerCase(): String { - let len = this.length; - if (!len) return this; - let codes = changetype(__new(len * 2 * 2, idof())); - let j: usize = 0; - for (let i: usize = 0; i < len; ++i, ++j) { - let c = load(changetype(this) + (i << 1)); - if (isAscii(c)) { - store(changetype(codes) + (j << 1), toLower8(c)); - } else { - // check and read surrogate pair - if ((c - 0xD7FF < 0xDC00 - 0xD7FF) && i < len - 1) { - let c1 = load(changetype(this) + (i << 1), 2); - if (c1 - 0xDBFF < 0xE000 - 0xDBFF) { - let c0 = c; - c = (((c & 0x03FF) << 10) | (c1 & 0x03FF)) + 0x10000; - ++i; - if (c >= 0x20000) { - store(changetype(codes) + (j << 1), c0 | (c1 << 16)); - ++j; - continue; - } - } - } - // check special casing for lower table. It has one ently so instead lookup we just inline this. - if (c == 0x0130) { - // 0x0130 -> [0x0069, 0x0307] - store(changetype(codes) + (j << 1), (0x0307 << 16) | 0x0069); - ++j; - } else if (c == 0x03A3) { // 'Σ' - // Σ maps to σ but except at the end of a word where it maps to ς - let sigma = 0x03C3; // σ - if (len > 1 && isFinalSigma(changetype(this), i, len)) { - sigma = 0x03C2; // ς - } - store(changetype(codes) + (j << 1), sigma); - } else if (c - 0x24B6 <= 0x24CF - 0x24B6) { - // Range 0x24B6 <= c <= 0x24CF not covered by casemap and require special early handling - store(changetype(codes) + (j << 1), c + 26); - } else { - let code = casemap(c, 0) & 0x1FFFFF; - if (code < 0x10000) { - store(changetype(codes) + (j << 1), code); - } else { - // store as surrogare pair - code -= 0x10000; - let lo = (code >>> 10) | 0xD800; - let hi = (code & 0x03FF) | 0xDC00; - store(changetype(codes) + (j << 1), lo | (hi << 16)); - ++j; - } - } - } - } - return changetype(__renew(changetype(codes), j << 1)); - } - - toUpperCase(): String { - let len = this.length; - if (!len) return this; - let codes = changetype(__new(len * 3 * 2, idof())); - let specialsPtr = changetype(SPECIALS_UPPER); - let specialsLen = SPECIALS_UPPER.length; - let j: usize = 0; - for (let i: usize = 0; i < len; ++i, ++j) { - let c = load(changetype(this) + (i << 1)); - if (isAscii(c)) { - store(changetype(codes) + (j << 1), toUpper8(c)); - } else { - // check and read surrogate pair - if ((c - 0xD7FF < 0xDC00 - 0xD7FF) && i < len - 1) { - let c1 = load(changetype(this) + (i << 1), 2); - if (c1 - 0xDBFF < 0xE000 - 0xDBFF) { - let c0 = c; - c = (((c & 0x03FF) << 10) | (c1 & 0x03FF)) + 0x10000; - ++i; - if (c >= 0x20000) { - store(changetype(codes) + (j << 1), c0 | (c1 << 16)); - ++j; - continue; - } - } - } - // Range 0x24D0 <= c <= 0x24E9 not covered by casemap and require special early handling - if (c - 0x24D0 <= 0x24E9 - 0x24D0) { - // monkey patch - store(changetype(codes) + (j << 1), c - 26); - } else { - let index: usize = -1; - // Fast range check. See first and last rows in specialsUpper table - if (c - 0x00DF <= 0xFB17 - 0x00DF) { - index = bsearch(c, specialsPtr, specialsLen); - } - if (~index) { - // load next 3 code points from row with `index` offset for specialsUpper table - let ab = load(specialsPtr + (index << 1), 2); - let cc = load(specialsPtr + (index << 1), 6); - store(changetype(codes) + (j << 1), ab, 0); - store(changetype(codes) + (j << 1), cc, 4); - j += 1 + usize(cc != 0); - } else { - let code = casemap(c, 1) & 0x1FFFFF; - if (code < 0x10000) { - store(changetype(codes) + (j << 1), code); - } else { - // store as surrogare pair - code -= 0x10000; - let lo = (code >>> 10) | 0xD800; - let hi = (code & 0x03FF) | 0xDC00; - store(changetype(codes) + (j << 1), lo | (hi << 16)); - ++j; - } - } - } - } - } - return changetype(__renew(changetype(codes), j << 1)); - } - - toString(): String { - return this; - } -} - -// @ts-ignore: nolib -export type string = String; - -export function parseInt(str: string, radix: i32 = 0): f64 { - return strtol(str, radix); -} - -export function parseFloat(str: string): f64 { - return strtod(str); -} - -// Encoding helpers -export namespace String { - - export namespace UTF8 { - - export const enum ErrorMode { - WTF8, - REPLACE, - ERROR - } - - export function byteLength(str: string, nullTerminated: bool = false): i32 { - let strOff = changetype(str); - let strEnd = strOff + changetype(changetype(str) - TOTAL_OVERHEAD).rtSize; - let bufLen = i32(nullTerminated); - while (strOff < strEnd) { - let c1 = load(strOff); - if (c1 < 128) { - // @ts-ignore: cast - if (nullTerminated & !c1) break; - bufLen += 1; - } else if (c1 < 2048) { - bufLen += 2; - } else { - if ((c1 & 0xFC00) == 0xD800 && strOff + 2 < strEnd) { - if ((load(strOff, 2) & 0xFC00) == 0xDC00) { - bufLen += 4; strOff += 4; - continue; - } - } - bufLen += 3; - } - strOff += 2; - } - return bufLen; - } - - export function encode(str: string, nullTerminated: bool = false, errorMode: ErrorMode = ErrorMode.WTF8): ArrayBuffer { - let buf = changetype(__new(byteLength(str, nullTerminated), idof())); - encodeUnsafe(changetype(str), str.length, changetype(buf), nullTerminated, errorMode); - return buf; - } - - // @ts-ignore: decorator - @unsafe - export function encodeUnsafe(str: usize, len: i32, buf: usize, nullTerminated: bool = false, errorMode: ErrorMode = ErrorMode.WTF8): usize { - let strEnd = str + (len << 1); - let bufOff = buf; - while (str < strEnd) { - let c1 = load(str); - if (c1 < 128) { - store(bufOff, c1); - bufOff++; - // @ts-ignore: cast - if (nullTerminated & !c1) return bufOff - buf; - } else if (c1 < 2048) { - let b0 = c1 >> 6 | 192; - let b1 = c1 & 63 | 128; - store(bufOff, b1 << 8 | b0); - bufOff += 2; - } else { - // D800: 11011 0 0000000000 Lead - // DBFF: 11011 0 1111111111 - // DC00: 11011 1 0000000000 Trail - // DFFF: 11011 1 1111111111 - // F800: 11111 0 0000000000 Mask - // FC00: 11111 1 0000000000 - if ((c1 & 0xF800) == 0xD800) { - if (c1 < 0xDC00 && str + 2 < strEnd) { - let c2 = load(str, 2); - if ((c2 & 0xFC00) == 0xDC00) { - c1 = 0x10000 + ((c1 & 0x03FF) << 10) | (c2 & 0x03FF); - let b0 = c1 >> 18 | 240; - let b1 = c1 >> 12 & 63 | 128; - let b2 = c1 >> 6 & 63 | 128; - let b3 = c1 & 63 | 128; - store(bufOff, b3 << 24 | b2 << 16 | b1 << 8 | b0); - bufOff += 4; str += 4; - continue; - } - } - if (errorMode != ErrorMode.WTF8) { // unlikely - if (errorMode == ErrorMode.ERROR) throw new Error(E_UNPAIRED_SURROGATE); - c1 = 0xFFFD; - } - } - let b0 = c1 >> 12 | 224; - let b1 = c1 >> 6 & 63 | 128; - let b2 = c1 & 63 | 128; - store(bufOff, b1 << 8 | b0); - store(bufOff, b2, 2); - bufOff += 3; - } - str += 2; - } - if (nullTerminated) { - store(bufOff++, 0); - } - return bufOff - buf; - } - - export function decode(buf: ArrayBuffer, nullTerminated: bool = false): String { - return decodeUnsafe(changetype(buf), buf.byteLength, nullTerminated); - } - - // @ts-ignore: decorator - @unsafe - export function decodeUnsafe(buf: usize, len: usize, nullTerminated: bool = false): String { - let bufOff = buf; - let bufEnd = buf + len; - assert(bufEnd >= bufOff); // guard wraparound - let str = changetype(__new(len << 1, idof())); // max is one u16 char per u8 byte - let strOff = changetype(str); - while (bufOff < bufEnd) { - let u0 = load(bufOff); ++bufOff; - if (!(u0 & 128)) { - // @ts-ignore: cast - if (nullTerminated & !u0) break; - store(strOff, u0); - } else { - if (bufEnd == bufOff) break; - let u1 = load(bufOff) & 63; ++bufOff; - if ((u0 & 224) == 192) { - store(strOff, (u0 & 31) << 6 | u1); - } else { - if (bufEnd == bufOff) break; - let u2 = load(bufOff) & 63; ++bufOff; - if ((u0 & 240) == 224) { - u0 = (u0 & 15) << 12 | u1 << 6 | u2; - } else { - if (bufEnd == bufOff) break; - u0 = (u0 & 7) << 18 | u1 << 12 | u2 << 6 | load(bufOff) & 63; - ++bufOff; - } - if (u0 < 0x10000) { - store(strOff, u0); - } else { - u0 -= 0x10000; - let lo = u0 >> 10 | 0xD800; - let hi = (u0 & 0x03FF) | 0xDC00; - store(strOff, lo | (hi << 16)); - strOff += 2; - } - } - } - strOff += 2; - } - return changetype(__renew(changetype(str), strOff - changetype(str))); - } - } - - export namespace UTF16 { - - export function byteLength(str: string): i32 { - return changetype(changetype(str) - TOTAL_OVERHEAD).rtSize; - } - - export function encode(str: string): ArrayBuffer { - let buf = changetype(__new(byteLength(str), idof())); - encodeUnsafe(changetype(str), str.length, changetype(buf)); - return buf; - } - - // @ts-ignore: decorator - @unsafe - export function encodeUnsafe(str: usize, len: i32, buf: usize): usize { - let size = len << 1; - memory.copy(buf, changetype(str), size); - return size; - } - - export function decode(buf: ArrayBuffer): String { - return decodeUnsafe(changetype(buf), buf.byteLength); - } - - // @ts-ignore: decorator - @unsafe - export function decodeUnsafe(buf: usize, len: usize): String { - let str = changetype(__new(len &= ~1, idof())); - memory.copy(changetype(str), buf, len); - return str; - } - } -} - -export class TemplateStringsArray extends Array { - readonly raw: string[]; -} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/symbol.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/symbol.ts deleted file mode 100644 index e1e47262..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/std/assembly/symbol.ts +++ /dev/null @@ -1,114 +0,0 @@ -import { Map } from "./map"; - -// @ts-ignore: decorator -@lazy let stringToId: Map = new Map(); - -// @ts-ignore: decorator -@lazy let idToString: Map = new Map(); - -// @ts-ignore: decorator -@lazy let nextId: usize = 12; // Symbol.unscopables + 1 - -@unmanaged @final abstract class _Symbol { - - // TODO: all of the following default symbols are unused currently yet add to - // binary size if #toString becomes compiled. Ultimately we'll most likely want - // to remove the unsupported ones and only keep what's actually supported. - - // @ts-ignore: decorator - @lazy - static readonly hasInstance: symbol = changetype(1); - - // @ts-ignore: decorator - @lazy - static readonly isConcatSpreadable: symbol = changetype(2); - - // @ts-ignore: decorator - @lazy - static readonly isRegExp: symbol = changetype(3); - - // @ts-ignore: decorator - @lazy - static readonly iterator: symbol = changetype(3); - - // @ts-ignore: decorator - @lazy - static readonly match: symbol = changetype(4); - - // @ts-ignore: decorator - @lazy - static readonly replace: symbol = changetype(5); - - // @ts-ignore: decorator - @lazy - static readonly search: symbol = changetype(6); - - // @ts-ignore: decorator - @lazy - static readonly species: symbol = changetype(7); - - // @ts-ignore: decorator - @lazy - static readonly split: symbol = changetype(8); - - // @ts-ignore: decorator - @lazy - static readonly toPrimitive: symbol = changetype(9); - - // @ts-ignore: decorator - @lazy - static readonly toStringTag: symbol = changetype(10); - - // @ts-ignore: decorator - @lazy - static readonly unscopables: symbol = changetype(11); - - static for(key: string): symbol { - if (stringToId.has(key)) return changetype(stringToId.get(key)); - let id = nextId++; - if (!id) unreachable(); // out of ids - stringToId.set(key, id); - idToString.set(id, key); - return changetype(id); - } - - static keyFor(sym: symbol): string | null { - return idToString.has(changetype(sym)) - ? idToString.get(changetype(sym)) - : null; - } - - toString(): string { - let id = changetype(this); - let str = ""; - switch (id) { - case 1: { str = "hasInstance"; break; } - case 2: { str = "isConcatSpreadable"; break; } - case 3: { str = "isRegExp"; break; } - case 4: { str = "match"; break; } - case 5: { str = "replace"; break; } - case 6: { str = "search"; break; } - case 7: { str = "species"; break; } - case 8: { str = "split"; break; } - case 9: { str = "toPrimitive"; break; } - case 10: { str = "toStringTag"; break; } - case 11: { str = "unscopables"; break; } - default: { - if (idToString != null && idToString.has(id)) str = idToString.get(id); - break; - } - } - return "Symbol(" + str + ")"; - } -} - -export function Symbol(description: string | null = null): symbol { - let id = nextId++; - if (!id) unreachable(); // out of ids - return changetype(id); -} - -export type Symbol = _Symbol; - -// @ts-ignore: nolib -export type symbol = _Symbol; diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/table.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/table.ts deleted file mode 100644 index 5598bc88..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/std/assembly/table.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { E_NOTIMPLEMENTED } from "./util/error"; - -export namespace table { - - export function copy(dst: u32, src: u32, n: u32): void { - throw new Error(E_NOTIMPLEMENTED); - } - - export function init(elementIndex: u32, srcOffset: u32, dstOffset: u32, n: u32): void { - throw new Error(E_NOTIMPLEMENTED); - } - - export function drop(elementIndex: u32): void { - throw new Error(E_NOTIMPLEMENTED); - } -} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/tsconfig.json b/platforms/Arduino/node_modules/assemblyscript/std/assembly/tsconfig.json deleted file mode 100644 index e48ae586..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/std/assembly/tsconfig.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "extends": "../assembly.json", - "include": [ - "./**/*.ts" - ] -} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/typedarray.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/typedarray.ts deleted file mode 100644 index 3eb39455..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/std/assembly/typedarray.ts +++ /dev/null @@ -1,1945 +0,0 @@ -import { COMPARATOR, SORT } from "./util/sort"; -import { E_INDEXOUTOFRANGE, E_INVALIDLENGTH, E_NOTIMPLEMENTED } from "./util/error"; -import { joinIntegerArray, joinFloatArray } from "./util/string"; -import { REVERSE, FILL } from "./util/bytes"; -import { idof } from "./builtins"; -import { ArrayBufferView } from "./arraybuffer"; - -export class Int8Array extends ArrayBufferView { - [key: number]: i8; - - // @ts-ignore: decorator - @lazy - static readonly BYTES_PER_ELEMENT: i32 = sizeof(); - - constructor(length: i32) { - super(length, alignof()); - } - - get length(): i32 { - return this.byteLength; - } - - @operator("[]") - private __get(index: i32): i8 { - if (index >= this.byteLength) throw new RangeError(E_INDEXOUTOFRANGE); - return load(this.dataStart + index); - } - - @unsafe @operator("{}") - private __uget(index: i32): i8 { - return load(this.dataStart + index); - } - - @operator("[]=") - private __set(index: i32, value: native): void { - if (index >= this.byteLength) throw new RangeError(E_INDEXOUTOFRANGE); - store(this.dataStart + index, value); - } - - @unsafe @operator("{}=") - private __uset(index: i32, value: native): void { - store(this.dataStart + index, value); - } - - at(index: i32): i8 { - let len = this.byteLength; - index += select(0, len, index >= 0); - if (index >= len) throw new RangeError(E_INDEXOUTOFRANGE); - return load(this.dataStart + index); - } - - includes(searchElement: i8, fromIndex: i32 = 0): bool { - return INCLUDES(this, searchElement, fromIndex); - } - - indexOf(searchElement: i8, fromIndex: i32 = 0): i32 { - return INDEX_OF(this, searchElement, fromIndex); - } - - lastIndexOf(searchElement: i8, fromIndex: i32 = this.length): i32 { - return LAST_INDEX_OF(this, searchElement, fromIndex); - } - - fill(value: i32, start: i32 = 0, end: i32 = i32.MAX_VALUE): Int8Array { - FILL(this.dataStart, this.length, u8(value), start, end); - return this; - } - - sort(comparator: (a: i8, b: i8) => i32 = COMPARATOR()): Int8Array { - SORT(this.dataStart, this.length, comparator); - return this; - } - - slice(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Int8Array { - return SLICE(this, begin, end); - } - - subarray(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Int8Array { - return SUBARRAY(this, begin, end); - } - - copyWithin(target: i32, start: i32, end: i32 = i32.MAX_VALUE): Int8Array { - return COPY_WITHIN(this, target, start, end); - } - - reduce( - fn: (accumulator: T, value: i8, index: i32, array: Int8Array) => T, - initialValue: T, - ): T { - return REDUCE(this, fn, initialValue); - } - - reduceRight( - fn: (accumulator: T, value: i8, index: i32, array: Int8Array) => T, - initialValue: T, - ): T { - return REDUCE_RIGHT(this, fn, initialValue); - } - - map(fn: (value: i8, index: i32, self: Int8Array) => i8): Int8Array { - return MAP(this, fn); - } - - filter(fn: (value: i8, index: i32, self: Int8Array) => bool): Int8Array { - return FILTER(this, fn); - } - - findIndex(fn: (value: i8, index: i32, self: Int8Array) => bool): i32 { - return FIND_INDEX(this, fn); - } - - findLastIndex(fn: (value: i8, index: i32, self: Int8Array) => bool): i32 { - return FIND_LAST_INDEX(this, fn); - } - - some(fn: (value: i8, index: i32, self: Int8Array) => bool): bool { - return SOME(this, fn); - } - - every(fn: (value: i8, index: i32, self: Int8Array) => bool): bool { - return EVERY(this, fn); - } - - forEach(fn: (value: i8, index: i32, self: Int8Array) => void): void { - FOREACH(this, fn); - } - - reverse(): Int8Array { - REVERSE(this.dataStart, this.length); - return this; - } - - join(separator: string = ","): string { - return joinIntegerArray(this.dataStart, this.length, separator); - } - - toString(): string { - return this.join(); - } - - set>(source: U, offset: i32 = 0): void { - SET(this, source, offset); - } - - static wrap(buffer: ArrayBuffer, byteOffset: i32 = 0, length: i32 = -1): Int8Array { - return WRAP(buffer, byteOffset, length); - } -} - -export class Uint8Array extends ArrayBufferView { - [key: number]: u8; - - // @ts-ignore: decorator - @lazy - static readonly BYTES_PER_ELEMENT: i32 = sizeof(); - - constructor(length: i32) { - super(length, alignof()); - } - - get length(): i32 { - return this.byteLength; - } - - @operator("[]") - private __get(index: i32): u8 { - if (index >= this.byteLength) throw new RangeError(E_INDEXOUTOFRANGE); - return load(this.dataStart + index); - } - - @unsafe @operator("{}") - private __uget(index: i32): u8 { - return load(this.dataStart + index); - } - - @operator("[]=") - private __set(index: i32, value: native): void { - if (index >= this.byteLength) throw new RangeError(E_INDEXOUTOFRANGE); - store(this.dataStart + index, value); - } - - @unsafe @operator("{}=") - private __uset(index: i32, value: native): void { - store(this.dataStart + index, value); - } - - at(index: i32): u8 { - let len = this.byteLength; - index += select(0, len, index >= 0); - if (index >= len) throw new RangeError(E_INDEXOUTOFRANGE); - return load(this.dataStart + index); - } - - includes(searchElement: u8, fromIndex: i32 = 0): bool { - return INCLUDES(this, searchElement, fromIndex); - } - - indexOf(searchElement: u8, fromIndex: i32 = 0): i32 { - return INDEX_OF(this, searchElement, fromIndex); - } - - lastIndexOf(searchElement: u8, fromIndex: i32 = this.length): i32 { - return LAST_INDEX_OF(this, searchElement, fromIndex); - } - - fill(value: u32, start: i32 = 0, end: i32 = i32.MAX_VALUE): Uint8Array { - FILL(this.dataStart, this.length, u8(value), start, end); - return this; - } - - sort(comparator: (a: u8, b: u8) => i32 = COMPARATOR()): Uint8Array { - SORT(this.dataStart, this.length, comparator); - return this; - } - - slice(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Uint8Array { - return SLICE(this, begin, end); - } - - subarray(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Uint8Array { - return SUBARRAY(this, begin, end); - } - - copyWithin(target: i32, start: i32, end: i32 = i32.MAX_VALUE): Uint8Array { - return COPY_WITHIN(this, target, start, end); - } - - reduce( - fn: (accumulator: T, value: u8, index: i32, array: Uint8Array) => T, - initialValue: T, - ): T { - return REDUCE(this, fn, initialValue); - } - - reduceRight( - fn: (accumulator: T, value: u8, index: i32, array: Uint8Array) => T, - initialValue: T, - ): T { - return REDUCE_RIGHT(this, fn, initialValue); - } - - map(fn: (value: u8, index: i32, self: Uint8Array) => u8): Uint8Array { - return MAP(this, fn); - } - - filter(fn: (value: u8, index: i32, self: Uint8Array) => bool): Uint8Array { - return FILTER(this, fn); - } - - findIndex(fn: (value: u8, index: i32, self: Uint8Array) => bool): i32 { - return FIND_INDEX(this, fn); - } - - findLastIndex(fn: (value: u8, index: i32, self: Uint8Array) => bool): i32 { - return FIND_LAST_INDEX(this, fn); - } - - some(fn: (value: u8, index: i32, self: Uint8Array) => bool): bool { - return SOME(this, fn); - } - - every(fn: (value: u8, index: i32, self: Uint8Array) => bool): bool { - return EVERY(this, fn); - } - - forEach(fn: (value: u8, index: i32, self: Uint8Array) => void): void { - FOREACH(this, fn); - } - - reverse(): Uint8Array { - REVERSE(this.dataStart, this.length); - return this; - } - - join(separator: string = ","): string { - return joinIntegerArray(this.dataStart, this.length, separator); - } - - set>(source: U, offset: i32 = 0): void { - SET(this, source, offset); - } - - toString(): string { - return this.join(); - } - - static wrap(buffer: ArrayBuffer, byteOffset: i32 = 0, length: i32 = -1): Uint8Array { - return WRAP(buffer, byteOffset, length); - } -} - -export class Uint8ClampedArray extends ArrayBufferView { - [key: number]: u8; - - // @ts-ignore: decorator - @lazy - static readonly BYTES_PER_ELEMENT: i32 = sizeof(); - - constructor(length: i32) { - super(length, alignof()); - } - - get length(): i32 { - return this.byteLength; - } - - @operator("[]") - private __get(index: i32): u8 { - if (index >= this.byteLength) throw new RangeError(E_INDEXOUTOFRANGE); - return load(this.dataStart + index); - } - - @unsafe @operator("{}") - private __uget(index: i32): u8 { - return load(this.dataStart + index); - } - - @operator("[]=") - private __set(index: i32, value: native): void { - if (index >= this.byteLength) throw new RangeError(E_INDEXOUTOFRANGE); - store(this.dataStart + index, ~(value >> 31) & (((255 - value) >> 31) | value)); - } - - @unsafe @operator("{}=") - private __uset(index: i32, value: native): void { - store(this.dataStart + index, ~(value >> 31) & (((255 - value) >> 31) | value)); - } - - at(index: i32): u8 { - let len = this.byteLength; - index += select(0, len, index >= 0); - if (index >= len) throw new RangeError(E_INDEXOUTOFRANGE); - return load(this.dataStart + index); - } - - includes(searchElement: u8, fromIndex: i32 = 0): bool { - return INCLUDES(this, searchElement, fromIndex); - } - - indexOf(searchElement: u8, fromIndex: i32 = 0): i32 { - return INDEX_OF(this, searchElement, fromIndex); - } - - lastIndexOf(searchElement: u8, fromIndex: i32 = this.length): i32 { - return LAST_INDEX_OF(this, searchElement, fromIndex); - } - - fill(value: i32, start: i32 = 0, end: i32 = i32.MAX_VALUE): Uint8ClampedArray { - value = ~(value >> 31) & (((255 - value) >> 31) | value); - FILL(this.dataStart, this.length, u8(value), start, end); - return this; - } - - sort(comparator: (a: u8, b: u8) => i32 = COMPARATOR()): Uint8ClampedArray { - SORT(this.dataStart, this.length, comparator); - return this; - } - - slice(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Uint8ClampedArray { - return SLICE(this, begin, end); - } - - subarray(start: i32 = 0, end: i32 = i32.MAX_VALUE): Uint8ClampedArray { - return SUBARRAY(this, start, end); - } - - copyWithin(target: i32, start: i32, end: i32 = i32.MAX_VALUE): Uint8ClampedArray { - return COPY_WITHIN(this, target, start, end); - } - - reduce( - fn: (accumulator: T, value: u8, index: i32, array: Uint8ClampedArray) => T, - initialValue: T, - ): T { - return REDUCE(this, fn, initialValue); - } - - reduceRight( - fn: (accumulator: T, value: u8, index: i32, array: Uint8ClampedArray) => T, - initialValue: T, - ): T { - return REDUCE_RIGHT(this, fn, initialValue); - } - - map(fn: (value: u8, index: i32, self: Uint8ClampedArray) => u8): Uint8ClampedArray { - return MAP(this, fn); - } - - filter(fn: (value: u8, index: i32, self: Uint8ClampedArray) => bool): Uint8ClampedArray { - return FILTER(this, fn); - } - - findIndex(fn: (value: u8, index: i32, self: Uint8ClampedArray) => bool): i32 { - return FIND_INDEX(this, fn); - } - - findLastIndex(fn: (value: u8, index: i32, self: Uint8ClampedArray) => bool): i32 { - return FIND_LAST_INDEX(this, fn); - } - - some(fn: (value: u8, index: i32, self: Uint8ClampedArray) => bool): bool { - return SOME(this, fn); - } - - every(fn: (value: u8, index: i32, self: Uint8ClampedArray) => bool): bool { - return EVERY(this, fn); - } - - forEach(fn: (value: u8, index: i32, self: Uint8ClampedArray) => void): void { - FOREACH(this, fn); - } - - reverse(): Uint8ClampedArray { - REVERSE(this.dataStart, this.length); - return this; - } - - join(separator: string = ","): string { - return joinIntegerArray(this.dataStart, this.length, separator); - } - - set>(source: U, offset: i32 = 0): void { - SET(this, source, offset); - } - - toString(): string { - return this.join(); - } - - static wrap(buffer: ArrayBuffer, byteOffset: i32 = 0, length: i32 = -1): Uint8ClampedArray { - return WRAP(buffer, byteOffset, length); - } -} - -export class Int16Array extends ArrayBufferView { - [key: number]: i16; - - // @ts-ignore: decorator - @lazy - static readonly BYTES_PER_ELEMENT: i32 = sizeof(); - - constructor(length: i32) { - super(length, alignof()); - } - - get length(): i32 { - return this.byteLength >>> alignof(); - } - - @operator("[]") - private __get(index: i32): i16 { - if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE); - return load(this.dataStart + (index << alignof())); - } - - @unsafe @operator("{}") - private __uget(index: i32): i16 { - return load(this.dataStart + (index << alignof())); - } - - @operator("[]=") - private __set(index: i32, value: native): void { - if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE); - store(this.dataStart + (index << alignof()), value); - } - - @unsafe @operator("{}=") - private __uset(index: i32, value: native): void { - store(this.dataStart + (index << alignof()), value); - } - - at(index: i32): i16 { - let len = this.byteLength >>> alignof(); - index += select(0, len, index >= 0); - if (index >= len) throw new RangeError(E_INDEXOUTOFRANGE); - return load(this.dataStart + (index << alignof())); - } - - includes(searchElement: i16, fromIndex: i32 = 0): bool { - return INCLUDES(this, searchElement, fromIndex); - } - - indexOf(searchElement: i16, fromIndex: i32 = 0): i32 { - return INDEX_OF(this, searchElement, fromIndex); - } - - lastIndexOf(searchElement: i16, fromIndex: i32 = this.length): i32 { - return LAST_INDEX_OF(this, searchElement, fromIndex); - } - - fill(value: i32, start: i32 = 0, end: i32 = i32.MAX_VALUE): Int16Array { - FILL(this.dataStart, this.length, u16(value), start, end); - return this; - } - - sort(comparator: (a: i16, b: i16) => i32 = COMPARATOR()): Int16Array { - SORT(this.dataStart, this.length, comparator); - return this; - } - - slice(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Int16Array { - return SLICE(this, begin, end); - } - - subarray(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Int16Array { - return SUBARRAY(this, begin, end); - } - - copyWithin(target: i32, start: i32, end: i32 = i32.MAX_VALUE): Int16Array { - return COPY_WITHIN(this, target, start, end); - } - - reduce( - fn: (accumulator: T, value: i16, index: i32, array: Int16Array) => T, - initialValue: T, - ): T { - return REDUCE(this, fn, initialValue); - } - - reduceRight( - fn: (accumulator: T, value: i16, index: i32, array: Int16Array) => T, - initialValue: T, - ): T { - return REDUCE_RIGHT(this, fn, initialValue); - } - - map(fn: (value: i16, index: i32, self: Int16Array) => i16): Int16Array { - return MAP(this, fn); - } - - filter(fn: (value: i16, index: i32, self: Int16Array) => bool): Int16Array { - return FILTER(this, fn); - } - - findIndex(fn: (value: i16, index: i32, self: Int16Array) => bool): i32 { - return FIND_INDEX(this, fn); - } - - findLastIndex(fn: (value: i16, index: i32, self: Int16Array) => bool): i32 { - return FIND_LAST_INDEX(this, fn); - } - - some(fn: (value: i16, index: i32, self: Int16Array) => bool): bool { - return SOME(this, fn); - } - - every(fn: (value: i16, index: i32, self: Int16Array) => bool): bool { - return EVERY(this, fn); - } - - forEach(fn: (value: i16, index: i32, self: Int16Array) => void): void { - FOREACH(this, fn); - } - - reverse(): Int16Array { - REVERSE(this.dataStart, this.length); - return this; - } - - join(separator: string = ","): string { - return joinIntegerArray(this.dataStart, this.length, separator); - } - - set>(source: U, offset: i32 = 0): void { - SET(this, source, offset); - } - - toString(): string { - return this.join(); - } - - static wrap(buffer: ArrayBuffer, byteOffset: i32 = 0, length: i32 = -1): Int16Array { - return WRAP(buffer, byteOffset, length); - } -} - -export class Uint16Array extends ArrayBufferView { - [key: number]: u16; - - // @ts-ignore: decorator - @lazy - static readonly BYTES_PER_ELEMENT: i32 = sizeof(); - - constructor(length: i32) { - super(length, alignof()); - } - - get length(): i32 { - return this.byteLength >>> alignof(); - } - - @operator("[]") - private __get(index: i32): u16 { - if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE); - return load(this.dataStart + (index << alignof())); - } - - @unsafe @operator("{}") - private __uget(index: i32): u16 { - return load(this.dataStart + (index << alignof())); - } - - @operator("[]=") - private __set(index: i32, value: native): void { - if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE); - store(this.dataStart + (index << alignof()), value); - } - - @unsafe @operator("{}=") - private __uset(index: i32, value: native): void { - store(this.dataStart + (index << alignof()), value); - } - - at(index: i32): u16 { - let len = this.byteLength >>> alignof(); - index += select(0, len, index >= 0); - if (index >= len) throw new RangeError(E_INDEXOUTOFRANGE); - return load(this.dataStart + (index << alignof())); - } - - includes(searchElement: u16, fromIndex: i32 = 0): bool { - return INCLUDES(this, searchElement, fromIndex); - } - - indexOf(searchElement: u16, fromIndex: i32 = 0): i32 { - return INDEX_OF(this, searchElement, fromIndex); - } - - lastIndexOf(searchElement: u16, fromIndex: i32 = this.length): i32 { - return LAST_INDEX_OF(this, searchElement, fromIndex); - } - - fill(value: u32, start: i32 = 0, end: i32 = i32.MAX_VALUE): Uint16Array { - FILL(this.dataStart, this.length, u16(value), start, end); - return this; - } - - sort(comparator: (a: u16, b: u16) => i32 = COMPARATOR()): Uint16Array { - SORT(this.dataStart, this.length, comparator); - return this; - } - - slice(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Uint16Array { - return SLICE(this, begin, end); - } - - subarray(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Uint16Array { - return SUBARRAY(this, begin, end); - } - - copyWithin(target: i32, start: i32, end: i32 = i32.MAX_VALUE): Uint16Array { - return COPY_WITHIN(this, target, start, end); - } - - reduce( - fn: (accumulator: T, value: u16, index: i32, array: Uint16Array) => T, - initialValue: T, - ): T { - return REDUCE(this, fn, initialValue); - } - - reduceRight( - fn: (accumulator: T, value: u16, index: i32, array: Uint16Array) => T, - initialValue: T, - ): T { - return REDUCE_RIGHT(this, fn, initialValue); - } - - map(fn: (value: u16, index: i32, self: Uint16Array) => u16): Uint16Array { - return MAP(this, fn); - } - - filter(fn: (value: u16, index: i32, self: Uint16Array) => bool): Uint16Array { - return FILTER(this, fn); - } - - findIndex(fn: (value: u16, index: i32, self: Uint16Array) => bool): i32 { - return FIND_INDEX(this, fn); - } - - findLastIndex(fn: (value: u16, index: i32, self: Uint16Array) => bool): i32 { - return FIND_LAST_INDEX(this, fn); - } - - some(fn: (value: u16, index: i32, self: Uint16Array) => bool): bool { - return SOME(this, fn); - } - - every(fn: (value: u16, index: i32, self: Uint16Array) => bool): bool { - return EVERY(this, fn); - } - - forEach(fn: (value: u16, index: i32, self: Uint16Array) => void): void { - FOREACH(this, fn); - } - - reverse(): Uint16Array { - REVERSE(this.dataStart, this.length); - return this; - } - - join(separator: string = ","): string { - return joinIntegerArray(this.dataStart, this.length, separator); - } - - set>(source: U, offset: i32 = 0): void { - SET(this, source, offset); - } - - toString(): string { - return this.join(); - } - - static wrap(buffer: ArrayBuffer, byteOffset: i32 = 0, length: i32 = -1): Uint16Array { - return WRAP(buffer, byteOffset, length); - } -} - -export class Int32Array extends ArrayBufferView { - [key: number]: i32; - - // @ts-ignore: decorator - @lazy - static readonly BYTES_PER_ELEMENT: i32 = sizeof(); - - constructor(length: i32) { - super(length, alignof()); - } - - get length(): i32 { - return this.byteLength >>> alignof(); - } - - @operator("[]") - private __get(index: i32): i32 { - if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE); - return load(this.dataStart + (index << alignof())); - } - - @unsafe @operator("{}") - private __uget(index: i32): i32 { - return load(this.dataStart + (index << alignof())); - } - - @operator("[]=") - private __set(index: i32, value: i32): void { - if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE); - store(this.dataStart + (index << alignof()), value); - } - - @unsafe @operator("{}=") - private __uset(index: i32, value: i32): void { - store(this.dataStart + (index << alignof()), value); - } - - at(index: i32): i32 { - let len = this.byteLength >>> alignof(); - index += select(0, len, index >= 0); - if (index >= len) throw new RangeError(E_INDEXOUTOFRANGE); - return load(this.dataStart + (index << alignof())); - } - - includes(searchElement: i32, fromIndex: i32 = 0): bool { - return INCLUDES(this, searchElement, fromIndex); - } - - indexOf(searchElement: i32, fromIndex: i32 = 0): i32 { - return INDEX_OF(this, searchElement, fromIndex); - } - - lastIndexOf(searchElement: i32, fromIndex: i32 = this.length): i32 { - return LAST_INDEX_OF(this, searchElement, fromIndex); - } - - fill(value: i32, start: i32 = 0, end: i32 = i32.MAX_VALUE): Int32Array { - FILL(this.dataStart, this.length, u32(value), start, end); - return this; - } - - sort(comparator: (a: i32, b: i32) => i32 = COMPARATOR()): Int32Array { - SORT(this.dataStart, this.length, comparator); - return this; - } - - slice(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Int32Array { - return SLICE(this, begin, end); - } - - subarray(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Int32Array { - return SUBARRAY(this, begin, end); - } - - copyWithin(target: i32, start: i32, end: i32 = i32.MAX_VALUE): Int32Array { - return COPY_WITHIN(this, target, start, end); - } - - reduce( - fn: (accumulator: T, value: i32, index: i32, array: Int32Array) => T, - initialValue: T, - ): T { - return REDUCE(this, fn, initialValue); - } - - reduceRight( - fn: (accumulator: T, value: i32, index: i32, array: Int32Array) => T, - initialValue: T, - ): T { - return REDUCE_RIGHT(this, fn, initialValue); - } - - map(fn: (value: i32, index: i32, self: Int32Array) => i32): Int32Array { - return MAP(this, fn); - } - - filter(fn: (value: i32, index: i32, self: Int32Array) => bool): Int32Array { - return FILTER(this, fn); - } - - findIndex(fn: (value: i32, index: i32, self: Int32Array) => bool): i32 { - return FIND_INDEX(this, fn); - } - - findLastIndex(fn: (value: i32, index: i32, self: Int32Array) => bool): i32 { - return FIND_LAST_INDEX(this, fn); - } - - some(fn: (value: i32, index: i32, self: Int32Array) => bool): bool { - return SOME(this, fn); - } - - every(fn: (value: i32, index: i32, self: Int32Array) => bool): bool { - return EVERY(this, fn); - } - - forEach(fn: (value: i32, index: i32, self: Int32Array) => void): void { - FOREACH(this, fn); - } - - reverse(): Int32Array { - REVERSE(this.dataStart, this.length); - return this; - } - - join(separator: string = ","): string { - return joinIntegerArray(this.dataStart, this.length, separator); - } - - set>(source: U, offset: i32 = 0): void { - SET(this, source, offset); - } - - toString(): string { - return this.join(); - } - - static wrap(buffer: ArrayBuffer, byteOffset: i32 = 0, length: i32 = -1): Int32Array { - return WRAP(buffer, byteOffset, length); - } -} - -export class Uint32Array extends ArrayBufferView { - [key: number]: u32; - - // @ts-ignore: decorator - @lazy - static readonly BYTES_PER_ELEMENT: i32 = sizeof(); - - constructor(length: i32) { - super(length, alignof()); - } - - get length(): i32 { - return this.byteLength >>> alignof(); - } - - @operator("[]") - private __get(index: i32): u32 { - if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE); - return load(this.dataStart + (index << alignof())); - } - - @unsafe @operator("{}") - private __uget(index: i32): u32 { - return load(this.dataStart + (index << alignof())); - } - - @operator("[]=") - private __set(index: i32, value: u32): void { - if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE); - store(this.dataStart + (index << alignof()), value); - } - - @unsafe @operator("{}=") - private __uset(index: i32, value: u32): void { - store(this.dataStart + (index << alignof()), value); - } - - at(index: i32): u32 { - let len = this.byteLength >>> alignof(); - index += select(0, len, index >= 0); - if (index >= len) throw new RangeError(E_INDEXOUTOFRANGE); - return load(this.dataStart + (index << alignof())); - } - - includes(searchElement: u32, fromIndex: i32 = 0): bool { - return INCLUDES(this, searchElement, fromIndex); - } - - indexOf(searchElement: u32, fromIndex: i32 = 0): i32 { - return INDEX_OF(this, searchElement, fromIndex); - } - - lastIndexOf(searchElement: u32, fromIndex: i32 = this.length): i32 { - return LAST_INDEX_OF(this, searchElement, fromIndex); - } - - fill(value: u32, start: i32 = 0, end: i32 = i32.MAX_VALUE): Uint32Array { - FILL(this.dataStart, this.length, value, start, end); - return this; - } - - sort(comparator: (a: u32, b: u32) => i32 = COMPARATOR()): Uint32Array { - SORT(this.dataStart, this.length, comparator); - return this; - } - - slice(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Uint32Array { - return SLICE(this, begin, end); - } - - subarray(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Uint32Array { - return SUBARRAY(this, begin, end); - } - - copyWithin(target: i32, start: i32, end: i32 = i32.MAX_VALUE): Uint32Array { - return COPY_WITHIN(this, target, start, end); - } - - reduce( - fn: (accumulator: T, value: u32, index: i32, array: Uint32Array) => T, - initialValue: T, - ): T { - return REDUCE(this, fn, initialValue); - } - - reduceRight( - fn: (accumulator: T, value: u32, index: i32, array: Uint32Array) => T, - initialValue: T, - ): T { - return REDUCE_RIGHT(this, fn, initialValue); - } - - map(fn: (value: u32, index: i32, self: Uint32Array) => u32): Uint32Array { - return MAP(this, fn); - } - - filter(fn: (value: u32, index: i32, self: Uint32Array) => bool): Uint32Array { - return FILTER(this, fn); - } - - findIndex(fn: (value: u32, index: i32, self: Uint32Array) => bool): i32 { - return FIND_INDEX(this, fn); - } - - findLastIndex(fn: (value: u32, index: i32, self: Uint32Array) => bool): i32 { - return FIND_LAST_INDEX(this, fn); - } - - some(fn: (value: u32, index: i32, self: Uint32Array) => bool): bool { - return SOME(this, fn); - } - - every(fn: (value: u32, index: i32, self: Uint32Array) => bool): bool { - return EVERY(this, fn); - } - - forEach(fn: (value: u32, index: i32, self: Uint32Array) => void): void { - FOREACH(this, fn); - } - - reverse(): Uint32Array { - REVERSE(this.dataStart, this.length); - return this; - } - - join(separator: string = ","): string { - return joinIntegerArray(this.dataStart, this.length, separator); - } - - set>(source: U, offset: i32 = 0): void { - SET(this, source, offset); - } - - toString(): string { - return this.join(); - } - - static wrap(buffer: ArrayBuffer, byteOffset: i32 = 0, length: i32 = -1): Uint32Array { - return WRAP(buffer, byteOffset, length); - } -} - -export class Int64Array extends ArrayBufferView { - [key: number]: i64; - - // @ts-ignore: decorator - @lazy - static readonly BYTES_PER_ELEMENT: i32 = sizeof(); - - constructor(length: i32) { - super(length, alignof()); - } - - get length(): i32 { - return this.byteLength >>> alignof(); - } - - @operator("[]") - private __get(index: i32): i64 { - if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE); - return load(this.dataStart + (index << alignof())); - } - - @unsafe @operator("{}") - private __uget(index: i32): i64 { - return load(this.dataStart + (index << alignof())); - } - - @operator("[]=") - private __set(index: i32, value: i64): void { - if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE); - store(this.dataStart + (index << alignof()), value); - } - - @unsafe @operator("{}=") - private __uset(index: i32, value: i64): void { - store(this.dataStart + (index << alignof()), value); - } - - at(index: i32): i64 { - let len = this.byteLength >>> alignof(); - index += select(0, len, index >= 0); - if (index >= len) throw new RangeError(E_INDEXOUTOFRANGE); - return load(this.dataStart + (index << alignof())); - } - - includes(searchElement: i64, fromIndex: i32 = 0): bool { - return INCLUDES(this, searchElement, fromIndex); - } - - indexOf(searchElement: i64, fromIndex: i32 = 0): i32 { - return INDEX_OF(this, searchElement, fromIndex); - } - - lastIndexOf(searchElement: i64, fromIndex: i32 = this.length): i32 { - return LAST_INDEX_OF(this, searchElement, fromIndex); - } - - fill(value: i64, start: i32 = 0, end: i32 = i32.MAX_VALUE): Int64Array { - FILL(this.dataStart, this.length, u64(value), start, end); - return this; - } - - sort(comparator: (a: i64, b: i64) => i32 = COMPARATOR()): Int64Array { - SORT(this.dataStart, this.length, comparator); - return this; - } - - slice(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Int64Array { - return SLICE(this, begin, end); - } - - subarray(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Int64Array { - return SUBARRAY(this, begin, end); - } - - copyWithin(target: i32, start: i32, end: i32 = i32.MAX_VALUE): Int64Array { - return COPY_WITHIN(this, target, start, end); - } - - reduce( - fn: (accumulator: T, value: i64, index: i32, array: Int64Array) => T, - initialValue: T, - ): T { - return REDUCE(this, fn, initialValue); - } - - reduceRight( - fn: (accumulator: T, value: i64, index: i32, array: Int64Array) => T, - initialValue: T, - ): T { - return REDUCE_RIGHT(this, fn, initialValue); - } - - map(fn: (value: i64, index: i32, self: Int64Array) => i64): Int64Array { - return MAP(this, fn); - } - - filter(fn: (value: i64, index: i32, self: Int64Array) => bool): Int64Array { - return FILTER(this, fn); - } - - findIndex(fn: (value: i64, index: i32, self: Int64Array) => bool): i32 { - return FIND_INDEX(this, fn); - } - - findLastIndex(fn: (value: i64, index: i32, self: Int64Array) => bool): i32 { - return FIND_LAST_INDEX(this, fn); - } - - some(fn: (value: i64, index: i32, self: Int64Array) => bool): bool { - return SOME(this, fn); - } - - every(fn: (value: i64, index: i32, self: Int64Array) => bool): bool { - return EVERY(this, fn); - } - - forEach(fn: (value: i64, index: i32, self: Int64Array) => void): void { - FOREACH(this, fn); - } - - reverse(): Int64Array { - REVERSE(this.dataStart, this.length); - return this; - } - - join(separator: string = ","): string { - return joinIntegerArray(this.dataStart, this.length, separator); - } - - set>(source: U, offset: i32 = 0): void { - SET(this, source, offset); - } - - toString(): string { - return this.join(); - } - - static wrap(buffer: ArrayBuffer, byteOffset: i32 = 0, length: i32 = -1): Int64Array { - return WRAP(buffer, byteOffset, length); - } -} - -export class Uint64Array extends ArrayBufferView { - [key: number]: u64; - - // @ts-ignore: decorator - @lazy - static readonly BYTES_PER_ELEMENT: i32 = sizeof(); - - constructor(length: i32) { - super(length, alignof()); - } - - get length(): i32 { - return this.byteLength >>> alignof(); - } - - @operator("[]") - private __get(index: i32): u64 { - if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE); - return load(this.dataStart + (index << alignof())); - } - - @unsafe @operator("{}") - private __uget(index: i32): u64 { - return load(this.dataStart + (index << alignof())); - } - - @operator("[]=") - private __set(index: i32, value: u64): void { - if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE); - store(this.dataStart + (index << alignof()), value); - } - - @unsafe @operator("{}=") - private __uset(index: i32, value: u64): void { - store(this.dataStart + (index << alignof()), value); - } - - at(index: i32): u64 { - let len = this.byteLength >>> alignof(); - index += select(0, len, index >= 0); - if (index >= len) throw new RangeError(E_INDEXOUTOFRANGE); - return load(this.dataStart + (index << alignof())); - } - - includes(searchElement: u64, fromIndex: i32 = 0): bool { - return INCLUDES(this, searchElement, fromIndex); - } - - indexOf(searchElement: u64, fromIndex: i32 = 0): i32 { - return INDEX_OF(this, searchElement, fromIndex); - } - - lastIndexOf(searchElement: u64, fromIndex: i32 = this.length): i32 { - return LAST_INDEX_OF(this, searchElement, fromIndex); - } - - fill(value: u64, start: i32 = 0, end: i32 = i32.MAX_VALUE): Uint64Array { - FILL(this.dataStart, this.length, value, start, end); - return this; - } - - sort(comparator: (a: u64, b: u64) => i32 = COMPARATOR()): Uint64Array { - SORT(this.dataStart, this.length, comparator); - return this; - } - - slice(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Uint64Array { - return SLICE(this, begin, end); - } - - subarray(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Uint64Array { - return SUBARRAY(this, begin, end); - } - - copyWithin(target: i32, start: i32, end: i32 = i32.MAX_VALUE): Uint64Array { - return COPY_WITHIN(this, target, start, end); - } - - reduce( - fn: (accumulator: T, value: u64, index: i32, array: Uint64Array) => T, - initialValue: T, - ): T { - return REDUCE(this, fn, initialValue); - } - - reduceRight( - fn: (accumulator: T, value: u64, index: i32, array: Uint64Array) => T, - initialValue: T, - ): T { - return REDUCE_RIGHT(this, fn, initialValue); - } - - map(fn: (value: u64, index: i32, self: Uint64Array) => u64): Uint64Array { - return MAP(this, fn); - } - - filter(fn: (value: u64, index: i32, self: Uint64Array) => bool): Uint64Array { - return FILTER(this, fn); - } - - findIndex(fn: (value: u64, index: i32, self: Uint64Array) => bool): i32 { - return FIND_INDEX(this, fn); - } - - findLastIndex(fn: (value: u64, index: i32, self: Uint64Array) => bool): i32 { - return FIND_LAST_INDEX(this, fn); - } - - some(fn: (value: u64, index: i32, self: Uint64Array) => bool): bool { - return SOME(this, fn); - } - - every(fn: (value: u64, index: i32, self: Uint64Array) => bool): bool { - return EVERY(this, fn); - } - - forEach(fn: (value: u64, index: i32, self: Uint64Array) => void): void { - FOREACH(this, fn); - } - - reverse(): Uint64Array { - REVERSE(this.dataStart, this.length); - return this; - } - - join(separator: string = ","): string { - return joinIntegerArray(this.dataStart, this.length, separator); - } - - set>(source: U, offset: i32 = 0): void { - SET(this, source, offset); - } - - toString(): string { - return this.join(); - } - - static wrap(buffer: ArrayBuffer, byteOffset: i32 = 0, length: i32 = -1): Uint64Array { - return WRAP(buffer, byteOffset, length); - } -} - -export class Float32Array extends ArrayBufferView { - [key: number]: f32; - - // @ts-ignore: decorator - @lazy - static readonly BYTES_PER_ELEMENT: i32 = sizeof(); - - constructor(length: i32) { - super(length, alignof()); - } - - get length(): i32 { - return this.byteLength >>> alignof(); - } - - @operator("[]") - private __get(index: i32): f32 { - if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE); - return load(this.dataStart + (index << alignof())); - } - - @unsafe @operator("{}") - private __uget(index: i32): f32 { - return load(this.dataStart + (index << alignof())); - } - - @operator("[]=") - private __set(index: i32, value: f32): void { - if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE); - store(this.dataStart + (index << alignof()), value); - } - - @unsafe @operator("{}=") - private __uset(index: i32, value: f32): void { - store(this.dataStart + (index << alignof()), value); - } - - at(index: i32): f32 { - let len = this.byteLength >>> alignof(); - index += select(0, len, index >= 0); - if (index >= len) throw new RangeError(E_INDEXOUTOFRANGE); - return load(this.dataStart + (index << alignof())); - } - - includes(searchElement: f32, fromIndex: i32 = 0): bool { - return INCLUDES(this, searchElement, fromIndex); - } - - indexOf(searchElement: f32, fromIndex: i32 = 0): i32 { - return INDEX_OF(this, searchElement, fromIndex); - } - - lastIndexOf(searchElement: f32, fromIndex: i32 = this.length): i32 { - return LAST_INDEX_OF(this, searchElement, fromIndex); - } - - fill(value: f32, start: i32 = 0, end: i32 = i32.MAX_VALUE): Float32Array { - FILL(this.dataStart, this.length, value, start, end); - return this; - } - - sort(comparator: (a: f32, b: f32) => i32 = COMPARATOR()): Float32Array { - SORT(this.dataStart, this.length, comparator); - return this; - } - - slice(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Float32Array { - return SLICE(this, begin, end); - } - - subarray(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Float32Array { - return SUBARRAY(this, begin, end); - } - - copyWithin(target: i32, start: i32, end: i32 = i32.MAX_VALUE): Float32Array { - return COPY_WITHIN(this, target, start, end); - } - - reduce( - fn: (accumulator: T, value: f32, index: i32, array: Float32Array) => T, - initialValue: T, - ): T { - return REDUCE(this, fn, initialValue); - } - - reduceRight( - fn: (accumulator: T, value: f32, index: i32, array: Float32Array) => T, - initialValue: T, - ): T { - return REDUCE_RIGHT(this, fn, initialValue); - } - - map(fn: (value: f32, index: i32, self: Float32Array) => f32): Float32Array { - return MAP(this, fn); - } - - filter(fn: (value: f32, index: i32, self: Float32Array) => bool): Float32Array { - return FILTER(this, fn); - } - - findIndex(fn: (value: f32, index: i32, self: Float32Array) => bool): i32 { - return FIND_INDEX(this, fn); - } - - findLastIndex(fn: (value: f32, index: i32, self: Float32Array) => bool): i32 { - return FIND_LAST_INDEX(this, fn); - } - - some(fn: (value: f32, index: i32, self: Float32Array) => bool): bool { - return SOME(this, fn); - } - - every(fn: (value: f32, index: i32, self: Float32Array) => bool): bool { - return EVERY(this, fn); - } - - forEach(fn: (value: f32, index: i32, self: Float32Array) => void): void { - FOREACH(this, fn); - } - - reverse(): Float32Array { - REVERSE(this.dataStart, this.length); - return this; - } - - join(separator: string = ","): string { - return joinFloatArray(this.dataStart, this.length, separator); - } - - set>(source: U, offset: i32 = 0): void { - SET(this, source, offset); - } - - toString(): string { - return this.join(); - } - - static wrap(buffer: ArrayBuffer, byteOffset: i32 = 0, length: i32 = -1): Float32Array { - return WRAP(buffer, byteOffset, length); - } -} - -export class Float64Array extends ArrayBufferView { - [key: number]: f64; - - // @ts-ignore: decorator - @lazy - static readonly BYTES_PER_ELEMENT: i32 = sizeof(); - - constructor(length: i32) { - super(length, alignof()); - } - - get length(): i32 { - return this.byteLength >>> alignof(); - } - - @operator("[]") - private __get(index: i32): f64 { - if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE); - return load(this.dataStart + (index << alignof())); - } - - @unsafe @operator("{}") - private __uget(index: i32): f64 { - return load(this.dataStart + (index << alignof())); - } - - @operator("[]=") - private __set(index: i32, value: f64): void { - if (index >= this.byteLength >>> alignof()) throw new RangeError(E_INDEXOUTOFRANGE); - store(this.dataStart + (index << alignof()), value); - } - - @unsafe @operator("{}=") - private __uset(index: i32, value: f64): void { - store(this.dataStart + (index << alignof()), value); - } - - at(index: i32): f64 { - let len = this.byteLength >>> alignof(); - index += select(0, len, index >= 0); - if (index >= len) throw new RangeError(E_INDEXOUTOFRANGE); - return load(this.dataStart + (index << alignof())); - } - - includes(searchElement: f64, fromIndex: i32 = 0): bool { - return INCLUDES(this, searchElement, fromIndex); - } - - indexOf(searchElement: f64, fromIndex: i32 = 0): i32 { - return INDEX_OF(this, searchElement, fromIndex); - } - - lastIndexOf(searchElement: f64, fromIndex: i32 = this.length): i32 { - return LAST_INDEX_OF(this, searchElement, fromIndex); - } - - fill(value: f64, start: i32 = 0, end: i32 = i32.MAX_VALUE): Float64Array { - FILL(this.dataStart, this.length, value, start, end); - return this; - } - - sort(comparator: (a: f64, b: f64) => i32 = COMPARATOR()): Float64Array { - SORT(this.dataStart, this.length, comparator); - return this; - } - - slice(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Float64Array { - return SLICE(this, begin, end); - } - - subarray(begin: i32 = 0, end: i32 = i32.MAX_VALUE): Float64Array { - return SUBARRAY(this, begin, end); - } - - copyWithin(target: i32, start: i32, end: i32 = i32.MAX_VALUE): Float64Array { - return COPY_WITHIN(this, target, start, end); - } - - reduce( - fn: (accumulator: T, value: f64, index: i32, array: Float64Array) => T, - initialValue: T, - ): T { - return REDUCE(this, fn, initialValue); - } - - reduceRight( - fn: (accumulator: T, value: f64, index: i32, array: Float64Array) => T, - initialValue: T, - ): T { - return REDUCE_RIGHT(this, fn, initialValue); - } - - map(fn: (value: f64, index: i32, self: Float64Array) => f64): Float64Array { - return MAP(this, fn); - } - - filter(fn: (value: f64, index: i32, self: Float64Array) => bool): Float64Array { - return FILTER(this, fn); - } - - findIndex(fn: (value: f64, index: i32, self: Float64Array) => bool): i32 { - return FIND_INDEX(this, fn); - } - - findLastIndex(fn: (value: f64, index: i32, self: Float64Array) => bool): i32 { - return FIND_LAST_INDEX(this, fn); - } - - some(fn: (value: f64, index: i32, self: Float64Array) => bool): bool { - return SOME(this, fn); - } - - every(fn: (value: f64, index: i32, self: Float64Array) => bool): bool { - return EVERY(this, fn); - } - - forEach(fn: (value: f64, index: i32, self: Float64Array) => void): void { - FOREACH(this, fn); - } - - reverse(): Float64Array { - REVERSE(this.dataStart, this.length); - return this; - } - - join(separator: string = ","): string { - return joinFloatArray(this.dataStart, this.length, separator); - } - - set>(source: U, offset: i32 = 0): void { - SET(this, source, offset); - } - - toString(): string { - return this.join(); - } - - static wrap(buffer: ArrayBuffer, byteOffset: i32 = 0, length: i32 = -1): Float64Array { - return WRAP(buffer, byteOffset, length); - } -} - -// @ts-ignore: decorator -@inline -function SLICE( - array: TArray, - start: i32, - end: i32 -): TArray { - let len = array.length; - start = start < 0 ? max(start + len, 0) : min(start, len); - end = end < 0 ? max(end + len, 0) : min(end , len); - len = max(end - start, 0); - let slice = instantiate(len); - memory.copy( - slice.dataStart, - array.dataStart + (start << alignof()), - len << alignof() - ); - return slice; -} - -// @ts-ignore: decorator -@inline -function SUBARRAY( - array: TArray, - begin: i32, - end: i32 -): TArray { - let len = array.length; - begin = begin < 0 ? max(len + begin, 0) : min(begin, len); - end = end < 0 ? max(len + end, 0) : min(end, len); - end = max(end, begin); - - let out = changetype(__new(offsetof(), idof())); - let buf = changetype(array.buffer); - store(changetype(out), buf, offsetof("buffer")); - __link(changetype(out), buf, false); - store(changetype(out), array.dataStart + (begin << alignof()), offsetof("dataStart")); - store(changetype(out), (end - begin) << alignof(), offsetof("byteLength")); - return out; -} - -// @ts-ignore: decorator -@inline -function COPY_WITHIN( - array: TArray, - target: i32, - start: i32, - end: i32 -): TArray { - let len = array.length; - let ptr = array.dataStart; - - end = min(end, len); - let to = target < 0 ? max(len + target, 0) : min(target, len); - let from = start < 0 ? max(len + start, 0) : min(start, len); - let last = end < 0 ? max(len + end, 0) : min(end, len); - let count = min(last - from, len - to); - - memory.copy( - ptr + (to << alignof()), - ptr + (from << alignof()), - count << alignof() - ); - return array; -} - -// @ts-ignore: decorator -@inline -function REDUCE( - array: TArray, - fn: (accumulator: TRet, value: T, index: i32, array: TArray) => TRet, - initialValue: TRet -): TRet { - let ptr = array.dataStart; - for (let i = 0, k = array.length; i < k; i++) { - initialValue = fn(initialValue, load(ptr + (i << alignof())), i, array); - } - return initialValue; -} - -// @ts-ignore: decorator -@inline -function REDUCE_RIGHT( - array: TArray, - fn: (accumulator: TRet, value: T, index: i32, array: TArray) => TRet, - initialValue: TRet -): TRet { - let ptr = array.dataStart; - for (let i = array.length - 1; i >= 0; i--) { - initialValue = fn(initialValue, load(ptr + (i << alignof())), i, array); - } - return initialValue; -} - -// @ts-ignore: decorator -@inline -function MAP( - array: TArray, - fn: (value: T, index: i32, self: TArray) => T, -): TArray { - let len = array.length; - let ptr = array.dataStart; - - let byteLength = len << alignof(); - let out = changetype(__new(offsetof(), idof())); - let buf = changetype(__new(byteLength, idof())); - for (let i = 0; i < len; i++) { - store( - changetype(buf) + (i << alignof()), - fn(load(ptr + (i << alignof())), i, array) - ); - } - store(changetype(out), changetype(buf), offsetof("buffer")); - __link(changetype(out), changetype(buf), false); - store(changetype(out), changetype(buf), offsetof("dataStart")); - store(changetype(out), byteLength, offsetof("byteLength")); - return out; -} - -// @ts-ignore: decorator -@inline -function FILTER( - array: TArray, - fn: (value: T, index: i32, self: TArray) => bool, -): TArray { - let len = array.length; - let out = changetype(__new(offsetof(), idof())); - let buf = changetype(__new(len << alignof(), idof())); - let dataStart = array.dataStart; - let j: usize = 0; - for (let i = 0; i < len; i++) { - let value = load(dataStart + (i << alignof())); - if (fn(value, i, array)) { - store( - changetype(buf) + (j++ << alignof()), - value - ); - } - } - // shrink output buffer - let byteLength = j << alignof(); - let data = __renew(changetype(buf), byteLength); - store(changetype(out), data, offsetof("buffer")); - __link(changetype(out), data, false); - store(changetype(out), byteLength, offsetof("byteLength")); - store(changetype(out), data, offsetof("dataStart")); - return out; -} - -// @ts-ignore: decorator -@inline -function FIND_INDEX( - array: TArray, - fn: (value: T, index: i32, array: TArray) => bool, -): i32 { - let ptr = array.dataStart; - for (let i = 0, k = array.length; i < k; i++) { - if (fn(load(ptr + (i << alignof())), i, array)) return i; - } - return -1; -} - -// @ts-ignore: decorator -@inline -function FIND_LAST_INDEX( - array: TArray, - fn: (value: T, index: i32, array: TArray) => bool, -): i32 { - let ptr = array.dataStart; - for (let i = array.length - 1; i >= 0; --i) { - if (fn(load(ptr + (i << alignof())), i, array)) return i; - } - return -1; -} - -// @ts-ignore: decorator -@inline -function INCLUDES( - array: TArray, - searchElement: T, - fromIndex: i32, -): bool { - if (isFloat()) { - let index: isize = fromIndex; - let len: isize = array.length; - if (len == 0 || index >= len) return false; - if (index < 0) index = max(len + index, 0); - let dataStart = array.dataStart; - while (index < len) { - let elem = load(dataStart + (index << alignof())); - // @ts-ignore - if (elem == searchElement || isNaN(elem) & isNaN(searchElement)) return true; - ++index; - } - return false; - } else { - return INDEX_OF(array, searchElement, fromIndex) >= 0; - } -} - -// @ts-ignore: decorator -@inline -function INDEX_OF( - array: TArray, - searchElement: T, - fromIndex: i32, -): i32 { - let index: isize = fromIndex; - let len: isize = array.length; - if (len == 0 || index >= len) return -1; - if (index < 0) index = max(len + index, 0); - let dataStart = array.dataStart; - while (index < len) { - if (load(dataStart + (index << alignof())) == searchElement) return index; - ++index; - } - return -1; -} - -// @ts-ignore: decorator -@inline -function LAST_INDEX_OF( - array: TArray, - searchElement: T, - fromIndex: i32, -): i32 { - let index: isize = fromIndex; - let len: isize = array.length; - if (len == 0) return -1; - if (index < 0) index = len + index; // no need to clamp - else if (index >= len) index = len - 1; - let dataStart = array.dataStart; - while (index >= 0) { - if (load(dataStart + (index << alignof())) == searchElement) return index; - --index; - } - return -1; -} - -// @ts-ignore: decorator -@inline -function SOME( - array: TArray, - fn: (value: T, index: i32, array: TArray) => bool, -): bool { - let ptr = array.dataStart; - for (let i = 0, k = array.length; i < k; i++) { - if (fn(load(ptr + (i << alignof())), i, array)) return true; - } - return false; -} - -// @ts-ignore: decorator -@inline -function EVERY( - array: TArray, - fn: (value: T, index: i32, array: TArray) => bool, -): bool { - let ptr = array.dataStart; - for (let i = 0, k = array.length; i < k; i++) { - if (fn(load(ptr + (i << alignof())), i, array)) continue; - return false; - } - return true; -} - -// @ts-ignore: decorator -@inline -function FOREACH( - array: TArray, - fn: (value: T, index: i32, array: TArray) => void, -): void { - let ptr = array.dataStart; - for (let i = 0, k = array.length; i < k; i++) { - fn(load(ptr + (i << alignof())), i, array); - } -} - -// @ts-ignore: decorator -@inline -function WRAP( - buffer: ArrayBuffer, - byteOffset: i32 = 0, - len: i32 = -1 -): TArray { - let byteLength: i32; - let bufferByteLength = buffer.byteLength; - const mask: u32 = sizeof() - 1; - if (i32(byteOffset > bufferByteLength) | (byteOffset & mask)) { - throw new RangeError(E_INDEXOUTOFRANGE); - } - if (len < 0) { - if (len == -1) { - if (bufferByteLength & mask) { - throw new RangeError(E_INVALIDLENGTH); - } - byteLength = bufferByteLength - byteOffset; - } else { - throw new RangeError(E_INVALIDLENGTH); - } - } else { - byteLength = len << alignof(); - if (byteOffset + byteLength > bufferByteLength) { - throw new RangeError(E_INVALIDLENGTH); - } - } - let out = changetype(__new(offsetof(), idof())); - store(changetype(out), changetype(buffer), offsetof("buffer")); - __link(changetype(out), changetype(buffer), false); - store(changetype(out), byteLength, offsetof("byteLength")); - store(changetype(out), changetype(buffer) + byteOffset, offsetof("dataStart")); - return out; -} - -// @ts-ignore: decorator -@inline -function SET< - TArray extends ArrayLike, - UArray extends ArrayLike ->( - target: TArray, - source: UArray, - offset: i32 = 0 -): void { - // need to assert at compile time that U is not a reference or a function - if (isReference>()) { - ERROR(E_NOTIMPLEMENTED); - } - let sourceLen = source.length; - if (offset < 0 || sourceLen + offset > target.length) { - // offset is out of bounds - throw new RangeError(E_INDEXOUTOFRANGE); - } - // @ts-ignore: dataStart - let targetStart = target.dataStart + (offset << (alignof>())); - // @ts-ignore: dataStart - let sourceStart = source.dataStart; - // if the types align and match, use memory.copy() instead of manual loop - if ( - isInteger>() == isInteger>() && - alignof>() == alignof>() && - !(isSigned>() && target instanceof Uint8ClampedArray) - ) { - memory.copy(targetStart, sourceStart, sourceLen << (alignof>())); - } else { - for (let i = 0; i < sourceLen; i++) { - let ptr = targetStart + (i << (alignof>())); - let value = load>(sourceStart + (i << (alignof>()))); - // if TArray is Uint8ClampedArray, then values must be clamped - if (target instanceof Uint8ClampedArray) { - if (isFloat>()) { - store>(ptr, - isFinite>(value) - ? >max>(0, min>(255, value)) - : 0 - ); - } else { - if (!isSigned>()) { - store>(ptr, min>(255, value)); - } else if (sizeof>() <= 4) { - store>(ptr, ~(value >> 31) & (((255 - value) >> 31) | value)); - } else { - store>(ptr, ~(value >> 63) & (((255 - value) >> 63) | value)); - } - } - } else { - if (isFloat>() && !isFloat>()) { - store>(ptr, isFinite>(value) ? >value : 0); - } else { - store>(ptr, >value); - } - } - } - } -} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/uri.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/uri.ts deleted file mode 100644 index 1c73edd2..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/std/assembly/uri.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { encode, decode, URI_UNSAFE, URL_UNSAFE } from "./util/uri"; - -export function encodeURI(str: string): string { - return changetype(encode(changetype(str), str.length, URI_UNSAFE)); -} - -export function decodeURI(str: string): string { - return changetype(decode(changetype(str), str.length, false)); -} - -export function encodeURIComponent(str: string): string { - return changetype(encode(changetype(str), str.length, URL_UNSAFE)); -} - -export function decodeURIComponent(str: string): string { - return changetype(decode(changetype(str), str.length, true)); -} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/util/bytes.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/util/bytes.ts deleted file mode 100644 index 01667214..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/std/assembly/util/bytes.ts +++ /dev/null @@ -1,107 +0,0 @@ -export function REVERSE(ptr: usize, len: usize): void { - if (len > 1) { - let - i: usize = 0, - tail: usize, - hlen: usize = len >> 1; - - if (ASC_SHRINK_LEVEL < 1) { - if (sizeof() == 1) { - // TODO: Decide later: Does we need this fast path cases? - // - // if (len == 4) { - // store(ptr, bswap(load(ptr))); - // return; - // } - // if (len == 8) { - // store(ptr, bswap(load(ptr))); - // return; - // } - tail = len - 8; - while (i + 7 < hlen) { - let front = ptr + i; - let back = ptr + tail - i; - let temp = bswap(load(front)); - store(front, bswap(load(back))); - store(back, temp); - i += 8; - } - } - - if (sizeof() == 2) { - tail = len - 2; - while (i + 1 < hlen) { - let front = ptr + (i << 1); - let back = ptr + (tail - i << 1); - let temp = rotr(load(back), 16); - store(back, rotr(load(front), 16)); - store(front, temp); - i += 2; - } - } - } - - tail = len - 1; - while (i < hlen) { - let front = ptr + (i << alignof()); - let back = ptr + (tail - i << alignof()); - let temp = load(front); - store(front, load(back)); - store(back, temp); - i++; - } - } -} - -export function FILL( - ptr: usize, - len: usize, - value: T, - start: isize, - end: isize -): void { - start = start < 0 ? max(len + start, 0) : min(start, len); - end = end < 0 ? max(len + end, 0) : min(end, len); - - if (sizeof() == 1) { - if (start < end) { - memory.fill( - ptr + start, - u8(value), - (end - start) - ); - } - } else { - if (ASC_SHRINK_LEVEL <= 1) { - if (isInteger()) { - // @ts-ignore - if (value == 0 | value == -1) { - if (start < end) { - memory.fill( - ptr + (start << alignof()), - u8(value), - (end - start) << alignof() - ); - } - return; - } - } else if (isFloat()) { - // for floating non-negative zeros we can use fast memory.fill - if ((sizeof() == 4 && reinterpret(f32(value)) == 0) || - (sizeof() == 8 && reinterpret(f64(value)) == 0)) { - if (start < end) { - memory.fill( - ptr + (start << alignof()), - 0, - (end - start) << alignof() - ); - } - return; - } - } - } - for (; start < end; ++start) { - store(ptr + (start << alignof()), value); - } - } -} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/util/casemap.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/util/casemap.ts deleted file mode 100644 index 3aacfbee..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/std/assembly/util/casemap.ts +++ /dev/null @@ -1,497 +0,0 @@ -// Total tables size: ~5 kb (usually compressed to ~4 kb) -// See: https://git.musl-libc.org/cgit/musl/tree/src/ctype/casemap.h - -// @ts-ignore: decorator -@lazy @inline const TAB = memory.data([ - 7, 8, 9, 10, 11, 12, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 13, 6, 6, 14, 6, 6, 6, 6, 6, 6, 6, 6, 15, 16, 17, 18, - 6, 19, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 20, 21, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 22, 23, 6, 6, 6, 24, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 25, - 6, 6, 6, 6, 26, 6, 6, 6, 6, 6, 6, 6, 27, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 28, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 29, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 30, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, - 43, 43, 43, 43, 43, 43, 43, 43, 1, 0, 84, 86, 86, 86, 86, 86, - 86, 86, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 43, 43, 43, 43, 43, 43, - 43, 7, 43, 43, 91, 86, 86, 86, 86, 86, 86, 86, 74, 86, 86, 5, - 49, 80, 49, 80, 49, 80, 49, 80, 49, 80, 49, 80, 49, 80, 49, 80, - 36, 80, 121, 49, 80, 49, 80, 49, 56, 80, 49, 80, 49, 80, 49, 80, - 49, 80, 49, 80, 49, 80, 49, 80, 78, 49, 2, 78, 13, 13, 78, 3, - 78, 0, 36, 110, 0, 78, 49, 38, 110, 81, 78, 36, 80, 78, 57, 20, - 129, 27, 29, 29, 83, 49, 80, 49, 80, 13, 49, 80, 49, 80, 49, 80, - 27, 83, 36, 80, 49, 2, 92, 123, 92, 123, 92, 123, 92, 123, 92, 123, - 20, 121, 92, 123, 92, 123, 92, 45, 43, 73, 3, 72, 3, 120, 92, 123, - 20, 0, 150, 10, 1, 43, 40, 6, 6, 0, 42, 6, 42, 42, 43, 7, - 187, 181, 43, 30, 0, 43, 7, 43, 43, 43, 1, 43, 43, 43, 43, 43, - 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, - 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 1, 43, 43, 43, 43, - 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, - 43, 43, 43, 42, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, - 43, 205, 70, 205, 43, 0, 37, 43, 7, 1, 6, 1, 85, 86, 86, 86, - 86, 86, 85, 86, 86, 2, 36, 129, 129, 129, 129, 129, 21, 129, 129, 129, - 0, 0, 43, 0, 178, 209, 178, 209, 178, 209, 178, 209, 0, 0, 205, 204, - 1, 0, 215, 215, 215, 215, 215, 131, 129, 129, 129, 129, 129, 129, 129, 129, - 129, 129, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 28, 0, 0, 0, - 0, 0, 49, 80, 49, 80, 49, 80, 49, 80, 49, 80, 49, 2, 0, 0, - 49, 80, 49, 80, 49, 80, 49, 80, 49, 80, 49, 80, 49, 80, 49, 80, - 49, 80, 78, 49, 80, 49, 80, 78, 49, 80, 49, 80, 49, 80, 49, 80, - 49, 80, 49, 80, 49, 80, 49, 2, 135, 166, 135, 166, 135, 166, 135, 166, - 135, 166, 135, 166, 135, 166, 135, 166, 42, 43, 43, 43, 43, 43, 43, 43, - 43, 43, 43, 43, 43, 0, 0, 0, 84, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 84, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 12, 0, 12, 42, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, - 43, 7, 42, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 43, 43, 43, 43, 43, 43, - 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, - 43, 43, 43, 43, 86, 86, 108, 129, 21, 0, 43, 43, 43, 43, 43, 43, - 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, - 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, - 43, 43, 43, 43, 7, 108, 3, 65, 43, 43, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 86, 86, 44, 86, 43, 43, 43, 43, 43, 43, - 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 12, 108, 0, 0, 0, 0, 0, 6, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 6, 37, 6, 37, 6, 37, 6, 37, 6, 37, - 6, 37, 6, 37, 6, 37, 6, 37, 6, 37, 6, 37, 6, 37, 6, 37, - 6, 37, 6, 37, 6, 37, 6, 37, 6, 37, 6, 37, 6, 37, 6, 37, - 6, 37, 6, 37, 6, 37, 6, 37, 86, 122, 158, 38, 6, 37, 6, 37, - 6, 37, 6, 37, 6, 37, 6, 37, 6, 37, 6, 37, 6, 37, 6, 37, - 6, 37, 6, 37, 6, 37, 6, 37, 6, 37, 6, 1, 43, 43, 79, 86, - 86, 44, 43, 127, 86, 86, 57, 43, 43, 85, 86, 86, 43, 43, 79, 86, - 86, 44, 43, 127, 86, 86, 129, 55, 117, 91, 123, 92, 43, 43, 79, 86, - 86, 2, 172, 4, 0, 0, 57, 43, 43, 85, 86, 86, 43, 43, 79, 86, - 86, 44, 43, 43, 86, 86, 50, 19, 129, 87, 0, 111, 129, 126, 201, 215, - 126, 45, 129, 129, 14, 126, 57, 127, 111, 87, 0, 129, 129, 126, 21, 0, - 126, 3, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 7, 43, - 36, 43, 151, 43, 43, 43, 43, 43, 43, 43, 43, 43, 42, 43, 43, 43, - 43, 43, 86, 86, 86, 86, 86, 128, 129, 129, 129, 129, 57, 187, 42, 43, - 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, - 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, - 43, 43, 43, 43, 43, 43, 43, 1, 129, 129, 129, 129, 129, 129, 129, 129, - 129, 129, 129, 129, 129, 129, 129, 201, 172, 172, 172, 172, 172, 172, 172, 172, - 172, 172, 172, 172, 172, 172, 172, 208, 13, 0, 78, 49, 2, 180, 193, 193, - 215, 215, 36, 80, 49, 80, 49, 80, 49, 80, 49, 80, 49, 80, 49, 80, - 49, 80, 49, 80, 49, 80, 49, 80, 49, 80, 49, 80, 49, 80, 49, 80, - 49, 80, 49, 80, 215, 215, 83, 193, 71, 212, 215, 215, 215, 5, 43, 43, - 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 7, 1, 0, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 78, 49, 80, 49, 80, 49, 80, - 49, 80, 49, 80, 49, 80, 49, 80, 13, 0, 0, 0, 0, 0, 36, 80, - 49, 80, 49, 80, 49, 80, 49, 80, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 43, 43, 43, 43, 43, - 43, 43, 43, 43, 43, 121, 92, 123, 92, 123, 79, 123, 92, 123, 92, 123, - 92, 123, 92, 123, 92, 123, 92, 123, 92, 123, 92, 123, 92, 123, 92, 45, - 43, 43, 121, 20, 92, 123, 92, 45, 121, 42, 92, 39, 92, 123, 92, 123, - 92, 123, 164, 0, 10, 180, 92, 123, 92, 123, 79, 3, 120, 56, 43, 43, - 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 79, 45, 43, 43, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 42, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, - 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 43, 43, 43, 43, 43, 43, 43, 43, 7, 0, 72, 86, 86, 86, 86, - 86, 86, 86, 86, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 43, 43, 43, - 43, 43, 43, 43, 43, 43, 43, 43, 43, 85, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 36, 43, 43, 43, 43, 43, 43, 43, 43, 43, - 43, 43, 7, 0, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 43, 43, 43, - 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 7, 0, 0, - 0, 0, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 43, 43, - 43, 43, 43, 43, 43, 43, 43, 43, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 42, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 86, 86, - 86, 86, 86, 86, 86, 86, 86, 86, 14, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 85, - 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 14, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 -]); - -// @ts-ignore: decorator -@lazy @inline const RULES = memory.data([ - 0x0, 0x2001, -0x2000, 0x1dbf00, 0x2e700, 0x7900, - 0x2402, 0x101, -0x100, 0x0, 0x201, -0x200, - -0xc6ff, -0xe800, -0x78ff, -0x12c00, 0xc300, 0xd201, - 0xce01, 0xcd01, 0x4f01, 0xca01, 0xcb01, 0xcf01, - 0x6100, 0xd301, 0xd101, 0xa300, 0xd501, 0x8200, - 0xd601, 0xda01, 0xd901, 0xdb01, 0x3800, 0x3, - -0x4f00, -0x60ff, -0x37ff, 0x242802, 0x0, 0x101, - -0x100, -0xcd00, -0xda00, -0x81ff, 0x2a2b01, -0xa2ff, - 0x2a2801, 0x2a3f00, -0xc2ff, 0x4501, 0x4701, 0x2a1f00, - 0x2a1c00, 0x2a1e00, -0xd200, -0xce00, -0xca00, -0xcb00, - 0xa54f00, 0xa54b00, -0xcf00, 0xa52800, 0xa54400, -0xd100, - -0xd300, 0x29f700, 0xa54100, 0x29fd00, -0xd500, -0xd600, - 0x29e700, 0xa54300, 0xa52a00, -0x4500, -0xd900, -0x4700, - -0xdb00, 0xa51500, 0xa51200, 0x4c2402, 0x0, 0x2001, - -0x2000, 0x101, -0x100, 0x5400, 0x7401, 0x2601, - 0x2501, 0x4001, 0x3f01, -0x2600, -0x2500, -0x1f00, - -0x4000, -0x3f00, 0x801, -0x3e00, -0x3900, -0x2f00, - -0x3600, -0x800, -0x5600, -0x5000, 0x700, -0x7400, - -0x3bff, -0x6000, -0x6ff, 0x701a02, 0x101, -0x100, - 0x2001, -0x2000, 0x5001, 0xf01, -0xf00, 0x0, - 0x3001, -0x3000, 0x101, -0x100, 0x0, 0xbc000, - 0x1c6001, 0x0, 0x97d001, 0x801, -0x800, 0x8a0502, - 0x0, -0xbbfff, -0x186200, 0x89c200, -0x182500, -0x186e00, - -0x186d00, -0x186400, -0x186300, -0x185c00, 0x0, 0x8a3800, - 0x8a0400, 0xee600, 0x101, -0x100, 0x0, -0x3b00, - -0x1dbeff, 0x8f1d02, 0x800, -0x7ff, 0x0, 0x5600, - -0x55ff, 0x4a00, 0x6400, 0x8000, 0x7000, 0x7e00, - 0x900, -0x49ff, -0x8ff, -0x1c2500, -0x63ff, -0x6fff, - -0x7fff, -0x7dff, 0xac0502, 0x0, 0x1001, -0x1000, - 0x1c01, 0x101, -0x1d5cff, -0x20beff, -0x2045ff, -0x1c00, - 0xb10b02, 0x101, -0x100, 0x3001, -0x3000, 0x0, - -0x29f6ff, -0xee5ff, -0x29e6ff, -0x2a2b00, -0x2a2800, -0x2a1bff, - -0x29fcff, -0x2a1eff, -0x2a1dff, -0x2a3eff, 0x0, -0x1c6000, - 0x0, 0x101, -0x100, 0xbc0c02, 0x0, 0x101, - -0x100, -0xa543ff, 0x3a001, -0x8a03ff, -0xa527ff, 0x3000, - -0xa54eff, -0xa54aff, -0xa540ff, -0xa511ff, -0xa529ff, -0xa514ff, - -0x2fff, -0xa542ff, -0x8a37ff, 0x0, -0x97d000, -0x3a000, - 0x0, 0x2001, -0x2000, 0x0, 0x2801, -0x2800, - 0x0, 0x4001, -0x4000, 0x0, 0x2001, -0x2000, - 0x0, 0x2001, -0x2000, 0x0, 0x2201, -0x2200 -]); - -// @ts-ignore: decorator -@lazy @inline const RULE_BASES = memory.data([ - 0, 6, 39, 81, 111, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 124, 0, 0, 127, 0, 0, 0, 0, 0, 0, 0, 0, 131, 142, 146, 151, - 0, 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 180, 196, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 198, 201, 0, 0, 0, 219, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 222, - 0, 0, 0, 0, 225, 0, 0, 0, 0, 0, 0, 0, 228, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 231, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 234, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 237, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 -]); - -// @ts-ignore: decorator -@lazy @inline const EXCEPTIONS = memory.data([ - 48, 12, 49, 13, 120, 14, 127, 15, - 128, 16, 129, 17, 134, 18, 137, 19, - 138, 19, 142, 20, 143, 21, 144, 22, - 147, 19, 148, 23, 149, 24, 150, 25, - 151, 26, 154, 27, 156, 25, 157, 28, - 158, 29, 159, 30, 166, 31, 169, 31, - 174, 31, 177, 32, 178, 32, 183, 33, - 191, 34, 197, 35, 200, 35, 203, 35, - 221, 36, 242, 35, 246, 37, 247, 38, - 32, 45, 58, 46, 61, 47, 62, 48, - 63, 49, 64, 49, 67, 50, 68, 51, - 69, 52, 80, 53, 81, 54, 82, 55, - 83, 56, 84, 57, 89, 58, 91, 59, - 92, 60, 97, 61, 99, 62, 101, 63, - 102, 64, 104, 65, 105, 66, 106, 64, - 107, 67, 108, 68, 111, 66, 113, 69, - 114, 70, 117, 71, 125, 72, 130, 73, - 135, 74, 137, 75, 138, 76, 139, 76, - 140, 77, 146, 78, 157, 79, 158, 80, - 69, 87, 123, 29, 124, 29, 125, 29, - 127, 88, 134, 89, 136, 90, 137, 90, - 138, 90, 140, 91, 142, 92, 143, 92, - 172, 93, 173, 94, 174, 94, 175, 94, - 194, 95, 204, 96, 205, 97, 206, 97, - 207, 98, 208, 99, 209, 100, 213, 101, - 214, 102, 215, 103, 240, 104, 241, 105, - 242, 106, 243, 107, 244, 108, 245, 109, - 249, 110, 253, 45, 254, 45, 255, 45, - 80, 105, 81, 105, 82, 105, 83, 105, - 84, 105, 85, 105, 86, 105, 87, 105, - 88, 105, 89, 105, 90, 105, 91, 105, - 92, 105, 93, 105, 94, 105, 95, 105, - 130, 0, 131, 0, 132, 0, 133, 0, - 134, 0, 135, 0, 136, 0, 137, 0, - 192, 117, 207, 118, 128, 137, 129, 138, - 130, 139, 133, 140, 134, 141, 112, 157, - 113, 157, 118, 158, 119, 158, 120, 159, - 121, 159, 122, 160, 123, 160, 124, 161, - 125, 161, 179, 162, 186, 163, 187, 163, - 188, 164, 190, 165, 195, 162, 204, 164, - 218, 166, 219, 166, 229, 106, 234, 167, - 235, 167, 236, 110, 243, 162, 248, 168, - 249, 168, 250, 169, 251, 169, 252, 164, - 38, 176, 42, 177, 43, 178, 78, 179, - 132, 8, 98, 186, 99, 187, 100, 188, - 101, 189, 102, 190, 109, 191, 110, 192, - 111, 193, 112, 194, 126, 195, 127, 195, - 125, 207, 141, 208, 148, 209, 171, 210, - 172, 211, 173, 212, 176, 213, 177, 214, - 178, 215, 196, 216, 197, 217, 198, 218 -]); - -/* Special Case Mappings - * See: https://unicode.org/Public/UNIDATA/SpecialCasing.txt - */ - -/* -@lazy @inline -const SPECIALS_LOWER: StaticArray = [ - 0x0130, 0x0069, 0x0307, 0x0000, -]; -*/ - -// @ts-ignore: decorator -@lazy @inlne -export const SPECIALS_UPPER: StaticArray = [ - // String#toUpperCase needs .length - 0x00DF, 0x0053, 0x0053, 0x0000, - 0x0149, 0x02BC, 0x004E, 0x0000, - 0x01F0, 0x004A, 0x030C, 0x0000, - 0x0390, 0x0399, 0x0308, 0x0301, - 0x03B0, 0x03A5, 0x0308, 0x0301, - 0x0587, 0x0535, 0x0552, 0x0000, - 0x1E96, 0x0048, 0x0331, 0x0000, - 0x1E97, 0x0054, 0x0308, 0x0000, - 0x1E98, 0x0057, 0x030A, 0x0000, - 0x1E99, 0x0059, 0x030A, 0x0000, - 0x1E9A, 0x0041, 0x02BE, 0x0000, - 0x1F50, 0x03A5, 0x0313, 0x0000, - 0x1F52, 0x03A5, 0x0313, 0x0300, - 0x1F54, 0x03A5, 0x0313, 0x0301, - 0x1F56, 0x03A5, 0x0313, 0x0342, - 0x1F80, 0x1F08, 0x0399, 0x0000, - 0x1F81, 0x1F09, 0x0399, 0x0000, - 0x1F82, 0x1F0A, 0x0399, 0x0000, - 0x1F83, 0x1F0B, 0x0399, 0x0000, - 0x1F84, 0x1F0C, 0x0399, 0x0000, - 0x1F85, 0x1F0D, 0x0399, 0x0000, - 0x1F86, 0x1F0E, 0x0399, 0x0000, - 0x1F87, 0x1F0F, 0x0399, 0x0000, - 0x1F88, 0x1F08, 0x0399, 0x0000, - 0x1F89, 0x1F09, 0x0399, 0x0000, - 0x1F8A, 0x1F0A, 0x0399, 0x0000, - 0x1F8B, 0x1F0B, 0x0399, 0x0000, - 0x1F8C, 0x1F0C, 0x0399, 0x0000, - 0x1F8D, 0x1F0D, 0x0399, 0x0000, - 0x1F8E, 0x1F0E, 0x0399, 0x0000, - 0x1F8F, 0x1F0F, 0x0399, 0x0000, - 0x1F90, 0x1F28, 0x0399, 0x0000, - 0x1F91, 0x1F29, 0x0399, 0x0000, - 0x1F92, 0x1F2A, 0x0399, 0x0000, - 0x1F93, 0x1F2B, 0x0399, 0x0000, - 0x1F94, 0x1F2C, 0x0399, 0x0000, - 0x1F95, 0x1F2D, 0x0399, 0x0000, - 0x1F96, 0x1F2E, 0x0399, 0x0000, - 0x1F97, 0x1F2F, 0x0399, 0x0000, - 0x1F98, 0x1F28, 0x0399, 0x0000, - 0x1F99, 0x1F29, 0x0399, 0x0000, - 0x1F9A, 0x1F2A, 0x0399, 0x0000, - 0x1F9B, 0x1F2B, 0x0399, 0x0000, - 0x1F9C, 0x1F2C, 0x0399, 0x0000, - 0x1F9D, 0x1F2D, 0x0399, 0x0000, - 0x1F9E, 0x1F2E, 0x0399, 0x0000, - 0x1F9F, 0x1F2F, 0x0399, 0x0000, - 0x1FA0, 0x1F68, 0x0399, 0x0000, - 0x1FA1, 0x1F69, 0x0399, 0x0000, - 0x1FA2, 0x1F6A, 0x0399, 0x0000, - 0x1FA3, 0x1F6B, 0x0399, 0x0000, - 0x1FA4, 0x1F6C, 0x0399, 0x0000, - 0x1FA5, 0x1F6D, 0x0399, 0x0000, - 0x1FA6, 0x1F6E, 0x0399, 0x0000, - 0x1FA7, 0x1F6F, 0x0399, 0x0000, - 0x1FA8, 0x1F68, 0x0399, 0x0000, - 0x1FA9, 0x1F69, 0x0399, 0x0000, - 0x1FAA, 0x1F6A, 0x0399, 0x0000, - 0x1FAB, 0x1F6B, 0x0399, 0x0000, - 0x1FAC, 0x1F6C, 0x0399, 0x0000, - 0x1FAD, 0x1F6D, 0x0399, 0x0000, - 0x1FAE, 0x1F6E, 0x0399, 0x0000, - 0x1FAF, 0x1F6F, 0x0399, 0x0000, - 0x1FB2, 0x1FBA, 0x0399, 0x0000, - 0x1FB3, 0x0391, 0x0399, 0x0000, - 0x1FB4, 0x0386, 0x0399, 0x0000, - 0x1FB6, 0x0391, 0x0342, 0x0000, - 0x1FB7, 0x0391, 0x0342, 0x0399, - 0x1FBC, 0x0391, 0x0399, 0x0000, - 0x1FC2, 0x1FCA, 0x0399, 0x0000, - 0x1FC3, 0x0397, 0x0399, 0x0000, - 0x1FC4, 0x0389, 0x0399, 0x0000, - 0x1FC6, 0x0397, 0x0342, 0x0000, - 0x1FC7, 0x0397, 0x0342, 0x0399, - 0x1FCC, 0x0397, 0x0399, 0x0000, - 0x1FD2, 0x0399, 0x0308, 0x0300, - 0x1FD3, 0x0399, 0x0308, 0x0301, - 0x1FD6, 0x0399, 0x0342, 0x0000, - 0x1FD7, 0x0399, 0x0308, 0x0342, - 0x1FE2, 0x03A5, 0x0308, 0x0300, - 0x1FE3, 0x03A5, 0x0308, 0x0301, - 0x1FE4, 0x03A1, 0x0313, 0x0000, - 0x1FE6, 0x03A5, 0x0342, 0x0000, - 0x1FE7, 0x03A5, 0x0308, 0x0342, - 0x1FF2, 0x1FFA, 0x0399, 0x0000, - 0x1FF3, 0x03A9, 0x0399, 0x0000, - 0x1FF4, 0x038F, 0x0399, 0x0000, - 0x1FF6, 0x03A9, 0x0342, 0x0000, - 0x1FF7, 0x03A9, 0x0342, 0x0399, - 0x1FFC, 0x03A9, 0x0399, 0x0000, - 0xFB00, 0x0046, 0x0046, 0x0000, - 0xFB01, 0x0046, 0x0049, 0x0000, - 0xFB02, 0x0046, 0x004C, 0x0000, - 0xFB03, 0x0046, 0x0046, 0x0049, - 0xFB04, 0x0046, 0x0046, 0x004C, - 0xFB05, 0x0053, 0x0054, 0x0000, - 0xFB06, 0x0053, 0x0054, 0x0000, - 0xFB13, 0x0544, 0x0546, 0x0000, - 0xFB14, 0x0544, 0x0535, 0x0000, - 0xFB15, 0x0544, 0x053B, 0x0000, - 0xFB16, 0x054E, 0x0546, 0x0000, - 0xFB17, 0x0544, 0x053D, 0x0000 -]; - -// @ts-ignore: decorator -@lazy @inline const MT = memory.data([ - 2048, 342, 57 -]); - -// Special binary search routine for Special Casing Tables -// @ts-ignore: decorator -@inline -export function bsearch(key: u32, ptr: usize, max: i32): i32 { - let min = 0; - while (min <= max) { - let mid = (min + max) >>> 3 << 2; - let cmp = load(ptr + (mid << alignof())) - key; - if (cmp == 0) return mid; // found - else if (cmp >>> 31) min = mid + 4; // < 0 - else max = mid - 4; // > 0 - } - return -1; // not found -} - -// See: https://git.musl-libc.org/cgit/musl/tree/src/ctype/towctrans.c -export function casemap(c: u32, dir: i32): i32 { - // if (c >= 0x20000) return c; - let c0 = c as i32; - let b = c >> 8; - c &= 255; - - let x = c / 3; - let y = c % 3; - - /* lookup entry in two-level base-6 table */ - // v = tab[(tab[b] as i32) * 86 + x] as u32; - let v = load(TAB + load(TAB + b) * 86 + x); - // v = (v * mt[y] >> 11) % 6; - v = (v * load(MT + (y << alignof())) >> 11) % 6; - /* use the bit vector out of the tables as an index into - * a block-specific set of rules and decode the rule into - * a type and a case-mapping delta. */ - // r = rules[(ruleBases[b] as u32) + v]; - let r = load(RULES + ((load(RULE_BASES + b) + v) << alignof())); - let rt: u32 = r & 255; - let rd: i32 = r >> 8; - /* rules 0/1 are simple lower/upper case with a delta. - * apply according to desired mapping direction. */ - if (rt < 2) return c0 + (rd & -(rt ^ dir)); - /* binary search. endpoints of the binary search for - * this block are stored in the rule delta field. */ - let xn: u32 = rd & 0xff; - let xb: u32 = rd >>> 8; - while (xn) { - let h = xn >> 1; - // let t = exceptions[(xb + h) * 2 + 0] as u32; - let t = load(EXCEPTIONS + (xb + h) * 2, 0); - if (t == c) { - // r = rules[exceptions[(xb + h) * 2 + 1]]; - r = load(RULES + (load(EXCEPTIONS + (xb + h) * 2, 1) << alignof())); - rt = r & 255; - rd = r >> 8; - if (rt < 2) return c0 + (rd & -(rt ^ dir)); - /* Hard-coded for the four exceptional titlecase */ - return c0 + 1 - (dir << 1); // (dir ? -1 : 1); - } else if (t > c) { - xn = h; - } else { - xb += h; - xn -= h; - } - } - return c0; -} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/util/error.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/util/error.ts deleted file mode 100644 index ba342526..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/std/assembly/util/error.ts +++ /dev/null @@ -1,54 +0,0 @@ -// Common error messages for use across the standard library. Keeping error messages compact -// and reusing them where possible ensures minimal static data in binaries. - -// @ts-ignore: decorator -@lazy @inline -export const E_INDEXOUTOFRANGE: string = "Index out of range"; - -// @ts-ignore: decorator -@lazy @inline -export const E_VALUEOUTOFRANGE: string = "Value out of range"; - -// @ts-ignore: decorator -@lazy @inline -export const E_INVALIDLENGTH: string = "Invalid length"; - -// @ts-ignore: decorator -@lazy @inline -export const E_EMPTYARRAY: string = "Array is empty"; - -// @ts-ignore: decorator -@lazy @inline -export const E_HOLEYARRAY: string = "Element type must be nullable if array is holey"; - -// @ts-ignore: decorator -@lazy @inline -export const E_NOTIMPLEMENTED: string = "Not implemented"; - -// @ts-ignore: decorator -@lazy @inline -export const E_KEYNOTFOUND: string = "Key does not exist"; - -// @ts-ignore: decorator -@lazy @inline -export const E_ALLOCATION_TOO_LARGE: string = "Allocation too large"; - -// @ts-ignore: decorator -@lazy @inline -export const E_ALREADY_PINNED: string = "Object already pinned"; - -// @ts-ignore: decorator -@lazy @inline -export const E_NOT_PINNED: string = "Object is not pinned"; - -// @ts-ignore: decorator -@lazy @inline -export const E_URI_MALFORMED: string = "URI malformed"; - -// @ts-ignore: decorator -@lazy @inline -export const E_INVALIDDATE: string = "Invalid Date"; - -// @ts-ignore: decorator -@lazy @inline -export const E_UNPAIRED_SURROGATE: string = "Unpaired surrogate"; diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/util/hash.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/util/hash.ts deleted file mode 100644 index 2731f25f..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/std/assembly/util/hash.ts +++ /dev/null @@ -1,117 +0,0 @@ -export function HASH(key: T): u32 { - if (isString()) { - return hashStr(changetype(key)); - } else if (isReference()) { - if (sizeof() == 4) return hash32(changetype(key)); - if (sizeof() == 8) return hash64(changetype(key)); - } else if (isFloat()) { - if (sizeof() == 4) return hash32(reinterpret(f32(key))); - if (sizeof() == 8) return hash64(reinterpret(f64(key))); - } else { - if (sizeof() <= 4) return hash32(u32(key), sizeof()); - if (sizeof() == 8) return hash64(u64(key)); - } - return unreachable(); -} - -// XXHash 32-bit as a starting point, see: https://cyan4973.github.io/xxHash - -// primes -// @ts-ignore: decorator -@inline const XXH32_P1: u32 = 2654435761; -// @ts-ignore: decorator -@inline const XXH32_P2: u32 = 2246822519; -// @ts-ignore: decorator -@inline const XXH32_P3: u32 = 3266489917; -// @ts-ignore: decorator -@inline const XXH32_P4: u32 = 668265263; -// @ts-ignore: decorator -@inline const XXH32_P5: u32 = 374761393; -// @ts-ignore: decorator -@inline const XXH32_SEED: u32 = 0; - -// @ts-ignore: decorator -@inline -function hash32(key: u32, len: u32 = 4): u32 { - let h: u32 = XXH32_SEED + XXH32_P5 + len; - h += key * XXH32_P3; - h = rotl(h, 17) * XXH32_P4; - h ^= h >> 15; - h *= XXH32_P2; - h ^= h >> 13; - h *= XXH32_P3; - h ^= h >> 16; - return h; -} - -// @ts-ignore: decorator -@inline -function hash64(key: u64): u32 { - let h: u32 = XXH32_SEED + XXH32_P5 + 8; - h += key * XXH32_P3; - h = rotl(h, 17) * XXH32_P4; - h += (key >> 32) * XXH32_P3; - h = rotl(h, 17) * XXH32_P4; - h ^= h >> 15; - h *= XXH32_P2; - h ^= h >> 13; - h *= XXH32_P3; - h ^= h >> 16; - return h; -} - -// @ts-ignore: decorator -@inline -function mix(h: u32, key: u32): u32 { - return rotl(h + key * XXH32_P2, 13) * XXH32_P1; -} - -// @ts-ignore: decorator -@inline -function hashStr(key: string): u32 { - if (changetype(key) == 0) return XXH32_SEED; - - let h: u32 = key.length << 1; - let len: usize = h; - let pos = changetype(key); - - if (len >= 16) { - let s1 = XXH32_SEED + XXH32_P1 + XXH32_P2; - let s2 = XXH32_SEED + XXH32_P2; - let s3 = XXH32_SEED; - let s4 = XXH32_SEED - XXH32_P1; - - let end = len + pos - 16; - while (pos <= end) { - s1 = mix(s1, load(pos )); - s2 = mix(s2, load(pos, 4)); - s3 = mix(s3, load(pos, 8)); - s4 = mix(s4, load(pos, 12)); - pos += 16; - } - h += rotl(s1, 1) + rotl(s2, 7) + rotl(s3, 12) + rotl(s4, 18); - } else { - h += XXH32_SEED + XXH32_P5; - } - - let end = changetype(key) + len - 4; - while (pos <= end) { - h += load(pos) * XXH32_P3; - h = rotl(h, 17) * XXH32_P4; - pos += 4; - } - - end = changetype(key) + len; - while (pos < end) { - h += load(pos) * XXH32_P5; - h = rotl(h, 11) * XXH32_P1; - pos++; - } - - h ^= h >> 15; - h *= XXH32_P2; - h ^= h >> 13; - h *= XXH32_P3; - h ^= h >> 16; - return h; -} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/util/math.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/util/math.ts deleted file mode 100644 index 8d4eef62..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/std/assembly/util/math.ts +++ /dev/null @@ -1,1922 +0,0 @@ -// -// Lookup data for exp2f -// - -// @ts-ignore: decorator -@inline const EXP2F_TABLE_BITS = 5; - -// @ts-ignore: decorator -@lazy @inline const EXP2F_DATA_TAB = memory.data([ - // exp2f_data_tab[i] = uint(2^(i/N)) - (i << 52-BITS) - // used for computing 2^(k/N) for an int |k| < 150 N as - // double(tab[k%N] + (k << 52-BITS)) - 0x3FF0000000000000, 0x3FEFD9B0D3158574, 0x3FEFB5586CF9890F, 0x3FEF9301D0125B51, - 0x3FEF72B83C7D517B, 0x3FEF54873168B9AA, 0x3FEF387A6E756238, 0x3FEF1E9DF51FDEE1, - 0x3FEF06FE0A31B715, 0x3FEEF1A7373AA9CB, 0x3FEEDEA64C123422, 0x3FEECE086061892D, - 0x3FEEBFDAD5362A27, 0x3FEEB42B569D4F82, 0x3FEEAB07DD485429, 0x3FEEA47EB03A5585, - 0x3FEEA09E667F3BCD, 0x3FEE9F75E8EC5F74, 0x3FEEA11473EB0187, 0x3FEEA589994CCE13, - 0x3FEEACE5422AA0DB, 0x3FEEB737B0CDC5E5, 0x3FEEC49182A3F090, 0x3FEED503B23E255D, - 0x3FEEE89F995AD3AD, 0x3FEEFF76F2FB5E47, 0x3FEF199BDD85529C, 0x3FEF3720DCEF9069, - 0x3FEF5818DCFBA487, 0x3FEF7C97337B9B5F, 0x3FEFA4AFA2A490DA, 0x3FEFD0765B6E4540 -]); - -// ULP error: 0.502 (nearest rounding.) -// Relative error: 1.69 * 2^-34 in [-1/64, 1/64] (before rounding.) -// Wrong count: 168353 (all nearest rounding wrong results with fma.) -// @ts-ignore: decorator -@inline -export function exp2f_lut(x: f32): f32 { - const - N = 1 << EXP2F_TABLE_BITS, - N_MASK = N - 1, - shift = reinterpret(0x4338000000000000) / N, // 0x1.8p+52 - Ox127f = reinterpret(0x7F000000); - - const - C0 = reinterpret(0x3FAC6AF84B912394), // 0x1.c6af84b912394p-5 - C1 = reinterpret(0x3FCEBFCE50FAC4F3), // 0x1.ebfce50fac4f3p-3 - C2 = reinterpret(0x3FE62E42FF0C52D6); // 0x1.62e42ff0c52d6p-1 - - let xd = x; - let ix = reinterpret(x); - let ux = ix >> 20 & 0x7FF; - if (ux >= 0x430) { - // |x| >= 128 or x is nan. - if (ix == 0xFF800000) return 0; // x == -Inf -> 0 - if (ux >= 0x7F8) return x + x; // x == Inf/NaN -> Inf/NaN - if (x > 0) return x * Ox127f; // x > 0 -> HugeVal (Owerflow) - if (x <= -150) return 0; // x <= -150 -> 0 (Underflow) - } - - // x = k/N + r with r in [-1/(2N), 1/(2N)] and int k. - let kd = xd + shift; - let ki = reinterpret(kd); - let r = xd - (kd - shift); - let t: u64, y: f64, s: f64; - - // exp2(x) = 2^(k/N) * 2^r ~= s * (C0*r^3 + C1*r^2 + C2*r + 1) - t = load(EXP2F_DATA_TAB + ((ki & N_MASK) << alignof())); - t += ki << (52 - EXP2F_TABLE_BITS); - s = reinterpret(t); - y = C2 * r + 1; - y += (C0 * r + C1) * (r * r); - y *= s; - - return y; -} - -// ULP error: 0.502 (nearest rounding.) -// Relative error: 1.69 * 2^-34 in [-ln2/64, ln2/64] (before rounding.) -// Wrong count: 170635 (all nearest rounding wrong results with fma.) -// @ts-ignore: decorator -@inline -export function expf_lut(x: f32): f32 { - const - N = 1 << EXP2F_TABLE_BITS, - N_MASK = N - 1, - shift = reinterpret(0x4338000000000000), // 0x1.8p+52 - InvLn2N = reinterpret(0x3FF71547652B82FE) * N, // 0x1.71547652b82fep+0 - Ox1p127f = reinterpret(0x7F000000); - - const - C0 = reinterpret(0x3FAC6AF84B912394) / N / N / N, // 0x1.c6af84b912394p-5 - C1 = reinterpret(0x3FCEBFCE50FAC4F3) / N / N, // 0x1.ebfce50fac4f3p-3 - C2 = reinterpret(0x3FE62E42FF0C52D6) / N; // 0x1.62e42ff0c52d6p-1 - - let xd = x; - let ix = reinterpret(x); - let ux = ix >> 20 & 0x7FF; - if (ux >= 0x42B) { - // |x| >= 88 or x is nan. - if (ix == 0xFF800000) return 0; // x == -Inf -> 0 - if (ux >= 0x7F8) return x + x; // x == Inf/NaN -> Inf/NaN - if (x > reinterpret(0x42B17217)) return x * Ox1p127f; // x > log(0x1p128) ~= 88.72 -> HugeVal (Owerflow) - if (x < reinterpret(0xC2CFF1B4)) return 0; // x < log(0x1p-150) ~= -103.97 -> 0 (Underflow) - } - - // x*N/Ln2 = k + r with r in [-1/2, 1/2] and int k. - let z = InvLn2N * xd; - - // Round and convert z to int, the result is in [-150*N, 128*N] and - // ideally ties-to-even rule is used, otherwise the magnitude of r - // can be bigger which gives larger approximation error. - let kd = (z + shift); - let ki = reinterpret(kd); - let r = z - (kd - shift); - let s: f64, y: f64, t: u64; - - // exp(x) = 2^(k/N) * 2^(r/N) ~= s * (C0*r^3 + C1*r^2 + C2*r + 1) - t = load(EXP2F_DATA_TAB + ((ki & N_MASK) << alignof())); - t += ki << (52 - EXP2F_TABLE_BITS); - s = reinterpret(t); - z = C0 * r + C1; - y = C2 * r + 1; - y += z * (r * r); - y *= s; - - return y; -} - -// -// Lookup data for log2f -// - -// @ts-ignore: decorator -@inline const LOG2F_TABLE_BITS = 4; - -// @ts-ignore: decorator -@lazy @inline const LOG2F_DATA_TAB = memory.data([ - 0x3FF661EC79F8F3BE, 0xBFDEFEC65B963019, // 0x1.661ec79f8f3bep+0, -0x1.efec65b963019p-2, - 0x3FF571ED4AAF883D, 0xBFDB0B6832D4FCA4, // 0x1.571ed4aaf883dp+0, -0x1.b0b6832d4fca4p-2, - 0x3FF49539F0F010B0, 0xBFD7418B0A1FB77B, // 0x1.49539f0f010bp+0 , -0x1.7418b0a1fb77bp-2, - 0x3FF3C995B0B80385, 0xBFD39DE91A6DCF7B, // 0x1.3c995b0b80385p+0, -0x1.39de91a6dcf7bp-2, - 0x3FF30D190C8864A5, 0xBFD01D9BF3F2B631, // 0x1.30d190c8864a5p+0, -0x1.01d9bf3f2b631p-2, - 0x3FF25E227B0B8EA0, 0xBFC97C1D1B3B7AF0, // 0x1.25e227b0b8eap+0 , -0x1.97c1d1b3b7afp-3 , - 0x3FF1BB4A4A1A343F, 0xBFC2F9E393AF3C9F, // 0x1.1bb4a4a1a343fp+0, -0x1.2f9e393af3c9fp-3, - 0x3FF12358F08AE5BA, 0xBFB960CBBF788D5C, // 0x1.12358f08ae5bap+0, -0x1.960cbbf788d5cp-4, - 0x3FF0953F419900A7, 0xBFAA6F9DB6475FCE, // 0x1.0953f419900a7p+0, -0x1.a6f9db6475fcep-5, - 0x3FF0000000000000, 0, // 0x1p+0, 0x0, - 0x3FEE608CFD9A47AC, 0x3FB338CA9F24F53D, // 0x1.e608cfd9a47acp-1, 0x1.338ca9f24f53dp-4, - 0x3FECA4B31F026AA0, 0x3FC476A9543891BA, // 0x1.ca4b31f026aap-1 , 0x1.476a9543891bap-3, - 0x3FEB2036576AFCE6, 0x3FCE840B4AC4E4D2, // 0x1.b2036576afce6p-1, 0x1.e840b4ac4e4d2p-3, - 0x3FE9C2D163A1AA2D, 0x3FD40645F0C6651C, // 0x1.9c2d163a1aa2dp-1, 0x1.40645f0c6651cp-2, - 0x3FE886E6037841ED, 0x3FD88E9C2C1B9FF8, // 0x1.886e6037841edp-1, 0x1.88e9c2c1b9ff8p-2, - 0x3FE767DCF5534862, 0x3FDCE0A44EB17BCC // 0x1.767dcf5534862p-1, 0x1.ce0a44eb17bccp-2 -]); - -// ULP error: 0.752 (nearest rounding.) -// Relative error: 1.9 * 2^-26 (before rounding.) -// @ts-ignore: decorator -@inline -export function log2f_lut(x: f32): f32 { - const - N_MASK = (1 << LOG2F_TABLE_BITS) - 1, - Ox1p23f = reinterpret(0x4B000000); // 0x1p23f - - const - A0 = reinterpret(0xBFD712B6F70A7E4D), // -0x1.712b6f70a7e4dp-2 - A1 = reinterpret(0x3FDECABF496832E0), // 0x1.ecabf496832ep-2 - A2 = reinterpret(0xBFE715479FFAE3DE), // -0x1.715479ffae3dep-1 - A3 = reinterpret(0x3FF715475F35C8B8); // 0x1.715475f35c8b8p0 - - let ux = reinterpret(x); - // Fix sign of zero with downward rounding when x==1. - // if (WANT_ROUNDING && predict_false(ix == 0x3f800000)) return 0; - if (ux - 0x00800000 >= 0x7F800000 - 0x00800000) { - // x < 0x1p-126 or inf or nan. - if (ux * 2 == 0) return -Infinity; - if (ux == 0x7F800000) return x; // log2(inf) == inf. - if ((ux >> 31) || ux * 2 >= 0xFF000000) return (x - x) / (x - x); - // x is subnormal, normalize it. - ux = reinterpret(x * Ox1p23f); - ux -= 23 << 23; - } - // x = 2^k z; where z is in range [OFF,2*OFF] and exact. - // The range is split into N subintervals. - // The ith subinterval contains z and c is near its center. - let tmp = ux - 0x3F330000; - let i = (tmp >> (23 - LOG2F_TABLE_BITS)) & N_MASK; - let top = tmp & 0xFF800000; - let iz = ux - top; - let k = tmp >> 23; - - let invc = load(LOG2F_DATA_TAB + (i << (1 + alignof())), 0 << alignof()); - let logc = load(LOG2F_DATA_TAB + (i << (1 + alignof())), 1 << alignof()); - let z = reinterpret(iz); - - // log2(x) = log1p(z/c-1)/ln2 + log2(c) + k - let r = z * invc - 1; - let y0 = logc + k; - - // Pipelined polynomial evaluation to approximate log1p(r)/ln2. - let y = A1 * r + A2; - let p = A3 * r + y0; - let r2 = r * r; - y += A0 * r2; - y = y * r2 + p; - - return y; -} - -// -// Lookup data for logf. See: https://git.musl-libc.org/cgit/musl/tree/src/math/logf.c -// - -// @ts-ignore: decorator -@inline const LOGF_TABLE_BITS = 4; - -// @ts-ignore: decorator -@lazy @inline const LOGF_DATA_TAB = memory.data([ - 0x3FF661EC79F8F3BE, 0xBFD57BF7808CAADE, // 0x1.661ec79f8f3bep+0, -0x1.57bf7808caadep-2, - 0x3FF571ED4AAF883D, 0xBFD2BEF0A7C06DDB, // 0x1.571ed4aaf883dp+0, -0x1.2bef0a7c06ddbp-2, - 0x3FF49539F0F010B0, 0xBFD01EAE7F513A67, // 0x1.49539f0f010bp+0 , -0x1.01eae7f513a67p-2, - 0x3FF3C995B0B80385, 0xBFCB31D8A68224E9, // 0x1.3c995b0b80385p+0, -0x1.b31d8a68224e9p-3, - 0x3FF30D190C8864A5, 0xBFC6574F0AC07758, // 0x1.30d190c8864a5p+0, -0x1.6574f0ac07758p-3, - 0x3FF25E227B0B8EA0, 0xBFC1AA2BC79C8100, // 0x1.25e227b0b8eap+0 , -0x1.1aa2bc79c81p-3 , - 0x3FF1BB4A4A1A343F, 0xBFBA4E76CE8C0E5E, // 0x1.1bb4a4a1a343fp+0, -0x1.a4e76ce8c0e5ep-4, - 0x3FF12358F08AE5BA, 0xBFB1973C5A611CCC, // 0x1.12358f08ae5bap+0, -0x1.1973c5a611cccp-4, - 0x3FF0953F419900A7, 0xBFA252F438E10C1E, // 0x1.0953f419900a7p+0, -0x1.252f438e10c1ep-5, - 0x3FF0000000000000, 0, // 0x1p+0, 0, - 0x3FEE608CFD9A47AC, 0x3FAAA5AA5DF25984, // 0x1.e608cfd9a47acp-1, 0x1.aa5aa5df25984p-5, - 0x3FECA4B31F026AA0, 0x3FBC5E53AA362EB4, // 0x1.ca4b31f026aap-1 , 0x1.c5e53aa362eb4p-4, - 0x3FEB2036576AFCE6, 0x3FC526E57720DB08, // 0x1.b2036576afce6p-1, 0x1.526e57720db08p-3, - 0x3FE9C2D163A1AA2D, 0x3FCBC2860D224770, // 0x1.9c2d163a1aa2dp-1, 0x1.bc2860d22477p-3 , - 0x3FE886E6037841ED, 0x3FD1058BC8A07EE1, // 0x1.886e6037841edp-1, 0x1.1058bc8a07ee1p-2, - 0x3FE767DCF5534862, 0x3FD4043057B6EE09 // 0x1.767dcf5534862p-1, 0x1.4043057b6ee09p-2 -]); - -// ULP error: 0.818 (nearest rounding.) -// Relative error: 1.957 * 2^-26 (before rounding.) -// @ts-ignore: decorator -@inline -export function logf_lut(x: f32): f32 { - const - N_MASK = (1 << LOGF_TABLE_BITS) - 1, - Ox1p23f = reinterpret(0x4B000000); // 0x1p23f - - const - Ln2 = reinterpret(0x3FE62E42FEFA39EF), // 0x1.62e42fefa39efp-1; - A0 = reinterpret(0xBFD00EA348B88334), // -0x1.00ea348b88334p-2 - A1 = reinterpret(0x3FD5575B0BE00B6A), // 0x1.5575b0be00b6ap-2 - A2 = reinterpret(0xBFDFFFFEF20A4123); // -0x1.ffffef20a4123p-2 - - let ux = reinterpret(x); - // Fix sign of zero with downward rounding when x==1. - // if (WANT_ROUNDING && ux == 0x3f800000) return 0; - if (ux - 0x00800000 >= 0x7F800000 - 0x00800000) { - // x < 0x1p-126 or inf or nan. - if ((ux << 1) == 0) return -Infinity; - if (ux == 0x7F800000) return x; // log(inf) == inf. - if ((ux >> 31) || (ux << 1) >= 0xFF000000) return (x - x) / (x - x); - // x is subnormal, normalize it. - ux = reinterpret(x * Ox1p23f); - ux -= 23 << 23; - } - // x = 2^k z; where z is in range [OFF,2*OFF] and exact. - // The range is split into N subintervals. - // The ith subinterval contains z and c is near its center. - let tmp = ux - 0x3F330000; - let i = (tmp >> (23 - LOGF_TABLE_BITS)) & N_MASK; - let k = tmp >> 23; - let iz = ux - (tmp & 0x1FF << 23); - - let invc = load(LOGF_DATA_TAB + (i << (1 + alignof())), 0 << alignof()); - let logc = load(LOGF_DATA_TAB + (i << (1 + alignof())), 1 << alignof()); - - let z = reinterpret(iz); - - // log(x) = log1p(z/c-1) + log(c) + k*Ln2 - let r = z * invc - 1; - let y0 = logc + k * Ln2; - - // Pipelined polynomial evaluation to approximate log1p(r). - let r2 = r * r; - let y = A1 * r + A2; - y += A0 * r2; - y = y * r2 + (y0 + r); - - return y; -} - -// -// Lookup data for powf. See: https://git.musl-libc.org/cgit/musl/tree/src/math/powf.c -// - -// @ts-ignore: decorator -@inline -function zeroinfnanf(ux: u32): bool { - return (ux << 1) - 1 >= (0x7f800000 << 1) - 1; -} - -// Returns 0 if not int, 1 if odd int, 2 if even int. The argument is -// the bit representation of a non-zero finite floating-point value. -// @ts-ignore: decorator -@inline -function checkintf(iy: u32): i32 { - let e = iy >> 23 & 0xFF; - if (e < 0x7F ) return 0; - if (e > 0x7F + 23) return 2; - e = 1 << (0x7F + 23 - e); - if (iy & (e - 1)) return 0; - if (iy & e ) return 1; - return 2; -} - -// Subnormal input is normalized so ix has negative biased exponent. -// Output is multiplied by N (POWF_SCALE) if TOINT_INTRINICS is set. -// @ts-ignore: decorator -@inline -function log2f_inline(ux: u32): f64 { - const N_MASK = (1 << LOG2F_TABLE_BITS) - 1; - - const - A0 = reinterpret(0x3FD27616C9496E0B), // 0x1.27616c9496e0bp-2 - A1 = reinterpret(0xBFD71969A075C67A), // -0x1.71969a075c67ap-2 - A2 = reinterpret(0x3FDEC70A6CA7BADD), // 0x1.ec70a6ca7baddp-2 - A3 = reinterpret(0xBFE7154748BEF6C8), // -0x1.7154748bef6c8p-1 - A4 = reinterpret(0x3FF71547652AB82B); // 0x1.71547652ab82bp+0 - - // x = 2^k z; where z is in range [OFF,2*OFF] and exact. - // The range is split into N subintervals. - // The ith subinterval contains z and c is near its center. - let tmp = ux - 0x3F330000; - let i = usize((tmp >> (23 - LOG2F_TABLE_BITS)) & N_MASK); - let top = tmp & 0xFF800000; - let uz = ux - top; - let k = top >> 23; - - let invc = load(LOG2F_DATA_TAB + (i << (1 + alignof())), 0 << alignof()); - let logc = load(LOG2F_DATA_TAB + (i << (1 + alignof())), 1 << alignof()); - let z = reinterpret(uz); - - // log2(x) = log1p(z/c-1)/ln2 + log2(c) + k - let r = z * invc - 1; - let y0 = logc + k; - - // Pipelined polynomial evaluation to approximate log1p(r)/ln2. - let y = A0 * r + A1; - let p = A2 * r + A3; - let q = A4 * r + y0; - - r *= r; - q += p * r; - y = y * (r * r) + q; - - return y; -} - -// The output of log2 and thus the input of exp2 is either scaled by N -// (in case of fast toint intrinsics) or not. The unscaled xd must be -// in [-1021,1023], sign_bias sets the sign of the result. -// @ts-ignore: decorator -@inline -function exp2f_inline(xd: f64, signBias: u32): f32 { - const - N = 1 << EXP2F_TABLE_BITS, - N_MASK = N - 1, - shift = reinterpret(0x4338000000000000) / N; // 0x1.8p+52 - - const - C0 = reinterpret(0x3FAC6AF84B912394), // 0x1.c6af84b912394p-5 - C1 = reinterpret(0x3FCEBFCE50FAC4F3), // 0x1.ebfce50fac4f3p-3 - C2 = reinterpret(0x3FE62E42FF0C52D6); // 0x1.62e42ff0c52d6p-1 - - // x = k/N + r with r in [-1/(2N), 1/(2N)] - let kd = (xd + shift); - let ki = reinterpret(kd); - let r = xd - (kd - shift); - let t: u64, z: f64, y: f64, s: f64; - - // exp2(x) = 2^(k/N) * 2^r ~= s * (C0*r^3 + C1*r^2 + C2*r + 1) - t = load(EXP2F_DATA_TAB + ((ki & N_MASK) << alignof())); - t += (ki + signBias) << (52 - EXP2F_TABLE_BITS); - s = reinterpret(t); - z = C0 * r + C1; - y = C2 * r + 1; - y += z * (r * r); - y *= s; - return y; -} - -// @ts-ignore: decorator -@inline -function xflowf(sign: u32, y: f32): f32 { - return select(-y, y, sign) * y; -} - -// @ts-ignore: decorator -@inline -function oflowf(sign: u32): f32 { - return xflowf(sign, reinterpret(0x70000000)); // 0x1p97f -} - -// @ts-ignore: decorator -@inline -function uflowf(sign: u32): f32 { - return xflowf(sign, reinterpret(0x10000000)); // 0x1p-95f -} - -// @ts-ignore: decorator -@inline -export function powf_lut(x: f32, y: f32): f32 { - const - Ox1p23f = reinterpret(0x4B000000), // 0x1p23f - UPPER_LIMIT = reinterpret(0x405FFFFFFFD1D571), // 0x1.fffffffd1d571p+6 - LOWER_LIMIT = -150.0, - SIGN_BIAS = 1 << (EXP2F_TABLE_BITS + 11); - - let signBias: u32 = 0; - let ix = reinterpret(x); - let iy = reinterpret(y); - let ny = 0; - - if (i32(ix - 0x00800000 >= 0x7f800000 - 0x00800000) | (ny = i32(zeroinfnanf(iy)))) { - // Either (x < 0x1p-126 or inf or nan) or (y is 0 or inf or nan). - if (ny) { - if ((iy << 1) == 0) return 1.0; - if (ix == 0x3F800000) return NaN; // original: 1.0 - if ((ix << 1) > (0x7F800000 << 1) || (iy << 1) > (0x7F800000 << 1)) return x + y; - if ((ix << 1) == (0x3F800000 << 1)) return NaN; // original: 1.0 - if (((ix << 1) < (0x3F800000 << 1)) == !(iy >> 31)) return 0; // |x| < 1 && y==inf or |x| > 1 && y==-inf. - return y * y; - } - if (zeroinfnanf(ix)) { - let x2 = x * x; - if ((ix >> 31) && checkintf(iy) == 1) x2 = -x2; - return iy < 0 ? 1 / x2 : x2; - } - // x and y are non-zero finite. - if (ix < 0) { - // Finite x < 0. - let yint = checkintf(iy); - if (yint == 0) return (x - x) / (x - x); - if (yint == 1) signBias = SIGN_BIAS; - ix &= 0x7FFFFFFF; - } - if (ix < 0x00800000) { - // Normalize subnormal x so exponent becomes negative. - ix = reinterpret(x * Ox1p23f); - ix &= 0x7FFFFFFF; - ix -= 23 << 23; - } - } - let logx = log2f_inline(ix); - let ylogx = y * logx; // cannot overflow, y is single prec. - if ((reinterpret(ylogx) >> 47 & 0xFFFF) >= 0x80BF) { // reinterpret(126.0) >> 47 - // |y * log(x)| >= 126 - if (ylogx > UPPER_LIMIT) return oflowf(signBias); // overflow - if (ylogx <= LOWER_LIMIT) return uflowf(signBias); // underflow - } - return exp2f_inline(ylogx, signBias); -} - -// -// Lookup data for exp. See: https://git.musl-libc.org/cgit/musl/tree/src/math/exp.c -// - -// @ts-ignore: decorator -@inline const EXP_TABLE_BITS = 7; - -// @ts-ignore: decorator -@lazy @inline const EXP_DATA_TAB = memory.data([ - 0x0000000000000000, 0x3FF0000000000000, - 0x3C9B3B4F1A88BF6E, 0x3FEFF63DA9FB3335, - 0xBC7160139CD8DC5D, 0x3FEFEC9A3E778061, - 0xBC905E7A108766D1, 0x3FEFE315E86E7F85, - 0x3C8CD2523567F613, 0x3FEFD9B0D3158574, - 0xBC8BCE8023F98EFA, 0x3FEFD06B29DDF6DE, - 0x3C60F74E61E6C861, 0x3FEFC74518759BC8, - 0x3C90A3E45B33D399, 0x3FEFBE3ECAC6F383, - 0x3C979AA65D837B6D, 0x3FEFB5586CF9890F, - 0x3C8EB51A92FDEFFC, 0x3FEFAC922B7247F7, - 0x3C3EBE3D702F9CD1, 0x3FEFA3EC32D3D1A2, - 0xBC6A033489906E0B, 0x3FEF9B66AFFED31B, - 0xBC9556522A2FBD0E, 0x3FEF9301D0125B51, - 0xBC5080EF8C4EEA55, 0x3FEF8ABDC06C31CC, - 0xBC91C923B9D5F416, 0x3FEF829AAEA92DE0, - 0x3C80D3E3E95C55AF, 0x3FEF7A98C8A58E51, - 0xBC801B15EAA59348, 0x3FEF72B83C7D517B, - 0xBC8F1FF055DE323D, 0x3FEF6AF9388C8DEA, - 0x3C8B898C3F1353BF, 0x3FEF635BEB6FCB75, - 0xBC96D99C7611EB26, 0x3FEF5BE084045CD4, - 0x3C9AECF73E3A2F60, 0x3FEF54873168B9AA, - 0xBC8FE782CB86389D, 0x3FEF4D5022FCD91D, - 0x3C8A6F4144A6C38D, 0x3FEF463B88628CD6, - 0x3C807A05B0E4047D, 0x3FEF3F49917DDC96, - 0x3C968EFDE3A8A894, 0x3FEF387A6E756238, - 0x3C875E18F274487D, 0x3FEF31CE4FB2A63F, - 0x3C80472B981FE7F2, 0x3FEF2B4565E27CDD, - 0xBC96B87B3F71085E, 0x3FEF24DFE1F56381, - 0x3C82F7E16D09AB31, 0x3FEF1E9DF51FDEE1, - 0xBC3D219B1A6FBFFA, 0x3FEF187FD0DAD990, - 0x3C8B3782720C0AB4, 0x3FEF1285A6E4030B, - 0x3C6E149289CECB8F, 0x3FEF0CAFA93E2F56, - 0x3C834D754DB0ABB6, 0x3FEF06FE0A31B715, - 0x3C864201E2AC744C, 0x3FEF0170FC4CD831, - 0x3C8FDD395DD3F84A, 0x3FEEFC08B26416FF, - 0xBC86A3803B8E5B04, 0x3FEEF6C55F929FF1, - 0xBC924AEDCC4B5068, 0x3FEEF1A7373AA9CB, - 0xBC9907F81B512D8E, 0x3FEEECAE6D05D866, - 0xBC71D1E83E9436D2, 0x3FEEE7DB34E59FF7, - 0xBC991919B3CE1B15, 0x3FEEE32DC313A8E5, - 0x3C859F48A72A4C6D, 0x3FEEDEA64C123422, - 0xBC9312607A28698A, 0x3FEEDA4504AC801C, - 0xBC58A78F4817895B, 0x3FEED60A21F72E2A, - 0xBC7C2C9B67499A1B, 0x3FEED1F5D950A897, - 0x3C4363ED60C2AC11, 0x3FEECE086061892D, - 0x3C9666093B0664EF, 0x3FEECA41ED1D0057, - 0x3C6ECCE1DAA10379, 0x3FEEC6A2B5C13CD0, - 0x3C93FF8E3F0F1230, 0x3FEEC32AF0D7D3DE, - 0x3C7690CEBB7AAFB0, 0x3FEEBFDAD5362A27, - 0x3C931DBDEB54E077, 0x3FEEBCB299FDDD0D, - 0xBC8F94340071A38E, 0x3FEEB9B2769D2CA7, - 0xBC87DECCDC93A349, 0x3FEEB6DAA2CF6642, - 0xBC78DEC6BD0F385F, 0x3FEEB42B569D4F82, - 0xBC861246EC7B5CF6, 0x3FEEB1A4CA5D920F, - 0x3C93350518FDD78E, 0x3FEEAF4736B527DA, - 0x3C7B98B72F8A9B05, 0x3FEEAD12D497C7FD, - 0x3C9063E1E21C5409, 0x3FEEAB07DD485429, - 0x3C34C7855019C6EA, 0x3FEEA9268A5946B7, - 0x3C9432E62B64C035, 0x3FEEA76F15AD2148, - 0xBC8CE44A6199769F, 0x3FEEA5E1B976DC09, - 0xBC8C33C53BEF4DA8, 0x3FEEA47EB03A5585, - 0xBC845378892BE9AE, 0x3FEEA34634CCC320, - 0xBC93CEDD78565858, 0x3FEEA23882552225, - 0x3C5710AA807E1964, 0x3FEEA155D44CA973, - 0xBC93B3EFBF5E2228, 0x3FEEA09E667F3BCD, - 0xBC6A12AD8734B982, 0x3FEEA012750BDABF, - 0xBC6367EFB86DA9EE, 0x3FEE9FB23C651A2F, - 0xBC80DC3D54E08851, 0x3FEE9F7DF9519484, - 0xBC781F647E5A3ECF, 0x3FEE9F75E8EC5F74, - 0xBC86EE4AC08B7DB0, 0x3FEE9F9A48A58174, - 0xBC8619321E55E68A, 0x3FEE9FEB564267C9, - 0x3C909CCB5E09D4D3, 0x3FEEA0694FDE5D3F, - 0xBC7B32DCB94DA51D, 0x3FEEA11473EB0187, - 0x3C94ECFD5467C06B, 0x3FEEA1ED0130C132, - 0x3C65EBE1ABD66C55, 0x3FEEA2F336CF4E62, - 0xBC88A1C52FB3CF42, 0x3FEEA427543E1A12, - 0xBC9369B6F13B3734, 0x3FEEA589994CCE13, - 0xBC805E843A19FF1E, 0x3FEEA71A4623C7AD, - 0xBC94D450D872576E, 0x3FEEA8D99B4492ED, - 0x3C90AD675B0E8A00, 0x3FEEAAC7D98A6699, - 0x3C8DB72FC1F0EAB4, 0x3FEEACE5422AA0DB, - 0xBC65B6609CC5E7FF, 0x3FEEAF3216B5448C, - 0x3C7BF68359F35F44, 0x3FEEB1AE99157736, - 0xBC93091FA71E3D83, 0x3FEEB45B0B91FFC6, - 0xBC5DA9B88B6C1E29, 0x3FEEB737B0CDC5E5, - 0xBC6C23F97C90B959, 0x3FEEBA44CBC8520F, - 0xBC92434322F4F9AA, 0x3FEEBD829FDE4E50, - 0xBC85CA6CD7668E4B, 0x3FEEC0F170CA07BA, - 0x3C71AFFC2B91CE27, 0x3FEEC49182A3F090, - 0x3C6DD235E10A73BB, 0x3FEEC86319E32323, - 0xBC87C50422622263, 0x3FEECC667B5DE565, - 0x3C8B1C86E3E231D5, 0x3FEED09BEC4A2D33, - 0xBC91BBD1D3BCBB15, 0x3FEED503B23E255D, - 0x3C90CC319CEE31D2, 0x3FEED99E1330B358, - 0x3C8469846E735AB3, 0x3FEEDE6B5579FDBF, - 0xBC82DFCD978E9DB4, 0x3FEEE36BBFD3F37A, - 0x3C8C1A7792CB3387, 0x3FEEE89F995AD3AD, - 0xBC907B8F4AD1D9FA, 0x3FEEEE07298DB666, - 0xBC55C3D956DCAEBA, 0x3FEEF3A2B84F15FB, - 0xBC90A40E3DA6F640, 0x3FEEF9728DE5593A, - 0xBC68D6F438AD9334, 0x3FEEFF76F2FB5E47, - 0xBC91EEE26B588A35, 0x3FEF05B030A1064A, - 0x3C74FFD70A5FDDCD, 0x3FEF0C1E904BC1D2, - 0xBC91BDFBFA9298AC, 0x3FEF12C25BD71E09, - 0x3C736EAE30AF0CB3, 0x3FEF199BDD85529C, - 0x3C8EE3325C9FFD94, 0x3FEF20AB5FFFD07A, - 0x3C84E08FD10959AC, 0x3FEF27F12E57D14B, - 0x3C63CDAF384E1A67, 0x3FEF2F6D9406E7B5, - 0x3C676B2C6C921968, 0x3FEF3720DCEF9069, - 0xBC808A1883CCB5D2, 0x3FEF3F0B555DC3FA, - 0xBC8FAD5D3FFFFA6F, 0x3FEF472D4A07897C, - 0xBC900DAE3875A949, 0x3FEF4F87080D89F2, - 0x3C74A385A63D07A7, 0x3FEF5818DCFBA487, - 0xBC82919E2040220F, 0x3FEF60E316C98398, - 0x3C8E5A50D5C192AC, 0x3FEF69E603DB3285, - 0x3C843A59AC016B4B, 0x3FEF7321F301B460, - 0xBC82D52107B43E1F, 0x3FEF7C97337B9B5F, - 0xBC892AB93B470DC9, 0x3FEF864614F5A129, - 0x3C74B604603A88D3, 0x3FEF902EE78B3FF6, - 0x3C83C5EC519D7271, 0x3FEF9A51FBC74C83, - 0xBC8FF7128FD391F0, 0x3FEFA4AFA2A490DA, - 0xBC8DAE98E223747D, 0x3FEFAF482D8E67F1, - 0x3C8EC3BC41AA2008, 0x3FEFBA1BEE615A27, - 0x3C842B94C3A9EB32, 0x3FEFC52B376BBA97, - 0x3C8A64A931D185EE, 0x3FEFD0765B6E4540, - 0xBC8E37BAE43BE3ED, 0x3FEFDBFDAD9CBE14, - 0x3C77893B4D91CD9D, 0x3FEFE7C1819E90D8, - 0x3C5305C14160CC89, 0x3FEFF3C22B8F71F1 -]); - -// Handle cases that may overflow or underflow when computing the result that -// is scale*(1+TMP) without intermediate rounding. The bit representation of -// scale is in SBITS, however it has a computed exponent that may have -// overflown into the sign bit so that needs to be adjusted before using it as -// a double. (int32_t)KI is the k used in the argument reduction and exponent -// adjustment of scale, positive k here means the result may overflow and -// negative k means the result may underflow. -// @ts-ignore: decorator -@inline -function specialcase(tmp: f64, sbits: u64, ki: u64): f64 { - const - Ox1p_1022 = reinterpret(0x0010000000000000), // 0x1p-1022 - Ox1p1009 = reinterpret(0x7F00000000000000); // 0x1p1009 - - let scale: f64; - if (!(ki & 0x80000000)) { - // k > 0, the exponent of scale might have overflowed by <= 460. - sbits -= u64(1009) << 52; - scale = reinterpret(sbits); - return Ox1p1009 * (scale + scale * tmp); // 0x1p1009 - } - // k < 0, need special care in the subnormal range. - sbits += u64(1022) << 52; - // Note: sbits is signed scale. - scale = reinterpret(sbits); - let y = scale + scale * tmp; - if (abs(y) < 1.0) { - // Round y to the right precision before scaling it into the subnormal - // range to avoid double rounding that can cause 0.5+E/2 ulp error where - // E is the worst-case ulp error outside the subnormal range. So this - // is only useful if the goal is better than 1 ulp worst-case error. - let one = copysign(1.0, y); - let lo = scale - y + scale * tmp; - let hi = one + y; - lo = one - hi + y + lo; - y = (hi + lo) - one; - // Fix the sign of 0. - if (y == 0.0) y = reinterpret(sbits & 0x8000000000000000); - } - return y * Ox1p_1022; -} - -// @ts-ignore: decorator -@inline -export function exp_lut(x: f64): f64 { - const - N = 1 << EXP_TABLE_BITS, - N_MASK = N - 1; - - const - InvLn2N = reinterpret(0x3FF71547652B82FE) * N, // 0x1.71547652b82fep0 - NegLn2hiN = reinterpret(0xBF762E42FEFA0000), // -0x1.62e42fefa0000p-8 - NegLn2loN = reinterpret(0xBD0CF79ABC9E3B3A), // -0x1.cf79abc9e3b3ap-47 - shift = reinterpret(0x4338000000000000); // 0x1.8p52; - - const - C2 = reinterpret(0x3FDFFFFFFFFFFDBD), // __exp_data.poly[0] (0x1.ffffffffffdbdp-2) - C3 = reinterpret(0x3FC555555555543C), // __exp_data.poly[1] (0x1.555555555543cp-3) - C4 = reinterpret(0x3FA55555CF172B91), // __exp_data.poly[2] (0x1.55555cf172b91p-5) - C5 = reinterpret(0x3F81111167A4D017); // __exp_data.poly[3] (0x1.1111167a4d017p-7) - - let ux = reinterpret(x); - let abstop = u32(ux >> 52) & 0x7FF; - if (abstop - 0x3C9 >= 0x03F) { - if (abstop - 0x3C9 >= 0x80000000) return 1; - if (abstop >= 0x409) { - if (ux == 0xFFF0000000000000) return 0; - if (abstop >= 0x7FF) { - return 1.0 + x; - } else { - return select(0, Infinity, ux < 0); - } - } - // Large x is special cased below. - abstop = 0; - } - - // exp(x) = 2^(k/N) * exp(r), with exp(r) in [2^(-1/2N),2^(1/2N)] - // x = ln2/N*k + r, with int k and r in [-ln2/2N, ln2/2N] - let z = InvLn2N * x; - // #if TOINT_INTRINSICS - // kd = roundtoint(z); - // ki = converttoint(z); - // #elif EXP_USE_TOINT_NARROW - // // z - kd is in [-0.5-2^-16, 0.5] in all rounding modes. - // let kd = z + shift; - // let ki = reinterpret(kd) >> 16; - // let kd = ki; - // #else - // z - kd is in [-1, 1] in non-nearest rounding modes. - let kd = z + shift; - let ki = reinterpret(kd); - kd -= shift; - // #endif - let r = x + kd * NegLn2hiN + kd * NegLn2loN; - // 2^(k/N) ~= scale * (1 + tail). - let idx = usize((ki & N_MASK) << 1); - let top = ki << (52 - EXP_TABLE_BITS); - - let tail = reinterpret(load(EXP_DATA_TAB + (idx << alignof()))); // T[idx] - // This is only a valid scale when -1023*N < k < 1024*N - let sbits = load(EXP_DATA_TAB + (idx << alignof()), 1 << alignof()) + top; // T[idx + 1] - // exp(x) = 2^(k/N) * exp(r) ~= scale + scale * (tail + exp(r) - 1). - // Evaluation is optimized assuming superscalar pipelined execution. - let r2 = r * r; - // Without fma the worst case error is 0.25/N ulp larger. - // Worst case error is less than 0.5+1.11/N+(abs poly error * 2^53) ulp. - let tmp = tail + r + r2 * (C2 + r * C3) + r2 * r2 * (C4 + r * C5); - if (abstop == 0) return specialcase(tmp, sbits, ki); - let scale = reinterpret(sbits); - // Note: tmp == 0 or |tmp| > 2^-200 and scale > 2^-739, so there - // is no spurious underflow here even without fma. - return scale + scale * tmp; -} - -// -// Lookup data for exp2. See: https://git.musl-libc.org/cgit/musl/tree/src/math/exp2.c -// - -// Handle cases that may overflow or underflow when computing the result that -// is scale*(1+TMP) without intermediate rounding. The bit representation of -// scale is in SBITS, however it has a computed exponent that may have -// overflown into the sign bit so that needs to be adjusted before using it as -// a double. (int32_t)KI is the k used in the argument reduction and exponent -// adjustment of scale, positive k here means the result may overflow and -// negative k means the result may underflow. -// @ts-ignore: decorator -@inline -function specialcase2(tmp: f64, sbits: u64, ki: u64): f64 { - const Ox1p_1022 = reinterpret(0x10000000000000); // 0x1p-1022 - let scale: f64; - if ((ki & 0x80000000) == 0) { - // k > 0, the exponent of scale might have overflowed by 1 - sbits -= u64(1) << 52; - scale = reinterpret(sbits); - return 2 * (scale * tmp + scale); - } - // k < 0, need special care in the subnormal range - sbits += u64(1022) << 52; - scale = reinterpret(sbits); - let y = scale * tmp + scale; - if (y < 1.0) { - // Round y to the right precision before scaling it into the subnormal - // range to avoid double rounding that can cause 0.5+E/2 ulp error where - // E is the worst-case ulp error outside the subnormal range. So this - // is only useful if the goal is better than 1 ulp worst-case error. - let hi: f64, lo: f64; - lo = scale - y + scale * tmp; - hi = 1.0 + y; - lo = 1.0 - hi + y + lo; - y = (hi + lo) - 1.0; - } - return y * Ox1p_1022; -} - -// @ts-ignore: decorator -@inline -export function exp2_lut(x: f64): f64 { - const - N = 1 << EXP_TABLE_BITS, - N_MASK = N - 1, - shift = reinterpret(0x4338000000000000) / N; // 0x1.8p52 - - const - C1 = reinterpret(0x3FE62E42FEFA39EF), // 0x1.62e42fefa39efp-1 - C2 = reinterpret(0x3FCEBFBDFF82C424), // 0x1.ebfbdff82c424p-3 - C3 = reinterpret(0x3FAC6B08D70CF4B5), // 0x1.c6b08d70cf4b5p-5 - C4 = reinterpret(0x3F83B2ABD24650CC), // 0x1.3b2abd24650ccp-7 - C5 = reinterpret(0x3F55D7E09B4E3A84); // 0x1.5d7e09b4e3a84p-10 - - let ux = reinterpret(x); - let abstop = u32(ux >> 52) & 0x7ff; - if (abstop - 0x3C9 >= 0x03F) { - if (abstop - 0x3C9 >= 0x80000000) return 1.0; - if (abstop >= 0x409) { - if (ux == 0xFFF0000000000000) return 0; - if (abstop >= 0x7FF) return 1.0 + x; - if (ux >= 0) return Infinity; - else if (ux >= 0xC090CC0000000000) return 0; - } - if ((ux << 1) > 0x811A000000000000) abstop = 0; // Large x is special cased below. - } - - // exp2(x) = 2^(k/N) * 2^r, with 2^r in [2^(-1/2N),2^(1/2N)]. - // x = k/N + r, with int k and r in [-1/2N, 1/2N] - let kd = x + shift; - let ki = reinterpret(kd); - kd -= shift; // k/N for int k - let r = x - kd; - // 2^(k/N) ~= scale * (1 + tail) - let idx = usize((ki & N_MASK) << 1); - let top = ki << (52 - EXP_TABLE_BITS); - - let tail = reinterpret(load(EXP_DATA_TAB + (idx << alignof()), 0 << alignof())); // T[idx]) - // This is only a valid scale when -1023*N < k < 1024*N - let sbits = load(EXP_DATA_TAB + (idx << alignof()), 1 << alignof()) + top; // T[idx + 1] - // exp2(x) = 2^(k/N) * 2^r ~= scale + scale * (tail + 2^r - 1). - // Evaluation is optimized assuming superscalar pipelined execution - let r2 = r * r; - // Without fma the worst case error is 0.5/N ulp larger. - // Worst case error is less than 0.5+0.86/N+(abs poly error * 2^53) ulp. - let tmp = tail + r * C1 + r2 * (C2 + r * C3) + r2 * r2 * (C4 + r * C5); - if (abstop == 0) return specialcase2(tmp, sbits, ki); - let scale = reinterpret(sbits); - // Note: tmp == 0 or |tmp| > 2^-65 and scale > 2^-928, so there - // is no spurious underflow here even without fma. - return scale * tmp + scale; -} - -// -// Lookup data for log2. See: https://git.musl-libc.org/cgit/musl/tree/src/math/log2.c -// - -// @ts-ignore: decorator -@inline const LOG2_TABLE_BITS = 6; - -/* Algorithm: - - x = 2^k z - log2(x) = k + log2(c) + log2(z/c) - log2(z/c) = poly(z/c - 1) - -where z is in [1.6p-1; 1.6p0] which is split into N subintervals and z falls -into the ith one, then table entries are computed as - - tab[i].invc = 1/c - tab[i].logc = (double)log2(c) - tab2[i].chi = (double)c - tab2[i].clo = (double)(c - (double)c) - -where c is near the center of the subinterval and is chosen by trying +-2^29 -floating point invc candidates around 1/center and selecting one for which - - 1) the rounding error in 0x1.8p10 + logc is 0, - 2) the rounding error in z - chi - clo is < 0x1p-64 and - 3) the rounding error in (double)log2(c) is minimized (< 0x1p-68). - -Note: 1) ensures that k + logc can be computed without rounding error, 2) -ensures that z/c - 1 can be computed as (z - chi - clo)*invc with close to a -single rounding error when there is no fast fma for z*invc - 1, 3) ensures -that logc + poly(z/c - 1) has small error, however near x == 1 when -|log2(x)| < 0x1p-4, this is not enough so that is special cased. */ - -// @ts-ignore: decorator -@lazy @inline const LOG2_DATA_TAB1 = memory.data([ - // invc , logc - 0x3FF724286BB1ACF8, 0xBFE1095FEECDB000, - 0x3FF6E1F766D2CCA1, 0xBFE08494BD76D000, - 0x3FF6A13D0E30D48A, 0xBFE00143AEE8F800, - 0x3FF661EC32D06C85, 0xBFDEFEC5360B4000, - 0x3FF623FA951198F8, 0xBFDDFDD91AB7E000, - 0x3FF5E75BA4CF026C, 0xBFDCFFAE0CC79000, - 0x3FF5AC055A214FB8, 0xBFDC043811FDA000, - 0x3FF571ED0F166E1E, 0xBFDB0B67323AE000, - 0x3FF53909590BF835, 0xBFDA152F5A2DB000, - 0x3FF5014FED61ADDD, 0xBFD9217F5AF86000, - 0x3FF4CAB88E487BD0, 0xBFD8304DB0719000, - 0x3FF49539B4334FEE, 0xBFD74189F9A9E000, - 0x3FF460CBDFAFD569, 0xBFD6552BB5199000, - 0x3FF42D664EE4B953, 0xBFD56B23A29B1000, - 0x3FF3FB01111DD8A6, 0xBFD483650F5FA000, - 0x3FF3C995B70C5836, 0xBFD39DE937F6A000, - 0x3FF3991C4AB6FD4A, 0xBFD2BAA1538D6000, - 0x3FF3698E0CE099B5, 0xBFD1D98340CA4000, - 0x3FF33AE48213E7B2, 0xBFD0FA853A40E000, - 0x3FF30D191985BDB1, 0xBFD01D9C32E73000, - 0x3FF2E025CAB271D7, 0xBFCE857DA2FA6000, - 0x3FF2B404CF13CD82, 0xBFCCD3C8633D8000, - 0x3FF288B02C7CCB50, 0xBFCB26034C14A000, - 0x3FF25E2263944DE5, 0xBFC97C1C2F4FE000, - 0x3FF234563D8615B1, 0xBFC7D6023F800000, - 0x3FF20B46E33EAF38, 0xBFC633A71A05E000, - 0x3FF1E2EEFDCDA3DD, 0xBFC494F5E9570000, - 0x3FF1BB4A580B3930, 0xBFC2F9E424E0A000, - 0x3FF19453847F2200, 0xBFC162595AFDC000, - 0x3FF16E06C0D5D73C, 0xBFBF9C9A75BD8000, - 0x3FF1485F47B7E4C2, 0xBFBC7B575BF9C000, - 0x3FF12358AD0085D1, 0xBFB960C60FF48000, - 0x3FF0FEF00F532227, 0xBFB64CE247B60000, - 0x3FF0DB2077D03A8F, 0xBFB33F78B2014000, - 0x3FF0B7E6D65980D9, 0xBFB0387D1A42C000, - 0x3FF0953EFE7B408D, 0xBFAA6F9208B50000, - 0x3FF07325CAC53B83, 0xBFA47A954F770000, - 0x3FF05197E40D1B5C, 0xBF9D23A8C50C0000, - 0x3FF03091C1208EA2, 0xBF916A2629780000, - 0x3FF0101025B37E21, 0xBF7720F8D8E80000, - 0x3FEFC07EF9CAA76B, 0x3F86FE53B1500000, - 0x3FEF4465D3F6F184, 0x3FA11CCCE10F8000, - 0x3FEECC079F84107F, 0x3FAC4DFC8C8B8000, - 0x3FEE573A99975AE8, 0x3FB3AA321E574000, - 0x3FEDE5D6F0BD3DE6, 0x3FB918A0D08B8000, - 0x3FED77B681FF38B3, 0x3FBE72E9DA044000, - 0x3FED0CB5724DE943, 0x3FC1DCD2507F6000, - 0x3FECA4B2DC0E7563, 0x3FC476AB03DEA000, - 0x3FEC3F8EE8D6CB51, 0x3FC7074377E22000, - 0x3FEBDD2B4F020C4C, 0x3FC98EDE8BA94000, - 0x3FEB7D6C006015CA, 0x3FCC0DB86AD2E000, - 0x3FEB20366E2E338F, 0x3FCE840AAFCEE000, - 0x3FEAC57026295039, 0x3FD0790AB4678000, - 0x3FEA6D01BC2731DD, 0x3FD1AC056801C000, - 0x3FEA16D3BC3FF18B, 0x3FD2DB11D4FEE000, - 0x3FE9C2D14967FEAD, 0x3FD406464EC58000, - 0x3FE970E4F47C9902, 0x3FD52DBE093AF000, - 0x3FE920FB3982BCF2, 0x3FD651902050D000, - 0x3FE8D30187F759F1, 0x3FD771D2CDEAF000, - 0x3FE886E5EBB9F66D, 0x3FD88E9C857D9000, - 0x3FE83C97B658B994, 0x3FD9A80155E16000, - 0x3FE7F405FFC61022, 0x3FDABE186ED3D000, - 0x3FE7AD22181415CA, 0x3FDBD0F2AEA0E000, - 0x3FE767DCF99EFF8C, 0x3FDCE0A43DBF4000 -]); - -// @ts-ignore: decorator -@lazy @inline const LOG2_DATA_TAB2 = memory.data([ - // chi , clo - 0x3FE6200012B90A8E, 0x3C8904AB0644B605, - 0x3FE66000045734A6, 0x3C61FF9BEA62F7A9, - 0x3FE69FFFC325F2C5, 0x3C827ECFCB3C90BA, - 0x3FE6E00038B95A04, 0x3C88FF8856739326, - 0x3FE71FFFE09994E3, 0x3C8AFD40275F82B1, - 0x3FE7600015590E10, 0xBC72FD75B4238341, - 0x3FE7A00012655BD5, 0x3C7808E67C242B76, - 0x3FE7E0003259E9A6, 0xBC6208E426F622B7, - 0x3FE81FFFEDB4B2D2, 0xBC8402461EA5C92F, - 0x3FE860002DFAFCC3, 0x3C6DF7F4A2F29A1F, - 0x3FE89FFFF78C6B50, 0xBC8E0453094995FD, - 0x3FE8E00039671566, 0xBC8A04F3BEC77B45, - 0x3FE91FFFE2BF1745, 0xBC77FA34400E203C, - 0x3FE95FFFCC5C9FD1, 0xBC76FF8005A0695D, - 0x3FE9A0003BBA4767, 0x3C70F8C4C4EC7E03, - 0x3FE9DFFFE7B92DA5, 0x3C8E7FD9478C4602, - 0x3FEA1FFFD72EFDAF, 0xBC6A0C554DCDAE7E, - 0x3FEA5FFFDE04FF95, 0x3C867DA98CE9B26B, - 0x3FEA9FFFCA5E8D2B, 0xBC8284C9B54C13DE, - 0x3FEADFFFDDAD03EA, 0x3C5812C8EA602E3C, - 0x3FEB1FFFF10D3D4D, 0xBC8EFADDAD27789C, - 0x3FEB5FFFCE21165A, 0x3C53CB1719C61237, - 0x3FEB9FFFD950E674, 0x3C73F7D94194CE00, - 0x3FEBE000139CA8AF, 0x3C750AC4215D9BC0, - 0x3FEC20005B46DF99, 0x3C6BEEA653E9C1C9, - 0x3FEC600040B9F7AE, 0xBC7C079F274A70D6, - 0x3FECA0006255FD8A, 0xBC7A0B4076E84C1F, - 0x3FECDFFFD94C095D, 0x3C88F933F99AB5D7, - 0x3FED1FFFF975D6CF, 0xBC582C08665FE1BE, - 0x3FED5FFFA2561C93, 0xBC7B04289BD295F3, - 0x3FED9FFF9D228B0C, 0x3C870251340FA236, - 0x3FEDE00065BC7E16, 0xBC75011E16A4D80C, - 0x3FEE200002F64791, 0x3C89802F09EF62E0, - 0x3FEE600057D7A6D8, 0xBC7E0B75580CF7FA, - 0x3FEEA00027EDC00C, 0xBC8C848309459811, - 0x3FEEE0006CF5CB7C, 0xBC8F8027951576F4, - 0x3FEF2000782B7DCC, 0xBC8F81D97274538F, - 0x3FEF6000260C450A, 0xBC4071002727FFDC, - 0x3FEF9FFFE88CD533, 0xBC581BDCE1FDA8B0, - 0x3FEFDFFFD50F8689, 0x3C87F91ACB918E6E, - 0x3FF0200004292367, 0x3C9B7FF365324681, - 0x3FF05FFFE3E3D668, 0x3C86FA08DDAE957B, - 0x3FF0A0000A85A757, 0xBC57E2DE80D3FB91, - 0x3FF0E0001A5F3FCC, 0xBC91823305C5F014, - 0x3FF11FFFF8AFBAF5, 0xBC8BFABB6680BAC2, - 0x3FF15FFFE54D91AD, 0xBC9D7F121737E7EF, - 0x3FF1A00011AC36E1, 0x3C9C000A0516F5FF, - 0x3FF1E00019C84248, 0xBC9082FBE4DA5DA0, - 0x3FF220000FFE5E6E, 0xBC88FDD04C9CFB43, - 0x3FF26000269FD891, 0x3C8CFE2A7994D182, - 0x3FF2A00029A6E6DA, 0xBC700273715E8BC5, - 0x3FF2DFFFE0293E39, 0x3C9B7C39DAB2A6F9, - 0x3FF31FFFF7DCF082, 0x3C7DF1336EDC5254, - 0x3FF35FFFF05A8B60, 0xBC9E03564CCD31EB, - 0x3FF3A0002E0EAECC, 0x3C75F0E74BD3A477, - 0x3FF3E000043BB236, 0x3C9C7DCB149D8833, - 0x3FF4200002D187FF, 0x3C7E08AFCF2D3D28, - 0x3FF460000D387CB1, 0x3C820837856599A6, - 0x3FF4A00004569F89, 0xBC89FA5C904FBCD2, - 0x3FF4E000043543F3, 0xBC781125ED175329, - 0x3FF51FFFCC027F0F, 0x3C9883D8847754DC, - 0x3FF55FFFFD87B36F, 0xBC8709E731D02807, - 0x3FF59FFFF21DF7BA, 0x3C87F79F68727B02, - 0x3FF5DFFFEBFC3481, 0xBC9180902E30E93E -]); - -// @ts-ignore: decorator -@inline -export function log2_lut(x: f64): f64 { - const N_MASK = (1 << LOG2_TABLE_BITS) - 1; - - const - LO: u64 = 0x3FEEA4AF00000000, // reinterpret(1.0 - 0x1.5b51p-5) - HI: u64 = 0x3FF0B55900000000; // reinterpret(1.0 + 0x1.6ab2p-5) - - const - InvLn2hi = reinterpret(0x3FF7154765200000), // 0x1.7154765200000p+0 - InvLn2lo = reinterpret(0x3DE705FC2EEFA200), // 0x1.705fc2eefa200p-33 - Ox1p52 = reinterpret(0x4330000000000000); // 0x1p52 - - const - B0 = reinterpret(0xBFE71547652B82FE), // -0x1.71547652b82fep-1 - B1 = reinterpret(0x3FDEC709DC3A03F7), // 0x1.ec709dc3a03f7p-2 - B2 = reinterpret(0xBFD71547652B7C3F), // -0x1.71547652b7c3fp-2 - B3 = reinterpret(0x3FD2776C50F05BE4), // 0x1.2776c50f05be4p-2 - B4 = reinterpret(0xBFCEC709DD768FE5), // -0x1.ec709dd768fe5p-3 - B5 = reinterpret(0x3FCA61761EC4E736), // 0x1.a61761ec4e736p-3 - B6 = reinterpret(0xBFC7153FBC64A79B), // -0x1.7153fbc64a79bp-3 - B7 = reinterpret(0x3FC484D154F01B4A), // 0x1.484d154f01b4ap-3 - B8 = reinterpret(0xBFC289E4A72C383C), // -0x1.289e4a72c383cp-3 - B9 = reinterpret(0x3FC0B32F285AEE66); // 0x1.0b32f285aee66p-3 - - const - A0 = reinterpret(0xBFE71547652B8339), // -0x1.71547652b8339p-1 - A1 = reinterpret(0x3FDEC709DC3A04BE), // 0x1.ec709dc3a04bep-2 - A2 = reinterpret(0xBFD7154764702FFB), // -0x1.7154764702ffbp-2 - A3 = reinterpret(0x3FD2776C50034C48), // 0x1.2776c50034c48p-2 - A4 = reinterpret(0xBFCEC7B328EA92BC), // -0x1.ec7b328ea92bcp-3 - A5 = reinterpret(0x3FCA6225E117F92E); // 0x1.a6225e117f92ep-3 - - let ix = reinterpret(x); - if (ix - LO < HI - LO) { - let r = x - 1.0; - // #if __FP_FAST_FMA - // hi = r * InvLn2hi; - // lo = r * InvLn2lo + __builtin_fma(r, InvLn2hi, -hi); - // #else - let rhi = reinterpret(reinterpret(r) & 0xFFFFFFFF00000000); - let rlo = r - rhi; - let hi = rhi * InvLn2hi; - let lo = rlo * InvLn2hi + r * InvLn2lo; - // #endif - let r2 = r * r; // rounding error: 0x1p-62 - let r4 = r2 * r2; - // Worst-case error is less than 0.54 ULP (0.55 ULP without fma) - let p = r2 * (B0 + r * B1); - let y = hi + p; - lo += hi - y + p; - lo += r4 * (B2 + r * B3 + r2 * (B4 + r * B5) + - r4 * (B6 + r * B7 + r2 * (B8 + r * B9))); - return y + lo; - } - let top = u32(ix >> 48); - if (top - 0x0010 >= 0x7ff0 - 0x0010) { - // x < 0x1p-1022 or inf or nan. - if ((ix << 1) == 0) return -1.0 / (x * x); - if (ix == 0x7FF0000000000000) return x; // log(inf) == inf - if ((top & 0x8000) || (top & 0x7FF0) == 0x7FF0) return (x - x) / (x - x); - // x is subnormal, normalize it. - ix = reinterpret(x * Ox1p52); - ix -= u64(52) << 52; - } - - // x = 2^k z; where z is in range [OFF,2*OFF) and exact. - // The range is split into N subintervals. - // The ith subinterval contains z and c is near its center. - let tmp = ix - 0x3FE6000000000000; - let i = ((tmp >> (52 - LOG2_TABLE_BITS)) & N_MASK); - let k = tmp >> 52; - let iz = ix - (tmp & 0xFFF0000000000000); - - let invc = load(LOG2_DATA_TAB1 + (i << (1 + alignof())), 0 << alignof()); // T[i].invc; - let logc = load(LOG2_DATA_TAB1 + (i << (1 + alignof())), 1 << alignof()); // T[i].logc; - let z = reinterpret(iz); - let kd = k; - - // log2(x) = log2(z/c) + log2(c) + k. - // r ~= z/c - 1, |r| < 1/(2*N). - // #if __FP_FAST_FMA - // // rounding error: 0x1p-55/N. - // r = __builtin_fma(z, invc, -1.0); - // t1 = r * InvLn2hi; - // t2 = r * InvLn2lo + __builtin_fma(r, InvLn2hi, -t1); - // #else - // rounding error: 0x1p-55/N + 0x1p-65. - let chi = load(LOG2_DATA_TAB2 + (i << (1 + alignof())), 0 << alignof()); // T[i].chi; - let clo = load(LOG2_DATA_TAB2 + (i << (1 + alignof())), 1 << alignof()); // T[i].clo; - - let r = (z - chi - clo) * invc; - let rhi = reinterpret(reinterpret(r) & 0xFFFFFFFF00000000); - let rlo = r - rhi; - let t1 = rhi * InvLn2hi; - let t2 = rlo * InvLn2hi + r * InvLn2lo; - // #endif - - // hi + lo = r/ln2 + log2(c) + k - let t3 = kd + logc; - let hi = t3 + t1; - let lo = t3 - hi + t1 + t2; - - // log2(r+1) = r/ln2 + r^2*poly(r) - // Evaluation is optimized assuming superscalar pipelined execution - let r2 = r * r; // rounding error: 0x1p-54/N^2 - // Worst-case error if |y| > 0x1p-4: 0.547 ULP (0.550 ULP without fma). - // ~ 0.5 + 2/N/ln2 + abs-poly-error*0x1p56 ULP (+ 0.003 ULP without fma). - let p = A0 + r * A1 + r2 * (A2 + r * A3) + (r2 * r2) * (A4 + r * A5); - return lo + r2 * p + hi; -} - -// -// Lookup data for log. See: https://git.musl-libc.org/cgit/musl/tree/src/math/log.c -// - -// @ts-ignore: decorator -@inline const LOG_TABLE_BITS = 7; - -/* Algorithm: - - x = 2^k z - log(x) = k ln2 + log(c) + log(z/c) - log(z/c) = poly(z/c - 1) - -where z is in [1.6p-1; 1.6p0] which is split into N subintervals and z falls -into the ith one, then table entries are computed as - - tab[i].invc = 1/c - tab[i].logc = (double)log(c) - tab2[i].chi = (double)c - tab2[i].clo = (double)(c - (double)c) - -where c is near the center of the subinterval and is chosen by trying +-2^29 -floating point invc candidates around 1/center and selecting one for which - - 1) the rounding error in 0x1.8p9 + logc is 0, - 2) the rounding error in z - chi - clo is < 0x1p-66 and - 3) the rounding error in (double)log(c) is minimized (< 0x1p-66). - -Note: 1) ensures that k*ln2hi + logc can be computed without rounding error, -2) ensures that z/c - 1 can be computed as (z - chi - clo)*invc with close to -a single rounding error when there is no fast fma for z*invc - 1, 3) ensures -that logc + poly(z/c - 1) has small error, however near x == 1 when -|log(x)| < 0x1p-4, this is not enough so that is special cased.*/ - -// @ts-ignore: decorator -@lazy @inline const LOG_DATA_TAB1 = memory.data([ - // invc , logc - 0x3FF734F0C3E0DE9F, 0xBFD7CC7F79E69000, - 0x3FF713786A2CE91F, 0xBFD76FEEC20D0000, - 0x3FF6F26008FAB5A0, 0xBFD713E31351E000, - 0x3FF6D1A61F138C7D, 0xBFD6B85B38287800, - 0x3FF6B1490BC5B4D1, 0xBFD65D5590807800, - 0x3FF69147332F0CBA, 0xBFD602D076180000, - 0x3FF6719F18224223, 0xBFD5A8CA86909000, - 0x3FF6524F99A51ED9, 0xBFD54F4356035000, - 0x3FF63356AA8F24C4, 0xBFD4F637C36B4000, - 0x3FF614B36B9DDC14, 0xBFD49DA7FDA85000, - 0x3FF5F66452C65C4C, 0xBFD445923989A800, - 0x3FF5D867B5912C4F, 0xBFD3EDF439B0B800, - 0x3FF5BABCCB5B90DE, 0xBFD396CE448F7000, - 0x3FF59D61F2D91A78, 0xBFD3401E17BDA000, - 0x3FF5805612465687, 0xBFD2E9E2EF468000, - 0x3FF56397CEE76BD3, 0xBFD2941B3830E000, - 0x3FF54725E2A77F93, 0xBFD23EC58CDA8800, - 0x3FF52AFF42064583, 0xBFD1E9E129279000, - 0x3FF50F22DBB2BDDF, 0xBFD1956D2B48F800, - 0x3FF4F38F4734DED7, 0xBFD141679AB9F800, - 0x3FF4D843CFDE2840, 0xBFD0EDD094EF9800, - 0x3FF4BD3EC078A3C8, 0xBFD09AA518DB1000, - 0x3FF4A27FC3E0258A, 0xBFD047E65263B800, - 0x3FF4880524D48434, 0xBFCFEB224586F000, - 0x3FF46DCE1B192D0B, 0xBFCF474A7517B000, - 0x3FF453D9D3391854, 0xBFCEA4443D103000, - 0x3FF43A2744B4845A, 0xBFCE020D44E9B000, - 0x3FF420B54115F8FB, 0xBFCD60A22977F000, - 0x3FF40782DA3EF4B1, 0xBFCCC00104959000, - 0x3FF3EE8F5D57FE8F, 0xBFCC202956891000, - 0x3FF3D5D9A00B4CE9, 0xBFCB81178D811000, - 0x3FF3BD60C010C12B, 0xBFCAE2C9CCD3D000, - 0x3FF3A5242B75DAB8, 0xBFCA45402E129000, - 0x3FF38D22CD9FD002, 0xBFC9A877681DF000, - 0x3FF3755BC5847A1C, 0xBFC90C6D69483000, - 0x3FF35DCE49AD36E2, 0xBFC87120A645C000, - 0x3FF34679984DD440, 0xBFC7D68FB4143000, - 0x3FF32F5CCEFFCB24, 0xBFC73CB83C627000, - 0x3FF3187775A10D49, 0xBFC6A39A9B376000, - 0x3FF301C8373E3990, 0xBFC60B3154B7A000, - 0x3FF2EB4EBB95F841, 0xBFC5737D76243000, - 0x3FF2D50A0219A9D1, 0xBFC4DC7B8FC23000, - 0x3FF2BEF9A8B7FD2A, 0xBFC4462C51D20000, - 0x3FF2A91C7A0C1BAB, 0xBFC3B08ABC830000, - 0x3FF293726014B530, 0xBFC31B996B490000, - 0x3FF27DFA5757A1F5, 0xBFC2875490A44000, - 0x3FF268B39B1D3BBF, 0xBFC1F3B9F879A000, - 0x3FF2539D838FF5BD, 0xBFC160C8252CA000, - 0x3FF23EB7AAC9083B, 0xBFC0CE7F57F72000, - 0x3FF22A012BA940B6, 0xBFC03CDC49FEA000, - 0x3FF2157996CC4132, 0xBFBF57BDBC4B8000, - 0x3FF201201DD2FC9B, 0xBFBE370896404000, - 0x3FF1ECF4494D480B, 0xBFBD17983EF94000, - 0x3FF1D8F5528F6569, 0xBFBBF9674ED8A000, - 0x3FF1C52311577E7C, 0xBFBADC79202F6000, - 0x3FF1B17C74CB26E9, 0xBFB9C0C3E7288000, - 0x3FF19E010C2C1AB6, 0xBFB8A646B372C000, - 0x3FF18AB07BB670BD, 0xBFB78D01B3AC0000, - 0x3FF1778A25EFBCB6, 0xBFB674F145380000, - 0x3FF1648D354C31DA, 0xBFB55E0E6D878000, - 0x3FF151B990275FDD, 0xBFB4485CDEA1E000, - 0x3FF13F0EA432D24C, 0xBFB333D94D6AA000, - 0x3FF12C8B7210F9DA, 0xBFB22079F8C56000, - 0x3FF11A3028ECB531, 0xBFB10E4698622000, - 0x3FF107FBDA8434AF, 0xBFAFFA6C6AD20000, - 0x3FF0F5EE0F4E6BB3, 0xBFADDA8D4A774000, - 0x3FF0E4065D2A9FCE, 0xBFABBCECE4850000, - 0x3FF0D244632CA521, 0xBFA9A1894012C000, - 0x3FF0C0A77CE2981A, 0xBFA788583302C000, - 0x3FF0AF2F83C636D1, 0xBFA5715E67D68000, - 0x3FF09DDB98A01339, 0xBFA35C8A49658000, - 0x3FF08CABAF52E7DF, 0xBFA149E364154000, - 0x3FF07B9F2F4E28FB, 0xBF9E72C082EB8000, - 0x3FF06AB58C358F19, 0xBF9A55F152528000, - 0x3FF059EEA5ECF92C, 0xBF963D62CF818000, - 0x3FF04949CDD12C90, 0xBF9228FB8CAA0000, - 0x3FF038C6C6F0ADA9, 0xBF8C317B20F90000, - 0x3FF02865137932A9, 0xBF8419355DAA0000, - 0x3FF0182427EA7348, 0xBF781203C2EC0000, - 0x3FF008040614B195, 0xBF60040979240000, - 0x3FEFE01FF726FA1A, 0x3F6FEFF384900000, - 0x3FEFA11CC261EA74, 0x3F87DC41353D0000, - 0x3FEF6310B081992E, 0x3F93CEA3C4C28000, - 0x3FEF25F63CEEADCD, 0x3F9B9FC114890000, - 0x3FEEE9C8039113E7, 0x3FA1B0D8CE110000, - 0x3FEEAE8078CBB1AB, 0x3FA58A5BD001C000, - 0x3FEE741AA29D0C9B, 0x3FA95C8340D88000, - 0x3FEE3A91830A99B5, 0x3FAD276AEF578000, - 0x3FEE01E009609A56, 0x3FB07598E598C000, - 0x3FEDCA01E577BB98, 0x3FB253F5E30D2000, - 0x3FED92F20B7C9103, 0x3FB42EDD8B380000, - 0x3FED5CAC66FB5CCE, 0x3FB606598757C000, - 0x3FED272CAA5EDE9D, 0x3FB7DA76356A0000, - 0x3FECF26E3E6B2CCD, 0x3FB9AB434E1C6000, - 0x3FECBE6DA2A77902, 0x3FBB78C7BB0D6000, - 0x3FEC8B266D37086D, 0x3FBD431332E72000, - 0x3FEC5894BD5D5804, 0x3FBF0A3171DE6000, - 0x3FEC26B533BB9F8C, 0x3FC067152B914000, - 0x3FEBF583EEECE73F, 0x3FC147858292B000, - 0x3FEBC4FD75DB96C1, 0x3FC2266ECDCA3000, - 0x3FEB951E0C864A28, 0x3FC303D7A6C55000, - 0x3FEB65E2C5EF3E2C, 0x3FC3DFC33C331000, - 0x3FEB374867C9888B, 0x3FC4BA366B7A8000, - 0x3FEB094B211D304A, 0x3FC5933928D1F000, - 0x3FEADBE885F2EF7E, 0x3FC66ACD2418F000, - 0x3FEAAF1D31603DA2, 0x3FC740F8EC669000, - 0x3FEA82E63FD358A7, 0x3FC815C0F51AF000, - 0x3FEA5740EF09738B, 0x3FC8E92954F68000, - 0x3FEA2C2A90AB4B27, 0x3FC9BB3602F84000, - 0x3FEA01A01393F2D1, 0x3FCA8BED1C2C0000, - 0x3FE9D79F24DB3C1B, 0x3FCB5B515C01D000, - 0x3FE9AE2505C7B190, 0x3FCC2967CCBCC000, - 0x3FE9852EF297CE2F, 0x3FCCF635D5486000, - 0x3FE95CBAEEA44B75, 0x3FCDC1BD3446C000, - 0x3FE934C69DE74838, 0x3FCE8C01B8CFE000, - 0x3FE90D4F2F6752E6, 0x3FCF5509C0179000, - 0x3FE8E6528EFFD79D, 0x3FD00E6C121FB800, - 0x3FE8BFCE9FCC007C, 0x3FD071B80E93D000, - 0x3FE899C0DABEC30E, 0x3FD0D46B9E867000, - 0x3FE87427AA2317FB, 0x3FD13687334BD000, - 0x3FE84F00ACB39A08, 0x3FD1980D67234800, - 0x3FE82A49E8653E55, 0x3FD1F8FFE0CC8000, - 0x3FE8060195F40260, 0x3FD2595FD7636800, - 0x3FE7E22563E0A329, 0x3FD2B9300914A800, - 0x3FE7BEB377DCB5AD, 0x3FD3187210436000, - 0x3FE79BAA679725C2, 0x3FD377266DEC1800, - 0x3FE77907F2170657, 0x3FD3D54FFBAF3000, - 0x3FE756CADBD6130C, 0x3FD432EEE32FE000 -]); - -// @ts-ignore: decorator -@lazy @inline const LOG_DATA_TAB2 = memory.data([ - // chi , clo - 0x3FE61000014FB66B, 0x3C7E026C91425B3C, - 0x3FE63000034DB495, 0x3C8DBFEA48005D41, - 0x3FE650000D94D478, 0x3C8E7FA786D6A5B7, - 0x3FE67000074E6FAD, 0x3C61FCEA6B54254C, - 0x3FE68FFFFEDF0FAE, 0xBC7C7E274C590EFD, - 0x3FE6B0000763C5BC, 0xBC8AC16848DCDA01, - 0x3FE6D0001E5CC1F6, 0x3C833F1C9D499311, - 0x3FE6EFFFEB05F63E, 0xBC7E80041AE22D53, - 0x3FE710000E869780, 0x3C7BFF6671097952, - 0x3FE72FFFFC67E912, 0x3C8C00E226BD8724, - 0x3FE74FFFDF81116A, 0xBC6E02916EF101D2, - 0x3FE770000F679C90, 0xBC67FC71CD549C74, - 0x3FE78FFFFA7EC835, 0x3C81BEC19EF50483, - 0x3FE7AFFFFE20C2E6, 0xBC707E1729CC6465, - 0x3FE7CFFFED3FC900, 0xBC808072087B8B1C, - 0x3FE7EFFFE9261A76, 0x3C8DC0286D9DF9AE, - 0x3FE81000049CA3E8, 0x3C897FD251E54C33, - 0x3FE8300017932C8F, 0xBC8AFEE9B630F381, - 0x3FE850000633739C, 0x3C89BFBF6B6535BC, - 0x3FE87000204289C6, 0xBC8BBF65F3117B75, - 0x3FE88FFFEBF57904, 0xBC89006EA23DCB57, - 0x3FE8B00022BC04DF, 0xBC7D00DF38E04B0A, - 0x3FE8CFFFE50C1B8A, 0xBC88007146FF9F05, - 0x3FE8EFFFFC918E43, 0x3C83817BD07A7038, - 0x3FE910001EFA5FC7, 0x3C893E9176DFB403, - 0x3FE9300013467BB9, 0x3C7F804E4B980276, - 0x3FE94FFFE6EE076F, 0xBC8F7EF0D9FF622E, - 0x3FE96FFFDE3C12D1, 0xBC7082AA962638BA, - 0x3FE98FFFF4458A0D, 0xBC87801B9164A8EF, - 0x3FE9AFFFDD982E3E, 0xBC8740E08A5A9337, - 0x3FE9CFFFED49FB66, 0x3C3FCE08C19BE000, - 0x3FE9F00020F19C51, 0xBC8A3FAA27885B0A, - 0x3FEA10001145B006, 0x3C74FF489958DA56, - 0x3FEA300007BBF6FA, 0x3C8CBEAB8A2B6D18, - 0x3FEA500010971D79, 0x3C88FECADD787930, - 0x3FEA70001DF52E48, 0xBC8F41763DD8ABDB, - 0x3FEA90001C593352, 0xBC8EBF0284C27612, - 0x3FEAB0002A4F3E4B, 0xBC69FD043CFF3F5F, - 0x3FEACFFFD7AE1ED1, 0xBC823EE7129070B4, - 0x3FEAEFFFEE510478, 0x3C6A063EE00EDEA3, - 0x3FEB0FFFDB650D5B, 0x3C5A06C8381F0AB9, - 0x3FEB2FFFFEAACA57, 0xBC79011E74233C1D, - 0x3FEB4FFFD995BADC, 0xBC79FF1068862A9F, - 0x3FEB7000249E659C, 0x3C8AFF45D0864F3E, - 0x3FEB8FFFF9871640, 0x3C7CFE7796C2C3F9, - 0x3FEBAFFFD204CB4F, 0xBC63FF27EEF22BC4, - 0x3FEBCFFFD2415C45, 0xBC6CFFB7EE3BEA21, - 0x3FEBEFFFF86309DF, 0xBC814103972E0B5C, - 0x3FEC0FFFE1B57653, 0x3C8BC16494B76A19, - 0x3FEC2FFFF1FA57E3, 0xBC64FEEF8D30C6ED, - 0x3FEC4FFFDCBFE424, 0xBC843F68BCEC4775, - 0x3FEC6FFFED54B9F7, 0x3C847EA3F053E0EC, - 0x3FEC8FFFEB998FD5, 0x3C7383068DF992F1, - 0x3FECB0002125219A, 0xBC68FD8E64180E04, - 0x3FECCFFFDD94469C, 0x3C8E7EBE1CC7EA72, - 0x3FECEFFFEAFDC476, 0x3C8EBE39AD9F88FE, - 0x3FED1000169AF82B, 0x3C757D91A8B95A71, - 0x3FED30000D0FF71D, 0x3C89C1906970C7DA, - 0x3FED4FFFEA790FC4, 0xBC580E37C558FE0C, - 0x3FED70002EDC87E5, 0xBC7F80D64DC10F44, - 0x3FED900021DC82AA, 0xBC747C8F94FD5C5C, - 0x3FEDAFFFD86B0283, 0x3C8C7F1DC521617E, - 0x3FEDD000296C4739, 0x3C88019EB2FFB153, - 0x3FEDEFFFE54490F5, 0x3C6E00D2C652CC89, - 0x3FEE0FFFCDABF694, 0xBC7F8340202D69D2, - 0x3FEE2FFFDB52C8DD, 0x3C7B00C1CA1B0864, - 0x3FEE4FFFF24216EF, 0x3C72FFA8B094AB51, - 0x3FEE6FFFE88A5E11, 0xBC57F673B1EFBE59, - 0x3FEE9000119EFF0D, 0xBC84808D5E0BC801, - 0x3FEEAFFFDFA51744, 0x3C780006D54320B5, - 0x3FEED0001A127FA1, 0xBC5002F860565C92, - 0x3FEEF00007BABCC4, 0xBC8540445D35E611, - 0x3FEF0FFFF57A8D02, 0xBC4FFB3139EF9105, - 0x3FEF30001EE58AC7, 0x3C8A81ACF2731155, - 0x3FEF4FFFF5823494, 0x3C8A3F41D4D7C743, - 0x3FEF6FFFFCA94C6B, 0xBC6202F41C987875, - 0x3FEF8FFFE1F9C441, 0x3C777DD1F477E74B, - 0x3FEFAFFFD2E0E37E, 0xBC6F01199A7CA331, - 0x3FEFD0001C77E49E, 0x3C7181EE4BCEACB1, - 0x3FEFEFFFF7E0C331, 0xBC6E05370170875A, - 0x3FF00FFFF465606E, 0xBC8A7EAD491C0ADA, - 0x3FF02FFFF3867A58, 0xBC977F69C3FCB2E0, - 0x3FF04FFFFDFC0D17, 0x3C97BFFE34CB945B, - 0x3FF0700003CD4D82, 0x3C820083C0E456CB, - 0x3FF08FFFF9F2CBE8, 0xBC6DFFDFBE37751A, - 0x3FF0B000010CDA65, 0xBC913F7FAEE626EB, - 0x3FF0D00001A4D338, 0x3C807DFA79489FF7, - 0x3FF0EFFFFADAFDFD, 0xBC77040570D66BC0, - 0x3FF110000BBAFD96, 0x3C8E80D4846D0B62, - 0x3FF12FFFFAE5F45D, 0x3C9DBFFA64FD36EF, - 0x3FF150000DD59AD9, 0x3C9A0077701250AE, - 0x3FF170000F21559A, 0x3C8DFDF9E2E3DEEE, - 0x3FF18FFFFC275426, 0x3C910030DC3B7273, - 0x3FF1B000123D3C59, 0x3C997F7980030188, - 0x3FF1CFFFF8299EB7, 0xBC65F932AB9F8C67, - 0x3FF1EFFFF48AD400, 0x3C937FBF9DA75BEB, - 0x3FF210000C8B86A4, 0x3C9F806B91FD5B22, - 0x3FF2300003854303, 0x3C93FFC2EB9FBF33, - 0x3FF24FFFFFBCF684, 0x3C7601E77E2E2E72, - 0x3FF26FFFF52921D9, 0x3C7FFCBB767F0C61, - 0x3FF2900014933A3C, 0xBC7202CA3C02412B, - 0x3FF2B00014556313, 0xBC92808233F21F02, - 0x3FF2CFFFEBFE523B, 0xBC88FF7E384FDCF2, - 0x3FF2F0000BB8AD96, 0xBC85FF51503041C5, - 0x3FF30FFFFB7AE2AF, 0xBC810071885E289D, - 0x3FF32FFFFEAC5F7F, 0xBC91FF5D3FB7B715, - 0x3FF350000CA66756, 0x3C957F82228B82BD, - 0x3FF3700011FBF721, 0x3C8000BAC40DD5CC, - 0x3FF38FFFF9592FB9, 0xBC943F9D2DB2A751, - 0x3FF3B00004DDD242, 0x3C857F6B707638E1, - 0x3FF3CFFFF5B2C957, 0x3C7A023A10BF1231, - 0x3FF3EFFFEAB0B418, 0x3C987F6D66B152B0, - 0x3FF410001532AFF4, 0x3C67F8375F198524, - 0x3FF4300017478B29, 0x3C8301E672DC5143, - 0x3FF44FFFE795B463, 0x3C89FF69B8B2895A, - 0x3FF46FFFE80475E0, 0xBC95C0B19BC2F254, - 0x3FF48FFFEF6FC1E7, 0x3C9B4009F23A2A72, - 0x3FF4AFFFE5BEA704, 0xBC94FFB7BF0D7D45, - 0x3FF4D000171027DE, 0xBC99C06471DC6A3D, - 0x3FF4F0000FF03EE2, 0x3C977F890B85531C, - 0x3FF5100012DC4BD1, 0x3C6004657166A436, - 0x3FF530001605277A, 0xBC96BFCECE233209, - 0x3FF54FFFECDB704C, 0xBC8902720505A1D7, - 0x3FF56FFFEF5F54A9, 0x3C9BBFE60EC96412, - 0x3FF5900017E61012, 0x3C887EC581AFEF90, - 0x3FF5B00003C93E92, 0xBC9F41080ABF0CC0, - 0x3FF5D0001D4919BC, 0xBC98812AFB254729, - 0x3FF5EFFFE7B87A89, 0xBC947EB780ED6904 -]); - -// @ts-ignore: decorator -@inline -export function log_lut(x: f64): f64 { - const N_MASK = (1 << LOG_TABLE_BITS) - 1; - - const - B0 = reinterpret(0xBFE0000000000000), // -0x1p-1 - B1 = reinterpret(0x3FD5555555555577), // 0x1.5555555555577p-2 - B2 = reinterpret(0xBFCFFFFFFFFFFDCB), // -0x1.ffffffffffdcbp-3 - B3 = reinterpret(0x3FC999999995DD0C), // 0x1.999999995dd0cp-3 - B4 = reinterpret(0xBFC55555556745A7), // -0x1.55555556745a7p-3 - B5 = reinterpret(0x3FC24924A344DE30), // 0x1.24924a344de3p-3 - B6 = reinterpret(0xBFBFFFFFA4423D65), // -0x1.fffffa4423d65p-4 - B7 = reinterpret(0x3FBC7184282AD6CA), // 0x1.c7184282ad6cap-4 - B8 = reinterpret(0xBFB999EB43B068FF), // -0x1.999eb43b068ffp-4 - B9 = reinterpret(0x3FB78182F7AFD085), // 0x1.78182f7afd085p-4 - B10 = reinterpret(0xBFB5521375D145CD); // -0x1.5521375d145cdp-4 - - const - A0 = reinterpret(0xBFE0000000000001), // -0x1.0000000000001p-1 - A1 = reinterpret(0x3FD555555551305B), // 0x1.555555551305bp-2 - A2 = reinterpret(0xBFCFFFFFFFEB4590), // -0x1.fffffffeb459p-3 - A3 = reinterpret(0x3FC999B324F10111), // 0x1.999b324f10111p-3 - A4 = reinterpret(0xBFC55575E506C89F); // -0x1.55575e506c89fp-3 - - const - LO: u64 = 0x3FEE000000000000, - HI: u64 = 0x3FF1090000000000; - - const - Ln2hi = reinterpret(0x3FE62E42FEFA3800), // 0x1.62e42fefa3800p-1 - Ln2lo = reinterpret(0x3D2EF35793C76730), // 0x1.ef35793c76730p-45 - Ox1p27 = reinterpret(0x41A0000000000000), // 0x1p27 - Ox1p52 = reinterpret(0x4330000000000000); // 0x1p52 - - let ix = reinterpret(x); - if (ix - LO < HI - LO) { - let r = x - 1.0; - let r2 = r * r; - let r3 = r2 * r; - let y = - r3 * (B1 + r * B2 + r2 * B3 + - r3 * (B4 + r * B5 + r2 * B6 + - r3 * (B7 + r * B8 + r2 * B9 + r3 * B10))); - // Worst-case error is around 0.507 ULP - let w = r * Ox1p27; - let rhi = r + w - w; - let rlo = r - rhi; - w = rhi * rhi * B0; // B[0] == -0.5 - let hi = r + w; - let lo = r - hi + w; - lo += B0 * rlo * (rhi + r); - return y + lo + hi; - } - let top = u32(ix >> 48); - if (top - 0x0010 >= 0x7FF0 - 0x0010) { - // x < 0x1p-1022 or inf or nan - if ((ix << 1) == 0) return -1.0 / (x * x); - if (ix == reinterpret(Infinity)) return x; // log(inf) == inf - if ((top & 0x8000) || (top & 0x7FF0) == 0x7FF0) return (x - x) / (x - x); - // x is subnormal, normalize it - ix = reinterpret(x * Ox1p52); - ix -= u64(52) << 52; - } - - // x = 2^k z; where z is in range [OFF,2*OFF) and exact. - // The range is split into N subintervals. - // The ith subinterval contains z and c is near its center. - let tmp = ix - 0x3FE6000000000000; - let i = ((tmp >> (52 - LOG_TABLE_BITS)) & N_MASK); - let k = tmp >> 52; - let iz = ix - (tmp & (u64(0xFFF) << 52)); - - let invc = load(LOG_DATA_TAB1 + (i << (1 + alignof())), 0 << alignof()); // T[i].invc; - let logc = load(LOG_DATA_TAB1 + (i << (1 + alignof())), 1 << alignof()); // T[i].logc; - let z = reinterpret(iz); - - // log(x) = log1p(z/c-1) + log(c) + k*Ln2. - // r ~= z/c - 1, |r| < 1/(2*N) - // #if __FP_FAST_FMA - // // rounding error: 0x1p-55/N - // r = __builtin_fma(z, invc, -1.0); - // #else - // rounding error: 0x1p-55/N + 0x1p-66 - const chi = load(LOG_DATA_TAB2 + (i << (1 + alignof())), 0 << alignof()); // T2[i].chi - const clo = load(LOG_DATA_TAB2 + (i << (1 + alignof())), 1 << alignof()); // T2[i].clo - let r = (z - chi - clo) * invc; - // #endif - let kd = k; - - // hi + lo = r + log(c) + k*Ln2 - let w = kd * Ln2hi + logc; - let hi = w + r; - let lo = w - hi + r + kd * Ln2lo; - - // log(x) = lo + (log1p(r) - r) + hi - let r2 = r * r; // rounding error: 0x1p-54/N^2 - // Worst case error if |y| > 0x1p-5: - // 0.5 + 4.13/N + abs-poly-error*2^57 ULP (+ 0.002 ULP without fma) - // Worst case error if |y| > 0x1p-4: - // 0.5 + 2.06/N + abs-poly-error*2^56 ULP (+ 0.001 ULP without fma). - return lo + r2 * A0 + r * r2 * (A1 + r * A2 + r2 * (A3 + r * A4)) + hi; -} - -// -// Lookup data for pow. See: https://git.musl-libc.org/cgit/musl/tree/src/math/pow.c -// - -// @ts-ignore: decorator -@inline const POW_LOG_TABLE_BITS = 7; - -/* Algorithm: - - x = 2^k z - log(x) = k ln2 + log(c) + log(z/c) - log(z/c) = poly(z/c - 1) - -where z is in [0x1.69555p-1; 0x1.69555p0] which is split into N subintervals -and z falls into the ith one, then table entries are computed as - - tab[i].invc = 1/c - tab[i].logc = round(0x1p43*log(c))/0x1p43 - tab[i].logctail = (double)(log(c) - logc) - -where c is chosen near the center of the subinterval such that 1/c has only a -few precision bits so z/c - 1 is exactly representible as double: - - 1/c = center < 1 ? round(N/center)/N : round(2*N/center)/N/2 - -Note: |z/c - 1| < 1/N for the chosen c, |log(c) - logc - logctail| < 0x1p-97, -the last few bits of logc are rounded away so k*ln2hi + logc has no rounding -error and the interval for z is selected such that near x == 1, where log(x) -is tiny, large cancellation error is avoided in logc + poly(z/c - 1). */ - -// @ts-ignore: decorator -@lazy @inline const POW_LOG_DATA_TAB = memory.data([ - // invc ,pad, logc , logctail - 0x3FF6A00000000000, 0, 0xBFD62C82F2B9C800, 0x3CFAB42428375680, - 0x3FF6800000000000, 0, 0xBFD5D1BDBF580800, 0xBD1CA508D8E0F720, - 0x3FF6600000000000, 0, 0xBFD5767717455800, 0xBD2362A4D5B6506D, - 0x3FF6400000000000, 0, 0xBFD51AAD872DF800, 0xBCE684E49EB067D5, - 0x3FF6200000000000, 0, 0xBFD4BE5F95777800, 0xBD041B6993293EE0, - 0x3FF6000000000000, 0, 0xBFD4618BC21C6000, 0x3D13D82F484C84CC, - 0x3FF5E00000000000, 0, 0xBFD404308686A800, 0x3CDC42F3ED820B3A, - 0x3FF5C00000000000, 0, 0xBFD3A64C55694800, 0x3D20B1C686519460, - 0x3FF5A00000000000, 0, 0xBFD347DD9A988000, 0x3D25594DD4C58092, - 0x3FF5800000000000, 0, 0xBFD2E8E2BAE12000, 0x3D267B1E99B72BD8, - 0x3FF5600000000000, 0, 0xBFD2895A13DE8800, 0x3D15CA14B6CFB03F, - 0x3FF5600000000000, 0, 0xBFD2895A13DE8800, 0x3D15CA14B6CFB03F, - 0x3FF5400000000000, 0, 0xBFD22941FBCF7800, 0xBD165A242853DA76, - 0x3FF5200000000000, 0, 0xBFD1C898C1699800, 0xBD1FAFBC68E75404, - 0x3FF5000000000000, 0, 0xBFD1675CABABA800, 0x3D1F1FC63382A8F0, - 0x3FF4E00000000000, 0, 0xBFD1058BF9AE4800, 0xBD26A8C4FD055A66, - 0x3FF4C00000000000, 0, 0xBFD0A324E2739000, 0xBD0C6BEE7EF4030E, - 0x3FF4A00000000000, 0, 0xBFD0402594B4D000, 0xBCF036B89EF42D7F, - 0x3FF4A00000000000, 0, 0xBFD0402594B4D000, 0xBCF036B89EF42D7F, - 0x3FF4800000000000, 0, 0xBFCFB9186D5E4000, 0x3D0D572AAB993C87, - 0x3FF4600000000000, 0, 0xBFCEF0ADCBDC6000, 0x3D2B26B79C86AF24, - 0x3FF4400000000000, 0, 0xBFCE27076E2AF000, 0xBD172F4F543FFF10, - 0x3FF4200000000000, 0, 0xBFCD5C216B4FC000, 0x3D21BA91BBCA681B, - 0x3FF4000000000000, 0, 0xBFCC8FF7C79AA000, 0x3D27794F689F8434, - 0x3FF4000000000000, 0, 0xBFCC8FF7C79AA000, 0x3D27794F689F8434, - 0x3FF3E00000000000, 0, 0xBFCBC286742D9000, 0x3D194EB0318BB78F, - 0x3FF3C00000000000, 0, 0xBFCAF3C94E80C000, 0x3CBA4E633FCD9066, - 0x3FF3A00000000000, 0, 0xBFCA23BC1FE2B000, 0xBD258C64DC46C1EA, - 0x3FF3A00000000000, 0, 0xBFCA23BC1FE2B000, 0xBD258C64DC46C1EA, - 0x3FF3800000000000, 0, 0xBFC9525A9CF45000, 0xBD2AD1D904C1D4E3, - 0x3FF3600000000000, 0, 0xBFC87FA06520D000, 0x3D2BBDBF7FDBFA09, - 0x3FF3400000000000, 0, 0xBFC7AB890210E000, 0x3D2BDB9072534A58, - 0x3FF3400000000000, 0, 0xBFC7AB890210E000, 0x3D2BDB9072534A58, - 0x3FF3200000000000, 0, 0xBFC6D60FE719D000, 0xBD10E46AA3B2E266, - 0x3FF3000000000000, 0, 0xBFC5FF3070A79000, 0xBD1E9E439F105039, - 0x3FF3000000000000, 0, 0xBFC5FF3070A79000, 0xBD1E9E439F105039, - 0x3FF2E00000000000, 0, 0xBFC526E5E3A1B000, 0xBD20DE8B90075B8F, - 0x3FF2C00000000000, 0, 0xBFC44D2B6CCB8000, 0x3D170CC16135783C, - 0x3FF2C00000000000, 0, 0xBFC44D2B6CCB8000, 0x3D170CC16135783C, - 0x3FF2A00000000000, 0, 0xBFC371FC201E9000, 0x3CF178864D27543A, - 0x3FF2800000000000, 0, 0xBFC29552F81FF000, 0xBD248D301771C408, - 0x3FF2600000000000, 0, 0xBFC1B72AD52F6000, 0xBD2E80A41811A396, - 0x3FF2600000000000, 0, 0xBFC1B72AD52F6000, 0xBD2E80A41811A396, - 0x3FF2400000000000, 0, 0xBFC0D77E7CD09000, 0x3D0A699688E85BF4, - 0x3FF2400000000000, 0, 0xBFC0D77E7CD09000, 0x3D0A699688E85BF4, - 0x3FF2200000000000, 0, 0xBFBFEC9131DBE000, 0xBD2575545CA333F2, - 0x3FF2000000000000, 0, 0xBFBE27076E2B0000, 0x3D2A342C2AF0003C, - 0x3FF2000000000000, 0, 0xBFBE27076E2B0000, 0x3D2A342C2AF0003C, - 0x3FF1E00000000000, 0, 0xBFBC5E548F5BC000, 0xBD1D0C57585FBE06, - 0x3FF1C00000000000, 0, 0xBFBA926D3A4AE000, 0x3D253935E85BAAC8, - 0x3FF1C00000000000, 0, 0xBFBA926D3A4AE000, 0x3D253935E85BAAC8, - 0x3FF1A00000000000, 0, 0xBFB8C345D631A000, 0x3D137C294D2F5668, - 0x3FF1A00000000000, 0, 0xBFB8C345D631A000, 0x3D137C294D2F5668, - 0x3FF1800000000000, 0, 0xBFB6F0D28AE56000, 0xBD269737C93373DA, - 0x3FF1600000000000, 0, 0xBFB51B073F062000, 0x3D1F025B61C65E57, - 0x3FF1600000000000, 0, 0xBFB51B073F062000, 0x3D1F025B61C65E57, - 0x3FF1400000000000, 0, 0xBFB341D7961BE000, 0x3D2C5EDACCF913DF, - 0x3FF1400000000000, 0, 0xBFB341D7961BE000, 0x3D2C5EDACCF913DF, - 0x3FF1200000000000, 0, 0xBFB16536EEA38000, 0x3D147C5E768FA309, - 0x3FF1000000000000, 0, 0xBFAF0A30C0118000, 0x3D2D599E83368E91, - 0x3FF1000000000000, 0, 0xBFAF0A30C0118000, 0x3D2D599E83368E91, - 0x3FF0E00000000000, 0, 0xBFAB42DD71198000, 0x3D1C827AE5D6704C, - 0x3FF0E00000000000, 0, 0xBFAB42DD71198000, 0x3D1C827AE5D6704C, - 0x3FF0C00000000000, 0, 0xBFA77458F632C000, 0xBD2CFC4634F2A1EE, - 0x3FF0C00000000000, 0, 0xBFA77458F632C000, 0xBD2CFC4634F2A1EE, - 0x3FF0A00000000000, 0, 0xBFA39E87B9FEC000, 0x3CF502B7F526FEAA, - 0x3FF0A00000000000, 0, 0xBFA39E87B9FEC000, 0x3CF502B7F526FEAA, - 0x3FF0800000000000, 0, 0xBF9F829B0E780000, 0xBD2980267C7E09E4, - 0x3FF0800000000000, 0, 0xBF9F829B0E780000, 0xBD2980267C7E09E4, - 0x3FF0600000000000, 0, 0xBF97B91B07D58000, 0xBD288D5493FAA639, - 0x3FF0400000000000, 0, 0xBF8FC0A8B0FC0000, 0xBCDF1E7CF6D3A69C, - 0x3FF0400000000000, 0, 0xBF8FC0A8B0FC0000, 0xBCDF1E7CF6D3A69C, - 0x3FF0200000000000, 0, 0xBF7FE02A6B100000, 0xBD19E23F0DDA40E4, - 0x3FF0200000000000, 0, 0xBF7FE02A6B100000, 0xBD19E23F0DDA40E4, - 0x3FF0000000000000, 0, 0, 0, - 0x3FF0000000000000, 0, 0, 0, - 0x3FEFC00000000000, 0, 0x3F80101575890000, 0xBD10C76B999D2BE8, - 0x3FEF800000000000, 0, 0x3F90205658938000, 0xBD23DC5B06E2F7D2, - 0x3FEF400000000000, 0, 0x3F98492528C90000, 0xBD2AA0BA325A0C34, - 0x3FEF000000000000, 0, 0x3FA0415D89E74000, 0x3D0111C05CF1D753, - 0x3FEEC00000000000, 0, 0x3FA466AED42E0000, 0xBD2C167375BDFD28, - 0x3FEE800000000000, 0, 0x3FA894AA149FC000, 0xBD197995D05A267D, - 0x3FEE400000000000, 0, 0x3FACCB73CDDDC000, 0xBD1A68F247D82807, - 0x3FEE200000000000, 0, 0x3FAEEA31C006C000, 0xBD0E113E4FC93B7B, - 0x3FEDE00000000000, 0, 0x3FB1973BD1466000, 0xBD25325D560D9E9B, - 0x3FEDA00000000000, 0, 0x3FB3BDF5A7D1E000, 0x3D2CC85EA5DB4ED7, - 0x3FED600000000000, 0, 0x3FB5E95A4D97A000, 0xBD2C69063C5D1D1E, - 0x3FED400000000000, 0, 0x3FB700D30AEAC000, 0x3CEC1E8DA99DED32, - 0x3FED000000000000, 0, 0x3FB9335E5D594000, 0x3D23115C3ABD47DA, - 0x3FECC00000000000, 0, 0x3FBB6AC88DAD6000, 0xBD1390802BF768E5, - 0x3FECA00000000000, 0, 0x3FBC885801BC4000, 0x3D2646D1C65AACD3, - 0x3FEC600000000000, 0, 0x3FBEC739830A2000, 0xBD2DC068AFE645E0, - 0x3FEC400000000000, 0, 0x3FBFE89139DBE000, 0xBD2534D64FA10AFD, - 0x3FEC000000000000, 0, 0x3FC1178E8227E000, 0x3D21EF78CE2D07F2, - 0x3FEBE00000000000, 0, 0x3FC1AA2B7E23F000, 0x3D2CA78E44389934, - 0x3FEBA00000000000, 0, 0x3FC2D1610C868000, 0x3D039D6CCB81B4A1, - 0x3FEB800000000000, 0, 0x3FC365FCB0159000, 0x3CC62FA8234B7289, - 0x3FEB400000000000, 0, 0x3FC4913D8333B000, 0x3D25837954FDB678, - 0x3FEB200000000000, 0, 0x3FC527E5E4A1B000, 0x3D2633E8E5697DC7, - 0x3FEAE00000000000, 0, 0x3FC6574EBE8C1000, 0x3D19CF8B2C3C2E78, - 0x3FEAC00000000000, 0, 0x3FC6F0128B757000, 0xBD25118DE59C21E1, - 0x3FEAA00000000000, 0, 0x3FC7898D85445000, 0xBD1C661070914305, - 0x3FEA600000000000, 0, 0x3FC8BEAFEB390000, 0xBD073D54AAE92CD1, - 0x3FEA400000000000, 0, 0x3FC95A5ADCF70000, 0x3D07F22858A0FF6F, - 0x3FEA000000000000, 0, 0x3FCA93ED3C8AE000, 0xBD28724350562169, - 0x3FE9E00000000000, 0, 0x3FCB31D8575BD000, 0xBD0C358D4EACE1AA, - 0x3FE9C00000000000, 0, 0x3FCBD087383BE000, 0xBD2D4BC4595412B6, - 0x3FE9A00000000000, 0, 0x3FCC6FFBC6F01000, 0xBCF1EC72C5962BD2, - 0x3FE9600000000000, 0, 0x3FCDB13DB0D49000, 0xBD2AFF2AF715B035, - 0x3FE9400000000000, 0, 0x3FCE530EFFE71000, 0x3CC212276041F430, - 0x3FE9200000000000, 0, 0x3FCEF5ADE4DD0000, 0xBCCA211565BB8E11, - 0x3FE9000000000000, 0, 0x3FCF991C6CB3B000, 0x3D1BCBECCA0CDF30, - 0x3FE8C00000000000, 0, 0x3FD07138604D5800, 0x3CF89CDB16ED4E91, - 0x3FE8A00000000000, 0, 0x3FD0C42D67616000, 0x3D27188B163CEAE9, - 0x3FE8800000000000, 0, 0x3FD1178E8227E800, 0xBD2C210E63A5F01C, - 0x3FE8600000000000, 0, 0x3FD16B5CCBACF800, 0x3D2B9ACDF7A51681, - 0x3FE8400000000000, 0, 0x3FD1BF99635A6800, 0x3D2CA6ED5147BDB7, - 0x3FE8200000000000, 0, 0x3FD214456D0EB800, 0x3D0A87DEBA46BAEA, - 0x3FE7E00000000000, 0, 0x3FD2BEF07CDC9000, 0x3D2A9CFA4A5004F4, - 0x3FE7C00000000000, 0, 0x3FD314F1E1D36000, 0xBD28E27AD3213CB8, - 0x3FE7A00000000000, 0, 0x3FD36B6776BE1000, 0x3D116ECDB0F177C8, - 0x3FE7800000000000, 0, 0x3FD3C25277333000, 0x3D183B54B606BD5C, - 0x3FE7600000000000, 0, 0x3FD419B423D5E800, 0x3D08E436EC90E09D, - 0x3FE7400000000000, 0, 0x3FD4718DC271C800, 0xBD2F27CE0967D675, - 0x3FE7200000000000, 0, 0x3FD4C9E09E173000, 0xBD2E20891B0AD8A4, - 0x3FE7000000000000, 0, 0x3FD522AE0738A000, 0x3D2EBE708164C759, - 0x3FE6E00000000000, 0, 0x3FD57BF753C8D000, 0x3D1FADEDEE5D40EF, - 0x3FE6C00000000000, 0, 0x3FD5D5BDDF596000, 0xBD0A0B2A08A465DC -]); - -// Returns 0 if not int, 1 if odd int, 2 if even int. The argument is -// the bit representation of a non-zero finite floating-point value. -// @ts-ignore: decorator -@inline -function checkint(iy: u64): i32 { - let e = iy >> 52 & 0x7FF; - if (e < 0x3FF ) return 0; - if (e > 0x3FF + 52) return 2; - e = u64(1) << (0x3FF + 52 - e); - if (iy & (e - 1)) return 0; - if (iy & e ) return 1; - return 2; -} - -// @ts-ignore: decorator -@inline -function xflow(sign: u32, y: f64): f64 { - return select(-y, y, sign) * y; -} - -// @ts-ignore: decorator -@inline -function uflow(sign: u32): f64 { - return xflow(sign, reinterpret(0x1000000000000000)); // 0x1p-767 -} - -// @ts-ignore: decorator -@inline -function oflow(sign: u32): f64 { - return xflow(sign, reinterpret(0x7000000000000000)); // 0x1p769 -} - -// Returns 1 if input is the bit representation of 0, infinity or nan. -// @ts-ignore: decorator -@inline -function zeroinfnan(u: u64): bool { - return (u << 1) - 1 >= 0xFFE0000000000000 - 1; -} - -// @ts-ignore: decorator -@lazy let log_tail: f64 = 0; - -// Compute y+TAIL = log(x) where the rounded result is y and TAIL has about -// additional 15 bits precision. IX is the bit representation of x, but -// normalized in the subnormal range using the sign bit for the exponent. -// @ts-ignore: decorator -@inline -function log_inline(ix: u64): f64 { - const N = 1 << POW_LOG_TABLE_BITS; - const N_MASK = N - 1; - - const - Ln2hi = reinterpret(0x3FE62E42FEFA3800), - Ln2lo = reinterpret(0x3D2EF35793C76730); - - const - A0 = reinterpret(0xBFE0000000000000), - A1 = reinterpret(0xBFE5555555555560), - A2 = reinterpret(0x3FE0000000000006), - A3 = reinterpret(0x3FE999999959554E), - A4 = reinterpret(0xBFE555555529A47A), - A5 = reinterpret(0xBFF2495B9B4845E9), - A6 = reinterpret(0x3FF0002B8B263FC3); - - // x = 2^k z; where z is in range [OFF,2*OFF) and exact. - // The range is split into N subintervals. - // The ith subinterval contains z and c is near its center. - let tmp = ix - 0x3fE6955500000000; - let i = usize((tmp >> (52 - POW_LOG_TABLE_BITS)) & N_MASK); - let k = tmp >> 52; - let iz = ix - (tmp & u64(0xFFF) << 52); - let z = reinterpret(iz); - let kd = k; - - // log(x) = k*Ln2 + log(c) + log1p(z/c-1). - let invc = load(POW_LOG_DATA_TAB + (i << (2 + alignof())), 0 << alignof()); // tab[i].invc - let logc = load(POW_LOG_DATA_TAB + (i << (2 + alignof())), 2 << alignof()); // tab[i].logc - let logctail = load(POW_LOG_DATA_TAB + (i << (2 + alignof())), 3 << alignof()); // tab[i].logctail - - // Note: 1/c is j/N or j/N/2 where j is an integer in [N,2N) and - // |z/c - 1| < 1/N, so r = z/c - 1 is exactly representible. - // Split z such that rhi, rlo and rhi*rhi are exact and |rlo| <= |r|. - let zhi = reinterpret((iz + u64(0x80000000)) & 0xFFFFFFFF00000000); - let zlo = z - zhi; - let rhi = zhi * invc - 1.0; - let rlo = zlo * invc; - let r = rhi + rlo; - - // k * Ln2 + log(c) + r. - let t1 = kd * Ln2hi + logc; - let t2 = t1 + r; - let lo1 = kd * Ln2lo + logctail; - let lo2 = t1 - t2 + r; - - // Evaluation is optimized assuming superscalar pipelined execution. - let ar = A0 * r; // A[0] = -0.5 - let ar2 = r * ar; - let ar3 = r * ar2; - // k * Ln2 + log(c) + r + A[0] * r * r. - let arhi = A0 * rhi; - let arhi2 = rhi * arhi; - let hi = t2 + arhi2; - let lo3 = rlo * (ar + arhi); - let lo4 = t2 - hi + arhi2; - - // p = log1p(r) - r - A[0] * r * r. - let p = ar3 * (A1 + r * A2 + ar2 * (A3 + r * A4 + ar2 * (A5 + r * A6))); - let lo = lo1 + lo2 + lo3 + lo4 + p; - let y = hi + lo; - log_tail = hi - y + lo; - - return y; -} - -// @ts-ignore: decorator -@inline const SIGN_BIAS = 0x800 << EXP_TABLE_BITS; - -// Computes sign*exp(x+xtail) where |xtail| < 2^-8/N and |xtail| <= |x|. -// The sign_bias argument is SIGN_BIAS or 0 and sets the sign to -1 or 1. -// @ts-ignore: decorator -@inline -function exp_inline(x: f64, xtail: f64, sign_bias: u32): f64 { - const N = 1 << EXP_TABLE_BITS; - const N_MASK = N - 1; - - const - InvLn2N = reinterpret(0x3FF71547652B82FE) * N, // 0x1.71547652b82fep0 - NegLn2hiN = reinterpret(0xBF762E42FEFA0000), // -0x1.62e42fefa0000p-8 - NegLn2loN = reinterpret(0xBD0CF79ABC9E3B3A), // -0x1.cf79abc9e3b3ap-47 - shift = reinterpret(0x4338000000000000); // 0x1.8p52 - - const - C2 = reinterpret(0x3FDFFFFFFFFFFDBD), // __exp_data.poly[0] (0x1.ffffffffffdbdp-2) - C3 = reinterpret(0x3FC555555555543C), // __exp_data.poly[1] (0x1.555555555543cp-3) - C4 = reinterpret(0x3FA55555CF172B91), // __exp_data.poly[2] (0x1.55555cf172b91p-5) - C5 = reinterpret(0x3F81111167A4D017); // __exp_data.poly[3] (0x1.1111167a4d017p-7) - - let abstop: u32; - let ki: u64, top: u64, sbits: u64; - let idx: usize; - // double_t for better performance on targets with FLT_EVAL_METHOD==2. - let kd: f64, z: f64, r: f64, r2: f64, scale: f64, tail: f64, tmp: f64; - - let ux = reinterpret(x); - abstop = u32(ux >> 52) & 0x7FF; - if (abstop - 0x3C9 >= 0x03F) { - if (abstop - 0x3C9 >= 0x80000000) { - // Avoid spurious underflow for tiny x. - // Note: 0 is common input. - return select(-1.0, 1.0, sign_bias); - } - if (abstop >= 0x409) { // top12(1024.0) - // Note: inf and nan are already handled. - return ux < 0 - ? uflow(sign_bias) - : oflow(sign_bias); - } - // Large x is special cased below. - abstop = 0; - } - - // exp(x) = 2^(k/N) * exp(r), with exp(r) in [2^(-1/2N),2^(1/2N)]. - // x = ln2/N*k + r, with int k and r in [-ln2/2N, ln2/2N]. - z = InvLn2N * x; - - // #if TOINT_INTRINSICS - // kd = roundtoint(z); - // ki = converttoint(z); - // #elif EXP_USE_TOINT_NARROW - // // z - kd is in [-0.5-2^-16, 0.5] in all rounding modes. - // kd = eval_as_double(z + shift); - // ki = asuint64(kd) >> 16; - // kd = (double_t)(int32_t)ki; - // #else - // z - kd is in [-1, 1] in non-nearest rounding modes - kd = z + shift; - ki = reinterpret(kd); - kd -= shift; - // #endif - r = x + kd * NegLn2hiN + kd * NegLn2loN; - // The code assumes 2^-200 < |xtail| < 2^-8/N - r += xtail; - // 2^(k/N) ~= scale * (1 + tail) - idx = usize((ki & N_MASK) << 1); - top = (ki + sign_bias) << (52 - EXP_TABLE_BITS); - - tail = reinterpret(load(EXP_DATA_TAB + (idx << alignof()))); - // This is only a valid scale when -1023*N < k < 1024*N - sbits = load(EXP_DATA_TAB + (idx << alignof()), 1 << alignof()) + top; - // exp(x) = 2^(k/N) * exp(r) ~= scale + scale * (tail + exp(r) - 1). - // Evaluation is optimized assuming superscalar pipelined execution. - r2 = r * r; - // Without fma the worst case error is 0.25/N ulp larger. - // Worst case error is less than 0.5+1.11/N+(abs poly error * 2^53) ulp - tmp = tail + r + r2 * (C2 + r * C3) + r2 * r2 * (C4 + r * C5); - if (abstop == 0) return specialcase(tmp, sbits, ki); - scale = reinterpret(sbits); - // Note: tmp == 0 or |tmp| > 2^-200 and scale > 2^-739, so there - // is no spurious underflow here even without fma. - return scale + scale * tmp; -} - -// @ts-ignore: decorator -@inline -export function pow_lut(x: f64, y: f64): f64 { - const Ox1p52 = reinterpret(0x4330000000000000); // 0x1p52 - - let sign_bias: u32 = 0; - let ix = reinterpret(x); - let iy = reinterpret(y); - let topx = ix >> 52; - let topy = iy >> 52; - - if (topx - 0x001 >= 0x7FF - 0x001 || (topy & 0x7FF) - 0x3BE >= 0x43e - 0x3BE) { - // Note: if |y| > 1075 * ln2 * 2^53 ~= 0x1.749p62 then pow(x,y) = inf/0 - // and if |y| < 2^-54 / 1075 ~= 0x1.e7b6p-65 then pow(x,y) = +-1. - // Special cases: (x < 0x1p-126 or inf or nan) or - // (|y| < 0x1p-65 or |y| >= 0x1p63 or nan). - if (zeroinfnan(iy)) { - if ((iy << 1) == 0) return 1.0; - if (ix == 0x3FF0000000000000) return NaN; // original: 1.0 - if ((ix << 1) > 0xFFE0000000000000 || (iy << 1) > 0xFFE0000000000000) return x + y; - if ((ix << 1) == 0x7FE0000000000000) return NaN; // original: 1.0 - if (((ix << 1) < 0x7FE0000000000000) == !(iy >> 63)) return 0; // |x|<1 && y==inf or |x|>1 && y==-inf. - return y * y; - } - if (zeroinfnan(ix)) { - let x2 = x * x; - if (i32(ix >> 63) && checkint(iy) == 1) x2 = -x2; - return iy < 0 ? 1 / x2 : x2; - } - // Here x and y are non-zero finite - if (ix < 0) { - // Finite x < 0 - let yint = checkint(iy); - if (yint == 0) return (x - x) / (x - x); - if (yint == 1) sign_bias = SIGN_BIAS; - ix &= 0x7FFFFFFFFFFFFFFF; - topx &= 0x7FF; - } - if ((topy & 0x7FF) - 0x3BE >= 0x43E - 0x3BE) { - // Note: sign_bias == 0 here because y is not odd. - if (ix == 0x3FF0000000000000) return 1; - if ((topy & 0x7FF) < 0x3BE) return 1; // |y| < 2^-65, x^y ~= 1 + y*log(x). - return (ix > 0x3FF0000000000000) == (topy < 0x800) ? Infinity : 0; - } - if (topx == 0) { - // Normalize subnormal x so exponent becomes negative. - ix = reinterpret(x * Ox1p52); - ix &= 0x7FFFFFFFFFFFFFFF; - ix -= u64(52) << 52; - } - } - - let hi = log_inline(ix); - let lo = log_tail; - let ehi: f64, elo: f64; - // #if __FP_FAST_FMA - // ehi = y * hi; - // elo = y * lo + __builtin_fma(y, hi, -ehi); - // #else - let yhi = reinterpret(iy & 0xFFFFFFFFF8000000); - let ylo = y - yhi; - let lhi = reinterpret(reinterpret(hi) & 0xFFFFFFFFF8000000); - let llo = hi - lhi + lo; - ehi = yhi * lhi; - elo = ylo * lhi + y * llo; // |elo| < |ehi| * 2^-25. - // #endif - return exp_inline(ehi, elo, sign_bias); -} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/util/memory.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/util/memory.ts deleted file mode 100644 index a34e549c..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/std/assembly/util/memory.ts +++ /dev/null @@ -1,290 +0,0 @@ -export function memcpy(dest: usize, src: usize, n: usize): void { // see: musl/src/string/memcpy.c - let w: u32, x: u32; - - // copy 1 byte each until src is aligned to 4 bytes - while (n && (src & 3)) { - store(dest++, load(src++)); - n--; - } - - // if dst is aligned to 4 bytes as well, copy 4 bytes each - if ((dest & 3) == 0) { - while (n >= 16) { - store(dest , load(src )); - store(dest + 4, load(src + 4)); - store(dest + 8, load(src + 8)); - store(dest + 12, load(src + 12)); - src += 16; dest += 16; n -= 16; - } - if (n & 8) { - store(dest , load(src )); - store(dest + 4, load(src + 4)); - dest += 8; src += 8; - } - if (n & 4) { - store(dest, load(src)); - dest += 4; src += 4; - } - if (n & 2) { // drop to 2 bytes each - store(dest, load(src)); - dest += 2; src += 2; - } - if (n & 1) { // drop to 1 byte - store(dest++, load(src++)); - } - return; - } - - // if dst is not aligned to 4 bytes, use alternating shifts to copy 4 bytes each - // doing shifts if faster when copying enough bytes (here: 32 or more) - if (n >= 32) { - switch (dest & 3) { - // known to be != 0 - case 1: { - w = load(src); - store(dest++, load(src++)); - store(dest++, load(src++)); - store(dest++, load(src++)); - n -= 3; - while (n >= 17) { - x = load(src + 1); - store(dest, w >> 24 | x << 8); - w = load(src + 5); - store(dest + 4, x >> 24 | w << 8); - x = load(src + 9); - store(dest + 8, w >> 24 | x << 8); - w = load(src + 13); - store(dest + 12, x >> 24 | w << 8); - src += 16; dest += 16; n -= 16; - } - break; - } - case 2: { - w = load(src); - store(dest++, load(src++)); - store(dest++, load(src++)); - n -= 2; - while (n >= 18) { - x = load(src + 2); - store(dest, w >> 16 | x << 16); - w = load(src + 6); - store(dest + 4, x >> 16 | w << 16); - x = load(src + 10); - store(dest + 8, w >> 16 | x << 16); - w = load(src + 14); - store(dest + 12, x >> 16 | w << 16); - src += 16; dest += 16; n -= 16; - } - break; - } - case 3: { - w = load(src); - store(dest++, load(src++)); - n -= 1; - while (n >= 19) { - x = load(src + 3); - store(dest, w >> 8 | x << 24); - w = load(src + 7); - store(dest + 4, x >> 8 | w << 24); - x = load(src + 11); - store(dest + 8, w >> 8 | x << 24); - w = load(src + 15); - store(dest + 12, x >> 8 | w << 24); - src += 16; dest += 16; n -= 16; - } - break; - } - } - } - - // copy remaining bytes one by one - if (n & 16) { - store(dest++, load(src++)); - store(dest++, load(src++)); - store(dest++, load(src++)); - store(dest++, load(src++)); - store(dest++, load(src++)); - store(dest++, load(src++)); - store(dest++, load(src++)); - store(dest++, load(src++)); - store(dest++, load(src++)); - store(dest++, load(src++)); - store(dest++, load(src++)); - store(dest++, load(src++)); - store(dest++, load(src++)); - store(dest++, load(src++)); - store(dest++, load(src++)); - store(dest++, load(src++)); - } - if (n & 8) { - store(dest++, load(src++)); - store(dest++, load(src++)); - store(dest++, load(src++)); - store(dest++, load(src++)); - store(dest++, load(src++)); - store(dest++, load(src++)); - store(dest++, load(src++)); - store(dest++, load(src++)); - } - if (n & 4) { - store(dest++, load(src++)); - store(dest++, load(src++)); - store(dest++, load(src++)); - store(dest++, load(src++)); - } - if (n & 2) { - store(dest++, load(src++)); - store(dest++, load(src++)); - } - if (n & 1) { - store(dest++, load(src++)); - } -} - -// @ts-ignore: decorator -@inline -export function memmove(dest: usize, src: usize, n: usize): void { // see: musl/src/string/memmove.c - if (dest == src) return; - if (ASC_SHRINK_LEVEL < 1) { - if (src - dest - n <= -(n << 1)) { - memcpy(dest, src, n); - return; - } - } - if (dest < src) { - if (ASC_SHRINK_LEVEL < 2) { - if ((src & 7) == (dest & 7)) { - while (dest & 7) { - if (!n) return; - --n; - store(dest++, load(src++)); - } - while (n >= 8) { - store(dest, load(src)); - n -= 8; - dest += 8; - src += 8; - } - } - } - while (n) { - store(dest++, load(src++)); - --n; - } - } else { - if (ASC_SHRINK_LEVEL < 2) { - if ((src & 7) == (dest & 7)) { - while ((dest + n) & 7) { - if (!n) return; - store(dest + --n, load(src + n)); - } - while (n >= 8) { - n -= 8; - store(dest + n, load(src + n)); - } - } - } - while (n) { - store(dest + --n, load(src + n)); - } - } -} - -// @ts-ignore: decorator -@inline -export function memset(dest: usize, c: u8, n: usize): void { // see: musl/src/string/memset - if (ASC_SHRINK_LEVEL > 1) { - while (n) { - store(dest++, c); - --n; - } - } else { - // fill head and tail with minimal branching - if (!n) return; - let dend = dest + n; - store(dest, c); - store(dend - 1, c); - if (n <= 2) return; - store(dest, c, 1); - store(dest, c, 2); - store(dend - 2, c); - store(dend - 3, c); - if (n <= 6) return; - store(dest, c, 3); - store(dend - 4, c); - if (n <= 8) return; - - // advance pointer to align it at 4-byte boundary - let k: usize = -dest & 3; - dest += k; - n -= k; - n &= -4; - - let c32: u32 = -1 / 255 * c; - - // fill head/tail up to 28 bytes each in preparation - dend = dest + n; - store(dest, c32); - store(dend - 4, c32); - if (n <= 8) return; - store(dest, c32, 4); - store(dest, c32, 8); - store(dend - 12, c32); - store(dend - 8, c32); - if (n <= 24) return; - store(dest, c32, 12); - store(dest, c32, 16); - store(dest, c32, 20); - store(dest, c32, 24); - store(dend - 28, c32); - store(dend - 24, c32); - store(dend - 20, c32); - store(dend - 16, c32); - - // align to a multiple of 8 - k = 24 + (dest & 4); - dest += k; - n -= k; - - // copy 32 bytes each - let c64: u64 = c32 | (c32 << 32); - while (n >= 32) { - store(dest, c64); - store(dest, c64, 8); - store(dest, c64, 16); - store(dest, c64, 24); - n -= 32; - dest += 32; - } - } -} - -// @ts-ignore: decorator -@inline -export function memcmp(vl: usize, vr: usize, n: usize): i32 { - if (vl == vr) return 0; - if (ASC_SHRINK_LEVEL < 2) { - if ((vl & 7) == (vr & 7)) { - while (vl & 7) { - if (!n) return 0; - let a = load(vl); - let b = load(vr); - if (a != b) return a - b; - n--; vl++; vr++; - } - while (n >= 8) { - if (load(vl) != load(vr)) break; - vl += 8; - vr += 8; - n -= 8; - } - } - } - while (n--) { - let a = load(vl); - let b = load(vr); - if (a != b) return a - b; - vl++; vr++; - } - return 0; -} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/util/number.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/util/number.ts deleted file mode 100644 index db74792f..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/std/assembly/util/number.ts +++ /dev/null @@ -1,849 +0,0 @@ -/// - -import { idof } from "../builtins"; -import { CharCode } from "./string"; - -// @ts-ignore: decorator -@inline -export const MAX_DOUBLE_LENGTH = 28; - -// @ts-ignore: decorator -@lazy @inline const POWERS10 = memory.data([ - 1, - 10, - 100, - 1000, - 10000, - 100000, - 1000000, - 10000000, - 100000000, - 1000000000 -]); - -/* - Lookup table for pairwise char codes in range [0-99] - - "00", "01", "02", "03", "04", "05", "06", "07", "08", "09", - "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", - "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", - "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", - "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", - "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", - "60", "61", "62", "63", "64", "65", "66", "67", "68", "69", - "70", "71", "72", "73", "74", "75", "76", "77", "78", "79", - "80", "81", "82", "83", "84", "85", "86", "87", "88", "89", - "90", "91", "92", "93", "94", "95", "96", "97", "98", "99" -*/ -// @ts-ignore: decorator -@lazy @inline const DIGITS = memory.data([ - 0x00300030, 0x00310030, 0x00320030, 0x00330030, 0x00340030, - 0x00350030, 0x00360030, 0x00370030, 0x00380030, 0x00390030, - 0x00300031, 0x00310031, 0x00320031, 0x00330031, 0x00340031, - 0x00350031, 0x00360031, 0x00370031, 0x00380031, 0x00390031, - 0x00300032, 0x00310032, 0x00320032, 0x00330032, 0x00340032, - 0x00350032, 0x00360032, 0x00370032, 0x00380032, 0x00390032, - 0x00300033, 0x00310033, 0x00320033, 0x00330033, 0x00340033, - 0x00350033, 0x00360033, 0x00370033, 0x00380033, 0x00390033, - 0x00300034, 0x00310034, 0x00320034, 0x00330034, 0x00340034, - 0x00350034, 0x00360034, 0x00370034, 0x00380034, 0x00390034, - 0x00300035, 0x00310035, 0x00320035, 0x00330035, 0x00340035, - 0x00350035, 0x00360035, 0x00370035, 0x00380035, 0x00390035, - 0x00300036, 0x00310036, 0x00320036, 0x00330036, 0x00340036, - 0x00350036, 0x00360036, 0x00370036, 0x00380036, 0x00390036, - 0x00300037, 0x00310037, 0x00320037, 0x00330037, 0x00340037, - 0x00350037, 0x00360037, 0x00370037, 0x00380037, 0x00390037, - 0x00300038, 0x00310038, 0x00320038, 0x00330038, 0x00340038, - 0x00350038, 0x00360038, 0x00370038, 0x00380038, 0x00390038, - 0x00300039, 0x00310039, 0x00320039, 0x00330039, 0x00340039, - 0x00350039, 0x00360039, 0x00370039, 0x00380039, 0x00390039 -]); - -// Lookup table for pairwise char codes in range [0x00-0xFF] -// @ts-ignore: decorator -@lazy @inline const HEX_DIGITS = -"000102030405060708090a0b0c0d0e0f\ -101112131415161718191a1b1c1d1e1f\ -202122232425262728292a2b2c2d2e2f\ -303132333435363738393a3b3c3d3e3f\ -404142434445464748494a4b4c4d4e4f\ -505152535455565758595a5b5c5d5e5f\ -606162636465666768696a6b6c6d6e6f\ -707172737475767778797a7b7c7d7e7f\ -808182838485868788898a8b8c8d8e8f\ -909192939495969798999a9b9c9d9e9f\ -a0a1a2a3a4a5a6a7a8a9aaabacadaeaf\ -b0b1b2b3b4b5b6b7b8b9babbbcbdbebf\ -c0c1c2c3c4c5c6c7c8c9cacbcccdcecf\ -d0d1d2d3d4d5d6d7d8d9dadbdcdddedf\ -e0e1e2e3e4e5e6e7e8e9eaebecedeeef\ -f0f1f2f3f4f5f6f7f8f9fafbfcfdfeff"; - -// @ts-ignore: decorator -@lazy @inline const ANY_DIGITS = "0123456789abcdefghijklmnopqrstuvwxyz"; - -// @ts-ignore: decorator -@lazy @inline const EXP_POWERS = memory.data([/* eslint-disable indent */ - -1220, -1193, -1166, -1140, -1113, -1087, -1060, -1034, -1007, -980, - -954, -927, -901, -874, -847, -821, -794, -768, -741, -715, - -688, -661, -635, -608, -582, -555, -529, -502, -475, -449, - -422, -396, -369, -343, -316, -289, -263, -236, -210, -183, - -157, -130, -103, -77, -50, -24, 3, 30, 56, 83, - 109, 136, 162, 189, 216, 242, 269, 295, 322, 348, - 375, 402, 428, 455, 481, 508, 534, 561, 588, 614, - 641, 667, 694, 720, 747, 774, 800, 827, 853, 880, - 907, 933, 960, 986, 1013, 1039, 1066 -/* eslint-enable indent */]); - -// 1e-348, 1e-340, ..., 1e340 -// @ts-ignore: decorator -@lazy @inline const FRC_POWERS = memory.data([ - 0xFA8FD5A0081C0288, 0xBAAEE17FA23EBF76, 0x8B16FB203055AC76, 0xCF42894A5DCE35EA, - 0x9A6BB0AA55653B2D, 0xE61ACF033D1A45DF, 0xAB70FE17C79AC6CA, 0xFF77B1FCBEBCDC4F, - 0xBE5691EF416BD60C, 0x8DD01FAD907FFC3C, 0xD3515C2831559A83, 0x9D71AC8FADA6C9B5, - 0xEA9C227723EE8BCB, 0xAECC49914078536D, 0x823C12795DB6CE57, 0xC21094364DFB5637, - 0x9096EA6F3848984F, 0xD77485CB25823AC7, 0xA086CFCD97BF97F4, 0xEF340A98172AACE5, - 0xB23867FB2A35B28E, 0x84C8D4DFD2C63F3B, 0xC5DD44271AD3CDBA, 0x936B9FCEBB25C996, - 0xDBAC6C247D62A584, 0xA3AB66580D5FDAF6, 0xF3E2F893DEC3F126, 0xB5B5ADA8AAFF80B8, - 0x87625F056C7C4A8B, 0xC9BCFF6034C13053, 0x964E858C91BA2655, 0xDFF9772470297EBD, - 0xA6DFBD9FB8E5B88F, 0xF8A95FCF88747D94, 0xB94470938FA89BCF, 0x8A08F0F8BF0F156B, - 0xCDB02555653131B6, 0x993FE2C6D07B7FAC, 0xE45C10C42A2B3B06, 0xAA242499697392D3, - 0xFD87B5F28300CA0E, 0xBCE5086492111AEB, 0x8CBCCC096F5088CC, 0xD1B71758E219652C, - 0x9C40000000000000, 0xE8D4A51000000000, 0xAD78EBC5AC620000, 0x813F3978F8940984, - 0xC097CE7BC90715B3, 0x8F7E32CE7BEA5C70, 0xD5D238A4ABE98068, 0x9F4F2726179A2245, - 0xED63A231D4C4FB27, 0xB0DE65388CC8ADA8, 0x83C7088E1AAB65DB, 0xC45D1DF942711D9A, - 0x924D692CA61BE758, 0xDA01EE641A708DEA, 0xA26DA3999AEF774A, 0xF209787BB47D6B85, - 0xB454E4A179DD1877, 0x865B86925B9BC5C2, 0xC83553C5C8965D3D, 0x952AB45CFA97A0B3, - 0xDE469FBD99A05FE3, 0xA59BC234DB398C25, 0xF6C69A72A3989F5C, 0xB7DCBF5354E9BECE, - 0x88FCF317F22241E2, 0xCC20CE9BD35C78A5, 0x98165AF37B2153DF, 0xE2A0B5DC971F303A, - 0xA8D9D1535CE3B396, 0xFB9B7CD9A4A7443C, 0xBB764C4CA7A44410, 0x8BAB8EEFB6409C1A, - 0xD01FEF10A657842C, 0x9B10A4E5E9913129, 0xE7109BFBA19C0C9D, 0xAC2820D9623BF429, - 0x80444B5E7AA7CF85, 0xBF21E44003ACDD2D, 0x8E679C2F5E44FF8F, 0xD433179D9C8CB841, - 0x9E19DB92B4E31BA9, 0xEB96BF6EBADF77D9, 0xAF87023B9BF0EE6B -]); - -// @ts-ignore: decorator -@inline -export function isPowerOf2(value: T): bool { - return popcnt(value) == 1; -} - -// Count number of decimals for u32 values -// In our case input value always non-zero so we can simplify some parts -export function decimalCount32(value: u32): u32 { - if (value < 100000) { - if (value < 100) { - return 1 + u32(value >= 10); - } else { - return 3 + u32(value >= 10000) + u32(value >= 1000); - } - } else { - if (value < 10000000) { - return 6 + u32(value >= 1000000); - } else { - return 8 + u32(value >= 1000000000) + u32(value >= 100000000); - } - } -} - -// Count number of decimals for u64 values -// In our case input value always greater than 2^32-1 so we can skip some parts -export function decimalCount64High(value: u64): u32 { - if (value < 1000000000000000) { - if (value < 1000000000000) { - return 10 + u32(value >= 100000000000) + u32(value >= 10000000000); - } else { - return 13 + u32(value >= 100000000000000) + u32(value >= 10000000000000); - } - } else { - if (value < 100000000000000000) { - return 16 + u32(value >= 10000000000000000); - } else { - return 18 + u32(value >= 10000000000000000000) + u32(value >= 1000000000000000000); - } - } -} - -function ulog_base(num: u64, base: i32): u32 { - if (isPowerOf2(base)) { - return (63 - clz(num)) / (31 - clz(base)) + 1; - } - let b64 = u64(base), b = b64, e: u32 = 1; - while (num >= b) { - num /= b; - b *= b; - e <<= 1; - } - while (num >= 1) { - num /= b64; - e++; - } - return e - 1; -} - -function utoa32_dec_lut(buffer: usize, num: u32, offset: usize): void { - while (num >= 10000) { - // in most VMs i32/u32 div and modulo by constant can be shared and simplificate - let t = num / 10000; - let r = num % 10000; - num = t; - - let d1 = r / 100; - let d2 = r % 100; - - let digits1 = load(DIGITS + (d1 << alignof())); - let digits2 = load(DIGITS + (d2 << alignof())); - - offset -= 4; - store(buffer + (offset << 1), digits1 | (digits2 << 32)); - } - - if (num >= 100) { - let t = num / 100; - let d1 = num % 100; - num = t; - offset -= 2; - let digits = load(DIGITS + (d1 << alignof())); - store(buffer + (offset << 1), digits); - } - - if (num >= 10) { - offset -= 2; - let digits = load(DIGITS + (num << alignof())); - store(buffer + (offset << 1), digits); - } else { - offset -= 1; - let digit = CharCode._0 + num; - store(buffer + (offset << 1), digit); - } -} - -function utoa64_dec_lut(buffer: usize, num: u64, offset: usize): void { - while (num >= 100000000) { - let t = num / 100000000; - let r = (num - t * 100000000); - num = t; - - let b = r / 10000; - let c = r % 10000; - - let b1 = b / 100; - let b2 = b % 100; - let c1 = c / 100; - let c2 = c % 100; - - let digits1 = load(DIGITS + (c1 << alignof())); - let digits2 = load(DIGITS + (c2 << alignof())); - - offset -= 4; - store(buffer + (offset << 1), digits1 | (digits2 << 32)); - - digits1 = load(DIGITS + (b1 << alignof())); - digits2 = load(DIGITS + (b2 << alignof())); - - offset -= 4; - store(buffer + (offset << 1), digits1 | (digits2 << 32)); - } - - utoa32_dec_lut(buffer, num, offset); -} - -function utoa_hex_lut(buffer: usize, num: u64, offset: usize): void { - const lut = changetype(HEX_DIGITS); - while (offset >= 2) { - offset -= 2; - store( - buffer + (offset << 1), - load(lut + ((num & 0xFF) << alignof())) - ); - num >>= 8; - } - if (offset & 1) { - store(buffer, load(lut + (num << 6))); - } -} - -function utoa_dec_simple(buffer: usize, num: T, offset: usize): void { - do { - let t = num / 10; - let r = (num % 10); - num = changetype(t); - offset--; - store(buffer + (offset << 1), CharCode._0 + r); - } while (num); -} - -function utoa_hex_simple(buffer: usize, num: T, offset: usize): void { - do { - let d = num & 0x0F | CharCode._0; - d += select(0x27, 0, d > CharCode._9); - offset--; - store(buffer + (offset << 1), d); - // @ts-ignore: type - num >>= 4; - } while (num); -} - -// @ts-ignore: decorator -@inline -export function utoa32_dec_core(buffer: usize, num: u32, offset: usize): void { - if (ASC_SHRINK_LEVEL >= 1) { - utoa_dec_simple(buffer, num, offset); - } else { - utoa32_dec_lut(buffer, num, offset); - } -} - -// @ts-ignore: decorator -@inline -function utoa32_hex_core(buffer: usize, num: u32, offset: usize): void { - if (ASC_SHRINK_LEVEL >= 1) { - utoa_hex_simple(buffer, num, offset); - } else { - utoa_hex_lut(buffer, num, offset); - } -} - -// @ts-ignore: decorator -@inline -function utoa64_dec_core(buffer: usize, num: u64, offset: usize): void { - if (ASC_SHRINK_LEVEL >= 1) { - utoa_dec_simple(buffer, num, offset); - } else { - utoa64_dec_lut(buffer, num, offset); - } -} - -// @ts-ignore: decorator -@inline -function utoa64_hex_core(buffer: usize, num: u64, offset: usize): void { - if (ASC_SHRINK_LEVEL >= 1) { - utoa_hex_simple(buffer, num, offset); - } else { - utoa_hex_lut(buffer, num, offset); - } -} - -function utoa64_any_core(buffer: usize, num: u64, offset: usize, radix: i32): void { - const lut = changetype(ANY_DIGITS); - let base = u64(radix); - if ((radix & (radix - 1)) == 0) { // for radix which pow of two - let shift = u64(ctz(radix) & 7); - let mask = base - 1; - do { - offset--; - store(buffer + (offset << 1), load(lut + (usize(num & mask) << 1))); - num >>= shift; - } while (num); - } else { - do { - offset--; - let q = num / base; - store(buffer + (offset << 1), load(lut + (usize(num - q * base) << 1))); - num = q; - } while (num); - } -} - -export function utoa32(value: u32, radix: i32): String { - if (radix < 2 || radix > 36) { - throw new RangeError("toString() radix argument must be between 2 and 36"); - } - if (!value) return "0"; - let out: String; - - if (radix == 10) { - let decimals = decimalCount32(value); - out = changetype(__new(decimals << 1, idof())); - utoa32_dec_core(changetype(out), value, decimals); - } else if (radix == 16) { - let decimals = (31 - clz(value) >> 2) + 1; - out = changetype(__new(decimals << 1, idof())); - utoa32_hex_core(changetype(out), value, decimals); - } else { - let decimals = ulog_base(value, radix); - out = changetype(__new(decimals << 1, idof())); - utoa64_any_core(changetype(out), value, decimals, radix); - } - return out; -} - -export function itoa32(value: i32, radix: i32): String { - if (radix < 2 || radix > 36) { - throw new RangeError("toString() radix argument must be between 2 and 36"); - } - if (!value) return "0"; - - let sign = (value >>> 31) << 1; - if (sign) value = -value; - let out: String; - - if (radix == 10) { - let decimals = decimalCount32(value); - out = changetype(__new((decimals << 1) + sign, idof())); - utoa32_dec_core(changetype(out) + sign, value, decimals); - } else if (radix == 16) { - let decimals = (31 - clz(value) >> 2) + 1; - out = changetype(__new((decimals << 1) + sign, idof())); - utoa32_hex_core(changetype(out) + sign, value, decimals); - } else { - let val32 = u32(value); - let decimals = ulog_base(val32, radix); - out = changetype(__new((decimals << 1) + sign, idof())); - utoa64_any_core(changetype(out) + sign, val32, decimals, radix); - } - if (sign) store(changetype(out), CharCode.MINUS); - return out; -} - -export function utoa64(value: u64, radix: i32): String { - if (radix < 2 || radix > 36) { - throw new RangeError("toString() radix argument must be between 2 and 36"); - } - if (!value) return "0"; - let out: String; - - if (radix == 10) { - if (value <= u32.MAX_VALUE) { - let val32 = value; - let decimals = decimalCount32(val32); - out = changetype(__new(decimals << 1, idof())); - utoa32_dec_core(changetype(out), val32, decimals); - } else { - let decimals = decimalCount64High(value); - out = changetype(__new(decimals << 1, idof())); - utoa64_dec_core(changetype(out), value, decimals); - } - } else if (radix == 16) { - let decimals = (63 - u32(clz(value)) >> 2) + 1; - out = changetype(__new(decimals << 1, idof())); - utoa64_hex_core(changetype(out), value, decimals); - } else { - let decimals = ulog_base(value, radix); - out = changetype(__new(decimals << 1, idof())); - utoa64_any_core(changetype(out), value, decimals, radix); - } - return out; -} - -export function itoa64(value: i64, radix: i32): String { - if (radix < 2 || radix > 36) { - throw new RangeError("toString() radix argument must be between 2 and 36"); - } - if (!value) return "0"; - - let sign = u32(value >>> 63) << 1; - if (sign) value = -value; - let out: String; - - if (radix == 10) { - if (value <= u32.MAX_VALUE) { - let val32 = value; - let decimals = decimalCount32(val32); - out = changetype(__new((decimals << 1) + sign, idof())); - utoa32_dec_core(changetype(out) + sign, val32, decimals); - } else { - let decimals = decimalCount64High(value); - out = changetype(__new((decimals << 1) + sign, idof())); - utoa64_dec_core(changetype(out) + sign, value, decimals); - } - } else if (radix == 16) { - let decimals = (63 - u32(clz(value)) >> 2) + 1; - out = changetype(__new((decimals << 1) + sign, idof())); - utoa64_hex_core(changetype(out) + sign, value, decimals); - } else { - let decimals = ulog_base(value, radix); - out = changetype(__new((decimals << 1) + sign, idof())); - utoa64_any_core(changetype(out) + sign, value, decimals, radix); - } - if (sign) store(changetype(out), CharCode.MINUS); - return out; -} - -// @ts-ignore: decorator -@lazy let _K: i32 = 0; - -// // @ts-ignore: decorator -// @lazy -// let _frc: u64 = 0; - -// @ts-ignore: decorator -@lazy let _exp: i32 = 0; - -// @ts-ignore: decorator -@lazy let _frc_minus: u64 = 0; - -// @ts-ignore: decorator -@lazy let _frc_plus: u64 = 0; - -// @ts-ignore: decorator -@lazy let _frc_pow: u64 = 0; - -// @ts-ignore: decorator -@lazy let _exp_pow: i32 = 0; - -// @ts-ignore: decorator -@inline -function umul64f(u: u64, v: u64): u64 { - let u0 = u & 0xFFFFFFFF; - let v0 = v & 0xFFFFFFFF; - - let u1 = u >> 32; - let v1 = v >> 32; - - let l = u0 * v0; - let t = u1 * v0 + (l >> 32); - let w = u0 * v1 + (t & 0xFFFFFFFF); - - w += 0x7FFFFFFF; // rounding - - t >>= 32; - w >>= 32; - - return u1 * v1 + t + w; -} - -// @ts-ignore: decorator -@inline -function umul64e(e1: i32, e2: i32): i32 { - return e1 + e2 + 64; // where 64 is significand size -} - -// @ts-ignore: decorator -@inline -function normalizedBoundaries(f: u64, e: i32): void { - let frc = (f << 1) + 1; - let exp = e - 1; - let off = clz(frc); - frc <<= off; - exp -= off; - - let m = 1 + i32(f == 0x0010000000000000); - - _frc_plus = frc; - _frc_minus = ((f << m) - 1) << e - m - exp; - _exp = exp; -} - -// @ts-ignore: decorator -@inline -function grisuRound(buffer: usize, len: i32, delta: u64, rest: u64, ten_kappa: u64, wp_w: u64): void { - let lastp = buffer + ((len - 1) << 1); - let digit = load(lastp); - while ( - rest < wp_w && - delta - rest >= ten_kappa && ( - rest + ten_kappa < wp_w || - wp_w - rest > rest + ten_kappa - wp_w - ) - ) { - --digit; - rest += ten_kappa; - } - store(lastp, digit); -} - -// @ts-ignore: decorator -@inline -function getCachedPower(minExp: i32): void { - const c = reinterpret(0x3FD34413509F79FE); // 1 / lg(10) = 0.30102999566398114 - let dk = (-61 - minExp) * c + 347; // dk must be positive, so can do ceiling in positive - let k = dk; - k += i32(k != dk); // conversion with ceil - - let index = (k >> 3) + 1; - _K = 348 - (index << 3); // decimal exponent no need lookup table - _frc_pow = load(FRC_POWERS + (index << alignof())); - _exp_pow = load(EXP_POWERS + (index << alignof())); -} - -// @ts-ignore: decorator -@inline -function grisu2(value: f64, buffer: usize, sign: i32): i32 { - - // frexp routine - let uv = reinterpret(value); - let exp = i32((uv & 0x7FF0000000000000) >>> 52); - let sid = uv & 0x000FFFFFFFFFFFFF; - let frc = (u64(exp != 0) << 52) + sid; - exp = select(exp, 1, exp) - (0x3FF + 52); - - normalizedBoundaries(frc, exp); - getCachedPower(_exp); - - // normalize - let off = clz(frc); - frc <<= off; - exp -= off; - - let frc_pow = _frc_pow; - let exp_pow = _exp_pow; - - let w_frc = umul64f(frc, frc_pow); - let w_exp = umul64e(exp, exp_pow); - - let wp_frc = umul64f(_frc_plus, frc_pow) - 1; - let wp_exp = umul64e(_exp, exp_pow); - - let wm_frc = umul64f(_frc_minus, frc_pow) + 1; - let delta = wp_frc - wm_frc; - - return genDigits(buffer, w_frc, w_exp, wp_frc, wp_exp, delta, sign); -} - -function genDigits(buffer: usize, w_frc: u64, w_exp: i32, mp_frc: u64, mp_exp: i32, delta: u64, sign: i32): i32 { - let one_exp = -mp_exp; - let one_frc = (1) << one_exp; - let mask = one_frc - 1; - - let wp_w_frc = mp_frc - w_frc; - - let p1 = u32(mp_frc >> one_exp); - let p2 = mp_frc & mask; - - let kappa = decimalCount32(p1); - let len = sign; - - while (kappa > 0) { - let d: u32; - switch (kappa) { - case 10: { d = p1 / 1000000000; p1 %= 1000000000; break; } - case 9: { d = p1 / 100000000; p1 %= 100000000; break; } - case 8: { d = p1 / 10000000; p1 %= 10000000; break; } - case 7: { d = p1 / 1000000; p1 %= 1000000; break; } - case 6: { d = p1 / 100000; p1 %= 100000; break; } - case 5: { d = p1 / 10000; p1 %= 10000; break; } - case 4: { d = p1 / 1000; p1 %= 1000; break; } - case 3: { d = p1 / 100; p1 %= 100; break; } - case 2: { d = p1 / 10; p1 %= 10; break; } - case 1: { d = p1; p1 = 0; break; } - default: { d = 0; break; } - } - - if (d | len) store(buffer + (len++ << 1), CharCode._0 + d); - - --kappa; - let tmp = ((p1) << one_exp) + p2; - if (tmp <= delta) { - _K += kappa; - grisuRound(buffer, len, delta, tmp, load(POWERS10 + (kappa << alignof())) << one_exp, wp_w_frc); - return len; - } - } - - while (true) { - p2 *= 10; - delta *= 10; - - let d = p2 >> one_exp; - if (d | len) store(buffer + (len++ << 1), CharCode._0 + d); - - p2 &= mask; - --kappa; - if (p2 < delta) { - _K += kappa; - wp_w_frc *= load(POWERS10 + (-kappa << alignof())); - grisuRound(buffer, len, delta, p2, one_frc, wp_w_frc); - return len; - } - } -} - -// @ts-ignore: decorator -@inline -function genExponent(buffer: usize, k: i32): i32 { - let sign = k < 0; - if (sign) k = -k; - let decimals = decimalCount32(k) + 1; - utoa32_dec_core(buffer, k, decimals); - store(buffer, select(CharCode.MINUS, CharCode.PLUS, sign)); - return decimals; -} - -function prettify(buffer: usize, length: i32, k: i32): i32 { - if (!k) { - store(buffer + (length << 1), CharCode.DOT | (CharCode._0 << 16)); - return length + 2; - } - - let kk = length + k; - if (length <= kk && kk <= 21) { - // 1234e7 -> 12340000000 - for (let i = length; i < kk; ++i) { - store(buffer + (i << 1), CharCode._0); - } - store(buffer + (kk << 1), CharCode.DOT | (CharCode._0 << 16)); - return kk + 2; - } else if (kk > 0 && kk <= 21) { - // 1234e-2 -> 12.34 - let ptr = buffer + (kk << 1); - memory.copy( - ptr + 2, - ptr, - -k << 1 - ); - store(buffer + (kk << 1), CharCode.DOT); - return length + 1; - } else if (-6 < kk && kk <= 0) { - // 1234e-6 -> 0.001234 - let offset = 2 - kk; - memory.copy( - buffer + (offset << 1), - buffer, - length << 1 - ); - store(buffer, CharCode._0 | (CharCode.DOT << 16)); - for (let i = 2; i < offset; ++i) { - store(buffer + (i << 1), CharCode._0); - } - return length + offset; - } else if (length == 1) { - // 1e30 - store(buffer, CharCode.e, 2); - length = genExponent(buffer + 4, kk - 1); - return length + 2; - } else { - let len = length << 1; - memory.copy( - buffer + 4, - buffer + 2, - len - 2 - ); - store(buffer, CharCode.DOT, 2); - store(buffer + len, CharCode.e, 2); - length += genExponent(buffer + len + 4, kk - 1); - return length + 2; - } -} - -function dtoa_core(buffer: usize, value: f64): i32 { - let sign = i32(value < 0); - if (sign) { - value = -value; - store(buffer, CharCode.MINUS); - } - // assert(value > 0 && value <= 1.7976931348623157e308); - let len = grisu2(value, buffer, sign); - len = prettify(buffer + (sign << 1), len - sign, _K); - return len + sign; -} - -// @ts-ignore: decorator -@lazy @inline const dtoa_buf = memory.data(MAX_DOUBLE_LENGTH << 1); - -export function dtoa(value: f64): String { - if (value == 0) return "0.0"; - if (!isFinite(value)) { - if (isNaN(value)) return "NaN"; - return select("-Infinity", "Infinity", value < 0); - } - let size = dtoa_core(dtoa_buf, value) << 1; - let result = changetype(__new(size, idof())); - memory.copy(changetype(result), dtoa_buf, size); - return result; -} - -export function itoa_buffered(buffer: usize, value: T): u32 { - let sign: u32 = 0; - if (isSigned()) { - sign = u32(value < 0); - if (sign) { - if (sizeof() == 1) { - if (value == -0x80) { - // -0x80 -> -128 - store(buffer, - CharCode.MINUS | - (CharCode._0 + 1) << 16 | - (CharCode._0 + 2) << 32 | - (CharCode._0 + 8) << 48 - ); - return 4; - } - } - if (sizeof() == 2) { - if (value == -0x8000) { - // -0x8000 -> -32768 - store(buffer, - CharCode.MINUS | - (CharCode._0 + 3) << 16 | - (CharCode._0 + 2) << 32 | - (CharCode._0 + 7) << 48 - ); // -327 - store(buffer + 8, - (CharCode._0 + 6) << 0 | - (CharCode._0 + 8) << 16 - ); // 68 - return 6; - } - } - store(buffer, CharCode.MINUS); - // @ts-ignore - value = -value; - } - } - let dest = buffer + (sign << 1); - if (ASC_SHRINK_LEVEL <= 1) { - if (isSigned()) { - if (sizeof() <= 4) { - if (value < 10) { - store(dest, value | CharCode._0); - return 1 + sign; - } - } else { - if (value < 10) { - store(dest, value | CharCode._0); - return 1 + sign; - } - } - } else { - if (value < 10) { - store(buffer, value | CharCode._0); - return 1; - } - } - } - let decimals: u32 = 0; - if (sizeof() <= 4) { - let val32 = value; - decimals = decimalCount32(val32); - utoa32_dec_core(dest, val32, decimals); - } else { - if (value <= u32.MAX_VALUE) { - let val32 = value; - decimals = decimalCount32(val32); - utoa32_dec_core(dest, val32, decimals); - } else { - let val64 = value; - decimals = decimalCount64High(val64); - utoa64_dec_core(dest, val64, decimals); - } - } - return sign + decimals; -} - -export function dtoa_buffered(buffer: usize, value: f64): u32 { - if (value == 0) { - store(buffer, CharCode._0); - store(buffer, CharCode.DOT, 2); - store(buffer, CharCode._0, 4); - return 3; - } - if (!isFinite(value)) { - if (isNaN(value)) { - store(buffer, CharCode.N); - store(buffer, CharCode.a, 2); - store(buffer, CharCode.N, 4); - return 3; - } else { - let sign = value < 0; - if (sign) { - store(buffer, CharCode.MINUS); // - - buffer += 2; - } - store(buffer, 0x690066006E0049, 0); // ifnI - store(buffer, 0x7900740069006E, 8); // ytin - return 8 + u32(sign); - } - } - return dtoa_core(buffer, value); -} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/util/sort.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/util/sort.ts deleted file mode 100644 index ed1822e9..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/std/assembly/util/sort.ts +++ /dev/null @@ -1,313 +0,0 @@ -import { compareImpl } from "./string"; - -type Comparator = (a: T, b: T) => i32; - -// @ts-ignore: decorator -@lazy @inline const EMPTY = u32.MAX_VALUE; -// @ts-ignore: decorator -@inline const INSERTION_SORT_THRESHOLD = 48; -// @ts-ignore: decorator -@inline const MIN_RUN_LENGTH = 32; - -// @ts-ignore: decorator -@inline -function log2u(n: u32): u32 { - return 31 - clz(n); -} - -// @ts-ignore: decorator -@inline -export function COMPARATOR(): Comparator { - if (isInteger()) { - if (isSigned() && sizeof() <= 4) { - return (a, b) => i32(a) - i32(b); - } else { - return (a, b) => i32(a > b) - i32(a < b); - } - } else if (isFloat()) { - if (sizeof() == 4) { - return (a, b) => { - let ia = reinterpret(f32(a)); - let ib = reinterpret(f32(b)); - ia ^= ia >> 31 >>> 1; - ib ^= ib >> 31 >>> 1; - return i32(ia > ib) - i32(ia < ib); - }; - } else { - return (a, b) => { - let ia = reinterpret(f64(a)); - let ib = reinterpret(f64(b)); - ia ^= ia >> 63 >>> 1; - ib ^= ib >> 63 >>> 1; - return i32(ia > ib) - i32(ia < ib); - }; - } - } else if (isString()) { - return (a, b) => { - if ( - changetype(a) == changetype(b) || - changetype(a) == 0 || - changetype(b) == 0 - ) return 0; - let alen = changetype(a).length; - let blen = changetype(b).length; - if (!(alen | blen)) return 0; - if (!alen) return -1; - if (!blen) return 1; - let res = compareImpl( - changetype(a), 0, - changetype(b), 0, - min(alen, blen) - ); - return res ? res : alen - blen; - }; - } else { - return (a, b) => i32(a > b) - i32(a < b); - } -} - -// Power Sort implementation (stable) from paper "Nearly-Optimal Mergesorts" -// https://arxiv.org/pdf/1805.04154.pdf -// This method usually outperform TimSort. -// TODO: refactor c >>> 31 to c < 0 when binaryen will support this opt -export function SORT( - ptr: usize, - len: i32, - comparator: Comparator -): void { - if (len <= INSERTION_SORT_THRESHOLD) { - if (len <= 1) return; - if (ASC_SHRINK_LEVEL < 1) { - switch (len) { - case 3: { - let a = load(ptr, 0); - let b = load(ptr, 1 << alignof()); - let c = comparator(a, b) > 0; - store(ptr, select(b, a, c), 0); - a = select(a, b, c); - b = load(ptr, 2 << alignof()); - c = comparator(a, b) > 0; - store(ptr, select(b, a, c), 1 << alignof()); - store(ptr, select(a, b, c), 2 << alignof()); - } - case 2: { - let a = load(ptr, 0); - let b = load(ptr, 1 << alignof()); - let c = comparator(a, b) > 0; - store(ptr, select(b, a, c), 0); - store(ptr, select(a, b, c), 1 << alignof()); - return; - } - } - } - insertionSort(ptr, 0, len - 1, 0, comparator); - return; - } - - let lgPlus2 = log2u(len) + 2; - let lgPlus2Size = lgPlus2 << alignof(); - let leftRunStartBuf = __alloc(lgPlus2Size << 1); - let leftRunEndBuf = leftRunStartBuf + lgPlus2Size; - - for (let i: u32 = 0; i < lgPlus2; ++i) { - store(leftRunStartBuf + (i << alignof()), EMPTY); - } - - let buffer = __alloc(len << alignof()); - - let hi = len - 1; - let endA = extendRunRight(ptr, 0, hi, comparator); - let lenA = endA + 1; - - if (lenA < MIN_RUN_LENGTH) { - endA = min(hi, MIN_RUN_LENGTH - 1); - insertionSort(ptr, 0, endA, lenA, comparator); - } - - let top: u32 = 0, startA = 0; - while (endA < hi) { - let startB = endA + 1; - let endB = extendRunRight(ptr, startB, hi, comparator); - let lenB = endB - startB + 1; - - if (lenB < MIN_RUN_LENGTH) { - endB = min(hi, startB + MIN_RUN_LENGTH - 1); - insertionSort(ptr, startB, endB, lenB, comparator); - } - - let k = nodePower(0, hi, startA, startB, endB); - - for (let i = top; i > k; --i) { - let start = load(leftRunStartBuf + (i << alignof())); - if (start != EMPTY) { - mergeRuns( - ptr, - start, - load(leftRunEndBuf + (i << alignof())) + 1, - endA, - buffer, - comparator - ); - startA = start; - store(leftRunStartBuf + (i << alignof()), EMPTY); - } - } - - store(leftRunStartBuf + (k << alignof()), startA); - store(leftRunEndBuf + (k << alignof()), endA); - startA = startB; - endA = endB; - top = k; - } - - for (let i = top; i != 0; --i) { - let start = load(leftRunStartBuf + (i << alignof())); - if (start != EMPTY) { - mergeRuns( - ptr, - start, - load(leftRunEndBuf + (i << alignof())) + 1, - hi, - buffer, - comparator - ); - } - } - // dealloc aux buffers - __free(buffer); - __free(leftRunStartBuf); -} - -function insertionSort( - ptr: usize, - left: i32, - right: i32, - presorted: i32, - comparator: Comparator -): void { - if (ASC_SHRINK_LEVEL >= 1) { - // slightly improved original insertion sort - for (let i = left + presorted; i <= right; ++i) { - let j = i - 1; - let a = load(ptr + (i << alignof())); - while (j >= left) { - let b = load(ptr + (j << alignof())); - if (comparator(a, b) < 0) { - store(ptr + (j << alignof()), b, 1 << alignof()); --j; - } else break; - } - store(ptr + (j << alignof()), a, 1 << alignof()); - } - } else { - // even-odd two-way insertion sort which allow increase minRunLen - let range = right - left + 1; - let i = left + select(range & 1, presorted - ((range - presorted) & 1), presorted == 0); - for (; i <= right; i += 2) { - let a = load(ptr + (i << alignof()), 0); - let b = load(ptr + (i << alignof()), 1 << alignof()); - let min = b, max = a; - if (comparator(a, b) <= 0) { - min = a, max = b; - } - let j = i - 1; - while (j >= left) { - a = load(ptr + (j << alignof())); - if (comparator(a, max) > 0) { - store(ptr + (j << alignof()), a, 2 << alignof()); --j; - } else break; - } - store(ptr + (j << alignof()), max, 2 << alignof()); - while (j >= left) { - a = load(ptr + (j << alignof())); - if (comparator(a, min) > 0) { - store(ptr + (j << alignof()), a, 1 << alignof()); --j; - } else break; - } - store(ptr + (j << alignof()), min, 1 << alignof()); - } - } -} - -function nodePower(left: u32, right: u32, startA: u32, startB: u32, endB: u32): u32 { - let n: u64 = right - left + 1; - let s = startB - (left << 1); - let l = startA + s; - let r = endB + s + 1; - let a = (l << 30) / n; - let b = (r << 30) / n; - return clz((a ^ b)); -} - -function extendRunRight( - ptr: usize, - i: i32, - right: i32, - comparator: Comparator -): i32 { - if (i == right) return i; - let j = i; - if (comparator( - load(ptr + ( j << alignof())), - load(ptr + (++j << alignof())) - ) > 0) { - while ( - j < right && - (comparator( - load(ptr + (j << alignof()), 1 << alignof()), - load(ptr + (j << alignof())) - ) >>> 31) // < 0 - ) ++j; - // reverse - let k = j; - while (i < k) { - let tmp = load(ptr + (i << alignof())); - store(ptr + (i << alignof()), load(ptr + (k << alignof()))); ++i; - store(ptr + (k << alignof()), tmp); --k; - } - } else { - while ( - j < right && - comparator( - load(ptr + (j << alignof()), 1 << alignof()), - load(ptr + (j << alignof())) - ) >= 0 - ) ++j; - } - return j; -} - -// Merges arr[l..m - 1] and arr[m..r] -function mergeRuns( - ptr: usize, - l: i32, - m: i32, - r: i32, - buffer: usize, - comparator: Comparator -): void { - --m; - let i: i32, j: i32, t = r + m; - for (i = m + 1; i > l; --i) { - store( - buffer + ((i - 1) << alignof()), - load(ptr + ((i - 1) << alignof())) - ); - } - for (j = m; j < r; ++j) { - store( - buffer + ((t - j) << alignof()), - load(ptr + (j << alignof()), 1 << alignof()) - ); - } - for (let k = l; k <= r; ++k) { - let a = load(buffer + (j << alignof())); - let b = load(buffer + (i << alignof())); - if (comparator(a, b) < 0) { - store(ptr + (k << alignof()), a); - --j; - } else { - store(ptr + (k << alignof()), b); - ++i; - } - } -} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/util/string.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/util/string.ts deleted file mode 100644 index 8e8ba1d7..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/std/assembly/util/string.ts +++ /dev/null @@ -1,1202 +0,0 @@ -import { - itoa32, - utoa32, - itoa64, - utoa64, - dtoa, - itoa_buffered, - dtoa_buffered, - MAX_DOUBLE_LENGTH -} from "./number"; - -import { - ipow32 -} from "../math"; - -// All tables are stored as two staged lookup tables (static tries) -// because the full range of Unicode symbols can't be efficiently -// represented as-is in memory (see Unicode spec ch 5, p.196): -// https://www.unicode.org/versions/Unicode12.0.0/ch05.pdf -// Tables have been generated using these forked musl tools: -// https://github.com/MaxGraey/musl-chartable-tools/tree/case-ignorable - -// Lookup table to check if a character is alphanumeric or not -// See: https://git.musl-libc.org/cgit/musl/tree/src/ctype/alpha.h -// size: 3904 bytes -// @ts-ignore -@inline @lazy const ALPHA_TABLE = memory.data([ - 18,17,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,17,34,35,36,17,37,38,39,40, - 41,42,43,44,17,45,46,47,16,16,48,16,16,16,16,16,16,16,49,50,51,16,52,53,16,16, - 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,54, - 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, - 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, - 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, - 17,17,17,55,17,17,17,17,56,17,57,58,59,60,61,62,17,17,17,17,17,17,17,17,17,17, - 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17, - 17,17,17,17,17,17,17,63,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,17,64,65,17,66,67, - 68,69,70,71,72,73,74,17,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92, - 93,94,16,95,96,97,98,17,17,17,99,100,101,16,16,16,16,16,16,16,16,16,16,17,17, - 17,17,102,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,17,17,103,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,17,17,104,105,16,16,106,107,17,17,17,17,17,17,17,17,17,17,17,17,17, - 17,17,17,17,17,17,17,17,17,17,108,17,17,17,17,109,110,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 17,111,112,16,16,16,16,16,16,16,16,16,113,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,114,115,116,117,16,16,16,16,16,16,16,16,118, - 119,120,16,16,16,16,16,121,122,16,16,16,16,123,16,16,124,16,16,16,16,16,16,16, - 16,16,125,16,16,16, - 16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255, - 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, - 255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,254,255,255,7,254, - 255,255,7,0,0,0,0,0,4,32,4,255,255,127,255,255,255,127,255,255,255,255,255, - 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, - 255,195,255,3,0,31,80,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,223,188,64,215,255,255, - 251,255,255,255,255,255,255,255,255,255,191,255,255,255,255,255,255,255,255, - 255,255,255,255,255,255,255,255,255,3,252,255,255,255,255,255,255,255,255,255, - 255,255,255,255,255,255,255,255,255,255,255,254,255,255,255,127,2,255,255,255, - 255,255,1,0,0,0,0,255,191,182,0,255,255,255,135,7,0,0,0,255,7,255,255,255,255, - 255,255,255,254,255,195,255,255,255,255,255,255,255,255,255,255,255,255,239, - 31,254,225,255, - 159,0,0,255,255,255,255,255,255,0,224,255,255,255,255,255,255,255,255,255,255, - 255,255,3,0,255,255,255,255,255,7,48,4,255,255,255,252,255,31,0,0,255,255,255, - 1,255,7,0,0,0,0,0,0,255,255,223,255,255,0,240,255,248,3,255,255,255,255,255, - 255,255,255,255,239,255,223,225,255,207,255,254,255,239,159,249,255,255,253, - 197,227,159,89,128,176,207,255,3,16,238,135,249,255,255,253,109,195,135,25,2, - 94,192,255,63,0,238,191,251,255,255,253,237,227,191,27,1,0,207,255,0,30,238, - 159,249,255,255,253,237,227,159,25,192,176,207,255,2,0,236,199,61,214,24,199, - 255,195,199,29,129,0,192,255,0,0,239,223,253,255,255,253,255,227,223,29,96,7, - 207,255,0,0,239,223,253,255,255,253,239,227,223,29,96,64,207,255,6,0,255,223, - 253,255,255,255,255,231,223,93,240,128,207,255,0,252,238,255,127,252,255,255, - 251,47,127,128,95,255,192,255,12,0,254,255,255,255,255,127,255,7,63,32,255,3, - 0,0,0,0,214,247,255,255,175,255,255,59,95,32,255,243,0,0,0, - 0,1,0,0,0,255,3,0,0,255,254,255,255,255,31,254,255,3,255,255,254,255,255,255, - 31,0,0,0,0,0,0,0,0,255,255,255,255,255,255,127,249,255,3,255,255,255,255,255, - 255,255,255,255,63,255,255,255,255,191,32,255,255,255,255,255,247,255,255,255, - 255,255,255,255,255,255,61,127,61,255,255,255,255,255,61,255,255,255,255,61, - 127,61,255,127,255,255,255,255,255,255,255,61,255,255,255,255,255,255,255,255, - 7,0,0,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,63,63,254,255, - 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, - 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, - 255,255,255,255,255,159,255,255,254,255,255,7,255,255,255,255,255,255,255,255, - 255,199,255,1,255,223,15,0,255,255,15,0,255,255,15,0,255,223,13,0,255,255,255, - 255,255,255,207,255,255,1,128,16,255,3,0,0,0,0,255,3,255,255,255,255,255,255, - 255,255,255,255,255,1,255,255,255,255,255,7,255,255,255,255,255,255,255,255, - 63, - 0,255,255,255,127,255,15,255,1,192,255,255,255,255,63,31,0,255,255,255,255, - 255,15,255,255,255,3,255,3,0,0,0,0,255,255,255,15,255,255,255,255,255,255,255, - 127,254,255,31,0,255,3,255,3,128,0,0,128,1,0,0,0,0,0,0,0,255,255,255,255,255, - 255,239,255,239,15,255,3,0,0,0,0,255,255,255,255,255,243,255,255,255,255,255, - 255,191,255,3,0,255,255,255,255,255,255,127,0,255,227,255,255,255,255,255,63, - 255,1,255,255,255,255,255,231,0,0,0,0,0,222,111,4,255,255,255,255,255,255,255, - 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0, - 128,255,31,0,255,255,63,63,255,255,255,255,63,63,255,170,255,255,255,63,255, - 255,255,255,255,255,223,95,220,31,207,15,255,31,220,31,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,2,128,0,0,255,31,0,0,0,0,0,0,0,0,0,0,0,0,132,252,47,62,80,189,255,243, - 224,67,0,0,255,255,255,255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,255,255,255,255,255,255,3,0, - 0,255,255,255,255,255,127,255,255,255,255,255,127,255,255,255,255,255,255,255, - 255,255,255,255,255,255,255,255,255,31,120,12,0,255,255,255,255,191,32,255, - 255,255,255,255,255,255,128,0,0,255,255,127,0,127,127,127,127,127,127,127,127, - 255,255,255,255,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,224,0,0,0,254,3,62,31,254,255,255,255,255,255,255,255,255,255,127,224,254, - 255,255,255,255,255,255,255,255,255,255,247,224,255,255,255,255,255,254,255, - 255,255,255,255,255,255,255,255,255,127,0,0,255,255,255,255,0,0,0,0,0,0,255, - 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, - 255,255,255,255,255,255,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255, - 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, - 255,255,255, - 31,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,0,0, - 0,0,0,0,0,0,255,255,255,255,255,63,255,31,255,255,255,15,0,0,255,255,255,255, - 255,127,240,143,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0, - 0,128,255,252,255,255,255,255,255,255,255,255,255,255,255,255,249,255,255,255, - 255,255,255,252,7,0,0,0,0,224,255,191,255,255,255,255,0,0,0,255,255,255,255, - 255,255,15,0,255,255,255,255,255,255,255,255,47,0,255,3,0,0,252,232,255,255, - 255,255,255,7,255,255,255,255,7,0,255,255,255,31,255,255,255,255,255,255,247, - 255,0,128,255,3,255,255,255,127,255,255,255,255,255,255,127,0,255,63,255,3, - 255,255,127,252,255,255,255,255,255,255,255,127,5,0,0,56,255,255,60,0,126,126, - 126,0,127,127,255,255,255,255,255,247,255,3,255,255,255,255,255,255,255,255, - 255,255,255,255,255,255,255,7,255,3,255,255,255,255,255,255,255,255,255,255, - 255,255,255,255,255,255,255,255,255,255,15,0,255,255,127,248,255,255,255,255, - 255, - 15,255,255,255,255,255,255,255,255,255,255,255,255,255,63,255,255,255,255,255, - 255,255,255,255,255,255,255,255,3,0,0,0,0,127,0,248,224,255,253,127,95,219, - 255,255,255,255,255,255,255,255,255,255,255,255,255,3,0,0,0,248,255,255,255, - 255,255,255,255,255,255,255,255,255,63,0,0,255,255,255,255,255,255,255,255, - 252,255,255,255,255,255,255,0,0,0,0,0,255,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,223, - 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,0,0,255,3, - 254,255,255,7,254,255,255,7,192,255,255,255,255,255,255,255,255,255,255,127, - 252,252,252,28,0,0,0,0,255,239,255,255,127,255,255,183,255,63,255,63,0,0,0,0, - 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,7,0,0,0,0,0,0,0,0, - 255,255,255,255,255,255,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,255,255,255,31,255,255,255,255,255,255,1,0,0,0,0, - 0,255,255,255,255,0,224,255,255,255,7,255,255,255,255,255,7,255,255,255,63, - 255,255,255,255,15,255,62,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255, - 255,255,255,255,255,255,255,255,255,63,255,3,255,255,255,255,15,255,255,255, - 255,15,255,255,255,255,255,0,255,255,255,255,255,255,15,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,255,255,255,255,255,255,127,0,255,255,63,0,255,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,63,253,255,255,255,255,191,145,255,255,63,0,255,255, - 127,0,255,255,255,127,0,0,0,0,0,0,0,0,255,255,55,0,255,255,63,0,255,255,255,3, - 0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,192,0,0,0,0,0,0,0,0,111,240,239, - 254,255,255,63,0,0,0,0,0,255,255,255,31,255,255,255,31,0,0,0,0,255,254,255, - 255,31,0,0,0,255,255,255,255,255,255,63,0,255,255,63,0,255,255,7,0,255,255,3, - 0,0,0,0,0,0,0,0,0,0,0,0, - 0,255,255,255,255,255,255,255,255,255,1,0,0,0,0,0,0,255,255,255,255,255,255,7, - 0,255,255,255,255,255,255,7,0,255,255,255,255,255,0,255,3,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255, - 255,27,3,0,0,0,0,0,0,0,0,0,255,255,255,31,128,0,255,255,63,0,0,0,0,0,0,0,0,0, - 0,0,0,0,255,255,31,0,0,0,255,255,127,0,255,255,255,255,255,255,255,255,63,0,0, - 0,192,255,0,0,252,255,255,255,255,255,255,1,0,0,255,255,255,1,255,3,255,255, - 255,255,255,255,199,255,240,0,255,255,255,255,71,0,255,255,255,255,255,255, - 255,255,30,192,255,23,0,0,0,0,255,255,251,255,255,255,159,64,0,0,0,0,0,0,0,0, - 127,189,255,191,255,1,255,255,255,255,255,255,255,1,255,3,239,159,249,255,255, - 253,237,227,159,25,129,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,255,255,255,255,255,255,255,255,187,7,255,131,3,0,0,0,255,255,255,255,255, - 255,255,255,179,0,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255, - 255,255,255,63,127,0,0,0,63,0,0,0,0,255,255,255,255,255,255,255,127,17,0,255, - 3,0,0,0,0,255,255,255,255,255,255,63,1,255,3,0,0,0,0,0,0,255,255,255,231,255, - 7,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255, - 255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,3,0,128, - 127,242,111,255,255,255,191,153,7,0,255,3,0,0,0,0,0,0,0,0,255,252,255,255,255, - 255,255,252,26,0,0,0,255,255,255,255,255,255,231,127,0,0,255,255,255,255,255, - 255,255,255,255,32,0,0,0,0,255,255,255,255,255,255,255,1,255,253,255,255,255, - 255,127,127,1,0,255,3,0,0,252,255,255,255,252,255,255,254,127,0,0,0,0,0,0,0,0, - 0,127,251,255,255,255,255,127,180,203,0,255,3,191,253,255,255,255,127,123,1, - 255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, - 0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, - 255,3,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255, - 255,127,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, - 255,255,255,255,255,255,255,255,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,255,255,255,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,255,255,255,255,255,255,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0, - 0,255,255,255,255,255,255,255,1,255,255,255,127,255,3,0,0,0,0,0,0,0,0,0,0,0,0, - 255,255,255,63,0,0,255,255,255,255,255,255,0,0,15,0,255,3,248,255,255,224,255, - 255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255, - 255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,135, - 255,255,255,255,255,255,255,128,255,255,0,0,0,0,0,0,0,0,11,0,3,0,255,255,255, - 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, - 255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255, - 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,0,0,0,0,0, - 255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255, - 127,0,0,0,0,0,0,7,0,240,0,255,255,255,255,255,255,255,255,255,255,255,255,255, - 255,255,255,255, - 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, - 255,255,255,255,255,255,255,255,255,255,255,255,255,15,255,255,255,255,255, - 255,255,255,255,255,255,255,255,7,255,31,255,1,255,67,0,0,0,0,0,0,0,0,0,0,0,0, - 255,255,255,255,255,255,255,255,255,255,223,255,255,255,255,255,255,255,255, - 223,100,222,255,235,239,255,255,255,255,255,255,255,191,231,223,223,255,255, - 255,123,95,252,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255, - 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, - 255,255,255,255,255,255,255,255,63,255,255,255,253,255,255,247,255,255,255, - 247,255,255,223,255,255,255,223,255,255,127,255,255,255,127,255,255,255,253, - 255,255,255,253,255,255,247,207,255,255,255,255,255,255,127,255,255,249,219,7, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,31, - 128,63,255,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,15,255, - 3,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, - 255,255,255,255,255,31,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,143,8, - 255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,239,255,255,255,150,254,247,10, - 132,234,150,170,150,247,247,94,255,251,255,15,238,251,255,15,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,255,255,255,3,255,255,255,3,255,255,255,3,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,3 -]); - -// size: 1568 bytes (compressed to ~1380 bytes after binaryen) -// @ts-ignore: decorator -@lazy @inline const CASED = memory.data([ - 18,19,20,21,22,23,16,16,16,16,16,16,16,16,16,16, - 24,16,16,25,16,16,16,16,16,16,16,16,26,27,17,28, - 29,30,16,16,31,16,16,16,16,16,16,16,32,33,16,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,34,35,16,16,16,36,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,37,16,16,16,38, - 16,16,16,16,39,16,16,16,16,16,16,16,40,16,16,16, - 16,16,16,16,16,16,16,16,41,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,42,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,43,44,45,46,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,47,16,16,16,16,16,16, - 16,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, - 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, - 0,0,0,0,0,0,0,0,254,255,255,7,254,255,255,7,0,0,0,0,0,4,32,4, - 255,255,127,255,255,255,127,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, - 255,255,255,255,255,255,255,247,240,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, - 255,255,255,255,255,255,255,255,255,255,239,255,255,255,255,1,3,0,0,0,31,0,0,0, - 0,0,0,0,0,0,0,0,32,0,0,0,0,0,207,188,64,215,255,255,251,255,255,255, - 255,255,255,255,255,255,191,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, - 3,252,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,255, - 255,255,127,0,255,255,255,255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255, - 191,32,255,255,255,255,255,231,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,255,255,255,255,255,255,255,255,255,255,63,63,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,255,1,255,255,255,255,255,231,0,0,0,0,0,0,0,0, - 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, - 0,0,0,0,0,0,0,0,255,255,63,63,255,255,255,255,63,63,255,170,255,255,255,63, - 255,255,255,255,255,255,223,95,220,31,207,15,255,31,220,31,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,2,128,0,0,255,31,0,0,0,0,0,0,0,0,0,0,0,0, - 132,252,47,62,80,189,31,242,224,67,0,0,255,255,255,255,24,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,192,255,255,255,255,255,255,3,0,0,255,255,255,255,255,127,255,255, - 255,255,255,127,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,120,12,0, - 255,255,255,255,191,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,63,0,0, - 255,255,255,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,255,255,255, - 255,255,255,255,255,255,255,255,255,120,255,255,255,255,255,255,252,7,0,0,0,0,96,7, - 0,0,0,0,0,0,255,255,255,255,255,247,255,1,255,255,255,255,255,255,255,255,255,255, - 0,0,0,0,0,0,0,0,127,0,248,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,255,255,7, - 254,255,255,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255, - 255,255,15,255,255,255,255,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 255,255,255,255,255,255,7,0,255,255,255,255,255,255,7,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0, - 0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,223,255,255,255,255,255, - 255,255,255,223,100,222,255,235,239,255,255,255,255,255,255,255,191,231,223,223,255,255,255,123, - 95,252,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, - 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,255,255,255, - 253,255,255,247,255,255,255,247,255,255,223,255,255,255,223,255,255,127,255,255,255,127,255,255, - 255,253,255,255,255,253,255,255,247,15,0,0,0,0,0,0,255,255,255,255,255,255,255,255, - 15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,255,255,255,3,255,255,255,3,255,255,255,3,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0 -]); - -// size: 2976 bytes (compressed to ~2050 bytes after binaryen) -// @ts-ignore: decorator -@lazy @inline const CASE_IGNORABLES = memory.data([ - 18,16,19,20,21,22,23,24,25,26,27,28,29,30,31,32, - 33,16,16,34,16,16,16,35,36,37,38,39,40,41,16,42, - 43,16,16,16,16,16,16,16,16,16,16,16,44,45,46,16, - 47,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 48,16,16,16,49,16,50,51,52,53,54,55,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,56,16,16,57,58, - 16,59,60,61,16,16,16,16,16,16,62,16,16,63,64,65, - 66,67,68,69,70,71,72,73,74,75,76,16,77,78,79,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,80,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,81,82,16,16,16,83, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,16,84,16,16,16, - 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, - 16,85,86,16,16,16,16,16,16,16,87,16,16,16,16,16, - 88,89,90,16,16,16,16,16,91,92,16,16,16,16,16,16, - 16,16,16,93,16,16,16,16,16,16,16,16,16,16,16,16, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, - 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, - 0,0,0,0,128,64,0,4,0,0,0,64,1,0,0,0,0,0,0,0,0,161,144,1, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, - 255,255,255,255,255,255,48,4,176,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,3,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,130,0,0,0,0, - 0,0,254,255,255,255,255,191,182,0,0,0,0,0,16,0,63,0,255,23,0,0,0,0, - 1,248,255,255,0,0,1,0,0,0,0,0,0,0,0,0,0,0,192,191,255,61,0,0, - 0,128,2,0,0,0,255,255,255,7,0,0,0,0,0,0,0,0,0,0,192,255,1,0, - 0,0,0,0,0,248,63,36,0,0,192,255,255,63,0,0,0,0,0,14,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,248,255,255,255,255,255,7,0,0,0,0,0,0,20, - 254,33,254,0,12,0,2,0,2,0,0,0,0,0,0,16,30,32,0,0,12,0,0,64, - 6,0,0,0,0,0,0,16,134,57,2,0,0,0,35,0,6,0,0,0,0,0,0,16, - 190,33,0,0,12,0,0,252,2,0,0,0,0,0,0,144,30,32,96,0,12,0,0,0, - 4,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,17,0,0,0,0,0,0,192, - 193,61,96,0,12,0,0,0,2,0,0,0,0,0,0,144,64,48,0,0,12,0,0,0, - 3,0,0,0,0,0,0,24,30,32,0,0,12,0,0,0,2,0,0,0,0,0,0,0, - 0,4,92,0,0,0,0,0,0,0,0,0,0,0,242,7,192,127,0,0,0,0,0,0, - 0,0,0,0,0,0,242,31,64,63,0,0,0,0,0,0,0,0,0,3,0,0,160,2, - 0,0,0,0,0,0,254,127,223,224,255,254,255,255,255,31,64,0,0,0,0,0,0,0, - 0,0,0,0,0,224,253,102,0,0,0,195,1,0,30,0,100,32,0,32,0,0,0,0, - 0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,224,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,0,0,0,28,0, - 0,0,12,0,0,0,12,0,0,0,0,0,0,0,176,63,64,254,143,32,0,0,0,0, - 0,120,0,0,0,0,0,0,8,0,0,0,0,0,0,0,96,0,0,0,0,2,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,135,1,4,14,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,9,0,0,0,0, - 0,0,64,127,229,31,248,159,0,0,0,0,128,0,255,255,1,0,0,0,0,0,0,0, - 15,0,0,0,0,0,208,23,4,0,0,0,0,248,15,0,3,0,0,0,60,59,0,0, - 0,0,0,0,64,163,3,0,0,0,0,0,0,240,207,0,0,0,0,0,0,0,0,63, - 0,0,0,0,0,0,0,0,0,0,247,255,253,33,16,3,0,0,0,0,0,240,255,255, - 255,255,255,255,255,7,0,1,0,0,0,248,255,255,255,255,255,255,255,255,255,255,255,251, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160, - 3,224,0,224,0,224,0,96,0,248,0,3,144,124,0,0,0,0,0,0,223,255,2,128, - 0,0,255,31,0,0,0,0,0,0,255,255,255,255,1,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,0,0,0,0,0,0,128,3,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,128,0,128,0,0,0,0,0,0,0,0, - 0,0,0,0,255,255,255,255,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,60,62,8, - 0,0,0,0,0,0,0,0,0,0,0,126,0,0,0,0,0,0,0,0,0,0,0,112, - 0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,0,16,0,0,0,0,0,0, - 0,0,0,0,0,128,247,191,0,0,0,240,0,0,0,0,0,0,0,0,0,0,3,0, - 255,255,255,255,3,0,0,0,0,0,0,0,0,0,1,0,0,7,0,0,0,0,0,0, - 0,0,0,0,0,0,0,3,68,8,0,0,96,16,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,48,0,0,0,255,255,3,128,0,0,0,0,192,63,0,0, - 128,255,3,0,0,0,0,0,7,0,0,0,0,0,200,51,0,128,0,0,96,0,0,0, - 0,0,0,0,0,126,102,0,8,16,0,0,0,0,1,16,0,0,0,0,0,0,157,193, - 2,0,0,32,0,48,88,0,0,0,0,0,0,0,0,0,0,0,0,248,0,14,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,32,33,0,0,0,0,0,64,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,255,3,0,0,0,0,0,0,0, - 255,255,8,0,255,255,0,0,0,0,36,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,128,128,64,0,4,0,0,0,64,1,0,0,0,0,0,1,0, - 0,0,0,192,0,0,0,0,0,0,0,0,8,0,0,14,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,7, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,110,240,0,0,0,0,0,135, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,0,0,0, - 0,0,0,0,240,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 192,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 2,0,0,0,0,0,0,255,127,0,0,0,0,0,0,128,3,0,0,0,0,0,120,38, - 0,32,0,0,0,0,0,0,7,0,0,0,128,239,31,0,0,0,0,0,0,0,8,0, - 3,0,0,0,0,0,192,127,0,158,0,0,0,0,0,0,0,0,0,0,0,128,211,64, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,248,7,0,0, - 3,0,0,0,0,0,0,24,1,0,0,0,192,31,31,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,92,0,0,64,0,0,0,0, - 0,0,0,0,0,0,248,133,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,176,1,0,0,48,0,0,0,0, - 0,0,0,0,0,0,248,167,1,0,0,0,0,0,0,0,0,0,0,0,0,40,191,0, - 0,0,0,0,0,0,0,0,0,0,0,224,188,15,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,255,6, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,88,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,240,12,1,0,0,0,254,7,0,0,0,0,248,121,128,0,126,14,0,0,0,0, - 0,252,127,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,127,191, - 0,0,0,0,0,0,0,0,0,0,252,255,255,252,109,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,126,180,191,0,0,0,0,0,0,0,0,0,163,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,255,1, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,31,0,0,0,0,0,0,0,127,0,15,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,128,0,0,0,0,0,0,0,128,255,255,0,0,0,0,0,0,0,0,27,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,15,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,3,248,255, - 231,15,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 255,255,255,255,255,255,127,248,255,255,255,255,255,31,32,0,16,0,0,248,254,255,0,0, - 0,0,0,0,0,0,0,0,127,255,255,249,219,7,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,63, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,240,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,127,0,0,0,0,0,0,0,0,0,0,0,0,0, - 240,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,248 -]); - -// @ts-ignore: decorator -@lazy @inline const LOWER127 = memory.data([ - 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15, - 16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31, - 32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47, - 48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63, - 64, - 97,98,99,100,101,102,103,104,105,106,107,108,109, - 110,111,112,113,114,115,116,117,118,119,120,121,122, - 91,92,93,94,95,96, - 97,98,99,100,101,102,103,104,105,106,107,108,109, - 110,111,112,113,114,115,116,117,118,119,120,121,122, - 123,124,125,126,127 -]); - -// @ts-ignore: decorator -@lazy @inline const UPPER127 = memory.data([ - 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15, - 16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31, - 32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47, - 48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63, - 64, - 65,66,67,68,69,70,71,72,73,74,75,76,77, - 78,79,80,81,82,83,84,85,86,87,88,89,90, - 91,92,93,94,95,96, - 65,66,67,68,69,70,71,72,73,74,75,76,77, - 78,79,80,81,82,83,84,85,86,87,88,89,90, - 123,124,125,126,127 -]); - -// 23 * 8 = 184 bytes -// @ts-ignore: decorator -@lazy @inline const POWERS10 = memory.data([ - 1e00, 1e01, 1e02, 1e03, 1e04, 1e05, 1e06, 1e07, 1e08, 1e09, - 1e10, 1e11, 1e12, 1e13, 1e14, 1e15, 1e16, 1e17, 1e18, 1e19, - 1e20, 1e21, 1e22 -]); - -// @ts-ignore: decorator -@inline -export const enum CharCode { - PERCENT = 0x25, - PLUS = 0x2B, - MINUS = 0x2D, - DOT = 0x2E, - _0 = 0x30, - _1 = 0x31, - _2 = 0x32, - _3 = 0x33, - _4 = 0x34, - _5 = 0x35, - _6 = 0x36, - _7 = 0x37, - _8 = 0x38, - _9 = 0x39, - A = 0x41, - B = 0x42, - E = 0x45, - I = 0x49, - N = 0x4E, - O = 0x4F, - X = 0x58, - Z = 0x5A, - a = 0x61, - b = 0x62, - e = 0x65, - n = 0x6E, - o = 0x6F, - u = 0x75, - x = 0x78, - z = 0x7A -} - -// @ts-ignore: decorator -@inline -export function isAscii(c: u32): bool { - return !(c >> 7); -} - -// @ts-ignore: decorator -@inline -export function isLower8(c: u32): bool { - return c - CharCode.a < 26; -} - -// @ts-ignore: decorator -@inline -export function isUpper8(c: u32): bool { - return c - CharCode.A < 26; -} - -export function isSpace(c: u32): bool { - if (c < 0x1680) { // < (1) - // , , , , , and - // (c == 0x20 || c == 0xA0) was optimized to (c | 0x80) == 0xA0 - return ((c | 0x80) == 0xA0) || (c - 0x09 <= 0x0D - 0x09); - } - if (c - 0x2000 <= 0x200A - 0x2000) return true; - switch (c) { - case 0x1680: // (1) - case 0x2028: // (2) - case 0x2029: // - case 0x202F: // - case 0x205F: // - case 0x3000: // - case 0xFEFF: return true; // - } - return false; -} - -export function isAlpha(c: u32): bool { - if (isAscii(c)) return (c | 32) - CharCode.a < 26; - if (c < 0x20000) { - // @ts-ignore: cast - return stagedBinaryLookup(ALPHA_TABLE, c); - } - return c < 0x2FFFE; -} - -// @ts-ignore: decorator -@inline -export function isCased(c: u32): bool { - // @ts-ignore: cast - return c < 0x1F18A && stagedBinaryLookup(CASED, c); -} - -// @ts-ignore: decorator -@inline -export function isCaseIgnorable(c: u32): bool { - // @ts-ignore: cast - return c < 0xE01F0 && stagedBinaryLookup(CASE_IGNORABLES, c); -} - -// @ts-ignore: decorator -@inline -export function isFinalSigma(buffer: usize, index: isize, len: isize): bool { - const lookaheadLimit = 30; // max lookahead limit - let found = false; - let pos = index; - let minPos = max(0, pos - lookaheadLimit); - while (pos > minPos) { - let c = codePointBefore(buffer, pos); - if (!isCaseIgnorable(c)) { - if (isCased(c)) { - found = true; - } else { - return false; - } - } - pos -= isize(c >= 0x10000) + 1; - } - if (!found) return false; - pos = index + 1; - let maxPos = min(pos + lookaheadLimit, len); - while (pos < maxPos) { - let c = load(buffer + (pos << 1)); - if (u32((c & 0xFC00) == 0xD800) & u32(pos + 1 != len)) { - let c1 = load(buffer + (pos << 1), 2); - if ((c1 & 0xFC00) == 0xDC00) { - c = (c - 0xD800 << 10) + (c1 - 0xDC00) + 0x10000; - } - } - if (!isCaseIgnorable(c)) { - return !isCased(c); - } - pos += isize(c >= 0x10000) + 1; - } - return true; -} - -// @ts-ignore: decorator -@inline -function codePointBefore(buffer: usize, index: isize): i32 { - if (index <= 0) return -1; - let c = load(buffer + (index - 1 << 1)); - if (u32((c & 0xFC00) == 0xDC00) & u32(index - 2 >= 0)) { - let c1 = load(buffer + (index - 2 << 1)); - if ((c1 & 0xFC00) == 0xD800) { - return ((c1 & 0x3FF) << 10) + (c & 0x3FF) + 0x10000; - } - } - return (c & 0xF800) == 0xD800 ? 0xFFFD : c; -} - -// Search routine for two-staged lookup tables -function stagedBinaryLookup(table: usize, c: u32): bool { - return ((load(table + (load(table + (c >>> 8)) << 5) + ((c & 255) >> 3)) >>> (c & 7)) & 1); -} - -export function compareImpl(str1: string, index1: usize, str2: string, index2: usize, len: usize): i32 { - let ptr1 = changetype(str1) + (index1 << 1); - let ptr2 = changetype(str2) + (index2 << 1); - if (ASC_SHRINK_LEVEL < 2) { - if (len >= 4 && !((ptr1 & 7) | (ptr2 & 7))) { - do { - if (load(ptr1) != load(ptr2)) break; - ptr1 += 8; - ptr2 += 8; - len -= 4; - } while (len >= 4); - } - } - while (len--) { - let a = load(ptr1); - let b = load(ptr2); - if (a != b) return a - b; - ptr1 += 2; - ptr2 += 2; - } - return 0; -} - -// @ts-ignore: decorator -@inline -export function toLower8(c: u32): u32 { - if (ASC_SHRINK_LEVEL > 0) { - return c | u32(isUpper8(c)) << 5; - } else { - return load(LOWER127 + c); - } -} - -// @ts-ignore: decorator -@inline -export function toUpper8(c: u32): u32 { - if (ASC_SHRINK_LEVEL > 0) { - return c & ~(u32(isLower8(c)) << 5); - } else { - return load(UPPER127 + c); - } -} - -/** Parses a string to an integer (usually), using the specified radix. */ -export function strtol(str: string, radix: i32 = 0): T { - let len = str.length; - if (!len) { - if (isFloat()) { - // @ts-ignore: cast - return NaN; - } else { - // @ts-ignore: cast - return 0; - } - } - - let ptr = changetype(str) /* + HEAD -> offset */; - let code = load(ptr); - - // trim white spaces - while (isSpace(code)) { - code = load(ptr += 2); - --len; - } - // determine sign - // @ts-ignore - let sign: T = 1; - if (code == CharCode.MINUS || code == CharCode.PLUS) { - if (!--len) { - if (isFloat()) { - // @ts-ignore: cast - return NaN; - } else { - // @ts-ignore: cast - return 0; - } - } - if (code == CharCode.MINUS) { - // @ts-ignore: type - sign = -1; - } - code = load(ptr += 2); - } - - // See https://tc39.es/ecma262/#sec-parseint-string-radix - if (radix) { - if (radix < 2 || radix > 36) { - if (isFloat()) { - // @ts-ignore: cast - return NaN; - } else { - // @ts-ignore: cast - return 0; - } - } - // handle case as parseInt("0xFF", 16) by spec - if (radix == 16) { - if ( - len > 2 && - code == CharCode._0 && - (load(ptr, 2) | 32) == CharCode.x - ) { - ptr += 4; len -= 2; - } - } - } else { - // determine radix by literal prefix - if (code == CharCode._0 && len > 2) { - switch (load(ptr, 2) | 32) { - case CharCode.b: { - ptr += 4; len -= 2; - radix = 2; - break; - } - case CharCode.o: { - ptr += 4; len -= 2; - radix = 8; - break; - } - case CharCode.x: { - ptr += 4; len -= 2; - radix = 16; - break; - } - } - } - if (!radix) radix = 10; - } - - // calculate value - // @ts-ignore: type - let num: T = 0; - let initial = len - 1; - while (len--) { - code = load(ptr); - if (code - CharCode._0 < 10) { - code -= CharCode._0; - } else if (code - CharCode.A <= (CharCode.Z - CharCode.A)) { - code -= CharCode.A - 10; - } else if (code - CharCode.a <= (CharCode.z - CharCode.a)) { - code -= CharCode.a - 10; - } - if (code >= radix) { - if (initial == len) { - if (isFloat()) { - // @ts-ignore: cast - return NaN; - } else { - // @ts-ignore: cast - return 0; - } - } - break; - } - // @ts-ignore: type - num = num * radix + code; - ptr += 2; - } - // @ts-ignore: type - return sign * num; -} - -export function strtod(str: string): f64 { - let len = str.length; - if (!len) return NaN; - - let ptr = changetype(str); - let code = load(ptr); - - let sign = 1.0; - // skip white spaces - while (len && isSpace(code)) { - code = load(ptr += 2); - --len; - } - if (!len) return NaN; - - // try parse '-' or '+' - if (code == CharCode.MINUS) { - if (!--len) return NaN; - code = load(ptr += 2); - sign = -1; - } else if (code == CharCode.PLUS) { - if (!--len) return NaN; - code = load(ptr += 2); - } - - // try parse Infinity - if (len >= 8 && code == CharCode.I) { - if ( - load(ptr, 0) == 0x690066006E0049 && // ifnI - load(ptr, 8) == 0x7900740069006E // ytin - ) { - return Infinity * sign; - } - return NaN; - } - // validate next symbol - if (code != CharCode.DOT && (code - CharCode._0) >= 10) { - return NaN; - } - let savedPtr = ptr; - // skip zeros - while (code == CharCode._0) { - code = load(ptr += 2); - --len; - } - if (len <= 0) return 0.0 * sign; - const capacity = 19; // int(64 * 0.3010) - let pointed = false; - let consumed = 0; - let position = 0; - let x: u64 = 0; - if (code == CharCode.DOT) { - let noDigits = !(savedPtr - ptr); - ptr += 2; --len; - if (!len && noDigits) return NaN; - for (pointed = true; (code = load(ptr)) == CharCode._0; --position, ptr += 2) --len; - if (len <= 0) return 0.0 * sign; - if (!position && noDigits && code - CharCode._0 >= 10) return NaN; - } - for (let digit = code - CharCode._0; digit < 10 || (code == CharCode.DOT && !pointed); digit = code - CharCode._0) { - if (digit < 10) { - x = consumed < capacity ? 10 * x + digit : x | u64(!!digit); - ++consumed; - } else { - position = consumed; - pointed = true; - } - if (!--len) break; - code = load(ptr += 2); - } - - if (!pointed) position = consumed; - return copysign(scientific(x, position - min(capacity, consumed) + parseExp(ptr, len)), sign); -} - -export function strtob(str: string): bool { - let size: usize = str.length << 1; - let offset: usize = 0; - if (size > 8) { - // try trim end whitespaces first - while (size && isSpace(load(changetype(str) + size - 2))) size -= 2; - if (size > 8) { - // trim start whitespaces - while (offset < size && isSpace(load(changetype(str) + offset))) offset += 2; - size -= offset; - } - } - if (size != 8) return false; - // "true" represents as \00\e\00\u\00\e\00\t (00 65 00 75 00 72 00 74) - return load(changetype(str) + offset) == 0x0065_0075_0072_0074; -} - -export function joinBooleanArray(dataStart: usize, length: i32, separator: string): string { - let lastIndex = length - 1; - if (lastIndex < 0) return ""; - if (!lastIndex) return select("true", "false", load(dataStart)); - - let sepLen = separator.length; - let valueLen = 5; // max possible length of element len("false") - let estLen = (valueLen + sepLen) * lastIndex + valueLen; - let result = changetype(__new(estLen << 1, idof())); - let offset = 0; - let value: bool; - for (let i = 0; i < lastIndex; ++i) { - value = load(dataStart + i); - valueLen = 4 + i32(!value); - memory.copy( - changetype(result) + (offset << 1), - changetype(select("true", "false", value)), - valueLen << 1 - ); - offset += valueLen; - if (sepLen) { - memory.copy( - changetype(result) + (offset << 1), - changetype(separator), - sepLen << 1 - ); - offset += sepLen; - } - } - value = load(dataStart + lastIndex); - valueLen = 4 + i32(!value); - memory.copy( - changetype(result) + (offset << 1), - changetype(select("true", "false", value)), - valueLen << 1 - ); - offset += valueLen; - - if (estLen > offset) return result.substring(0, offset); - return result; -} - -export function joinIntegerArray(dataStart: usize, length: i32, separator: string): string { - let lastIndex = length - 1; - if (lastIndex < 0) return ""; - if (!lastIndex) { - let value = load(dataStart); - if (isSigned()) { - if (sizeof() <= 4) { - // @ts-ignore: type - return changetype(itoa32(value, 10)); - } else { - // @ts-ignore: type - return changetype(itoa64(value, 10)); - } - } else { - if (sizeof() <= 4) { - // @ts-ignore: type - return changetype(utoa32(value, 10)); - } else { - // @ts-ignore: type - return changetype(utoa64(value, 10)); - } - } - } - - let sepLen = separator.length; - const valueLen = (sizeof() <= 4 ? 10 : 20) + i32(isSigned()); - let estLen = (valueLen + sepLen) * lastIndex + valueLen; - let result = changetype(__new(estLen << 1, idof())); - let offset = 0; - let value: T; - for (let i = 0; i < lastIndex; ++i) { - value = load(dataStart + (i << alignof())); - // @ts-ignore: type - offset += itoa_buffered(changetype(result) + (offset << 1), value); - if (sepLen) { - memory.copy( - changetype(result) + (offset << 1), - changetype(separator), - sepLen << 1 - ); - offset += sepLen; - } - } - value = load(dataStart + (lastIndex << alignof())); - // @ts-ignore: type - offset += itoa_buffered(changetype(result) + (offset << 1), value); - if (estLen > offset) return result.substring(0, offset); - return result; -} - -export function joinFloatArray(dataStart: usize, length: i32, separator: string): string { - let lastIndex = length - 1; - if (lastIndex < 0) return ""; - if (!lastIndex) { - return changetype(dtoa( - // @ts-ignore: type - load(dataStart)) - ); - } - - const valueLen = MAX_DOUBLE_LENGTH; - let sepLen = separator.length; - let estLen = (valueLen + sepLen) * lastIndex + valueLen; - let result = changetype(__new(estLen << 1, idof())); - let offset = 0; - let value: T; - for (let i = 0; i < lastIndex; ++i) { - value = load(dataStart + (i << alignof())); - // @ts-ignore: type - offset += dtoa_buffered(changetype(result) + (offset << 1), value); - if (sepLen) { - memory.copy( - changetype(result) + (offset << 1), - changetype(separator), - sepLen << 1 - ); - offset += sepLen; - } - } - value = load(dataStart + (lastIndex << alignof())); - // @ts-ignore: type - offset += dtoa_buffered(changetype(result) + (offset << 1), value); - if (estLen > offset) return result.substring(0, offset); - return result; -} - -export function joinStringArray(dataStart: usize, length: i32, separator: string): string { - let lastIndex = length - 1; - if (lastIndex < 0) return ""; - if (!lastIndex) { - // @ts-ignore: type - return load(dataStart) || ""; - } - let estLen = 0; - let value: string; - for (let i = 0; i < length; ++i) { - value = load(dataStart + (i << alignof())); - if (changetype(value) != 0) estLen += value.length; - } - let offset = 0; - let sepLen = separator.length; - let result = changetype(__new((estLen + sepLen * lastIndex) << 1, idof())); - for (let i = 0; i < lastIndex; ++i) { - value = load(dataStart + (i << alignof())); - if (changetype(value) != 0) { - let valueLen = value.length; - memory.copy( - changetype(result) + (offset << 1), - changetype(value), - valueLen << 1 - ); - offset += valueLen; - } - if (sepLen) { - memory.copy( - changetype(result) + (offset << 1), - changetype(separator), - sepLen << 1 - ); - offset += sepLen; - } - } - value = load(dataStart + (lastIndex << alignof())); - if (changetype(value) != 0) { - memory.copy( - changetype(result) + (offset << 1), - changetype(value), - value.length << 1 - ); - } - return result; -} - -export function joinReferenceArray(dataStart: usize, length: i32, separator: string): string { - let lastIndex = length - 1; - if (lastIndex < 0) return ""; - let value: T; - if (!lastIndex) { - value = load(dataStart); - // @ts-ignore: type - return value != null ? value.toString() : ""; - } - let result = ""; - let sepLen = separator.length; - for (let i = 0; i < lastIndex; ++i) { - value = load(dataStart + (i << alignof())); - // @ts-ignore: type - if (value != null) result += value.toString(); - if (sepLen) result += separator; - } - value = load(dataStart + (lastIndex << alignof())); - // @ts-ignore: type - if (value != null) result += value.toString(); - return result; -} - -// @ts-ignore: decorator -@inline -function scientific(significand: u64, exp: i32): f64 { - if (!significand || exp < -342) return 0; - if (exp > 308) return Infinity; - // Try use fast path - // Use fast path for string-to-double conversion if possible - // see http://www.exploringbinary.com/fast-path-decimal-to-floating-point-conversion - // Simple integer - let significandf = significand; - if (!exp) return significandf; - if (exp > 22 && exp <= 22 + 15) { - significandf *= pow10(exp - 22); - exp = 22; - } - if (significand <= 9007199254740991 && abs(exp) <= 22) { - if (exp > 0) return significandf * pow10(exp); - return significandf / pow10(-exp); - } else if (exp < 0) { - return scaledown(significand, exp); - } else { - return scaleup(significand, exp); - } -} - -// Adopted from metallic lib: -// https://github.com/jdh8/metallic/blob/master/src/stdlib/parse/scientific.h -// @ts-ignore: decorator -@inline -function scaledown(significand: u64, exp: i32): f64 { - const denom: u64 = 6103515625; // 1e14 * 0x1p-14 - const scale = reinterpret(0x3F06849B86A12B9B); // 1e-14 * 0x1p32 - - let shift = clz(significand); - significand <<= shift; - shift = exp - shift; - - for (; exp <= -14; exp += 14) { - let q = significand / denom; - let r = significand % denom; - let s = clz(q); - significand = (q << s) + nearest(scale * (r << (s - 18))); - shift -= s; - } - let b = ipow32(5, -exp); - let q = significand / b; - let r = significand % b; - let s = clz(q); - significand = (q << s) + (reinterpret(reinterpret(r) + (s << 52)) / b); - shift -= s; - - return NativeMath.scalbn(significand, shift); -} - -// Adopted from metallic lib: -// https://github.com/jdh8/metallic/blob/master/src/stdlib/parse/scientific.h -// @ts-ignore: decorator -@inline -function scaleup(significand: u64, exp: i32): f64 { - const coeff: u32 = 1220703125; // 1e13 * 0x1p-13; - let shift = ctz(significand); - significand >>= shift; - shift += exp; - - __fixmulShift = shift; - for (; exp >= 13; exp -= 13) { - significand = fixmul(significand, coeff); - } - significand = fixmul(significand, ipow32(5, exp)); - shift = __fixmulShift; - return NativeMath.scalbn(significand, shift); -} - -// Adopted from metallic lib: -// https://github.com/jdh8/metallic/blob/master/src/stdlib/parse/scientific.h -// @ts-ignore: decorator -@inline -function parseExp(ptr: usize, len: i32): i32 { - let sign = 1, magnitude = 0; - let code = load(ptr); - // check code is 'e' or 'E' - if ((code | 32) != CharCode.e) return 0; - - if (!--len) return 0; - code = load(ptr += 2); - if (code == CharCode.MINUS) { - if (!--len) return 0; - code = load(ptr += 2); - sign = -1; - } else if (code == CharCode.PLUS) { - if (!--len) return 0; - code = load(ptr += 2); - } - // skip zeros - while (code == CharCode._0) { - if (!--len) return 0; - code = load(ptr += 2); - } - for (let digit: u32 = code - CharCode._0; len && digit < 10; digit = code - CharCode._0) { - if (magnitude >= 3200) return sign * 3200; - magnitude = 10 * magnitude + digit; - code = load(ptr += 2); - --len; - } - return sign * magnitude; -} - -// @ts-ignore: decorator -@lazy let __fixmulShift: u64 = 0; - -// Adopted from metallic lib: -// https://github.com/jdh8/metallic/blob/master/src/stdlib/parse/scientific.h -// @ts-ignore: decorator -@inline -function fixmul(a: u64, b: u32): u64 { - let low = (a & 0xFFFFFFFF) * b; - let high = (a >> 32) * b + (low >> 32); - let overflow = (high >> 32); - let space = clz(overflow); - let revspace: u64 = 32 - space; - __fixmulShift += revspace; - return (high << space | (low & 0xFFFFFFFF) >> revspace) + (low << space >> 31 & 1); -} - -// @ts-ignore: decorator -@inline -function pow10(n: i32): f64 { - // argument `n` should bounds in [0, 22] range - return load(POWERS10 + (n << alignof())); -} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/util/uri.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/util/uri.ts deleted file mode 100644 index 5a18d469..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/std/assembly/util/uri.ts +++ /dev/null @@ -1,275 +0,0 @@ -import { E_URI_MALFORMED } from "./error"; -import { CharCode } from "./string"; - -// Truncated lookup boolean table that helps us quickly determine -// if a char needs to be escaped for URIs (RFC 2396). -// @ts-ignore: decorator -@lazy export const URI_UNSAFE = memory.data([ -/* skip 32 + 1 always set to '1' head slots - */ 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, /* - skip 128 + 1 always set to '1' tail slots */ -]); - -// Truncated lookup boolean table that helps us quickly determine -// if a char needs to be escaped for URLs (RFC 3986). -// @ts-ignore: decorator -@lazy export const URL_UNSAFE = memory.data([ -/* skip 32 + 1 always set to '1' head slots - */ 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, /* - skip 128 + 1 always set to '1' tail slots */ -]); - -// Truncated lookup boolean table for determine reserved chars: ;/?:@&=+$,# -// @ts-ignore: decorator -@lazy export const URI_RESERVED = memory.data([ - /* skip 32 + 3 always set to '0' head slots - */ 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, - 1, /* skip 191 always set to '0' tail slots */ -]); - -export function encode(src: usize, len: usize, table: usize): usize { - if (!len) return src; - - let i: usize = 0, offset: usize = 0, outSize = len << 1; - let dst = __new(outSize, idof()); - - while (i < len) { - let org = i; - let c: u32, c1: u32; - // fast scan a check chars until it valid ASCII - // and safe for copying withoud escaping. - do { - c = load(src + (i << 1)); - // is it valid ASII and safe? - if (c - 33 < 94) { // 127 - 33 - if (load(table + (c - 33))) break; - } else break; - } while (++i < len); - - // if we have some safe range of sequence just copy it without encoding - if (i > org) { - let size = i - org << 1; - if (offset + size > outSize) { - outSize = offset + size; - dst = __renew(dst, outSize); - } - // TODO: should we optimize for short cases like 2 byte size? - memory.copy( - dst + offset, - src + (org << 1), - size - ); - offset += size; - // return if we reach end on input string - if (i >= len) break; - } - - // decode UTF16 with checking for unpaired surrogates - if (c >= 0xD800) { - if (c >= 0xDC00 && c <= 0xDFFF) { - throw new URIError(E_URI_MALFORMED); - } - if (c <= 0xDBFF) { - if (i >= len) { - throw new URIError(E_URI_MALFORMED); - } - c1 = load(src + (++i << 1)); - if (c1 < 0xDC00 || c1 > 0xDFFF) { - throw new URIError(E_URI_MALFORMED); - } - c = (((c & 0x3FF) << 10) | (c1 & 0x3FF)) + 0x10000; - } - } - - let estSize = offset + (c < 0x80 ? 1 * 6 : 4 * 6); - if (estSize > outSize) { - // doubling estimated size but only for greater than one - // input lenght due to we already estemated it for worst case - outSize = len > 1 ? estSize << 1 : estSize; - dst = __renew(dst, outSize); - } - - if (c < 0x80) { - // encode ASCII unsafe code point - storeHex(dst, offset, c); - offset += 6; - } else { - // encode UTF-8 unsafe code point - if (c < 0x800) { - storeHex(dst, offset, (c >> 6) | 0xC0); - offset += 6; - } else { - if (c < 0x10000) { - storeHex(dst, offset, (c >> 12) | 0xE0); - offset += 6; - } else { - storeHex(dst, offset, (c >> 18) | 0xF0); - offset += 6; - storeHex(dst, offset, (c >> 12 & 0x3F) | 0x80); - offset += 6; - } - storeHex(dst, offset, (c >> 6 & 0x3F) | 0x80); - offset += 6; - } - storeHex(dst, offset, (c & 0x3F) | 0x80); - offset += 6; - } - ++i; - } - // shink output string buffer if necessary - if (outSize > offset) { - dst = __renew(dst, offset); - } - return dst; -} - -export function decode(src: usize, len: usize, component: bool): usize { - if (!len) return src; - - let i: usize = 0, offset: usize = 0, ch: u32 = 0; - let dst = __new(len << 1, idof()); - - while (i < len) { - let org = i; - while (i < len && (ch = load(src + (i << 1))) != CharCode.PERCENT) i++; - - if (i > org) { - let size = i - org << 1; - // TODO: should we optimize for short cases like 2 byte size? - memory.copy( - dst + offset, - src + (org << 1), - size - ); - offset += size; - if (i >= len) break; - } - - // decode hex - if ( - i + 2 >= len || - ch != CharCode.PERCENT || - (ch = loadHex(src, i + 1 << 1)) == -1 - ) throw new URIError(E_URI_MALFORMED); - - i += 3; - if (ch < 0x80) { - if (!component && isReserved(ch)) { - ch = CharCode.PERCENT; - i -= 2; - } - } else { - // decode UTF-8 sequence - let nb = utf8LenFromUpperByte(ch); - // minimal surrogate: 2 => 0x80, 3 => 0x800, 4 => 0x10000, _ => -1 - let lo: u32 = 1 << (17 * nb >> 2) - 1; - // mask: 2 => 31, 3 => 15, 4 => 7, _ => 0 - ch &= nb ? (0x80 >> nb) - 1 : 0; - - while (--nb != 0) { - let c1: u32; - // decode hex - if ( - i + 2 >= len || - load(src + (i << 1)) != CharCode.PERCENT || - (c1 = loadHex(src, i + 1 << 1)) == -1 - ) throw new URIError(E_URI_MALFORMED); - - i += 3; - if ((c1 & 0xC0) != 0x80) { - ch = 0; - break; - } - ch = (ch << 6) | (c1 & 0x3F); - } - - // check if UTF8 code point properly fit into invalid UTF16 encoding - if (ch < lo || lo == -1 || ch > 0x10FFFF || (ch >= 0xD800 && ch < 0xE000)) { - throw new URIError(E_URI_MALFORMED); - } - - // encode UTF16 - if (ch >= 0x10000) { - ch -= 0x10000; - let lo = ch >> 10 | 0xD800; - let hi = (ch & 0x03FF) | 0xDC00; - store(dst + offset, lo | (hi << 16)); - offset += 4; - continue; - } - } - store(dst + offset, ch); - offset += 2; - } - - assert(offset <= (len << 1)); - // shink output string buffer if necessary - if ((len << 1) > offset) { - dst = __renew(dst, offset); - } - return dst; -} - -function storeHex(dst: usize, offset: usize, ch: u32): void { - // @ts-ignore: decorator - const HEX_CHARS = memory.data([ - 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, - 0x38, 0x39, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46 - ]); - - store(dst + offset, CharCode.PERCENT, 0); // % - store( - dst + offset, - load(HEX_CHARS + (ch >> 4 & 0x0F)) | - load(HEX_CHARS + (ch & 0x0F)) << 16, - 2 - ); // XX -} - -function loadHex(src: usize, offset: usize): u32 { - let c0 = load(src + offset, 0); - let c1 = load(src + offset, 2); - return isHex(c0) && isHex(c1) - ? fromHex(c0) << 4 | fromHex(c1) - : -1; -} - -// @ts-ignore: decorator -@inline function fromHex(ch: u32): u32 { - return (ch | 32) % 39 - 9; -} - -// @ts-ignore: decorator -@inline function utf8LenFromUpperByte(c0: u32): u32 { - // same as - // if (c0 - 0xC0 <= 0xDF - 0xC0) return 2; - // if (c0 - 0xE0 <= 0xEF - 0xE0) return 3; - // if (c0 - 0xF0 <= 0xF7 - 0xF0) return 4; - // return 0; - return c0 - 0xC0 < 56 - ? clz(~(c0 << 24)) - : 0; -} - -// @ts-ignore: decorator -@inline function isReserved(ch: u32): bool { - return ch - 35 < 30 - ? load(URI_RESERVED + (ch - 35)) - : false; -} - -// @ts-ignore: decorator -@inline function isHex(ch: u32): bool { - return (ch - CharCode._0 < 10) || ((ch | 32) - CharCode.a < 6); -} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/assembly/vector.ts b/platforms/Arduino/node_modules/assemblyscript/std/assembly/vector.ts deleted file mode 100644 index 348debab..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/std/assembly/vector.ts +++ /dev/null @@ -1,4 +0,0 @@ -/** Vector abstraction. */ -@final @unmanaged -export abstract class V128 { -} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/portable.json b/platforms/Arduino/node_modules/assemblyscript/std/portable.json deleted file mode 100644 index 2490ba4c..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/std/portable.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "extends": "../tsconfig-base.json", - "compilerOptions": { - "target": "esnext", - "module": "commonjs", - "allowJs": true, - "typeRoots": [ "types" ], - "types": [ "portable" ], - "lib": ["esnext", "esnext.string"] - } -} diff --git a/platforms/Arduino/node_modules/assemblyscript/std/portable/index.d.ts b/platforms/Arduino/node_modules/assemblyscript/std/portable/index.d.ts deleted file mode 100644 index 98556ee4..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/std/portable/index.d.ts +++ /dev/null @@ -1,462 +0,0 @@ -/** - * Environment definitions for compiling AssemblyScript to JavaScript using tsc. - * - * Note that semantic differences require additional explicit conversions for full compatibility. - * For example, when casting an i32 to an u8, doing `(someI32 & 0xff)` will yield the same - * result when compiling to WebAssembly or JS while `someI32` alone does nothing in JS. - * - * Note that i64's are not portable (JS numbers are IEEE754 doubles with a maximum safe integer - * value of 2^53-1) and instead require a compatibility layer to work in JS as well, as for example - * {@link glue/js/i64} respectively {@link glue/wasm/i64}. - * - * @module std/portable - *//***/ - -// Types - -declare type bool = boolean; -declare type i8 = number; -declare type i16 = number; -declare type i32 = number; -declare type isize = number; -declare type u8 = number; -declare type u16 = number; -declare type u32 = number; -declare type usize = number; -declare type f32 = number; -declare type f64 = number; - -/** Special type evaluating the indexed access index type. */ -declare type indexof = keyof T; -/** Special type evaluating the indexed access value type. */ -declare type valueof = T[0]; - -// Compiler hints - -/** Compiler target. 0 = JS, 1 = WASM32, 2 = WASM64. */ -declare const ASC_TARGET: i32; -/** Runtime type. 0 = Stub, 1 = Minimal, 2 = Incremental. */ -declare const ASC_RUNTIME: i32; -/** Provided noAssert option. */ -declare const ASC_NO_ASSERT: bool; -/** Provided memoryBase option. */ -declare const ASC_MEMORY_BASE: i32; -/** Provided optimizeLevel option. */ -declare const ASC_OPTIMIZE_LEVEL: i32; -/** Provided shrinkLevel option. */ -declare const ASC_SHRINK_LEVEL: i32; -/** Whether the mutable global feature is enabled. */ -declare const ASC_FEATURE_MUTABLE_GLOBAL: bool; -/** Whether the sign extension feature is enabled. */ -declare const ASC_FEATURE_SIGN_EXTENSION: bool; - -// Builtins - -/** Performs the sign-agnostic reverse bytes **/ -declare function bswap(value: T): T; -/** Performs the sign-agnostic count leading zero bits operation on a 32-bit integer. All zero bits are considered leading if the value is zero. */ -declare function clz(value: T): T; -/** Performs the sign-agnostic count tailing zero bits operation on a 32-bit integer. All zero bits are considered trailing if the value is zero. */ -declare function ctz(value: T): T; -/** Performs the sign-agnostic count number of one bits operation on a 32-bit integer. */ -declare function popcnt(value: T): T; -/** Performs the sign-agnostic rotate left operation on a 32-bit integer. */ -declare function rotl(value: T, shift: T): T; -/** Performs the sign-agnostic rotate right operation on a 32-bit integer. */ -declare function rotr(value: T, shift: T): T; -/** Computes the absolute value of an integer or float. */ -declare function abs(value: T): T; -/** Determines the maximum of two integers or floats. If either operand is `NaN`, returns `NaN`. */ -declare function max(left: T, right: T): T; -/** Determines the minimum of two integers or floats. If either operand is `NaN`, returns `NaN`. */ -declare function min(left: T, right: T): T; -/** Composes a 32-bit or 64-bit float from the magnitude of `x` and the sign of `y`. */ -declare function copysign(x: T, y: T): T; -/** Performs the ceiling operation on a 32-bit or 64-bit float. */ -declare function ceil(value: T): T; -/** Performs the floor operation on a 32-bit or 64-bit float. */ -declare function floor(value: T): T; -/** Rounds to the nearest integer tied to even of a 32-bit or 64-bit float. */ -declare function nearest(value: T): T; -/** Selects one of two pre-evaluated values depending on the condition. */ -declare function select(ifTrue: T, ifFalse: T, condition: bool): T; -/** Calculates the square root of a 32-bit or 64-bit float. */ -declare function sqrt(value: T): T; -/** Rounds to the nearest integer towards zero of a 32-bit or 64-bit float. */ -declare function trunc(value: T): T; -/** Emits an unreachable operation that results in a runtime error when executed. */ -declare function unreachable(): any; // sic - -/** Changes the type of any value of `usize` kind to another one of `usize` kind. Useful for casting class instances to their pointer values and vice-versa. Beware that this is unsafe.*/ -declare function changetype(value: any): T; -/** Explicitly requests no bounds checks on the provided expression. Useful for array accesses. */ -declare function unchecked(value: T): T; -/** Tests if the specified value is a valid integer. Can't distinguish an integer from an integral float. */ -declare function isInteger(value: any): value is number; -/** Tests if the specified value is a valid float. Can't distinguish a float from an integer. */ -declare function isFloat(value: any): value is number; -/** Tests if the specified value is of a nullable reference type. */ -declare function isNullable(value: any): bool; -/** Tests if the specified value is of a reference type. */ -declare function isReference(value: any): value is object | string; -/** Tests if the specified value is of a function type */ -declare function isFunction(value: any): value is Function; -/** Tests if the specified value can be used as a string. */ -declare function isString(value: any): value is string | String; -/** Tests if the specified value can be used as an array. */ -declare function isArray(value: any): value is Array; -/** Tests if the specified type *or* expression can be used as an array like object. */ -declare function isArrayLike(value: any): value is ArrayLike; -/** Tests if the specified expression resolves to a defined element. */ -declare function isDefined(expression: any): bool; -/** Tests if the specified expression evaluates to a constant value. */ -declare function isConstant(expression: any): bool; -/** Traps if the specified value is not true-ish, otherwise returns the value. */ -declare function assert(isTrueish: T, message?: string): T & (object | string | number); // any better way to model `: T != null`? -/** Parses an integer string to a 64-bit float. */ -declare function parseInt(str: string, radix?: i32): f64; -/** Parses a floating point string to a 64-bit float. */ -declare function parseFloat(str: string): f64; -/** Returns the 64-bit floating-point remainder of `x/y`. */ -declare function fmod(x: f64, y: f64): f64; -/** Returns the 32-bit floating-point remainder of `x/y`. */ -declare function fmodf(x: f32, y: f32): f32; - -/** Converts any other numeric value to an 8-bit signed integer. */ -declare function i8(value: any): i8; -declare namespace i8 { - /** Smallest representable value. */ - export const MIN_VALUE: i8; - /** Largest representable value. */ - export const MAX_VALUE: i8; - /** Converts a string to a floating-point number and cast to target integer after. */ - export function parseFloat(string: string): i8; - /** Parses a string as an integer. */ - export function parseInt(string: string, radix?: i32): i8; - /** Parses a string as an i8. */ - export function parse(value: string, radix?: i32): i8; -} -/** Converts any other numeric value to a 16-bit signed integer. */ -declare function i16(value: any): i16; -declare namespace i16 { - /** Smallest representable value. */ - export const MIN_VALUE: i16; - /** Largest representable value. */ - export const MAX_VALUE: i16; - /** Converts a string to a floating-point number and cast to target integer after. */ - export function parseFloat(string: string): i16; - /** Parses a string as an integer. */ - export function parseInt(string: string, radix?: i32): i16; - /** Parses a string as an i16. */ - export function parse(value: string, radix?: i32): i16; -} -/** Converts any other numeric value to a 32-bit signed integer. */ -declare function i32(value: any): i32; -declare namespace i32 { - /** Smallest representable value. */ - export const MIN_VALUE: i32; - /** Largest representable value. */ - export const MAX_VALUE: i32; - /** Converts a string to a floating-point number and cast to target integer after. */ - export function parseFloat(string: string): i32; - /** Parses a string as an integer. */ - export function parseInt(string: string, radix?: i32): i32; - /** Parses a string as an i32. */ - export function parse(value: string, radix?: i32): i32; -} -/** Converts any other numeric value to a 32-bit (in WASM32) respectivel 64-bit (in WASM64) signed integer. */ -declare function isize(value: any): isize; -declare namespace isize { - /** Smallest representable value. */ - export const MIN_VALUE: isize; - /** Largest representable value. */ - export const MAX_VALUE: isize; - /** Converts a string to a floating-point number and cast to target integer after. */ - export function parseFloat(string: string): isize; - /** Parses a string as an integer. */ - export function parseInt(string: string, radix?: i32): isize; - /** Parses a string as an iszie. */ - export function parse(value: string, radix?: i32): isize; -} -/** Converts any other numeric value to an 8-bit unsigned integer. */ -declare function u8(value: any): u8; -declare namespace u8 { - /** Smallest representable value. */ - export const MIN_VALUE: u8; - /** Largest representable value. */ - export const MAX_VALUE: u8; - /** Converts a string to a floating-point number and cast to target integer after. */ - export function parseFloat(string: string): u8; - /** Parses a string as an integer. */ - export function parseInt(string: string, radix?: i32): u8; - /** Parses a string as an u8. */ - export function parse(value: string, radix?: i32): u8; -} -/** Converts any other numeric value to a 16-bit unsigned integer. */ -declare function u16(value: any): u16; -declare namespace u16 { - /** Smallest representable value. */ - export const MIN_VALUE: u16; - /** Largest representable value. */ - export const MAX_VALUE: u16; - /** Converts a string to a floating-point number and cast to target integer after. */ - export function parseFloat(string: string): u16; - /** Parses a string as an integer. */ - export function parseInt(string: string, radix?: i32): u16; - /** Parses a string as an u16. */ - export function parse(value: string, radix?: i32): u16; -} -/** Converts any other numeric value to a 32-bit unsigned integer. */ -declare function u32(value: any): u32; -declare namespace u32 { - /** Smallest representable value. */ - export const MIN_VALUE: u32; - /** Largest representable value. */ - export const MAX_VALUE: u32; - /** Converts a string to a floating-point number and cast to target integer after. */ - export function parseFloat(string: string): u32; - /** Parses a string as an integer. */ - export function parseInt(string: string, radix?: i32): u32; - /** Parses a string as an u32. */ - export function parse(value: string, radix?: i32): u32; -} -/** Converts any other numeric value to a 32-bit (in WASM32) respectivel 64-bit (in WASM64) unsigned integer. */ -declare function usize(value: any): isize; -declare namespace usize { - /** Smallest representable value. */ - export const MIN_VALUE: usize; - /** Largest representable value. */ - export const MAX_VALUE: usize; - /** Converts a string to a floating-point number and cast to target integer after. */ - export function parseFloat(string: string): usize; - /** Parses a string as an integer. */ - export function parseInt(string: string, radix?: i32): usize; - /** Parses a string as an usize. */ - export function parse(value: string, radix?: i32): usize; -} -/** Converts any other numeric value to a 1-bit unsigned integer. */ -declare function bool(value: any): bool; -declare namespace bool { - /** Smallest representable value. */ - export const MIN_VALUE: bool; - /** Largest representable value. */ - export const MAX_VALUE: bool; - /** Parses a string as a bool. */ - export function parse(value: string): bool; -} -/** Converts any other numeric value to a 32-bit float. */ -declare function f32(value: any): f32; -declare namespace f32 { - /** Smallest representable value. */ - export const MIN_VALUE: f32; - /** Largest representable value. */ - export const MAX_VALUE: f32; - /** Smallest normalized positive value. */ - export const MIN_NORMAL_VALUE: f32; - /** Smallest safely representable integer value. */ - export const MIN_SAFE_INTEGER: f32; - /** Largest safely representable integer value. */ - export const MAX_SAFE_INTEGER: f32; - /** Positive infinity value. */ - export const POSITIVE_INFINITY: f32; - /** Negative infinity value. */ - export const NEGATIVE_INFINITY: f32; - /** Not a number value. */ - /* eslint no-shadow-restricted-names: "off" */ - export const NaN: f32; - /** Difference between 1 and the smallest representable value greater than 1. */ - export const EPSILON: f32; - /** Returns a boolean value that indicates whether a value is the reserved value NaN (not a number). */ - export function isNaN(value: f32): bool; - /** Returns true if passed value is finite. */ - export function isFinite(value: f32): bool; - /** Returns true if the value passed is a safe integer. */ - export function isSafeInteger(value: f32): bool; - /** Returns true if the value passed is an integer, false otherwise. */ - export function isInteger(value: f32): bool; - /** Converts a string to a floating-point number. */ - export function parseFloat(string: string): f32; - /** Parses a string as an integer and convert to an f32. */ - export function parseInt(string: string, radix?: i32): f32; - /** Parses a string as an f32. */ - export function parse(value: string): f32; -} -/** Converts any other numeric value to a 64-bit float. */ -declare function f64(value: any): f64; -declare namespace f64 { - /** Smallest representable value. */ - export const MIN_VALUE: f64; - /** Largest representable value. */ - export const MAX_VALUE: f64; - /** Smallest normalized positive value. */ - export const MIN_NORMAL_VALUE: f64; - /** Smallest safely representable integer value. */ - export const MIN_SAFE_INTEGER: f64; - /** Largest safely representable integer value. */ - export const MAX_SAFE_INTEGER: f64; - /** Positive infinity value. */ - export const POSITIVE_INFINITY: f64; - /** Negative infinity value. */ - export const NEGATIVE_INFINITY: f64; - /** Not a number value. */ - /* eslint no-shadow-restricted-names: "off" */ - export const NaN: f64; - /** Difference between 1 and the smallest representable value greater than 1. */ - export const EPSILON: f64; - /** Returns a boolean value that indicates whether a value is the reserved value NaN (not a number). */ - export function isNaN(value: f32): bool; - /** Returns true if passed value is finite. */ - export function isFinite(value: f32): bool; - /** Returns true if the value passed is a safe integer. */ - export function isSafeInteger(value: f64): bool; - /** Returns true if the value passed is an integer, false otherwise. */ - export function isInteger(value: f64): bool; - /** Converts a string to a floating-point number. */ - export function parseFloat(string: string): f64; - /** Parses a string as an integer and convert to an f64. */ - export function parseInt(string: string, radix?: i32): f64; - /** Parses a string as an f64. */ - export function parse(value: string): f64; -} - -// Standard library - -declare const Mathf: typeof Math; -declare const JSMath: typeof Math; - -declare interface StringConstructor { - /** Equivalent to calling `String.fromCharCode` with multiple arguments. */ - fromCharCodes(arr: i32[]): string; - /** Equivalent to calling `String.fromCodePoint` with multiple arguments. */ - fromCodePoints(arr: i32[]): string; -} - -declare interface String { - /** Returns value using relative indexing. Index may be negative */ - at(index: i32): string; -} - -/** Annotates a class as being unmanaged with limited capabilities. */ -declare function unmanaged(constructor: Function): void; - -/** Environmental tracing function. */ -declare function trace(msg: string, n?: i32, a0?: f64, a1?: f64, a2?: f64, a3?: f64, a4?: f64): void; - -declare interface Array { - /** Returns value using relative indexing. Index may be negative */ - at(index: i32): T; - /** Returns an index start searching from the end in the array */ - findLastIndex(callbackfn: (value: T, index: i32, self: Array) => bool): i32; -} - -declare interface Int8ArrayConstructor { - /** Equivalent to calling `new Int8Array` with multiple arguments. */ - wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Int8Array; -} - -declare interface Int8Array { - /** Returns value using relative indexing. Index may be negative */ - at(index: i32): i8; - /** Returns an index start searching from the end in the typedarray */ - findLastIndex(callbackfn: (value: i8, index: i32, self: Int8Array) => bool): i32; -} - -declare interface Uint8ArrayConstructor { - /** Equivalent to calling `new Uint8Array` with multiple arguments. */ - wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Uint8Array; -} - -declare interface Uint8Array { - /** Returns value using relative indexing. Index may be negative */ - at(index: i32): u8; - /** Returns an index start searching from the end in the typedarray */ - findLastIndex(callbackfn: (value: u8, index: i32, self: Uint8Array) => bool): i32; -} - -declare interface Uint8ClampedArrayConstructor { - /** Equivalent to calling `new Uint8ClampedArray` with multiple arguments. */ - wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Uint8ClampedArray; -} - -declare interface Uint8ClampedArray { - /** Returns value using relative indexing. Index may be negative */ - at(index: i32): u8; - /** Returns an index start searching from the end in the typedarray */ - findLastIndex(callbackfn: (value: u8, index: i32, self: Uint8ClampedArray) => bool): i32; -} - -declare interface Int16ArrayConstructor { - /** Equivalent to calling `new Int16Array` with multiple arguments. */ - wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Int16Array; -} - -declare interface Int16Array { - /** Returns value using relative indexing. Index may be negative */ - at(index: i32): i16; - /** Returns an index start searching from the end in the typedarray */ - findLastIndex(callbackfn: (value: i16, index: i32, self: Int16Array) => bool): i32; -} - -declare interface Uint16ArrayConstructor { - /** Equivalent to calling `new Uint16Array` with multiple arguments. */ - wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Uint16Array; -} - -declare interface Uint16Array { - /** Returns value using relative indexing. Index may be negative */ - at(index: i32): u16; - /** Returns an index start searching from the end in the typedarray */ - findLastIndex(callbackfn: (value: u16, index: i32, self: Uint16Array) => bool): i32; -} - -declare interface Int32ArrayConstructor { - /** Equivalent to calling `new Int32Array` with multiple arguments. */ - wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Int32Array; -} - -declare interface Int32Array { - /** Returns value using relative indexing. Index may be negative */ - at(index: i32): i32; - /** Returns an index start searching from the end in the typedarray */ - findLastIndex(callbackfn: (value: i32, index: i32, self: Int32Array) => bool): i32; -} - -declare interface Uint32ArrayConstructor { - /** Equivalent to calling `new Uint32Array` with multiple arguments. */ - wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Uint32Array; -} - -declare interface Uint32Array { - /** Returns value using relative indexing. Index may be negative */ - at(index: i32): u32; - /** Returns an index start searching from the end in the typedarray */ - findLastIndex(callbackfn: (value: u32, index: i32, self: Uint32Array) => bool): i32; -} - -declare interface Float32ArrayConstructor { - /** Equivalent to calling `new Float32Array` with multiple arguments. */ - wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Float32Array; -} - -declare interface Float32Array { - /** Returns value using relative indexing. Index may be negative */ - at(index: i32): f32; - /** Returns an index start searching from the end in the typedarray */ - findLastIndex(callbackfn: (value: f32, index: i32, self: Float32Array) => bool): i32; -} - -declare interface Float64ArrayConstructor { - /** Equivalent to calling `new Float64Array` with multiple arguments. */ - wrap(buffer: ArrayBuffer, byteOffset?: i32, length?: i32): Float64Array; -} - -declare interface Float64Array { - /** Returns value using relative indexing. Index may be negative */ - at(index: i32): f64; - /** Returns an index start searching from the end in the typedarray */ - findLastIndex(callbackfn: (value: f64, index: i32, self: Float64Array) => bool): i32; -} - -// FIXME: remove -declare function offsetof(fieldName?: string): usize; -declare function idof(): u32; diff --git a/platforms/Arduino/node_modules/assemblyscript/std/portable/index.js b/platforms/Arduino/node_modules/assemblyscript/std/portable/index.js deleted file mode 100644 index e1a65868..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/std/portable/index.js +++ /dev/null @@ -1,415 +0,0 @@ -/** @module std/portable *//***/ - -let globalScope = typeof window !== "undefined" && window || typeof global !== "undefined" && global || self; -if (typeof globalScope.ASC_TARGET === "undefined") { - - globalScope.ASC_TARGET = 0; // Target.JS - globalScope.ASC_RUNTIME = 0; // Runtime.Stub - globalScope.ASC_NO_ASSERT = false; - globalScope.ASC_MEMORY_BASE = 0; - globalScope.ASC_OPTIMIZE_LEVEL = 3; - globalScope.ASC_SHRINK_LEVEL = 0; - globalScope.ASC_FEATURE_MUTABLE_GLOBAL = false; - globalScope.ASC_FEATURE_SIGN_EXTENSION = false; - globalScope.ASC_FEATURE_BULK_MEMORY = false; - globalScope.ASC_FEATURE_SIMD = false; - globalScope.ASC_FEATURE_THREADS = false; - - let F64 = new Float64Array(1); - let U64 = new Uint32Array(F64.buffer); - - Object.defineProperties( - globalScope["i8"] = function i8(value) { return value << 24 >> 24; }, - { - "MIN_VALUE": { value: -128 }, - "MAX_VALUE": { value: 127 }, - - parse(str, radix) { return parseInt(str, radix) << 24 >> 24; } - } - ); - - Object.defineProperties( - globalScope["i16"] = function i16(value) { return value << 16 >> 16; }, - { - "MIN_VALUE": { value: -32768 }, - "MAX_VALUE": { value: 32767 }, - - parse(str, radix) { return parseInt(str, radix) << 16 >> 16; } - } - ); - - Object.defineProperties( - globalScope["i32"] = globalScope["isize"] = function i32(value) { return value | 0; }, - { - "MIN_VALUE": { value: -2147483648 }, - "MAX_VALUE": { value: 2147483647 }, - - parse(str, radix) { return parseInt(str, radix) | 0; } - } - ); - - Object.defineProperties( - globalScope["u8"] = function u8(value) { return value & 0xff; }, - { - "MIN_VALUE": { value: 0 }, - "MAX_VALUE": { value: 255 }, - - parse(str, radix) { return parseInt(str, radix) & 0xff; } - } - ); - - Object.defineProperties( - globalScope["u16"] = function u16(value) { return value & 0xffff; }, - { - "MIN_VALUE": { value: 0 }, - "MAX_VALUE": { value: 65535 }, - - parse(str, radix) { return parseInt(str, radix) & 0xffff; } - } - ); - - Object.defineProperties( - globalScope["u32"] = globalScope["usize"] = function u32(value) { return value >>> 0; }, - { - "MIN_VALUE": { value: 0 }, - "MAX_VALUE": { value: 4294967295 }, - - parse(str, radix) { return parseInt(str, radix) >>> 0; } - } - ); - - Object.defineProperties( - globalScope["bool"] = function bool(value) { return !!value; }, - { - "MIN_VALUE": { value: false }, - "MAX_VALUE": { value: true }, - - parse(str) { return str.trim() === "true"; } - } - ); - - Object.defineProperties( - globalScope["f32"] = function f32(value) { return Math.fround(value); }, - { - "EPSILON": { value: 1.1920928955078125e-07 }, - "MIN_VALUE": { value: 1.401298464324817e-45 }, - "MAX_VALUE": { value: 3.4028234663852886e+38 }, - "MIN_NORMAL_VALUE": { value: 1.1754943508222875e-38 }, - "MIN_SAFE_INTEGER": { value: -16777215 }, - "MAX_SAFE_INTEGER": { value: 16777215 }, - "POSITIVE_INFINITY": { value: Infinity }, - "NEGATIVE_INFINITY": { value: -Infinity }, - "NaN": { value: NaN }, - - parse(str) { return Math.fround(parseFloat(str)); } - } - ); - - Object.defineProperties( - globalScope["f64"] = function f64(value) { return +value; }, - { - "EPSILON": { value: 2.2204460492503131e-016 }, - "MIN_VALUE": { value: 5e-324 }, - "MAX_VALUE": { value: 1.7976931348623157e+308 }, - "MIN_NORMAL_VALUE": { value: 2.2250738585072014e-308 }, - "MIN_SAFE_INTEGER": { value: -9007199254740991 }, - "MAX_SAFE_INTEGER": { value: 9007199254740991 }, - "POSITIVE_INFINITY": { value: Infinity }, - "NEGATIVE_INFINITY": { value: -Infinity }, - "NaN": { value: NaN }, - - parse(str) { return parseFloat(str); } - } - ); - - globalScope["clz"] = Math.clz32; - - globalScope["ctz"] = function ctz(value) { - return 32 - Math.clz32(~value & (value - 1)); - }; - - globalScope["popcnt"] = function popcnt(value) { - value -= value >>> 1 & 0x55555555; - value = (value & 0x33333333) + (value >>> 2 & 0x33333333); - return (((value + (value >>> 4)) & 0x0F0F0F0F) * 0x01010101) >>> 24; - }; - - globalScope["rotl"] = function rotl(value, shift) { - shift &= 31; - return (value << shift) | (value >>> (32 - shift)); - }; - - globalScope["rotr"] = function rotr(value, shift) { - shift &= 31; - return (value >>> shift) | (value << (32 - shift)); - }; - - globalScope["abs"] = Math.abs; - - globalScope["max"] = Math.max; - - globalScope["min"] = Math.min; - - globalScope["ceil"] = Math.ceil; - - globalScope["floor"] = Math.floor; - - globalScope["nearest"] = function nearest(value) { - const INV_EPS64 = 4503599627370496.0; - const y = Math.abs(value); - return y < INV_EPS64 - ? (y + INV_EPS64 - INV_EPS64) * Math.sign(value) - : value; - }; - - globalScope["select"] = function select(ifTrue, ifFalse, condition) { - return condition ? ifTrue : ifFalse; - }; - - globalScope["sqrt"] = Math.sqrt; - - globalScope["trunc"] = Math.trunc; - - globalScope["copysign"] = function copysign(x, y) { - return y - ? Math.abs(x) * Math.sign(y) - : (F64[0] = y, U64[1] >>> 31 ? -1 : 1); // +0, -0, -NaN, +NaN - }; - - globalScope["bswap"] = function bswap(value) { - let a = value >> 8 & 0x00FF00FF; - let b = (value & 0x00FF00FF) << 8; - value = a | b; - a = value >> 16 & 0x0000FFFF; - b = (value & 0x0000FFFF) << 16; - return a | b; - }; - - function UnreachableError() { - if (Error.captureStackTrace) { - Error.captureStackTrace(this, UnreachableError); - } else { - this.stack = this.name + ": " + this.message + "\n" + new Error().stack; - } - } - UnreachableError.prototype = Object.create(Error.prototype); - UnreachableError.prototype.name = "UnreachableError"; - UnreachableError.prototype.message = "unreachable"; - - globalScope["unreachable"] = function unreachable() { - throw new UnreachableError(); - }; - - function AssertionError(message) { - this.message = message || "assertion failed"; - if (Error.captureStackTrace) { - Error.captureStackTrace(this, AssertionError); - } else { - this.stack = this.name + ": " + this.message + "\n" + new Error().stack; - } - } - AssertionError.prototype = Object.create(Error.prototype); - AssertionError.prototype.name = "AssertionError"; - - globalScope["assert"] = function assert(isTrueish, message) { - if (isTrueish) return isTrueish; - throw new AssertionError(message); - }; - - globalScope["changetype"] = function changetype(value) { - return value; - }; - - String["fromCharCodes"] = function fromCharCodes(arr) { - const CHUNKSIZE = 1 << 13; - const len = arr.length; - if (len <= CHUNKSIZE) { - return String.fromCharCode.apply(String, arr); - } - let index = 0; - let parts = ''; - while (index < len) { - parts += String.fromCharCode.apply( - String, - arr.slice(index, Math.min(index + CHUNKSIZE, len)) - ); - index += CHUNKSIZE; - } - return parts; - }; - - String["fromCodePoints"] = function fromCodePoints(arr) { - const CHUNKSIZE = 1 << 13; - const len = arr.length; - if (len <= CHUNKSIZE) { - return String.fromCodePoint.apply(String, arr); - } - let index = 0; - let parts = ''; - while (index < len) { - parts += String.fromCodePoint.apply( - String, - arr.slice(index, Math.min(index + CHUNKSIZE, len)) - ); - index += CHUNKSIZE; - } - return parts; - }; - - if (!String.prototype.at) { - Object.defineProperty(String.prototype, "at", { - value: function at(index) { - return this.charAt(index >= 0 ? index : index + this.length); - }, - configurable: true - }); - } - - if (!String.prototype.replaceAll) { - Object.defineProperty(String.prototype, "replaceAll", { - value: function replaceAll(search, replacment) { - let res = this.split(search).join(replacment); - if (!search.length) res = replacment + res + replacment; - return res; - }, - configurable: true - }); - } - - function defaultComparator(a, b) { - if (a == b) { - if (a != 0) return 0; - a = 1 / a, b = 1 / b; - } else { - let nanA = a != a, nanB = b != b; - if (nanA | nanB) return nanA - nanB; - if (a == null) a = String(a); - if (b == null) b = String(b); - } - return a > b ? 1 : -1; - } - - const arraySort = Array.prototype.sort; - Array.prototype.sort = function sort(comparator) { - return arraySort.call(this, comparator || defaultComparator); - }; - - [ Array, - Uint8ClampedArray, - Uint8Array, Int8Array, - Uint16Array, Int16Array, - Uint32Array, Int32Array, - Float32Array, Float64Array - ].forEach(Ctr => { - if (!Ctr.prototype.at) { - Object.defineProperty(Ctr.prototype, "at", { - value: function at(index) { - return this[index >= 0 ? index : index + this.length]; - }, - configurable: true - }); - } - - if (!Ctr.prototype.findLastIndex) { - Object.defineProperty(Ctr.prototype, "findLastIndex", { - value: function findLastIndex(fn) { - for (let i = this.length - 1; i >= 0; --i) { - if (fn(this[i], i, this)) return i; - } - return -1; - }, - configurable: true - }); - } - - if (Ctr != Array) { - Object.defineProperty(Ctr, "wrap", { - value: function wrap(buffer, byteOffset, length) { - return new Ctr(buffer, byteOffset, length); - }, - configurable: true - }); - } - }); - - globalScope["isInteger"] = Number.isInteger; - - globalScope["isFloat"] = function isFloat(arg) { - return typeof arg === "number"; - }; - - globalScope["isNullable"] = function isNullable(arg) { - return true; - }; - - globalScope["isReference"] = function isReference(arg) { - return typeof arg === "object" || typeof arg === "string"; - }; - - globalScope["isFunction"] = function isFunction(arg) { - return typeof arg === "function"; - }; - - globalScope["isString"] = function isString(arg) { - return typeof arg === "string" || arg instanceof String; - }; - - globalScope["isArray"] = Array.isArray; - globalScope["isArrayLike"] = function isArrayLike(expr) { - return expr - && typeof expr === 'object' - && typeof expr.length === 'number' - && expr.length >= 0 - && Math.trunc(expr.length) === expr.length; - }; - - globalScope["isDefined"] = function isDefined(expr) { - return typeof expr !== "undefined"; - }; - - globalScope["isConstant"] = function isConstant(expr) { - return false; - }; - - globalScope["unchecked"] = function unchecked(expr) { - return expr; - }; - - globalScope["fmod"] = function fmod(x, y) { - return x % y; - }; - - globalScope["fmodf"] = function fmodf(x, y) { - return Math.fround(x % y); - }; - - globalScope["JSMath"] = Math; - - Object.defineProperties(globalScope["JSMath"], { - sincos_sin: { value: 0.0, writable: true }, - sincos_cos: { value: 0.0, writable: true }, - signbit: { - value: function signbit(x) { - F64[0] = x; return Boolean(U64[1] >>> 31); - } - }, - sincos: { - value: function sincos(x) { - this.sincos_sin = Math.sin(x); - this.sincos_cos = Math.cos(x); - } - }, - exp2: { - value: function exp2(x) { - return Math.pow(2, x); - } - } - }); - - globalScope["unmanaged"] = function() { /* nop */ }; - - globalScope["trace"] = function(message, n) { - if (n) message += Array.prototype.slice.call(arguments, 2, 2 + n); - console.error("trace: " + message); - }; -} \ No newline at end of file diff --git a/platforms/Arduino/node_modules/assemblyscript/std/types/assembly/index.d.ts b/platforms/Arduino/node_modules/assemblyscript/std/types/assembly/index.d.ts deleted file mode 100644 index cbaf32ef..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/std/types/assembly/index.d.ts +++ /dev/null @@ -1 +0,0 @@ -import "../../assembly/index"; diff --git a/platforms/Arduino/node_modules/assemblyscript/std/types/assembly/package.json b/platforms/Arduino/node_modules/assemblyscript/std/types/assembly/package.json deleted file mode 100644 index 8308a2f4..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/std/types/assembly/package.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "types": "index.d.ts" -} \ No newline at end of file diff --git a/platforms/Arduino/node_modules/assemblyscript/std/types/portable/index.d.ts b/platforms/Arduino/node_modules/assemblyscript/std/types/portable/index.d.ts deleted file mode 100644 index bb36d1ed..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/std/types/portable/index.d.ts +++ /dev/null @@ -1 +0,0 @@ -import "../../portable/index"; diff --git a/platforms/Arduino/node_modules/assemblyscript/std/types/portable/package.json b/platforms/Arduino/node_modules/assemblyscript/std/types/portable/package.json deleted file mode 100644 index 8308a2f4..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/std/types/portable/package.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "types": "index.d.ts" -} \ No newline at end of file diff --git a/platforms/Arduino/node_modules/assemblyscript/tsconfig-base.json b/platforms/Arduino/node_modules/assemblyscript/tsconfig-base.json deleted file mode 100644 index 10a2d884..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/tsconfig-base.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "compilerOptions": { - "strict": true, - "alwaysStrict": true, - "noImplicitAny": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noEmitOnError": true, - "strictNullChecks": true, - "experimentalDecorators": true, - "preserveConstEnums": false, - "downlevelIteration": true - } -} diff --git a/platforms/Arduino/node_modules/assemblyscript/util/README.md b/platforms/Arduino/node_modules/assemblyscript/util/README.md deleted file mode 100644 index bcc9d83c..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/util/README.md +++ /dev/null @@ -1,23 +0,0 @@ -Utility -======= - -Various utility functions shared accross the codebase. - -| Utility | Description -|----------|------------------------------------------- -| cpu | Obtains information about the CPU -| find | Provides support for finding files etc. -| node | Minimal polyfills for Node.js builtins -| options | Support for command line options parsing -| terminal | Provides support for terminal colors -| text | Utility for text processing -| web | Minimal polyfills for browser builtins - -It is possible to reuse the utility in your own project like so: - -```ts -import { ... } from "assemblyscript/util/terminal.js"; -... -``` - -Keep in mind, however, that utility can change at any time. diff --git a/platforms/Arduino/node_modules/assemblyscript/util/browser/fs.js b/platforms/Arduino/node_modules/assemblyscript/util/browser/fs.js deleted file mode 100644 index 1339856f..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/util/browser/fs.js +++ /dev/null @@ -1 +0,0 @@ -export const promises = {}; diff --git a/platforms/Arduino/node_modules/assemblyscript/util/browser/module.js b/platforms/Arduino/node_modules/assemblyscript/util/browser/module.js deleted file mode 100644 index 88cb1de2..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/util/browser/module.js +++ /dev/null @@ -1,5 +0,0 @@ -export function createRequire() { - return function require(path) { - throw new Error(`Cannot find module: '${path}'`); - }; -} diff --git a/platforms/Arduino/node_modules/assemblyscript/util/browser/path.js b/platforms/Arduino/node_modules/assemblyscript/util/browser/path.js deleted file mode 100644 index 113b4b08..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/util/browser/path.js +++ /dev/null @@ -1,520 +0,0 @@ -import * as process from "./process.js"; - -// https://github.com/browserify/path-browserify v1.0.1 -// -// Copyright (c) 2013 James Halliday -// Copyright Joyent, Inc. and other Node contributors. -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to permit -// persons to whom the Software is furnished to do so, subject to the -// following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -// USE OR OTHER DEALINGS IN THE SOFTWARE. - -function assertPath(path) { - if (typeof path !== 'string') { - throw new TypeError('Path must be a string. Received ' + JSON.stringify(path)); - } -} - -// Resolves . and .. elements in a path with directory names -function normalizeStringPosix(path, allowAboveRoot) { - var res = ''; - var lastSegmentLength = 0; - var lastSlash = -1; - var dots = 0; - var code; - for (var i = 0; i <= path.length; ++i) { - if (i < path.length) - code = path.charCodeAt(i); - else if (code === 47 /*/*/) - break; - else - code = 47 /*/*/; - if (code === 47 /*/*/) { - if (lastSlash === i - 1 || dots === 1) { - // NOOP - } else if (lastSlash !== i - 1 && dots === 2) { - if (res.length < 2 || lastSegmentLength !== 2 || res.charCodeAt(res.length - 1) !== 46 || res.charCodeAt(res.length - 2) !== 46) { - if (res.length > 2) { - var lastSlashIndex = res.lastIndexOf('/'); - if (lastSlashIndex !== res.length - 1) { - if (lastSlashIndex === -1) { - res = ''; - lastSegmentLength = 0; - } else { - res = res.slice(0, lastSlashIndex); - lastSegmentLength = res.length - 1 - res.lastIndexOf('/'); - } - lastSlash = i; - dots = 0; - continue; - } - } else if (res.length === 2 || res.length === 1) { - res = ''; - lastSegmentLength = 0; - lastSlash = i; - dots = 0; - continue; - } - } - if (allowAboveRoot) { - if (res.length > 0) - res += '/..'; - else - res = '..'; - lastSegmentLength = 2; - } - } else { - if (res.length > 0) - res += '/' + path.slice(lastSlash + 1, i); - else - res = path.slice(lastSlash + 1, i); - lastSegmentLength = i - lastSlash - 1; - } - lastSlash = i; - dots = 0; - } else if (code === 46 && dots !== -1) { - ++dots; - } else { - dots = -1; - } - } - return res; -} - -function _format(sep, pathObject) { - var dir = pathObject.dir || pathObject.root; - var base = pathObject.base || (pathObject.name || '') + (pathObject.ext || ''); - if (!dir) { - return base; - } - if (dir === pathObject.root) { - return dir + base; - } - return dir + sep + base; -} - -// path.resolve([from ...], to) -export function resolve() { - var resolvedPath = ''; - var resolvedAbsolute = false; - var cwd; - - for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) { - var path; - if (i >= 0) - path = arguments[i]; - else { - if (cwd === undefined) - cwd = process.cwd(); - path = cwd; - } - - assertPath(path); - - // Skip empty entries - if (path.length === 0) { - continue; - } - - resolvedPath = path + '/' + resolvedPath; - resolvedAbsolute = path.charCodeAt(0) === 47 /*/*/; - } - - // At this point the path should be resolved to a full absolute path, but - // handle relative paths to be safe (might happen when process.cwd() fails) - - // Normalize the path - resolvedPath = normalizeStringPosix(resolvedPath, !resolvedAbsolute); - - if (resolvedAbsolute) { - if (resolvedPath.length > 0) - return '/' + resolvedPath; - else - return '/'; - } else if (resolvedPath.length > 0) { - return resolvedPath; - } else { - return '.'; - } -} - -export function normalize(path) { - assertPath(path); - - if (path.length === 0) return '.'; - - var isAbsolute = path.charCodeAt(0) === 47 /*/*/; - var trailingSeparator = path.charCodeAt(path.length - 1) === 47 /*/*/; - - // Normalize the path - path = normalizeStringPosix(path, !isAbsolute); - - if (path.length === 0 && !isAbsolute) path = '.'; - if (path.length > 0 && trailingSeparator) path += '/'; - - if (isAbsolute) return '/' + path; - return path; -} - -export function isAbsolute(path) { - assertPath(path); - return path.length > 0 && path.charCodeAt(0) === 47 /*/*/; -} - -export function join() { - if (arguments.length === 0) - return '.'; - var joined; - for (var i = 0; i < arguments.length; ++i) { - var arg = arguments[i]; - assertPath(arg); - if (arg.length > 0) { - if (joined === undefined) - joined = arg; - else - joined += '/' + arg; - } - } - if (joined === undefined) - return '.'; - return normalize(joined); -} - -export function relative(from, to) { - assertPath(from); - assertPath(to); - - if (from === to) return ''; - - from = resolve(from); - to = resolve(to); - - if (from === to) return ''; - - if (from === ".") return to; // FIX for 'odule.ts' (see issue #1398) - - // Trim any leading backslashes - var fromStart = 1; - for (; fromStart < from.length; ++fromStart) { - if (from.charCodeAt(fromStart) !== 47 /*/*/) - break; - } - var fromEnd = from.length; - var fromLen = fromEnd - fromStart; - - // Trim any leading backslashes - var toStart = 1; - for (; toStart < to.length; ++toStart) { - if (to.charCodeAt(toStart) !== 47 /*/*/) - break; - } - var toEnd = to.length; - var toLen = toEnd - toStart; - - // Compare paths to find the longest common path from root - var length = fromLen < toLen ? fromLen : toLen; - var lastCommonSep = -1; - var i = 0; - for (; i <= length; ++i) { - if (i === length) { - if (toLen > length) { - if (to.charCodeAt(toStart + i) === 47 /*/*/) { - // We get here if `from` is the exact base path for `to`. - // For example: from='/foo/bar'; to='/foo/bar/baz' - return to.slice(toStart + i + 1); - } else if (i === 0) { - // We get here if `from` is the root - // For example: from='/'; to='/foo' - return to.slice(toStart + i); - } - } else if (fromLen > length) { - if (from.charCodeAt(fromStart + i) === 47 /*/*/) { - // We get here if `to` is the exact base path for `from`. - // For example: from='/foo/bar/baz'; to='/foo/bar' - lastCommonSep = i; - } else if (i === 0) { - // We get here if `to` is the root. - // For example: from='/foo'; to='/' - lastCommonSep = 0; - } - } - break; - } - var fromCode = from.charCodeAt(fromStart + i); - var toCode = to.charCodeAt(toStart + i); - if (fromCode !== toCode) - break; - else if (fromCode === 47 /*/*/) - lastCommonSep = i; - } - - var out = ''; - // Generate the relative path based on the path difference between `to` - // and `from` - for (i = fromStart + lastCommonSep + 1; i <= fromEnd; ++i) { - if (i === fromEnd || from.charCodeAt(i) === 47 /*/*/) { - if (out.length === 0) - out += '..'; - else - out += '/..'; - } - } - - // Lastly, append the rest of the destination (`to`) path that comes after - // the common path parts - if (out.length > 0) - return out + to.slice(toStart + lastCommonSep); - else { - toStart += lastCommonSep; - if (to.charCodeAt(toStart) === 47 /*/*/) - ++toStart; - return to.slice(toStart); - } -} - -export function dirname(path) { - assertPath(path); - if (path.length === 0) return '.'; - var code = path.charCodeAt(0); - var hasRoot = code === 47 /*/*/; - var end = -1; - var matchedSlash = true; - for (var i = path.length - 1; i >= 1; --i) { - code = path.charCodeAt(i); - if (code === 47 /*/*/) { - if (!matchedSlash) { - end = i; - break; - } - } else { - // We saw the first non-path separator - matchedSlash = false; - } - } - - if (end === -1) return hasRoot ? '/' : '.'; - if (hasRoot && end === 1) return '//'; - return path.slice(0, end); -} - -export function basename(path, ext) { - if (ext !== undefined && typeof ext !== 'string') throw new TypeError('"ext" argument must be a string'); - assertPath(path); - - var start = 0; - var end = -1; - var matchedSlash = true; - var i; - - if (ext !== undefined && ext.length > 0 && ext.length <= path.length) { - if (ext.length === path.length && ext === path) return ''; - var extIdx = ext.length - 1; - var firstNonSlashEnd = -1; - for (i = path.length - 1; i >= 0; --i) { - var code = path.charCodeAt(i); - if (code === 47 /*/*/) { - // If we reached a path separator that was not part of a set of path - // separators at the end of the string, stop now - if (!matchedSlash) { - start = i + 1; - break; - } - } else { - if (firstNonSlashEnd === -1) { - // We saw the first non-path separator, remember this index in case - // we need it if the extension ends up not matching - matchedSlash = false; - firstNonSlashEnd = i + 1; - } - if (extIdx >= 0) { - // Try to match the explicit extension - if (code === ext.charCodeAt(extIdx)) { - if (--extIdx === -1) { - // We matched the extension, so mark this as the end of our path - // component - end = i; - } - } else { - // Extension does not match, so our result is the entire path - // component - extIdx = -1; - end = firstNonSlashEnd; - } - } - } - } - - if (start === end) end = firstNonSlashEnd;else if (end === -1) end = path.length; - return path.slice(start, end); - } else { - for (i = path.length - 1; i >= 0; --i) { - if (path.charCodeAt(i) === 47 /*/*/) { - // If we reached a path separator that was not part of a set of path - // separators at the end of the string, stop now - if (!matchedSlash) { - start = i + 1; - break; - } - } else if (end === -1) { - // We saw the first non-path separator, mark this as the end of our - // path component - matchedSlash = false; - end = i + 1; - } - } - - if (end === -1) return ''; - return path.slice(start, end); - } -} - -export function extname(path) { - assertPath(path); - var startDot = -1; - var startPart = 0; - var end = -1; - var matchedSlash = true; - // Track the state of characters (if any) we see before our first dot and - // after any path separator we find - var preDotState = 0; - for (var i = path.length - 1; i >= 0; --i) { - var code = path.charCodeAt(i); - if (code === 47 /*/*/) { - // If we reached a path separator that was not part of a set of path - // separators at the end of the string, stop now - if (!matchedSlash) { - startPart = i + 1; - break; - } - continue; - } - if (end === -1) { - // We saw the first non-path separator, mark this as the end of our - // extension - matchedSlash = false; - end = i + 1; - } - if (code === 46) { - // If this is our first dot, mark it as the start of our extension - if (startDot === -1) - startDot = i; - else if (preDotState !== 1) - preDotState = 1; - } else if (startDot !== -1) { - // We saw a non-dot and non-path separator before our dot, so we should - // have a good chance at having a non-empty extension - preDotState = -1; - } - } - - if (startDot === -1 || end === -1 || - // We saw a non-dot character immediately before the dot - preDotState === 0 || - // The (right-most) trimmed path component is exactly '..' - preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) { - return ''; - } - return path.slice(startDot, end); -} - -export function format(pathObject) { - if (pathObject === null || typeof pathObject !== 'object') { - throw new TypeError('The "pathObject" argument must be of type Object. Received type ' + typeof pathObject); - } - return _format('/', pathObject); -} - -export function parse(path) { - assertPath(path); - - var ret = { root: '', dir: '', base: '', ext: '', name: '' }; - if (path.length === 0) return ret; - var code = path.charCodeAt(0); - var isAbsolute = code === 47 /*/*/; - var start; - if (isAbsolute) { - ret.root = '/'; - start = 1; - } else { - start = 0; - } - var startDot = -1; - var startPart = 0; - var end = -1; - var matchedSlash = true; - var i = path.length - 1; - - // Track the state of characters (if any) we see before our first dot and - // after any path separator we find - var preDotState = 0; - - // Get non-dir info - for (; i >= start; --i) { - code = path.charCodeAt(i); - if (code === 47 /*/*/) { - // If we reached a path separator that was not part of a set of path - // separators at the end of the string, stop now - if (!matchedSlash) { - startPart = i + 1; - break; - } - continue; - } - if (end === -1) { - // We saw the first non-path separator, mark this as the end of our - // extension - matchedSlash = false; - end = i + 1; - } - if (code === 46) { - // If this is our first dot, mark it as the start of our extension - if (startDot === -1) startDot = i;else if (preDotState !== 1) preDotState = 1; - } else if (startDot !== -1) { - // We saw a non-dot and non-path separator before our dot, so we should - // have a good chance at having a non-empty extension - preDotState = -1; - } - } - - if (startDot === -1 || end === -1 || - // We saw a non-dot character immediately before the dot - preDotState === 0 || - // The (right-most) trimmed path component is exactly '..' - preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) { - if (end !== -1) { - if (startPart === 0 && isAbsolute) ret.base = ret.name = path.slice(1, end);else ret.base = ret.name = path.slice(startPart, end); - } - } else { - if (startPart === 0 && isAbsolute) { - ret.name = path.slice(1, startDot); - ret.base = path.slice(1, end); - } else { - ret.name = path.slice(startPart, startDot); - ret.base = path.slice(startPart, end); - } - ret.ext = path.slice(startDot, end); - } - - if (startPart > 0) ret.dir = path.slice(0, startPart - 1);else if (isAbsolute) ret.dir = '/'; - - return ret; -} - -export const sep = '/'; -export const delimiter = ':'; -export const win32 = null; diff --git a/platforms/Arduino/node_modules/assemblyscript/util/browser/process.js b/platforms/Arduino/node_modules/assemblyscript/util/browser/process.js deleted file mode 100644 index c0bd3649..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/util/browser/process.js +++ /dev/null @@ -1,59 +0,0 @@ -export const platform = "linux"; - -export function cwd() { - return "."; -} - -export function umask() { - return 0; -} - -export const argv = []; - -export function exit(code = 0) { - throw Error(`exit ${code}`); -} - -// https://github.com/kumavis/browser-process-hrtime v1.0.0 -// -// Copyright 2014 kumavis -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are met: -// -// 1. Redistributions of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright notice, -// this list of conditions and the following disclaimer in the documentation -// and/or other materials provided with the distribution. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE -// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -// POSSIBILITY OF SUCH DAMAGE. - -var performance = globalThis.performance || {}; -var performanceNow = performance.now || function() { return new Date().getTime(); }; - -export function hrtime(previousTimestamp) { - var clocktime = performanceNow.call(performance); - var seconds = Math.floor(clocktime * 1e-3); - var nanoseconds = Math.floor(clocktime * 1e6 - seconds * 1e9); - if (previousTimestamp) { - seconds -= previousTimestamp[0]; - nanoseconds -= previousTimestamp[1]; - if (nanoseconds < 0) { - seconds--; - nanoseconds += 1e9; - } - } - return [ seconds, nanoseconds ]; -} diff --git a/platforms/Arduino/node_modules/assemblyscript/util/browser/url.js b/platforms/Arduino/node_modules/assemblyscript/util/browser/url.js deleted file mode 100644 index a8297255..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/util/browser/url.js +++ /dev/null @@ -1,23 +0,0 @@ -import * as path from "./path.js"; - -function encodePathChars(filepath) { - return filepath - .replace(/%/g, "%25") - .replace(/\\/g, "%5C") - .replace(/\n/g, "%0A") - .replace(/\r/g, "%0D") - .replace(/\t/g, "%09"); -} - -export function pathToFileURL(filepath) { - let resolved = path.resolve(filepath); - if ( - filepath.charCodeAt(filepath.length - 1) === /* SLASH */ 47 && - resolved[resolved.length - 1] !== path.sep - ) { - resolved += "/"; - } - const url = new URL("file://"); - url.pathname = encodePathChars(resolved); - return url; -} diff --git a/platforms/Arduino/node_modules/assemblyscript/util/cpu.d.ts b/platforms/Arduino/node_modules/assemblyscript/util/cpu.d.ts deleted file mode 100644 index 0d776160..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/util/cpu.d.ts +++ /dev/null @@ -1,9 +0,0 @@ -/** - * @fileoverview CPU utility definitions. - * @license Apache-2.0 - */ - -/** Number of threads. */ -export const threadCount: number; -/** Number of cores. */ -export const coreCount: number; diff --git a/platforms/Arduino/node_modules/assemblyscript/util/cpu.js b/platforms/Arduino/node_modules/assemblyscript/util/cpu.js deleted file mode 100644 index 0f140e3d..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/util/cpu.js +++ /dev/null @@ -1,42 +0,0 @@ -/** - * @fileoverview CPU utility. - * @license Apache-2.0 - */ - -// https://www.npmjs.com/package/physical-cpu-count - -import os from "os"; -import childProcess from "child_process"; - -const cpus = os.cpus(); - -function exec(command) { - return childProcess.execSync(command, {encoding: 'utf8'}); -} - -var coreCount; - -const platform = os.platform(); -if (platform === "linux") { - const output = exec("lscpu -p | egrep -v \"^#\" | sort -u -t, -k 2,4 | wc -l"); - coreCount = parseInt(output.trim(), 10); -} else if (platform === "darwin") { - const output = exec("sysctl -n hw.physicalcpu_max"); - coreCount = parseInt(output.trim(), 10); -} else if (platform === "windows") { - const output = exec("WMIC CPU Get NumberOfCores"); - coreCount = output.split(os.EOL) - .map(line => parseInt(line)) - .filter(value => !isNaN(value)) - .reduce((sum, number) => sum + number, 0); -} else { - const cores = cpus.filter(function (cpu, index) { - const hasHyperthreading = cpu.model.includes("Intel"); - const isOdd = index % 2 === 1; - return !hasHyperthreading || isOdd; - }); - coreCount = cores.length; -} - -export const threadCount = cpus.length; -export { coreCount }; diff --git a/platforms/Arduino/node_modules/assemblyscript/util/find.d.ts b/platforms/Arduino/node_modules/assemblyscript/util/find.d.ts deleted file mode 100644 index 5d7e219a..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/util/find.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -/** - * @fileoverview File finding utility definitions. - * @license Apache-2.0 - */ - -export function findFiles(dirname: string, filter?: ((name: string) => boolean) | RegExp): string[]; diff --git a/platforms/Arduino/node_modules/assemblyscript/util/find.js b/platforms/Arduino/node_modules/assemblyscript/util/find.js deleted file mode 100644 index 8e1ed788..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/util/find.js +++ /dev/null @@ -1,20 +0,0 @@ -/** - * @fileoverview File finding utility. - * @license Apache-2.0 - */ - -import { fs, path } from "./node.js"; - -export function findFiles(dirname, filter) { - var out = []; - fs.readdirSync(dirname).forEach(name => { - if (fs.statSync(path.join(dirname, name)).isDirectory()) { - findFiles(path.join(dirname, name), filter).forEach(iname => out.push(name + "/" + iname)); - } else if (!filter || typeof filter === "function" ? filter(name) : filter.test(name)) { - out.push(name); - } - }); - return out; -} - -export default findFiles; diff --git a/platforms/Arduino/node_modules/assemblyscript/util/node.d.ts b/platforms/Arduino/node_modules/assemblyscript/util/node.d.ts deleted file mode 100644 index 25575020..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/util/node.d.ts +++ /dev/null @@ -1,21 +0,0 @@ -/** - * @fileoverview Node polyfill definitions. - * @license Apache-2.0 - */ - -import fs from "fs"; -import module from "module"; -import path from "path"; -import process from "process"; -import url from "url"; - -/** Whether the environment is Node.js. */ -export const isNode: boolean; - -export { - fs, - module, - path, - process, - url -}; diff --git a/platforms/Arduino/node_modules/assemblyscript/util/node.js b/platforms/Arduino/node_modules/assemblyscript/util/node.js deleted file mode 100644 index 29953de1..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/util/node.js +++ /dev/null @@ -1,34 +0,0 @@ -/** - * @fileoverview Node.js polyfills. - * @license Apache-2.0 - */ - -export const isNode = Object.prototype.toString.call(typeof globalThis.process !== 'undefined' ? globalThis.process : 0) === '[object process]'; - -var fs; -var module; -var path; -var process; -var url; - -if (isNode) { - fs = await import("fs"); - module = await import("module"); - path = await import("path"); - process = globalThis.process; - url = await import("url"); -} else { - fs = await import("./browser/fs.js"); - module = await import("./browser/module.js"); - path = await import("./browser/path.js"); - process = await import("./browser/process.js"); - url = await import("./browser/url.js"); -} - -export { - fs, - module, - path, - process, - url -}; diff --git a/platforms/Arduino/node_modules/assemblyscript/util/options.d.ts b/platforms/Arduino/node_modules/assemblyscript/util/options.d.ts deleted file mode 100644 index facc36d6..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/util/options.d.ts +++ /dev/null @@ -1,70 +0,0 @@ -/** - * @fileoverview Command line options utility definitions. - * @license Apache-2.0 - */ - -/** A set of options. */ -export interface OptionSet { - [key: string]: number | string -} - -/** Command line option description. */ -export interface OptionDescription { - /** Textual description. */ - description?: string | string[], - /** Data type. One of (b)oolean [default], (i)nteger, (f)loat or (s)tring. Uppercase means multiple values. */ - type?: "b" | "i" | "f" | "s" | "I" | "F" | "S", - /** Substituted options, if any. */ - value?: OptionSet, - /** Short alias, if any. */ - alias?: string - /** The default value, if any. */ - default?: string | number | boolean | string[] | number[]; - /** The category this option belongs in. */ - category?: string; -} - -/** Configuration object. */ -export interface Config { - [key: string]: OptionDescription; -} - -/** Parsing result. */ -export interface Result { - /** Parsed options. */ - options: OptionSet, - /** Unknown options. */ - unknown: string[], - /** Normal arguments. */ - arguments: string[], - /** Trailing arguments. */ - trailing: string[] -} - -/** Parses the specified command line arguments according to the given configuration. */ -export function parse(argv: string[], config: Config, propagateDefaults?: boolean): Result; - -/** Help formatting options. */ -export interface HelpOptions { - /** Leading indent. Defaults to 2. */ - indent?: number, - /** Table padding. Defaults to 24. */ - padding?: number, - /** End of line character. Defaults to "\n". */ - eol?: string -} - -/** Generates the help text for the specified configuration. */ -export function help(config: Config, options?: HelpOptions): string; - -/** Merges two sets of options into one, preferring the current over the parent set. */ -export function merge(config: Config, currentOptions: OptionSet, parentOptions: OptionSet, parentBaseDir: string): OptionSet; - -/** Normalizes a path. */ -export function normalizePath(path: string): string; - -/** Resolves a single relative path. Keeps absolute paths, otherwise prepends baseDir. */ -export function resolvePath(path: string, baseDir: string, useNodeResolution?: boolean): string; - -/** Populates default values on a parsed options result. */ -export function addDefaults(config: Config, options: OptionSet): void; diff --git a/platforms/Arduino/node_modules/assemblyscript/util/options.js b/platforms/Arduino/node_modules/assemblyscript/util/options.js deleted file mode 100644 index 7b1c2de6..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/util/options.js +++ /dev/null @@ -1,262 +0,0 @@ -/** - * @fileoverview Command line options utility. - * @license Apache-2.0 - */ - -import { path, module } from "./node.js"; -import { stdoutColors } from "./terminal.js"; - -const require = module.createRequire(import.meta.url); - -// type | meaning -// -----|--------------- -// b | boolean -// i | integer -// f | float -// s | string -// I | integer array -// F | float array -// S | string array - -/** Parses the specified command line arguments according to the given configuration. */ -export function parse(argv, config, propagateDefaults = true) { - var options = {}; - var unknown = []; - var args = []; - var trailing = []; - - // make an alias map and initialize defaults - var aliases = {}; - Object.keys(config).forEach(key => { - if (key.startsWith(" ")) return; - var option = config[key]; - if (option.alias != null) { - if (typeof option.alias === "string") aliases[option.alias] = key; - else if (Array.isArray(option.alias)) option.alias.forEach(alias => aliases[alias] = key); - } - if (propagateDefaults && option.default != null) options[key] = option.default; - }); - - // iterate over argv - for (var i = 0, k = (argv = argv.slice()).length; i < k; ++i) { - let arg = argv[i]; - if (arg == "--") { ++i; break; } - let match = /^(?:(-\w)(?:=(.*))?|(--\w{2,})(?:=(.*))?)$/.exec(arg), option, key; - if (match) { - if (config[arg]) option = config[key = arg]; // exact - else if (match[1] != null) { // alias - option = config[key = aliases[match[1].substring(1)]]; - if (option && match[2] != null) argv[i--] = match[2]; - } else if (match[3] != null) { // full - option = config[key = match[3].substring(2)]; - if (option && match[4] != null) argv[i--] = match[4]; - } - } else { - if (arg.charCodeAt(0) == 45) option = config[key = arg]; // exact - else { args.push(arg); continue; } // argument - } - if (option) { - if (option.value) { - // alias setting fixed values - Object.keys(option.value).forEach(k => options[k] = option.value[k]); - } else if (option.type == null || option.type === "b") { - // boolean flag not taking a value - options[key] = true; - } else { - if (i + 1 < argv.length && argv[i + 1].charCodeAt(0) != 45) { - // non-boolean with given value - switch (option.type) { - case "i": options[key] = parseInt(argv[++i], 10); break; - case "I": options[key] = (options[key] || []).concat(parseInt(argv[++i], 10)); break; - case "f": options[key] = parseFloat(argv[++i]); break; - case "F": options[key] = (options[key] || []).concat(parseFloat(argv[++i])); break; - case "s": options[key] = String(argv[++i]); break; - case "S": options[key] = (options[key] || []).concat(argv[++i].split(",")); break; - default: unknown.push(arg); --i; - } - } else { - // non-boolean with omitted value - switch (option.type) { - case "i": - case "f": options[key] = option.default || 0; break; - case "s": options[key] = option.default || ""; break; - case "I": - case "F": - case "S": options[key] = option.default || []; break; - default: unknown.push(arg); - } - } - } - } else unknown.push(arg); - } - while (i < k) trailing.push(argv[i++]); // trailing - if (propagateDefaults) addDefaults(config, options); - - return { options, unknown, arguments: args, trailing }; -} - -/** Generates the help text for the specified configuration. */ -export function help(config, options) { - if (!options) options = {}; - var indent = options.indent || 2; - var padding = options.padding || 24; - var eol = options.eol || "\n"; - var sbCategories = {}; - var sbOther = []; - Object.keys(config).forEach(key => { - var option = config[key]; - if (option.description == null) return; - var text = ""; - while (text.length < indent) text += " "; - text += "--" + key; - if (option.alias) text += ", -" + option.alias; - while (text.length < padding) text += " "; - var sb; - if (!options.noCategories && option.category) { - if (!(sb = sbCategories[option.category])) { - sbCategories[option.category] = sb = []; - } - } else { - sb = sbOther; - } - if (Array.isArray(option.description)) { - sb.push(text + option.description[0] + option.description.slice(1).map(line => { - for (let i = 0; i < padding; ++i) line = " " + line; - return eol + line; - }).join("")); - } else sb.push(text + option.description); - }); - var sb = []; - var hasCategories = false; - Object.keys(sbCategories).forEach(category => { - hasCategories = true; - sb.push(eol + " " + stdoutColors.gray(category) + eol); - sb.push(sbCategories[category].join(eol)); - }); - if (hasCategories && sbOther.length) { - sb.push(eol + " " + stdoutColors.gray("Other") + eol); - } - sb.push(sbOther.join(eol)); - return sb.join(eol); -} - -/** Sanitizes an option value to be a valid value of the option's type. */ -function sanitizeValue(value, type) { - if (value != null) { - switch (type) { - case undefined: - case "b": return Boolean(value); - case "i": return Math.trunc(value) || 0; - case "f": return Number(value) || 0; - case "s": { - if (value === true) return ""; - if (value === false) return null; - return String(value); - } - case "I": { - if (!Array.isArray(value)) value = [ value ]; - return value.map(v => Math.trunc(v) || 0); - } - case "F": { - if (!Array.isArray(value)) value = [ value ]; - return value.map(v => Number(v) || 0); - } - case "S": { - if (!Array.isArray(value)) value = [ value ]; - return value.map(String); - } - } - } - return undefined; -} - -/** Merges two sets of options into one, preferring the current over the parent set. */ -export function merge(config, currentOptions, parentOptions, parentBaseDir) { - const mergedOptions = {}; - for (const [key, { type, mutuallyExclusive, isPath, useNodeResolution, cliOnly }] of Object.entries(config)) { - let currentValue = sanitizeValue(currentOptions[key], type); - let parentValue = sanitizeValue(parentOptions[key], type); - if (currentValue == null) { - if (parentValue != null) { - // only parent value present - if (cliOnly) continue; - if (Array.isArray(parentValue)) { - let exclude; - if (isPath) { - parentValue = parentValue.map(value => resolvePath(value, parentBaseDir, useNodeResolution)); - } - if (mutuallyExclusive != null && (exclude = currentOptions[mutuallyExclusive])) { - mergedOptions[key] = parentValue.filter(value => !exclude.includes(value)); - } else { - mergedOptions[key] = parentValue.slice(); - } - } else { - if (isPath) { - parentValue = resolvePath(parentValue, parentBaseDir, useNodeResolution); - } - mergedOptions[key] = parentValue; - } - } - } else if (parentValue == null) { - // only current value present - if (Array.isArray(currentValue)) { - mergedOptions[key] = currentValue.slice(); - } else { - mergedOptions[key] = currentValue; - } - } else { - // both current and parent values present - if (Array.isArray(currentValue)) { - if (cliOnly) { - mergedOptions[key] = currentValue.slice(); - continue; - } - let exclude; - if (isPath) { - parentValue = parentValue.map(value => resolvePath(value, parentBaseDir, useNodeResolution)); - } - if (mutuallyExclusive != null && (exclude = currentOptions[mutuallyExclusive])) { - mergedOptions[key] = [ - ...currentValue, - ...parentValue.filter(value => !currentValue.includes(value) && !exclude.includes(value)) - ]; - } else { - mergedOptions[key] = [ - ...currentValue, - ...parentValue.filter(value => !currentValue.includes(value)) // dedup - ]; - } - } else { - mergedOptions[key] = currentValue; - } - } - } - return mergedOptions; -} - -/** Normalizes a path. */ -export function normalizePath(p) { - const parsed = path.parse(p); - if (!parsed.root) { - parsed.root = "./"; - } - return path.format(parsed); -} - -/** Resolves a single possibly relative path. Keeps absolute paths, otherwise prepends baseDir. */ -export function resolvePath(p, baseDir, useNodeResolution = false) { - if (path.isAbsolute(p)) return p; - if (useNodeResolution && !p.startsWith(".") && require.resolve) { - return require.resolve(p, { paths: [ baseDir ] }); - } - return normalizePath(path.join(baseDir, p)); -} - -/** Populates default values on a parsed options result. */ -export function addDefaults(config, options) { - for (const [key, { default: defaultValue }] of Object.entries(config)) { - if (options[key] == null && defaultValue != null) { - options[key] = defaultValue; - } - } -} diff --git a/platforms/Arduino/node_modules/assemblyscript/util/terminal.d.ts b/platforms/Arduino/node_modules/assemblyscript/util/terminal.d.ts deleted file mode 100644 index 2adc19bd..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/util/terminal.d.ts +++ /dev/null @@ -1,52 +0,0 @@ -/** - * @fileoverview Terminal colors utility definitions. - * @license Apache-2.0 - */ - -/** Color code for gray. */ -export const GRAY: string; -/** Color code for red. */ -export const RED: string; -/** Color code for green. */ -export const GREEN: string; -/** Color code for yellow. */ -export const YELLOW: string; -/** Color code for blue. */ -export const BLUE: string; -/** Color code for magenta. */ -export const MAGENTA: string; -/** Color code for cyan. */ -export const CYAN: string; -/** Color code for white. */ -export const WHITE: string; -/** Code to reset any colors. */ -export const RESET: string; - -/** Color utility class. */ -export class Colors { - /** Constructs a new instance for the given stream. */ - constructor(stream: { isTTY: boolean }); - /** Whether terminal colors are enabled. */ - enabled: boolean; - /** Colors a string in gray if {@link enabled}. */ - gray(text: string): string; - /** Colors a string in red if {@link enabled}. */ - red(text: string): string; - /** Colors a string in green if {@link enabled}. */ - green(text: string): string; - /** Colors a string in yellow if {@link enabled}. */ - yellow(text: string): string; - /** Colors a string in blue if {@link enabled}. */ - blue(text: string): string; - /** Colors a string in magenta if {@link enabled}. */ - magenta(text: string): string; - /** Colors a string in cyan if {@link enabled}. */ - cyan(text: string): string; - /** Colors a string in white if {@link enabled}. */ - white(text: string): string; -} - -/** Color utility for stdout. */ -export const stdoutColors: Colors; -/** Color utility for stderr. */ -export const stderrColors: Colors; diff --git a/platforms/Arduino/node_modules/assemblyscript/util/terminal.js b/platforms/Arduino/node_modules/assemblyscript/util/terminal.js deleted file mode 100644 index 93ceee94..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/util/terminal.js +++ /dev/null @@ -1,35 +0,0 @@ -/** - * @fileoverview Terminal utility. - * @license Apache-2.0 - */ - -var proc = typeof process !== "undefined" && process || {}; -var isCI = proc.env && "CI" in proc.env; - -export const GRAY = "\u001b[90m"; -export const RED = "\u001b[91m"; -export const GREEN = "\u001b[92m"; -export const YELLOW = "\u001b[93m"; -export const BLUE = "\u001b[94m"; -export const MAGENTA = "\u001b[95m"; -export const CYAN = "\u001b[96m"; -export const WHITE = "\u001b[97m"; -export const RESET = "\u001b[0m"; - -export class Colors { - constructor(stream) { - this.stream = stream; - this.enabled = Boolean((this.stream && this.stream.isTTY) || isCI); - } - gray(text) { return this.enabled ? GRAY + text + RESET : text; } - red(text) { return this.enabled ? RED + text + RESET : text; } - green(text) { return this.enabled ? GREEN + text + RESET : text; } - yellow(text) { return this.enabled ? YELLOW + text + RESET : text; } - blue(text) { return this.enabled ? BLUE + text + RESET : text; } - magenta(text) { return this.enabled ? MAGENTA + text + RESET : text; } - cyan(text) { return this.enabled ? CYAN + text + RESET : text; } - white(text) { return this.enabled ? WHITE + text + RESET : text; } -} - -export const stdoutColors = new Colors(proc.stdout); -export const stderrColors = new Colors(proc.stderr); diff --git a/platforms/Arduino/node_modules/assemblyscript/util/text.d.ts b/platforms/Arduino/node_modules/assemblyscript/util/text.d.ts deleted file mode 100644 index d2eec9e2..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/util/text.d.ts +++ /dev/null @@ -1,26 +0,0 @@ -/** - * @fileoverview Text utility definitions. - * @license Apache-2.0 - */ - -/** Calculates the UTF-8 byte length of a string. */ -export function utf8Length(string: string): number; - -/** Reads UTF-8 bytes as a string. */ -export function utf8Read(buffer: Uint8Array, start: number, end: number): string; - -/** Writes a string as UTF-8 bytes. */ -export function utf8Write(string: string, buffer: Uint8Array, offset: number): number; - -/** UTF-8 utility. */ -export const utf8: { - /** Calculates the UTF8 byte length of a string. */ - length: typeof utf8Length; - /** Reads UTF8 bytes as a string. */ - read: typeof utf8Read; - /** Writes a string as UTF8 bytes. */ - write: typeof utf8Write; -}; - -/** Computes the difference between an expected and its actual text. */ -export function diff(filename: string, expected: string, actual: string): string; diff --git a/platforms/Arduino/node_modules/assemblyscript/util/text.js b/platforms/Arduino/node_modules/assemblyscript/util/text.js deleted file mode 100644 index b7accf9f..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/util/text.js +++ /dev/null @@ -1,114 +0,0 @@ -/** - * @fileoverview Text utility. - * @license Apache-2.0 - */ - -import * as Diff from "diff"; -import { stdoutColors } from "./terminal.js"; - -export function utf8Length(string) { - var len = 0; - for (var i = 0, k = string.length; i < k; ++i) { - let c = string.charCodeAt(i); - if (c < 128) { - len += 1; - } else if (c < 2048) { - len += 2; - } else if ((c & 0xFC00) === 0xD800 && i + 1 < k && (string.charCodeAt(i + 1) & 0xFC00) === 0xDC00) { - ++i; - len += 4; - } else { - len += 3; - } - } - return len; -} - -export function utf8Read(buffer, start, end) { - var len = end - start; - if (len < 1) return ""; - var parts = null, - chunk = [], - i = 0, // char offset - t; // temporary - while (start < end) { - t = buffer[start++]; - if (t < 128) { - chunk[i++] = t; - } else if (t > 191 && t < 224) { - chunk[i++] = (t & 31) << 6 | buffer[start++] & 63; - } else if (t > 239 && t < 365) { - t = ((t & 7) << 18 | (buffer[start++] & 63) << 12 | (buffer[start++] & 63) << 6 | buffer[start++] & 63) - 0x10000; - chunk[i++] = 0xD800 + (t >> 10); - chunk[i++] = 0xDC00 + (t & 1023); - } else { - chunk[i++] = (t & 15) << 12 | (buffer[start++] & 63) << 6 | buffer[start++] & 63; - } - if (i >= 8192) { - (parts || (parts = [])).push(String.fromCharCode(...chunk)); - i = 0; - } - } - if (parts) { - if (i) parts.push(String.fromCharCode(...chunk.slice(0, i))); - return parts.join(""); - } - return String.fromCharCode(...chunk.slice(0, i)); -} - -export function utf8Write(string, buffer, offset) { - var start = offset; - for (var i = 0, k = string.length; i < k; ++i) { - let c1 = string.charCodeAt(i), c2; - if (c1 < 128) { - buffer[offset++] = c1; - } else if (c1 < 2048) { - buffer[offset++] = c1 >> 6 | 192; - buffer[offset++] = c1 & 63 | 128; - } else if ((c1 & 0xFC00) === 0xD800 && i + 1 < k && ((c2 = string.charCodeAt(i + 1)) & 0xFC00) === 0xDC00) { - c1 = 0x10000 + ((c1 & 0x03FF) << 10) + (c2 & 0x03FF); - ++i; - buffer[offset++] = c1 >> 18 | 240; - buffer[offset++] = c1 >> 12 & 63 | 128; - buffer[offset++] = c1 >> 6 & 63 | 128; - buffer[offset++] = c1 & 63 | 128; - } else { - buffer[offset++] = c1 >> 12 | 224; - buffer[offset++] = c1 >> 6 & 63 | 128; - buffer[offset++] = c1 & 63 | 128; - } - } - return offset - start; -} - -export const utf8 = { - length: utf8Length, - read: utf8Read, - write: utf8Write -}; - -export function diff(filename, expected, actual) { - const diff = Diff.structuredPatch(filename, filename, expected, actual, "expected", "actual", { context: 5 }); - if (!diff.hunks.length) return null; - - const out = [ - '--- ' + diff.oldHeader, - '+++ ' + diff.newHeader - ]; - for (const hunk of diff.hunks) { - out.push( - '@@ -' + hunk.oldStart + ',' + hunk.oldLines - + ' +' + hunk.newStart + ',' + hunk.newLines - + ' @@' - ); - out.push(...hunk.lines.map(line => - line.charAt(0) === "+" - ? stdoutColors.green(line) - : line.charAt(0) === "-" - ? line = stdoutColors.red(line) - : line - )); - } - - return out.join('\n') + '\n'; -} diff --git a/platforms/Arduino/node_modules/assemblyscript/util/tsconfig.json b/platforms/Arduino/node_modules/assemblyscript/util/tsconfig.json deleted file mode 100644 index 36ec54ed..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/util/tsconfig.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "extends": "../tsconfig-base.json", - "compilerOptions": { - "esModuleInterop": true - }, - "include": [ - "./**/*.ts" - ] -} diff --git a/platforms/Arduino/node_modules/assemblyscript/util/web.d.ts b/platforms/Arduino/node_modules/assemblyscript/util/web.d.ts deleted file mode 100644 index 4433ca23..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/util/web.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -/** - * @fileoverview Web polyfill definitions. - * @license Apache-2.0 - */ - -/** Fetches a file. */ -export function fetch(url: string): Promise<{ - arrayBuffer(): Promise; - text(): Promise; - json(): Promise; // eslint-disable-line @typescript-eslint/no-explicit-any -}>; diff --git a/platforms/Arduino/node_modules/assemblyscript/util/web.js b/platforms/Arduino/node_modules/assemblyscript/util/web.js deleted file mode 100644 index 1cddb1c3..00000000 --- a/platforms/Arduino/node_modules/assemblyscript/util/web.js +++ /dev/null @@ -1,33 +0,0 @@ -/** - * @fileoverview Web polyfills. - * @license Apache-2.0 - */ - -import { fs } from "./node.js"; - -var _fetch = typeof fetch === "function" ? fetch : - url => new Promise((resolve, reject) => { // eslint-disable-line no-global-assign - fs.readFile(url, (err, data) => { - if (err) reject(err); - resolve({ - arrayBuffer() { - let offset = data.byteOffset; - return Promise.resolve(data.buffer.slice(offset, offset + data.byteLength)); - }, - text() { - return Promise.resolve(data.toString()); - }, - json() { - try { - return Promise.resolve(JSON.parse(data.toString())); - } catch (err) { - return Promise.reject(err); - } - } - }); - }); - }); - -export { - _fetch as fetch -}; diff --git a/platforms/Arduino/node_modules/binaryen/LICENSE b/platforms/Arduino/node_modules/binaryen/LICENSE deleted file mode 100644 index 9c8f3ea0..00000000 --- a/platforms/Arduino/node_modules/binaryen/LICENSE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright {yyyy} {name of copyright owner} - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. \ No newline at end of file diff --git a/platforms/Arduino/node_modules/binaryen/README.md b/platforms/Arduino/node_modules/binaryen/README.md deleted file mode 100644 index 52793988..00000000 --- a/platforms/Arduino/node_modules/binaryen/README.md +++ /dev/null @@ -1,1318 +0,0 @@ -binaryen.js -=========== - -**binaryen.js** is a port of [Binaryen](https://github.com/WebAssembly/binaryen) to the Web, allowing you to generate [WebAssembly](https://webassembly.org) using a JavaScript API. - -Build status -npm version -npm nightly version - -Usage ------ - -``` -$> npm install binaryen -``` - -```js -import binaryen from "binaryen"; - -// Create a module with a single function -var myModule = new binaryen.Module(); - -myModule.addFunction("add", binaryen.createType([ binaryen.i32, binaryen.i32 ]), binaryen.i32, [ binaryen.i32 ], - myModule.block(null, [ - myModule.local.set(2, - myModule.i32.add( - myModule.local.get(0, binaryen.i32), - myModule.local.get(1, binaryen.i32) - ) - ), - myModule.return( - myModule.local.get(2, binaryen.i32) - ) - ]) -); -myModule.addFunctionExport("add", "add"); - -// Optimize the module using default passes and levels -myModule.optimize(); - -// Validate the module -if (!myModule.validate()) - throw new Error("validation error"); - -// Generate text format and binary -var textData = myModule.emitText(); -var wasmData = myModule.emitBinary(); - -// Example usage with the WebAssembly API -var compiled = new WebAssembly.Module(wasmData); -var instance = new WebAssembly.Instance(compiled, {}); -console.log(instance.exports.add(41, 1)); -``` - -The buildbot also publishes nightly versions once a day if there have been changes. The latest nightly can be installed through - -``` -$> npm install binaryen@nightly -``` - -or you can use one of the [previous versions](https://github.com/AssemblyScript/binaryen.js/tags) instead if necessary. - -### Usage with a CDN - - * From GitHub via [jsDelivr](https://www.jsdelivr.com):
- `https://cdn.jsdelivr.net/gh/AssemblyScript/binaryen.js@VERSION/index.js` - * From npm via [jsDelivr](https://www.jsdelivr.com):
- `https://cdn.jsdelivr.net/npm/binaryen@VERSION/index.js` - * From npm via [unpkg](https://unpkg.com):
- `https://unpkg.com/binaryen@VERSION/index.js` - - Replace `VERSION` with a [specific version](https://github.com/AssemblyScript/binaryen.js/releases) or omit it (not recommended in production) to use main/latest. - -### Command line - -The package includes Node.js builds of [wasm-opt](https://github.com/WebAssembly/binaryen#wasm-opt) and [wasm2js](https://github.com/WebAssembly/binaryen#wasm2js). - -API ---- - -**Please note** that the Binaryen API is evolving fast and that definitions and documentation provided by the package tend to get out of sync despite our best efforts. It's a bot after all. If you rely on binaryen.js and spot an issue, please consider sending a PR our way by updating [index.d.ts](./index.d.ts) and [README.md](./README.md) to reflect the [current API](https://github.com/WebAssembly/binaryen/blob/main/src/js/binaryen.js-post.js). - - - -### Contents - -- [Types](#types) -- [Module construction](#module-construction) -- [Module manipulation](#module-manipulation) -- [Module validation](#module-validation) -- [Module optimization](#module-optimization) -- [Module creation](#module-creation) -- [Expression construction](#expression-construction) - - [Control flow](#control-flow) - - [Variable accesses](#variable-accesses) - - [Integer operations](#integer-operations) - - [Floating point operations](#floating-point-operations) - - [Datatype conversions](#datatype-conversions) - - [Function calls](#function-calls) - - [Linear memory accesses](#linear-memory-accesses) - - [Host operations](#host-operations) - - [Bulk memory operations](#bulk-memory-operations-) - - [Sign extension operations](#sign-extension-operations-) - - [Reference types operations](#reference-types-operations-) - - [Vector operations](#vector-operations-) - - [Multi-value operations](#multi-value-operations-) - - [Atomic memory accesses 🦄](#atomic-memory-accesses-) - - [Atomic read-modify-write operations 🦄](#atomic-read-modify-write-operations-) - - [Atomic wait and notify operations 🦄](#atomic-wait-and-notify-operations-) - - [Exception handling operations 🦄](#exception-handling-operations-) -- [Expression manipulation](#expression-manipulation) -- [Relooper](#relooper) -- [Source maps](#source-maps) -- [Debugging](#debugging) - - - -[Future features](http://webassembly.org/docs/future-features/) 🦄 might not be supported by all runtimes. - -### Types - - * **none**: `Type`
- The none type, e.g., `void`. - - * **i32**: `Type`
- 32-bit integer type. - - * **i64**: `Type`
- 64-bit integer type. - - * **f32**: `Type`
- 32-bit float type. - - * **f64**: `Type`
- 64-bit float (double) type. - - * **v128**: `Type`
- 128-bit vector type. 🦄 - - * **funcref**: `Type`
- A function reference. 🦄 - - * **externref**: `Type`
- An external (host) reference. 🦄 - - * **anyref**: `Type`
- Any (top type) reference. 🦄 - - * **eqref**: `Type`
- Equal reference. 🦄 - - * **i31ref**: `Type`
- i31 reference. 🦄 - - * **dataref**: `Type`
- Data reference. 🦄 - - * **stringref**: `Type`
- String reference. 🦄 - - * **stringview_wtf8**: `Type`
- View of a string reference in [WTF-8](https://simonsapin.github.io/wtf-8/) encoding. 🦄 - - * **stringview_wtf16**: `Type`
- View of a string reference in [WTF-16](https://simonsapin.github.io/wtf-8/#wtf-16) encoding. 🦄 - - * **stringview_iter**: `Type`
- Iterator over the code points of a string reference. 🦄 - - * **unreachable**: `Type`
- Special type indicating unreachable code when obtaining information about an expression. - - * **auto**: `Type`
- Special type used in **Module#block** exclusively. Lets the API figure out a block's result type automatically. - - * **createType**(types: `Type[]`): `Type`
- Creates a multi-value type from an array of types. - - * **expandType**(type: `Type`): `Type[]`
- Expands a multi-value type to an array of types. - -### Module construction - - * new **Module**()
- Constructs a new module. - - * **parseText**(text: `string`): `Module`
- Creates a module from Binaryen's s-expression text format (not official stack-style text format). - - * **readBinary**(data: `Uint8Array`): `Module`
- Creates a module from binary data. - -### Module manipulation - -* Module#**addFunction**(name: `string`, params: `Type`, results: `Type`, vars: `Type[]`, body: `ExpressionRef`): `FunctionRef`
- Adds a function. `vars` indicate additional locals, in the given order. - -* Module#**getFunction**(name: `string`): `FunctionRef`
- Gets a function, by name, - -* Module#**removeFunction**(name: `string`): `void`
- Removes a function, by name. - -* Module#**getNumFunctions**(): `number`
- Gets the number of functions within the module. - -* Module#**getFunctionByIndex**(index: `number`): `FunctionRef`
- Gets the function at the specified index. - -* Module#**addFunctionImport**(internalName: `string`, externalModuleName: `string`, externalBaseName: `string`, params: `Type`, results: `Type`): `void`
- Adds a function import. - -* Module#**addTableImport**(internalName: `string`, externalModuleName: `string`, externalBaseName: `string`): `void`
- Adds a table import. There's just one table for now, using name `"0"`. - -* Module#**addMemoryImport**(internalName: `string`, externalModuleName: `string`, externalBaseName: `string`): `void`
- Adds a memory import. There's just one memory for now, using name `"0"`. - -* Module#**addGlobalImport**(internalName: `string`, externalModuleName: `string`, externalBaseName: `string`, globalType: `Type`): `void`
- Adds a global variable import. Imported globals must be immutable. - -* Module#**addFunctionExport**(internalName: `string`, externalName: `string`): `ExportRef`
- Adds a function export. - -* Module#**addTableExport**(internalName: `string`, externalName: `string`): `ExportRef`
- Adds a table export. There's just one table for now, using name `"0"`. - -* Module#**addMemoryExport**(internalName: `string`, externalName: `string`): `ExportRef`
- Adds a memory export. There's just one memory for now, using name `"0"`. - -* Module#**addGlobalExport**(internalName: `string`, externalName: `string`): `ExportRef`
- Adds a global variable export. Exported globals must be immutable. - -* Module#**getNumExports**(): `number`
- Gets the number of exports witin the module. - -* Module#**getExportByIndex**(index: `number`): `ExportRef`
- Gets the export at the specified index. - -* Module#**removeExport**(externalName: `string`): `void`
- Removes an export, by external name. - -* Module#**addGlobal**(name: `string`, type: `Type`, mutable: `number`, value: `ExpressionRef`): `GlobalRef`
- Adds a global instance variable. - -* Module#**getGlobal**(name: `string`): `GlobalRef`
- Gets a global, by name, - -* Module#**removeGlobal**(name: `string`): `void`
- Removes a global, by name. - -* Module#**setMemory**(initial: `number`, maximum: `number`, exportName: `string | null`, segments: `MemorySegment[]`, shared?: `boolean`): `void`
- Sets the memory. There's just one memory for now, using name `"0"`. Providing `exportName` also creates a memory export. - - * MemorySegment#**offset**: `ExpressionRef` - * MemorySegment#**data**: `Uint8Array` - * MemorySegment#**passive**: `boolean` - -* Module#**getNumMemorySegments**(): `number`
- Gets the number of memory segments within the module. - -* Module#**getMemorySegmentInfoByIndex**(index: `number`): `MemorySegmentInfo`
- Gets information about the memory segment at the specified index. - - * MemorySegmentInfo#**offset**: `number` - * MemorySegmentInfo#**data**: `Uint8Array` - * MemorySegmentInfo#**passive**: `boolean` - -* Module#**setStart**(start: `FunctionRef`): `void`
- Sets the start function. - -* Module#**getFeatures**(): `Features`
- Gets the WebAssembly features enabled for this module. - - Note that the return value may be a bitmask indicating multiple features. Possible feature flags are: - - * Features.**MVP**: `Features` - * Features.**Atomics**: `Features` - * Features.**BulkMemory**: `Features` - * Features.**MutableGlobals**: `Features` - * Features.**NontrappingFPToInt**: `Features` - * Features.**SignExt**: `Features` - * Features.**SIMD128**: `Features` - * Features.**ExceptionHandling**: `Features` - * Features.**TailCall**: `Features` - * Features.**ReferenceTypes**: `Features` - * Features.**Multivalue**: `Features` - * Features.**All**: `Features` - -* Module#**setFeatures**(features: `Features`): `void`
- Sets the WebAssembly features enabled for this module. - -* Module#**addCustomSection**(name: `string`, contents: `Uint8Array`): `void`
- Adds a custom section to the binary. - -* Module#**autoDrop**(): `void`
- Enables automatic insertion of `drop` operations where needed. Lets you not worry about dropping when creating your code. - -* **getFunctionInfo**(ftype: `FunctionRef`: `FunctionInfo`
- Obtains information about a function. - - * FunctionInfo#**name**: `string` - * FunctionInfo#**module**: `string | null` (if imported) - * FunctionInfo#**base**: `string | null` (if imported) - * FunctionInfo#**params**: `Type` - * FunctionInfo#**results**: `Type` - * FunctionInfo#**vars**: `Type` - * FunctionInfo#**body**: `ExpressionRef` - -* **getGlobalInfo**(global: `GlobalRef`): `GlobalInfo`
- Obtains information about a global. - - * GlobalInfo#**name**: `string` - * GlobalInfo#**module**: `string | null` (if imported) - * GlobalInfo#**base**: `string | null` (if imported) - * GlobalInfo#**type**: `Type` - * GlobalInfo#**mutable**: `boolean` - * GlobalInfo#**init**: `ExpressionRef` - -* **getTableInfo**(table: `TableRef`): `TableInfo`
- Obtains information about a table. - - * TableInfo#**name**: `string` - * TableInfo#**module**: `string | null` (if imported) - * TableInfo#**base**: `string | null` (if imported) - * TableInfo#**initial**: `number`; - * TableInfo#**max**?: `number`; - -* **getExportInfo**(export_: `ExportRef`): `ExportInfo`
- Obtains information about an export. - - * ExportInfo#**kind**: `ExternalKind` - * ExportInfo#**name**: `string` - * ExportInfo#**value**: `string` - - Possible `ExternalKind` values are: - - * **ExternalFunction**: `ExternalKind` - * **ExternalTable**: `ExternalKind` - * **ExternalMemory**: `ExternalKind` - * **ExternalGlobal**: `ExternalKind` - * **ExternalTag**: `ExternalKind` - -* **getTagInfo**(tag: `TagRef`): `TagInfo`
- Obtains information about a tag. - - * TagInfo#**name**: `string` - * TagInfo#**module**: `string | null` (if imported) - * TagInfo#**base**: `string | null` (if imported) - * TagInfo#**params**: `Type` - * TagInfo#**results**: `Type` - -* **getSideEffects**(expr: `ExpressionRef`, features: `FeatureFlags`): `SideEffects`
- Gets the side effects of the specified expression. - - * SideEffects.**None**: `SideEffects` - * SideEffects.**Branches**: `SideEffects` - * SideEffects.**Calls**: `SideEffects` - * SideEffects.**ReadsLocal**: `SideEffects` - * SideEffects.**WritesLocal**: `SideEffects` - * SideEffects.**ReadsGlobal**: `SideEffects` - * SideEffects.**WritesGlobal**: `SideEffects` - * SideEffects.**ReadsMemory**: `SideEffects` - * SideEffects.**WritesMemory**: `SideEffects` - * SideEffects.**ReadsTable**: `SideEffects` - * SideEffects.**WritesTable**: `SideEffects` - * SideEffects.**ImplicitTrap**: `SideEffects` - * SideEffects.**IsAtomic**: `SideEffects` - * SideEffects.**Throws**: `SideEffects` - * SideEffects.**DanglingPop**: `SideEffects` - * SideEffects.**TrapsNeverHappen**: `SideEffects` - * SideEffects.**Any**: `SideEffects` - -### Module validation - -* Module#**validate**(): `boolean`
- Validates the module. Returns `true` if valid, otherwise prints validation errors and returns `false`. - -### Module optimization - -* Module#**optimize**(): `void`
- Optimizes the module using the default optimization passes. - -* Module#**optimizeFunction**(func: `FunctionRef | string`): `void`
- Optimizes a single function using the default optimization passes. - -* Module#**runPasses**(passes: `string[]`): `void`
- Runs the specified passes on the module. - -* Module#**runPassesOnFunction**(func: `FunctionRef | string`, passes: `string[]`): `void`
- Runs the specified passes on a single function. - -* **getOptimizeLevel**(): `number`
- Gets the currently set optimize level. `0`, `1`, `2` correspond to `-O0`, `-O1`, `-O2` (default), etc. - -* **setOptimizeLevel**(level: `number`): `void`
- Sets the optimization level to use. `0`, `1`, `2` correspond to `-O0`, `-O1`, `-O2` (default), etc. - -* **getShrinkLevel**(): `number`
- Gets the currently set shrink level. `0`, `1`, `2` correspond to `-O0`, `-Os` (default), `-Oz`. - -* **setShrinkLevel**(level: `number`): `void`
- Sets the shrink level to use. `0`, `1`, `2` correspond to `-O0`, `-Os` (default), `-Oz`. - -* **getDebugInfo**(): `boolean`
- Gets whether generating debug information is currently enabled or not. - -* **setDebugInfo**(on: `boolean`): `void`
- Enables or disables debug information in emitted binaries. - -* **getLowMemoryUnused**(): `boolean`
- Gets whether the low 1K of memory can be considered unused when optimizing. - -* **setLowMemoryUnused**(on: `boolean`): `void`
- Enables or disables whether the low 1K of memory can be considered unused when optimizing. - -* **getPassArgument**(key: `string`): `string | null`
- Gets the value of the specified arbitrary pass argument. - -* **setPassArgument**(key: `string`, value: `string | null`): `void`
- Sets the value of the specified arbitrary pass argument. Removes the respective argument if `value` is `null`. - -* **clearPassArguments**(): `void`
- Clears all arbitrary pass arguments. - -* **getAlwaysInlineMaxSize**(): `number`
- Gets the function size at which we always inline. - -* **setAlwaysInlineMaxSize**(size: `number`): `void`
- Sets the function size at which we always inline. - -* **getFlexibleInlineMaxSize**(): `number`
- Gets the function size which we inline when functions are lightweight. - -* **setFlexibleInlineMaxSize**(size: `number`): `void`
- Sets the function size which we inline when functions are lightweight. - -* **getOneCallerInlineMaxSize**(): `number`
- Gets the function size which we inline when there is only one caller. - -* **setOneCallerInlineMaxSize**(size: `number`): `void`
- Sets the function size which we inline when there is only one caller. - -### Module creation - -* Module#**emitBinary**(): `Uint8Array`
- Returns the module in binary format. - -* Module#**emitBinary**(sourceMapUrl: `string | null`): `BinaryWithSourceMap`
- Returns the module in binary format with its source map. If `sourceMapUrl` is `null`, source map generation is skipped. - - * BinaryWithSourceMap#**binary**: `Uint8Array` - * BinaryWithSourceMap#**sourceMap**: `string | null` - -* Module#**emitText**(): `string`
- Returns the module in Binaryen's s-expression text format (not official stack-style text format). - -* Module#**emitStackIR**(optimize?: `boolean`): `string`
- Returns the module in official stack-style text format. - -* Module#**emitAsmjs**(): `string`
- Returns the [asm.js](http://asmjs.org/) representation of the module. - -* Module#**dispose**(): `void`
- Releases the resources held by the module once it isn't needed anymore. - -### Expression construction - -#### [Control flow](http://webassembly.org/docs/semantics/#control-constructs-and-instructions) - -* Module#**block**(label: `string | null`, children: `ExpressionRef[]`, resultType?: `Type`): `ExpressionRef`
- Creates a block. `resultType` defaults to `none`. - -* Module#**if**(condition: `ExpressionRef`, ifTrue: `ExpressionRef`, ifFalse?: `ExpressionRef`): `ExpressionRef`
- Creates an if or if/else combination. - -* Module#**loop**(label: `string | null`, body: `ExpressionRef`): `ExpressionRef`
- Creates a loop. - -* Module#**br**(label: `string`, condition?: `ExpressionRef`, value?: `ExpressionRef`): `ExpressionRef`
- Creates a branch (br) to a label. - -* Module#**switch**(labels: `string[]`, defaultLabel: `string`, condition: `ExpressionRef`, value?: `ExpressionRef`): `ExpressionRef`
- Creates a switch (br_table). - -* Module#**nop**(): `ExpressionRef`
- Creates a no-operation (nop) instruction. - -* Module#**return**(value?: `ExpressionRef`): `ExpressionRef` - Creates a return. - -* Module#**unreachable**(): `ExpressionRef`
- Creates an [unreachable](http://webassembly.org/docs/semantics/#unreachable) instruction that will always trap. - -* Module#**drop**(value: `ExpressionRef`): `ExpressionRef`
- Creates a [drop](http://webassembly.org/docs/semantics/#type-parametric-operators) of a value. - -* Module#**select**(condition: `ExpressionRef`, ifTrue: `ExpressionRef`, ifFalse: `ExpressionRef`, type?: `Type`): `ExpressionRef`
- Creates a [select](http://webassembly.org/docs/semantics/#type-parametric-operators) of one of two values. - -#### [Variable accesses](http://webassembly.org/docs/semantics/#local-variables) - -* Module#**local.get**(index: `number`, type: `Type`): `ExpressionRef`
- Creates a local.get for the local at the specified index. Note that we must specify the type here as we may not have created the local being accessed yet. - -* Module#**local.set**(index: `number`, value: `ExpressionRef`): `ExpressionRef`
- Creates a local.set for the local at the specified index. - -* Module#**local.tee**(index: `number`, value: `ExpressionRef`, type: `Type`): `ExpressionRef`
- Creates a local.tee for the local at the specified index. A tee differs from a set in that the value remains on the stack. Note that we must specify the type here as we may not have created the local being accessed yet. - -* Module#**global.get**(name: `string`, type: `Type`): `ExpressionRef`
- Creates a global.get for the global with the specified name. Note that we must specify the type here as we may not have created the global being accessed yet. - -* Module#**global.set**(name: `string`, value: `ExpressionRef`): `ExpressionRef`
- Creates a global.set for the global with the specified name. - -#### [Integer operations](http://webassembly.org/docs/semantics/#32-bit-integer-operators) - -* Module#i32.**const**(value: `number`): `ExpressionRef` -* Module#i32.**clz**(value: `ExpressionRef`): `ExpressionRef` -* Module#i32.**ctz**(value: `ExpressionRef`): `ExpressionRef` -* Module#i32.**popcnt**(value: `ExpressionRef`): `ExpressionRef` -* Module#i32.**eqz**(value: `ExpressionRef`): `ExpressionRef` -* Module#i32.**add**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i32.**sub**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i32.**mul**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i32.**div_s**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i32.**div_u**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i32.**rem_s**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i32.**rem_u**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i32.**and**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i32.**or**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i32.**xor**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i32.**shl**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i32.**shr_u**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i32.**shr_s**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i32.**rotl**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i32.**rotr**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i32.**eq**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i32.**ne**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i32.**lt_s**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i32.**lt_u**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i32.**le_s**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i32.**le_u**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i32.**gt_s**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i32.**gt_u**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i32.**ge_s**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i32.**ge_u**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -> -* Module#i64.**const**(low: `number`, high: `number`): `ExpressionRef` -* Module#i64.**clz**(value: `ExpressionRef`): `ExpressionRef` -* Module#i64.**ctz**(value: `ExpressionRef`): `ExpressionRef` -* Module#i64.**popcnt**(value: `ExpressionRef`): `ExpressionRef` -* Module#i64.**eqz**(value: `ExpressionRef`): `ExpressionRef` -* Module#i64.**add**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i64.**sub**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i64.**mul**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i64.**div_s**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i64.**div_u**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i64.**rem_s**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i64.**rem_u**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i64.**and**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i64.**or**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i64.**xor**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i64.**shl**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i64.**shr_u**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i64.**shr_s**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i64.**rotl**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i64.**rotr**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i64.**eq**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i64.**ne**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i64.**lt_s**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i64.**lt_u**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i64.**le_s**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i64.**le_u**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i64.**gt_s**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i64.**gt_u**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i64.**ge_s**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i64.**ge_u**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` - -#### [Floating point operations](http://webassembly.org/docs/semantics/#floating-point-operators) - -* Module#f32.**const**(value: `number`): `ExpressionRef` -* Module#f32.**const_bits**(value: `number`): `ExpressionRef` -* Module#f32.**neg**(value: `ExpressionRef`): `ExpressionRef` -* Module#f32.**abs**(value: `ExpressionRef`): `ExpressionRef` -* Module#f32.**ceil**(value: `ExpressionRef`): `ExpressionRef` -* Module#f32.**floor**(value: `ExpressionRef`): `ExpressionRef` -* Module#f32.**trunc**(value: `ExpressionRef`): `ExpressionRef` -* Module#f32.**nearest**(value: `ExpressionRef`): `ExpressionRef` -* Module#f32.**sqrt**(value: `ExpressionRef`): `ExpressionRef` -* Module#f32.**add**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#f32.**sub**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#f32.**mul**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#f32.**div**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#f32.**copysign**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#f32.**min**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#f32.**max**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#f32.**eq**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#f32.**ne**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#f32.**lt**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#f32.**le**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#f32.**gt**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#f32.**ge**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -> -* Module#f64.**const**(value: `number`): `ExpressionRef` -* Module#f64.**const_bits**(value: `number`): `ExpressionRef` -* Module#f64.**neg**(value: `ExpressionRef`): `ExpressionRef` -* Module#f64.**abs**(value: `ExpressionRef`): `ExpressionRef` -* Module#f64.**ceil**(value: `ExpressionRef`): `ExpressionRef` -* Module#f64.**floor**(value: `ExpressionRef`): `ExpressionRef` -* Module#f64.**trunc**(value: `ExpressionRef`): `ExpressionRef` -* Module#f64.**nearest**(value: `ExpressionRef`): `ExpressionRef` -* Module#f64.**sqrt**(value: `ExpressionRef`): `ExpressionRef` -* Module#f64.**add**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#f64.**sub**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#f64.**mul**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#f64.**div**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#f64.**copysign**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#f64.**min**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#f64.**max**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#f64.**eq**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#f64.**ne**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#f64.**lt**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#f64.**le**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#f64.**gt**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#f64.**ge**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` - -#### [Datatype conversions](http://webassembly.org/docs/semantics/#datatype-conversions-truncations-reinterpretations-promotions-and-demotions) - -* Module#i32.**trunc_s.f32**(value: `ExpressionRef`): `ExpressionRef` -* Module#i32.**trunc_s.f64**(value: `ExpressionRef`): `ExpressionRef` -* Module#i32.**trunc_u.f32**(value: `ExpressionRef`): `ExpressionRef` -* Module#i32.**trunc_u.f64**(value: `ExpressionRef`): `ExpressionRef` -* Module#i32.**reinterpret**(value: `ExpressionRef`): `ExpressionRef` -* Module#i32.**wrap**(value: `ExpressionRef`): `ExpressionRef` -> -* Module#i64.**trunc_s.f32**(value: `ExpressionRef`): `ExpressionRef` -* Module#i64.**trunc_s.f64**(value: `ExpressionRef`): `ExpressionRef` -* Module#i64.**trunc_u.f32**(value: `ExpressionRef`): `ExpressionRef` -* Module#i64.**trunc_u.f64**(value: `ExpressionRef`): `ExpressionRef` -* Module#i64.**reinterpret**(value: `ExpressionRef`): `ExpressionRef` -* Module#i64.**extend_s**(value: `ExpressionRef`): `ExpressionRef` -* Module#i64.**extend_u**(value: `ExpressionRef`): `ExpressionRef` -> -* Module#f32.**reinterpret**(value: `ExpressionRef`): `ExpressionRef` -* Module#f32.**convert_s.i32**(value: `ExpressionRef`): `ExpressionRef` -* Module#f32.**convert_s.i64**(value: `ExpressionRef`): `ExpressionRef` -* Module#f32.**convert_u.i32**(value: `ExpressionRef`): `ExpressionRef` -* Module#f32.**convert_u.i64**(value: `ExpressionRef`): `ExpressionRef` -* Module#f32.**demote**(value: `ExpressionRef`): `ExpressionRef` -> -* Module#f64.**reinterpret**(value: `ExpressionRef`): `ExpressionRef` -* Module#f64.**convert_s.i32**(value: `ExpressionRef`): `ExpressionRef` -* Module#f64.**convert_s.i64**(value: `ExpressionRef`): `ExpressionRef` -* Module#f64.**convert_u.i32**(value: `ExpressionRef`): `ExpressionRef` -* Module#f64.**convert_u.i64**(value: `ExpressionRef`): `ExpressionRef` -* Module#f64.**promote**(value: `ExpressionRef`): `ExpressionRef` - -#### [Function calls](http://webassembly.org/docs/semantics/#calls) - -* Module#**call**(name: `string`, operands: `ExpressionRef[]`, returnType: `Type`): `ExpressionRef` -Creates a call to a function. Note that we must specify the return type here as we may not have created the function being called yet. - -* Module#**return_call**(name: `string`, operands: `ExpressionRef[]`, returnType: `Type`): `ExpressionRef`
- Like **call**, but creates a tail-call. 🦄 - -* Module#**call_indirect**(target: `ExpressionRef`, operands: `ExpressionRef[]`, params: `Type`, results: `Type`): `ExpressionRef`
- Similar to **call**, but calls indirectly, i.e., via a function pointer, so an expression replaces the name as the called value. - -* Module#**return_call_indirect**(target: `ExpressionRef`, operands: `ExpressionRef[]`, params: `Type`, results: `Type`): `ExpressionRef`
- Like **call_indirect**, but creates a tail-call. 🦄 - -#### [Linear memory accesses](http://webassembly.org/docs/semantics/#linear-memory-accesses) - -* Module#i32.**load**(offset: `number`, align: `number`, ptr: `ExpressionRef`): `ExpressionRef`
-* Module#i32.**load8_s**(offset: `number`, align: `number`, ptr: `ExpressionRef`): `ExpressionRef`
-* Module#i32.**load8_u**(offset: `number`, align: `number`, ptr: `ExpressionRef`): `ExpressionRef`
-* Module#i32.**load16_s**(offset: `number`, align: `number`, ptr: `ExpressionRef`): `ExpressionRef`
-* Module#i32.**load16_u**(offset: `number`, align: `number`, ptr: `ExpressionRef`): `ExpressionRef`
-* Module#i32.**store**(offset: `number`, align: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef`
-* Module#i32.**store8**(offset: `number`, align: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef`
-* Module#i32.**store16**(offset: `number`, align: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef`
-> -* Module#i64.**load**(offset: `number`, align: `number`, ptr: `ExpressionRef`): `ExpressionRef` -* Module#i64.**load8_s**(offset: `number`, align: `number`, ptr: `ExpressionRef`): `ExpressionRef` -* Module#i64.**load8_u**(offset: `number`, align: `number`, ptr: `ExpressionRef`): `ExpressionRef` -* Module#i64.**load16_s**(offset: `number`, align: `number`, ptr: `ExpressionRef`): `ExpressionRef` -* Module#i64.**load16_u**(offset: `number`, align: `number`, ptr: `ExpressionRef`): `ExpressionRef` -* Module#i64.**load32_s**(offset: `number`, align: `number`, ptr: `ExpressionRef`): `ExpressionRef` -* Module#i64.**load32_u**(offset: `number`, align: `number`, ptr: `ExpressionRef`): `ExpressionRef` -* Module#i64.**store**(offset: `number`, align: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` -* Module#i64.**store8**(offset: `number`, align: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` -* Module#i64.**store16**(offset: `number`, align: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` -* Module#i64.**store32**(offset: `number`, align: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` -> -* Module#f32.**load**(offset: `number`, align: `number`, ptr: `ExpressionRef`): `ExpressionRef` -* Module#f32.**store**(offset: `number`, align: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` -> -* Module#f64.**load**(offset: `number`, align: `number`, ptr: `ExpressionRef`): `ExpressionRef` -* Module#f64.**store**(offset: `number`, align: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` - -#### [Host operations](http://webassembly.org/docs/semantics/#resizing) - -* Module#**memory.size**(): `ExpressionRef` -* Module#**memory.grow**(value: `number`): `ExpressionRef` - -#### [Vector operations](https://github.com/WebAssembly/simd/blob/main/proposals/simd/SIMD.md) 🦄 - -* Module#v128.**const**(bytes: `Uint8Array`): `ExpressionRef` -* Module#v128.**load**(offset: `number`, align: `number`, ptr: `ExpressionRef`): `ExpressionRef` -* Module#v128.**store**(offset: `number`, align: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` -* Module#v128.**not**(value: `ExpressionRef`): `ExpressionRef` -* Module#v128.**and**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#v128.**or**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#v128.**xor**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#v128.**andnot**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#v128.**bitselect**(left: `ExpressionRef`, right: `ExpressionRef`, cond: `ExpressionRef`): `ExpressionRef` -> -* Module#i8x16.**splat**(value: `ExpressionRef`): `ExpressionRef` -* Module#i8x16.**extract_lane_s**(vec: `ExpressionRef`, index: `number`): `ExpressionRef` -* Module#i8x16.**extract_lane_u**(vec: `ExpressionRef`, index: `number`): `ExpressionRef` -* Module#i8x16.**replace_lane**(vec: `ExpressionRef`, index: `number`, value: `ExpressionRef`): `ExpressionRef` -* Module#i8x16.**eq**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i8x16.**ne**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i8x16.**lt_s**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i8x16.**lt_u**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i8x16.**gt_s**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i8x16.**gt_u**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i8x16.**le_s**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i8x16.**lt_u**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i8x16.**ge_s**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i8x16.**ge_u**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i8x16.**neg**(value: `ExpressionRef`): `ExpressionRef` -* Module#i8x16.**any_true**(value: `ExpressionRef`): `ExpressionRef` -* Module#i8x16.**all_true**(value: `ExpressionRef`): `ExpressionRef` -* Module#i8x16.**shl**(vec: `ExpressionRef`, shift: `ExpressionRef`): `ExpressionRef` -* Module#i8x16.**shr_s**(vec: `ExpressionRef`, shift: `ExpressionRef`): `ExpressionRef` -* Module#i8x16.**shr_u**(vec: `ExpressionRef`, shift: `ExpressionRef`): `ExpressionRef` -* Module#i8x16.**add**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i8x16.**add_saturate_s**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i8x16.**add_saturate_u**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i8x16.**sub**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i8x16.**sub_saturate_s**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i8x16.**sub_saturate_u**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i8x16.**mul**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i8x16.**min_s**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i8x16.**min_u**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i8x16.**max_s**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i8x16.**max_u**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i8x16.**avgr_u**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i8x16.**narrow_i16x8_s**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i8x16.**narrow_i16x8_u**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -> -* Module#i16x8.**splat**(value: `ExpressionRef`): `ExpressionRef` -* Module#i16x8.**extract_lane_s**(vec: `ExpressionRef`, index: `number`): `ExpressionRef` -* Module#i16x8.**extract_lane_u**(vec: `ExpressionRef`, index: `number`): `ExpressionRef` -* Module#i16x8.**replace_lane**(vec: `ExpressionRef`, index: `number`, value: `ExpressionRef`): `ExpressionRef` -* Module#i16x8.**eq**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i16x8.**ne**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i16x8.**lt_s**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i16x8.**lt_u**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i16x8.**gt_s**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i16x8.**gt_u**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i16x8.**le_s**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i16x8.**lt_u**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i16x8.**ge_s**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i16x8.**ge_u**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i16x8.**neg**(value: `ExpressionRef`): `ExpressionRef` -* Module#i16x8.**any_true**(value: `ExpressionRef`): `ExpressionRef` -* Module#i16x8.**all_true**(value: `ExpressionRef`): `ExpressionRef` -* Module#i16x8.**shl**(vec: `ExpressionRef`, shift: `ExpressionRef`): `ExpressionRef` -* Module#i16x8.**shr_s**(vec: `ExpressionRef`, shift: `ExpressionRef`): `ExpressionRef` -* Module#i16x8.**shr_u**(vec: `ExpressionRef`, shift: `ExpressionRef`): `ExpressionRef` -* Module#i16x8.**add**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i16x8.**add_saturate_s**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i16x8.**add_saturate_u**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i16x8.**sub**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i16x8.**sub_saturate_s**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i16x8.**sub_saturate_u**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i16x8.**mul**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i16x8.**min_s**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i16x8.**min_u**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i16x8.**max_s**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i16x8.**max_u**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i16x8.**avgr_u**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i16x8.**narrow_i32x4_s**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i16x8.**narrow_i32x4_u**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i16x8.**widen_low_i8x16_s**(value: `ExpressionRef`): `ExpressionRef` -* Module#i16x8.**widen_high_i8x16_s**(value: `ExpressionRef`): `ExpressionRef` -* Module#i16x8.**widen_low_i8x16_u**(value: `ExpressionRef`): `ExpressionRef` -* Module#i16x8.**widen_high_i8x16_u**(value: `ExpressionRef`): `ExpressionRef` -* Module#i16x8.**load8x8_s**(offset: `number`, align: `number`, ptr: `ExpressionRef`): `ExpressionRef` -* Module#i16x8.**load8x8_u**(offset: `number`, align: `number`, ptr: `ExpressionRef`): `ExpressionRef` -> -* Module#i32x4.**splat**(value: `ExpressionRef`): `ExpressionRef` -* Module#i32x4.**extract_lane_s**(vec: `ExpressionRef`, index: `number`): `ExpressionRef` -* Module#i32x4.**extract_lane_u**(vec: `ExpressionRef`, index: `number`): `ExpressionRef` -* Module#i32x4.**replace_lane**(vec: `ExpressionRef`, index: `number`, value: `ExpressionRef`): `ExpressionRef` -* Module#i32x4.**eq**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i32x4.**ne**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i32x4.**lt_s**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i32x4.**lt_u**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i32x4.**gt_s**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i32x4.**gt_u**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i32x4.**le_s**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i32x4.**lt_u**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i32x4.**ge_s**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i32x4.**ge_u**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i32x4.**neg**(value: `ExpressionRef`): `ExpressionRef` -* Module#i32x4.**any_true**(value: `ExpressionRef`): `ExpressionRef` -* Module#i32x4.**all_true**(value: `ExpressionRef`): `ExpressionRef` -* Module#i32x4.**shl**(vec: `ExpressionRef`, shift: `ExpressionRef`): `ExpressionRef` -* Module#i32x4.**shr_s**(vec: `ExpressionRef`, shift: `ExpressionRef`): `ExpressionRef` -* Module#i32x4.**shr_u**(vec: `ExpressionRef`, shift: `ExpressionRef`): `ExpressionRef` -* Module#i32x4.**add**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i32x4.**sub**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i32x4.**mul**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i32x4.**min_s**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i32x4.**min_u**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i32x4.**max_s**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i32x4.**max_u**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i32x4.**dot_i16x8_s**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i32x4.**trunc_sat_f32x4_s**(value: `ExpressionRef`): `ExpressionRef` -* Module#i32x4.**trunc_sat_f32x4_u**(value: `ExpressionRef`): `ExpressionRef` -* Module#i32x4.**widen_low_i16x8_s**(value: `ExpressionRef`): `ExpressionRef` -* Module#i32x4.**widen_high_i16x8_s**(value: `ExpressionRef`): `ExpressionRef` -* Module#i32x4.**widen_low_i16x8_u**(value: `ExpressionRef`): `ExpressionRef` -* Module#i32x4.**widen_high_i16x8_u**(value: `ExpressionRef`): `ExpressionRef` -* Module#i32x4.**load16x4_s**(offset: `number`, align: `number`, ptr: `ExpressionRef`): `ExpressionRef` -* Module#i32x4.**load16x4_u**(offset: `number`, align: `number`, ptr: `ExpressionRef`): `ExpressionRef` -> -* Module#i64x2.**splat**(value: `ExpressionRef`): `ExpressionRef` -* Module#i64x2.**extract_lane_s**(vec: `ExpressionRef`, index: `number`): `ExpressionRef` -* Module#i64x2.**extract_lane_u**(vec: `ExpressionRef`, index: `number`): `ExpressionRef` -* Module#i64x2.**replace_lane**(vec: `ExpressionRef`, index: `number`, value: `ExpressionRef`): `ExpressionRef` -* Module#i64x2.**neg**(value: `ExpressionRef`): `ExpressionRef` -* Module#i64x2.**any_true**(value: `ExpressionRef`): `ExpressionRef` -* Module#i64x2.**all_true**(value: `ExpressionRef`): `ExpressionRef` -* Module#i64x2.**shl**(vec: `ExpressionRef`, shift: `ExpressionRef`): `ExpressionRef` -* Module#i64x2.**shr_s**(vec: `ExpressionRef`, shift: `ExpressionRef`): `ExpressionRef` -* Module#i64x2.**shr_u**(vec: `ExpressionRef`, shift: `ExpressionRef`): `ExpressionRef` -* Module#i64x2.**add**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i64x2.**sub**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#i64x2.**trunc_sat_f64x2_s**(value: `ExpressionRef`): `ExpressionRef` -* Module#i64x2.**trunc_sat_f64x2_u**(value: `ExpressionRef`): `ExpressionRef` -* Module#i64x2.**load32x2_s**(offset: `number`, align: `number`, ptr: `ExpressionRef`): `ExpressionRef` -* Module#i64x2.**load32x2_u**(offset: `number`, align: `number`, ptr: `ExpressionRef`): `ExpressionRef` -> -* Module#f32x4.**splat**(value: `ExpressionRef`): `ExpressionRef` -* Module#f32x4.**extract_lane**(vec: `ExpressionRef`, index: `number`): `ExpressionRef` -* Module#f32x4.**replace_lane**(vec: `ExpressionRef`, index: `number`, value: `ExpressionRef`): `ExpressionRef` -* Module#f32x4.**eq**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#f32x4.**ne**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#f32x4.**lt**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#f32x4.**gt**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#f32x4.**le**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#f32x4.**ge**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#f32x4.**abs**(value: `ExpressionRef`): `ExpressionRef` -* Module#f32x4.**neg**(value: `ExpressionRef`): `ExpressionRef` -* Module#f32x4.**sqrt**(value: `ExpressionRef`): `ExpressionRef` -* Module#f32x4.**qfma**(a: `ExpressionRef`, b: `ExpressionRef`, c: `ExpressionRef`): `ExpressionRef` -* Module#f32x4.**qfms**(a: `ExpressionRef`, b: `ExpressionRef`, c: `ExpressionRef`): `ExpressionRef` -* Module#f32x4.**add**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#f32x4.**sub**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#f32x4.**mul**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#f32x4.**div**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#f32x4.**min**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#f32x4.**max**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#f32x4.**convert_i32x4_s**(value: `ExpressionRef`): `ExpressionRef` -* Module#f32x4.**convert_i32x4_u**(value: `ExpressionRef`): `ExpressionRef` -> -* Module#f64x2.**splat**(value: `ExpressionRef`): `ExpressionRef` -* Module#f64x2.**extract_lane**(vec: `ExpressionRef`, index: `number`): `ExpressionRef` -* Module#f64x2.**replace_lane**(vec: `ExpressionRef`, index: `number`, value: `ExpressionRef`): `ExpressionRef` -* Module#f64x2.**eq**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#f64x2.**ne**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#f64x2.**lt**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#f64x2.**gt**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#f64x2.**le**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#f64x2.**ge**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#f64x2.**abs**(value: `ExpressionRef`): `ExpressionRef` -* Module#f64x2.**neg**(value: `ExpressionRef`): `ExpressionRef` -* Module#f64x2.**sqrt**(value: `ExpressionRef`): `ExpressionRef` -* Module#f64x2.**qfma**(a: `ExpressionRef`, b: `ExpressionRef`, c: `ExpressionRef`): `ExpressionRef` -* Module#f64x2.**qfms**(a: `ExpressionRef`, b: `ExpressionRef`, c: `ExpressionRef`): `ExpressionRef` -* Module#f64x2.**add**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#f64x2.**sub**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#f64x2.**mul**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#f64x2.**div**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#f64x2.**min**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#f64x2.**max**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#f64x2.**convert_i64x2_s**(value: `ExpressionRef`): `ExpressionRef` -* Module#f64x2.**convert_i64x2_u**(value: `ExpressionRef`): `ExpressionRef` -> -* Module#v8x16.**shuffle**(left: `ExpressionRef`, right: `ExpressionRef`, mask: `Uint8Array`): `ExpressionRef` -* Module#v8x16.**swizzle**(left: `ExpressionRef`, right: `ExpressionRef`): `ExpressionRef` -* Module#v8x16.**load_splat**(offset: `number`, align: `number`, ptr: `ExpressionRef`): `ExpressionRef` -> -* Module#v16x8.**load_splat**(offset: `number`, align: `number`, ptr: `ExpressionRef`): `ExpressionRef` -> -* Module#v32x4.**load_splat**(offset: `number`, align: `number`, ptr: `ExpressionRef`): `ExpressionRef` -> -* Module#v64x2.**load_splat**(offset: `number`, align: `number`, ptr: `ExpressionRef`): `ExpressionRef` - -#### [Atomic memory accesses](https://github.com/WebAssembly/threads/blob/master/proposals/threads/Overview.md#atomic-memory-accesses) 🦄 - -* Module#i32.**atomic.load**(offset: `number`, ptr: `ExpressionRef`): `ExpressionRef` -* Module#i32.**atomic.load8_u**(offset: `number`, ptr: `ExpressionRef`): `ExpressionRef` -* Module#i32.**atomic.load16_u**(offset: `number`, ptr: `ExpressionRef`): `ExpressionRef` -* Module#i32.**atomic.store**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` -* Module#i32.**atomic.store8**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` -* Module#i32.**atomic.store16**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` -> -* Module#i64.**atomic.load**(offset: `number`, ptr: `ExpressionRef`): `ExpressionRef` -* Module#i64.**atomic.load8_u**(offset: `number`, ptr: `ExpressionRef`): `ExpressionRef` -* Module#i64.**atomic.load16_u**(offset: `number`, ptr: `ExpressionRef`): `ExpressionRef` -* Module#i64.**atomic.load32_u**(offset: `number`, ptr: `ExpressionRef`): `ExpressionRef` -* Module#i64.**atomic.store**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` -* Module#i64.**atomic.store8**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` -* Module#i64.**atomic.store16**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` -* Module#i64.**atomic.store32**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` - -#### [Atomic read-modify-write operations](https://github.com/WebAssembly/threads/blob/master/proposals/threads/Overview.md#read-modify-write) 🦄 - -* Module#i32.**atomic.rmw.add**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` -* Module#i32.**atomic.rmw.sub**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` -* Module#i32.**atomic.rmw.and**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` -* Module#i32.**atomic.rmw.or**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` -* Module#i32.**atomic.rmw.xor**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` -* Module#i32.**atomic.rmw.xchg**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` -* Module#i32.**atomic.rmw.cmpxchg**(offset: `number`, ptr: `ExpressionRef`, expected: `ExpressionRef`, replacement: `ExpressionRef`): `ExpressionRef` -* Module#i32.**atomic.rmw8_u.add**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` -* Module#i32.**atomic.rmw8_u.sub**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` -* Module#i32.**atomic.rmw8_u.and**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` -* Module#i32.**atomic.rmw8_u.or**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` -* Module#i32.**atomic.rmw8_u.xor**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` -* Module#i32.**atomic.rmw8_u.xchg**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` -* Module#i32.**atomic.rmw8_u.cmpxchg**(offset: `number`, ptr: `ExpressionRef`, expected: `ExpressionRef`, replacement: `ExpressionRef`): `ExpressionRef` -* Module#i32.**atomic.rmw16_u.add**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` -* Module#i32.**atomic.rmw16_u.sub**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` -* Module#i32.**atomic.rmw16_u.and**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` -* Module#i32.**atomic.rmw16_u.or**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` -* Module#i32.**atomic.rmw16_u.xor**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` -* Module#i32.**atomic.rmw16_u.xchg**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` -* Module#i32.**atomic.rmw16_u.cmpxchg**(offset: `number`, ptr: `ExpressionRef`, expected: `ExpressionRef`, replacement: `ExpressionRef`): `ExpressionRef` -> -* Module#i64.**atomic.rmw.add**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` -* Module#i64.**atomic.rmw.sub**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` -* Module#i64.**atomic.rmw.and**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` -* Module#i64.**atomic.rmw.or**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` -* Module#i64.**atomic.rmw.xor**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` -* Module#i64.**atomic.rmw.xchg**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` -* Module#i64.**atomic.rmw.cmpxchg**(offset: `number`, ptr: `ExpressionRef`, expected: `ExpressionRef`, replacement: `ExpressionRef`): `ExpressionRef` -* Module#i64.**atomic.rmw8_u.add**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` -* Module#i64.**atomic.rmw8_u.sub**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` -* Module#i64.**atomic.rmw8_u.and**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` -* Module#i64.**atomic.rmw8_u.or**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` -* Module#i64.**atomic.rmw8_u.xor**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` -* Module#i64.**atomic.rmw8_u.xchg**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` -* Module#i64.**atomic.rmw8_u.cmpxchg**(offset: `number`, ptr: `ExpressionRef`, expected: `ExpressionRef`, replacement: `ExpressionRef`): `ExpressionRef` -* Module#i64.**atomic.rmw16_u.add**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` -* Module#i64.**atomic.rmw16_u.sub**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` -* Module#i64.**atomic.rmw16_u.and**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` -* Module#i64.**atomic.rmw16_u.or**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` -* Module#i64.**atomic.rmw16_u.xor**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` -* Module#i64.**atomic.rmw16_u.xchg**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` -* Module#i64.**atomic.rmw16_u.cmpxchg**(offset: `number`, ptr: `ExpressionRef`, expected: `ExpressionRef`, replacement: `ExpressionRef`): `ExpressionRef` -* Module#i64.**atomic.rmw32_u.add**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` -* Module#i64.**atomic.rmw32_u.sub**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` -* Module#i64.**atomic.rmw32_u.and**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` -* Module#i64.**atomic.rmw32_u.or**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` -* Module#i64.**atomic.rmw32_u.xor**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` -* Module#i64.**atomic.rmw32_u.xchg**(offset: `number`, ptr: `ExpressionRef`, value: `ExpressionRef`): `ExpressionRef` -* Module#i64.**atomic.rmw32_u.cmpxchg**(offset: `number`, ptr: `ExpressionRef`, expected: `ExpressionRef`, replacement: `ExpressionRef`): `ExpressionRef` - -#### [Atomic wait and notify operations](https://github.com/WebAssembly/threads/blob/master/proposals/threads/Overview.md#wait-and-notify-operators) 🦄 - -* Module#memory.**atomic.wait32**(ptr: `ExpressionRef`, expected: `ExpressionRef`, timeout: `ExpressionRef`): `ExpressionRef` -* Module#memory.**atomic.wait64**(ptr: `ExpressionRef`, expected: `ExpressionRef`, timeout: `ExpressionRef`): `ExpressionRef` -* Module#memory**atomic.notify**(ptr: `ExpressionRef`, notifyCount: `ExpressionRef`): `ExpressionRef` -* Module#**atomic.fence**(): `ExpressionRef` - -#### [Sign extension operations](https://github.com/WebAssembly/sign-extension-ops/blob/master/proposals/sign-extension-ops/Overview.md) 🦄 - -* Module#i32.**extend8_s**(value: `ExpressionRef`): `ExpressionRef` -* Module#i32.**extend16_s**(value: `ExpressionRef`): `ExpressionRef` -> -* Module#i64.**extend8_s**(value: `ExpressionRef`): `ExpressionRef` -* Module#i64.**extend16_s**(value: `ExpressionRef`): `ExpressionRef` -* Module#i64.**extend32_s**(value: `ExpressionRef`): `ExpressionRef` - -#### [Multi-value operations](https://github.com/WebAssembly/multi-value/blob/master/proposals/multi-value/Overview.md) 🦄 - -Note that these are pseudo instructions enabling Binaryen to reason about multiple values on the stack. - -* Module#**push**(value: `ExpressionRef`): `ExpressionRef` -* Module#i32.**pop**(): `ExpressionRef` -* Module#i64.**pop**(): `ExpressionRef` -* Module#f32.**pop**(): `ExpressionRef` -* Module#f64.**pop**(): `ExpressionRef` -* Module#v128.**pop**(): `ExpressionRef` -* Module#funcref.**pop**(): `ExpressionRef` -* Module#anyref.**pop**(): `ExpressionRef` -* Module#externref.**pop**(): `ExpressionRef` -* Module#tuple.**make**(elements: `ExpressionRef[]`): `ExpressionRef` -* Module#tuple.**extract**(tuple: `ExpressionRef`, index: `number`): `ExpressionRef` - -#### [Exception handling operations](https://github.com/WebAssembly/exception-handling/blob/master/proposals/Exceptions.md) 🦄 - -* Module#**try**(name: `string`, body: `ExpressionRef`, catchTags: `string[]`, catchBodies: `ExpressionRef[]`, delegateTarget?: `string`): `ExpressionRef` -* Module#**throw**(tag: `string`, operands: `ExpressionRef[]`): `ExpressionRef` -* Module#**rethrow**(target: `string`): `ExpressionRef` -> -* Module#**addTag**(name: `string`, params: `Type`, results: `Type`): `TagRef` -* Module#**getTag**(name: `string`): `TagRef` -* Module#**removeTag**(name: `stirng`): `void` -* Module#**addTagImport**(internalName: `string`, externalModuleName: `string`, externalBaseName: `string`, params: `Type`, results: `Type`): `void` -* Module#**addTagExport**(internalName: `string`, externalName: `string`): `ExportRef` - -#### [Reference types operations](https://github.com/WebAssembly/reference-types/blob/master/proposals/reference-types/Overview.md) 🦄 - -* Module#ref.**null**(): `ExpressionRef` -* Module#ref.**is_null**(value: `ExpressionRef`): `ExpressionRef` -* Module#ref.**func**(name: `string`): `ExpressionRef` - -#### [Bulk memory operations](https://github.com/WebAssembly/bulk-memory-operations/blob/master/proposals/bulk-memory-operations/Overview.md) 🦄 - -* Module#memory.**init**(segment: `number`, dest: `ExpressionRef`, offset: `ExpressionRef`, size: `ExpressionRef`): `ExpressionRef` -* Module#memory.**copy**(dest: `ExpressionRef`, source: `ExpressionRef`, size: `ExpressionRef`): `ExpressionRef` -* Module#memory.**fill**(dest: `ExpressionRef`, value: `ExpressionRef`, size: `ExpressionRef`): `ExpressionRef` - -### Expression manipulation - -* **getExpressionId**(expr: `ExpressionRef`): `ExpressionId`
- Gets the id (kind) of the specified expression. Possible values are: - - * **InvalidId**: `ExpressionId` - * **BlockId**: `ExpressionId` - * **IfId**: `ExpressionId` - * **LoopId**: `ExpressionId` - * **BreakId**: `ExpressionId` - * **SwitchId**: `ExpressionId` - * **CallId**: `ExpressionId` - * **CallIndirectId**: `ExpressionId` - * **LocalGetId**: `ExpressionId` - * **LocalSetId**: `ExpressionId` - * **GlobalGetId**: `ExpressionId` - * **GlobalSetId**: `ExpressionId` - * **LoadId**: `ExpressionId` - * **StoreId**: `ExpressionId` - * **ConstId**: `ExpressionId` - * **UnaryId**: `ExpressionId` - * **BinaryId**: `ExpressionId` - * **SelectId**: `ExpressionId` - * **DropId**: `ExpressionId` - * **ReturnId**: `ExpressionId` - * **NopId**: `ExpressionId` - * **UnreachableId**: `ExpressionId` - * **AtomicCmpxchgId**: `ExpressionId` - * **AtomicRMWId**: `ExpressionId` - * **AtomicWaitId**: `ExpressionId` - * **AtomicNotifyId**: `ExpressionId` - * **AtomicFenceId**: `ExpressionId` - * **SIMDExtractId**: `ExpressionId` - * **SIMDReplaceId**: `ExpressionId` - * **SIMDShuffleId**: `ExpressionId` - * **SIMDTernaryId**: `ExpressionId` - * **SIMDShiftId**: `ExpressionId` - * **SIMDLoadId**: `ExpressionId` - * **MemoryInitId**: `ExpressionId` - * **DataDropId**: `ExpressionId` - * **MemoryCopyId**: `ExpressionId` - * **MemoryFillId**: `ExpressionId` - * **RefNullId**: `ExpressionId` - * **RefIsNullId**: `ExpressionId` - * **RefFuncId**: `ExpressionId` - * **TryId**: `ExpressionId` - * **ThrowId**: `ExpressionId` - * **RethrowId**: `ExpressionId` - * **PushId**: `ExpressionId` - * **PopId**: `ExpressionId` - -* **getExpressionType**(expr: `ExpressionRef`): `Type`
- Gets the type of the specified expression. - -* **getExpressionInfo**(expr: `ExpressionRef`): `ExpressionInfo`
- Obtains information about an expression, always including: - - * Info#**id**: `ExpressionId` - * Info#**type**: `Type` - - Additional properties depend on the expression's `id` and are usually equivalent to the respective parameters when creating such an expression: - - * BlockInfo#**name**: `string` - * BlockInfo#**children**: `ExpressionRef[]` - > - * IfInfo#**condition**: `ExpressionRef` - * IfInfo#**ifTrue**: `ExpressionRef` - * IfInfo#**ifFalse**: `ExpressionRef | null` - > - * LoopInfo#**name**: `string` - * LoopInfo#**body**: `ExpressionRef` - > - * BreakInfo#**name**: `string` - * BreakInfo#**condition**: `ExpressionRef | null` - * BreakInfo#**value**: `ExpressionRef | null` - > - * SwitchInfo#**names**: `string[]` - * SwitchInfo#**defaultName**: `string | null` - * SwitchInfo#**condition**: `ExpressionRef` - * SwitchInfo#**value**: `ExpressionRef | null` - > - * CallInfo#**target**: `string` - * CallInfo#**operands**: `ExpressionRef[]` - > - * CallImportInfo#**target**: `string` - * CallImportInfo#**operands**: `ExpressionRef[]` - > - * CallIndirectInfo#**target**: `ExpressionRef` - * CallIndirectInfo#**operands**: `ExpressionRef[]` - > - * LocalGetInfo#**index**: `number` - > - * LocalSetInfo#**isTee**: `boolean` - * LocalSetInfo#**index**: `number` - * LocalSetInfo#**value**: `ExpressionRef` - > - * GlobalGetInfo#**name**: `string` - > - * GlobalSetInfo#**name**: `string` - * GlobalSetInfo#**value**: `ExpressionRef` - > - * LoadInfo#**isAtomic**: `boolean` - * LoadInfo#**isSigned**: `boolean` - * LoadInfo#**offset**: `number` - * LoadInfo#**bytes**: `number` - * LoadInfo#**align**: `number` - * LoadInfo#**ptr**: `ExpressionRef` - > - * StoreInfo#**isAtomic**: `boolean` - * StoreInfo#**offset**: `number` - * StoreInfo#**bytes**: `number` - * StoreInfo#**align**: `number` - * StoreInfo#**ptr**: `ExpressionRef` - * StoreInfo#**value**: `ExpressionRef` - > - * ConstInfo#**value**: `number | { low: number, high: number }` - > - * UnaryInfo#**op**: `number` - * UnaryInfo#**value**: `ExpressionRef` - > - * BinaryInfo#**op**: `number` - * BinaryInfo#**left**: `ExpressionRef` - * BinaryInfo#**right**: `ExpressionRef` - > - * SelectInfo#**ifTrue**: `ExpressionRef` - * SelectInfo#**ifFalse**: `ExpressionRef` - * SelectInfo#**condition**: `ExpressionRef` - > - * DropInfo#**value**: `ExpressionRef` - > - * ReturnInfo#**value**: `ExpressionRef | null` - > - * NopInfo - > - * UnreachableInfo - > - * PopInfo - > - * MemorySizeInfo - > - * MemoryGrowInfo#**delta**: `ExpressionRef` - > - * AtomicRMWInfo#**op**: `number` - * AtomicRMWInfo#**bytes**: `number` - * AtomicRMWInfo#**offset**: `number` - * AtomicRMWInfo#**ptr**: `ExpressionRef` - * AtomicRMWInfo#**value**: `ExpressionRef` - > - * AtomicCmpxchgInfo#**bytes**: `number` - * AtomicCmpxchgInfo#**offset**: `number` - * AtomicCmpxchgInfo#**ptr**: `ExpressionRef` - * AtomicCmpxchgInfo#**expected**: `ExpressionRef` - * AtomicCmpxchgInfo#**replacement**: `ExpressionRef` - > - * AtomicWaitInfo#**ptr**: `ExpressionRef` - * AtomicWaitInfo#**expected**: `ExpressionRef` - * AtomicWaitInfo#**timeout**: `ExpressionRef` - * AtomicWaitInfo#**expectedType**: `Type` - > - * AtomicNotifyInfo#**ptr**: `ExpressionRef` - * AtomicNotifyInfo#**notifyCount**: `ExpressionRef` - > - * AtomicFenceInfo - > - * SIMDExtractInfo#**op**: `Op` - * SIMDExtractInfo#**vec**: `ExpressionRef` - * SIMDExtractInfo#**index**: `ExpressionRef` - > - * SIMDReplaceInfo#**op**: `Op` - * SIMDReplaceInfo#**vec**: `ExpressionRef` - * SIMDReplaceInfo#**index**: `ExpressionRef` - * SIMDReplaceInfo#**value**: `ExpressionRef` - > - * SIMDShuffleInfo#**left**: `ExpressionRef` - * SIMDShuffleInfo#**right**: `ExpressionRef` - * SIMDShuffleInfo#**mask**: `Uint8Array` - > - * SIMDTernaryInfo#**op**: `Op` - * SIMDTernaryInfo#**a**: `ExpressionRef` - * SIMDTernaryInfo#**b**: `ExpressionRef` - * SIMDTernaryInfo#**c**: `ExpressionRef` - > - * SIMDShiftInfo#**op**: `Op` - * SIMDShiftInfo#**vec**: `ExpressionRef` - * SIMDShiftInfo#**shift**: `ExpressionRef` - > - * SIMDLoadInfo#**op**: `Op` - * SIMDLoadInfo#**offset**: `number` - * SIMDLoadInfo#**align**: `number` - * SIMDLoadInfo#**ptr**: `ExpressionRef` - > - * MemoryInitInfo#**segment**: `number` - * MemoryInitInfo#**dest**: `ExpressionRef` - * MemoryInitInfo#**offset**: `ExpressionRef` - * MemoryInitInfo#**size**: `ExpressionRef` - > - * MemoryDropInfo#**segment**: `number` - > - * MemoryCopyInfo#**dest**: `ExpressionRef` - * MemoryCopyInfo#**source**: `ExpressionRef` - * MemoryCopyInfo#**size**: `ExpressionRef` - > - * MemoryFillInfo#**dest**: `ExpressionRef` - * MemoryFillInfo#**value**: `ExpressionRef` - * MemoryFillInfo#**size**: `ExpressionRef` - > - * RefNullInfo - > - * RefIsInfo#**op**: `Operations` - * RefIsInfo#**value**: `ExpressionRef` - > - * RefAsInfo#**op**: `Operations` - * RefAsInfo#**value**: `ExpressionRef` - > - * RefFuncInfo#**func**: `string` - > - * RefEqInfo#**left**: `ExpressionRef` - * RefEqInfo#**right**: `ExpressionRef` - > - * TryInfo#**name**: `string` - * TryInfo#**body**: `ExpressionRef` - * TryInfo#**catchBodies**: `ExpressionRef[]` - * TryInfo#**ccatchBodies**: `ExpressionRef[]`; - * TryInfo#**chasCatchAll**: `boolean`; - * TryInfo#**cdelegateTarget**: `string`; - * TryInfo#**cisDelegate**: `boolean`; - > - * ThrowInfo#**tag**: `string` - * ThrowInfo#**operands**: `ExpressionRef[]` - > - * RethrowInfo#**target**: `string` - > - * TupleMakeInfo#**operands**: `ExpressionRef[]` - > - * TupleExtract#**tuple**: `ExpressionRef` - * TupleExtract#**index**: `number` - > - * I31NewInfo#**value**: `ExpressionRef` - > - * I31GetInfo#**i31**: `ExpressionRef` - * I31GetInfo#**isSigned**: `boolean` - > - * PushInfo#**value**: `ExpressionRef` - -* **emitText**(expression: `ExpressionRef`): `string`
- Emits the expression in Binaryen's s-expression text format (not official stack-style text format). - -* **copyExpression**(expression: `ExpressionRef`): `ExpressionRef`
- Creates a deep copy of an expression. - -### Relooper - -* new **Relooper**()
- Constructs a relooper instance. This lets you provide an arbitrary CFG, and the relooper will structure it for WebAssembly. - -* Relooper#**addBlock**(code: `ExpressionRef`): `RelooperBlockRef`
- Adds a new block to the CFG, containing the provided code as its body. - -* Relooper#**addBranch**(from: `RelooperBlockRef`, to: `RelooperBlockRef`, condition: `ExpressionRef`, code: `ExpressionRef`): `void`
- Adds a branch from a block to another block, with a condition (or nothing, if this is the default branch to take from the origin - each block must have one such branch), and optional code to execute on the branch (useful for phis). - -* Relooper#**addBlockWithSwitch**(code: `ExpressionRef`, condition: `ExpressionRef`): `RelooperBlockRef`
- Adds a new block, which ends with a switch/br_table, with provided code and condition (that determines where we go in the switch). - -* Relooper#**addBranchForSwitch**(from: `RelooperBlockRef`, to: `RelooperBlockRef`, indexes: `number[]`, code: `ExpressionRef`): `void`
- Adds a branch from a block ending in a switch, to another block, using an array of indexes that determine where to go, and optional code to execute on the branch. - -* Relooper#**renderAndDispose**(entry: `RelooperBlockRef`, labelHelper: `number`, module: `Module`): `ExpressionRef`
- Renders and cleans up the Relooper instance. Call this after you have created all the blocks and branches, giving it the entry block (where control flow begins), a label helper variable (an index of a local we can use, necessary for irreducible control flow), and the module. This returns an expression - normal WebAssembly code - that you can use normally anywhere. - -### Source maps - -* Module#**addDebugInfoFileName**(filename: `string`): `number`
- Adds a debug info file name to the module and returns its index. - -* Module#**getDebugInfoFileName**(index: `number`): `string | null`
- Gets the name of the debug info file at the specified index. - -* Module#**setDebugLocation**(func: `FunctionRef`, expr: `ExpressionRef`, fileIndex: `number`, lineNumber: `number`, columnNumber: `number`): `void`
- Sets the debug location of the specified `ExpressionRef` within the specified `FunctionRef`. - -### Debugging - -* Module#**interpret**(): `void`
- Runs the module in the interpreter, calling the start function. diff --git a/platforms/Arduino/node_modules/binaryen/index.d.ts b/platforms/Arduino/node_modules/binaryen/index.d.ts deleted file mode 100644 index 475771d2..00000000 --- a/platforms/Arduino/node_modules/binaryen/index.d.ts +++ /dev/null @@ -1,2169 +0,0 @@ -declare module binaryen { - - type Type = number; - - const none: Type; - const i32: Type; - const i64: Type; - const f32: Type; - const f64: Type; - const v128: Type; - const funcref: Type; - const externref: Type; - const anyref: Type; - const eqref: Type; - const i31ref: Type; - const dataref: Type; - const stringref: Type; - const stringview_wtf8: Type; - const stringview_wtf16: Type; - const stringview_iter: Type; - const unreachable: Type; - const auto: Type; - - function createType(types: Type[]): Type; - function expandType(type: Type): Type[]; - - const enum ExpressionIds { - Invalid, - Block, - If, - Loop, - Break, - Switch, - Call, - CallIndirect, - LocalGet, - LocalSet, - GlobalGet, - GlobalSet, - Load, - Store, - Const, - Unary, - Binary, - Select, - Drop, - Return, - MemorySize, - MemoryGrow, - Nop, - Unreachable, - AtomicCmpxchg, - AtomicRMW, - AtomicWait, - AtomicNotify, - AtomicFence, - SIMDExtract, - SIMDReplace, - SIMDShuffle, - SIMDTernary, - SIMDShift, - SIMDLoad, - MemoryInit, - DataDrop, - MemoryCopy, - MemoryFill, - RefNull, - RefIsNull, - RefFunc, - RefEq, - Try, - Throw, - Rethrow, - TupleMake, - TupleExtract, - Pop, - I31New, - I31Get, - CallRef, - RefTest, - RefCast, - BrOnCast, - RttCanon, - RttSub, - StructNew, - StructGet, - StructSet, - ArrayNew, - ArrayGet, - ArraySet, - ArrayLen - } - - const InvalidId: ExpressionIds; - const BlockId: ExpressionIds; - const IfId: ExpressionIds; - const LoopId: ExpressionIds; - const BreakId: ExpressionIds; - const SwitchId: ExpressionIds; - const CallId: ExpressionIds; - const CallIndirectId: ExpressionIds; - const LocalGetId: ExpressionIds; - const LocalSetId: ExpressionIds; - const GlobalGetId: ExpressionIds; - const GlobalSetId: ExpressionIds; - const TableGetId: ExpressionIds; - const TableSetId: ExpressionIds; - const TableSizeId: ExpressionIds; - const TableGrowId: ExpressionIds; - const LoadId: ExpressionIds; - const StoreId: ExpressionIds; - const ConstId: ExpressionIds; - const UnaryId: ExpressionIds; - const BinaryId: ExpressionIds; - const SelectId: ExpressionIds; - const DropId: ExpressionIds; - const ReturnId: ExpressionIds; - const NopId: ExpressionIds; - const UnreachableId: ExpressionIds; - const PopId: ExpressionIds; - const MemorySizeId: ExpressionIds; - const MemoryGrowId: ExpressionIds; - const AtomicRMWId: ExpressionIds; - const AtomicCmpxchgId: ExpressionIds; - const AtomicWaitId: ExpressionIds; - const AtomicNotifyId: ExpressionIds; - const AtomicFenceId: ExpressionIds; - const SIMDExtractId: ExpressionIds; - const SIMDReplaceId: ExpressionIds; - const SIMDShuffleId: ExpressionIds; - const SIMDTernaryId: ExpressionIds; - const SIMDShiftId: ExpressionIds; - const SIMDLoadId: ExpressionIds; - const SIMDLoadStoreLaneId: ExpressionIds; - const MemoryInitId: ExpressionIds; - const DataDropId: ExpressionIds; - const MemoryCopyId: ExpressionIds; - const MemoryFillId: ExpressionIds; - const RefNullId: ExpressionIds; - const RefIsId: ExpressionIds; - const RefAsId: ExpressionIds; - const RefFuncId: ExpressionIds; - const RefEqId: ExpressionIds; - const TryId: ExpressionIds; - const ThrowId: ExpressionIds; - const RethrowId: ExpressionIds; - const TupleMakeId: ExpressionIds; - const TupleExtractId: ExpressionIds; - const I31NewId: ExpressionIds; - const I31GetId: ExpressionIds; - const CallRefId: ExpressionIds; - const RefTestId: ExpressionIds; - const RefCastId: ExpressionIds; - const BrOnCastId: ExpressionIds; - const RttCanonId: ExpressionIds; - const RttSubId: ExpressionIds; - const StructNewId: ExpressionIds; - const StructGetId: ExpressionIds; - const StructSetId: ExpressionIds; - const ArrayNewId: ExpressionIds; - const ArrayGetId: ExpressionIds; - const ArraySetId: ExpressionIds; - const ArrayLenId: ExpressionIds; - - const enum ExternalKinds { - Function, - Table, - Memory, - Global, - Tag - } - - const ExternalFunction: ExternalKinds; - const ExternalTable: ExternalKinds; - const ExternalMemory: ExternalKinds; - const ExternalGlobal: ExternalKinds; - const ExternalTag: ExternalKinds; - - enum Features { - MVP, - Atomics, - BulkMemory, - MutableGlobals, - NontrappingFPToInt, - SignExt, - SIMD128, - ExceptionHandling, - TailCall, - ReferenceTypes, - Multivalue, - GC, - Memory64, - RelaxedSIMD, - ExtendedConst, - Strings, - All - } - - const enum Operations { - ClzInt32, - CtzInt32, - PopcntInt32, - NegFloat32, - AbsFloat32, - CeilFloat32, - FloorFloat32, - TruncFloat32, - NearestFloat32, - SqrtFloat32, - EqZInt32, - ClzInt64, - CtzInt64, - PopcntInt64, - NegFloat64, - AbsFloat64, - CeilFloat64, - FloorFloat64, - TruncFloat64, - NearestFloat64, - SqrtFloat64, - EqZInt64, - ExtendSInt32, - ExtendUInt32, - WrapInt64, - TruncSFloat32ToInt32, - TruncSFloat32ToInt64, - TruncUFloat32ToInt32, - TruncUFloat32ToInt64, - TruncSFloat64ToInt32, - TruncSFloat64ToInt64, - TruncUFloat64ToInt32, - TruncUFloat64ToInt64, - TruncSatSFloat32ToInt32, - TruncSatSFloat32ToInt64, - TruncSatUFloat32ToInt32, - TruncSatUFloat32ToInt64, - TruncSatSFloat64ToInt32, - TruncSatSFloat64ToInt64, - TruncSatUFloat64ToInt32, - TruncSatUFloat64ToInt64, - ReinterpretFloat32, - ReinterpretFloat64, - ConvertSInt32ToFloat32, - ConvertSInt32ToFloat64, - ConvertUInt32ToFloat32, - ConvertUInt32ToFloat64, - ConvertSInt64ToFloat32, - ConvertSInt64ToFloat64, - ConvertUInt64ToFloat32, - ConvertUInt64ToFloat64, - PromoteFloat32, - DemoteFloat64, - ReinterpretInt32, - ReinterpretInt64, - ExtendS8Int32, - ExtendS16Int32, - ExtendS8Int64, - ExtendS16Int64, - ExtendS32Int64, - AddInt32, - SubInt32, - MulInt32, - DivSInt32, - DivUInt32, - RemSInt32, - RemUInt32, - AndInt32, - OrInt32, - XorInt32, - ShlInt32, - ShrUInt32, - ShrSInt32, - RotLInt32, - RotRInt32, - EqInt32, - NeInt32, - LtSInt32, - LtUInt32, - LeSInt32, - LeUInt32, - GtSInt32, - GtUInt32, - GeSInt32, - GeUInt32, - AddInt64, - SubInt64, - MulInt64, - DivSInt64, - DivUInt64, - RemSInt64, - RemUInt64, - AndInt64, - OrInt64, - XorInt64, - ShlInt64, - ShrUInt64, - ShrSInt64, - RotLInt64, - RotRInt64, - EqInt64, - NeInt64, - LtSInt64, - LtUInt64, - LeSInt64, - LeUInt64, - GtSInt64, - GtUInt64, - GeSInt64, - GeUInt64, - AddFloat32, - SubFloat32, - MulFloat32, - DivFloat32, - CopySignFloat32, - MinFloat32, - MaxFloat32, - EqFloat32, - NeFloat32, - LtFloat32, - LeFloat32, - GtFloat32, - GeFloat32, - AddFloat64, - SubFloat64, - MulFloat64, - DivFloat64, - CopySignFloat64, - MinFloat64, - MaxFloat64, - EqFloat64, - NeFloat64, - LtFloat64, - LeFloat64, - GtFloat64, - GeFloat64, - AtomicRMWAdd, - AtomicRMWSub, - AtomicRMWAnd, - AtomicRMWOr, - AtomicRMWXor, - AtomicRMWXchg, - SplatVecI8x16, - ExtractLaneSVecI8x16, - ExtractLaneUVecI8x16, - ReplaceLaneVecI8x16, - SplatVecI16x8, - ExtractLaneSVecI16x8, - ExtractLaneUVecI16x8, - ReplaceLaneVecI16x8, - SplatVecI32x4, - ExtractLaneVecI32x4, - ReplaceLaneVecI32x4, - SplatVecI64x2, - ExtractLaneVecI64x2, - ReplaceLaneVecI64x2, - SplatVecF32x4, - ExtractLaneVecF32x4, - ReplaceLaneVecF32x4, - SplatVecF64x2, - ExtractLaneVecF64x2, - ReplaceLaneVecF64x2, - EqVecI8x16, - NeVecI8x16, - LtSVecI8x16, - LtUVecI8x16, - GtSVecI8x16, - GtUVecI8x16, - LeSVecI8x16, - LeUVecI8x16, - GeSVecI8x16, - GeUVecI8x16, - EqVecI16x8, - NeVecI16x8, - LtSVecI16x8, - LtUVecI16x8, - GtSVecI16x8, - GtUVecI16x8, - LeSVecI16x8, - LeUVecI16x8, - GeSVecI16x8, - GeUVecI16x8, - EqVecI32x4, - NeVecI32x4, - LtSVecI32x4, - LtUVecI32x4, - GtSVecI32x4, - GtUVecI32x4, - LeSVecI32x4, - LeUVecI32x4, - GeSVecI32x4, - GeUVecI32x4, - EqVecI64x2, - NeVecI64x2, - LtSVecI64x2, - GtSVecI64x2, - LeSVecI64x2, - GeSVecI64x2, - EqVecF32x4, - NeVecF32x4, - LtVecF32x4, - GtVecF32x4, - LeVecF32x4, - GeVecF32x4, - EqVecF64x2, - NeVecF64x2, - LtVecF64x2, - GtVecF64x2, - LeVecF64x2, - GeVecF64x2, - NotVec128, - AndVec128, - OrVec128, - XorVec128, - AndNotVec128, - BitselectVec128, - AnyTrueVec128, - PopcntVecI8x16, - AbsVecI8x16, - NegVecI8x16, - AllTrueVecI8x16, - BitmaskVecI8x16, - ShlVecI8x16, - ShrSVecI8x16, - ShrUVecI8x16, - AddVecI8x16, - AddSatSVecI8x16, - AddSatUVecI8x16, - SubVecI8x16, - SubSatSVecI8x16, - SubSatUVecI8x16, - MinSVecI8x16, - MinUVecI8x16, - MaxSVecI8x16, - MaxUVecI8x16, - AvgrUVecI8x16, - AbsVecI16x8, - NegVecI16x8, - AllTrueVecI16x8, - BitmaskVecI16x8, - ShlVecI16x8, - ShrSVecI16x8, - ShrUVecI16x8, - AddVecI16x8, - AddSatSVecI16x8, - AddSatUVecI16x8, - SubVecI16x8, - SubSatSVecI16x8, - SubSatUVecI16x8, - MulVecI16x8, - MinSVecI16x8, - MinUVecI16x8, - MaxSVecI16x8, - MaxUVecI16x8, - AvgrUVecI16x8, - Q15MulrSatSVecI16x8, - ExtMulLowSVecI16x8, - ExtMulHighSVecI16x8, - ExtMulLowUVecI16x8, - ExtMulHighUVecI16x8, - DotSVecI16x8ToVecI32x4, - ExtMulLowSVecI32x4, - ExtMulHighSVecI32x4, - ExtMulLowUVecI32x4, - ExtMulHighUVecI32x4, - AbsVecI32x4, - NegVecI32x4, - AllTrueVecI32x4, - BitmaskVecI32x4, - ShlVecI32x4, - ShrSVecI32x4, - ShrUVecI32x4, - AddVecI32x4, - SubVecI32x4, - MulVecI32x4, - MinSVecI32x4, - MinUVecI32x4, - MaxSVecI32x4, - MaxUVecI32x4, - AbsVecI64x2, - NegVecI64x2, - AllTrueVecI64x2, - BitmaskVecI64x2, - ShlVecI64x2, - ShrSVecI64x2, - ShrUVecI64x2, - AddVecI64x2, - SubVecI64x2, - MulVecI64x2, - ExtMulLowSVecI64x2, - ExtMulHighSVecI64x2, - ExtMulLowUVecI64x2, - ExtMulHighUVecI64x2, - AbsVecF32x4, - NegVecF32x4, - SqrtVecF32x4, - AddVecF32x4, - SubVecF32x4, - MulVecF32x4, - DivVecF32x4, - MinVecF32x4, - MaxVecF32x4, - PMinVecF32x4, - PMaxVecF32x4, - CeilVecF32x4, - FloorVecF32x4, - TruncVecF32x4, - NearestVecF32x4, - AbsVecF64x2, - NegVecF64x2, - SqrtVecF64x2, - AddVecF64x2, - SubVecF64x2, - MulVecF64x2, - DivVecF64x2, - MinVecF64x2, - MaxVecF64x2, - PMinVecF64x2, - PMaxVecF64x2, - CeilVecF64x2, - FloorVecF64x2, - TruncVecF64x2, - NearestVecF64x2, - ExtAddPairwiseSVecI8x16ToI16x8, - ExtAddPairwiseUVecI8x16ToI16x8, - ExtAddPairwiseSVecI16x8ToI32x4, - ExtAddPairwiseUVecI16x8ToI32x4, - TruncSatSVecF32x4ToVecI32x4, - TruncSatUVecF32x4ToVecI32x4, - ConvertSVecI32x4ToVecF32x4, - ConvertUVecI32x4ToVecF32x4, - Load8SplatVec128, - Load16SplatVec128, - Load32SplatVec128, - Load64SplatVec128, - Load8x8SVec128, - Load8x8UVec128, - Load16x4SVec128, - Load16x4UVec128, - Load32x2SVec128, - Load32x2UVec128, - Load32ZeroVec128, - Load64ZeroVec128, - Load8LaneVec128, - Load16LaneVec128, - Load32LaneVec128, - Load64LaneVec128, - Store8LaneVec128, - Store16LaneVec128, - Store32LaneVec128, - Store64LaneVec128, - NarrowSVecI16x8ToVecI8x16, - NarrowUVecI16x8ToVecI8x16, - NarrowSVecI32x4ToVecI16x8, - NarrowUVecI32x4ToVecI16x8, - ExtendLowSVecI8x16ToVecI16x8, - ExtendHighSVecI8x16ToVecI16x8, - ExtendLowUVecI8x16ToVecI16x8, - ExtendHighUVecI8x16ToVecI16x8, - ExtendLowSVecI16x8ToVecI32x4, - ExtendHighSVecI16x8ToVecI32x4, - ExtendLowUVecI16x8ToVecI32x4, - ExtendHighUVecI16x8ToVecI32x4, - ExtendLowSVecI32x4ToVecI64x2, - ExtendHighSVecI32x4ToVecI64x2, - ExtendLowUVecI32x4ToVecI64x2, - ExtendHighUVecI32x4ToVecI64x2, - ConvertLowSVecI32x4ToVecF64x2, - ConvertLowUVecI32x4ToVecF64x2, - TruncSatZeroSVecF64x2ToVecI32x4, - TruncSatZeroUVecF64x2ToVecI32x4, - DemoteZeroVecF64x2ToVecF32x4, - PromoteLowVecF32x4ToVecF64x2, - SwizzleVecI8x16, - RefIsNull, - RefIsFunc, - RefIsData, - RefIsI31, - RefAsNonNull, - RefAsFunc, - RefAsData, - RefAsI31 - } - - const ClzInt32: Operations; - const CtzInt32: Operations; - const PopcntInt32: Operations; - const NegFloat32: Operations; - const AbsFloat32: Operations; - const CeilFloat32: Operations; - const FloorFloat32: Operations; - const TruncFloat32: Operations; - const NearestFloat32: Operations; - const SqrtFloat32: Operations; - const EqZInt32: Operations; - const ClzInt64: Operations; - const CtzInt64: Operations; - const PopcntInt64: Operations; - const NegFloat64: Operations; - const AbsFloat64: Operations; - const CeilFloat64: Operations; - const FloorFloat64: Operations; - const TruncFloat64: Operations; - const NearestFloat64: Operations; - const SqrtFloat64: Operations; - const EqZInt64: Operations; - const ExtendSInt32: Operations; - const ExtendUInt32: Operations; - const WrapInt64: Operations; - const TruncSFloat32ToInt32: Operations; - const TruncSFloat32ToInt64: Operations; - const TruncUFloat32ToInt32: Operations; - const TruncUFloat32ToInt64: Operations; - const TruncSFloat64ToInt32: Operations; - const TruncSFloat64ToInt64: Operations; - const TruncUFloat64ToInt32: Operations; - const TruncUFloat64ToInt64: Operations; - const TruncSatSFloat32ToInt32: Operations; - const TruncSatSFloat32ToInt64: Operations; - const TruncSatUFloat32ToInt32: Operations; - const TruncSatUFloat32ToInt64: Operations; - const TruncSatSFloat64ToInt32: Operations; - const TruncSatSFloat64ToInt64: Operations; - const TruncSatUFloat64ToInt32: Operations; - const TruncSatUFloat64ToInt64: Operations; - const ReinterpretFloat32: Operations; - const ReinterpretFloat64: Operations; - const ConvertSInt32ToFloat32: Operations; - const ConvertSInt32ToFloat64: Operations; - const ConvertUInt32ToFloat32: Operations; - const ConvertUInt32ToFloat64: Operations; - const ConvertSInt64ToFloat32: Operations; - const ConvertSInt64ToFloat64: Operations; - const ConvertUInt64ToFloat32: Operations; - const ConvertUInt64ToFloat64: Operations; - const PromoteFloat32: Operations; - const DemoteFloat64: Operations; - const ReinterpretInt32: Operations; - const ReinterpretInt64: Operations; - const ExtendS8Int32: Operations; - const ExtendS16Int32: Operations; - const ExtendS8Int64: Operations; - const ExtendS16Int64: Operations; - const ExtendS32Int64: Operations; - const AddInt32: Operations; - const SubInt32: Operations; - const MulInt32: Operations; - const DivSInt32: Operations; - const DivUInt32: Operations; - const RemSInt32: Operations; - const RemUInt32: Operations; - const AndInt32: Operations; - const OrInt32: Operations; - const XorInt32: Operations; - const ShlInt32: Operations; - const ShrUInt32: Operations; - const ShrSInt32: Operations; - const RotLInt32: Operations; - const RotRInt32: Operations; - const EqInt32: Operations; - const NeInt32: Operations; - const LtSInt32: Operations; - const LtUInt32: Operations; - const LeSInt32: Operations; - const LeUInt32: Operations; - const GtSInt32: Operations; - const GtUInt32: Operations; - const GeSInt32: Operations; - const GeUInt32: Operations; - const AddInt64: Operations; - const SubInt64: Operations; - const MulInt64: Operations; - const DivSInt64: Operations; - const DivUInt64: Operations; - const RemSInt64: Operations; - const RemUInt64: Operations; - const AndInt64: Operations; - const OrInt64: Operations; - const XorInt64: Operations; - const ShlInt64: Operations; - const ShrUInt64: Operations; - const ShrSInt64: Operations; - const RotLInt64: Operations; - const RotRInt64: Operations; - const EqInt64: Operations; - const NeInt64: Operations; - const LtSInt64: Operations; - const LtUInt64: Operations; - const LeSInt64: Operations; - const LeUInt64: Operations; - const GtSInt64: Operations; - const GtUInt64: Operations; - const GeSInt64: Operations; - const GeUInt64: Operations; - const AddFloat32: Operations; - const SubFloat32: Operations; - const MulFloat32: Operations; - const DivFloat32: Operations; - const CopySignFloat32: Operations; - const MinFloat32: Operations; - const MaxFloat32: Operations; - const EqFloat32: Operations; - const NeFloat32: Operations; - const LtFloat32: Operations; - const LeFloat32: Operations; - const GtFloat32: Operations; - const GeFloat32: Operations; - const AddFloat64: Operations; - const SubFloat64: Operations; - const MulFloat64: Operations; - const DivFloat64: Operations; - const CopySignFloat64: Operations; - const MinFloat64: Operations; - const MaxFloat64: Operations; - const EqFloat64: Operations; - const NeFloat64: Operations; - const LtFloat64: Operations; - const LeFloat64: Operations; - const GtFloat64: Operations; - const GeFloat64: Operations; - const AtomicRMWAdd: Operations; - const AtomicRMWSub: Operations; - const AtomicRMWAnd: Operations; - const AtomicRMWOr: Operations; - const AtomicRMWXor: Operations; - const AtomicRMWXchg: Operations; - const SplatVecI8x16: Operations; - const ExtractLaneSVecI8x16: Operations; - const ExtractLaneUVecI8x16: Operations; - const ReplaceLaneVecI8x16: Operations; - const SplatVecI16x8: Operations; - const ExtractLaneSVecI16x8: Operations; - const ExtractLaneUVecI16x8: Operations; - const ReplaceLaneVecI16x8: Operations; - const SplatVecI32x4: Operations; - const ExtractLaneVecI32x4: Operations; - const ReplaceLaneVecI32x4: Operations; - const SplatVecI64x2: Operations; - const ExtractLaneVecI64x2: Operations; - const ReplaceLaneVecI64x2: Operations; - const SplatVecF32x4: Operations; - const ExtractLaneVecF32x4: Operations; - const ReplaceLaneVecF32x4: Operations; - const SplatVecF64x2: Operations; - const ExtractLaneVecF64x2: Operations; - const ReplaceLaneVecF64x2: Operations; - const EqVecI8x16: Operations; - const NeVecI8x16: Operations; - const LtSVecI8x16: Operations; - const LtUVecI8x16: Operations; - const GtSVecI8x16: Operations; - const GtUVecI8x16: Operations; - const LeSVecI8x16: Operations; - const LeUVecI8x16: Operations; - const GeSVecI8x16: Operations; - const GeUVecI8x16: Operations; - const EqVecI16x8: Operations; - const NeVecI16x8: Operations; - const LtSVecI16x8: Operations; - const LtUVecI16x8: Operations; - const GtSVecI16x8: Operations; - const GtUVecI16x8: Operations; - const LeSVecI16x8: Operations; - const LeUVecI16x8: Operations; - const GeSVecI16x8: Operations; - const GeUVecI16x8: Operations; - const EqVecI32x4: Operations; - const NeVecI32x4: Operations; - const LtSVecI32x4: Operations; - const LtUVecI32x4: Operations; - const GtSVecI32x4: Operations; - const GtUVecI32x4: Operations; - const LeSVecI32x4: Operations; - const LeUVecI32x4: Operations; - const GeSVecI32x4: Operations; - const GeUVecI32x4: Operations; - const EqVecI64x2: Operations; - const NeVecI64x2: Operations; - const LtSVecI64x2: Operations; - const GtSVecI64x2: Operations; - const LeSVecI64x2: Operations; - const GeSVecI64x2: Operations; - const EqVecF32x4: Operations; - const NeVecF32x4: Operations; - const LtVecF32x4: Operations; - const GtVecF32x4: Operations; - const LeVecF32x4: Operations; - const GeVecF32x4: Operations; - const EqVecF64x2: Operations; - const NeVecF64x2: Operations; - const LtVecF64x2: Operations; - const GtVecF64x2: Operations; - const LeVecF64x2: Operations; - const GeVecF64x2: Operations; - const NotVec128: Operations; - const AndVec128: Operations; - const OrVec128: Operations; - const XorVec128: Operations; - const AndNotVec128: Operations; - const BitselectVec128: Operations; - const AnyTrueVec128: Operations; - const PopcntVecI8x16: Operations; - const AbsVecI8x16: Operations; - const NegVecI8x16: Operations; - const AllTrueVecI8x16: Operations; - const BitmaskVecI8x16: Operations; - const ShlVecI8x16: Operations; - const ShrSVecI8x16: Operations; - const ShrUVecI8x16: Operations; - const AddVecI8x16: Operations; - const AddSatSVecI8x16: Operations; - const AddSatUVecI8x16: Operations; - const SubVecI8x16: Operations; - const SubSatSVecI8x16: Operations; - const SubSatUVecI8x16: Operations; - const MinSVecI8x16: Operations; - const MinUVecI8x16: Operations; - const MaxSVecI8x16: Operations; - const MaxUVecI8x16: Operations; - const AvgrUVecI8x16: Operations; - const AbsVecI16x8: Operations; - const NegVecI16x8: Operations; - const AllTrueVecI16x8: Operations; - const BitmaskVecI16x8: Operations; - const ShlVecI16x8: Operations; - const ShrSVecI16x8: Operations; - const ShrUVecI16x8: Operations; - const AddVecI16x8: Operations; - const AddSatSVecI16x8: Operations; - const AddSatUVecI16x8: Operations; - const SubVecI16x8: Operations; - const SubSatSVecI16x8: Operations; - const SubSatUVecI16x8: Operations; - const MulVecI16x8: Operations; - const MinSVecI16x8: Operations; - const MinUVecI16x8: Operations; - const MaxSVecI16x8: Operations; - const MaxUVecI16x8: Operations; - const AvgrUVecI16x8: Operations; - const Q15MulrSatSVecI16x8: Operations; - const ExtMulLowSVecI16x8: Operations; - const ExtMulHighSVecI16x8: Operations; - const ExtMulLowUVecI16x8: Operations; - const ExtMulHighUVecI16x8: Operations; - const DotSVecI16x8ToVecI32x4: Operations; - const ExtMulLowSVecI32x4: Operations; - const ExtMulHighSVecI32x4: Operations; - const ExtMulLowUVecI32x4: Operations; - const ExtMulHighUVecI32x4: Operations; - const AbsVecI32x4: Operations; - const NegVecI32x4: Operations; - const AllTrueVecI32x4: Operations; - const BitmaskVecI32x4: Operations; - const ShlVecI32x4: Operations; - const ShrSVecI32x4: Operations; - const ShrUVecI32x4: Operations; - const AddVecI32x4: Operations; - const SubVecI32x4: Operations; - const MulVecI32x4: Operations; - const MinSVecI32x4: Operations; - const MinUVecI32x4: Operations; - const MaxSVecI32x4: Operations; - const MaxUVecI32x4: Operations; - const AbsVecI64x2: Operations; - const NegVecI64x2: Operations; - const AllTrueVecI64x2: Operations; - const BitmaskVecI64x2: Operations; - const ShlVecI64x2: Operations; - const ShrSVecI64x2: Operations; - const ShrUVecI64x2: Operations; - const AddVecI64x2: Operations; - const SubVecI64x2: Operations; - const MulVecI64x2: Operations; - const ExtMulLowSVecI64x2: Operations; - const ExtMulHighSVecI64x2: Operations; - const ExtMulLowUVecI64x2: Operations; - const ExtMulHighUVecI64x2: Operations; - const AbsVecF32x4: Operations; - const NegVecF32x4: Operations; - const SqrtVecF32x4: Operations; - const AddVecF32x4: Operations; - const SubVecF32x4: Operations; - const MulVecF32x4: Operations; - const DivVecF32x4: Operations; - const MinVecF32x4: Operations; - const MaxVecF32x4: Operations; - const PMinVecF32x4: Operations; - const PMaxVecF32x4: Operations; - const CeilVecF32x4: Operations; - const FloorVecF32x4: Operations; - const TruncVecF32x4: Operations; - const NearestVecF32x4: Operations; - const AbsVecF64x2: Operations; - const NegVecF64x2: Operations; - const SqrtVecF64x2: Operations; - const AddVecF64x2: Operations; - const SubVecF64x2: Operations; - const MulVecF64x2: Operations; - const DivVecF64x2: Operations; - const MinVecF64x2: Operations; - const MaxVecF64x2: Operations; - const PMinVecF64x2: Operations; - const PMaxVecF64x2: Operations; - const CeilVecF64x2: Operations; - const FloorVecF64x2: Operations; - const TruncVecF64x2: Operations; - const NearestVecF64x2: Operations; - const ExtAddPairwiseSVecI8x16ToI16x8: Operations; - const ExtAddPairwiseUVecI8x16ToI16x8: Operations; - const ExtAddPairwiseSVecI16x8ToI32x4: Operations; - const ExtAddPairwiseUVecI16x8ToI32x4: Operations; - const TruncSatSVecF32x4ToVecI32x4: Operations; - const TruncSatUVecF32x4ToVecI32x4: Operations; - const ConvertSVecI32x4ToVecF32x4: Operations; - const ConvertUVecI32x4ToVecF32x4: Operations; - const Load8SplatVec128: Operations; - const Load16SplatVec128: Operations; - const Load32SplatVec128: Operations; - const Load64SplatVec128: Operations; - const Load8x8SVec128: Operations; - const Load8x8UVec128: Operations; - const Load16x4SVec128: Operations; - const Load16x4UVec128: Operations; - const Load32x2SVec128: Operations; - const Load32x2UVec128: Operations; - const Load32ZeroVec128: Operations; - const Load64ZeroVec128: Operations; - const Load8LaneVec128: Operations; - const Load16LaneVec128: Operations; - const Load32LaneVec128: Operations; - const Load64LaneVec128: Operations; - const Store8LaneVec128: Operations; - const Store16LaneVec128: Operations; - const Store32LaneVec128: Operations; - const Store64LaneVec128: Operations; - const NarrowSVecI16x8ToVecI8x16: Operations; - const NarrowUVecI16x8ToVecI8x16: Operations; - const NarrowSVecI32x4ToVecI16x8: Operations; - const NarrowUVecI32x4ToVecI16x8: Operations; - const ExtendLowSVecI8x16ToVecI16x8: Operations; - const ExtendHighSVecI8x16ToVecI16x8: Operations; - const ExtendLowUVecI8x16ToVecI16x8: Operations; - const ExtendHighUVecI8x16ToVecI16x8: Operations; - const ExtendLowSVecI16x8ToVecI32x4: Operations; - const ExtendHighSVecI16x8ToVecI32x4: Operations; - const ExtendLowUVecI16x8ToVecI32x4: Operations; - const ExtendHighUVecI16x8ToVecI32x4: Operations; - const ExtendLowSVecI32x4ToVecI64x2: Operations; - const ExtendHighSVecI32x4ToVecI64x2: Operations; - const ExtendLowUVecI32x4ToVecI64x2: Operations; - const ExtendHighUVecI32x4ToVecI64x2: Operations; - const ConvertLowSVecI32x4ToVecF64x2: Operations; - const ConvertLowUVecI32x4ToVecF64x2: Operations; - const TruncSatZeroSVecF64x2ToVecI32x4: Operations; - const TruncSatZeroUVecF64x2ToVecI32x4: Operations; - const DemoteZeroVecF64x2ToVecF32x4: Operations; - const PromoteLowVecF32x4ToVecF64x2: Operations; - const SwizzleVecI8x16: Operations; - const RefIsNull: Operations; - const RefIsFunc: Operations; - const RefIsData: Operations; - const RefIsI31: Operations; - const RefAsNonNull: Operations; - const RefAsFunc: Operations; - const RefAsData: Operations; - const RefAsI31: Operations; - - const enum ExpressionRunnerFlags { - Default, - PreserveSideeffects, - TraverseCalls - } - - type ElementSegmentRef = number; - type ExpressionRef = number; - type FunctionRef = number; - type GlobalRef = number; - type ExportRef = number; - type TableRef = number; - type TagRef = number; - - class Module { - constructor(); - readonly ptr: number; - block(label: string | null, children: ExpressionRef[], resultType?: Type): ExpressionRef; - if(condition: ExpressionRef, ifTrue: ExpressionRef, ifFalse?: ExpressionRef): ExpressionRef; - loop(label: string | null, body: ExpressionRef): ExpressionRef; - br(label: string, condition?: ExpressionRef, value?: ExpressionRef): ExpressionRef; - br_if(label: string, condition?: ExpressionRef, value?: ExpressionRef): ExpressionRef; - switch(labels: string[], defaultLabel: string, condition: ExpressionRef, value?: ExpressionRef): ExpressionRef; - call(name: string, operands: ExpressionRef[], returnType: Type): ExpressionRef; - return_call(name: string, operands: ExpressionRef[], returnType: Type): ExpressionRef; - call_indirect(table: string, target: ExpressionRef, operands: ExpressionRef[], params: Type, results: Type): ExpressionRef; - return_call_indirect(table: string, target: ExpressionRef, operands: ExpressionRef[], params: Type, results: Type): ExpressionRef; - local: { - get(index: number, type: Type): ExpressionRef; - set(index: number, value: ExpressionRef): ExpressionRef; - tee(index: number, value: ExpressionRef, type: Type): ExpressionRef; - }; - global: { - get(name: string, type: Type): ExpressionRef; - set(name: string, value: ExpressionRef): ExpressionRef; - }; - table: { - get(name: string, index: ExpressionRef, type: Type): ExpressionRef; - set(name: string, index: ExpressionRef, value: ExpressionRef): ExpressionRef; - size(name: string): ExpressionRef; - grow(name: string, value: ExpressionRef, delta: ExpressionRef): ExpressionRef; - // TODO: init, fill, copy - }; - memory: { - size(name?: string, memory64?: boolean): ExpressionRef; - grow(value: ExpressionRef, name?: string, memory64?: boolean): ExpressionRef; - init(segment: number, dest: ExpressionRef, offset: ExpressionRef, size: ExpressionRef, name?: string): ExpressionRef; - copy(dest: ExpressionRef, source: ExpressionRef, size: ExpressionRef, destName?: string, sourceName?: string): ExpressionRef; - fill(dest: ExpressionRef, value: ExpressionRef, size: ExpressionRef, name?: string): ExpressionRef; - atomic: { - notify(ptr: ExpressionRef, notifyCount: ExpressionRef, name?: string): ExpressionRef; - wait32(ptr: ExpressionRef, expected: ExpressionRef, timeout: ExpressionRef, name?: string): ExpressionRef; - wait64(ptr: ExpressionRef, expected: ExpressionRef, timeout: ExpressionRef, name?: string): ExpressionRef; - } - }; - data: { - drop(segment: number): ExpressionRef; - }; - i32: { - load(offset: number, align: number, ptr: ExpressionRef, name?: string): ExpressionRef; - load8_s(offset: number, align: number, ptr: ExpressionRef, name?: string): ExpressionRef; - load8_u(offset: number, align: number, ptr: ExpressionRef, name?: string): ExpressionRef; - load16_s(offset: number, align: number, ptr: ExpressionRef, name?: string): ExpressionRef; - load16_u(offset: number, align: number, ptr: ExpressionRef, name?: string): ExpressionRef; - store(offset: number, align: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; - store8(offset: number, align: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; - store16(offset: number, align: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; - const(value: number): ExpressionRef; - clz(value: ExpressionRef): ExpressionRef; - ctz(value: ExpressionRef): ExpressionRef; - popcnt(value: ExpressionRef): ExpressionRef; - eqz(value: ExpressionRef): ExpressionRef; - trunc_s: { - f32(value: ExpressionRef): ExpressionRef; - f64(value: ExpressionRef): ExpressionRef; - }; - trunc_u: { - f32(value: ExpressionRef): ExpressionRef; - f64(value: ExpressionRef): ExpressionRef; - }; - trunc_s_sat: { - f32(value: ExpressionRef): ExpressionRef; - f64(value: ExpressionRef): ExpressionRef; - }; - trunc_u_sat: { - f32(value: ExpressionRef): ExpressionRef; - f64(value: ExpressionRef): ExpressionRef; - }; - reinterpret(value: ExpressionRef): ExpressionRef; - extend8_s(value: ExpressionRef): ExpressionRef; - extend16_s(value: ExpressionRef): ExpressionRef; - wrap(value: ExpressionRef): ExpressionRef; - add(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - sub(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - mul(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - div_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - div_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - rem_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - rem_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - and(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - or(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - xor(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - shl(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - shr_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - shr_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - rotl(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - rotr(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - eq(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - ne(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - lt_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - lt_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - le_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - le_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - gt_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - gt_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - ge_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - ge_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - atomic: { - load(offset: number, ptr: ExpressionRef, name?: string): ExpressionRef; - load8_u(offset: number, ptr: ExpressionRef, name?: string): ExpressionRef; - load16_u(offset: number, ptr: ExpressionRef, name?: string): ExpressionRef; - store(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; - store8(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; - store16(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; - rmw: { - add(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; - sub(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; - and(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; - or(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; - xor(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; - xchg(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; - cmpxchg(offset: number, ptr: ExpressionRef, expected: ExpressionRef, replacement: ExpressionRef, name?: string): ExpressionRef; - }, - rmw8_u: { - add(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; - sub(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; - and(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; - or(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; - xor(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; - xchg(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; - cmpxchg(offset: number, ptr: ExpressionRef, expected: ExpressionRef, replacement: ExpressionRef, name?: string): ExpressionRef; - }, - rmw16_u: { - add(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; - sub(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; - and(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; - or(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; - xor(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; - xchg(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; - cmpxchg(offset: number, ptr: ExpressionRef, expected: ExpressionRef, replacement: ExpressionRef, name?: string): ExpressionRef; - }, - }, - pop(): ExpressionRef; - }; - i64: { - load(offset: number, align: number, ptr: ExpressionRef, name?: string): ExpressionRef; - load8_s(offset: number, align: number, ptr: ExpressionRef, name?: string): ExpressionRef; - load8_u(offset: number, align: number, ptr: ExpressionRef, name?: string): ExpressionRef; - load16_s(offset: number, align: number, ptr: ExpressionRef, name?: string): ExpressionRef; - load16_u(offset: number, align: number, ptr: ExpressionRef, name?: string): ExpressionRef; - load32_s(offset: number, align: number, ptr: ExpressionRef, name?: string): ExpressionRef; - load32_u(offset: number, align: number, ptr: ExpressionRef, name?: string): ExpressionRef; - store(offset: number, align: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; - store8(offset: number, align: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; - store16(offset: number, align: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; - store32(offset: number, align: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; - const(low: number, high: number): ExpressionRef; - clz(value: ExpressionRef): ExpressionRef; - ctz(value: ExpressionRef): ExpressionRef; - popcnt(value: ExpressionRef): ExpressionRef; - eqz(value: ExpressionRef): ExpressionRef; - trunc_s: { - f32(value: ExpressionRef): ExpressionRef; - f64(value: ExpressionRef): ExpressionRef; - }; - trunc_u: { - f32(value: ExpressionRef): ExpressionRef; - f64(value: ExpressionRef): ExpressionRef; - }; - trunc_s_sat: { - f32(value: ExpressionRef): ExpressionRef; - f64(value: ExpressionRef): ExpressionRef; - }; - trunc_u_sat: { - f32(value: ExpressionRef): ExpressionRef; - f64(value: ExpressionRef): ExpressionRef; - }; - reinterpret(value: ExpressionRef): ExpressionRef; - extend8_s(value: ExpressionRef): ExpressionRef; - extend16_s(value: ExpressionRef): ExpressionRef; - extend32_s(value: ExpressionRef): ExpressionRef; - extend_s(value: ExpressionRef): ExpressionRef; - extend_u(value: ExpressionRef): ExpressionRef; - add(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - sub(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - mul(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - div_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - div_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - rem_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - rem_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - and(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - or(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - xor(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - shl(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - shr_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - shr_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - rotl(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - rotr(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - eq(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - ne(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - lt_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - lt_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - le_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - le_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - gt_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - gt_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - ge_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - ge_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - atomic: { - load(offset: number, ptr: ExpressionRef, name?: string): ExpressionRef; - load8_u(offset: number, ptr: ExpressionRef, name?: string): ExpressionRef; - load16_u(offset: number, ptr: ExpressionRef, name?: string): ExpressionRef; - load32_u(offset: number, ptr: ExpressionRef, name?: string): ExpressionRef; - store(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; - store8(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; - store16(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; - store32(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; - rmw: { - add(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; - sub(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; - and(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; - or(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; - xor(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; - xchg(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; - cmpxchg(offset: number, ptr: ExpressionRef, expected: ExpressionRef, replacement: ExpressionRef, name?: string): ExpressionRef; - }, - rmw8_u: { - add(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; - sub(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; - and(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; - or(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; - xor(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; - xchg(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; - cmpxchg(offset: number, ptr: ExpressionRef, expected: ExpressionRef, replacement: ExpressionRef, name?: string): ExpressionRef; - }, - rmw16_u: { - add(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; - sub(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; - and(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; - or(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; - xor(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; - xchg(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; - cmpxchg(offset: number, ptr: ExpressionRef, expected: ExpressionRef, replacement: ExpressionRef, name?: string): ExpressionRef; - }, - rmw32_u: { - add(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; - sub(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; - and(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; - or(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; - xor(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; - xchg(offset: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; - cmpxchg(offset: number, ptr: ExpressionRef, expected: ExpressionRef, replacement: ExpressionRef, name?: string): ExpressionRef; - }, - }, - pop(): ExpressionRef; - }; - f32: { - load(offset: number, align: number, ptr: ExpressionRef, name?: string): ExpressionRef; - store(offset: number, align: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; - const(value: number): ExpressionRef; - const_bits(value: number): ExpressionRef; - neg(value: ExpressionRef): ExpressionRef; - abs(value: ExpressionRef): ExpressionRef; - ceil(value: ExpressionRef): ExpressionRef; - floor(value: ExpressionRef): ExpressionRef; - trunc(value: ExpressionRef): ExpressionRef; - nearest(value: ExpressionRef): ExpressionRef; - sqrt(value: ExpressionRef): ExpressionRef; - reinterpret(value: ExpressionRef): ExpressionRef; - convert_s: { - i32(value: ExpressionRef): ExpressionRef; - i64(value: ExpressionRef): ExpressionRef; - }; - convert_u: { - i32(value: ExpressionRef): ExpressionRef; - i64(value: ExpressionRef): ExpressionRef; - }; - demote(value: ExpressionRef): ExpressionRef; - add(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - sub(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - mul(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - div(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - copysign(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - min(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - max(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - eq(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - ne(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - lt(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - le(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - gt(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - ge(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - pop(): ExpressionRef; - }; - f64: { - load(offset: number, align: number, ptr: ExpressionRef, name?: string): ExpressionRef; - store(offset: number, align: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; - const(value: number): ExpressionRef; - const_bits(low: number, high: number): ExpressionRef; - neg(value: ExpressionRef): ExpressionRef; - abs(value: ExpressionRef): ExpressionRef; - ceil(value: ExpressionRef): ExpressionRef; - floor(value: ExpressionRef): ExpressionRef; - trunc(value: ExpressionRef): ExpressionRef; - nearest(value: ExpressionRef): ExpressionRef; - sqrt(value: ExpressionRef): ExpressionRef; - reinterpret(value: ExpressionRef): ExpressionRef; - convert_s: { - i32(value: ExpressionRef): ExpressionRef; - i64(value: ExpressionRef): ExpressionRef; - }; - convert_u: { - i32(value: ExpressionRef): ExpressionRef; - i64(value: ExpressionRef): ExpressionRef; - }; - promote(value: ExpressionRef): ExpressionRef; - add(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - sub(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - mul(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - div(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - copysign(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - min(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - max(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - eq(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - ne(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - lt(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - le(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - gt(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - ge(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - pop(): ExpressionRef; - }; - v128: { - load(offset: number, align: number, ptr: ExpressionRef, name?: string): ExpressionRef; - load8_splat(offset: number, align: number, ptr: ExpressionRef, name?: string): ExpressionRef; - load16_splat(offset: number, align: number, ptr: ExpressionRef, name?: string): ExpressionRef; - load32_splat(offset: number, align: number, ptr: ExpressionRef, name?: string): ExpressionRef; - load64_splat(offset: number, align: number, ptr: ExpressionRef, name?: string): ExpressionRef; - load8x8_s(offset: number, align: number, ptr: ExpressionRef, name?: string): ExpressionRef; - load8x8_u(offset: number, align: number, ptr: ExpressionRef, name?: string): ExpressionRef; - load16x4_s(offset: number, align: number, ptr: ExpressionRef, name?: string): ExpressionRef; - load16x4_u(offset: number, align: number, ptr: ExpressionRef, name?: string): ExpressionRef; - load32x2_s(offset: number, align: number, ptr: ExpressionRef, name?: string): ExpressionRef; - load32x2_u(offset: number, align: number, ptr: ExpressionRef, name?: string): ExpressionRef; - load32_zero(offset: number, align: number, ptr: ExpressionRef, name?: string): ExpressionRef; - load64_zero(offset: number, align: number, ptr: ExpressionRef, name?: string): ExpressionRef; - load8_lane(offset: number, align: number, index: number, ptr: ExpressionRef, vec: ExpressionRef, name?: string): ExpressionRef; - load16_lane(offset: number, align: number, index: number, ptr: ExpressionRef, vec: ExpressionRef, name?: string): ExpressionRef; - load32_lane(offset: number, align: number, index: number, ptr: ExpressionRef, vec: ExpressionRef, name?: string): ExpressionRef; - load64_lane(offset: number, align: number, index: number, ptr: ExpressionRef, vec: ExpressionRef, name?: string): ExpressionRef; - store8_lane(offset: number, align: number, index: number, pt: ExpressionRef, vec: ExpressionRef, name?: string): ExpressionRef; - store16_lane(offset: number, align: number, index: number, pt: ExpressionRef, vec: ExpressionRef, name?: string): ExpressionRef; - store32_lane(offset: number, align: number, index: number, pt: ExpressionRef, vec: ExpressionRef, name?: string): ExpressionRef; - store64_lane(offset: number, align: number, index: number, pt: ExpressionRef, vec: ExpressionRef, name?: string): ExpressionRef; - store(offset: number, align: number, ptr: ExpressionRef, value: ExpressionRef, name?: string): ExpressionRef; - const(value: ArrayLike): ExpressionRef; - not(value: ExpressionRef): ExpressionRef; - any_true(value: ExpressionRef): ExpressionRef; - and(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - or(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - xor(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - andnot(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - bitselect(left: ExpressionRef, right: ExpressionRef, cond: ExpressionRef): ExpressionRef; - pop(): ExpressionRef; - }; - i8x16: { - shuffle(left: ExpressionRef, right: ExpressionRef, mask: ArrayLike): ExpressionRef; - swizzle(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - splat(value: ExpressionRef): ExpressionRef; - extract_lane_s(vec: ExpressionRef, index: ExpressionRef): ExpressionRef; - extract_lane_u(vec: ExpressionRef, index: ExpressionRef): ExpressionRef; - replace_lane(vec: ExpressionRef, index: ExpressionRef, value: ExpressionRef): ExpressionRef; - eq(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - ne(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - lt_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - lt_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - gt_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - gt_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - le_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - le_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - ge_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - ge_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - abs(value: ExpressionRef): ExpressionRef; - neg(value: ExpressionRef): ExpressionRef; - all_true(value: ExpressionRef): ExpressionRef; - bitmask(value: ExpressionRef): ExpressionRef; - popcnt(value: ExpressionRef): ExpressionRef; - shl(vec: ExpressionRef, shift: ExpressionRef): ExpressionRef; - shr_s(vec: ExpressionRef, shift: ExpressionRef): ExpressionRef; - shr_u(vec: ExpressionRef, shift: ExpressionRef): ExpressionRef; - add(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - add_saturate_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - add_saturate_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - sub(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - sub_saturate_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - sub_saturate_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - mul(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - min_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - min_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - max_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - max_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - avgr_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - narrow_i16x8_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - narrow_i16x8_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - }; - i16x8: { - splat(value: ExpressionRef): ExpressionRef; - extract_lane_s(vec: ExpressionRef, index: ExpressionRef): ExpressionRef; - extract_lane_u(vec: ExpressionRef, index: ExpressionRef): ExpressionRef; - replace_lane(vec: ExpressionRef, index: ExpressionRef, value: ExpressionRef): ExpressionRef; - eq(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - ne(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - lt_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - lt_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - gt_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - gt_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - le_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - le_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - ge_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - ge_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - abs(value: ExpressionRef): ExpressionRef; - neg(value: ExpressionRef): ExpressionRef; - all_true(value: ExpressionRef): ExpressionRef; - bitmask(value: ExpressionRef): ExpressionRef; - shl(vec: ExpressionRef, shift: ExpressionRef): ExpressionRef; - shr_s(vec: ExpressionRef, shift: ExpressionRef): ExpressionRef; - shr_u(vec: ExpressionRef, shift: ExpressionRef): ExpressionRef; - add(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - add_saturate_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - add_saturate_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - sub(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - sub_saturate_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - sub_saturate_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - mul(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - min_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - min_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - max_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - max_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - avgr_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - q15mulr_sat_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - extmul_low_i8x16_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - extmul_high_i8x16_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - extmul_low_i8x16_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - extmul_high_i8x16_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - extadd_pairwise_i8x16_s(value: ExpressionRef): ExpressionRef; - extadd_pairwise_i8x16_u(value: ExpressionRef): ExpressionRef; - narrow_i32x4_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - narrow_i32x4_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - extend_low_i8x16_s(value: ExpressionRef): ExpressionRef; - extend_high_i8x16_s(value: ExpressionRef): ExpressionRef; - extend_low_i8x16_u(value: ExpressionRef): ExpressionRef; - extend_high_i8x16_u(value: ExpressionRef): ExpressionRef; - }; - i32x4: { - splat(value: ExpressionRef): ExpressionRef; - extract_lane(vec: ExpressionRef, index: ExpressionRef): ExpressionRef; - replace_lane(vec: ExpressionRef, index: ExpressionRef, value: ExpressionRef): ExpressionRef; - eq(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - ne(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - lt_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - lt_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - gt_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - gt_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - le_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - le_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - ge_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - ge_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - abs(value: ExpressionRef): ExpressionRef; - neg(value: ExpressionRef): ExpressionRef; - all_true(value: ExpressionRef): ExpressionRef; - bitmask(value: ExpressionRef): ExpressionRef; - shl(vec: ExpressionRef, shift: ExpressionRef): ExpressionRef; - shr_s(vec: ExpressionRef, shift: ExpressionRef): ExpressionRef; - shr_u(vec: ExpressionRef, shift: ExpressionRef): ExpressionRef; - add(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - sub(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - mul(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - min_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - min_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - max_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - max_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - dot_i16x8_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - extmul_low_i16x8_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - extmul_high_i16x8_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - extmul_low_i16x8_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - extmul_high_i16x8_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - extadd_pairwise_i16x8_s(value: ExpressionRef): ExpressionRef; - extadd_pairwise_i16x8_u(value: ExpressionRef): ExpressionRef; - trunc_sat_f32x4_s(value: ExpressionRef): ExpressionRef; - trunc_sat_f32x4_u(value: ExpressionRef): ExpressionRef; - extend_low_i16x8_s(value: ExpressionRef): ExpressionRef; - extend_high_i16x8_s(value: ExpressionRef): ExpressionRef; - extend_low_i16x8_u(value: ExpressionRef): ExpressionRef; - extend_high_i16x8_u(value: ExpressionRef): ExpressionRef; - trunc_sat_f64x2_s_zero(value: ExpressionRef): ExpressionRef; - trunc_sat_f64x2_u_zero(value: ExpressionRef): ExpressionRef; - }; - i64x2: { - splat(value: ExpressionRef): ExpressionRef; - extract_lane(vec: ExpressionRef, index: ExpressionRef): ExpressionRef; - replace_lane(vec: ExpressionRef, index: ExpressionRef, value: ExpressionRef): ExpressionRef; - eq(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - ne(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - lt_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - gt_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - le_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - ge_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - abs(value: ExpressionRef): ExpressionRef; - neg(value: ExpressionRef): ExpressionRef; - all_true(value: ExpressionRef): ExpressionRef; - bitmask(value: ExpressionRef): ExpressionRef; - shl(vec: ExpressionRef, shift: ExpressionRef): ExpressionRef; - shr_s(vec: ExpressionRef, shift: ExpressionRef): ExpressionRef; - shr_u(vec: ExpressionRef, shift: ExpressionRef): ExpressionRef; - add(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - sub(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - mul(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - extmul_low_i32x4_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - extmul_high_i32x4_s(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - extmul_low_i32x4_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - extmul_high_i32x4_u(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - extend_low_i32x4_s(value: ExpressionRef): ExpressionRef; - extend_high_i32x4_s(value: ExpressionRef): ExpressionRef; - extend_low_i32x4_u(value: ExpressionRef): ExpressionRef; - extend_high_i32x4_u(value: ExpressionRef): ExpressionRef; - }; - f32x4: { - splat(value: ExpressionRef): ExpressionRef; - extract_lane(vec: ExpressionRef, index: ExpressionRef): ExpressionRef; - replace_lane(vec: ExpressionRef, index: ExpressionRef, value: ExpressionRef): ExpressionRef; - eq(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - ne(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - lt(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - gt(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - le(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - ge(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - abs(value: ExpressionRef): ExpressionRef; - neg(value: ExpressionRef): ExpressionRef; - sqrt(value: ExpressionRef): ExpressionRef; - add(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - sub(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - mul(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - div(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - min(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - max(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - pmin(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - pmax(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - ceil(value: ExpressionRef): ExpressionRef; - floor(value: ExpressionRef): ExpressionRef; - trunc(value: ExpressionRef): ExpressionRef; - nearest(value: ExpressionRef): ExpressionRef; - convert_i32x4_s(value: ExpressionRef): ExpressionRef; - convert_i32x4_u(value: ExpressionRef): ExpressionRef; - demote_f64x2_zero(value: ExpressionRef): ExpressionRef; - }; - f64x2: { - splat(value: ExpressionRef): ExpressionRef; - extract_lane(vec: ExpressionRef, index: ExpressionRef): ExpressionRef; - replace_lane(vec: ExpressionRef, index: ExpressionRef, value: ExpressionRef): ExpressionRef; - eq(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - ne(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - lt(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - gt(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - le(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - ge(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - abs(value: ExpressionRef): ExpressionRef; - neg(value: ExpressionRef): ExpressionRef; - sqrt(value: ExpressionRef): ExpressionRef; - add(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - sub(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - mul(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - div(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - min(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - max(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - pmin(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - pmax(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - ceil(value: ExpressionRef): ExpressionRef; - floor(value: ExpressionRef): ExpressionRef; - trunc(value: ExpressionRef): ExpressionRef; - nearest(value: ExpressionRef): ExpressionRef; - convert_low_i32x4_s(value: ExpressionRef): ExpressionRef; - convert_low_i32x4_u(value: ExpressionRef): ExpressionRef; - promote_low_f32x4(value: ExpressionRef): ExpressionRef; - }; - funcref: { - pop(): ExpressionRef; - }; - externref: { - pop(): ExpressionRef; - }; - anyref: { - pop(): ExpressionRef; - }; - eqref: { - pop(): ExpressionRef; - }; - i31ref: { - pop(): ExpressionRef; - }; - dataref: { - pop(): ExpressionRef; - }; - stringref: { - pop(): ExpressionRef; - }; - stringview_wtf8: { - pop(): ExpressionRef; - }; - stringview_wtf16: { - pop(): ExpressionRef; - }; - stringview_iter: { - pop(): ExpressionRef; - }; - ref: { - null(type: Type): ExpressionRef; - is_null(value: ExpressionRef): ExpressionRef; - is_func(value: ExpressionRef): ExpressionRef; - is_data(value: ExpressionRef): ExpressionRef; - is_i31(value: ExpressionRef): ExpressionRef; - as_non_null(value: ExpressionRef): ExpressionRef; - as_func(value: ExpressionRef): ExpressionRef; - as_data(value: ExpressionRef): ExpressionRef; - as_i31(value: ExpressionRef): ExpressionRef; - func(name: string, type: Type): ExpressionRef; - eq(left: ExpressionRef, right: ExpressionRef): ExpressionRef; - }; - i31: { - 'new'(value: ExpressionRef): ExpressionRef; - get_s(i31: ExpressionRef): ExpressionRef; - get_u(i31: ExpressionRef): ExpressionRef; - } - atomic: { - fence(): ExpressionRef; - }; - tuple: { - make(elements: ExportRef[]): ExpressionRef; - extract(tuple: ExpressionRef, index: number): ExpressionRef; - }; - Function: { - getName(func: FunctionRef): string; - getParams(func: FunctionRef): Type; - getResults(func: FunctionRef): Type; - getNumVars(func: FunctionRef): number; - getVar(func: FunctionRef, index: number): Type; - getNumLocals(func: FunctionRef): number; - hasLocalName(func: FunctionRef, index: number): boolean; - getLocalName(func: FunctionRef, index: number): string; - setLocalName(func: ExpressionRef, index: number, name: string): void; - getBody(func: FunctionRef): ExpressionRef; - setBody(func: FunctionRef, bodyExpr: ExpressionRef): void; - }; - try(name: string, body: ExpressionRef, catchTags: string[], catchBodies: ExpressionRef[], delegateTarget?: string): ExpressionRef; - throw(tag: string, operands: ExpressionRef[]): ExpressionRef; - rethrow(target: string): ExpressionRef; - select(condition: ExpressionRef, ifTrue: ExpressionRef, ifFalse: ExpressionRef, type?: Type): ExpressionRef; - drop(value: ExpressionRef): ExpressionRef; - return(value?: ExpressionRef): ExpressionRef; - nop(): ExpressionRef; - unreachable(): ExpressionRef; - addFunction(name: string, params: Type, results: Type, vars: Type[], body: ExpressionRef): FunctionRef; - getFunction(name: string): FunctionRef; - removeFunction(name: string): void; - getNumFunctions(): number; - getFunctionByIndex(index: number): FunctionRef; - addGlobal(name: string, type: Type, mutable: boolean, init: ExpressionRef): GlobalRef; - getGlobal(name: string): GlobalRef; - removeGlobal(name: string): void; - addTable(name: string, initial: number, maximum: number, type: Type): TableRef; - getTable(name: string): TableRef; - removeTable(name: string): void; - addTag(name: string, params: Type, results: Type): TagRef; - getTag(name: string): TagRef; - removeTag(name: string): void; - addFunctionImport(internalName: string, externalModuleName: string, externalBaseName: string, params: Type, results: Type): void; - addTableImport(internalName: string, externalModuleName: string, externalBaseName: string): void; - addMemoryImport(internalName: string, externalModuleName: string, externalBaseName: string): void; - addGlobalImport(internalName: string, externalModuleName: string, externalBaseName: string, globalType: Type): void; - addTagImport(internalName: string, externalModuleName: string, externalBaseName: string, params: Type, results: Type): void; - addFunctionExport(internalName: string, externalName: string): ExportRef; - addTableExport(internalName: string, externalName: string): ExportRef; - addMemoryExport(internalName: string, externalName: string): ExportRef; - addGlobalExport(internalName: string, externalName: string): ExportRef; - addTagExport(internalName: string, externalName: string): ExportRef; - removeExport(externalName: string): void; - getExport(externalName: string): ExportRef; - getNumExports(): number; - getExportByIndex(index: number): ExportRef; - setMemory(initial: number, maximum: number, exportName?: string | null, segments?: MemorySegment[] | null, shared?: boolean, memory64?: boolean, internalName?: string): void; - getMemorySegmentInfoByIndex(index: number): MemorySegmentInfo; - setStart(start: FunctionRef): void; - getFeatures(): Features; - setFeatures(features: Features): void; - addCustomSection(name: string, contents: Uint8Array): void; - getNumGlobals(): number; - getNumTables(): number; - hasMemory(): boolean; - getMemoryInfo(name?: string): MemoryInfo; - getNumMemorySegments(): number; - getNumElementSegments(): number; - getGlobalByIndex(index: number): GlobalRef; - getTableByIndex(index: number): TableRef; - getElementSegmentByIndex(index: number): ElementSegmentRef; - emitText(): string; - emitStackIR(optimize?: boolean): string; - emitAsmjs(): string; - validate(): number; - optimize(): void; - optimizeFunction(func: string | FunctionRef): void; - runPasses(passes: string[]): void; - runPassesOnFunction(func: string | FunctionRef, passes: string[]): void; - autoDrop(): void; - dispose(): void; - emitBinary(): Uint8Array; - emitBinary(sourceMapUrl: string | null): { binary: Uint8Array; sourceMap: string | null; }; - interpret(): void; - addDebugInfoFileName(filename: string): number; - getDebugInfoFileName(index: number): string | null; - setDebugLocation(func: FunctionRef, expr: ExpressionRef, fileIndex: number, lineNumber: number, columnNumber: number): void; - copyExpression(expr: ExpressionRef): ExpressionRef; - } - - interface MemorySegment { - offset: ExpressionRef; - data: Uint8Array; - passive?: boolean; - } - - interface TableElement { - offset: ExpressionRef; - names: string[]; - } - - function wrapModule(ptr: number): Module; - - function getExpressionId(expression: ExpressionRef): number; - function getExpressionType(expression: ExpressionRef): Type; - function getExpressionInfo(expression: ExpressionRef): ExpressionInfo; - - interface MemorySegmentInfo { - offset: ExpressionRef; - data: Uint8Array; - passive: boolean; - } - - interface MemoryInfo { - module: string | null; - base: string | null; - shared: boolean; - is64: boolean; - initial: number; - max?: number; - } - - interface ExpressionInfo { - id: ExpressionIds; - type: Type; - } - - interface BlockInfo extends ExpressionInfo { - name: string; - children: ExpressionRef[]; - } - - interface IfInfo extends ExpressionInfo { - condition: ExpressionRef; - ifTrue: ExpressionRef; - ifFalse: ExpressionRef; - } - - interface LoopInfo extends ExpressionInfo { - name: string; - body: ExpressionRef; - } - - interface BreakInfo extends ExpressionInfo { - name: string; - condition: ExpressionRef; - value: ExpressionRef; - } - - interface SwitchInfo extends ExpressionInfo { - names: string[]; - defaultName: string | null; - condition: ExpressionRef; - value: ExpressionRef; - } - - interface CallInfo extends ExpressionInfo { - isReturn: boolean; - target: string; - operands: ExpressionRef[]; - } - - interface CallIndirectInfo extends ExpressionInfo { - isReturn: boolean; - target: ExpressionRef; - operands: ExpressionRef[]; - } - - interface LocalGetInfo extends ExpressionInfo { - index: number; - } - - interface LocalSetInfo extends ExpressionInfo { - isTee: boolean; - index: number; - value: ExpressionRef; - } - - interface GlobalGetInfo extends ExpressionInfo { - name: string; - } - - interface GlobalSetInfo extends ExpressionInfo { - name: string; - value: ExpressionRef; - } - - interface TableGetInfo extends ExpressionInfo { - table: string; - index: ExpressionRef; - } - - interface TableSetInfo extends ExpressionInfo { - table: string; - index: ExpressionRef; - value: ExpressionRef; - } - - interface TableSizeInfo extends ExpressionInfo { - table: string; - } - - interface TableGrowInfo extends ExpressionInfo { - table: string; - value: ExpressionRef; - delta: ExpressionRef; - } - - interface LoadInfo extends ExpressionInfo { - isAtomic: boolean; - isSigned: boolean; - offset: number; - bytes: number; - align: number; - ptr: ExpressionRef; - } - - interface StoreInfo extends ExpressionInfo { - isAtomic: boolean; - offset: number; - bytes: number; - align: number; - ptr: ExpressionRef; - value: ExpressionRef; - } - - interface ConstInfo extends ExpressionInfo { - value: number | { low: number, high: number } | Array; - } - - interface UnaryInfo extends ExpressionInfo { - op: Operations; - value: ExpressionRef; - } - - interface BinaryInfo extends ExpressionInfo { - op: Operations; - left: ExpressionRef; - right: ExpressionRef; - } - - interface SelectInfo extends ExpressionInfo { - ifTrue: ExpressionRef; - ifFalse: ExpressionRef; - condition: ExpressionRef; - } - - interface DropInfo extends ExpressionInfo { - value: ExpressionRef; - } - - interface ReturnInfo extends ExpressionInfo { - value: ExpressionRef; - } - - interface NopInfo extends ExpressionInfo { - } - - interface UnreachableInfo extends ExpressionInfo { - } - - interface PopInfo extends ExpressionInfo { - } - - interface MemorySizeInfo extends ExpressionInfo { - } - - interface MemoryGrowInfo extends ExpressionInfo { - delta: ExpressionRef; - } - - interface AtomicRMWInfo extends ExpressionInfo { - op: Operations; - bytes: number; - offset: number; - ptr: ExpressionRef; - value: ExpressionRef; - } - - interface AtomicCmpxchgInfo extends ExpressionInfo { - bytes: number; - offset: number; - ptr: ExpressionRef; - expected: ExpressionRef; - replacement: ExpressionRef; - } - - interface AtomicWaitInfo extends ExpressionInfo { - ptr: ExpressionRef; - expected: ExpressionRef; - timeout: ExpressionRef; - expectedType: Type; - } - - interface AtomicNotifyInfo extends ExpressionInfo { - ptr: ExpressionRef; - notifyCount: ExpressionRef; - } - - interface AtomicFenceInfo extends ExpressionInfo { - order: number; - } - - interface SIMDExtractInfo extends ExpressionInfo { - op: Operations; - vec: ExpressionRef; - index: ExpressionRef; - } - - interface SIMDReplaceInfo extends ExpressionInfo { - op: Operations; - vec: ExpressionRef; - index: ExpressionRef; - value: ExpressionRef; - } - - interface SIMDShuffleInfo extends ExpressionInfo { - left: ExpressionRef; - right: ExpressionRef; - mask: number[]; - } - - interface SIMDTernaryInfo extends ExpressionInfo { - op: Operations; - a: ExpressionRef; - b: ExpressionRef; - c: ExpressionRef; - } - - interface SIMDShiftInfo extends ExpressionInfo { - op: Operations; - vec: ExpressionRef; - shift: ExpressionRef; - } - - interface SIMDLoadInfo extends ExpressionInfo { - op: Operations; - offset: number; - align: number; - ptr: ExpressionRef; - } - - interface SIMDLoadStoreLaneInfo extends ExpressionInfo { - op: Operations; - offset: number; - align: number; - index: number; - ptr: ExpressionRef; - vec: ExpressionRef; - } - - interface MemoryInitInfo extends ExpressionInfo { - segment: number; - dest: ExpressionRef; - offset: ExpressionRef; - size: ExpressionRef; - } - - interface DataDropInfo extends ExpressionInfo { - segment: number; - } - - interface MemoryCopyInfo extends ExpressionInfo { - dest: ExpressionRef; - source: ExpressionRef; - size: ExpressionRef; - } - - interface MemoryFillInfo extends ExpressionInfo { - dest: ExpressionRef; - value: ExpressionRef; - size: ExpressionRef; - } - - interface RefNullInfo extends ExpressionInfo { - } - - interface RefIsInfo extends ExpressionInfo { - op: Operations; - value: ExpressionRef; - } - - interface RefAsInfo extends ExpressionInfo { - op: Operations; - value: ExpressionRef; - } - - interface RefFuncInfo extends ExpressionInfo { - func: string; - } - - interface RefEqInfo extends ExpressionInfo { - left: ExpressionRef; - right: ExpressionRef; - } - - interface TryInfo extends ExpressionInfo { - name: string; - body: ExpressionRef; - catchTags: string[]; - catchBodies: ExpressionRef[]; - hasCatchAll: boolean; - delegateTarget: string; - isDelegate: boolean; - } - - interface ThrowInfo extends ExpressionInfo { - tag: string; - operands: ExpressionRef[]; - } - - interface RethrowInfo extends ExpressionInfo { - target: string; - } - - interface TupleMakeInfo extends ExpressionInfo { - operands: ExpressionRef[]; - } - - interface TupleExtract extends ExpressionInfo { - tuple: ExpressionRef; - index: number; - } - - interface I31NewInfo extends ExpressionInfo { - value: ExpressionRef; - } - - interface I31GetInfo extends ExpressionInfo { - i31: ExpressionRef; - isSigned: boolean; - } - - function getFunctionInfo(func: FunctionRef): FunctionInfo; - - interface FunctionInfo { - name: string; - module: string | null; - base: string | null; - params: Type; - results: Type; - vars: Type[]; - body: ExpressionRef; - } - - function getGlobalInfo(global: GlobalRef): GlobalInfo; - - interface GlobalInfo { - name: string; - module: string | null; - base: string | null; - type: Type; - mutable: boolean; - init: ExpressionRef; - } - - function getTableInfo(table: TableRef): TableInfo; - - interface TableInfo { - name: string; - module: string | null; - base: string | null; - initial: number; - max?: number; - } - - function getElementSegmentInfo(segment: ElementSegmentRef): ElementSegmentInfo; - - interface ElementSegmentInfo { - name: string, - table: string, - offset: number, - data: string[] - } - - function getTagInfo(tag: TagRef): TagInfo; - - interface TagInfo { - name: string; - module: string | null; - base: string | null; - params: Type; - results: Type; - } - - function getExportInfo(export_: ExportRef): ExportInfo; - - interface ExportInfo { - kind: ExternalKinds; - name: string; - value: string; - } - - function getSideEffects(expr: ExpressionRef, features: Features): SideEffects; - - const enum SideEffects { - None, - Branches, - Calls, - ReadsLocal, - WritesLocal, - ReadsGlobal, - WritesGlobal, - ReadsMemory, - WritesMemory, - ReadsTable, - WritesTable, - ImplicitTrap, - IsAtomic, - Throws, - DanglingPop, - TrapsNeverHappen, - Any - } - - function emitText(expression: ExpressionRef | Module): string; - function readBinary(data: Uint8Array): Module; - function parseText(text: string): Module; - function getOptimizeLevel(): number; - function setOptimizeLevel(level: number): number; - function getShrinkLevel(): number; - function setShrinkLevel(level: number): number; - function getDebugInfo(): boolean; - function setDebugInfo(on: boolean): void; - function getLowMemoryUnused(): boolean; - function setLowMemoryUnused(on: boolean): void; - function getZeroFilledMemory(): boolean; - function setZeroFilledMemory(on: boolean): void; - function getFastMath(): boolean; - function setFastMath(on: boolean): void; - function getPassArgument(key: string): string | null; - function setPassArgument(key: string, value: string | null): void; - function clearPassArguments(): void; - function getAlwaysInlineMaxSize(): number; - function setAlwaysInlineMaxSize(size: number): void; - function getFlexibleInlineMaxSize(): number; - function setFlexibleInlineMaxSize(size: number): void; - function getOneCallerInlineMaxSize(): number; - function setOneCallerInlineMaxSize(size: number): void; - function getAllowInliningFunctionsWithLoops(): boolean; - function setAllowInliningFunctionsWithLoops(on: boolean): void; - function exit(status: number): void; - - type RelooperBlockRef = number; - - class Relooper { - constructor(module: Module); - addBlock(expression: ExpressionRef): RelooperBlockRef; - addBranch(from: RelooperBlockRef, to: RelooperBlockRef, condition: ExpressionRef, code: ExpressionRef): void; - addBlockWithSwitch(code: ExpressionRef, condition: ExpressionRef): RelooperBlockRef; - addBranchForSwitch(from: RelooperBlockRef, to: RelooperBlockRef, indexes: number[], code: ExpressionRef): void; - renderAndDispose(entry: RelooperBlockRef, labelHelper: number): ExpressionRef; - } - - class ExpressionRunner { - constructor(module: Module, flags: ExpressionRunnerFlags, maxDepth: number, maxLoopIterations: number); - setLocalValue(index: number, valueExpr: ExpressionRef): boolean; - setGlobalValue(name: string, valueExpr: ExpressionRef): boolean; - runAndDispose(expr: ExpressionRef): ExpressionRef; - } -} - -export default binaryen; diff --git a/platforms/Arduino/node_modules/binaryen/index.js b/platforms/Arduino/node_modules/binaryen/index.js deleted file mode 100644 index cf99b7ae..00000000 --- a/platforms/Arduino/node_modules/binaryen/index.js +++ /dev/null @@ -1,11 +0,0 @@ -/** - * @license - * Copyright 2024 The Binaryen Authors. - * SPDX-License-Identifier: Apache-2.0 - */ -var EB=(()=>{var _A=import.meta.url;return async function($A={}){var A=$A,Ag,RA;A.ready=new Promise((g,I)=>{Ag=g,RA=I});var gg=Object.assign({},A),tA="./this.program",WA=(g,I)=>{throw I},qI=typeof window=="object",kA=typeof importScripts=="function",AA=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string",e="",qA,UA;if(AA){let{createRequire:g}=await import("module");var FA=g(import.meta.url),Ig=FA("fs"),Qg=FA("path");kA?e=Qg.dirname(e)+"/":e=FA("url").fileURLToPath(new URL("./",import.meta.url)),qA=(I,E)=>(I=xI(I)?new URL(I):Qg.normalize(I),Ig.readFileSync(I,E?void 0:"utf8")),UA=I=>(I=qA(I,!0),I.buffer||(I=new Uint8Array(I)),I),!A.thisProgram&&1{if(!(I==="unwind"||I instanceof VA||I.context instanceof VA))throw I}),WA=(I,E)=>{throw process.exitCode=I,E}}else(qI||kA)&&(kA?e=self.location.href:typeof document!="undefined"&&document.currentScript&&(e=document.currentScript.src),_A&&(e=_A),e.indexOf("blob:")!==0?e=e.substr(0,e.replace(/[?#].*/,"").lastIndexOf("/")+1):e="",qA=g=>{var I=new XMLHttpRequest;return I.open("GET",g,!1),I.send(null),I.responseText},kA&&(UA=g=>{var I=new XMLHttpRequest;return I.open("GET",g,!1),I.responseType="arraybuffer",I.send(null),new Uint8Array(I.response)}));var f=A.print||console.log.bind(console),gA=A.printErr||console.error.bind(console);Object.assign(A,gg),gg=null,A.thisProgram&&(tA=A.thisProgram),A.quit&&(WA=A.quit);var ZA;A.wasmBinary&&(ZA=A.wasmBinary),typeof WebAssembly!="object"&&T("no native wasm support detected");var GA,xA=!1,t,r,JA,W,a;function Bg(){var g=GA.buffer;A.HEAP8=t=new Int8Array(g),A.HEAP16=JA=new Int16Array(g),A.HEAPU8=r=new Uint8Array(g),A.HEAPU16=new Uint16Array(g),A.HEAP32=W=new Int32Array(g),A.HEAPU32=a=new Uint32Array(g),A.HEAPF32=new Float32Array(g),A.HEAPF64=new Float64Array(g)}var Cg=[],Eg=[],Dg=[],ig=!1;function ZI(){var g=A.preRun.shift();Cg.unshift(g)}var X=0,nA=null,IA=null;function T(g){throw A.onAbort?.(g),g="Aborted("+g+")",gA(g),xA=!0,g=new WebAssembly.RuntimeError(g+". Build with -sASSERTIONS for more info."),RA(g),g}var og=g=>g.startsWith("data:application/octet-stream;base64,"),xI=g=>g.startsWith("file://"),_;if(_="data:application/octet-stream;base64,AGFzbQEAAAAB4gZqYAJ/fwBgAX8AYAF/AX9gA39/fwBgAn9/AX9gAAF/YAN/f38Bf2AEf39/fwBgBH9/f38Bf2AFf39/f38AYAV/f39/fwF/YAZ/f39/f38Bf2AGf39/f39/AGAIf39/f39/f38Bf2ADf35/AX9gB39/f39/f38Bf2AAAGAHf39/f39/fwBgBH9+f38AYAN/f34Bf2ACf34Bf2AEf39+fwBgAn9+AGADf39+AGAEf39/fgBgBH9+fn8AYAh/f39/f39/fwBgA39+fwF+YAV/f39/fgF/YAV/f35/fwBgBX9+fn5+AGAKf39/f39/f39/fwBgAn5/AX9gA39+fwBgAn98AGABfwF+YAJ/fwF+YAV/f39/fgBgBX9/fn5/AGAEfn9/fwF/YAV/f35/fwF/YAt/f39/f39/f39/fwF/YAV+f39/fwF/YAV/f39/fAF/YAt/f39/f39/f39/fwBgDH9/f39/f39/f39/fwF/YAl/f39/f39/f38Bf2AEf39/fgF/YAR/f35+AGAFf39/fn8AYAV/f39/fgF+YAF+AX9gBn9/f39/fgBgB39/fn9/fn4AYAABfmADfn9/AGAHf35/f39/fgF/YAd/f39/f39+AX9gBH9+f38Bf2AGf35/f39/AX9gBX9+f39/AGAGf35/f35+AGACf30AYAp/f39/f39/f39/AX9gBX9/f35+AGADf35+AGACfH8BfGAEf39/fwF+YAZ/fH9/f38Bf2ABfwF8YAF/AX1gBH9/fn4Bf2ADf39/AX5gD39/f39/f39/f39/f39/fwBgB39/f39/fn4Bf2AGf39/f35+AX9gEH9/f39/f39/f39/f39/f38AYAR/f3x/AGAAAXxgBn9/f39/fAF/YAN/f3wBf2ADf398AGAJf39/f39/f39/AGAEf39+fwF/YAR/f39+AX5gBH5+fn4Bf2AHf39+f39/fgF/YAN+f38Bf2AGf39/f39+AX9gAn5+AXxgBn9/fn9/fwF/YAJ/fAF/YAJ+fgF9YAJ/fwF8YAJ/fwF9YAN8fHwBfGADfX19AX1gAnx/AX9gA35+fgF/YAR/f35/AX5gBn9/f35/fwBgBn9/f39+fwBgA39/fwF8YAN/f38BfWAMf39/f39/f39/f39/AGADf3x/AAKzBFgBYQFhAAUBYQFiAAcBYQFjAAYBYQFkAAMBYQFlAAgBYQFmAAkBYQFnAAQBYQFoAAEBYQFpAAcBYQFqAAEBYQFrAAABYQFsAAIBYQFtAAwBYQFuAAoBYQFvAAIBYQFwABABYQFxAAsBYQFyABABYQFzAAMBYQF0AAsBYQF1AA8BYQF2ABoBYQF3AAIBYQF4ABEBYQF5ACwBYQF6AAIBYQFBAEwBYQFCAC0BYQFDAA0BYQFEAE0BYQFFABABYQFGAAQBYQFHAAYBYQFIAAIBYQFJAE4BYQFKAAgBYQFLAAIBYQFMAD8BYQFNAC4BYQFOABEBYQFPAA8BYQFQAAsBYQFRAA0BYQFSAAQBYQFTABEBYQFUAA8BYQFVAA8BYQFWAAkBYQFXAAYBYQFYABoBYQFZABoBYQFaAA8BYQFfAAkBYQEkAAQBYQJhYQAMAWECYmEACgFhAmNhAAoBYQJkYQAPAWECZWEAHwFhAmZhACwBYQJnYQARAWECaGEAEQFhAmlhABEBYQJqYQARAWECa2EAAQFhAmxhAAgBYQJtYQALAWECbmEABAFhAm9hAAwBYQJwYQAIAWECcWEABwFhAnJhAAoBYQJzYQAJAWECdGEADAFhAnVhAAoBYQJ2YQBPAWECd2EALgFhAnhhAFABYQJ5YQBRAWECemEAUgFhAkFhAAoBYQJCYQAIAWECQ2EABgFhAkRhAAgBYQJFYQAFAWECRmEABQFhAkdhAAIBYQJIYQAIA9ZV1FUDAgEDAgYGBgEBAwQQAAQAAQQQAQIAAQEQAQIBAAEGAQcABAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEDBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAgICAQYABAIABwICARACAAACBAEvAwYBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwAAAgACAgIBJQIAACQEBgMwBwIBBAABBxMCExMUBAQBAQcxAQAABgECAi8BAAMKAgQSCgAAJgIABAgFAgACBAIDGAIAE0AKEB4EAQEHGAIDDAQHHQQDBwQAABUCAggEAAYFBAAFAQ4TAAAGAgQnAAEFAQQEBAQVAAACCwAAIAEEBAgGBAIAAAQBBAEBBAQEAB4EAwAAAAMFBRkhBQoHAAkAAAEGBwAJBAoGAAMHBwIEAAAGKAIIFhQDHgYUMgYBBwMBBgQDAwIWAQACAwMHBQASBAYGAwIGAwECAgMHFAYAIAIEAAEBBAMWAQgCAQYBBwEDAQEGAwICBggAAgMFBAEAAAAEFAAAAggGBAECAAEECAIJAQADUwQAFgQEAQIBAgEFIgoEGAQGBgIABAJBBAcGBQAKCggCBgRUAgcBFQQEAQMHAQRABwMGBAEBBAIkDQ0EAAAGAAEWBgIABAYBBwIUAQACCgIDAgoECAYIAwACAwECBwAAAAAhATNBAAAAAQQAAgcCBhgBBgAAAAYCBxMGBgIBAQEGBwUAAQMCAQABBwQBAgAIAgQHAAEDBAEZARkCBAFVAAEBBAACAQEAAAIGBAAAAAAVAQAAAAAEAlYABAEEABMEAwAABAAKBwAEAQEBAAEGAQcAAAoMAQAMAQgGBQUGAQEGAAQDEwEBAAQBAlcGCAQBAQsDAAALKSkABAICIAEAASEABAEAAQAAAQAAAAAAAQcAAAEAAQQCAQAAAAAMAAAGBAAAAAABAQEEAAMCAAAAAAQGEwcEAQAAAAEAAAEBAAAHAQEBAAAAAAAAAgEAAAIHFQAAAAEBAAAAAAAAAAAABBAABAEBAQUAAQgFAQQEAAQCCgoKCgwHKAQGBAYIBgQDAAADAAQCAQAGAAIWAAIAACETAAQFAggFBQczBgIABRUXGgoDBAMQBAgCAAEBAAAECAADAAEAAAEAAQABAAEEAAEBAQQBBwEAABYBBAEIAAEAAQkCFgAJAAQcBAIEAgQHBAAYAAoGAAEBAAIoAQQAAQAWBgACFQQBBwABAQQEBAEABgEBAAMBAQEIAwQDAAcCAgAFAQAAAAcBAAABAQcBAAEAAEIVAwcEAAEAAgEJGQkACgoKCwoKDAwKDAwJDAkJCQsCBQMGAwACBwAEAwYGAxQEBwcBAAEAAQUBAQAEAwIABAEBAAAAAxABWDQmDgEMBAICAgYPAA8BAAUBDgYMAAICBAQEAggBAQEBAQAGAAMDAwAJAAMAAAADAAIBBwQAAAAAAAADARoJAQcIAAAAAAQIARcAAAAAAAMDAAMDBQEABwAABAQEAwUFAgIUBQABAQEABwcFBQUBBQUAAQAIBwAGAgQBAAECFQEABQUABwAFBwIBAAQEBAUABQoFBQgIBAYAAAEABQUAAgUFAAUFBQUSAgEHAQcEBgABAQAFBQUFBQUGAQcBCQEAAAUFBQUFBQUFAAABAQEAAAAEAAEBAQAEAAMCBAUFBQEFBQwFBQUABQUFBQMFBAUJCQoFCgoKDAsFCQoJBQkJBQkJDAwFDAwKBwwEAVkAAQIaAgAHBAkFBgYGHgYGAwUABCMjAAEDBAYABwcHBwcAAAQEBAcBBAEFAQUFBQUUBAIqADMHAgAHBRYBAQEBAQEBAAkDBwEFAyMFBQcHAxcAAAQFBAIBBwIEBSo1BSIRAwcQBAQEAQEABQYCBQQEAAUtCQYtCQYQAQAAAQIBAQIAAQEBAQIHAQEACAQQAQEAAAAAABcCAgEEAwcBBgYMCQAAAAIEAQAAAwIHBAACAQABCQYBBwAAAAAEAAIAAAQAAgAABAACAAAABAACAAAHAAAEAAIAAAACAAACAAIAAwECAQIBAQACDAYJAAkMBgkJBAcMBgkBCAABAQAIBgACAwACAAEEAAIDAAACBAQBAgEEAQEAAAAAAAAAAwMDAwADAAEBBwQAAgACAQAKBAQEBAQEAgIEBAAABQQIAAAAAAAAAAAAAAQAAAAAAAAAAAQEAAAAAQEBAAABAAAAAwAAAQIIBloICQQHAAEJBAcBBQEFCAcRAAIBAQACAgICAgIABAQABgsAAAEAAAABAwcXBgIBAAQCBgYAAwIDAQkBAwYGAwQCAQEBBgUCAAIIAQACAQMEBgUFBQIXAAMCCRkABR4AAgAABAEBBwYDAAICAgkAAwMBBAYABQUDAQcCAAIABQIBAQQFCQAGDAUJAAAFAAABBQAFAAAIBQAABQUFAAAFAAAABQUFAAAAAQUABQUAEwQABAAAAQACAgcHBgUEBQEABQIHBQQAAgEAA1s2AwEBAgUFAAAGBAUHAAABBAACCQQGBQUBAAcICQkKCQkJCQkFDAkKCgoKBwkJDAkJDAkJCQkMCQwFBQkBGAEBAQMEAAEDAwEAAgFcCQcGBAQHBANdXgYGBgMGBgYFBgYGBgYEBgYGBgQGBAYDBgI3FQYEBgQCAwIAAgACBAAABAIGBgYJBAIBAQAJBAYHAAMAARMHAA0ACwJfYAAQBBcUAQIBAQMBAQEEAAAEAAAAAB4GAAIJBAInCQQEBAIgBgEYAgQEAgJhBmIFBAEBAAQBAAAAAwMDAwQBBAcCAgEAAwAAAAUFODklOjs8N2M9ZGUBCQQDABgHAxoEBAICDQIKAgoNDQoNDQICAgEBAQMFAQABAQABBgYGCQQDAAAIDAkMDAkMDAIGCwYHZgJnA0MICwhDAAIIFwAAAgYEBgIEBAQEAgMDAgYjDgEBAQECAQYGAwQCAgIHBgQEAQIEAgECBAcGAgcdBgQGABdCBwIPChkeJAcGBAEXAgEAAQIEAQAEAAAAAAAAAAAAAAYAAAAAAAAAAwACAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAIAAAAAAAAAAAAAAgAAAAAAAAAAAAACAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAIAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAAAAMAAgIAAwAAAQwBAwAAAgMDAwMDAwMDAAMDAwMDAAICAwAADAABAwACAwACAAACAAIAAgACAAICAAIDAAIDAAICAwMHAgACAAAAAAAAAAIAAAAAAAAAAAAAAgAAAAAAAAAAAAACAAAAAAAAAAAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAACAAAAAAAAAAAAAAIAAAMGFgYDAAAAAAAABgIAAwACAgQDAAABBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAACAAAAAAAAAAAAAAIAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAACAgMABAQAAgAGAgAAAAAAAgIDAAAAAggIAwAAAwACAgMAAAABAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAgAAAQcCAAECAAAAAAAAAgIDAAABAgMCAQIAAAIDAAAACgIAAgMAAAAAAAcAAAAAAAAAAAAAAgAAAAcCAwAEAAECAAAJAwAAAAAAAAAAAAAAAgIDAAABAgAAAAAAAAAGAAIDAAABAAAAAAAAAAAAAAIDAAABAgYAAAAAAAIAAAAAAgMAAAEGAAAAAAAAAAABAAIAAAIDAAABAAIDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAIAAAAAAAAAAAAAAgAAAAAAAAAAAAACAAAAAAAAAAAAAAIAAAAAAAAAAAAAAgAAAAAAAAAAAAIAAgMAAAIDAAICAwEAAAAAAA0AAAAAAAAAAAAAAgAAAAAAAAAAAAACCgAAAAAAAAAAAAAFAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAgYCAQAAAAIDAAABFgEFODkDAwADAAACAgMAAAEEAAACAAAAAAADAAAAAQIDAAICAwAAAAEEAGgHAAQIAAEBBgAAAAABAAAAAQIDAgEDAwIDAAAAAAEAAAAAAAAHAwEFAAAAAgABAgABAAgAAAcCAgEBAwAAAQIAAAACAwAAAQICAQACAQIDAQECAAADAQAAAAACAAIDAAACAQICAwAAAgEAAAoAAAIDAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAACAAAAAAAAAAAAAAIAAAAAAAAAAAAAAgAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAACUJAAMEAAIEAgIEAAIEAAIEAgQAAAIEAgAAAAACAgAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAIIAAAAAAAAAAAAAAIAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAgADAAABAgAAAAAAAAAAAAAAAAIAAAAAAgAAAAACAwIAAAEAAAICAwAAAAAAAAACAgADIQAAAQACCgAAAwAAAAAAAAAAAAAAAAAAAAcAAgMAAAABAgAEAAIEAAIAAAECBAACAAMAAAADAAICAwAAAAECAwACAAABAgAAAAACAAAAAAAAAAAAAAIJAAAAAAAAAAAAAAIAAAAAAAAAAAAAAgAAAAAAAAAAAAACAAAAAAAAAAAAAAIAAAAAAAAAAAAADQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAgIDAAABAAMABwACBgECAgMAAAICAwAAAAAAAgAAAAAAAAAFAgACAAALAAAAAggAAwMEAAAAAAAAAAAAAAIAAAAAAAAAAAAAAgAAAAAAAAAAAAACAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAA8AAAAAAAAAAAAACgAAAAAAAAAAAAAEAAAAAAAHBwADBgACAgMAAAECBAIDAAAAAAADAAAEAgADAAICAwAAAAEEAAIAAgMAAgIDAAAAAAAAMAAAAAACAwAAAAIAAwAAAQIAAgMAAAAAAAAGAAIEBAAAAgQOAwYMBAAEBAQEBQUFAAAAAAUAAAAAAAAAAAAABQAAAAAAAAAAAAAFAAQAAAACAwAAAQIAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAIAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAIDAAQAAAAAAAAAAAAKAAIDAgAAAQICAwEGAAACAwEAAAAAAAAAAAAAAAAAAAACAAIAAAACBwAAAAAAAgMAAAAAAAAACgAAAAAAAAAAAAICFAABAgAAAQIAAAAAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAABQsAAAAAAAAAAAAABAAAAAAAAAAAAwIFAAAAAAECAAEFAgMAAAECBQAEAAIDAwUDAwYGAQYAAgYAAgAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAUAAAAAAAAAAAAABQAAAAAAAAAAAAAFAAAAAAAAAAAAAAUAAAAHAAAFAAAAAAAAAAAAAAUAAAAAAAAAAAAABQAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAACAwAAAQICAwAIAAMAAAAAAAADAAICAAABBAACBgQBAQACAQIEAAIEAgMAAAAAAAIABwAAAAAAAAAAAAABAAAAAAMAAAACAwMAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAADAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIDAAAIAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMAAAAAAAAAAAAAAQAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAIAAAAAAAAAAAAAAQAAAAAAAAAAAAABAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAwAAAAIDAAAABDoGAAECBAACAAMAAwMAAAAAAAAAAAIDAAAPAAAAAAAAAwAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAABAAAAAgMAAAAAAgAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgMEAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQAAgQAAgAABQAAAAAAAAAAAAUJBgAAAAAFAAEGAAIGAAIFCw8PCwkCAAAABQAAAAAAAAAAAAAFAAAAAAUGAgMABQABAQAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAEAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAACAAAAAAAAAAAAAAIHAAAAAAAAAAAAAAIAAAAAAAAAAAAACwAAAAAAAAAAAAAEAAAAAAAAAAAAAAQAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAACAAAAAAAAAAAAAQAAAAAABgEBwAAAAIDAAAAAgMBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAgAAAAAAAAAAAAACAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAgQEBAQGBgIDAwMDAwcDBAIEAAAACwAAAAAAAAAAAAAFAAAAAAAAAAAAAAUAAAAAAAAAAAAABQAAAAAAAAAAAAAFAAAAAAAAAAAAAAUAAAAAAAAAAAAABQAAAAAAAAAAAAAFAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAEAAgMCAwIDAAAAAAAAAAADAAAAAQMAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAIAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAACAwIAAAAAAAAEBwIAAAECAwACAgMAAAECAwAAAAAHAAAAAAIAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAIAAAMAAgIDAAIAAQECCQIBAAMAAAECOwICAwAAAAICAgAHAAYEDQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAD4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIDAAABAgAHAAACAwEEAAIAAAAAAAICAwEAAAAAAAMAAAAAAAADAAICAwACDgMAAAAABAAEAgACAAAAAAAAAAIAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAzwABgAAAAACAwAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAgAAAAAAAAAAAAACAAAAAAAAAAAAAAIAAAAAAAAAAAAAAgAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAgAAAAAAAAAAAAAGAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAGAAAAAAAAAAAAAAUAAAAAAAAAAAAABAAAAAAAAAAAAAAEAAAAAAAAAAAAAAQEAAAAAAAAAgMABQABAgIDAAAAAAAAAAMCAAcAAAECBQAAAAAAAAAAAAAFAAAAAAAAAAAAAAIAAAAAAAAAAAAAAgAAAAAAAAAAAAACAAAAAAAAAAAAAAIAAAAAAAAAAAAAAgAAAAAAAAAAAAACAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAADBwwEAAQEAAIDAgUAAgMABAABAAIDAAQAAQIDAgMCAwAAAAAABAsAAwIEAAQAAAAAAAUAAAAAAAIAAAAFAAAAAAAAAAAAAAQAAAAAAAAAAAAABAAAAAAAAAAAAAACAAAAAAAAAAAAAAQAAAAAAAAAAAAABAAAAAAAAAAAAAAFAAAAAAAAAAAAAAUAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAEAAAAAAAAAAAAAAIAAAAAAAAAAAAAAgAAAAAAAAAAAAACAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAABgADBgYCAwAAAQAACgQEAAAAAgMAAAECAgMAAgAAAwcAAAAAAAAABQAAAAAABAcEAwcAAAAAAgMAAAABAgAAAgMABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIDAAAEAAIGAAIAAAADAAICAAABAAAAAwACAAMAAgIDAAABBAACBAACAwACBAICAgICAgMBAgAAAAUAAgYDAQIAAAIFAAMBAgAFAAAAAAUAAAAAAAUAAAAAAAAAAAUCAwAFAgMAAAECBQEEAgUEAAAIAAUDEg0CAAUHBgAHAAAFAAMAAAMAAgIAAAEDAwMDAwMHAAABAQYEBgAAAAEAAgMAAAYAAgQCAgACAgEBBAMBAgACAAIHBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUABQUFBQUFBQUFBwQFBQUFBQUFBQUFBQUFBQUFBQUFBQEFBQUFBQUFBQUFBgUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQIFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUHBQEEBgYDAwMJEQAAAAICAwEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAUAAAAAAAAAAAAABQAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwgAFRUAIAABGQkABAMAAgQEAAcAAAIDAAEiAAI+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAIAAAAAAAAAAAAAAgAAAAAAAAAAAABFAAAAAAAAAAAAAEYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQABAAAABACAAkJKgkHAAAGJAgKAwMDAwMDAwQDAgAHAAAABwAGBAAAAhIAAAMAAAMAAAQGBgYGBgIGBgYGBgYGBgYGAwYGBgYGBgYGBgYGBgYGBgYGBgYGAgYGBgYGBgYGBgYEBgYGBgYGBgYGBgIGBggIAAIAAAAABAACAAAABgMAAAAAAAAAAAIAAAsAAAAAAgACAgACAwMABAAENAAAAgAABAIAAwACAgAAAAEAAwMEEAIHAgACAAEDAAAGAgACAgAAAAACJgICCAAAAAACAAAAAAAAAAAAAAQAAAAAAAAAAAAAAgAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAQBAAAAAAAAAAAAAgAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAgAAAAAAAAAAAAACBQAAAAAAAAAAAAAIAAAAAAAAAAQAAwcABwMDFCIGAAACBwcEEhkSABISFRsbDg4ODg4CDh0xBAAAAApHGgIEBxQDAQIEAQQjBwMAAgQEBAAEGDI9NQIKBwAABAAAAAACAwADAQAAAAAEAAAAAAAAAAAAAAMAAAAAAAAAAAAAAgAAAAAAAAAAAAACAAAAAAAAAAAAAAQAAAAAAAAAAAAABAAAAAAAAAAAAAABAAAAAAAAAAAAAAoAAAAAAAAAAAACAwACAAAAAAACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAgAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAACAgIAAwMCAAAAAAALAAAAAAAAAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAIAAAAAAAAAAAAAAgAAAAAAAAAAAAACAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAgAAAAAAAAAAAAAIAAAAAAAAAAAAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAgAAAAAAAAAAAAIAAAAAAgQEBAIAAAAAAQIAFwYEAg0EAgICAAACFAAAAgAnAgIHAgIAAgACCAAEBAECAAYEAAAGAgAEBwMDAwMDAwIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEAwMDAwMDAwMDAgMDAwMDAwMDAwMEAwMDAwMDAwMDAwgDAwMDAwMDAwMDAwMDAwMDAwMDAwgDAwMDAwMDAwMDAAMDAwMDAwMDAwIDAwMDAwMDAwQDAwMDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAABpAAAAAAIAAAAAAAAAAAAAAAAAAAADAwMKAwMDAwMDAwMDBwAHBwcHBwcHBwcHAAcDAwMDAwMDBAMABAcAAQAEAgAEAAAAAgICAiJFPkYDAgkMBwAJAAQGBgIEAgMCAggGAgkJAgcGBAMGBwYCBAgCAAACAgsFBQUFBQUFBQUCBQUEBQAFBgQFBQIFAwQDBAIEBgAAAgIGAAADAwAEBAIDAwICAgICBAQCBAQNAAMEAwIRBBEPCj8uEQsNChECDAIIDwkPHywaEQQEEQsPGg8ICwcJCAYMCgwICQMCAwMAAgICAgIGDAIMCQkHBwcECQwGEBABAAECBAMDAgIGAAYDAEgEBAEEAAQBBQEACgYIBgQGBAEKAAYIBgQGBAgICAYCCgIKAgoNAg0BAgAAAAICAQAACAABAgICAgICAgICAgICAgICAAEAAAEBAQEQAAEQAQEBAQEBAQECAQEBAQEBAQEBAQIBAQEQAQEBAQEMAgwLSR9KC0kIH0oGBg8AAAAfKQ8GDwMAAB8pDwIPDw0LCwILCwsNCwILCwsLCksRCCscChwRCgoFCksRKxwKHAARCgoLCwMLCwsLCwcACwILAAsLCwcLCwsLBAsBAQQCAwsGBwoGBwoCBAICAAIEBgAEAgIEAAQGAAICARMDAgIGBAECAQIBAgQBAgECAQIHCwEEBAICBwUdBgABAgIFHQQEAgAFAgYCBQYCBgoFKxwcCgoKAgIFAwMGDAwCBQUCAgICBQYFAgYFAgI2BAYGAEQCBBsbBgIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAIAAAAAAAAAAAAAAgAAAAAAAAAAAAACAAAAAAAAAAAAAAgAAAAAAAAAAAAAAwAAAAAAAAAAAAAEAAAAAAAAAAAAAwAAAAAAAAEEBgQAAgAAAgIBAgECBAcIBAUABAAGAwgGBgYACAIDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAACAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAgAAAAAAAAAAAAACAAAAAAAAAAAAAAIAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAACBQQJAXABvL4BvL4BBQcBAYACgIAEBg4CfwFBkOXLAgt/AUEACwfpQ6cLAklhAgACSmEAugwCS2EAgQMCTGEAkAMCTWEAuAMCTmEAtwMCT2EA7gMCUGEAnQQCUWEAlFACUmEAllACU2EAnlACVGEAmFACVWEAk1ACVmEAiVACV2EAnFACWGEAjVACWWEAilACWmEAi1ACX2EAjFACJGEAjlACYWIAkFACYmIAj1ACY2IAhAMCZGIAm1ACZWIAmlACZmIAnVACZ2IAl1ACaGIAgQMCaWIAhAMCamIAkAMCa2IAgQMCbGIAhAMCbWIAkAMCbmIAuAMCb2IAtwMCcGIA7gMCcWIAnQQCcmIAwQQCc2IAuAUCdGIAkgYCdWIAkQYCdmIAnAcCd2IAyAgCeGIA+QgCeWIAvjYCemIAqDYCQWIAnTYCQmIAyTYCQ2IAszYCRGIArAQCRWIAkjYCRmIA1FMCR2IA1VMCSGIA2lMCSWIAz1MCSmIAi00CS2IAjE0CTGIAik0CTWIAoBkCTmIAlRkCT2IA7QQCUGIAklACUWIAlVACUmIAgQMCU2IA4woCVGIAhAMCVWIAkAMCVmIAuAMCV2IAtwMCWGIA7gMCWWIAnQQCWmIA0QQCX2IAwQQCJGIAuAUCYWMAkgYCYmMAkQYCY2MAnAcCZGMAyAgCZWMAjwkCZmMA9AkCZ2MA2gsCaGMA2wsCaWMA3AsCamMAhAsCa2MA/wkCbGMA/gkCbWMA1AcCbmMAiwoCb2MAgwoCcGMApAsCcWMAnwsCcmMAkgsCc2MAjgsCdGMAnAsCdWMA+QgCdmMAgAsCd2MAygcCeGMAswoCeWMAgwsCemMAwAoCQWMA/QoCQmMA/AoCQ2MA4goCRGMAmAsCRWMAjAsCRmMAigsCR2MAsAoCSGMAiAsCSWMAvAoCSmMAxQoCS2MA5QoCTGMA5woCTWMA5AoCTmMAogoCT2MA5goCUGMAkAoCUWMAhwsCUmMAiQsCU2MApgoCVGMArgoCVWMAgQsCVmMAjQoCV2MAwQoCWGMAvgsCWWMAxgoCWmMA1AoCX2MAoQoCJGMAoAcCYWQAjwoCYmQAhQsCY2QAiAwCZGQA0woCZWQA9QsCZmQAiwwCZ2QA+QsCaGQA5wsCaWQA1woCamQAgQwCa2QAngwCbGQA+AsCbWQA1goCbmQAsgoCb2QAmgwCcGQA2QsCcWQA1QoCcmQAvQoCc2QAlwwCdGQA1wsCdWQA6AoCdmQA/goCd2QAjAoCeGQAtgsCeWQA2AoCemQAxAoCQWQAwwoCQmQA4QoCQ2QAgQMCRGQAhAMCRWQAkAMCRmQAuAMCR2QAtwMCSGQAgQMCSWQAhAMCSmQAygcCS2QAkAMCTGQAtwMCTWQA1AcCTmQAwQQCT2QAoAcCUGQAsAkCUWQAmA8CUmQAnA8CU2QAog8CVGQAoA8CVWQA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5j4CeWoAiz8CemoA1QoCQWoAvQoCQmoAlwwCQ2oA1wsCRGoAuAUCRWoAkgYCRmoAkQYCR2oAwVMCSGoAoVMCSWoA1yQCSmoA8T4CS2oAlT8CTGoA3D4CTWoAhD8CTmoA6AoCT2oA/goCUGoAjAoCUWoAq1YCUmoAuVMCU2oA/yQCVGoApUICVWoA2i0CVmoAhDECV2oA2iMCWGoAtgsCWWoA2AoCWmoAxAoCX2oAwwoCJGoA6CMCYWsA4QoCYmsA5A4CY2sAhg8CZGsAwFUCZWsAsFMCZmsA9CQCZ2sAmkICaGsA0C0CaWsA+TACamsA0SMCa2sA4SMCbGsAuBACbWsA4A8CbmsAng4Cb2sA1g4CcGsA0A8CcWsAyw8CcmsA0w8Cc2sAzQ8CdGsA4w4CdWsAhQ8CdmsA/w8Cd2sA8g8CeGsAgQMCeWsAhAMCemsAkAMCQWsAuAMCQmsAtwMCQ2sA7gMCRGsAnQQCRWsA0QQCRmsAwQQCR2sAuAUCSGsAkgYCSWsAkQYCSmsAgQMCS2sAhAMCTGsAkAMCTWsAuAMCTmsAtwMCT2sA7gMCUGsAnQQCUWsA0QQCUmsAzCQCU2sAtiQCVGsAwSQCVWsAqyQCVmsArg8CV2sAuw8CWGsAqQ8CWWsAtA8CWmsAsw8CX2sA5g8CJGsAqw8CYWwAuQ8CYmwAsg8CY2wAvA8CZGwAqg8CZWwA4Q8CZmwAlRACZ2wAlBACaGwA7Q4CaWwA4g4CamwA8Q8Ca2wAvhECbGwAnA4CbWwA5g0CbmwAvxECb2wAsAkCcGwAu1ICcWwA8yACcmwA+iACc2wAkCECdGwA9SACdWwAhSECdmwA9CACd2wAj0ICeGwAgQMCeWwAhAMCemwAkAMCQWwAgQMCQmwAhAMCQ2wAkAMCRGwAuAMCRWwAgQMCRmwAhAMCR2wAkAMCSGwAuAMCSWwAtwMCSmwA7gMCS2wAnQQCTGwA0QQCTWwAwQQCTmwAgQMCT2wAhAMCUGwAkAMCUWwAuAMCUmwAtwMCU2wAgQMCVGwAhAMCVWwAkAMCVmwAuAMCV2wAtwMCWGwA7gMCWWwAnQQCWmwA0QQCX2wAgQMCJGwAhAMCYW0AkAMCYm0AgQMCY20AhAMCZG0AgQMCZW0AhAMCZm0AgQMCZ20AhAMCaG0A9UgCaW0AwDUCam0AnzICa20Ay0cCbG0A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sQGgAccBugGwAa8BoQHRAdABwQHMAcQBrgGtAX+cAb4BmwGZAZ8BgQGYAawBqwHOAZ4BqgGXAYABe359hQG2AYQBlgHKAbUByQHAAdMB1QHUAbQBuQGpAbMBuAG/AagBtwGnAaYBpQHDAZUBmgGUAZMBkgGDAZEBkAGPAY4BjQGMAYsBnQHABd8+8QpkswJb3T7aAc0B1wHLAcUB2z7aPtsB4gHPAdgB1gHSAb0BvAG7AbIBggGKAYkBiAGHAYYBsQGgAccBugGwAa8BoQHRAdABwQHMAcQBrgGtAX+cAb4BmwGZAZ8BgQGYAawBqwHOAZ4BqgGXAYABe359hQG2AYQBlgHKAbUByQHAAdMB1QHUAbQBuQGpAbMBuAG/AagBtwGnAaYBpQHDAZUBmgGUAZMBkgGDAZEBkAGPAY4BjQGMAYsBnQHDPtoBzQHXAcsBxQHcAdkB2wHiAc8B2AHWAdIBvQG8AbsBsgGCAYoBiQGIAYcBhgGxAaABxwG6AbABrwGhAdEB0AHBAcwBxAGuAa0Bf5wBvgGbAZkBnwGBAZgBrAGrAc4BngGqAZcBgAF7fn2FAbYBhAGWAcoBtQHJAcAB0wHVAdQBtAG5AakBswG4Ab8BqAG3AacBpgGlAcMBlQGaAZQBkwGSAYMBkQGQAY8BjgGNAYwBiwGdAVu9PtoBzQHXAcsBxQG3D7YP2wHiAc8B2AHWAdIBvQG8AbsBsgGCAYoBiQGIAYcBhgGxAaABxwG6AbABrwGhAdEB0AHBAcwBxAGuAa0Bf5wBvgGbAZkBnwGBAZgBrAGrAc4BngGqAZcBgAF7fn2FAbYBhAGWAbUPtQHJAcAB0wHVAdQBtAG5AakBswG4Ab8BqAG3AacBpgGlAcMBlQGaAZQBkwGSAYMBkQGQAY8BjgGNAYwBiwGdAVu5PtoBzQHXAcsBxQG4Prc+2wHiAc8B2AHWAdIBvQG8AbsBsgGCAYoBiQGIAYcBhgGxAaABxwG6AbABrwGhAdEB0AHBAcwBxAGuAa0Bf5wBvgGbAZkBnwGBAZgBrAGrAc4BngGqAZcBgAF7fn2FAbYBhAGWAcoBtQHJAcAB0wHVAdQBtAG5AakBswG4Ab8BqAG3AacBpgGlAcMBlQGaAZQBkwGSAYMBkQGQAY8BjgGNAYwBiwGdAakDtD7aAc0B1wHLAcUB3AHZAdsB4gHPAdgB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mAGsAasBzgGeAaoBlwGAAXt+fYUBtgGEAZYBygG1AckBwAHTAdUB1AG0AbkBqQGzAbgBvwGoAbcBpwGmAaUBwwGVAZoBlAGTAZIBgwGRAZABjwGOAY0BjAGLAZ0Biz2KPYk9ZIQ9lQWUBYE9ZNkK/zz+PP08W/w8sAL7PP0IlgOyFpI8lDyWPM0BlTzLAcUB3AHZAdsB4gHPAdgB1gHSAb0BvAG7AbIBggGKAYkBiAGHAYYBsQGgAccBugGwAa8BoQHRAdABwQHMAcQBrgGtAX+cAb4BmwGZAZ8BgQGYAawBqwHOAZ4BqgGXAYABe359hQG2AYQBlgHKAbUByQHAAdMB1QHUAbQBuQGpAbMBuAG/AagBtwGnAaYBpQHDAZUBmgGUAZMBkgGDAZEBkAGPAY4BjQGMAYsBnQH6PPk8+Dz3PPY89Tz0PPM88jzxPPA87zzuPO086zzqPOk86DznPOY85TzkPOM84jzhPOA83zzePN083DzbPNo82TzYPNY81TzUPNM80jzRPNA8zzzOPM08yzzKPMk8yDzHPMY8xTzEPMM8wjzAPL88vjy9PLw8uzy6PLk8uDy3PLU8tDyzPLI8sTywPK88rjytPKw8qjypPKg8pzymPKU8pDyjPKI8oTyfPJ48nTycPJs8mjyZPJg8lzywO687kTyQPI88jjyNPIw8izyKPIk8iDyHPIY8hTyEPIM8gjyAPP87/jv9O/w7+zv6O/k7+Dv3O/U79DvzO/I78TvwO+877jvtO+w76jvpO+g75zvmO+U75DvjO+I74TvgO9873jvdO9w72zvaO9k72DvXO9U71DvTO9I70TvQO887zjvNO8w7yzvKO8k7yDvHO8Y7xTvEO8M7wjvAO787vju9O7w7uzu6O7k7uDu3O7Y7tTu0O7M7sjuxO846zTrMOss6yjrJOsg6xzrGOsQ6wzrCOsE6wDq/Or46vTq8Ors6uTq4Orc6tjq1OrQ6szqyOrE6sDquOq06rDqrOqo6qTqoOqc6pjqlOqM6ojqhOqA6nzqeOp06nDqbOpo6mDqXOpY6lTqUOpM6kjqROpA6jzqNOow6izqKOok6iDqHOoY6hTqEOoI6gTqAOv85/jn9Ofw5+zn6Ofk59zn2OfU59DnzOfI58TnwOe857jnsOes56jmuO607rDurO6o7qTuoO6c7pjulO6Q7ozuhO6A7nzueO507nDubO5o7mTuYO5Y7lTuUO5M7kjuRO5A7jzuOO407izuKO4k7iDuHO4Y7hTuEO4M7gjuBO4A7/zr+Ov06/Dr7Ovo6+Tr4OvY69Tr0OvM68jrxOvA67zruOu067DrrOuo66TroOuc65jrlOuQ64zriOuE64DrfOt463TrcOts62jrZOtg61zrWOtU61DrTOtI60TrQOs865znmOdcB5TnkOdwB2QHbAeIBzwHYAdYB0gG9AbwBuwGyAYIBigGJAYgBhwGGAbEBoAHHAboBsAGvAaEB0QHQAcEBzAHiOa4BrQF/nAG+AZsBmQGfAYEBmAGsAasBzgGeAaoBlwGAAXvhOX2FAbYBhAGWAcoBtQHJAcAB0wHVAdQBtAG5AakBswG4Ab8BqAG3AacBpgGlAcMBlQGaAZQBkwGSAYMBkQGQAY8BjgGNAYwBiwGdAXnECP4F3zn9Bd45ZNw5gg/bOeME/gTaOZgH2TnYOdoBzQHXAcsBxQHcAdkB2wHiAc8B2AHWAdIBvQG8AbsBsgGCAYoBiQGIAYcBhgGxAaABxwG6AbABrwGhAdEB0AHBAcwBxAGuAa0Bf5wBvgGbAZkBnwGBAZgBrAGrAc4BngGqAZcBgAF7fn2FAbYBhAGWAcoBtQHJAcAB1TnUOdM5tAG5AakBswG4Ab8BqAG3AacBpgGlAcMBlQGaAZQBkwGSAYMBkQGQAY8BjgGNAYwBiwGdAdMCuwWAD/8OuwXSOdoBzQHXAcsBxQHcAdkB2wHiAc8B2AHWAdIBvQG8AbsBsgGCAYoBiQGIAYcBhgGxAaABxwG6AbABrwGhAdEB0AHBAcwBxAGuAa0Bf5wBvgGbAZkBnwGBAZgBrAGrAc4BngGqAZcBgAF7fn2FAbYBhAGWAcoBtQHJAcAB0wHROdQBtAG5AakBswG4Ab8BqAG3AacBpgGlAcMBlQGaAZQBkwGSAYMBkQGQAY8BjgGNAYwBiwGdAdA5ecc5hgnaAc0B1wHLAcUB3AHZAdsB4gHPAdgB1gHSAb0BvAG7AbIBggGKAYkBiAGHAYYBsQGgAccBugGwAa8BxDnRAdABwQHMAcQBrgGtAX+cAb4BmwGZAZ8BgQGYAawBqwHOAZ4BqgGXAYABe359hQG2AYQBlgHKAbUByQHAAdMB1QHUAbQBuQGpAbMBuAG/AagBtwGnAaYBpQHDAZUB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xAGuAa0Bf5wBvgGbAZkBnwGBAZgBrAGrAc4BngGqAZcBgAF7fn2FAbYBhAGWAcoBtQHJAcAB0wHVAdQBtAG5AakBswG4Ab8BqAG3AacBpgGlAcMBlQGaAZQBkwGSAYMBkQGQAY8BjgGNAYwBiwGdAeYy2gHNAdcBywHFAdwB2QHbAeIBzwHYAdYB0gG9AbwBuwGyAYIBigGJAYgBhwGGAbEBoAHHAboBsAGvAaEB0QHQAcEBzAHEAa4BrQF/nAG+AZsBmQGfAYEBmAGsAasBzgGeAaoBlwGAAXt+fYUBtgGEAZYBygG1AckBwAHTAdUB1AG0AbkBqQGzAbgBvwGoAbcBpwGmAaUBwwGVAZoBlAGTAZIBgwGRAZABjwGOAY0BjAGLAZ0BqQPdMtsy2jLTAtky2DLXMtAyzzLOMs0yzDLLMskyyDLHMsYyxTLEMsMywjLBMsAyvjK9MrwyuzK6MrkyuDK3MrYytTKzMrIysTKwMq8yrjKtMqwyqzKqMqkyqDKnMqYypTKkMqMyojKhMqAynjKdMpwymzKaMpkymDKXMpYylTKTMpIykTKQMo8yjjKNMowyizKKMogyhzKGMoUyhDKDMoIygTKAMv8x/TH8Mfsx+jH5Mfgx9zH2MfUx9DHyMfEx8DHvMe4x7THaAc0B1wHLAcUB3AHZAdsB4gHPAdgB1gHSAb0BvAG7AbIBggGKAYkBiAGHAYYBsQGgAccBugGwAa8BoQHRAdABwQHMAcQBrgGtAX+cAb4BmwGZAZ8BgQGYAawBqwHOAZ4BqgGXAYABe359hQG2AYQBlgHKAbUByQHAAdMB1jLUAbQBuQGpAbMBuAG/AagBtwGnAaYBpQHDAZUBmgGUAZMBkgGDAZEBkAGPAY4BjQGMAYsBnQHVMrYKrwR51DKQDrUK/gXnMfgF5jFktAi5BWTlMeQx9wXjMWTPD9oBzQHXAcsBxQHcAdkB2wHiAc8B2AHWAdIBvQG8AbsBsgGCAYoBiQGIAYcBhgGxAaABxwG6AbABrwGhAdEB0AHBAcwBxAGuAa0Bf5wBvgGbAZkBnwGBAZgBrAGrAc4BngGqAZcBgAF7fn2FAbYBhAGWAcoBtQHJAcAB4jHhMeAxtAG5AakBswG4Ab8BqAG3AacBpgGlAcMBlQGaAZQBkwGSAYMBkQGQAY8BjgGNAYwBiwGdAdoBzQHXAcsB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0wHVAdQBtAG5AakBswG4Ab8BqAG3AacBpgGlAcMBlQGaAZQBkwGSAYMBkQGQAY8BjgGNAYwBiwGdAdUt1C3TLVvSLdEtzy1bzi2EDPQr8yvyK/Er8CvvK+4r7SvrK+or6SvoK+cr5ivlK+Qr4yviK+Er4CvfK94r3SvcK9sr2ivZK9gr1yvWK9Ur1CvTK9Ir0SvQK88rzivNK8wryyvKK8kryCvHK8YrxSvEK8IrwSvAK78rviu9K7wruyu6K7krtyu2K7UrtCuzK7IrsSuwK68rriutK6wrqyuqK6krqCunK6YrpSukK6IroSugK58rniudK5wrmyuaK5krlyuWK5UrlCvaAc0B1wHLAcUB+CvZAdsB4gHPAdgB1gHSAb0BvAG7AbIBggGKAYkBiAGHAYYBsQGgAccBugGwAa8BoQHRAdABwQHMAcQBrgGtAX+cAb4BmwGZAZ8BgQGYAawBqwHOAZ4BqgGXAYABe359hQG2AYQBlgHKAbUByQHAAdMB1QHUAbQBuQGpAbMBuAG/AagBtwGnAaYBpQHDAZUBmgGUAZMBkgGDAZEBkAGPAY4BjQGMAYsBnQH7K80B+ivLAcUB3AHZAdsB4gHPAdgB1gHSAb0BvAG7AbIBggGKAYkBiAGHAYYBsQGgAccBugGwAa8BoQHRAdABwQHMAcQBrgGtAX+cAb4BmwGZAZ8BgQGYAawBqwH5K54BqgGXAYABe359hQG2AYQBlgHKAbUByQHAAdMB1QHUAbQBuQGpAbMBuAG/AagBtwGnAaYBpQHDAZUBmgGUAZMBkgGDAZEBkAGPAY4BjQGMAYsBnQHbLMAt2gHNAdcBywHFAcYtxS3ELcMtzwHYAdYB0gG9AbwBuwGyAYIBigGJAYgBhwGGAbEBoAHHAboBsAGvAaEB0QHQAcEBzAHCLa4BrQF/nAG+AZsBmQGfAYEBmAGsAasBzgGeAaoBlwGAAXt+fYUBtgGEAZYBwS21AckBwAHTAdUB1AG0AbkBqQGzAbgBvwGoAbcBpwGmAaUBwwGVAZoBlAGTAZIBgwGRAZABjwGOAY0BjAGLAZ0Bvy2+Lb0tuy26LbktuC23LbYttS20LbMtsi2wLa8tri2tLawtqy2qLaktqC2nLaUtpC2jLaItoS2gLZ8tni2dLZwtmy2aLZktmC2XLZYtlS2ULZMtki2RLZAtjy2OLY0tjC2LLYotiS2ILYcthi2FLYQtgy2CLYEtgC3/LP4s/Sz8LPss+iz5LPgs9yz2LPUs9CzyLPEs8CzvLO4s7SzsLOss6izpLOcs5izlLOQs4yziLOEs4CzfLNos2SzYLNcs1izVLNQs0yzSLNEs0CzPLM4szSzMLMssyizJLMgsxyzGLMUsxCzDLMIswSzALL8sviy9LLwsuyy6LLksuCy3LLUstCyzLLIssSywLK8sriytLKwsqyyqLKksqCynLKYspSykLKMsoiygLJ8sniydLJwsmyyaLJksmCyXLJYslSyULJMskiyRLJAsjyyOLI0siyyKLIksiCyHLIYshSyELIMsgiyBLIAs/yv+K/0r/CuPK40rjCuLK4oriSuIK4crhiuFK4QrgiuBK4Ar/yr+Kv0q/Cr7Kvoq+Sr4Kvcq9ir1KvQq8yryKvEq8CrvKu4q7SrsKusq6irpKugq5yrmKuUq5CrjKuIq4SrgKt8q3irdKtwq2yraKtkq2CrXKtYq1SrUKtMq0irRKtAqzyrOKs0qzCrLKsoqySrIKscqxirFKsQqwyrCKsEqwCq/Kr4qvSq8Krsquiq5Krgqtyq2KrUqtCqzKrIqsSqvKtoBzQHXAcsBxQHcAdkBrSqsKs8B2AHWAdIBvQG8AbsBsgGCAYoBiQGIAYcBhgGxAaABxwG6AbABrwGhAdEB0AHBAcwBxAGuAa0Bf5wBvgGbAZkBnwGBAZgBrAGrAc4BngGqAZcBgAF7fn2FAbYBhAGWAcoBtQHJAcAB0wHVAdQBtAG5AakBswG4Ab8BqAG3AacBpgGlAcMBlQGaAZQBkwGSAYMBkQGQAY8BjgGNAYwBiwGdAaoq2gHNAdcBywHFAdwB2QHbAeIBzwHYAagqpyq9AbwBuwGyAYIBigGJAYgBhwGGAbEBoAHHAboBsAGvAaEB0QHQAcEBzAHEAa4BrQF/nAG+AZsBmQGfAYEBmAGsAasBzgGeAaoBlwGAAXt+fYUBtgGEAZYBygG1AckBwAHTAaYqpSq0AbkBqQGzAaQqoyqoAbcBpwGmAaUBwwGVAZoBlAGTAZIBgwGRAZABjwGOAY0BjAGLAZ0BeaAq2gHNAdcBywHFAZ0q2QHbAeIBzwHYAdYB0gG9AbwBuwGyAYIBigGJAYgBhwGGAbEBoAHHAboBsAGvAaEB0QHQAcEBzAHEAa4BrQF/nAG+AZsBmQGfAYEBmAGsAasBzgGeAaoBlwGAAXt+fYUBtgGEAZYBygG1AckBwAHTAdUB1AG0AbkBqQGzAbgBvwGoAbcBpwGmAaUBwwGVAZoBlAGTAZIBgwGRAZABjwGOAY0BjAGLAZ0BmyqaKpkqmCqXKpYq2gHNAdcBywHFAdwB2QHbAeIBzwGTKtYB0gG9AbwBuwGyAYIBigGJAYgBhwGGAbEBoAHHAboBsAGvAaEB0QHQAcEBzAHEAa4BrQF/nAG+AZsBmQGfAYEBmAGsAasBzgGeAaoBlwGAAXt+fYUBtgGEAZYBygG1AckBwAHTAdUB1AG0AbkBqQGzAbgBvwGoAbcBpwGmAaUBwwGVAZoBlAGTAZIBgwGRAZABjwGOAY0BjAGLAZ0B2gHNAdcBywHFAdwB2QHbAeIBzwHYAdYB0gG9AbwBuwGyAYIBigGJAYgBhwGGAbEBoAHHAboBsAGvAaEB0QHQAcEBzAHEAa4BrQF/nAG+AZsBmQGfAYEBmAGsAasBzgGeAaoBlwGAAXt+fYUBtgGEAZYBygG1AckBwAHTAdUB1AG0AbkBqQGzAbgBvwGoAbcBpwGmAaUBwwGVAZoBlAGTAZIBgwGRAZABjwGOAY0BjAGLAZ0B2gHNAdcBywHFAdwB2QHbAeIBzwHYAdYB0gG9AbwBuwGyAYIBigGJAYgBhwGGAbEBoAHHAboBsAGvAaEB0QHQAcEBzAHEAa4BrQF/nAG+AZsBmQGfAYEBmAGsAasBzgGeAaoBlwGAAXt+fYUBtgGEAZYBygG1AckBwAHTAdUB1AG0AbkBqQGzAbgBvwGoAbcBpwGmAaUBwwGVAZoBlAGTAZIBgwGRAZABjwGOAY0BjAGLAZ0BzweKKokqiCpkhyrzBYYqZNoBzQHXAcsBxQGFKtkB2wHiAc8B2AHWAdIBvQG8AbsBsgGCAYoBiQGIAYcBhgGxAaABxwG6AbABrwGhAdEB0AHBAcwBxAGuAa0Bf5wBuA6bAZkBnwGBAZgBrAGrAc4BngGqAZcBgAF7fn2FAbYBhAGWAcoBtQHJAcAB0wHVAdQBtAG5AakBswG4Ab8BqAG3AacBpgGlAcMBlQGaAZQBkwGSAYMBkQGQAY8BjgGNAYwBiwGdAewQgCpb/Slb/Cm5BVv7KdoBzQHXAcsBxQHcAdkB2wHiAc8B2AHWAdIBvQG8AbsBsgGCAYoBiQGIAYcBhgGxAaABxwG6AbABrwGhAdEB0AHBAcwBxAGuAa0Bf5wBvgGbAZkBnwGBAZgBrAGrAc4BngGqAZcBgAF7fn2FAbYBhAGWAcoBtQHJAcAB0wHVAdQBtAG5AakBswG4Ab8BqAG3AacBpgGlAcMBlQGaAZQBkwGSAYMBkQGQAY8BjgGNAYwBiwGdAfop+Sn4Kfcp9in1KfQp8ynyKfEp8CnvKe4p7SnsKesp6inpKegp5ynmKeUp5CnjKeIp4SngKd8p3indKdwp2ynaKdkp1ynWKakoqCinKKYopSikKKMooiihKKAonyieKJ0onCibKJoomSiYKJcoliiVKJQokyiSKJEokCiPKI4ojSiLKIooiSiIKIcohiiFKIQogyiCKIAo/yf+J/0n/Cf7J/on+Sf4J/cn9if1J/Qn8yfyJ/En8CfvJ+4n7SfsJ+sn6ifpJ+gn5yfmJ+Un5CfjJ+En4CffJ94n3SfcJ9sn2ifZJ9gn1yfWJ/8o/ij9KPwo+yj5KPgo9yj2KPUo9CjzKPIo8SjwKO8o7ijtKOwo6yjqKOko6CjnKOYo5CjjKOIo4SjgKN8o3ijdKNwo2yjZKNgo1yjWKNUo1CjTKNIo0SjQKM4ozSjMKMsoyijJKMgoxyjGKMUoxCjDKMIowSjAKL8ovii9KLwouyi6KLkouCi3KLYotSi0KLMosiixKK8oriitKKwoqyiqKNUp1CnTKdIp0SnQKc8pzSnMKcspyinJKcgpxynGKcUpxCnCKcEpwCm/Kb4pvSm8Kbspuim5Kbcptim1KbQpsymyKbEpsCmvKa4prCmrKaopqSmoKacppimlKaQpoymiKaEpoCmfKZ4pnSmcKZspmimZKZcplimVKZQpkymSKZEpkCmPKY4pjSmMKYspiimJKYgphymGKYUphCmDKYIpgSmAKZkKrw5b9hPGAd0EsRbTJ2TaAc0B1wHLAcUB3AHZAdsB4gHPAdgB1gHSAb0BvAG7AbIBggGKAYkBiAGHAYYBsQGgAccBugGwAa8BoQHRAdABwQHMAcQBrgGtAX+cAb4BmwGZAZ8BgQGYAawBqwHOAZ4BqgGXAYABe359hQG2AYQBlgHKAbUByQHAAdMB1QHUAbQBuQGpAbMBuAG/AagBtwGnAaYBpQHDAZUBmgGUAZMBkgGDAZEBkAGPAY4BjQGMAYsBnQHOJ80n7ybuJu0m7CbqJukm6CbnJuYm5SbkJuMm4ibhJt8m3ibdJtwm2ybaJtkm2CbXJtYm1SbUJtMm0ibRJtAmzybOJs0mzCbKJskmyCbHJsYmxSbEJsMmwibBJr8mvia9Jrwmuya6JrkmuCa3JrYmtCazJrImsSawJq8mriatJqwmqyapJqgmpyamJqUmpCajJqImoSagJp4mnSacJpsmmiaZJpgmlyaWJpUmlCaTJpImkSaQJo8mjiaNJswnyyfKJ8knyCfHJ8YnxSfEJ8MnwifBJ8Anvye+J70nvCe7J7onuSe4J7cntie1J7QnsyeyJ7EnsCevJ64nrSesJ6snqiepJ6gnpielJ6QnoyeiJ6EnoCefJ54nnSecJ5snmieZJ5gnlyeWJ5UnlCeTJ5InkSeQJ48njieNJ4wniyeKJ4kniCeHJ4YnhSeEJ4MngieBJ4An/yb+Jv0m/Cb7Jvom+Sb4Jvcm9ib1JvQm8ybyJvEm8CaLJtoBzQGJJssBxQHcAdkB2wHiAc8B2AHWAdIBvQG8AbsBsgGCAYoBiQGIAYcBhgGxAaABxwG6AbABrwGhAdEB0AHBAcwBiCauAa0Bf5wBvgGbAZkBnwGBAZgBrAGrAc4BngGqAZcBgAF7fn2FAbYBhAGWAcoBtQHJAcAB0wHVAdQBtAG5AakBswG4Ab8BqAG3AacBpgGlAcMBlQGaAZQBkwGSAYMBkQGQAY8BjgGNAYwBiwGdAaYIhiaVBZQF2gHNAYImywHFAdwB2QHbAeIBzwHYAdYB0gG9AbwBuwGyAYIBigGJAYgBhwGGAbEBoAHHAboBsAGvAaEB0QHQAcEBzAHEAa4BrQF/nAG+AZsBmQGfAYEBmAGsAasBzgGeAaoBlwGAAXt+fYUBtgGEAZYBygG1AckBwAHTAdUB1AG0AbkBqQGzAbgBvwGoAbcBpwGmAaUBwwGVAZoBlAGTAZIBgwGRAZABjwGOAY0BjAGLAZ0BgCbaAc0B1wHLAcUB3AHZAdsB4gHPAdgB/iX9Jfwl+yX5JfglggGKAYkBiAGHAYYBsQGgAfclugH2JfUloQHRAdABwQHMAcQB9CXzJX+cAb4BmwGZAZ8BgQGYAawBqwHOAZ4BqgGXAYABe359hQG2AYQBlgHKAbUByQHAAdMB1QHUAbQBuQGpAbMBuAG/AagBtwGnAaYBpQHDAZUBmgGUAZMBkgGDAZEBkAGPAY4BjQGMAYsBnQHxJa4FZJQK8CXvJWTTAu4l7CXrJdoBzQHXAcsBxQHcAdkB2wHiAc8B2AHWAdIBvQG8AbsBsgGCAYoBiQGIAYcBhgGxAaAByCXGJbABrwGhAdEB0AHBAcwBxAGuAa0Bf5wBvgGbAZkBnwGBAZgBrAGrAc4BngGqAZcBgAF7fn2FAbYBhAGWAcoBtQHJAcAB0wHVAdQBtAG5AakBswG4Ab8BqAG3AacBpgGlAcMBlQGaAZQBkwGSAYMBkQGQAY8BjgGNAYwBiwGdAdoBzQHXAcsBxQHcAdkB2wHiAc8B2AHWAdIBvQG8AbsBsgGCAYoBiQGIAYcBhgGxAaAB6iXpJbABrwGhAdEB0AHBAcwBxAGuAa0Bf5wBvgGbAZkBnwGBAZgBrAGrAc4BngGqAZcBgAF7fn2FAbYBhAGWAcoBtQHJAcAB0wHVAdQBtAHoJakBswG4Ab8BqAG3AacBpgGlAcMBlQGaAZQBkwGSAYMBkQGQAY8BjgGNAYwBiwGdAdQl2gHNAdcBywHFAdwB2QHbAeIBzwHYAdYB0gG9AbwBuwGyAYIBigGJAYgBhwGGAbEBoAHHAboBsAGvAaEB0QHQAcEBzAHEAa4BrQF/nAG+AZsBmQGfAYEBmAGsAasBzgGeAaoBlwGAAXt+fYUBtgGEAZYBygG1AckBwAHTAdUB1AG0AbkBqQGzAbgBvwGoAbcBpwGmAaUBwwGVAZoBlAGTAZIBgwGRAZABjwGOAY0BjAGLAZ0B7wXPJdoBzQHXAcsBxQHcAdkB2wHiAc8B2AHWAdIBvQG8AbsBsgGCAYoBiQGIAYcBhgGxAaABziXNJbABrwGhAdEB0AHBAcwBxAGuAa0Bf5wBvgGbAZkBnwGBAZgBrAGrAc4BngGqAZcBgAF7fn2FAbYBhAGWAcoBtQHJAcAB0wHVAdQBtAHMJakBswG4Ab8BqAG3AacByyWlAcMBlQGaAZQBkwGSAYMBkQGQAY8BjgGNAYwBiwGdAcAlvSW8JbsluiW5JbgltyW2JbUltCWzJbIlsSWwJa8lriWtJawlqyWqJaglpyWmJaUlpCWjJaIloSWgJZ8lnSWcJZslmiWZJZgllyWWJZUllCWTJZIlkSWQJY8ljiWNJYwliyWKJYkliCWHJYYlhSWEJYMlgiWBJYAl/iT9JPwk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AakBswG4Ab8BqAG3AacBpgGlAcMBlQGaAZQBkwGSAYMBkQGQAY8BjgGNAYwBiwGdAZoiW5wi2gHNAdcBywHFAdwB2QHbAZsizwHYAdYB0gG9AbwBuwGyAYIBigGJAYgBhwGGAbEBoAHHAboBsAGvAaEB0QHQAcEBzAHEAa4BrQF/nAG+AZsBmQGfAYEBmAGsAasBzgGeAaoBlwGAAXt+fYUBtgGEAZYBygG1AckBwAHTAdUB1AG0AbkBqQGzAbgBvwGoAbcBpwGmAaUBwwGVAZoBlAGTAZIBgwGRAZABjwGOAY0BjAGLAZ0B2gHNAdcBywHFAdwB2QGYIuIBzwHYAdYB0gG9AbwBuwGyAYIBigGJAYgBhwGGAbEBoAHHAboBsAGvAaEB0QHQAcEBzAHEAa4BrQF/nAG+AZsBmQGfAYEBmAGsAasBzgGeAaoBlwGAAXt+fYUBtgGEAZYBygG1AckBwAHTAdUB1AG0AbkBqQGzAbgBvwGoAbcBpwGmAaUBwwGVAZoBlAGTAZIBgwGRAZABjwGOAY0BjAGLAZ0BkiJkZFuPIoMOW44iW40iW4wi2gHNAdcBywHFAdwB2QHbAeIBzwHYAdYB0gG9AbwBuwGyAYIBigGJAYgBhwGGAbEBoAHHAboBsAGvAaEB0QHQAcEBzAHEAa4BrQF/nAG+AZsBmQGfAYEBmAGsAasBzgGeAaoBlwGAAXt+fYUBtgGEAZYBygG1AckBwAHTAdUB1AG0AbkBqQGzAbgBvwGoAbcBpwGmAaUBwwGVAZoBlAGTAZIBgwGRAZABjwGOAY0BjAGLAZ0BiiKJIogihyKGIoUihCKDIoIigCL/If4h2gHNAdcBywHFAdwB2QH9IeIBzwHYAdYB0gG9AbwBuwGyAYIBigGJAYgBhwGGAbEBoAHHAboBsAGvAaEB0QHQAcEBzAHEAa4BrQF/nAG+AZsBmQGfAYEBmAGsAasBzgGeAaoBlwGAAXt+fYUBtgGEAZYBygG1AckBwAHTAdUB1AG0AbkBqQGzAbgBvwGoAbcBpwGmAaUBwwGVAZoBlAGTAZIBgwGRAZABjwGOAY0BjAGLAZ0B2gH8Ic0B1wHLAcUBxAHOAaoBlwF+wAHaAc0B1wHLAcUB3AHZAdsB4gHPAdgB1gHSAb0BvAG7AbIBggGKAYkBiAGHAYYBsQGgAccBugGwAa8BoQHRAdABwQHMAcQBrgGtAX+cAb4BmwGZAZ8BgQGYAawBqwHOAZ4BqgGXAYABe359hQG2AYQBlgHKAbUB+yHAAdMB1QHUAbQBuQGpAbMBuAG/AagBtwGnAaYBpQH6IZUBmgGUAZMBkgGDAZEBkAGPAY4BjQGMAYsBnQH0IfMh8iHxIe8h7iHtIewh6yHqIekh6CHnIeYh5CHjIeIh4SHgId8h3iHdIdwh2yHaIdkh2CHXIdYh1SHUIdMh0iHRIc8hziHNIcwhyyHKIckhyCHHIcYhxCHDIcIhwSHAIb8hviG9IbwhuyG5IbghtyG2IbUhtCGzIbIhsSGwIa4hrSGsIashqiGpIaghpyGmIaUhoiGhIaAhnyGeIZ0hnCHcAdkB+SH3Ic8B2AHWAdIBvQG8AbsBsgGCAYoBiQGIAYcBhgGxAaABxwG6AbABrwGhAdEB0AHBAcwBrgGtAX+cAb4BmwGZAZ8BgQGYAawBqwGeAYABe32FAbYBhAGWAcoBtQH2IdMB1QHUAbQBuQGpAbMBuAG/AagBtwGnAaYBpQH1IZUBmgGUAZMBkgGDAZEBkAGPAY4BjQGMAYsBnQHEA8QDmCFkW5UhW5QhkSGPIdcBjiHFAdwB2QHbAY0hzwGMIYshiiG9AbwBuwGyAYIBigGJAYgBhwGGAbEBoAHHAboBiSGIIaEBhyGGIYQhzAHEAa4BrQF/gyG+AYIhmQGfAYEBmAGsAasBzgGeAaoBlwGAAXt+fYUBgSGEAZYBgCH/IP4gwAHTAf0g/CC0AbkBqQGzAfsg+SD4IPcgpwGmAaUB9iCVAZoBlAGTAZIBgwGRAZABjwGOAY0BjAGLAZ0B2gHNAdcBywHFAdwB2QHbAdwgzwHYAdYB0gG9AbwBuwGyAYIBigGJAYgBhwGGAbEBoAHHAboBsAGvAaEB0QHQAcEBzAHEAa4BrQF/nAG+AZsBmQGfAYEBmAGsAasBzgGeAaoBlwGAAXt+fYUBtgGEAZYBygG1AckBwAHTAdUB1AG0AbkBqQGzAbgBvwGoAbcBpwGmAaUBwwGVAZoBlAGTAZIBgwGRAZABjwGOAY0BjAGLAZ0B2gHNAdcBywHFAdwB2QHbAeIBzwHYAdYB0gG9AbwBuwGyAYIBigGJAYgBhwGGAbEBoAHHAboBsAGvAaEB0QGTIcEBzAHEAa4BrQF/nAG+AZsBmQGfAYEBmAGsAasBzgGeAaoBlwGAAXt+fYUBtgGEAZYBygG1AckBwAHTAdUB1AG0AbkBqQGzAbgBvwGoAbcBpwGmAaUBwwGVAZoBlAGTAZIBgwGRAZABjwGOAY0BjAGLAZ0BkiHyIK0OecQCywPxIMwHtQLwIIwJ7yBkZFvuIO0g5CDoIOMglQjrIOkg3SDaAc0B1wHLAcUB3AHZAdsB4gHPAdgB1gHSAb0BvAG7AbIBggGKAYkBiAGHAYYBsQGgAccBugGwAa8BoQHRAd4gwQHMAcQBrgGtAX+cAb4BmwGZAZ8BgQGYAawBqwHOAZ4BqgGXAYABe359hQG2AYQBlgHKAbUByQHAAdMB1QHUAbQBuQGpAbMBuAG/AagBtwGnAaYBpQHDAZUBmgGUAZMBkgGDAZEBkAGPAY4BjQGMAYsBnQH2EI8I2iDaAc0B1wHLAcUB3AHZAdsB4gHPAdgB1gHSAb0BvAG7AbIBggGKAYkBiAGHAYYBsQGgAccBugGwAa8BoQHRAdcgwQHMAcQBrgGtAX+cAb4BmwGZAZ8BgQGYAawBqwHOAZ4BqgGXAYABe359hQG2AYQBlgHKAbUByQHAAdMB1QHUAbQBuQGpAbMBuAG/AagBtwGnAaYBpQHDAZUBmgGUAZMBkgGDAZEBkAGPAY4BjQGMAYsBnQHTIJUFlAXaAc0B1wHLAcUB3AHZAc8gziDPAdgB1gHSAb0BvAG7AbIBggGKAYkBiAGHAYYBsQGgAccBugGwAa8BoQHRAdABwQHMAcQBrgGtAX+cAb4BmwGZAZ8BgQGYAawBqwHOAZ4BqgGXAYABe359hQG2AYQBlgHKAbUByQHAAdMB1QHUAbQBuQGpAbMBuAG/AagBtwGnAaYBpQHDAZUBmgGUAZMBkgGDAZEBkAGPAY4BjQGMAYsBnQGMCGTkBoUHpgOlBKsF6wXqBVvKINoBzQHXAcsBxQHcAdkB2wHiAc8B2AHWAdIBvQG8AbsBsgGCAYoBiQGIAYcBhgGxAaABxwG6AbABrwGhAdEB0AHBAcwBxAGuAa0Bf5wBvgGbAZkBnwGBAZgBrAGrAc4BngGqAZcBgAF7fn2FAbYBhAGWAcoBtQHJAcAB0wHVAdQBtAG5AakBswG4Ab8BqAG3AacBpgGlAcMBlQGaAZQBkwGSAYMBkQGQAY8BjgGNAYwBiwGdAcggxyBkZMYgZMQgwyBkwiDaAc0B1wHLAcUB3AHZAdsB4gHPAdgB1gHSAb0BvAG7AbIBggGKAYkBiAGHAYYBsQGgAaYgugGwAa8BoQHRAdABwQHMAcQBrgGtAX+cAb4BmwGZAZ8BgQGYAawBqwHOAZ4BqgGXAYABe359hQG2AYQBlgHKAbUByQHAAdMB1QHUAbQBuQGpAbMBuAG/AagBtwGnAaYBpQHDAZUBmgGUAZMBkgGDAZEBkAGPAY4BjQGMAYsBnQGlINoBzQHXAcsBxQHcAdkB2wHiAc8B2AHWAdIBvQG8AbsBsgGCAYoBiQGIAYcBhgGxAaABxwG6AbABrwGhAdEB0AHBAcwBxAGuAa0Bf5wBvgGbAZkBnwGBAZgBrAGrAc4BngGqAZcBgAF7fn2FAbYBhAGWAcoBtQHJAcAB0wHVAdQBtAG5AakBswG4Ab8BqAG3AacBpgGlAcMBlQGaAZQBkwGSAYMBkQGQAY8BjgGNAYwBiwGdAcEg2gHNAdcBywHFAcAg2QHbAeIBzwHYAdYB0gG9AbwBuwGyAYIBigGJAYgBhwGGAbEBoAHHAboBsAGvAaEB0QHQAcEBzAHEAa4BrQF/nAG+AZsBmQGfAYEBmAGsAasBzgGeAaoBlwGAAXt+fYUBtgGEAZYBygG1AckBwAHTAdUB1AG0AbkBqQGzAbgBvwGoAbcBpwGmAaUBwwGVAZoBlAGTAZIBgwGRAZABjwGOAY0BjAGLAZ0BsiDaAc0B1wHLAcUB3AHZAdsB4gHPAdgB1gHSAb0BvAG7AbIBggGKAYkBiAGHAYYBsQGgAccBugGwAa8BoQHRAdABwQHMAcQBrgGtAX+cAb4BmwGZAZ8BgQGYAawBqwHOAZ4BqgGXAYABe359hQG2AYQBlgHKAbUByQHAAdMB1QHUAbQBuQGpAbMBuAG/AagBtwGnAaYBpQHDAZUBmgGUAZMBkgGDAZEBkAGPAY4BjQGMAYsBnQFbrCDaAc0B1wHLAcUBtw+2D9sB4gHPAdgB1gHSAb0BvAG7AbIBggGKAYkBiAGHAYYBsQGgAccBugGwAa8BoQHRAdABwQHMAcQBrgGtAX+cAb4BmwGZAZ8BgQGYAawBqwHOAZ4BqgGXAYABe359hQG2AYQBlgG1D7UByQHAAdMB1QHUAbQBuQGpAbMBuAG/AagBtwGnAaYBpQHDAZUBmgGUAZMBkgGDAZEB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AbcBpwGmAaUBwwGVAZoBlAGTAZIBgwGRAZABjwGOAY0BjAGLAZ0Bebsd2gHNAdcBywHFAdwBtx3bAeIBzwHYAdYB0gG9AbwBuwGyAYIBigGJAYgBhwGGAbEBoAHHAboBsAGvAaEBth3QAcEBzAHEAa4BrQF/nAG+AZsBmQGfAYEBmAGsAasBzgGeAaoBlwGAAXt+fYUBtgGEAZYBygG1AckBwAHTAdUB1AG0AbkBqQGzAbgBvwGoAbcBpwGmAaUBwwGVAZoBlAGTAZIBgwGRAZABjwGOAY0BjAGLAZ0BrQ2zHVuvHVuuHVutHVusHZ8dnh2dHZwdoB3NAdcBywHFAdwB2QHbAeIBzwHYAdYB0gG9AbwBuwGyAYIBigGJAYgBhwGGAbEBoAHHAboBsAGvAaEB0QHQAcEBzAHEAa4BrQF/nAG+AZsBmQGfAYEBmAGsAasBzgGeAaoBlwGAAXt+fYUBtgGEAZYBygG1AckBwAHTAdUB1AG0AbkBqQGzAbgBvwGoAbcBpwGmAaUBwwGVAZoBlAGTAZIBgwGRAZABjwGOAY0BjAGLAZ0B2gHNAdcBywHFAdwB2QHbAeIBzwHYAdYB0gG9AbwBuwGyAYIBigGJAYgBhwGGAbEBoAHHAboBsAGvAaEB0QHQAcEBzAHEAa4BrQF/nAG+AZsBmQGfAYEBmAGsAasBzgGeAaoBlwGAAXt+fYUBtgGEAZYBygG1AckBoR3TAdUB1AG0AbkBqQGzAbgBvwGoAbcBpwGmAaUBwwGVAZoBlAGTAZIBgwGRAZABjwGOAY0BjAGLAZ0BlwWWBaodqR3XAcsBqB3cAdkB2wGnHc8B2AHWAdIBvQG8AbsBsgGCAYoBiQGIAYcBhgGxAaABxwG6AbABrwGhAdEB0AHBAcwBxAGuAa0Bf5wBvgGbAZkBnwGBAZgBrAGrAc4BngGqAZcBgAF7fn2FAbYBhAGWAcoBtQHJAcAB0wHVAdQBtAG5AakBswG4Ab8BqAG3AacBpgGlAcMBlQGaAZQBkwGSAYMBkQGQAY8BjgGNAYwBiwGdAaYdhgafB6UdzQHXAaMdoh3cAdkB2wHiAc8B2AHWAdIBvQG8AbsBsgGCAYoBiQGIAYcBhgGxAaABxwG6AbABrwGhAdEB0AHBAcwBxAGuAa0Bf5wBvgGbAZkBnwGBAZgBrAGrAc4BngGqAZcBgAF7fn2FAbYBhAGWAcoBtQHJAcAB0wHVAdQBtAG5AakBswG4Ab8BqAG3AacBpgGlAcMBlQGaAZQBkwGSAYMBkQGQAY8BjgGNAYwBiwGdAYEI2gGaHcsBxQHcAdkB2wHiAc8B2AHWAdIBvQG8AbsBsgGCAYoBiQGIAYcBhgGxAaABxwG6AbABrwGhAdEB0AHBAcwBxAGuAa0Bf5wBvgGbAZkBnwGBAZgBrAGrAc4BngGqAZcBgAF7fn2FAbYBhAGWAcoBtQHJAcAB0wHVAdQBtAG5AakBswG4Ab8BqAG3AacBpgGlAcMBlQGaAZQBkwGSAYMBkQGQAY8BjgGNAYwBiwGdAZYdkh2RHZAdjx2OHY0djB2LHYodiB2HHYYdhR2EHYMdgh2BHYAd/xz9HPwc+xz6HPkc+Bz3HPYc9Rz0HPIc8RzwHO8c7hztHOwc6xzqHOkc5hzlHOQc4xziHOEc4BzfHN4c3RzbHNoc2RzYHNcc1hzVHNQc0xzSHNAczxzOHM0czBzLHMocyRzIHMccxRzEHMMcwhzBHMAcvxy+HL0cvBy6HLkcuBy3HLYctRy0HLMcshyxHK8crhytHGSrHKocqBzyRZAc/gejAqUN4wmOHI0cZIwc0wJbixyKHIkciByFHIQcgxyCHIEcgBz/G/4b/Rv8G/ob+Rv4G/cb9hv1G/Qb8xvyG/Eb7xvuG+0b7BvrG+ob6RvoG+cb5hvkG+Mb4hvhG+Ab3xveG90b3BvbG9kb2BvXG9Yb1RvUG9Mb0hvRG9AbzhvNG8wbyxvKG8kbyBvHG8YbxRvDG8IbwRvAG78bvhu9G7wbuxu6G7gbtxu2G7UbtBuzG7IbsRuwG68brRusG6sbqhupG6gbpxumG6Ub7AKhG6INoBuAA9oBzQHXAcsBxQGdG9kB2wHiAc8B2AHWAdIBvQG8AbsBsgGCAYoBiQGIAYcBhgGxAaABxwG6AbABrwGhAdEB0AHBAcwBxAGuAa0Bf5wBvgGbAZkBnwGBAZgBrAGrAc4BngGqAZcBgAF7fn2FAbYBhAGWAcoBtQHJAcAB0wHVAdQBtAG5AakBswG4Ab8BqAG3AacBpgGlAcMBlQGaAZQBkwGSAYMBkQGQAY8BjgGNAYwBiwGdAZcb5QWWG2TSBq4FlRucDdoBzQHXAcsBxQHcAdkB2wHiAZMbkhvWAdIBvQG8AbsBsgGCAYoBiQGIAYcBhgGxAaABxwG6AbABrwGhAdEB0AHBAcwBxAGuAa0Bf5wBvgGbAZkBnwGBAZgBrAGrAc4BngGqAZcBgAF7fn2FAbYBhAGWAcoBtQHJAcAB0wHVAdQBtAG5AakBswG4Ab8BqAG3AacBpgGlAcMBlQGaAZQBkwGSAYMBkQGQAY8BjgGNAYwBiwGdAYsblw1biBvaAc0B1wHLAcUB3AHZAYQbgxvPAdgB1gHSAb0BvAG7AbIBggGKAYkBiAGHAYYBsQGgAccBugGwAa8BoQHRAdABwQHMAcQBrgGtAX+cAb4BmwGZAZ8BgQGYAawBqwHOAZ4BqgGXAYABe359hQG2AYQBlgHKAbUByQHAAdMB1QHUAbQBuQGpAbMBuAG/AagBtwGnAaYBpQHDAZUBmgGUAZMBkgGDAZEBkAGPAY4BjQGMAYsBnQHaAc0B1wHLAcUB3AHZAYYbhRvPAdgB1gHSAb0BvAG7AbIBggGKAYkBiAGHAYYBsQGgAccBugGwAa8BoQHRAdABwQHMAcQBrgGtAX+cAb4BmwGZAZ8BgQGYAawBqwHOAZ4BqgGXAYABe359hQG2AYQBlgHKAbUByQHAAdMB1QHUAbQBuQGpAbMBuAG/AagBtwGnAaYBpQHDAZUBmgGUAZMBkgGDAZEBkAGPAY4BjQGMAYsBnQH/GtAE3QTPBPsa8RraAc0B1wHLAcUB3AHZAdsB4gHPAdgB1gHSAb0BvAG7AbIBggGKAYkBiAGHAYYBsQGgAccBugGwAa8BoQHtGuwawQHMAcQBrgGtAX+cAb4BmwGZAZ8BgQGYAawBqwHOAZ4BqgGXAYABe359hQG2AYQBlgHKAbUByQHAAdMB1QHUAbQBuQGpAbMBuAG/AagBtwGnAaYBpQHDAZUBmgGUAZMBkgGDAZEBkAGPAY4BjQGMAYsBnQG8Auga2gHNAdcBywHFAdwB2QHeGtwazwHYAdYB0gG9AbwBuwGyAYIBigGJAYgBhwGGAbEBoAHHAboBsAGvAaEB0QHQAcEBzAHEAa4BrQF/nAG+AZsBmQGfAYEBmAGsAasBzgGeAaoBlwGAAXt+fYUBtgGEAZYBygG1AckBwAHTAdUB1AG0AbkBqQGzAbgBvwGoAbcBpwGmAaUBwwGVAZoBlAGTAZIBgwGRAZABjwGOAY0BjAGLAZ0Bkw1kZNMCZGTmGs8G2gRbzVTcAosOZOME6QbjGuIa4RrgGt8akgPYGvsH1xrkBdYaZNUa0hrRGtAa4wXPGmTOGuIFzRpk2gHNAdcBywHFAdwB2QHbAeIBzwHYAdYB0gG9AbwBuwGyAYIBigGJAYgBhwGGAbEBoAHHAboBsAGvAaEB0QHQAcEBzAHEAa4BrQF/nAG+AZsBmQGfAYEBmAGsAasBzgGeAaoBlwGAAXt+fYUBtgGEAZYBygG1AckBwAHMGssayRq0AbkBqQGzAbgBvwGoAbcBpwGmAaUBwwGVAZoBlAGTAZIBgwGRAZABjwGOAY0BjAGLAZ0B4QXaAc0B1wHLAcUB3AHZAdsB4gHPAdgB1gHSAb0BvAG7AbIBggGKAYkBiAGHAYYBsQGgAccBugGwAa8BoQHRAdABwQHMAcQBrgGtAX+cAb4BmwGZAZ8BgQGYAawBqwHOAZ4BqgGXAYABe359hQG2AYQBlgHKAbUByQHAAdMByBrUAbQBuQGpAbMBuAG/AagBtwGnAaYBpQHDAZUBmgGUAZMBkgGDAZEBkAGPAY4BjQGMAYsBnQHaAc0B1wHLAcUB3AHZAdsB4gHPAdgB1gHSAb0BvAG7AbIBggGKAYkBiAGHAYYBsQGgAccBugGwAa8BoQHRAdABwQHMAcQBrgGtAX+cAb4BmwGZAZ8BgQGYAawBqwHOAZ4BqgGXAYABe359hQG2AYQBlgHKAbUByQHAAcca1QHGGrQBuQGpAbMBuAG/AagBtwGnAaYBpQHDAZUBmgGUAZMBkgGDAZEBkAGPAY4BjQGMAYsBnQG7GroaZM4GzgzaAc0B1wHLAcUB3AG4GtsB4gHPAdgB1gHSAb0BvAG7AbIBggGKAYkBiAGHAYYBsQGgAccBugGwAa8BoQHRAdABwQHMAcQBrgGtAX+cAb4BmwGZAZ8BgQGYAawBqwHOAZ4BqgGXAYABe359hQG2AYQBlgHKAbcathq1GtMB1QHUAbQBuQGpAbMBuAG/AagBtwGnAaYBpQHDAZUBmgGUAZMBkgGDAZEBkAGPAY4BjQGMAYsBnQG0GrIaZLEaZL4FsBqvGvkHjA2uGq0azAZkqxpkZKoaZNMCphraAc0B1wHLAcUB3AHZAdsB4gHPAdgB1gHSAb0BvAG7AbIBggGKAYkBiAGHAYYBsQGgAccBugGwAa8BoQHRAdABwQHMAcQBrgGtAX+cAb4BmwGZAZ8BgQGYAawBqwHOAZ4BqgGXAYABe359hQG2AYQBlgHKAbUByQHAAdMB1QHUAbQBuQGpAbMBuAG/AagBtwGnAaYBpQHDAZUBmgGUAZMBkgGDAZEBkAGPAY4BjQGMAYsBnQGdGpwaZJsa2gHNAdcBywHFAdwB2QHbAeIBzwHYAdYB0gG9AbwBuwGyAYIBigGJAYgBhwGGAbEBoAHHAboBsAGvAaEB0QHQAcEBzAHEAa4BrQF/nAG+AZsBmQGfAYEBmAGsAasBzgGeAaoBlwGAAXt+fYUBtgGEAZYBygG1AckBwAGaGtUB1AGZGpgalxqWGrgBvwGoAbcBpwGmAaUBwwGVAZoBlAGTAZIBgwGRAZABjwGOAY0BjAGLAZ0BjxraAc0B1wHLAcUB3AHZAdsB4gHPAdgB1gHSAb0BvAG7AbIBggGKAYkBiAGHAYYBsQGgAccBugGwAa8BoQHRAdABwQHMAcQBrgGtAX+cAb4BmwGZAZ8BgQGYAawBqwHOAZ4BqgGXAYABe359hQG2AYQBlgHKAbUByQHAAdMB1QHUAbQBuQGpAbMBuAG/AagBtwGnAaYBpQHDAZUBmgGUAZMBkgGDAZEBkAGPAY4BjQGMAYsBnQGHGoYahRqEGsoPgRr+GdoBzQHXAcsBxQHcAdkB2wHiAc8B2AH7GfoZvQG8AbsBsgGCAYoBiQGIAYcBhgGxAaABxwG6AbABrwGhAdEB0AHBAcwBxAGuAa0Bf5wBvgGbAZkBnwGBAZgBrAGrAc4BngGqAZcBgAF7fn2FAbYBhAGWAcoBtQHJAcAB0wHVAdQBtAG5AakBswG4Ab8BqAG3AacBpgGlAcMBlQGaAZQBkwGSAYMBkQGQAY8BjgGNAYwBiwGdAXn3GakD9hmyEvIZ3gXxGWSkBFvvGe4Z7RndBewZZPEQ6xnaAfcY1wHLAcUB3AHZAdsB4gH2GPUY1gHSAb0BvAG7AbIBggGKAYkBiAGHAYYBsQGgAccBugGwAa8BoQHRAdABwQHMAcQBrgGtAX+cAb4BmwGZAZ8BgQGYAawBqwHOAZ4BqgGXAYABe359hQG2AYQBlgHKAbUByQHAAdMB1QHUAbQBuQGpAbMBuAG/AagBtwGnAaYBpQHDAZUBmgGUAZMBkgGDAZEBkAGPAY4BjQGMAYsBnQHaAc0B1wHLAcUB3AHZAdsB4gH5GNgB1gHSAb0BvAG7AbIBggGKAYkBiAGHAYYBsQGgAccBugGwAa8BoQHRAdABwQHMAcQBrgGtAX+cAb4BmwGZAZ8BgQGYAawBqwHOAZ4BqgGXAYABe359hQG2AYQBlgHKAbUByQHAAdMB1QHUAbQBuQGpAbMBuAG/AagBtwGnAaYBpQHDAZUBmgGUAZMBkgGDAZEBkAGPAY4BjQGMAYsBnQH9GNoBzQHXAcsBxQHcAdkB2wHiAYAZ2AHWAdIBvQG8AbsBsgGCAYoBiQGIAYcBhgGxAaABxwG6AbABrwGhAdEB0AHBAcwBxAGuAa0Bf5wBvgGbAZkBnwGBAZgBrAGrAc4BngGqAZcBgAF7fn2FAbYBhAGWAcoBtQHJAcAB0wHVAdQBtAG5AakBswG4Ab8BqAG3AacBpgGlAcMBlQGaAZQBkwGSAYMBkQGQAY8BjgGNAYwBiwGdAeoZ6RnoGecZ5hnlGeQZ4xniGeEZ4BnfGd4Z3RncGdsZ2hnZGdgZ1xnWGdUZ1BnTGdIZ0RnQGc8ZzhnMGcsZyhnJGcgZxxnGGcUZxBnDGcEZwBm/Gb4ZvRm8GbsZuhm5GbgZthm1GbQZsxmyGbEZsBmvGa4ZrRmrGaoZqRmoGacZphmlGaQZoxmiGZ8ZnhmdGZwZmxmaGZkZmBmXGZYZlBmTGZIZkRmQGY8ZjhmNGYwZixmJGYgZhxmGGYUZgw3aAc0B1wHLAcUB3AHZAdsB4gHPAfwY1gHSAb0BvAG7AbIBggGKAYkBiAGHAYYBsQGgAccBugGwAa8BoQHRAdABwQHMAcQBrgGtAX+cAb4BmwGZAZ8BgQGYAawBqwHOAZ4BqgGXAYABe359hQG2AYQBlgHKAbUByQHAAdMB1QHUAbQBuQGpAbMBuAG/AagBtwGnAaYBpQHDAZUBmgGUAZMBkgGDAZEBkAGPAY4BjQGMAYsBnQFb9BjgCpcFlgXzGPIY8RjwGO8Y7RjsGOsY6hjpGOgY5xjmGOUY5BjiGOEY4BjfGN4Y3RjcGNsY2hjZGNcY1hjVGNQY0xjSGNEY0BjPGM4YzBjLGMoYyRjIGMcYxhjFGMQYwxjBGMAYvxi+GL0YvBi7GLoYuRi4GLUYtBizGLIYsRiwGK8YrhitGKwYqhipGKgYpximGKUYpBijGKIYoRifGJ4YnRicGJsYmhiZGJgYlxiWGJQYkxiSGJEYkBiPGI4YxQaIGFuEGIAY/xf+F/0X/Bf7F/oXywHFAcQBzgGqAZcBfsAB+RfaAcMGzQHXAcsBxQHEAc4BqgGXAX7AAdwB2QHCBsEGzwHYAdYB0gG9AbwBuwGyAYIBigGJAYgBhwGGAbEBoAHHAboBsAGvAaEB0QHQAcEBzAGuAa0Bf5wBvgGbAZkBnwGBAZgBrAGrAZ4BgAF7fYUBtgGEAZYBygG1AckB0wHVAdQBtAG5AakBswG4Ab8BqAG3AacBpgGlAcMBlQGaAZQBkwGSAYMBkQGQAY8BjgGNAYwBiwGdAfwMwAb0B3lkzQHcAdkB2wHiAc8B2AHWAdIBvQG8AbsBsgGCAYoBiQGIAYcBhgGxAaABxwG6AbABrwGhAdEB0AHBAb8GrgGtAX+cAb4BmwGZAZ8BgQGYAawBqwGeAYABe32FAbYBhAGWAcoBtQHJAdMB1QHUAbQBuQGpAbMBuAG/AagBtwGnAaYBpQHDAZUBmgGUAZMBkgGDAZEBkAGPAY4BjQGMAYsBnQH1F1vyF/EX8BfvF+0X7BfrF+oXywHFAcQBzgGqAZcBfsAB6RfaAcMGzQHXAcsBxQHEAc4BqgGXAX7AAdwB2QHCBsEGzwHYAdYB0gG9AbwBuwGyAYIBigGJAYgBhwGGAbEBoAHHAboBsAGvAaEB0QHQAcEBzAGuAa0Bf5wBvgGbAZkBnwGBAZgBrAGrAZ4BgAF7fYUBtgGEAZYBygG1AckB0wHVAdQBtAG5AakBswG4Ab8BqAG3AacBpgGlAcMBlQGaAZQBkwGSAYMBkQGQAY8BjgGNAYwBiwGdAcAG9Ad5ZM0B3AHZAdsB4gHPAdgB1gHSAb0BvAG7AbIBggGKAYkBiAGHAYYBsQGgAccBugGwAa8BoQHRAdABwQG/Bq4BrQF/nAG+AZsBmQGfAYEBmAGsAasBngGAAXt9hQG2AYQBlgHKAbUByQHTAdUB1AG0AbkBqQGzAbgBvwGoAbcBpwGmAaUBwwGVAZoBlAGTAZIBgwGRAZABjwGOAY0BjAGLAZ0B5Bdb4RffF94X3RfcF9sX2hfXAcsBxQHEAc4BqgGXAX7AAdkX2gHDBs0B1wHLAcUBxAHOAaoBlwF+wAHcAdkBwgbBBs8B2AHWAdIBvQG8AbsBsgGCAYoBiQGIAYcBhgGxAaABxwG6AbABrwGhAdEB0AHBAcwBrgGtAX+cAb4BmwGZAZ8BgQGYAawBqwGeAYABe32FAbYBhAGWAcoBtQHJAdMB1QHUAbQBuQGpAbMBuAG/AagBtwGnAaYBpQHDAZUBmgGUAZMBkgGDAZEBkAGPAY4BjQGMAYsBnQHABmTNAdwB2QHbAeIBzwHYAdYB0gG9AbwBuwGyAYIBigGJAYgBhwGGAbEBoAHHAboBsAGvAaEB0QHQAcEBvwauAa0Bf5wBvgGbAZkBnwGBAZgBrAGrAZ4BgAF7fYUBtgGEAZYBygG1AckB0wHVAdQBtAG5AakBswG4Ab8BqAG3AacBpgGlAcMBlQGaAZQBkwGSAYMBkQGQAY8BjgGNAYwBiwGdAdUXW9IX0BfPF84XzRfMF8sX1wHLAcUBxAHOAaoBlwF+wAHKF9oBwwbNAdcBywHFAcQBzgGqAZcBfsAB3AHZAcIGwQbPAdgB1gHSAb0BvAG7AbIBggGKAYkBiAGHAYYBsQGgAccBugGwAa8BoQHRAdABwQHMAa4BrQF/nAG+AZsBmQGfAYEBmAGsAasBngGAAXt9hQG2AYQBlgHKAbUByQHTAdUB1AG0AbkBqQGzAbgBvwGoAbcBpwGmAaUBwwGVAZoBlAGTAZIBgwGRAZABjwGOAY0BjAGLAZ0BwAZkzQHcAdkB2wHiAc8B2AHWAdIBvQG8AbsBsgGCAYoBiQGIAYcBhgGxAaABxwG6AbABrwGhAdEB0AHBAb8GrgGtAX+cAb4BmwGZAZ8BgQGYAawBqwGeAYABe32FAbYBhAGWAcoBtQHJAdMB1QHUAbQBuQGpAbMBuAG/AagBtwGnAaYBpQHDAZUBmgGUAZMBkgGDAZEBkAGPAY4BjQGMAYsBnQHGF1vCF8EXwBe/F74XvRe8F9cBywHFAcQBzgGqAZcBfsABuxfaAcMGzQHXAcsBxQHEAc4BqgGXAX7AAdwB2QHCBsEGzwHYAdYB0gG9AbwBuwGyAYIBigGJAYgBhwGGAbEBoAHHAboBsAGvAaEB0QHQAcEBzAGuAa0Bf5wBvgGbAZkBnwGBAZgBrAGrAZ4BgAF7fYUBtgGEAZYBygG1AckB0wHVAdQBtAG5AakBswG4Ab8BqAG3AacBpgGlAcMBlQGaAZQBkwGSAYMBkQGQAY8BjgGNAYwBiwGdAcAGZM0B3AHZAdsB4gHPAdgB1gHSAb0BvAG7AbIBggGKAYkBiAGHAYYBsQGgAccBugGwAa8BoQHRAdABwQG/Bq4BrQF/nAG+AZsBmQGfAYEBmAGsAasBngGAAXt9hQG2AYQBlgHKAbUByQHTAdUB1AG0AbkBqQGzAbgBvwGoAbcBpwGmAaUBwwGVAZoBlAGTAZIBgwGRAZABjwGOAY0BjAGLAZ0BuBf4DuMMthf8BfQE4gy0F9MC2gHNAdcBywHFAdwB2QHbAeIBzwHYAdYB0gG9AbwBuwGyAYIBigGJAYgBhwGGAbEBoAHHAboBsAGvAaEB0QHQAcEBzAHEAa4BrQF/nAG+AZsBmQGfAYEBmAGsAasBzgGeAaoBlwGAAXt+fYUBtgGEAZYBygG1AckBwAHTAdUB1AG0AbkBqQGzAbgBvwGoAbcBpwGmAaUBwwGVAZoBlAGTAZIBgwGRAZABjwGOAY0BjAGLAZ0B3wyvF6EPrBfTAvIK0wmrF6oXqRenF6YXpRffCqQXoxfMCMsIoheeD50PoRfKCKAX0wL6AmSrAtoBzQHXAcsBxQGfF54Xmw+aD88B2AHWAdIBvQG8AbsBsgGCAYoBiQGIAYcBhgGxAaABxwG6AbABrwGhAdEB0AHBAcwBxAGuAa0Bf5wBvgGbAZkBnwGBAZgBrAGrAc4BngGqAZcBgAF7fn2FAbYBhAGWAcoBtQHJAcAB0wHVAdQBtAG5AakBswG4Ab8BqAG3AacBpgGlAcMBlQGaAZQBkwGSAYMBkQGQAY8BjgGNAYwBiwGdAYYDmheZF9oBzQHXAcsBxQHcAdkB2wHiAc8BmBfWAdIBvQG8AbsBsgGCAYoBiQGIAYcBhgGxAaABxwG6AbABrwGhAdEB0AHBAcwBxAGuAa0Bf5wBvgGbAZkBnwGBAZgBrAGrAc4BngGqAZcBgAF7fn2FAbYBhAGWAcoBtQHJAcAB0wHVAdQBtAG5AakBswG4Ab8BqAG3AacBpgGlAcMBlQGaAZQBkwGSAYMBkQGQAY8BjgGNAYwBiwGdAZAX2gHNAdcBywHFAdwB2QHbAeIBzwHYAdYB0gG9AbwBuwGyAYIBigGJAYgBhwGGAbEBoAHHAboBsAGvAaEB0QHQAcEBzAHEAa4BrQF/nAG+AZsBmQGfAYEBmAGsAasBjReeAYwXlwGAAXt+fYUBtgGEAZYBygG1AckBwAHTAdUB1AG0AbkBqQGzAbgBvwGoAbcBpwGmAaUBwwGVAZoBlAGTAZIBgwGRAZABjwGOAY0BjAGLAZ0Bhg6EF1uAF9oBzQHXAcsBxQHcAdkB/Rb8Fs8B2AHWAdIBvQG8AbsBsgGCAYoBiQGIAYcBhgGxAaABxwG6AbABrwGhAdEB0AHBAcwBxAGuAa0Bf5wBvgGbAZkBnwGBAZgBrAGrAc4BngGqAZcBgAF7fn2FAfsWhAGWAcoBtQHJAcAB0wHVAdQBtAG5AakBswG4Ab8BqAG3AacBpgGlAcMBlQGaAZQBkwGSAYMBkQGQAY8BjgGNAYwBiwGdAdoBzQHXAcsBxQHcAdkB2wH/Fs8B2AHWAdIBvQG8AbsBsgGCAYoBiQGIAYcBhgGxAaABxwG6AbABrwGhAdEB0AHBAcwBxAGuAa0Bf5wBvgGbAZkBnwGBAZgBrAGrAc4BngGqAZcBgAF7fn2FAf4WhAGWAcoBtQHJAcAB0wHVAdQBtAG5AakBswG4Ab8BqAG3AacBpgGlAcMBlQGaAZQBkwGSAYMBkQGQAY8BjgGNAYwBiwGdAcQDedoJ6AfYDM0C0AnzFmSVBZQF8BbvFu4W7RbsFusW6hbbAekWzwHnFtYB0gG9AbwBuwGyAYIBigGJAYgBhwGGAbEBoAHHAboBsAGvAaEB0QHQAeYWzAHlFq4BrQF/nAG+AZsBmQHkFoEBmAHjFuIW4RbgFt8WlwGAAXt+fYUBtgGEAZYB3hbcFtsW2hbZFtUB2BbXFrkB1hbVFrgB1BaoAdMW0RamAdAWwwGVAZoBlAGTAZIBgwGRAZABjwGOAY0BjAGLAc8WyhbaAc0B1wHLAcUB3AHZAdsB4gHPAdgB1gHSAb0BvAG7AbIBggGKAYkBiAGHAYYBsQGgAccBugGwAa8BoQHRAdABwQHMAcQBrgGtAX+cAb4BmwGZAZ8BgQGYAawBqwHOAZ4BqgGXAYABe359hQG2AYQBlgHKAbUByQHAAdMB1QHUAbQBuQGpAbMBuAG/AagBtwGnAaYBpQHDAZUBmgGUAZMBkgGDAZEBkAGPAY4BjQGMAYsBnQHDFtoBzQHXAcsBxQHcAdkB2wG+Fs8B2AHWAdIBvQG8AbsBsgGCAYoBiQGIAYcBhgGxAaABxwG6AbABrwGhAdEB0AHBAcwBxAGuAa0Bf5wBvgGbAZkBnwGBAZgBrAGrAc4BngGqAZcBgAF7fn2FAbYBhAGWAcoBtQHJAcAB0wHV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QQFqIQsCQCACIAVGBEAgAyEEDAELQQAhCSACIQEgCkEDcSIHBEADQCADQQFrIgMgAUEBayIBLQAAOgAAIAlBAWoiCSAHRw0ACwsgBSACa0F8TQRAA0AgA0EBayABQQFrLQAAOgAAIANBAmsgAUECay0AADoAACADQQNrIAFBA2stAAA6AAAgA0EEayIDIAFBBGsiAS0AADoAACABIAVHDQALCyAAKAIAIQILIAAgCDYCCCAAIAs2AgQgACAENgIAIAJFDQAgAhBaCyAGQQd2IQEgBkH//wBLDQALCyABQf8AcSEGIAAoAgQiAiAAKAIIRwRAIAIgBjoAACAAIAJBAWo2AgQgAA8LIAIgACgCACIIayIFQQFqIgRBAEgNACAFQf////8HIAVBAXQiASAEIAEgBEsbIAVB/////wNPGyIBBH8gARBcBUEACyIEaiIDIAY6AAAgASAEaiELIANBAWohBwJAIAIgCEYEQCADIQQMAQsCQCAFQQNxIgZFBEAgAiEBDAELQQAhCSACIQEDQCADQQFrIgMgAUEBayIBLQAAOgAAIAlBAWoiCSAGRw0ACwsgCCACa0F8TQRAA0AgA0EBayABQQFrLQAAOgAAIANBAmsgAUECay0AADoAACADQQNrIAFBA2stAAA6AAAgA0EEayIDIAFBBGsiAS0AADoAACABIAhHDQALCyAAKAIAIQILIAAgCzYCCCAAIAc2AgQgACAENgIAIAIEQCACEFoLIAAPCxBkAAuQBAEEfyABIAAgAUYiAzoADAJAIAMNAANAIAEoAggiAy0ADA0BAkAgAyADKAIIIgIoAgAiBEYEQAJAIAIoAgQiBEUNACAELQAMDQAMAgsCQCABIAMoAgBGBEAgAyEBDAELIAMgAygCBCIBKAIAIgQ2AgQgAyEAIAQEQCAEIAM2AgggAygCCCICKAIAIQALIAEgAjYCCCACIAJBBGogACADRhsgATYCACABIAM2AgAgAyABNgIIIAEoAggiAigCACEDCyABQQE6AAwgAkEAOgAMIAIgAygCBCIANgIAIAAEQCAAIAI2AggLIAMgAigCCCIANgIIIAAgACgCACACR0ECdGogAzYCACADIAI2AgQgAiADNgIIDwsCQCAERQ0AIAQtAAwNAAwBCwJAIAEgAygCAEcEQCADIQEMAQsgAyABKAIEIgA2AgAgAARA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NgIAQcwBIApBnAFqQdX5AhACIQNB1IkLKAIAIYYBQdSJC0EANgIAQQEhASCGAUEBRg0FQdSJC0EANgIAQf0BIAQgAyAFIAkQDSECQdSJCygCACGHAUHUiQtBADYCACCHAUEBRwRAQQAhAUHUiQtBADYCAEHNASACQbC5B0HOARAIQdSJCygCACGIAUHUiQtBADYCACCIAUEBRw0FCxAAIQAgAywAC0EASARAIAMoAgAQWgsgAUUNCwwKCyAKQegBaiADIAlBARBpELUHAkACQCADKAIAIgAoAtACIgJFDQAgACgCzAICfyAKKQPoASLdAaciCCACQQFrcSACaUEBSyIBRQ0AGiAIIAIgCEsNABogCCACcAsiBEECdGooAgAiAEUNACAAKAIAIgBFDQACQCABRQRAIAJBAWshAgNAAkAgCCAAKAIEIgFHBEAgASACcSAERg0BDAULIAAoAgggCEYNAwsgACgCACIADQALDAILA0ACQCAIIAAoAgQiAUcEQCABIAJPBH8gASACcAUgAQsgBEYNAQwECyAAKAIIIAhGDQILIAAoAgAiAA0ACwwBCyAAKAIQDQELQRQQciEEQdSJC0EANgIAQcwBIApBkAFqQY2ZBBACIQNB1IkLKAIAIYkBQdSJC0EANgIAQQEhASCJAUEBRg0GQdSJC0EANgIAQf0BIAQgAyAFIAkQDSECQdSJCygCACGKAUHUiQtBADYCACCKAUEBRwRAQQAhAUHUiQtBADYCAEHNASACQbC5B0HOARAIQdSJCygCACGLAUHUiQtBADYCACCLAUEBRw0FCxAAIQAgAywAC0EASARAIAMoAgAQWgsgAUUNCwwJCyAHKAIMIQQCQCAHKAIQIgAgBygCFEcEQCAEIQEMAQsgByAAQQF0QQJqIgA2AhQgByAHKAIYIABBA3RBBBBdIgE2AgxBACEAIAcoAhBFDQADQCAAQQN0IgEgBygCDGogASAEaikCADcCACAAQQFqIgAgBygCECICSQ0ACyAHKAIMIQEgAiEACyABIABBA3RqIN0BNwIAIAcgBygCEEEBajYCECAKQYgBaiADIAlBAhBpQQAQ5gQgBygCHCECIAopA4gBId0BAkAgBygCICIAIAcoAiRHBEAgAiEEDAELIAcgAEEBdEECaiIANgIkIAcgBygCKCAAQQN0QQQQXSIENgIcQQAh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IN0BQoCAgIBwg0KAgICAoAJSDRUgA0GgmwVBEhBeDRUgACABQQIQiwUhAgwWCyDdAUKAgICAcINCgICAgIADUg0UIANBzCFBGBBeDRQgACABQQYQiwUhAgwVCyDdAUKAgICAcINCgICAgJABUg0TIANBqYECQQkQXg0TIAAgAUEAEMIQIQIMFAsg3QFCgICAgHCDQoCAgIDgAlINEiADQdHkAEEWEF4NEiAAIAFBCEEAELAEIQIMEwsg3QFCgICAgHCDQoCAgICwAVINESADQcL+AkELEF4NESAAIAFBBRCQBiECDBILIN0BQoCAgIBwg0KAgICA4AJSDRAgA0G3uARBFhBeDRAgACABQQMQkAYhAgwRCwJAAkAgBi0AT0H1AGsOAwARARELIN0BQoCAgIBwg0KAgICAsAJSDRAgA0HymwVBExBeDRAgACABQQAQkAYhAgwRCwJAAkAgBi0AUkExaw4IABEREREREQERCyDdAUKAgICAcINCgICAgMACUg0QIANBsaEFQRQQXg0QIAAgAUECEJAGIQIMEQsg3QFCgICAgHCDQoCAgICwAlINDyADQYybBUETEF4NDyAAIAFBARCQBiECDBALAkACQAJAIAYtAEtB7ABrDgwAEREREREREREBEQIRCyAGLQBVIgJB3wBHBEAgAg0RIN0BQoCAgIBwg0KAgICA0AJSDREgA0GzmwVBFRBeDREgACABQQJBABCwBCECDBILIN0BQoCAgIBwg0KAgICAsANSDRAgA0HlIUEbEF4NECAAIAFBBkEAELAEIQIMEQsgBi0ATyICQd8ARwRAIAINECDdAUKAgICAcINCgICAgPABUg0QIANB4psFQQ8QXg0QIAAgAUEAQQAQsAQhAgwRCwJAAkAgBi0AUEHhAGsOFAAREREREREREREREREREREREREBEQsgBi0AVSICQd8ARwRAIAINESDdAUKAgICAcINCgICAgNACUg0RIANBoCJBFRBeDREgACABQQRBABCwBCECDBILIN0BQoCAgIBwg0KAgICAkANSDRAgA0HNEkEZEF4NECAAIAFBBEEBELAEIQIMEQsg3QFCgICAgHCDQoCAgICwAlINDyADQecSQRMQXg0PIAAgAUEAQQEQsAQhAgwQCwJAAkAgBi0ATkExaw4IABAQEBAQEAEQCyAGLQBQIgJB3wBHBEAg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gICgAVINECADQdE8QQoQXg0QIAAgAUHbABB2IQIMEQsCQAJAAkAgBi0AR0HhAGsOFAASEhIBEhISEhISEhISEhISEhICEgsg3QFCgICAgHCDQoCAgICAAlINESADQfGLAUEQEF4NESAAIAFBBhDHBCECDBILAkACQCAGLQBJQfMAaw4DABIBEgsg3QFCgICAgHCDQoCAgICgAVINESADQdDkAUEKEF4NESAAIAFB3AAQdiECDBILIN0BQoCAgIBwg0KAgICAoAFSDRAgA0H/wgBBChBeDRAgACABQd0AEHYhAgwRCwJAAkAgBi0ASUHzAGsOAwARARELIN0BQoCAgIBwg0KAgICAoAFSDRAgA0Gf4QFBChBeDRAgACABQdgAEHYhAgwRCyDdAUKAgICAcINCgICAgKABUg0PIANBnjxBChBeDQ8gACABQdkAEHYhAgwQCwJAAkACQCAGLQBHQeEAaw4VABEREREREREBERERERERERERERECEQsCQAJAIAYtAEpB8wBrDgMAEgESCyDdAUKAgICAcINCgICAgLABUg0RIANB5+ABQQsQXg0RIAAgAUGUARB2IQIMEgsg3QFCgICAgHCDQoCAgICwAVINECADQeY7QQsQXg0QIAAgAUGVARB2IQIMEQsCQAJAIAYtAEpB8wBrDgMAEQERCyDdAUKAgICAcINCgICAgLABUg0QIANB7uMBQQsQXg0QIAAgAUGSARB2IQIMEQsg3QFCgICAgHCDQoCAgICwAVINDyADQaLAAEELEF4NDyAAIAFBkwEQdiECDBALIN0BQoCAgIBwg0KAgICAkAFSDQ4gA0Hc6AJBCRBeDQ4gACABQZEBEHYhAgwPCwJAAkAgBi0AR0HhAGsOBQAPDw8BDwsCQAJAIAYtAFNB8wBrDgMAEAEQCyDdAUKAgICAcINCgICAgMACUg0PIANBuukBQRQQXg0PIAAgAUHBARB2IQIMEAsg3QFCgICAgHCDQoCAgIDAAlINDiADQfTJAEEUEF4NDiAAIAFBwgEQdiECDA8LIAYtAEgiAkHnAEcEQCACDQ4g3QFCgICAgHCDQoCAgICAAVINDiADKQAAQuni2MGHx4u35QBSDQ4gACABQdcAEHYhAgwPCyDdAUKAgICAcINCgICAgJABUg0NIANBqa0DQQkQXg0NIAAgAUHKABDhASECDA4L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cINCgICAgLACUg0MIANByuwBQRMQXg0MIAAgAUE4EOEBIQIMDQsg3QFCgICAgHCDQoCAgICwAlINCyADQYTNAEETEF4NCyAAIAFBORDhASECDAwLAkACQCAGLQBSQfMAaw4DAAwBDAsg3QFCgICAgHCDQoCAgICwAlINCyADQb3rAUETEF4NCyAAIAFBOhDhASECDAwLIN0BQoCAgIBwg0KAgICAsAJSDQogA0H3ywBBExBeDQogACABQTsQ4QEhAgwLCyDdAUKAgICAcINCgICAgPAAUg0JIANBn/cBQQcQXg0JIAAgAUEiEHYhAgwKCwJAAkACQAJAAkACQAJAAkACQCAGLQBGQeEAaw4TAAEREQIRAxEREREEBQYREREHCBELAkACQAJAIAYtAEdB4gBrDgsAEwETExMTExMTAhMLIN0BQoCAgIBwg0KAgICAkAFSDRIgA0G94AFBCRBeDRIgACABQdEAEOEBIQIMEwsg3QFCgICAgHCDQoCAgICQAVINESADQaLkBEEJEF4NESAAIAFBqAEQdiECDBILIN0BQoCAgIBwg0KAgICA4AFSDRAgA0HfxgNBDhBeDRAgACABQdMAEOEBIQIMEQsg3QFCgICAgHCDQoCAgIDQAVINDyADQYX3AkENEF4NDyAAIAFB1AAQ4QEhAgwQCwJAAkAgBi0AR0HxAGsOCAAQEBAQEBABEAsg3QFCgICAgHCDQoCAgICAAVINDyADKQAAQuns0MGnxsuy8QBSDQ8gACABQeoAEHYhAgwQCwJAAkACQCAGLQBJQeUAaw4OABEREREREREBEREREQIRCwJAAkAgBi0ATUHoAGsOBQASEhIBEgsCQAJAIAYtAFhB8wBrDgMAEwETCyDdAUKAgICAcINCgICAgJADUg0SIANBy+oBQRkQXg0SIAAgAUH0ABDhASECDBMLIN0BQoCAgIBwg0KAgICAkANSDREgA0GFywBBGRBeDREgACABQfYAEOEBIQIMEgsCQAJAIAYtAFdB8wBrDgMAEgESCyDdAUKAgICAcINCgICAgIADUg0RIANBguoBQRgQXg0RIAAgAUHzABDhASECDBILIN0BQoCAgIBwg0KAgICAgANSDRAgA0G8ygBBGBBeDRAgACABQfUAEOEBIQIMEQsCQAJAIAYtAE1B6ABrDgUAERERARELAkACQCAGLQBY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BCACBEAgAiAANgIICyABIAAoAggiAjYCCCACIAIoAgAgAEdBAnRqIAE2AgAgASAANgIAIAAgATYCCA8LIANFBEAgAkEBOgAMIAFBADoADCABIAIoAgQiAzYCACADBEAgAyABNgIICyACIAEoAggiAzYCCCADIAMoAgAgAUdBAnRqIAI2AgAgAiABNgIEIAEgAjYCCCACIAAgACABRhshACABKAIAIQILAkACQCACKAIAIgFFDQAgAS0ADA0AIAIhAwwBCwJAIAIoAgQiAwRAIAMtAAxFDQELIAJBADoADCACKAIIIgItAAxBACAAIAJHGw0CIAJBAToADA8LAkAgAUUNACABLQAMDQAgAiEDDAELIANBAToADCACQQA6AAwgAiADKAIAIgA2AgQgAARAIAAgAjYCCAsgAyACKAIIIgA2AgggACAAKAIAIAJHQQJ0aiADNgIAIAMgAjYCACACIAM2AgggAiEBCyADIAMoAggiAC0ADDoADCAAQQE6AAwgAUEBOgAMIAAgACgCACIBKAIEIgI2AgAgAgRAIAIgADYCCAsgASAAKAIIIgI2AgggAiACKAIAIABHQQJ0aiABNgIAIAEgADYCBCAAIAE2AggPCyACKAIIIgEgASgCACACRkECdGooAgAhAgwACwALIARBAToADAsL/AUCBn8BfiMAQbABayIEJAACQAJAIAJB/wFxBEAgACABNgIEIAENASAAKAIUIgJFDQEgACgCECEFQQAhAQNAIAUgAUECdGooAgAoAgRBAUcEQCACIAFBAWoiAUcNAQwDCwsCQAJAIAMOAwADAQMLIAQgACkCCCIKNwMIIAQgCjcDGCAAIARBCGoQ8QINAgsgAEEBNgIEDAELIAAoAhQiAkUEQCAAQQA2AgQMAQsgACAAKAIQIgMgAkECdGpBBGsoAgAoAgQiATYCBCAAKAIIRQRAIAENAUEAIQEDQCADIAFBAnRqKAIAKAIEQQFHBEAgAiABQQFqIgFHDQEMAwsLIABBATYCBAwBCyAAKQIIIQogBEIANwJwIARCADcCeCAEQQA2AoABIARCADcClAEgBEKAgICAgICAwD83ApwBIARCADcCGCAEQgA3AowBIAQgCjcChAFB1IkLQQA2AgAgBCAANgIUQTwgBEEYaiAEQRRqEANB1IkLKAIAIQZB1IkLQQA2AgAgBkEBRg0B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IAJBADYCaEHUiQtBADYCACACQgA3AgAgAiACQfwAajYCbEHHACACIAJB9AFqEANB1IkLKAIAIQtB1IkLQQA2AgACQAJAIAtBAUcEQCACKAJYIgsEQCACIAs2AlwgCxBaCyACKALQAQRAQdSJC0EANgIAQQ1BkckFQfaKA0HECEGm0QAQBUHUiQsoAgAhGkHUiQtBADYCACAaQQFHDQoQACEEDAsLIAItAHwEQCACQQA6AM0BCyACQQA6AMwBAkAgAigCqAENACACLQDYAQ0AIAIoAsABDQAgAi0AxQENACACLQDHAQ0AIAItAMkBDQAgAi0AywENACACLQDOAQ0AIAItAJEBDQAgAi0AzwENACACKALwAQ0AIAItAJABDQAgAigC5AENACACLQDZAQ0AIAAoAmgoAoQBIQtB1IkLQQA2AgBBhNcAIAEgCxACIRxB1IkLKAIAIRtB1IkLQQA2AgAgG0EBRg0DIBxFDQILIAAoAnQgARCpCAwHCxAAIQQgAigCWCIARQ0JIAIgADYCXCAAEFoMCQsgBCgCDCELIAIgAikCgAE3AgggAiACLwF8OwEEIAIgCzYCACACQgA3AoABIAIvAZABIQ0gAikCiAEhJSACIAIoApQBNgIcIAJBIGoiBCACKAKYASIONgIAIAIgJTcCECACIA07ARggAiACKAKcASINNgIkAkAgDUUEQCACIAQ2AhwMAQsgDiAENgIIIAJCADcCmAEgAiAFNgKUAQsgAiACKAKgATYCKCACQSxqIgUgAigCpAEiBDYCACACIAIoAqgBIg02AjACQCANRQRAIAIgBTYCKAwBCyAEIAU2AgggAkIANwKkASACIAM2AqABCyACIAIoAqwBNgI0IAJBOGoiBSACKAKwASIDNgIAIAIgAigCtAEiBDYCPAJAIARFBEAgAiAFNgI0DAELIAMgBTYCCCACQgA3ArABIAIgBjYCrAELIAJBQGsgAigCuAE2AgAgAkHEAGoiAyACKAK8ASIFNgIAIAIgAigCwAEiBDYCSAJAIARFBEAgAiADNgJADAELIAUgAzYCCCACQgA3ArwBIAIgBzYCuAELIAIgAikCxAE3AkwgAiACKQHSATcBWiACIAIpAswBNwJUIAIgAigC3AE2AmQgAkHoAGoiAyACKALgASIENgIAIAIgAigC5AEiBjYCbAJAIAZFBEAg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A0kEQCACIAE2AgAgACACQQRqNgIEDwsgAiAAKAIAIgVrQQJ1IgdBAWoiBEGAgICABE8NAUH/////AyADIAVrIgNBAXUiBiAEIAQgBkkbIANB/P///wdPGyIDBH8gA0GAgICABE8NAyADQQJ0EFwFQQALIgYgB0ECdGoiBCABNgIAIARBBGohASACIAVHBEADQCAEQQRrIgQgAkEEayICKAIANgIAIAIgBUcNAAsgACgCACECCyAAIAYgA0ECdGo2AgggACABNgIEIAAgBDYCACACRQ0AIAIQWgsPCxBkAAsQagAL8AEBBn8gACgCcCICIAAoAnRHBEAgAiABNgIAIAAgAkEEajYCcA8LAkAgAiAAKAJsIgZrIgNBAnUiB0EBaiIEQYCAgIAESQRAQf////8DIANBAXUiBSAEIAQgBUkbIANB/P///wdPGyIEBH8gBEGAgICABE8NAiAEQQJ0EFwFQQALIgUgB0ECdGoiAyABNgIAIANBBGohASACIAZHBEADQCADQQRrIgMgAkEEayICKAIANgIAIAIgBkcNAAsgACgCbCECCyAAIAUgBEECdGo2AnQgACABNgJwIAAgAzYCbCACBEAgAhBaCw8LEGQACxBqAAukAgEEfwJAAkACQCAAKAJsIAAoApwBIAAoApgBIgNrQQJ1aiICDgIAAgELQf69BUHTmQNBgARB1+YAEAEACyAAIAJBAmsiAkECdCIEakHwAGogAyAEakEoayACQQpJGygCACEFCyAAQagBaiIEIQMCQAJAIAAoAqgBIgJFDQADQCABIAIiAygCECICSQRAIAMiBCgCACICDQEMAgsgASACTQRAIAMhAgwDCyADKAIEIgINAAsgA0EEaiEEC0EYEFwiAiABNgIQIAIgAzYCCCACQgA3AgAgAkEANgIUIAQgAjYCACACIQMgACgCpAEoAgAiAQRAIAAgATYCpAEgBCgCACEDCyAAKAKoASADEGcgACAAKAKsAUEBajYCrAELIAIgBTYCFAvIBwIIfwN+IwBBEGsiBCQAIAQgATYCBAJAAkACQAJAIAEoAgAiBg4EAQIDAgALIAZBM0YNASAGQd0ARw0CC0GY/QNB5bMDQeoBEGIACyABKQIIIgunIgdFDQAgAEHwAGoiBSEDAkACQCAAKAJwIgJFDQAgC0IgiCIMpyEIA0ACQAJAIAcgAiID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AAsgACgCACECCyAAIAYgA0ECdGo2AgggACABNgIEIAAgBDYCACACRQ0AIAIQWgsPCxBkAAsQagAL+gEBBn8CQAJAAkAgAEUNACAAKAIEIgIgACgCCEcEQCACIAE2AgAgACACQQRqNgIEDwsgAiAAKAIAIgZrIgNBAnUiB0EBaiIEQYCAgIAETw0BQf////8DIANBAXUiBSAEIAQgBUkbIANB/P///wdPGyIEBH8gBEGAgICABE8NAyAEQQJ0EFwFQQALIgUgB0ECdGoiAyABNgIAIANBBGohASACIAZHBEADQCADQQRrIgMgAkEEayICKAIANgIAIAIgBkcNAAsgACgCACECCyAAIAUgBEECdGo2AgggACABNgIEIAAgAzYCACACRQ0AIAIQWgsPCxBkAAsQagAL+gMBA38CQAJAAkACQAJAAkACQCABKAIAQQhrDgICAAELIAEoAgRBAkkNAiABIAAoAnggASgCCBDQAjYCBA8LIAEgACABKAIEEPEENgIEAkACQAJAAkACQAJAAkAgASgCAA5eAggICAgICAoICAgICAMICAgICAgFCwgICAgECAgICAgICAgICAgICAgICAgICAgICAgICAAICAgICAgICAsIBggICAgICAgICAgICAgICAgICAgICAgICAgICAgBAggLIAFBQGsoAgBFDQcDQCAAIAJBAnQiAyABKAI8aigCABDxBCEEIAEoAkAgAk0NCSABKAI8IANqIAQ2AgAgAkEBaiICIAEoAkBJDQALDAcLIAEoAkQEQANAIAAgAkECdCIDIAEoAkBqKAIAEPEEIQQgASgCRCACTQ0JIAEoAkAgA2ogBDYCACACQQFqIgIgASgCREkNAAsLDAgLQZj9A0HlswNB6gEQYgALIAEgACABKAIsEPEENgIsDwsgASAAIAEoAhwQ8QQ2AhwPCyABIAAgASgCCBDxBDYCCA8LIAEgACABKAIYEPEENgIYDwsgASAAKAJ4IAEoAggQ0AI2AgQLDwtBxaIBQYmiA0G8AUGmiAUQAQALIAEgACgCgAEgASgCCBC5DDYCCA8LIAEgACABKAIMEPEENgIMC4QCAQZ/AkACQAJAIAEoAgBBK0cNACAAKAIEIgIgACgCCCIDSQRAIAIgATYCACAAIAJBBGo2AgQPCyACIAAoAgAiBWtBAnUiB0EBaiIEQYCAgIAETw0BQf////8DIAMgBWsiA0EBdSIGIAQgBCAGSRsgA0H8////B08bIgMEfyADQYCAgIAETw0DIANBAnQQXAVBAAsiBiAHQQJ0aiIEIAE2AgAgBEEEaiEBIAIgBUcEQANAIARBBGsiBCACQQRrIgIoAgA2AgAgAiAFRw0ACyAAKAIAIQILIAAgBiADQQJ0ajYCCCAAIAE2AgQgACAENgIAIAJFDQAgAhBaCw8LEGQACxBqAAvFAgEHfwJAAkAgAigCAARAIAAoAgQiA0EJTQRAIAAgA0EBajYCBCAAQQRqIANBA3RqIgAgAjYCCCAAIAE2AgQPCyAAKAJcIgMgACgCYCIFSQRAIAMgAjYCBCADIAE2AgAgACADQQhqNgJcDwsgAyAAKAJYIgZrIghBA3UiCUEBaiIEQYCAgIACTw0BQf////8BIAUgBmsiBUECdSIHIAQgBCAHSRsgBUH4////B08bIgRBgICAgAJPDQIgCCAEQQN0IgcQXCIFaiIEIAE2AgAgBSAJQQN0aiACNgIEIARBCGohASADIAZHBEADQCAEQQhrIgQgA0EIayIDKQIANwIAIAMgBkcNAAsLIAAgBSAHajYCYCAAIAE2AlwgACAENgJYIAYEQCAGEFoLDwtBgYMCQdOZA0G5AkGu9wIQAQALEGQACxBqAAu4CgEHfyMAQRBrIggkAAJAAn8CQAJAAkACQAJAAkACQAJAAkAgACgCACIEDkABCgoKCAIKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoDBAoFCgoKCgoKCgoGAAsgBEHcAGsOAgYACQtBmP0DQeWzA0HqARBiAAsCQCAAKAIYRQ0AIAhBCGogAUGAAWogAEEYaiIEKQIAIAQQ5gUgAigCACEHIAgoAggiBSIDQRxqIgYhBAJAIAMoAhwiA0UNAANAIAMiBCgCECIDIAdLBEAgBCEGIAQoAgAiAw0BDAILIAMgB08NAiAEKAIEIgMNAAsgBEEEaiEGC0EUEFwiAyAENgIIIANCADcCACADIAc2AhAgBiADNgIAIAUoAhgoAgAiBARAIAUgBDYCGCAGKAIAIQMLIAUoAhwgAxBnIAUgBSgCIEEBajYCIAsgACgCDEUNByABQYABaiEJQQAhBgNAAkAgACgCCCAGQQN0aiIBKAIARQ0AIAhBCGogCSABKQIAIAEQ5gUgAigCACEHIAgoAggiBSIDQRxqIgEhBAJAIAMoAhwiA0UNAANAIAMiBCgCECIBIAdLBEAgAyEBIAMoAgAiAw0BDAILIAEgB08NAiAEKAIEIgMNAAsgBEEEaiEBC0EUEFwiAyAENgIIIANCADcCACADIAc2AhAgASADNgIAIAUoAhgoAgAiBARAIAUgBDYCGCABKAIAIQMLIAUoAhwgAxBnIAUgBSgCIEEBajYCIAsgBkEBaiIGIAAoAgxJDQALDAcLIABBNGoMBQsgACgCIEUNBSABQYABaiEJA0ACQCAAKAIcIAZBA3RqIgEoAgBFDQAgCEEIaiAJIAEpAgAgARDmBSACKAIAIQcgCCgCCCIFIgNBHGoiASEEAkAgAygCHCIDRQ0AA0AgAyIEKAIQIgEgB0sEQCADIQEgAygCACIDDQEMAgsgASAHTw0CIAQoAgQiAw0ACyAEQQRqIQELQRQQXCIDIAQ2AgggA0IANwIAIAMgBzYCECABIAM2AgAgBSgCGCgCACIEBEAgBSAENgIYIAEoAgAhAwsgBSgCHCADEGcgBSAFKAIgQQFqNgIgCyAGQQFqIgYgACgCIEkNAAsMBQsgAEEIagwDCyAAQQxqDAILIAAoAiBFDQIgAUGAAWohCQNAAkAgACgCHCAGQQN0aiIBKAIARQ0AIAhBCGogCSABKQIAIAEQ5gUgAigCACEHIAgoAggiBSIDQRxqIgEhBAJAIAMoAhwiA0UNAANAIAMiBCgCECIBIAdLBEAgAyEBIAMoAgAiAw0BDAILIAEgB08NAiAEKAIEIgMNAAsgBEEEaiEBC0EUEFwiAyAENgIIIANCADcCACADIAc2AhAgASADNgIAIAUoAhgoAgAiBARAIAUgBDYCGCABKAIAIQMLIAUoAhwgAxBnIAUgBSgCIEEBajYCIAsgBkEBaiIGIAAoAiBJDQALDAILIABBCGoLIgQoAgBFDQAgCEEIaiABQYABaiAEKQIAIAQQ5gUgAigCACECIAgoAggiAUEcaiIAIQQCQCABKAIcIgNFDQADQCADIgQoAhAiACACSwRAIAMhACADKAIAIgMNAQwCCyAAIAJPDQIgBCgCBCIDDQALIARBBGohAAtBFBBcIgMgBDYCCCADQgA3AgAgAyACNgIQIAAgAzYCACABKAIYKAIAIgIEQCABIAI2AhggACgCACEDCyABKAIcIAMQZyABIAEoAiBBAWo2AiALIAhBEGokAAu9DgEefyMAQeAAayIFJAACQAJAAkACQCABKAIEIgZBAkkNACABKAIAIgQhAgJAIARBzgBGBEAgASEDA0AgAygCCEEBa0EBSw0CIAMoAgwiAygCACICQc4ARg0ACwsgAkEOayIDQR1NQQBBASADdEGBgIDAAnEbDQEgAkHQAEYNAQsCQCAEQThHDQAgASgCDCIIRQ0BIAEoAgghB0EAIQQDQCAHIARBAnRqKAIAIgMoAgAiAkHOAEYEQANAIAMoAghBAWtBAUsNAyADKAIMIgMoAgAiAkHOAEYNAAsLIAJBDmsiA0EdTUEAQQEgA3RBgYCAwAJxG0UgAkHQAEdxDQEgBEEBaiIEIAhHDQALDAELIAZBB08EQCAGKAIERQ0BCyAFQThqIAAgARD2BSAAKAIEQRhqIQkgACgCfCEGAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkAgBS0AUCIDDgUFAwABDwILIAUoAkAMAwsgBSgCOAwCC0HUiQtBADYCAEEUQYrOA0GbiQNB2wEQCEHUiQsoAgAhDEHUiQtBADYCACAMQQFGDQoMEAsgBSgCSAtBAUcNAQtB1IkLQQA2AgBBDCAGQagBakEIQQQQBCEDQdSJCygCACENQdSJC0EANgIAIA1BAUYNCyADQpeAgIAQNwIAQdSJC0EANgIAQaY4IAEgBiAJIANBABAQIQFB1IkLKAIAIQ5B1IkLQQA2AgAgDkEBRg0LQdSJC0EANgIAQe3EACAAIAEQA0HUiQsoAgAhD0HUiQtBADYCACAPQQFHDQEMCwsgA0EBa0H/AXFBAUsNB0HUiQtBADYCAEHuxAAgBUE4aiIDEAYhAkHUiQsoAgAhEEHUiQtBADYCACAQQQFGDQoCQCACRQ0AIAEoAgQiAkEHSQ0AIAIoAgRBAUcNACACKAIMQQFHDQBB1IkLQQA2AgBB78QAIAMQBiECQdSJCygCACERQdSJC0EANgIAIBFBAUYNCyACIAEoAgQiBEYNAEHUiQtBADYCAEGsASACIAQQAiETQdSJCygCACESQdSJC0EANgIAIBJBAUYNCyATDQAgASgCBCECQdSJC0EANgIAQZsMIAIQBiECQdSJCygCACEUQdSJC0EANgIAIBRBAUYNAkHUiQtBADYCAEHwxAAgBSACEANB1IkLKAIAIRVB1IkLQQA2AgAgFUEBRg0CQdSJC0EANgIAQfHEACAFQRhqIgIgBRADQdSJCygCACEWQdSJC0EANgIAIBZBAUYNA0HUiQtBADYCAEHyxAAgAyACEAIaQdSJCygCACEXQdSJC0EANgIAIBdBAUYNBCACEOkBIAUQWRoLQdSJC0EANgIAQfPEACAFQThqIAYQAiEDQdSJCygCACEYQdSJC0EANgIAIBhBAUYNBQJAIAMoAgQiAiABKAIEIgRGDQBB1IkLQQA2AgBBrAEgAiAEEAIhGkHUiQsoAgAhGUHUiQtBADYCACAZQQFGDQYgGg0AIAMoAgAiCCEEAkACQCAIQc4ARgRAIAMhAgNAIAIoAghBAWtBAUsNAiACKAIMIgIoAgAiBEHOAEYNAAsLQQEhAiAEQQ5rIgdBHU1BAEEBIAd0QYGAgMACcRsNASAEQdAARg0BCwJAIAhBOEcNACADKAIMIgpFBEBBASECDAELIAMoAgghC0EAIQcDQCALIAdBAnRqKAIAIgIoAgAiBEHOAEYEQANAIAIoAghBAWtBAUsEQEEAIQIMBAsgAigCDCICKAIAIgRBzgBGDQALCwJAIARBDmsiAkEdTUEAQQEgAnRBgYCAwAJxGw0AIARB0ABGDQBBACECDAILQQEhAiAHQQFqIgcgCkcNAAsLIAhBOEYgAnEhAgsgAkUNBUHUiQtBADYCAEEMIAZBqAFqQQhBBBAEIQNB1IkLKAIAIRtB1IkLQQA2AgAgG0EBRg0GIANCl4CAgBA3AgALQdSJC0EANgIAQaY4IAEgBiAJIANBABAQIQFB1IkLKAIAIRxB1IkLQQA2AgAgHEEBRg0FQdSJC0EANgIAQe3EACAAIAEQA0HUiQsoAgAhHUHUiQtBADYCACAdQQFGDQULIABBAToAhgEMBgsQACEDDAkLEAAhAyAFEFkaDAgLEAAhAyAFQRhqEOkBIAUQWRoMBwsgAygCAEEKRg0CQdSJC0EANgIAQQ1BgaoGQcy5AkHaAUHC3AIQBUHUiQsoAgAhHkHUiQtBADYCACAeQQFHDQcLEAAhAwwFCxAAIQMMBAsgBS0AUCIDQf8BRg0BCyAFQYvDADYCKCAFQYzDADYCJCAFQY3DADYCICAFQY7DADYCHCAFQY/DADYCGEHUiQtBADYCACAFQRhqIANBAnRqKAIAIAVB3wBqIAVBOGoQA0HUiQsoAgAhH0HUiQtBADYCACAfQQFHDQBBABALGhBwAAsgBUHgAGokAA8LEAAhAwsgBUE4ahDpASADEAcACwAL9SMBLn8jAEGgAmsiBCQAAkACQAJAAkACQAJAAkAgASgCACICQQFrQQNJDQAgAkEza0ECSQ0AIARBADYCqAEgBEIANwKgAUHUiQtBADYCAEGaFiAEQYABaiABEAIhCUHUiQsoAgAhAkHUiQtBADYCAAJAAkACQCACQQFHBEAgCSgCACAJKAIYIAkoAhQiAmtBAnVqIgVFDQMgAkEQayEGIAlBBGohD0F/IQoCQCAFQQFHBEAgBUEBcSEbIAVBfnEhCEEAIQIDQCACQQFyIAIgCiAPIAYgBSACQX9zaiIHQQRJGyAHQQJ0aigCACgCACgCAEEBRhsgDyAGIAUgAkF+c2oiB0EESRsgB0ECdGooAgAoAgAoAgBBAUYbIQogAkECaiICIAhHDQALIBtFDQELIAggCiAPIAYgBSAIQX9zaiICQQRJGyACQQJ0aigCACgCACgCAEEBRhshCgsgCkEBag4CAwIBCxAAIQUMCAsgBCgCqAEgBCgCoAEiB2tB+ABtIApPDQACQAJAAkAgCkGjxIgRTwRAQdSJC0EANgIAQYjDABAJQdSJCygCACEcQdSJC0EANgIAIBxBAUYNAQwMC0HUiQtBADYCACAEKAKkASECQQQgCkH4AGwiBhAGIQVB1IkLKAIAIR1B1IkLQQA2AgAgHUEBRg0AIAUgBmohBiAFIAIgB2tqIQMgAiAHRg0BIAMhBQNAIAVB+ABrIAJB+ABrIgIQswghBSACIAdHDQALIAQgBjYCqAEgBCgCpAEhAiAEIAM2AqQBIAQoAqABIQcgBCAFNgKgASACIAdGDQIDQCACQfgAayICELMFIAIgB0cNAAsMAgsQACEFDAgLIAQgBjYCqAEgBCADNgKkASAEIAM2AqABCyAHRQ0AIAcQWgsgBEH4AGohFCAEQewAaiEVIARByABqIRYgBEE8aiEXIARBMGohGCAEQSRqIRlBACEIQQAhAgNAIAkoAgAgCSgCGCAJKAIUIgZrQQJ1aiIDIAIiB00EQEHUiQtBADYCAEENQZuPBkH/lwNBygBBhTIQBUHUiQsoAgAhHkHUiQtBADYCACAeQQFHDQkQACEFDAcLAkACQAJAAkAgDyADIAdBf3MiGmoiA0ECdCICaiACIAZqQRBrIANBBEkbKAIAKAIAIgYoAgBBAUcNACAGKAIIDQAgBigCFCIQQQJJDQAgBigCECEDQQAhAgNAIAMgAkECdGooAgAoAgRBAUYNASAQIAJBAWoiAkcNAAsMAQsgACgCfCEFIAAoAgQhAyAEKAKkASICIAQoAqgBSQRAIAIgAy0AODoAACACIAMtADk6AAEgAiADKAJoNgIEIAIgAygCbCIDNgIIIAMEQCADIAMoAgRBAWo2AgQLIAIgBTYCDCAFKAKEASEFIAJBHGoiA0IANwIAIAJBADsBFCACIAU2AhAgAkEoaiIFQgA3AgAgAiADNgIYIAJBNGoiA0IANwIAIAIgBTYCJCACQUBrIgVCADcCACACIAM2AjAgAkHkAGoiA0IANwIAIAIgBTYCPCACQgA3AkggAkIANwJQIAJCADcBViACIAM2AmAgAkHwAGoiA0IANwIAIAIgAzYCbEHUiQtBADYCAEGgJyACIAYQA0HUiQsoAgAhH0HUiQtBADYCACAfQQFHDQIQACEFIAQgAhDfATYCpAEMCgtB1IkLQQA2AgBBm98AIARBoAFqIANBGGogBSAGEAVB1IkLKAIAISBB1IkLQQA2AgAgIEEBRw0CEAAhBQwJC0EAIQwgBigCBCADIBBBAnRqQQRrKAIAIhEoAgRHBEAgACgCfCEFIAAoAgQhAyAEKAKkASICIAQoAqgBSQRAIAIgAy0AODoAACACIAMtADk6AAEgAiADKAJoNgIEIAIgAygCbCIDNgIIIAMEQCADIAMoAgRBAWo2AgQLIAIgBTYCDCAFKAKEASEFIAJBHGoiA0IANwIAIAJBADsBFCACIAU2AhAgAkEoaiIFQgA3AgAgAiADNgIYIAJBNGoiA0IANwIAIAIgBTYCJCACQUBrIgVCADcCACACIAM2AjAgAkHkAGoiA0IANwIAIAIgBTYCPCACQgA3AkggAkIANwJQIAJCADcBViACIAM2AmAgAkHwAGoiA0IANwIAIAIgAzYCbEHUiQtBADYCAEGgJyACIAYQA0HUiQsoAgAhIUHUiQtBADYCACAhQQFHDQIQACEFIAQgAhDfATYCpAEMCgtB1IkLQQA2AgBBm98AIARBoAFqIANBGGogBSAGEAVB1IkLKAIAISJB1IkLQQA2AgAgIkEBRw0CEAAhBQwJCwJAAkACQAJAA0AgDCAGKAIUIhJPBEBB1IkLQQA2AgBBDUHFogFBiaIDQbwBQaaIBRAFQdSJCygCACEjQdSJC0EANgIAICNBAUcNEBAAIQUMDgsgBigCECAMQQJ0aigCACIDIBFGDQQgACgCfCECIAQgACgCBCIFLQA4OgAIIAQgBS0AOToACSAEIAUoAmg2AgwgBCAFKAJsIgU2AhAgBQRAIAUgBSgCBEEBajYCBAsgBCACNgIUIAIoAoQBIQIgBEIANwIkIARBADsBHCAEIAI2AhggBEIANwIwIAQgGTYCICAEQgA3AjwgBCAYNgIsIARCADcCSCAEIBc2AjggBEIANwJsIAQgFjYCRCAEQgA3AV4gBEIANwJYIARCADcCUCAEQgA3AnggBCAVNgJoIAQgFDYCdCAEIAM2ApwCIARCADcCrAEgBEEANgKUAiAEQgA3AowCIARCADcChAJB1IkLQQA2AgAgBCAEQQhqNgKYAkHHACAEQawBaiAEQZwCahADQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAIAQoAoQCIgIEQCAEIAI2AogCIAIQWgsgBCgCXARAQdSJC0EANgIAQQ1BkckFQfaKA0HECEGm0QAQBUHUiQsoAgAhJEHUiQtBADYCACAkQQFHDRIQACEFDAULIAQtAAgEQCAEQQA6AFkMAgsgBC0AWUUNASAEQQE6AFgMAQsQACEFIAQoAoQCIgBFDQMgBCAANgKIAiAAEFoMAwsCQCAEKAKgASICIAQoAqQBIgtGBEBBACEFDAELA0BB1IkLQQA2AgBB8wUgBEEIaiACEAIhBUHUiQsoAgAhJUHUiQtBADYCACAlQQFGDQMgBSACQfgAaiICIAtGckUNAAsLIAQoAngQYCAEKAJsEGAgBCgCSBBgIAQoAjwQYCAEKAIwEG8gBCgCJBBvAkAgBCgCECIDRQ0AIAMgAygCBCICQQFrNgIEIAINACADIAMoAgAoAggRAQAgAxB1CyAFIAxBAWoiDCAQRnJFDQALIAUNAiAGKAIUIRIMAwsQACEFCyAEQQhqEN8BGgwKCyAAKAJ8IQUgACgCBCEDIAQoAqQBIgIgBCgCqAFJBEAgAiADLQA4OgAAIAIgAy0AOToAASACIAMoAmg2AgQgAiADKAJsIgM2AgggAwRAIAMgAygCBEEBajYCBAsgAiAFNgIMIAUoAoQBIQUgAkEcaiIDQgA3AgAgAkEAOwEUIAIgBTYCECACQShqIgVCADcCACACIAM2AhggAkE0aiIDQgA3AgAgAiAFNgIkIAJBQGsiBUIANwIAIAIgAzYCMCACQeQAaiIDQgA3AgAgAiAFNgI8IAJCADcCSCACQgA3AlAgAkIANwFWIAIgAzYCYCACQfAAaiIDQgA3AgAgAiADNgJsQdSJC0EANgIAQaAnIAIgBhADQdSJCygCACEmQdSJC0EANgIAICZBAUcNAhAAIQUgBCACEN8BNgKkAQwKC0HUiQtBADYCAEGb3wAgBEGgAWogA0EYaiAFIAYQBUHUiQsoAgAhJ0HUiQtBADYCACAnQQFHDQIMCAsCQCAIRQRAIBJFBEBB7/sCIQJB1QEhBUGJogMhB0G0xAUhDQwJCyAGIBJBAWs2AhQgBiEIDAELIBJFDQBBACETA0AgEyAGKAIUTwRAQdSJC0EANgIAQQ1BxaIBQYmiA0G8AUGmiAUQBUHUiQsoAgAhKEHUiQtBADYCACAoQQFHDQ0QACEFDAsLIAYoAhAgE0ECdGooAgAiECARRg0BIAgoAhAhAwJAIAgoAhQiDiAIKAIYRwRAIAMhAgwBCyAIIA5BAXRBAmoiBTYCGCAIKAIcIQJB1IkLQQA2AgBBDCACIAVBAnRBBBAEIQJB1IkLKAIAISlB1IkLQQA2AgAgKUEBRg0IIAggAjYCECAIKAIUIg5FBEBBACEODAELQQAhDUEAIQIgDkEETwRAIA5BfHEhCwNAIAJBAnQiDCAIKAIQaiADIAxqKAIANgIAIAxBBHIiBSAIKAIQaiADIAVqKAIANgIAIAxBCHIiBSAIKAIQaiADIAVqKAIANgIAIAxBDHIiBSAIKAIQaiADIAVqKAIANgIAIAJBBGoiAiALRw0ACwsgDkEDcSILBEADQCACQQJ0IgUgCCgCEGogAyAFaigCADYCACACQQFqIQIgDUEBaiINIAtHDQALCyAIKAIQIQILIAIgDkECdGogEDYCACAIIA5BAWo2AhQgE0EBaiITIBJHDQALCyAHIAkoAgAgCSgCGCAJKAIUIgZrQQJ1aiICTwRAQYUyIQJBygAhBUH/lwMhB0GbjwYhDQwHCyAPIAIgGmoiA0ECdCICaiACIAZqQRBrIANBBEkbKAIAIBE2AgAgByAKTw0BIAAoAnwhBiAAKAIEIQMgBCgCpAEiAiAEKAKoAUkEQCACIAMtADg6AAAgAiADLQA5OgABIAIgAygCaDYCBCACIAMoAmwiAzYCCCADBEAgAyADKAIEQQFqNgIECyACIAY2AgwgBigChAEhBiACQRxqIgNCADcCACACQQA7ARQgAiAGNgIQIAJBKGoiBkIANwIAIAIgAzYCGCACQTRqIgNCADcCACACIAY2AiQgAkFAayIGQgA3AgAgAiADNgIwIAJB5ABqIgNCADcCACACIAY2AjwgAkIANwJIIAJCADcCUCACQgA3AVYgAiADNgJgIAJB8ABqIgNCADcCACACIAM2AmxB1IkLQQA2AgBBoCcgAiAREANB1IkLKAIAISpB1IkLQQA2AgAgKkEBRw0BEAAhBSAEIAIQ3wE2AqQBDAkLQdSJC0EANgIAQZvfACAEQaABaiADQRhqIAYgERAFQdSJCygCACErQdSJC0EANgIAICtBAUYNBwwBCyAEIAJB+ABqNgKkAQsgB0EBaiECIAcgCkcNAAsgCEUNACAIKAIQIQYCQAJAIAgoAhQiAiAIKAIYRwRAIAYhBwwBCyAIIAJBAXRBAmoiAzYCGCAIKAIcIQdBACECQdSJC0EANgIAQQwgByADQQJ0QQQQBCEHQdSJCygCACEsQdSJC0EANgIAICxBAUYNASAIIAc2AhAgCCgCFCIDRQ0AQQAhDSADQQRPBEAgA0F8cSEFA0AgAkECdCILIAgoAhBqIAYgC2ooAgA2AgAgC0EEciIHIAgoAhBqIAYgB2ooAgA2AgAgC0EIciIHIAgoAhBqIAYgB2ooAgA2AgAgC0EMciIHIAgoAhBqIAYgB2ooAgA2AgAgAkEEaiICIAVHDQALCyADQQNxIgUEQANAIAJBAnQiByAIKAIQaiAGIAdqKAIANgIAIAJBAWohAiANQQFqIg0gBUcNAAsLIAgoAhAhByADIQILIAcgAkECdGogATYCACAIIAJBAWo2AhQgASgCBCEBQdSJC0EANgIAQYMDIAggAUEBQQAQBUHUiQsoAgAhLUHUiQtBADYCACAtQQFGDQBB1IkLQQA2AgBBnN8AIABBFGogCBADQdSJCygCACEuQdSJC0EANgIAIC5BAUcNAQsQACEFDAULIAkoAhQiAARAIAkgADYCGCAAEFoLIAQoAqABIgBFDQAgBCgCpAEiAiAAIgdHBEADQCACQfgAayICELMFIAAgAkcNAAsgBCgCoAEhBwsgBCAANgKkASAHEFoLIARBoAJqJAAPCxAAIQUMAgtB1IkLQQA2AgBBDSANIAcgBSACEAVB1IkLKAIAIS9B1IkLQQA2AgAgL0EBRw0DEAAhBQwBCxAAIQULIAkoAhQiAEUNACAJIAA2AhggABBaCyAEQaABahDTDiAFEAcACwALBABBAAvMEgIIfwF+IwBB0ANrIgIkAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgASgCAA5eACUlJSUlAQIlJQMEBQYlJSUlJSUREiUlBwgJCiUlJSUlJQsMDQ4PECUlJRMlFBUWFxgZGhscJSUlJSUlJSUlJSUlJSUdHiUlJSUlJR8gJSUlJSUlJSUlJSUlJSUhACULQZj9A0HlswNB6gEQYgALIAEoAhhFDSMgAUEYaiEEIAJBADYCxAMgAkHEA2ohAwwiCyABKAIgRQ0iIAFBIGohBCACQQE2ArgDIAJBuANqIQMMIQsgASgCCEUNISABQQhqIQQgAkEDNgKsAyACQawDaiEDDCALIAEoAghFDSAgAUEIaiEEIAJBAzYCoAMgAkGgA2ohAwwfCyABKAIoRQ0fIAFBKGohBCACQQI2ApQDIAJBlANqIQMMHgsgASgCMEUNHiABQTBqIQQgAkECNgKIAyACQYgDaiEDDB0LIAEoAiBFDR0gAUEgaiEEIAJBAjYC/AIgAkH8AmohAwwcCyABKAIkRQ0cIAFBJGohBCACQQI2AvACIAJB8AJqIQMMGwsgASgCIEUNGyABQSBqIQQgAkECNgLkAiACQeQCaiEDDBoLIAEoAhhFDRogAUEYaiEEIAJBAjYC2AIgAkHYAmohAwwZCyABKAIkRQ0ZIAFBJGohBCACQQI2AswCIAJBzAJqIQMMGAsgASgCLEUNGCABQSxqIQQgAkECNgLAAiACQcACaiEDDBcLIAEoAggEQCACQQU2ArQCIAIgASkCCDcCuAIgAiACKAK8AjYCICACIAIpArQCNwMYIAAgAkEYahD9BwsgASgCHEUNFyABQRxqIQQgAkECNgKoAiACQagCaiEDDBYLIAEoAghFDRYgAUEIaiEEIAJBBTYCnAIgAkGcAmohAwwVCyABKAIcBEAgAkECNgKQAiACIAEpAhw3ApQCIAIgAigCmAI2AjAgAiACKQKQAjcDKCAAIAJBKGoQ/QcLIAEoAhRFDRUgAUEUaiEEIAJBAjYChAIgAkGEAmohAwwUCyABKAIURQ0UIAFBFGohBCACQQI2AvgBIAJB+AFqIQMMEwsgASgCDEUNEyABQQxqIQQgAkECNgLsASACQewBaiEDDBILIAEoAhBFDRIgAUEQaiEEIAJBAjYC4AEgAkHgAWohAwwRCyABKAIIRQ0RIAFBCGohBCACQQA2AtQBIAJB1AFqIQMMEAsgASgCCEUNECABQQhqIQQgAkEBNgLIASACQcgBaiEDDA8LIAEoAghFDQ8gAUEIaiEEIAJBATYCvAEgAkG8AWohAwwOCyABKAIIRQ0OIAFBCGohBCACQQE2ArABIAJBsAFqIQMMDQsgASgCCEUNDSABQQhqIQQgAkEBNgKkASACQaQBaiEDDAwLIAEoAghFDQwgAUEIaiEEIAJBATYCmAEgAkGYAWohAwwLCyABKAIcBEAgAkEBNgKMASACIAEpAhw3ApABIAJBQGsgAigClAE2AgAgAiACKQKMATcDOCAAIAJBOGoQ/QcLIAEoAhRFDQsgAUEUaiEEIAJBATYCgAEgAkGAAWohAwwKCyABKAIYRQ0KA0ACQCABKAIUIAdBA3RqIgMoAgBFDQAgAykCACEKIAAoAnAiAyAAKAJ0RwRAIAMgCjcCBCADQQQ2AgAgACADQQxqNgJwDAELIAMgACgCbCIIa0EMbSIEQQFqIgVB1qrVqgFPDQlB1arVqgEgBEEBdCIGIAUgBSAGSRsgBEGq1arVAE8bIgUEfyAFQdaq1aoBTw0LIAVBDGwQXAVBAAsiBiAEQQxsaiIEIAo3AgQgBEEENgIAIARBDGohCSADIAhHBEADQCAEQQxrIgQgA0EMayIDKQIANwIAIAQgAygCCDYCCCADIAhHDQALIAAoAmwhAwsgACAGIAVBDGxqNgJ0IAAgCTYCcCAAIAQ2AmwgA0UNACADEFoLIAdBAWoiByABKAIYSQ0ACwwKCyABKAIQRQ0JA0ACQCABKAIMIAdBA3RqIgMoAgBFDQAgAykCACEKIAAoAnAiAyAAKAJ0RwRAIAMgCjcCBCADQQQ2AgAgACADQQxqNgJwDAELIAMgACgCbCIIa0EMbSIEQQFqIgVB1qrVqgFPDQhB1arVqgEgBEEBdCIGIAUgBSAGSRsgBEGq1arVAE8bIgUEfyAFQdaq1aoBTw0KIAVBDGwQXAVBAAsiBiAEQQxsaiIEIAo3AgQgBEEENgIAIARBDGohCSADIAhHBEADQCAEQQxrIgQgA0EMayIDKQIANwIAIAQgAygCCDYCCCADIAhHDQALIAAoAmwhAwsgACAGIAVBDGxqNgJ0IAAgCTYCcCAAIAQ2AmwgA0UNACADEFoLIAdBAWoiByABKAIQSQ0ACwwJCyABKAIIRQ0IIAFBCGohBCACQQQ2AnQgAkH0AGohAwwHCyABKAIIRQ0HIAFBCGohBCACQQU2AmggAkHoAGohAwwGCyABKAIIRQ0GIAFBCGohBCACQQY2AlwgAkHcAGohAwwFCyABKAIIRQ0FIAFBCGohBCACQQU2AlAgAkHQAGohAwwECyABKAIIRQ0EIAFBCGohBCACQQY2AkQgAkHEAGohAwwDCyABKAIQRQ0DA0ACQCABKAIMIAdBA3RqIgMoAgBFDQAgAykCACEKIAAoAnAiAyAAKAJ0RwRAIAMgCjcCBCADQQQ2AgAgACADQQxqNgJwDAELIAMgACgCbCIIa0EMbSIEQQFqIgVB1qrVqgFPDQJB1arVqgEgBEEBdCIGIAUgBSAGSRsgBEGq1arVAE8bIgUEfyAFQdaq1aoBTw0EIAVBDGwQXAVBAAsiBiAEQQxsaiIEIAo3AgQgBEEENgIAIARBDGohCSADIAhHBEADQCAEQQxrIgQgA0EMayIDKQIANwIAIAQgAygCCDYCCCADIAhHDQALIAAoAmwhAwsgACAGIAVBDGxqNgJ0IAAgCTYCcCAAIAQ2AmwgA0UNACADEFoLIAdBAWoiByABKAIQSQ0ACwwDCxBkAAsQagALIAMgBCkCADcCBCACIAMoAgg2AhAgAiADKQIANwMIIAAgAkEIahD9BwsgAkHQA2okAAv/AgEIfyAAKAKoASIBBEADQCABKAIAIQQgASgCFCIDBEAgASADNgIYIAMQWgsgARBaIAQiAQ0ACwsgACgCoAEhASAAQQA2AqABIAEEQCABEFoLIAAoApQBIgEEQANAIAEoAgAhBSABEFogBSIBDQALCyAAKAKMASEBIABBADYCjAEgAQRAIAEQWgsgACgChAEQhAQgACgCeBCEBCAAKAJoIgEEQANAIAEoAgAhBiABEFogBiIBDQALCyAAKAJgIQEgAEEANgJgIAEEQCABEFoLIAAoAlQiAQRAA0AgASgCACEHIAEQWiAHIgENAAsLIAAoAkwhASAAQQA2AkwgAQRAIAEQWgsgAEFAaygCACIBBEADQCABKAIAIQggARBaIAgiAQ0ACwsgACgCOCEBIABBADYCOCABBEAgARBaCyAAKAI0IQEgAEEANgI0IAEEQCABKAIAIgIEQCABIAI2AgQgAhBaCyABEFoLIAAoAiQiAQRAIAAgATYCKCABEFoLIAAL+QEBB38jAEEQayIBJAACQAJAAkAgAC0AAEUEQEEUEHIhA0HUiQtBADYCAEHMASABQQRqQczbABACIQFB1IkLKAIAIQVB1IkLQQA2AgBBASEEIAVBAUcEQEHUiQtBADYCAEHQASADIAEgABAEIQBB1IkLKAIAIQZB1IkLQQA2AgAgBkEBRwRAQQAhBEHUiQtBADYCAEHNASAAQbC5B0HOARAIQdSJCygCACEHQdSJC0EANgIAIAdBAUcNBQsQACEAIAEsAAtBAEgEQCABKAIAEFoLIARFDQMMAgsQACEADAELIAFBEGokACAAQQRqDwsgAxBuCyAAEAcLAAtDACAAQZyTCjYCOCAAQYiTCjYCACAAQbiMCjYCBCAALAAvQQBIBEAgACgCJBBaCyAAQQRqEOsBGiAAQThqEOgBGiAAC4wBACAAQegCahBZGiAAQdACahBZGiAAQbgCahBZGiAAQaACahBZGiAAQYgCahBZGiAAQfABahBZGiAAQdgBahBZGiAAQcABahBZGiAAQagBahBZGiAAQZABahBZGiAAQfgAahBZGiAAQeAAahBZGiAAQcgAahBZGiAAQTBqEFkaIABBGGoQWRogABBZGgsVACAAIAEgAiADIASnIARCIIinEEQLwgEBA38gAEGgkgo2AkAgAEGMkgo2AgAgAEHkkQo2AgggAEEANgIEIABBQGsgAEEMaiIBEO0BIABB+JEKNgJAIABB0JEKNgIAIABCgICAgHA3AogBIABB5JEKNgIIIAEQ7gFBuIwKNgIAIABCADcCNCAAQgA3AiwgAEEYNgI8QdSJC0EANgIAQQkgAEEIakG19QZBBxAEGkHUiQsoAgAhAkHUiQtBADYCACACQQFHBEAgAA8LEAAhAyAAEM4DGiADEAcAC1UBA38gACgCACECIAAgATYCAAJAIAIEQCAAQQRqKAIAIQNB1IkLQQA2AgAgAyACEApB1IkLKAIAIQRB1IkLQQA2AgAgBEEBRg0BCw8LQQAQCxoQcAAL5AMBBn8CQAJAAkAgAEUNACABRQ0AAkAgACgCKCICIAAoAixHBEAgAiABNgIAIAAgAkEEajYCKAwBCyACIAAoAiQiBmsiA0ECdSIHQQFqIgRBgICAgARPDQJB/////wMgA0EBdSIFIAQgBCAFSRsgA0H8////B08bIgQEfyAEQYCAgIAETw0EIARBAnQQXAVBAAsiBSAHQQJ0aiIDIAE2AgAgA0EEaiEHIAIgBkcEQANAIANBBGsiAyACQQRrIgIoAgA2AgAgAiAGRw0ACyAAKAIkIQILIAAgBSAEQQJ0ajYCLCAAIAc2AiggACADNgIkIAJFDQAgAhBaCyABKAI0IgIgASgCOEcEQCACIAA2AgAgASACQQRqNgI0DwsgAiABKAIwIgZrIgNBAnUiB0EBaiIEQYCAgIAETw0BQf////8DIANBAXUiBSAEIAQgBUkbIANB/P///wdPGyIEBH8gBEGAgICABE8NAyAEQQJ0EFwFQQALIgUgB0ECdGoiAyAANgIAIANBBGohACACIAZHBEADQCADQQRrIgMgAkEEayICKAIANgIAIAIgBkcNAAsgASgCMCECCyABIAUgBEECdGo2AjggASAANgI0IAEgAzYCMCACRQ0AIAIQWgsPCxBkAAsQagALEAAgACABEEOtIwGtQiCGhAtNAQJ/IAEtAAAhAgJAIAAtAAAiA0UNACACIANHDQADQCABLQABIQIgAC0AASIDRQ0BIAFBAWohASAAQQFqIQAgAiADRg0ACwsgAyACawuaAgEDfwJAAkAgAUUNACACQZXTx94FbCIDQRh2IANzQZXTx94FbEGomb30fXNBldPH3gVsIgNBDXYgA3NBldPH3gVsIgNBD3YgA3MhBSAAAn8gAUEBayAFcSABaSIEQQFNDQAaIAUgASAFSw0AGiAFIAFwCyIDQQJ0aigCACIARQ0AIAAoAgAiAEUNACAEQQFNBEAgAUEBayEEA0ACQCAFIAAoAgQiAUcEQCABIARxIANGDQEMBAsgACgCCCACRg0ECyAAKAIAIgANAAsMAQsDQAJAIAUgACgCBCIERwRAIAEgBE0EfyAEIAFwBSAECyADRg0BDAMLIAAoAgggAkYNAwsgACgCACIADQALC0GQwAQQ6gIACyAAQRBqC4jECQTRDH8ZfgF9AXwjAEEQayITJAAgASABKAIMQQFqIgQ2AgwCQCABKAIIIgVFDQAgBCAFTQ0AIAFBmPIAIAEoAgAoAgwRAAALAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCACBEACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCACKAIAQQFrDlwAAQIDBAUGBwgJCgsMHR4fICEiIyRcJQ0ODxAREhMUFRYXGBkaGxwmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWlsLIAIhB0EAIQUjAEFAaiIKJABB1IkLQQA2AgBBBEEEEAYhA0HUiQsoAgAhBEHUiQtBADYCAAJAAkACQAJAIARBAUYNACADIAc2AgAgA0EEaiEEAkACQCAHKAIUBEAgAyEFIAQhAwJAA0AgBygCECgCACIHKAIAQQFGBEACQCADIARHBEAgAyAHNgIADAELIAQgBWsiA0ECdSIIQQFqIgZBgICAgARPBEBB1IkLQQA2AgBBlwMQCUHUiQsoAgAhG0HUiQtBADYCACAbQQFGDQgMCgsCQEH/////AyADQQF1IgkgBiAGIAlJGyADQfz///8HTxsiBkUEQEEAIQkMAQsgBkGAgICABE8EQEHUiQtBADYCAEEDEAlB1IkLKAIAIRxB1IkLQQA2AgAgHEEBRw0LDAkLQdSJC0EANgIAQQQgBkECdBAGIQlB1IkLKAIAIR1B1IkLQQA2AgAgHUEBRg0ECyAJIAhBAnRqIgMgBzYCACAJIAZBAnRqIR4gAyEGAkAgBCAFRwRAA0AgBkEEayIGIARBBGsiBCgCADYCACAEIAVHDQALIAUiBEUNAQsgBBBaCyAeIQQgBiEFCyADQQRqIQMgBygCFA0BCwsgAEIANwMAIABCADcDMCAAQgA3AyggAEIANwMgIABCADcDGCAAQgA3AxAgAEIANwMIIAMgBUYNAyADQQRrKAIAIQcgAyEEDAILEAAhBgwECyAAQgA3AwAgAEIANwMwIABCADcDKCAAQgA3AyAgAEIANwMYIABCADcDECAAQgA3AwggAyEFCyAAQQhqIQ4gCkEQaiEMQQAhBgNAIARBBGsiBCgCACELAkACQAJAIAYEQCAGIAsoAghGDQEMAwsgCygCFCIGRQ0BQQAhCSAHIAtGIRACQAJAA0ACQCAJIBByBEAgBiAJTQRAQdSJC0EANgIAQQ1BxaIBQYmiA0G8AUGmiAUQBUHUiQsoAgAhH0HUiQtBADYCACAfQQFHDQ0QACEGIAAQaAwMCyALKAIQIAlBAnRqKAIAIQNB1IkLQQA2AgBBogEgCkEIaiIGIAEgAxAIQdSJCygCACEgQdSJC0EANgIAICBBAUYNASAAIAooAgg2AgAgACAGRwRAIA4QWSEDQdSJC0EANgIAQcAAIAMgDBACGkHUiQsoAgAhIUHUiQtBADYCACAhQQFGDQQLIAAoAiAiAwRAIAAoAiQiBiADIghHBEADQCAGQRhrEFkiBiADRw0ACyAAKAIgIQgLIAAgAzYCJCAIEFoLIAAgCigCKDYCICAAIAooAiw2AiQgACAKKAIwNgIoIApBADYCMCAKQgA3AyggACAKKQM4NwMwIAwQWRogACgCMCIGDQQgCygCFCEGCyAJQQFqIgkgBkkNAQwFCwsQACEGIAAQaAwICxAAIQYgCkEIahBoIAAQaAwHCyAGIAsoAghHDQILIABCADcDMAtBACEGCyAEIAVHDQALCyAFBEAgBRBaCyAKQUBrJAAMAwsQACEGCyAFBEAgBRBaCwxoCwALDFwLIwBB8ABrIgMkACADQThqIAEgAigCCBCvAiADKAI4IQQCQAJAAkACQAJAIAMoAmgEQCAAIAQ2AgBB1IkLQQA2AgBBwAAgAEEIaiADQUBrEAIaQdSJCygCACEiQdSJC0EANgIAICJBAUYNASAAIAMoAlg2AiAgACADKAJcNgIkIAAgAygCYDYCKCADQQA2AmAgA0IANwNYIAAgAykDaDcDMAwDCwJAAn8gAygCXCADKAJYa0EYbSAEakEBRwRAQccAIQZB0JUDIQRBh8EFIQVBmNcDDAELIAMoAlBBAkYNAUGYAiEGQeaaAyEEQZmxBSEFQaKuBQshAEHUiQtBADYCAEENIAUgBCAGIAAQBUHUiQsoAgAhI0HUiQtBADYCACAjQQFGDQEACyADKAJABEAgAigCDCEEQdSJC0EANgIAQaIBIAAgASAEEAhB1IkLKAIAISRB1IkLQQA2AgAgJEEBRg0BIAAoAjANAyACKAIQDQMgA0IANwMwIANCADcDKCADQgA3AyAgA0IANwMYIANCADcDECADQQhqIgdCADcDACADQgA3AwAgAEEANgIAIAAgA0cEQCAAQQhqEFkhBEHUiQtBADYCAEHAACAEIAcQAhpB1IkLKAIAISVB1IkLQQA2AgAgJUEBRg0FCyAAKAIgIgQEQCAAKAIkIgYgBCIFRwRAA0AgBkEYaxBZIgYgBEcNAAsgACgCICEFCyAAIAQ2AiQgBRBaCyAAIAMoAiA2AiAgACADKAIkNgIkIAAgAygCKDYCKCADQQA2AiggA0IANwMgIAAgAykDMDcDMCAHEFkaDAMLIAIoAhAiBEUNAUHUiQtBADYCAEGiASAAIAEgBBAIQdSJCygCACEmQdSJC0EANgIAICZBAUcNAgsQACEGDGILIABCADcDACAAQgA3AzAgAEIANwMoIABCADcDICAAQgA3AxggAEIANwMQIABCADcDCAsgAygCWCIFBEAgAygCXCIGIAUiBEcEQANAIAZBGGsQWSIGIAVHDQALIAMoAlghBAsgAyAFNgJcIAQQWgsgA0FAaxBZGiADQfAAaiQADAELEAAhBiADEGggABBoDF8LDFsLIwBBQGoiAyQAIABBCGohCCADQRBqIQYDQAJAIANBCGogASACKAIQEK8CAkACQAJAAkAgAygCOCIERQ0AIAQgAigCCEcNACABKAIQIgQEQCAHQQFqIgcgBE8NAgtBASEKIAMoAigiBEUNAgwDCyAAIAMoAgg2AgBB1IkLQQA2AgBBwAAgCCAGEAIaQdSJCygCACEnQdSJC0EANgIAICdBAUYNaiAAIAMoAig2AiAgACADKAIsNgIkIAAgAygCMDYCKCADQQA2AjAgA0IANwMoIAAgAykDODcDMCAGEFkaDAMLQQAhCkGIrQspAwAh1AwgAEIANwMoIABCADcDICAAQgA3AxggAEIANwMQIAhCADcDACAAQgA3AwAgACDUDDcDMCADKAIoIgQNASAGEFkaDAILIAYQWRoMAgsgAygCLCIJIAQiBUcEQANAIAlBGGsQWSIJIARHDQALIAMoAighBQsgAyAENgIsIAUQWiAGEFkaIAoNAQsLIANBQGskAAxaCyMAQfAAayIDJAAgA0IANwNoIANCADcDYCADQgA3A1ggA0IANwNQIANCADcDSCADQUBrIgRCADcDACADQgA3AzgCQAJAAkACQAJAAkAgAigCECIFRQ0AQdSJC0EANgIAQaIBIAMgASAFEAhB1IkLKAIAIShB1IkLQQA2AgAgKEEBRg0CIAMgAygCADYCOCAEEFkhBEHUiQtBADYCAEHAACAEIANBCGoiBxACIQhB1IkLKAIAISlB1IkLQQA2AgAgKUEBRwRAIAMoAlgiBARAIAMoAlwiBiAEIgVHBEADQCAGQRhrEFkiBiAERw0ACyADKAJYIQULIAMgBDYCXCAFEFoLIAMpAiQh1AwgA0EANgIoIAMg1Aw3AlwgAyADKAIgNgJYIAMgAykDMDcDaCADQgA3AyAgBxBZGiADKAJoRQ0BIAAgAygCODYCAEHUiQtBADYCAEHAACAAQQhqIAgQAhpB1IkLKAIAISpB1IkLQQA2AgAgKkEBRg0FIAAgAygCWDYCICAAIAMoAlw2AiQgACADKAJgNgIoIANBADYCYCADQgA3A1ggACADKQNoNwMwDAILEAAhBiADEGgMYgsCQAJAIAIoAhQiBARAQdSJC0EANgIAQaIBIAMgASAEEAhB1IkLKAIAIQRB1IkLQQA2AgACQAJAAkAgBEEBRwRAIAMoAgAhBSADKAIwRQ0BIAAgBTYCAEHUiQtBADYCAEHAACAAQQhqIANBCGoQAhpB1IkLKAIAIStB1IkLQQA2AgAgK0EBRg0CIAAgAygCIDYCICAAIAMoAiQ2AiQgACADKAIoNgIoIANBADYCKCADQgA3AyAgACADKQMwNwMwDAYLEAAhBgxnCwJAAn8gBSADKAIkIgYgAygCICIEa0EYbWpBAUcEQEGY1wMhBkHHACEAQYfBBSEBQdCVAwwBCyADKAIYIgVBB0kNAUHz5wQhBkHDASEAQeHNBiEBQZ+fAwshAkHUiQtBADYCAEENIAEgAiAAIAYQBUHUiQsoAgAhLEHUiQtBADYCACAsQQFGDQEMCAsCfgJAAkACQCAFQQJrDgICAAELIAMpAwgMAgtB1IkLQQA2AgBBiQIQCUHUiQsoAgAhLUHUiQtBADYCACAtQQFHDQkMAgsgAzQCCAtCAFINASAAIAMoAjg2AgBB1IkLQQA2AgBBwAAgAEEIaiADQUBrEAIaQdSJCygCACEuQdSJC0EANgIAIC5BAUcNAwsQACEGIAMQaAxlCyAEBEAgBCAGRwRAA0AgBkEYaxBZIgYgBEcNAAsgAygCICEGCyADIAQ2AiQgBhBaCyADQQhqEFkaCyADIAIpAgg3A2ggACADKAI4NgIAQdSJC0EANgIAQcAAIABBCGogA0FAaxACGkHUiQsoAgAhL0HUiQtBADYCACAvQQFGDQUgACADKAJYNgIgIAAgAygCXDYCJCAAIAMoAmA2AiggA0EANgJgIANCADcDWCAAIAMpA2g3AzAMAgsgACADKAJYNgIgIAAgAygCXDYCJCAAIAMoAmA2AiggA0EANgJgIANCADcDWCAAIAMpA2g3AzAgAygCICIFRQ0AIAMoAiQiBiAFIgRHBEADQCAGQRhrEFkiBiAFRw0ACyADKAIgIQQLIAMgBTYCJCAEEFoLIANBCGoQWRogAygCWCIFRQ0AIAMoAlwiBiAFIgRHBEADQCAGQRhrEFkiBiAFRw0ACyADKAJYIQQLIAMgBTYCXCAEEFoLIANBQGsQWRogA0HwAGokAAwDCxAAIQYMXwsACxAAIQYMXQsMWQsjAEHwAGsiAyQAIABCADcDACAAQgA3AzAgAEIANwMoIABCADcDICAAQgA3AxggAEIANwMQIABCADcDCCADQgA3A1AgA0EANgJYIANBADYCaCADQgA3A0ggA0EANgJAIANCADcDYCADQcgAaiEIAkACQAJAAkACQAJAAkACQCACKAIgIgRFDQBB1IkLQQA2AgBBogEgA0EIaiIFIAEgBBAIQdSJCygCACEwQdSJC0EANgIAIDBBAUYNAiAAIAMoAgg2AgAgAEEIaiEHIANBEGohCSAAIAVHBEAgBxBZIQRB1IkLQQA2AgBBwAAgBCAJEAIaQdSJCygCACExQdSJC0EANgIAIDFBAUYNBQsgACgCICIEBEAgACgCJCIGIAQiBUcEQANAIAZBGGsQWSIGIARHDQALIAAoAiAhBQsgACAENgIkIAUQWgsgACADKAIoNgIgIAAgAygCLDYCJCAAIAMoAjA2AiggA0EANgIwIANCADcDKCAAIAMpAzg3AzAgCRBZGiAAKAIwDQEgAyAAKAIANgJAIANBQGsgAEYNACAIEFkhBEHUiQtBADYCAEHAACAEIAcQAhpB1IkLKAIAITJB1IkLQQA2AgAgMkEBRwRAIAAoAiQhBCAAKAIgIQVB1IkLQQA2AgBB9QIgA0HgAGogBSAEIAQgBWtBGG0QBUHUiQsoAgAhM0HUiQtBADYCACAzQQFHDQELEAAhBgwFCyACKAIkIQRB1IkLQQA2AgBBogEgA0EIaiIFIAEgBBAIQdSJCygCACEEQdSJC0EANgIAAn4CQAJAAkACfwJAAkAgBEEBRwRAIAAgAygCCDYCACAAQQhqIQcgA0EQaiEJIAAgBUcEQCAHEFkhBEHUiQtBADYCAEHAACAEIAkQAhpB1IkLKAIAITRB1IkLQQA2AgAgNEEBRg0CCyAAQSBqIQogACgCICIFBEAgACgCJCIGIAUiBEcEQANAIAZBGGsQWSIGIAVHDQALIAooAgAhBAsgACAFNgIkIAQQWgsgACADKAIoNgIgIAAgAygCLDYCJCAAIAMoAjA2AiggA0EANgIwIANCADcDKCAAIAMpAzg3AzAgCRBZGiAAKAIwDQggACgCACAAKAIkIAAoAiBrQRhtakEBRg0CQZjXAyEGQdCVAyEBQYfBBSEEQccADAMLEAAhBgwLCxAAIQYgA0EIahBoDAoLIAAoAhgiBEEHSQ0BQfPnBCEGQZ+fAyEBQeHNBiEEQcMBCyECQdSJC0EANgIAQQ0gBCABIAIgBhAFQdSJCygCACE1QdSJC0EANgIAIDVBAUYNAQwJCwJAAkAgBEECaw4CAwABCyAHKQMADAMLQdSJC0EANgIAQYkCEAlB1IkLKAIAITZB1IkLQQA2AgAgNkEBRw0ICxAAIQYMBgsgBzQCAAsh1AwgAikCGCHVDAJAINQMQgBTDQAg1AynIgQgAigCDE8NACACKAIIIARBA3RqKQIAIdUMCyAAINUMNwMwIAAgAygCQDYCACADQUBrIABGDQAgBxBZIQRB1IkLQQA2AgBBwAAgBCAIEAIaQdSJCygCACE3QdSJC0EANgIAIDdBAUYNAkHUiQtBADYCAEH1AiAKIAMoAmAiBCADKAJkIgUgBSAEa0EYbRAFQdSJCygCACE4QdSJC0EANgIAIDhBAUYNAgsgAygCYCIEBEAgAygCZCIGIAQiBUcEQANAIAZBGGsQWSIGIARHDQALIAMoAmAhBQsgAyAENgJkIAUQWgsgCBBZGiADQfAAaiQADAULEAAhBgwCCxAAIQYMAQsQACEGIANBCGoQaAsgA0FAaxBoIAAQaAxkCwALDFgLIwBBwAJrIgMkACADQgA3A5ABIANBADYCmAEgA0EANgKoASADQgA3A4gBIANBADYCgAEgA0IANwOgAUHUiQtBADYCAEGCDCADQcgAaiABIAJBCGogA0GAAWoQBUHUiQsoAgAhBEHUiQtBADYCAAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAEQQFHBEAgA0GIAWohCSADKAJ4RQ0BIAAgAygCSDYCAEHUiQtBADYCAEHAACAAQQhqIANB0ABqEAIaQdSJCygCACE5QdSJC0EANgIAIDlBAUYNAiADQfgAaiEGIAAgAygCaDYCICAAIAMoAmw2AiQgACADKAJwNgIoIANBADYCcCADQgA3A2gMCwsQACEGDAgLIAEoAhQiBCgC2AEhBSAEKALUASEEIAIpAhgh1AxB1IkLQQA2AgBBqAEgBCAFINQMEPEBIQRB1IkLKAIAIQVB1IkLQQA2AgACQAJAAkACQAJAIAVBAUcEQCAAQgA3AwAgAEIANwMwIABCADcDKCAAQgA3AyAgAEIANwMYIABCADcDECAAQgA3AwggBCgCDCIFQciwCygCAEcNBCAEKAIUQdCwCygCAEcEQEHUiQtBADYCAEEIIANBsAFqEAYhAUHUiQsoAgAhOkHUiQtBADYCACA6QQFGDQZB1IkLQQA2AgBB0QIgARAGIQBB1IkLKAIAITtB1IkLQQA2AgAgO0EBRw0IEAAaIAEQcQALIAMgAygCgAE2ArABQdSJC0EANgIAQcAAIANBuAFqIAkQAiEIQdSJCygCACE8QdSJC0EANgIAIDxBAUYNASADQQA2AtgBIANCADcD0AFB1IkLQQA2AgBBuwEgA0HQAWogAygCoAEiBCADKAKkASIFIAUgBGtBGG0QBUHUiQsoAgAhPUHUiQtBADYCACA9QQFGBEAQACEGIAgQWRogABBoDA0LAn8gAygC1AEiBCADKALQAUYEQCADKAKwASIERQRAQdSJC0EANgIAQQ1B3sQFQbCUA0HaAEH9+wIQBUHUiQsoAgAhPkHUiQtBADYCACA+QQFGDQUMEQsgBEEYbCAIakEYawwBCyAEQRhrCyEEQdSJC0EANgIAQcAAIANBMGogBBACIQdB1IkLKAIAIT9B1IkLQQA2AgAgP0EBRg0CAkAgAygC1AEiBCADKALQAUYEQCADKAKwASIERQRAQdSJC0EANgIAQQ1B3sQFQbCUA0HRAEHv+wIQBUHUiQsoAgAhQEHUiQtBADYCACBAQQFHDREQACEGDA0LIAMgBEEBazYCsAEMAQsgAyAEQRhrEFk2AtQBCwJAAkAgBygCECIEQQdJDQAgBCgCBEEBRw0AAn8gBCgCCCIEQQ9NBEAgBEEBRgwBCyAEKAIQRQtFDQAgBygCAA0BC0HUiQtBADYCAEENQbr8BUHmmgNBrgJB5eYEEAVB1IkLKAIAIUFB1IkLQQA2AgAgQUEBRw0PDAoLIAcpAwAh1AxB1IkLQQA2AgBBqQEgAyABINQMIANBsAFqEMICQdSJCygCACFCQdSJC0EANgIAIEJBAUYNCSAAIAMoAgA2AgAgA0EIaiEKIAAgA0cEQCAAQQhqEFkhBEHUiQtBADYCAEHAACAEIAoQAhpB1IkLKAIAIUNB1IkLQQA2AgAgQ0EBRg0ECyAAKAIgIgUEQCAAKAIkIgYgBSIERwRAA0AgBkEYaxBZIgYgBUcNAAsgACgCICEECyAAIAU2AiQgBBBaCyAAIAMoAiA2AiAgACADKAIkNgIkIAAgAygCKDYCKCADQQA2AiggA0IANwMgIAoQWRogBxBZGiADKALQASIFBEAgAygC1AEiBiAFIgRHBEADQCAGQRhrEFkiBiAFRw0ACyADKALQASEECyADIAU2AtQBIAQQWgsgCBBZGgwICxAAIQYMCwsQACEGIAAQaAwKCxAAIQYMCAsQACEGIAMQaAwGCyAFBEAgASgCiAMiBSgCACgCECFEQdSJC0EANgIAIEQgA0GwAWoiBiAFIAQgA0GAAWoQBUHUiQsoAgAhBEHUiQtBADYCAAJAIARBAUcEQCAAIAMoArABNgIAIANBuAFqIQcgACAGRwRAIABBCGoQWSEEQdSJC0EANgIAQcAAIAQgBxACGkHUiQsoAgAhRUHUiQtBADYCACBFQQFGDQILIAAoAiAiBQRAIAAoAiQiBiAFIgRHBEADQCAGQRhrEFkiBiAFRw0ACyAAKAIgIQQLIAAgBTYCJCAEEFoLIAAgAygC0AE2AiAgACADKALUATYCJCAAIAMoAtgBNgIoIANBADYC2AEgA0IANwPQASAHEFkaDAYLEAAhBiAAEGgMCQsQACEGIANBsAFqEGggABBoDAgLIAIpAhgh1AxB1IkLQQA2AgBBqQEgA0GwAWoiBCABINQMIANBgAFqEMICQdSJCygCACEFQdSJC0EANgIAAkAgBUEBRwRAIAAgAygCsAE2AgAgA0G4AWohByAAIARHBEAgAEEIahBZIQRB1IkLQQA2AgBBwAAgBCAHEAIaQdSJCygCACFGQdSJC0EANgIAIEZBAUYNAgsgACgCICIFBEAgACgCJCIGIAUiBEcEQANAIAZBGGsQWSIGIAVHDQALIAAoAiAhBAsgACAFNgIkIAQQWgsgACADKALQATYCICAAIAMoAtQBNgIkIAAgAygC2AE2AiggA0EANgLYASADQgA3A9ABIAcQWRoMBQsQACEGIAAQaAwICxAAIQYgA0GwAWoQaCAAEGgMBwsQACEGIAAQaAwGCxAAIQYMBQsgABBxAAtBkK0LIQYgAi0AIA0GDAcLEAAhBgsgBxBZGgsgA0GwAWoQaCAAEGgLIANByABqEGgLIANBgAFqEGgMZAsACyAAIAYpAwA3AzALIAMoAmgiBQRAIAMoAmwiBiAFIgRHBEADQCAGQRhrEFkiBiAFRw0ACyADKAJoIQQLIAMgBTYCbCAEEFoLIANB0ABqEFkaIAMoAqABIgUEQCADKAKkASIGIAUiBEcEQANAIAZBGGsQWSIGIAVHDQALIAMoAqABIQQLIAMgBTYCpAEgBBBaCyAJEFkaIANBwAJqJAAMVwsjAEHwAWsiAyQAIANCADcD0AEgA0EANgLYASADQQA2AugBIANCADcDyAEgA0EANgLAASADQgA3A+ABQdSJC0EANgIAQYIMIANBiAFqIAEgAkEMaiADQcABahAFQdSJCygCACEEQdSJC0EANgIAAkACQAJAAkACQAJAAkAgBEEBRwRAIAMoArgBRQ0BIAAgAygCiAE2AgBB1IkLQQA2AgBBwAAgAEEIaiADQZABahACGkHUiQsoAgAhR0HUiQtBADYCACBHQQFGDQIgACADKAKoATYCICAAIAMoAqwBNgIkIAAgAygCsAE2AiggA0EANgKwASADQgA3A6gBIAAgAykDuAE3AzAMBwsQACEGDAMLIAIoAhwhBEHUiQtBADYCAEGiASADQdAAaiABIAQQCEHUiQsoAgAhBEHUiQtBADYCAAJAAkACQCAEQQFHBEAgAygCUCEEIAMoAoABRQ0BIAAgBDYCAEHUiQtBADYCAEHAACAAQQhqIANB2ABqEAIaQdSJCygCACFIQdSJC0EANgIAIEhBAUYNAiAAIAMoAnA2AiAgACADKAJ0NgIkIAAgAygCeDYCKCADQQA2AnggA0IANwNwIAAgAykDgAE3AzAMCAsQACEGDAQLAkACQAJAAkACQAJ/IAMoAnQgAygCcGtBGG0gBGpBAUcEQEHHACEAQdCVAyEEQYfBBSEFQZjXAwwBCyADKAJoQQJGDQFBmAIhAEHmmgMhBEGZsQUhBUGirgULIQFB1IkLQQA2AgBBDSAFIAQgACABEAVB1IkLKAIAIUlB1IkLQQA2AgAgSUEBRg0BDAoLIAMoAlghBQJ/IAItACgEQAJAIAEoAmgoAgwoAhwiBEEQTwRAIAQoAhBFDQELQdSJC0EANgIAQQ1B4ZUGQbizAkHbCUGP4gMQBUHUiQsoAgAhSkHUiQtBADYCACBKQQFHDQwQACEGDAgLIAQoAhgMAQsgAigCBAshBCACKQIgIdQMQdSJC0EANgIAQaQBIANBxABqIAEg1AwQ7QJB1IkLKAIAIUtB1IkLQQA2AgAgS0EBRg0BIAMgAykCSCLUDDcDCCACKAIIIQYgAygCRCIHKAIAKAIUIUxB1IkLQQA2AgAgAyDUDDcDACBMIANBEGogByADIAUgBiADQcABaiAEIAEQT0HUiQsoAgAhTUHUiQtBADYCACBNQQFGDQIgACADKAIQNgIAQdSJC0EANgIAQcAAIABBCGogA0EYaiIEEAIaQdSJCygCACFOQdSJC0EANgIAIE5BAUYNAyAAIAMoAjA2AiAgACADKAI0NgIkIAAgAygCODYCKCADQQA2AjggA0IANwMwIABCADcDMCAEEFkaIAItACgEQCAAQZCtCykDADcDMAsgAygCcCIFRQ0KIAMoAnQiBiAFIgRHBEADQCAGQRhrEFkiBiAFRw0ACyADKAJwIQQLIAMgBTYCdCAEEFoMCgsQACEGDAQLEAAhBgwDCxAAIQYMAgsQACEGIANBEGoQaAwBCxAAIQYLIANB0ABqEGgMAQsQACEGCyADQYgBahBoCyADQcABahBoDGMLAAsgA0HYAGoQWRogAygCqAEiBUUNACADKAKsASIGIAUiBEcEQANAIAZBGGsQWSIGIAVHDQALIAMoAqgBIQQLIAMgBTYCrAEgBBBaCyADQZABahBZGiADKALgASIEBEAgAygC5AEiBiAEIgVHBEADQCAGQRhrEFkiBiAERw0ACyADKALgASEFCyADIAQ2AuQBIAUQWgsgA0HIAWoQWRogA0HwAWokAAxWCyAAIAEoAmgoAgAgAigCCEEwbGoiBCgCADYCACAAQQhqIARBCGoQeiEDIABBADYCKCAAQgA3AyAgBCgCJCEFIAQoAiAhBEHUiQtBADYCAEG7ASAAQSBqIAQgBSAFIARrQRhtEAVB1IkLKAIAIU9B1IkLQQA2AgAgT0EBRg1hIABCADcDMAxVCyMAQUBqIgMkACACKAIIIQUgA0EIaiABIAIoAgwQrwICQAJAAkACQCADKAI4BEAgACADKAIINgIAQdSJC0EANgIAQcAAIABBCGogA0EQahACGkHUiQsoAgAhUEHUiQtBADYCACBQQQFGDQIgACADKAIoNgIgIAAgAygCLDYCJCAAIAMoAjA2AiggA0EANgIwIANCADcDKCAAIAMpAzg3AzAMAQsCQCACKAIERQ0AQdSJC0EANgIAQasBIANBCGoQBiEEQdSJCygCACFRQdSJC0EANgIAIFFBAUYNAiAEIAIoAgQiBkYNAEHUiQtBADYCAEGsASAEIAYQAiFTQdSJCygCACFSQdSJC0EANgIAIFJBAUYNAiBTDQBB1IkLQQA2AgBBDUHqyANB0JUDQaEYQcOEARAFQdSJCygCACFUQdSJC0EANgIAIFRBAUYNAgALIAEoAmgoAgAgBUEwbGoiBCADKAIINgIAIANBEGohBSADQQhqIARHBEAgBEEIahBZIQZB1IkLQQA2AgBBwAAgBiAFEAIaQdSJCygCACFVQdSJC0EANgIAIFVBAUYNAkHUiQtBADYCAEH1AiAEQSBqIAMoAigiBCADKAIsIgYgBiAEa0EYbRAFQdSJCygCACFWQdSJC0EANgIAIFZBAUYNAgsgAigCBARAIAAgAygCCDYCAEHUiQtBADYCAEHAACAAQQhqIAUQAiEEQdSJCygCACFXQdSJC0EANgIAIFdBAUYNAiAAQgA3AyAgAEEANgIoQdSJC0EANgIAQbsBIABBIGogAygCKCIFIAMoAiwiBiAGIAVrQRhtEAVB1IkLKAIAIVhB1IkLQQA2AgAgWEEBRgRAEAAhBiAEEFkaDAQLIAAgAykDODcDMAwBCyAAQgA3AwAgAEIANwMwIABCADcDKCAAQgA3AyAgAEIANwMYIABCADcDECAAQgA3AwgLIAMoAigiBARAIAMoAiwiBiAEIgVHBEADQCAGQRhrEFkiBiAERw0ACyADKAIoIQULIAMgBDYCLCAFEFoLIANBEGoQWRogA0FAayQADAILEAAhBgsgA0EIahBoDF8LDFQLIAAgASACKQIIEPoQIgQoAgA2AgAgAEEIaiAEQQhqEHohAyAAQQA2AiggAEIANwMgIAQoAiQhBSAEKAIgIQRB1IkLQQA2AgBBuwEgAEEgaiAEIAUgBSAEa0EYbRAFQdSJCygCACFZQdSJC0EANgIAIFlBAUYNXyAAQgA3AzAMUwsjAEFAaiIDJAAgAikCCCHUDCADQQhqIAEgAigCEBCvAgJAIAMoAjgEQCAAIAMoAgg2AgBB1IkLQQA2AgBBwAAgAEEIaiADQRBqEAIaQdSJCygCACFaQdSJC0EANgIAIFpBAUYNXyAAIAMoAig2AiAgACADKAIsNgIkIAAgAygCMDYCKCADQQA2AjAgA0IANwMoIAAgAykDODcDMAwBC0HUiQtBADYCAEGDDCABINQMELgCIQRB1IkLKAIAIVtB1IkLQQA2AgAgW0EBRg1eIAQgAygCCDYCACADQQhqIARHBEAgBEEIahBZIQVB1IkLQQA2AgBBwAAgBSADQRBqEAIaQdSJCygCACFcQdSJC0EANgIAIFxBAUYNX0HUiQtBADYCAEH1AiAEQSBqIAMoAigiBCADKAIsIgUgBSAEa0EYbRAFQdSJCygCACFdQdSJC0EANgIAIF1BAUYNXwsgAEIANwMAIABCADcDMCAAQgA3AyggAEIANwMgIABCADcDGCAAQgA3AxAgAEIANwMIIAMoAigiBEUNACADKAIsIgYgBCIFRwRAA0AgBkEYaxBZIgYgBEcNAAsgAygCKCEFCyADIAQ2AiwgBRBaCyADQRBqEFkaIANBQGskAAxSCyMAQcABayIDJAAgA0HwAGogASACKAIkEK8CAkACQAJAAkACQAJAIAMoAqABBEAgACADKAJwNgIAQdSJC0EANgIAQcAAIABBCGogA0H4AGoQAhpB1IkLKAIAIV5B1IkLQQA2AgAgXkEBRg0CIAAgAygCkAE2AiAgACADKAKUATYCJCAAIAMoApgBNgIoIANBADYCmAEgA0IANwOQASAAIAMpA6ABNwMwDAELIAIpAygh1AxB1IkLQQA2AgBBhAwgA0HkAGogASDUDBDtAkHUiQsoAgAhBEHUiQtBADYCAAJAAkACQAJAAkACQCAEQQFHBEACQAJAIAMoAmQiBCgCWCIFRQ0AIAQoAlQCfyADKQJoItYMpyIHIAVBAWtxIAVpIghBAU0NABogByAFIAdLDQAaIAcgBXALIglBAnRqKAIAIgZFDQAgBigCACIGRQ0AIAhBAU0EQCAFQQFrIQUDQAJAIAcgBigCBCIIRwRAIAUgCHEgCUYNAQwECyAGKAIIIAdGDQQLIAYoAgAiBg0ACwwBCwNAAkAgByAGKAIEIghHBEAgBSAITQR/IAggBXAFIAgLIAlGDQEMAwsgBigCCCAHRg0DCyAGKAIAIgYNAAsLIAQoAogDIgAoAgAoAiAhX0HUiQtBADYCACBfIABBgRUQA0HUiQsoAgAhYEHUiQtBADYCACBgQQFGDQIMDAsgAygCcCADKAKUASADKAKQAWtBGG1qQQFHBEBB1IkLQQA2AgBBDUGHwQVB0JUDQccAQZjXAxAFQdSJCygCACFhQdSJC0EANgIAIGFBAUcNDAwKCyAGKQMQIdQMQdSJC0EANgIAQcAAIANByABqIANB+ABqEAIhBkHUiQsoAgAhYkHUiQtBADYCACBiQQFGDQlB1IkLQQA2AgBBwAAgA0GoAWogBhACIQVB1IkLKAIAIWNB1IkLQQA2AgAgY0EBRg0CIAIxAAgh2AwCQAJAAn4CQAJAAkAgBSgCEEECaw4CAAIBCyAFNAIADAILQdSJC0EANgIAQQ1B7aYFQeaaA0GhAkGJpAUQBUHUiQsoAgAhZEHUiQtBADYCACBkQQFHDQ8MAgsgBSkDAAsh1QwgAikDECHXDEHUiQtBADYCAEGFDCAEINcMINQMQhCGItQMQYUWENUCQdSJCygCACFlQdSJC0EANgIAIGVBAUYNACACKQMQIdcMQdSJC0EANgIAQYUMIAQg1Qwg1Awg1wx9QaQWENUCQdSJCygCACFmQdSJC0EANgIAIGZBAUYNACACKQMQIdcMQdSJC0EANgIAQYUMIAQg2Awg1AxBlRYQ1QJB1IkLKAIAIWdB1IkLQQA2AgAgZ0EBRg0AQdSJC0EANgIAQYUMIAQg1Qwg1wx8ItUMINQMINgMfUH0FRDVAkHUiQsoAgAhaEHUiQtBADYCACBoQQFHDQELEAAhBCAFEFkaIAYQWRoMCwsgBRBZGiAGEFkaAkAgAi0AIEUNACACLQAIIQVB1IkLQQA2AgBBhQwgBCDVDCDUDCAFrUL/AYMi1Ax9QfQVENUCQdSJCygCACFpQdSJC0EANgIAIGlBAUYNCiAFQQJJDQAg1Qwg1AxCAX2Dp0UNACAEKAKIAyIFKAIAKAIgIWpB1IkLQQA2AgAgaiAFQczXAhADQdSJCygCACFrQdSJC0EANgIAIGtBAUYNCgsgBCgCiAMhBCADINYMNwMoIAQoAgAoAiwhbEHUiQtBADYCACADINYMNwMIIGwgA0EwaiIFIAQgAiDVDCADQQhqEMoRQdSJCygCACFtQdSJC0EANgIAIG1BAUYNA0HUiQtBADYCAEHAACADQRBqIAUQAiEFQdSJCygCACFuQdSJC0EANgIAIG5BAUYNBEHUiQtBADYCAEGcAyAAIAUQAhpB1IkLKAIAIW9B1IkLQQA2AgAgb0EBRw0GEAAhBCAFEFkaDAULEAAhBAwJCxAAIQQMCAsQACEEIAYQWRoMBwsQACEEDAYLEAAhBAsgA0EwahBZGgwECyAFEFkaIANBMGoQWRogAygCkAEiBUUNACADKAKUASIGIAUiBEcEQANAIAZBGGsQWSIGIAVHDQALIAMoApABIQQLIAMgBTYClAEgBBBaCyADQfgAahBZGiADQcABaiQADAQLEAAhBAwBCxAAIQQLIANB8ABqEGgMYgsACwxRCyMAQeABayIDJAAgA0GQAWogASACKAIkEK8CAkACQAJAAkACQAJAIAMoAsABBEAgACADKAKQATYCAEHUiQtBADYCAEHAACAAQQhqIANBmAFqEAIaQdSJCygCACFwQdSJC0EANgIAIHBBAUYNASAAIAMoArABNgIgIAAgAygCtAE2AiQgACADKAK4ATYCKCADQQA2ArgBIANCADcDsAEgACADKQPAATcDMAwGCyACKAIoIQRB1IkLQQA2AgBBogEgA0HYAGogASAEEAhB1IkLKAIAIQRB1IkLQQA2AgACQAJAIARBAUcEQCADKAKIAUUNASAAIAMoAlg2AgBB1IkLQQA2AgBBwAAgAEEIaiADQeAAahACGkHUiQsoAgAhcUHUiQtBADYCACBxQQFGDQIgACADKAJ4NgIgIAAgAygCfDYCJCAAIAMoAoABNgIoIANBADYCgAEgA0IANwN4IAAgAykDiAE3AzAMBwsQACEEDGULIAIpAzAh1AxB1IkLQQA2AgBBhAwgA0HMAGogASDUDBDtAkHUiQsoAgAhBEHUiQtBADYCAAJAAkACQAJAAkAgBEEBRwRAAkACQCADKAJMIgQoAlgiBUUNACAEKAJUAn8gAykCUCLWDKciByAFQQFrcSAFaSIIQQFNDQAaIAcgBSAHSw0AGiAHIAVwCyIJQQJ0aigCACIGRQ0AIAYoAgAiBkUNACAIQQFNBEAgBUEBayEFA0ACQCAHIAYoAgQiCEcEQCAFIAhxIAlGDQEMBAsgBigCCCAHRg0ECyAGKAIAIgYNAAsMAQsDQAJAIAcgBigCBCIIRwRAIAUgCE0EfyAIIAVwBSAICyAJRg0BDAMLIAYoAgggB0YNAwsgBigCACIGDQALCyAEKAKIAyIAKAIAKAIgIXJB1IkLQQA2AgAgciAAQYEVEANB1IkLKAIAIXNB1IkLQQA2AgAgc0EBRg0CDAsLIAMoApABIAMoArQBIAMoArABa0EYbWpBAUcNBCAGKQMQIdQMQdSJC0EANgIAQcAAIANBMGogA0GYAWoQAiEGQdSJCygCACF0QdSJC0EANgIAIHRBAUYNCEHUiQtBADYCAEHAACADQcgBaiAGEAIhBUHUiQsoAgAhdUHUiQtBADYCACB1QQFGDQIgAjEACCHYDAJAAkACfgJAAkACQCAFKAIQQQJrDgIAAgELIAU0AgAMAgtB1IkLQQA2AgBBDUHtpgVB5poDQaECQYmkBRAFQdSJCygCACF2QdSJC0EANgIAIHZBAUcNDgwCCyAFKQMACyHVDCACKQMQIdcMQdSJC0EANgIAQYUMIAQg1wwg1AxCEIYi1AxBhRYQ1QJB1IkLKAIAIXdB1IkLQQA2AgAgd0EBRg0AIAIpAxAh1wxB1IkLQQA2AgBBhQwgBCDVDCDUDCDXDH1BpBYQ1QJB1IkLKAIAIXhB1IkLQQA2AgAgeEEBRg0AIAIpAxAh1wxB1IkLQQA2AgBBhQwgBCDYDCDUDEGVFhDVAkHUiQsoAgAheUHUiQtBADYCACB5QQFGDQBB1IkLQQA2AgBBhQwgBCDVDCDXDHwi1Qwg1Awg2Ax9QfQVENUCQdSJCygCACF6QdSJC0EANgIAIHpBAUcNAQsQACEEIAUQWRogBhBZGgwKCyAFEFkaIAYQWRogAi0AIEUNAyACLQAIIQVB1IkLQQA2AgBBhQwgBCDVDCDUDCAFrUL/AYMi1Ax9QfQVENUCQdSJCygCACF7QdSJC0EANgIAIHtBAUYNCCAFQQJJDQMg1Qwg1AxCAX2Dp0UNAyAEKAKIAyIFKAIAKAIgIXxB1IkLQQA2AgAgfCAFQczXAhADQdSJCygCACF9QdSJC0EANgIAIH1BAUcNAwwICxAAIQQMCAsQACEEDAcLEAAhBCAGEFkaDAYLIAMoAlggAygCfCADKAJ4a0EYbWpBAUYNAQtB1IkLQQA2AgBBDUGHwQVB0JUDQccAQZjXAxAFQdSJCygCACF+QdSJC0EANgIAIH5BAUcNBQwDCyAEKAKIAyEEQdSJC0EANgIAQcAAIANBGGogA0HgAGoQAiEFQdSJCygCACF/QdSJC0EANgIAIH9BAUYNAiADINYMNwMQIAQoAgAoAjAhgAFB1IkLQQA2AgAgAyDWDDcDCCCAASAEIAIg1QwgBSADQQhqEMkRQdSJCygCACGBAUHUiQtBADYCACCBAUEBRgRAEAAhBCAFEFkaDAQLIAUQWRogAEIANwMwIABCADcDKCAAQgA3AyAgAEIANwMYIABCADcDECAAQgA3AwggAEIANwMAIAMoAngiBUUNBSADKAJ8IgYgBSIERwRAA0AgBkEYaxBZIgYgBUcNAAsgAygCeCEECyADIAU2AnwgBBBaDAULEAAhBAwCCxAAIQQMYgsQACEECyADQdgAahBoDGALAAsgA0HgAGoQWRogAygCsAEiBUUNACADKAK0ASIGIAUiBEcEQANAIAZBGGsQWSIGIAVHDQALIAMoArABIQQLIAMgBTYCtAEgBBBaCyADQZgBahBZGiADQeABaiQADFALIwBBsAJrIgMkACADQeABaiABIAIoAhgQrwICQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAMoApACBEAgACADKALgATYCAEHUiQtBADYCAEHAACAAQQhqIANB6AFqEAIaQdSJCygCACGCAUHUiQtBADYCACCCAUEBRg0BIAAgAygCgAI2AiAgACADKAKEAjYCJCAAIAMoAogCNgIoIANBADYCiAIgA0IANwOAAiAAIAMpA5ACNwMwDA4LIAIoAhwhBEHUiQtBADYCAEGiASADQagBaiABIAQQCEHUiQsoAgAhBEHUiQtBADYCAAJAAkAgBEEBRwRAIAMoAtgBRQ0BIAAgAygCqAE2AgBB1IkLQQA2AgBBwAAgAEEIaiADQbABahACGkHUiQsoAgAhgwFB1IkLQQA2AgAggwFBAUYNAiAAIAMoAsgBNgIgIAAgAygCzAE2AiQgACADKALQATYCKCADQQA2AtABIANCADcDyAEgACADKQPYATcDMAwPCxAAIQQMDAsgAikDICHUDEHUiQtBADYCAEGEDCADQZwBaiABINQMEO0CQdSJCygCACEEQdSJC0EANgIAAkACQAJAAkACQAJAAkACQAJAIARBAUcEQAJAAkAgAygCnAEiBCgCWCIFRQ0AIAQoAlQCfyADKQKgASLWDKciByAFQQFrcSAFaSIIQQFNDQAaIAcgBSAHSw0AGiAHIAVwCyIJQQJ0aigCACIGRQ0AIAYoAgAiBkUNACAIQQFNBEAgBUEBayEFA0ACQCAHIAYoAgQiCEcEQCAFIAhxIAlGDQEMBAsgBigCCCAHRg0ECyAGKAIAIgYNAAsMAQsDQAJAIAcgBigCBCIIRwRAIAUgCE0EfyAIIAVwBSAICyAJRg0BDAMLIAYoAgggB0YNAwsgBigCACIGDQALCyAEKAKIAyIAKAIAKAIgIYQBQdSJC0EANgIAIIQBIABBgRUQA0HUiQsoAgAhhQFB1IkLQQA2AgAghQFBAUYNAgwXCyADKALgASADKAKEAiADKAKAAmtBGG1qQQFHBEBB1IkLQQA2AgBBDUGHwQVB0JUDQccAQZjXAxAFQdSJCygCACGGAUHUiQtBADYCACCGAUEBRw0XDBQLIAYpAxAh1AxB1IkLQQA2AgBBwAAgA0GAAWogA0HoAWoQAiEGQdSJCygCACGHAUHUiQtBADYCACCHAUEBRg0TQdSJC0EANgIAQcAAIANBmAJqIAYQAiEFQdSJCygCACGIAUHUiQtBADYCACCIAUEBRg0CIAIxAAwh2AwCQAJAAn4CQAJAAkAgBSgCEEECaw4CAAIBCyAFNAIADAILQdSJC0EANgIAQQ1B7aYFQeaaA0GhAkGJpAUQBUHUiQsoAgAhiQFB1IkLQQA2AgAgiQFBAUcNGgwCCyAFKQMACyHXDCACKQMQIdUMQdSJC0EANgIAQYUMIAQg1Qwg1AxCEIYi1QxBhRYQ1QJB1IkLKAIAIYoBQdSJC0EANgIAIIoBQQFGDQAgAikDECHZDEHUiQtBADYCAEGFDCAEINcMINUMINkMfUGkFhDVAkHUiQsoAgAhiwFB1IkLQQA2AgAgiwFBAUYNACACKQMQIdkMQdSJC0EANgIAQYUMIAQg2Awg1QxBlRYQ1QJB1IkLKAIAIYwBQdSJC0EANgIAIIwBQQFGDQBB1IkLQQA2AgBBhQwgBCDXDCDZDHwi1wwg1Qwg2Ax9QfQVENUCQdSJCygCACGNAUHUiQtBADYCACCNAUEBRw0BCxAAIQQgBRBZGiAGEFkaDBULIAUQWRogBhBZGiACKAIEIQUgAi0ADCEGQdSJC0EANgIAIANB6ABqIAQg1wwgBiAFINYMINQMEIoMQdSJCygCACGOAUHUiQtBADYCACCOAUEBRg0DIAMoAqgBIAMoAswBIAMoAsgBa0EYbWpBAUcEQEHUiQtBADYCAEENQYfBBUHQlQNBxwBBmNcDEAVB1IkLKAIAIY8BQdSJC0EANgIAII8BQQFHDRcMEgtB1IkLQQA2AgBBwAAgA0HQAGogA0GwAWoQAiEFQdSJCygCACGQAUHUiQtBADYCACCQAUEBRg0RIAIoAggOBQQFBgcICQsQACEEDBMLEAAhBAwSCxAAIQQgBhBZGgwRCxAAIQQMEAtB1IkLQQA2AgBBlQQgA0E4aiIGIANB6ABqIAUQCEHUiQsoAgAhB0HUiQtBADYCAAJAIAdBAUcEQCAFEFkhB0HUiQtBADYCAEHAACAHIAYQAhpB1IkLKAIAIZEBQdSJC0EANgIAIJEBQQFGDQEgBhBZGgwGCxAAIQQMDAsQACEEIANBOGoQWRoMCwtB1IkLQQA2AgBBlgQgA0E4aiIGIANB6ABqIAUQCEHUiQsoAgAhB0HUiQtBADYCAAJAIAdBAUcEQCAFEFkhB0HUiQtBADYCAEHAACAHIAYQAhpB1IkLKAIAIZIBQdSJC0EANgIAIJIBQQFGDQEgBhBZGgwFCxAAIQQMCwsQACEEIANBOGoQWRoMCgsgAygCeCIGQQdPBEBB1IkLQQA2AgBBDUHhzQZBn58DQcMBQfPnBBAFDAkLAkACQAJAAkAgBkECaw4CAgABCyADIAUpAwAgAykDaIM3AzgMAgtB1IkLQQA2AgBBFEHvhARB6aQCQfoJEAgMCgsgAyAFKAIAIAMoAmhxNgI4CyADIAY2AkggBRBZIQZB1IkLQQA2AgBBwAAgBiADQThqIgYQAhpB1IkLKAIAIZMBQdSJC0EANgIAIJMBQQFHBEAgBhBZGgwDCxAAIQQgA0E4ahBZGgwJCyADKAJ4IgZBB08EQEHUiQtBADYCAEENQeHNBkGfnwNBwwFB8+cEEAUMBwsCQAJAAkACQCAGQQJrDgICAAELIAMgBSkDACADKQNohDcDOAwCC0HUiQtBADYCAEEUQe+EBEHppAJBhQoQCAwICyADIAUoAgAgAygCaHI2AjgLIAMgBjYCSCAFEFkhBkHUiQtBADYCAEHAACAGIANBOGoiBhACGkHUiQsoAgAhlAFB1IkLQQA2AgAglAFBAUcEQCAGEFkaDAILEAAhBCADQThqEFkaDAgLIAMoAngiBkEHTwRAQdSJC0EANgIAQQ1B4c0GQZ+fA0HDAUHz5wQQBQwFCwJAAkACQAJAIAZBAmsOAgIAAQsgAyAFKQMAIAMpA2iFNwM4DAILQdSJC0EANgIAQRRB74QEQemkAkGQChAIDAYLIAMgBSgCACADKAJoczYCOAsgAyAGNgJIIAUQWSEGQdSJC0EANgIAQcAAIAYgA0E4aiIGEAIaQdSJCygCACGVAUHUiQtBADYCACCVAUEBRg0DIAYQWRoLIAItAAwhB0HUiQtBADYCAEHAACADQSBqIAUQAiEGQdSJCygCACEIQdSJC0EANgIAAkACQAJAIAhBAUYNAEHUiQtBADYCACAEINcMIAcgBiDWDCDUDBDIEUHUiQsoAgAhlgFB1IkLQQA2AgAglgFBAUYNASAGEFkaQdSJC0EANgIAQcAAIANBCGogA0HoAGoQAiEGQdSJCygCACGXAUHUiQtBADYCACCXAUEBRg0AQdSJC0EANgIAQZwDIAAgBhACGkHUiQsoAgAhmAFB1IkLQQA2AgAgmAFBAUcNAhAAIQQgBhBZGgwJCxAAIQQMCAsQACEEIAYQWRoMBwsgBhBZGiAFEFkaIANB6ABqEFkaIAMoAsgBIgVFDQ0gAygCzAEiBiAFIgRHBEADQCAGQRhrEFkiBiAFRw0ACyADKALIASEECyADIAU2AswBIAQQWgwNCxAAIQQMCQsQACEEDAkLEAAhBCADQThqEFkaDAMLQdSJCygCACGZAUHUiQtBADYCACCZAUEBRw0IEAAhBAwCC0HUiQsoAgAhmgFB1IkLQQA2AgAgmgFBAUcNBxAAIQQMAQtB1IkLKAIAIZsBQdSJC0EANgIAIJsBQQFHDQYQACEECyAFEFkaDAELEAAhBAsgA0HoAGoQWRoMAQsQACEECyADQagBahBoCyADQeABahBoDGELAAsgA0GwAWoQWRogAygCgAIiBUUNACADKAKEAiIGIAUiBEcEQANAIAZBGGsQWSIGIAVHDQALIAMoAoACIQQLIAMgBTYChAIgBBBaCyADQegBahBZGiADQbACaiQADE8LIwBBoANrIgMkACADQbgCaiABIAIoAhgQrwICQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCADKALoAgRAIAAgAygCuAI2AgBB1IkLQQA2AgBBwAAgAEEIaiADQcACahACGkHUiQsoAgAhnAFB1IkLQQA2AgAgnAFBAUYNASAAIAMoAtgCNgIgIAAgAygC3AI2AiQgACADKALgAjYCKCADQQA2AuACIANCADcD2AIgACADKQPoAjcDMAwNCyACKAIcIQRB1IkLQQA2AgBBogEgA0GAAmogASAEEAhB1IkLKAIAIQRB1IkLQQA2AgACQAJAIARBAUcEQCADKAKwAkUNASAAIAMoAoACNgIAQdSJC0EANgIAQcAAIABBCGogA0GIAmoQAhpB1IkLKAIAIZ0BQdSJC0EANgIAIJ0BQQFGDQIgACADKAKgAjYCICAAIAMoAqQCNgIkIAAgAygCqAI2AiggA0EANgKoAiADQgA3A6ACIAAgAykDsAI3AzAMDgsQACEEDAoLIAIoAiAhBEHUiQtBADYCAEGiASADQcgBaiABIAQQCEHUiQsoAgAhBEHUiQtBADYCAAJAAkAgBEEBRwRAIAMoAvgBRQ0BIAAgAygCyAE2AgBB1IkLQQA2AgBBwAAgAEEIaiADQdABahACGkHUiQsoAgAhngFB1IkLQQA2AgAgngFBAUYNAiAAIAMoAugBNgIgIAAgAygC7AE2AiQgACADKALwATYCKCADQQA2AvABIANCADcD6AEgACADKQP4ATcDMAwOCxAAIQQMCgsgAikCJCHUDEHUiQtBADYCAEGEDCADQbwBaiABINQMEO0CQdSJCygCACEEQdSJC0EANgIAAkACQAJAAkACQAJAAkACQCAEQQFHBEACQAJAIAMoArwBIgkoAlgiBEUNACAJKAJUAn8gAykCwAEi1gynIgUgBEEBa3EgBGkiB0EBTQ0AGiAFIAQgBUsNABogBSAEcAsiCEECdGooAgAiBkUNACAGKAIAIgZFDQAgB0EBTQRAIARBAWshBANAAkAgBSAGKAIEIgdHBEAgBCAHcSAIRg0BDAQLIAYoAgggBUYNBAsgBigCACIGDQALDAELA0ACQCAFIAYoAgQiB0cEQCAEIAdNBH8gByAEcAUgBwsgCEYNAQwDCyAGKAIIIAVGDQMLIAYoAgAiBg0ACwsgCSgCiAMiACgCACgCICGfAUHUiQtBADYCACCfASAAQYEVEANB1IkLKAIAIaABQdSJC0EANgIAIKABQQFGDQIMFQsgAygCuAIgAygC3AIgAygC2AJrQRhtakEBRwRAQdSJC0EANgIAQQ1Bh8EFQdCVA0HHAEGY1wMQBUHUiQsoAgAhoQFB1IkLQQA2AgAgoQFBAUcNFQwRCyAGKQMQIdQMQdSJC0EANgIAQcAAIANBoAFqIANBwAJqEAIhBkHUiQsoAgAhogFB1IkLQQA2AgAgogFBAUYNEEHUiQtBADYCAEHAACADQfACaiAGEAIhBUHUiQsoAgAhowFB1IkLQQA2AgAgowFBAUYNAiACMQAIIdgMAkACQAJ+AkACQAJAIAUoAhBBAmsOAgACAQsgBTQCAAwCC0HUiQtBADYCAEENQe2mBUHmmgNBoQJBiaQFEAVB1IkLKAIAIaQBQdSJC0EANgIAIKQBQQFHDRgMAgsgBSkDAAsh1wwgAikDECHVDEHUiQtBADYCAEGFDCAJINUMINQMQhCGItUMQYUWENUCQdSJCygCACGlAUHUiQtBADYCACClAUEBRg0AIAIpAxAh2QxB1IkLQQA2AgBBhQwgCSDXDCDVDCDZDH1BpBYQ1QJB1IkLKAIAIaYBQdSJC0EANgIAIKYBQQFGDQAgAikDECHZDEHUiQtBADYCAEGFDCAJINgMINUMQZUWENUCQdSJCygCACGnAUHUiQtBADYCACCnAUEBRg0AQdSJC0EANgIAQYUMIAkg1wwg2Qx8ItcMINUMINgMfUH0FRDVAkHUiQsoAgAhqAFB1IkLQQA2AgAgqAFBAUcNAQsQACEEIAUQWRogBhBZGgwSCyAFEFkaIAYQWRogAygCgAIgAygCpAIgAygCoAJrQRhtakEBRwRAQdSJC0EANgIAQQ1Bh8EFQdCVA0HHAEGY1wMQBUHUiQsoAgAhqQFB1IkLQQA2AgAgqQFBAUcNFQwQC0HUiQtBADYCAEHAACADQThqIANBiAJqIgYQAiEHQdSJCygCACGqAUHUiQtBADYCACCqAUEBRg0PIAItAAghBAJAAkACQAJAAkACQCAHKAIQQQJrDgIAAgELQekeIQUCQAJAIARBAWsOBAABBAUECyADQQI2ApgDIANB/wE2AogDIActAAAhBCADQQI2AmAgAyAENgJQIANBiANqEFkaDAULIANBAjYCmAMgA0H//wM2AogDIAcvAQAhBCADQQI2AmAgAyAENgJQIANBiANqEFkaDAQLQdSJC0EANgIAQQ1BwKYFQdCVA0HsHkGsxQMQBUHUiQsoAgAhqwFB1IkLQQA2AgAgqwFBAUcNGAwSC0H7HiEFAkACQAJAIARBAWsOCAABAwIDAwMEAwsgA0EDNgKYAyADQv8BNwOIAyAHMQAAIdUMIANBAzYCYCADINUMNwNQIANBiANqEFkaDAQLIANBAzYCmAMgA0L//wM3A4gDIAczAQAh1QwgA0EDNgJgIAMg1Qw3A1AgA0GIA2oQWRoMAwsgA0EDNgKYAyADQv////8PNwOIAyAHNQIAIdUMIANBAzYCYCADINUMNwNQIANBiANqEFkaDAILQdSJC0EANgIAQRRBvcUBQdCVAyAFEAhB1IkLKAIAIawBQdSJC0EANgIAIKwBQQFHDRYMEAtB1IkLQQA2AgBBwAAgA0HQAGogBxACGkHUiQsoAgAhrQFB1IkLQQA2AgAgrQFBAUYNDwtB1IkLQQA2AgBBnAMgA0HoAGogA0HQAGoQAiEIQdSJCygCACGuAUHUiQtBADYCACCuAUEBRg0DIAMgCCgCADYCgAIgBhBZIQRB1IkLQQA2AgBBwAAgBCAIQQhqIgoQAiELQdSJCygCACGvAUHUiQtBADYCACCvAUEBRg0EIAMoAqACIgQEQCADKAKkAiIGIAQiBUcEQANAIAZBGGsQWSIGIARHDQALIAMoAqACIQULIAMgBDYCpAIgBRBaCyADIAgoAiA2AqACIAMgCCgCJDYCpAIgAyAIKAIoNgKoAiAIQQA2AiggCEIANwMgIAMgCCkDMDcDsAIgChBZGiADQdAAahBZGiAHEFkaIAIoAgQhBCACLQAIIQVB1IkLQQA2AgAgA0GIA2oiBiAJINcMIAUgBCDWDCDUDBCKDEHUiQsoAgAhsAFB1IkLQQA2AgAgsAFBAUYNBgJAAkAgAygCgAIgAygCpAIgAygCoAJrQRhtakEBRgRAQdSJC0EANgIAQa8FIAYgCxACIbIBQdSJCygCACGxAUHUiQtBADYCACCxAUEBRg0PILIBRQ0CIAMoAsgBIAMoAuwBIAMoAugBa0EYbWpBAUYNAQtB1IkLQQA2AgBBDUGHwQVB0JUDQccAQZjXAxAFQdSJCygCACGzAUHUiQtBADYCACCzAUEBRw0WDA4LIAItAAghBEHUiQtBADYCAEHAACADQSBqIANB0AFqEAIhBUHUiQsoAgAhtAFB1IkLQQA2AgAgtAFBAUYNDUHUiQtBADYCACAJINcMIAQgBSDWDCDUDBDIEUHUiQsoAgAhtQFB1IkLQQA2AgAgtQFBAUYNCCAFEFkaC0HUiQtBADYCAEHAACADQQhqIANBiANqEAIhBUHUiQsoAgAhtgFB1IkLQQA2AgAgtgFBAUYNDEHUiQtBADYCAEGcAyAAIAUQAhpB1IkLKAIAIbcBQdSJC0EANgIAILcBQQFHDQgQACEEIAUQWRoMDQsQACEEDBALEAAhBAwPCxAAIQQgBhBZGgwOCxAAIQQMAQsQACEEIAgQaAsgA0HQAGoQWRogBxBZGgwLCxAAIQQMCgsQACEEIAUQWRoMBQsgBRBZGiADQYgDahBZGiADKALoASIFRQ0MIAMoAuwBIgYgBSIERwRAA0AgBkEYaxBZIgYgBUcNAAsgAygC6AEhBAsgAyAFNgLsASAEEFoMDAsQACEEDAcLEAAhBAwHCxAAIQQMBwsQACEECyADQYgDahBZGgwDCxAAIQQgBxBZGgwCCxAAIQQMAQsQACEECyADQcgBahBoCyADQYACahBoCyADQbgCahBoDGELAAsgA0HQAWoQWRogAygCoAIiBUUNACADKAKkAiIGIAUiBEcEQANAIAZBGGsQWSIGIAVHDQALIAMoAqACIQQLIAMgBTYCpAIgBBBaCyADQYgCahBZGiADKALYAiIFRQ0AIAMoAtwCIgYgBSIERwRAA0AgBkEYaxBZIgYgBUcNAAsgAygC2AIhBAsgAyAFNgLcAiAEEFoLIANBwAJqEFkaIANBoANqJAAMTgsjAEGgAmsiAyQAIANB6AFqIAEgAigCEBCvAgJAAkACQAJAAkACQAJAAkACQAJAAkAgAygCmAIEQCAAIAMoAugBNgIAQdSJC0EANgIAQcAAIABBCGogA0HwAWoQAhpB1IkLKAIAIbgBQdSJC0EANgIAILgBQQFGDQEgACADKAKIAjYCICAAIAMoAowCNgIkIAAgAygCkAI2AiggA0EANgKQAiADQgA3A4gCIAAgAykDmAI3AzAMCwsgAigCFCEEQdSJC0EANgIAQaIBIANBsAFqIAEgBBAIQdSJCygCACEEQdSJC0EANgIAAkACQCAEQQFHBEAgAygC4AFFDQEgACADKAKwATYCAEHUiQtBADYCAEHAACAAQQhqIANBuAFqEAIaQdSJCygCACG5AUHUiQtBADYCACC5AUEBRg0CIAAgAygC0AE2AiAgACADKALUATYCJCAAIAMoAtgBNgIoIANBADYC2AEgA0IANwPQASAAIAMpA+ABNwMwDAwLEAAhBAxoCyACKAIYIQRB1IkLQQA2AgBBogEgA0H4AGogASAEEAhB1IkLKAIAIQRB1IkLQQA2AgACQAJAIARBAUcEQCADKAKoAUUNASAAIAMoAng2AgBB1IkLQQA2AgBBwAAgAEEIaiADQYABahACGkHUiQsoAgAhugFB1IkLQQA2AgAgugFBAUYNAiAAIAMoApgBNgIgIAAgAygCnAE2AiQgACADKAKgATYCKCADQQA2AqABIANCADcDmAEgACADKQOoATcDMAwMCxAAIQQMCQsgAigCHCEEQdSJC0EANgIAQYgMIAQQBiEJQdSJCygCACEEQdSJC0EANgIAAkACQAJAAkACQCAEQQFHBEAgAikDICHUDEHUiQtBADYCAEGEDCADQewAaiABINQMEO0CQdSJCygCACG7AUHUiQtBADYCACC7AUEBRg0BAkACQCADKAJsIgQoAlgiBUUNACAEKAJUAn8gAykCcCLYDKciByAFQQFrcSAFaSIIQQFNDQAaIAcgBSAHSw0AGiAHIAVwCyIKQQJ0aigCACIGRQ0AIAYoAgAiBkUNACAIQQFNBEAgBUEBayEFA0ACQCAHIAYoAgQiCEcEQCAFIAhxIApGDQEMBAsgBigCCCAHRg0ECyAGKAIAIgYNAAsMAQsDQAJAIAcgBigCBCIIRwRAIAUgCE0EfyAIIAVwBSAICyAKRg0BDAMLIAYoAgggB0YNAwsgBigCACIGDQALCyAEKAKIAyIAKAIAKAIgIbwBQdSJC0EANgIAILwBIABBgRUQA0HUiQsoAgAhvQFB1IkLQQA2AgAgvQFBAUYNAwwQCyADKALoASADKAKMAiADKAKIAmtBGG1qQQFHBEBB1IkLQQA2AgBBDUGHwQVB0JUDQccAQZjXAxAFQdSJCygCACG+AUHUiQtBADYCACC+AUEBRw0QDA0LIAYpAxAh1QxB1IkLQQA2AgBBwAAgA0HQAGogA0HwAWoQAiEFQdSJCygCACG/AUHUiQtBADYCACC/AUEBRg0MAn4CQAJAAkAgBSgCEEECaw4CAAIBCyAFNAIADAILQdSJC0EANgIAQQ1B7aYFQeaaA0GhAkGJpAUQBUHUiQsoAgAhwAFB1IkLQQA2AgAgwAFBAUcNEQwNCyAFKQMACyHWDCACKQMIIdQMQdSJC0EANgIAQYUMIAQg1Awg1QxCEIYi1AxBhRYQ1QJB1IkLKAIAIcEBQdSJC0EANgIAIMEBQQFGDQsgAikDCCHXDEHUiQtBADYCAEGFDCAEINYMINQMINcMfUGkFhDVAkHUiQsoAgAhwgFB1IkLQQA2AgAgwgFBAUYNCyACKQMIIdcMQdSJC0EANgIAQYUMIAQgCa0i2Qwg1AxBlRYQ1QJB1IkLKAIAIcMBQdSJC0EANgIAIMMBQQFGDQtB1IkLQQA2AgBBhQwgBCDWDCDXDHwi1gwg1Awg2Qx9QfQVENUCQdSJCygCACHEAUHUiQtBADYCACDEAUEBRg0LIAUQWRogAigCHCEFQdSJC0EANgIAIANBOGogBCDWDCAJIAUg2Awg1QwQigxB1IkLKAIAIcUBQdSJC0EANgIAIMUBQQFGDQMgAygCsAEgAygC1AEgAygC0AFrQRhtakEBRwRAQdSJC0EANgIAQQ1Bh8EFQdCVA0HHAEGY1wMQBUHUiQsoAgAhxgFB1IkLQQA2AgAgxgFBAUcNEAwKC0HUiQtBADYCAEGvBSADQThqIANBuAFqEAIhyAFB1IkLKAIAIccBQdSJC0EANgIAIMcBQQFGDQkgyAENBCADQQI2AjBB1IkLQQA2AgAgA0EBNgIgQZwDIAAgA0EgaiIGEAIaQdSJCygCACHJAUHUiQtBADYCACDJAUEBRw0FEAAhBCAGEFkaDAoLEAAhBAwMCxAAIQQMCwsQACEEDAoLEAAhBAwJCyADQQI2AhggA0EANgIIQdSJC0EANgIAQZwDIAAgA0EIaiIGEAIaQdSJCygCACHKAUHUiQtBADYCACDKAUEBRw0AEAAhBCAGEFkaDAULIAYQWRogA0E4ahBZGiADKAKYASIFRQ0KIAMoApwBIgYgBSIERwRAA0AgBkEYaxBZIgYgBUcNAAsgAygCmAEhBAsgAyAFNgKcASAEEFoMCgsQACEEDAYLEAAhBAwGCxAAIQQMZQsQACEECyADQThqEFkaDAILEAAhBCAFEFkaDAELEAAhBAsgA0H4AGoQaAsgA0GwAWoQaAxfCwALIANBgAFqEFkaIAMoAtABIgVFDQAgAygC1AEiBiAFIgRHBEADQCAGQRhrEFkiBiAFRw0ACyADKALQASEECyADIAU2AtQBIAQQWgsgA0G4AWoQWRogAygCiAIiBUUNACADKAKMAiIGIAUiBEcEQANAIAZBGGsQWSIGIAVHDQALIAMoAogCIQQLIAMgBTYCjAIgBBBaCyADQfABahBZGiADQaACaiQADE0LIwBBsAFrIgMkACADQfgAaiABIAIoAhAQrwICQAJAAkACQAJAAkACQCADKAKoAQRAIAAgAygCeDYCAEHUiQtBADYCAEHAACAAQQhqIANBgAFqEAIaQdSJCygCACHLAUHUiQtBADYCACDLAUEBRg0BIAAgAygCmAE2AiAgACADKAKcATYCJCAAIAMoAqABNgIoIANBADYCoAEgA0IANwOYASAAIAMpA6gBNwMwDAcLIAIoAhQhBEHUiQtBADYCAEGiASADQUBrIAEgBBAIQdSJCygCACEEQdSJC0EANgIAAkACQCAEQQFHBEAgAygCcEUNASAAIAMoAkA2AgBB1IkLQQA2AgBBwAAgAEEIaiADQcgAahACGkHUiQsoAgAhzAFB1IkLQQA2AgAgzAFBAUYNAiAAIAMoAmA2AiAgACADKAJkNgIkIAAgAygCaDYCKCADQQA2AmggA0IANwNgIAAgAykDcDcDMAwICxAAIQAMZQsgAikDGCHUDEHUiQtBADYCAEGEDCADQTRqIAEg1AwQ7QJB1IkLKAIAIQRB1IkLQQA2AgACQAJAIARBAUcEQAJAAkAgAygCNCIEKAJYIgVFDQAgBCgCVAJ/IAMoAjgiByAFQQFrcSAFaSIIQQFNDQAaIAcgBSAHSw0AGiAHIAVwCyIJQQJ0aigCACIGRQ0AIAYoAgAiBkUNACAIQQFNBEAgBUEBayEFA0ACQCAHIAYoAgQiCEcEQCAFIAhxIAlGDQEMBAsgBigCCCAHRg0ECyAGKAIAIgYNAAsMAQsDQAJAIAcgBigCBCIIRwRAIAUgCE0EfyAIIAVwBSAICyAJRg0BDAMLIAYoAgggB0YNAwsgBigCACIGDQALCyAEKAKIAyIAKAIAKAIgIc0BQdSJC0EANgIAIM0BIABBgRUQA0HUiQsoAgAhzgFB1IkLQQA2AgAgzgFBAUYNAgwJCyADKAJ4IAMoApwBIAMoApgBa0EYbWpBAUcEQEHUiQtBADYCAEENQYfBBUHQlQNBxwBBmNcDEAVB1IkLKAIAIc8BQdSJC0EANgIAIM8BQQFHDQkMBwsgBikDECHUDEHUiQtBADYCAEHAACADQRhqIANBgAFqEAIhBUHUiQsoAgAh0AFB1IkLQQA2AgAg0AFBAUYNBgJ+AkACQAJAIAUoAhBBAmsOAgACAQsgBTQCAAwCC0HUiQtBADYCAEENQe2mBUHmmgNBoQJBiaQFEAVB1IkLKAIAIdEBQdSJC0EANgIAINEBQQFHDQoMBwsgBSkDAAsh1QwgAikDCCHWDEHUiQtBADYCAEGFDCAEINYMINQMQhCGItQMQYUWENUCQdSJCygCACHSAUHUiQtBADYCACDSAUEBRg0FIAIpAwgh1gxB1IkLQQA2AgBBhQwgBCDVDCDUDCDWDH1BpBYQ1QJB1IkLKAIAIdMBQdSJC0EANgIAINMBQQFGDQUgAikDCCHWDEHUiQtBADYCAEGFDCAEQgQg1AxBlRYQ1QJB1IkLKAIAIdQBQdSJC0EANgIAINQBQQFGDQVB1IkLQQA2AgBBhQwgBCDVDCDWDHwi1Qwg1AxCBH0i1AxB9BUQ1QJB1IkLKAIAIdUBQdSJC0EANgIAINUBQQFGDQUgBRBZGkHUiQtBADYCAEGFDCAEINUMINQMQfQVENUCQdSJCygCACHWAUHUiQtBADYCACDWAUEBRg0GINUMQgODQgBSBEAgBCgCiAMiBCgCACgCICHXAUHUiQtBADYCACDXASAEQczXAhADQdSJCygCACHYAUHUiQtBADYCACDYAUEBRg0HCyADQQI2AhAgA0EANgIAQdSJC0EANgIAQZwDIAAgAxACGkHUiQsoAgAh2QFB1IkLQQA2AgAg2QFBAUcNAhAAIQAgAxBZGgwHCxAAIQAMBgsQACEADAULIAMQWRogAygCYCIFRQ0GIAMoAmQiBiAFIgRHBEADQCAGQRhrEFkiBiAFRw0ACyADKAJgIQQLIAMgBTYCZCAEEFoMBgsQACEADAMLEAAhAAxiCxAAIQAgBRBZGgwBCxAAIQALIANBQGsQaAxfCwALIANByABqEFkaIAMoApgBIgVFDQAgAygCnAEiBiAFIgRHBEADQCAGQRhrEFkiBiAFRw0ACyADKAKYASEECyADIAU2ApwBIAQQWgsgA0GAAWoQWRogA0GwAWokAAxMCyAAQgA3AwAgAEIANwMwIABCADcDKCAAQgA3AyAgAEIANwMYIABCADcDECAAQgA3AwgMSwsjAEGQAmsiBSQAIAVB2AFqIAEgAigCDBCvAgJAAkACQAJAAkAgBSgCiAIEQCAAIAUoAtgBNgIAQdSJC0EANgIAQcAAIABBCGogBUHgAWoQAhpB1IkLKAIAIdoBQdSJC0EANgIAINoBQQFGDQIgACAFKAL4ATYCICAAIAUoAvwBNgIkIAAgBSgCgAI2AiggBUEANgKAAiAFQgA3A/gBIAAgBSkDiAI3AzAMAQsCQAJAAkACQAJAAkACQAJAAkACQAJAAkAgBSgC2AEgBSgC/AEgBSgC+AFrQRhtakEBRwRAQdSJC0EANgIAQQ1Bh8EFQdCVA0HHAEGY1wMQBUHUiQsoAgAh2wFB1IkLQQA2AgAg2wFBAUYNAQwQC0HUiQtBADYCAEHAACAFQcABaiAFQeABahACIQZB1IkLKAIAIdwBQdSJC0EANgIAINwBQQFGDQAgAigCCA4IAQIDBAUGBwgJCxAAIQQMDQsgAi0AECEEQdSJC0EANgIAQZsDIAVBqAFqIgMgBiAEEAhB1IkLKAIAId0BQdSJC0EANgIAIN0BQQFGDQhB1IkLQQA2AgBBnAMgACADEAIaQdSJCygCACHeAUHUiQtBADYCACADIQQg3gFBAUcNCRAAIQQgAxBZGiAGEFkaDAwLIAItABAhBEHUiQtBADYCAEGdAyAFQZABaiIDIAYgBBAIQdSJCygCACHfAUHUiQtBADYCACDfAUEBRg0HQdSJC0EANgIAQZwDIAAgAxACGkHUiQsoAgAh4AFB1IkLQQA2AgAgAyEEIOABQQFHDQgQACEEIAMQWRogBhBZGgwLCyACLQAQIQRB1IkLQQA2AgBBngMgBUH4AGoiAyAGIAQQCEHUiQsoAgAh4QFB1IkLQQA2AgAg4QFBAUYNBkHUiQtBADYCAEGcAyAAIAMQAhpB1IkLKAIAIeIBQdSJC0EANgIAIAMhBCDiAUEBRw0HEAAhBCADEFkaIAYQWRoMCgsgAi0AECEEQdSJC0EANgIAQZ8DIAVB4ABqIgMgBiAEEAhB1IkLKAIAIeMBQdSJC0EANgIAIOMBQQFGDQVB1IkLQQA2AgBBnAMgACADEAIaQdSJCygCACHkAUHUiQtBADYCACADIQQg5AFBAUcNBhAAIQQgAxBZGiAGEFkaDAkLIAItABAhBEHUiQtBADYCAEGgAyAFQcgAaiIDIAYgBBAIQdSJCygCACHlAUHUiQtBADYCACDlAUEBRg0EQdSJC0EANgIAQZwDIAAgAxACGkHUiQsoAgAh5gFB1IkLQQA2AgAgAyEEIOYBQQFHDQUQACEEIAMQWRogBhBZGgwICyACLQAQIQRB1IkLQQA2AgBBoQMgBUEwaiIDIAYgBBAIQdSJCygCACHnAUHUiQtBADYCACDnAUEBRg0DQdSJC0EANgIAQZwDIAAgAxACGkHUiQsoAgAh6AFB1IkLQQA2AgAgAyEEIOgBQQFHDQQQACEEIAMQWRogBhBZGgwHCyACLQAQIQRB1IkLQQA2AgBBogMgBUEYaiIDIAYgBBAIQdSJCygCACHpAUHUiQtBADYCACDpAUEBRg0CQdSJC0EANgIAQZwDIAAgAxACGkHUiQsoAgAh6gFB1IkLQQA2AgAgAyEEIOoBQQFHDQMQACEEIAMQWRogBhBZGgwGCyACLQAQIQRB1IkLQQA2AgBBowMgBSAGIAQQCEHUiQsoAgAh6wFB1IkLQQA2AgAg6wFBAUYNAUHUiQtBADYCAEGcAyAAIAUQAhpB1IkLKAIAIewBQdSJC0EANgIAIAUhBCDsAUEBRw0CEAAhBCAFEFkaIAYQWRoMBQtB1IkLQQA2AgBBFEH/vAJB0JUDQbAIEAhB1IkLKAIAIe0BQdSJC0EANgIAIO0BQQFHDQULEAAhBCAGEFkaDAMLIAQQWRogBhBZGiAFKAL4ASIDRQ0AIAUoAvwBIgQgAyIGRwRAA0AgBEEYaxBZIgQgA0cNAAsgBSgC+AEhBgsgBSADNgL8ASAGEFoLIAVB4AFqEFkaIAVBkAJqJAAMAwsQACEECyAFQdgBahBoDFsLAAsMSgsjAEGgAmsiAyQAIANB6AFqIAEgAigCDBCvAgJAAkACQAJAAkAgAygCmAIEQCAAIAMoAugBNgIAQdSJC0EANgIAQcAAIABBCGogA0HwAWoQAhpB1IkLKAIAIe4BQdSJC0EANgIAIO4BQQFGDQIgACADKAKIAjYCICAAIAMoAowCNgIkIAAgAygCkAI2AiggA0EANgKQAiADQgA3A4gCIAAgAykDmAI3AzAMAQsCQAJAAkACQAJAAkAgAygC6AEgAygCjAIgAygCiAJrQRhtakEBRwRAQdSJC0EANgIAQQ1Bh8EFQdCVA0HHAEGY1wMQBUHUiQsoAgAh7wFB1IkLQQA2AgAg7wFBAUYNAQwKC0HUiQtBADYCAEHAACADQdABaiADQfABaiIEEAIhBkHUiQsoAgAh8AFB1IkLQQA2AgAg8AFBAUYNACACKAIUIQVB1IkLQQA2AgBBogEgA0GYAWogASAFEAhB1IkLKAIAIfEBQdSJC0EANgIAIPEBQQFGDQEgAyADKAKYATYC6AEgBBBZIQRB1IkLQQA2AgBBwAAgBCADQaABaiIJEAIhCEHUiQsoAgAh8gFB1IkLQQA2AgAg8gFBAUYNAiADKAKIAiIEBEAgAygCjAIiByAEIgVHBEADQCAHQRhrEFkiByAERw0ACyADKAKIAiEFCyADIAQ2AowCIAUQWgsgAykCvAEh1AwgA0EANgLAASADIAMoArgBNgKIAiADIAMpA8gBNwOYAiADINQMNwKMAiADQgA3A7gBIAkQWRogAygCmAJFDQQgACADKALoATYCAEHUiQtBADYCAEHAACAAQQhqIAgQAhpB1IkLKAIAIfMBQdSJC0EANgIAIPMBQQFGDQMgACADKAKIAjYCICAAIAMoAowCNgIkIAAgAygCkAI2AiggA0EANgKQAiADQgA3A4gCIAAgAykDmAI3AzAMBQsQACEEDGELEAAhBCAGEFkaDGALEAAhBCADQZgBahBoIAYQWRoMXwsQACEEIAYQWRoMXgsgAygC6AEgAygCjAIgAygCiAJrQRhtakEBRwRAQdSJC0EANgIAQQ1Bh8EFQdCVA0HHAEGY1wMQBUHUiQsoAgAh9AFB1IkLQQA2AgAg9AFBAUcNBQwEC0HUiQtBADYCAEHAACADQZgBaiAIEAIhB0HUiQsoAgAh9QFB1IkLQQA2AgAg9QFBAUYNAwJAAkACQAJAAkACQAJAAkACQAJAIAIoAggOBgABAgMEBQYLIAItABAhBEHUiQtBADYCAEGkAyADQYABaiIFIAYgByAEEAVB1IkLKAIAIfYBQdSJC0EANgIAIPYBQQFGDQZB1IkLQQA2AgBBnAMgACAFEAIaQdSJCygCACH3AUHUiQtBADYCACAFIQQg9wFBAUcNCBAAIQQgBRBZGgwHCyACLQAQIQRB1IkLQQA2AgBBpQMgA0HoAGoiBSAGIAcgBBAFQdSJCygCACH4AUHUiQtBADYCACD4AUEBRg0FQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAh+QFB1IkLQQA2AgAgBSEEIPkBQQFHDQcQACEEIAUQWRoMBgsgAi0AECEEQdSJC0EANgIAQaYDIANB0ABqIgUgBiAHIAQQBUHUiQsoAgAh+gFB1IkLQQA2AgAg+gFBAUYNBEHUiQtBADYCAEGcAyAAIAUQAhpB1IkLKAIAIfsBQdSJC0EANgIAIAUhBCD7AUEBRw0GEAAhBCAFEFkaDAULIAItABAhBEHUiQtBADYCAEGnAyADQThqIgUgBiAHIAQQBUHUiQsoAgAh/AFB1IkLQQA2AgAg/AFBAUYNA0HUiQtBADYCAEGcAyAAIAUQAhpB1IkLKAIAIf0BQdSJC0EANgIAIAUhBCD9AUEBRw0FEAAhBCAFEFkaDAQLIAItABAhBEHUiQtBADYCAEGoAyADQSBqIgUgBiAHIAQQBUHUiQsoAgAh/gFB1IkLQQA2AgAg/gFBAUYNAkHUiQtBADYCAEGcAyAAIAUQAhpB1IkLKAIAIf8BQdSJC0EANgIAIAUhBCD/AUEBRw0EEAAhBCAFEFkaDAMLIAItABAhBEHUiQtBADYCAEGpAyADQQhqIgUgBiAHIAQQBUHUiQsoAgAhgAJB1IkLQQA2AgAggAJBAUYNAUHUiQtBADYCAEGcAyAAIAUQAhpB1IkLKAIAIYECQdSJC0EANgIAIAUhBCCBAkEBRw0DEAAhBCAFEFkaDAILQdSJC0EANgIAQRRB/7wCQdCVA0HMCBAIQdSJCygCACGCAkHUiQtBADYCACCCAkEBRw0HCxAAIQQLIAcQWRogBhBZGgxeCyAEEFkaIAcQWRoLIAYQWRogAygCiAIiBEUNACADKAKMAiIHIAQiBUcEQANAIAdBGGsQWSIHIARHDQALIAMoAogCIQULIAMgBDYCjAIgBRBaCyADQfABahBZGiADQaACaiQADAMLEAAhBAxaCxAAIQQgBhBZGgxZCwALDEkLIwBBoAFrIgMkACADQegAaiABIAIoAggQrwICQAJAAkACQAJAIAMoApgBBEAgACADKAJoNgIAQdSJC0EANgIAQcAAIABBCGogA0HwAGoQAhpB1IkLKAIAIYMCQdSJC0EANgIAIIMCQQFGDQEgACADKAKIATYCICAAIAMoAowBNgIkIAAgAygCkAE2AiggA0EANgKQASADQgA3A4gBIAAgAykDmAE3AzAMBQsCQAJAAkACQAJAIAMoAmggAygCjAEgAygCiAFrQRhtakEBRwRAQdSJC0EANgIAQQ1Bh8EFQdCVA0HHAEGY1wMQBUHUiQsoAgAhhAJB1IkLQQA2AgAghAJBAUYNAQwJC0HUiQtBADYCAEHAACADQdAAaiADQfAAaiIEEAIhBkHUiQsoAgAhhQJB1IkLQQA2AgAghQJBAUYNACACKAIMIQVB1IkLQQA2AgBBogEgA0EYaiABIAUQCEHUiQsoAgAhhgJB1IkLQQA2AgAghgJBAUYNASADIAMoAhg2AmggBBBZIQRB1IkLQQA2AgBBwAAgBCADQSBqIgkQAiEIQdSJCygCACGHAkHUiQtBADYCACCHAkEBRg0CIAMoAogBIgQEQCADKAKMASIHIAQiBUcEQANAIAdBGGsQWSIHIARHDQALIAMoAogBIQULIAMgBDYCjAEgBRBaCyADKQI8IdQMIANBQGtBADYCACADIAMoAjg2AogBIAMgAykDSDcDmAEgAyDUDDcCjAEgA0IANwM4IAkQWRogAygCmAFFDQQgACADKAJoNgIAQdSJC0EANgIAQcAAIABBCGogCBACGkHUiQsoAgAhiAJB1IkLQQA2AgAgiAJBAUYNAyAAIAMoAogBNgIgIAAgAygCjAE2AiQgACADKAKQATYCKCADQQA2ApABIANCADcDiAEgACADKQOYATcDMAwHCxAAIQAMYgsQACEAIAYQWRoMYQsQACEAIANBGGoQaCAGEFkaDGALEAAhACAGEFkaDF8LIAMoAmggAygCjAEgAygCiAFrQRhtakEBRwRAQdSJC0EANgIAQQ1Bh8EFQdCVA0HHAEGY1wMQBUHUiQsoAgAhiQJB1IkLQQA2AgAgiQJBAUcNBAwCC0HUiQtBADYCAEHAACADQRhqIAgQAiEEQdSJCygCACGKAkHUiQtBADYCACCKAkEBRg0BQdSJC0EANgIAQaoDIAMgBiAEIAJBEGoQBUHUiQsoAgAhBUHUiQtBADYCAAJAAkAgBUEBRwRAQdSJC0EANgIAQZwDIAAgAxACGkHUiQsoAgAhiwJB1IkLQQA2AgAgiwJBAUYNASADEFkaIAQQWRoMBQsQACEADAELEAAhACADEFkaCyAEEFkaIAYQWRoMXgsQACEADF0LEAAhACAGEFkaDFwLIAYQWRogAygCiAEiBEUNASADKAKMASIHIAQiBUcEQANAIAdBGGsQWSIHIARHDQALIAMoAogBIQULIAMgBDYCjAEgBRBaDAELAAsgA0HwAGoQWRogA0GgAWokAAxICyMAQaACayIDJAAgA0HoAWogASACKAIMEK8CAkACQAJAAkACQAJAAkAgAygCmAIEQCAAIAMoAugBNgIAQdSJC0EANgIAQcAAIABBCGogA0HwAWoQAhpB1IkLKAIAIYwCQdSJC0EANgIAIIwCQQFGDQEgACADKAKIAjYCICAAIAMoAowCNgIkIAAgAygCkAI2AiggA0EANgKQAiADQgA3A4gCIAAgAykDmAI3AzAMBwsCQAJAAkACQAJAIAMoAugBIAMoAowCIAMoAogCa0EYbWpBAUcEQEHUiQtBADYCAEENQYfBBUHQlQNBxwBBmNcDEAVB1IkLKAIAIY0CQdSJC0EANgIAII0CQQFGDQEMCwtB1IkLQQA2AgBBwAAgA0HQAWogA0HwAWoiBBACIQdB1IkLKAIAIY4CQdSJC0EANgIAII4CQQFGDQAgAigCECEFQdSJC0EANgIAQaIBIANBmAFqIAEgBRAIQdSJCygCACGPAkHUiQtBADYCACCPAkEBRg0BIAMgAygCmAE2AugBIAQQWSEEQdSJC0EANgIAQcAAIAQgA0GgAWoiCBACIQlB1IkLKAIAIZACQdSJC0EANgIAIJACQQFGDQIgAygCiAIiBQRAIAMoAowCIgYgBSIERwRAA0AgBkEYaxBZIgYgBUcNAAsgAygCiAIhBAsgAyAFNgKMAiAEEFoLIAMpArwBIdQMIANBADYCwAEgAyADKAK4ATYCiAIgAyADKQPIATcDmAIgAyDUDDcCjAIgA0IANwO4ASAIEFkaIAMoApgCRQ0EIAAgAygC6AE2AgBB1IkLQQA2AgBBwAAgAEEIaiAJEAIaQdSJCygCACGRAkHUiQtBADYCACCRAkEBRg0DIAAgAygCiAI2AiAgACADKAKMAjYCJCAAIAMoApACNgIoIANBADYCkAIgA0IANwOIAiAAIAMpA5gCNwMwDAkLEAAhBAxgCxAAIQQgBxBZGgxfCxAAIQQgA0GYAWoQaCAHEFkaDF4LEAAhBCAHEFkaDF0LIAMoAugBIAMoAowCIAMoAogCa0EYbWpBAUcEQEHUiQtBADYCAEENQYfBBUHQlQNBxwBBmNcDEAVB1IkLKAIAIZICQdSJC0EANgIAIJICQQFHDQYMBAtB1IkLQQA2AgBBwAAgA0GAAWogCRACIQhB1IkLKAIAIZMCQdSJC0EANgIAIJMCQQFGDQMgAigCFCEEQdSJC0EANgIAQaIBIANBmAFqIAEgBBAIQdSJCygCACGUAkHUiQtBADYCACCUAkEBRwRAIAMgAygCmAE2AugBIAkQWSEEQdSJC0EANgIAQcAAIAQgA0GgAWoiChACIQlB1IkLKAIAIQRB1IkLQQA2AgACQAJAIARBAUcEQCADKAKIAiIFBEAgAygCjAIiBiAFIgRHBEADQCAGQRhrEFkiBiAFRw0ACyADKAKIAiEECyADIAU2AowCIAQQWgsgAykCvAEh1AwgA0EANgLAASADIAMoArgBNgKIAiADIAMpA8gBNwOYAiADINQMNwKMAiADQgA3A7gBIAoQWRogAygCmAJFDQIgACADKALoATYCAEHUiQtBADYCAEHAACAAQQhqIAkQAhpB1IkLKAIAIZUCQdSJC0EANgIAIJUCQQFGDQEgACADKAKIAjYCICAAIAMoAowCNgIkIAAgAygCkAI2AiggA0EANgKQAiADQgA3A4gCIAAgAykDmAI3AzAgCBBZGgwICxAAIQQgA0GYAWoQaAwFCxAAIQQMBAsgAygC6AEgAygCjAIgAygCiAJrQRhtakEBRwRAQdSJC0EANgIAQQ1Bh8EFQdCVA0HHAEGY1wMQBUHUiQsoAgAhlgJB1IkLQQA2AgAglgJBAUcNBwwDC0HUiQtBADYCAEHAACADQZgBaiAJEAIhBkHUiQsoAgAhlwJB1IkLQQA2AgAglwJBAUYNAgJAAkACQAJAAkACQAJAAkAgAigCCA4JAAECAwQAAAAABQtB1IkLQQA2AgBBqwMgA0HoAGoiBSAGIAcgCBAFQdSJCygCACGYAkHUiQtBADYCACCYAkEBRg0FQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAhmQJB1IkLQQA2AgAgBSEEIJkCQQFHDQYQACEEIAUQWRogBhBZGgwKC0HUiQtBADYCAEGsAyADQdAAaiIFIAcgCCAGEAVB1IkLKAIAIZoCQdSJC0EANgIAIJoCQQFGDQRB1IkLQQA2AgBBnAMgACAFEAIaQdSJCygCACGbAkHUiQtBADYCACAFIQQgmwJBAUcNBRAAIQQgBRBZGiAGEFkaDAkLQdSJC0EANgIAQa0DIANBOGoiBSAHIAggBhAFQdSJCygCACGcAkHUiQtBADYCACCcAkEBRg0DQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAhnQJB1IkLQQA2AgAgBSEEIJ0CQQFHDQQQACEEIAUQWRogBhBZGgwIC0HUiQtBADYCAEGuAyADQSBqIgUgByAIIAYQBUHUiQsoAgAhngJB1IkLQQA2AgAgngJBAUYNAkHUiQtBADYCAEGcAyAAIAUQAhpB1IkLKAIAIZ8CQdSJC0EANgIAIAUhBCCfAkEBRw0DEAAhBCAFEFkaIAYQWRoMBwtB1IkLQQA2AgBBrwMgA0EIaiIFIAcgCCAGEAVB1IkLKAIAIaACQdSJC0EANgIAIKACQQFGDQFB1IkLQQA2AgBBnAMgACAFEAIaQdSJCygCACGhAkHUiQtBADYCACAFIQQgoQJBAUcNAhAAIQQgBRBZGiAGEFkaDAYLQdSJC0EANgIAQRRB3dgEQdCVA0H/CBAIQdSJCygCACGiAkHUiQtBADYCACCiAkEBRw0ICxAAIQQgBhBZGgwECyAEEFkaIAYQWRogCBBZGgwFCxAAIQQMAgsQACEEDFsLEAAhBAsgCBBZGiAHEFkaDFkLEAAhBCAHEFkaDFgLIAcQWRogAygCiAIiBEUNASADKAKMAiIGIAQiBUcEQANAIAZBGGsQWSIGIARHDQALIAMoAogCIQULIAMgBDYCjAIgBRBaDAELAAsgA0HwAWoQWRogA0GgAmokAAxHCyMAQbADayIDJAAgA0H4AmogASACKAIMEK8CAkACQAJAAkACQAJAIAMoAqgDBEAgACADKAL4AjYCAEHUiQtBADYCAEHAACAAQQhqIANBgANqEAIaQdSJCygCACGjAkHUiQtBADYCACCjAkEBRg0CIAAgAygCmAM2AiAgACADKAKcAzYCJCAAIAMoAqADNgIoIANBADYCoAMgA0IANwOYAyAAIAMpA6gDNwMwDAELAkACQAJAAkACQAJAIAMoAvgCIAMoApwDIAMoApgDa0EYbWpBAUcEQEHUiQtBADYCAEENQYfBBUHQlQNBxwBBmNcDEAVB1IkLKAIAIaQCQdSJC0EANgIAIKQCQQFGDQEMCwtB1IkLQQA2AgBBwAAgA0HgAmogA0GAA2oiBBACIQZB1IkLKAIAIaUCQdSJC0EANgIAIKUCQQFGDQAgAigCECEFQdSJC0EANgIAQaIBIANBqAJqIAEgBRAIQdSJCygCACGmAkHUiQtBADYCACCmAkEBRg0BIAMgAygCqAI2AvgCIAQQWSEEQdSJC0EANgIAQcAAIAQgA0GwAmoiCRACIQhB1IkLKAIAIacCQdSJC0EANgIAIKcCQQFGDQIgAygCmAMiBARAIAMoApwDIgcgBCIFRwRAA0AgB0EYaxBZIgcgBEcNAAsgAygCmAMhBQsgAyAENgKcAyAFEFoLIAMpAswCIdQMIANBADYC0AIgAyADKALIAjYCmAMgAyADKQPYAjcDqAMgAyDUDDcCnAMgA0IANwPIAiAJEFkaIAMoAqgDRQ0EIAAgAygC+AI2AgBB1IkLQQA2AgBBwAAgAEEIaiAIEAIaQdSJCygCACGoAkHUiQtBADYCACCoAkEBRg0DIAAgAygCmAM2AiAgACADKAKcAzYCJCAAIAMoAqADNgIoIANBADYCoAMgA0IANwOYAyAAIAMpA6gDNwMwDAULEAAhBAwICxAAIQQgBhBZGgwHCxAAIQQgA0GoAmoQaCAGEFkaDAYLEAAhBCAGEFkaDAULIAMoAvgCIAMoApwDIAMoApgDa0EYbWpBAUcEQEHUiQtBADYCAEENQYfBBUHQlQNBxwBBmNcDEAVB1IkLKAIAIakCQdSJC0EANgIAIKkCQQFHDQYMBAtB1IkLQQA2AgBBwAAgA0GoAmogCBACIQdB1IkLKAIAIaoCQdSJC0EANgIAIKoCQQFGDQMCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCACKAIIDgwAAQIDBAUGBwgJCgsMC0HUiQtBADYCAEGwAyADQZACaiIFIAYgBxAIQdSJCygCACGrAkHUiQtBADYCACCrAkEBRg0MQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAhrAJB1IkLQQA2AgAgBSEEIKwCQQFHDQ4QACEEIAUQWRoMDQtB1IkLQQA2AgBBsQMgA0H4AWoiBSAGIAcQCEHUiQsoAgAhrQJB1IkLQQA2AgAgrQJBAUYNC0HUiQtBADYCAEGcAyAAIAUQAhpB1IkLKAIAIa4CQdSJC0EANgIAIAUhBCCuAkEBRw0NEAAhBCAFEFkaDAwLQdSJC0EANgIAQbIDIANB4AFqIgUgBiAHEAhB1IkLKAIAIa8CQdSJC0EANgIAIK8CQQFGDQpB1IkLQQA2AgBBnAMgACAFEAIaQdSJCygCACGwAkHUiQtBADYCACAFIQQgsAJBAUcNDBAAIQQgBRBZGgwLC0HUiQtBADYCAEGzAyADQcgBaiIFIAYgBxAIQdSJCygCACGxAkHUiQtBADYCACCxAkEBRg0JQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAhsgJB1IkLQQA2AgAgBSEEILICQQFHDQsQACEEIAUQWRoMCgtB1IkLQQA2AgBBtAMgA0GwAWoiBSAGIAcQCEHUiQsoAgAhswJB1IkLQQA2AgAgswJBAUYNCEHUiQtBADYCAEGcAyAAIAUQAhpB1IkLKAIAIbQCQdSJC0EANgIAIAUhBCC0AkEBRw0KEAAhBCAFEFkaDAkLQdSJC0EANgIAQbUDIANBmAFqIgUgBiAHEAhB1IkLKAIAIbUCQdSJC0EANgIAILUCQQFGDQdB1IkLQQA2AgBBnAMgACAFEAIaQdSJCygCACG2AkHUiQtBADYCACAFIQQgtgJBAUcNCRAAIQQgBRBZGgwIC0HUiQtBADYCAEG2AyADQYABaiIFIAYgBxAIQdSJCygCACG3AkHUiQtBADYCACC3AkEBRg0GQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAhuAJB1IkLQQA2AgAgBSEEILgCQQFHDQgQACEEIAUQWRoMBwtB1IkLQQA2AgBBtwMgA0HoAGoiBSAGIAcQCEHUiQsoAgAhuQJB1IkLQQA2AgAguQJBAUYNBUHUiQtBADYCAEGcAyAAIAUQAhpB1IkLKAIAIboCQdSJC0EANgIAIAUhBCC6AkEBRw0HEAAhBCAFEFkaDAYLQdSJC0EANgIAQbgDIANB0ABqIgUgBiAHEAhB1IkLKAIAIbsCQdSJC0EANgIAILsCQQFGDQRB1IkLQQA2AgBBnAMgACAFEAIaQdSJCygCACG8AkHUiQtBADYCACAFIQQgvAJBAUcNBhAAIQQgBRBZGgwFC0HUiQtBADYCAEG5AyADQThqIgUgBiAHEAhB1IkLKAIAIb0CQdSJC0EANgIAIL0CQQFGDQNB1IkLQQA2AgBBnAMgACAFEAIaQdSJCygCACG+AkHUiQtBADYCACAFIQQgvgJBAUcNBRAAIQQgBRBZGgwEC0HUiQtBADYCAEG6AyADQSBqIgUgBiAHEAhB1IkLKAIAIb8CQdSJC0EANgIAIL8CQQFGDQJB1IkLQQA2AgBBnAMgACAFEAIaQdSJCygCACHAAkHUiQtBADYCACAFIQQgwAJBAUcNBBAAIQQgBRBZGgwDC0HUiQtBADYCAEG7AyADQQhqIgUgBiAHEAhB1IkLKAIAIcECQdSJC0EANgIAIMECQQFGDQFB1IkLQQA2AgBBnAMgACAFEAIaQdSJCygCACHCAkHUiQtBADYCACAFIQQgwgJBAUcNAxAAIQQgBRBZGgwCC0HUiQtBADYCAEEUQf+8AkHQlQNBqAkQCEHUiQsoAgAhwwJB1IkLQQA2AgAgwwJBAUcNCAsQACEECyAHEFkaIAYQWRoMBQsgBBBZGiAHEFkaCyAGEFkaIAMoApgDIgRFDQAgAygCnAMiByAEIgVHBEADQCAHQRhrEFkiByAERw0ACyADKAKYAyEFCyADIAQ2ApwDIAUQWgsgA0GAA2oQWRogA0GwA2okAAwECxAAIQQMAQsQACEEIAYQWRoLIANB+AJqEGgMVwsACwxGCyMAQbAEayIDJAACQAJAAkACQAJAAkACQAJAIAIoAggiBUELTQRAAkBBASAFdCIEQfAHcUUEQCAEQQ9xRQ0BIANBDDYCGCACKQIkIdQMIANBADoAISADINQMNwNAIANBAjYCHCADIAVBAnRBiLAHaigCADoAICADIAIpAxA3AyggAikDGCHUDCADQQA6ADggAyDUDDcDMCADIAIoAiAiBjYCPEHUAyEEAkACQAJAAkACQCAFDgQEAwABAgtB1gMhBAwDCyADQQM2AhxB1wMhBAwCC0H/vAJB0JUDQZQaEGIAC0HVAyEECyAGKAIEQQFGBEAgA0EBNgIcCyADQdgBaiABIANBGGoQrwIgAygC2AEhBQJAAkAgAygCiAIEQCAAIAU2AgBB1IkLQQA2AgBBwAAgAEEIaiADQeABahACGkHUiQsoAgAhxAJB1IkLQQA2AgAgxAJBAUYNASAAIAMoAvgBNgIgIAAgAygC/AE2AiQgACADKAKAAjYCKCADQQA2AoACIANCADcD+AEgACADKQOIAjcDMAwMCyADKAL8ASADKAL4AWtBGG0gBWpBAUcEQEHUiQtBADYCAEENQYfBBUHQlQNBxwBBmNcDEAVB1IkLKAIAIcUCQdSJC0EANgIAIMUCQQFGDQEMCwtB1IkLQQA2AgAgBCADQZgDaiIEIANB4AFqEANB1IkLKAIAIcYCQdSJC0EANgIAIMYCQQFGDQBB1IkLQQA2AgBBnAMgACAEEAIaQdSJCygCACHHAkHUiQtBADYCACDHAkEBRgRAEAAhBiAEEFkaDAILIANBmANqEFkaIAMoAvgBIgVFDQsgAygC/AEiBiAFIgRHBEADQCAGQRhrEFkiBiAFRw0ACyADKAL4ASEECyADIAU2AvwBIAQQWgwLCxAAIQYLDFQLIANBmANqIAEgAigCIBCvAiADKAKYAyEEAkACQCADKALIAwRAIAAgBDYCAEHUiQtBADYCAEHAACAAQQhqIANBoANqEAIaQdSJCygCACHIAkHUiQtBADYCACDIAkEBRg0BIAAgAygCuAM2AiAgACADKAK8AzYCJCAAIAMoAsADNgIoIANBADYCwAMgA0IANwO4AyAAIAMpA8gDNwMwDAkLAkACfyADKAK8AyADKAK4A2tBGG0gBGpBAUcEQEGY1wMhBkHQlQMhBEGHwQUhBUHHAAwBCyADKAKwA0ECRg0BQaKuBSEGQeaaAyEEQZmxBSEFQZgCCyEAQdSJC0EANgIAQQ0gBSAEIAAgBhAFQdSJCygCACHJAkHUiQtBADYCACDJAkEBRw0KEAAhBQwCCyADKAKgAyEIIAIpAiQh1AxB1IkLQQA2AgBBhAwgA0H0A2ogASDUDBDtAkHUiQsoAgAhBEHUiQtBADYCAAJAAkACQAJAAkACQAJAAkACQCAEQQFHBEACQAJAIAMoAvQDIgcoAlgiCUUNACADKAL4AyEEAkAgCWkiCkEBTQRAIAlBAWsgBHEhBQwBCyAEIgUgCUkNACAEIAlwIQULIAcoAlQgBUECdGooAgAiBkUNACAGKAIAIgZFDQAgCkEBTQRAIAlBAWshCQNAAkAgBCAGKAIEIgpHBEAgCSAKcSAFRg0BDAQLIAYoAgggBEYNBAsgBigCACIGDQALDAELA0ACQCAEIAYoAgQiCkcEQCAJIApNBH8gCiAJcAUgCgsgBUYNAQwDCyAGKAIIIARGDQMLIAYoAgAiBg0ACwsgBygCiAMiACgCACgCICHKAkHUiQtBADYCACDKAiAAQYEVEANB1IkLKAIAIcsCQdSJC0EANgIAIMsCQQFHDRQQACEFDAwLIAIoAggiBEEJSw0JIAYpAxAh1AxBASAEdCIEQTBxDQEgBEHAAXENAiAEQYAGcUUNCSADQQA2AugBIANCADcD4AEgA0IANwP4ASADQQA2AoACIANCADcD2AEgA0IANwPwAUHUiQtBADYCAEHAACADQRhqIANB2AFqEAIhBEHUiQsoAgAhzAJB1IkLQQA2AgAgA0HwAWohBiDMAkEBRg0FQdSJC0EANgIAQcAAIARBGGogBhACIQpB1IkLKAIAIc0CQdSJC0EANgIAIM0CQQFHDQMQACEFIAQQWRoMCAsQACEFDAoLIANBADYC6AEgA0IANwPgASADQgA3A/gBIANBADYCgAIgA0IANwOQAiADQQA2ApgCIANCADcDqAIgA0EANgKwAiADQgA3A8ACIANBADYCyAIgA0IANwPYAiADQQA2AuACIANCADcD2AEgA0IANwPwASADQgA3A4gCIANCADcDoAIgA0IANwO4AiADQgA3A9ACIANBADYC+AIgA0IANwPwAiADQgA3A4gDIANBADYCkAMgA0IANwPoAiADQgA3A4ADQdSJC0EANgIAQcAAIANBGGogA0HYAWoQAiEEQdSJCygCACEFQdSJC0EANgIAAkACQAJAIAVBAUcEQEHUiQtBADYCAEHAACAEQRhqIgYgA0HwAWoiCxACIQxB1IkLKAIAIQVB1IkLQQA2AgACQAJAIAVBAUYNAEHUiQtBADYCAEHAACAEQTBqIgYgA0GIAmoiDhACIRBB1IkLKAIAIc4CQdSJC0EANgIAIM4CQQFGDQBB1IkLQQA2AgBBwAAgBEHIAGoiBiADQaACaiIREAIhEkHUiQsoAgAhzwJB1IkLQQA2AgAgzwJBAUYNAEHUiQtBADYCAEHAACAEQeAAaiIGIANBuAJqIhYQAiEPQdSJCygCACHQAkHUiQtBADYCACDQAkEBRg0AQdSJC0EANgIAQcAAIARB+ABqIgYgA0HQAmoiFxACIRRB1IkLKAIAIdECQdSJC0EANgIAINECQQFGDQBB1IkLQQA2AgBBwAAgBEGQAWoiBiADQegCaiIYEAIhFUHUiQsoAgAh0gJB1IkLQQA2AgAg0gJBAUYNAEHUiQtBADYCAEHAACAEQagBaiIGIANBgANqIhkQAiEaQdSJCygCACHTAkHUiQtBADYCACDTAkEBRw0BCxAAIQUDQCAGQRhrEFkiBiAERw0ACwwECyADQQI2ApAEIAMgCDYCgARB1IkLQQA2AgAgByACIANBgARqIgpBASDUDBDcAyHVDEHUiQsoAgAhBUHUiQtBADYCAAJAAkACQAJAIAVBAUYNACACKAIIIQVB1IkLQQA2AgBBigwgA0GYBGoiBiAFIANB9ANqIgUg1QwQqAJB1IkLKAIAIdQCQdSJC0EANgIAINQCQQFGDQAgBBBZIQlB1IkLQQA2AgBBwAAgCSAGEAIhCUHUiQsoAgAh1QJB1IkLQQA2AgAg1QJBAUYNASAGEFkhBiAKEFkiCiAIQQFqNgIAQdSJC0EANgIAIANBAjYCkAQgByACIApBASDUDBDcAyHVDEHUiQsoAgAh1gJB1IkLQQA2AgAg1gJBAUYNACACKAIIIQ1B1IkLQQA2AgBBigwgBiANIAUg1QwQqAJB1IkLKAIAIdcCQdSJC0EANgIAINcCQQFGDQAgDBBZIQxB1IkLQQA2AgBBwAAgDCAGEAIhDEHUiQsoAgAh2AJB1IkLQQA2AgAg2AJBAUYNASAGEFkhBiAKEFkiCiAIQQJqNgIAQdSJC0EANgIAIANBAjYCkAQgByACIApBASDUDBDcAyHVDEHUiQsoAgAh2QJB1IkLQQA2AgAg2QJBAUYNACACKAIIIQ1B1IkLQQA2AgBBigwgBiANIAUg1QwQqAJB1IkLKAIAIdoCQdSJC0EANgIAINoCQQFGDQAgEBBZIRBB1IkLQQA2AgBBwAAgECAGEAIhEEHUiQsoAgAh2wJB1IkLQQA2AgAg2wJBAUYNASAGEFkhBiAKEFkiCiAIQQNqNgIAQdSJC0EANgIAIANBAjYCkAQgByACIApBASDUDBDcAyHVDEHUiQsoAgAh3AJB1IkLQQA2AgAg3AJBAUYNACACKAIIIQ1B1IkLQQA2AgBBigwgBiANIAUg1QwQqAJB1IkLKAIAId0CQdSJC0EANgIAIN0CQQFGDQAgEhBZIRJB1IkLQQA2AgBBwAAgEiAGEAIhEkHUiQsoAgAh3gJB1IkLQQA2AgAg3gJBAUYNASAGEFkhBiAKEFkiCiAIQQRqNgIAQdSJC0EANgIAIANBAjYCkAQgByACIApBASDUDBDcAyHVDEHUiQsoAgAh3wJB1IkLQQA2AgAg3wJBAUYNACACKAIIIQ1B1IkLQQA2AgBBigwgBiANIAUg1QwQqAJB1IkLKAIAIeACQdSJC0EANgIAIOACQQFGDQAgDxBZIQ9B1IkLQQA2AgBBwAAgDyAGEAIhD0HUiQsoAgAh4QJB1IkLQQA2AgAg4QJBAUYNASAGEFkhBiAKEFkiCiAIQQVqNgIAQdSJC0EANgIAIANBAjYCkAQgByACIApBASDUDBDcAyHVDEHUiQsoAgAh4gJB1IkLQQA2AgAg4gJBAUYNACACKAIIIQ1B1IkLQQA2AgBBigwgBiANIAUg1QwQqAJB1IkLKAIAIeMCQdSJC0EANgIAIOMCQQFGDQAgFBBZIRRB1IkLQQA2AgBBwAAgFCAGEAIhFEHUiQsoAgAh5AJB1IkLQQA2AgAg5AJBAUYNASAGEFkhBiAKEFkiCiAIQQZqNgIAQdSJC0EANgIAIANBAjYCkAQgByACIApBASDUDBDcAyHVDEHUiQsoAgAh5QJB1IkLQQA2AgAg5QJBAUYNACACKAIIIQ1B1IkLQQA2AgBBigwgBiANIAUg1QwQqAJB1IkLKAIAIeYCQdSJC0EANgIAIOYCQQFGDQAgFRBZIRVB1IkLQQA2AgBBwAAgFSAGEAIhFUHUiQsoAgAh5wJB1IkLQQA2AgAg5wJBAUYNASAGEFkhBiAKEFkiCiAIQQdqNgIAQdSJC0EANgIAIANBAjYCkAQgByACIApBASDUDBDcAyHUDEHUiQsoAgAh6AJB1IkLQQA2AgAg6AJBAUYNACACKAIIIQdB1IkLQQA2AgBBigwgBiAHIAUg1AwQqAJB1IkLKAIAIekCQdSJC0EANgIAIOkCQQFGDQAgGhBZIQVB1IkLQQA2AgBBwAAgBSAGEAIhBUHUiQsoAgAh6gJB1IkLQQA2AgAg6gJBAUYNASAGEFkaIAoQWRpB1IkLQQA2AgBBxQUgA0HQA2ogCRACIQZB1IkLKAIAIesCQdSJC0EANgIAIOsCQQFHDQMQACEFDAYLEAAhBQwBCxAAIQUgA0GYBGoQWRoLIANBgARqEFkaDAMLQdSJC0EANgIAQZwDIAAgBhACGkHUiQsoAgAh7AJB1IkLQQA2AgAg7AJBAUYNASAGEFkaIAUQWRogFRBZGiAUEFkaIA8QWRogEhBZGiAQEFkaIAwQWRogCRBZGiAZEFkaIBgQWRogFxBZGiAWEFkaIBEQWRogDhBZGiALEFkaDAYLEAAhBQwCCxAAIQUgBhBZGgsgBBDwAQsgA0HYAWoQ8AEMCQsgA0EANgLoASADQgA3A+ABIANCADcD+AEgA0EANgKAAiADQgA3A5ACIANBADYCmAIgA0IANwOoAiADQQA2ArACIANCADcD2AEgA0IANwPwASADQgA3A4gCIANCADcDoAJB1IkLQQA2AgBBwAAgA0EYaiADQdgBahACIQRB1IkLKAIAIQVB1IkLQQA2AgACQAJAAkAgBUEBRwRAQdSJC0EANgIAQcAAIARBGGoiBiADQfABaiIMEAIhDkHUiQsoAgAhBUHUiQtBADYCAAJAAkAgBUEBRg0AQdSJC0EANgIAQcAAIARBMGoiBiADQYgCaiIQEAIhEUHUiQsoAgAh7QJB1IkLQQA2AgAg7QJBAUYNAEHUiQtBADYCAEHAACAEQcgAaiIGIANBoAJqIhIQAiEWQdSJCygCACHuAkHUiQtBADYCACDuAkEBRw0BCxAAIQUDQCAGQRhrEFkiBiAERw0ACwwECyADQQI2ApAEIAMgCDYCgARB1IkLQQA2AgAgByACIANBgARqIgtBAiDUDBDcAyHVDEHUiQsoAgAhBUHUiQtBADYCAAJAAkACQAJAIAVBAUYNACACKAIIIQZB1IkLQQA2AgBBigwgA0GYBGoiBSAGIANB9ANqIgYg1QwQqAJB1IkLKAIAIe8CQdSJC0EANgIAIO8CQQFGDQAgBBBZIQlB1IkLQQA2AgBBwAAgCSAFEAIhCkHUiQsoAgAh8AJB1IkLQQA2AgAg8AJBAUYNASAFEFkhCSALEFkiCyAIQQJqNgIAQdSJC0EANgIAIANBAjYCkAQgByACIAtBAiDUDBDcAyHVDEHUiQsoAgAh8QJB1IkLQQA2AgAg8QJBAUYNACACKAIIIQ9B1IkLQQA2AgBBigwgCSAPIAYg1QwQqAJB1IkLKAIAIfICQdSJC0EANgIAIPICQQFGDQAgDhBZIQ5B1IkLQQA2AgBBwAAgDiAJEAIhDkHUiQsoAgAh8wJB1IkLQQA2AgAg8wJBAUYNASAJEFkhCSALEFkiCyAIQQRqNgIAQdSJC0EANgIAIANBAjYCkAQgByACIAtBAiDUDBDcAyHVDEHUiQsoAgAh9AJB1IkLQQA2AgAg9AJBAUYNACACKAIIIQ9B1IkLQQA2AgBBigwgCSAPIAYg1QwQqAJB1IkLKAIAIfUCQdSJC0EANgIAIPUCQQFGDQAgERBZIRFB1IkLQQA2AgBBwAAgESAJEAIhEUHUiQsoAgAh9gJB1IkLQQA2AgAg9gJBAUYNASAJEFkhCSALEFkiCyAIQQZqNgIAQdSJC0EANgIAIANBAjYCkAQgByACIAtBAiDUDBDcAyHUDEHUiQsoAgAh9wJB1IkLQQA2AgAg9wJBAUYNACACKAIIIQdB1IkLQQA2AgBBigwgCSAHIAYg1AwQqAJB1IkLKAIAIfgCQdSJC0EANgIAIPgCQQFGDQAgFhBZIQZB1IkLQQA2AgBBwAAgBiAJEAIhB0HUiQsoAgAh+QJB1IkLQQA2AgAg+QJBAUYNASAJEFkaIAsQWRpB1IkLQQA2AgBBxgUgBSAKEAIhBkHUiQsoAgAh+gJB1IkLQQA2AgAg+gJBAUcNAxAAIQUMBgsQACEFDAELEAAhBSADQZgEahBZGgsgA0GABGoQWRoMAwtB1IkLQQA2AgBBnAMgACAGEAIaQdSJCygCACH7AkHUiQtBADYCACD7AkEBRg0BIAYQWRogBxBZGiAREFkaIA4QWRogChBZGiASEFkaIBAQWRogDBBZGgwFCxAAIQUMAgsQACEFIAYQWRoLIAQQmwYLIANB2AFqEJsGDAgLIANBAjYCkAQgAyAINgKABEHUiQtBADYCACAHIAIgA0GABGoiDEEEINQMENwDIdUMQdSJCygCACEFQdSJC0EANgIAAkACQAJAAkAgBUEBRg0AIAIoAgghCUHUiQtBADYCAEGKDCADQZgEaiIFIAkgA0H0A2oiDiDVDBCoAkHUiQsoAgAh/AJB1IkLQQA2AgAg/AJBAUYNACAEEFkhCUHUiQtBADYCAEHAACAJIAUQAiELQdSJCygCACH9AkHUiQtBADYCACD9AkEBRg0BIAUQWSEJIAwQWSIMIAhBBGo2AgBB1IkLQQA2AgAgA0ECNgKQBCAHIAIgDEEEINQMENwDIdQMQdSJCygCACH+AkHUiQtBADYCACD+AkEBRg0AIAIoAgghB0HUiQtBADYCAEGKDCAJIAcgDiDUDBCoAkHUiQsoAgAh/wJB1IkLQQA2AgAg/wJBAUYNACAKEFkhB0HUiQtBADYCAEHAACAHIAkQAiEIQdSJCygCACGAA0HUiQtBADYCACCAA0EBRg0BIAkQWRogDBBZGkHUiQtBADYCAEHHBSAFIAsQAiEHQdSJCygCACGBA0HUiQtBADYCACCBA0EBRw0DEAAhBQwHCxAAIQUMAQsQACEFIANBmARqEFkaCyADQYAEahBZGgwEC0HUiQtBADYCAEGcAyAAIAcQAhpB1IkLKAIAIYIDQdSJC0EANgIAIIIDQQFGDQIgBxBZGiAIEFkaIAsQWRogBhBZGgsgA0HYAWoQWRogAygCuAMiBUUNDSADKAK8AyIGIAUiBEcEQANAIAZBGGsQWSIGIAVHDQALIAMoArgDIQQLIAMgBTYCvAMgBBBaDA0LEAAhBQwCCxAAIQUgBxBZGgsgChBZGiAEEFkaCyAGEFkaIANB2AFqEFkaDAILQdSJC0EANgIAQRRBl70CQdCVA0HYGhAIQdSJCygCACGDA0HUiQtBADYCACCDA0EBRw0JEAAhBQwBCxAAIQULIANBmANqEGgMYQsgA0EYaiABIAIoAiAQrwICQCADKAJIBEAgACADKAIYNgIAQdSJC0EANgIAQcAAIABBCGogA0EgahACGkHUiQsoAgAhhANB1IkLQQA2AgAghANBAUYNASAAIAMoAjg2AiAgACADKAI8NgIkIAAgA0FAayIEKAIANgIoIARBADYCACADQgA3AzggACADKQNINwMwDAYLIAIpAiQh1AxB1IkLQQA2AgBBhAwgA0H0A2ogASDUDBDtAkHUiQsoAgAhBEHUiQtBADYCAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIARBAUcEQAJAAkAgAygC9AMiCCgCWCIHRQ0AIAMpAvgDItQMpyEEAkAgB2kiCUEBTQRAIAdBAWsgBHEhBQwBCyAEIgUgB0kNACAEIAdwIQULIAgoAlQgBUECdGooAgAiBkUNACAGKAIAIgZFDQAgCUEBTQRAIAdBAWshBwNAAkAgBCAGKAIEIglHBEAgByAJcSAFRg0BDAQLIAYoAgggBEYNBAsgBigCACIGDQALDAELA0ACQCAEIAYoAgQiCUcEQCAHIAlNBH8gCSAHcAUgCQsgBUYNAQwDCyAGKAIIIARGDQMLIAYoAgAiBg0ACwsgCCgCiAMiACgCACgCICGFA0HUiQtBADYCACCFAyAAQYEVEANB1IkLKAIAIYYDQdSJC0EANgIAIIYDQQFHDRkQACEFDBYLIAMoAhggAygCPCADKAI4a0EYbWpBAUcEQEHUiQtBADYCAEENQYfBBUHQlQNBxwBBmNcDEAVB1IkLKAIAIYcDQdSJC0EANgIAIIcDQQFHDRkMFQsgBikDECHVDEHUiQtBADYCAEHAACADQZgDaiADQSBqEAIhBEHUiQsoAgAhiANB1IkLQQA2AgAgiANBAUYNFCACKAIIIgVBDE8EQEHUiQtBADYCAEEUQZe9AkGkpAJB6QMQCEHUiQsoAgAhiQNB1IkLQQA2AgAgiQNBAUcNGQwUC0HUiQtBADYCACAIIAIgBCAFQQJ0QYiwB2ooAgAg1QwQ3AMh1QxB1IkLKAIAIYoDQdSJC0EANgIAIIoDQQFGDRMgBBBZGiACKAIIIQRB1IkLQQA2AgBBtwUgA0GYBGpBAkEDIARBCkYbEANB1IkLKAIAIYsDQdSJC0EANgIAIIsDQQFGDQEgAigCCEEKRw0IIAgoAogDIQQgAyDUDDcD6AMgBCgCACgCSCGMA0HUiQtBADYCACADINQMNwMIIIwDIAQg1QwgA0EIahC2BCEEQdSJCygCACGNA0HUiQtBADYCACCNA0EBRg0CIANBAjYCkAQgAyAENgKABEHUiQtBADYCAEHAACADQdgBaiADQYAEahACIQdB1IkLKAIAIY4DQdSJC0EANgIAII4DQQFGBEAQACEFDAgLQdSJC0EANgIAQcAAIAdBGGoiBiADQZgEaiIFEAIhBEHUiQsoAgAhjwNB1IkLQQA2AgAgjwNBAUYNA0HUiQtBADYCAEHAACAHQTBqIgYgBRACIZUDQdSJCygCACGQA0HUiQtBADYCACCQA0EBRg0DQdSJC0EANgIAQcAAIAdByABqIgYgBRACIZQDQdSJCygCACGRA0HUiQtBADYCACCRA0EBRg0DQdSJC0EANgIAQcYFIANB0ANqIAcQAiEGQdSJCygCACGSA0HUiQtBADYCACCSA0EBRg0EQdSJC0EANgIAQZwDIAAgBhACGkHUiQsoAgAhkwNB1IkLQQA2AgAgkwNBAUYNBSAGEFkaIJQDEFkaIJUDEFkaDAkLEAAhBQwUCxAAIQUMEwsQACEFDA0LEAAhBQNAIAZBGGsQWSIGIAdHDQALDAMLEAAhBQwBCxAAIQUgBhBZGgsgBxCbBgsgA0GABGoQWRoMCAsgCCgCiAMhBCADINQMNwPoAyAEKAIAKAJQIZYDQdSJC0EANgIAIAMg1Aw3AxAglgMgBCDVDCADQRBqEMcRIdQMQdSJCygCACGXA0HUiQtBADYCACCXA0EBRg0BIANBAzYCkAQgAyDUDDcDgARB1IkLQQA2AgBBwAAgA0HYAWogA0GABGoQAiEHQdSJCygCACGYA0HUiQtBADYCACCYA0EBRgRAEAAhBQwHC0HUiQtBADYCAEHAACAHQRhqIANBmARqEAIhBEHUiQsoAgAhmQNB1IkLQQA2AgAgmQNBAUYNAkHUiQtBADYCAEHHBSADQdADaiAHEAIhBkHUiQsoAgAhmgNB1IkLQQA2AgAgmgNBAUYNA0HUiQtBADYCAEGcAyAAIAYQAhpB1IkLKAIAIZsDQdSJC0EANgIAIJsDQQFGDQQgBhBZGgsgBBBZGiAHEFkaIANBgARqEFkaIANBmARqEFkaIAMoAjgiBUUNDCADKAI8IgYgBSIERwRAA0AgBkEYaxBZIgYgBUcNAAsgAygCOCEECyADIAU2AjwgBBBaDAwLEAAhBQwFCxAAIQUgBxBZGgwDCxAAIQUMAQsQACEFIAYQWRoLIAQQWRogBxBZGgsgA0GABGoQWRoLIANBmARqEFkaDAQLEAAhBQwDC0H/vAJB0JUDQfgZEGIACxAAIQUgBBBZGgwBCxAAIQULIANBGGoQaAxcCyADQSBqEFkaDAMLIANBoANqEFkaDAILAAsgA0HgAWoQWRoLIANBsARqJAAMRQsjAEHwBWsiAyQAIANBoAVqIAEgAigCJBCvAgJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCADKALQBQRAIAAgAygCoAU2AgBB1IkLQQA2AgBBwAAgAEEIaiADQagFahACGkHUiQsoAgAhnANB1IkLQQA2AgAgnANBAUYNASAAIAMoAsAFNgIgIAAgAygCxAU2AiQgACADKALIBTYCKCADQQA2AsgFIANCADcDwAUgACADKQPQBTcDMAwPCyACKQIsIdQMQdSJC0EANgIAQYQMIANBlAVqIAEg1AwQ7QJB1IkLKAIAIQRB1IkLQQA2AgACQAJAAkACQCAEQQFHBEACQAJAIAMoApQFIgcoAlgiBEUNACAHKAJUAn8gAykCmAUi1AynIgUgBEEBa3EgBGkiCEEBTQ0AGiAFIAQgBUsNABogBSAEcAsiCUECdGooAgAiBkUNACAGKAIAIgZFDQAgCEEBTQRAIARBAWshBANAAkAgBSAGKAIEIghHBEAgBCAIcSAJRg0BDAQLIAYoAgggBUYNBAsgBigCACIGDQALDAELA0ACQCAFIAYoAgQiCEcEQCAEIAhNBH8gCCAEcAUgCAsgCUYNAQwDCyAGKAIIIAVGDQMLIAYoAgAiBg0ACwsgBygCiAMiACgCACgCICGdA0HUiQtBADYCACCdAyAAQYEVEANB1IkLKAIAIZ4DQdSJC0EANgIAIJ4DQQFGDQIMEwsgAygCoAUgAygCxAUgAygCwAVrQRhtakEBRwRAQdSJC0EANgIAQQ1Bh8EFQdCVA0HHAEGY1wMQBUHUiQsoAgAhnwNB1IkLQQA2AgAgnwNBAUcNEwwRCyAGKQMQIdYMQdSJC0EANgIAQcAAIANB+ARqIANBqAVqIgUQAiEEQdSJCygCACGgA0HUiQtBADYCACCgA0EBRg0QIAIoAggiBkEITwRAQdSJC0EANgIAQRRBl70CQaSkAkGDBBAIQdSJCygCACGhA0HUiQtBADYCACChA0EBRw0TDBALIAZBAnRB2LAHajUCACHYDAJ+AkACQAJAIAQoAhBBAmsOAgACAQsgBDQCAAwCC0HUiQtBADYCAEENQe2mBUHmmgNBoQJBiaQFEAVB1IkLKAIAIaIDQdSJC0EANgIAIKIDQQFHDRQMEQsgBCkDAAsh1QwgAikDECHXDEHUiQtBADYCAEGFDCAHINcMINYMQhCGItYMQYUWENUCQdSJCygCACGjA0HUiQtBADYCACCjA0EBRg0PIAIpAxAh1wxB1IkLQQA2AgBBhQwgByDVDCDWDCDXDH1BpBYQ1QJB1IkLKAIAIaQDQdSJC0EANgIAIKQDQQFGDQ8gAikDECHXDEHUiQtBADYCAEGFDCAHINgMINYMQZUWENUCQdSJCygCACGlA0HUiQtBADYCACClA0EBRg0PQdSJC0EANgIAQYUMIAcg1Qwg1wx8ItUMINYMINgMfUH0FRDVAkHUiQsoAgAhpgNB1IkLQQA2AgAgpgNBAUYNDyAEEFkaIAIoAighBEHUiQtBADYCAEGiASADQeABaiABIAQQCEHUiQsoAgAhpwNB1IkLQQA2AgAgpwNBAUYNAiADIAMoAuABNgKgBSAFEFkhBEHUiQtBADYCAEHAACAEIANB6AFqIgkQAiEIQdSJCygCACGoA0HUiQtBADYCACCoA0EBRg0DIAMoAsAFIgQEQCADKALEBSIGIAQiBUcEQANAIAZBGGsQWSIGIARHDQALIAMoAsAFIQULIAMgBDYCxAUgBRBaCyADKQKEAiHWDCADQQA2AogCIAMgAygCgAI2AsAFIAMgAykDkAI3A9AFIAMg1gw3AsQFIANCADcDgAIgCRBZGiADKALQBUUNBCAAIAMoAqAFNgIAQdSJC0EANgIAQcAAIABBCGogCBACGkHUiQsoAgAhqQNB1IkLQQA2AgAgqQNBAUYNECAAIAMoAsAFNgIgIAAgAygCxAU2AiQgACADKALIBTYCKCADQQA2AsgFIANCADcDwAUgACADKQPQBTcDMAwTCxAAIQAMEAsQACEADA8LEAAhAAwOCxAAIQAgA0HgAWoQaAwNCyADKAKgBSADKALEBSADKALABWtBGG1qQQFHBEBB1IkLQQA2AgBBDUGHwQVB0JUDQccAQZjXAxAFQdSJCygCACGqA0HUiQtBADYCACCqA0EBRw0ODAoLQdSJC0EANgIAQcAAIANB4ARqIAgQAiEEQdSJCygCACGrA0HUiQtBADYCACCrA0EBRg0JAkACQAJAAkACQAJAAkAgAigCCA4IAAECAwABAgMGC0HUiQtBADYCAEHMBSADQeABaiAEEANB1IkLKAIAIQVB1IkLQQA2AgACQAJAAkACQAJAIAVBAUcEQCACKAIIIgVBCE8EQEHUiQtBADYCAEEUQZe9AkGkpAJBkwQQCEHUiQsoAgAhrANB1IkLQQA2AgAgrANBAUcNGgwUC0HwASAFdkEBcQ0DIAcoAogDIQUgAyDUDDcD2AEgBSgCACgCOCGtA0HUiQtBADYCACADINQMNwMAIK0DIAUg1QwgAxC2BCEFQdSJCygCACGuA0HUiQtBADYCACCuA0EBRg0FIANBAjYC6AUgAyAFNgLYBSACLQAgIQVB1IkLQQA2AgBBsQUgA0HgAWoiBiAFQRhsaiADQdgFaiIFEAIaQdSJCygCACGvA0HUiQtBADYCACCvA0EBRg0BIAUQWRpB1IkLQQA2AgBBxAUgA0HAAWogBhACIQVB1IkLKAIAIbADQdSJC0EANgIAILADQQFGDRNB1IkLQQA2AgBBnAMgACAFEAIaQdSJCygCACGxA0HUiQtBADYCACCxA0EBRg0CIAUQWRoMBAsQACEAIAQQWRoMFwsQACEAIANB2AVqEFkaDBILEAAhACAFEFkaDBELIANB4AFqIAItACBBGGxqIgUoAhBBAkcEQEHUiQtBADYCAEENQZmxBUHmmgNBmAJBoq4FEAVB1IkLKAIAIbIDQdSJC0EANgIAILIDQQFHDRYMEAsgBSwAACEGIAcoAogDIQUgAyDUDDcDuAEgBSgCACgCWCGzA0HUiQtBADYCACADINQMNwMIILMDIAUg1QwgBiADQQhqEPMCQdSJCygCACG0A0HUiQtBADYCACC0A0EBRg0PIABCADcDACAAQgA3AzAgAEIANwMoIABCADcDICAAQgA3AxggAEIANwMQIABCADcDCAsgA0HgAWoQpwIMBAsQACEADA4LQdSJC0EANgIAQc4FIANB4AFqIAQQA0HUiQsoAgAhBUHUiQtBADYCAAJAAkACQAJAAkAgBUEBRwRAIAIoAggiBUEITwRAQdSJC0EANgIAQRRBl70CQaSkAkGTBBAIQdSJCygCACG1A0HUiQtBADYCACC1A0EBRw0ZDBELQfABIAV2QQFxDQMgBygCiAMhBSADINQMNwOwASAFKAIAKAJAIbYDQdSJC0EANgIAIAMg1Aw3AxAgtgMgBSDVDCADQRBqELYEIQVB1IkLKAIAIbcDQdSJC0EANgIAILcDQQFGDQUgA0ECNgLoBSADIAU2AtgFIAItACAhBUHUiQtBADYCAEGxBSADQeABaiIGIAVBGGxqIANB2AVqIgUQAhpB1IkLKAIAIbgDQdSJC0EANgIAILgDQQFGDQEgBRBZGkHUiQtBADYCAEHFBSADQZgBaiAGEAIhBUHUiQsoAgAhuQNB1IkLQQA2AgAguQNBAUYNEEHUiQtBADYCAEGcAyAAIAUQAhpB1IkLKAIAIboDQdSJC0EANgIAILoDQQFGDQIgBRBZGgwECxAAIQAgBBBZGgwWCxAAIQAgA0HYBWoQWRoMDwsQACEAIAUQWRoMDgsgA0HgAWogAi0AIEEYbGoiBSgCEEECRwRAQdSJC0EANgIAQQ1BmbEFQeaaA0GYAkGirgUQBUHUiQsoAgAhuwNB1IkLQQA2AgAguwNBAUcNFQwNCyAFLgEAIQYgBygCiAMhBSADINQMNwOQASAFKAIAKAJcIbwDQdSJC0EANgIAIAMg1Aw3AxggvAMgBSDVDCAGIANBGGoQ8wJB1IkLKAIAIb0DQdSJC0EANgIAIL0DQQFGDQwgAEIANwMAIABCADcDMCAAQgA3AyggAEIANwMgIABCADcDGCAAQgA3AxAgAEIANwMICyADQYgDahBZGiADQfACahBZGiADQdgCahBZGiADQcACahBZGiADQagCahBZGiADQZACahBZGiADQfgBahBZGiADQeABahBZGgwDCxAAIQAMCwtB1IkLQQA2AgBB0AUgA0HgAWogBBADQdSJCygCACEFQdSJC0EANgIAAkACQAJAAkACQCAFQQFHBEAgAigCCCIFQQhPBEBB1IkLQQA2AgBBFEGXvQJBpKQCQZMEEAhB1IkLKAIAIb4DQdSJC0EANgIAIL4DQQFHDRgMDgtB8AEgBXZBAXENAyAHKAKIAyEFIAMg1Aw3A4gBIAUoAgAoAkghvwNB1IkLQQA2AgAgAyDUDDcDICC/AyAFINUMIANBIGoQtgQhBUHUiQsoAgAhwANB1IkLQQA2AgAgwANBAUYNBSADQQI2AugFIAMgBTYC2AUgAi0AICEFQdSJC0EANgIAQbEFIANB4AFqIgYgBUEYbGogA0HYBWoiBRACGkHUiQsoAgAhwQNB1IkLQQA2AgAgwQNBAUYNASAFEFkaQdSJC0EANgIAQcYFIANB8ABqIAYQAiEFQdSJCygCACHCA0HUiQtBADYCACDCA0EBRg0NQdSJC0EANgIAQZwDIAAgBRACGkHUiQsoAgAhwwNB1IkLQQA2AgAgwwNBAUYNAiAFEFkaDAQLEAAhACAEEFkaDBULEAAhACADQdgFahBZGgwMCxAAIQAgBRBZGgwLCyADQeABaiACLQAgQRhsaiIFKAIQQQJHBEBB1IkLQQA2AgBBDUGZsQVB5poDQZgCQaKuBRAFQdSJCygCACHEA0HUiQtBADYCACDEA0EBRw0UDAoLIAUoAgAhBiAHKAKIAyEFIAMg1Aw3A2ggBSgCACgCYCHFA0HUiQtBADYCACADINQMNwMoIMUDIAUg1QwgBiADQShqEPMCQdSJCygCACHGA0HUiQtBADYCACDGA0EBRg0JIABCADcDACAAQgA3AzAgAEIANwMoIABCADcDICAAQgA3AxggAEIANwMQIABCADcDCAsgA0GoAmoQWRogA0GQAmoQWRogA0H4AWoQWRogA0HgAWoQWRoMAgsQACEADAgLIAQoAhBBBkcEQEHUiQtBADYCAEENQf2cBUHppAJBgw1B6dQBEAVB1IkLKAIAIccDQdSJC0EANgIAIMcDQQFHDREQACEAIAQQWRoMEAsgBCkDCCHWDCAEKQMAIdgMIANBADYC8AEgA0IANwPoASADQgA3A4ACIANBADYCiAIgA0IANwPgASADQgA3A/gBIANBAzYC6AUgAyDYDDcD2AUgA0HgAWoQWSEGQdSJC0EANgIAQcAAIAYgA0HYBWoiCRACIQVB1IkLKAIAIQpB1IkLQQA2AgAgA0H4AWohCAJAIApBAUcEQCAJEFkiCSDWDDcDACADQQM2AugFIAgQWSEKQdSJC0EANgIAQcAAIAogCRACIQpB1IkLKAIAIcgDQdSJC0EANgIAIMgDQQFHDQELEAAhACADQdgFahBZGiAIEFkaIAYQWRogBBBZGgwQCyAJEFkaIAIoAggiBkEITwRAQdSJC0EANgIAQRRBl70CQaSkAkGTBBAIQdSJCygCACHJA0HUiQtBADYCACDJA0EBRw0RDAULAkBB8AEgBnZBAXFFBEAgBygCiAMhBiADINQMNwNgIAYoAgAoAlAhygNB1IkLQQA2AgAgAyDUDDcDMCDKAyAGINUMIANBMGoQxxEh1AxB1IkLKAIAIcsDQdSJC0EANgIAIMsDQQFGDQMgA0EDNgLoBSADINQMNwPYBSACLQAgIQZB1IkLQQA2AgBBsQUgBSAGQRhsaiADQdgFaiIGEAIaQdSJCygCACEHQdSJC0EANgIAAkAgB0EBRwRAIAYQWRpB1IkLQQA2AgBBxwUgA0HIAGogBRACIQZB1IkLKAIAIcwDQdSJC0EANgIAIMwDQQFGDQhB1IkLQQA2AgBBnAMgACAGEAIaQdSJCygCACHNA0HUiQtBADYCACDNA0EBRg0BIAYQWRoMAwsQACEAIANB2AVqEFkaDAgLEAAhACAGEFkaDAcLIAUgAi0AIEEYbGoiBigCEEEDRwRAQdSJC0EANgIAQQ1B7aYFQeaaA0GhAkGJpAUQBUHUiQsoAgAhzgNB1IkLQQA2AgAgzgNBAUcNEgwGCyAGKQMAIdYMIAcoAogDIQYgAyDUDDcDQCAGKAIAKAJkIc8DQdSJC0EANgIAIAMg1Aw3AzggzwMgBiDVDCDWDCADQThqENUCQdSJCygCACHQA0HUiQtBADYCACDQA0EBRg0FIABCADcDACAAQgA3AzAgAEIANwMoIABCADcDICAAQgA3AxggAEIANwMQIABCADcDCAsgChBZGiAFEFkaCyAEEFkaIAMoAsAFIgRFDRAgAygCxAUiBiAEIgVHBEADQCAGQRhrEFkiBiAERw0ACyADKALABSEFCyADIAQ2AsQFIAUQWgwQCxAAIQAMAwtB1IkLQQA2AgBBFEGXvQJB0JUDQbgbEAhB1IkLKAIAIdEDQdSJC0EANgIAINEDQQFHDQ0QACEAIAQQWRoMDAsQACEADAsLEAAhAAsgChBZGiAFEFkaIAQQWRoMCQsQACEACyADQeABahCbBiAEEFkaDAcLEAAhAAsgA0HgAWoQ8AEgBBBZGgwFCxAAIQALIANB4AFqEKcCIAQQWRoMAwsQACEADAILEAAhACAEEFkaDAELEAAhAAsgA0GgBWoQaAxbCwALIANBqAVqEFkaIANB8AVqJAAMRAsjAEGAAmsiAyQAIANByAFqIAEgAigCEBCvAgJAAkACQAJAAkACQAJAAkACQAJAIAMoAvgBBEAgACADKALIATYCAEHUiQtBADYCAEHAACAAQQhqIANB0AFqEAIaQdSJCygCACHSA0HUiQtBADYCACDSA0EBRg0BIAAgAygC6AE2AiAgACADKALsATYCJCAAIAMoAvABNgIoIANBADYC8AEgA0IANwPoASAAIAMpA/gBNwMwDAoLIAIoAhQhBEHUiQtBADYCAEGiASADQZABaiABIAQQCEHUiQsoAgAhBEHUiQtBADYCAAJAAkAgBEEBRwRAIAMoAsABRQ0BIAAgAygCkAE2AgBB1IkLQQA2AgBBwAAgAEEIaiADQZgBahACGkHUiQsoAgAh0wNB1IkLQQA2AgAg0wNBAUYNAiAAIAMoArABNgIgIAAgAygCtAE2AiQgACADKAK4ATYCKCADQQA2ArgBIANCADcDsAEgACADKQPAATcDMAwLCxAAIQAMBwsgAigCGCEEQdSJC0EANgIAQaIBIANB2ABqIAEgBBAIQdSJCygCACEEQdSJC0EANgIAAkACQCAEQQFHBEAgAygCiAFFDQEgACADKAJYNgIAQdSJC0EANgIAQcAAIABBCGogA0HgAGoQAhpB1IkLKAIAIdQDQdSJC0EANgIAINQDQQFGDQIgACADKAJ4NgIgIAAgAygCfDYCJCAAIAMoAoABNgIoIANBADYCgAEgA0IANwN4IAAgAykDiAE3AzAMCwsQACEADAcLIAEoAhQiBCgCqAIhBSAEKAKkAiEEIAIpAggh1AxB1IkLQQA2AgBBiwwgBCAFINQMEPEBIQhB1IkLKAIAIQRB1IkLQQA2AgACQAJAIARBAUcEQAJ+AkACQAJAAn8gAygCyAEgAygC7AEgAygC6AFrQRhtakEBRwRAQZjXAyEGQdCVAyEEQYfBBSEAQccADAELIAMoAuABIgRBB0kNAUHz5wQhBkGfnwMhBEHhzQYhAEHDAQshAUHUiQtBADYCAEENIAAgBCABIAYQBUHUiQsoAgAh1QNB1IkLQQA2AgAg1QNBAUYNAQwPCwJAAkAgBEECaw4CAwABCyADKQPQAQwDC0HUiQtBADYCAEGJAhAJQdSJCygCACHWA0HUiQtBADYCACDWA0EBRw0OCxAAIQAMCgsgAzUC0AELIdYMAkACfyADKAKQASADKAK0ASADKAKwAWtBGG1qQQFHBEBBmNcDIQZB0JUDIQRBh8EFIQBBxwAMAQsgAygCqAFBAkYNAUGirgUhBkHmmgMhBEGZsQUhAEGYAgshAUHUiQtBADYCAEENIAAgBCABIAYQBUHUiQsoAgAh1wNB1IkLQQA2AgAg1wNBAUcNDBAAIQAMCQsCQAJ/IAMoAlggAygCfCADKAJ4a0EYbWpBAUcEQEGY1wMhBkHQlQMhBEGHwQUhAEHHAAwBCyADKAJwQQJGDQFBoq4FIQZB5poDIQRBmbEFIQBBmAILIQFB1IkLQQA2AgBBDSAAIAQgASAGEAVB1IkLKAIAIdgDQdSJC0EANgIAINgDQQFHDQwMCAsgAygCmAEiC60i1AxCACADKAJgIgytItUMfVENAiABKAJEIgVFDQIgASgCQAJ/IAIoAggiBiAFQQFrcSAFaSIHQQFNDQAaIAYgBSAGSw0AGiAGIAVwCyIJQQJ0aigCACIERQ0CIAQoAgAiBEUNAiAHQQFNBEAgBUEBayEFA0ACQCAGIAQoAgQiB0cEQCAFIAdxIAlGDQEMBgsgBCgCCCAGRg0ECyAEKAIAIgQNAAsMAwsDQAJAIAYgBCgCBCIHRwRAIAUgB00EfyAHIAVwBSAHCyAJRg0BDAULIAQoAgggBkYNAwsgBCgCACIEDQALDAILEAAhAAwHCyABKAIAKAIIIdkDQdSJC0EANgIAINkDIAFBoPAAEANB1IkLKAIAIdoDQdSJC0EANgIAINoDQQFGDQULIAgoAiAgCCgCHGutINQMINUMfFQEQCABKAIAKAIIIdsDQdSJC0EANgIAINsDIAFBoPAAEANB1IkLKAIAIdwDQdSJC0EANgIAINwDQQFGDQULIAIpAhwh1AxB1IkLQQA2AgBBhAwgA0HMAGogASDUDBDtAkHUiQsoAgAh3QNB1IkLQQA2AgAg3QNBAUYNAwJAAkACQAJAIAMoAkwiBygCWCIERQ0AIAcoAlQCfyADKQJQItgMpyIFIARBAWtxIARpIglBAU0NABogBSAEIAVLDQAaIAUgBHALIgpBAnRqKAIAIgZFDQAgBigCACIGRQ0AIAlBAU0EQCAEQQFrIQQDQAJAIAUgBigCBCIJRwRAIAQgCXEgCkYNAQwECyAGKAIIIAVGDQQLIAYoAgAiBg0ACwwBCwNAAkAgBSAGKAIEIglHBEAgBCAJTQR/IAkgBHAFIAkLIApGDQEMAwsgBigCCCAFRg0DCyAGKAIAIgYNAAsLIAcoAogDIgAoAgAoAiAh3gNB1IkLQQA2AgAg3gMgAEGBFRADQdSJCygCACHfA0HUiQtBADYCACDfA0EBRw0LDAELIAYpAxBCEIYi1Awg1Qwg1gx8Wg0BIAEoAgAoAggh4ANB1IkLQQA2AgAg4AMgAUH17wAQA0HUiQsoAgAh4QNB1IkLQQA2AgAg4QNBAUcNAQsQACEADAYLAkACQAJAIAwEQCDUDEIBfSHZDEIAIdQMA0AgA0EDNgJAIAMg1Awg1gx8NwMwIAcoAogDIQVB1IkLQQA2AgBBwAAgA0EYaiADQTBqEAIhBEHUiQsoAgAh4gNB1IkLQQA2AgAg4gNBAUYNAgJ+AkACQAJAIAMoAihBAmsOAgACAQsgBDQCAAwCC0HUiQtBADYCAEENQe2mBUHmmgNBoQJBiaQFEAVB1IkLKAIAIeMDQdSJC0EANgIAIOMDQQFHDQ8MBQsgBCkDAAsh1wxB1IkLQQA2AgBBhQwgByDXDCDZDEH0FRDVAkHUiQsoAgAh5ANB1IkLQQA2AgAg5ANBAUYNAyAIKAIcINQMp2ogC2osAAAhBiADINgMNwMQIAUoAgAoAlgh5QNB1IkLQQA2AgAgAyDYDDcDCCDlAyAFINcMIAYgA0EIahDzAkHUiQsoAgAh5gNB1IkLQQA2AgAg5gNBAUYNAyAEEFkaIANBMGoQWRog1AxCAXwi1Awg1QxSDQALCyAAQgA3AwAgAEIANwMwIABCADcDKCAAQgA3AyAgAEIANwMYIABCADcDECAAQgA3AwggAygCeCIFRQ0MIAMoAnwiBiAFIgRHBEADQCAGQRhrEFkiBiAFRw0ACyADKAJ4IQQLIAMgBTYCfCAEEFoMDAsQACEADAELEAAhACAEEFkaCyADQTBqEFkaDAULEAAhAAwECxAAIQAMBAsQACEADAQLEAAhAAwBCxAAIQALIANB2ABqEGgLIANBkAFqEGgLIANByAFqEGgMXAsACyADQeAAahBZGiADKAKwASIFRQ0AIAMoArQBIgYgBSIERwRAA0AgBkEYaxBZIgYgBUcNAAsgAygCsAEhBAsgAyAFNgK0ASAEEFoLIANBmAFqEFkaIAMoAugBIgVFDQAgAygC7AEiBiAFIgRHBEADQCAGQRhrEFkiBiAFRw0ACyADKALoASEECyADIAU2AuwBIAQQWgsgA0HQAWoQWRogA0GAAmokAAxDCyATQQhqIAFBQGsgAigCCCACKQIIEOECIABCADcDMCAAQgA3AyggAEIANwMgIABCADcDGCAAQgA3AxAgAEIANwMIIABCADcDAAxCCyMAQZACayIDJAAgA0HYAWogASACKAIIEK8CAkACQAJAAkACQAJAAkACQAJAIAMoAogCBEAgACADKALYATYCAEHUiQtBADYCAEHAACAAQQhqIANB4AFqEAIaQdSJCygCACHnA0HUiQtBADYCACDnA0EBRg0BIAAgAygC+AE2AiAgACADKAL8ATYCJCAAIAMoAoACNgIoIANBADYCgAIgA0IANwP4ASAAIAMpA4gCNwMwDAkLIAIoAgwhBEHUiQtBADYCAEGiASADQaABaiABIAQQCEHUiQsoAgAhBEHUiQtBADYCAAJAAkAgBEEBRwRAIAMoAtABRQ0BIAAgAygCoAE2AgBB1IkLQQA2AgBBwAAgAEEIaiADQagBahACGkHUiQsoAgAh6ANB1IkLQQA2AgAg6ANBAUYNAiAAIAMoAsABNgIgIAAgAygCxAE2AiQgACADKALIATYCKCADQQA2AsgBIANCADcDwAEgACADKQPQATcDMAwKCxAAIQYMUAsgAigCECEEQdSJC0EANgIAQaIBIANB6ABqIAEgBBAIQdSJCygCACEEQdSJC0EANgIAAkACQCAEQQFHBEAgAygCmAFFDQEgACADKAJoNgIAQdSJC0EANgIAQcAAIABBCGogA0HwAGoQAhpB1IkLKAIAIekDQdSJC0EANgIAIOkDQQFGDQIgACADKAKIATYCICAAIAMoAowBNgIkIAAgAygCkAE2AiggA0EANgKQASADQgA3A4gBIAAgAykDmAE3AzAMCgsQACEGDAcLAn4CQAJAAkACfyADKALYASADKAL8ASADKAL4AWtBGG1qQQFHBEBBmNcDIQZB0JUDIQRBh8EFIQBBxwAMAQsgAygC8AEiBEEHSQ0BQfPnBCEGQZ+fAyEEQeHNBiEAQcMBCyEBQdSJC0EANgIAQQ0gACAEIAEgBhAFQdSJCygCACHqA0HUiQtBADYCACDqA0EBRg0BDAsLAkACQCAEQQJrDgIDAAELIAMpA+ABDAMLQdSJC0EANgIAQYkCEAlB1IkLKAIAIesDQdSJC0EANgIAIOsDQQFHDQoLEAAhBgwHCyADNQLgAQsh2AwCQAJ/IAMoAqABIAMoAsQBIAMoAsABa0EYbWpBAUcEQEGY1wMhBkHQlQMhBEGHwQUhAEHHAAwBCyADKAK4ASIEQQdJDQFB8+cEIQZBn58DIQRB4c0GIQBBwwELIQFB1IkLQQA2AgBBDSAAIAQgASAGEAUMBQsCfgJAAkACQCAEQQJrDgICAAELIAMpA6gBDAILQdSJC0EANgIAQYkCEAkMBgsgAzUCqAELIdYMAkACfyADKAJoIAMoAowBIAMoAogBa0EYbWpBAUcEQEGY1wMhBkHQlQMhBEGHwQUhAEHHAAwBCyADKAKAASIEQQdJDQFB8+cEIQZBn58DIQRB4c0GIQBBwwELIQFB1IkLQQA2AgBBDSAAIAQgASAGEAUMBAsCfgJAAkACQCAEQQJrDgICAAELIAMpA3AMAgtB1IkLQQA2AgBBiQIQCQwFCyADNQJwCyHVDCACKQIUIdQMQdSJC0EANgIAQYQMIANB3ABqIAEg1AwQ7QJB1IkLKAIAIQRB1IkLQQA2AgACQAJAIARBAUcEQCACKQIcIdQMQdSJC0EANgIAQYQMIANB0ABqIAEg1AwQ7QJB1IkLKAIAIewDQdSJC0EANgIAIOwDQQFGDQECQAJAIAMoAlwiBygCWCIERQ0AIAcoAlQCfyADKQJgItcMpyIFIARBAWtxIARpIghBAU0NABogBSAEIAVLDQAaIAUgBHALIglBAnRqKAIAIgZFDQAgBigCACIGRQ0AIAhBAU0EQCAEQQFrIQQDQAJAIAUgBigCBCIIRwRAIAQgCHEgCUYNAQwECyAGKAIIIAVGDQQLIAYoAgAiBg0ACwwBCwNAAkAgBSAGKAIEIghHBEAgBCAITQR/IAggBHAFIAgLIAlGDQEMAwsgBigCCCAFRg0DCyAGKAIAIgYNAAsLIAcoAogDIgAoAgAoAiAh7QNB1IkLQQA2AgAg7QMgAEGBFRADQdSJCygCACHuA0HUiQtBADYCACDuA0EBRw0LEAAhBgwJCwJAAkACQCADKAJQIggoAlgiBEUNACAGKQMQIdkMIAgoAlQCfyADKQJUItoMpyIFIARBAWtxIARpIglBAU0NABogBSAEIAVLDQAaIAUgBHALIgpBAnRqKAIAIgZFDQAgBigCACIGRQ0AIAlBAU0EQCAEQQFrIQQDQAJAIAUgBigCBCIJRwRAIAQgCXEgCkYNAQwECyAGKAIIIAVGDQQLIAYoAgAiBg0ACwwBCwNAAkAgBSAGKAIEIglHBEAgBCAJTQR/IAkgBHAFIAkLIApGDQEMAwsgBigCCCAFRg0DCyAGKAIAIgYNAAsLIAgoAogDIgAoAgAoAiAh7wNB1IkLQQA2AgAg7wMgAEGBFRADQdSJCygCACHwA0HUiQtBADYCACDwA0EBRw0MDAELAkAg1Qwg1gx8ItQMIAYpAxBCEIYi2wxWDQAg1Qwg2Ax8ItwMINUMVA0AINQMINYMVA0AINwMINkMQhCGWA0ECyABKAIAKAIIIfEDQdSJC0EANgIAIPEDIAFB6RkQA0HUiQsoAgAh8gNB1IkLQQA2AgAg8gNBAUcNAwsQACEGDAgLEAAhBgwHCxAAIQYMBgsCQAJAAkAg1QxCAX1CACDWDCDYDFQiBBsi1AxCfyDVDCAEGyLcDFIEQEJ/QgEgBBsh3Qwg2wxCAX0h2wwg2QxCEIZCAX0h3gwDQCAHKAKIAyEEIANBAzYCSCADINQMINgMfCLVDDcDOEHUiQtBADYCAEGFDCAHINUMIN4MQfQVENUCQdSJCygCACHzA0HUiQtBADYCACDzA0EBRg0CIAgoAogDIQUgA0EDNgIwIAMg1Awg1gx8ItkMNwMgQdSJC0EANgIAQYUMIAgg2Qwg2wxB9BUQ1QJB1IkLKAIAIfQDQdSJC0EANgIAIPQDQQFGDQMgAyDaDDcDGCAFKAIAKAI0IfUDQdSJC0EANgIAIAMg2gw3Awgg9QMgBSDZDCADQQhqELYEIQVB1IkLKAIAIfYDQdSJC0EANgIAIPYDQQFGDQMgAyDXDDcDECAEKAIAKAJYIfcDQdSJC0EANgIAIAMg1ww3AwAg9wMgBCDVDCAFIAMQ8wJB1IkLKAIAIfgDQdSJC0EANgIAIPgDQQFGDQMgA0EgahBZGiADQThqEFkaINQMIN0MfCLUDCDcDFINAAsLIABCADcDACAAQgA3AzAgAEIANwMoIABCADcDICAAQgA3AxggAEIANwMQIABCADcDCCADKAKIASIFRQ0LIAMoAowBIgYgBSIERwRAA0AgBkEYaxBZIgYgBUcNAAsgAygCiAEhBAsgAyAFNgKMASAEEFoMCwsQACEGDAELEAAhBiADQSBqEFkaCyADQThqEFkaDAULEAAhBgwECxAAIQYMBAsQACEGDE0LQdSJCygCACH5A0HUiQtBADYCACD5A0EBRw0DEAAhBgwBC0HUiQsoAgAh+gNB1IkLQQA2AgAg+gNBAUcNAhAAIQYLIANB6ABqEGgLIANBoAFqEGgMSQsACyADQfAAahBZGiADKALAASIFRQ0AIAMoAsQBIgYgBSIERwRAA0AgBkEYaxBZIgYgBUcNAAsgAygCwAEhBAsgAyAFNgLEASAEEFoLIANBqAFqEFkaIAMoAvgBIgVFDQAgAygC/AEiBiAFIgRHBEADQCAGQRhrEFkiBiAFRw0ACyADKAL4ASEECyADIAU2AvwBIAQQWgsgA0HgAWoQWRogA0GQAmokAAxBCyMAQeABayIDJAAgA0GoAWogASACKAIIEK8CAkACQAJAAkACQAJAAkACQAJAAkAgAygC2AEEQCAAIAMoAqgBNgIAQdSJC0EANgIAQcAAIABBCGogA0GwAWoQAhpB1IkLKAIAIfsDQdSJC0EANgIAIPsDQQFGDQEgACADKALIATYCICAAIAMoAswBNgIkIAAgAygC0AE2AiggA0EANgLQASADQgA3A8gBIAAgAykD2AE3AzAMCgsgAigCDCEEQdSJC0EANgIAQaIBIANB8ABqIAEgBBAIQdSJCygCACEEQdSJC0EANgIAAkACQCAEQQFHBEAgAygCoAFFDQEgACADKAJwNgIAQdSJC0EANgIAQcAAIABBCGogA0H4AGoQAhpB1IkLKAIAIfwDQdSJC0EANgIAIPwDQQFGDQIgACADKAKQATYCICAAIAMoApQBNgIkIAAgAygCmAE2AiggA0EANgKYASADQgA3A5ABIAAgAykDoAE3AzAMCwsQACEGDFELIAIoAhAhBEHUiQtBADYCAEGiASADQThqIAEgBBAIQdSJCygCACEEQdSJC0EANgIAAkACQCAEQQFHBEAgAygCaEUNASAAIAMoAjg2AgBB1IkLQQA2AgBBwAAgAEEIaiADQUBrEAIaQdSJCygCACH9A0HUiQtBADYCACD9A0EBRg0CIAAgAygCWDYCICAAIAMoAlw2AiQgACADKAJgNgIoIANBADYCYCADQgA3A1ggACADKQNoNwMwDAsLEAAhBgwICwJ+AkACQAJAAn8gAygCqAEgAygCzAEgAygCyAFrQRhtakEBRwRAQZjXAyEGQdCVAyEEQYfBBSEAQccADAELIAMoAsABIgRBB0kNAUHz5wQhBkGfnwMhBEHhzQYhAEHDAQshAUHUiQtBADYCAEENIAAgBCABIAYQBUHUiQsoAgAh/gNB1IkLQQA2AgAg/gNBAUYNAQwMCwJAAkAgBEECaw4CAwABCyADKQOwAQwDC0HUiQtBADYCAEGJAhAJQdSJCygCACH/A0HUiQtBADYCACD/A0EBRw0LCxAAIQYMCAsgAzUCsAELIdYMAkACfyADKAI4IAMoAlwgAygCWGtBGG1qQQFHBEBBmNcDIQZB0JUDIQRBh8EFIQBBxwAMAQsgAygCUCIEQQdJDQFB8+cEIQZBn58DIQRB4c0GIQBBwwELIQFB1IkLQQA2AgBBDSAAIAQgASAGEAUMBgsCfgJAAkACQCAEQQJrDgICAAELIAMpA0AMAgtB1IkLQQA2AgBBiQIQCQwHCyADNQJACyHVDCACKQIUIdQMQdSJC0EANgIAQYQMIANBLGogASDUDBDtAkHUiQsoAgAhgARB1IkLQQA2AgAggARBAUYNAwJAAkACQAJAIAMoAiwiBygCWCIERQ0AIAcoAlQCfyADKQIwItgMpyIFIARBAWtxIARpIghBAU0NABogBSAEIAVLDQAaIAUgBHALIglBAnRqKAIAIgZFDQAgBigCACIGRQ0AIAhBAU0EQCAEQQFrIQQDQAJAIAUgBigCBCIIRwRAIAQgCHEgCUYNAQwECyAGKAIIIAVGDQQLIAYoAgAiBg0ACwwBCwNAAkAgBSAGKAIEIghHBEAgBCAITQR/IAggBHAFIAgLIAlGDQEMAwsgBigCCCAFRg0DCyAGKAIAIgYNAAsLIAcoAogDIgAoAgAoAiAhgQRB1IkLQQA2AgAggQQgAEGBFRADQdSJCygCACGCBEHUiQtBADYCACCCBEEBRw0LDAELAkAgBikDEEIQhiLUDCDVDCDWDHxUDQAg1Awg1gxUDQAg1Awg1QxaDQILIAEoAgAoAgghgwRB1IkLQQA2AgAggwQgAUGF6wIQA0HUiQsoAgAhhARB1IkLQQA2AgAghARBAUcNAQsQACEGDAcLAkACfyADKAJwIAMoApQBIAMoApABa0EYbWpBAUcEQEGY1wMhBkHQlQMhBEGHwQUhAEHHAAwBCyADKAKIAUECRg0BQaKuBSEGQeaaAyEEQZmxBSEAQZgCCyEBQdSJC0EANgIAQQ0gACAEIAEgBhAFQdSJCygCACGFBEHUiQtBADYCACCFBEEBRw0JEAAhBgwHCyDVDEIAUgRAINQMQgF9IdcMQgAh1AwgAygCeMAhBkEAIQQDQCAHKAKIAyEFIANBAzYCICADINQMINYMfCLUDDcDEEHUiQtBADYCAEGFDCAHINQMINcMQfQVENUCQdSJCygCACGGBEHUiQtBADYCACCGBEEBRg0GIAMg2Aw3AwggBSgCACgCWCGHBEHUiQtBADYCACADINgMNwMAIIcEIAUg1AwgBiADEPMCQdSJCygCACGIBEHUiQtBADYCACCIBEEBRg0GIANBEGoQWRog1QwgBEEBaiIErSLUDFYNAAsLIABCADcDACAAQgA3AzAgAEIANwMoIABCADcDICAAQgA3AxggAEIANwMQIABCADcDCCADKAJYIgVFDQkgAygCXCIGIAUiBEcEQANAIAZBGGsQWSIGIAVHDQALIAMoAlghBAsgAyAFNgJcIAQQWgwJCxAAIQYMBQsQACEGDAULEAAhBgxOCxAAIQYMAgsQACEGIANBEGoQWRoMAQtB1IkLKAIAIYkEQdSJC0EANgIAIIkEQQFHDQIQACEGCyADQThqEGgLIANB8ABqEGgMSQsACyADQUBrEFkaIAMoApABIgVFDQAgAygClAEiBiAFIgRHBEADQCAGQRhrEFkiBiAFRw0ACyADKAKQASEECyADIAU2ApQBIAQQWgsgA0H4AGoQWRogAygCyAEiBUUNACADKALMASIGIAUiBEcEQANAIAZBGGsQWSIGIAVHDQALIAMoAsgBIQQLIAMgBTYCzAEgBBBaCyADQbABahBZGiADQeABaiQADEALIAAgAhD/Cww/CyMAQbATayIDJAAgA0H4EmogASACKAIMEK8CAkACQAJAAkACQAJAAkACQAJAIAMoAqgTBEAgACADKAL4EjYCAEHUiQtBADYCAEHAACAAQQhqIANBgBNqEAIaQdSJCygCACGKBEHUiQtBADYCACCKBEEBRg0CIAAgAygCmBM2AiAgACADQZwTaigCADYCJCAAIANBoBNqIgQoAgA2AiggBEEANgIAIANCADcDmBMgACADKQOoEzcDMAwBCwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJA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WgsgA0G8HmopAgAh1AwgA0HAHmpBADYCACADIAMoArgeNgKIHyADIAMpA8geNwOYHyADINQMNwKMHyADQgA3A7geIAkQWRogAygCmB9FDQQgACADKALoHjYCAEHUiQtBADYCAEHAACAAQQhqIAgQAhpB1IkLKAIAIdEFQdSJC0EANgIAINEFQQFGDQMgACADKAKIHzYCICAAIAMoAowfNgIkIAAgAygCkB82AiggA0EANgKQHyADQgA3A4gfIAAgAykDmB83AzAMCAsQACEADAYLEAAhACAGEFkaDAULEAAhACADQZgeahBoIAYQWRoMBAsQACEAIAYQWRoMAwsgAygC6B4gAygCjB8gAygCiB9rQRhtakEBRwRAQdSJC0EANgIAQQ1Bh8EFQdCVA0HHAEGY1wMQBUHUiQsoAgAh0gVB1IkLQQA2AgAg0gVBAUcNBQwCC0HUiQtBADYCAEHAACADQZgeaiAIEAIhBUHUiQsoAgAh0wVB1IkLQQA2AgAg0wVBAUYNAQJAAkACQAJ/AkAgAigCDCgCBCIEQQJJDQAgBigCECAERg0AQeXHAyEEQe0EDAELIAIoAhAoAgQiBEECSQ0BIAUoAhAgBEYNAUGdxwMhBEHvBAshAEHUiQtBADYCAEENIARB0JUDIABBmxgQBUHUiQsoAgAh1AVB1IkLQQA2AgAg1AVBAUYNAQwHC0GTCCEEQZO8AiEHAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAigCCA7MAQABAgMEBQYMDQ4PERASExQVFhcYGRobHB0AAQIHCAkK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Rw0ACyADKAJoIQULIAMgBDYCbCAFEFoLIANB0ABqEFkaIANBgAFqJAAMEAsjAEGAAmsiAyQAIANByAFqIAEgAigCDBCvAgJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAMoAvgBBEAgACADKALIATYCAEHUiQtBADYCAEHAACAAQQhqIANB0AFqEAIaQdSJCygCACGjDEHUiQtBADYCACCjDEEBRg0BIAAgAygC6AE2AiAgACADKALsATYCJCAAIAMoAvABNgIoIANBADYC8AEgA0IANwPoASAAIAMpA/gBNwMwDA0LIAIoAghBB0YEQCACKAIUIQRB1IkLQQA2AgBBogEgA0GQAWogASAEEAhB1IkLKAIAIQRB1IkLQQA2AgACQAJAIARBAUcEQCADKALAAUUNASAAIAMoApABNgIAQdSJC0EANgIAQcAAIABBCGogA0GYAWoQAhpB1IkLKAIAIaQMQdSJC0EANgIAIKQMQQFGDQIgACADKAKwATYCICAAIAMoArQBNgIkIAAgAygCuAE2AiggA0EANgK4ASADQgA3A7ABIAAgAykDwAE3AzAMDwsQACEGDCgLIAIoAhghBEHUiQtBADYCAEGiASADQdgAaiABIAQQCEHUiQsoAgAhBEHUiQtBADYCAAJAAkAgBEEBRwRAIAMoAogBRQ0BIAAgAygCWDYCAEHUiQtBADYCAEHAACAAQQhqIANB4ABqEAIaQdSJCygCACGlDEHUiQtBADYCACClDEEBRg0CIAAgAygCeDYCICAAIAMoAnw2AiQgACADKAKAATYCKCADQQA2AoABIANCADcDeCAAIAMpA4gBNwMwDA8LEAAhBgwMCyADKALIASADKALsASADKALoAWtBGG1qQQFHBEBB1IkLQQA2AgBBDUGHwQVB0JUDQccAQZjXAxAFQdSJCygCACGmDEHUiQtBADYCACCmDEEBRg0FDA0LQdSJC0EANgIAQboFIANB0ABqIANB0AFqEANB1IkLKAIAIacMQdSJC0EANgIAIKcMQQFGDQQCQCADKAJQIgUNACABKAIAKAIIIagMQdSJC0EANgIAIKgMIAFBwbMDEANB1IkLKAIAIakMQdSJC0EANgIAIKkMQQFHDQAQACEGDAoLAkACfyADKAKQASADKAK0ASADKAKwAWtBGG1qQQFHBEBBxwAhAEHQlQMh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IAEQnQMhBwwVCyAAKAIQIScgA0HYrQspAwAiAjcD2AUgAyACNwPIAiAnIANByAJqEIMEQditCykDACAAIAEoAghB0KELKQMAELsCIAAgASgCDEHQoQspAwAQuwIgACABKAIQQdChCykDABC7AhCSESEHDBQLIAAoAhAhKCADQdCtCykDACICNwPYBSADIAI3A9ACICggA0HQAmoQgwRB0K0LKQMAIAAgASgCCEHQoQspAwAQuwIgACABKAIMQdChCykDABC7AiAAIAEoAhBB0KELKQMAELsCEJIRIQcMEwsgARCRESEHDBILIAEoAgQiBEEHTw0eAkACQCAEQQRrQQJPBEAgBEECRw0BAkACQAJAAkACQAJAAkACQCABKAIIDjgKBwAHAAcHBwcHBwcHBwcHBwcHBwEHBwcHAwcEBwMHBAcCBwcHBwcHBwcHBwcHBwUGBwcHAwQDBAcLQdPUBEGckgNB8QwQYgALQdCkCykDACAAIAEoAgxB0KELKQMAELsCEIAEIQcMGgsgACgCECEpIANBsK0LKQMAIgI3A9gFIAMgAjcD4AIgKSADQeACahCDBCAAKAIQISogA0GYrQspAwAiAjcDoAggAyACNwPYAiAqIANB2AJqEIMEQbCtCykDACAAIAEoAgxB0KELKQMAELsCEJ0DIbYBQZitCykDACG9AUGAqAtBEEEIEF0iAUKAgICAgICAgMAANwMIIAFBATYCACC2ASC9ASABEJ0DEN4LIQcMGQtB2KQLKQMAIgIgAiAAIAEoAgxB0KELKQMAELsCEIAEEIAEIQcMGAtB2KQLKQMAIgIgAiAAIAEoAgxB0KELKQMAELsCEIAEEIAEISsgA0G4pQspAwA3A9gFQYCoC0EQQQgQXSIBQgA3AwggAUEBNgIAIAMgAykD2AU3A+gCICsgA0HoAmogARDzASEHDBcLIAAgASgCDEHQoQspAwAQuwIhLCADQbClCykDADcD2AVBgKgLQRBBCBBdIgFCgICAgICAgJzAADcDCCABQQE2AgAgAyADKQPYBTcD+AIgLCADQfgCaiABEPMBIS0gA0GopQspAwA3A6AIQYCoC0EQQQgQXSIBQoCAgICAgICcwAA3AwggAUEBNgIAIAMgAykDoAg3A/ACIC0gA0HwAmogARDzASEHDBYLIAAgASgCDEHQoQspAwAQuwIhLiAD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BgsgACgCBCIAQQdPDQkgAEEBayIAQQNPBEBB1IQEQemJA0G0AxBiAAsgAEECdEGw/wdqKAIAIQIMBQtBICECDAQLQdSEBEHppAJBvAUQYgALQdSEBEHppAJBvAUQYgALIAApAwghCiAFQQM2AhggBSAKeSIKNwMIQcAAIAqnayECIAVBCGoQWRoMAQtB2/8BQemJA0GjA0HUpgEQAQALIAQgAiACIARLGwshCCAFQSBqJAAgCA8LAAsQACEJIAVBCGoQWRogCRAHAAtB4c0GQZ+fA0HDAUHz5wQQAQALQZmxBUHmmgNBmAJBoq4FEAEAC0HtpgVB5poDQaECQYmkBRABAAumAgEJfyAAKAJQEG8gACgCPCICBEADQCACKAIAIQYgAigCFCIBBEADQCABKAIAIQUgARBaIAUiAQ0ACwsgAigCDCEBIAJBADYCDCABBEAgARBaCyACEFogBiICDQALCyAAKAI0IQEgAEEANgI0IAEEQCABEFoLIAAoAigiAgRAA0AgAigCACEIIAIoAhQiAQRAA0AgASgCACEHIAEQWiAHIgENAAsLIAIoAgwhASACQQA2AgwgAQRAIAEQWgsgAhBaIAgiAg0ACwsgACgCICEBIABBADYCICABBEAgARBaCyAAKAIYEOIIIAAoAggiAQRAA0AgASgCACEJIAEoAhwQkwQgARBaIAkiAQ0ACwsgACgCACEBIABBADYCACABBEAgARBaCyAAC9S9BQT4B38PfgF9AXwjAEEQayINJAAgASABKAIMQQFqIgM2AgwCQCABKAIIIgVFDQAgAyAFTQ0AIAFBmPIAIAEoAgAoAgwRAAALAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAgRAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAigCAEEBaw5cAAECAwQFBgcICQoLDB0eHyAhIiMkXCUNDg8QERITFBUWFxgZ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IAIoAhAQ4AIgBCgCOCIGRQRAIAQgAikCCCL7BzcDQEEAIAQoAghrIAQoAiwgBCgCKGtBGG1GBEBB1IkLQQA2AgBBDUGrkwZB0JUDQagQQYnXAxAFQdSJCygCACE/QdSJC0EANgIAID9BAUYNXwALQdSJC0EANgIAQfQCIARByABqIAFBLGog+wenIARBQGsQBUHUiQsoAgAhQEHUiQtBADYCACBAQQFGDV4gBCgCSCIDQRBqIgUgBCgCCDYCACAFIARBCGpGIgVFBEAgA0EYahBZIQdB1IkLQQA2AgBBwAAgByAEQRBqEAIaQdSJCygCACFBQdSJC0EANgIAIEFBAUYNXwsgBUUEQEHUiQtBADYCAEH1AiADQTBqIAQoAigiAyAEKAIsIgUgBSADa0EYbRAFQdSJCygCACFCQdSJC0EANgIAIEJBAUYNXwsgAEIANwMAIABCADcDMCAAQgA3AyggAEIANwMgIABCADcDGCAAQgA3AxAgAEIANwMICyAEKAIoIgMEQCAEKAIsIgcgAyIFRwRAA0AgB0EYaxBZIgcgA0cNAAsgBCgCKCEFCyAEIAM2AiwgBRBaCyAEQRBqEFkaIAZFDQELQYitCykDACH7ByAAQgA3AyggAEIANwMgIABCADcDGCAAQgA3AxAgAEIANwMIIABCADcDACAAIPsHNwMwCyAEQdAAaiQADAELQcHxBEHQlQNB4RBB4YQBEAEACwxSC0GIrQspAwAh+wcgAEIANwMoIABCADcDICAAQgA3AxggAEIANwMQIABCADcDCCAAQgA3AwAgACD7BzcDMAxRC0GIrQspAwAh+wcgAEIANwMoIABCADcDICAAQgA3AxggAEIANwMQIABCADcDCCAAQgA3AwAgACD7BzcDMAxQC0GIrQspAwAh+wcgAEIANwMoIABCADcDICAAQgA3AxggAEIANwMQIABCADcDCCAAQgA3AwAgACD7BzcDMAxPC0GIrQspAwAh+wcgAEIANwMoIABCADcDICAAQgA3AxggAEIANwMQIABCADcDCCAAQgA3AwAgACD7BzcDMAxOC0GIrQspAwAh+wcgAEIANwMoIABCADcDICAAQgA3AxggAEIANwMQIABCADcDCCAAQgA3AwAgACD7BzcDMAxNC0GIrQspAwAh+wcgAEIANwMoIABCADcDICAAQgA3AxggAEIA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QZyICkG/DhASAAvJCgIFfxF+IwBB4ABrIgUkACAEQv///////z+DIQwgAiAEhUKAgICAgICAgIB/gyEKIAJC////////P4MiDUIgiCEOIARCMIinQf//AXEhBwJAAkAgAkIwiKdB//8BcSIJQf//AWtBgoB+TwRAIAdB//8Ba0GBgH5LDQELIAFQIAJC////////////AIMiC0KAgICAgIDA//8AVCALQoCAgICAgMD//wBRG0UEQCACQoCAgICAgCCEIQoMAgsgA1AgBEL///////////8AgyICQoCAgICAgMD//wBUIAJCgICAgICAwP//AFEbRQRAIARCgICAgICAIIQhCiADIQEMAgsgASALQoCAgICAgMD//wCFhFAEQCACIAOEUARAQoCAgICAgOD//wAhCkIAIQEMAwsgCkKAgICAgIDA//8AhCEKQgAhAQwCCyADIAJCgICAgICAwP//AIWEUARAIAEgC4QhGUIAIQEgGVAEQEKAgICAgIDg//8AIQoMAwsgCkKAgICAgIDA//8AhCEKDAILIAEgC4RQBEBCACEBDAILIAIgA4RQBEBCACEBDAILIAtC////////P1gEQCAFQdAAaiABIA0gASANIA1QIgYbeSAGQQZ0rXynIgZBD2sQuQNBECAGayEGIAUpA1giDUIgiCEOIAUpA1AhAQsgAkL///////8/Vg0AIAVBQGsgAyAMIAMgDCAMUCIIG3kgCEEGdK18pyIIQQ9rELkDIAYgCGtBEGohBiAFKQNIIQwgBSkDQCEDCyADQg+GIgtCgID+/w+DIgIgAUIgiCIEfiIQIAtCIIgiEyABQv////8PgyIBfnwiD0IghiIRIAEgAn58IgsgEVStIAIgDUL/////D4MiDX4iFSAEIBN+fCIRIAxCD4YiEiADQjGIhEL/////D4MiAyABfnwiFCAPIBBUrUIghiAPQiCIhHwiDyACIA5CgIAEhCIMfiIWIA0gE358Ig4gEkIgiEKAgICACIQiAiABfnwiECADIAR+fCISQiCGfCIXfCEBIAcgCWogBmpB//8AayEGAkAgAiAEfiIYIAwgE358IgQgGFStIAQgBCADIA1+fCIEVq18IAIgDH58IAQgBCARIBVUrSARIBRWrXx8IgRWrXwgAyAMfiIDIAIgDX58IgIgA1StQiCGIAJCIIiEfCAEIAJC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QAJAAkACQCABLQAUQQFxDQAgASgCBCIDRQ0AIAMoArgCIAMoArwCIAIpAggQhwMtACRFDQIgBEEIaiABIAIoAhAQ7wIgBCgCOCIGRQRAIAQgAikCCCKFCDcDQEEAIAQoAghrIAQoAiwgBCgCKGtBGG1GBEBB1IkLQQA2AgBBDUGrkwZB0JUDQagQQYnXAxAFQdSJCygCACFFQdSJC0EANgIAIEVBAUYNXwALQdSJC0EANgIAQfQCIARByABqIAFBLGoghQinIARBQGsQBUHUiQsoAgAhRkHUiQtBADYCACBGQQFGDV4gBCgCSCIDQRBqIgUgBCgCCDYCACAFIARBCGpGIgVFBEAgA0EYahBZIQdB1IkLQQA2AgBBwAAgByAEQRBqEAIaQdSJCygCACFHQdSJC0EANgIAIEdBAUYNXwsgBUUEQEHUiQtBADYCAEH1AiADQTBqIAQoAigiAyAEKAIsIgUgBSADa0EYbRAFQdSJCygCACFIQdSJC0EANgIAIEhBAUYNXwsgAEIANwMAIABCADcDMCAAQgA3AyggAEIANwMgIABCADcDGCAAQgA3AxAgAEIANwMICyAEKAIoIgMEQCAEKAIsIgcgAyIFRwRAA0AgB0EYaxBZIgcgA0cNAAsgBCgCKCEFCyAEIAM2AiwgBRBaCyAEQRBqEFkaIAZFDQELQYitCykDACGFCCAAQgA3AyggAEIANwMgIABCADcDGCAAQgA3AxAgAEIANwMIIABCADcDACAAIIUINwMwCyAEQdAAaiQADAELQcHxBEHQlQNB4RBB4YQBEAEACwxSC0GIrQspAwAhhQggAEIANwMoIABCADcDICAAQgA3AxggAEIANwMQIABCADcDCCAAQgA3AwAgACCFCDcDMAxRC0GIrQspAwAhhQggAEIANwMoIABCADcDICAAQgA3AxggAEIANwMQIABCADcDCCAAQgA3AwAgACCFCDcDMAxQC0GIrQspAwAhhQggAEIANwMoIABCADcDICAAQgA3AxggAEIANwMQIABCADcDCCAAQgA3AwAgACCFCDcDMAxPC0GIrQspAwAhhQggAEIANwMoIABCADcDICAAQgA3AxggAEIANwMQIABCADcDCCAAQgA3AwAgACCFCDcDMAxOC0GIrQspAwAhhQggAEIANwMoIABCADcDICAAQgA3AxggAEIANwMQ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aiAHGxACIQNB1IkLKAIAIQVB1IkLQQA2AgACQAJAAkAgBUEBRwRAIAItABAhB0HUiQtBADYCAEGh9gAgBEEgaiIFIAMgCCAGIAcQDEHUiQsoAgAh2AdB1IkLQQA2AgAg2AdBAUYNAUHUiQtBADYCAEGcAyAAIAUQAhpB1IkLKAIAIdkHQdSJC0EANgIAINkHQQFGDQIgBRBZGiADEFkaAkAgBCgCPCIDRQ0AIAMgAygCBCIFQQFrNgIEIAUNACADIAMoAgAoAggRAQAgAxB1CyAEKAJgIgVFDQsgBCgCZCIHIAUiA0cEQANAIAdBGGsQWSIHIAVHDQALIAQoAmAhAwsgBCAFNgJkIAMQWgwLCxAAIQcMAwsQACEHDAELEAAhByAEQSBqEFkaCyADEFkaCyAEQThqEMMCDAQLEAAhBwwDCxAAIQcMIgtBiK0LKQMAIYUIIABCADcDKCAAQgA3AyAgAEIANwMYIABCADcDECAAQgA3AwggAEIANwMAIAAghQg3AzAMBQsQACEHCyAEQUBrEGgMHwsACyAEQcgAahBZGiAEKAKYASIFRQ0AIAQoApwBIgcgBSIDRwRAA0AgB0EYaxBZIgcgBUcNAAsgBCgCmAEhAwsgBCAFNgKcASADEFoLIARBgAFqEFkaCyAEQbABaiQADBcLQYitCykDACGFCCAAQgA3AyggAEIANwMgIABCADcDGCAAQgA3AxAgAEIANwMIIABCADcDACAAIIUINwMwDBYLQYitCykDACGFCCAAQgA3AyggAEIANwMgIABCADcDGCAAQgA3AxAgAEIANwMIIABCADcDACAAIIUINwMwDBULQYitCykDACGFCCAAQgA3AyggAEIANwMgIABCADcDGCAAQgA3AxAgAEIANwMIIABCADcDACAAIIUINwMwDBQLQYitCykDACGFCCAAQgA3AyggAEIANwMgIABCADcDGCAAQgA3AxAgAEIANwMIIABCADcDACAAIIUINwMwDBMLQYitCykDACGFCCAAQgA3AyggAEIANwMgIABCADcDGCAAQgA3AxAgAEIANwMIIABCADcDACAAIIUINwMwDBILQYitCykDACGFCCAAQgA3AyggAEIANwMgIABCADcDGCAAQgA3AxAgAEIANwMIIABCADcDACAAIIUINwMwDBELIwBB0ABrIgQkAAJAIAIoAghB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IgMtAAA6AAAgB0EBaiIHIApHDQALCyAIIAVrQXxNBEADQCACQQFrIANBAWstAAA6AAAgAkECayADQQJrLQAAOgAAIAJBA2sgA0EDay0AADoAACACQQRrIgIgA0EEayIDLQAAOgAAIAMgCEcNAAsLIAAoAgAhBQsgACAJNgIIIAAgBDYCBCAAIAY2AgAgBUUNACAFEFogACgCBCEECyABQRh2IQMgACgCCCICIARLBEAgBCADOgAAIAAgBEEBajYCBCAADwsgBCAAKAIAIgFrIgZBAWoiBUEASA0AIAZB/////wcgAiABayICQQF0IgcgBSAFIAdJGyACQf////8DTxsiBwR/IAcQXAVBAAsiBWoiAiADOgAAIAUgB2ohCCACQQFqIQkCQCABIARGBEAgAiEFDAELAkAgBkEDcSIGRQRAIAQhAwwBC0EAIQcgBCEDA0AgAkEBayICIANBAWsiAy0AADoAACAHQQFqIgcgBkcNAAsLIAEgBGtBfE0EQANAIAJBAWsgA0EBay0AADoAACACQQJrIANBAmstAAA6AAAgAkEDayADQQNrLQAAOgAAIAJBBGsiAiADQQRrIgMtAAA6AAAgASADRw0ACwsgACgCACEECyAAIAg2AgggACAJNgIEIAAgBTYCACAEBEAgBBBaCyAADwsQZAAL0A4BIn8jAEEgayICJAACQCABKAIQQQZGBEAgAS0ADyEDIAEtAA4hBCABLQANIQUgAS0ADCEGIAEtAAshByABLQAKIQggAS0ACSEJIAEtAAghCiABLQAHIQsgAS0ABiEMIAEtAAUhDSABLQAEIQ4gAS0AAyEPIAEtAAIhECABLQABIREgAS0AACEBIABBADYCECAAQgA3AwggAEIANwMAIABCADcDGCAAQgA3AyAgAEEANgIoIABCADcDMCAAQgA3AzggAEFAa0EANgIAIABCADcDSCAAQgA3A1AgAEEANgJYIABCADcDYCAAQgA3A2ggAEEANgJwIABBADYCiAEgAEIANwOAASAAQgA3A3ggAEEANgKgASAAQgA3A5gBIABCADcDkAEgAEIANwOoASAAQgA3A7ABIABBADYCuAEgAEIANwPAASAAQgA3A8gBIABBADYC0AEgAEIANwPYASAAQgA3A+ABIABBADYC6AEgAEIANwPwASAAQgA3A/gBIABBADYCgAIgAEIA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IAIoAgQiBiACKAIIRwRAIAUhAwwBCyACIAZBAXRBAmoiAzYCCCACQYCoCyADQQJ0QQQQXSIDNgIAIAIoAgQiBkUEQEEAIQYMAQtBACEDIAZBBE8EQCAGQXxxIQgDQCADQQJ0IgQgAigCAGogBCAFaigCADYCACAEQQRyIgcgAigCAGogBSAHaigCADYCACAEQQhyIgcgAigCAGogBSAHaigCADYCACAEQQxyIgQgAigCAGogBCAFaigCADYCACADQQRqIgMgCEcNAAsLIAZBA3EiBARAA0AgA0ECdCIIIAIoAgBqIAUgCGooAgA2AgAgA0EBaiEDIAlBAWoiCSAERw0ACwsgAigCACEDCyADIAZBAnRqIAE2AgAgAiACKAIEQQFqNgIEQYCoC0EQQQgQXSIBQQM2AgAgAUEDELQCIQZBgKgLQRBBCBBdIghBADYCACAIQfiiCykDADcCCCAGKAIAQQJHDQAgBigCCCICKAIAIQUCQCACKAIEIgEgAigCCEcEQCAFIQMMAQsgAiABQQF0QQJqIgE2AgggAkGAqAsgAUECdEEEEF0iAzYCACACKAIEIgFFBEBBACEBDAELQQAhCUEAIQMgAUEETwRAIAFBfHEhBwNAIANBAnQiBCACKAIAaiAEIAVqKAIANgIAIARBBHIiCiACKAIAaiAFIApqKAIANgIAIARBCHIiCiACKAIAaiAFIApqKAIANgIAIARBDHIiBCACKAIAaiAEIAVqKAIANgIAIANBBGoiAyAHRw0ACwsgAUEDcSIEBEADQCADQQJ0IgcgAigCAGogBSAHaigCADYCACADQQFqIQMgCUEBaiIJIARHDQALCyACKAIAIQMLIAMgAUECdGogCDYCACACIAIoAgRBAWo2AgRBgKgLQRBBCBBdIgggADcCCCAIQQA2AgAgBigCAEECRw0AIAYoAggiAigCACEFAkAgAigCBCIBIAIoAghHBEAgBSEDDAELIAIgAUEBdEECaiIBNgIIIAJBgKgLIAFBAnRBBBBdIgM2AgAgAigCBCIBRQRAQQAhAQwBC0EAIQlBACEDIAFBBE8EQCABQXxxIQcDQCADQQJ0IgQgAigCAGogBCAFaigCADYCACAEQQRyIgogAigCAGogBSAKaigCADYCACAEQQhyIgogAigCAGogBSAKaigCADYCACAEQQxyIgQgAigC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BkEAIQIgB0EETwRAIAdB/P///wNxIQQDQCACQQJ0IgsgAygC0AFqQQA2AgAgAygC0AEgC2pBADYCBCADKALQASALakEANgIIIAMoAtABIAtqQQA2AgwgAkEEaiICIARHDQALCyAIBEADQCADKALQASACQQJ0akEANgIAIAJBAWohAiAGQQFqIgYgCEcNAAsLIAMoAtgBIgJFBEAgByEEDAILIAIoAgQhCAJAIAcgB0EBayIMcQRAIAcgCE0EQCAIIAdwIQgLIAMoAtABIAhBAnRqIBE2AgAgAigCACIGDQEgByEEDAMLIAMoAtABIAggDHEiCEECdGogETYCACACKAIAIgRFBEAgByEEDAMLA0ACQCAIIAQoAgQgDHEiBkYEQCAEIQIMAQsgBkECdCIKIAMoAtABaiILKAIABEAgAiAEKAIANgIAIAQgAygC0AEgCmooAgAoAgA2AgAgAygC0AEgCmooAgAgBDYCAAwBCyALIAI2AgAgBCECIAYhCAsgAigCACIEDQALIAchBAwCCwNAIAcgBigCBCIETQRAIAQgB3AhBAsCQCAEIAhGBEAgBiECDAELIARBAnQiCiADKALQAWoiCygCAEUEQCALIAI2AgAgBiECIAQhCAwBCyACIAYoAgA2AgAgBiADKALQASAKaigCACgCADYCACADKALQASAKaigCACAGNgIACyACKAIAIgYNAAsgByEEDAELIAMoAtABIQIgA0EANgLQASACBEAgAhBaC0EAIQQgA0EANgLUAQsgBCAEQQFrIgJxRQRAIAIgCXEhCQwBCyAEIAlLDQAgCSAEcCEJCyADKAKIAiECIAlBAnQiByADKALQAWooAgAiBg0DIAIgAygC2AE2AgAgAyACNgLYASADKALQASAHaiARNgIAIAIoAgAiB0UNBSAHKAIEIQYgBCAEQQFrIgdxDQEgBiAHcSEGDAILEAAhBiADQYgCahDjEAwUCyAEIAZLDQAgBiAEcCEGCyADKALQASAGQQJ0aiEGDAELIAIgBigCADYCAAsgBiACNgIACyADIAMoAtwBQQFqNgLcAQsCQAJ/AkACQCANDQAgBS0AASEHAkACQCAFKAIQDgQBAgADAgtB+fPd8XlBufPd8XkgBxsiDCAHcyENIAUoAhgiByAFKAIUIgZrQQxtIQRBACEJIAYgB0YNBANAIAYgCUEM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iQtBADYCAEH8ASADQZvfBhACIQFB1IkLKAIAIQpB1IkLQQA2AgAgCkEBRwRAIAIgASgCCDYCGCACIAEpAgA3AxAgAUIANwIAIAFBADYCCEHUiQtBADYCAEHQASAEIAJBEGogABAEIQBB1IkLKAIAIQtB1IkLQQA2AgBBASEDIAtBAUcEQEHUiQtBADYCAEHNASAAQbC5B0HOARAIQdSJCygCACEMQdSJC0EANgIAQQAhAyAMQQFHDQcLEAAhACACLAAbQQBIBEAgAigCEBBaCyABLAALQQBIBEAgASgCABBaCyADDQQMBQsQACEAIAIsAA9BAE4NAyACKAIEEFoMAwsgAkEwaiQAIA2nQf8BcQ8LEAAhAAwBCxAAIQALIAQQbgsgABAHCwAL9QEBBX8jAEEgayIDJAACQAJAAkAgACgCJCICIAAoAggiBCgCBCAEKAIAIgRrTwRAIANBFGpBitAAEMgBIQFB1IkLQQA2AgBBsAIgACABEANB1IkLKAIAIQVB1IkLQQA2AgAgBUEBRw0BEAAhACABLAALQQBODQMMAgsgACACQQFqNgIkIAEgAiAEai0AACICTQRAIANBCGpB3CoQyAEhAUHUiQtBADYCAEGwAiAAIAEQA0HUiQsoAgAhBkHUiQtBADYCACAGQQFHDQEQACEAIAEsAAtBAEgNAgwDCyADQSBqJAAgAg8LAAsgASgCABBaCyAAEAcAC9AOASJ/IwBBIGsiAiQAAkAgASgCEEEGRgRAIAEsAA8hAyABLAAOIQQgASwADSEFIAEsAAwhBiABLAALIQcgASwACiEIIAEsAAkhCSABLAAIIQogASwAByELIAEsAAYhDCABLAAFIQ0gASwABCEOIAEsAAMhDyABLAACIRAgASwAASERIAEsAAAhASAAQQA2AhAgAEIANwMIIABCADcDACAAQgA3AxggAEIANwMgIABBADYCKCAAQgA3AzAgAEIANwM4IABBQGtBADYCACAAQgA3A0ggAEIANwNQIABBADYCWCAAQgA3A2AgAEIANwNoIABBADYCcCAAQQA2AogBIABCADcDgAEgAEIANwN4IABBADYCoAEgAEIANwOYASAAQgA3A5ABIABCADcDqAEgAEIANwOwASAAQQA2ArgBIABCADcDwAEgAEIANwPIASAAQQA2AtABIABCADcD2AEgAEIANwPg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IAIQWgsPCxBkAAsQagAL/iACGn8BfiMAQSBrIgskAAJAAkACQAJAAkACQAJAAkACQAJAIAsgARCHCSICKAIYIAIoAhQiA2tBAnUgAigCAGoiBQR/IAJBBGohBkEAIQMDQCADIAIoAgAgAigCGCACKAIUIgRrQQJ1aiIHTwRAQdSJC0EANgIAQQ1Bm48GQf+XA0HKAEGFMhAFQdSJCygCACEMQdSJC0EANgIAIAxBAUYNAwALIAYgByADQX9zaiIHQQJ0IghqIAQgCGpBEGsgB0EESRsoAgAoAgAhBEHUiQtBADYCAEHv9wAgACAEEANB1IkLKAIAIQ1B1IkLQQA2AgAgDUEBRg0CIAQoAgQiBEEBRwRAIANBAWoiAyAFRw0BCwsgAigCFCEDIARBAUcFQQELIQ4gAwRAIAIgAzYCGCADEFoLIA5FDQggASgCACICQQFrIgNBA08gAkEza0EBS3ENByADDlwBAgMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAQFCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAYLEAAhDyACKAIUIgAEQCACIAA2AhggABBaCyAPEAcACyAAIQVBACEDQQAhAEEAIQQCQCABKAIIRQRAA0AgAyABKAIUTw0CIAUgASgCECADQQJ0aigCACIAEMEDIANBAWohAyAAKAIEQQFHDQALDAELAkACQAJAIAEoAhRFDQAgASgCECgCACgCAEEBRw0AAkADQCABIgYoAhRFDQEgASgCECgCACIBQQAgASgCAEEBRhsiAUUNAQJAAkAgAyAERwRAIAQgBjYCAAwBCyADIABrIgJBAnUiCUEBaiIEQYCAgIAETwRAQdSJC0EANgIAQZcDEAlB1IkLKAIAIRBB1IkLQQA2AgAgEEEBRg0GDAcLAkBB/////wMgAkEBdSIHIAQgBCAHSRsgAkH8////B08bIgdFBEBBACEIDAELIAdBgICAgARPBEBB1IkLQQA2AgBBAxAJQdSJCygCACERQdSJC0EANgIAIBFBAUcNCAwHC0HUiQtBADYCAEEEIAdBAnQQBiEIQdSJCygCACESQdSJC0EANgIAIBJBAUYNAgsgCCAJQQJ0aiIEIAY2AgAgBCECIAAgA0cEQANAIAJBBGsi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zgJBssMDEAEAC6ABAQR/IwBBIGsiAyQAAkACQCABQRBPBEAgAS0AAA0BCyADIAI2AhggAyABNgIUIANBADoADEHUiQtBADYCACADQQE2AhBBB0HYnQsgA0EMaiIBEAIhAkHUiQsoAgAhBUHUiQtBADYCACAFQQFHDQEQACEGIAEQdyAGEAcAC0H+0AZBuLMCQegFQbiMBBABAAsgACACNgIAIANBIGokACAAC6glAid/AX4jAEEgayIJJAACQAJAAkACQAJAAkACQAJAAkACQAJAIAkgARCHCSIHKAIYIAcoAhQiCGtBAnUgBygCAGoiAwR/IAdBBGohBEEAIQgDQCAIIAcoAgAgBygCGCAHKAIUIgVrQQJ1aiICTwRAQdSJC0EANgIAQQ1Bm48GQf+XA0HKAEGFMhAFQdSJCygCACELQdSJC0EANgIAIAtBAUYNAwALIAQgAiAIQX9zaiIGQQJ0IgJqIAIgBWpBEGsgBkEESRsoAgAoAgAhBkHUiQtBADYCAEH5ACAAIAYQA0HUiQsoAgAhDEHUiQtBADYCACAMQQFGDQIgBigCBCICQQFHBEAgCEEBaiIIIANHDQELCyAHKAIUIQggAkEBRwVBAQshDSAIBEAgByAINgIYIAgQWgsgDUUNCCAALQCMAQRAIAAoAgQgASAAKAIAEJAFCyABKAIAIgZBAWsiAkEDTyAGQTNrQQFLcQ0HIAIOXAECAwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBAUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBgsQACEOIAcoAhQiAQRAIAcgATYCGCABEFoLIA4QBwALIAAhA0EAIQRBACEFQQAhBiABQRBqIQICQCABKAIIRQRAA0AgBCABKAIUTw0CIAMgASgCECAEQQJ0aigCACIAEMoDIARBAWohBCAAKAIEQQFHDQALDAELAkACQAJAIAEoAhRFDQAgASgCECgCACgCAEEBRw0AIANBCGohCgNAAkAgASIAKAIQKAIAIgEoAgBBAUcEQCAAIQEMAQsCQCAEIAVHBEAgBSAANgIADAELIAQgBmsiCEECdSIFQQFqIgdBgICAgARPBEBB1IkLQQA2AgBBlwMQCUHUiQsoAgAhD0HUiQtBADYCACAP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ACAEQv///////////wCDIQkCQAJAIAFQIgUgAkL///////////8AgyIKQoCAgICAgMD//wB9QoCAgICAgMCAgH9UIApQG0UEQCADQgBSIAlCgICAgICAwP//AH0iC0KAgICAgIDAgIB/ViALQoCAgICAgMCAgH9RGw0BCyAFIApCgICAgICAwP//AFQgCkKAgICAgIDA//8AURtFBEAgAkKAgICAgIAghCEEIAEhAwwCCyADUCAJQoCAgICAgMD//wBUIAlCgICAgICAwP//AFEbRQRAIARCgICAgICAIIQhBAwCCyABIApCgICAgICAwP//AIWEUARAQoCAgICAgOD//wAgAiABIAOFIAIgBIVCgICAgICAgICAf4WEUCIFGyEEQgAgASAFGyEDDAILIAMgCUKAgICAgIDA//8AhYRQDQEgASAKhFAEQCADIAmEQgBSDQIgASADgyEDIAIgBIMhBAwCCyADIAmEQgBSDQAgASEDIAIhBAwBCyADIAEgASADVCAJIApWIAkgClEbIggbIQogBCACIAgbIgxC////////P4MhCSACIAQgCBsiC0IwiKdB//8BcSEHIAxCMIinQf//AXEiBUUEQCAGQeAAaiAKIAkgCiAJIAlQIgUbeSAFQQZ0rXynIgVBD2sQuQMgBikDaCEJIAYpA2AhCkEQIAVrIQULIAEgAyAIGyEDIAtC////////P4MhASAHBH4gAQUgBkHQAGogAyABIAMgASABUCIHG3kgB0EGdK18pyIHQQ9rELkDQRAgB2shByAGKQNQIQMgBikDWAtCA4YgA0I9iIRCgICAgICAgASEIQEgCUIDhiAKQj2IhCENIAIgBIUhBAJ+IANCA4YiAiAFIAdGDQAaIAUgB2siB0H/AEsEQEIAIQFCAQwBCyAGQUBrIAIgAUGAASAHaxC5AyAGQTBqIAIgASAHENAFIAYpAzghASAGKQMwIAYpA0AgBikDSIRCAFKthAshCSANQoCAgICAgIAEhCELIApCA4YhCgJAIARCAFMEQEIAIQNCACEEIAkgCoUgASALhYRQDQIgCiAJfSECIAsgAX0gCSAKVq19IgRC/////////wNWDQEgBkEgaiACIAQgAiAEIARQIgcbeSAHQQZ0rXynQQxrIgcQuQMgBSAHayEFIAYpAyghBCAGKQMgIQIMAQsgCSAKfCIC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IQEgAEEANgKkAiABBEAgARBaCyAAKAKYAiIBBEADQCABKAIAIQggARBaIAgiAQ0ACwsgACgCkAIhASAAQQA2ApACIAEEQCABEFoLIAAoAoQCIgEEQANAIAEoAgAhCSABEFogCSIBDQALCyAAKAL8ASEBIABBADYC/AEgAQRAIAEQWgsgACgC8AEiAQRAA0AgASgCACEKIAEQWiAKIgENAAsLIAAoAugBIQEgAEEANgLoASABBEAgARBaCyAAKALcASIBBEADQCABKAIAIQsgARBaIAsiAQ0ACwsgACgC1AEhASAAQQA2AtQBIAEEQCABEFoLIAAoAsgBIgEEQANAIAEoAgAhDCABEFogDCIBDQALCyAAKALAASEBIABBADYCwAEgAQRAIAEQWgsgAEGoAWoQvwQaIAAoApwBIgQEQANAIAQoAgAhDiAEKAIcIgEEQANAIAEoAgAhDSABEFogDSIBDQALCyAEKAIUIQEgBEEANgIUIAEEQCABEFoLIAQQWiAOIgQNAAsLIAAoApQBIQEgAEEANgKUASABBEAgARBaCyAAKAJ4IgMEQCAAKAJ8IgIgAyIBRwRAA0AgAkEMayEBIAJBAWssAABBAEgEQCABKAIAEFoLIAEiAiADRw0ACyAAKAJ4IQELIAAgAzYCfCABEFoLIAAoAnQhAiAAQQA2AnQgAgRAIAIoAiAiAQRAIAIgATYCJCABEFoLIAIoAhQiAQRAIAIgATYCGCABEFoLIAIQWgsgACgCaCIDBEAgACgCbCIBIAMiAkcEQANAIAFBGGsiAigCDCIEBEAgAUEIayAENgIAIAQQWgsgAUENaywAAEEASARAIAIoAgAQWgsgAiIBIANHDQALIAAoAmghAgsgACADNgJsIAIQWgsgACgCVCIDBEAgACgCWCIBIAMiAkcEQANAIAFBBGsiASgCACECIAFBADYCACACBEAgAhBaCyABIANHDQALIAAoAlQhAgsgACADNgJYIAIQWgsgACgCSCIDBEAgACgCTCIBIAMiAkcEQANAIAFBBGsiASgCACEEIAFBADYCACAEBEAgBCgCHCICBEAgBCACNgIgIAIQWgsgBBBaCyABIANHDQALIAAoAkghAgsgACADNgJMIAIQWgsgACgCPCIDBEAgAEFAaygCACIBIAMiAkcEQANAIAFBBGsiASgCACECIAFBADYCACACBEAgAhBaCyABIANHDQALIAAoAjwhAgsgACADNgJAIAIQWgsgACgCMCIDBEAgACgCNCIBIAMiAkcEQANAIAFBBGsiASgCACEEIAFBADYCACAEBEAgBCgCHCICBEAgBCACNgIgIAIQWgsgBBBaCyABIANHDQALIAAoAjAhAgsgACADNgI0IAIQWgsgACgCJCIDBEAgACgCKCIBIAMiAkcEQANAIAFBBGsiASgCACECIAFBADYCACACBEAgAhBaCyABIANHDQALIAAoAiQhAgsgACADNgIoIAIQWgsgACgCGCIDBEAgACgCHCIBIAMiAkcEQANAIAFBBGsiASgCACECIAFBADYCACACBEAgAhBaCyABIANHDQALIAAoAhghAgsgACADNgIcIAIQWgsgACgCDCIDBEAgACgCECIBIAMiAkcEQANAIAFBBGsiASgCACECIAFBADYCACACBEAgAhCkAhBaCyABIANHDQALIAAoAgwhAgsgACADNgIQIAIQWgsgACgCACIDBEAgACgCBCIBIAMiAkcEQANAIAFBBGsiASgCACECIAFBADYCACACBEAgAhBaCyABIANHDQALIAAoAgAhAgsgACADNgIEIAIQWgsgAAvGAgIIfwF+AkAgACgCBCIGRQ0AIAFCIIgiCqchBSABpyEHIABBBGoiCCEDIAYhBANAAkAgBCkCECIBpyAHIAUgAUIgiCIBpyICIAIgBUsbEF4iAg0AQQAhAiABIApRDQBBf0EBIAEgClQbIQILIAMgBCACQQBIIgIbIQMgBEEEaiAEIAIbKAIAIgQNAAsgAyAIRg0AAkAgByADKQIQIgGnIAFCIIgiAaciAiAFIAIgBUkbEF4iAkUEQCABIApYDQEMAgsgAkEASA0BCwJAIAMoAgQiAkUEQCADIQIDQCACKAIIIgQoAgAgAkchCSAEIQIgCQ0ACwwBCwNAIAIiBCgCACICDQALCyADIAAoAgBGBEAgACAENgIACyAAIAAoAghBAWs2AgggBiADEOUBIAMoAhgiAARAIAMgADYCHCAAEFoLIAMQWgsLTgEEfyAAKAIIIgEEQANAIAEoAgAhBCABKAIMIgMEQCABIAM2AhAgAxBaCyABEFogBCIBDQALCyAAKAIAIQIgAEEANgIAIAIEQCACEFoLC38CAn8BfiMAQRBrIgMkACAAAn4gAUUE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DAILQQEhAyACRQ0BC0EAIQMgBkEASA0AQeinCygCACAFQShsai0AIARAIAJBH3YPCyACQQBKIQMLIAMPC0H/9wVB5IYDQa4DQaaIBRABAAtB5IoFQeSGA0HyCEGltgEQAQALQcWiAUGJogNBvAFBpogFEAEACysBAX8jAEEQayICJAAgAiABNgIMQZCCCyAAIAFBAEEAEMoSGiACQRBqJAALrggBCn9BgKgLQRBBCBBdIgJBAzYCACACQQMQtAIhCkGAqAtBEEEIEF0iCEEANgIAIAhB0KMLKQMANwIIIAooAgBBAkYEQAJAIAooAggiAygCACEGAkAgAygCBCIFIAMoAghHBEAgBiECDAELIAMgBUEBdEECaiICNgIIIANBgKgLIAJBAnRBBBBdIgI2AgAgAygCBCIFRQRAQQAhBQwBC0EAIQIgBUEETwRAIAVBfHEhBwNAIAJBAnQiBCADKAIAaiAEIAZqKAIANgIAIARBBHIiCyADKAIAaiAGIAtqKAIANgIAIARBCHIiCyADKAIAaiAGIAtqKAIANgIAIARBDHIiBCADKAIAaiAEIAZqKAIANgIAIAJBBGoiAiAHRw0ACwsgBUEDcSIEBEADQCACQQJ0IgcgAygCAGogBiAHaigCADYCACACQQFqIQIgCUEBaiIJIARHDQALCyADKAIAIQILIAIgBUECdGogCDYCACADIAMoAgRBAWo2AgRBgKgLQRBBCBBdIgggADcCCCAIQQA2AgAgCigCAEECRw0AIAooAggiAygCACEGAkAgAygCBCIFIAMoAghHBEAgBiECDAELIAMgBUEBdEECaiICNgIIIANBgKgLIAJBAnRBBBBdIgI2AgAgAygCBCIFRQRAQQAhBQwBC0EAIQlBACECIAVBBE8EQCAFQXxxIQcDQCACQQJ0IgQgAygCAGogBCAGaigCADYCACAEQQRyIgsgAygCAGogBiALaigCADYCACAEQQhyIgsgAygCAGogBiALaigCADYCACAEQQxyIgQgAygCAGogBCAGaigCADYCACACQQRqIgIgB0cNAAsLIAVBA3EiBARAA0AgAkECdCIHIAMoAgBqIAYgB2ooAgA2AgAgAkEBaiECIAlBAWoiCSAERw0ACwsgAygCACECCyACIAVBAnRqIAg2AgAgAyADKAIEQQFqNgIEIAooAgBBAkcNACAK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KQMAIQMgAkEENgIAIAAgAyACQThqIAUQvAIoAgBBABDwAyAAQbitCykDAEEAQQUQ8ANBwK0LKQMAIQMgAkEFNgIAIAAgAyACQTRqIAUQvAIoAgBBABDwA0HIrQspAwAhAyACQoKAgIAgNwIIIAJCgoCAgCA3AgAgACADIAJBMGogBEKAgICAwACEELwCKAIAQQAQ8ANB0K0LKQMAIQMgAkECNgIIIAJCgoCAgCA3AgAgACADIAJBLGogBEKAgICAMIQiAxC8AigCAEEAEPADQditCykDACEGIAJBAjYCCCACQoKAgIAgNwIAIAAgBiACQShqIAMQvAIoAgBBABDwA0HgrQspAwAhAyACQQI2AgAgACADIAJBJGogBRC8AigCAEEAEPADQeitCykDACEFIAJBgKwHKAIANgIQIAJB+KsHKQIANwMIIAJB8KsHKQIANwMAIAAgBSACQSBqIARCgICAgNAAhBC8AigCAEECEPADQfCtCykDACEFIAJBlKwHKQIANwMQIAJBjKwHKQIANwMIIAJBhKwHKQIANwMAIAAgBSACQRxqIARCgICAgOAAhBC8AigCAEECEPADIABB+K0LKQMAQQBBAhDwAyAAQYCuCykDAEEAQQAQ8AMgAkHQAGokAAsbACAABEAgACgCABCEBCAAKAIEEIQEIAAQWgsLTgEDfyAAKAIUIgIEQANAIAIoAgAhAyACEFogAyICDQALCyAAKAIMIQEgAEEANgIMIAEEQCABEFoLIAAoAgAiAQRAIAAgATYCBCABEFoLC9wCAQh/IwBB0ABrIgIkACACIAJBOGoiAzYCSCACQgA3AhQgAkIANwIcIAJCADcCJCACQQE6ADAgAkGAgID8AzYCLCACIAA2AgggAkGcuwc2AjggAkIANwIMQdSJC0EANgIAIAIgAkEIaiIANgI8QcAFIAAgARACIQRB1IkLKAIAIQZB1IkLQQA2AgAgBkEBRwRAAkACQCADIAIoAkgiAEYEQEEEIQEgAyEADAELQQUhASAARQ0BCyAAIAAoAgAgAUECdGooAgARAQALAkAgAi0AMEUNACACKAIkIgEEQANAIAEoAgAhCCABKAIcIgAEQANAIAAoAgAhByAAEFogByIADQALCyABKAIUIQAgAUEANgIUIAAEQCAAEFoLIAEQWiAIIgENAAsLIAIoAhwhACACQQA2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KAIAIQwgARBaIAwiAQ0ACwsgAygCACEAIANBADYCACAABEAgABBaCyAEKAIUIgEgAkcNAAsgBCgCDCEBCyABBEAgARBaCyAEQSBqJAAPCxAAIQ0gBEEMahDqDyANEAcACxBkAAsQagALjAMBCn8gAEHQvAc2AgAgACgC3AEiAQRAA0AgASgCACEFIAEQWiAFIgENAAsLIAAoAtQBIQEgAEEANgLUASABBEAgARBaCyAAKALIASIBBEADQCABKAIAIQYgARBaIAYiAQ0ACwsgACgCwAEhASAAQQA2AsABIAEEQCABEFoLIAAoArQBIgEEQANAIAEoAgAhByABEFogByIBDQALCyAAKAKsASEBIABBADYCrAEgAQRAIAEQWgsgACgCoAEiAQRAA0AgASgCACEIIAEQWiAIIgENAAsLIAAoApgBIQEgAEEANgKYASABBEAgARBaCyAAKAKMASICBEADQCACKAIAIQogAigCGCIBBEADQCABKAIAIQkgARBaIAkiAQ0ACwsgAigCECEBIAJBADYCECABBEAgARBaCyACEFogCiICDQALCyAAKAKEASEBIABBADYChAEgAQRAIAEQWgsgACgCbCIBBEAgACABNgJwIAEQWgsgAEGQ7Qk2AgAgACwAE0EASARAIAAoAggQWgsgAAvsAQEEfyMAQRBrIgMkAAJAAkACQCAAKAIAIgFBB08EQEEBIQICQCABKAIEDgIAAgMLIAEoAgwiBCABKAIIIgFGDQIgAyABKAIANgIMQQAhAiADQQxqEJcERQ0CQQEhAiAEIAFrIgFBBEYNAiABQQJ1IQRBASEBA0AgACgCACICQQdJDQQgAigCBA0EIAMgAigCCCABQQJ0aigCADYCDCADQQxqEJcEIgJFDQMgAUEBaiIBIARHDQALDAILIAFBAUshAgwBCyABKAIMQQBHIQILIANBEGokACACDwtB3cMGQbizAkHYCEGg1gUQAQAL3QIBA38jAEEgayIDJAAgACgCBEEUQQQQXSIEIAI2AgggBEIhNwIAIARCADcCDCADIAAgAUEBEGkiBRCkASICNgIUAkAgBSgCKCIFRQ0AIAAoAtABRQ0AIANBCGogACAFEKMBIANBGGogACgC0AFB4ABqIAIgA0EUahB4IAMoAhgiBSADKAIQNgIUIAUgAykCCDcCDAsgBCACNgIMIAMg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DAELIAAoAgQiByADSQRAIAEgA2shAiADIAMgB2tBAnVBAWpBfm1BAnQiBWohBCABIANHBEAgBCADIAL8CgAAIAAoAgghAQsgACACIARqIgM2AgwgACABIAVqNgIIDAELQQEgASAHa0EBdSABIAdGGyICQf////8DSw0CQdSJC0EANgIAQQQgAkECdCIKEAYhCEHUiQsoAgAhDUHUiQtBADYCACANQQFGDQQgCCACQXxxaiICIQQgASADRwRAIAIgASADa2ohBCACIQUDQCAFIAMoAgA2AgAgA0EEaiEDIAVBBGoiBSAERw0ACwsgACAIIApqNgIQIAAgBDYCDCAAIAI2AgggACAINgIEIAcQWiAAKAIMIQMLIAMgCTYCACAAIAAoAgxBBGo2AgwMBQsgACgCECICIAAoAgQiBGsiBSAISwRAIAEgAkcEQEHUiQtBADYCAEEEQYAgEAYhAkHUiQsoAgAhDkHUiQtBADYCACAOQQFGDQQgASACNgIAIAAgACgCDEEEajYCDAwGC0HUiQtBADYCAEEEQYAgEAYhCkHUiQsoAgAhD0HUiQtBADYCACAPQQFGDQMCQCADIARHBEAgAyEBDAELQQEgAiADa0EBdSAJGyIBQf////8DSw0CQdSJC0EANgIAQQQgAUECdCIMEAYhB0HUiQsoAgAhEEHUiQtBADYCACAQQQFGDQQgByABQQNqQXxxaiIBIQIgCUUEQCABIAhqIQIgASEFIAMhBANAIAUgBCgCADYCACAEQQRqIQQgBUEEaiIFIAJHDQALCyAAIAcgDGo2AhAgACACNgIMIAAgATYCCCAAIAc2AgQgA0UNACADEFogACgCCCEBCyABQQRrIAo2AgAgACAAKAIIIgNBBGsiATYCCCABKAIAIQggACADNgIIAkAgACgCDCIFIAAoAhBHDQAgACgCBCICIANJBEAgBSADayEBIAMgAyACa0ECdUEBakF+bUECdCIEaiECIAMgBUcEQCACIAMgAfwKAAAgACgCCCEDCyAAIAEgAmoiBTYCDCAAIAMgBGo2AggMAQtBASAFIAJrQQF1IAIgBUYbIgFB/////wNLDQJB1IkLQQA2AgBBBCABQQJ0IgkQBiEHQdSJCygCACERQdSJC0EANgIAIBFBAUYNBCAHIAFBfHFqIgEhBCADIAVHBEAgASAFIANraiEEIAEh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ACABNgKMAUHUiQtBADYCACADIAE2AgxBkooBIABB9ABqIANBDGoQA0HUiQsoAgAhBEHUiQtBADYCACAEQQFHBEAgAygCDCIBBEAgASgCGCICBEAgASACNgIcIAIQWgsgASgCDCICBEAgASACNgIQIAIQWgsgASgCACICBEAgASACNgIEIAIQWgsgARBaCyAAKAKMASEFIANBEGokACAFDwsQACEGIANBDGoQnQggBhAHAAvUAwIEfwR8IAMoAgAiBCgCACAEKAIEIAEoAgAQrgIhBSAEKAIAIAQoAgQgACgCABCuAiIEKAIAIQYgBSgCACEHIAQrAwghCCAFKwMIIQkgAygCACIEKAIAIAQoAgQgAigCABCuAiEFIAQoAgAgBCgCBCABKAIAEK4CIQQgBSsDCCIKIAQrAwgiC2MgBSgCACAEKAIASyAKIAtiGyEEAkAgCCAJZCAGIAdJIAggCWIbRQRAIARFDQEgASgCACEEIAEgAigCADYCACACIAQ2AgAgAygCACICKAIAIAIoAgQgASgCABCuAiEDIAIoAgAgAigCBCAAKAIAEK4CIQIgAysDCCIIIAIrAwgiCWMgAygCACACKAIASyAIIAliG0EBRw0BIAAoAgAhAiAAIAEoAgA2AgAgASACNgIADwsgACgCACEFIAQEQCAAIAIoAgA2AgAgAiAFNgIADwsgACABKAIANgIAIAEgBTYCACADKAIAIgAoAgAgACgCBCACKAIAEK4CIQMgACgCACAAKAIEIAEoAgAQrgIhACADKwMIIgggACsDCCIJYyADKAIAIAAoAgBLIAggCWIbQQFHDQAgASgCACEAIAEgAigCADYCACACIAA2AgALC5gCAQd/AkAgACgCPEUNACAAKAI4IgEoAgAiAiAAKAI0KAIEIgM2AgQgAyACNgIAIABBADYCPCABIABBNGoiA0YNAANAIAEoAgQhBCABEFogBCIBIANHDQALCyAAKAIoIgEEQANAIAEoAgAhBSABEFogBSIBDQALCyAAKAIgIQEgAEEANgIgIAEEQCABEFoLAkAgACgCHEUNACAAKAIYIgEoAgAiAiAAKAIUKAIEIgM2AgQgAyACNgIAIABBADYCHCABIABBFGoiA0YNAANAIAEoAgQhBiABEFogBiIBIANHDQALCyAAKAIIIgEEQANAIAEoAgAhByABEFog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QRBBCBBdIgFBAzYCACABQQMQtAIhCUGAqAtBEEEIEF0iCkEANgIAIApB+KILKQMANwIIIAkoAgBBAkYEQAJAIAkoAggiAigCACEFAkAgAigCBCIEIAIoAghHBEAgBSEBDAELIAIgBEEBdEECaiIBNgIIIAJBgKgLIAFBAnRBBBBdIgE2AgAgAigCBCIERQRAQQAhBAwBC0EAIQEgBEEETwRAIARBfHEhBgNAIAFBAnQiAyACKAIAaiADIAVqKAIANgIAIANBBHIiByACKAIAaiAFIAdqKAIANgIAIANBCHIiByACKAIAaiAFIAdqKAIANgIAIANBDHIiAyACKAIAaiADIAVqKAIANgIAIAFBBGoiASAGRw0ACwsgBEEDcSIDBEADQCABQQJ0IgYgAigCAGogBSAGaigCADYCACABQQFqIQEgCEEBaiIIIANHDQALCyACKAIAIQELIAEgBEECdGogCjYCACACIAIoAgRBAWo2AgRBgKgLQRBBCBBdIgogADcCCCAKQQA2AgAgCSgCAEECRw0AIAkoAggiAigCACEFAkAgAigCBCIEIAIoAghHBEAgBSEBDAELIAIgBEEBdEECaiIBNgIIIAJBgKgLIAFBAnRBBBBdIgE2AgAgAigCBCIERQRAQQAhBAwBC0EAIQhBACEBIARBBE8EQCAEQXxxIQYDQCABQQJ0IgMgAigCAGogAyAFaigCADYCACADQQRyIgcgAigCAGogBSAHaigCADYCACADQQhyIgcgAigCAGogBSAHaigCADYCACADQQxyIgMgAigCAGogAyAFaigCADYCACABQQRqIgEgBkcNAAsLIARBA3EiAwRAA0AgAUECdCIGIAIoAgBqIAUgBmooAgA2AgAgAUEBaiEBIAhBAWoiCCADRw0ACwsgAigCACEBCyABIARBAnRqIAo2AgAgAiACKAIEQQFqNgIEQYCoC0EQQQgQXSIBQQM2AgAgAUEAELQCIQogCSgCAEECRw0AIAkoAggiAigCACEFAkAgAigCBCIEIAIoAghHBEAgBSEBDAELIAIgBEEBdEECaiIBNgIIIAJBgKgLIAFBAnRBBBBdIgE2AgAgAigCBCIERQRAQQAhBAwBC0EAIQhBACEBIARBBE8EQCAEQXxxIQYDQCABQQJ0IgMgAigCAGogAyAFaigCADYCACADQQRyIgcgAigCAGogBSAHaigCADYCACADQQhyIgcgAigCAGogBSAHaigCADYCACADQQxyIgMgAigCAGogAyAFaigCADYCACABQQRqIgEgBkcNAAsLIARBA3EiAwRAA0AgAUECdCIGIAIoAgBqIAUgBmooAgA2AgAgAUEBaiEBIAhBAWoiCCADRw0ACwsgAigCACEBCyABIARBAnRqIAo2AgAgAiACKAIEQQFqNgIEIAkPCwtB//cFQeSGA0GzA0H4+wIQAQALlwMCCH8BfhC7AyEJIAAoAgAoAgAiACgCAEECRgRAIAAoAggiAygCACEGAkAgAygCBCIFIAMoAghHBEAgBiEADAELIAMgBUEBdEECaiIANgIIIANBgKgLIABBAnRBBBBdIgA2AgAgAygCBCIFRQRAQQAhBQwBC0EAIQAgBUEETwRAIAVBfHEhBwNAIABBAnQiBCADKAIAaiAEIAZqKAIANgIAIARBBHIiCCADKAIAaiAGIAhqKAIANgIAIARBCHIiCCADKAIAaiAGIAhqKAIANgIAIARBDHIiBCADKAIAaiAEIAZqKAIANgIAIABBBGoiACAHRw0ACwsgBUEDcSIEBEADQCAAQQJ0IgcgAygCAGogBiAHaigCADYCACAAQQFqIQAgCkEBaiIKIARHDQALCyADKAIAIQALIAAgBUECdGogCTYCACADIAMoAgRBAWo2AgRBqKALKQMAIQtBgKgLQRBBCBBdIgAgCzcCCCAAQQA2AgAgCSABIAIgABCdAxCBBBC6Aw8LQf/3BUHkhgNBswNB+PsCEAEACwcAIAEQWRoLhQICAn8BfiMAQSBrIgIkACABKAIQIgNBB0kEQAJAAkACQAJAAkACQCADQQJrDgQEAAECAwsgASkDACEEIABBAzYCECAAQgAgBH03AwAMBAsgASgCACEBIAJBAjYCGCACIAFBgICAgHhzIgE2AgggACABNgIAIABBBDYCECACQQhqEFkaDAMLIAEpAwAhBCACQQM2AhggAiAEQoCAgICAgICAgH+FIgQ3AwggACAENwMAIABBBTYCECACQQhqEFkaDAILQe+EBEHppAJBjAcQYgALIAEoAgAhASAAQQI2AhAgAEEAIAFrNgIACyACQSBqJAAPC0HhzQZBn58DQcMBQfPnBBABAAvIAQIEfwF+IAAgACgCGEUgAXIiATYCECAAKAIUIAFx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ayIGQQF1IgggAyADIAhJGyAGQfz///8HTxsiBgR/IAZBgICAgARPDQggBkECdBBcBUEACyIIIAVBAnRqIgMgATYCACADQQRqIQEgAiAERwRAA0AgA0EEayIDIAJBBGsiAigCADYCACACIARHDQALIAcoAgAhAgsgByADNgIAIAAgATYCCCAAIAggBkECdGo2AgwgAkUNCiACEFoMCgsgACgCECIDQQxrIQUCQCABKAIQKAIEIgJBB0kNACACKAIEDQACfwJAIAAoAgQiAigCuAIgAigCvAIgASkCCBCHAygCHCIEQQdJDQAgBCgCBA0AIAQoAgwgBCgCCGtBAnUMAQsgBEEARwsiAkUNCiAMQRhqIAAoAgQgASgCCCABKAIMIAJBAWsiBhCMCCADQQRrIQogA0EIayEIIARBB0khDQNAAkACQCANDQAgBCgCBA0AIAQoAgggBkECdGooAgAhAwwBCyAERQ0NIAQhAyAGDQ0LIAAoAghBqAFqQQhBBBBdIgIgAzYCBCACQSg2AgAgDCkDGCEYIAAoAghBqAFqQRRBBBBdIgcgAjYCECAHIBg3AgggB0ILNwIAIAIoAgRBAUYEQCAHQQE2AgQLAkAgCCgCACICIAooAgAiC0kEQCACIAc2AgAgCCACQQRqNgIADAELIAIgBSgCACIJa0ECdSIOQQFqIgNBgICAgARPDQpB/////wMgCyAJayILQQF1Ig8gAyADIA9JGyALQfz///8HTxsiCwR/IAtBgICAgARPDQogC0ECdBBcBUEACyIPIA5BAnRqIgMgBzYCACADQQRqIQcgAiAJRwRAA0AgA0EEayIDIAJBBGsiAigCADYCACACIAlHDQALIAUoAgAhAgsgBSADNgIAIAggBzYCACAKIA8gC0ECdGo2AgAgAkUNACACEFoLIAZFDQsgDEEYaiAAKAIEIAEoAgggASgCDCAGQQFrIgYQjAgMAAsACyAAKAIIIAEQiwggA0EQayIAKAIIIgIgACgCDCIGSQRAIAIgATYCACAAIAJBBGo2AggMCgsgAiAFKAIAIgRrQQJ1IgdBAWoiA0GAgICABE8NB0H/////AyAGIARrIgZBAXUiCCADIAMgCEkbIAZB/P///wdPGyIGBH8gBkGAgICABE8NByAGQQJ0EFwFQQALIgggB0ECdGoiAyABNgIAIANBBGohASAC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ACgCEBBaCyAAEFoLCwIAC7EBAQV/IABB+OsJNgIAAkAgACgCKEUNACAAKAIkIgEoAgAiAiAAKAIgKAIEIgM2AgQgAyACNgIAIABBADYCKCABIABBIGoiA0YNAANAIAEoAgQhBCABEFogBCIBIANHDQALCyAAKAIUIgEEQANAIAEoAgAhBSABEFogBSIBDQALCyAAKAIMIQEgAEEANgIMIAEEQCABEFoLIAAoAgghASAAQQA2AgggAQRAIAEQkQMLIAALUgEDfyAABEAgACgCABC9BSAAKAIEEL0FIAAoAhwiAgRAA0AgAigCACEDIAIQWiADIgINAAsLIAAoAhQhASAAQQA2AhQgAQRAIAEQWgsgABBaCwv6AwEGfwJAAkACQAJAIAAoAhAiA0UNACAAKAIMAn8gAUGV08feBWwiAkEYdiACc0GV08feBWxBqJm99H1zQZXTx94FbCICQQ12IAJzQZXTx94FbCICQQ92IAJzIgUgA0EBa3EgA2kiBEEBTQ0AGiAFIAMgBUsNABogBSADcAsiBkECdGooAgAiAkUNACACKAIAIgJFDQAgBEEBTQRAIANBAWshAwNAAkAgAigCBCIEIAVHBEAgAyAEcSAGRg0BDAQLIAIoAgggAUYNBAsgAigCACICDQALDAELA0ACQCACKAIEIgQgBUcEQCADIARNBH8gBCADcAUgBAsgBkYNAQwDCyACKAIIIAFGDQMLIAIoAgAiAg0ACwsgACgCBCICIAAoAghHBEAgAiABNgIAIAAgAkEEajYCBA8LIAIgACgCACIDayIFQQJ1IgZBAWoiBEGAgICABE8NAUH/////AyAFQQF1IgcgBCAEIAdJGyAFQfz///8HTxsiBAR/IARBgICAgARPDQMgBEECdBBcBUEACyIHIAZBAnRqIgUgATYCACAFQQRqIQEgAiADRwRAA0AgBUEEayIFIAJBBGsiAigCADYCACACIANHDQALCyAAIAcgBEECdGo2AgggACABNgIEIAAgBTYCACADRQ0AIAMQWgsPCxBkAAsQagALjQEBA38jAEEgayIBJAACQCAALQAYIgJB/wFGDQAgAUGWFzYCHCABQZcXNgIYIAFBmBc2AhQgAUGZFzYCEEHUiQtBADYCACABQRBqIAJBAnRqKAIAIAFBD2ogABADQdSJCygCACEDQdSJC0EANgIAIANB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ACACQUBrEANB1IkLKAIAIQhB1IkLQQA2AgAgCEEBRg0EAAsQACEADAcLEAAhAAwFCxAAIQAMAwsQACEADAELEAAhACACLABLQQBODQAgAigCQBBaCyACLAATQQBODQAgAigCCBBaCyACLAA7QQBODQAgAigCMBBaCyACLAArQQBODQAgAigCIBBaCyACLAAfQQBIBEAgAigCFBBaCyAAEAcACyADIAFBAnRqKAIAIQkgAkHQAGokACAJC7QCAQN/AkAgAyAAKAIIIgUgACgCACIEa0ECdU0EQCADIAAoAgQiBiAEayIFQQJ1SwRAIAQgBkcEQCAEIAEgBfwKAAAgACgCBCEECyACIAEgBWoiAWshAyABIAJHBEAgBCABIAP8CgAACwwCCyACIAFrIQMgASACRwRAIAQgASAD/AoAAAsMAQsgBARAIAAgBDYCBCAEEFogAEEANgIIIABCADcCAEEAIQULAkAgA0GAgICABE8NAEH/////AyAFQQF1IgQgAyADIARJGyAFQfz///8HTxsiA0GAgICABE8NACAAIANBAnQiBBBcIgM2AgQgACADNgIAIAAgAyAEajYCCCACIAFrIQQgASACRwRAIAMgASAE/AoAAAsgACADIARqNgIEDwsQZAALIAAgAyAEajYCBAuquAECLn8BfgJAAkACQAJAAkACQAJAAkACQAJAAkAgAQRAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAQQFrDlwAAQIDBAUGBwgJCgsMHR4fICEiIyRaJQ0ODxAREhMUFRYXGBkaGxxbJicoKSorLC0uLzAxMjM0WzU2Nzg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFkLIwBBEGsiAyQAAkACQAJAIAAoAigiAiAAKAIsRwRAIAIgASkCCDcCACAAIAJBCGo2AigMAQsgAiAAKAIkIgZrIgRBA3UiB0EBaiIFQYCAgIACTw1fQf////8BIARBAnUiCCAFIAUgCEkbIARB+P///wdPGyIFBH8gBUGAgICAAk8NAiAFQQN0EFwFQQALIgggB0EDdGoiBCABKQIINwIAIARBCGohByACIAZHBEADQCAEQQhrIgQgAkEIayICKQIANwIAIAIgBkcNAAsgACgCJCECCyAAIAggBUEDdGo2AiwgACAHNgIoIAAgBDYCJCACRQ0AIAIQWgsgACgCGEECEGMaAkAgASgCBCIBQQFGBEAgACgCFEEAENADDAELAkAgAUEHSQ0AIAEoAgQNACAAKAIYIRIgACgCFCEAIAMgATYCDCADQQA2AgggACgCxAEhASASISsgACgCwAEhESADIAMpAgg3AwAgKyARIAEgAxC+BxD3AhoMAQsgACgCFCABENADCyADQRBqJAAMAQsQagALDwsjAEEQayIDJAACQAJAAkAgACgCKCICIAAoAiwiBkkEQCACQdCdCykDADcCACAAIAJBCGo2AigMAQsgAiAAKAIkIgVrQQN1IghBAWoiBEGAgICAAk8NXkH/////ASAGIAVrIgZBAnUiCSAEIAQgCUkbIAZB+P///wdPGyIGBEAgBkGAgICAAk8NAiAGQQN0EFwhBwsgCEEDdCAHaiIEQdCdCykDADcCACAEQQhqIQggAiAFRwRAA0AgBEEIayIEIAJBCGsiAikCADcCACACIAVHDQALIAAoAiQhAgsgACAHIAZBA3RqNgIsIAAgCDYCKCAAIAQ2AiQgAkUNACACEFoLIAAoAhhBBBBjGgJAIAEoAgQiAUEBRgRAIAAoAhRBABDQAwwBCwJAIAFBB0kNACABKAIEDQAgACgCGCEUIAAoAhQhACADIAE2AgwgA0EANgIIIAAoAsQBIQEgFCEsIAAoAsABIRMgAyADKQIINwMAICwgEyABIAMQvgcQ9wIaDAELIAAoAhQgARDQAwsgA0EQaiQADAELEGoACw8LIwBBEGsiAyQAAkACQAJAIAAoAigiAiAAKAIsRwRAIAIgASkCCDcCACAAIAJBCGo2AigMAQsgAiAAKAIkIgZrIgRBA3UiB0EBaiIFQYCAgIACTw1dQf////8BIARBAnUiCCAFIAUgCEkbIARB+P///wdPGyIFBH8gBUGAgICAAk8NAiAFQQN0EFwFQQALIgggB0EDdGoiBCABKQIINwIAIARBCGoh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ayAAQQFrLQAAOgAAIAJBAmsgAEECay0AADoAACACQQNrIABBA2stAAA6AAAgAkEEayICIABBBGsiAC0AADoAACAAIARHDQALCyAFKAIAIQMLIAUgBzYCCCAFIAg2AgQgBSABNgIAIANFDQggAxBaDAgLIAAoAhhBfRBjQQwQZhogASgCGEEGRw0FIAEsABchAiABLAAWIQMgASwAFSEEIAEsABQhBSABLAATIQYgASwAEiEHIAEsABEhCCABLAAQIQkgASwADyEKIAEsAA4hCyABLAANIQwgASwADCENIAEsAAshDiABLAAKIQ8gASwACSEQIAAoAhggASwACBBjGiAAKAIYIBAQYxogACgCGCAPEGMaIAAoAhggDhBjGiAAKAIYIA0QYxogACgCGCAMEGMaIAAoAhggCxBjGiAAKAIYIAoQYxogACgCGCAJEGMaIAAoAhggCBBjGiAAKAIYIAcQYxogACgCGCAGEGMaIAAoAhggBRBjGiAAKAIYIAQQYxogACgCGCADEGMaIAAoAhggAhBjGgwHCwxJC0GZsQVB5poDQZgCQaKuBRABAAtB7aYFQeaaA0GhAkGJpAUQAQALQdC7BUHmmgNBwgJBk64FEAEAC0HXqgVB5poDQcYCQfqjBRABAAtBgZ0FQemkAkG+AkHjnAUQAQALQe+EBEH+pQJBgQYQYgALDwsgACgCGCEAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIIDoIBgQEDAAQBBQcOCA8JEAoRCxIMEw0UAgYVFhcaGxgZHh8cHSorIiMgISYnJCUpKCwtLi8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaW1xdXl9g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AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEoAggOzAHLAQABAgMEBQYHCAkLCgwNDg8QERITFBUWFxgZGhscHR4fICEiJCMlJicoKSorLC0uLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEBkgGTAZQBlQGWAZcBmAGZAZoBmwGcAZ0BngGfAaABoQGiAaMBpAGlAaYBpwGoAakBqgGrAawBrQGuAa8BsAGxAbIBswG0AbUBtgG3AbgBuQG6AbsBvAG9Ab4BvwHAAcEBwgHDAcQBxQHGAccByAHJAcoBzAELIABB6wAQYxoMywELIABB7AAQYxoMygELIABB7QAQYxoMyQELIABB7gAQYxoMyAELIABB7wAQYxoMxwELIABB8AAQYxoMxgELIABB8QAQYxoMxQELIABB8gAQYxoMxAELIABB8wAQYxoMwwELIABB9AAQYxoMwgELIABB9gAQYxoMwQELIABB9QAQYxoMwAELIABB9wAQYxoMvwELIABB+AAQYxoMvgELIABBxgAQYxoMvQELIABBxwAQYxoMvAELIABByAAQYxoMuwELIABByQAQYxoMugELIABBzAAQYxoMuQELIABBzQAQYxoMuAELIABBygAQYxoMtwELIABBywAQYxoMtgELIABBzgAQYxoMtQELIABBzwAQYxoMtAELIABB/AAQYxoMswELIABB/QAQYxoMsgELIABB/gAQYxoMsQELIABB/wAQYxoMsAELIABBgH8QYxoMrwELIABBgX8QYxoMrgELIABBgn8QYxoMrQELIABBg38QYxoMrAELIABBhH8QYxoMqwELIABBhX8QYxoMqgELIABBhn8QYxoMqQELIABBiH8QYxoMqAELIABBh38QYxoMpwELIABBiX8QYxoMpgELIABBin8QYxoMpQELIABB0QAQYxoMpAELIABB0gAQYxoMowELIABB0wAQYxoMogELIABB1AAQYxoMoQELIABB1wAQYxoMoAELIABB2AAQYxoMnwELIABB1QAQYxoMngELIABB1gAQYxoMnQELIABB2QAQYxoMnAELIABB2gAQYxoMmwELIABBkn8QYxoMmgELIABBk38QYxoMmQELIABBlH8QYxoMmAELIABBlX8QYxoMlwELIABBmH8QYxoMlgELIABBln8QYxoMlQELIABBl38QYxoMlAELIABB2wAQYxoMkwELIABB3AAQYxoMkgELIABB3QAQYxoMkQELIABB3wAQYxoMkAELIABB3gAQYxoMjwELIABB4AAQYxoMjgELIABBoH8QYxoMjQELIABBoX8QYxoMjAELIABBon8QYxoMiwELIABBo38QYxoMigELIABBpn8QYxoMiQELIABBpH8QYxoMiAELIABBpX8QYxoMhwELIABB4QAQYxoMhgELIABB4gAQYxoMhQELIABB4wAQYxoMhAELIABB5QAQYxoMgwELIABB5AAQYxoMggELIABB5gAQYxoMgQELIABBfRBjQSMQZhoMgAELIABBfRBjQSQQZhoMfwsgAEF9EGNBJRBmGgx+CyAAQX0QY0EmEGYaDH0LIABBfRBjQScQZhoMfAsgAEF9EGNBKBBmGgx7CyAAQX0QY0EpEGYaDHoLIABBfRBjQSoQZhoMeQsgAEF9EGNBKxBmGgx4CyAAQX0QY0EsEGYaDHcLIABBfRBjQS0QZhoMdgsgAEF9EGNBLhBmGgx1CyAAQX0QY0EvEGYaDHQLIABBfRBjQTAQZhoMcwsgAEF9EGNBMRBmGgxyCyAAQX0QY0EyEGYaDHELIABBfRBj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IAxBAUYNARARCyADQRBqJAAgAA8LEAAhAEHUiQtBADYCAEEcEAlB1IkLKAIAIQ1B1IkLQQA2AgAgDUEBRwRAIAAQBwALQQAQCxoQcAALNwEBfyAAKAIAIQEgAEEANgIAIAEEQAJAIAAtAAhFDQAgASwAE0EATg0AIAEoAggQWgsgARBaCwvbAQIBfwJ+QQEhBAJAIABCAFIgAUL///////////8AgyIFQoCAgICAgMD//wBWIAVCgICAgICAwP//AFEbDQAgAkIAUiADQv///////////wCDIgZCgICAgICAwP//AFYgBkKAgICAgIDA//8AURsNACAAIAKEIAUgBoSEUARAQQAPCyABIAODQgBZBEBBfyEEIAAgAlQgASADUyABIANRGw0BIAAgAoUgASADhYRCAFIPC0F/IQQgACACViABIANVIAEgA1EbDQAgACAChSABIAOFhEIAUiEECyAEC5UCAgJ/An4jAEEgayICJAAgASgCECIDQQdJBEACQAJAAkACQAJAAkAgA0ECaw4EBAABAgMLIAEpAwAhBCAAQQM2AhAgACAEIARCP4ciBYUgBX03AwAMBAsgASgCACEBIAJBAjYCGCACIAFB/////wdxIgE2AgggACABNgIAIABBBDYCECACQQhqEFkaDAMLIAEpAwAhBCACQQM2AhggAiAEQv///////////wCDIgQ3AwggACAENwMAIABBBTYCECACQQhqEFkaDAILQe+EBEHppAJBngcQYgALIAEoAgAhASAAQQI2AhAgACABIAFBH3UiAHMgAGs2AgALIAJBIGokAA8LQeHNBkGfnwNBwwFB8+cEEAEAC2kBA38gACgCACEBIABBADYCACABBEAgAC0ACARAIAEoAjAiAARAIAAhAiAAIAEoAjQiA0cEQANAIANBGGsQWSIDIABHDQALIAEoAjAhAgsgASAANgI0IAIQWgsgAUEYahBZGgsgARBaCwu8AQEDfyAAKAIIIgMoAgQiAUEBRgRAIABBATYCBA8LIAAoAgwhAgJAAkAgAAJ/AkAgAUEHTwRAAkAgASgCBARAIAIgAUEAR0kNAQwGCyACIAEoAgwgASgCCGtBAnVPDQULIAEoAgQNASABKAIIIAJBAnRqDAILIAIgAUEAR08NAwsgAUUNASACDQEgA0EEagsoAgA2AgQPC0HdwwZBuLMC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IAEgARAFQdSJCygCACEBQdSJC0EANgIAAkACQCABQQFHBEBBAiECAkACfyAAKAIosyADKgIQlY0iEkMAAIBPXSASQwAAAABgcQRAIBKpDAELQQALIgFBAUYNACABIAFBAWtxRQRAIAEhAgwBC0HUiQtBADYCAEEVIAEQBiECQdSJCygCACEKQdSJC0EANgIAIApBAUYNAwsCQCADKAIEIgQgAk8EQCACIARPDQEgBEEDSSEFAn8gAygCDLMgAyoCEJWNIhJDAACAT10gEkMAAAAAYHEEQCASqQwBC0EACyEBAkACQCAFDQAgBGlBAUsNACABQQFBICABQQFrZ2t0IAFBAkkbIQEMAQtB1IkLQQA2AgBBFSABEAYhAUHUiQsoAgAhC0HUiQtBADYCACALQQFGDQULIAIgASABIAJJGyICIARPDQELQdSJC0EANgIAQe4CIAMgAhADQdSJCygCACEMQdSJC0EANgIAIAxBAUYNAwsgACgCKCIERQ0BQQAhAgJAA0ACQCACIAAoAihPBEBB1IkLQQA2AgBBDUHFogFBiaIDQbwBQaaIBRAFQdSJCygCACENQdSJC0EANgIAIA1BAUYNAQALIAAoAiQgAkECdGooAgAoAgQhAUHUiQtBADYCAEE9IANBGGogAyABIAEQBUHUiQsoAgAhDkHUiQtBADYCACAOQQFGDQIgAkEBaiICIARHDQEMBAsLDAMLDAILDAULAkACQCADKAIIIgJFBEAgAEEANgIEDAELIAIoAgghBAJAA0AgAigCACICRQ0BIAIoAgghAUHUiQtBADYCAEE+IAQgARACIQRB1IkLKAIAIQ9B1IkLQQA2AgAgD0EBRg0DIAQNAAtBACEECyADKAIIIQIgACAENgIEIAJFDQADQCACKAIAIRAgAhBaIBAiAg0ACwsgAygCACEAIANBADYCACAARQ0EIAAQWgwECwsMAwsgBkUNAANAIAQgByACQQJ0aigCACgCBEEBRnEhBCACQQFqIQIgCUEBaiIJIAZHDQALCyABDQAgBEEBcUUNACAAQQE2AgQLIANBIGokAA8LEAAhESADEKIBIBEQBwALYgEGfyMAQSBrIgIkACACQQxqIQcCQCACQRVqIgYiAyACQSBqIgRGDQAgAUEATg0AIANBLToAACADQQFqIQNBACABayEBCyAHIAMgBCABENER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GGoQA0HUiQsoAgAhE0HUiQtBADYCACATQQFGDQsLIAFB/wE6ADAgAUHIAGoiASAFRw0ACwsgAEEgaiQAIwBBIGsiACQAIAMoApgBIgEgAygClAEiBUcEQANAIAMgAUHIAGsiBDYCmAEgBCgCOCIEBEAgAUEMayAENgIAIAQQWgsgAUEYayIELQAAIgZB/wFHBEAgAEGLwwA2AhwgAEGMwwA2AhggAEGNwwA2AhQgAEGOwwA2AhAgAEGPwwA2AgxB1IkLQQA2AgAgAEEMaiAGQQJ0aigCACAAQQtqIAFBMGsQA0HUiQsoAgAhFEHUiQtBADYCACAUQQFGDQsLIARB/wE6AAAgAygCmAEiASAFRw0ACwsgAygCkAEiAQRAIAEQWgsgAEEgaiQAIAIQBwALIAEQcQALEGQACxBqAAtBABALGhBwAAtB66y4oXoCfyABLQAQIgJB/wFGBEBBkrqFowYhAkH/AQwBCyADQcqmATYCLCADQcumATYCKCADQcymATYCJCADQc2mATYCICADQc6mATYCHCADQc+mATYCGCADQdCmATYCFCADQdGmATYCECADQdKmATYCDCADQdOmATYCCCADQdSmATYCBCADQdWmATYCACADQZABaiABIAMgAkECdGooAgARBABBldPH3gVsIQIgAS0AEAtB/wFxIgRBldPH3gVsIARB/wFGGyIEQRh2IARzQZXTx94FbCACQRh2IAJzQZXTx94FbEGomb30fXNBldPH3gVscyICQQ12IAJzQZXTx94FbCICQQ92IAJzIQgCQAJAIAAoAhgiAkUNAAJAIAJpIgRBAU0EQCAIIAJBAWtxIQYMAQsgCCIGIAJJDQAgBiACcCEGCyAAKAIUIAZBAnRqKAIAIgVFDQAgBSgCACIHRQ0AIARBAU0EQCACQQFrIQoDQAJAIAggBygCBCIERwRAIAQgCnEgBkYNAQwECyABLQAQIgQgBy0AGCIFRiAEQf8BR3EiCSAFQf8BRyILcUUEQCAJIARB/wFGIAsbRQ0BDAULIAMgA0GkAWo2ApABIANB+cQANgIsIANB+sQANgIoIANB+8QANgIkIANB/MQANgIgIANB/cQANgIcIANB/sQANgIYIANB/8QANgIUIANBgMUANgIQIANBgcUANgIMIANBgsUANgIIIANBg8UANgIEIANBhMUANgIAIANB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AAJ/IAAoAgQiAiAAKAIIRwRAIAAgAkEBajYCBCACLQAADAELIAAQuwkLIQMgASgCABogAUEANgIAIAMLC5QBACAAQagBakEUQQQQXSIAIAM2AhAgACACNgIMIAAgATYCCCAAQhA3AgACQCACRQ0AIANFDQAgAAJ/QQEgAigCBCICQQFGDQAaQQEgAygCBEEBRg0AGkECIAJC/4eA8P+Av8AfIAFBD2siAa2Ip0EBcRsgAiABQT1JGws2AgQgAA8LQb/zAEGkpAJB8AVBssMDEAEAC+4FAQp/QYCoC0EQQQgQXSIAQQM2AgAgAEECELQCIQdBgKgLQRBBCBBdIglBADYCACAJQZCiCykDADcCCCAHKAIAQQJGBEACQCAHKAIIIgEoAgAhBAJAIAEoAgQiAyABKAIIRwRAIAQhAAwBCyABIANBAXRBAmoiADYCCCABQYCoCyAAQQJ0QQQQXSIANgIAIAEoAgQiA0UEQEEAIQMMAQtBACEAIANBBE8EQCADQXxxIQUDQCAAQQJ0IgIgASgCAGogAiAEaigCADYCACACQQRyIgYgASgCAGogBCAGaigCADYCACACQQhyIgYgASgCAGogBCAGaigCADYCACACQQxyIgIgASgCAGogAiAEaigCADYCACAAQQRqIgAgBUcNAAsLIANBA3EiAgRAA0AgAEECdCIFIAEoAgBqIAQgBWooAgA2AgAgAEEBaiEAIAhBAWoiCCACRw0ACwsgASgCACEACyAAIANBAnRqIAk2AgAgASABKAIEQQFqNgIEQYCoC0EQQQgQXSIAQQM2AgAgAEEAELQCIQkgBygCAEECRw0AIAcoAggiASgCACEEAkAgASgCBCIDIAEoAghHBEAgBCEADAELIAEgA0EBdEECaiIANgIIIAFBgKgLIABBAnRBBBBdIgA2AgAgASgCBCIDRQRAQQAhAwwBC0EAIQhBACEAIANBBE8EQCADQXxxIQUDQCAAQQJ0IgIgASgCAGogAiAEaigCADYCACACQQRyIgYgASgCAGogBCAGaigCADYCACACQQhyIgYgASgCAGogBCAGaigCADYCACACQQxyIgIgASgCAGogAiAEaigCADYCACAAQQRqIgAgBUcNAAsLIANBA3EiAgRAA0AgAEECdCIFIAEoAgBqIAQgBWooAgA2AgAgAEEBaiEAIAhBAWoiCCACRw0ACwsgASgCACEACyAAIANBAnRqIAk2AgAgASABKAIEQQFqNgIEIAcPCwtB//cFQeSGA0GzA0H4+wIQAQAL7gUBCn9BgKgLQRBBCBBdIgBBAzYCACAAQQIQtAIhB0GAqAtBEEEIEF0iCUEANgIAIAlBgKcLKQMANwIIIAcoAgBBAkYEQAJAIAcoAggiASgCACEEAkAgASgCBCIDIAEoAghHBEAgBCEADAELIAEgA0EBdEECaiIANgIIIAFBgKgLIABBAnRBBBBdIgA2AgAgASgCBCIDRQRAQQAhAwwBC0EAIQAgA0EETwRAIANBfHEhBQNAIABBAnQiAiABKAIAaiACIARqKAIANgIAIAJBBHIiBiABKAIAaiAEIAZqKAIANgIAIAJBCHIiBiABKAIAaiAEIAZqKAIANgIAIAJBDHIiAiABKAIAaiACIARqKAIANgIAIABBBGoiACAFRw0ACwsgA0EDcSICBEADQCAAQQJ0IgUgASgCAGogBCAFaigCADYCACAAQQFqIQAgCEEBaiIIIAJHDQALCyABKAIAIQALIAAgA0ECdGogCTYCACABIAEoAgRBAWo2AgRBgKgLQRBBCBBdIgBBAzYCACAAQQAQtAIhCSAHKAIAQQJHDQAgBygCCCIBKAIAIQQCQCABKAIEIgMgASgCCEcEQCAEIQAMAQsgASADQQF0QQJqIgA2AgggAUGAqAsgAEECdEEEEF0iADYCACABKAIEIgNFBEBBACEDDAELQQAhCEEAIQAgA0EETwRAIANBfHEhBQNAIABBAnQiAiABKAIAaiACIARqKAIANgIAIAJBBHIiBiABKAIAaiAEIAZqKAIANgIAIAJBCHIiBiABKAIAaiAEIAZqKAIANgIAIAJBDHIiAiABKAIAaiACIARqKAIANgIAIABBBGoiACAFRw0ACwsgA0EDcSICBEADQCAAQQJ0IgUgASgCAGogBCAFaigCADYCACAAQQFqIQAgCEEBaiIIIAJHDQALCyABKAIAIQALIAAgA0ECdGogCTYCACABIAEoAgRBAWo2AgQgBw8LC0H/9wVB5IYDQbMDQfj7AhABAAvgAQECfwJAAkAgAkUNACABAn8gAkEBayADcSACaSIEQQFNDQAaIAMgAiADSw0AGiADIAJwCyIFQQJ0aigCACIBRQ0AIAEoAgAiAUUNACAEQQFNBEAgAkEBayECA0ACQCADIAEoAgQiBEcEQCACIARxIAVGDQEMBAsgASgCCCADRg0ECyABKAIAIgENAAsMAQsDQAJAIAMgASgCBCIERwRAIAIgBE0EfyAEIAJwBSAECyAFRg0BDAMLIAEoAgggA0YNAwsgASgCACIBDQALCyAAIAMQ9QQPCyAAIAEpAgw3AgALpAsBCn9BgKgLQRBBCBBdIgFBAzYCACABQQQQtAIhCUGAqAtBEEEIEF0iCkEANgIAIApBiKILKQMANwIIIAkoAgBBAkYEQAJAIAkoAggiAigCACEFAkAgAigCBCIEIAIoAghHBEAgBSEBDAELIAIgBEEBdEECaiIBNgIIIAJBgKgLIAFBAnRBBBBdIgE2AgAgAigCBCIERQRAQQAhBAwBC0EAIQEgBEEETwRAIARBfHEhBgNAIAFBAnQiAyACKAIAaiADIAVqKAIANgIAIANBBHIiByACKAIAaiAFIAdqKAIANgIAIANBCHIiByACKAIAaiAFIAdqKAIANgIAIANBDHIiAyACKAIAaiADIAVqKAIANgIAIAFBBGoiASAGRw0ACwsgBEEDcSIDBEADQCABQQJ0IgYgAigCAGogBSAGaigCADYCACABQQFqIQEgCEEBaiIIIANHDQALCyACKAIAIQELIAEgBEECdGogCjYCACACIAIoAgRBAWo2AgRBgKgLQRBBCBBdIgogADcCCCAKQQA2AgAgCSgCAEECRw0AIAkoAggiAigCACEFAkAgAigCBCIEIAIoAghHBEAgBSEBDAELIAIgBEEBdEECaiIBNgIIIAJBgKgLIAFBAnRBBBBdIgE2AgAgAigCBCIERQRAQQAhBAwBC0EAIQhBACEBIARBBE8EQCAEQXxxIQYDQCABQQJ0IgMgAigCAGogAyAFaigCADYCACADQQRyIgcgAigCAGogBSAHaigCADYCACADQQhyIgcgAigCAGogBSAHaigCADYCACADQQxyIgMgAigCAGogAyAFaigCADYCACABQQRqIgEgBkcNAAsLIARBA3EiAwRAA0AgAUECdCIGIAIoAgBqIAUgBmooAgA2AgAgAUEBaiEBIAhBAWoiCCADRw0ACwsgAigCACEBCyABIARBAnRqIAo2AgAgAiACKAIEQQFqNgIEQYCoC0EQQQgQXSIBQQM2AgAgAUEAELQCIQogCSgCAEEC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AAsQagAL6wEBBn8gACgCfCICIAAoAoABRwRAIAIgATYCACAAIAJBBGo2AnwPCwJAIAIgACgCeCIFayIDQQJ1IgdBAWoiBEGAgICABEkEQEH/////AyADQQF1IgYgBCAEIAZJGyADQfz///8HTxsiBAR/IARBgICAgARPDQIgBEECdBBcBUEACyIGIAdBAnRqIgMgATYCACADQQRqIQEgAiAFRwRAA0AgA0EEayIDIAJBBGsiAigCADYCACACIAVHDQALCyAAIAYgBEECdGo2AoABIAAgATYCfCAAIAM2AnggBQRAIAUQWgsPCxBkAAsQagALuQICCH8BfgJAIAAoAgQiBkUNACABQiCIIgqnIQUgAachByAAQQRqIgghAyAGIQQDQAJAIAQpAhAiAacgByAFIAFCIIgiAaciAiACIAVLGxBeIgINAEEAIQIgASAKUQ0AQX9BASABIApUGyECCyADIAQgAkEASCICGyEDIARBBGogBCACGygCACIEDQALIAMgCEYNAAJAIAcgAykCECIBpyABQiCIIgGnIgIgBSACIAVJGxBeIgJFBEAgASAKWA0BDAILIAJBAEgNAQsCQCADKAIEIgJFBEAgAyECA0AgAigCCCIEKAIAIAJHIQkgBCECIAkNAAsMAQsDQCACIgQoAgAiAg0ACwsgAyAAKAIARgRAIAAgBDYCAAsgACAAKAIIQQFrNgIIIAYgAxDlASADKAIcEJkFIAMQWgsLIwAgAARAIAAoAgAQgAggACgCBBCACCAAKAIcEJkFIAAQWgsL6QEBA38CQAJAIAAgAUYNAANAAn8CQAJAIAAoAgAoAgAiAigCAEEEaw4QAQUFBQUFBQUFBQUFBQUFAAULIAJBCGoMAQsgAkEQagsoAgANASAAQQRqIgAgAUcNAAsgAQ8LAkAgACABRg0AIABBBGoiAiABRg0AA0ACfwJAAkAgAigCACIEKAIAIgMoAgBBBGsOEAEFBQUFBQUFBQUFBQUFBQAFCyADQQhqDAELIANBEGoLKAIARQRAIAAgBDYCACAAQQRqIQALIAJBBGoiAiABRw0ACwsgAA8LQfDtBUHFmANBlAZBjd4AEAEACzIBAX8gAARAIAAoAgAQggggACgCBBCCCCAAKAIUIgEEQCAAIAE2AhggARBaCyAAEFoLC90HAQp/AkACQCADIAJBAWpGBEAg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C0HUiQtBADYCAEEEIARBAnQQBiEFQdSJCygCACEPQdSJC0EANgIAIA9BAUYNASAKKAIIIQgLIAUgB0ECdGoiAiAINgIAIAUgBEECdGohBCACQQRqIQcgASAJRwRAA0AgAkEEayICIAFBBGsiASgCADYCACABIAlHDQALCyAAIAQ2AgggACAHNgIEIAAgAjYCACAJRQ0BIAkQWgwBCxAAIQEgACgCACICBEAgACACNgIEIAIQWgsgAxDeAwwFCyACIQkgBCEBDAELAAsgCigCBCIKIAtHDQALDAILEAAhAQsgA0EgahDeAyABEAcACwJAIAMoAhxFDQAgAygCGCIBKAIAIgAgAygCFCgCBCICNgIEIAIgADYCACADQQA2AhwgASADQRRqIgJGDQADQCABKAIEIRAgARBaIBAiASACRw0ACwsgAygCCCIBBEADQCABKAIAIREgARBaIBEiAQ0ACwsgAygCACEAIANBADYCACAABEAgABBaCwJAIAMoAjxFDQAgAygCOCIBKAIAIgAgAygCNCgCBCICNgIEIAIgADYCACADQQA2AjwgASALRg0AA0AgASgCBCESIAEQWiASIgEgC0cNAAsLIAMoAigiAQRAA0AgASgCACETIAEQWiATIgENAAsLIAMoAiAhACADQQA2AiAgAARAIAAQWgsgA0FAayQAC9gCAQh/IwBBEGsiBSQAAkAgASAAKAIUIAAoAhAiA2tBAnVPBEBB1IkLQQA2AgBBDUGqkQZB/pQDQd8AQafdAhAFQdSJCygCACEHQdSJC0EANgIAIAdBAUYNAQALAkACQCACRQ0AIAMgAUECdGoiAygCACIEIAJGDQAgACgCJCEJIAQEQEHUiQtBADYCAEGbigEgBCACEAIhAkHUiQsoAgAhCEHUiQtBADYCACAIQQFGDQIgAiADKAIARg0BCyADIAI2AgAgACAAKAIcQQFqIgI2AhwgCSACNgIEIAAoAiggAUEMbGoiASgCACICIAEoAgQiAUYNACAAQTRqIQMDQCACKAIAIQBB1IkLQQA2AgBBl4oBIAVBCGogAyAAIAAQBUHUiQsoAgAhCkHUiQtBADYCACAKQQFGDQMgAkEEaiICIAFHDQALCyAFQRBqJAAPCwtBABALGhBwAAsbACAABEAgACgCABDcCSAAKAIEENwJIAAQWgsL0wgCCX8CfiMAQRBrIg8kAAJAIAVFDQADQAJAAkAgBSAHTA0AIAQgB0wNACAERQ0DA0AgAyABKAIAIAAQ9gMNAiAAQQhqIQAgBEEBayIEDQALDAMLAkACQCAEIAVMBEAgACABRg0FIAYhCSAAIQQDQCAJIgUgBCkCADcCACAJQQhqIQkgBEEIaiIEIAFHDQALDAELIAEgAkYNBCAGIQQgASEJA0AgBCAJKQIANwIAIARBCGohBCAJQQhqIgkgAkcNAAsMAQsDQCABIAJHBEAgACABIAYgAyABKAIAIAYQ9gMiBBspAgA3AgAgASAEQQN0aiEBIABBCGohACAJIAYgBEEBc0EDdGoiBkcNAQwFCwsDQCAAIAYpAgA3AgAgAEEIaiEAIAUgBkYhECAGQQhqIQYgEEUNAAsMAwsDQCAAIAFHBEAgAkEIayICIAFBCGsiBSAEQQhrIgcgAyAHKAIAIAUQ9gMiCBspAgA3AgAgBSABIAgbIQEgBiAEIAcgCBsiBEcNAQwECwsDQCACQQhrIgIgBEEIayIEKQIANwIAIAQgBkcNAAsMAgsCQCAEIAVIBEAgASAFQQJtIg1BA3RqIQkCfyAAIAFGBEAgASIKDAELIAEgAGtBA3UhCCAAIQoDQCAKIAogCEEBdiILQQN0aiIKQQhqIAMgCSgCACAKEPYDIgwbIQogCyAIIAtBf3NqIAwbIggNAAsgAAshCCAKIAhrQQN1IQ4MAQsgBEEBRgRAIAApAgAhESAAIAEpAgA3AgAgASARNwIADAMLIA8gAygCADYCDCAAIARBAm0iDkEDdGohCgJ/IAEgAkYEQCACIgkMAQsgAiABa0EDdSEIIAEhCQNAIAkgCEEBdiILQQN0aiIMQQhqIAkgD0EMaiAMKAIAIAoQ9gMiDBshCSAIIAtBf3NqIAsgDBsiCA0ACyABCyEIIAkgCGtBA3UhDQsgBSANayEFIAQgDmshBCAJIQgCQCABIApGDQAgCiEIIAEgCUYNACAIKQIAIREgCCABKQIANwIAIAEgETcCACAIQQhqIQsgCSABIghBCGoiAUcEQANAIAspAgAhESALIAEpAgA3AgAgASARNwIAIAEgCCAIIAtGGyEIIAtBCGohCyABQQhqIgEgCUcNAAsLIAghDCALIgEgCEYNAANAIAEpAgAhESABIAwpAgA3AgAgDCARNwIAIAFBCGohAQJAIAxBCGoiDCAJRw0AIAEgCEcEQCAIQQhqIQwgCCkCACERA0AgASkCACESIAEgETcCACAIIBI3AgAgAUEIaiEBIAkgDEcNAiASIREgASAIRw0ACwsgCyEIDAILIAwgCCABIAhGGyEIDAALAAsCfyANIA5qIAQgBWpIBEAgACAKIAggAyAOIA0gBiAHEN0JIAghACAJDAELIAggCSACIAMgBCAFIAYgBxDdCSANIQUgDiEEIAghAiAKCyEBIAUNAAsLIA9BEGokAAu4AgEGfyMAQRBrIgUkACAAIAEgAiAEEN8DIAVBCGoiByAEKAIAIAMoAgAiBigCACAGELcCIAUoAggoAhAhBiAHIAQoAgAgAigCACIIKAIAIAgQtwICQCAGIAUoAggoAhBPDQAgAigCACEGIAIgAygCADYCACADIAY2AgAgByAEKAIAIAIoAgAiAygCACADELcCIAUoAggoAhAhCSAHIAQoAgAgASgCACIGKAIAIAYQtwIgCSAFKAIIKAIQTw0AIAEoAgAhAyABIAIoAgA2AgAgAiADNgIAIAcgBCgCACABKAIAIgIoAgAgAhC3AiAFKAIIKAIQIQogByAEKAIAIAAoAgAiAygCACADELcCIAogBSgCCCgCEE8NACAAKAIAIQIgACABKAIANgIAIAEgAjYCAAsgBUEQaiQAC5gBAQV/IAAoAjAiAQRAA0AgASgCACEEIAEoAhAiAwRAIAEgAzYCFCADEFoLIAEQWiAEIgENAAsLIAAoAighASAAQQA2AiggAQRAIAEQWgsgACgCFCIBBEADQCABKAIAIQUgARBaIAUiAQ0ACwsgACgCDCEBIABBADYCDCABBEAgARBaCyAAKAIAIgEEQCAAIAE2AgQgARBaCwupAgICfgR/IAAgASACEOADAkACQCADKAIAIgYpAgAiBKcgAigCACIHKQIAIgWnIAVCIIgiBaciCCAEQiCIIgSnIgkgCCAJSRsQXiIIRQRAIAQgBVQNAQwCCyAIQQBODQELIAIgBjYCACADIAc2AgACQCACKAIAIgMpAgAiBKcgASgCACIGKQIAIgWnIAVCIIgiBaciByAEQiCIIgSnIgggByAISRsQXiIHRQRAIAQgBVQNAQwCCyAHQQBODQELIAEgAzYCACACIAY2AgACQCABKAIAIgIpAgAiBKcgACgCACIDKQIAIgWn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DAMLIAFCADcDCCABQgA3AwAgACABQRAQXkUMAgtB74QEQeaaA0H2ABBiAAsgACgCAEULIQMgAUEQaiQAIAMPC0HhzQZBn58DQcMBQfPnBBABAAuXAgEDfyMAQYABayIBJAACQCAAKAIEQQJHDQAgACgCACIDQQ9GBEAgACgCCEEva0EBSw0BIAAoAgwhAgwBCyABQQA2AmQgAUEANgJgIAFBADYCXCABIAFBIGo2AlQgAUKAgICAoAE3AkggASABQdwAajYCQCABIAFB5ABqNgIwIAFBADYCKCABQQA2AiAgASABQUBrNgJQIAEgAUHgAGo2AhAgAUEANgIIIAFBADYCACABQoCAgICwATcDaCABIAE2AnQgASABQcgAajYCcAJAIANBEEcNACAAKAIIQQtHDQAgACABQfAAahDeBEUNACABKAJkIgAgASgCYEcNACABKAJcQQAgABshAgwBCwsgAUGAAWokACACC+ABAQV/IwBBIGsiAiQAIAJBAzYCGCACIAE3AwhB1IkLQQA2AgBBDCAAQagBakEgQQgQBCEAQdSJCygCACEDQdSJC0EANgIAAkAgA0EBRg0AIABCADcCBCAAQQ42AgAgAEIANwIMIABCADcCFCAAIABBCGoiAyACQQhqIgRHBH8gAxBZIQNB1IkLQQA2AgBBwAAgAyAEEAIaQdSJCygCACEFQdSJC0EANgIAIAVBAUYNASACKAIYBUEDCzYCBCACQQhqEFkaIAJBIGokACAADwsQACEGIAJBCGoQWRogBhAHAAsEAEEiC7sCAQR/AkACQAJAQQAgACgCBGsgACgCXCAAKAJYa0EDdUYEQCABKAIARQ0BIABBBGpB5ecAIAEQW0EAIAAoAgQiAmsgACgCXCIBIAAoAlgiA2tBA3VHBEAgAEEUayEEIABBCGohBQNAAkAgASADRgRAIAJFDQYgBSACQQFrIgJBA3RqIgMoAgQhASADKAIAIQMgACACNgIEDAELIAFBCGsiAigCACEDIAIoAgQhASAAIAI2AlwLIAAgATYCACABKAIARQ0FIAQgASADEQAAQQAgACgCBCICayAAKAJcIgEgACgCWCIDa0EDdUcNAAsLDwtBzcoFQdOZA0HIAkHQ+AIQAQALQYGDAkHTmQNBuQJBrvcCEAEAC0HexAVBsJQDQdoAQf37AhABAAtB9YICQdOZ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NgIYIAIgCTYCFCACIAE2AhAgAEUNACAAEFoLIAMgBSgCCEcNAAsMAQsgBUEIaiEGIAIoAhQiACACKAIYIgNJBEAgACAGNgIEIABBAzYCACACIABBCGo2AhQMAQsgACACKAIQIgRrQQN1IgdBAWoiAUH/////AUsNCQJAQf////8BIAMgBGsiA0ECdSIFIAEgASAFSRsgA0H4////B08bIgVFBEBBACEDDAELIAVB/////wFLDQlB1IkLQQA2AgBBBCAFQQN0EAYhA0HUiQsoAgAhD0HUiQtBADYCACAPQQFGDQULIAMgB0EDdGoiASAGNgIEIAFBAzYCACABQQhqIQYgACAERwRAA0AgAUEIayIBIABBCGsiACkCADcCACAAIARHDQALIAIoAhAhAAsgAiADIAVBA3RqNgIYIAIgBjYCFCACIAE2AhAgAEUNACAAEFoLIAIoAhQiACACKAIYIgRJBEAgACAINgIEIABBADYCACACIABBCGo2AhQMAgsgACACKAIQIgNrQQN1IgZBAWoiAUH/////AUsNCAJAQf////8BIAQgA2siBEECdSIFIAEgASAFSRsgBEH4////B08bIgVFBEBBACEEDAELIAVB/////wFLDQhB1IkLQQA2AgBBBCAFQQN0EAYhBEHUiQsoAgAhEEHUiQtBADYCACAQQQFGDQQLIAQgBkEDdGoiASAINgIEIAFBADYCACABQQhqIQggACADRwRAA0AgAUEIayIBIABBCGsiACkCADcCACAAIANHDQALIAIoAhAhAAsgAiAEIAVBA3RqNgIYIAIgCDYCFCACIAE2AhAgAEUNASAAEFoMAQsCQCACKAIYIgQgAEsEQCAAQQU2AgAgACAINgIEIAIgAzYCFAwBCyAAIAFrQQN1IgZBAWoiA0H/////AUsNCAJAQf////8BIAQgAWsiBEECdSIFIAMgAyAFSRsgBEH4////B08bIgVFBEBBACEEDAELIAVB/////wFLDQhB1IkLQQA2AgBBBCAFQQN0EAYhBEHUiQsoAgAhEUHUiQtBADYCACARQQFGDQQLIAQgBkEDdGoiAyAINgIEIANBBTYCACAEIAVBA3RqIQQgA0EIaiEFAkAgACABRgRAIAIgBDYCGCACIAU2AhQgAiADNgIQDAELA0AgA0EIayIDIABBCGsiACkCADcCACAAIAFH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gKgLIAJBAnRBBBBdIgI2AgAgBCgCBCIFRQRAQQAhBQwBC0EAIQhBACECIAVBBE8EQCAFQXxxIQYDQCACQQJ0IgMgBCgCAGogACADaigCADYCACADQQRyIgcgBCgCAGogACAHaigCADYCACADQQhyIgcgBCgCAGogACAHaigCADYCACADQQxyIgMgBCgCAGogACADaigCADYCACACQQRqIgIgBkcNAAsLIAVBA3EiAwRAA0AgAkECdCIGIAQoAgBqIAAgBmooAgA2AgAgAkEBaiECIAhBAWoiCCADRw0ACwsgBCgCACECCyACIAVBAnRqIAE2AgAgBCAEKAIEQQFqNgIEIAkPCwtB//cFQeSGA0GzA0H4+wIQAQALiQYBCn9BgKgLQRBBCBBdIgFBAzYCACABQQIQtAIhCEGAqAtBEEEIEF0iB0EANgIAIAdBiKMLKQMANwIIIAgoAgBBAkYEQAJAIAgoAggiAigCACEDAkAgAigCBCIFIAIoAghHBEAgAyEBDAELIAIgBUEBdEECaiIBNgIIIAJBgKgLIAFBAnRBBBBdIgE2AgAgAigCBCIFRQRAQQAhBQwBC0EAIQEgBUEETwRAIAVBfHEhBgNAIAFBAnQiBCACKAIAaiADIARqKAIANgIAIARBBHIiCiACKAIAaiADIApqKAIANgIAIARBCHIiCiACKAIAaiADIApqKAIANgIAIARBDHIiBCACKAIAaiADIARqKAIANgIAIAFBBGoiASAGRw0ACwsgBUEDcSIEBEADQCABQQJ0IgYgAigCAGogAyAGaigCADYCACABQQFqIQEgCUEBaiIJIARHDQALCyACKAIAIQELIAEgBUECdGogBzYCACACIAIoAgRBAWo2AgQgACgCACEBQYCoC0EQQQgQXSIFAn8gAQRAIAUgACkCADcCCEEADAELIAVCADcDCEEDCzYCACAIKAIAQQJHDQAgCCgCCCIDKAIAIQACQCADKAIEIgIgAygCCEcEQCAAIQEMAQsgAyACQQF0QQJqIgE2AgggA0GAqAsgAUECdEEEEF0iATYCACADKAIEIgJFBEBBACECDAELQQAhCUEAIQEgAkEETwRAIAJBfHEhBwNAIAFBAnQiBCADKAIAaiAAIARqKAIANgIAIARBBHIiBiADKAIAaiAAIAZqKAIANgIAIARBCHIiBiADKAIAaiAAIAZqKAIANgIAIARBDHIiBCADKAIAaiAAIARqKAIANgIAIAFBBGoiASAHRw0ACwsgAkEDcSIEBEADQCABQQJ0IgcgAygCAGogACAHaigCADYCACABQQFqIQEgCUEBaiIJIARHDQALCyADKAIAIQELIAEgAkECdGogBTYCACADIAMoAgRBAWo2AgQgCA8LC0H/9wVB5IYDQbMDQfj7AhABAAvUEgEJf0GAqAtBEEEIEF0iBUEDNgIAAkAgBUEEELQCIgsoAgBBAkcNACALKAIIIgcoAgAhBgJAIAcoAgQiCCAHKAIIRwRAIAYhBQwBCyAHIAhBAXRBAmoiBTYCCCAHQYCoCyAFQQJ0QQQQXSIFNgIAIAcoAgQiCEUEQEEAIQgMAQtBACEFIAhBBE8EQCAIQXxxIQwDQCAFQQJ0IgkgBygCAGogBiAJaigCADYCACAJQQRyIg0gBygCAGogBiANaigCADYCACAJQQhyIg0gBygCAGogBiANaigCADYCACAJQQxyIgkgBygCAGogBiAJaigCADYCACAFQQRqIgUgDEcNAAsLIAhBA3EiCQRAA0AgBUECdCIMIAcoAgBqIAYgDGooAgA2AgAgBUEBaiEFIApBAWoiCiAJRw0ACwsgBygCACEFCyAFIAhBAnRqIAE2AgAgByAHKAIEQQFqNgIEIAsoAgBBAkcNACALKAIIIgYoAgAhAQJAIAYoAgQiCCAGKAIIRwRAIAEhBQwBCyAGIAhBAXRBAmoiBTYCCCAGQYCoCyAFQQJ0QQQQXSIFNgIAIAYoAgQiCEUEQEEAIQgMAQtBACEKQQAhBSAIQQRPBEAgCEF8cSEJA0AgBUECdCIHIAYoAgBqIAEgB2ooAgA2AgAgB0EEciIMIAYoAgBqIAEgDGooAgA2AgAgB0EIciIMIAYoAgBqIAEgDGooAgA2AgAgB0EMciIHIAYoAgBqIAEgB2ooAgA2AgAgBUEEaiIFIAlHDQALCyAIQQNxIgcEQANAIAVBAnQiCSAGKAIAaiABIAlqKAIANgIAIAVBAWohBSAKQQFqIgogB0cNAAsLIAYoAgAhBQsgBSAIQQJ0aiACNgIAIAYgBigCBEEBajYCBCALKAIAQQJHDQAgCygCCCICKAIAIQECQCACKAIEIgggAigCCEcEQCABIQUMAQsgAiAIQQF0QQJqIgU2AgggAkGAqAsgBUECdEEEEF0iBTYCACACKAIEIghFBEBBACEIDAELQQAhCkEAIQUgCEEETwRAIAhBfHEhBwNAIAVBAnQiBiACKAIAaiABIAZqKAIANgIAIAZBBHIiCSACKAIAaiABIAlqKAIANgIAIAZBCHIiCSACKAIAaiABIAlqKAIANgIAIAZBDHIiBiACKAIAaiABIAZqKAIANgIAIAVBBGoiBSAHRw0ACwsgCEEDcSIGBEADQCAFQQJ0IgcgAigCAGogASAHaigCADYCACAFQQFqIQUgCkEBaiIKIAZHDQALCyACKAIAIQULIAUgCEECdGogAzYCACACIAIoAgRBAWo2AgQgCygCAEECRw0AIAsoAggiAigCACEBAkAgAigCBCIIIAIoAghHBEAgASEFDAELIAIgCEEBdEECaiIDNgIIIAJBgKgLIANBAnRBBBBdIgU2AgAgAigCBCIIRQRAQQAhCAwBC0EAIQpBACEFIAhBBE8EQCAIQXxxIQYDQCAFQQJ0IgMgAigCAGogASADaigCADYCACADQQRyIgcgAigCAGogASAHaigCADYCACADQQhyIgcgAigCAGogASAHaigCADYCACADQQxyIgMgAigCAGogASADaigCADYCACAFQQRqIgUgBkcNAAsLIAhBA3EiAwRAA0AgBUECdCIGIAIoAgBqIAEgBmooAgA2AgAgBUEBaiEFIApBAWoiCiADRw0ACwsgAigCACEFCyAFIAhBAnRqIAQ2AgAgAiACKAIEQQFqNgIEQYCoC0EQQQgQXSIBQQM2AgAgAUEDELQCIQRBgKgLQRBBCBBdIghBADYCACAIQfiiCykDADcCCCAEKAIAQQJHBEAMAQsgBCgCCCIDKAIAIQICQCADKAIEIgEgAygCCEcEQCACIQUMAQsgAyABQQF0QQJqIgE2AgggA0GAqAsgAUECdEEEEF0iBTYCACADKAIEIgFFBEBBACEBDAELQQAhCkEAIQUgAUEETwRAIAFBfHEhBwNAIAVBAnQiBiADKAIAaiACIAZqKAIANgIAIAZBBHIiCSADKAIAaiACIAlqKAIANgIAIAZBCHIiCSADKAIAaiACIAlqKAIANgIAIAZBDHIiBiADKAIAaiACIAZqKAIANgIAIAVBBGoiBSAHRw0ACwsgAUEDcSIGBEADQCAFQQJ0IgcgAygCAGogAiAHaigCADYC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QfCnCyABKALoBTYCACABIAI2AuAFIAEgAjYC3AUgASADNgLoBSAAIAJHBEADQCABIABBKGsiBDYC5AUgBCgCFCIDBEAgAEEQayADNgIAIAMQWgsgAEEgaygCACIABEADQCAAKAIAIQ8gABBaIA8iAA0ACwsgBCgCACEAIARBADYCACAABEAgABBaCyABKALkBSIAIAJHDQALIAEoAtwFIQALIAAEQCAAEFoLQeynCygCACEADAILEAAhECABQdwFahDqDyAQEAcACyADQQE2AiQgA0EBOgAgQeynCyADQShqIgA2AgALAkBB8KcLKAIAIABLBEBB1IkLQQA2AgBBphYgAEHyuwYQAiEDQdSJCygCACERQdSJC0EANgIAIBFBAUYNAiADQQA2AiQgA0EAOgAgQeynCyADQShqIgA2AgAMAQtB8rsGQQBBABCVBEHspwsoAgAhAAsCQEHwpwsoAgAgAEsEQEHUiQtBADYCAEGmFiAAQerVBRACIQNB1IkLKAIAIRJB1IkLQQA2AgAgEkEBRg0CIANBADYCJCADQQA6ACBB7KcLIANBKGoiADYCAAwBC0Hq1QVBAEEAEJUEQeynCygCACEACwJAQfCnCygCACAASwRAQdSJC0EANgIAQaYWIABBzZgFEAIhA0HUiQsoAgAhE0HUiQtBADYCACATQQFGDQIgA0EANgIkIANBADoAIEHspwsgA0EoaiIANgIADAELQc2YBUEAQQAQlQRB7KcLKAIAIQALAkBB8KcLKAIAIABLBEBB1IkLQQA2AgBBphYgAEHomAUQAiEDQdSJCygCACEUQdSJC0EANgIAIBRBAUYNAiADQQA2AiQgA0EAOgAgQeynCyADQShqIgA2AgAMAQtB6JgFQQBBABCVBEHspwsoAgAhAAsCQEHwpwsoAgAgAEsEQEHUiQtBADYCAEGmFiAAQYuZBRACIQNB1IkLKAIAIRVB1IkLQQA2AgAgFUEBRg0CIANBADYCJCADQQA6ACBB7KcLIANBKGoiADYCAAwBC0GLmQVBAEEAEJUEQeynCygCACEACwJAQfCnCygCACAASwRAQdSJC0EANgIAQaYWIABB1bsGEAIhA0HUiQsoAgAhFkHUiQtBADYCACAWQQFGDQIgA0EANgIkIANBADoAIEHspwsgA0EoaiIANgIADAELQdW7BkEAQQAQlQRB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WgsgACwAY0EASARAIAAoAlgQWgsgACwAV0EASARAIAAoAkwQWgsgACwAS0EASARAIAAoAkAQWgsgACwAP0EASARAIAAoAjQQWgsgACwAM0EASARAIAAoAigQWgsgACwAJ0EASARAIAAoAhwQWgsgACwAG0EASARAIAAoAhAQWgsgACwAD0EASARAIAAoAgQQWgtB7LALQcAAEFwiAzYCAEHwsAtCtoCAgICIgICAfzcCACADQea9BikAADcALiADQeC9BikAADcAKCADQdi9BikAADcAICADQdC9BikAADcAGCADQci9BikAADcAECADQcC9BikAADcACCADQbi9BikAADcAACADQQA6ADZB+LALQdAAEFwiAzYCAEH8sAtCwICAgICKgICAfzcCACADQb6aBSkAADcAOCADQbaaBSkAADcAMCADQa6aBSkAADcAKCADQaaaBSkAADcAICADQZ6aBSkAADcAGCADQZaaBSkAADcAECADQY6aBSkAADcACCADQYaaBSkAADcAACADQQA6AEAgAEHAAWokAAwBCxAAIQNB2LALEOkLIAAsALcBQQBIBEAgACgCrAEQWgsgACwAqwFBAEgEQCAAKAKgARBaCyAALACfAUEASARAIAAoApQBEFoLIAAsAJMBQQBIBEAgACgCiAEQWgsgACwAhwFBAEgEQCAAKAJ8EFoLIAAsAHtBAEgEQCAAKAJwEFoLIAAsAG9BAEgEQCAAKAJkEFoLIAAsAGNBAEgEQCAAKAJYEFoLIAAsAFdBAEgEQCAAKAJMEFoLIAAsAEtBAEgEQCAAKAJAEFoLIAAsAD9BAEgEQCAAKAI0EFoLIAAsADNBAEgEQCAAKAIoEFoLIAAsACdBAEgEQCAAKAIcEFoLIAAsABtBAEgEQCAAKAIQEFoLIAAsAA9BAEgEQCAAKAIEEFoLDAELIwBBIGsiACQAIABBFzYCHCAAQeufBDYCGCAAIAApAhg3AxBBmLELIABBEGoQZSAAQRw2AhwgAEHCmwE2AhggACAAKQIYNwMIQaCxCyAAQQhqEGUgAEEgaiQAQaixC0GssQs2AgBBrLELQgA3AgBBqLcLQSo2AgBB8LcLQdjgCzYCAA8LIAMQBwALggQBCX8CQAJAAkAgACgC0AEgACgCzAFrQQJ1IgEgACgCxAEgACgCwAFrIgJBDG1GBEACQCACQQBMDQAgAUEBayECA0AgACgCzAEiAyACQQJ0aigCACIGKAIAQTNHDQUCQCAGKAI0IgEEQCABQfixCygCAEYNAwNAIAJBAEoEQCADIAJBAWsiAkECdGooAgAiBCgCAEEzRw0JIAQoAgggAUcNAQwDCwtBtMIEQZuaA0GtAkG20gAQAQALAkAgACgCwAEgAkEMbGoiAygCBCIBIAMoAghHBEAgASAAKAKMATYCACADIAFBBGo2AgQMAQsgASADKAIAIglrIgRBAnUiB0EBaiIFQYCAgIAETw0FQf////8DIARBAXUiCCAFIAUgCEkbIARB/P///wdPGyIFBH8gBUGAgICABE8NByAFQQJ0EFwFQQALIgggB0ECdGoiBCAAKAKMATYCACAEQQRqIQcgASAJRwRAA0AgBEEEayIEIAFBBGsiASgCADYCACABIAlHDQALIAMoAgAhAQsgAyAENgIAIAMgBzYCBCADIAggBUECdGo2AgggAUUNACABEFoLIAYoAiggBigCGGtBAUYNAiACQQFrIQILIAJBAE4NAAsLDwtBs48GQZuaA0GZAkG20gAQAQALEGQACxBqAAtB8O0FQcWYA0GUBkGN3gAQAQALtwMBBH8gACgC+AEQ4gcgACgC5AEiAQRAIAAgATYC6AEgARBaCyAAKALYASIDBEAgACgC3AEiASADIgJHBEADQCABQQxrIgIoAgAiBARAIAFBCGsgBDYCACAEEFoLIAIiASADRw0ACyAAKALYASECCyAAIAM2AtwBIAIQWgsgACgCzAEiAQRAIAAgATYC0AEgARBaCyAAKALAASIDBEAgACgCxAEiASADIgJHBEADQCABQQxrIgIoAgAiBARAIAFBCGsgBDYCACAEEFoLIAIiASADRw0ACyAAKALAASECCyAAIAM2AsQBIAIQWgsgACgCtAEiAQRAIAAgATYCuAEgARBaCyAAKAKoASIBBEAgACABNgKsASABEFoLIAAoApwBIgEEQCAAIAE2AqABIAEQWgsgACgClAEQwQkgACgCgAEiAQRAIAAgATYChAEgARBaCyAAKAJ0IgMEQCAAKAJ4IgIgAyIBRwRAA0AgAkEEayICKAIAIQEgAkEANgIAIAEEQCABEIUDCyACIANHDQALIAAoAnQhAQsgACADNgJ4IAEQWgsgACgCWCIBBEAgACABNgJcIAEQWgsL3R4BDn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAIgIoAgAOXgABAgMEBQYHCAkKCwwNHh8gISIjJCU1Ng4PEBESExQVFhcYGRobHB03JicoKSorLC0uLzAxMjM0ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXABdC0GY/QNB5bMDQeoBEGIACyAAQa2oASABEFggAigCAEEBRw1cIAIoAhQiAUEATA1bIABBBGohBANAIAFBAWsiACACKAIUTw1eIAIoAhAgAEECdGoiAygCAEUNXyAEQayoASADEFsgAUEBSyEGIAAhASAGDQALDFsLIABBr6gBIAEQWCACKAIAQQJHDVsgAigCEARAIABBBGpBrKgBIAJBEGoQWwsMYAsgAEGwqAEgARBYIAIoAgBBA0cNWgxjCyAAQbGoASABEFggAigCAEEERw1ZIAIoAhQEQCAAQQRqQayoASACQRRqEFsLIAIoAhBFDVggAEEEakGsqAEgAkEQahBbDwsgAEGyqAEgARBYIAIoAgBBBUcNWCAAQayoASACQSRqEFggAigCIEUNVyAAQQRqQayoASACQSBqEFsPCyAAQbmoASABEFggAigCAEEGRw1XIAIoAgwiAUEATA1WIABBBGohBANAIAFBAWsiACACKAIMTw1ZIAIoAgggAEECdGoiAygCAEUNWiAEQayoASADEFsgAUEBSyEHIAAhASAHDQALDFYLIABBuqgBIAEQWCACKAIAQQdHDVYgAEGsqAEgAkEcahBYIAIoAhAiAUEATA1VIABBBGohBANAIAFBAWsiACACKAIQTw1YIAIoAgwgAEECdGoiAygCAEUNWSAEQayoASADEFsgAUEBSyEIIAAhASAIDQALDFULIABBu6gBIAEQWCACKAIAQQhGDVQMVQsgAEG8qAEgARBYIAIoAgBBCUcNVAxgCyAAQb2oASABEFggAigCAEEKRg1SDFMLIABBvqgBIAEQWCACKAIAQQtHDVIMWwsgAEG/qAEgARBYIAIoAgBBDEcNUQxfCyAAQcCoASABEFggAigCAEENRw1QDF0LIABBwagBIAEQWCACKAIAQRhHDU8MXgsgAEHCqAEgARBYIAIoAgBBGUcNTiAAQayoASACQSBqEFgMXQsgAEHDqAEgARBYIAIoAgBBGkcNTQxUCyAAQcSoASABEFggAigCAEEbRw1MDFQLIABBxagBIAEQWCACKAIAQRxGDUoMSwsgAEHGqAEgARBYIAIoAgBBHUcNSgxWCyAAQceoASABEFggAigCAEEeRw1JIABBrKgBIAJBFGoQWAxVCyAAQcioASABEFggAigCAEEfRw1IDE0LIABByagBIAEQWCACKAIAQSBHDUcMUQsgAEHKqAEgARBYIAIoAgBBIUcNRgxRCyAAQcuoASABEFggAigCAEEiRw1FIABBrKgBIAJBIGoQWA8LIABBzKgBIAEQWCACKAIAQSNHDUQMUQsgAEHNqAEgARBYIAIoAgBBJEcNQwxKCyAAQc6oASABEFggAigCAEElRg1BDEILIABBz6gBIAEQWCACKAIAQSZHDUEMRQsgAEHQqAEgARBYIAIoAgBBJ0cNQAxECyAAQdGoASABEFggAigCAEEORg0+DD8LIABB0qgBIAEQWCACKAIAQQ9HDT4MSgsgAEHTqAEgARBYIAIoAgBBEEcNPQxICyAAQdSoASABEFggAigCAEERRw08DEALIABB1agBIAEQWCACKAIAQRJHDTsMSwsgAEGzqAEgARBYIAIoAgBBE0cNOiACKAIIRQ05DEsLIABB1qgBIAEQWCACKAIAQRRGDTgMOQsgAEHXqAEgARBYIAIoAgBBFUcNOAxICyAAQdioASABEFggAigCAEEpRg02DDcLIABB2agBIAEQWCACKAIAQSpHDTYMRgsgAEHaqAEgARBYIAIoAgBBK0YNNAw1CyAAQduoASABEFggAigCAEEsRw00DDkLIABB3KgBIAEQWCACKAIAQS1HDTMMPAsgAEHdqAEgARBYIAIoAgBBLkcNMgw6CyAAQd6oASABEFggAigCAEEvRg0wDDELIABB36gBIAEQWCACKAIAQTBHDTAMOAsg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ACIBBEAgAyABNgIEIAEQWgsgAxBaCyAAKAJoIgEEQANAIAEoAgAhCSABEFogCSIBDQALCyAAKAJgIQEgAEEANgJgIAEEQCABEFoLAkAgACgCXEUNACAAKAJYIgEoAgAiAiAAKAJUKAIEIgM2AgQgAyACNgIAIABBADYCXCABIABB1ABqIgNGDQADQCABKAIEIQogARBaIAoiASADRw0ACwsgACgCSCIBBEADQCABKAIAIQsgARBaIAsiAQ0ACwsgACgCQCEBIABBADYCQCABBEAgARBaCyAAKAI0IgEEQANAIAEoAgAhDCABEFogDCIBDQALCyAAKAIsIQEgAEEANgIsIAEEQCABEFoLIABBKGpBABDjByAAKAIcIgEEQANAIAEoAgAhDSABEFogDSIBDQALCyAAKAIUIQEgAEEANgIUIAEEQCABEFoLAkAgACgCCCICBEAgACgCDCIBIAIiA0cEQANAIAFByABrIgMoAjgiBQRAIAFBDGsgBTYCACAFEFoLIAFBGGsiBS0AACIGQf8BRwRAIARBi8MANgIcIARBjMMANgIYIARBjcMANgIUIARBjsMANgIQIARBj8MANgIMQdSJC0EANgIAIARBDGogBkECdGooAgAgBEELaiABQTBrEANB1IkLKAIAIQ5B1IkLQQA2AgAgDkEBRg0ECyAFQf8BOgAAIAMiASACRw0ACyAAKAIIIQMLIAAgAjYCDCADEFoLIARBIGokAA8LQQAQCxoQcAALjQcBCX8jAEFAaiICJAACfyABLQAQIgNB/wFGBEBBkrqFowYhA0H/AQwBCyACQcqmATYCPCACQcumATYCOCACQcymATYCNCACQc2mATYCMCACQc6mATYCLCACQc+mATYCKCACQdCmATYCJCACQdGmATYCICACQdKmATYCHCACQdOmATYCGCACQdSmATYCFCACQdWmATYCECACQQxqIAEgAkEQaiADQQJ0aigCABEEAEGV08feBWwhAyABLQAQCyEEAkAgACgCBCIFRQ0AQeusuKF6IARB/wFxIgZBldPH3gVsIAZB/wFGGyIGQRh2IAZzQZXTx94FbCADQRh2IANzQZXTx94FbEGomb30fXNBldPH3gVscyIDQQ12IANzQZXTx94FbCIDQQ92IANzIQMgACgCAAJ/IAMgBUEBa3EgBWkiBEEBTQ0AGiADIAMg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AgQgBygCACIFayIAIAQoAjAiAyAEKAIsIgJrIgFGBEAgBSACIAAQXkUNAQsgACABTwRAQfwBIQNBk5AGIQYMCAtB1IkLQQA2AgBB4BwgByACIAMgAUECdRAFQdSJCygCACEmQdSJC0EANgIAICZBAUYNBiAHKAIwIgMgBygCNCIBRg0AA0AgAygCACEAQdSJC0EANgIAQbqdASAEQRhqIARBOGogACAAEAVB1IkLKAIAISdB1IkLQQA2AgAgJ0EBRg0GIANBBGoiAyABRw0ACwsgAkUNACAEIAI2AjAgAhBaCyAEKAJEIgANAAsLIAQoAkAiAgRAA0AgAigCACEoIAIQWiAoIgINAAsLIAQoAjghACAEQQA2AjggAARAIAAQWgsgBEHQAGokAA8LEAAhAwwDCxAAIQMMAgsQACEDIAQoAiwhAgwBC0HUiQtBADYCAEENIAZBg5kDIANB66kBEAVB1IkLKAIAISlB1IkLQQA2AgAgKUEBRwRAAAsQACEDCyACRQ0AIAQgAjYCMCACEFoLIARBOGoQogEgAxAHAAsQACECIARBOGoQogEgBEEYahCiAQwBCxAAIQIgBCgCOCIARQ0AIAAQvwILIAIQBwAL1QQBBn8gACgCvAIiAQRAIAAgATYCwAIgARBaCyAAKAKsAiIBBEADQCABKAIAIQUgARBaIAUiAQ0ACwsgACgCpAIhASAAQQA2AqQCIAEEQCABEFoLIAAoApgCIgEEQCAAIAE2ApwCIAEQWgsgACgCjAIiAQRAA0AgASgCACEGIAEQWiAGIgENAAsLIAAoAoQCIQEgAEEANgKEAiABBEAgARBaCyAAKAL4ARDqByAAKALkASIBBEAgACABNgLoASABEFoLIAAoAtgBIgMEQCAAKALcASICIAMiAUcEQANAIAJBDGsiASgCACIEBEAgAkEIayAENgIAIAQQWgsgASICIANHDQALIAAoAtgBIQELIAAgAzYC3AEgARBaCyAAKALMASIBBEAgACABNgLQASABEFoLIAAoAsABIgMEQCAAKALEASICIAMiAUcEQANAIAJBDGsiASgCACIEBEAgAkEIayAENgIAIAQQWgsgASICIANHDQALIAAoAsABIQELIAAgAzYCxAEgARBaCyAAKAK0ASIBBEAgACABNgK4ASABEFoLIAAoAqgBIgEEQCAAIAE2AqwB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EFoglQEiAg0ACwsgAygCCCEBIANBADYCCCABRQ0DIAEQWgwDC0HUiQtBADYCAEENQavLAUHUgwJB7gVBidQCEAVB1IkLKAIAIZYBQdSJC0EANgIAIJYBQQFGDQELAAsQACEJIAMQwgUMBAsgA0EgahDhDAsgCUEEaiIJIBJHDQEMBQsLEAAhCSALEKIBCyADQSBqEOEMDAMLIANB5ABqIQQgA0HEAGohBRAAIQkLIAMoAowBIgAEQCADIAA2ApABIAAQWgsgEBCiASAEKAIIIgAEQANAIAAoAgwhAiAAQQA2AgwgACgCACGXASACBEAgAigCDCIHBEAgAiAHNgIQIAcQWgsgAhBaCyAAEFoglwEiAA0ACwsgBCgCACEAIARBADYCACAABEAgABBaCyADKAJYIgAEQCADIAA2AlwgABBaCyAFEKIBIAMoAjgiAEUNASADIAA2AjwgABBaDAELIAMoAqgBIgIEQANAIAIoAgAhmAEgAhBaIJgBIgINAAsLIAMoAqABIQAgA0EANgKgASAABEAgABBaCyAPEN8CGiAMENAKIANBgARqJAAPCyADQaABahCiASAPEN8CGgwECxAAIQkgDxDfAhoMAwsQACEJDAILEAAhCQwBCxAAIQkLIAwQ0AoLIAkQBwALviIBDn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEoAgAiAigCAA5eAAECAwQFBgcICQoLDA0eHyAhIiMkJTU2Dg8QERITFBUWFxgZGhscHTcmJygpKissLS4vMDEyMzQ4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcAF0LQZj9A0HlswNB6gEQYgALIABBFGpBlZsBIAEQWCACKAIAQQFHDVwgAigCFCIBQQBMDVsgAEEYaiEDA0AgAUEBayIAIAIo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AgBB3ABHDQEgA0GOmwEgAkE8ahBYIAIoAjAiAUEATA0AIABBGGohAwNAIAFBAWsiACACKAIwTw0DIAIoAiwgAEECdGoiBCgCAEUNBCADQY6bASAEEFsgAUEBSyEPIAAhASAPDQALCw8LQfDtBUHFmANBlAZBjd4AEAEAC0HFogFBiaIDQbwBQaaIBRABAAtBgYMCQdOZA0G5AkGu9wIQAQALIABBjpsBIAJBHGoQWAsgAEGOmwEgAkEYahBYCyAAQY6bASACQRRqEFgLIABBjpsBIAJBEGoQWA8LIABBjpsBIAJBFGoQWAsgAEGOmwEgAkEQahBYCyAAQY6bASACQQxqEFgPCyAAQY6bASACQShqEFgLIABBjpsBIAJBJGoQWA8LIABBjpsBIAJBHGoQWCAAQY6bASACQRhqEFgPCyAAQY6bASACQRRqEFgLIABBjpsBIAJBEGoQWAsgAEGOmwEgAkEMahBYCyAAQY6bASACQQhqEFgPCyAAQRhqQY6bASACQQhqEFsPCyADQY6bASACQQxqEFgL3R4BDn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAIgIoAgAOXgABAgMEBQYHCAkKCwwNHh8gISIjJCU1Ng4PEBESExQVFhcYGRobHB03JicoKSorLC0uLzAxMjM0ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXABdC0GY/QNB5bMDQeoBEGIACyAAQaGbASABEFggAigCAEEBRw1cIAIoAhQiAUEATA1bIABBBGohBANAIAFBAWsiACACKAIUTw1eIAIoAhAgAEECdGoiAygCAEUNXyAEQZCbASADEFsgAUEBSyEGIAAhASAGDQALDFsLIABBo5sBIAEQWCACKAIAQQJHDVsgAigCEARAIABBBGpBkJsB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CwwkCyAAQdubASABEFggAigCAEE5Rw0kDDQLIABB3JsBIAEQWCACKAIAQTpHDSMMMwsgAEHdmwEgARBYIAIoAgBBO0cNIgwyCyAAQd6bASABEFggAigCAEE8Rw0hIABBkJsBIAJBGGoQWCACKAIMIgFBAEwNICAAQQRqIQQDQCABQQFrIgAgAigCDE8NIyACKAIIIABBAnRqIgMoAgBFDSQgBEGQmwEgAxBbIAFBAUshDCAAIQEgDA0ACwwgCyAAQd+bASABEFggAigCAEE9Rw0gDDALIABB4JsBIAEQWCACKAIAQT5HDR8MLwsgAEGsmwEgARBYIAIoAgBBP0cNHiAAQZCbASACQRRqEFgPCyAAQeGbASABEFggAigCAEHAAEcNHSACKAIMIgFBAEwNHCAAQQRqIQQDQCABQQFrIgAgAigCDE8NHyACKAIIIABBAnRqIgMoAgBFDSAgBEGQmwEgAxBbIAFBAUshDSAAIQEgDQ0ACwwcCyAAQeKbASABEFggAigCAEHBAEcNHAwoCyAAQeObASABEFggAigCAEHCAEcNGwwmCyAAQeSbASABEFggAigCAEHDAEcNGiAAQZCbASACQQxqEFggAigCCEUNGQwrCyAAQeWbASABEFggAigCAEHEAEcNGQwhCyAAQeabASABEFggAigCAEHFAEcNGAwgCyAAQeebASABEFggAigCAEHGAEcNFyACKAIMIgFBAEwNFiAAQQRqIQQDQCABQQFrIgAgAigCDE8NGSACKAIIIABBAnRqIgMoAgBFDRogBEGQmwEgAxBbIAFBAUshDiAAIQEgDg0ACwwWCyAAQeibASABEFggAigCAEHHAEcNFgwbCyAAQembASABEFggAigCAEHIAEcNFQwZCyAAQeqbASABEFggAigCAEHJAEcNFAwkCyAAQeubASABEFggAigCAEHKAEcNEyAAQZCbASACQRhqEFgMFgsgAEHsmwEgARBYIAIoAgBBywBHDRIMFQsgAEHtmwEgARBYIAIoAgBBzABHDREMFwsgAEHumwEgARBYIAIoAgBBzQBHDRAMFgsgAEHvmwEgARBYIAIoAgBBzgBHDQ8MGwsgAEHwmwEgARBYIAIoAgBBzwBHDQ4gAigCGARAIABBBGpBkJsBIAJBGGoQWwsgAigCFARAIABBBGpBkJsBIAJBFGoQWwsgAigCEARAIABBBGpBkJsBIAJBEGoQWwsMGgsgAEHxmwEgARBYIAIoAgBB0ABGDQwMDQsgAEHymwEgARBYIAIoAgBB0QBHDQwMGAsgAEHzmwEgARBYIAIoAgBB0gBHDQsgAigCFARAIABBBGpBkJsBIAJBFGoQWwsMFgsgAEH0mwEgARBYIAIoAgBB0wBHDQoMDwsgAEH1mwEgARBYIAIoAgBB1ABHDQkMFAsgAEH2mwEgARBYIAIoAgBB1QBHDQgMFAsgAEH3mwEgARBYIAIoAgBB1gBHDQcMCwsgAEH4mwEgARBYIAIoAgBB1wBHDQYMCwsgAEH5mwEgARBYIAIoAgBB2ABHDQUMFQsgAEH6mwEgARBYIAIoAgBB2QBHDQQMDwsgAEH7mwEgARBYIAIoAgBB2gBHDQMMDQsgAEH8mwEgARBYIAIoAgBB2wBHDQIMBwsgAEH9mwEgARBYIAIoAgBB3ABHDQEgAEGQmwEgAkE8ahBYIAIoAjAiAUEATA0AIABBBGohBANAIAFBAWsiACACKAIwTw0DIAIoAiwgAEECdGoiAygCAEUNBCAEQZCbASADEFsgAUEBSyEPIAAhASAPDQALCw8LQfDtBUHFmANBlAZBjd4AEAEAC0HFogFBiaIDQbwBQaaIBRABAAtBgYMCQdOZA0G5AkGu9wIQAQALIABBkJsBIAJBFGoQWAsgAEGQmwEgAkEQahBYCyAAQZCbASACQQxqEFgMCgsgAEGQmwEgAkEcahBYCyAAQZCbASACQRhqEFgLIABBkJsBIAJBFGoQWAsgAEGQmwEgAkEQahBYDwsgAEGQmwEgAkEUahBYCyAAQZCbASACQRBqEFgLIABBkJsBIAJBDGoQWA8LIABBkJsBIAJBKGoQWAsgAEGQmwEgAkEkahBYDwsgAEGQmwEgAkEcahBYIABBkJsBIAJBGGoQWA8LIABBkJsBIAJBCGoQWA8LIABBBGpBkJsBIAJBCGoQWwu4EQENfyAAQQA6ALQBIABBFGogAUEwahDsByAAKALwAiIMIAAoAuwCIgVHBEADQCAFKAIAIQMgACgCfEGoAWpBCEEEEF0iCUIWNwIAIAMoAhAhAgJAIAMoAhQiBCADKAIYRwRAIAIhAQwBCyADIARBAXRBAmoiATYCGCADIAMoAhwgAUECdEEEEF0iATYCECADKAIUIgRFBEBBACEEDAELQQAhCEEAIQEgBEEETwRAIARBfHEhCgNAIAFBAnQiBiADKAIQaiACIAZqKAIANgIAIAZBBHIiByADKAIQaiACIAdqKAIANgIAIAZBCHIiByADKAIQaiACIAdqKAIANgIAIAZBDHIiBiADKAIQaiACIAZqKAIANgIAIAFBBGoiASAKRw0ACwsgBEEDcSIGBEADQCABQQJ0IgogAygCEGogAiAKaigCADYCACABQQFqIQEgCEEBaiIIIAZHDQALCyADKAIQIQELIAEgBEECdGogCTYCACADIARBAWo2AhQgBUEEaiIFIAxHDQALIABBAToAtAEgACAAKALsAjYC8AILIAAoAvwCIgogACgC+AIiBkcEQANAIAAoAnwhAQJAAkAgBigCACIJKAIMIgJFDQAgAigCAEEBRw0AIAIoAggNACACIQEMAQsgAUGoAWoiA0EgQQQQXSIBQgA3AgQgAUEBNgIAIAFCADcCDCABQRRqQgA3AgAgASADNgIcIAJFDQAgAUECNgIYIAEgA0EIQQQQXSIDNgIQIAMgAjYCACABQQE2AhQgASANQYB+cSINQQBBABDmAQsgAUIANwIIIAkgATYCDAJAIAEoAhQiAgRAIAEoAhAgAkECdGpBBGsoAgAoAgBBFkYNAQsgACgCfEGoAWpBCEEEEF0iDEIWNwIAIAEoAhAhAwJAIAEoAhQiBSABKAIYRwRAIAMhAgwBCyABIAVBAXRBAmoiAjYCGCABIAEoAhwgAkECdEEEEF0iAjYCECABKAIUIgVFBEBBACEFDAELQQAhCEEAIQIgBUEETwRAIAVBfHEhBwNAIAJBAnQiBCABKAIQaiADIARqKAIANgIAIARBBHIiCyABKAIQaiADIAtqKAIANgIAIARBCHIiCyABKAIQaiADIAtqKAIANgIAIARBDHIiBCABKAIQaiADIARqKAIANgIAIAJBBGoiAiAHRw0ACwsgBUEDcSIEBEADQCACQQJ0IgcgASgCEGogAyAHaigCADYCACACQQFqIQIgCEEBaiIIIARHDQALCyABKAIQIQILIAIgBUECdGogDDYCACABIAVBAWo2AhQLAkAgCSgCECICRQ0AIAAoAnwhAQJAAkAgAigCAEEBRw0AIAIoAggNACACIQEMAQsgAUGoAWoiA0EgQQQQXSIBQgA3AgQgAUEBNgIAIAFCADcC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IAIoAjAiAUEATA0AIABBGGohAwNAIAFBAWsiACACKAIwTw0DIAIoAiwgAEECdGoiBCgCAEUNBCADQcqZASAEEFsgAUEBSyEPIAAhASAPDQALCw8LQfDtBUHFmANBlAZBjd4AEAEAC0HFogFBiaIDQbwBQaaIBRABAAtBgYMCQdOZA0G5AkGu9wIQAQALIABBypkBIAJBHGoQWAsgAEHKmQEgAkEYahBYCyAAQcqZASACQRRqEFgLIABBypkBIAJBEGoQWA8LIABBypkBIAJBFGoQWAsgAEHKmQEgAkEQahBYCyAAQcqZASACQQxqEFgPCyAAQcqZASACQShqEFgLIABBypkBIAJBJGoQWA8LIABBypkBIAJBHGoQWCAAQcqZASACQRhqEFgPCyAAQcqZASACQRRqEFgLIABBypkBIAJBEGoQWAsgAEHKmQEgAkEMahBYCyAAQcqZASACQQhqEFgPCyAAQRhqQcqZASACQQhqEFsPCyADQcqZASACQQxqEFgL3R4BDn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAIgIoAgAOXgABAgMEBQYHCAkKCwwNHh8gISIjJCU1Ng4PEBESExQVFhcYGRobHB03JicoKSorLC0uLzAxMjM0ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXABdC0GY/QNB5bMDQeoBEGIACyAAQd2ZASABEFggAigCAEEBRw1cIAIoAhQiAUEATA1bIABBBGohBANAIAFBAWsiACACKAIUTw1eIAIoAhAgAEECdGoiAygCAEUNXyAEQcyZASADEFsgAUEBSyEGIAAhASAGDQALDFsLIABB35kBIAEQWCACKAIAQQJHDVsgAigCEARAIABBBGpBzJkBIAJBEGoQWwsMYAsgAEHgmQEgARBY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fHEhCgNAIAFBAnQiBiADKAIQaiACIAZqKAIANgIAIAZBBHIiByADKAIQaiACIAdqKAIANgIAIAZBCHIiByADKAIQaiACIAdqKAIANgIAIAZBDHIiBiADKAIQaiACIAZqKAIANgIAIAFBBGoiASAKRw0ACwsgBEEDcSIGBEADQCABQQJ0IgogAygCEGogAiAKaigCADYCACABQQFqIQEgCEEBaiIIIAZHDQALCyADKAIQIQELIAEgBEECdGogCTYCACADIARBAWo2AhQgBUEEaiIFIAxHDQALIABBAToAtAEgACAAKALsAjYC8AILIAAoAvwCIgogACgC+AIiBkcEQANAIAAoAnwhAQJAAkAgBigCACIJKAIMIgJFDQAgAigCAEEBRw0AIAIoAggNACACIQEMAQsgAUGoAWoiA0EgQQQQXSIBQgA3AgQgAUEBNgIAIAFCADcCDCABQRRqQgA3AgAgASADNgIcIAJFDQAgAUECNgIYIAEgA0EIQQQQXSIDNgIQIAMgAjYCACABQQE2AhQgASANQYB+cSINQQBBABDmAQsgAUIANwIIIAkgATYCDAJAIAEoAhQiAgRAIAEoAhAgAkECdGpBBGsoAgAoAgBBFkYNAQsgACgCfEGoAWpBCEEEEF0iDEIWNwIAIAEoAhAhAwJAIAEoAhQiBSABKAIYRwRAIAMhAgwBCyABIAVBAXRBAmoiAjYCGCABIAEoAhwgAkECdEEEEF0iAjYCECABKAIUIgVFBEBBACEFDAELQQAhCEEAIQIgBUEETwRAIAVBfHEhBwNAIAJBAnQiBCABKAIQaiADIARqKAIANgIAIARBBHIiCyABKAIQaiADIAtqKAIANgIAIARBCHIiCyABKAIQaiADIAtqKAIANgIAIARBDHIiBCABKAIQaiADIARqKAIANgIAIAJBBGoiAiAHRw0ACwsgBUEDcSIEBEADQCACQQJ0IgcgASgCEGogAyAHaigCADYCACACQQFqIQIgCEEBaiIIIARHDQALCyABKAIQIQILIAIgBUECdGogDDYCACABIAVBAWo2AhQLAkAgCSgCECICRQ0AIAAoAnwhAQJAAkAgAigCAEEBRw0AIAIoAggNACACIQEMAQsgAUGoAWoiA0EgQQQQXSIBQgA3AgQgAUEBNgIAIAFCADcCDCABIAM2AhwgAUEUakKAgICAIDcC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EFggAigCAEEERw1ZIAIoAhQEQCAAQQRqQYiYASACQRRqEFsLIAIoAhBFDVggAEEEakGImAEgAkEQahBbDwsgAEGemAEgARBYIAIoAgBBBUcNWCAAQYiYASACQSRqEFggAigCIEUNVyAAQQRqQYiYASACQSBqEFsPCyAAQaWYASABEFggAigCAEEGRw1XIAIoAgwiAUEATA1WIABBBGohBANAIAFBAWsiACACKAIMTw1ZIAIoAgggAEECdGoiAygCAEUNWiAEQYiYASADEFsgAUEBSyEHIAAhASAHDQALDFYLIABBppgBIAEQWCACKAIAQQdHDVYgAEGImAEgAkEcahBYIAIoAhAiAUEATA1VIABBBGohBANAIAFBAWsiACACKAIQTw1YIAIoAgwgAEECdGoiAygCAEUNWSAEQYiYASADEFsgAUEBSyEIIAAhASAIDQALDFULIABBp5gBIAEQWCACKAIAQQhGDVQMVQsgAEGomAEgARBYIAIoAgBBCUcNVAxgCyAAQamYASABEFggAigCAEEKRg1SDFMLIABBqpgBIAEQWCACKAIAQQtHDVIMWwsgAEGrmAEgARBYIAIoAgBBDEcNUQxfCyAAQayYASABEFggAigCAEENRw1QDF0LIABBrZgBIAEQWCACKAIAQRhHDU8MXgsgAEGumAEgARBYIAIoAgBBGUcNTiAAQYiYASACQSBqEFgMXQsgAEGvmAEgARBYIAIoAgBBGkcNTQxUCyAAQbCYASABEFggAigCAEEbRw1MDFQLIABBsZgBIAEQWCACKAIAQRxGDUoMSwsgAEGymAEgARBYIAIoAgBBHUcNSgxWCyAAQbOYASABEFggAigCAEEeRw1JIABBiJgBIAJBFGoQWAxVCyAAQbSYASABEFggAigCAEEfRw1IDE0LIABBtZgBIAEQWCACKAIAQSBHDUcMUQsgAEG2mAEgARBYIAIoAgBBIUcNRgxRCyAAQbeYASABEFggAigCAEEiRw1FIABBiJgBIAJBIGoQWA8LIABBuJgBIAEQWCACKAIAQSNHDUQMUQsgAEG5mAEgARBYIAIoAgBBJEcNQwxKCyAAQbqYASABEFggAigCAEElRg1BDEILIABBu5gBIAEQWCACKAIAQSZHDUEMRQsgAEG8mAEgARBYIAIoAgBBJ0cNQAxECyAAQb2YASABEFggAigC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IAZqKAIANgIAIAZBBHIiByADKAIQaiACIAdqKAIANgIAIAZBCHIiByADKAIQaiACIAdqKAIANgIAIAZBDHIiBiADKAIQaiACIAZqKAIANgIAIAFBBGoiASAKRw0ACwsgBEEDcSIGBEADQCABQQJ0IgogAygCEGogAiAKaigCADYCACABQQFqIQEgCEEBaiIIIAZHDQALCyADKAIQIQELIAEgBEECdGogCTYCACADIARBAWo2AhQgBUEEaiIFIAxHDQALIABBAToAtAEgACAAKALsAjYC8AILIAAoAvwCIgogACgC+AIiBkcEQANAIAAoAnwhAQJAAkAgBigCACIJKAIMIgJFDQAgAigCAEEBRw0AIAIoAggNACACIQEMAQsgAUGoAWoiA0EgQQQQXSIBQgA3AgQgAUEBNgIAIAFCADcCDCABQRRqQgA3AgAgASADNgIcIAJFDQAgAUECNgIYIAEgA0EIQQQQXSIDNgIQIAMgAjYCACABQQE2AhQgASANQYB+cSINQQBBABDmAQsgAUIANwIIIAkgATYCDAJAIAEoAhQiAgRAIAEoAhAgAkECdGpBBGsoAgAoAgBBFkYNAQsgACgCfEGoAWpBCEEEEF0iDEIWNwIAIAEoAhAhAwJAIAEoAhQiBSABKAIYRwRAIAMhAgwBCyABIAVBAXRBAmoiAjYCGCABIAEoAhwgAkECdEEEEF0iAjYCECABKAIUIgVFBEBBACEFDAELQQAhCEEAIQIgBUEETwRAIAVBfHEhBwNAIAJBAnQiBCABKAIQaiADIARqKAIANgIAIARBBHIiCyABKAIQaiADIAtqKAIANgIAIARBCHIiCyABKAIQaiADIAtqKAIANgIAIARBDHIiBCABKAIQaiADIARqKAIANgIAIAJBBGoiAiAHRw0ACwsgBUEDcSIEBEADQCACQQJ0IgcgASgCEGogAyAHaigCADYCACACQQFqIQIgCEEBaiIIIARHDQALCyABKAIQIQILIAIgBUECdGogDDYCACABIAVBAWo2AhQLAkAgCSgCECICRQ0AIAAoAnwhAQJAAkAgAigCAEEBRw0AIAIoAggNACACIQEMAQsgAUGoAWoiA0EgQQQQXSIBQgA3AgQgAUEBNgIAIAFCADcCDCABIAM2AhwgAUEUakKAgICAIDcCACABIANBCEEEEF0iAzYCECADIAI2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oAIQWgsgAkGABGokAA8LEAAhHiACQZgCahDIAhogHhAHAAtB1IkLQQA2AgBBDSAFIAkgAyAHEAVB1IkLKAIAIR9B1IkLQQA2AgAgH0EBRwRAAAsQACEDCyACQZgCahDEBiADEAcAC0HhlQZBuLMCQdsJQY/iAxABAAuxAgEDfyAAQdyjCDYCACAAKAKEAyIBBEAgACABNgKIAyABEFoLIAAoAvgCIgEEQCAAIAE2AvwCIAEQWgsgACgC7AIiAQRAIAAgATYC8AIgARBaCyAAKALgAiIBBEAgACABNgLkAiABEFoLIAAoAqQCIgEEQCAAIAE2AqgCIAEQWgsgACgCkAIiAQRAIAAgATYClAIgARBaCyAAKAKoASIBBEAgACgCrAEiAiABIgNHBEADQCACQQxrIgIgAigCBBC1AyABIAJHDQALIAAoAqgBIQMLIAAgATYCrAEgAxBaCyAAKAKgARBgIAAoApQBEPEHIABBhAFqIAAoAogBELUDIAAoAmwiAQRAIAAgATYCcCABEFoLIABBkO0JNgIAIAAsABNBAEgEQCAAKAIIEFoLIAALtAEBBH8CQCABKAIEIgJFBEAgASECA0AgAigCCCIDKAIAIAJHIQUgAyECIAUNAAsMAQsDQCACIgMoAgAiAg0ACwsgASAAKAIARgRAIAAgAzYCAAsgACAAKAIIQQFrNgIIIAAoAgQgARDlASABKAIYIgAEQCABKAIcIgMgACICRwRAA0AgA0EMayADQRBrIgMoAggQlwMgACADRw0ACyABKAIYIQILIAEgADYCHCACEFoLIAEQWgu+IgEOfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgASgCACICKAIADl4AAQIDBAUGBwgJCgsMDR4fICEiIyQlNTYODxAREhMUFRYXGBkaGxwdNyYnKCkq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lwEgARBYIAIoAgBBKEYNJQwmCyAAQYyXASABEFggAigCAEE4Rw0lIAIoAgwiAUEATA0kIABBBGohBANAIAFBAWsiACACKAIMTw0nIAIoAgggAEECdGoiAygCAEUNKCAEQcKWASADEFsgAUEBSyELIAAhASALDQALDCQLIABBjZcBIAEQWCACKAIAQTlHDSQMNAsgAEGOlwEgARBYIAIoAgBBOkcNIwwzCyAAQY+XASABEFggAigCAEE7Rw0iDDILIABBkJcBIAEQWCACKAIAQTxHDSEgAEHClgEgAkEYahBYIAIoAgwiAUEATA0gIABBBGohBANAIAFBAWsiACACKAIMTw0jIAIoAgggAEECdGoiAygCAEUNJCAEQcKWASADEFsgAUEBSyEMIAAhASAMDQALDCALIABBkZcBIAEQWCACKAIAQT1HDSAMMAsgAEGSlwEgARBYIAIoAgBBPkcNHwwvCyAAQd6WASABEFggAigCAEE/Rw0eIABBwpYBIAJBFGoQWA8LIABBk5cBIAEQWCACKAIAQcAARw0dIAIoAgwiAUEATA0cIABBBGohBANAIAFBAWsiACACKAIMTw0fIAIoAgggAEECdGoiAygCAEUNICAEQcKWASADEFsgAUEBSyENIAAhASANDQALDBwLIABBlJcBIAEQWCACKAIAQcEARw0cDCgLIABBlZcBIAEQWCACKAIAQcIARw0bDCYLIABBlpcBIAEQWCACKAIAQcMARw0aIABBwpYBIAJBDGoQWCACKAIIRQ0ZDCsLIABBl5cBIAEQWCACKAIAQcQARw0ZDCELIABBmJcBIAEQWCACKAIAQcUARw0YDCALIABBmZcBIAEQWCACKAIAQcYARw0XIAIoAgwiAUEATA0WIABBBGohBANAIAFBAWsiACACKAIMTw0ZIAIoAgggAEECdGoiAygCAEUNGiAEQcKWASADEFsgAUEBSyEOIAAhASAODQALDBYLIABBmpcBIAEQWCACKAIAQccARw0WDBsLIABBm5cBIAEQWCACKAIAQcgARw0VDBkLIABBnJcBIAEQWCACKAIAQckARw0UDCQLIABBnZcBIAEQWCACKAIAQcoARw0TIABBwpYBIAJBGGoQWAwWCyAAQZ6XASABEFggAigCAEHLAEcNEgwVCyAAQZ+XASABEFggAigCAEHMAEcNEQwXCyAAQaCXASABEFggAigCAEHNAEcNEAwWCyAAQaGXASABEFggAigCAEHOAEcNDwwbCyAAQaKXASABEFggAigCAEHPAEcNDiACKAIYBEAgAEEEakHClgEgAkEYahBbCyACKAIUBEAgAEEEakHClgEgAkEUahBbCyACKAIQBEAgAEEEakHClgEgAkEQahBbCwwaCyAAQaOXASABEFggAigCAEHQAEYNDAwNCyAAQaSXASABEFggAigCAEHRAEcNDAwYCyAAQaWXASABEFggAigCAEHSAEcNCyACKAIUBEAgAEEEakHClgEgAkEUahBbCwwWCyAAQaaXASABEFggAigCAEHTAEcNCgwPCyAAQaeXASABEFggAigCAEHUAEcNCQwUCyAAQaiXASABEFggAigCAEHVAEcNCAwUCyAAQamXASABEFggAigCAEHWAEcNBwwLCyAAQaqXASABEFggAigCAEHXAEcNBgwLCyAAQauXASABEFggAigCAEHYAEcNBQwVCyAAQayXASABEFggAigCAEHZAEcNBAwPCyAAQa2XASABEFggAigCAEHaAEcNAwwNCyAAQa6XASABEFggAigCAEHbAEcNAgwHCyAAQa+XASABEFggAigCAEHcAEcNASAAQcKWASACQTxqEFggAigCMCIBQQBMDQAgAEEEaiEEA0AgAUEBayIAIAIoAjBPDQMgAigCLCAAQQJ0aiIDKAIARQ0EIARBwpYBIAMQWyABQQFLIQ8gACEBIA8NAAsLDwtB8O0FQcWYA0GUBkGN3gAQAQALQcWiAUGJogNBvAFBpogFEAEAC0GBgwJB05kDQbkCQa73AhABAAsgAEHClgEgAkEUahBYCyAAQcKWASACQRBqEFgLIABBwpYBIAJBDGoQWAwKCyAAQcKWASACQRxqEFgLIABBwpYBIAJBGGoQWAsgAEHClgEgAkEUahBYCyAAQcKWASACQRBqEFgPCyAAQcKWASACQRRqEFgLIABBwpYBIAJBEGoQWAsgAEHClgEgAkEMahBYDwsgAEHClgEgAkEoahBYCyAAQcKWASACQSRqEFgPCyAAQcKWASACQRxqEFggAEHClgEgAkEYahBYDwsgAEHClgEgAkEIahBYDwsgAEEEakHClgEgAkEIahBbC7gRAQ1/IABBADoAtAEgAEEUaiABQTBqEPIHIAAoAvACIgwgACgC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NwKQAyACKAKgAyIEBEADQCAEKAIAIR0gBCgCGCIDBEADQCADKAIAIRwgAxBaIBwiAw0ACwsgBCgCECEBIARBADYCECABBEAgARBaCyAEEFogHSIEDQALCyACKAKYAyEAIAJBADYCmAMgAARAIAAQWgsgAigChAMiAARAIAIgADYCiAMgABBaCyACQZDtCTYCmAIgAiwAqwJBAE4NACACKAKgAhBaCyACQYAEaiQADwsQACEeIAJBmAJqEMgCGiAeEAcAC0HUiQtBADYCAEENIAUgCSADIAcQBUHUiQsoAgAhH0HUiQtBADYCACAfQQFHBEAACxAAIQMLIAJBmAJqEMQGIAMQBwALQeGVBkG4swJB2wlBj+IDEAEAC7ECAQN/IABBrKMINgIAIAAoAoQDIgEEQCAAIAE2AogDIAEQWgsgACgC+AIiAQRAIAAgATYC/AIgARBaCyAAKALsAiIBBEAgACABNgLwAiABEFoLIAAoAuACIgEEQCAAIAE2AuQCIAEQWgsgACgCpAIiAQRAIAAgATYCqAIgARBaCyAAKAKQAiIBBEAgACABNgKUAiABEFoLIAAoAqgBIgEEQCAAKAKsASICIAEiA0cEQANAIAJBDGsiAiACKAIEEJcDIAEgAkcNAAsgACgCqAEhAwsgACABNgKsASADEFoLIAAoAqABEGAgACgClAEQ8wcgAEGEAWogACgCiAEQlwMgACgCbCIBBEAgACABNgJwIAEQWgsgAEGQ7Qk2AgAgACwAE0EASARAIAAoAggQWgsgAAu0AQEEfwJAIAEoAgQiAkUEQCABIQIDQCACKAIIIgMoAgAgAkchBSADIQIgBQ0ACwwBCwNAIAIiAygCACICDQALCyABIAAoAgBGBEAgACADNgIACyAAIAAoAghBAWs2AgggACgCBCABEOUBIAEoAhgiAARAIAEoAhwiAyAAIgJHBEADQCADQQxrIANBEGsiAygCCBCYAyAAIANHDQALIAEoAhghAgsgASAANgIcIAIQWgsgARBaC74iAQ5/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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AEUNKCAEQfuUASADEFsgAUEBSyELIAAhASALDQALDCQLIABBxpUBIAEQWCACKAIAQTlHDSQMNAsgAEHHlQEgARBYIAIoAgBBOkcNIwwzCyAAQciVASABEFggAigCAEE7Rw0iDDILIABByZUBIAEQWCACKAIAQTxHDSEgAEH7lAEgAkEYahBYIAIoAgwiAUEATA0gIABBBGohBANAIAFBAWsiACACKAIMTw0jIAIoAgggAEECdGoiAygCAEUNJCAEQfuUASADEFsgAUEBSyEMIAAhASAMDQALDCALIABBypUBIAEQWCACKAIAQT1HDSAMMAsgAEHLlQEgARBYIAIoAgBBPkcNHwwvCyAAQZeVASABEFggAigCAEE/Rw0eIABB+5QBIAJBFGoQWA8LIABBzJUBIAEQWCACKAIAQcAARw0dIAIoAgwiAUEATA0cIABBBGohBANAIAFBAWsiACACKAIMTw0fIAIoAgggAEECdGoiAygCAEUNICAEQfuUASADEFsgAUEBSyENIAAhASANDQALDBwLIABBzZUBIAEQWCACKAIAQcEARw0cDCgLIABBzpUBIAEQWCACKAIAQcIARw0bDCYLIABBz5UBIAEQWCACKAIAQcMARw0aIABB+5QBIAJBDGoQWCACKAIIRQ0ZDCsLIABB0JUBIAEQWCACKAIAQcQARw0ZDCELIABB0ZUBIAEQWCACKAIAQcUARw0YDCALIABB0pUBIAEQWCACKAIAQcYARw0XIAIoAgwiAUEATA0WIABBBGohBANAIAFBAWsiACACKAIMTw0ZIAIoAgggAEECdGoiAygCAEUNGiAEQfuUASADEFsgAUEBSyEOIAAhASAODQALDBYLIABB05UBIAEQWCACKAIAQccARw0WDBsLIABB1JUBIAEQWCACKAIAQcgARw0VDBkLIABB1ZUBIAEQWCACKAIAQckARw0UDCQLIABB1pUBIAEQWCACKAIAQcoARw0TIABB+5QBIAJBGGoQWAwWCyAAQdeVASABEFggAigCAEHLAEcNEgwVCyAAQdiVASABEFggAigCAEHMAEcNEQwXCyAAQdmVASABEFggAigCAEHNAEcNEAwWCyAAQdqVASABEFggAigCAEHOAEcNDwwbCyAAQduVASABEFggAigCAEHPAEcNDiACKAIYBEAgAEEEakH7lAEgAkEYahBbCyACKAIUBEAgAEEEakH7lAEgAkEUahBbCyACKAIQBEAgAEEEakH7lAEgAkEQahBbCwwaCyAAQdyVASABEFggAigCAEHQAEYNDAwNCyAAQd2VASABEFggAigCAEHRAEcNDAwYCyAAQd6VASABEFggAigCAEHSAEcNCyACKAIUBEAgAEEEakH7lAEgAkEUahBbCwwWCyAAQd+VASABEFggAigCAEHTAEcNCgwPCyAAQeCVASABEFggAigCAEHUAEcNCQwUCyAAQeGVASABEFggAigCAEHVAEcNCAwUCyAAQeKVASABEFggAigCAEHWAEcNBwwLCyAAQeOVASABEFggAigCAEHXAEcNBgwLCyAAQeSVASABEFggAigCAEHYAEcNBQwVCyAAQeWVASABEFggAigCAEHZAEcNBAwPCyAAQeaVASABEFggAigCAEHaAEcNAwwNCyAAQeeVASABEFggAigCAEHbAEcNAgwHCyAAQeiVASABEFggAigCAEHcAEcNASAAQfuUASACQTxqEFggAigCMCIBQQBMDQAgAEEEaiEEA0AgAUEBayIAIAIoAjBPDQMgAigCLCAAQQJ0aiIDKAIARQ0EIARB+5QBIAMQWyABQQFLIQ8gACEBIA8NAAsLDwtB8O0FQcWYA0GUBkGN3gAQAQALQcWiAUGJogNBvAFBpogFEAEAC0GBgwJB05kDQbkCQa73AhABAAsgAEH7lAEgAkEUahBYCyAAQfuUASACQRBqEFgLIABB+5QBIAJBDGoQWAwKCyAAQfuUASACQRxqEFgLIABB+5QBIAJBGGoQWAsgAEH7lAEgAkEUahBYCyAAQfuUASACQRBqEFgPCyAAQfuUASACQRRqEFgLIABB+5QBIAJBEGoQWAsgAEH7lAEgAkEMahBYDwsgAEH7lAEgAkEoahBYCyAAQfuUASACQSRqEFgPCyAAQfuUASACQRxqEFggAEH7lAEgAkEYahBYDwsgAEH7lAEgAkEIahBYDwsgAEEEakH7lAEgAkEIahBbC7gRAQ1/IABBADoAtAEgAEEUaiABQTBqEPUHIAAoAvACIgwgACgC7AIiBUcEQANAIAUoAgAhAyAAKAJ8QagBakEIQQQQXSIJQhY3AgAgAygCECECAkAgAygCFCIEIAMoAhhHBEAgAiEBDAELIAMgBEEBdEECaiIBNgIYIAMgAygC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QgA3AgAgBUEANgIIQdSJC0EANgIAQYwCIAQgAigCKCACQShqIAItADMiBMBBAEgiBhsgAigCLCAEIAYbEAQhBEHUiQsoAgAhC0HUiQtBADYCACALQQFGDQUgAiwAM0EASARAIAIoAigQWgsgBSwAC0EASARAIAUoAgAQWgsgAywAC0EASARAIAMoAgAQWgsgAS0AIEUNCEHUiQtBADYCAEGNAiAEQdCXBRACGkHUiQsoAgAhDEHUiQtBADYCACAMQQFHDQkMDAsQACEADAwLEAAhACACLAAzQQBODQsgAigCKBBaDAsLEAAhAAwKCxAAIQAMAwsQACEADAELEAAhACACLAAzQQBODQAgAigCKBBaCyACLAAjQQBODQAgAigCGBBaCyACLAAXQQBODQUgAigCDBBaDAULIAEpAxghEEHUiQtBADYCAEHWjwEgAkEoaiIBIBAQ1gdB1IkLKAIAIQ1B1IkLQQA2AgAgDUEBRg0BQdSJC0EANgIAQYwCIAQgAigCKCABIAItADMiAcBBAEgiAxsgAigCLCABIAMbEAQaQdSJCygCACEOQdSJC0EANgIAIA5BAUYNAiACLAAzQQBODQAgAigCKBBaCyAEKAIAIQEgAiACKAI4IAQtAAsiAyADwEEASCIDGzYCLCACIAEgBCADGzYCKEHUiQtBADYCACACIAIpAig3AwBBBiAAIAIQA0HUiQsoAgAhD0HUiQtBADYCACAPQQFGDQIgBCwAC0EASARAIAQoAgAQWgsgAkFAayQADwsQACEADAILEAAhACACLAAzQQBODQEgAigCKBBaDAELEAAhAAsgAiwAP0EASARAIAIoAjQQWgsgABAHAAvPCQIQfwF+IwBBQGoiAiQAIAJBEBBcIgQ2AjQgAkKPgICAgIKAgIB/NwI4IARBnPIEKQAANwAHIARBlfIEKQAANwAAIARBADoAD0HUiQtBADYCAEHpBiACQShqIgQgAUEEahADQdSJCygCACEDQdSJC0EANgIAAkACQAJAAkACQAJAAkACQAJAAkAgA0EBRwRAQdSJC0EANgIAQYwCIAJBNGogAigCKCAEIAItADMiBMBBAEgiAxsgAigCLCAEIAMbEAQhBEHUiQsoAgAhB0HUiQtBADYCACAHQQFGDQEgAiwAM0EASARAIAIoAigQWgsgAS0ACCEDQdSJC0EANgIA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IAFBCGsiASAAIAIgASgCACAAEPYDIgIbKQIANwIAIAAgASACGyEAIARBCGohBAsgBCAAKQIANwIACwuVAwEHfyMAQRBrIgYkACAAIAEgAiADIAUQ3gkgBkEIaiIHIAUoAgAgBCgCACIIKAIAIAgQtwIgBigCCCgCECEIIAcgBSgCACADKAIAIgkoAgAgCRC3AgJAIAggBigCCCgCEE8NACADKAIAIQggAyAEKAIANgIAIAQgCDYCACAHIAUoAgAgAygCACIEKAIAIAQQtwIgBigCCCgCECEKIAcgBSgCACACKAIAIggoAgAgCBC3AiAKIAYoAggoAhBPDQAgAigCACEEIAIgAygCADYCACADIAQ2AgAgByAFKAIAIAIoAgAiAygCACADELcCIAYoAggoAhAhCyAHIAUoAgAgASgCACIEKAIAIAQQtwIgCyAGKAIIKAIQTw0AIAEoAgAhAyABIAIoAgA2AgAgAiADNgIAIAcgBSgCACABKAIAIgIoAgAgAhC3AiAGKAIIKAIQIQwgByAFKAIAIAAoAgAiAygCACADELcCIAwgBigCCCgCEE8NACAAKAIAIQIgACABKAIANgIAIAEgAjYCAAsgBkEQaiQAC6UFARB/IwBBEGsiBSQAQQEhAwJAAkACQAJAAkACQCABIABrQQJ1DgYFBQABAgMECyAFQQhqIgYgAigCACABQQRrIgcoAgAiASgCACABELcCIAUoAggoAhAhDiAGIAIoAgAgACgCACIBKAIAIAEQtwIgDiAFKAIIKAIQTw0EIAAoAgAhASAAIAcoAgA2AgAgByABNgIADAQLIAAgAEEEaiABQQRrIAIQ3wMMAwsgACAAQQRqIABBCGogAUEEayACEN4JDAILIAAgAEEEaiAAQQhqIABBDGogAUEEayACEJoNDAELIAAgAEEEaiAAQQhqIgYgAhDfAyAAQQxqIgcgAUYNAANAIAVBCGoiCCACKAIAIAcoAgAiAygCACADELcCIAUoAggoAhAhBCAIIAIoAgAgBigCACIDKAIAIAMQtwICQCAEIAUoAggoAhBPDQAgBygCACEJQQAhCCAHQQA2AgAgByEEAkADQCAGIgMoAgAhBiADQQA2AgAgBCAGNgIAIAgEQCAIEFoLAkAgACADRgRAIAAhAwwBCyACKAIAIQYgCSgCACEEQdSJC0EANgIAQeYA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aiADIAhqKAIANgIAIAVBDHIiBSABKAIQaiADIAVqKAIANgIAIABBBGoiACAGRw0ACwsgBEEDcSIFBEADQCAAQQJ0IgYgASgCEGogAyAGaigCADYCACAAQQFqIQAgB0EBaiIHIAVHDQALCyABKAIQIQALIAAgBEECdGogAjYCACABIARBAWo2AhQMAQsgAigCFCIIRQ0AA0AgAigCFCAFTQ0CIAIoAhAgBUECdGooAgAhCyABKAIQIQMCQCABKAIUIgQgASgCGEcEQCADIQAMAQsgASAEQQF0QQJqIgA2AhggASABKAIcIABBAnRBBBBdIgA2AhAgASgCFCIERQRAQQAhBAwBC0EAIQdBACEAIARBBE8EQCAEQXxxIQkDQCAAQQJ0IgYgASgCEGogAyAGaigCADYCACAGQQRyIgogASgCEGogAyAKaigCADYCACAGQQhyIgogASgCEGogAyAKaigCADYCACAGQQxyIgYgASgCEGogAyAGaigCADYCACAAQQRqIgAgCUcNAAsLIARBA3EiBgRAA0AgAEECdCIJIAEoAhBqIAMgCWooAgA2AgAgAEEBaiEAIAdBAWoiByAGRw0ACwsgASgCECEACyAAIARBAnRqIAs2AgAgASAEQQFqNgIUIAVBAWoiBSAIRw0ACwsgAUEAQQBBABDmASABDwtBxaIBQYmiA0G8AUGmiAUQAQALuC0CM38BfiMAQeACayICJAAgAUEwaiEKIABBFGohFCACQSRqIRAgAkHUAWohEiACQdABaiETIAJBgAFqIRUgAkH0AGohFiACQdAAaiEXIAJBxABqIRggAkE4aiEZIAJBLGohGgJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQANAIABBADoAgAEgFCAKEIQIAkAgACgCkAEgACgClAFGBEBBACEEIAAoAogBIgMhCyADIAAoAoQBIgVGDQEDQCAFIARBAnRqKAIAIgcoAgAiCSgCAEETRgRAAkAgCSgCCCIDRQRAIAlCFjcCAAwBCyAHIAM2AgAgACgChAEhBSAAKAKIASELCyAAQQE6AIABCyAEQQFqIgQgCyAFIgNrQQJ1SQ0ACwwBC0Hd9gVBpIwCQZcHQYnUAhABAAsgACADNgKIAQJAIAAoApwBIgQgACgCoAEiC0YEQCAALQCAASEFDAELA0BBACEFAkAgBCgC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AQsQACECCyADQUBrEGgMBgsQACECDAULEAAhAgwICyADKAKAASICBEADQCACKAIAISQgAhBaICQiAg0ACwsgAygCeCEAIANBADYCeCAARQ0AIAAQWgsCQCADKALUAkUNACADKALQAiICKAIAIgAgAygCzAIoAgQiATYCBCABIAA2AgAgA0EANgLUAiACIAtGDQADQCACKAIEISUgAigCOCIBBEAgAiABNgI8IAEQWgsgAhBaICUiAiALRw0ACwsgAygCwAIiAgRAA0AgAigCACEmIAIQWiAmIgINAAsLIAMoArgCIQAgA0EANgK4AiAABEAgABBaCyADKAKoAiIABEAgAyAANgKsAiAAEFoLIAMoAugBIgBFDQAgAyAANgLsASAAEFoLIANB4AJqJAAPC0HUiQtBADYCAEENIAUgBiACIAQQBUHUiQsoAgAhJ0HUiQtBADYCACAnQQFHDQIQACECCyADQfgAahCiAQwDC0HUiQtBADYCAEENIAQgByAFIAIQBUHUiQsoAgAhKEHUiQtBADYCACAoQQFGDQELAAsQACECCwJAIANBkAFqIgYoAsQBRQ0AIAYoAsABIgAoAgAiASAGKAK8ASgCBCIINgIEIAggATYCACAGQQA2AsQBIAAgBkG8AWoiBEYNAANAIAAoAgQhKSAAKAI4IggEQCAAIAg2AjwgCBBaCyAAEFogKSIAIARHDQALCyAGKAKwASIABEADQCAAKAIAISogABBaICoiAA0ACwsgBigCqAEhACAGQQA2AqgBIAAEQCAAEFoLIAYoApgBIgAEQCAGIAA2ApwBIAAQWgsgBigCWCIABEAgBiAANgJcIAAQWgsgAhAHAAveAgEHfyAAQeiECDYCACAAKAK4ASIBBEADQCABKAIAIQYgARBaIAYiAQ0ACwsgACgCsAEhASAAQQA2ArABIAEEQCABEFoLIAAoAqABIgEEQANAIAEiAigCACEBAkAgAigCECIDRQ0AIAMgAygCBCIEQQFrNgIEIAQNACADIAMoAgAoAggRAQAgAxB1CyACEFogAQ0ACwsgACgCmAEhASAAQQA2ApgBIAEEQCABEFoLIAAoAowBIgIEQANAIAIoAgAhByACKAIwIgMEQCADIQQgAyACKAI0IgFHBEADQCABQRhrEFkiASADRw0ACyACKAIwIQQLIAIgAzYCNCAEEFoL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AgRBGGogACgCfCADIAYQoQMEQCABIAQ2AhAgASADNgIMIAEgBjYCCCABIQMMCQsgASgCAEERRw0BIAEoAhAhByABKAIMIQYgASgCCCEDCyACQcTuCTYC4AFB1IkLQQA2AgAgAiACQeABaiIENgLwAUH/AiADIAYgBBAEIQZB1IkLKAIAIQFB1IkLQQA2AgACQCABQQFHBEACQAJAIAQgAigC8AEiAUYEQEEEIQUgBCEBDAELQQUhBSABRQ0BCyABIAEoAgAgBUECdGooAgARAQALIAZFDQIgAkHgAWogACgCBCAAKAJ8IAMQlQgCQCACLQCwAg0AIAIoAowCDQAgAi0AvAINACACKAKkAg0AIAItAKkCDQAgAi0AqwINACACLQCtAg0AIAItAK8CDQAgAi0AsgINACACLQD1AQ0AIAItALMCDQAgAigC1AINACACLQD0AQ0AIAIoAsgCDQAgAi0AvQJFDQILIAIoAtACEGAgAigCxAIQYCACKAKgAhBgIAIoApQCEGAgAigCiAIQbyACKAL8ARBvIAIoAugBIgBFDQIgACAAKAIEIgFBAWs2AgQgAQ0CIAAgACgCACgCCBEBACAAEHUMAgsQACEBAkAgAigC8AEiACACQeABaiIERgRAQQQhAyAEIQAMAQtBBSEDIABFDQsLIAAgACgCACADQQJ0aigCABEBACABEAcACyAAKAJ8IQEgACgCBCEAQdSJC0EANgIAQe/tACACQegAaiAAIAEgBxAFQdSJCygCACEAQdSJC0EANgIAAkACQCAAQQFHBEACQCACLQC4AQ0AIAIoApQBDQAgAi0AxAENACACKAKsAQ0AIAItALEBDQAgAi0AswENACACLQC1AQ0AIAItALcBDQAgAi0AugENACACLQB9DQAgAi0AuwENACACKALcAQ0AIAItAHwNACACKALQAQ0AQQAhACACLQDFAUUNAwtB1IkLQQA2AgBB8wUgAkHoAGogAkHgAWoQAiEBQdSJCygCACEEQdSJC0EANgIAQQEhAAJAIARBAUYNACABDQNBACEAQdSJC0EANgIAQbvBACAIIAcQAiEBQdSJCygCACEuQdSJC0EANgIAIC5BAUYNAEHUiQtBADYCAEGCAyAIIAEgA0EAQQAQEyEDQdSJCygCACEvQdSJC0EANgIAIC9BAUcNAwsQACEBIAJB6ABq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NgIAQeTtACAKIAQQAiFeQdSJCygCACFdQdSJC0EANgIAIF1BAUYNCCAEEFkaIF4NAgwFCww7Cww6CyADKALUDCECDAMLIANBiAtqQgA3AwAgA0GAC2pBADYCACADQQA2AvgKIANBADYC8AoLIANB0ApqQgA3AwAgA0HICmpBADYCACADQQA2AsAKIANBADYCuAoLIAMgADYC9AogAyADQdQMaiIENgLwCiADQbAMakIANwMAIANBqAxqQQA2AgAgA0EANgKgDCADQQA2ApgMIANCgICAgNAANwPgCyADIANBmAxqNgLsCyADIANB8ApqNgLoCwJAIANB4AtqIgYgAhC7BEUEQCADQfgLakIANwMAIANB8AtqQQA2AgAgAyAANgK8CiADQQA2AugLIANBADYC4AsgAyAENgK4CiADQoCAgIDwATcDqAsgAyAGNgK0CyADIANBuApqNgKwCyADQagLaiACELsERQ0BCyAFIQIMAQsgA0GwDGpCADcDACADQagMakEANgIAIANBADYCoAwgA0EANgKYDCADQfALakEANgIAIANBADYC6AsgA0EANgLgCwJAIAIoAgBBEEcNACACKAIMIgooAgQiDEEHTw03IAIoAgghDkHLASEEQZjPByEGAkACQAJAAkACQCAMQQJrDgQDAAECBAtBhNAHIQYMAgtB8NAHIQYMAQtBvNEHIQYLIAYoAgAhBAsgBCAORw0AIAooAgBBEEcNACAKKAIMIgwoAgQiDkEHTw03IAooAgghD0HLASEEQZTPByEGAkACQAJAAkACQCAOQQJrDgQDAAECBAtBgNAHIQYMAgtB7NAHIQYMAQtBuNEHIQYLIAYoAgAhBAsgBCAPRw0AIAwoAgBBDkcNACADQagLaiIGIAxBCGoQeiEEQdSJC0EANgIAQeTtACADQaAMaiAEEAIhYEHUiQsoAgAhX0HUiQtBADYCACBfQQFGDQMgBBBZGiBgRQ0AIAMgCigCEDYC1AwgAigCECIEKAIAQQ5HDQAgBiAEQQhqEHohBEHUiQtBADYCAEHb7QAgA0HoC2ogBBACIWJB1IkLKAIAIWFB1IkLQQA2AgAgYUEBRg0DIAQQWRogYkUNAAJAIAAoAgQoAiBFBEAgBSgCGCIEQQdPDTkCfgJAAkACQCAEQQJrDgICAAELIAUpAwgMAgsQDwALIAU0AggL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BikCADcDmAUgA0EANgKwCyADQQA2AqgLIANCgICAgIACNwL8CSADQoCAgICAAjcDkAUgAyAENgK4CiACIANBkAVqEPwJDQAgA0GwDGpCATcDACADQagMakEANgIAIAMgA0H4CWooAgA2AogFIANB9AlqIANBmAxqNgIAIANB8AlqIgYgA0HYDGo2AgAgAyAGKQIANwOABSADQQA2AqAMIANBADYCmAwgA0KAgICA8AE3AugJIANCgICAgPABNwP4BCADIAQ2AtgMIAIgA0H4BGoQugRFDQELIAMoAtQMIAAQvgJBAUcNACADKALUDCECDAELIAMgA0HUDGoiBDYCqAsgA0GwDGpCATcDACADQagMakEANgIAIAMgA0HkCWooAgA2AvAEIANB4AlqIANBmAxqNgIAIANB3AlqIgYgA0GoC2o2AgAgAyAGKQIANwPoBCADQoCAgICABTcC1AkgA0KAgICAgAU3A+AEIANBADYCoAwgA0EANgKYDAJAIAIgA0HgBGoQ+wlFBEAgA0H4C2pCADcDACADQfALakEANgIAIAMgA0HQCWooAgA2AtgEIANBzAlqIANB4AtqNgIAIANByAlqIgYgA0HwCmo2AgAgAyAGKQIANwPQBCADQQA2AugLIANBADYC4AsgA0KAgICAkAU3AsAJIANCgICAgJAFNwPIBCADIAQ2AvAKIAIgA0HIBGoQ+wlFDQELIAMoAtQMIAAQvgJBAUcNACANQRggAygC1AwQ0gMhAgwBCyADIANB1AxqNgLgCyADQbAMakIBNwMAIANBqAxqQQA2AgAgAyADQbwJaigCADYCwAQgA0G4CWogA0GYDGo2AgAgA0G0CWoiBCADQeALajYCACADIAQpAgA3A7gEIANCgICAgNACNwKsCSADQoCAgIDQAjcDsAQgA0EANgKgDCADQQA2ApgMAkAgAiADQbAEahC6BEUNACADKALUDCAAEL4CQQFHDQAgDSAIQRMQlAggAygC1AwQ0gMhAgwBCyADIANB1AxqNgLgCyADQbAMakIBNwMAIANBqAxqQQA2AgAgAyADQagJaigCADYCqAQgA0GkCWogA0GYDGo2AgAgA0GgCWoiBCADQeALajYCACADIAQpAgA3A6AEIANCgICAgJACNwKYCSADQoCAgICQAjcDmAQgA0EANgKgDCADQQA2ApgMAkAgAiADQZgEahC6BEUNACADKALUDCAAEL4CQQFHDQAgDSAIQRMQlAggAygC1AwQ0gMhAiADKALUDCgCBEEDRw0BIA1BFyACENIDIQIMAQsgAyAANgKsCyADIANB1AxqNgKoCyADQbAMakIBNwMAIANBqAxqQQA2AgAgA0EANgKgDCADQQA2ApgMIANCgICAgIACNwPgCyADIANBmAxqNgLsCyADIANBqAtqNgLoCwJAIANB4AtqIAIQuwRFDQAgAygC1AwgABC+AkEBRw0AIAUhAgwBCyADIANB1AxqNgLgCyADQbAMaiIEQn83AwAgA0GoDGoiBkEANgIAIAMgA0GUCWooAgA2ApAEIANBkAlqIANBmAxqNgIAIANBjAlqIgogA0HgC2o2AgAgAyAKKQIANwOIBCADQoCAgIDwATcChAkgA0KAgICA8AE3A4AEIANBADYCoAwgA0EANgKYDCACIANBgARqELoEBEAgAygC1AwhAgwBCyADIAA2AqwLIAMgA0HUDGo2AqgLIARCfzcDACAGQQA2AgAgA0EANgKgDCADQQA2ApgMIANCgICAgIACNwPgCyADIANBmAxqNgLsCyADIANBqAtqNgLoCyADQeALaiACELsEBEAgBSECDAELIAMgADYCrAsgAyADQdQMajYCqAsgA0GwDGpCfzcDACADQagMaiIGQQA2AgAgA0EANgKgDCADQQA2ApgMIANCgICAgJABNwPgCyADIANBmAxqIgQ2AuwLIAMgA0GoC2o2AugLIANB4AtqIAIQuwQEQCAEIAgQ/wJB1IkLQQA2AgBBsQUgBUEIaiAEEAIaQdSJCygCACFtQdSJC0EANgIAIG1BAUcEQCAEEFkaIAUhAgwCCwwCCyADQQA2AuALIAZCgICAgICAgICAfzcCACADIANBgAlqKAIANgL4AyADQfwIaiADQZgMajYCACADQfgIaiIEIANB4AtqNgIAIAMgBCkCADcD8AMgA0KAgICAMDcC8AggA0KAgICAMDcD6AMgA0EANgKgDCADQQA2ApgMIAIgA0HoA2oQ/AkEQCACQQ82AggMAQsCQCAAKAIEKAIgDQAgA0GwDGpCgICAgICAgICAfzcDACADQagMakEANgIAIAMgA0HsCGooAgA2AuADIANB6AhqIANBmAxqNgIAIANB5AhqIgQgA0HgC2o2AgAgAyAEKQIANwPYAyADQQA2AqAMIANBADYC4AsgA0EANgKYDCADQoCAgIDAAzcC3AggA0KAgICAwAM3A9ADIAIgA0HQA2oQ+wlFDQAgAkKCgICAgAU3AgQgDUEXIAIQ0gMhAgwBCyADIAA2AqwLIAMgA0HUDGo2AqgLIANBsAxqIgZCADcDACADQagMaiIKQQA2AgAgA0EANgKgDCADQQA2ApgMIANCgICAgPACNwPgCyADIANBmAxqIgQ2AuwLIAMgA0GoC2o2AugLIANB4AtqIAIQuwQEQCAEQQIQ/wJB1IkLQQA2AgBBsQUgBUEIaiAEEAIaQdSJCygCACFuQdSJC0EANgIAIG5BAUcEQCAEEFkaIAVBAjYCBCAFIQIMAgsMAgsgAyAANgKsCyADIANB1AxqNgKoCyAGQn83AwAgCkEANgIAIANBADYCoAwgA0EANgKYDCADQoCAgICQAzcD4AsgAyADQZgMaiIENgLsCyADIANBqAtqNgLoCyADQeALaiACELsEBEAgA0ECNgKoDEHUiQtBADYCACADQQE2ApgMQbEFIAVBCGogBBACGkHUiQsoAgAhb0HUiQtBADYCACBvQQFHBEAgBBBZGiAFQQI2AgQgBSECDAILDAILIAMgADYCrAsgAyADQdQMajYCqAsgA0GwDGoiBkJ/NwMAIANBqAxqIgpBADYCACADQQA2AqAMIANBADYCmAwgA0KAgICAsAM3A+ALIAMgA0GYDGoiBDYC7AsgAyADQagLajYC6AsgA0HgC2ogAhC7BARAIARBAhD/AkHUiQtBADYCAEGxBSAFQQhqIAQQAhpB1IkLKAIAIXBB1IkLQQA2AgAgcEEBRwRAIAQQWRogBUECNgIEIAUhAgwCCwwCCyADIAA2AqwLIAMgA0HUDGo2AqgLIAZCADcDACAKQQA2AgAgA0EANgKgDCADQQA2ApgMIANCgICAgNADNwPgCyADIANBmAxqIgQ2AuwLIAMgA0GoC2o2AugLIANB4AtqIAIQuwQEQCADQQI2AqgMQdSJC0EANgIAIANBATYCmAxBsQUgBUEIaiAEEAIaQdSJCygCACFxQdSJC0EANgIAIHFBAUcEQCAEEFkaIAVBAjYCBCAFIQIMAgsMAgsgA0EANgLgCyADQbAMaiIEQn83AwAgA0GoDGoiBkEANgIAIAMgA0HYCGooAgA2AsgDIANB1AhqIANBmAxqNgIAIANB0AhqIgogA0HgC2o2AgAgAyAKKQIANwPAAyADQoCAgIDwAjcCyAggA0KAgICA8AI3A7gDIANBADYCoAwgA0EANgKYDCACIANBuANqELoEBEAgAiAIQRUQvQI2AggMAQsgA0EANgLgCyAEQgA3AwAgBkEANgIAIAMgA0HECGooAgA2ArADIANBwAhqIANBmAxqNgIAIANBvAhqIgQgA0HgC2o2AgAgAyAEKQIANwOoAyADQoCAgICQAzcCtAggA0KAgICAkAM3A6ADIANBADYCoAwgA0EANgKYDCACIANBoANqELoEBEAgAiAIQRQQvQI2AggMAQsgA0EANgLgCyADQbAMaiIEQgA3AwAgA0GoDGoiBkEANgIAIAMgA0GwCGooAgA2ApgDIANBrAhqIANBmAxqNgIAIANBqAhqIgogA0HgC2o2AgAgAyAKKQIANwOQAyADQoCAgICwAzcCoAggA0KAgICAsAM3A4gDIANBADYCoAwgA0EANgKYDCACIANBiANqELoEBEAgAiAIQRUQvQI2AggMAQsgA0EANgLgCyAEQn83AwAgBkEANgIAIAMgA0GcCGooAgA2AoADIANBmAhqIANBmAxqNgIAIANBlAhqIgQgA0HgC2o2AgAgAyAEKQIANwP4AiADQoCAgIDQAzcCjAggA0KAgICA0AM3A/ACIANBADYCoAwgA0EANgKYDCACIANB8AJqELoEBEAgAiAIQRQQvQI2AggMAQsgAyAANgKsCyADIANB1AxqNgKoCyADQagMakEANgIAIANBADYCoAwgAyADQfAKajYCmAwgA0KAgICA4AI3A+ALIAMgA0GYDGoiBDYC7AsgAyADQagLajYC6AsCQCADQeALaiACEOwFRQ0AIAMoAvAKQQhqEK0FRQ0AIARBAhD/AkHUiQtBADYCAEGxBSAFQQhqIAQQAhpB1IkLKAIAIXJB1IkLQQA2AgAgckEBRwRAIAQQWRogBUECNgIEIAUhAgwCCwwCCyADIAA2AqwLIAMgA0HUDGo2AqgLIANBqAxqQQA2AgAgA0EANgKgDCADIANB8ApqNgKYDCADQoCAgICAAzcD4AsgAyADQZgMaiIENgLsCyADIANBqAtqNgLoCwJAIANB4AtqIAIQ7AVFDQAgAygC8ApBCGoQkQhFDQAgA0ECNgKo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AEEQRw0AIAMoArABIgQEQCAEIAI2AgALIAIoAgwiDigCBCIPQQdPDTogAigCCCEQIAMoArQBIQRBywEhDAJAAn8CQAJAAkACQCAPQQJrDgQAAQIDBQsgBEEDayIEQRtPDQQgBEECdEGQzwdqDAMLIARBA2siBEEbTw0DIARBAnRB/M8HagwCCyAEQQNrIgRBE08NAiAEQQJ0QejQB2oMAQsgBEEDayIEQRNPDQEgBEECdEG00QdqCygCACEMCyAMIBBHDQAgAygCuAEoAgAiBARAIAQgDjYCAAsgAigCECIEKAIAQQ5HDQAgAygCvAEiBigCACIMBEAgDCAENgIACyAKQQhqIARBCGoQeiEEQdSJC0EANgIAQevtACAGQQhqIAQQAiEGQdSJCygCACF5QdSJC0EANgIAIHlBAUYNASAEEFkaCyAKQSBqJAAgBgwBCww6C0UNACADKwPgCyKUAkQAAAAAAAAAAGINACCUAr1CAFkNACACKAIMIQIMAQsgAyADKALoBjYCqAEgAyADQZgMajYC5AYgAyADQagLajYC4AYgAyADKQLgBjcDoAEgA0KAgICAEDcCqAsgAyADQbgKajYCsAsgAyADQdQMaiIENgK4CiADQagMakEANgIAIANCgICAgNAANwLYBiADQoCAgIDQADcDmAEgA0EANgKgDCADQQA2ApgMAkAgAiADQZgBahDaDUUEQCADQfALakEANgIAIAMgAygC1AY2ApABIAMgA0HgC2o2AtAGIAMgA0HwCmo2AswGIAMgAykCzAY3A4gBIANCgICAgBA3AvAKIANBADYC6AsgA0EANgLgCyADQoCAgIDwADcCxAYgA0KAgICA8AA3A4ABIAMgA0HYDGo2AvgKIAMgBDYC2AwgAiADQYABahDaDUUNAQsgA0GYDGoiBCAFQQhqIgUQnQVB1IkLQQA2AgBBsQUgBSAEEAIaQdSJCygCACF6QdSJC0EANgIAIHpBAUcEQCAEEFkaIAIgAygC1Aw2AgwMAgsMAgsgA0EANgLgCyADQbAMakKAgICAgICA+L9/NwMAIANBqAxqQQA2AgAgAyADKALABjYCeCADIANBmAxqNgK8BiADIANB4AtqNgK4BiADIAMpArgGNwNwIANCgICAgNAANwKwBiADQoCAgIDQADcDaCADQQA2AqAMIANBADYCmAwgAiADQegAahDbDQRAIAAtAIABBEAgDSAIQQEQlAggAygC1AwQ0gMhAgwCCyACIAhBBBC9AjYCCCADQeALaiIEIAgQ/wJB1IkLQQA2AgBBxgMgA0GYDGoiBiAEEANB1IkLKAIAIQhB1IkLQQA2AgACQAJAIAhBAUcEQEHUiQtBADYCAEGxBSAFQQhqIAYQAhpB1IkLKAIAIXtB1IkLQQA2AgAge0EBRg0BIAYQWRogBBBZGiACIAIpAgxCIIk3AgwMBAsQACECDAELEAAhAiADQZgMahBZGgsMBAsgAyADKAKsBjYCYCADIANBmAxqNgKoBiADIANB8ApqNgKkBiADIAMpAqQGNwNYIANCgICAgNAANwKcBiADQoCAgIDQADcDUCADIANB1AxqIgU2AvAKIANCgICAgBA3AqAMIANBADYCmAwCQAJAIAIgA0HQAGoQ+gkNACADIAMoApgGNgJIIAMgA0HgC2o2ApQGIAMgA0G4Cmo2ApAGIANBQGsgAykCkAY3AwAgA0KAgICAEDcC6AsgA0EANgLgCyADQoCAgIDwADcCiAYgA0KAgICA8AA3AzggAyAFNgK4CiACIANBOGoQ+gkNACADIAMoAoQGNgIwIAMgA0GoC2o2AoAGIAMgA0HYDGo2AvwFIAMgAykC/AU3AyggA0KAgICAEDcCsAsgA0EANgKoCyADQoCAgIDgADcC9AUgA0KAgICA4AA3AyAgAyAFNgLYDCACIANBIGoQ+glFDQELIAIoAgRBfnFBAkcEQCAALQCAAUUNAQsgAygC1AwhAgwBCyADQQA2AuAFIAMgAygC8AU2AhggAyADKQLgBTcDCCADIANBmAxqIgU2AuwFIAMgA0HgC2o2AugFIAMgAykC6AU3AxAgAyAANgLkCyADIANBuApqNgLgCyADQagMakEANgIAIAMgA0HwCmo2AtgFIAMgAykC2AU3AwAgA0EANgKgDCADIANBqAtqNgKYDAJAAn9BACEEIwBBIGsiBiQAAkACQCACKAIAQRBHDQAgAygCACIIBEAgCCACNgIACyADKAIIIggEQCAIIAIoAgg2AgALIAIoAgwhCCADKAIQIgooAgAiDQRAIA0gCDYCAAsgCCAKKAIEIggoAgQgCCgCfBDnBkUNACACKAIQIgIoAgBBDkcNACADKAIUIgQoAgAiCARAIAggAjYCAAsgBkEIaiACQQhqEHohAkHUiQtBADYCAEHr7QAgBEEIaiACEAIhBEHUiQsoAgAhfEHUiQtBADYCACB8QQFGDQEgAhBZGgsgBkEgaiQAIAQMAQsQACEAIAIQWRoMOwtFDQACfCADKAKoCyICKAIYIgRBB0kEQAJAAkACQCAEQQRrDgICAAELIAIrAwgMAwsQDwALIAIqAgi7DAELDDgLIpQCIJQCYQ0AIAMoAvAKKAIIIAMoArgKKAIEQRIQvQJGDQACQCADKALwCigCCCICQQ9rIgRBPEsNAEL/h4Dw/4C/wB8gBK2IQgGDUA0AIAMoAqgLQQI2AgQgAygCuAooAgRBFRC9AiACRgRAIANBAjYCqAxB1IkLQQA2AgAgAygCqAshAiADQQE2ApgMQbEFIAJBCGogBRACGkHUiQsoAgAhfUHUiQtBADYCACB9QQFHBEAgBRBZGiADKAKoCyECDAQLDAQLIANBmAxqIgJBAhD/AkHUiQtBADYCAEGxBSADKAKoC0EIaiACEAIaQdSJCygCACF+QdSJC0EANgIAIH5BAUcEQCACEFkaIAMoAqgLIQIMAwsMAwsgA0GYDGohAgJAAkAgAygCqAtBCGoiBSgCECIEQQdJBEACQAJAAkACQCAEQQRrDgICAQALEA8ACyAFKwMAIpQCIJQCYg0BDAMLIAUqAgAilQIglQJbDQIgAkEENgIQIAJBgICA/gc2AgAMAwsgAkEFNgIQIAJCgICAgICAgPz/ADcDAAwCCww5CyACIAUQehoLQdSJC0EANgIAQbEFIAMoAqgLQQhqIAIQAhpB1IkLKAIAIX9B1IkLQQA2AgAgf0EBRwRAIAIQWRogAygCqAshAgwCCwwCC0EAIQILIANB8AxqJAAgAgwDCxAAIQAgA0GYDGoQWRoMNwsQACEAIAQQWRoMNgsgA0HgC2oQWRogAhAHAAsiAgRAIAIoAgQgCygCACgCACgCBEcEQCAAQQE6AIEBCyALIAIQeSAALQCDAQRAIABBAToAggEMHgsgAEEBOgCDAQNAIABBADoAggEgCyAAKAIUKAIAEMQCIAAtAIIBDQALIABBADoAgwEMHQsCfyMAQcACayIGJAACQAJAAkACQAJAAkAgASgCECICKAIAQQ5GBEAgASgCDCEFIAZBADYCwAEgBkEANgK4ASAGIAZBKGo2ArABAkAgBSgCAEEQRw0AIAUoAhAiAygCAEEORw0AIAYgAzYCKCAGQZABaiADQQhqEHohBEHUiQtBADYCAEHb7QAgBkG4AWogBBACIYEBQdSJCygCACGAAUHUiQtBADYCACCAAUEBRgRAEAAhAyAEEFkaDAcLIAQQWRoggQFFDQAgBSgCCCIDIAEoAghHDQAgBSgCBCIEQQdPDTogBEECdCIIQZT8B2ooAgAgA0YEQCAGKAIoIgMoAhgiBEEHTw07IANBCGohAwJAAkACQAJAIARBAmsOAgIAAQsgBiACKQMIIAMpAwCDNwOwAQwCC0HvhARB6aQCQfoJEGIACyAGIAIoAgggAygCAHE2ArABCyAGIAQ2AsABAkAgBkGwAWoiAiADRwRAIAMQWSEDQdSJC0EANgIAQcAAIAMgAhACGkHUiQsoAgAhggFB1IkLQQA2AgAgggFBAUYNAQsgBkGwAWoQWRoMBQsMBQsgCEGU/wdqKAIAIANGBEAgBkGwAWoiAyAGKAIoQQhqIAJBCGoQsBFB1IkLQQA2AgBBsQUgBigCKEEIaiADEAIaQdSJCygCACGDAUHUiQtBADYCACCDAUEBRwRAIAMQWRoMBQsMBQsgBEECdCIIQcD7B2ooAgAgA0YEQCAGQbABaiIDIAYoAihBCGogAkEIahCvEUHUiQtBADYCAEGxBSAGKAIoQQhqIAMQAhpB1IkLKAIAIYQBQdSJC0EANgIAIIQBQQFHBEAgAxBZGgwFCwwFCyAIQdz7B2ooAgAgA0YEQCAGQbABaiIDIAYoAihBCGogAkEIahCxEUHUiQtBADYCAEGxBSAGKAIoQQhqIAMQAhpB1IkLKAIAIYUBQdSJC0EANgIAIIUBQQFHBEAgAxBZGgwFCwwFCyADQQprIghBHUsNAEEBIAh0QZ+AgPADcUUNACAGKAIoEPwCIAIQ/AJqIgIhhgFBHyEIAkACQAJAIAYoAigoAgRBAmsOAgIBAAtB74QEQemJA0HAABBiAAtBPyEICyCGASACIAhxIghGBEAgBkGwAWoiAyACIAYoAigoAgQQywNB1IkLQQA2AgBBsQUgBigCKEEIaiADEAIaQdSJCygCACGHAUHUiQtBADYCACCHAUEBRwRAIAMQWRoMBQsMBQsCQCADQQ1rIgJBGksNAEEBIAJ0QYOAgDBxRQ0AIAZBsAFqIgIgCCAGKAIoKAIEEMsDQdSJC0EANgIAQbEFIAYoAihBCGogAhACGkHUiQsoAgAhiAFB1IkLQQA2AgAgiAFBAUcEQCACEFkaDAULDAULAkAgBEEKEL0CIANHBEAgBEELEL0CIANHDQELIAUoAgwhBSAGQbABaiICIAYoAigoAgQQ/wJB1IkLQQA2AgBBsQUgBigCKEEIaiACEAIaQdSJCygCACEDQdSJC0EANgIAAkAgA0EBRwRAIAIQWRogAiAAKAIEIAAoAnwgBRCVCCACEO0FIYkBIAIQ3wEaIIkBDQEgBigCKCEFDAYLDAYLIAYgACgCfCICIAUQrwQ2ApABIAZBAjYCtAEgBiAGKAIoNgKUASAGIAZBkAFqNgKwASACIAZBsAFqQgAQ6AYhBQwECyAEQQwQvQIgA0cNACAGQbABaiICIAYoAigoAgQQ3QJBA3RBAWsgBigCKCgCBBDLA0HUiQtBADYCAEGxBSAGKAIoQQhqIAIQAhpB1IkLKAIAIYoBQdSJC0EANgIAIIoBQQFHBEAgAhBZGgwECwwECyAGQQA2AqgCIAZBADYCwAEgBiAGQbABajYCFCAGQQo2AgwgBkEANgK4ASAGIAZBqAJqNgIQIAYgBkHwAGo2AgggBiAGQdQAajYCsAEgBkEANgKgASAGQQA2ApgBIAYgBkHoAGo2ApABIAZCgICAgNAANwMoIAYgBkGQAWo2AjQgBiAGQQhqNgIwAkACQAJAAkACQAJAAkACQAJAAkAgASgCACIFQRBHDQAgASgCDCgCBCICQQdPDUMgASgCCCEIQcsBIQRBmM8HIQMCQAJAAkACQAJAIAJBAmsOBAMAAQIEC0GE0AchAwwCC0Hw0AchAwwBC0G80QchAwsgAygCACEECyAEIAhHDQAgASAGQTBqEOYGDQEgASgCACEFCyAGQQA2AqgCIAZBADYCwAEgBiAGQbABajYCFCAGQQU2AgwgBkEANgK4ASAGIAZBqAJqNgIQIAYgBkHwAGo2AgggBiAGQdQAajYCsAEgBkEANgKgASAGQQA2ApgBIAYgBkHoAGo2ApABIAZCgICAgKABNwMoIAYgBkGQAWo2AjQgBiAGQQhqNgIwIAVBEEcNBiABKAIMKAIEIgJBB08NQiABKAIIIQhBywEhBEGszwchAyACQQJrDgQEAQIDBQsgBigCcCICKAIEIgVBB08NQSACIAVBAnRB3PsHaigCADYCCCAGKAJoIgUoAhgiA0EHTw1BIAYoAlRBCGohAgJAAkACQAJAIANBAmsOAgIAAQsgBiAFKQMIIAIpAwCGNwOwAQwCC0HvhARB6aQCQZ0KEGIACyAGIAUoAgggAigCAHQ2ArABCyAGIAM2AsABAkAgAiAGQbABaiIERg0AIAIQWSECQdSJC0EANgIAQcAAIAIgBBACGkHUiQsoAgAhiwFB1IkLQQA2AgAgiwFBAUcNAAwNCyAGQbABahBZGiAGKAJwIQUMCgtBmNAHIQMMAgtBhNEHIQMMAQtB0NEHIQMLIAMoAgAhBAsgBCAIRw0AIAEgBkEwahDmBg0BIAEoAgAhBQsgBkEANgLAASAGQQA2ArgBIAYgBkEIajYCsAEgBkEANgKgASAGQQA2ApgBIAYgBkGoAmo2ApABIAVBEEYNAQwDCyAGKAJUIgIoAhgiBUEHTw06IAJBCGohAiAGKAJoIQMCQAJAAkACQCAFQQJrDgICAAELIAYgAikDACADKQMIhjcDsAEMAgtB74QEQemkAkGdChBiAAsgBiACKAIAIAMoAgh0NgKwAQsgBiAFNgLAAQJAIAIgBkGwAWoiBEYNACACEFkhAkHUiQtBADYCAEHAACACIAQQAhpB1IkLKAIAIYwBQdSJC0EANgIAIIwBQQFHDQAMBgsgBkGwAWoQWRogBigCcCEFDAMLIAEoAgwiBSgCBCICQQdPDTkgASgCCCEIQcsBIQRBrM8HIQMCQAJAAkACQAJAIAJBAmsOBAMAAQIEC0GY0AchAwwCC0GE0QchAwwBC0HQ0QchAwsgAygCACEECyAEIAhHDQEgBSgCAEEQRw0BIAUoAhAiAigCAEEORw0BIAYgAjYCCCAGQShqIAJBCGoQeiEDQdSJC0EANgIAQdvtACAGQbgBaiADEAIhjgFB1IkLKAIAIY0BQdSJC0EANgIAII0BQQFGDTQgAxBZGiCOAUUNASABKAIQIgIoAgBBDkcNASAGIAI2AqgCIAZBKGogAkEIahB6IQNB1IkLQQA2AgBB2+0AIAZBmAFqIAMQAiGQAUHUiQsoAgAhjwFB1IkLQQA2AgAgjwFBAUYNNCADEFkaIJABRQ0BIAUoAgQiAkEHTw05IAUoAggiAyACQQJ0IgJB+P4HaigCAEcEQCADIAJB+PsHaigCAEcNAgsgBigCCCICKAIAQQ5HDTACfwJAAkAgAigCBCIIQQJrDgIAAQkLIAIoAhhBAkcNNCACKAIIQR9xDAELIAIoAhhBA0cNNCACKAIIQT9xCyEEIAYoAqgCIgMoAgBBDkcNMAJ/AkACQCADKAIEQQJrDgIAAQkLIAMoAhhBAkcNNCADKAIIQR9xDAELIAMoAhhBA0cNNCADKAIIQT9xCyAERw0BIAhBAkYEQCACEPwCIQIgBkECNgLAAUHUiQtBADYCACAGQX8gAnQ2ArABQbEFIAYoAghBCGogBkGwAWoiAhACGkHUiQsoAgAhkQFB1IkLQQA2AgAgkQFBAUcEQCACEFkaIAVBBzYCCAwECwwECyACEPwCIQIgBkEDNgLAAUHUiQtBADYCACAGQn8gAq2GNwOwAUGxBSAGKAIIQQhqIAZBsAFqIgQQAhpB1IkLKAIAIZIBQdSJC0EANgIAIJIBQQFGDQQgCEECdEGU/AdqKAIAIQIgBBBZGiAFIAI2AggMAgsMLwsgBkEANgKoAiAGQQA2AsABIAYgBkGwAWo2AhQgBkEKNgIMIAZBADYCuAEgBiAGQagCajYCECAGIAZB8ABqNgIIIAYgBkHUAGo2ArABIAZBADYCoAEgBkEANgKYASAGIAZB6ABqNgKQASAGQoCAgICwATcDKCAGIAZBkAFqNgI0IAYgBkEIajYCMAJAIAEoAgBBEEcNAAJAIAEoAgwoAgQiAkEHSQRAIAEoAgghkwFBywEhBUGwzwchBAJAAkACQAJAAkAgAkECaw4EAwABAgQLQZzQByEEDAILQYjRByEEDAELQdTRByEECyAEKAIAIQULIJMBIAVHDQIgASAGQTBqEOYGRQ0CIAYoAlQiAigCAEEORw0xAn8CQAJAIAIoAgRBAmsOAgABCgsgAigCGEECRw01IAIoAghBH3EMAQsgAigCGEEDRw01IAIoAghBP3ELIQMgBigCaCIFKAIAQQ5HDTECfwJAAkAgBSgCBEECaw4CAAEKCyAFKAIYQQJHDTUgBSgCCEEfcQwBCyAFKAIYQQNHDTUgBSgCCEE/cQsgA0cNAgJAAkAgAigCBCIDQQJGBEAgAigCAEEORw00IAIoAhhBAkcNNiACKAIIIQUgBkECNgLAASAGQX8gBXY2ArABAkAgAkEIaiICIAZBsAFqIgVHBEAgAhBZIQJB1IkLQQA2AgBBwAAgAiAFEAIaQdSJCygCACGUAUHUiQtBADYCACCUAUEBRg0BCyAGQbABahBZGkEHIQQMAgsMBwsgAigCAEEORw0zAn8CQAJAIANBAmsOAgABBgsgAigCGEECRw03IAIoAghBH3EMAQsgAigCGEEDRw03IAIoAghBP3ELIQUgBkEDNgLAASAGQn8gBa2INwOwASACQQhqIgIgBkGwAWoiBUcEQCACEFkhAkHUiQtBADYCAEHAACACIAUQAhpB1IkLKAIAIZUBQdSJC0EANgIAIJUBQQFGDQILIAZBsAFqEFkaQcsBIQRBwM8HIQUCQAJAAkACQCADQQJrDgQDAAECBAtBrNAHIQUMAgtBmNEHIQUMAQtB5NEHIQULIAUoAgAhBAsgBigCcCIFIAQ2AggMBAsMBAsMOQsMBQsgBkEANgJoIAZBADYCwAEgBiAGQbABajYCfCAGQQ42AnQgBkEANgK4ASAGIAZB6ABqNgJ4IAYgBkGMAWo2AnAgBiAGQYgBajYCsAEgBkEANgKgASAGQQA2ApgBIAYgBkGEAWo2ApABIAZCgICAgNABNwMoIAYgBkGQAWo2AjQgBiAGQfAAajYCMAJAAkACQCABKAIAIgVBEEcNACABKAIMKAIEIgJBB08NOiABKAIIIQhBywEhBEG4zwchAwJAAkACQAJAAkAgAkECaw4EAwABAgQLQaTQByEDDAILQZDRByEDDAELQdzRByEDCyADKAIAIQQLIAQgCEcNACABIAZBMGoQ5gYNASABKAIAIQULIAZBADYCOCAGQQA2AhggBkEANgIwIAZBADYCTCAGQQ02AlggBkEANgIQIAYgBkEoajYCYCAGIAZBiAFqNgIoIAYgBkHMAGo2AlwgBiAGQYwBajYCVCAGIAZBhAFqNgIIIAZCgICAgOABNwOoAiAGIAZBCGo2ArQCIAYgBkHUAGo2ArACIAVBEEcNASABKAIMKAIEIgJBB08NOSABKAIIIZYBQcsBIQVBvM8HIQQCQAJAAkACQAJAIAJBAmsOBAMAAQIEC0Go0AchBAwCC0GU0QchBAwBC0Hg0QchBAsgBCgCACEFCyCWASAFRw0BIAEgBkGwAmoQ5gZFDQELIAYoAogBIgIoAgBBDkcNLwJ/AkACQCACKAIEQQJrDgIAAQgLIAIoAhhBAkcNMyACKAIIQR9xDAELIAIoAhhBA0cNMyACKAIIQT9xCyEFIAYoAoQBIgIoAgBBDkcNLwJ/AkACQCACKAIEIgNBAmsOAgABCAsgAigCGEECRw0zIAIoAghBH3EhBEEfDAELIAIoAhhBA0cNMyACKAIIQT9xIQRBPwshCCAGQbABaiICIAggBSAEa3EgAxDLAwJAIAIgBigCiAFBCGoiBUYNACAFEFkhBUHUiQtBADYCAEHAACAFIAIQAhpB1IkLKAIAIZcBQdSJC0EANgIAIJcBQQFHDQAQACEDIAIQWRoMBQsgBkGwAWoQWRogBigCjAEhBQwBC0EAIQULIAZBwAJqJAAgBQwECxAAIQMgBkGwAWoQWRoMAQsQACEDIAQQWRoLIAMQBwALDCoLIgIEQCAAIAIQtQIMHQsCQCAJKAIEIgJBAkYEfyAJKAIYQQJHDSwCQCAJKAIIIgJBAE4EQCABKAIIEOANIgVBywFGDQEgASgCDCAAEL4CQR9LDQEgASAFNgIIDAELIAJBgICAgHhGDQAgASgCCEEERw0AIAFBD0EYIAJBf0YbNgIIIAAgARC1AgwfCwJAIAJpQQFHDQACQAJAAkAgASgCCEECaw4FAAMCAwEDCyAAAn8jAEEgayIAJAAgAUEKNgIIIABBAjYCGCAAIAJoNgIIAkAgASgCECICKAIAQQ5HBEBB1IkLQQA2AgBBDUHw7QVBxZgDQZQGQY3eABAFQdSJCygCACGYAUHUiQtBADYCACCYAUEBRg0BAAsgAkEIaiICIABBCGoiBUcEQCACEFkhAkHUiQtBADYCAEHAACACIAUQAhpB1IkLKAIAIZkBQdSJC0EANgIAIJkBQQFGDQELIABBCGoQWRogAEEgaiQAIAEMAQsMNQsQtQIMIQsgAAJ/IwBBIGsiACQAIAFBBzYCCCAAQQI2AhggACACQQFrNgIIAkAgASgCECICKAIAQQ5HBEBB1IkLQQA2AgBBDUHw7QVBxZgDQZQGQY3eABAFQdSJCygCACGaAUHUiQtBADYCACCaAUEBRg0BAAsgAkEIaiICIABBCGoiBUcEQCACEFkhAkHUiQtBADYCAEHAACACIAUQAhpB1IkLKAIAIZsBQdSJC0EANgIAIJsBQQFGDQELIABBCGoQWRogAEEgaiQAIAEMAQsMNAsQtQIMIAsgAAJ/IwBBIGsiACQAIAFBDDYCCCAAQQI2AhggACACaDYCCAJAIAEoAhAiAigCAEEORwRAQdSJC0EANgIAQQ1B8O0FQcWYA0GUBkGN3gAQBUHUiQsoAgAhnAFB1IkLQQA2AgAgnAFBAUYNAQALIAJBCGoiAiAAQQhqIgVHBEAgAhBZIQJB1IkLQQA2AgBBwAAgAiAFEAIaQdSJCygCACGdAUHUiQtBADYCACCdAUEBRg0BCyAAQQhqEFkaIABBIGokACABDAELDDMLELUCDB8LIAkoAgQFIAILQQNHBEAgASgCCCECDAELIAkoAhhBA0YEQAJAAkAgCSkDCCKJAkIAWQRAIAEoAggiAhDgDSIFQcsBRg0CIAEoAgwgABC+AkHAAEkNASABKAIIIQIMAgsgASgCCCECIIkCQoCAgICAgICAgH9RDQEgACgCBCgCIA0BIAJBHUcNASABQQI2AgQgAUEoQTEgiQJCf1EbNgIIIAAgACgCfEEXIAEQ0gMQtQIMIAsgASAFNgIIIAUhAgsgiQJ7QgFSDQECQAJAAkAgAkEbaw4FAAQCBAEECyAAAn8jAEEgayIAJAAgAUEjNgIIIABBAzYCGCAAIIkCejcDCAJAIAEoAhAiAigCAEEORwRAQdSJC0EANgIAQQ1B8O0FQcWYA0GUBkGN3gAQBUHUiQsoAgAhngFB1IkLQQA2AgAgngFBAUYNAQALIAJBCGoiAiAAQQhqIgVHBEAgAhBZIQJB1IkLQQA2AgBBwAAgAiAFEAIaQdSJCygCACGfAUHUiQtBADYCACCfAUEBRg0BCyAAQQhqEFkaIABBIGokACABDAELDDQLELUCDCALIAACfyMAQSBrIgAkACABQSA2AgggAEEDNgIYIAAgiQJCAX03AwgCQCABKAIQIgIoAgBBDkcEQEHUiQtBADYCAEENQfDtBUHFmANBlAZBjd4AEAVB1IkLKAIAIaABQdSJC0EANgIAIKABQQFGDQEACyACQQhqIgIgAEEIaiIFRwRAIAIQWSECQdSJC0EANgIAQcAAIAIgBRACGkHUiQsoAgAhoQFB1IkLQQA2AgAgoQFBAUYNAQsgAEEIahBZGiAAQSBqJAAgAQwBCwwzCxC1AgwfCyAAAn8jAEEgayIAJAAgAUElNgIIIABBAzYCGCAAIIkCejcDCAJAIAEoAhAiAigCAEEORwRAQdSJC0EANgIAQQ1B8O0FQcWYA0GUBkGN3gAQBUHUiQsoAgAhogFB1IkLQQA2AgAgogFBAUYNAQALIAJBCGoiAiAAQQhqIgVHBEAgAhBZIQJB1IkLQQA2AgBBwAAgAiAFEAIaQdSJCygCACGjAUHUiQtBADYCACCjAUEBRg0BCyAAQQhqEFkaIABBIGokACABDAELDDILELUCDB4LDCwLAkACQCACQTVrDg4AAgICAgICAgICAgICAQILIAkoAhhBBEcNAiAJKgIIIpUCvCICQYCAgPwHcSACQf////8HcSICRw0BIAJBgICABGtBgICA8AdLDQEgAAJ/IwBBIGsiACQAIAFBNDYCCCAAQQQ2AhggAEMAAIA/IJUClTgCCAJAIAEoAhAiAigCAEEORwRAQdSJC0EANgIAQQ1B8O0FQcWYA0GUBkGN3gAQBUHUiQsoAgAhpAFB1IkLQQA2AgAgpAFBAUYNAQALIAJBCGoiAiAAQQhqIgVHBEAgAhBZIQJB1IkLQQA2AgBBwAAgAiAFEAIaQdSJCygCACGlAUHUiQtBADYCACClAUEBRg0BCyAAQQhqEFkaIABBIGokACABDAELDDELELUCDB0LIAkoAhhBBUcNAiAJKwMIIpQCvSKJAkKAgICAgICA+P8AgyCJAkL///////////8AgyKJAlINACCJAkKAgICAgICACH1CgICAgICAgOD/AFYNACAAAn8jAEEgayIAJAAgAUHBADYCCCAAQQU2AhggAEQAAAAAAADwPyCUAqM5AwgCQCABKAIQIgIoAgBBDkcEQEHUiQtBADYCAEENQfDtBUHFmANBlAZBjd4AEAVB1IkLKAIAIaYBQdSJC0EANgIAIKYBQQFGDQEACyACQQhqIgIgAEEIaiIFRwRAIAIQWSECQdSJC0EANgIAQcAAIAIgBRACGkHUiQsoAgAhpwFB1IkLQQA2AgAgpwFBAUYNAQsgAEEIahBZGiAAQSBqJAAgAQwBCwwwCxC1AgwcCyABKAIMIggoAgBBDkcNCSAIKAIEIQUgASgCCCIDQQprIgJBHUsNA0EBIAJ0QZ+AgPADcUUNAyAIKAIYIgRBB08NMCAIQQhqIQICQAJAAkACQAJAIARBAmsOBQMEAAECJQsgAioCAEMAAAAAWw0GDAcLIAIrAwBEAAAAAAAAAABhDQUMBgsgB0IANwN4IAdCADcDcCACIAdB8ABqQRAQXkUNBAwFCyACKAIADQQMAwsgAikDAFANAgwDC0HQuwVB5poDQaUCQeq5BRABAAtB16oFQeaaA0GpAkGdqAUQAQALIAAoAnwhAyABKAIQIQQgByAAKAIEIgItADg6AHAgByACLQA5OgBxIAcgAigCaDYCdCAHIAIoAmwiAjYCeCACBEAgAiACKAIEQQFqNgIECyAHIAM2AnwgAygChAEhAiAHQYwBaiIDQgA3AgAgB0GYAWoiBkIANwIAIAdBpAFqIgtCADcCACAHQbABaiIJQgA3AgAgB0HUAWoiCkIANwIAIAdCADcCwAEgB0IANwHGASAHQeABaiINQgA3AgAgB0EAOwGEASAHIAI2AoABIAcgAzYCiAEgByAGNgKUASAHIAs2AqABIAcgCTYCrAEgB0IANwK4ASAHIAo2AtABIAcgDTYC3AEgByAENgLoAiAHQgA3AsgCIAdCADcC0AIgB0EANgLYAkHUiQtBADYCACAHQgA3AvABIAcgB0HwAGo2AtwCQccAIAdB8AFqIAdB6AJqEANB1IkLKAIAIQJB1IkLQQA2AgACQCACQQFHBEAgBygCyAIiAgRAIAcgAjYCzAIgAhBaCyAHKALEAQRAQdSJC0EANgIAQQ1BkckFQfaKA0HECEGm0QAQBUHUiQsoAgAhqAFB1IkLQQA2AgAgqAFBAUcNHRAAIQUMJQsgBy0AcARAIAdBADoAwQEMAgsgBy0AwQFFDQEgB0EBOgDAAQwBCxAAIQUgBygCyAIiAEUNIyAHIAA2AswCIAAQWgwjC0EBIQQCQCAHLQDAAQ0AIAcoApwBDQAgBy0AzAENACAHKAK0AQ0AIActALkBDQAgBy0AuwENACAHLQC9AQ0AIActAL8BDQAgBy0AwgENACAHLQCFAQ0AIActAMMBDQAgBygC5AENACAHLQCEAQ0AIAcoAtgBDQAgBy0AzQFBAEchBAsgBygC4AEQYCAHKALUARBgIAcoArABEGAgBygCpAEQYCAHKAKYARBvIAcoAowBEG8CQCAHKAJ4IgJFDQAgAiACKAIEIgNBAWs2AgQgAw0AIAIgAigCACgCCBEBACACEHULIARFDQUgASgCCCEDCyAFQQdPDSwCQCADIAVBAnQiAkH4/gdqKAIARg0AIAMgAkGw/AdqKAIARg0AIAMgAkHM/AdqKAIARw0ECyAIKAIYIgJBB08NLAJAIAJBAmsOAgIAAQsgCCkDCAwCCxAPAAsgCDQCCAtCf1INACAAKAJ8IQMgASgCECEEIAcgACgCBCICLQA4OgBwIAcgAi0AOToAcSAHIAIoAmg2AnQgByACKAJsIgI2AnggAgRAIAIgAigCBEEBajYCBAsgByADNgJ8IAMoAoQBIQIgB0GMAWoiA0IANwIAIAdBmAFqIgZCADcCACAHQaQBaiILQgA3AgAgB0GwAWoiCUIANwIAIAdB1AFqIgpCADcCACAHQgA3AsABIAdCADcBxgEgB0HgAWoiDUIANwIAIAdBADsBhAEgByACNgKAASAHIAM2AogBIAcgBjYClAEgByALNgKgASAHIAk2AqwBIAdCADcCuAEgByAKNgLQASAHIA02AtwBIAcgBDYC6AIgB0IANwLIAiAHQgA3AtACIAdBADYC2AJB1IkLQQA2AgAgB0IANwLwASAHIAdB8ABqNgLcAkHHACAHQfABaiAHQegCahADQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAIAcoAsgCIgIEQCAHIAI2AswCIAIQWgsgBygCxAEEQEHUiQtBADYCAEENQZHJBUH2igNBxAhBptEAEAVB1IkLKAIAIakBQdSJC0EANgIAIKkBQQFHDRkQACEFDCELIActAHAEQCAHQQA6AMEBDAILIActAMEBRQ0BIAdBAToAwAEMAQsQACEFIAcoAsgCIgBFDR8gByAANgLMAiAAEFoMHwtBASEEAkAgBy0AwAENACAHKAKcAQ0AIActAMwBDQAgBygCtAENACAHLQC5AQ0AIActALsBDQAgBy0AvQENACAHLQC/AQ0AIActAMIBDQAgBy0AhQENACAHLQDDAQ0AIAcoAuQBDQAgBy0AhAENACAHKALYAQ0AIActAM0BQQBHIQQLIAcoAuABEGAgBygC1AEQYCAHKAKwARBgIAcoAqQBEGAgBygCmAEQbyAHKAKMARBvAkAgBygCeCICRQ0AIAIgAigCBCIDQQFrNgIEIAMNACACIAIoAgAoAggRAQAgAhB1CyAERQ0BCyAHQQA2AoABIAdBADYCeCAHIAdB3ABqNgJwIAdBADYCgAIgB0EANgL4ASAHIAdBKGo2AvABAkAgASgCAEEQRw0AIAEoAgwiBCgCBCIGQQdPDSkgASgCCCELQcsBIQNBlM8HIQICQAJAAkACQAJAIAZBAmsOBAMAAQIEC0GA0AchAgwCC0Hs0AchAgwBC0G40QchAgsgAigCACEDCyADIAtHDQAgBCgCAEEORw0AIAcgBDYCXCAHQegCaiAEQQhqEHohA0HUiQtBADYCAEHb7QAgB0H4AGogAxACIQJB1IkLKAIAIQRB1IkLQQA2AgACQCAEQQFHBEAgAxBZGiACRQ0CIAEoAhAiAygCAEEQRw0CIAMoAgwiBigCBCILQQdPDSsgAygCCCEJQcsBIQRBkM8HIQICQAJAAkACQAJAIAtBAmsOBAMAAQIEC0H8zwchAgwCC0Ho0AchAgwBC0G00QchAgsgAigCACEECyAEIAlHDQIgAygCECICKAIAQQ5HDQIgByACNgIoIAdB6AJqIAJBCGoQeiEDQdSJC0EANgIAQdvtACAHQfgBaiADEAIhAkHUiQsoAgAhqgFB1IkLQQA2AgAgqgFBAUcNAQsMHgsgAxBZGiACRQ0AIAdB8ABqIgIgBygCXEEIaiAHKAIoQQhqEJ0JAkAgAiAIQQhqIgVHBEAgBRBZIQVB1IkLQQA2AgBBwAAgBSACEAIaQdSJCygCACGrAUHUiQtBADYCACCrAUEBRg0BCyAHQfAAahBZGiABIAY2AhAgACABELUCDBULDBgLIAdBADYCgAEgB0EANgJ4IAcgB0HcAGo2AnAgB0EANgKAAiAHQQA2AvgBIAcgB0EoajYC8AECQCABKAIAIgNBEEcNACABKAIMIgIoAgQiC0EHTw0pIAEoAgghCUHLASEEQZTPByEGAkACQAJAAkACQCALQQJrDgQDAAECBAtBgNAHIQYMAgtB7NAHIQYMAQtBuNEHIQYLIAYoAgAhBAsgBCAJRw0AAkAgAigCAEEORw0AIAcgAjYCXCAHQegCaiACQQhqEHohA0HUiQtBADYCAEHb7QAgB0H4AGogAxACIQJB1IkLKAIAIQRB1IkLQQA2AgACQCAEQQFHBEAgAxBZGiACRQ0CIAEoAhAiAigCAEEQRw0CIAIoAgwiBCgCBCILQQdPDSwgAigCCCEJQcsBIQNBlM8HIQYCQAJAAkACQAJAIAtBAmsOBAMAAQIEC0GA0AchBgwCC0Hs0AchBgwBC0G40QchBgsgBigCACEDCyADIAlHDQIgBCgCAEEORw0CIAcgBDYCKCAHQegCaiAEQQhqEHohA0HUiQtBADYCAEHb7QAgB0H4AWogAxACIQRB1IkLKAIAIawBQdSJC0EANgIAIKwBQQFHDQELDB8LIAMQWRogBEUNACACKAIQIQMgB0HwAGoiAiAHKAJcQQhqIAcoAihBCGoQnQkCQCACIAhBCGoiBEcEQCAEEFkhBEHUiQtBADYCAEHAACAEIAIQAhpB1IkLKAIAIa0BQdSJC0EANgIAIK0BQQFGDQELIAdB8ABqEFkaIAEoAgwhAiABIAM2AgwgASAFQQJ0Qdj/B2ooAgA2AgggASACNgIQIAAgARC1AgwWCwwZCyABKAIAIQMLIAdBADYCgAEgB0EANgJ4IAdBADYCcCADQRBHDQEgASgCDCIFKAIEIgNBB08NKCABKAIIIQRBywEhAkGgzwchCgJAAkACQAJAAkAgA0ECaw4EAwABAgQLQYzQByEKDAILQfjQByEKDAELQcTRByEKCyAKKAIAIQILIAIgBEcNASAFKAIAQQ5HDQEgB0HwAWogBUEIahB6IQVB1IkLQQA2AgBB6+0AIAdB+ABqIAUQAiGvAUHUiQsoAgAhrgFB1IkLQQA2AgAgrgFBAUYNGyAFEFkaIK8BRQ0BIAEoAhAiAigCAEEPRw0BIAIoAgwiAygCBCIFQQdPDSggAigCCCAFQQJ0Qfj9CmooAgBHDQEgB0HwAGoiAiAIQQhqIgUQnQUCQCACIAVHBEAgBRBZIQVB1IkLQQA2AgBBwAAgBSACEAIaQdSJCygCACGwAUHUiQtBADYCACCwAUEBRg0BCyAHQfAAahBZGiABIAM2AhAgACABELUCDBQLDBcLIAEoAgwiAkUNACAAIAIQtQIMEgsCQAJAAkAgASgCCCIFIgJBB2tBAU0EfwJAIAJBB0YEQAJ/IAAoAnwhCSMAQeAAayICJAACQAJAAkAgBUEHRgRAAkACQCABKAIMIgUoAgAiA0EPRgRAIAUoAgwiBCgCBCIDQQdPDQYgBSgCCCADQQJ0IgpBwIAIaigCAEcNASABKAIQIgYoAgBBD0cNASAGKAIMIggoAgQiC0EHTw0GIAYoAgggC0ECdEHAgAhqKAIARw0BIAMgC0cNASAJQagBakEUQQQQXSIDIAg2AhAgAyAENgIMIANCEDcCACADIApBlP8HaigCACIGNgIIIAMCf0EBIAQoAgQiBEEBRg0AGkEBIAgoAgRBAUYNABpBAiAEQv+HgPD/gL/AHyAGQQ9rIgatiKdBAXEbIAQgBkE9SRsLNgIEIAUgAzYCDAwFCyACQQA2AjAgAkEANgIoIAIgAkHEAGo2AiAgA0EQRw0DIAUoAhAiAygCAEEORw0DIAUoAgwhBiACIAM2AkQgAiADQQhqEHohA0HUiQtBADYCAEHb7QAgAkEoaiADEAIhBEHUiQsoAgAhsQFB1IkLQQA2AgAgsQFBAUcNAQwuCyACQQA2AjAgAkEANgIoIAIgAkHEAGo2AiAMAgsgAxBZGiAERQ0BIAEoAhAhBCACQQA2AhAgAkEANgIIIAIgAkFAazYCACAEKAIAQRBHDQEgBCgCECIDKAIAQQ5HDQEgBCgCDCELIAIgAzYCQCACQcgAaiADQQhqEHohA0HUiQtBADYCAEHb7QAgAkEIaiADEAIhswFB1IkLKAIAIbIBQdSJC0EANgIAILIBQQFGDSwgAxBZGiCzAUUNASAFKAIIIAQoAghHDQEgBigCBCALKAIERw0BIAIoAkRBCGogAigCQEEIahCMA0UNAQJ/QQAhCSMAQdAAayIDJAAgA0IANwMYIANBADYCECADQQA2AgggA0EANgIAAkACQCAFKAIAQRBHDQAgBSgCDCgCBCIIQQdPDTRBASAIdEHzAHEEf0HLAQVB4NAHQfTPByAIQQJHGygCAAsgBSgCCEcNACAFKAIQIggoAgBBDkcNACADQThqIAhBCGoQeiEIQdSJC0EANgIAQeTtACADQQhqIAgQAiEJQdSJCygCACG0AUHUiQtBADYCACC0AUEBRg0BIAgQWRoLIANB0ABqJAAgCQwBCxAAIQAgCBBZGgw1C0UNASAEIAYoAgRBEBC9AjYCCCAGKAIEIQMgBCALNgIQIAQgBjYCDCAEIAM2AgQgBSAENgIMDAILQcutBUHHjQJBzBhB/soEEAEACyABKAIMIQUgAkEANgIwIAJBADYCKCACIAJBxABqNgIgAkAgBSgCAEEQRw0AIAUoAhAiAygCAEEORw0AIAUoAgwhCCACIAM2AkQgAiADQQhqEHohA0HUiQtBADYCAEHb7QAgAkEoaiADEAIhtgFB1IkLKAIAIbUBQdSJC0EANgIAILUBQQFGDSsgAxBZGiC2AUUNACABKAIQIQYgAkEANgIQIAJBADYCCCACIAJBQGs2AgAgBigCAEEQRw0AIAYoAhAiAygCAEEORw0AIAYoAgwhCiACIAM2AkAgAkHIAGogA0EIahB6IQNB1IkLQQA2AgBB2+0AIAJBCGogAxACIbgBQdSJCygCACG3AUHUiQtBADYCACC3AUEBRg0rIAMQWRoguAFFDQAgBSgCCCAGKAIIRw0AIAgoAgQgCigCBEcNACACKAJEQQhqIAIoAkBBCGoQjANFDQACfyMAQdAAayIDJAAgA0IANwMYIANBADYCECADQQA2AgggA0EANgIAAkACQAJAIAUoAgAiBEEQRw0AIAUoAgwoAgQiC0EHTw0CIAUoAgghCUEBIAt0QfMAcQR/QcsBBUHI0AdB3M8HIAtBAkcbKAIACyAJRw0AIAUoAhAiCygCAEEORw0AIANBOGogC0EIahB6IQRB1IkLQQA2AgBB5O0AIANBCGogBBACIboBQdSJCygCACG5AUHUiQtBADYCAEEBIQkguQFBAUYNNiAEEFkaILoBDQEgBSgCACEECyADQn83AxhBACEJIANBADYCECADQQA2AgggA0EANgIAIARBEEcNACAFKAIMKAIEIg1BB08NASAFKAIIIQxBywEhBEHUzwchCwJAAkACQAJAAkAgDUECaw4EAwABAgQLQcDQByELDAILQazRByELDAELQfjRByELCyALKAIAIQQLIAQgDEcNACAFKAIQIgQoAgBBDkcNACADQThqIARBCGoQeiEEQdSJC0EANgIAQeTtACADQQhqIAQQAiEJQdSJCygCACELQdSJC0EANgIAAkAgC0EBRw0ADDYLIAQQWRoLIANB0ABqJAAgCQwBCwwxC0UNACAGIAgoAgRBDxC9AjYCCCAIKAIEIQMgBiAKNgIQIAYgCDYCDCAGIAM2AgQgBSAGNgIMDAELQQAhBQsgAkHgAGokACAFDAELDC0LIgIEQCAAIAIQtQIMGAsgASgCCEEIRw0BCwJ/IwBB8AJrIgQkAAJAAkACQAJAAkACQCABKAIIQQhGBEAgASgCDCICKAIAQRBHDQMgASgCECIIKAIAQRBHDQMgAigCCCAIKAIIRg0DIAgoAgwhBSACKAIMIQZB1IkLQQA2AgAgBEHE7gk2AoABIAQgBEGAAWoiAzYCkAFB/wIgBiAFIAMQBCELQdSJCygCACEFQdSJC0EANgIAAkAgBUEBRwRAAkACQCADIAQoApABIgVGBEBBBCEGIAMhBQwBC0EFIQYgBUUNAQsgBSAFKAIAIAZBAnRqKAIAEQEACyALDQEMBQsQACEBAkAgBCgCkAEiAiAEQYABaiIARgRAQQQhBSAAIQIMAQtBBSEFIAJFDTQLIAIgAigCACAFQQJ0aigCABEBAAwzCyAIKAIQIQUgAigCECEGQdSJC0EANgIAIARBxO4JNgKAASAEIARBgAFqIgM2ApABQf8CIAYgBSADEAQhC0HUiQsoAgAhBUHUiQtBADYCAAJAAkACQAJAIAVBAUcEQAJAAkAgAyAEKAKQASIFRgRAQQQhBiADIQUMAQtBBSEGIAVFDQELIAUgBSgCACAGQQJ0aigCABEBAAsgC0UNCCAAKAJ8IQMgAigCDCEGIAQgACgCBCIFLQA4OgCAASAEIAUtADk6AIEBIAQgBSgCaDYChAEgBCAFKAJsIgU2AogBIAUEQCAFIAUoAgRBAWo2AgQLIAQgAzYCjAEgAygChAEhBSAEQZwBaiIDQgA3AgAgBEGoAWoiC0IANwIAIARBtAFqIglCADcCACAEQcABaiIKQgA3AgAgBEHkAWoiDUIANwIAIARCADcC0AEgBEIANwHWASAEQfABaiIMQgA3AgAgBEEAOwGUASAEIAU2ApABIAQgAzYCmAEgBCALNgKkASAEIAk2ArABIAQgCjYCvAEgBEIANwLIASAEIA02AuABIAQgDDYC7AEgBCAGNgL4ASAEQgA3AmAgBEIANwJoIARBADYCcEHUiQtBADYCACAEQgA3AgggBCAEQYABajYCdEHHACAEQQhqIARB+AFqEANB1IkLKAIAIbsBQdSJC0EANgIAILsBQQFGDQIgBCgCYCIFBEAgBCAFNgJkIAUQWgsgBCgC1AFFDQFB1IkLQQA2AgBBDUGRyQVB9ooDQcQIQabRABAFQdSJCygCACG8AUHUiQtBADYCACC8AUEBRg0DDAcLEAAhAQJAIAQoApABIgIgBEGAAWoiAEYEQEEEIQUgACECDAELQQUhBSACRQ03CyACIAIoAgAgBUECdGooAgARAQAMNgsgBC0AgAEEQCAEQQA6ANEBDAULIAQtANEBRQ0EIARBAToA0AEMBAsQACECIAQoAmAiAEUNASAEIAA2AmQgABBaDAELEAAhAgsMBgtBt60FQceNAkGWGUGbgQIQAQALQQAhBQJAIAQtANABDQAgBCgCrAENACAELQDcAQ0AIAQoAsQBDQAgBC0AyQENACAELQDLAQ0AIAQtAM0BDQAgBC0AzwENACAELQDSAQ0AIAQtAJUBDQAgBC0A0wENACAEKAL0AQ0AIAQtAJQBDQAgBCgC6AENACAELQDdAQ0AIAAoAnwhAyACKAIQIQYgBCAAKAIEIgUtADg6AAggBCAFLQA5OgAJIAQgBSgCaDYCDCAEIAUoAmwiBTYCECAFBEAgBSAFKAIEQQFqNgIECyAEIAM2AhQgAygChAEhBSAEQSRqIgNCADcCACAEQTBqIgtCADcCACAEQTxqIglCADcCACAEQcgAaiIKQgA3AgAgBEHsAGoiDUIANwIAIARCADcCWCAEQgA3AV4gBEH4AGoiDEIANwIAIARBADsBHCAEIAU2AhggBCADNgIgIAQgCzYCLCAEIAk2AjggBCAKNgJEIARCADcCUCAEIA02AmggBCAMNgJ0IAQgBjYC7AIgBEIANwLQAiAEQgA3AtgCIARBADYC4AJB1IkLQQA2AgAgBEIANwL4ASAEIARBCGo2AuQCQccAIARB+AFqIARB7AJqEANB1IkLKAIAIQVB1IkLQQA2AgACQAJAIAVBAUcEQCAEKALQAiIFBEAgBCAFNgLUAiAFEFoLIAQoAlwEQEHUiQtBADYCAEENQZHJBUH2igNBxAhBptEAEAVB1IkLKAIAIb0BQdSJC0EANgIAIL0BQQFHDQUQACECDAILIAQtAAgEQCAEQQA6AFkMAwsgBC0AWUUNAiAEQQE6AFgMAgsQACECIAQoAtACIgBFDQAgBCAANgLUAiAAEFoLIARBCGoQ3wEaDAYLAn9BASAELQBYDQAaQQEgBCgCNA0AGkEBIAQtAGQNABpBASAEKAJMDQAaQQEgBC0AUQ0AGkEBIAQtAFMNABpBASAELQBVDQAaQQEgBC0AVw0AGkEBIAQtAFoNABpBASAELQAdDQAaQQEgBC0AWw0AGkEBIAQoAnwNABpBASAELQAcDQAaQQEgBCgCcA0AGiAELQBlQQBHCyG+ASAEKAJ4EGAgBCgCbBBgIAQoAkgQYCAEKAI8EGAgBCgCMBBvIAQoAiQQbwJAIAQoAhAiBUUNACAFIAUoAgQiBkEBazYCBCAGDQAgBSAFKAIAKAIIEQEAIAUQdQsgvgFBAXMhBQsgBCgC8AEQYCAEKALkARBgIAQoAsABEGAgBCgCtAEQYCAEKAKoARBvIAQoApwBEG8CQCAEKAKIASIDRQ0AIAMgAygCBCIGQQFrNgIEIAYNACADIAMoAgAoAggRAQAgAxB1CyAFRQ0BIAIoAghBD0cNASAIKAIIQRVHDQEgAkEXNgIIDAILAAsgASgCDCECIARBADYCkAEgBEEANgKIASAEIARB7AJqNgKAAQJAIAIoAgBBEEcNACACKAIQIgUoAgBBDkcNACACKAIMIQsgBCAFNgLsAiAEQQhqIAVBCGoQeiEFQdSJC0EANgIAQdvtACAEQYgBaiAFEAIhwAFB1IkLKAIAIb8BQdSJC0EANgIAIL8BQQFGDQIgBRBZGiDAAUUNACABKAIQIQggBEEANgIYIARBADYCECAEIARBBGo2AgggCCgCAEEQRw0AIAgoAhAiBSgCAEEORw0AIAgoAgwhCiAEIAU2AgQgBEH4AWogBUEIahB6IQZB1IkLQQA2AgBB2+0AIARBEGogBhACIcIBQdSJCygCACHBAUHUiQtBADYCACDBAUEBRg0sIAYQWRogwgFFDQAgAigCCCAIKAIIRw0AIAsoAgQgCigCBEcNACAEKALsAkEIaiAEKAIEQQhqEIwDRQ0AAn8jAEHQAGsiBSQAIAVCADcDGCAFQQA2AhAgBUEANgIIIAVBADYCAAJAAkACQAJAAkAgAigCACIDQRBHDQAgAigCDCgCBCIGQQdPDQQgAigCCCEJQQEgBnRB8wBxBH9BywEFQeDQB0H0zwcgBkECRxsoAgALIAlHDQAgAigCECIGKAIAQQ5HDQAgBUE4aiAGQQhqEHohA0HUiQtBADYCAEHk7QAgBUEIaiADEAIhxAFB1IkLKAIAIcMBQdSJC0EANgIAQQEhCSDDAUEBRg0BIAMQWRogxAENAyACKAIAIQMLIAVCfzcDGEEAIQkgBUEANgIQIAVBADYCCCAFQQA2AgAgA0EQRw0CIAIoAgwoAgQiDUEHTw0DIAIoAgghDEHLASEDQdjPByEGAkACQAJAAkACQCANQQJrDgQDAAECBAtBxNAHIQYMAgtBsNEHIQYMAQtB/NEHIQYLIAYoAgAhAwsgAyAMRw0CIAIoAhAiAygCAEEORw0CIAVBOGogA0EIahB6IQNB1IkLQQA2AgBB5O0AIAVBCGogAxACIQlB1IkLKAIAIcUBQdSJC0EANgIAIMUBQQFHDQELEAAhACADEFkaDDcLIAMQWRoLIAVB0ABqJAAgCQwBCwwxC0UNACAIIAsoAgRBDxC9AjYCCCALKAIEIQUgCCAKNgIQIAggCzYCDCAIIAU2AgQgAiAINgIMDAELIAEoAgwhAiAEQQA2ApABIARBADYCiAEgBCAEQewCajYCgAECQCACKAIAQRBHDQAgAigCECIFKAIAQQ5HDQAgAigCDCELIAQgBTYC7AIgBEEIaiAFQQhqEHohBUHUiQtBADYCAEHb7QAgBEGIAWogBRACIccBQdSJCygCACHGAUHUiQtBADYCACDGAUEBRg0CIAUQWRogxwFFDQAgASgCECEDIARBADYCGCAEQQA2AhAgBCAEQQRqNgIIIAMoAgBBEEcNACADKAIQIgUoAgBBDkcNACADKAIMIQogBCAFNgIEIARB+AFqIAVBCGoQeiEGQdSJC0EANgIAQdvtACAEQRBqIAYQAiHJAUHUiQsoAgAhyAFB1IkLQQA2AgAgyAFBAUYNLCAGEFkaIMkBRQ0AIAIoAgggAygCCEcNACALKAIEIAooAgRHDQAgBCgC7AJBCGogBCgCBEEIahCMA0UNAAJ/IwBB0ABrIgUkACAFQgA3AxggBUEANgIQIAVBADYCCCAFQQA2AgACQAJAAkAgAigCACIGQRBHDQAgAigCDCgCBCINQQdPDQIgAigCCCEMQcsBIQhB2M8HIQkCQAJAAkACQAJAIA1BAmsOBAMAAQIEC0HE0AchCQwCC0Gw0QchCQwBC0H80QchCQsgCSgCACEICyAIIAxHDQAgAigCECIIKAIAQQ5HDQAgBUE4aiAIQQhqEHohBkHUiQtBADYCAEHk7QAgBUEIaiAGEAIhywFB1IkLKAIAIcoBQdSJC0EANgIAQQEhCCDKAUEBRg01IAYQWRogywENASACKAIAIQYLIAVCADcDGEEAIQggBUEANgIQIAVBADYCCCAFQQA2AgAgBkEQRw0AIAIoAgwoAgQiBkEHTw0BIAIoAgghCUEBIAZ0QfMAcQR/QcsBBUHI0AdB3M8HIAZBAkcbKAIACyAJRw0AIAIoAhAiBigCAEEORw0AIAVBOGogBkEIahB6IQZB1IkLQQA2AgBB5O0AIAVBCGogBhACIQhB1IkLKAIAIQlB1IkLQQA2AgACQCAJQQFHDQAMNQsgBhBZGgsgBUHQAGokACAIDAELDDELRQ0AIAMgCygCBEEQEL0CNgIIIAsoAgQhBSADIAo2AhAgAyALNgIMIAMgBTYCBCACIAM2AgwMAQtBACECCyAEQfACaiQAIAIMAgsQACEAIAUQWRoMMAsgBEGAAWoQ3wEaIAIQBwALIgJFDQAgACACELUCDBYLAn9BACEGIwBBoANrIgQkAAJAAkAgACgCBCIDKAIcQQJIDQAgAygCIEEASg0AAkACQCABKAIIQQdrQQJJBEAgASgCECICKAIAIghBDkYNAwJAAkACQAJAIAEoAgwiBSgCACILQQ9rDi8CAQcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcDBwMHBwcHBwcHBwcHBwcHBwcHAwALIAtB1ABHDQYgBSgCCEUNAgwGCyAFKAIIQQ9rIgtBPEsNBUL/h4Dw/4C/wB8gC62IQgGDpw0BDAULIAUoAghBfnFBFEcNBAsCQAJAAkACQCAIQQ9rDi8CAQcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcDBwMHBwcHBwcHBwcHBwcHBwcHAwALIAhB1ABHDQYgAigCCEUNAgwGCyACKAIIQQ9rIghBPEsNBUL/h4Dw/4C/wB8gCK2IQgGDUA0FDAELIAIoAghBfnFBFEcNBAsgACgCfCEGIAQgAy0AODoAtAEgBCADLQA5OgC1ASAEIAMoAmg2ArgBIAQgAygCbCIDNgK8ASADBEAgAyADKAIEQQFqNgIECyAEIAY2AsABIAYoAoQBIQMgBEHQAWoiBkIANwIAIARB3AFqIghCADcCACAEQegBaiILQgA3AgAgBEH0AWoiCUIANwIAIARBmAJqIgpCADcCACAEQgA3AoQCIARCADcBigIgBEGkAmoiDUIANwIAIARBADsByAEgBCADNgLEASAEIAY2AswBIAQgCDYC2AEgBCALNgLkASAEIAk2AvABIARCADcC/AEgBCAKNgKUAiAEIA02AqACIAQgBTYCrAIgBEIANwKUASAEQgA3ApwBIARBADYCpAFB1IkLQQA2AgAgBEIANwI8IAQgBEG0AWo2AqgBQccAIARBPGogBEGsAmoQA0HUiQsoAgAhA0HUiQtBADYCAAJAAkAgA0EBRwRAIAQoApQBIgMEQCAEIAM2ApgBIAMQWgsgBCgCiAIEQEHUiQtBADYCAEENQZHJBUH2igNBxAhBptEAEAVB1IkLKAIAIcwBQdSJC0EANgIAIMwBQQFGDQIMBgsgBC0AtAEEQCAEQQA6AIUCDAULIAQtAIUCRQ0EIARBAToAhAIMBAsQACEGIAQoApQBIgBFDQEgBCAANgKYASAAEFoMAQsQACEGCwwEC0GHrQVBx40CQZMYQYPfAxABAAsgACgCfCEGIAQgACgCBCIDLQA4OgA8IAQgAy0AOToAPSAEIAMoAmg2AkAgBCADKAJsIgM2AkQgAwRAIAMgAygCBEEBajYCBAsgBCAGNgJIIAYoAoQBIQMgBEHYAGoiBkIANwIAIARB5ABqIghCADcCACAEQfAAaiILQgA3AgAgBEH8AGoiCUIANwIAIARBoAFqIgpCADcCACAEQgA3AowBIARCADcBkgEgBEGsAWoiDUIANwIAIARBADsBUCAEIAM2AkwgBCAGNgJUIAQgCDYCYCAEIAs2AmwgBCAJNgJ4IARCADcChAEgBCAKNgKcASAEIA02AqgBIAQgAjYCnAMgBEIANwKEAyAEQgA3AowDIARBADYClANB1IkLQQA2AgAgBEIANwKsAiAEIARBPGo2ApgDQccAIARBrAJqIARBnANqEANB1IkLKAIAIQNB1IkLQQA2AgACQAJAIANBAUcEQCAEKAKEAyIDBEAgBCADNgKIAyADEFoLIAQoApABBEBB1IkLQQA2AgBBDUGRyQVB9ooDQcQIQabRABAFQdSJCygCACHNAUHUiQtBADYCACDNAUEBRw0EEAAhBgwDCyAELQA8BEAgBEEAOgCNAQwCCyAELQCNAUUNASAEQQE6AIwBDAELEAAhBiAEKAKEAyIARQ0BIAQgADYCiAMgABBaDAELQQEhAwJ/QQEgBC0AhAINABpBASAEKALgAQ0AGkEBIAQtAJACDQAaQQEgBCgC+AENABpBASAELQD9AQ0AGkEBIAQtAP8BDQAaQQEgBC0AgQINABpBASAELQCDAg0AGkEBIAQtAIYCDQAaQQEgBC0AyQENABpBASAELQCHAg0AGkEBIAQoAqgCDQAaQQEgBC0AyAENABpBASAEKAKcAg0AGiAELQCRAkEARwshCAJAIAQtAIwBDQAgBCgCaA0AIAQtAJgBDQAgBCgCgAENACAELQCFAQ0AIAQtAIcBDQAgBC0AiQENACAELQCLAQ0AIAQtAI4BDQAgBC0AUQ0AIAQtAI8BDQAgBCgCsAENACAELQBQDQAgBCgCpAENACAELQCZAUEARyEDC0EAIQYCQAJAAkAgAyAIcQ0AAkACQAJAAkACQCADBEBB1IkLQQA2AgBBseIAIAUQBiHPAUHUiQsoAgAhzgFB1IkLQQA2AgAgzgFBAUYNCCDPAUEHSQ0GQdSJC0EANgIAQfMFIARBtAFqIARBPGoQAiHRAUHUiQsoAgAh0AFB1IkLQQA2AgAg0AFBAUYNByAFIQMg0QFFDQEMBgsgCARAQdSJC0EANgIAQbHiACACEAYhCEHUiQsoAgAh0gFB1IkLQQA2AgAg0gFBAUcEQCACIQMgBSECIAhBB08NAgwHCxAAIQYMCQtB1IkLQQA2AgBBseIAIAUQBiEDQdSJCygCACHTAUHUiQtBADYCACDTAUEBRg0BQdSJC0EANgIAQbHiACACEAYhCEHUiQsoAgAh1AFB1IkLQQA2AgAg1AFBAUYNAkEAIQYgAyAIIAMgCEsiCBtBBk0NBSAFIAIgCBshAyACIAUgCBshAgsgACgCfCEGIAEoAghBCEcNAiAEQQI2AjBB1IkLQQA2AgAgBEEBNgIgQeHtACAGIARBIGoiBRACIQhB1IkLKAIAIdUBQdSJC0EANgIAINUBQQFHBEBB1IkLQQA2AgBB0O4AIAYgAiAIIANCABCgCSEGQdSJCygCACHWAUHUiQtBADYCACAFIQIg1gFBAUcNBAsQACEGIARBIGoQWRoMBwsQACEGDAYLEAAhBgwFCyAEQQI2AhggBEEANgIIQdSJC0EANgIAQeHtACAGIARBCGoiBRACIQhB1IkLKAIAIdcBQdSJC0EANgIAINcBQQFHBEBB1IkLQQA2AgBB0O4AIAYgAiADIAhCABCgCSEGQdSJCygCACHYAUHUiQtBADYCACAFIQIg2AFBAUcNAQsQACEGIARBCGoQWRoMBAsgAhBZGgsgBCgCrAEQYCAEKAKgARBgIAQoAnwQYCAEKAJwEGAgBCgCZBBvIAQoAlgQbwJAIAQoAkQiAkUNACACIAIoAgQiBUEBazYCBCAFDQAgAiACKAIAKAIIEQEAIAIQdQsgBCgCpAIQYCAEKAKYAhBgIAQoAvQBEGAgBCgC6AEQYCAEKALcARBvIAQoAtABEG8gBCgCvAEiAkUNBCACIAIoAgQiBUEBazYCBCAFDQQgAiACKAIAKAIIEQEAIAIQdQwECxAAIQYMAQsQACEGCyAEQTxqEN8BGgwCCwALIARBoANqJAAgBgwBCyAEQbQBahDfARogBhAHAAsiAg0CIAEoAggFIAILQQ9rIgJBPEsNAEL/h4Dw/4C/wB8gAq2IQgGDUA0AAn9BACECIwBB4AJrIgUkAAJAAkACQAJAAkAgASgCDCIDKAIEQX5xQQJHDQACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIQIgIoAgQiBEEHSQRAAkACQCABKAIIIgYgBEECdCIIQaSACGooAgAiC0cEQCAGIAhB6PwHaigCAEcNAQsgAygCAEEQRw0AIAMoAgggBEECdEHY/wdqKAIARw0AIAMoAhAiBigCAEEORw0AAkAgAigCAEEOaw4DAgEAAQsgAigCCCAEQQMQvQJHDQAgAigCECIIKAIAQQ5HDQAgASADIAYgAiAIENkNIQIMFgsgBUEANgKoASAFIAVBkAFqNgLUAiAFQQQ2AswCIAVBADYCkAEgBSAFQagBajYC0AIgBSAFQcQCajYCyAIgBUIANwOgAiAFQQA2ApgCIAVBADYCkAIgBUEANgKIAiAFQoCAgICwAzcDwAEgBSAFQYgCajYCzAEgBSAFQcgCajYCyAECQCABKAIAIgJBEEcNACABKAIMKAIEIgNBB08NRSABKAIIIQZBASADdEHzAHEEf0HLAQVB3NAHQfDPByADQQJHGygCAAsgBkcNACABIAVByAFqEI4IDQMgASgCACECCyAFQQA2AqgBIAVBBDYCzAIgBSAFQZABajYC1AIgBUEANgKQASAFIAVBqAFqNgLQAiAFIAVBxAJqNgLIAiAFQgA3A6ACIAVBADYCmAIgBUEANgKQAiAFQQA2AogCIAVCgICAgJADNwPAASAFIAVBiAJqNgLMASAFIAVByAJqNgLIAQJAIAJBEEcNACABKAIMKAIEIgNBB08NRSABKAIIIQRBASADdEHzAHEEf0HLAQVB1NAHQejPByADQQJHGygCAAsgBEcNACABIAVByAFqEI4IDQQgASgCACECCyAFQQA2AnggBUEENgKsASAFIAVB4ABqNgK0ASAFQQA2AmAgBSAFQfgAajYCsAEgBSAFQcQCajYCqAEgBUIANwOgAiAFQQA2ApgCIAVBADYCkAIgBUEANgKIAiAFQoCAgIDAAjcDwAEgBSAFQYgCajYCzAEgBSAFQagBajYCyAECQCACQRBHDQAgASgCDCgCBCIGQQdPDUUgASgCCCEIQcsBIQRB1M8HIQMCQAJAAkACQAJAIAZBAmsOBAMAAQIEC0HA0AchAwwCC0Gs0QchAwwBC0H40QchAwsgAygCACEECyAEIAhHDQAgASAFQcgBahCOCA0FIAEoAgAhAgsgBUIANwPYASAFQQA2AtABIAVBADYC+AEgBUEANgKAAiAFQQQ2ApQBIAVBADYCyAEgBUEANgLAASAFIAVB+AFqNgKcASAFIAVBgAJqNgKYASAFIAVBxAJqNgKQASAFQoCAgIDQAjcDyAIgBSAFQcABajYC1AIgBSAFQZABajYC0AICQCACQRBHDQAgASgCDCgCBCIGQQdPDUUgASgCCCEIQcsBIQRB2M8HIQMCQAJAAkACQAJAIAZBAmsOBAMAAQIEC0HE0AchAwwCC0Gw0QchAwwBC0H80QchAwsgAygCACEECyAEIAhHDQAgASAFQdACahCOCA0FIAEoAgAhAgsgBUEANgKYAiAFQQA2ApACIAUgBUGAAmo2AogCIAVBADYC0AEgBUEANgLIASAFIAVB+AFqNgLAASACQRBHDRQgASgCDCICKAIAQRBHDRQgAigCDCgCBCIGQQdPDUQgAigCCCEIQcsBIQRBkM8HIQMCQAJAAkACQAJAIAZBAmsOBAMAAQIEC0H8zwchAwwCC0Ho0AchAwwBC0G00QchAwsgAygCACEECyAEIAhHDRQgAigCECIDKAIAQQ5HDRQgBSADNgKAAiAFQcgCaiADQQhqEHohA0HUiQtBADYCAEHb7QAgBUGQAmogAxACIdoBQdSJCygCACHZAUHUiQtBADYCACDZAUEBRg0YIAMQWRog2gFFDRQgASgCECIDKAIAQQ5HDRQgBSADNgL4ASAFQcgCaiADQQhqEHohA0HUiQtBADYCAEHb7QAgBUHIAWogAxACIdwBQdSJCygCACHbAUHUiQtBADYCACDbAUEBRg0YIAMQWRog3AFFDRQgATUCCCGJAkF/IQQgAigCBCIDQQJrQQRNBEAgAxDdAkEDdCEECyACKAIMIAAQvgIiAyACKAIQIAAQvgIiBiADIAZLGyAERg0UIAIoAgQiCEEHTw1EAkAgAigCCCAIQQJ0Qdj/B2ooAgBHIghCgICohYCA1QAgiQKIQgGDUCCJAkIwVnJyRQRAIAMgBmogBEkNAQwWCyAIDRULIAVBiAJqIAUoAoACQQhqEHohA0HUiQtBADYCAEHAACAFQcABaiAFKAL4AUEIahACIQRB1IkLKAIAIQZB1IkLQQA2AgACQAJAAkACQAJAAkACQAJAAkAgBkEBRwRAQdSJC0EANgIAQZYEIAVByAJqIAMgBBAIQdSJCygCACHdAUHUiQtBADYCACDdAUEBRg0BQdSJC0EANgIAQZYEIAVBqAFqIgsgBCADEAhB1IkLKAIAId4BQdSJC0EANgIAIN4BQQFGDQIgAigCBCEGQdSJC0EANgIAQbcFIAVBkAFqIgggBhADQdSJCygCACHfAUHUiQtBADYCACDfAUEBRg0DQdSJC0EANgIAQa8FIAMgCBACIeEBQdSJCygCACHgAUHUiQtBADYCAEEBIQYg4AFBAUYNFyDhAQ0dQdSJC0EANgIAQa8FIAQgCBACIeMBQdSJCygCACHiAUHUiQtBADYCACDiAUEBRg0XIOMBDR0gASgCCEERayIGQR9LDQlBASAGdEHVgIDQenFFDQlB1IkLQQA2AgBBqgQgBUH4AGoiBiALIAQQCEHUiQsoAgAh5AFB1IkLQQA2AgAg5AFBAUYNBEHUiQtBADYCAEGYBCAGEKwCIY0CQdSJCygCACHlAUHUiQtBADYCACDlAUEBRg0FII0CUARAIAYQWRoMEQtB1IkLQQA2AgBBqgQgBUHgAGoiBiAFQZABaiADEAhB1IkLKAIAIeYBQdSJC0EANgIAIOYBQQFGDQZB1IkLQQA2AgBBmAQgBhCsAiGOAkHUiQsoAgAh5wFB1IkLQQA2AgAg5wFBAUYNByAGEFkaIAVB+ABqEFkaII4CUA0QDA8LEAAhAAxKCxAAIQAMGQsQACEADBcLEAAhAAwVCxAAIQAMEwsQACEADAILEAAhAAwBCxAAIQAgBUHgAGoQWRoLIAVB+ABqEFkaDA8LQdSJC0EANgIAQasEIAVB+ABqIgYgBUGoAWogBBAIQdSJCygCACEIQdSJC0EANgIAAkACQAJAAkACQAJAAkACQAJAAkACQCAIQQFHBEBB1IkLQQA2AgBBmAQgBhCsAiGJAkHUiQsoAgAh6AFB1IkLQQA2AgAg6AFBAUYNAQJAIIkCUARAIAYQWRoMAQtB1IkLQQA2AgBBqwQgBUHgAGoiBiAFQZABaiADEAhB1IkLKAIAIekBQdSJC0EANgIAIOkBQQFGDQNB1IkLQQA2AgBBmAQgBhCsAiGPAkHUiQsoAgAh6gFB1IkLQQA2AgAg6gFBAUYNBCAGEFkaIAVB+ABqEFkaII8CQgBSDRILQdSJC0EANgIAQasEIAVB+ABqIgIgBUHIAmogAxAIQdSJCygCACHrAUHUiQtBADYCACDrAUEBRg0FQdSJC0EANgIAQZgEIAIQrAIhkAJB1IkLKAIAIewBQdSJC0EANgIAIOwBQQFGDQYgkAJQDQpB1IkLQQA2AgBBqwQgBUHgAGoiBiAFQZABaiAEEAhB1IkLKAIAIe0BQdSJC0EANgIAIO0BQQFGDQdB1IkLQQA2AgBBmAQgBhCsAiGRAkHUiQsoAgAh7gFB1IkLQQA2AgAg7gFBAUYNCCAGEFkaIAIQWRogkQJCAFINEwwLCxAAIQAMGQsQACEADAILEAAhAAwBCxAAIQAgBUHgAGoQWRoLIAVB+ABqEFkaDBULEAAhAAwUCxAAIQAMAgsQACEADAELEAAhACAFQeAAahBZGgsgBUH4AGoQWRoMEAsgBUH4AGoQWRoLQdSJC0EANgIAQQ1B5awFQceNAkHPIUGK8wIQBUHUiQsoAgAh7wFB1IkLQQA2AgAg7wFBAUcNFwwNCyABIAMgBkEAIAIQ2Q0hAgwUCwxCCyABIARBAnRB6PwHaigCADYCCAwBCyABIAs2AggLIAEgBSgCxAIiAigCEDYCECABIAIoAgw2AgwgASECDBALQQAhBkHUiQtBADYCAEGxBSAFKAL4AUEIaiAFQagBahACGkHUiQsoAgAh8AFB1IkLQQA2AgAg8AFBAUYNByABIAIoAgw2AgwMDQtB1IkLQQA2AgBBqgQgBUH4AGoiAiAFQcgCaiADEAhB1IkLKAIAIfEBQdSJC0EANgIAIPEBQQFGDQFB1IkLQQA2AgBBmAQgAhCsAiGSAkHUiQsoAgAh8gFB1IkLQQA2AgAg8gFBAUYNAiCSAlAEQCACEFkaDAwLQdSJC0EANgIAQaoEIAVB4ABqIgIgBUGQAWogBBAIQdSJCygCACHzAUHUiQtBADYCACDzAUEBRg0DQdSJC0EANgIAQZgEIAIQrAIhkwJB1IkLKAIAIfQBQdSJC0EANgIAIPQBQQFGDQQgAhBZGiAFQfgAahBZGiCTAlANCwtBACEGQdSJC0EANgIAQbEFIAUoAoACQQhqIAVByAJqEAIaQdSJCygCACH1AUHUiQtBADYCACD1AUEBRg0FQdSJC0EANgIAQbEFIAUoAvgBQQhqIAVBkAFqEAIaQdSJCygCACH2AUHUiQtBADYCACD2AUEBRw0LDAULEAAhAAwFCxAAIQAMAgsQACEADAELEAAhACAFQeAAahBZGgsgBUH4AGoQWRoMAQsQACEACyAFQZABahBZGgsgBUGoAWoQWRoLIAVByAJqEFkaCyAEEFkaDC8LQQEhBgsgBUGQAWoQWRogBUGoAWoQWRogBUHIAmoQWRogBBBZGiADEFkaIAYNACABIQIMAQsgASgCDCAAEL4CIQNBACECIAEoAgwoAgQiBEECayIIQQRNBH8gBBDdAkEDdAVBfwsgA00NAEEAIQYgASgCECICKAIAQQ5GBEAgAhDJAiEGC0F/IQkgCEEETQRAIAQQ3QJBA3QhCQtBACECIAMgBk8NACAEQQdPDQEgASgCCCELQcsBIQNB1M8HIQgCQAJAAkACQAJAIARBAmsOBAMAAQIEC0HA0AchCAwCC0Gs0QchCAwBC0H40QchCAsgCCgCACEDCwJAAkAgAyALRg0AQQEgBHRB8wBxBH9BywEFQdzQB0HwzwcgBEECRxsoAgALIAtGDQAgBEEdEL0CIAtGDQAgBiAJRiIGDQEgASgCCCAEQRoQvQJGDQAgASgCCCAEQRwQvQJHDQELIAVByABqIgNBAhD/AkHUiQtBADYCAEHw7QAgACABIAMQBCECQdSJCygCACH3AUHUiQtBADYCACD3AUEBRwRAIAMQWRoMAgsQACEAIAVByABqEFkaDAULAkACQCABKAIIIARBFRC9AkYNACABKAIIIARBFxC9AkYNACABKAIIIARBGRC9AkYNACABKAIIIQMgBg0BIARBFhC9AiADRg0AIAEoAgggBEEYEL0CRw0CCyAFQQI2AkBB1IkLQQA2AgAgBUEBNgIwQfDtACAAIAEgBUEwaiIDEAQhAkHUiQsoAgAh+AFB1IkLQQA2AgAg+AFBAUcEQCADEFkaDAILEAAhACAFQTBqEFkaDAULAkAgBEEaEL0CIANHBEAgASgCCCAEQRwQvQJHDQELIAVBAjYCKEHUiQtBADYCACAFQQE2AhhB8O0AIAAgASAFQRhqIgMQBCECQdSJCygCACH5AUHUiQtBADYCACD5AUEBRwRAIAMQWRoMAgsQACEAIAVBGGoQWRoMBQsgASgCCCAEQRYQvQJHBEAgASgCCCAEQRgQvQJHDQELIAVBAhD/AkHUiQtBADYCAEHw7QAgACABIAUQBCECQdSJCygCACH6AUHUiQtBADYCACD6AUEBRwRAIAUQWRoMAQsQACEAIAUQWRoMBAsgBUHgAmokACACDAQLQeHNBkGfnwNBwwFB8+cEEAELAAsQACEAIAMQWRoLDC0LIgJFDQAgACACELUCDBQLIAAoAnwhBSABKAIMIQMgByAAKAIEIgItADg6AHAgByACLQA5OgBxIAcgAigCaDYCdCAHIAIoAmwiAjYCeCACBEAgAiACKAIEQQFqNgIECyAHIAU2AnwgBSgChAEhAiAHQYwBaiIFQgA3AgAgB0GYAWoiBEIANwIAIAdBpAFqIgZCADcCACAHQbABaiIIQgA3AgAgB0HUAWoiC0IANwIAIAdCADcCwAEgB0IANwHGASAHQeABaiIJQgA3AgAgB0EAOwGEASAHIAI2AoABIAcgBTYCiAEgByAENgKUASAHIAY2AqABIAcgCDYCrAEgB0IANwK4ASAHIAs2AtABIAcgCTYC3AEgByADNgLoAiAHQgA3AsgCIAdCADcC0AIgB0EANgLYAkHUiQtBADYCACAHQgA3AvABIAcgB0HwAGo2AtwCQccAIAdB8AFqIAdB6AJqEANB1IkLKAIAIQJB1IkLQQA2AgACQCACQQFHBEAgBygCyAIiAgRAIAcgAjYCzAIgAhBaCyAHKALEAQRAQdSJC0EANgIAQQ1BkckFQfaKA0HECEGm0QAQBUHUiQsoAgAh+wFB1IkLQQA2AgAg+wFBAUcNGBAAIQUMAgsgBy0AcARAIAdBADoAwQEMBAsgBy0AwQFFDQMgB0EBOgDAAQwDCxAAIQUgBygCyAIiAEUNACAHIAA2AswCIAAQWgsMHQsgACACELUCDBILQQEhAgJAIActAMABDQAgBygCnAENACAHLQDMAQ0AIAcoArQBDQAgBy0AuQENACAHLQC7AQ0AIActAL0BDQAgBy0AvwENACAHLQDCAQ0AIActAIUBDQAgBy0AwwENACAHKALkAQ0AIActAIQBDQAgBygC2AENACAHLQDNAUEARyECCyAHKALgARBgIAcoAtQBEGAgBygCsAEQYCAHKAKkARBgIAcoApgBEG8gBygCjAEQbwJAIAcoAngiBUUNACAFIAUoAgQiA0EBazYCBCADDQAgBSAFKAIAKAIIEQEAIAUQdQsCQCACDQACfyABKAIMIQIgASgCECEEIwBBIGsiAyQAIANBxO4JNgIIQdSJC0EANgIAIAMgA0EIaiIFNgIYQf8CIAIgBCAFEAQhBkHUiQsoAgAh/AFB1IkLQQA2AgAg/AFBAUcEQAJAAkAgBSADKAIYIgJGBEBBBCEEIAUhAgwBC0EFIQQgAkUNAQsgAiACKAIAIARBAnRqKAIAEQEACyADQSBqJAAgBgwBCxAAIQECQAJAIAMoAhgiAiADQQhqIgBGBEBBBCEEIAAhAgwBC0EFIQQgAkUNAQsgAiACKAIAIARBAnRqKAIAEQEACwwnC0UNAAJ/IAAoAnwhA0EAIQIjAEEgayIFJAACQAJAAkACQAJAAkAgASgCCEEBaw4xAAQEBAQEAgIABAQEBAQDAQEBAwMBAQMDBAAEBAQEBAICAAQEBAQEAwEBAQMDAQEDAwQLIAEoAgwoAgQgAxDkBCECDAMLQQIgAxDkBCECDAILIAEoAgwhAgwBCyADQagBakEgQQgQXSICQgA3AgQgAkEONgIAIAJCADcCDCACQgA3AhQgBUECNgIYIAVBATYCCCACQQhqIgMgBUEIaiIERwRAIAMQWSEDQdSJC0EANgIAQcAAIAMgBBACGkHUiQsoAgAh/QFB1IkLQQA2AgAg/QFBAUYNAgsgBUEIahBZGiACQQI2AgQLIAVBIGokACACDAELEAAhACAFQQhqEFkaDCsLIgJFDQAgACACELUCDBILAn8gACEDQQAhACMAQfABayICJAACQAJAAkACQCABIgUoAgQiBkF+cUECRw0AAkAgBSgCECIAKAIAQRBHDQAgBSgCCCAAKAIIRw0AIAUoAgwhCCADKAJ8IQQgAiADKAIEIgEtADg6AAAgAiABLQA5OgABIAIgASgCaDYCBCACIAEoAmwiATYCCCABBEAgASABKAIEQQFqNgIECyACIAQ2AgwgBCgChAEhASACQRxqIgRCADcCACACQShqIgtCADcCACACQTRqIglCADcCACACQUBrIgpCADcCACACQeQAaiINQgA3AgAgAkIANwJQIAJCADcBViACQfAAaiIMQgA3AgAgAkEAOwEUIAIgATYCECACIAQ2AhggAiALNgIkIAIgCTYCMCACIAo2AjwgAkIANwJIIAIgDTYCYCACIAw2AmwgAiAINgLsASACQgA3AtQBIAJCADcC3AEgAkEANgLkAUHUiQtBADYCACACQgA3AnwgAiACNgLoAUHHACACQfwAaiACQewBahADQdSJCygCACEBQdSJC0EANgIAAkACQCABQQFHBEAgAigC1AEiAQRAIAIgATYC2AEgARBaCyACKAJUBEBB1IkLQQA2AgBBDUGRyQVB9ooDQcQIQabRABAFQdSJCygCACH+AUHUiQtBADYCACD+AUEBRg0CDAYLIAItAAAEQCACQQA6AFEMAwsgAi0AUUUNAiACQQE6AFAMAgsQACEBIAIoAtQBIgBFDQUgAiAANgLYASAAEFoMBQsQACEBDAQLQQEhBAJAIAItAFANACACKAIsDQAgAi0AXA0AIAIoAkQNACACLQBJDQAgAi0ASw0AIAItAE0NACACLQBPDQAgAi0AUg0AIAItABUNACACLQBTDQAgAigCdA0AIAItABQNACACKAJoDQAgAi0AXUEARyEECyACKAJwEGAgAigCZBBgIAIoAkAQYCACKAI0EGAgAigCKBBvIAIoAhwQbwJAIAIoAggiAUUNACABIAEoAgQiCEEBazYCBCAIDQAgASABKAIAKAIIEQEAIAEQdQsgBA0AIAUoAgwhASAAKAIMIQRB1IkLQQA2AgAgAkHE7gk2AgAgAiACNgIQQf8CIAQgASACEAQhCEHUiQsoAgAhAUHUiQtBADYCAAJAAkACQAJAIAFBAUcEQAJAAkAgAiACKAIQIgFGBEBBBCEEIAIhAQwBC0EFIQQgAUUNAQsgASABKAIAIARBAnRqKAIAEQEACyAIRQ0EQQEhASAFKAIIIQQgBkECaw4CAwIBCwwIC0HUhARB1ogDQbACEGIAC0EaIQELAkAgASAERwRAIAZBERC9AiAERw0BCyAAKAIQIQAMAwsgBSgCCCAGQQ8QvQJGDQIgBSgCCCAGQRAQvQJGDQILIAUoAgwhASAAKAIQIQRB1IkLQQA2AgAgAkHE7gk2AgAgAiACNgIQQf8CIAQgASACEAQhCEHUiQsoAgAhAUHUiQtBADYCAAJAIAFBAUcEQAJAAkAgAiACKAIQIgFGBEBBBCEEIAIhAQwBC0EFIQQgAUUNAQsgASABKAIAIARBAnRqKAIAEQEACyAIRQ0CIAMoAgRBGGogAygCfCAFKAIMIAAoAgwQoQNFDQIgBSgCCCAGQREQvQJHDQEgACgCDCEADAMLEAAhAQJAIAIgAigCECIARgRAQQQhBSACIQAMAQtBBSEFIABFDS0LIAAgACgCACAFQQJ0aigCABEBAAwsCyAFKAIIIAZBDxC9AkYNASAFKAIIIAZBEBC9AkYNAQsgBSgCDCIBKAIAQRBHBEBBACEADAELQQAhACAFKAIIIAEoAghHDQAgBSgCECEIIAMoAnwhBCACIAMoAgQiAC0AODoAACACIAAtADk6AAEgAiAAKAJoNgIEIAIgACgCbCIANgIIIAAEQCAAIAAoAgRBAWo2AgQLIAIgBDYCDCAEKAKEASEAIAJBHGoiBEIANwIAIAJBKGoiC0IANwIAIAJBNGoiCUIANwIAIAJBQGsiCkIANwIAIAJB5ABqIg1CADcCACACQgA3AlAgAkIANwFWIAJB8ABqIgxCADcCACACQQA7ARQgAiAANgIQIAIgBDYCGCACIAs2AiQgAiAJNgIwIAIgCjYCPCACQgA3AkggAiANNgJgIAIgDDYCbCACIAg2AuwBIAJCADcC1AEgAkIANwLcASACQQA2AuQBQdSJC0EANgIAIAJCADcCfCACIAI2AugBQccAIAJB/ABqIAJB7AFqEANB1IkLKAIAIQBB1IkLQQA2AgACQCAAQQFHBEAgAigC1AEiAARAIAIgADYC2AEgABBaCyACKAJUBEBB1IkLQQA2AgBBDUGRyQVB9ooDQcQIQabRABAFQdSJCygCACH/AUHUiQtBADYCACD/AUEBRw0EEAAhAQwFCyACLQAABEAgAkEAOgBRDAILIAItAFFFDQEgAkEBOgBQDAELEAAhASACKALUASIARQ0DIAIgADYC2AEgABBaDAMLQQEhBAJAIAItAFANACACKAIsDQAgAi0AXA0AIAIoAkQNACACLQBJDQAgAi0ASw0AIAItAE0NACACLQBPDQAgAi0AUg0AIAItABUNACACLQBTDQAgAigCdA0AIAItABQNACACKAJoDQAgAi0AXUEARyEECyACKAJwEGAgAigCZBBgIAIoAkAQYCACKAI0EGAgAigCKBBvIAIoAhwQbwJAIAIoAggiAEUNACAAIAAoAgQiCEEBazYCBCAIDQAgACAAKAIAKAIIEQEAIAAQdQtBACEAIAQNACAFKAIQIQAgASgCECEEQdSJC0EANgIAIAJBxO4JNgIAIAIgAjYCEEH/AiAEIAAgAhAEIQhB1IkLKAIAIQBB1IkLQQA2AgACQAJAAkACQAJAAkAgAEEBRwRAAkACQCACIAIoAhAiAEYEQEEEIQQgAiEADAELQQUhBCAARQ0BCyAAIAAoAgAgBEECdGooAgARAQALIAhFDQYgBSgCCCEIQcsBIQBByM8HIQQgBkECaw4EBAECAwULDAkLQbTQByEEDAILQaDRByEEDAELQezRByEECyAEKAIAIQALIAAgCEYEQCABKAIMIQAMAgsgBkEJEL0CIAhGBEAgASEADAILIAUoAgggBkEIEL0CRgRAIAEhAAwCCyAFKAIIIAZBDxC9AkYEQCABIQAMAgsgBSgCCCAGQRAQvQJHDQAgASEADAELIAUoAhAhACABKAIMIQRB1IkLQQA2AgAgAkHE7gk2AgAgAiACNgIQQf8CIAQgACACEAQhCEHUiQsoAgAhAEHUiQtBADYCAAJAIABBAUcEQAJAAkAgAiACKAIQIgBGBEBBBCEEIAIhAAwBC0EFIQQgAEUNAQsgACAAKAIAIARBAnRqKAIAEQEAC0EAIQAgCEUNAiADKAIEQRhqIAMoAnwgASgCDCABKAIQEKEDRQ0CIAUoAgggBkEREL0CRw0BIAEoAhAhAAwCCwwECyAFKAIIIAZBDxC9AkYEQCABIQAMAQsgAUEAIAUoAgggBkEQEL0CRhshAAsgAkHwAWokACAADAMLAAsgAhDfARoMJwsQACEBAkAgAiACKAIQIgBGBEBBBCEFIAIhAAwBC0EFIQUgAEUNJwsgACAAKAIAIAVBAnRqKAIAEQEADCYLIgBFDREgAyAAELUCDBELEAAhBQwMC0HUiQtBADYCAEENIAEgACACIAUQBUHUiQsoAgAhgAJB1IkLQQA2AgAggAJBAUcNEQsQACEFCyAHKALIASIARQ0JIAcgADYCzAEgABBaDAkLQdSJCygCACGBAkHUiQtBADYCACCBAkEBRw0OEAAhBQwIC0HUiQsoAgAhggJB1IkLQQA2AgAgggJBAUcNDRAAIQUMBwtB1IkLQQA2AgBBDSACQeaaAyAFIAAQBQtB1IkLKAIAIYMCQdSJC0EANgIAIIMCQQFHDQsQACEFDAULQdSJCygCACGEAkHUiQtBADYCACCEAkEBRw0KEAAhBQwEC0HUiQtBADYCAEEDEAkMAQtB1IkLQQA2AgBB6O0AEAkLQdSJCygCACGFAkHUiQtBADYCACCFAkEBRw0HEAAhBQwBC0HUiQsoAgAhhgJB1IkLQQA2AgAghgJBAUcNBhAAIQULIAMEQCADEFoLIAZFDQ4gBhBaDA4LIAdB8ABqIgFBAhD/AgJAIAEgBygCXEEIaiICRwRAIAIQWSECQdSJC0EANgIAQcAAIAIgARACGkHUiQsoAgAhhwJB1IkLQQA2AgAghwJBAUYNAQsMAgsMBgsgB0ECNgKAASAHQQE2AnACQCAHQfAAaiIBIAJHBEAgAhBZIQJB1IkLQQA2AgBBwAAgAiABEAIaQdSJCygCACGIAkHUiQtBADYCACCIAkEBRg0BCwwBCwwFCyAHQfAAahBZGiAHKAJcIgFBAjYCBCALKAIAKAIAKAIEQQJHBEAgAEEBOgCBAQsgCyABEHkgAC0AgwEEQCAAQQE6AIIBDAELIABBAToAgwEDQCAAQQA6AIIBIAsgACgCFCgCABDEAiAALQCCAQ0ACyAAQQA6AIMBCyAHQYADaiQADwsQACEAIAdBCGoQWRoMFgsAC0GV2AVBx40CQb4SQbvDAxABAAsQACEAIAdB8ABqEFkaDBMLQe+EBEHmmgNB9gAQYgALIAdB8AFqEFkaDAQLQY/cBUHHjQJBwBJBw/oFEAEACxAAIQAgBRBZGgwPCxAAIQAgAxBZGgwOCyAHQfAAahDfARoLIAUQBwALQfDtBUHFmANBlAZBjd4AEAEAC0HvhARB6YkDQcoAEGIAC0GZsQVB5poDQZgCQaKuBRABAAtB7aYFQeaaA0GhAkGJpAUQAQALEAAhAAwBCxAAIQAgBhBZGgwGCyADEFkaDAULEAAhASAAQQhqEFkaCyABEAcAC0HhzQZBn58DQcMBQfPnBBABAAsQACEAIAYQWRoMAQsQACEAIAQQWRoLIAAQBwAL6h4CE38CfiMAQYABayIDJAACQAJAAkACQAJAIAEoAgRBAUYNACAAQRRqIQUCQCABKAIAQQ9HDQAgASgCDCICKAIEIgRBB08NBCABKAIIIARBAnRB7PwKaigCAEcNACACKAIAQRBHDQAgAigCDCgCBCIGQQdPDQQgAigCCCEIQcsBIQdBlM8HIQQCQAJAAkACQAJAIAZBAmsOBAMAAQIEC0GA0AchBAwCC0Hs0AchBAwBC0G40QchBAsgBCgCACEHCyAHIAhHDQAgAkECNgIEIAIgBkECdEGkgAhqKAIANgIIIAUoAgAoAgAoAgRBAkcEQCAAQQE6AIEBCyAFIAIQeSAALQCDAQRAIABBAToAggEMAgsgAEEBOgCDAQNAIABBADoAggEgBSAAKAIUKAIAEMQCIAAtAIIBDQALIABBADoAgwEMAQsgA0EANgJwIANBADYCYCADIANB0ABqIgI2AkQgA0EDNgI8IANBADYCWCADIANB8ABqNgJAIAMgA0H4AGo2AjggAyADQfwAajYCUCADQoCAgICwAjcDICADIANBOGo2AigCQAJAAkACQAJAAkAgA0EgaiABEOcNBEAgAiADKAJ8QQhqEJ0FIAIgAygCfEEIaiIBRwRAIAEQWSEBQdSJC0EANgIAQcAAIAEgAhACGkHUiQsoAgAhCUHUiQtBADYCACAJQQFGDQoLIANB0ABqEFkaIAMoAnwoAgQiAkEHTw0KIAMoAngiAUECNgIEIAEgAkECdEGkgAhqKAIANgIIIAUoAgAoAgAoAgRBAkcEQCAAQQE6AIEBCyAFIAEQeSAALQCDAQRAIABBAToAggEMCAsgAEEBOgCDAQNAIABBADoAggEgBSAAKAIUKAIAEMQCIAAtAIIBDQALIABBADoAgwEMBwsgA0EANgJwIANBADYCYCADIANB0ABqNgIsIANBCTYCJCADQQA2AlggAyADQfAAajYCKCADIANB+ABqNgIgIAMgA0H8AGo2AlAgA0KAgICAsAI3AzggAyADQSBqNgJAIANBOGogARDnDUUNAiADKAJ8IgIoAhgiBkEHTw0JIAJBCGohBAJAAkACQCAGQQJrDgIBAgALQe+EBEHmmgNBjAEQYgALIAQoAgBBgICAgHhGDQIMAQsgBCkDAEKAgICAgICAgIB/Ug0ADAELIANBOGogBBDVBQJ+AkACQCADKAJIIgJBB08EQEHUiQtBADYCAEENQeHNBkGfnwNBwwFB8+cEEAVB1IkLKAIAIQpB1IkLQQA2AgAgCkEBRg0BDAoLAkACQCACQQJrDgIDAAELIAMpAzgMAwtB1IkLQQA2AgBBiQIQCUHUiQsoAgAhC0HUiQtBADYCACALQQFHDQkLEAAhAAwLCyADNAI4CyEWIANBOGoQWRogFntCAVINASADKAJ8IQILIAIoAgQiBEEHTw0HIAMoAnggBEECdEGU/AdqKAIANgIIIAIoAhgiBkEHTw0HIAJBCGohBAJAAkACQAJAIAZBAmsOAgECAAtB74QEQeaaA0GMARBiAAsgBCgCAEGAgICAeEcNAQwECyAEKQMAQoCAgICAgICAgH9RDQMLIANBOGogBBDVBSADKAJ8KAIEIgJBAmtBBU8EQEHUiQtBADYCAEENQZf7BUHppAJB8wFBlZYEEAVB1IkLKAIAIQxB1IkLQQA2AgAgDEEBRw0GDAILQdSJC0EANgIAQeDtACADQSBqIgRBASACEAhB1IkLKAIAIQ1B1IkLQQA2AgAgDUEBRg0BQdSJC0EANgIAQZYEIANB0ABqIgIgA0E4aiAEEAhB1IkLKAIAIQRB1IkLQQA2AgACQAJAIARBAUcEQCACIAMoAnxBCGoiBEcEQCAEEFkhBEHUiQtBADYCAEHAACAEIAIQAhpB1IkLKAIAIQ5B1IkLQQA2AgAgDkEBRg0CCyADQdAAahBZGiADQSBqEFkaIANBOGoQWRoMBgsQACEADAELEAAhACADQdAAahBZGgsgA0EgahBZGgwICwJAAkACQAJAAkACQCABKAIAIgJBD0cNAAJAIAEoAghBGEcNACADIAE2AjggA0EBOgAgIAMgA0EgajYCVCADIANBOGo2AlAgA0HQAGoiAkEAEOUNIAMtACBFDQAgAkEBEOUNIAMoAjgoAgwiAkUNACACKAIEIAUoAgAoAgAoAgRHBEAgAEEBOgCBAQsgBSACEHkgAC0AgwEEQCAAQQE6AIIBDAsLIABBAToAgwEDQCAAQQA6AIIBIAUgACgCFCgCABDEAiAALQCCAQ0ACyAAQQA6AIMBDAoLIAEoAgAiAkEPRw0AQQ8hAiABKAIIQRRHDQAgASgCDCIEKAIAQQ9HDQAgBCgCCEEYRw0AIAQoAgwgABC+AkEhSQ0BIAEoAgAhAgsgACgCBCgCIA0CIAJBD0cNBCABKAIIQRRHDQMgASgCDCICKAIAQQ9HDQMgAigCDCIEKAIEIgZBB08NCyACKAIIIAZBAnRBiP0KaigCAEcNAyAAKAJ8IQEgBkEVEL0CIQUgA0EIaiICIAQoAgQQ/wJB1IkLQQA2AgBB4e0AIAEgAhACIQZB1IkLKAIAIQ9B1IkLQQA2AgAgD0EBRg0BQdSJC0EANgIAQeLtACABIAUgBCAGEA0hAUHUiQsoAgAhEEHUiQtBADYCACAQQQFGDQFB1IkLQQA2AgBB4+0AIAAgARADQdSJCygCACERQdSJC0EANgIAIBFBAUYNASACEFkaDAgLIARBFTYCCCAEKAIEIAUoAgAoAgAoAgRHBEAgAEEBOgCBAQsgBSAEEHkgAC0AgwEEQCAAQQE6AIIBDAgLIABBAToAgwEDQCAAQQA6AIIBIAUgACgCFCgCABDEAiAALQCCAQ0ACyAAQQA6AIMBDAcLEAAhEiADQQhqEFkaIBIQBwALIAJBD0cNAQsgASgCDCICKAIAQQ9HDQAgAigCCEEYRw0AIAEoAggiBEF+cUEWRw0AIARBFkYgAigCDCICIAAQvgIiBkEfTXFFBEAgBkEgSw0BIARBF0cNAQsgACACELUCDAQLAkAgACgCfC0AhAFBIHFFDQAgASgCAEEPRw0AIAEoAghBFkcNACABKAIMIgIoAgBBD0cNACACKAIIQRhHDQAgAkKDgICAsAY3AgQgACACELUCDAQLAkACQAJAAkAgASgCCCICQX5xQRZHDQAgASgCDCIEKAIAQQxHDQAgBC0ACCEGIAJBFkcEQCAGQQJLDQQgBC0ACQ0CDAQLIAZBBEcNAyAELQAgDQEgBEEBOgAJDAMLAkAgAkEhayIEQQ1LDQBBASAEdEGD4ABxRQ0AAkACQCABKAIMIgQoAgBBDGsOBAECAgACCyAEKAIIQSFrIgZBDUsNAUEBIAZ0QYPgAHFFDQEgBCgCDCIEKAIEIAEoAgRHDQEgACAEELUCDAgLIAQtACANACAELQAIIAEoAgQQ3QJGDQIgASgCCCECCwJAAkAgAkEIaw4NAQECAgICAgICAgICAAILAkAgASgCDCICKAIAQRBHDQAgAigCCEEPayIEQThLDQBCgPj/j4D//D8gBK2Ip0EBcQ0AIAIgBEECdEGY+AdqKAIANgIIIAAgAhC1AgwICyACEIEKIgJFDQEgASgCDBCLBCEFIAEgACgCfCACIAUQ+AQ2AgwgACABELUCDAcLAkACQCABKAIMIgIoAgBBD2sOAgABAgsgAigCBCIEQQdPDQogAigCCCAEQQJ0Qfz5B2ooAgBHDQEgASACKAIMNgIMIAAgARC1AgwHCwJAIAIoAgggAigCBEEFEL0CRwRAIAIoAgggAigCBEEHEL0CRw0BCyACKAIQIQQCfwJAIAIoAgwiBigCAEEJRw0AIAQoAgBBCEcNACAGKAIERQ0AQQEgBCgCCCAGKAIIRg0BGgsgACAGIAQQrAULRQ0AIAAgAhC1AgwHCyAALQCAAUUNACACKAIIIAIoAgRBBBC9AkcNACACKAIMIgQoAgBBDkcNACAEQQhqEIAKRQ0AIAEgAigCEDYCDCAAIAEQtQIMBgsCQCABKAIMIgIoAgBBD0cNACACKAIIIgQgASgCCEcNAAJAAn8CQAJAAkAgBEEGaw4rAAAEBAQEBAQEBAQEBQUCBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUBAQULIAJBDGoMAgsgACgCfC0AhAFBIHENAkGh+AVBx40CQYYjQcEYEAEACyACKAIMIAAQvgJBAUcNAiACQQxqCygCACICRQ0BCyACKAIEIAUoAgAoAgAoAgRHBEAgAEEBOgCBAQsgBSACEHkgAC0AgwEEQCAAQQE6AIIBDAcLIABBAToAgwEDQCAAQQA6AIIBIAUgACgCFCgCABDEAiAALQCCAQ0ACyAAQQA6AIMBDAYLAn8CQAJAAkACQAJAIAEoAghBCmsOLgICAgICAgICAwMDAwMDAwMDAwMAAwEDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAEDCyABKAIMIgEoAgBBD0cNAiABKAIIQSRHDQIgASgCDAwECyABKAIMIgEoAgBBD0cNASABKAIIQSZHDQEgASgCDAwDCyABKAIMIgEoAgBBD0cNACABKAIIQStrQXdLDQELQQAhAQsgAQsiAUUNBSAAIAEQtQIMBQsgBCABKAIENgIEIAAgBBC1AgwECyAEQQM2AgQgBSgCACgCACgCBEEDRwRAIABBAToAgQELIAUgBBB5IAAtAIMBBEAgAEEBOgCCAQwECyAAQQE6AIMBA0AgAEEAOgCCASAFIAAoAhQoAgAQxAIgAC0AggENAAsgAEEAOgCDAQwDCxAAIQAMBgsgAigCBCICQQdPDQQCQAJAAkACQCACQQJrDgICAAELIANC////////////ADcDUAwCC0HvhARB5poDQeMBEGIACyADQf////8HNgJQCyADIAI2AmACQCADQdAAaiICIARHBEAgBBBZIQRB1IkLQQA2AgBBwAAgBCACEAIaQdSJCygCACETQdSJC0EANgIAIBNBAUYNAQsgA0HQAGoQWRoMAQsMAwsgASgCBCAFKAIAKAIAKAIERwRAIABBAToAgQELIAUgARB5IAAtAIMBBEAgAEEBOgCCAQwBCyAAQQE6AIMBA0AgAEEAOgCCASAFIAAoAhQoAgAQxAIgAC0AggENAAsgAEEAOgCDAQsgA0GAAWokAA8LAAsQACEUIANB0ABqEFkaIBQQBwALQeHNBkGfnwNBwwFB8+cEEAEACyADQThqEFkaIAAQBwALixECDX8BfiMAQTBrIgUkAAJAAkACQAJAAkAgASgCBEEBRg0AIAAoAnwiAigChAEiBkEQcUUNASABKAIQIgMoAgBBDkcNACADKAIYIgdBB08NAiAAKAIEIQQCQAJAAkACfgJAAkACQCAHQQJrDgICAAELIAMpAwgMAgsQDwALIAM0AggLIg9QBEAgBC0AOCAELQA5ckUNASABKAIIIQQgAkGoAWoiAkEMQQQQXSIDIAQ2AgggA0ISNwIAIAMgBCgCBEEBRjYCBCABKAIMIQEgAkEMQQQQXSIEIAE2AgggBEISNwIAIAQgASgCBEEBRjYCBCACQSBBBBBdIgFCADcCBCABQQE2AgAgAUIANwIMIAEgAjYCHCABQoCAgIAgNwIUIAEgAkEIQQQQXSICNgIQIAIgAzYCACABKAIQIAQ2AgQgAUECNgIUIAFBAEEAQQAQ5gEMAwsgASgCDCIDKAIAQQ5GDQEgD0IBUg0DIAEoAgghBCABKQIUIQ8gAkGoAWpBOEEIEF0iAUIANwMIIAFCADcDICABIA83AjAgAUECNgIsIAEgAzYCKCABQgE3AxggAUINNwIAIAFCADcDECABQQE6AAggASAENgIkIAEgBCgCBEEBRwR/IAMoAgRBAUYFQQELNgIEIAMoAgRBA0kNAgwHCyABKAIMIgMoAgBBDkcNAgsgAygCGEECRw0EIA9CAX0iD0IPVg0BIAMtAAghAwJ/AkACQAJAAkACfwJAAkAgD6dBAWsODwEJBAkJCQUJCQkJCQkJBgALIAEoAgghBEHUiQtBADYCACAFQQI2AiAgBSADNgIQQQwgAkGoAWoiA0EgQQgQBCECQdSJCygCACEGQdSJC0EANgIAAkAgBkEBRwRAIAJCADcCBCACQQ42AgAgAkIANwIMIAJCADcCFEHUiQtBADYCAEGxBSACQQhqIAVBEGoQAhpB1IkLKAIAIQhB1IkLQQA2AgAgCEEBRw0BCxAAIQAgBUEQagwCCyACIAUoAiA2AgQgBUEQahBZGiABKQIUIQ8gA0E4QQgQXSIBQgA3AwggAUIANwMgIAEgDzcCMCABQQI2AiwgASACNgIoIAFCATcDGCABQg03AgAgAUIANwMQIAFBAToACCABIAQ2AiQgARDYCyABKAIoKAIEQQNJDQcMDAsgASgCCCEEQdSJC0EANgIAIAVBAjYCICAFIANBgQJsNgIQQQwgAkGoAWoiA0EgQQgQBCECQdSJCygCACEJQdSJC0EANgIAIAlBAUcEQCACQgA3AgQgAkEONgIAIAJCADcCDCACQgA3AhRB1IkLQQA2AgBBsQUgAkEIaiAFQRBqEAIaQdSJCygCACEKQdSJC0EANgIAIApBAUcNAgsQACEAIAVBEGoLEFkaIAAQBwALIAIgBSgCIDYCBCAFQRBqEFkaIAEpAhQhDyADQThBCBBdIgFCADcDCCABQgA3AyAgASAPNwIwIAFBAjYCLCABIAI2AiggAUIBNwMYIAFCDTcCACABQgA3AxAgAUECOgAIIAEgBDYCJCABENgLIAEoAigoAgRBA0kNBAwJCyADBEAgBCgCIA0FCyACQQRCACABKAIIAn8jAEEgayIEJAAgBEECNgIYIAQgA0GBgoQIbDYCCEHUiQtBADYCAEEMIAJBqAFqQSBBCBAEIQJB1IkLKAIAIQNB1IkLQQA2AgACQCADQQFGDQAgAkIANwIEIAJBDjYCACACQgA3AgwgAkIANwIUIAIgAkEIaiIDIARBCGoiBkcEfyADEFkhA0HUiQtBADYCAEHAACADIAYQAhpB1IkLKAIAIQtB1IkLQQA2AgAgC0EBRg0BIAQoAhgFQQILNgIEIARBCGoQWRogBEEgaiQAIAIMAQsQACEMIARBCGoQWRogDBAHAAtBAiABKQIUEO4FDAILIAMEQCAEKAIgDQQLIAJBCEIAIAEoAgggAiADrUKBgoSIkKDAgAF+EIIKQQMgASkCFBDuBQwBCyAEKAIgDQIgBkEIcQRAIAUgA61CgYKEiJCgwIABfiIPNwMYIAUgDzcDECACQRBCACABKAIIAn8jAEEgayIDJAAgA0EGNgIYIAMgBSkAGDcDECADIAUpABA3AwhB1IkLQQA2AgBBDCACQagBakEgQQgQBCECQdSJCygCACEEQdSJC0EANgIAAkAgBEEBRg0AIAJCADcCBCACQQ42AgAgAkIANwIMIAJCADcCFCACIAJBCGoiBCADQQhqIgZHBH8gBBBZIQRB1IkLQQA2AgBBwAAgBCAGEAIaQdSJCygCACENQdSJC0EANgIAIA1BAUYNASADKAIYBUEGCzYCBCADQQhqEFkaIANBIGokACACDAELEAAhDiADQQhqEFkaIA4QBwALQQYgASkCFBDuBQwBCyAAKAJ4IQYgASgCCCgCBCEEIAVCADcDACAFQgA3AxAgBSACQQhCACACIAYgBSAEEMYCIgYgASgCCCAEELQKIAIgA61CgYKEiJCgwIABfiIPEIIKQQMgASkCFBDuBTYCCCACQagBakEMQQQQXSIDIAY2AgggA0EINgIAIAMgBDYCBCACQQhCCCADIAIgDxCCCkEDIAEpAhQQ7gUhASAFQQI2AhQgBSABNgIMIAUgBUEIajYCECACIAVBEGpCABDoBgsiAUUNAQsgASgCBCAAQRRqIgIoAgAoAgAoAgRHBEAgAEEBOgCBAQsgAiABEHkgAC0AgwEEQCAAQQE6AIIBDAELIABBAToAgwEDQCAAQQA6AIIBIAIgACgCFCgCABDEAiAALQCCAQ0ACyAAQQA6AIMBCyAFQTBqJAAPC0G09wVBx40CQfwJQfrrAhABAAtB4c0GQZ+fA0HDAUHz5wQQAQALQZmxBUHmmgNBmAJBoq4FEAEAC0GqyANBmpYDQaMDQcfkAxABAAujCwIFfwF+AkACQCABKAIEQQFGDQACQAJAAkAgACgCfCIELQCEAUEQcQRAAkAgACgCBCICLQA4IAItADlyRQ0AIAEoAgwhBQJAAkAgASgCCCIDKAIAQQlHDQAgBSgCAEEIRw0AIAMoAgRFDQAgBSgCCCADKAIIRg0BCyAAIAMgBRCsBUUNASABKAIIIQMgACgCfCEECyAEQagBaiIEQQxBBBBdIgUgAzYCCCAFQhI3AgAgBSADKAIEQQFGNgIEIAEoAgwhAiAEQQxBBBBdIgMgAjYCCCADQhI3AgAgAyACKAIEQQFGNgIEIAEoAhAhAiAEQQxBBBBdIgEgAjYCCCABQhI3AgAgASACKAIEQQFGNgIEIARBIEEEEF0iAkIANwIEIAJBATYCACACQgA3AgwgAiAENgIcIAJCgICAgDA3AhQgAiAEQQxBBBBdIgQ2AhAgBCAFNgIAIAIoAhAgAzYCBEEDIQNBAiEEDAMLIAEoAhAiAygCAEEORw0EIAMoAhgiBEEHTw0BAn4CQAJAAkAgBEECaw4CAgABCyADKQMIDAILEA8ACyADNAIICyIHQhBWDQQgACgCfCEDAkACQAJAAkAgB6ciBEEBaw4QAQEIAQgICAIICAgICAgIAwALIAItADggAi0AOXJFDQcgASgCCCECIANBqAFqIgNBDEEEEF0iBSACNgIIIAVCEjcCAEEBIQQgBSACKAIEQQFGNgIEIAEoAgwhAiADQQxBBBBdIgEgAjYCCCABQhI3AgAgASACKAIEQQFGNgIEIANBIEEEEF0iAkIANwIEIAJBATYCACACQgA3AgwgAiADNgIcIAJCgICAgCA3AhQgAiADQQhBBBBdIgM2AhAgAyAFNgIAQQIhAwwFCyABKAIIIQUgASkCHCEHIAEoAgwhAiADQagBaiIGQTBBCBBdIgNBADoAICADQoyAgIAgNwIAIAMgAjYCJCADQgE3AxggA0IANwMQIANBADoACSADIAQ6AAggAyAHNwIoIAEpAhQhByAGQThBCBBdIgJCADcDCCACQgA3AyAgAiAHNwIwIAJBAjYCLCACIAM2AiggAkIBNwMYIAJCDTcCACACQgA3AxAgAiAEOgAIIAIgBTYCJEEBIQEgAiAFKAIEQQFHBH8gAygCBEEBRgVBAQs2AgQgAygCBEEDSQ0FDAcLIAEoAgghBCABKQIcIQcgASgCDCECIANBqAFqIgVBMEEIEF0iA0EAOgAgIANCjICAgDA3AgAgAyACNgIkIANCATcDGCADQgA3AxAgA0EIOwEIIAMgBzcCKCABKQIUIQcgBUE4QQgQXSICQgA3AwggAkIANwMgIAIgBzcCMCACQQM2AiwgAiADNgIoIAJCATcDGCACQg03AgAgAkIANwMQIAJBCDoACCACIAQ2AiRBASEBIAIgBCgCBEEBRwR/IAMoAgRBAUYFQQELNgIEIAMoAgQiAUECSQ0EIAFBA0YNBAwGCyACKAIgDQQgAy0AhAFBCHFFDQQgASgCCCEEIAEpAhwhByABKAIMIQUgA0GoAWpBMEEIEF0iAkEAOgAgIAJCjICAgOAANwIAIAIgBTYCJCACQgE3AxggAkIANwMQIAJBEDsBCCACIAc3AiggA0EQQgAgBCACQQYgASkCFBDuBSICRQ0EDAMLQbT3BUHHjQJB8glBzBsQAQALQeHNBkGfnwNBwwFB8+cEEAEACyACKAIQIARBAnRqIAE2AgAgAiADNgIUIAJBAEEAQQAQ5gELIAIoAgQgAEEUaiIBKAIAKAIAKAIERwRAIABBAToAgQELIAEgAhB5IAAtAIMBBEAgAEEBOgCCAQ8LIABBAToAgwEDQCAAQQA6AIIBIAEgACgCFCgCABDEAiAALQCCAQ0ACyAAQQA6AIMBCw8LQarIA0GalgNBowNBx+QDEAEAC/8BAQJ/AkAgASgCDCICKAIAQc4ARw0AIAIoAggNACAAKAJ4IAEoAggQ0AIiA0EHSQ0AIAMoAgRBAUcNACADKAIMQQFHDQAgASgCBARAIAEgAigCDCIDNgIMIAMoAgRBAUYEQCABQQE2AgQLIAIgATYCDCACEPgDIAIoAgQgAEEUaiIBKAIAKAIAKAIERwRAIABBAToAgQELIAEgAhB5IAAtAIMBBEAgAEEBOgCCAQ8LIABBAToAgwEDQCAAQQA6AIIBIAEgACgCFCgCABDEAiAALQCCAQ0ACyAAQQA6AIMBDwsgACgCBCIALQA4IAAtADlyRQ0AIAEgAigCDDYCDAsL0CYCJn8BfiMAQeACayICJAAgASAAIAEoAggQ4wMiAzYCCAJAAkACQAJAAkACQCABKAIQIgVFDQACQCADKAIAQQ9HBEAgBSEEDAELIAMoAghBFEcEQCAFIQQMAQsgASADKAIMIgM2AgggASgCDCEEIAEgBTYCDCABIAQ2AhALAkACQCADKAIEQQFGDQAgASgCDCEDQdSJC0EANgIAIAJBxO4JNgIIIAIgAkEIaiIFNgIYQf8CIAMgBCAFEAQhBkHUiQsoAgAhA0HUiQtBADYCAAJAAkACQAJAIANBAUcEQAJAAkAgBSACKAIYIgNGBEBBBCEEIAUhAwwBC0EFIQQgA0UNAQsgAyADKAIAIARBAnRqKAIAEQEACyAGRQ0FIAAoAnwhBCABKAIIIQUgAiAAKAIEIgMtADg6AAggAiADLQA5OgAJIAIgAygCaDYCDCACIAMoAmwiAzYCECADBEAgAyADKAIEQQFqNgIECyACIAQ2AhQgBCgChAEhAyACQSRqIgRCADcCACACQTBqIgZCADcCACACQTxqIgdCADcCACACQcgAaiIIQgA3AgAgAkHsAGoiCUIANwIAIAJCADcCWCACQgA3AV4gAkH4AGoiCkIANwIAIAJBADsBHCACIAM2AhggAiAENgIgIAIgBjYCLCACIAc2AjggAiAINgJEIAJCADcCUCACIAk2AmggAiAKNgJ0IAIgBTYClAIgAkIANwLYASACQgA3AuABIAJBADYC6AFB1IkLQQA2AgAgAkIANwKAASACIAJBCGo2AuwBQccAIAJBgAFqIAJBlAJqEANB1IkLKAIAIRBB1IkLQQA2AgAgEEEBRg0CIAIoAtgBIgMEQCACIAM2AtwBIAMQWgsgAigCXEUNAUHUiQtBADYCAEENQZHJBUH2igNBxAhBptEAEAVB1IkLKAIAIRFB1IkLQQA2AgAgEUEBRg0DDAkLEAAhAQJAIAIoAhgiACACQQhqIgRGBEBBBCEDIAQhAAwBC0EFIQMgAEUNCAsgACAAKAIAIANBAnRqKAIAEQEADAcLIAItAAgEQCACQQA6AFkMBQsgAi0AWUUNBCACQQE6AFgMBAsQACEBIAIoAtgBIgBFDQEgAiAANgLcASAAEFoMAQsQACEBCyACQQhqEN8BGiABEAcACyAAQRRqIQcCQCABKAIEQQFGDQAgASgCDCIDKAIEQQFGDQAgASgCECIEKAIEQQFGDQAgAkEANgIYIAJBADYCECACIAJBlAJqNgIIAkACQCAEKAIAQQ5HDQAgAiAENgKUAiACQYABaiAEQQhqEHohBUHUiQtBADYCAEHc7QAgAkEQaiAFEAIhE0HUiQsoAgAhEkHUiQtBADYCACASQQFGDQcgBRBZGiATRQ0AIAMoAgBBD0cNACADKAIMIgYoAgQiBUEHTw0IIAMoAgggBUECdEHAgAhqKAIARg0BCyABKAIQIQMgASgCDCEEIAJBADYCGCACQQA2AhAgAiACQZQCajYCCCAEKAIAQQ5HDQEgAiAENgKUAiACQYABaiAEQQhqEHohBUHUiQtBADYCAEHc7QAgAkEQaiAFEAIhFUHUiQsoAgAhFEHUiQtBADYCACAUQQFGDQYgBRBZGiAVRQ0BIAMoAgBBD0cNASADKAIMIgYoAgQiBEEHTw0HIAMoAgggBEECdEHAgAhqKAIARw0BIAYoAgQhBQsCQAJAAkAgASgCDCADRwRAIAIoApQCIgQoAhgiBkEHTw0KAn4CQAJAIAZBAmsOAgEABAsgBCkDCAwBCyAENQIICyEoIAJBCGoiBEEBICinayAFEMsDIAQgAigClAJBCGoiBkcEQCAGEFkhBkHUiQtBADYCAEHAACAGIAQQAhpB1IkLKAIAIRZB1IkLQQA2AgAgFkEBRg0MCyACQQhqEFkaIAIoApQCIgYgBTYCBAsgASAGNgIMIAEoAhAgA0YEQCADKAIMIQYMAwsgAigClAIiBigCGCIEQQdPDQkgBEECaw4CAQEACxAPAAsgAkEIaiIEQQEgBigCCGsgBRDLAyAEIAIoApQCQQhqIgZHBEAgBhBZIQZB1IkLQQA2AgBBwAAgBiAEEAIaQdSJCygCACEXQdSJC0EANgIAIBdBAUYNCQsgAkEIahBZGiACKAKUAiIGIAU2AgQLIAEgBjYCECADIAE2AgwgASAFNgIEAkAgBQ0AIAEoAggoAgRBAUcEQCAGRQ0BIAEoAgwoAgRBAUcNASAGKAIEQQFHDQELIAFBATYCBAsgAygCBCAHKAIAKAIAKAIERwRAIABBAToAgQELIAcgAxB5IAAtAIMBBEAgAEEBOgCCAQwDCyAAQQE6AIMBA0AgAEEAOgCCASAHIAAoAhQoAgAQxAIgAC0AggENAAsgAEEAOgCDAQwCCyACQQA2AsQCIAJCADcCvAIgAkEANgK0AiACQfgBaiEJIAJBuAJqIQogAkGYAmohCyACQYQBaiEMIAJBDGohDgJAAkACQAJAAkACQAJAA0AgASgCDCIDKAIAIgRBAWtBA0kNBiAEQTNrQQJJDQYgASgCECEFQdSJC0EANgIAIAIgBTYC0AIgAiADNgLMAiACQdj3BzYCyAIgAiACQcgCaiIENgLYAkH/AiADIAUgBBAEIQVB1IkLKAIAIQNB1IkLQQA2AgACQCADQQFHBEACQAJAIAQgAigC2AIiA0YEQEEEIQYgBCEDDAELQQUhBiADRQ0BCyADIAMoAgAgBkECdGooAgARAQALIAUNAQwICxAAIQECQCACKALYAiIAIAJByAJqIgRGBEBBBCEDIAQhAAwBC0EFIQMgAEUNCQsgACAAKAIAIANBAnRqKAIAEQEADAgLIAEoAgwhA0HUiQtBADYCAEGaFiACQQhqIAMQAiEDQdSJCygCACEYQdSJC0EANgIAIBhBAUYNBQJAAkAgAygCACACKAIgIAIoAhxrQQJ1akEBRgRAIAEoAhAhBEHUiQtBADYCAEGaFiACQYABaiAEEAIhBEHUiQsoAgAhBUHUiQtBADYCAAJAIAVBAUcEQCADKAIAIAIoAiAgAigCHCINa0ECdWoiBkUEQEHUiQtBADYCAEENQZuPBkH/lwNBygBBhTIQBUHUiQsoAgAhGUHUiQtBADYCACAZQQFHDREQACEBDAkLIAQoAgAgAigCmAEgAigClAEiBWtBAnVqIghFBEBB1IkLQQA2AgBBDUGbjwZB/5cDQcoAQYUyEAVB1IkLKAIAIRpB1IkLQQA2AgAgGkEBRw0REAAhAQwJCyABKAIMKAIEIg8gASgCECIEKAIERg0BQdSJC0EANgIAQQ1B1+gDQceNAkHoKEGKFxAFQdSJCygCACEbQdSJC0EANgIAIBtBAUcNEBAAIQEMCAsQACEBDAgLQQAhAyAPQQFGIAEoAgRBAUdzIA4gBkECdEEEayIPaiANIA9qQRBrIAZBBUkbKAIAKAIAIgYoAgQgDCAIQQJ0QQRrIg1qIAUgDWpBEGsgCEEFSRsoAgAoAgAiCCgCBEZxIg0EQCABIAg2AhAgASAGNgIMIAgoAgQhAyAGKAIEIQVB1IkLQQA2AgBBPiAFIAMQAiEDQdSJCygCACEcQdSJC0EANgIAIBxBAUYNBiABIAM2AgQCQCADDQAgASgCCCgCBEEBRw0AIAFBATYCBAtB1IkLQQA2AgBBmhYgAkGUAmogBBACIR5B1IkLKAIAIR1B1IkLQQA2AgAgHUEBRg0DIB4oAgAgAigCrAIgAigCqAIiBWtBAnVqIgNFBEBB1IkLQQA2AgBBDUGbjwZB/5cDQcoAQYUyEAVB1IkLKAIAIR9B1IkLQQA2AgAgH0EBRw0QEAAhASACKAKoAiIARQ0IIAIgADYCrAIgABBaDAgLIAsgA0ECdEEEayIGaiAFIAZqQRBrIANBBUkbKAIAIAE2AgAgAigCqAIiAwRAIAIgAzYCrAIgAxBaCwJAQQAgAigCtAIiA2sgAigCwAIiBSACKAK8AiIGa0ECdUYNAAJ/IAUgBkYEQCADRQRAQdSJC0EANgIAQQ1B3sQFQbCUA0HaAEH9+wIQBUHUiQsoAgAhIEHUiQtBADYCACAgQQFHDRMQACEBDAsLIANBAnQgCmpBBGsMAQsgBUEEawsoAgAhA0HUiQtBADYCAEGaFiACQfQBaiADEAIhIkHUiQsoAgAhIUHUiQtBADYCACAhQQFGDQYgIigCACACKAKMAiACKAKIAiIFa0ECdWoiA0UEQEHUiQtBADYCAEENQZuPBkH/lwNBygBBhTIQBUHUiQsoAgAhI0HUiQtBADYCACAjQQFHDREQACEBIAIoAogCIgBFDQkgAiAANgKMAiAAEFoMCQsgCSADQQJ0QQRrIgZqIAUgBmpBEGsgA0EFSRsoAgAgBDYCACACKAKIAiIDRQ0AIAIgAzYCjAIgAxBaC0HUiQtBADYCAEHd7QAgAkG0AmogBBADQdSJCygCACEkQdSJC0EANgIAICRBAUYNBiACKAKUASEFQQIhAwsgBQRAIAIgBTYCmAEgBRBaCyANDQELQQAhAwsgAigCHCIEBEAgAiAENgIgIAQQWgsgAw0BDAcLCxAAIQEMAgsQACEBDAELEAAhAQsgAigClAEiAEUNACACIAA2ApgBIAAQWgsgAigCHCIARQ0CIAIgADYCICAAEFoMAgsQACEBDAELAkACQEEAIAIoArQCayACKALAAiACKAK8AiIBa0ECdUYNACACKAK4AiIDKAIEIAcoAgAoAgAoAgRHBEAgAEEBOgCBAQtB1IkLQQA2AgBB3u0AIAcgAxADQdSJCygCACEDQdSJC0EANgIAAkAgA0EBRwRAIAAtAIMBRQ0BIABBAToAggEMAgsQACEBDAMLIABBAToAgwEDQCAAQQA6AIIBIAAoAhQoAgAhA0HUiQtBADYCAEHf7QAgByADEANB1IkLKAIAISVB1IkLQQA2AgAgJUEBRg0CIAAtAIIBDQALIABBADoAgwELIAFFDQMgARBaDAMLEAAhAQsgAigCvAIiAEUNAiAAEFogARAHAAtBASEFAkAgAi0AWA0AIAIoAjQNACACLQBkDQAgAigCTA0AIAItAFENACACLQBTDQAgAi0AVQ0AIAItAFcNACACLQBaDQAgAi0AHQ0AIAItAFsNACACKAJ8DQAgAi0AHA0AIAIoAnANACACLQBlQQBHIQULIAIoAngQYCACKAJsEGAgAigCSBBgIAIoAjwQYCACKAIwEG8gAigCJBBvAkAgAigCECIDRQ0AIAMgAygCBCIEQQFrNgIEIAQNACADIAMoAgAoAggRAQAgAxB1CwJAAkACQAJAAkACQAJ/IAEoAgRBAk8EQCAAQRRqIQMgBSABKAIMIgQoAgQiBkEBRiIHckUNAyAAKAJ8IgYgB0UNARogBkGoAWoiB0EgQQQQXSIEQgA3AgQgBEEBNgIAIARCADcCDCAEQgA3AhQgBCAHNgIcIARBEGohCCAFDQUgASgCDCEKQQAhBkECIQUMBgsgAEEUaiEDIAVFDQEgACgCfAshBSABKAIIIQYgBUGoAWpBDEEEEF0iBCAGNgIIIARCEjcCACAEIAYoAgRBAUY2AgQgBSAEIAEoAgxCABDKAiIBKAIEIAMoAgAoAgAoAgRHBEAgAEEBOgCBAQsgAyABEHkgAC0AgwFFDQIgAEEBOgCCAQwGCyABKAIMIgQoAgQhBgsgAygCACgCACgCBCAGRwRAIABBAToAgQELIAMgBBB5IAAtAIMBBEAgAEEBOgCCAQwFCyAAQQE6AIMBA0AgAEEAOgCCASADIAAoAhQoAgAQxAIgAC0AggENAAsgAEEAOgCDAQwECyAAQQE6AIMBA0AgAEEAOgCCASADIAAoAhQoAgAQxAIgAC0AggENAAsgAEEAOgCDAQwDCyAIIAYgASgCCBCvBBD9CCABKAIMIQogBCgCECEGIAQoAhQiByAEKAIYRwRAIAYhBQwCCyAHQQF0QQJqIQUgBCgCHCEHCyAEIAU2AhggBCAHIAVBAnRBBBBdIgU2AhAgBCgCFCIHRQRAQQAhBwwBC0EAIQUgB0EETwRAIAdBfHEhCwNAIAVBAnQiCSAIKAIAaiAGIAlqKAIANgIAIAlBBHIiDCAIKAIAaiAGIAxqKAIANgIAIAlBCHIiDCAIKAIAaiAGIAxqKAIANgIAIAlBDHIiCSAIKAIAaiAGIAlqKAIANgIAIAVBBGoiBSALRw0ACwsgB0EDcSIJBEADQCAFQQJ0IgsgCCgCAGogBiALaigCADYCACAFQQFqIQUgDkEBaiIOIAlHDQALCyAIKAIAIQULIAUgB0ECdGogCjYCACAEIAdBAWo2AhQgBCABKAIEQQFBABDmASAEKAIEIAMoAgAoAgAoAgRHBEAgAEEBOgCBAQsgAyAEEHkgAC0AgwEEQCAAQQE6AIIBDAELIABBAToAgwEDQCAAQQA6AIIBIAMgACgCFCgCABDEAiAALQCCAQ0ACyAAQQA6AIMBCyACQeACaiQADwsgARAHAAsACxAAISYgBRBZGiAmEAcAC0HhzQZBn58DQcMBQfPnBBABAAsQACEnIAJBCGoQWRogJxAHAAvzAQEIfwJAIAAoAnwtAIUBQQRxRQ0AIAEoAhQiBEUNAANAAkAgASgCECICIAVBAnRqKAIAIgcoAgBBCUcNACAHKAIMIggoAgBBwABHDQAgBUEBaiIGIARPDQAgAiAGQQJ0aigCACICKAIAQcIARw0AIAIoAgwiAygCAEEIRw0AA0AgAygCCCIDIAcoAghHDQEgACAIIAIgAxDoDSEJIAEoAhQhBCAJRQ0BIAJCFjcCACAGQQFqIgYgBE8NASABKAIQIAZBAnRqKAIAIgIoAgBBwgBHDQEgAigCDCIDKAIAQQhGDQALCyAFQQFqIgUgBEkNAAsLC9ATARt/IwBBoAFrIgMkACAAIAAoAgQiAi0AOzoAgAEgA0IANwJkIANBADYCbCADQgA3AgwgAyACQRhqNgJ8IAMgAEGEAWo2AnggACgCfCECIAMgATYCcCADIAI2AnRB2wkhB0HhlQYhCQJAAkACQAJAAkAgASgCHCICQRBJDQAgAigCEA0AAkACfwJAIAIoAhQiAkEHSQ0AIAIoAgQNACACKAIMIAIoAghrQQJ1DAELIAJBAEcLIAEoAiggASgCJGtBAnVqIgUgACgCiAEiAiAAKAKEASIGayIKQQN1IgRLBEAgBSAEayIIIAAoAowBIgQgAmtBA3VNBEAgAkEAIAhBA3QiBfwLACAAIAIgBWo2AogBDAILIAVBgICAgAJPBEBB1IkLQQA2AgBBwusAEAlB1IkLKAIAIQ1B1IkLQQA2AgAgDUEBRg0FDAcLQf////8BIAQgBmsiBEECdSILIAUgBSALSRsgBEH4////B08bIgVBgICAgAJPBEBB1IkLQQA2AgBBAxAJQdSJCygCACEOQdSJC0EANgIAIA5BAUcNBwwFC0HUiQtBADYCAEEEIAVBA3QiCxAGIQVB1IkLKAIAIQ9B1IkLQQA2AgAgD0EBRg0EIAUgCmoiBEEAIAhBA3QiCPwLACAEIAhqIQggAiAGRwRAA0AgBEEIayIEIAJBCGsiAikCADcCACACIAZHDQALIAAoAoQBIQILIAAgBSALajYCjAEgACAINgKIASAAIAQ2AoQBIAJFDQEgAhBaDAELIAQgBU0NACAAIAYgBUEDdGo2AogBCyAAQRRqIQsgA0EQaiEKQQAhAgNAIAEoAhwiBUEQSQ0BIAUoAhANAQJ/AkAgBSgCFCIFQQdJIgQNACAFKAIEDQAgBSgCDCAFKAIIa0ECdQwBCyAFQQBHCyABKAIoIAEoAiRrQQJ1IgZqIAJNBEBB0PgCIQZB05kDIQhBACADKAIQayADKAJoIAMoAmRrQQN1RwRAQcgCIQdBzcoFIQkMBAsgASgCMEUEQEGu9wIhBkG5AiEHQYGDAiEJDAQLQdSJC0EANgIAQcPrACAKQcTrACABQTBqIgoQCEHUiQsoAgAhEEHUiQtBADYCACAQQQFGDQRBACADKAIQIgRrIAMoAmgiAiADKAJkIgVrQQN1RwRAIANBFGohDANAAkAgAiAFRgRAIARFBEBB/fsCIQZB2gAhB0GwlAMhCEHexAUhCQwICyAMIARBAWsiBUEDdGoiBCgCBCECIAQoAgAhBCADIAU2AhAMAQsgAkEIayIFKAIAIQQgBSgCBCECIAMgBTYCaAsgAyACNgIMIAIoAgBFBEBBzQIhB0H1ggIhCQwGC0HUiQtBADYCACAEIANBDGogAhADQdSJCygCACERQdSJC0EANgIAIBFBAUYNBkEAIAMoAhAiBGsgAygCaCICIAMoAmQiBWtBA3VHDQALCyADKAJ4IQZBACECA0AgASgCHCIEQRBJDQMgBCgCEA0DAn8CQCAEKAIUIgRBB0kNACAEKAIEDQAgBCgCDCAEKAIIa0ECdQwBCyAEQQBHCyABKAIoIAEoAiRrQQJ1aiACSwRAIAYoAgAgAkEDdGoiBCgCBEF/RgRAIARBADYCBAsgAkEBaiECDAELCyADQQA2AnAgBQRAIAMgBTYCaCAFEFoLIAsgChCZCAJAAkACQAJAAkAgAC0AgQFFDQAgA0IANwIYIANBADYCgAEgA0EgaiICQgA3AgAgA0IANwKUASADQYCAgPwDNgKcASADQbjDAy8AADsBHCADQgA3AhAgA0IANwJ4IANCADcCjAEgA0HM7Ak2AgwgA0GwwwMpAAA3AhQgA0EKOgAfIAMgACgCfDYCiAEgAyABNgKEAUHUiQtBADYCAEHECiACIAoQA0HUiQsoAgAhEkHUiQtBADYCACASQQFGDQEgA0HM7Ak2AgwgA0IANwKEASADKAKUASIFBEADQCAFKAIAIRQgBSgCGCICBEADQCACKAIAIRMgAhBaIBMiAg0ACwsgBSgCECECIAVBADYCECACBEAgAhBaCyAFEFogFCIFDQALCyADKAKMASECIANBADYCjAEgAgRAIAIQWgsgAygCeCICBEAgAyACNgJ8IAIQWgsgA0GQ7Qk2AgwgAywAH0EATg0AIAMoAhQQWgsgACgCBCECIANCADcCbCADQgA3AmQgA0EANgJ0IANCADcCDCADIAJBGGo2AnggAyABNgJwQdOZAyEHIAEoAjANAUGu9wIhAkG5AiEEQYGDAiEBDAILEAAhFSADQQxqEMgCGiAVEAcAC0HUiQtBADYCAEHF6wAgA0EQakHG6wAgChAIQdSJCygCACEWQdSJC0EANgIAIBZBAUYNAQJAQQAgAygCECIFayADKAJoIgIgAygCZCIEa0EDdUcEQCADQRRqIQkDQAJAIAIgBEYEQCAFRQRAQf37AiECQdoAIQRBsJQDIQdB3sQFIQEMBgsgCSAFQQFrIgVBA3RqIgQoAgQhAiAEKAIAIQQgAyAFNgIQDAELIAJBCGsiBSgCACEEIAUoAgQhAiADIAU2AmgLIAMgAjYCDCACKAIARQRAQdD4AiECQc0CIQRB9YICIQEMBAtB1IkLQQA2AgAgBCADQQxqIAIQA0HUiQsoAgAhF0HUiQtBADYCACAXQQFGDQJBACADKAIQIgVrIAMoAmgiAiADKAJkIgRrQQN1Rw0ACwsgA0EANgJwIAQEQCADIAQ2AmggBBBaCyABIAAoAnwQggUgA0GgAWokAA8LDAELQdSJC0EANgIAQQ0gASAHIAQgAhAFQdSJCygCACEYQdSJC0EANgIAIBhBAUcNBwsQACECIAMoAmQiAEUNBSADIAA2AmggABBaDAULIAIgBgJ/AkAgBA0AIAUoAgQNACAFKAIMIAUoAghrQQJ1DAELIAVBAEcLIgRqTwRAQaPoAiEGQYMLIQdBpKQCIQhB5oIGIQkMAwsgAygCeCgCACACQQN0aiEFAkAgAiAESQRAQdSJC0EANgIAQbkBIAEgAhACIQRB1IkLKAIAIRlB1IkLQQA2AgAgGUEBRg0BIAUgBEECa0EETQR/QdSJC0EANgIAQYgMIAQQBiEbQdSJCygCACEaQdSJC0EANgIAIBpBAUYNAiAbQQN0BUF/CzYCACAFQX82AgQgAkEBaiECDAILIAVBADYCBCAFQQA2AgAgAkEBaiECDAELCwwCC0G4swIhCEGP4gMhBgtB1IkLQQA2AgBBDSAJIAggByAGEAVB1IkLKAIAIRxB1IkLQQA2AgAgHEEBRw0CCxAAIQIgAygCZCIARQ0AIAMgADYCaCAAEFogAhAHAAsgAhAHAAsAC60CAQR/IwBBIGsiAiQAAkACQAJAIAFBB0kNACABKAIEQQFHDQAgASgCDEEBRw0AIAEoAgghASAAQagBakEIQQQQXSIAQik3AgACfwJAIAFBEE8EQCABKAIQIgFBBEkNAUH4xQRBuLMCQYELEGIACyABQQJ0Qdy7B2oMAQsgAUECdEGcvAdqCygCACIBQRBPBEAgAS0AAA0CCyACQQE2AhggAiABNgIUIAJBATYCECACQQA6AAxB1IkLQQA2AgBBB0HYnQsgAkEMahACIQFB1IkLKAIAIQRB1IkLQQA2AgAgBEEBRg0CIAAgATYCBCACQSBqJAAgAA8LQaaaBkGntwJB2QxBz+oCEAEAC0H+0AZBuLMCQegFQbiMBBABAAsQACEFIAJBDGoQdyAFEAcAC4oFAQh/IwBBEGsiByQAIAcgATYCBAJAIAAoAmQiAkUNACACKAJsRQ0AIAJB4ABqIQkCQCACKAJkIgRFDQAgAUGV08feBWwiAkEYdiACc0GV08feBWxB1Mye+gZzIgJBDXYgAnNBldPH3gVsIgJBD3YgAnMhBgJAIARpIgVBAU0EQCAEQQFrIAZxIQIMAQsgBiICIARJDQAgAiAEcCECCyAJKAIAIAJBAnRqKAIAIgNFDQAgAygCACIDRQ0AIAVBAU0EQCAEQQFrIQUDQAJAIAMoAgQiCCAGRwRAIAUgCHEgAkYNAQwECyADKAIIIAFGDQQLIAMoAgAiAw0ACwwBCwNAAkAgAygCBCIFIAZHBEAgBCAFTQR/IAUgBHAFIAULIAJGDQEMAwsgAygCCCABRg0DCyADKAIAIgMNAAsLIARFDQAgACgCACgCACIIQZXTx94FbCICQRh2IAJzQZXTx94FbEHUzJ76BnMiAkENdiACc0GV08feBWwiAkEPdiACcyEGAkAgBGkiBUEBTQRAIAYgBEEBa3EhAgwBCyAGIgIgBEkNACACIARwIQILIAkoAgAgAkECdGooAgAiA0UNACADKAIAIgNFDQACQCAFQQFNBEAgBEEBayEEA0ACQCAGIAMoAgQiBUcEQCAEIAVxIAJGDQEMBQsgAygCCCAIRg0DCyADKAIAIgMNAAsMAgsDQAJAIAYgAygCBCIFRwRAIAQgBU0EfyAFIARwBSAFCyACRg0BDAQLIAMoAgggCEYNAgsgAygCACIDDQALDAELIAdBCGogCSABIAdBBGoQeCAHKAIIIgIgAygCFDYCFCACIAMpAgw3AgwLIAAoAgAgATYCACAHQRBqJAAgAQvJCAEJfyMAQSBrIgckAAJAIAAoAmwiAygC4AEiAkUNACABQZXTx94FbCIEQRh2IARzQZXTx94FbEHUzJ76BnMiBEENdiAEc0GV08feBWwiBEEPdiAEcyEFAkAgAmkiBkEBTQRAIAJBAWsgBXEhBAwBCyAFIgQgAkkNACAEIAJwIQQLIAMoAtwBIARBAnRqKAIAIgNFDQAgAygCACIDRQ0AAkAgBkEBTQRAIAJBAWshAgNAAkAgBSADKAIEIgZHBEAgAiAGcSAERg0BDAULIAMoAgggAUYNAwsgAygCACIDDQALDAILA0ACQCAFIAMoAgQiBkcEQCACIAZNBH8gBiACcAUgBgsgBEYNAQwECyADKAIIIAFGDQILIAMoAgAiAw0ACwwBCyABKAIEIQQgACgCZCEKIAdCADcDCCAHQgA3AxggCiAHQQhqIAQQxgIhBCADKAIMIgIgAygCECIFRwRAIAEoAgQhAwNAIAIoAgAiBiADNgIEIAYgBDYCCCACQQRqIgIgBUcNAAsLIAEoAgQhBSAAKAJoQagBakEQQQQQXSIGIAE2AgwgBiAENgIIIAZBCTYCACAGIAU2AgQgBkEBIAUgASgCBEEBRhs2AgQgByAGNgIUAkAgACgCZCIBRQ0AIAEoAmxFDQAgAUHgAGohCQJAIAEoAmQiA0UNACAGQZXTx94FbCIBQRh2IAFzQZXTx94FbEHUzJ76BnMiAUENdiABc0GV08feBWwiAUEPdiABcyEFAkAgA2kiAUEBTQRAIANBAWsgBXEhBAwBCyAFIgQgA0kNACAEIANwIQQLIAkoAgAgBEECdGooAgAiAkUNACACKAIAIgJFDQAgAUEBTQRAIANBAWshAQNAAkAgAigCBCIIIAVHBEAgASAIcSAERg0BDAQLIAIoAgggBkYNBAsgAigCACICDQALDAELA0ACQCACKAIEIgEgBUcEQCABIANPBH8gASADcAUgAQsgBEYNAQwDCyACKAIIIAZGDQMLIAIoAgAiAg0ACwsgA0UNACAAKAIAKAIAIghBldPH3gVsIgFBGHYgAXNBldPH3gVsQdTMnvoGcyIBQQ12IAFzQZXTx94FbCIBQQ92IAFzIQUCQCADaSIBQQFNBEAgBSADQQFrcSEEDAELIAUiBCADSQ0AIAQgA3AhBAsgCSgCACAEQQJ0aigCACICRQ0AIAIoAgAiAkUNAAJAIAFBAU0EQCADQQFrIQEDQAJAIAUgAigCBCIDRwRAIAEgA3EgBEYNAQwFCyACKAIIIAhGDQMLIAIoAgAiAg0ACwwCCwNAAkAgBSACKAIEIgFHBEAgASADTwR/IAEgA3AFIAELIARGDQEMBAsgAigCCCAIRg0CCyACKAIAIgINAAsMAQsgB0EYaiAJIAYgB0EUahB4IAcoAhgiASACKAIUNgIUIAEgAikCDDcCDAsgACgCACAGNgIACyAHQSBqJAAL3R4BDn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAIgIoAgAOXgABAgMEBQYHCAkKCwwNHh8gISIjJCU1Ng4PEBESExQVFhcYGRobHB03JicoKSorLC0uLzAxMjM0ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXABdC0GY/QNB5bMDQeoBEGIACyAAQbXpACABEFggAigCAEEBRw1cIAIoAhQiAUEATA1bIABBBGohBANAIAFBAWsiACACKAIUTw1eIAIoAhAgAEECdGoiAygCAEUNXyAEQe7nACADEFsgAUEBSyEGIAAhASAGDQALDFsLIABBt+kAIAEQWCACKAIAQQJHDVsgAigCEARAIABBBGpB7ucAIAJBEGoQWwsMYAsgAEG46QAgARBYIAIoAgBBA0cNWgxjCyAAQbnpACABEFggAigCAEEERw1ZIAIoAhQEQCAAQQRqQe7nACACQRRqEFsLIAIoAhBFDVggAEEEakHu5wAgAkEQahBbDwsgAEG66QAgARBYIAIoAgBBBUcNWCAAQe7nACACQSRqEFggAigCIEUNVyAAQQRqQe7nACACQSBqEFsPCyAAQe7qACABEFggAigCAEEGRw1XIAIoAgwiAUEATA1WIABBBGohBANAIAFBAWsiACACKAIMTw1ZIAIoAgggAEECdGoiAygCAEUNWiAEQe7nACADEFsgAUEBSyEHIAAhASAHDQALDFYLIABB7+oAIAEQWCACKAIAQQdHDVYgAEHu5wAgAkEcahBYIAIoAhAiAUEATA1VIABBBGohBANAIAFBAWsiACACKAIQTw1YIAIoAgwgAEECdGoiAygCAEUNWSAEQe7nACADEFsgAUEBSyEIIAAhASAIDQALDFULIABB8OoAIAEQWCACKAIAQQhGDVQMVQsgAEHx6gAgARBYIAIoAgBBCUcNVAxgCyAAQfLqACABEFggAigCAEEKRg1SDFMLIABB8+oAIAEQWCACKAIAQQtHDVIMWwsgAEH06gAgARBYIAIoAgBBDEcNUQxfCyAAQfXqACABEFggAigCAEENRw1QDF0LIABB9uoAIAEQWCACKAIAQRhHDU8MXgsgAEH36gAgARBYIAIoAgBBGUcNTiAAQe7nACACQSBqEFgMXQsgAEH46gAgARBYIAIoAgBBGkcNTQxUCyAAQfnqACABEFggAigCAEEbRw1MDFQLIABB+uoAIAEQWCACKAIAQRxGDUoMSwsgAEH76gAgARBYIAIoAgBBHUcNSgxWCyAAQfzqACABEFggAigCAEEeRw1JIABB7ucAIAJBFGoQWAxVCyAAQf3qACABEFggAigCAEEfRw1IDE0LIABB/uoAIAEQWCACKAIAQSBHDUcMUQsgAEH/6gAgARBYIAIoAgBBIUcNRgxRCyAAQYDrACABEFggAigCAEEiRw1FIABB7ucAIAJBIGoQWA8LIABBgesAIAEQWCACKAIAQSNHDUQMUQsgAEGC6wAgARBYIAIoAgBBJEcNQwxKCyAAQYPrACABEFggAigCAEElRg1BDEILIABBhOsAIAEQWCACKAIAQSZHDUEMRQsgAEGF6wAgARBYIAIoAgBBJ0cN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EFggAigCAEE1Rw0rIAIoAhQiAUEATA0qIABBBGohBANAIAFBAWsiACACKAIUTw0tIAIoAhAgAEECdGoiAygCAEUNLiAEQennACADEFsgAUEBSyEKIAAhASAKDQALDCoLIABB1ugAIAEQWCACKAIAQTZGDSkMKgsgAEHH6gAgARBYIAIoAgBBN0cNKQw5CyAAQcjqACABEFggAigCAEEWRg0nDCgLIABB1+gAIAEQWCACKAIAQRdGDSYMJwsgAEHJ6gAgARBYIAIoAgBBKEYNJQwmCyAAQcrqACABEFggAigCAEE4Rw0lIAIoAgwiAUEATA0kIABBBGohBANAIAFBAWsiACACKAIMTw0nIAIoAgggAEECdGoiAygCAEUNKCAEQennACADEFsgAUEBSyELIAAhASALDQALDCQLIABBy+oAIAEQWCACKAIAQTlHDSQMNAsgAEHM6gAgARBYIAIoAgBBOkcNIwwzCyAAQc3qACABEFggAigCAEE7Rw0iDDILIABBzuoAIAEQWCACKAIAQTxHDSEgAEHp5wAgAkEYahBYIAIoAgwiAUEATA0gIABBBGohBANAIAFBAWsiACACKAIMTw0jIAIoAgggAEECdGoiAygCAEUNJCAEQennACADEFsgAUEBSyEMIAAhASAMDQALDCALIABBz+oAIAEQWCACKAIAQT1HDSAMMAsgAEHQ6gAgARBYIAIoAgBBPkcNHwwvCyAAQdjoACABEFggAigCAEE/Rw0eIABB6ecAIAJBFGoQWA8LIABB0eoAIAEQWCACKAIAQcAARw0dIAIoAgwiAUEATA0cIABBBGohBANAIAFBAWsiACACKAIMTw0fIAIoAgggAEECdGoiAygCAEUNICAEQennACADEFsgAUEBSyENIAAhASANDQALDBwLIABB0uoAIAEQWCACKAIAQcEARw0cDCgLIABB0+oAIAEQWCACKAIAQcIARw0bDCYLIABB1OoAIAEQWCACKAIAQcMARw0aIABB6ecAIAJBDGoQWCACKAIIRQ0ZDCsLIABB1eoAIAEQWCACKAIAQcQARw0ZDCELIABB1uoAIAEQWCACKAIAQcUARw0YDCALIABB1+oAIAEQWCACKAIAQcYARw0XIAIoAgwiAUEATA0WIABBBGohBANAIAFBAWsiACACKAIMTw0ZIAIoAgggAEECdGoiAygCAEUNGiAEQennACADEFsgAUEBSyEOIAAhASAODQALDBYLIABB2OoAIAEQWCACKAIAQccARw0WDBsLIABB2eoAIAEQWCACKAIAQcgARw0VDBkLIABB2uoAIAEQWCACKAIAQckARw0UDCQLIABB2+oAIAEQWCACKAIAQcoARw0TIABB6ecAIAJBGGoQWAwWCyAAQdzqACABEFggAigCAEHLAEcNEgwVCyAAQd3qACABEFggAigCAEHMAEcNEQwXCyAAQd7qACABEFggAigCAEHNAEcNEAwWCyAAQd/qACABEFggAigCAEHOAEcNDwwbCyAAQeDqACABEFggAigCAEHPAEcNDiACKAIYBEAgAEEEakHp5wAgAkEYahBbCyACKAIUBEAgAEEEakHp5wAgAkEUahBbCyACKAIQBEAgAEEEakHp5wAgAkEQahBbCwwaCyAAQeHqACABEFggAigCAEHQAEYNDAwNCyAAQeLqACABEFggAigCAEHRAEcNDAwYCyAAQePqACABEFggAigCAEHSAEcNCyACKAIUBEAgAEEEakHp5wAgAkEUahBbCwwWCyAAQeTqACABEFggAigCAEHTAEcNCgwPCyAAQeXqACABEFggAigCAEHUAEcNCQwUCyAAQebqACABEFggAigCAEHVAEcNCAwUCyAAQefqACABEFggAigCAEHWAEcNBwwLCyAAQejqACABEFggAigCAEHXAEcNBgwLCyAAQenqACABEFggAigCAEHYAEcNBQwVCyAAQerqACABEFggAigCAEHZAEcNBAwPCyAAQevqACABEFggAigCAEHaAEcNAwwNCyAAQezqACABEFggAigCAEHbAEcNAgwHCyAAQe3qACABEFggAigCAEHcAEcNASAAQennACACQTxqEFggAigCMCIBQQBMDQAgAEEEaiEEA0AgAUEBayIAIAIoAjBPDQMgAigCLCAAQQJ0aiIDKAIARQ0EIARB6ecAIAMQWyABQQFLIQ8gACEBIA8NAAsLDwtB8O0FQcWYA0GUBkGN3gAQAQALQcWiAUGJogNBvAFBpogFEAEAC0GBgwJB05kDQbkCQa73AhABAAsgAEHp5wAgAkEUahBYCyAAQennACACQRBqEFgLIABB6ecAIAJBDGoQWAwKCyAAQennACACQRxqEFgLIABB6ecAIAJBGGoQWAsgAEHp5wAgAkEUahBYCyAAQennACACQRBqEFgPCyAAQennACACQRRqEFgLIABB6ecAIAJBEGoQWAsgAEHp5wAgAkEMahBYDwsgAEHp5wAgAkEoahBYCyAAQennACACQSRqEFgPCyAAQennACACQRxqEFggAEHp5wAgAkEYahBYDwsgAEHp5wAgAkEIahBYDwsgAEEEakHp5wAgAkEIahBbC4MDAQR/IAAoAvADIgEEQANAIAEoAgAhAyABEFogAyIBDQALCyAAKALoAyEBIABBADYC6AMgAQRAIAEQWgsgACgC3AMiAQRAA0AgASgCACEEIAEQWiAEIgENAAsLIAAoAtQDIQEgAEEANgLUAyABBEAgARBaCyAAKALMAxBgIAAoAsADEGAgACgCnAMQYCAAKAKQAxBgIAAoAoQDEG8gACgC+AIQbwJAIAAoAuQCIgFFDQAgASABKAIEIgJBAWs2AgQgAg0AIAEgASgCACgCCBEBACABEHULIAAoAtQCEGAgACgCyAIQYCAAKAKkAhBgIAAoApgCEGAgACgCjAIQbyAAKAKAAhBvAkAgACgC7AEiAUUNACABIAEoAgQiAkEBazYCBCACDQAgASABKAIAKAIIEQEAIAEQdQsgACgC2AEiAQRAIAAgATYC3AEgARBaCyAAKALMASIBBEAgACABNgLQASABEFoLIABB8ABqEGEgACgCWCIBBEAgACABNgJcIAEQWgsLpgEBBX8gACgC5AEiAQRAA0AgASgCACEEIAEoAgwiAwRAIAEgAzYCECADEFoLIAEQWiAEIgENAAsLIAAoAtwBIQEgAEEANgLcASABBEAgARBaCyAAKALQASIBBEADQCABKAIAIQUgARBaIAUiAQ0ACwsgACgCyAEhASAAQQA2AsgBIAEEQCABEFoLIABB8ABqEGEgACgCWCIBBEAgACABNgJcIAEQWgsLywIBC38jAEEQayIEJAAgACgCyAEEQCAAQegDaiEJIABB1ANqIQogAEHwAGohCANAIAAoAmghBSAGQQN0IgsgACgCzAFqIgEoAgAEQCABKAIEIgIEQANAIAQgAiIDNgIIIAMgBEEIaiIHIAggBUEAEP0CKAIAIgJHDQALIAEoAgAiAiADRwRAIAEoAgQhAyAHIAogAiABEMQDIAQoAgggAzYCDAsgAUEANgIECyABQQA2AgAgACgCaCEFCyAA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IQEgACACNgIAIAEgA0YNAwNAIANBBGsiAygCACEAIANBADYCACAABEAgACgCGCICBEAgACACNgIcIAIQWgsgACgCDCICBEAgACACNgIQIAIQWgsgACgCACICBEAgACACNgIEIAIQWgsgABBaCyABIANHDQALDAMLEGQACxBqAAsgACADNgIIIAAgBDYCBCAAIAI2AgALIAEEQCABEFoLC48uAzB/AX4CfSMAQUBqIgckACAAKAKMASIEIAAoAogBIghHBEADQCAEQQRrIgQoAgAhAiAEQQA2AgAgAgRAIAIoAhgiAwRAIAIgAzYCHCADEFoLIAIoAgwiAwRAIAIgAzYCECADEFoLIAIoAgAiAwRAIAIgAzYCBCADEFoLIAIQWgsgBCAIRw0ACwsgACAINgKMASAAKAKMAhCeCCAAIABBjAJqNgKIAiAAQgA3AowCIABBFGoiAhCnBBogACAAKAKgATYCgAEgAiABQTBqEJ8IAkAgACgCoAEiA0UNACAAQQA2AqABIAAoAoQBIgVFBEAgACADNgKEAQwBCyAALQCEAkUEQEEkEFwiAkIANwIAIAJBADYCICACQgA3AhggAkIANwIQIAJCADcCCCAAIAI2AoQBIAUgAhDcAiADIAAoAoQBENwCIABBAToAhAIMAQsgAyAFENwCCyAAQYgBaiEQAkACQAJAAkAgAC0AhAJFDQAgACgChAEhAkHUiQtBADYCACAHIAI2AihB9uMAIBAgB0EoahADQdSJCygCACEVQdSJC0EANgIAIBVBAUYNASAHKAIoIgJFDQAgAigCGCIDBEAgAiADNgIcIAMQWgsgAigCDCIDBEAgAiADNgIQIAMQWgsgAigCACIDBEAgAiADNgIEIAMQWgsgAhBaCwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCrAFFBEAgACgCtAEgACgCsAFHDQEgACgCwAEgACgCvAFHDQIgACgCzAEgACgCyAFHDQMgACgC2AEgACgC1AFHDQQgACgC5AEgACgC4AFHDQUgACgC8AEgACgC7AFHDQYgACgCiAEiAiAAKAKMASIDRg0IIAdBADYCFCAHQgA3AgwgByADIAJrIg1BAnUiCzYCPCAHQTBqIglCADcDACAHQgA3AyggB0GAgID8AzYCOEEBIAsgC0EBTRshDkEAIQRBACEDAkAD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IAcoAigiAigCHARAIAIoAhgiBARAA0AgBCgCACEvIAQQWiAvIgQNAAsLQQAhBCACQQA2AhgCQCACKAIUIgBFDQAgAEEETwRAIABBfHEhAwNAIARBAnQiASACKAIQakEANgIAIAIoAhAgAWpBADYCBCACKAIQIAFqQQA2AgggAigCECABakEANgIMIARBBGoiBCADRw0ACwsgAEEDcSIARQ0AQQAhAQNAIAIoAhAgBEECdGpBADYCACAEQQFqIQQgAUEBaiIBIABHDQALCyACQQA2AhwLIAgoAgAhASAIQQA2AgAgAigCECEAIAIgATYCECAABEAgABBaCyACIAgoAgQ2AhQgCEEANgIEIAIgCCgCDCIANgIcIAIgCCoCEDgCICACQRhqIgEgCCgCCCIDNgIAIAAEQCADKAIEIQQCQCACKAIUIgAgAEEBayIDcUUEQCADIARxIQQMAQsgACAESw0AIAQgAHAhBAsgAigCECAEQQJ0aiABNgIAIAhCADcCCAsgCCAKRwRAA0AgCkEUayIKKAIIIgIEQANAIAIoAgAhMCACEFogMCICDQALCyAKKAIAIQAgCkEANgIAIAAEQCAAEFoLIAggCkcNAAsLIAgQWiAHKAIMIgBFDQAgByAANgIQIAAQWgsgB0FAayQADwsQACEBIAhFDQELIAggCkcEQANAIApBFGsiCigCCCICBEADQCACKAIAITEgAhBaIDEiAg0ACwsgCigCACEAIApBADYCACAABEAgABBaCyAIIApHDQALCyAIEFoLIAcoAgwiAEUNBAwFCwALEAAhAQsgB0EoahCiASAHKAIMIgBFDQEMAgsQACEBIAdBKGoQnQgLIAEQBwALIAcgADYCECAAEFogARAHAAvCAgEKfyAAKAJEIgIEQANAIAIoAgAhBiACKAIYIgEEQANAIAEoAgAhBSABEFogBSIBDQALCyACKAIQIQEgAkEANgIQIAEEQCABEFoLIAIQWiAGIgINAAsLIAAoAjwhASAAQQA2AjwgAQRAIAEQWgsgACgCMCICBEADQCACKAIAIQggAigCGCIBBEADQCABKAIAIQcgARBaIAciAQ0ACwsgAigCECEBIAJBADYCECABBEAgARBaCyACEFogCCICDQALCyAAKAIoIQEgAEEANgIoIAEEQCABEFoLIAAoAhwiAQRAA0AgASgCACEJ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kwo2AlQgB0GIkwo2AhwgCkG4jAo2AgAgBywAS0EASARAIAcoAkAQWgsgChDrARogDBDoARogARCMBCAHKALEBCIABEAgByAANgLIBCAAEFoLIAdB0ARqJAAPCxAAIQQMAQsQACEECyAHQRxqEKYCGiABEIwECyAHKALEBCIABEAgByAANgLIBCAAEFoLIAQQBwALpwMBB38jAEGgAWsiAiQAIABBADoAgAEgAEEUaiABQTBqIgMQpAgCQAJAIAAtAIABRQ0AIAJCADcCGCACQQA2AoABIAJBIGoiBEIANwIAIAJCADcClAEgAkGAgID8AzYCnAEgAkG4wwMvAAA7ARwgAkIANwIQIAJCADcCeCACQgA3AowBIAJBzOwJNgIMIAJBsMMDKQAANwIUIAJBCjoAHyACIAAoAnw2AogBIAIgATYChAFB1IkLQQA2AgBBxAogBCADEANB1IkLKAIAIQVB1IkLQQA2AgAgBUEBRg0BIAJBzOwJNgIMIAJCADcChAEgAigClAEiAQRAA0AgASgCACEHIAEoAhgiAARAA0AgACgCACEGIAAQWiAGIgANAAsLIAEoAhAhACABQQA2AhAgAARAIAAQWgsgARBaIAciAQ0ACwsgAigCjAEhACACQQA2AowBIAAEQCAAEFoLIAIoAngiAARAIAIgADYCfCAAEFoLIAJBkO0JNgIMIAIsAB9BAE4NACACKAIUEFoLIAJBoAFqJAAPCxAAIQggAkEMahDIAhogCBAHAAt/AQN/IABBnO8HNgIAAkACQCAAKAKYASIBIABBiAFqIgJGBEBBBCEDIAIhAQwBC0EFIQMgAUUNAQsgASABKAIAIANBAnRqKAIAEQEACyAAKAJsIgIEQCAAIAI2AnAgAhBaCyAAQZDtCTYCACAALAATQQBIBEAgACgCCBBaCyAAC2EBA38gACgCACEBIABBADYCACABBEACQCAALQAIRQ0AAkAgASgCICIAIAFBEGoiA0YEQEEEIQIgAyEADAELQQUhAiAARQ0BCyAAIAAoAgAgAkECdGooAgARAQALIAEQWgsL8QUBD38gACgC1AIiAQRAA0AgASgCACEFIAEQWiAFIgENAAsLIAAoAswCIQEgAEEANgLMAiABBEAgARBaCyAAKALAAiIBBEADQCABKAIAIQYgARBaIAYiAQ0ACwsgACgCuAIhASAAQQA2ArgCIAEEQCABEFoLIAAoAqwCIgEEQANAIAEoAgAhByABEFogByIBDQALCyAAKAKkAiEBIABBADYCpAIgAQRAIAEQWgsgACgCmAIiAQRAA0AgASgCACEIIAEQWiAIIgENAAsLIAAoApACIQEgAEEANgKQAiABBEAgARBaCyAAKAKEAiIBBEADQCABKAIAIQkgARBaIAkiAQ0ACwsgACgC/AEhASAAQQA2AvwBIAEEQCABEFoLIAAoAvABIgEEQANAIAEoAgAhCiABEFogCiIBDQALCyAAKALoASEBIABBADYC6AEgAQRAIAEQWgsgACgC3AEiAQRAA0AgASgCACELIAEQWiALIgENAAsLIAAoAtQBIQEgAEEANgLUASABBEAgARBaCyAAKALIASIBBEADQCABKAIAIQwgARBaIAwiAQ0ACwsgACgCwAEhASAAQQA2AsABIAEEQCABEFoLIAAoArQBIgEEQANAIAEoAgAhDSABEFogDSIBDQALCyAAKAKsASEBIABBADYCrAEgAQRAIAEQWgsgACgCoAEiAQRAA0AgASgCACEOIAEQWiAOIgENAAsLIAAoApgBIQEgAEEANgKYASABBEAgARBaCyAAKAKMASICBEAgACgCkAEiAyACIgFHBEADQCADQQxrIgEoAgAiBARAIANBCGsgBDYCACAEEFoLIAEiAyACRw0ACyAAKAKMASEBCyAAIAI2ApABIAEQWgsgACgCgAEiAQRAIAAgATYChAEgARBaCyAAQShqEGEgACwAJ0EASARAIAAoAhwQWgsgACgCCCIBBEADQCABKAIAIQ8gARBaIA8iAQ0ACwsgACgCACEBIABBADYCACABBEAgARBaCwvDJgI5fwF+IwBBwAJrIgMkAAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAJ8IgYtAIUBQQRxBEACQAJAAkAgASgCHCICQRBJDQAgAigCEA0AAn8CQCACKAIUIgJBB0kNACACKAIEDQAgAigCDCACKAIIa0ECdQwBCyACQQBHCyEEIAEoAighBSABKAIkIQIgA0HkAWogASAGEJQEIQ8gA0EANgLgASADQgA3AtgBIANBADoAHCADIANB2AFqNgIYAkACQCAFIAJrQQJ1IARqIg5FBEAgA0EANgLUASADQgA3AswBDAELAkACQCAOQdaq1aoBTwRAQdSJC0EANgIAQYvXABAJQdSJCygCACEWQdSJC0EANgIAIBZBAUYNAQwUC0HUiQtBADYCAEEEIA5BDGwiBBAGIQZB1IkLKAIAIRdB1IkLQQA2AgAgF0EBRw0BCxAAIQIgA0EYahD4BgwRCyADIAY2AtgBIAMgBCAGajYC4AEgBkEAIARBDGsiAiACQQxwa0EMaiIF/AsAIAMgBSAGajYC3AEgA0EANgLUASADQgA3AswBQdSJC0EANgIAIANBADoAHCADIANBzAFqNgIYQQQgBBAGIQRB1IkLKAIAIRhB1IkLQQA2AgAgGEEBRg0BIAMgBDYCzAEgAyAEIA5BDGxqNgLUASAEQQAgBfwLACADIAQgBWo2AtABCyAPKAIUIgUgD0EYaiILRwRAA0ACQAJAAkACQAJAAkACQAJAIAUoAhAiCigCAEEIaw4CAgABCyADKALYASAKKAIIQQxsaiIJKAIEIgIgCSgCCEcEQCACIAo2AgAgCSACQQRqNgIEDAcLAkACQAJAAkAgAiAJKAIAIgxrIghBAnUiBkEBaiIHQYCAgIAETwRAQdSJC0EANgIAQd8pEAkMAQtB/////wMgCEEBdSIEIAcgBCAHSxsgCEH8////B08bIgdFBEBBACEIDAMLIAdBgICAgARJDQFB1IkLQQA2AgBBAxAJC0HUiQsoAgAhGUHUiQtBADYCACAZQQFHDRwQACECDBkLQdSJC0EANgIAQQQgB0ECdBAGIQhB1IkLKAIAIRpB1IkLQQA2AgAgGkEBRg0BCyAIIAZBAnRqIgQgCjYCACAEQQRqIQYgAiAMRwRAA0AgBEEEayIEIAJBBGsiAigCADYCACACIAxHDQALIAkoAgAhAgsgCSAENgIAIAkgBjYCBCAJIAggB0ECdGo2AgggAkUNByACEFoMBwsQACECDBYLQdSJC0EANgIAQQ1B8O0FQcWYA0GUBkGN3gAQBQwBCyADKALMASAKKAIIQQxsaiIJKAIEIgIgCSgCCEcEQCACIAo2AgAgCSACQQRqNgIEDAULIAIgCSgCACIMayIIQQJ1IgZBAWoiB0GAgICABE8EQEHUiQtBADYCAEGxFhAJDAELQf////8DIAhBAXUiBCAHIAQgB0sbIAhB/P///wdPGyIHRQRAQQAhCAwDCyAHQYCAgIAESQ0BQdSJC0EANgIAQQMQCQtB1IkLKAIAIRtB1IkLQQA2AgAgG0EBRw0WEAAhAgwTC0HUiQtBADYCAEEEIAdBAnQQBiEIQdSJCygCACEcQdSJC0EANgIAIBxBAUYNAQsgCCAGQQJ0aiIEIAo2AgAgBEEEaiEGIAIgDEcEQANAIARBBGsiBCACQQRrIgIoAgA2AgAgAiAMRw0ACyAJKAIAIQILIAkgBDYCACAJIAY2AgQgCSAIIAdBAnRqNgIIIAJFDQEgAhBaDAELEAAhAgwQCwJAIAUoAgQiBARAA0AgBCICKAIAIgQNAAwCCwALA0AgBSgCCCICKAIAIAVHIR0gAiEFIB0NAAsLIAsgAiIFRw0ACwsgA0IANwPAASADQgA3A7gBIANBgICA/AM2AsgBIAAoAnwoAoQBIQJB1IkLQQA2AgBB9BMgA0GsAWogASACQQAQDSESQdSJCygCACEeQdSJC0EANgIAIB5BAUYNAiASKAIAIgIgEkEEaiIURg0DA0ACQCACKAIQIQVB1IkLQQA2AgBBjRAgA0EYaiADQbgBaiAFIAUQBUHUiQsoAgAhH0HUiQtBADYCACAfQQFGDQACQCACIgUoAgQiBARAA0AgBCICKAIAIgQNAAwCCwALA0AgBSgCCCICKAIAIAVHISAgAiEFICANAAsLIAIgFEcNAQwFCwsQACECDAsLEAAhAiADQRhqEPgGDA0LQeGVBkG4swJB2wlBj+IDEAEACxAAIQIMCQsCQCABKAIcIgJBEE8EQCACKAIQRQ0BC0HUiQtBADYCAEENQeGVBkG4swJB2wlBj+IDEAVB1IkLKAIAISFB1IkLQQA2AgAgIUEBRw0NEAAhAgwICwJ/AkAgAigCFCICQQdJDQAgAigCBA0AIAIoAgwgAigCCGtBAnUMAQsgAkEARwshCyABQTBqIRAgA0EsaiEMQbjDAy8AACEIQbDDAykAACE7AkACQAJAAkADQCADQgA3AoQBIANBADYCjAEgA0IANwIsIANCADcCJCADQgA3AhwgA0HM7Ak2AhggA0IANwKgASADQgA3ApgBIANBCjoAKyADQYCAgPwDNgKoASADIAg7ACggAyA7NwAgIAMgACgCfDYClAFB1IkLQQA2AgAgAyABNgKQAUHECiAMIBAQA0HUiQsoAgAhIkHUiQtBADYCACAiQQFGDQEgA0HM7Ak2AhggA0IANwKQASADKAKgASIFBEADQCAFKAIAISQgBSgCGCICBEADQCACKAIAISMgAhBaICMiAg0ACwsgBSgCECECIAVBADYCECACBEAgAhBaCyAFEFogJCIFDQALCyADKAKYASECIANBADYCmAEgAgRAIAIQWgsgAygChAEiAgRAIAMgAjYCiAEgAhBaCyADQZDtCTYCGCADLAArQQBIBEAgAygCIBBaC0EAIRUgDiALIgZNDQQDQEHUiQtBADYCAEG5ASABIAYQAiETQdSJCygCACECQdSJC0EANgIAAkACQAJAAkAgAkEBRwRAQQEhAiAGQQxsIgkgAygC2AFqIgUoAgAiBCAFKAIEIgdGDQQDQCAEKAIAKAIMKAIEIQVB1IkLQQA2AgBBPiACIAUQAiECQdSJCygCACElQdSJC0EANgIAICVBAUYNAiACIBNHBEAgBEEEaiIEIAdHDQELCyACQQFGDQQgAyACNgIMIAJFBEBB1IkLQQA2AgBBDUGFjwRB56wCQYQBQYnUAhAFQdSJCygCACEmQdSJC0EANgIAICZBAUcNGBAAIQIMEwsCQAJAIAJBB0kNACACKAIEQQFHDQAgAigCDA0AIAMoArwBIg1FDQEgAygCuAECfyANQQFrIAZxIA1pQQFLIgdFDQAaIAYgBiANSQ0AGiAGIA1wCyIKQQJ0aigCACIFRQ0BIAUoAgAiBEUNAQJAIAdFBEAgDUEBayEHA0ACQCAEKAIEIgUgBkcEQCAFIAdxIApGDQEMBgsgBCgCCCAGRg0DCyAEKAIAIgQNAAsMAwsDQAJAIAQoAgQiBSAGRwRAIAUgDU8EfyAFIA1wBSAFCyAKRg0BDAULIAQoAgggBkYNAgsgBCgCACIEDQALDAILAkAgAigCCCICQRBJDQAgAi0AAEUNAEHUiQtBADYCAEENQf7QBkG4swJB6AVBuIwEEAVB1IkLKAIAISdB1IkLQQA2AgAgJ0EBRw0aEAAhAgwVCyADQQE2AiQgAyACNgIgIANBATYCHCADQQA6ABhB1IkLQQA2AgBBB0HYnQsgA0EYaiIEEAIhAkHUiQsoAgAhKEHUiQtBADYCACAoQQFHDQEQACECIAQQdwwUC0HUiQtBADYCAEGmJyADQQxqEAYhKkHUiQsoAgAhKUHUiQtBADYCACApQQFGDRIgKkUNBQsgAiATRg0EQdSJC0EANgIAQawBIAIgExACISxB1IkLKAIAIStB1IkLQQA2AgAgK0EBRg0RICxFBEBB1IkLQQA2AgBBDUG26QVB56wCQZQBQYnUAhAFQdSJCygCACEtQdSJC0EANgIAIC1BAUcNGBAAIQIMEwsgASgCJCAGIAtrQQJ0aiACNgIAIAMoAswBIAlqIgUoAgAiBCAFKAIEIgVHDQIMAwsQACECDBELEAAhAgwQCwNAIAQoAgAgAjYCBCAEQQRqIgQgBUcNAAsLQQEhESADKALYASAJaiIFKAIAIgQgBSgCBCIFRwRAA0AgBCgCACIHKAIEBEAgByACNgIEIAdBASACIAcoAgwoAgRBAUYbNgIECyAEQQRqIgQgBUcNAAsLQQEhFQsgBkEBaiIGIA5HDQALIBUNAAsgEUUNAyAQKAIAIQIgA0EANgIUIANCADcCDCADIAI2ArwCIANCADcCcCADQgA3AnggA0EANgKAAUHUiQtBADYCACADQgA3AhggAyADQQxqNgKEAUGOMyADQRhqIANBvAJqEANB1IkLKAIAIS5B1IkLQQA2AgAgLkEBRg0IIAMoAnAiAgRAIAMgAjYCdCACEFoLIAMoAgwiAiADKAIQIgtHBEADQCACKAIAIgYoAgghBUHUiQtBADYCAEG5ASABIAUQAiEEQdSJCygCACEvQdSJC0EANgIAIC9BAUYNCCAGIAQ2AgQgAkEEaiICIAtHDQALIAMoAgwhAgsgAgRAIAMgAjYCECACEFoLIBAoAgAhAiADQQA2AhQgA0IANwIMIAMgAjYCvAIgA0IANwJwIANCADcCeCADQQA2AoABQdSJC0EANgIAIANCADcCGCADIANBDGo2AoQBQYwzIANBGGogA0G8AmoQA0HUiQsoAgAhMEHUiQtBADYCACAwQQFGDQcgAygCcCICBEAgAyACNgJ0IAIQWgsgAygCDCIFIAMoAhAiC0YNAgNAIAUoAgAiCCgCCCECQdSJC0EANgIAQbkBIAEgAhACIQRB1IkLKAIAITFB1IkLQQA2AgAgMUEBRg0KAkAgCCgCBEUEQCAIKAIMIQYMAQsgCCAENgIEIAhBASAEIAgoAgwiBigCBEEBRhs2AgQLAkACQCAGKAIEIgIgBEYNAEHUiQtBADYCAEGsASACIAQQAiEzQdSJCygCACEyQdSJC0EANgIAIDJBAUYNDCAzDQAgCCgCDCERIAAoAnwhBkHUiQtBADYCAEEMIAZBqAFqIgRBDEEEEAQhB0HUiQsoAgAhNEHUiQtBADYCACA0QQFGDQEgByARNgIIIAdCEjcCACAHIBEoAgRBAUY2AgRB1IkLQQA2AgBBDCAEQQhBBBAEIQRB1IkLKAIAITVB1IkLQQA2AgAgNUEBRg0BIARCl4CAgBA3AgBB1IkLQQA2AgBBggMgBiAHIARBAEEAEBMhBEHUiQsoAgAhNkHUiQtBADYCACA2QQFGDQEgCCAENgIMCyAFQQRqIgUgC0YNAwwBCwsMCQsQACECIANBGGoQyAIaDAoLIAMoAgwhBQsgBQRAIAMgBTYCECAFEFoLIANCADcCJCADQQA2AowBIANBLGoiAkIANwIAIANCADcCoAEgA0GAgID8AzYCqAEgA0G4wwMvAAA7ASggA0IANwIcIANCADcChAEgA0IANwKYASADQczsCTYCGCADQbDDAykAADcCICADQQo6ACsgAyAAKAJ8NgKUASADIAE2ApABQdSJC0EANgIAQcQKIAIgEBADQdSJCygCACE3QdSJC0EANgIAIDdBAUYNAiADQczsCTYCGCADQgA3ApABIAMoAqABIgUEQANAIAUoAgAhOSAFKAIYIgIEQANAIAIoAgAhOCACEFogOCICDQALCyAFKAIQIQAgBUEANgIQIAAEQCAAEFoLIAUQWiA5IgUNAAsLIAMoApgBIQAgA0EANgKYASAABEAgABBaCyADKAKEASIABEAgAyAANgKIASAAEFoLIANBkO0JNgIYIAMsACtBAE4NACADKAIgEFoLIBIoAgQQbyADKALAASICBEADQCACKAIAITogAhBaIDoiAg0ACwsgAygCuAEhACADQQA2ArgBIAAEQCAAEFoLIAMoAswBIgEEQCADKALQASIEIAEiAkcEQANAIARBDGsiACgCACICBEAgBEEIayACNgIAIAIQWgsgACIEIAFHDQALIAMoAswBIQILIAMgATYC0AEgAhBaCyADKALYASIBBEAgAygC3AEiBCABIgJHBEADQCAEQQxrIgAoAgAiAgRAIARBCGsgAjYCACACEFoLIAAiBCABRw0ACyADKALYASECCyADIAE2AtwBIAIQWgsgDxDfAhoLIANBwAJqJAAPCxAAIQIgA0EYahDIAhoMBQsQACECIAMoAgwiAEUNBCADIAA2AhAgABBa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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAIgIoAgAOXgABAgMEBQYHCAkKCwwNHh8gISIjJCU1Ng4PEBESExQVFhcYGRobHB03JicoKSorLC0uLzAxMjM0ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXABdC0GY/QNB5bMDQeoBEGIACyAAQYTVACABEFggAigCAEEBRw1cIAIoAhQiAUEATA1bIABBBGohBANAIAFBAWsiACACKAIUTw1eIAIoAhAgAEECdGoiAygCAEUNXyAEQY/UACADEFsgAUEBSyEGIAAhASAGDQALDFsLIABBhtUAIAEQWCACKAIAQQJHDVsgAigCEARAIABBBGpBj9QAIAJBEGoQWwsMYAsgAEGH1QAgARBYIAIoAgBBA0cNWgxjCyAAQYjVACABEFggAigCAEEERw1ZIAIoAhQEQCAAQQRqQY/UACACQRRqEFsLIAIoAhBFDVggAEEEakGP1AAgAkEQahBbDwsgAEGJ1QAgARBYIAIoAgBBBUcNWCAAQY/UACACQSRqEFggAigCIEUNVyAAQQRqQY/UACACQSBqEFsPCyAAQbLWACABEFggAigCAEEGRw1XIAIoAgwiAUEATA1WIABBBGohBANAIAFBAWsiACACKAIMTw1ZIAIoAgggAEECdGoiAygCAEUNWiAEQY/UACADEFsgAUEBSyEHIAAhASAHDQALDFYLIABBs9YAIAEQWCACKAIAQQdHDVYgAEGP1AAgAkEcahBYIAIoAhAiAUEATA1VIABBBGohBANAIAFBAWsiACACKAIQTw1YIAIoAgwgAEECdGoiAygCAEUNWSAEQY/UACADEFsgAUEBSyEIIAAhASAIDQALDFULIABBtNYAIAEQWCACKAIAQQhGDVQMVQsgAEG11gAgARBYIAIoAgBBCUcNVAxgCyAAQbbWACAB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ahBYIAIoAgwiAUEATA0gIABBBGohBANAIAFBAWsiACACKAIMTw0jIAIoAgggAEECdGoiAygCAEUNJCAEQYzUACADEFsgAUEBSyEMIAAhASAMDQALDCALIABBk9YAIAEQWCACKAIAQT1HDSAMMAsgAEGU1gAgARBYIAIoAgBBPkcNHwwvCyAAQYPVACABEFggAigCAEE/Rw0eIABBjNQAIAJBFGoQWA8LIABBldYAIAEQWCACKAIAQcAARw0dIAIoAgwiAUEATA0cIABBBGohBANAIAFBAWsiACACKAIMTw0fIAIoAgggAEECdGoiAygCAEUNICAEQYzUACADEFsgAUEBSyENIAAhASANDQALDBwLIABBltYAIAEQWCACKAIAQcEARw0cDCgLIABBl9YAIAEQWCACKAIAQcIARw0bDCYLIABBmNYAIAEQWCACKAIAQcMARw0aIABBjNQAIAJBDGoQWCACKAIIRQ0ZDCsLIABBmdYAIAEQWCACKAIAQcQARw0ZDCELIABBmtYAIAEQWCACKAIAQcUARw0YDCALIABBm9YAIAEQWCACKAIAQcYARw0XIAIoAgwiAUEATA0WIABBBGohBANAIAFBAWsiACACKAIMTw0ZIAIoAgggAEECdGoiAygCAEUNGiAEQYzUACADEFsgAUEBSyEOIAAhASAODQALDBYLIABBnNYAIAEQWCACKAIAQccARw0WDBsLIABBndYAIAEQWCACKAIAQcgARw0VDBkLIABBntYAIAEQWCACKAIAQckARw0UDCQLIABBn9YAIAEQWCACKAIAQcoARw0TIABBjNQAIAJBGGoQWAwWCyAAQaDWACABEFggAigCAEHLAEcNEgwVCyAAQaHWACABEFggAigCAEHMAEcNEQwXCyAAQaLWACABEFggAigCAEHNAEcNEAwWCyAAQaPWACABEFggAigCAEHOAEcNDwwbCyAAQaTWACABEFggAigCAEHPAEcNDiACKAIYBEAgAEEEakGM1AAgAkEYahBbCyACKAIUBEAgAEEEakGM1AAgAkEUahBbCyACKAIQBEAgAEEEakGM1AAgAkEQahBbCwwaCyAAQaXWACABEFggAigCAEHQAEYNDAwNCyAAQabWACABEFggAigCAEHRAEcNDAwYCyAAQafWACABEFggAigCAEHSAEcNCyACKAIUBEAgAEEEakGM1AAgAkEUahBbCwwWCyAAQajWACABEFggAigCAEHTAEcNCgwPCyAAQanWACABEFggAigCAEHUAEcNCQwUCyAAQarWACABEFggAigCAEHVAEcNCAwUCyAAQavWACABEFggAigCAEHWAEcNBwwLCyAAQazWACABEFggAigCAEHXAEcNBgwLCyAAQa3WACABEFggAigCAEHYAEcNBQwVCyAAQa7WACABEFggAigCAEHZAEcNBAwPCyAAQa/WACABEFggAigCAEHaAEcNAwwNCyAAQbDWACABEFggAigCAEHbAEcNAgwHCyAAQbHWACABEFggAigCAEHcAEcNASAAQYzUACACQTxqEFggAigCMCIBQQBMDQAgAEEEaiEEA0AgAUEBayIAIAIoAjBPDQMgAigCLCAAQQJ0aiIDKAIARQ0EIARBjNQAIAMQWyABQQFLIQ8gACEBIA8NAAsLDwtB8O0FQcWYA0GUBkGN3gAQAQALQcWiAUGJogNBvAFBpogFEAEAC0GBgwJB05kDQbkCQa73AhABAAsgAEGM1AAgAkEUahBYCyAAQYzUACACQRBqEFgLIABBjNQAIAJBDGoQWAwKCyAAQYzUACACQRxqEFgLIABBjNQAIAJBGGoQWAsgAEGM1AAgAkEUahBYCyAAQYzUACACQRBqEFgPCyAAQYzUACACQRRqEFgLIABBjNQAIAJBEGoQWAsgAEGM1AAgAkEMahBYDwsgAEGM1AAgAkEoahBYCyAAQYzUACACQSRqEFgPCyAAQYzUACACQRxqEFggAEGM1AAgAkEYahBYDwsgAEGM1AAgAkEIahBYDwsgAEEEakGM1AAgAkEIahBbC40BAQd/IAAoAgAiAgRAIAIhASACIAAoAgQiA0cEQANAIANBMGsiBigCICIEBEAgBCEFIAQgA0EMayIHKAIAIgFHBEADQCABQRhrEFkiASAERw0ACyAGKAIgIQULIAcgBDYCACAFEFoLIANBKGsQWRogBiIDIAJHDQALIAAoAgAhAQsgACACNgIEIAEQWgsL3R4BDn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAIgIoAgAOXgABAgMEBQYHCAkKCwwNHh8gISIjJCU1Ng4PEBESExQVFhcYGRobHB03JicoKSorLC0uLzAxMjM0ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXABdC0GY/QNB5bMDQeoBEGIACyAAQezUACABEFggAigCAEEBRw1cIAIoAhQiAUEATA1bIABBBGohBANAIAFBAWsiACACKAIUTw1eIAIoAhAgAEECdGoiAygCAEUNXyAEQYrUACADEFsgAUEBSyEGIAAhASAGDQALDFsLIABB7tQAIAEQWCACKAIAQQJHDVsgAigCEARAIABBBGpBitQAIAJBEGoQWwsMYAsgAEHv1AAgARBYIAIoAgBBA0cNWgxjCyAAQfDUACABEFggAigCAEEERw1ZIAIoAhQEQCAAQQRqQYrUACACQRRqEFsLIAIoAhBFDVggAEEEakGK1AAgAkEQahBbDwsgAEHx1AAgARBYIAIoAgBBBUcNWCAAQYrUACACQSRqEFggAigCIEUNVyAAQQRqQYrUACACQSBqEFsPCyAAQZDVACABEFggAigCAEEGRw1XIAIoAgwiAUEATA1WIABBBGohBANAIAFBAWsiACACKAIMTw1ZIAIoAgggAEECdGoiAygCAEUNWiAEQYrUACADEFsgAUEBSyEHIAAhASAHDQALDFYLIABBkdUAIAEQWCACKAIAQQdHDVYgAEGK1AAgAkEcahBYIAIoAhAiAUEATA1VIABBBGohBANAIAFBAWsiACACKAIQTw1YIAIoAgwgAEECdGoiAygCAEUNWSAEQYrUACADEFsgAUEBSyEIIAAhASAIDQALDFULIABBktUAIAEQWCACKAIAQQhGDVQMVQsgAEGT1QAgARBYIAIoAgBBCUcNVAxgCyAAQZTVACABEFggAigCAEEKRg1SDFMLIABBldUAIAEQWCACKAIAQQtHDVIMWwsgAEGW1QAgARBYIAIoAgBBDEcNUQxfCyAAQZfVACABEFggAigCAEENRw1QDF0LIABBmNUAIAEQWCACKAIAQRhHDU8MXgsgAEGZ1QAgARBYIAIoAgBBGUcNTiAAQYrUACACQSBqEFgMXQsgAEGa1QAgARBYIAIoAgBBGkcNTQxUCyAAQZvVACABEFggAigCAEEbRw1MDFQLIABBnNUAIAEQWCACKAIAQRxGDUoMSwsgAEGd1QAgARBYIAIoAgBBHUcNSgxWCyAAQZ7VACABEFggAigCAEEeRw1JIABBitQAIAJBFGoQWAxVCyAAQZ/VACABEFggAigCAEEfRw1IDE0LIABBoNUAIAEQWCACKAIAQSBHDUcMUQsgAEGh1QAgARBYIAIoAgBBIUcNRgxRCyAAQaLVACABEFggAigCAEEiRw1FIABBitQAIAJBIGoQWA8LIABBo9UAIAEQWCACKAIAQSNHDUQMUQsgAEGk1QAgARBYIAIoAgBBJEcNQwxKCyAAQaXVACABEFggAigCAEElRg1BDEILIABBptUAIAEQWCACKAIAQSZHDUEMRQsgAEGn1QAgARBYIAIoAgBBJ0cNQAxECyAAQajVACABEFggAigCAEEORg0+DD8LIABBqdUAIAEQWCACKAIAQQ9HDT4MSgsgAEGq1QAgARBYIAIoAgBBEEcNPQxICyAAQavVACABEFggAigCAEERRw08DEALIABBrNUAIAEQWCACKAIAQRJHDTsMSwsgAEHy1AAgARBYIAIoAgBBE0cNOiACKAIIRQ05DEsLIABBrdUAIAEQWCACKAIAQRRGDTgMOQsgAEGu1QAgARBYIAIoAgBBFUcNOAxICyAAQa/VACABEFggAigCAEEpRg02DDcLIABBsNUAIAEQWCACKAIAQSpHDTYMRgsgAEGx1QAgARBYIAIoAgBBK0YNNAw1CyAAQbLVACABEFggAigCAEEsRw00DDkLIABBs9UAIAEQWCACKAIAQS1HDTMMPAsgAEG01QAgARBYIAIoAgBBLkcNMgw6CyAAQbXVACABEFggAigCAEEvRg0wDDELIABBttUAIAEQWCACKAIAQTBHDTAMOAsgAEG31QAgARBYIAIoAgBBMUcNLww2CyAAQbjVACABEFggAigCAEEyRw0uDDILIABB89QAIAEQWCACKAIAQTNHDS0gAigCKCIBQQBKBEAgAEEEaiEDA0AgAUEBayIEIAIoAihPDTAgAigCJCAEQQJ0aiIFKAIARQ0xIANBitQAIAUQWyABQQFLIQkgBCEBIAkNAAsLDDYLIABBudUAIAEQWCACKAIAQTRGBEAMPQsMLAsgAEH01AAgARBYIAIoAgBBNUcNKyACKAIUIgFBAEwNKiAAQQRqIQQDQCABQQFrIgAgAigCFE8NLSACKAIQIABBAnRqIgMoAgBFDS4gBEGK1AAgAxBbIAFBAUshCiAAIQEgCg0ACwwqCyAAQfXUACABEFggAigCAEE2Rg0pDCoLIABButUAIAEQWCACKAIAQTdHDSkMOQsgAEG71QAgARBYIAIoAgBBFkYNJwwoCyAAQfbUACABEFggAigCAEEXRg0mDCcLIABBvNUAIAEQWCACKAIAQShGDSUMJgsgAEG91QAgARBYIAIoAgBBOEcNJSACKAIMIgFBAEwNJCAAQQRqIQQDQCABQQFrIgAgAigCDE8NJyACKAIIIABBAnRqIgMoAgBFDSggBEGK1AAgAxBbIAFBAUshCyAAIQEgCw0ACwwkCyAAQb7VACABEFggAigCAEE5Rw0kDDQLIABBv9UAIAEQWCACKAIAQTpHDSMMMwsgAEHA1QAgARBYIAIoAgBBO0cNIgwyCyAAQcHVACABEFggAigCAEE8Rw0hIABBitQAIAJBGGoQWCACKAIMIgFBAEwNICAAQQRqIQQDQCABQQFrIgAgAigCDE8NIyACKAIIIABBAnRqIgMoAgBFDSQgBEGK1AAgAxBbIAFBAUshDCAAIQEgDA0ACwwgCyAAQcLVACABEFggAigCAEE9Rw0gDDALIABBw9UAIAEQWCACKAIAQT5HDR8MLwsgAEH31AAgARBYIAIoAgBBP0cNHiAAQYrUACACQRRqEFgPCyAAQcTVACABEFggAigCAEHAAEcNHSACKAIMIgFBAEwNHCAAQQRqIQQDQCABQQFrIgAgAigCDE8NHyACKAIIIABBAnRqIgMoAgBFDSAgBEGK1AAgAxBbIAFBAUshDSAAIQEgDQ0ACwwcCyAAQcXVACABEFggAigCAEHBAEcNHAwoCyAAQcbVACABEFggAigCAEHCAEcNGwwmCyAAQcfVACABEFggAigCAEHDAEcNGiAAQYrUACACQQxqEFggAigCCEUNGQwrCyAAQcjVACABEFggAigCAEHEAEcNGQwhCyAAQcnVACABEFggAigCAEHFAEcNGAwgCyAAQcrVACABEFggAigCAEHGAEcNFyACKAIMIgFBAEwNFiAAQQRqIQQDQCABQQFrIgAgAigCDE8NGSACKAIIIABBAnRqIgMoAgBFDRogBEGK1AAgAxBbIAFBAUshDiAAIQEgDg0ACwwWCyAAQcvVACABEFggAigCAEHHAEcNFgwbCyAAQczVACABEFggAigCAEHIAEcNFQwZCyAAQc3VACABEFggAigCAEHJAEcNFAwkCyAAQc7VACABEFggAigCAEHKAEcNEyAAQYrUACACQRhqEFgMFgsgAEHP1QAgARBYIAIoAgBBywBHDRIMFQsgAEHQ1QAgARBYIAIoAgBBzABHDREMFwsgAEHR1QAgARBYIAIoAgBBzQBHDRAMFgsgAEHS1QAgARBYIAIoAgBBzgBHDQ8MGwsgAEHT1QAgARBYIAIoAgBBzwBHDQ4gAigCGARAIABBBGpBitQAIAJBGGoQWwsgAigCFARAIABBBGpBitQAIAJBFGoQWwsgAigCEARAIABBBGpBitQAIAJBEGoQWwsMGgsgAEHU1QAgARBYIAIoAgBB0ABGDQwMDQsgAEHV1QAgARBYIAIoAgBB0QBHDQwMGAsgAEHW1QAgARBYIAIoAgBB0gBHDQsgAigCFARAIABBBGpBitQAIAJBFGoQWwsMFgsgAEHX1QAgARBYIAIoAgBB0wBHDQoMDwsgAEHY1QAgARBYIAIoAgBB1ABHDQkMFAsgAEHZ1QAgARBYIAIoAgBB1QBHDQgMFAsgAEHa1QAgARBYIAIoAgBB1gBHDQcMCwsgAEHb1QAgARBYIAIoAgBB1wBHDQYMCwsgAEHc1QAgARBYIAIoAgBB2ABHDQUMFQsgAEHd1QAgARBYIAIoAgBB2QBHDQQMDwsgAEHe1QAgARBYIAIoAgBB2gBHDQMMDQsgAEHf1QAgARBYIAIoAgBB2wBHDQIMBwsgAEHg1QAgARBYIAIoAgBB3ABHDQEgAEGK1AAgAkE8ahBYIAIoAjAiAUEATA0AIABBBGohBANAIAFBAWsiACACKAIwTw0DIAIoAiwgAEECdGoiAygCAEUNBCAEQYrUACADEFsgAUEBSyEPIAAhASAPDQALCw8LQfDtBUHFmANBlAZBjd4AEAEAC0HFogFBiaIDQbwBQaaIBRABAAtBgYMCQdOZA0G5AkGu9wIQAQALIABBitQAIAJBFGoQWAsgAEGK1AAgAkEQahBYCyAAQYrUACACQQxqEFgMCgsgAEGK1AAgAkEcahBYCyAAQYrUACACQRhqEFgLIABBitQAIAJBFGoQWAsgAEGK1AAgAkEQahBYDwsgAEGK1AAgAkEUahBYCyAAQYrUACACQRBqEFgLIABBitQAIAJBDGoQWA8LIABBitQAIAJBKGoQWAsgAEGK1AAgAkEkahBYDwsgAEGK1AAgAkEcahBYIABBitQAIAJBGGoQWA8LIABBitQAIAJBCGoQWA8LIABBBGpBitQAIAJBCGoQWwu8GgIffwJ9IwBBkARrIgIkACAAKAIEIQMgAkIANwOABCACQgA3A/gDIAJBgICA/AM2AogEIAJCADcCiAMgAkIANwKQAyACQgA3AJUDIAJCADcCsAMgAkEANgLwAyACQgA3AugDIAJCgICA/AM3ArgDIAJCADcCsAIgAkIANwKoAyACIANBGGoiBzYCoAMgAkEBOgD0AyACIAJB+ANqNgKkAyAAKAJ8IQMgAiABNgKUAyACIAM2ApgDQdOZAyEIAkACQAJAAkAgASgCMEUEQEGu9wIhA0G5AiEEQYGDAiEFDAELQdSJC0EANgIAQYnUACACQbQCakGK1AAgAUEwaiIJEAhB1IkLKAIAIQ5B1IkLQQA2AgAgDkEBRg0CAkACQAJAAkACQAJAAkACQEEAIAIoArQCIgVrIAIoAowDIgMgAigCiAMiBGtBA3VHBEAgAkG4AmohBgNAAkAgAyAERgRAIAVFBEBB/fsCIQNB2gAhBEGwlAMhCEHexAUhBQwNCyAGIAVBAWsiBUEDdGoiBCgCBCEDIAQoAgAhBCACIAU2ArQCDAELIANBCGsiBSgCACEEIAUoAgQhAyACIAU2AowDCyACIAM2ArACIAMoAgBFBEBB0PgCIQNBzQIhBEH1ggIhBQwLC0HUiQtBADYCACAEIAJBsAJqIAMQA0HUiQsoAgAhD0HUiQtBADYCACAPQQFGDQJBACACKAK0AiIFayACKAKMAyIDIAIoAogDIgRrQQN1Rw0ACwsgAkIANwKUAyACKAKEBEUNAiACQgA3AvgBIAJCADcCgAIgAkIANwCFAiACQgA3AqACIAJBgICA/AM2AqgCIAJCADcCoAEgAkIANwKYAiACIAc2ApACIAJBAToArAIgAiACQfgDajYClAIgAiAAKAJ8NgKIAiACIAE2AoQCQdOZAyEHIAEoAjANAUGu9wIhA0G5AiEEQYGDAiEFDAULEAAhBAwKC0HUiQtBADYCAEGL1AAgAkGkAWpBjNQAIAkQCEHUiQsoAgAhEEHUiQtBADYCACAQQQFGDQQCQAJAQQAgAigCpAEiBWsgAigC/AEiAyACKAL4ASIEa0EDdUcEQCACQagBaiEGA0ACQCADIARGBEAgBUUEQEH9+wIhA0HaACEEQbCUAyEHQd7EBSEFDAoLIAYgBUEBayIFQQN0aiIEKAIEIQMgBCgCACEEIAIgBTYCpAEMAQsgA0EIayIFKAIAIQQgBSgCBCEDIAIgBTYC/AELIAIgAzYCoAEgAygCAEUEQEHQ+AIhA0HNAiEEQfWCAiEFDAgLQdSJC0EANgIAIAQgAkGgAWogAxADQdSJCygCACERQdSJC0EANgIAIBFBAUYNAkEAIAIoAqQBIgVrIAIoAvwBIgMgAigC+AEiBGtBA3VHDQALCyACKAKkAkUNAUH+0gIhA0HhAyEEQbe4AiEHQenzBSEFDAULEAAhBAwGCyACQgA3AoQCAkAgAigChARFDQAgAkIANwJcIAJCADcCZCACQgA3AGkgAkIANwJ8IAIgAigCiAQ2AoQBIAJCADcCBCACQgA3AnRB1IkLQQA2AgBBjdQAIAJB9ABqIgogAigC/AMQA0HUiQsoAgAhA0HUiQtBADYCAAJAAkAgA0EBRwRAAkAgAigCgAQiCARAIAJB/ABqIQwgAigCeCEEA0AgCCgCCCILQZXTx94FbCIDQRh2IANzQZXTx94FbEHUzJ76BnMiA0ENdiADc0GV08feBWwiA0EPdiADcyEFAkACQCAERQ0AIAIoAnQCfyAFIARBAWtxIARpQQFLIgdFDQAaIAUgBCAFSw0AGiAFIARwCyIGQQJ0aigCACIDRQ0AIAMoAgAiA0UNACAHRQRAIARBAWshBwNAAkAgBSADKAIEIg1HBEAgByANcSAGRg0BDAQLIAMoAgggC0YNBAsgAygCACIDDQALDAELA0ACQCAFIAMoAgQiB0cEQCAEIAdNBH8gByAEcAUgBwsgBkYNAQwDCyADKAIIIAtGDQMLIAMoAgAiAw0ACwtB1IkLQQA2AgBBBEEUEAYhA0HUiQsoAgAhEkHUiQtBADYCACASQQFGDQMgAyAIKQIINwIIIAMgCCgCEDYCECADIAU2AgQgA0EANgIAIAIqAoQBISEgAigCgAFBAWqzISICQCAEBEAgISAEs5QgIl1FDQELQdSJC0EANgIAQY3UACAKIAQgBEEBa3FBAEcgBEEDSXIgBEEBdHIiBgJ/ICIgIZWNIiFDAACAT10gIUMAAAAAYHEEQCAhqQwBC0EACyIEIAQgBkkbEANB1IkLKAIAIQZB1IkLQQA2AgACQCAGQQFHBEAgAigCeCIEIARBAWsiBnFFBEAgBSAGcSEGDAMLIAQgBU0NASAFIQYMAgsQACEEIAMQWgwHCyAFIARwIQYLAkACQCACKAJ0IAZBAnRqIgYoAgAiBUUEQCADIAIoAnw2AgAgAiADNgJ8IAYgDDYCACADKAIAIgVFDQIgBSgCBCEFAkAgBCAEQQFrIgZxRQRAIAUgBnEhBQwBCyAEIAVLDQAgBSAEcCEFCyACKAJ0IAVBAnRqIQUMAQsgAyAFKAIANgIACyAFIAM2AgALIAIgAigCgAFBAWo2AoABCyAIKAIAIggNAAsLIAJCADcCkAEgAkGAgID8AzYCmAEgAkIANwKIASACQQE6AJwBIAAoAnwhACACIAE2AmggAiAANgJsQdD4AiEHQdOZAyEIQQAgAigCCGsgAigCYCACKAJca0EDdUYNA0HIAiEDQc3KBSEEDAYLEAAhBAwBCxAAIQQLIAoQogEgAigCXCIARQ0HIAIgADYCYCAAEFoMBwsgCSgCAEUEQEGu9wIhB0G5AiEDQYGDAiEEDAMLQdSJC0EANgIAQY7UACACQQhqQY/UACAJEAhB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRg0DQQAgAigCCCIFayACKAJgIgMgAigCXCIEa0EDdUcEQCACQQxqIQEDQAJAIAMgBEYEQCAFRQRAQf37AiEHQdoAIQNBsJQDIQhB3sQFIQQMBwsgASAFQQFrIgBBA3RqIgYoAgQhAyAGKAIAIQQgAiAANgIIDAELIANBCGsiACgCACEEIAAoAgQhAyACIAA2AmALIAIgAzYCBCADKAIARQRAQc0CIQNB9YICIQQMBQtB1IkLQQA2AgAgBCACQQRqIAMQA0HUiQsoAgAhFEHUiQtBADYCACAUQQFGDQVBACACKAIIIgVrIAIoAmAiAyACKAJcIgRrQQN1Rw0ACwsgAkIANwJoIAIoApABIgMEQANAIAMoAgAhFSADEFogFSIDDQALCyACKAKIASEAIAJBADYCiAEgAARAIAAQWgsgAigCfCIDBEADQCADKAIAIRYgAxBaIBYiAw0ACwsgAigCdCEAIAJBADYCdCAABEAgABBaCyACKAJcIgBFDQAgAiAANgJgIAAQWgsgAigCoAIiAwRAA0AgAygCACEXIANBCGoQ6wIgAxBaIBciAw0ACwsgAigCmAIhACACQQA2ApgCIAAEQCAAEFoLIAIoAvgBIgBFDQAgAiAANgL8ASAAEFoLIAIoAugDIgAEQCACIAA2AuwDIAAQWgsgAigCsAMiAwRAA0AgAygCACEYIAMoAhgiAQRAIAMgATYCHCABEFoLIAMQWiAYIgMNAAsLIAIoAqgDIQAgAkEANgKoAyAABEAgABBaCyACKAKIAyIABEAgAiAANgKMAyAAEFoLIAIoAoAEIgMEQANAIAMoAgAhGSADEFogGSIDDQALCyACKAL4AyEAIAJBADYC+AMgAARAIAAQWgsgAkGQBGokAA8LQdSJC0EANgIAQQ0gBCAIIAMgBxAFQdSJCygCACEaQdSJC0EANgIAIBpBAUcNBQsQACEEIAIoApABIgAEQANAIAAoAgAhGyAAEFogGyIADQALCyACKAKIASEAIAJBADYCiAEgAARAIAAQWgsgAigCfCIABEADQCAAKAIAIRwgABBaIBwiAA0ACwsgAigCdCEAIAJBADYCdCAABEAgABBaCyACKAJcIgAEQCACIAA2AmAgABBaCwwCC0HUiQtBADYCAEENIAUgByAEIAMQBUHUiQsoAgAhHUHUiQtBADYCACAdQQFHDQMLEAAhBAsgAigCoAIiAARAA0AgACgCACEeIABBCGoQ6wIgABBaIB4iAA0ACwsgAigCmAIhACACQQA2ApgCIAAEQCAAEFoLIAIoAvgBIgAEQCACIAA2AvwBIAAQWgsMAwtB1IkLQQA2AgBBDSAFIAggBCADEAVB1IkLKAIAIR9B1IkLQQA2AgAgH0EBRg0BCwALEAAhBAsgAigC6AMiAARAIAIgADYC7AMgABBaCyACKAKwAyIABEADQCAAKAIAISAgACgCGCIDBEAgACADNgIcIAMQWgsgABBaICAiAA0ACwsgAigCqAMhACACQQA2AqgDIAAEQCAAEFoLIAIoAogDIgAEQCACIAA2AowDIAAQWgsgAkH4A2oQogEgBBAHAAv/AQICfgV/IAEoAgAiBigCAEErRgRAAkAgACgCgAEiACgCBCIBRQ0AIAYpAggiAkIgiCIDpyEFIAKnIQcgAEEEaiIIIQQDQAJAIAEpAhAiAqcgByAFIAJCIIgiAqciACAAIAVLGxBeIgANAEEAIQAgAiADUQ0AQX9BASACIANUGyEACyAEIAEgAEEASCIAGyEEIAFBBGogASAAGygCACIBDQALIAQgCEYNAAJAIAcgBCkCECICpyACQiCIIgKnIgAgBSAAIAVJGxBeIgBFBEAgAiADWA0BDAILIABBAEgNAQsgBiAEKQIYNwIICw8LQfDtBUHFmANBlAZBjd4AEAEAC1UBA38gACgCACIDBEAgACgCBCICIAMiAUcEQANAIAJBBGsiAigCACEBIAJBADYCACABBEAgARBaCyACIANHDQALIAAoAgAhAQsgACADNgIEIAEQWgsLiQMBBX8jAEEgayIEJAACQAJAAkAgASgCAEELRw0AIARBGGogACgChAEgASgCCCABQQhqELcCIAQoAhgoAhBBAUcNACABKAIMIgZFDQEgASgCCCIHIAZqIQNBfyEFAkADQCADIAdGDQEgA0EBayIDLQAAQcAARw0ACyADIAdrIQULIAUgBksNASAEIAYgBWs2AhwgBCAFIAdqNgIYIAQgBCkCGDcDCCAEQRBqIARBCGoQZSAEKAIQIAJHDQAgACgCfCEFAkAgASgCECICKAIAQThGBEAgAigCDCIGRQ0BQQAhAwNAIAIoAgwgA00NBSAFIAIoAgggA0ECdGooAgAQjQtFDQMgBiADQQFqIgNHDQALDAELIAUgAhCNC0UNAQsgACgCfCICKAK4AiACKAK8AiABKQIIEIcDIQIgASgCECEDIAJBADoAJCACIAM2AiAgAUIWNwIAIAAgACgCgAFBAWo2AoABCyAEQSBqJAAPC0Hh7QEQ6gIAC0HFogFBiaIDQbwBQaaIBRABAAuuDAMOfwJ9AX4gAAJ/AkAgASgCBCIERQ0AAkAgBGkiBkEBTQRAIARBAWsgAnEhBQwBCyAEIAIiBUsNACAFIARwIQULIAEoAgAgBUECdGooAgAiCEUNACAIKAIAIgdFDQAgBkEBTQRAIARBAWshBgNAAkAgAiAHKAIEIghHBEAgBiAIcSAFRw0EDAELIAcoAgggAkcNAEEADAQLIAcoAgAiBw0ACwwBCwNAAkAgAiAHKAIEIgZHBEAgBCAGTQR/IAYgBHAFIAYLIAVHDQMMAQsgBygCCCACRw0AQQAMAwsgBygCACIHDQALC0EYEFwhByADKQIAIRQgB0IANwMQIAcgFDcDCCAHIAI2AgQgB0EANgIAIAFBCGohCyABKgIQIRIgASgCDEEBarMhEwJAIAQEQCASIASzlCATXUUNAQtBAiEDAkACQAJAIAQgBEEBa3FBAEcgBEEDSXIgBEEBdHIiBQJ/IBMgEpWNIhJDAACAT10gEkMAAAAAYHEEQCASqQwBC0EACyIGIAUgBksbIgVBAUYNACAFIAVBAWtxRQRAIAUhAwwBC0HUiQtBADYCAEEVIAUQBiEDQdSJCygCACENQdSJC0EANgIAIA1BAUYNASABKAIEIQQLAkACQCADIARNBEAgAyAETw0CIARBA0khBgJ/IAEoAgyzIAEqAhCVjSISQwAAgE9dIBJDAAAAAGBxBEAgEqkMAQtBAAshBQJAAkAgBg0AIARpQQFLDQAgBUEBQSAgBUEBa2drdCAFQQJJGyEFDAELQdSJC0EANgIAQRUgBRAGIQVB1IkLKAIAIQ5B1IkLQQA2AgAgDkEBRg0ECyAEIAMgBSADIAVLGyIDTQRAIAEoAgQhBAwDCyADRQ0BCyADQYCAgIAETwRAQdSJC0EANgIAQQMQCUHUiQsoAgAhD0HUiQtBADYCACAPQQFGDQMAC0HUiQtBADYCAEEEIANBAnQQBiEFQdSJCygCACEQQdSJC0EANgIAIBBBAUYNAiABKAIAIQQgASAFNgIAIAQEQCAEEFoLIAEgAzYCBEEAIQZBACEEIANBBE8EQCADQfz///8DcSEIA0AgBEECdCIFIAEoAgBqQQA2AgAgASgCACAFakEANgIEIAEoAgAgBWpBADYCCCABKAIAIAVqQQA2AgwgBEEEaiIEIAhHDQALCyADQQNxIgUEQANAIAEoAgAgBEECdGpBADYCACAEQQFqIQQgBkEBaiIGIAVHDQALCyABKAIIIgRFBEAgAyEEDAILIAQoAgQhCAJAIAMgA0EBayIJcQRAIAMgCE0EQCAIIANwIQgLIAEoAgAgCEECdGogCzYCACAEKAIAIgYNASADIQQMAwsgASgCACAIIAlxIghBAnRqIAs2AgAgBCgCACIFRQRAIAMhBAwDCwNAAkAgCCAFKAIEIAlxIgZGBEAgBSEEDAELIAZBAnQiCiABKAIAaiIMKAIABEAgBCAFKAIANgIAIAUgASgCACAKaigCACgCADYCACABKAIAIApqKAIAIAU2AgAMAQsgDCAENgIAIAUhBCAGIQgLIAQoAgAiBQ0ACyADIQQMAgsDQCADIAYoAgQiBU0EQCAFIANwIQULAkAgBSAIRgRAIAYhBAwBCyAFQQJ0IgkgASgCAGoiCigCAEUEQCAKIAQ2AgAgBiEEIAUhCAwBCyAEIAYoAgA2AgAgBiABKAIAIAlqKAIAKAIANgIAIAEoAgAgCWooAgAgBjYCAAsgBCgCACIGDQALIAMhBAwBCyABKAIAIQNBACEEIAFBADYCACADBEAgAxBaCyABQQA2AgQLIAQgBEEBayIDcUUEQCACIANxIQUMAwsgAiAETw0BIAIhBQwCCxAAIREgBxBaIBEQBwALIAIgBHAhBQsCQAJAIAEoAgAgBUECdGoiAigCACIFRQRAIAcgASgCCDYCACABIAc2AgggAiALNgIAIAcoAgAiAkUNAiACKAIEIQUCQCAEIARBAWsiAnFFBEAgAiAFcSEFDAELIAQgBUsNACAFIARwIQULIAEoAgAgBUECdGohBQwBCyAHIAUoAgA2AgALIAUgBzYCAAsgASABKAIMQQFqNgIMQQELOgAEIAAgBzYCAAuXAgIGfwF+AkAgASgCFCIDKALoASADKALsASACEK8FIgMoAgwEQAJAIAEoApADIgFFDQAgAykCDCIJQiCIIgKnIQQgCachBwNAAkACQCAHIAEpAhAiCaciBSAJQiCIIgmnIgYgBCAEIAZLGyIGEF4iCEUEQCACIAlUDQEMAgsgCEEATg0BCyABKAIAIgENAQwCCwJAIAUgByAGEF4iBUUEQCACIAlWDQEMBQsgBUEATg0ECyABKAIEIgENAAsLQbHABBDqAgALIAEoAogDIQEgACACNwIEIAAgATYCAA8LIAFBGGooAgAoAhQiBCgCwAEgBCgCxAEgAykCFBD0BSEDIAAgASgCGCgCiAM2AgAgACADKQIINwIEC8sIAQ5/IwBBgAFrIgMkACADQgA3ABEgA0IANwI0IANBADoAMCADQRQ2AiwgA0KCgICAcDcCJCADQgA3AhwgA0GBAjsAGSADQgA3AjwgA0IANwJEIANCgICAgICAgMA/NwJMIANCADcCVCADQgA3AlwgA0GAgID8AzYCZCADQQA7AXAgA0IANwJoIANCADcCDCADQfzsCTYCACADIAE2AgQgAyABQagBajYCCEHUiQtBADYCAEEEQSAQBiEBQdSJCygCACEEQdSJC0EANgIAAkACQCAEQQFGDQAgAUEAOgARIAFB3voBLQAAOgAQIAFB1voBKQAANwAIIAFBzvoBKQAANwAAQdSJC0EANgIAQdQAIANB9ABqIgQgAUEREAhB1IkLKAIAIQVB1IkLQQA2AgACQAJAAkACQAJAIAVBAUcEQEHUiQtBADYCAEHZACAEEAYhBEHUiQsoAgAhBUHUiQtBADYCAAJAAkACQAJAIAVBAUYNACADKAIAKAIIIQZB1IkLQQA2AgAgBiADIAQQA0HUiQsoAgAhB0HUiQtBADYCACAHQQFGDQAgAywAf0EASARAIAMoAnQQWgsgARBaIAJFDQJB1IkLQQA2AgBBBEEgEAYhAUHUiQsoAgAhCEHUiQtBADYCACAIQQFHDQEMCgsQACECIAMsAH9BAE4NBCADKAJ0EFogARBaDAoLIAFBADoAESABQcz6AS0AADoAECABQcT6ASkAADcACCABQbz6ASkAADcAAEHUiQtBADYCAEHUACADQfQAaiICIAFBERAIQdSJCygCACEJQdSJC0EANgIAIAlBAUYNBEHUiQtBADYCAEHZACACEAYhAkHUiQsoAgAhCkHUiQtBADYCACAKQQFGDQEgAygCACgCCCELQdSJC0EANgIAIAsgAyACEANB1IkLKAIAIQxB1IkLQQA2AgAgDEEBRg0BIAMsAH9BAEgEQCADKAJ0EFoLIAEQWgtB1IkLQQA2AgBBBEEYEAYhAUHUiQsoAgAhDUHUiQtBADYCACANQQFGDQUgAUIANwIEIAEgADYCFCABQYSICDYCACABQgA3AgwgAygCACgCCCEOQdSJC0EANgIAIA4gAyABEANB1IkLKAIAIQ9B1IkLQQA2AgAgD0EBRg0GQdSJC0EANgIAQZcBIAMQCkHUiQsoAgAhEEHUiQtBADYCACAQQQFGDQcgA0H87Ak2AgAgA0EYahBhIAMoAgwiBARAIAMoAhAiASAEIgJHBEADQCABQQRrIgEoAgAhAiABQQA2AgAgAgRAIAIgAigCACgCBBEBAAsgASAERw0ACyADKAIMIQILIAMgBDYCECACEFoLIANBgAFqJAAgAA8LEAAhAiADLAB/QQBODQMgAygCdBBaIAEQWgwHCxAAIQILIAEQWgwFCxAAIQILIAEQWgwDCxAAIQIMAgsQACECDAELEAAhAgsgAxB8GiACEAcACwcAIAAQ6AELKwEBfyAAKAIMIgEEQCAAIAE2AhAgARBaCyAALAALQQBIBEAgACgCABBaCwuUAgEGfwJAIAEsAAtBAE4EQCAAIAEpAgA3AgAgACABKAIINgIIDAELIAAgASgCACABKAIEEJEECyAAQgA3AgwgAEEANgIUAkAgASgCECICIAEoAgwiBEcEQCACIARrIgJBAEgEQEHUiQtBADYCAEEFEAlB1IkLKAIAIQVB1IkLQQA2AgAgBUEBRg0CAAtB1IkLQQA2AgBBBCACEAYhAUHUiQsoAgAhBkHUiQtBADYCACAGQQFGDQEgACABNgIQIAAgATYCDCAAIAEgAmoiAzYCFCABIAQgAvwKAAAgACADNgIQCw8LEAAhByAAKAIMIgEEQCAAIAE2AhAgARBaCyAALAALQQBIBEAgACgCABBaCyAHEAcAC98MAw9/An0BfiMAQRBrIgckACABKAIAIQYCQAJAIAAoAgQiAkUNAAJAIAJpIgRBAU0EQCACQQFrIAZxIQUMAQsgBiIFIAJJDQAgBSACcCEFCyAAKAIAIAVBAnRqKAIAIgNFDQAgAygCACIDRQ0AIARBAU0EQCACQQFrIQQDQAJAIAYgAygCBCIIRwRAIAQgCHEgBUYNAQwECyADKAIIIAZGDQQLIAMoAgAiAw0ACwwBCwNAAkAgBiADKAIEIgRHBEAgAiAETQR/IAQgAnAFIAQLIAVGDQEMAwsgAygCCCAGRg0DCyADKAIAIgMNAAsLQRwQXCEEIAcgAEEIaiIINgIIIAcgBDYCBCABKQIAIRMgBEEANgIYIARCADcCECAEIBM3AgggB0EBOgAMIARBADYCACAEIAY2AgQgACoCECERIAAoAgxBAWqzIRICQCACBEAgESACs5QgEl1FDQELQQIhBAJAAkACQCACIAJBAWtxQQBHIAJBA0lyIAJBAXRyIgECfyASIBGVjSIRQwAAgE9dIBFDAAAAAGBxBEAgEakMAQtBAAsiAyABIANLGyIBQQFGDQAgASABQQFrcUUEQCABIQQMAQtB1IkLQQA2AgBBFSABEAYhBEHUiQsoAgAhDEHUiQtBADYCACAMQQFGDQEgACgCBCECCwJAAkAgAiAETwRAIAIgBE0NAiACQQNJIQMCfyAAKAIMsyAAKgIQlY0iEUMAAIBPXSARQwAAAABgcQRAIBGpDAELQQALIQECQAJAIAMNACACaUEBSw0AIAFBAUEgIAFBAWtna3QgAUECSRshAwwBC0HUiQtBADYCAEEVIAEQBiEDQdSJCygCACENQdSJC0EANgIAIA1BAUYNBAsgAiAEIAMgAyAESRsiBE0EQCAAKAIEIQIMAwsgBEUNAQsgBEGAgICABE8EQEHUiQtBADYCAEEDEAlB1IkLKAIAIQ5B1IkLQQA2AgAgDkEBRg0DAAtB1IkLQQA2AgBBBCAEQQJ0EAYhAkHUiQsoAgAhD0HUiQtBADYCACAPQQFGDQIgACgCACEBIAAgAjYCACABBEAgARBaCyAAIAQ2AgRBACEFQQAhAyAEQQRPBEAgBEH8////A3EhAgNAIANBAnQiASAAKAIAakEANgIAIAAoAgAgAWpBADYCBCAAKAIAIAFqQQA2AgggACgCACABakEANgIMIANBBGoiAyACRw0ACwsgBEEDcSIBBEADQCAAKAIAIANBAnRqQQA2AgAgA0EBaiEDIAVBAWoiBSABRw0ACwsgACgCCCIDRQRAIAQhAgwCCyADKAIEIQECQCAEIARBAWsiCXEEQCABIARPBEAgASAEcCEBCyAAKAIAIAFBAnRqIAg2AgAgAygCACIFDQEgBCECDAMLIAAoAgAgASAJcSIBQQJ0aiAINgIAIAMoAgAiAkUEQCAEIQIMAwsDQAJAIAEgAigCBCAJcSIFRgRAIAIhAwwBCyAFQQJ0IgogACgCAGoiCygCAARAIAMgAigCADYCACACIAAoAgAgCmooAgAoAgA2AgAgACgCACAKaigCACACNgIADAELIAsgAzYCACACIQMgBSEBCyADKAIAIgINAAsgBCECDAILA0AgBCAFKAIEIgJNBEAgAiAEcCECCwJAIAEgAkYEQCAFIQMMAQsgAkECdCIJIAAoAgBqIgooAgBFBEAgCiADNgIAIAUhAyACIQEMAQsgAyAFKAIANgIAIAUgACgCACAJaigCACgCADYCACAAKAIAIAlqKAIAIAU2AgALIAMoAgAiBQ0ACyAEIQIMAQsgACgCACEBQQAhAiAAQQA2AgAgAQRAIAEQWgsgAEEANgIECyACIAJBAWsiAXFFBEAgASAGcSEFDAMLIAIgBk0NASAGIQUMAgsQACEQIAdBBGoQvQggEBAHAAsgBiACcCEFCyAHKAIEIQMCQAJAIAVBAnQiASAAKAIAaigCACIFRQRAIAMgACgCCDYCACAAIAM2AgggACgCACABaiAINgIAIAMoAgAiAUUNAiABKAIEIQUCQCACIAJBAWsiAXFFBEAgASAFcSEFDAELIAIgBUsNACAFIAJwIQULIAAoAgAgBUECdGohBQwBCyADIAUoAgA2AgALIAUgAzYCAAsgACAAKAIMQQFqNgIMCyAHQRBqJAAgA0EQagurAQEFfyAAQdjiBzYCACAAKAIsIQIgAEEANgIsIAIEQCACKAIQIgEEQANAIAEoAgAhBCABEFogBCIBDQALCyACKAIIIQEgAkEANgIIIAEEQCABEFoLIAIQWgsgACgCICIBBEADQCABKAIAIQUgARBaIAUiAQ0ACwsgACgCGCEBIABBADYCGCABBEAgARBaCyAAQZDtCTYCACAALAATQQBIBEAgACgCCBBaCyAACyoAIAIEQANAIAEgACgCAEYEQCAADwsgAEEEaiEAIAJBAWsiAg0ACwtBAAufEQIhfwF+IwBBMGsiCCQAQcQBEFwiBEEIakEAQbwB/AsAIARCADcCDCAEQQA6AAggBEIANwIAIARCADcCFEHUiQtBADYCACAIQgA3AhggCEIANwMIQSkgBEEcaiAIQQhqEAIhDUHUiQsoAgAhC0HUiQtBADYCACALQQFGBEAQACEMIAQQWiAMEAcACyAEQgA3AiAgBEIANwJMIARCADcCYCAEQgA3AowBIARBQGtCADcCACAEQgA3AjggBEIANwIwIARCADcCKCAEQYCAgPwDNgJIIARCADcCVCAEQYCAgPwDNgJcIARCADcCaCAEQfgAaiIFQgA3AgAgBEGAgID8AzYCcCAEQYQBaiIGQgA3AgAgBCAFNgJ0IAQgBjYCgAEgBEIANwKUASAEQgA3AqABIARBgICA/AM2ApwBIARCADcCqAEgBEGAgID8AzYCsAEgBEIANwK0ASAEQgA3AboBIAggBDYCFCAEIAIgACACKAIAGykCADcCACANIAAoAhw2AgACQAJAAkACQAJAAkACQAJAAkAgACAE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ADYCDCACQQRqIgIgBUcNAAsLIARBA3EiBkUNAEEAIQQDQCAAKAKYASACQQJ0akEANgIAIAJBAWohAiAEQQFqIgQgBkcNAAsLIABBADYCpAELIANB5ABqIgJBAEGJAfwLACADQgA3AoACIANCADcC+AEgA0GAgID8AzYCiAIgA0IANwLwASADQgA3ApQCIANBADYCoAIgA0GQtws2ApwCIANCADcCrAIgA0GAgID8AzYCtAIgA0IANwLAAiADQYCAgPwDNgLIAiADQgA3AtQCIANBgICA/AM2AtwCIANCADcC6AIgA0GAgID8AzYC8AIgA0IANwL8AiADQgA3AowCIANCADcCpAIgA0IANwK4AiADQgA3AswCIANCADcC4AIgA0IANwL0AiADQYCAgPwDNgKEAyADQgA3ApADIANBgICA/AM2ApgDIANCADcCpAMgA0GAgID8AzYCrAMgA0IANwK4AyADQYCAgPwDNgLAAyADQgA3AogDIANCADcCnAMgA0IANwKwAyADQgA3A1hB1IkLQQA2AgAgA0IANwMgQY3IACABIAIgA0EgahAEIQZB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRg0DIAEoAhwiAkEQTwRAIAIoAhBFDQILQdSJC0EANgIAQQ1B4ZUGQbizAkHbCUGP4gMQBUHUiQsoAgAhFEHUiQtBADYCACAUQQFGDQMMBQsQACECIAMoArwBIgBFDQMgAyAANgLAASAAEFogAhAHAAsgAyACNQIYPgLMAyADQQA2AsgDQdSJC0EANgIAIAMgAykCyAM3AxhBKSADQcQDaiADQRhqEAIhAkHUiQsoAgAhFUHUiQtBADYCACAVQQFGDQEgASACKAIANgIcIAEgASgCJDYCKCABKAJEBEAgAUFAaygCACICBEADQCACKAIAIRYgAhBaIBYiAg0ACwtBACECIAFBADYCQAJAIAEoAjwiBEUNACAEQQRPBEAgBEF8cSEHA0AgAkECdCIFIAEoAjhqQQA2AgAgASgCOCAFakEANgIEIAEoAjggBWpBADYCCCABKAI4IAVqQQA2AgwgAkEEaiICIAdHDQALCyAEQQNxIgVFDQBBACEEA0AgASgCOCACQQJ0akEANgIAIAJBAWohAiAEQQFqIgQgBUcNAAsLIAFBADYCRAsgASgCWARAIAEoAlQiAgRAA0AgAigC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IAhGDQMLIAEoAgAiAQ0ACwwECxAAIQAMFAsgASgCFCIKDQEMAgsQACEAIAcQWgwSCwNAAkAgCigCCCEFIBUiAiEBAkACQCADKAKsAiIARQ0AA0AgBSAAIgEoAhAiAEkEQCABIQIgASgCACIADQEMAgsgACAFTwRAIAEhBwwDCyABKAIEIgANAAsgAUEEaiECC0HUiQtBADYCAEEEQRgQBiEHQdSJCygCACFEQdSJC0EANgIAIERBAUYNASAHIAU2AhAgByABNgIIIAdCADcCACAHQQA2AhQgAiAHNgIAIAchBCADKAKoAigCACIABEAgAyAANgKoAiACKAIAIQQLIAQgBCADKAKsAiIGRiIAOgAMAkAgAA0AA0AgBCgCCCIALQAMDQECQCAAIAAoAggiASgCACICRgRAAkAgASgCBCICRQ0AIAItAAwNAAwCCwJAIAQgACgCAEYEQCAAIQQMAQsgACAAKAIEIgQoAgAiAjYCBCAAIQYgAgRAIAIgADYCCCAAKAIIIgEoAgAhBgsgBCABNgIIIAEgAUEEaiAAIAZGGyAENgIAIAQgADYCACAAIAQ2AgggBCgCCCIBKAIAIQALIARBAToADCABQQA6AAwgASAAKAIEIgI2AgAgAgRAIAIgATYCCAsgACABKAIIIgI2AgggAiACKAIAIAFHQQJ0aiAANgIAIAAgATYCBCABIAA2AggMAwsCQCACRQ0AIAItAAwNAAwBCwJAIAQgACgCAEcEQCAAIQQMAQsgACAEKAIEIgI2AgAgAgRAIAIgADYCCCAAKAIIIQELIAQgATYCCCABIAFBBGogASgCACAARhsgBDYCACAEIAA2AgQgACAENgIIIAQoAgghAQsgBEEBOgAMIAFBADoADCABIAEoAgQiACgCACICNgIEIAIEQCACIAE2AggLIAAgASgCCCICNgIIIAIgAigCACABR0ECdGogADYCACAAIAE2AgAgASAANgIIDAILIABBAToADCABIAEgBkY6AAwgAkEBOgAMIAYgASIERw0ACwsgAyADKAKwAkEBajYCsAILIAcoAhQhAgJAAkAgAygCoAQiBkUNACAFQZXTx94FbCIAQRh2IABzQZXTx94FbEHUzJ76BnMiAEENdiAAc0GV08feBWwiAEEPdiAAcyIAQQZ0IABBAnZqIAJBldPH3gVsIgFBGHYgAXNBldPH3gVsQdTMnvoGcyIBQQ12IAFzQZXTx94FbCIBQQ92IAFzakHHjKKOBmsgAHMhAAJAIAZpQQFLIgRFBEAgACAGQQFrcSEHDAELIAAiByAGSQ0AIAAgBnAhBwsgAygCnAQgB0ECdGooAgAiAUUNACABKAIAIgFFDQAgBEUEQCAGQQFrIQYDQAJAIAEoAgQiBCAARwRAIAQgBnEgB0YNAQwECyABKAIIIAVHDQAgASgCDCACRg0ECyABKAIAIgENAAsMAQsDQAJAIAEoAgQiBCAARwRAIAQgBk8EfyAEIAZwBSAECyAHRg0BDAMLIAEoAgggBUcNACABKAIMIAJGDQMLIAEoAgAiAQ0ACwsgAyACNgKMByADIAU2AogHIAMoAoQEIAMoAoAEaiIAIAMoAvgDIgQgAygC9AMiAWtBB3RBAWtBACABIARHG0YEQEHUiQtBADYCAEGNxQAgA0HwA2oQCkHUiQsoAgAhRUHUiQtBADYCACBFQQFGDQIgAygC9AMhASADKAKABCADKAKEBGohAAsgASAAQQd2Qfz//w9xaigCACAAQf8DcUEDdGoiACACNgIEIAAgBTYCACADIAMoAoQEQQFqNgKEBEHUiQtBADYCAEGLxQAgA0HwBWogEiAFIAIgA0GIB2oQDEHUiQsoAgAhRkHUiQtBADYCACBGQQFGDQEgAygC8AUiACAAKAIQQQFqNgIQCyAKKAIAIgoNAQwCCwsQACEADBELIANCADcC9AUgAyAQNgLwBSADIAk2AugFAkACQAJ/AkACQAJAAkACQAJAAkACQAJAIAgoAgAiAA5AAQsLCwQCCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCAMLBAsLCwsLCwsLBgALIABB3ABrDgIEAAoLQdSJC0EANgIAQRRBmP0DQeWzA0HqARAIQdSJCygCACFHQdSJC0EANgIAIEdBAUcNJAwICyAIKQIYIXlB1IkLQQA2AgBBjsUAIAggA0HoBWogA0HwBWogeRCoAkHUiQsoAgAhSEHUiQtBADYCACBIQQFGDQcgCCgCDEUNCEEAIQEDQCAIKAIIIAFBA3RqKQIAIXkCQAJAAkACQAJAAkACQAJAIAgoAgAiAEEEaw48AAEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUHAwUHBQUFBQUFBQUCBAsgCCgCECAJRw0GQdSJC0EANgIAQf0FIANBiAdqIANB8AVqIHkgeRDlAkHUiQsoAgAhSUHUiQtBADYCACBJQQFGDQ8MBgsgCCgCICAJRw0FQdSJC0EANgIAQf0FIANBiAdqIANB8AVqIHkgeRDlAkHUiQsoAgAhSkHUiQtBADYCACBKQQFHDQUMDgsgCCgCFCAJRw0EQdSJC0EANgIAQf0FIANBiAdqIANB8AVqIHkgeRDlAkHUiQsoAgAhS0HUiQtBADYCACBLQQFHDQQMDQsgCQ0DQdSJC0EANgIAQf0FIANBiAdqIANB8AVqIHkgeRDlAkHUiQsoAgAhTEHUiQtBADYCACBMQQFHDQMMDAsgAEHcAEYNAQtB1IkLQQA2AgBBDUHBowZBwJADQfkAQcP6BRAFQdSJCygCACFNQdSJC0EANgIAIE1BAUcNJgwKCyAJDQBB1IkLQQA2AgBB/QUgA0GIB2ogA0HwBWogeSB5EOUCQdSJCygCACFOQdSJC0EANgIAIE5BAUcNAAwJCyABQQFqIgEgCCgCDEkNAAsMCAsgCCgCICIADQMMBwsgCEEIagwECyAIKAIgIgBFDQVBACEBA0AgCCgCHCABQQN0aikCACF5AkACQAJAAkACQAJAAkACQCAIKAIAIgJBBGsOPAABBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBwMFBwUFBQUFBQUFAgQLIAgoAhAgCUcNBkHUiQtBADYCAEH9BSADQYgHaiADQfAFaiB5IHkQ5QJB1IkLKAIAIU9B1IkLQQA2AgAgT0EBRg0MDAYLIAAgCUcNBUHUiQtBADYCAEH9BSADQYgHaiADQfAFaiB5IHkQ5QJB1IkLKAIAIVBB1IkLQQA2AgAgUEEBRw0FDAsLIAgoAhQgCUcNBEHUiQtBADYCAEH9BSADQYgHaiADQfAFaiB5IHkQ5QJB1IkLKAIAIVFB1IkLQQA2AgAgUUEBRw0EDAoLIAkNA0HUiQtBADYCAEH9BSADQYgHaiADQfAFaiB5IHkQ5QJB1IkLKAIAIVJB1IkLQQA2AgAgUkEBRw0DDAkLIAJB3ABGDQELQdSJC0EANgIAQQ1BwaMGQcCQA0H5AEHD+gUQBUHUiQsoAgAhU0HUiQtBADYCACBTQQFHDSMMBwsgCQ0AQdSJC0EANgIAQf0FIANBiAdqIANB8AVqIHkgeRDlAkHUiQsoAgAhVEHUiQtBADYCACBUQQFHDQAMBgsgAUEBaiIBIAgoAiAiAEkNAAsMBQsgCEEMagwCC0EAIQEDQCAIKAIcIAFBA3RqKQIAIXkCQAJAAkACQAJAAkACQAJAIAgoAgAiAkEEaw48AAEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUHAwUHBQUFBQUFBQUCBAsgCCgCECAJRw0GQdSJC0EANgIAQf0FIANBiAdqIANB8AVqIHkgeRDlAkHUiQsoAgAhVUHUiQtBADYCACBVQQFGDQoMBgsgACAJRw0FQdSJC0EANgIAQf0FIANBiAdqIANB8AVqIHkgeRDlAkHUiQsoAgAhVkHUiQtBADYCACBWQQFHDQUMCQsgCCgCFCAJRw0EQdSJC0EANgIAQf0FIANBiAdqIANB8AVqIHkgeRDlAkHUiQsoAgAhV0HUiQtBADYCACBXQQFHDQQMCAsgCQ0DQdSJC0EANgIAQf0FIANBiAdqIANB8AVqIHkgeRDlAkHUiQsoAgAhWEHUiQtBADYCACBYQQFHDQMMBwsgAkHcAEYNAQtB1IkLQQA2AgBBDUHBowZBwJADQfkAQcP6BRAFQdSJCygCACFZQdSJC0EANgIAIFlBAUcNIQwFCyAJDQBB1IkLQQA2AgBB/QUgA0GIB2ogA0HwBWogeSB5EOUCQdSJCygCACFaQdSJC0EANgIAIFpBAUcNAAwECyABQQFqIgEgCCgCICIASQ0ACwwDCyAIQTRqCykCACF5QdSJC0EANgIAQY7FACAIIANB6AVqIANB8AVqIHkQqAJB1IkLKAIAIVtB1IkLQQA2AgAgW0EBRw0BCxAAIQAgAygC9AUQYAwRCwJAIAMoAvAFIgUgEEYNAANAAkAgBSkCECF5IBwiBiEBAkACQCADKAKkAyIARQ0AIHlCIIgieqchAiB5pyEEA0ACQAJAIAQgACIBKQIQInunIgAge0IgiCJ7pyIGIAIgAiAGSxsiBhBeIgdFBEAgeiB7VA0BDAILIAdBAE4NAQsgASEGIAEoAgAiAA0BDAILAkAgACAEIAYQXiIARQRAIHoge1YNASABIQcMBAsgAEEASA0AIAEhBwwDCyABKAIEIgANAAsgAUEEaiEGC0HUiQtBADYCAEEEQRwQBiEHQdSJCygCACFcQdSJC0EANgIAIFxBAUYNASAHIHk3AhAgByABNgIIIAdCADcCACAHQQA2AhggBiAHNgIAIAchBCADKAKgAygCACIABEAgAyAANgKgAyAGKAIAIQQLIAQgBCADKAKkAyIGRiIAOgAMAkAgAA0AA0AgBCgCCCIALQAMDQECQCAAIAAoAggiASgCACICRgRAAkAgASgCBCICRQ0AIAItAAwNAAwCCwJAIAQgACgCAEYEQCAAIQQMAQsgACAAKAIEIgQoAgAiAjYCBCAAIQYgAgRAIAIgADYCCCAAKAIIIgEoAgAhBgsgBCABNgIIIAEgAUEEaiAAIAZGGyAENgIAIAQgADYCACAAIAQ2AgggBCgCCCIBKAIAIQALIARBAToADCABQQA6AAwgASAAKAIEIgI2AgAgAgRAIAIgATYCCAsgACABKAIIIgI2AgggAiACKAIAIAFHQQJ0aiAANgIAIAAgATYCBCABIAA2AggMAwsCQCACRQ0AIAItAAwNAAwBCwJAIAQgACgCAEcEQCAAIQQMAQsgACAEKAIEIgI2AgAgAgRAIAIgADYCCCAAKAIIIQELIAQgATYCCCABIAFBBGogASgCACAARhsgBDYCACAEIAA2AgQgACAENgIIIAQoAgghAQsgBEEBOgAMIAFBADoADCABIAEoAgQiACgCACICNgIEIAIEQCACIAE2AggLIAAgASgCCCICNgIIIAIgAigCACABR0ECdGogADYCACAAIAE2AgAgASAANgIIDAILIABBAToADCABIAEgBkY6AAwgAkEBOgAMIAYgASIERw0ACwsgAyADKAKoA0EBajYCqAMLIAcoAhghAgJAAkAgAygCoAQiBkUNACACQZXTx94FbCIAQRh2IABzQZXTx94FbEHUzJ76BnMiAEENdiAAc0GV08feBWwiAEEPdiAAcyAYaiAlakHHjKKOBmsgE3MhAAJAIAZpQQFLIgRFBEAgACAGQQFrcSEHDAELIAAiByAGSQ0AIAAgBnAhBwsgAygCnAQgB0ECdGooAgAiAUUNACABKAIAIgFFDQAgBEUEQCAGQQFrIQYDQAJAIAEoAgQiBCAARwRAIAQgBnEgB0YNAQwECyABKAIIIAlHDQAgASgC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BEEDTwRAA0AgASgCABBaIAMgAygC9ANBBGoiATYC9AMgAygC+AMiBiABa0ECdSIEQQJLDQALC0GAAiECAkACQAJAIARBAWsOAgEAAgtBgAQhAgsgAyACNgKABAsCQCABIAZGDQADQCABKAIAEFogAUEEaiIBIAZHDQALIAMoAvgDIgEgAygC9AMiAkYNACADIAEgAiABa0EDakF8cWo2AvgDCyADKALwAyIBBEAgARBaCyADKALYBSIBBEAgAyABNgLcBSABEFoLIAMoAswFIgEEQANAIAEoAgAhdCABEFogdCIBDQALCyADKALEBSEBIANBADYCxAUgAQRAIAEQWgsgAygCuAUiAQRAA0AgASgCACF1IAEQWiB1IgENAAsLIAMoArAFIQEgA0EANgKwBSABBEAgARBaCyADKAKIBSIBBEAgAyABNgKMBSABEFoLDAULQdSJC0EANgIAQQ0gBEG4swIgBSAAEAVB1IkLKAIAIXZB1IkLQQA2AgAgdkEBRw0IEAAhACADKAKIBSIBRQ0EIAMgATYCjAUgARBaDAQLEAAhAAwECyADKALMAyEOCyAOBEAgAyAONgLQAyAOEFoLIAMoAsADIgEEQANAIAEoAgAhdyABEFogdyIBDQALCyADKAK4AyEAIANBADYCuAMgAARAIAAQWgsgAygCsAMQsQggAygCpAMQsAggAygCjAMiAARAIAMgADYCkAMgABBaCyADKAKsAhC1BSADKAKcAiIABEAgAyAANgKgAiAAEFoLIAMoAtwBIgAEQCADIAA2AuABIAAQWgsgFBDfAhogA0GQB2okAA8LEAAhACADKAKIBSIBRQ0AIAMgATYCjAUgARBaCyADKALMAyIBRQ0AIAMgATYC0AMgARBaCyAdEKIBDAQLEAAhAAwDC0HUiQtBADYCAEENIAAgBiABIAIQBUHUiQsoAgAheEHUiQtBADYCACB4QQFGDQELAAsQACEACyARKAJ8ELEIIBEoAnAQsAggESgCWCIBBEAgESABNgJcIAEQWgsLIB4QqQogFBDfAhogABAHAAsZACABKAIAIAIoAgBGIAEoAgggAigCCEZxCw0AIAEoAgAgAigCAEYL1AcBCX8jAEHQAGsiAyQAAkACQCACKAIEIgRBB08EQCAEKAIEDQEgBCgCDCAEKAIIa0EERg0BDAILIARFDQELIANB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IAIQWgsgARBaIAUiAQ0ACwsgACgCKCEBIABBADYCKCABBEAgARBaCyAAKAIcIgEEQANAIAEoAgAhBiABKAIMIgIEQCABIAI2AhAgAhBaCyABEFogBiIBDQALCyAAKAIUIQEgAEEANgIUIAEEQCABEFoLIABBkO0JNgIAIAAsABNBAEgEQCAAKAIIEFoLIAALuQIBBn8jAEEQayIGJAACQCAAKAKEASIFKAIEIgQEQCAEIQIDQCABIAIoAhAiA08EfyABIANNDQMgAkEEagUgAgsoAgAiAg0ACwtB898FQdORA0GtAkGJ1AIQAQALAkACfwNAIAEgBCICKAIQIgRJBEAgAigCACIEDQEgAgwCCyABIARNBEAgAiEDDAMLIAIoAgQiBA0ACyACQQRqCyEEQSAQXCIDIAE2AhAgAyACNgIIIANCADcCACADQgA3AhQgA0EANgIcIAQgAzYCACADIQIgBSgCACgCACIHBEAgBSAHNgIAIAQoAgAhAgsgBSgCBCACEGcgBSAFKAIIQQFqNgIICyAAKAKYASEAIAYgATYCDCAARQRAEOcCAAsgACAGQQxqIANBFGogACgCACgCGBEDACAGQRBqJAALfwEDfyAAQezbBzYCAAJAAkAgACgCmAEiASAAQYgBaiICRgRAQQQhAyACIQEMAQtBBSEDIAFFDQELIAEgASgCACADQQJ0aigCABEBAAsgACgCbCICBEAgACACNgJwIAIQWgsgAEGQ7Qk2AgAgACwAE0EASARAIAAoAggQWgsgAAvcAgEEfyAAIAEtACA6AAAgACABLQAhOgABIAAgASgCUDYCBCAAIAEoAlQiATYCCCABBEAgASABKAIEQQFqNgIECyAAIAI2AgwgAigChAEhAiAAQRxqIgFCADcCACAAQQA7ARQgACACNgIQIABBKGoiAkIANwIAIAAgATYCGCAAQTRqIgRCADcCACAAIAI2AiQgAEFAayIFQgA3AgAgACAENgIwIABB5ABqIgRCADcCACAAIAU2AjwgAEIANwJIIABCADcCUCAAQgA3AVYgACAENgJgIABB8ABqIgRCADcCACAAIAQ2AmwgAygCMCEDQdSJC0EANgIAQaAnIAAgAxADQdSJCygCACEGQdSJC0EANgIAIAZBAUcEQCAAQQA6ABQgACgCKBBvIAAgAjYCJCAAQgA3AiggACgC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Rw0DIAhBDGohBiABKAIYIAEoAhRrIgRBDG0iCSAIKAIQIgEgCCgCDCIKayILSwRAIAkgC2siByAIKAIUIgAgAWtNBEAgAUEAIAf8CwAgCCABIAdqNgIQDAILIARBAEgNBUEAIQNB/////wcgACAKayIEQQF0IgAgCSAAIAlLGyAEQf////8DTxsiBRBcIgQgC2oiAkEAIAf8CwAgASAKRwRAAkAgC0EDcSIHRQRAIAEhAAwBCyABIQADQCACQQFrIgIgAEEBayIALQAAOgAAIANBAWoiAyAHRw0ACwsgCiABa0F8TQRAA0AgAkEBayAAQQFrLQAAOgAAIAJBAmsgAEECay0AADoAACACQQNrIABBA2stAAA6AAAgAkEEayICIABBBGsiAC0AADoAACAAIApHDQALCyAEIQILIAggBCAFajYCFCAIIAQgCWo2AhAgCCACNgIMIApFDQEgChBaDAELIAkgC08NACAIIAkgCmo2AhALIAxBEGokACAGDwtBgPkFQZqOA0E6QaaIBRABAAsQACESIAxBBGoQqgMgEhAHAAtBmfkFQbizAkHlCUHohgEQAQALEGQAC4sDAQd/IwBBIGsiBCQAAkACQCABKAIUIgNFBEBBACEBDAELIAEoAhAgA0ECdGpBBGsoAgAhASACKAIAIQVB1IkLQQA2AgAgBEHE7gk2AgggBCAEQQhqIgM2AhhB/wIgBSABIAMQBCEIQdSJCygCACEHQdSJC0EANgIAIAdBAUYNAQJAAkAgAyAEKAIYIgFGBEBBBCEFIAMhAQwBC0EFIQUgAUUNAQsgASABKAIAIAVBAnRqKAIAEQEAC0EAIQEgCEUNACACKAIAIQMgACgCfEGoAWoiAEEgQQQQXSIBQgA3AgQgAUEBNgIAIAFCADcCDCABQgA3AhQgASAANgIcIAMEQCABQQI2AhggASAAQQhBBBBdIgA2AhAgACADNgIAIAFBATYCFCABQQBBAEEAEOYBCyACIAE2AgALIARBIGokACABDwsQACEJAkACQCAEKAIYIgEgBEEIaiICRgRAQQQhACACIQEMAQtBBSEAIAFFDQELIAEgASgCACAAQQJ0aigCABEBAAsgCRAHAAucAgEGfyAAKAIEIgIgACgCCCIESQRAIAIgASkCADcCACACIAEoAgg2AgggACACQQxqNgIEDwsCQCACIAAo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DQELIAJBMBBcIgE2AvQCIAJCooCAgICGgICAfzcC+AIgAUHD2wMvAAA7ACAgAUG72wMpAAA3ABggAUGz2wMpAAA3ABAgAUGr2wMpAAA3AAggAUGj2wMpAAA3AAAgAUEAOgAiQdSJC0EANgIAQdcAIAAgAkH0AmoQA0HUiQsoAgAhC0HUiQtBADYCACALQQFHDQEMAwsgAkEgEFwiATYC6AIgAkKYgICAgISAgIB/NwLsAiABQf2iASkAADcAECABQfWiASkAADcACCABQe2iASkAADcAACABQQA6ABhB1IkLQQA2AgBB1wAgACACQegCahADQdSJCygCACEMQdSJC0EANgIAIAxBAUcNAAwCCyABEFoLAkACQCAAKAIcQQFMBEAgACgCIEECSA0BCyACQRAQXCIBNgLcAiACQoyAgICAgoCAgH83AuACIAFB1qsDKAAANgAIIAFBzqsDKQAANwAAIAFBADoADEHUiQtBADYCAEHXACAAIAJB3AJqEANB1IkLKAIAIQ1B1IkLQQA2AgAgDUEBRg0BIAEQWgsgACgCBC0AhQFBAnEEQCACQSAQXCIBNgLQAiACQpKAgICAhICAgH83AtQCIAFB29YCLwAAOwAQIAFB09YCKQAANwAIIAFBy9YCKQAANwAAIAFBADoAEkHUiQtBADYCAEHXACAAIAJB0AJqEANB1IkLKAIAIQ5B1IkLQQA2AgAgDkEBRg0BIAEQWgsgAkEgEFwiATYCxAIgAkKbgICAgISAgIB/NwLIAiABQfbgAygAADYAFyABQe/gAykAADcAECABQefgAykAADcACCABQd/gAykAADcAACABQQA6ABtB1IkLQQA2AgBB1wAgACACQcQCahADQdSJCygCACEDQdSJC0EANgIAAkACQCADQQFHBEAgARBaIAJBtuMCLwAAOwG8AiACQQA6AL4CIAJBsuMCKAAANgK4AiACQQY6AMMCIAAgAkG4AmoQxQMgAkEQEFwiATYCrAIgAkKOgICAgIKAgIB/NwKwAiABQfO5ASkAADcABiABQe25ASkAADcAACABQQA6AA5B1IkLQQA2AgBB1wAgACACQawCahADQdSJCygCACEPQdSJC0EANgIAIA9BAUYNBCABEFogAkEgEFwiATYCoAIgAkKRgICAgISAgIB/NwKkAiABQYqtAS0AADoAECABQYKtASkAADcACCABQfqsASkAADcAACABQQA6ABFB1IkLQQA2AgBB1wAgACACQaACahADQdSJCygCACEQQdSJC0EANgIAIBBBAUYNBCABEFoCQCAAKAIcIgFBAkgNACAAKAIELQCFAUEEcUUNACACQeP0Ai8AADsBmAIgAkGAFDsBmgIgAkHb9AIpAAA3A5ACIAAgAkGQAmoQxQMgACgCHCEBCyABQQJMBEAgACgCIEECSA0DCyACQRAQXCIBNgKEAiACQoyAgICAgoCAgH83AogCIAFBhLoBKAAANgAIIAFB/LkBKQAANwAAIAFBADoADEHUiQtBADYCAEHXACAAIAJBhAJqEANB1IkLKAIAIRFB1IkLQQA2AgAgEUEBRw0BDAQLDAMLIAEQWiAAKAIcIQELAkAgAUECSA0AIAAoAgQtAIUBQQRxRQ0AIAJBEBBcIgE2AvgBIAJCjoCAgICCgICAfzcC/AEgAUGVnAEpAAA3AAYgAUGPnAEpAAA3AAAgAUEAOgAOQdSJC0EANgIAQdcAIAAgAkH4AWoQA0HUiQsoAgAhEkHUiQtBADYCACASQQFGDQIgARBaIAJBEBBcIgE2AuwBIAJCj4CAgICCgICAfzcC8AEgAUGqqAMpAAA3AAcgAUGjqAMpAAA3AAAgAUEAOgAPQdSJC0EANgIAQdcAIAAgAkHsAWoQA0HUiQsoAgAhE0HUiQtBADYCACATQQFGDQIgARBaCyACQRAQXCIBNgLgASACQo+AgICAgoCAgH83AuQBIAFBkLoBKQAANwAHIAFBiboBKQAANwAAIAFBADoAD0HUiQtBADYCAEHXACAAIAJB4AFqEANB1IkLKAIAIRRB1IkLQQA2AgAgFEEBRg0AIAEQWgJAIAAoAhxBAkwEQCAAKAIgQQBMDQELIAJBADoA2QEgAkGs3wMtAAA6ANgBIAJBCToA2wEgAkGk3wMpAAA3A9ABIAAgAkHQAWoQxQMLIAJBEBBcIgE2AsQBIAJCj4CAgICCgICAfzcCyAEgAUHSuQEpAAA3AAcgAUHLuQEpAAA3AAAgAUEAOgAPQdSJC0EANgIAQdcAIAAgAkHEAWoQA0HUiQsoAgAhFUHUiQtBADYCACAVQQFGDQEgARBaIAJBtuMCLwAAOwG8ASACQQA6AL4BIAJBsuMCKAAANgK4ASACQQY6AMMBIAAgAkG4AWoQxQMgAkEQEFwiATYCrAEgAkKOgICAgIKAgIB/NwKwASABQfO5ASkAADcABiABQe25ASkAADcAACABQQA6AA5B1IkLQQA2AgBB1wAgACACQawBahADQdSJCygCACEWQdSJC0EANgIAIBZBAUYNASABEFogAkEQEFwiATYCoAEgAkKPgICAgIKAgIB/NwKkASABQZC6ASkAADcAByABQYm6ASkAADcAACABQQA6AA9B1IkLQQA2AgBB1wAgACACQaABahADQdSJCygCACEXQdSJC0EANgIAIBdBAUYNASABEFogAkEQEFwiATYClAEgAkKOgICAgIKAgIB/NwKYASABQfO5ASkAADcABiABQe25ASkAADcAACABQQA6AA5B1IkLQQA2AgBB1wAgACACQZQBahADQdSJCygCACEYQdSJC0EANgIAIBhBAUYNASABEFogAkEAOgCOASACQbbjAi8AADsBjAEgAkEGOgCTASACQbLjAigAADYCiAEgACACQYgBahDFAwJAIAAoAhxBAkwEQCAAKAIgQQBMDQELIAJBEBBcIgE2AnwgAkKMgICAgIKAgIB/NwKAASABQYKsAygAADYACCABQfqrAykAADcAACABQQA6AAxB1IkLQQA2AgBB1wAgACACQfwAahADQdSJCygCACEZQdSJC0EANgIAIBlBAUYNAiABEFoLIAJBEBBcIgE2AnAgAkKMgICAgIKAgIB/NwJ0IAFB2L0BKAAANgAIIAFB0L0BKQAANwAAIAFBADoADEHUiQtBADYCAEHXACAAIAJB8ABqEANB1IkLKAIAIRpB1IkLQQA2AgAgGkEBRg0BIAEQWiACQSAQXCIBNgJkIAJCkYCAgICEgICAfzcCaCABQYqtAS0AADoAECABQYKtASkAADcACCABQfqsASkAADcAACABQQA6ABFB1IkLQQA2AgBB1wAgACACQeQAahADQdSJCygCACEbQdSJC0EANgIAIBtBAUYNASABEFogAkEgEFwiATYCWCACQpOAgICAhICAgH83AlwgAUHB1QEoAAA2AA8gAUG61QEpAAA3AAggAUGy1QEpAAA3AAAgAUEAOgATQdSJC0EANgIAQdcAIAAgAkHYAGoQA0HUiQsoAgAhHEHUiQtBADYCACAcQQFGDQEgARBaIAJBEBBcIgE2AkwgAkKMgICAgIKAgIB/NwJQ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ACgCnAEiAyADQQFrIgFxRQRAIAEgAnEhAgwBCyACIANJDQAgAiADcCECCwJAAkAgCCgCACACQQJ0aiIBKAIAIgJFBEAgBCAAQaABaiICKAIANgIAIAAgBDYCoAEgASACNgIAIAQoAgAiAUUNAiABKAIEIQICQCADIANBAWsiAXFFBEAgASACcSECDAELIAIgA0kNACACIANwIQILIAgoAgAgAkECdGohAgwBCyAEIAIoAgA2AgALIAIgBDYCAAsgACAAKAKkAUEBajYCpAELIAQgBzYCDAwCCyAEKAIMIQcMAQsQACEPIAQQWiAPEAcACyAJQRBqJAAgBwsPACAAEOsKIABBADYCjAELqgIBBn8CQAJAIAEoAgAiBCgCAEEzRgRAIABBwAFqEP8FIAAoAtABIgEgACgC1AEiAkkEQCABIAQ2AgAgACABQQRqNgLQAQ8LIAEgACgCzAEiBWtBAnUiB0EBaiIDQYCAgIAETw0BQf////8DIAIgBWsiAkEBdSIGIAMgAyAGSRsgAkH8////B08bIgIEfyACQYCAgIAETw0DIAJBAnQQXAVBAAsiBiAHQQJ0aiIDIAQ2AgAgA0EEaiEEIAEgBUcEQANAIANBBGsiAyABQQRrIgEoAgA2AgAgASAFRw0ACyAAKALMASEBCyAAIAYgAkECdGo2AtQBIAAgBDYC0AEgACADNgLMASABBEAgARBaCw8LQfDtBUHFmANBlAZBjd4AEAEACxBkAAsQagALywQBBn8gACgCzAIQ7QogACgCvAIiAQRAIAAgATYCwAIgARBaCyAAKAKsAiIBBEADQCABKAIAIQUgARBaIAUiAQ0ACwsgACgCpAIhASAAQQA2AqQCIAEEQCABEFoLIAAoApgCIgEEQCAAIAE2ApwCIAEQWgsgACgCjAIiAQRAA0AgASgCACEGIAEQWiAGIgENAAsLIAAoAoQCIQEgAEEANgKEAiABBEAgARBaCyAAKAL4ARDfCCAAKALkASIBBEAgACABNgLoASABEFoLIAAoAtgBIgMEQCAAKALcASICIAMiAUcEQANAIAJBDGsiASgCACIEBEAgAkEIayAENgIAIAQQWgsgASICIANHDQALIAAoAtgBIQELIAAgAzYC3AEgARBaCyAAKALMASIBBEAgACABNgLQASABEFoLIAAoAsABIgMEQCAAKALEASICIAMiAUcEQANAIAJBDGsiASgCACIEBEAgAkEIayAENgIAIAQQWgsgASICIANHDQALIAAoAsABIQELIAAgAzYCxAEgARBaCyAAKAK0ASIBBEAgACABNgK4ASABEFoLIAAoAqgBIgEEQCAAIAE2AqwBIAEQWgsgACgCnAEiAQRAIAAgATYCoAEgARBaCyAAKAKUARDsCiAAKAKAASIBBEAgACABNgKEASABEFoLIAAoAnQiAgRAIAIhAyACIAAoAngiAUcEQANAIAFBBGsQuQIiASACRw0ACyAAKAJ0IQMLIAAgAjYCeCADEFoLIAAoAlgiAQRAIAAgATYCXCABEFoLC6OMAQNZfwF+An0jAEHQA2siBSQAIAAoAoABIgYiA0EMaiIEIQICQAJAIAMoAgwiA0UNAANAIAEgAyICKAIQIgNJBEAgAiEEIAIoAgAiAw0BDAILIAEgA00EQCACIQMMAwsgAigCBCIDDQALIAJBBGohBAtBwAAQXCIDQgA3AiAgA0IANwI4IANCADcCMCADIAE2AhAgAyACNgIIIANCADcCACADQRhqIgJCADcCACADQgA3AiggAyACNgIUIAMgA0EkajYCICADQgA3ADUgBCADNgIAIAMhAiAGKAIIKAIAIgcEQCAGIAc2AgggBCgCACECCyAGKAIMIAIQZyAGIAYoAhBBAWo2AhALAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAy0AOEUNACADLQA6DQAgBUG8AWoiAkIANwIAIAVCADcCgAEgBUIANwKIASAFQgA3ApABIAVCADcCmAEgBUIANwKgASAFQgA3AqgBIAVBADYCsAEgBUGgAmoiBEIANwIAIAVCADcCKCAFIAI2ArgBIAVBxAFqQQBB1gD8CwAgBUIANwK0AiAFQYCAgPwDNgK8AiAFQgA3AsgCIAVCADcC0AIgBUIANwLgAiAFQoCAgICAgIDAPzcC2AIgBUIANwLoAiAFQfQCaiICQgA3AgAgBUIANwKsAiAFIAQ2ApwCIAVCADcCwAIgBSACNgLwAiAFIAAoAnw2ApABIAUgATYCjAFBj+IDIQdB2wkhA0G4swIhCEHhlQYhBiABKAIcIgJBEEkNCyACKAIQDQsCfwJAIAIoAhQiAkEHSQ0AIAIoAgQNACACKAIMIAIoAghrQQJ1DAELIAJBAEcLIQIgASgCKCEGIAEoAiQhB0EAIQMgBUEANgLEAiAFIAYgB2tBAnUgAmoiAjYC4AIgBSACNgKoAiACQYBAakGBQE8EQEHUiQtBADYCAEHXHCAFQcACaiACIAJsEANB1IkLKAIAIRxB1IkLQQA2AgAgHEEBRg0OIAUoAuQCIQMgBSgCqAIhAgsgBSADNgLoAiACBEBB1IkLQQA2AgBB2BwgBUHkAmogAhADQdSJCygCACEdQdSJC0EANgIAIB1BAUYNDgsgBSgCoAEiAiAFKAKcASIDRwRAA0AgAkEEaxC5AiICIANHDQALCyAFIAM2AqABIAUoAqACEN8IIAUgBDYCnAIgBUIANwKgAkHUiQtBADYCAEEEQTwQBiEEQdSJCygCACEeQdSJC0EANgIAIB5BAUYNDSAEQgA3AgAgBEEANgI4IARCADcCMCAEQgA3AiggBEIANwIgIARCADcCGCAEQgA3AhAgBEIANwIIIAUgBDYCtAEgBSAENgKwAwJAIAUoAqABIgIgBSgCpAEiCEkEQCAFQQA2ArADIAIgBDYCACAFIAJBBGo2AqABDAELIAIgBSgCnAEiBmtBAnUiCUEBaiIDQYCAgIAETwRAQdSJC0EANgIAQdkcEAlB1IkLKAIAIR9B1IkLQQA2AgAgH0EBRw0ODAwLQQAhB0H/////AyAIIAZrIghBAXUiCiADIAMgCkkbIAhB/P///wdPGyIIBEAgCEGAgICABE8EQEHUiQtBADYCAEEDEAlB1IkLKAIAISBB1IkLQQA2AgAgIEEBRw0PDA0LQdSJC0EANgIAQQQgCEECdBAGIQdB1IkLKAIAISFB1IkLQQA2AgAgIUEBRg0MCyAFQQA2ArADIAcgCUECdGoiAyAENgIAIAcgCEECdGohBCADQQRqIQcCQCACIAZHBEADQCACQQRrIgIoAgAhCCACQQA2AgAgA0EEayIDIAg2AgAgAiAGRw0ACyAFIAQ2AqQBIAUoAqABIQQgBSAHNgKgASAFKAKcASECIAUgAzYCnAEgAiAERg0BA0AgBEEEaxC5AiIEIAJHDQALDAELIAUgBDYCpAEgBSAHNgKgASAFIAM2ApwBCyACRQ0AIAIQWgsgBUGwA2oQuQIaIAUgBSgCtAE2ApQBQdD4AiEHQdOZAyEIQQAgBSgCLGsgBSgChAEgBSgCgAFrQQN1RwRAQcgCIQNBzcoFIQYMDAsgAUEwaiIWKAIARQRAQa73AiEHQbkCIQNBgYMCIQYMDAtB1IkLQQA2AgBB2hwgBUEsakHbHCAWEAhB1IkLKAIAISJB1IkLQQA2AgAgIkEBRg0NAkACQAJAAkACQEEAIAUoAiwiBGsgBSgChAEiAiAFKAKAASIDa0EDdUcEQCAFQTBqIQYDQAJAIAIgA0YEQCAERQRAQf37AiEHQdoAIQNBsJQDIQhB3sQFIQYMFQsgBiAEQQFrIgRBA3RqIgMoAgQhAiADKAIAIQMgBSAENgIsDAELIAJBCGsiBCgCACEDIAQoAgQhAiAFIAQ2AoQBCyAFIAI2AiggAigCAEUEQEHNAiEDQfWCAiEGDBMLQdSJC0EANgIAIAMgBUEoaiACEANB1IkLKAIAISNB1IkLQQA2AgAgI0EBRg0CQQAgBSgCLCIEayAFKAKEASICIAUoAoABIgNrQQN1Rw0ACwsCQCAFKAK0ASIDRQ0AIAVBADYCtAEgBSgCmAEiBEUEQCAFIAM2ApgBDAELIAUtAJgCRQRAQdSJC0EANgIAQQRBPBAGIQJB1IkLKAIAISRB1IkLQQA2AgAgJEEBRg0UIAJCADcCACACQQA2AjggAkIANwIwIAJCADcCKCACQgA3AiAgAkIANwIYIAJCADcCECACQgA3AghB1IkLQQA2AgAgBSACNgKYAUHcHCAEIAIQA0HUiQsoAgAhJUHUiQtBADYCACAlQQFGDRRB1IkLQQA2AgBB3BwgAyAFKAKYARADQdSJCygCACEmQdSJC0EANgIAICZBAUYNFCAFQQE6AJgCDAELQdSJC0EANgIAQdwcIAMgBBADQdSJCygCACEnQdSJC0EANgIAICdBAUYNEwsgBS0AmAJFDQQgBSAFKAKYASIINgKwAyAFKAKgASICIAUoAqQBIgZJBEAgBUEANgKwAyACIAg2AgAgBSACQQRqNgKgAQwECyACIAUoApwBIgRrQQJ1IglBAWoiA0GAgICABE8EQEHUiQtBADYCAEHZHBAJQdSJCygCACEoQdSJC0EANgIAIChBAUcNEgwPC0EAIQdB/////wMgBiAEayIGQQF1IgogAyADIApJGyAGQfz///8HTxsiBgRAIAZBgICAgARPBEBB1IkLQQA2AgBBAxAJQdSJCygCACEpQdSJC0EANgIAIClBAUcNEwwQC0HUiQtBADYCAEEEIAZBAnQQBiEHQdSJCygCACEqQdSJC0EANgIAICpBAUYNDwsgBUEANgKwAyAHIAlBAnRqIgMgCDYCACAHIAZBAnRqIQYgA0EEaiEHIAIgBEYNAQNAIAJBBGsiAigCACEIIAJBADYCACADQQRrIgMgCDYCACACIARHDQALIAUgBjYCpAEgBSgCoAEhBCAFIAc2AqABIAUoApwBIQIgBSADNgKcASACIARGDQIDQCAEQQRrELkCIgQgAkcNAAsMAgsQACEDDBILIAUgBjYCpAEgBSAHNgKgASAFIAM2ApwBCyACRQ0AIAIQWgsgBUGwA2oQuQIaC0GJ1AIhB0GbmgMhCCAFKALAAQRAQYwEIQNBuMoFIQYMDAsgBSgCyAEgBSgCxAFHBEBBjQQhA0HjywUhBgwMCyAFKALUASAFKALQAUcEQEGOBCEDQa/LBSEGDAwLIAUoAuABIAUoAtwBRwRAQY8EIQNB38oFIQYMDAsgBSgC7AEgBSgC6AFHBEBBkAQhA0H0ygUhBgwMCyAFKAL4ASAFKAL0AUcEQEGRBCEDQZPLBSEGDAwLIAUoAoQCIAUoAoACRwRAQZIEIQNBxcsFIQYMDAsgBUIANwOgAyAFQgA3A5gDIAVBgICA/AM2AqgDIAUoApQBIQIgBUIANwO4AyAFQgA3A7ADIAVBgICA/AM2AsADQdSJC0EANgIAQd0cIAVBgANqIAVBsANqIAIQCEHUiQsoAgAhAkHUiQtBADYCAAJAAkACQAJAIAJBAUcEQAJAIAUoArwDRQ0AA0AgBSgCuAMiAygCCCECIAVBsANqIAMQ3ghB1IkLQQA2AgBB3RwgBUGAA2ogBUGYA2ogAhAIQdSJCygCACErQdSJC0EANgIAICtBAUYNDwJAIAIoAiQiCSACKAIoIgpHBEADQCAJKAIAIQYCQAJAIAUoApwDIgRFDQAgBkGV08feBWwiAkEYdiACc0GV08feBWxB1Mye+gZzIgJBDXYgAnNBldPH3gVsIgJBD3YgAnMhAyAFKAKYAyEsAkAgBGlBAUsiB0UEQCADIARBAWtxIQgMAQsgAyIIIARJDQAgAyAEcCEICyAsIAhBAnRqKAIAIgJFDQAgAigCACICRQ0AIAdFBEAgBEEBayEEA0ACQCACKAIEIgcgA0cEQCAEIAdxIAhGDQEMBAsgAigCCCAGRg0ECyACKAIAIgINAAsMAQsDQAJAIAIoAgQiByADRwRAIAQgB00EfyAHIARwBSAHCyAIRg0BDAMLIAIoAgggBkYNAwsgAigCACICDQALC0HUiQtBADYCAEHdHCAFQYADaiAFQbADaiAGEAhB1IkLKAIAIS1B1IkLQQA2AgAgLUEBRg0DCyAJQQRqIgkgCkcNAAsLIAUoArwDRQ0CDAELCwwOCyAFKAK4AyICBEADQCACKAIAIS4gAhBaIC4iAg0ACwsgBSgCsAMhAiAFQQA2ArADIAIEQCACEFoLIAUoArgCBEAgBSgCtAIiAgRAA0AgAigCACEvIAIQWiAvIgINAAsLQQAhAiAFQQA2ArQCAkAgBSgCsAIiA0UNACADQQRPBEAgA0F8cSEGA0AgAkECdCIEIAUoAqwCakEANgIAIAUoAqwCIARqQQA2AgQgBSgCrAIgBGpBADYCCCAFKAKsAiAEakEANgIMIAJBBGoiAiAGRw0ACwsgA0EDcSIERQ0AQQAhAwNAIAUoAqwCIAJBAnRqQQA2AgAgAkEBaiECIANBAWoiAyAERw0ACwsgBUEANgK4AgsgBSgCmAMhAyAFQQA2ApgDIAUoAqwCIQIgBSADNgKsAiACBEAgAhBaCyAFIAUoApwDIgM2ArACIAVBtAJqIgQgBSgCoAMiAjYCACAFQQA2ApwDIAUgBSgCpAMiBjYCuAIgBSAFKgKoAzgCvAIgBkUNAyACKAIEIQIgAyADQQFrIgZxDQEgAiAGcSECDAILDAwLIAIgA0kNACACIANwIQILIAUoAqwCIAJBAnRqIAQ2AgAgBUIANwOgAwwBCyACRQ0AA0AgAigCACEwIAIQWiAwIgINAAsLIAUoApgDIQIgBUEANgKYAyACBEAgAhBaCyAFQgA3A4gDIAVCADcDgAMgBSAFKAK8AjYCkANB1IkLQQA2AgBB3hwgBUGAA2ogBSgCsAIQA0HUiQsoAgAhMUHUiQtBADYCACAxQQFGDQcgBSgCtAIiAgRAA0AgAigCCCEDQdSJC0EANgIAQd0cIAVBsANqIAVBgANqIAMQCEHUiQsoAgAhMkHUiQtBADYCACAyQQFGDQkgAigCACICDQALCyAFKAKcASIIIAUoAqABIhBHBEADQCAIKAIAIQMCQAJAAkAgBSgChAMiBkUNACADQZXTx94FbCICQRh2IAJzQZXTx94FbEHUzJ76BnMiAkENdiACc0GV08feBWwiAkEPdiACcyEEIAUoAoADIQcCQCAGaUEBSyINRQRAIAQgBkEBa3EhCQwBCyAEIgkgBkkNACAEIAZwIQkLIAcgCUECdGooAgAiAkUNACACKAIAIgJFDQAgBkEBayELIA1FBEADQAJAIAIoAgQiCiAERwRAIAogC3EgCUYNAQwECyACKAIIIANGDQQLIAIoAgAiAg0ADAILAAsDQAJAIAIoAgQiCiAERwRAIAYgCk0EfyAKIAZwBSAKCyAJRg0BDAMLIAIoAgggA0YNAwsgAigCACICDQALCyADIAMoAjA2AjQgCCgCACICIAIoAiQ2AigMAQsCQAJAIAMoAjAiCiADIgQoAjQiD0YNACANRQRAA0AgByAKKAIAIglBldPH3gVsIgJBGHYgAnNBldPH3gVsQdTMnvoGcyICQQ12IAJzQZXTx94FbCICQQ92IAJzIgwgC3EiDkECdGooAgAiAkUNAiACKAIAIgJFDQIDQAJAAkAgAigCBCIRIAxHBEAgCyARcSAORg0BDAYLIAIoAgggCUYNAQsgAigCACICDQEMBAsLIApBBGoiCiAPRw0ADAMLAAsDQCAKKAIAIhFBldPH3gVsIgJBGHYgAnNBldPH3gVsQdTMnvoGcyICQQ12IAJzQZXTx94FbCICQQ92IAJzIgwhCSAGIAxNBEAgDCAGcCEJCyAHIAlBAnRqKAIAIgJFDQEgAigCACICRQ0BA0ACQAJAIAIoAgQiDiAMRwRAIAYgDk0EfyAOIAZwBSAOCyAJRw0FDAELIAIoAgggEUYNAQsgAigCACICDQEMAwsLIA8gCkEEaiIKRw0ACwwBCyAKIA9GDQAgDyAKQQRqIgxHBEADQCAMKAIAIglBldPH3gVsIgJBGHYgAnNBldPH3gVsQdTMnvoGcyICQQ12IAJzQZXTx94FbCICQQ92IAJzIQMgBSgCgAMhAgJAIA1FBEAgAyALcSEHDAELIAMiByAGSQ0AIAMgBnAhBwsCQCACIAdBAnRqKAIAIgJFDQAgAigCACICRQ0AAkAgDUUEQANAAkAgAigCBCIOIANHBEAgCyAOcSAHRg0BDAULIAIoAgggCUYNAwsgAigCACICDQAMAwsACwNAAkAgAigCBCIOIANHBEAgBiAOTQR/IA4gBnAFIA4LIAdGDQEMBAsgAigCCCAJRg0CCyACKAIAIgINAAsMAQsgCiAJNgIAIApBBGohCgsgDEEEaiIMIA9HDQALIAgoAgAiAygCNCEPCyAKIA9GDQAgBCgCNCIGIAogDyAKa2oiAmshAyACIAZHBEAgCiACIAP8CgAACyAEIAMgCmo2AjQgCCgCACEDCwJAIAMoAiQiCiADIgQoAigiC0YNACAFKAKEAyIDRQ0AIAUoAoADIQwgAyADQQFrIgZxRQRAA0AgDCAKKAIAIgNBldPH3gVsIgJBGHYgAnNBldPH3gVsQdTMnvoGcyICQQ12IAJzQZXTx94FbCICQQ92IAJzIgcgBnEiCUECdGooAgAiAkUNAiACKAIAIgJFDQIDQAJAAkAgAigCBCINIAdHBEAgBiANcSAJRg0BDAYLIAIoAgggA0YNAQsgAigCACICDQEMBAsLIApBBGoiCiALRw0ADAMLAAsDQCAKKAIAIg1BldPH3gVsIgJBGHYgAnNBldPH3gVsQdTMnvoGcyICQQ12IAJzQZXTx94FbCICQQ92IAJzIgYhByADIAZNBEAgBiADcCEHCyAMIAdBAnRqKAIAIgJFDQEgAigCACICRQ0BA0ACQAJAIAIoAgQiCSAGRwRAIAMgCU0EfyAJIANwBSAJCyAHRg0BDAULIAIoAgggDUYNAQsgAigCACICDQEMAwsLIAsgCkEEaiIKRw0ACwwBCyAKIAtGDQACQCAKQQRqIg0gC0YNACAFKAKEAyIHRQ0AIAdBAWshDyAHaSEOA0AgDSgCACIJQZXTx94FbCICQRh2IAJzQZXTx94FbEHUzJ76BnMiAkENdiACc0GV08feBWwiAkEPdiACcyEDIAUoAoADIQICQCAOQQFLIgxFBEAgAyAPcSEGDAELIAMiBiAHSQ0AIAMgB3AhBgsCQCACIAZBAnRqKAIAIgJFDQAgAigCACICRQ0AAkAgDEUEQANAAkAgAigCBCIMIANHBEAgDCAPcSAGRg0BDAULIAIoAgggCUYNAwsgAigCACICDQAMAwsACwNAAkAgAigCBCIMIANHBEAgByAMTQR/IAwgB3AFIAwLIAZGDQEMBAsgAigCCCAJRg0CCyACKAIAIgINAAsMAQsgCiAJNgIAIApBBGohCgsgDUEEaiINIAtHDQALIAgoAgAoAighCwsgCiALRg0AIAQoAigiBiAKIAsgCmtqIgJrIQMgAiAGRwRAIAogAiAD/AoAAAsgBCADIApqNgIoCyAIQQRqIgggEEcNAAsLIAUoAogDIgIEQANAIAIoAgAhMyACEFogMyICDQALCyAFKAKAAyECIAVBADYCgAMgAgRAIAIQWgsgBUG4A2oiCkIANwMAIAVCADcDsAMgBUGAgID8AzYCwAMCQAJAAkACQCAFKAKcASIJIAUoAqABIgtGDQAgBSgCsAIiBEUNAAJAAkACQANAAkACQCAERQ0AIAUoAqwCAn8gCSgCACIIQZXTx94FbCIDQRh2IANzQZXTx94FbEHUzJ76BnMiA0ENdiADc0GV08feBWwiA0EPdiADcyIDIARBAWtxIARpQQFLIgZFDQAaIAMgAyAESQ0AGiADIARwCyIHQQJ0aigCACICRQ0AIAIoAgAiAkUNAAJAIAZFBEAgBEEBayEEA0ACQCACKAIEIgYgA0cEQCAEIAZxIAdGDQEMBQsgAigCCCAIRg0DCyACKAIAIgINAAsMAgsDQAJAIAIoAgQiBiADRwRAIAQgBk0EfyAGIARwBSAGCyAHRg0BDAQLIAIoAgggCEYNAgsgAigCACICDQALDAELAkACQCAFKAK0AyIERQ0AIAUoArADAn8gBEEBayADcSAEaUEBSyIGRQ0AGiADIAMgBEkNABogAyAEcAsiB0ECdGooAgAiAkUNACACKAIAIgJFDQAgBkUEQCAEQQFrIQYDQAJAIAMgAigCBCIMRwRAIAYgDHEgB0YNAQwECyACKAIIIAhGDQQLIAIoAgAiAg0ACwwBCwNAAkAgAyACKAIEIgZHBEAgBCAGTQR/IAYgBHAFIAYLIAdGDQEMAwsgAigCCCAIRg0DCyACKAIAIgINAAsLQdSJC0EANgIAQQRBDBAGIQJB1IkLKAIAITRB1IkLQQA2AgAgNEEBRg0CIAIgAzYCBCACIAg2AgggAkEANgIAIAUqAsADIVwgBSgCvANBAWqzIV0CQAJAIARFDQAgXCAEs5QgXV0NACAHIQMMAQtB1IkLQQA2AgBB3hwgBUGwA2ogBCAEQQFrcUEARyAEQQNJciAEQQF0ciIEAn8gXSBclY0iXEMAAIBPXSBcQwAAAABgcQRAIFypDAELQQALIgYgBCAGSxsQA0HUiQsoAgAhNUHUiQtBADYCACA1QQFGDQYgBSgCtAMiBCAEQQFrIgZxRQRAIAMgBnEhAwwBCyADIARJDQAgAyAEcCEDCwJAAkAgBSgCsAMgA0ECdGoiBigCACIDRQRAIAIgBSgCuAM2AgAgBSACNgK4AyAGIAo2AgAgAigCACIDRQ0CIAMoAgQhAwJAIAQgBEEBayIGcUUEQCADIAZxIQMMAQsgAyAESQ0AIAMgBHAhAwsgBSgCsAMgA0ECdGohAwwBCyACIAMoAgA2AgALIAMgAjYCAAsgBSAFKAK8A0EBajYCvAMgCSgCACEIC0HUiQtBADYCAEHfHCAIQRhqIAgQA0HUiQsoAgAhNkHUiQtBADYCACA2QQFGDQMLIAlBBGoiCSALRg0EIAUoArACIQQMAQsLEAAhAwwNCxAAIQMMDAsQACEDIAIQWgwLCyAFKAK8A0UNAANAIAUoArgDIgIoAgghCyAFQbADaiACEN4IIAVBADYCoAMgBUIANwKYAwJAIAsoAiQiAiALKAIoRg0AIAIoAgAiAygCBCECIAMoAgAhA0HUiQtBADYCAEHgHCAFQZgDaiADIAIgAiADa0ECdRAFQdSJCygCACE3QdSJC0EANgIAIDdBAUYNCUEBIQ8gBSgCnAMhAyAFKAKYAyEJAkACQAJAIAsoAiggCygCJCICa0EFTwRAA0BBACEHQQAhCkEAIQYCQAJAAkAgAyAJa0ECdSIOIAIgD0ECdGooAgAiDCgCBCAMKAIAa0ECdWoiAgRAIAJBgICAgARPBEBB1IkLQQA2AgBB+AIQCUHUiQsoAgAhOEHUiQtBADYCACA4QQFHDRwQACEDDBULQdSJC0EANgIAQQQgAkECdCICEAYhBkHUiQsoAgAhOUHUiQtBADYCACA5QQFGDQEgBkEAIAL8CwAgAiAGaiEKC0EAIQhBACECAkAgAyAJRg0AIAwoAgQgDCgCACIQa0ECdSERA0AgCCARTw0BAkACQCAJIAdBAnRqKAIAIgMgECAIQQJ0aigCACIESQRAIAYgAkECdGogAzYCAAwBCyAGIAJBAnRqIQ0gAyAESwRAIA0gBDYCACAIQQFqIQgMAgsgDSADNgIAIAhBAWohCAsgB0EBaiEHCyACQQFqIQIgByAOSQ0ACwsgByAOTw0CQQAhDSACIQMgDiAHIgRrIhBBA3EiEQRAA0AgBiADQQJ0aiAJIARBAnRqKAIANgIAIARBAWohBCADQQFqIQMgDUEBaiINIBFHDQALCyACIBBqIQIgByAOa0F9SQ0BDAILEAAhAwwSCwNAIAYgA0ECdGoiByAJIARBAnRqIg0oAgA2AgAgByANKAIENgIEIAcgDSgCCDYCCCAHIA0oAgw2AgwgBEEEaiEEIANBBGoiAyACRw0ACwsgDCgCBCAMKAIAIgdrQQJ1IgwgCEsEQCACIAhrIQ1BACEEIAwgCCIDa0EDcSIOBEADQCAGIAJBAnRqIAcgA0ECdGooAgA2AgAgA0EBaiEDIAJBAWohAiAEQQFqIgQgDkcNAAsLIAwgDWohBCAIIAxrQXxNBEAgB0EMaiENIAdBCGohDiAHQQRqIRADQCAGIAJBAnRqIgggByADQQJ0IgxqKAIANgIAIAggDCAQaigCADYCBCAIIAwgDmooAgA2AgggCCAMIA1qKAIANgIMIANBBGohAyACQQRqIgIgBEcNAAsLIAQhAgsCQCAKIAZrIgNBAnUiBCACSQRAIAIgBGsiB0UEQCAKQQAgB0ECdCIC/AsAIAIgCmohAwwCCwJAAkAgAkGAgICABE8EQEHUiQtBADYCAEH4AhAJDAELQf////8DIAogBmsiBEEBdSIIIAIgAiAISRsgBEH8////B08bIgJBgICAgARJDQFB1IkLQQA2AgBBAxAJC0HUiQsoAgAhOkHUiQtBADYCACA6QQFHDRoMBQtB1IkLQQA2AgBBBCACQQJ0IgwQBiEEQdSJCygCACE7QdSJC0EANgIAIDtBAUYNBCADIARqIgJBACAHQQJ0Igf8CwAgAiEIIAYgCkcEQCAEIAMgCkEEayIKIAZrQXxxIgNrakEEayIIIAogA2sgA0EEavwKAAALIAIgB2ohAyAEIAxqIQogBgRAIAYQWgsgCCEGDAELIAYgAkECdGogCiACIARJGyEDCyAJBEAgBSAJNgKcAyAJEFoLIAUgCjYCoAMgBSADNgKcAyAFIAY2ApgDIAYhCSAPQQFqIg8gCygCKCALKAIkIgJrQQJ1SQ0ACwsgCygCECALKAIMIgZrIgIgAyAJayIERgRAIAYgCSACEF5FDQMLIAIgBEkNAUH0ASECQb2QBiEDDA0LEAAhAyAGRQ0NIAYQWgwNC0HUiQtBADYCAEHgHCALQQxqIAkgAyAEQQJ1EAVB1IkLKAIAITxB1IkLQQA2AgAgPEEBRg0KQdSJC0EANgIAQd8cIAtBGGogBUGYA2oQA0HUiQsoAgAhPUHUiQtBADYCACA9QQFGDQogCygCBCALKAIAIgRrIgIgBSgCnAMiBiAFKAKYAyIJayIDRgRAIAQgCSACEF5FDQELIAIgA08EQEH8ASECQZOQBiEDDAwLQdSJC0EANgIAQeAcIAsgCSAGIANBAnUQBUHUiQsoAgAhPkHUiQtBADYCACA+QQFGDQogCygCMCICIAsoAjQiA0YNAANAIAIoAgAhBEHUiQtBADYCAEHdHCAFQcgDaiAFQbADaiAEEAhB1IkLKAIAIT9B1IkLQQA2AgAgP0EBRg0FIAJBBGoiAiADRw0ACwsgCUUNACAFIAk2ApwDIAkQWgsgBSgCvAMNAAsLIAUoArgDIgIEQANAIAIoAgAhQCACEFogQCICDQALCyAFKAKwAyECIAVBADYCsAMgAgRAIAIQWgsgBUIANwKMAQJAIAUoArQCIgsEQCAAQbABaiEIIAAoArQBIQ0DQAJAIAUoAvQCIgJFDQAgCygCCCEDA0ACQCADIAIoAhAiBE8EfyADIARNDQEgAkEEagUgAgsoAgAiAg0BDAILCyADKAIAIgkgAygCBCIKRg0AA0AgCSgCACEEAkACQCAIIgciAigCACIDRQ0AA0AgAyICKAIQIgMgBEsEQCACIQcgAigCACIDDQEMAgsgAyAETw0CIAIoAgQiAw0ACyACQQRqIQcLQdSJC0EANgIAQQRBFBAGIQZB1IkLKAIAIUFB1IkLQQA2AgAgQUEBRg0FIAYgAjYCCCAGQgA3AgAgBiAENgIQIAcgBjYCACAAKAKsASgCACICBEAgACACNgKsASAHKAIAIQYLIAYgBiAIKAIAIgRGIgI6AAwCQCACDQADQCAGKAIIIgMtAAwNAQJAIAMgAygCCCICKAIAIgdGBEACQCACKAIEIgdFDQAgBy0ADA0ADAILAkAgBiADKAIARgRAIAMhBAwBCyADIAMoAgQiBCgCACIGNgIEIAMhByAGBEAgBiADNgIIIAMoAggiAigCACEHCyAEIAI2AgggAiACQQRqIAMgB0YbIAQ2AgAgBCADNgIAIAMgBDYCCCAEKAIIIgIoAgAhAwsgBEEBOgAMIAJBADoADCACIAMoAgQiBDYCACAEBEAgBCACNgIICyADIAIoAggiBDYCCCAEIAQoAgAgAkdBAnRqIAM2AgAgAyACNgIEIAIgAzYCCAwDCwJAIAdFDQAgBy0ADA0ADAELAkAgBiADKAIARwRAIAMhBgwBCyADIAYoAgQiBDYCACAEBEAgBCADNgIIIAMoAgghAgsgBiACNgIIIAIgAkEEaiACKAIAIANGGyAGNgIAIAYgAzYCBCADIAY2AgggBigCCCECCyAGQQE6AAwgAkEAOgAMIAIgAigCBCIDKAIAIgQ2AgQgBARAIAQgAjYCCAsgAyACKAIIIgQ2AgggBCAEKAIAIAJHQQJ0aiADNgIAIAMgAjYCACACIAM2AggMAgsgA0EBOgAMIAIgAiAERjoADCAHQQE6AAwgBCACIgZHDQALCyAAIA1BAWoiDTYCtAELIAlBBGoiCSAKRw0ACwsgCygCACILDQALCyAFQShqEMQPIAVCADcDICAFQgA3AyggASAFQSBqQQIQxgIhFyAFQgA3AxggBUIANwMoIAAgASAFQRhqQQIQxgI2ApQBIAAoAnwhAyAAKAKEASEEIAApAogBIVtBFBBcIgIgWzcCDCACIAQ2AgggAiADNgIEIAIgAzYCACAAKAKQASEDIAAgAjYCkAEgAwRAIAMQWgsgAEEUaiAWEOAIAkAgASgCHCICQRBPBEAgAigCEEUNAQsMFAsgACgCkAEoAgBBqAFqIQMCQCACKQIUQv////8PWARAIANBDEEEEF0iEEEANgIIIBBCk4CAgBA3AgAMAQsgA0EIQQQQXSIQQpeAgIAQNwIACyAAKAKQASIZQQIQ8QohGCAAKAK0AUUEQCAAKAKQASgCAEGoAWpBCEEEEF0iC0IWNwIADAQLAkAgACgCeCIOKAIcIgJBEEkNACACKAIQDQBBACEIAn8CQCACKAIUIgJBB0kNACACKAIEDQAgAigCDCACKAIIa0ECdQwBCyACQQBHCyAOKAIoIA4oAiRrQQJ1aiIRRQ0DIAAoArABIgJFDQNBACEDA0ACQCACRQ0AA0ACQCACKAIQIgQgA00EfyADIARNDQEgAkEEagUgAgsoAgAiAg0BDAILCwJAAkAgDiADENACIgRBB08EQCAEKAIEDQEgBCgCDCICIAQoAggiBkYNAiACIAZrQQJ1IQdBACECA0AgBiACQQJ0aigCAEECa0EESw0CIAJBAWoiAiAHRw0ACwwCCyAEQQdrQXpLDQELIAVBKGoQqQIhAEHUiQtBADYCAEHhHCAAEAYhAUHUiQsoAgAhQkHUiQtBADYCACBCQQFGDRgMGQsgBBDdAiAIaiEICyADQQFqIgMgEUYNBCAAKAKwASECDAALAAsMEwsQACEDDBELEAAhAwwHCyAAKAKQASgCAEGoAWoiAkEgQQQQXSILQgA3AgQgC0EBNgIAIAtCADcCDCALQgA3AhQgCyACNgIcIAAoApABQQAgCGsQ3QghByALKAIQIQMCQCALKAIUIg0gCygCGEcEQCADIQIMAQsgCyANQQF0QQJqIgI2AhggCyALKAIcIAJBAnRBBBBdIgI2AhAgCygCFCINRQRAQQAhDQwBC0EAIQZBACECIA1BBE8EQCANQXxxIQgDQCACQQJ0IgQgCygCEGogAyAEaigCADYCACAEQQRyIgkgCygCEGogAyAJaigCADYCACAEQQhyIgkgCygCEGogAyAJaigCADYCACAEQQxyIgQgCygCEGogAyAEaigCADYCACACQQRqIgIgCEcNAAsLIA1BA3EiBARAA0AgAkECdCIIIAsoAhBqIAMgCGooAgA2AgAgAkEBaiECIAZBAWoiBiAERw0ACwsgCygCECECCyACIA1BAnRqIAc2AgAgCyANQQFqNgIUIAAoApABKAIIIQIgBUIANwMQIAVCADcDKCAOIAVBEGogAhDGAiEUIAAoApABIgMoAggQ3QIhByADKAIIEN0CIQggAygCCCECQQAhBkHIqAspAwAhWyADKAIAQagBakEQQQQQXSIEIFs3AgggBEEKNgIAIAQgAjYCBCADKAIIIQkgAykCDCFbIAMoAgBBqAFqQTBBCBBdIgJBADoAICACQQw2AgAgAiAENgIkIAIgCK03AxggAkIANwMQIAJBADoACSACIAc6AAggAiBbNwIoIAIgCTYCBCADKAIAQagBakEQQQQQXSIHIAI2AgwgByAUNgIIIAdCCTcCACAHIAIoAgRBAUYiAzYCBCAHIAMgAigCBEEBRnI2AgQgCygCECEDAkAgCygCFCICIAsoAhhHBEAgAiEGIAMhAgwBCyALIAJBAXRBAmoiAjYCGCALIAsoAhwgAkECdEEEEF0iAjYCECALKAIUIgRFDQBBACECIARBBE8EQCAEQXxxIQkDQCACQQJ0IgggCygCEGogAyAIaigCADYCACAIQQRyIgogCygCEGogAyAKaigCADYCACAIQQhyIgogCygCEGogAyAKaigCADYCACAIQQxyIgggCygCEGogAyAIaigCADYCACACQQRqIgIgCUcNAAsLIARBA3EiCARAA0AgAkECdCIJIAsoAhBqIAMgCWooAgA2AgAgAkEBaiECIAZBAWoiBiAIRw0ACwsgCygCECECIAQhBgsgAiAGQQJ0aiAHNgIAIAsgBkEBajYCFAJAIBFFDQAgACgCsAEiAkUNAEEAIQxBACEHA0ACQCACRQ0AA0ACQCACKAIQIgMgB00EfyADIAdPDQEgAkEEagUgAgsoAgAiAg0BDAILCyAFIA4gBxDQAiICNgKwA0EBIQ9BACEVQQAhCEEAIQpBACEEQQAhDUEAIQMCQAJ/AkAgAkEHSQ0AIAIoAgQNACACKAIMIAIoAghrQQJ1DAELIAJBAEcLIhpFDQACQANAAkACQCAFKAKwAyICQQdJDQAgAigCBA0AIAIoAgggDUECdGohCQwBCyACBEAgBUGwA2ohCSANRQ0BC0HUiQtBADYCAEENQd3DBkG4swJB2AhBoNYFEAVB1IkLKAIAIUNB1IkLQQA2AgAgQ0EBRw0UDAoLAkACQCAJKAIAIgRBB08EQCAEKAIEDQEgBCgCDCICIAQoAggiBkYNAiACIAZrQQJ1IRNBACECA0AgBiACQQJ0aigCAEECa0EESw0CIAJBAWoiAiATRw0ACwwCCyAEQQdrQXpLDQELQdSJC0EANgIAQQggBUEoahAGIQBB1IkLKAIAIURB1IkLQQA2AgAgREEBRg0KQdSJC0EANgIAQeEcIAAQBiEBQdSJCygCACFFQdSJC0EANgIAIEVBAUYNGAwZC0HUiQtBADYCAEGIDCAEEAYhE0HUiQsoAgAhRkHUiQtBADYCACBGQQFGDQEgE0EDcQRAQdSJC0EANgIAQQ1BtckFQeqEAkG8C0GHrAMQBUHUiQsoAgAhR0HUiQtBADYCACBHQQFHDRQMCgsgACgCkAEiAigCCCEGIAIoAgAhBEHUiQtBADYCAEEMIARBqAFqQQxBBBAEIQRB1IkLKAIAIRtB1IkLQQA2AgACQCAbQQFGDQAgBCAUNgIIIARBCDYCACAEIAY2AgQgACkCiAEhWyAJKAIAIQYgAigCACECQdSJC0EANgIAQQwgAkGoAWpBMEEIEAQhAkHUiQsoAgAhSEHUiQtBADYCACBIQQFGDQAgAkEAOgAgIAJBDDYCACACIAQ2AiQgAkIENwMYIAIgDK03AxBBASEEIAJBAToACSACIBM6AAggAiBbNwIoIAIgBjYCBAJAIA9BAXEEQEEBIRUgAiESDAELIAMgCkcEQCAKIAI2AgAgCkEEaiEKDAELAkACQAJAIAMgCGsiBkECdSIPQQFqIglBgICAgARPBEBB1IkLQQA2AgBBDhAJDAELQf////8DIAZBAXUiCiAJIAkgCkkbIAZB/P///wdPGyIKRQRAQQAhCQwDCyAKQYCAgIAESQ0BQdSJC0EANgIAQQMQCQtB1IkLKAIAIUlB1IkLQQA2AgAgSUEBRw0XDA0LQdSJC0EANgIAQQQgCkECdBAGIQlB1IkLKAIAIUpB1IkLQQA2AgAgSkEBRg0CCyAJIA9BAnRqIgYgAjYCACAGIQIgAyAIRwRAA0AgAkEEayICIANBBGsiAygCADYCACADIAhHDQALCyAKQQJ0IAlqIQMgBkEEaiEKIAgEQCAIEFoLIAIhCAsgDCATaiEMQQAhDyANQQFqIg0gGkYNAwwBCwsMCAsMBwsgEiECAkAgBCAKIAhrQQJ1IglqIgZBAUYNAAJAIAUoArADIgJBB0kNACACKAIEDQAgAigCDCACKAIIa0EFSQ0AIAAoApABKAIAIQJB1IkLQQA2AgBBDCACQagBaiIDQRhBBBAEIQJB1IkLKAIAIUtB1IkLQQA2AgAgS0EBRg0IIAJCADcCBCACQTg2AgAgAkIANwIMIAIgAzYCFAJAIAZFDQAgAiAGNgIQQdSJC0EANgIAQQwgAyAGQQJ0QQQQBCEDQdSJCygCACFMQdSJC0EANgIAIExBAUYNCSACIAM2AgggCSAVaiIERQ0AIAMgEjYCACAEQQFGDQAgCEEEayEKIARBAWsiCUEDcSENQQEhAyAEQQJrQQNPBEAgCUF8cSEPQQAhCQNAIANBAnQiBCACKAIIaiAEIApqKAIANgIAIAIoAgggBGogBCAIaigCADYCBCAEQQhqIhMgAigCCGogCiATaigCADYCACAEQQxqIgQgAigCCGogBCAKaigCADYCACADQQRqIQMgCUEEaiIJIA9HDQALC0EAIQQgDUUNAANAIANBAnQiCSACKAIIaiAJIApqKAIANgIAIANBAWohAyAEQQFqIgQgDUcNAAsLIAIgBjYCDEHUiQtBADYCAEHwAiACEApB1IkLKAIAIU1B1IkLQQA2AgAgTUEBRw0BDAgLQdSJC0EANgIAQRRBpOkDQeqEAkHOCxAIQdSJCygCACFOQdSJC0EANgIAIE5BAUcNEQwHCyAAKAKQASgCACEDQdSJC0EANgIAQQwgA0GoAWpBEEEEEAQhBEHUiQsoAgAhT0HUiQtBADYCACBPQQFGDQYgBCACNgIMIAQgBzYCCCAEQgk3AgAgBCACKAIEQQFGIgM2AgQgBCADIAIoAgRBAUZyNgIEIAsoAhAhAwJAIAsoAhQiCiALKAIYRwRAIAMhAgwBCyALIApBAXRBAmoiAjYCGCALKAIcIQZB1IkLQQA2AgBBDCAGIAJBAnRBBBAEIQJB1IkLKAIAIVBB1IkLQQA2AgAgUEEBRg0HIAsgAjYCECALKAIUIgpFBEBBACEKDAELQQAhBkEAIQIgCkEETwRAIApBfHEhDQNAIAJBAnQiCSALKAIQaiADIAlqKAIANgIAIAlBBHIiDyALKAIQaiADIA9qKAIANgIAIAlBCHIiDyALKAIQaiADIA9qKAIANgIAIAlBDHIiCSALKAIQaiADIAlqKAIANgIAIAJBBGoiAiANRw0ACwsgCkEDcSIJBEADQCACQQJ0Ig0gCygCEGogAyANaigCADYCACACQQFqIQIgBkEBaiIGIAlHDQALCyALKAIQIQILIAIgCkECdGogBDYCACALIApBAWo2AhQgCEUNACAIEFoLIAdBAWoiByARRg0BIAAoArABIQIMAAsACyALQQBBAEEAEOYBCyAZKAIAQagBakEUQQQQXSISQQA2AhAgEiALNgIMIBIgGDYCCCASQgI3AgAgEiAYKAIEQQFGNgIEQfCoCykDACFbIAAoApABIgMoAgAgFigCACAQQgAQygIhBCADKAIAQagBaiIGQSBBBBBdIgJCADcCBCACQQE2AgAgAkIANwIMIAJCADcCFCACIAY2AhwgBARAIAJBAjYCGCACIAZBCEEEEF0iBjYCECAGIAQ2AgAgAkEBNgIUIAJBAEEAQQAQ5gELIAIgWzcCCCACQQBBAEEAEOYBIAMoAgBBqAFqQRBBBBBdIg0gAjYCDCANIBc2AgggDUIJNwIAIA0gAigCBEEBRiIDNgIEIA0gAyACKAIEQQFGcjYCBCAAKAKQASIEKAIIEN0CIQYgBCgCCBDdAiEHIAQoAgghA0HIqAspAwAhWyAEKAIAQagBakEQQQQQXSICIFs3AgggAkEKNgIAIAIgAzYCBCAEKAIIIQggBCkCDCFbIAQoAgBBqAFqQTBBCBBdIgNBADoAICADQQw2AgAgAyACNgIkIAMgB603AxggA0IANwMQIANBADoACSADIAY6AAggAyBbNwIoIAMgCDYCBCAAKAKQASgCAEGoAWpBDEEEEF0iBiAXNgIIIAZCiICAgCA3AgAgACkCiAEhWyAEKAIAQagBakE4QQgQXSICQgA3AwggAkIANwMgIAIgWzcCMCACQQI2AiwgAiAGNgIoIAJCBDcDGCACQg03AgAgAkIANwMQIAJBBDoACCACIAM2AiQgAiADKAIEQQFHBH8gBigCBEEBRgVBAQs2AgQCQAJAIAYoAgRBA0kEQCAAKAKQAUEEEN0IIQMgBCgCACACIANCABDKAiEXIAAoArQBRQRAIAAoApABKAIAQagBakEIQQQQXSIDQhY3AgAMAwsCQCAAKAJ4Ig4oAhwiAkEQSQ0AIAIoAhANAAJ/AkAgAigCFCICQQdJDQAgAigCBA0AIAIoAgwgAigCCGtBAnUMAQsgAkEARwshByAOKAIoIVogDigCJCFRIAAoApABKAIAQagBaiICQSBBBBBdIgNCADcCBCADQQE2AgAgA0IANwIMIANCADcCFCADIAI2AhwgACgCkAEoAgghAiAFQgA3AwggBUIANwMoIA4gBUEIaiACEMYCIREgACgCkAEiBCgCCBDdAiEKIAQoAggQ3QIhCyAEKAIIIQJBACEPQcioCykDACFbIAQoAgBBqAFqQRBBBBBdIgYgWzcCCCAGQQo2AgAgBiACNgIEIAQoAgghDCAEKQIMIVsgBCgCAEGoAWpBMEEIEF0iAkEAOgAgIAJBDDYCACACIAY2AiQgAiALrTcDGCACQgA3AxAgAkEAOgAJIAIgCjoACCACIFs3AiggAiAMNgIEIAQoAgBBqAFqQRBBBBBdIgYgAjYCDCAGIBE2AgggBkIJNwIAIAYgAigCBEEBRiIENgIEIAYgBCACKAIEQQFGcjYCBCBaIFFrQQJ1IAdqIRMgAygCECEEAkAgAygCFCILIAMoAhhHBEAgBCECDAELIAMgC0EBdEECaiICNgIYIAMgAygCHCACQQJ0QQQQXSICNgIQIAMoAhQiC0UEQEEAIQsMAQtBACEHQQAhAiALQQRPBEAgC0F8cSEJA0AgAkECdCIIIAMoAhBqIAQgCGooAgA2AgAgCEEEciIKIAMoAhBqIAQgCmooAgA2AgAgCEEIciIKIAMoAhBqIAQgCmooAgA2AgAgCEEMciIIIAMoAhBqIAQgCGooAgA2AgAgAkEEaiICIAlHDQALCyALQQNxIggEQANAIAJBAnQiCSADKAIQaiAEIAlqKAIANgIAIAJBAWohAiAHQQFqIgcgCEcNAAsLIAMoAhAhAgsgAiALQQJ0aiAGNgIAIAMgC0EBajYCFCATRQ0CIAAoArABIgJFDQJBACEMAkACQANAAkACQCACRQ0AA0ACQCACKAIQIgQgDE0EfyAEIAxPDQEgAkEEagUgAgsoAgAiAg0BDAILCyAFIA4gDBDQAiICNgKwAwJ/AkAgAkEHSQ0AIAIoAgQNACACKAIMIAIoAghrQQJ1DAELIAJBAEcLIhhFDQBBACEKIAUoArADIQYDQAJAAkACQAJAIAJBB0kNACACKAIEDQAgAigCCCAKQQJ0aiEIDAELIAJFDQEgBUGwA2ohCCAKDQELAkAgCCgCACIEQQdPBEAgBCgCBA0BIAQoAgwiAiAEKAIIIgdGDQMgAiAHa0ECdSEJQQAhAgNAIAcgAkECdGooAgBBAmtBBEsNAiACQQFqIgIgCUcNAAsMAwsgBEEHa0F6Sw0CCyAFQShqEKkCIQBB1IkLQQA2AgBB4RwgABAGIQFB1IkLKAIAIVJB1IkLQQA2AgAgUkEBRw0dDBwLQd3DBkG4swJB2AhBoNYFEAEACyAEEN0CIRAgACgCkAEoAgBBqAFqQQxBBBBdIgIgDDYCCCACQQg2AgAgAiAGNgIEAkAgBkEHSQRAIAIhBAwBCyAGKAIEBEAgAiEEDAELIAYoAgwgBigCCGtBBUkEQCACIQQMAQsgACgCkAEoAgBBqAFqQRBBBBBdIgQgCjYCDCAEIAI2AgggBEI5NwIAIAQQ1wULIBBBA3ENAiAAKAKQASIJKAIIIQcgCSgCAEGoAWpBDEEEEF0iAiARNgIIIAJBCDYCACACIAc2AgQgCCgCACEHIAApAogBIVsgCSgCAEGoAWpBOEEIEF0iCEIANwMIIAhCADcDICAIIFs3AjAgCCAHNgIsIAggBDYCKCAIQgQ3AxggCCAPrTcDECAIQg03AgAgCCAQOgAIIAggAjYCJCAHRQ0EIAggAigCBEEBRwR/IAQoAgRBAUYFQQELNgIEIAQoAgQiAkECTyACIAdHcQ0FIAMoAhAhBAJAIAMoAhQiCSADKAIYRwRAIAQhAgwBCyADIAlBAXRBAmoiAjYCGCADIAMoAhwgAkECdEEEEF0iAjYCECADKAIUIglFBEBBACEJDAELQQAhB0EAIQIgCUEETwRAIAlBfHEhFANAIAJBAnQiCyADKAIQaiAEIAtqKAIANgIAIAtBBHIiFSADKAIQaiAEIBVqKAIANgIAIAtBCHIiFSADKAIQaiAEIBVqKAIANgIAIAtBDHIiCyADKAIQaiAEIAtqKAIANgIAIAJBBGoiAiAURw0ACwsgCUEDcSILBEADQCACQQJ0IhQgAygCEGogBCAUaigCADYCACACQQFqIQIgB0EBaiIHIAtHDQALCyADKAIQIQILIAIgCUECdGogCDYCACADIAlBAWo2AhQgDyAQaiEPIAYhAiAKQQFqIgogGEcNAAsLIAxBAWoiDCATRg0GIAAoArABIQIMAQsLQbXJBUHqhAJB7QtB16QDEAEAC0GbjwRBpKQCQc4CQbLDAxABAAsMFgsMEgsMFAsgACgCkAEgDxDdCCEIIAMoAhAhBAJAIAMoAhQiDCADKAIYRwRAIAQhAgwBCyADIAxBAXRBAmoiAjYCGCADIAMoAhwgAkECdEEEEF0iAjYCECADKAIUIgxFBEBBACEMDAELQQAhB0EAIQIgDEEETwRAIAxBfHEhCQNAIAJBAnQiBiADKAIQaiAEIAZqKAIANgIAIAZBBHIiCiADKAIQaiAEIApqKAIANgIAIAZBCHIiCiADKAIQaiAEIApqKAIANgIAIAZBDHIiBiADKAIQaiAEIAZqKAIANgIAIAJBBGoiAiAJRw0ACwsgDEEDcSIGBEADQCACQQJ0IgkgAygCEGogBCAJaigCADYCACACQQFqIQIgB0EBaiIHIAZHDQALCyADKAIQIQILIAIgDEECdGogCDYCACADIAxBAWo2AhQgA0EAQQBBABDmAQsgGSgCAEGoAWoiAkEgQQQQXSIEQgA3AgQgBEEBNgIAIARCADcCDCAEIAI2AhwgBEKAgICAwAA3AhQgBCACQRBBBBBdIgI2AhAgAiASNgIAIAQoAhAgDTYCBCAEKAIQIBc2AgggBCgCECADNgIMIARBBDYCFCAEQQBBAEEAEOYBAkAgASgCHCICQRBPBEAgAigCEEUNAQsMEAsgAigCGCICBEAgAiAAKAJ8EOQEIQggBCgCECECAkAgBCgCFCIMIAQoAhhHBEAgAiEDDAELIAQgDEEBdEECaiIDNgIYIAQgBCgCHCADQQJ0QQQQXSIDNgIQIAQoAhQiDEUEQEEAIQwMAQtBACEHQQAhAyAMQQRPBEAgDEF8cSEJA0AgA0ECdCIGIAQoAhBqIAIgBmooAgA2AgAgBkEEciISIAQoAhBqIAIgEmooAgA2AgAgBkEIciISIAQoAhBqIAIgEmooAgA2AgAgBkEMciIGIAQoAhBqIAIgBmooAgA2AgAgA0EEaiIDIAlHDQALCyAMQQNxIgYEQANAIANBAnQiCSAEKAIQaiACIAlqKAIANgIAIANBAWohAyAHQQFqIgcgBkcNAAsLIAQoAhAhAwsgAyAMQQJ0aiAINgIAIAQgDEEBajYCFCABKAIcIgJBEEkNECACKAIQDRAgBCACKAIYQQFBABDmAQsgASAENgIwIAVCADcCNCAFQQA2ApwBIAVBPGoiAkIANwIAIAVCADcCsAEgBUGAgID8AzYCuAEgBUG4wwMvAAA7ATggBUIANwIsIAVCADcClAEgBUIANwKoASAFQczsCTYCKCAFQbDDAykAADcCMCAFQQo6ADsgBSAAKAJ8NgKkASAFIAE2AqABQdSJC0EANgIAQcQKIAIgFhADQdSJCygCACFTQdSJC0EANgIAIFNBAUYNASAFQczsCTYCKCAFQgA3AqABIAUoArABIgQEQANAIAQoAgAhVSAEKAIYIgIEQANAIAIoAgAhVCACEFogVCICDQALCyAEKAIQIQEgBEEANgIQIAEEQCABEFoLIAQQWiBVIgQNAAsLIAUoAqgBIQAgBUEANgKoASAABEAgABBaCyAFKAKUASIABEAgBSAANgKYASAAEFoLIAVBkO0JNgIoIAUsADtBAE4NACAFKAIwEFoLIAVB0ANqJAAPCxAAIVYgBUEoahDIAhogVhAHAAsQACFXIAgEQCAIEFoLIFcQBwALEAAhAwwBC0HUiQtBADYCAEENIANBg5kDIAJB66kBEAVB1IkLKAIAIVhB1IkLQQA2AgAgWEEBRw0HEAAhAwsgBSgCmAMiAEUNACAAEFoLIAVBsANqEKIBDAcLEAAhAyAFQYADahCiAQwGCxAAIQMgBUGwA2oQogEgBUGYA2oQogEMBQsQACEDIAVBsANqELkCGgwECxAAIQMgBUGwA2oQuQIaDAMLQdSJC0EANgIAQQ0gBiAIIAMgBxAFQdSJCygCACFZQdSJC0EANgIAIFlBAUYNAQsACxAAIQMLIAVBKGoQxA8gAxAHAAtB4ZUGQbizAkHbCUGP4gMQAQALEAAaIAAQcQALIAEQcQALQarIA0GalgNBowNBx+QDEAEAC38BA38gAEGsxwc2AgACQAJAIAAoApgBIgEgAEGIAWoiAkYEQEEEIQMgAiEBDAELQQUhAyABRQ0BCyABIAEoAgAgA0ECdGooAgARAQALIAAoAmwiAgRAIAAgAjYCcCACEFoLIABBkO0JNgIAIAAsABNBAEgEQCAAKAIIEFoLIAALfwEDfyAAQaTIBzYCAAJAAkAgACgCmAEiASAAQYgBaiICRgRAQQQhAyACIQEMAQtBBSEDIAFFDQELIAEgASgCACADQQJ0aigCABEBAAsgACgCbCICBEAgACACNgJwIAIQWgsgAEGQ7Qk2AgAgACwAE0EASARAIAAoAggQWgsgAAvCDAIRfwJ9IwBBEGsiCCQAIAIoAgQgAi0ACyIEIATAQQBIIgQbIgwhBSACKAIAIAIgBBsiCyECAkAgDCIGQQRJDQAgBiIEQQRrIgZBBHFFBEAgAigAAEGV08feBWwiBEEYdiAEc0GV08feBWwgBUGV08feBWxzIQUgAkEEaiECIAYiBEEESQ0BCyAEIQYDQCACKAAEQZXTx94FbCIEQRh2IARzQZXTx94FbCACKAAAQZXTx94FbCIEQRh2IARzQZXTx94FbCAFQZXTx94FbHNBldPH3gVscyEFIAJBCGohAiAGQQhrIgZBA0sNAAsLAkACQAJAAkAgBkEBaw4DAgEAAwsgAi0AAkEQdCAFcyEFCyACLQABQQh0IAVzIQULIAUgAi0AAHNBldPH3gVsIQULIAVBDXYgBXNBldPH3gVsIgJBD3YgAnMhBwJAAkACQCABKAIEIgVFDQAgASgCAAJ/IAcgBUEBa3EgBWkiBEEBTQ0AGiAHIAUgB0sNABogByAFcAsiDUECdGooAgAiAkUNACACKAIAIgJFDQAgBEEBTQRAIAVBAWshDgNAAkAgByACKAIEIgRHBEAgBCAOcSANRw0EDAELIAIoAgwiBCACLQATIgogCsAiD0EASCIJGyAMRw0AIAJBCGohBiAJRQRAQQAhCSALIQQgD0UNBQNAIAYtAAAgBC0AAEcNAiAEQQFqIQQgBkEBaiEGIApBAWsiCg0ACwwFCyAGKAIAIAsgBBBeDQBBACEJDAQLIAIoAgAiAg0ACwwBCwNAAkAgByACKAIEIgRHBEAgBCAFTwR/IAQgBXAFIAQLIA1HDQMMAQsgAigCDCIEIAItABMiCiAKwCIOQQBIIgkbIAxHDQAgAkEIaiEGIAlFBEBBACEJIAshBCAORQ0EA0AgBi0AACAELQAARw0CIARBAWohBCAGQQFqIQYgCkEBayIKDQALDAQLIAYoAgAgCyAEEF4NAEEAIQkMAwsgAigCACICDQALC0EgEFwhAiAIIAFBCGoiCzYCCCAIIAI2AgQgAkEIaiEEIAhBADoADAJAIAMsAAtBAE4EQCAEIAMpAgA3AgAgBCADKAIINgIIDAELIAMoAgQhBiADKAIAIQNB1IkLQQA2AgBB1AAgBCADIAYQCEHUiQsoAgAhEEHUiQtBADYCACAQQQFGDQILIAJBADYCHCACQgA3AhQgCEEBOgAMIAJBADYCACACIAc2AgQgASoCECEVIAEoAgxBAWqzIRYCQAJAIAVFDQAgFSAFs5QgFl0NACANIQcMAQtBAiECAkAgBSAFQQFrcUEARyAFQQNJciAFQQF0ciIDAn8gFiAVlY0iFUMAAIBPXSAVQwAAAABgcQRAIBWpDAELQQALIgQgAyAESxsiA0EBRg0AIAMgA0EBa3FFBEAgAyECDAELQdSJC0EANgIAQRUgAxAGIQJB1IkLKAIAIRFB1IkLQQA2AgAgEUEBRg0DCwJAIAEoAgQiAyACTwRAIAIgA08NASADQQNJIQYCfyABKAIMsyABKgIQlY0iFUMAAIBPXSAVQwAAAABgcQRAIBWpDAELQQALIQQCQAJAIAYNACADaUEBSw0AIARBAUEgIARBAWtna3QgBEECSRshBgwBC0HUiQtBADYCAEEVIAQQBiEGQdSJCygCACESQdSJC0EANgIAIBJBAUYNBQsgAiAGIAIgBksbIgIgA08NAQtB1IkLQQA2AgBBnQEgASACEANB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRg0DCyABKAIEIgUgBUEBayICcUUEQCACIAdxIQcMAQsgBSAHSw0AIAcgBXAhBwsgCCgCBCECAkAgB0ECdCIEIAEoAgBqKAIAIgNFBEAgAiABKAIINgIAIAEgCCgCBDYCCCABKAIAIARqIAs2AgAgCCgCBCICKAIAIgNFDQEgAygCBCEGAkAgBSAFQQFrIgNxRQRAIAMgBnEhBgwBCyAFIAZLDQAgBiAFcCEGCyABKAIAIAZBAnRqIAI2AgAgCCgCBCECDAELIAIgAygCADYCACADIAgoAgQiAjYCAAtBASEJIAEgASgCDEEBajYCDAsgACAJOgAEIAAgAjYCACAIQRBqJAAPCxAAIRQgCEEEahDcBSAUEAcAC7MHAgp/An0gAkGV08feBWwiBEEYdiAEc0GV08feBWxB1Mye+gZzIgRBDXYgBHNBldPH3gVsIgRBD3YgBHMhBAJAIAACfwJAIAEoAgQiBUUNACABKAIAAn8gBCAFQQFrcSAFaSIIQQFNDQAaIAQgBCAFSQ0AGiAEIAVwCyIHQQJ0aigCACIGRQ0AIAYoAgAiBkUNACAIQQFNBEAgBUEBayEIA0ACQCAEIAYoAgQiCUcEQCAIIAlxIAdHDQQMAQsgBigCCCACRw0AQQAMBAsgBigCACIGDQALDAELA0ACQCAEIAYoAgQiCEcEQCAFIAhNBH8gCCAFcAUgCAsgB0cNAwwBCyAGKAIIIAJHDQBBAAwDCyAGKAIAIgYNAAsLQQwQXCIGIAQ2AgQgBiADNgIIIAZBADYCACABKgIQIQ4gASgCDEEBarMhDwJAAkAgBUUNACAOIAWzlCAPXQ0AIAchBAwBC0ECIQICQCAFIAVBAWtxQQBHIAVBA0lyIAVBAXRyIgMCfyAPIA6VjSIOQwAAgE9dIA5DAAAAAGBxBEAgDqkMAQtBAAsiByADIAdLGyIDQQFGDQAgAyADQQFrcUUEQCADIQIMAQtB1IkLQQA2AgBBFSADEAYhAkHUiQsoAgAhCkHUiQtBADYCACAKQQFGDQMgASgCBCEFCwJAIAIgBU0EQCACIAVPDQEgBUEDSSEHAn8gASgCDLMgASoCEJWNIg5DAACAT10gDkMAAAAAYHEEQCAOqQwBC0EACyEDAkACQCAHDQAgBWlBAUsNACADQQFBICADQQFrZ2t0IANBAkkbIQcMAQtB1IkLQQA2AgBBFSADEAYhB0HUiQsoAgAhC0HUiQtBADYCACALQQFGDQULIAIgByACIAdLGyICIAVPDQELQdSJC0EANgIAQfcbIAEgAhADQdSJCygCACEMQdSJC0EANgIAIAxBAUYNAwsgASgCBCIFIAVBAWsiAnFFBEAgAiAEcSEEDAELIAQgBUkNACAEIAVwIQQLAkACQCABKAIAIARBAnRqIgIoAgAiBEUEQCAGIAFBCGoiAygCADYCACABIAY2AgggAiADNgIAIAYoAgAiAkUNAiACKAIEIQQCQCAFIAVBAWsiAnFFBEAgAiAEcSEEDAELIAQgBUkNACAEIAVwIQQLIAEoAgAgBEECdGohBAwBCyAGIAQoAgA2AgALIAQgBjYCAAsgASABKAIMQQFqNgIMQQELOgAEIAAgBjYCAA8LEAAhDSAGEFogDRAHAAv9BwIKfwF+IwBBIGsiAyQAAkACQAJ/AkACQAJAAkAgACgCBEECaw4CAAIBCyABQQFrQQFNBEAgAkGoAWoiBUEgQQgQXSIEQgA3AgQgBEEONgIAIARCADcCDCAEQgA3AhQgA0ECNgIYIANBGEEQIAFBAUYbIgY2AggCQCAEQQhqIgIgA0EIaiIBRg0AIAIQWSECQdSJC0EANgIAQcAAIAIgARACGkHUiQsoAgAhB0HUiQtBADYCACAHQQFHDQAQACEIIAEQWRogCBAHAAsgA0EIahBZGiAEQQI2AgQgBUEUQQQQXSICIAQ2AhAgAiAANgIMIAJBCjYCCCACQhA3AgAgAiAAKAIEIgBBAUcEf0EBIAAgBCgCBEEBRhsFQQELNgIEIAVBIEEIEF0iAUIANwIEIAFBDjYCACABQgA3AgwgAUIANwIUIANBAjYCGCADIAY2AgggAUEIaiIAIANBCGoiBEYNAyAAEFkhAEHUiQtBADYCAEHAACAAIAQQAhpB1IkLKAIAIQlB1IkLQQA2AgAgCUEBRw0DDAYLIAFBBEYNBEG/rAVB6YkDQdoAQdnOABABAAtBpKYFQemJA0HdAEHZzgAQAQALQjghDQJAAkACQCABQQFrDggBAAIAAgICBQILQjBCICABQQJGGyENCyACQagBaiIFQSBBCBBdIgFCADcCBCABQQ42AgAgAUIANwIMIAFCADcCFCADQQM2AhggAyANNwMIAkAgAUEIaiICIANBCGoiBEYNACACEFkhAkHUiQtBADYCAEHAACACIAQQAhpB1IkLKAIAIQpB1IkLQQA2AgAgCkEBRw0ADAULIANBCGoQWRogAUEDNgIEIAVBFEEEEF0iAiABNgIQIAIgADYCDCACQSM2AgggAkIQNwIAIAIgACgCBCIAQQFHBH9BASAAIAEoAgRBAUYbBUEBCzYCBCAFQSBBCBBdIgFCADcCBCABQQ42AgAgAUIANwIMIAFCADcCFCADQQM2AhggAyANNwMIAkAgAUEIaiIAIANBCGoiBEYNACAAEFkhAEHUiQtBADYCAEHAACAAIAQQAhpB1IkLKAIAIQtB1IkLQQA2AgAgC0EBRw0ADAULIANBCGoQWRogAUEDNgIEQSQMAgtB0KAFQemJA0HpAEHZzgAQAQALIANBCGoQWRogAUECNgIEQQsLIQQgBUEUQQQQXSIAIAE2AhAgACACNgIMIAAgBDYCCCAAQhA3AgAgAAJ/QQEgAigCBCICQQFGDQAaQQEgASgCBEEBRg0AGkECIAJC/4eA8P+Av8AfIARBD2siAa2Ip0EBcRsgAiABQT1JGws2AgQLIANBIGokACAADwsQACEMIAQQWRogDBAHAAsFAEHkAAv7BgEUfyMAQRBrIgQkAAJAAkACQAJAAkACQAJAAn8CQCABQQdJDQAgASgCBA0AIAEoAgwgASgCCGtBAnUMAQsgAUEARwsiDARAIAFBB0khDQNAAkACQCANDQAgASgCBA0AIAEoAgggCUECdGooAgAhBwwBCyABBEAgASEHIAlFDQELQdSJC0EANgIAQQ1B3cMGQbizAkHYCEGg1gUQBUHUiQsoAgAhD0HUiQtBADYCACAPQQFHDQQQACECDAkLQdSJC0EANgIAQZoaIAAgBxACIQpB1IkLKAIAIRBB1IkLQQA2AgAgEEEBRg0HAkAgAiALSQRAIAIgCjYCACACQQRqIQIMAQsCQAJAAkAgAiADa0ECdSIOQQFqIghBgICAgARPBEBB1IkLQQA2AgBBExAJDAELQf////8DIAsgA2siB0EBdSIFIAggBSAISxsgB0H8////B08bIghFBEBBACEHDAMLIAhBgICAgARJDQFB1IkLQQA2AgBBAxAJC0HUiQsoAgAhEUHUiQtBADYCACARQQFHDQYQACECDAsLQdSJC0EANgIAQQQgCEECdBAGIQdB1IkLKAIAIRJB1IkLQQA2AgAgEkEBRg0JCyAHIA5BAnRqIgUgCjYCACAFIQYgAiADRwRAA0AgBkEEayIGIAJBBGsiAigCADYCACACIANHDQALCyAIQQJ0IAdqIQsgBUEEaiECIAMEQCADEFoLIAYhAwsgDCAJQQFqIglHDQALDAELIARBADYCDCAEQgA3AgQMBAtBACEDIARBADYCDCAEQgA3AgQgAiAGRgRAIAIhBgwECyACIAZrIgVBAE4NAUHUiQtBADYCAEETEAlB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRg0CCwALQdSJC0EANgIAQQQgBRAGIQNB1IkLKAIAIRRB1IkLQQA2AgAgFEEBRg0AIAQgAzYCCCAEIAM2AgQgBCADIAVqIgE2AgwgAyAGIAX8CgAAIAQgATYCCAwBCxAAIQIMAgsgACgCCCEAQdSJC0EANgIAQb8CIAAgBEEEahACIQFB1IkLKAIAIRVB1IkLQQA2AgAgFUEBRwRAIAMEQCAEIAM2AgggAxBaCyAGBEAgBhBaCyAEQRBqJAAgAQ8LEAAhAiADRQ0BIAQgAzYCCCADEFoMAQsQACECCyAGBEAgBhBaCyACEAcACwUAQeYACwkAIAAQ4QgQWgu3QgNPfwJ+An0jAEGAAmsiBCQAIARB9AFqIAEoAgQQ2gkgBEIANwPAASAEQgA3A7gBIARCgICAgICAgMA/NwPIASAEQgA3A9gBIARBADYC7AEgBCAEQeQBaiIONgLoASAEQYCAgPwDNgLgASAEQgA3A7ABIARCADcD0AEgBCABNgLwASAOIA42AgACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAQoAvQBIgMgBCgC+AEiCEYNACAEQdABaiEGIA6tQiCGIVEDQCADKAIAIQJB1IkLQQA2AgBBkRogBEEIaiAGIAIgUSACrSJShBCoAkHUiQsoAgAhFUHUiQtBADYCACAVQQFGDQ0gBCgCCCEFAkAgBC0ADEUEQCAFKAIMIQIMAQtB1IkLQQA2AgBBBEEQEAYhAkHUiQsoAgAhFkHUiQtBADYCACAWQQFGDQ4gAiAONgIEIAIgUjcCCCACIAQoAuQBIgc2AgAgByACNgIEIAQgAjYC5AEgBCAEKALsAUEBajYC7AEgBSACNgIMCyACQQA6AAwgA0EEaiIDIAhHDQALIAQoAugBIgggDkYNAAJAA0ACQCAIKAIIIQMgBCgC8AEiAigCACgCGCEXQdSJC0EANgIAIBcgBEEIaiACIAMQCEHUiQsoAgAhGEHUiQtBADYCACAYQQFGDQACQCAELQAMRQ0AIAQoAtQBIgVFDQAgBCgCCCIJQZXTx94FbCIDQRh2IANzQZXTx94FbEGomb30fXNBldPH3gVsIgNBDXYgA3NBldPH3gVsIgNBD3YgA3MhAwJAIAVpQQFLIgdFBEAgBUEBayADcSEGDAELIAMiBiAFSQ0AIAMgBXAhBgsgBCgC0AEgBkECdGooAgAiAkUNACACKAIAIgJFDQACQCAHRQRAIAVBAWshBQNAAkAgAyACKAIEIgdHBEAgBSAHcSAGRg0BDAULIAIoAgggCUYNAwsgAigCACICDQALDAILA0ACQCADIAIoAgQiB0cEQCAFIAdNBH8gByAFcAUgBwsgBkYNAQwECyACKAIIIAlGDQILIAIoAgAiAg0ACwwBCyACKAIMIgMgDkYNACADQQE6AAwLIA4gCCgCBCIIRw0BDAILCxAAIQIMDgsgBCgC6AEiAiAORg0AA0AgAikCCCJRQoCAgIDwH4NQBEBB1IkLQQA2AgBBkhogBEGwAWogUacQA0HUiQsoAgAhGUHUiQtBADYCACAZQQFGDQMLIAIoAgQiAiAORw0ACwtB1IkLQQA2AgBBkxogBEGwAWoQCkHUiQsoAgAhGkHUiQtBADYCACAaQQFGDQkgASIHQRRqIQsgAUEgaiIQrUIghiFRIARBvAFqIQwCQAJAA0AgBCgCtAEiASAEKAKwAUYEQCAHKAIYIgENAyAAQgA3AgAgAEGAgID8AzYCECAAQgA3AggMDgsgAUEEaygCACIFQZXTx94FbCIDQRh2IANzQZXTx94FbEGomb30fXNBldPH3gVsIgNBDXYgA3NBldPH3gVsIgNBD3YgA3MhCAJAAkACQAJAAkAgBygCECIDRQ0AAkAgA2lBAUsiCUUEQCADQQFrIAhxIQYMAQsgCCIGIANJDQAgBiADcCEGCyAHKAIMIAZBAnRqKAIAIgJFDQAgAigCACICRQ0AIAlFBEAgA0EBayEJA0ACQCAIIAIoAgQiCkcEQCAJIApxIAZGDQEMBAsgAigCCCAFRg0ECyACKAIAIgINAAsMAQsDQAJAIAggAigCBCIJRwRAIAMgCU0EfyAJIANwBSAJCyAGRg0BDAMLIAIoAgggBUYNAwsgAigCACICDQALC0HUiQtBADYCAEEEQRAQBiEJQdSJCygCACEbQdSJC0EANgIAIBtBAUYNBSAJIAg2AgQgCUEANgIAIAkgUSAFrSJShDcCCCAHKgIcIVMgBygCGEEBarMhVAJAAkACQAJAAkACQCADRQ0AIFMgA7OUIFRdDQAgBiEIDAELQQIhBgJAIAMgA0EBa3FBAEcgA0EDSXIgA0EBdHIiAQJ/IFQgU5WNIlNDAACAT10gU0MAAAAAYHEEQCBTqQwBC0EACyICIAEgAksbIgFBAUYNACABIAFBAWtxRQRAIAEhBgwBC0HUiQtBADYCAEEVIAEQBiEGQdSJCygCACEcQdSJC0EANgIAIBxBAUYNAiAHKAIQIQMLAkACQCADIAZPBEAgAyAGTQ0CIANBA0khAgJ/IAcoAhizIAcqAhyVjSJTQwAAgE9dIFNDAAAAAGBxBEAgU6kMAQtBAAshAQJAAkAgAg0AIANpQQFLDQAgAUEBQSAgAUEBa2drdCABQQJJGyECDAELQdSJC0EANgIAQRUgARAGIQJB1IkLKAIAIR1B1IkLQQA2AgAgHUEBRg0FCyADIAYgAiACIAZJGyIGTQRAIAcoAhAhAwwDCyAGRQ0BCyAGQYCAgIAETwRAQdSJC0EANgIAQQMQCUHUiQsoAgAhHkHUiQtBADYCACAeQQFGDQUMFwtB1IkLQQA2AgBBBCAGQQJ0EAYhA0HUiQsoAgAhH0HUiQtBADYCACAfQQFGDQMgBygCDCEBIAcgAzYCDCABBEAgARBaCyAHIAY2AhBBACEFQQAhAiAGQQRPBEAgBkH8////A3EhAwNAIAJBAnQiASAHKAIMakEANgIAIAcoAgwgAWpBADYCBCAHKAIMIAFqQQA2AgggBygCDCABakEANgIMIAJBBGoiAiADRw0ACwsgBkEDcSIBBEADQCAHKAIMIAJBAnRqQQA2AgAgAkEBaiECIAVBAWoiBSABRw0ACwsgBygCFCICRQRAIAYhAwwCCyACKAIEIQECQCAGIAZBAWsiCnEEQCABIAZPBEAgASAGcCEBCyAHKAIMIAFBAnRqIAs2AgAgAigCACIFDQEgBiEDDAMLIAcoAgwgASAKcSIBQQJ0aiALNgIAIAIoAgAiA0UEQCAGIQMMAwsDQAJAIAEgAygCBCAKcSIFRgRAIAMhAgwBCyAFQQJ0Ig8gBygCDGoiDSgCAARAIAIgAygCADYCACADIAcoAgwgD2ooAgAoAgA2AgAgBygCDCAPaigCACADNgIADAELIA0gAjYCACADIQIgBSEBCyACKAIAIgMNAAsgBiEDDAILA0AgBiAFKAIEIgNNBEAgAyAGcCEDCwJAIAEgA0YEQCAFIQIMAQsgA0ECdCIKIAcoAgxqIg8oAgBFBEAgDyACNgIAIAUhAiADIQEMAQsgAiAFKAIANgIAIAUgBygCDCAKaigCACgCADYCACAHKAIMIApqKAIAIAU2AgALIAIoAgAiBQ0ACyAGIQMMAQsgBygCDCEBIAdBADYCDCABBEAgARBaC0EAIQMgB0EANgIQCyADIANBAWsiAXFFBEAgASAIcSEIDAELIAMgCEsNACAIIANwIQgLIAcoAgwgCEECdGoiAigCACIBDQUgCSAHKAIUNgIAIAcgCTYCFCACIAs2AgAgCSgCACIBRQ0GIAEoAgQhAiADIANBAWsiAXENAiABIAJxIQIMAwsQACECIAkQWgwWCxAAIQIgCRBaDBULIAIgA0kNACACIANwIQILIAcoAgwgAkECdGogCTYCAAwCCyACKAIMIQIMAgsgCSABKAIANgIAIAEgCTYCAAsgByAHKAIYQQFqNgIYQdSJC0EANgIAQQRBEBAGIQJB1IkLKAIAISBB1IkLQQA2AgAgIEEBRg0CIAIgEDYCBCACIFI3AgggAiAHKAIgIgE2AgAgASACNgIEIAcgAjYCICAHIAcoAihBAWo2AiggCSACNgIMIAQoArQBIQELIAIgETYCDCABQQRrKAIAIQFB1IkLQQA2AgBB4gIgBEEIaiAMIAEgARAFQdSJCygCACEhQdSJC0EANgIAICFBAUcEQCAEIAQoArQBIgNBBGsiAjYCtAECQCAEKAKwASIPIAJGDQAgBCgCwAEiBUEBayEKIAVpIQ0gBCgCvAEhEgNAIAVFDQEgA0EIaygCACIGQZXTx94FbCIBQRh2IAFzQZXTx94FbEGomb30fXNBldPH3gVsIgFBDXYgAXNBldPH3gVsIgFBD3YgAXMhAQJAIA1BAUsiCUUEQCABIApxIQgMAQsgASIIIAVJDQAgASAFcCEICyASIAhBAnRqKAIAIhNFDQEgAiEDIBMoAgAiAkUNAQJAIAlFBEADQAJAIAIoAgQiCSABRwRAIAkgCnEgCEYNAQwGCyACKAIIIAZGDQMLIAIoAgAiAg0ADAQLAAsDQAJAIAIoAgQiCSABRwRAIAUgCU0EfyAJIAVwBSAJCyAIRg0BDAULIAIoAgggBkYNAgsgAigCACICDQALDAILIAQgA0EEayICNgK0ASACIA9HDQALCyARQQFqIRFB1IkLQQA2AgBBkxogBEGwAWoQCkHUiQsoAgAhIkHUiQtBADYCACAiQQFHDQELCxAAIQIMDgsQACECDA0LIAcoAgghA0HUiQtBADYCAEG5AiADIAEQA0HUiQsoAgAhI0HUiQtBADYCACAjQQFGDQcgB0EIaiILKAIAIgEoAlAhAyABKAJMIQFB1IkLQQA2AgBB2QEgC0EAIAMgAWtBA3UQCEHUiQsoAgAhJEHUiQtBADYCACAkQQFGDQcgECAHKAIkIg9HBEBBACEKA0BBACECIA8oAggiCUEQSSIBRQRAIAktAAFBAEchAgsgCiALKAIAIgMoAlAgAygCTCIDa0EDdU8EQEHUiQtBADYCAEENQbnDBkG4swJB0hNBreICEAVB1IkLKAIAISVB1IkLQQA2AgAgJUEBRw0LEAAhAgwPCyADIApBA3QiEWooAgAgAjoAAQJAAkACQAJAAkACQCABDQACQCAJKAIQDgQAAQMCAQsgCSkCFCFRIARBADYCECAEQgA3AgggBEEANgKgASAEQgA3ApgBAn8CQCBRpyIBQQdJIhINACABKAIEDQAgASgCDCABKAIIa0ECdQwBCyABQQBHCyITRQ0EQQAhBUEAIQZBACEIA0ACQAJAIBINACABKAIEDQAgASgCCCAIQQJ0aigCACECDAELIAEEQCABIQIgCEUNAQtB1IkLQQA2AgAgBCAFNgIIQQ1B3cMGQbizAkHYCEGg1gUQBUHUiQsoAgAhJkHUiQtBADYCACAmQQFHDRIQACECIAQoApgBIQUMEAtB1IkLQQA2AgBBlBogByACEAIhDUHUiQsoAgAhJ0HUiQtBADYCACAnQQFGDQ4CQCAGIAQoAgwiAksEQCACIA02AgAgBCACQQRqNgIMDAELAkACQAJAIAIgBWtBAnUiFEEBaiIDQYCAgIAETwRAQdSJC0EANgIAIAQgBTYCCEETEAkMAQtB/////wMgBiAFayIGQQF1IgwgAyADIAxJGyAGQfz///8HTxsiDEUEQEEAIQYMAwsgDEGAgICABEkNAUHUiQtBADYCACAEIAU2AghBAxAJC0HUiQsoAgAhKEHUiQtBADYCACAoQQFHDRQQACECIAQoApgBIQUMEgtB1IkLQQA2AgBBBCAMQQJ0EAYhBkHUiQsoAgAhKUHUiQtBADYCACApQQFGDRALIAYgFEECdGoiAyANNgIAIANBBGohDSACIAVHBEADQCADQQRrIgMgAkEEayICKAIANgIAIAIgBUcNAAsLIAxBAnQgBmohBiAEIA02AgwgBQRAIAUQWgsgAyEFCyATIAhBAWoiCEcNAAsMAwtB1IkLQQA2AgBBFEGWhgRBtagCQekAEAhB1IkLKAIAISpB1IkLQQA2AgAgKkEBRw0PEAAhAgwTCyAEIAkoAhw2AhAgBCAJKQIUIlE3AwhB1IkLQQA2AgBBlBogByBRpxACIQFB1IkLKAIAIQNB1IkLQQA2AgACQCADQQFHBEAgBCABNgIIIAcoAgAoAgwhK0HUiQtBADYCACArIAcgCSAEQQhqEAhB1IkLKAIAISxB1IkLQQA2AgAgLEEBRwRAIAsoAgAiASgCUCABKAJMIgFrQQN1IApLDQJB1IkLQQA2AgBBDUG5wwZBuLMCQaETQZ+JBBAFQdSJCygCACEtQdSJC0EANgIAIC1BAUcNERAAIQIMFQsQACECDBQLEAAhAgwTCyAEKAIQIQMgASARaiICKAIAIgEgBCkDCDcCFCABQQM2AhAgASADNgIcIAJBAToABAwDCwJAAkAgCSgCGCIBIAkoAhQiAkYEQEEAIQEgBEEANgIQIARCADcCCAwBCyABIAJrIgNBDG1B1qrVqgFPBEBB1IkLQQA2AgBB7wAQCUHUiQsoAgAhLkHUiQtBADYCACAuQQFHDRAQACECDBQLQdSJC0EANgIAQQQgAxAGIQFB1IkLKAIAIS9B1IkLQQA2AgAgL0EBRgRAEAAhAgwUCyABIAIgA/wKAABB1IkLQQA2AgAgBEEANgIQIARCADcCCEEEIAMQBiECQdSJCygCACEwQdSJC0EANgIAIDBBAUYEQBAAIQIgARBaDBQLIAQgAjYCCCAEIAIgA2oiBjYCECACIAEgA/wKAAAgBCAGNgIMA0ACQCACKAIAIQNB1IkLQQA2AgBBlBogByADEAIhA0HUiQsoAgAhMUHUiQtBADYCACAxQQFGDQAgAiADNgIAIAYgAkEMaiICRw0BDAILCwwBCyAHKAIAKAIIITJB1IkLQQA2AgAgMiAHIAkgBEEIahAIQdSJCygCACEzQdSJC0EANgIAIDNBAUYNACALKAIAIgMoAlAhAiADKAJMIQNB1IkLQQA2AgBBlRogAyACIAogBCgCCCAEKAIMEAxB1IkLKAIAITRB1IkLQQA2AgAgNEEBRwRAIAQoAggiAwRAIAQgAzYCDCADEFoLIAFFDQQgARBaDAQLCxAAIQIgBCgCCCIABEAgBCAANgIMIAAQWgsgAUUNESABEFoMEQsgBCAFNgIIIAQgBjYCEAsCfwJAIFFCIIinIgFBB0kiEg0AIAEoAgQNACABKAIMIAEoAghrQQJ1DAELIAFBAEcLIhMEQEEAIQggBCgCmAEhBSAEKAKgASEGA0ACQAJAIBINACABKAIEDQAgASgCCCAIQQJ0aigCACECDAELIAEEQCABIQIgCEUNAQtB1IkLQQA2AgAgBCAFNgKYAUENQd3DBkG4swJB2AhBoNYFEAVB1IkLKAIAITVB1IkLQQA2AgAgNUEBRw0OEAAhAgwMC0HUiQtBADYCAEGUGiAHIAIQAiENQdSJCygCACE2QdSJC0EANgIAIDZBAUYNCQJAIAYgBCgCnAEiAksEQCACIA02AgAgBCACQQRqNgKcAQwBCwJAAkACQCACIAVrQQJ1IhRBAWoiA0GAgICABE8EQEHUiQtBADYCACAEIAU2ApgBQRMQCQwBC0H/////AyAGIAVrIgZBAXUiDCADIAMgDEkbIAZB/P///wdPGyIMRQRAQQAhBgwDCyAMQYCAgIAESQ0BQdSJC0EANgIAIAQgBTYCmAFBAxAJC0HUiQsoAgAhN0HUiQtBADYCACA3QQFHDRAQACECIAQoApgBIQUMDgtB1IkLQQA2AgBBBCAMQQJ0EAYhBkHUiQsoAgAhOEHUiQtBADYCACA4QQFGDQsLIAYgFEECdGoiAyANNgIAIANBBGohDSACIAVHBEADQCADQQRrIgMgAkEEayICKAIANgIAIAIgBUcNAAsLIAxBAnQgBmohBiAEIA02ApwBIAUEQCAFEFoLIAMhBQsgCEEBaiIIIBNHDQALIAQgBTYCmAEgBCAGNgKgAQsgCygCACEBQdSJC0EANgIAQb8CIAEgBEEIahACIQFB1IkLKAIAIQNB1IkLQQA2AgACQAJAIANBAUYNACALKAIAIQNB1IkLQQA2AgBBvwIgAyAEQZgBahACIQNB1IkLKAIAITlB1IkLQQA2AgAgOUEBRg0AIAQgAzYCrAEgBCABNgKoASAHKAIAKAIQITpB1IkLQQA2AgAgOiAHIAkgBEGoAWoQCEHUiQsoAgAhO0HUiQtBADYCACA7QQFHDQELEAAhAiAEKAKYASEFDAoLIAogCygCACIBKAJQIAEoAkwiAWtBA3VPBEBB1IkLQQA2AgBBDUG5wwZBuLMCQY0TQZ+JBBAFQdSJCygCACE8QdSJC0EANgIAIDxBAUcNDBAAIQIgBCgCmAEhBQwKCyABIBFqIgMoAgAiASAEKQOoASJRPgIUIAFBADYCECABIFFCIIg+AhggA0EBOgAEIAQoApgBIgEEQCABEFoLIAQoAggiAUUNACABEFoLIAcoAgAoAhghPUHUiQtBADYCACA9IARBCGogByAJEAhB1IkLKAIAIQFB1IkLQQA2AgACQAJAAkAgAUEBRwRAIAQtAAxFDQMgBCgCCCEFIAcoAhAiA0UNASAFQZXTx94FbCIBQRh2IAFzQZXTx94FbEGomb30fXNBldPH3gVsIgFBDXYgAXNBldPH3gVsIgFBD3YgAXMhAQJAIANpQQFLIghFBEAgA0EBayABcSEGDAELIAEiBiADSQ0AIAEgA3AhBgsgBygCDCAGQQJ0aigCACICRQ0BIAIoAgAiAkUNAQJAIAhFBEAgA0EBayEDA0ACQCABIAIoAgQiCEcEQCADIAhxIAZGDQEMBgsgAigCCCAFRg0DCyACKAIAIgINAAsMAwsDQAJAIAEgAigCBCIIRwRAIAMgCE0EfyAIIANwBSAICyAGRg0BDAULIAIoAgggBUYNAgsgAigCACICDQALDAILIAIoAgwiASAQRg0BIAogASgCDCIBTQRAQdSJC0EANgIAQQ1BzPwCQbWoAkHvAEHW0QEQBUHUiQsoAgAhPkHUiQtBADYCACA+QQFHDQ8QACECDBMLQbnDBiEIAn8gASALKAIAIgMoAlAgAygCTCICa0EDdSIDTwRAQbeJBCECQaYTDAELIAMgCk0EQEGjjAQhAkG5EwwBCyACIAFBA3RqKAIAIgVBD0sNA0GfywIhAkGDoQYhCEGfAwshAEHUiQtBADYCAEENIAhBuLMCIAAgAhAFQdSJCygCACE/QdSJC0EANgIAID9BAUcNDhAAIQIMEgsQACECDBELAn8gCiALKAIAIgEoAlAgASgCTCICa0EDdU8EQEGjjAQhAkG5EyEDQbnDBgwBCyAFQQ9LDQFBn8sCIQJBnwMhA0GDoQYLIQBB1IkLQQA2AgBBDSAAQbizAiADIAIQBUHUiQsoAgAhQEHUiQtBADYCACBAQQFHDQwQACECDBALIAIgEWooAgAgBTYCBAsgBygCACgCFCFBQdSJC0EANgIAIEEgByALIAogCRAFQdSJCygCACFCQdSJC0EANgIAIEJBAUYNBSAKQQFqIQogDygCBCIPIBBHDQALC0HUiQtBADYCAEHbASAEQZgBaiALEANB1IkLKAIAIQFB1IkLQQA2AgACQAJAAkACQCABQQFHBEAgBC0ApAEiAUUNBCABQQFHDQNB1IkLQQA2AgBBCCAEQQhqEAYhAEHUiQsoAgAhQ0HUiQtBADYCACBDQQFGDQFB1IkLQQA2AgBBCSAAQQhqQd/tBkEpEAQhAUHUiQsoAgAhREHUiQtBADYCACBEQQFGDQJB1IkLQQA2AgBB3AEgASAEKAKcARADQdSJCygCACFFQdSJC0EANgIAIEVBAUYNAkHUiQtBADYCAEEJIAFBwtIGQQoQBBpB1IkLKAIAIUZB1IkLQQA2AgAgRkEBRg0CQdSJC0EANgIAQd4BIAAgBCgCmAEQAiFIQdSJCygCACFHQdSJC0EANgIAIEdBAUYNAiBIEHEACxAAIQIMEAsQACECDAULEAAaIAAQcQALQdSJC0EANgIAQd8BEAlB1IkLKAIAIUlB1IkLQQA2AgAgSUEBRw0JEAAhAgwDCyAAQgA3AgAgAEGAgID8AzYCECAAQgA3AggCQCAHKAIkIgIgEEYNAANAIAQgAikCCCJRNwOoAUHUiQtBADYCACAEKAKYASEBQbAZIARBCGogACBRpyAEQagBahAFQdSJCygCACFKQdSJC0EANgIAIEpBAUYNAyAEKAIIIAEgUUIgiKdBAnRqKAIANgIMIAIoAgQiAiAQRw0ACyAAKAIIIgZFDQADQAJAIAcoAgQiASgCmAEiBUUNACAGKAIIIglBldPH3gVsIgNBGHYgA3NBldPH3gVsQaiZvfR9c0GV08feBWwiA0ENdiADc0GV08feBWwiA0EPdiADcyEDIAFBlAFqIQsCQCAFaUEBSyIIRQRAIAVBAWsgA3EhAQwBCyADIgEgBUkNACABIAVwIQELIAsoAgAgAUECdGooAgAiAkUNACACKAIAIgJFDQACQCAIRQRAIAVBAWshBQNAAkAgAyACKAIEIghHBEAgBSAIcSABRw0FDAELIAIoAgggCUYNAwsgAigCACICDQALDAILA0ACQCADIAIoAgQiCEcEQCAFIAhNBH8gCCAFcAUgCAsgAUcNBAwBCyACKAIIIAlGDQILIAIoAgAiAg0ACwwBCyAGQQxqIgEoAgAhA0HUiQtBADYCAEGLASAEQQhqIAsgAyABEAVB1IkLKAIAIUtB1IkLQQA2AgAgS0EBRwRAIAQoAggiASACKQIMNwIMIAEgAkYNASABIAIqAiQ4AiQgAigCHCEDQdSJC0EANgIAQeIBIAFBFGogAxADQdSJCygCACFMQdSJC0EANgIAIExBAUcNAQsMBAsgBigCACIGDQALCyAELQCkASIAQf8BRg0KIARB4wE2AgwgBEHkATYCCEHUiQtBADYCACAEQQhqIABBAnRqKAIAIARBqAFqIARBmAFqEANB1IkLKAIAIU1B1IkLQQA2AgAgTUEBRw0KQQAQCxoQcAALEAAhAgwLCxAAIQIgABCiAQsgBEGYAWoQnwUMCQsQACECDAgLEAAhAiAEIAU2ApgBDAELEAAhAiAEIAU2AgggBCgCmAEhBQsgBQRAIAUQWgsgBCgCCCIARQ0FIAAQWgwFCxAAIQIMBAsACxAAIQIMAgsCQCAEKALsAUUNACAEKALoASICKAIAIgAgBCgC5AEoAgQiATYCBCABIAA2AgAgBEEANgLsASACIA5GDQADQCACKAIEIU4gAhBaIE4iAiAORw0ACwsgBCgC2AEiAgRAA0AgAigCACFPIAIQWiBPIgINAAsLIAQoAtABIQAgBEEANgLQASAABEAgABBaCyAEKALEASICBEADQCACKAIAIVAgAhBaIFAiAg0ACwsgBCgCvAEhACAEQQA2ArwBIAAEQCAAEFoLIAQoArABIgAEQCAEIAA2ArQBIAAQWgsgBCgC9AEiAARAIAAQWgsgBEGAAmokAA8LEAAhAgsgBEGwAWoQ+gcgBCgC9AEiAARAIAAQWgsgAhAHAAsFAEHjAAt/AQN/IABBoN0HNgIAAkACQCAAKAKYASIBIABBiAFqIgJGBEBBBCEDIAIhAQwBC0EFIQMgAUUNAQsgASABKAIAIANBAnRqKAIAEQEACyAAKAJsIgIEQCAAIAI2AnAgAhBaCyAAQZDtCTYCACAALAATQQBIBEAgACgCCBBaCyAAC8oHAgp/An0gAkGV08feBWwiBEEYdiAEc0GV08feBWxBqJm99H1zQZXTx94FbCIEQQ12IARzQZXTx94FbCIEQQ92IARzIQQCQCAAAn8CQCABKAIEIgVFDQAgASgCAAJ/IAVBAWsgBHEgBWkiCEEBTQ0AGiAEIAQgBUkNABogBCAFcAsiB0ECdGooAgAiBkUNACAGKAIAIgZFDQAgCEEBTQRAIAVBAWshCANAAkAgBCAGKAIEIglHBEAgCCAJcSAHRw0EDAELIAYoAgggAkcNAEEADAQLIAYoAgAiBg0ACwwBCwNAAkAgBCAGKAIEIghHBEAgBSAITQR/IAggBXAFIAgLIAdHDQMMAQsgBigCCCACRw0AQQAMAwsgBigCACIGDQALC0EQEFwhBiADKAIAIQIgBkEBNgIMIAYgAjYCCCAGIAQ2AgQgBkEANgIAIAEqAhAhDiABKAIMQQFqsyEPAkACQCAFRQ0AIA4gBbOUIA9dDQAgByEEDAELQQIhAgJAIAUgBUEBa3FBAEcgBUEDSXIgBUEBdHIiAwJ/IA8gDpWNIg5DAACAT10gDkMAAAAAYHEEQCAOqQwBC0EACyIHIAMgB0sbIgNBAUYNACADIANBAWtxRQRAIAMhAgwBC0HUiQtBADYCAEEVIAMQBiECQdSJCygCACEKQdSJC0EANgIAIApBAUYNAyABKAIEIQULAkAgAiAFTQRAIAIgBU8NASAFQQNJIQcCfyABKAIMsyABKgIQlY0iDkMAAIBPXSAOQwAAAABgcQRAIA6pDAELQQALIQMCQAJAIAcNACAFaUEBSw0AIANBAUEgIANBAWtna3QgA0ECSRshBwwBC0HUiQtBADYCAEEVIAMQBiEHQdSJCygCACELQdSJC0EANgIAIAtBAUYNBQsgAiAHIAIgB0sbIgIgBU8NAQtB1IkLQQA2AgBBxRMgASACEANB1IkLKAIAIQxB1IkLQQA2AgAgDEEBRg0DCyABKAIEIgUgBUEBayICcUUEQCACIARxIQQMAQsgBCAFSQ0AIAQgBXAhBAsCQAJAIAEoAgAgBEECdGoiAigCACIERQRAIAYgAUEIaiIDKAIANgIAIAEgBjYCCCACIAM2AgAgBigCACICRQ0CIAIoAgQhBAJAIAUgBUEBayICcUUEQCACIARxIQQMAQsgBCAFSQ0AIAQgBXAhBAsgASgCACAEQQJ0aiEEDAELIAYgBCgCADYCAAsgBCAGNgIACyABIAEoAgxBAWo2AgxBAQs6AAQgACAGNgIADwsQACENIAYQWiANEAcACwUAQeUAC+0MAg1/An0gASABKAIIQZXTx94FbCICQRh2IAJzQZXTx94FbEGomb30fXNBldPH3gVsIgJBDXYgAnNBldPH3gVsIgJBD3YgAnMiCzYCBCAAKgIQIQ8gACgCDEEBarMhEAJAAkACQAJAIAAoAgQiAgRAIA8gArOUIBBdRQ0BC0ECIQUCQCACIAJBAWtxQQBHIAJBA0lyIAJBAXRyIgMCfyAQIA+VjSIPQwAAgE9dIA9DAAAAAGBxBEAgD6kMAQtBAAsiBiADIAZLGyIDQQFGDQAgAyADQQFrcUUEQCADIQUMAQsgAxD1AyEFIAAoAgQhAgsCQCACIAVPBEAgAiAFTQ0CIAJBA0khBgJ/IAAoAgyzIAAqAhCVjSIPQwAAgE9dIA9DAAAAAGBxBEAgD6kMAQtBAAshAyACIAUCfwJAIAYNACACaUEBSw0AIANBAUEgIANBAWtna3QgA0ECSRsMAQsgAxD1AwsiAyADIAVJGyIFTQRAIAAoAgQhAgwDCyAFRQ0BCyAFQYCAgIAETw0CIAVBAnQQXCEDIAAoAgAhAiAAIAM2AgAgAgRAIAIQWgsgACAFNgIEQQAhAiAFQQRPBEAgBUH8////A3EhBgNAIAJBAnQiAyAAKAIAakEANgIAIAAoAgAgA2pBADYCBCAAKAIAIANqQQA2AgggACgCACADakEANgIMIAJBBGoiAiAGRw0ACwsgBUEDcSIDBEADQCAAKAIAIAJBAnRqQQA2AgAgAkEBaiECIARBAWoiBCADRw0ACwsgACgCCCIGRQRAIAUhAgwCCyAAQQhqIQIgBigCBCEHAkAgBSAFQQFrIglxBEAgBSAHTQRAIAcgBXAhBwsgACgCACAHQQJ0aiACNgIAIAYoAgAiAw0BIAUhAgwDCyAAKAIAIAcgCXEiB0ECdGogAjYCACAGKAIAIgNFBEAgBSECDAMLA0ACQCAHIAMoAgQgCXEiBEYEQCADIQYMAQsgAyECIARBAnQiCCAAKAIAaiIKKAIABEADQAJAIAIiBCgCACICRQRAQQAhAgwBCyADKAIIIAIoAghGDQELCyAGIAI2AgAgBCAAKAIAIAhqKAIAKAIANgIAIAAoAgAgCGooAgAgAzYCAAwBCyAKIAY2AgAgAyEGIAQhBwsgBigCACIDDQALIAUhAgwCCwNAIAUgAygCBCIETQRAIAQgBXAhBAsCQCAEIAdGBEAgAyEGDAELIAMhAiAEQQJ0IgkgACgCAGoiCCgCAEUEQCAIIAY2AgAgAiEGIAQhBwwBCwNAAkAgAiIEKAIAIgJFBEBBACECDAELIAMoAgggAigCCEYNAQsLIAYgAjYCACAEIAAoAgAgCWooAgAoAgA2AgAgACgCACAJaigCACADNgIACyAGKAIAIgMNAAsgBSECDAELIAAoAgAhA0EAIQIgAEEANgIAIAMEQCADEFoLIABBADYCBAsCQAJAAkAgAmkiCUECTwRAIAsiBCACTwRAIAQgAnAhBAsgACgCACAEQQJ0aigCACIDDQEgASgCBCEDQQAhBwwFCyAAKAIAIAJBAWsiBSALcSIIQQJ0aigCACIDRQRAIAEoAgQhA0EAIQcMAwsgASgCCCEKQQAhBgNAIAMiBygCACIDRQ0CIAMoAgQiDCAFcSAIRw0CQQAhBCALIAxGBEAgAygCCCAKRiEECyAGIARBAXNxIQ0gBCAGciEGIA1FDQALDAELIAEoAgghCkEAIQUDQCADIgcoAgAiA0UNASADKAIEIgghBiACIAhNBH8gCCACcAUgBgsgBEcNAUEAIQYgCCALRgRAIAMoAgggCkYhBgsgBSAGQQFzcSEOIAUgBnIhBSAOQQFHDQALCyABKAIEIQMgCUEBSw0CCyACQQFrIANxIQMMAgsQagALIAIgA0sNACADIAJwIQMLAkACQCAHRQRAIAEgACgCCDYCACAAIAE2AgggACgCACADQQJ0aiAAQQhqNgIAIAEoAgAiA0UNAiADKAIEIQQgCUEBTQRAIAQgAkEBa3EhBAwCCyACIARLDQEgBCACcCEEDAELIAEgBygCADYCACAHIAE2AgAgASgCACIFRQ0BIAUoAgQhBAJAIAlBAU0EQCAEIAJBAWtxIQQMAQsgAiAESw0AIAQgAnAhBAsgAyAERg0BCyAAKAIAIARBAnRqIAE2AgALIAAgACgCDEEBajYCDCABC+AFAQ9/IwBBIGsiAyQAIAMgAUEAEMsJIABBADYCCCAAQgA3AgACQAJAAkAgAygCDCIBBEAgAUGAgICABE8EQEHUiQtBADYCAEGMARAJQdSJCygCACEKQdSJC0EANgIAIApBAUYNAgwEC0HUiQtBADYCAEEEIAFBAnQiARAGIQJB1IkLKAIAIQtB1IkLQQA2AgAgC0EBRg0BIAAgAjYCBCAAIAI2AgAgACABIAJqIgU2AggLIAMoAhgiByADQRRqIghGDQEgAiEBA0ACQAJAIAEgBUcEQCABIAcoAgg2AgAgACABQQRqIgE2AgQMAQsCQAJAAkAgASACayIEQQJ1IglBAWoiBkGAgICABE8EQEHUiQtBADYCAEGMARAJDAELQf////8DIARBAXUiBSAGIAUgBksbIARB/P///wdPGyIGRQRAQQAhBQwDCyAGQYCAgIAESQ0BQdSJC0EANgIAQQMQCQtB1IkLKAIAIQxB1IkLQQA2AgAgDEEBRw0HDAULQdSJC0EANgIAQQQgBkECdBAGIQVB1IkLKAIAIQ1B1IkLQQA2AgAgDUEBRg0CCyAFIAlBAnRqIgQgBygCCDYCACAFIAZBAnRqIQUgBEEEaiEGIAEgAkcEQANAIARBBGsiBCABQQRrIgEoAgA2AgAgASACRw0ACwsgACAFNgIIIAAgBjYCBCAAIAQ2AgAgAgRAIAIQWgsgBCECIAYhAQsgBygCBCIHIAhHDQEMAwsLCxAAIQ4gACgCACIBBEAgACABNgIEIAEQWgsgAxDeAyAOEAcACwJAIAMoAhxFDQAgAygCGCIBKAIAIgAgAygCFCgCBCICNgIEIAIgADYCACADQQA2AhwgASAIRg0AA0AgASgCBCEPIAEQWiAPIgEgCEcNAAsLIAMoAggiAQRAA0AgASgCACEQIAEQWiAQIgENAAsLIAMoAgAhACADQQA2AgAgAARAIAAQWgsgA0EgaiQADwsAC8kBAQV/IABBjMUHNgIAIAAoAkQiAQRAA0AgASgCACEDIAEQWiADIgENAAsLIAAoAjwhASAAQQA2AjwgAQRAIAEQWgsgACgCMCIBBEADQCABKAIAIQQgARBaIAQiAQ0ACwsgACgCKCEBIABBADYCKCABBEAgARBaCyAAKAIcIgEEQANAIAEoAgAhBSABEFogBSIBDQALCyAAKAIUIQEgAEEANgIUIAEEQCABEFoLIABBkO0JNgIAIAAsABNBAEgEQCAAKAIIEFoLIAALcgEDfyAAQfzsCTYCACAAQRhqEGEgACgCDCIDBEAgACgCECICIAMiAUcEQANAIAJBBGsiAigCACEBIAJBADYCACABBEAgASABKAIAKAIEEQEACyACIANHDQALIAAoAgwhAQsgACADNgIQIAEQWgsgABBaC50FAQt/IAEoAgAoAhwhCEHUiQtBADYCACAIIAEQBhpB1IkLKAIAIQJB1IkLQQA2AgACQAJAIAJBAUYNACABQQhqIQICQAJAAkACQCABKAIMIAEtABMiAyADwCIDQQBIG0EFaw4HAQMDAwMDAAMLIAIoAgAgAiADQQBIGyICQbejA0ELEF5FDQEgAkH9rgNBCxBeRQ0BDAILIAIoAgAgAiADQQBIG0HAvgJBBRBeDQELIABBAToAcQsgACgCECICIAAoAhQiBEkEQCACIAE2AgAgACACQQRqNgIQDwsgAiAAKAIMIgZrQQJ1IgdBAWoiA0GAgICABE8EQEHUiQtBADYCAEHHGBAJQdSJCygCACEJQdSJC0EANgIAIAlBAUYNAQwCCwJAQf////8DIAQgBmsiBEEBdSIFIAMgAyAFSRsgBEH8////B08bIgRFBEBBACEFDAELIARBgICAgARPBEBB1IkLQQA2AgBBAxAJQdSJCygCACEKQdSJC0EANgIAIApBAUcNAwwCC0HUiQtBADYCAEEEIARBAnQQBiEFQdSJCygCACELQdSJC0EANgIAIAtBAUYNAQsgBSAHQQJ0aiIDIAE2AgAgBSAEQQJ0aiEBIANBBGohBAJAIAIgBkcEQANAIAJBBGsiAigCACEFIAJBADYCACADQQRrIgMgBTYCACACIAZHDQALIAAgATYCFCAAKAIQIQEgACAENgIQIAAoAgwhAiAAIAM2AgwgASACRg0BA0AgAUEEayIBKAIAIQAgAUEANgIAIAAEQCAAIAAoAgAoAgQRAQALIAEgAkcNAAsMAQsgACABNgIUIAAgBDYCECAAIAM2AgwLIAIEQCACEFoLDwsQACEMIAEgASgCACgCBBEBACAMEAcACwAL7wUBBn8CQAJAIAEgASgCACgCGBECAEUNACACRQRAIAEgASgCACgCEBECAA0CIAAo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QcCKCEHOARAIQdSJCygCACEdQdSJC0EANgIAIB1BAUcNHxAAIQIgBUEATg0EIAYQWiAALAALQQBODQcgACgCABBaIAQQzwIaDB4LEAAhAiABLAALQQBODR0gASgCABBaDB0LEAAhAiABEG4gBBDPAhoMHAsQACECIAYQWiAALAALQQBODRggACgCABBaDBgLEAAhAiADLABLQQBODRcgAygCQBBaIAEQbiAEEM8CGgwaCyAALAALQQBODQIgACgCABBaIAQQzwIaDBkLIAMgAykDIEKAgICAgICA+P8AhDcDICABEM8CGgwDCxAAIQILIAQQzwIaDBYLIANCgICAgICAgPz/ADcDIAsCQCAIQS1GBEAgAyADKQMgQoCAgICAgICAgH+EIj43AyAgPr8hQAwBCyADKwMgIkC9IT4LIEAgQGEEQCADID5CAYQiPjcDIAsgA0EFNgJQIAMgPjcDQEHUiQtBADYCACADQQM2AjggAyA+NwMoQbEFIAUgA0FAayIAEAIaQdSJCygCACEeQdSJC0EANgIAIB5BAUcEQCAAEFkaIANBKGoQWRoMAgsQACECIANBQGsQWRogA0EoahBZGgwUC0HInQsoAgAgAEcNAgJAAkAgAUEEaw4CAAERCyADQQQ2AnAgA0GAgIB+NgJgQdSJC0EANgIAQbEFIAUgA0HgAGoiABACGkHUiQsoAgAhH0HUiQtBADYCACAfQQFHBEAgABBZGgwCCxAAIQIgA0HgAGoQWRoMFAsgA0EFNgJwIANCgICAgICAgHw3A2BB1IkLQQA2AgBBsQUgBSADQeAAaiIAEAIaQdSJCygCACEgQdSJC0EANgIAICBBAUYNASAAEFkaCyAGIQIMDgsQACECIANB4ABqEFkaDBELAkACQAJAAkAgAUECaw4EAAECAxALAkACQAJAIAAtAAAiB0Etaw4EAAICAQILQQEhAiAALQABQTBHDQEgAC0AAkH4AEcNAQwLCyAALQABQfgARg0KCyAAIAJqIgcQbCICQfD///8HTw0LAkACQCACQQtPBEAgAkEPckEBaiIIEFwhBCADIAhBgICAgHhyNgJIIAMgBDYCQCADIAI2AkQMAQsgAyACOgBLIANBQGshBCACRQ0BCyAEIAcgAvwKAAALIAIgBGpBADoAAEHUiQtBADYCAEH7ESADQeAAaiADQUBrEAIhBEHUiQsoAgAhAkHUiQtBADYCAAJAAkACQAJAAkACQAJAIAJBAUcEQCADLABLQQBIBEAgAygCQBBaC0HUiQtBADYCAEH8ESAEIANBKGoQAiECQdSJCygCACEhQdSJC0EANgIAICFBAUYNASACIAIoAgBBDGsoAgBqLQAQQQVxRQ0GQRQQciEBQdSJC0EANgIAQQRBIBAGIQJB1IkLKAIAISJB1IkLQQA2AgAgIkEBRg0CIAMgAjYCQCADQpSAgICAhICAgH83AkQgAkGr7AYoAAA2ABAgAkGj7AYpAAA3AAggAkGb7AYpAAA3AAAgAkEAOgAUQdSJC0EANgIAQY0CIANBQGsgABACIQBB1IkLKAIAISNB1IkLQQA2AgAgI0EBRg0EIAAoAgAhBiADIAMvAUg7ARQgAyADLQBKOgAWIAMoAkQhAiAAQgA3AgAgACwACyEFIABBADYCCAJAIAVBAE4EQCABIAI2AgQgASAGNgIAIAEgAy8BFDsBCCABIAMtABY6AAogASAFOgALDAELQdSJC0EANgIAQdQAIAEgBiACEAhB1IkLKAIAISRB1IkLQQA2AgAgJEEBRg0ECyABQn83AgxB1IkLQQA2AgBBzQEgAUHAighBzgEQCEHUiQsoAgAhJUHUiQtBADYCACAlQQFHDRwQACECIAVBAE4NBSAGEFogACwAC0EATg0HIAAoAgAQWiAEEM8CGgwbCxAAIQIgAywAS0EATg0aIAMoAkAQWgwaCxAAIQIgBBDPAhoMGQsQACECIAEQbiAEEM8CGgwYCxAAIQIgBhBaIAAsAAtBAE4NDCAAKAIAEFoMDAsQACECIAMsAEtBAE4NCyADKAJAEFogARBuIAQQzwIaDBYLIAAsAAtBAE4NASAAKAIAEFogBBDPAhoMFQsgAC0AACEHIANBAjYCUCADQQAgAygCKCIIayAIIAdBLUYbNgJAAkAgA0FAayIHIAVHBEAgBRBZIQVB1IkLQQA2AgBBwAAgBSAHEAIaQdSJCygCACEmQdSJC0EANgIAICZBAUYNAQsgA0FAaxBZGiACQcCUCjYCPCACQayUCjYCACACQbiMCjYCCCACLAAzQQBIBEAgAigCKBBaCyACQQhqEOsBGiACQTxqEOgBGgwMCxAAIQIgA0FAaxBZGgsgBBDPAhoMEwsCQAJAAkAgAC0AACIHQS1rDgQAAgIBAgtBASECIAAtAAFBMEcNASAALQACQfgARw0BDAgLIAAtAAFB+ABGDQcLIAAgAmoiBxBsIgJB8P///wdPDQoCQAJAIAJBC08EQCACQQ9yQQFqIggQXCEEIAMgCEGAgICAeHI2AkggAyAENgJAIAMgAjYCRAwBCyADIAI6AEsgA0FAayEEIAJFDQELIAQgByAC/AoAAAsgAiAEakEAOgAAQdSJC0EANgIAQfsRIANB4ABqIANBQGsQAiEEQdSJCygCACECQdSJC0EANgIAAkACQAJAAkACQAJAAkAgAkEBRwRAIAMsAEtBAEgEQCADKAJAEFoLQdSJC0EANgIAQf0RIAQgA0EoahACIQJB1IkLKAIAISdB1IkLQQA2AgAgJ0EBRg0BIAIgAigCAEEMaygCAGotABBBBXFFDQZBFBByIQFB1IkLQQA2AgBBBEEgEAYhAkHUiQsoAgAhKEHUiQtBADYCACAoQQFGDQIgAyACNgJAIANClICAgICEgICAfzcCRCACQYHsBigAADYAECACQfnrBikAADcACCACQfHrBikAADcAACACQQA6ABRB1IkLQQA2AgBBjQIgA0FAayAAEAIhAEHUiQsoAgAhKUHUiQtBADYCACApQQFGDQQgACgCACEGIAMgAy8BSDsBDCADIAMtAEo6AA4gAygCRCECIABCADcCACAALAALIQUgAEEANgIIAkAgBUEATgRAIAEgAjYCBCABIAY2AgAgASADLwEMOwEIIAEgAy0ADjoACiABIAU6AAsMAQtB1IkLQQA2AgBB1AAgASAGIAIQCEHUiQsoAgAhKkHUiQtBADYCACAqQQFGDQQLIAFCfzcCDEHUiQtBADYCAEHNASABQcCKCEHOARAIQdSJCygCACErQdSJC0EANgIAICtBAUcNGxAAIQIgBUEATg0FIAYQWiAALAALQQBODQcgACgCABBaIAQQzwIaDBoLEAAhAiADLABLQQBODRkgAygCQBBaDBkLEAAhAiAEEM8CGgwYCxAAIQIgARBuIAQQzwIaDBcLEAAhAiAGEFogACwAC0EATg0JIAAoAgAQWgwJCxAAIQIgAywAS0EATg0IIAMoAkAQWiABEG4gBBDPAhoMFQsgACwAC0EATg0BIAAoAgAQWiAEEM8CGgwUCyAALQAAIQcgA0EDNgJQIANCACADKQMoIj59ID4g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AgAgNUEBRg0BIAIgAigCAEEMaygCAGotABBBBXFFDQZBFBByIQFB1IkLQQA2AgBBBEEgEAYhAkHUiQsoAgAhNkHUiQtBADYCACA2QQFGDQIgAyACNgJAIANClICAgICEgICAfzcCRCACQavsBigAADYAECACQaPsBikAADcACCACQZvsBikAADcAACACQQA6ABRB1IkLQQA2AgBBjQIgA0FAayAAEAIhAEHUiQsoAgAhN0HUiQtBADYCACA3QQFGDQQgACgCACEGIAMgAy8BSDsBGCADIAMtAEo6ABogAygCRCECIABCADcCACAALAALIQUgAEEANgIIAkAgBUEATgRAIAEgAjYCBCABIAY2AgAgASADLwEYOwEIIAEgAy0AGjoACiABIAU6AAsMAQtB1IkLQQA2AgBB1AAgASAGIAIQCEHUiQsoAgAhOEHUiQtBADYCACA4QQFGDQQLIAFCfzcCDEHUiQtBADYCAEHNASABQcCKCEHOARAIQdSJCygCACE5QdSJC0EANgIAIDlBAUcNEhAAIQIgBUEATg0FIAYQWiAALAALQQBODQcgACgCABBaIAQQzwIaDBELEAAhAiADLABLQQBODRAgAygCQBBaDBALEAAhAiAEEM8CGgwPCxAAIQIgARBuIAQQzwIaDA4LEAAhAiAGEFogACwAC0EATg0IIAAoAgAQWgwICxAAIQIgAywAS0EATg0HIAMoAkAQWiABEG4gBBDPAhoMDAsgACwAC0EATg0BIAAoAgAQWiAEEM8CGgwLCyADQQI2AlAgA0EAIAMoAigiCGsgCCAHQS1GGzYCQAJAIANBQGsiByAFRwRAIAUQWSEFQdSJC0EANgIAQcAAIAUgBxACGkHUiQsoAgAhOkHUiQtBADYCACA6QQFGDQELIANBQGsQWRogAkHAlAo2AjwgAkGslAo2AgAgAkG4jAo2AgggAiwAM0EASARAIAIoAigQWgsgAkEIahDrARogAkE8ahDoARoMAgsQACECIANBQGsQWRoLIAQQzwIaDAkLIAYiAigCGCABRg0EQRQQciEBQdSJC0EANgIAQQRBMBAGIQJB1IkLKAIAITtB1IkLQQA2AgAgO0EBRg0BIAMgAjYCQCADQqqAgICAhoCAgH83AkQgAkGZ+QYvAAA7ACggAkGR+QYpAAA3ACAgAkGJ+QYpAAA3ABggAkGB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IQJB1IkLQQA2AgBBzQEgAUGwuQdBzgEQCEHUiQsoAgAhCkHUiQtBADYCACAKQQFHDQYLEAAhASADLAALQQBIBEAgAygCABBaCyACDQMMBAsgAyAAIAFBBBBpIgUQpAEiBjYCNAJAIAUoAigiBUUNACAAKALQAUUNACADQShqIAAgBRCjASADQThqIAAoAtABQeAAaiAGIANBNGoQeCADKAI4IgUgAygCMDYCFCAFIAMpAig3AgwLAkAgBigCBCIFIARGDQAgBSAEEO8BDQBBFBByIQBB1IkLQQA2AgBBzAEgA0EIakH/hAQQAiEDQdSJCygCACELQdSJC0EANgIAQQEhAiALQQFGDQJB1IkLQQA2AgBB0AEgACADIAEQBCEBQdSJCygCACEMQdSJC0EANgIAIAxBAUcEQEEAIQJB1IkLQQA2AgBBzQEgAUGwuQdBzgEQCEHUiQsoAgAhDUHUiQtBADYCACANQQFHDQYLEAAhASADLAALQQBIBEAgAygCABBaCyACDQMMBAsgAykDICEOIAAoAgBBqAFqQRxBBBBdIgAgBzYCGCAAIAY2AhQgACAONwIMIABBA0ECIAIbNgIIIABCPzcCACAAEM0FIANBQGskACAADwsQACEBDAELEAAhAQsgABBuCyABEAcLAAuDBAEFfyMAQSBrIgMkACAAKAIEQRhBBBBdIgRCADcCCCAEQoSAgIAQNwIAIARCADcCECADQQhqIgYgACABQQEQaUEAEOYEIAQgAykDCDcCCCABEKUCKAIEQQJHBEACQCACBEAgARClAigCBCEHIAFBAhBpIQIgB0EETwRAIAMgACACEKQBIgU2AhQCQCACKAIoIgJFDQAgACgC0AFFDQAgBiAAIAIQowEgA0EYaiAAKALQAUHgAGogBSADQRRqEHggAygCGCICIAMoAhA2AhQgAiADKQIINwIMCyAEIAU2AhAgAUEDEGkhAgsgAyAAIAIQpAEiATYCFAJAIAIoAigiAkUNACAAKALQAUUNACADQQhqIAAgAhCjASADQRhqIAAoAtABQeAAaiABIANBFGoQeCADKAIYIgAgAygCEDYCFCAAIAMpAgg3AgwLIAQgATYCFAwBCyADIAAgAUECEGkiAhCkASIBNgIUAkAgAigCKCICRQ0AIAAoAtABRQ0AIANBCGogACACEKMBIANBGGogACgC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BCABNgIAIAAoAgAoAgAiAgRAIAAgAjYCACAEKAIAIQELIAEgASAJKAIAIgZGIgI6AAwCQCACDQADQCABKAIIIgMtAAwNAQJAIAMgAygCCCICKAIAIgRGBEACQCACKAIEIgRFDQAgBC0ADA0ADAILAkAgASADKAIARgRAIAMhAQwBCyADIAMoAgQiASgCACIGNgIEIAMhBCAGBEAgBiADNgIIIAMoAggiAigCACEECyABIAI2AgggAiACQQRqIAMgBEYbIAE2AgAgASADNgIAIAMgATYCCCABKAIIIgIoAgAhAwsgAUEBOgAMIAJBADoADCACIAMoAgQiATYCACABBEAgASACNgIICyADIAIoAggiATYCCCABIAEoAgAgAkdBAnRqIAM2AgAgAyACNgIEIAIgAzYCCAwDCwJAIARFDQAgBC0ADA0ADAELAkAgASADKAIARwRAIAMhAQwBCyADIAEoAgQiBDYCACAEBEAgBCADNgIIIAMoAgghAgsgASACNgIIIAIgAkEEaiACKAIAIANGGyABNgIAIAEgAzYCBCADIAE2AgggASgCCCECCyABQQE6AAwgAkEAOgAMIAIgAigCBCIBKAIAIgM2AgQgAwRAIAMgAjYCCAsgASACKAIIIgM2AgggAyADKAIAIAJHQQJ0aiABNgIAIAEgAjYCACACIAE2AggMAgsgA0EBOgAMIAIgAiAGRjoADCAEQQE6AAwgBiACIgFHDQALCyAAIBFBAWoiETYCCAsgCigCACIKDQEMAgsLEAAhAiADEGAgDigCABDqBAwECwJAIAcoAgQiAwRAA0AgAyICKAIAIgMNAAwCCwALA0AgBygCCCICKAIAIAdHIRUgAiEHIBUNAAsLIA4gAiIHRw0ACwwDCxAAIQICQCAFIAUoAhAiA0YEQEEEIQEgBSEDDAELQQUhASADRQ0CCyADIAMoAgAgAUECdGooAgARAQAMAQsQACECCyAFQShqEKIBIAIQBwALIAwoAggQ6gQgBSgCMCICBEADQCACKAIAIRYgAhBaIBYiAg0ACwsgBSgCKCEAIAVBADYCKCAARQ0AIAAQWgsgBUFAayQAC+8CAQd/IwBBEGsiBSQAIABBpAJqIQQgACgCsAIEQCAAKAKsAiIBBEADQCABKAIAIQcgARBaIAciAQ0ACwtBACEBIABBADYCrAICQCAAKAKo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QCAIQQhqIAYgAykCECIQIBAQsAICQCADKAIEIgIEQANAIAIiBCgCACICDQAMAgsACwNAIAMoAggiBCgCACADRyENIAQhAyANDQALCyAFIAQiA0cNAAsLIAEoAmAiAyABQeQAaiIFRwRAIABB4ABqIQYDQCAIQQhqIAYgAykCECIQIBAQsAICQCADKAIEIgIEQANAIAIiBCgCACICDQAMAgsACwNAIAMoAggiBCgCACADRyEOIAQhAyAODQALCyAFIAQiA0cNAAsLIAEoAmwiAyABQfAAaiIBRwRAIABB7ABqIQADQCAIQQhqIAAgAykCECIQIBAQsAICQCADKAIEIgIEQANAIAIiBCgCACICDQAMAgsACwNAIAMoAggiBCgCACADRyEPIAQhAyAPDQALCyABIAQiA0cNAAsLIAhBEGokAAuoBQEDfyAAIAEvAQA7AQAgACABKAIENgIEIAAgASgCCCICNgIIIAIEQCACIAIoAgRBAWo2AgQLIAAgASkCDDcCDCAAIAEvARQ7ARQgAEEcaiICQgA3AgAgACACNgIYIAEoAhghAkHUiQtBADYCAEHjCSAAQRhqIAIgAUEcahAIQdSJCygCACECQdSJC0EANgIAAkACQCACQQFGBEAQACEBDAELIAAgAEEoajYCJCAAQgA3AiggASgCJCECQdSJC0EANgIAQeMJIABBJGogAiABQShqEAhB1IkLKAIAIQJB1IkLQQA2AgACQCACQQFGBEAQACEBDAELIAAgAEE0ajYCMCAAQgA3AjQgASgCMCECQdSJC0EANgIAQeQJIABBMGogAiABQTRqEAhB1IkLKAIAIQJB1IkLQQA2AgACQCACQQFGBEAQACEBDAELIAAgAEFAayICNgI8IAJCADcCACABKAI8IQNB1IkLQQA2AgBB5AkgAEE8aiADIAFBQGsQCEHUiQsoAgAhA0HUiQtBADYCAAJAIANBAUYEQBAAIQEMAQsgACABKQJINwJIIAAgASkBVjcBViAAIAEpAlA3AlAgAEHkAGoiA0IANwIAIAAgAzYCYCABKAJgIQNB1IkLQQA2AgBB5AkgAEHgAGogAyABQeQAahAIQdSJCygCACEDQdSJC0EANgIAAkAgA0EBRgRAEAAhAQwBCyAAIABB8ABqNgJsIABCADcCcCABKAJsIQNB1IkLQQA2AgBB5AkgAEHsAGogAyABQfAAahAIQdSJCygCACEEQdSJC0EANgIAIARBAUcNBRAAIQEgACgCcBBgCyAAKAJkEGALIAIoAgAQYAsgACgCNBBgCyAAKAIoEG8LIAAoAhwQbyAAQQRqEMMCIAEQBwALIAALcAEBfwJAAkACQCABKAIIKAIEIgJBB0kNACACKAIEQQFHDQAgAigCCEF8cUEMRg0BCyABKAIQKAIEIgFBB0kNASABKAIEQQFHDQEgASgCCEF8cUEMRw0BCyAAQQE6AFAPCyAAQQE6AFEgAEGBAjsBTgvUAQEDfwJAAkACQCABKAIMIgQoAgQiAkEBRg0AIAJBB0kNAQJAIAJBBGooAgBBAUcNACACKAIIQXxxQQxHDQAgAEEBOgBQDwsgAigCBEEBRw0BIAIoAggiA0EQSQ0CIAMoAhBBAkcNAiADKAIUIAEoAghBDGxqKAIIQQFGBEAgAEEBOgBMIAQoAgQiAkEHSQ0BCyACKAIEQQFHDQAgAigCDEEBRw0AIABBAToAUQsPC0G//wVBuLMCQeQHQauJBBABAAtBmfkFQbizAkHlCUHohgEQAQALqwIBA38jAEEQayICJAACQAJAIAEoAggiA0EfSw0AQQEgA3RB+ICAgH9xRQ0AAkAgASgCECIBKAIAQQ5HDQAgASgCGCIEQQdPDQIgAUEIaiEBAkACQAJAAkACQAJAAkAgBEECaw4FBQABAgMECyABKQMAQgBSDQUMBgsgASoCAEMAAAAAXA0EDAULIAErAwBEAAAAAAAAAABiDQMMBAsgAkIANwMIIAJCADcDACABIAJBEBBeDQIMAwtB74QEQeaaA0H2ABBiAAsgASgCAEUNAQsgA0EcRyADQQNHcQ0BAn4CQAJAAkAgBEECaw4CAgABCyABKQMADAILEA8ACyABNAIAC0J/Ug0BCyAAQQE6AFELIAJBEGokAA8LQeHNBkGfnwNBwwFB8+cEEAEAC5UEAQh/IwBBgAFrIgYkAAJAIAAoAmwoAgwgARCeBg0AIAAoAmwhBCABLQAgBEAgBEEBOgAUCwJAIAQoAgQiA0UNACADKAIEIgJFDQAgAygCAAJ/IAEoAhgiAyACQQFrcSACaSIFQQFNDQAaIAMgAiADSw0AGiADIAJwCyIHQQJ0aigCACIBRQ0AIAEoAgAiAUUNAAJAIAVBAU0EQCACQQFrIQIDQAJAIAMgASgCBCIFRwRAIAIgBXEgB0YNAQwFCyABKAIIIANGDQMLIAEoAgAiAQ0ACwwCCwNAAkAgAyABKAIEIgVHBEAgAiAFTQR/IAUgAnAFIAULIAdGDQEMBAsgASgCCCADRg0CCyABKAIAIgENAAsMAQsgAUEQaiECAkAgAS0AY0UNACAEKAJURQ0AIAZBCGogAhCGESIBQQA6AFMgACgCbCEAQdSJC0EANgIAQeIJIAAgARADQdSJCygCACEIQdSJC0EANgIAIAhBAUcEQCABKAJwEGAgASgCZBBgIAFBQGsoAgAQYCABKAI0EGAgASgCKBBvIAEoAhwQbyABKAIIIgBFDQMgACAAKAIEIgFBAWs2AgQgAQ0DIAAgACgCACgCCBEBACAAEHUMAwsQACEJIAEQ3wEaIAkQBwALIAQgAhCFEQwBCyAEQQE6ABUgBC0AEEHAAHFFDQAgBCgCVA0AIARBAToAUwsgBkGAAWokAAu+DwIFfw9+IwBB0AJrIgUkACAEQv///////z+DIQogAkL///////8/gyELIAIgBIVCgICAgICAgICAf4MhDCAEQjCIp0H//wFxIQgCQAJAIAJCMIinQf//AXEiCUH//wFrQYKAfk8EQCAIQf//AWtBgYB+Sw0BCyABUCACQv///////////wCDIg1CgICAgICAwP//AFQgDUKAgICAgIDA//8AURtFBEAgAkKAgICAgIAghCEMDAILIANQIARC////////////AIMiAkKAgICAgIDA//8AVCACQoCAgICAgMD//wBRG0UEQCAEQoCAgICAgCCEIQwgAyEBDAILIAEgDUKAgICAgIDA//8AhYRQBEAgAyACQoCAgICAgMD//wCFhFAEQEIAIQFCgICAgICA4P//ACEMDAMLIAxCgICAgICAwP//AIQhDEIAIQEMAgsgAyACQoCAgICAgMD//wCFhFAEQEIAIQEMAgsgASANhFAEQEKAgICAgIDg//8AIAwgAiADhFAbIQxCACEBDAILIAIgA4RQBEAgDEKAgICAgIDA//8AhCEMQgAhAQwCCyANQv///////z9YBEAgBUHAAmogASALIAEgCyALUCIGG3kgBkEGdK18pyIGQQ9rELkDQRAgBmshBiAFKQPIAiELIAUpA8ACIQELIAJC////////P1YNACAFQbACaiADIAogAyAK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QQFqNgIEQYCoC0EQQQgQXSIBQQM2AgAgAUEDELQCIQZBgKgLQRBBCBBdIgdBADYCACAHQfiiCykDADcCCCAGKAIAQQJHBEAMAQsgBigCCCIDKAIAIQICQCADKAIEIgEgAygCCEcEQCACIQQMAQsgAyABQQF0QQJqIgE2AgggA0GAqAsgAUECdEEEEF0iBDYCACADKAIEIgFFBEBBACEBDAELQQAhCUEAIQQgAUEETwRAIAFBfHEhCANAIARBAnQiBSADKAIAaiACIAVqKAIANgIAIAVBBHIiCiADKAIAaiACIApqKAIANgIAIAVBCHIiCiADKAIAaiACIApqKAIANgIAIAVBDHIiBSADKAIAaiACIAVqKAIANgIAIARBBGoiBCAIRw0ACwsgAUEDcSIFBEADQCAEQQJ0IgggAygCAGogAiAIaigCADYCACAEQQFqIQQgCUEBaiIJIAVHDQALCyADKAIAIQQLIAQgAUECdGogBzYCACADIAMoAgRBAWo2AgRBgKgLQRBBCBBdIgcgADcCCCAHQQA2AgAgBigCAEECRgRAAkAgBigCCCIDKAIAIQICQCADKAIEIgEgAygCCEcEQCACIQQMAQsgAyABQQF0QQJqIgE2AgggA0GAqAsgAUECdEEEEF0iBDYCACADKAIEIgFFBEBBACEBDAELQQAhCUEAIQQgAUEETwRAIAFBfHEhCANAIARBAnQiBSADKAIAaiACIAVqKAIANgIAIAVBBHIiCiADKAIAaiACIApqKAIANgIAIAVBCHIiCiADKAIAaiACIApqKAIANgIAIAVBDHIiBSADKAIAaiACIAVqKAIANgIAIARBBGoiBCAIRw0ACwsgAUEDcSIFBEADQCAEQQJ0IgggAygCAGogAiAIaigCADYCACAEQQFqIQQgCUEBaiIJIAVHDQALCyADKAIAIQQLIAQgAUECdGogBzYCACADIAMoAgRBAWo2AgQgBigCAEECRw0AIAYoAggiAygCACECAkAgAygCBCIBIAMoAghHBEAgAiEEDAELIAMgAUEBdEECaiIBNgIIIANBgKgLIAFBAnRBBBBdIgQ2AgAgAygCBCIBRQRAQQAhAQwBC0EAIQlBACEEIAFBBE8EQCABQXxxIQcDQCAEQQJ0IgUgAygCAGogAiAFaigCADYCACAFQQRyIgggAygCAGogAiAIaigC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IQxBACEDIAtBBE8EQCALQXxxIQUDQCADQQJ0IgogCSgCAGogASAKaigCADYCACAKQQRyIgQgCSgCAGogASAEaigCADYCACAKQQhyIgQgCSgCAGogASAEaigCADYCACAKQQxyIgQgCSgCAGogASAEaigCADYCACADQQRqIgMgBUcNAAsLIAtBA3EiBQRAA0AgA0ECdCIEIAkoAgBqIAEgBGooAgA2AgAgA0EBaiEDIAxBAWoiDCAFRw0ACwsgCSgCACEDCyADIAtBAnRqIBI2AgAgCSAJKAIEQQFqNgIECyARIAcpAyggBhC6AyAOQQFqIQ4gAigCHCEDDAELCwwHCwwGC0HUiQtBADYCAEENIAYgDCAEIAMQBUHUiQsoAgAhH0HUiQtBADYCACAfQQFGDQAACxAAISEgBygCrAIiAQRAA0AgASgCACEgIAEQWiAgIgENAAsLIAcoAqQCIQAgB0EANgKkAiAABEAgABBaCyAHKAKcAhCRCSAHKAKQAhCZBSAHKAKAAiIABEAgByAANgKEAiAAEFoLIAcoAsABIgAEQCAHIAA2AsQBIAAQWgsgIRAHAAtB4ZUGQbizAkHbCUGP4gMQAQALQf/3BUHkhgNBrgNBpogFEAEAC0HFogFBiaIDQbwBQaaIBRABAAtB//cFQeSGA0GaA0H8wgMQAQALQf/3BUHkhgNBswNB+PsCEAEAC8ABAgF/An5BfyEDAkAgAEIAUiABQv///////////wCDIgRCgICAgICAwP//AFYgBEKAgICAgIDA//8AURsNACACQv///////////wCDIgVCgICAgICAwP//AFYgBUKAgICAgIDA//8AUnENACAAIAQgBYSEUARAQQAPCyABIAKDQgBZBEAgASACUiABIAJTcQ0BIAAgASAChYRCAFIPCyAAQgBSIAEgAlUgASACURsNACAAIAEgAoWEQgBSIQMLIAML7gUBCn9BgKgLQRBBCBBdIgBBAzYCACAAQQIQtAIhB0GAqAtBEEEIEF0iCUEANgIAIAlBgKILKQMANwIIIAcoAgBBAkYEQAJAIAcoAggiASgCACEEAkAgASgCBCIDIAEoAghHBEAgBCEADAELIAEgA0EBdEECaiIANgIIIAFBgKgLIABBAnRBBBBdIgA2AgAgASgCBCIDRQRAQQAhAwwBC0EAIQAgA0EETwRAIANBfHEhBQNAIABBAnQiAiABKAIAaiACIARqKAIANgIAIAJBBHIiBiABKAIAaiAEIAZqKAIANgIAIAJBCHIiBiABKAIAaiAEIAZqKAIANgIAIAJBDHIiAiABKAIAaiACIARqKAIANgIAIABBBGoiACAFRw0ACwsgA0EDcSICBEADQCAAQQJ0IgUgASgCAGogBCAFaigCADYCACAAQQFqIQAgCEEBaiIIIAJHDQALCyABKAIAIQALIAAgA0ECdGogCTYCACABIAEoAgRBAWo2AgRBgKgLQRBBCBBdIgBBAzYCACAAQQAQtAIhCSAHKAIAQQJHDQAgBygCCCIBKAIAIQQCQCABKAIEIgMgASgCCEcEQCAEIQAMAQsgASADQQF0QQJqIgA2AgggAUGAqAsgAEECdEEEEF0iADYCACABKAIEIgNFBEBBACEDDAELQQAhCEEAIQAgA0EETwRAIANBfHEhBQNAIABBAnQiAiABKAIAaiACIARqKAIANgIAIAJBBHIiBiABKAIAaiAEIAZqKAIANgIAIAJBCHIiBiABKAIAaiAEIAZqKAIANgIAIAJBDHIiAiABKAIAaiACIARqKAIANgIAIABBBGoiACAFRw0ACwsgA0EDcSICBEADQCAAQQJ0IgUgASgCAGogBCAFaigCADYCACAAQQFqIQAgCEEBaiIIIAJHDQALCyABKAIAIQALIAAgA0ECdGogCTYCACABIAEoAgRBAWo2AgQgBw8LC0H/9wVB5IYDQbMDQfj7AhABAAv4EQIRfwJ9IAEoAgggAUEIaiIPIAEtABMiA8BBAEgiBhshAgJAIAEoAgwgAyAGGyIEQQRJBEAgBCEIDAELAkAgBEEEayIIQQRxBEAgBCEIDAELIAIoAABBldPH3gVsIgNBGHYgA3NBldPH3gVsIARBldPH3gVscyEEIAJBBGohAiAIQQRJDQELA0AgAigABEGV08feBWwiA0EYdiADc0GV08feBWwgAigAAEGV08feBWwiA0EYdiADc0GV08feBWwgBEGV08feBWxzQZXTx94FbHMhBCACQQhqIQIgCEEIayIIQQNLDQALCwJAAkACQAJAIAhBAWsOAwIBAAMLIAItAAJBEHQgBHMhBAsgAi0AAUEIdCAEcyEECyAEIAItAABzQZXTx94FbCEECyABIARBDXYgBHNBldPH3gVsIgNBD3Yg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WCIABEADQCAAKAIAIRsgABBaIBsiAA0ACwsgAygCUCEAIANBADYCUCAABEAgABBaCyADKAIsIgAEQCADIAA2AjAgABBaCyADKAIgIgAEQANAIAAoAgAhHCAAEFogHCIADQALCyADKAIYIQAgA0EANgIYIAAEQCAAEFoLDAMLEAAhAQwCCyADKAJ4IgZFDQAgBiEBA0AgASABKwMYIAEoAggiAkEBcQR/QQEFIAIoAgQgAigCAGtBAnULuKM5AxggASgCACIBDQALIAZFDQACQANAAkAgBigCOCEHQQEhAUEBIQhBACEEIAYoAigiAiEFAkAgAkUEQCAHIQQMAQsDQCABIgpBAWohASAIIglBAWohCCAEIg5BAWohBCAFKAIAIgUNAAsgDiAGKAI8IgEgB2tBAnVIBEAgBEEHcSIFBEAgCkEHcSEEQQAhAQNAIAFBAWoiASAFRw0ACyAJIARrIQQLIA5BB08EQANAIARBCWshHSAEQQhrIQQgHUF+SQ0ACwsDQCAHIAIoAgg2AgAgB0EEaiEHIAIoAgAiAg0ACyAGIAc2AjggByEEDAELAkACQAJAIAcgBigCNCILa0ECdSIJIARqIgpBgICAgARPBEBB1IkLQQA2AgBB3AUQCQwBC0EAIQVBACEMQf////8DIAEgC2siCEEBdSIBIAogASAKSxsgCEH8////B08bIgpFDQIgCkGAgICABEkNAUHUiQtBADYCAEEDEAkLQdSJCygCACEeQdSJC0EANgIAIB5BAUcNCBAAIQEMBwtB1IkLQQA2AgBBBCAKQQJ0EAYhDEHUiQsoAgAhH0HUiQtBADYCACAfQQFGDQILIAwgCUECdGoiCCEBIARBB3EiCQRAA0AgASACKAIINgIAIAFBBGohASACKAIAIQIgBUEBaiIFIAlHDQALCyAIIARBAnRqIQQgDkH/////A3FBB08EQANAIAEgAigCCDYCACABIAIoAgAiAigCCDYCBCABIAIoAgAiAigCCDYCCCABIAIoAgAiAigCCDYCDCABIAIoAgAiAigCCDYCECABIAIoAgAiAigCCDYCFCABIAIoAgAiAigCCDYCGCABIAIoAgAiAigCCDYCHCACKAIAIQIgAUEgaiIBIARHDQALCyAHIAtHBEADQCAIQQRrIgggB0EEayIHKAIANgIAIAcgC0cNAAsLIAYgDCAK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BCALKAIMIARqQQA2AgggCygCDCAEakEANgIMIAJBBGoiAiADRw0ACwsgCARAA0AgCygCDCACQQJ0akEANgIAIAJBAWohAiAFQQFqIgUgCEcNAAsLIAsoAhQiAkUNASACKAIEIQgCQCAKIApBAWsiD3EEQCAIIApPBEAgCCAKcCEICyALKAIMIAhBAnRqIA42AgAMAQsgCygCDCAIIA9xIgpBAnRqIA42AgADQCACKAIAIgNFDQMgCiADKAIEIA9xIgRGBEAgAyECDAELIARBAnQiCCALKAIMaiIFKAIABEAgAiADKAIANgIAIAMgCygCDCAIaigCACgCADYCACALKAIMIAhqKAIAIAM2AgAFIAUgAjYCACADIQIgBCEKCwwACwALA0AgAigCACIDRQ0CIAogAygCBCIETQRAIAQgCnAhBAsgBCAIRgRAIAMhAgwBCyAEQQJ0Ig8gCygCDGoiBSgCAARAIAIgAygCADYCACADIAsoAgwgD2ooAgAoAgA2AgAgCygCDCAPaigCACADNgIABSAFIAI2AgAgAyECIAQhCAsMAAsACyALKAIMIQIgC0EANgIMIAIEQCACEFoLIAtBADYCEAsgCygCECIEIARBAWsiAnFFBEAgAiAJcSEJDAELIAQgCUsNACAJIARwIQkLIAsoAgwgCUECdGoiAygCACICDQMgByALKAIUNgIAIAsgBzYCFCADIA42AgAgBygCACICRQ0FIAIoAgQhAiAEIARBAWsiA3ENASACIANxIQIMAgsQACEFIAcQWgwcCyACIARJDQAgAiAEcCECCyALKAIMIAJBAnRqIQIMAQsgByACKAIANgIACyACIAc2AgALIAsgCygCGEEBajYCGAwECwJAIAYoAkgiBSADSwRAIANBBDYCACADIBA2AgQgBiAENgJEDAELIAMgAmtBA3UiB0EBaiIKQf////8BSw0CAkBB/////wEgBSACayIFQQJ1IgQgCiAEIApLGyAFQfj///8HTxsiBUUEQEEAIQoMAQsgBUH/////AUsNDUHUiQtBADYCAEEEIAVBA3QQBiEKQdSJCygCACFRQdSJC0EANgIAIFFBAUYNCwsgCiAHQQN0aiIEIBA2AgQgBEEENgIAIAogBUEDdGohCiAEQQhqIQUCQCACIANGBEAgBiAKNgJIIAYgBTYCRCAGIAQ2AkAMAQsD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BSgCQCICKAIAIgAgBSgCPCgCBCIBNgIEIAEgADYCACAFQQA2AkQgAiAERg0AA0AgAigCBCFpIAIQWiBpIgIgBEcNAAsLIAUoAjAiAgRAA0AgAigCACFqIAIQWiBqIgINAAsLIAUoAighACAFQQA2AiggAARAIAAQWgsCQCAFKAJoRQ0AIAUoAmQiAigCACIAIAUoAmAoAgQiATYCBCABIAA2AgAgBUEANgJoIAIgEUYNAANAIAIoAgQhayACEFogayICIBFHDQALCyAFKAJUIgIEQANAIAIoAgAhbCACEFogbCICDQALCyAFKAJMIQAgBUEANgJMIAAEQCAAEFoLIAVBgAFqJAAPCxAAIQIgBUEIahDeAwwBCxAAIQILIAVBKGoQ3gMMAgsQACECCyAFQShqEKcFCyAFQcgAahDWEiACEAcACxAAIQILIAUoAkwQvwkgAhAHAAsAC0EFIQMgAkUNAQsgAiACKAIAIANBAnRqKAIAEQEACyAMBEAgDBBaCyAFKAIwIgIEQANAIAIoAgAhbSACKAIMIgEEQCACIAE2AhAgARBaCyACEFogbSICDQALCyAFKAIoIQAgBUEANgIoIABFDQAgABBaIAQQBwALIAQQBwALBQBB/AALBQBB/wALJABB1I8BIAAgAacgAUIgiKcgAiADIAQgBSAGpyAGQiCIpxAlCx0AQdOPASAAIAEgAiADIAQgBSAGpyAGQiCIpxAmCxkAQeOEASAAIAEgAiADIASnIARCIIinECcLFwBBpNMAIAAgAacgAUIgiKcgAiADECkLGgBBnzwgACABpyABQiCIpyACIAMgBCAFECoLGABB5zYgACABpyABQiCIpyACIAMgBBAsCxQAQYACIACnIABCIIinIAEgAhAvCxsAIAAgASACpyACQiCIpyADEDetIwGtQiCGhAsoAEGHDCAAIAGnIAFCIIinIAIgAyAEpyAEQiCIpyAFpyAFQiCIpxA6CxcAIAAgASACIAOnIANCIIinIAQgBRA8CxcAIAAgASACIAMgBKcgBEIgiKcgBRA9CycBAX8gACgCAEEMayIAIAAoAghBAWsiATYCCCABQQBIBEAgABBaCwtEACAAIAICf0EAIANFDQAaIAFBCHUiAiABQQFxRQ0AGiACIAMoAgBqKAIACyADaiAEQQIgAUECcRsgACgCACgCHBEHAAuA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NgK0ASAAIABBEGo2AgwgAEEANgIIA0ACQEHUiQtBADYCAEGbrgEgAEHMAmogAEHIAmoQAiEKQdSJCygCACEJQdSJC0EANgIAIAlBAUYNACAKDQMgACgCtAEgAiABKAIEIAEtAAsiA0H/AHEgA0GAAXFBB3YbIgNqRgRAQdSJC0EANgIAQfmtASABIANBAXQQA0HUiQsoAgAhC0HUiQtBADYCACALQQFGDQUgAS0AC0GAAXFBB3YEfyABKAIIQf////8HcUEBawVBCgshAkHUiQtBADYCAEH5rQEgASACEANB1IkLKAIAIQxB1IkLQQA2AgAgDEEBRg0FIAAgASgCACABIAEtAAtBgAFxQQd2GyICIANqNgK0AQtB1IkLQQA2AgBBnK4BIAAoAswCEAYhDkHUiQsoAgAhDUHUiQtBADYCACANQQFGDQAgDiAHIAIgAEG0AWogAEEIaiAAKALEAiAAKALIASAALQDPASAAQRBqIABBDGogCBCsBg0DQdSJC0EANgIAQZ6uASAAQcwCahAGGkHUiQsoAgAhD0HUiQtBADYCACAPQQFHDQELCwwCCwwBCwJAIAAoAsgBIAAtAM8BIgNB/wBxIANBgAFxQQd2G0UNACAAKAIMIgMgAEEQamtBnwFKDQAgACADQQRqNgIMIAMgACgCCDYCAAsgBSACIAAoArQBIAQgBxCKEjYCACAAQcQBaiAAQRBqIAAoAgwgBBC9A0HUiQtBADYCAEGbrgEgAEHMAmogAEHIAmoQAiECQdSJCygCACEQQdSJC0EANgIAIBBBAUcEQCACBEAgBCAEKAIAQQJyNgIACyAAKALMAiERIAEQwgEaIABBxAFqEMIBGiAAQdACaiQAIBEMAgsLEAAhEiABEMIBGiAAQcQBahDCARogEhAHAAsLYwECfyMAQRBrIgMkACADIAI2AgwgA0EIaiABELcEIQQgAEGixwIgAygCDBDPEiECIAQoAgAiAARAQfC3CygCABogAARAQfC3C0HY4AsgACAAQX9GGzYCAAsLIANBEGokACACC7ICAgR+BX8jAEEgayIIJAACQAJAAkAgASACRwRAQeCFCygCACEMQeCFC0EANgIAIwBBEGsiCSQAENoCGiMAQRBrIgokACMAQRBrIgskACALIAEgCEEcakECELQMIAspAwAhBCAKIAspAwg3AwggCiAE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AgAiASgCAEEERwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQnQILLgAgASgCACIBKAIAQQNHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCdAgsuACABKAIAIgEoAgBBAkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJ0CCy4AIAEoAgAiASgCAEEBRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQnQIL3R4BDn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAIgIoAgAOXgABAgMEBQYHCAkKCwwNHh8gISIjJCU1Ng4PEBESExQVFhcYGRobHB03JicoKSorLC0uLzAxMjM0ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXABdC0GY/QNB5bMDQeoBEGIACyAAQbarASABEFggAigCAEEBRw1cIAIoAhQiAUEATA1bIABBBGohBANAIAFBAWsiACACKAIUTw1eIAIoAhAgAEECdGoiAygCAEUNXyAEQbWrASADEFsgAUEBSyEGIAAhASAGDQALDFsLIABBt6sBIAEQWCACKAIAQQJHDVsgAigCEARAIABBBGpBtasBIAJBEGoQWwsMYAsgAEG4qwEgARBYIAIoAgBBA0cNWgxjCyAAQbmrASABEFggAigCAEEERw1ZIAIoAhQEQCAAQQRqQbWrASACQRRqEFsLIAIoAhBFDVggAEEEakG1qwEgAkEQahBbDwsgAEG6qwEgARBYIAIoAgBBBUcNWCAAQbWrASACQSRqEFggAigCIEUNVyAAQQRqQbWrASACQSBqEFsPCyAAQburASABEFggAigCAEEGRw1XIAIoAgwiAUEATA1WIABBBGohBANAIAFBAWsiACACKAIMTw1ZIAIoAgggAEECdGoiAygCAEUNWiAEQbWrASADEFsgAUEBSyEHIAAhASAHDQALDFYLIABBvKsBIAEQWCACKAIAQQdHDVYgAEG1qwEgAkEcahBYIAIoAhAiAUEATA1VIABBBGohBANAIAFBAWsiACACKAIQTw1YIAIoAgwgAEECdGoiAygCAEUNWSAEQbWrASADEFsgAUEBSyEIIAAhASAIDQALDFULIABBvasBIAEQWCACKAIAQQhGDVQMVQsgAEG+qwEgARBYIAIoAgBBCUcNVAxgCyAAQb+rASABEFggAigCAEEKRg1SDFMLIABBwKsBIAEQWCACKAIAQQtHDVIMWwsgAEHBqwEgARBYIAIoAgBBDEcNUQxfCyAAQcKrASABEFggAigCAEENRw1QDF0LIABBw6sBIAEQWCACKAIAQRhHDU8MXgsgAEHEqwEgARBYIAIoAgBBGUcNTiAAQbWrASACQSBqEFgMXQsgAEHFqwEgARBYIAIoAgBBGkcNTQxUCyAAQcarASABEFggAigCAEEbRw1MDFQLIABBx6sBIAEQWCACKAIAQRxGDUoMSwsgAEHIqwEgARBYIAIoAgBBHUcNSgxWCyAAQcmrASABEFggAigCAEEeRw1JIABBtasBIAJBFGoQWAxVCyAAQcqrASABEFggAigCAEEfRw1IDE0LIABBy6sBIAEQWCACKAIAQSBHDUcMUQsgAEHMqwEgARBYIAIoAgBBIUcNRgxRCyAAQc2rASABEFggAigCAEEiRw1FIABBtasBIAJBIGoQWA8LIABBzqsBIAEQWCACKAIAQSNHDUQMUQsgAEHPqwEgARBYIAIoAgBBJEcNQwxKCyAAQdCrASABEFggAigCAEElRg1BDEILIABB0asBIAEQWCACKAIAQSZHDUEMRQsgAEHSqwEgARBYIAIoAgBBJ0cNQAxECyAAQdOrASABEFggAigCAEEORg0+DD8LIABB1KsBIAEQWCACKAIAQQ9HDT4MSgsgAEHVqwEgARBYIAIoAgBBEEcNPQxICyAAQdarASABEFggAigCAEERRw08DEALIABB16sBIAEQWCACKAIAQRJHDTsMSwsgAEHYqwEgARBYIAIoAgBBE0cNOiACKAIIRQ05DEsLIABB2asBIAEQWCACKAIAQRRGDTgMOQsgAEHaqwEgARBYIAIoAgBBFUcNOAxICyAAQdur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AANAQQEgASgCGCICIARBAnRqQRRrKAIAIgN0IgUgCCADQQN2Qfz///8BcWoiAygCACIGcUUNBCADIAYgBUF/c3E2AgAgBEEBaiIEIAdHDQALDAELIAJFDQELIAEgAjYCHCACEFoLIAAgATYCgAEPC0He9ARB77UCQe8AQe6MBBABAAuEAwEHfwJAAkAgASgCACIBKAIAQQlGBEACQCAAKAJwIAEoAggiBEEDdkH8////AXFqIgEoAgAiAkEBIAR0IgNxDQAgASACIANyNgIAIAAoAoABIgIgACgCfEYNACACQSRrIgEoAgAiAEEETQRAIAEgAEEBajYCACACIABBAnRqQSBrIAQ2AgAPCyABKAIcIgAgASgCIEcEQCAAIAQ2AgAgASAAQQRqNgIcDwsgACACQQxrIgcoAgAiAmsiA0ECdSIIQQFqIgVBgICAgARPDQJB/////wMgA0EBdSIGIAUgBSAGSRsgA0H8////B08bIgUEfyAFQYCAgIAETw0EIAVBAnQQXAVBAAsiBiAIQQJ0aiIDIAQ2AgAgA0EEaiEEIAAgAkcEQANAIANBBGsiAyAAQQRrIgAoAgA2AgAgACACRw0ACwsgByADNgIAIAEgBDYCHCABIAYgBUECdGo2AiAgAkUNACACEFoLDwtB8O0FQcWYA0GUBkGN3gAQAQALEGQACxBqAAv6IwEWfyAAQQhqIQwgAEH8AGohDQJAAkACQANAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgASgCACICKAIAIgMONQADBAUICAgIAQIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAYHCAtBx9IEQe+1AkGJARBiAAsgACgCcCACKAIIIglBA3ZB/P///wFxaigCACAJdkEBcQ0HAkAgACgCbCIFKAIEIgBFBEAgBUEEaiIBIQMMAQsDQCAAIgMoAhAiACAJSwRAIAMiASgCACIADQEMAgsgACAJTw0JIAMoAgQiAA0ACyADQQRqIQELQRQQXCIAIAM2AgggAEIANwIAIAAgCTYCECABIAA2AgAgBSgCACgCACIDBEAgBSADNgIAIAEoAgAhAAsgBSgCBCAAEGcgBSAFKAIIQQFqNgIIDwsgACgCcCACKAIIIgNBA3ZB/P///wFxaigCACADdkEBcUUEQCAAQbGr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AQwBCyACIAAoAuQBIgRrQQJ1IgZBAWoiA0GAgICABE8NAkEAIQFB/////wMgBSAEayIFQQF1IgcgAyADIAdJGyAFQfz///8HTxsiBQRAIAVBgICAgARPDQIgBUECdBBcIQELIAEgBkECdGoiA0EANgIAIANBBGohBiACIARHBEADQCADQQRrIgMgAkEEayICKAIANgIAIAIgBEcNAAsLIAAgASAFQQJ0ajYC7AEgACAGNgLoASAAIAM2AuQBIARFDQAgBBBaCyAJQRBqJAAPCxBqAAsQZAALgAMBBX8jAEEQayIDJABBOBBcIgFCADcCACABQgA3AiAgAUIANwIQIAFCADcCCCABQoCAgICAgIDAPzcCGCABQgA3AiggAUIANwIwIAAgATYCjAEgAyABNgIMAkACQAJAAkAgACgCeCICIAAoAnxJBEAgAiABNgIAIAAgAkEEajYCeAwBC0HUiQtBADYCAEHSqgEgAEH0AGogA0EMahADQdSJCygCACEFQdSJC0EANgIAIAVBAUYNASADKAIMIgFFDQAgARCFAwsgACgC3AFBDGsiAigCACIBIAIoAgQiAkcNAQwCCxAAIQYgAygCDCIBBEAgARCFAwsgBhAHAAsDQCABKAIAIAAoAowBEMADIAFBBGoiASACRw0ACwsgACgCuAFBBGsoAgAgACgCjAEQwAMgACAAKAK4AUEEazYCuAEgACgC3AEiAkEMayIEKAIAIgEEQCACQQhrIAE2AgAgARBaCyAAIAQ2AtwBIAAgACgC6AFBBGs2AugBIANBEGokAAuXAgEGfyMAQRBrIgIkACAAELsMAkACQCAAKALAASAAKALEAUYEQCAALQCIAg0BCyAAKAKMASEGQTgQXCIBQgA3AgAgAUIANwIgIAFCADcCECABQgA3AgggAUKAgICAgICAwD83AhggAUIANwIoIAFCADcCMCAAIAE2AowBIAIgATYCDAJAIAAoAngiAyAAKAJ8SQRAIAMgATYCACAAIANBBGo2AngMAQtB1IkLQQA2AgBB0qoBIABB9ABqIAJBDGoQA0HUiQsoAgAhBUHUiQtBADYCACAFQQFGDQIgAigCDCIBRQ0AIAEQhQMLIAYgACgCjAEQwAMLIAJBEGokAA8LEAAhByACKAIMIgEEQCABEIUDCyAHEAcAC5YBAQJ/IAAoAowBIQIgAEEANgKMASAAKAJwIgNFBEAgACACNgJwDwsgAC0A8AFFBEBBOBBcIgFCADcCACABQgA3AiAgAUIANwIQIAFCADcCCCABQoCAgICAgIDAPzcCGCABQgA3AiggAUIANwIwIAAgATYCcCADIAEQwAMgAiAAKAJwEMADIABBAToA8AEPCyACIAMQwAMLlgMBB38jAEEQayIDJAAgACgCjAEhBUE4EFwiAkIANwIAIAJCADcCICACQgA3AhAgAkIANwIIIAJCgICAgICAgMA/NwIYIAJCADcCKCACQgA3AjAgACACNgKMASADIAI2AgQCQAJAAkAgACgCeCIEIAAoAnxJBEAgBCACNgIAIAAgBEEEajYCeAwBC0HUiQtBADYCAEHSqgEgAEH0AGogA0EEahADQdSJCygCACEHQdSJC0EANgIAIAdBAUYNASADKAIEIgJFDQAgAhCFAwsgBSAAKAKMARDAAyABKAIAIgEoAgBBA0cNASABKAIIBEAgACgCrAFBBGsoAgAhBCADQQhqIABBkAFqIgUgAUEIaiICKQIAIAIQ+gIgAygCCCIGKAIYIgEgBigCHCIGRwRAA0AgASgCACAEEMADIAFBBGoiASAGRw0ACwsgBSACKQIAEOcDCyAAIAAoAqwBQQRrNgKsASADQRBqJAAPCxAAIQggAygCBCIBBEAgARCFAwsgCBAHAAtB8O0FQcWYA0GUBkGN3gAQAQAL8gMBCX8jAEEQayIEJAAgACgCjAEhBUE4EFwiAUIANwIAIAFCADcCICABQgA3AhAgAUIANwIIIAFCgICAgICAgMA/NwIYIAFCADcCKCABQgA3AjAgACABNgKMASAEIAE2AgwCQAJAAkACQAJAAkAgACgCeCICIAAoAnxJBEAgAiABNgIAIAAgAkEEajYCeAwBC0HUiQtBADYCAEHSqgEgAEH0AGogBEEMahADQdSJCygCACEJQdSJC0EANgIAIAlBAUYNASAEKAIMIgFFDQAgARCFAwsgBSAAKAKMARDAAyAAKAKgASIBIAAoAqQBRg0BIAEgBTYCACAAIAFBBGo2AqABDAILEAAhCiAEKAIMIgEEQCABEIUDCyAKEAcACyABIAAoApwBIgdrIgJBAnUiCEEBaiIDQYCAgIAETw0BQf////8DIAJBAXUiBiADIAMgBkkbIAJB/P///wdPGyIDBH8gA0GAgICABE8NAyADQQJ0EFwFQQALIgYgCEECdGoiAiAFNgIAIAJBBGohBSABIAdHBEADQCACQQRrIgIgAUEEayIBKAIANgIAIAEgB0cNAAsgACgCnAEhAQsgACAGIANBAnRqNgKkASAAIAU2AqABIAAgAjYCnAEgAUUNACABEFoLIARBEGokAA8LEGQACxBqAAsnACAAKAIAQdoARwRAQcK0BkGntwJB7SVB08MCEAEACyAAIAE2AggLhAQBCH8jAEEQayIGJAACQAJAAkAgACgCoAEiAyAAKAKkAUcEQCADIAAoAowBNgIAIAAgA0EEaiIFNgKgAQwBCyADIAAoApwBIgdrIgVBAnUiBEEBaiICQYCAgIAETw0BQf////8DIAVBAXUiASACIAEgAksbIAVB/P///wdPGyICBH8gAkGAgICABE8NAyACQQJ0EFwFQQALIgEgBEECdGoiBCAAKAKMATYCACAEQQRqIQUgAyAHRwRAA0AgBEEEayIEIANBBGsiAygCADYCACADIAdHDQALIAAoApwBIQMLIAAgASACQQJ0ajYCpAEgACAFNgKgASAAIAQ2ApwBIANFDQAgAxBaIAAoAqABIQULIAVBCGsoAgAhBEE4EFwiAkIANwIAIAJCADcCICACQgA3AhAgAkIANwIIIAJCgICAgICAgMA/NwIYIAJCADcCKCACQgA3AjAgACACNgKMASAGIAI2AgwCQAJAIAAoAngiASAAKAJ8SQRAIAEgAjYCACAAIAFBBGo2AngMAQtB1IkLQQA2AgBB0qoBIABB9ABqIAZBDGoQA0HUiQsoAgAhCEHUiQtBADYCACAIQQFGDQEgBigCDCIBRQ0AIAEQhQMLIAQgACgCjAEQwAMgBkEQaiQADwsQACEJIAYoAgwiAARAIAAQhQMLIAkQBwALEGQACxBqAAvcAgEHfyMAQRBrIgMkACAAKAKMASEFQTgQXCICQgA3AgAgAkIANwIgIAJCADcCECACQgA3AgggAkKAgICAgICAwD83AhggAkIANwIoIAJCADcCMCAAIAI2AowBIAMgAjYCDAJAAkACQCAAKAJ4IgQgACgCfEkEQCAEIAI2AgAgACAEQQRqNgJ4DAELQdSJC0EANgIAQdKqASAAQfQAaiADQQxqEANB1IkLKAIAIQZB1IkLQQA2AgAgBkEBRg0BIAMoAgwiAkUNACACEIUDCyAFIAAoAowBEMADIAEoAgAiASgCAEECRw0BIAEoAhAhByAAKAKgAUEEaygCACAAKAKMARDAAyAAKAKgASEBIAcEQCAAIAFBBGsiATYCoAELIAAgAUEEazYCoAEgA0EQaiQADwsQACEIIAMoAgwiAQRAIAEQhQMLIAgQBwALQfDtBUHFmANBlAZBjd4AEAEAC7kEAgJ+CX8jAEEQayIHJAACQCABKAIAIgkoAgBBAUYEQCAJKAIIRQ0BIABBlAFqIggoAgAiAUUNASAJKQIIIgJCIIgiA6chBiACpyEKIAghBANAAkAgASkCECICpyAKIAYgAkIgiCICpyIFIAUgBksbEF4iBQ0AQQAhBSACIANRDQBBf0EBIAIgA1QbIQULIAQgASAFQQBIIgUbIQQgAUEEaiABIAUbKAIAIgENAAsgBCAIRg0BIABBkAFqIQUCQCAKIAQpAhAiAqcgAkIgiCICpyIBIAYgASAGSRsQXiIBRQRAIAIgA1gNAQwDCyABQQBIDQILIAQoAhwgBCgCGEYNASAAKAKMASEGQTgQXCIBQgA3AgAgAUIANwIgIAFCADcCECABQgA3AgggAUKAgICAgICAwD83AhggAUIANwIoIAFCADcCMCAAIAE2AowBIAcgATYCDAJAAkAgACgCeCIIIAAoAnxJBEAgCCABNgIAIAAgCEEEajYCeAwBC0HUiQtBADYCAEHSqgEgAEH0AGogB0EMahADQdSJCygCACELQdSJC0EANgIAIAtBAUYNASAHKAIMIgFFDQAgARCFAwsgBiAAKAKMARDAAyAEKAIYIgEgBCgCHCIERwRAA0AgASgCACAAKAKMARDAAyABQQRqIgEgBEcNAAsLIAUgCSkCCBDnAwwCCxAAIQwgBygCDCIBBEAgARCFAwsgDBAHAAtB8O0FQcWYA0GUBkGN3gAQAQALIAdBEGokAAvNAgEFfwJAAkACQCAAKAIEIAAoAgAiBGtBAnUiBUEBaiICQYCAgIAESQRAQf////8DIAAoAgggBGsiBEEBdSIGIAIgAiAGSRsgBEH8////B08bIgIEQCACQYCAgIAETw0CIAJBAnQQXCEDCyABKAIAIQQgAUEANgIAIAMgBUECdGoiASAENgIAIAMgAkECdGohAiABQQRqIQQgACgCBCIDIAAoAgAiBUYNAgNAIANBBGsiAygCACEGIANBADYCACABQQRrIgEgBjYCACADIAVHDQALIAAgAjYCCCAAKAIEIQIgACAENgIEIAAoAgAhAyAAIAE2AgAgAiADRg0DA0AgAkEEayICKAIAIQAgAkEANgIAIAAEQCAAEIUDCyACIANHDQALDAMLEGQACxBqAAsgACACNgIIIAAgBDYCBCAAIAE2AgALIAMEQCADEFoLC50JAQh/AkACQAJAAkACQCAAKAIURQRAAkACQCAAKAIAIgRFBEAMAQsgAEEEaiEGIAEoAgAhAgJAAkADQCAGIANBAnRqKAIAIgUgAk8NASADQQFqIgMgBEcNAAsgBCEDDAELIAIgBUYNBAsgBEEDTw0EIARBAkYNAQsCQCADIARGDQAgBCADQQFqIgVJDQAgAEEEaiEGIAQhAgNAIAYgAkECdGogBiACQQFrIgJBAnRqKAIANgIAIAIgBU8NAAsLIAAgA0ECdGogASgCADYCBCAAIARBAWo2AgAPCyAAQRBqIgQoAgAhBSAEIgMgACgCDEYNAwJAIAVFBEAgAyECA0AgAigCCCIDKAIAIAJGIQggAyECIAgNAAsMAQsgBSECA0AgAiIDKAIEIgINAAsLIAAoAgQiAiADKAIQSw0DIAQiBiEDIAVFDQQDQCAFIgMoAhAiBiACSwRAIAMhBiADKAIAIgUNAQwGCyACIAZNBEAMBwsgAygCBCIFDQALIANBBGohBgwECyABKAIAIQEgAEEQaiIEIQMCQCAAKAIQIgJFDQADQCACIgMoAhAiAiABSwRAIAMhBCADKAIAIgINAQwCCyABIAJNDQIgAygCBCICDQALIANBBGohBAtBFBBcIgIgAzYCCCACQgA3AgAgAiABNgIQIAQgAjYCACAAKAIMKAIAIgEEQCAAIAE2AgwgBCgCACECCyAAKAIQIAIQZyAAIAAoAhRBAWo2AhQLDwtB0ZAFQYuIA0HjAEGf4AAQAQALIANBBGogBCAFGyIGKAIADQEgAyAEIAUbIQMLQRQQXCECIAAoAgQhBSACIAM2AgggAkIANwIAIAIgBTYCECAGIAI2AgAgACgCDCgCACIDBEAgACADNgIMIAYoAgAhAgsgACgCECACEGcgACAAKAIUQQFqIgc2AhQLIAAoAhAhBQJAAkACQCAEIgMgACgCDEYNAAJAIAVFBEAgAyECA0AgAigCCCIDKAIAIAJGIQkgAyECIAkNAAsMAQsgBSECA0AgAiIDKAIEIgINAAsLIAAoAggiAiADKAIQSw0AIAQiBiEDIAVFDQEDQCAFIgMoAhAiBiACTQRAIAIgBk0NBCADKAIEIgUNASADQQRqIQYMAwsgAyEGIAMoAgAiBQ0ACwwBCyADQQRqIAQgBRsiBigCAA0BIAMgBCAFGyEDC0EUEFwhAiAAKAIIIQUgAiADNgIIIAJCADcCACACIAU2AhAgBiACNgIAIAAoAgwoAgAiAwRAIAAgAzYCDCAGKAIAIQILIAAoAhAgAhBnIAAgACgCFEEBaiIHNgIUCyABKAIAIQECQAJAIAQiAygCACICRQ0AA0AgAiIDKAIQIgIgAUsEQCADIQQgAygCACICDQEMAgsgASACTQ0CIAMoAgQiAg0ACyADQQRqIQQLQRQQXCICIAM2AgggAkIANwIAIAIgATYCECAEIAI2AgAgACgCDCgCACIBBEAgACABNgIMIAQoAgAhAgsgACgCECACEGcgACAAKAIUQQFqIgc2AhQLIAcEQCAAQQA2AgAPC0HCoAZBi4gDQawBQZ/gABABAAueIwERf0HCqgEhAwJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAIAEoAgAiBigCAEEBaw4/CwABCQkCAwoKCgoKCgoKCgoKBgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoHCggICgoKCgoECgoJCgsgAEEEaiIAQcOqASABEFsgBigCAEECRw0MIAYoAhAEQCAAQakWIAZBEGoQWyABKAIARQ0PIABBxKoBIAEQWyAGKAIAQQJHDQ0LIAYoAgxFDQ4gAEGpFiAGQQxqEFsgASgCAEUNDiAAQcWqASABEFsgBigCAEECRw0MIAYoAghFDQ4gAEGpFiAGQQhqEFsPC0HGqgEhAwwJCyAGQSBqDAILIAZBKGoMAQsgBkEcagshCEHHqgEhAyAILQAADQVByKoBIQMgACgCaCIFRQ0FIAUtAIQBQcAAcQ0FDAYLQceqASEDDAQLIABBBGoiA0HJqgEgARBbIAYoAgBBM0cNBSAGKAIoBEBBACEAA0AgASgCAEUNCSADQcqqASABEFsgBigCKCAATQ0IIAYoAiQgAEECdGoiBSgCAEUNCSADQakWIAUQWyABKAIARQ0JIANBy6oBIAEQWyAAQQFqIgAgBigCKEkNAAsLIAEoAgBFDQcgA0HMqgEgARBbIAYoAgBBM0cNBSAGKAIQRQ0HIANBqRYgBkEQahBbIAEoAgBFDQcgA0HNqgEgARBbDwtBzqoBIQMMAgtBz6oBIQMMAQtB0KoBIQMgBigCBEEBRw0BCyAAQQRqIAMgARBbCyAAIQMCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAIgIoAgAOXgABAgMEBQYHCAkKCwwNHh8gISIjJCU1Ng4PEBESExQVFhcYGRobHB03JicoKSorLC0uLzAxMjM0ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXABsC0GY/QNB5bMDQeoBEGIACyADQdWqASABEFggAigCAEEBRw1rIAIoAhQiAEEATA1qIANBBGohBwNAIABBAWsiBSACKAIUTw1tIAIoAhAgBUECdGoiBCgCAEUNbiAHQakWIAQQWyAAQQFLIQkgBSEAIAkNAAsMagsgA0HWqgEgARBYIAIoAgBBAkcNaiACKAIQBEAgA0EEakGpFiACQRBqEFsLDFwLIANB16oBIAEQWCACKAIAQQNHDWkMXwsgA0HYqgEgARBYIAIoAgBBBEcNaCACKAIUBEAgA0EEakGpFiACQRRqEFsLIAIoAhBFDWcgA0EEakGpFiACQRBqEFsMZwsgA0HZqgEgARBYIAIoAgBBBUcNZyADQakWIAJBJGoQWCACKAIgRQ1mIANBBGpBqRYgAkEgahBbDGYLIANB2qoBIAEQWCACKAIAQQZHDWYgAigCDCIAQQBMDWUgA0EEaiEHA0AgAEEBayIFIAIoAgxPDWggAigCCCAFQQJ0aiIEKAIARQ1pIAdBqRYgBBBbIABBAUshCiAFIQAgCg0ACwxlCyADQduqASABEFggAigCAEEHRw1lIANBqRYgAkEcahBYIAIoAhAiAEEATA1kIANBBGohBwNAIABBAWsiBSACKAIQTw1nIAIoAgwgBUECdGoiBCgCAEUNaCAHQakWIAQQWyAAQQFLIQsgBSEAIAsNAAsMZAsgA0HcqgEgARBYIAIoAgBBCEYNYwxkCyADQd2qASABEFggAigCAEEJRw1jDFwLIANB3qoBIAEQWCACKAIAQQpGDWEMYgsgA0HfqgEgARBYIAIoAgBBC0cNYQxXCyADQeCqASABEFggAigCAEEMRw1gDFsLIANB4aoBIAEQWCACKAIAQQ1HDV8MWQsgA0HiqgEgARBYIAIoAgBBGEcNXgxaCyADQeOqASABEFggAigCAEEZRw1dIANBqRYgAkEgahBYDFkLIANB5KoBIAEQWCACKAIAQRpHDVwMUAsgA0HlqgEgARBYIAIoAgBBG0cNWwxQCyADQeaqASABEFggAigCAEEcRg1ZDFoLIANB56oBIAEQWCACKAIAQR1HDVkMUgsgA0HoqgEgARBYIAIoAgBBHkcNWCADQakWIAJBFGoQWAxRCyADQemqASABEFggAigCAEEfRw1XDEkLIANB6qoBIAEQWCACKAIAQSBHDVYMTQsgA0HrqgEgARBYIAIoAgBBIUcNVQxNCyADQeyqASABEFggAigCAEEiRw1UIANBqRYgAkEgahBYDFMLIANB7aoBIAEQWCACKAIAQSNHDVMMTQsgA0HuqgEgARBYIAIoAgBBJEcNUgxGCyADQe+qASABEFggAigCAEElRg1QDFELIANB8KoBIAEQWCACKAIAQSZHDVAMQQsgA0HxqgEgARBYIAIoAgBBJ0cNTwxACyADQfKqASABEFggAigCAEEORg1NDE4LIANB86oBIAEQWCACKAIAQQ9HDU0MRgsgA0H0qgEgARBYIAIoAgBBEEcNTAxECyADQfWqASABEFggAigCAEERRw1LDDwLIANB9qoBIAEQWCACKAIAQRJHDUoMRwsgA0H3qgEgARBYIAIoAgBBE0cNSQxHCyADQfiqASABEFggAigCAEEURg1HDEgLIANB+aoBIAEQWCACKAIAQRVHDUcMRAsgA0H6qgEgARBYIAIoAgBBKUYNRQxGCyADQfuqASABEFggAigCAEEqRw1FDEILIANB/KoBIAEQWCACKAIAQStGDUMMRAsgA0H9qgEgARBYIAIoAgBBLEcNQww1CyADQf6qASABEFggAigCAEEtRw1CDDgLIANB/6oBIAEQWCACKAIAQS5HDUEMNgsgA0GAqwEgARBYIAIoAgBBL0YNPwxACyADQYGrASABEFggAigCAEEwRw0/DDQLIANBgqsBIAEQWCACKAIAQTFHDT4MMgsgA0GDqwEgARBYIAIoAgBBMkcNPQwuCyADQYSrASABEFggAigCAEEzRw08IAIoAigiAEEASgRAIANBBGohBwNAIABBAWsiBSACKAIoTw0/IAIoAiQgBUECdGoiBCgCAEUNQCAHQakWIAQQWyAAQQFLIQwgBSEAIAwNAAsLDDILIANBhasBIAEQWCACKAIAQTRGDTgMOwsgA0GGqwEgARBYIAIoAgBBNUcNOiACKAIUIgBBAEwNOSADQQRqIQcDQCAAQQFrIgUgAigCFE8NPCACKAIQIAVBAnRqIgQoAgBFDT0gB0GpFiAEEFsgAEEBSyENIAUhACANDQALDDkLIANBh6sBIAEQWCACKAIAQTZGDTgMOQsgA0GIqwEgARBYIAIoAgBBN0cNOAw1CyADQYmrASABEFggAigCAEEWRg02DDcLIANBiqsBIAEQWCACKAIAQRdGDTUMNgsgA0GLqwEgARBYIAIoAgBBKEYNNAw1CyADQYyrASABEFggAigCAEE4Rw00IAIoAgwiAEEATA0zIANBBGohBwNAIABBAWsiBSACKAIMTw02IAIoAgggBUECdGoiBCgCAEUNNyAHQakWIAQQWyAAQQFLIQ4gBSEAIA4NAAsMMwsgA0GNqwEgARBYIAIoAgBBOUcNMwwwCyADQY6rASABEFggAigCAEE6Rw0yDC8LIANBj6sBIAEQWCACKAIAQTtHDTEMLgsgA0GQqwEgARBYIAIoAgBBPEcNMCADQakWIAJBGGoQWCACKAIMIgBBAEwNLyADQQRqIQcDQCAAQQFrIgUgAigCDE8NMiACKAIIIAVBAnRqIgQoAgBFDTMgB0GpFiAEEFsgAEEBSyEPIAUhACAPDQALDC8LIANBkasBIAEQWCACKAIAQT1HDS8MLAsgA0GSqwEgARBYIAIoAgBBPkcNLgwrCyADQZOrASABEFggAigCAEE/Rw0tIANBqRYgAkEUahBYDCwLIANBlKsBIAEQWCACKAIAQcAARw0sIAIoAgwiAEEATA0rIANBBGohBwNAIABBAWsiBSACKAIMTw0uIAIoAgggBUECdGoiBCgCAEUNLyAHQakWIAQQWyAAQQFLIRAgBSEAIBANAAsMKwsgA0GVqwEgARBYIAIoAgBBwQBHDSsMJAsgA0GWqwEgARBYIAIoAgBBwgBHDSoMIgsgA0GXqwEgARBYIAIoAgBBwwBHDSkgA0GpFiACQQxqEFgMJwsgA0GYqwEgARBYIAIoAgBBxABHDSgMHQsgA0GZqwEgARBYIAIoAgBBxQBHDScMHAsgA0GaqwEgARBYIAIoAgBBxgBHDSYgAigCDCIAQQBMDSUgA0EEaiEHA0AgAEEBayIFIAIoAgxPDSggAigCCCAFQQJ0aiIEKAIARQ0pIAdBqRYgBBBbIABBAUshESAFIQAgEQ0ACwwlCyADQZurASABEFggAigCAEHHAEcNJQwXCyADQZyrASABEFggAigCAEHIAEcNJAwVCyADQZ2rASABEFggAigCAEHJAEcNIwwgCyADQZ6rASABEFggAigCAEHKAEcNIiADQakWIAJBGGoQWAwSCyADQZ+rASABEFggAigCAEHLAEcNIQwRCyADQaCrASABEFggAigCAEHMAEcNIAwTCyADQaGrASABEFggAigCAEHNAEcNHwwSCyADQaKrASABEFggAigCAEHOAEcNHgwXCyADQaOrASABEFggAigCAEHPAEcNHSACKAIYBEAgA0EEakGpFiACQRhqEFsLIAIoAhQEQCADQQRqQakWIAJBFGoQWwsgAigCEARAIANBBGpBqRYgAkEQahBbCwwWCyADQaSrASABEFggAigCAEHQAEYNGwwcCyADQaWrASABEFggAigCAEHRAEcNGwwUCyADQaarASABEFggAigCAEHSAEcNGiACKAIUBEAgA0EEakGpFiACQRRqEFsLDBILIANBp6sBIAEQWCACKAIAQdMARw0ZDAsLIANBqKsBIAEQWCACKAIAQdQARw0YDBALIANBqasBIAEQWCACKAIAQdUARw0XDBALIANBqqsBIAEQWCACKAIAQdYARw0WDAcLIANBq6sBIAEQWCACKAIAQdcARw0VDAcLIANBrKsBIAEQWCACKAIAQdgARw0UDBELIANBrasBIAEQWCACKAIAQdkARw0TDAsLIANBrqsBIAEQWCACKAIAQdoARw0SDAkLIANBr6sBIAEQWCACKAIAQdsARw0RDAMLIANBsKsBIAEQWCACKAIAQdwARw0QIANBqRYgAkE8ahBYIAIoAjAiAEEATA0PIANBBGohBwNAIABBAWsiBSACKAIwTw0SIAIoAiwgBUECdGoiBCgCAEUNEyAHQakWIAQQWyAAQQFLIRIgBSEAIBINAAsMDwsgA0GpFiACQRRqEFgLIANBqRYgAkEQahBYCyADQakWIAJBDGoQWAwKCyADQakWIAJBHGoQWAsgA0GpFiACQRhqEFgLIANBqRYgAkEUahBYCyADQakWIAJBEGoQWAwICyADQakWIAJBFGoQWAsgA0GpFiACQRBqEFgLIANBqRYgAkEMahBYDAULIANBqRYgAkEoahBYCyADQakWIAJBJGoQWAwDCyADQakWIAJBHGoQWCADQakWIAJBGGoQWAwCCyADQakWIAJBCGoQWAwBCyACKAIIRQ0AIANBBGpBqRYgAkEIahBbCyAGKAIAQQNGBEAgASgCAEUNAyADQQRqQdGqASABEFsLDwtB8O0FQcWYA0GUBkGN3gAQAQALQcWiAUGJogNBvAFBpogFEAEAC0GBgwJB05kDQbkCQa73AhABAAtCAAJAIAAoAgBB2gBGBEAgAUUNASAAIAE2AhQPC0HCtAZBp7cCQZEmQfjJBBABAAtBofYBQae3AkGSJkH4yQQQAQALLAAgASgCACIBKAIAQdwARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQ9QELLAAgASgCACIBKAIAQdsARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQ9QELLAAgASgCACIBKAIAQdoARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQ9QELLAAgASgCACIBKAIAQdkARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQ9QELLAAgASgCACIBKAIAQdgARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQ9QELLAAgASgCACIBKAIAQdcARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQ9QELLAAgASgCACIBKAIAQdYARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQ9QELLAAgASgCACIBKAIAQdUARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQ9QELJQAgACgCAEHaAEcEQEHCtAZBp7cCQf8lQdDhABABAAsgACgCEAssACABKAIAIgEoAgBB1ABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARD1AQssACABKAIAIgEoAgBB0wBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARD1AQssACABKAIAIgEoAgBB0gBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARD1AQssACABKAIAIgEoAgBB0QBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARD1AQssACABKAIAIgEoAgBB0ABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARD1AQssACABKAIAIgEoAgBBzwBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARD1AQssACABKAIAIgEoAgBBzgBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARD1AQssACABKAIAIgEoAgBBzQBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARD1AQssACABKAIAIgEoAgBBzABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARD1AQssACABKAIAIgEoAgBBywBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARD1AQslACAAKAIAQdoARwRAQcK0BkGntwJB8iVBxLsDEAEACyAAKAIMCywAIAEoAgAiASgCAEHKAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPUBCywAIAEoAgAiASgCAEHJAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPUBCywAIAEoAgAiASgCAEHIAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPUBCywAIAEoAgAiASgCAEHHAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPUBCywAIAEoAgAiASgCAEHGAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPUBCywAIAEoAgAiASgCAEHFAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPUBCywAIAEoAgAiASgCAEHEAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPUBCywAIAEoAgAiASgCAEHDAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPUBCywAIAEoAgAiASgCAEHCAEcEQEHw7QVBxZgDQZQGQY3eABAB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mANBlAZBjd4AEAEACyAAIAEQ9QELsR4BDn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAIgIoAgAOXgABAgMEBQYHCAkKCwwNHh8gISIjJCU1Ng4PEBESExQVFhcYGRobHB03JicoKSorLC0uLzAxMjM0ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXABdC0GY/QNB5bMDQeoBEGIACyAAQeapASABEFggAigCAEEBRw1cIAIoAhQiAUEATA1bIABBBGohBANAIAFBAWsiACACKAIUTw1eIAIoAhAgAEECdGoiAygCAEUNXyAEQfkTIAMQWyABQQFLIQYgACEBIAYNAAsMWwsgAEHnqQEgARBYIAIoAgBBAkcNWyACKAIQBEAgAEEEakH5EyACQRBqEFsLDGALIABB6KkBIAEQWCACKAIAQQNHDVoMYwsgAEHpqQEgARBYIAIoAgBBBEcNWSACKAIUBEAgAEEEakH5EyACQRRqEFsLIAIoAhBFDVggAEEEakH5EyACQRBqEFsPCyAAQeqpASABEFggAigCAEEFRw1YIABB+RMgAkEkahBYIAIoAiBFDVcgAEEEakH5EyACQSBqEFsPCyAAQeupASABEFggAigCAEEGRw1XIAIoAgwiAUEATA1WIABBBGohBANAIAFBAWsiACACKAIMTw1ZIAIoAgggAEECdGoiAygCAEUNWiAEQfkTIAMQWyABQQFLIQcgACEBIAcNAAsMVgsgAEHsqQEgARBYIAIoAgBBB0cNViAAQfkTIAJBHGoQWCACKAIQIgFBAEwNVSAAQQRqIQQDQCABQQFrIgAgAigCEE8NWCACKAIMIABBAnRqIgMoAgBFDVkgBEH5EyADEFsgAUEBSyEIIAAhASAIDQALDFULIABB7akBIAEQWCACKAIAQQhGDVQMVQsgAEHuqQEgARBYIAIoAgBBCUcNVAxgCyAAQe+pASABEFggAigCAEEKRg1SDFMLIABB8KkBIAEQWCACKAIAQQtHDVIMWwsgAEHxqQEgARBYIAIoAgBBDEcNUQxfCyAAQfKpASABEFggAigCAEENRw1QDF0LIABB86kBIAEQWCACKAIAQRhHDU8MXgsgAEH0qQEgARBYIAIoAgBBGUcNTiAAQfkTIAJBIGoQWAxdCyAAQfWpASABEFggAigCAEEaRw1NDFQLIABB9qkBIAEQWCACKAIAQRtHDUwMVAsgAEH3qQEgARBYIAIoAgBBHEYNSgxLCyAAQfipASABEFggAigCAEEdRw1KDFYLIABB+akBIAEQWCACKAIAQR5HDUkgAEH5EyACQRRqEFgMVQsgAEH6qQEgARBYIAIoAgBBH0cNSAxNCyAAQfupASABEFggAigCAEEgRw1HDFELIABB/KkBIAEQWCACKAIAQSFHDUYMUQsgAEH9qQEgARBYIAIoAgBBIkcNRSAAQfkTIAJBIGoQWA8LIABB/qkBIAEQWCACKAIAQSNHDUQMUQsgAEH/qQEgARBYIAIoAgBBJEcNQwxKCyAAQYCqASABEFggAigCAEElRg1BDEILIABBgaoBIAEQWCACKAIAQSZHDUEMRQsgAEGCqgEgARBYIAIoAgBBJ0cNQAxECyAAQYOqASABEFggAigCAEEORg0+DD8LIABBhKoBIAEQWCACKAIAQQ9HDT4MSgsgAEGFqgEgARBYIAIoAgBBEEcNPQxICyAAQYaqASABEFggAigCAEERRw08DEALIABBh6oBIAEQWCACKAIAQRJHDTsMSwsgAEGIqgEgARBYIAIoAgBBE0cNOiACKAIIRQ05DEsLIABBiaoBIAEQWCACKAIAQRRGDTgMOQsgAEGKqgEgARBYIAIoAgBBFUcNOAxICyAAQYuqASABEFggAigCAEEpRg02DDcLIABBjKoBIAEQWCACKAIAQSpHDTYMRgsgAEGNqgEgARBYIAIoAgBBK0YNNAw1CyAAQY6qASABEFggAigCAEEsRw00DDkLIABBj6oBIAEQWCACKAIAQS1HDTMMPAsgAEGQqgEgARBYIAIoAgBBLkcNMgw6CyAAQZGqASABEFggAigCAEEvRg0wDDELIABBkqoBIAEQWCACKAIAQTBHDTAMOAsgAEGTqgEgARBYIAIoAgBBMUcNLww2CyAAQZSqASABEFggAigCAEEyRw0uDDILIABBlaoBIAEQWCACKAIAQTNHDS0gAigCKCIBQQBKBEAgAEEEaiEDA0AgAUEBayIEIAIoAihPDTAgAigCJCAEQQJ0aiIFKAIARQ0xIANB+RMgBRBbIAFBAUshCSAEIQEgCQ0ACwsMNgsgAEGWqgEgARBYIAIoAgBBNEYEQAw9CwwsCyAAQZeqASABEFggAigCAEE1Rw0rIAIoAhQiAUEATA0qIABBBGohBANAIAFBAWsiACACKAIUTw0tIAIoAhAgAEECdGoiAygCAEUNLiAEQfkTIAMQWyABQQFLIQogACEBIAoNAAsMKgsgAEGYqgEgARBYIAIoAgBBNkYNKQwqCyAAQZmqASABEFggAigCAEE3Rw0pDDkLIABBmqoBIAEQWCACKAIAQRZGDScMKAsgAEGbqgEgARBYIAIoAgBBF0YNJgwnCyAAQZyqASABEFggAigCAEEoRg0lDCYLIABBnaoBIAEQWCACKAIAQThHDSUgAigCDCIBQQBMDSQgAEEEaiEEA0AgAUEBayIAIAIoAgxPDScgAigCCCAAQQJ0aiIDKAIARQ0oIARB+RMgAxBbIAFBAUshCyAAIQEgCw0ACwwkCyAAQZ6qASABEFggAigCAEE5Rw0kDDQLIABBn6oBIAEQWCACKAIAQTpHDSMMMwsgAEGgqgEgARBYIAIoAgBBO0cNIgwyCyAAQaGqASABEFggAigCAEE8Rw0hIABB+RMgAkEYahBYIAIoAgwiAUEATA0gIABBBGohBANAIAFBAWsiACACKAIMTw0jIAIoAgggAEECdGoiAygCAEUNJCAEQfkTIAMQWyABQQFLIQwgACEBIAwNAAsMIAsgAEGiqgEgARBYIAIoAgBBPUcNIAwwCyAAQaOqASABEFggAigCAEE+Rw0fDC8LIABBpKoBIAEQWCACKAIAQT9HDR4gAEH5EyACQRRqEFgPCyAAQaWqASABEFggAigCAEHAAEcNHSACKAIMIgFBAEwNHCAAQQRqIQQDQCABQQFrIgAgAigCDE8NHyACKAIIIABBAnRqIgMoAgBFDSAgBEH5EyADEFsgAUEBSyENIAAhASANDQALDBwLIABBpqoBIAEQWCACKAIAQcEARw0cDCgLIABBp6oBIAEQWCACKAIAQcIARw0bDCYLIABBqKoBIAEQWCACKAIAQcMARw0aIABB+RMgAkEMahBYIAIoAghFDRkMKwsgAEGpqgEgARBYIAIoAgBBxABHDRkMIQsgAEGqqgEgARBYIAIoAgBBxQBHDRgMIAsgAEGrqgEgARBYIAIoAgBBxgBHDRcgAigCDCIBQQBMDRYgAEEEaiEEA0AgAUEBayIAIAIoAgxPDRkgAigCCCAAQQJ0aiIDKAIARQ0aIARB+RMgAxBbIAFBAUshDiAAIQEgDg0ACwwWCyAAQayqASABEFggAigCAEHHAEcNFgwbCyAAQa2qASABEFggAigCAEHIAEcNFQwZCyAAQa6qASABEFggAigCAEHJAEcNFAwkCyAAQa+qASABEFggAigCAEHKAEcNEyAAQfkTIAJBGGoQWAwWCyAAQbCqASABEFggAigCAEHLAEcNEgwVCyAAQbGqASABEFggAigCAEHMAEcNEQwXCyAAQbKqASABEFggAigCAEHNAEcNEAwWCyAAQbOqASABEFggAigCAEHOAEcNDwwbCyAAQbSqASABEFggAigCAEHPAEcNDiACKAIYBEAgAEEEakH5EyACQRhqEFsLIAIoAhQEQCAAQQRqQfkTIAJBFGoQWwsgAigCEARAIABBBGpB+RMgAkEQahBbCwwaCyAAQbWqASABEFggAigCAEHQAEYNDAwNCyAAQbaqASABEFggAigCAEHRAEcNDAwYCyAAQbeqASABEFggAigCAEHSAEcNCyACKAIUBEAgAEEEakH5EyACQRRqEFsLDBYLIABBuKoBIAEQWCACKAIAQdMARw0KDA8LIABBuaoBIAEQWCACKAIAQdQARw0JDBQLIABBuqoBIAEQWCACKAIAQdUARw0IDBQLIABBu6oBIAEQWCACKAIAQdYARw0HDAsLIABBvKoBIAEQWCACKAIAQdcARw0GDAsLIABBvaoBIAEQWCACKAIAQdgARw0FDBULIABBvqoBIAEQWCACKAIAQdkARw0EDA8LIABBv6oBIAEQWCACKAIAQdoARw0DDA0LIABBwKoBIAEQWCACKAIAQdsARw0CDAcLIABBwaoBIAEQWCACKAIAQdwARw0BIABB+RMgAkE8ahBYIAIoAjAiAUEATA0AIABBBGohBANAIAFBAWsiACACKAIwTw0DIAIoAiwgAEECdGoiAygCAEUNBCAEQfkTIAMQWyABQQFLIQ8gACEBIA8NAAsLDwtB8O0FQcWYA0GUBkGN3gAQAQALQcWiAUGJogNBvAFBpogFEAEAC0GBgwJB05kDQbkCQa73AhABAAsgAEH5EyACQRRqEFgLIABB+RMgAkEQahBYCyAAQfkTIAJBDGoQWAwKCyAAQfkTIAJBHGoQWAsgAEH5EyACQRhqEFgLIABB+RMgAkEUahBYCyAAQfkTIAJBEGoQWA8LIABB+RMgAkEUahBYCyAAQfkTIAJBEGoQWAsgAEH5EyACQQxqEFgPCyAAQfkTIAJBKGoQWAsgAEH5EyACQSRqEFgPCyAAQfkTIAJBHGoQWCAAQfkTIAJBGGoQWA8LIABB+RMgAkEIahBYDwsgAEEEakH5EyACQQhqEFsLKgAgASgCACgCAEHGAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgAEEBOgBsCyoAIAEoAgAoAgBBwwBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIABBAToAbAsqACABKAIAKAIAQcAARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQQE6AGwL3R4BDn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAIgIoAgAOXgABAgMEBQYHCAkKCwwNHh8gISIjJCU1Ng4PEBESExQVFhcYGRobHB03JicoKSorLC0uLzAxMjM0ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXABdC0GY/QNB5bMDQeoBEGIACyAAQYqpASABEFggAigCAEEBRw1cIAIoAhQiAUEATA1bIABBBGohBANAIAFBAWsiACACKAIUTw1eIAIoAhAgAEECdGoiAygCAEUNXyAEQYbXACADEFsgAUEBSyEGIAAhASAGDQALDFsLIABBi6kBIAEQWCACKAIAQQJHDVsgAigCEARAIABBBGpBhtcAIAJBEGoQWwsMYAsgAEGMqQEgARBYIAIoAgBBA0cNWgxjCyAAQY2pASABEFggAigCAEEERw1ZIAIoAhQEQCAAQQRqQYbXACACQRRqEFsLIAIoAhBFDVggAEEEakGG1wAgAkEQahBbDwsgAEGOqQEgARBYIAIoAgBBBUcNWCAAQYbXACACQSRqEFggAigCIEUNVyAAQQRqQYbXACACQSBqEFsPCyAAQY+pASABEFggAigCAEEGRw1XIAIoAgwiAUEATA1WIABBBGohBANAIAFBAWsiACACKAIMTw1ZIAIoAgggAEECdGoiAygCAEUNWiAEQYbXACADEFsgAUEBSyEHIAAhASAHDQALDFYLIABBkKkBIAEQWCACKAIAQQdHDVYgAEGG1wAgAkEcahBYIAIoAhAiAUEATA1VIABBBGohBANAIAFBAWsiACACKAIQTw1YIAIoAgwgAEECdGoiAygCAEUNWSAEQYbXACADEFsgAUEBSyEIIAAhASAIDQALDFULIABBkakBIAEQWCACKAIAQQhGDVQMVQsgAEGSqQEgARBYIAIoAgBBCUcNVAxgCyAAQZOpASABEFggAigCAEEKRg1SDFMLIABBlKkBIAEQWCACKAIAQQtHDVIMWwsgAEGVqQEgARBYIAIoAgBBDEcNUQxfCyAAQZapASABEFggAigCAEENRw1QDF0LIABBl6kBIAEQWCACKAIAQRhHDU8MXgsgAEGYqQEgARBYIAIoAgBBGUcNTiAAQYbXACACQSBqEFgMXQsgAEGZqQEgARBYIAIoAgBBGkcNTQxUCyAAQZqpASABEFggAigCAEEbRw1MDFQLIABBm6kBIAEQWCACKAIAQRxGDUoMSwsgAEGcqQEgARBYIAIoAgBBHUcNSgxWCyAAQZ2pASABEFggAigCAEEeRw1JIABBhtcAIAJBFGoQWAxVCyAAQZ6pASABEFggAigCAEEfRw1IDE0LIABBn6kBIAEQWCACKAIAQSBHDUcMUQsgAEGgqQEgARBYIAIoAgBBIUcNRgxRCyAAQaGpASABEFggAigCAEEiRw1FIABBhtcAIAJBIGoQWA8LIABBoqkBIAEQWCACKAIAQSNHDUQMUQsgAEGjqQEgARBYIAIoAgBBJEcNQwxKCyAAQaSpASABEFggAigCAEElRg1BDEILIABBpakBIAEQWCACKAIAQSZHDUEMRQsgAEGmqQEgARBYIAIoAgBBJ0cNQAxECyAAQaepASABEFggAigCAEEORg0+DD8LIABBqKkBIAEQWCACKAIAQQ9HDT4MSgsgAEGpqQEgARBYIAIoAgBBEEcNPQxICyAAQaqpASABEFggAigCAEERRw08DEALIABBq6kBIAEQWCACKAIAQRJHDTsMSwsgAEGsqQEgARBYIAIoAgBBE0cNOiACKAIIRQ05DEsLIABBrakBIAEQWCACKAIAQRRGDTgMOQsgAEGuqQEgARBYIAIoAgBBFUcNOAxICyAAQa+pASABEFggAigCAEEpRg02DDcLIABBsKkBIAEQWCACKAIAQSpHDTYMRgsgAEGxqQEgARBYIAIoAgBBK0YNNAw1CyAAQbKpASABEFggAigCAEEsRw00DDkLIABBs6kBIAEQWCACKAIAQS1HDTMMPAsgAEG0qQEgARBYIAIoAgBBLkcNMgw6CyAAQbWpASABEFggAigCAEEvRg0wDDELIABBtqkBIAEQWCACKAIAQTBHDTAMOAsgAEG3qQEgARBYIAIoAgBBMUcNLww2CyAAQbipASABEFggAigCAEEyRw0uDDILIABBuakBIAEQWCACKAIAQTNHDS0gAigCKCIBQQBKBEAgAEEEaiEDA0AgAUEBayIEIAIoAihPDTAgAigCJCAEQQJ0aiIFKAIARQ0xIANBhtcAIAUQWyABQQFLIQkgBCEBIAkNAAsLDDYLIABBuqkBIAEQWCACKAIAQTRGBEAMPQsMLAsgAEG7qQEgARBYIAIoAgBBNUcNKyACKAIUIgFBAEwNKiAAQQRqIQQDQCABQQFrIgAgAigCFE8NLSACKAIQIABBAnRqIgMoAgBFDS4gBEGG1wAgAxBbIAFBAUshCiAAIQEgCg0ACwwqCyAAQbypASABEFggAigCAEE2Rg0pDCoLIABBvakBIAEQWCACKAIAQTdHDSkMOQsgAEG+qQEgARBYIAIoAgBBFkYNJwwoCyAAQb+pASABEFggAigCAEEXRg0mDCcLIABBwKkBIAEQWCACKAIAQShGDSUMJgsgAEHBqQEgARBYIAIoAgBBOEcNJSACKAIMIgFBAEwNJCAAQQRqIQQDQCABQQFrIgAgAigCDE8NJyACKAIIIABBAnRqIgMoAgBFDSggBEGG1wAgAxBbIAFBAUshCyAAIQEgCw0ACwwkCyAAQcKpASABEFggAigCAEE5Rw0kDDQLIABBw6kBIAEQWCACKAIAQTpHDSMMMwsgAEHEqQEgARBYIAIoAgBBO0cNIgwyCyAAQcWpASABEFggAigCAEE8Rw0hIABBhtcAIAJBGGoQWCACKAIMIgFBAEwNICAAQQRqIQQDQCABQQFrIgAgAigCDE8NIyACKAIIIABBAnRqIgMoAgBFDSQgBEGG1wAgAxBbIAFBAUshDCAAIQEgDA0ACwwgCyAAQcapASABEFggAigCAEE9Rw0gDDALIABBx6kBIAEQWCACKAIAQT5HDR8MLwsgAEHIqQEgARBYIAIoAgBBP0cNHiAAQYbXACACQRRqEFgPCyAAQcmpASABEFggAigCAEHAAEcNHSACKAIMIgFBAEwNHCAAQQRqIQQDQCABQQFrIgAgAigCDE8NHyACKAIIIABBAnRqIgMoAgBFDSAgBEGG1wAgAxBbIAFBAUshDSAAIQEgDQ0ACwwcCyAAQcqpASABEFggAigCAEHBAEcNHAwoCyAAQcupASABEFggAigCAEHCAEcNGwwmCyAAQcypASABEFggAigCAEHDAEcNGiAAQYbXACACQQxqEFggAigCCEUNGQwrCyAAQc2pASABEFggAigCAEHEAEcNGQwhCyAAQc6pASABEFggAigCAEHFAEcNGAwgCyAAQc+pASABEFggAigCAEHGAEcNFyACKAIMIgFBAEwNFiAAQQRqIQQDQCABQQFrIgAgAigCDE8NGSACKAIIIABBAnRqIgMoAgBFDRogBEGG1wAgAxBbIAFBAUshDiAAIQEgDg0ACwwWCyAAQdCpASABEFggAigCAEHHAEcNFgwbCyAAQdGpASABEFggAigCAEHIAEcNFQwZCyAAQdKpASABEFggAigCAEHJAEcNFAwkCyAAQdOpASABEFggAigCAEHKAEcNEyAAQYbXACACQRhqEFgMFgsgAEHUqQEgARBYIAIoAgBBywBHDRIMFQsgAEHVqQEgARBYIAIoAgBBzABHDREMFwsgAEHWqQEgARBYIAIoAgBBzQBHDRAMFgsgAEHXqQEgARBYIAIoAgBBzgBHDQ8MGwsgAEHYqQEgARBYIAIoAgBBzwBHDQ4gAigCGARAIABBBGpBhtcAIAJBGGoQWwsgAigCFARAIABBBGpBhtcAIAJBFGoQWwsgAigCEARAIABBBGpBhtcAIAJBEGoQWwsMGgsgAEHZqQEgARBYIAIoAgBB0ABGDQwMDQsgAEHaqQEgARBYIAIoAgBB0QBHDQwMGAsgAEHbqQEgARBYIAIoAgBB0gBHDQsgAigCFARAIABBBGpBhtcAIAJBFGoQWwsMFgsgAEHcqQEgARBYIAIoAgBB0wBHDQoMDwsgAEHdqQEgARBYIAIoAgBB1ABHDQkMFAsgAEHeqQEgARBYIAIoAgBB1QBHDQgMFAsgAEHfqQEgARBYIAIoAgBB1gBHDQcMCwsgAEHgqQEgARBYIAIoAgBB1wBHDQYMCwsgAEHhqQEgARBYIAIoAgBB2ABHDQUMFQsgAEHiqQEgARBYIAIoAgBB2QBHDQQMDwsgAEHjqQEgARBYIAIoAgBB2gBHDQMMDQsgAEHkqQEgARBYIAIoAgBB2wBHDQIMBwsgAEHlqQEgARBYIAIoAgBB3ABHDQEgAEGG1wAgAkE8ahBYIAIoAjAiAUEATA0AIABBBGohBANAIAFBAWsiACACKAIwTw0DIAIoAiwgAEECdGoiAygCAEUNBCAEQYbXACADEFsgAUEBSyEPIAAhASAPDQALCw8LQfDtBUHFmANBlAZBjd4AEAEAC0HFogFBiaIDQbwBQaaIBRABAAtBgYMCQdOZA0G5AkGu9wIQAQALIABBhtcAIAJBFGoQWAsgAEGG1wAgAkEQahBYCyAAQYbXACACQQxqEFgMCgsgAEGG1wAgAkEcahBYCyAAQYbXACACQRhqEFgLIABBhtcAIAJBFGoQWAsgAEGG1wAgAkEQahBYDwsgAEGG1wAgAkEUahBYCyAAQYbXACACQRBqEFgLIABBhtcAIAJBDGoQWA8LIABBhtcAIAJBKGoQWAsgAEGG1wAgAkEkahBYDwsgAEGG1wAgAkEcahBYIABBhtcAIAJBGGoQWA8LIABBhtcAIAJBCGoQWA8LIABBBGpBhtcAIAJBCGoQWwu5AQEEfyMAQSBrIgMkACAAQagBakEQQQQQXSIAIAI2AgwgACABNgIIIABC2wA3AgBBASEEAkACQCABKAIEQQFGDQAgAigCBEEBRg0AIANBADYCGCADQoGAgICAATcCECADQQA6AAxB1IkLQQA2AgBBB0HYnQsgA0EMahACIQRB1IkLKAIAIQVB1IkLQQA2AgAgBUEBRg0BCyAAIAQ2AgQgA0EgaiQAIAAPCxAAIQYgA0EMahB3IAYQBwALPgAgASgCACIBKAIAQc4ARgRAIAEoAghFBEAgACABKAIMIAEoAgQQhwQLDwtB8O0FQcWYA0GUBkGN3gAQAQAL8AEBBX8jAEEgayICJAACQAJAIAEoAgAiASgCAEHNAEYEQAJAIAEoAhAiAygCBCIBQQdJDQAgASgCBEEBRw0AIAEoAgxFDQAgASgCCCIBQRBPBEAgAS0AAA0DCyACQQA2AhggAiABNgIUIAJBADoADEHUiQtBADYCACACQQE2AhBBB0HYnQsgAkEMahACIQFB1IkLKAIAIQVB1IkLQQA2AgAgBUEBRg0DIAAgAyABEIcECyACQSBqJAAPC0Hw7QVBxZgDQZQGQY3eABABAAtB/tAGQbizAkHoBUG4jAQQAQALEAAhBiACQQxqEHcgBhAHAAvwAQEFfyMAQSBrIgIkAAJAAkAgASgCACIBKAIAQcwARgRAAkAgASgCECIDKAIEIgFBB0kNACABKAIEQQFHDQAgASgCDEUNACABKAIIIgFBEE8EQCABLQAADQMLIAJBADYCGCACIAE2AhQgAkEAOgAMQdSJC0EANgIAIAJBATYCEEEHQdidCyACQQxqEAIhAUHUiQsoAgAhBUHUiQtBADYCACAFQQFGDQMgACADIAEQhwQLIAJBIGokAA8LQfDtBUHFmANBlAZBjd4AEAEAC0H+0AZBuLMCQegFQbiMBBABAAsQACEGIAJBDGoQdyAGEAcAC/ABAQV/IwBBIGsiAiQAAkACQCABKAIAIgEoAgBBywBGBEACQCABKAIIIgMoAgQiAUEHSQ0AIAEoAgRBAUcNACABKAIMRQ0AIAEoAggiAUEQTwRAIAEtAAANAwsgAkEANgIYIAIgATYCFCACQQA6AAxB1IkLQQA2AgAgAkEBNgIQQQdB2J0LIAJBDGoQAiEBQdSJCygCACEFQdSJC0EANgIAIAVBAUYNAyAAIAMgARCHBAsgAkEgaiQADwtB8O0FQcWYA0GUBkGN3gAQAQALQf7QBkG4swJB6AVBuIwEEAEACxAAIQYgAkEMahB3IAYQBwALgQMBCH8jAEEgayICJAACQAJAIAEoAgAiAygCAEHKAEYEQAJAIAMoAhAiBCgCBCIBQQdJDQAgASgCBEEBRw0AIAEoAgxFDQAgASgCCCIBQRBPBEAgAS0AAA0ECyACQQA2AhggAiABNgIUIAJBADoADEHUiQtBADYCACACQQE2AhBBB0HYnQsgAkEMaiIBEAIhBUHUiQsoAgAhB0HUiQtBADYCACAHQQFGDQIgACAEIAUQhwQLAkAgAygCCCIDKAIEIgFBB0kNACABKAIEQQFHDQAgASgCDEUNACABKAIIIgFBEE8EQCABLQAADQQLIAJBADYCGCACIAE2AhQgAkEAOgAMQdSJC0EANgIAIAJBATYCEEEHQdidCyACQQxqIgEQAiEEQdSJCygCACEIQdSJC0EANgIAIAhBAUYNAiAAIAMgBBCHBAsgAkEgaiQADwtB8O0FQcWYA0GUBkGN3gAQAQALEAAhCSABEHcgCRAHAAtB/tAGQbizAkHoBUG4jAQQAQAL8AEBBX8jAEEgayICJAACQAJAIAEoAgAiASgCAEHJAEYEQAJAIAEoAggiAygCBCIBQQdJDQAgASgCBEEBRw0AIAEoAgxFDQAgASgCCCIBQRBPBEAgAS0AAA0DCyACQQA2AhggAiABNgIUIAJBADoADEHUiQtBADYCACACQQE2AhBBB0HYnQsgAkEMahACIQFB1IkLKAIAIQVB1IkLQQA2AgAgBUEBRg0DIAAgAyABEIcECyACQSBqJAAPC0Hw7QVBxZgDQZQGQY3eABABAAtB/tAGQbizAkHoBUG4jAQQAQALEAAhBiACQQxqEHcgBhAHAAvwAQEFfyMAQSBrIgIkAAJAAkAgASgCACIBKAIAQcgARgRAAkAgASgCCCIDKAIEIgFBB0kNACABKAIEQQFHDQAgASgCDEUNACABKAIIIgFBEE8EQCABLQAADQMLIAJBADYCGCACIAE2AhQgAkEAOgAMQdSJC0EANgIAIAJBATYCEEEHQdidCyACQQxqEAIhAUHUiQsoAgAhBUHUiQtBADYCACAFQQFGDQMgACADIAEQhwQLIAJBIGokAA8LQfDtBUHFmANBlAZBjd4AEAEAC0H+0AZBuLMCQegFQbiMBBABAAsQACEGIAJBDGoQdyAGEAcAC/ABAQV/IwBBIGsiAiQAAkACQCABKAIAIgEoAgBBxwBGBEACQCABKAIIIgMoAgQiAUEHSQ0AIAEoAgRBAUcNACABKAIMRQ0AIAEoAggiAUEQTwRAIAEtAAANAwsgAkEANgIYIAIgATYCFCACQQA6AAxB1IkLQQA2AgAgAkEBNgIQQQdB2J0LIAJBDGoQAiEBQdSJCygCACEFQdSJC0EANgIAIAVBAUYNAyAAIAMgARCHBAsgAkEgaiQADwtB8O0FQcWYA0GUBkGN3gAQAQALQf7QBkG4swJB6AVBuIwEEAEACxAAIQYgAkEMahB3IAYQBwAL8AEBBX8jAEEgayICJAACQAJAIAEoAgAiASgCAEHCAEYEQAJAIAEoAgwiAygCBCIBQQdJDQAgASgCBEEBRw0AIAEoAgxFDQAgASgCCCIBQRBPBEAgAS0AAA0DCyACQQA2AhggAiABNgIUIAJBADoADEHUiQtBADYCACACQQE2AhBBB0HYnQsgAkEMahACIQFB1IkLKAIAIQVB1IkLQQA2AgAgBUEBRg0DIAAgAyABEIcECyACQSBqJAAPC0Hw7QVBxZgDQZQGQY3eABABAAtB/tAGQbizAkHoBUG4jAQQAQALEAAhBiACQQxqEHcgBhAHAAvwAQEFfyMAQSBrIgIkAAJAAkAgASgCACIBKAIAQcEARgRAAkAgASgCDCIDKAIEIgFBB0kNACABKAIEQQFHDQAgASgCDEUNACABKAIIIgFBEE8EQCABLQAADQMLIAJBADYCGCACIAE2AhQgAkEAOgAMQdSJC0EANgIAIAJBATYCEEEHQdidCyACQQxqEAIhAUHUiQsoAgAhBUHUiQtBADYCACAFQQFGDQMgACADIAEQhwQLIAJBIGokAA8LQfDtBUHFmANBlAZBjd4AEAEAC0H+0AZBuLMCQegFQbiMBBABAAsQACEGIAJBDGoQdyAGEAcACyYAIAAoAgBBzwBHBEBBiqUGQae3AkHGI0GNGRABAAsgACABOgAcCzMAIAEoAgAiASgCAEE+RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEoAgggASgCBBCHBAunAgEGfwJAAkAgASgCACIEKAIAQTxGBEACQCAAKAJ0LQAlRQ0AIAAoAngiAigCJCIAIAIoAihHBEAgACAENgIAIAIgAEEEajYCJA8LIAAgAigCICIGayIBQQJ1IgdBAWoiA0GAgICABE8NAkH/////AyABQQF1IgUgAyADIAVJGyABQfz///8HTxsiAwR/IANBgICAgARPDQQgA0ECdBBcBUEACyIFIAdBAnRqIgEgBDYCACABQQRqIQQgACAGRwRAA0AgAUEEayIBIABBBGsiACgCADYCACAAIAZHDQALIAIoAiAhAAsgAiAFIANBAnRqNgIoIAIgBDYCJCACIAE2AiAgAEUNACAAEFoLDwtB8O0FQcWYA0GUBkGN3gAQAQALEGQACxBqAAuZAgEGfwJAAkAgASgCACIEKAIAQQZGBEAgACgCeCICKAIYIgEgAigCHEcEQCABIAQ2AgAgAiABQQRqNgIYDwsgASACKAIUIgZrIgBBAnUiB0EBaiIDQYCAgIAETw0BQf////8DIABBAXUiBSADIAMgBUkbIABB/P///wdPGyIDBH8gA0GAgICABE8NAyADQQJ0EFwFQQALIgUgB0ECdGoiACAENgIAIABBBGohBCABIAZHBEADQCAAQQRrIgAgAUEEayIBKAIANgIAIAEgBkcNAAsgAigCFCEBCyACIAUgA0ECdGo2AhwgAiAENgIYIAIgADYCFCABBEAgARBaCw8LQfDtBUHFmANBlAZBjd4AEAEACxBkAAsQagALCQAgAEEAOgB8C4QLAQd/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEoAgAiAigCAA5AAAECAwQFBxAQEBAQEBAQEBAQEAYQEBAMEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQCQ8KCxAQEBAQCBAQDRALQcfSBEHglgNB4gAQYgALIABBBGoiA0GtqAEgARBbIAIoAgBBAUcNDyACKAIIBEAgASgCAEUNESADQa6oASABEFsgAigCAEEBRw0QCyACKAIUIgFBAEwNDANAIAFBAWsiACACKAIUTw0SIAIoAhAgAEECdGoiBCgCAEUNESADQayoASAEEFsgAUEBSyEGIAAhASAGDQALDAwLIABBBGoiA0GvqAEgARBbIAEoAgBFDQ8gA0GuqAEgARBbIAIoAgBBAkcNDiACKAIQBEAgA0GsqAEgAkEQahBbCyABKAIARQ0PIANBrqgBIAEQWyACKAIAQQJHDQ4gAigCDEUNDyADQayoASACQQxqEFsgAC0AbEUEQCABKAIARQ0QIANBrqgBIAEQWwsgAigCAEECRw0OIAIoAghFDQ8gA0GsqAEgAkEIahBbDwsgAEEEaiIAQbCoASABEFsgAigCAEEDRw0NIAIoAhBFDQ4gAEGsqAEgAkEQahBbIAEoAgBFDQ4MEAsgAEEEaiIDQbGoASABEFsgAigCAEEERw0MIAJBFGohBAJAAkAgAigCFARAIAAtAGwNAQsgASgCAEUNDyADQa6oASABEFsgBCgCAEUNAQsgA0GsqAEgBBBbCyACKAIQRQ0JIANBrKgBIAJBEGoQWw8LIABBBGoiAEGyqAEgARBbIAEoAgBFDQwgAEGuqAEgARBbIAIoAgBBBUcNCyACKAIkRQ0MIABBrKgBIAJBJGoQWyACKAIAQQVHDQsgAigCIEUNCCAAQayoASACQSBqEFsPCyAAQQRqIgBBs6gBIAEQWyABKAIARQ0LIABBrqgBIAEQWyACKAIAQRNHDQogAigCCEUNByAAQayoASACQQhqEFsPCyAALQBsDQgCQCACLQAgDQAgACgCaCIDRQ0AIAMtAIQBQcAAcUUNCQsgAEEEakGuqAEgARBbDAgLIAAtAGwNBwJAIAItABwNACAAKAJoIgNFDQAgAy0AhAFBwABxRQ0ICyAAQQRqQa6oASABEFsgACABEL0MDwsgAEEEaiIEQbSoASABEFsgASgCAEUNCCAEQa6oASABEFsgAigCAEEzRw0HIAIoAigiAEEASgRAA0AgAEEBayIDIAIoAihPDQsgAigCJCADQQJ0aiIFKAIARQ0KIARBrKgBIAUQWyABKAIARQ0KIARBrqgBIAEQWyAAQQFLIQcgAyEAIAcNAAsgAigCAEEzRw0ICyACKAIQRQ0IIARBrKgBIAJBEGoQWw8LIABBBGoiA0G1qAEgARBbIAEoAgBFDQcgA0GuqAEgARBbIAIoAgBBNUcNBiACKAIUIgFBAEwNAwNAIAFBAWsiACACKAIUTw0JIAIoAhAgAEECdGoiBCgCAEUNCCADQayoASAEEFsgAUEBSyEIIAAhASAIDQALDAMLIABBBGoiAEG2qAEgARBbIAEoAgBFDQYMCAsgAEEEaiIAQbeoASABEFsgASgCAEUNBQwHCyAAQQRqIgNBuKgBIAEQWyAALQBsRQRAIAEoAgBFDQUgA0GuqAEgARBbCyACKAIAQT9HDQMgAigCFEUNBCADQayoASACQRRqEFsLDwtByuAFQeCWA0HLAUGO4wIQAQALIAAgARC9DA8LQfDtBUHFmANBlAZBjd4AEAEAC0GBgwJB05kDQbkCQa73AhABAAtBxaIBQYmiA0G8AUGmiAUQAQALIABBrqgBIAEQWwvQBAEIfyMAQYABayIDJAACQAJAAkAgASgCACIBKAIMDQAgACgCCCEEIAAoAgQoAgAhACADQgA3AmAgA0IANwBlIANCADcCWCADQgA3AgAgA0EBOgB8IAMgAjYCeCADIAQ2AnQgAyAANgJwIAMgATYCZEHTmQMhBCABQTBqIgUoAgBFBEBBrvcCIQFBuQIhAEGBgwIhAgwCC0HUiQtBADYCAEGrqAEgA0EEakGsqAEgBRAIQdSJCygCACEHQdSJC0EANgIAIAdBAUYNAkEAIAMoAgQiAmsgAygCXCIBIAMoAlgiAGtBA3VHBEAgA0EIaiEGA0ACQCAAIAFGBEAgAkUEQEH9+wIhAUHaACEAQbCUAyEEQd7EBSECDAYLIAYgAkEBayICQQN0aiIAKAIEIQEgACgCACEAIAMgAjYCBAwBCyABQQhrIgIoAgAhACACKAIEIQEgAyACNgJcCyADIAE2AgAgASgCAEUEQEHQ+AIhAUHNAiEAQfWCAiECDAQLQdSJC0EANgIAIAAgAyABEANB1IkLKAIAIQhB1IkLQQA2AgAgCEEBRg0EQQAgAygCBCICayADKAJcIgEgAygCWCIAa0EDdUcNAAsLIAUoAgAoAgBBF0YEQCADKAJ4QQE6ACwLIANBADYCZCAARQ0AIAMgADYCXCAAEFoLIANBgAFqJAAPC0HUiQtBADYCAEENIAIgBCAAIAEQBUHUiQsoAgAhCUHUiQtBADYCACAJQQFGDQAACxAAIQogAygCWCIABEAgAyAANgJcIAAQWgsgChAHAAsVACABQfDmCTYCACABIAApAgQ3AgQLHQEBf0EMEFwiAUHw5gk2AgAgASAAKQIENwIEIAELzwQBDn8jAEEgayIDJAAgACgChAEhBCAAKAKAASEFQaABEFwhAgJAAkACQAJAAkAgACgCmAEiAUUEQEEAIQAMAQsgAEGIAWoiACABRgRAIAMgA0EIaiIBNgIYIAAoAgAoAgwhB0HUiQtBADYCACAHIAAgARADQdSJCygCACEIQdSJC0EANgIAIAhBAUYNAyADKAIYIQAMAgsgASgCACgCCCEJQdSJC0EANgIAIAkgARAGIQBB1IkLKAIAIQpB1IkLQQA2AgAgCkEBRg0CCyADIAA2AhgLIAJCADcCbCACQgA3AgQgAiAENgKEASACIAU2AoABIAJBlOcJNgIAQQAhASACQQA2AnwgAkIANwJ0IAJCADcCDCACQgA3AhQCQCAABEAgA0EIaiIBIABGBEAgAiACQYgBaiIANgKYASADKAIIKAIMIQtB1IkLQQA2AgAgCyABIAAQA0HUiQsoAgAhDEHUiQtBADYCACAMQQFHDQIMBAsgACgCACgCCCENQdSJC0EANgIAIA0gABAGIQFB1IkLKAIAIQ5B1IkLQQA2AgAgDkEBRg0DCyACIAE2ApgBCwJAAkAgAygCGCIAIANBCGoiBEYEQEEEIQEgBCEADAELQQUhASAARQ0BCyAAIAAoAgAgAUECdGooAgARAQALIANBIGokACACDwsQACEADAELEAAhACACEOQBGgJAIAMoAhgiASADQQhqIgRGBEBBBCEDIAQhAQwBC0EFIQMgAUUNAQsgASABKAIAIANBAnRqKAIAEQEACyACEFogABAHAAsnACAAKAIAQc8ARwRAQYqlBkGntwJBtCNBw+AAEAEACyAAIAE2AhQLOQAgACgCBEUEQEHo+gVBuosDQZwEQe7TAhABAAsgACACNgJ4IAAgATYCfCAAIAIQvgwgAEIANwJ4C74iAQ5/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAIgIoAgAOXgABAgMEBQYHCAkKCwwNHh8gISIjJCU1Ng4PEBESExQVFhcYGRobHB03JicoKSorLC0uLzAxMjM0ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXABdC0GY/QNB5bMDQeoBEGIACyAAQRRqQc+nASABEFggAigCAEEBRw1cIAIoAhQiAUEATA1bIABBGGohAwNAIAFBAWsiACACKAIUTw1eIAIoAhAg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JGoQBUHUiQsoAgAhCEHUiQtBADYCACAIQQFGDQAgAygCKCAHNgIMIAUgAUEEaiIBRw0BDAILCxAAIQkgAxCiASADQRhqEJINIAkQBwALIAJBLGoiAiAERw0ACwsCQAJAIAAoAgAiAi0AFARAIAIoAgwEQCACKAIIIgEEQANAIAEoAgAhCiABEFogCiIBDQALC0EAIQEgAkEANgIIAkAgAigCBCIARQ0AIABBBE8EQCAAQXxxIQUDQCABQQJ0IgQgAigCAGpBADYCACACKAIAIARqQQA2AgQgAigCACAEakEANgIIIAIoAgAgBGpBADYCDCABQQRqIgEgBUcNAAsLIABBA3EiBEUNAEEAIQADQCACKAIAIAFBAnRqQQA2AgAgAUEBaiEBIABBAWoiACAERw0ACwsgAkEANgIMCyADKAIAIQEgA0EANgIAIAIoAgAhACACIAE2AgAgAARAIAAQWgsgAiADKAIENgIEIANBADYCBCACIAMoAgwiADYCDCACIAMqAhA4AhAgAiADKAIIIgE2AgggAEUNASACQQhqIQQgASgCBCEBAkAgAigCBCIAIABBAWsiBXFFBEAgASAFcSEBDAELIAAgAUsNACABIABwIQELIAIoAgAgAUECdGogBDYCACADQgA3AwgMAgsgAygCACEEIANBADYCACACIAQ2AgAgAiADKAIENgIEIANBADYCBCACIAMoAggiATYCCCACIAMoAgwiADYCDCACIAMoAhA2AhAgAARAIAJBCGohBSABKAIEIQECQCACKAIEIgAgAEEBayIGcUUEQCABIAZxIQEMAQsgACABSw0AIAEgAHAhAQsgBCABQQJ0aiAFNgIAIANCADcDCEEAIQELIAJBAToAFAsgAUUNAANAIAEoAgAhCyABEFogCyIBDQALCyADKAIAIQAgA0EANgIAIAAEQCAAEFoLIAMoAhgiAkUNACACIAMoAhwiAUcEQANAIAFBLGsiACgCICIEBEAgAUEIayAENgIAIAQQWgsgAUEYaygCACIEBEAgAUEUayAENgIAIAQQWgsgAUEkaygCACIEBEAgAUEgayAENgIAIAQQWgsgACIBIAJHDQALCyACEFoLIANBMGokAAu1LwI5fwF+IwBBsAFrIgQkACAEIAEoAgA2AnwgACgCBCEKIARBADoAeCAEQQA6AGQgBCAEQfwAajYC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QQI6ABAgACADNwIACzwBAX4gACgCACIALQAQQQNGBEAgASACKQIANwIADwsgAEH/AToAECACKQIAIQMgAEEDOgAQIAAgAzcCAAtUACAAKAIAIgAtABBBBEYEQCABIAIoAgA2AgAgASACKQIENwIEIAEgAigCDDYCDA8LIABB/wE6ABAgACACKQIANwIAIAAgAikCCDcCCCAAQQQ6ABALPAEBfiAAKAIAIgAtABBBBUYEQCABIAIpAgA3AgAPCyAAQf8BOgAQIAIpAgAhAyAAQQU6ABAgACADNwIACzwBAX4gACgCACIALQAQQQZGBEAgASACKQIANwIADwsgAEH/AToAECACKQIAIQMgAEEGOgAQIAAgAzcCAAs8AQF+IAAoAgAiAC0AEEEHRgRAIAEgAikCADcCAA8LIABB/wE6ABAgAikCACEDIABBBzoAECAAIAM3AgALJwAgACgCAEHPAEcEQEGKpQZBp7cCQZEjQYXBAhABAAsgACABNgIICzwBAX4gACgCACIALQAQQQhGBEAgASACKQIANwIADwsgAEH/AToAECACKQIAIQMgAEEIOgAQIAAgAzcCAAtKACAAKAIAIgAtABBBCUYEQCABIAIpAgA3AgAgASACKAIINgIIDwsgAEH/AToAECAAIAIpAgA3AgAgACACKAIINgIIIABBCToAEAsvACACKAIAIQIgACgCACIALQAQQQpGBEAgASACNgIADwsgAEEKOgAQIAAgAjYCAAtKACAAKAIAIgAtABBBC0YEQCABIAIpAgA3AgAgASACKAIINgIIDwsgAEH/AToAECAAIAIpAgA3AgAgACACKAIINgIIIABBCzoAEAuIFwIlfwR+IwBBwAJrIgMkACAAKAIEIQAgASgCACEJIANCADcCZCADQgA3AmwgA0EANgJ0IANCADcCDCADQgA3AnwgAyACNgJ4AkACQAJAAkACQAJAIAkoAgwEQAJAIAkoAhwiAEEQTwRAIAAoAhBFDQELQdSJC0EANgIAQQ1B4ZUGQbizAkHbCUGP4gMQBUHUiQsoAgAhF0HUiQtBADYCACAXQQFGDQQMBwsgACgCGCIEQQBHIQggBEEHSSEMQQAhAAJAAkADQAJAIAMCfgJAAkACQAJAAkAgDEUEQCAEKAIEBH8gCAUgBCgCDCAEKAIIa0ECdQsgAE0NECAMDQIgBCgC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jAIgA0G9pwE2ArwCIANBvqcBNgK4AiADQb+nATYCtAIgA0HApwE2ArACIANBwacBNgKsAiADQcKnATYCqAIgA0HDpwE2AqQCIANBxKcBNgKgAiADQcWnATYCnAIgA0HGpwE2ApgCIANBx6cBNgKUAiADQcinATYCkAJB1IkLQQA2AgAgA0GQAmogAEECdGooAgAgA0GMAmogASADQYQBahAIQdSJCygCACEkQdSJC0EANgIAICRBAUcNAQsMAwsgBSgCCCEPIAMoAngiAigCBCIAIAIoAggiB0kEQCADKQOgASEpIAMpA5gBISsgACADKAKoATYCECAAICk3AgggACArNwIAIABBADoAJCAAICg+AhggACAPNgIUIAIgAEEoajYCBCAoQgF8ISgMAQsCQAJAAkACQCAAIAIoAgAiBmtBKG0iEkEBaiIBQefMmTNPBEBB1IkLQQA2AgBBocMAEAkMAQtB5syZMyAHIAZrQShtIgdBAXQiCiABIAEgCkkbIAdBs+bMGU8bIgdFBEBBACEKDAMLIAdB58yZM0kNAUHUiQtBADYCAEEDEAkLQdSJCygCACElQdSJC0EANgIAICVBAUcNDwwFC0HUiQtBADYCAEEEIAdBKGwQBiEKQdSJCygCACEmQdSJC0EANgIAICZBAUYNAQsgCiASQShsaiIBIAMpA5gBNwIAIAMpA6ABISkgAygCqAEhEiABQQA6ACQgASAoPgIYIAEgDzYCFCABIBI2AhAgASApNwIIIAFBKGohDyAAIAZHBEADQCABQShrIgEgAEEoayIAKQIANwIAIAEgACkCIDcCICABIAApAhg3AhggASAAKQIQNwIQIAEgACkCCDcCCCAAIAZHDQALIAIoAgAhAAsgAiAKIAdBKGxqNgIIIAIgDzYCBCACIAE2AgAgAARAIAAQWgsgKEIBfCEoDAELCwsLEAAhACAQEN8CGgwHCyAFKAIAIgUNAAsLIBAQ3wIaIANCADcCcAwFCxAAIQAMAwsgA0GwAWoQ6QEMAgtB1IkLQQA2AgBBDSAFQZuJAyAGQdWJBBAFQdSJCygCACEnQdSJC0EANgIAICdBAUcNAxAAIQAMAQsQACEACyADKAJkIgEEQCADIAE2AmggARBaCyAAEAcACyADKAJkIgAEQCADIAA2AmggABBaCyADQcACaiQADwsACxUAIAEg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A0GUBkGN3gAQAQALgQIBA38jAEFAaiICJAAgASgCACIBKAIAQQxGBEBB1IkLQQA2AgAgAkEEOgAgQdymASAAIAEgAkEIaiIAEAhB1IkLKAIAIQFB1IkLQQA2AgACQCABQQFHBEAgAi0AICIBQf8BRg0BIAJBi8MANgI8IAJBjMMANgI4IAJBjcMANgI0IAJBjsMANgIwIAJBj8MANgIsQdSJC0EANgIAIAJBLGogAUECdGooAgAgAkEraiAAEANB1IkLKAIAIQNB1IkLQQA2AgAgA0EBRw0BQQAQCxoQcAALEAAhBCACQQhqEOkBIAQQBwALIAJBQGskAA8LQfDtBUHFmANBlAZBjd4AEAEAC50DAgd/AX4CQAJAIAEoAgAiASgCAEELRgRAAkAgASgCECgCBBD7AkUNACABKQIIIQkgASgCECEEIAAoAmwiAigCBCIBIAIoAggiA0kEQCABQQU6ACQgASAJNwIUIAFBADoAECABQQA2AgQgASAENgIAIAIgAUEoajYCBA8LIAEgAigCACIFa0EobSIHQQFqIgBB58yZM08NAkHmzJkzIAMgBWtBKG0iA0EBdCIIIAAgACAISRsgA0Gz5swZTxsiAwRAIANB58yZM08NBCADQShsEFwhBgsgB0EobCAGaiIAQQU6ACQgACAJNwIUIABBADoAECAAQQA2AgQgACAENgIAIABBKGohBCABIAVHBEADQCAAQShrIgAgAUEoayIBKQIANwIAIAAgASkCIDcCICAAIAEpAhg3AhggACABKQIQNwIQIAAgASkCCDcCCCABIAVHDQALIAIoAgAhAQsgAiAGIANBKGxqNgIIIAIgBDYCBCACIAA2AgAgAUUNACABEFoLDwtB8O0FQcWYA0GUBkGN3gAQAQALEGQACxBqAAu9AwIHfwF+AkACQAJAIAEoAgAiAigCAEEKRgRAAkAgAigCBBD7AkUNACACKAIEIgFBB08EQCABKAIERQ0DCyACKQIIIQkgACgCbCIDKAIEIgEgAygCCCIESQRAIAFBADoAJCABQQA2AhggASACNgIUIAFBBToAECABIAk3AgAgAyABQShqNgIEDwsgASADKAIAIgVrQShtIgdBAWoiAEHnzJkzTw0DQebMmTMgBCAFa0EobSIEQQF0IgggACAAIAhJGyAEQbPmzBlPGyIEBEAgBEHnzJkz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QY3DADYCsAEgA0GOwwA2AqwBIANBj8MANgKoAUHUiQtBADYCACADQagBaiAEQQJ0aigCACADQfABaiAHEANB1IkLKAIAIRxB1IkLQQA2AgAgHEEBRg0VCyAHQf8BOgAYIANBiAFqEFkaIAYQWRogA0HAAWoQWRoMAQsgA0GIAWoQWRoMCwsgCS0AGCEEC0EBIQpBASEFAkACQAJAAkACQAJAAkACQCAEQf8BcQ4FBAABAgMFCyAJKAIQIQUMAwsgCSgCCCEFDAILIAkoAgAhBQwBC0EAIQULAkACQAJAIAItABgiBg4FBQABAgQDCyACKAIQIQoMBAsgAigCCCEKDAMLIAIoAgAhCgwCC0HUiQtBADYCAEEUQYrOA0GbiQNB2wEQCEHUiQsoAgAhHUHUiQtBADYCACAdQQFHDREMAwtBACEKCwJAAkACQAJAAkAgBEH/AXEiBCAGRgRAIAMgA0H7AWo2AvwBIANB9MQANgKYASADQfXEADYClAEgA0H2xAA2ApABIANB98QANgKMASADQfjEADYCiAFB1IkLQQA2AgAgA0GIAWogBEECdGooAgAgA0H8AWogCSACEAQhH0HUiQsoAgAhHkHUiQtBADYCACAeQQFGDQcgHw0BIAItABghBgsgBkH/AXENAiADQQA6AMABIANB/wE6ANgBIAktABgiAkH/AUYNDCADQZrDADYCmAEgA0GbwwA2ApQBIANBnMMANgKQASADQZ3DADYCjAEgA0GewwA2AogBQdSJC0EANgIAIANBiAFqIAJBAnRqKAIAIANB/AFqIANBwAFqIAkQCEHUiQsoAgAhIEHUiQtBADYCACAgQQFHDQEMAwsgA0EAOgDAASADQf8BOgDYASAJLQAYIgJB/wFGDQsgA0GawwA2ApgBIANBm8MANgKUASADQZzDADYCkAEgA0GdwwA2AowBIANBnsMANgKIAUHUiQtBADYCACADQYgBaiACQQJ0aigCACADQfwBaiADQcABaiAJEAhB1IkLKAIAISFB1IkLQQA2AgAgIUEBRg0CCyADIAktABgiBDoA2AEMCQsCQCAJLQAYDgUAAgICCAILQf8BIQQgA0H/AToA2AEgA0EAOgDAASAGQf8BcSIFQf8BRg0IIANBmsMANgKYASADQZvDADYClAEgA0GcwwA2ApABIANBncMANgKMAUHUiQtB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DQALDCQLIABBpaYBIAEQWCACKAIAQTlHDSQMNAsgAEGmpgEgARBYIAIoAgBBOkcNIwwzCyAAQaemASABEFggAigCAEE7Rw0iDDILIABBqKYBIAEQWCACKAIAQTxHDSEgAEGYwwAgAkEYahBYIAIoAgwiAUEATA0gIABBBGohBANAIAFBAWsiACACKAIMTw0jIAIoAgggAEECdGoiAygCAEUNJCAEQZjDACADEFsgAUEBSyEMIAAhASAMDQALDCALIABBqaYBIAEQWCACKAIAQT1HDSAMMAsgAEGqpgEgARBYIAIoAgBBPkcNHwwvCyAAQaumASABEFggAigCAEE/Rw0eIABBmMMAIAJBFGoQWA8LIABBrKYBIAEQWCACKAIAQcAARw0dIAIoAgwiAUEATA0cIABBBGohBANAIAFBAWsiACACKAIMTw0fIAIoAgggAEECdGoiAygCAEUNICAEQZjDACADEFsgAUEBSyENIAAhASANDQALDBwLIABBraYBIAEQWCACKAIAQcEARw0cDCgLIABBrqYBIAEQWCACKAIAQcIARw0bDCYLIABBr6YBIAEQWCACKAIAQcMARw0aIABBmMMAIAJBDGoQWCACKAIIRQ0ZDCsLIABBsKYBIAEQWCACKAIAQcQARw0ZDCELIABBsaYBIAEQWCACKAIAQcUARw0YDCALIABBsqYBIAEQWCACKAIAQcYARw0XIAIoAgwiAUEATA0WIABBBGohBANAIAFBAWsiACACKAIMTw0ZIAIoAgggAEECdGoiAygCAEUNGiAEQZjDACADEFsgAUEBSyEOIAAhASAODQALDBYLIABBs6YBIAEQWCACKAIAQccARw0WDBsLIABBtKYBIAEQWCACKAIAQcgARw0VDBkLIABBtaYBIAEQWCACKAIAQckARw0UDCQLIABBtqYBIAEQWCACKAIAQcoARw0TIABBmMMAIAJBGGoQWAwWCyAAQbemASABEFggAigCAEHLAEcNEgwVCyAAQbimASABEFggAigCAEHMAEcNEQwXCyAAQbmmASABEFggAigCAEHNAEcNEAwWCyAAQbqmASABEFggAigCAEHOAEcNDwwbCyAAQbumASABEFggAigCAEHPAEcNDiACKAIYBEAgAEEEakGYwwAgAkEYahBbCyACKAIUBEAgAEEEakGYwwAgAkEUahBbCyAC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EAtBACEFIAJBADYClAEgAkIANwKMASACQgA3AiQgAkIANwIsIAJCADcChAEgAkIANwIcIAIgAzYCmAEgAkGU5wk2AhggAiAAQQRqNgKcASACQaABaiEBAkAgBARAIAIgBEYEQCACIAE2ArABIAIoAgAoAgwhD0HUiQtBADYCACAPIAIgARADQdSJCygCACEQQdSJC0EANgIAIBBBAUcNAgwFCyAEKAIAKAIIIRFB1IkLQQA2AgAgESAEEAYhBUHUiQsoAgAhEkHUiQtBADYCACASQQFGDQQLIAIgBTYCsAELAkAgAigCHCIDRQ0AIAMgAkG8AWpGDQBB1IkLQQA2AgBBDUHixAZBuosDQeMDQf78ARAFQdSJCygCACETQdSJC0EANgIAIBNBAUYNAgALIAAoAgAhACACIAJBvAFqNgIcIAIoAhgoAgghFEHUiQtBADYCACAUIAJBGGogABADQdSJCygCACEVQdSJC0EANgIAIBVBAUYNASACQZTnCTYCGAJAAkAgASACKAKwASIDRgRAQQQhBCABIQMMAQtBBSEEIANFDQELIAMgAygCACAEQQJ0aigCABEBAAsgAigChAEiAARAIAIgADYCiAEgABBaCyACQZDtCTYCGCACLAArQQBIBEAgAigCIBBaCwJAAkAgAiACKAIQIgNGBEBBBCEEIAIhAwwBC0EFIQQgA0UNAQsgAyADKAIAIARBAnRqKAIAEQEACyACQfzsCTYCvAEgAkHUAWoQYSACKALIASIABEAgAigCzAEiAyAAIgRHBEADQCADQQRrIgMoAgAhASADQQA2AgAgAQRAIAEgASgCACgCBBEBAAsgACADRw0ACyACKALIASEECyACIAA2AswBIAQQWgsgAkGwAmokAA8LEAAhBAwDCxAAIQQgAkEYahDDDBoMAQsQACEEIAJBGGoQ5AEaCwJAIAIgAigCECIDRgRAQQQhACACIQMMAQtBBSEAIANFDQELIAMgAygCACAAQQJ0aigCABEBAAsgAkG8AWoQfBogBBAHAAtCAAJAIAAoAgBB2ABGBEAgAUUNASAAIAE2AggPC0GmpQZBp7cCQb4lQfm0AxABAAtBuvUBQae3AkG/JUH5tAMQAQAL8w4CDn8CfiMAQTBrIgIkAAJAAkACQAJAAkACQCABLQAYIgNBA0YgASkDAEL/////b1ZxRSADQQJPcUUEQAJAIAAtABgiBEH/AUYNACADIARHDQAgAiACQRhqNgIAIAJB9MQANgIsIAJB9cQANgIoIAJB9sQANgIkIAJB98QANgIgIAJB+MQANgIcIAIgACABIAJBHGogA0ECdGooAgARBgANBAsgACABENAORQRAIAAtABgiAUUNBCABQf8BRwRAIAJBi8MANgIsIAJBjMMANgIoIAJBjcMANgIkIAJBjsMANgIgIAJBj8MANgIcQdSJC0EANgIAIAJBHGogAUECdGooAgAgAiAAEANB1IkLKAIAIQlB1IkLQQA2AgAgCUEBRg0GCyAAQQA6ABgMBAsgASAAEK0KBEAgAS0AGCEDIAAtABgiBEH/AUYEQCADQf8BRg0FDAQLIANB/wFHDQMgAkGLwwA2AiwgAkGMwwA2AiggAkGNwwA2AiQgAkGOwwA2AiAgAkGPwwA2AhxB1IkLQQA2AgAgAkEcaiAEQQJ0aigCACACIAAQA0HUiQsoAgAhCkHUiQtBADYCACAKQQFGDQUgAEH/AToAGAwECyAAIAEQrQoNAwJAAkAgAC0AGCIFQQFHBEAgAS0AGCIGQQFHDQIgBUUNBiAFQf8BRg0BCyACQYvDADYCLCACQYzDADYCKCACQY3DADYCJCACQY7DADYCICACQY/DADYCHEHUiQtBADYCACACQRxqIAVBAnRqKAIAIAIgABADQdSJCygCACELQdSJC0EANgIAIAtBAUYNBgsgAEEAOgAYDAQLQQEhBEEBIQMCQAJAAkACQAJAAkAgBQ4FBQABAgQDCyAAKAIQIQMMBAsgACgCCCEDDAMLIAAoAgAhAwwCC0GKzgNBm4kDQdsBEGIAC0EAIQMLAkACQAJAAkACQAJAIAYOBQUDAAQCAQsgAUEIaiEBDAMLQYrOA0GbiQNB2wEQYgALQQAhBAwCCyABQRBqIQELIAEoAgAhBAsgA0EHSQ0FIAMoAgRBAUcNBSACIAMoAggiBTYCGCAEQQdJDQUgBCgCBEEBRw0FIAQoAgghASACIAMoAgxBAUYEfyAEKAIMQQFGBUEACzYCFCACIAA2AiAgAiACQRhqNgIkIAIgAkEUajYCHEEBIQQgASIDIAVHBEAgBSABEJQDIQQgAigCGCEFCwJAIAEgBUYNACABIAUQlAMhBSACKAIYIQMgBCAFcg0AIAMQrAQgARCsBEYEQCACQRxqEMkMDAULIwBBIGsiASQAIAAtABgiAwRAIANB/wFHBEAgAUGLwwA2AhwgAUGMwwA2AhggAUGNwwA2AhQgAUGOwwA2AhAgAUGPwwA2AgxB1IkLQQA2AgAgAUEMaiADQQJ0aigCACABQQtqIAAQA0HUiQsoAgAhDEHUiQtBADYCACAMQQFGDQkLIABBADoAGAsgAUEgaiQADAQLIAMQwwUhBCAAKQMAIREgAC0AGCEOIAJBEGogASADIAEQwwUiBSAESxsiCCACKAIUEMkDIQYCQAJ/IAApAwAhEEEAIQMCQAJAAkACQCAALQAYDgUDAwIAAwELIBBC/////29WDAMLQYrOA0GbiQNB8AEQYgALQQEhAwsgAwsEQCAGKAIAIQEgAkF/NgIEDAELIAIgABDkByACKAIEIQMgASAIRgRAIAQgBUsNAyAFIARrIgEgA0sEQCACQRxqEMkMDAYLIAMgAWshAwsgBigCACEBIAIgAzYCBAsgAiABNgIAIwBBIGsiASQAAkAgAC0AGCIDQf8BRwRAIANBA0YEQCAAIAIpAgA3AwAMAgsgAUGLwwA2AhwgAUGMwwA2AhggAUGNwwA2AhQgAUGOwwA2AhAgAUGPwwA2AgxB1IkLQQA2AgAgAUEMaiADQQJ0aigCACABQQtqIAAQA0HUiQsoAgAhDUHUiQtBADYCACANQQFGDQgLIABB/wE6ABggAikCACEQIABBAzoAGCAAIBA3AwALIAFBIGokACAOQQJHDQMgAiARNwMAIAIgABCyBTYCCCMAQSBrIgEkAAJAIAAtABgiA0H/AUcEQCADQQJGBEAgACACKQIANwMAIAAgAigCCDYCCAwCCyABQYvDADYCHCABQYzDADYCGCABQY3DADYCFCABQY7DADYCECABQY/DADYCDEHUiQtBADYCACABQQxqIANBAnRqKAIAIAFBC2ogABADQdSJCygCACEPQdSJC0EANgIAIA9BAUYNCAsgAEH/AToAGCAAIAIpAgA3AgAgACACKAIINgIIIABBAjoAGAsgAUEgaiQADAMLQdmWBkHvhwJBkwFB8oYBEAEAC0Hv4QBB74cCQYACQfKGARABAAsgAiAANgIAIAJBksMANgIsIAJBk8MANgIoIAJBlMMANgIkIAJBlcMANgIgIAJBlsMANgIcIAIgACABIAJBHGogA0ECdGooAgARAwALIAJBMGokAA8LQQAQCxoQcAALQb//BUG4swJB5AdBq4kEEAEAC0EAEAsaEHAAC9oBAQV/IwBBIGsiAiQAAkACQAJAIAEoAgAiA0EHSQ0AIAMoAgRBAUcNACADKAIIIgNBEE8EQCADLQAADQILIAJBATYCGCACIAM2AhQgAkEBNgIQIAJBADoADEHUiQtBADYCAEEHQdidCyACQQxqEAIhA0HUiQsoAgAhBUHUiQtBADYCACAFQQFGDQIgASADNgIAIAAgASkCADcCACACQSBqJAAPC0G//wVBuLMCQeQHQauJBBABAAtB/tAGQbizAkHoBUG4jAQQAQALEAAhBiACQQxqEHcgBhAHAAsJACABIAIQjAMLJQAgACgCAEHYAEcEQEGmpQZBp7cCQbglQa24AxABAAsgACgCCAv2AQEKfyMAQRBrIgUkAAJAIAFBEEkNAEEBIQcgASgCCCIDIAFBAXIgAxsiBkEBcSIJRQRAIAYoAgQiASAGKAIAIgNGDQEgASADa0ECdSEHCyAGQX5xIQMDQCADIQEgCUUEQCAGKAIAIAhBAnRqKAIAIQELIAVBCGogACgCACICIAEgAa0gAjUCGEIghoQQxQQgBS0ADEUNASAFKAIIIQtBDBBcIgQgAkEUajYCBCAEIAE2AgggBCACKAIUIgE2AgAgASAENgIEIAIgBDYCFCACIAIoAhxBAWo2AhwgCyAENgIMIAhBAWoiCCAHRw0ACwsgBUEQaiQAC/ICAgZ/AX4jAEHwAGsiAyQAIAEoAgAiBCgCHCIBQRBPBEAgAyACIAEgAa0iCSACQRRqIgatQiCGhBDFBCADKAIAIQUCQCADLQAERQRAIAUoAgwhAQwBC0EQEFwiASAGNgIEIAEgCTcCCCABIAIoAhQiBjYCACAGIAE2AgQgAiABNgIUIAIgAigCHEEBajYCHCAFIAE2AgwLIAEgASgCDEEBajYCDAsgBCgCJCIBIAQoAigiBUcEQANAIAIgASgCABCOAyABQQRqIgEgBUcNAAsLAkACQCAEKAIMDQAgACgCBCEAIANCADcCWCADQgA3AmAgA0IANwIAIAMgAjYCbCADIAA2AmhB1IkLQQA2AgBBqKQBIAMgBEEwahADQdSJCygCACEHQdSJC0EANgIAIAdBAUYNASADKAJYIgBFDQAgAyAANgJcIAAQWgsgA0HwAGokAA8LEAAhCCADKAJYIgAEQCADIAA2AlwgABBaCyAIEAcACxUAIAEgACgCBDYCBCABQezlCTYCAAsdAQF/QQgQXCIBIAAoAgQ2AgQgAUHs5Qk2AgAgAQvPBAEOfyMAQSBrIgMkACAAKAKEASEEIAAoAoABIQVBoAEQXCECAkACQAJAAkACQCAAKAKYASIBRQRAQQAhAAwBCyAAQYgBaiIAIAFGBEAgAyADQQhqIgE2AhggACgCACgCDCEHQdSJC0EANgIAIAcgACABEANB1IkLKAIAIQhB1IkLQQA2AgAgCEEBRg0DIAMoAhghAAwCCyABKAIAKAIIIQlB1IkLQQA2AgAgCSABEAYhAEHUiQsoAgAhCkHUiQtBADYCACAKQQFGDQILIAMgADYCGAsgAkIANwJsIAJCADcCBCACIAQ2AoQBIAIgBTYCgAEgAkGQ5gk2AgBBACEBIAJBADYCfCACQgA3AnQgAkIANwIMIAJCADcCFAJAIAAEQCADQQhqIgEgAEYEQCACIAJBiAFqIgA2ApgBIAMoAggoAgwhC0HUiQtBADYCACALIAEgABADQdSJCygCACEMQdSJC0EANgIAIAxBAUcNAgwECyAAKAIAKAIIIQ1B1IkLQQA2AgAgDSAAEAYhAUHUiQsoAgAhDkHUiQtBADYCACAOQQFGDQMLIAIgATYCmAELAkACQCADKAIYIgAgA0EIaiIERgRAQQQhASAEIQAMAQtBBSEBIABFDQELIAAgACgCACABQQJ0aigCABEBAAsgA0EgaiQAIAIPCxAAIQAMAQsQACEAIAIQ5AEaAkAgAygCGCIBIANBCGoiBEYEQEEEIQMgBCEBDAELQQUhAyABRQ0BCyABIAEoAgAgA0ECdGooAgARAQALIAIQWiAAEAcACzEAIABBqAFqQQxBBBBdIgAgATYCCCAAQtgANwIAIABBAUECIAEoAgRBAUYbNgIEIAALOQAgACgCBEUEQEHo+gVBuosDQZwEQe7TAhABAAsgACACNgJ4IAAgATYCfCAAIAIQ0AwgAEIANwJ4C74iAQ5/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAIgIoAgAOXgABAgMEBQYHCAkKCwwNHh8gISIjJCU1Ng4PEBESExQVFhcYGRobHB03JicoKSorLC0uLzAxMjM0ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXABdC0GY/QNB5bMDQeoBEGIACyAAQRRqQZClASABEFggAigCAEEBRw1cIAIoAhQiAUEATA1bIABBGGohAwNAIAFBAWsiACACKAIUTw1eIAIoAhAgAEECdGoiBCgCAEUNXyADQY+lASAEEFsgAUEBSyEGIAAhASAGDQALDFsLIABBFGoiA0GRpQEgARBYIAIoAgBBAkcNWyACKAIQBEAgAEEYakGPpQEgAkEQahBbCyADQY+lASACQQxqEFggA0GPpQEgAkEIahBYDwsgAEEUaiIAQZKlASABEFggAigCAEEDRw1aDGALIABBFGpBk6UBIAEQWCACKAIAQQRHDVkgAigCFARAIABBGGpBj6UBIAJBFGoQWwsgAigCEEUNWCAAQRhqQY+lASACQRBqEFsPCyAAQRRqIgNBlKUBIAEQWCACKAIAQQVHDVggA0GPpQEgAkEkahBYIAIoAiBFDVcgAEEYakGPpQEgAkEgahBbDwsgAEEUakGVpQEgARBYIAIoAgBBBkcNVyACKAIMIgFBAEwNViAAQRhqIQMDQCABQQFrIgAgAigCDE8NWSACKAIIIABBAnRqIgQoAgBFDVogA0GPpQEgBBBbIAFBAUshByAAIQEgBw0ACwxWCyAAQRRqIgNBlqUBIAEQWCACKAIAQQdHDVYgA0GPpQEgAkEcahBYIAIoAhAiAUEATA1VIABBGGohAwNAIAFBAWsiACACKAIQTw1YIAIoAgwgAEECdGoiBCgCAEUNWSADQY+lASAEEFsgAUEBSyEIIAAhASAIDQALDFULIABBFGpBl6UBIAEQWCACKAIAQQhGDVQMVQsgAEEUaiIAQZilASABEFggAigCAEEJRw1UDF0LIABBFGpBmaUBIAEQWCACKAIAQQpGDVIMUwsgAEEUaiIAQZqlASABEFggAigCAEELRw1SDFgLIABBFGoiAEGbpQEgARBYIAIoAgBBDEcNUQxcCyAAQRRqIgBBnKUBIAEQWCACKAIAQQ1HDVAMWgsgAEEUaiIAQZ2lASABEFggAigCAEEYRw1PDFsLIABBFGoiAEGepQEgARBYIAIoAgBBGUcNTiAAQY+lASACQSBqEFgMWgsgAEEUaiIAQZ+lASABEFggAigCAEEaRw1NDFELIABBFGoiAEGgpQEgARBYIAIoAgBBG0cNTAxRCyAAQRRqQaGlASABEFggAigCAEEcRg1KDEsLIABBFGoiAEGipQEgARBYIAIoAgBBHUcNSgxTCyAAQRRqIgBBo6UBIAEQWCACKAIAQR5HDUkgAEGPpQEgAkEUahBYDFILIABBFGoiAEGkpQEgARBYIAIoAgBBH0cNSAxXCyAAQRRqIgBBpaUBIAEQWCACKAIAQSBHDUcMTgsgAEEUaiIAQaalASABEFggAigCAEEhRw1GDE4LIABBFGoiAEGnpQEgARBYIAIoAgBBIkcNRSAAQY+lASACQSBqEFgPCyAAQRRqIgBBqKUBIAEQWCACKAIAQSNHDUQMTgsgAEEUaiIAQamlASABEFggAigCAEEkRw1DDEcLIABBFGpBqqUBIAEQWCACKAIAQSVGDUEMQgsgAEEUaiIAQaulASABEFggAigCAEEmRw1BDE8LIABBFGoiAEGspQEgARBYIAIoAgBBJ0cNQAxOCyAAQRRqQa2lASABEFggAigCAEEORg0+DD8LIABBFGoiAEGupQEgARBYIAIoAgBBD0cNPgxHCyAAQRRqIgBBr6UBIAEQWCACKAIAQRBHDT0MRQsgAEEUaiIAQbClASABEFggAigCAEERRw08DEoLIABBFGoiAEGxpQEgARBYIAIoAgBBEkcNOwxLCyAAQRRqQbKlASABEFggAigCAEETRw06IAIoAghFDTkMSwsgAEEUakGzpQEgARBYIAIoAgBBFEYNOAw5CyAAQRRqIgBBtKUBIAEQWCACKAIAQRVHDTgMSAsgAEEUakG1pQEgARBYIAIoAgBBKUYNNgw3CyAAQRRqIgBBtqUBIAEQWCACKAIAQSpHDTYMRgsgAEEUakG3pQEgARBYIAIoAgBBK0YNNAw1CyAAQRRqIgBBuKUBIAEQWCACKAIAQSxHDTQMQwsgAEEUaiIAQbmlASABEFggAigCAEEtRw0zDDkLIABBFGoiAEG6pQEgARBYIAIoAgBBLkcNMgw3CyAAQRRqQbulASABEFggAigCAEEvRg0wDDELIABBFGoiAEG8pQEgARBYIAIoAgBBMEcNMAw1CyAAQRRqIgBBvaUBIAEQWCACKAIAQTFHDS8MMwsgAEEUaiIAQb6lASABEFggAigCAEEyRw0uDDwLIABBFGoiA0G/pQEgARBYIAIoAgBBM0cNLSACKAIoIgFBAEoEQCAAQRhqIQQDQCABQQFrIgAgAigCKE8NMCACKAIkIABBAnRqIgUoAgBFDTEgBEGPpQEgBRBbIAFBAUshCSAAIQEgCQ0ACwsgA0GPpQEgAkEQahBYDwsgAEEUaiIAQcClASABEFggAigCAEE0RgRADD0LDCwLIABBFGpBwaUBIAEQWCACKAIAQTVHDSsgAigCFCIBQQBMDSogAEEYaiEDA0AgAUEBayIAIAIoAhRPDS0gAigCECAAQQJ0aiIEKAIARQ0uIANBj6UBIAQQWyABQQFLIQogACEBIAoNAAsMKgsgAEEUakHCpQEgARBYIAIoAgBBNkYNKQwqCyAAQRRqIgBBw6UBIAEQWCACKAIAQTdHDSkMOQsgAEEUakHEpQEgARBYIAIoAgBBFkYNJwwoCyAAQRRqQcWlASABEFggAigCAEEXRg0mDCcLIABBFGpBxqUBIAEQWCACKAIAQShGDSUMJgsgAEEUakHHpQEgARBYIAIoAgBBOEcNJSACKAIMIgFBAEwNJCAAQRhqIQMDQCABQQFrIgAgAigCDE8NJyACKAIIIABBAnRqIgQoAgBFDSggA0GPpQEgBBBbIAFBAUshCyAAIQEgCw0ACwwkCyAAQRRqIgBByKUBIAEQWCACKAIAQTlHDSQMNAsgAEEUaiIAQcmlASABEFggAigCAEE6Rw0jDDMLIABBFGoiAEHKpQEgARBYIAIoAgBBO0cNIgwyCyAAQRRqIgNBy6UBIAEQWCACKAIAQTxHDSEgA0GPpQEgAkEYahBYIAIoAgwiAUEATA0gIABBGGohAwNAIAFBAWsiACACKAIMTw0jIAIoAgggAEECdGoiBCgCAEUNJCADQY+lASAEEFsgAUEBSyEMIAAhASAMDQALDCALIABBFGoiAEHMpQEgARBYIAIoAgBBPUcNIAwwCyAAQRRqIgBBzaUBIAEQWCACKAIAQT5HDR8MLwsgAEEUaiIAQc6lASABEFggAigCAEE/Rw0eIABBj6UBIAJBFGoQWA8LIABBFGpBz6UBIAEQWCACKAIAQcAARw0dIAIoAgwiAUEATA0cIABBGGohAwNAIAFBAWsiACACKAIMTw0fIAIoAgggAEECdGoiBCgCAEUNICADQY+lASAEEFsgAUEBSyENIAAhASANDQALDBwLIABBFGoiAEHQpQEgARBYIAIoAgBBwQBHDRwMJQsgAEEUaiIAQdGlASABEFggAigCAEHCAEcNGwwjCyAAQRRqIgNB0qUBIAEQWCACKAIAQcMARw0aIANBj6UBIAJBDGoQWCACKAIIRQ0ZDCsLIABBFGoiAEHTpQEgARBYIAIoAgBBxABHDRkMHgsgAEEUaiIAQdSlASABEFggAigCAEHFAEcNGAwdCyAAQRRqQdWlASABEFggAigCAEHGAEcNFyACKAIMIgFBAEwNFiAAQRhqIQMDQCABQQFrIgAgAigCDE8NGSACKAIIIABBAnRqIgQoAgBFDRogA0GPpQEgBBBbIAFBAUshDiAAIQEgDg0ACwwWCyAAQRRqIgBB1qUBIAEQWCACKAIAQccARw0WDCULIABBFGoiAEHXpQEgARBYIAIoAgBByABHDRUMIwsgAEEUaiIAQdilASABEFggAigCAEHJAEcNFAwkCyAAQRRqIgBB2aUBIAEQWCACKAIAQcoARw0TIABBj6UBIAJBGGoQWAwgCyAAQRRqIgBB2qUBIAEQWCACKAIAQcsARw0SDB8LIABBFGoiAEHbpQEgARBYIAIoAgBBzABHDREMFAsgAEEUaiIAQdylASABEFggAigCAEHNAEcNEAwTCyAAQRRqIgBB3aUBIAEQWCACKAIAQc4ARw0PDBgLIABBFGoiA0HepQEgARBYIAIoAgBBzwBHDQ4gAigCGARAIABBGGpBj6UBIAJBGGoQWwsgAigCFARAIABBGGpBj6UBIAJBFGoQWwsgAigCEARAIABBGGpBj6UBIAJBEGoQWwsMIAsgAEEUakHfpQEgARBYIAIoAgBB0ABGDQwMDQsgAEEUaiIAQeClASABEFggAigCAEHRAEcNDAwVCyAAQRRqIgNB4aUBIAEQWCACKAIAQdIARw0LIAIoAhQEQCAAQRhqQY+lASACQRRqEFsLIANBj6UBIAJBEGoQWAwdCyAAQRRqIgBB4qUBIAEQWCACKAIAQdMARw0KDBkLIABBFGoiAEHjpQEgARBYIAIoAgBB1ABHDQkMEQsgAEEUaiIAQeSlASABEFggAigCAEHVAEcNCAwRCyAAQRRqIgBB5aUBIAEQWCACKAIAQdYARw0HDBULIABBFGoiAEHmpQEgARBYIAIoAgBB1wBHDQYMFQsgAEEUaiIAQeelASABEFggAigCAEHYAEcNBQwVCyAAQRRqIgBB6KUBIAEQWCACKAIAQdkARw0EDAwLIABBFGoiAEHppQEgARBYIAIoAgBB2gBHDQMMCgsgAEEUaiIAQeqlASABEFggAigCAEHbAEcNAgwRCyAAQRRqIgNB66UBIAEQWCACKAIAQdwARw0BIANBj6UBIAJBPGoQWCACKAIwIgFBAEwNACAAQRhqIQMDQCABQQFrIgAgAigCME8NAyACKAIsIABBAnRqIgQoAgBFDQQgA0GPpQEgBBBbIAFBAUshDyAAIQEgDw0ACwsPC0Hw7QVBxZgDQZQGQY3eABABAAtBxaIBQYmiA0G8AUGmiAUQAQALQYGDAkHTmQNBuQJBrvcCEAEACyAAQY+lASACQRxqEFgLIABBj6UBIAJBGGoQWAsgAEGPpQEgAkEUahBYCyAAQY+lASACQRBqEFgPCyAAQY+lASACQRRqEFgLIABBj6UBIAJBEGoQWAsgAEGPpQEgAkEMahBYDwsgAEGPpQEgAkEoahBYCyAAQY+lASACQSRqEFgPCyAAQY+lASACQRxqEFggAEGPpQEgAkEYahBYDwsgAEGPpQEgAkEUahBYCyAAQY+lASACQRBqEFgLIABBj6UBIAJBDGoQWAsgAEGPpQEgAkEIahBYDwsgAEEYakGPpQEgAkEIahBbDwsgA0GPpQEgAkEMahBYC+8PARh/IwBBsAJrIgMkAAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCBARAIAAgACgCACgCEBECAARAIAMgACgCBCICKQI4NwP4ASADIAIpAjA3A/ABIAMgAikCKDcD6AEgAyACKQIgNwPgASADIAIpAhg3A9gBIANBgAJqIAJBQGsQ4wEhBEHUiQtBADYCAEGaASADQZQCaiACQdQAahACIQVB1IkLKAIAIRFB1IkLQQA2AgAgEUEBRg0CIAMgAigCaDYCqAIgAyACKAJsIgI2AqwCIAIEQCACIAIoAgRBAWo2AgQLIANBASADKALgASICIAJBAEobNgLgASADIAMpA+gBNwMYIAMgAykD8AE3AyAgAyADKQP4ATcDKCADIAMpA+ABNwMQIANBASADKALcASICIAJBAEobNgLcAUHUiQtBADYCACADIAMpA9gBNwMIQZsBIANBMGogBBACIQRB1IkLKAIAIQJB1IkLQQA2AgACQCACQQFHBEBB1IkLQQA2AgBBmgEgA0HEAGogBRACIQVB1IkLKAIAIRJB1IkLQQA2AgAgEkEBRg0FIAMgAygCrAIiAjYCXCADIAMoAqgCNgJYIAIEQCACIAIoAgRBAWo2AgQLIANBADYCeCADIAMpAxA3AoQBIAMgAykDGDcCjAEgAyADKQMgNwKUASADIAMpAyg3ApwBIANCADcCcCADQfzsCTYCZCADIAMpAwg3AnxB1IkLQQA2AgAgAyABNgJoIAMgAUGoAWo2AmxBmwEgA0GkAWogBBACIQFB1IkLKAIAIQJB1IkLQQA2AgACQCACQQFHBEBB1IkLQQA2AgBBmgEgA0G4AWogBRACGkHUiQsoAgAhE0HUiQtBADYCACATQQFHBEAgAyADKAJYNgLMASADIAMoAlwiATYC0AEgAQRAIAEgASgCBEEBajYCBAsgA0EAOwHUASADQQhqEGEgA0EBOgDUASAAKAIAKAIUIRRB1IkLQQA2AgAgFCAAEAYhAEHUiQsoAgAhFUHUiQtBADYCACAVQQFGDQQgAygCZCgCCCEWQdSJC0EANgIAIBYgA0HkAGoiASAAEANB1IkLKAIAIRdB1IkLQQA2AgAgF0EBRg0EQdSJC0EANgIAQZcBIAEQCkHUiQsoAgAhGEHUiQtBADYCACAYQQFGDQQgA0H87Ak2AmQgA0H8AGoQYSADKAJwIgEEQCADKAJ0IgAgASICRwRAA0AgAEEEayIAKAIAIQIgAEEANgIAIAIEQCACIAIoAgAoAgQRAQALIAAgAUcNAAsgAygCcCECCyADIAE2AnQgAhBaCyADQdgBahBhDBALEAAhACABEGsMAQsQACEACyADQfAAahDgASADQQhqEGEMDgsQACEADA0LEAAhACADQeQAahB8GgwMCyAAIAE2AnwgAEEUaiEJIAEoAhgiAiABKAIcIgRHBEADQCACKAIAIgUoAgxFBEAgCSAFQSBqEMoJCyACQQRqIgIgBEcNAAsLIAEoAgwiAiABKAIQIgVHBEADQCACKAIAIgQoAgxFBEAgACAENgJ4IAAgBBDQDCAAQQA2AngLIAJBBGoiAiAFRw0ACwsgASgCMCIKIAEoAjQiDkYNCSAAQRxqIQ0DQCAKKAIAIgIoAgwEQCAJIAJBFGoQygkLIAIoAhwiCyACKAIgIg9HBEAgACgCcCEEIAAoAmwhBiAAKAIYIQUDQCADIAsoAgAiBzYCZCAEIAZrIhBBA3UiAkEAIAVrRw0GIAdFDQcCQCAFQQlNBEAgACAFQQFqIgY2AhggDSAFQQN0aiICQY+lATYCACACIANB5ABqNgIEIAQhAiAGIQUMAQsgACgCdCIIIARLBEAgBEGPpQE2AgAgBCADQeQAajYCBCAAIARBCGoiAjYCcAwBCyACQQFqIgdBgICAgAJPDQlB/////wEgCCAGayIIQQJ1IgwgByAHIAxJGyAIQfj///8HTxsiB0GAgICAAk8NCiAQIAdBA3QiDBBcIghqIgdBj6UBNgIAIAggAkEDdGogA0HkAGo2AgQgB0EIaiECIAQgBkcEQANAIAdBCGsiByAEQQhrIgQpAgA3AgAgBCAGRw0ACwsgACAIIAxqNgJ0IAAgAjYCcCAAIAc2AmwgBkUNACAGEFogACgCcCECIAAoAhghBQtBACAFayACIAAoAmwiBmtBA3VHBEADQAJAIAIgBkYEQCAFRQ0OIA0gBUEBayIEQQN0aiIFKAIEIQIgBSgCACEGIAAgBDYCGAwBCyACQQhrIgQoAgAhBiAEKAIEIQIgACAENgJwCyAJIAI2AgAgAigCAEUNDSAAIAIgBhEAAEEAIAAoAhgiBWsgACgCcCICIAAoAmwiBmtBA3VHDQALCyACIQQgC0EEaiILIA9HDQALCyAKQQRqIgogDkcNAAsMCQtB6PoFQbqLA0H8A0HaywIQAQALEAAhGSAEEGsgGRAHAAsQACEAIAQQawwIC0HNygVB05kDQcgCQdD4AhABAAtBgYMCQdOZA0G5AkGu9wIQAQALEGQACxBqAAtB3sQFQbCUA0HaAEH9+wIQAQALQfWCAkHTmQNBzQJB0PgCEAEACyABKAJIIgIgASgCTCIBRwRAA0AgAigCACIELQAURQRAIAkgBEEYahDKCQsgAkEEaiICIAFHDQALCyAAQQA2AnwLIANBsAJqJAAPCyADQdgBahBhIAAQBwALgQEBA38gAEGQ5gk2AgACQAJAIAAoApgBIgEgAEGIAWoiAkYEQEEEIQMgAiEBDAELQQUhAyABRQ0BCyABIAEoAgAgA0ECdGooAgARAQALIAAoAmwiAgRAIAAgAjYCcCACEFoLIABBkO0JNgIAIAAsABNBAEgEQCAAKAIIEFoLIAAQWgvYAgILfwF+IwBBIGsiAiQAIABCADcCACAAQYCAgPwDNgIQIABCADcCCCAAQQA2AhwgACAAQRRqIgM2AhggACADNgIUAkAgASgCGCIEIAFBFGoiBkcEQANAIAQoAhAhBSAEKQIIIQ0gAiADNgIQIAIgDTcDCEHUiQtBADYCAEGupAEgAkEYaiAAIA2nIA1CIIinIAJBCGoQDEHUiQsoAgAhCUHUiQtBADYCACAJQQFGDQIgAi0AHARAIAIoAhghC0HUiQtBADYCAEEEQRQQBiEBQdSJCygCACEKQdSJC0EANgIAIApBAUYNAyABIA03AgggASADNgIEIAEgBTYCECABIAAoAhQiBTYCACAFIAE2AgQgACABNgIUIAAgACgCHEEBajYCHCALIAE2AhALIAQoAgQiBCAGRw0ACwsgAkEgaiQAIAAPCxAAIQwgAxCnBSAAEKIBIAwQBwALLAAgASgCACIBKAIAQdwARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQ9gELLAAgASgCACIBKAIAQdsARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQ9gELQgACQCAAKAIAQdkARgRAIAFFDQEgACABNgIMDwtBr7AGQae3AkHVJUGctwMQAQALQbr1AUGntwJB1iVBnLcDEAEACywAIAEoAgAiASgCAEHaAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPYBCywAIAEoAgAiASgCAEHZAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPYBCywAIAEoAgAiASgCAEHYAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPYBCywAIAEoAgAiASgCAEHXAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPYBCywAIAEoAgAiASgCAEHWAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPYBCywAIAEoAgAiASgCAEHVAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPYBCywAIAEoAgAiASgCAEHUAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPYBCywAIAEoAgAiASgCAEHTAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPYBCywAIAEoAgAiASgCAEHSAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPYBCywAIAEoAgAiASgCAEHRAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPYBCycAIAAoAgBB2QBHBEBBr7AGQae3AkHKJUGdwgIQAQALIAAgATYCCAssACABKAIAIgEoAgBB0ABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARD2AQssACABKAIAIgEoAgBBzwBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARD2AQssACABKAIAIgEoAgBBzgBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARD2AQssACABKAIAIgEoAgBBzQBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARD2AQssACABKAIAIgEoAgBBzABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARD2AQssACABKAIAIgEoAgBBywBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARD2AQssACABKAIAIgEoAgBBygBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARD2AQssACABKAIAIgEoAgBByQBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARD2AQssACABKAIAIgEoAgBByABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARD2AQssACABKAIAIgEoAgBBxwBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARD2AQtCAAJAIAAoAgBB2QBGBEAgAUUNASAAIAE2AhAPC0GvsAZBp7cCQeElQbTkAhABAAtBnfUBQae3AkHiJUG05AIQAQALLAAgASgCACIBKAIAQcYARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQ9gELLAAgASgCACIBKAIAQcUARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQ9gELLAAgASgCACIBKAIAQcQARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQ9gELLAAgASgCACIBKAIAQcMARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQ9gELLAAgASgCACIBKAIAQcIARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQ9gELLAAgASgCACIBKAIAQcEARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQ9gELLAAgASgCACIBKAIAQcAARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQ9gELKwAgASgCACIBKAIAQT9HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARD2AQsrACABKAIAIgEoAgBBPkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPYBCysAIAEoAgAiASgCAEE9RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQ9gELJQAgACgCAEHZAEcEQEGvsAZBp7cCQc8lQdC6AxABAAsgACgCDAsrACABKAIAIgEoAgBBPEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPYBCysAIAEoAgAiASgCAEE7RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQ9gELKwAgASgCACIBKAIAQTpHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARD2AQsrACABKAIAIgEoAgBBOUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPYBCysAIAEoAgAiASgCAEE4RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQ9gELKwAgASgCACIBKAIAQShHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARD2AQsrACABKAIAIgEoAgBBF0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPYBCysAIAEoAgAiASgCAEEWRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQ9gELKwAgASgCACIBKAIAQTdHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARD2AQsrACABKAIAIgEoAgBBNkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPYBCyUAIAAoAgBB2QBHBEBBr7AGQae3AkHFJUHHxQIQAQALIAAoAggLKwAgASgCACIBKAIAQTVHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARD2AQsrACABKAIAIgEoAgBBNEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPYBCysAIAEoAgAiASgCAEEzRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQ9gELKwAgASgCACIBKAIAQTJHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARD2AQsrACABKAIAIgEoAgBBMUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPYBCysAIAEoAgAiASgCAEEwRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQ9gELKwAgASgCACIBKAIAQS9HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARD2AQsrACABKAIAIgEoAgBBLkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPYBCysAIAEoAgAiASgCAEEtRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQ9gELKwAgASgCACIBKAIAQSxHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARD2AQslACAAKAIAQdkARwRAQa+wBkGntwJB2yVB7+QCEAEACyAAKAIQCysAIAEoAgAiASgCAEErRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQ9gELKwAgASgCACIBKAIAQSpHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARD2AQsrACABKAIAIgEoAgBBKUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPYBCysAIAEoAgAiASgCAEEVRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQ9gELKwAgASgCACIBKAIAQRRHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARD2AQsrACABKAIAIgEoAgBBE0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPYBCysAIAEoAgAiASgCAEESRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQ9gELKwAgASgCACIBKAIAQRFHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARD2AQsrACABKAIAIgEoAgBBEEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPYBCysAIAEoAgAiASgCAEEPRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQ9gELUQAgAEGoAWpBFEEEEF0iACADNgIQIAAgAjYCDCAAIAE2AgggAELZADcCAEEBIQEgACACKAIEQQFHBH9BAUECIAMoAgRBAUYbBUEBCzYCBCAACysAIAEoAgAiASgCAEEORwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQ9gELKwAgASgCACIBKAIAQSdHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARD2AQsrACABKAIAIgEoAgBBJkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPYBCysAIAEoAgAiASgCAEElRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQ9gELKwAgASgCACIBKAIAQSRHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARD2AQsrACABKAIAIgEoAgBBI0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPYBCysAIAEoAgAiASgCAEEiRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQ9gELKwAgASgCACIBKAIAQSFHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARD2AQsrACABKAIAIgEoAgBBIEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPYBCysAIAEoAgAiASgCAEEfRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQ9gELQgACQCAAKAIAQdQARgRAIAFFDQEgACABNgIQDwtB0qwGQae3AkHZJEGB9AAQAQALQdD0AUGntwJB2iRBgfQAEAEACysAIAEoAgAiASgCAEEeRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQ9gELKwAgASgCACIBKAIAQR1HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARD2AQsrACABKAIAIgEoAgBBHEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPYBCysAIAEoAgAiASgCAEEbRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQ9gELKwAgASgCACIBKAIAQRpHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARD2AQsrACABKAIAIgEoAgBBGUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPYBCysAIAEoAgAiASgCAEEYRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQ9gELKwAgASgCACIBKAIAQQ1HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARD2AQsrACABKAIAIgEoAgBBDEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPYBCysAIAEoAgAiASgCAEELRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQ9gELJwAgACgCAEHUAEcEQEHSrAZBp7cCQcIkQfXBAhABAAsgACABNgIICysAIAEoAgAiASgCAEEKRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQ9gELKwAgASgCACIBKAIAQQlHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARD2AQsrACABKAIAIgEoAgBBCEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPYBCysAIAEoAgAiASgCAEEHRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQ9gELKwAgASgCACIBKAIAQQZHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARD2AQsrACABKAIAIgEoAgBBBUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPYBCysAIAEoAgAiASgCAEEERwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQ9gELKwAgASgCACIBKAIAQQNHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARD2AQsrACABKAIAIgEoAgBBAkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPYBCysAIAEoAgAiASgCAEEBRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQ9gELQgACQCAAKAIAQdQARgRAIAFFDQEgACABNgIMDwtB0qwGQae3AkHNJEHo9gAQAQALQeT0AUGntwJBziRB6PYAEAEAC8YCAgp/An4jAEEQayICJAAgAEIANwIAIABBgICA/AM2AhAgAEIANwIIIABBADYCHCAAIABBFGoiAzYCGCAAIAM2AhQCQCABKAIYIgQgAUEUaiIGRwRAIAOtQiCGIQ0DQCAEKQIIIQxB1IkLQQA2AgBBrKQBIAJBCGogACAMpyANIAxC/////w+DhBCoAkHUiQsoAgAhCEHUiQtBADYCACAIQQFGDQIgAi0ADARAIAIoAgghCkHUiQtBADYCAEEEQRAQBiEBQdSJCygCACEJQdSJC0EANgIAIAlBAUYNAyABIAM2AgQgASAMNwIIIAEgACgCFCIFNgIAIAUgATYCBCAAIAE2AhQgACAAKAIcQQFqNgIcIAogATYCDAsgBCgCBCIEIAZHDQALCyACQRBqJAAgAA8LEAAhCyADEKcFIAAQogEgCxAHAAvJAwEGfyMAQRBrIgYkAAJAAkAgACgCMCIERQ0AIAFBldPH3gVsIgJBGHYgAnNBldPH3gVsQaiZvfR9c0GV08feBWwiAkENdiACc0GV08feBWwiAkEPdiACcyECIAAoAiwCfyAEQQFrIAJxIARpIgVBAU0NABogAiACIARJDQAaIAIgBHALIgdBAnRqKAIAIgNFDQAgAygCACIDRQ0AIAVBAU0EQCAEQQFrIQQDQAJAIAMoAgQiBSACRwRAIAQgBXEgB0YNAQwECyADKAIIIAFGDQQLIAMoAgAiAw0ACwwBCwNAAkAgAygCBCIFIAJHBEAgBCAFTQR/IAUgBHAFIAULIAdGDQEMAwsgAygCCCABRg0DCyADKAIAIgMNAAsLIAYgATYCBCAAKAIUIAAoAhBqIgIgACgCCCIHIAAoAgQiA2tBCHRBAWtBACADIAdHG0YEQCAAEOMEIAAoAgQhAyAAKAIQIAAoAhRqIQILIAMgAkEIdkH8//8HcWooAgAgAkH/B3FBAnRqIAE2AgAgACAAKAIUQQFqNgIUIAZBCGogAEEYaiABIAZBBGoQ/gQgBigCCCIAQQxqIAAoAgxBAWo2AgALIAZBEGokAAvdHgEOfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEoAgAiAigCAA5eAAECAwQFBgcICQoLDA0eHyAhIiMkJTU2Dg8QERITFBUWFxgZGhscHTcmJygpKissLS4vMDEyMzQ4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcAF0LQZj9A0HlswNB6gEQYgALIABBsqQBIAEQWCACKAIAQQFHDVwgAigCFCIBQQBMDVsgAEEEaiEEA0AgAUEBayIAIAIoAhRPDV4gAigCECAAQQJ0aiIDKAIARQ1fIARBqaQBIAMQWyABQQFLIQYgACEBIAYNAAsMWwsgAEGzpAEgARBYIAIoAgBBAkcNWyACKAIQBEAgAEEEakGppAEgAkEQahBbCwxgCyAAQbSkASABEFggAigCAEEDRw1aDGMLIABBtaQBIAEQWCACKAIAQQRHDVkgAigCFARAIABBBGpBqaQBIAJBFGoQWwsgAigCEEUNWCAAQQRqQamkASACQRBqEFsPCyAAQbakASABEFggAigCAEEFRw1YIABBqaQBIAJBJGoQWCACKAIgRQ1XIABBBGpBqaQBIAJBIGoQWw8LIABBt6QBIAEQWCACKAIAQQZHDVcgAigCDCIBQQBMDVYgAEEEaiEEA0AgAUEBayIAIAIoAgxPDVkgAigCCCAAQQJ0aiIDKAIARQ1aIARBqaQBIAMQWyABQQFLIQcgACEBIAcNAAsMVgsgAEG4pAEgARBYIAIoAgBBB0cNViAAQamkASACQRxqEFggAigCECIBQQBMDVUgAEEEaiEEA0AgAUEBayIAIAIoAhBPDVggAigCDCAAQQJ0aiIDKAIARQ1ZIARBqaQBIAMQWyABQQFLIQggACEBIAgNAAsMVQsgAEG5pAEgARBYIAIoAgBBCEYNVAxVCyAAQbqkASABEFggAigCAEEJRw1UDGALIABBu6QBIAEQWCACKAIAQQpGDVIMUwsgAEG8pAEgARBYIAIoAgBBC0cNUgxbCyAAQb2kASABEFggAigCAEEMRw1RDF8LIABBvqQBIAEQWCACKAIAQQ1HDVAMXQsgAEG/pAEgARBYIAIoAgBBGEcNTwxeCyAAQcCkASABEFggAigCAEEZRw1OIABBqaQBIAJBIGoQWAxdCyAAQcGkASABEFggAigCAEEaRw1NDFQLIABBwqQBIAEQWCACKAIAQRtHDUwMVAsgAEHDpAEgARBYIAIoAgBBHEYNSgxLCyAAQcSkASABEFggAigCAEEdRw1KDFYLIABBxaQBIAEQWCACKAIAQR5HDUkgAEGppAEgAkEUahBYDFULIABBxqQBIAEQWCACKAIAQR9HDUgMTQsgAEHHpAEgARBYIAIoAgBBIEcNRwxRCyAAQcikASABEFggAigCAEEhRw1GDFELIABByaQBIAEQWCACKAIAQSJHDUUgAEGppAEgAkEgahBYDwsgAEHKpAEgARBYIAIoAgBBI0cNRAxRCyAAQcukASABEFggAigCAEEkRw1DDEoLIABBzKQBIAEQWCACKAIAQSVGDUEMQgsgAEHNpAEgARBYIAIoAgBBJkcNQQxFCyAAQc6kASABEFggAigCAEEnRw1ADEQLIABBz6QBIAEQWCACKAIAQQ5GDT4MPwsgAEHQpAEgARBYIAIoAgBBD0cNPgxKCyAAQdGkASABEFggAigCAEEQRw09DEgLIABB0qQBIAEQWCACKAIAQRFHDTwMQAsgAEHTpAEgARBYIAIoAgBBEkcNOwxLCyAAQdSkASABEFggAigCAEETRw06IAIoAghFDTkMSwsgAEHVpAEgARBYIAIoAgBBFEYNOAw5CyAAQdakASABEFggAigCAEEVRw04DEgLIABB16QBIAEQWCACKAIAQSlGDTYMNwsgAEHYpAEgARBYIAIoAgBBKkcNNgxGCyAAQdmkASABEFggAigCAEErRg00DDULIABB2qQBIAEQWCACKAIAQSxHDTQMOQsgAEHbpAEgARBYIAIoAgBBLUcNMww8CyAAQdykASABEFggAigCAEEuRw0yDDoLIABB3aQBIAEQWCACKAIAQS9GDTAMMQsgAEHepAEgARBYIAIoAgBBMEcNMAw4CyAAQd+kASABEFggAigCAEExRw0vDDYLIABB4KQBIAEQWCACKAIAQTJHDS4MMgsgAEHhpAEgARBYIAIoAgBBM0cNLSACKAIoIgFBAEoEQCAAQQRqIQMDQCABQQFrIgQgAigCKE8NMCACKAIkIARBAnRqIgUoAgBFDTEgA0GppAEgBRBbIAFBAUshCSAEIQEgCQ0ACwsMNgsgAEHipAEgARBYIAIoAgBBNEYEQAw9CwwsCyAAQeOkASABEFggAigCAEE1Rw0rIAIoAhQiAUEATA0qIABBBGohBANAIAFBAWsiACACKAIUTw0tIAIoAhAgAEECdGoiAygCAEUNLiAEQamkASADEFsgAUEBSyEKIAAhASAKDQALDCoLIABB5KQBIAEQWCACKAIAQTZGDSkMKgsgAEHlpAEgARBYIAIoAgBBN0cNKQw5CyAAQeakASABEFggAigCAEEWRg0nDCgLIABB56QBIAEQWCACKAIAQRdGDSYMJwsgAEHopAEgARBYIAIoAgBBKEYNJQwmCyAAQemkASABEFggAigCAEE4Rw0lIAIoAgwiAUEATA0kIABBBGohBANAIAFBAWsiACACKAIMTw0nIAIoAgggAEECdGoiAygCAEUNKCAEQamkASADEFsgAUEBSyELIAAhASALDQALDCQLIABB6qQBIAEQWCACKAIAQTlHDSQMNAsgAEHrpAEgARBYIAIoAgBBOkcNIwwzCyAAQeykASABEFggAigCAEE7Rw0iDDILIABB7aQBIAEQWCACKAIAQTxHDSEgAEGppAEgAkEYahBYIAIoAgwiAUEATA0gIABBBGohBANAIAFBAWsiACACKAIMTw0jIAIoAgggAEECdGoiAygCAEUNJCAEQamkASADEFsgAUEBSyEMIAAhASAMDQALDCALIABB7qQBIAEQWCACKAIAQT1HDSAMMAsgAEHvpAEgARBYIAIoAgBBPkcNHwwvCyAAQfCkASABEFggAigCAEE/Rw0eIABBqaQBIAJBFGoQWA8LIABB8aQBIAEQWCACKAIAQcAARw0dIAIoAgwiAUEATA0cIABBBGohBANAIAFBAWsiACACKAIMTw0fIAIoAgggAEECdGoiAygCAEUNICAEQamkASADEFsgAUEBSyENIAAhASANDQALDBwLIABB8qQBIAEQWCACKAIAQcEARw0cDCgLIABB86QBIAEQWCACKAIAQcIARw0bDCYLIABB9KQBIAEQWCACKAIAQcMARw0aIABBqaQBIAJBDGoQWCACKAIIRQ0ZDCsLIABB9aQBIAEQWCACKAIAQcQARw0ZDCELIABB9qQBIAEQWCACKAIAQcUARw0YDCALIABB96QBIAEQWCACKAIAQcYARw0XIAIoAgwiAUEATA0WIABBBGohBANAIAFBAWsiACACKAIMTw0ZIAIoAgggAEECdGoiAygCAEUNGiAEQamkASADEFsgAUEBSyEOIAAhASAODQALDBYLIABB+KQBIAEQWCACKAIAQccARw0WDBsLIABB+aQBIAEQWCACKAIAQcgARw0VDBkLIABB+qQBIAEQWCACKAIAQckARw0UDCQLIABB+6QBIAEQWCACKAIAQcoARw0TIABBqaQBIAJBGGoQWAwWCyAAQfykASABEFggAigCAEHLAEcNEgwVCyAAQf2kASABEFggAigCAEHMAEcNEQwXCyAAQf6kASABEFggAigCAEHNAEcNEAwWCyAAQf+kASABEFggAigCAEHOAEcNDwwbCyAAQYClASABEFggAigCAEHPAEcNDiACKAIYBEAgAEEEakGppAEgAkEYahBbCyACKAIUBEAgAEEEakGppAEgAkEUahBbCyACKAIQBEAgAEEEakGppAEgAkEQahBbCwwaCyAAQYGlASABEFggAigCAEHQAEYNDAwNCyAAQYKlASABEFggAigCAEHRAEcNDAwYCyAAQYOlASABEFggAigCAEHSAEcNCyACKAIUBEAgAEEEakGppAEgAkEUahBbCwwWCyAAQYSlASABEFggAigCAEHTAEcNCgwPCyAAQYWlASABEFggAigCAEHUAEcNCQwUCyAAQYalASABEFggAigCAEHVAEcNCAwUCyAAQYelASABEFggAigCAEHWAEcNBwwLCyAAQYilASABEFggAigCAEHXAEcNBgwLCyAAQYmlASABEFggAigCAEHYAEcNBQwVCyAAQYqlASABEFggAigCAEHZAEcNBAwPCyAAQYulASABEFggAigCAEHaAEcNAwwNCyAAQYylASABEFggAigCAEHbAEcNAgwHCyAAQY2lASABEFggAigCAEHcAEcNASAAQamkASACQTxqEFggAigCMCIBQQBMDQAgAEEEaiEEA0AgAUEBayIAIAIoAjBPDQMgAigCLCAAQQJ0aiIDKAIARQ0EIARBqaQBIAMQWyABQQFLIQ8gACEBIA8NAAsLDwtB8O0FQcWYA0GUBkGN3gAQAQALQcWiAUGJogNBvAFBpogFEAEAC0GBgwJB05kDQbkCQa73AhABAAsgAEGppAEgAkEUahBYCyAAQamkASACQRBqEFgLIABBqaQBIAJBDGoQWAwKCyAAQamkASACQRxqEFgLIABBqaQBIAJBGGoQWAsgAEGppAEgAkEUahBYCyAAQamkASACQRBqEFgPCyAAQamkASACQRRqEFgLIABBqaQBIAJBEGoQWAsgAEGppAEgAkEMahBYDwsgAEGppAEgAkEoahBYCyAAQamkASACQSRqEFgPCyAAQamkASACQRxqEFggAEGppAEgAkEYahBYDwsgAEGppAEgAkEIahBYDwsgAEEEakGppAEgAkEIahBbC7QCAQN/AkACQAJAQQAgACgCBGsgACgCXCAAKAJYa0EDdUYE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CBBtDCELIABBDGoiAyABKAIUEG0gAEEYaiIAIAIoAhQQbSADIAEoAhAQbSAAIAIoAhAQbSADIAEoAgwQbSAAIAIoAgwQbSADIAEoAggQbSAAIAIoAggQbQwgCyABKAIIIAIoAghHDSAgAEEMaiIDIAEoAhwQbSAAQRhqIgAgAigCHBBtIAMgASgCGBBtIAAgAigCGBBtIAMgASgCFBBtIAAgAigCFBBtIAMgASgCEBBtIAAgAigCEBBtDB8LIAEoAgggAigCCEcNHyAAQQxqIgMgASgCHBBtIABBGGoiACACKAIcEG0gAyABKAIYEG0gACACKAIYEG0gAyABKAIUEG0gACACKAIUEG0gAyABKAIQEG0gACACKAIQEG0MHgsgASgCCCACKAIIRw0eIABBDGogASgCDBBtIABBGGogAigCDBBtDB0LIAEoAgggAigCCEcNHSABLQAcIAItABxHDR0gAEEMaiIDIAEoAhgQbSAAQRhqIgAgAigCGBBtIAMgASgCFBBtIAAgAigCFBBtIAMgASgCEBBtIAAgAigCEBBtIAMgASgCDBBtIAAgAigCDBBtDBwLIAEoAgggAigCCEYNGwwcCyABKAIIIAIoAghHDRsgAEEMaiABKAIMEG0gAEEYaiACKAIMEG0MGgsgASgCCCACKAIIRw0aIABBDGoiAyABKAIUEG0gAEEYaiIAIAIoAhQQbSADIAEoAhAQbSAAIAIoAhAQbSADIAEoAgwQbSAAIAIoAgwQbQwZCyAAQQxqIgMgASgCDBBtIABBGGoiACACKAIMEG0gAyABKAIIEG0gACACKAIIEG0MGAsgASgCCCACKAIIRw0YIABBDGoiAyABKAIQEG0gAEEYaiIAIAIoAhAQbSADIAEoAgwQbSAAIAIoAgwQbQwXCyABKAIIIAIoAghHDRcgAEEMaiABKAIMEG0gAEEYaiACKAIMEG0MFgsgAEEMaiIDIAEoAhAQbSAAQRhqIgAgAigCEBBtIAMgASgCDBBtIAAgAigCDBBtIAMgASgCCBBtIAAgAigCCBBtDBULIABBDGoiAyABKAIMEG0gAEEYaiIAIAIoAgwQbSADIAEoAggQbSAAIAIoAggQbQwUCyAAQQxqIAEoAggQbSAAQRhqIAIoAggQbQwTCyABKAIIIAIoAghHDRMgAEEMaiIDIAEoAhAQbSAAQRhq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AUIANwIMIAFCADcCFCAEIAFBCGoiA0cEQCADEFkhA0HUiQtBADYCAEHAACADIAQQAhpB1IkLKAIAISFB1IkLQQA2AgAgIUEBRg0JCyABIAQoAhA2AgQgBBBZGgwBCyABQhY3AgALIAJBCGoQWRoMAwsQACEBDAYLIApBIEEEEF0iAUIANwIEIAFBATYCACABQgA3AgwgASAKNgIcIAFCgICAgBA3AhQgASAKQQRBBBBdIgU2AhAgBSADNgIAIAFBATYCFCABIARBAUEAEOYBDAELIAEoAgQiBSAJRgRAIAMhAQwBCyAJIAUQ7wEEQCADIQEMAQsgASgCBEECTwRAIAMoAgRBAUYNAQtBzawEQfiPA0E2Qf2dARABAAsgBiABEHkCfyAAKAKwASIDIAAoAqwBRgRAIAAoAoABIgNFDQMgA0ECdCAAakGAAWoMAQsgA0EEawsgATYCACACQYACaiQADwsQACEAIAJBCGoQWRoMBgtB3sQFQbCUA0HaAEH9+wIQAQALEAAhASAEEFkaCyACQQhqEFkaIAEQBwALAAsgAkEIahDfARogARAHAAtBxaIBQYmiA0G8AUGmiAUQAQALIAAQBwALJQAgACgCAEHUAEcEQEHSrAZBp7cCQcckQeL3ABABAAsgACgCDAscAEG4ARBcIgBBAEG4AfwLACAAQfSqCDYCACAAC0AAIAAoAgRFBEBB6PoFQbqLA0GcBEHu0wIQAQALIAAgAjYCeCAAIAE2AnwgACACENQMIAAgAhDNCSAAQgA3AngL7iIBEH8gASgCAARAAkAgAEEYaiIHQcmjASABEFsgACEDAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgASgCACICKAIADl4AAQIDBAUGBwgJCgsMDR4fICEiIyQlNTYODxAREhMUFRYXGBkaGxwdNyYn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aiIAQYukASABEFggAigCAEHBAEcNGwwjCyADQRRqIgBBjKQBIAEQWCACKAIAQcIARw0aDCELIANBFGoiAEGNpAEgARBYIAIoAgBBwwBHDRkgAEHIowEgAkEMahBYDCkLIANBFGoiAEGOpAEgARBYIAIoAgBBxABHDRgMHAsgA0EUaiIAQY+kASABEFggAigCAEHFAEcNFwwbCyADQRRqQZCkASABEFggAigCAEHGAEcNFiACKAIMIgBBAEwNKCADQRhqIQUDQCAAQQFrIgMgAigCDE8NGCACKAIIIANBAnRqIgQoAgBFDSogBUHIowEgBBBbIABBAUshECADIQAgEA0ACwwoCyADQRRqIgBBkaQBIAEQWCACKAIAQccARw0VDCMLIANBFGoiAEGSpAEgARBYIAIoAgBByABHDRQMIQsgA0EUaiIAQZOkASABEFggAigCAEHJAEcNEwwiCyADQRRqIgBBlKQBIAEQWCACKAIAQcoARw0SIABByKMBIAJBGGoQWAweCyADQRRqIgBBlaQBIAEQWCACKAIAQcsARw0RDB0LIANBFGoiAEGWpAEgARBYIAIoAgBBzABHDRAMEgsgA0EUaiIAQZekASABEFggAigCAEHNAEcNDwwRCyADQRRqIgBBmKQBIAEQWCACKAIAQc4ARw0ODBYLIANBFGoiAEGZpAEgARBYIAIoAgBBzwBHDQ0gAigCGARAIANBGGpByKMBIAJBGGoQWwsgAigCFARAIANBGGpByKMBIAJBFGoQWwsgAigCEARAIANBGGpByKMBIAJBEGoQWwsMHgsgA0EUakGapAEgARBYIAIoAgBB0ABGDR4MDAsgA0EUaiIAQZukASABEFggAigCAEHRAEcNCwwTCyADQRRqIgBBnKQBIAEQWCACKAIAQdIARw0KIAIoAhQEQCADQRhqQcijASACQRRqEFsLIABByKMBIAJBEGoQWAwbCyADQRRqIgBBnaQBIAEQWCACKAIAQdMARw0JDBcLIANBFGoiAEGepAEgARBYIAIoAgBB1ABHDQgMDwsgA0EUaiIAQZ+kASABEFggAigCAEHVAEcNBwwPCyADQRRqIgBBoKQBIAEQWCACKAIAQdYARw0GDBMLIANBFGoiAEGhpAEgARBYIAIoAgBB1wBHDQUMEwsgA0EUaiIAQaKkASABEFggAigCAEHYAEcNBAwTCyADQRRqIgBBo6QBIAEQWCACKAIAQdkARw0DDAoLIANBFGoiAEGkpAEgARBYIAIoAgBB2gBHDQIMCAsgA0EUaiIAQaWkASABEFggAigCAEHbAEcNAQwPCyADQRRqIgBBpqQBIAEQWCACKAIAQdwARw0AIABByKMBIAJBPGoQWCACKAIwIgBBAEwNEiADQRhqIQUDQCAAQQFrIgMgAigCME8NAiACKAIsIANBAnRqIgQoAgBFDRQgBUHIowEgBBBbIABBAUshESADIQAgEQ0ACwwSC0Hw7QVBxZgDQZQGQY3eABABAAtBxaIBQYmiA0G8AUGmiAUQAQALIABByKMBIAJBHGoQWAsgAEHIowEgAkEYahBYCyAAQcijASACQRRqEFgLIABByKMBIAJBEGoQWAwMCyAAQcijASACQRRqEFgLIABByKMBIAJBEGoQWAsgAEHIowEgAkEMahBYDAkLIABByKMBIAJBKGoQWAsgAEHIowEgAkEkahBYDAcLIABByKMBIAJBHGoQWCAAQcijASACQRhqEFgMBgsgAEHIowEgAkEUahBYCyAAQcijASACQRBqEFgLIABByKMBIAJBDGoQWAsgAEHIowEgAkEIahBYDAILIAIoAghFDQEgA0EYakHIowEgAkEIahBbDAELIABByKMBIAJBDGoQWAsgASgCAEUNACAHQcqjASABEFsPCwtBgYMCQdOZA0G5AkGu9wIQAQALgRABGH8jAEGwAmsiAyQAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIEBEAgACAAKAIAKAIQEQIABEAgAyAAKAIEIgIpAjg3A/gBIAMgAikCMDcD8AEgAyACKQIoNwPoASADIAIpAiA3A+ABIAMgAikCGDcD2AEgA0GAAmogAkFAaxDjASEEQdSJC0EANgIAQZoBIANBlAJqIAJB1ABqEAIhBUHUiQsoAgAhEUHUiQtBADYCACARQQFGDQIgAyACKAJoNgKoAiADIAIoAmwiAjYCrAIgAgRAIAIgAigCBEEBajYCBAsgA0EBIAMoAuABIgIgAkEAShs2AuABIAMgAykD6AE3AxggAyADKQPwATcDICADIAMpA/gBNwMoIAMgAykD4AE3AxAgA0EBIAMoAtwBIgIgAkEAShs2AtwBQdSJC0EANgIAIAMgAykD2AE3AwhBmwEgA0EwaiAEEAIhBEHUiQsoAgAhAkHUiQtBADYCAAJAIAJBAUcEQEHUiQtBADYCAEGaASADQcQAaiAFEAIhBUHUiQsoAgAhEkHUiQtBADYCACASQQFGDQUgAyADKAKsAiICNgJcIAMgAygCqAI2AlggAgRAIAIgAigCBEEBajYCBAsgA0EANgJ4IAMgAykDEDcChAEgAyADKQMYNwKMASADIAMpAyA3ApQBIAMgAykDKDcCnAEgA0IANwJwIANB/OwJNgJkIAMgAykDCDcCfEHUiQtBADYCACADIAE2AmggAyABQagBajYCbEGbASADQaQBaiAEEAIhAUHUiQsoAgAhAkHUiQtBADYCAAJAIAJBAUcEQEHUiQtBADYCAEGaASADQbgBaiAFEAIaQdSJCygCACETQdSJC0EANgIAIBNBAUcEQCADIAMoAlg2AswBIAMgAygCXCIBNgLQASABBEAgASABKAIEQQFqNgIECyADQQA7AdQBIANBCGoQYSADQQE6ANQBIAAoAgAoAhQhFEHUiQtBADYCACAUIAAQBiEAQdSJCygCACEVQdSJC0EANgIAIBVBAUYNBCADKAJkKAIIIRZB1IkLQQA2AgAgFiADQeQAaiIBIAAQA0HUiQsoAgAhF0HUiQtBADYCACAXQQFGDQRB1IkLQQA2AgBBlwEgARAKQdSJCygCACEYQdSJC0EANgIAIBhBAUYNBCADQfzsCTYCZCADQfwAahBhIAMoAnAiAQRAIAMoAnQiACABIgJHBEADQCAAQQRrIgAoAgAhAiAAQQA2AgAgAgRAIAIgAigCACgCBBEBAAsgACABRw0ACyADKAJwIQILIAMgATYCdCACEFoLIANB2AFqEGEMEAsQACEAIAEQawwBCxAAIQALIANB8ABqEOABIANBCGoQYQwOCxAAIQAMDQsQACEAIANB5ABqEHwaDAwLIAAgATYCfCAAQRRqIQkgASgCGCICIAEoAhwiBEcEQANAIAIoAgAiBSgCDEUEQCAJIAVBIGoQ5wcLIAJBBGoiAiAERw0ACwsgASgCDCICIAEoAhAiBUcEQANAAkAgAigCACIEKAIMBEAgACAEEM0JDAELIAAgBDYCeCAAIAQQ1AwgACAEEM0JIABBADYCeAsgAkEEaiICIAVHDQALCyABKAIwIgogASgCNCIORg0JIABBHGohDQNAIAooAgAiAigCDARAIAkgAkEUahDnBwsgAigCHCILIAIoAiAiD0cEQCAAKAJsIQYgACgCcCEEIAAoAhghBQNAIAMgCygCACIHNgJkIAQgBmsiEEEDdSICQQAgBWtHDQYgB0UNBwJAIAVBCU0EQCAAIAVBAWoiBjYCGCANIAVBA3RqIgJByKMBNgIAIAIgA0HkAGo2AgQgBCECIAYhBQwBCyAAKAJ0IgggBEsEQCAEQcijATYCACAEIANB5ABqNgIEIAAgBEEIaiICNgJwDAELIAJBAWoiB0GAgICAAk8NCUH/////ASAIIAZrIghBAnUiDCAHIAcgDEkbIAhB+P///wdPGyIHQYCAgIACTw0KIBAgB0EDdCIMEFwiCGoiB0HIowE2AgAgCCACQQN0aiADQeQAajYCBCAHQQhqIQIgBCAGRwRAA0AgB0EIayIHIARBCGsiBCkCADcCACAEIAZHDQALCyAAIAggDGo2AnQgACACNgJwIAAgBzYCbCAGRQ0AIAYQWiAAKAJwIQIgACgCGCEFC0EAIAVrIAIgACgCbCIGa0EDdUcEQANAAkAgAiAGRgRAIAVFDQ4gDSAFQQFrIgRBA3RqIgUoAgQhAiAFKAIAIQYgACAENgIYDAELIAJBCGsiBCgCACEGIAQoAgQhAiAAIAQ2AnALIAkgAjYCACACKAIARQ0NIAAgAiAGEQAAQQAgACgCGCIFayAAKAJwIgIgACgCbCIGa0EDdUcNAAsLIAIhBCALQQRqIgsgD0cNAAsLIApBBGoiCiAORw0ACwwJC0Ho+gVBuosDQfwDQdrLAhABAAsQACEZIAQQayAZEAcACxAAIQAgBBBrDAgLQc3KBUHTmQNByAJB0PgCEAEAC0GBgwJB05kDQbkCQa73AhABAAsQZAALEGoAC0HexAVBsJQDQdoAQf37AhABAAtB9YICQdOZA0HNAkHQ+AIQAQALIAEoAkgiAiABKAJMIgFHBEADQCACKAIAIgQtABRFBEAgCSAEQRhqEOcHCyACQQRqIgIgAUcNAAsLIABBADYCfAsgA0GwAmokAA8LIANB2AFqEGEgABAHAAusAQEEfyABKAIAIgEoAgBBCUYEQCABKAIEBEAgAEEUaiEDIAEoAgwiAigCBEEBRgRAIAMgAhB5DwsgACgCfCECIAAoAnggASgCCCIEENACIQUgAkGoAWpBDEEEEF0iACAENgIIIABBCDYCACAAIAU2AgQgAyACIAEgAEIAEMoCEHkgAUEANgIEIAEgASgCDCgCBEEBRjYCBAsPC0Hw7QVBxZgDQZQGQY3eABABAAscAEGAARBcIgBBAEGAAfwLACAAQcSqCDYCACAAC1EAIABBqAFqQRRBBBBdIgAgAzYCECAAIAI2AgwgACABNgIIIABC1AA3AgBBASEBIAAgAigCBEEBRwR/QQFBAiADKAIEQQFGGwVBAQs2AgQgAAuSAQIDfwF+IwBBIGsiBCQAQSQQXCIFQgA3AgAgBUEANgIgIAVCADcCGCAFQgA3AhAgBUIANwIIIAQgARBsNgIcIAQgATYCGCAEIAQpAhg3AwggBEEQaiAEQQhqEGUgBCkDECEHIAUgAq0gA61CIIaENwIcIAVBAToACCAFIAc3AgAgACAFEOUHIQYgBEEgaiQAIAYLPwAgACgCBEUEQEHo+gVBuosDQZwEQe7TAhABAAsgACACNgJ4IAAgATYCfCAAQRRqIAJBMGoQugYgAEIANwJ4C74iAQ5/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAIgIoAgAOXgABAgMEBQYHCAkKCwwNHh8gISIjJCU1Ng4PEBESExQVFhcYGRobHB03JicoKSorLC0uLzAxMjM0ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXABdC0GY/QNB5bMDQeoBEGIACyAAQRRqQeyiASABEFggAigCAEEBRw1cIAIoAhQiAUEATA1bIABBGGohAwNAIAFBAWsiACACKAIUTw1eIAIoAhAgAEECdGoiBCgCAEUNXyADQeuiASAEEFsgAUEBSyEGIAAhASAGDQALDFsLIABBFGoiA0HtogEgARBYIAIoAgBBAkcNWyACKAIQBEAgAEEYakHrogEgAkEQahBbCyADQeuiASACQQxqEFggA0HrogEgAkEIahBYDwsgAEEUaiIAQe6iASABEFggAigCAEEDRw1aDGALIABBFGpB76IBIAEQWCACKAIAQQRHDVkgAigCFARAIABBGGpB66IBIAJBFGoQWwsgAigCEEUNWCAAQRhqQeuiASACQRBqEFsPCyAAQRRqIgNB8KIBIAEQWCACKAIAQQVHDVggA0HrogEgAkEkahBYIAIoAiBFDVcgAEEYakHrogEgAkEgahBbDwsgAEEUakHxogEgARBYIAIoAgBBBkcNVyACKAIMIgFBAEwNViAAQRhqIQMDQCABQQFrIgAgAigCDE8NWSACKAIIIABBAnRqIgQoAgBFDVogA0HrogEgBBBbIAFBAUshByAAIQEgBw0ACwxWCyAAQRRqIgNB8qIBIAEQWCACKAIAQQdHDVYgA0HrogEgAkEcahBYIAIoAhAiAUEATA1VIABBGGohAwNAIAFBAWsiACACKAIQTw1YIAIoAgwgAEECdGoiBCgCAEUNWSADQeuiASAEEFsgAUEBSyEIIAAhASAIDQALDFULIABBFGpB86IBIAEQWCACKAIAQQhGDVQMVQsgAEEUaiIAQfSiASABEFggAigCAEEJRw1UDF0LIABBFGpB9aIBIAEQWCACKAIAQQpGDVIMUwsgAEEUaiIAQfaiASABEFggAigCAEELRw1SDFgLIABBFGoiAEH3ogEgARBYIAIoAgBBDEcNUQxcCyAAQRRqIgBB+KIBIAEQWCACKAIAQQ1HDVAMWgsgAEEUaiIAQfmiASABEFggAigCAEEYRw1PDFsLIABBFGoiAEH6ogEgARBYIAIoAgBBGUcNTiAAQeuiASACQSBqEFgMWgsgAEEUaiIAQfuiASABEFggAigCAEEaRw1NDFELIABBFGoiAEH8ogEgARBYIAIoAgBBG0cNTAxRCyAAQRRqQf2iASABEFggAigCAEEcRg1KDEsLIABBFGoiAEH+ogEgARBYIAIoAgBBHUcNSgxTCyAAQRRqIgBB/6IBIAEQWCACKAIAQR5HDUkgAEHrogEgAkEUahBYDFILIABBFGoiAEGAowEgARBYIAIoAgBBH0cNSAxXCyAAQRRqIgBBgaMBIAEQWCACKAIAQSBHDUcMTgsgAEEUaiIAQYKjASABEFggAigCAEEhRw1GDE4LIABBFGoiAEGDowEgARBYIAIoAgBBIkcNRSAAQeuiASACQSBqEFgPCyAAQRRqIgBBhKMBIAEQWCACKAIAQSNHDUQMTgsgAEEUaiIAQYWjASABEFggAigCAEEkRw1DDEcLIABBFGpBhqMBIAEQWCACKAIAQSVGDUEMQgsgAEEUaiIAQYejASABEFggAigCAEEmRw1BDE8LIABBFGoiAEGIowEgARBYIAIoAgBBJ0cNQAxOCyAAQRRqQYmjASABEFggAigCAEEORg0+DD8LIABBFGoiAEGKowEgARBYIAIoAgBBD0cNPgxHCyAAQRRqIgBBi6MBIAEQWCACKAIAQRBHDT0MRQsgAEEUaiIAQYyjASABEFggAigCAEERRw08DEoLIABBFGoiAEGNowEgARBYIAIoAgBBEkcNOwxLCyAAQRRqQY6jASABEFggAigCAEETRw06IAIoAghFDTkMSwsgAEEUakGPowEgARBYIAIoAgBBFEYNOAw5CyAAQRRqIgBBkKMBIAEQWCACKAIAQRVHDTgMSAsgAEEUakGRowEgARBYIAIoAgBBKUYNNgw3CyAAQRRqIgBBkqMBIAEQWCACKAIAQSpHDTYMRgsgAEEUakGTowEgARBYIAIoAgBBK0YNNAw1CyAAQRRqIgBBlKMBIAEQWCACKAIAQSxHDTQMQwsgAEEUaiIAQZWjASABEFggAigCAEEtRw0zDDkLIABBFGoiAEGWowEgARBYIAIoAgBBLkcNMgw3CyAAQRRqQZejASABEFggAigCAEEvRg0wDDELIABBFGoiAEGYowEgARBYIAIoAgBBMEcNMAw1CyAAQRRqIgBBmaMBIAEQWCACKAIAQTFHDS8MMwsgAEEUaiIAQZqjASABEFggAigCAEEyRw0uDDwLIABBFGoiA0GbowEgARBYIAIoAgBBM0cNLSACKAIoIgFBAEoEQCAAQRhqIQQDQCABQQFrIgAgAigCKE8NMCACKAIkIABBAnRqIgUoAgBFDTEgBEHrogEgBRBbIAFBAUshCSAAIQEgCQ0ACwsgA0HrogEgAkEQahBYDwsgAEEUaiIAQZyjASABEFggAigCAEE0RgRADD0LDCwLIABBFGpBnaMBIAEQWCACKAIAQTVHDSsgAigCFCIBQQBMDSogAEEYaiEDA0AgAUEBayIAIAIoAhRPDS0gAigCECAAQQJ0aiIEKAIARQ0uIANB66IBIAQQWyABQQFLIQogACEBIAoNAAsMKgsgAEEUakGeowEgARBYIAIoAgBBNkYNKQwqCyAAQRRqIgBBn6MBIAEQWCACKAIAQTdHDSkMOQsgAEEUakGgowEgARBYIAIoAgBBFkYNJwwoCyAAQRRqQaGjASABEFggAigCAEEXRg0mDCcLIABBFGpBoqMBIAEQWCACKAIAQShGDSUMJgsgAEEUakGjowEgARBYIAIoAgBBOEcNJSACKAIMIgFBAEwNJCAAQRhqIQMDQCABQQFrIgAgAigCDE8NJyACKAIIIABBAnRqIgQoAgBFDSggA0HrogEgBBBbIAFBAUshCyAAIQEgCw0ACwwkCyAAQRRqIgBBpKMBIAEQWCACKAIAQTlHDSQMNAsgAEEUaiIAQaWjASABEFggAigCAEE6Rw0jDDMLIABBFGoiAEGmowEgARBYIAIoAgBBO0cNIgwyCyAAQRRqIgNBp6MBIAEQWCACKAIAQTxHDSEgA0HrogEgAkEYahBYIAIoAgwiAUEATA0gIABBGGohAwNAIAFBAWsiACACKAIMTw0jIAIoAgggAEECdGoiBCgCAEUNJCADQeuiASAEEFsgAUEBSyEMIAAhASAMDQALDCALIABBFGoiAEGoowEgARBYIAIoAgBBPUcNIAwwCyAAQRRqIgBBqaMBIAEQWCACKAIAQT5HDR8MLwsgAEEUaiIAQaqjASABEFggAigCAEE/Rw0eIABB66IBIAJBFGoQWA8LIABBFGpBq6MBIAEQWCACKAIAQcAARw0dIAIoAgwiAUEATA0cIABBGGohAwNAIAFBAWsiACACKAIMTw0fIAIoAgggAEECdGoiBCgCAEUNICADQeuiASAEEFsgAUEBSyENIAAhASANDQALDBwLIABBFGoiAEGsowEgARBYIAIoAgBBwQBHDRwMJQsgAEEUaiIAQa2jASABEFggAigCAEHCAEcNGwwjCyAAQRRqIgNBrqMBIAEQWCACKAIAQcMARw0aIANB66IBIAJBDGoQWCACKAIIRQ0ZDCsLIABBFGoiAEGvowEgARBYIAIoAgBBxABHDRkMHgsgAEEUaiIAQbCjASABEFggAigCAEHFAEcNGAwdCyAAQRRqQbGjASABEFggAigCAEHGAEcNFyACKAIMIgFBAEwNFiAAQRhqIQMDQCABQQFrIgAgAigCDE8NGSACKAIIIABBAnRqIgQoAgBFDRogA0HrogEgBBBbIAFBAUshDiAAIQEgDg0ACwwWCyAAQRRqIgBBsqMBIAEQWCACKAIAQccARw0WDCULIABBFGoiAEGzowEgARBYIAIoAgBByABHDRUMIwsgAEEUaiIAQbSjASABEFggAigCAEHJAEcNFAwkCyAAQRRqIgBBtaMBIAEQWCACKAIAQcoARw0TIABB66IBIAJBGGoQWAwgCyAAQRRqIgBBtqMBIAEQWCACKAIAQcsARw0SDB8LIABBFGoiAEG3owEgARBYIAIoAgBBzABHDREMFAsgAEEUaiIAQbijASABEFggAigCAEHNAEcNEAwTCyAAQRRqIgBBuaMBIAEQWCACKAIAQc4ARw0PDBgLIABBFGoiA0G6owEgARBYIAIoAgBBzwBHDQ4gAigCGARAIABBGGpB66IBIAJBGGoQWwsgAigCFARAIABBGGpB66IBIAJBFGoQWwsgAigCEARAIABBGGpB66IBIAJBEGoQWwsMIAsgAEEUakG7owEgARBYIAIoAgBB0ABGDQwMDQsgAEEUaiIAQbyjASABEFggAigCAEHRAEcNDAwVCyAAQRRqIgNBvaMBIAEQWCACKAIAQdIARw0LIAIoAhQEQCAAQRhqQeuiASACQRRqEFsLIANB66IBIAJBEGoQWAwdCyAAQRRqIgBBvqMBIAEQWCACKAIAQdMARw0KDBkLIABBFGoiAEG/owEgARBYIAIoAgBB1ABHDQkMEQsgAEEUaiIAQcCjASABEFggAigCAEHVAEcNCAwRCyAAQRRqIgBBwaMBIAEQWCACKAIAQdYARw0HDBULIABBFGoiAEHCowEgARBYIAIoAgBB1wBHDQYMFQsgAEEUaiIAQcOjASABEFggAigCAEHYAEcNBQwVCyAAQRRqIgBBxKMBIAEQWCACKAIAQdkARw0EDAwLIABBFGoiAEHFowEgARBYIAIoAgBB2gBHDQMMCgsgAEEUaiIAQcajASABEFggAigCAEHbAEcNAgwRCyAAQRRqIgNBx6MBIAEQWCACKAIAQdwARw0BIANB66IBIAJBPGoQWCACKAIwIgFBAEwNACAAQRhqIQMDQCABQQFrIgAgAigCME8NAyACKAIsIABBAnRqIgQoAgBFDQQgA0HrogEgBBBbIAFBAUshDyAAIQEgDw0ACwsPC0Hw7QVBxZgDQZQGQY3eABABAAtBxaIBQYmiA0G8AUGmiAUQAQALQYGDAkHTmQNBuQJBrvcCEAEACyAAQeuiASACQRxqEFgLIABB66IBIAJBGGoQWAsgAEHrogEgAkEUahBYCyAAQeuiASACQRBqEFgPCyAAQeuiASACQRRqEFgLIABB66IBIAJBEGoQWAsgAEHrogEgAkEMahBYDwsgAEHrogEgAkEoahBYCyAAQeuiASACQSRqEFgPCyAAQeuiASACQRxqEFggAEHrogEgAkEYahBYDwsgAEHrogEgAkEUahBYCyAAQeuiASACQRBqEFgLIABB66IBIAJBDGoQWAsgAEHrogEgAkEIahBYDwsgAEEYakHrogEgAkEIahBbDwsgA0HrogEgAkEMahBYC/IPARh/IwBBsAJrIgMkAAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCBARAIAAgACgCACgCEBECAARAIAMgACgCBCICKQI4NwP4ASADIAIpAjA3A/ABIAMgAikCKDcD6AEgAyACKQIgNwPgASADIAIpAhg3A9gBIANBgAJqIAJBQGsQ4wEhBEHUiQtBADYCAEGaASADQZQCaiACQdQAahACIQVB1IkLKAIAIRFB1IkLQQA2AgAgEUEBRg0CIAMgAigCaDYCqAIgAyACKAJsIgI2AqwCIAIEQCACIAIoAgRBAWo2AgQLIANBASADKALgASICIAJBAEobNgLgASADIAMpA+gBNwMYIAMgAykD8AE3AyAgAyADKQP4ATcDKCADIAMpA+ABNwMQIANBASADKALcASICIAJBAEobNgLcAUHUiQtBADYCACADIAMpA9gBNwMIQZsBIANBMGogBBACIQRB1IkLKAIAIQJB1IkLQQA2AgACQCACQQFHBEBB1IkLQQA2AgBBmgEgA0HEAGogBRACIQVB1IkLKAIAIRJB1IkLQQA2AgAgEkEBRg0FIAMgAygCrAIiAjYCXCADIAMoAqgCNgJYIAIEQCACIAIoAgRBAWo2AgQLIANBADYCeCADIAMpAxA3AoQBIAMgAykDGDcCjAEgAyADKQMgNwKUASADIAMpAyg3ApwBIANCADcCcCADQfzsCTYCZCADIAMpAwg3AnxB1IkLQQA2AgAgAyABNgJoIAMgAUGoAWo2AmxBmwEgA0GkAWog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IABBGGpBsKEBIAEQWwsgACEDAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAIgIoAgAOXgABAgMEBQYHCAkKCwwNHh8gISIjJCU1Ng4PEBESExQVFhcYGRobHB03JicoKSorLC0uLzAxMjM0ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXABvC0GY/QNB5bMDQeoBEGIACyADQRRqQbKhASABEFggAigCAEEBRw1bIAIoAhQiAEEATA1tIANBGGohBgNAIABBAWsiBSACKAIUTw1dIAIoAhAgBUECdGoiBCgCAEUNbyAGQa6hASAEEFsgAEEBSyEJIAUhACAJDQALDG0LIANBFGoiAEGzoQEgARBYIAIoAgBBAkcNWiACKAIQBEAgA0EYakGuoQEgAkEQahBbCyAAQa6hASACQQxqEFggAEGuoQEgAkEIahBYDGwLIANBFGoiAEG0oQEgARBYIAIoAgBBA0cNWQxeCyADQRRqQbWhASABEFggAigCAEEERw1YIAIoAhQEQCADQRhqQa6hASACQRRqEFsLIAIoAhBFDWogA0EYakGuoQEgAkEQahBbDGoLIANBFGoiAEG2oQEgARBYIAIoAgBBBUcNVyAAQa6hASACQSRqEFggAigCIEUNaSADQRhqQa6hASACQSBqEFsMaQsgA0EUakG3oQEgARBYIAIoAgBBBkcNViACKAIMIgBBAEwNaCADQRhqIQYDQCAAQQFrIgUgAigCDE8NWCACKAIIIAVBAnRqIgQoAgBFDWogBkGuoQEgBBBbIABBAUshCiAFIQAgCg0ACwxoCyADQRRqIgBBuKEBIAEQWCACKAIAQQdHDVUgAEGuoQEgAkEcahBYIAIoAhAiAEEATA1nIANBGGohBgNAIABBAWsiBSACKAIQTw1X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ATYCECADQfjrCTYCDEHUiQtBADYCAEEEQdgAEAYhAUHUiQsoAgAhD0HUiQtBADYCACAPQQFGDQMgAUIANwIYIAFCADcCOCABQgA3AiggAUIANwIgIAFCgICAgICAgMA/NwIwIAFBQGtCADcCACABQgA3AlAgAUKAgID8AzcCSCADQgA3AiAgA0EANgI0IAMgA0EsaiIENgIwIANBgICA/AM2AiggA0IANwIYIAMgATYCFCAEIAQ2AgAgAyAANgI4IANB+KgINgIMQdSJC0EANgIAQc3BACADQYwBaiADQQxqEANB1IkLKAIAIRBB1IkLQQA2AgAgEEEBRw0BEAAhAgwGCxAAIQIMCQtB1IkLQQA2AgBBkBogA0EMaiADQYwBahADQdSJCygCACERQdSJC0EANgIAIBFBAUYNAyADKAKUASICBEADQCACKAIAIRIgAhBaIBIiAg0ACwsgAygCjAEhACADQQA2AowBIAAEQCAAEFoLIANB+OsJNgIMAkAgAygCNEUNACADKAIwIgIoAgAiACADKAIsKAIEIgE2AgQgASAANgIAIANBADYCNCACIARGDQADQCACKAIEIRMgAhBaIBMiAiAERw0ACwsgAygCICICBEADQCACKAIAIRQgAhBaIBQiAg0ACwsgAygCGCEAIANBADYCGCAABEAgABBaCyADKAIUIQAgA0EANgIUIAAEQCAAEJEDCyAFBEAgBRBaCyADLQCIAUUNACADKAJ8IgIEQANAIAIoAgAhFSACKAIMIgEEQCACIAE2AhAgARBaCyACEFogFSICDQALCyADKAJ0IQAgA0EANgJ0IAAEQCAAEFoLIAMoAmgiAEUNACADIAA2AmwgABBaCyADQaABaiQADwsQACECDAMLEAAhAgwCCxAAIQIgA0GMAWoQogELIANBDGoQvAUaCyAFRQ0CIAUQWgwCCxAAIQIMAQsQACECIAMoAgwiAEUNACAAEFoLIANB6ABqEKYNIAIQBwALYQEDfyAAQcioCDYCACAAKAIgIgIEQANAIAIoAgAhAyACEFogAyICDQALCyAAKAIYIQEgAEEANgIYIAEEQCABEFoLIABBkO0JNgIAIAAsABNBAEgEQCAAKAIIEFoLIAAQWgtfAQN/IABByKgINgIAIAAoAiAiAgRAA0AgAigCACEDIAIQWiADIgINAAsLIAAoAhghASAAQQA2AhggAQRAIAEQWgsgAEGQ7Qk2AgAgACwAE0EASARAIAAoAggQWgsgAAtZACABKAIAIgEoAgBBOUYEQAJAAkAgASgCCCIBKAIAQQhrDgIAAAELIAAoAowBIAEoAghBAnRqIgAgACgCAEEBajYCAAsPC0Hw7QVBxZgDQZQGQY3eABABAAvJAwEEfyMAQRBrIgUkACABKAIAIgEoAgBBCUYEQAJAIAAoAnggASgCCBDQAiIDQQdJDQAgAygCBA0AIAAoAoABIAEoAghBAnRqIgMgAygCAEECQQEgASgCBBtqNgIAAkACQAJAIAEoAgwiAygCACICQQhrDgIBAAILAkACQCADKAIEDgIABAELQZqbBkG4ngJB/wBBw4QBEAEACyAAKAKMASICIAMoAghBAnRqIgQgBCgCAEEBajYCACACIAEoAghBAnRqIgIgAigCAEEBajYCACAFQQhqIgQgACgCmAEgAygCCEEUbGogASgCCCICIAIQhgYgBCAAKAKYASABKAIIQRRsaiADKAIIIgAgABCGBgwCCyAAKAKMASICIAMoAghBAnRqIgQgBCgCAEEBajYCACACIAEoAghBAnRqIgIgAigCAEEBajYCACAFQQhqIgQgACgCmAEgAygCCEEUbGogASgCCCICIAIQhgYgBCAAKAKYASABKAIIQRRsaiADKAIIIgAgABCGBgwBCyACQThHDQAgACgCjAEgASgCCEECdGoiACAAKAIAQQFqNgIACyAFQRBqJAAPC0Hw7QVBxZgDQZQGQY3eABABAAtZAQF/IAEoAgAiASgCAEEIRgRAAkAgASgCBCICQQdJDQAgAigCBA0AIAAoAoABIAEoAghBAnRqIgAgACgCAEEBajYCAAsPC0Hw7QVBxZgDQZQGQY3eABABAAv9AwEGfwJAAkAgASgCACIHKAIAQTlGBEAgBygCCCEFIAAoAnQiA0UNASAFQZXTx94FbCIBQRh2IAFzQZXTx94FbEHUzJ76BnMiAUENdiABc0GV08feBWwiAUEPdiABcyECIAAoAnACfyACIANBAWtxIANpIgRBAU0NABogAiACIANJDQAaIAIgA3ALIgZBAnRqKAIAIgFFDQEgASgCACIBRQ0BAkAgBEEBTQRAIANBAWshAwNAAkAgAiABKAIEIgRHBEAgAyAEcSAGRw0GDAELIAEoAggg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DV8gBEHunwEgAxBbIAFBAUshBiAAIQEgBg0ACwxbCyAAQcygASABEFggAigCAEECRw1bIAIoAhAEQCAAQQRqQe6fASACQRBqEFsLDGALIABBzaABIAEQWCACKAIAQQNHDVoMYwsgAEHOoAEgARBYIAIoAgBBBEcNWSACKAIUBEAgAEEEakHunwEgAkEUahBbCyACKAIQRQ1YIABBBGpB7p8BIAJBEGoQWw8LIABBz6ABIAEQWCACKAIAQQVHDVggAEHunwEgAkEkahBYIAIoAiBFDVcgAEEEakHunwEgAkEgahBbDwsgAEHQoAEgARBYIAIoAgBBBkcNVyACKAIMIgFBAEwNViAAQQRqIQQDQCABQQFrIgAgAigCDE8NWSACKAIIIABBAnRqIgMoAgBFDVogBEHunwEgAxBbIAFBAUshByAAIQEgBw0ACwxWCyAAQdGgASABEFggAigCAEEHRw1WIABB7p8BIAJBHGoQWCACKAIQIgFBAEwNVSAAQQRqIQQDQCABQQFrIgAgAigCEE8NWCACKAIMIABBAnRqIgMoAgBFDVkgBEHunwEgAxBbIAFBAUshCCAAIQEgCA0ACwxVCyAAQdKgASABEFggAigCAEEIRg1UDFULIABB06ABIAEQWCACKAIAQQlHDVQMYAsgAEHUoAEgARBYIAIoAgBBCkYNUgxTCyAAQdWgASABEFggAigCAEELRw1SDFsLIABB1qABIAEQWCACKAIAQQxHDVEMXwsgAEHXoAEgARBYIAIoAgBBDUcNUAxdCyAAQdigASABEFggAigCAEEYRw1PDF4LIABB2aABIAEQWCACKAIAQRlHDU4gAEHunwEgAkEgahBYDF0LIABB2qABIAEQWCACKAIAQRpHDU0MVAsgAEHboAEgARBYIAIoAgBBG0cNTAxUCyAAQdygASABEFggAigCAEEcRg1KDEsLIABB3aABIAEQWCACKAIAQR1HDUoMVgsgAEHeoAEgARBYIAIoAgBBHkcNSSAAQe6fASACQRRqEFgMVQsgAEHfoAEgARBYIAIoAgBBH0cNSAxNCyAAQeCgASABEFggAigCAEEgRw1HDFELIABB4aABIAEQWCACKAIAQSFHDUYMUQsgAEHioAEgARBYIAIoAgBBIkcNRSAAQe6fASACQSBqEFgPCyAAQeOgASABEFggAigCAEEjRw1EDFELIABB5KABIAEQWCACKAIAQSRHDUMMSgsgAEHloAEgARBYIAIoAgBBJUYNQQxCCyAAQeagASABEFggAigCAEEmRw1BDEULIABB56ABIAEQWCACKAIAQSdHDUAMRAsgAEHooAEgARBYIAIoAgBBDkYNPgw/CyAAQemgASABEFggAigCAEEPRw0+DEoLIABB6qABIAEQWCACKAIAQRBHDT0MSAsgAEHroAEgARBYIAIoAgBBEUcNPAxACyAAQeygASABEFggAigCAEESRw07DEsLIABB7aABIAEQWCACKAIAQRNHDTogAigCCEUNOQxLCyAAQe6gASABEFggAigCAEEURg04DDkLIABB76ABIAEQWCACKAIAQRVHDTgMSAsgAEHwoAEgARBYIAIoAgBBKUYNNgw3CyAAQfGgASABEFggAigCAEEqRw02DEYLIABB8qABIAEQWCACKAIAQStGDTQMNQsgAEHzoAEgARBYIAIoAgBBLEcNNAw5CyAAQfSgASABEFggAigCAEEtRw0zDDwLIABB9aABIAEQWCACKAIAQS5HDTIMOgsgAEH2oAEgARBYIAIoAgBBL0YNMAwxCyAAQfegASABEFggAigCAEEwRw0wDDgLIABB+KABIAEQWCACKAIAQTFHDS8MNgsgAEH5oAEgARBYIAIoAgBBMkcNLgwyCyAAQfqgASABEFggAigCAEEzRw0tIAIoAigiAUEASgRAIABBBGohAwNAIAFBAWsiBCACKAIoTw0wIAIoAiQgBEECdGoiBSgCAEUNMSADQe6fASAFEFsgAUEBSyEJIAQhASAJDQALCww2CyAAQfugASABEFggAigCAEE0RgRADD0LDCwLIABB/KABIAEQWCACKAIAQTVHDSsgAigCFCIBQQBMDSogAEEEaiEEA0AgAUEBayIAIAIoAhRPDS0gAigCECAAQQJ0aiIDKAIARQ0uIARB7p8BIAMQWyABQQFLIQogACEBIAoNAAsMKgsgAEH9oAEgARBYIAIoAgBBNkYNKQwqCyAAQf6gASABEFggAigCAEE3Rw0pDDkLIABB/6ABIAEQWCACKAIAQRZGDScMKAsgAEGAoQEgARBYIAIoAgBBF0YNJgwnCyAAQYGhASABEFggAigCAEEoRg0lDCYLIABBgqEBIAEQWCACKAIAQThHDSUgAigCDCIBQQBMDSQg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QgA3ApgBIABBADYCoAEgAAs5ACAAKAIERQRAQej6BUG6iwNBnARB7tMCEAEACyAAIAI2AnggACABNgJ8IAAgAhDaDCAAQgA3AngLviIBDn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEoAgAiAigCAA5eAAECAwQFBgcICQoLDA0eHyAhIiMkJTU2Dg8QERITFBUWFxgZGhscHTcmJygpKissLS4vMDEyMzQ4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcAF0LQZj9A0HlswNB6gEQYgALIABBFGpB758BIAEQWCACKAIAQQFHDVwgAigCFCIBQQBMDVsgAEEYaiEDA0AgAUEBayIAIAIoAhRPDV4gAigCECAAQQJ0aiIEKAIARQ1fIANB7J8BIAQQWyABQQFLIQYgACEBIAYNAAsMWwsgAEEUaiIDQfCfASABEFggAigCAEECRw1bIAIoAhAEQCAAQRhqQeyfASACQRBqEFsLIANB7J8BIAJBDGoQWCADQeyfASACQQhqEFgPCyAAQRRqIgBB8Z8BIAEQWCACKAIAQQNHDVoMYAsgAEEUakHynwEgARBYIAIoAgBBBEcNWSACKAIUBEAgAEEYakHsnwEgAkEUahBbCyACKAIQRQ1YIABBGGpB7J8BIAJBEGoQWw8LIABBFGoiA0HznwEgARBYIAIoAgBBBUcNWCADQeyfASACQSRqEFggAigCIEUNVyAAQRhqQeyfASACQSBqEFsPCyAAQRRqQfSfASABEFggAigCAEEGRw1XIAIoAgwiAUEATA1WIABBGGohAwNAIAFBAWsiACACKAIMTw1ZIAIoAgggAEECdGoiBCgCAEUNWiADQeyfASAEEFsgAUEBSyEHIAAhASAHDQALDFYLIABBFGoiA0H1nwEgARBYIAIoAgBBB0cNViADQeyfASACQRxqEFggAigCECIBQQBMDVUgAEEYaiEDA0AgAUEBayIAIAIoAhBPDVggAigCDCAAQQJ0aiIEKAIARQ1ZIANB7J8BIAQQWyABQQFLIQggACEBIAgNAAsMVQsgAEEUakH2nwEgARBYIAIoAgBBCEYNVAxVCyAAQRRqIgBB958BIAEQWCACKAIAQQlHDVQMXQsgAEEUakH4nwEgARBYIAIoAgBBCkYNUgxTCyAAQRRqIgBB+Z8BIAEQWCACKAIAQQtHDVIMWAsgAEEUaiIAQfqfASABEFggAigCAEEMRw1RDFwLIABBFGoiAEH7nwEgARBYIAIoAgBBDUcNUAxaCyAAQRRqIgBB/J8BIAEQWCACKAIAQRhHDU8MWwsgAEEUaiIAQf2fASABEFggAigCAEEZRw1OIABB7J8BIAJBIGoQWAxaCyAAQRRqIgBB/p8BIAEQWCACKAIAQRpHDU0MUQsgAEEUaiIAQf+fASABEFggAigCAEEbRw1MDFELIABBFGpBgKABIAEQWCACKAIAQRxGDUoMSwsgAEEUaiIAQYGgASABEFggAigCAEEdRw1KDFMLIABBFGoiAEGCoAEgARBYIAIoAgBBHkcNSSAAQeyfASACQRRqEFgMUgsgAEEUaiIAQYOgASABEFggAigCAEEfRw1IDFcLIABBFGoiAEGEoAEgARBYIAIoAgBBIEcNRwxOCyAAQRRqIgBBhaABIAEQWCACKAIAQSFHDUYMTgsgAEEUaiIAQYagASABEFggAigCAEEiRw1FIABB7J8BIAJBIGoQWA8LIABBFGoiAEGHoAEgARBYIAIoAgBBI0cNRAxOCyAAQRRqIgBBiKABIAEQWCACKAIAQSRHDUMMRwsgAEEUakGJoAEgARBYIAIoAgBBJUYNQQxCCyAAQRRqIgBBiqABIAEQWCACKAIAQSZHDUEMTwsgAEEUaiIAQYugASABEFggAigCAEEnRw1ADE4LIABBFGpBjKABIAEQWCACKAIAQQ5GDT4MPwsgAEEUaiIAQY2gASABEFggAigCAEEPRw0+DEcLIABBFGoiAEGOoAEgARBYIAIoAgBBEEcNPQxFCyAAQRRqIgBBj6ABIAEQWCACKAIAQRFHDTwMSgsgAEEUaiIAQZCgASABEFggAigCAEESRw07DEsLIABBFGpBkaABIAEQWCACKAIAQRNHDTogAigCCEUNOQxLCyAAQRRqQZKgASABEFggAigCAEEURg04DDkLIABBFGoiAEGToAEgARBYIAIoAgBBFUcNOAxICyAAQRRqQZSgASABEFggAigCAEEpRg02DDcLIABBFGoiAEGVoAEgARBYIAIoAgBBKkcNNgxGCyAAQRRqQZagASABEFggAigCAEErRg00DDULIABBFGoiAEGXoAEgARBYIAIoAgBBLEcNNAxDCyAAQRRqIgBBmKABIAEQWCACKAIAQS1HDTMMOQsgAEEUaiIAQZmgASABEFggAigCAEEuRw0yDDcLIABBFGpBmqABIAEQWCACKAIAQS9GDTAMMQsgAEEUaiIAQZugASABEFggAigCAEEwRw0wDDULIABBFGoiAEGcoAEgARBYIAIoAgBBMUcNLwwzCyAAQRRqIgBBnaABIAEQWCACKAIAQTJHDS4MPAsgAEEUaiIDQZ6gASABEFggAigCAEEzRw0tIAIoAigiAUEASgRAIABBGGohBANAIAFBAWsiACACKAIoTw0wIAIoAiQgAEECdGoiBSgCAEUNMSAEQeyfASAFEFsgAUEBSyEJIAAhASAJDQALCyADQeyfASACQRBqEFgPCyAAQRRqIgBBn6ABIAEQWCACKAIAQTRGBEAMPQsMLAsgAEEUakGgoAEgARBYIAIoAgBBNUcNKyACKAIUIgFBAEwNKiAAQRhqIQMDQCABQQFrIgAgAigCFE8NLSACKAIQIABBAnRqIgQoAgBFDS4gA0HsnwEgBBBbIAFBAUshCiAAIQEgCg0ACwwqCyAAQRRqQaGgASABEFggAigCAEE2Rg0pDCoLIABBFGoiAEGioAEgARBYIAIoAgBBN0cNKQw5CyAAQRRqQaOgASABEFggAigCAEEWRg0nDCgLIABBFGpBpKABIAEQWCACKAIAQRdGDSYMJwsgAEEUakGloAEgARBYIAIoAgBBKEYNJQwmCyAAQRRqQaagASABEFggAigCAEE4Rw0lIAIoAgwiAUEATA0kIABBGGohAwNAIAFBAWsiACACKAIMTw0nIAIoAgggAEECdGoiBCgCAEUNKCADQeyfASAEEFsgAUEBSyELIAAhASALDQALDCQLIABBFGoiAEGnoAEgARBYIAIoAgBBOUcNJAw0CyAAQRRqIgBBqKABIAEQWCACKAIA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A+gBIAMgAikCIDcD4AEgAyACKQIYNwPYASADQYACaiACQUBrEOMBIQRB1IkLQQA2AgBBmgEgA0GUAmogAkHUAGoQAiEFQdSJCygCACERQdSJC0EANgIAIBFBAUYNAiADIAIoAmg2AqgCIAMgAigCbCICNgKsAiACBEAgAiACKAIEQQFqNgIECyADQQEgAygC4AEiAiACQQBKGzYC4AEgAyADKQPoATcDGCADIAMpA/ABNwMgIAMgAykD+AE3AyggAyADKQPgATcDECADQQEgAygC3AEiAiACQQBKGzYC3AFB1IkLQQA2AgAgAyADKQPYATcDCEGbASADQTBqIAQQAiEEQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBxABqIAUQAiEFQdSJCygCACESQdSJC0EANgIAIBJBAUYNBSADIAMoAqwCIgI2AlwgAyADKAKoAjYCWCACBEAgAiACKAIEQQFqNgIECyADQQA2AnggAyADKQMQNwKEASADIAMpAxg3AowBIAMgAykDIDcClAEgAyADKQMoNwKcASADQgA3AnAgA0H87Ak2AmQgAyADKQMINwJ8QdSJC0EANgIAIAMgATYCaCADIAFBqAFqNgJsQZsBIANBpAFqIAQQAiEBQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBuAFqIAUQAhpB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRwRAIAMgAygCWDYCzAEgAyADKAJcIgE2AtABIAEEQCABIAEoAgRBAWo2AgQLIANBADsB1AEgA0EIahBhIANBAToA1AEgACgCACgCFCEUQdSJC0EANgIAIBQgABAGIQBB1IkLKAIAIRVB1IkLQQA2AgAgFUEBRg0EIAMoAmQoAgghFkHUiQtBADYCACAWIANB5ABqIgEgABADQdSJCygCACEXQdSJC0EANgIAIBdBAUYNBEHUiQtBADYCAEGXASABEApB1IkLKAIAIRhB1IkLQQA2AgAgGEEBRg0EIANB/OwJNgJkIANB/ABqEGEgAygCcCIBBEAgAygCdCIAIAEiAkcEQANAIABBBGsiACgCACECIABBADYCACACBEAgAiACKAIAKAIEEQEACyAAIAFHDQALIAMoAnAhAgsgAyABNgJ0IAIQWgsgA0HYAWoQ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CCACQQR0IgkQXCIEaiICQQI2AgAgBCAKQQR0aiAHNgIIIAJBEGohCCABIAZHBEADQCACQRBrIgIgAUEQayIBKQIANwIAIAIgASkABTcABSABIAZHDQALCyADIAQgCWo2AiAgAyAINgIcIAMgAjYCGCAGRQ0AIAYQWgsgBUEIaiAAQdwCaiAHIAVBBGoQ0wkgBSgCCCAHNgIMCyAFQRBqJAAPC0Hw7QVBxZgDQZQGQY3eABABAAsQZAALEGoAC/EFAQl/IwBBEGsiBSQAIAAoAqABIQZBPBBcIgFCADcCACABQQA2AjggAUIANwIwIAFCADcCKCABQgA3AiAgAUIANwIYIAFCADcCECABQgA3AgggACABNgKgASAFIAE2AgwCQAJAAkACQAJAAkAgACgCjAEiAiAAKAKQAUkEQCACIAE2AgAgACACQQRqNgKMAQwBC0HUiQtBADYCAEG5nQEgAEGIAWogBUEMahADQdSJCygCACEJQdSJC0EANgIAIAlBAUYNASAFKAIMIgFFDQAgARC/AgsgACgCmAEiASAAKAKcAUYNASABIAAoAqABNgIAIAAgAUEEajYCmAEMAgsQACEKIAUoAgwiAQRAIAEQvwILIAoQBwALIAEgACgClAEiB2siAkECdSIEQQFqIgNBgICAgARPDQFB/////wMgAkEBdSIIIAMgAyAISRsgAkH8////B08bIgMEfyADQYCAgIAETw0DIANBAnQQXAVBAAsiCCAEQQJ0aiICIAAoAqABNgIAIAJBBGohBCABIAdHBEADQCACQQRrIgIgAUEEayIBKAIANgIAIAEgB0cNAAsgACgClAEhAQsgACAIIANBAnRqNgKcASAAIAQ2ApgBIAAgAjYClAEgAUUNACABEFoLIAYgACgCoAEQqwICQCAAKALAASIBIAAoAsQBRwRAIAEgACgCoAE2AgAgACABQQRqNgLAAQwBCyABIAAoArwBIgdrIgJBAnUiBkEBaiIDQYCAgIAETw0BQf////8DIAJBAXUiBCADIAMgBEkbIAJB/P///wdPGyIDBH8gA0GAgICABE8NAyADQQJ0EFwFQQALIgQgBkECdGoiAiAAKAKgATYCACACQQRqIQYgASAHRwRAA0AgAkEEayICIAFBBGsiASgCADYCACABIAdHDQALIAAoArwBIQELIAAgBCADQQJ0ajYCxAEgACAGNgLAASAAIAI2ArwBIAFFDQAgARBaCyAFQRBqJAAPCxBkAAsQagAL8wcCFH8BfiMAQSBrIgIkACABKAIAIQlB1IkLQQA2AgAgAiACQRBqIgo2AgwgAkIANwIQQc8dIAkgAkEMahADQdSJCygCACENQdSJC0EANgIAIA1BAUYEQBAAIQ4gAigCEBBgIA4QBwALAkACQAJAIAogAigCDCIERwRAIABBpAFqIQwDQCACIAQpAhAiFjcDAEHUiQtBADYCAEHQnQEgAkEYaiAMIBYgAhDCAkHUiQsoAgAhD0HUiQtBADYCACAPQQFGDQICQCACKAIYIgUoAhwiASAFKAIgRwRAIAEgACgCoAE2AgAgBSABQQRqNgIcDAELAkACQAJAIAEgBSgCGCILayIDQQJ1IghBAWoiBkGAgICABE8EQEHUiQtBADYCAEHRnQEQCUHUiQsoAgAhEEHUiQtBADYCACAQQQFGDQEMCQtB/////wMgA0EBdSIHIAYgBiAHSRsgA0H8////B08bIgZFBEBBACEHDAMLIAZBgICAgARJDQFB1IkLQQA2AgBBAxAJQdSJCygCACERQdSJC0EANgIAIBFBAUcNCAsQACEBDAYLQdSJC0EANgIAQQQgBkECdBAGIQdB1IkLKAIAIRJB1IkLQQA2AgAgEkEBRg0ECyAHIAhBAnRqIgMgACgCoAE2AgAgA0EEaiEIIAEgC0cEQANAIANBBGsiAyABQQRrIgEoAgA2AgAgASALRw0ACyAFKAIYIQELIAUgByAGQQJ0ajYCICAFIAg2AhwgBSADNgIYIAFFDQAgARBaCwJAIAQoAgQiAwRAA0AgAyIBKAIAIgMNAAwCCwALA0AgBCgCCCIBKAIAIARHIRMgASEEIBMNAAsLIAogASIERw0ACwsCQCAJKAIEQQFHBEAgACgCoAEhA0HUiQtBADYCAEEEQTwQBiEBQdSJCygCACEEQdSJC0EANgIAAkAgBEEBRwRAIAFCADcCACABQQA2AjggAUIANwIwIAFCADcCKCABQgA3AiAgAUIANwIYIAFCADcCECABQgA3AgggACABNgKgASACIAE2AhgCQCAAKAKMASIEIAAoApABSQRAIAQgATYCACAAIARBBGo2AowBDAELQdSJC0EANgIAQbmdASAAQYgBaiACQRhqEANB1IkLKAIAIRRB1IkLQQA2AgAgFEEBRg0CIAIoAhgiAUUNACABEL8CCyAAKAKgASEAQdSJC0EANgIAQdKdASADIAAQA0HUiQsoAgAhFUHUiQtBADYCACAVQQFHDQMLEAAhAQwECxAAIQEgAigCGCIARQ0DIAAQvwIMAwsgAEEANgKgAQsgAigCEBBgIAJBIGokAA8LEAAhAQsgAigCEBBgIAEQBwALAAvICgERfyMAQRBrIgkkAAJAAkACQAJAAkACQCAAKALMASICIAAoAtABRwRAIAIgACgCoAE2AgAgACACQQRqNgLMAQwBCyACIAAoAsgBIgVrIgNBAnUiBkEBaiIEQYCAgIAETw0BQf////8DIANBAXUiByAEIAQgB0kbIANB/P///wdPGyIEBH8gBEGAgICABE8NBSAEQQJ0EFwFQQALIgcgBkECdGoiAyAAKAKgATYCACADQQRqIQYgAiAFRwRAA0AgA0EEayIDIAJBBGsiAigCADYCACACIAVHDQALIAAoAsgBIQILIAAgByAEQQJ0ajYC0AEgACAGNgLMASAAIAM2AsgBIAJFDQAgAhBaCyABKAIAIgwoAgBBM0cNASAAKAKgASEOAkAgACgC8AEiASAAKAL0AUkEQCABQQA2AgggAUIANwIAIAAgAUEMaiIFNgLwAQwBCyAAQewBahCeByAAKALwASEFCyAFQQxrIQYgDCgCKEUNAiAFQQRrIQ0gBUEIayEHIABBiAFqIQ9BACEEA0BBPBBcIgFCADcCACABQQA2AjggAUIANwIwIAFCADcCKCABQgA3AiAgAUIANwIYIAFCADcCECABQgA3AgggACABNgKgASAJIAE2AgwCQAJAAkACQCAAKAKMASIDIAAoApABSQRAIAMgATYCACAAIANBBGo2AowBDAELQdSJC0EANgIAQbmdASAPIAlBDGoQA0HUiQsoAgAhEUHUiQtBADYCACARQQFGDQEgCSgCDCIBRQ0AIAEQvwILIAAoAqABIQogBygCACICIA0oAgAiCE8NASACIAo2AgAgByACQQRqNgIADAILEAAhEiAJKAIMIgEEQCABEL8CCyASEAcACyACIAYoAgAiAWtBAnUiEEEBaiIDQYCAgIAETw0CQf////8DIAggAWsiCEEBdSILIAMgAyALSRsgCEH8////B08bIggEfyAIQYCAgIAETw0GIAhBAnQQXAVBAAsiCyAQQQJ0aiIDIAo2AgAgA0EEaiEKIAEgAkcEQANAIANBBGsiAyACQQRrIgIoAgA2AgAgASACRw0ACyAGKAIAIQILIAYgAzYCACAHIAo2AgAgDSALIAhBAnRqNgIAIAJFDQAgAhBaCyAEQQFqIgQgDCgCKEkNAAsMAgsQZAALQfDtBUHFmANBlAZBjd4AEAEACyAAIA42AqABIAAoAtgBIgJBDGsiASgCACIEIAEoAgQiB0cEQCAFQQhrIgUoAgAhASAGKAIAIQMDQAJAIAEgA0YEQCADIQEMAQsgBCgCACEIQQAhAgNAIAggAyACQQJ0aigCABCrAiACQQFqIgIgBSgCACIBIAYoAgAiA2tBAnVJDQALCyAEQQRqIgQgB0cNAAsgACgC2AEiAkEMaygCACEECyAEBEAgAkEIayAENgIAIAQQWgsgACACQQxrNgLYASAAIAAoAuQBQQRrNgLkAQJAIAAoAvwBIgIgACgCgAIiBUkEQCACQQA2AgAgACACQQRqNgL8AQwBCyACIAAoAvgBIgRrQQJ1IgZBAWoiA0GAgICABE8NAkEAIQFB/////wMgBSAEayIFQQF1IgcgAyADIAdJGyAFQfz///8HTxsiBQRAIAVBgICAgARPDQIgBUECdBBcIQELIAEgBkECdGoiA0EANgIAIANBBGohBiACIARHBEADQCADQQRrIgMgAkEEayICKAIANgIAIAIgBEcNAAsLIAAgASAFQQJ0ajYCgAIgACAGNgL8ASAAIAM2AvgBIARFDQAgBBBaCyAJQRBqJAAPCxBqAAsQZAALggMBBX8jAEEQayIDJABBPBBcIgFCADcCACABQQA2AjggAUIANwIwIAFCADcCKCABQgA3AiAgAUIANwIYIAFCADcCECABQgA3AgggACABNgKgASADIAE2AgwCQAJAAkACQCAAKAKMASICIAAoApABSQRAIAIgATYCACAAIAJBBGo2AowBDAELQdSJC0EANgIAQbmdASAAQYgBaiADQQxqEANB1IkLKAIAIQVB1IkLQQA2AgAgBUEBRg0BIAMoAgwiAUUNACABEL8CCyAAKALwAUEMayICKAIAIgEgAigCBCICRw0BDAILEAAhBiADKAIMIgEEQCABEL8CCyAGEAcACwNAIAEoAgAgACgCoAEQqwIgAUEEaiIBIAJHDQALCyAAKALMAUEEaygCACAAKAKgARCrAiAAIAAoAswBQQRrNgLMASAAKALwASICQQxrIgQoAgAiAQRAIAJBCGsgATYCACABEFoLIAAgBDYC8AEgACAAKAL8AUEEazYC/AEgA0EQaiQAC5kCAQZ/IwBBEGsiAiQAIAAQ3goCQAJAIAAoAtQBIAAoAtgBRgRAIAAtAIUCDQELIAAoAqABIQZBPBBcIgFCADcCACABQQA2AjggAUIANwIwIAFCADcCKCABQgA3AiAgAUIANwIYIAFCADcCECABQgA3AgggACABNgKgASACIAE2AgwCQCAAKAKMASIDIAAoApABSQRAIAMgATYCACAAIANBBGo2AowBDAELQdSJC0EANgIAQbmdASAAQYgBaiACQQxqEANB1IkLKAIAIQVB1IkLQQA2AgAgBUEBRg0CIAIoAgwiAUUNACABEL8CCyAGIAAoAqABEKsCCyACQRBqJAAPCxAAIQcgAigCDCIBBEAgARC/AgsgBxAHAAuYAwEHfyMAQRBrIgMkACAAKAKgASEFQTwQXCICQgA3AgAgAkEANgI4IAJCADcCMCACQgA3AiggAkIANwIgIAJCADcCGCACQgA3AhAgAkIANwIIIAAgAjYCoAEgAyACNgIEAkACQAJAIAAoAowBIgQgACgCkAFJBEAgBCACNgIAIAAgBEEEajYCjAEMAQtB1IkLQQA2AgBBuZ0BIABBiAFqIANBBGoQA0HUiQsoAgAhB0HUiQtBADYCACAHQQFGDQEgAygCBCICRQ0AIAIQvwILIAUgACgCoAEQqwIgASgCACIBKAIAQQNHDQEgASgCCARAIAAoAsABQQRrKAIAIQQgA0EIaiAAQaQBaiIFIAFBCGoiAikCACACEPoCIAMoAggiBigCGCIBIAYoAhwiBkcEQANAIAEoAgAgBBCrAiABQQRqIgEgBkcNAAsLIAUgAikCABDnAwsgACAAKALAAUEEazYCwAEgA0EQaiQADwsQACEIIAMoAgQiAQRAIAEQvwILIAgQBwALQfDtBUHFmANBlAZBjd4AEAEAC/QDAQl/IwBBEGsiBCQAIAAoAqABIQVBPBBcIgFCADcCACABQQA2AjggAUIANwIwIAFCADcCKCABQgA3AiAgAUIANwIYIAFCADcCECABQgA3AgggACABNgKgASAEIAE2AgwCQAJAAkACQAJAAkAgACgCjAEiAiAAKAKQAUkEQCACIAE2AgAgACACQQRqNgKMAQwBC0HUiQtBADYCAEG5nQEgAEGIAWogBEEMahADQdSJCygCACEJQdSJC0EANgIAIAlBAUYNASAEKAIMIgFFDQAgARC/AgsgBSAAKAKgARCrAiAAKAK0ASIBIAAoArgBRg0BIAEgBTYCACAAIAFBBGo2ArQBDAILEAAhCiAEKAIMIgEEQCABEL8CCyAKEAcACyABIAAoArABIgdrIgJBAnUiCEEBaiIDQYCAgIAETw0BQf////8DIAJBAXUiBiADIAMgBkkbIAJB/P///wdPGyIDBH8gA0GAgICABE8NAyADQQJ0EFwFQQALIgYgCEECdGoiAiAFNgIAIAJBBGohBSABIAdHBEADQCACQQRrIgIgAUEEayIBKAIANgIAIAEgB0cNAAsgACgCsAEhAQsgACAGIANBAnRqNgK4ASAAIAU2ArQBIAAgAjYCsAEgAUUNACABEFoLIARBEGokAA8LEGQACxBqAAuGBAEIfyMAQRBrIgYkAAJAAkACQCAAKAK0ASIDIAAoArgBRwRAIAMgACgCoAE2AgAgACADQQRqIgU2ArQBDAELIAMgACgCsAEiB2siBUECdSIEQQFqIgJBgICAgARPDQFB/////wMgBUEBdSIBIAIgASACSxsgBUH8////B08bIgIEfyACQYCAgIAETw0DIAJBAnQQXAVBAAsiASAEQQJ0aiIEIAAoAqABNgIAIARBBGohBSADIAdHBEADQCAEQQRrIgQgA0EEayIDKAIANgIAIAMgB0cNAAsgACgCsAEhAwsgACABIAJBAnRqNgK4ASAAIAU2ArQBIAAgBDYCsAEgA0UNACADEFogACgCtAEhBQsgBUEIaygCACEEQTwQXCICQgA3AgAgAkEANgI4IAJCADcCMCACQgA3AiggAkIANwIgIAJCADcCGCACQgA3AhAgAkIANwIIIAAgAjYCoAEgBiACNgIMAkACQCAAKAKMASIBIAAoApABSQRAIAEgAjYCACAAIAFBBGo2AowBDAELQdSJC0EANgIAQbmdASAAQYgBaiAGQQxqEANB1IkLKAIAIQhB1IkLQQA2AgAgCEEBRg0BIAYoAgwiAUUNACABEL8CCyAEIAAoAqABEKsCIAZBEGokAA8LEAAhCSAGKAIMIgAEQCAAEL8CCyAJEAcACxBkAAsQagALJQAgACgCAEHQAEcEQEHHpQZBp7cCQdEjQeWmAxABAAsgACgCCAveAgEHfyMAQRBrIgMkACAAKAKgASEFQTwQXCICQgA3AgAgAkEANgI4IAJCADcCMCACQgA3AiggAkIANwIgIAJCADcCGCACQgA3AhAgAkIANwIIIAAgAjYCoAEgAyACNgIMAkACQAJAIAAoAowBIgQgACgCkAFJBEAgBCACNgIAIAAgBEEEajYCjAEMAQtB1IkLQQA2AgBBuZ0BIABBiAFqIANBDGoQA0HUiQsoAgAhBkHUiQtBADYCACAGQQFGDQEgAygCDCICRQ0AIAIQvwILIAUgACgCoAEQqwIgASgCACIBKAIAQQJHDQEgASgCECEHIAAoArQBQQRrKAIAIAAoAqABEKsCIAAoArQBIQEgBwRAIAAgAUEEayIBNgK0AQsgACABQQRrNgK0ASADQRBqJAAPCxAAIQggAygCDCIBBEAgARC/AgsgCBAHAAtB8O0FQcWYA0GUBkGN3gAQAQALvAQCAn4JfyMAQRBrIgckAAJAIAEoAgAiCSgCAEEBRgRAIAkoAghFDQEgACgCqAEiAUUNASAJKQIIIgJCIIgiA6chBiACpyEIIABBqAFqIgohBANAAkAgASkCECICpyAIIAYgAkIgiCICpyIFIAUgBksbEF4iBQ0AQQAhBSACIANRDQBBf0EBIAIgA1QbIQULIAQgASAFQQBIIgUbIQQgAUEEaiABIAUbKAIAIgENAAsgBCAKRg0BIABBpAFqIQUCQCAIIAQpAhAiAqcgAkIgiCICpyIBIAYgASAGSRsQXiIBRQRAIAIgA1gNAQwDCyABQQBIDQILIAQoAhwgBCgCGEYNASAAKAKgASEIQTwQXCIBQgA3AgAgAUEANgI4IAFCADcCMCABQgA3AiggAUIANwIgIAFCADcCGCABQgA3AhAgAUIANwIIIAAgATYCoAEgByABNgIMAkACQCAAKAKMASIGIAAoApABSQRAIAYgATYCACAAIAZBBGo2AowBDAELQdSJC0EANgIAQbmdASAAQYgBaiAHQQxqEANB1IkLKAIAIQtB1IkLQQA2AgAgC0EBRg0BIAcoAgwiAUUNACABEL8CCyAIIAAoAqABEKsCIAQoAhgiASAEKAIcIgRHBEADQCABKAIAIAAoAqABEKsCIAFBBGoiASAERw0ACwsgBSAJKQIIEOcDDAILEAAhDCAHKAIMIgEEQCABEL8CCyAMEAcAC0Hw7QVBxZgDQZQGQY3eABABAAsgB0EQaiQAC/sMAhJ/An0jAEEQayIMJAAgACgCDCEIIAEoAgAoAgQhAiAAKAIEKAIAIQ8gDEIANwMAIAxCADcDCCAPIAwgAhDGAiENIAEoAgAhAiAAKAIAKAIAQagBakEQQQQQXSILIAI2AgwgCyANNgIIIAtCCTcCACALIAIoAgRBAUYiAzYCBCALIAMgAigCBEEBRnI2AgQgACgCCCgCACIEKAIQIQMCQCAEKAIUIgUgBCgCGEcEQCADIQIMAQsgBCAFQQF0QQJqIgI2AhggBCAEKAIcIAJBAnRBBBBdIgI2AhAgBCgCFCIFRQRAQQAhBQwBC0EAIQIgBUEETwRAIAVBfHEhBwNAIAJBAnQiCSAEKAIQaiADIAlqKAIANgIAIAlBBHIiCiAEKAIQaiADIApqKAIANgIAIAlBCHIiCiAEKAIQaiADIApqKAIANgIAIAlBDHIiCSAEKAIQaiADIAlqKAIANgIAIAJBBGoiAiAHRw0ACwsgBUEDcSIJBEADQCACQQJ0IgcgBCgCEGogAyAHaigCADYCACACQQFqIQIgBkEBaiIGIAlHDQALCyAEKAIQIQILIAIgBUECdGogCzYCACAEIAVBAWo2AhQgACgCCCgCAEEAQQBBABDmAQJAAkAgCCgC4AIiBUUNACAIQdwCaiIJKAIAIg4CfyABQZXTx94FbCICQRh2IAJzQZXTx94FbEHUzJ76BnMiAkENdiACc0GV08feBWwiAkEPdiACcyIDIAVBAWtxIAVpIgZBAU0NABogAyADIAVJDQAaIAMgBXALIgpBAnRqKAIAIgJFDQAgAigCACICRQ0AIAVBAWshBwJAIAZBAU0EQANAAkAgAigCBCIEIANHBEAgBCAHcSAKRg0BDAULIAIoAgggAUYNAwsgAigCACICDQAMAwsACwNAAkAgAigCBCIEIANHBEAgBCAFTwR/IAQgBXAFIAQLIApGDQEMBAsgAigCCCABRg0CCyACKAIAIgINAAsMAQsCQAJAIA4CfyADIAdxIAZBAU0NABogAyADIAVJDQAaIAMgBXALIgRBAnRqKAIAIgJFDQAgAigCACICRQ0AIAZBAU0EQANAAkAgAyACKAIEIgpHBEAgByAKcSAERg0BDAQLIAIoAgggAUYNBAsgAigCACICDQAMAgsACwNAAkAgAyACKAIEIgdHBEAgBSAHTQR/IAcgBXAFIAcLIARGDQEMAwsgAigCCCABRg0DCyACKAIAIgINAAsLQRAQXCICIAE2AgggAiADNgIEIAJBADYCACACQQA2AgwCQCAIKALoAkEBarMiFCAIKgLsAiIVIAWzlF5FBEAgBCEDDAELQQIhBAJAIAVBA0kgBkEBS3IgBUEBdHIiBgJ/IBQgFZWNIhRDAACAT10gFEMAAAAAYHEEQCAUqQwBC0EACyIHIAYgB0sbIgZBAUYNACAGIAZBAWtxRQRAIAYhBAwBC0HUiQtBADYCAEEVIAYQBiEEQdSJCygCACEQQdSJC0EANgIAIBBBAUYNBCAIKALgAiEFCwJAIAQgBU0EQCAEIAVPDQEgBUEDSSEHAn8gCCgC6AKzIAgqAuwClY0iFEMAAIBPXSAUQwAAAABgcQRAIBSpDAELQQALIQYCQAJAIAcNACAFaUEBSw0AIAZBAUEgIAZBAWtna3QgBkECSRshBgwBC0HUiQtBADYCAEEVIAYQBiEGQdSJCygCACERQdSJC0EANgIAIBFBAUYNBgsgBCAGIAQgBksbIgQgBU8NAQtB1IkLQQA2AgBBz50BIAkgBBADQdSJCygCACESQdSJC0EANgIAIBJBAUYNBAsgCCgC4AIiBSAFQQFrIgRxRQRAIAMgBHEhAwwBCyADIAVJDQAgAyAFcCEDCwJAAkAgCSgCACADQQJ0aiIEKAIAIgNFBEAgAiAIQeQCaiIDKAIANgIAIAggAjYC5AIgBCADNgIAIAIoAgAiA0UNAiADKAIEIQMCQCAFIAVBAWsiBHFFBEAgAyAEcSEDDAELIAMgBUkNACADIAVwIQMLIAkoAgAgA0ECdGohAwwBCyACIAMoAgA2AgALIAMgAjYCAAsgCCAIKALoAkEBajYC6AILIAIgC0EMajYCDAsgASgCACgCBCECIAAoAgAoAgBBqAFqQQxBBBBdIgAgDTYCCCAAQQg2AgAgACACNgIEIAEgADYCACAMQRBqJAAPCxAAIRMgAhBaIBMQBwALtAcCCn8CfSACQZXTx94FbCIEQRh2IARzQZXTx94FbEHUzJ76BnMiBEENdiAEc0GV08feBWwiBEEPdiAEcyEEAkAgAAJ/AkAgASgCBCIFRQ0AIAEoAgACfyAEIAVBAWtxIAVpIghBAU0NABogBCAEIAVJDQAaIAQgBXALIgdBAnRqKAIAIgZFDQAgBigCACIGRQ0AIAhBAU0EQCAFQQFrIQgDQAJAIAQgBigCBCIJRwRAIAggCXEgB0cNBAwBCyAGKAIIIAJHDQBBAAwECyAGKAIAIgYNAAsMAQsDQAJAIAQgBigCBCIIRwRAIAUgCE0EfyAIIAVwBSAICyAHRw0DDAELIAYoAgggAkcNAEEADAMLIAYoAgAiBg0ACwtBDBBcIgYgBDYCBCAGIAM2AgggBkEANgIAIAEqAhAhDiABKAIMQQFqsyEPAkACQCAFRQ0AIA4gBbOUIA9dDQAgByEEDAELQQIhAgJAIAUgBUEBa3FBAEcgBUEDSXIgBUEBdHIiAwJ/IA8gDpWNIg5DAACAT10gDkMAAAAAYHEEQCAOqQwBC0EACyIHIAMgB0sbIgNBAUYNACADIANBAWtxRQRAIAMhAgwBC0HUiQtBADYCAEEVIAMQBiECQdSJCygCACEKQdSJC0EANgIAIApBAUYNAyABKAIEIQULAkAgAiAFTQRAIAIgBU8NASAFQQNJIQcCfyABKAIMsyABKgIQlY0iDkMAAIBPXSAOQwAAAABgcQRAIA6pDAELQQALIQMCQAJAIAcNACAFaUEBSw0AIANBAUEgIANBAWtna3QgA0ECSRshBwwBC0HUiQtBADYCAEEVIAMQBiEHQdSJCygCACELQdSJC0EANgIAIAtBAUYNBQsgAiAHIAIgB0sbIgIgBU8NAQtB1IkLQQA2AgBBu50BIAEgAhADQdSJCygCACEMQdSJC0EANgIAIAxBAUYNAwsgASgCBCIFIAVBAWsiAnFFBEAgAiAEcSEEDAELIAQgBUkNACAEIAVwIQQLAkACQCABKAIAIARBAnRqIgIoAgAiBEUEQCAGIAFBCGoiAygCADYCACABIAY2AgggAiADNgIAIAYoAgAiAkUNAiACKAIEIQQCQCAFIAVBAWsiAnFFBEAgAiAEcSEEDAELIAQgBUkNACAEIAVwIQQLIAEoAgAgBEECdGohBAwBCyAGIAQoAgA2AgALIAQgBjYCAAsgASABKAIMQQFqNgIMQQELOgAEIAAgBjYCAA8LEAAhDSAGEFogDRAHAAuyAQBB9AIQXCIAQQBBmAL8CwAgACAAQagBajYCpAEgAEGwAWpBAEHWAPwLACAAQgA3ApgCIAAgAEGMAmo2AogCIABCADcCoAIgAEIANwKsAiAAQYCAgPwDNgKoAiAAQgA3ArQCIABCADcCvAIgAEIANwLMAiAAQoCAgICAgIDAPzcCxAIgAEIANwLUAiAAQgA3AtwCIABBnKUINgIAIABCADcC5AIgAEKAgID8AzcC7AIgAAtBACAAKAIERQRAQej6BUG6iwNBnARB7tMCEAEACyAAIAI2AnggACABNgJ8IABBFGogAhDdDCAAENwMIABCADcCeAuzJwESf0G/nQEhAwJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAIAEoAgAiBigCAEEBaw4/CwABCQkCAwoKCgoKCgoKCgoKBgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoHCggICgoKCgoECgoJCgsgAEEYaiIAQcCdASABEFsgBigCAEECRw0MIAYoAhAEQCAAQbidASAGQRBqEFsgASgCAEUNDyAAQcGdASABEFsgBigCAEECRw0NCyAGKAIMRQ0OIABBuJ0BIAZBDGoQWyABKAIARQ0OIABBwp0BIAEQWyAGKAIAQQJHDQwgBigCCEUNDiAAQbidASAGQQhqEFsPC0HDnQEhAwwJCyAGQSBqDAILIAZBKGoMAQsgBkEcagshCUHEnQEhAyAJLQAADQVBxZ0BIQMgACgCfCIFRQ0FIAUtAIQBQcAAcQ0FDAYLQcSdASEDDAQLIABBGGoiA0HGnQEgARBbIAYoAgBBM0cNBSAGKAIoBEBBACEAA0AgASgCAEUNCSADQcedASABEFsgBigCKCAATQ0IIAYoAiQgAEECdGoiBSgCAEUNCSADQbidASAFEFsgASgCAEUNCSADQcidASABEFsgAEEBaiIAIAYoAihJDQALCyABKAIARQ0HIANByZ0BIAEQWyAGKAIAQTNHDQUgBigCEEUNByADQbidASAGQRBqEFsgASgCAEUNByADQcqdASABEFsPC0HLnQEhAwwCC0HMnQEhAwwBC0HNnQEhAyAGKAIEQQFHDQELIABBGGogAyABEFsLIAAhAwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgASgCACICKAIADl4AAQIDBAUGBwgJCgsMDR4fICEiIyQlNTYODxAREhMUFRYXGBkaGxwdNyYnKCkqKywtLi8wMTIzNDg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaW1wAbQtBmP0DQeWzA0HqARBiAAsgA0EUakHTnQEgARBYIAIoAgBBAUcNbCACKAIUIgBBAEwNayADQRhqIQcDQCAAQQFrIgUgAigCFE8NbiACKAIQIAVBAnRqIgQoAgBFDW8gB0G4nQEgBBBbIABBAUshCiAFIQAgCg0ACwxrCyADQRRqIgBB1J0BIAEQWCACKAIAQQJHDWsgAigCEARAIANBGGpBuJ0BIAJBEGoQWwsgAEG4nQEgAkEMahBYIABBuJ0BIAJBCGoQWAxqCyADQRRqIgBB1Z0BIAEQWCACKAIAQQNHDWoMXAsgA0EUakHWnQEgARBYIAIoAgBBBEcNaSACKAIUBEAgA0EYakG4nQEgAkEUahBbCyACKAIQRQ1oIANBGGpBuJ0BIAJBEGoQWwxoCyADQRRqIgBB150BIAEQWCACKAIAQQVHDWggAEG4nQEgAkEkahBYIAIoAiBFDWcgA0EYakG4nQEgAkEgahBbDGcLIANBFGpB2J0BIAEQWCACKAIAQQZHDWcgAigCDCIAQQBMDWYgA0EYaiEHA0AgAEEBayIFIAIoAgxPDWkgAigCCCAFQQJ0aiIEKAIARQ1qIAdBuJ0BIAQQWyAAQQFLIQsgBSEAIAsNAAsMZgsgA0EUaiIAQdmdASABEFggAigCAEEHRw1mIABBuJ0BIAJBHGoQWCACKAIQIgBBAEwNZSADQRhqIQcDQCAAQQFrIgUgAigCEE8NaCACKAIMIAVBAnRqIgQoAgBFDWkgB0G4nQEgBBBbIABBAUshDCAFIQAgDA0ACwxlCyADQRRqQdqdASABEFggAigCAEEIRg1kDGULIANBFGoiAEHbnQEgARBYIAIoAgBBCUcNZAxZCyADQRRqQdydASABEFggAigCAEEKRg1iDGMLIANBFGoiAEHdnQEgARBYIAIoAgBBC0cNYgxUCyADQRRqIgBB3p0BIAEQWCACKAIAQQxHDWEMWAsgA0EUaiIAQd+dASABEFggAigCAEENRw1gDFYLIANBFGoiAEHgnQEgARBYIAIoAgBBGEcNXwxXCyADQRRqIgBB4Z0BIAEQWCACKAIAQRlHDV4gAEG4nQEgAkEgahBYDFYLIANBFGoiAEHinQEgARBYIAIoAgBBGkcNXQxNCyADQRRqIgBB450BIAEQWCACKAIAQRtHDVwMTQsgA0EUakHknQEgARBYIAIoAgBBHEYNWgxbCyADQRRqIgBB5Z0BIAEQWCACKAIAQR1HDVoMTwsgA0EUaiIAQeadASABEFggAigCAEEeRw1ZIABBuJ0BIAJBFGoQWAxOCyADQRRqIgBB550BIAEQWCACKAIAQR9HDVgMUwsgA0EUaiIAQeidASABEFggAigCAEEgRw1XDEoLIANBFGoiAEHpnQEgARBYIAIoAgBBIUcNVgxKCyADQRRqIgBB6p0BIAEQWCACKAIAQSJHDVUgAEG4nQEgAkEgahBYDFQLIANBFGoiAEHrnQEgARBYIAIoAgBBI0cNVAxKCyADQRRqIgBB7J0BIAEQWCACKAIAQSRHDVMMQwsgA0EUakHtnQEgARBYIAIoAgBBJUYNUQxSCyADQRRqIgBB7p0BIAEQWCACKAIAQSZHDVEMSwsgA0EUaiIAQe+dASABEFggAigCAEEnRw1QDEoLIANBFGpB8J0BIAEQWCACKAIAQQ5GDU4MTwsgA0EUaiIAQfGdASABEFggAigCAEEPRw1ODEMLIANBFGoiAEHynQEgARBYIAIoAgBBEEcNTQxBCyADQRRqIgBB850BIAEQWCACKAIAQRFHDUwMRgsgA0EUaiIAQfSdASABEFggAigCAEESRw1LDEcLIANBFGpB9Z0BIAEQWCACKAIAQRNHDUoMRwsgA0EUakH2nQEgARBYIAIoAgBBFEYNSAxJCyADQRRqIgBB950BIAEQWCACKAIAQRVHDUgMRAsgA0EUakH4nQEgARBYIAIoAgBBKUYNRgxHCyADQRRqIgBB+Z0BIAEQWCACKAIAQSpHDUYMQgsgA0EUakH6nQEgARBYIAIoAgBBK0YNRAxFCyADQRRqIgBB+50BIAEQWCACKAIAQSxHDUQMPwsgA0EUaiIAQfydASABEFggAigCAEEtRw1DDDULIANBFGoiAEH9nQEgARBYIAIoAgBBLkcNQgwzCyADQRRqQf6dASABEFggAigCAEEvRg1ADEELIANBFGoiAEH/nQEgARBYIAIoAgBBMEcNQAwxCyADQRRqIgBBgJ4BIAEQWCACKAIAQTFHDT8MLwsgA0EUaiIAQYGeASABEFggAigCAEEyRw0+DDgLIANBFGoiB0GCngEgARBYIAIoAgBBM0cNPSACKAIoIgBBAEoEQCADQRhqIQQDQCAAQQFrIgUgAigCKE8NQCACKAIkIAVBAnRqIggoAgBFDUEgBEG4nQEgCBBbIABBAUshDSAFIQAgDQ0ACwsgB0G4nQEgAkEQahBYDDwLIANBFGoiAEGDngEgARBYIAIoAgBBNEYNOAw8CyADQRRqQYSeASABEFggAigCAEE1Rw07IAIoAhQiAEEATA06IANBGGohBwNAIABBAWsiBSACKAIUTw09IAIoAhAgBUECdGoiBCgCAEUNPiAHQbidASAEEFsgAEEBSyEOIAUhACAODQALDDoLIANBFGpBhZ4BIAEQWCACKAIAQTZGDTkMOgsgA0EUaiIAQYaeASABEFggAigCAEE3Rw05DDULIANBFGpBh54BIAEQWCACKAIAQRZGDTcMOAsgA0EUakGIngEgARBYIAIoAgBBF0YNNgw3CyADQRRqQYmeASABEFggAigCAEEoRg01DDYLIANBFGpBip4BIAEQWCACKAIAQThHDTUgAigCDCIAQQBMDTQgA0EYaiEHA0AgAEEBayIFIAIoAgxPDTcgAigCCCAFQQJ0aiIEKAIARQ04IAdBuJ0BIAQQWyAAQQFLIQ8gBSEAIA8NAAsMNAsgA0EUaiIAQYueASABEFggAigCAEE5Rw00DDALIANBFGoiAEGMngEgARBYIAIoAgBBOkcNMwwvCyADQRRqIgBBjZ4BIAEQWCACKAIAQTtHDTIMLgsgA0EUaiIAQY6eASABEFggAigCAEE8Rw0xIABBuJ0BIAJBGGoQWCACKAIMIgBBAEwNMCADQRhqIQcDQCAAQQFrIgUgAigCDE8NMyACKAIIIAVBAnRqIgQoAgBFDTQgB0G4nQEgBBBbIABBAUshECAFIQAgEA0ACwwwCyADQRRqIgBBj54BIAEQWCACKAIAQT1HDTAMLAsgA0EUaiIAQZCeASABEFggAigCAEE+Rw0vDCsLIANBFGoiAEGRngEgARBYIAIoAgBBP0cNLiAAQbidASACQRRqEFgMLQsgA0EUakGSngEgARBYIAIoAgBBwABHDS0gAigCDCIAQQBMDSwgA0EYaiEHA0AgAEEBayIFIAIoAgxPDS8gAigCCCAFQQJ0aiIEKAIARQ0wIAdBuJ0BIAQQWyAAQQFLIREgBSEAIBENAAsMLAsgA0EUaiIAQZOeASABEFggAigCAEHBAEcNLAwhCyADQRRqIgBBlJ4BIAEQWCACKAIAQcIARw0rDB8LIANBFGoiAEGVngEgARBYIAIoAgBBwwBHDSogAEG4nQEgAkEMahBYDCcLIANBFGoiAEGWngEgARBYIAIoAgBBxABHDSkMGgsgA0EUaiIAQZeeASABEFggAigCAEHFAEcNKAwZCyADQRRqQZieASABEFggAigCAEHGAEcNJyACKAIMIgBBAEwNJiADQRhqIQcDQCAAQQFrIgUgAigCDE8NKSACKAIIIAVBAnRqIgQoAgBFDSogB0G4nQEgBBBbIABBAUshEiAFIQAgEg0ACwwmCyADQRRqIgBBmZ4BIAEQWCACKAIAQccARw0mDCELIANBFGoiAEGangEgARBYIAIoAgBByABHDSUMHwsgA0EUaiIAQZueASABEFggAigCAEHJAEcNJAwgCyADQRRqIgBBnJ4BIAEQWCACKAIAQcoARw0jIABBuJ0BIAJBGGoQWAwcCyADQRRqIgBBnZ4BIAEQWCACKAIAQcsARw0iDBsLIANBFGoiAEGengEgARBYIAIoAgBBzABHDSEMEAsgA0EUaiIAQZ+eASABEFggAigCAEHNAEcNIAwPCyADQRRqIgBBoJ4BIAEQWCACKAIAQc4ARw0fDBQLIANBFGoiAEGhngEgARBYIAIoAgBBzwBHDR4gAigCGARAIANBGGpBuJ0BIAJBGGoQWwsgAigCFARAIANBGGpBuJ0BIAJBFGoQWwsgAigCEARAIANBGGpBuJ0BIAJBEGoQWwsMHAsgA0EUakGingEgARBYIAIoAgBB0ABGDRwMHQsgA0EUaiIAQaOeASABEFggAigCAEHRAEcNHAwRCyADQRRqIgBBpJ4BIAEQWCACKAIAQdIARw0bIAIoAhQEQCADQRhqQbidASACQRRqEFsLIABBuJ0BIAJBEGoQWAwZCyADQRRqIgBBpZ4BIAEQWCACKAIAQdMARw0aDBULIANBFGoiAEGmngEgARBYIAIoAgBB1ABHDRkMDQsgA0EUaiIAQaeeASABEFggAigCAEHVAEcNGAwNCyADQRRqIgBBqJ4BIAEQWCACKAIAQdYARw0XDBELIANBFGoiAEGpngEgARBYIAIoAgBB1wBHDRYMEQsgA0EUaiIAQaqeASABEFggAigCAEHYAEcNFQwRCyADQRRqIgBBq54BIAEQWCACKAIAQdkARw0UDAgLIANBFGoiAEGsngEgARBYIAIoAgBB2gBHDRMMBgsgA0EUaiIAQa2eASABEFggAigCAEHbAEcNEgwNCyADQRRqIgBBrp4BIAEQWCACKAIAQdwARw0RIABBuJ0BIAJBPGoQWCACKAIwIgBBAEwNECADQRhqIQcDQCAAQQFrIgUgAigCME8NEyACKAIsIAVBAnRqIgQoAgBFDRQgB0G4nQEgBBBbIABBAUshEyAFIQAgEw0ACwwQCyAAQbidASACQRxqEFgLIABBuJ0BIAJBGGoQWAsgAEG4nQEgAkEUahBYCyAAQbidASACQRBqEFgMDAsgAEG4nQEgAkEUahBYCyAAQbidASACQRBqEFgLIABBuJ0BIAJBDGoQWAwJCyAAQbidASACQShqEFgLIABBuJ0BIAJBJGoQWAwHCyAAQbidASACQRxqEFggAEG4nQEgAkEYahBYDAYLIABBuJ0BIAJBFGoQWAsgAEG4nQEgAkEQahBYCyAAQbidASACQQxqEFgLIABBuJ0BIAJBCGoQWAwCCyACKAIIRQ0BIANBGGpBuJ0BIAJBCGoQWwwBCyAAQbidASACQQxqEFgLIAYoAgBBA0YEQCABKAIARQ0DIANBGGpBzp0BIAEQWwsPC0Hw7QVBxZgDQZQGQY3eABABAAtBxaIBQYmiA0G8AUGmiAUQAQALQYGDAkHTmQNBuQJBrvcCEAEAC8IBAgV/AX4jAEEwayICJAAgAiABEGw2AiAgAiABNgIcIAIgAikCHDcDCCACQRBqIAJBCGoQZSACKQMQIQcgAEGoAWpBEEEEEF0iACAHNwIIIABC0AA3AgAgAkEANgIoQdSJC0EANgIAIAJCgYCAgIABNwIgIAJBADoAHEEHQdidCyACQRxqIgEQAiEDQdSJCygCACEFQdSJC0EANgIAIAVBAUYEQBAAIQYgARB3IAYQBwALIAAgAzYCBCACQTBqJAAgAAv0DwEYfyMAQbACayIDJAACQAJAAkACQAJAAkACQAJAAkACQAJAIAAoAgQEQCAAIAAoAgAoAhARAgAEQCADIAAoAgQiAikCODcD+AEgAyACKQIwNwPwASADIAIpAig3A+gBIAMgAikCIDcD4AEgAyACKQIYNwPYASADQYACaiACQUBrEOMBIQRB1IkLQQA2AgBBmgEgA0GUAmogAkHUAGoQAiEFQdSJCygCACERQdSJC0EANgIAIBFBAUYNAiADIAIoAmg2AqgCIAMgAigCbCICNgKsAiACBEAgAiACKAIEQQFqNgIECyADQQEgAygC4AEiAiACQQBKGzYC4AEgAyADKQPoATcDGCADIAMpA/ABNwMgIAMgAykD+AE3AyggAyADKQPgATcDECADQQEgAygC3AEiAiACQQBKGzYC3AFB1IkLQQA2AgAgAyADKQPYATcDCEGbASADQTBqIAQQAiEEQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBxABqIAUQAiEFQdSJCygCACESQdSJC0EANgIAIBJBAUYNBSADIAMoAqwCIgI2AlwgAyADKAKoAjYCWCACBEAgAiACKAIEQQFqNgIECyADQQA2AnggAyADKQMQNwKEASADIAMpAxg3AowBIAMgAykDIDcClAEgAyADKQMoNwKcASADQgA3AnAgA0H87Ak2AmQgAyADKQMINwJ8QdSJC0EANgIAIAMgATYCaCADIAFBqAFqNgJsQZsBIANBpAFqIAQQAiEBQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBuAFqIAUQAhpB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRwRAIAMgAygCWDYCzAEgAyADKAJcIgE2AtABIAEEQCABIAEoAgRBAWo2AgQLIANBADsB1AEgA0EIahBhIANBAToA1AEgACgCACgCFCEUQdSJC0EANgIAIBQgABAGIQBB1IkLKAIAIRVB1IkLQQA2AgAgFUEBRg0EIAMoAmQoAgghFkHUiQtBADYCACAWIANB5ABqIgEgABADQdSJCygCACEX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QYgBahDfARoMBwsgAi0A5AEhFSACKAL4ARBgIAIoAuwBEGAgAigCyAEQYCACKAK8ARBgIAIoArABEG8gAigCpAEQbwJAIAIoApABIgNFDQAgAyADKAIEIgVBAWs2AgQgBQ0AIAMgAygCACgCCBEBACADEHULIBUNAQsgACgCpAIgBigCCCIFQQJ0aigCAEEBSw0AAkACQAJAAkAgAEGIAWoiBygCACIEBEADQCAEKAIQIgMgBU0EfyADIAVPDQMgBEEEagUgBAsoAgAiBA0ACwsgACgCBCEDIAAoAnwhBCACIAE2AgwgASgCACEJIAIgAy0AODoAECACIAMtADk6ABEgAiADKAJoNgIUIAIgAygCbCIBNgIYIAJBEGohAyABBEAgASABKAIEQQFqNgIECyACIAQ2AhwgBCgChAEhASACQSxqIgRCADcCACACQQA7ASQgAiABNgIgIAJBOGoiBkIANwIAIAIgBDYCKCACQcQAaiIKQgA3AgAgAiAGNgI0IAJB0ABqIgtCADcCACACQUBrIAo2AgAgAkH0AGoiDEIANwIAIAIgCzYCTCACQgA3AlggAkIANwJgIAJCADcBZiACIAw2AnAgAkGAAWoiDUIANwIAIAIgDTYCfCACIAk2AvwDIAJCADcC5AMgAkIANwLsAyACQQA2AvQDQdSJC0EANgIAIAJCADcCjAMgAiADNgL4A0HHACACQYwDaiACQfwDahADQdSJCygCACEWQdSJC0EANgIAIBZBAUYNAiACKALkAyIBBEAgAiABNgLoAyABEFoLIAIoAmRFDQFB1IkLQQA2AgBBDUGRyQVB9ooDQcQIQabRABAFQdSJCygCACEXQdSJC0EANgIAIBdBAUcNBxAAIQQgAxDfARoMCQtB1IkLQQA2AgBBDUHNyQVBxpICQbIDQbPRABAFQdSJCygCACEYQdSJC0EANgIAIBhBAUcNBhAAIQQMCAsgAi0AEARAIAJBADoAYQwCCyACLQBhRQ0BIAJBAToAYAwBCxAAIQQgAigC5AMiAARAIAIgADYC6AMgABBaCyADEN8BGgwGCyACIAIvARA7AZABIAIgAigCFCIONgKUASACIAIoAhgiDzYCmAEgAiAFNgKIASACIAIoAgwiEDYCjAEgAkIANwIUIAIvASQhASACKQIcIRsgAiACKAIoNgKoASACIBs3ApwB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IQMgEg0ACwwDCwwEC0GHmwZBxpICQaEDQbPRABABAAsDQCADIgQoAgAiAw0ACwsgBiAAKAKEAUYEQCAAIAQ2AoQBCyAAIAAoAowBQQFrNgKMASAAKAKIASAGEOUBIAZBEGoQ6wIgBhBaIABBAToAtAELIAAoAnwhBCACIAAoAgQiAy0AODoAiAIgAiADLQA5OgCJAiACIAMoAmg2AowCIAIgAygCbCIDNgKQAiADBEAgAyADKAIEQQFqNgIECyACIAQ2ApQCIAQoAoQBIQMgAkGkAmoiBEIANwIAIAJBsAJqIgZCADcCACACQbwCaiIIQgA3AgAgAkHIAmoiCUIANwIAIAJB7AJqIgtCADcCACACQgA3AtgCIAJCADcB3gIgAkH4AmoiDEIANwIAIAJBADsBnAIgAiADNgKYAiACIAQ2AqACIAIgBjYCrAIgAiAINgK4AiACIAk2AsQCIAJCADcC0AIgAiALNgLoAiACIAw2AvQCIAJCADcC4AEgAkIANwLoASACQQA2AvABQdSJC0EANgIAIAJCADcCiAEgAiACQYgCajYC9AFBqjggAkGIAWogBxADQdSJCygCACEDQdSJC0EANgIAAkACQAJAAkACQCADQQFHBEAgAigC4AEiAwRAIAIgAzYC5AEgAxBaCyACKALcAgRAQdSJC0EANgIAQQ1BkckFQfaKA0HECEGm0QAQBUHUiQsoAgAhE0HUiQtBADYCACATQQFGDQMMBgsgAi0AiAIEQCACQQA6ANkCDAILIAItANkCRQ0BIAJBAToA2AIMAQsQACEEIAIoAuABIgBFDQMgAiAANgLkASAAEFoMAwsgBygCAEEDRgRAIAJBAToAnAILAkAgAi0A2AINACACKAK0Ag0AIAItAOQCDQAgAigCzAINACACLQDRAg0AIAItANMCDQAgAi0A1QINACACLQDXAg0AIAItANoCDQAgAi0AnQINACACLQDbAg0AIAIoAvwCDQAgAi0AnAINACACKALwAg0AIAItAOUCDQAgAigCqAINACACKALAAg0AIAItANACDQAgAi0A0gINACACLQDUAg0AIAItANYCRQ0CC0HUiQtBADYCAEG6mgEgACACQYgCahADQdSJCygCACEUQdSJC0EANgIAIBRBAUcNAQsQACEEDAELAkACQCAKRQ0AIAUoAgQNACAAKAJ8IgYo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aiILIAIoAnQiAzYCACACIAIoAngiBDYC+AECQCAERQRAIAIgCzYC8AEMAQsgAyALNgIIIAJCADcCdCACIAw2AnALIAIgAigCfDYC/AEgAkGAAmoiDCACKAKAASIFNgIAIAIgAigChAEiAzYChAICQCADRQRAIAIgDDYC/AEMAQsgBSAMNgIIIAJCADcCgAEgAiANNgJ8CwJAAkAgBiIEKAIAIgNFDQADQCADIgQoAhAiAyAHSwRAIAQiBigCACIDDQEMAgsgAyAHTw0CIAQoAgQiAw0ACyAEQQRqIQYLQdSJC0EANgIAQQRBkAEQBiEDQdSJCygCACEaQdSJC0EANgIAIBpBAUYNAiADIAc2AhAgAyAQNgIUIAIvAZABIQUgAyAPNgIgIAMgDjYCHCADIAU7ARggAkIANwKUASADIAIvAaQBOwEsIAMgAikCnAE3AiQgAyACKAKoATYCMCADQTRqIgUgAigCrAEiBzYCACADIAIoArABIg02AjgCQCANRQRAIAMgBTYCMAwBCyAHIAU2AgggAkIANwKsASACIAE2AqgBCyADIAIoArQBNgI8IANBQGsiASACKAK4ASIFNgIAIAMgAigCvAEiBzYCRAJAIAdFBEAgAyABNgI8DAELIAUgATYCCCACQgA3ArgBIAIgCDYCtAELIAMgAigCwAE2AkggA0HMAGoiASACKALEASIFNgIAIAMgAigCyAEiBzYCUAJAIAdFBEAgAyABNgJIDAELIAUgATYCCCACQgA3AsQBIAIgCTYCwAELIAMgAigCzAE2AlQgA0HYAGoiASACKALQASIFNgIAIAMgAigC1AEiBzYCXAJAIAdFBEAgAyABNgJUDAELIAUgATYCCCACQgA3AtABIAIgCjYCzAELIAMgAikC2AE3AmAgAyACKQHmATcBbiADIAIpAuABNwJoIAMgAigC8AE2AnggA0H8AGoiASACKAL0ASIFNgIAIAMgAigC+AEiBzYCgAECQCAHRQRAIAMgATYCeAwBCyAFIAE2AgggAkIANwL0ASACIAs2AvABCyADIAIoAvwBNgKEASADQYgBaiIBIAIoAoACIgU2AgAgAyACKAKEAiIHNgKMAQJAIAdFBEAgAyABNgKEAQwBCyAFIAE2AgggAkIANwKAAiACIAw2AvwBCyADIAQ2AgggA0IANwIAIAYgAzYCACAA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AAvvDwEYfyMAQbACayIDJAACQAJAAkACQAJAAkACQAJAAkACQAJAIAAoAgQEQCAAIAAoAgAoAhARAgAEQCADIAAoAgQiAikCODcD+AEgAyACKQIwNwPwASADIAIpAig3A+gBIAMgAikCIDcD4AEgAyACKQIYNwPYASADQYACaiACQUBrEOMBIQRB1IkLQQA2AgBBmgEgA0GUAmogAkHUAGoQAiEFQdSJCygCACERQdSJC0EANgIAIBFBAUYNAiADIAIoAmg2AqgCIAMgAigCbCICNgKsAiACBEAgAiACKAIEQQFqNgIECyADQQEgAygC4AEiAiACQQBKGzYC4AEgAyADKQPoATcDGCADIAMpA/ABNwMgIAMgAykD+AE3AyggAyADKQPgATcDECADQQEgAygC3AEiAiACQQBKGzYC3AFB1IkLQQA2AgAgAyADKQPYATcDCEGbASADQTBqIAQQAiEEQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBxABqIAUQAiEFQdSJCygCACESQdSJC0EANgIAIBJBAUYNBSADIAMoAqwCIgI2AlwgAyADKAKoAjYCWCACBEAgAiACKAIEQQFqNgIECyADQQA2AnggAyADKQMQNwKEASADIAMpAxg3AowBIAMgAykDIDcClAEgAyADKQMoNwKcASADQgA3AnAgA0H87Ak2AmQgAyADKQMINwJ8QdSJC0EANgIAIAMgATYCaCADIAFBqAFqNgJsQZsBIANBpAFqIAQQAiEBQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBuAFqIAUQAhpB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRwRAIAMgAygCWDYCzAEgAyADKAJcIgE2AtABIAEEQCABIAEoAgRBAWo2AgQLIANBADsB1AEgA0EIahBhIANBAToA1AEgACgCACgCFCEUQdSJC0EANgIAIBQgABAGIQBB1IkLKAIAIRVB1IkLQQA2AgAgFUEBRg0EIAMoAmQoAgghFkHUiQtBADYCACAWIANB5ABqIgEgABADQdSJCygCACEXQdSJC0EANgIAIBdBAUYNBEHUiQtBADYCAEGXASABEApB1IkLKAIAIRhB1IkLQQA2AgAgGEEBRg0EIANB/OwJNgJkIANB/ABqEGEgAygCcCIBBEAgAygCdCIAIAEiAkcEQANAIABBBGsiACgCACECIABBADYCACACBEAgAiACKAIAKAIEEQEACyAAIAFHDQALIAMoAnAhAgsgAyABNgJ0IAIQWgsgA0HYAWoQYQwQCxAAIQAgARBrDAELEAAhAAsgA0HwAGoQ4AEgA0EIahBhDA4LEAAhAAwNCxAAIQAgA0HkAGoQfBoMDAsgACABNgJ8IABBFGohCSABKAIYIgIgASgCHCIERwRAA0AgAigCACIFKAIMRQRAIAkgBUEgahDuBwsgAkEEaiICIARHDQALCyABKAIMIgIgASgCECIFRwRAA0AgAigCACIEKAIMRQRAIAAgBDYCeCAAIAQQ7QwgAEEANgJ4CyACQQRqIgIgBUcNAAsLIAEoAjAiCiABKAI0Ig5GDQkgAEEcaiENA0AgCigCACICKAIMBEAgCSACQRRqEO4HCyACKAIcIgsgAigCICIPRwRAIAAoAmwhBiAAKAJwIQQgACgCGCEFA0AgAyALKAIAIgc2AmQgBCAGayIQQQN1IgJBACAFa0cNBiAHRQ0HAkAgBUEJTQRAIAAgBUEBaiIGNgIYIA0gBUEDdGoiAkHKmQE2AgAgAiADQeQAajYCBCAEIQIgBiEFDAELIAAoAnQiCCAESwRAIARBypkBNgIAIAQgA0HkAGo2AgQgACAEQQhqIgI2AnAMAQsgAkEBaiIHQYCAgIACTw0JQf////8BIAggBmsiCEECdSIMIAcgByAMSRsgCEH4////B08bIgdBgICAgAJPDQogECAHQQN0IgwQXCIIaiIHQcqZATYCACAIIAJBA3RqIANB5ABqNgIEIAdBCGohAiAEIAZHBEADQCAHQQhrIgcgBEEIayIEKQIANwIAIAQgBkcNAAsLIAAgCCAMajYCdCAAIAI2AnAgACAHNgJsIAZFDQAgBhBaIAAoAnAhAiAAKAIYIQULQQAgBWsgAiAAKAJsIgZrQQN1RwRAA0ACQCACIAZGBEAgBUUNDiANIAVBAWsiBEEDdGoiBSgCBCECIAUoAgAhBiAAIAQ2AhgMAQsgAkEIayIEKAIAIQYgBCgCBCECIAAgBDYCcAsgCSACNgIAIAIoAgBFDQ0gACACIAYRAABBACAAKAIYIgVrIAAoAnAiAiAAKAJsIgZrQQN1Rw0ACwsgAiEEIAtBBGoiCyAPRw0ACwsgCkEEaiIKIA5HDQALDAkLQej6BUG6iwNB/ANB2ssCEAEACxAAIRkgBBBrIBkQBwALEAAhACAEEGsMCAtBzcoFQdOZA0HIAkHQ+AIQAQALQYGDAkHTmQNBuQJBrvcCEAEACxBkAAsQagALQd7EBUGwlANB2gBB/fsCEAEAC0H1ggJB05kDQc0CQdD4AhABAAsgASgCSCICIAEoAkwiAUcEQANAIAIoAgAiBC0AFEUEQCAJIARBGGoQ7gcLIAJBBGoiAiABRw0ACwsgAEEANgJ8CyADQbACaiQADwsgA0HYAWoQYSAAEAcACwkAIAAQ7gwQWgtCAAJAIAAoAgBB1QBGBEAgAUUNASAAIAE2AgwPC0H9qwZBp7cCQfAkQb22AxABAAtBuvUBQae3AkHxJEG9tgMQAQALsgkBEX8jAEGAAWsiAiQAAkAgASgCACILKAIAQTNHDQAgACgChAEiBSAAQYgBaiIKRg0AAkACQAJAAkADQAJAAkAgBS0Aa0UEQCAFKAKMAUUNAQsgBiAIRwRAIAggBSgCEDYCACAIQQRqIQgMAQsCQAJAAkAgCCAHayIGQQJ1IglBAWoiA0GAgICABE8EQEHUiQtBADYCAEH4AhAJQdSJCygCACEMQdSJC0EANgIAIAxBAUYNAQwJC0H/////AyAGQQF1IgEgAyABIANLGyAGQfz///8HTxsiBkUEQEEAIQMMAwsgBkGAgICABEkNAUHUiQtBADYCAEEDEAlB1IkLKAIAIQ1B1IkLQQA2AgAgDUEBRw0ICxAAIQEgBEUNBQwGC0HUiQtBADYCAEEEIAZBAnQQBiEDQdSJCygCACEOQdSJC0EANgIAIA5BAUYNAgsgAyAJQQJ0aiIBIAUoAhA2AgAgASEEIAcgCEcEQANAIARBBGsiBCAIQQRrIggoAgA2AgAgByAIRw0ACwsgBkECdCADaiEGIAFBBGohCCAHBEAgBxBaCyAEIQcLAkAgBSgCBCIDBEADQCADIgEoAgAiAw0ADAILAAsDQCAFKAIIIgEoAgAgBUchDyABIQUgDw0ACwsgCiABIgVHDQEMBQsLEAAhASAHIgQNAQsgARAHAAsgBBBaIAEQBwALAAsCQCAHIAhGDQAgACgCiAEiBkUNACAHIQkDQAJAIAZFDQAgCSgCACEFIAohAyAGIQEDQCADIAEgASgCECAFSSIEGyEDIAFBBGogASAEGygCACIBDQALIAMgCkYNACAFIAMoAhBJDQAgAyEEAkAgAygCBCIFBEADQCAFIgEoAgAiBQ0ADAILAAsDQCAEKAIIIgEoAgAgBEchECABIQQgEA0ACwsgAyAAKAKEAUYEQCAAIAE2AoQBCyAAIAAoAowBQQFrNgKMASAGIAMQ5QEgA0EQahDrAiADEFoLIAlBBGoiCSAIRg0BIAooAgAhBgwACwALIAdFDQAgBxBaCyAAKAJ8IQEgAiAAKAIEIgQtADg6AAggAiAELQA5OgAJIAIgBCgCaDYCDCACIAQoAmwiBDYCECAEBEAgBCAEKAIEQQFqNgIECyACIAE2AhQgASgChAEhCiACQSRqIglCADcCACACQTBqIgNCADcCACACQTxqIgVCADcCACACQcgAaiIHQgA3AgAgAkHsAGoiBEIANwIAIAJCADcCWCACQgA3AV4gAkH4AGoiAUIANwIAIAJBADsBHCACIAo2AhggAiAJNgIgIAIgAzYCLCACIAU2AjggAiAHNgJEIAJCADcCUCACIAQ2AmggAiABNgJ0AkAgCygCAEEDRgR/QdSJC0EANgIAIAJBAToAHEH2mAEgACACQQhqEANB1IkLKAIAIRFB1IkLQQA2AgAgEUEBRg0BIAIoAngFQQALEGAgAigCbBBgIAIoAkgQYCACKAI8EGAgAigCMBBvIAIoAiQQbwJAIAIoAhAiAUUNACABIAEoAgQiAEEBazYCBCAADQAgASABKAIAKAIIEQEAIAEQdQsgAkGAAWokAA8LEAAhEiACQQhqEN8BGiASEAcAC+kJAhR/AX4jAEEgayIDJAACQAJAAkACQAJAAkACQAJAAkACQAJAIAEoAgAiAigCAEEBaw4EBwECAAILIAJBCGohBCACKAIQBEAgA0EIaiAAQZwBaiAEKQIAIhYgFhCwAgwGCyADQQhqIABBkAFqIAQpAgAgBBD6AiADKAIIIQUgAyABNgIIIAMgACgChAEiBjYCDCADQRBqIgcgAEGIAWoiAigCACIENgIAIAMgACgCjAEiCDYCFAJAIAhFBEAgAyAHNgIMIAchBgwBCyAEIAc2AgggAEIANwKIASAAIAI2AoQBCyADQQxqIQ0gBSgCHCICIAUoAiAiCUkEQCACIAE2AgAgAiADKAIMNgIEIAJBCGoiASADKAIQIgQ2AgAgAiADKAIUIgY2AgwCQCAGRQRAIAIgATYCBAwBCyAEIAE2AgggA0IANwIQIAMgBzYCDAsgBSACQRBqNgIcDAULIAIgBSgCGCIIayIKQQR1IgtBAWoiBEGAgICAAU8EQEHUiQtBADYCAEH3mAEQCUHUiQsoAgAhDkHUiQtBADYCACAOQQFGDQgMCQtB/////wAgCSAIayIJQQN1IgwgBCAEIAxJGyAJQfD///8HTxsiBEGAgICAAU8EQEHUiQtBADYCAEEDEAlB1IkLKAIAIQ9B1IkLQQA2AgAgD0EBRw0JDAgLQdSJC0EANgIAQQQgBEEEdCIMEAYhCUHUiQsoAgAhEEHUiQtBADYCACAQQQFGDQcgCSAKaiIEIAE2AgAgCSALQQR0aiIBIAY2AgQgAUEIaiIGIAMoAhAiCjYCACABIAMoAhQiCzYCDAJAIAtFBEAgASAGNgIEDAELIAogBjYCCCADQgA3AhAgAyAHNgIMIAUoAhghCCAFKAIcIQILIAkgDGohASAEQRBqIQcgAiAIRg0CA0AgBEEQayIEIAJBEGsiAigCADYCACAEIAIoAgQ2AgQgBEEIaiIGIAJBCGoiCSgCACIKNgIAIAQgAigCDCILNgIMAkAgC0UEQCAEIAY2AgQMAQsgCiAGNgIIIAIgCTYCBCACQQA2AgggAkEANgIMCyACIAhHDQALIAUgATYCICAFKAIcIQIgBSAHNgIcIAUoAhghCCAFIAQ2AhggAiAIRg0DA0AgAkEMayACQRBrIgIoAggQtQMgAiAIRw0ACwwDCyACKAIQRQ0EQbLdA0HGkgJBkQFBvIACEAEACyADQgA3AgxB1IkLQQA2AgAgAyADQQxqIgc2AghBzx0gAiADQQhqEANB1IkLKAIAIRFB1IkLQQA2AgAgEUEBRg0HIAcgAygCCCICRwRAIABBnAFqIQYDQCACKQIQIRZB1IkLQQA2AgBB/QUgA0EYaiAGIBYgFhDlAkHUiQsoAgAhEkHUiQtBADYCACASQQFGDQkCQCACIgEoAgQiBARAA0AgBCICKAIAIgQNAAwCCwALA0AgASgCCCICKAIAIAFHIRMgAiEBIBMNAAsLIAIgB0cNAAsLIAMoAgwQYAwDCyAFIAE2AiAgBSAHNgIcIAUgBDYCGAsgCEUNACAIEFoLIA0gAygCEBC1AwsgAEGEAWogAEGIAWoiASgCABC1AyAAIAE2AoQBIABCADcCiAELIANBIGokAA8LEAAhFCANIAMoAhAQtQMgFBAHAAsACxAAIRUgAygCDBBgIBUQBwAL7AUCC38CfiMAQRBrIggkAAJAAkACQCABKAIAIgEoAgBBAUYEQCABKAIIRQ0DIAhBCGogAEGQAWogAUEIaiICKQIAIAIQ+gIgAigCAEUNAyAIKAIIIgEoAhghBiABKAIcIQUgACgCoAEiAUUNAiAAQZwBaiEHIAIpAgAiDUIgiCIOpyEDIA2nIQQDQAJAAkAgBCABKQIQIg2nIgkgDUIgiCINpyIKIAMgAyAKSxsiChBeIgtFBEAgDSAOWA0BDAILIAtBAEgNAQsCQCAJIAQgChBeIglFBEAgDSAOVA0BDAULIAlBAE4NBAsgAUEEaiEBCyABKAIAIgENAAsMAgtB8O0FQcWYA0GUBkGN3gAQAQALIABBhAFqIABBiAFqIgEoAgAQtQMgACABNgKEASAAQgA3AogBIAcgAikCABD9AxoLIAUgBkYNACAAQYQBaiAAQYgBaiIBKAIAELUDIAAgATYChAEgAEIANwKIASAAQZQBaiIEKAIAIgZFDQAgAikCACINQiCIIg6nIQUgDachByAEIQMgBiEBA0ACQCABKQIQIg2nIAcgBSANQiCIIg2nIgIgAiAFSxsQXiICDQBBACECIA0gDlENAEF/QQEgDSAOVBshAgsgAyABIAJBAEgiAhshAyABQQRqIAEgAhsoAgAiAQ0ACyADIARGDQACQCAHIAMpAhAiDacgDUIgiCINpyIBIAUgASAFSRsQXiIBRQRAIA0gDlgNAQwCCyABQQBIDQELAkAgAygCBCICRQRAIAMhAgNAIAIoAggiASgCACACRyEMIAEhAiAMDQALDAELA0AgAiIBKAIAIgINAAsLIAMgACgCkAFGBEAgACABNgKQAQsgACAAKAKYAUEBazYCmAEgBiADEOUBIAMoAhgiAARAIAMoAhwiASAAIgJHBEADQCABQQxrIAFBEGsiASgCCBC1AyAAIAFHDQALIAMoAhghAgsgAyAANgIcIAIQWgsgAxBaCyAIQRBqJAALJgAgAEGEAWogAEGIAWoiASgCABC1AyAAIAE2AoQBIABCADcCiAELqQUBCH8CQAJAAkACQAJAIAEoAgAiASgCAEECRgRAIAEoAhAEQCAAKAKsASIBIAAoArABIgNJBEAgASAAKAKEATYCACABIABBiAFqIgQoAgAiAzYCBCABIAAoAowBIgU2AgggAUEEaiECAkAgBUUEQCABIAI2AgAMAQsgAyACNgIIIABCADcCiAEgACAENgKEAQsgACABQQxqNgKsAQ8LIAEgACgCqAEiBGtBDG0iBUEBaiICQdaq1aoBTw0CQdWq1aoBIAMgBGtBDG0iA0EBdCIGIAIgAiAGSRsgA0Gq1arVAE8bIgMEfyADQdaq1aoBTw0EIANBDGwQXAVBAAsiBiAFQQxsaiICIAAoAoQBNgIAIAIgAEGIAWoiBSgCACIHNgIEIAIgACgCjAEiCDYCCCADQQxsIQkgAkEEaiEDAkAgCEUEQCACIAM2AgAMAQsgByADNgIIIABCADcCiAEgACAFNgKEASAAKAKoASEEIAAoAqwBIQELIAYgCWohAyACQQxqIQUgASAERg0EA0AgAkEMayICIAFBDGsiASgCADYCACACQQRqIgYgAUEEaiIHKAIAIgg2AgAgAiABKAIIIgk2AggCQCAJRQRAIAIgBjYCAAwBCyAIIAY2AgggASAHNgIAIAFBADYCBCABQQA2AggLIAEgBEcNAAsgACADNgKwASAAKAKsASEBIAAgBTYCrAEgACgCqAEhBCAAIAI2AqgBIAEgBEYNBQNAIAFBDGsiASABKAIEELUDIAEgBEcNAAsMBQsgAEGEAWogAEGIAWoiASgCABC1AyAAIAE2AoQBIABCADcCiAEMBQtB8O0FQcWYA0GUBkGN3gAQAQALEGQACxBqAAsgACADNgKwASAAIAU2AqwBIAAgAjYCqAELIARFDQAgBBBaCwuBAQACQCABKAIAIgEoAgBBAkYEQCABKAIQRQ0BIAAoAqwBQQxrIgEgASgCBBC1AyAAIAE2AqwBIABBhAFqIABBiAFqIgEoAgAQtQMgACABNgKEASAAQgA3AogBDwtB8O0FQcWYA0GUBkGN3gAQAQALQaXdA0HGkgJBvQFB4N4DEAEAC/IkAhl/AX4jAEGABGsiAiQAIAEoAgAhBiACQgg3AoADAkACQCAGKAIAIgRBCEcEfyAGBSACIAYoAgg2AogDIAIgBikCADcDgAMgAkGAA2ohCCAAQYgBaiIDKAIAIgRFDQEgBigCCCEHIAMhBQNAIAUgBCAEKAIQIAdJIgkbIQUgBEEEaiAEIAkbKAIAIgQNAAsgAyAFRg0BIAcgBSgCEEkNAQJAAkACQCAFKAIUKAIAIgMoAgBBCUYEQAJAAkAgAC0AtQFFBEAgACgCpAIgB0ECdGooAgBBAUcNAQsgAEEUaiADKAIMEHkgAygCDCgCBCAGKAIERg0BIABBAToAsAIMAQsgAEEUaiADEHkgAygCBA0CIAMgACgCeCADKAIIENACIgQ2AgQgA0EBIAQgAygCDCgCBEEBRhs2AgQLIAUoAhQgBjYCACAGQhY3AgAgBSgCBCIDDQIgBSEDA0AgAygCCCIEKAIAIANHIREgBCEDIBENAAsMAwsMBQtB+ZoGQcaSAkGZAkGwhQEQAQALA0AgAyIEKAIAIgMNAAsLIAUgACgChAFGBEAgACAENgKEAQsgACAAKAKMAUEBazYCjAEgACgCiAEgBRDlASAFQRBqEOsCIAUQWiAAQQE6ALQBIAEoAgAiBigCACEEIAJBgANqCyEIIARBCUYhCiAEQQlHDQAgAEGIAWoiAygCACIERQ0AIAYoAgghByADIQUDQCAFIAQgBCgCECAHSSIJGyEFIARBBGogBCAJGygCACIEDQALIAMgBUYNACAHIAUoAhBJDQACQAJAAkAgBSgCFCgCACIDKAIAQQlGBEAgAygCBA0BIANCEjcCACADIAMoAgwiBDYCCCADIAQoAgRBAUY2AgQgBSgCBCIDDQIgBSEDA0AgAygCCCIEKAIAIANHIRIgBCEDIBINAAsMAwsMBAtBh5sGQcaSAkGhA0Gz0QAQAQALA0AgAyIEKAIAIgMNAAsLIAUgACgChAFGBEAgACAENgKEAQsgACAAKAKMAUEBazYCjAEgACgCiAEgBRDlASAFQRBqEOsCIAUQWiAAQQE6ALQBCyAAKAJ8IQQgAiAAKAIEIgMtADg6AIgCIAIgAy0AOToAiQIgAiADKAJoNgKMAiACIAMoAmwiAzYCkAIgAwRAIAMgAygCBEEBajYCBAsgAiAENgKUAiAEKAKEASEDIAJBpAJqIgRCADcCACACQbACaiIFQgA3AgAgAkG8AmoiB0IANwIAIAJByAJqIglCADcCACACQewCaiILQgA3AgAgAkIANwLYAiACQgA3Ad4CIAJB+AJqIgxCADcCACACQQA7AZwCIAIgAzYCmAIgAiAENgKgAiACIAU2AqwCIAIgBzYCuAIgAiAJNgLEAiACQgA3AtACIAIgCzYC6AIgAiAMNgL0AiACQgA3AuABIAJCADcC6AEgAkEANgLwAUHUiQtBADYCACACQgA3AogBIAIgAkGIAmo2AvQBQao4IAJBiAFqIAgQA0HUiQsoAgAhA0HUiQtBADYCAAJAAkACQAJAAkAgA0EBRwRAIAIoAuABIgMEQCACIAM2AuQBIAMQWgsgAigC3AIEQEHUiQtBADYCAEENQZHJBUH2igNBxAhBptEAEAVB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRg0DDAYLIAItAIgCBEAgAkEAOgDZAgwCCyACLQDZAkUNASACQQE6ANgCDAELEAAhBCACKALgASIARQ0DIAIgADYC5AEgABBaDAMLIAgoAgBBA0YEQCACQQE6AJwCCwJAIAItANgCDQAgAigCtAINACACLQDkAg0AIAIoAswCDQAgAi0A0QINACACLQDTAg0AIAItANUCDQAgAi0A1wINACACLQDaAg0AIAItAJ0CDQAgAi0A2wINACACKAL8Ag0AIAItAJwCDQAgAigC8AINACACLQDlAg0AIAIoAqgCDQAgAigCwAINACACLQDQAg0AIAItANICDQAgAi0A1AINACACLQDWAkUNAgtB1IkLQQA2AgBB9pgBIAAgAkGIAmoQA0HUiQsoAgAhFEHUiQtBADYCACAUQQFHDQELEAAhBAwBCwJAAkAgCkUNACAGKAIEDQAgACgCfCIFKAKEASIDQcAAcQRAIAYoAgwhCCACIAAoAgQiBC0AODoAiAEgAiAELQA5OgCJASACIAQoAmg2AowBIAIgBCgCbCIENgKQASAEBEAgBCAEKAIEQQFqNgIEIAUoAoQBIQMLIAJBpAFqIgRCADcCACACQbABaiIHQgA3AgAgAkG8AWoiCUIANwIAIAJByAFqIgpCADcCACACQewBaiILQgA3AgAgAkIANwLYASACQgA3Ad4BIAJB+AFqIgxCADcCACACQQA7AZwBIAIgAzYCmAEgAiAFNgKUASACQgA3AtABIAIgBDYCoAEgAiAHNgKsASACIAk2ArgBIAIgCjYCxAEgAiALNgLoASACIAw2AvQBIAIgCDYCjAMgAkIANwJkIAJCADcCbCACQQA2AnRB1IkLQQA2AgAgAkIANwIMIAIgAkGIAWo2AnhBxwAgAkEMaiACQYwDahADQdSJCygCACEDQdSJC0EANgIAAkACQCADQQFHBEAgAigCZCIDBEAgAiADNgJoIAMQWgsgAigC3AEEQEHUiQtBADYCAEENQZHJBUH2igNBxAhBptEAEAVB1IkLKAIAIRVB1IkLQQA2AgAgFUEBRw0IEAAhBAwCCyACLQCIAQRAIAJBADoA2QEMAwsgAi0A2QFFDQIgAkEBOgDYAQwCCxAAIQQgAigCZCIARQ0AIAIgADYCaCAAEFoLIAJBiAFqEN8BGgwECyACLQDkASEWIAIoAvgBEGAgAigC7AEQYCACKALIARBgIAIoArwBEGAgAigCsAEQbyACKAKkARBvAkAgAigCkAEiA0UNACADIAMoAgQiBUEBazYCBCAFDQAgAyADKAIAKAIIEQEAIAMQdQsgFg0BCwJAIAAtALUBRQRAIAYoAgghBQwBCyAAKAKkAiAGKAIIIgVBAnRqKAIAQQFLDQELAkACQAJAAkAgAEGIAWoiCCgCACIEBEADQCAEKAIQIgMgBU0EfyADIAVPDQMgBEEEagUgBAsoAgAiBA0ACwsgACgCBCEDIAAoAnwhBCACIAE2AgwgASgCACEHIAIgAy0AODoAECACIAMtADk6ABEgAiADKAJoNgIUIAIgAygCbCIBNgIYIAJBEGohAyABBEAgASABKAIEQQFqNgIECyACIAQ2AhwgBCgChAEhASACQSxqIgRCADcCACACQQA7ASQgAiABNgIgIAJBOGoiBkIANwIAIAIgBDYCKCACQcQAaiIKQgA3AgAgAiAGNgI0IAJB0ABqIgtCADcCACACQUBrIAo2AgAgAkH0AGoiDEIANwIAIAIgCzYCTCACQgA3AlggAkIANwJgIAJCADcBZiACIAw2AnAgAkGAAWoiDUIANwIAIAIgDTYCfCACIAc2AvwDIAJCADcC5AMgAkIANwLsAyACQQA2AvQDQdSJC0EANgIAIAJCADcCjAMgAiADNgL4A0HHACACQYwDaiACQfwDahADQdSJCygCACEXQdSJC0EANgIAIBdBAUYNAiACKALkAyIBBEAgAiABNgLoAyABEFoLIAIoAmRFDQFB1IkLQQA2AgBBDUGRyQVB9ooDQcQIQabRABAFQdSJCygCACEYQdSJC0EANgIAIBhBAUcNBxAAIQQgAxDfARoMBgtB1IkLQQA2AgBBDUHNyQVBxpICQbIDQbPRABAFQdSJCygCACEZQdSJC0EANgIAIBlBAUcNBhAAIQQMBQsgAi0AEARAIAJBADoAYQwCCyACLQBhRQ0BIAJBAToAYAwBCxAAIQQgAigC5AMiAARAIAIgADYC6AMgABBaCyADEN8BGgwDCyACIAIvARA7AZABIAIgAigCFCIONgKUASACIAIoAhgiDzYCmAEgAiAFNgKIASACIAIoAgwiEDYCjAEgAkIANwIUIAIvASQhASACKQIcIRsgAiACKAIoNgKoASACIBs3ApwBIAIgATsBpAEgAkGsAWoiASACKAIsIgM2AgAgAiACKAIwIgc2ArABAkAgB0UEQCACIAE2AqgBDAELIAMgATYCCCACQgA3AiwgAiAENgIoCyACIAIoAjQ2ArQBIAJBuAFqIgcgAigCOCIDNgIAIAIgAigCPCIENgK8AQJAIARFBEAgAiAHNgK0AQwBCyADIAc2AgggAkIANwI4IAIgBjYCNAsgAiACKAJANgLAASACQcQBaiIJIAIoAkQiAzYCACACIAIoAkgiBDYCyAECQCAERQRAIAIgCTYCwAEMAQsgAyAJNgIIIAJCADcCRCACIAo2AkALIAIgAigCTDYCzAEgAkHQAWoiCiACKAJQIgM2AgAgAiACKAJUIgQ2AtQBAkAgBEUEQCACIAo2AswBDAELIAMgCjYCCCACQgA3AlAgAiALNgJMCyACIAIpAlg3AtgBIAIgAikBZjcB5gEgAiACKQJgNwLgASACIAIoAnA2AvABIAJB9AFqIgsgAigCdCIDNgIAIAIgAigCeCIENgL4AQJAIARFBEAgAiALNgLwAQwBCyADIAs2AgggAkIANwJ0IAIgDDYCcAsgAiACKAJ8NgL8ASACQYACaiIMIAIoAoABIgY2AgAgAiACKAKEASIDNgKEAgJAIANFBEAgAiAMNgL8AQwBCyAGIAw2AgggAkIANwKAASACIA02AnwLAkACQCAIIgQoAgAiA0UNAANAIAMiBCgCECIDIAVLBEAgBCIIKAIAIgMNAQwCCyADIAVPDQIgBCgCBCIDDQALIARBBGohCAtB1IkLQQA2AgBBBEGQARAGIQNB1IkLKAIAIRpB1IkLQQA2AgAgGkEBRg0CIAMgBTYCECADIBA2AhQgAi8BkAEhBSADIA82AiAgAyAONgIcIAMgBTsBGCACQgA3ApQBIAMgAi8BpAE7ASwgAyACKQKcATcCJCADIAIoAqgBNgIwIANBNGoiBSACKAKsASIGNgIAIAMgAigCsAEiDTYCOAJAIA1FBEAgAyAFNgIwDAELIAYgBTYCCCACQgA3AqwBIAIgATYCqAELIAMgAigCtAE2AjwgA0FAayIBIAIoArgBIgU2AgAgAyACKAK8ASIGNgJEAkAgBkUEQCADIAE2AjwMAQsgBSABNgIIIAJCADcCuAEgAiAHNgK0AQsgAyACKALAATYCSCADQcwAaiIBIAIoAsQBIgU2AgAgAyACKALIASIGNgJQAkAgBkUEQCADIAE2AkgMAQsgBSABNgIIIAJCADcCxAEgAiAJNgLAAQsgAyACKALMATYCVCADQdgAaiIBIAIoAtABIgU2AgAgAyACKALUASIGNgJcAkAgBkUEQCADIAE2AlQMAQsgBSABNgIIIAJCADcC0AEgAiAKNgLMAQsgAyACKQLYATcCYCADIAIpAeYBNwFuIAMgAikC4AE3AmggAyACKALwATYCeCADQfwAaiIBIAIoAvQBIgU2AgAgAyACKAL4ASIGNgKAAQJAIAZFBEAgAyABNgJ4DAELIAUgATYCCCACQgA3AvQBIAIgCzYC8AELIAMgAigC/AE2AoQBIANBiAFqIgEgAigCgAIiBTYCACADIAIoAoQCIgY2AowBAkAgBkUEQCADIAE2AoQBDAELIAUgATYCCCACQgA3AoACIAIgDDYC/AELIAMgBDYCCCADQgA3AgAgCCADNgIAIAAoAoQBKAIAIgEEQCAAIAE2AoQBIAgoAgAhAwsgACgCiAEgAxBnIAAgACgCjAFBAWo2AowBIAIoAoACIQYLIAYQYCACKAL0ARBgIAIoAtABEGAgAigCxAEQYCACKAK4ARBvIAIoAqwBEG8CQCACKAKYASIARQ0AIAAgACgCBCIBQQFrNgIEIAENACAAIAAoAgAoAggRAQAgABB1CyACKAKAARBgIAIoAnQQYCACKAJQEGAgAigCRBBgIAIoAjgQbyACKAIsEG8gAigCGCIARQ0AIAAgACgCBCIBQQFrNgIEIAENACAAIAAoAgAoAggRAQAgABB1CyACKAL4AhBgIAIoAuwCEGAgAigCyAIQYCACKAK8AhBgIAIoArACEG8gAigCpAIQbwJAIAIoApACIgBFDQAgACAAKAIEIgFBAWs2AgQgAQ0AIAAgACgCACgCCBEBACAAEHULIAJBgARqJAAPCxAAIQQgAkGIAWoQ6wIgAkEMahDABAsgAkGIAmoQ3wEaIAQQBwALAAtB8O0FQcWYA0GUBkGN3gAQAQALJwAgACgCAEHVAEcEQEH9qwZBp7cCQeUkQczBAhABAAsgACABNgIIC4QLAQd/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEoAgAiAigCAA5AAAECAwQFBxAQEBAQEBAQEBAQEAYQEBAMEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQCQ8KCxAQEBAQCBAQDRALQcfSBEHglgNB4gAQYgALIABBBGoiA0GZmAEgARBbIAIoAgBBAUcNDyACKAIIBEAgASgCAEUNESADQZqYASABEFsgAigCAEEBRw0QCyACKAIUIgFBAEwNDANAIAFBAWsiACACKAIUTw0SIAIoAhAgAEECdGoiBCgCAEUNESADQYiYASAEEFsgAUEBSyEGIAAhASAGDQALDAwLIABBBGoiA0GbmAEgARBbIAEoAgBFDQ8gA0GamAEgARBbIAIoAgBBAkcNDiACKAIQBEAgA0GImAEgAkEQahBbCyABKAIARQ0PIANBmpgBIAEQWyACKAIAQQJHDQ4gAigCDEUNDyADQYiYASACQQxqEFsgAC0AbUUEQCABKAIARQ0QIANBmpgBIAEQWwsgAigCAEECRw0OIAIoAghFDQ8gA0GImAEgAkEIahBbDwsgAEEEaiIAQZyYASABEFsgAigCAEEDRw0NIAIoAhBFDQ4gAEGImAEgAkEQahBbIAEoAgBFDQ4MEAsgAEEEaiIDQZ2YASABEFsgAigCAEEERw0MIAJBFGohBAJAAkAgAigCFARAIAAtAG0NAQsgASgCAEUNDyADQZqYASABEFsgBCgCAEUNAQsgA0GImAEgBBBbCyACKAIQRQ0JIANBiJgBIAJBEGoQWw8LIABBBGoiAEGemAEgARBbIAEoAgBFDQwgAEGamAEgARBbIAIoAgBBBUcNCyACKAIkRQ0MIABBiJgBIAJBJGoQWyACKAIAQQVHDQsgAigCIEUNCCAAQYiYASACQSBqEFsPCyAAQQRqIgBBn5gBIAEQWyABKAIARQ0LIABBmpgBIAEQWyACKAIAQRNHDQogAigCCEUNByAAQYiYASACQQhqEFsPCyAALQBtDQgCQCACLQAgDQAgACgCaCIDRQ0AIAMtAIQBQcAAcUUNCQsgAEEEakGamAEgARBbDAgLIAAtAG0NBwJAIAItABwNACAAKAJoIgNFDQAgAy0AhAFBwABxRQ0ICyAAQQRqQZqYASABEFsgACABEPAMDwsgAEEEaiIEQaCYASABEFsgASgCAEUNCCAEQZqYASABEFsgAigCAEEzRw0HIAIoAigiAEEASgRAA0AgAEEBayIDIAIoAihPDQsgAigCJCADQQJ0aiIFKAIARQ0KIARBiJgBIAUQWyABKAIARQ0KIARBmpgBIAEQWyAAQQFLIQcgAyEAIAcNAAsgAigCAEEzRw0ICyACKAIQRQ0IIARBiJgBIAJBEGoQWw8LIABBBGoiA0GhmAEgARBbIAEoAgBFDQcgA0GamAEgARBbIAIoAgBBNUcNBiACKAIUIgFBAEwNAwNAIAFBAWsiACACKAIUTw0JIAIoAhAgAEECdGoiBCgCAEUNCCADQYiYASAEEFsgAUEBSyEIIAAhASAIDQALDAMLIABBBGoiAEGimAEgARBbIAEoAgBFDQYMCAsgAEEEaiIAQaOYASABEFsgASgCAEUNBQwHCyAAQQRqIgNBpJgBIAEQWyAALQBtRQRAIAEoAgBFDQUgA0GamAEgARBbCyACKAIAQT9HDQMgAigCFEUNBCADQYiYASACQRRqEFsLDwtByuAFQeCWA0HLAUGO4wIQAQALIAAgARDwDA8LQfDtBUHFmANBlAZBjd4AEAEAC0GBgwJB05kDQbkCQa73AhABAAtBxaIBQYmiA0G8AUGmiAUQAQALIABBmpgBIAEQWwuYAQBBkAMQXCIAQQBB4AL8CwAgAEIANwKQAiAAIABBoAFqNgKcASAAIABBlAFqNgKQASAAIABBiAFqNgKEASAAQdyjCDYCACAAQgA3ApgCIABCADcCoAIgAEIANwKoAiAAQQA6ALACIABCADcC4AIgAEIANwLoAiAAQgA3AvACIABCADcC+AIgAEIANwKAAyAAQgA3AogDIAALOQAgACgCBEUEQEHo+gVBuosDQZwEQe7TAhABAAsgACACNgJ4IAAgATYCfCAAIAIQ8gwgAEIANwJ4C98KAQd/AkACQAJAAkACQAJAIAEoAgAEQCAAQRhqIgNBiZgBIAEQWwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgASgCACICKAIADkABAgADBAUHEBAQEBAQEBAQEBAQBhAQEAwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAJDwoLEBAQEBAIEBANEAsgAigCEARAIANBipgBIAEQWyACQRBqIgAoAgBFDRIgA0GGmAEgABBbIAEoAgBFDRILIANBi5gBIAEQWyACKAIMRQ0RIANBhpgBIAJBDGoQWyABKAIARQ0RIANBjJgBIAEQWyACKAIIRQ0RIANBhpgBIAJBCGoQWwwQC0HH0gRB4JYDQeIAEGIACyADQY2YASABEFsgAigCAEEBRw0QIAIoAggEQCABKAIARQ0QIANBjpgBIAEQWyACKAIAQQFHDRELIAIoAhQiAEEATA0OA0AgAEEBayIEIAIoAhRPDRIgAigCECAEQQJ0aiIFKAIARQ0QIANBhpgBIAUQWyAAQQFLIQYgBCEAIAYNAAsMDgsgA0GPmAEgARBbIAIoAgBBA0cNDyACKAIQRQ0OIANBhpgBIAJBEGoQWyABKAIARQ0OIANBjpgBIAEQWwwNCyADQZCYASABEFsgAigCAEEERw0OIAJBFGohBAJAAkAgAigCFARAIAAtAIABDQELIAEoAgBFDQ8gA0GOmAEgARBbIAQoAgBFDQELIANBhpgBIAQQWwsgAigCEEUNDCADQYaYASACQRBqEFsMDAsgA0GRmAEgARBbIAEoAgBFDQwgA0GOmAEgARBbIAIoAgBBBUcNDSACKAIkRQ0MIANBhpgBIAJBJGoQWyACKAIAQQVHDQ0gAigCIEUNCyADQYaYASACQSBqEFsMCwsgA0GSmAEgARBbIAEoAgBFDQsgA0GOmAEgARBbIAIoAgBBE0cNDCACKAIIRQ0KIANBhpgBIAJBCGoQWwwKCyAALQCAAQ0IAkAgAi0AIA0AIAAoAnwiBEUNACAELQCEAUHAAHFFDQkLIANBjpgBIAEQWwwICyAALQCAAQ0HAkAgAi0AHA0AIAAoAnwiBEUNACAELQCEAUHAAHFFDQgLIANBjpgBIAEQWyAAIAEQ7wwMCAsgA0GTmAEgARBbIAEoAgBFDQggA0GOmAEgARBbIAIoAgBBM0cNCSACKAIoIgBBAEoEQANAIABBAWsiBCACKAIoTw0MIAIoAiQgBEECdGoiBSgCAEUNCiADQYaYASAFEFsgASgCAEUNCiADQY6YASABEFsgAEEBSyEHIAQhACAHDQALIAIoAgBBM0cNCgsgAigCEEUNCCADQYaYASACQRBqEFsMBwsgA0GUmAEgARBbIAEoAgBFDQcgA0GOmAEgARBbIAIoAgBBNUcNCCACKAIUIgBBAEwNBgNAIABBAWsiBCACKAIUTw0KIAIoAhAgBEECdGoiBSgCAEUNCCADQYaYASAFEFsgAEEBSyEIIAQhACAIDQALDAYLIANBlZgBIAEQWyABKAIARQ0GIANBjpgBIAEQWwwFCyADQZaYASABEFsgASgCAEUNBSADQY6YASABEFsMBAsgA0GXmAEgARBbIAAtAIABRQRAIAEoAgBFDQUgA0GOmAEgARBbCyACKAIAQT9HDQUgAigCFEUNBCADQYaYASACQRRqEFsMAwsMAwtByuAFQeCWA0HLAUGO4wIQAQALIAAgARDvDAsgASgCAARAIANBmJgBIAEQWw8LC0GBgwJB05kDQbkCQa73AhABAAtB8O0FQcWYA0GUBkGN3gAQAQALQcWiAUGJogNBvAFBpogFEAEAC+8PARh/IwBBsAJrIgMkAAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCBARAIAAgACgCACgCEBECAARAIAMgACgCBCICKQI4NwP4ASADIAIpAjA3A/ABIAMgAikCKDcD6AEgAyACKQIgNwPgASADIAIpAhg3A9gBIANBgAJqIAJBQGsQ4wEhBEHUiQtBADYCAEGaASADQZQCaiACQdQAahACIQVB1IkLKAIAIRFB1IkLQQA2AgAgEUEBRg0CIAMgAigCaDYCqAIgAyACKAJsIgI2AqwCIAIEQCACIAIoAgRBAWo2AgQLIANBASADKALgASICIAJBAEobNgLgASADIAMpA+gBNwMYIAMgAykD8AE3AyAgAyADKQP4ATcDKCADIAMpA+ABNwMQIANBASADKALcASICIAJBAEobNgLcAUHUiQtBADYCACADIAMpA9gBNwMIQZsBIANBMGogBBACIQRB1IkLKAIAIQJB1IkLQQA2AgACQCACQQFHBEBB1IkLQQA2AgBBmgEgA0HEAGogBRACIQVB1IkLKAIAIRJB1IkLQQA2AgAgEkEBRg0FIAMgAygCrAIiAjYCXCADIAMoAqgCNgJYIAIEQCACIAIoAgRBAWo2AgQLIANBADYCeCADIAMpAxA3AoQBIAMgAykDGDcCjAEgAyADKQMgNwKUASADIAMpAyg3ApwBIANCADcCcCADQfzsCTYCZCADIAMpAwg3AnxB1IkLQQA2AgAgAyABNgJoIAMgAUGoAWo2AmxBmwEgA0GkAWogBBACIQFB1IkLKAIAIQJB1IkLQQA2AgACQCACQQFHBEBB1IkLQQA2AgBBmgEgA0G4AWogBRACGkHUiQsoAgAhE0HUiQtBADYCACATQQFHBEAgAyADKAJYNgLMASADIAMoAlwiATYC0AEgAQRAIAEgASgCBEEBajYCBAsgA0EAOwHUASADQQhqEGEgA0EBOgDUASAAKAIAKAIUIRRB1IkLQQA2AgAgFCAAEAYhAEHUiQsoAgAhFUHUiQtBADYCACAVQQFGDQQgAygCZCgCCCEWQdSJC0EANgIAIBYgA0HkAGoiASAAEANB1IkLKAIAIRdB1IkLQQA2AgAgF0EBRg0EQdSJC0EANgIAQZcBIAEQCkHUiQsoAgAhGEHUiQtBADYCACAYQQFGDQQgA0H87Ak2AmQgA0H8AGoQYSADKAJwIgEEQCADKAJ0IgAgASICRwRAA0AgAEEEayIAKAIAIQIgAEEANgIAIAIEQCACIAIoAgAoAgQRAQALIAAgAUcNAAsgAygCcCECCyADIAE2AnQgAhBaCyADQdgBahBhDBALEAAhACABEGsMAQsQACEACyADQfAAahDgASADQQhqEGEMDgsQACEADA0LEAAhACADQeQAahB8GgwMCyAAIAE2AnwgAEEUaiEJIAEoAhgiAiABKAIcIgRHBEADQCACKAIAIgUoAgxFBEAgCSAFQSBqEPAHCyACQQRqIgIgBEcNAAsLIAEoAgwiAiABKAIQIgVHBEADQCACKAIAIgQoAgxFBEAgACAENgJ4IAAgBBDyDCAAQQA2AngLIAJBBGoiAiAFRw0ACwsgASgCMCIKIAEoAjQiDkYNCSAAQRxqIQ0DQCAKKAIAIgIoAgwEQCAJIAJBFGoQ8AcLIAIoAhwiCyACKAIgIg9HBEAgACgCbCEGIAAoAnAhBCAAKAIYIQUDQCADIAsoAgAiBzYCZCAEIAZrIhBBA3UiAkEAIAVrRw0GIAdFDQcCQCAFQQlNBEAgACAFQQFqIgY2AhggDSAFQQN0aiICQYaYATYCACACIANB5ABqNgIEIAQhAiAGIQUMAQsgACgCdCIIIARLBEAgBEGGmAE2AgAgBCADQeQAajYCBCAAIARBCGoiAjYCcAwBCyACQQFqIgdBgICAgAJPDQlB/////wEgCCAGayIIQQJ1IgwgByAHIAxJGyAIQfj///8HTxsiB0GAgICAAk8NCiAQIAdBA3QiDBBcIghqIgdBhpgBNgIAIAggAkEDdGogA0HkAGo2AgQgB0EIaiECIAQgBkcEQANAIAdBCGsiByAEQQhrIgQpAgA3AgAgBCAGRw0ACwsgACAIIAxqNgJ0IAAgAjYCcCAAIAc2AmwgBkUNACAGEFogACgCcCECIAAoAhghBQtBACAFayACIAAoAmwiBmtBA3VHBEADQAJAIAIgBkYEQCAFRQ0OIA0gBUEBayIEQQN0aiIFKAIEIQIgBSgCACEGIAAgBDYCGAwBCyACQQhrIgQoAgAhBiAEKAIEIQIgACAENgJwCyAJIAI2AgAgAigCAEUNDSAAIAIgBhEAAEEAIAAoAhgiBWsgACgCcCICIAAoAmwiBmtBA3VHDQALCyACIQQgC0EEaiILIA9HDQALCyAKQQRqIgogDkcNAAsMCQtB6PoFQbqLA0H8A0HaywIQAQALEAAhGSAEEGsgGRAHAAsQACEAIAQQawwIC0HNygVB05kDQcgCQdD4AhABAAtBgYMCQdOZA0G5AkGu9wIQAQALEGQACxBqAAtB3sQFQbCUA0HaAEH9+wIQAQALQfWCAkHTmQNBzQJB0PgCEAEACyABKAJIIgIgASgCTCIBRwRAA0AgAigCACIELQAURQRAIAkgBEEYahDwBwsgAkEEaiICIAFHDQALCyAAQQA2AnwLIANBsAJqJAAPCyADQdgBahBhIAAQBwALCQAgABDzDBBaCyUAIAAoAgBB1QBHBEBB/asGQae3AkHqJEHxuQMQAQALIAAoAgwLmwEBA38jAEEgayIDJABBFBBcIgRCADcCACAEQQA2AhAgBEIANwIIIAMgARBsNgIcIAMgATYCGCADIAMpAhg3AwggA0EQaiIBIANBCGoQZSAEIAMpAxA3AgggAyACEGw2AhwgAyACNgIYIAMgAykCGDcDACABIAMQZSAEIAMpAxA3AgAgBEEBNgIQIAAgBBDfBCEFIANBIGokACAFC7IJARF/IwBBgAFrIgIkAAJAIAEoAgAiCygCAEEzRw0AIAAoAoQBIgUgAEGIAWoiCkYNAAJAAkACQAJAA0ACQAJAIAUtAGtFBEAgBSgCjAFFDQELIAYgCEcEQCAIIAUoAhA2AgAgCEEEaiEIDAELAkACQAJAIAggB2siBkECdSIJQQFqIgNBgICAgARPBEBB1IkLQQA2AgBB+AIQCUHUiQsoAgAhDEHUiQtBADYCACAMQQFGDQEMCQtB/////wMgBkEBdSIBIAMgASADSxsgBkH8////B08bIgZFBEBBACEDDAMLIAZBgICAgARJDQFB1IkLQQA2AgBBAxAJQdSJCygCACENQdSJC0EANgIAIA1BAUcNCAsQACEBIARFDQUMBgtB1IkLQQA2AgBBBCAGQQJ0EAYhA0HUiQsoAgAhDkHUiQtBADYCACAOQQFGDQILIAMgCUECdGoiASAFKAIQNgIAIAEhBCAHIAhHBEADQCAEQQRrIgQgCEEEayIIKAIANgIAIAcgCEcNAAsLIAZBAnQgA2ohBiABQQRqIQggBwRAIAcQWgsgBCEHCwJAIAUoAgQiAwRAA0AgAyIBKAIAIgMNAAwCCwALA0AgBSgCCCIBKAIAIAVHIQ8gASEFIA8NAAsLIAogASIFRw0BDAULCxAAIQEgByIEDQELIAEQBwALIAQQWiABEAcACwALAkAgByAIRg0AIAAoAogBIgZFDQAgByEJA0ACQCAGRQ0AIAkoAgAhBSAKIQMgBiEBA0AgAyABIAEoAhAgBUkiBBshAyABQQRqIAEgBBsoAgAiAQ0ACyADIApGDQAgBSADKAIQSQ0AIAMhBAJAIAMoAgQiBQRAA0AgBSIBKAIAIgUNAAwCCwALA0AgBCgCCCIBKAIAIARHIRAgASEEIBANAAsLIAMgACgChAFGBEAgACABNgKEAQsgACAAKAKMAUEBazYCjAEgBiADEOUBIANBEGoQ6wIgAxBaCyAJQQRqIgkgCEYNASAKKAIAIQYMAAsACyAHRQ0AIAcQWgsgACgCfCEBIAIgACgCBCIELQA4OgAIIAIgBC0AOToACSACIAQoAmg2AgwgAiAEKAJsIgQ2AhAgBARAIAQgBCgCBEEBajYCBAsgAiABNgIUIAEoAoQBIQogAkEkaiIJQgA3AgAgAkEwaiIDQgA3AgAgAkE8aiIFQgA3AgAgAkHIAGoiB0IANwIAIAJB7ABqIgRCADcCACACQgA3AlggAkIANwFeIAJB+ABqIgFCADcCACACQQA7ARwgAiAKNgIYIAIgCTYCICACIAM2AiwgAiAFNgI4IAIgBzYCRCACQgA3AlAgAiAENgJoIAIgATYCdAJAIAsoAgBBA0YEf0HUiQtBADYCACACQQE6ABxBsJcBIAAgAkEIahADQdSJCygCACERQdSJC0EANgIAIBFBAUYNASACKAJ4BUEACxBgIAIoAmwQYCACKAJIEGAgAigCPBBgIAIoAjAQbyACKAIkEG8CQCACKAIQIgFFDQAgASABKAIEIgBBAWs2AgQgAA0AIAEgASgCACgCCBEBACABEHULIAJBgAFqJAAPCxAAIRIgAkEIahDfARogEhAHAAuLBQEJfwJAAkACQAJAIAEoAgAiBCgCAEEDRgRAAkAgBCgCBA0AIAAoAowBRQ0AAkACQCAEKAIQIgIoAgBBAUcNACACKAIIDQAgAigCFCIBRQ0AIAIoAhAgAUECdGpBBGsiBSgCACgCAEEWRg0BCyAAKAKIAyIBIAAoAowDRwRAIAEgBDYCACAAIAFBBGo2AogDDwsgASAAKAKEAyIFayICQQJ1IgdBAWoiA0GAgICABE8NA0H/////AyACQQF1IgYgAyADIAZJGyACQfz///8HTxsiAwR/IANBgICAgARPDQUgA0ECdBBcBUEACyIGIAdBAnRqIgIgBDYCACACQQRqIQQgASAFRwRAA0AgAkEEayICIAFBBGsiASgCADYCACABIAVHDQALIAAoAoQDIQELIAAgBiADQQJ0ajYCjAMgACAENgKIAyAAIAI2AoQDIAFFDQEgARBaDwsCQAJAIABBiAFqIgcoAgAiAUUNACAAQYQBaiIGKAIAKAIQIQMgAEEUaiEIIAAoAnwhCQNAIAEoAhAiCiADSwRAIAEoAgAiAQ0BDAILIAMgCk0NAiABKAIEIgENAAsLQbHABBDqAgALIAEoAhQiAygCACIBKAIAQQlHDQUgBSABKAIMNgIAIAlBqAFqQQhBBBBdIgVCFjcCACADIAU2AgAgAkEAQQBBABDmASACKAIERQ0EIAQgBCgCECgCBCICNgIEIAEgBDYCDCACQQFGBEAgAUEBNgIECyAIIAEQeSAGIAAoAogBEJcDIABBAToAtAEgACAHNgKEASAAQgA3AogBCw8LDAMLEGQACxBqAAtBko4EQcaSAkHuA0G2zQIQAQALQfDtBUHFmANBlAZBjd4AEAEAC+kJAhR/AX4jAEEgayIDJAACQAJAAkACQAJAAkACQAJAAkACQAJAIAEoAgAiAigCAEEBaw4EBwECAAILIAJBCGohBCACKAIQBEAgA0EIaiAAQZwBaiAEKQIAIhYgFhCwAgwGCyADQQhqIABBkAFqIAQpAgAgBBD6AiADKAIIIQUgAyABNgIIIAMgACgChAEiBjYCDCADQRBqIgcgAEGIAWoiAigCACIENgIAIAMgACgCjAEiCDYCFAJAIAhFBEAgAyAHNgIMIAchBgwBCyAEIAc2AgggAEIANwKIASAAIAI2AoQBCyADQQxqIQ0gBSgCHCICIAUoAiAiCUkEQCACIAE2AgAgAiADKAIMNgIEIAJBCGoiASADKAIQIgQ2AgAgAiADKAIUIgY2AgwCQCAGRQRAIAIgATYCBAwBCyAEIAE2AgggA0IANwIQIAMgBzYCDAsgBSACQRBqNgIcDAULIAIgBSgCGCIIayIKQQR1IgtBAWoiBEGAgICAAU8EQEHUiQtBADYCAEGzlwEQCUHUiQsoAgAhDkHUiQtBADYCACAOQQFGDQgMCQtB/////wAgCSAIayIJQQN1IgwgBCAEIAxJGyAJQfD///8HTxsiBEGAgICAAU8EQEHUiQtBADYCAEEDEAlB1IkLKAIAIQ9B1IkLQQA2AgAgD0EBRw0JDAgLQdSJC0EANgIAQQQgBEEEdCIMEAYhCUHUiQsoAgAhEEHUiQtBADYCACAQQQFGDQcgCSAKaiIEIAE2AgAgCSALQQR0aiIBIAY2AgQgAUEIaiIGIAMoAhAiCjYCACABIAMoAhQiCzYCDAJAIAtFBEAgASAGNgIEDAELIAogBjYCCCADQgA3AhAgAyAHNgIMIAUoAhghCCAFKAIcIQILIAkgDGohASAEQRBqIQcgAiAIRg0CA0AgBEEQayIEIAJBEGsiAigCADYCACAEIAIoAgQ2AgQgBEEIaiIGIAJBCGoiCSgCACIKNgIAIAQgAigCDCILNgIMAkAgC0UEQCAEIAY2AgQMAQsgCiAGNgIIIAIgCTYCBCACQQA2AgggAkEANgIMCyACIAhHDQALIAUgATYCICAFKAIcIQIgBSAHNgIcIAUoAhghCCAFIAQ2AhggAiAIRg0DA0AgAkEMayACQRBrIgIoAggQlwMgAiAIRw0ACwwDCyACKAIQRQ0EQbLdA0HGkgJBkQFBvIACEAEACyADQgA3AgxB1IkLQQA2AgAgAyADQQxqIgc2AghBzx0gAiADQQhqEANB1IkLKAIAIRFB1IkLQQA2AgAgEUEBRg0HIAcgAygCCCICRwRAIABBnAFqIQYDQCACKQIQIRZB1IkLQQA2AgBB/QUgA0EYaiAGIBYgFhDlAkHUiQsoAgAhEkHUiQtBADYCACASQQFGDQkCQCACIgEoAgQiBARAA0AgBCICKAIAIgQNAAwCCwALA0AgASgCCCICKAIAIAFHIRMgAiEBIBMNAAsLIAIgB0cNAAsLIAMoAgwQYAwDCyAFIAE2AiAgBSAHNgIcIAUgBDYCGAsgCEUNACAIEFoLIA0gAygCEBCXAwsgAEGEAWogAEGIAWoiASgCABCXAyAAIAE2AoQBIABCADcCiAELIANBIGokAA8LEAAhFCANIAMoAhAQlwMgFBAHAAsACxAAIRUgAygCDBBgIBUQBwAL4ycCL38DfiMAQZADayICJAACQAJAAkACQAJAAkACQCABKAIAIggoAgBBAUYEQCAIKAIIRQ0DIAJBhAFqIABBkAFqIAhBCGoiCikCACAKEPoCIAooAgBFDQMgAigChAEiASgCGCEPIAEoAhwhECAKKQIAITICQCAAKAKgASIBBEAgMqchBCAyQiCIIjGnIQMDQAJAAkAgBCABKQIQIjOnIgYgM0IgiCIzpyIFIAMgAyAFSxsiBRBeIgdFBEAgMSAzWg0BDAILIAdBAEgNAQsCQCAGIAQgBRBeIgZFBEAgMSAzVg0BDAULIAZBAE4NBAsgAUEEaiEBCyABKAIAIgENAAsLIAJBhAFqIABBkAFqIgsgMiAKEPoCIAIgAigChAEiASgCGCIFNgKQAiACIAEoAhwiBzYClAIgAiABKAIgNgKYAiABQQA2AiAgAUIANwIYAkAgAEGUAWoiBCgCACIBRQ0AIAopAgAiMUIgiCIypyEMIDGnIQkgBCEGA0ACQCABKQIQIjGnIAkgDCAxQiCIIjGnIgMgAyAMSxsQXiIDDQBBACEDIDEgMlENAEF/QQEgMSAyVBshAwsgBiABIANBAEgiAxshBiABQQRqIAEgAxsoAgAiAQ0ACyAEIAZGDQACQCAJIAYpAhAiMacgMUIgiCIxpyIBIAwgASAMSRsQXiIBRQRAIDEgMlgNAQwCCyABQQBIDQELIAsgBhD0DAsgBSAHRwRAIAUoAgAoAgAiASgCAEEERwRAQY3eACEBQZQGIQNBxZgDIQZB8O0FIQQMBwsgASgCEARAQcnNAiEBQYUEIQNBxpICIQZB08sDIQQMBwsCQCAAQYQBaiIRKAIAIgEgAEGIAWoiDEYNAEEBIAcgBWtBBHUiBCAEQQFNGyEJA0AgASEEQQAhAwNAIAUgA0EEdGooAggiAQRAIAQoAhAhBgNAIAEoAhAiCyAGTQR/IAYgC00EQCADQQFqIgMgCUcNBCACQfwAaiEOIAJB8ABqIQ0gAkHMAGohEiACQUBrIRMgAkE0aiEUIAJBKGohFSACQfQBaiEWIAJB6AFqIRcgAkHEAWohGCACQbgBaiEZIAJBrAFqIRogAkGgAWohG0EAIQMCQAJAAkACQAJAAkACQANAAkACQCAFIANBBHRqIgQoAggiAUUNAANAIAEoAhAiCSAGSwRAIAEoAgAiAQ0BDAILIAYgCU0NAiABKAIEIgENAAsLQdSJC0EANgIAQZEBQbHABBAKQdSJCygCACEdQdSJC0EANgIAIB1BAUcNFxAAIQEMGQsgBCgCACgCACIJKAIAQQRHBEBB1IkLQQA2AgBBDUHw7QVBxZgDQZQGQY3eABAFQdSJCygCACEeQdSJC0EANgIAIB5BAUcNFxAAIQEMGQsgASgCFCILKAIAIgQoAgBBCUcEQEHUiQtBADYCAEENQfDtBUHFmANBlAZBjd4AEAVB1IkLKAIAIR9B1IkLQQA2AgAgH0EBRw0XEAAhAQwZCyAJKAIUIgEEQCACQQA2AowCIAJCADcChAIgAiABNgIMIAJCADcChAEgAkEANgLsASACQgA3AuQBIAJCADcC3AFB1IkLQQA2AgAgAiACQYQCajYC8AFBjDMgAkGEAWogAkEMahADQdSJCygCACEBQdSJC0EANgIAAkACQCABQQFHBEAgAigC3AEiAQRAIAIgATYC4AEgARBaC0EKIQcgAigChAIiBSEBIAUgAigCiAIiHEcNAQwCCxAAIQEgAigC3AEiAEUNCiACIAA2AuABIAAQWgwKCwNAIAQgASgCAEcEQCAcIAFBBGoiAUcNAQwCCwsgAkIWNwL8ASALIAJB/AFqNgIAIAkoAhQhByAAKAJ8IQUgAiAAKAIEIgEtADg6AIQBIAIgAS0AOToAhQEgAiABKAJoNgKIASACIAEoAmwiATYCjAEgAQRAIAEgASgCBEEBajYCBAsgAiAFNgKQASAFKAKEASEBIAJCADcCoAEgAkEAOwGYASACIAE2ApQBIAJCADcCrAEgAiAbNgKcASACQgA3ArgBIAIgGjYCqAEgAkIANwLEASACIBk2ArQBIAJCADcC6AEgAiAYNgLAASACQgA3AdoBIAJCADcC1AEgAkIANwLMASACQgA3AvQBIAIgFzYC5AEgAiAWNgLwASACIAc2ApwCIAJCADcCDCACQQA2AnQgAkIANwJsIAJCADcCZEHUiQtBADYCACACIAJBhAFqNgJ4QccAIAJBDGogAkGcAmoQA0HUiQsoAgAhAUHUiQtBADYCAAJAIAFBAUcEQCACKAJkIgEEQCACIAE2AmggARBaCyACKALYAQRAQdSJC0EANgIAQQ1BkckFQfaKA0HECEGm0QAQBUHUiQsoAgAhIEHUiQtBADYCACAgQQFHDRsQACEBDAgLIAItAIQBBEAgAkEAOgDVAQwCCyACLQDVAUUNASACQQE6ANQBDAELEAAhASACKAJkIgBFDQYgAiAANgJoIAAQWgwGCyAAKAJ8IQUgAiAAKAIEIgEtADg6AAwgAiABLQA5OgANIAIgASgCaDYCECACIAEoAmwiATYCFCABBEAgASABKAIEQQFqNgIECyACIAU2AhggBSgChAEhASACQgA3AiggAkEAOwEgIAIgATYCHCACQgA3AjQgAiAVNgIkIAJCADcCQCACIBQ2AjAgAkIANwJMIAIgEzYCPCACQgA3AnAgAiASNgJIIAJCADcBYiACQgA3AlwgAkIANwJUIAJCADcCfCACIA02AmwgAiAONgJ4IAIgBDYCjAMgAkIANwKcAiACQQA2AoQDIAJCADcC/AIgAkIANwL0AkHUiQtBADYCACACIAJBDGo2AogDQccAIAJBnAJqIAJBjANqEANB1IkLKAIAIQFB1IkLQQA2AgACQCABQQFHBEAgAigC9AIiAQRAIAIgATYC+AIgARBaCyACKAJgBEBB1IkLQQA2AgBBDUGRyQVB9ooDQcQIQabRABAFQdSJCygCACEhQdSJC0EANgIAICFBAUcNGxAAIQEMBwsgAi0ADARAIAJBADoAXQwCCyACLQBdRQ0BIAJBAToAXAwBCxAAIQEgAigC9AIiAEUNBSACIAA2AvgCIAAQWgwFCyALIAQ2AgBB1IkLQQA2AgBB8wUgAkGEAWogAkEMahACIQRB1IkLKAIAISJB1IkLQQA2AgAgIkEBRg0DIAIoAnwQYCACKAJwEGAgAigCTBBgIAIoAkAQYCACKAI0EG8gAigCKBBvAkAgAigCFCIBRQ0AIAEgASgCBCIFQQFrNgIEIAUNACABIAEoAgAoAggRAQAgARB1CyACKAL0ARBgIAIoAugBEGAgAigCxAEQYCACKAK4ARBgIAIoAqwBEG8gAigCoAEQbwJAIAIoAowBIgFFDQAgASABKAIEIgVBAWs2AgQgBQ0AIAEgASgCACgCCBEBACABEHULQQFBCiAEGyEHIAIoAoQCIQULIAUEQCACIAU2AogCIAUQWgsgB0EKRw0PIAIoApQCIQcgAigCkAIhBQsgA0EBaiIDIAcgBWtBBHUiAUkNAAsgCCgCFCIEBEAgCCgCECAEQQJ0akEEaygCACgCAEEWRg0FCyAAKALwAiIBIAAoAvQCRg0DIAEgCDYCACAAIAFBBGo2AvACDA0LEAAhAQsgAkEMahDfARoLIAJBhAFqEN8BGgwDCyABIAAoAuwCIgZrIgRBAnUiB0EBaiIDQYCAgIAETwRAQdSJC0EANgIAQZcDEAlB1IkLKAIAISNB1IkLQQA2AgAgI0EBRw0SDAILAkBB/////wMgBEEBdSIFIAMgAyAFSRsgBEH8////B08bIgRFBEBBACEFDAELIARBgICAgARPBEBB1IkLQQA2AgBBAxAJQdSJCygCACEkQdSJC0EANgIAICRBAUcNEwwDC0HUiQtBADYCAEEEIARBAnQQBiEFQdSJCygCACElQdSJC0EANgIAICVBAUYNAgsgBSAHQQJ0aiIDIAg2AgAgA0EEaiEIIAEgBkcEQANAIANBBGsiAyABQQRrIgEoAgA2AgAgASAGRw0ACyAAKALsAiEBCyAAIAUgBEECdGo2AvQCIAAgCDYC8AIgACADNgLsAiABRQ0JIAEQWgwJCyAMKAIAIQRB1IkLQQA2AgBBsZcBIAQgBhACIQRB1IkLKAIAIQNB1IkLQQA2AgACQCADQQFHBEACQAJ/IAQoAgAiBCgCACIDKAIAQQlHBEBBlAYhA0HFmAMhBkHw7QUhBEGN3gAMAQsgCCgCFCIJDQFBvAEhA0GJogMhBkHFogEhBEGmiAULIQBB1IkLQQA2AgBBDSAEIAYgAyAAEAVB1IkLKAIAISZB1IkLQQA2AgAgJkEBRw0TEAAhAQwVCyAIKAIQIAlBAnRqQQRrIAMoAgw2AgAgBCgCAEIWNwIAIAUgB0cEQEEBIAEgAUEBTRshCUEAIQQDQAJAAkAgBSAEQQR0aiIDKAIIIgFFDQADQCABKAIQIgcgBksEQCABKAIAIgENAQwCCyAGIAdNDQIgASgCBCIBDQALC0HUiQtBADYCAEGRAUGxwAQQCkHUiQsoAgAhJ0HUiQtBADYCACAnQQFHDRUQACEBDBcLIAMoAgAiCygCACIDKAIAQQRHBEBBjd4AIQFBlAYhA0HFmAMhBkHw7QUhBAwECyADKAIQBEBByc0CIQFB3QQhA0HGkgIhBkGwywMhBAwECyABKAIUIg4oAgAiASgCAEEJRwRAQdSJC0EANgIAQQ1B8O0FQcWYA0GUBkGN3gAQBUHUiQsoAgAhKEHUiQtBADYCACAoQQFHDRUQACEBDBcLAkAgAygCFARAIAMgATYCECABKAIIIQcgACgCeCENQdSJC0EANgIAQbkBIA0gBxACIQdB1IkLKAIAIQ1B1IkLQQA2AgACQAJAIA1BAUYNACABIAc2AgQgAUEBIAcgASgCDCgCBEEBRhs2AgQgACgCfCEBQdSJC0EANgIAQQwgAUGoAWpBCEEEEAQhAUHUiQsoAgAhKUHUiQtBADYCACApQQFGDQAgAUIWNwIAIA4gATYCAAJAAkAgAygCFCIBRQ0AIAEoAgRBAUYNACADKAIQIgEEQCADIAEoAgQ2AgQMAgsgA0EANgIEDAELIANBATYCBAsgACgCfCEBQdSJC0EANgIAQQwgAUGoAWpBDEEEEAQhAUHUiQsoAgAhKkHUiQtBADYCACAqQQFGDQEgASADNgIIIAFCEjcCACABIAMoAgRBAUY2AgQgCyABNgIADAMLEAAhAQwZCxAAIQEMGAsgAyABKAIMNgIQIAFCFjcCAAsgBEEBaiIEIAlHDQALCyAAKAJ8IQFB1IkLQQA2AgBBrTsgASAGIAgQBCEBQdSJCygCACEEQdSJC0EANgIAAkAgBEEBRwRAQdSJC0EANgIAQbKXASAAQRRqIAEQA0HUiQsoAgAhK0HUiQtBADYCACArQQFGDQEgESAAKAKIARCXAyAAQQE6ALQBIAAgDDYChAEgAEIANwKIAUHUiQtBADYCAEGDAyAIQQBBAEEAEAVB1IkLKAIAISxB1IkLQQA2AgAgLEEBRg0BDAwLEAAhAQwVCxAAIQEMFAsQACEBDBMLQdSJC0EANgIAQQ0gBCAGIAMgARAFQdSJCygCACEtQdSJC0EANgIAIC1BAUcNEBAAIQEMEgsQACEBDBELIAIoAoQCIgBFDRAgAiAANgKIAiAAEFoMEAsgAUEEagUgAQsoAgAiAQ0ACwsLAkAgBCgCBCIDBEADQCADIgEoAgAiAw0ADAILAAsDQCAEKAIIIgEoAgAgBEchLiABIQQgLg0ACwsgASAMRw0ACwsgAigCkAIhBQsgBQRAIAIoApQCIgEgBSIDRwRAA0AgAUEMayABQRBrIgEoAggQlwMgASAFRw0ACyACKAKQAiEDCyACIAU2ApQCIAMQWgsgCigCACEECyAERQ0DIAAoAqABIgFFDQIgAEGcAWohBiAKKQIAIjFCIIgiMqchBCAxpyEDA0ACQAJAIAMgASkCECIxpyIFIDFCIIgiMaciCCAEIAQgCEsbIggQXiIHRQRAIDEgMlgNAQwCCyAHQQBIDQELAkAgBSADIAgQXiIFRQRAIDEgMlQNAQwFCyAFQQBODQQLIAFBBGohAQsgASgCACIBDQALDAILQfDtBUHFmANBlAZBjd4AEAEACyAAQYQBaiAAQYgBaiIBKAIAEJcDIAAgATYChAEgAEIANwKIASAGIAopAgAQ/QMaCyAPIBBGDQAgAEGEAWogAEGIAWoiASgCABCXAyAAIAE2AoQBIABCADcCiAEgAEGUAWoiBCgCACIBRQ0AIAopAgAiMUIgiCIypyEFIDGnIQggBCEGA0ACQCABKQIQIjGnIAggBSAxQiCIIjGnIgMgAyAFSxsQXiIDDQBBACEDIDEgMlENAEF/QQEgMSAyVBshAwsgBiABIANBAEgiAxshBiABQQRqIAEgAxsoAgAiAQ0ACyAEIAZGDQAgAEGQAWohLwJAIAggBikCECIxpyAxQiCIIjGnIgEgBSABIAVJGxBeIgFFBEAgMSAyWA0BDAILIAFBAEgNAQsgLyAGEPQMCyACQZADaiQADwtB1IkLQQA2AgBBDSAEIAYgAyABEAVB1IkLKAIAITBB1IkLQQA2AgAgMEEBRg0BCwALEAAhAQsgAigCkAIiAwRAIAIoApQCIgQgAyIARwRAA0AgBEEMayAEQRBrIgQoAggQlwMgAyAERw0ACyACKAKQAiEACyACIAM2ApQCIAAQWgsgARAHAAsmACAAQYQBaiAAQYgBaiIBKAIAEJcDIAAgATYChAEgAEIANwKIAQslACAAKAIAQdUARwRAQf2rBkGntwJB4CRB9sQCEAEACyAAKAIIC+IKAQp/IwBBEGsiCSQAAkACQAJAAkACQAJAAkACQAJAAkAgASgCACICKAIAQQJGBEAgAigCEARAIAAoAqwBIgIgACgCsAEiBEkEQCACIAAoAoQBNgIAIAIgAEGIAWoiAygCACIENgIEIAIgACgCjAEiBjYCCCACQQRqIQECQCAGRQRAIAIgATYCAAwBCyAEIAE2AgggAEIANwKIASAAIAM2AoQBCyAAIAJBDGo2AqwBDAsLIAIgACgCqAEiA2tBDG0iBkEBaiIBQdaq1aoBTw0CQdWq1aoBIAQgA2tBDG0iBEEBdCIFIAEgASAFSRsgBEGq1arVAE8bIgQEfyAEQdaq1aoBTw0EIARBDGwQXAVBAAsiBSAGQQxsaiIBIAAoAoQBNgIAIAEgAEGIAWoiBigCACIHNgIEIAEgACgCjAEiCDYCCCAEQQxsIQogAUEEaiEEAkAgCEUEQCABIAQ2AgAMAQsgByAENgIIIABCADcCiAEgACAGNgKEASAAKAKoASEDIAAoAqwBIQILIAUgCmohBCABQQxqIQYgAiADRg0EA0AgAUEMayIBIAJBDGsiAigCADYCACABQQRqIgUgAkEEaiIHKAIAIgg2AgAgASACKAIIIgo2AggCQCAKRQRAIAEgBTYCAAwBCyAIIAU2AgggAiAHNgIAIAJBADYCBCACQQA2AggLIAIgA0cNAAsgACAENgKwASAAKAKsASECIAAgBjYCrAEgACgCqAEhAyAAIAE2AqgBIAIgA0YNCQNAIAJBDGsiAiACKAIEEJcDIAIgA0cNAAsMCQsCQCACKAIEDQAgAigCDCgCBA0AIAAoAowBRQ0AIAkgACgCeCAAKAKEASgCECIEENACIgY2AgwgCUEMahCXBEUNAAJAAkAgAigCDCIDKAIAQQFHDQAgAygCCA0AIAMoAhQiBUUNACADKAIQIAVBAnRqQQRrKAIAKAIAQRZGDQELIAAoAvwCIgEgACgCgANHBEAgASACNgIAIAAgAUEEajYC/AIMAgsgASAAKAL4AiIGayIDQQJ1IgVBAWoiBEGAgICABE8NBkH/////AyADQQF1IgcgBCAEIAdJGyADQfz///8HTxsiBAR/IARBgICAgARPDQUgBEECdBBcBUEACyIHIAVBAnRqIgMgAjYCACADQQRqIQIgASAGRwRAA0AgA0EEayIDIAFBBGsiASgCADYCACABIAZHDQALIAAoAvgCIQELIAAgByAEQQJ0ajYCgAMgACACNgL8AiAAIAM2AvgCIAFFDQEgARBaDAELIAAoAnwhCyAAKAKIASAEEPQHKAIAIgcoAgAiBCgCAEEJRw0LIAMoAhQiCEUNBiADKAIQIAhBAnRqQQRrIAQoAgw2AgAgC0GoAWoiBUEIQQQQXSIIQhY3AgAgByAINgIAIANBAEEAQQAQ5gEgAygCBEUNByAEKAIIIQcgBUEMQQQQXSIDIAc2AgggA0EINgIAIAMgBjYCBCACIAM2AhAgAhCcBiAAKAKkAiAEKAIIQQJ0aiIDIAMoAgBBAWo2AgAgAigCBCIDRQ0IIAQgAjYCDCADQQFGBEAgBEEBNgIECyABIAQ2AgAgAEEBOgC0AQsgAEGEAWogAEGIAWoiASgCABCXAyAAIAE2AoQBIABCADcCiAEMCQsMCQsQZAALEGoACyAAIAQ2ArABIAAgBjYCrAEgACABNgKoAQwECxBkAAtBxaIBQYmiA0G8AUGmiAUQAQALQayOBEHGkgJBugZB3c0CEAEAC0HtjgRBxpICQcAGQd3NAhABAAsgA0UNACADEFoLIAlBEGokAA8LQfDtBUHFmANBlAZBjd4AEAEAC7QMAQ1/AkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAIgYoAgBBAkYEQCAGKAIQIgVFDQEgBigCBA0GIAAoAqwBIQogBSgCBCEJAkACQCAGKAIMIggoAgQiC0EBRgRAIAlBAUYNBSAAKAKMAUUNCSAFKAIAQQFHDQIgCEEAIAgoAgBBAUYbIQggACgChAEoAhAhBAwBCyAKQQxrIQMCQAJAAkAgCUEBRgRAIApBBGsoAgBFDQwgCCgCAEEBRw0CIAMoAgAoAhAhBAwBCyADKAIAIgMgCkEIayIMRg0LIAAoAogBIgdFDQsDQCADKAIQIQQgByECAkADQCACKAIQIg0gBE0EfyAEIA1NDQIgAkEEagUgAgsoAgAiAg0ACwJAIAMiBCgCBCICBEADQCACIgMoAgAiAg0ADAILAAsDQCAEKAIIIgMoAgAgBEchDiADIQQgDg0ACwsgAyAMRw0BDA0LCyAIKAIAQQFHDQELIAgoAggNACAIKAIUIgNFDQAgCCgCECADQQJ0akEEaygCACgCAEEWRg0BCyAAKAL8AiICIAAoAoADRwRAIAIgBjYCACAAIAJBBGo2AvwCDAoLIAIgACgC+AIiA2siAUECdSIHQQFqIgRBgICAgARPDQZB/////wMgAUEBdSIFIAQgBCAFSRsgAUH8////B08bIgEEfyABQYCAgIAETw0IIAFBAnQQXAVBAAsiBSAHQQJ0aiIEIAY2AgAgBEEEaiEHIAIgA0cEQANAIARBBGsiBCACQQRrIgIoAgA2AgAgAiADRw0ACyAAKAL4AiECCyAAIAUgAUECdGo2AoADIAAgBzYC/AIgACAENgL4AiACRQ0JIAIQWgwJCyAFQQAgBSgCAEEBRhshBSAJQQFGBEBBASEJDAgLIAVFDQELIAUoAggNACAFKAIUIgNFDQAgBSgCECADQQJ0akEEaygCACgCAEEWRg0GCyAAKAL8AiICIAAoAoADRwRAIAIgBjYCACAAIAJBBGo2AvwCDAcLIAIgACgC+AIiA2siAUECdSIHQQFqIgRBgICAgARPDQNB/////wMgAUEBdSIFIAQgBCAFSRsgAUH8////B08bIgEEfyABQYCAgIAETw0FIAFBAnQQXAVBAAsiBSAHQQJ0aiIEIAY2AgAgBEEEaiEHIAIgA0cEQANAIARBBGsiBCACQQRrIgIoAgA2AgAgAiADRw0ACyAAKAL4AiECCyAAIAUgAUECdGo2AoADIAAgBzYC/AIgACAENgL4AiACRQ0GIAIQWgwGCwwJC0Gl3QNBxpICQb0BQeDeAxABAAtBn64EQcaSAkGVBUHuzQIQAQALEGQACxBqAAsgC0EBRwR/AkACQCAKQQhrKAIAIgJFDQADQCACKAIQIgMgBEsEQCACKAIAIgINAQwCCyADIARPDQIgAigCBCICDQALC0GxwAQQ6gIACyACKAIUIgMoAgAiAigCAEEJRw0FIAgoAhQiB0UNBiAIKAIQIAdBAnRqQQRrIAIoAgw2AgAgAygCAEIWNwIAIAhBAEEAQQAQ5gEgCCgCBEUNAiAGKAIQKAIEBSAJC0EBRwRAAkACQCAAKAKIASICRQ0AA0AgAigCECIDIARLBEAgAigCACICDQEMAgsgAyAETw0CIAIoAgQiAg0ACwtBscAEEOoCAAsgAigCFCIDKAIAIgIoAgBBCUcNBSAFKAIUIgdFDQYgBSgCECAHQQJ0akEEayACKAIMNgIAIAMoAgBCFjcCACAFQQBBAEEAEOYBIAUoAgRFDQMLIAYQnAYgBigCBEUNAyAAKAJ8QagBakEQQQQQXSIDIAY2AgwgAyAENgIIIANCCTcCACADIAYoAgRBAUYiAjYCBCADIAIgBigCBEEBRnI2AgQgASADNgIAIABBAToAtAELIAAoAqwBQQxrIgEgASgCBBCXAyAAIAE2AqwBIABBhAFqIABBiAFqIgEoAgAQlwMgACABNgKEASAAQgA3AogBDwtBrI4EQcaSAkHKBUHuzQIQAQALQcyOBEHGkgJB0gVB7s0CEAEAC0HtjgRBxpICQdUFQe7NAhABAAtB8O0FQcWYA0GUBkGN3gAQAQALQcWiAUGJogNBvAFBpogFEAEAC9wkAhl/AX4jAEGABGsiAiQAIAEoAgAhBSACQgg3AoADAkACQCAFKAIAIgRBCEcEfyAFBSACIAUoAgg2AogDIAIgBSkCADcDgAMgAkGAA2ohByAAQYgBaiIDKAIAIgRFDQEgBSgCCCEIIAMhBgNAIAYgBCAEKAIQIAhJIgkbIQYgBEEEaiAEIAkbKAIAIgQNAAsgAyAGRg0BIAggBigCEEkNAQJAAkACQCAGKAIUKAIAIgMoAgBBCUYEQAJAAkAgAC0AtQFFBEAgACgCpAIgCEECdGooAgBBAUcNAQsgAEEUaiADKAIMEHkgAygCDCgCBCAFKAIERg0BIABBAToAsAIMAQsgAEEUaiADEHkgAygCBA0CIAMgACgCeCADKAIIENACIgQ2AgQgA0EBIAQgAygCDCgCBEEBRhs2AgQLIAYoAhQgBTYCACAFQhY3AgAgBigCBCIDDQIgBiEDA0AgAygCCCIEKAIAIANHIREgBCEDIBENAAsMAwsMBQtB+ZoGQcaSAkGZAkGwhQEQAQALA0AgAyIEKAIAIgMNAAsLIAYgACgChAFGBEAgACAENgKEAQsgACAAKAKMAUEBazYCjAEgACgCiAEgBhDlASAGQRBqEOsCIAYQWiAAQQE6ALQBIAEoAgAiBSgCACEEIAJBgANqCyEHIARBCUYhCiAEQQlHDQAgAEGIAWoiAygCACIERQ0AIAUoAgghCCADIQYDQCAGIAQgBCgCECAISSIJGyEGIARBBGogBCAJGygCACIEDQALIAMgBkYNACAIIAYoAhBJDQACQAJAAkAgBigCFCgCACIDKAIAQQlGBEAgAygCBA0BIANCEjcCACADIAMoAgwiBDYCCCADIAQoAgRBAUY2AgQgBigCBCIDDQIgBiEDA0AgAygCCCIEKAIAIANHIRIgBCEDIBINAAsMAwsMBAtBh5sGQcaSAkGhA0Gz0QAQAQALA0AgAyIEKAIAIgMNAAsLIAYgACgChAFGBEAgACAENgKEAQsgACAAKAKMAUEBazYCjAEgACgCiAEgBhDlASAGQRBqEOsCIAYQWiAAQQE6ALQBCyAAKAJ8IQQgAiAAKAIEIgMtADg6AIgCIAIgAy0AOToAiQIgAiADKAJoNgKMAiACIAMoAmwiAzYCkAIgAwRAIAMgAygCBEEBajYCBAsgAiAENgKUAiAEKAKEASEDIAJBpAJqIgRCADcCACACQbACaiIGQgA3AgAgAkG8AmoiCEIANwIAIAJByAJqIglCADcCACACQewCaiILQgA3AgAgAkIANwLYAiACQgA3Ad4CIAJB+AJqIgxCADcCACACQQA7AZwCIAIgAzYCmAIgAiAENgKgAiACIAY2AqwCIAIgCDYCuAIgAiAJNgLEAiACQgA3AtACIAIgCzYC6AIgAiAMNgL0AiACQgA3AuABIAJCADcC6AEgAkEANgLwAUHUiQtBADYCACACQgA3AogBIAIgAkGIAmo2AvQBQao4IAJBiAFqIAcQA0HUiQsoAgAhA0HUiQtBADYCAAJAAkACQAJAAkAgA0EBRwRAIAIoAuABIgMEQCACIAM2AuQBIAMQWgsgAigC3AIEQEHUiQtBADYCAEENQZHJBUH2igNBxAhBptEAEAVB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRg0DDAYLIAItAIgCBEAgAkEAOgDZAgwCCyACLQDZAkUNASACQQE6ANgCDAELEAAhBCACKALgASIARQ0DIAIgADYC5AEgABBaDAMLIAcoAgBBA0YEQCACQQE6AJwCCwJAIAItANgCDQAgAigCtAINACACLQDkAg0AIAIoAswCDQAgAi0A0QINACACLQDTAg0AIAItANUCDQAgAi0A1wINACACLQDaAg0AIAItAJ0CDQAgAi0A2wINACACKAL8Ag0AIAItAJwCDQAgAigC8AINACACLQDlAg0AIAIoAqgCDQAgAigCwAINACACLQDQAg0AIAItANICDQAgAi0A1AINACACLQDWAkUNAgtB1IkLQQA2AgBBsJcBIAAgAkGIAmoQA0HUiQsoAgAhFEHUiQtBADYCACAUQQFHDQELEAAhBAwBCwJAAkAgCkUNACAFKAIEDQAgACgCfCIGKAKEASIDQcAAcQRAIAUoAgwhByACIAAoAgQiBC0AODoAiAEgAiAELQA5OgCJASACIAQoAmg2AowBIAIgBCgCbCIENgKQASAEBEAgBCAEKAIEQQFqNgIEIAYoAoQBIQMLIAJBpAFqIgRCADcCACACQbABaiIIQgA3AgAgAkG8AWoiCUIANwIAIAJByAFqIgpCADcCACACQewBaiILQgA3AgAgAkIANwLYASACQgA3Ad4BIAJB+AFqIgxCADcCACACQQA7AZwBIAIgAzYCmAEgAiAGNgKUASACQgA3AtABIAIgBDYCoAEgAiAINgKsASACIAk2ArgBIAIgCjYCxAEgAiALNgLoASACIAw2AvQBIAIgBzYCjAMgAkIANwJkIAJCADcCbCACQQA2AnRB1IkLQQA2AgAgAkIANwIMIAIgAkGIAWo2AnhBxwAgAkEMaiACQYwDahADQdSJCygCACEDQdSJC0EANgIAAkACQCADQQFHBEAgAigCZCIDBEAgAiADNgJoIAMQWgsgAigC3AEEQEHUiQtBADYCAEENQZHJBUH2igNBxAhBptEAEAVB1IkLKAIAIRVB1IkLQQA2AgAgFUEBRw0IEAAhBAwCCyACLQCIAQRAIAJBADoA2QEMAwsgAi0A2QFFDQIgAkEBOgDYAQwCCxAAIQQgAigCZCIARQ0AIAIgADYCaCAAEFoLIAJBiAFqEN8BGgwECyACLQDkASEWIAIoAvgBEGAgAigC7AEQYCACKALIARBgIAIoArwBEGAgAigCsAEQbyACKAKkARBvAkAgAigCkAEiA0UNACADIAMoAgQiBkEBazYCBCAGDQAgAyADKAIAKAIIEQEAIAMQdQsgFg0BCyAAKAKkAiAFKAIIIgdBAnRqKAIAQQFLDQACQAJAAkACQCAAQYgBaiIGKAIAIgQEQANAIAQoAhAiAyAHTQR/IAMgB08NAyAEQQRqBSAECygCACIEDQALCyAAKAIEIQMgACgCfCEEIAIgATYCDCABKAIAIQggAiADLQA4OgAQIAIgAy0AOToAESACIAMoAmg2AhQgAiADKAJsIgE2AhggAkEQaiEDIAEEQCABIAEoAgRBAWo2AgQLIAIgBDYCHCAEKAKEASEBIAJBLGoiBEIANwIAIAJBADsBJCACIAE2AiAgAkE4aiIFQgA3AgAgAiAENgIoIAJBxABqIgpCADcCACACIAU2AjQgAkHQAGoiC0IANwIAIAJBQGsgCjYCACACQfQAaiIMQgA3AgAgAiALNgJMIAJCADcCWCACQgA3AmAgAkIANwFmIAIgDDYCcCACQYABaiINQgA3AgAgAiANNgJ8IAIgCDYC/AMgAkIANwLkAyACQgA3AuwDIAJBADYC9ANB1IkLQQA2AgAgAkIANwKMAyACIAM2AvgDQccAIAJBjANqIAJB/ANqEANB1IkLKAIAIRdB1IkLQQA2AgAgF0EBRg0CIAIoAuQDIgEEQCACIAE2AugDIAEQWgsgAigCZEUNAUHUiQtBADYCAEENQZHJBUH2igNBxAhBptEAEAVB1IkLKAIAIRhB1IkLQQA2AgAgGEEBRw0HEAAhBCADEN8BGgwGC0HUiQtBADYCAEENQc3JBUHGkgJBsgNBs9EAEAVB1IkLKAIAIRlB1IkLQQA2AgAgGUEBRw0GEAAhBAwFCyACLQAQBEAgAkEAOgBhDAILIAItAGFFDQEgAkEBOgBgDAELEAAhBCACKALkAyIABEAgAiAANgLoAyAAEFoLIAMQ3wEaDAMLIAIgAi8BEDsBkAEgAiACKAIUIg42ApQBIAIgAigCGCIPNgKYASACIAc2AogBIAIgAigCDCIQNgKMASACQgA3AhQgAi8BJCEBIAIpAhwhGyACIAIoAig2AqgBIAIgGzcCnAEgAiABOwGkASACQawBaiIBIAIoAiwiAzYCACACIAIoAjAiCDYCsAECQCAIRQRAIAIgATYCqAEMAQsgAyABNgIIIAJCADcCLCACIAQ2AigLIAIgAigCNDYCtAEgAkG4AWoiCCACKAI4IgM2AgAgAiACKAI8IgQ2ArwBAkAgBEUEQCACIAg2ArQBDAELIAMgCDYCCCACQgA3AjggAiAFNgI0CyACIAIoAkA2AsABIAJBxAFqIgkgAigCRCIDNgIAIAIgAigCSCIENgLIAQJAIARFBEAgAiAJNgLAAQwBCyADIAk2AgggAkIANwJEIAIgCjYCQAsgAiACKAJMNgLMASACQdABaiIKIAIoAlAiAzYCACACIAIoAlQiBDYC1AECQCAERQRAIAIgCjYCzAEMAQsgAyAKNgIIIAJCADcCUCACIAs2AkwLIAIgAikCWDcC2AEgAiACKQFmNwHmASACIAIpAmA3AuABIAIgAigCcDYC8AEgAkH0AWoiCyACKAJ0IgM2AgAgAiACKAJ4IgQ2AvgBAkAgBEUEQCACIAs2AvABDAELIAMgCzYCCCACQgA3AnQgAiAMNgJwCyACIAIoAnw2AvwBIAJBgAJqIgwgAigCgAEiBTYCACACIAIoAoQBIgM2AoQCAkAgA0UEQCACIAw2AvwBDAELIAUgDDYCCCACQgA3AoABIAIgDTYCfAsCQAJAIAYiBCgCACIDRQ0AA0AgAyIEKAIQIgMgB0sEQCAEIgYoAgAiAw0BDAILIAMgB08NAiAEKAIEIgMNAAsgBEEEaiEGC0HUiQtBADYCAEEEQZABEAYhA0HUiQsoAgAhGkHUiQtBADYCACAaQQFGDQIgAyAHNgIQIAMgEDYCFCACLwGQASEFIAMgDzYCICADIA42AhwgAyAFOwEYIAJCADcClAEgAyACLwGkATsBLCADIAIpApwBNwIkIAMgAigCqAE2AjAgA0E0aiIFIAIoAqwBIgc2AgAgAyACKAKwASINNgI4AkAgDUUEQCADIAU2AjAMAQsgByAFNgIIIAJCADcCrAEgAiABNgKoAQsgAyACKAK0ATYCPCADQUBrIgEgAigCuAEiBTYCACADIAIoArwBIgc2AkQCQCAHRQRAIAMgATYCPAwBCyAFIAE2AgggAkIANwK4ASACIAg2ArQBCyADIAIoAsABNgJIIANBzABqIgEgAigCxAEiBTYCACADIAIoAsgBIgc2AlACQCAHRQRAIAMgATYCSAwBCyAFIAE2AgggAkIANwLEASACIAk2AsABCyADIAIoAswBNgJUIANB2ABqIgEgAigC0AEiBTYCACADIAIoAtQBIgc2AlwCQCAHRQRAIAMgATYCVAwBCyAFIAE2AgggAkIANwLQASACIAo2AswBCyADIAIpAtgBNwJgIAMgAikB5gE3AW4gAyACKQLgATcCaCADIAIoAvABNgJ4IANB/ABqIgEgAigC9AEiBTYCACADIAIoAvgBIgc2AoABAkAgB0UEQCADIAE2AngMAQsgBSABNgIIIAJCADcC9AEgAiALNgLwAQsgAyACKAL8ATYChAEgA0GIAWoiASACKAKAAiIFNgIAIAMgAigChAIiBzYCjAECQCAHRQRAIAMgATYChAEMAQsgBSABNgIIIAJCADcCgAIgAiAMNgL8AQsgAyAENgIIIANCADcCACAGIAM2AgAgACgChAEoAgAiAQRAIAAgATYChAEgBigCACEDCyAAKAKIASADEGcgACAAKAKMAUEBajYCjAEgAigCgAIhBQsgBRBgIAIoAvQBEGAgAigC0AEQYCACKALEARBgIAIoArgBEG8gAigCrAEQbwJAIAIoApgBIgBFDQAgACAAKAIEIgFBAWs2AgQgAQ0AIAAgACgCACgCCBEBACAAEHULIAIoAoABEGAgAigCdBBgIAIoAlAQYCACKAJEEGAgAigCOBBvIAIoAiwQbyACKAIYIgBFDQAgACAAKAIEIgFBAWs2AgQgAQ0AIAAgACgCACgCCBEBACAAEHULIAIoAvgCEGAgAigC7AIQYCACKALIAhBgIAIoArwCEGAgAigCsAIQbyACKAKkAhBvAkAgAigCkAIiAEUNACAAIAAoAgQiAUEBazYCBCABDQAgACAAKAIAKAIIEQEAIAAQdQsgAkGABGokAA8LEAAhBCACQYgBahDrAiACQQxqEMAECyACQYgCahDfARogBBAHAAsAC0Hw7QVBxZgDQZQGQY3eABABAAuECwEHfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAIgIoAgAOQAABAgMEBQcQEBAQEBAQEBAQEBAGEBAQDBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAkPCgsQEBAQEAgQEA0QC0HH0gRB4JYDQeIAEGIACyAAQQRqIgNB05YBIAEQWyACKAIAQQFHDQ8gAigCCARAIAEoAgBFDREgA0HUlgEgARBbIAIoAgBBAUcNEAsgAigCFCIBQQBMDQwDQCABQQFrIgAgAigCFE8NEiACKAIQIABBAnRqIgQoAgBFDREgA0HClgEgBBBbIAFBAUshBiAAIQEgBg0ACwwMCyAAQQRqIgNB1ZYBIAEQWyABKAIARQ0PIANB1JYBIAEQWyACKAIAQQJHDQ4gAigCEARAIANBwpYBIAJBEGoQWwsgASgCAEUNDyADQdSWASABEFsgAigCAEECRw0OIAIoAgxFDQ8gA0HClgEgAkEMahBbIAAtAG1FBEAgASgCAEUNECADQdSWASABEFsLIAIoAgBBAkcNDiACKAIIRQ0PIANBwpYBIAJBCGoQWw8LIABBBGoiAEHWlgEgARBbIAIoAgBBA0cNDSACKAIQRQ0OIABBwpYBIAJBEGoQWyABKAIARQ0ODBALIABBBGoiA0HXlgEgARBbIAIoAgBBBEcNDCACQRRqIQQCQAJAIAIoAhQEQCAALQBtDQELIAEoAgBFDQ8gA0HUlgEgARBbIAQoAgBFDQELIANBwpYBIAQQWwsgAigCEEUNCSADQcKWASACQRBqEFsPCyAAQQRqIgBB2JYBIAEQWyABKAIARQ0MIABB1JYBIAEQWyACKAIAQQVHDQsgAigCJEUNDCAAQcKWASACQSRqEFsgAigCAEEFRw0LIAIoAiBFDQggAEHClgEgAkEgahBbDwsgAEEEaiIAQdmWASABEFsgASgCAEUNCyAAQdSWASABEFsgAigCAEETRw0KIAIoAghFDQcgAEHClgEgAkEIahBbDwsgAC0AbQ0IAkAgAi0AIA0AIAAoAmgiA0UNACADLQCEAUHAAHFFDQkLIABBBGpB1JYBIAEQWwwICyAALQBtDQcCQCACLQAcDQAgACgCaCIDRQ0AIAMtAIQBQcAAcUUNCAsgAEEEakHUlgEgARBbIAAgARD2DA8LIABBBGoiBEHalgEgARBbIAEoAgBFDQggBEHUlgEgARBbIAIoAgBBM0cNByACKAIoIgBBAEoEQANAIABBAWsiAyACKAIoTw0LIAIoAiQgA0ECdGoiBSgCAEUNCiAEQcKWASAFEFsgASgCAEUNCiAEQdSWASABEFsgAEEBSyEHIAMhACAHDQALIAIoAgBBM0cNCAsgAigCEEUNCCAEQcKWASACQRBqEFsPCyAAQQRqIgNB25YBIAEQWyABKAIARQ0HIANB1JYBIAEQWyACKAIAQTVHDQYgAigCFCIBQQBMDQMDQCABQQFrIgAgAigCFE8NCSACKAIQIABBAnRqIgQoAgBFDQggA0HClgEgBBBbIAFBAUshCCAAIQEgCA0ACwwDCyAAQQRqIgBB3JYBIAEQWyABKAIARQ0GDAgLIABBBGoiAEHdlgEgARBbIAEoAgBFDQUMBwsgAEEEaiIDQd6WASABEFsgAC0AbUUEQCABKAIARQ0FIANB1JYBIAEQWwsgAigCAEE/Rw0DIAIoAhRFDQQgA0HClgEgAkEUahBbCw8LQcrgBUHglgNBywFBjuMCEAEACyAAIAEQ9gwPC0Hw7QVBxZgDQZQGQY3eABABAAtBgYMCQdOZA0G5AkGu9wIQAQALQcWiAUGJogNBvAFBpogFEAEACyAAQdSWASABEFsLmAEAQZADEFwiAEEAQeAC/AsAIABCADcCkAIgACAAQaABajYCnAEgACAAQZQBajYCkAEgACAAQYgBajYChAEgAEGsowg2AgAgAEIANwKYAiAAQgA3AqACIABCADcCqAIgAEEAOgCwAiAAQgA3AuACIABCADcC6AIgAEIANwLwAiAAQgA3AvgCIABCADcCgAMgAEIANwKIAyAACzkAIAAoAgRFBEBB6PoFQbqLA0GcBEHu0wIQAQALIAAgAjYCeCAAIAE2AnwgACACEPgMIABCADcCeAvfCgEHfwJAAkACQAJAAkACQCABKAIABEAgAEEYaiIDQcOWASABEFsCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEoAgAiAigCAA5AAQIAAwQFBxAQEBAQEBAQEBAQEAYQEBAMEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQCQ8KCxAQEBAQCBAQDRALIAIoAhAEQCADQcSWASABEFsgAkEQaiIAKAIARQ0SIANBwJYBIAAQWyABKAIARQ0SCyADQcWWASABEFsgAigCDEUNESADQcCWASACQQxqEFsgASgCAEUNESADQcaWASABEFsgAigCCEUNESADQcCWASACQQhqEFsMEAtBx9IEQeCWA0HiABBiAAsgA0HHlgEgARBbIAIoAgBBAUcNECACKAIIBEAgASgCAEUNECADQciWASABEFsgAigCAEEBRw0RCyACKAIUIgBBAEwNDgNAIABBAWsiBCACKAIUTw0SIAIoAhAgBEECdGoiBSgCAEUNECADQcCWASAFEFsgAEEBSyEGIAQhACAGDQALDA4LIANByZYBIAEQWyACKAIAQQNHDQ8gAigCEEUNDiADQcCWASACQRBqEFsgASgCAEUNDiADQciWASABEFsMDQsgA0HKlgEgARBbIAIoAgBBBEcNDiACQRRqIQQCQAJAIAIoAhQEQCAALQCAAQ0BCyABKAIARQ0PIANByJYBIAEQWyAEKAIARQ0BCyADQcCWASAEEFsLIAIoAhBFDQwgA0HAlgEgAkEQahBbDAwLIANBy5YBIAEQWyABKAIARQ0MIANByJYBIAEQWyACKAIAQQVHDQ0gAigCJEUNDCADQcCWASACQSRqEFsgAigCAEEFRw0NIAIoAiBFDQsgA0HAlgEgAkEgahBbDAsLIANBzJYBIAEQWyABKAIARQ0LIANByJYBIAEQWyACKAIAQRNHDQwgAigCCEUNCiADQcCWASACQQhqEFsMCgsgAC0AgAENCAJAIAItACANACAAKAJ8IgRFDQAgBC0AhAFBwABxRQ0JCyADQciWASABEFsMCAsgAC0AgAENBwJAIAItABwNACAAKAJ8IgRFDQAgBC0AhAFBwABxRQ0ICyADQciWASABEFsgACABEPUMDAgLIANBzZYBIAEQWyABKAIARQ0IIANByJYBIAEQWyACKAIAQTNHDQkgAigCKCIAQQBKBEADQCAAQQFrIgQgAigCKE8NDCACKAIkIARBAnRqIgUoAgBFDQogA0HAlgEgBRBbIAEoAgBFDQogA0HIlgEgARBbIABBAUshByAEIQAgBw0ACyACKAIAQTNHDQoLIAIoAhBFDQggA0HAlgEgAkEQahBbDAcLIANBzpYBIAEQWyABKAIARQ0HIANByJYBIAEQWyACKAIAQTVHDQggAigCFCIAQQBMDQYDQCAAQQFrIgQgAigCFE8NCiACKAIQIARBAnRqIgUoAgBFDQggA0HAlgEgBRBbIABBAUshCCAEIQAgCA0ACwwGCyADQc+WASABEFsgASgCAEUNBiADQciWASABEFsMBQsgA0HQlgEgARBbIAEoAgBFDQUgA0HIlgEgARBbDAQLIANB0ZYBIAEQWyAALQCAAUUEQCABKAIARQ0FIANByJYBIAEQWwsgAigCAEE/Rw0FIAIoAhRFDQQgA0HAlgEgAkEUahBbDAMLDAMLQcrgBUHglgNBywFBjuMCEAEACyAAIAEQ9QwLIAEoAgAEQCADQdKWASABEFsPCwtBgYMCQdOZA0G5AkGu9wIQAQALQfDtBUHFmANBlAZBjd4AEAEAC0HFogFBiaIDQbwBQaaIBRABAAvvDwEYfyMAQbACayIDJAACQAJAAkACQAJAAkACQAJAAkACQAJAIAAoAgQEQCAAIAAoAgAoAhARAgAEQCADIAAoAgQiAikCODcD+AEgAyACKQIwNwPwASADIAIpAig3A+gBIAMgAikCIDcD4AEgAyACKQIYNwPYASADQYACaiACQUBrEOMBIQRB1IkLQQA2AgBBmgEgA0GUAmogAkHUAGoQAiEFQdSJCygCACERQdSJC0EANgIAIBFBAUYNAiADIAIoAmg2AqgCIAMgAigCbCICNgKsAiACBEAgAiACKAIEQQFqNgIECyADQQEgAygC4AEiAiACQQBKGzYC4AEgAyADKQPoATcDGCADIAMpA/ABNwMgIAMgAykD+AE3AyggAyADKQPgATcDECADQQEgAygC3AEiAiACQQBKGzYC3AFB1IkLQQA2AgAgAyADKQPYATcDCEGbASADQTBqIAQQAiEEQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBxABqIAUQAiEFQdSJCygCACESQdSJC0EANgIAIBJBAUYNBSADIAMoAqwCIgI2AlwgAyADKAKoAjYCWCACBEAgAiACKAIEQQFqNgIECyADQQA2AnggAyADKQMQNwKEASADIAMpAxg3AowBIAMgAykDIDcClAEgAyADKQMoNwKcASADQgA3AnAgA0H87Ak2AmQgAyADKQMINwJ8QdSJC0EANgIAIAMgATYCaCADIAFBqAFqNgJsQZsBIANBpAFqIAQQAiEBQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBuAFqIAUQAhpB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRwRAIAMgAygCWDYCzAEgAyADKAJcIgE2AtABIAEEQCABIAEoAgRBAWo2AgQLIANBADsB1AEgA0EIahBhIANBAToA1AEgACgCACgCFCEUQdSJC0EANgIAIBQgABAGIQBB1IkLKAIAIRVB1IkLQQA2AgAgFUEBRg0EIAMoAmQoAgghFkHUiQtBADYCACAWIANB5ABqIgEgABADQdSJCygCACEXQdSJC0EANgIAIBdBAUYNBEHUiQtBADYCAEGXASABEApB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AyACKAKoATYCMCADQTRqIgUgAigCrAEiBjYCACADIAIoArABIg02AjgCQCANRQRAIAMgBTYCMAwBCyAGIAU2AgggAkIANwKsASACIAE2AqgBCyADIAIoArQBNgI8IANBQGsiASACKAK4ASIFNgIAIAMgAigCvAEiBjYCRAJAIAZFBEAgAyABNgI8DAELIAUgATYCCCACQgA3ArgBIAIgBzYCtAELIAMgAigCwAE2AkggA0HMAGoiASACKALEASIFNgIAIAMgAigCyAEiBjYCUAJAIAZFBEAgAyABNgJIDAELIAUgATYCCCACQgA3AsQBIAIgCTYCwAELIAMgAigCzAE2AlQgA0HYAGoiASACKALQASIFNgIAIAMgAigC1AEiBjYCXAJAIAZFBEAgAyABNgJUDAELIAUgATYCCCACQgA3AtABIAIgCjYCzAELIAMgAikC2AE3AmAgAyACKQHmATcBbiADIAIpAuABNwJoIAMgAigC8AE2AnggA0H8AGoiASACKAL0ASIFNgIAIAMgAigC+AEiBjYCgAECQCAGRQRAIAMgATYCeAwBCyAFIAE2AgggAkIANwL0ASACIAs2AvABCyADIAIoAvwBNgKEASADQYgBaiIBIAIoAoACIgU2AgAgAyACKAKEAiIGNgKMAQJAIAZFBEAgAyABNgKEAQwBCyAFIAE2AgggAkIANwKAAiACIAw2AvwBCyADIAQ2AgggA0IANwIAIAggAzYCACAAKAKEASgCACIBBEAgACABNgKEASAIKAIAIQMLIAAoAogBIAMQZyAAIAAoAowBQQFqNgKMASACKAKAAiEGCyAGEGAgAigC9AEQYCACKALQARBgIAIoAsQBEGAgAigCuAEQbyACKAKsARBvAkAgAigCmAEiAEUNACAAIAAoAgQiAUEBazYCBCABDQAgACAAKAIAKAIIEQEAIAAQdQsgAigCgAEQYCACKAJ0EGAgAigCUBBgIAIoAkQQYCACKAI4EG8gAigCLBBvIAIoAhgiAEUNACAAIAAoAgQiAUEBazYCBCABDQAgACAAKAIAKAIIEQEAIAAQdQsgAigC+AIQYCACKALsAhBgIAIoAsgCEGAgAigCvAIQYCACKAKwAhBvIAIoAqQCEG8CQCACKAKQAiIARQ0AIAAgACgCBCIBQQFrNgIEIAENACAAIAAoAgAoAggRAQAgABB1CyACQYAEaiQADwsQACEEIAJBiAFqEOsCIAJBDGoQwAQLIAJBiAJqEN8BGiAEEAcACwALQfDtBUHFmANBlAZBjd4AEAEACwkAIAAoAhAQbwsmACAAKAIAQQ1HBEBB8LAGQae3AkHCFUGligQQAQALIAAgATYCLAsNACAAQZCjCDYCACAAC4QLAQd/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEoAgAiAigCAA5AAAECAwQFBxAQEBAQEBAQEBAQEAYQEBAMEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQCQ8KCxAQEBAQCBAQDRALQcfSBEHglgNB4gAQYgALIABBBGoiA0GMlQEgARBbIAIoAgBBAUcNDyACKAIIBEAgASgCAEUNESADQY2VASABEFsgAigCAEEBRw0QCyACKAIUIgFBAEwNDANAIAFBAWsiACACKAIUTw0SIAIoAhAgAEECdGoiBCgCAEUNESADQfuUASAEEFsgAUEBSyEGIAAhASAGDQALDAwLIABBBGoiA0GOlQEgARBbIAEoAgBFDQ8gA0GNlQEgARBbIAIoAgBBAkcNDiACKAIQBEAgA0H7lAEgAkEQahBbCyABKAIARQ0PIANBjZUBIAEQWyACKAIAQQJHDQ4gAigCDEUNDyADQfuUASACQQxqEFsgAC0AbUUEQCABKAIARQ0QIANBjZUBIAEQWwsgAigCAEECRw0OIAIoAghFDQ8gA0H7lAEgAkEIahBbDwsgAEEEaiIAQY+VASABEFsgAigCAEEDRw0NIAIoAhBFDQ4gAEH7lAEgAkEQahBbIAEoAgBFDQ4MEAsgAEEEaiIDQZCVASABEFsgAigCAEEERw0MIAJBFGohBAJAAkAgAigCFARAIAAtAG0NAQsgASgCAEUNDyADQY2VASABEFsgBCgCAEUNAQsgA0H7lAEgBBBbCyACKAIQRQ0JIANB+5QBIAJBEGoQWw8LIABBBGoiAEGRlQEgARBbIAEoAgBFDQwgAEGNlQEgARBbIAIoAgBBBUcNCyACKAIkRQ0MIABB+5QBIAJBJGoQWyACKAIAQQVHDQsgAigCIEUNCCAAQfuUASACQSBqEFsPCyAAQQRqIgBBkpUBIAEQWyABKAIARQ0LIABBjZUBIAEQWyACKAIAQRNHDQogAigCCEUNByAAQfuUASACQQhqEFsPCyAALQBtDQgCQCACLQAgDQAgACgCaCIDRQ0AIAMtAIQBQcAAcUUNCQsgAEEEakGNlQEgARBbDAgLIAAtAG0NBwJAIAItABwNACAAKAJoIgNFDQAgAy0AhAFBwABxRQ0ICyAAQQRqQY2VASABEFsgACABEP4MDwsgAEEEaiIEQZOVASABEFsgASgCAEUNCCAEQY2VASABEFsgAigCAEEzRw0HIAIoAigiAEEASgRAA0AgAEEBayIDIAIoAihPDQsgAigCJCADQQJ0aiIFKAIARQ0KIARB+5QBIAUQWyABKAIARQ0KIARBjZUBIAEQWyAAQQFLIQcgAyEAIAcNAAsgAigCAEEzRw0ICyACKAIQRQ0IIARB+5QBIAJBEGoQWw8LIABBBGoiA0GUlQEgARBbIAEoAgBFDQcgA0GNlQEgARBbIAIoAgBBNUcNBiACKAIUIgFBAEwNAwNAIAFBAWsiACACKAIUTw0JIAIoAhAgAEECdGoiBCgCAEUNCCADQfuUASAEEFsgAUEBSyEIIAAhASAIDQALDAMLIABBBGoiAEGVlQEgARBbIAEoAgBFDQYMCAsgAEEEaiIAQZaVASABEFsgASgCAEUNBQwHCyAAQQRqIgNBl5UBIAEQWyAALQBtRQRAIAEoAgBFDQUgA0GNlQEgARBbCyACKAIAQT9HDQMgAigCFEUNBCADQfuUASACQRRqEFsLDwtByuAFQeCWA0HLAUGO4wIQAQALIAAgARD+DA8LQfDtBUHFmANBlAZBjd4AEAEAC0GBgwJB05kDQbkCQa73AhABAAtBxaIBQYmiA0G8AUGmiAUQAQALIABBjZUBIAEQWwtBAAJAIAAoAgBBDUYEQCABRQ0BIAAgATYCKA8LQfCwBkGntwJBthVB0NIDEAEAC0Ht9QFBp7cCQbcVQdDSAxABAAuYAQBBkAMQXCIAQQBB4AL8CwAgAEIANwKQAiAAIABBoAFqNgKcASAAIABBlAFqNgKQASAAIABBiAFqNgKEASAAQeCiCDYCACAAQgA3ApgCIABCADcCoAIgAEIANwKoAiAAQQA6ALACIABCADcC4AIgAEIANwLoAiAAQgA3AvACIABCADcC+AIgAEIANwKAAyAAQgA3AogDIAALOQAgACgCBEUEQEHo+gVBuosDQZwEQe7TAhABAAsgACACNgJ4IAAgATYCfCAAIAIQgA0gAEIANwJ4C98KAQd/AkACQAJAAkACQAJAIAEoAgAEQCAAQRhqIgNB/JQBIAEQWwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgASgCACICKAIADkABAgADBAUHEBAQEBAQEBAQEBAQBhAQEAwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAJDwoLEBAQEBAIEBANEAsgAigCEARAIANB/ZQBIAEQWyACQRBqIgAoAgBFDRIgA0H5lAEgABBbIAEoAgBFDRILIANB/pQBIAEQWyACKAIMRQ0RIANB+ZQBIAJBDGoQWyABKAIARQ0RIANB/5QBIAEQWyACKAIIRQ0RIANB+ZQBIAJBCGoQWwwQC0HH0gRB4JYDQeIAEGIACyADQYCVASABEFsgAigCAEEBRw0QIAIoAggEQCABKAIARQ0QIANBgZUBIAEQWyACKAIAQQFHDRELIAIoAhQiAEEATA0OA0AgAEEBayIEIAIoAhRPDRIgAigCECAEQQJ0aiIFKAIARQ0QIANB+ZQBIAUQWyAAQQFLIQYgBCEAIAYNAAsMDgsgA0GClQEgARBbIAIoAgBBA0cNDyACKAIQRQ0OIANB+ZQBIAJBEGoQWyABKAIARQ0OIANBgZUBIAEQWwwNCyADQYOVASABEFsgAigCAEEERw0OIAJBFGohBAJAAkAgAigCFARAIAAtAIABDQELIAEoAgBFDQ8gA0GBlQEgARBbIAQoAgBFDQELIANB+ZQBIAQQWwsgAigCEEUNDCADQfmUASACQRBqEFsMDAsgA0GElQEgARBbIAEoAgBFDQwgA0GBlQEgARBbIAIoAgBBBUcNDSACKAIkRQ0MIANB+ZQBIAJBJGoQWyACKAIAQQVHDQ0gAigCIEUNCyADQfmUASACQSBqEFsMCwsgA0GFlQEgARBbIAEoAgBFDQsgA0GBlQEgARBbIAIoAgBBE0cNDCACKAIIRQ0KIANB+ZQBIAJBCGoQWwwKCyAALQCAAQ0IAkAgAi0AIA0AIAAoAnwiBEUNACAELQCEAUHAAHFFDQkLIANBgZUBIAEQWwwICyAALQCAAQ0HAkAgAi0AHA0AIAAoAnwiBEUNACAELQCEAUHAAHFFDQgLIANBgZUBIAEQWyAAIAEQ+wwMCAsgA0GGlQEgARBbIAEoAgBFDQggA0GBlQEgARBbIAIoAgBBM0cNCSACKAIoIgBBAEoEQANAIABBAWsiBCACKAIoTw0MIAIoAiQgBEECdGoiBSgCAEUNCiADQfmUASAFEFsgASgCAEUNCiADQYGVASABEFsgAEEBSyEHIAQhACAHDQALIAIoAgBBM0cNCgsgAigCEEUNCCADQfmUASACQRBqEFsMBwsgA0GHlQEgARBbIAEoAgBFDQcgA0GBlQEgARBbIAIoAgBBNUcNCCACKAIUIgBBAEwNBgNAIABBAWsiBCACKAIUTw0KIAIoAhAgBEECdGoiBSgCAEUNCCADQfmUASAFEFsgAEEBSyEIIAQhACAIDQALDAYLIANBiJUBIAEQWyABKAIARQ0GIANBgZUBIAEQWwwFCyADQYmVASABEFsgASgCAEUNBSADQYGVASABEFsMBAsgA0GKlQEgARBbIAAtAIABRQRAIAEoAgBFDQUgA0GBlQEgARBbCyACKAIAQT9HDQUgAigCFEUNBCADQfmUASACQRRqEFsMAwsMAwtByuAFQeCWA0HLAUGO4wIQAQALIAAgARD7DAsgASgCAARAIANBi5UBIAEQWw8LC0GBgwJB05kDQbkCQa73AhABAAtB8O0FQcWYA0GUBkGN3gAQAQALQcWiAUGJogNBvAFBpogFEAEAC+8PARh/IwBBsAJrIgMkAAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCBARAIAAgACgCACgCEBECAARAIAMgACgCBCICKQI4NwP4ASADIAIpAjA3A/ABIAMgAikCKDcD6AEgAyACKQIgNwPgASADIAIpAhg3A9gBIANBgAJqIAJBQGsQ4wEhBEHUiQtBADYCAEGaASADQZQCaiACQdQAahACIQVB1IkLKAIAIRFB1IkLQQA2AgAgEUEBRg0CIAMgAigCaDYCqAIgAyACKAJsIgI2AqwCIAIEQCACIAIoAgRBAWo2AgQLIANBASADKALgASICIAJBAEobNgLgASADIAMpA+gBNwMYIAMgAykD8AE3AyAgAyADKQP4ATcDKCADIAMpA+ABNwMQIANBASADKALcASICIAJBAEobNgLcAUHUiQtBADYCACADIAMpA9gBNwMIQZsBIANBMGogBBACIQRB1IkLKAIAIQJB1IkLQQA2AgACQCACQQFHBEBB1IkLQQA2AgBBmgEgA0HE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A0GtlAEgARBYIAIoAgBBHEYNWwxKCyADQa6UASABEFggAigCAEEdRw1JDFQLIANBr5QBIAEQWCACKAIAQR5HDUggA0GYlAEgAkEUahBYDFMLIANBsJQBIAEQWCACKAIAQR9HDUcMSwsgA0GxlAEgARBYIAIoAgBBIEcNRgxPCyADQbKUASABEFggAigCAEEhRw1FDE8LIANBs5QBIAEQWCACKAIAQSJHDUQgA0GYlAEgAkEgahBYDFULIANBtJQBIAEQWCACKAIAQSNHDUMMTwsgA0G1lAEgARBYIAIoAgBBJEcNQgxICyADQbaUASABEFggAigCAEElRg1SDEELIANBt5QBIAEQWCACKAIAQSZHDUAMQwsgA0G4lAEgARBYIAIoAgBBJ0cNPwxCCyADQbmUASABEFggAigCAEEORg1PDD4LIANBupQBIAEQWCACKAIAQQ9HDT0MSAsgA0G7lAEgARBYIAIoAgBBEEcNPAxGCyADQbyUASABEFggAigCAEERRw07DD4LIANBvZQBIAEQWCACKAIAQRJHDToMSQsgA0G+lAEgARBYIAIoAgBBE0cNOQxJCyADQb+UASABEFggAigCAEEURg1JDDgLIANBwJQBIAEQWCACKAIAQRVHDTcMRgsgA0HBlAEgARBYIAIoAgBBKUYNRww2CyADQcKUASABEFggAigCAEEqRw01DEQLIANBw5QBIAEQWCACKAIAQStGDUUMNAsgA0HElAEgARBYIAIoAgBBLEcNMww3CyADQcWUASABEFggAigCAEEtRw0yDDoLIANBxpQBIAEQWCACKAIAQS5HDTEMOAsgA0HHlAEgARBYIAIoAgBBL0YNQQwwCyADQciUASABEFggAigCAEEwRw0vDDYLIANByZQBIAEQWCACKAIAQTFHDS4MNAsgA0HKlAEgARBYIAIoAgBBMkcNLQwwCyADQcuUASABEFggAigCAEEzRw0sIAIoAigiAEEASgRAIANBBGohBANAIABBAWsiBSACKAIoTw0vIAIoAiQgBUECdGoiBigCAEUNQCAEQZiUASAGEFsgAEEBSyELIAUhACALDQALCww0CyADQcyUASABEFggAigCAEE0Rg06DCsLIANBzZQBIAEQWCACKAIAQTVHDSogAigCFCIAQQBMDTsgA0EEaiEFA0AgAEEBayIDIAIoAhRPDSwg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IAggAigCACkDADcDEAsgCCkDECEKIABBqAFqQThBCBBdIgBCADcDCCAAQgA3AyAgACAKNwIwIAAgBjYCLCAAIAU2AiggACADrTcDGCAAIAk3AxAgAEINNwIAIAAgAToACCAAIAQ2AiQCQCAGBEBBASEBIAAgBCgCBEEBRwR/IAUoAgRBAUYFQQELNgIEIAUoAgQiAUECTyABIAZHcQ0BIAhBIGokACAADwtBm48EQaSkAkHOAkGywwMQAQALQarIA0GalgNBowNBx+QDEAEACywAIAEoAgAiASgCAEHXAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPgBCywAIAEoAgAiASgCAEHWAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPgBCywAIAEoAgAiASgCAEHVAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPgBCywAIAEoAgAiASgCAEHUAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPgBCywAIAEoAgAiASgCAEHTAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPgBCywAIAEoAgAiASgCAEHSAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPgBCywAIAEoAgAiASgCAEHRAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPgBCywAIAEoAgAiASgCAEHQAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPgBCywAIAEoAgAiASgCAEHPAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPgBCywAIAEoAgAiASgCAEHOAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPgBCywAAkAgAEEQTwRAIAAoAhBFDQELQfCUBkGntwJBjANB/KQBEAEACyAAKAIYCywAIAEoAgAiASgCAEHNAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPgBCywAIAEoAgAiASgCAEHMAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPgBCywAIAEoAgAiASgCAEHLAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPgBCywAIAEoAgAiASgCAEHKAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPgBCywAIAEoAgAiASgCAEHJAEcE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IQRB1IkLQQA2AgBBmgEgA0GUAmogAkHUAGoQAiEFQdSJCygCACERQdSJC0EANgIAIBFBAUYNAiADIAIoAmg2AqgCIAMgAigCbCICNgKsAiACBEAgAiACKAIEQQFqNgIECyADQQEgAygC4AEiAiACQQBKGzYC4AEgAyADKQPoATcDGCADIAMpA/ABNwMgIAMgAykD+AE3AyggAyADKQPgATcDECADQQEgAygC3AEiAiACQQBKGzYC3AFB1IkLQQA2AgAgAyADKQPYATcDCEGbASADQTBqIAQQAiEEQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBxABqIAUQAiEFQdSJCygCACESQdSJC0EANgIAIBJBAUYNBSADIAMoAqwCIgI2AlwgAyADKAKoAjYCWCACBEAgAiACKAIEQQFqNgIECyADQQA2AnggAyADKQMQNwKEASADIAMpAxg3AowBIAMgAykDIDcClAEgAyADKQMoNwKcASADQgA3AnAgA0H87Ak2AmQgAyADKQMINwJ8QdSJC0EANgIAIAMgATYCaCADIAFBqAFqNgJsQZsBIANBpAFqIAQQAiEBQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBuAFqIAUQAhpB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRwRAIAMgAygCWDYCzAEgAyADKAJcIgE2AtABIAEEQCABIAEoAgRBAWo2AgQLIANBADsB1AEgA0EIahBhIANBAToA1AEgACgCACgCFCEUQdSJC0EANgIAIBQgABAGIQBB1IkLKAIAIRVB1IkLQQA2AgAgFUEBRg0EIAMoAmQoAgghFkHUiQtBADYCACAWIANB5ABqIgEgABADQdSJCygCACEXQdSJC0EANgIAIBdBAUYNBEHUiQtBADYCAEGXASABEApB1IkLKAIAIRhB1IkLQQA2AgAgGEEBRg0EIANB/OwJNgJkIANB/ABqEGEgAygCcCIBBEAgAygCdCIAIAEiAkcEQANAIABBBGsiACgCACECIABBADYCACACBEAgAiACKAIAKAIEEQEACyAAIAFHDQALIAMoAnAhAgsgAyABNgJ0IAIQWgsgA0HYAWoQYQwQCxAAIQAgARBrDAELEAAhAAsgA0HwAGoQ4AEgA0EIahBhDA4LEAAhAAwNCxAAIQAgA0HkAGoQfBoMDAsgACABNgJ8IABBFGohCSABKAIYIgIgASgCHCIERwRAA0AgAigCACIFKAIMRQRAIAkgBUEgahDdBQsgAkEEaiICIARHDQALCyABKAIMIgIgASgCECIFRwRAA0AgAigCACIEKAIMRQRAIAAgBDYCeCAJIARBMGoQ3QUgAEEANgJ4CyACQQRqIgIgBUcNAAsLIAEoAjAiCiABKAI0Ig5GDQkgAEEcaiENA0AgCigCACICKAIMBEAgCSACQRRqEN0FCyACKAIcIgsgAigCICIPRwRAIAAoAnAhBCAAKAJsIQYgACgCGCEFA0AgAyALKAIAIgc2AmQgBCAGayIQQQN1IgJBACAFa0cNBiAHRQ0HAkAgBUEJTQRAIAAgBUEBaiIGNgIYIA0gBUEDdGoiAkHDkAE2AgAgAiADQeQAajYCBCAEIQIgBiEFDAELIAAoAnQiCCAESwRAIARBw5ABNgIAIAQgA0HkAGo2AgQgACAEQQhqIgI2AnAMAQsgAkEBaiIHQYCAgIACTw0JQf////8BIAggBmsiCEECdSIMIAcgByAMSRsgCEH4////B08bIgdBgICAgAJPDQogECAHQQN0IgwQXCIIaiIHQcOQATYCACAIIAJBA3RqIANB5ABqNgIEIAdBCGohAiAEIAZHBEADQCAHQQhrIgcgBEEIayIEKQIANwIAIAQgBkcNAAsLIAAgCCAMajYCdCAAIAI2AnAgACAHNgJsIAZFDQAgBhBaIAAoAnAhAiAAKAIYIQULQQAgBWsgAiAAKAJsIgZrQQN1RwRAA0ACQCACIAZGBEAgBUUNDiANIAVBAWsiBEEDdGoiBSgCBCECIAUoAgAhBiAAIAQ2AhgMAQsgAkEIayIEKAIAIQYgBCgCBCECIAAgBDYCcAsgCSACNgIAIAIoAgBFDQ0gACACIAYRAABBACAAKAIYIgVrIAAoAnAiAiAAKAJsIgZrQQN1Rw0ACwsgAiEEIAtBBGoiCyAPRw0ACwsgCkEEaiIKIA5HDQALDAkLQej6BUG6iwNB/ANB2ssCEAEACxAAIRkgBBBrIBkQBwALEAAhACAEEGsMCAtBzcoFQdOZA0HIAkHQ+AIQAQALQYGDAkHTmQNBuQJBrvcCEAEACxBkAAsQagALQd7EBUGwlANB2gBB/fsCEAEAC0H1ggJB05kDQc0CQdD4AhABAAsgASgCSCICIAEoAkwiAUcEQANAIAIoAgAiBC0AFEUEQCAJIARBGGoQ3QULIAJBBGoiAiABRw0ACwsgAEEANgJ8CyADQbACaiQADwsgA0HYAWoQYSAAEAcAC4QQARh/IwBBsAJrIgMkAAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCBARAIAAgACgCACgCEBECAARAIAMgACgCBCICKQI4NwP4ASADIAIpAjA3A/ABIAMgAikCKDcD6AEgAyACKQIgNwPgASADIAIpAhg3A9gBIANBgAJqIAJBQGsQ4wEhBEHUiQtBADYCAEGaASADQZQCaiACQdQAahACIQVB1IkLKAIAIRFB1IkLQQA2AgAgEUEBRg0CIAMgAigCaDYCqAIgAyACKAJsIgI2AqwCIAIEQCACIAIoAgRBAWo2AgQLIANBASADKALgASICIAJBAEobNgLgASADIAMpA+gBNwMYIAMgAykD8AE3AyAgAyADKQP4ATcDKCADIAMpA+ABNwMQIANBASADKALcASICIAJBAEobNgLcAUHUiQtBADYCACADIAMpA9gBNwMIQZsBIANBMGogBBACIQRB1IkLKAIAIQJB1IkLQQA2AgACQCACQQFHBEBB1IkLQQA2AgBBmgEgA0HEAGogBRACIQVB1IkLKAIAIRJB1IkLQQA2AgAgEkEBRg0FIAMgAygCrAIiAjYCXCADIAMoAqgCNgJYIAIEQCACIAIoAgRBAWo2AgQLIANBADYCeCADIAMpAxA3AoQBIAMgAykDGDcCjAEgAyADKQMgNwKUASADIAMpAyg3ApwBIANCADcCcCADQfzsCTYCZCADIAMpAwg3AnxB1IkLQQA2AgAgAyABNgJoIAMgAUGoAWo2AmxBmwEgA0GkAWogBBACIQFB1IkLKAIAIQJB1IkLQQA2AgACQCACQQFHBEBB1IkLQQA2AgBBmgEgA0G4AWogBRACGkHUiQsoAgAhE0HUiQtBADYCACATQQFHBEAgAyADKAJYNgLMASADIAMoAlwiATYC0AEgAQRAIAEgASgCBEEBajYCBAsgA0EAOwHUASADQQhqEGEgA0EBOgDUASAAKAIAKAIUIRRB1IkLQQA2AgAgFCAAEAYhAEHUiQsoAgAhFUHUiQtBADYCACAVQQFGDQQgAygCZCgCCCEWQdSJC0EANgIAIBYgA0HkAGoiASAAEANB1IkLKAIAIRdB1IkLQQA2AgAgF0EBRg0EQdSJC0EANgIAQZcBIAEQCkHUiQsoAgAhGEHUiQtBADYCACAYQQFGDQQgA0H87Ak2AmQgA0H8AGoQYSADKAJwIgEEQCADKAJ0IgAgASICRwRAA0AgAEEEayIAKAIAIQIgAEEANgIAIAIEQCACIAIoAgAoAgQRAQALIAAgAUcNAAsgAygCcCECCyADIAE2AnQgAhBaCyADQdgBahBhDBALEAAhACABEGsMAQsQACEACyADQfAAahDgASADQQhqEGEMDgsQACEADA0LEAAhACADQeQAahB8GgwMCyAAIAE2AnwgAEEUaiEJIAEoAhgiAiABKAIcIgRHBEADQCACKAIAIgUoAgxFBEAgCSAFQSBqEMYGCyACQQRqIgIgBEcNAAsLIAEoAgwiAiABKAIQIgVHBEADQAJAIAIoAgAiBCgCDARAIAAgBBDWCQwBCyAAIAQ2AnggCSAEQTBqEMYGIAAgBBDWCSAAQQA2AngLIAJBBGoiAiAFRw0ACwsgASgCMCIKIAEoAjQiDkYNCSAAQRxqIQ0DQCAKKAIAIgIoAgwEQCAJIAJBFGoQxgYLIAIoAhwiCyACKAIgIg9HBEAgACgCcCEEIAAoAmwhBiAAKAIYIQUDQCADIAsoAgAiBzYCZCAEIAZrIhBBA3UiAkEAIAVrRw0GIAdFDQcCQCAFQQlNBEAgACAFQQFqIgY2AhggDSAFQQN0aiICQf+RATYCACACIANB5ABqNgIEIAQhAiAGIQUMAQsgACgCdCIIIARLBEAgBEH/kQE2AgAgBCADQeQAajYCBCAAIARBCGoiAjYCcAwBCyACQQFqIgdBgICAgAJPDQlB/////wEgCCAGayIIQQJ1IgwgByAHIAxJGyAIQfj///8HTxsiB0GAgICAAk8NCiAQIAdBA3QiDBBcIghqIgdB/5EBNgIAIAggAkEDdGogA0HkAGo2AgQgB0EIaiECIAQgBkcEQANAIAdBCGsiByAEQQhrIgQpAgA3AgAgBCAGRw0ACwsgACAIIAxqNgJ0IAAgAjYCcCAAIAc2AmwgBkUNACAGEFogACgCcCECIAAoAhghBQtBACAFayACIAAoAmwiBmtBA3VHBEADQAJAIAIgBkYEQCAFRQ0OIA0gBUEBayIEQQN0aiIFKAIEIQIgBSgCACEGIAAgBDYCGAwBCyACQQhrIgQoAgAhBiAEKAIEIQIgACAENgJwCyAJIAI2AgAgAigCAEUNDSAAIAIgBhEAAEEAIAAoAhgiBWsgACgCcCICIAAoAmwiBmtBA3VHDQALCyACIQQgC0EEaiILIA9HDQALCyAKQQRqIgogDkcNAAsMCQtB6PoFQbqLA0H8A0HaywIQAQALEAAhGSAEEGsgGRAHAAsQACEAIAQQawwIC0HNygVB05kDQcgCQdD4AhABAAtBgYMCQdOZA0G5AkGu9wIQAQALEGQACxBqAAtB3sQFQbCUA0HaAEH9+wIQAQALQfWCAkHTmQNBzQJB0PgCEAEACyABKAJIIgIgASgCTCIBRwRAA0AgAigCACIELQAURQRAIAkgBEEYahDGBgsgAkEEaiICIAFHDQALCyAAQQA2AnwLIANBsAJqJAAPCyADQdgBahBhIAAQBwAL3R4BDn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAIgIoAgAOXgABAgMEBQYHCAkKCwwNHh8gISIjJCU1Ng4PEBESExQVFhcYGRobHB03JicoKSorLC0uLzAxMjM0ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXABdC0GY/QNB5bMDQeoBEGIACyAAQaORASABEFggAigCAEEBRw1cIAIoAhQiAUEATA1bIABBBGohBANAIAFBAWsiACACKAIUTw1eIAIoAhAgAEECdGoiAygCAEUNXyAEQb+QASADEFsgAUEBSyEGIAAhASAGDQALDFsLIABBpJEBIAEQWCACKAIAQQJHDVsgAigCEARAIABBBGpBv5ABIAJBEGoQWwsMYAsgAEGlkQEgARBYIAIoAgBBA0cNWgxjCyAAQaaRASABEFggAigCAEEE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NgIAQZyKC0GcigsoAgBBAWs2AgAgACwAH0EASARAIAAoAhQQWgsgACwAE0EASARAIAAoAggQWgsgABBaIAYtAB8hAQsgAcBBAE4NACAGKAIUEFoLIAZBIGokAA8LIAYsABNBAEgEQCAGKAIIEFoLIAAQBwALviIBDn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEoAgAiAigCAA5eAAECAwQFBgcICQoLDA0eHyAhIiMkJTU2Dg8QERITFBUWFxgZGhscHTcmJygpKissLS4vMDEyMzQ4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcAF0LQZj9A0HlswNB6gEQYgALIABBFGpBx5ABIAEQWCACKAIAQQFHDVwgAigCFCIBQQBMDVsgAEEYaiEDA0AgAUEBayIAIAIoAhRPDV4gAigCECAAQQJ0aiIEKAIARQ1fIANBu5ABIAQQWyABQQFLIQYgACEBIAYNAAsMWwsgAEEUaiIDQciQASABEFggAigCAEECRw1bIAIoAhAEQCAAQRhqQbuQASACQRBqEFsLIANBu5ABIAJBDGoQWCADQbuQASACQQhqEFgPCyAAQRRqIgBByZABIAEQWCACKAIAQQNHDVoMYAsgAEEUakHKkAEgARBYIAIoAgBBBEcNWSACKAIUBEAgAEEYakG7kAEgAkEUahBbCyACKAIQRQ1YIABBGGpBu5ABIAJBEGoQWw8LIABBFGoiA0HLkAEgARBYIAIoAgBBBUcNWCADQbuQASACQSRqEFggAigCIEUNVyAAQRhqQbuQASACQSBqEFsPCyAAQRRqQcyQASABEFggAigCAEEGRw1XIAIoAgwiAUEATA1WIABBGGohAwNAIAFBAWsiACACKAIMTw1ZIAIoAgggAEECdGoiBCgCAEUNWiADQbuQASAEEFsgAUEBSyEHIAAhASAHDQALDFYLIABBFGoiA0HNkAEgARBYIAIoAgBBB0cNViADQbuQASACQRxqEFggAigCECIBQQBMDVUgAEEYaiEDA0AgAUEBayIAIAIoAhBPDVggAigCDCAAQQJ0aiIEKAIARQ1ZIANBu5ABIAQQWyABQQFLIQggACEBIAgNAAsMVQsgAEEUakHOkAEgARBYIAIoAgBBCEYNVAxVCyAAQRRqIgBBz5ABIAEQWCACKAIAQQlHDVQMXQsgAEEUakHQkAEgARBYIAIoAgBBCkYNUgxTCyAAQRRqIgBB0ZABIAEQWCACKAIAQQtHDVIMWAsgAEEUaiIAQdKQASABEFggAigCAEEMRw1RDFwLIABBFGoiAEHTkAEgARBYIAIoAgBBDUcNUAxaCyAAQRRqIgBB1JABIAEQWCACKAIAQRhHDU8MWwsgAEEUaiIAQdWQASABEFggAigCAEEZRw1OIABBu5ABIAJBIGoQWAxaCyAAQRRqIgBB1pABIAEQWCACKAIAQRpHDU0MUQsgAEEUaiIAQdeQASABEFggAigCAEEbRw1MDFELIABBFGpB2JABIAEQWCACKAIAQRxGDUoMSwsgAEEUaiIAQdmQASABEFggAigCAEEdRw1KDFMLIABBFGoiAEHakAEgARBYIAIoAgBBHkcNSSAAQbuQASACQRRqEFgMUgsgAEEUaiIAQduQASABEFggAigCAEEfRw1IDFcLIABBFGoiAEHckAEgARBYIAIoAgBBIEcNRwxOCyAAQRRqIgBB3ZABIAEQWCACKAIAQSFHDUYMTgsgAEEUaiIAQd6QASABEFggAigCAEEiRw1FIABBu5ABIAJBIGoQWA8LIABBFGoiAEHfkAEgARBYIAIoAgBBI0cNRAxOCyAAQRRqIgBB4JABIAEQWCACKAIAQSRHDUMMRwsgAEEUakHhkAEgARBYIAIoAgBBJUYNQQxCCyAAQRRqIgBB4pABIAEQWCACKAIAQSZHDUEMTwsgAEEUaiIAQeOQASABEFggAigCAEEnRw1ADE4LIABBFGpB5JABIAEQWCACKAIAQQ5GDT4MPwsgAEEUaiIAQeWQASABEFggAigCAEEPRw0+DEcLIABBFGoiAEHmkAEgARBYIAIoAgBBEEcNPQxFCyAAQRRqIgBB55ABIAEQWCACKAIAQRFHDTwMSgsgAEEUaiIAQeiQASABEFggAigCAEESRw07DEsLIABBFGpB6ZABIAEQWCACKAIAQRNHDTogAigCCEUNOQxLCyAAQRRqQeqQASABEFggAigCAEEURg04DDkLIABBFGoiAEHrkAEgARBYIAIoAgBBFUcNOAxICyAAQRRqQeyQASABEFggAigCAEEpRg02DDcLIABBFGoiAEHtkAEgARBYIAIoAgBBKkcNNgxGCyAAQRRqQe6QASABEFggAigCAEErRg00DDULIABBFGoiAEHvkAEgARBYIAIoAgBBLEcNNAxDCyAAQRRqIgBB8JABIAEQWCACKAIAQS1HDTMMOQsgAEEUaiIAQfGQASABEFggAigCAEEuRw0yDDcLIABBFGpB8pABIAEQWCACKAIAQS9GDTAMMQsgAEEUaiIAQfOQASABEFggAigCAEEwRw0wDDULIABBFGoiAEH0kAEgARBYIAIoAgBBMUcNLwwzCyAAQRRqIgBB9ZABIAEQWCACKAIAQTJHDS4MPAsgAEEUaiIDQfaQASABEFggAigCAEEzRw0tIAIoAigiAUEASgRAIABBGGohBANAIAFBAWsiACACKAIoTw0wIAIoAiQgAEECdGoiBSgCAEUNMSAEQbuQASAFEFsgAUEBSyEJIAAhASAJDQALCyADQbuQASACQRBqEFgPCyAAQRRqIgBB95ABIAEQWCACKAIAQTRGBEAMPQsMLAsgAEEUakH4kAEgARBYIAIoAgBBNUcNKyACKAIUIgFBAEwNKiAAQRhqIQMDQCABQQFrIgAgAigCFE8NLSACKAIQIABBAnRqIgQoAgBFDS4gA0G7kAEgBBBbIAFBAUshCiAAIQEgCg0ACwwqCyAAQRRqQfmQASABEFggAigCAEE2Rg0pDCoLIABBFGoiAEH6kAEgARBYIAIoAgBBN0cNKQw5CyAAQRRqQfuQASABEFggAigCAEEWRg0nDCgLIABBFGpB/JABIAEQWCACKAIAQRdGDSYMJwsgAEEUakH9kAEgARBYIAIoAgBBKEYNJQwmCyAAQRRqQf6QASABEFggAigCAEE4Rw0lIAIoAgwiAUEATA0kIABBGGohAwNAIAFBAWsiACACKAIMTw0nIAIoAgggAEECdGoiBCgCAEUNKCADQbuQASAEEFsgAUEBSyELIAAhASALDQALDCQLIABBFGoi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KAJ8IgE2AgwgASgC/AEgASgCgAIgAikDKBC6AiEDIAYgAhCHDSACKAIkIQQgBkEMaiACKQMQIAMoAjQQhgMhBUEIEFwiAyAFNgIEIAMgBDYCACACKAIEIQRB1IkLQQA2AgAgBikDACEOQQwgAUGoAWoiAkEkQQQQBCEBQdSJCygCACEJQdSJC0EANgIAIAlBAUYNAiABQQA6ACAgAUIANwIIIAFBBjYCACABIA43AhggASAENgIEIAEgAjYCFCABQQI2AhBB1IkLQQA2AgBBDCACQQhBBBAEIQJB1IkLKAIAIQpB1IkLQQA2AgAgCkEBRg0CIAEgAjYCCCACIAMoAgA2AgAgASgCCCADKAIENgIEIAFBADoAICABQQI2AgxB1IkLQQA2AgBBtJABIABBFGogARADQdSJCygCACELQdSJC0EANgIAIAtBAUYNAiADEFoLIAZBEGokAA8LQfDtBUHFmANBlAZBjd4AEAEACxAAIQwgAxBaIAwQBwALngIBBX8jAEEQayICJABBjAEQXCEBIAIgAkEIaiIDNgIEIAJCADcCCCAAKAKAASEEQdSJC0EANgIAQeQJIAJBBGogBCAAQYQBahAIQdSJCygCACEAQdSJC0EANgIAAkACQCAAQQFGBEAQACEADAELIAFCADcCbCABQgA3AgQgAUHonwg2AgAgAUEANgJ8IAFCADcCdCABQgA3AgwgAUIANwIUIAFBhAFqIgBCADcCACABIAA2AoABQdSJC0EANgIAQeQJIAFBgAFqIAIoAgQgAxAIQdSJCygCACEFQdSJC0EANgIAIAVBAUcNARAAIQAgASgChAEQYCABEOQBGgsgAigCCBBgIAEQWiAAEAcACyACKAIIEGAgAkEQaiQAIAELPwAgACgCBEUEQEHo+gVBuosDQZwEQe7TAhABAAsgACACNgJ4IAAgATYCfCAAQRRqIAJBMGoQyQYgAEIANwJ4C74iAQ5/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAIgIoAgAOXgABAgMEBQYHCAkKCwwNHh8gISIjJCU1Ng4PEBESExQVFhcYGRobHB03JicoKSorLC0uLzAxMjM0ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXABdC0GY/QNB5bMDQeoBEGIACyAAQRRqQdiPASABEFggAigCAEEBRw1cIAIoAhQiAUEATA1bIABBGGohAwNAIAFBAWsiACACKAIUTw1eIAIoAhAgAEECdGoiBCgCAEUNXyADQdePASAEEFsgAUEBSyEGIAAhASAGDQALDFsLIABBFGoiA0HZjwEgARBYIAIoAgBBAkcNWyACKAIQBEAgAEEYakHXjwEgAkEQahBbCyADQdePASACQQxqEFggA0HXjwEgAkEIahBYDwsgAEEUaiIAQdqPASABEFggAigCAEEDRw1aDGALIABBFGpB248BIAEQWCACKAIAQQRHDVkgAigCFARAIABBGGpB148BIAJBFGoQWwsgAigCEEUNWCAAQRhqQdePASACQRBqEFsPCyAAQRRqIgNB3I8BIAEQWCACKAIAQQVHDVggA0HXjwEgAkEkahBYIAIoAiBFDVcgAEEYakHXjwEgAkEgahBbDwsgAEEUakHdjwEgARBYIAIoAgBBBkcNVyACKAIMIgFBAEwNViAAQRhqIQMDQCABQQFrIgAgAigCDE8NWSACKAIIIABBAnRqIgQoAgBFDVogA0HXjwEgBBBbIAFBAUshByAAIQEgBw0ACwxWCyAAQRRqIgNB3o8BIAEQWCACKAIAQQdHDVYgA0HXjwEgAkEcahBYIAIoAhAiAUEATA1VIABBGGohAwNAIAFBAWsiACACKAIQTw1YIAIoAgwgAEECdGoiBCgCAEUNWSADQdePASAEEFsgAUEBSyEIIAAhASAIDQALDFULIABBFGpB348BIAEQWCACKAIAQQhGDVQMVQsgAEEUaiIAQeCPASABEFggAigCAEEJRw1UDF0LIABBFGpB4Y8BIAEQWCACKAIAQQpGDVIMUwsgAEEUaiIAQeKPASABEFggAigCAEELRw1SDFgLIABBFGoiAEHjjwEgARBYIAIoAgBBDEcNUQxc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148BIAJBFGoQWA8LIABBFGpBl5ABIAEQWCACKAIAQcAARw0dIAIoAgwiAUEATA0cIABBGGohAwNAIAFBAWsiACACKAIMTw0fIAIoAgggAEECdGoiBCgCAEUNICADQdePASAEEFsgAUEBSyENIAAhASANDQALDBwLIABBFGoiAEGYkAEgARBYIAIoAgBBwQBHDRwMJQsgAEEUaiIAQZmQASABEFggAigCAEHCAEcNGwwjCyAAQRRqIgNBmpABIAEQWCACKAIAQcMARw0aIANB148BIAJBDGoQWCACKAIIRQ0ZDCsLIABBFGoiAEGbkAEgARBYIAIoAgBBxABHDRkMHgsgAEEUaiIAQZyQASABEFggAigCAEHFAEcNGAwdCyAAQRRqQZ2QASABEFggAigCAEHGAEcNFyACKAIMIgFBAEwNFiAAQRhqIQMDQCABQQFrIgAgAigCDE8NGSACKAIIIABBAnRqIgQoAgBFDRogA0HXjwEgBBBbIAFBAUshDiAAIQEgDg0ACwwWCyAAQRRqIgBBnpABIAEQWCACKAIAQccARw0WDCULIABBFGoiAEGfkAEgARBYIAIoAgBByABHDRUMIwsgAEEUaiIAQaCQASABEFggAigCAEHJAEcNFAwkCyAAQRRqIgBBoZABIAEQWCACKAIAQcoARw0TIABB148BIAJBGGoQWAwgCyAAQRRqIgBBopABIAEQWCACKAIAQcsARw0SDB8LIABBFGoiAEGjkAEgARBYIAIoAgBBzABHDREMFAsgAEEUaiIAQaSQASABEFggAigCAEHNAEcNEAwTCyAAQRRqIgBBpZABIAEQWCACKAIAQc4ARw0PDBgLIABBFGoiA0GmkAEgARBYIAIoAgBBzwBHDQ4gAigCGARAIABBGGpB148BIAJBGGoQWwsgAigCFARAIABBGGpB148BIAJBFGoQWwsgAigCEARAIABBGGpB148BIAJBEGoQWwsMIAsgAEEUakGnkAEgARBYIAIoAgBB0ABGDQwMDQsgAEEUaiIAQaiQASABEFggAigCAEHRAEcNDAwVCyAAQRRqIgNBqZABIAEQWCACKAIAQdIARw0LIAIoAhQEQCAAQRhqQdePASACQRRqEFsLIANB148BIAJBEGoQWAwdCyAAQRRqIgBBqpABIAEQWCACKAIAQdMARw0KDBkLIABBFGoiAEGrkAEgARBYIAIoAgBB1ABHDQkMEQsgAEEUaiIAQayQASABEFggAigCAEHVAEcNCAwRCyAAQRRqIgBBrZABIAEQWCACKAIAQdYARw0HDBULIABBFGoiAEGukAEgARBYIAIoAgBB1wBHDQYMFQsgAEEUaiIAQa+QASABEFggAigCAEHYAEcNBQwVCyAAQRRqIgBBsJABIAEQWCACKAIAQdkARw0EDAwLIABBFGoiAEGxkAEgARBYIAIoAgBB2gBHDQMMCgsgAEEUaiIAQbKQASABEFggAigCAEHbAEcNAgwRCyAAQRRqIgNBs5ABIAEQWCACKAIAQdwARw0BIANB148BIAJBPGoQWCACKAIwIgFBAEwNACAAQRhqIQMDQCABQQFrIgAgAigCME8NAyACKAIsIABBAnRqIgQoAgBFDQQgA0HXjwEgBBBbIAFBAUshDyAAIQEgDw0ACwsPC0Hw7QVBxZgDQZQGQY3eABABAAtBxaIBQYmiA0G8AUGmiAUQAQALQYGDAkHTmQNBuQJBrvcCEAEACyAAQdePASACQRxqEFgLIABB148BIAJBGGoQWAsgAEHXjwEgAkEUahBYCyAAQdePASACQRBqEFgPCyAAQdePASACQRRqEFgLIABB148BIAJBEGoQWAsgAEHXjwEgAkEMahBYDwsgAEHXjwEgAkEoahBYCyAAQdePASACQSRqEFgPCyAAQdePASACQRxqEFggAEHXjwEgAkEYahBYDwsgAEHXjwEgAkEUahBYCyAAQdePASACQRBqEFgLIABB148BIAJBDGoQWAsgAEHXjwEgAkEIahBYDwsgAEEYakHXjwEgAkEIahBbDwsgA0HXjwEgAkEMahBYC/IPARh/IwBBsAJrIgMkAAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCBARAIAAgACgCACgCEBECAARAIAMgACgCBCICKQI4NwP4ASADIAIpAjA3A/ABIAMgAikCKDcD6AEgAyACKQIgNwPgASADIAIpAhg3A9gBIANBgAJqIAJBQGsQ4wEhBEHUiQtBADYCAEGaASADQZQCaiACQdQAahACIQVB1IkLKAIAIRFB1IkLQQA2AgAgEUEBRg0CIAMgAigCaDYCqAIgAyACKAJsIgI2AqwCIAIEQCACIAIoAgRBAWo2AgQLIANBASADKALgASICIAJBAEobNgLg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ACgCgAEhBUGgARBcIQICQAJAAkACQAJAIAAoApgBIgFFBEBBACEADAELIABBiAFqIgAgAUYEQCADIANBCGoiATYCGCAAKAIAKAIMIQdB1IkLQQA2AgAgByAAIAEQA0HUiQsoAgAhCEHUiQtBADYCACAIQQFGDQMgAygCGCEADAILIAEoAgAoAgghCUHUiQtBADYCACAJIAEQBiEAQdSJCygCACEKQdSJC0EANgIAIApBAUYNAgsgAyAANgIYCyACQgA3AmwgAkIANwIEIAIgBDYChAEgAiAFNgKAASACQeSeCDYCAEEAIQEgAkEANgJ8IAJCADcCdCACQgA3AgwgAkIANwIUAkAgAARAIANBCGoiASAARgRAIAIgAkGIAWoiADYCmAEgAygCCCgCDCELQdSJC0EANgIAIAsgASAAEANB1IkLKAIAIQxB1IkLQQA2AgAgDEEBRw0CDAQLIAAoAgAoAgghDUHUiQtBADYCACANIAAQBiEBQdSJCygCACEOQdSJC0EANgIAIA5BAUYNAwsgAiABNgKYAQsCQAJAIAMoAhgiACADQQhqIgRGBEBBBCEBIAQhAAwBC0EFIQEgAEUNAQsgACAAKAIAIAFBAnRqKAIAEQEACyADQSBqJAAgAg8LEAAhAAwBCxAAIQAgAhDkARoCQCADKAIYIgEgA0EIaiIERgRAQQQhAyAEIQEMAQtBBSEDIAFFDQELIAEgASgCACADQQJ0aigCABEBAAsgAhBaIAAQBwALOQAgACgCBEUEQEHo+gVBuosDQZwEQe7TAhABAAsgACACNgJ4IAAgATYCfCAAIAIQiQ0gAEIANwJ4C74iAQ5/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAIgIoAgAOXgABAgMEBQYHCAkKCwwNHh8gISIjJCU1Ng4PEBES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AigCAEEYRw1PDF4LIABBpo4BIAEQWCACKAIAQRlHDU4gAEGVjgEgAkEgahBYDF0LIABBp44BIAEQWCACKAIAQRpHDU0MVAsgAEGojgEgARBYIAIoAgBBG0cNTAxUCyAAQamOASABEFggAigCAEEcRg1KDEsLIABBqo4BIAEQWCACKAIAQR1HDUoMVgsgAEGrjgEgARBYIAIoAgBBHkcNSSAAQZWOASACQRRqEFgMVQsgAEGsjgEgARBYIAIoAgBBH0cNSAxNCyAAQa2OASABEFggAigCAEEgRw1HDFELIABBro4BIAEQWCACKAIAQSFHDUYMUQsgAEGvjgEgARBYIAIoAgBBIkcNRSAAQZWOASACQSBqEFgPCyAAQbCOASABEFggAigCAEEjRw1EDFELIABBsY4BIAEQWCACKAIAQSRHDUMMSgsgAEGyjgEgARBYIAIoAgBBJUYNQQxCCyAAQbOOASABEFggAigCAEEmRw1BDEULIABBtI4BIAEQWCACKAIAQSdHDUAMRAsgAEG1jgEgARBYIAIoAgBBDkYNPgw/CyAAQbaOASABEFggAigCAEEPRw0+DEoLIABBt44BIAEQWCACKAIAQRBHDT0MSAsgAEG4jgEgARBYIAIoAgBBEUcNPAxACyAAQbmOASABEFggAigCAEESRw07DEsLIABBuo4BIAEQWCACKAIAQRNHDTogAigCCEUNOQxLCyAAQbuOASABEFggAigCAEEURg04DDkLIABBvI4BIAEQWCACKAIAQRVHDTgMSAsgAEG9jgEgARBYIAIoAgBBKUYNNgw3CyAAQb6OASABEFggAigCAEEqRw02DEYLIABBv44BIAEQWCACKAIAQStGDTQMNQsgAEHAjgEgARBYIAIoAgBBLEcNNAw5CyAAQcGOASABEFggAigCAEEtRw0zDDwLIABBwo4BIAEQWCACKAIAQS5HDTIMOgsgAEHDjgEgARBYIAIoAgBBL0YNMAwxCyAAQcSOASABEFggAigCAEEwRw0wDDgLIABBxY4BIAEQWCACKAIAQTFHDS8MNgsgAEHGjgEgARBYIAIoAgBBMkcNLgwyCyAAQceOASABEFggAigCAEEzRw0tIAIoAigiAUEASgRAIABBBGohAwNAIAFBAWsiBCACKAIoTw0wIAIoAiQgBEECdGoiBSgCAEUNMSADQZWOASAFEFsgAUEBSyEJIAQhASAJDQALCww2CyAAQciOASABEFggAigCAEE0RgRADD0LDCwLIABByY4BIAEQWCACKAIAQTVHDSsgAigCFCIBQQBMDSogAEEEaiEEA0AgAUEBayIAIAIoAhRPDS0gAigCECAAQQJ0aiIDKAIARQ0uIARBlY4BIAMQWyABQQFLIQogACEBIAoNAAsMKgsgAEHKjgEgARBYIAIoAgBBNkYNKQwqCyAAQcuOASABEFggAigCAEE3Rw0pDDkLIABBzI4BIAEQWCACKAIAQRZGDScMKAsgAEHNjgEgARBYIAIoAgBBF0YNJgwnCyAAQc6OASABEFggAigCAEEoRg0lDCYLIABBz44BIAEQWCACKAIAQThHDSUgAigCDCIBQQBMDSQgAEEEaiEEA0AgAUEBayIAIAIoAgxPDScgAigCCCAAQQJ0aiIDKAIARQ0oIARBlY4BIAMQWyABQQFLIQsgACEBIAsNAAsMJAsgAEHQjgEgARBYIAIoAgBBOUcNJAw0CyAAQdGOASABEFggAigCAEE6Rw0jDDMLIABB0o4BIAEQWCACKAIAQTtHDSIMMgsgAEHTjgEgARBYIAIoAgBBPEcNISAAQZWOASACQRhqEFggAigCDCIBQQBMDSAgAEEEaiEEA0AgAUEBayIAIAIoAgxPDSMgAigCCCAAQQJ0aiIDKAIARQ0kIARBlY4BIAMQWyABQQFLIQwgACEBIAwNAAsMIAsgAEHUjgEgARBYIAIoAgBBPUcNIAwwCyAAQdWOASABEFggAigCAEE+Rw0fDC8LIABB1o4BIAEQWCACKAIAQT9HDR4gAEGVjgEgAkEUahBYDwsgAEHXjgEgARBYIAIoAgBBwABHDR0gAigCDCIBQQBMDRwgAEEEaiEEA0AgAUEBayIAIAIoAgxPDR8gAigCCCAAQQJ0aiIDKAIARQ0gIARBlY4BIAMQWyABQQFLIQ0gACEBIA0NAAsMHAsgAEHYjgEgARBYIAIoAgBBwQBHDRwMKAsgAEHZjgEgARBYIAIoAgBBwgBHDRsMJgsgAEHajgEgARBYIAIoAgBBwwBHDRogAEGVjgEgAkEMahBYIAIoAghFDRkMKwsgAEHbjgEgARBYIAIoAgBBxABHDRkMIQsgAEHcjgEgARBYIAIoAgBBxQBHDRgMIAsgAEHdjgEgARBYIAIoAgBBxgBHDRcgAigCDCIBQQBMDRYgAEEEaiEEA0AgAUEBayIAIAIoAgxPDRkgAigCCCAAQQJ0aiIDKAIARQ0aIARBlY4BIAMQWyABQQFLIQ4gACEBIA4NAAsMFgsgAEHejgEgARBYIAIoAgBBxwBHDRYMGwsgAEHfjgEgARBYIAIoAgBByABHDRUMGQsgAEHgjgEgARBYIAIoAgBByQBHDRQMJAsgAEHhjgEgARBYIAIoAgBBygBHDRMgAEGVjgEgAkEYahBYDBYLIABB4o4BIAEQWCACKAIAQcsARw0SDBULIABB444BIAEQWCACKAIAQcwARw0RDBcLIABB5I4BIAEQWCACKAIAQc0ARw0QDBYLIABB5Y4BIAEQWCACKAIAQc4ARw0PDBsLIABB5o4BIAEQWCACKAIAQc8ARw0OIAIoAhgEQCAAQQRqQZWOASACQRhqEFsLIAIoAhQEQCAAQQRqQZWOASACQRRqEFsLIAIoAhAEQCAAQQRqQZWOASACQRBqEFsLDBoLIABB544BIAEQWCACKAIAQdAARg0MDA0LIABB6I4BIAEQWCACKAIAQdEARw0MDBgLIABB6Y4BIAEQWCACKAIAQdIARw0LIAIoAhQEQCAAQQRqQZWOASACQRRqEFsLDBYLIABB6o4BIAEQWCACKAIAQdMARw0KDA8LIABB644BIAEQWCACKAIAQdQARw0JDBQLIABB7I4BIAEQWCACKAIAQdUARw0IDBQLIABB7Y4BIAEQWCACKAIAQdYARw0HDAsLIABB7o4BIAEQWCACKAIAQdcARw0GDAsLIABB744BIAEQWCACKAIAQdgARw0FDBULIABB8I4BIAEQWCACKAIAQdkARw0EDA8LIABB8Y4BIAEQWCACKAIAQdoARw0DDA0LIABB8o4BIAEQWCACKAIAQdsARw0CDAcLIABB844BIAEQWCACKAIAQdwARw0BIABBlY4BIAJBPGoQWCACKAIwIgFBAEwNACAAQQRqIQQDQCABQQFrIgAgAigCME8NAyACKAIsIABBAnRqIgMoAgBFDQQgBEGVjgEgAxBbIAFBAUshDyAAIQEgDw0ACwsPC0Hw7QVBxZgDQZQGQY3eABABAAtBxaIBQYmiA0G8AUGmiAUQAQALQYGDAkHTmQNBuQJBrvcCEAEACyAAQZWOASACQRRqEFgLIABBlY4BIAJBEGoQWAsgAEGVjgEgAkEMahBYDAoLIABBlY4BIAJBHGoQWAsgAEGVjgEgAkEYahBYCyAAQZWOASACQRRqEFgLIABBlY4BIAJBEGoQWA8LIABBlY4BIAJBFGoQWAsgAEGVjgEgAkEQahBYCyAAQZWOASACQQxqEFgPCyAAQZWOASACQShqEFgLIABBlY4BIAJBJGoQWA8LIABBlY4BIAJBHGoQWCAAQZWOASACQRhqEFgPCyAAQZWOASACQQhqEFgPCyAAQQRqQZWOASACQQhqEFsLtAIBA38CQAJAAkBBACAAKAIEayAAKAJcIAAoAlhrQQN1RgRAIAEoAgBFDQEgAEEEakGVjgEgARBbQQAgACgCBCICayAAKAJcIgEgACgCWCIDa0EDdUcEQCAAQQhqIQQDQAJAIAEgA0YEQCACRQ0GIAQgAkEBayICQQN0aiIDKAIEIQEgAygCACEDIAAgAjYCBAwBCyABQQhrIgIoAgAhAyACKAIEIQEgACACNgJcCyAAIAE2AgAgASgCAEUNBSAAIAEgAxEAAEEAIAAoAgQiAmsgACgCXCIBIAAoAlgiA2tBA3VHDQALCw8LQc3KBUHTmQNByAJB0PgCEAEAC0GBgwJB05kDQbkCQa73AhABAAtB3sQFQbCUA0HaAEH9+wIQAQALQfWCAkHTmQNBzQJB0PgCEAEAC6JdAml/AX4jAEHQA2siAiQAIAAgATYCFAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEtAIUBQQRxBEAgAkGoAWoiB0IANwIAIAJBwJ4INgKIASACIAc2AqQBIAIgATYCoAEgAiACQYgBajYCmAECQAJAAkACQCABKAIMIgYgASgCECIJRwRAAkADQAJAIAYoAgAhCCAHIgQhAQJAAkAgAigCqAEiA0UNAANAIAMiASgCECIDIAhLBEAgASEEIAEoAgAiAw0BDAILIAMgCE8NAiABKAIEIgMNAAsgAUEEaiEEC0HUiQtBADYCAEEEQSAQBiEDQdSJCygCACEWQdSJC0EANgIAIBZBAUYNASADIAg2AhAgAyABNgIIIANCADcCACADQQA2AhwgA0IANwIUIAQgAzYCACACKAKkASgCACIBBEAgAiABNgKkASAEKAIAIQMLIAIoAqgBIAMQZyACIAIoAqwBQQFqNgKsAQsgCSAGQQRqIgZHDQEMAgsLEAAhAQwjCyACKAKYASIDRQRAQQAhAQwECyADIAJBiAFqRw0BCyACIAJBgAJqIgM2ApACIAIoAogBKAIMIRdB1IkLQQA2AgAgFyACQYgBaiADEANB1IkLKAIAIRhB1IkLQQA2AgAgGEEBRw0DDAELIAMoAgAoAgghGUHUiQtBADYCACAZIAMQBiEBQdSJCygCACEaQdSJC0EANgIAIBpBAUcNAQsQACEBDB8LIAIgATYCkAILIAIoAqABIgEoAgwiBiABKAIQIglHBEACQAJAA0ACQCAGKAIAIggoAgwEQCAHIgQhAQJAAkAgAigCqAEiA0UNAANAIAMiASgCECIEIAhLBEAgASEEIAEoAgAiAw0BDAILIAQgCE8NAiABKAIEIgMNAAsgAUEEaiEEC0HUiQtBADYCAEEEQSAQBiEDQdSJCygCACEbQdSJC0EANgIAIBtBAUYNAiADIAg2AhAgAyABNgIIIANCADcCACADQQA2AhwgA0IANwIUIAQgAzYCACADIQEgAigCpAEoAgAiBQRAIAIgBTYCpAEgBCgCACEBCyACKAKoASABEGcgAiACKAKsAUEBajYCrAELIAIgCDYCsAIgAigCkAIiBEUEQEHUiQtBADYCAEHFABAJQdSJCygCACEcQdSJC0EANgIAIBxBAUYNBAwfCyAEKAIAKAIYIR1B1IkLQQA2AgAgHSAEIAJBsAJqIANBFGoQCEHUiQsoAgAhHkHUiQtBADYCACAeQQFGDQELIAkgBkEEaiIGRw0BDAMLCxAAIQEMHwsQACEBDB4LIAIoAqABIQELIAJCADcAISACQgA3AkRBACEDIAJBQGtBADoAACACQRQ2AjwgAkKCgICAcDcCNCACQgA3AiwgAkGBAjsAKSACQgA3AkwgAkIANwJUIAJCgICAgICAgMA/NwJcIAJCADcCZCACQgA3AmwgAkGAgID8AzYCdCACQQA7AYABIAJCADcCeCACQgA3AhwgAkH87Ak2AhAgAiABNgIUIAIgAUGoAWo2AhgCQAJAAkACQAJAIAIoApACIgQEQCACQYACaiIGIARGBEAgAiACQZgCaiIENgKoAiACKAKAAigCDCEfQdSJC0EANgIAIB8gBiAEEANB1IkLKAIAISBB1IkLQQA2AgAgIEEBRg0DIAIoAqgCIQMMAgsgBCgCACgCCCEhQdSJC0EANgIAICEgBBAGIQNB1IkLKAIAISJB1IkLQQA2AgAgIkEBRg0CCyACIAM2AqgCC0EAIQQgAkEANgKsAyACQgA3AqQDIAJCADcCvAIgAkIANwLEAiACQgA3ApwDIAJCADcCtAIgAiACQaQBajYCtAMgAiABNgKwAyACQeSeCDYCsAIgAkG4A2ohBgJAIAMEQCACQZgCaiIEIANGBEAgAiAGNgLIAyACKAKYAigCDCEjQdSJC0EANgIAICMgBCAGEANB1IkLKAIAISRB1IkLQQA2AgAgJEEBRw0CDCALIAMoAgAoAgghJUHUiQtBADYCACAlIAMQBiEEQdSJCygCACEmQdSJC0EANgIAICZBAUYNHwsgAiAENgLIAwsCQCACKAK0AiIBRQ0AIAEgAkEQakYNAEHUiQtBADYCAEENQeLEBkG6iwNB4wNB/vwBEAVB1IkLKAIAISdB1IkLQQA2AgAgJ0EBRw0dDBwLIAIgAkEQajYCtAIgAigCsAIoAgghKEHUiQtBADYCACAoIAJBsAJqIAIoAqABEANB1IkLKAIAISlB1IkLQQA2AgAgKUEBRg0bIAJB5J4INgKwAgJAAkAgBiACKALIAyIBRgRAQQQhAyAGIQEMAQtBBSEDIAFFDQELIAEgASgCACADQQJ0aigCABEBAAsgAigCnAMiAQRAIAIgATYCoAMgARBaCyACQZDtCTYCsAIgAiwAwwJBAEgEQCACKAK4AhBaCwJAAkAgAigCqAIiASACQZgCaiIERgRAQQQhAyAEIQEMAQtBBSEDIAFFDQELIAEgASgCACADQQJ0aigCABEBAAsgAkH87Ak2AhAgAkEoahBhIAIoAhwiBARAIAIoAiAiASAEIgNHBEADQCABQQRrIgEoAgAhAyABQQA2AgAgAwRAIAMgAygCACgCBBEBAAsgASAERw0ACyACKAIcIQMLIAIgBDYCICADEFoLIAIoApACIgEgAkGAAmoiBEcNAUEEIQMgBCEBDAILEAAhAQweC0EFIQMgAUUNAQsgASABKAIAIANBAnRqKAIAEQEACwJAAkAgAigCmAEiASACQYgBaiIERgRAQQQhAyAEIQEMAQtBBSEDIAFFDQELIAEgASgCACADQQJ0aigCABEBAAsgAkIANwJoIAJCADcCcCACQgA3AnggAkIANwKAASACQgA3AhAgAiAAKAIUIgw2AngCQAJAAkAgDCgCGCIBIAwoAhwiBEcEQANAIAEoAgAiAygCDEUEQEHUiQtBADYCAEGUjgEgAkEQaiADQSBqEANB1IkLKAIAISpB1IkLQQA2AgAgKkEBRg0DCyABQQRqIgEgBEcNAAsLIAwoAjAiCyAMKAI0IhFGDQIgAkEYaiEVAkACQANAAkAgCygCACIBKAIUBEBB1IkLQQA2AgBBlI4BIAJBEGogAUEUahADQdSJCygCACErQdSJC0EANgIAICtBAUYNBCALKAIAIQELIAEoAhwiCiABKAIgIg1HBEAgAigCbCEEIAIoAmghAyACKAIUIQUDQCACIAooAgAiATYCsAJB0PgCIRNB05kDIQ8gBCADayIIQQN1Ig5BACAFa0cEQEHIAiEBQc3KBSEDDAgLIAFFBEBBrvcCIRNBuQIhAUGBgwIhAwwICwJAIAVBCU0EQCACIAVBAWoiAzYCFCAVIAVBA3RqIgFBlY4BNgIAIAEgAkGwAmo2AgQgBCEBIAMhBQwBCyACKAJwIgEgBEsEQCAEQZWOATYCACAEIAJBsAJqNgIEIAIgBEEIaiIBNgJsDAELIA5BAWoiCUGAgICAAk8EQEHUiQtBADYCAEGWjgEQCUHUiQsoAgAhLEHUiQtBADYCACAsQQFHDSMMIAtB/////wEgASADayIGQQJ1IgEgCSABIAlLGyAGQfj///8HTxsiAUGAgICAAk8EQEHUiQtBADYCAEEDEAlB1IkLKAIAIS1B1IkLQQA2AgAgLUEBRw0jDCALQdSJC0EANgIAQQQgAUEDdCIJEAYhFEHUiQsoAgAhLkHUiQtBADYCACAuQQFGDQUgCCAUaiIGQZWOATYCACAUIA5BA3RqIAJBsAJqNgIEIAZBCGohASADIARHBEADQCAGQQhrIgYgBEEIayIEKQIANwIAIAMgBEcNAAsLIAIgCSAUajYCcCACIAE2AmwgAiAGNgJoIANFDQAgAxBaIAIoAmwhASACKAIUIQULQQAgBWsgASACKAJoIgNrQQN1RwRAA0ACQCABIANGBEAgBUUEQEH9+wIhE0HaACEBQbCUAyEPQd7EBSEDDAwLIBUgBUEBayIEQQN0aiIDKAIEIQEgAygCACEDIAIgBDYCFAwBCyABQQhrIgQoAgAhAyAEKAIEIQEgAiAENgJsCyACIAE2AhAgASgCAEUEQEHNAiEBQfWCAiEDDAoLQdSJC0EANgIAIAMgAkEQaiABEANB1IkLKAIAIS9B1IkLQQA2AgAgL0EBRg0EQQAgAigCFCIFayACKAJsIgEgAigCaCIDa0EDdUcNAAsLIAEhBCAKQQRqIgogDUcNAAsLIAtBBGoiCyARRw0BDAYLCxAAIQEMGwsQACEBDBoLEAAhAQwZCxAAIQEMGAtB1IkLQQA2AgBBDSADIA8gASATEAVB1IkLKAIAITBB1IkLQQA2AgAgMEEBRw0ZDBYLAkACQAJAAkACQAJAAkACQAJAIAwoAkgiASAMKAJMIgRHBEADQCABKAIAIgMoAhgEQEHUiQtBADYCAEGUjgEgAkEQaiADQRhqEANB1IkLKAIAITFB1IkLQQA2AgAgMUEBRg0DCyABQQRqIgEgBEcNAAsLIAJBADYCeAJAIAAoAhQiASgCDCIGIAEoAhAiCUcEQANAIAYoAgAiCCgCDEUEQCAHIgQhAQJAAkAgAigCqAEiA0UNAANAIAggAyIBKAIQIgRJBEAgASEEIAEoAgAiAw0BDAILIAQgCE8NAiABKAIEIgMNAAsgAUEEaiEEC0HUiQtBADYCAEEEQSAQBiEDQdSJCygCACEyQdSJC0EANgIAIDJBAUYNBCADIAg2AhAgAyABNgIIIANCADcCACADQQA2AhwgA0IANwIUIAQgAzYCACADIQEgAigCpAEoAgAiBQRAIAIgBTYCpAEgBCgCACEBCyACKAKoASABEGcgAiACKAKsAUEBajYCrAELIAMoAhghBCADKAIUIQFB1IkLQQA2AgBBl44BIAAgASAEEAhB1IkLKAIAITNB1IkLQQA2AgAgM0EBRg0DCyAGQQRqIgYgCUcNAAsLQdSJC0EANgIAQZeOASAAIAIoAnwgAigCgAEQCEHUiQsoAgAhNEHUiQtBADYCACA0QQFGDR8gACgCHCIDIAAoAhgiAUYNCUHUiQtBADYCAEHYASACQegBaiADIAFrIglBAnUiCBACIRJB1IkLKAIAITVB1IkLQQA2AgAgNUEBRg0fQQEgCCAIQQFNGyEUQQAhAQNAQauJBCEFQeQHIQRBv/8FIQYCQAJAAkAgACgCGCABQQJ0aigCACgCBCIDQQdJDQAgAygCBEEBRw0AQecjIQVB6gkhBEH/9wUhBiADKAIIIgtBEEkNAAJAIAsoAhBBAmsOAgACAQsgCygCGCEGIAsoAhQhByASKAIAIgMoAlAhBCADKAJMIQNB1IkLQQA2AgBBlRogAyAEIAEgByAGEAxB1IkLKAIAITZB1IkLQQA2AgAgNkEBRwRAIBIoAgAhBQwDCxAAIQEMIgtB1IkLQQA2AgBBDSAGQbizAiAEIAUQBUHUiQsoAgAhN0HUiQtBADYCACA3QQFHDSUQACEBDCELIAEgEigCACIFKAJQIAUoAkwiA2tBA3VPBEBB1IkLQQA2AgBBDUG5wwZBuLMCQaETQZ+JBBAFQdSJCygCACE4QdSJC0EANgIAIDhBAUcNJRAAIQEMIQsgCygCHCEEIAMgAUEDdGoiAygCACIHIAspAhQ3AhQgB0EDNgIQIAcgBDYCHCADQQE6AAQLIAEgBSgCUCAFKAJMIgNrQQN1TwRAQdSJC0EANgIAQQ1BucMGQbizAkG5E0GjjAQQBUHUiQsoAgAhOUHUiQtBADYCACA5QQFHDSQQACEBDCALIAMgAUEDdGoiAygCACALNgIEIAMoAgBBAToAASABQQFqIgEgFEcNAAtB1IkLQQA2AgBB2QEgEkEAIAgQCEHUiQsoAgAhAUHUiQtBADYCAAJAAkACQCABQQFHBEBB1IkLQQA2AgBB2wEgAkGAAmogEhADQdSJCygCACE6QdSJC0EANgIAIDpBAUYNASACLQCMAiIBRQ0DIAFBAUcNAkHUiQtBADYCAEENQc76BUGCuQJBhgJBt5sBEAVB1IkLKAIAITtB1IkLQQA2AgAgO0EBRw0mEAAhAQwhCxAAIQEMIQsQACEBDCALQdSJC0EANgIAQd8BEAlB1IkLKAIAITxB1IkLQQA2AgAgPEEBRw0jEAAhAQweCyAJAn8gAigChAIiASACKAKAAiIDRgRAQQAhCEEADAELIAEgA2siBEEASARAQdSJC0EANgIAQYwBEAlB1IkLKAIAIT1B1IkLQQA2AgAgPUEBRw0kDB4LQdSJC0EANgIAQQQgBBAGIQhB1IkLKAIAIT5B1IkLQQA2AgAgPkEBRg0dIAggAyAE/AoAACAEIAhqCyAIa0cEQEHUiQtBADYCAEENQdHjAkGCuQJBiAJBt5sBEAVB1IkLKAIAIT9B1IkLQQA2AgAgP0EBRw0jEAAhAQwbCyAIKAIAIgNBD00EQEHUiQtBADYCAEENQaGhBkG4swJBhQxBx4ICEAVB1IkLKAIAIUBB1IkLQQA2AgAgQEEBRw0jEAAhAQwcC0EBIQsgACgCFCEOIAMoAggiASADQQFyIAEbIgxBAXEiBARAIAJCADcC3AEMAwsgDCgCACEDIAwoAgQhAUEAIQsgAkEANgLgASACQgA3AtgBIAEgA0YEQEEBIRUMBAsgASADa0ECdSILQYCAgIAESQ0CQdSJC0EANgIAQYwBEAlB1IkLKAIAIUFB1IkLQQA2AgAgQUEBRw0iDBkLEAAhAQwfCxAAIQEMHgtBACEVQdSJC0EANgIAQQQgC0ECdCIDEAYhBkHUiQsoAgAhQkHUiQtBADYCAEEBIQcgQkEBRg0WIAIgBjYC3AEgAiAGNgLYASACIAMgBmo2AuABIAQNAQsgDCgCBCAMKAIAa0ECdSIHRQ0BCyAMQX5xIQkgDEEBcSERQQAhBANAIAkhBiARRQRAIAwoAgAgBEECdGooAgAhBgsCQCACKALcASIBIAIoAuABRwRAIAEgBjYCACACIAFBBGo2AtwBDAELAkACQAJAIAEgAigC2AEiBWsiD0ECdSINQQFqIgpBgICAgARPBEBB1IkLQQA2AgBBjAEQCQwBC0H/////AyAPQQF1IgMgCiADIApLGyAPQfz///8HTxsiD0UEQEEAIQoMAwsgD0GAgICABEkNAUHUiQtBADYCAEEDEAkLQdSJCygCACFDQdSJC0EANgIAIENBAUcNIRAAIQEMFwtB1IkLQQA2AgBBBCAPQQJ0EAYhCkHUiQsoAgAhREHUiQtBADYCACBEQQFGDQQLIAogDUECdGoiAyAGNgIAIANBBGohBiABIAVHBEADQCADQQRrIgMgAUEEayIBKAIANgIAIAEgBUcNAAsLIAIgCiAPQQJ0ajYC4AEgAiAGNgLcASACIAM2AtgBIAVFDQAgBRBaCyAEQQFqIgQgB0cNAAsLQQAhBEHUiQtBADYCAEGqGSACQfABaiAOEANB1IkLKAIAIUVB1IkLQQA2AgAgRUEBRg0QIAJCADcDuAIgAkIANwOwAiACQYCAgPwDNgLAAiACKALwASIGIAIoAvQBIgdHBEAgBiEBA0AgASgCACEDQdSJC0EANgIAQeICIAJBmAJqIAJBsAJqIAMgAxAFQdSJCygCACFGQdSJC0EANgIAIEZBAUYNAyABQQRqIgEgB0cNAAsgAigCtAIhBAsgAigC2AEhBwJAIARFDQAgBygCACIJQZXTx94FbCIBQRh2IAFzQZXTx94FbEGomb30fXNBldPH3gVsIgFBDXYgAXNBldPH3gVsIgFBD3YgAXMhAwJAIARpIgVBAU0EQCAEQQFrIANxIQYMAQsgAyIGIARJDQAgAyAEcCEGCyACKAKwAiAGQQJ0aigCACIBRQ0AIAEoAgAiAUUNAAJAIAVBAU0EQCAEQQFrIQUDQAJAIAEoAgQiBCADRwRAIAQgBXEgBkYNAQwFCyABKAIIIAlGDQMLIAEoAgAiAQ0ACwwCCwNAAkAgASgCBCIFIANHBEAgBCAFTQR/IAUgBHAFIAULIAZGDQEMBAsgASgCCCAJRg0CCyABKAIAIgENAAsMAQsgC0EBaiEPIAtBCmohDCALIQQDQEHUiQtBADYCAEHYASACQewBaiAPEAIhEEHUiQsoAgAhR0HUiQtBADYCACBHQQFGDQ8gFUUEQEEAIQEgAigC2AEhCQNAAkACQAJAAkACQAJAAkAgCSABQQJ0aigCACIKQRBJDQAgCigCEEECaw4CAgEAC0HUiQtBADYCAEENQfr3BUGCuQJB6wBBq4ICEAVB1IkLKAIAIUhB1IkLQQA2AgAgSEEBRw0mEAAhAQwWCyAQKAIAIgMoAlAgAygCTCIDa0EDdSABSw0BQdSJC0EANgIAQQ1BucMGQbizAkGhE0GfiQQQBUHUiQsoAgAhSUHUiQtBADYCACBJQQFHDSUQACEBDBULIAooAhghBSAKKAIUIQYgECgCACIDKAJQIQcgAygCTCEDQdSJC0EANgIAQZUaIAMgByABIAYgBRAMQdSJCygCACFKQdSJC0EANgIAIEpBAUYNAgwBCyAKKAIcIQcgAyABQQN0aiIDKAIAIgYgCikCFDcCFCAGQQM2AhAgBiAHNgIcIANBAToABAsCQCAKKAIEIgcEQCABIBAoAgAiAygCUCADKAJMIgNrQQN1TwRAQaOMBCEBQbkTIQNBucMGIQUMAgsgB0EQSQRAQZ/LAiEBQZ8DIQNBg6EGIQUMAgsgAyABQQN0aigCACAHNgIECyAQKAIAIgMoAlAgAygCTCIDa0EDdSABSw0CQdSJC0EANgIAQQ1BucMGQbizAkHSE0Gt4gIQBUHUiQsoAgAhS0HUiQtBADYCACBLQQFHDSMQACEBDBMLQdSJC0EANgIAQQ0gBUG4swIgAyABEAVB1IkLKAIAIUxB1IkLQQA2AgAgTEEBRw0iEAAhAQwSCxAAIQEMEQsgAyABQQN0aigCACAKLQABOgABIAFBAWoiASALRw0ACwsCQAJAAkAgDEUEQEEAIQVBACEBDAELIAxBx4yijgZrIQ1BACEFQQAhAUEAIQpBACEGA0BBAkEFIARBAXEbIQ4CQCABIApJBEAgAUKAgICAEDcCBCABIA42AgAgAUEMaiEBDAELAkACQAJAIAEgBWtBDG0iCUEBaiIRQdaq1aoBTwRAQdSJC0EANgIAQe8AEAkMAQtB1arVqgEgCiAFa0EMbSIHQQF0IgMgESADIBFLGyAHQarVqtUATxsiCkUEQEEAIRMMAwsgCkHWqtWqAUkNAUHUiQtBADYCAEEDEAkLQdSJCygCACFNQdSJC0EANgIAIE1BAUcNJRAAIQEMFAtB1IkLQQA2AgBBBCAKQQxsEAYhE0HUiQsoAgAhTkHUiQtBADYCACBOQQFGDQQLIBMgCUEMbGoiB0KAgICAEDcCBCAHIA42AgAgByEDIAEgBUcEQANAIANBDGsiAyABQQxrIgEpAgA3AgAgAyABKAIINgIIIAEgBUcNAAsLIApBDGwgE2ohCiAHQQxqIQEgBQRAIAUQWgsgAyEFCyAGIA1qIARBBnRqIARBAnZqIARzIQQgBkEBaiIGIAxHDQALCyAQKAIAIgMoAlAhByADKAJMIQNB1IkLQQA2AgBBlRogAyAHIAsgBSABEAxB1IkLKAIAIU9B1IkLQQA2AgAgT0EBRw0BEAAhAQwPCxAAIQEMDgtB1IkLQQA2AgBB2QEgEEEAIA8QCEHUiQsoAgAhAUHUiQtBADYCAAJAAkACQAJAAkACQCABQQFHBEBB1IkLQQA2AgBB2wEgAkGYAmogEBADQdSJCygCACFQQdSJC0EANgIAIFBBAUYNAyACLQCkAiIBRQ0CIAFBAUcNAUGBASEBQc76BSEDDBELEAAhAQwTC0HUiQtBADYCAEHfARAJDBALQdSJC0EANgIAQeABIAJB2AFqIAIoApgCIgMgAigCnAIiASABIANrQQJ1EAVB1IkLKAIAIVFB1IkLQQA2AgAgUUEBRg0QIA8gAigC3AEgAigC2AEiAWtBAnVHBEBBgwEhAUHywQUhAwwPC0EBIQ0gAigCtAIiCUUNAyABKAIAIgpBldPH3gVsIgFBGHYgAXNBldPH3gVsQaiZvfR9c0GV08feBWwiAUENdiABc0GV08feBWwiAUEPdiABcyEDAkAgCWlBAUsiBkUEQCAJQQFrIANxIQcMAQsgAyIHIAlJDQAgAyAJcCEHCyACKAKwAiAHQQJ0aigCACIBRQ0DIAEoAgAiAUUNAyAGDQEgCUEBayEJA0ACQCABKAIEIgYgA0cEQCAGIAlxIAdHDQYMAQsgASgCCCAKRg0ECyABKAIAIgENAAsMAwsQACEBDBALA0ACQCABKAIEIgYgA0cEQCAGIAlPBH8gBiAJcAUgBgsgB0cNBAwBCyABKAIIIApGDQILIAEoAgAiAQ0ACwwBC0EAIQ0LIAItAKQCIgFB/wFHBEAgAkHjATYCyAEgAkHkATYCxAFB1IkLQQA2AgAgAkHEAWogAUECdGooAgAgAkG4AWogAkGYAmoQA0HUiQsoAgAhUkHUiQtBADYCACBSQQFGDSYLIAUEQCAFEFoLIBAoAgAhASAQQQA2AgAgAQRAIAEQkQMLIAxBAXQhDCANRQ0ACyACKALYASEHCyACKALcASIJIAdHBEAgAigCtAIiDkEBayERIAIoArACIQUgDmlBAUshDSAHIQoDQAJAIA5FDQAgCigCACILQZXTx94FbCIBQRh2IAFzQZXTx94FbEGomb30fXNBldPH3gVsIgFBDXYgAXNBldPH3gVsIgFBD3YgAXMhAwJAIA1FBEAgAyARcSEEDAELIAMiBCAOSQ0AIAMgDnAhBAsgBSAEQQJ0aigCACIBRQ0AIAEoAgAiAUUNAAJAIA1FBEADQAJAIAEoAgQiBiADRwRAIAYgEXEgBEcNBQwBCyABKAIIIAtGDQMLIAEoAgAiAQ0ADAMLAAsDQAJAIAEoAgQiBiADRwRAIAYgDk8EfyAGIA5wBSAGCyAERw0EDAELIAEoAgggC0YNAgsgASgCACIBDQALDAELQdSJC0EANgIAQQ1BmukFQYK5AkGUAUGrggIQBUHUiQsoAgAhU0HUiQtBADYCACBTQQFHDR8QACEBDBELIApBBGoiCiAJRw0ACwsgAigCuAIiAQRAA0AgASgCACFUIAEQWiBUIgENAAsLIAIoArACIQEgAkEANgKwAiABBEAgARBaCyACKALwASIBBEAgARBaCyAIEFogAkIANwOgAiACQgA3A5gCIAJBgICA/AM2AqgCIAAoAhQiBSgCnAEiAQRAA0AgASkCDCFrIAEoAgwhA0HUiQtBADYCAEH2ACACQbACaiACQZgCaiADIGsQqAJB1IkLKAIAIVVB1IkLQQA2AgAgVUEBRg0IIAEoAgAiAQ0ACwsgBUGUAWohCyACQbgCaiEJQQAhCgNAAkACQCAKQQJ0IgEgACgCGGooAgAiBigCBCIDQQdJDQAgAygCBEEBRw0AIAIgAygCCCIINgLUASACIAEgB2ooAgAiATYC0AEgAUEQSQ0BIAEtAABFDQFB1IkLQQA2AgBBDUH+0AZBuLMCQegFQbiMBBAFQdSJCygCACFWQdSJC0EANgIAIFZBAUcNHxAAIQEMCgtB1IkLQQA2AgBBDUG//wVBuLMCQeQHQauJBBAFQdSJCygCACFXQdSJC0EANgIAIFdBAUcNHhAAIQEMCQsgAkEANgK8AiACIAE2ArgCIAJBADoAsAJB1IkLQQA2AgAgAkEBNgK0AkEHQdidCyACQbACaiIEEAIhA0HUiQsoAgAhWEHUiQtBADYCACBYQQFGBEAQACEBIAQQdwwJCyAGIAM2AgQCQCAFKAKYASIERQ0AIAsoAgACfyAIQZXTx94FbCIBQRh2IAFzQZXTx94FbEGomb30fXNBldPH3gVsIgFBDXYgAXNBldPH3gVsIgFBD3YgAXMiDSAEQQFrcSAEaUEBSyIDRQ0AGiANIAQgDUsNABogDSAEcAsiBkECdGooAgAiAUUNACABKAIAIgFFDQACQCADRQRAIARBAWshBANAAkAgASgCBCIDIA1HBEAgAyAEcSAGRg0BDAULIAEoAgggCEYNAwsgASgCACIBDQALDAILA0ACQCABKAIEIgMgDUcEQCADIARPBH8gAyAEcAUgAwsgBkYNAQwECyABKAIIIAhGDQILIAEoAgAiAQ0ACwwBC0HUiQtBADYCAEGLASACQcQBaiALIAggAkHUAWoQBUHUiQsoAgAhAUHUiQtBADYCAAJAAkACQAJAAkACQAJAAkACQAJAIAFBAUYNACACKALEASIBKAIQIghB8P///wdPBEBB1IkLQQA2AgBB2AAQCUHUiQsoAgAhWUHUiQtBADYCACBZQQFHDSkQACEBDBQLIAEoAgwhBgJAAkAgCEELTwRAQdSJC0EANgIAQQQgCEEPckEBaiIEEAYhA0HUiQsoAgAhWkHUiQtBADYCACBaQQFGDQMgAiADNgKwAiACIAg2ArQCIAIgBEGAgICAeHI2ArgCDAELIAIgCDoAuwIgAkGwAmohAyAIRQ0BCyADIAYgCPwKAAALIAMgCGpBADoAAEHUiQtBADYCAEHRASACQbACakHfABADQdSJCygCACFbQdSJC0EANgIAIFtBAUYNASACIAkoAgA2AuABIAlBADYCACACIAIpA7ACNwPYASACQgA3A7ACIAAgACgCJEEBaiIBNgIkQdSJC0EANgIAQboCIAJBxAFqIgMgARADQdSJCygCACFcQdSJC0EANgIAIFxBAUYNAkHUiQtBADYCAEGMAiACQdgBaiACKALEASADIAItAM8BIgPAQQBIIgEbIAIoAsgBIAMgARsQBCEDQdSJCygCACFdQdSJC0EANgIAIF1BAUYNAyACIAMoAgg2AvgBIAIgAykCADcD8AEgA0IANwIAIANBADYCCAJAIAIsAM8BQQBODQAgAigCxAEQWiACLADjAUEATg0AIAMoAgAQWgsgAiwAuwJBAEgEQCACKAKwAhBaCyACIAIoAvQBIAIsAPsBIgFB/wFxIAFBAEgiARs2ArQCIAIgAigC8AEgAkHwAWogARs2ArACQdSJC0EANgIAIAIgAikCsAI3AwhBBiACQbABaiACQQhqEANB1IkLKAIAIV5B1IkLQQA2AgAgXkEBRg0GQdSJC0EANgIAIAJBlJ8INgKwAiACIAJBsAJqIgQ2AsACIAIgAkGYAmo2ArQCQdgbIAJBuAFqIAIpA7ABIAQgAigCpAIQ8wJB1IkLKAIAIQFB1IkLQQA2AgACQCABQQFHBEACQAJAIAQgAigCwAIiAUYEQEEEIQMgBCEBDAELQQUhAyABRQ0BCyABIAEoAgAgA0ECdGooAgARAQALQdSJC0EANgIAQYsBIAJBxAFqIgMgCyACKALUASACQdQBahAFQdSJCygCACFfQdSJC0EANgIAIF9BAUYNCSACKALEASIBKQIMIWtB1IkLQQA2AgAgAiBrNwOwAkHBEyAJIAFBFGoQAiEEQdSJCygCACFgQdSJC0EANgIAIGBBAUYNCSACIAIpA7gBIms3A7ACQdSJC0EANgIAQYsBIAMgCyACKALQASACQdABahAFQdSJCygCACFhQdSJC0EANgIAIGFBAUcEQCACKALEASIDQQxqIgEgAikDsAI3AgAgASACQbACakYNAiADIAIqAsgCOAIkQdSJC0EANgIAQeIBIANBFGogAigCwAIQA0HUiQsoAgAhYkHUiQtBADYCACBiQQFHDQILDAoLEAAhAQJAIAIoAsACIgMgAkGwAmoiAEYEQEEEIQUgACEDDAELQQUhBSADRQ0LCyADIAMoAgAgBUECdGooAgARAQAMCgtB1IkLQQA2AgBB9gAgAkHEAWogAkGYAmoga6cgaxCoAkHUiQsoAgAhY0HUiQtBADYCACBjQQFGDQggAigCwAIiAQRAA0AgASgCACFkIAEQWiBkIgENAAsLIAQoAgAhASAEQQA2AgAgAQRAIAEQWgsgAiwA+wFBAE4NCiACKALwARBaDAoLEAAhAQwSCxAAIQEMAwsQACEBDAELEAAhASACLADPAUEATg0AIAIoAsQBEFoLIAIsAOMBQQBODQAgAigC2AEQWgsgAiwAuwJBAE4NDSACKAKwAhBaDA0LEAAhAQwCCxAAIQEMAQsQACEBIAJBsAJqEMIFCyACLAD7AUEATg0JIAIoAvABEFoMCQsgFCAKQQFqIgpHDQALDAILEAAhAQwRCxAAIQEgAkGwAmoQogEMDQsgAigCoAIiAQRAA0AgASgCACFlIAEQWiBlIgENAAsLIAIoApgCIQEgAkEANgKYAiABBEAgARBaCyAHBEAgBxBaCyACLQCMAiIBQf8BRwRAIAJB4wE2ArQCIAJB5AE2ArACQdSJC0EANgIAIAJBsAJqIAFBAnRqKAIAIAJBmAJqIAJBgAJqEANB1IkLKAIAIWZB1IkLQQA2AgAgZkEBRg0hCyASKAIAIQEgEkEANgIAIAFFDQAgARCRAwsgAkIANwLAAiACQQA2AqwDIAJCADcCpAMgAkEANgLIAiACQgA3ArgDIAJBgICA/AM2AsADIAJBuMMDLwAAOwHAAiACQgA3ApwDIAJCADcCsAMgAkHM7Ak2ArACIAJBsMMDKQAANwK4AiACQQo6AMMCIAAoAhQhASACIAAoAgQ2ArQCQdSJC0EANgIAQbIZIAJBsAJqIAEQA0HUiQsoAgAhZ0HUiQtBADYCACBnQQFGDQEgAkHM7Ak2ArACIAIoArgDIgUEQANAIAUoAgAhaSAFKAIYIgEEQANAIAEoAgAhaCABEFogaCIBDQALCyAFKAIQIQAgBUEANgIQIAAEQCAAEFoLIAUQWiBpIgUNAAsLIAIoArADIQAgAkEANgKwAyAABEAgABBaCyACKAKcAyIABEAgAiAANgKgAyAAEFoLIAJBkO0JNgKwAiACLADDAkEASARAIAIoArgCEFoLIAIoAnwiAARAIAIgADYCgAEgABBaCyACKAJoIgAEQCACIAA2AmwgABBaCyACKAKoARDKBgsgAkHQA2okAA8LEAAhASACQbACahDIAhoMFAsQACEBCyACQZgCahCiASAHIQgMDAtB1IkLQQA2AgBBDSADQYK5AiABQauCAhAFC0HUiQsoAgAhakHUiQtBADYCACBqQQFHDRILEAAhASACQZgCahCfBQsgBUUNACAFEFoLIBAoAgAhACAQQQA2AgAgAEUNASAAEJEDDAELEAAhAQsgAkGwAmoQogEgAigC8AEhBgsgBkUNASAGEFoMAQsQACEBCyACKALYASEFCyAFRQ0BIAIgBTYC3AEgBRBaDAELEAAhAQsgCEUNAgsgCBBaDAELEAAhAQsgAkGAAmoQnwULIBIoAgAhACASQQA2AgAgAEUNASAAEJEDDAELEAAhAQsgAkEQahCBByACKAKoARDKBgwHCxAAIQEgAkGwAmoQig0aDAILAAsQACEBIAJBsAJqEOQBGgsCQCACKAKoAiIDIAJBmAJqIgBGBEBBBCEFIAAhAwwBC0EFIQUgA0UNAQsgAyADKAIAIAVBAnRqKAIAEQEACyACQRBqEHwaCwJAIAIoApACIgMgAkGAAmoiAEYEQEEEIQUgACEDDAELQQUhBSADRQ0BCyADIAMoAgAgBUECdGooAgARAQALIAIoAqgBEMoGAkAgAigCmAEiAyACQYgBaiIARgRAQQQhBSAAIQMMAQtBBSEFIANFDQELIAMgAygCACAFQQJ0aigCABEBACABEAcACyABEAcAC0EAEAsaEHAAC0EBAX8gAEGQngg2AgAgACgCGCIBBEAgACABNgIcIAEQWgsgAEGQ7Qk2AgAgACwAE0EASARAIAAoAggQWgsgABBaCz8BAX8gAEGQngg2AgAgACgCGCIBBEAgACABNgIcIAEQWgsgAEGQ7Qk2AgAgACwAE0EASARAIAAoAggQWgsgAAvIBQEIfyMAQaABayIDJAACQAJAIAEoAgAiASgCDA0AIAAoAgQoAgQhBiADQgA3AlwgA0IANwJkIANCADcCbCADQgA3AogBIANBATYChAEgA0KBgICAEDcCfCADQoGAgIAQNwJ0IANCADcCkAEgA0GAgID8AzYCmAEgA0IANwIEIAYtADkhAEHUiQtBADYCACADIAA6AJwBQcKMASADQQRqIAFBMGoQA0HUiQsoAgAhB0HUiQtBADYCACAHQQFGDQEgAiADKQJwNwIAIAIgAykCgAE3AhAgAiADKQJ4NwIIIAIoAiQEQCACKAIgIgEEQANAIAEoAgAhCCABEFogCCIBDQALC0EAIQEgAkEANgIgAkAgAigCHCIARQ0AIABBBE8EQCAAQXxxIQUDQCABQQJ0IgQgAigCGGpBADYCACACKAIYIARqQQA2AgQgAigCGCAEakEANgIIIAIoAhggBGpBADYCDCABQQRqIgEgBUcNAAsLIABBA3EiBEUNAEEAIQADQCACKAIYIAFBAnRqQQA2AgAgAUEBaiEBIABBAWoiACAERw0ACwsgAkEANgIkCyADKAKIASEBIANBADYCiAEgAigCGCEAIAIgATYCGCAABEAgABBaCyACIAMoAowBIgA2AhwgA0EANgKMASACIAMoApQBIgQ2AiQgAiADKgKYATgCKCACQSBqIgUgAygCkAEiATYCAAJAIAQEQCABKAIEIQECQCAAIABBAWsiBHFFBEAgASAEcSEBDAELIAAgAUsNACABIABwIQELIAIoAhggAUECdGogBTYCACADQgA3ApABDAELIAFFDQADQCABKAIAIQkgARBaIAkiAQ0ACwsgAygCiAEhACADQQA2AogBIAAEQCAAEFoLIAMoAlwiAEUNACADIAA2AmAgABBaCyADQaABaiQADwsQACEKIANBBGoQjw0gChAHAAsVACABIAAoAgQ2AgQgAUGYnQg2AgALHQEBf0EIEFwiASAAKAIENgIEIAFBmJ0INgIAIAELzwQBDn8jAEEgayIDJAAgACgChAEhBCAAKAKAASEFQaABEFwhAgJAAkACQAJAAkAgACgCmAEiAUUEQEEAIQAMAQsgAEGIAWoiACABRgRAIAMgA0EIaiIBNgIYIAAoAgAoAgwhB0HUiQtBADYCACAHIAAgARADQdSJCygCACEIQdSJC0EANgIAIAhBAUYNAyADKAIYIQAMAgsgASgCACgCCCEJQdSJC0EANgIAIAkgARAGIQBB1IkLKAIAIQpB1IkLQQA2AgAgCkEBRg0CCyADIAA2AhgLIAJCADcCbCACQgA3AgQgAiAENgKEASACIAU2AoABIAJBvJ0INgIAQQAhASACQQA2AnwgAkIANwJ0IAJCADcCDCACQgA3AhQCQCAABEAgA0EIaiIBIABGBEAgAiACQYgBaiIANgKYASADKAIIKAIMIQtB1IkLQQA2AgAgCyABIAAQA0HUiQsoAgAhDEHUiQtBADYCACAMQQFHDQIMBAsgACgCACgCCCENQdSJC0EANgIAIA0gABAGIQFB1IkLKAIAIQ5B1IkLQQA2AgAgDkEBRg0DCyACIAE2ApgBCwJAAkAgAygCGCIAIANBCGoiBEYEQEEEIQEgBCEADAELQQUhASAARQ0BCyAAIAAoAgAgAUECdGooAgARAQALIANBIGokACACDwsQACEADAELEAAhACACEOQBGgJAIAMoAhgiASADQQhqIgRGBEBBBCEDIAQhAQwBC0EFIQMgAUUNAQsgASABKAIAIANBAnRqKAIAEQEACyACEFogABAHAAs5ACAAKAIERQRAQej6BUG6iwNBnARB7tMCEAEACyAAIAI2AnggACABNgJ8IAAgAhCLDSAAQgA3AngLviIBDn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEoAgAiAigCAA5eAAECAwQFBgcICQoLDA0eHyAhIiMkJTU2Dg8QERITFBUWFxgZGhscHTcmJygpKissLS4vMDEyMzQ4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcAF0LQZj9A0HlswNB6gEQYgALIABBFGpBuI0BIAEQWCACKAIAQQFHDVwgAigCFCIBQQBMDVsgAEEYaiEDA0AgAUEBayIAIAIoAhRPDV4gAigCECAAQQJ0aiIEKAIARQ1fIANBt40BIAQQWyABQQFLIQYgACEBIAYNAAsMWwsgAEEUaiIDQbmNASABEFggAigCAEECRw1bIAIoAhAEQCAAQRhqQbeNASACQRBqEFsLIANBt40BIAJBDGoQWCADQbeNASACQQhqEFgPCyAAQRRqIgBBuo0BIAEQWCACKAIAQQNHDVoMYAsgAEEUakG7jQEgARBYIAIoAgBBBEcNWSACKAIUBEAgAEEYakG3jQEgAkEUahBbCyACKAIQRQ1YIABBGGpBt40BIAJBEGoQWw8LIABBFGoiA0G8jQEgARBYIAIoAgBBBUcNWCADQbeNASACQSRqEFggAigCIEUNVyAAQRhqQbeNASACQSBqEFsPCyAAQRRqQb2NASABEFggAigCAEEGRw1XIAIoAgwiAUEATA1WIABBGGohAwNAIAFBAWsiACACKAIMTw1ZIAIoAgggAEECdGoiBCgCAEUNWiADQbeNASAEEFsgAUEBSyEHIAAhASAHDQALDFYLIABBFGoiA0G+jQEgARBYIAIoAgBBB0cNViADQbeNASACQRxqEFggAigCECIBQQBMDVUgAEEYaiEDA0AgAUEBayIAIAIoAhBPDVggAigCDCAAQQJ0aiIEKAIARQ1ZIANBt40BIAQQWyABQQFLIQggACEBIAgNAAsMVQsgAEEUakG/jQEgARBYIAIoAgBBCEYNVAxVCyAAQRRqIgBBwI0BIAEQWCACKAIAQQlHDVQMXQsgAEEUakHBjQEgARBYIAIoAgBBCkYNUgxTCyAAQRRqIgBBwo0BIAEQWCACKAIAQQtHDVIMWAsgAEEUaiIAQcONASABEFggAigCAEEMRw1RDFwLIABBFGoiAEHEjQEgARBYIAIoAgBBDUcNUAxaCyAAQRRqIgBBxY0BIAEQWCACKAIAQRhHDU8MWwsgAEEUaiIAQcaNASABEFggAigCAEEZRw1OIABBt40BIAJBIGoQWAxaCyAAQRRqIgBBx40BIAEQWCACKAIAQRpHDU0MUQsgAEEUaiIAQciNASABEFggAigCAEEbRw1MDFELIABBFGpByY0BIAEQWCACKAIAQRxGDUoMSwsgAEEUaiIAQcqNASABEFggAigCAEEdRw1KDFMLIABBFGoiAEHLjQEgARBYIAIoAgBBHkcNSSAAQbeNASACQRRqEFgMUgsgAEEUaiIAQcyNASABEFggAigCAEEfRw1IDFcLIABBFGoiAEHNjQEgARBYIAIoAgBBIEcNRwxOCyAAQRRqIgBBzo0BIAEQWCACKAIAQSFHDUYMTgsgAEEUaiIAQc+NASABEFggAigCAEEiRw1FIABBt40BIAJBIGoQWA8LIABBFGoiAEHQjQEgARBYIAIoAgBBI0cNRAxOCyAAQRRqIgBB0Y0BIAEQWCACKAIAQSRHDUMMRwsgAEEUakHSjQEgARBYIAIoAgBBJUYNQQxCCyAAQRRqIgBB040BIAEQWCACKAIAQSZHDUEMTwsgAEEUaiIAQdSNASABEFggAigCAEEnRw1ADE4LIABBFGpB1Y0BIAEQWCACKAIAQQ5GDT4MPwsgAEEUaiIAQdaNASABEFggAigCAEEPRw0+DEcLIABBFGoiAEHXjQEgARBYIAIoAgBBEEcNPQxFCyAAQRRqIgBB2I0BIAEQWCACKAIAQRFHDTwMSgsgAEEUaiIAQdmNASABEFggAigCAEESRw07DEsLIABBFGpB2o0BIAEQWCACKAIAQRNHDTogAigCCEUNOQxLCyAAQRRqQduNASABEFggAigCAEEURg04DDkLIABBFGoiAEHcjQEgARBYIAIoAgBBFUcNOAxICyAAQRRqQd2NASABEFggAigCAEEpRg02DDcLIABBFGoiAEHejQEgARBYIAIoAgBBKkcNNgxGCyAAQRRqQd+NASABEFggAigCAEErRg00DDULIABBFGoiAEHgjQEgARBYIAIoAgBBLEcNNAxDCyAAQRRqIgBB4Y0BIAEQWCACKAIAQS1HDTMMOQsgAEEUaiIAQeKNASABEFggAigCAEEuRw0yDDcLIABBFGpB440BIAEQWCACKAIAQS9GDTAMMQsgAEEUaiIAQeSNASABEFggAigCAEEwRw0wDDULIABBFGoiAEHljQEgARBYIAIoAgBBMUcNLwwzCyAAQRRqIgBB5o0BIAEQWCACKAIAQTJHDS4MPAsgAEEUaiIDQeeNASABEFggAigCAEEzRw0tIAIoAigiAUEASgRAIABBGGohBANAIAFBAWsiACACKAIoTw0wIAIoAiQgAEECdGoiBSgCAEUNMSAEQbeNASAFEFsgAUEBSyEJIAAhASAJDQALCyADQbeNASACQRBqEFgPCyAAQRRqIgBB6I0BIAEQWCACKAIAQTRGBEAMPQsMLAsgAEEUakHpjQEgARBYIAIoAgBBNUcNKyACKAIUIgFBAEwNKiAAQRhqIQMDQCABQQFrIgAgAigCFE8NLSACKAIQIABBAnRqIgQoAgBFDS4gA0G3jQEgBBBbIAFBAUshCiAAIQEgCg0ACwwqCyAAQRRqQeqNASABEFggAigCAEE2Rg0pDCoLIABBFGoiAEHrjQEgARBYIAIoAgBBN0cNKQw5CyAAQRRqQeyNASABEFggAigCAEEWRg0nDCgLIABBFGpB7Y0BIAEQWCACKAIAQRdGDSYMJwsgAEEUakHujQEgARBYIAIoAgBBKEYNJQwmCyAAQRRqQe+NASABEFggAigCAEE4Rw0lIAIoAgwiAUEATA0kIABBGGohAwNAIAFBAWsiACACKAIMTw0nIAIoAgggAEECdGoiBCgCAEUNKCADQbeNASAEEFsgAUEBSyELIAAhASALDQALDCQLIABBFGoiAEHwjQEgARBYIAIoAgBBOUcNJAw0CyAAQRRqIgBB8Y0BIAEQWCACKAIAQTpHDSMMMwsgAEEUaiIAQfKNASABEFggAigCAEE7Rw0iDDILIABBFGoiA0HzjQEgARBYIAIoAgBBPEcNISADQbeNASACQRhqEFggAigCDCIBQQBMDSAgAEEYaiEDA0AgAUEBayIAIAIoAgxPDSMgAigCCCAAQQJ0aiIEKAIARQ0kIANBt40BIAQQWyABQQFLIQwgACEBIAwNAAsMIAsgAEEUaiIAQfSNASABEFggAigCAEE9Rw0gDDALIABBFGoiAEH1jQEgARBYIAIoAgBBPkcNHwwvCyAAQRRqIgBB9o0BIAEQWCACKAIAQT9HDR4gAEG3jQEgAkEUahBYDwsgAEEUakH3jQEgARBYIAIoAgBBwABHDR0gAigCDCIBQQBMDRwgAEEYaiEDA0AgAUEBayIAIAIoAgxPDR8gAigCCCAAQQJ0aiIEKAIARQ0gIANBt40BIAQQWyABQQFLIQ0gACEBIA0NAAsMHAsgAEEUaiIAQfiNASABEFggAigCAEHBAEcNHAwlCyAAQRRqIgBB+Y0BIAEQWCACKAIAQcIARw0bDCMLIABBFGoiA0H6jQEgARBYIAIoAgBBwwBHDRogA0G3jQEgAkEMahBYIAIoAghFDRkMKwsgAEEUaiIAQfuNASABEFggAigCAEHEAEcNGQweCyAAQRRqIgBB/I0BIAEQWCACKAIAQcUARw0YDB0LIABBFGpB/Y0BIAEQWCACKAIAQcYARw0XIAIoAgwiAUEATA0WIABBGGohAwNAIAFBAWsiACACKAIMTw0ZIAIoAgggAEECdGoiBCgCAEUNGiADQbeNASAEEFsgAUEBSyEOIAAhASAODQALDBYLIABBFGoiAEH+jQEgARBYIAIoAgBBxwBHDRYMJQsgAEEUaiIAQf+NASABEFggAigCAEHIAEcNFQwjCyAAQRRqIgBBgI4BIAEQWCACKAIAQckARw0UDCQLIABBFGoiAEGBjgEgARBYIAIoAgBBygBHDRMgAEG3jQEgAkEYahBYDCALIABBFGoiAEGCjgEgARBYIAIoAgBBywBHDRIMHwsgAEEUaiIAQYOOASABEFggAigCAEHMAEcNEQwUCyAAQRRqIgBBhI4BIAEQWCACKAIAQc0ARw0QDBMLIABBFGoiAEGFjgEgARBYIAIoAgBBzgBHDQ8MGAsgAEEUaiIDQYaOASABEFggAigCAEHPAEcNDiACKAIYBEAgAEEYakG3jQEgAkEYahBbCyACKAIUBEAgAEEYakG3jQEgAkEUahBbCyACKAIQBEAgAEEYakG3jQEgAkEQahBbCwwgCyAAQRRqQYeOASABEFggAigCAEHQAEYNDAwNCyAAQRRqIgBBiI4BIAEQWCACKAIAQdEARw0MDBULIABBFGoiA0GJjgEgARBYIAIoAgBB0gBHDQsgAigCFARAIABBGGpBt40BIAJBFGoQWwsgA0G3jQEgAkEQahBYDB0LIABBFGoiAEGKjgEgARBYIAIoAgBB0wBHDQoMGQsgAEEUaiIAQYuOASABEFggAigCAEHUAEcNCQwRCyAAQRRqIgBBjI4BIAEQWCACKAIAQdUARw0IDBELIABBFGoiAEGNjgEgARBYIAIoAgBB1gBHDQcMFQsgAEEUaiIAQY6OASABEFggAigCAEHXAEcNBgwVCyAAQRRqIgBBj44BIAEQWCACKAIAQdgARw0FDBULIABBFGoiAEGQjgEgARBYIAIoAgBB2QBHDQQMDAsgAEEUaiIAQZGOASABEFggAigCAEHaAEcNAwwKCyAAQRRqIgBBko4BIAEQWCACKAIAQdsARw0CDBELIABBFGoiA0GTjgEgARBYIAIoAgBB3ABHDQEgA0G3jQEgAkE8ahBYIAIoAjAiAUEATA0AIABBGGohAwNAIAFBAWsiACACKAIwTw0DIAIoAiwgAEECdGoiBCgCAEUNBCADQbeNASAEEFsgAUEBSyEPIAAhASAPDQALCw8LQfDtBUHFmANBlAZBjd4AEAEAC0HFogFBiaIDQbwBQaaIBRABAAtBgYMCQdOZA0G5AkGu9wIQAQALIABBt40BIAJBHGoQWAsgAEG3jQEgAkEYahBYCyAAQbeNASACQRRqEFgLIABBt40BIAJBEGoQWA8LIABBt40BIAJBFGoQWAsgAEG3jQEgAkEQahBYCyAAQbeNASACQQxqEFgPCyAAQbeNASACQShqEFgLIABBt40BIAJBJGoQWA8LIABBt40BIAJBHGoQWCAAQbeNASACQRhqEFgPCyAAQbeNASACQRRqEFgLIABBt40BIAJBEGoQWAsgAEG3jQEgAkEMahBYCyAAQbeNASACQQhqEFgPCyAAQRhqQbeNASACQQhqEFsPCyADQbeNASACQQxqEFgL5gkBFH8jAEEgayIGJAACQCABKAIQIgJFBEAgBkEANgIQDAELIAEgAkYEQCAGIAY2AhAgASAGIAEoAgAoAgwRAAAMAQsgBiACIAIoAgAoAggRAgA2AhALAkACQAJAIABBrAJqIgooAgAiAkUNAANAIAYgAigCEDYCHCAGKAIQIgFFDQIgASgCACgCGCEMQdSJC0EANgIAIAwgASAGQRxqEAIhAUHUiQsoAgAhDUHUiQtBADYCACANQQFHBEAgAigCACEEIAEEQCACKAIEIQgCQCAAKAKoAiIHaUEBSyIJRQRAIAdBAWsgCHEhCAwBCyAHIAhLDQAgCCAHcCEICyAAKAKkAiAIQQJ0aiILKAIAIQEDQCABIgUoAgAiASACRw0ACwJAAkACfyAFIApHBEAgBSgCBCEDAkAgCUUEQCADIAdBAWtxIQMMAQsgAyAHSQ0AIAMgB3AhAwsgBCADIAhGDQEaCyAEBEAgBCgCBCEDAkAgCUUEQCADIAdBAWtxIQMMAQsgAyAHSQ0AIAMgB3AhAwsgBCEBIAMgCEYNAgsgC0EANgIAIAIoAgALIgENAEEAIQEMAQsgASgCBCEDAkAgCUUEQCADIAdBAWtxIQMMAQsgAyAHSQ0AIAMgB3AhAwsgAyAIRg0AIAAoAqQCIANBAnRqIAU2AgAgAigCACEBCyAFIAE2AgAgACAAKAKwAkEBazYCsAIgAhBaCyAEIgINAQwCCwsMAgsCQAJAAkAgACgCSCICIAAoAkwiBEYNAANAIAYgAigCADYCHCAGKAIQIgFFDQQgASgCACgCGCEOQdSJC0EANgIAIA4gASAGQRxqEAIhEEHUiQsoAgAhD0HUiQtBADYCACAPQQFGDQMgEA0BIAJBBGoiAiAERw0ACyAEIQIMAQsgAiAERgRAIAQhAgwBCyACQQRqIgEgBEYNAANAIAYgASgCADYCHCAGKAIQIgVFDQMgBSgCACgCGCERQdSJC0EANgIAIBEgBSAGQRxqEAIhE0HUiQsoAgAhEkHUiQtBADYCACASQQFGDQQgE0UEQCABKAIAIQMgAUEANgIAIAIoAgAhBSACIAM2AgAgBQRAIAUoAhwiAwRAIAUgAzYCICADEFoLIAUQWgsgAkEEaiECCyABQQRqIgEgBEcNAAsLIAAoAkwiASACRwRAAkAgASACIAEgAmtqIgVGBEAgAiEEDAELIAIhBANAIAUoAgAhByAFQQA2AgAgBCgCACEDIAQgBzYCACADBEAgAygCHCIHBEAgAyAHNgIgIAcQWgsgAxBaCyAEQQRqIQQgBUEEaiIFIAFHDQALIAAoAkwhAQsgAiAEIAJraiIEIAFHBEADQCABQQRrIgEoAgAhAiABQQA2AgAgAgRAIAIoAhwiBQRAIAIgBTYCICAFEFoLIAIQWgsgASAERw0ACwsgACAENgJMCwJAAkAgBiAGKAIQIgFGBEBBBCECIAYhAQwBC0EFIQIgAUUNAQsgASABKAIAIAJBAnRqKAIAEQEACyAGQSBqJAAPCwwBC0HUiQtBADYCAEHFABAJQdSJCygCACEUQdSJC0EANgIAIBRBAUcEQAALCxAAIRUCQAJAIAYgBigCECIBRgRAQQQhBCAGIQEMAQtBBSEEIAFFDQELIAEgASgCACAEQQJ0aigCABEBAAsgFRAHAAvvDwEYfyMAQbACayIDJAACQAJAAkACQAJAAkACQAJAAkACQAJAIAAoAgQEQCAAIAAoAgAoAhARAgAEQCADIAAoAgQiAikCODcD+AEgAyACKQIwNwPwASADIAIpAig3A+gBIAMgAikCIDcD4AEgAyACKQIYNwPYASADQYACaiACQUBrEOMBIQRB1IkLQQA2AgBBmgEgA0GUAmogAkHUAGoQAiEFQdSJCygCACERQdSJC0EANgIAIBFBAUYNAiADIAIoAmg2AqgCIAMgAigCbCICNgKsAiACBEAgAiACKAIEQQFqNgIECyADQQEgAygC4AEiAiACQQBKGzYC4AEgAyADKQPoATcDGCADIAMpA/ABNwMgIAMgAykD+AE3AyggAyADKQPgATcDECADQQEgAygC3AEiAiACQQBKGzYC3AFB1IkLQQA2AgAgAyADKQPYATcDCEGbASADQTBqIAQQAiEEQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBxABqIAUQAiEFQdSJCygCACESQdSJC0EANgIAIBJBAUYNBSADIAMoAqwCIgI2AlwgAyADKAKoAjYCWCACBEAgAiACKAIEQQFqNgIECyADQQA2AnggAyADKQMQNwKEASADIAMpAxg3AowBIAMgAykDIDcClAEgAyADKQMoNwKcASADQgA3AnAgA0H87Ak2AmQgAyADKQMINwJ8QdSJC0EANgIAIAMgATYCaCADIAFBqAFqNgJsQZsBIANBpAFqIAQQAiEBQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBuAFqIAUQAhpB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRwRAIAMgAygCWDYCzAEgAyADKAJcIgE2AtABIAEEQCABIAEoAgRBAWo2AgQLIANBADsB1AEgA0EIahBhIANBAToA1AEgACgCACgCFCEUQdSJC0EANgIAIBQgABAGIQBB1IkLKAIAIRVB1IkLQQA2AgAgFUEBRg0EIAMoAmQoAgghFkHUiQtBADYCACAWIANB5ABqIgEgABADQdSJCygCACEXQdSJC0EANgIAIBdBAUYNBEHUiQtBADYCAEGXASABEApB1IkLKAIAIRhB1IkLQQA2AgAgGEEBRg0EIANB/OwJNgJkIANB/ABqEGEgAygCcCIBBEAgAygCdCIAIAEiAkcEQANAIABBBGsiACgCACECIABBADYCACACBEAgAiACKAIAKAIEEQEACyAAIAFHDQALIAMoAnAhAgsgAyABNgJ0IAIQWgsgA0HYAWoQYQwQCxAAIQAgARBrDAELEAAhAAsgA0HwAGoQ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ASABEFggAigCAEEGRw1XIAIoAgwiAUEATA1WIABBBGohBANAIAFBAWsiACACKAIMTw1ZIAIoAgggAEECdGoiAygCAEUNWiAEQcOMASADEFsgAUEBSyEHIAAhASAHDQALDFYLIABBzYwBIAEQWCACKAIAQQdHDVYgAEHDjAEgAkEcahBYIAIoAhAiAUEATA1VIABBBGohBANAIAFBAWsiACACKAIQTw1YIAIoAgwgAEECdGoiAygCAEUNWSAEQcOMASADEFsgAUEBSyEIIAAhASAIDQALDFULIABBzowBIAEQWCACKAIAQQhGDVQMVQsgAEHPjAEgARBYIAIoAgBBCUcNVAxgCyAAQdCMASABEFggAigCAEEKRg1SDFMLIABB0YwBIAEQWCACKAIAQQtHDVIMWwsgAEHSjAEgARBYIAIoAgBBDEcNUQxfCyAAQdOMASABEFggAigCAEENRw1QDF0LIABB1IwBIAEQWCACKAIAQRhHDU8MXgsgAEHVjAEgARBYIAIoAgBBGUcNTiAAQcOMASACQSBqEFgMXQsgAEHWjAEgARBYIAIoAgBBGkcNTQxUCyAAQdeMASABEFggAigCAEEbRw1MDFQLIABB2IwBIAEQWCACKAIAQRxGDUoMSwsgAEHZjAEgARBYIAIoAgBBHUcNSgxWCyAAQdqMASABEFggAigCAEEeRw1JIABBw4wBIAJBFGoQWAxVCyAAQduMASABEFggAigCAEEfRw1IDE0LIABB3IwBIAEQWCACKAIAQSBHDUcMUQsgAEHdjAEgARBYIAIoAgBBIUcNRgxRCyAAQd6MASABEFggAigCAEEiRw1FIABBw4wBIAJBIGoQWA8LIABB34wBIAEQWCACKAIAQSNHDUQMUQsgAEHgjAEgARBYIAIoAgBBJEcNQwxKCyAAQeGMASABEFggAigCAEElRg1BDEILIABB4owBIAEQWCACKAIAQSZHDUEMRQsgAEHjjAEgARBYIAIoAgBBJ0cNQAxECyAAQeSMASABEFggAigCAEEORg0+DD8LIABB5YwBIAEQWCACKAIAQQ9HDT4MSgsgAEHmjAEgARBYIAIoAgBBEEcNPQxICyAAQeeMASABEFggAigCAEERRw08DEALIABB6IwBIAEQWCACKAIAQRJHDTsMSwsgAEHpjAEgARBYIAIoAgBBE0cNOiACKAII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AEGrigEgAkEYahBYCyAAQauKASACQRRqEFgLIABBq4oBIAJBEGoQWA8LIABBq4oBIAJBFGoQWAsgAEGrigEgAkEQahBYCyAAQauKASACQQxqEFgPCyAAQauKASACQShqEFgLIABBq4oBIAJBJGoQWA8LIABBq4oBIAJBHGoQWCAAQauKASACQRhqEFgPCyAAQauKASACQRRqEFgLIABBq4oBIAJBEGoQWAsgAEGrigEgAkEMahBYCyAAQauKASACQQhqEFgPCyAAQRhqQauKASACQQhqEFsPCyADQauKASACQQxqEFgL8g8BGH8jAEGwAmsiAyQAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIEBEAgACAAKAIAKAIQEQIABEAgAyAAKAIEIgIpAjg3A/gBIAMgAikCMDcD8AEgAyACKQIoNwPoASADIAIpAiA3A+ABIAMgAikCGDcD2AEgA0GAAmogAkFAaxDjASEEQdSJC0EANgIAQZoBIANBlAJqIAJB1ABqEAIhBUHUiQsoAgAhEUHUiQtBADYCACARQQFGDQIgAyACKAJoNgKoAiADIAIoAmwiAjYCrAIgAgRAIAIgAigCBEEBajYCBAsgA0EBIAMoAuABIgIgAkEAShs2AuABIAMgAykD6AE3AxggAyADKQPwATcDICADIAMpA/gBNwMoIAMgAykD4AE3AxAgA0EBIAMoAtwBIgIgAkEAShs2AtwBQdSJC0EANgIAIAMgAykD2AE3AwhBmwEgA0EwaiAEEAIhBEHUiQsoAgAhAkHUiQtBADYCAAJAIAJBAUcEQEHUiQtBADYCAEGaASADQcQAaiAFEAIhBUHUiQsoAgAhEkHUiQtBADYCACASQQFGDQUgAyADKAKsAiICNgJcIAMgAygCqAI2AlggAgRAIAIgAigCBEEBajYCBAsgA0EANgJ4IAMgAykDEDcChAEgAyADKQMYNwKMASADIAMpAyA3ApQBIAMgAykDKDcCnAEgA0IANwJwIANB/OwJNgJkIAMgAykDCDcCfEHUiQtBADYCACADIAE2AmggAyABQagBajYCbEGbASADQaQBaiAEEAIhAUHUiQsoAgAhAkHUiQtBADYCAAJAIAJBAUcEQEHUiQtBADYCAEGaASADQbgBaiAFEAIaQdSJCygCACETQdSJC0EANgIAIBNBAUcEQCADIAMoAlg2AswBIAMgAygCXCIBNgLQASABBEAgASABKAIEQQFqNgIECyADQQA7AdQBIANBCGoQYSADQQE6ANQBIAAoAgAoAhQhFEHUiQtBADYCACAUIAAQBiEAQdSJCygCACEVQdSJC0EANgIAIBVBAUYNBCADKAJkKAIIIRZB1IkLQQA2AgAgFiADQeQAaiIBIAAQA0HUiQsoAgAhF0HUiQtBADYCACAXQQFGDQRB1IkLQQA2AgBBlwEgARAKQdSJCygCACEYQdSJC0EANgIAIBhBAUYNBCADQfzsCTYCZCADQfwAahBhIAMoAnAiAQRAIAMoAnQiACABIgJHBEADQCAAQQRrIgAoAgAhAiAAQQA2AgAgAgRAIAIgAigCACgCBBEBAAsgACABRw0ACyADKAJwIQILIAMgATYCdCACEFoLIANB2AFqEGEMEAsQACEAIAEQawwBCxAAIQALIANB8ABqEOABIANBCGoQYQwOCxAAIQAMDQsQACEAIANB5ABqEHwaDAwLIAAgATYCfCAAQRRqIQkgASgCGCICIAEoAhwiBEcEQANAIAIoAgAiBSgCDEUEQCAJIAVBIGoQ4gULIAJBBGoiAiAERw0ACwsgASgCDCICIAEoAhAiBUcEQANAIAIoAgAiBCgCDEUEQCAAIAQ2AnggCSAEQTBqEOIFIABBADYCeAsgAkEEaiICIAVHDQALCyABKAIwIgogASgCNCIORg0JIABBHGohDQNAIAooAgAiAigCDARAIAkgAkEUahDiBQsgAigCHCILIAIoAiAiD0cEQCAAKAJwIQQgACgCbCEGIAAoAhghBQNAIAMgCygCACIHNgJkIAQgBmsiEEEDdSICQQAgBWtHDQYgB0UNBwJAIAVBCU0EQCAAIAVBAWoiBjYCGCANIAVBA3RqIgJBq4oBNgIAIAIgA0HkAGo2AgQgBCECIAYhBQwBCyAAKAJ0IgggBEsEQCAEQauKATYCACAEIANB5ABqNgIEIAAgBEEIaiICNgJwDAELIAJBAWoiB0GAgICAAk8NCUH/////ASAIIAZrIghBAnUiDCAHIAcgDEkbIAhB+P///wdPGyIHQYCAgIACTw0KIBAgB0EDdCIMEFwiCGoiB0GrigE2AgAgCCACQQN0aiADQeQAajYCBCAHQQhqIQIgBCAGRwRAA0AgB0EIayIHIARBCGsiBCkCADcCACAEIAZHDQALCyAAIAggDGo2AnQgACACNgJwIAAgBzYCbCAGRQ0AIAYQWiAAKAJwIQIgACgCGCEFC0EAIAVrIAIgACgCbCIGa0EDdUcEQANAAkAgAiAGRgRAIAVFDQ4gDSAFQQFrIgRBA3RqIgUoAgQhAiAFKAIAIQYgACAENgIYDAELIAJBCGsiBCgCACEGIAQoAgQhAiAAIAQ2AnALIAkgAjYCACACKAIARQ0NIAAgAiAGEQAAQQAgACgCGCIFayAAKAJwIgIgACgCbCIGa0EDdUcNAAsLIAIhBCALQQRqIgsgD0cNAAsLIApBBGoiCiAORw0ACwwJC0Ho+gVBuosDQfwDQdrLAhABAAsQACEZIAQQayAZEAcACxAAIQAgBBBrDAgLQc3KBUHTmQNByAJB0PgCEAEAC0GBgwJB05kDQbkCQa73AhABAAsQZAALEGoAC0HexAVBsJQDQdoAQf37AhABAAtB9YICQdOZA0HNAkHQ+AIQAQALIAEoAkgiAiABKAJMIgFHBEADQCACKAIAIgQtABRFBEAgCSAEQRhqEOIFCyACQQRqIgIgAUcNAAsLIABBADYCfAsgA0GwAmokAA8LIANB2AFqEGEgABAHAAu+IgEOfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgASgCACICKAIADl4AAQIDBAUGBwgJCgsMDR4fICEiIyQlNTYODxAREhMUFRYXGBkaGxwdNyYnKCkqKywtLi8wMTIzNDg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaW1wAXQtBmP0DQeWzA0HqARBiAAsgAEEUakGKiwEgARBYIAIoAgBBAUcNXCACKAIUIgFBAEwNWyAAQRhqIQMDQCABQQFrIgAgAigCFE8NXiACKAIQIABBAnRqIgQoAgBFDV8gA0GnigEgBBBbIAFBAUshBiAAIQEgBg0ACwxbCyAAQRRqIgNBi4sBIAEQWCACKAIAQQJHDVsgAigCEARAIABBGGpBp4oBIAJBEGoQWwsgA0GnigEgAkEMahBYIANBp4oBIAJBCGoQWA8LIABBFGoiAEGMiwEgARBYIAIoAgBBA0cNWgxgCyAAQRRqQY2LASABEFggAigCAEEERw1ZIAIoAhQEQCAAQRhqQaeKASACQRRqEFsLIAIoAhBFDVggAEEYakGnigEgAkEQahBbDwsgAEEUaiIDQY6LASABEFggAigCAEEFRw1YIANBp4oBIAJBJGoQWCACKAIgRQ1XIABBGGpBp4oBIAJBIGoQWw8LIABBFGpBj4sBIAEQWCACKAIAQQZHDVcgAigCDCIBQQBMDVYgAEEYaiEDA0AgAUEBayIAIAIoAgxPDVkgAigCCCAAQQJ0aiIEKAIARQ1aIANBp4oBIAQQWyABQQFLIQcgACEBIAcNAAsMVgsgAEEUaiIDQZCLASABEFggAigCAEEHRw1WIANBp4oBIAJBHGoQWCACKAIQIgFBAEwNVSAAQRhqIQMDQCABQQFrIgAgAigCEE8NWCACKAIMIABBAnRqIgQoAgBFDVkgA0GnigEgBBBbIAFBAUshCCAAIQEgCA0ACwxVCyAAQRRqQZGLASABEFggAigCAEEIRg1UDFULIABBFGoiAEGSiwEgARBYIAIoAgBBCUcNVAxdCyAAQRRqQZOLASABEFggAigCAEEKRg1SDFMLIABBFGoiAEGUiwEgARBYIAIoAgBBC0cNUgxYCyAAQRRqIgBBlYsBIAEQWCACKAIAQQxHDVEMXAsgAEEUaiIAQZaLASABEFggAigCAEENRw1QDFoLIABBFGoiAEGXiwEgARBYIAIoAgBBGEcNTwxbCyAAQRRqIgBBmIsBIAEQWCACKAIAQRlHDU4gAEGnigEgAkEgahBYDFoLIABBFGoiAEGZiwEgARBYIAIoAgBBGkcNTQxRCyAAQRRqIgBBmosBIAEQWCACKAIAQRtHDUwMUQsgAEEUakGbiwEgARBYIAIoAgBBHEYNSgxLCyAAQRRqIgBBnIsBIAEQWCACKAIAQR1HDUoMUwsgAEEUaiIAQZ2LASABEFggAigCAEEeRw1JIABBp4oBIAJBFGoQWAxSCyAAQRRqIgBBnosBIAEQWCACKAIAQR9HDUgMVwsgAEEUaiIAQZ+LASABEFggAigCAEEgRw1HDE4LIABBFGoiAEGgiwEgARBYIAIoAgBBIUcNRgxOCyAAQRRqIgBBoYsBIAEQWCACKAIAQSJHDUUgAEGnigEgAkEgahBYDwsgAEEUaiIAQaKLASABEFggAigCAEEjRw1EDE4LIABBFGoiAEGjiwEgARBYIAIoAgBBJEcNQwxHCyAAQRRqQaSLASABEFggAigCAEElRg1BDEILIABBFGoiAEGliwEgARBYIAIoAgBBJkcNQQxPCyAAQRRqIgBBposBIAEQWCACKAIAQSdHDUAMTgsgAEEUakGniwEgARBYIAIoAgBBDkYNPgw/CyAAQRRqIgBBqIsBIAEQWCACKAIAQQ9HDT4MRwsgAEEUaiIAQamLASABEFggAigCAEEQRw09DEULIABBFGoiAEGqiwEgARBYIAIoAgBBEUcNPAxKCyAAQRRqIgBBq4sBIAEQWCACKAIAQRJHDTsMSwsgAEEUakGsiwEgARBYIAIoAgBBE0cNOiACKAIIRQ05DEsLIABBFGpBrYsBIAEQWCACKAIAQRRGDTgMOQsgAEEUaiIAQa6LASABEFggAigCAEEVRw04DEgLIABBFGpBr4sBIAEQWCACKAIAQSlGDTYMNwsgAEEUaiIAQbCLASABEFggAigCAEEqRw02DEYLIABBFGpBsYsBIAEQWCACKAIAQStGDTQMNQsgAEEUaiIAQbKLASABEFggAigCAEEsRw00DEMLIABBFGoiAEGziwEgARBYIAIoAgBBLUcNMww5CyAAQRRqIgBBtIsBIAEQWCACKAIAQS5HDTIMNwsgAEEUakG1iwEgARBYIAIoAgBBL0YNMAwxCyAAQRRqIgBBtosBIAEQWCACKAIAQTBHDTAMNQsgAEEUaiIAQbeLASABEFggAigCAEExRw0vDDMLIABBFGoiAEG4iwEgARBYIAIoAgBBMkcNLgw8CyAAQRRqIgNBuYsBIAEQWCACKAIAQTNHDS0gAigCKCIBQQBKBEAgAEEYaiEEA0AgAUEBayIAIAIoAihPDTAgAigCJCAAQQJ0aiIFKAIARQ0xIARBp4oBIAUQWyABQQFLIQkgACEBIAkNAAsLIANBp4oBIAJBEGoQWA8LIABBFGoiAEG6iwEgARBYIAIoAgBBNEYEQAw9CwwsCyAAQRRqQbuLASABEFggAigCAEE1Rw0rIAIoAhQiAUEATA0qIABBGGohAwNAIAFBAWsiACACKAIUTw0tIAIoAhAgAEECdGoiBCgCAEUNLiADQaeKASAEEFsgAUEBSyEKIAAhASAKDQALDCoLIABBFGpBvIsBIAEQWCACKAIAQTZGDSkMKgsgAEEUaiIAQb2LASABEFggAigCAEE3Rw0pDDkLIABBFGpBvosBIAEQWCACKAIAQRZGDScMKAsgAEEUakG/iwEgARBYIAIoAgBBF0YNJgwnCyAAQRRqQcCLASABEFggAigCAEEoRg0lDCYLIABBFGpBwYsBIAEQWCACKAIAQThHDSUgAigCDCIBQQBMDSQgAEEYaiEDA0AgAUEBayIAIAIoAgxPDScgAigCCCAAQQJ0aiIEKAIARQ0oIANBp4oBIAQQWyABQQFLIQsgACEBIAsNAAsMJAsgAEEUaiIAQcKLASABEFggAigCAEE5Rw0kDDQLIABBFGoiAEHDiwEgARBYIAIoAgBBOkcNIwwzCyAAQRRqIgBBxIsBIAEQWCACKAIAQTtHDSIMMgsgAEEUaiIDQcWLASABEFggAigCAEE8Rw0hIANBp4oBIAJBGGoQWCACKAIMIgFBAEwNICAAQRhqIQMDQCABQQFrIgAgAigCDE8NIyACKAIIIABBAnRqIgQoAgBFDSQgA0GnigEgBBBbIAFBAUshDCAAIQEgDA0ACwwgCyAAQRRqIgBBxosBIAEQWCACKAIAQT1HDSAMMAsgAEEUaiIAQceLASABEFggAigCAEE+Rw0fDC8LIABBFGoiAEHIiwEgARBYIAIoAgBBP0cNHiAAQaeKASACQRRqEFgPCyAAQRRqQcmLASABEFggAigCAEHAAEcNHSACKAIMIgFBAEwNHCAAQRhqIQMDQCABQQFrIgAgAigCDE8NHyACKAIIIABBAnRqIgQoAgBFDSAgA0GnigEgBBBbIAFBAUshDSAAIQEgDQ0ACwwcCyAAQRRqIgBByosBIAEQWCACKAIAQcEARw0cDCULIABBFGoiAEHLiwEgARBYIAIoAgBBwgBHDRsMIwsgAEEUaiIDQcyLASABEFggAigCAEHDAEcNGiADQaeKASACQQxqEFggAigCCEUNGQwrCyAAQRRqIgBBzYsBIAEQWCACKAIAQcQARw0ZDB4LIABBFGoiAEHOiwEgARBYIAIoAgBBxQBHDRgMHQsgAEEUakHPiwEgARBYIAIoAgBBxgBHDRcgAigCDCIBQQBMDRYgAEEYaiEDA0AgAUEBayIAIAIoAgxPDRkgAigCCCAAQQJ0aiIEKAIARQ0aIANBp4oBIAQQWyABQQFLIQ4gACEBIA4NAAsMFgsgAEEUaiIAQdCLASABEFggAigCAEHHAEcNFgwlCyAAQRRqIgBB0YsBIAEQWCACKAIAQcgARw0VDCMLIABBFGoiAEHSiwEgARBYIAIoAgBByQBHDRQMJAsgAEEUaiIAQdOLASABEFggAigCAEHKAEcNEyAAQaeKASACQRhqEFgMIAsgAEEUaiIAQdSLASABEFggAigCAEHLAEcNEgwfCyAAQRRqIgBB1YsBIAEQWCACKAIAQcwARw0RDBQLIABBFGoiAEHWiwEgARBYIAIoAgBBzQBHDRAMEwsgAEEUaiIAQdeLASABEFggAigCAEHOAEcNDwwYCyAAQRRqIgNB2IsBIAEQWCACKAIAQc8ARw0OIAIoAhgEQCAAQRhqQaeKASACQRhqEFsLIAIoAhQEQCAAQRhqQaeKASACQRRqEFsLIAIoAhAEQCAAQRhqQaeKASACQRBqEFsLDCALIABBFGpB2YsBIAEQWCACKAIAQdAARg0MDA0LIABBFGoiAEHaiwEgARBYIAIoAgBB0QBHDQwMFQsgAEEUaiIDQduLASABEFggAigCAEHSAEcNCyACKAIUBEAgAEEYakGnigEgAkEUahBbCyADQaeKASACQRBqEFgMHQsgAEEUaiIAQdyLASABEFggAigCAEHTAEcNCgwZCyAAQRRqIgBB3YsBIAEQWCACKAIAQdQARw0JDBELIABBFGoiAEHeiwEgARBYIAIoAgBB1QBHDQgMEQsgAEEUaiIAQd+LASABEFggAigCAEHWAEcNBwwVCyAAQRRqIgBB4IsBIAEQWCACKAIAQdcARw0GDBULIABBFGoiAEHhiwEgARBYIAIoAgBB2ABHDQUMFQsgAEEUaiIAQeKLASABEFggAigCAEHZAEcNBAwMCyAAQRRqIgBB44sBIAEQWCACKAIAQdoARw0DDAoLIABBFGoiAEHkiwEgARBYIAIoAgBB2wBHDQIMEQsgAEEUaiIDQeWLASABEFggAigCAEHcAEcNASADQaeKASACQTxqEFggAigCMCIBQQBMDQAgAEEYaiEDA0AgAUEBayIAIAIoAjBPDQMgAigCLCAAQQJ0aiIEKAIARQ0EIANBp4oBIAQQWyABQQFLIQ8gACEBIA8NAAsLDwtB8O0FQcWYA0GUBkGN3gAQAQALQcWiAUGJogNBvAFBpogFEAEAC0GBgwJB05kDQbkCQa73AhABAAsgAEGnigEgAkEcahBYCyAAQaeKASACQRhqEFgLIABBp4oBIAJBFGoQWAsgAEGnigEgAkEQahBYDwsgAEGnigEgAkEUahBYCyAAQaeKASACQRBqEFgLIABBp4oBIAJBDGoQWA8LIABBp4oBIAJBKGoQWAsgAEGnigEgAkEkahBYDwsgAEGnigEgAkEcahBYIABBp4oBIAJBGGoQWA8LIABBp4oBIAJBFGoQWAsgAEGnigEgAkEQahBYCyAAQaeKASACQQxqEFgLIABBp4oBIAJBCGoQWA8LIABBGGpBp4oBIAJBCGoQWw8LIANBp4oBIAJBDGoQWAvyDwEYfyMAQbACayIDJAACQAJAAkACQAJAAkACQAJAAkACQAJAIAAoAgQEQCAAIAAoAgAoAhARAgAEQCADIAAoAgQiAikCODcD+AEgAyACKQIwNwPwASADIAIpAig3A+gBIAMgAikCIDcD4AEgAyACKQIYNwPYASADQYACaiACQUBrEOMBIQRB1IkLQQA2AgBBmgEgA0GUAmogAkHUAGoQAiEFQdSJCygCACERQdSJC0EANgIAIBFBAUYNAiADIAIoAmg2AqgCIAMgAigCbCICNgKsAiACBEAgAiACKAIEQQFqNgIECyADQQEgAygC4AEiAiACQQBKGzYC4AEgAyADKQPoATcDGCADIAMpA/ABNwMgIAMgAykD+AE3AyggAyADKQPgATcDECADQQEgAygC3AEiAiACQQBKGzYC3AFB1IkLQQA2AgAgAyADKQPYATcDCEGbASADQTBqIAQQAiEEQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBxABqIAUQAiEFQdSJCygCACESQdSJC0EANgIAIBJBAUYNBSADIAMoAqwCIgI2AlwgAyADKAKoAjYCWCACBEAgAiACKAIEQQFqNgIECyADQQA2AnggAyADKQMQNwKEASADIAMpAxg3AowBIAMgAykDIDcClAEgAyADKQMoNwKcASADQgA3AnAgA0H87Ak2AmQgAyADKQMINwJ8QdSJC0EANgIAIAMgATYCaCADIAFBqAFqNgJsQZsBIANBpAFqIAQQAiEBQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBuAFqIAUQAhpB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRwRAIAMgAygCWDYCzAEgAyADKAJcIgE2AtABIAEEQCABIAEoAgRBAWo2AgQLIANBADsB1AEgA0EIahBhIANBAToA1AEgACgCACgCFCEUQdSJC0EANgIAIBQgABAGIQBB1IkLKAIAIRVB1IkLQQA2AgAgFUEBRg0EIAMoAmQoAgghFkHUiQtBADYCACAWIANB5ABqIgEgABADQdSJCygCACEXQdSJC0EANgIAIBdBAUYNBEHUiQtBADYCAEGXASABEApB1IkLKAIAIRhB1IkLQQA2AgAgGEEBRg0EIANB/OwJNgJkIANB/ABqEGEgAygCcCIBBEAgAygCdCIAIAEiAkcEQANAIABBBGsiACgCACECIABBADYCACACBEAgAiACKAIAKAIEEQEACyAAIAFHDQALIAMoAnAhAgsgAyABNgJ0IAIQWgsgA0HYAWoQYQwQCxAAIQAgARBrDAELEAAhAAsgA0HwAGoQ4AEgA0EIahBhDA4LEAAhAAwNCxAAIQAgA0HkAGoQfBoMDAsgACABNgJ8IABBFGohCSABKAIYIgIgASgCHCIERwRAA0AgAigCACIFKAIMRQRAIAkgBUEgahDjBQsgAkEEaiICIARHDQALCyABKAIMIgIgASgCECIFRwRAA0AgAigCACIEKAIMRQRAIAAgBDYCeCAJIARBMGoQ4wUgAEEANgJ4CyACQQRqIgIgBUcNAAsLIAEoAjAiCiABKAI0Ig5GDQkgAEEcaiENA0AgCigCACICKAIMBEAgCSACQRRqEOMFCyACKAIcIgsgAigCICIPRwRAIAAoAnAhBCAAKAJsIQYgACgCGCEFA0AgAyALKAIAIgc2AmQgBCAGayIQQQN1IgJBACAFa0cNBiAHRQ0HAkAgBUEJTQRAIAAgBUEBaiIGNgIYIA0gBUEDdGoiAkGnigE2AgAgAiADQeQAajYCBCAEIQIgBiEFDAELIAAoAnQiCCAESwRAIARBp4oBNgIAIAQgA0HkAGo2AgQgACAEQQhqIgI2AnAMAQsgAkEBaiIHQYCAgIACTw0JQf////8BIAggBmsiCEECdSIMIAcgByAMSRsgCEH4////B08bIgdBgICAgAJPDQogECAHQQN0IgwQXCIIaiIHQaeKATYCACAIIAJBA3RqIANB5ABqNgIEIAdBCGohAiAEIAZHBEADQCAHQQhrIgcgBEEIayIEKQIANwIAIAQgBkcNAAsLIAAgCCAMajYCdCAAIAI2AnAgACAHNgJsIAZFDQAgBhBaIAAoAnAhAiAAKAIYIQULQQAgBWsgAiAAKAJsIgZrQQN1RwRAA0ACQCACIAZGBEAgBUUNDiANIAVBAWsiBEEDdGoiBSgCBCECIAUoAgAhBiAAIAQ2AhgMAQsgAkEIayIEKAIAIQYgBCgCBCECIAAgBDYCcAsgCSACNgIAIAIoAgBFDQ0gACACIAYRAABBACAAKAIYIgVrIAAoAnAiAiAAKAJsIgZrQQN1Rw0ACwsgAiEEIAtBBGoiCyAPRw0ACwsgCkEEaiIKIA5HDQALDAkLQej6BUG6iwNB/ANB2ssCEAEACxAAIRkgBBBrIBkQBwALEAAhACAEEGsMCAtBzcoFQdOZA0HIAkHQ+AIQAQALQYGDAkHTmQNBuQJBrvcCEAEACxBkAAsQagALQd7EBUGwlANB2gBB/fsCEAEAC0H1ggJB05kDQc0CQdD4AhABAAsgASgCSCICIAEoAkwiAUcEQANAIAIoAgAiBC0AFEUEQCAJIARBGGoQ4wULIAJBBGoiAiABRw0ACwsgAEEANgJ8CyADQbACaiQADwsgA0HYAWoQYSAAEAcAC7MNAg9/An0jAEEQayIJJAAgAkGV08feBWwiBEEYdiAEc0GV08feBWxBqJm99H1zQZXTx94FbCIEQQ12IARzQZXTx94FbCIEQQ92IARzIQgCQCAAAn8CQCABKAIEIgRFDQACQCAEaSIHQQFNBEAgBEEBayAIcSEFDAELIAgiBSAESQ0AIAUgBHAhBQsgASgCACAFQQJ0aigCACIGRQ0AIAYoAgAiBkUNACAHQQFNBEAgBEEBayEHA0ACQCAIIAYoAgQiCkcEQCAHIApxIAVHDQQMAQsgBigCCCACRw0AQQAMBAsgBigCACIGDQALDAELA0ACQCAIIAYoAgQiB0cEQCAEIAdNBH8gByAEcAUgBwsgBUcNAwwBCyAGKAIIIAJHDQBBAAwDCyAGKAIAIgYNAAsLQRgQXCEGIAkgAUEIaiIKNgIIIAkgBjYCBCAGIAMoAgA2AgggBiADKAIENgIMIAYgAygCCDYCECAGIAMoAgw2AhQgA0EANgIMIANCADcCBCAJQQE6AAwgBkEANgIAIAYgCDYCBCABKgIQIRMgASgCDEEBarMhFAJAAkAgBEUNACATIASzlCAUXQ0AIAUhCAwBC0ECIQUCQCAEIARBAWtxQQBHIARBA0lyIARBAXRyIgICfyAUIBOVjSITQwAAgE9dIBNDAAAAAGBxBEAgE6kMAQtBAAsiAyACIANLGyICQQFGDQAgAiACQQFrcUUEQCACIQUMAQtB1IkLQQA2AgBBFSACEAYhBUHUiQsoAgAhDkHUiQtBADYCACAOQQFGDQMgASgCBCEECwJAAkAgBCAFTwRAIAQgBU0NAiAEQQNJIQMCfyABKAIMsyABKgIQlY0iE0MAAIBPXSATQwAAAABgcQRAIBOpDAELQQALIQICQAJAIAMNACAEaUEBSw0AIAJBAUEgIAJBAWtna3QgAkECSRshAwwBC0HUiQtBADYCAEEVIAIQBiEDQdSJCygCACEPQdSJC0EANgIAIA9BAUYNBgsgBCAFIAMgAyAFSRsiBU0EQCABKAIEIQQMAwsgBUUNAQsgBUGAgICABE8EQEHUiQtBADYCAEEDEAlB1IkLKAIAIRBB1IkLQQA2AgAgEEEBRg0FAAtB1IkLQQA2AgBBBCAFQQJ0EAYhA0HUiQsoAgAhEUHUiQtBADYCACARQQFGDQQgASgCACECIAEgAzYCACACBEAgAhBaCyABIAU2AgRBACEHQQAhBCAFQQRPBEAgBUH8////A3EhAwNAIARBAnQiAiABKAIAakEANgIAIAEoAgAgAmpBADYCBCABKAIAIAJqQQA2AgggASgCACACakEANgIMIARBBGoiBCADRw0ACwsgBUEDcSICBEADQCABKAIAIARBAnRqQQA2AgAgBEEBaiEEIAdBAWoiByACRw0ACwsgASgCCCIERQRAIAUhBAwCCyAEKAIEIQICQCAFIAVBAWsiC3EEQCACIAVPBEAgAiAFcCECCyABKAIAIAJBAnRqIAo2AgAgBCgCACIHDQEgBSEEDAMLIAEoAgAgAiALcSICQQJ0aiAKNgIAIAQoAgAiA0UEQCAFIQQMAwsDQAJAIAIgAygCBCALcSIHRgRAIAMhBAwBCyAHQQJ0IgwgASgCAGoiDSgCAARAIAQgAygCADYCACADIAEoAgAgDGooAgAoAgA2AgAgASgCACAMaigCACADNgIADAELIA0gBDYCACADIQQgByECCyAEKAIAIgMNAAsgBSEEDAILA0AgBSAHKAIEIgNNBEAgAyAFcCEDCwJAIAIgA0YEQCAHIQQMAQsgA0ECdCILIAEoAgBqIgwoAgBFBEAgDCAENgIAIAchBCADIQIMAQsgBCAHKAIANgIAIAcgASgCACALaigCACgCADYCACABKAIAIAtqKAIAIAc2AgALIAQoAgAiBw0ACyAFIQQMAQsgASgCACECQQAhBCABQQA2AgAgAgRAIAIQWgsgAUEANgIECyAEIARBAWsiAnFFBEAgAiAIcSEIDAELIAQgCEsNACAIIARwIQgLAkACQCABKAIAIAhBAnRqIgIoAgAiA0UEQCAGIAEoAgg2AgAgASAGNgIIIAIgCjYCACAGKAIAIgJFDQIgAigCBCEDAkAgBCAEQQFrIgJxRQRAIAIgA3EhAwwBCyADIARJDQAgAyAEcCEDCyABKAIAIANBAnRqIQMMAQsgBiADKAIANgIACyADIAY2AgALIAEgASgCDEEBajYCDEEBCzoABCAAIAY2AgAgCUEQaiQADwsQACESIAlBBGoQqgMgEhAHAAu1FwEnfyMAQdAAayIDJAAgA0IANwMoIANBIGoiEEIANwMAIANCADcDGCADQgA3AxAgA0GAgID8AzYCMCADQgA3AwgCQAJAAkACQAJAAkACQAJAIAEoAggiBUUNAANAIAMgBSgCCCIHNgJIIAMoAhwgAygCGGoiBiADKAIQIgggAygCDCIEa0EIdEEBa0EAIAQgCEcbRgRAQdSJC0EANgIAQacuIANBCGoQCkHUiQsoAgAhFEHUiQtBADYCACAUQQFGDQMgAygCGCADKAIcaiEGIAMoAgwhBAsgBCAGQQh2Qfz//wdxaigCACAGQf8HcUECdGogBzYCACADIAMoAhxBAWo2AhxB1IkLQQA2AgBBqC4gA0E4aiAQIAcgA0HIAGoQBUHUiQsoAgAhFUHUiQtBADYCACAVQQFGDQIgAygCOCIEIAQoAgxBAWo2AgwgBSgCACIFDQALIAMoAhxFDQADQEHUiQtBADYCAEGpLiADQQhqEAYhCEHUiQsoAgAhBEHUiQtBADYCAAJAAkACQAJAAkACQAJAIARBAUcEQEHUiQtBADYCAEGJiwEgASAIEAIhDUHUiQsoAgAhFkHUiQtBADYCACAWQQFGDQEgCEEQSSIMDQYCQCAIKAIEIgZFDQBB1IkLQQA2AgBBiYsBIAEgBhACIQlB1IkLKAIAIRdB1IkLQQA2AgAgF0EBRg0DAkAgBkEQTwRAIAYoAhBBAkYNAQtB1IkLQQA2AgBBDUGZ+QVBuLMCQeUJQeiGARAFQdSJCygCACEYQdSJC0EANgIAIBhBAUYNBQwSCyAGKAIYIAYoAhRGDQBBACEEA0AgCSgCBCAJKAIAIgVrQQJ1IARNDQYgDSgCBCANKAIAIgdrQQJ1IARNDQYgByAEQQJ0IgpqKAIAIQcgBSAKaiIKKAIAIQVB1IkLQQA2AgBBPiAFIAcQAiEHQdSJCygCACEZQdSJC0EANgIAIBlBAUYNDSAKIAc2AgAgBSAHRwRAIAMgBjYCSCADKAIcIAMoAhhqIgcgAygCECIKIAMoAgwiBWtBCHRBAWtBACAFIApHG0YEQEHUiQtBADYCAEGnLiADQQhqEApB1IkLKAIAIRpB1IkLQQA2AgAgGkEBRg0PIAMoAhggAygCHGohByADKAIMIQULIAUgB0EIdkH8//8HcWooAgAgB0H/B3FBAnRqIAY2AgAgAyADKAIcQQFqNgIcQdSJC0EANgIAQaguIANBOGogECAGIANByABqEAVB1IkLKAIAIRtB1IkLQQA2AgAgG0EBRg0OIAMoAjgiBSAFKAIMQQFqNgIMCyAEQQFqIgQgBigCGCAGKAIUa0EMbUkNAAsLIAJFDQcgDA0OIAgoAhBBAkYNBQwOCxAAIQEMDgsQACEBDA0LEAAhAQwMCxAAIQEMCwtB1IkLQQA2AgBBDUHH/wVBmo4DQSdBpogFEAVB1IkLKAIAIRxB1IkLQQA2AgAgHEEBRw0LEAAhAQwKCyAIKAIYIQogCCgCFCEOIAAoAhAhBCAAKAIMIQVB1IkLQQA2AgBBrhkgBSAEIAgQBCEEQdSJCygCACEdQdSJC0EANgIAIB1BAUYNBiAEKAIAIgwgBCgCBCISRg0BQQEgCiAOa0EMbSIEIARBAU0bIRMCQAJAA0ACQAJAAkACQAJAAkAgDCgCACIIQRBPBEAgCCgCEEECRg0BC0HUiQtBADYCAEENQYD5BUGajgNBOkGmiAUQBQwBCyADQQA2AkQgA0IANwI8IAMgCDYCOEHUiQtBADYCAEGkigEgA0HIAGogASAIIANBOGoQBUHUiQsoAgAhHkHUiQtBADYCACAeQQFGDQQgAy0ATCEfIAMoAkghByADKAI8IgUEQCAFEFoLIB9FDQMgCCgCEEECRwRAQdSJC0EANgIAQQ1BmfkFQbizAkHlCUHohgEQBUHUiQsoAgAhIEHUiQtBADYCACAgQQFHDRMQACEBDBILIAgoAhggCCgCFGtBDG0iBSAHKAIQIgQgBygCDCIJayIPQQJ1IgZNDQIgBSAGayIGIAcoAhQiCyAEa0ECdU0EQCAEIAZBAnRqIQUDQCAEQQE2AgAgBEEEaiIEIAVHDQALIAcgBTYCEAwECyAFQYCAgIAETwRAQdSJC0EANgIAQfD6ABAJDAELQf////8DIAsgCWsiC0EBdSIRIAUgBSARSRsgC0H8////B08bIgVBgICAgARJDQFB1IkLQQA2AgBBAxAJC0HUiQsoAgAhIUHUiQtBADYCACAhQQFHDREQACEBDBALQdSJC0EANgIAQQQgBUECdCIREAYhC0HUiQsoAgAhIkHUiQtBADYCACAiQQFGDQQgCyAPaiIFIAZBAnRqIQ8gBSEGA0AgBkEBNgIAIAZBBGoiBiAPRw0ACyAEIAlHBEADQCAFQQRrIgUgBEEEayIEKAIANgIAIAQgCUcNAAsLIAcgCyARajYCFCAHIA82AhAgByAFNgIMIAlFDQEgCRBaDAELIAUgBk8NACAHIAkgBUECdGo2AhALIAogDkcEQEEAIQQDQCAHKAIQIAcoAgwiBWtBAnUgBE0NBSANKAIEIA0oAgAiBmtBAnUgBE0NBSAGIARBAnQiCWooAgAhBiAFIAlqIgkoAgAhBUHUiQtBADYCAEE+IAUgBhACIQZB1IkLKAIAISNB1IkLQQA2AgAgI0EBRg0NIAkgBjYCACAFIAZHBEAgAyAINgJIIAMoAhwgAygCGGoiBSADKAIQIgkgAygCDCIGa0EIdEEBa0EAIAYgCUcbRgRAQdSJC0EANgIAQacuIANBCGoQCkHUiQsoAgAhJEHUiQtBADYCACAkQQFGDQ8gAygCDCEGIAMoAhggAygCHGohBQsgBiAFQQh2Qfz//wdxaigCACAFQf8HcUECdGogCDYCACADIAMoAhxBAWo2AhxB1IkLQQA2AgBBqC4gA0E4aiAQIAggA0HIAGoQBUHUiQsoAgAhJUHUiQtBADYCACAlQQFGDQ4gAygCOCIFIAUoAgxBAWo2AgwLIARBAWoiBCATRw0ACwsgDEEEaiIMIBJHDQEMBQsLEAAhASADKAI8IgBFDQsgABBaDAsLEAAhAQwKC0HUiQtBADYCAEENQcf/BUGajgNBJ0GmiAUQBUHUiQsoAgAhJkHUiQtBADYCACAmQQFHDQoQACEBDAkLIAINBwsgAygCHA0ACwsgAygCKCIEBEADQCAEKAIAIScgBBBaICciBA0ACwsgAygCICEAIANBADYCICAABEAgABBaCyADQQA2AhwgAygCECIGIAMoAgwiBGtBAnUiBUEDTwRAA0AgBCgCABBaIAMgAygCDEEEaiIENgIMIAMoAhAiBiAEa0ECdSIFQQJLDQALC0GABCEHAkACQAJAIAVBAWsOAgEAAgtBgAghBwsgAyAHNgIYCwJAIAQgBkYNAANAIAQoAgAQWiAEQQRqIgQgBkcNAAsgAygCECIAIAMoAgwiAUYNACADIAAgASAAa0EDakF8cWo2AhALIAMoAggiAARAIAAQWgsgA0HQAGokAA8LEAAhAQwECxAAIQEMAwsQACEBDAILEAAhAQwBC0HUiQtBADYCAEENQZn5BUG4swJB5QlB6IYBEAVB1IkLKAIAIShB1IkLQQA2AgAgKEEBRw0BEAAhAQsgAygCKCIEBEADQCAEKAIAISkgBBBaICkiBA0ACwsgAygCICEAIANBADYCICAABEAgABBaCyADQQA2AhwgAygCECIGIAMoAgwiBGtBAnUiBUEDTwRAA0AgBCgCABBaIAMgAygCDEEEaiIENgIMIAMoAhAiBiAEa0ECdSIFQQJLDQALC0GABCEHAkACQAJAIAVBAWsOAgEAAgtBgAghBwsgAyAHNgIYCwJAIAQgBkYNAANAIAQoAgAQWiAEQQRqIgQgBkcNAAsgAygCECIAIAMoAgwiAkYNACADIAAgAiAAa0EDakF8cWo2AhALIAMoAggiAARAIAAQWgsgARAHAAsACwsAQYuCCyAAOgAACwUAQY0BC9cFAQx/IwBBIGsiBiQAIAAEQANAQQAhCAJAIAAoAhAgACgCDEYNAAJAAkACQAJAAkACQANAIAAoAggiAkEQSQ0BIAIoAhBBAkcNASAGQQA2AhQgBkIANwIMIAYgAjYCCEHUiQtBADYCAEGkigEgBkEYaiABIAIgBkEIahAFQdSJCygCACEMQdSJC0EANgIAIAxBAUcEQCAGLQAcIQMgBigCGCEEIAYoAgwiBQRAIAUQWgsCQCADRQ0AIAIoAhBBAkcNBCACKAIYIAIoAhRrQQxtIgIgBCgCECIFIAQoAgwiB2siCkECdSIDSwRAIAIgA2siAyAEKAIUIgkgBWtBAnVNBEAgBSADQQJ0aiECA0AgBUEBNgIAIAVBBGoiBSACRw0ACyAEIAI2AhAMAgsgAkGAgICABE8NBkH/////AyAJIAdrIglBAXUiCyACIAIgC0kbIAlB/P///wdPGyICQYCAgIAETw0HIAJBAnQiCRBcIgsgCmoiAiADQQJ0aiEKIAIhAwNAIANBATYCACADQQRqIgMgCkcNAAsgBSAHRwRAA0AgAkEEayICIAVBBGsiBSgCADYCACAFIAdHDQALCyAEIAkgC2o2AhQgBCAKNgIQIAQgAjYCDCAHRQ0BIAcQWgwBCyACIANPDQAgBCAHIAJBAnRqNgIQCyAEKAIQIAQoAgwiAmtBAnUgCE0NBiAAKAIQIAAoAgwiA2tBAnUgCE0NByACIAhBAnQiBGoiAiACKAIAIAMgBGooAgAQkwM2AgAgCEEBaiIIIAAoAhAgACgCDGtBAnVPDQgMAQsLEAAhDSAGKAIMIgEEQCABEFoLIA0QBwALQYD5BUGajgNBOkGmiAUQAQALQZn5BUG4swJB5QlB6IYBEAEACxBkAAsQagALQcf/BUGajgNBJ0GmiAUQAQALQcf/BUGajgNBLEGmiAUQAQALIAAoAgAiAA0ACwsgBkEgaiQAC74iAQ5/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAIgIoAgAOXgABAgMEBQYHCAkKCwwNHh8gISIjJCU1Ng4PEBESExQVFhcYGRobHB03JicoKSorLC0uLzAxMjM0ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXABdC0GY/QNB5bMDQeoBEGIACyAAQRRqQa2KASABEFggAigCAEEBRw1cIAIoAhQiAUEATA1bIABBGGohAwNAIAFBAWsiACACKAIUTw1eIAIoAhAgAEECdGoiBCgCAEUNXyADQaCKASAEEFsgAUEBSyEGIAAhASAGDQALDFsLIABBFGoiA0GuigEgARBYIAIoAgBBAkcNWyACKAIQBEAgAEEYakGgigEgAkEQahBbCyADQaCKASACQQxqEFggA0GgigEgAkEIahBYDwsgAEEUaiIAQa+KASABEFggAigCAEEDRw1aDGALIABBFGpBsIoBIAEQWCACKAIAQQRHDVkgAigCFARAIABBGGpBoIoBIAJBFGoQWwsgAigCEEUNWCAAQRhqQaCKASACQRBqEFsPCyAAQRRqIgNBsYoBIAEQWCACKAIAQQVHDVggA0GgigEgAkEkahBYIAIoAiBFDVcgAEEYakGgigEgAkEgahBbDwsgAEEUakGyigEgARBYIAIoAgBBBkcNVyACKAIMIgFBAEwNViAAQRhqIQMDQCABQQFrIgAgAigCDE8NWSACKAIIIABBAnRqIgQoAgBFDVogA0GgigEgBBBbIAFBAUshByAAIQEgBw0ACwxWCyAAQRRqIgNBs4oBIAEQWCACKAIAQQdHDVYgA0GgigEgAkEcahBYIAIoAhAiAUEATA1VIABBGGohAwNAIAFBAWsiACACKAIQTw1YIAIoAgwgAEECdGoiBCgCAEUNWSADQaCKASAEEFsgAUEBSyEIIAAhASAIDQALDFULIABBFGpBtIoBIAEQWCACKAIAQQhGDVQMVQsgAEEUaiIAQbWKASABEFggAigCAEEJRw1UDF0LIABBFGpBtooBIAEQWCACKAIAQQpGDVIMUwsgAEEUaiIAQbeKASABEFggAigCAEELRw1SDFgLIABBFGoiAEG4igEgARBYIAIoAgBBDEcNUQxcCyAAQRRqIgBBuYoBIAEQWCACKAIAQQ1HDVAMWgsgAEEUaiIAQbqKASABEFggAigCAEEYRw1PDFsLIABBFGoiAEG7igEgARBYIAIoAgBBGUcNTiAAQaCKASACQSBqEFgMWgsgAEEUaiIAQbyKASABEFggAigCAEEaRw1NDFELIABBFGoiAEG9igEgARBYIAIoAgBBG0cNTAxRCyAAQRRqQb6KASABEFggAigCAEEcRg1KDEsLIABBFGoiAEG/igEgARBYIAIoAgBBHUcNSgxTCyAAQRRqIgBBwIoBIAEQWCACKAIAQR5HDUkgAEGgigEgAkEUahBYDFILIABBFGoiAEHBigEgARBYIAIoAgBBH0cNSAxXCyAAQRRqIgBBwooBIAEQWCACKAIAQSBHDUcMTgsgAEEUaiIAQcOKASABEFggAigCAEEhRw1GDE4LIABBFGoiAEHEigEgARBYIAIoAgBBIkcNRSAAQaCKASACQSBqEFgPCyAAQRRqIgBBxYoBIAEQWCACKAIAQSNHDUQMTgsgAEEUaiIAQcaKASABEFggAigCAEEkRw1DDEcLIABBFGpBx4oBIAEQWCACKAIAQSVGDUEMQgsgAEEUaiIAQciKASABEFggAigCAEEmRw1BDE8LIABBFGoiAEHJigEgARBYIAIoAgBBJ0cNQAxOCyAAQRRqQcqKASABEFggAigCAEEORg0+DD8LIABBFGoiAEHLigEgARBYIAIoAgBBD0cNPgxHCyAAQRRqIgBBzIoBIAEQWCACKAIAQRBHDT0MRQsgAEEUaiIAQc2KASABEFggAigCAEERRw08DEoLIABBFGoiAEHOigEgARBYIAIoAgBBEkcNOwxLCyAAQRRqQc+KASABEFggAigCAEETRw06IAIoAghFDTkMSwsgAEEUakHQigEgARBYIAIoAgBBFEYNOAw5CyAAQRRqIgBB0YoBIAEQWCACKAIAQRVHDTgMSAsgAEEUakHSigEgARBYIAIoAgBBKUYNNgw3CyAAQRRqIgBB04oBIAEQWCACKAIAQSpHDTYMRgsgAEEUakHUigEgARBYIAIoAgBBK0YNNAw1CyAAQRRqIgBB1YoBIAEQWCACKAIAQSxHDTQMQwsgAEEUaiIAQdaKASABEFggAigCAEEtRw0zDDkLIABBFGoiAEHXigEgARBYIAIoAgBBLkcNMgw3CyAAQRRqQdiKASABEFggAigCAEEvRg0wDDELIABBFGoiAEHZigEgARBYIAIoAgBBMEcNMAw1CyAAQRRqIgBB2ooBIAEQWCACKAIAQTFHDS8MMwsgAEEUaiIAQduKASABEFggAigCAEEyRw0uDDwLIABBFGoiA0HcigEgARBYIAIoAgBBM0cNLSACKAIoIgFBAEoEQCAAQRhqIQQDQCABQQFrIgAgAigCKE8NMCACKAIkIABBAnRqIgUoAgBFDTEgBEGgigEgBRBbIAFBAUshCSAAIQEgCQ0ACwsgA0GgigEgAkEQahBYDwsgAEEUaiIAQd2KASABEFggAigCAEE0RgRADD0LDCwLIABBFGpB3ooBIAEQWCACKAIAQTVHDSsgAigCFCIBQQBMDSogAEEYaiEDA0AgAUEBayIAIAIoAhRPDS0gAigCECAAQQJ0aiIEKAIARQ0uIANBoIoBIAQQWyABQQFLIQogACEBIAoNAAsMKgsgAEEUakHfigEgARBYIAIoAgBBNkYNKQwqCyAAQRRqIgBB4IoBIAEQWCACKAIAQTdHDSkMOQsgAEEUakHhigEgARBYIAIoAgBBFkYNJwwoCyAAQRRqQeKKASABEFggAigCAEEXRg0mDCcLIABBFGpB44oBIAEQWCACKAIAQShGDSUMJgsgAEEUakHkigEgARBYIAIoAgBBOEcNJSACKAIMIgFBAEwNJCAAQRhqIQMDQCABQQFrIgAgAigCDE8NJyACKAIIIABBAnRqIgQoAgBFDSggA0GgigEgBBBbIAFBAUshCyAAIQEgCw0ACwwkCyAAQRRqIgBB5YoBIAEQWCACKAIAQTlHDSQMNAsgAEEUaiIAQeaKASABEFggAigCAEE6Rw0jDDMLIABBFGoiAEHnigEgARBYIAIoAgBBO0cNIgwyCyAAQRRqIgNB6IoBIAEQWCACKAIAQTxHDSEgA0GgigEgAkEYahBYIAIoAgwiAUEATA0gIABBGGohAwNAIAFBAWsiACACKAIMTw0jIAIoAgggAEECdGoiBCgCAEUNJCADQaCKASAEEFsgAUEBSyEMIAAhASAMDQALDCALIABBFGoiAEHpigEgARBYIAIoAgBBPUcNIAwwCyAAQRRqIgBB6ooBIAEQWCACKAIAQT5HDR8MLwsgAEEUaiIAQeuKASABEFggAigCAEE/Rw0eIABBoIoBIAJBFGoQWA8LIABBFGpB7IoBIAEQWCACKAIAQcAARw0dIAIoAgwiAUEATA0cIABBGGohAwNAIAFBAWsiACACKAIMTw0fIAIoAgggAEECdGoiBCgCAEUNICADQaCKASAEEFsgAUEBSyENIAAhASANDQALDBwLIABBFGoiAEHtigEgARBYIAIoAgBBwQBHDRwMJQsgAEEUaiIAQe6KASABEFggAigCAEHCAEcNGwwjCyAAQRRqIgNB74oBIAEQWCACKAIAQcMARw0aIANBoIoBIAJBDGoQWCACKAIIRQ0ZDCsLIABBFGoiAEHwigEgARBYIAIoAgBBxABHDRkMHgsgAEEUaiIAQfGKASABEFggAigCAEHFAEcNGAwdCyAAQRRqQfKKASABEFggAigCAEHGAEcNFyACKAIMIgFBAEwNFiAAQRhqIQMDQCABQQFrIgAgAigCDE8NGSACKAIIIABBAnRqIgQoAgBFDRogA0GgigEgBBBbIAFBAUshDiAAIQEgDg0ACwwWCyAAQRRqIgBB84oBIAEQWCACKAIAQccARw0WDCULIABBFGoiAEH0igEgARBYIAIoAgBByABHDRUMIwsgAEEUaiIAQfWKASABEFggAigCAEHJAEcNFAwkCyAAQRRqIgBB9ooBIAEQWCACKAIAQcoARw0TIABBoIoBIAJBGGoQWAwgCyAAQRRqIgBB94oBIAEQWCACKAIAQcsARw0SDB8LIABBFGoiAEH4igEgARBYIAIoAgBBzABHDREMFAsgAEEUaiIAQfmKASABEFggAigCAEHNAEcNEAwTCyAAQRRqIgBB+ooBIAEQWCACKAIAQc4ARw0PDBgLIABBFGoiA0H7igEgARBYIAIoAgBBzwBHDQ4gAigCGARAIABBGGpBoIoBIAJBGGoQWwsgAigCFARAIABBGGpBoIoBIAJBFGoQWwsgAigCEARAIABBGGpBoIoBIAJBEGoQWwsMIAsgAEEUakH8igEgARBYIAIoAgBB0ABGDQwMDQsgAEEUaiIAQf2KASABEFggAigCAEHRAEcNDAwVCyAAQRRqIgNB/ooBIAEQWCACKAIAQdIARw0LIAIoAhQEQCAAQRhqQaCKASACQRRqEFsLIANBoIoBIAJBEGoQWAwdCyAAQRRqIgBB/4oBIAEQWCACKAIAQdMARw0KDBkLIABBFGoiAEGAiwEgARBYIAIoAgBB1ABHDQkMEQsgAEEUaiIAQYGLASABEFggAigCAEHVAEcNCAwRCyAAQRRqIgBBgosBIAEQWCACKAIAQdYARw0HDBULIABBFGoiAEGDiwEgARBYIAIoAgBB1wBHDQYMFQsgAEEUaiIAQYSLASABEFggAigCAEHYAEcNBQwVCyAAQRRqIgBBhYsBIAEQWCACKAIAQdkARw0EDAwLIABBFGoiAEGGiwEgARBYIAIoAgBB2gBHDQMMCgsgAEEUaiIAQYeLASABEFggAigCAEHbAEcNAgwRCyAAQRRqIgNBiIsBIAEQWCACKAIAQdwARw0BIANBoIoBIAJBPGoQWCACKAIwIgFBAEwNACAAQRhqIQMDQCABQQFrIgAgAigCME8NAyACKAIsIABBAnRqIgQoAgBFDQQgA0GgigEgBBBbIAFBAUshDyAAIQEgDw0ACwsPC0Hw7QVBxZgDQZQGQY3eABABAAtBxaIBQYmiA0G8AUGmiAUQAQALQYGDAkHTmQNBuQJBrvcCEAEACyAAQaCKASACQRxqEFgLIABBoIoBIAJBGGoQWAsgAEGgigEgAkEUahBYCyAAQaCKASACQRBqEFgPCyAAQaCKASACQRRqEFgLIABBoIoBIAJBEGoQWAsgAEGgigEgAkEMahBYDwsgAEGgigEgAkEoahBYCyAAQaCKASACQSRqEFgPCyAAQaCKASACQRxqEFggAEGgigEgAkEYahBYDwsgAEGgigEgAkEUahBYCyAAQaCKASACQRBqEFgLIABBoIoBIAJBDGoQWAsgAEGgigEgAkEIahBYDwsgAEEYakGgigEgAkEIahBbDwsgA0GgigEgAkEMahBYC/IPARh/IwBBsAJrIgMkAAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCBARAIAAgACgCACgCEBECAARAIAMgACgCBCICKQI4NwP4ASADIAIpAjA3A/ABIAMgAikCKDcD6AEgAyACKQIgNwPgASADIAIpAhg3A9gBIANBgAJqIAJBQGsQ4wEhBEHUiQtBADYCAEGaASADQZQCaiACQdQAahACIQVB1IkLKAIAIRFB1IkLQQA2AgAgEUEBRg0CIAMgAigCaDYCqAIgAyACKAJsIgI2AqwCIAIEQCACIAIoAgRBAWo2AgQLIANBASADKALgASICIAJBAEobNgLgASADIAMpA+gBNwMYIAMgAykD8AE3AyAgAyADKQP4ATcDKCADIAMpA+ABNwMQIANBASADKALcASICIAJBAEobNgLcAUHUiQtBADYCACADIAMpA9gBNwMIQZsBIANBMGogBBACIQRB1IkLKAIAIQJB1IkLQQA2AgACQCACQQFHBEBB1IkLQQA2AgBBmgEgA0HEAGogBRACIQVB1IkLKAIAIRJB1IkLQQA2AgAgEkEBRg0FIAMgAygCrAIiAjYCXCADIAMoAqgCNgJYIAIEQCACIAIoAgRBAWo2AgQLIANBADYCeCADIAMpAxA3AoQBIAMgAykDGDcCjAEgAyADKQMgNwKUASADIAMpAyg3ApwBIANCADcCcCADQfzsCTYCZCADIAMpAwg3AnxB1IkLQQA2AgAgAyABNgJoIAMgAUGoAWo2AmxBmwEgA0GkAWogBBACIQFB1IkLKAIAIQJB1IkLQQA2AgACQCACQQFHBEBB1IkLQQA2AgBBmgEgA0G4AWogBRACGkHUiQsoAgAhE0HUiQtBADYCACATQQFHBEAgAyADKAJYNgLMASADIAMoAlwiATYC0AEgAQRAIAEgASgCBEEBajYCBAsgA0EAOwHUASADQQhqEGEgA0EBOgDUASAAKAIAKAIUIRRB1IkLQQA2AgAgFCAAEAYhAEHUiQsoAgAhFUHUiQtBADYCACAVQQFGDQQgAygCZCgCCCEWQdSJC0EANgIAIBYgA0HkAGoiASAAEANB1IkLKAIAIRdB1IkLQQA2AgAgF0EBRg0EQdSJC0EANgIAQZcBIAEQCkHUiQsoAgAhGEHUiQtBADYCACAYQQFGDQQgA0H87Ak2AmQgA0H8AGoQYSADKAJwIgEEQCADKAJ0IgAgASICRwRAA0AgAEEEayIAKAIAIQIgAEEANgIAIAIEQCACIAIoAgAoAgQRAQALIAAgAUcNAAsgAygCcCECCyADIAE2AnQgAhBaCyADQdgBahBhDBALEAAhACABEGsMAQsQACEACyADQfAAahDgASADQQhqEGEMDgsQACEADA0LEAAhACADQeQAahB8GgwMCyAAIAE2AnwgAEEUaiEJIAEoAhgiAiABKAIcIgRHBEADQCACKAIAIgUoAgxFBEAgCSAFQSBqEOQFCyACQQRqIgIgBEcNAAsLIAEoAgwiAiABKAIQIgVHBEADQCACKAIAIgQoAgxFBEAgACAENgJ4IAkgBEEwahDkBSAAQQA2AngLIAJBBGoiAiAFRw0ACwsgASgCMCIKIAEoAjQiDkYNCSAAQRxqIQ0DQCAKKAIAIgIoAgwEQCAJIAJBFGoQ5AULIAIoAhwiCyACKAIgIg9HBEAgACgCcCEEIAAoAmwhBiAAKAIYIQUDQCADIAsoAgAiBzYCZCAEIAZrIhBBA3UiAkEAIAVrRw0GIAdFDQcCQCAFQQlNBEAgACAFQQFqIgY2AhggDSAFQQN0aiICQaCKATYCACACIANB5ABqNgIEIAQhAiAGIQUMAQsgACgCdCIIIARLBEAgBEGgigE2AgAgBCADQeQAajYCBCAAIARBCGoiAjYCcAwBCyACQQFqIgdBgICAgAJPDQlB/////wEgCCAGayIIQQJ1IgwgByAHIAxJGyAIQfj///8HTxsiB0GAgICAAk8NCiAQIAdBA3QiDBBcIghqIgdBoIoBNgIAIAggAkEDdGogA0HkAGo2AgQgB0EIaiECIAQgBkcEQANAIAdBCGsiByAEQQhrIgQpAgA3AgAgBCAGRw0ACwsgACAIIAxqNgJ0IAAgAjYCcCAAIAc2AmwgBkUNACAGEFogACgCcCECIAAoAhghBQtBACAFayACIAAoAmwiBmtBA3VHBEADQAJAIAIgBkYEQCAFRQ0OIA0gBUEBayIEQQN0aiIFKAIEIQIgBSgCACEGIAAgBDYCGAwBCyACQQhrIgQoAgAhBiAEKAIEIQIgACAENgJwCyAJIAI2AgAgAigCAEUNDSAAIAIgBhEAAEEAIAAoAhgiBWsgACgCcCICIAAoAmwiBmtBA3VHDQALCyACIQQgC0EEaiILIA9HDQALCyAKQQRqIgogDkcNAAsMCQtB6PoFQbqLA0H8A0HaywIQAQALEAAhGSAEEGsgGRAHAAsQACEAIAQQawwIC0HNygVB05kDQcgCQdD4AhABAAtBgYMCQdOZA0G5AkGu9wIQAQALEGQACxBqAAtB3sQFQbCUA0HaAEH9+wIQAQALQfWCAkHTmQNBzQJB0PgCEAEACyABKAJIIgIgASgCTCIBRwRAA0AgAigCACIELQAURQRAIAkgBEEYahDkBQsgAkEEaiICIAFHDQALCyAAQQA2AnwLIANBsAJqJAAPCyADQdgBahBhIAAQBwALEgAgAEEIakHxywRBJBBfGiAAC4haAWB/IwBB4ANrIgMkAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEtAIUBQQRxRQ0AAkACQCAAKAIELQA9RQRAIANBuAJqEKkCIQJB1IkLQQA2AgBBnIoBIAIQBiEBQdSJCygCACEVQdSJC0EANgIAIBVBAUcNARAAGiACEHEACyADQgA3A6gCIANCADcDoAIgA0GAgID8AzYCsAICQCABKAIMIgIgASgCECIGRwRAAkACQANAIAMgAigCACIENgKAAUHUiQtBADYCAEGdigEgA0G4AmogA0GgAmogBCADQYABahAFQdSJCygCACEWQdSJC0EANgIAIBZBAUYNASACQQRqIgIgBkcNAAsgASgCECEGIAEoAgwhAiADQgA3A5ACIANCADcDiAIgA0GAgID8AzYCmAIgAiAGRg0DA0AgAyACKAIAIgQ2AoABQdSJC0EANgIAQZ2KASADQbgCaiADQYgCaiAEIANBgAFqEAVB1IkLKAIAIRdB1IkLQQA2AgAgF0EBRg0CIAJBBGoiAiAGRw0ACwwDCxAAIRggA0GgAmoQtQggGBAHAAsQACECDBwLIANCADcDkAIgA0IANwOIAiADQYCAgPwDNgKYAgsgA0EANgL8ASADQgA3AvQBIANCADcCkAEgA0EANgKYASADQgA3AuwBIANCADcCiAEgA0G0mwg2AoABIAMgA0GIAmo2AoQCIAMgA0GgAmo2AoACIAAoAgQhAkHUiQtBADYCACADIAI2AoQBQZ6KASADQYABaiABEANB1IkLKAIAIRlB1IkLQQA2AgAgGUEBRg0YIAAoAgQhBAJAIAMoAoQBIgJFDQAgAiAERg0AQf78ASEHQeMDIQJBuosDIRBB4sQGIQUMFwsgAyAENgKEASADIAE2AvwBIANBlAFqIQoCQCABKAIYIgIgASgCHCIGRwRAA0AgAigCACIEKAIMRQRAQdSJC0EANgIAQZ+KASAKIARBIGoQA0HUiQsoAgAhGkHUiQtBADYCACAaQQFGDQMLIAJBBGoiAiAGRw0ACwsgASgCMCINIAEoAjQiFEYNAiADQZwBaiERAkACQANAAkAgDSgCACICKAIUBEBB1IkLQQA2AgBBn4oBIAogAkEUahADQdSJCygCACEbQdSJC0EANgIAIBtBAUYNBCANKAIAIQILIAIoAhwiDyACKAIgIglHBEAgAygC8AEhBCADKALsASEFIAMoApgB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REHUiQtBADYCACBEQQFGDQIgAygC1AMiAgRAA0AgAigCACFFIAIQWiBFIgINAAsLIAMoAswDIQIgA0EANgLMAyACBEAgAhBaCyADQfjrCTYCuAICQCADKALgAkUNACADKALcAiICKAIAIgYgAygC2AIoAgQiBDYCBCAEIAY2AgAgA0EANgLgAiACIAVGDQADQCACKAIEIUYgAhBaIEYiAiAFRw0ACwsgAygCzAIiAgRAA0AgAigCACFHIAIQWiBHIgINAAsLIAMoAsQCIQIgA0EANgLEAiACBEAgAhBaCyADKALAAiECIANBADYCwAIgAgRAIAIQkQMLIANCADcCyAIgA0EANgK0AyADQgA3AqwDIANBADYC0AIgA0IANwLAAyADQYCAgPwDNgLIAyADQbjDAy8AADsByAIgA0IANwKkAyADQgA3ArgDIANBzOwJNgK4AiADQbDDAykAADcCwAIgA0EKOgDLAiADIAAoAgQ2ArwCQdSJC0EANgIAQbIZIANBuAJqIAEQA0HUiQsoAgAhSEHUiQtBADYCACBIQQFGDQEgA0HM7Ak2ArgCIAMoAsADIgYEQANAIAYoAgAhSiAGKAIYIgIEQANAIAIoAgAhSSACEFogSSICDQALCyAGKAIQIQIgBkEANgIQIAIEQCACEFoLIAYQWiBKIgYNAAsLIAMoArgDIQIgA0EANgK4AyACBEAgAhBaCyADKAKkAyICBEAgAyACNgKoAyACEFoLIANBkO0JNgK4AiADLADLAkEASARAIAMoAsACEFoLIANBADYCtAMgA0IANwKsAyADQgA3AsgCIANBADYC0AIgA0IANwKkAyADQgA3AsACIANBuJwINgK4AiAAKAIEIQJB1IkLQQA2AgAgAyACNgK8AkGpigEgA0G4AmogARADQdSJCygCACFLQdSJC0EANgIAIEtBAUYNCCAAKAIEIQICQCADKAK8AiIARQ0AIAAgAkYNAEH+/AEhB0HjAyECQbqLAyEQQeLEBiEFDAgLIAMgAjYCvAIgAyABNgK0AyADQcwCaiEKIAEoAhgiAiABKAIcIgRHBEADQCACKAIAIgAoAgxFBEBB1IkLQQA2AgBBqooBIAogAEEgahADQdSJCygCACFMQdSJC0EANgIAIExBAUYNCwsgAkEEaiICIARHDQALCyABKAIwIg0gASgCNCIURg0EIANB1AJqIRIDQCANKAIAIgIoAhQEQEHUiQtBADYCAEGqigEgCiACQRRqEANB1IkLKAIAIU1B1IkLQQA2AgAgTUEBRg0KIA0oAgAhAgsgAigCHCIPIAIoAiAiCUcEQCADKAKoAyEEIAMoAqQDIQUgAygC0AIhBgNAIAMgDygCACIANgLMA0HQ+AIhB0HTmQMhECAEIAVrIgtBA3UiCEEAIAZrRwRAQcgCIQJBzcoFIQUMCwsgAEUEQEGu9wIhB0G5AiECQYGDAiEFDAsLAkAgBkEJTQRAIAMgBkEBaiIANgLQAiASIAZBA3RqIgJBq4oBNgIAIAIgA0HMA2o2AgQgBCECIAAhBgwBCyADKAKsAyIAIARLBEAgBEGrigE2AgAgBCADQcwDajYCBCADIARBCGoiAjYCqAMMAQsgCEEBaiIMQYCAgIACTwRAQdSJC0EANgIAQayKARAJQdSJCygCACFOQdSJC0EANgIAIE5BAUcNIAwNC0H/////ASAAIAVrIgJBAnUiACAMIAAgDEsbIAJB+P///wdPGyIAQYCAgIACTwRAQdSJC0EANgIAQQMQCUHUiQsoAgAhT0HUiQtBADYCACBPQQFHDSAMDQtB1IkLQQA2AgBBBCAAQQN0IgwQBiERQdSJCygCACFQQdSJC0EANgIAIFBBAUYNDCALIBFqIg5Bq4oBNgIAIBEgCEEDdGogA0HMA2o2AgQgDkEIaiECIAQgBUcEQANAIA5BCGsiDiAEQQhrIgQpAgA3AgAgBCAFRw0ACwsgAyAMIBFqNgKsAyADIAI2AqgDIAMgDjYCpAMgBUUNACAFEFogAygCqAMhAiADKALQAiEGC0EAIAZrIAIgAygCpAMiBWtBA3VHBEADQAJAIAIgBUYEQCAGRQRAQf37AiEHQdoAIQJBsJQDIRBB3sQFIQUMDwsgEiAGQQFrIgRBA3RqIgAoAgQhAiAAKAIAIQUgAyAENgLQAgwBCyACQQhrIgAoAgAhBSAAKAIEIQIgAyAANgKoAwsgAyACNgLMAiACKAIARQRAQc0CIQJB9YICIQUMDQtB1IkLQQA2AgAgBSADQbgCaiACEANB1IkLKAIAIVFB1IkLQQA2AgAgUUEBRg0NQQAgAygC0AIiBmsgAygCqAMiAiADKAKkAyIFa0EDdUcNAAsLIAIhBCAPQQRqIg8gCUcNAAsLIA1BBGoiDSAURw0ACwwECxAAIQIMAgsQACECIANBuAJqEMgCGgwPCxAAIQIgA0HMA2oQogELIANBuAJqELwFGgwNCyABKAJIIgIgASgCTCIBRwRAA0AgAigCACIAKAIYBEBB1IkLQQA2AgBBqooBIAogAEEYahADQdSJCygCACFSQdSJC0EANgIAIFJBAUYNBgsgAkEEaiICIAFHDQALCyADQQA2ArQDIAMoAqQDIgAEQCADIAA2AqgDIAAQWgsgA0GQ7Qk2ArgCIAMsAMsCQQBODQAgAygCwAIQWgsgAygCICICBEADQCACKAIAIVMgAhBaIFMiAg0ACwsgAygCGCEAIANBADYCGCAABEAgABBaCyADQQA2AhQgAygCCCIFIAMoAgQiAmtBAnUiBkEDTwRAA0AgAigCABBaIAMgAygCBEEEaiICNgIEIAMoAggiBSACa0ECdSIGQQJLDQALC0GABCEEAkACQAJAIAZBAWsOAgEAAgtBgAghBAsgAyAENgIQCwJAIAIgBUYNAANAIAIoAgAQWiACQQRqIgIgBUcNAAsgAygCCCIBIAMoAgQiAEYNACADIAEgACABa0EDakF8cWo2AggLIAMoAgAiAARAIAAQWgsgEygCFCICBEADQCACKAIAIVQgAigCDCIBBEAgAiABNgIQIAEQWgsgAhBaIFQiAg0ACwsgEygCDCEAIBNBADYCDCAABEAgABBaCyATKAIAIgAEQCATIAA2AgQgABBaCyADKAJYIgIEQANAIAIoAgAhVSACKAIMIgEEQCACIAE2AhAgARBaCyACEFogVSICDQALCyADKAJQIQAgA0EANgJQIAAEQCAAEFoLIAMoAnAiAgRAA0AgAigCACFWIAIoAgwiAQRAIAIgATYCECABEFoLIAIQWiBWIgINAAsLIAMoAmghACADQQA2AmggAARAIAAQWgsgAygC7AEiAARAIAMgADYC8AEgABBaCyADQZDtCTYCgAEgAywAkwFBAEgEQCADKAKIARBaCyADKAKQAiIEBEADQCAEKAIAIVggBCgCFCICBEADQCACKAIAIVcgAigCDCIGBEAgAiAGNgIQIAYQWgsgAhBaIFciAg0ACwsgBCgCDCEAIARBADYCDCAABEAgABBaCyAEEFogWCIEDQALCyADKAKIAiEAIANBADYCiAIgAARAIAAQWgsgAygCqAIi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eCAAIAE2AnxB1IkLQQA2AgBBjYoBIABBFGogAkEwaiIDEANB1IkLKAIAISxB1IkLQQA2AgAgLEEBRg0DIABCADcCeAJAIAAtAIwBRQ0AIARCADcCGCAEQQA2AoABIARBIGoiAEIANwIAIARCADcClAEgBEGAgID8AzYCnAEgBEG4wwMvAAA7ARwgBEIANwIQIARCADcCeCAEQgA3AowBIARBzOwJNgIMIAQgATYCiAEgBCACNgKEASAEQbDDAykAADcCFCAEQQo6AB9B1IkLQQA2AgBBxAogACADEANB1IkLKAIAIS1B1IkLQQA2AgAgLUEBRg0CIARBzOwJNgIMIARCADcChAEgBCgClAEiBgRAA0AgBigCACEvIAYoAhgiAwRAA0AgAygCACEuIAMQWiAuIgMNAAsLIAYoAhAhASAGQQA2AhAgAQRAIAEQWgsgBhBaIC8iBg0ACwsgBCgCjAEhACAEQQA2AowBIAAEQCAAEFoLIAQoAngiAARAIAQgADYCfCAAEFoLIARBkO0JNgIMIAQsAB9BAE4NACAEKAIUEFoLIAQoAqwBIgAEQCAEKAKwASIFIAAiA0cEQANAIAVBFGsiASgCCCICBEAgBUEIayACNgIAIAIQWgsgASIFIABHDQALIAQoAqwBIQMLIAQgADYCsAEgAxBaCyAEKAL0ASIDBEADQCADKAIAITAgAxBaIDAiAw0ACwsgBCgC7AEhACAEQQA2AuwBIAAEQCAAEFoLIAQoAuABIgAEQCAEKALkASIFIAAiA0cEQANAIAVBDGsiASgCACICBEAgBUEIayACNgIAIAIQWgsgASIFIABHDQALIAQoAuABIQMLIAQgADYC5AEgAxBaCyAEKALIASIABEAgBCAANgLMASAAEFoLIAQoAoACIgAEQCAEKAKEAiIDIAAiBUcEQANAIANBLGsiASgCICICBEAgA0EIayACNgIAIAIQWgsgA0EYaygCACICBEAgA0EUayACNgIAIAIQWgsgA0EkaygCACICBEAgA0EgayACNgIAIAIQWgsgASIDIABHDQALIAQoAoACIQULIAQgADYChAIgBRBaCyAEQfzsCTYCjAIgBEGkAmoQYSAEKAKYAiIABEAgBCgCnAIiAyAAIgVHBEADQCADQQRrIgMoAgAhASADQQA2AgAgAQRAIAEgASgCACgCBBEBAAsg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ajYCACAAKAKMASABKAIIQQJ0aiIBKAIARQRAIAAgACgCmAEiAEEBajYCmAEgASAANgIACw8LQfDtBUHFmANBlAZBjd4AEAEACz0AIAEoAgAiASgCAEEJRwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAoAnAoAgAgASgCCEECdGooAgA2AggLPQAgASgCACIBKAIAQQhHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAEgACgCcCgCACABKAIIQQJ0aigCADYCCAskACAAKAIAQRFHBEBBiKsGQae3AkHTFkH8yQMQAQALIAAoAggL3R4BDn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAIgIoAgAOXgABAgMEBQYHCAkKCwwNHh8gISIjJCU1Ng4PEBESExQVFhcYGRobHB03JicoKSorLC0uLzAxMjM0ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXABdC0GY/QNB5bMDQeoBEGIACyAAQeqHASABEFggAigCAEEBRw1cIAIoAhQiAUEATA1bIABBBGohBANAIAFBAWsiACACKAIUTw1eIAIoAhAgAEECdGoiAygCAEUNXyAEQY2HASADEFsgAUEBSyEGIAAhASAGDQALDFsLIABB64cBIAEQWCACKAIAQQJHDVsgAigCEARAIABBBGpBjYcBIAJBEGoQWwsMYAsgAEHshwEgARBYIAIoAgBBA0cNWgxjCyAAQe2HASABEFggAigCAEEERw1ZIAIoAhQEQCAAQQRqQY2HASACQRRqEFsLIAIoAhBFDVggAEEEakGNhwEgAkEQahBbDwsgAEHuhwEgARBYIAIoAgBBBUcNWCAAQY2HASACQSRqEFggAigCIEUNVyAAQQRqQY2HASACQSBqEFsPCyAAQe+HASABEFgg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DAMLIAEoAgggAEYNAwsgASgCACIBDQALC0HpxQVBq5YCQS9BwYUBEAEACyAEQQhqIAYgACAFQQhqEOwCIAQoAggiAEEQaiAAKAIQQQFqNgIAIARBEGokAA8LQfDtBUHFmANBlAZBjd4AEAEACyQAIAAoAgBBEUcEQEGIqwZBp7cCQesWQYTQAhABAAsgACgCEAvxBAINfwF+IwBBEGsiBSQAIABBKGohCiAAKAIEIQECQAJAA0AgASAAKAIARwRAIAFBCGsiASgCACELIAUgASkCACIONwMAIAVBCGogCiAOpyAFEK4FIAUoAggiASgCECIHIAEoAhQiDEcEQANAIAcpAgAiDqchBAJAAkAgACgCECICRQ0AIAAoAgwCfyACQQFrIARxIAJpQQFLIgNFDQAaIAQgAiAESw0AGiAEIAJwCyIGQQJ0aigCACIBRQ0AIAEoAgAiAUUNACADRQRAIAJBAWshAgNAAkAgBCABKAIEIgNHBEAgAiADcSAGRg0BDAQLIAEoAgggBEYNBAsgASgCACIBDQALDAELA0ACQCAEIAEoAgQiA0cEQCACIANNBH8gAyACcAUgAwsgBkYNAQwDCyABKAIIIARGDQMLIAEoAgAiAQ0ACwsgDkIgiKchBiAAKAIEIgEgACgCCEcEQCABIAY2AgQgASAENgIAIAAgAUEIajYCBAwBCyABIAAoAgAiCWsiAkEDdSINQQFqIgNBgICAgAJPDQVB/////wEgAkECdSIIIAMgAyAISRsgAkH4////B08bIgMEfyADQYCAgIACTw0HIANBA3QQXAVBAAsiCCANQQN0aiICIAY2AgQgAiAENgIAIAJBCGohBCABIAlHBEADQCACQQhrIgIgAUEIayIBKQIANwIAIAEgCUcNAAsgACgCACEBCyAAIAggA0EDdGo2AgggACAENgIEIAAgAjYCACABRQ0AIAEQWgsgB0EIaiIHIAxHDQALCyAAKAIEIgFBCGsoAgAgC0cNAQsLIAVBEGokAA8LEGQACxBqAAu+IgEOfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJA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AiACBEAgAiACKAIEQQFqNgIECyADQQEgAygC4AEiAiACQQBKGzYC4AEgAyADKQPoATcDGCADIAMpA/ABNwMgIAMgAykD+AE3AyggAyADKQPgATcDECADQQEgAygC3AEiAiACQQBKGzYC3AFB1IkLQQA2AgAgAyADKQPYATcDCEGbASADQTBqIAQQAiEEQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBxABqIAUQAiEFQdSJCygCACESQdSJC0EANgIAIBJBAUYNBSADIAMoAqwCIgI2AlwgAyADKAKoAjYCWCACBEAgAiACKAIEQQFqNgIECyADQQA2AnggAyADKQMQNwKEASADIAMpAxg3AowBIAMgAykDIDcClAEgAyADKQMoNwKcASADQgA3AnAgA0H87Ak2AmQgAyADKQMINwJ8QdSJC0EANgIAIAMgATYCaCADIAFBqAFqNgJsQZsBIANBpAFqIAQQAiEBQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBuAFqIAUQAhpB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRwRAIAMgAygCWDYCzAEgAyADKAJcIgE2AtABIAEEQCABIAEoAgRBAWo2AgQLIANBADsB1AEgA0EIahBhIANBAToA1AEgACgCACgCFCEUQdSJC0EANgIAIBQgABAGIQBB1IkLKAIAIRVB1IkLQQA2AgAgFUEBRg0EIAMoAmQoAgghFkHUiQtBADYCACAWIANB5ABqIgEgABADQdSJCygCACEXQdSJC0EANgIAIBdBAUYNBEHUiQtBADYCAEGXASABEApB1IkLKAIAIRhB1IkLQQA2AgAgGEEBRg0EIANB/OwJNgJkIANB/ABqEGEgAygCcCIBBEAgAygCdCIAIAEiAkcEQANAIABBBGsiACgCACECIABBADYCACACBEAgAiACKAIAKAIEEQEACyAAIAFHDQALIAMoAnAhAgsgAyABNgJ0IAIQWgsgA0HYAWoQYQwQCxAAIQAgARBrDAELEAAhAAsgA0HwAGoQ4AEgA0EIahBhDA4LEAAhAAwNCxAAIQAgA0HkAGoQfBoMDAsgACABNgJ8IABBFGohCSABKAIYIgIgASgCHCIERwRAA0AgAigCACIFKAIMRQRAIAkgBUEgahDl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QfDtBUHFmANBlAZBjd4AEAEAC0HFogFBiaIDQbwBQaaIBRABAAtBgYMCQdOZA0G5AkGu9wIQAQALIABByIUBIAJBHGoQWAsgAEHIhQEgAkEYahBYCyAAQciFASACQRRqEFgLIABByIUBIAJBEGoQWA8LIABByIUBIAJBFGoQWAsgAEHIhQEgAkEQahBYCyAAQciFASACQQxqEFgPCyAAQciFASACQShqEFgLIABByIUBIAJBJGoQWA8LIABByIUBIAJBHGoQWCAAQciFASACQRhqEFgPCyAAQciFASACQRRqEFgLIABByIUBIAJBEGoQWAsgAEHIhQEgAkEMahBYCyAAQciFASACQQhqEFgPCyAAQRhqQciFASACQQhqEFsPCyADQciFASACQQxqEFgL8g8BGH8jAEGwAmsiAyQAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIEBEAgACAAKAIAKAIQEQIABEAgAyAAKAIEIgIpAjg3A/gBIAMgAikCMDcD8AEgAyACKQIoNwPoASADIAIpAiA3A+ABIAMgAikCGDcD2AEgA0GAAmogAkFAaxDjASEEQdSJC0EANgIAQZoBIANBlAJqIAJB1ABqEAIhBUHUiQsoAgAhEUHUiQtBADYCACARQQFGDQIgAyACKAJoNgKoAiADIAIoAmwiAjYCrAIgAgRAIAIgAigCBEEBajYCBAsgA0EBIAMoAuABIgIgAkEAShs2AuABIAMgAykD6AE3AxggAyADKQPwATcDICADIAMpA/gBNwMoIAMgAykD4AE3AxAgA0EBIAMoAtwBIgIgAkEAShs2AtwBQdSJC0EANgIAIAMgAykD2AE3AwhBmwEgA0EwaiAEEAIhBEHUiQsoAgAhAkHUiQtBADYCAAJAIAJBAUcEQEHUiQtBADYCAEGaASADQcQAaiAFEAIhBUHUiQsoAgAhEkHUiQtBADYCACASQQFGDQUgAyADKAKsAiICNgJcIAMgAygCqAI2AlggAgRAIAIgAigCBEEBajYCBAsgA0EANgJ4IAMgAykDEDcChAEgAyADKQMYNwKMASADIAMpAyA3ApQBIAMgAykDKDcCnAEgA0IANwJwIANB/OwJNgJkIAMgAykDCDcCfEHUiQtBADYCACADIAE2AmggAyABQagBajYCbEGbASADQaQBaiAEEAIhAUHUiQsoAgAh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NwIYIAIgADYCFCADIAM2AgBB1IkLQQA2AgBBzcEAIAJBnAFqIgAgAkEMaiIBEANB1IkLKAIAIQZB1IkLQQA2AgAgBkEBRg0BQdSJC0EANgIAQZAaIAEgABADQdSJCygCACEHQdSJC0EANgIAIAdBAUYNAyACKAKkASIBBEADQCABKAIAIQggARBaIAgiAQ0ACwsgAigCnAEhACACQQA2ApwBIAAEQCAAEFoLIAJB+OsJNgIMAkAgAigCNEUNACACKAIwIgEoAgAiACACKAIsKAIEIgQ2AgQgBCAANgIAIAJBADYCNCABIANGDQADQCABKAIEIQkgARBaIAkiASADRw0ACwsgAigCICIBBEADQCABKAIAIQogARBaIAoiAQ0ACwsgAigCGCEAIAJBADYCGCAABEAgABBaCyACKAIUIQAgAkEANgIUIABFDQAgABCRAwsgAkGwAWokAA8LEAAhAQwCCyABEHEACxAAIQEgAkGcAWoQogELIAJBDGoQvAUaIAEQBwALQQACQCAAKAIAQSBGBEAgAUUNASAAIAE2AhQPC0GEogZBp7cCQfoZQaaUBRABAAtBzvYBQae3AkH7GUGmlAUQAQALLAAgASgCACIBKAIAQdwARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILLAAgASgCACIBKAIAQdsARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILLAAgASgCACIBKAIAQdoARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILLAAgASgCACIBKAIAQdkARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILLAAgASgCACIBKAIAQdgARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILLAAgASgCACIBKAIAQdcARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILLAAgASgCACIBKAIAQdYARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILLAAgASgCACIBKAIAQdUARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILLAAgASgCACIBKAIAQdQARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILQQACQCAAKAIAQSBGBEAgAUUNASAAIAE2AhAPC0GEogZBp7cCQe4ZQYKVBRABAAtB1PYBQae3AkHvGUGClQUQAQALLAAgASgCACIBKAIAQdMARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILLAAgASgCACIBKAIAQdIARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILLAAgASgCACIBKAIAQdEARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILLAAgASgCACIBKAIAQdAARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILLAAgASgCACIBKAIAQc8ARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILLAAgASgCACIBKAIAQc4ARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILLAAgASgCACIBKAIAQc0ARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILLAAgASgCACIBKAIAQcwARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILLAAgASgCACIBKAIAQcsARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILLAAgASgCACIBKAIAQcoARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILQQACQCAAKAIAQSBGBEAgAUUNASAAIAE2AgwPC0GEogZBp7cCQeIZQYqXBRABAAtB3vYBQae3AkHjGUGKlwUQAQALLAAgASgCACIBKAIAQckARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILLAAgASgCACIBKAIAQcgARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILLAAgASgCACIBKAIAQccARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILLAAgASgCACIBKAIAQcYARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILLAAgASgCACIBKAIAQcUARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILLAAgASgCACIBKAIAQcQARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILLAAgASgCACIBKAIAQcMARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILLAAgASgCACIBKAIAQcIARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILgwMCBX8BfgJAIAEoAgAiAigCAEHBAEYEQAJAIAIoAgwoAgQiAUEBRg0AIAFBB0kNAiABKAIEQQFGBEAgASgCCEF8cUEMRg0BCyABKAIEQQFHDQIgATUCCCACNQIIQiCGhCEHAkAgACgClAEiASAAKAKYAUcEQCABIAc3AgAgACABQQhqNgKUAQwBCwJAIAEgACgCkAEiBmsiAkEDdSIEQQFqIgNBgICAgAJJBEBB/////wEgAkECdSIFIAMgAyAFSRsgAkH4////B08bIgMEfyADQYCAgIACTw0CIANBA3QQXAVBAAsiBSAEQQN0aiICIAc3AgAgAkEIaiEEIAEgBkcEQANAIAJBCGsiAiABQQhrIgEpAgA3AgAgASAGRw0ACyAAKAKQASEBCyAAIAUgA0EDdGo2ApgBIAAgBDYClAEgACACNgKQASABBEAgARBaCwwCCxBkAAsQagALCw8LQfDtBUHFmANBlAZBjd4AEAEAC0G//wVBuLMCQeQHQauJBBABAAssACABKAIAIgEoAgBBwABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCjAgskACAAKAIAQSBHBEBBhKIGQae3AkHSGUHvwwIQAQALIAAoAggLKwAgASgCACIBKAIAQT9HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCjAgsrACABKAIAIgEoAgBBPkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEKMCCysAIAEoAgAiASgCAEE9RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILSwAgASgCACIBKAIAQTxGBEACQCABKAIYKAIEIgFBB0kNACABKAIEQQFHDQAgACABKAIIEP4HCw8LQfDtBUHFmANBlAZBjd4AEAEACysAIAEoAgAiASgCAEE7RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILKwAgASgCACIBKAIAQTpHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCjAgsrACABKAIAIgEoAgBBOUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEKMCCysAIAEoAgAiASgCAEE4RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILKwAgASgCACIBKAIAQShHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCjAgsrACABKAIAIgEoAgBBF0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEKMCCyQAIAAoAgBBIEcEQEGEogZBp7cCQfQZQb6UBRABAAsgACgCFAsrACABKAIAIgEoAgBBFkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEKMCCysAIAEoAgAiASgCAEE3RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILKwAgASgCACIBKAIAQTZHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCjAgsrACABKAIAIgEoAgBBNUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEKMCCysAIAEoAgAiASgCAEE0RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILKwAgASgCACIBKAIAQTNHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCjAgsrACABKAIAIgEoAgBBMkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEKMCCysAIAEoAgAiASgCAEExRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILKwAgASgCACIBKAIAQTBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCjAgsrACABKAIAIgEoAgBBL0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEKMCCyQAIAAoAgBBIEcEQEGEogZBp7cCQegZQZqVBRABAAsgACgCEAsrACABKAIAIgEoAgBBLkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEKMCCysAIAEoAgAiASgCAEEtRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILKwAgASgCACIBKAIAQSxHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCjAguoAgIFfwF+IAEoAgAiASgCAEErRwRAQfDtBUHFmANBlAZBjd4AEAEACyABKQIIIQcCQCAAKAKIASIBIAAoAowBRwRAIAEgBzcCACAAIAFBCGo2AogBDAELAkAgASAAKAKEASIGayICQQN1IgRBAWoiA0GAgICAAkkEQEH/////ASACQQJ1IgUgAyADIAVJGyACQfj///8HTxsiAwR/IANBgICAgAJPDQIgA0EDdBBcBUEACyIFIARBA3RqIgIgBzcCACACQQhqIQQgASAGRwRAA0AgAkEIayICIAFBCGsiASkCADcCACABIAZHDQALIAAoAoQBIQELIAAgBSADQQN0ajYCjAEgACAENgKIASAAIAI2AoQBIAEEQCABEFoLDAILEGQACxBqAAsLKwAgASgCACIBKAIAQSpHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCjAgsrACABKAIAIgEoAgBBKUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEKMCCysAIAEoAgAiASgCAEEVRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILKwAgASgCACIBKAIAQRRHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCjAgsrACABKAIAIgEoAgBBE0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEKMCCysAIAEoAgAiASgCAEESRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILJAAgACgCAEEgRwRAQYSiBkGntwJB3BlBopcFEAEACyAAKAIMCysAIAEoAgAiASgCAEERRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILKwAgASgCACIBKAIAQRBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCjAgsrACABKAIAIgEoAgBBD0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEKMCCysAIAEoAgAiASgCAEEORwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILKwAgASgCACIBKAIAQSdHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCjAgsrACABKAIAIgEoAgBBJkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEKMCCysAIAEoAgAiASgCAEElRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILKwAgASgCACIBKAIAQSRHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCjAgsrACABKAIAIgEoAgBBI0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEKMCCysAIAEoAgAiASgCAEEiRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILigEAIABBqAFqQRhBBBBdIgAgBDYCFCAAIAM2AhAgACACNgIMIAAgATYCCCAAQiA3AgACQCACRQ0AIANFDQAgBEUNACAAQQY2AgQCQAJAIAIoAgRBAUYNACADKAIEQQFGDQAgBCgCBEEBRw0BCyAAQQE2AgQLIAAPC0Hd6wRBpKQCQaEDQbLDAxABAAsrACABKAIAIgEoAgBBIUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEKMCCysAIAEoAgAiASgCAEEgRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILKwAgASgCACIBKAIAQR9HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCjAgsrACABKAIAIgEoAgBBHkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEKMCCysAIAEoAgAiASgCAEEdRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILKwAgASgCACIBKAIAQRxHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCjAgsrACABKAIAIgEoAgBBG0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEKMCCysAIAEoAgAiASgCAEEaRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILKwAgASgCACIBKAIAQRlHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCjAgsrACABKAIAIgEoAgBBGEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEKMCC0EAAkAgACgCAEEfRgRAIAFFDQEgACABNgIMDwtBrLEGQae3AkG9GUGw9AAQAQALQdD0AUGntwJBvhlBsPQAEAEACysAIAEoAgAiASgCAEENRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILKwAgASgCACIBKAIAQQxHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCjAgsrACABKAIAIgEoAgBBC0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEKMCCysAIAEoAgAiASgCAEEKRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILKwAgASgCACIBKAIAQQlHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCjAgsrACABKAIAIgEoAgBBCEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEKMCCysAIAEoAgAiASgCAEEHRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQpQ0LKwAgASgCACIBKAIAQQZHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARDjCQsrACABKAIAIgEoAgBBBUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEKMCCysAIAEoAgAiASgCAEEERwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILTgACQCAAKAIAQR9GBEAgAUUNASAAIAEpAAA3ABAgACABKQAINwAYDwtBrLEGQae3AkHKGUG39wIQAQALQafxBEGntwJByxlBt/cCEAEACwUAQYwBCysAIAEoAgAiASgCAEEDRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQowILKwAgASgCACIBKAIAQQJHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCjAgsrACABKAIAIgEoAgBBAUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEKMCC90eAQ5/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgASgCACICKAIADl4AAQIDBAUGBwgJCgsMDR4fICEiIyQlNTYODxAREhMUFRYXGBkaGxwdNyYnKCkqKywtLi8wMTIzNDg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaW1wAXQtBmP0DQeWzA0HqARBiAAsgAEHphAEgARBYIAIoAgBBAUcNXCACKAIUIgFBAEwNWyAAQQRqIQQDQCABQQFrIgAgAigCFE8NXiACKAIQIABBAnRqIgMoAgBFDV8gBEHohAEgAxBbIAFBAUshBiAAIQEgBg0ACwxbCyAAQeqEASABEFggAigCAEECRw1bIAIoAhAEQCAAQQRqQeiEASACQRBqEFsLDGALIABB64QBIAEQWCACKAIAQQNHDVoMYwsgAEHshAEgARBYIAIoAgBBBEcNWSACKAIUBEAgAEEEakHohAEgAkEU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BCAFSxtJDQMgAygCDCEEIAAoAnAhAQsgACgCaCEFIAIgAS0AIDoA9AEgAiABLQAhOgD1ASACIAEoAlA2AvgBIAIgASgCVCIBNgL8ASABBEAgASABKAIEQQFqNgIECyACIAU2AoACIAUoAoQBIQEgAkGQAmoiBUIANwIAIAJBnAJqIgZCADcCACACQagCaiIHQgA3AgAgAkG0AmoiCEIANwIAIAJB2AJqIglCADcCACACQgA3AsQCIAJCADcBygIgAkHkAmoiCkIANwIAIAJBADsBiAIgAiABNgKEAiACIAU2AowCIAIgBjYCmAIgAiAHNgKkAiACIAg2ArACIAJCADcCvAIgAiAJNgLUAiACIAo2AuACIAIgBDYCBCACQgA3AtQBIAJCADcC3AEgAkEANgLkAUHUiQtBADYCACACQgA3AnwgAiACQfQBajYC6AFBxwAgAkH8AGogAkEEahADQdSJCygCACEBQdSJC0EANgIAAkACQCABQQFHBEAgAigC1AEiAQRAIAIgATYC2AEgARBaCyACKALIAgRAQdSJC0EANgIAQQ1BkckFQfaKA0HECEGm0QAQBUHUiQsoAgAhC0HUiQtBADYCACALQQFGDQIMBwsgAi0A9AEEQCACQQA6AMUCDAULIAItAMUCRQ0EIAJBAToAxAIMBAsQACEBIAIoAtQBIgBFDQEgAiAANgLYASAAEFoMAQsQACEBCwwEC0Hw7QVBxZgDQZQGQY3eABABAAtBACEBAkAgAi0AxAINACACKAKgAg0AIAItANACDQAgAigCuAINACACLQC9Ag0AIAItAL8CDQAgAi0AwQINACACLQDDAg0AIAItAMYCDQAgAi0AiQINACACLQDHAg0AIAIoAugCDQAgAi0AiAINACACKALcAg0AIAItANECDQAgAygCECEFIAAoAmghBCACIAAoAnAiAS0AIDoAfCACIAEtACE6AH0gAiABKAJQNgKAASACIAEoAlQiATYChAEgAQRAIAEgASgCBEEBajYCBAsgAiAENgKIASAEKAKEASEBIAJBmAFqIgRCADcCACACQaQBaiIGQgA3AgAgAkGwAWoiB0IANwIAIAJBvAFqIghCADcCACACQeABaiIJQgA3AgAgAkIANwLMASACQgA3AdIBIAJB7AFqIgpCADcCACACQQA7AZABIAIgATYCjAEgAiAE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SgsgAEH+gQEgARBYIAIoAgBBJUYNQQxCCyAAQf+BASABEFggAigCAEEmRw1BDEULIABBgIIBIAEQWCACKAIAQSdHDUAMRAsgAEGBggEgARBYIAIoAgBBDkYNPgw/CyAAQYKCASABEFggAigCAEEPRw0+DEoLIABBg4IBIAEQWCACKAIAQRBHDT0MSAsgAEGEggEgARBYIAIoAgBBEUcNPAxACyAAQYWCASABEFggAigCAEESRw07DEsLIABBhoIBIAEQWCACKAIAQRNHDTogAigCCEUNOQxLCyAAQYeCASABEFggAigCAEEURg04DDkLIABBiIIBIAEQWCACKAIAQRVHDTgMSAsgAEGJggEgARBYIAIoAgBBKUYNNgw3CyAAQYqCASABEFggAigCAEEqRw02DEYLIABBi4IBIAEQWCACKAIAQStGDTQMNQsgAEGMggEgARBYIAIoAgBBLEcNNAw5CyAAQY2CASABEFggAigCAEEtRw0zDDwLIABBjoIBIAEQWCACKAIAQS5HDTIMOgsgAEGPggEgARBYIAIoAgBBL0YNMAwxCyAAQZCCASABEFggAigCAEEwRw0wDDgLIABBkYIBIAEQWCACKAIAQTFHDS8MNgsgAEGSggEgARBYIAIoAgBBMkcNLgwyCyAAQZOCASABEFggAigCAEEzRw0tIAIoAigiAUEASgRAIABBBGohAwNAIAFBAWsiBCACKAIoTw0wIAIoAiQgBEECdGoiBSgCAEUNMSADQaWAASAFEFsgAUEBSyEJIAQhASAJDQALCww2CyAAQZSCASABEFggAigCAEE0RgRADD0LDCwLIABBlYIBIAEQWCACKAIAQTVHDSsgAigCFCIBQQBMDSogAEEEaiEEA0AgAUEBayIAIAIoAhRPDS0gAigCECAAQQJ0aiIDKAIARQ0uIARBpYABIAMQWyABQQFLIQogACEBIAoNAAsMKgsgAEGWggEgARBYIAIoAgBBNkYNKQwqCyAAQZeCASABEFggAigCAEE3Rw0pDDkLIABBmIIBIAEQWCACKAIAQRZGDScMKAsgAEGZggEgARBYIAIoAgBBF0YNJgwnCyAAQZqCASABEFggAigCAEEoRg0lDCYLIABBm4IBIAEQWCACKAIAQThHDSUgAigCDCIBQQBMDSQgAEEEaiEEA0AgAUEBayIAIAIoAgxPDScg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UQxZCyADQc6CASABEFggAigCAEEMRw1QDF0LIANBz4IBIAEQWCACKAIAQQ1HDU8MWwsgA0HQggEgARBYIAIoAgBBGEcNTgxcCyADQdGCASABEFggAigCAEEZRw1NIANBo4ABIAJBIGoQWAxbCyADQdKCASABEFggAigCAEEaRw1MDFILIANB04IBIAEQWCACKAIAQRtHDUsMUgsgA0HUggEgARBYIAIoAgBBHEYNWwxKCyADQdWCASABEFggAigCAEEdRw1JDFQLIANB1oIBIAEQWCACKAIAQR5HDUggA0GjgAEgAkEUahBYDFMLIANB14IBIAEQWCACKAIAQR9HDUcMSwsgA0HYggEgARBYIAIoAgBBIEcNRgxPCyADQdmCASABEFggAigCAEEhRw1FDE8LIANB2oIBIAEQWCACKAIAQSJHDUQgA0GjgAEgAkEgahBYDFULIANB24IBIAEQWCACKAIAQSNHDUMMTwsgA0HcggEgARBYIAIoAgBBJEcNQgxICyADQd2CASABEFggAigCAEElRg1SDEELIANB3oIBIAEQWCACKAIAQSZHDUAMQwsgA0HfggEgARBYIAIoAgBBJ0cNPwxCCyADQeCCASABEFggAigCAEEORg1PDD4LIANB4YIBIAEQWCACKAIAQQ9HDT0MSAsgA0HiggEgARBYIAIoAgBBEEcNPAxGCyADQeOCASABEFggAigCAEERRw07DD4LIANB5IIBIAEQWCACKAIAQRJHDToMSQsgA0HlggEgARBYIAIoAgBBE0cNOQxJCyADQeaCASABEFggAigCAEEURg1JDDgLIANB54IBIAEQWCACKAIAQRVHDTcMRgsgA0HoggEgARBYIAIoAgBBKUYNRww2CyADQemCASABEFggAigCAEEqRw01DEQLIANB6oIBIAEQWCACKAIAQStGDUUMNAsgA0HrggEgARBYIAIoAgBBLEcNMww3CyADQeyCASABEFggAigCAEEtRw0yDDoLIANB7YIBIAEQWCACKAIAQS5HDTEMOAsgA0HuggEgARBYIAIoAgBBL0YNQQwwCyADQe+CASABEFggAigCAEEwRw0vDDYLIANB8IIBIAEQWCACKAIAQTFHDS4MNAsgA0HxggEgARBYIAIoAgBBMkcNLQwwCyADQfKCASABEFggAigCAEEzRw0sIAIoAigiAEEA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Rw0LIAIoAhQEQCAAQQRqQaGAASACQRRqEFsLDBYLIABB2IEBIAEQWCACKAIAQdMARw0KDA8LIABB2YEBIAEQWCACKAIAQdQARw0JDBQLIABB2oEBIAEQWCACKAIAQdUARw0IDBQLIABB24EBIAEQWCACKAIAQdYARw0HDAsLIABB3IEBIAEQWCACKAIAQdcARw0GDAsLIABB3YEBIAEQWCACKAIAQdgARw0FDBULIABB3oEBIAEQWCACKAIAQdkARw0EDA8LIABB34EBIAEQWCACKAIAQdoARw0DDA0LIABB4IEBIAEQWCACKAIAQdsARw0CDAcLIABB4YEBIAEQWCACKAIAQdwARw0BIABBoYABIAJBPGoQWCACKAIwIgFBAEwNACAAQQRqIQQDQCABQQFrIgAgAigCME8NAyACKAIsIABBAnRqIgMoAgBFDQQgBEGhgAEgAxBbIAFBAUshDyAAIQEgDw0ACwsPC0Hw7QVBxZgDQZQGQY3eABABAAtBxaIBQYmiA0G8AUGmiAUQAQALQYGDAkHTmQNBuQJBrvcCEAEACyAAQaGAASACQRRqEFgLIABBoYABIAJBEGoQWAsgAEGhgAEgAkEMahBYDAoLIABBoYABIAJBHGoQWAsgAEGhgAEgAkEYahBYCyAAQaGAASACQRRqEFgLIABBoYABIAJBEGoQWA8LIABBoYABIAJBFGoQWAsgAEGhgAEgAkEQahBYCyAAQaGAASACQQxqEFgPCyAAQaGAASACQShqEFgLIABBoYABIAJBJGoQWA8LIABBoYABIAJBHGoQWCAAQaGAASACQRhqEFgPCyAAQaGAASACQQhqEFgPCyAAQQRqQaGAASACQQhqEFsL3R4BDn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAIgIoAgAOXgABAgME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ACACQRhqEFgLIABBv/8AIAJBFGoQWAsgAEG//wAgAkEQahBYDwsgAEG//wAgAkEUahBYCyAAQb//ACACQRBqEFgLIABBv/8AIAJBDGoQWA8LIABBv/8AIAJBKGoQWAsgAEG//wAgAkEkahBYDwsgAEG//wAgAkEcahBYIABBv/8AIAJBGGoQWA8LIABBv/8AIAJBFGoQWAsgAEG//wAgAkEQahBYCyAAQb//ACACQQxqEFgLIABBv/8AIAJBCGoQWA8LIABBGGpBv/8AIAJBCGoQWw8LIANBv/8AIAJBDGoQWAvyDwEYfyMAQbACayIDJAACQAJAAkACQAJAAkACQAJAAkACQAJAIAAoAgQEQCAAIAAoAgAoAhARAgAEQCADIAAoAgQiAikCODcD+AEgAyACKQIwNwPwASADIAIpAig3A+gBIAMgAikCIDcD4AEgAyACKQIYNwPYASADQYACaiACQUBrEOMBIQRB1IkLQQA2AgBBmgEgA0GUAmogAkHUAGoQAiEFQdSJCygCACERQdSJC0EANgIAIBFBAUYNAiADIAIoAmg2AqgCIAMgAigCbCICNgKsAiACBEAgAiACKAIEQQFqNgIECyADQQEgAygC4AEiAiACQQBKGzYC4AEgAyADKQPoATcDGCADIAMpA/ABNwMgIAMgAykD+AE3AyggAyADKQPgATcDECADQQEgAygC3AEiAiACQQBKGzYC3AFB1IkLQQA2AgAgAyADKQPYATcDCEGbASADQTBqIAQQAiEEQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBxABqIAUQAiEFQdSJCygCACESQdSJC0EANgIAIBJBAUYNBSADIAMoAqwCIgI2AlwgAyADKAKoAjYCWCACBEAgAiACKAIEQQFqNgIECyADQQA2AnggAyADKQMQNwKEASADIAMpAxg3AowBIAMgAykDIDcClAEgAyADKQMoNwKcASADQgA3AnAgA0H87Ak2AmQgAyADKQMINwJ8QdSJC0EANgIAIAMgATYCaCADIAFBqAFqNgJsQZsBIANBpAFqIAQQAiEBQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBuAFqIAUQAhpB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRwRAIAMgAygCWDYC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YSAAEAcAC7cFAQl/IwBBEGsiByQAIAAoAqABIQhBPBBcIgFCADcCACABQQA2AjggAUIANwIwIAFCADcCKCABQgA3AiAgAUIANwIYIAFCADcCECABQgA3AgggACABNgKgAUHUiQtBADYCACAHIAE2AgxBi/0AIABBiAFqIAdBDGoiARADQdSJCygCACECQdSJC0EANgIAAkACQCACQQFHBEAgARC5AhogACgCoAEhBAJAIAAoApgBIgEgACgCnAFHBEAgASAENgIAIAAgAUEEajYCmAEMAQsgASAAKAKUASIFayICQQJ1IgZBAWoiA0GAgICABE8NAkH/////AyACQQF1IgkgAyADIAlJGyACQfz///8HTxsiAwR/IANBgICAgARPDQQgA0ECdBBcBUEACyIJIAZBAnRqIgIgBDYCACACQQRqIQQgASAFRwRAA0AgAkEEayICIAFBBGsiASgCADYCACABIAVHDQALIAAoApQBIQELIAAgCSADQQJ0ajYCnAEgACAENgKYASAAIAI2ApQBIAFFDQAgARBaCyAIIAAoAqABEKsCIAAoAqABIQQCQCAAKALAASIBIAAoAsQBRwRAIAEgBDYCACAAIAFBBGo2AsABDAELIAEgACgCvAEiBWsiAkECdSIIQQFqIgNBgICAgARPDQJB/////wMgAkEBdSIGIAMgAyAGSRsgAkH8////B08bIgMEfyADQYCAgIAETw0EIANBAnQQXAVBAAsiBiAIQQJ0aiICIAQ2AgAgAkEEaiEEIAEgBUcEQANAIAJBBGsiAiABQQRrIgEoAgA2AgAgASAFRw0ACyAAKAK8ASEBCyAAIAYgA0ECdGo2AsQBIAAgBDYCwAEgACACNgK8ASABRQ0AIAEQWgsgB0EQaiQADwsQACEKIAdBDGoQuQIaIAoQBwALEGQACxBqAAupBwIWfwF+IwBBEGsiAyQAIAEoAgAhCUHUiQtBADYCACADIANBBGoiCjYCACADQgA3AgRBzx0gCSADEANB1IkLKAIAIQ5B1IkLQQA2AgAgDkEBRgRAEAAhDyADKAIEEGAgDxAHAAsCQAJAAkAgCiADKAIAIgRHBEAgAEGkAWohDANAIAQpAhAhGEHUiQtBADYCAEGi/QAgDCAYELgCIQVB1IkLKAIAIRBB1IkLQQA2AgAgEEEBRg0CIAAoAqABIQgCQCAF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IAAoAvwBIgIgACgCgAIiBEkEQCACQQA2AgAgACACQQRqNgL8AQwBCyACIAAoAvgBIgVrQQJ1IgdBAWoiA0GAgICABE8NAkEAIQFB/////wMgBCAFayIEQQF1IgYgAyADIAZJGyAEQfz///8HTxsiBARAIARBgICAgARPDQIgBEECdBBcIQELIAEgB0ECdGoiA0EANgIAIANBBGohByACIAVHBEADQCADQQRrIgMgAkEEayICKAIANgIAIAIgBUcNAAsLIAAgASAEQQJ0ajYCgAIgACAHNgL8ASAAIAM2AvgBIAVFDQAgBRBaCyAJQRBqJAAPCxBqAAsQZAALxwIBBH8jAEEQayIDJABBPBBcIgFCADcCACABQQA2AjggAUIANwIwIAFCADcCKCABQgA3AiAgAUIANwIYIAFCADcCECABQgA3AgggACABNgKgAUHUiQtBADYCACADIAE2AgxBi/0AIABBiAFqIANBDGoiARADQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAIAEQuQIaIAAoAvABQQxrIgIoAgAiASACKAIEIgJGDQEDQCABKAIAIAAoAqABEKsCIAFBBGoiASACRw0ACwwBCxAAIQUgA0EMahC5AhogBRAHAAsgACgCzAFBBGsoAgAgACgCoAEQqwIgACAAKALMAUEEazYCzAEgACgC8AEiAkEMayIEKAIAIgEEQCACQQhrIAE2AgAgARBaCyAAIAQ2AvABIAAgACgC/AFBBGs2AvwBIANBEGokAAvjAQEGfyMAQRBrIgIkACAAEIYKAkACQCAAKALUASAAKALYAUYEQCAALQCUAg0BCyAAKAKgASEGQTwQXCIBQgA3AgAgAUEANgI4IAFCADcCMCABQgA3AiggAUIANwIgIAFCADcCGCABQgA3AhAgAUIANwIIIAAgATYCoAFB1IkLQQA2AgAgAiABNgIMQYv9ACAAQYgBaiACQQxqIgEQA0HUiQsoAgAhBUHUiQtBADYCACAFQQFGDQEgARC5AhogBiAAKAKgARCrAgsgAkEQaiQADwsQACEHIAJBDGoQuQIaIAcQBwALzwIBBn8jAEEQayIDJAAgACgCoAEhBEE8EFwiAkIANwIAIAJBADYCOCACQgA3AjAgAkIANwIoIAJCADcCICACQgA3AhggAkIANwIQIAJCADcCCCAAIAI2AqABQdSJC0EANgIAIAMgAjYCDEGL/QAgAEGIAWogA0EMaiICEANB1IkLKAIAIQVB1IkLQQA2AgACQCAFQQFHBEAgAhC5AhogBCAAKAKgARCrAiABKAIAIgEoAgBBA0cNASABKAIIBEAgACgCwAFBBGsoAgAhBCAAQaQBaiIFIAEpAggQgAUiBigCACICIAYoAgQiBkcEQANAIAIoAgAgBBCrAiACQQRqIgIgBkcNAAsLIAUgASkCCBDnAwsgACAAKALAAUEEazYCwAEgA0EQaiQADwsQACEHIANBDGoQuQIaIAcQBwALQfDtBUHFmANBlAZBjd4AEAEAC7oDAQh/IwBBEGsiBSQAIAAoAqABIQRBPBBcIgFCADcCACABQQA2AjggAUIANwIwIAFCADcCKCABQgA3AiAgAUIANwIYIAFCADcCECABQgA3AgggACABNgKgAUHUiQtBADYCACAFIAE2AgxBi/0AIABBiAFqIAVBDGoiARADQdSJCygCACECQdSJC0EANgIAAkACQCACQQFHBEAgARC5AhogBCAAKAKgARCrAgJAIAAoArQBIgEgACgCuAFHBEAgASAENgIAIAAgAUEEajYCtAEMAQsgASAAKAKwASIHayICQQJ1IghBAWoiA0GAgICABE8NAkH/////AyACQQF1IgYgAyADIAZJGyACQfz///8HTxsiAwR/IANBgICAgARPDQQgA0ECdBBcBUEACyIGIAhBAnRqIgIgBDYCACACQQRqIQQgASAHRwRAA0AgAkEEayICIAFBBGsiASgCADYCACABIAdHDQALIAAoArABIQELIAAgBiADQQJ0ajYCuAEgACAENgK0ASAAIAI2ArABIAFFDQAgARBaCyAFQRBqJAAPCxAAIQkgBUEMahC5AhogCRAHAAsQZAALEGoAC9ADAQp/IwBBEGsiBSQAIAAoAqABIQICQAJAAkACQCAAKAK0ASIBIAAoArgBRwRAIAEgAjYCACAAIAFBBGoiAjYCtAEMAQsgASAAKAKwASIHayIDQQJ1IghBAWoiBEGAgICABE8NAUH/////AyADQQF1IgYgBCAEIAZJGyADQfz///8HTxsiBAR/IARBgICAgARPDQMgBEECdBBcBUEACyIGIAhBAnRqIgMgAjYCACADQQRqIQIgASAHRwRAA0AgA0EEayIDIAFBBGsiASgCADYC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C0EANgIAIBFBAUYNAiADIAIoAmg2AqgCIAMgAigCbCICNgKsAiACBEAgAiACKAIEQQFqNgIECyADQQEgAygC4AEiAiACQQBKGzYC4AEgAyADKQPoATcDGCADIAMpA/ABNwMgIAMgAykD+AE3AyggAyADKQPgATcDECADQQEgAygC3AEiAiACQQBKGzYC3AFB1IkLQQA2AgAgAyADKQPYATcDCEGbASADQTBqIAQQAiEEQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBxABqIAUQAiEFQdSJCygCACESQdSJC0EANgIAIBJBAUYNBSADIAMoAqwCIgI2AlwgAyADKAKoAjYCWCACBEAgAiACKAIEQQFqNgIECyADQQA2AnggAyADKQMQNwKEASADIAMpAxg3AowBIAMgAykDIDcClAEgAyADKQMoNwKcASADQgA3AnAgA0H87Ak2AmQgAyADKQMINwJ8QdSJC0EANgIAIAMgATYCaCADIAFBqAFqNgJsQZsBIANBpAFqIAQQAiEBQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBuAFqIAUQAhpB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRwRAIAMgAygCWDYCzAEgAyADKAJcIgE2AtABIAEEQCABIAEoAgRBAWo2AgQLIANBADsB1AEgA0EIahBhIANBAToA1AEgACgCACgCFCEUQdSJC0EANgIAIBQgABAGIQBB1IkLKAIAIRVB1IkLQQA2AgAgFUEBRg0EIAMoAmQoAgghFkHUiQtBADYCACAWIANB5ABqIgEgABADQdSJCygCACEXQdSJC0EANgIAIBdBAUYNBEHUiQtBADYCAEGXASABEApB1IkLKAIAIRhB1IkLQQA2AgAgGEEBRg0EIANB/OwJNgJkIANB/ABqEGEgAygCcCIBBEAgAygCdCIAIAEiAkcEQANAIABBBGsiACgCACECIABBADYCACACBEAgAiACKAIAKAIEEQEACyAAIAFHDQALIAMoAnAhAgsgAyABNgJ0IAIQWgsgA0HYAWoQYQwQCxAAIQAgARBrDAELEAAhAAsgA0HwAGoQ4AEgA0EIahBhDA4LEAAhAAwNCxAAIQAgA0HkAGoQfBoMDAsgACABNgJ8IABBFGohCSABKAIY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IABBkfoAIAJBGGoQWA8LIABBkfoAIAJBCGoQWA8LIABBBGpBkfoAIAJBCGoQWwu0AgEDfwJAAkACQEEAIAAoAgRrIAAoAlwgACgCWGtBA3VGBEAgASgCAEUNASAAQQRqQZH6ACABEFtBACAAKAIEIgJrIAAoAlwiASAAKAJYIgNrQQN1RwRAIABBCGohBANAAkAgASADRgRAIAJFDQYgBCACQQFrIgJBA3RqIgMoAgQhASADKAIAIQMgACACNgIEDAELIAFBCGsiAigCACEDIAIoAgQhASAAIAI2AlwLIAAgATYCACABKAIARQ0FIAAgASADEQAAQQAgACgCBCICayAAKAJcIgEgACgCWCIDa0EDdUcNAAsLDwtBzcoFQdOZA0HIAkHQ+AIQAQALQYGDAkHTmQNBuQJBrvcCEAEAC0HexAVBsJQDQdoAQf37AhABAAtB9YICQdOZA0HNAkHQ+AIQAQALJwAgACgCAEEiRwRAQdqzBkGntwJBsxpBpf0AEAEACyAAIAGtNwMQC9IHAQZ/IwBBgAFrIgMkAAJAAkAgASgCACIAKAIMBEAgAkEAOgAsDAELIAAoAjAhASADQQA2AgggA0IANwIAIAMgATYCfCADQgA3AmQgA0IANwJsIANBADYCdEHUiQtBADYCACADQgA3AgwgAyADNgJ4QeAGIANBDGogA0H8AGoQA0HUiQsoAgAhAUHUiQtBADYCAAJAAkACQAJAAkAgAUEBRwRAIAMoAmQiAQRAIAMgATYCaCABEFoLIAIoAgAiAQRAIAIgATYCBCABEFogAkEANgIIIAJCADcCAAsgAiADKAIANgIAIAIgAygCBDYCBCACIAMoAgg2AgggACgCMCEBIANBADYCCCADQgA3AgAgAyABNgJ8IANCADcCZCADQgA3AmwgA0EANgJ0QdSJC0EANgIAIANCADcCDCADIAM2AnhBkDMgA0EMaiADQfwAahADQdSJCygCACEGQdSJC0EANgIAIAZBAUYNASADKAJkIgEEQCADIAE2AmggARBaCyACKAIMIgEEQCACIAE2AhAgARBaIAJBADYCFCACQgA3AgwLIAIgAygCADYCDCACIAMoAgQ2AhAgAiADKAIINgIUIANBDGogABDpDyACKAIkBEAgAigCICIBBEADQCABKAIAIQcgARBaIAciAQ0ACwtBACEBIAJBADYCIAJAIAIoAhwiAEUNACAAQQRPBEAgAEF8cSEFA0AgAUECdCIEIAIoAhhqQQA2AgAgAigCGCAEakEANgIEIAIoAhggBGpBADYCCCACKAIYIARqQQA2AgwgAUEEaiIBIAVHDQALCyAAQQNxIgRFDQBBACEAA0AgAigCGCABQQJ0akEANgIAIAFBAWohASAAQQFqIgAgBEcNAAsLIAJBADYCJAsgAygCDCEBIANBADYCDCACKAIYIQAgAiABNgIYIAAEQCAAEFoLIAIgAygCECIANgIcIANBADYCECACIAMoAhgiBDYCJCACIAMqAhw4AiggAkEgaiIFIAMoAhQiATYCACAERQ0EIAEoAgQhASAAIABBAWsiBHENAiABIARxIQEMAwsQACECIAMoAmQiAEUNBiADIAA2AmggABBaDAYLEAAhAiADKAJkIgBFDQUgAyAANgJoIAAQWgwFCyAAIAFLDQAgASAAcCEBCyACKAIYIAFBAnRqIAU2AgAgA0IANwIUDAELIAFFDQADQCABKAIAIQggARBaIAgiAQ0ACwsgAygCDCEAIANBADYCDCAARQ0AIAAQWgsgA0GAAWokAA8LIAMoAgAiAARAIAMgADYCBCAAEFoLIAIQBwALCwAgAUGQjAg2AgALEQBBCBBcIgBBkIwINgIAIAALzwQBDn8jAEEgayIDJAAgACgChAEhBCAAKAKAASEFQaABEFwhAgJAAkACQAJAAkAgACgCmAEiAUUEQEEAIQAMAQsgAEGIAWoiACABRgRAIAMgA0EIaiIBNgIYIAAoAgAoAgwhB0HUiQtBADYCACAHIAAgARADQdSJCygCACEIQdSJC0EANgIAIAhBAUYNAyADKAIYIQAMAgsgASgCACgCCCEJQdSJC0EANgIAIAkgARAGIQBB1IkLKAIAIQpB1IkLQQA2AgAgCkEBRg0CCyADIAA2AhgLIAJCADcCbCACQgA3AgQgAiAENgKEASACIAU2AoABIAJBtIwINgIAQQAhASACQQA2AnwgAkIANwJ0IAJCADcCDCACQgA3AhQCQCAABEAgA0EIaiIBIABGBEAgAiACQYgBaiIANgKYASADKAIIKAIMIQtB1IkLQQA2AgAgCyABIAAQA0HUiQsoAgAhDEHUiQtBADYCACAMQQFHDQIMBAsgACgCACgCCCENQdSJC0EANgIAIA0gABAGIQFB1IkLKAIAIQ5B1IkLQQA2AgAgDkEBRg0DCyACIAE2ApgBCwJAAkAgAygCGCIAIANBCGoiBEYEQEEEIQEgBCEADAELQQUhASAARQ0BCyAAIAAoAgAgAUECdGooAgARAQALIANBIGokACACDwsQACEADAELEAAhACACEOQBGgJAIAMoAhgiASADQQhqIgRGBEBBBCEDIAQhAQwBC0EFIQMgAUUNAQsgASABKAIAIANBAnRqKAIAEQEACyACEFogABAHAAvHAQEDfyMAQRBrIgMkAAJAIAAoAgQEQCAAIAI2AnggACABNgJ8AkAgACgChAEiBCgCBCIBBEADQCACIAEoAhAiBU8EfyACIAVNDQMgAUEEagUgAQsoAgAiAQ0ACwtB898FQdORA0GtAkGJ1AIQAQALIAQgAhC6DSEEIAAoApgBIQEgAyACNgIMIAFFDQEgASADQQxqIAQgASgCACgCGBEDACAAQgA3AnggA0EQaiQADwtB6PoFQbqLA0GcBEHu0wIQAQALEOcCAAu+IgEOfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgASgCACICKAIADl4AAQIDBAUGBwgJCgsMDR4fICEiIyQlNTYODxAREhMUFRYXGBkaGxwdNyYnKCkqKywtLi8wMTIzNDg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaW1wAXQtBmP0DQeWzA0HqARBiAAsgAEEUakG1+QAgARBYIAIoAgBBAUcNXCACKAIUIgFBAEwNWyAAQRhqIQMDQCABQQFrIgAgAigCFE8NXiACKAIQIABBAnRqIgQoAgBFDV8gA0G0+QAgBBBbIAFBAUshBiAAIQEgBg0ACwxbCyAAQRRqIgNBtvkAIAEQWCACKAIAQQJHDVsgAigCEARAIABBGGpBtPkAIAJBEGoQWwsgA0G0+QAgAkEMahBYIANBtPkAIAJBCGoQWA8LIABBFGoiAEG3+QAgARBYIAIoAgBBA0cNWgxgCyAAQRRqQbj5ACABEFggAigCAEEERw1ZIAIoAhQEQCAAQRhqQbT5ACACQRRqEFsLIAIoAhBFDVggAEEYakG0+QAgAkEQahBbDwsgAEEUaiIDQbn5ACABEFggAigCAEEFRw1YIANBtPkAIAJBJGoQWCACKAIgRQ1XIABBGGpBtPkAIAJBIGoQWw8LIABBFGpBuvkAIAEQWCACKAIAQQZHDVcgAigCDCIBQQBMDVYgAEEYaiEDA0AgAUEBayIAIAIoAgxPDVkgAigCCCAAQQJ0aiIEKAIARQ1aIANBtPkAIAQQWyABQQFLIQcgACEBIAcNAAsMVgsgAEEUaiIDQbv5ACABEFggAigCAEEHRw1WIANBtPkAIAJBHGoQWCACKAIQIgFBAEwNVSAAQRhqIQMDQCABQQFrIgAgAigCEE8NWCACKAIMIABBAnRqIgQoAgBFDVkgA0G0+QAgBBBbIAFBAUshCCAAIQEgCA0ACwxVCyAAQRRqQbz5ACABEFggAigCAEEIRg1UDFULIABBFGoiAEG9+QAgARBYIAIoAgBBCUcNVAxdCyAAQRRqQb75ACABEFggAigCAEEKRg1SDFMLIABBFGoiAEG/+QAgARBYIAIoAgBBC0cNUgxYCyAAQRRqIgBBwPkAIAEQWCACKAIAQQxHDVEMXAsgAEEUaiIAQcH5ACABEFggAigCAEENRw1QDFoLIABBFGoiAEHC+QAgARBYIAIoAgBBGEcNTwxbCyAAQRRqIgBBw/kAIAEQWCACKAIAQRlHDU4gAEG0+QAgAkEgahBYDFoLIABBFGoiAEHE+QAgARBYIAIoAgBBGkcNTQxRCyAAQRRqIgBBxfkAIAEQWCACKAIAQRtHDUwMUQsgAEEUakHG+QAgARBYIAIoAgBBHEYNSgxLCyAAQRRqIgBBx/kAIAEQWCACKAIAQR1HDUoMUwsgAEEUaiIAQcj5ACABEFggAigCAEEeRw1JIABBtPkAIAJBFGoQWAxSCyAAQRRqIgBByfkAIAEQWCACKAIAQR9HDUgMVwsgAEEUaiIAQcr5ACABEFggAigCAEEgRw1HDE4LIABBFGoiAEHL+QAgARBYIAIoAgBBIUcNRgxOCyAAQRRqIgBBzPkAIAEQWCACKAIAQSJHDUUgAEG0+QAgAkEgahBYDwsgAEEUaiIAQc35ACABEFggAigCAEEjRw1EDE4LIABBFGoiAEHO+QAgARBYIAIoAgBBJEcNQwxHCyAAQRRqQc/5ACABEFggAigCAEElRg1BDEILIABBFGoiAEHQ+QAgARBYIAIoAgBBJkcNQQxPCyAAQRRqIgBB0fkAIAEQWCACKAIAQSdHDUAMTgsgAEEUakHS+QAgARBYIAIoAgBBDkYNPgw/CyAAQRRqIgBB0/kAIAEQWCACKAIAQQ9HDT4MRwsgAEEUaiIAQdT5ACABEFggAigCAEEQRw09DEULIABBFGoiAEHV+QAgARBYIAIoAgBBEUcNPAxKCyAAQRRqIgBB1vkAIAEQWCACKAIAQRJHDTsMSwsgAEEUakHX+QAgARBYIAIoAgBBE0cNOiACKAIIRQ05DEsLIABBFGpB2PkAIAEQWCACKAIAQRRGDTgMOQsgAEEUaiIAQdn5ACABEFggAigCAEEVRw04DEgLIABBFGpB2vkAIAEQWCACKAIAQSlGDTYMNwsgAEEUaiIAQdv5ACABEFggAigCAEEqRw02DEYLIABBFGpB3PkAIAEQWCACKAIAQStGDTQMNQsgAEEUaiIAQd35ACABEFggAigCAEEsRw00DEMLIABBFGoiAEHe+QAgARBYIAIoAgBBLUcNMww5CyAAQRRqIgBB3/kAIAEQWCACKAIAQS5HDTIMNwsgAEEUakHg+QAgARBYIAIoAgBBL0YNMAwxCyAAQRRqIgBB4fkAIAEQWCACKAIAQTBHDTAMNQsgAEEUaiIAQeL5ACABEFggAigCAEExRw0vDDMLIABBFGoiAEHj+QAgARBYIAIoAgBBMkcNLgw8CyAAQRRqIgNB5PkAIAEQWCACKAIAQTNHDS0gAigCKCIBQQBKBEAgAEEYaiEEA0AgAUEBayIAIAIoAihPDTAgAigCJCAAQQJ0aiIFKAIARQ0xIARBtPkAIAUQWyABQQFLIQkgACEBIAkNAAsLIANBtPkAIAJBEGoQWA8LIABBFGoiAEHl+QAgARBYIAIoAgBBNEYEQAw9CwwsCyAAQRRqQeb5ACABEFggAigCAEE1Rw0rIAIoAhQiAUEATA0qIABBGGohAwNAIAFBAWsiACACKAIUTw0tIAIoAhAgAEECdGoiBCgCAEUNLiADQbT5ACAEEFsgAUEBSyEKIAAhASAKDQALDCoLIABBFGpB5/kAIAEQWCACKAIAQTZGDSkMKgsgAEEUaiIAQej5ACABEFggAigCAEE3Rw0pDDkLIABBFGpB6fkAIAEQWCACKAIAQRZGDScMKAsgAEEUakHq+QAgARBYIAIoAgBBF0YNJgwnCyAAQRRqQev5ACABEFggAigCAEEoRg0lDCYLIABBFGpB7PkAIAEQWCACKAIAQThHDSUgAigCDCIBQQBMDSQgAEEYaiEDA0AgAUEBayIAIAIoAgxPDScgAigCCCAAQQJ0aiIEKAIARQ0oIANBtPkAIAQQWyABQQFLIQsgACEBIAsNAAsMJAsgAEEUaiIAQe35ACABEFggAigCAEE5Rw0kDDQLIABBFGoiAEHu+QAgARBYIAIoAgBBOkcNIwwzCyAAQRRqIgBB7/kAIAEQWCACKAIAQTtHDSIMMgsgAEEUaiIDQfD5ACABEFggAigCAEE8Rw0hIANBtPkAIAJBGGoQWCACKAIMIgFBAEwNICAAQRhqIQMDQCABQQFrIgAgAigCDE8NIyACKAIIIABBAnRqIgQoAgBFDSQgA0G0+QAgBBBbIAFBAUshDCAAIQEgDA0ACwwgCyAAQRRqIgBB8fkAIAEQWCACKAIAQT1HDSAMMAsgAEEUaiIAQfL5ACABEFggAigCAEE+Rw0fDC8LIABBFGoiAEHz+QAgARBYIAIoAgBBP0cNHiAAQbT5ACACQRRqEFgPCyAAQRRqQfT5ACABEFggAigCAEHAAEcNHSACKAIMIgFBAEwNHCAAQRhqIQMDQCABQQFrIgAgAigCDE8NHyACKAIIIABBAnRqIgQoAgBFDSAgA0G0+QAgBBBbIAFBAUshDSAAIQEgDQ0ACwwcCyAAQRRqIgBB9fkAIAEQWCACKAIAQcEARw0cDCULIABBFGoiAEH2+QAgARBYIAIoAgBBwgBHDRsMIwsgAEEUaiIDQff5ACABEFggAigCAEHDAEcNGiADQbT5ACACQQxqEFggAigCCEUNGQwrCyAAQRRqIgBB+PkAIAEQWCACKAIAQcQARw0ZDB4LIABBFGoiAEH5+QAgARBYIAIoAgBBxQBHDRgMHQsgAEEUakH6+QAgARBYIAIoAgBBxgBHDRcgAigCDCIBQQBMDRYgAEEYaiEDA0AgAUEBayIAIAIoAgxPDRkgAigCCCAAQQJ0aiIEKAIARQ0aIANBtPkAIAQQWyABQQFLIQ4gACEBIA4NAAsMFgsgAEEUaiIAQfv5ACABEFggAigCAEHHAEcNFgwlCyAAQRRqIgBB/PkAIAEQWCACKAIAQcgARw0VDCMLIABBFGoiAEH9+QAgARBYIAIoAgBByQBHDRQMJAsgAEEUaiIAQf75ACABEFggAigCAEHKAEcNEyAAQbT5ACACQRhqEFgMIAsgAEEUaiIAQf/5ACABEFggAigCAEHLAEcNEgwfCyAAQRRqIgBBgPoAIAEQWCACKAIAQcwARw0RDBQLIABBFGoiAEGB+gAgARBYIAIoAgBBzQBHDRAMEwsgAEEUaiIAQYL6ACABEFggAigCAEHOAEcNDwwYCyAAQRRqIgNBg/oAIAEQWCACKAIAQc8ARw0OIAIoAhgEQCAAQRhqQbT5ACACQRhqEFsLIAIoAhQEQCAAQRhqQbT5ACACQRRqEFsLIAIoAhAEQCAAQRhqQbT5ACACQRBqEFsLDCALIABBFGpBhPoAIAEQWCACKAIAQdAARg0MDA0LIABBFGoiAEGF+gAgARBYIAIoAgBB0QBHDQwMFQsgAEEUaiIDQYb6ACABEFggAigCAEHSAEcNCyACKAIUBEAgAEEYakG0+QAgAkEUahBbCyADQbT5ACACQRBqEFgMHQsgAEEUaiIAQYf6ACABEFggAigCAEHTAEcNCgwZCyAAQRRqIgBBiPoAIAEQWCACKAIAQdQARw0JDBELIABBFGoiAEGJ+gAgARBYIAIoAgBB1QBHDQgMEQsgAEEUaiIAQYr6ACABEFggAigCAEHWAEcNBwwVCyAAQRRqIgBBi/oAIAEQWCACKAIAQdcARw0GDBULIABBFGoiAEGM+gAgARBYIAIoAgBB2ABHDQUMFQsgAEEUaiIAQY36ACABEFggAigCAEHZAEcNBAwMCyAAQRRqIgBBjvoAIAEQWCACKAIAQdoARw0DDAoLIABBFGoiAEGP+gAgARBYIAIoAgBB2wBHDQIMEQsgAEEUaiIDQZD6ACABEFggAigCAEHcAEcNASADQbT5ACACQTxqEFggAigCMCIBQQBMDQAgAEEYaiEDA0AgAUEBayIAIAIoAjBPDQMgAigCLCAAQQJ0aiIEKAIARQ0EIANBtPkAIAQQWyABQQFLIQ8gACEBIA8NAAsLDwtB8O0FQcWYA0GUBkGN3gAQAQALQcWiAUGJogNBvAFBpogFEAEAC0GBgwJB05kDQbkCQa73AhABAAsgAEG0+QAgAkEcahBYCyAAQbT5ACACQRhqEFgLIABBtPkAIAJBFGoQWAsgAEG0+QAgAkEQahBYDwsgAEG0+QAgAkEUahBYCyAAQbT5ACACQRBqEFgLIABBtPkAIAJBDGoQWA8LIABBtPkAIAJBKGoQWAsgAEG0+QAgAkEkahBYDwsgAEG0+QAgAkEcahBYIABBtPkAIAJBGGoQWA8LIABBtPkAIAJBFGoQWAsgAEG0+QAgAkEQahBYCyAAQbT5ACACQQxqEFgLIABBtPkAIAJBCGoQWA8LIABBGGpBtPkAIAJBCGoQWw8LIANBtPkAIAJBDGoQWAvsEAEYfyMAQbACayIDJAACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCBARAIAAgACgCACgCEBECAARAIAMgACgCBCICKQI4NwP4ASADIAIpAjA3A/ABIAMgAikCKDcD6AEgAyACKQIgNwPgASADIAIpAhg3A9gBIANBgAJqIAJBQGsQ4wEhBEHUiQtBADYCAEGaASADQZQCaiACQdQAahACIQVB1IkLKAIAIRFB1IkLQQA2AgAgEUEBRg0CIAMgAigCaDYCqAIgAyACKAJsIgI2AqwCIAIEQCACIAIoAgRBAWo2AgQLIANBASADKALgASICIAJBAEobNgLgASADIAMpA+gBNwMYIAMgAykD8AE3AyAgAyADKQP4ATcDKCADIAMpA+ABNwMQIANBASADKALcASICIAJBAEobNgLcAUHUiQtBADYCACADIAMpA9gBNwMIQZsBIANBMGogBBACIQRB1IkLKAIAIQJB1IkLQQA2AgACQCACQQFHBEBB1IkLQQA2AgBBmgEgA0HEAGogBRACIQVB1IkLKAIAIRJB1IkLQQA2AgAgEkEBRg0FIAMgAygCrAIiAjYCXCADIAMoAqgCNgJYIAIEQCACIAIoAgRBAWo2AgQLIANBADYCeCADIAMpAxA3AoQBIAMgAykDGDcCjAEgAyADKQMgNwKUASADIAMpAyg3ApwBIANCADcCcCADQfzsCTYCZCADIAMpAwg3AnxB1IkLQQA2AgAgAyABNgJoIAMgAUGoAWo2AmxBmwEgA0GkAWogBBACIQFB1IkLKAIAIQJB1IkLQQA2AgACQCACQQFHBEBB1IkLQQA2AgBBmgEgA0G4AWogBRACGkHUiQsoAgAhE0HUiQtBADYCACATQQFHBEAgAyADKAJYNgLMASADIAMoAlwiATYC0AEgAQRAIAEgASgCBEEBajYCBAsgA0EAOwHUASADQQhqEGEgA0EBOgDUASAAKAIAKAIUIRRB1IkLQQA2AgAgFCAAEAYhAEHUiQsoAgAhFUHUiQtBADYCACAVQQFGDQQgAygCZCgCCCEWQdSJC0EANgIAIBYgA0HkAGoiASAAEANB1IkLKAIAIRdB1IkLQQA2AgAgF0EBRg0EQdSJC0EANgIAQZcBIAEQCkHUiQsoAgAhGEHUiQtBADYCACAYQQFGDQQgA0H87Ak2AmQgA0H8AGoQYSADKAJwIgEEQCADKAJ0IgAgASICRwRAA0AgAEEEayIAKAIAIQIgAEEANgIAIAIEQCACIAIoAgAoAgQRAQALIAAgAUcNAAsgAygCcCECCyADIAE2AnQgAhBaCyADQdgBahBhDBELEAAhACABEGsMAQsQACEACyADQfAAahDgASADQQhqEGEMDwsQACEADA4LEAAhACADQeQAahB8GgwNCyAAIAE2AnwgAEEUaiEKIAEoAhgiAiABKAIcIgRHBEADQCACKAIAIgUoAgxFBEAgCiAFQSBqEOwJCyACQQRqIgIgBEcNAAsLIAEoAgwiBCABKAIQIgZHBEADQCAEKAIAIgUoAgxFBEAgACAFNgJ4AkAgACgChAEiBygCBCICBEADQCAFIAIoAhAiCU8EfyAFIAlNDQMgAkEEagUgAgsoAgAiAg0ACwtB898FQdORA0GtAkGJ1AIQAQALIAcgBRC6DSEHIAAoApgBIQIgAyAFNgJkIAJFDQYgAiADQeQAaiAHIAIoAgAoAhgRAwAgAEEANgJ4CyAEQQRqIgQgBkcNAAsLIAEoAjAiCSABKAI0Ig5GDQogAEEcaiENA0AgCSgCACICKAIMBEAgCiACQRRqEOwJCyACKAIcIgsgAigCICIPRwRAIAAoAnAhBCAAKAJsIQYgACgCGCEFA0AgAyALKAIAIgc2AmQgBCAGayIQQQN1IgJBACAFa0cNByAHRQ0IAkAgBUEJTQRAIAAgBUEBaiIGNgIYIA0gBUEDdGoiAkG0+QA2AgAgAiADQeQAajYCBCAEIQIgBiEFDAELIAAoAnQiCCAESwRAIARBtPkANgIAIAQgA0HkAGo2AgQgACAEQQhqIgI2AnAMAQsgAkEBaiIHQYCAgIACTw0KQf////8BIAggBmsiCEECdSIMIAcgByAMSRsgCEH4////B08bIgdBgICAgAJPDQsgECAHQQN0IgwQXCIIaiIHQbT5ADYCACAIIAJBA3RqIANB5ABqNgIEIAdBCGohAiAEIAZHBEADQCAHQQhrIgcgBEEIayIEKQIANwIAIAQgBkcNAAsLIAAgCCAMajYCdCAAIAI2AnAgACAHNgJsIAZFDQAgBhBaIAAoAnAhAiAAKAIYIQULQQAgBWsgAiAAKAJsIgZrQQN1RwRAA0ACQCACIAZGBEAgBUUNDyANIAVBAWsiBEEDdGoiBSgCBCECIAUoAgAhBiAAIAQ2AhgMAQsgAkEIayIEKAIAIQYgBCgCBCECIAAgBDYCcAsgCiACNgIAIAIoAgBFDQ4gACACIAYRAABBACAAKAIYIgVrIAAoAnAiAiAAKAJsIgZrQQN1Rw0ACwsgAiEEIAtBBGoiCyAPRw0ACwsgCUEEaiIJIA5HDQALDAoLQej6BUG6iwNB/ANB2ssCEAEACxAAIRkgBBBrIBkQBwALEAAhACAEEGsMCQsQ5wIAC0HNygVB05kDQcgCQdD4AhABAAtBgYMCQdOZA0G5AkGu9wIQAQALEGQACxBqAAtB3sQFQbCUA0HaAEH9+wIQAQALQfWCAkHTmQNBzQJB0PgCEAEACyABKAJIIgIgASgCTCIBRwRAA0AgAigCACIELQAURQRAIAogBEEYahDsCQsgAkEEaiICIAFHDQALCyAAQQA2AnwLIANBsAJqJAAPCyADQdgBahBhIAAQBwALgQEBA38gAEG0jAg2AgACQAJAIAAoApgBIgEgAEGIAWoiAkYEQEEEIQMgAiEBDAELQQUhAyABRQ0BCyABIAEoAgAgA0ECdGooAgARAQALIAAoAmwiAgRAIAAgAjYCcCACEFoLIABBkO0JNgIAIAAsABNBAEgEQCAAKAIIEFoLIAAQWgsnACAAKAIAQSJHBEBB2rMGQae3AkG9GkGa4AIQAQALIAAgAa03AxgLugIBBX8CQCAAKAIsIgMoAgQiBUUNACABQZXTx94FbCIEQRh2IARzQZXTx94FbEGomb30fXNBldPH3gVsIgRBDXYgBHNBldPH3gVsIgRBD3YgBHMhBCADKAIAAn8gBUEBayAEcSAFaSIGQQFNDQAaIAQgBCAFSQ0AGiAEIAVwCyIHQQJ0aigCACIDRQ0AIAMoAgAiA0UNAAJAIAZBAU0EQCAFQQFrIQUDQAJAIAMoAgQiBiAERwRAIAUgBnEgB0YNAQwFCyADKAIIIAFGDQMLIAMoAgAiAw0ACwwCCwNAAkAgAygCBCIGIARHBEAgBSAGTQR/IAYgBXAFIAYLIAdGDQEMBAsgAygCCCABRg0CCyADKAIAIgMNAAsMAQsgAiAAIAMoAgwQpQc2AgAgAiAAIAMoAhAQpQc2AgQLC6QEAQh/IwBB0ABrIgIkAAJAAkACQAJAIAAoAgxFDQAgAiABNgIQQdgAEFwiAUIANwIYIAFCADcCOCABQgA3AiggAUIANwIgIAFCgICAgICAgMA/NwIwIAFBQGtCADcCACABQgA3AlAgAUKAgID8AzcCSCACQgA3AiAgAkEANgI0IAIgAkEsaiIDNgIwIAJBgICA/AM2AiggAkIANwIYIAIgATYCFCADIAM2AgAgAiAANgI4IAJBmI4INgIMQdSJC0EANgIAQc3BACACQTxqIgAgAkEMaiIBEANB1IkLKAIAIQVB1IkLQQA2AgAgBUEBRg0CQdSJC0EANgIAQZAaIAEgABADQdSJCygCACEGQdSJC0EANgIAIAZBAUYNASACKAJEIgEEQANAIAEoAgAhByABEFogByIBDQALCyACKAI8IQAgAkEANgI8IAAEQCAAEFoLIAJB+OsJNgIMAkAgAigCNEUNACACKAIwIgEoAgAiACACKAIsKAIEIgQ2AgQgBCAANgIAIAJBADYCNCABIANGDQADQCABKAIEIQggARBaIAgiASADRw0ACwsgAigCICIBBEADQCABKAIAIQkgARBaIAkiAQ0ACwsgAigCGCEAIAJBADYCGCAABEAgABBaCyACKAIUIQAgAkEANgIUIABFDQAgABCRAwsgAkHQAGokAA8LEAAhASACQTxqEKIBDAELEAAhAQsgAkEMahC8BRogARAHAAvrDAIOfwJ9IAJBldPH3gVsIgRBGHYgBHNBldPH3gVsQaiZvfR9c0GV08feBWwiBEENdiAEc0GV08feBWwiBEEPdiAEcyEIAkAgAAJ/AkAgASgCBCIERQ0AAkAgBGkiBUEBTQRAIARBAWsgCHEhBgwBCyAIIgYgBEkNACAGIARwIQYLIAEoAgAgBkECdGooAgAiB0UNACAHKAIAIgdFDQAgBUEBTQRAIARBAWshBQNAAkAgCCAHKAIEIglHBEAgBSAJcSAGRw0EDAELIAcoAgggAkcNAEEADAQLIAcoAgAiBw0ACwwBCwNAAkAgCCAHKAIEIgVHBEAgBCAFTQR/IAUgBHAFIAULIAZHDQMMAQsgBygCCCACRw0AQQAMAwsgBygCACIHDQALC0EUEFwhByADKAIAIQIgB0IANwIMIAcgAjYCCCAHIAg2AgQgB0EANgIAIAFBCGohCSABKgIQIRIgASgCDEEBarMhEwJAAkAgBEUNACASIASzlCATXQ0AIAYhCAwBC0ECIQICQCAEIARBAWtxQQBHIARBA0lyIARBAXRyIgMCfyATIBKVjSISQwAAgE9dIBJDAAAAAGBxBEAgEqkMAQtBAAsiBiADIAZLGyIDQQFGDQAgAyADQQFrcUUEQCADIQIMAQtB1IkLQQA2AgBBFSADEAYhAkHUiQsoAgAhDUHUiQtBADYCACANQQFGDQMgASgCBCEECwJAAkAgAiAETQRAIAIgBE8NAiAEQQNJIQYCfyABKAIMsyABKgIQlY0iEkMAAIBPXSASQwAAAABgcQRAIBKpDAELQQALIQMCQAJAIAYNACAEaUEBSw0AIANBAUEgIANBAWtna3QgA0ECSRshBQwBC0HUiQtBADYCAEEVIAMQBiEFQdSJCygCACEOQdSJC0EANgIAIA5BAUYNBgsgBCACIAUgAiAFSxsiAk0EQCABKAIEIQQMAwsgAkUNAQsgAkGAgICABE8EQEHUiQtBADYCAEEDEAlB1IkLKAIAIQ9B1IkLQQA2AgAgD0EBRg0FAAtB1IkLQQA2AgBBBCACQQJ0EAYhBEHUiQsoAgAhEEHUiQtBADYCACAQQQFGDQQgASgCACEDIAEgBDYCACADBEAgAxBaCyABIAI2AgRBACEGQQAhBCACQQRPBEAgAkH8////A3EhBQNAIARBAnQiAyABKAIAakEANgIAIAEoAgAgA2pBADYCBCABKAIAIANqQQA2AgggASgCACADakEANgIMIARBBGoiBCAFRw0ACwsgAkEDcSIDBEADQCABKAIAIARBAnRqQQA2AgAgBEEBaiEEIAZBAWoiBiADRw0ACwsgASgCCCIERQRAIAIhBAwCCyAEKAIEIQMCQCACIAJBAWsiCnEEQCACIANNBEAgAyACcCEDCyABKAIAIANBAnRqIAk2AgAgBCgCACIGDQEgAiEEDAMLIAEoAgAgAyAKcSIDQQJ0aiAJNgIAIAQoAgAiBUUEQCACIQQMAwsDQAJAIAMgBSgCBCAKcSIGRgRAIAUhBAwBCyAGQQJ0IgsgASgCAGoiDCgCAARAIAQgBSgCADYCACAFIAEoAgAgC2ooAgAoAgA2AgAgASgCACALaigCACAFNgIADAELIAwgBDYCACAFIQQgBiEDCyAEKAIAIgUNAAsgAiEEDAILA0AgAiAGKAIEIgVNBEAgBSACcCEFCwJAIAMgBUYEQCAGIQQMAQsgBUECdCIKIAEoAgBqIgsoAgBFBEAgCyAENgIAIAYhBCAFIQMMAQsgBCAGKAIANgIAIAYgASgCACAKaigCACgCADYCACABKAIAIApqKAIAIAY2AgALIAQoAgAiBg0ACyACIQQMAQsgASgCACECQQAhBCABQQA2AgAgAgRAIAIQWgsgAUEANgIECyAEIARBAWsiAnFFBEAgAiAIcSEIDAELIAQgCEsNACAIIARwIQgLAkACQCABKAIAIAhBAnRqIgIoAgAiBUUEQCAHIAEoAgg2AgAgASAHNgIIIAIgCTYCACAHKAIAIgJFDQIgAigCBCEFAkAgBCAEQQFrIgJxRQRAIAIgBXEhBQwBCyAEIAVLDQAgBSAEcCEFCyABKAIAIAVBAnRqIQUMAQsgByAFKAIANgIACyAFIAc2AgALIAEgASgCDEEBajYCDEEBCzoABCAAIAc2AgAPCxAAIREgBxBaIBEQBwALw1ADXn8CfQJ+IwBBsANrIgQkAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABLQCFAUEEcUUNAAJAAkACQAJAAn8CQAJAIAAoAgQtAD1FBEAgBEGQAWoQqQIhAkHUiQtBADYCAEGJIiACQcDLBBACIQFB1IkLKAIAIRlB1IkLQQA2AgAgGUEBRw0BEAAaIAIQcQALIAEoAlQgASgCWEcNByAEQdgAaiILQgA3AgAgBEGQjAg2AjggBCALNgJUIAQgATYCUCAEIARBOGo2AkhBkIwIIAEoAgwiCSABKAIQIghGDQIaA0ACQCAJKAIAIQYgCyIHIQICQAJAIAQoAlgiA0UNAANAIAYgAyICKAIQIgNJBEAgAiEHIAIoAgAiAw0BDAILIAMgBk8NAiACKAIEIgMNAAsgAkEEaiEHC0HUiQtBADYCAEEEQcQAEAYhA0HUiQsoAgAhGkHUiQtBADYCACAaQQFGDQEgBCALNgKUASAEIAM2ApABIANCADcCPCADQgA3AhQgAyAGNgIQIANCADcCHCADQgA3AiQgA0IANwIsIANCADcCNCADQUBrQQE6AAAgA0GAgID8AzYCPCAEQQE6AJgBIAMgAjYCCCADQgA3AgAgByADNgIAIAQoAlQoAgAiAgRAIAQgAjYCVCAHKAIAIQMLIAQoAlggAxBnIARBADYCkAEgBCAEKAJcQQFqNgJcIARBkAFqEIcICyAIIAlBBGoiCUcNAQwDCwsQACEDDBQLIAEQcQALIAQoAkgiA0UEQEEAIQIMBAsgAyAEQThqRw0BIAQoAjgLIRsgBCAEQeAAaiIDNgJwIBsoAgwhHEHUiQtBADYCACAcIARBOGogAxADQdSJCygCACEdQdSJC0EANgIAIB1BAUcNAwwBCyADKAIAKAIIIR5B1IkLQQA2AgAgHiADEAYhAkHUiQsoAgAhH0HUiQtBADYCACAfQQFHDQELEAAhAwwPCyAEIAI2AnALIAQoAlAiAigCDCIJIAIoAhAiCEcEQAJAAkADQAJAIAkoAgAiBigCDARAIAsiByECAkACQCAEKAJYIgNFDQADQCAGIAMiAigCECIDSQRAIAIhByACKAIAIgMNAQwCCyADIAZPDQIgAigCBCIDDQALIAJBBGohBwtB1IkLQQA2AgBBBEHEABAGIQNB1IkLKAIAISBB1IkLQQA2AgAgIEEBRg0CIAQgCzYClAEgBCADNgKQASADQgA3AjwgA0IANwIUIAMgBjYCECADQgA3AhwgA0IANwIkIANCADcCLCADQgA3AjQgA0FAa0EBOgAAIANBgICA/AM2AjwgBEEBOgCYASADIAI2AgggA0IANwIAIAcgAzYCACAEKAJUKAIAIgIEQCAEIAI2AlQgBygCACEDCyAEKAJYIAMQZyAEKAKQASECIARBADYCkAEgBCAEKAJcQQFqNgJcIARBkAFqEIcICyAEKAJwIQUgBCAGNgKQASAFRQRAQdSJC0EANgIAQcUAEAlB1IkLKAIAISFB1IkLQQA2AgAgIUEBRg0EDA8LIAUoAgAoAhghIkHUiQtBADYCACAiIAUgBEGQAWogAkEUahAIQdSJCygCACEjQdSJC0EANgIAICNBAUYNAQsgCCAJQQRqIglHDQEMAwsLEAAhAwwPCxAAIQMMDgsgBCgCUCECCyAEQgA3AMUCIARCADcC6AJBACEDIARBADoA5AIgBEEUNgLgAiAEQoKAgIBwNwLYAiAEQgA3AtACIARBgQI7AM0CIARCADcC8AIgBEIANwL4AiAEQoCAgICAgIDAPzcCgAMgBEIANwKIAyAEQgA3ApADIARBgICA/AM2ApgDIARBADsBpAMgBEIANwKcAyAEQgA3AsACIARB/OwJNgK0AiAEIAI2ArgCIAQgAkGoAWo2ArwCAkACQAJAAkACQCAEKAJwIgUEQCAEQeAAaiIHIAVGBEAgBCAEQfgAaiIFNgKIASAEKAJgKAIMISRB1IkLQQA2AgAgJCAHIAUQA0HUiQsoAgAhJUHUiQtBADYCACAlQQFGDQMgBCgCiAEhAwwCCyAFKAIAKAIIISZB1IkLQQA2AgAgJiAFEAYhA0HUiQsoAgAhJ0HUiQtBADYCACAnQQFGDQILIAQgAzYCiAELQQAhByAEQQA2AowCIARCADcChAIgBEIANwKcASAEQgA3AqQBIARCADcC/AEgBEIANwKUASAEIARB1ABqNgKUAiAEIAI2ApACIARBtIwINgKQASAEQZgCaiEFAkAgAwRAIARB+ABqIgcgA0YEQCAEIAU2AqgCIAQoAngoAgwhKEHUiQtBADYCACAoIAcgBRADQdSJCygCACEpQdSJC0EANgIAIClBAUcNAgwQCyADKAIAKAIIISpB1IkLQQA2AgAgKiADEAYhB0HUiQsoAgAhK0HUiQtBADYCACArQQFGDQ8LIAQgBzYCqAILAkAgBCgClAEiAkUNACACIARBtAJqRg0AQdSJC0EANgIAQQ1B4sQGQbqLA0HjA0H+/AEQBUHUiQsoAgAhLEHUiQtBADYCACAsQQFHDQ0MDAsgBCAEQbQCajYClAEgBCgCkAEoAgghLUHUiQtBADYCACAtIARBkAFqIAQoAlAQA0HUiQsoAgAhLkHUiQtBADYCACAuQQFGDQsgBEG0jAg2ApABAkACQCAFIAQoAqgCIgJGBEBBBCEDIAUhAgwBC0EFIQMgAkUNAQsgAiACKAIAIANBAnRqKAIAEQEACyAEKAL8ASICBEAgBCACNgKAAiACEFoLIARBkO0JNgKQASAELACjAUEASARAIAQoApgBEFoLAkACQCAEKAKIASICIARB+ABqIgVGBEBBBCEDIAUhAgwBC0EFIQMgAkUNAQsgAiACKAIAIANBAnRqKAIAEQEACyAEQfzsCTYCtAIgBEHMAmoQYSAEKALAAiIFBEAgBCgCxAIiAiAFIgNHBEADQCACQQRrIgIoAgAhAyACQQA2AgAgAwRAIAMgAygCACgCBBEBAAsgAiAFRw0ACyAEKALAAiEDCyAEIAU2AsQCIAMQWgsgBCgCcCICIARB4ABqIgVHDQFBBCEDIAUhAgwCCxAAIQMMDgtBBSEDIAJFDQELIAIgAigCACADQQJ0aigCABEBAAsCQAJAIAQoAkgiAiAEQThqIgVGBEBBBCEDIAUhAgwBC0EFIQMgAkUNAQsgAiACKAIAIANBAnRqKAIAEQEACyAEQgA3A4ABIARCADcDeCAEQYCAgPwDNgKIASAEQZgBaiITQgA3AwAgBEEANgKsASAEIARBpAFqIhY2AqgBIARCADcDkAEgBCAWNgKkASAEQYCAgPwDNgKgAQJAIAEoAgwiFCABKAIQIhhGDQAgFq1CIIYhYwJAA0AgFCgCACEPIAsiAyEIAkACQAJAAkACQCAEKAJYIgJFDQADQCAPIAIiCCgCECICSQRAIAgiAygCACICDQEMAgsgAiAPTw0CIAgoAgQiAg0ACyAIQQRqIQMLQdSJC0EANgIAQQRBxAAQBiECQdSJCygCACEvQdSJC0EANgIAIC9BAUYNASAEIAs2ArgCIAQgAjYCtAIgAkIANwI8IAJCADcCFCACIA82AhAgAkIANwIcIAJCADcCJCACQgA3AiwgAkIANwI0IAJBQGtBAToAACACQYCAgPwDNgI8IARBAToAvAIgAiAINgIIIAJCADcCACADIAI2AgAgBCgCVCgCACIFBEAgBCAFNgJUIAMoAgAhAgsgBCgCWCACEGcgBCgCtAIhCCAEQQA2ArQCIAQgBCgCXEEBajYCXCAEQbQCahCHCAsgCCgCFCIFIAgoAhgiBkcNAQwCCxAAIQMMCwsCQAJAA0ACQCABKALYASEDIAEoAtQBIQIgBSgCACINKQIYIWJB1IkLQQA2AgBBqAEgAiADIGIQ8QEhMUHUiQsoAgAhMEHUiQtBADYCACAwQQFGDQAgMSgCHCECQdSJC0EANgIAQa35ACAEQfgAaiACEAIhCkHUiQsoAgAhMkHUiQtBADYCACAyQQFGDQACQCAKKAIEIgIgCigCCEcEQCACIA02AgAgCiACQQRqNgIEDAELAkACQAJAIAIgCigCACISayIJQQJ1IgdBAWoiDEGAgICABE8EQEHUiQtBADYCAEGmMhAJDAELQf////8DIAlBAXUiAyAMIAMgDEsbIAlB/P///wdPGyIMRQRAQQAhCQwDCyAMQYCAgIAESQ0BQdSJC0EANgIAQQMQCQtB1IkLKAIAITNB1IkLQQA2AgAgM0EBRw0TEAAhAwwRC0HUiQtBADYCAEEEIAxBAnQQBiEJQdSJCygCACE0QdSJC0EANgIAIDRBAUYNAgsgCSAHQQJ0aiIDIA02AgAgA0EEaiEHIAIgEkcEQANAIANBBGsiAyACQQRrIgIoAgA2AgAgAiASRw0ACyAKKAIAIQILIAogCSAMQQJ0ajYCCCAKIAc2AgQgCiADNgIAIAJFDQAgAhBaC0HUiQtBADYCAEGu+QAgASANEAIhA0HUiQsoAgAhNUHUiQtBADYCACA1QQFGDQICQCADRQ0AIA0oAgwiAkUEQEHUiQtBADYCAEENQbTEBUGJogNB0AFB/fsCEAVB1IkLKAIAITZB1IkLQQA2AgAgNkEBRw0SEAAhAwwQCyANKAIIIAJBAnRqQQRrKAIAKAIEIgJBAUYNAAJAIAJBB08EQCACKAIEQQFGDQELQdSJC0EANgIAQQ1Bv/8FQbizAkHkB0GriQQQBUHUiQsoAgAhN0HUiQtBADYCACA3QQFHDRIQACEDDBALIAIoAgghAkHUiQtBADYCAEGv+QAgBEH4AGogAhACITlB1IkLKAIAIThB1IkLQQA2AgAgOEEBRg0EIDlBADoALAsgBiAFQQRqIgVHDQEMBAsLEAAhAwwMCxAAIQMMCwsQACEDDAoLIAgoAiAiByAIKAIkIgxHBEADQAJAIAcoAgAiBSgCGCgCBCICQQFGDQACQCACQQdPBEAgAigCBEEBRg0BC0HUiQtBADYCAEENQb//BUG4swJB5AdBq4kEEAVB1IkLKAIAITpB1IkLQQA2AgAgOkEBRw0PEAAhAwwNCyACKAIIIQJB1IkLQQA2AgBBr/kAIARB+ABqIAIQAiEKQdSJCygCACECQdSJC0EANgIAAkAgAkEBRg0AIAooAhAiAiAKKAIURwRAIAIgBTYCACAKIAJBBGo2AhAMAgsCQAJAAkAgAiAKKAIMIg1rIhJBAnUiBkEBaiIJQYCAgIAETwRAQdSJC0EANgIAQbD5ABAJDAELQf////8DIBJBAXUiAyAJIAMgCUsbIBJB/P///wdPGyIJRQRAQQAhEQwDCyAJQYCAgIAESQ0BQdSJC0EANgIAQQMQCQtB1IkLKAIAITtB1IkLQQA2AgAgO0EBRw0REAAhAwwPC0HUiQtBADYCAEEEIAlBAnQQBiERQdSJCygCACE8QdSJC0EANgIAIDxBAUYNAQsgESAGQQJ0aiIDIAU2AgAgESAJQQJ0aiEFIANBBGohBiACIA1HBEADQCADQQRrIgMgAkEEayICKAIANgIAIAIgDUcNAAsgCigCDCECCyAKIAU2AhQgCiAGNgIQIAogAzYCDCACRQ0BIAIQWgwBCxAAIQMMDAsgB0EEaiIHIAxHDQALCyAPKAIcIQJB1IkLQQA2AgBBrfkAIARB+ABqIAIQAiEDQdSJCygCACE9QdSJC0EANgIAID1BAUYNAQJAIAgoAjQiAgRAIANBGGohBwNAIAIoAgghA0HUiQtBADYCAEGNECAEQbQCaiAHIAMgAxAFQdSJCygCACE+QdSJC0EANgIAID5BAUYNAiACKAIAIgINAAsLIAhBQGstAABFBEAgDygCHCECQdSJC0EANgIAQa35ACAEQfgAaiACEAIhQEHUiQsoAgAhP0HUiQtBADYCACA/QQFGDQMgQEEAOgAsCyAPKAIcIg1BldPH3gVsIgJBGHYgAnNBldPH3gVsQaiZvfR9c0GV08feBWwiAkENdiACc0GV08feBWwiAkEPdiACcyEHAkACfwJAAkAgBCgClAEiA0UNAAJAIANpQQFLIghFBEAgA0EBayAHcSEFDAELIAciBSADSQ0AIAUgA3AhBQsgBCgCkAEgBUECdGooAgAiAkUNACACKAIAIgJFDQAgCEUEQCADQQFrIQYDQAJAIAcgAigCBCIIRwRAIAYgCHEgBUYNAQwECyACKAIIIA1GDQQLIAIoAgAiAg0ACwwBCwNAAkAgByACKAIEIghHBEAgAyAITQR/IAggA3AFIAgLIAVGDQEMAwsgAigCCCANRg0DCyACKAIAIgINAAsLQdSJC0EANgIAQQRBEBAGIQpB1IkLKAIAIQJB1IkLQQA2AgACQCACQQFGDQAgCiAHNgIEIApBADYCACAKIGMgDa2ENwIIIAQqAqABIWEgBCgCnAFBAWqzIWACQAJAAkACQAJAAkACQCADRQ0AIGEgA7OUIGBdDQAgBSEHDAELQQIhBQJAIAMgA0EBa3FBAEcgA0EDSXIgA0EBdHIiCAJ/IGAgYZWNImBDAACAT10gYEMAAAAAYHEEQCBgqQwBC0EACyICIAIgCEkbIgJBAUYNACACIAJBAWtxRQRAIAIhBQwBC0HUiQtBADYCAEEVIAIQBiEFQdSJCygCACFBQdSJC0EANgIAIEFBAUYNAiAEKAKUASEDCwJAAkAgAyAFTwRAIAMgBU0NAiADQQNJIQICfyAEKAKcAbMgBCoCoAGVjSJgQwAAgE9dIGBDAAAAAGBxBEAgYKkMAQtBAAshCAJAAkAgAg0AIANpQQFLDQAgCEEBQSAgCEEBa2drdCAIQQJJGyECDAELQdSJC0EANgIAQRUgCBAGIQJB1IkLKAIAIUJB1IkLQQA2AgAgQkEBRg0FCyADIAUgAiACIAVJGyIFTQRAIAQoApQBIQMMAwsgBUUNAQsgBUGAgICABE8EQEHUiQtBADYCAEEDEAlB1IkLKAIAIUNB1IkLQQA2AgAgQ0EBRw0ZEAAhAyAKEFoMFwtB1IkLQQA2AgBBBCAFQQJ0EAYhA0HUiQsoAgAhREHUiQtBADYCACBEQQFGDQMgBCgCkAEhAiAEIAM2ApABIAIEQCACEFoLIAQgBTYClAFBACEGQQAhAiAFQQRPBEAgBUH8////A3EhAwNAIAJBAnQiCCAEKAKQAWpBADYCACAEKAKQASAIakEANgIEIAQoApABIAhqQQA2AgggBCgCkAEgCGpBADYCDCACQQRqIgIgA0cNAAsLIAVBA3EiAwRAA0AgBCgCkAEgAkECdGpBADYCACACQQFqIQIgBkEBaiIGIANHDQALCyAEKAKYASICRQRAIAUhAwwCCyACKAIEIQgCQCAFIAVBAWsiEnEEQCAFIAhNBEAgCCAFcCEICyAEKAKQASAIQQJ0aiATNgIAIAIoAgAiBg0BIAUhAwwDCyAEKAKQASAIIBJxIghBAnRqIBM2AgAgAigCACIDRQRAIAUhAwwDCwNAAkAgCCADKAIEIBJxIgZGBEAgAyECDAELIAZBAnQiCSAEKAKQAWoiDCgCAARAIAIgAygCADYCACADIAQoApABIAlqKAIAKAIANgIAIAQoApABIAlqKAIAIAM2AgAMAQsgDCACNgIAIAMhAiAGIQgLIAIoAgAiAw0ACyAFIQMMAgsDQCAFIAYoAgQiA00EQCADIAVwIQMLAkAgAyAIRgRAIAYhAgwBCyADQQJ0IgkgBCgCkAFqIgwoAgBFBEAgDCACNgIAIAYhAiADIQgMAQsgAiAGKAIANgIAIAYgBCgCkAEgCWooAgAoAgA2AgAgBCgCkAEgCWooAgAgBjYCAAsgAigCACIGDQALIAUhAwwBCyAEKAKQASECIARBADYCkAEgAgRAIAIQWgtBACEDIARBADYClAELIAMgA0EBayICcUUEQCACIAdxIQcMAQsgAyAHSw0AIAcgA3AhBwsgBCgCkAEgB0ECdGoiAigCACIFDQMgCiAEKAKYATYCACAEIAo2ApgBIAIgEzYCACAKKAIAIgJFDQQgAigCBCECIAMgA0EBayIFcQ0BIAIgBXEhAgwCCxAAIQMgChBaDBILIAIgA0kNACACIANwIQILIAQoApABIAJBAnRqIAo2AgAMAQsgCiAFKAIANgIAIAUgCjYCAAtB1IkLQQA2AgAgBCAEKAKcAUEBajYCnAFBBEEYEAYhBkHUiQsoAgAhRUHUiQtBADYCACBFQQFGDQAgBiANNgIIIAZBADYCACAGIBY2AgQgBkEANgIUIAZCADcCDCAGIAQoAqQBIgI2AgAgAiAGNgIEIAQgBjYCpAEgBCAEKAKsAUEBajYCrAEgCiAGNgIMQQAMAgsQACEDDA0LIAIoAgwiBigCEAsiAiAGKAIURwRAIAIgDzYCACAGIAJBBGo2AhAMAQsCQAJAAkAgAiAGKAIMIgxrIghBAnUiB0EBaiIFQYCAgIAETwRAQdSJC0EANgIAQaACEAkMAQtB/////wMgCEEBdSIDIAUgAyAFSxsgCEH8////B08bIghFBEBBACEFDAMLIAhBgICAgARJDQFB1IkLQQA2AgBBAxAJC0HUiQsoAgAhRkHUiQtBADYCACBGQQFHDQ8QACEDDA0LQdSJC0EANgIAQQQgCEECdBAGIQVB1IkLKAIAIUdB1IkLQQA2AgAgR0EBRg0ECyAFIAdBAnRqIgMgDzYCACADQQRqIQcgAiAMRwRAA0AgA0EEayIDIAJBBGsiAigCADYCACACIAxHDQALIAYoAgwhAgsgBiAFIAhBAnRqNgIUIAYgBzYCECAGIAM2AgwgAkUNACACEFoLIBRBBGoiFCAYRw0BDAMLCxAAIQMMCAsQACEDDAcLIAEoAgAiAiABKAIEIghHBEADQCACKAIAIgcoAhBFBEAgASgC2AEhBSABKALUASEDIAcpAgghYkHUiQtBADYCAEGoASADIAUgYhDxASFJQdSJCygCACFIQdSJC0EANgIAIEhBAUYNByBJKAIcIQNB1IkLQQA2AgBBrfkAIARB+ABqIAMQAiFLQdSJCygCACFKQdSJC0EANgIAIEpBAUYNByBLQQA6ACwLIAJBBGoiAiAIRw0ACwtB1IkLQQA2AgBBqhkgBEHgAGoiAyABEANB1IkLKAIAIUxB1IkLQQA2AgAgTEEBRg0DQdSJC0EANgIAQasZIARBtAJqIAMQAiEVQdSJCygCACFNQdSJC0EANgIAIE1BAUYNBSAEKAJgIgIEQCACEFoLIBYgBCgCqAEiEUcEQCAAQRRqIQ0DQAJAIBEoAggiAkEQTwRAIAIoAhBFDQELQdSJC0EANgIAQQ1B4ZUGQbizAkHbCUGP4gMQBUHUiQsoAgAhTkHUiQtBADYCACBOQQFHDQsQACEDDAULIAIpAhQhY0HUiQtBADYCAEGt+QAgBEH4AGogAhACIRBB1IkLKAIAIQJB1IkLQQA2AgACQAJAIAJBAUcEQAJ/AkAgY6ciF0EHSQ0AIBcoAgQNACAXKAIMIBcoAghrQQJ1DAELIBdBAEcLIQ8gEC0ALA0BDAILEAAhAwwGCyAVKAIQIQUgFSgCDCEDIBFBCGoiFCgCACECQdSJC0EANgIAQa4ZIAMgBSACEAQhA0HUiQsoAgAhT0HUiQtBADYCACBPQQFHBEAgAygCACADKAIERw0BAkAgFCgCACICQRBJDQAgAigCBCICRQ0AIAJBEEkNACACKAIQRQ0CC0HUiQtBADYCAEGrMiAEQeAAaiARQQxqIhIgECAQQQxqIgkgARAMQdSJCygCACECQdSJC0EANgIAAkACQAJAAkACQCACQQFHBEAgBCgCYCIIIAQoAmQiGEcEQCAQQSBqIQwDQAJAIBAoAhwiDkUNACAQKAIYIgcCfyAIKAIAIgMgDkEBa3EgDmlBAUsiCkUNABogAyADIA5JDQAaIAMgDnALIgtBAnRqKAIAIgJFDQAgAigCACICRQ0AIA5BAWshEwJAIApFBEADQAJAIAMgAigCBCIFRwRAIAUgE3EgC0YNAQwFCyACKAIIIANGDQMLIAIoAgAiAg0ADAMLAAsDQAJAIAMgAigCBCIFRwRAIAUgDk8EfyAFIA5wBSAFCyALRg0BDAQLIAIoAgggA0YNAgsgAigCACICDQALDAELAkAgCkUEQCADIBNxIQMMAQsgAyAOSQ0AIAMgDnAhAwsgByADQQJ0aiILKAIAIQYDQCAGIgUoAgAiBiACRw0ACwJAIAUgDEcEQCAFKAIEIQYCQCAKRQRAIAYgE3EhBgwBCyAGIA5JDQAgBiAOcCEGCyADIAZGDQELIAIoAgAiBwRAIAcoAgQhBgJAIApFBEAgBiATcSEGDAELIAYgDkkNACAGIA5wIQYLIAMgBkYNAQsgC0EANgIACwJAIAIoAgAiBkUEQEEAIQYMAQsgBigCBCEHAkAgCkUEQCAHIBNxIQcMAQsgByAOSQ0AIAcgDnAhBwsgAyAHRg0AIBAoAhggB0ECdGogBTYCACACKAIAIQYLIAUgBjYCACAQIBAoAiRBAWs2AiQgAhBaCyAIQQRqIgggGEcNAAsLIBAoAiQgD0YNAyAEQQA2AjQgBEIANwIsAkACQAJAAkACQCAPRQRAIAQgFzYCKEEAIQIgBEEANgIYIARCADcCEAwBC0EAIQMDQAJAAkAgECgCHCIHRQ0AIBAoAhgCfyAHQQFrIANxIAdpQQFLIgVFDQAaIAMgAyAHSQ0AGiADIAdwCyIIQQJ0aigCACICRQ0AIAIoAgAiAkUNACAFRQRAIAdBAWshBwNAAkAgAigCBCIFIANHBEAgBSAHcSAIRg0BDAQLIAIoAgggA0YNBAsgAigCACICDQALDAELA0ACQCACKAIEIgUgA0cEQCAFIAdPBH8gBSAHcAUgBQsgCEYNAQwDCyACKAIIIANGDQMLIAIoAgAiAg0ACwtB1IkLQQA2AgBBlBcgBEEsaiADEANB1IkLKAIAIVBB1IkLQQA2AgAgUEEBRg0ECyADQQFqIgMgD0cNAAsgBCgCMCEDIAQoAiwhByAEIBc2AihBACECIARBADYCGCAEQgA3AhAgAyAHRg0AIAMgB2siBUEASARAQdSJC0EANgIAQfgCEAlB1IkLKAIAIVFB1IkLQQA2AgAgUUEBRw0YEAAhAwwLC0HUiQtBADYCAEEEIAUQBiECQdSJCygCACFSQdSJC0EANgIAIFJBAUYNASAEIAI2AhAgBCACIAVqIgM2AhggAiAHIAX8CgAAIAQgAzYCFAsgACgCBCEDQdSJC0EANgIAQawyIARBHGogEiAEQRBqIBAgCSABIAMQFUHUiQsoAgAhU0HUiQtBADYCACBTQQFGDQIgAgRAIAQgAjYCFCACEFoLIAQoAhwiAiAEKAIgRg0GQQAhB0EAIQhBACEFQQAhCSAPDQMMBQsQACEDDAgLEAAhAwwHCxAAIQMgAkUNBiACEFoMBgsDQAJAAkACQCAEKAIgIgwgBCgCHCICRg0AIAwgAmtBAnUhAwNAIAIgA0EBdiIGQQJ0aiILQQRqIAIgCygCACAJSSILGyECIAMgBkF/c2ogBiALGyIDDQALIAIgDEYNACACKAIAIAlGDQELAkACQCAEKAIoIgJBB0kNACACKAIEDQAgAigCCCAJQQJ0aiECDAELIAIEQCAEQShqIQIgCUUNAQtB1IkLQQA2AgBBDUHdwwZBuLMCQdgIQaDWBRAFQdSJCygCACFUQdSJC0EANgIAIFRBAUcNFgwICyAFIAdHBEAgByACKAIANgIAIAdBBGohBwwBCwJAAkACQCAFIAhrIgZBAnUiB0EBaiILQYCAgIAETwRAQdSJC0EANgIAQRMQCQwBC0H/////AyAGQQF1IgMgCyADIAtLGyAGQfz///8HTxsiC0UEQEEAIQYMAwsgC0GAgICABEkNAUHUiQtBADYCAEEDEAkLQdSJCygCACFVQdSJC0EANgIAIFVBAUcNFwwJC0HUiQtBADYCAEEEIAtBAnQQBiEGQdSJCygCACFWQdSJC0EANgIAIFZBAUYNAgsgBiAHQQJ0aiIDIAIoAgA2AgAgAyECIAUgCEcEQANAIAJBBGsiAiAFQQRrIgUoAgA2AgAgBSAIRw0ACwsgC0ECdCAGaiEFIANBBGohByAIBEAgCBBaCyACIQgLIA8gCUEBaiIJRw0BDAMLCwwECxAAIQMMCwtB1IkLQQA2AgBB4QAgBEEMaiAIIAcQBCFYQdSJCygCACFXQdSJC0EANgIAIFdBAUYNAiBYNQIAIWIgFCgCACECQdSJC0EANgIAQbH5ACAEQagDaiANIAIgFBAFQdSJCygCACFZQdSJC0EANgIAIFlBAUYNAiAEKAKoAyBjQoCAgIBwgyBihDcCDCARKAIMIgIgESgCECIFRwRAIBQoAgAhAwNAIAIoAgAgAzYCHCACQQRqIgIgBUcNAAsLIAgEQCAIEFoLIAQoAhwhAgsgAgRAIAIQWgsgBCgCLCICRQ0AIAIQWgsgBCgCYCICRQ0DIAIQWgwDCxAAIQMgCARAIAgQWgsgBCgCHCIARQ0AIAAQWgsgBCgCLCIABEAgABBaCyAEKAJgIgBFDQYgABBaDAYLEAAhAwwFCyARKAIEIhEgFkcNAAsLQdSJC0EANgIAQbL5ACAAQRRqIAEQA0HUiQsoAgAhWkHUiQtBADYCACBaQQFGDQEgFSgCFCICBEADQCACKAIAIVsgAigCDCIBBEAgAiABNgIQIAEQWgsgAhBaIFsiAg0ACwsgFSgCDCEAIBVBADYCDCAABEAgABBaCyAVKAIAIgAEQCAVIAA2AgQgABBaCwJAIAQoAqwBRQ0AIAQoAqgBIgIoAgAiASAEKAKkASgCBCIANgIEIAAgATYCACAEQQA2AqwBIAIgFkYNAANAIAIoAgQhXCACKAIMIgEEQCACIAE2AhAgARBaCyACEFogXCICIBZHDQALCyAEKAKYASICBEADQCACKAIAIV0gAhBaIF0iAg0ACwsgBCgCkAEhACAEQQA2ApABIAAEQCAAEFoLIARB+ABqEL0NIAQoAlgQ3AYLIARBsANqJAAPCxAAIQMLIBUQgQUMAwsQACEDDAILEAAhAwwBCxAAIQMgBCgCYCIARQ0AIAAQWgsCQCAEQZABaiIHKAIcRQ0AIAcoAhgiACgCACICIAcoAhQoAgQiATYCBCABIAI2AgAgB0EANgIcIAAgB0EUaiICRg0AA0AgACgCBCFeIAAoAgwiBQRAIAAgBTYCECAFEFoLIAAQWiBeIgAgAkcNAAsLIAcoAggiAARAA0AgACgCACFfIAAQWiBfIgANAAsLIAcoAgAhACAHQQA2AgAgAARAIAAQWgsgBEH4AGoQvQ0gBCgCWBDcBgwHCxAAIQMgBEGQAWoQvA0aDAILAAsQACEDIARBkAFqEOQBGgsCQCAEKAKIASICIARB+ABqIgBGBEBBBCEGIAAhAgwBC0EFIQYgAkUNAQsgAiACKAIAIAZBAnRqKAIAEQEACyAEQbQCahB8GgsCQCAEKAJwIgIgBEHgAGoiAEYEQEEEIQYgACECDAELQQUhBiACRQ0BCyACIAIoAgAgBkECdGooAgARAQALIAQoAlgQ3AYCQCAEKAJIIgIgBEE4aiIARgRAQQQhBiAAIQIMAQtBBSEGIAJFDQELIAIgAigCACAGQQJ0aigCABEBACADEAcACyADEAcACyQAIAAoAgBBIkcEQEHaswZBp7cCQcIaQabyARABAAsgACgCIAubAQEDfyMAQSBrIgMkAEEUEFwiBEIANwIAIARBADYCECAEQgA3AgggAyABEGw2AhwgAyABNgIYIAMgAykCGDcDCCADQRBqIgEgA0EIahBlIAQgAykDEDcCCCADIAIQbDYCHCADIAI2AhggAyADKQIYNwMAIAEgAxBlIAQgAykDEDcCACAEQQI2AhAgACAEEN8EIQUgA0EgaiQAIAULYQEDfyAAQeCLCDYCACAAKAIcIgIEQANAIAIoAgAhAyACEFogAyICDQALCyAAKAIUIQEgAEEANgIUIAEEQCABEFoLIABBkO0JNgIAIAAsABNBAEgEQCAAKAIIEFoLIAAQWgtfAQN/IABB4IsINgIAIAAoAhwiAgRAA0AgAigCACEDIAIQWiADIgINAAsLIAAoAhQhASAAQQA2AhQgAQRAIAEQWgsgAEGQ7Qk2AgAgACwAE0EASARAIAAoAggQWgsgAAscAEGAARBcIgBBAEGAAfwLACAAQbCLCDYCACAAC3gBA38jAEEQayIDJAAgACgCBCIEBEAgACACNgJ4IAAgATYCfCACKAI0IgUEQCADIAEoAoQBNgIMIAMgBTYCCCADIARBGGo2AgQgAyACNgIAIAMQwA0LIABCADcCeCADQRBqJAAPC0Ho+gVBuosDQZwEQe7TAhABAAu+IgEOfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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EFgLIABB7vcAIAJBCGoQWA8LIABBGGpB7vcAIAJBCGoQWw8LIANB7vcAIAJBDGoQWAvyDwEYfyMAQbACayIDJAACQAJAAkACQAJAAkACQAJAAkACQAJAIAAoAgQEQCAAIAAoAgAoAhARAgAEQCADIAAoAgQiAikCODcD+AEgAyACKQIwNwPwASADIAIpAig3A+gBIAMgAikCIDcD4AEgAyACKQIYNwPYASADQYACaiACQUBrEOMBIQRB1IkLQQA2AgBBmgEgA0GUAmogAkHUAGoQAiEFQdSJCygCACERQdSJC0EANgIAIBFBAUYNAiADIAIoAmg2AqgCIAMgAigCbCICNgKsAiACBEAgAiACKAIEQQFqNgIECyADQQEgAygC4AEiAiACQQBKGzYC4AEgAyADKQPoATcDGCADIAMpA/ABNwMgIAMgAykD+AE3AyggAyADKQPgATcDECADQQEgAygC3AEiAiACQQBKGzYC3AFB1IkLQQA2AgAgAyADKQPYATcDCEGbASADQTBqIAQQAiEEQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBxABqIAUQAiEFQdSJCygCACESQdSJC0EANgIAIBJBAUYNBSADIAMoAqwCIgI2AlwgAyADKAKoAjYCWCACBEAgAiACKAIEQQFqNgIECyADQQA2AnggAyADKQMQNwKEASADIAMpAxg3AowBIAMgAykDIDcClAEgAyADKQMoNwKcASADQgA3AnAgA0H87Ak2AmQgAyADKQMINwJ8QdSJC0EANgIAIAMgATYCaCADIAFBqAFqNgJsQZsBIANBpAFqIAQQAiEBQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBuAFqIAUQAhpB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRwRAIAMgAygCWDYCzAEgAyADKAJcIgE2AtABIAEEQCABIAEoAgRBAWo2AgQLIANBADsB1AEgA0EIahBhIANBAToA1AEgACgCACgCFCEUQdSJC0EANgIAIBQgABAGIQBB1IkLKAIAIRVB1IkLQQA2AgAgFUEBRg0EIAMoAmQoAgghFkHUiQtBADYCACAWIANB5ABqIgEgABADQdSJCygCACEXQdSJC0EANgIAIBdBAUYNBEHUiQtBADYCAEGXASABEApB1IkLKAIAIRhB1IkLQQA2AgAgGEEBRg0EIANB/OwJNgJkIANB/ABqEGEgAygCcCIBBEAgAygCdCIAIAEiAkcEQANAIABBBGsiACgCACECIABBADYCACACBEAgAiACKAIAKAIEEQEACyAAIAFHDQALIAMoAnAhAgsgAyABNgJ0IAIQWgsgA0HYAWoQYQwQCxAAIQAgARBrDAELEAAhAAsgA0HwAGoQ4AEgA0EIahBhDA4LEAAhAAwNCxAAIQAgA0HkAGoQfBoMDAsgACABNgJ8IABBFGohCSABKAIYIgIgASgCHCIERwRAA0AgAigCACIFKAIMRQRAIAkgBUEgahDuCQsgAkEEaiICIARHDQALCyABKAIMIgIgASgCECIFRwRAA0AgAigCACIEKAIMRQRAIAAgBDYCeCAAKAJ8IAQQwQ0gAEEANgJ4CyACQQRqIgIgBUcNAAsLIAEoAjAiCiABKAI0Ig5GDQkgAEEcaiENA0AgCigCACICKAIMBEAgCSACQRRqEO4JCyACKAIcIgsgAigCICIPRwRAIAAoAmwhBiAAKAJwIQQgACgCGCEFA0AgAyALKAIAIgc2AmQgBCAGayIQQQN1IgJBACAFa0cNBiAHRQ0HAkAgBUEJTQRAIAAgBUEBaiIGNgIYIA0gBUEDdGoiAkHu9wA2AgAgAiADQeQAajYCBCAEIQIgBiEFDAELIAAoAnQiCCAESwRAIARB7vcANgIAIAQgA0HkAGo2AgQgACAEQQhqIgI2AnAMAQsgAkEBaiIHQYCAgIACTw0JQf////8BIAggBmsiCEECdSIMIAcgByAMSRsgCEH4////B08bIgdBgICAgAJPDQogECAHQQN0IgwQXCIIaiIHQe73ADYCACAIIAJBA3RqIANB5ABqNgIEIAdBCGohAiAEIAZHBEADQCAHQQhrIgcgBEEIayIEKQIANwIAIAQgBkcNAAsLIAAgCCAMajYCdCAAIAI2AnAgACAHNgJsIAZFDQAgBhBaIAAoAnAhAiAAKAIYIQULQQAgBWsgAiAAKAJsIgZrQQN1RwRAA0ACQCACIAZGBEAgBUUNDiANIAVBAWsiBEEDdGoiBSgCBCECIAUoAgAhBiAAIAQ2AhgMAQsgAkEIayIEKAIAIQYgBCgCBCECIAAgBDYCcAsgCSACNgIAIAIoAgBFDQ0gACACIAYRAABBACAAKAIYIgVrIAAoAnAiAiAAKAJsIgZrQQN1Rw0ACwsgAiEEIAtBBGoiCyAPRw0ACwsgCkEEaiIKIA5HDQALDAkLQej6BUG6iwNB/ANB2ssCEAEACxAAIRkgBBBrIBkQBwALEAAhACAEEGsMCAtBzcoFQdOZA0HIAkHQ+AIQAQALQYGDAkHTmQNBuQJBrvcCEAEACxBkAAsQagALQd7EBUGwlANB2gBB/fsCEAEAC0H1ggJB05kDQc0CQdD4AhABAAsgASgCSCICIAEoAkwiAUcEQANAIAIoAgAiBC0AFEUEQCAJIARBGGoQ7gkLIAJBBGoiAiABRw0ACwsgAEEANgJ8CyADQbACaiQADwsgA0HYAWoQYSAAEAcAC60XAht/AX4jAEHAAmsiAiQAIAAoAgQhAyACQRAQXCIANgKsAiACQouAgICAgoCAgH83ArACIABBqbwBKAAANgAHIABBorwBKQAANwAAIABBADoAC0HUiQtBADYCAEEEQcAAEAYhAEHUiQsoAgAhBkHUiQtBADYCAAJAAkACQAJAIAZBAUcEQCACIAA2AqACIAJCuoCAgICIgICAfzcCpAIgAEHfOi8AADsAOCAAQdc6KQAANwAwIABBzzopAAA3ACggAEHHOikAADcAICAAQb86KQAANwAYIABBtzopAAA3ABAgAEGvOikAADcACCAAQac6KQAANwAAIABBADoAOkHUiQtBADYCAEHJOiACQTBqIgAgA0EYaiACQawCaiACQaACahAFQdSJCygCACEDQdSJC0EANgIAAkAgA0EBRwRAIAIgAigCNCACLAA7IgNB/wFxIANBAEgiAxs2AsQBIAIgAigCMCAAIAMbNgLAAUHUiQtBADYCACACIAIpAsABNwMQQQYgAkG4AmogAkEQahADQdSJCygCACEKQdSJC0EANgIAIApBAUcEQCACLAA7QQBIBEAgAigCMBBaCyACLACrAkEASARAIAIoAqACEFoLIAIsALcCQQBIBEAgAigCrAIQWgsgAigCvAIiAEHw////B0kEQCACKAK4AiEGAkACQCAAQQtPBEAgAEEPckEBaiIEEFwhAyACIARBgICAgHhyNgI4IAIgAzYCMCACIAA2AjQMAQsgAiAAOgA7IAJBMGohAyAARQ0BCyADIAYgAPwKAAALIAAgA2pBADoAACACQQE6AJwC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IRtB1IkLQQA2AgAgG0EBRg0CIABCADcCBCAAQQ42AgAgAEIANwIMIABCADcCFCAEIABBCGoiBUcEQCAFEFkhBUHUiQtBADYCAEHAACAFIAQQAhpB1IkLKAIAIRxB1IkLQQA2AgAgHEEBRg0DCyAAIAIoAig2AgQgAyAANgIgIAQQWRogA0IANwIUIANCADcCDCACQcABahBZGiACLADrAUEASARAIAIoAuABEFoLIAIsAPsBQQBIBEAgAigC8AEQWgsgAigCgAIiBARAIAIoAoQCIgMgBCIARwRAA0AgA0EMayEAIANBAWssAABBAEgEQCAAKAIAEFoLIAAiAyAERw0ACyACKAKAAiEACyACIAQ2AoQCIAAQWgsgBkEMaiIGIAhGDQ8MAQsLEAAhAAwBCxAAIQAgBBBZGgsgAkHAAWoQWRoLIAIsAOsBQQBODQAgAigC4AEQWgsgAiwA+wFBAE4NACACKALwARBaCyACQYACahCrAwsgAkGQAmoQqwMMBgsQ6gEACxAAIQAgAiwAO0EATg0BIAIoAjAQWgwBCxAAIQALIAIsAKsCQQBODQEgAigCoAIQWgwBCxAAIQALIAIsALcCQQBODQAgAigCrAIQWiAAEAcACyAAEAcACyACKAKQAiEGCyAGBEAgAigClAIiAyAGIgBHBEADQCADQQxrIQAgA0EBaywAAEEASARAIAAoAgAQWgsgACIDIAZHDQALIAIoApACIQALIAIgBjYClAIgABBaCyACQcACaiQAC98MARJ/IwBBsAdrIgIkACACQQA2AqwHIAJCADcCpAcgASgChAEhB0HUiQtBADYCAEHkACACQYQEaiABIAJBpAdqEAQhA0HUiQsoAgAhBEHUiQtBADYCAAJAAkACQAJAAkACQAJAAkAgBEEBRwRAQdSJC0EANgIAQeUAIAMQCkHUiQsoAgAhDEHUiQtBADYCACAMQQFGDQEgAxCMBCABEOYDIgNBAEGJAfwLACADQgA3ApwBIANCADcClAEgA0IANwKMASADQYCAgPwDNgKkASADQgA3ArABIANCADcCqAEgA0IANwLAASADQQA2ArwBIANBkLcLNgK4ASADQgA3AsgBIANCADcC1AEgA0GAgID8AzYC0AEgA0IANwLcASADQgA3AugBIANBgICA/AM2AuQBIANCADcC8AEgA0IANwL8ASAD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ADYCACC4AUEBRg0cIAMgBDYC8AEgAyACNgL0ASADIAZBgICAgHhyNgL4AQwCCxAAIQIgAywA+wFBAE4NISADKALwARBaDCELIAMgAjoA+wEgA0HwAWohBCACRQ0BCyAEQSAgAvwLAAsgAiAEakEAOgAAQdSJC0EANgIAQQkgBSADKALwASADQfABaiADLQD7ASICwEEASCIFGyADKAL0ASACIAUbEAQhAkHUiQsoAgAhBUHUiQtBADYCAAJAAkACQCAFQQFHBEAgAywA+wFBAEgEQCADKALwARBaC0HUiQtBADYCAEEJIAJBnusGQRYQBCECQdSJCygCACG5AUHUiQtBADYCACC5AUEBRg0cIAEoAnQoAgghBUHUiQtBADYCAEGHAiACIAUQAiECQdSJCygCACG6AUHUiQtBADYCACC6AUEBRg0cQdSJC0EANgIAIANBCjoA8AFBCSACIANB8AFqQQEQBBpB1IkLKAIAIbsBQdSJC0EANgIAILsBQQFGDRwgACgCBCICQe////8HSw0LIAAoAgAhBSACQQtJDQFB1IkLQQA2AgBBBCACQQ9yQQFqIgYQBiEEQdSJCygCACG8AUHUiQtBADYCACC8AUEBRg0cIAMgBDYC8AEgAyACNgL0ASADIAZBgICAgHhyNgL4AQwCCxAAIQIgAywA+wFBAE4NISADKALwARBaDCELIAMgAjoA+wEgA0HwAWohBCACRQ0BCyAEQSAgAvwLAAsgAiAEakEAOgAAQdSJC0EANgIAQQkgBSADKALwASADQfABaiADLQD7ASICwEEASCIFGyADKAL0ASACIAUbEAQhAkHUiQsoAgAhBUHUiQtBADYCAAJAAkACQCAFQQFHBEAgAywA+wFBAEgEQCADKALwARBaC0HUiQtBADYCAEEJIAJBw/YGQRAQBCECQdSJCygCACG9AUHUiQtBADYCACC9AUEBRg0cIAEoAnQoAgwhBUHUiQtBADYCAEGHAiACIAUQAiECQdSJCygCACG+AUHUiQtBADYCACC+AUEBRg0cQdSJC0EANgIAIANBCjoA8AFBCSACIANB8AFqQQEQBBpB1IkLKAIAIb8BQdSJC0EANgIAIL8BQQFGDRwgACgCBCICQe////8HSw0LIAAoAgAhBSACQQtJDQFB1IkLQQA2AgBBBCACQQ9yQQFqIgYQBiEEQdSJ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AgAgBSEBIAIhBAwBCyABIAUoAgA2AgAgBSAAKAKoASAKaigCACgCADYCACAAKAKoASAKaigCACAFNgIACyABKAIAIgUNAAsgAyECDAELIAAoAqgBIQFBACECIABBADYCqAEgAQRAIAEQWgsgAEEANgKsAQsgAiACQQFrIgFxRQRAIAEgBnEhBgwBCyACIAZLDQAgBiACcCEGCyAAKAKoASAGQQJ0aiIBKAIAIgMNASAHIAAoArABNgIAIAAgBzYCsAEgASALNgIAIAcoAgAiAUUNAiABKAIEIQECQCACIAJBAWsiA3FFBEAgASADcSEBDAELIAEgAkkNACABIAJwIQELIAAoAqgBIAFBAnRqIAc2AgAMAgsgASgCDCEBDAILIAcgAygCADYCACADIAc2AgALIAAgACgCtAFBAWo2ArQBQcQAEFwiASAINgIIIAFBADYCACABQQA2AgwgASAJKQIINwIQIAEgCSkCEDcCGCABIAkpAhg3AiAgASAJKQIgNwIoIAEgCSkCKDcCMCABQUBrQQA2AgAgAUIANwI4IAEgDjYCBCABIAAoArwBIgM2AgAgAyABNgIEIAAgATYCvAEgACAAKALEAUEBajYCxAEgByABNgIMCyABQQxqIgMgAEHsAGoiAikCADcCACABIAIoAig2AjQgASACKQIgNwIsIAEgAikCGDcCJCABIAIpAhA3AhwgASACKQIINwIUIAIgA0YNACABQThqIAAoApgBIgEgACgCnAEiACAAIAFrQQJ1EMgFCyAJQTBqJAAPC0Hw7QVBxZgDQZQGQY3eABABAAsQACETIAcQWiATEAcAC+kBAQV/QcgAEFwiAkG0hgg2AgAgAkIANwIEIAIgASgCADYCECACIAEoAgg2AhhB1IkLQQA2AgBBwAAgAkEgaiABQRBqEAIhBEHUiQsoAgAhA0HUiQtBADYCAAJAAkAgA0EBRwRAIAJBQGtBADYCACACQThqIgVCADcCACABKAIsIQMgASgCKCEBQdSJC0EANgIAQbsBIAUgASADIAMgAWtBGG0QBUHUiQsoAgAhBkHUiQtBADYCACAGQQFHDQIQACEBIAQQWRoMAQsQACEBCyACEFogARAHAAsgACACNgIEIAAgAkEQajYCAAuLDQIPfwJ9IwBBEGsiCSQAIAJBldPH3gVsIgRBGHYgBHNBldPH3gVs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AxAFQdSJCygCACEMQdSJC0EANgIAIAxBAUcNBxAAIQEMBgsCQCADKAIARQRAIANBATYCACAAIANGDQEgChBZIQRB1IkLQQA2AgBBwAAgBCAHEAIaQdSJCygCACENQdSJC0EANgIAIA1BAUcNAQwGCyADKAIkIgQgAygCKEcEQEHUiQtBADYCAEHAACAEIAcQAiEFQdSJCygCACEOQdSJC0EANgIAIA5BAUYEQBAAIQEgAyAENgIkDAgLIAMgBUEYajYCJAwBC0HUiQtBADYCAEGyBSALIAcQA0HUiQsoAgAhD0HUiQtBADYCACAPQQFGDQULIAAoAiAiBARAIAQhBSAEIAAoAiQiCEcEQANAIAhBGGsQWSIIIARHDQALIAAoAiAhBQsgACAENgIkIAUQWgsgBxBZGiAJQQFqIgkgBkcNAAsLIABCADcDACAAQgA3AzAgAEIANwMoIABCADcDICAAQgA3AxggAEIANwMQIABCADcDCAsPC0HFogFBiaIDQbwBQaaIBRABAAsQACEBCyAAEGggARAHCwALYQEBfyMAQSBrIgIkACAAKAIAQTZHBEBB6KMGQae3AkGrHkHXgAEQAQALIAIgARBsNgIcIAIgATYCGCACIAIpAhg3AwggAkEQaiACQQhqEGUgACACKQMQNwIIIAJBIGokAAvLAgECfyMAQUBqIgMkACADQQhqIAEgAkEAEPcJAkAgAygCOARAIABCADcDACAAQgA3AyggAEIANwMgIABCADcDGCAAQgA3AxAgAEIANwMIDAELIAAgAygCCDYCAEHUiQtBADYCAEHAACAAQQhqIANBEGoQAiEBQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAIABCADcDICAAQQA2AihB1IkLQQA2AgBBuwEgAEEgaiADKAIoIgAgAygCLCICIAIgAGtBGG0QBUHUiQsoAgAhBEHUiQtBADYCACAEQQFHDQIQACEAIAEQWRoMAQsQACEACyADQQhqEGggABAHAAsgAygCKCICBEAgAiEBIAIgAygCLCIARwRAA0AgAEEYaxBZIgAgAkcNAAsgAygCKCEBCyADIAI2AiwgARBaCyADQRBqEFkaIANBQGskAAviAgEFfyMAQSBrIgckAAJAIAFFBEAgAkEwaiEADAELIABBBGoiAyABQQJ0IgJqIAAoAiwiACACakEo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AikCODcD+AEgAyACKQIwNwPwASADIAIpAig3A+gBIAMgAikCIDcD4AEgAyACKQIYNwPYASADQYACaiACQUBrEOMBIQRB1IkLQQA2AgBBmgEgA0GUAmogAkHUAGoQAiEFQdSJCygCACERQdSJC0EANgIAIBFBAUYNAiADIAIoAmg2AqgCIAMgAigCbCICNgKsAiACBEAgAiACKAIEQQFqNgIECyADQQEgAygC4AEiAiACQQBKGzYC4AEgAyADKQPoATcDGCADIAMpA/ABNwMgIAMgAykD+AE3AyggAyADKQPgATcDECADQQEgAygC3AEiAiACQQBKGzYC3AFB1IkLQQA2AgAgAyADKQPYATcDCEGbASADQTBqIAQQAiEEQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBxABqIAUQAiEFQdSJCygCACESQdSJC0EANgIAIBJBAUYNBSADIAMoAqwCIgI2AlwgAyADKAKoAjYCWCACBEAgAiACKAIEQQFqNgIECyADQQA2AnggAyADKQMQNwKEASADIAMpAxg3AowBIAMgAykDIDcClAEgAyADKQMoNwKcASADQgA3AnAgA0H87Ak2AmQgAyADKQMINwJ8QdSJC0EANgIAIAMgATYCaCADIAFBqAFqNgJsQZsBIANBpAFqIAQQAiEBQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBuAFqIAUQAhpB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRwRAIAMgAygCWDYCzAEgAyADKAJcIgE2AtABIAEEQCABIAEoAgRBAWo2AgQLIANBADsB1AEgA0EIahBhIANBAToA1AEgACgCACgCFCEUQdSJC0EANgIAIBQgABAGIQBB1IkLKAIAIRVB1IkLQQA2AgAgFUEBRg0EIAMoAmQoAgghFkHUiQtBADYCACAWIANB5ABqIgEgABADQdSJCygCACEXQdSJC0EANgIAIBdBAUYNBEHUiQtBADYCAEGXASABEApB1IkLKAIAIRhB1IkLQQA2AgAgGEEBRg0EIANB/OwJNgJkIANB/ABqEGEgAygCcCIBBEAgAygCdCIAIAEiAkcEQANAIABBBGsiACgCACECIABBADYCACACBEAgAiACKAIAKAIEEQEACyAAIAFHDQAL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AEHUiQsoAgAhAUHUiQtBADYCAAJAIAFBAUcEQEHUiQtBADYCAEEJIABBCGpB+ZkFQQgQBCEBQdSJCygCACENQdSJC0EANgIAIA1BAUYNAUHUiQtBADYCAEEJIAEgAigCACACIAItAAsiAcBBAEgiBBsgAigCBCABIAQbEAQhAUHUiQsoAgAhDkHUiQtBADYCACAOQQFGDQFB1IkLQQA2AgBBCSABQe38BkECEAQaQdSJCygCACEPQdSJC0EANgIAIA9BAUYNASADKQIAIRRB1IkLQQA2AgBBISAAIBQQuAIhAUHUiQsoAgAhEEHUiQtBADYCACAQQQFGDQFB1IkLQQA2AgBBIiABQd+bARACIRJB1IkLKAIAIRFB1IkLQQA2AgAgEUEBRg0BIBIQcQALEAAhAQwCCwwEC0HUiQtBADYCAEExIAJBDGogByAEIAMQBUHUiQsoAgAhAUHUiQtBADYCAAJAIAFBAUYNACACKAIMIAM2AhACQCAAKAIcIgEgACgCIEkEQCABIAM2AgAgACABQQRqNgIcDAELQdSJC0EANgIAQTAgAEEYaiACQZwBahADQdSJCygCACETQdSJC0EANgIAIBNBAUYNASACKAKcASIARQ0AIAAQWgsgAiwAC0EASARAIAIoAgAQWgsgAkGgAWokACADDwsQACEBIAIoApwBIQMLIAJBADYCnAEgA0UNAQsgAxBaCyACLAALQQBIBEAgAigCABBaCyABEAcACxAAGiAAEHEACxEAQQgQXCIAQdSCCDYCACAAC90eAQ5/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgASgCACICKAIADl4AAQIDBAUGBwgJCgsMDR4fICEiIyQlNTYODxAREhMUFRYXGBkaGxwdNyYnKCkqKywtLi8wMTIzNDg5Ojs8PT4/QEFCQ0RF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QRxqEFgLIABBt/IAIAJBGGoQWAsgAEG38gAgAkEUahBYCyAAQbfyACACQRBqEFgPCyAAQbfyACACQRRqEFgLIABBt/IAIAJBEGoQWAsgAEG38gAgAkEMahBYDwsgAEG38gAgAkEoahBYCyAAQbfyACACQSRqEFgPCyAAQbfyACACQRxqEFggAEG38gAgAkEYahBYDwsgAEG38gAgAkEUahBYCyAAQbfyACACQRBqEFgLIABBt/IAIAJBDGoQWAsgAEG38gAgAkEIahBYDwsgAEEYakG38gAgAkEIahBbDwsgA0G38gAgAkEMahBYC/IPARh/IwBBsAJrIgMkAAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCBARAIAAgACgCACgCEBECAARAIAMgACgCBCICKQI4NwP4ASADIAIpAjA3A/ABIAMgAikCKDcD6AEgAyACKQIgNwPgASADIAIpAhg3A9gBIANBgAJqIAJBQGsQ4wEhBEHUiQtBADYCAEGaASADQZQCaiACQdQAahACIQVB1IkLKAIAIRFB1IkLQQA2AgAgEUEBRg0CIAMgAigCaDYCqAIgAyACKAJsIgI2AqwCIAIEQCACIAIoAgRBAWo2AgQLIANBASADKALgASICIAJBAEobNgLgASADIAMpA+gBNwMYIAMgAykD8AE3AyAgAyADKQP4ATcDKCADIAMpA+ABNwMQIANBASADKALcASICIAJBAEobNgLcAUHUiQtBADYCACADIAMpA9gBNwMIQZsBIANBMGogBBACIQRB1IkLKAIAIQJB1IkLQQA2AgACQCACQQFHBEBB1IkLQQA2AgBBmgEgA0HEAGogBRACIQVB1IkLKAIAIRJB1IkLQQA2AgAgEkEBRg0FIAMgAygCrAIiAjYCXCADIAMoAqgCNgJYIAIEQCACIAIoAgRBAWo2AgQLIANBADYCeCADIAMpAxA3AoQBIAMgAykDGDcCjAEgAyADKQMgNwKUASADIAMpAyg3ApwBIANCADcCcCADQfzsCTYCZCADIAMpAwg3AnxB1IkLQQA2AgAgAyABNgJoIAMgAUGoAWo2AmxBmwEgA0GkAWogBBACIQFB1IkLKAIAIQJB1IkLQQA2AgACQCACQQFHBEBB1IkLQQA2AgBBmgEgA0G4AWogBRACGkHUiQsoAgAhE0HUiQtBADYCACATQQFH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VQsgAEGS8QAgARBYIAIoAgBBH0cNSAxNCyAAQZPxACABEFggAigCAEEgRw1HDFELIABBlPEAIAEQWCACKAIAQSFHDUYMUQsgAEGV8QAgARBYIAIoAgBBIkcNRSAAQfXwACACQSBqEFgPCyAAQZbxACABEFggAigCAEEjRw1EDFELIABBl/EAIAEQWCACKAIAQSRHDUMMSgsgAEGY8QAgARBYIAIoAgBBJUYNQQxCCyAAQZnxACABEFggAigCAEEmRw1BDEULIABBmvEAIAEQWCACKAIAQSdHDUAMRAsgAEGb8QAgARBYIAIoAgBBDkYNPgw/CyAAQZzxACABEFggAigCAEEPRw0+DEoLIABBnfEAIAEQWCACKAIAQRBHDT0MSAsgAEGe8QAgARBYIAIoAgBBEUcNPAxACyAAQZ/xACABEFggAigCAEESRw07DEsLIABBoPEAIAEQWCACKAIAQRNHDTogAigCCEUNOQxLCyAAQaHxACABEFggAigCAEEURg04DDkLIABBovEAIAEQWCACKAIAQRVHDTgMSAsgAEGj8QAgARBYIAIoAgBBKUYNNgw3CyAAQaTxACABEFggAigCAEEqRw02DEYLIABBpfEAIAEQWCACKAIAQStGDTQMNQsgAEGm8QAgARBYIAIoAgBBLEcNNAw5CyAAQafxACABEFggAigCAEEtRw0zDDwLIABBqPEAIAEQWCACKAIAQS5HDTIMOgsgAEGp8QAgARBYIAIoAgBBL0YNMAwxCyAAQarxACABEFggAigCAEEwRw0wDDgLIABBq/EAIAEQWCACKAIAQTFHDS8MNgsgAEGs8QAgARBYIAIoAgBBMkcNLgwyCyAAQa3xACABEFggAigCAEEzRw0tIAIoAigiAUEASgRAIABBBGohAwNAIAFBAWsiBCACKAIoTw0wIAIoAiQgBEECdGoiBSgCAEUNMSADQfXwACAFEFsgAUEBSyEJIAQhASAJDQALCww2CyAAQa7xACABEFggAigCAEE0RgRADD0LDCwLIABBr/EAIAEQWCACKAIAQTVHDSsgAigCFCIBQQBMDSogAEEEaiEEA0AgAUEBayIAIAIoAhRPDS0gAigCECAAQQJ0aiIDKAIARQ0uIARB9fAAIAMQWyABQQFLIQogACEBIAoNAAsMKgsgAEGw8QAgARBYIAIoAgBBNkYNKQwq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ASgCTCABKAJIIgdrQQJ1SQ0ACyADIAI2ApACIAMgBDYCmAILIAMoAtADIgQEQANAIAQoAgAhIyAEEFogIyIEDQALCyADKALIAyECIANBADYCyAMgAgRAIAIQWgsgACgCBCEEQdSJC0EANgIAQQRBIBAGIQJB1IkLKAIAIQVB1IkLQQA2AgACQCAFQQFGDQAgAyACNgKoAiADQpuAgICAhICAgH83AqwCIAJBrKAEKAAANgAXIAJBpaAEKQAANwAQIAJBnaAEKQAANwAIIAJBlaAEKQAANwAAIAJBADoAGyAEQUBrKAIAIAQoAkQgA0GoAmoQwwMhJCACEFogJEUEQCADQQ42AswDIANBm+UCNgLIA0HUiQtBADYCACADIAMpAsgDNwNgQQYgA0H4AWogA0HgAGoQA0HUiQsoAgAhJUHUiQtBADYCACAlQQFGDQEgA0ENNgLMAyADQarlAjYCyANB1IkLQQA2AgAgAyADKQLIAzcDWEEGIANB0AFqIANB2ABqEANB1IkLKAIAISZB1IkLQQA2AgAgJkEBRg0BQdSJC0EANgIAQfjwACABIANBkAJqIgIgAykD+AEgAykD0AEQ5QJB1IkLKAIAISdB1IkLQQA2AgAgJ0EBRg0BIANBDTYCzAMgA0HivgE2AsgDQdSJC0EANgIAIAMgAykCyAM3A1BBBiADQZgBaiADQdAAahADQdSJCygCACEoQdSJC0EANgIAIChBAUYNASADQQw2AswDIANB8L4BNgLIA0HUiQtBADYCACADIAMpAsgDNwNIQQYgA0HoAWogA0HIAGoQA0HUiQsoAgAhKUHUiQtBADYCACApQQFGDQFB1IkLQQA2AgBB+PAAIAEgAiADKQOYASADKQPoARDlAkHUiQsoAgAhKkHUiQtBADYCACAqQQFGDQEgA0EONgLMAyADQZvlAjYCyANB1IkLQQA2AgAgAyADKQLIAzcDQEEGIANBwAFqIANBQGsQA0HUiQsoAgAhK0HUiQtBADYCACArQQFGDQEgASADKQPAARDWAyADQQ02AswDIANBquUCNgLIA0HUiQtBADYCACADIAMpAsgDNwM4QQYgA0GwAWogA0E4ahADQdSJCygCACEsQdSJC0EANgIAICxBAUYNASABIAMpA7ABENYDCyADQRM2AswDIANB464BNgLIA0HUiQtBADYCACADIAMpAsgDNwMwQQYgA0GQAWogA0EwahADQdSJCygCACEtQdSJC0EANgIAIC1BAUYNACADQRI2AswDIANB964BNgLIA0HUiQtBADYCACADIAMpAsgDNwMoQQYgA0GIAWogA0EoahADQdSJCygCACEuQdSJC0EANgIAIC5BAUYNAEHUiQtBADYCAEH48AAgASADQZACaiADKQOQASADKQOIARDlAkHUiQsoAgAhL0HUiQtBADYCACAvQQFGDQAgA0ENNgLMAyADQeK+ATYCyANB1IkLQQA2AgAgAyADKQLIAzcDIEEGIANBgAFqIANBIGoQA0HUiQsoAgAhMEHUiQtBADYCACAwQQFGDQAgASADKQOAARDWAyADQQw2AswDIANB8L4BNgLIA0HUiQtBADYCACADIAMpAsgDNwMYQQYgA0H4AGogA0EYahADQdSJCygCACExQdSJC0EANgIAIDFBAUYNACABIAMpA3gQ1gMgA0ETNgLMAyADQeOuATYCyANB1IkLQQA2AgAgAyADKQLIAzcDEEEGIANB8ABqIANBEGoQA0HUiQsoAgAhMkHUiQtBADYCACAyQQFGDQAgASADKQNwENYDIANBEjYCzAMgA0H3rgE2AsgDQdSJC0EANgIAIAMgAykCyAM3AwhBBiADQegAaiADQQhqEANB1IkLKAIAITNB1IkLQQA2AgAgM0EBRg0AIAEgAykDaBDWAyADKAKQAiICBEAgAyACNgKUAiACEFoLIAAoAgQhBCADQSAQXCICNgLIAyADQpuAgICAhICAgH83AswDIAJBrKAEKAAANgAXIAJBpaAEKQAANwAQIAJBnaAEKQAANwAIIAJBlaAEKQAANwAAIAJBADoAGyAEQUBrKAIAIAQoAkQgA0HIA2oQwwMhBCACEFogA0IANwKAAyADQgA3AogDIANBADYCoAMgA0IANwKoAiADQgA3ApgDIAMgBEEARzoAlAMgAyABNgKQAwJAAkACQAJAAkAgASgCACIFIAEoAgQiCUYNAAJAA0ACQCAFKAIAIQYCQCADLQCUAw0AQfisCykDACJzQiCIpyICIAYoAgRLDQAgBigCACBzpyACEF4NACADKAKcAyIEIAMoAqADRwRAIAQgBikCADcCACAEIAYoAhA2AhAgBCAGKQIINwIIIAMgBEEUajYCnAMMAQsgBCADKAKYAyII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gAghBQsgAyAFNgK4AgsCQCACIARGDQADQCAEKAIAEFogBEEEaiIEIAJHDQALIAMoArACIgIgAygCrAIiBEYNACADIAIgBCACa0EDakF8cWo2ArACCyADKAKoAiICBEAgAhBaCwJAAkAgAygCiAIiBCADQfgBaiIFRgRAQQQhAiAFIQQMAQtBBSECIARFDQELIAQgBCgCACACQQJ0aigCABEBAAsCQAJAIAMoAqACIgQgA0GQAmoiBUYEQEEEIQIgBSEEDAELQQUhAiAERQ0BCyAEIAQoAgAgAkECdGooAgARAQALAkACQCADKALYAyIEIANByANqIgVGBEBBBCECIAUhBAwBC0EFIQIgBEUNAQsgBCAEKAIAIAJBAnRqKAIAEQEACyADQQA2AqQDIANCADcCnAMgA0IANwK4AiADQQA2AsACIANCADcClAMgA0IANwKwAiADIBA2AqgDIANBuIQINgKoAiADIANBwAFqNgKsAyAAKAIEIQBB1IkLQQA2AgAgAyAANgKsAkH98AAgA0GoAmogARADQdSJCygCACFxQdSJC0EANgIAIHFBAUYNAiADKAKUAyIABEAgAyAANgKYAyAAEFoLIANBkO0JNgKoAiADLAC7AkEASARAIAMoArACEFoLIAMoArgBEPYECyADKALAASIARQ0AIAMgADYCxAEgABBaCyADQcAEaiQADwsQACEEIANBqAJqEOQBGgwBCxAAIQQgA0GoAmoQgQYCQAJAIAMoAogCIgIgA0H4AWoiAEYEQEEEIQcgACECDAELQQUhByACRQ0BCyACIAIoAgAgB0ECdGooAgARAQALAkACQCADKAKgAiICIANBkAJqIgBGBEBBBCEHIAAhAgwBC0EFIQcgAkUNAQsgAiACKAIAIAdBAnRqKAIAEQEACwJAIAMoAtgDIgIgA0HIA2oiAEYEQEEEIQcgACECDAELQQUhByACRQ0BCyACIAIoAgAgB0ECdGooAgARAQALIAMoArgBEPYEDAcLEAAhBCADQagCahDWDRoMAQsQACEEIANBqAJqEOQBGgsCQCADKAKgAiICIANBkAJqIgBGBEBBBCEHIAAhAgwBC0EFIQcgAkUNAQsgAiACKAIAIAdBAnRqKAIAEQEACyADQcgDahB8GgsCQCADKAKIAiICIANB+AFqIgBGBEBBBCEHIAAhAgwBC0EFIQcgAkUNAQsgAiACKAIAIAdBAnRqKAIAEQEACyADKALwARD2BAJAIAMoAuABIgIgA0HQAWoiAEYEQEEEIQcgACECDAELQQUhByACRQ0BCyACIAIoAgAgB0ECdGooAgARAQALIAMoArgBEPYEAkAgAygCqAEiAiADQZgBaiIARgRAQQQhByAAIQIMAQtBBSEHIAJFDQELIAIgAigCACAHQQJ0aigCABEBAAsgAygCwAEiAEUNCSADIAA2AsQBDAsLEAAhBCADKALAASIARQ0IDAoLQdSJC0EANgIAQQMQCQwBC0HUiQtBADYCAEENIAIgDCAEIAoQBQtB1IkLKAIAIXJB1IkLQQA2AgAgckEBRw0GCxAAIQQgAygCmAMiAARAIAMgADYCnAMgABBaCyADKAKAAyIABEAgAyAANgKEAyAAEFoLDAQLEAAhBAwCCxAAIQQgAygCgAMiAEUNACADIAA2AoQDIAAQWgsgA0HIA2oQogELIAMoApACIgBFDQAMAgsgBBAHAAsACyAAEFogBBAHAAufHwEOfyAALQBsRQRAIABBAToAbCAAIQMCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAIgIoAgAOXgABAgMEBQYHCAkKCwwNHh8gISIjJCU1Ng4PEBESExQVFhcYGRobHB03JicoKSorLC0uLzAxMjM0ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXABvC0GY/QNB5bMDQeoBEGIACyADQZjwACABEFggAigCAEEBRw1bIAIoAhQiAEEATA1tIANBBGohAwNAIABBAWsiASACKAIUTw1dIAIoAhAgAUECdGoiBCgCAEUNXiADQZfwACAEEFsgAEEBSyEGIAEhACAGDQALDG0LIANBmfAAIAEQWCACKAIAQQJHDVogAigCEARAIANBBGpBl/AAIAJBEGoQWwsMXwsgA0Ga8AAgARBYIAIoAgBBA0cNWQxiCyADQZvwACABEFggAigCAEEERw1YIAIoAhQEQCADQQRqQZfwACACQRRqEFsLIAIoAhBFDWogA0EEakGX8AAgAkEQahBbDGoLIANBnPAAIAEQWCACKAIAQQVHDVcgA0GX8AAgAkEkahBYIAIoAiBFDWkgA0EEakGX8AAgAkEgahBbDGkLIANBnfAAIAEQWCACKAIAQQZHDVYgAigCDCIAQQBMDWggA0EEaiEDA0AgAEEBayIBIAIoAgxPDVggAigCCCABQQJ0aiIEKAIARQ1ZIANBl/AAIAQQWyAAQQFLIQcgASEAIAcNAAsMaAsgA0Ge8AAgARBYIAIoAgBBB0cNVSADQZfwACACQRxqEFggAigCECIAQQBMDWcgA0EEaiEDA0AgAEEBayIBIAIoAhBPDVcgAigCDCABQQJ0aiIEKAIARQ1YIANBl/AAIAQQWyAAQQFLIQggASEAIAgNAAsMZwsgA0Gf8AAgARBYIAIoAgBBCEYNZgxUCyADQaDwACABEFggAigCAEEJRw1TDF8LIANBofAAIAEQWCACKAIAQQpGDWQMUgsgA0Gi8AAgARBYIAIoAgBBC0cNUQxaCyADQaPwACABEFggAigCAEEMRw1QDF4LIANBpPAAIAEQWCACKAIAQQ1HDU8MXAsgA0Gl8AAgARBYIAIoAgBBGEcNTgxdCyADQabwACABEFggAigCAEEZRw1NIANBl/AAIAJBIGoQWAxcCyADQafwACABEFggAigCAEEaRw1MDFMLIANBqPAAIAEQWCACKAIAQRtHDUsMUwsgA0Gp8AAgARBYIAIoAgBBHEYNXAxKCyADQarwACABEFggAigCAEEdRw1JDFULIANBq/AAIAEQWCACKAIAQR5HDUggA0GX8AAgAkEUahBYDFQLIANBrPAAIAEQWCACKAIAQR9HDUcMTAsgA0Gt8AAgARBYIAIoAgBBIEcNRgxQCyADQa7wACABEFggAigCAEEhRw1FDFALIANBr/AAIAEQWCACKAIAQSJHDUQgA0GX8AAgAkEgahBYDFYLIANBsPAAIAEQWCACKAIAQSNHDUMMUAsgA0Gx8AAgARBYIAIoAgBBJEcNQgxJCyADQbLwACABEFggAigCAEElRg1TDEELIANBs/AAIAEQWCACKAIAQSZHDUAMRAsgA0G08AAgARBYIAIoAgBBJ0cNPwxDCyADQbXwACABEFggAigCAEEORg1QDD4LIANBtvAAIAEQWCACKAIAQQ9HDT0MSQsgA0G38AAgARBYIAIoAgBBEEcNPAxHCyADQbjwACABEFggAigCAEERRw07DD8LIANBufAAIAEQWCACKAIAQRJHDToMSgsgA0G68AAgARBYIAIoAgBBE0cNOQxKCyADQbvwACABEFggAigCAEEURg1KDDgLIANBvPAAIAEQWCACKAIAQRVHDTcMRwsgA0G98AAgARBYIAIoAgBBKUYNSAw2CyADQb7wACABEFggAigCAEEqRw01DEULIANBv/AAIAEQWCACKAIAQStGDUYMNAsgA0HA8AAgARBYIAIoAgBBLEcNMww4CyADQcHwACABEFggAigCAEEtRw0yDDsLIANBwvAAIAEQWCACKAIAQS5HDTEMOQsgA0HD8AAgARBYIAIoAgBBL0YNQgwwCyADQcTwACABEFggAigCAEEwRw0vDDcLIANBxfAAIAEQWCACKAIAQTFHDS4MNQsgA0HG8AAgARBYIAIoAgBBMkcNLQwxCyADQcfwACABEFggAigCAEEzRw0sIAIoAigiAEEASgRAIANBBGohBANAIABBAWsiASACKAIoTw0vIAIoAiQgAUECdGoiBSgCAEUNMCAEQZfwACAFEFsgAEEBSyEJIAEhACAJDQALCww1CyADQcjwACABEFggAigCAEE0Rg07DCsLIANByfAAIAEQWCACKAIAQTVHDSogAigCFCIAQQBMDTwgA0EEaiEDA0AgAEEBayIBIAIoAhRPDSwgAigCECABQQJ0aiIEKAIARQ0tIANBl/AAIAQQWyAAQQFLIQogASEAIAoNAAsMPAsgA0HK8AAgARBYIAIoAgBBNkYNOwwpCyADQcvwACABEFggAigCAEE3Rw0oDDgLIANBzPAAIAEQWCACKAIAQRZGDTkMJwsgA0HN8AAgARBYIAIoAgBBF0YNOAwmCyADQc7wACABEFggAigCAEEoRg03DCULIANBz/AAIAEQWCACKAIAQThHDSQgAigCDCIAQQBMDTYgA0EEaiEDA0AgAEEBayIBIAIoAgxPDSYgAigCCCABQQJ0aiIEKAIARQ0nIANBl/AAIAQQWyAAQQFLIQsg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AWsiAyACKAIwTw0CIAIoAiwgA0ECdGoiBCgCAEUNFCAFQa7vACAEEFsgAEEBSyERIAMhACARDQALDBILQfDtBUHFmANBlAZBjd4AEAEAC0HFogFBiaIDQbwBQaaIBRABAAsgAEGu7wAgAkEcahBYCyAAQa7vACACQRhqEFgLIABBru8AIAJBFGoQWAsgAEGu7wAgAkEQahBYDAwLIABBru8AIAJBFGoQWAsgAEGu7wAgAkEQahBYCyAAQa7vACACQQxqEFgMCQsgAEGu7wAgAkEoahBYCyAAQa7vACACQSRqEFgMBwsgAEGu7wAgAkEcahBYIABBru8AIAJBGGoQWAwGCyAAQa7vACACQRRqEFgLIABBru8AIAJBEGoQWAsgAEGu7wAgAkEMahBYCyAAQa7vACACQQhqEFgMAgsgAigCCEUNASADQRhqQa7vACACQQhqEFsMAQsgAEGu7wAgAkEMahBYCyABKAIARQ0AIAdBsO8AIAEQWw8LC0GBgwJB05kDQbkCQa73AhABAAvvDwEYfyMAQbACayIDJAACQAJAAkACQAJAAkACQAJAAkACQAJAIAAoAgQEQCAAIAAoAgAoAhARAgAEQCADIAAoAgQiAikCODcD+AEgAyACKQIwNwPwASADIAIpAig3A+gBIAMgAikCIDcD4AEgAyACKQIYNwPYASADQYACaiACQUBrEOMBIQRB1IkLQQA2AgBBmgEgA0GUAmogAkHUAGoQAiEFQdSJCygCACERQdSJC0EANgIAIBFBAUYNAiADIAIoAmg2AqgCIAMgAigCbCICNgKsAiACBEAgAiACKAIEQQFqNgIECyADQQEgAygC4AEiAiACQQBKGzYC4AEgAyADKQPoATcDGCADIAMpA/ABNwMgIAMgAykD+AE3AyggAyADKQPgATcDECADQQEgAygC3AEiAiACQQBKGzYC3AFB1IkLQQA2AgAgAyADKQPYATcDCEGbASADQTBqIAQQAiEEQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBxABqIAUQAiEFQdSJCygCACESQdSJC0EANgIAIBJBAUYNBSADIAMoAqwCIgI2AlwgAyADKAKoAjYCWCACBEAgAiACKAIEQQFqNgIECyADQQA2AnggAyADKQMQNwKEASADIAMpAxg3AowBIAMg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ACEOQdSJC0EANgIAIA5BAUYNAkHUiQtBADYCAEHAACADQagBaiAGEAIhAkHUiQsoAgAhD0HUiQtBADYCACAPQQFHBEACfAJAAkAgAigCECIHQQdPBEBB1IkLQQA2AgBBDUHhzQZBn58DQcMBQfPnBBAFQdSJCygCACEQQdSJC0EANgIAIBBBAUYNAQwNCwJAAkAgB0EEaw4CAwABCyACKwMADAMLQdSJC0EANgIAQYkCEAlB1IkLKAIAIRFB1IkLQQA2AgAgEUEBRw0MCxAAIQEgAhBZGiAGEFkaDAYLIAIqAgC7CyETIAIQWRogACgCCCIABEAgACATOQMAC0HUiQtBADYCAEHAACADQfgAaiAEEAIhAEHUiQsoAgAhEkHUiQtBADYCACASQQFHDQULEAAhASAGEFkaDAMLEAAhAQwGCxAAIQEgBRBZGgwFCxAAIQELIAQQWRogBRBZGgwDCyAAEFkaIAYQWRogBBBZGgsgBRBZGiABEFkaIANBwAFqJAAgCEEERg8LEAAhASACEFkaCyADQcgAahBZGiABEAcACwAL3R4BDn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAIgIoAgAOXgABAgMEBQYHCAkKCwwNHh8gISIjJCU1Ng4PEBESExQVFhcYGRobHB03JicoKSorLC0uLzAxMjM0ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXABdC0GY/QNB5bMDQeoBEGIACyAAQfPtACABEFggAigCAEEBRw1cIAIoAhQiAUEATA1bIABBBGohBANAIAFBAWsiACACKAIUTw1eIAIoAhAgAEECdGoiAygCAEUNXyAEQertACADEFsgAUEBSyEGIAAhASAGDQALDFsLIABB9O0AIAEQWCACKAIAQQJHDVsgAigCEARAIABBBGpB6u0AIAJBEGoQWwsMYAsgAEH17QAgARBYIAIoAgBBA0cNWgxjCyAAQfbtACABEFggAigCAEEERw1ZIAIoAhQEQCAAQQRqQertACACQRRqEFsLIAIoAhBFDVggAEEEakHq7QAgAkEQahBbDwsgAEH37QAgARBYIAIoAgBBBUcNWCAAQertACACQSRqEFggAigCIEUNVyAAQQRqQertACACQSBqEFsPCyAAQfjtACABEFggAigCAEEGRw1XIAIoAgwiAUEATA1WIABBBGohBANAIAFBAWsiACACKAIMTw1ZIAIoAgggAEECdGoiAygCAEUNWiAEQertACADEFsgAUEBSyEHIAAhASAHDQALDFYLIABB+e0AIAEQWCACKAIAQQdHDVYgAEHq7QAgAkEcahBYIAIoAhAiAUEATA1VIABBBGohBANAIAFBAWsiACACKAIQTw1YIAIoAgwgAEECdGoiAygCAEUNWSAEQertACADEFsgAUEBSyEIIAAhASAIDQALDFULIABB+u0AIAEQWCACKAIAQQhGDVQMVQsgAEH77QAgARBYIAIoAgBBCUcNVAxgCyAAQfztACABEFggAigCAEEKRg1SDFMLIABB/e0AIAEQWCACKAIAQQtHDVIMWwsgAEH+7QAgARBYIAIoAgBBDEcNUQxfCyAAQf/tACABEFggAigCAEENRw1QDF0LIABBgO4AIAEQWCACKAIAQRhHDU8MXgsgAEGB7gAgARBYIAIoAgBBGUcNTiAAQertACACQSBqEFgMXQsgAEGC7gAgARBYIAIoAgBBGkcNTQxUCyAAQYPuACABEFggAigCAEEbRw1MDFQLIABBhO4AIAEQWCACKAIAQRxGDUoMSwsgAEGF7gAgARBYIAIoAgBBHUcNSgxWCyAAQYbuACABEFggAigCAEEeRw1JIABB6u0AIAJBFGoQWAxVCyAAQYfuACABEFggAigCAEEfRw1IDE0LIABBiO4AIAEQWCACKAIAQSBHDUcMUQsgAEGJ7gAgARBYIAIoAgBBIUcNRgxRCyAAQYruACABEFggAigCAEEiRw1FIABB6u0AIAJBIGoQWA8LIABBi+4AIAEQWCACKAIAQSNHDUQMUQsgAEGM7gAgARBYIAIoAgBBJEcNQwxKCyAAQY3uACABEFggAigCAEElRg1BDEILIABBju4AIAEQWCACKAIAQSZHDUEMRQsgAEGP7gAgARBYIAIoAgBBJ0cNQAxECyAAQZDuACABEFggAigCAEEORg0+DD8LIABBke4AIAEQWCACKAIAQQ9HDT4MSgsgAEGS7gAgARBYIAIoAgBBEEcNPQxICyAAQZPuACABEFggAigCAEERRw08DEALIABBlO4AIAEQWCACKAIAQRJHDTsMSwsgAEGV7gAgARBYIAIoAgBBE0cNOiACKAIIRQ05DEsLIABBlu4AIAEQWCACKAIAQRRGDTgMOQsgAEGX7gAgARBYIAIoAgBBFUcNOAxICyAAQZjuACABEFggAigCAEEpRg02DDcLIABBme4AIAEQWCACKAIAQSpHDTYMRgsgAEGa7gAgARBYIAIoAgBBK0YNNAw1CyAAQZvuACABEFggAigCAEEsRw00DDkLIABBnO4AIAEQWCACKAIAQS1HDTMMPAsgAEGd7gAgARBYIAIoAgBBLkcNMgw6CyAAQZ7uACABEFggAigCAEEvRg0wDDELIABBn+4AIAEQWCACKAIAQTBHDTAMOAsgAEGg7gAgARBYIAIoAgBBMUcNLww2CyAAQaHuACABEFggAigCAEEyRw0uDDILIABBou4AIAEQWCACKAIAQTNHDS0gAigCKCIBQQBKBEAgAEEEaiEDA0AgAUEBayIEIAIoAihPDTAgAigCJCAEQQJ0aiIFKAIARQ0xIANB6u0AIAUQWyABQQFLIQkgBCEBIAkNAAsLDDYLIABBo+4AIAEQWCACKAIAQTRGBEAMPQsMLAsgAEGk7gAgARBYIAIoAgBBNUcNKyACKAIUIgFBAEwNKiAAQQRqIQQDQCABQQFrIgAgAigCFE8NLSACKAIQIABBAnRqIgMoAgBFDS4gBEHq7QAgAxBbIAFBAUshCiAAIQEgCg0ACwwqCyAAQaXuACABEFggAigCAEE2Rg0pDCoLIABBpu4AIAEQWCACKAIAQTdHDSkMOQsgAEGn7gAgARBYIAIoAgBBFkYNJwwoCyAAQajuACABEFggAigCAEEXRg0mDCcLIABBqe4AIAEQWCACKAIAQShGDSUMJgsgAEGq7gAgARBYIAIoAgBBOEcNJSACKAIMIgFBAEwNJCAAQQRqIQQDQCABQQFrIgAgAigCDE8NJyACKAIIIABBAnRqIgMoAgBFDSggBEHq7QAgAxBbIAFBAUshCyAAIQEgCw0ACwwkCyAAQavuACABEFggAigCAEE5Rw0kDDQLIABBrO4AIAEQWCACKAIAQTpHDSMMMwsgAEGt7gAgARBYIAIoAgBBO0cNIgwyCyAAQa7uACABEFggAigCAEE8Rw0hIABB6u0AIAJBGGoQWCACKAIMIgFBAEwNICAAQQRqIQQDQCABQQFrIgAgAigCDE8NIyACKAIIIABBAnRqIgMoAgBFDSQgBEHq7QAgAxBbIAFBAUshDCAAIQEgDA0ACwwgCyAAQa/uACABEFggAigCAEE9Rw0gDDALIABBsO4AIAEQWCACKAIAQT5HDR8MLwsgAEGx7gAgARBYIAIoAgBBP0cNHiAAQertACACQRRqEFgPCyAAQbLuACABEFggAigCAEHAAEcNHSACKAIMIgFBAEwNHCAAQQRqIQQDQCABQQFrIgAgAigCDE8NHyACKAIIIABBAnRqIgMoAgBFDSAgBEHq7QAgAxBbIAFBAUshDSAAIQEgDQ0ACwwcCyAAQbPuACABEFggAigCAEHBAEcNHAwoCyAAQbTuACABEFggAigCAEHCAEcNGwwmCyAAQbXuACABEFggAigCAEHDAEcNGiAAQertACACQQxqEFggAigCCEUNGQwrCyAAQbbuACABEFggAigCAEHEAEcNGQwhCyAAQbfuACABEFggAigCAEHFAEcNGAwgCyAAQbjuACABEFggAigCAEHGAEcNFyACKAIMIgFBAEwNFiAAQQRqIQQDQCABQQFrIgAgAigCDE8NGSACKAIIIABBAnRqIgMoAgBFDRogBEHq7QAgAxBbIAFBAUshDiAAIQEgDg0ACwwWCyAAQbnuACABEFggAigCAEHHAEcNFgwbCyAAQbruACABEFggAigCAEHIAEcNFQwZCyAAQbvuACABEFggAigCAEHJAEcNFAwkCyAAQbzuACABEFggAigCAEHKAEcNEyAAQertACACQRhqEFgMFgsgAEG97gAgARBYIAIoAgBBywBHDRIMFQsgAEG+7gAgARBYIAIoAgBBzABHDREMFwsgAEG/7gAgARBYIAIoAgBBzQBHDRAMFgsgAEHA7gAgARBYIAIoAgBBzgBHDQ8MGwsgAEHB7gAgARBYIAIoAgBBzwBHDQ4gAigCGARAIABBBGpB6u0AIAJBGGoQWwsgAigCFARAIABBBGpB6u0AIAJBFGoQWwsgAigCEARAIABBBGpB6u0AIAJBEGoQWwsMGgsgAEHC7gAgARBYIAIoAgBB0ABGDQwMDQsgAEHD7gAgARBYIAIoAgBB0QBHDQwMGAsgAEHE7gAgARBYIAIoAgBB0gBHDQsgAigCFARAIABBBGpB6u0AIAJBFGoQWwsMFgsgAEHF7gAgARBYIAIoAgBB0wBHDQoMDwsgAEHG7gAgARBYIAIoAgBB1ABHDQkMFAsgAEHH7gAgARBYIAIoAgBB1QBHDQgMFAsgAEHI7gAgARBYIAIoAgBB1gBHDQcMCwsgAEHJ7gAgARBYIAIoAgBB1wBHDQYMCwsgAEHK7gAgARBYIAIoAgBB2ABHDQUMFQsgAEHL7gAgARBYIAIoAgBB2QBHDQQMDwsgAEHM7gAgARBYIAIoAgBB2gBHDQMMDQsgAEHN7gAgARBYIAIoAgBB2wBHDQIMBwsgAEHO7gAgARBYIAIoAgBB3ABHDQEgAEHq7QAgAkE8ahBYIAIoAjAiAUEATA0AIABBBGohBANAIAFBAWsiACACKAIwTw0DIAIoAiwgAEECdGoiAygCAEUNBCAEQertACADEFsgAUEBSyEPIAAhASAPDQALCw8LQfDtBUHFmANBlAZBjd4AEAEAC0HFogFBiaIDQbwBQaaIBRABAAtBgYMCQdOZA0G5AkGu9wIQAQALIABB6u0AIAJBFGoQWAsgAEHq7QAgAkEQahBYCyAAQertACACQQxqEFgMCgsgAEHq7QAgAkEcahBYCyAAQertACACQRhqEFgLIABB6u0AIAJBFGoQWAsgAEHq7QAgAkEQahBYDwsgAEHq7QAgAkEUahBYCyAAQertACACQRBqEFgLIABB6u0AIAJBDGoQWA8LIABB6u0AIAJBKGoQWAsgAEHq7QAgAkEkahBYDwsgAEHq7QAgAkEcahBYIABB6u0AIAJBGGoQWA8LIABB6u0AIAJBCGoQWA8LIABBBGpB6u0AIAJBCGoQWwuDBgIPfwF+IwBBwAFrIgMkACADQQA2AlggA0IANwNQIANCADcDSEHUiQtBADYCAEHAACADQTBqIAEQAiECQdSJCygCACEBQdSJC0EANgIAAkACQAJAAkAgAUEBRwRAIANByABqEFkhAUHUiQtBADYCAEHAACABIAIQAiEBQdSJCygCACEJQdSJC0EANgIAIAlBAUYNAiACEFkaIAAoAgAiAkUNASABIAJGDQEgAhBZIQJB1IkLQQA2AgBBwAAgAiABEAIaQdSJCygCACEKQdSJC0EANgIAIApBAUcNAQsQACEBDAILQdSJC0EANgIAQcAAIANBGGogARACIQJB1IkLKAIAIQRB1IkLQQA2AgACQAJAAkACQAJAIARBAUcEQEHUiQtBADYCAEHAACADQeAAaiACEAIhBEHUiQsoAgAhC0HUiQtBADYCACALQQFGDQEgBCgCECEHIAQQWRogB0EDRw0FQdSJC0EANgIAQcAAIAMgARACIQRB1IkLKAIAIQxB1IkLQQA2AgAgDEEBRg0BQdSJC0EANgIAQcAAIANBkAFqIAQQAiEFQdSJCygCACENQdSJC0EANgIAIA1BAUYNAkHUiQtBADYCAEHAACADQagBaiAFEAIhBkHUiQsoAgAhDkHUiQtBADYCACAOQQFHBEAgBigCEEEDRwRAQdSJC0EANgIAQQ1B7aYFQeaaA0GhAkGJpAUQBUHUiQsoAgAhD0HUiQtBADYCACAPQQFHDQoQACEBIAYQWRogBRBZGgwFCyAGKQMAIREgBhBZGiAAKAIIIgAEQCAAIBE3AwALQdSJC0EANgIAQcAAIANB+ABqIAQQAiEAQdSJCygCACEQQdSJC0EANgIAIBBBAUcNBQsQACEBIAUQWRoMAwsQACEBDAYLEAAhASACEFkaDAULEAAhAQsgBBBZGiACEFkaDAMLIAAQWRogBRBZGiAEEFkaCyACEFkaIAEQWRogA0HAAWokACAHQQNGDwsQACEBIAIQWRoLIANByABqEFkaIAEQBwsAC+QGAhB/An4jAEHAAWsiAyQAIANBADYCWCADQgA3A1AgA0IANwNIQdSJC0EANgIAQcAAIANBMGogARACIQJB1IkLKAIAIQFB1IkLQQA2AgACQAJAAkACQCABQQFHBEAgA0HIAGoQWSEBQdSJC0EANgIAQcAAIAEgAhACIQFB1IkLKAIAIQhB1IkLQQA2AgAgCEEBRg0CIAIQWRogACgCACICRQ0BIAEgAkYNASACEFkhAkHUiQtBADYCAEHAACACIAEQAhpB1IkLKAIAIQlB1IkLQQA2AgAgCUEBRw0BCxAAIQEMAgtB1IkLQQA2AgBBwAAgA0EYaiABEAIhBUHUiQsoAgAhAkHUiQtBADYCAAJAAkACQCACQQFHBEBB1IkLQQA2AgBBwAAgA0HgAGogBRACIQJB1IkLKAIAIQpB1IkLQQA2AgAgCkEBRg0BIAIoAhAhBCACEFkaQQAhAgJAIARBfnFBAkYEQEHUiQtBADYCAEHAACADIAEQAiEEQdSJCygCACELQdSJC0EANgIAIAtBAUYNA0HUiQtBADYCAEHAACADQZABaiAEEAIhBkHUiQsoAgAhDEHUiQtBADYCACAMQQFGDQRB1IkLQQA2AgBBwAAgA0GoAWogBhACIQJB1IkLKAIAIQ1B1IkLQQA2AgAgDUEBRg0BAn4CQAJAIAIoAhAiB0EHTwRAQdSJC0EANgIAQQ1B4c0GQZ+fA0HDAUHz5wQQBUHUiQsoAgAhDkHUiQtBADYCACAOQQFGDQEMDAsCQAJAIAdBAmsOAgMAAQsgAikDAAwDC0HUiQtBADYCAEGJAhAJQdSJCygCACEPQdSJC0EANgIAIA9BAUcNCwsQACEBIAIQWRogBhBZGgwHCyACNAIACyESIAIQWRogACgCCCICBEAgAiASNwMACyASIAApAxAiE1EEQEHUiQtBADYCAEHAACADQfgAaiAEEAIhEUHUiQsoAgAhEEHUiQtBADYCACAQQQFGDQIgERBZGgsgBhBZGiAEEFkaIBIgE1EhAgsgBRBZGiABEFkaIANBwAFqJAAgAg8LEAAhASAGEFkaDAMLEAAhAQwECxAAIQEgBRBZGgwDCxAAIQELIAQQWRogBRBZGgwBCxAAIQEgAhBZGgsgA0HIAGoQWRogARAHAAsAC28BAX8gASgCEEECa0EFSQRAIABBqAFqQSBBCBBdIgBCADcCBCAAQQ42AgAgAEIANwIMIABCADcCFCABIABBCGoiAkcEQCACEFkgARB6GgsgACABKAIQNgIEIAAPC0GR+wVBmpYDQdYEQazSABABAAuRBgEQfyMAQcABayIDJAAgA0EANgJYIANCADcDUCADQgA3A0hB1IkLQQA2AgBBwAAgA0EwaiABEAIhAkHUiQsoAgAhAUHUiQtBADYCAAJAAkACQAJAIAFBAUcEQCADQcgAahBZIQFB1IkLQQA2AgBBwAAgASACEAIhAUHUiQsoAgAhCUHUiQtBADYCACAJQQFGDQIgAhBZGiAAKAIAIgJFDQEgASACRg0BIAIQWSECQdSJC0EANgIAQcAAIAIgARACGkHUiQsoAgAhCkHUiQtBADYCACAKQQFHDQELEAAhAQwCC0HUiQtBADYCAEHAACADQRhqIAEQAiECQdSJCygCACEEQdSJC0EANgIAAkACQAJAAkACQCAEQQFHBEBB1IkLQQA2AgBBwAAgA0HgAGogAhACIQRB1IkLKAIAIQtB1IkLQQA2AgAgC0EBRg0BIAQoAhAhDCAEKAIAIQYgBBBZGiAMQQJGIAZBAklxIghFDQVB1IkLQQA2AgBBwAAgAyABEAIhBEHUiQsoAgAhDUHUiQtBADYCACANQQFGDQFB1IkLQQA2AgBBwAAgA0GQAWogBBACIQVB1IkLKAIAIQ5B1IkLQQA2AgAgDkEBRg0CQdSJC0EANgIAQcAAIANBqAFqIAUQAiEGQdSJCygCACEPQdSJC0EANgIAIA9BAUcEQCAGKAIQQQJHBEBB1IkLQQA2AgBBDUGZsQVB5poDQZgCQaKuBRAFQdSJCygCACEQQdSJC0EANgIAIBBBAUcNChAAIQEgBhBZGiAFEFkaDAULIAYoAgAhByAGEFkaIAAoAggiAARAIAAgB0EARzoAAAtB1IkLQQA2AgBBwAAgA0H4AGogBBACIQBB1IkLKAIAIRFB1IkLQQA2AgAgEUEBRw0FCxAAIQEgBRBZGgwDCxAAIQEMBgsQACEBIAIQWRoMBQsQACEBCyAEEFkaIAIQWRoMAwsgABBZGiAFEFkaIAQQWRoLIAIQWRogARBZGiADQcABaiQAIAgPCxAAIQEgAhBZGgsgA0HIAGoQWRogARAHCwALBQBBxAELBQBByQELBQBBxwELLAAgASgCACIBKAIAQc4ARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQ6Q0LWwECfyABKAIAIgEoAgBBygBGBEAgACABQQhqIgIgARD3AyAAIAFBEGoiAyABEPcDIAAgASACEOIDRQRAIAAgASADEOIDGgsPC0Hw7QVBxZgDQZQGQY3eABABAAs/AQF/IAEoAgAiASgCAEHJAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABQQhqIgIgARD3AyAAIAEgAhDiAxoLLAAgASgCACIBKAIAQcgARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQ6g0LBQBBxQELPwEBfyABKAIAIgEoAgBBxwBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgAUEIaiICIAEQ9wMgACABIAIQ4gMaCywAIAEoAgAiASgCAEHCAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEOsNCz8BAX8gASgCACIBKAIAQcEARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAFBDGoiAiABEPcDIAAgASACEOIDGgsrACABKAIAIgEoAgBBPkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEOwNCysAIAEoAgAiASgCAEE9RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQ7Q0LKwAgASgCACIBKAIAQTxHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARDuDQsrACABKAIAIgEoAgBBOUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEO8NCysAIAEoAgAiASgCAEEsRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQ8A0LKwAgASgCACIBKAIAQSpHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARDxDQuvAQEBfyABKAIAIgEoAgBBEUYEQCABKAIEQQFHBEAgACABEPMNIgIEQCACKAIEIAAoAhQoAgAoAgRHBEAgAEEBOgCBAQsgAEEUaiIBIAIQeSAALQCDAQRAIABBAToAggEPCyAAQQE6AIMBA0AgAEEAOgCCASABIAAoAhQoAgAQxAIgAC0AggENAAsgAEEAOgCDAQ8LIAAgARDyDQsPC0Hw7QVBxZgDQZQGQY3eABABAAsFAEHIAQsrACABKAIAIgEoAgBBEEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPQNCysAIAEoAgAiASgCAEEPRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQ9Q0LKwAgASgCACIBKAIAQSdHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARD2DQsrACABKAIAIgEoAgBBJkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPcNC80BAQF/IAEoAgAiASgCAEENRgRAAkAgASgCBEEBRg0AIAAoAnwgASgCJCABQRBqIAEpAzAQmAggAUEoaiABLQAIEJcIIAEoAigiACgCAEEPRw0AAkAgACgCCCICQRhGBEAgAUEDNgIsIAAoAgwhAAwBCyABLQAgDQEgAkEhayICQQ1LDQFBASACdEGD4ABxRQ0BIAEtAAggASgCLBDdAkcNASABIAAoAgwiACgCBDYCLAsgASAANgIoCw8LQfDtBUHFmANBlAZBjd4AEAEAC0cAIAEoAgAiASgCAEEMRgRAIAEoAgRBAUcEQCAAKAJ8IAEoAiQgAUEQaiABKQMoEJgICw8LQfDtBUHFmANBlAZBjd4AEAEAC7oBAQF/IAEoAgAiASgCAEELRgRAAkAgASgCBEEBRg0AIAEoAhAiAigCAEEKRw0AIAIoAgggASgCCEcNACABQhY3AgAgACgCFCgCACgCBARAIABBAToAgQELIABBFGoiAiABEHkgAC0AgwEEQCAAQQE6AIIBDwsgAEEBOgCDAQNAIABBADoAggEgAiAAKAIUKAIAEMQCIAAtAIIBDQALIABBADoAgwELDwtB8O0FQcWYA0GUBkGN3gAQAQALKwAgASgCACIBKAIAQQlHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARD4DQs9AQF/IAEoAgAiASgCAEEERgRAIAEoAhQiAgRAIAEgACACEOMDNgIUCw8LQfDtBUHFmANBlAZBjd4AEAEACysAIAEoAgAiASgCAEECRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQ+Q0LBQBBxgELKwAgASgCACIBKAIAQQFHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARD6DQvUBgIRfwF+IwBBwAFrIgMkACADQQA2AlggA0IANwNQIANCADcDSEHUiQtBADYCAEHAACADQTBqIAEQAiECQdSJCygCACEBQdSJC0EANgIAAkACQAJAAkAgAUEBRwRAIANByABqEFkhAUHUiQtBADYCAEHAACABIAIQAiEBQdSJCygCACEJQdSJC0EANgIAIAlBAUYNAiACEFkaIAAoAgAiAkUNASABIAJGDQEgAhBZIQJB1IkLQQA2AgBBwAAgAiABEAIaQdSJCygCACEKQdSJC0EANgIAIApBAUcNAQsQACEBDAILQdSJC0EANgIAQcAAIANBGGogARACIQVB1IkLKAIAIQJB1IkLQQA2AgACQAJAAkACQAJAIAJBAUcEQEHUiQtBADYCAEHAACADQeAAaiAFEAIhAkHUiQsoAgAhC0HUiQtBADYCACALQQFGDQEgAigCECEMIAIQWRogDEF+cSIIQQJHDQVB1IkLQQA2AgBBwAAgAyABEAIhBEHUiQsoAgAhDUHUiQtBADYCACANQQFGDQFB1IkLQQA2AgBBwAAgA0GQAWogBBACIQZB1IkLKAIAIQ5B1IkLQQA2AgAgDkEBRg0CQdSJC0EANgIAQcAAIANBqAFqIAYQAiECQdSJCygCACEPQdSJC0EANgIAIA9BAUcEQAJ+AkACQCACKAIQIgdBB08EQEHUiQtBADYCAEENQeHNBkGfnwNBwwFB8+cEEAVB1IkLKAIAIRBB1IkLQQA2AgAgEEEBRg0BDA0LAkACQCAHQQJrDgIDAAELIAIpAwAMAwtB1IkLQQA2AgBBiQIQCUHUiQsoAgAhEUHUiQtBADYCACARQQFHDQwLEAAhASACEFkaIAYQWRoMBgsgAjQCAAshEyACEFkaIAAoAggiAARAIAAgEzcDAAtB1IkLQQA2AgBBwAAgA0H4AGogBBACIQBB1IkLKAIAIRJB1IkLQQA2AgAgEkEBRw0FCxAAIQEgBhBZGgwDCxAAIQEMBgsQACEBIAUQWRoMBQsQACEBCyAEEFkaIAUQWRoMAwsgABBZGiAGEFkaIAQQWRoLIAUQWRogARBZGiADQcABaiQAIAhBAkYPCxAAIQEgAhBZGgsgA0HIAGoQWRogARAHAAsAC7MLAg5/AX4jAEFAaiIDJAACQAJAAkACfwJAIAEoAgAiBygCAEEQRgRAIANBADYCECADQQA2AgggAyADQSRqNgIAIAcoAgwoAgQiAUEHTw0FIAcoAgggAUECdEHY/wdqKAIARw0DIAcoAhAiASgCAEEORw0DIAMgATYCJCADQShqIAFBCGoQeiEBQdSJC0EANgIAQdvtACADQQhqIAEQAiEMQdSJCygCACEKQdSJC0EANgIAIApBAUYEQBAAIQsgARBZGiALEAcACyABEFkaIAxFDQMgAygCJCIFKAIYIgJBB08NBSAFQQhqIQECQAJAAkACQCACQQJrDgQBAgECAAtB74QEQeaaA0GCARBiAAsgASgCAEEATg0BDAMLIAEpAwBCAFMNAgsgBUEIagwCC0Hw7QVBxZgDQZQGQY3eABABAAsgAyABEJ0FIAMgAygCJEEIaiIBRwRAIAEQWSEBQdSJC0EANgIAQcAAIAEgAxACGkHUiQsoAgAhDUHUiQtBADYCACANQQFGDQMLIAMQWRogAygCJCIBKAIEIgVBB08EQAwECyAHIAVBAnRBvP8HaigCADYCCCABKAIYIgJBB08NAyABQQhqCyEBAkACQAJ+AkACQAJAIAJBAmsOAgIAAQsgASkDAAwCCxAPAAsgATQCAAsiEEL/////P1cEQCAQQv//P1cEQCAQQsAAUQ0CIBBCgMAAUg0DDAILIBBCgIDAAFENASAQQoCAgMAAUg0CDAELIBBC////////P1cEQCAQQoCAgIDAAFENASAQQoCAgICAwABRDQEMAgsgEEKAgICAgIDAAFENACAQQoCAgICAgICAwABRDQAgEEKAgICAgICAwABSDQELIAMgARCdBQJAIAMgAygCJEEIaiIBRwRAIAEQWSEBQdSJC0EANgIAQcAAIAEgAxACGkHUiQsoAgAhDkHUiQtBADYCACAOQQFGDQELIAMQWRogAygCJCgCBCIBQQdPDQQgB0G8/wdB2P8HIAcoAgggAUECdCIBQdj/B2ooAgBGGyABaigCADYCCAwBCwwCCyADIAc2AigCQCAAKAJkIgFFDQAgASgCbEUNACABQeAAaiEJAkAgASgCZCIERQ0AIAdBldPH3gVsIgFBGHYgAXNBldPH3gVsQdTMnvoGcyIBQQ12IAFzQZXTx94FbCIBQQ92IAFzIQUCQCAEaSIGQQFNBEAgBEEBayAFcSEBDAELIAUiASAESQ0AIAEgBHAhAQsgCSgCACABQQJ0aigCACICRQ0AIAIoAgAiAkUNACAGQQFNBEAgBEEBayEGA0ACQCACKAIEIgggBUcEQCAGIAhxIAFGDQEMBAsgAigCCCAHRg0ECyACKAIAIgINAAsMAQsDQAJAIAIoAgQiBiAFRwRAIAQgBk0EfyAGIARwBSAGCyABRg0BDAMLIAIoAgggB0YNAwsgAigCACICDQALCyAERQ0AIAAoAgAoAgAiCEGV08feBWwiAUEYdiABc0GV08feBWxB1Mye+gZzIgFBDXYgAXNBldPH3gVsIgFBD3YgAXMhBQJAIARpIgZBAU0EQCAFIARBAWtxIQEMAQsgBSIBIARJDQAgASAEcCEBCyAJKAIAIAFBAnRqKAIAIgJFDQAgAigCACICRQ0AAkAgBkEBTQRAIARBAWshBANAAkAgBSACKAIEIgZHBEAgBCAGcSABRg0BDAULIAIoAgggCEYNAwsgAigCACICDQALDAILA0ACQCAFIAIoAgQiBkcEQCAEIAZNBH8gBiAEcAUgBgsgAUYNAQwECyACKAIIIAhGDQILIAIoAgAiAg0ACwwBCyADIAkgByADQShqEHggAygCACIBIAIoAhQ2AhQgASACKQIMNwIMCyAAKAIAIAc2AgALIANBQGskAA8LEAAhDyADEFkaIA8QBwALQeHNBkGfnwNBwwFB8+cEEAEAC90eAQ5/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgASgCACICKAIADl4AAQIDBAUGBwgJCgsMDR4fICEiIyQlNTYODxAREhMUFRYXGBkaGxwdNyYnKCkqKywtLi8wMTIzNDg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaW1wAXQtBmP0DQeWzA0HqARBiAAsgAEH/7AAgARBYIAIoAgBBAUcNXCACKAIUIgFBAEwNWyAAQQRqIQQDQCABQQFrIgAgAigCFE8NXiACKAIQIABBAnRqIgMoAgBFDV8gBEHG6wAgAxBbIAFBAUshBiAAIQEgBg0ACwxbCyAAQYDtACABEFggAigCAEECRw1bIAIoAhAEQCAAQQRqQcbrACACQRBqEFsLDGALIABBge0AIAEQWCACKAIAQQNHDVoMYwsgAEGC7QAgARBYIAIoAgBBBEcNWSACKAIUBEAgAEEEakHG6wAgAkEUahBbCyACKAIQRQ1YIABBBGpBxusAIAJBEGoQWw8LIABBg+0AIAEQWCACKAIAQQVHDVggAEHG6wAgAkEkahBYIAIoAiBFDVcgAEEEakHG6wAgAkEgahBbDwsgAEGE7QAgARBYIAIoAgBBBkcNVyACKAIMIgFBAEwNViAAQQRqIQQDQCABQQFrIgAgAigCDE8NWSACKAIIIABBAnRqIgMoAgBFDVogBEHG6wAgAxBbIAFBAUshByAAIQEgBw0ACwxWCyAAQYXtACABEFggAigCAEEHRw1WIABBxusAIAJBHGoQWCACKAIQIgFBAEwNVSAAQQRqIQQDQCABQQFrIgAgAigCEE8NWCACKAIMIABBAnRqIgMoAgBFDVkgBEHG6wAgAxBbIAFBAUshCCAAIQEgCA0ACwxVCyAAQYbtACABEFggAigCAEEIRg1UDFULIABBh+0AIAEQWCACKAIAQQlHDVQMYAsgAEGI7QAgARBYIAIoAgBBCkYNUgxTCyAAQYntACABEFggAigCAEELRw1SDFsLIABBiu0AIAEQWCACKAIAQQxHDVEMXwsgAEGL7QAgARBYIAIoAgBBDUcNUAxdCyAAQYztACABEFggAigCAEEYRw1PDF4LIABBje0AIAEQWCACKAIAQRlHDU4gAEHG6wAgAkEgahBYDF0LIABBju0AIAEQWCACKAIAQRpHDU0MVAsgAEGP7QAgARBYIAIoAgBBG0cNTAxUCyAAQZDtACABEFggAigCAEEcRg1KDEsLIABBke0AIAEQWCACKAIAQR1HDUoMVgsgAEGS7QAgARBYIAIoAgBBHkcNSSAAQcbrACACQRRqEFgMVQsgAEGT7QAgARBYIAIoAgBBH0cNSAxNCyAAQZTtACABEFggAigCAEEgRw1HDFELIABBle0AIAEQWCACKAIAQSFHDUYMUQsgAEGW7QAgARBYIAIoAgBBIkcNRSAAQcbrACACQSBqEFgPCyAAQZftACABEFggAigCAEEjRw1EDFELIABBmO0AIAEQWCACKAIAQSRHDUMMSgsgAEGZ7QAgARBYIAIoAgBBJUYNQQxCCyAAQZrtACABEFggAigCAEEmRw1BDEULIABBm+0AIAEQWCACKAIAQSdHDUAMRAsgAEGc7QAgARBYIAIoAgBBDkYNPgw/CyAAQZ3tACABEFggAigCAEEPRw0+DEoLIABBnu0AIAEQWCACKAIAQRBHDT0MSAsgAEGf7QAgARBYIAIoAgBBEUcNPAxACyAAQaDtACABEFggAigCAEESRw07DEsLIABBoe0AIAEQWCACKAIAQRNHDTogAigCCEUNOQxLCyAAQaLtACABEFggAigCAEEURg04DDkLIABBo+0AIAEQWCACKAIAQRVHDTgMSAsgAEGk7QAgARBYIAIoAgBBKUYNNgw3CyAAQaXtACABEFggAigCAEEqRw02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IABB1+0AIAEQWCACKAIAQdkARw0EDA8LIABB2O0AIAEQWCACKAIAQdoARw0DDA0LIABB2e0AIAEQWCACKAIAQdsARw0CDAcLIABB2u0AIAEQWCACKAIAQdwARw0BIABBxusAIAJBPGoQWCACKAIwIgFBAEwNACAAQQRqIQQDQCABQQFrIgAgAigCME8NAyACKAIsIABBAnRqIgMoAgBFDQQgBEHG6wAgAxBbIAFBAUshDyAAIQEgDw0ACwsPC0Hw7QVBxZgDQZQGQY3eABABAAtBxaIBQYmiA0G8AUGmiAUQAQALQYGDAkHTmQNBuQJBrvcCEAEACyAAQcbrACACQRRqEFgLIABBxusAIAJBEGoQWAsgAEHG6wAgAkEMahBYDAoLIABBxusAIAJBHGoQWAsgAEHG6wAgAkEYahBYCyAAQcbrACACQRRqEFgLIABBxusAIAJBEGoQWA8LIABBxusAIAJBFGoQWAsgAEHG6wAgAkEQahBYCyAAQcbrACACQQxqEFgPCyAAQcbrACACQShqEFgLIABBxusAIAJBJGoQWA8LIABBxusAIAJBHGoQWCAAQcbrACACQRhqEFgPCyAAQcbrACACQQhqEFgPCyAAQQRqQcbrACACQQhqEFsL3R4BDn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAIgIoAgAOXgABAgMEBQYHCAkKCwwNHh8gISIjJCU1Ng4PEBESExQVFhcYGRobHB03JicoKSorLC0uLzAxMjM0ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXABdC0GY/QNB5bMDQeoBEGIACyAAQaPsACABEFggAigCAEEBRw1cIAIoAhQiAUEATA1bIABBBGohBANAIAFBAWsiACACKAIUTw1eIAIoAhAgAEECdGoiAygCAEUNXyAEQcTrACADEFsgAUEBSyEGIAAhASAGDQALDFsLIABBpOwAIAEQWCACKAIAQQJHDVsgAigCEARAIABBBGpBxOsAIAJBEGoQWwsMYAsgAEGl7AAgARBYIAIoAgBBA0cNWgxjCyAAQabsACABEFggAigCAEEERw1ZIAIoAhQEQCAAQQRqQcTrACACQRRqEFsLIAIoAhBFDVggAEEEakHE6wAgAkEQahBbDwsgAEGn7AAgARBYIAIoAgBBBUcNWCAAQcTrACACQSRqEFggAigCIEUNVyAAQQRqQcTrACACQSBqEFsPCyAAQajsACABEFggAigCAEEGRw1XIAIoAgwiAUEATA1WIABBBGohBANAIAFBAWsiACACKAIMTw1ZIAIoAgggAEECdGoiAygCAEUNWiAEQcTrACADEFsgAUEBSyEHIAAhASAHDQALDFYLIABBqewAIAEQWCACKAIAQQdHDVYgAEHE6wAgAkEcahBYIAIoAhAiAUEATA1VIABBBGohBANAIAFBAWsiACACKAIQTw1YIAIoAgwgAEECdGoiAygCAEUNWSAEQcTrACADEFsgAUEBSyEIIAAhASAIDQALDFULIABBquwAIAEQWCACKAIAQQhGDVQMVQsgAEGr7AAgARBYIAIoAgBBCUcNVAxgCyAAQazsACABEFggAigCAEEKRg1SDFMLIABBrewAIAEQWCACKAIAQQtHDVIMWwsgAEGu7AAgARBYIAIoAgBBDEcNUQxfCyAAQa/sACABEFggAigCAEENRw1QDF0LIABBsOwAIAEQWCACKAIAQRhHDU8MXgsgAEGx7AAgARBYIAIoAgBBGUcNTiAAQcTrACACQSBqEFgMXQsgAEGy7AAgARBYIAIoAgBBGkcNTQxUCyAAQbPsACABEFggAigCAEEbRw1MDFQLIABBtOwAIAEQWCACKAIAQRxGDUoMSwsgAEG17AAgARBYIAIoAgBBHUcNSgxWCyAAQbbsACABEFggAigCAEEeRw1JIABBxOsAIAJBFGoQWAxVCyAAQbfsACABEFggAigCAEEfRw1IDE0LIABBuOwAIAEQWCACKAIAQSBHDUcMUQsgAEG57AAgARBYIAIoAgBBIUcNRgxRCyAAQbrsACABEFggAigCAEEiRw1FIABBxOsAIAJBIGoQWA8LIABBu+wAIAEQWCACKAIAQSNHDUQMUQsgAEG87AAgARBYIAIoAgBBJEcNQwxKCyAAQb3sACABEFggAigCAEElRg1BDEILIABBvuwAIAEQWCACKAIAQSZHDUEMRQsgAEG/7AAgARBYIAIoAgBBJ0cNQAxECyAAQcDsACABEFggAigCAEEORg0+DD8LIABBwewAIAEQWCACKAIAQQ9HDT4MSgsgAEHC7AAgARBYIAIoAgBBEEcNPQxICyAAQcPsACABEFggAigCAEERRw08DEALIABBxOwAIAEQWCACKAIAQRJHDTsMSwsgAEHF7AAgARBYIAIoAgBBE0cNOiACKAIIRQ05DEsLIABBxuwAIAEQWCACKAIAQRRGDTgMOQsgAEHH7AAgARBYIAIoAgBBFUcNOAxICyAAQcjsACABEFggAigCAEEpRg02DDcLIABByewAIAEQWCACKAIAQSpHDTYMRgsgAEHK7AAgARBYIAIoAgBBK0YNNAw1CyAAQcvsACABEFggAigCAEEsRw00DDkLIABBzOwAIAEQWCACKAIAQS1HDTMMPAsgAEHN7AAgARBYIAIoAgBBLkcNMgw6CyAAQc7sACABEFggAigCAEEvRg0wDDELIABBz+wAIAEQWCACKAIAQTBHDTAMOAsgAEHQ7AAgARBYIAIoAgBBMUcNLww2CyAAQdHsACABEFggAigCAEEyRw0uDDILIABB0uwAIAEQWCACKAIAQTNHDS0gAigCKCIBQQBKBEAgAEEEaiEDA0AgAUEBayIEIAIoAihPDTAgAigCJCAEQQJ0aiIFKAIARQ0xIANBxOsAIAUQWyABQQFLIQkgBCEBIAkNAAsLDDYLIABB0+wAIAEQWCACKAIAQTRGBEAMPQsMLAsgAEHU7AAgARBYIAIoAgBBNUcNKyACKAIUIgFBAEwNKiAAQQRqIQQDQCABQQFrIgAgAigCFE8NLSACKAIQIABBAnRqIgMoAgBFDS4gBEHE6wAgAxBbIAFBAUshCiAAIQEgCg0ACwwqCyAAQdXsACABEFggAigCAEE2Rg0pDCoLIABB1uwAIAEQWCACKAIAQTdHDSkMOQsgAEHX7AAgARBYIAIoAgBBFkYNJwwoCyAAQdjsACABEFggAigCAEEXRg0mDCcLIABB2ewAIAEQWCACKAIAQShGDSUMJgsgAEHa7AAgARBYIAIoAgBBOEcNJSACKAIMIgFBAEwNJCAAQQRqIQQDQCABQQFrIgAgAigCDE8NJyACKAIIIABBAnRqIgMoAgBFDSggBEHE6wAgAxBbIAFBAUshCyAAIQEgCw0ACwwkCyAAQdvsACABEFggAigCAEE5Rw0kDDQLIABB3OwAIAEQWCACKAIAQTpHDSMMMwsgAEHd7AAgARBYIAIoAgBBO0cNIgwyCyAAQd7sACABEFggAigCAEE8Rw0hIABBxOsAIAJBGGoQWCACKAIMIgFBAEwNICAAQQRqIQQDQCABQQFrIgAgAigCDE8NIyACKAIIIABBAnRqIgMoAgBFDSQgBEHE6wAgAxBbIAFBAUshDCAAIQEgDA0ACwwgCyAAQd/sACABEFggAigCAEE9Rw0gDDALIABB4OwAIAEQWCACKAIAQT5HDR8MLwsgAEHh7AAgARBYIAIoAgBBP0cNHiAAQcTrACACQRRqEFgPCyAAQeLsACABEFggAigCAEHAAEcNHSACKAIMIgFBAEwNHCAAQQRqIQQDQCABQQFrIgAgAigCDE8NHyACKAIIIABBAnRqIgMoAgBFDSAgBEHE6wAgAxBbIAFBAUshDSAAIQEgDQ0ACwwcCyAAQePsACABEFggAigCAEHBAEcNHAwoCyAAQeTsACABEFggAigCAEHCAEcNGwwmCyAAQeXsACABEFggAigCAEHDAEcNGiAAQcTrACACQQxqEFggAigCCEUNGQwrCyAAQebsACABEFggAigCAEHEAEcNGQwhCyAAQefsACABEFggAigCAEHFAEcNGAwgCyAAQejsACABEFggAigCAEHGAEcNFyACKAIMIgFBAEwNFiAAQQRqIQQDQCABQQFrIgAgAigCDE8NGSACKAIIIABBAnRqIgMoAgBFDRogBEHE6wAgAxBbIAFBAUshDiAAIQEgDg0ACwwWCyAAQensACABEFggAigCAEHHAEcNFgwbCyAAQersACABEFggAigCAEHIAEcNFQwZCyAAQevsACABEFggAigCAEHJAEcNFAwkCyAAQezsACABEFggAigCAEHKAEcNEyAAQcTrACACQRhqEFgMFgsgAEHt7AAgARBYIAIoAgBBywBHDRIMFQsgAEHu7AAgARBYIAIoAgBBzABHDREMFwsgAEHv7AAgARBYIAIoAgBBzQBHDRAMFgsgAEHw7AAgARBYIAIoAgBBzgBHDQ8MGwsgAEHx7AAgARBYIAIoAgBBzwBHDQ4gAigCGARAIABBBGpBxOsAIAJBGGoQWwsgAigCFARAIABBBGpBxOsAIAJBFGoQWwsgAigCEARAIABBBGpBxOsAIAJBEGoQWwsMGgsgAEHy7AAgARBYIAIoAgBB0ABGDQwMDQsgAEHz7AAgARBYIAIoAgBB0QBHDQwMGAsgAEH07AAgARBYIAIoAgBB0gBHDQsgAigCFARAIABBBGpBxOsAIAJBFGoQWwsMFgsgAEH17AAgARBYIAIoAgBB0wBHDQoMDwsgAEH27AAgARBYIAIoAgBB1ABHDQkMFAsgAEH37AAgARBYIAIoAgBB1QBHDQgMFAsgAEH47AAgARBYIAIoAgBB1gBHDQcMCwsgAEH57AAgARBYIAIoAgBB1wBHDQYMCwsgAEH67AAgARBYIAIoAgBB2ABHDQUMFQsgAEH77AAgARBYIAIoAgBB2QBHDQQMDwsgAEH87AAgARBYIAIoAgBB2gBHDQMMDQsgAEH97AAgARBYIAIoAgBB2wBHDQIMBwsgAEH+7AAgARBYIAIoAgBB3ABHDQEgAEHE6wAgAkE8ahBYIAIoAjAiAUEATA0AIABBBGohBANAIAFBAWsiACACKAIwTw0DIAIoAiwgAEECdGoiAygCAEUNBCAEQcTrACADEFsgAUEBSyEPIAAhASAPDQALCw8LQfDtBUHFmANBlAZBjd4AEAEAC0HFogFBiaIDQbwBQaaIBRABAAtBgYMCQdOZA0G5AkGu9wIQAQALIABBxOsAIAJBFGoQWAsgAEHE6wAgAkEQahBYCyAAQcTrACACQQxqEFgMCgsgAEHE6wAgAkEcahBYCyAAQcTrACACQRhqEFgLIABBxOsAIAJBFGoQWAsgAEHE6wAgAkEQahBYDwsgAEHE6wAgAkEUahBYCyAAQcTrACACQRBqEFgLIABBxOsAIAJBDGoQWA8LIABBxOsAIAJBKGoQWAsgAEHE6wAgAkEkahBYDwsgAEHE6wAgAkEcahBYIABBxOsAIAJBGGoQWA8LIABBxOsAIAJBCGoQWA8LIABBBGpBxOsAIAJBCGoQWwssAEGQARBcIgBBAEGIAfwLACAAQgA3AIMBIABBqPcHNgIAIABCADcAiAEgAAs5ACAAKAIERQRAQej6BUG6iwNBnARB7tMCEAEACyAAIAI2AnggACABNgJ8IAAgAhD7DSAAQgA3AngLviIBDn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEoAgAiAigCAA5eAAECAwQFBgcICQoLDA0eHyAhIiMkJTU2Dg8QERITFBUWFxgZGhscHTcmJygpKissLS4vMDEyMzQ4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcAF0LQZj9A0HlswNB6gEQYgALIABBFGpBx+sAIAEQWCACKAIAQQFHDVwgAigCFCIBQQBMDVsgAEEYaiEDA0AgAUEBayIAIAIoAhRPDV4gAigCECAAQQJ0aiIEKAIARQ1fIANBwesAIAQQWyABQQFLIQYgACEBIAYNAAsMWwsgAEEUaiIDQcjrACABEFggAigCAEECRw1bIAIoAhAEQCAAQRhqQcHrACACQRBqEFsLIANBwesAIAJBDGoQWCADQcHrACACQQhqEFgPCyAAQRRqIgBByesAIAEQWCACKAIAQQNHDVoMYAsgAEEUakHK6wAgARBYIAIoAgBBBEcNWSACKAIUBEAgAEEYakHB6wAgAkEUahBbCyACKAIQRQ1YIABBGGpBwesAIAJBEGoQWw8LIABBFGoiA0HL6wAgARBYIAIoAgBBBUcNWCADQcHrACACQSRqEFggAigCIEUNVyAAQRhqQcHrACACQSBqEFsPCyAAQRRqQczrACABEFggAigCAEEGRw1XIAIoAgwiAUEATA1WIABBGGohAwNAIAFBAWsiACACKAIMTw1ZIAIoAgggAEECdGoiBCgCAEUNWiADQcHrACAEEFsgAUEBSyEHIAAhASAHDQALDFYLIABBFGoiA0HN6wAgARBYIAIoAgBBB0cNViADQcHrACACQRxqEFggAigCECIBQQBMDVUgAEEYaiEDA0AgAUEBayIAIAIoAhBP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DQALDCALIABB/ekAIAEQWCACKAIAQT1HDSAMMAsgAEH+6QAgARBYIAIoAgBBPkcNHwwvCyAAQf/pACABEFggAigCAEE/Rw0eIABB8OcAIAJBFGoQWA8LIABBgOoAIAEQWCACKAIAQcAARw0dIAIoAgwiAUEATA0cIABBBGohBANAIAFBAWsiACACKAIMTw0fIAIoAgggAEECdGoiAygCAEUNICAEQfDnACADEFsgAUEBSyENIAAhASANDQALDBwLIABBgeoAIAEQWCACKAIAQcEARw0cDCgLIABBguoAIAEQWCACKAIAQcIARw0bDCYLIABBg+oAIAEQWCACKAIAQcMARw0aIABB8OcAIAJBDGoQWCACKAIIRQ0ZDCsLIABBhOoAIAEQWCACKAIAQcQARw0ZDCELIABBheoAIAEQWCACKAIAQcUARw0YDCALIABBhuoAIAEQWCACKAIAQcYARw0XIAIoAgwiAUEATA0WIABBBGohBANAIAFBAWsiACACKAIMTw0ZIAIoAgggAEECdGoiAygCAEUNGiAEQfDnACADEFsgAUEBSyEOIAAhASAODQALDBYLIABBh+oAIAEQWCACKAIAQccARw0WDBsLIABBiOoAIAEQWCACKAIAQcgARw0VDBkLIABBieoAIAEQWCACKAIAQckARw0UDCQLIABBiuoAIAEQWCACKAIAQcoARw0TIABB8OcAIAJBGGoQWAwWCyAAQYvqACABEFggAigCAEHLAEcNEgwVCyAAQYzqACABEFggAigCAEHMAEcNEQwXCyAAQY3qACABEFggAigCAEHNAEcNEAwWCyAAQY7qACABEFggAigCAEHOAEcNDwwbCyAAQY/qACABEFggAigCAEHPAEcNDiACKAIYBEAgAEEEakHw5wAgAkEYahBbCyACKAIUBEAgAEEEakHw5wAgAkEUahBbCyACKAIQBEAgAEEEakHw5wAgAkEQahBbCwwaCyAAQZDqACABEFggAigCAEHQAEYNDAwNCyAAQZHqACABEFggAigCAEHRAEcNDAwYCyAAQZLqACABEFggAigCAEHSAEcNCyACKAIUBEAgAEEEakHw5wAgAkEUahBbCwwWCyAAQZPqACABEFggAigCAEHTAEcNCgwPCyAAQZTqACABEFggAigCAEHUAEcNCQwUCyAAQZXqACABEFggAigCAEHV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IgMoAgBFDVogBEHs5wAgAxBbIAFBAUshByAAIQEgBw0ACwxWCyAAQd/oACABEFggAigCAEEHRw1WIABB7OcAIAJBHGoQWCACKAIQIgFBAEwNVSAAQQRqIQQDQCABQQFrIgAgAigCEE8NWCACKAIMIABBAnRqIgMoAgBFDVkgBEHs5wAgAxBbIAFBAUshCCAAIQEgCA0ACwxVCyAAQeDoACABEFggAigCAEEIRg1UDFULIABB4egAIAEQWCACKAIAQQlHDVQMYAsgAEHi6AAgARBYIAIoAgBBCkYNUgxTCyAAQePoACABEFggAigCAEELRw1SDFsLIABB5OgAIAEQWCACKAIAQQxHDVEMXwsgAEHl6AAgARBYIAIoAgBBDUcNUAxdCyAAQeboACABEFggAigCAEEYRw1PDF4LIABB5+gAIAEQWCACKAIAQRlHDU4gAEHs5wAgAkEgahBYDF0LIABB6OgAIAEQWCACKAIAQRpHDU0MVAsgAEHp6AAgARBYIAIoAgBBG0cNTAxUCyAAQeroACABEFggAigCAEEcRg1KDEsLIABB6+gAIAEQWCACKAIAQR1HDUoMVgsgAEHs6AAgARBYIAIoAgBBHkcNSSAAQeznACACQRRqEFgMVQsgAEHt6AAgARBYIAIoAgBBH0cNSAxNCyAAQe7oACABEFggAigCAEEgRw1HDFELIABB7+gAIAEQWCACKAIAQSFHDUYMUQsgAEHw6AAgARBYIAIoAgBBIkcNRSAAQeznACACQSBqEFgPCyAAQfHoACABEFggAigCAEEjRw1EDFELIABB8ugAIAEQWCACKAIAQSRHDUMMSgsgAEHz6AAgARBYIAIoAgBBJUYNQQxCCyAAQfToACABEFggAigCAEEmRw1BDEULIABB9egAIAEQWCACKAIAQSdHDUAMRAsgAEH26AAgARBYIAIoAgBBDkYNPgw/CyAAQffoACABEFggAigCAEEPRw0+DEoLIABB+OgAIAEQWCACKAIAQRBHDT0MSAsgAEH56AAgARBYIAIoAgBBEUcNPAxACyAAQfroACABEFggAigCAEESRw07DEsLIABB++gAIAEQWCACKAIAQRNHDTogAigCCEUNOQxLCyAAQfzoACABEFggAigCAEEURg04DDkLIABB/egAIAEQWCACKAIAQRVHDTgMSAsgAEH+6AAgARBY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AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAIgIoAgAOXgABAgMEBQYHCAkKCwwNHh8gISIjJCU1Ng4PEBESExQVFhcYGRobHB03JicoKSorLC0uLzAxMjM0ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXABdC0GY/QNB5bMDQeoBEGIACyAAQYnnACABEFggAigCAEEBRw1cIAIoAhQiAUEATA1bIABBBGohBANAIAFBAWsiACACKAIUTw1eIAIoAhAgAEECdGoiAygCAEUNXyAEQarmACADEFsgAUEBSyEGIAAhASAGDQALDFsLIABBiucAIAEQWCACKAIAQQJHDVsgAigCEARAIABBBGpBquYAIAJBEGoQWwsMYAsgAEGL5wAgARBYIAIoAgBBA0cNWgxjCyAAQYznACABEFggAigCAEEERw1ZIAIoAhQEQCAAQQRqQarmACACQRRqEFsLIAIoAhBFDVggAEEEakGq5gAgAkEQahBbDwsgAEGN5wAgARBYIAIoAgBBBUcNWCAAQarmACACQSRqEFggAigCIEUNVyAAQQRqQarmACACQSBqEFsPCyAAQY7nACABEFggAigCAEEGRw1XIAIoAgwiAUEATA1WIABBBGohBANAIAFBAWsiACACKAIMTw1ZIAIoAgggAEECdGoiAygCAEUNWiAEQarmACADEFsgAUEBSyEHIAAhASAHDQALDFYLIABBj+cAIAEQWCACKAIAQQdHDVYgAEGq5gAgAkEcahBYIAIoAhAiAUEATA1VIABBBGohBANAIAFBAWsiACACKAIQTw1YIAIoAgwgAEECdGoiAygCAEUNWSAEQarmACADEFsgAUEBSyEIIAAhASAIDQALDFULIABBkOcAIAEQWCACKAIAQQhGDVQMVQsgAEGR5wAgARBYIAIoAgBBCUcNVAxgCyAAQZLnACABEFggAigCAEEKRg1SDFMLIABBk+cAIAEQWCACKAIAQQtHDVIMWwsgAEGU5wAgARBYIAIoAgBBDEcNUQxfCyAAQZXnACABEFggAigCAEENRw1QDF0LIABBlucAIAEQWCACKAIAQRhHDU8MXgsgAEGX5wAgARBYIAIoAgBBGUcNTiAAQarmACACQSBqEFgMXQsgAEGY5wAgARBYIAIoAgBBGkcNTQxUCyAAQZnnACABEFggAigCAEEbRw1MDFQLIABBmucAIAEQWCACKAIAQRxGDUoMSwsgAEGb5wAgARBYIAIoAgBBHUcNSgxWCyAAQZznACABEFggAigCAEEeRw1JIABBquYAIAJBFGoQWAxVCyAAQZ3nACABEFggAigCAEEfRw1IDE0LIABBnucAIAEQWCACKAIAQSBHDUcMUQsgAEGf5wAgARBYIAIoAgBBIUcNRgxRCyAAQaDnACABEFggAigCAEEiRw1FIABBquYAIAJBIGoQWA8LIABBoecAIAEQWCACKAIAQSNHDUQMUQsgAEGi5wAgARBYIAIoAgBBJEcNQwxKCyAAQaPnACABEFggAigCAEElRg1BDEILIABBpOcAIAEQWCACKAIAQSZHDUEMRQsgAEGl5wAgARBYIAIoAgBBJ0cNQAxECyAAQabnACABEFggAigCAEEORg0+DD8LIABBp+cAIAEQWCACKAIAQQ9HDT4MSgsgAEGo5wAgARBYIAIoAgBBEEcNPQxICyAAQannACABEFggAigCAEERRw08DEALIABBqucAIAEQWCACKAIAQRJHDTsMSwsgAEGr5wAgARBYIAIoAgBBE0cNOiACKAIIRQ05DEsLIABBrOcAIAEQWCACKAIAQRRGDTgMOQsgAEGt5wAgARBYIAIoAgBBFUcNOAxICyAAQa7nACABEFggAigCAEEpRg02DDcLIABBr+cAIAEQWCACKAIAQSpHDTYMRgsgAEGw5wAgARBYIAIoAgBBK0YNNAw1CyAAQbHnACABEFggAigCAEEsRw00DDkLIABBsucAIAEQWCACKAIAQS1HDTMMPAsgAEGz5wAgARBYIAIoAgBBLkcNMgw6CyAAQbTnACABEFggAigCAEEvRg0wDDELIABBtecAIAEQWCACKAIAQTBHDTAMOAsgAEG25wAgARBYIAIoAgBBMUcNLww2CyAAQbfnACABEFggAigCAEEyRw0uDDILIABBuOcAIAEQWCACKAIAQTNHDS0gAigCKCIBQQBKBEAgAEEEaiEDA0AgAUEBayIEIAIoAihPDTAgAigCJCAEQQJ0aiIFKAIARQ0xIANBquYAIAUQWyAB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WCACKAIAQdEARw0MDBgLIABB/uYAIAEQWCACKAIAQdIARw0LIAIoAhQEQCAAQQRqQazmACACQRRqEFsLDBYLIABB/+YAIAEQWCACKAIAQdMARw0KDA8LIABBgOcAIAEQWCACKAIAQdQARw0JDBQLIABBgecAIAEQWCACKAIAQdUARw0IDBQLIABBgucAIAEQWCACKAIAQdYARw0HDAsLIABBg+cAIAEQWCACKAIAQdcARw0GDAsLIABBhOcAIAEQWCACKAIAQdgARw0FDBULIABBhecAIAEQWCACKAIAQdkARw0EDA8LIABBhucAIAEQWCACKAIAQdoARw0DDA0LIABBh+cAIAEQWCACKAIAQdsARw0CDAcLIABBiOcAIAEQWCACKAIAQdwARw0BIABBrOYAIAJBPGoQWCACKAIwIgFBAEwNACAAQQRqIQQDQCABQQFrIgAgAigCME8NAyACKAIsIABBAnRqIgMoAgBFDQQgBEGs5gAgAxBbIAFBAUshDyAAIQEgDw0ACwsPC0Hw7QVBxZgDQZQGQY3eABABAAtBxaIBQYmiA0G8AUGmiAUQAQALQYGDAkHTmQNBuQJBrvcCEAEACyAAQazmACACQRRqEFgLIABBrOYAIAJBEGoQWAsgAEGs5gAgAkEMahBYDAoLIABBrOYAIAJBHGoQWAsgAEGs5gAgAkEYahBYCyAAQazmACACQRRqEFgLIABBrOYAIAJBEGoQWA8LIABBrOYAIAJBFGoQWAsgAEGs5gAgAkEQahBYCyAAQazmACACQQxqEFgPCyAAQazmACACQShqEFgLIABBrOYAIAJBJGoQWA8LIABBrOYAIAJBHGoQWCAAQazmACACQRhqEFgPCyAAQazmACACQQhqEFgPCyAAQQRqQazmACACQQhqEFsL+gYBC38jAEGgAWsiBSQAIABCADcCACAAQQA7AXggACAENgJ0IAAgATYCcCAAIAM2AmwgAEIANwJYIABCADcCYCAAQQA2AmhB05kDIQcCQAJAAkAgAigCMEUEQEGu9wIhAUG5AiEDQYGDAiEGDAELQdSJC0EANgIAQavmACAAQQRqQazmACACQTBqIggQCEHUiQsoAgAhCkHUiQtBADYCACAKQQFGDQECQEEAIAAoAgQiBmsgACgCXCIBIAAoAlgiA2tBA3VHBEAgAEEIaiEJA0ACQCAB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Qd/lACABEFggAigCAEEcRg1KDEsLIABB4OUAIAEQWCACKAIAQR1HDUoMVgsgAEHh5QAgARBYIAIoAgBBHkcNSSAAQe7kACACQRRqEFgMVQsgAEHi5QAgARBYIAIoAgBBH0cNSAxNCyAAQePlACABEFggAigCAEEgRw1HDFELIABB5OUAIAEQWCACKAIAQSFHDUYMUQsgAEHl5QAgARBYIAIoAgBBIkcNRSAAQe7kACACQSBqEFgPCyAAQeblACABEFggAigCAEEjRw1EDFELIABB5+UAIAEQWCACKAIAQSRHDUMMSgsgAEHo5QAgARBYIAIoAgBBJUYNQQxCCyAAQenlACABEFggAigCAEEmRw1BDEULIABB6uUAIAEQWCACKAIAQSdHDUAMRAsgAEHr5QAgARBYIAIoAgBBDkYNPgw/CyAAQezlACABEFggAigCAEEPRw0+DEoLIABB7eUAIAEQWCACKAIAQRBHDT0MSAsgAEHu5QAgARBYIAIoAgBBEUcNPAxACyAAQe/lACABEFggAigCAEESRw07DEsLIABB8OUAIAEQWCACKAIAQRNHDTogAigCCEUNOQxLCyAAQfHlACABEFggAigCAEEURg04DDkLIABB8uUAIAEQWCACKAIAQRVHDTgMSAsgAEHz5QAgARBYIAIoAgBBKUYNNgw3CyAAQfTlACABEFggAigCAEEqRw02DEYLIABB9eUAIAEQWCACKAIAQStGDTQMNQsgAEH25QAgARBYIAIoAgBBLEcNNAw5CyAAQfflACABEFggAigCAEEtRw0zDDwLIABB+OUAIAEQWCACKAIAQS5HDTIMOgsgAEH55QAgARBYIAIoAgBBL0YNMAwxCyAAQfrlACABEFggAigCAEEwRw0wDDgLIABB++UAIAEQWCACKAIAQTFHDS8MNgsgAEH85QAgARBYIAIoAgBBMkcNLgwyCyAAQf3lACABEFggAigCAEEzRw0tIAIoAigiAUEASgRAIABBBGohAwNAIAFBAWsiBCACKAIoTw0wIAIoAiQgBEECdGoiBSgCAEUNMSADQe7kACAFEFsgAUEBSyEJIAQhASAJDQALCww2CyAAQf7lACABEFggAigCAEE0RgRADD0LDCwLIABB/+UAIAEQWCACKAIAQTVHDSsgAigCFCIBQQBMDSogAEEEaiEEA0AgAUEBayIA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QbkCQa73AhABAAsgAEHs5AAgAkEcahBYCyAAQezkACACQRhqEFgLIABB7OQAIAJBFGoQWAsgAEHs5AAgAkEQahBYDwsgAEHs5AAgAkEUahBYCyAAQezkACACQRBqEFgLIABB7OQAIAJBDGoQWA8LIABB7OQAIAJBKGoQWAsgAEHs5AAgAkEkahBYDwsgAEHs5AAgAkEcahBYIABB7OQAIAJBGGoQWA8LIABB7OQAIAJBFGoQWAsgAEHs5AAgAkEQahBYCyAAQezkACACQQxqEFgLIABB7OQAIAJBCGoQWA8LIABBGGpB7OQAIAJBCGoQWw8LIANB7OQAIAJBDGoQWAvvDwEYfyMAQbACayIDJAACQAJAAkACQAJAAkACQAJAAkACQAJAIAAoAgQEQCAAIAAoAgAoAhARAgAEQCADIAAoAgQiAikCODcD+AEgAyACKQIwNwPwASADIAIpAig3A+gBIAMgAikCIDcD4AEgAyACKQIYNwPYASADQYACaiACQUBrEOMBIQRB1IkLQQA2AgBBmgEgA0GUAmogAkHUAGoQAiEFQdSJCygCACERQdSJC0EANgIAIBFBAUYNAiADIAIoAmg2AqgCIAMgAigCbCICNgKsAiACBEAgAiACKAIEQQFqNgIECyADQQEgAygC4AEiAiACQQBKGzYC4AEgAyADKQPoATcDGCADIAMpA/ABNwMgIAMgAykD+AE3AyggAyADKQPgATcDECADQQEgAygC3AEiAiACQQBKGzYC3AFB1IkLQQA2AgAgAyADKQPYATcDCEGbASADQTBqIAQQAiEEQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBxABqIAUQAiEFQdSJCygCACESQdSJC0EANgIAIBJBAUYNBSADIAMoAqwCIgI2AlwgAyADKAKoAjYCWCACBEAgAiACKAIEQQFqNgIECyADQQA2AnggAyADKQMQNwKEASADIAMpAxg3AowBIAMgAykDIDcClAEgAyADKQMoNwKcASADQgA3AnAgA0H87Ak2AmQgAyADKQMINwJ8QdSJC0EANgIAIAMgATYCaCADIAFBqAFqNgJsQZsBIANBpAFqIAQQAiEBQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBuAFqIAUQAhpB1IkL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QgA3AmwgAEIANwKoASAAQgA3AgQgAEIANwKMAiAAQgA3AnQgAEIANwJ8IABCADcChAEgAEIANwKMASAAQgA3ApQBIABBADYCnAEgAEIANwIMIABCADcCFCAAIABBqAFqNgKkASAAQbABakEAQdYA/AsAIAAgATYClAIgAEGY9gc2AgAgACAAQYwCajYCiAIgAAs5ACAAKAIERQRAQej6BUG6iwNBnARB7tMCEAEACyAAIAI2AnggACABNgJ8IAAgAhCMDiAAQgA3AngLCQAgABCgCBBaC6cCAQZ/AkACQCABKAIAIgQoAgBBC0YEQAJAIAAoAqABIgJFDQAgAigCBCIBIAIoAggiA0kEQCABIAQ2AgAgAiABQQRqNgIEDwsgASACKAIAIgVrQQJ1IgdBAWoiAEGAgICABE8NAkH/////AyADIAVrIgNBAXUiBiAAIAAgBkkbIANB/P///wdPGyIDBH8gA0GAgICABE8NBCADQQJ0EFwFQQALIgYgB0ECdGoiACAENgIAIABBBGohBCABIAVHBEADQCAAQQRrIgAgAUEEayIBKAIANgIAIAEgBUcNAAsgAigCACEBCyACIAYgA0ECdGo2AgggAiAENgIEIAIgADYCACABRQ0AIAEQWgsPC0Hw7QVBxZgDQZQGQY3eABABAAsQZAALEGoAC6cCAQZ/AkACQCABKAIAIgQoAgBBBkYEQAJAIAAoAqABIgJFDQAgAigCBCIBIAIoAggiA0kEQCABIAQ2AgAgAiABQQRqNgIEDwsgASACKAIAIgVrQQJ1IgdBAWoiAEGAgICABE8NAkH/////AyADIAVrIgNBAXUiBiAAIAAgBkkbIANB/P///wdPGyIDBH8gA0GAgICABE8NBCADQQJ0EFwFQQALIgYgB0ECdGoiACAENgIAIABBBGohBCABIAVHBEADQCAAQQRrIgAgAUEEayIBKAIANgIAIAEgBUcNAAsgAigCACEBCyACIAYgA0ECdGo2AgggAiAENgIEIAIgADYCACABRQ0AIAEQWgsPC0Hw7QVBxZgDQZQGQY3eABABAAsQZAALEGoAC5MEAQd/IAAoAqABIQcgAEEUahCnBBogACgCoAEhBAJAAkACQCAAKAKYASIBIAAoApwBRwRAIAEgBDYCACAAIAFBBGo2ApgBDAELIAEgACgClAEiBWsiAkECdSIG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IgOnIQYgAqchByAAQagBaiIJIQQDQAJAIAEpAhAiAqcgByAGIAJCIIgiAqciBSAFIAZLGxBeIgUNAEEAIQUgAiADUQ0AQX9BASACIANUGyEFCyAEIAEgBUEASCIFGyEEIAFBBGogASAFGygCACIBDQALIAQgCUYNACAAQaQBaiELIABBFGohCgJAIAcgBCkCECICpyACQiCIIgKnIgcgBiAGIAdLGxBeIgZFBEAgAiADWA0BDAILIAZBAEgNAQsgBEEcaigCACAEKAIYRg0AIAAoAqABIQYgChCnBBogBiAAKAKgARDcAiAEKAIYIgEgBCgCHCIERwRAA0AgASgCACAAKAKgARDcAiABQQRqIgEgBEcNAAsLIAsgCCkCCBDnAwsPC0Hw7QVBxZgDQZQGQY3eABABAAvRBwIRfwJ9IAAoAgAoAgBBAk8EQCAAKAIMIQxBASEHA0BBfyEFIAdBAnQiDSAAKAIEKAIAaigCACIBKAIYIgggASgCHCIORwRAA0AgCCgCACIJQZXTx94FbCIBQRh2IAFzQZXTx94FbEHUzJ76BnMiAUENdiABc0GV08feBWwiAUEPdiABcyEBAkACQAJAAkACQCAAKAIIIgYoAgQiA0UNACAGKAIAAn8gASADQQFrcSADaUEBSyIERQ0AGiABIAEgA0kNABogASADcAsiCkECdGooAgAiAkUNACACKAIAIgJFDQAgBEUEQCADQQFrIQsDQAJAIAEgAigCBCIERwRAIAQgC3EgCkYNAQwECyACKAIIIAlGDQQLIAIoAgAiAg0ACwwBCwNAAkAgASACKAIEIgRHBEAgAyAETQR/IAQgA3AFIAQLIApGDQEMAwsgAigCCCAJRg0DCyACKAIAIgINAAsLQRAQXCICIAk2AgggAiABNgIEIAJBADYCACACQQA2AgwgBioCECETIAYoAgxBAWqzIRICQAJAIANFDQAgEyADs5QgEl0NACAKIQEMAQtB1IkLQQA2AgBB9+MAIAYgAyADQQFrcUEARyADQQNJciADQQF0ciILAn8gEiATlY0iEkMAAIBPXSASQwAAAABgcQRAIBKpDAELQQALIgQgBCALSRsQA0HUiQsoAgAhEEHUiQtBADYCACAQQQFGDQIgBigCBCIDIANBAWsiBHFFBEAgASAEcSEBDAELIAEgA0kNACABIANwIQELAkAC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CwwJC0Ho+gVBuosDQfwDQdrLAhABAAsQACEZIAQQayAZEAcACxAAIQAgBBBrDAgLQc3KBUHTmQNByAJB0PgCEAEAC0GBgwJB05kDQbkCQa73AhABAAsQZAALEGoAC0HexAVBsJQDQdoAQf37AhABAAtB9YICQdOZA0HNAkHQ+AIQAQALIAEoAkgiAiABKAJMIgFHBEADQCACKAIAIgQtABRFBEAgCSAEQRhqEJ8ICyACQQRqIgIgAUcNAAsLIABBADYCfAsgA0GwAmokAA8LIANB2AFqEGEgABAHAAuEEAEYfyMAQbACayIDJAACQAJAAkACQAJAAkACQAJAAkACQAJAIAAoAgQEQCAAIAAoAgAoAhARAgAEQCADIAAoAgQiAikCODcD+AEgAyACKQIwNwPwASADIAIpAig3A+gBIAMgAikCIDcD4AEgAyACKQIYNwPYASADQYACaiACQUBrEOMBIQRB1IkLQQA2AgBBmgEgA0GUAmogAkHUAGoQAiEFQdSJCygCACERQdSJC0EANgIAIBFBAUYNAiADIAIoAmg2AqgCIAMgAigCbCICNgKsAiACBEAgAiACKAIEQQFqNgIECyADQQEgAygC4AEiAiACQQBKGzYC4AEgAyADKQPoATcDGCADIAMpA/ABNwMgIAMgAykD+AE3AyggAyADKQPgATcDECADQQEgAygC3AEiAiACQQBKGzYC3AFB1IkLQQA2AgAgAyADKQPYATcDCEGbASADQTBqIAQQAiEEQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBxABqIAUQAiEFQdSJCygCACESQdSJC0EANgIAIBJBAUYNBSADIAMoAqwCIgI2AlwgAyADKAKoAjYCWCACBEAgAiACKAIEQQFqNgIECyADQQA2AnggAyADKQMQNwKEASADIAMpAxg3AowBIAMgAykDIDcClAEgAyADKQMoNwKcASADQgA3AnAgA0H87Ak2AmQgAyADKQMINwJ8QdSJC0EANgIAIAMgATYCaCADIAFBqAFqNgJsQZsBIANBpAFqIAQQAiEBQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBuAFqIAUQAhpB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRwRAIAMgAygCWDYCzAEgAyAD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IAEoAgAgCWooAgAgBjYCAAsgBCgCACIGDQALIAMhBAwBCyABKAIAIQNBACEEIAFBADYCACADBEAgAxBaCyABQQA2AgQLIAQgBEEBayIDcUUEQCACIANxIQUMAwsgAiAETw0BIAIhBQwCCxAAIREgBxBaIBEQBwALIAIgBHAhBQsCQAJAIAEoAgAgBUECdGoiAigCACIFRQRAIAcgASgCCDYCACABIAc2AgggAiALNgIAIAcoAgAiAkUNAiACKAIEIQUCQCAEIARBAWsiAnFFBEAgAiAFcSEFDAELIAQgBUsNACAFIARwIQULIAEoAgAgBUECdGohBQwBCyAHIAUoAgA2AgALIAUgBzYCAAsgASABKAIMQQFqNgIMQQELOgAEIAAgBzYCAAvtGQIdfwF+IwBB8AJrIgMkACADQgA3A6ACIANCADcCtAIgA0GAgID8AzYCvAIgA0IANwPIAiADQYCAgPwDNgLQAiADQgA3AtwCIANBgICA/AM2AuQCIANCADcDmAIgA0IANwKsAiADQYCAgPwDNgKoAiADQgA3A8ACIANCADcC1AICQAJAAkACQAJAAkACQAJAAkACQCABKAIYIgQgASgCHCIGRwRAA0BBACEFIAQoAgAiAigCHEF+cUECRgRAIAIoAgxFIQULIAIoAgAhB0HUiQtBADYCAEGV4wAgAyADQZgCaiAHIAIQBUHUiQsoAgAhDkHUiQtBADYCACAOQQFGDQIgAygCACAFOgAQIARBBGoiBCAGRw0ACwsgA0GsAmohBSABKAIMIgIgASgCECIERwRAA0AgAigCACIGKAIAIQdB1IkLQQA2AgBBvTsgAyAFIAcgBhAFQdSJCygCACEPQdSJC0EANgIAIA9BAUYNBSADKAIAQgA3AhAgAkEEaiICIARHDQALCyABKAIAIgIgASgCBCIGRwRAA0AgAigCACIEKAIQQQNGBEAgBCgCCCEHQdSJC0EANgIAQZXjACADIANBmAJqIAcgBEEIahAFQdSJCygCACEQQdSJC0EANgIAIBBBAUYNBCADKAIAQQA6ABALIAJBBGoiAiAGRw0ACwsgA0EANgJ8IANCADcCdCADQgA3AhAgA0EANgIYIANCADcCiAEgA0GAgID8AzYCkAEgA0IANwJsIANCADcCCCADQgA3AoABIANB6PUHNgIAIAMgA0GYAmo2ApQBIAAoAgQhAkHUiQtBADYCACADIAI2AgRBluMAIAMgARADQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAIANB6PUHNgIAIAMoAogBIgIEQANAIAIoAgAhESACEFogESICDQALCyADKAKAASECIANBADYCgAEgAgRAIAIQWgsgAygCbCICBEAgAyACNgJwIAIQWgsgA0GQ7Qk2AgAgAywAE0EASARAIAMoAggQWgsgAygCtAIiAgRAA0ACQCACQRBqIgQoAgAiBkUNAEHUiQtBADYCAEGV4wAgAyADQZgCaiAGIAQQBUHUiQsoAgAhEkHUiQtBADYCACASQQFGDQcgAygCAC0AEEEBcQ0AIARCADcCAAsgAigCACICDQALCyABKAIMIgIgASgCECIERg0KIANB1AJqIQggA0HAAmohCkEAIQYMAQsQACECIAMQjg4aDAcLA0AgAigCACIHKAIAIQlB1IkLQQA2AgBBgD0gAyAKIAkgBxAFQdSJCygCACEHQdSJC0EANgIAAkACQCAHQQFHBEAgAygCACEJIAIoAgAiBygCACELQdSJC0EANgIAQb07IAMgBSALIAcQBUHUiQsoAgAhE0HUiQtBADYCACATQQFGDQEgAygCACIHKAIQRQRAIAJBBGoiAiAERg0JDAQLIAcoAhAhBiAHNQIUIR9B1IkLQQA2AgBB9gAgAyAJQRBqIAYgBq0gH0IghoQQqAJB1IkLKAIAIRRB1IkLQQA2AgAgFEEBRw0CEAAhAgwKCxAAIQIMCQsQACECDAgLQQEhBiAEIAJBBGoiAkcNAAsMBQsQACECDAULEAAhAgwECxAAIQIMAwsQACECDAILIAZBAXFFDQMLIANByAJqIQogA0GMAmohCSADQbABaiELIANBqAFqIQxBACEGA0ACQAJAIAEoAgwiAiABKAIQIgRHBEADQCACKAIAIgUoAgAhB0HUiQtBADYCAEGAPSADIAggByAFEAVB1IkLKAIAIRVB1IkLQQA2AgAgFUEBRg0CIAJBBGoiAiAERw0ACwsgA0IANwKoASADQQA2ApwBIANCADcClAEgA0IANwKMASADQgA3AoQBIANCADcCfCADQgA3AnQgA0IANwJsIANBADYCGCADQgA3AhAgA0IANwIIIANCADcCjAIgAyAMNgKkASALQQBB1gD8CwAgA0GY9gc2AgAg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ODcD+AEgAyACKQIwNwPwASADIAIpAig3A+gBIAMgAikCIDcD4AEgAyACKQIYNwPYASADQYACaiACQUBrEOMBIQRB1IkLQQA2AgBBmgEgA0GUAmogAkHUAGoQAiEFQdSJCygCACERQdSJC0EANgIAIBFBAUYNAiADIAIoAmg2AqgCIAMgAigCbCICNgKsAiACBEAgAiACKAIEQQFqNgIECyADQQEgAygC4AEiAiACQQBKGzYC4AEgAyADKQPoATcDGCADIAMpA/ABNwMgIAMgAykD+AE3AyggAyADKQPgATcDECADQQEgAygC3AEiAiACQQBKGzYC3AFB1IkLQQA2AgAgAyADKQPYATcDCEGbASADQTBqIAQQAiEEQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBxABqIAUQAiEFQdSJCygCACESQdSJC0EANgIAIBJBAUYNBSADIAMoAqwCIgI2AlwgAyADKAKoAjYCWCACBEAgAiACKAIEQQFqNgIECyADQQA2AnggAyADKQMQNwKEASADIAMpAxg3AowBIAMgAykDIDcClAEgAyADKQMoNwKcASADQgA3AnAgA0H87Ak2AmQgAyADKQMINwJ8QdSJC0EANgIAIAMgATYCaCADIAFBqAFqNgJsQZsBIANBpAFqIAQQAiEBQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBuAFqIAUQAhpB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRwRAIAMgAygCWDYCzAEgAyADKAJcIgE2AtABIAEEQCABIAEoAgRBAWo2AgQLIANBADsB1AEgA0EIahBhIANBAToA1AEgACgCACgCFCEUQdSJC0EANgIAIBQgABAGIQBB1IkLKAIAIRVB1IkLQQA2AgAgFUEBRg0EIAMoAmQoAgghFkHUiQtBADYCACAWIANB5ABqIgEgABADQdSJCygCACEXQdSJC0EANgIAIBdBAUYNBEHUiQtBADYCAEGXASABEApB1IkLKAIAIRhB1IkLQQA2AgAgGEEBRg0EIANB/OwJNgJkIANB/ABqEGEgAygCcCIBBEAgAygCdCIAIAEiAkcEQANAIABBBGsiACgCACECIABBADYCACACBEAgAiACKAIAKAIEEQEACyAAIAFHDQALIAMo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ARCkAhBaCyAFQQFqIgUgACgCFCICQUBrKAIAIgEgAigCPCIEa0ECdUkNAAsgASAERg0AQQAhCANAIAQgCEECdGooAgApAwAhdCADIAI2AugCIHRCIIgidaciAUHw////B08NGwJAAkAgAUELTwRAIAFBD3JBAWoiAhBcIQQgAyACQYCAgIB4cjYC2AIgAyAENgLQAiADIAE2AtQCDAELIAMgdTwA2wIgA0HQAmohBCABRQ0BCyAEIHSnIAH8CgAACyABIARqQQA6AABB1IkLQQA2AgBBjQIgA0HQAmpBiDUQAiEBQdSJCygCACECQdSJC0EANgIAAkACQAJAAkACQAJAAkACQAJAIAJBAUcEQCADIAEoAgg2AmggAyABKQIANwNgIAFCADcCACABQQA2AgggAyADKAJkIAMsAGsiAkH/AXEgAkEASCICGzYCpAIgAyADKAJgIANB4ABqIAIbNgKgAkHUiQtBADYCACADIAMpAqACNwM4QQYgA0HgAmogA0E4ahADQdSJCygCACE2QdSJC0EANgIAIDZBAUYNASADLABrQQBIBEAgAygCYBBaCyADLADbAkEASARAIAEoAgAQWgsgAykD4AIhdCADIAAoAhQiAjYCZCADQYzvCTYCYCADIANB4ABqIgE2AnAgAigCECEFIAIoAgwhAkHUiQtBADYCAEHYGyADQcgCaiB0IAEgBSACa0ECdRDzAkHUiQsoAgAhAkHUiQtBADYCAAJAAkACQCACQQFHBEACQAJAIAEgAygCcCICRgRAQQQhBCABIQIMAQtBBSEEIAJFDQELIAIgAigCACAEQQJ0aigCABEBAAsgAyAAKAIgIgE2AsACIAMgATYCvAIgAyADKQK8AjcDMCADKQPIAiF4IANBxAJqIANBMGoQpwMhNyADQQA2AmggA0IANwJgIDcoAgAhOEHUiQtBADYCACB4IDggA0HgAGpBABCNAyEFQdSJCygCACE5QdSJC0EANgIAIDlBAUYNLCADIAU2AuwCIAMoAmAiAQRAIAEQWgsgA0EKNgJkIANBku0ENgJgQdSJC0EANgIAIAMgAykCYDcDKEEGIANBtAJqIANBKGoQA0HUiQsoAgAhOkHUiQtBADYCACA6QQFGDQdB1IkLQQA2AgAgAyADKQK0AjcDIEG04gAgBUEAIANBIGoQCEHUiQsoAgAhO0HU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AogBIgJFBEAgAEGIAWoiAyEBDAELA0AgAiIBKAIQIgJB6PwBSwRAIAEhAyABKAIAIgINAQwCCyACQej8AU8EQCABIQIMAwsgASgCBCICDQALIAFBBGohAwtBGBBcIgJB6PwBNgIQIAIgATYCCCACQgA3AgAgAkEANgIUIAMgAjYCACACIQEgACgChAEoAgAiBARAIAAgBDYChAEgAygCACEBCyAAKAKIASABEGcgACAAKAKMAUEBajYCjAELIAJBFGogAigCFEEBajYCAA8LQfDtBUHFmANBlAZBjd4AEAEAC/oBAQN/IAEoAgAoAgBB2gBGBEACQAJAIAAoAogBIgJFBEAgAEGIAWoiAyEBDAELA0AgAiIBKAIQIgJBsZIFSwRAIAEhAyABKAIAIgINAQwCCyACQbGSBU8EQCABIQIMAwsgASgCBCICDQALIAFBBGohAwtBGBBcIgJBsZIFNgIQIAIgATYCCCACQgA3AgAgAkEANgIUIAMgAjYCACACIQEgACgChAEoAgAiBARAIAAgBDYChAEgAygCACEBCyAAKAKIASABEGcgACAAKAKMAUEBajYCjAELIAJBFGogAigCFEEBajYCAA8LQfDtBUHFmANBlAZBjd4AEAEAC/oBAQN/IAEoAgAoAgBB2QBGBEACQAJAIAAoAogBIgJFBEAgAEGIAWoiAyEBDAELA0AgAiIBKAIQIgJBhsYDSwRAIAEhAyABKAIAIgINAQwCCyACQYbGA08EQCABIQIMAwsgASgCBCICDQALIAFBBGohAwtBGBBcIgJBhsYDNgIQIAIgATYCCCACQgA3AgAgAkEANgIUIAMgAjYCACACIQEgACgChAEoAgAiBARAIAAgBDYChAEgAygCACEBCyAAKAKIASABEGcgACAAKAKMAUEBajYCjAELIAJBFGogAigCFEEBajYCAA8LQfDtBUHFmANBlAZBjd4AEAEAC1sBAX8gAEGoAWpBDEEEEF0iACABNgIIIABBPjYCACAAIAI2AgRBASEDAkAgACABKAIEIgFBAUcEfyABQQdJDQEgASgCBEEBRw0BIAIgARCSAwVBAQs2AgQLIAAL+gEBA38gASgCACgCAEHYAEYEQAJAAkAgACgCiAEiAkUEQCAAQYgBaiIDIQEMAQsDQCACIgEoAhAiAkHBzgBLBEAgASEDIAEoAgAiAg0B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ASABEGcgACAAKAKMAUEBajYCjAELIAJBFGogAigCFEEBajYCAA8LQfDtBUHFmANBlAZBjd4AEAEAC/oBAQN/IAEoAgAoAgBBzQBGBEACQAJAIAAoAogBIgJFBEAgAEGIAWoiAyEBDAELA0AgAiIBKAIQIgJB/OcCSwRAIAEhAyABKAIAIgINAQwCCyACQfznAk8EQCABIQIMAwsgASgCBCICDQALIAFBBGohAwtBGBBcIgJB/OcCNgIQIAIgATYCCCACQgA3AgAgAkEANgIUIAMgAjYCACACIQEgACgChAEoAgAiBARAIAAgBDYChAEgAygCACEBCyAAKAKIASABEGcgACAAKAKMAUEBajYCjAELIAJBFGogAigCFEEBajYCAA8LQfDtBUHFmANBlAZBjd4AEAEAC/oBAQN/IAEoAgAoAgBBzABGBEACQAJAIAAoAogBIgJFBEAgAEGIAWoiAyEBDAELA0AgAiIBKAIQIgJBj/AESwRAIAEhAyABKAIAIgINAQwCCyACQY/wBE8EQCABIQIMAwsgASgCBCICDQALIAFBBGohAwtBGBBcIgJBj/AENgIQIAIgATYCCCACQgA3AgAgAkEANgIUIAMgAjYCACACIQEgACgChAEoAgAiBARAIAAgBDYChAEgAygCACEBCyAAKAKIASABEGcgACAAKAKMAUEBajYCjAELIAJBFGogAigCFEEBajYCAA8LQfDtBUHFmANBlAZBjd4AEAEAC/oBAQN/IAEoAgAoAgBBywBGBEACQAJAIAAoAogBIgJFBEAgAEGIAWoiAyEBDAELA0AgAiIBKAIQIgJBiuwCSwRAIAEhAyABKAIAIgINAQwCCyACQYrsAk8EQCABIQIMAwsgASgCBCICDQALIAFBBGohAwtBGBBcIgJBiuwCNgIQIAIgATYCCCACQgA3AgAgAkEANgIUIAMgAjYCACACIQEgACgChAEoAgAiBARAIAAgBDYChAEgAygCACEBCyAAKAKIASABEGcgACAAKAKMAUEBajYCjAELIAJBFGogAigCFEEBajYCAA8LQfDtBUHFmANBlAZBjd4AEAEAC/cBAQN/IAEoAgAoAgBBygBGBEACQAJAIAAoAogBIgJFBEAgAEGIAWoiAyEBDAELA0AgAiIBKAIQIgJB3BtLBEAgASEDIAEoAgAiAg0BDAILIAJB3BtPBEAgASECDAMLIAEoAgQiAg0ACyABQQRqIQMLQRgQXCICQdwbNgIQIAIgATYCCCACQgA3AgAgAkEANgIUIAMgAjYCACACIQEgACgChAEoAgAiBARAIAAgBDYChAEgAygCACEBCyAAKAKIASABEGcgACAAKAKMAUEBajYCjAELIAJBFGogAigCFEEBajYCAA8LQfDtBUHFmANBlAZBjd4AEAEAC/oBAQN/IAEoAgAoAgBByQBGBEACQAJAIAAoAogBIgJFBEAgAEGIAWoiAyEBDAELA0AgAiIBKAIQIgJB1OICSwRAIAEhAyABKAIAIgINAQwCCyACQdTiAk8EQCABIQIMAwsgASgCBCICDQALIAFBBGohAwtBGBBcIgJB1OICNgIQIAIgATYCCCACQgA3AgAgAkEANgIUIAMgAjYCACACIQEgACgChAEoAgAiBARAIAAgBDYChAEgAygCACEBCyAAKAKIASABEGcgACAAKAKMAUEBajYCjAELIAJBFGogAigCFEEBajYCAA8LQfDtBUHFmANBlAZBjd4AEAEAC/oBAQN/IAEoAgAoAgBByABGBEACQAJAIAAoAogBIgJFBEAgAEGIAWoiAyEBDAELA0AgAiIBKAIQIgJBh4QBSwRAIAEhAyABKAIAIgINAQwCCyACQYeEAU8EQCABIQIMAwsgASgCBCICDQALIAFBBGohAwtBGBBcIgJBh4QBNgIQIAIgATYCCCACQgA3AgAgAkEANgIUIAMgAjYCACACIQEgACgChAEoAgAiBARAIAAgBDYChAEgAygCACEBCyAAKAKIASABEGcgACAAKAKMAUEBajYCjAELIAJBFGogAigCFEEBajYCAA8LQfDtBUHFmANBlAZBjd4AEAEAC/oBAQN/IAEoAgAoAgBBxwBGBEACQAJAIAAoAogBIgJFBEAgAEGIAWoiAyEBDAELA0AgAiIBKAIQIgJBioUBSwRAIAEhAyABKAIAIgINAQwCCyACQYqFAU8EQCABIQIMAwsgASgCBCICDQALIAFBBGohAwtBGBBcIgJBioUBNgIQIAIgATYCCCACQgA3AgAgAkEANgIUIAMgAjYCACACIQEgACgChAEoAgAiBARAIAAgBDYChAEgAygCACEBCyAAKAKIASABEGcgACAAKAKMAUEBajYCjAELIAJBFGogAigCFEEBajYCAA8LQfDtBUHFmANBlAZBjd4AEAEAC/oBAQN/IAEoAgAoAgBBxgBGBEACQAJAIAAoAogBIgJFBEAgAEGIAWoiAyEBDAELA0AgAiIBKAIQIgJBndMESwRAIAEhAyABKAIAIgINAQwCCyACQZ3TBE8EQCABIQIMAwsgASgCBCICDQALIAFBBGohAwtBGBBcIgJBndMENgIQIAIgATYCCCACQgA3AgAgAkEANgIUIAMgAjYCACACIQEgACgChAEoAgAiBARAIAAgBDYChAEgAygCACEBCyAAKAKIASABEGcgACAAKAKMAUEBajYCjAELIAJBFGogAigCFEEBajYCAA8LQfDtBUHFmANBlAZBjd4AEAEAC/oBAQN/IAEoAgAoAgBBxQBGBEACQAJAIAAoAogBIgJFBEAgAEGIAWoiAyEBDAELA0AgAiIBKAIQIgJB7+cCSwRAIAEhAyABKAIAIgINAQwCCyACQe/nAk8EQCABIQIMAwsgASgCBCICDQALIAFBBGohAwtBGBBcIgJB7+cCNgIQIAIgATYCCCACQgA3AgAgAkEANgIUIAMgAjYCACACIQEgACgChAEoAgAiBARAIAAgBDYChAEgAygCACEBCyAAKAKIASABEGcgACAAKAKMAUEBajYCjAELIAJBFGogAigCFEEBajYCAA8LQfDtBUHFmANBlAZBjd4AEAEACycAIAAoAgBBzgBHBEBBmKwGQae3AkGyHEHiwQIQAQALIAAgATYCCAv6AQEDfyABKAIAKAIAQcQARgRAAkACQCAAKAKIASICRQRAIABBiAFqIgMhAQwBCwNAIAIiASgCECICQYLwBEsEQCABIQMgASgCACICDQEMAgsgAkGC8ARPBEAgASECDAMLIAEoAgQiAg0ACyABQQRqIQMLQRgQXCICQYLwBDYCECACIAE2AgggAkIANwIAIAJBADYCFCADIAI2AgAgAiEBIAAoAoQBKAIAIgQEQCAAIAQ2AoQBIAMoAgAhAQsgACgCiAEgARBnIAAgACgCjAFBAWo2AowBCyACQRRqIAIoAhRBAWo2AgAPC0Hw7QVBxZgDQZQGQY3eABABAAv3AQEDfyABKAIAKAIAQcMARgRAAkACQCAAKAKIASICRQRAIABBiAFqIgMhAQwBCwNAIAIiASgCECICQYU6SwRAIAEhAyABKAIAIgINAQwCCyACQYU6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ASgCBCICDQALIAFBBGohAwtBGBBcIgJB/M0CNgIQIAIgATYCCCACQgA3AgAgAkEANgIUIAMgAjYCACACIQEgACgChAEoAgAiBARAIAAgBDYChAEgAygCACEBCyAAKAKIASABEGcgACAAKAKMAUEBajYCjAELIAJBFGogAigCFEEBajYCAA8LQfDtBUHFmANBlAZBjd4AEAEAC/kBAQN/IAEoAgAoAgBBEkYEQAJAAkAgACgCiAEiAkUEQCAAQYgBaiIDIQEMAQsDQCACIgEoAhAiAkHougJLBEAgASEDIAEoAgAiAg0BDAILIAJB6LoCTwRAIAEhAgwDCyABKAIEIgINAAsgAUEEaiEDC0EYEFwiAkHougI2AhAgAiABNgIIIAJCADcCACACQQA2AhQgAyACNgIAIAIhASAAKAKEASgCACIEBEAgACAENgKEASADKAIAIQELIAAoAogBIAEQZyAAIAAoAowBQQFqNgKMAQsgAkEUaiACKAIUQQFqNgIADwtB8O0FQcWYA0GUBkGN3gAQAQAL+QEBA38gASgCACgCAEERRgRAAkACQCAAKAKIASICRQRAIABBiAFqIgMhAQwBCwNAIAIiASgCECICQeCMAUsEQCABIQMgASgCACICDQEMAgsgAkHgjAFPBEAgASECDAMLIAEoAgQiAg0ACyABQQRqIQMLQRgQXCICQeCMATYCECACIAE2AgggAkIANwIAIAJBADYCFCADIAI2AgAgAiEBIAAoAoQBKAIAIgQEQCAAIAQ2AoQBIAMoAgAhAQsgACgCiAEgARBnIAAgACgCjAFBAWo2AowBCyACQRRqIAIoAhRBAWo2AgAPC0Hw7QVBxZgDQZQGQY3eABABAAv2AQEDfyABKAIAKAIAQRBGBEACQAJAIAAoAogBIgJFBEAgAEGIAWoiAyEBDAELA0AgAiIBKAIQIgJBrxhLBEAgASEDIAEoAgAiAg0BDAILIAJBrxhPBEAgASECDAMLIAEoAgQiAg0ACyABQQRqIQMLQRgQXCICQa8YNgIQIAIgATYCCCACQgA3AgAgAkEANgIUIAMgAjYCACACIQEgACgChAEoAgAiBARAIAAgBDYChAEgAygCACEBCyAAKAKIASABEGcgACAAKAKMAUEBajYCjAELIAJBFGogAigCFEEBajYCAA8LQfDtBUHFmANBlAZBjd4AEAEAC/YBAQN/IAEoAgAoAgBBD0YEQAJAAkAgACgCiAEiAkUEQCAAQYgBaiIDIQEMAQsDQCACIgEoAhAiAkHMGEsEQCABIQMgASgCACICDQEMAgsgAkHMGE8EQCABIQIMAwsgASgCBCICDQALIAFBBGohAwtBGBBcIgJBzBg2AhAgAiABNgIIIAJCADcCACACQQA2AhQgAyACNgIAIAIhASAAKAKEASgCACIEBEAgACAENgKEASADKAIAIQELIAAoAogBIAEQZyAAIAAoAowBQQFqNgKMAQsgAkEUaiACKAIUQQFqNgIADwtB8O0FQcWYA0GUBkGN3gAQAQAL+QEBA38gASgCACgCAEEORgRAAkACQCAAKAKIASICRQRAIABBiAFqIgMhAQwBCwNAIAIiASgCECICQbDSAEsEQCABIQMgASgCACICDQEMAgsgAkGw0gBPBEAgASECDAMLIAEoAgQiAg0ACyABQQRqIQMLQRgQXCICQbDSADYCECACIAE2AgggAkIANwIAIAJBADYCFCADIAI2AgAgAiEBIAAoAoQBKAIAIgQEQCAAIAQ2AoQBIAMoAgAhAQsgACgCiAEgARBnIAAgACgCjAFBAWo2AowBCyACQRRqIAIoAhRBAWo2AgAPC0Hw7QVBxZgDQZQGQY3eABABAAv5AQEDfyABKAIAKAIAQSdGBEACQAJAIAAoAogBIgJFBEAgAEGIAWoiAyEBDAELA0AgAiIBKAIQIgJB/+sCSwRAIAEhAyABKAIAIgINAQwCCyACQf/rAk8EQCABIQIMAwsgASgCBCICDQALIAFBBGohAwtBGBBcIgJB/+sCNgIQIAIgATYCCCACQgA3AgAgAkEANgIUIAMgAjYCACACIQEgACgChAEoAgAiBARAIAAgBDYChAEgAygCACEBCyAAKAKIASABEGcgACAAKAKMAUEBajYCjAELIAJBFGogAigCFEEBajYCAA8LQfDtBUHFmANBlAZBjd4AEAEACysAIABBqAFqQRBBBBBdIgAgAjYCDCAAIAE2AgggAELOADcCACAAEPgDIAAL9gEBA38gASgCACgCAEEmRgRAAkACQCAAKAKIASICRQRAIABBiAFqIgMhAQwBCwNAIAIiASgCECICQdEbSwRAIAEhAyABKAIAIgINAQwCCyACQdEbTwRAIAEhAgwDCyABKAIEIgIN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IAJBD3JBAWoiBhAGIQRB1IkLKAIAITZB1IkLQQA2AgAgNkEBRg0oIAMgBDYCiAggAyACNgKMCCADIAZBgICAgHhyNgKQCAwBCyADIAI6AJMIIANBiAhqIQQgAkUNAQsgBCAFIAL8CgAACyACIARqQQA6AABB1IkLQQA2AgBBjAIgA0GUCGogAygCiAggA0GICGogAy0AkwgiAsBBAEgiBBsgAygCjAggAiAEGxAEIQJB1IkLKAIAITdB1IkLQQA2AgAgN0EBRg0jIAMgAigCCDYCuAEgAyACKQIANwOwASACQgA3AgAgAkEANgIIQdSJC0EANgIAQczhACAAIANBsAFqEANB1IkLKAIAIThB1IkLQQA2AgAgOEEBRg0iIAMsALsBQQBIBEAgAygCsAEQWgsgAywAkwhBAEgEQCADKAKICBBaCyADLACfCEEASARAIAIoAgAQWgsgCUEBaiEJCyAIQQRqIgggDkcNAAsLIANBsAFqIgJBAEGJAfwLACADQgA3AswCIANCADcCxAIgA0GAgID8AzYC1AIgA0IANwK8AiADQgA3AuACIANBADYC7AIgA0GQtws2AugCIANCADcC+AIgA0GAgID8AzYCgAMgA0IANwKMAyADQYCAgPwDNgKUAyADQgA3AqADIANBgICA/AM2AqgDIANCADcCtAMgA0GAgID8AzYCvAMgA0IANwLIAyADQgA3AtgCIANCADcC8AIgA0IANwKEAyADQgA3ApgDIANCADcCrAMgA0IANwLAAyADQYCAgPwDNgLQAyADQgA3AtwDIANBgICA/AM2AuQDIANCADcC8AMgA0GAgID8AzYC+AMgA0IANwKEBCADQYCAgPwDNgKMBCADQgA3AtQDIANCADcC6AMgA0IANwL8A0HUiQtBADYCAEHN4QAgASACEANB1IkLKAIAITlB1IkLQQA2AgAgOUEBRg0bQdSJC0EANgIAQc7hACACEAYhCUHUiQsoAgAhOkHUiQtBADYCACA6QQFGDRsgAhDmAxogASgCACIGIAEoAgQiCEcEQANAIANBsAFqIgJBAEGJAfwLACADQgA3AswCIANCADcCxAIgA0IANwK8AiADQYCAgPwDNgLUAiADQgA3AuACIANCADcC2AIgA0EANgLsAiADQZC3CzYC6AIgA0IANwL4AiADQgA3AvACIANBgICA/AM2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b0EATg0AIAMoAmQQWgsgA0GwAWoQ5gMaDBkLEAAhACADLACTCEEATg0BIAMoAogIEFoMAQsQACEACyADLACrAUEATg0BIAMoAqABEFoMAQsQACEACyADLABjQQBODQEgAygCWBBaDAELEAAhAAsgAywAmwFBAE4NASADKAKQARBaDAELEAAhAAsgAywAiwFBAE4NASADKAKAARBaDAELEAAhAAsgAywAb0EATg0BIAMoAmQQWgwBCxAAIQALIAMsAHtBAE4NAiADKAJwEFoMAgsQACEADAELEAAhAAsgA0GwAWoQ5gMaDAkLEAAhACADQbABahDmAxoMCAsQACEADAcLEAAhAAwHCxAAIQAgAywAxwdBAE4NByADKAK8BxBaDAcLEAAhACADLAC7AUEATg0BIAMoArABEFoMAQsQACEACyADLACTCEEATg0BIAMoAogIEFoMAQsQACEACyADLACfCEEATg0AIAMoApQIEFoLIA0QjAQLIAMoArAHIgFFDQAgAyABNgK0ByABEFoLIAoQvgQgABAHAAsACyADQbABahBhIAAQBwALSgEBfyAAQfjxBzYCACAAKAKIARC8BCAAKAJsIgEEQCAAIAE2AnAgARBaCyAAQZDtCTYCACAALAATQQBIBEAgACgCCBBaCyAAEFoLSAEBfyAAQfjxBzYCACAAKAKIARC8BCAAKAJsIgEEQCAAIAE2AnAgARBaCyAAQZDtCTYCACAALAATQQBIBEAgACgCCBBaCyAAC4gDAQZ/AkACQCABKAIAIgQoAgBBCUYEQAJAIAQoAgwiAigCAEEIRw0AIAIoAggiBSAEKAIIRg0AIAIoAgQhAyAAKAJ8QagBakEQQQQQXSIBIAI2AgwgASAFNgIIIAFBCTYCACABIAM2AgQgAUEBIAMgAigCBEEBRhs2AgQgBCABNgIMIAAoAoQBIgEgACgCiAFHBEAgASAENgIAIAAgAUEEajYChAEPCyABIAAoAoABIgVrIgJBAnUiB0EBaiIDQYCAgIAETw0CQf////8DIAJBAXUiBiADIAMgBkkbIAJB/P///wdPGyIDBH8gA0GAgICABE8NBCADQQJ0EFwFQQALIgYgB0ECdGoiAiAENgIAIAJBBGohBCABIAVHBEADQCACQQRrIgIgAUEEayIBKAIANgIAIAEgBUcNAAsgACgCgAEhAQsgACAGIANBAnRqNgKIASAAIAQ2AoQBIAAgAjYCgAEgAUUNACABEFoLDwtB8O0FQcWYA0GUBkGN3gAQAQALEGQACxBqAAudBAEMfyMAQYABayIBJAACQCAAKAIUIgIgAEEYaiIFRwRAIABBIGohBgNAAkACQAJAAkACQCACKAIQIgMoAgBBCUcNACADKAIMIQAgAUEANgIIIAFCADcCACABIAA2AnwgAUIANwIMIAFBADYCdCABQgA3AmwgAUIANwJkQdSJC0EANgIAIAEgATYCeEGOMyABQQxqIAFB/ABqEANB1IkLKAIAIQlB1IkLQQA2AgAgCUEBRg0BIAEoAmQiAARAIAEgADYCaCAAEFoLIAEoAgAiACABKAIEIgdHBEADQCABIAAoAgAiBDYCfEHUiQtBADYCAEHI4QAgAUEMaiIIIAYgBCABQfwAahAFQdSJCygCACEKQdSJC0EANgIAIApBAUYNBEHUiQtBADYCAEGMxQAgCCABKAIMQQxqIAMgAxAFQdSJCygCACELQdSJC0EANgIAIAtBAUYNBCAAQQRqIgAgB0cNAAsgASgCACEACyAARQ0AIAEgADYCBCAAEFoLIAIoAgQiA0UNAgNAIAMiACgCACIDDQALDAMLEAAhACABKAJkIgIEQCABIAI2AmggAhBaCyABKAIAIgJFDQUgASACNgIEIAIQWgwFCxAAIQAgASgCACICRQ0EIAEgAjYCBCACEFogABAHAAsDQCACKAIIIgAoAgAgAkchDCAAIQIgDA0ACwsgBSAAIgJHDQALCyABQYABaiQADwsgABAHAAsFAEG1AQssAEGMARBcIgBBAEGAAfwLACAAQQA2AogBIABCADcCgAEgAEHI8Qc2AgAgAAtEACAAKAIERQRAQej6BUG6iwNBnARB7tMCEAEACyAAIAI2AnggACABNgJ8IABBFGogAkEwahDuBiAAEJcOIABCADcCeAu+IgEOfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJA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AyADKQPoATcDGCADIAMpA/ABNwMgIAMgAykD+AE3AyggAyADKQPgATcDECADQQEgAygC3AEiAiACQQBKGzYC3AFB1IkLQQA2AgAgAyADKQPYATcDCEGbASADQTBqIAQQAiEEQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBxABqIAUQAiEFQdSJCygCACESQdSJC0EANgIAIBJBAUYNBSADIAMoAqwCIgI2AlwgAyADKAKoAjYCWCACBEAgAiACKAIEQQFqNgIECyADQQA2AnggAyADKQMQNwKEASADIAMpAxg3AowBIAMgAykDIDcClAEgAyADKQMoNwKcASADQgA3AnAgA0H87Ak2AmQgAyADKQMINwJ8QdSJC0EANgIAIAMgATYCaCADIAFBqAFqNgJsQZsBIANBpAFqIAQQAiEBQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBuAFqIAUQAhpB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRwRAIAMgAygCWDYCzAEgAyADKAJcIgE2AtABIAEEQCABIAEoAgRBAWo2AgQLIANBADsB1AEgA0EIahBhIANBAToA1AEgACgCACgCFCEUQdSJC0EANgIAIBQgABAGIQBB1IkLKAIAIRVB1IkLQQA2AgAgFUEBRg0EIAMoAmQoAgghFkHUiQtBADYCACAWIANB5ABqIgEgABADQdSJCygCACEXQdSJC0EANgIAIBdBAUYNBEHUiQtBADYCAEGXASABEApB1IkLKAIAIRhB1IkLQQA2AgAgGEEBRg0EIANB/OwJNgJkIANB/ABqEGEgAygCcCIBBEAgAygCdCIAIAEiAkcEQANAIABBBGsiACgCACECIABBADYCACACBEAgAiACKAIAKAIEEQEACyAAIAFHDQALIAMoAnAhAgsgAyABNgJ0IAIQWgsgA0HYAWoQYQwQCxAAIQAgARBrDAELEAAhAAsgA0HwAGoQ4AEgA0EIahBhDA4LEAAhAAwNCxAAIQAgA0HkAGoQfBoMDAsgACABNgJ8IABBFGohCSABKAIYIgIgASgCHCIERwRAA0AgAigCACIFKAIMRQRAIAkgBUEgahDuBgsgAkEEaiICIARHDQALCyABKAIMIgIgASgCECIFRwRAA0AgAigCACIE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AEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPwBCywAIAEoAgAiASgCAEHTAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPwBCywAIAEoAgAiASgCAEHSAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPwBCywAIAEoAgAiASgCAEHRAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPwBCywAIAEoAgAiASgCAEHQAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPwBCywAIAEoAgAiASgCAEHPAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPwBCxcAIABBqAFqQQhBBBBdIgBCFjcCACAACywAIAEoAgAiASgCAEHOAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPwBCywAIAEoAgAiASgCAEHNAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPwBCywAIAEoAgAiASgCAEHMAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPwBCywAIAEoAgAiASgCAEHLAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPwBCywAIAEoAgAiASgCAEHKAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPwBCywAIAEoAgAiASgCAEHJAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPwBCywAIAEoAgAiASgCAEHIAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPwBCywAIAEoAgAiASgCAEHHAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPwBCywAIAEoAgAiASgCAEHGAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPwBCywAIAEoAgAiASgCAEHFAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPwBCywAIAEoAgAiASgCAEHEAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPwBCywAIAEoAgAiASgCAEHDAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPwBCywAIAEoAgAiASgCAEHCAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEPwBCywAIAEoAgAiASgCAEHBAEcEQEHw7QVBxZgDQZQGQY3eABAB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IANBmt8AIAJBIGoQWAxVCyADQbnfACABEFggAigCAEEjRw1DDE8LIANBut8AIAEQWCACKAIAQSRHDUIMSAsgA0G73wAgARBYIAIoAgBBJUYNUgxBCyADQbzfACABEFggAigCAEEmRw1ADEMLIANBvd8AIAEQWCACKAIAQSdHDT8MQgsgA0G+3wAgARBYIAIoAgBBDkYNTww+CyADQb/fACABEFggAigCAEEPRw09DEgLIANBwN8AIAEQWCACKAIAQRBHDTwMRgsgA0HB3wAgARBYIAIoAgBBEUcNOww+CyADQcLfACABEFggAigCAEESRw06DEkLIANBw98AIAEQWCACKAIAQRNHDTkMSQsgA0HE3wAgARBYIAIoAgBBFEYNSQw4CyADQcXfACABEFggAigCAEEVRw03DEYLIANBxt8AIAEQWCACKAIAQSlGDUcMNgsgA0HH3wAgARBYIAIoAgBBKkcNNQxECyADQcjfACABEFggAigCAEErRg1FDDQLIANByd8AIAEQWCACKAIAQSxHDTMMNwsgA0HK3wAgARBYIAIoAgBBLUcNMgw6CyADQcvfACABEFggAigCAEEuRw0xDDgLIANBzN8AIAEQWCACKAIAQS9GDUEMMAsgA0HN3wAgARBYIAIoAgBBMEcNLww2CyADQc7fACABEFggAigCAEExRw0uDDQLIANBz98AIAEQWCACKAIAQTJHDS0MMAsgA0HQ3wAgARBYIAIoAgBBM0cNLCACKAIoIgBBAEoEQCADQQRqIQYDQCAAQQFrIgUgAigCKE8NLyACKAIkIAVBAnRqIgQoAgBFDUAgBkGa3wAgBBBbIABBAUshCyAFIQAgCw0ACwsMNAsgA0HR3wAgARBYIAIoAgBBNEYNOgwrCyADQdLfACABEFggAigCAEE1Rw0qIAIoAhQiAEEATA07IANBBGohBgNAIABBAWsiBSACKAIUTw0sIAIoAhAgBUECdGoiBCgCAEUNPSAGQZrfACAEEFsgAEEBSyEMIAUhACAMDQALDDsLIANB098AIAEQWCACKAIAQTZGDToMKQsgA0HU3wAgARBYIAIoAgBBN0cNKAw3CyADQdXfACABEFggAigCAEEWRg04DCcLIANB1t8AIAEQWCACKAIAQRdGDTcMJgsgA0HX3wAgARBYIAIoAgBBKEYNNgwlCyADQdjfACAB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LQsgA0G94AAgARBYIAIoAgBBwQBHDRsMJgsgA0G+4AAgARBYIAIoAgBBwgBHDRoMJAsgA0G/4AAgARBYIAIoAgBBwwBHDRkgA0GY3wAgAkEMahBYDCkLIANBwOAAIAEQWCACKAIAQcQARw0YDB8LIANBweAAIAEQWCACKAIAQcUARw0XDB4LIANBwuAAIAEQWCACKAIAQcYARw0WIAIoAgwiAEEATA0nIANBBGohBgNAIABBAWsiBSACKAIMTw0YIAIoAgggBUECdGoiBCgCAEUNKSAGQZjfACAEEFsgAEEBSyEQIAUhACAQDQALDCcLIANBw+AAIAEQWCACKAIAQccARw0VDBkLIANBxOAAIAEQWCACKAIAQcgARw0UDBcLIANBxeAAIAEQWCACKAIAQckARw0TDCILIANBxuAAIAEQWCACKAIAQcoARw0SIANBmN8AIAJBGGoQWAwUCyADQcfgACABEFggAigCAEHLAEcNEQwTCyADQcjgACABEFggAigCAEHMAEcNEAwVCyADQcngACABEFggAigCAEHNAEcNDwwUCyADQcrgACABEFggAigCAEHOAEcNDgwZCyADQcvgACABEFggAigCAEHPAEcNDSACKAIYBEAgA0EEakGY3wAgAkEYahBbCyACKAIUBEAgA0EEakGY3wAgAkEUahBbCyACKAIQBEAgA0EEakGY3wAgAkEQahBbCwwYCyADQczgACABEFggAigCAEHQAEYNHQwMCyADQc3gACABEFggAigCAEHRAEcNCwwWCyADQc7gACABEFggAigCAEHSAEcNCiACKAIUBEAgA0EEakGY3wAgAkEUahBbCwwUCyADQc/gACABEFggAigCAEHTAEcNCQwNCyADQdDgACABEFggAigCAEHUAEcNCAwSCyADQdHgACABEFggAigCAEHVAEcNBwwSCyADQdLgACABEFggAigCAEHWAEcNBgwJCyADQdPgACABEFggAigCAEHXAEcNBQwJCyADQdTgACABEFggAigCAEHYAEcNBAwTCyADQdXgACABEFggAigCAEHZAEcNAwwNCyADQdbgACABEFggAigCAEHaAEcNAgwLCyADQdfgACABEFggAigCAEHbAEcNAQwFCyADQdjgACABEFggAigCAEHcAEcNACADQZjfACACQTxqEFggAigCMCIAQQBMDREgA0EEaiEGA0AgAEEBayIFIAIoAjBPDQIgAigCLCAFQQJ0aiIEKAIARQ0TIAZBmN8AIAQQWyAAQQFLIREgBSEAIBENAAsMEQtB8O0FQcWYA0GUBkGN3gAQAQALQcWiAUGJogNBvAFBpogFEAEACyADQZjfACACQRRqEFgLIANBmN8AIAJBEGoQWAsgA0GY3wAgAkEMahBYDAoLIANBmN8AIAJBHGoQWAsgA0GY3wAgAkEYahBYCyADQZjfACACQRRqEFgLIANBmN8AIAJBEGoQWAwICyADQZjfACACQRRqEFgLIANBmN8AIAJBEGoQWAsgA0GY3wAgAkEMahBYDAULIANBmN8AIAJBKGoQWAsgA0GY3wAgAkEkahBYDAMLIANBmN8AIAJBHGoQWCADQZjfACACQRhqEFgMAgsgA0GY3wAgAkEIahBYDAELIAIoAghFDQAgA0EEakGY3wAgAkEIahBbCwJAIAcoAgAiAEEBa0EDTyAAQTNrQQFLcUUEQCABKAIARQ0BIANBBGpBnt8AIAEQWwsPCwtBgYMCQdOZA0G5AkGu9wIQAQALjwUBCH8jAEEgayIFJAACQAJAAkACQCAAKAIEIAAoAgAiBmtB+ABtIghBAWoiBEGjxIgRSQRAIABBCGoiBygCACEJIAUgBzYCHCAFQaLEiBEgCSAGa0H4AG0iBkEBdCIHIAQgBCAHSRsgBkGRosQITxsiBgR/IAZBo8SIEU8NAiAGQfgAbBBcBUEACyIHNgIMIAUgByAIQfgAbGoiBDYCFCAFIAcgBkH4AGxqNgIYIAUgBDYCECAEIAEtACA6AAAgBCABLQAhOgABIAQgASgCUDYCBCAEIAEoAlQiATYCCCABBEAgASABKAIEQQFqNgIECyAEIAI2AgwgAigChAEhASAEQRxqIgJCADcCACAEQQA7ARQgBCABNgIQIARBKGoiAUIANwIAIAQgAjYCGCAEQTRqIgJCADcCACAEIAE2AiQgBEFAayIBQgA3AgAgBCACNgIwIARB5ABqIgJCADcCACAEIAE2AjwgBEIANwJIIARCADcCUCAEQgA3AVYgBCACNgJgIARB8ABqIgFCADcCACAEIAE2AmxB1IkLQQA2AgBBoCcgBCADEANB1IkLKAIAIQpB1IkLQQA2AgAgCkEBRg0CIAUoAhRB+ABqIQQgBSgCECEBIAAoAgQiAiAAKAIAIgNGDQMDQCABQfgAayACQfgAayICELMIIQEgAiADRw0ACyAAKAIEIQMgACAENgIEIAAoAgAhAiAAIAE2AgAgACAFKAIYNgIIIAIgA0YNBANAIANB+ABrIgMQswUgAiADRw0ACwwECxBkAAsQagALEAAhCyAEEN8BGiAFQQxqENQOIAsQBwALIAAgBDYCBCAAIAE2AgAgACAFKAIYNgIICyACBEAgAhBaCyAFQSBqJAALLAAgASgCACIBKAIAQdwARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoQILLAAgASgCACIBKAIAQdsARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoQILBQBBngELLAAgASgCACIBKAIAQdoARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoQILLAAgASgCACIBKAIAQdkARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoQILLAAgASgCACIBKAIAQdgARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoQILLAAgASgCACIBKAIAQdcARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoQILLAAgASgCACIBKAIAQdYARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoQILLAAgASgCACIBKAIAQdUARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoQILLAAgASgCACIBKAIAQdQARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoQILLAAgASgCACIBKAIAQdMARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoQILLAAgASgCACIBKAIAQdIARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoQILLAAgASgCACIBKAIAQdEARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoQILBQBBkQELLAAgASgCACIBKAIAQdAARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoQILLAAgASgCACIBKAIAQc8ARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoQILLAAgASgCACIBKAIAQc4ARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoQILLAAgASgCACIBKAIAQc0ARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoQILLAAgASgCACIBKAIAQcwARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoQILLAAgASgCACIBKAIAQcsARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoQILLAAgASgCACIBKAIAQcoARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoQILLAAgASgCACIBKAIAQckARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoQILLAAgASgCACIBKAIAQcgARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoQILLAAgASgCACIBKAIAQccARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoQILBQBBuQELLAAgASgCACIBKAIAQcYARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoQILLAAgASgCACIBKAIAQcUARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoQILLAAgASgCACIBKAIAQcQARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoQILLAAgASgCACIBKAIAQcMARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoQILLAAgASgCACIBKAIAQcIARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoQILLAAgASgCACIBKAIAQcEARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoQILLAAgASgCACIBKAIAQcAARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoQILKwAgASgCACIBKAIAQT9HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARChAgsrACABKAIAIgEoAgBBPkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEKECCysAIAEoAgAiASgCAEE9RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoQILBQBBsQELKwAgASgCACIBKAIAQTxHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARChAgsrACABKAIAIgEoAgBBO0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEKECCysAIAEoAgAiASgCAEE6RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoQILKwAgASgCACIBKAIAQTlHBEBB8O0FQcWY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CUHUiQtBADYCACAJQQFHBEACQEHUiQtBADYCAEEdIANBBGoiACAEEANB1IkLKAIAIQpB1IkLQQA2AgAgCkEBRg0AIAEgAygCBCIBIAAgAy0ADyIFwCIAQQBIGyACEIoDGiADKAIIIQsgAEEASARAIAEQWgsgA0H4kQo2AlAgA0HQkQo2AhAgB0HkkQo2AgAgBEG4jAo2AgAgAywAR0EASARAIAMoAjwQWgsgBBDrARogBhDoARogA0GgAWokACALIAUgAEEASBsiACACIAAgAkkbDwsLEAAhDCADQRBqEM4DGiAMEAcACysAIAEoAgAiASgCAEEeRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoQILKwAgASgCACIBKAIAQR1HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARChAgsrACABKAIAIgEoAgBBHEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEKECCysAIAEoAgAiASgCAEEbRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoQILKwAgASgCACIBKAIAQRpHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARChAgsrACABKAIAIgEoAgBBGUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEKECCysAIAEoAgAiASgCAEEYRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoQILKwAgASgCACIBKAIAQQ1HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARChAgsrACABKAIAIgEoAgBBDEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEKECCysAIAEoAgAiASgCAEELRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoQILKwAgASgCACIBKAIAQQpHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARChAgsrACABKAIAIgEoAgBBCUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEKECCysAIAEoAgAiASgCAEEIRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoQILKwAgASgCACIBKAIAQQdHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARChAgsrACABKAIAIgEoAgBBBkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEKECCysAIAEoAgAiASgCAEEFRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoQILKwAgASgCACIBKAIAQQRHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARChAgsrACABKAIAIgEoAgBBA0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEKECCzMAIAEoAgAiASgCAEECRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEgAUEIakEAEJ8OGgs8ACABKAIAIgEoAgBBAUcEQEHw7QVBxZgDQZQGQY3eABABAAsgASAAKAJ8IAAoAgRBGGogAEGAAWoQoA4LOABBlAEQXCIAQQBBgAH8CwAgAEIANwKAASAAQczvBzYCACAAQgA3AogBIABBgICA/AM2ApABIAALPwAgACgCBEUEQEHo+gVBuosDQZwEQe7TAhABAAsgACACNgJ4IAAgATYCfCAAQRRqIAJBMGoQ8AYgAEIANwJ4C74iAQ5/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAIgIoAgAOXgABAgMEBQYHCAkKCwwNHh8gISIjJCU1Ng4PEBESExQVFhcYGRobHB03JicoKSorLC0uLzAxMjM0ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXABdC0GY/QNB5bMDQeoBEGIACyAAQRRqQbveACABEFggAigCAEEBRw1cIAIoAhQiAUEATA1bIABBGGohAwNAIAFBAWsiACACKAIUTw1eIAIoAhAgAEECdGoiBCgCAEUNXyADQbreACAEEFsgAUEBSyEGIAAhASAGDQALDFsLIABBFGoiA0G83gAgARBYIAIoAgBBAkcNWyACKAIQBEAgAEEYakG63gAgAkEQahBbCyADQbreACACQQxqEFggA0G63gAgAkEIahBYDwsgAEEU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AUGmiAUQAQALQYGDAkHTmQNBuQJBrvcCEAEACyAAQbreACACQRxqEFgLIABBut4AIAJBGGoQWAsgAEG63gAgAkEUahBYCyAAQbreACACQRBqEFgPCyAAQbreACACQRRqEFgLIABBut4AIAJBEGoQWAsgAEG63gAgAkEMahBYDwsgAEG63gAgAkEoahBYCyAAQbreACACQSRqEFgPCyAAQbreACACQRxqEFggAEG63gAgAkEYahBYDwsgAEG63gAgAkEUahBYCyAAQbreACACQRBqEFgLIABBut4AIAJBDGoQWAsgAEG63gAgAkEIahBYDwsgAEEYakG63gAgAkEIahBbDwsgA0G63gAgAkEMahBYC/IPARh/IwBBsAJrIgMkAAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCBARAIAAgACgCACgCEBECAARAIAMgACgCBCICKQI4NwP4ASADIAIpAjA3A/ABIAMgAikCKDcD6AEgAyACKQIgNwPgASADIAIpAhg3A9gBIANBgAJqIAJBQGsQ4wEhBEHUiQtBADYCAEGaASADQZQCaiACQdQAahACIQVB1IkLKAIAIRFB1IkLQQA2AgAgEUEBRg0CIAMgAigCaDYCqAIgAyACKAJsIgI2AqwCIAIEQCACIAIoAgRBAWo2AgQLIANBASADKALgASICIAJBAEobNgLgASADIAMpA+gBNwMYIAMgAykD8AE3AyAgAyADKQP4ATcDKCADIAMpA+ABNwMQIANBASADKALcASICIAJBAEobNgLcAUHUiQtBADYCACADIAMpA9gBNwMIQZsBIANBMGogBBACIQRB1IkLKAIAIQJB1IkLQQA2AgACQCACQQFHBEBB1IkLQQA2AgBBmgEgA0HEAGogBRACIQVB1IkLKAIAIRJB1IkLQQA2AgAgEkEBRg0FIAMgAygCrAIiAjYCXCADIAMoAqgCNgJYIAIEQCACIAIoAgRBAWo2AgQLIANBADYCeCADIAMpAxA3AoQBIAMgAykDGDcCjAEgAyADKQMgNwKUASADIAMpAyg3ApwBIANCADcCcCADQfzsCTYCZCADIAMpAwg3AnxB1IkLQQA2AgAgAyABNgJoIAMgAUGoAWo2AmxBmwEgA0GkAWogBBACIQFB1IkLKAIAIQJB1IkLQQA2AgACQCACQQFHBEBB1IkLQQA2AgBB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AgAiBigCAEEkRgRAAkAgACgCgAEiASgCBCIDRQ0AIAZBldPH3gVsIgJBGHYgAnNBldPH3gVsQdTMnvoGcyICQQ12IAJzQZXTx94FbCICQQ92IAJzIQIgASgCAAJ/IANBAWsgAnEgA2kiBEEBTQ0AGiACIAIgA0kNABogAiADcAsiB0ECdGooAgAiAUUNACABKAIAIgFFDQACQCAEQQFNBEAgA0EBayEDA0ACQCACIAEoAgQiBEcEQCADIARxIAdGDQEMBQsgASgCCCAGRg0DCyABKAIAIgENAAsMAgsDQAJAIAIgASgCBCIERwRAIAMgBE0EfyAEIANwBSAECyAHRg0BDAQLIAEoAgggBkYNAgsgASgCACIBDQALDAELIAUgACgCeDYCDCABKAIgIgFFDQIgAEEUaiABIAVBDGogASgCACgCGBEEABB5CyAFQRBqJAAPC0Hw7QVBxZgDQZQGQY3eABABAAsQ5wIAC74iAQ5/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAIgIoAgAOXgABAgMEBQYHCAkKCwwNHh8gISIjJCU1Ng4PEBESExQVFhcYGRobHB03JicoKSorLC0uLzAxMjM0ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXABdC0GY/QNB5bMDQeoBEGIACyAAQRRqQaPcACABEFggAigCAEEBRw1cIAIoAhQiAUEATA1bIABBGGohAwNAIAFBAWsiACACKAIUTw1eIAIoAhAgAEECdGoiBCgCAEUNXyADQcbbACAEEFsgAUEBSyEGIAAhASAGDQALDFsLIABBFGoiA0Gk3AAgARBYIAIoAgBBAkcNWyACKAIQBEAgAEEYakHG2wAgAkEQahBbCyADQcbbACACQQxqEFggA0HG2wAgAkEIahBY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QYmiA0G8AUGmiAUQAQALQYGDAkHTmQNBuQJBrvcCEAEACyAAQcbbACACQRxqEFgLIABBxtsAIAJBGGoQWAsgAEHG2wAgAkEUahBYCyAAQcbbACACQRBqEFgPCyAAQcbbACACQRRqEFgLIABBxtsAIAJBEGoQWAsgAEHG2wAgAkEMahBYDwsgAEHG2wAgAkEoahBYCyAAQcbbACACQSRqEFgPCyAAQcbbACACQRxqEFggAEHG2wAgAkEYahBYDwsgAEHG2wAgAkEUahBYCyAAQcbbACACQRBqEFgLIABBxtsAIAJBDGoQWAsgAEHG2wAgAkEIahBYDwsgAEEYakHG2wAgAkEIahBbDwsgA0HG2wAgAkEMahBYC74iAQ5/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAIgIoAgAOXgABAgMEBQYHCAkKCwwNHh8gISIjJCU1Ng4PEBESExQVFhcYGRobHB03JicoKSorLC0uLzAxMjM0ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXABdC0GY/QNB5bMDQeoBEGIACyAAQRRqQcfbACABEFggAigCAEEBRw1cIAIoAhQiAUEATA1bIABBGGohAwNAIAFBAWsiACACKAIUTw1eIAIoAhAgAEECdGoiBCgCAEUNXyADQcXbACAEEFsgAUEBSyEGIAAhASAGDQALDFsLIABBFGoiA0HI2wAgARBYIAIoAgBBAkcNWyACKAIQBEAgAEEYakHF2wAgAkEQahBbCyADQcXbACACQQxqEFggA0HF2wAgAkEIahBYDwsgAEEUaiIAQcnbACABEFggAigCAEEDRw1aDGALIABBFGpBytsAIAEQWCACKAIAQQRHDVkgAigCFARAIABBGGpBxdsAIAJBFGoQWwsgAigCEEUN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QRBqEFgPCyAAQcXbACACQRRqEFgLIABBxdsAIAJBEGoQWAsgAEHF2wAgAkEMahBYDwsgAEHF2wAgAkEoahBYCyAAQcXbACACQSRqEFgPCyAAQcXbACACQRxqEFggAEHF2wAgAkEYahBYDwsgAEHF2wAgAkEUahBYCyAAQcXbACACQRBqEFgLIABBxdsAIAJBDGoQWAsgAEHF2wAgAkEIahBYDwsgAEEYakHF2wAgAkEIahBbDwsgA0HF2wAgAkEMahBYCwkAIABBAhCjCAvyDwEYfyMAQbACayIDJAACQAJAAkACQAJAAkACQAJAAkACQAJAIAAoAgQEQCAAIAAoAgAoAhARAgAEQCADIAAoAgQiAikCODcD+AEgAyACKQIwNwPwASADIAIpAig3A+gBIAMgAikCIDcD4AEgAyACKQIYNwPYASADQYACaiACQUBrEOMBIQRB1IkLQQA2AgBBmgEgA0GUAmogAkHUAGoQAiEFQdSJCygCACERQdSJC0EANgIAIBFBAUYNAiADIAIoAmg2AqgCIAMgAigCbCICNgKsAiACBEAgAiACKAIEQQFqNgIECyADQQEgAygC4AEiAiACQQBKGzYC4AEgAyADKQPoATcDGCADIAMpA/ABNwMgIAMgAykD+AE3AyggAyADKQPgATcDECADQQEgAygC3AEiAiACQQBKGzYC3AFB1IkLQQA2AgAgAyADKQPYATcDCEGbASADQTBqIAQQAiEEQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBxABqIAUQAiEFQdSJCygCACESQdSJC0EANgIAIBJBAUYNBSADIAMoAqwCIgI2AlwgAyADKAKoAjYCWCACBEAgAiACKAIEQQFqNgIECyADQQA2AnggAyADKQMQNwKEASADIAMpAxg3AowBIAMgAykDIDcClAEgAyADKQMoNwKcASADQgA3AnAgA0H87Ak2AmQgAyADKQMINwJ8QdSJC0EANgIAIAMgATYCaCADIAFBqAFqNgJsQZsBIANBpAFqIAQQAiEBQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBuAFqIAUQAhpB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRwRAIAMgAygCWDYCzAEgAyADKAJcIgE2AtABIAEEQCABIAEoAgRBAWo2AgQLIANBADsB1AEgA0EIahBhIANBAToA1AEgACgCACgCFCEUQdSJC0EANgIAIBQgABAGIQBB1IkLKAIAIRVB1IkLQQA2AgAgFUEBRg0EIAMoAmQoAgghFkHUiQtBADYCACAWIANB5ABqIgEgABADQdSJCygCACEXQdSJC0EANgIAIBdBAUYNBEHUiQtBADYCAEGXASABEApB1IkLKAIAIRhB1IkLQQA2AgAgGEEBRg0EIANB/OwJNgJkIANB/ABqEGEgAygCcCIBBEAgAygCdCIAIAEiAkcEQANAIABBBGsiACgCACECIABBADYCACACBEAgAiACKAIAKAIEEQEACyAAIAFHDQALIAMoAnAhAgsgAyABNgJ0IAIQWgsgA0HYAWoQYQwQCxAAIQAgARBrDAELEAAhAAsgA0HwAGoQ4AEgA0EIahBhDA4LEAAhAAwNCxAAIQAgA0HkAGoQfBoMDAsgACABNgJ8IABBFGohCSABKAIYIgIgASgCHCIERwRAA0AgAigCACIFKAIMRQRAIAkgBUEgahDxBgsgAkEEaiICIARHDQALCyABKAIMIgIgASgCECIFRwRAA0AgAigCACIEKAIMRQRAIAAgBDYCeCAJIARBMGoQ8QYgAEEANgJ4CyACQQRqIgIgBUcNAAsLIAEoAjAiCiABKAI0Ig5GDQkgAEEcaiENA0AgCigCACICKAIMBEAgCSACQRRqEPEGCyACKAIcIgsgAigCICIPRwRAIAAoAnAhBCAAKAJsIQYgACgCGCEFA0AgAyALKAIAIgc2AmQgBCAGayIQQQN1IgJBACAFa0cNBiAHRQ0HAkAgBUEJTQRAIAAgBUEBaiIGNgIYIA0gBUEDdGoiAkHG2wA2AgAgAiADQeQAajYCBCAEIQIgBiEFDAELIAAoAnQiCCAESwRAIARBxtsANgIAIAQgA0HkAGo2AgQgACAEQQhqIgI2AnAMAQsgAkEBaiIHQYCAgIACTw0JQf////8BIAggBmsiCEECdSIMIAcgByAMSRsgCEH4////B08bIgdBgICAgAJPDQogECAHQQN0IgwQXCIIaiIHQcbbADYCACAIIAJBA3RqIANB5ABqNgIEIAdBCGohAiAEIAZHBEADQCAHQQhrIgcgBEEIayIEKQIANwIAIAQgBkcNAAsLIAAgCCAMajYCdCAAIAI2AnAgACAHNgJsIAZFDQAgBhBaIAAoAnAhAiAAKAIYIQULQQAgBWsgAiAAKAJsIgZrQQN1RwRAA0ACQCACIAZGBEAgBUUNDiANIAVBAWsiBEEDdGoiBSgCBCECIAUoAgAhBiAAIAQ2AhgMAQsgAkEIayIEKAIAIQYgBCgCBCECIAAgBDYCcAsgCSACNgIAIAIoAgBFDQ0gACACIAYRAABBACAAKAIYIgVrIAAoAnAiAiAAKAJsIgZrQQN1Rw0ACwsgAiEEIAtBBGoiCyAPRw0ACwsgCkEEaiIKIA5HDQALDAkLQej6BUG6iwNB/ANB2ssCEAEACxAAIRkgBBBrIBkQBwALEAAhACAEEGsMCAtBzcoFQdOZA0HIAkHQ+AIQAQALQYGDAkHTmQNBuQJBrvcCEAEACxBkAAsQagALQd7EBUGwlANB2gBB/fsCEAEAC0H1ggJB05kDQc0CQdD4AhABAAsgASgCSCICIAEoAkwiAUcEQANAIAIoAgAiBC0AFEUEQCAJIARBGGoQ8QYLIAJBBGoiAiABRw0ACwsgAEEANgJ8CyADQbACaiQADwsgA0HYAWoQYSAAEAcAC+0HAgt/An0jAEEQayIJJAAgAkGV08feBWwiBEEYdiAEc0GV08feBWxB1Mye+gZzIgRBDXYgBHNBldPH3gVsIgRBD3YgBHMhBAJAIAACfwJAIAEoAgQiBUUNACABKAIAAn8gBCAFQQFrcSAFaSIIQQFNDQAaIAQgBCAFSQ0AGiAEIAVwCyIHQQJ0aigCACIGRQ0AIAYoAgAiBkUNACAIQQFNBEAgBUEBayEIA0ACQCAEIAYoAgQiCkcEQCAIIApxIAdHDQQMAQsgBigCCCACRw0AQQAMBAsgBigCACIGDQALDAELA0ACQCAEIAYoAgQiCEcEQCAFIAhNBH8gCCAFcAUgCAsgB0cNAwwBCyAGKAIIIAJHDQBBAAwDCyAGKAIAIgYNAAsLQSgQXCEGIAkgAUEIaiIINgIIIAkgBjYCBCADKAIAIQIgBkEANgIgIAYgAjYCCCAJQQE6AAwgBkEANgIAIAYgBDYCBCABKgIQIQ8gASgCDEEBarMhEAJAAkAgBUUNACAPIAWzlCAQXQ0AIAchBAwBC0ECIQICQCAFIAVBAWtxQQBHIAVBA0lyIAVBAXRyIgMCfyAQIA+VjSIPQwAAgE9dIA9DAAAAAGBxBEAgD6kMAQtBAAsiByADIAdLGyIDQQFGDQAgAyADQQFrcUUEQCADIQIMAQtB1IkLQQA2AgBBFSADEAYhAkHUiQsoAgAhC0HUiQtBADYCACALQQFGDQMgASgCBCEFCwJAIAIgBU0EQCACIAVPDQEgBUEDSSEHAn8gASgCDLMgASoCEJWNIg9DAACAT10gD0MAAAAAYHEEQCAPqQwBC0EACyEDAkACQCAHDQAgBWlBAUsNACADQQFBICADQQFrZ2t0IANBAkkbIQcMAQtB1IkLQQA2AgBBFSADEAYhB0HUiQsoAgAhDEHUiQtBADYCACAMQQFGDQULIAIgByACIAdLGyICIAVPDQELQdSJC0EANgIAQcPbACABIAIQA0HUiQsoAgAhDUHUiQtBADYCACANQQFGDQMLIAEoAgQiBSAFQQFrIgJxRQRAIAIgBHEhBAwBCyAEIAVJDQAgBCAFcCEECwJAAkAgASgCACAEQQJ0aiICKAIAIgRFBEAgBiABKAIINgIAIAEgBjYCCCACIAg2AgAgBigCACICRQ0CIAIoAgQhBAJAIAUgBUEBayICcUUEQCACIARxIQQMAQsgBCAFSQ0AIAQgBXAhBAsgASgCACAEQQJ0aiEEDAELIAYgBCgCADYCAAsgBCAGNgIACyABIAEoAgxBAWo2AgxBAQs6AAQgACAGNgIAIAlBEGokAA8LEAAhDiAJQQRqEKQOIA4QBwAL2gUCCn8BfiMAQTBrIgMkAAJAAkAgASgCACICKAIARQRAIAEoAgQoAgAhAiADQRg2AhwgA0GM2gM2AhggAyADKQIYNwMAIANBCGogAxBlIAMgAjYCHCADQdTvCTYCGCADIANBGGoiBDYCKCACKAIcIQUgAigCGCECQdSJC0EANgIAQdgbIANBEGogAykDCCAEIAUgAmtBAnUQ8wJB1IkLKAIAIQJB1IkLQQA2AgACQCACQQFHBEACQAJAIAQgAygCKCICRgRAQQQhBSAEIQIMAQtBBSEFIAJFDQELIAIgAigCACAFQQJ0aigCABEBAAsgASgCACADKQMQNwIAIAEoAgQoAgAhBSABKAIAKQIAIQwgASgCCCEHIANBAjYCKCADQQA2AhggBygCACECQdSJC0EANgIAQQwgAkGoAWpBIEEIEAQhBEHUiQsoAgAhCEHUiQtBADYCACAIQQFHBEAgBEIANwIEIARBDjYCACAEQgA3AgwgBEIANwIUIARBCGoiAiADQRhqIgZGDQIgAhBZIQJB1IkLQQA2AgBBwAAgAiAGEAIaQdSJCygCACEJQdSJC0EANgIAIAlBAUcNAgsQACEKIANBGGoQWRogChAHAAsQACEBAkAgAygCKCICIANBGGoiAEYEQEEEIQUgACECDAELQQUhBSACRQ0ECyACIAIoAgAgBUECdGooAgARAQAMAwsgBCADKAIoNgIEIANBGGoQWRpBKBBcIgJCADcCICACQgA3AhggAkIANwIIIAIgDDcCACACQgA3AhAgAkEBOgAkIAIgBDYCICACQQI2AhxB1IkLQQA2AgAgAyACNgIQQTIgBSADQRBqEAIaQdSJCygCACELQdSJC0EANgIAIAtBAUYNASADKAIQIgIEQCACEFoLIAEoAgAhAgsgACACKQIANwIAIANBMGokAA8LEAAhASADKAIQIgBFDQAgABBaIAEQBwALIAEQBwAL7w8BGH8jAEGwAmsiAyQAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIEBEAgACAAKAIAKAIQEQIABEAgAyAAKAIEIgIpAjg3A/gBIAMgAikCMDcD8AEgAyACKQIoNwPoASADIAIpAiA3A+ABIAMgAikCGDcD2AEgA0GAAmogAkFAaxDjASEEQdSJC0EANgIAQZoBIANBlAJqIAJB1ABqEAIhBUHUiQsoAgAhEUHUiQtBADYCACARQQFGDQIgAyACKAJoNgKoAiADIAIoAmwiAjYCrAIgAgRAIAIgAigCBEEBajYCBAsgA0EBIAMoAuABIgIgAkEAShs2AuABIAMgAykD6AE3AxggAyADKQPwATcDICADIAMpA/gBNwMoIAMgAykD4AE3AxAgA0EBIAMoAtwBIgIgAkEAShs2AtwBQdSJC0EANgIAIAMgAykD2AE3AwhBmwEgA0EwaiAEEAIhBEHUiQsoAgAhAkHUiQtBADYCAAJAIAJBAUcEQEHUiQtBADYCAEGaASADQcQAaiAFEAIhBUHUiQsoAgAhEkHUiQtBADYCACASQQFGDQUgAyADKAKsAiICNgJcIAMgAygCqAI2AlggAgRAIAIgAigCBEEBajYCBAsgA0EANgJ4IAMgAykDEDcChAEgAyADKQMYNwKMASADIAMpAyA3ApQBIAMgAykDKDcCnAEgA0IANwJwIANB/OwJNgJkIAMgAykDCDcCfEHUiQtBADYCACADIAE2AmggAyABQagBajYCbEGbASADQaQBaiAEEAIhAUHUiQsoAgAhAkHUiQtBADYCAAJAIAJBAUcEQEHUiQtBADYCAEGaASADQbgBaiAFEAIaQdSJCygCACETQdSJC0EANgIAIBNBAUcEQCADIAMoAlg2AswBIAMgAygCXCIBNgLQASABBEAgASABKAIEQQFqNgIECyADQQA7AdQBIANBCGoQYSADQQE6ANQBIAAoAgAoAhQhFEHUiQtBADYCACAUIAAQBiEAQdSJCygCACEVQdSJC0EANgIAIBVBAUYNBCADKAJkKAIIIRZB1IkLQQA2AgAgFiADQeQAaiIBIAAQA0HUiQsoAgAhF0HUiQtBADYCACAXQQFGDQRB1IkLQQA2AgBBlwEgARAKQdSJCygCACEYQdSJC0EANgIAIBhBAUYNBCADQfzsCTYCZCADQfwAahBhIAMoAnAiAQRAIAMoAnQiACABIgJHBEADQCAAQQRrIgAoAgAhAiAAQQA2AgAgAgRAIAIgAigCACgCBBEBAAsgACABRw0ACyADKAJwIQILIAMgATYCdCACEFoLIANB2AFqEGEMEAsQACEAIAEQawwBCxAAIQALIANB8ABqEOABIANBCGoQYQwOCxAAIQAMDQsQACEAIANB5ABqEHwaDAwLIAAgATYCfCAAQRRqIQkgASgCGCICIAEoAhwiBEcEQANAIAIoAgAiBSgCDEUEQCAJIAVBIGoQpAgLIAJBBGoiAiAERw0ACwsgASgCDCICIAEoAhAiBUcEQANAIAIoAgAiBCgCDEUEQCAAIAQ2AnggACAEEKIOIABBADYCeAsgAkEEaiICIAVHDQALCyABKAIwIgogASgCNCIORg0JIABBHGohDQNAIAooAgAiAigCDARAIAkgAkEUahCkCAsgAigCHCILIAIoAiAiD0cEQCAAKAJwIQQgACgCbCEGIAAoAhghBQNAIAMgCygCACIHNgJkIAQgBmsiEEEDdSICQQAgBWtHDQYgB0UNBwJAIAVBCU0EQCAAIAVBAWoiBjYCGCANIAVBA3RqIgJBxdsANgIAIAIgA0HkAGo2AgQgBCECIAYhBQwBCyAAKAJ0IgggBEsEQCAEQcXbADYCACAEIANB5ABqNgIEIAAgBEEIaiICNgJwDAELIAJBAWoiB0GAgICAAk8NCUH/////ASAIIAZrIghBAnUiDCAHIAcgDEkbIAhB+P///wdPGyIHQYCAgIACTw0KIBAgB0EDdCIMEFwiCGoiB0HF2wA2AgAgCCACQQN0aiADQeQAajYCBCAHQQhqIQIgBCAGRwRAA0AgB0EIayIHIARBCGsiBCkCADcCACAEIAZHDQALCyAAIAggDGo2AnQgACACNgJwIAAgBzYCbCAGRQ0AIAYQWiAAKAJwIQIgACgCGCEFC0EAIAVrIAIgACgCbCIGa0EDdUcEQANAAkAgAiAGRgRAIAVFDQ4gDSAFQQFrIgRBA3RqIgUoAgQhAiAFKAIAIQYgACAENgIYDAELIAJBCGsiBCgCACEGIAQoAgQhAiAAIAQ2AnALIAkgAjYCACACKAIARQ0NIAAgAiAGEQAAQQAgACgCGCIFayAAKAJwIgIgACgCbCIGa0EDdUcNAAsLIAIhBCALQQRqIgsgD0cNAAsLIApBBGoiCiAORw0ACwwJC0Ho+gVBuosDQfwDQdrLAhABAAsQACEZIAQQayAZEAcACxAAIQAgBBBrDAgLQc3KBUHTmQNByAJB0PgCEAEAC0GBgwJB05kDQbkCQa73AhABAAsQZAALEGoAC0HexAVBsJQDQdoAQf37AhABAAtB9YICQdOZA0HNAkHQ+AIQAQALIAEoAkgiAiABKAJMIgFHBEADQCACKAIAIgQtABRFBEAgCSAEQRhqEKQICyACQQRqIgIgAUcNAAsLIABBADYCfAsgA0GwAmokAA8LIANB2AFqEGEgABAHAAvdnwEDpQF/BH4CfSMAQdADayIDJAACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAFBQGsoAgAiBCABKAI8IgJGDQAgBCACa0EESw0AIAIoAgAoAgwEQCAAKAIELQA8RQ0BCyABKAJMIgcgASgCSCIKa0EITwRAAkACQAJAAkAgByAKRwRAIAohAgNAIAIoAgAiBC0AFEUEQCAEKAIYIgQoAgBBDkcNCCAEKAIYIgRBB08NAyAEQQZxQQJHDQQLIAJBBGoiAiAHRw0ACyADQgA3ArwBIAMgA0G8AWoiCzYCuAEDQAJAIAooAgAiAi0AFA0AAkAgAigCGCIEKAIAQQ5HBEBB1IkLQQA2AgBBDUHw7QVBxZgDQZQGQY3eABAFQdSJCygCACEqQdSJC0EANgIAICpBAUYNAQwXCyAEKAIYIgVBB08EQEHUiQtBADYCAEENQeHNBkGfnwNBwwFB8+cEEAUMFQsCfgJAAkACQCAFQQJrDgICAAELIAQpAwgMAgtB1IkLQQA2AgBBiQIQCQwWCyAENQIICyGnASCnASACKAIgIAIoAhxrrXwhqAEgCyIFIQICQAJAIAMoArwBIgRFDQADQAJAIAQiAikDECKpASCnAVgEQCCnASCpAVINASCoASACKQMYWg0BCyACIQUgAigCACIEDQEMAgsgpwEgqQFYBEAgAikDGCCoAVoNAwsgAigCBCIEDQALIAJBBGohBQtB1IkLQQA2AgBBBEEgEAYhCEHUiQsoAgAhK0HUiQtBADYCACArQQFGDRYgCCCnATcDECAIIAI2AgggCEIANwIAIAggqAE3AxggBSAINgIAIAghAiADKAK4ASgCACIEBEAgAyAENgK4ASAFKAIAIQILIAMoArwBIAIQZyADIAMoAsABQQFqNgLAAQJAIAggAygCuAFGDQACQCAIIgUoAgAiBARAA0AgBCICKAIEIgQNAAwCCwALA0AgBSgCCCICKAIAIAVGISwgAiEFICwNAAsLIAIpAxAgqAFaDQAgAikDGCCnAVYNAQsgCCgCBCIGIQQgCCEFAkAgBgRAA0AgBCICKAIAIgQNAAwCCwALA0AgBSgCCCICKAIAIAVHIS0gAiEFIC0NAAsLIAIgC0YNAgJAIAYEQANAIAYiAigCACIGDQAMAgsACwNAIAgoAggiAigCACAIRyEuIAIhCCAuDQALCyACKQMQIKgBWg0CIAIpAxggpwFYDQILQdSJC0EANgIAQQlBjMMLQdXhBkE0EAQaQdSJCygCACEvQdSJC0EANgIAIC9BAUcEQEHUiQtBADYCAEEJQYzDC0GxqAdBHRAEGkHUiQsoAgAhMEHUiQtBADYCACAwQQFHDQcLDBULDBQLIApBBGoiCiAHRw0ACwwECyADQgA3ArwBIAMgA0G8AWo2ArgBDAMLQeHNBkGfnwNBwwFB8+cEEAEACxAPAAsgAygCvAEQ8wYMAgsgAygCvAEQ8wYLAn8CQCABKAKEASICQRBxBEAgA0IANwMoIANCADcDICADQYCAgPwDNgIwDAELIANCADcDKCADQgA3AyAgA0GAgID8AzYCMEEAIAJBgAhxRQ0BGgsgA0EANgK0AiADQgA3AqwCIANCADcCyAEgA0EANgLQASADQgA3AqQCIANCADcCwAEgA0H87Ac2ArgBIAAoAgQhAkHUiQtBADYCACADIAI2ArwBQbzbACADQbgBaiABEANB1IkLKAIAIQJB1IkLQQA2AgACQAJAAkACQAJAAkAgAkEBRwRAIAMoAqQCIgIEQCADIAI2AqgCIAIQWgsgA0GQ7Qk2ArgBIAMsAMsBQQBIBEAgAygCwAEQWgsgAyABNgI0IANBgAFqIgdCADcCACADQcjuBzYCYCADIAE2AnggAyAHNgJ8IAMgA0HgAGo2AnAgAyADQTRqNgJkIAEoAgwiBiABKAIQIgtGDQIDQAJAIAYoAgAhBSAHIgghAgJAAkAgAygCgAEiBEUNAANAIAQiAigCECIEIAVLBEAgAiEIIAIoAgAiBA0BDAILIAQgBU8NAiACKAIEIgQNAAsgAkEEaiEIC0HUiQtBADYCAEEEQSgQBiEEQdSJCygCACExQdSJC0EANgIAIDFBAUYNASAEIAU2AhAgBCACNgIIIARCADcCACAEQgA3AhQgBEIANwIcIARBgICA/AM2AiQgCCAENgIAIAMoAnwoAgAiAgRAIAMgAjYCfCAIKAIAIQQLIAMoAoABIAQQZyADIAMoAoQBQQFqNgKEAQsgCyAGQQRqIgZHDQEMAwsLEAAhAgwRCxAAIQIgA0G4AWoQ5AEaDBELIAMoAnAiAkUEQEEAIQIMBAsgAiADQeAAakcNAQsgAyADQYgBaiICNgKYASADKAJgKAIMITJB1IkLQQA2AgAgMiADQeAAaiACEANB1IkLKAIAITNB1IkLQQA2AgAgM0EBRw0DDAELIAIoAgAoAgghNEHUiQtBADYCACA0IAIQBiECQdSJCygCACE1QdSJC0EANgIAIDVBAUcNAQsQACECDAwLIAMgAjYCmAELIAMoAngiAigCDCIGIAIoAhAiC0cEQAJAA0ACQCAGKAIAIgUoAgwEQCAHIgghAgJAAkAgAygCgAEiBEUNAANAIAQiAigCECIEIAVLBEAgAiEIIAIoAgAiBA0BDAILIAQgBU8EQCACIQQMAwsgAigCBCIEDQALIAJBBGohCAtB1IkLQQA2AgBBBEEoEAYhBEHUiQsoAgAhNkHUiQtBADYCACA2QQFGDQIgBCAFNgIQIAQgAjYCCCAEQgA3AgAgBEIANwIUIARCADcCHCAEQYCAgPwDNgIkIAggBDYCACAEIQIgAygCfCgCACIKBEAgAyAKNgJ8IAgoAgAhAgsgAygCgAEgAhBnIAMgAygChAFBAWo2AoQBCyADIAU2ArgBIAMoApgBIgJFBEBB1IkLQQA2AgBBxQAQCUHUiQsoAgAhN0HUiQtBADYCACA3QQFHDRQQACECDA8LIAIoAgAoAhghOEHUiQtBADYCACA4IAIgA0G4AWogBEEUahAIQdSJCygCACE5QdSJC0EANgIAIDlBAUYNAQsgCyAGQQRqIgZHDQEMAgsLEAAhAgwLCyADKAJ4IQILIANCADcA6QIgA0IANwKMA0EAIQQgA0EAOgCIAyADQRQ2AoQDIANCgoCAgHA3AvwCIANCADcC9AIgA0GBAjsA8QIgA0IANwKUAyADQgA3ApwDIANCgICAgICAgMA/NwKkAyADQgA3AqwDIANCADcCtAMgA0GAgID8AzYCvAMgA0EAOwHIAyADQgA3AsADIANCADcC5AIgA0H87Ak2AtgCIAMgAjYC3AIgAyACQagBajYC4AICQAJAAkACQAJAIAMoApgBIgUEQCADQYgBaiIEIAVGBEAgAyADQaABaiIFNgKwASADKAKIASgCDCE6QdSJC0EANgIAIDogBCAFEANB1IkLKAIAITtB1IkLQQA2AgAgO0EBRg0DIAMoArABIQQMAgsgBSgCACgCCCE8QdSJC0EANgIAIDwgBRAGIQRB1IkLKAIAIT1B1IkLQQA2AgAgPUEBRg0CCyADIAQ2ArABC0EAIQggA0EANgK0AiADQgA3AqwCIANCADcCxAEgA0IANwLMASADQgA3AqQCIANCADcCvAEgAyADQfwAajYCvAIgAyACNgK4AiADQZzvBzYCuAEgA0HAAmohBQJAIAQEQCADQaABaiICIARGBEAgAyAFNgLQAiADKAKgASgCDCE+QdSJC0EANgIAID4gAiAFEANB1IkLKAIAIT9B1IkLQQA2AgAgP0EBRw0CDA0LIAQoAgAoAgghQEHUiQtBADYCACBAIAQQBiEIQdSJCygCACFBQdSJC0EANgIAIEFBAUYNDAsgAyAINgLQAgsCQCADKAK8ASICRQ0AIAIgA0HYAmpGDQBB1IkLQQA2AgBBDUHixAZBuosDQeMDQf78ARAFQdSJCygCACFCQdSJC0EANgIAIEJBAUcNEwwKCyADIANB2AJqNgK8ASADKAK4ASgCCCFDQdSJC0EANgIAIEMgA0G4AWogAygCeBADQdSJCygCACFEQdSJC0EANgIAIERBAUYNCSADQZzvBzYCuAECQAJAIAUgAygC0AIiAkYEQEEEIQQgBSECDAELQQUhBCACRQ0BCyACIAIoAgAgBEECdGooAgARAQALIAMoAqQCIgIEQCADIAI2AqgCIAIQWgsgA0GQ7Qk2ArgBIAMsAMsBQQBIBEAgAygCwAEQWgsCQAJAIAMoArABIgIgA0GgAWoiBUYEQEEEIQQgBSECDAELQQUhBCACRQ0BCyACIAIoAgAgBEECdGooAgARAQALIANB/OwJNgLYAiADQfACahBhIAMoAuQCIgUEQCADKALoAiICIAUiBEcEQANAIAJBBGsiAigCACEEIAJBADYCACAEBEAgBCAEKAIAKAIEEQEACyACIAVHDQALIAMoAuQCIQQLIAMgBTYC6AIgBBBaCyADKAKYASICIANBiAFqIgVHDQFBBCEEIAUhAgwCCxAAIQIMCwtBBSEEIAJFDQELIAIgAigCACAEQQJ0aigCABEBAAsCQAJAIAMoAnAiAiADQeAAaiIFRgRAQQQhBCAFIQIMAQtBBSEEIAJFDQELIAIgAigCACAEQQJ0aigCABEBAAsgByADKAJ8IgtHBEADQCALKAIcIgYEQANAIAYoAgghAkHUiQtBADYCAEG92wAgA0G4AWoiBCADQSBqIgUgAiAGQQhqIgIQBUHUiQsoAgAhCEHUiQtBADYCAAJAAkACQCAIQQFHBEACQCADKAK4ASEJIAIoAgAhCEHUiQtBADYCAEG92wAgBCAFIAggAhAFQdSJCygCACFFQdSJC0EANgIAIEVBAUYNACAGKAIUIgIgBigCECIPayIRQQJ1IgRBAEwNBCADKAK4ASgCFCEOIBEgCSgCGCIFIAkoAhQiCGtMBEACQCAEIAggDmsiBUECdSIKTARAIA8gEWohDSAIIQUMAQsgAiAFIA9qIg1rIQQgAiANRwRAIAggDSAE/AoAAAsgCSAEIAhqIgU2AhQgCkEATA0GCyAOIBFqIQogBSICIBFrIgQgCEkNAwwECwJAAkACQCAIIAkoAhAiDWtBAnUgBGoiAkGAgICABE8EQEHUiQtBADYCAEEOEAkMAQtB/////wMgBSANayIEQQF1IgUgAiACIAVJGyAEQfz///8HTxsiDEUEQEEAIQoMAwsgDEGAgICABEkNAUHUiQtBADYCAEEDEAkLQdSJCygCACFGQdSJC0EANgIAIEZBAUcNGQwCC0HUiQtBADYCAEEEIAxBAnQQBiEKQdSJCygCACFHQdSJC0EANgIAIEdBAUYNAQsgCiAOIA1rQXxxaiIFIA8gEfwKAAAgBSEEIA4iAiANRwRAA0AgBEEEayIEIAJBBGsiAigCADYCACACIA1HDQALIAkoAhQhCAsgBSARaiECIAggDmshBSAIIA5HBEAgAiAOIAX8CgAACyAJIAxBAnQgCmo2AhggCSACIAVqNgIUIAkoAhAhAiAJIAQ2AhAgAkUNBCACEFoMBAsLEAAhAiADKAKAARDyBgwSCwNAIAIgBCgCADYCACACQQRqIQIgBEEEaiIEIAhJDQALCyAJIAI2AhQgBSAKRwRAIAUgBSAKayICayAOIAL8CgAACyANIA9GDQAgDiAPIA0gD2v8CgAACyAGKAIAIgYNAAsLAkAgCygCBCIEBEADQCAEIgIoAgAiBA0ADAILAAsDQCALKAIIIgIoAgAgC0chSCACIQsgSA0ACwsgByACIgtHDQALCyADKAKAARDyBiADQQA2AsABIANCADcCuAFBACEIQQAhBkEAIQcgASgCTCICIQUgASgCSCIEIAJHBEADQCAEIAdBAnRqIgooAgAhCAJ/QQAgAygCJCIFRQ0AGiAIKAIAIQQCQCAFaUEBSyILRQRAIAVBAWsgBHEhBgwBCyAEIgYgBUkNACAEIAVwIQYLQQAgAygCICAGQQJ0aigCACICRQ0AGkEAIAIoAgAiAkUNABoCQAJAIAtFBEAgBUEBayEFA0ACQCAEIAIoAgQiC0cEQCAFIAtxIAZHDQQMAQsgAigCCCAERg0ECyACKAIAIgINAAsMAQsDQAJAIAQgAigCBCILRwRAIAUgC00EfyALIAVwBSALCyAGRw0DDAELIAIoAgggBEYNAwsgAigCACICDQALC0EADAELIAILIQUCQAJAAkAgCC0AFEUNACAFRQ0CIAUoAhAiAiEEIAIgBSgCFCIFRg0CA0AgBCgCACgCAEElRw0BIAUgBEEEaiIERw0ACwwBCyADKAK8ASICIAMoAsABSQRAIApBADYCACACIAg2AgAgAyACQQRqNgK8AQwCC0HUiQtBADYCAEHtAiADQbgBaiAKEANB1IkLKAIAIUlB1IkLQQA2AgAgSUEBRw0BDAgLA0AgAigCAEIWNwIAIAJBBGoiAiAFRw0ACwsgB0EBaiIHIAEoAkwiAiABKAJIIgRrQQJ1SQ0ACyADKALAASEIIAMoArwBIQYgAygCuAEhByAEIQULIAEgBzYCSCADIAU2ArgBIAEgBjYCTCADIAI2ArwBIAEoAlAhBCABIAg2AlBB1IkLQQA2AgAgAyAENgLAAUGH1AAgARAKQdSJCygCACFKQdSJC0EANgIAIEpBAUYNBCAFBEAgAiAFRwRAA0AgAkEEayICKAIAIQQgAkEANgIAIAQEQCAEKAIcIggEQCAEIAg2AiAgCBBaCyAEEFoLIAIgBUcNAAsgBSECCyADIAU2ArwBIAIQWgtBAQshISADQQA2AhwgA0IANwIUIANBkAFqIh9CADcDACADQgA3A4gBIANBgICA/AM2ApgBQQAhBUEAIQhBACEGIAEoAkwiBCEHIAEoAkgiAiAERwRAIAFBqAFqISAgA0HQAWohFQJAAkACQAJAAkACQAJAAkADQCACIBhBAnRqIg8oAgAiAigCACEEQdSJC0EANgIAQb3bACADQbgBaiADQSBqIAQgAhAFQdSJCygCACECQdSJC0EANgIAAkACQAJAAkACQCACQQFHBEAgAygCuAEhEwJAAkAgDygCACILKAIAIgJFDQAgCygCBEEGSQ0AIAJBq+MCQQYQXkUNAQsgEygCECICIBMoAhQiBUcEQANAAkAgAigCACIEKAIAIghBJEcEQCAIQcQAaw4JBAEBAQEBAQEEAQsgCy0AFEUNACAEKAIUKAIAQQ5HDQMgBCgCGCgCAEEORw0DCyACQQRqIgIgBUcNAAsLIAstABQiB0UEQCALKAIYKAIAQQ5HDQELIAsoAiAiDiALKAIcIgVGBEBBACELQQAhDQwHC0EAIQZBACEEQQAhCkEAIQJBACEJAkAgDiAFayIIBH8DQCAIIAIiB0EBaiINIAggDUsbIQgCQANAIAIgBWotAAANASACQQFqIgIgCEcNAAsgCCECCyACIAdLBEACQCAEIApJBEAgBCACNgIIIAQgBzYCBCAEQQE6AAAgBEEMaiEEDAELIAQgBmtBDG0iCEEBaiIFQdaq1aoBTwRAQdSJC0EANgIAQb7bABAJDBMLAkBB1arVqgEgCiAGa0EMbSIKQQF0Ig0gBSAFIA1JGyAKQarVqtUATxsiCkUEQEEAIQ4MAQsgCkHWqtWqAU8EQEHUiQtBADYCAEEDEAkMFAtB1IkLQQA2AgBBBCAKQQxsEAYhDkHUiQsoAgAhS0HUiQtBADYCACBLQQFGDQULIA4gCEEMbGoiCCACNgIIIAggBzYCBCAIQQE6AAAgCCEFIAQgBkcEQANAIAVBDGsiBSAEQQxrIgQpAgA3AgAgBSAEKAIINgIIIAQgBkcNAAsLIApBDGwgDmohCiAIQQxqIQQgBgRAIAYQWgsgBSEGCyALKAIgIQ4gAiEHIAsoAhwhBQsCQCACIA4gBWsiCE8NAANAIAIgBWotAABFDQEgAkEBaiICIAhJDQALIAghAgsCQCACIAdNBEAgByECDAELAkAgBCAKSQRAIAQgAjYCCCAEIAc2AgQgBEEAOgAAIARBDGohBAwBCyAEIAZrQQxtIghBAWoiBUHWqtWqAU8EQEHUiQtBADYCAEG+2wAQCQwTCwJAQdWq1aoBIAogBmtBDG0iCkEBdCINIAUgBSANSRsgCkGq1arVAE8bIgpFBEBBACEODAELIApB1qrVqgFPBEBB1IkLQQA2AgBBAxAJDBQLQdSJC0EANgIAQQQgCkEMbBAGIQ5B1IkLKAIAIUxB1IkLQQA2AgAgTEEBRg0FCyAOIAhBDGxqIgggAjYCCCAIIAc2AgQgCEEAOgAAIAghBSAEIAZHBEADQCAFQQxrIgUgBEEMayIEKQIANwIAIAUgBCgCCDYCCCAEIAZHDQALCyAKQQxsIA5qIQogCEEMaiEEIAYEQCAGEFoLIAUhBgsgCygCICIOIAsoAhwiBWshCAsgAiAISQ0ACyAEIQkgDygCAC0AFAUgBwtB/wFxRQRAQQghCAwHC0ECIQhBACECIBMoAhAiBCATKAIUIgVHDQMMBQsQACECDA4LIAsoAiAhAiALKAIcIQRB1IkLQQA2AgBBBEEMEAYhC0HUiQsoAgAhTUHUiQtBADYCACBNQQFGDQIgC0EANgIEIAtBADoAACALIAIgBGs2AgggC0EMaiENDAULEAAhAgwRCwNAIAJBCWogAiAEKAIAKAIAQSRGIgsbIQJBE0EDIAsbIAhqIQggBEEEaiIEIAVHDQALDAELEAAhAgwPCyAJIAZrQQxtIgRBAU0NAAJAIAlBDGsiBS0AAEUNACAFKAIIIgsgBSgCBGsgAksNACAJQRBrIAs2AgAgCSAFQQxqIgRrIQsgBCAJRwRAIAUgBCAL/AoAAAsgBSALaiIJIAZrQQxtIQQLIARBAkkNACAGLQAARQ0AIAIgBigCCCAGKAIEIgRrSQ0AIAYgBDYCECAJIAZBDGoiAmshBCACIAlHBEAgBiACIAT8CgAACyAEIAZqIQkLIAMgBigCCDYCwAEgAyAGKQIANwO4AUHUiQtBADYCAEEEQQwQBiELQdSJCygCACFOQdSJC0EANgIAIE5BAUYNBSALIAMpA7gBNwIAIAsgAygCwAE2AgggC0EMaiECQQEhBQJAIAkgBmtBDG0iEUEDa0F9SwRAIAIhDQwBCyARQQFrIQwgAiENA0ACQAJAIAYgBUEMbGoiBy0AAEUNACAHKAIIIAcoAgRrIAhLDQAgDUEEayAHKAIUNgIAIAVBAWohBQwBCyACIA1HBEAgDSAHKQIANwIAIA0gBygCCDYCCCANQQxqIQ0MAQsCQAJAAkAgDSALa0EMbSIEQQFqIgpB1qrVqgFPBEBB1IkLQQA2AgBBvtsAEAkMAQtB1arVqgEgBEEBdCINIAogCiANSRsgBEGq1arVAE8bIg5FBEBBACEKDAMLIA5B1qrVqgFJDQFB1IkLQQA2AgBBAxAJC0HUiQsoAgAhT0HUiQtBADYCACBPQQFHDR0MCwtB1IkLQQA2AgBBBCAOQQxsEAYhCkHUiQsoAgAhUEHUiQtBADYCACBQQQFGDQoLIAogBEEMbGoiBCAHKQIANwIAIAQgBygCCDYCCCAEQQxqIQ0gAiALRwRAA0AgBEEMayIEIAJBDGsiAikCADcCACAEIAIoAgg2AgggAiALRw0ACyALIQILIAIEQCACEFoLIAQhCyAOQQxsIApqIQILIAVBAWoiBSAMSQ0ACwsCQCAFIBFPDQAgCUEMayEIIAIgDUcEQCANIAgpAgA3AgAgDSAIKAIINgIIIA1BDGohDQwBCwJAAkACQCANIAtrQQxtIgJBAWoiBEHWqtWqAU8EQEHUiQtBADYCAEG+2wAQCQwBC0HVqtWqASACQQF0IgUgBCAEIAVJGyACQarVqtUATxsiBEUEQEEAIQUMAwsgBEHWqtWqAUkNAUHUiQtBADYCAEEDEAkLQdSJCygCACFRQdSJC0EANgIAIFFBAUcNGwwJC0HUiQtBADYCAEEEIARBDGwQBiEFQdSJCygCACFSQdSJC0EANgIAIFJBAUYNCAsgBSACQQxsaiIEIAgpAgA3AgAgBCAIKAIINgIIIAQhAiALIA1HBEADQCACQQxrIgIgDUEMayINKQIANwIAIAIgDSgCCDYCCCALIA1HDQALCyAEQQxqIQ0gCwRAIAsQWgsgAiELCyAGRQ0AIAYQWgsCQCANIAtrIgdFBEBBACEODAELIAMoAhggAygCFGsiEUECdSEIIAEoAkwgASgCSGtBAnUgGGshECAPKAIAIQVBACEOQQAhDEEAIQQCQAJAAkADQAJAIAsgBEEMbGoiAi0AAA0AQQAhBgJAAkACQAJAAkAgBS0AFA0AAkACQCAFKAIYIgYoAgBBDkYEQEG2BCEHQb2mBSEKAkACQCAGKAIYQQJrDgIAAQMLIAIoAgQhByAGKAIIIQZB1IkLQQA2AgAgA0ECNgLIASADIAYgB2o2ArgBQQwgIEEgQQgQBCEGQdSJCygCACFTQdSJC0EANgIAIFNBAUcEQCAGQgA3AgQgBkEONgIAIAZCADcCDCAGQgA3AhQgBkEIaiIHIANBuAFqIgpGDQQgBxBZIQdB1IkLQQA2AgBBwAAgByAKEAIaQdSJCygCACFUQdSJC0EANgIAIFRBAUcNBAsQACECIANBuAFqEFkaIAsQWgwbCyACNQIEIacBIAYpAwghqAFB1IkLQQA2AgAgA0EDNgLIASADIKcBIKgBfDcDuAFBDCAgQSBBCBAEIQZB1IkLKAIAIQdB1IkLQQA2AgACQCAHQQFHBEAgBkIANwIEIAZBDjYCACAGQgA3AgwgBkIANwIUIAZBCGoiByADQbgBaiIKRg0BIAcQWSEHQdSJC0EANgIAQcAAIAcgChACGkHUiQsoAgAhVUHUiQtBADYCACBVQQFHDQELEAAhAiADQbgBahBZGiALEFoMGwsgBiADKALIATYCBCADQbgBahBZGgwDCyAHQQxGDQJBugQhB0GawQUhCgtB1IkLQQA2AgBBDSAKQdSuAiAHQZWgARAFDAILIAYgAygCyAE2AgQgA0G4AWoQWRoLAkAgECADKAIYIAMoAhRrQQJ1akGgjQZJDQAgAiANQRhrIA1BDGsiByAHLQAAGyIHKAIINgIIIAIgB0YNACACQQxqIQogDSAHQQxqIgdrIQkgByANRwRAIAogByAJ/AoAAAsgCSAKaiENCyAFKAIAIglFBEBCACGnAQwECyAORQRAIAUtAAhBAEchDCAFKQIAIacBDAMLIAUoAgQiB0Hw////B0kNAUHUiQtBADYCAEHYABAJC0HUiQsoAgAhVkHUiQtBADYCACBWQQFHDSAQACECIAsQWgwVCwJAAkAgB0ELTwRAQdSJC0EANgIAQQQgB0EPckEBaiIPEAYhCkHUiQsoAgAhV0HUiQtBADYCACBXQQFGDQkgAyAKNgI0IAMgBzYCOCADIA9BgICAgHhyNgI8DAELIAMgBzoAPyADQTRqIQogB0UNAQsgCiAJIAf8CgAACyAHIApqQQA6AABB1IkLQQA2AgBBjQIgA0E0akG11QUQAiEHQdSJCygCACEKQdSJC0EANgIAAkACQAJAAkACQAJAIApBAUcEQCADIAcoAgg2AoABIAMgBykCADcDeCAHQgA3AgAgB0EANgIIQdSJC0EANgIAQcACIANB2AJqIgogDhADQdSJCygCACFYQdSJC0EANgIAIFhBAUYNAUHUiQtBADYCAEGMAiADQfgAaiADKALYAiAKIAMtAOMCIgrAQQBIIgkbIAMoAtwCIAogCRsQBCEKQdSJCygCACFZQdSJC0EANgIAIFlBAUYNAiADIAooAgg2AsABIAMgCikCADcDuAEgCkIANwIAIApBADYCCCADIAMoArwBIAMsAMMBIglB/wFxIAlBAEgiCRs2AqQBIAMgAygCuAEgA0G4AWogCRs2AqABQdSJC0EANgIAIAMgAykCoAE3AwhBBiADQeAAaiADQQhqEANB1IkLKAIAIVpB1IkLQQA2AgAgWkEBRg0DIAMpA2AhpwEgAywAwwFBAEgEQCADKAK4ARBaCyADLADjAkEASARAIAMoAtgCEFoLIAMsAIMBQQBIBEAgCigCABBaCyADLAA/QQBODQcgBygCABBaDAcLEAAhAgwFCxAAIQIMAwsQACECDAELEAAhAiADLADDAUEATg0AIAMoArgBEFoLIAMsAOMCQQBODQAgAygC2AIQWgsgAywAgwFBAE4NACADKAJ4EFoLIAMsAD9BAEgEQCADKAI0EFoLIAsQWgwUCyAOQQFqIQ4LIAIoAgghCiACKAIEIQcgBS0AFCEJIAUpAgwhqAEgBSgCHCEPQdSJC0EANgIAQQRBKBAGIQJB1IkLKAIAIVtB1IkLQQA2AgAgW0EBRg0EIAJCADcCCCACQgA3AiAgAkIANwIYIAJCADcCECADIAI2ArgBIAIgBjYCGCACIAk6ABQgAiCoATcCDCACIKcBNwIAIAcgCkcEQEHUiQtBADYCAEGuAiACQRxqIAogB2siBhADQdSJCygCACFcQdSJC0EANgIAIFxBAUYNAyACKAIcIAcgD2ogBvwKAAALIAMgAjYC2AIgAiAMQQFxOgAIIAMoAhgiBiADKAIcSQRAIAYgAjYCACADIAZBBGo2AhgMAQtB1IkLQQA2AgBB7QIgA0EUaiADQdgCahADQdSJCygCACFdQdSJC0EANgIAIF1BAUYNAyADKALYAiICRQ0AIAIoAhwiBgRAIAIgBjYCICAGEFoLIAIQWgsgBEEBaiIEIA0gC2siB0EMbUkNAAtBACEOIBEgAygCGCADKAIUIgRrTw0DQQAhAkEAIQUDQAJAIAQgCEECdGooAgAhBAJAIAIgBUcEQCAFIAQpAgA3AgAMAQsCQAJAAkAgAiAOayIFQQN1IgpBAWoiBkGAgICAAk8EQEHUiQtBADYCAEH3ABAJDAELQf////8BIAVBAnUiByAGIAYgB0kbIAVB+P///wdPGyIGRQRAQQAhBwwDCyAGQYCAgIACSQ0BQdSJC0EANgIAQQMQCQtB1IkLKAIAIV5B1IkLQQA2AgAgXkEBRw0gEAAhAgwMC0HUiQtBADYCAEEEIAZBA3QQBiEHQdSJCygCACFfQdSJC0EANgIAIF9BAUYNAgsgByAKQQN0aiIFIAQpAgA3AgAgBSEEIAIgDkcEQANAIARBCGsiBCACQQhrIgIpAgA3AgAgAiAORw0ACyAOIQILIAIEQCACEFoLIAZBA3QgB2ohAiAEIQ4LIAVBCGohBSAIQQFqIgggAygCGCADKAIUIgRrQQJ1SQ0BDAULCxAAIQIMBwsQACECIANBuAFqEKgDIAsQWgwPCxAAIQIgA0HYAmoQqAMgCxBaDA4LEAAhAiALEFoMDQsgAyABNgJcAkACQCANIAtrIgJBDEYEQCALLQAARQ0BCyADIAE2AlggA0IANwNQIAMgA0HYAGo2AmggAyADQdwAajYCZCADIANB0ABqNgJgIBMoAhAiGSATKAIUIiJGDQBBASACQQxtIhogGkEBTRshIwJAAkACQAJAAkACQANAAkACQCAZKAIAIg8oAgBBJEcNAEGN3gAhBUGUBiEIQcWYAyEGQfDtBSEHIA8oAhQiAigCAEEORw0NIAIoAhhBAkcEQEGZsQUhB0HmmgMhBkGYAiEIQaKuBSEFDA4LIA8oAhgiBCgCAEEORw0NQZmxBSEHQeaaAyEGQZgCIQhBoq4FIQUgBCgCGEECRw0NIAQoAgghBAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAsgDUcEQCAEIAIoAggiFmohG0EAIQhBACECA0AgCyACQQxsaiIGKAIIIBZLDQIgCCAGLQAAQQFzaiEIIAJBAWoiAiAjRw0ACwsgBEUNAUHaogEhBUGnBSEIQdSuAiEGQcSJBiEHDB0LIAQNAQsgAygCXCICKAKAAiEEIAIoAvwBIQJB1IkLQQA2AgBBv9sAIANB2ABqIAIgBCAPEA0hBUHUiQsoAgAhYEHUiQtBADYCACBgQQFGDQFB1IkLQQA2AgBBwNsAIANByABqIANB4ABqEANB1IkLKAIAIWFB1IkLQQA2AgAgYUEBRg0BQdSJC0EANgIAIAMpA0ghpwFBDCADKAJYQagBakEQQQQQBCEEQdSJCygCACFiQdSJC0EANgIAIGJBAUYNASAEIKcBNwIIIARCioCAgCA3AgBB1IkLQQA2AgBBDCADKAJYQagBakEUQQQQBCECQdSJCygCACFjQdSJC0EANgIAIGNBAUYNASACIAQ2AhAgAiAFNgIMIAJBCDYCCCACQhA3AgAgBUUEQEHUiQtBADYCAEENQb/zAEGkpAJB8AVBssMDEAVB1IkLKAIAIWRB1IkLQQA2AgAgZEEBRw0xEAAhAgwdCyACIAUoAgQiBUEBRwR/QQEgBSAEKAIEQQFGGwVBAQs2AgRB1IkLQQA2AgBBDCADKAJYQagBakEIQQQQBCEFQdSJCygCACFlQdSJC0EANgIAIGVBAUYNASAFQpeAgIAQNwIAQdSJC0EANgIAQQwgAygCWEGoAWpBFEEEEAQhBEHUiQsoAgAhZkHUiQtBADYCACBmQQFGDQEgBEEANgIQIAQgBTYCDCAEIAI2AgggBEICNwIAIAQgAigCBEEBRjYCBCADIA82AtgCQdSJC0EANgIAQcHbACADQbgBaiIFIANBiAFqIA8gA0HYAmoQBUHUiQsoAgAhZ0HUiQtBADYCACBnQQFGDQEgAygCuAEhAiADIAQ2ArwBIANBrO0HNgK4ASADIAU2AsgBIAUgAkEQahCTCgJAIAUgAygCyAEiAkYEQEEEIQQgBSECDAELQQUhBCACRQ0PCyACIAIoAgAgBEECdGooAgARAQAMDgtBACEFQQAhHAJAAkACQCAPKAIQIgQoAgBBDkcEQEHUiQtBADYCAEEMIAMoAlhBqAFqQRBBBBAEIQVB1IkLKAIAIWhB1IkLQQA2AgAgaEEBRg0BIAUgBDYCDCAFQX82AgggBUIJNwIAIAUgBCgCBEEBRiIHNgIEIAUgByAEKAIEQQFGcjYCBCAFQQhqIRwLIAYtAABFDQJB1IkLQQA2AgBBwNsAIANBQGsgA0HgAGoQA0HUiQsoAgAhaUHUiQtBADYCACBpQQFHDQEMFwsQACECDB0LQdSJC0EANgIAIAMpA0AhpwFBDCADKAJYQagBakEQQQQQBCEGQdSJCygCACFqQdSJC0EANgIAIGpBAUYNFSAGIKcBNwIIIAZCioCAgCA3AgBB1IkLQQA2AgBBDCADKAJYQagBakEIQQQQBCEHQdSJCygCACFrQdSJC0EANgIAIGtBAUYNFSAHQpeAgIAQNwIAQdSJC0EANgIAQQwgAygCWEGoAWpBFEEEEAQhBEHUiQsoAgAhbEHUiQtBADYCACBsQQFGDRUgBEEANgIQIAQgBzYCDCAEIAY2AgggBEICNwIAIAQgBigCBEEBRjYCBCAFRQRAIAQhBQwBC0HUiQtBADYCAEGLyAAgAygCWCAFIAQQBCEFQdSJCygCACFtQdSJC0EANgIAIG1BAUYNFQsgAygCXCIEKAKAAiEGIAQoAvwBIQQgDykCHCGnAUHUiQtBADYCAEGODCAEIAYgpwEQ8QEhBEHUiQsoAgAhbkHUiQtBADYCACBuQQFGDQYgAiAaTw0HQQAhHUEZQQAgBCgCNEEDRhsiJEEPayIEQT1JQv+HgPD/gL/AHyAErYincSElQQAhBEEAIQpBACERA0AgCyACQQxsaiIQKAIEIBtPDQkgAygCXCIGKAKAAiEHIAYoAvwBIQYgDykCHCGnAUHUiQtBADYCAEGODCAGIAcgpwEQ8QEhBkHUiQsoAgAhB0HUiQtBADYCAAJAAkACQCAHQQFHBEAgBigCNCEMIA8oAhAiBigCAEEORw0BIAYoAhgiB0EHTwRAQdSJC0EANgIAQQ1B4c0GQZ+fA0HDAUHz5wQQBQwLCwJ+AkACQAJAIAdBAmsOAgIAAQsgBikDCAwCC0HUiQtBADYCAEGJAhAJDAwLIAY0AggLIaoBIAxBB08EQEHUiQtBADYCAEENQeHNBkGfnwNBwwFB8+cEEAUMCgsgqgEgEa18IacBAkACQAJAAkACQAJAAkACQAJAAkAgDEECaw4FBgABAgMECyADIKcBNwPYAgwGCyADIKcBtDgC2AIMBQsgAyCnAbk5A9gCDAQLIANBAzYC4AEgA0IANwPQASADQQM2AsgBIAMgpwE3A7gBQdSJC0EANgIAQccFIANB2AJqIANBuAFqIgYQAhpB1IkLKAIAIW9B1IkLQQA2AgAgb0EBRw0BEAAhAiAVEFkaIAYQWRoMHgtB1IkLQQA2AgBBFEHvhARB5poDQcsBEAgMDgsgFRBZGiADQbgBahBZGiADKALoAkECa0EFSQ0CQdSJC0EANgIAQQ1BkfsFQZqWA0HWBEGs0gAQBUHUiQsoAgAhcEHUiQtBADYCACBwQQFHDTgMAwsgAyCnAT4C2AILIAMgDDYC6AILQdSJC0EANgIAQQwgAygCWEGoAWpBIEEIEAQhBkHUiQsoAgAhcUHUiQtBADYCACBxQQFHBEAgBkIANwIEIAZBDjYCACAGQgA3AgwgBkIANwIUIAZBCGoiByADQdgCaiIJRg0EIAcQWSEHQdSJC0EANgIAQcAAIAcgCRACGkHUiQsoAgAhckHUiQtBADYCACByQQFHDQQLCxAAIQIgA0HYAmoQWRoMGAsQACECDBcLQdSJC0EANgIAQQwgAygCWEGoAWpBDEEEEAQhB0HUiQsoAgAhBkHUiQtBADYCAAJAAkAgBkEBRwRAIAdBfzYCCCAHQQg2AgAgByAMNgIEIAdBCGohBgJ/IAQgHUkEQCAEIAY2AgAgBEEEagwBCwJAAkACQCAEIAprQQJ1IhdBAWoiCUGAgICABE8EQEHUiQtBADYCAEHC2wAQCQwBC0H/////AyAdIAprIhJBAXUiFCAJIAkgFEkbIBJB/P///wdPGyISRQRAQQAhFAwDCyASQYCAgIAESQ0BQdSJC0EANgIAQQMQCQtB1IkLKAIAIXNB1IkLQQA2AgAgc0EBRw04EAAhAgwcC0HUiQtBADYCAEEEIBJBAnQQBiEUQdSJCygCACF0QdSJC0EANgIAIHRBAUYNAwsgFCAXQQJ0aiIJIAY2AgAgCSEGIBJBAnQgFGohHSAEIApHBEADQCAGQQRrIgYgBEEEayIEKAIANgIAIAQgCkcNAAsgCiEECyAEBEAgBBBaCyAGIQogCUEEagshBCARRQRAIAchBgwFCyAMQQdPBEBB1IkLQQA2AgBBDUHhzQZBn58DQcMBQfPnBBAFDAoLIBGtIacBAkACQAJAAkACQAJAAkACQAJAAkACQCAMQQJrDgUGAAECAwQLIAMgpwE3A9gCDAYLIAMgEbM4AtgCDAULIAMgEbg5A9gCDAQLIANBAzYC4AEgA0IANwPQASADQQM2AsgBIAMgpwE3A7gBQdSJC0EANgIAQccFIANB2AJqIANBuAFqIgYQAhpB1IkLKAIAIXVB1IkLQQA2AgAgdUEBRw0BEAAhAiAVEFkaIAYQWRoMIAtB1IkLQQA2AgBBFEHvhARB5poDQcsBEAgMDwsgFRBZGiADQbgBahBZGiADKALoAkECa0EFSQ0CQdSJC0EANgIAQQ1BkfsFQZqWA0HWBEGs0gAQBUHUiQsoAgAhdkHUiQtBADYCACB2QQFHDToMAwsgAyARNgLYAgsgAyAMNgLoAgtB1IkLQQA2AgBBDCADKAJYQagBakEgQQgQBCEJQdSJCygCACF3QdSJC0EANgIAIHdBAUcEQCAJQgA3AgQgCUEONgIAIAlCADcCDCAJQgA3AhQgCUEIaiIGIANB2AJqIhJGDQIgBhBZIQZB1IkLQQA2AgBBwAAgBiASEAIaQdSJCygCACF4QdSJC0EANgIAIHhBAUcNAgsLEAAhAiADQdgCahBZGgwaCyAJIAMoAugCNgIEIANB2AJqEFkaQdSJC0EANgIAQQwgAygCWEGoAWpBFEEEEAQhBkHUiQsoAgAheUHUiQtBADYCACB5QQFGDQIgBiAJNgIQIAYgBzYCDCAGICQ2AgggBkIQNwIAAkAgBygCBCIHQQFHBEAgCSgCBEEBRw0BCyAGQQE2AgQMBQsgJQRAIAZBAjYCBAwFCyAGIAc2AgQMBAsQACECDBgLEAAhAgwXCxAAIQIMFgsgBiADKALoAjYCBCADQdgCahBZGgsgGyAQKAIIIgcgByAbSxsgECgCBCIHIBYgByAWSxtrIRICQCAQLQAABEBB1IkLQQA2AgBBtwUgA0GgAWpBAhADQdSJCygCACEHQdSJC0EANgIAAkAgB0EBRwRAIAMoArABQQJrQQVPBEBB1IkLQQA2AgBBDUGR+wVBmpYDQdYEQazSABAFQdSJCygCACF6QdSJC0EANgIAIHpBAUcNNQwCC0HUiQtBADYCAEEMIAMoAlhBqAFqQSBBCBAEIQlB1IkLKAIAIXtB1IkLQQA2AgAge0EBRg0BIAlCADcCBCAJQQ42AgAgCUIANwIMIAlCADcCFCAJQQhqIgcgA0GgAWoiEEcEQCAHEFkhB0HUiQtBADYCAEHAACAHIBAQAhpB1IkLKAIAIXxB1IkLQQA2AgAgfEEBRg0CCyAJIAMoArABNgIEIANBoAFqEFkaIAxBB08EQEHUiQtBADYCAEENQeHNBkGfnwNBwwFB8+cEEAUMCAsgEq0hpwECQAJAAkACQAJAAkACQAJAAkACQAJAIAxBAmsOBQYAAQIDBAsgAyCnATcD2AIMBgsgAyASszgC2AIMBQsgAyASuDkD2AIMBAsgA0EDNgLgASADQgA3A9ABIANBAzYCyAEgAyCnATcDuAFB1IkLQQA2AgBBxwUgA0HYAmogA0G4AWoiBxACGkHUiQsoAgAhfUHUiQtBADYCACB9QQFHDQEQACECIBUQWRogBxBZGgwfC0HUiQtBADYCAEEUQe+EBEHmmgNBywEQCAwNCyAVEFkaIANBuAFqEFkaIAMoAugCQQJrQQVJDQJB1IkLQQA2AgBBDUGR+wVBmpYDQdYEQazSABAFQdSJCygCACF+QdSJC0EANgIAIH5BAUcNOQwDCyADIBI2AtgCCyADIAw2AugCC0HUiQtBADYCAEEMIAMoAlhBqAFqQSBBCBAEIQxB1IkLKAIAIX9B1IkLQQA2AgAgf0EBRwRAIAxCADcCBCAMQQ42AgAgDEIANwIMIAxCADcCFCAMQQhqIgcgA0HYAmoiEEYNAiAHEFkhB0HUiQtBADYCAEHAACAHIBAQAhpB1IkLKAIAIYABQdSJC0EANgIAIIABQQFHDQILCxAAIQIgA0HYAmoQWRoMGQsgDCADKALoAjYCBCADQdgCahBZGiAPKQIcIacBQdSJC0EANgIAQQwgAygCWEGoAWpBHEEEEAQhB0HUiQsoAgAhEEHUiQtBADYCAAJAIBBBAUYNACAHIKcBNwIUIAcgDDYCECAHIAk2AgwgByAGNgIIIAdCJzcCAAJAAkAgBigCBEEBRg0AIAkoAgRBAUYNACAMKAIEQQFHDQELIAdBATYCBAsgBUUEQCAHIQUMBQsgBSgCAEEBRwRAQdSJC0EANgIAQQwgAygCWEGoAWoiCUEgQQQQBCEGQdSJCygCACGBAUHUiQtBADYCACCBAUEBRg0BIAZCADcCBCAGQQE2AgAgBkIANwIMIAYgCTYCHCAGQoCAgIAgNwIUQdSJC0EANgIAQQwgCUEIQQQQBCEJQdSJCygCACGCAUHUiQtBADYCACCCAUEBRg0BIAYgCTYCECAJIAU2AgAgBkEBNgIUQdSJC0EANgIAQYMDIAYgJkGAfnEiJkEAQQAQBUHUiQsoAgAhgwFB1IkLQQA2AgAgBiEFIIMBQQFGDQELIAUoAhAhCQJAIAUoAhQiECAFKAIYRwRAIAkhBgwBCyAFIBBBAXRBAmoiBjYCGCAFKAIcIQxB1IkLQQA2AgBBDCAMIAZBAnRBBBAEIQZB1IkLKAIAIYQBQdSJC0EANgIAIIQBQQFGDQEgBSAGNgIQIAUoAhQiEEUEQEEAIRAMAQtBACEMQQAhBiAQQQRPBEAgEEF8cSEXA0AgBkECdCIUIAUoAhBqIAkgFGooAgA2AgAgFEEEciIeIAUoAhBqIAkgHmooAgA2AgAgFEEIciIeIAUoAhBqIAkgHmooAgA2AgAgFEEMciIUIAUoAhBqIAkgFGooAgA2AgAgBkEEaiIGIBdHDQALCyAQQQNxIhQEQANAIAZBAnQiFyAFKAIQaiAJIBdqKAIANgIAIAZBAWohBiAMQQFqIgwgFEcNAAsLIAUoAhAhBgsgBiAQQQJ0aiAHNgIAIAUgEEEBajYCFEHUiQtBADYCAEGDAyAFICdBgH5xIidBAEEAEAVB1IkLKAIAIYUBQdSJC0EANgIAIIUBQQFHDQQLEAAhAgwYCxAAIQIMFwsQACECIANBoAFqEFkaDBYLIANBAjYCyAFB1IkLQQA2AgAgAyAWIAdrIgdBACAHIBZNGzYCuAFBDCADKAJYQagBakEgQQgQBCEJQdSJCygCACEHQdSJC0EANgIAAkAgB0EBRwRAIAlCADcCBCAJQQ42AgAgCUIANwIMIAlCADcCFCAJQQhqIgcgA0G4AWoiDEYNASAHEFkhB0HUiQtBADYCAEHAACAHIAwQAhpB1IkLKAIAIYYBQdSJC0EANgIAIIYBQQFHDQELEAAhAiADQbgBahBZGgwWCyAJIAMoAsgBNgIEIANBuAFqIgcQWRpB1IkLQQA2AgAgA0ECNgLIASADIBI2ArgBQQwgAygCWEGoAWpBIEEIEAQhDEHUiQsoAgAhEEHUiQtBADYCAAJAIBBBAUcEQCAMQgA3AgQgDEEONgIAIAxCADcCDCAMQgA3AhQgByAMQQhqIhBGDQEgEBBZIRBB1IkLQQA2AgBBwAAgECAHEAIaQdSJCygCACGHAUHUiQtBADYCACCHAUEBRw0BCxAAIQIgA0G4AWoQWRoMFgsgDCADKALIATYCBCADQbgBahBZGiAOIAhBA3RqKQIAIacBIA8pAhwhqAFB1IkLQQA2AgBBDCADKAJYQagBakEkQQQQBCEHQdSJCygCACGIAUHUiQtBADYCACCIAUEBRg0DIAcgqAE3AhwgByAMNgIYIAcgCTYCFCAHIAY2AhAgByCnATcCCCAHQiQ3AgACQAJAIAYoAgRBAUYNACAJKAIEQQFGDQAgDCgCBEEBRw0BCyAHQQE2AgQLAkAgBUUEQCAHIQUMAQtB1IkLQQA2AgBBi8gAIAMoAlggBSAHEAQhBUHUiQsoAgAhiQFB1IkLQQA2AgAgiQFBAUYNBAsgCEEBaiEICyARIBJqIREgAkEBaiICIBpHDQALDAgLEAAhAgwaCxAAIQIMEQtB1IkLKAIAIYoBQdSJC0EANgIAIIoBQQFHDSwQACECDBALQdSJCygCACGLAUHUiQtBADYCACCLAUEBRw0rEAAhAgwPC0HUiQsoAgAhjAFB1IkLQQA2AgAgjAFBAUcNKhAAIQIMDgtB1IkLKAIAIY0BQdSJC0EANgIAII0BQQFHDSkQACECDA0LEAAhAgwUC0EAIQogBUUNAiADKAJcIQYMAQsgBUUNASADKAJcIQYgBCAKRw0CC0EAIQhBAAwCC0HUiQtBADYCAEENQa3uAEHUrgJB7wVB2qIBEAVB1IkLKAIAIY4BQdSJC0EANgIAII4BQQFHDSQQACECDAgLIAQgCmsiAkEASARAQdSJC0EANgIAQcLbABAJQdSJCygCACGPAUHUiQtBADYCACCPAUEBRw0kEAAhAgwIC0HUiQtBADYCAEEEIAIQBiEIQdSJCygCACGQAUHUiQtBADYCACCQAUEBRg0GIAggCiAC/AoAACACIAhqCyEEIAMgDzYC2AJB1IkLQQA2AgBBwdsAIANBuAFqIgkgA0GIAWogDyADQdgCahAFQdSJCygCACGRAUHUiQtBADYCACCRAUEBRg0DQdSJC0EANgIAIAMoArgBIRFBBEEgEAYhAkHUiQsoAgAhB0HUiQtBADYCACAHQQFGDQEgAiAGNgIEIAJB0O0HNgIAIAIgBTYCHCACIAQ2AhggAiAENgIUIAIgCDYCECACIBw2AgwgAiAPNgIIIAMgAjYCyAEgCSARQRBqEJMKAkACQCAJIAMoAsgBIgJGBEBBBCEEIAkhAgwBC0EFIQQgAkUNAQsgAiACKAIAIARBAnRqKAIAEQEACyAKRQ0AIAoQWgsgIiAZQQRqIhlHDQEMBwsLEAAhAiAIDQEMAwsQACECIAhFDQILIAgQWgwBCxAAIQILIApFDQcgChBaDAcLEAAhAgwGCyATKAIQIhEgEygCFCIQRg0AA0ACQCARKAIAIg8oAgBBJUcNAEEAIQxBACECAkAgAygCUEUNAEHUiQtBADYCACADKQNQIacBIANBAjYCyAEgAygCWCECIANBATYCuAFBDCACQagBakEgQQgQBCEEQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAIARCADcCBCAEQQ42AgAgBEIANwIMIARCADcCFCAEQQhqIgIgA0G4AWoiBUYNASACEFkhAkHUiQtBADYCAEHAACACIAUQAhpB1IkLKAIAIZIBQdSJC0EANgIAIJIBQQFHDQELEAAhAiADQbgBahBZGgwJCyAEIAMoAsgBNgIEIANBuAFqEFkaQdSJC0EANgIAQQwgAygCWEGoAWpBFEEEEAQhAkHUiQsoAgAhkwFB1IkLQQA2AgAgkwFBAUYNBCACIAQ2AhAgAiCnATcCCCACQgs3AgAgBCgCBEEBRw0AIAJBATYCBAsgCyEKAkAgCyANRg0AA0ACQAJAIAotAABBAXENACAOIAxBA3RqKQIAIacBQdSJC0EANgIAQQwgAygCWEGoAWpBEEEEEAQhCEHUiQsoAgAhlAFB1IkLQQA2AgAglAFBAUYNASAMQQFqIQwgCCCnATcCCCAIQiU3AgAgAkUEQCAIIQIMAQsgAigCAEEBRwRAQdSJC0EANgIAQQwgAygCWEGoAWoiBUEgQQQQBCEEQdSJCygCACGVAUHUiQtBADYCACCVAUEBRg0CIARCADcCBCAEQQE2AgAgBEIANwIMIAQgBTYCHCAEQoCAgIAgNwIUQdSJC0EANgIAQQwgBUEIQQQQBCEFQdSJCygCACGWAUHUiQtBADYCACCWAUEBRg0CIAQgBTYCECAFIAI2AgAgBEEBNgIUQdSJC0EANgIAQYMDIAQgKEGAfnEiKEEAQQAQBUHUiQsoAgAhlwFB1IkLQQA2AgAgBCECIJcBQQFGDQILIAIoAhAhBQJAIAIoAhQiCSACKAIYRwRAIAUhBAwBCyACIAlBAXRBAmoiBDYCGCACKAIcIQZB1IkLQQA2AgBBDCAGIARBAnRBBBAEIQRB1IkLKAIAIZgBQdSJC0EANgIAIJgBQQFGDQIgAiAENgIQIAIoAhQiCUUEQEEAIQkMAQtBACEGQQAhBCAJQQRPBEAgCUF8cSESA0AgBEECdCITIAIoAhBqIAUgE2ooAgA2AgAgE0EEciIHIAIoAhBqIAUgB2ooAgA2AgAgE0EIciIHIAIoAhBqIAUgB2ooAgA2AgAgE0EMciITIAIoAhBqIAUgE2ooAgA2AgAgBEEEaiIEIBJHDQALCyAJQQNxIhMEQANAIARBAnQiEiACKAIQaiAFIBJqKAIANgIAIARBAWohBCAGQQFqIgYgE0cNAAsLIAIoAhAhBAsgBCAJQQJ0aiAINgIAIAIgCUEBajYCFEHUiQtBADYCAEGDAyACIClBgH5xIilBAEEAEAVB1IkLKAIAIZkBQdSJC0EANgIAIJkBQQFGDQELIA0gCkEMaiIKRw0BDAILCxAAIQIMCAsgD0GV08feBWwiBEEYdiAEc0GV08feBWxB1Mye+gZzIgRBDXYgBHNBldPH3gVsIgRBD3YgBHMhCCADKAJcIQoCQAJAIAMoAowBIgVFDQAgAygCiAECfyAIIAVBAWtxIAVpQQFLIgZFDQAaIAggBSAISw0AGiAIIAVwCyIHQQJ0aigCACIERQ0AIAQoAgAiBEUNACAGRQRAIAVBAWshBgNAAkAgCCAEKAIEIglHBEAgBiAJcSAHRg0BDAQLIAQoAgggD0YNBAsgBCgCACIEDQALDAELA0ACQCAIIAQoAgQiBkcEQCAFIAZNBH8gBiAFcAUgBgsgB0YNAQwDCyAEKAIIIA9GDQMLIAQoAgAiBA0ACwtB1IkLQQA2AgBBBEEoEAYhBEHUiQsoAgAhmgFB1IkLQQA2AgAgmgFBAUYNBCADIB82ArwBIAMgBDYCuAEgBEEANgIgIAQgDzYCCCADQQE6AMABIARBADYCACAEIAg2AgQgAyoCmAEhqwEgAygClAFBAWqzIawBAkACQCAFRQ0AIKsBIAWzlCCsAV0NACAHIQgMAQtBAiEGAkAgBSAFQQFrcUEARyAFQQNJciAFQQF0ciIHAn8grAEgqwGVjSKrAUMAAIBPXSCrAUMAAAAAYHEEQCCrAakMAQtBAAsiCSAHIAlLGyIHQQFGDQAgByAHQQFrcUUEQCAHIQYMAQtB1IkLQQA2AgBBFSAHEAYhBkHUiQsoAgAhmwFB1IkLQQA2AgAgmwFBAUYNCCADKAKMASEFCwJAIAUgBk8EQCAFIAZNDQEgBUEDSSEJAn8gAygClAGzIAMqApgBlY0iqwFDAACAT10gqwFDAAAAAGBxBEAgqwGpDAELQQALIQcCQAJAIAkNACAFaUEBSw0AIAdBAUEgIAdBAWtna3QgB0ECSRshBwwBC0HUiQtBADYCAEEVIAcQBiEHQdSJCygCACGcAUHUiQtBADYCACCcAUEBRg0KCyAGIAcgBiAHSxsiBiAFTw0BC0HUiQtBADYCAEHD2wAgA0GIAWogBhADQdSJCygCACGdAUHUiQtBADYCACCdAUEBRg0ICyADKAKMASIFIAVBAWsiBnFFBEAgBiAIcSEIDAELIAUgCEsNACAIIAVwIQgLAkACQCADKAKIASAIQQJ0aiIGKAIAIghFBEAgBCADKAKQATYCACADIAQ2ApABIAYgHzYCACAEKAIAIghFDQIgCCgCBCEIAkAgBSAFQQFrIgZxRQRAIAYgCHEhCAwBCyAFIAhLDQAgCCAFcCEICyADKAKIASAIQQJ0aiEIDAELIAQgCCgCADYCAAsgCCAENgIACyADIAMoApQBQQFqNgKUAQsgAyAKNgLAASADIAI2ArwBIANB9O0HNgK4ASADIANBuAFqIgU2AsgBIAUgBEEQahCTCgJAIAUgAygCyAEiAkYEQEEEIQQgBSECDAELQQUhBCACRQ0BCyACIAIoAgAgBEECdGooAgARAQALIBFBBGoiESAQRw0ACwsgDgRAIA4QWgsgCwRAIAsQWgsgGEEBaiIYIAEoAkwiBCABKAJIIgJrQQJ1Tw0JDAELCxAAIQIMAgsQACECIANBuAFqEKQODAELQdSJC0EANgIAQQ0gByAGIAggBRAFQdSJCygCACGeAUHUiQtBADYCACCeAUEBRw0UEAAhAgsgDgRAIA4QWgsgCyEGDAMLEAAhAiAGEFoMBwsQACECIAtFDQEgCxBaDAELQdSJCygCACGfAUHUiQtBADYCACCfAUEBRw0QEAAhAgsgBkUNBCAGEFoMBAsgAygCGCEIIAMoAhQhBiACIQcgAygCHCEFCyABIAY2AkggAyAHNgIUIAEgCDYCTCADIAQ2AhggASgCUCECIAEgBTYCUEHUiQtBADYCACADIAI2AhxBh9QAIAEQCkHUiQsoAgAhoAFB1IkLQQA2AgAgoAFBAUYEQBAAIQIMAwsCQCAhRQ0AIANBADYCtAIgA0IANwKsAiADQgA3AsgBIANBADYC0AEgA0IANwKkAiADQgA3AsABIANBmO4HNgK4ASADIANBiAFqNgK4AiAAKAIEIQBB1IkLQQA2AgAgAyAANgK8AUHE2wAgA0G4AWogARADQdSJCygCACGhAUHUiQtBADYCACChAUEBRg0CIAMoAqQCIgAEQCADIAA2AqgCIAAQWgsgA0GQ7Qk2ArgBIAMsAMsBQQBODQAgAygCwAEQWgsgAygCkAEiAgRAA0AgAigCACGiAQJAAkAgAigCICIEIAJBEGoiAUYEQEEEIQggASEEDAELQQUhCCAERQ0BCyAEIAQoAgAgCEECdGooAgARAQALIAIQWiCiASICDQALCyADKAKIASEAIANBADYCiAEgAARAIAAQWgsgAygCFCIBBEAgASADKAIYIgJHBEADQCACQQRrIgIoAgAhACACQQA2AgAgAARAIAAoAhwiBARAIAAgBDYCICAEEFoLIAAQWgsgASACRw0ACwsgARBaCyADKAIoIgIEQANAIAIoAgAhowEgAigCECIBBEAgAiABNgIUIAEQWgsgAhBaIKMBIgINAAsLIAMoAiAhACADQQA2AiAgAEUNACAAEFoLIANB0ANqJAAPCxAAIQIgA0G4AWoQ5AEaCyADKAKQASIABEADQCAAKAIAIaQBAkACQCAAKAIgIgEgAEEQaiIFRgRAQQQhCCAFIQEMAQtBBSEIIAFFDQELIAEgASgCACAIQQJ0aigCABEBAAsgABBaIKQBIgANAAsLIAMoAogBIQAgA0EANgKIASAABEAgABBaCyADQRRqEJwKDAcLEAAhAiADQbgBahCcCgwGCxAAIQIgA0G4AWoQow4aDAELEAAhAiADQbgBahDkARoLAkAgAygCsAEiBCADQaABaiIARgRAQQQhBSAAIQQMAQtBBSEFIARFDQELIAQgBCgCACAFQQJ0aigCABEBAAsgA0HYAmoQfBoLAkAgAygCmAEiBCADQYgBaiIARgRAQQQhBSAAIQQMAQtBBSEFIARFDQELIAQgBCgCACAFQQJ0aigCABEBAAsgAygCgAEQ8gYCQCADKAJwIgQgA0HgAGoiAEYEQEEEIQUgACEEDAELQQUhBSAERQ0BCyAEIAQoAgAgBUECdGooAgARAQALIANBIGoQkgogAhAHAAtB1IkLKAIAIaUBQdSJC0EANgIAIKUBQQFHDQELEAAhpgEgAygCvAEQ8wYgpgEQBwALAAvXAgECfwJAAkAgASgCACIBKAIAQRVGBEAgACgCfCICKAL8ASACKAKAAiABKQIQELoCKAI0QQNGBEACQCABKAIIKAIEQQFGDQAgACgCfCICKAL8ASACKAKAAiABKQIQELoCKAI0QQNHDQAgASgCCCIDKAIEQQNHDQMgAkGoAWpBEEEEEF0iAiADNgIMIAJBGDYCCCACQg83AgAgAhCzAiABIAI2AggLIAEhAgJAIAEoAgRBAUYNACAAKAJ8IgMoAvwBIAMoAoACIAEpAhAQugIoAjRBA0cNACABKAIEQQNHDQQgAUECNgIEIANBqAFqQRBBBBBdIgIgATYCDCACQRc2AgggAkIPNwIAIAIQswILIAFBAjYCDCAAQRRqIAIQeQsPC0Hw7QVBxZgDQZQGQY3eABABAAtBjaYFQfOqAkErQdSjBRABAAtBjaYFQfOqAkE4QeKjBRABAAvWAQECfwJAIAEoAgAiASgCAEEURgRAIAAoAnwiAigC/AEgAigCgAIgASkCDBC6AigCNEEDRgRAIAEhAgJAIAEoAgRBAUYNACAAKAJ8IgMoAvwBIAMoAoACIAEpAgwQugIoAjRBA0cNACABKAIEQQNHDQMgAUECNgIEIANBqAFqQRBBBBBdIgIgATYCDCACQRc2AgggAkIPNwIAIAIQswILIAFBAjYCCCAAQRRqIAIQeQsPC0Hw7QVBxZgDQZQGQY3eABABAAtBjaYFQfOqAkE4QeKjBRABAAuVAgECfwJAIAEoAgAiASgCAEEnRgRAAkAgASgCCCgCBEEBRg0AIAAoAnwiAigC/AEgAigCgAIgASkCFBC6AigCNEEDRw0AIAEoAggiAygCBEEDRw0CIAJBqAFqQRBBBBBdIgIgAzYCDCACQRg2AgggAkIPNwIAIAIQswIgASACNgIICwJAIAEoAhAoAgRBAUYNACAAKAJ8IgAoAvwBIAAoAoACIAEpAhQQugIoAjRBA0cNACABKAIQIgIoAgRBA0cNAiAAQagBakEQQQQQXSIAIAI2AgwgAEEYNgIIIABCDzcCACAAELMCIAEgADYCEAsPC0Hw7QVBxZgDQZQGQY3eABABAAtBjaYFQfOqAkErQdSjBRABAAuCAwECfwJAIAEoAgAiASgCAEEmRgRAAkAgASgCCCgCBEEBRg0AIAAoAnwiAigC/AEgAigCgAIgASkCFBC6AigCNEEDRw0AIAEoAggiAygCBEEDRw0CIAJBqAFqQRBBBBBdIgIgAzYCDCACQRg2AgggAkIPNwIAIAIQswIgASACNgIICwJAIAEoAgwoAgRBAUYNACAAKAJ8IgIoAvwBIAIoAoACIAEpAhwQugIoAjRBA0cNACABKAIMIgMoAgRBA0cNAiACQagBakEQQQQQXSICIAM2AgwgAkEYNgIIIAJCDzcCACACELMCIAEgAjYCDAsCQCABKAIQKAIEQQFGDQAgACgCfCIAKAL8ASAAKAKAAiABKQIUELoCKAI0QQNHDQAgASgCECICKAIEQQNHDQIgAEGoAWpBEEEEEF0iACACNgIMIABBGDYCCCAAQg83AgAgABCzAiABIAA2AhALDwtB8O0FQcWYA0GUBkGN3gAQAQALQY2mBUHzqgJBK0HUowUQAQALqAEBAX8CQCABKAIAIgEoAgBBJEYEQAJAIAEoAhAoAgRBAUYNACAAKAJ8IgAoAvwBIAAoAoACIAEpAhwQugIoAjRBA0cNACABKAIQIgIoAgRBA0cNAiAAQagBakEQQQQQXSIAIAI2AgwgAEEYNgIIIABCDzcCACAAELMCIAEgADYCEAsPC0Hw7QVBxZgDQZQGQY3eABABAAtBjaYFQfOqAkErQdSjBRABAAuoAQEBfwJAIAEoAgAiASgCAEEbRgRAAkAgASgCECgCBEEBRg0AIAAoAnwiACgC/AEgACgCgAIgASkDGBC6AigCNEEDRw0AIAEoAhAiAigCBEEDRw0CIABBqAFqQRBBBBBdIgAgAjYCDCAAQRg2AgggAEIPNwIAIAAQswIgASAANgIQCw8LQfDtBUHFmANBlAZBjd4AEAEAC0GNpgVB86oCQStB1KMFEAEAC6gBAQF/AkAgASgCACIBKAIAQRpGBEACQCABKAIQKAIEQQFGDQAgACgCfCIAKAL8ASAAKAKAAiABKQMgELoCKAI0QQNHDQAgASgCECICKAIEQQNHDQIgAEGoAWpBEEEEEF0iACACNgIMIABBGDYCCCAAQg83AgAgABCzAiABIAA2AhALDwtB8O0FQcWYA0GUBkGN3gAQAQALQY2mBUHzqgJBK0HUowUQAQALBwAgABClCAuoAQEBfwJAIAEoAgAiASgCAEEZRgRAAkAgASgCGCgCBEEBRg0AIAAoAnwiACgC/AEgACgCgAIgASkCJBC6AigCNEEDRw0AIAEoAhgiAigCBEEDRw0CIABBqAFqQRBBBBBdIgAgAjYCDCAAQRg2AgggAEIPNwIAIAAQswIgASAANgIYCw8LQfDtBUHFmANBlAZBjd4AEAEAC0GNpgVB86oCQStB1KMFEAEAC6gBAQF/AkAgASgCACIBKAIAQRhGBEACQCABKAIYKAIEQQFGDQAgACgCfCIAKAL8ASAAKAKAAiABKQMgELoCKAI0QQNHDQAgASgCGCICKAIEQQNHDQIgAEGoAWpBEEEEEF0iACACNgIMIABBGDYCCCAAQg83AgAgABCzAiABIAA2AhgLDwtB8O0FQcWYA0GUBkGN3gAQAQALQY2mBUHzqgJBK0HUowUQAQALqAEBAX8CQCABKAIAIgEoAgBBDUYEQAJAIAEoAiQoAgRBAUYNACAAKAJ8IgAoAvwBIAAoAoACIAEpAzAQugIoAjRBA0cNACABKAIkIgIoAgRBA0cNAiAAQagBakEQQQQQXSIAIAI2AgwgAEEYNgIIIABCDzcCACAAELMCIAEgADYCJAsPC0Hw7QVBxZgDQZQGQY3eABABAAtBjaYFQfOqAkErQdSjBRABAAuoAQEBfwJAIAEoAgAiASgCAEEMRgRAAkAgASgCJCgCBEEBRg0AIAAoAnwiACgC/AEgACgCgAIgASkDKBC6AigCNEEDRw0AIAEoAiQiAigCBEEDRw0CIABBqAFqQRBBBBBdIgAgAjYCDCAAQRg2AgggAEIPNwIAIAAQswIgASAANgIkCw8LQfDtBUHFmANBlAZBjd4AEAEAC0GNpgVB86oCQStB1KMFEAEACz8AIAAoAgRFBEBB6PoFQbqLA0GcBEHu0wIQAQALIAAgAjYCeCAAIAE2AnwgAEEUaiACQTBqEPQGIABCADcCeAu+IgEOfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgASgCACICKAIADl4AAQIDBAUGBwgJCgsMDR4fICEiIyQlNTYODxAREhMUFRYXGBkaGxwdNyYnKCkqKywtLi8wMTIzNDg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaW1wAXQtBmP0DQeWzA0HqARBiAAsgAEEUakHg2gAgARBYIAIoAgBBAUcNXCACKAIUIgFBAEwNWyAAQRhqIQMDQCABQQFrIgAgAigCFE8NXiACKAIQIABBAnRqIgQoAgBFDV8gA0Hf2gAgBBBbIAFBAUshBiAAIQEgBg0ACwxbCyAAQRRqIgNB4doAIAEQWCACKAIAQQJHDVsgAigCEARAIABBGGpB39oAIAJBEGoQWwsgA0Hf2gAgAkEMahBYIANB39oAIAJBCGoQWA8LIABBFGoiAEHi2gAgARBYIAIoAgBBA0cNWgxgCyAAQRRqQePaACABEFggAigCAEEERw1ZIAIoAhQEQCAAQRhqQd/aACACQRRqEFsLIAIoAhBFDVggAEEYakHf2gAgAkEQahBbDwsgAEEUaiIDQeTaACABEFggAigCAEEFRw1YIANB39oAIAJBJGoQWCACKAIgRQ1XIABBGGpB39oAIAJBIGoQWw8LIABBFGpB5doAIAEQWCACKAIAQQZHDVcgAigCDCIBQQBMDVYgAEEYaiEDA0AgAUEBayIAIAIoAgxPDVkgAigCCCAAQQJ0aiIEKAIARQ1aIANB39oAIAQQWyABQQFLIQcgACEBIAcNAAsMVgsgAEEUaiIDQebaACABEFggAigCAEEHRw1WIANB39oAIAJBHGoQWCACKAIQIgFBAEwNVSAAQRhqIQMDQCABQQFrIgAgAigCEE8NWCACKAIMIABBAnRqIgQoAgBFDVkgA0Hf2gAgBBBbIAFBAUshCCAAIQEgCA0ACwxVCyAAQRRqQefaACABEFggAigCAEEIRg1UDFULIABBFGoiAEHo2gAgARBYIAIoAgBBCUcNVAxdCyAAQRRqQenaACABEFggAigCAEEKRg1SDFMLIABBFGoiAEHq2gAgARBYIAIoAgBBC0cNUgxYCyAAQRRqIgBB69oAIAEQWCACKAIAQQxHDVEMXAsgAEEUaiIAQezaACABEFggAigCAEENRw1QDFoLIABBFGoiAEHt2gAgARBYIAIoAgBBGEcNTwxbCyAAQRRqIgBB7toAIAEQWCACKAIAQRlHDU4gAEHf2gAgAkEgahBYDFoLIABBFGoiAEHv2gAgARBYIAIoAgBBGkcNTQxRCyAAQRRqIgBB8NoAIAEQWCACKAIAQRtHDUwMUQsgAEEUakHx2gAgARBYIAIoAgBBHEYNSgxLCyAAQRRqIgBB8toAIAEQWCACKAIAQR1HDUoMUwsgAEEUaiIAQfPaACABEFggAigCAEEeRw1JIABB39oAIAJBFGoQWAxSCyAAQRRqIgBB9NoAIAEQWCACKAIAQR9HDUgMVwsgAEEUaiIAQfXaACABEFggAigCAEEgRw1HDE4LIABBFGoiAEH22gAgARBYIAIoAgBBIUcNRgxOCyAAQRRqIgBB99oAIAEQWCACKAIAQSJHDUUgAEHf2gAgAkEgahBYDwsgAEEUaiIAQfjaACABEFggAigCAEEjRw1EDE4LIABBFGoiAEH52gAgARBYIAIoAgBBJEcNQwxHCyAAQRRqQfraACABEFggAigCAEElRg1BDEILIABBFGoiAEH72gAgARBYIAIoAgBBJkcNQQxPCyAAQRRqIgBB/NoAIAEQWCACKAIAQSdHDUAMTgsgAEEUakH92gAgARBYIAIoAgBBDkYNPgw/CyAAQRRqIgBB/toAIAEQWCACKAIAQQ9HDT4MRwsgAEEUaiIAQf/aACABEFggAigCAEEQRw09DEULIABBFGoiAEGA2wAgARBYIAIoAgBBEUcNPAxKCyAAQRRqIgBBgdsAIAEQWCACKAIAQRJHDTsMSwsgAEEUakGC2wAgARBYIAIoAgBBE0cNOiACKAIIRQ05DEsLIABBFGpBg9sAIAEQWCACKAIAQRRGDTgMOQsgAEEUaiIAQYTbACABEFggAigCAEEVRw04DEgLIABBFGpBhdsAIAEQWCACKAIAQSlGDTYMNwsgAEEUaiIAQYbbACABEFggAigCAEEqRw02DEYLIABBFGpBh9sAIAEQWCACKAIAQStGDTQMNQsgAEEUaiIAQYjbACABEFggAigCAEEsRw00DEMLIABBFGoiAEGJ2wAgARBYIAIoAgBBLUcNMww5CyAAQRRqIgBBitsAIAEQWCACKAIAQS5HDTIMNwsgAEEUakGL2wAgARBYIAIoAgBBL0YNMAwxCyAAQRRqIgBBjNsAIAEQWCACKAIAQTBHDTAMNQsgAEEUaiIAQY3bACABEFggAigCAEExRw0vDDMLIABBFGoiAEGO2wAgARBYIAIoAgBBMkcNLgw8CyAAQRRqIgNBj9sAIAEQWCACKAIAQTNHDS0gAigCKCIBQQBKBEAgAEEYaiEEA0AgAUEBayIAIAIoAihPDTAgAigCJCAAQQJ0aiIFKAIARQ0xIARB39oAIAUQWyABQQFLIQkgACEBIAkNAAsLIANB39oAIAJBEGoQWA8LIABBFGoiAEGQ2wAgARBYIAIoAgBBNEYEQAw9CwwsCyAAQRRqQZHbACABEFggAigCAEE1Rw0rIAIoAhQiAUEATA0qIABBGGohAwNAIAFBAWsiACACKAIUTw0tIAIoAhAgAEECdGoiBCgCAEUNLiADQd/aACAEEFsgAUEBSyEKIAAhASAKDQALDCoLIABBFGpBktsAIAEQWCACKAIAQTZGDSkMKgsgAEEUaiIAQZPbACABEFggAigCAEE3Rw0pDDkLIABBFGpBlNsAIAEQWCACKAIAQRZGDScMKAsgAEEUakGV2wAgARBYIAIoAgBBF0YNJgwnCyAAQRRqQZbbACABEFggAigCAEEoRg0lDCYLIABBFGpBl9sAIAEQWCACKAIAQThHDSUgAigCDCIBQQBMDSQgAEEYaiEDA0AgAUEBayIAIAIoAgxPDScgAigCCCAAQQJ0aiIEKAIARQ0oIANB39oAIAQQWyABQQFLIQsgACEBIAsNAAsMJAsgAEEUaiIAQZjbACABEFggAigCAEE5Rw0kDDQLIABBFGoiAEGZ2wAgARBYIAIoAgBBOkcNIwwzCyAAQRRqIgBBmtsAIAEQWCACKAIAQTtHDSIMMgsgAEEUaiIDQZvbACABEFggAigCAEE8Rw0hIANB39oAIAJBGGoQWCACKAIMIgFBAEwNICAAQRhqIQMDQCABQQFrIgAgAigCDE8NIyACKAIIIABBAnRqIgQoAgBFDSQgA0Hf2gAgBBBbIAFBAUshDCAAIQEgDA0ACwwgCyAAQRRqIgBBnNsAIAEQWCACKAIAQT1HDSAMMAsgAEEUaiIAQZ3bACABEFggAigCAEE+Rw0fDC8LIABBFGoiAEGe2wAgARBYIAIoAgBBP0cNHiAAQd/aACACQRRqEFgPCyAAQRRqQZ/bACABEFggAigCAEHAAEcNHSACKAIMIgFBAEwNHCAAQRhqIQMDQCABQQFrIgAgAigCDE8NHyACKAIIIABBAnRqIgQoAgBFDSAgA0Hf2gAgBBBbIAFBAUshDSAAIQEgDQ0ACwwcCyAAQRRqIgBBoNsAIAEQWCACKAIAQcEARw0cDCULIABBFGoiAEGh2wAgARBYIAIoAgBBwgBHDRsMIwsgAEEUaiIDQaLbACABEFggAigCAEHDAEcNGiADQd/aACACQQxqEFggAigCCEUNGQwrCyAAQRRqIgBBo9sAIAEQWCACKAIAQcQARw0ZDB4LIABBFGoiAEGk2wAgARBYIAIoAgBBxQBHDRgMHQsgAEEUakGl2wAgARBYIAIoAgBBxgBHDRcgAigCDCIBQQBMDRYgAEEYaiEDA0AgAUEBayIAIAIoAgxPDRkgAigCCCAAQQJ0aiIEKAIARQ0aIANB39oAIAQQWyABQQFLIQ4gACEBIA4NAAsMFgsgAEEUaiIAQabbACABEFggAigCAEHHAEcNFgwlCyAAQRRqIgBBp9sAIAEQWCACKAIAQcgARw0VDCMLIABBFGoiAEGo2wAgARBYIAIoAgBByQBHDRQMJAsgAEEUaiIAQanbACABEFggAigCAEHKAEcNEyAAQd/aACACQRhqEFgMIAsgAEEUaiIAQarbACABEFggAigCAEHLAEcNEgwfCyAAQRRqIgBBq9sAIAEQWCACKAIAQcwARw0RDBQLIABBFGoiAEGs2wAgARBYIAIoAgBBzQBHDRAMEwsgAEEUaiIAQa3bACABEFggAigCAEHOAEcNDwwYCyAAQRRqIgNBrtsAIAEQWCACKAIAQc8ARw0OIAIoAhgEQCAAQRhqQd/aACACQRhqEFsLIAIoAhQEQCAAQRhqQd/aACACQRRqEFsLIAIoAhAEQCAAQRhqQd/aACACQRBqEFsLDCALIABBFGpBr9sAIAEQWCACKAIAQdAARg0MDA0LIABBFGoiAEGw2wAgARBYIAIoAgBB0QBHDQwMFQsgAEEUaiIDQbHbACABEFggAigCAEHSAEcNCyACKAIUBEAgAEEYakHf2gAgAkEUahBbCyADQd/aACACQRBqEFgMHQsgAEEUaiIAQbLbACABEFggAigCAEHTAEcNCgwZCyAAQRRqIgBBs9sAIAEQWCACKAIAQdQARw0JDBELIABBFGoiAEG02wAgARBYIAIoAgBB1QBHDQgMEQsgAEEUaiIAQbXbACABEFggAigCAEHWAEcNBwwVCyAAQRRqIgBBttsAIAEQWCACKAIAQdcARw0GDBULIABBFGoiAEG32wAgARBYIAIoAgBB2ABHDQUMFQsgAEEUaiIAQbjbACABEFggAigCAEHZAEcNBAwMCyAAQRRqIgBBudsAIAEQWCACKAIAQdoARw0DDAoLIABBFGoiAEG62wAgARBYIAIoAgBB2wBHDQIMEQsgAEEUaiIDQbvbACABEFggAigCAEHcAEcNASADQd/aACACQTxqEFggAigCMCIBQQBMDQAgAEEYaiEDA0AgAUEBayIAIAIoAjBPDQMgAigCLCAAQQJ0aiIEKAIARQ0EIANB39oAIAQQWyABQQFLIQ8gACEBIA8NAAsLDwtB8O0FQcWYA0GUBkGN3gAQAQALQcWiAUGJogNBvAFBpogFEAEAC0GBgwJB05kDQbkCQa73AhABAAsgAEHf2gAgAkEcahBYCyAAQd/aACACQRhqEFgLIABB39oAIAJBFGoQWAsgAEHf2gAgAkEQahBYDwsgAEHf2gAgAkEUahBYCyAAQd/aACACQRBqEFgLIABB39oAIAJBDGoQWA8LIABB39oAIAJBKGoQWAsgAEHf2gAgAkEkahBYDwsgAEHf2gAgAkEcahBYIABB39oAIAJBGGoQWA8LIABB39oAIAJBFGoQWAsgAEHf2gAgAkEQahBYCyAAQd/aACACQQxqEFgLIABB39oAIAJBCGoQWA8LIABBGGpB39oAIAJBCGoQWw8LIANB39oAIAJBDGoQWAu2FwIcfwF+IwBBsAJrIgIkAAJAAkAgAS0AhQFBCHEEQAJAAkACQAJAAkACQAJAAkACQAJAIAAoAgQEQCAAIAAoAgAoAhARAgAEQCACIAAoAgQiBCkCODcD+AEgAiAEKQIwNwPwASACIAQpAig3A+gBIAIgBCkCIDcD4AEgAiAEKQIYNwPYASACQYACaiAEQUBrEOMBIQNB1IkLQQA2AgBBmgEgAkGUAmogBEHUAGoQAiEFQdSJCygCACERQdSJC0EANgIAIBFBAUYNAiACIAQoAmg2AqgCIAIgBCgCbCIENgKsAiAEBEAgBCAEKAIEQQFqNgIECyACQQEgAigC4AEiBCAEQQBKGzYC4AEgAiACKQPoATcDGCACIAIpA/ABNwMgIAIgAikD+AE3AyggAiACKQPgATcDECACQQEgAigC3AEiBCAEQQBKGzYC3AFB1IkLQQA2AgAgAiACKQPYATcDCEGbASACQTBqIAMQAiEDQdSJCygCACEEQdSJC0EANgIAAkAgBEEBRwRAQdSJC0EANgIAQZoBIAJBxABqIAUQAiEFQdSJCygCACESQdSJC0EANgIAIBJBAUYNBSACIAIoAqwCIgQ2AlwgAiACKAKoAjYCWCAEBEAgBCAEKAIEQQFqNgIECyACQQA2AnQgAiACKQMQNwKAASACIAIpAxg3AogBIAIgAikDIDcCkAEgAiACKQMoNwKYASACQgA3AmwgAkH87Ak2AmAgAiACKQMINwJ4QdSJC0EANgIAIAIgATYCZCACIAFBqAFqNgJoQZsBIAJBoAFqIAMQAiEEQdSJCygCACEDQdSJC0EANgIAAkAgA0EBRwRAQdSJC0EANgIAQZoBIAJBtAFqIAUQAhpB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRwRAIAIgAigCWDYCyAEgAiACKAJcIgQ2AswBIAQEQCAEIAQoAgRBAWo2AgQLIAJBADsB0AEgAkEIahBhIAJBAToA0AEgACgCACgCFCEUQdSJC0EANgIAIBQgABAGIQBB1IkLKAIAIRVB1IkLQQA2AgAgFUEBRg0EIAIoAmAoAgghFkHUiQtBADYCACAWIAJB4ABqIgQgABADQdSJCygCACEXQdSJC0EANgIAIBdBAUYNBEHUiQtBADYCAEGXASAEEApB1IkLKAIAIRhB1IkLQQA2AgAgGEEBRg0EIAJB/OwJNgJgIAJB+ABqEGEgAigCbCIDBEAgAigCcCIAIAMiBEcEQANAIABBBGsiACgCACEEIABBADYCACAEBEAgBCAEKAIAKAIEEQEACyAAIANHDQALIAIoAmwhBAsgAiADNgJwIAQQWgsgAkHYAWoQYQwQCxAAIQAgBBBrDAELEAAhAAsgAkHsAGoQ4AEgAkEIahBhDA8LEAAhAAwOCxAAIQAgAkHgAGoQfBoMDQsgACABNgJ8IABBFGohCyABKAIYIgQgASgCHCIDRwRAA0AgBCgCACIFKAIMRQRAIAsgBUEgahD0BgsgBEEEaiIEIANHDQALCyABKAIMIgQgASgCECIFRwRAA0AgBCgCACIDKAIMRQRAIAAgAzYCeCALIANBMGoQ9AYgAEEANgJ4CyAEQQRqIgQgBUcNAAsLIAEoAjAiCCABKAI0Ig1GDQkgAEEcaiEMA0AgCCgCACIEKAIMBEAgCyAEQRRqEPQGCyAEKAIcIgogBCgCICIORwRAIAAoAmwhBiAAKAJwIQMgACgCGCEFA0AgAiAKKAIAIgc2AmAgAyAGayIQQQN1IgRBACAFa0cNBiAHRQ0HAkAgBUEJTQRAIAAgBUEBaiIGNgIYIAwgBUEDdGoiBEHf2gA2AgAgBCACQeAAajYCBCADIQQgBiEFDAELIAAoAnQiCSADSwRAIANB39oANgIAIAMgAkHgAGo2AgQgACADQQhqIgQ2AnAMAQsgBEEBaiIHQYCAgIACTw0JQf////8BIAkgBmsiCUECdSIPIAcgByAPSRsgCUH4////B08bIgdBgICAgAJPDQogECAHQQN0Ig8QXCIJaiIHQd/aADYCACAJIARBA3RqIAJB4ABqNgIEIAdBCGohBCADIAZHBEADQCAHQQhrIgcgA0EIayIDKQIANwIAIAMgBkcNAAsLIAAgCSAPajYCdCAAIAQ2AnAgACAHNgJsIAZFDQAgBhBaIAAoAnAhBCAAKAIYIQULQQAgBWsgBCAAKAJsIgZrQQN1RwRAA0ACQCAEIAZGBEAgBUUNDiAMIAVBAWsiA0EDdGoiBSgCBCEEIAUoAgAhBiAAIAM2AhgMAQsgBEEIayIDKAIAIQYgAygCBCEEIAAgAzYCcAsgCyAENgIAIAQoAgBFDQ0gACAEIAYRAABBACAAKAIYIgVrIAAoAnAiBCAAKAJsIgZrQQN1Rw0ACwsgBCEDIApBBGoiCiAORw0ACwsgCEEEaiIIIA1HDQALDAkLQej6BUG6iwNB/ANB2ssCEAEACxAAIQAgAxBrDAsLEAAhACADEGsMCQtBzcoFQdOZA0HIAkHQ+AIQAQALQYGDAkHTmQNBuQJBrvcCEAEACxBkAAsQagALQd7EBUGwlANB2gBB/fsCEAEAC0H1ggJB05kDQc0CQdD4AhABAAsgASgCPCIEIAFBQGsoAgAiBUcEQANAAkAgBCgCACIDKAI0QQNHDQAgA0ECNgI0IAMpAyhCgYAEfUL9/3tWDQAgA0KAgAQ3AygLIARBBGoiBCAFRw0ACwsgASgCSCIEIAEoAkwiDEcEQANAAkAgBCgCACIDLQAUDQAgCyADQRhqEPQGIAMtABQNAAJAAkACQCADKAIYIgUoAgBBCmsOBQEDAwMAAwsgBSgCGEEDRw0BIAUpAwghHiACQQI2AnAgAiAePgJgAkAgBUEIaiIDIAJB4ABqIgZHBEAgAxBZIQNB1IkLQQA2AgBBwAAgAyAGEAIaQdSJCygCACEZQdSJC0EANgIAIBlBAUYNAQsgAkHgAGoQWRogBUECNgIEDAMLEAAhACACQeAAahBZGgwICyAAKAJ8IggoArgCIAgoArwCIAUpAggQhwMiCigCDEUNASAKKAIUQdSsCygCAEcNASACQeAAaiAIEPIFIR1B4KwLKQMAIR4CQAJAAkAgAigCZCIGIAIoAmgiA0cEQCAKKAIMIQ0gHqchDgNAIA0gBigCACIHKAIMRgRAIAcoAhQgDkYNAwsgBkEEaiIGIANHDQALCyACQQI2AugBIAJBADYC2AFB1IkLQQA2AgBBDCAIQagBakEgQQgQBCEGQdSJCygCACEDQdSJC0EANgIAAkAgA0EBRwRAIAZCADcCBCAGQQ42AgAgBkIANwIMIAZCADcCFCAGQQhqIgMgAkHYAWoiB0YNASADEFkhA0HUiQtBADYCAEHAACADIAcQAhpB1IkLKAIAIRpB1IkLQQA2AgAgGkEBRw0BCxAAIQAgAkHYAWoQWRoMAwsgBiACKALoATYCBCACQdgBahBZGkHUiQtBADYCAEEEQSgQBiEDQdSJCygCACEbQdSJC0EANgIAIBtBAUYNASADQgA3AiAgA0IANwIYIANCADcCCCADIB43AgAgA0IANwIQIAMgBjYCICADQQI2AhwgAyAKKQIMNwIMIANB4KwLKQMANwIUQdSJC0EANgIAQe0RIAggAxACIQdB1IkLKAIAIRxB1IkLQQA2AgAgHEEBRw0AEAAhAAwCCyAFQQI2AgQgBSAHKQIANwIIIAIoApQBIgMEQCACIAM2ApgBIAMQWgsgAigCiAEiAwRAIAIgAzYCjAEgAxBaCyACKAJ8IgMEQCACIAM2AoABIAMQWgsgAigCcCIDBEAgAiADNgJ0IAMQWgsgAigCZCIDRQ0DIAIgAzYCaCADEFoMAwsQACEACyAdEL4EDAcLQe2mBUHmmgNBoQJBiaQFEAEACyAEQQRqIgQgDEcNAAsLIABBADYCfAsgASABKAKEAUH/b3E2AoQBCyACQbACaiQADwsgAkHYAWoQYQsgABAHAAuVOQE9fyMAQYAEayICJAACQAJAAkAgASgCACITKAIAQQNGBEAgACgCfCEDIAIgACgCBCIBLQA4OgCIAiACIAEtADk6AIkCIAIgASgCaDYCjAIgAiABKAJsIgQ2ApACIAMhCyAEBEAgBCAEKAIEQQFqNgIEIAAoAnwhCyAAKAIEIQELIAIgAzYClAIgAygChAEhAyACQaQCaiIEQgA3AgAgAkGwAmoiBUIANwIAIAJBvAJqIgZCADcCACACQcgCaiIMQgA3AgAgAkHsAmoiCEIANwIAIAJCADcC2AIgAkIANwHeAiACQfgCaiIJQgA3AgAgAkEAOwGcAiACIAM2ApgCIAIgBDYCoAIgAiAFNgKsAiACIAY2ArgCIAIgDDYCxAIgAkIANwLQAiACIAg2AugCIAIgCTYC9AIgAiABLQA4OgCQASACIAEtADk6AJEBIAIgASgCaDYClAEgAiABKAJsIgE2ApgBIAEEQCABIAEoAgRBAWo2AgQLIAIgCzYCnAEgCygChAEhASACQawBaiIDQgA3AgAgAkG4AWoiBEIANwIAIAJBxAFqIgtCADcCACACQdABaiIFQgA3AgAgAkH0AWoiBkIANwIAIAJCADcC4AEgAkIANwHmASACQYACaiIMQgA3AgAgAkEAOwGkASACIAE2AqABIAIgAzYCqAEgAiAENgK0ASACIAs2AsABIAIgBTYCzAEgAkIANwLYASACIAY2AvABIAIgDDYC/AEgAiATNgKMAyACQgA3AlggAkIANwJgIAJBADYCaEHUiQtBADYCACACQgA3AgAgAiACQZABajYCbEHHACACIAJBjANqEANB1IkLKAIAIQFB1IkLQQA2AgACQCABQQFHBEAgAigCWCIBBEAgAiABNgJcIAEQWgsgAigC5AEEQEEAIQxB1IkLQQA2AgBBDUGRyQVB9ooDQcQIQabRABAFQdSJCygCACEkQdSJC0EANgIAICRBAUYNAgwGCyACLQCQAQRAIAJBADoA4QEMBAsgAi0A4QFFDQMgAkEBOgDgAQwDCxAAIQEgAigCWCIABEAgAiAANgJcIAAQWgtBACEMDAMLEAAhAQwCC0Hw7QVBxZgDQZQGQY3eABABAAsCQAJ/AkACQCAAKAJ4IgMoAhwiAUEQSQ0AIAEoAhANACABKAIUIgFBB0kNASABKAIEDQEgASgCDCABKAIIa0ECdQwCC0EAIQxB1IkLQQA2AgBBDUHhlQZBuLMCQdsJQY/iAxAFQdSJCygCACElQdSJC0EANgIAICVBAUcNBBAAIQEMAwsgAUEARwsgAygCKCADKAIka0ECdWoiAQRAIAFBgICAgARPBEBB1IkLQQA2AgBB+AIQCUHUiQsoAgAhJkHUiQtBADYCACAmQQFHDQQMAgtB1IkLQQA2AgBBBCABQQJ0IgEQBiEQQdSJCygCACEnQdSJC0EANgIAICdBAUYNASAQQQAgAfwLAAsgAkIANwOAASACQgA3A3ggAkGAgID8AzYCiAEgAkEANgKUAyACQgA3AowDIAIgEzYCgAMgAkIANwJYIAJCADcCYCACQQA2AmhB1IkLQQA2AgAgAkIANwIAIAIgAkGMA2o2AmxBjDMgAiACQYADahADQdSJCygCACEBQdSJC0EANgIAAkACQCABQQFHBEAgAigCWCIBBEAgAiABNgJcIAEQWgsCQCACKAKMAyIBIAIoApADIgRHBEADQCAQIAEoAgAiAygCCEECdGoiCyALKAIAQQFqNgIAQdSJC0EANgIAQYzFACACIAJB+ABqIAMgAxAFQdSJCygCACEoQdSJC0EANgIAIChBAUYNAiABQQRqIgEgBEcNAAsgAigCjAMhAQsgAQRAIAIgATYCkAMgARBaC0HUiQtBADYCAEEEQQQQBiELQdSJCygCACEBQdSJC0EANgIAAkACQCABQQFHBEAgCyATQRBqNgIAIAJBgAFqIRcgAkHwAGohGCACQeQAaiEZIAJBQGshGiACQTRqIRsgAkEoaiEcIAJBHGohHSALQQRqIhIhAUEAIQxBACEIA0ACQCABIAtGBEAgASELDAELAkACQAJAAkAgAUEEayIBKAIAIh4oAgAiBigCAEEBRgRAQQQhBSAGKAIUIgpFDQQDQCAKQQFrIgogBigCFE8EQEHUiQtBADYCAEENQcWiAUGJogNBvAFBpogFEAUMCgsgBigCECAKQQJ0aiENAn8gASASSQRAIAEgDTYCACABQQRqDAELIAEgC2tBAnUiDkEBaiIDQYCAgIAETwRAQdSJC0EANgIAQcwwEAkMCwsCQEH/////AyASIAtrIgRBAXUiCSADIAMgCUkbIARB/P///wdPGyIERQRAQQAhCQwBCyAEQYCAgIAETwRAQdSJC0EANgIAQQMQCQwMC0HUiQtBADYCAEEEIARBAnQQBiEJQdSJCygCACEpQdSJC0EANgIAIClBAUYNBAsgCSAOQQJ0aiIDIA02AgAgCSAEQQJ0aiESIANBBGohKgJAIAEgC0cEQANAIANBBGsiAyABQQRrIgEoAgA2AgAgASALRw0ACyALRQ0BCyALEFoLIAMhCyAqCyEBIAoNAAsMBAsgACgCfCEEIAIgACgCBCIDLQA4OgAAIAIgAy0AOToAASACIAMoAmg2AgQgAiADKAJsIgM2AgggAwRAIAMgAygCBEEBajYCBAsgAiAENgIMIAQoAoQBIQMgAkIANwIcIAJBADsBFCACIAM2AhAgAkIANwIoIAIgHTYCGCACQgA3AjQgAiAcNgIkIAJCADcCQCACIBs2AjAgAkIANwJkIAIgGjYCPCACQgA3AVYgAkIANwJQIAJCADcCSCACQgA3AnAgAiAZNgJgIAIgGDYCbCACIAY2AoADIAJCADcCjAMgAkEANgL0AyACQgA3AuwDIAJCADcC5ANB1IkLQQA2AgAgAiACNgL4A0HHACACQYwDaiACQYADahADQdSJCygCACErQdSJC0EANgIAICtBAUcEQCACKALkAyIDBEAgAiADNgLoAyADEFoLIAIoAlQEQEHUiQtBADYCAEENQZHJBUH2igNBxAhBptEAEAVB1IkLKAIAISxB1IkLQQA2AgAgLEEBRw0REAAhASACEN8BGgwKCyACLQAABEAgAkEAOgBRDAMLIAItAFFFDQIgAkEBOgBQDAILEAAhASACKALkAyIARQ0CIAIgADYC6AMgABBaIAIQ3wEaDAgLEAAhAQwHC0EFIQUCQAJAAkACQAJAAkACQCACLQAUDQAgAi0AUw0AIAIoAnQNACACKAJoDQACQCAGKAIEDQACQAJAIAYiAygCAEEBaw4WAgECAQEBAQEAAQEBAQEBAQEBAQEBAgELA0AgAygCDCIDKAIAIgRBCUYNAAsgBEEIaw4HAQAAAAAAAQALAkACQAJAAkACf0EBIAIoAkQNABpBASACLQBJDQAaQQEgAi0ASw0AGkEBIAItAE0NABpBASACLQBPDQAaQQEgAi0AUg0AGkEBIAItABUNABpB1IkLQQA2AgBB8wUgAkGIAmogAhACIQNB1IkLKAIAIS1B1IkLQQA2AgAgLUEBRg0BQQEgAw0AGgJAIAIoAjgNACACLQBIDQAgAi0ASg0AIAItAEwNACACLQBODQAgAi0AUg0AQQAgAi0AFUUNARoLQQEgAigC1AENABpBASACLQDZAQ0AGkEBIAItANsBDQAaQQEgAi0A3QENABpBASACLQDfAQ0AGkEBIAItAOIBDQAaIAItAKUBQQBHCyEuIAItAFMNBCACKAJ0DQQgLiACLQDjASACKAKEAnJyDQQgAigCIEUNAyACQQA2AogDIAJCADcCgAMgAiAGNgL8AyACQgA3AowDIAJBADYC9AMgAkIANwLsAyACQgA3AuQDQdSJC0EANgIAIAIgAkGAA2o2AvgDQY4zIAJBjANqIAJB/ANqEANB1IkLKAIAIS9B1IkLQQA2AgAgL0EBRg0LIAIoAuQDIgMEQCACIAM2AugDIAMQWgsgAigCgAMiCSACKAKEAyIfRg0BAn8CQAJAA0AgAiAJKAIAIgM2AvwDIAAoArgBIQRB1IkLQQA2AgBBshYgAkGMA2ogBCADIAJB/ANqEAVB1IkLKAIAITBB1IkLQQA2AgAgMEEBRg0BAkACfyACKAKMAyIEKAIgIg1FBEBBACEFIAQoAgwiByEWQQAhDkEADAELIARBHGohDiAHIQUgBCgCGAsiAyAORyAFIBZHIA0bQQFHBEAgBSEHDAELIAIoAnwiCkUNACAEQRBqISAgCkEBayEUIAppISEgAigCeCEiIAUhBwNAAkAgA0EQaiAgIAdBAnRqIA0bKAIAIhFFDQAgIgJ/IBFBldPH3gVsIgRBGHYgBHNBldPH3gVsQdTMnvoGcyIEQQ12IARzQZXTx94FbCIEQQ92IARzIgUgFHEgIUEBSyIPRQ0AGiAFIAUgCkkNABogBSAKcAsiFUECdGooAgAiBEUNACAEKAIAIgRFDQAgD0UEQANAAkAgBCgCBCIPIAVHBEAgDyAUcSAVRg0BDAQLIAQoAgggEUYNCAsgBCgCACIEDQAMAgsACwNAAkAgBCgCBCIPIAVHBEAgCiAPTQR/IA8gCnAFIA8LIBVGDQEMAwsgBCgCCCARRg0HCyAEKAIAIgQNAAsLAkAgDUUEQCAHQQFqIQcMAQsgAygCBCIEBEADQCAEIgMoAgAiBA0ADAILAAsDQCADIAMoAggiAygCAEcNAAsLIAMgDkcgByAWRyANGw0ACwsgCUEEaiIJIB9HDQALQQAMAgsQACEBIAIoAoADIgBFDQ4gAiAANgKEAyAAEFogAhDfARoMFAtBAQshAyACKAKAAyEJDAILEAAhASACEN8BGgwRC0EAIQMLIAkEQCACIAk2AoQDIAkQWgsgAw0BCyACQQA2AogDIAJCADcCgAMgAiAGNgL8AyACQgA3AowDIAJBADYC9AMgAkIANwLsAyACQgA3AuQDQdSJC0EANgIAIAIgAkGAA2o2AvgDQYwzIAJBjANqIAJB/ANqEANB1IkLKAIAITFB1IkLQQA2AgAgMUEBRg0FIAIoAuQDIgMEQCACIAM2AugDIAMQWgsgAigCgAMiBCEDAkACQCAEIAIoAoQDIgVGDQADQCAQIAMoAgAoAghBAnRqIgkoAgAiCkUEQEHUiQtBADYCAEENQezEBUG1nAJBkQFBibsCEAVB1IkLKAIAITJB1IkLQQA2AgAgMkEBRw0ZEAAhAQwKCyAJIApBAWs2AgAgA0EEaiIDIAVHDQALIAQhAwNAIBAgAygCACgCCEECdGooAgBFBEAgBSADQQRqIgNHDQEMAgsLIAQhAwNAIBAgAygCACgCCEECdGoiBiAGKAIAQQFqNgIAIANBBGoiAyAFRw0AC0EAIRRBACEFDAELAkAgCCAjRwRAIAggBjYCAAwBCwJAAkACQCAIIAxrIgNBAnUiCUEBaiIEQYCAgIAETwRAQdSJC0EANgIAQQ4QCQwBC0H/////AyADQQF1IgUgBCAEIAVJGyADQfz///8HTxsiBUUEQEEAIQoMAwsgBUGAgICABEkNAUHUiQtBADYCAEEDEAkLQdSJCygCACEzQdSJC0EANgIAIDNBAUcNGRAAIQEMCgtB1IkLQQA2AgBBBCAFQQJ0EAYhCkHUiQsoAgAhNEHUiQtBADYCACA0QQFGDQULIAogCUECdGoiBCAGNgIAIAQhAyAIIAxHBEADQCADQQRrIgMgCEEEayIIKAIANgIAIAggDEcNAAsLIAVBAnQgCmohIyAMBEAgDBBaCyADIQwgBCEICyAAKAJ8IQNB1IkLQQA2AgBBDCADQagBakEIQQQQBCEDQdSJCygCACE1QdSJC0EANgIAIDVBAUYNBSAIQQRqIQggA0IWNwIAIB4gAzYCAEEEIQVBASEUIAIoAoADIgQgAigChAMiFUYNAANAAkAgAigCfCINRQ0AIAIoAngiBwJ/IAQoAgAiCUGV08feBWwiA0EYdiADc0GV08feBWxB1Mye+gZzIgNBDXYgA3NBldPH3gVsIgNBD3YgA3MiCiANQQFrcSANaUEBSyIRRQ0AGiAKIAogDUkNABogCiANcAsiDkECdGooAgAiA0UNACADKAIAIgNFDQAgDUEBayEPAkAgEUUEQANAAkAgCiADKAIEIgZHBEAgBiAPcSAORg0BDAULIAMoAgggCUYNAwsgAygCACIDDQAMAwsACwNAAkAgCiADKAIEIgZHBEAgBiANTwR/IAYgDXAFIAYLIA5GDQEMBAsgAygCCCAJRg0CCyADKAIAIgMNAAsMAQsCQCARRQRAIAogD3EhCgwBCyAKIA1JDQAgCiANcCEKCyAHIApBAnRqIg4oAgAhBgNAIAYiCSgCACIGIANHDQALAkAgCSAXRwRAIAkoAgQhBgJAIBFFBEAgBiAPcSEGDAELIAYgDUkNACAGIA1wIQYLIAYgCkYNAQsgAygCACIGBEAgBigCBCEGAkAgEUUEQCAGIA9xIQYMAQsgBiANSQ0AIAYgDXAhBgsgBiAKRg0BCyAOQQA2AgALAkAgAygCACIGRQRAQQAhBgwBCyAGKAIEIQ4CQCARRQRAIA4gD3EhDgwBCyANIA5LDQAgDiANcCEOCyAKIA5GDQAgAigCeCAOQQJ0aiAJNgIAIAMoAgAhBgsgCSAGNgIAIAIgAigChAFBAWs2AoQBIAMQWgsgBEEEaiIEIBVHDQALIAIoAoADIQQLIAQEQCACIAQ2AoQDIAQQWgsgFA0BC0EAIQVB1IkLQQA2AgBB4gkgAkGIAmogAhADQdSJCygCACE2QdSJC0EANgIAIDZBAUYNAgsgAigCcBBgIAIoAmQQYCACKAJAEGAgAigCNBBgIAIoAigQbyACKAIcEG8gAigCCCIDRQ0HIAMgAygCBCIEQQFrNgIEIAQNByADIAMoAgAoAggRAQAgAxB1DAcLEAAhAQwDCxAAIQEMBAsQACEBDAELEAAhASACKALkAyIARQ0AIAIgADYC6AMgABBaCyACKAKAAyIARQ0BIAIgADYChAMgABBaIAIQ3wEaDAcLEAAhASACKALkAyIABEAgAiAANgLoAyAAEFoLIAIoAoADIgBFDQAgAiAANgKEAyAAEFogAhDfARoMBgsgAhDfARoMBQsgBUEFRw0BCwsCQCAIIAxGDQAgACgCfCEBQdSJC0EANgIAQQwgAUGoAWoiAUEgQQQQBCEFQdSJCygCACEDQdSJC0EANgIAAkACQAJAIANBAUYNACAFQgA3AgQgBUEBNgIAIAVCADcCDCAFQQA2AhQgBSABNgIcIAUgCCAMayIDQQJ1IgQ2AhhB1IkLQQA2AgBBDCABIANBBBAEIQFB1IkLKAIAITdB1IkLQQA2AgAgN0EBRg0AIAUgATYCEEEAIQEgDCEDA0AgBSgCECABQQJ0aiADKAIANgIAIAFBAWohASADQQRqIgMgCEcNAAsgBSAENgIUQdSJC0EANgIAQYMDIAVBAEEAQQAQBUHUiQsoAgAhOEHUiQtBADYCACA4QQFGDQAgBSgCECEDAkAgBSgCFCIBIAUoAhhHBEAgAyEGDAELIAUgAUEBdEECaiIENgIYIAUoAhwhB0EAIQFB1IkLQQA2AgBBDCAHIARBAnRBBBAEIQZB1IkLKAIAITlB1IkLQQA2AgAgOUEBRg0BIAUgBjYCECAFKAIUIgRFDQBBACESIARBBE8EQCAEQXxxIQYDQCABQQJ0IgcgBSgCEGogAyAHaigCADYCACAHQQRyIgggBSgCEGogAyAIaigCADYCACAHQQhyIgggBSgCEGogAyAIaigCADYCACAHQQxyIgcgBSgCEGogAyAHaigCADYCACABQQRqIgEgBkcNAAsLIARBA3EiBwRAA0AgAUECdCIGIAUoAhBqIAMgBmooAgA2AgAgAUEBaiEBIBJBAWoiEiAHRw0ACwsgBSgCECEGIAQhAQsgBiABQQJ0aiATNgIAIAUgAUEBajYCFCATKAIEIQFB1IkLQQA2AgBBgwMgBSABQQFBABAFQdSJCygCACE6QdSJC0EANgIAIDpBAUYNACACIAU2AowDAkAgACgCeCIBRQ0AIAEoAmxFDQAgAUHgAGohBgJAIAEoAmQiB0UNACAFQZXTx94FbCIBQRh2IAFzQZXTx94FbEHUzJ76BnMiAUENdiABc0GV08feBWwiAUEPdiABcyEEAkAgB2kiCEEBTQRAIAdBAWsgBHEhAwwBCyAEIgMgB0kNACADIAdwIQMLIAYoAgAgA0ECdGooAgAiAUUNACABKAIAIgFFDQAgCEEBTQRAIAdBAWshCANAAkAgASgCBCIJIARHBEAgCCAJcSADRg0BDAQLIAEoAgggBUYNBAsgASgCACIBDQALDAELA0ACQCABKAIEIgggBEcEQCAHIAhNBH8gCCAHcAUgCAsgA0YNAQwDCyABKAIIIAVGDQMLIAEoAgAiAQ0ACwsgB0UNACAAKAIUKAIAIglBldPH3gVsIgFBGHYgAXNBldPH3gVsQdTMnvoGcyIBQQ12IAFzQZXTx94FbCIBQQ92IAFzIQQCQCAHaSIIQQFNBEAgBCAHQQFrcSEDDAELIAQiAyAHSQ0AIAMgB3AhAwsgBigCACADQQJ0aigCACIBRQ0AIAEoAgAiAUUNAAJAIAhBAU0EQCAHQQFrIQcDQAJAIAQgASgCBCIIRwRAIAcgCHEgA0YNAQwFCyABKAIIIAlGDQMLIAEoAgAiAQ0ACwwCCwNAAkAgBCABKAIEIghHBEAgByAITQR/IAggB3AFIAgLIANGDQEMBAsgASgCCCAJRg0CCyABKAIAIgENAAsMAQtB1IkLQQA2AgBB7QEgAiAGIAUgAkGMA2oQBUHUiQsoAgAhO0HUiQtBADYCACA7QQFGDQEgAigCACIDIAEoAhQ2AhQgAyABKQIMNwIMCyAAKAIUIAU2AgAgACgCsAEiASAAKAKsAUcNAiAAKAKAASIBDQFB1IkLQQA2AgBBDUHexAVBsJQDQdoAQf37AhAFQdSJCygCACE8QdSJC0EANgIAIDxBAUcNDQsQACEBDAULIAFBAnQgAGogBTYCgAEMAQsgAUEEayAFNgIACyALBEAgCxBaCyACKAKAASIBBEADQCABKAIAIT0gARBaID0iAQ0ACwsgAigCeCEAIAJBADYCeCAABEAgABBaCyAQBEAgEBBaCyACKAKAAhBgIAIoAvQBEGAgAigC0AEQYCACKALEARBgIAIoArgBEG8gAigCrAEQbwJAIAIoApgBIgBFDQAgACAAKAIEIgFBAWs2AgQgAQ0AIAAgACgCACgCCBEBACAAEHULIAIoAvgCEGAgAigC7AIQYCACKALIAhBgIAIoArwCEGAgAigCsAIQbyACKAKkAhBvAkAgAigCkAIiAEUNACAAIAAoAgQiAUEBazYCBCABDQAgACAAKAIAKAIIEQEAIAAQdQsgDARAIAwQWgsgAkGABGokAA8LEAAhAUEAIQwMBQtB1IkLKAIAIT5B1IkLQQA2AgAgPkEBRw0HEAAhAQsgC0UNAyALEFoMAwsQACEBDAELEAAhASACKAJYIgBFDQAgAiAANgJcIAAQWgsgAigCjAMiAARAIAIgADYCkAMgABBaC0EAIQwLIAJB+ABqEKIBIBBFDQEgEBBaDAELEAAhAUEAIQwLIAJBkAFqEN8BGiACQYgCahDfARogDARAIAwQWgsgARAHAAsACxwAQbwBEFwiAEEAQbwB/AsAIABB7OsHNgIAIAALYAEBfyMAQSBrIgMkACADIAIQbDYCHCADIAI2AhggAyADKQIYNwMAIANBEGogAxBlIAMgATYCDCADQRhqIABBlAFqIAEgA0EMahCVCiADKAIYIAMpAxA3AgwgA0EgaiQAC6QBAQN/IwBB4ABrIgMkAAJAIAAoAgQEQCAAIAI2AnggACABNgJ8IAAgA0EIaiACIAEQlAQiATYCuAFB1IkLQQA2AgBB/9kAIABBFGogAkEwahADQdSJCygCACEEQdSJC0EANgIAIARBAUYNASABEN8CGiAAQgA3AnggA0HgAGokAA8LQej6BUG6iwNBnARB7tMCEAEACxAAIQUgARDfAhogBRAHAAvuIgEQfyABKAIABEACQCAAQRhqIgdBgdoAIAEQWyAAIQMCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAIgIoAgAOXgABAgMEBQYHCAkKCwwNHh8gISIjJCU1Ng4PEBESExQVFhcYGRobHB03JicoKSorLC0uLzAxMjM0ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXABvC0GY/QNB5bMDQeoBEGIACyADQRRqQYPaACABEFggAigCAEEBRw1bIAIoAhQiAEEATA1tIANBGGohBQNAIABBAWsiAyACKAIUTw1dIAIoAhAgA0ECdGoiBCgCAEUNbyAFQYDaACAEEFsgAEEBSyEIIAMhACAIDQALDG0LIANBFGoiAEGE2gAgARBYIAIoAgBBAkcNWiACKAIQBEAgA0EYakGA2gAgAkEQahBbCyAAQYDaACACQQxqEFggAEGA2gAgAkEIahBYDGwLIANBFGoiAEGF2gAgARBYIAIoAgBBA0cNWQxeCyADQRRqQYbaACABEFggAigCAEEERw1YIAIoAhQEQCADQRhqQYDaACACQRRqEFsLIAIoAhBFDWogA0EYakGA2gAgAkEQahBbDGoLIANBFGoiAEGH2gAgARBYIAIoAgBBBUcNVyAAQYDaACACQSRqEFggAigCIEUNaSADQRhqQYDaACACQSBqEFsMaQsgA0EUakGI2gAgARBYIAIoAgBBBkcNViACKAIMIgBBAEwNaCADQRhqIQUDQCAAQQFrIgMgAigCDE8NWCACKAIIIANBAnRqIgQoAgBFDWogBUGA2gAgBBBbIABBAUshCSADIQAgCQ0ACwxoCyADQRRqIgBBidoAIAEQWCACKAIAQQdHDVUgAEGA2gAgAkEcahBYIAIoAhAiAEEATA1nIANBGGohBQNAIABBAWsiAyACKAIQTw1XIAIoAgwgA0ECdGoiBCgCAEUNaSAFQYDaACAEEFsgAEEBSyEKIAMhACAKDQALDGcLIANBFGpBitoAIAEQWCACKAIAQQhGDWYMVAsgA0EUaiIAQYvaACABEFggAigCAEEJRw1TDFsLIANBFGpBjNoAIAEQWCACKAIAQQpGDWQMUgsgA0EUaiIAQY3aACABEFggAigCAEELRw1RDFYLIANBFGoiAEGO2gAgARBYIAIoAgBBDEcNUAxaCyADQRRqIgBBj9oAIAEQWCACKAIAQQ1HDU8MWAsgA0EUaiIAQZDaACABEFggAigCAEEYRw1ODFkLIANBFGoiAEGR2gAgARBYIAIoAgBBGUcNTSAAQYDaACACQSBqEFgMWAsgA0EUaiIAQZLaACABEFggAigCAEEaRw1MDE8LIANBFGoiAEGT2gAgARBYIAIoAgBBG0cNSwxPCyADQRRqQZTaACABEFggAigCAEEcRg1cDEoLIANBFGoiAEGV2gAgARBYIAIoAgBBHUcNSQxRCyADQRRqIgBBltoAIAEQWCACKAIAQR5HDUggAEGA2gAgAkEUahBYDFALIANBFGoiAEGX2gAgARBYIAIoAgBBH0cNRwxVCyADQRRqIgBBmNoAIAEQWCACKAIAQSBHDUYMTAsgA0EUaiIAQZnaACABEFggAigCAEEhRw1FDEwLIANBFGoiAEGa2gAgARBYIAIoAgBBIkcNRCAAQYDaACACQSBqEFgMVgsgA0EUaiIAQZvaACABEFggAigCAEEjRw1DDEwLIANBFGoiAEGc2gAgARBYIAIoAgBBJEcNQgxFCyADQRRqQZ3aACABEFggAigCAEElRg1TDEELIANBFGoiAEGe2gAgARBYIAIoAgBBJkcNQAxNCyADQRRqIgBBn9oAIAEQWCACKAIAQSdHDT8MTAsgA0EUakGg2gAgARBYIAIoAgBBDkYNUAw+CyADQRRqIgBBodoAIAEQWCACKAIAQQ9HDT0MRQsgA0EUaiIAQaLaACABEFggAigCAEEQRw08DEMLIANBFGoiAEGj2gAgARBYIAIoAgBBEUcNOwxICyADQRRqIgBBpNoAIAEQWCACKAIAQRJHDToMSQsgA0EUakGl2gAgARBYIAIoAgBBE0cNOQxJCyADQRRqQabaACABEFggAigCAEEURg1KDDgLIANBFGoiAEGn2gAgARBYIAIoAgBBFUcNNwxGCyADQRRqQajaACABEFggAigCAEEpRg1IDDYLIANBFGoiAEGp2gAgARBYIAIoAgBBKkcNNQxECyADQRRqQaraACABEFggAigCAEErRg1GDDQLIANBFGoiAEGr2gAgARBYIAIoAgBBLEcNMwxBCyADQRRqIgBBrNoAIAEQWCACKAIAQS1HDTIMNwsgA0EUaiIAQa3aACABEFggAigCAEEuRw0xDDULIANBFGpBrtoAIAEQWCACKAIAQS9GDUIMMAsgA0EUaiIAQa/aACABEFggAigCAEEwRw0vDDMLIANBFGoiAEGw2gAgARBYIAIoAgBBMUcNLgwxCyADQRRqIgBBsdoAIAEQWCACKAIAQTJHDS0MOgsgA0EUaiIFQbLaACABEFggAigCAEEzRw0sIAIoAigiAEEASgRAIANBGGohBANAIABBAWsiAyACKAIoTw0vIAIoAiQgA0ECdGoiBigCAEUNQSAEQYDaACAGEFsgAEEBSyELIAMhACALDQALCyAFQYDaACACQRBqEFgMPgsgA0EUaiIAQbPaACABEFggAigCAEE0Rg06DCsLIANBFGpBtNoAIAEQWCACKAIAQTVHDSogAigCFCIAQQBMDTwgA0EYaiEFA0AgAEEBayIDIAIoAhRPDSwgAigCECADQQJ0aiIEKAIARQ0+IAVBgNoAIAQQWyAAQQFLIQwgAyEAIAwNAAsMPAsgA0EUakG12gAgARBYIAIoAgBBNkYNOwwpCyADQRRqIgBBttoAIAEQWCACKAIAQTdHDSgMNwsgA0EUakG32gAgARBYIAIoAgBBFkYNOQwnCyADQRRqQbjaACABEFggAigCAEEXRg04DCYLIANBFGpBudoAIAEQWCACKAIAQShGDTcMJQsgA0EUakG62gAgARBYIAIoAgBBOEcNJCACKAIMIgBBAEwNNiADQRhqIQUDQCAAQQFrIgMgAigCDE8NJiACKAIIIANBAnRqIgQoAgBFDTggBUGA2gAgBBBbIABBAUshDSADIQAgDQ0ACww2CyADQRRqIgBBu9oAIAEQWCACKAIAQTlHDSMMMgsgA0EUaiIAQbzaACABEFggAigCAEE6Rw0iDDELIANBFGoiAEG92gAgARBYIAIoAgBBO0cNIQwwCyADQRRqIgBBvtoAIAEQWCACKAIAQTxHDSAgAEGA2gAgAkEYahBYIAIoAgwiAEEATA0yIANBGGohBQNAIABBAWsiAyACKAIMTw0iIAIoAgggA0ECdGoiBCgCAEUNNCAFQYDaACAEEFsgAEEBSyEOIAMhACAODQALDDILIANBFGoiAEG/2gAgARBYIAIoAgBBPUcNHwwuCyADQRRqIgBBwNoAIAEQWCACKAIAQT5HDR4MLQsgA0EUaiIAQcHaACABEFggAigCAEE/Rw0dIABBgNoAIAJBFGoQWAwvCyADQRRqQcLaACABEFggAigCAEHAAEcNHCACKAIMIgBBAEwNLiADQRhqIQUDQCAAQQFrIgMgAigCDE8NHiACKAIIIANBAnRqIgQoAgBFDTAgBUGA2gAgBBBbIABBAUshDyADIQAgDw0ACwwuCyADQRRqIgBBw9oAIAEQWCACKAIAQcEARw0bDCMLIANBFGoiAEHE2gAgARBYIAIoAgBBwgBHDRoMIQsgA0EUaiIAQcXaACABEFggAigCAEHDAEcNGSAAQYDaACACQQxqEFgMKQsgA0EUaiIAQcbaACABEFggAigCAEHEAEcNGAwcCyADQRRqIgBBx9oAIAEQWCACKAIAQcUARw0XDBsLIANBFGpByNoAIAEQWCACKAIAQcYARw0WIAIoAgwiAEEATA0oIANBGGohBQNAIABBAWsiAyACKAIMTw0YIAIoAgggA0ECdGoiBCgCAEUNKiAFQYDaACAEEFsgAEEBSyEQIAMhACAQDQALDCgLIANBFGoiAEHJ2gAgARBYIAIoAgBBxwBHDRUMIwsgA0EUaiIAQcraACABEFggAigCAEHIAEcNFAwhCyADQRRqIgBBy9oAIAEQWCACKAIAQckARw0TDCILIANBFGoiAEHM2gAgARBYIAIoAgBBygBHDRIgAEGA2gAgAkEYahBYDB4LIANBFGoiAEHN2gAgARBYIAIoAgBBywBHDREMHQsgA0EUaiIAQc7aACABEFggAigCAEHMAEcNEAwSCyADQRRqIgBBz9oAIAEQWCACKAIAQc0ARw0PDBELIANBFGoiAEHQ2gAgARBYIAIoAgBBzgBHDQ4MFgsgA0EUaiIAQdHaACABEFggAigCAEHPAEcNDSACKAIYBEAgA0EYakGA2gAgAkEYahBbCyACKAIUBEAgA0EYakGA2gAgAkEUahBbCyACKAIQBEAgA0EYakGA2gAgAkEQahBbCwweCyADQRRqQdLaACABEFggAigCAEHQAEYNHgwMCyADQRRqIgBB09oAIAEQWCACKAIAQdEARw0LDBMLIANBFGoiAEHU2gAgARBYIAIoAgBB0gBHDQogAigCFARAIANBGGpBgNoAIAJBFGoQWwsgAEGA2gAgAkEQahBYDBsLIANBFGoiAEHV2gAgARBYIAIoAgBB0wBHDQkMFwsgA0EUaiIAQdbaACABEFggAigCAEHUAEcNCAwPCyADQRRqIgBB19oAIAEQWCACKAIAQdUARw0HDA8LIANBFGoiAEHY2gAgARBYIAIoAgBB1gBHDQYMEwsgA0EUaiIAQdnaACABEFggAigCAEHXAEcNBQwTCyADQRRqIgBB2toAIAEQWCACKAIAQdgARw0EDBMLIANBFGoiAEHb2gAgARBYIAIoAgBB2QBHDQMMCgsgA0EUaiIAQdzaACABEFggAigCAEHaAEcNAgwICyADQRRqIgBB3doAIAEQWCACKAIAQdsARw0BDA8LIANBFGoiAEHe2gAgARBYIAIoAgBB3ABHDQAgAEGA2gAgAkE8ahBYIAIoAjAiAEEATA0SIANBGGohBQNAIABBAWsiAyACKAIwTw0CIAIoAiwgA0ECdGoiBCgCAEUNFCAFQYDaACAEEFsgAEEBSyERIAMhACARDQALDBILQfDtBUHFmANBlAZBjd4AEAEAC0HFogFBiaIDQbwBQaaIBRABAAsgAEGA2gAgAkEcahBYCyAAQYDaACACQRhqEFgLIABBgNoAIAJBFGoQWAsgAEGA2gAgAkEQahBYDAwLIABBgNoAIAJBFGoQWAsgAEGA2gAgAkEQahBYCyAAQYDaACACQQxqEFgMCQsgAEGA2gAgAkEoahBYCyAAQYDaACACQSRqEFgMBwsgAEGA2gAgAkEcahBYIABBgNoAIAJBGGoQWAwGCyAAQYDaACACQRRqEFgLIABBgNoAIAJBEGoQWAsgAEGA2gAgAkEMahBYCyAAQYDaACACQQhqEFgMAgsgAigCCEUNASADQRhqQYDaACACQQhqEFsMAQsgAEGA2gAgAkEMahBYCyABKAIARQ0AIAdBgtoAIAEQWw8LC0GBgwJB05kDQbkCQa73AhABAAvFEAEafyMAQbACayICJAACQAJAAkACQAJAAkACQAJAAkACQAJAIAAoAgQEQCAAIAAoAgAoAhARAgAEQCACIAAoAgQiAykCODcD+AEgAiADKQIwNwPwASACIAMpAig3A+gBIAIgAykCIDcD4AEgAiADKQIYNwPYASACQYACaiADQUBrEOMBIQRB1IkLQQA2AgBBmgEgAkGUAmogA0HUAGoQAiEFQdSJCygCACERQdSJC0EANgIAIBFBAUYNAiACIAMoAmg2AqgCIAIgAygCbCIDNgKsAiADBEAgAyADKAIEQQFqNgIECyACQQEgAigC4AEiAyADQQBKGzYC4AEgAiACKQPoATcDGCACIAIpA/ABNwMgIAIgAikD+AE3AyggAiACKQPgATcDECACQQEgAigC3AEiAyADQQBKGzYC3AFB1IkLQQA2AgAgAiACKQPYATcDCEGbASACQTBqIAQQAiEEQdSJCygCACEDQdSJC0EANgIAAkAgA0EBRwRAQdSJC0EANgIAQZoBIAJBxABqIAUQAiEFQdSJCygCACESQdSJC0EANgIAIBJBAUYNBSACIAIoAqwCIgM2AlwgAiACKAKoAjYCWCADBEAgAyADKAIEQQFqNgIECyACQQA2AnggAiACKQMQNwKEASACIAIpAxg3AowBIAIgAikDIDcClAEgAiACKQMoNwKcASACQgA3AnAgAkH87Ak2AmQgAiACKQMINwJ8QdSJC0EANgIAIAIgATYCaCACIAFBqAFqNgJsQZsBIAJBpAFqIAQQAiEBQdSJCygCACEDQdSJC0EANgIAAkAgA0EBRwRAQdSJC0EANgIAQZoBIAJBuAFqIAUQAhpB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRwRAIAIgAigCWDYCzAEgAiACKAJcIgE2AtABIAEEQCABIAEoAgRBAWo2AgQLIAJBADsB1AEgAkEIahBhIAJBAToA1AEgACgCACgCFCEUQdSJC0EANgIAIBQgABAGIQBB1IkLKAIAIRVB1IkLQQA2AgAgFUEBRg0EIAIoAmQoAgghFkHUiQtBADYCACAWIAJB5ABqIgEgABADQdSJCygCACEXQdSJC0EANgIAIBdBAUYNBEHUiQtBADYCAEGXASABEApB1IkLKAIAIRhB1IkLQQA2AgAgGEEBRg0EIAJB/OwJNgJkIAJB/ABqEGEgAigCcCIBBEAgAigCdCIAIAEiA0cEQANAIABBBGsiACgCACEDIABBADYCACADBEAgAyADKAIAKAIEEQEACyAAIAFHDQALIAIoAnAhAwsgAiABNgJ0IAMQWgsgAkHYAWoQYQwQCxAAIQAgARBrDAELEAAhAAsgAkHwAGoQ4AEgAkEIahBhDA4LEAAhAAwNCxAAIQAgAkHkAGoQfBoMDAsgACABNgJ8IABBFGohCSABKAIYIgMgASgCHCIERwRAA0AgAygCACIFKAIMRQRAIAkgBUEgahCmCAsgA0EEaiIDIARHDQALCyABKAIMIgMgASgCECIGRwRAA0AgAygCACIEKAIMRQRAIAAgBDYCeCAAIAJB5ABqIAQgACgCfBCUBCIFNgK4AUHUiQtBADYCAEH/2QAgCSAEQTBqEANB1IkLKAIAIRlB1IkLQQA2AgAgGUEBRgRAEAAhGiAFEN8CGiAaEAcACyAFEN8CGiAAQQA2AngLIANBBGoiAyAGRw0ACwsgASgCMCIKIAEoAjQiDkYNCSAAQRxqIQ0DQCAKKAIAIgMoAgwEQCAJIANBFGoQpggLIAMoAhwiCyADKAIgIg9HBEAgACgCbCEGIAAoAnAhBCAAKAIYIQUDQCACIAsoAgAiBzYCZCAEIAZrIhBBA3UiA0EAIAVrRw0GIAdFDQcCQCAFQQlNBEAgACAFQQFqIgY2AhggDSAFQQN0aiIDQYDaADYCACADIAJB5ABqNgIEIAQhAyAGIQUMAQsgACgCdCIIIARLBEAgBEGA2gA2AgAgBCACQeQAajYCBCAAIARBCGoiAzYCcAwBCyADQQFqIgdBgICAgAJPDQlB/////wEgCCAGayIIQQJ1IgwgByAHIAxJGyAIQfj///8HTxsiB0GAgICAAk8NCiAQIAdBA3QiDBBcIghqIgdBgNoANgIAIAggA0EDdGogAkHkAGo2AgQgB0EIaiEDIAQgBkcEQANAIAdBCGsiByAEQQhrIgQpAgA3AgAgBCAGRw0ACwsgACAIIAxqNgJ0IAAgAzYCcCAAIAc2AmwgBkUNACAGEFogACgCcCEDIAAoAhghBQtBACAFayADIAAoAmwiBmtBA3VHBEADQAJAIAMgBkYEQCAFRQ0OIA0gBUEBayIEQQN0aiIFKAIEIQMgBSgCACEGIAAgBDYCGAwBCyADQQhrIgQoAgAhBiAEKAIEIQMgACAENgJwCyAJIAM2AgAgAygCAEUNDSAAIAMgBhEAAEEAIAAoAhgiBWsgACgCcCIDIAAoAmwiBmtBA3VHDQALCyADIQQgC0EEaiILIA9HDQALCyAKQQRqIgogDkcNAAsMCQtB6PoFQbqLA0H8A0HaywIQAQALEAAhGyAEEGsgGxAHAAsQACEAIAQQawwIC0HNygVB05kDQcgCQdD4AhABAAtBgYMCQdOZA0G5AkGu9wIQAQALEGQACxBqAAtB3sQFQbCUA0HaAEH9+wIQAQALQfWCAkHTmQNBzQJB0PgCEAEACyABKAJIIgMgASgCTCIBRwRAA0AgAygCACIELQAURQRAIAkgBEEYahCmCAsgA0EEaiIDIAFHDQALCyAAQQA2AnwLIAJBsAJqJAAPCyACQdgBahBhIAAQBwALtQUBCH8jAEEQayIGJAAgASgCACIBKAIAQRNGBEAgBiAAKAJ8IAEQ8AUiBzYCBAJAIAAoAngiAUUNACABKAJsRQ0AIAFB4ABqIQkCQCABKAJkIgJFDQAgB0GV08feBWwiAUEYdiABc0GV08feBWxB1Mye+gZzIgFBDXYgAXNBldPH3gVsIgFBD3YgAXMhBQJAIAJpIgNBAU0EQCACQQFrIAVxIQQMAQsgBSIEIAJJDQAgBCACcCEECyAJKAIAIARBAnRqKAIAIgFFDQAgASgCACIBRQ0AIANBAU0EQCACQQFrIQMDQAJAIAEoAgQiCCAFRwRAIAMgCHEgBEYNAQwECyABKAIIIAdGDQQLIAEoAgAiAQ0ACwwBCwNAAkAgASgCBCIDIAVHBEAgAiADTQR/IAMgAnAFIAMLIARGDQEMAwsgASgCCCAHRg0DCyABKAIAIgENAAsLIAJFDQAgACgCFCgCACIIQZXTx94FbCIBQRh2IAFzQZXTx94FbEHUzJ76BnMiAUENdiABc0GV08feBWwiAUEPdiABcyEFAkAgAmkiA0EBTQRAIAUgAkEBa3EhBAwBCyAFIgQgAkkNACAEIAJwIQQLIAkoAgAgBEECdGooAgAiAUUNACABKAIAIgFFDQACQCADQQFNBEAgAkEBayECA0ACQCAFIAEoAgQiA0cEQCACIANxIARGDQEMBQsgASgCCCAIRg0DCyABKAIAIgENAAsMAgsDQAJAIAUgASgCBCIDRwRAIAIgA00EfyADIAJwBSADCyAERg0BDAQLIAEoAgggCEYNAgsgASgCACIBDQALDAELIAZBCGogCSAHIAZBBGoQeCAGKAIIIgQgASgCFDYCFCAEIAEpAgw3AgwLIAAoAhQgBzYCACAGQRBqJAAPC0Hw7QVBxZgDQZQGQY3eABABAAs2ACABKAIAIgEoAgBBA0cEQEHw7QVBxZgDQZQGQY3eABABAAsgASAAKAJ8IAEoAhAQ8AU2AhALywEBAn8CQCAAKAIEBEAgACACNgJ4IAAgATYCfCAAQRRqIAIiAUEwahD1BiACKAIMRQRAAkAgAigCMCICKAIAQQFHDQAgAigCFCIDRQ0AIAAoAnwgAigCECADQQJ0akEEaygCABDwBSEDIAIoAhQiBEUNAyACKAIQIARBAnRqQQRrIAM2AgAgASgCMCECCyABIAAoAnwgAhDwBTYCMAsgAEIANwJ4DwtB6PoFQbqLA0GcBEHu0wIQAQALQbTEBUGJogNB0AFB/fsCEAEAC74iAQ5/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAIgIoAgAOXgABAgMEBQYHCAkKCwwNHh8gISIjJCU1Ng4PEBESExQVFhcYGRobHB03JicoKSorLC0uLzAxMjM0ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXABdC0GY/QNB5bMDQeoBEGIACyAAQRRqQaPZACABEFggAigCAEEBRw1cIAIoAhQiAUEATA1bIABBGGohAwNAIAFBAWsiACACKAIUTw1eIAIoAhAgAEECdGoiBCgCAEUNXyADQaLZACAEEFsgAUEBSyEGIAAhASAGDQALDFsLIABBFGoiA0Gk2QAgARBYIAIoAgBBAkcNWyACKAIQBEAgAEEYakGi2QAgAkEQahBbCyADQaLZACACQQxqEFggA0Gi2QAgAkEIahBYDwsgAEEUaiIAQaXZACABEFggAigCAEEDRw1aDGALIABBFGpBptkAIAEQWCACKAIAQQRHDVkgAigCFARAIABBGGpBotkAIAJBFGoQWwsgAigCEEUNWCAAQRhqQaLZACACQRBqEFsPCyAAQRRqIgNBp9kAIAEQWCACKAIAQQVHDVggA0Gi2QAgAkEkahBYIAIoAiBFDVcgAEEYakGi2QAgAkEgahBbDwsgAEEUakGo2QAgARBYIAIoAgBBBkcNVyACKAIMIgFBAEwNViAAQRhqIQMDQCABQQFrIgAgAigCDE8NWSACKAIIIABBAnRqIgQoAgBFDVogA0Gi2QAgBBBbIAFBAUshByAAIQEgBw0ACwxWCyAAQRRqIgNBqdkAIAEQWCACKAIAQQdHDVYgA0Gi2QAgAkEcahBYIAIoAhAiAUEATA1VIABBGGohAwNAIAFBAWsiACACKAIQTw1YIAIoAgwgAEECdGoiBCgCAEUNWSADQaLZACAEEFsgAUEBSyEIIAAhASAIDQALDFULIABBFGpBqtkAIAEQWCACKAIAQQhGDVQMVQsgAEEUaiIAQavZACABEFggAigCAEEJRw1UDF0LIABBFGpBrNkAIAEQWCACKAIAQQpGDVIMUwsgAEEUaiIAQa3ZACABEFggAigCAEELRw1SDFgLIABBFGoiAEGu2QAgARBYIAIoAgBBDEcNUQxcCyAAQRRqIgBBr9kAIAEQWCACKAIAQQ1HDVAMWgsgAEEUaiIAQbDZACABEFggAigCAEEYRw1PDFsLIABBFGoiAEGx2QAgARBYIAIoAgBBGUcNTiAAQaLZACACQSBqEFgMWgsgAEEUaiIAQbLZACABEFggAigCAEEaRw1NDFELIABBFGoiAEGz2QAgARBYIAIoAgBBG0cNTAxRCyAAQRRqQbTZACABEFggAigCAEEcRg1KDEsLIABBFGoiAEG12QAgARBYIAIoAgBBHUcNSgxTCyAAQRRqIgBBttkAIAEQWCACKAIAQR5HDUkgAEGi2QAgAkEUahBYDFILIABBFGoiAEG32QAgARBYIAIoAgBBH0cNSAxXCyAAQRRqIgBBuNkAIAEQWCACKAIAQSBHDUcMTgsgAEEUaiIAQbnZACABEFggAigCAEEhRw1GDE4LIABBFGoiAEG62QAgARBYIAIoAgBBIkcNRSAAQaLZACACQSBqEFgPCyAAQRRqIgBBu9kAIAEQWCACKAIAQSNHDUQMTgsgAEEUaiIAQbzZACABEFggAigCAEEkRw1DDEcLIABBFGpBvdkAIAEQWCACKAIAQSVGDUEMQgsgAEEUaiIAQb7ZACABEFggAigCAEEmRw1BDE8LIABBFGoiAEG/2QAgARBYIAIoAgBBJ0cNQAxOCyAAQRRqQcDZACABEFggAigCAEEORg0+DD8LIABBFGoiAEHB2QAgARBYIAIoAgBBD0cNPgxHCyAAQRRqIgBBwtkAIAEQWCACKAIAQRBHDT0MRQsgAEEUaiIAQcPZACABEFggAigCAEERRw08DEoLIABBFGoiAEHE2QAgARBYIAIoAgBBEkcNOwxLCyAAQRRqQcXZACABEFggAigCAEETRw06IAIoAghFDTkMSwsgAEEUakHG2QAgARBYIAIoAgBBFEYNOAw5CyAAQRRqIgBBx9kAIAEQWCACKAIAQRVHDTgMSAsgAEEUakHI2QAgARBYIAIoAgBBKUYNNgw3CyAAQRRqIgBBydkAIAEQWCACKAIAQSpHDTYMRgsgAEEUakHK2QAgARBYIAIoAgBBK0YNNAw1CyAAQRRqIgBBy9kAIAEQWCACKAIAQSxHDTQMQwsgAEEUaiIAQczZACABEFggAigCAEEtRw0zDDkLIABBFGoiAEHN2QAgARBYIAIoAgBBLkcNMgw3CyAAQRRqQc7ZACABEFggAigCAEEvRg0wDDELIABBFGoiAEHP2QAgARBYIAIoAgBBMEcNMAw1CyAAQRRqIgBB0NkAIAEQWCACKAIAQTFHDS8MMwsgAEEUaiIAQdHZACABEFggAigCAEEyRw0uDDwLIABBFGoiA0HS2QAgARBYIAIoAgBBM0cNLSACKAIoIgFBAEoEQCAAQRhqIQQDQCABQQFrIgAgAigCKE8NMCACKAIkIABBAnRqIgUoAgBFDTEgBEGi2QAgBRBbIAFBAUshCSAAIQEgCQ0ACwsgA0Gi2QAgAkEQahBYDwsgAEEUaiIAQdPZACABEFggAigCAEE0RgRADD0LDCwLIABBFGpB1NkAIAEQWCACKAIAQTVHDSsgAigCFCIBQQBMDSogAEEYaiEDA0AgAUEBayIAIAIoAhRPDS0gAigCECAAQQJ0aiIEKAIARQ0uIANBotkAIAQQWyABQQFLIQogACEBIAoNAAsMKgsgAEEUakHV2QAgARBYIAIoAgBBNkYNKQwqCyAAQRRqIgBB1tkAIAEQWCACKAIAQTdHDSkMOQsgAEEUakHX2QAgARBYIAIoAgBBFkYNJwwoCyAAQRRqQdjZACABEFggAigCAEEXRg0mDCcLIABBFGpB2dkAIAEQWCACKAIAQShGDSUMJgsgAEEUakHa2QAgARBYIAIoAgBBOEcNJSACKAIMIgFBAEwNJCAAQRhqIQMDQCABQQFrIgAgAigCDE8NJyACKAIIIABBAnRqIgQoAgBFDSggA0Gi2QAgBBBbIAFBAUshCyAAIQEgCw0ACwwkCyAAQRRqIgBB29kAIAEQWCACKAIAQTlHDSQMNAsgAEEUaiIAQdzZACABEFggAigCAEE6Rw0jDDMLIABBFGoiAEHd2QAgARBYIAIoAgBBO0cNIgwyCyAAQRRqIgNB3tkAIAEQWCACKAIAQTxHDSEgA0Gi2QAgAkEYahBYIAIoAgwiAUEATA0gIABBGGohAwNAIAFBAWsiACACKAIMTw0jIAIoAgggAEECdGoiBCgCAEUNJCADQaLZACAEEFsgAUEBSyEMIAAhASAMDQALDCALIABBFGoiAEHf2QAgARBYIAIoAgBBPUcNIAwwCyAAQRRqIgBB4NkAIAEQWCACKAIAQT5HDR8MLwsgAEEUaiIAQeHZACABEFggAigCAEE/Rw0eIABBotkAIAJBFGoQWA8LIABBFGpB4tkAIAEQWCACKAIAQcAARw0dIAIoAgwiAUEATA0cIABBGGohAwNAIAFBAWsiACACKAIMTw0fIAIoAgggAEECdGoiBCgCAEUNICADQaLZACAEEFsgAUEBSyENIAAhASANDQALDBwLIABBFGoiAEHj2QAgARBYIAIoAgBBwQBHDRwMJQsgAEEUaiIAQeTZACABEFggAigCAEHCAEcNGwwjCyAAQRRqIgNB5dkAIAEQWCACKAIAQcMARw0aIANBotkAIAJBDGoQWCACKAIIRQ0ZDCsLIABBFGoiAEHm2QAgARBYIAIoAgBBxABHDRkMHgsgAEEUaiIAQefZACABEFggAigCAEHFAEcNGAwdCyAAQRRqQejZACABEFggAigCAEHGAEcNFyACKAIMIgFBAEwNFiAAQRhqIQMDQCABQQFrIgAgAigCDE8NGSACKAIIIABBAnRqIgQoAgBFDRogA0Gi2QAgBBBbIAFBAUshDiAAIQEgDg0ACwwWCyAAQRRqIgBB6dkAIAEQWCACKAIAQccARw0WDCULIABBFGoiAEHq2QAgARBYIAIoAgBByABHDRUMIwsgAEEUaiIAQevZACABEFggAigCAEHJAEcNFAwkCyAAQRRqIgBB7NkAIAEQWCACKAIAQcoARw0TIABBotkAIAJBGGoQWAwgCyAAQRRqIgBB7dkAIAEQWCACKAIAQcsARw0SDB8LIABBFGoiAEHu2QAgARBYIAIoAgBBzABHDREMFAsgAEEUaiIAQe/ZACABEFggAigCAEHNAEcNEAwTCyAAQRRqIgBB8NkAIAEQWCACKAIAQc4ARw0PDBgLIABBFGoiA0Hx2QAgARBYIAIoAgBBzwBHDQ4gAigCGARAIABBGGpBotkAIAJBGGoQWwsgAigCFARAIABBGGpBotkAIAJBFGoQWwsgAigCEARAIABBGGpBotkAIAJBEGoQWwsMIAsgAEEUakHy2QAgARBYIAIoAgBB0ABGDQwMDQsgAEEUaiIAQfPZACABEFggAigCAEHRAEcNDAwVCyAAQRRqIgNB9NkAIAEQWCACKAIAQdIARw0LIAIoAhQEQCAAQRhqQaLZACACQRRqEFsLIANBotkAIAJBEGoQWAwdCyAAQRRqIgBB9dkAIAEQWCACKAIAQdMARw0KDBkLIABBFGoiAEH22QAgARBYIAIoAgBB1ABHDQkMEQsgAEEUaiIAQffZACABEFggAigCAEHVAEcNCAwRCyAAQRRqIgBB+NkAIAEQWCACKAIAQdYARw0HDBULIABBFGoiAEH52QAgARBYIAIoAgBB1wBHDQYMFQsgAEEUaiIAQfrZACABEFggAigCAEHYAEcNBQwVCyAAQRRqIgBB+9kAIAEQWCACKAIAQdkARw0EDAwLIABBFGoiAEH82QAgARBYIAIoAgBB2gBHDQMMCgsgAEEUaiIAQf3ZACABEFggAigCAEHbAEcNAgwRCyAAQRRqIgNB/tkAIAEQWCACKAIAQdwARw0BIANBotkAIAJBPGoQWCACKAIwIgFBAEwNACAAQRhqIQMDQCABQQFrIgAgAigCME8NAyACKAIsIABBAnRqIgQoAgBFDQQgA0Gi2QAgBBBbIAFBAUshDyAAIQEgDw0ACwsPC0Hw7QVBxZgDQZQGQY3eABABAAtBxaIBQYmiA0G8AUGmiAUQAQALQYGDAkHTmQNBuQJBrvcCEAEACyAAQaLZACACQRxqEFgLIABBotkAIAJBGGoQWAsgAEGi2QAgAkEUahBYCyAAQaLZACACQRBqEFgPCyAAQaLZACACQRRqEFgLIABBotkAIAJBEGoQWAsgAEGi2QAgAkEMahBYDwsgAEGi2QAgAkEoahBYCyAAQaLZACACQSRqEFgPCyAAQaLZACACQRxqEFggAEGi2QAgAkEYahBYDwsgAEGi2QAgAkEUahBYCyAAQaLZACACQRBqEFgLIABBotkAIAJBDGoQWAsgAEGi2QAgAkEIahBYDwsgAEEYakGi2QAgAkEIahBbDwsgA0Gi2QAgAkEMahBYC5EUAhp/An4jAEHAAmsiAyQAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIEBEAgACAAKAIAKAIQEQIABEAgAyAAKAIEIgIpAjg3A4ACIAMgAikCMDcD+AEgAyACKQIoNwPwASADIAIpAiA3A+gBIAMgAikCGDcD4AEgA0GIAmogAkFAaxDjASEEQdSJC0EANgIAQZoBIANBnAJqIAJB1ABqEAIhBkHUiQsoAgAhEUHUiQtBADYCACARQQFGDQIgAyACKAJoNgKwAiADIAIoAmwiAjYCtAIgAgRAIAIgAigCBEEBajYCBAsgA0EBIAMoAugBIgIgAkEAShs2AugBIAMgAykD8AE3AyAgAyADKQP4ATcDKCADIAMpA4ACNwMwIAMgAykD6AE3AxggA0EBIAMoAuQBIgIgAkEAShs2AuQBQdSJC0EANgIAIAMgAykD4AE3AxBBmwEgA0E4aiAEEAIhBEHUiQsoAgAhAkHUiQtBADYCAAJAIAJBAUcEQEHUiQtBADYCAEGaASADQcwAaiAGEAIhBkHUiQsoAgAhEkHUiQtBADYCACASQQFGDQUgAyADKAK0AiICNgJkIAMgAygCsAI2AmAgAgRAIAIgAigCBEEBajYCBAsgA0EANgKAASADIAMpAxg3AowBIAMgAykDIDcClAEgAyADKQMoNwKcASADIAMpAzA3AqQBIANCADcCeCADQfzsCTYCbCADIAMpAxA3AoQBQdSJC0EANgIAIAMgATYCcCADIAFBqAFqNgJ0QZsBIANBrAFqIAQQAiEBQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBwAFqIAYQAhpB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRwRAIAMgAygCYDYC1AEgAyADKAJkIgE2AtgBIAEEQCABIAEoAgRBAWo2AgQLIANBADsB3AEgA0EQahBhIANBAToA3AEgACgCACgCFCEUQdSJC0EANgIAIBQgABAGIQBB1IkLKAIAIRVB1IkLQQA2AgAgFUEBRg0EIAMoAmwoAgghFkHUiQtBADYCACAWIANB7ABqIgEgABADQdSJCygCACEXQdSJC0EANgIAIBdBAUYNBEHUiQtBADYCAEGXASABEApB1IkLKAIAIRhB1IkLQQA2AgAgGEEBRg0EIANB/OwJNgJsIANBhAFqEGEgAygCeCIBBEAgAygCfCIAIAEiAkcEQANAIABBBGsiACgCACECIABBADYCACACBEAgAiACKAIAKAIEEQEACyAAIAFHDQALIAMoAnghAgsgAyABNgJ8IAIQWgsgA0HgAWoQYQwRCxAAIQAgARBrDAELEAAhAAsgA0H4AGoQ4AEgA0EQahBhDBALEAAhAAwPCxAAIQAgA0HsAGoQfBoMDgsgACABNgJ8IABBFGohCCABKAIYIgIgASgCHCIERwRAA0AgAigCACIGKAIMRQRAIAggBkEgahD1BgsgAkEEaiICIARHDQALCyABKAIMIgIgASgCECIGRwRAA0AgAigCACIEKAIMRQRAIAAgBDYCeCAIIARBMGoQ9QYgBCgCDEUEQAJAIAQoAjAiBSgCAEEBRw0AIAUoAhQiB0UNACAAKAJ8IAUoAhAgB0ECdGpBBGsoAgAQ8AUhByAFKAIUIgpFDQggBSgCECAKQQJ0akEEayAHNgIAIAQoAjAhBQsgBCAAKAJ8IAUQ8AU2AjALIABBADYCeAsgAkEEaiICIAZHDQALCyABKAIwIgogASgCNCIORg0KIABBHGohDQNAIAooAgAiAigCDARAIAggAkEUahD1BgsgAigCHCILIAIoAiAiD0cEQCAAKAJsIQUgACgCcCEEIAAoAhghBgNAIAMgCygCACIHNgJsIAQgBWsiEEEDdSICQQAgBmtHDQcgB0UNCAJAIAZBCU0EQCAAIAZBAWoiBTYCGCANIAZBA3RqIgJBotkANgIAIAIgA0HsAGo2AgQgBCECIAUhBgwBCyAAKAJ0IgkgBEsEQCAEQaLZADYCACAEIANB7ABqNgIEIAAgBEEIaiICNgJwDAELIAJBAWoiB0GAgICAAk8NCkH/////ASAJIAVrIglBAnUiDCAHIAcgDEkbIAlB+P///wdPGyIHQYCAgIACTw0LIBAgB0EDdCIMEFwiCWoiB0Gi2QA2AgAgCSACQQN0aiADQewAajYCBCAHQQhqIQIgBCAFRwRAA0AgB0EIayIHIARBCGsiBCkCADcCACAEIAVHDQALCyAAIAkgDGo2AnQgACACNgJwIAAgBzYCbCAFRQ0AIAUQWiAAKAJwIQIgACgCGCEGC0EAIAZrIAIgACgCbCIFa0EDdUcEQANAAkAgAiAFRgRAIAZFDQ8gDSAGQQFrIgRBA3RqIgYoAgQhAiAGKAIAIQUgACAENgIYDAELIAJBCGsiBCgCACEFIAQoAgQhAiAAIAQ2AnALIAggAjYCACACKAIARQ0OIAAgAiAFEQAAQQAgACgCGCIGayAAKAJwIgIgACgCbCIFa0EDdUcNAAsLIAIhBCALQQRqIgsgD0cNAAsLIApBBGoiCiAORw0ACwwKC0Ho+gVBuosDQfwDQdrLAhABAAsQACEAIAQQawwMCxAAIQAgBBBrDAoLQbTEBUGJogNB0AFB/fsCEAEAC0HNygVB05kDQcgCQdD4AhABAAtBgYMCQdOZA0G5AkGu9wIQAQALEGQACxBqAAtB3sQFQbCUA0HaAEH9+wIQAQALQfWCAkHTmQNBzQJB0PgCEAEACyABKAJIIgIgASgCTCIERwRAA0AgAigCACIGLQAURQRAIAggBkEYahD1BgsgAkEEaiICIARHDQALCyADQgI3AwggA0ICNwLgAUHIrAspAwAhHSADQbgCaiADQQhqEKcDIRkgA0EANgJ0IANCADcCbCAZKAIAIRpB1IkLQQA2AgAgHSAaIANB7ABqQQAQjQMhBEHUiQsoAgAhAkHUiQtBADYCAAJAAkAgAkEBRwRAIAMgBDYCvAIgAygCbCICBEAgAhBaCyABKAIMIgIgASgCECIGRg0CQcCwCygCACEFDAELEAAhACADKAJsIgFFDQUgARBaDAULA0AgAigCACIIKAIMIgdBACAFIAdGG0UEQCAGIAJBBGoiAkcNAQwCCwsgBCAIKQIMNwIMCwJAIAQoAgwNACABKAIMIgIgASgCECIGRg0AA0AgAigCACIFKAIMRQRAIAYgAkEEaiICRw0BDAILCyAEIAUpAgw3AgwLIARByKwLKQMANwIUQdSJC0EANgIAQS0gASADQbwCahACGkHUiQsoAgAhG0HUiQtBADYCACAbQQFGDQEgAygCvAIiAQRAIAEQpAIQWgsgAEEANgJ8CyADQcACaiQADwsQACEAIANBvAJqEMcCDAELIANB4AFqEGELIAAQBwALLwAgASgCACIBKAIAQdwARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQ/QELLwAgASgCACIBKAIAQdsARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQ/QELLwAgASgCACIBKAIAQdoARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQ/QELLwAgASgCACIBKAIAQdkARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQ/QELLwAgASgCACIBKAIAQdgARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQ/QELLwAgASgCACIBKAIAQdcARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQ/QELLwAgASgCACIBKAIAQdYARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQ/QELLwAgASgCACIBKAIAQdUARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQ/QELLwAgASgCACIBKAIAQdQARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQ/QELLwAgASgCACIBKAIAQdMARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQ/QELLwAgASgCACIBKAIAQdIARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQ/QELLwAgASgCACIBKAIAQdEARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQ/QELLwAgASgCACIBKAIAQdAARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQ/QELLwAgASgCACIBKAIAQc8ARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQ/QELLwAgASgCACIBKAIAQc4ARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQ/QELLwAgASgCACIBKAIAQc0ARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQ/QELLwAgASgCACIBKAIAQcwARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQ/QELLwAgASgCACIBKAIAQcsARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQ/QELgAEBAX8jAEEwayIEJAAgBCACNgIkIAQgAxBsNgIsIAQgAzYCKCAEIAQpAig3AwggBEEYaiAEQQhqEGUgBCABNgIUIARBKGoiAyAAQZQBaiABIARBFGoQlQogAyAEKAIoQRRqIAIgBEEkahD2BiAEKAIoIAQpAxg3AgwgBEEwaiQACy8AIAEoAgAiASgCAEHKAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEP0BCy8AIAEoAgAiASgCAEHJAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEP0BCy8AIAEoAgAiASgCAEHIAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEP0BCy8AIAEoAgAiASgCAEHHAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEP0BCy8AIAEoAgAiASgCAEHGAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEP0BCy8AIAEoAgAiASgCAEHFAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEP0BCy8AIAEoAgAiASgCAEHEAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEP0BCy8AIAEoAgAiASgCAEHDAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEP0BCy8AIAEoAgAiASgCAEHCAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEP0BCy8AIAEoAgAiASgCAEHBAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEP0BCwoAIAAgATYChAELLwAgASgCACIBKAIAQcAARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQ/QELLgAgASgCACIBKAIAQT9HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARD9AQsuACABKAIAIgEoAgBBPkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEP0BCy4AIAEoAgAiASgCAEE9RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQ/QELLgAgASgCACIBKAIAQTxHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARD9AQsuACABKAIAIgEoAgBBO0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEP0BCy4AIAEoAgAiASgCAEE6RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQ/QELLgAgASgCACIBKAIAQTlHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARD9AQsuACABKAIAIgEoAgBBOEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEP0BCy4AIAEoAgAiASgCAEEoRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQ/QEL6AgBDX8jAEGQAWsiAyQAIANBADYCICADQcwAaiIEQgA3AgAgA0IANwJUIANB4ABqIgVCADcCACADQgA3AmggA0IANwJ0IANBgICA/AM2AnAgA0EAOwF8IANB8IkLKQIANwIsIANB+IkLKQIANwI0IANBgIoLKQIANwI8IANBiIoLKQIANwJEIANCADcCGCADQfzsCTYCDCADQeiJCykCADcCJCADIAA2AhAgAyAAQagBajYCFCADQaCKCyoCADgCXEHUiQtBADYCAEHNACAEQZiKCygCABADQdSJCygCACEAQdSJC0EANgIAAkACQAJAIABBAUYNAEHUiQtBADYCACADQbSKCyoCADgCcEHOACAFQayKCygCABADQdSJCygCACEJQdSJC0EANgIAIAlBAUYNAEG4igsoAgAhBUG8igsoAgAiBARAIAQgBCgCBEEBajYCBAsgAygCeCEAIAMgBDYCeCADIAU2AnQCQCAARQ0AIAAgACgCBCIEQQFrNgIEIAQNACAAIAAoAgAoAggRAQAgABB1CwJAIAJFDQBBACEFAkACQAJAAkACQANAIAEgBUECdGooAgAiBhBsIgBB8P///wdPBEBB1IkLQQA2AgBB2AAQCUHUiQsoAgAhCkHUiQtBADYCACAKQQFGDQIACwJAAkAgAEELTwRAQdSJC0EANgIAQQQgAEEPckEBaiIHEAYhBEHUiQsoAgAhC0HUiQtBADYCACALQQFGDQggAyAENgIAIAMgADYCBCADIAdBgICAgHhyNgIIDAELIAMgADoACyADIQQgAEUNAQsgBCAGIAD8CgAACyAAIARqQQA6AAACQCADLAALIgBBAE4EQCADIAMoAgg2AogBIAMgAykCADcDgAEMAQtB1IkLQQA2AgBB1AAgA0GAAWogAygCACADKAIEEAhB1IkLKAIAIQxB1IkLQQA2AgAgDEEBRg0DC0HUiQtBADYCAEHZ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BEAgASAAKAIAIgIoAhAgAigCDCIFa0ECdU8EQCADQagCakGoKRDIASEBQdSJC0EANgIAQbACIAAgARADQdSJCygCACGUAUHUiQtBADYCACCUAUEBRw0dEAAhBiABLAALQQBODSYMAgsgAiAFIAFBAnRqKAIAKQIANwJgCyAAKALYASIHIAAoAtwBIgRHBEADQCAHKAIAIQUCQAJAIBIiBiIBKAIAIgJFDQADQCACIgEoAhAiAiAFSwRAIAEhBiABKAIAIgINAQwCCyACIAVPBEAgASECDAMLIAEoAgQiAg0ACyABQQRqIQYLQRgQXCICIAU2AhAgAiABNgIIIAJCADcCACACQQA2AhQgBiACNgIAIAIhASAAKALMASgCACIIBEAgACAINgLMASAGKAIAIQELIAAoAtABIAEQZyAAIAAoAtQBQQFqNgLUAQsgAigCFCEBIAUCfgJAAkACQAJAAkACQAJAIAUoAhAOBQABAgMEBQsgACgCACICKAIQIAIoAgwiAmtBAnUgAUsNBSADQagCakGoKRDIASEBQdSJC0EANgIAQbACIAAgARADQdSJCygCACGVAUHUiQtBADYCACCVAUEBRw0kEAAhBiABLAALQQBIDQkMLQsgASAAKAIAIgIoAlggAigCVCICa0ECdU8EQCADQagCakGWKxDIASEBQdSJC0EANgIAQbACIAAgARADQdSJCygCACGWAUHUiQtBADYCACCWAUEBRw0kEAAhBiABLAALQQBIDQkMLQsgAiABQQJ0aigCACkDAAwFCyABIAAoAgAiAkFAaygCACACKAI8IgJrQQJ1TwRAIANBqAJqQYcoEMgBIQFB1IkLQQA2AgBBsAIgACABEANB1IkLKAIAIZcBQdSJC0EANgIAIJcBQQFHDSMQACEGIAEsAAtBAEgNCAwsCyACIAFBAnRqKAIAKQMADAQLIAEgACgCACICKAIcIAIoAhgiAmtBAnVPBEAgA0GoAmpBgyoQyAEhAUHUiQtBADYCAEGwAiAAIAEQA0HUiQsoAgAhmAFB1IkLQQA2AgAgmAFBAUcNIhAAIQYgASwAC0EASA0HDCsLIAIgAUECdGooAgApAgAMAwsgASAAKAIAIgIoAiggAigCJCICa0ECdU8EQCADQagCakGpKhDIASEBQdSJC0EANgIAQbACIAAgARADQdSJCygCACGZ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AAAAAAAAAAAAAAAAAAAAAQALIANBqAJqQdIlEMgBIQFB1IkLQQA2AgBBsAIgACABEANB1IkLKAIAIYQDQdSJC0EANgIAIIQDQQFHDSQQACEGIAEsAAtBAE4NLQwmC0GMwwtB3NsEQTkQXxoLIANBgAZqIAAQygQgByAAKAIkSQRAIANBqAJqQfPVAhDIASEBQdSJC0EANgIAQbACIAAgARADQdSJCygCACGFA0HUiQtBADYCACCFA0EBRw0jEAAhBiABLAALQQBODSwMJQsgA0EANgLwBCADQQc2AqwCIANB9N8BNgKoAiADIAMpAqgCNwOAASADQZAFaiIBIANBgAFqEGUCQCADAn9BASADKAKABiICIAMoApAFRg0AGiADQQs2AqwCIANBmRQ2AqgCIAMgAykCqAI3A3ggASADQfgAahBlQRAgAygCkAUgAkYNABogA0ESNgKsAiADQZOqAzYCqAIgAyADKQKoAjcDcCABIANB8ABqEGVBwAAgAygCkAUgAkYNABogA0EPNgKsAiADQb68ATYCqAIgAyADKQKoAjcDaCABIANB6ABqEGVBAiADKAKQBSACRg0AGiADQRM2AqwCIANBveQANgKoAiADIAMpAqgCNwNgIAEgA0HgAGoQZUEEIAMoApAFIAJGDQAaIANBCDYCrAIgA0HQzgA2AqgCIAMgAykCqAI3A1ggASADQdgAahBlQSAgAygCkAUgAkYNABogA0EHNgKsAiADQYSgBTYCqAIgAyADKQKoAjcDUCABIANB0ABqEGVBCCADKAKQBSACRg0AGiADQQk2AqwCIANBs+0CNgKoAiADIAMpAqgCNwNIIAEgA0HIAGoQZUGAASADKAKQBSACRg0AGiADQQ82AqwCIANBrs0BNgKoAiADIAMpAqgCNwNAIAEgA0FAaxBlQYACIAMoApAFIAJGDQAaIANBCjYCrAIgA0H/ygM2AqgCIAMgAykCqAI3AzggASADQThqEGVBgAQgAygCkAUgAkYNABogA0ECNgKsAiADQczpBDYCqAIgAyADKQKoAjcDMCABIANBMGoQZUGACCADKAKQBSACRg0AGiADQQg2AqwCIANBgKMFNgKoAiADIAMpAqgCNwMoIAEgA0EoahBlQYAQIAMoApAFIAJGDQAaIANBDDYCrAIgA0GJywQ2AqgCIAMgAykCqAI3AyAgASADQSBqEGVBgCAgAygCkAUgAkYNABogA0EONgKsAiADQYfSADYCqAIgAyADKQKoAjcDGCABIANBGGoQZUGAwAAgAygCkAUgAkYNABogA0EHNgKsAiADQfHAATYCqAIgAyADKQKoAjcDECABIANBEGoQZUGAgAEgAygCkAUgAkYNABogA0ELNgKsAiADQb4TNgKoAiADIAMpAqgCNwMIIAEgA0EIahBlQYCAAiADKAKQBSACRg0AGkEAIQEjAEEQayIGJAAgBkH6tAE2AgggBkH6tAEQbDYCDCAGIAYpAgg3AwAgA0GoAmogBhBlIAZBEGokACACIAMoAqgCRw0BQYCABAsiATYC8AQLAkACQAJAIAgOEwECAAICAgICAgICAgICAgICAgECCyAAKAIAKAKEASABcSABRw0BQYzDC0HZ4wZBERBfGiADQagCaiIBIANB8ARqENUQQdSJC0EANgIAQQlBjMMLIAMoAqgCIAEgAy0AswIiAcBBAEgiAhsgAygCrAIgASACGxAEGkHUiQsoAgAhAUHUiQtBADYCAAJAIAFBAUYNAEHUiQtBADYCAEEJQYzDC0HQzwVBwQAQBBpB1IkLKAIAIYYDQdSJC0EANgIAIIYDQQFGDQAgAywAswJBAE4NAiADKAKoAhBaDAILEAAhBgwqCyAAKAIAIgIgAigChAEgAXI2AoQBCyAEIAVBAWoiBUcNAAsMBwsgtwSnQcn4AkEGEF4NAkEsEFwiAUIANwIAIAFBADYCKCABQgA3AiAgAUIANwIYIAFCADcCECABQgA3AgggACgCACIFKAJ0IQIgBSABNgJ0IAIEQCACKAIgIgEEQCACIAE2AiQgARBaCyACKAIUIgEEQCACIAE2AhggARBaCyACEFogACgCJCEKCyAAKAIAKAJ0QQE6AABB1IkLQQA2AgAgAyAANgKsAiADQYyyBzYCqAIgAyADQagCaiICNgK4AkGxAiADQaAHaiACEAIhBkHUiQsoAgAhAUHUiQtBADYCAAJAAkACQCABQQFHBEACQAJAIAIgAygCuAIiAUYEQEEEIQUgAiEBDAELQQUhBSABRQ0BCyABIAEoAgAgBUECdGooAgARAQALIAAoAgAoAnQgBigCADYCBEHUiQtBADYCACADIAA2AqwCIANBjLIHNgKoAiADIANBqAJqIgI2ArgCQbECIANB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AABBAEgEQCACKAIAEFoLIAIiASAFRw0ACwsgBiAFNgJsCyAAKAIAKAJsIgJBGGsiBiADKQOABSK3BKcgtwRCIIinEMULAkAgCCAAKAIIIgEoAgQgASgCACIJayIBTQRAIAAoAiQiByABIAhrTQ0BCyADQagCakGK0AAQyAEhAUHUiQtBADYCAEGwAiAAIAEQA0HUiQsoAgAhlANB1IkLQQA2AgAglANBAUcNHhAAIQYgASwAC0EATg0nDCALIAAgByAIajYCJEEAIQFBACEFIAQgFEcEQCAIQQBIDQEgCBBcIgUgByAJaiAI/AoAACAFIAhqIQELIAJBDGsiBygCACIEBEAgAkEIayICIAQ2AgAgBBBaIAJCADcCACAHQQA2AgALIAcgBTYCACAGIAE2AhQgBiABNgIQDAQLEGQACxBkAAsgACgCJCAIIApqRg0BIANBqAJqQaW/AxDIASEBQdSJC0EANgIAQbACIAAgARADQdSJCygCACGVA0HUiQtBADYCACCVA0EBRw0aEAAhBiABLAALQQBODSMMHAsgACgCJCAHRg0AIANBqAJqQfW+AxDIASEBQdSJC0EANgIAQbACIAAgARADQdSJCygCACGWA0HUiQtBADYCACCWA0EBRw0ZEAAhBiABLAALQQBODSIMGwsgEyAUaiIBIAAoAiRJBEAgA0HwBGoiASATEKEEQdSJC0EANgIAQfwBIAFBzNcGEAIhAUHUiQsoAgAhAkHUiQtBADYCAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAJBAUcEQCADIAEoAgg2AogFIAMgASkCADcDgAUgAUIANwIAIAFBADYCCEHUiQtBADYCAEGNAiADQYAFakG/5gYQAiEBQdSJCygCACGXA0HUiQtBADYCACCXA0EBRg0BIAMgASgCCDYCmAUgAyABKQIANwOQBSABQgA3AgAgAUEANgIIQdSJC0EANgIAQboCIANB5ARqIgEgFBADQdSJCygCACGYA0HUiQtBADYCACCYA0EBRg0CQdSJC0EANgIAQYwCIANBkAVqIAMoAuQEIAEgAy0A7wQiAcBBAEgiAhsgAygC6AQgASACGxAEIQFB1IkLKAIAIZkDQdSJC0EANgIAIJkDQQFGDQMgAyABKAIINgKIBiADIAEpAgA3A4AGIAFCADcCACABQQA2AghB1IkL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NgKsAiADQYyyBzYCqAIgAyADQagCaiIFNgK4AkGxAiADQfgGaiAFEAIhB0HUiQsoAgAhAkHUiQtBADYCAAJ/AkACQCACQQFHBEACQAJAIAUgAygCuAIiAkYEQEEEIQYgBSECDAELQQUhBiACRQ0BCyACIAIoAgAgBkECdGooAgARAQALIAAoAggiAigCBCACKAIAIgRrIgUgBygCACICSQ0BIAAoAiQiBiAFIAJrSw0BIAAgAiAGajYCJCACDQJBACEFQQAMAwsQACEBAkAgAygCuAIiAiADQagCaiIARgRAQQQhBSAAIQIMAQtBBSEFIAJFDQsLIAIgAigCACAFQQJ0aigCABEBAAwKC0HUiQtBADYCAEHMASADQagCakGK0AAQAiECQdSJCygCACG7A0HUiQtBADYCACC7A0EBRg0DQdSJC0EANgIAQbACIAAgAhADQdSJCygCACG8A0HUiQtBADYCACC8A0EBRw0fEAAhASACLAALQQBODQkgAigCABBaDAkLIAJBAEgEQEHUiQtBADYCAEEFEAlB1IkLKAIAIb0DQdSJC0EANgIAIL0DQQFHDR8QACEBDAkLQdSJC0EANgIAQQQgAhAGIQVB1IkLKAIAIb4DQdSJC0EANgIAIL4DQQFGDQQgBSAEIAZqIAL8CgAAIAIgBWoLIQIgASgCHCIGBEAgASAGNgIgIAYQWiABQQA2AiQgAUIANwIcCyABIAU2AhwgASACNgIkIAEgAjYCICAAKAIAIQFB1IkLQQA2AgBB7wEgASADQeQEahADQdSJCygCACG/A0HUiQtBADYCACC/A0EBRwRAIAMoAuQEIgEEQCABKAIcIgIEQCABIAI2AiAgAhBaCyABEFoLIAlBAWoiCSAIRw0BDBILCxAAIQEMBgsQACEBDAULEAAhAQwECxAAIQEMAwsQACEBDAILEAAhAQJAIAMoArgCIgIgA0GoAmoiAEYEQEEEIQUgACECDAELQQUhBSACRQ0CCyACIAIoAgAgBUECdGooAgARAQAMAQsQACEBCyADQeQEahCoAwwfCwwXC0HUiQtBADYCACADIAA2AqwCIANBjLIHNgKoAiADIANBqAJqIgI2ArgCQbECIANB4AZqIAIQAiEGQdSJCygCACHAA0HUiQtBADYCACDAA0EBRwRAAkACQCACIAMoArgCIgFGBEBBBCEF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KAK4AiIBRgRAQQQhBSACIQEMAQtBBSEFIAFFDQELIAEgASgCACAFQQJ0aigCABEBAAsgACAHKAIAIg4QxwUhCiAAKAJYIgEgACgCXCIHTw0BIAEgCjYCACAAIAFBBGo2AlgMAgsMNgsgASAAKAJUIgVrQQJ1IgxBAWoiAkGAgICABE8NKEH/////AyAHIAVrIgdBAXUiESACIAIgEUkbIAdB/P///wdPGyIHBH8gB0GAgICABE8NKiAHQQJ0EFwFQQALIhEgDEECdGoiAiAKNgIAIAJBBGohCiABIAVHBEADQCACQQRrIgIgAUEEayIBKAIANgIAIAEgBUcNAAsLIAAgESAHQQJ0ajYCXCAAIAo2AlggACACNgJUIAVFDQAgBRBaCyADIAAgDhDHBSIBNgKcBSABQRBPBEAgASgCEEUNFgsgA0HkBGpBh90GEMgBIQJB1IkLQQA2AgBBygIgA0HYBGoiASADKALABSADKALEBRAIQdSJCygCACGJBEHUiQtBADYCACCJBEEBRg0FQdSJC0EANgIAQYwCIAIgAygC2AQgASADLQDjBCIBwEEASCIFGyADKALcBCABIAUbEAQhAUHUiQsoAgAhigRB1IkLQQA2AgAgigRBAUYNBiADIAEoAgg2AvgEIAMgASkCADcD8AQgAUIANwIAIAFBADYCCEHUiQtBADYCAEHRASADQfAEakEuEANB1IkLKAIAIYsEQdSJC0EANgIAIIsEQQFGDQcgAyADKAL4BDYCiAUgA0EANgL4BCADIAMpA/AENwOABSADQgA3A/AEQdSJC0EANgIAQcoCIANBzARqIgEgAygCuAUgAygCvAUQCEHUiQsoAgAhjARB1IkLQQA2AgAgjARBAUYNCEHUiQtBADYCAEGMAiADQYAFaiADKALMBCABIAMtANcEIgHAQQBIIgUbIAMoAtAEIAEgBRsQBCEBQdSJCygCACGNBEHUiQtBADYCACCNBEEBRg0JIAMgASgCCDYCmAUgAyABKQIANwOQBSABQgA3AgAgAUEANgIIQdSJC0EANgIAQY0CIANBkAVqQZD1BhACIQFB1IkLKAIAIY4EQdSJC0EANgIAII4EQQFGDQogAyABKAIINgKIBiADIAEpAgA3A4AGIAFCADcCACABQQA2AghB1IkLQQA2AgBBywIgA0HABGoiASADQZwFahADQdSJCygCACGPBEHUiQtBADYCACCPBEEBRg0LQdSJC0EANgIAQYwCIANBgAZqIAMoAsAEIAEgAy0AywQiAcBBAEgiBRsgAygCxAQgASAFGxAEIQFB1IkLKAIAIZAEQdSJC0EANgIAIJAEQQFGDQwgAyABKAIINgKwAiADIAEpAgA3A6gCIAFCADcCACABQQA2AghB1IkLQQA2AgBBsAIgACADQagCahADQdSJCygCACGRBEHUiQtBADYCACCRBEEBRw0xEAAhBiADLACzAkEATg0NIAMoAqgCEFoMDQsQACEGDAMLEAAhBgwBCxAAIQYgAywAswJBAE4NACADKAKoAhBaCyADLACLBkEATg0AIAMoAoAGEFoLIAMsAKsFQQBODTUgAygCoAUQWgw1CxAAIQYMDgsQACEGDAwLEAAhBgwKCxAAIQYMCAsQACEGDAYLEAAhBgwECxAAIQYMAgsQACEGCyADLADLBEEATg0AIAMoAsAEEFoLIAMsAIsGQQBODQAgAygCgAYQWgsgAywAmwVBAE4NACADKAKQBRBaCyADLADXBEEATg0AIAMoAswEEFoLIAMsAIsFQQBODQAgAygCgAUQWgsgAywA+wRBAE4NACADKALwBBBaCyADLADjBEEATg0AIAMoAtgEEFoLIAIsAAtBAE4NJSACKAIAEFoMJQtB1IkLQQA2AgAgAykDsAUhuQQgA0EANgKwAiADQgA3AqgCILkEIAEgA0GoAmpBABCNAyEBQdSJCygCACGSBEHUiQtBADYCACCSBEEBRwRAIAMgATYCgAYgAygCqAIiAgRAIAIQWgsgASADKQPABTcCDCABIAMpA7gFNwIUIAAoAgAhAUHUiQtBADYCAEEtIAEgA0GABmoQAhpB1IkLKAIAIZMEQdSJC0EANgIAIJMEQQFGDQ8gAygCgAYiAQRAIAEQpAIQWgsgDUEBaiENDAULEAAhBiADKAKoAiIARQ0kDCALIANBADoAuAQgA0L00rWD982cuiQ3A7AEIANBCDoAuwRB1IkLQQA2AgBBwAIgA0GABmoiASALEANB1IkLKAIAIQJB1IkLQQA2AgACQAJAAkACQAJAAkACQAJAAkACQAJAIAJBAUcEQEHUiQtBADYCAEGMAiADQbAEaiADKAKABiABIAMtAIsGIgHAQQBIIgIbIAMoAoQGIAEgAhsQBCEBQdSJCygCACGUBEHUiQtBADYCACCUBEEBRg0BIAMgASgCCDYCsAIgAyABKQIANwOoAiABQgA3AwAgAUEANgIIIAMgAygCrAIgAywAswIiAkH/AXEgAkEASCICGzYClAUgAyADKAKoAiADQagCaiACGzYCkAVB1IkLQQA2AgAgAyADKQKQBTcDkAFBBiADQYAFaiADQZABahADQdSJCygCACGVBEHUiQtBADYCACCVBEEBRg0CIAMsALMCQQBIBEAgAygCqAIQWgsgAywAiwZBAEgEQCADKAKABhBaCyADLAC7BEEASARAIAEoAgAQWgtB1IkLQQA2AgAgAykDgAUhtwQgA0KBgICAEDcCrAIgA0EAOgCoAiADQQE2ArQCQQdB2J0LIANBqAJqIgEQAiECQdSJCygCACGWBEHUiQtBADYCACCWBEEBRgRAEAAhACABEHcMLgtBOBBcIgFCADcCACABQgA3AjAgAUEgaiIHQgA3AgAgAUIANwIYIAFCADcCECABQgA3AgggAUEoaiIKQv////8PNwMAQdSJC0EANgIAIANCgYCAgBA3AqwCIANBADoAqAIgA0EBNgK0AkEHQdidCyADQagCaiIFEAIaQdSJCygCACGXBEHUiQtBADYCACCXBEEBRgRAEAAhACAFEHcgARBaDC4LIAEgAjYCMCABILcENwIAIAFC/////w83AyggAUIANwMgIAMgATYCgAYgASADKQPABTcCDCABIAMpA7gFNwIUQdSJC0EANgIAIAMgADYCrAIgA0HUsgc2AqgCIAMgA0GoAmoiBTYCuAJBuAIgA0HUBWogBRACIQxB1IkLKAIAIZgEQdSJC0EANgIAIJgEQQFHBEACQAJAIAUgAygCuAIiAkYEQEEEIQ4gBSECDAELQQUhDiACRQ0BCyACIAIoAgAgDkECdGooAgARAQALIAwoAgAhAkHUiQtBADYCAEHEAiAAIAIQAiECQdSJCygCACGZBEHUiQtBADYCACCZBEEBRg0HIAEgAjYCMEHUiQtBADYCACADQQA2ApAFIAAgByAKIANB8ARqIANBkAVqQv////8PEKEJQdSJCygCACGaBEHUiQtBADYCACCaBEEBRg0LIAMtAPAERQ0GQdSJC0EANgIAQcwBIANBqAJqQZbcBBACIQJB1IkLKAIAIZsEQdSJC0EANgIAIJsEQQFG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ACABEANB1IkLKAIAIaYEQdSJC0EANgIAIKYEQQFHDSAQACEGIAEsAAtBAE4NKQwiCwwiC0HUiQtBADYCACADIAA2AqwCIANBjLIHNgKoAiADIANBqAJqIgI2ArgCQbECIANB3AVqIAIQAiEHQdSJCygCACGnBEHUiQtBADYCACCnBEEBRwRAAkACQCACIAMoArgCIgFGBEBBBCEKIAIhAQwBC0EFIQogAUUNAQsgASABKAIAIApBAnRqKAIAEQEACyAHKAIAIQIgAykDgAUhtwRBKBBcIgFCADcCICABQgA3AhggAUIANwIIIAEgtwQ3AgAgAUIANwIQIAEgAkEARzoAJCABIAU2AhwgAyABNgKoAiABIAMpA8AFNwIMIAEgAykDuAU3AhQgACgCACEBQdSJC0EANgIAQTIgASADQagCahACGkHUiQsoAgAhqARB1IkLQQA2AgAgqARBAUYNBiADKAKoAiIBBEAgARBaCyAIQQFqIQgMCAsMIQsQACEGDAMLEAAhBgwBCxAAIQYgAywAswJBAE4NACADKAKoAhBaCyADLACLBkEATg0AIAMoAoAGEFoLIAMsAJsEQQBODSIgAygCkAQQWgwiCxAAIQYgAygCqAIiAEUNIQwdCyADQQA6AIgEIANC5dK1g/fNnLokNwOABCADQQg6AIsEQdSJC0EANgIAQcACIANBgAZqIgEgCRADQdSJCygCACGpBEHUiQtBADYCACCpBEEBRg0DQdSJC0EANgIAQYwCIANBgARqIAMoAoAGIAEgAy0AiwYiAcBBAEgiAhsgAygChAYgASACGxAEIQFB1IkLKAIAIaoEQdSJC0EANgIAIKoEQQFGDQQgAyABKAIINgKwAiADIAEpAgA3A6gCIAFCADcDACABQQA2AgggAyADKAKsAiADLACzAiICQf8BcSACQQBIIgIbNgKUBSADIAMoAqgCIANBqAJqIAIbNgKQBUHUiQtBADYCACADIAMpApAFNwOoAUEGIANBgAVqIANBqAFqEANB1IkLKAIAIasEQdSJC0EANgIAIKsEQQFGDQUgAywAswJBAEgEQCADKAKoAhBaCyADLACLBkEASARAIAMoAoAGEFoLIAMsAIsEQQBIBEAgASgCABBaCyAAKAIkIgEgACgCCCICKAIEIAIoAgBrTwRAIANBqAJqQYrQABDIASEBQdSJ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KAIAIgEoAgBBG0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEP0BCy4AIAEoAgAiASgCAEEaRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQ/QELLgAgASgCACIBKAIAQRlHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARD9AQv3CQEOfyMAQfACayICJABB4AIQXCIDQQBBiQH8CwAgA0IANwKcASADQgA3ApQBIANCADcCjAEgA0GAgID8AzYCpAEgA0IANwKwASADQgA3AqgBIANCADcCwAEgA0EANgK8ASADQZC3CzYCuAEgA0IANwLIASADQgA3AtQBIANBgICA/AM2AtABIANCADcC3AEgA0IANwLoASADQYCAgPwDNgLkASADQgA3AvABIANCADcC/AEgA0GAgID8AzYC+AEgA0IANwKEAiADQYCAgPwDNgKMAiADQgA3ApACIANCADcCmAIgA0IANwKkAiADQYCAgPwDNgKgAiADQgA3AqwCIANBgICA/AM2ArQCIANCADcCuAIgA0IANwLAAiADQYCAgPwDNgLIAiADQgA3AswCIANCADcC1AIgA0GAgID8AzYC3AIgAkEANgLsAiACQgA3AuQCAkACQAJAAkAgAQRAQdSJC0EANgIAQa4CIAJB5AJqIAEQA0HUiQsoAgAhCkHUiQtBADYCACAKQQFGDQEgAigC5AIgACAB/AoAAAsgAkIANwIUIAJCADcAGSACQTBqIgBCADcCACACQUBrIgFCADcCACACQegAaiIEQgA3AgAgAkIANwJQIAJCADcCWCACQfwAaiIFQgA3AgAgAkIANwIMIAIgA0GoAWo2AgQgAiADNgIAIAJCgICAgHA3AiQgAkEAOgAjIAJCADcCSCACQoCAgIBwNwJwIAIgADYCLCACIAE2AjwgAiAENgJkIAIgAkHkAmo2AgggAkEBOwAhIAJBiAFqIgBCADcCACACQZQBaiIBQgA3AgAgAkGgAWoiBEIANwIAIAJBrAFqIgZCADcCACACQbgBaiIHQgA3AgAgAkHEAWoiCEIANwIAIAJB0AFqIglCADcCACACQgA3AuABIAJCADcC6AEgAkIANwLwASACQgA3AvgBIAJCADcCgAIgAkEANgKIAiACIAU2AnggAiAANgKEASACIAE2ApABIAIgBDYCnAEg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AgBBA0cNWgxjCyAAQcnYACABEFggAigCAEEERw1ZIAIoAhQEQCAAQQRqQenXACACQRRqEFsLIAIoAhBFDVggAEEEakHp1wAgAkEQahBbDwsgAEHK2AAgARBYIAIoAgBBBUcNWCAAQenXACACQSRqEFggAigCIEUNVyAAQQRqQenXACACQSBqEFsPCyAAQcvYACABEFggAigCAEEGRw1XIAIoAgwiAUEATA1WIABBBGohBANAIAFBAWsiACACKAIMTw1ZIAIoAgggAEECdGoiAygCAEUNWiAEQenXACADEFsgAUEBSyEHIAAhASAHDQALDFYLIABBzNgAIAEQWCACKAIAQQdHDVYgAEHp1wAgAkEcahBYIAIoAhAiAUEATA1VIABBBGohBANAIAFBAWsiACACKAIQTw1YIAIoAgwgAEECdGoiAygCAEUNWSAEQenXACADEFsgAUEBSyEIIAAhASAIDQALDFULIABBzdgAIAEQWCACKAIAQQhGDVQMVQsgAEHO2AAgARBYIAIoAgBBCUcNVAxgCyAAQc/YACABEFggAigCAEEKRg1SDFMLIABB0NgAIAEQWCACKAIAQQtHDVIMWwsgAEHR2AAgARBYIAIoAgBBDEcNUQxfCyAAQdLYACABEFggAigCAEENRw1QDF0LIABB09gAIAEQWCACKAIAQRhHDU8MXgsgAEHU2AAgARBYIAIoAgBBGUcNTiAAQenXACACQSBqEFgMXQsgAEHV2AAgARBYIAIoAgBBGkcNTQxUCyAAQdbYACABEFggAigCAEEbRw1MDFQLIABB19gAIAEQWCACKAIAQRxGDUoMSwsgAEHY2AAgARBYIAIoAgBBHUcNSgxWCyAAQdnYACABEFggAigCAEEeRw1JIABB6dcAIAJBFGoQWAxVCyAAQdrYACABEFggAigCAEEfRw1IDE0LIABB29gAIAEQWCACKAIAQSBHDUcMUQsgAEHc2AAgARBYIAIoAgBBIUcNRgxRCyAAQd3YACABEFggAigCAEEiRw1FIABB6dcAIAJBIGoQWA8LIABB3tgAIAEQWCACKAIAQSNHDUQMUQsgAEHf2AAgARBYIAIoAgBBJEcNQwxKCyAAQeDYACABEFggAigCAEElRg1BDEILIABB4dgAIAEQWCACKAIAQSZHDUEMRQsgAEHi2AAgARBYIAIoAgBBJ0cN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EFggAigCAEE1Rw0rIAIoAhQiAUEATA0qIABBBGohBANAIAFBAWsiACACKAIUTw0tIAIoAhAgAEECdGoiAygCAEUNLiAEQejXACADEFsgAUEBSyEKIAAhASAKDQALDCoLIABBnNgAIAEQWCACKAIAQTZGDSkMKgsgAEGd2AAgARBYIAIoAgBBN0cNKQw5CyAAQZ7YACABEFggAigCAEEWRg0nDCgLIABBn9gAIAEQWCACKAIAQRdGDSYMJwsgAEGg2AAgARBYIAIoAgBBKEYNJQwmCyAAQaHYACABEFggAigCAEE4Rw0lIAIoAgwiAUEATA0kIABBBGohBANAIAFBAWsiACACKAIMTw0nIAIoAgggAEECdGoiAygCAEUNKCAEQejXACADEFsgAUEBSyELIAAhASALDQALDCQLIABBotgAIAEQWCACKAIAQTlHDSQMNAsgAEGj2AAgARBYIAIoAgBBOkcNIwwzCyAAQaTYACABEFggAigCAEE7Rw0iDDILIABBpdgAIAEQWCACKAIAQTxHDSEgAEHo1wAgAkEYahBYIAIoAgwiAUEATA0gIABBBGohBANAIAFBAWsiACACKAIMTw0jIAIoAgggAEECdGoiAygCAEUNJCAEQejXACADEFsgAUEBSyEMIAAhASAMDQALDCALIABBptgAIAEQWCACKAIAQT1HDSAMMAsgAEGn2AAgARBYIAIoAgBBPkcNHwwvCyAAQajYACABEFggAigCAEE/Rw0eIABB6NcAIAJBFGoQWA8LIABBqdgAIAEQWCACKAIAQcAARw0dIAIoAgwiAUEATA0cIABBBGohBANAIAFBAWsiACACKAIMTw0fIAIoAgggAEECdGoiAygCAEUNICAEQejXACADEFsgAUEBSyENIAAhASANDQALDBwLIABBqtgAIAEQWCACKAIAQcEARw0cDCgLIABBq9gAIAEQWCACKAIAQcIARw0bDCYLIABBrNgAIAEQWCACKAIAQcMARw0aIABB6NcAIAJBDGoQWCACKAIIRQ0ZDCsLIABBrdgAIAEQWCACKAIAQcQARw0ZDCELIABBrtgAIAEQWCACKAIAQcUARw0YDCALIABBr9gAIAEQWCACKAIAQcYARw0XIAIoAgwiAUEATA0WIABBBGohBANAIAFBAWsiACACKAIMTw0ZIAIoAgggAEECdGoiAygCAEUNGiAEQejXACADEFsgAUEBSyEOIAAhASAODQALDBYLIABBsNgAIAEQWCACKAIAQccARw0WDBsLIABBsdgAIAEQWCACKAIAQcgARw0VDBkLIABBstgAIAEQWCACKAIAQckARw0UDCQLIABBs9gAIAEQWCACKAIAQcoARw0TIABB6NcAIAJBGGoQWAwWCyAAQbTYACABEFggAigCAEHLAEcNEgwVCyAAQbXYACABEFggAigCAEHMAEcNEQwXCyAAQbbYACABEFggAigCAEHNAEcNEAwWCyAAQbfYACABEFggAigCAEHOAEcNDwwbCyAAQbjYACABEFggAigCAEHPAEcNDiACKAIYBEAgAEEEakHo1wAgAkEYahBbCyACKAIUBEAgAEEEakHo1wAgAkEUahBbCyACKAIQBEAgAEEEakHo1wAgAkEQahBbCwwaCyAAQbnYACABEFggAigCAEHQAEYNDAwNCyAAQbrYACABEFggAigCAEHRAEcNDAwYCyAAQbvYACABEFggAigCAEHSAEcNCyACKAIUBEAgAEEEakHo1wAgAkEUahBbCwwWCyAAQbzYACABEFggAigCAEHTAEcNCgwPCyAAQb3YACABEFggAigCAEHUAEcNCQwUCyAAQb7YACABEFggAigCAEHVAEcNCAwUCyAAQb/YACABEFggAigCAEHWAEcNBwwLCyAAQcDYACABEFggAigCAEHXAEcNBgwLCyAAQcHYACABEFggAigCAEHYAEcNBQwVCyAAQcLYACABEFggAigCAEHZAEcNBAwPCyAAQcPYACABEFggAigCAEHaAEcNAwwNCyAAQcTYACABEFggAigCAEHbAEcNAgwHCyAAQcXYACABEFggAigCAEHcAEcNASAAQejXACACQTxqEFggAigCMCIBQQBMDQAgAEEEaiEEA0AgAUEBayIAIAIoAjBPDQMgAigCLCAAQQJ0aiIDKAIARQ0EIARB6NcAIAMQWyABQQFLIQ8gACEBIA8NAAsLDwtB8O0FQcWYA0GUBkGN3gAQAQALQcWiAUGJogNBvAFBpogFEAEAC0GBgwJB05kDQbkCQa73AhABAAsgAEHo1wAgAkEUahBYCyAAQejXACACQRBqEFgLIABB6NcAIAJBDGoQWAwKCyAAQejXACACQRxqEFgLIABB6NcAIAJBGGoQWAsgAEHo1wAgAkEUahBYCyAAQejXACACQRBqEFgPCyAAQejXACACQRRqEFgLIABB6NcAIAJBEGoQWAsgAEHo1wAgAkEMahBYDwsgAEHo1wAgAkEoahBYCyAAQejXACACQSRqEFgPCyAAQejXACACQRxqEFggAEHo1wAgAkEYahBYDwsgAEHo1wAgAkEIahBYDwsgAEEEakHo1wAgAkEIahBbC7QCAQN/AkACQAJAQQAgACgCBGsgACgCXCAAKAJYa0EDdUYEQCABKAIARQ0BIABBBGpB6dcAIAEQW0EAIAAoAgQiAmsgACgCXCIBIAAoAlgiA2tBA3VHBEAgAEEIaiEEA0ACQCABIANGBEAgAkUNBiAEIAJBAWsiAkEDdGoiAygCBCEBIAMoAgAhAyAAIAI2AgQMAQsgAUEIayICKAIAIQMgAigCBCEBIAAgAjYCXAsgACABNgIAIAEoAgBFDQUgACABIAMRAABBACAAKAIEIgJrIAAoAlwiASAAKAJYIgNrQQN1Rw0ACwsPC0HNygVB05kDQcgCQdD4AhABAAtBgYMCQdOZA0G5AkGu9wIQAQALQd7EBUGwlANB2gBB/fsCEAEAC0H1ggJB05kDQc0CQdD4AhABAAu0AgEDfwJAAkACQEEAIAAoAgRrIAAoAlwgACgCWGtBA3VGBEAgASgCAEUNASAAQQRqQejXACABEFtBACAAKAIEIgJrIAAoAlwiASAAKAJYIgNrQQN1RwRAIABBCGohBANAAkAgASADRgRAIAJFDQYgBCACQQFrIgJBA3RqIgMoAgQhASADKAIAIQMgACACNgIEDAELIAFBCGsiAigCACEDIAIoAgQhASAAIAI2AlwLIAAgATYCACABKAIARQ0FIAAgASADEQAAQQAgACgCBCICayAAKAJcIgEgACgCWCIDa0EDdUcNAAsLDwtBzcoFQdOZA0HIAkHQ+AIQAQALQYGDAkHTmQNBuQJBrvcCEAEAC0HexAVBsJQDQdoAQf37AhABAAtB9YICQdOZA0HNAkHQ+AIQAQALHABBgAEQXCIAQQBBgAH8CwAgAEGM6wc2AgAgAAs5ACAAKAIERQRAQej6BUG6iwNBnARB7tMCEAEACyAAIAI2AnggACABNgJ8IAAgAhCmDiAAQgA3AngLviIBDn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEoAgAiAigCAA5eAAECAwQFBgcICQoLDA0eHyAhIiMkJTU2Dg8QERITFBUWFxgZGhscHTcmJygpKissLS4vMDEyMzQ4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcAF0LQZj9A0HlswNB6gEQYgALIABBFGpBjNcAIAEQWCACKAIAQQFHDVwgAigCFCIBQQBMDVsgAEEYaiEDA0AgAUEBayIAIAIoAhRPDV4gAigCECAAQQJ0aiIEKAIARQ1fIANBitcAIAQQWyABQQFLIQYgACEBIAYNAAsMWwsgAEEUaiIDQY3XACABEFggAigCAEECRw1bIAIoAhAEQCAAQRhqQYrXACACQRBqEFsLIANBitcAIAJBDGoQWCADQYrXACACQQhqEFgPCyAAQRRqIgBBjtcAIAEQWCACKAIAQQNHDVoMYAsgAEEUakGP1wAgARBYIAIoAgBBBEcNWSACKAIUBEAgAEEYakGK1wAgAkEUahBbCyACKAIQRQ1YIABBGGpBitcAIAJBEGoQWw8LIABBFGoiA0GQ1wAgARBYIAIoAgBBBUcNWCADQYrXACACQSRqEFggAigCIEUNVyAAQRhqQYrXACACQSBqEFsPCyAAQRRqQZHXACABEFggAigCAEEGRw1XIAIoAgwiAUEATA1WIABBGGohAwNAIAFBAWsiACACKAIMTw1ZIAIoAgggAEECdGoiBCgCAEUNWiADQYrXACAEEFsgAUEBSyEHIAAhASAHDQALDFYLIABBFGoiA0GS1wAgARBYIAIoAgBBB0cNViADQYrXACACQRxqEFggAigCECIBQQBMDVUgAEEYaiEDA0AgAUEBayIAIAIoAhBPDVggAigCDCAAQQJ0aiIEKAIARQ1ZIANBitcAIAQQWyABQQFLIQggACEBIAgNAAsMVQsgAEEUakGT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SCABEFoLIAAoAhAQ+QYgDhAHAAsACywAIAEoAgAiASgCAEHcAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEP8BCywAIAEoAgAiASgCAEHbAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEP8BCywAIAEoAgAiASgCAEHaAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEP8BCywAIAEoAgAiASgCAEHZAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEP8BCywAIAEoAgAiASgCAEHYAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEP8BCywAIAEoAgAiASgCAEHXAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEP8BCywAIAEoAgAiASgCAEHWAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEP8BCywAIAEoAgAiASgCAEHVAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEP8BCywAIAEoAgAiASgCAEHUAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEP8BCywAIAEoAgAiASgCAEHTAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEP8BCywAIAEoAgAiASgCAEHSAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEP8BCywAIAEoAgAiASgCAEHRAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEP8BCxIAIABBCGpB55oHQSoQXxogAAssACABKAIAIgEoAgBB0ABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARD/AQssACABKAIAIgEoAgBBzwBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARD/AQssACABKAIAIgEoAgBBzgBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARD/AQssACABKAIAIgEoAgBBzQBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARD/AQssACABKAIAIgEoAgBBzABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARD/AQssACABKAIAIgEoAgBBywBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARD/AQssACABKAIAIgEoAgBBygBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARD/AQssACAB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SARAIAQoAgQQWgsgAxAHAAssACABKAIAIgEoAgBB1gBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCAAgssACABKAIAIgEoAgBB1QBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCAAgssACABKAIAIgEoAgBB1ABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCAAgssACABKAIAIgEoAgBB0wBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCAAgssACABKAIAIgEoAgBB0gBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCAAgssACABKAIAIgEoAgBB0QBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCAAgssACABKAIAIgEoAgBB0ABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCAAgssACABKAIAIgEoAgBBzwBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCAAgssACABKAIAIgEoAgBBzgBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCAAgssACABKAIAIgEoAgBBzQBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCAAgssACABKAIAIgEoAgBBzABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCAAgssACABKAIAIgEoAgBBywBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCAAgssACABKAIAIgEoAgBBygBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCAAgssACABKAIAIgEoAgBByQBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCAAgssACABKAIAIgEoAgBByABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCAAgssACABKAIAIgEoAgBBxwBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCAAgssACABKAIAIgEoAgBBxgBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCAAgssACABKAIAIgEoAgBBxQBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCAAgssACABKAIAIgEoAgBBxABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCAAgssACABKAIAIgEoAgBBwwBHBEBB8O0FQcWYA0GU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AE4NBSAHKAKQBhBaIAQQWgw6CxAAIQUMOQsQACEFDDgLEAAhBQsgCRBaDDYLEAAhBQsgBBBaDDQLEAAhBSAHLACbBkEATg0HIAcoApAGEFogBBBaDDMLEAAhBSAHLACbBkEATg0yIAcoApAGEFoMMgsQACEFIAcsAJsGQQBODQcgBygCkAYQWiAEEFoMMQsQACEFIAcsAJsGQQBODQggBygCkAYQWiAEEFoMMAsQACEFIAcsAJsGQQBODQkgBygCkAYQWiAEEFoMLwsQACEFIAcsAJsGQQBODQogBygCkAYQWiAEEFoMLgsQACEFIAcsAJsGQQBODQsgBygCkAYQWiAEEFoMLQsQACEFCyAEEFoMKwsQACEFCyAEEFoMKQsQACEFCyAEEFoMJwsQACEFCyAEEFoMJQsQACEFCyAEEFoMIwsQACEFCyAEEFoMIQsQACEFIAcsAJsGQQBODQEgBygCkAYQWiAJEFoMIAsQACEFCyAJEFoMHgsQACEFIAcsAJsGQQBODR0gBygCkAYQWgwdCxAAIQUgBywAmwZBAE4NBSAHKAKQBhBaIAQQWgwcCxAAIQUgBywAmwZBAE4NBiAHKAKQBhBaIAQQWgwbCxAAIQUgBywAmwZBAE4NByAHKAKQBhBaIAQQWgwaCxAAIQUgBywAmwZBAE4NCCAHKAKQBhBaIAQQWgwZCxAAIQUgBywAmwZBAE4NCSAHKAKQBhBaIAQQWgwYCxAAIQULIAQQWgwWCxAAIQULIAQQWgwUCxAAIQULIAQQWgwSCxAAIQULIAQQWgwQCxAAIQULIAQQWgwOCxAAIQUgBywAmwZBAE4NBCAHKAKQBhBaIAQQWgwNCxAAIQUgBywAmwZBAE4NDCAHKAKQBhBaDAwLEAAhBSAHLACbBkEATg0EIAcoApAGEFoMBAsQACEFIAcsAJsGQQBODQogBygCkAYQWgwKCxAAIQULIAQQWgwICxAAIQULIAQQWgwGCxAAIQMgCBD3BgwHCxCkESEdIAIQ0AchFSAdKAIAQQJGBEAgHSgCCCIDKAIEQQFLBEAgAygCACgCBCIDKAIAQQJGBEAgAygCCCIKKAIAIQUCQCAKKAIEIgwgCigCCEcEQCAFIQMMAQsgCiAMQQF0QQJqIgM2AgggCkGAqAsgA0ECdEEEEF0iAzYCACAKKAIEIgxFBEBBACEMDAELQQAhD0EAIQMgDEEETwRAIAxBfHEhCQNAIANBAnQiCyAKKAIAaiAFIAtqKAIANgIAIAtBBHIiBCAKKAIAaiAEIAVqKAIANgIAIAtBCHIiBCAKKAIAaiAEIAVqKAIANgIAIAtBDHIiBCAKKAIAaiAEIAVqKAIANgIAIANBBGoiAyAJRw0ACwsgDEEDcSIJBEADQCADQQJ0IgQgCigCAGogBCAFaigCADYCACADQQFqIQMgD0EBaiIPIAlHDQALCyAKKAIAIQMLIAMgDEECdGogFTYCACAKIAooAgRBAWo2AgQgFUHgiQspAwAQ6AsCQAJAIAEoAjwiAyABQUBrKAIARg0AIAMoAgAiBSgCDARAIBUoAgBBAkcNAiAVKAIIIgMoAgRBA00NESAAIAMoAgAoAgwgBRCUCRC7AyELIBUoAgBBAkcNECAVKAIIIgMoAgRBA00NESADKAIAKAIMIgMoAgBBAkcNEiADKAIIIggoAgAhBQJAIAgoAgQiDCAIKAIIRwRAIAUhAwwBCyAIIAxBAXRBAmoiAzYCCCAIQYCoCyADQQJ0QQQQXSIDNgIAIAgoAgQiDEUEQEEAIQwMAQtBACEPQQAhAyAMQQRPBEAgDEF8cSEJA0AgA0ECdCIKIAgoAgBqIAUgCmooAgA2AgAgCkEEciIEIAgoAgBqIAQgBWooAgA2AgAgCkEIciIEIAgoAgBqIAQgBWooAgA2AgAgCkEMciIEIAgoAgBqIAQgBWooAgA2AgAgA0EEaiIDIAlHDQALCyAMQQNxIgkEQANAIANBAnQiBCAIKAIAaiAEIAVqKAIANgIAIANBAWohAyAPQQFqIg8gCUcNAAsLIAgoAgAhAwsgAyAMQQJ0aiALNgIAIAggCCgCBEEBajYCBCAHQQY2AuwCIAdBrBY2AugCIAcgBykC6AI3A+ABIAdB4AJqIAdB4AFqEGUgACABKAI8KAIAEJMJIQMgCyAHKQPgAiADELoDELsDIQsgFSgCAEECRw0QIBUoAggiAygCBEEDTQ0RIAMoAgAoAgwiAygCAEECRw0SIAMoAggiCCgCACEFAkAgCCgCBCIMIAgoAghHBEAgBSEDDAELIAggDEEBdEECaiIDNgIIIAhBgKgLIANBAnRBBBBdIgM2AgAgCCgCBCIMRQRAQQAhDAwBC0EAIQ9BACEDIAxBBE8EQCAMQXxxIQkDQCADQQJ0IgogCCgCAGogBSAKaigCADYCACAKQQRyIgQgCCgCAGogBCAFaigCADYCACAKQQhyIgQgCCgCAGogBCAFaigCADYCACAKQQxyIgQgCCgCAGogBCAFaigCADYCACADQQRqIgMgCUcNAAsLIAxBA3EiCQRAA0AgA0ECdCIEIAgoAgBqIAQgBWooAgA2AgAgA0EBaiEDIA9BAWoiDyAJRw0ACwsgCCgCACEDCyADIAxBAnRqIAs2AgAgCCAIKAIEQQFqNgIEQaigCykDACHGASAHQQY2AuwCIAdBrBY2AugCIAcgBykC6AI3A9gBIAdB2AJqIAdB2AFqEGUgBykD2AIhAkGAqAtBEEEIEF0iBSACNwIIIAVBADYCACAHQQY2AuwCIAdB4P4BNgLoAiAHIAcpAugCNwPQASAHQdACaiAHQdABahBlIAcpA9ACIQJBgKgLQRBBCBBdIgMgAjcCCCADQQA2AgAgCyDGASAFIAIQ2wMQugMgASgCPCgCACIDKQMoIAMpAyBYDQEgFSgCAEECRw0QIBUoAggiAygCBEEDTQ0RIAMoAgAoAgwhBCAHQQY2AuwCIAdBrBY2AugCIAcgBykC6AI3A8gBIAdByAJqIAdByAFqEGUgBykDyAIhAkGAqAtBEEEIEF0iBSACNwIIIAVBADYCACAHQQQ2AuwCIAdBtjU2AugCIAcgBykC6AI3A8ABIAdBwAJqIAdBwAFqEGUgBykDwAIhAkGAqAtBEEEIEF0iAyACNwIIIANBADYCACAFIAIQ2wMhhQEgB0GQpwspAwA3A7gCQaChCykDACECQYCoC0EQQQgQXSIFIAI3AgggBUEANgIAIAcgBykDuAI3A7gBIIUBIAdBuAFqIAUQ8wEhCyAEKAIAQQJHDRIgBCgCCCIIKAIAIQUCQCAIKAIEIgwgCCgCCEcEQCAFIQMMAQsgCCAMQQF0QQJqIgM2AgggCEGAqAsgA0ECdEEEEF0iAzYCACAIKAIEIgxFBEBBACEMDAELQQAhD0EAIQMgDEEETwRAIAxBfHEhCQNAIANBAnQiCiAIKAIAaiAFIApqKAIANgIAIApBBHIiBCAIKAIAaiAEIAVqKAIANgIAIApBCHIiBCAIKAIAaiAEIAVqKAIANgIAIApBDHIiBCAIKAIAaiAEIAVqKAIANgIAIANBBGoiAyAJRw0ACwsgDEEDcSIJBEADQCADQQJ0IgQgCCgCAGogBCAFaigCADYCACADQQFqIQMgD0EBaiIPIAlHDQALCyAIKAIAIQMLIAMgDEECdGogCzYCACAIIAgoAgRBAWo2AgQMAQsQuwMhCyAVKAIAQQJHDQ8gFSgCCCIDKAIEQQNNDRAgAygCACgCDCIDKAIAQQJHDREgAygCCCIIKAIAIQUCQCAIKAIEIgwgCCgCCEcEQCAFIQMMAQsgCCAMQQF0QQJqIgM2AgggCEGAqAsgA0ECdEEEEF0iAzYCACAIKAIEIgxFBEBBACEMDAELQQAhD0EAIQMgDEEETwRAIAxBfHEhCQNAIANBAnQiCiAIKAIAaiAFIApqKAIANgIAIApBBHIiBCAIKAIAaiAEIAVqKAIANgIAIApBCHIiBCAIKAIAaiAEIAVqKAIANgIAIApBDHIiBCAIKAIAaiAEIAVqKAIANgIAIANBBGoiAyAJRw0ACwsgDEEDcSIJBEADQCADQQJ0IgQgCCgCAGogBCAFaigCADYCACADQQFqIQMgD0EBaiIPIAlHDQALCyAIKAIAIQMLIAMgDEECdGogCzYCACAIIAgoAgRBAWo2AgRBqKALKQMAIcYBIAdBCzYC7AIgB0Hn/gE2AugCIAcgBykC6AI3A7ABIAdBsAJqIAdBsAFqEGUgBykDsAIhAkGAqAtBEEEIEF0iBCACNwIIIARBADYCACABKAI8KAIAKAIgIQNBgKgLQRBBCBBdIgVBATYCACAFIANBEHS4OQMIIAsgxgEgBCAFEIIEEIEEELoDCwJAIAEoAlQiDCABKAJYIgtHBEADQCAMKAIAIggoAgwEQCAVKAIAQQJHDQMgFSgCCCIDKAIEQQNNDRMgACADKAIAKAIMIAgQlAkQuwMhCiAVKAIAQQJHDRIgFSgCCCIDKAIEQQNNDRMgAygCACgCDCIDKAIAQQJHDRQgAygCCCIRKAIAIQUCQCARKAIEIg4gESgCCEcEQCAFIQMMAQsgESAOQQF0QQJqIgM2AgggEUGAqAsgA0ECdEEEEF0iAzYCACARKAIEIg5FBEBBACEODAELQQAhD0EAIQMgDkEETwRAIA5BfHEhCQNAIANBAnQiFiARKAIAaiAFIBZqKAIANgIAIBZBBHIiBCARKAIAaiAEIAVqKAIANgIAIBZBCHIiBCARKAIAaiAEIAVqKAIANgIAIBZBDHIiBCARKAIAaiAEIAVqKAIANgIAIANBBGoiAyAJRw0ACwsgDkEDcSIJBEADQCADQQJ0IgQgESgCAGogBCAFaigCADYCACADQQFqIQMgD0EBaiIPIAlHDQALCyARKAIAIQMLIAMgDkECdGogCjYCACARIBEoAgRBAWo2AgQgCkHAoQspAwAgACAIEJMJELoDCyAMQQRqIgwgC0cNAAsLIBUoAgBBAkYEQCAVKAIIIgMoAgRBA0sEQCAHIAMoAgAoAgw2AugCIAEoAjwgASgCQEcEQCAHIAdB6AJqNgKQBiAHQZAGaiIDQcClCykDAEHgngspAwAQmwUgA0HIpQspAwBB6J4LKQMAEJsFIANB0KULKQMAQfCeCykDABCbBSADQeClCykDAEH4ngspAwAQmwUgA0HopQspAwBBgJ8LKQMAEJsFIANB8KULKQMAQYifCykDABCbBSADQdilCykDAEGQnwspAwAQmwUgA0H4pQspAwBBmJ8LKQMAEJsFCyAHIAdB6AJqNgKQBiAHQZAGaiIDQcigCykDAEG4nwspAwAQzQQgA0HgowspAwBByJ8LKQMAEM0EIANB0KALKQMAQeifCykDABDNBCADQeCgCykDAEHAnwspAwAQzQQgA0GAoQspAwBB0J8LKQMAEM0EIANBiKELKQMAQdifCykDABDNBCADQeigCykDAEHwnwspAwAQzQQgA0HYoAspAwBB+J8LKQMAEM0EIANB8KALKQMAQYCgCykDABDNBCADQfigCykDAEGIoAspAwAQzQQCQCABKAIMIhQgASgCECILRwRAA0ACQCAUKAIAIhYoAgxFDQAgFSgCAEECRw0DIBUoAggiAygCBEEDTQ0WIBYoAhQiBUGYrQsoAgBGDQBBoK0LKAIAIAVGDQBBqK0LKAIAIAVGDQBBsK0LKAIAIAVGDQBBuK0LKAIAIAVGDQBBwK0LKAIAIAVGDQBB6K0LKAIAIAVGDQBByK0LKAIAIAVGDQBB0K0LKAIAIAVGDQBB2K0LKAIAIAVGDQBB4K0LKAIAIAVGDQBB8K0LKAIAIAVGDQBB+K0LKAIAIAVGDQBBgK4LKAIAIAVGDQAgACADKAIAKAIMIgMgFhCUCRC7AyEKIAMoAgBBAkcNFyADKAIIIhEoAgAhBQJAIBEoAgQiEyARKAIIRwRAIAUhAwwBCyARIBNBAXRBAmoiAzYCCCARQYCoCyADQQJ0QQQQXSIDNgIAIBEoAgQiE0UEQEEAIRMMAQtBACEPQQAhAyATQQRPBEAgE0F8cSEJA0AgA0ECdCIIIBEoAgBqIAUgCGooAgA2AgAgCEEEciIEIBEoAgBqIAQgBWooAgA2AgAgCEEIciIEIBEoAgBqIAQgBWooAgA2AgAgCEEMciIEIBEoAgBqIAQgBWooAgA2AgAgA0EEaiIDIAlHDQALCyATQQNxIgkEQANAIANBAnQiBCARKAIAaiAEIAVqKAIANgIAIANBAWohAyAPQQFqIg8gCUcNAAsLIBEoAgAhAwsgAyATQQJ0aiAKNgIAIBEgESgCBEEBajYCBCAHIBYpAgAiAjcDqAEgByACNwOQBiAHQegCaiAAIAdBqAFqQQEQ8gIgACAWEJMJIQMgCiAHKQPoAiADELoDCyAUQQRqIhQgC0cNAAsLAkAgASgCGCIOIAEoAhwiC0cEQANAIA4oAgAiFigCDARAIBUoAgBBAkcNAyAVKAIIIgMoAgRBA00NFyAAIAMoAgAoAgwiAyAWEJQJELsDIQogAygCAEECRw0YIAMoAggiESgCACEFAkAgESgCBCITIBEoAghHBEAgBSEDDAELIBEgE0EBdEECaiIDNgIIIBFBgKgLIANBAnRBBBBdIgM2AgAgESgCBCITRQRAQQAhEwwBC0EAIQ9BACEDIBNBBE8EQCATQXxxIQkDQCADQQJ0IgggESgCAGogBSAIaigCADYCACAIQQRyIgQgESgCAGogBCAFaigCADYCACAIQQhyIgQgESgCAGogBCAFaigCADYCACAIQQxyIgQgESgCAGogBCAFaigCADYCACADQQRqIgMgCUcNAAsLIBNBA3EiCQRAA0AgA0ECdCIEIBEoAgBqIAQgBWooAgA2AgAgA0EBaiEDIA9BAWoiDyAJRw0ACwsgESgCACEDCyADIBNBAnRqIAo2AgAgESARKAIEQQFqNgIEIAAgFhCTCSEDIBYoAhxBAkYEQCAHQbikCykDADcD6AJBgKgLQRBBCBBdIgVCADcDCCAFQQE2AgAgByAHKQPoAjcDoAEgAyAHQaABaiAFEPMBIQMLIAcgFikCACICNwOYASAHIAI3A5AGIAdB6AJqIAAgB0GYAWpBARDyAiAKIAcpA+gCIAMQugMLIA5BBGoiDiALRw0ACwsgASgCDCIDIAEoAhAiBUcEQANAIAcgAygCACkCACICNwOoAiAHIAI3A5ABIAdB6AJqIAAgB0GQAWpBARDyAiADQQRqIgMgBUcNAAsLAkACQAJAAkACQAJAAkAgASgCGCIPIAEoAhwiC0YEQAwBCwNAAkAgDygCACIWKAIMDQAgFSgCAEECRw0IIBUoAggiAygCBEEDTQ0dIAMoAgAoAgwhBQJAAkACQCAWKAIgIhEoAgBBCmsOBQEGBgYABgsgESgCBCIDQQdPBEAgAygCBEUNCkGFwQZBnJIDQdQGQdH2AhABAAsCQAJAAkACQCADQQJrDgQACgECCgsgESgCGEECRw0gIBEoAgghA0GAqAtBEEEIEF0iFyADtzkDCCAXQQE2AgAMAgsgESgCGEEERw0KQeCjCykDACHIASARKgIIIcwBQYCoC0EQQQgQXSIDIMwBuzkDCCADQQE2AgAgyAFBqKQLKQMAIAMQgAQQnQMhFwwBCyARKAIYQQVHDQggESsDCCHNAUGAqAtBEEEIEF0iAyDNATkDCCADQQE2AgBBqKQLKQMAIAMQgAQhFwsQuwMhCiAFKAIAQQJHDSAgBSgCCCIRKAIAIQUCQCARKAIEIgwgESgCCEcEQCAFIQMMAQsgESAMQQF0QQJqIgM2AgggEUGAqAsgA0ECdEEEEF0iAzYCACARKAIEIgxFBEBBACEMDAELQQAhDkEAIQMgDEEETwRAIAxBfHEhCQNAIANBAnQiCCARKAIAaiAFIAhqKAIANgIAIAhBBHIiBCARKAIAaiAEIAVqKAIANgIAIAhBCHIiBCARKAIAaiAEIAVqKAIANgIAIAhBDHIiBCARKAIAaiAEIAVqKAIANgIAIANBBGoiAyAJRw0ACwsgDEEDcSIJBEADQCADQQJ0IgQgESgCAGogBCAFaigCADYCACADQQFqIQMgDkEBaiIOIAlHDQALCyARKAIAIQMLIAMgDEECdGogCjYCACARIBEoAgRBAWo2AgQgByAWKQIAIgI3A3ggByACNwOQBiAHQegCaiAAIAdB+ABqQQEQ8gIgCiAHKQPoAiAXELoDDAELELsDIQogBSgCAEECRw0fIAUoAggiEigCACEFAkAgEigCBCIXIBIoAghHBEAgBSEDDAELIBIgF0EBdEECaiIDNgIIIBJBgKgLIANBAnRBBBBdIgM2AgAgEigCBCIXRQRAQQAhFwwBC0EAIQ5BACEDIBdBBE8EQCAXQXxxIQkDQCADQQJ0IgggEigCAGogBSAIaigCADYCACAIQQRyIgQgEigCAGogBCAFaigCADYCACAIQQhyIgQgEigCAGogBCAFaigCADYCACAIQQxyIgQgEigCAGogBCAFaigCADYCACADQQRqIgMgCUcNAAsLIBdBA3EiCQRAA0AgA0ECdCIEIBIoAgBqIAQgBWooAgA2AgAgA0EBaiEDIA5BAWoiDiAJRw0ACwsgEigCACEDCyADIBdBAnRqIAo2AgAgEiASKAIEQQFqNgIEIAcgFikCACICNwOIASAHIAI3A5AGIAdB6AJqIAAgB0GIAWpBARDyAiAHIBEpAggiAjcDgAEgByACNwOgBiAHQagGaiAAIAdBgAFqQQEQ8gIgBykDqAYhAkGAqAtBEEEIEF0iAyACNwIIIANBADYCACAKIAcpA+gCIAMQugMLIAAtABZFDQBBASAaIBYoAgBByKkLKAIARhshGgsgD0EEaiIPIAtHDQALCwJAIAAtABcEQCAVKAIAQQJHDQEgFSgCCCIDKAIEQQNNDRwgAygCACgCDCEDIAdBGjYC7AIgB0HzoAc2AugCIAcgBykC6AI3A3AgB0GgAmogB0HwAGoQZSAHKQOgAiECQYCoC0EQQQgQXSILIAI3AgggC0EANgIAIAMoAgBBAkcNHSADKAIIIggoAgAhBQJAIAgoAgQiDCAIKAIIRwRAIAUhAwwBCyAIIAxBAXRBAmoiAzYCCCAIQYCoCyADQQJ0QQQQXSIDNgIAIAgoAgQiDEUEQEEAIQwMAQtBACEPQQAhAyAMQQRPBEAgDEF8cSEJA0AgA0ECdCIKIAgoAgBqIAUgCmooAgA2AgAgCkEEciIEIAgoAgBqIAQgBWooAgA2AgAgCkEIciIEIAgoAgBqIAQgBWooAgA2AgAgCkEMciIEIAgoAgBqIAQgBWooAgA2AgAgA0EEaiIDIAlHDQALCyAMQQNxIgkEQANAIANBAnQiBCAIKAIAaiAEIAVqKAIANgIAIANBAWohAyAPQQFqIg8gCUcNAAsLIAgoAgAhAwsgAyAMQQJ0aiALNgIAIAggCCgCBEEBajYCBAsCQCABKAIMIhQgASgCECIKRwRAA0AgFCgCACIFKAIMRQRAIBUoAgBBAkcNAyAVKAIIIgMoAgRBA00NHyADKAIAKAIMIQMgACABIAUQohEhCyADKAIAQQJHDSAgAygCCCIWKAIAIQUCQCAWKAIEIg4gFigCCEcEQCAFIQMMAQsgFiAOQQF0QQJqIgM2AgggFkGAqAsgA0ECdEEEEF0iAzYCACAWKAIEIg5FBEBBACEODAELQQAhD0EAIQMgDkEETwRAIA5BfHEhCQNAIANBAnQiCCAWKAIAaiAFIAhqKAIANgIAIAhBBHIiBCAWKAIAaiAEIAVqKAIANgIAIAhBCHIiBCAWKAIAaiAEIAVqKAIANgIAIAhBDHIiBCAWKAIAaiAEIAVqKAIANgIAIANBBGoiAyAJRw0ACwsgDkEDcSIJBEADQCADQQJ0IgQgFigCAGogBCAFaigCADYCACADQQFqIQMgD0EBaiIPIAlHDQALCyAWKAIAIQMLIAMgDkECdGogCzYCACAWIBYoAgRBAWo2AgQLIBRBBGoiFCAKRw0ACwsCQAJAAkACQAJAAkAgGkH/AXEEQCAVKAIAQQJHDQYgFSgCCCIDKAIEQQNNDSMgAygCACgCDCEEIAdCgICAgCA3ApQCIAdCgICAgCA3A2hBsKELKQMAIcoBIAdBnAJqIAdB6ABqEKcDIYgBQdSJC0EANgIAIAdBADYC8AIgB0IANwLoAkHIqQspAwAhAkEMIA1BEEEEEAQhC0HUiQsoAgAhhgFB1IkLQQA2AgAghgFBAUYNASALIAI3AgggC0KKgICAIDcCAEHUiQtBADYCAEEMIA1BDEEEEAQhCUHUiQsoAgAhhwFB1IkLQQA2AgAghwFBAUYNASAJIAs2AgggCUKTgICAEDcCACCIASgCACGJAUHUiQtBADYCACDKASCJASAHQegCaiAJEI0DIQVB1IkLKAIAIYoBQdSJC0EANgIAIIoBQQFGDQFB1IkLQQA2AgAgByAFNgKQBkEtIAEgB0GQBmoQAiEFQdSJCygCACGLAUHUiQtBADYCACCLAUEBRg0CQdSJC0EANgIAQZUCIAAgASAFEAQhCkHUiQsoAgAhjAFB1IkLQQA2AgAgjAFBAUYNAiAEKAIAQQJHBEBB1IkLQQA2AgBBDUH/9wVB5IYDQbMDQfj7AhAFQdSJCygCACGNAUHUiQtBADYCACCNAUEBRg0DDBsLIAQoAggiDSgCACEJAkAgDSgCBCIDIA0oAghHBEAgCSEFDAELIA0gA0EBdEECaiIFNgIIQQAhA0HUiQtBADYCAEEMQYCoCyAFQQJ0QQQQBCEFQdSJCygCACGOAUHUiQtBADYCACCOAUEBRg0DIA0gBTYCACANKAIEIgRFDQBBACEPIARBBE8EQCAEQXxxIQsDQCADQQJ0IgggDSgCAGogCCAJaigCADYCACAIQQRyIgUgDSgCAGogBSAJaigCADYCACAIQQhyIgUgDSgCAGogBSAJaigCADYCACAIQQxyIgUgDSgCAGogBSAJaigCADYCACADQQRqIgMgC0cNAAsLIARBA3EiCwRAA0AgA0ECdCIFIA0oAgBqIAUgCWooAgA2AgAgA0EBaiEDIA9BAWoiDyALRw0ACwsgDSgCACEFIAQhAwsgBSADQQJ0aiAKNgIAIA0gDSgCBEEBajYCBCAHKAKQBiIDBEAgAxCkAhBaCyAHKALoAiIDBEAgAxBaC0EUEFwhA0GwoQspAwAhAiADQQA2AhAgAyACNwIIIAMgAjcCACABIAMQ3wQaCyAALQAXRQ0EIBUoAgBBAkcNISAVKAIIIgMoAgRBA00NIiADKAIAKAIMIQMgB0EYNgLsAiAHQY6hBzYC6AIgByAHKQLoAjcDYCAHQYgCaiAHQeAAahBlIAcpA4gCIQJBgKgLQRBBCBBdIgsgAjcCCCALQQA2AgAgAygCAEECRw0jIAMoAggiCCgCACEFIAgoAgQiDCAIKAIIRg0CIAUhAwwDCxAAIQMMGwsQACEDIAdBkAZqEMcCDBoLIAggDEEBdEECaiIDNgIIIAhBgKgLIANBAnRBBBBdIgM2AgAgCCgCBCIMRQRAQQAhDAwBC0EAIQ9BACEDIAxBBE8EQCAMQXxxIQkDQCADQQJ0IgogCCgCAGogBSAKaigCADYCACAKQQRyIgQgCCgCAGogBCAFaigCADYCACAKQQhyIgQgCCgCAGogBCAFaigCADYCACAKQQxyIgQgCCgCAGogBCAFaigCADYCACADQQRqIgMgCUcNAAsLIAxBA3EiCQRAA0AgA0ECdCIEIAgoAgBqIAQgBWooAgA2AgAgA0EBaiEDIA9BAWoiDyAJRw0ACwsgCCgCACEDCyADIAxBAnRqIAs2AgAgCCAIKAIEQQFqNgIECwJAIAEQmAoEQCAVKAIAQQJHDQEgFSgCCCIDKAIEQQNNDR8gAygCACgCDCEEIAdBCjYC7AIgB0H1OTYC6AIgByAHKQLoAjcDWCAHQYACaiAHQdgAahBlIAcpA4ACIQJBgKgLQRBBCBBdIgUgAjcCCCAFQQA2AgAgB0GQpwspAwA3A/gBQeClCykDACECQYCoC0EQQQgQXSIDIAI3AgggA0EANgIAIAcgBykD+AE3A1AgBSAHQdAAaiADEPMBIQsgBCgCAEECRw0gIAQoAggiCCgCACEFAkAgCCgCBCIMIAgoAghHBEAgBSEDDAELIAggDEEBdEECaiIDNgIIIAhBgKgLIANBAnRBBBBdIgM2AgAgCCgCBCIMRQRAQQAhDAwBC0EAIQ9BACEDIAxBBE8EQCAMQXxxIQkDQCADQQJ0IgogCCgCAGogBSAKaigCADYCACAKQQRyIgQgCCgCAGogBCAFaigCADYCACAKQQhyIgQgCCgCAGogBCAFaigCADYCACAKQQxyIgQgCCgCAGogBCAFaigCADYCACADQQRqIgMgCUcNAAsLIAxBA3EiCQRAA0AgA0ECdCIEIAgoAgBqIAQgBWooAgA2AgAgA0EBaiEDIA9BAWoiDyAJRw0ACwsgCCgCACEDCyADIAxBAnRqIAs2AgAgCCAIKAIEQQFqNgIECwJAAkAgASgCTCIDIAEoAkgiCUYNACAJKAIALQAUBEBBASADIAlrQQJ1IgQgBEEBTRshBUEAIQMDQCADQQFqIgMgBUYNAiAJIANBAnRqKAIALQAUDQALIAMgBE8NAQsgFSgCAEECRw0BIBUoAggiAygCBEEDTQ0gIAMoAgAoAgwhBCAHQRI2AuwCIAdBqaABNgLoAiAHIAcpAugCNwNIIAdB8AFqIAdByABqEGUgBykD8AEhAkGAqAtBEEEIEF0iBSACNwIIIAVBADYCAEHgiQspAwAhAkGAqAtBEEEIEF0iAyACNwIIIANBADYCACAFIAMQggQhCyAEKAIAQQJHDSEgBCgCCCIIKAIAIQUCQCAIKAIEIgwgCCgCCEcEQCAFIQMMAQsgCCAMQQF0QQJqIgM2AgggCEGAqAsgA0ECdEEEEF0iAzYCACAIKAIEIgxFBEBBACEMDAELQQAhD0EAIQMgDEEETwRAIAxBfHEhCQNAIANBAnQiCiAIKAIAaiAFIApqKAIANgIAIApBBHIiBCAIKAIAaiAEIAVqKAIANgIAIApBCHIiBCAIKAIAaiAEIAVqKAIANgIAIApBDHIiBCAIKAIAaiAEIAVqKAIANgIAIANBBGoiAyAJRw0ACwsgDEEDcSIJBEADQCADQQJ0IgQgCCgCAGogBCAFaigCADYCACADQQFqIQMgD0EBaiIPIAlHDQALCyAIKAIAIQMLIAMgDEECdGogCzYCACAIIAgoAgRBAWo2AgQLIBUoAgBBAkYEQCAVKAIIIgMoAgRBA0sEQAJAAkACQCABKAJYIAEoAlRGDQAgAygCACgCDCEZQYCoC0EQQQgQXSIDQQM2AgAgA0ECELQCIRpBgKgLQRBBCBBdIgtBADYCACALQfimCykDADcCCCAaKAIAQQJHDSUgGigCCCIIKAIAIQUCQCAIKAIEIgwgCCgCCEcEQCAFIQMMAQsgCCAMQQF0QQJqIgM2AgggCEGAqAsgA0ECdEEEEF0iAzYCACAIKAIEIgxFBEBBACEMDAELQQAhD0EAIQMgDEEETwRAIAxBfHEhCQNAIANBAnQiCiAIKAIAaiAFIApqKAIANgIAIApBBHIiBCAIKAIAaiAEIAVqKAIANgIAIApBCHIiBCAIKAIAaiAEIAVqKAIANgIAIApBDHIiBCAIKAIAaiAEIAVqKAIANgIAIANBBGoiAyAJRw0ACwsgDEEDcSIJBEADQCADQQJ0IgQgCCgCAGogBCAFaigCADYCACADQQFqIQMgD0EBaiIPIAlHDQALCyAIKAIAIQMLIAMgDEECdGogCzYCACAIIAgoAgRBAWo2AgRBgKgLQRBBCBBdIgNBAzYCACADQQAQtAIhCyAaKAIAQQJHDSUgGigCCCIIKAIAIQUCQCAIKAIEIgwgCCgCCEcEQCAFIQMMAQsgCCAMQQF0QQJqIgM2AgggCEGAqAsgA0ECdEEEEF0iAzYCACAIKAIEIgxFBEBBACEMDAELQQAhD0EAIQMgDEEETwRAIAxBfHEhCQNAIANBAnQiCiAIKAIAaiAFIApqKAIANgIAIApBBHIiBCAIKAIAaiAEIAVqKAIANgIAIApBCHIiBCAIKAIAaiAEIAVqKAIANgIAIApBDHIiBCAIKAIAaiAEIAVqKAIANgIAIANBBGoiAyAJRw0ACwsgDEEDcSIJBEADQCADQQJ0IgQgCCgCAGogBCAFaigCADYCACADQQFqIQMgD0EBaiIPIAlHDQALCyAIKAIAIQMLIAMgDEECdGogCzYCACAIIAgoAgRBAWo2AgQgASgCVCIQIAEoAlgiDUYNAEEAIRYDQAJAAkAgECgCACIFKAIwIgNBB0kNACADKAIEQQFHDQAgAygCCCIDQQ9NBEAgA0EBRw0BDAILIAMoAhBFDQELIAdB6AJqEKkCIQBB1IkLQQA2AgBBlgIgAEGCnQcQAiEBQdSJCygCACGPAUHUiQtBADYCACCPAUEBRg0iDCMLAkAgBSgCDARAQQEhFgwBCyAHQQE6APQCIAdBADYC8AIgB0IANwLoAgJAIAUoAgAiCkUEQEHUiQtBADYCAEENQdXFBkHTkQNB9ABBvKABEAVB1IkLKAIAIZABQdSJC0EANgIAIJABQQFHDR8MAQsCQAJAAkACQAJAAkAgASgCMCIDIAEoAjQiC0cEQANAAkAgAygCACIIKAIMIApHDQACQAJAIAgoAhQiBCgCAEEORw0AIAgoAhgiDkEHSQ0AIA4oAgRBAUcNACAOKAIIIgVBD00EQCAFQQFHDQEMAgsgBSgCEEUNAQsgB0EAOgD0AgwBCwJAAkAgBCgCGEECRgRAIAQoAggiCSAIKAIgIAgoAhxrQQJ1aiIEIAcoAuwCIAcoAugCa0EDdSIFSwRAQdSJC0EANgIAQZcCIAdB6AJqIAQgBWsQA0HUiQsoAgAhkQFB1IkLQQA2AgAgkQFBAUYNDCAIKAIYIg5BB0kNBAsgDigCBEEBRw0DIA4oAggiBUEPSw0BIAVBAUYNAgwDC0HUiQtBADYCAEENQZmxBUHmmgNBmAJBoq4FEAVB1IkLKAIAIZIBQdSJC0EANgIAIJIBQQFHDSkMCwsgBSgCEA0BCyAIKAIgIhQgCCgCHCIORg0AIAcoAugCIAlBA3RqIQRBACEPA0AgDiAPQQJ0aigCACIFKAIAQStGBEAgBCAPQQN0aiAFKQIINwIAIAgoAhwhDiAIKAIgIRQLIA9BAWoiDyAUIA5rQQJ1SQ0ACwsgA0EEaiIDIAtHDQALIActAPQCRQ0BCyAHQQQ2ApQGIAdBnOoCNgKQBkHUiQtBADYCACAHIAcpApAGNwM4QQYgB0GoBmogB0E4ahADQdSJCygCACGTAUHUiQtBADYCACCTAUEBRg0EIAcoAugCIhchDCAXIAcoAuwCIgtGDQEDQAJAIAwoAgBFBEAgB0GoBmohAwwBCyAMKQIAIQJB1IkLQQA2AgAgByACNwPoBSAHIAI3AzBBmAIgB0HwBWoiAyAAIAdBMGpBARAFQdSJCygCACGUAUHUiQtBADYCACCUAUEBRg0GCyAMIAMpAgAiAjcCAEHUiQtBADYCAEEMQYCoC0EQQQgQBCEKQdSJCygCACGVAUHUiQtBADYCACCVAUEBRg0FIAogAjcCCCAKQQA2AgAgGigCAEECRwRAQa4DIQVB5IYDIQ9B//cFIQ4MBQtBvAEhBUGJogMhD0HFogEhDiAaKAIIIgMoAgQiCUUNBEHwIyEUQaIOIRtBt4oFIRMgAygCACIEKAIAIgMoAgANAyADKAIIQfimCygCAEcNAyAJQQFGDQQgBCgCBCIDKAIAQQJHBEBB+PsCIRRBswMhG0H/9wUhEwwECyADKAIIIhEoAgAhBQJAIBEoAgQiEyARKAIIRwRAIAUhAwwBCyARIBNBAXRBAmoiAzYCCEHUiQtBADYCAEEMQYCoCyADQQJ0QQQQBCEDQdSJCygCACGWAUHUiQtBADYCACCWAUEBRg0GIBEgAzYCACARKAIEIhNFBEBBACETDAELQQAhD0EAIQMgE0EETwRAIBNBfHEhCQNAIANBAnQiCCARKAIAaiAFIAhqKAIANgIAIAhBBHIiBCARKAIAaiAEIAVqKAIANgIAIAhBCHIiBCARKAIAaiAEIAVqKAIANgIAIAhBDHIiBCARKAIAaiAEIAVqKAIANgIAIANBBGoiAyAJRw0ACwsgE0EDcSIJBEADQCADQQJ0IgQgESgCAGogBCAFaigCADYCACADQQFqIQMgD0EBaiIPIAlHDQALCyARKAIAIQMLIAMgE0ECdGogCjYCACARIBEoAgRBAWo2AgQgDEEIaiIMIAtHDQALDAELIBAoAgApAyAhAkHUiQtBADYCAEEMQYCoC0EQQQgQBCEFQdSJCygCACGXAUHUiQtBADYCACCXAUEBRg0DIAVBATYCACAFIAKnuDkDCCAHQQU2ApQGIAdB1SQ2ApAGQdSJC0EANgIAIAcgBykCkAY3A0BBBiAHQeAFaiAHQUBrEANB1IkLKAIAIZgBQdSJC0EANgIAIJgBQQFGDQNB1IkLQQA2AgBBmQIgBykD4AUgBRCjCSEFQdSJCygCACGZAUHUiQtBADYCACCZAUEBRg0DQdSJC0EANgIAQZoCIAUQBiEaQdSJCygCACGaAUHUiQtBADYCACCaAUEBRg0DQQEhFiAHKALoAiEXCyAXRQ0FIBcQWgwFC0HUiQtBADYCAEENIBNB5IYDIBsgFBAFQdSJCygCACGbAUHUiQtBADYCACCbAUEBRw0hDAELQdSJC0EANgIAQQ0gDiAPIAVBpogFEAVB1IkLKAIAIZwBQdSJC0EANgIAIJwBQQFHDSALEAAhAwwiCwsQACEDDCALAkACQAJAAkACQCABKAJUIgMgASgCWEYNACADKAIAIgkoAgwNACABKAIAIgMgASgCBCIERg0AA0AgAygCACIFKAIQQQFGBEAgBSgCCCAJKAIARg0DCyADQQRqIgMgBEcNAAsLIBAoAgAoAgwNAxC7AyELIBkoAgBBAkcNKiAZKAIIIggoAgAhBSAIKAIEIgwgCCgCCEYNASAFIQMMAgsgECgCACgCDARAIAdB6AJqEKkCIQBB1IkLQQA2AgBBmwIgABAGIQFB1IkLKAIAIZ0BQdSJC0EANgIAIJ0BQQFHDSYMJQsQuwMhCyAZKAIAQQJHDSkgGSgCCCIIKAIAIQUCQCAIKAIEIgwgCCgCCEcEQCAFIQMMAQsgCCAMQQF0QQJqIgM2AgggCEGAqAsgA0ECdEEEEF0iAzYCACAIKAIEIgxFBEBBACEMDAELQQAhD0EAIQMgDEEETwRAIAxBfHEhCQNAIANBAnQiCiAIKAIAaiAFIApqKAIANgIAIApBBHIiBCAIKAIAaiAEIAVqKAIANgIAIApBCHIiBCAIKAIAaiAEIAVqKAIANgIAIApBDHIiBCAIKAIAaiAEIAVqKAIANgIAIANBBGoiAyAJRw0ACwsgDEEDcSIJBEADQCADQQJ0IgQgCCgCAGogBCAFaigCADYCACADQQFqIQMgD0EBaiIPIAlHDQALCyAIKAIAIQMLIAMgDEECdGogCzYCACAIIAgoAgRBAWo2AgQgB0EFNgLsAiAHQaiyBDYC6AIgByAHKQLoAjcDKCAHQdgFaiAHQShqEGUgBykD2AUgGhCdAyEDIAtBwKELKQMAIAMQugMMAgsgCCAMQQF0QQJqIgM2AgggCEGAqAsgA0ECdEEEEF0iAzYCACAIKAIEIgxFBEBBACEMDAELQQAhD0EAIQMgDEEETwRAIAxBfHEhCQNAIANBAnQiCiAIKAIAaiAFIApqKAIANgIAIApBBHIiBCAIKAIAaiAEIAVqKAIANgIAIApBCHIiBCAIKAIAaiAEIAVqKAIANgIAIApBDHIiBCAIKAIAaiAEIAVqKAIANgIAIANBBGoiAyAJRw0ACwsgDEEDcSIJBEADQCADQQJ0IgQgCCgCAGogBCAFaigCADYCACADQQFqIQMgD0EBaiIPIAlHDQALCyAIKAIAIQMLIAMgDEECdGogCzYCACAIIAgoAgRBAWo2AgQgC0HAoQspAwAgGhC6AwsCQCAWRQ0AIBAoAgAoAgAiCEUNAyABKAIwIhQgASgCNCIKRg0AA0ACQCAUKAIAIhcoAgwgCEcNACAXKAIYIgNBB0kNACADKAIEQQFHDQAgFygCFCESAkAgAygCCCIDQQ9NBEAgA0EBRg0BDAILIAMoAhANAQsgFygCICIFIBcoAhwiA0YNAEEAIRsDQCADIBtBAnRqKAIAIgQoAgBBK0YEQCAEKQIIIcYBAkACQAJAAkACQAJAAkACQAJAIBIoAgBBCmsOBQEGBgYABgsgEigCGEECRw0wIBIoAgghA0GAqAtBEEEIEF0iBUEBNgIAIAUgAyAbarg5AwgMAQsgEigCDCIJQfD///8HTw0PIBIoAgghBAJAAkAgCUELTwRAIAlBD3JBAWoiAxBcIQUgByADQYCAgIB4cjYCmAYgByAFNgKQBiAHIAk2ApQGDAELIAcgCToAmwYgB0GQBmohBSAJRQ0BCyAFIAQgCfwKAAALIAUgCWpBADoAAEHUiQtBADYCAEGSAiAHQegCaiIFIAdBkAZqEANB1IkLKAIAIZ4BQdSJC0EANgIAIJ4BQQFGDQEgByAHKALoAiAFIAcsAPMCQQBIGyIDEGw2AqwGIAcgAzYCqAZB1IkLQQA2AgAgByAHKQKoBjcDIEEGIAdBoAZqIAdBIGoQA0HUiQsoAgAhnwFB1IkLQQA2AgAgnwFBAUYNAkHUiQtBADYCACAHKQOgBiECQQxBgKgLQRBBCBAEIQRB1IkLKAIAIaABQdSJC0EANgIAIKABQQFGDQIgBCACNwIIIARBADYCAEHUiQtBADYCACAHQaikCykDADcDqAZBDEGAqAtBEEEIEAQhBUHUiQsoAgAhoQFB1IkLQQA2AgAgoQFBAUYNAiAFQQE2AgAgBSAbuDkDCEHUiQtBADYCACAHIAcpA6gGNwMYQZwCIAQgB0EYaiAFEAQhBUHUiQsoAgAhogFB1IkLQQA2AgAgogFBAUYNAiAHLADzAkEASARAIAcoAugCEFoLIAcsAJsGQQBODQAgBygCkAYQWgtBwKELKQMAIQJBgKgLQRBBCBBdIgMgAjcCCCADQQA2AgAgAyAFEPEDIaMBIAcgxgE3A/gFIAcgxgE3AxAgB0GQpwspAwA3A4gGIAdBgAZqIAAgB0EQakEBEPICIAcpA4AGIQJBgKgLQRBBCBBdIgUgAjcCCCAFQQA2AgAgByAHKQOIBjcDCCCjASAHQQhqIAUQ8wEhCyAZKAIAQQJHDTEgGSgCCCITKAIAIQUgEygCBCIMIBMoAghGDQQgBSEDDAULEAAhAwwBCxAAIQMgBywA8wJBAE4NACAHKALoAhBaCyAHLACbBkEATg0oIAcoApAGEFoMKAtBu/cDQZySA0HcBRBiAAsgEyAMQQF0QQJqIgM2AgggE0GAqAsgA0ECdEEEEF0iAzYCACATKAIEIgxFBEBBACEMDAELQQAhD0EAIQMgDEEETwRAIAxBfHEhCQNAIANBAnQiESATKAIAaiAFIBFqKAIANgIAIBFBBHIiBCATKAIAaiAEIAVqKAIANgIAIBFBCHIiBCATKAIAaiAEIAVqKAIANgIAIBFBDHIiBCATKAIAaiAEIAVqKAIANgIAIANBBGoiAyAJRw0ACwsgDEEDcSIJBEADQCADQQJ0IgQgEygCAGogBCAFaigCADYCACADQQFqIQMgD0EBaiIPIAlHDQALCyATKAIAIQMLIAMgDEECdGogCzYCACATIBMoAgRBAWo2AgQgFygCICEFIBcoAhwhAwsgG0EBaiIbIAUgA2tBAnVJDQALCyAUQQRqIhQgCkcNAAsLIBBBBGoiECANRw0ACwsgFSgCAEECRw0iIBUoAggiAygCBEEDTQ0jIAEoAmAEQCADKAIAKAIMIQMgByABKQJgIgI3AwAgByACNwOQBiAHQegCaiAAIAdBARDyAiAHKQPoAhCaBSELIAMoAgBBAkcNJSADKAIIIggoAgAhBQJAIAgoAgQiDCAIKAIIRwRAIAUhAwwBCyAIIAxBAXRBAmoiAzYCCCAIQYCoCyADQQJ0QQQQXSIDNgIAIAgoAgQiDEUEQEEAIQwMAQtBACEPQQAhAyAMQQRPBEAgDEF8cSEJA0AgA0ECdCIKIAgoAgBqIAUgCmooAgA2AgAgCkEEciIEIAgoAgBqIAQgBWooAgA2AgAgCkEIciIEIAgoAgBqIAQgBWooAgA2AgAgCkEMciIEIAgoAgBqIAQgBWooAgA2AgAgA0EEaiIDIAlHDQALCyAMQQNxIgkEQANAIANBAnQiBCAIKAIAaiAEIAVqKAIANgIAIANBAWohAyAPQQFqIg8gCUcNAAsLIAgoAgAhAwsgAyAMQQJ0aiALNgIAIAggCCgCBEEBajYCBCAVKAIAQQJHDSMLIBUoAggiAygCBEEDTQ0jIAAhBSADKAIAKAIMIQwjAEGACmsiBiQAEM4HIRUCQAJAAkACQAJAAkACQAJAAkACQCABKAIAIhggASgCBCIIRwRAIAZB9AVqIREgBkGoBmohFgNAAkACQAJAAkACQAJAIBgoAgAiACgCEEEBag4GAwQBAAIDBQsQzgchEhDOByEDIAZBBDYCtAQgBkG2NTYCsAQgBiAGKQKwBDcD8AMgBkHoB2ogBkHwA2oQZSASIAYpA+gHIAMQmAUgASgCPCgCACIAKQMoIAApAyBWBEAgBkEFNgK0BCAGQffPAzYCsAQgBiAGKQKwBDcD6AMgBkHgB2ogBkHoA2oQZUGgoQspAwAhAkGAqAtBEEEIEF0iACACNwIIIABBADYCACADIAYpA+AHIAAQmAULEM4HIQ0gBkEANgK0BCAGQZWrBzYCsAQgBiAGKQKwBDcD4AMgBkHYB2ogBkHgA2oQZSAGKQPYBxDQByIKKAIAQQJHDTMgCigCCCIAKAIEQQNNDTQgACgCACgCDCEDQaigCykDACECQYCoC0EQQQgQXSIAIAI3AgggAEEANgIAIAAQ0QUhCyADKAIAQQJHDTUgAygCCCIZKAIAIQMCQCAZKAIEIhMgGSgCCEcEQCADIQAMAQsgGSATQQF0QQJqIgA2AgggGUGAqAsgAEECdEEEEF0iADYCACAZKAIEIhNFBEBBACETDAELQQAhD0EAIQAgE0EETwRAIBNBfHEhCQNAIABBAnQiFyAZKAIAaiADIBdqKAIANgIAIBdBBHIiBCAZKAIAaiADIARqKAIANgIAIBdBCHIiBCAZKAIAaiADIARqKAIANgIAIBdBDHIiBCAZKAIAaiADIARqKAIANgIAIABBBGoiACAJRw0ACwsgE0EDcSIJBEADQCAAQQJ0IgQgGSgCAGogAyAEaigCADYCACAAQQFqIQAgD0EBaiIPIAlHDQALCyAZKAIAIQALIAAgE0ECdGogCzYCACAZIBkoAgRBAWo2AgQgBkEDNgK0BCAGQYOEATYCsAQgBiAGKQKwBDcD2AMgBkHQB2ogBkHYA2oQZSANIAYpA9AHIAoQmAUgBkEGNgK0BCAGQeD+ATYCsAQgBiAGKQKwBDcD0AMgBkHIB2ogBkHQA2oQZSASIAYpA8gHIA0QmAUgBkEGNgK0BCAGQe6MATYCsAQgBiAGKQKwBDcDyAMgBkHAB2ogBkHIA2oQZSAGKQPAByECQYCoC0EQQQgQXSIAIAI3AgggAEEANgIAIAZBBjYCtAQgBkHb2wM2ArAEIAYgBikCsAQ3A8ADIAZBuAdqIAZBwANqEGUgACAGKQO4BxDbAyGkASAGQQY2ArQEIAZB7owBNgKwBCAGIAYpArAENwO4AyAGQbAHaiAGQbgDahBlIAYpA7AHIQJBgKgLQRBBCBBdIgMgAjcCCCADQQA2AgAgBkEJNgK0BCAGQYvoAzYCsAQgBiAGKQKwBDcDsAMgBkGoB2ogBkGwA2oQZSCkASADIAYpA6gHENsDEIIEIgAgEhDRAyAGIBgoAgApAgAiAjcDqAMgBiACNwOYByAGQaAHaiAFIAZBqANqQQAQ8gIgFSAGKQOgByAAEJgFDAQLIAYgACkCACICNwP4AyAGIAI3A4gHIAZBkAdqIAUgBkH4A2pBABDyAkHAoQspAwAhAkGAqAtBEEEIEF0iACACNwIIIABBADYCACAVIAYpA5AHIAAQmAUMAwsQzgchGiAGIBgoAgApAggiAjcDqAQgBiACNwOAByAGQfgJaiAFIAZBqARqQQEQ8gIQzQciDSgCAEECRw0xIA0oAggiACgCBEEBTQ0yIAAoAgAoAgQhAyAGKQP4CSHGAUGAqAtBEEEIEF0iACDGATcCCCAAQQA2AgAgABDRBSELIAMoAgBBAkcNMyADKAIIIhIoAgAhAwJAIBIoAgQiEyASKAIIRwRAIAMhAAwBCyASIBNBAXRBAmoiADYCCCASQYCoCyAAQQJ0QQQQXSIANgIAIBIoAgQiE0UEQEEAIRMMAQtBACEPQQAhACATQQRPBEAgE0F8cSEJA0AgAEECdCIKIBIoAgBqIAMgCmooAgA2AgAgCkEEciIEIBIoAgBqIAMgBGooAgA2AgAgCkEIciIEIBIoAgBqIAMgBGooAgA2AgAgCkEMciIEIBIoAgBqIAMgBGooAgA2AgAgAEEEaiIAIAlHDQALCyATQQNxIgkEQANAIABBAnQiBCASKAIAaiADIARqKAIANgIAIABBAWohACAPQQFqIg8gCUcNAAsLIBIoAgAhAAsgACATQQJ0aiALNgIAIBIgEigCBEEBajYCBCAGQQU2ArQEIAZB988DNgKwBCAGIAYpArAENwOgBCAGQfgGaiAGQaAEahBlIBooAgBBAkcNMSAaKAIIIgAoAgQiBEUNMiAAKAIAIgMoAgAiACgCAA0FIAAoAghBgKcLKAIARw0FIARBAUYNMiAGKQP4BiECIAMoAgQhCkGAqAtBEEEIEF0iAEEDNgIAIABBAhC0AiEZQYCoC0EQQQgQXSIAQQM2AgAgAEECELQCIRdBgKgLQRBBCBBdIgtBADYCACALQbinCykDADcCCCAXKAIAQQJHDTMgFygCCCIQKAIAIQMCQCAQKAIEIg4gECgCCEcEQCADIQAMAQsgECAOQQF0QQJqIgA2AgggEEGAqAsgAEECdEEEEF0iADYCACAQKAIEIg5FBEBBACEODAELQQAhD0EAIQAgDkEETwRAIA5BfHEhCQNAIABBAnQiEiAQKAIAaiADIBJqKAIANgIAIBJBBHIiBCAQKAIAaiADIARqKAIANgIAIBJBCHIiBCAQKAIAaiADIARqKAIANgIAIBJBDHIiBCAQKAIAaiADIARqKAIANgIAIABBBGoiACAJRw0ACwsgDkEDcSIJBEADQCAAQQJ0IgQgECgCAGogAyAEaigCADYCACAAQQFqIQAgD0EBaiIPIAlHDQALCyAQKAIAIQALIAAgDkECdGogCzYCACAQIBAoAgRBAWo2AgRBgKgLQRBBCBBdIgsgAjcCCCALQQA2AgAgFygCAEECRw0zIBcoAggiECgCACEDAkAgECgCBCIOIBAoAghHBEAgAyEADAELIBAgDkEBdEECaiIANgIIIBBBgKgLIABBAnRBBBBdIgA2AgAgECgCBCIORQRAQQAhDgwBC0EAIQ9BACEAIA5BBE8EQCAOQXxxIQkDQCAAQQJ0IhIgECgCAGogAyASaigCADYCACASQQRyIgQgECgCAGogAyAEaigCADYCACASQQhyIgQgECgCAGogAyAEaigCADYCACASQQxyIgQgECgCAGogAyAEaigCADYCACAAQQRqIgAgCUcNAAsLIA5BA3EiCQRAA0AgAEECdCIEIBAoAgBqIAMgBGooAgA2AgAgAEEBaiEAIA9BAWoiDyAJRw0ACwsgECgCACEACyAAIA5BAnRqIAs2AgAgECAQKAIEQQFqNgIEIBkoAgBBAkcNMyAZKAIIIhIoAgAhAwJAIBIoAgQiDiASKAIIRwRAIAMhAAwBCyASIA5BAXRBAmoiADYCCCASQYCoCyAAQQJ0QQQQXSIANgIAIBIoAgQiDkUEQEEAIQ4MAQtBACEPQQAhACAOQQRPBEAgDkF8cSEJA0AgAEECdCILIBIoAgBqIAMgC2ooAgA2AgAgC0EEciIEIBIoAgBqIAMgBGooAgA2AgAgC0EIciIEIBIoAgBqIAMgBGooAgA2AgAgC0EMciIEIBIoAgBqIAMgBGooAgA2AgAgAEEEaiIAIAlHDQALCyAOQQNxIgkEQANAIABBAnQiBCASKAIAaiADIARqKAIANgIAIABBAWohACAPQQFqIg8gCUcNAAsLIBIoAgAhAAsgACAOQQJ0aiAXNgIAIBIgEigCBEEBajYCBCAZKAIAQQJHDTMgGSgCCCISKAIAIQMCQCASKAIEIg4gEigCCEcEQCADIQAMAQsgEiAOQQF0QQJqIgA2AgggEkGAqAsgAEECdEEEEF0iADYCACASKAIEIg5FBEBBACEODAELQQAhD0EAIQAgDkEETwRAIA5BfHEhCQNAIABBAnQiCyASKAIAaiADIAtqKAIANgIAIAtBBHIiBCASKAIAaiADIARqKAIANgIAIAtBCHIiBCASKAIAaiADIARqKAIANgIAIAtBDHIiBCASKAIAaiADIARqKAIANgIAIABBBGoiACAJRw0ACwsgDkEDcSIJBEADQCAAQQJ0IgQgEigCAGogAyAEaigCADYCACAAQQFqIQAgD0EBaiIPIAlHDQALCyASKAIAIQALIAAgDkECdGogDTYCACASIBIoAgRBAWo2AgQgCigCAEECRw0zIAooAggiCigCACEDAkAgCigCBCIOIAooAghHBEAgAyEADAELIAogDkEBdEECaiIANgIIIApBgKgLIABBAnRBBBBdIgA2AgAgCigCBCIORQRAQQAhDgwBC0EAIQ9BACEAIA5BBE8EQCAOQXxxIQkDQCAAQQJ0IgsgCigCAGogAyALaigCADYCACALQQRyIgQgCigCAGogAyAEaigCADYCACALQQhyIgQgCigCAGogAyAEaigCADYCACALQQxyIgQgCigCAGogAyAEaigCADYCACAAQQRqIgAgCUcNAAsLIA5BA3EiCQRAA0AgAEECdCIEIAooAgBqIAMgBGooAgA2AgAgAEEBaiEAIA9BAWoiDyAJRw0ACwsgCigCACEACyAAIA5BAnRqIBk2AgAgCiAKKAIEQQFqNgIEIAZBxJMKNgKoBiAGQbCTCjYC8AUgFiAREO0BIAZBnJMKNgKoBiAGQYiTCjYC8AUgBkKAgICAcDcC8AYgERDuASIZQbiMCjYCACAGQgA3ApwGIAZCADcClAYgBkEQNgKkBkHUiQtBADYCACAGQd8AOgCwBEEJIAZB8AVqIAZBsARqQQEQBCEDQdSJCygCACEAQdSJC0EANgIAAkACQAJAAkAgAEEBRg0AQdSJC0EANgIAQQkgAyDGAacgxgFCIIinEAQhvAFB1IkLKAIAIaUBQdSJC0EANgIAIKUBQQFGDQBB1IkLQQA2AgBBHSAGQeQFaiIDIBkQA0HUiQsoAgAhpgFB1IkLQQA2AgAgpgFBAUYNASAGIAYoAuQFIAMgBiwA7wVBAEgbIgAQbDYCtAQgBiAANgKwBEHUiQtBADYCACAGIAYpArAENwOYBEEGIAZB8AlqIAZBmARqEANB1IkLKAIAIacBQdSJC0EANgIAIKcBQQFGDQIgBiwA7wVBAEgEQCAGKALkBRBaC0HUiQtBADYCAEHlBRAZIRdB1IkLKAIAIagBQdSJC0EANgIAIKgBQQFGDQNBpogFIRIgFygCAEECRw0NQbwBIRtBiaIDIRRBxaIBIQ4gFygCCCIAKAIEQQJJDQ4gACgCACgCBCEDQdSJC0EANgIAQQxBgKgLQRBBCBAEIQlB1IkLKAIAIakBQdSJC0EANgIAIKkBQQFGDQMgCSDGATcCCCAJQQA2AgBB1IkLQQA2AgAgBkGQpwspAwA3A9gFIAYpA/AJIcYBQQxBgKgLQRBBCBAEIQRB1IkLKAIAIaoBQdSJC0EANgIAIKoBQQFGDQMgBCDGATcCCCAEQQA2AgBB1IkLQQA2AgAgBiAGKQPYBTcDkARBnAIgCSAGQZAEaiAEEAQhC0HUiQsoAgAhqwFB1IkLQQA2AgAgqwFBAUYNAyADKAIAQQJHBEBB1IkLQQA2AgBBDUH/9wVB5IYDQbMDQfj7AhAFQdSJCygCACGsAUHUiQtBADYCACCsAUEBRw0QEAAhAAwSCyADKAIIIhAoAgAhAwJAIBAoAgQiEyAQKAIIRwRAIAMhAAwBCyAQIBNBAXRBAmoiADYCCEHUiQtBADYCAEEMQYCoCyAAQQJ0QQQQBCEAQdSJCygCACGtAUHUiQtBADYCACCtAUEBRg0EIBAgADYCACAQKAIEIhNFBEBBACETDAELQQAhD0EAIQAgE0EETwRAIBNBfHEhCQNAIABBAnQiDSAQKAIAaiADIA1qKAIANgIAIA1BBHIiBCAQKAIAaiADIARqKAIANgIAIA1BCHIiBCAQKAIAaiADIARqKAIANgIAIA1BDHIiBCAQKAIAaiADIARqKAIANgIAIABBBGoiACAJRw0ACwsgE0EDcSIJBEADQCAAQQJ0IgQgECgCAGogAyAEaigCADYCACAAQQFqIQAgD0EBaiIPIAlHDQALCyAQKAIAIQALIAAgE0ECdGogCzYCACAQIBAoAgRBAWo2AgQgBkEFNgK0BCAGQffPAzYCsARB1IkLQQA2AgAgBiAGKQKwBDcDiARBBiAGQdAFaiAGQYgEahADQdSJCygCACGuAUHUiQtBADYCACCuAUEBRg0DIBooAgBBAkcNDSAaKAIIIgAoAgQiBEUNDiAAKAIAIgMoAgAiACgCAA0MIAAoAghBgKcLKAIARw0MIARBAUYNDiAGKQPQBSECIAMoAgQhC0HUiQtBADYCAEEMQYCoC0EQQQgQBCEDQdSJCygCACGvAUHUiQtBADYCACCvAUEBRg0DIANBAzYCAEHUiQtBADYCAEHmBSADQQIQAiETQdSJCygCACGwAUHUiQtBADYCACCwAUEBRg0DQdSJC0EANgIAQQxBgKgLQRBBCBAEIQNB1IkLKAIAIbEBQdSJC0EANgIAILEBQQFGDQMgA0EDNgIAQdSJC0EANgIAQeYFIANBAxACIRxB1IkLKAIAIbIBQdSJC0EANgIAILIBQQFGDQNB1IkLQQA2AgBBDEGAqAtBEEEIEAQhDUHUiQsoAgAhswFB1IkLQQA2AgAgswFBAUYNAyANQQA2AgAgDUHApwspAwA3AghB+PsCIRJBswMhGyAcKAIAQQJHDQsgHCgCCCIUKAIAIQMCQCAUKAIEIg4gFCgCCEcEQCADIQAMAQsgFCAOQQF0QQJqIgA2AghB1IkLQQA2AgBBDEGAqAsgAEECdEEEEAQhAEHUiQsoAgAhtAFB1IkLQQA2AgAgtAFBAUYNBCAUIAA2AgAgFCgCBCIORQRAQQAhDgwBC0EAIQ9BACEAIA5BBE8EQCAOQXxxIQkDQCAAQQJ0IhAgFCgCAGogAyAQaigCADYCACAQQQRyIgQgFCgCAGogAyAEaigCADYCACAQQQhyIgQgFCgCAGogAyAEaigCADYCACAQQQxyIgQgFCgCAGogAyAEaigCADYCACAAQQRqIgAgCUcNAAsLIA5BA3EiCQRAA0AgAEECdCIEIBQoAgBqIAMgBGooAgA2AgAgAEEBaiEAIA9BAWoiDyAJRw0ACwsgFCgCACEACyAAIA5BAnRqIA02AgAgFCAUKAIEQQFqNgIEQdSJC0EANgIAQQxBgKgLQRBBCBAEIQ1B1IkLKAIAIbUBQdSJC0EANgIAILUBQQFGDQMgDSACNwIIIA1BADYCACAcKAIAQQJHDQsgHCgCCCIUKAIAIQMCQCAUKAIEIg4gFCgCCEcEQCADIQAMAQsgFCAOQQF0QQJqIgA2AghB1IkLQQA2AgBBDEGAqAsgAEECdEEEEAQhAEHUiQsoAgAhtgFB1IkLQQA2AgAgtgFBAUYNBCAUIAA2AgAgFCgCBCIORQRAQQAhDgwBC0EAIQ9BACEAIA5BBE8EQCAOQXxxIQkDQCAAQQJ0IhAgFCgCAGogAyAQaigCADYCACAQQQRyIgQgFCgCAGogAyAEaigCADYCACAQQQhyIgQgFCgCAGogAyAEaigCADYCACAQQQxyIgQgFCgCAGogAyAEaigCADYCACAAQQRqIgAgCUcNAAsLIA5BA3EiCQRAA0AgAEECdCIEIBQoAgBqIAMgBGooAgA2AgAgAEEBaiEAIA9BAWoiDyAJRw0ACwsgFCgCACEACyAAIA5BAnRqIA02AgAgFCAUKAIEQQFqNgIEQdSJC0EANgIAQQxBgKgLQRBBCBAEIQ1B1IkLKAIAIbcBQdSJC0EANgIAILcBQQFGDQMgDSDGATcCCCANQQA2AgAgHCgCAEECRw0LIBwoAggiFCgCACEDAkAgFCgCBCIOIBQoAghHBEAgAyEADAELIBQgDkEBdEECaiIANgIIQdSJC0EANgIAQQxBgKgLIABBAnRBBBAEIQBB1IkLKAIAIbgBQdSJC0EANgIAILgBQQFGDQQgFCAANgIAIBQoAgQiDkUEQEEAIQ4MAQtBACEPQQAhACAOQQRPBEAgDkF8cSEJA0AgAEECdCIQIBQoAgBqIAMgEGooAgA2AgAgEEEEciIEIBQoAgBqIAMgBGooAgA2AgAgEEEIciIEIBQoAgBqIAMgBGooAgA2AgAgEEEMciIEIBQoAgBqIAMgBGooAgA2AgAgAEEEaiIAIAlHDQALCyAOQQNxIgkEQANAIABBAnQiBCAUKAIAaiADIARqKAIANgIAIABBAWohACAPQQFqIg8gCUcNAAsLIBQoAgAhAAsgACAOQQJ0aiANNgIAIBQgFCgCBEEBajYCBCATKAIAQQJHDQsgEygCCCIQKAIAIQMCQCAQKAIEIhQgECgCCEcEQCADIQAMAQsgECAUQQF0QQJqIgA2AghB1IkLQQA2AgBBDEGAqAsgAEECdEEEEAQhAEHUiQsoAgAhuQFB1IkLQQA2AgAguQFBAUYNBCAQIAA2AgAgECgCBCIURQRAQQAhFAwBC0EAIQ9BACEAIBRBBE8EQCAUQXxxIQkDQCAAQQJ0Ig0gECgCAGogAyANaigCADYCACANQQRyIgQgECgCAGogAyAEaigCADYCACANQQhyIgQgECgCAGogAyAEaigCADYCACANQQxyIgQgECgCAGogAyAEaigCADYCACAAQQRqIgAgCUcNAAsLIBRBA3EiCQRAA0AgAEECdCIEIBAoAgBqIAMgBGooAgA2AgAgAEEBaiEAIA9BAWoiDyAJRw0ACwsgECgCACEACyAAIBRBAnRqIBw2AgAgECAQKAIEQQFqNgIEIBMoAgBBAkcNCyATKAIIIhAoAgAhAwJAIBAoAgQiDiAQKAIIRwRAIAMhAAwBCyAQIA5BAXRBAmoiADYCCEHUiQtBADYCAEEMQYCoCyAAQQJ0QQQQBCEAQdSJCygCACG6AUHUiQtBADYCACC6AUEBRg0EIBAgADYCACAQKAIEIg5FBEBBACEODAELQQAhD0EAIQAgDkEETwRAIA5BfHEhCQNAIABBAnQiDSAQKAIAaiADIA1qKAIANgIAIA1BBHIiBCAQKAIAaiADIARqKAIANgIAIA1BCHIiBCAQKAIAaiADIARqKAIANgIAIA1BDHIiBCAQKAIAaiADIARqKAIANgIAIABBBGoiACAJRw0ACwsgDkEDcSIJBEADQCAAQQJ0IgQgECgCAGogAyAEaigCADYCACAAQQFqIQAgD0EBaiIPIAlHDQALCyAQKAIAIQALIAAgDkECdGogFzYCACAQIBAoAgRBAWo2AgRB//cFIQ5B5IYDIRQgCygCAEECRw0OIAsoAggiDSgCACEDAkAgDSgCBCIOIA0oAghHBEAgAyEADAELIA0gDkEBdEECaiIANgIIQdSJC0EANgIAQQxBgKgLIABBAnRBBBAEIQBB1IkLKAIAIbsBQdSJC0EANgIAILsBQQFGDQQgDSAANgIAIA0oAgQiDkUEQEEAIQ4MAQtBACEPQQAhACAOQQRPBEAgDkF8cSEJA0AgAEECdCILIA0oAgBqIAMgC2ooAgA2AgAgC0EEciIEIA0oAgBqIAMgBGooAgA2AgAgC0EIciIEIA0oAgBqIAMgBGooAgA2AgAgC0EMciIEIA0oAgBqIAMgBGooAgA2AgAgAEEEaiIAIAlHDQALCyAOQQNxIgkEQANAIABBAnQiBCANKAIAaiADIARqKAIANgIAIABBAWohACAPQQFqIg8gCUcNAAsLIA0oAgAhAAsgACAOQQJ0aiATNgIAIA0gDSgCBEEBajYCBCC8AUGIkwo2AgAgBkGckwo2AqgGIBlBuIwKNgIAIAYsAJ8GQQBIBEAgBigClAYQWgsgGRDrARogFhDoARogBiAYKAIAKQIAIgI3A4AEIAYgAjcDwAUgBkHIBWogBSAGQYAEakEAEPICIBUgBikDyAUgGhCYBQwGCxAAIQAMEAsQACEADA8LEAAhACAGLADvBUEATg0OIAYoAuQFEFoMDgsQACEADA0LIAZBsARqEKkCIQNB1IkLQQA2AgBBCSADQQhqQe33BkEZEAQaQdSJCygCACEAQdSJC0EANgIAAkAgAEEBRg0AIBgoAgApAgAhAkHUiQtBADYCAEEhIAMgAhC4AiEBQdSJCygCACG9AUHUiQtBADYCACC9AUEBRg0AQdSJC0EANgIAQdoAIAFBlKsHEAIhAUHUiQsoAgAhvgFB1IkLQQA2AgAgvgFBAUcNBgsQABogAxBxAAsgBiAAKQIAIgI3A6ADIAYgAjcDgAggBkGICGogBSAGQaADakEAEPICIAYgGCgCACkCCCICNwOYAyAGIAI3A/AHIAZB+AdqIAUgBkGYA2pBARDyAiAGKQP4ByECQYCoC0EQQQgQXSIAIAI3AgggAEEANgIAIBUgBikDiAggABCYBQsgGEEEaiIYIAhHDQALCwJAIAEoAjwgAUFAaygCAEYNAEGooQspAwAQ0AciCigCAEECRw0tIAooAggiACgCBEEDTQ0uIAAoAgAoAgwhBUGooAspAwAhAkGAqAtBEEEIEF0iACACNwIIIABBADYCACAGQQo2ArQEIAZBsv4CNgKwBCAGIAYpArAENwOQAyAGQZgIaiAGQZADahBlIAAgBikDmAgQ2wMhvwEgBkGQpQspAwA3A5AIQYCoC0EQQQgQXSIDQoCAgICAgID4wAA3AwggA0EBNgIAIAYgBikDkAg3A4gDIL8BIAZBiANqIAMQ8wEhwAEgBkG4pAspAwA3A7AEQYCoC0EQQQgQXSIDQgA3AwggA0EBNgIAIAYgBikDsAQ3A4ADIMABIAZBgANqIAMQ8wEQ0QUhCyAFKAIAQQJHDS8gBSgCCCINKAIAIQMCQCANKAIEIgUgDSgCCEcEQCADIQAMAQsgDSAFQQF0QQJqIgA2AgggDUGAqAsgAEECdEEEEF0iADYCACANKAIEIgVFBEBBACEFDAELQQAhGEEAIQAgBUEETwRAIAVBfHEhCQNAIABBAnQiCCANKAIAaiADIAhqKAIANgIAIAhBBHIiBCANKAIAaiADIARqKAIANgIAIAhBCHIiBCANKAIAaiADIARqKAIANgIAIAhBDHIiBCANKAIAaiADIARqKAIANgIAIABBBGoiACAJRw0ACwsgBUEDcSIJBEADQCAAQQJ0IgQgDSgCAGogAyAEaigCADYCACAAQQFqIQAgGEEBaiIYIAlHDQALCyANKAIAIQALIAAgBUECdGogCzYCACANIA0oAgRBAWo2AgQgDCgCAEECRw0vIAwoAggiCCgCACEDAkAgCCgCBCIFIAgoAghHBEAgAyEADAELIAggBUEBdEECaiIANgIIIAhBgKgLIABBAnRBBBBdIgA2AgAgCCgCBCIFRQRAQQAhBQwBC0EAIRhBACEAIAVBBE8EQCAFQXxxIQkDQCAAQQJ0IgsgCCgCAGogAyALaigCADYCACALQQRyIgQgCCgCAGogAyAEaigCADYCACALQQhyIgQgCCgCAGogAyAEaigCADYCACALQQxyIgQgCCgCAGogAyAEaigCADYCACAAQQRqIgAgCUcNAAsLIAVBA3EiCQRAA0AgAEECdCIEIAgoAgBqIAMgBGooAgA2AgAgAEEBaiEAIBhBAWoiGCAJRw0ACwsgCCgCACEACyAAIAVBAnRqIAo2AgAgCCAIKAIEQQFqNgIEIAEoAjwiACABKAJARg0AIAAoAgAiACkDKCAAKQMgWA0AQaChCykDABDQByEIIAZBCjYCtAQgBkHG5AQ2ArAEIAYgBikCsAQ3A/gCIAZB6AlqIAZB+AJqEGUgCCAGKQPoCRDoCyAIKAIAQQJHDS0gCCgCCCIAKAIEQQNNDS4gACgCACgCDCEEIAZBCjYCtAQgBkHG5AQ2ArAEIAYgBikCsAQ3A/ACIAZB4AlqIAZB8AJqEGUgBikD4AkhAkGAqAtBEEEIEF0iBSACNwIIIAVBADYCACAGQZCnCykDADcD2AkgBkEKNgK0BCAGQcbkBDYCsAQgBiAGKQKwBDcD6AIgBkHQCWogBkHoAmoQZSAGKQPQCSECQYCoC0EQQQgQXSIDIAI3AgggA0EANgIAIAZBuKQLKQMANwOwBEGAqAtBEEEIEF0iAEIANwMIIABBATYCACAGIAYpA7AENwPgAiADIAZB4AJqIAAQ8wEhACAGIAYpA9gJNwPYAiAFIAZB2AJqIAAQ8wEhCyAEKAIAQQJHDS8gBCgCCCINKAIAIQMCQCANKAIEIgUgDSgCCEcEQCADIQAMAQsgDSAFQQF0QQJqIgA2AgggDUGAqAsgAEECdEEEEF0iADYCACANKAIEIgVFBEBBACEFDAELQQAhGEEAIQAgBUEETwRAIAVBfHEhCQNAIABBAnQiCiANKAIAaiADIApqKAIANgIAIApBBHIiBCANKAIAaiADIARqKAIANgIAIApBCHIiBCANKAIAaiADIARqKAIANgIAIApBDHIiBCANKAIAaiADIARqKAIANgIAIABBBGoiACAJRw0ACwsgBUEDcSIJBEADQCAAQQJ0IgQgDSgCAGogAyAEaigCADYCACAAQQFqIQAgGEEBaiIYIAlHDQALCyANKAIAIQALIAAgBUECdGogCzYCACANIA0oAgRBAWo2AgQQuwMhCyAIKAIAQQJHDS0gCCgCCCIAKAIEQQNNDS4gACgCACgCDCIAKAIAQQJHDS8gACgCCCINKAIAIQMCQCANKAIEIgUgDSgCCEcEQCADIQAMAQsgDSAFQQF0QQJqIgA2AgggDUGAqAsgAEECdEEEEF0iADYCACANKAIEIgVFBEBBACEFDAELQQAhGEEAIQAgBUEETwRAIAVBfHEhCQNAIABBAnQiCiANKAIAaiADIApqKAIANgIAIApBBHIiBCANKAIAaiADIARqKAIANgIAIApBCHIiBCANKAIAaiADIARqKAIANgIAIApBDHIiBCANKAIAaiADIARqKAIANgIAIABBBGoiACAJRw0ACwsgBUEDcSIJBEADQCAAQQJ0IgQgDSgCAGogAyAEaigCADYCACAAQQFqIQAgGEEBaiIYIAlHDQALCyANKAIAIQALIAAgBUECdGogCzYCACANIA0oAgRBAWo2AgQgBkEINgK0BCAGQazZATYCsAQgBiAGKQKwBDcD0AIgBkHICWogBkHQAmoQZUGooQspAwAQmgUhwQEgBkG4pAspAwA3A7AEQYCoC0EQQQgQXSIDQgA3AwggA0EBNgIAIAYgBikDsAQ3A8gCIMEBIAZByAJqIAMQ8wEhACALIAYpA8gJIAAQugMQuwMhCyAIKAIAQQJHDS0gCCgCCCIAKAIEQQNNDS4gACgCACgCDCIAKAIAQQJHDS8gACgCCCINKAIAIQMCQCANKAIEIgUgDSgCCEcEQCADIQAMAQsgDSAFQQF0QQJqIgA2AgggDUGAqAsgAEECdEEEEF0iADYCACANKAIEIgVFBEBBACEFDAELQQAhGEEAIQAgBUEETwRAIAVBfHEhCQNAIABBAnQiCiANKAIAaiADIApqKAIANgIAIApBBHIiBCANKAIAaiADIARqKAIANgIAIApBCHIiBCANKAIAaiADIARqKAIANgIAIApBDHIiBCANKAIAaiADIARqKAIANgIAIABBBGoiACAJRw0ACwsgBUEDcSIJBEADQCAAQQJ0IgQgDSgCAGogAyAEaigCADYCACAAQQFqIQAgGEEBaiIYIAlHDQALCyANKAIAIQALIAAgBUECdGogCzYCACANIA0oAgRBAWo2AgQgBkEINgK0BCAGQaPZATYCsAQgBiAGKQKwBDcDwAIgBkHACWogBkHAAmoQZSAGQQg2ArQEIAZBrNkBNgKwBCAGIAYpArAENwO4AiAGQbgJaiAGQbgCahBlIAYpA7gJIQJBgKgLQRBBCBBdIgMgAjcCCCADQQA2AgAgBkGopAspAwA3A7AJIAZBCjYCtAQgBkHG5AQ2ArAEIAYgBikCsAQ3A7ACIAZBqAlqIAZBsAJqEGUgBikDqAkhAkGAqAtBEEEIEF0iACACNwIIIABBADYCACAGIAYpA7AJNwOoAiADIAZBqAJqIAAQ8wEhwgEgBkG4pAspAwA3A7AEQYCoC0EQQQgQXSIDQgA3AwggA0EBNgIAIAYgBikDsAQ3A6ACIMIBIAZBoAJqIAMQ8wEhACALIAYpA8AJIAAQugMQzQchDSAIKAIAQQJHDS0gCCgCCCIAKAIEQQNNDS4gACgCACgCDCEEIAZBCDYCtAQgBkGs2QE2ArAEIAYgBikCsAQ3A5gCIAZBoAlqIAZBmAJqEGUgBikDoAkhAkGAqAtBEEEIEF0iAyACNwIIIANBADYCACAGQeCkCykDADcDmAkgBkEINgK0BCAGQaPZATYCsAQgBiAGKQKwBDcDkAIgBkGQCWogBkGQAmoQZSAGKQOQCSECQYCoC0EQQQgQXSIAIAI3AgggAEEANgIAIAYgBikDmAk3A4gCIAMgBkGIAmogABDzASHDASAGQdS7BjYCsAQgBkECNgK0BCAGIAYpArAENwOAAiAGQYgJaiAGQYACahBlIAZBCDYCtAQgBkGj2QE2ArAEIAYgBikCsAQ3A/gBIAZBgAlqIAZB+AFqEGUgBikDgAkhAkGAqAtBEEEIEF0iBSACNwIIIAVBADYCACAGQeCkCykDADcD+AhBgKgLQRBBCBBdIgBCgICAgICAgPjAADcDCCAAQQE2AgAgBiAGKQP4CDcD8AEgBSAGQfABaiAAEPMBIQAgBiAGKQKICTcD6AEgwwEgBkHoAWogABDzASANQQAQmREhCSAEKAIAQQJHDS8gBCgCCCIKKAIAIQMCQCAKKAIEIhMgCigCCEcEQCADIQAMAQsgCiATQQF0QQJqIgA2AgggCkGAqAsgAEECdEEEEF0iADYCACAKKAIEIhNFBEBBACETDAELQQAhFEEAIQAgE0EETwRAIBNBfHEhBANAIABBAnQiCyAKKAIAaiADIAtqKAIANgIAIAtBBHIiBSAKKAIAaiADIAVqKAIANgIAIAtBCHIiBSAKKAIAaiADIAVqKAIANgIAIAtBDHIiBSAKKAIAaiADIAVqKAIANgIAIABBBGoiACAERw0ACwsgE0EDcSIEBEADQCAAQQJ0IgUgCigCAGogAyAFaigCADYCACAAQQFqIQAgFEEBaiIUIARHDQALCyAKKAIAIQALIAAgE0ECdGogCTYCACAKIAooAgRBAWo2AgQgDRC7AyIDEO8DIAZBCTYCtAQgBkHz/gE2ArAEIAYgBikCsAQ3A+ABIAZB8AhqIAZB4AFqEGVBoJ8LKQMAIcsBQcigCykDACHJASAGQQg2ArQEIAZBo9kBNgKwBCAGIAYpArAENwPYASAGQegIaiAGQdgBahBlIAYpA+gIIQJBgKgLQRBBCBBdIgUgAjcCCCAFQQA2AgBBgKgLQRBBCBBdIgBCgICAgICAgPjAADcDCCAAQQE2AgAgywEgyQEgBSAAEKEGEJ0DEIEEIQAgAyAGKQPwCCAAELoDIA0QuwMiAxDvAyAGQQg2ArQEIAZB2pwFNgKwBCAGIAYpArAENwPQASAGQeAIaiAGQdABahBlQeCeCykDACECQYCoC0EQQQgQXSIFIAI3AgggBUEANgIAIAZBCTYCtAQgBkHz/gE2ArAEIAYgBikCsAQ3A8gBIAZB2AhqIAZByAFqEGUgBikD2AghAkGAqAtBEEEIEF0iACACNwIIIABBADYCACAFIAAQggQQgQQhACADIAYpA+AIIAAQugMgBkEINgK0BCAGQdqcBTYCsAQgBiAGKQKwBDcDwAEgBkHQCGogBkHAAWoQZSAGKQPQCCECQYCoC0EQQQgQXSIAIAI3AgggAEEANgIAIAZBAzYCtAQgBkHm/wA2ArAEIAYgBikCsAQ3A7gBIAZByAhqIAZBuAFqEGUgACAGKQPICBDbAyEAQcClCykDACECQYCoC0EQQQgQXSIDIAI3AgggA0EANgIAIA0gACADEIIEEO8DQeCeCykDACHGAUHApQspAwAhAkGAqAtBEEEIEF0iBSACNwIIIAVBADYCACAGQZCnCykDADcD+AlBgKgLQRBBCBBdIgMgxgE3AgggA0EANgIAIAZBCTYCtAQgBkHz/gE2ArAEIAYgBikCsAQ3A7ABIAZB8AlqIgQgBkGwAWoQZSAGKQPwCSECQYCoC0EQQQgQXSIAIAI3AgggAEEANgIAIAMgABCCBBCBBCEAIAYgBikD+Ak3A6gBIA0gBSAGQagBaiAAEPMBEO8DQeieCykDACHGAUHIpQspAwAhAkGAqAtBEEEIEF0iBSACNwIIIAVBADYCACAGQZCnCykDADcD+AlBgKgLQRBBCBBdIgMgxgE3AgggA0EANgIAIAZBCTYCtAQgBkHz/gE2ArAEIAYgBikCsAQ3A6ABIAQgBkGgAWoQZSAGKQPwCSECQYCoC0EQQQgQXSIAIAI3AgggAEEANgIAIAMgABCCBBCBBCEAIAYgBikD+Ak3A5gBIA0gBSAGQZgBaiAAEPMBEO8DQfCeCykDACHGAUHQpQspAwAhAkGAqAtBEEEIEF0iBSACNwIIIAVBADYCACAGQZCnCykDADcD+AlBgKgLQRBBCBBdIgMgxgE3AgggA0EANgIAIAZBCTYCtAQgBkHz/gE2ArAEIAYgBikCsAQ3A5ABIAQgBkGQAWoQZSAGKQPwCSECQYCoC0EQQQgQXSIAIAI3AgggAEEANgIAIAMgABCCBBCBBCEAIAYgBikD+Ak3A4gBIA0gBSAGQYgBaiAAEPMBEO8DQfieCykDACHGAUHgpQspAwAhAkGAqAtBEEEIEF0iBSACNwIIIAVBADYCACAGQZCnCykDADcD+AlBgKgLQRBBCBBdIgMgxgE3AgggA0EANgIAIAZBCTYCtAQgBkHz/gE2ArAEIAYgBikCsAQ3A4ABIAQgBkGAAWoQZSAGKQPwCSECQYCoC0EQQQgQXSIAIAI3AgggAEEANgIAIAMgABCCBBCBBCEAIAYgBikD+Ak3A3ggDSAFIAZB+ABqIAAQ8wEQ7wNBgJ8LKQMAIcYBQeilCykDACECQYCoC0EQQQgQXSIFIAI3AgggBUEANgIAIAZBkKcLKQMANwP4CUGAqAtBEEEIEF0iAyDGATcCCCADQQA2AgAgBkEJNgK0BCAGQfP+ATYCsAQgBiAGKQKwBDcDcCAEIAZB8ABqEGUgBikD8AkhAkGAqAtBEEEIEF0iACACNwIIIABBADYCACADIAAQggQQgQQhACAGIAYpA/gJNwNoIA0gBSAGQegAaiAAEPMBEO8DQYifCykDACHGAUHwpQspAwAhAkGAqAtBEEEIEF0iBSACNwIIIAVBADYCACAGQZCnCykDADcD+AlBgKgLQRBBCBBdIgMgxgE3AgggA0EANgIAIAZBCTYCtAQgBkHz/gE2ArAEIAYgBikCsAQ3A2AgBCAGQeAAahBlIAYpA/AJIQJBgKgLQRBBCBBdIgAgAjcCCCAAQQA2AgAgAyAAEIIEEIEEIQAgBiAGKQP4CTcDWCANIAUgBkHYAGogABDzARDvA0GQnwspAwAhxgFB2KULKQMAIQJBgKgLQRBBCBBdIgUgAjcCCCAFQQA2AgAgBkGQpwspAwA3A/gJQYCoC0EQQQgQXSIDIMYBNwIIIANBADYCACAGQQk2ArQEIAZB8/4BNgKwBCAGIAYpArAENwNQIAQgBkHQAGoQZSAGKQPwCSECQYCoC0EQQQgQXSIAIAI3AgggAEEANgIAIAMgABCCBBCBBCEAIAYgBikD+Ak3A0ggDSAFIAZByABqIAAQ8wEQ7wNBmJ8LKQMAIcYBQfilCykDACECQYCoC0EQQQgQXSIFIAI3AgggBUEANgIAIAZBkKcLKQMANwP4CUGAqAtBEEEIEF0iAyDGATcCCCADQQA2AgAgBkEJNgK0BCAGQfP+ATYCsAQgBiAGKQKwBDcDQCAEIAZBQGsQZSAGKQPwCSECQYCoC0EQQQgQXSIAIAI3AgggAEEANgIAIAMgABCCBBCBBCEAIAYgBikD+Ak3AzggDSAFIAZBOGogABDzARDvA0GooAspAwAhAkGAqAtBEEEIEF0iAyACNwIIIANBADYCACAGQZCnCykDADcD+AkgBkEJNgK0BCAGQfP+ATYCsAQgBiAGKQKwBDcDMCAEIAZBMGoQZSAGKQPwCSECQYCoC0EQQQgQXSIAIAI3AgggAEEANgIAIAYgBikD+Ak3AyggDSADIAZBKGogABDzARDvAwJAIAEoAjwiACABKAJARg0AIAAoAgAoAgxFDQAgBkEGNgK0BCAGQawWNgKwBCAGIAYpArAENwMgIAZBwAhqIAZBIGoQZSAGKQPACCECQYCoC0EQQQgQXSIDIAI3AgggA0EANgIAQaigCykDACECQYCoC0EQQQgQXSIAIAI3AgggAEEANgIAIAMgAhDbAyEAIAZBkKcLKQMANwO4CEGooAspAwAhAkGAqAtBEEEIEF0iAyACNwIIIANBADYCACAGIAYpA7gINwMYIA0gACAGQRhqIAMQ8wEQ7wMLIAEQmAoEQCAGQQo2ArQEIAZB9Tk2ArAEIAYgBikCsAQ3AxAgBkGwCGogBkEQahBlIAYpA7AIIQJBgKgLQRBBCBBdIgEgAjcCCCABQQA2AgAgBkGQpwspAwA3A6gIQeClCykDACECQYCoC0EQQQgQXSIAIAI3AgggAEEANgIAIAYgBikDqAg3AwggDSABIAZBCGogABDzARDvAwsgCCgCAEECRw0tIAgoAggiACgCBEEDTQ0uIAAoAgAoAgwhASAGQQg2ArQEIAZBrNkBNgKwBCAGIAYpArAENwMAIAZBoAhqIAYQZSAGKQOgCCECQYCoC0EQQQgQXSIAIAI3AgggAEEANgIAIAAQ0QUhCSABKAIAQQJHDS8gASgCCCIKKAIAIQECQCAKKAIEIgUgCigCCEcEQCABIQAMAQsgCiAFQQF0QQJqIgA2AgggCkGAqAsgAEECdEEEEF0iADYCACAKKAIEIgVFBEBBACEFDAELQQAhGEEAIQAgBUEETwRAIAVBfHEhBANAIABBAnQiCyAKKAIAaiABIAtqKAIANgIAIAtBBHIiAyAKKAIAaiABIANqKAIANgIAIAtBCHIiAyAKKAIAaiABIANqKAIANgIAIAtBDHIiAyAKKAIAaiABIANqKAIANgIAIABBBGoiACAERw0ACwsgBUEDcSIEBEADQCAAQQJ0IgMgCigCAGogASADaigCADYCACAAQQFqIQAgGEEBaiIYIARHDQALCyAKKAIAIQALIAAgBUECdGogCTYCACAKIAooAgRBAWo2AgQgDCgCAEECRw0vIAwoAggiCygCACEBAkAgCygCBCIFIAsoAghHBEAgASEADAELIAsgBUEBdEECaiIANgIIIAtBgKgLIABBAnRBBBBdIgA2AgAgCygCBCIFRQRAQQAhBQwBC0EAIRhBACEAIAVBBE8EQCAFQXxxIQQDQCAAQQJ0IgkgCygCAGogASAJaigCADYCACAJQQRyIgMgCygCAGogASADaigCADYCACAJQQhyIgMgCygCAGogASADaigCADYCACAJQQxyIgMgCygCAGogASADaigCADYCACAAQQRqIgAgBEcNAAsLIAVBA3EiBARAA0AgAEECdCIDIAsoAgBqIAEgA2ooAgA2AgAgAEEBaiEAIBhBAWoiGCAERw0ACwsgCygCACEACyAAIAVBAnRqIAg2AgAgCyALKAIEQQFqNgIECyAVENEFIQkgDCgCAEECRw0uIAwoAggiCigCACEBAkAgCigCBCIFIAooAghHBEAgASEADAELIAogBUEBdEECaiIANgIIIApBgKgLIABBAnRBBBBdIgA2AgAgCigCBCIFRQRAQQAhBQwBC0EAIRhBACEAIAVBBE8EQCAFQXxxIQQDQCAAQQJ0IgsgCigCAGogASALaigCADYCACALQQRyIgMgCigCAGogASADaigCADYCACALQQhyIgMgCigCAGogASADaigCADYCACALQQxyIgMgCigCAGogASADaigCADYCACAAQQRqIgAgBEcNAAsLIAVBA3EiBARAA0AgAEECdCIDIAooAgBqIAEgA2ooAgA2AgAgAEEBaiEAIBhBAWoiGCAERw0ACwsgCigCACEACyAAIAVBAnRqIAk2AgAgCiAKKAIEQQFqNgIEIAZBgApqJAAMCQtB/owFQeSGA0G5DkG9+wEQAQALIAEQcQALQf/3BSEOQeSGAyEUDAILQf6MBSEOQeSGAyEUQcMOIRtBpvsBIRIMAQtB//cFIQ5B5IYDIRRBrgMhGwtB1IkLQQA2AgBBDSAOIBQgGyASEAVB1IkLKAIAIcQBQdSJC0EANgIAIMQBQQFGDQELAAsQACEACyAGQfAFahCmAhogABAHAAsgB0GwBmokACAdDwtB1cUGQdORA0H0AEG8oAEQAQALEOoBAAsMIAsMHgsMHQsMHAsMGwsMGgsMGQtB/MsGQZySA0H2BkHR9gIQAQALQdTLBkGckgNB5wZB0fYCEAEAC0HXqgVB5poDQakCQZ2oBRABAAtB0LsFQeaaA0GlAkHquQUQAQALQZXJBkGckgNB1AZB0fYCEAEACwwTCwwSCwwRCwwRCwwPCwwOCwwNCwwOCwwMCwwKCwwHCxAAIcUBIAUQayDFARAHAAsACxAAIQULIAdB6AJqEHwaIAUQBwALIAcoAugCIgBFDQAgABBaCyADEAcACxAAGiAAEHEACyABEHEAC0GZsQVB5poDQZgCQaKuBRABAAtB//cFQeSGA0GuA0GmiAUQAQALQcWiAUGJogNBvAFBpogFEAEAC0H/9wVB5IYDQbMDQfj7AhABAAsrACABKAIAIgEoAgBBKEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIACCysAIAEoAgAiASgCAEEWRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQgAILKwAgASgCACIBKAIAQTdHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCAAgsrACABKAIAIgEoAgBBNEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIACCysAIAEoAgAiASgCAEEyRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQgAILKwAgASgCACIBKAIAQTFHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCAAgsrACABKAIAIgEoAgBBMEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIACCysAIAEoAgAiASgCAEEvRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQgAILKwAgASgCACIBKAIAQS5HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCAAgsrACABKAIAIgEoAgBBLUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIACC5NwAp8BfwJ+IwBBsAlrIgEkACABQfCJCykCADcDoAMgAUH4iQspAgA3A6gDIAFBgIoLKQIANwOwAyABQYiKCykCADcDuAMgAUHoiQspAgA3A5gDIAFBwANqQZCKCxDjASEDQdSJC0EANgIAQZoBIAFB1ANqQaSKCxACIQRB1IkLKAIAIQJB1IkLQQA2AgACQAJAAn8CQAJAAkACQAJAAkACQAJAIAJBAUcEQCABQbyKCygCACICNgLsAyABQbiKCygCADYC6AMgAgRAIAIgAigCBEEBajYCBAsgAUIANwP4AyABQQA6AIgEIAFCADcCjAQgAUEANgKUBCABIAEpA6ADNwOgBCABIAEpA6gDNwOoBCABIAEpA7ADNwOwBCABIAEpA7gDNwO4BCABQgA3A/ADIAFCgICA/AM3A4AEIAEgASkDmAM3A5gEQdSJC0EANgIAQZsBIAFBwARqIAMQAiECQdSJCygCACEDQdSJC0EANgIAAkACQAJAAkACQAJAAkAgA0EBRwRAQdSJC0EANgIAQZoBIAFB1ARqIAQQAhpB1IkLKAIAIR1B1IkLQQA2AgAgHUEBRg0JIAEgASgC6AM2AugEIAEgASgC7AMiAjYC7AQgAgRAIAIgAigCBEEBajYCBAsgAUIANwOQBSABQgA3A4gFIAFCADcDgAUgAUIANwP4BCABQgA3AqQFIAFCADcDuAUgAUIANwLMBSABQgA3A+AFIAFCADcD8AQgAUIANwKcBSABQYCAgPwDNgKYBSABQgA3A7AFIAFBgICA/AM2AqwFIAFCADcCxAUgAUGAgID8AzYCwAUgAUGAgID8AzYC1AUgAUIANwPYBSABQgA3AvQFIAFCADcDiAYgAUIANwKcBiABQgA3A7AGIAFBgICA/AM2ArgGIAFCADcCxAYgAUGAgID8AzYCzAYgAUIANwLsBSABQYCAgPwDNgLoBSABQYCAgPwDNgL8BSABQgA3A4AGIAFBgICA/AM2ApAGIAFCADcClAYgAUGAgID8AzYCpAYgAUIANwOoBiABQgA3ArwGIAEoApwEQQBKBEAgAUEBOgC/BCABQQE6ALgECyABQZgDahBhQdSJC0EANgIAQYQCIAFB8ANqIABBuKELKQMAEPEBIQlB1IkLKAIAIR5B1IkLQQA2AgAgHkEBRg0FIAFCADcCiAMgAUEAOgCQAyABQgA3AoADIAFBgQI7AfwCIAEgCTYClANB1IkLQQA2AgAgAUEAOgCQByABQQA6AJsHQYUCIAFB8ABqIAFBkAdqIgJBARAEIQ1B1IkLKAIAIR9B1IkLQQA2AgAgH0EBRg0GIAFBBzYClAcgAUGb5wQ2ApAHQdSJC0EANgIAIAEgASkCkAc3AzhBBiABQUBrIAFBOGoQA0HUiQsoAgAhIEHUiQtBADYCACAgQQFGDQcgAUEAOgBYIAFCADcCXCABQQA2AmQgAUEANgJUIAEgDTYCUCABIAA2AkwgASABKQNANwJoIAFCADcDmAcgAUIANwOQByABQYCAgPwDNgKgByABQZAJakIANwMAIAFCADcDiAkgAUGAgID8AzYCmAkgASABQcwAajYCqAkgASABQYgJajYCpAkgASACNgKgCUHUiQtBADYCAEHoACABQdAGaiAAEAIhBEHUiQsoAgAhIUHUiQtBADYCACAhQQFGDQEgASgCTCIDKAIYIgAgAygCHCIFRwRAA0AgACgCACICKAIMBEAgAikCFCGgASACKQIMIaEBQdSJC0EANgIAIAEgoQE3AzAgASCgATcDKCABIKEBNwP4CCABIKABNwPoCEGGAiABQaAJaiABQTBqIAFBKGoQCEHUiQsoAgAhIkHUiQtBADYCACAiQQFGDQULIABBBGoiACAFRw0ACyABKAJMIQMLIAMoAlQiACADKAJYIgVHBEADQCAAKAIAIgIoAgwEQCACKQIUIaABIAIpAgwhoQFB1IkLQQA2AgAgASChATcDICABIKABNwMYIAEgoQE3A/gIIAEgoAE3A+gIQYYCIAFBoAlqIAFBIGogAUEYahAIQdSJCygCACEjQdSJC0EANgIAICNBAUYNBQsgAEEEaiIAIAVHDQALIAEoAkwhAwsgAygCDCICIAMoAhAiBUcEQANAAkAgAigCACIDKAIMRQ0AIAMpAhQioAGnIgBBmK0LKAIARg0AQaCtCygCACAARg0AQaitCygCACAARg0AQbCtCygCACAARg0AQbitCygCACAARg0AQcCtCygCACAARg0AQeitCygCACAARg0AQcitCygCACAARg0AQdCtCygCACAARg0AQditCygCACAARg0AQeCtCygCACAARg0AQfCtCygCACAARg0AQfitCygCACAARg0AQYCuCygCACAARg0AIAMpAgwhoQEgASCgATcD6AggASChATcD+AhB1IkLQQA2AgAgASChATcDECABIKABNwMIQYYCIAFBoAlqIAFBEGogAUEIahAIQdSJCygCACEkQdSJC0EANgIAICRBAUYNBQsgAkEEaiICIAVHDQALC0HUiQtBADYCACABKAJQIQAgAUEKOgD4CEEJIABBuAFqIAFB+AhqQQEQBBpB1IkLKAIAISVB1IkLQQA2AgAgJUEBRg0CIAQoAjQiAARAIAQgADYCOCAAEFoLIAQoAigiAARAIAQgADYCLCAAEFoLIAQoAhwiAARAIAQgADYCICAAEFoLIAQoAhAiAARAIAQgADYCFCAAEFoLIAQoAgQiAARAIAQgADYCCCAAEFoLIAEoApAJIgAEQANAIAAoAgAhJiAAEFogJiIADQALCyABKAKICSEAIAFBADYCiAkgAARAIAAQWgsgASgCmAciAARAA0AgACgCACEnIAAQWiAnIgANAAsLIAEoApAHIQAgAUEANgKQByAABEAgABBaCyABKAJMIgIoAlQiACACKAJYRg0LIAAoAgAiAygCDA0LIAIoAgAiACACKAIEIgRGDQsDQCAAKAIAIgUoAhBBAUYEQCAFKAIIIAMoAgBGDQYLIABBBGoiACAERw0ACwwLCxAAIQAMEgsQACEADAELEAAhACAEEL4ECyABQYgJahCiASABQZAHahCiAQwLC0HUiQtBADYCAEEJIAEoAlBBuAFqQY2ZB0EWEAQaQdSJCygCACEoQdSJC0EANgIAIChBAUYNByABKAJQQbgBaiEAIAEoAkwoAlQoAgAiAikDICACKQMoUQRAQTUhAkHPnwchBAwGC0HUiQtB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AUGQB2oiACABQaAJahADQdSJCygCACF1QdSJC0EANgIAIHVBAUYNEUHUiQtBADYCAEEJIAQgASgCkAcgACABLQCbByIAwEEASCICGyABKAKUByAAIAIbEAQhAEHUiQsoAgAhdkHUiQtBADYCACB2QQFGDRBB1IkLQQA2AgBBCSAAQdKoB0ECEAQaQdSJCygCACF3QdSJC0EANgIAIHdBAUYNECABLACbB0EASARAIAEoApAHEFoLIAEsAKsJQQBIBEAgASgCoAkQWgsgBSkCDCGgASAFKAIMIQBB1IkLQQA2AgBB9gAgAUGQB2ogAUGICWogACCgARCoAkHUiQsoAgAheEHUiQtBADYCACB4QQFGDRYLIANBBGoiAyAHRw0ACyABKAJMIQALIAAoAjwiAiAAQUBrKAIAIgVHBEADQAJAIAIoAgAiAygCDEUNACADKAIUIgBBmK0LKAIARg0AQaCtCygCACAARg0AQaitCygCACAARg0AQbCtCygCACAARg0AQbitCygCACAARg0AQcCtCygCACAARg0AQeitCygCACAARg0AQcitCygCACAARg0AQdCtCygCACAARg0AQditCygCACAARg0AQeCtCygCACAARg0AQfCtCygCACAARg0AQfitCygCACAARg0AQYCuCygCACAARg0AQdSJC0EANgIAQQkgASgCUEG4AWpBz9EGQQMQBCEAQdSJCygCACF5QdSJC0EANgIAIHlBAUYNEwJAIAMpAgwioAGnIgQEQEHUiQtBADYCAEEJIAAgBCCgAUIgiKcQBBoMAQtB1IkLQQA2AgBBCSAAQajqBUELEAQaC0HUiQsoAgAhekHUiQtBADYCACB6QQFGDRNB1IkLQQA2AgBBCSAAQeqYB0EFEAQaQdSJCygCACF7QdSJC0EANgIAIHtBAUYNE0HUiQtBADYCAEEJIAEoAlBBuAFqQbSWB0EEEAQhBkHUiQsoAgAhfEHUiQtBADYCACB8QQFGDRMgAygCGCIAQe////8HSw0UIAMoAhQhAwJAAkAgAEELTwRAQdSJC0EANgIAQQQgAEEPckEBaiIJEAYhBEHUiQsoAgAhfUHUiQtBADYCACB9QQFGDRYgASAENgKgCSABIAA2AqQJIAEgCUGAgICAeHI2AqgJDAELIAEgADoAqwkgAUGgCWohBCAARQ0BCyAEIAMg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IAEsAGdBAEgEQCABKAJcEFoLIA1BuAFqEL0EGiANQfCWCjYCaCANQdyWCjYCACANQQRqEPkDGiANQegAahDoARogASgCgAMQWiABQfADahClDiABQbAJaiQADwsQACEADAILAAsQACEAIAEsAJsHQQBODQAgASgCkAcQWgsgASwAZ0EATg0AIAEoAlwQWgsgDRD3BiABKAKAAwsQWgsgAUHwA2oQpQ4gABAHAAsgASwAlwRBAEgEQCABKAKMBBBaCyABQfADahCiASABQZgDahBhIAAQBwALKwAgASgCACIBKAIAQSxHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCAAgsrACABKAIAIgEoAgBBK0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIACCysAIAEoAgAiASgCAEEqRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQgAILKwAgASgCACIBKAIAQSlHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCAAgsrACABKAIAIgEoAgBBFUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIACCysAIAEoAgAiASgCAEEURwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQgAILKwAgASgCACIBKAIAQRJHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCAAgsrACABKAIAIgEoAgBBEUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIACCysAIAEoAgAiASgCAEEQRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQgAILKwAgASgCACIBKAIAQQ9HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCAAgsMAEHkwQsgABCsCBoLKwAgASgCACIBKAIAQQ5HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCAAgsrACABKAIAIgEoAgBBJ0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIACCysAIAEoAgAiASgCAEEmRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQgAILKwAgASgCACIBKAIAQSVHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCAAgsrACABKAIAIgEoAgBBJEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIACCysAIAEoAgAiASgC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AQALIAAgARCBAgsrACABKAIAIgEoAgBBK0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIECCysAIAEoAgAiASgCAEEqRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQgQILKwAgASgCACIBKAIAQSlHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCBAgsrACABKAIAIgEoAgBBFUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIECCysAIAEoAgAiASgCAEEURwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQgQILKwAgASgCACIBKAIAQRJHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCBAgsrACABKAIAIgEoAgBBEUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIECC4cGAQt/IwBBsAJrIgIkAEHgAhBcIgFBAEGJAfwLACABQgA3ApwBIAFCADcClAEgAUIANwKMASABQYCAgPwDNgKkASABQgA3ArABIAFCADcCqAEgAUIANwLAASABQQA2ArwBIAFBkLcLNgK4ASABQgA3AsgBIAFCADcC1AEgAUGAgID8AzYC0AEgAUIANwLcASABQgA3AugBIAFBgICA/AM2AuQBIAFCADcC8AEgAUIANwL8ASABQYCAgPwDNgL4ASABQgA3AoQCIAFBgICA/AM2AowCIAFCADcCkAIgAUIANwKYAiABQgA3AqQCIAFBgICA/AM2AqACIAFCADcCrAIgAUGAgID8AzYCtAIgAUIANwK4AiABQgA3AsACIAFBgICA/AM2AsgCIAFCADcCzAIgAUIANwLUAiABQYCAgPwDNgLcAkHUiQtBADYCAEHGASACQYQCaiAAEAIhA0HUiQsoAgAhAEHUiQtBADYCAAJAAkAgAEEBRwRAIAMoAighAEHUiQtBADYCAEHHASAAQQAQAiEAQdSJCygCACEFQdSJC0EANgIAIAVBAUYNAUHUiQtBADYCAEHIASACQQRqIAEgAEEAEA0hB0HUiQsoAgAhBkHUiQtBADYCACAGQQFGDQEgBxCaCiADQRBqEL8EGiACQbACaiQAIAEPC0HAiggQCyEAIwEhAQwBC0HAiggQCyEAIwEhASADQRBqEL8EGgsCQEHAiggQFiABRgRAIAAQDiEAQdSJC0EANgIAQckBIAAQCkHUiQsoAgAhCEHUiQtBADYCACAIQQFHBEACQEHUiQtBADYCAEEIIAJBBGoQBiEAQdSJCygCACEBQdSJC0EANgIAAkAgAUEBRwRAQdSJC0EANgIAQcoBIABBkc4AEAIhCkHUiQsoAgAhCUHUiQtBADYCACAJQQFGDQEgChBxAAsMAQsQABogABBxAAsLEAAhAEHUiQtBADYCAEEcEAlB1IkLKAIAIQtB1IkLQQA2AgAgC0EBRg0BCyAAEAcAC0EAEAsaEHAACysAIAEoAgAiASgCAEEQRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQgQILKwAgASgCACIBKAIAQQ9HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCBAgsrACABKAIAIgEoAgBBDkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIECCysAIAEoAgAiASgCAEEnRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQgQILKwAgASgCACIBKAIAQSZHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCBAgsrACABKAIAIgEoAgBBJUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIECCysAIAEoAgAiASgCAEEkRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQgQILKwAgASgCACIBKAIAQSNHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCBAgsrACABKAIAIgEoAgBBIkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIECCysAIAEoAgAiASgCAEEhRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQgQILyCIDO38CfAJ+IwBB0AJrIgIkAAJAQaioCy0AAARAQaSoCygCACEBDAELAn9BsKgLLQAABEBBrKgLKAIADAELQZiSBRCZAyIDBEAgAxCkAyEBC0GwqAtBAToAAEGsqAsgATYCACABCyEBQaioC0EBOgAAQaSoCyABNgIACwJAAkACQAJAAkACQAJAAkACQAJAAkACQCAALQAYRSABQQJHcUUEQCAALQBwIQEMAQsgAUUNAUEAIQEgAC0AcA0BC0GMwwtBluIGQRUQXxpBjMMLQYfLAUGOywEgAUH/AXEiARsiDEENQQYgARsiDRBfGiACQYzDCygCAEEMaygCAEGowwtqKAIAIgE2ArgBIAEgASgCBEEBajYCBEHUiQtBADYCAEEYIAIoArgBQZTSCxACIQFB1IkLKAIAIQNB1IkLQQA2AgACQCADQQFHBEAgASgCACgCHCEPQdSJC0EANgIAIA8gAUEKEAIhA0HUiQsoAgAhEEHUiQtBADYCACAQQQFHDQELDAkLIAIoArgBIgEgASgCBEEBayIGNgIEIAZBf0YEQCABIAEoAgAoAggRAQALQYzDCyADEKoEGkGMwwsQ+gMaIAAoAgwiAyAAKAIQIgZHBEAgAyEBA0AgBSABKAIAIggoAgwgCC0AEyIIIAjAQQBIGyIIIAUgCEsbIQUgAUEEaiIBIAZHDQALCwJAQaSoCygCAEEDSA0AIAAtAHANACACQQY2ArwBIAJBhuUDNgK4ASACIAIpArgBNwMIIAJByAJqIAJBCGoQZSACKALIAiACKALMAiAAKAIEENwPIAAoAhAhBiAAKAIMIQMLIAMgBkYNBSACQfgBaiEJIAJBxAFqIQogAkHAAWohDgNAIAJBoJIKNgL4ASACQYySCjYCuAEgAkHkkQo2AsABIAJBADYCvAEgCSAKEO0BIAJB+JEKNgL4ASACQdCRCjYCuAEgAkKAgICAcDcCwAIgAkHkkQo2AsABIAoQ7gEiCEG4jAo2AgAgAkIANwLsASACQgA3AuQBIAJBGDYC9AECQEGkqAsoAgBBAkcNACAALQBwDQAgACgCBCEBQdSJC0EANgIAQZgBIA4gARACIQFB1IkLKAIAIRFB1IkLQQA2AgAgEUEBRg0FQdSJC0EANgIAIAJBCjoAKEEJIAEgAkEoakEBEAQaQdSJCygCACESQdSJC0EANgIAIBJBAUYNBQtB1IkLQQA2AgBBCUGMwwtB0uwGQR0QBBpB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRg0EIAMoAgAiASgCDCEHIAEoAgghCyABLQATIQRB1IkLQQA2AgBBCUGMwwsgCyABQQhqIATAQQBIIgEbIAcgBCABGxAEGkHUiQsoAgAhFEHUiQtBADYCACAUQQFGDQRB1IkLQQA2AgBBCUGMwwtBm/0GQQQQBBpB1IkLKAIAIRVB1IkLQQA2AgAgFUEBRg0EQQAhAQJAIAUgAygCACIEKAIMIAQtABMiBCAEwEEASBtGDQADQAJAQdSJC0EANgIAIAJBIDoAKEEJQYzDCyACQShqQQEQBBpB1IkLKAIAIRZB1IkLQQA2AgAgFkEBRg0AIAFBAWoiASAFIAMoAgAiBCgCDCAELQATIgQgBMBBAEgba0kNAQwCCwsQACEBDAYLENsPIT4gAygCACIBKAIAKAIQIRdB1IkLQQA2AgAgFyABEAYhAUHUiQsoAgAhGEHUiQtBADYCACAYQQFGDQMCQCABBEAgACgCBCIEKAIMIgEgBCgCECIERg0BA0ACQCABKAIAIgcoAgxFBEAgAygCACELQdSJC0EANgIAQb0BIAAgCyAHEAhB1IkLKAIAIRlB1IkLQQA2AgAgGUEBRg0BCyABQQRqIgEgBEcNAQwDCwsQACEBDAcLIAMoAgAhAUHUiQtBADYCAEG+ASAAIAEQA0HUiQsoAgAhGkHUiQtBADYCACAaQQFGDQQLENsPIT9B1IkLQQA2AgBBvwFBjMMLID8gPn25RAAAAABlzc1BoyI9EE0aQdSJCygCACEbQdSJC0EANgIAIBtBAUYNAkHUiQtBADYCAEEJQYzDC0HGzwVBCRAEGkHUiQsoAgAhHEHUiQtBADYCACAcQQFGDQIgAkGMwwsoAgBBDGsoAgBBqMMLaigCACIBNgIoIAEgASgCBEEBajYCBEHUiQtBADYCAEEYIAIoAihBlNILEAIhAUHUiQsoAgAhBEHUiQtBADYCAAJAIARBAUcEQCABKAIAKAIcIR1B1IkLQQA2AgAgHSABQQoQAiEHQdSJCygCACEeQdSJC0EANgIAIB5BAUcNAQsQACEBIAIoAigiACAAKAIEQQFrIgM2AgQgA0F/RgRAIAAgACgCACgCCBEBAAsMBgsgAkEoaiIEKAIAIgEgASgCBEEBayILNgIEIAtBf0YEQCABIAEoAgAoAggRAQALQdSJC0EANgIAQR5BjMMLIAcQAhpB1IkLKAIAIR9B1IkLQQA2AgAgH0EBRg0CQdSJC0EANgIAQR9BjMMLEAYaQdSJCygCACEgQdSJC0EANgIAICBBAUYNAgJAIAAtABlFDQAgAC0AcA0AQdSJC0EANgIAQQlBjMMLQfaoB0EcEAQaQdSJCygCACEhQdSJC0EANgIAICFBAUYNAyAAKAIEIQEgAC0APSEHIAAtABohC0HUiQtBADYCAEHAASABIAtBAXQiAUEIciABIAcbEAIhAUHUiQsoAgAhB0HUiQtBADYCAAJAAkACQCAHQQFHBEAgAQ0EIAAoAgQhAEHUiQtBADYCAEGYAUHkwQsgABACGkHUiQsoAgAhAEHUiQtBADYCAAJAIABBAUYNAEHUiQtBADYCACACQQo6AChBCUHkwQsgBEEBEAQaQdSJCygCACEiQdSJC0EANgIAICJBAUYNAEGkqAsoAgBBAkgNBEHUiQtBADYCAEEIIAQQBiEAQdSJCygCACEjQdSJC0EANgIAICNBAUYNAkHUiQtBADYCAEEJIABBCGpB67UGQQsQBCEFQdSJCygCACEkQdSJC0EANgIAICRBAUYNESADKAIAIgEoAgwhBiABKAIIIQkgAS0AEyEDQdSJC0EANgIAQQkgBSAJIAFBCGogA8BBAEgiARsgBiADIAEbEAQhAUHUiQsoAgAhJUHUiQtBADYCACAlQQFGDRFB1IkLQQA2AgBBCSABQcuqB0EwEAQhAUHUiQsoAgAhJkHUiQtBADYCACAmQQFGDRFB1IkLQQA2AgBBHSACQRxqIgMgCBADQdSJCygCACEnQdSJC0EANgIAICdBAUYNEUHUiQtBADYCAEEJIAEgAigCHCADIAItACciAcBBAEgiBRsgAigCICABIAUbEAQaQdSJCygCACEoQdSJC0EANgIAIChBAUYNA0HUiQtBADYCAEHaACAAQZSrBxACIQFB1IkLKAIAISlB1IkLQQA2AgAgKUEBRg0DIAMQwgEaDBALEAAhAQwKCxAAIQEMCQsQACEBDAgLEAAaIAIsACdBAEgEQCACKAIcEFoLIAAQcQALQdSJC0EANgIAQQggAkEoahAGIQBB1IkLKAIAIQFB1IkLQQA2AgACQCABQQFHBEBB1IkLQQA2AgBBCSAAQQhqQeu1BkELEAQhAkHUiQsoAgAhKkHUiQtBADYCACAqQQFGDQEgAygCACIBKAIMIQUgASgCCCEGIAEtABMhA0HUiQtBADYCAEEJIAIgBiABQQhqIAPAQQBIIgEbIAUgAyABGxAEGkHUiQsoAgAhK0HUiQtBADYCACArQQFGDQFB1IkLQQA2AgBBwQEgABAGIQFB1IkLKAIAISxB1IkLQQA2AgAgLEEBRg0BDA0LEAAhAQwHCwwMC0GkqAsoAgBBA04EQCADKAIAIgEoAgghBCACIAEoAgwgAS0AEyIHIAfAQQBIIgcbNgIsIAIgBCABQQhqIAcbNgIoQdSJC0EANgIAIAIgAikCKDcDAEEGIAJBFGogAhADQdSJCygCACEtQdSJC0EANgIAIC1BAUYNAyAAKAIEIQFB1IkLQQA2AgBBwgEgAigCFCACKAIYIAEQCEHUiQsoAgAhLkHUiQtBADYCACAuQQFGDQMLIAJB+JEKNgL4ASACQdCRCjYCuAEgAkHkkQo2AsABIAhBuIwKNgIAIAIsAO8BQQBIBEAgAigC5AEQWgsgPCA9oCE8IAgQ6wEaIAkQ6AEaIAYgA0EEaiIDRw0ACwwFCyACQQA2AsABIAJCADcCuAEgAiAANgIsIAIgAkG4AWo2AigCQAJAIAAoAgwiBSAAKAIQIgRHBEADQCAFKAIAIgEoAgAoAhAhL0HUiQtBADYCACAvIAEQBiEBQdSJCygCACEwQdSJC0EANgIAIDBBAUYNAgJAIAEEQCAFKAIAIQogAigCvAEiASACKALAASIGSQRAIAEgCjYCACACIAFBBGo2ArwBDAILIAEgAigCuAEiCGtBAnUiDEEBaiIDQYCAgIAETwRAQdSJC0EANgIAQcMBEAlB1IkLKAIAITFB1IkLQQA2AgAgMUEBRg0FDAYLAkACQEH/////AyAGIAhrIgZBAXUiCSADIAMgCUkbIAZB/P///wdPGyIJRQRAQQAhBgwBCyAJQYCAgIAETwRAQdSJC0EANgIAQQMQCUHUiQsoAgAhMkHUiQtBADYCACAyQQFHDQgMBwtB1IkLQQA2AgBBBCAJQQJ0EAYhBkHUiQsoAgAhM0HUiQtBADYCACAzQQFGDQELIAYgDEECdGoiAyAKNgIAIANBBGohCiABIAhHBEADQCADQQRrIgMgAUEEayIBKAIANgIAIAEgCEcNAAsgAigCuAEhAQsgAiAGIAlBAnRqNgLAASACIAo2ArwBIAIgAzYCuAEgAUUNAiABEFoMAgsMBAtB1IkLQQA2AgBBxAEgAkEoahAKQdSJCygCACE0QdSJC0EANgIAIDRBAUYNAyAFKAIAIQFB1IkLQQA2AgBBvgEgACABEANB1IkLKAIAITVB1IkLQQA2AgAgNUEBRg0DCyAFQQRqIgUgBEcNAAsLQdSJC0EANgIAQcQBIAJBKGoQCkHUiQsoAgAhNkHUiQtBADYCACA2QQFHBEAgAigCuAEiAEUNCCACIAA2ArwBIAAQWgwICwsQACE3IAIoArgBIgAEQCACIAA2ArwBIAAQWgsgNxAHAAsACxAAIQEMAgsQACEBDAELEAAhAQsgAkG4AWoQzgMaIAEQBwALQYzDC0H/5gZBDRBfGkGMwwsgDCANEF8aQYzDC0Ga4QZBBhBfGkGMwwsgPBDaDxpBjMMLQcbPBUEJEF8aIAJBjMMLKAIAQQxrKAIAQajDC2ooAgAiATYCuAEgASABKAIEQQFqNgIEQdSJC0EANgIAQRggAigCuAFBlNILEAIhAUHUiQsoAgAhA0HUiQtBADYCAAJAIANBAUcEQCABKAIAKAIcIThB1IkLQQA2AgAgOCABQQoQAiEDQdSJCygCACE5QdSJC0EANgIAIDlBAUcNAQsMAwsgAigCuAEiASABKAIEQQFrIgU2AgQgBUF/RgRAIAEgASgCACgCCBEBAAtBjMMLIAMQqgQaQYzDCxD6AxogAC0AGUUNACAALQBwDQBBjMMLQdWoB0EgEF8aIAAoAgQgAC0AGkEBdCIBQQhyIAEgAC0APRsQowhFDQELIAJB0AJqJAAPC0HkwQsgACgCBBCsCBogAkEKOgC4AUHkwQsgAkG4AWoiAEEBEF8aIAAQqQIhAEHUiQtBADYCAEHFASAAQY+fBxACIQFB1IkLKAIAITpB1IkLQQA2AgAgOkEBRg0CDAELEAAhOyACKAK4ASIAIAAoAgRBAWsiAzYCBCADQX9GBEAgACAAKAIAKAIIEQEACyA7EAcACyABEHEACxAAGiAAEHEACysAIAEoAgAiASgCAEEgRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQgQILKwAgASgCACIBKAIAQR9HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCBAgsrACABKAIAIgEoAgBBHkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIECCysAIAEoAgAiASgCAEEdRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQgQILKwAgASgCACIBKAIAQRxHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCBAgsrACABKAIAIgEoAgBBG0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIECCysAIAEoAgAiASgCAEEaRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQgQILKwAgASgCACIBKAIAQRlHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCBAgsrACABKAIAIgEoAgBBGEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIECCysAIAEoAgAiASgCAEENRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQgQILqwsBDX8jAEGgAWsiAiQAIAJBIBBcIgE2ApQBIAJCnoCAgICEgICAfzcCmAEgAUGa2AIpAAA3ABYgAUGU2AIpAAA3ABAgAUGM2AIpAAA3AAggAUGE2AIpAAA3AAAgAUEAOgAeQdSJC0EANgIAQdcAIAAgAkGUAWoQA0HUiQsoAgAhA0HUiQtBADYCAAJAAkACQCADQQFHBEAgARBaIAJBEBBcIgE2AogBIAJCjoCAgICCgICAfzcCjAEgAUG0qwMpAAA3AAYgAUGuqwMpAAA3AAAgAUEAOgAOQdSJC0EANgIAQdcAIAAgAkGIAWoQA0HUiQsoAgAhBEHUiQtBADYCACAEQQFGDQMgARBaIAAoAhxBAkgNAiACQRAQXCIBNgJ8IAJCjoCAgICCgICAfzcCgAEgAUG70QIpAAA3AAYgAUG10QIpAAA3AAAgAUEAOgAOQdSJC0EANgIAQdcAIAAgAkH8AGoQA0HUiQsoAgAhBUHUiQtBADYCACAFQQFHDQEMAwsMAgsgARBaIAAoAgQtAIUBQQRxRQ0AIAAoAhxBAkgNACAALQA9BEAgAkEQEFwiATYCcCACQo2AgICAgoCAgH83AnQgAUHPqQMpAAA3AAUgAUHKqQMpAAA3AAAgAUEAOgANQdSJC0EANgIAQdcAIAAgAkHwAGoQA0HUiQsoAgAhBkHUiQtBADYCACAGQQFGDQIgARBaIAJBIBBcIgE2AmQgAkKRgICAgISAgIB/NwJoIAFBw6gDLQAAOgAQIAFBu6gDKQAANwAIIAFBs6gDKQAANwAAIAFBADoAEUHUiQtBADYCAEHXACAAIAJB5ABqEANB1IkLKAIAIQdB1IkLQQA2AgAgB0EBRg0CIAEQWiACQSAQXCIBNgJYIAJCkoCAgICEgICAfzcCXCABQb6pAy8AADsAECABQbapAykAADcACCABQa6pAykAADcAACABQQA6ABJB1IkLQQA2AgBB1wAgACACQdgAahADQdSJCygCACEIQdSJC0EANgIAIAhBAUYNAiABEFoLIAJBEBBcIgE2AkwgAkKPgICAgIKAgIB/NwJQIAFBpakDKQAANwAHIAFBnqkDKQAANwAAIAFBADoAD0HUiQtBADYCAEHXACAAIAJBzABqEANB1IkLKAIAIQlB1IkLQQA2AgAgCUEBRg0BIAEQWiAALQA9BEAgAkEDOgBLIAJBADoAQyACQeHHAi8AADsBQCACQePHAi0AADoAQiAAIAJBQGsQxQMLIAJBIBBcIgE2AjQgAkKdgICAgISAgIB/NwI4IAFBmKEBKQAANwAVIAFBk6EBKQAANwAQIAFBi6EBKQAANwAIIAFBg6EBKQAANwAAIAFBADoAHUHUiQtBADYCAEHXACAAIAJBNGoQA0HUiQsoAgAhCkHUiQtBADYCACAKQQFGDQEgARBaIAAtAD1FDQAgAkEgEFwiATYCKCACQpOAgICAhICAgH83AiwgAUHNzQEoAAA2AA8gAUHGzQEpAAA3AAggAUG+zQEpAAA3AAAgAUEAOgATQdSJC0EANgIAQdcAIAAgAkEoahADQdSJCygCACELQdSJC0EANgIAIAtBAUYNASABEFogAkEDOgAnIAJBADoAHyACQdC+Ai8AADsBHCACQdK+Ai0AADoAHiAAIAJBHGoQxQMgAkEDOgAbIAJBADoAEyACQaj8Ai8AADsBECACQar8Ai0AADoAEiAAIAJBEGoQxQMgAkEgEFwiATYCBCACQpaAgICAhICAgH83AgggAUHPqQMpAAA3AA4gAUHJqQMpAAA3AAggAUHBqQMpAAA3AAAgAUEAOgAWQdSJC0EANgIAQdcAIAAgAkEEahADQdSJCygCACEMQdSJC0EANgIAIAxBAUYNASABEFoLIAAQiA8gABDdDyACQaABaiQADwsQACENIAEQWiANEAcACysAIAEoAgAiASgCAEEMRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQgQILKwAgASgCACIBKAIAQQtHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCBAgsrACABKAIAIgEoAgBBCkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIECCysAIAEoAgAiASgCAEEJRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQgQILKwAgASgCACIBKAIAQQhHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCBAgsrACABKAIAIgEoAgBBB0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIECCysAIAEoAgAiASgCAEEGRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQgQILKwAgASgCACIBKAIAQT9HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCBAgsrACABKAIAIgEoAgBBF0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIECC+8EAQd/IwBBgAFrIgEkACABQQA2AiAgAUHMAGoiAkIANwIAIAFCADcCVCABQeAAaiIDQgA3AgAgAUIANwJoIAFCADcCdCABQYCAgPwDNgJwIAFBADsBfCABQfCJCykCADcCLCABQfiJCykCADcCNCABQYCKCykCADcCPCABQYiKCykCADcCRCABQgA3AhggAUH87Ak2AgwgAUHoiQspAgA3AiQgASAANgIQIAEgAEGoAWo2AhQgAUGgigsqAgA4AlxB1IkLQQA2AgBBzQAgAkGYigsoAgAQA0HUiQsoAgAhAEHUiQtBADYCAAJAIABBAUYNAEHUiQtBADYCACABQbSKCyoCADgCcEHOACADQayKCygCABADQdSJCygCACEEQdSJC0EANgIAIARBAUYNAEG4igsoAgAhA0G8igsoAgAiAgRAIAIgAigCBEEBajYCBAsgASgCeCEAIAEgAjYCeCABIAM2AnQCQCAARQ0AIAAgACgCBCICQQFrNgIEIAINACAAIAAoAgAoAggRAQAgABB1C0HUiQtBADYCAEG8ASABQQxqIgAQCkHUiQsoAgAhBUHUiQtBADYCACAFQQFGDQBB1IkLQQA2AgBBlwEgABAKQdSJCygCACEGQdSJC0EANgIAIAZBAUYNACABQfzsCTYCDCABQSRqEGEgASgCGCICBEAgAiEDIAIgASgCHCIARwRAA0AgAEEEayIAKAIAIQMgAEEANgIAIAMEQCADIAMoAgAoAgQRAQALIAAgAkcNAAsgASgCGCEDCyABIAI2AhwgAxBaCyABQYABaiQADwsQACEHIAFBDGoQfBogBxAHAAsrACABKAIAIgEoAgBBNkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIECCysAIAEoAgAiASgCAEE1RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQgQILKwAgASgCACIBKAIAQTNHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCBAgsrACABKAIAIgEoAgBBE0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIECCysAIAEoAgAiASgCAEEFRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQgQILKwAgASgCACIBKAIAQQRHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCBAgsrACABKAIAIgEoAgBBA0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIECCysAIAEoAgAiASgCAEECRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQgQIL3gEBBH8gACgCkAEEQCAAKAKMASIBBEADQCABKAIAIQUgARBaIAUiAQ0ACwtBACEBIABBADYCjAECQCAAKAKIASICRQ0AIAJBBE8EQCACQXxxIQQDQCABQQJ0IgMgACgChAFqQQA2AgAgACgChAEgA2pBADYCBCAAKAKEASADakEANgIIIAAoAoQBIANqQQA2AgwgAUEEaiIBIARHDQALCyACQQNxIgNFDQBBACECA0AgACgChAEgAUECdGpBADYCACABQQFqIQEgAkEBaiICIANHDQALCyAAQQA2ApABCwsrACABKAIAIgEoAgBBAUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIECCysAIAEoAgAiASgCAEE/RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQgAILKwAgASgCACIBKAIAQRdHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCAAgsrACABKAIAIgEoAgBBNkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIACCysAIAEoAgAiASgCAEE1RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQgAILKwAgASgCACIBKAIAQTNHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCAAgsrACABKAIAIgEoAgBBE0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIACCysAIAEoAgAiASgCAEEFRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQgAILKwAgASgCACIBKAIAQQRHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCAAgsrACABKAIAIgEoAgBBA0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIACCysAIAEoAgAi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AiABNgIQIAIgBDYCDCACQSM2AgggAkIQNwIAIAIgBCgCBCIEQQFHBH9BASAEIAEoAgRBAUYbBUEBCzYCBCAAKAIAQagBakEUQQQQXSIAIAI2AhAgACAFNgIMIABBITYCCCAAQhA3AgAgACAFKAIEIgFBAUcEf0EBIAEgAigCBEEBRhsFQQELNgIEIANBIGokACAADwsQACEIIANBCGoQWRogCBAHAAv7iAECigF/An4jAEHwAmsiBCQAIABCADcCKCAAKAIEIQMgBEEwEFwiAjYCgAIgBEKmgICAgIaAgIB/NwKEAiACQcK5ASkAADcAHiACQby5ASkAADcAGCACQbS5ASkAADcAECACQay5ASkAADcACCACQaS5ASkAADcAACACQQA6ACYgA0FAaygCACADKAJEIARBgAJqEMMDIRQgAhBaIAAoAgQhAyAEQTAQXCICNgL0ASAEQqaAgICAhoCAgH83AvgBIAJBg6wBKQAANwAeIAJB/asBKQAANwAYIAJB9asBKQAANwAQIAJB7asBKQAANwAIIAJB5asBKQAANwAAIAJBADoAJiAAIANBQGsoAgAgAygCRCAEQfQBahDDA0EARzoAJCACEFogBEEANgLwASAEQgA3AugBAkACQAJAAkACQAJAAkACQAJAIAEoAgAiESABKAIEIhdGDQAgAUGoAWohEgNAAkAgESgCACICKAIQDQAgASgC2AEhAyABKALUASEIIAIpAgghjAFB1IkLQQA2AgBBqAEgCCADIIwBEPEBIRBB1IkLKAIAIQJB1IkLQQA2AgACQAJAAkACQCACQQFHBEACQCAQKAIcIgJBEE8EQCACKAIQRQ0BC0HUiQtBADYCAEENQeGVBkG4swJB2wlBj+IDEAVB1IkLKAIAIR1B1IkLQQA2AgAgHUEBRg0CDBALAkACQAJAAkACQAJAAn8CQCACKQIUIowBpyIDQQdJIgJFBEAgA0EEaiIFKAIADQEgAygCDCADKAIIa0ECdSIIRQ0EIANBCGoMAgsgA0UiCA0DIAgNBSADQQBHIQggA0EIaiEGIANBBGohBQwCCyADQQBHIQggA0EIagshBiADRSEeIAMoAgRFBEAgBigCACgCACEDDAELIB4NAwsgA0EDRg0BQQEhAyAIQQFGDQADQCACDQMgBSgCAA0DIAYoAgAgA0ECdGooAgBBA0YN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FCACNgIACyAKQRBqJAAPC0Hw7QVBxZgDQZQGQY3eABABAAtBtMQFQYmiA0HQAUH9+wIQAQALHABBgAEQXCIAQQBBgAH8CwAgAEGI5wc2AgAgAAs/ACAAKAIERQRAQej6BUG6iwNBnARB7tMCEAEACyAAIAI2AnggACABNgJ8IABBFGogAkEwahD9BiAAQgA3AngLviIBDn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEoAgAiAigCAA5eAAECAwQFBgcICQoLDA0eHyAhIiMkJTU2Dg8QERITFBUWFxgZGhscHTcmJygpKissLS4vMDEyMzQ4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcAF0LQZj9A0HlswNB6gEQYgALIABBFGpBrNAAIAEQWCACKAIAQQFHDVwgAigCFCIBQQBMDVsgAEEYaiEDA0AgAUEBayIAIAIoAhRPDV4gAigCECAAQQJ0aiIEKAIARQ1fIANBq9AAIAQQWyABQQFLIQYgACEBIAYNAAsMWwsgAEEUaiIDQa3QACABEFggAigCAEECRw1bIAIoAhAEQCAAQRhqQavQACACQRBqEFsLIANBq9AAIAJBDGoQWCADQavQACACQQhqEFgPCyAAQRRqIgBBrtAAIAEQWCACKAIAQQNHDVoMYAsgAEEUakGv0AAgARBYIAIoAgBBBEcNWSACKAIUBEAgAEEYakGr0AAgAkEUahBbCyACKAIQRQ1YIABBGGpBq9AAIAJBEGoQWw8LIABBFGoiA0Gw0AAgARBYIAIoAgBBBUcNWCADQavQACACQSRqEFggAigCIEUNVyAAQRhqQavQACACQSBqEFsPCyAAQRRqQbHQACABEFggAigCAEEGRw1XIAIoAgwiAUEATA1WIABBGGohAwNAIAFBAWsi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CysAIAEoAgAoAgBB1QBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIABB1QAQggILKwAgASgCACgCAEHUAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgAEHUABCCAgsrACABKAIAKAIAQdMARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQdMAEIICCysAIAEoAgAoAgBB0gBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIABB0gAQggILKwAgASgCACgCAEHRAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgAEHRABCCAgsrACABKAIAKAIAQdAARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQdAAEIICCysAIAEoAgAoAgBBzwBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIABBzwAQggILKwAgASgCACgCAEHOAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgAEHOABCCAgsrACABKAIAKAIAQc0ARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQc0AEIICCysAIAEoAgAoAgBBzABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIABBzAAQggILKwAgASgCACgCAEHLAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgAEHLABCCAgsrACABKAIAKAIAQcoARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQcoAEIICCysAIAEoAgAoAgBByQBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIABByQAQggILKwAgASgCACgCAEHIAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgAEHIABCCAgsrACABKAIAKAIAQccARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQccAEIICCysAIAEoAgAoAgBBxgBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIABBxgAQggILKwAgASgCACgCAEHFAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgAEHFABCCAgsrACABKAIAKAIAQcQARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQcQAEIICCysAIAEoAgAoAgBBwwBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIABBwwAQggILKwAgASgCACgCAEHCAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgAEHCABCCAgsrACABKAIAKAIAQcEARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQcEAEIICCysAIAEoAgAoAgBBwABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIABBwAAQggILKQAgASgCACgCAEE/RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQT8QggILKQAgASgCACgCAEE+RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQT4QggILKQAgASgCACgCAEE9RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQT0QggILKQAgASgCACgCAEE8RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQTwQggILKQAgASgCACgCAEE7RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQTsQggILKQAgASgCACgCAEE6RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQToQggILKQAgASgCACgCAEE5RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQTkQggILKQAgASgCACgCAEE4RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQTgQggILKQAgASgCACgCAEEoRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQSgQggILKQAgASgCACgCAEEXRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQRcQggILKQAgASgCACgCAEEWRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQRYQggILKQAgASgCACgCAEE3RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQTcQggILKQAgASgCACgCAEE2RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQTYQggILKQAgASgCACgCAEE1RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQTUQggILKQAgASgCACgCAEE0RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQTQQggILKQAgASgCACgCAEEzRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQTMQggILKQAgASgCACgCAEEyRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQTIQggILKQAgASgCACgCAEExRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQTEQggILKQAgASgCACgCAEEwRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQTAQggILKQAgASgCACgCAEEvRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQS8QggILKQAgASgCACgCAEEuRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQS4QggILKQAgASgCACgCAEEtRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQS0QggILKQAgASgCACgCAEEsRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQSwQggILKQAgASgCACgCAEErRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQSsQggILKQAgASgCACgCAEEqRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQSoQggILKQAgASgCACgCAEEpRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQSkQggILKQAgASgCACgCAEEVRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQRUQggILKQAgASgCACgCAEEURwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQRQQggILKQAgASgCACgCAEETRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQRMQggILKQAgASgCACgCAEESRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQRIQggILKQAgASgCACgCAEERRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQREQggILKQAgASgCACgCAEEQRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQRAQggILKQAgASgCACgCAEEPRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQQ8QggILKQAgASgCACgCAEEORwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQQ4QggILKQAgASgCACgCAEEnRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQScQggILKQAgASgCACgCAEEmRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQSYQggILKQAgASgCACgCAEElRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQSUQggILKQAgASgCACgCAEEkRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQSQQggILKQAgASgCACgCAEEjRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQSMQggILKQAgASgCACgCAEEiRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQSIQggILKQAgASgCACgCAEEhRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQSEQggILKQAgASgCACgCAEEgRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQSAQggILKQAgASgCACgCAEEfRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQR8QggILKQAgASgCACgCAEEeRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQR4QggILKQAgASgCACgCAEEdRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQR0QggILKQAgASgCACgCAEEcRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQRwQggILKQAgASgCACgCAEEbRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQRsQggILKQAgASgCACgCAEEaRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQRoQggILKQAgASgCACgCAEEZRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQRkQggILKQAgASgCACgCAEEYRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQRgQggILKQAgASgCACgCAEENRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQQ0QggILKQAgASgCACgCAEEMRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQQwQggILKQAgASgCACgCAEELRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAQQsQggILkwUCDH8BfiMAQZABayIGJAACQCACKAIYIgggAigCHCIKRwRAA0ACQCAIKAIAIgcoAgxFDQACQAJAIAAgBxD4ECILKAIUIgIoAsQBIgNFDQAgAigCwAECfyAHKAIUIgQgA0EBa3EgA2lBAUsiBUUNABogBCADIARLDQAaIAQgA3ALIglBAnRqKAIAIgJFDQAgAigCACICRQ0AAkAgBUUEQCADQQFrIQMDQAJAIAQgAigCBCIFRwRAIAMgBXEgCUYNAQwFCyACKAIIIARGDQMLIAIoAgAiAg0ACwwCCwNAAkAgBCACKAIEIgVHBEAgAyAFTQR/IAUgA3AFIAULIAlGDQEMBAsgAigCCCAERg0CCyACKAIAIgINAAsMAQsgAigCECICDQELIAYQqQIhAEHUiQtBADYCAEEJIABBCGpB9uoGQR8QBCEBQdSJCygCACECQdSJC0EANgIAAkAgAkEBRg0AIAcpAgwhD0HUiQtBADYCAEEJIAEgD6cgD0IgiKcQBCEBQdSJCygCACEMQdSJC0EANgIA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AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAIgIoAgAOXgABAgMEBQYHCAkKCwwNHh8gISIjJCU1Ng4PEBESExQVFhcYGRobHB03JicoKSorLC0uLzAxMjM0ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXABdC0GY/QNB5bMDQeoBEGIACyAAQZTOACABEFggAigCAEEBRw1cIAIoAhQiAUEATA1bIABBBGohBANAIAFBAWsiACACKAIUTw1eIAIoAhAgAEECdGoiAygCAEUNXyAEQZPOACADEFsgAUEBSyEGIAAhASAGDQALDFsLIABBlc4AIAEQWCACKAIAQQJHDVsgAigCEARAIABBBGpBk84AIAJBEGoQWwsMYAsgAEGWzgAgARBYIAIoAgBBA0cNWgxjCyAAQZfOACABEFggAigCAEEERw1ZIAIoAhQEQCAAQQRqQZPOACACQRRqEFsLIAIoAhBFDVggAEEEakGTzgAgAkEQahBbDwsgAEGYzgAgARBYIAIoAgBBBUcNWCAAQZPOACACQSRqEFggAigCIEUNVyAAQQRqQZPOACACQSBqEFsPCyAAQZnOACABEFggAigCAEEGRw1XIAIoAgwiAUEATA1WIABBBGohBANAIAFBAWsiACACKAIMTw1ZIAIoAgggAEECdGoiAygCAEUNWiAEQZPOACADEFsgAUEBSyEHIAAhASAHDQALDFYLIABBms4AIAEQWCACKAIAQQdHDVYgAEGTzgAgAkEcahBYIAIoAhAiAUEATA1VIABBBGohBANAIAFBAWsiACACKAIQTw1YIAIoAgwgAEECdGoiAygCAEUNWSAEQZPOACADEFsgAUEBSyEIIAAhASAIDQALDFULIABBm84AIAEQWCACKAIAQQhGDVQMVQsgAEGczgAgARBYIAIoAgBBCUcNVAxgCyAAQZ3OACABEFggAigCAEEKRg1SDFMLIABBns4AIAEQWCACKAIAQQtHDVIMWwsgAEGfzgAgARBYIAIoAgBBDEcNUQxfCyAAQaDOACABEFggAigCAEENRw1QDF0LIABBoc4AIAEQWCACKAIAQRhHDU8MXgsgAEGizgAgARBYIAIoAgBBGUcNTiAAQZPOACACQSBqEFgMXQsgAEGjzgAgARBYIAIoAgBBGkcNTQxUCyAAQaTOACABEFggAigCAEEbRw1MDFQLIABBpc4AIAEQWCACKAIAQRxGDUoMSwsgAEGmzgAgARBYIAIoAgBBHUcNSgxWCyAAQafOACABEFggAigCAEEeRw1JIABBk84AIAJBFGoQWAxVCyAAQajOACABEFggAigCAEEfRw1IDE0LIABBqc4AIAEQWCACKAIAQSBHDUcMUQsgAEGqzgAgARBYIAIoAgBBIUcNRgxRCyAAQavOACABEFggAigCAEEiRw1FIABBk84AIAJBIGoQWA8LIABBrM4AIAEQWCACKAIAQSNHDUQMUQsgAEGtzgAgARBYIAIoAgBBJEcNQwxKCyAAQa7OACABEFggAigCAEElRg1BDEILIABBr84AIAEQWCACKAIAQSZHDUEMRQsgAEGwzgAgARBYIAIoAgBBJ0cNQAxECyAAQbHOACABEFggAigCAEEORg0+DD8LIABBss4AIAEQWCACKAIAQQ9HDT4MSgsgAEGzzgAgARBYIAIoAgBBEEcNPQxICyAAQbTOACABEFggAigCAEERRw08DEALIABBtc4AIAEQWCACKAIAQRJHDTsMSwsgAEG2zgAgARBYIAIoAgBBE0cNOiACKAIIRQ05DEsLIABBt84AIAEQWCACKAIAQRRGDTgMOQsgAEG4zgAgARBYIAIoAgBBFUcNOAxICyAAQbnOACABEFggAigCAEEpRg02DDcLIABBus4AIAEQWCACKAIAQSpHDTYMRgsgAEG7zgAgARBYIAIoAgBBK0YNNAw1CyAAQbzOACABEFggAigCAEEsRw00DDkLIABBvc4AIAEQWCACKAIAQS1HDTMMPAsgAEG+zgAgARBYIAIoAgBBLkcNMgw6CyAAQb/OACABEFggAigCAEEvRg0wDDELIABBwM4AIAEQWCACKAIAQTBHDTAMOAsgAEHBzgAgARBYIAIoAgBBMUcNLww2CyAAQcLOACABEFggAigCAEEyRw0uDDILIABBw84AIAEQWCACKAIAQTNHDS0gAigCKCIBQQBKBEAgAEEEaiEDA0AgAUEBayIEIAIoAihPDTAgAigCJCAE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C0GY/QNB5bMDQeoBEGIACyAAQbfNACABEFggAigCAEEBRw1cIAIoAhQiAUEATA1bIABBBGohBANAIAFBAWsiACACKAIUTw1eIAIoAhAgAEECdGoiAygCAEUNXyAEQf3LACADEFsgAUEBSyEGIAAhASAGDQALDFsLIABBuM0AIAEQWCACKAIAQQJHDVsgAigCEARAIABBBGpB/csAIAJBEGoQWwsMYAsgAEG5zQAgARBYIAIoAgBBA0cNWgxjCyAAQbrNACABEFggAigCAEEERw1ZIAIoAhQEQCAAQQRqQf3LACACQRRqEFsLIAIoAhBFDVggAEEEakH9ywAgAkEQahBbDwsgAEG7zQAgARBYIAIoAgBBBUcNWCAAQf3LACACQSRqEFggAigCIEUNVyAAQQRqQf3LACACQSBqEFsPCyAAQbzNACABEFggAigCAEEGRw1XIAIoAgwiAUEATA1WIABBBGohBANAIAFBAWsiACACKAIMTw1ZIAIoAgggAEECdGoiAygCAEUNWiAEQf3LACADEFsgAUEBSyEHIAAhASAHDQALDFYLIABBvc0AIAEQWCACKAIAQQdHDVYgAEH9ywAgAkEcahBYIAIoAhAiAUEATA1VIABBBGohBANAIAFBAWsiACACKAIQTw1YIAIoAgwgAEECdGoiAygCAEUNWSAEQf3LACADEFsgAUEBSyEIIAAhASAIDQALDFULIABBvs0AIAEQWCACKAIAQQhGDVQMVQsgAEG/zQAgARBYIAIoAgBBCUcNVAxgCyAAQcDNACABEFggAigCAEEKRg1SDFMLIABBwc0AIAEQWCACKAIAQQtHDVIMWwsgAEHCzQAgARBYIAIoAgBBDEcNUQxfCyAAQcPNACABEFggAigCAEENRw1QDF0LIABBxM0AIAEQWCACKAIAQRhHDU8MXgsgAEHFzQAgARBYIAIoAgBBGUcNTiAAQf3LACACQSBqEFgMXQsgAEHGzQAgARBYIAIoAgBBGkcNTQxUCyAAQcfNACABEFggAigCAEEbRw1MDFQLIABByM0AIAEQWCACKAIAQRxGDUoMSwsgAEHJzQAgARBYIAIoAgBBHUcNSgxWCyAAQcrNACABEFggAigCAEEeRw1JIABB/csAIAJBFGoQWAxVCyAAQcvNACABEFggAigCAEEfRw1IDE0LIABBzM0AIAEQWCAC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QQFqIgogDUcNAAsLIAAoAhBBABBmGiAAKAIQIAAoAqwBIAAoArABIAkoAhwQogMQZhoLIAtBBGoiCyAQRw0ACyAAKAIMIQELIAEoAhgiCCABKAIcIhBHBEADQCAIKAIAIgsoAgwEQCAAKAIQIAspAgwisQJCIIinIg0QZhogDQRAILECpyERQQAhCgNAIAogEWotAAAhAQJAIAAoAhAiBigCBCIHIAYoAggiA0kEQCAHIAE6AAAgBiAHQQFqNgIEDAELIAcgBigCACIJayIMQQFqIgJBAEgNDCAMQf////8HIAMgCWsiA0EBdCIEIAIgAiAESRsgA0H/////A08bIgMEfyADEFwFQQALIgRqIgIgAToAACADIARqIQ8gAkEBaiESAkAgByAJRgRAIAIhBAwBC0EAIQMgByEBIAxBA3EiDARAA0AgAkEBayICIAFBAWsiAS0AADoAACADQQFqIgMgDEcNAAsLIAkgB2tBfE0EQANAIAJBAWsgAUEBay0AADoAACACQQJrIAFBAmstAAA6AAAgAkEDayABQQNrLQAAOgAAIAJBBGsiAiABQQRrIgEtAAA6AAAgASAJRw0ACwsgBigCACEHCyAGIA82AgggBiASNgIEIAYgBDYCACAHRQ0AIAcQWgsgCkEBaiIKIA1HDQALCyAAKAIQIAspAhQisQJCIIinIg0QZhogDQRAILECpyERQQAhCgNAIAogEWotAAAhAQJAIAAoAhAiBigCBCIHIAYoAggiA0kEQCAHIAE6AAAgBiAHQQFqNgIEDAELIAcgBigCACIJayIMQQFqIgJBAEgNDCAMQf////8HIAMgCWsiA0EBdCIEIAIgAiAESRsgA0H/////A08bIgMEfyADEFwFQQALIgRqIgIgAToAACADIARqIQ8gAkEBaiESAkAgByAJRgRAIAIhBAwBC0EAIQMgByEBIAxBA3EiDARAA0AgAkEBayICIAFBAWsiAS0AADoAACADQQFqIgMgDEcNAAsLIAkgB2tBfE0EQANAIAJBAWsgAUEBay0AADoAACACQQJrIAFBAmstAAA6AAAgAkEDayABQQNrLQAAOgAAIAJBBGsiAiABQQRrIgEtAAA6AAAgASAJRw0ACwsgBigCACEHCyAGIA82AgggBiASNgIEIAYgBDYCACAHRQ0AIAcQWgsgCkEBaiIKIA1HDQALCyAAKAIQQQMQZhogACALKAIcENADIAAoAhAgCy0AJBBmGgsgCEEEaiIIIBBHDQALIAAoAgwhAQsgASgCJCILIAEoAigiEEcEQANAIAsoAgAiCSgCDARAIAAoAhAgCSkCDCKxAkIgiKciDRBmGiANBEAgsQKnIRFBACEKA0AgCiARai0AACEBAkAgACgCECIGKAIEIgcgBigCCCIDSQRAIAcgAToAACAGIAdBAWo2AgQMAQsgByAGKAIAIghrIgxBAWoiAkEASA0MIAxB/////wcgAyAIayIDQQF0IgQgAiACIARJGyADQf////8DTxsiAwR/IAMQXAVBAAsiBGoiAiABOgAAIAMgBGohDyACQQFqIRICQCAHIAhGBEAgAiEEDAELQQAhAyAHIQEgDEEDcSIMBEADQCACQQFrIgIgAUEBayIBLQAAOgAAIANBAWoiAyAMRw0ACwsgCCAHa0F8TQRAA0AgAkEBayABQQFrLQAAOgAAIAJBAmsgAUECay0AADoAACACQQNrIAFBA2stAAA6AAAgAkEEayICIAFBBGsiAS0AADoAACABIAhHDQALCyAGKAIAIQcLIAYgDzYCCCAGIBI2AgQgBiAENgIAIAdFDQAgBxBaCyAKQQFqIgogDUcNAAsLIAAoAhAgCSkCFCKxAkIgiKciDRBmGiANBEAgsQKnIRFBACEKA0AgCiARai0AACEBAkAgACgCECIGKAIEIgcgBigCCCIDSQRAIAcgAToAACAGIAdBAWo2AgQMAQsgByAGKAIAIghrIgxBAWoiAkEASA0MIAxB/////wcgAyAIayIDQQF0IgQgAiACIARJGyADQf////8DTxsiAwR/IAMQXAVBAAsiBGoiAiABOgAAIAMgBGohDyACQQFqIRICQCAHIAhGBEAgAiEEDAELQQAhAyAHIQEgDEEDcSIMBEADQCACQQFrIgIgAUEBayIBLQAAOgAAIANBAWoiAyAMRw0ACwsgCCAHa0F8TQRAA0AgAkEBayABQQFrLQAAOgAAIAJBAmsgAUECay0AADoAACACQQNrIAFBA2stAAA6AAAgAkEEayICIAFBBGsiAS0AADoAACABIAhHDQALCyAGKAIAIQcLIAYgDzYCCCAGIBI2AgQgBiAENgIAIAdFDQAgBxBaCyAKQQFqIgogDUcNAAsLIAAoAhBBBBBmGiAAKAIQQQAQYxogACgCECFLIAUgCSkCHCKxAjcDiAEgBSCxAjcDiAIgBUGgAWogBUGIAWoQpwMhAiBLIAAoAqwBIAAoArABIAIoAgAQogMQZhoLIAtBBGoiCyAQRw0ACyAAKAIMIQELIAEoAjwiCCABQUBrKAIAIhBHBEADQAJAIAgoAgAiCygCDEUNACAAKAIQIAspAgwisQJCIIinIg0QZhogDQRAILECpyERQQAhCgNAIAogEWotAAAhAQJAIAAoAhAiBigCBCIHIAYoAggiA0kEQCAHIAE6AAAgBiAHQQFqNgIEDAELIAcgBigCACIJayIMQQFqIgJBAEgNDCAMQf////8HIAMgCWsiA0EBdCIEIAIgAiAESRsgA0H/////A08bIgMEfyADEFwFQQALIgRqIgIgAToAACADIARqIQ8gAkEBaiESAkAgByAJRgRAIAIhBAwBC0EAIQMgByEBIAxBA3EiDARAA0AgAkEBayICIAFBAWsiAS0AADoAACADQQFqIgMgDEcNAAsLIAkgB2tBfE0EQANAIAJBAWsgAUEBay0AADoAACACQQJrIAFBAmstAAA6AAAgAkEDayABQQNrLQAAOgAAIAJBBGsiAiABQQRrIgEtAAA6AAAgASAJRw0ACwsgBigCACEHCyAGIA82AgggBiASNgIEIAYgBDYCACAHRQ0AIAcQWgsgCkEBaiIKIA1HDQALCyAAKAIQIAspAhQisQJCIIinIg0QZhogDQRAILECpyERQQAhCgNAIAogEWotAAAhAQJAIAAoAhAiBigCBCIHIAYoAggiA0kEQCAHIAE6AAAgBiAHQQFqNgIEDAELIAcgBigCACIJayIMQQFqIgJBAEgNDCAMQf////8HIAMgCWsiA0EBdCIEIAIgAiAESRsgA0H/////A08bIgMEfyADEFwFQQALIgRqIgIgAToAACADIARqIQ8gAkEBaiESAkAgByAJRgRAIAIhBAwBC0EAIQMgByEBIAxBA3EiDARAA0AgAkEBayICIAFBAWsiAS0AADoAACADQQFqIgMgDEcNAAsLIAkgB2tBfE0EQANAIAJBAWsgAUEBay0AADoAACACQQJrIAFBAmstAAA6AAAgAkEDayABQQNrLQAAOgAAIAJBBGsiAiABQQRrIgEtAAA6AAAgASAJRw0ACwsgBigCACEHCyAGIA82AgggBiASNgIEIAYgBDYCACAHRQ0AIAcQWgsgCkEBaiIKIA1HDQALCyAAKAIQQQIQZhogCykDICGyAiAAKAIQIAstADBBAXQgCykDKCKxAkJ/UnIgCygCNCICQQNGQQJ0chBmGiAAKAIQIQEgAkEDRgRAIAEgsgIQwQcgsQJCf1ENASAAKAIQILECEMEHDAELIAEgsgKnEGYaILECQn9RDQAgACgCECCxAqcQZhoLIAhBBGoiCCAQRw0ACyAAKAIMIQELIAEoAlQiCCABKAJYIhBHBEADQAJAIAgoAgAiCygCDEUNACAAKAIQIAspAgwisQJCIIinIg0QZhogDQRAILECpyERQQAhCgNAIAogEWotAAAhAQJAIAAoAhAiBigCBCIHIAYoAggiA0kEQCAHIAE6AAAgBiAHQQFqNgIEDAELIAcgBigCACIJayIMQQFqIgJBAEgNDCAMQf////8HIAMgCWsiA0EBdCIEIAIgAiAESRsgA0H/////A08bIgMEfyADEFwFQQALIgRqIgIgAToAACADIARqIQ8gAkEBaiESAkAgByAJRgRAIAIhBAwBC0EAIQMgByEBIAxBA3EiDARAA0AgAkEBayICIAFBAWsiAS0AADoAACADQQFqIgMgDEcNAAsLIAkgB2tBfE0EQANAIAJBAWsgAUEBay0AADoAACACQQJrIAFBAmstAAA6AAAgAkEDayABQQNrLQAAOgAAIAJBBGsiAiABQQRrIgEtAAA6AAAgASAJRw0ACwsgBigCACEHCyAGIA82AgggBiASNgIEIAYgBDYCACAHRQ0AIAcQWgsgCkEBaiIKIA1HDQALCyAAKAIQIAspAhQisQJCIIinIg0QZhogDQRAILECpyERQQAhCgNAIAogEWotAAAhAQJAIAAoAhAiBigCBCIHIAYoAggiA0kEQCAHIAE6AAAgBiAHQQFqNgIEDAELIAcgBigCACIJayIMQQFqIgJBAEgNDCAMQf////8HIAMgCWsiA0EBdCIEIAIgAiAESRsgA0H/////A08bIgMEfyADEFwFQQALIgRqIgIgAToAACADIARqIQ8gAkEBaiESAkAgByAJRgRAIAIhBAwBC0EAIQMgByEBIAxBA3EiDARAA0AgAkEBayICIAFBAWsiAS0AADoAACADQQFqIgMgDEcNAAsLIAkgB2tBfE0EQANAIAJBAWsgAUEBay0AADoAACACQQJrIAFBAmstAAA6AAAgAkEDayABQQNrLQAAOgAAIAJBBGsiAiABQQRrIgEtAAA6AAAgASAJRw0ACwsgBigCACEHCyAGIA82AgggBiASNgIEIAYgBDYCACAHRQ0AIAcQWgsgCkEBaiIKIA1HDQALCyAAKAIQQQEQZhogACALKAIwENADIAsoAiAhASAAKAIQIAspAygisQJC/////w9SEGYaIAAoAhAgARBmGiCxAkL/////D1ENACAAKAIQILECpxBmGgsgCEEEaiIIIBBHDQALCyAAIA4gE2sQmwMgACgCqAIiASgCFCABKAIQayEDCyADIAEoAgAiAigCECACKAIMa0cEQCAAKAIQQQMQYxogACgC2AEEQCAAIAAoApACIAAoAowCa0EDdTYCmAILIAAgACgCuAI2AugCIAAoAhAiASgCBCECIAEoAgAhAyABQQAQggMaIAAoAhBBABBjGiAAKAIQIAAoAqgCIgEoAgAiBCgCECAEKAIMa0ECdSABKAIUIAEoAhBrQQJ1axBmGiAAKAIMIgQoAgwiASAEKAIQIgRHBEADQCABKAIAIgcoAgxFBEAgACgCECAAKAKsASAAKAKwASAHKAIcEKIDEGYaCyABQQRqIgEgBEcNAAsLIAAgAiADaxCbAyAAKAKoAiIBKAIAIQILIAIoAlggAigCVGsgASgCICABKAIca0cEQCAAKAIQQQQQYxogACgC2AEEQCAAIAAoApACIAAoAowCa0EDdTYCmAILIAAgACgCuAI2AugCIAAoAhAiASgCBCEDIAEoAgAhBCABQQAQggMaIAAoAhBBABBjGiAAKAIQIAAoAqgCIgEoAgAiAigCWCACKAJUa0ECdSABKAIgIAEoAhxrQQJ1axBmGiAAKAIMIgIoAlQiASACKAJYIgdHBEADQAJAIAEoAgAiAigCDA0AIAAgAigCMBDQAyACKAIgIQYgACgCECACKQMoIrECQv////8PUhBmGiAAKAIQIAYQZhogsQJC/////w9RDQAgACgCECCxAqcQZhoLIAFBBGoiASAHRw0ACwsgACADIARrEJsDIAAoAqgCIgEoAgAhAgsgAkFAaygCACACKAI8ayABKAIsIAEoAihrRwRAIAAoAhBBBRBjGiAAKALYAQRAIAAgACgCkAIgACgCjAJrQQN1NgKYAgsgACAAKAK4AjYC6AIgACgCECIBKAIEIQMgASgCACEEIAFBABCCAxogACgCEEEAEGMaIAAoAhAgACgCqAIiASgCACICQUBrKAIAIAIoAjxrQQJ1IAEoAiwgASgCKGtBAnVrEGYaIAAoAgwiAigCPCIBIAJBQGsoAgAiB0cEQANAAkAgASgCACICKAIMDQAgAikDICGyAiAAKAIQIAItADBBAXQgAikDKCKxAkJ/UnIgAigCNCIGQQNGQQJ0chBmGiAAKAIQIQIgBkEDRgRAIAIgsgIQwQcgsQJCf1ENASAAKAIQILECEMEHDAELIAIgsgKnEGYaILECQn9RDQAgACgCECCxAqcQZhoLIAFBBGoiASAHRw0ACwsgACADIARrEJsDIAAoAqgCIgEoAgAhAgsgAigCKCACKAIkayABKAI4IAEoAjRrRwRAIAAoAhBBDRBjGiAAKALYAQRAIAAgACgCkAIgACgCjAJrQQN1NgKYAgsgACAAKAK4AjYC6AIgACgCECIBKAIEIQIgASgCACEDIAFBABCCAxogACgCEEEAEGMaIAAoAhAgACgCqAIiASgCACIEKAIoIAQoAiRrQQJ1IAEoAjggASgCNGtBAnVrEGYaIAAoAgwiBCgCJCIBIAQoAigiBEcEQANAIAEoAgAiBygCDEUEQCAAKAIQQQAQYxogACgCECFMIAUgBykCHCKxAjcDgAEgBSCxAjcDiAIgBUGgAWogBUGAAWoQpwMhByBMIAAoAqwBIAAoArABIAcoAgAQogMQZhoLIAFBBGoiASAERw0ACwsgACACIANrEJsDCyAAKAIMIgEtAIUBQcAAcUUNBCAFQeixBzYCoAFB1IkLQQA2AgAgBSAFQaABaiIDNgKwAUHyACAFQZABaiABIAMQBCENQdSJCygCACEBQdSJC0EANgIAAkACQCABQQFHBEACQAJAIAMgBSgCsAEiAUYEQEEEIQIgAyEBDAELQQUhAiABRQ0BCyABIAEoAgAgAkECdGooAgARAQALIA1BCGoiEyEBAkAgEygCACICBEADQCACIgEoAhBFDQIgASgCACICDQALC0HUiQtBADYCAEEEQSgQBiECQdSJCygCACFNQdSJC0EANgIAIE1BAUYNAiACQgA3AhAgAiABNgIIIAJCADcCACACQgA3AhggAkKAgICAgICAwD83AiAgASACNgIAIAIh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AiAERw0ACwsgAEIANwKgASAAQgA3AsABIABBgQI7AdQBIABCADcCsAEgAEIANwKoASAAQoCAgICAgIDAPzcCuAEgAEIANwLIASAAQYCAgPwDNgLQASAAQQA2AoACIABCADcC+AEgAEIANwLwASAAQgA3AugBIABCADcC4AEgAEIANwLYASAAQgA3AqgCIABCADcCkAIgAEIANwKIAiAAQZC3CzYChAIgAEIANwKwAiAAQgA3AsACIABCgICAgICAgMA/NwK4AiAAQgA3AsgCIABBgICA/AM2AtACIABCADcC3AIgAEIANwLUAiAAQgA3AuwCIABBgICA/AM2AuQCIABCADcC9AIgAEIANwL8AiAAQoCAgICAgIDAPzcChAMgAEIANwKMAyAAQgA3ApQDIABBgICA/AM2ApwDIAAoAgwhAUHUiQtBADYCAEHnACAFIAEQA0HUiQsoAgAhAUHUiQtBADYCACAAQcABaiEJIABBoAFqIQwCQAJAIAFBAUYNACAMKAIAIgEEQCAAIAE2AqQBIAEQWiAAQQA2AqgBIABCADcCoAELIAAgBSgCADYCoAEgACAFKAIENgKkASAAIAUoAgg2AqgBIAVBADYCCCAFQgA3AgAgACgCuAEEQCAAKAK0ASICBEADQCACKAIAIRwgAhBaIBwiAg0ACwtBACECIABBADYCtAECQCAAKAKwASIERQ0AIARBBE8EQCAEQXxxIQEDQCACQQJ0IgMgACgCrAFqQQA2AgAgACgCrAEgA2pBADYCBCAAKAKsASADakEANgIIIAAoAqwBIANqQQA2AgwgAkEEaiICIAFHDQALCyAEQQNxIgFFDQBBACEDA0AgACgCrAEgAkECdGpBADYCACACQQFqIQIgA0EBaiIDIAFHDQALCyAAQQA2ArgBCyAFKAIMIQEgBUEANgIMIAAoAqwBIQIgACABNgKsASACBEAgAhBaCyAAIAUoAhAiBDYCsAEgBUEANgIQIAAgBSgCGCIBNgK4ASAAIAUqAhw4ArwBIABBtAFqIgMgBSgCFCICNgIAAkAgAQRAIAIoAgQhAgJAIAQgBEEBayIBcUUEQCABIAJxIQIMAQsgAiAESQ0AIAIgBHAhAgsgACgCrAEgAkECdGogAzYCACAFQgA3AhQMAQsgAkUNAANAIAIoAgAhHSACEFogHSICDQALCyAFKAIM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BDYCCCAAKAIEIQQgACACNgIEIAAoAgAhASAAIAM2AgAgASAERg0DA0AgBEEMayEAIARBAWssAABBAEgEQCAAKAIAEFoLIAAiBCABRw0ACwwDCxBkAAsQagALIAAgBDYCCCAAIAI2AgQgACADNgIACyABBEAgARBaCwsrACABKAIAIgEoAgBBA0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIQCCysAIAEoAgAiASgCAEECRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQhAILKwAgASgCACIBKAIAQQFHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCEAgvdHgEOfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEoAgAiAigCAA5eAAECAwQFBgcICQoLDA0eHyAhIiMkJTU2Dg8QERITFBUWFxgZGhscHTcmJygpKissLS4vMDEyMzQ4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcAF0LQZj9A0HlswNB6gEQYgALIABB28wAIAEQWCACKAIAQQFHDVwgAigCFCIBQQBMDVsgAEEEaiEEA0AgAUEBayIAIAIoAhRPDV4gAigCECAAQQJ0aiIDKAIARQ1fIARB/ssAIAMQWyABQQFLIQYgACEBIAYNAAsMWwsgAEHczAAgARBYIAIoAgBBAkcNWyACKAIQBEAgAEEEakH+ywAgAkEQahBbCwxgCyAAQd3MACABEFggAigCAEEDRw1aDGMLIABB3swAIAEQWCACKAIAQQRHDVkgAigCFARAIABBBGpB/ssAIAJBFGoQWwsgAigCEEUNWCAAQQRqQf7LACACQRBqEFsPCyAAQd/MACABEFggAigCAEEFRw1YIABB/ssAIAJBJGoQWCACKAIgRQ1XIABBBGpB/ssAIAJBIGoQWw8LIABB4MwAIAEQWCACKAIAQQZHDVcgAigCDCIBQQBMDVYgAEEEaiEEA0AgAUEBayIAIAIoAgxPDVkgAigCCCAAQQJ0aiIDKAIARQ1aIARB/ssAIAMQWyABQQFLIQcgACEBIAcNAAsMVgsgAEHhzAAgARBYIAIoAgBBB0cNViAAQf7LACACQRxqEFggAigCECIBQQBMDVUgAEEEaiEEA0AgAUEBayIAIAIoAhBPDVggAigCDCAAQQJ0aiIDKAIARQ1ZIARB/ssAIAMQWyABQQFLIQggACEBIAgNAAsMVQsgAEHizAAgARBYIAIoAgBBCEYNVAxVCyAAQePMACABEFggAigCAEEJRw1UDGALIABB5MwAIAEQWCACKAIAQQpGDVIMUwsgAEHlzAAgARBYIAIoAgBBC0cNUgxbCyAAQebMACABEFggAigCAEEMRw1RDF8LIABB58wAIAEQWCACKAIAQQ1HDVAMXQsgAEHozAAgARBYIAIoAgBBGEcNTwxeCyAAQenMACABEFggAigCAEEZRw1OIABB/ssAIAJBIGoQWAxdCyAAQerMACABEFggAigCAEEaRw1NDFQLIABB68wAIAEQWCACKAIAQRtHDUwMVAsgAEHszAAgARBYIAIoAgBBHEYNSgxLCyAAQe3MACABEFggAigCAEEdRw1KDFYLIABB7swAIAEQWCACKAIAQR5HDUkgAEH+ywAgAkEUahBYDFULIABB78wAIAEQWCACKAIAQR9HDUgMTQsgAEHwzAAgARBYIAIoAgBBIEcNRwxRCyAAQfHMACABEFggAigCAEEhRw1GDFELIABB8swAIAEQWCACKAIAQSJHDUUgAEH+ywAgAkEgahBYDwsgAEHzzAAgARBYIAIoAgBBI0cNRAxRCyAAQfTMACABEFggAigCAEEkRw1DDEoLIABB9cwAIAEQWCACKAIAQSVGDUEMQgsgAEH2zAAgARBYIAIoAgBBJkcNQQxFCyAAQffMACABEFggAigCAEEnRw1ADEQLIABB+MwAIAEQWCACKAIAQQ5GDT4MPwsgAEH5zAAgARBYIAIoAgBBD0cNPgxKCyAAQfrMACABEFggAigCAEEQRw09DEgLIABB+8wAIAEQWCACKAIAQRFHDTwMQAsgAEH8zAAgARBYIAIoAgBBEkcNOwxLCyAAQf3MACABEFggAigCAEETRw06IAIoAghFDTkMSwsgAEH+zAAgARBYIAIoAgBBFEYNOAw5CyAAQf/MACABEFggAigCAEEVRw04DEgLIABBgM0AIAEQWCACKAIAQSlGDTYMNwsgAEGBzQAgARBYIAIoAgBBKkcNNgxGCyAAQYLNACABEFggAigCAEErRg00DDULIABBg80AIAEQWCACKAIAQSxHDTQMOQsgAEGEzQAgARBYIAIoAgBBLUcNMww8CyAAQYXNACABEFggAigCAEEuRw0yDDoLIABBhs0AIAEQWCACKAIAQS9GDTAMMQsgAEGHzQAgARBYIAIoAgBBMEcNMAw4CyAAQYjNACABEFggAigCAEExRw0vDDYLIABBic0AIAEQWCACKAIAQTJHDS4MMgsgAEGKzQAgARBYIAIoAgBBM0cNLSACKAIoIgFBAEoEQCAAQQRqIQMDQCABQQFrIgQgAigCKE8NMCACKAIkIARBAnRqIgUoAgBFDTEgA0H+ywAgBRBbIAFBAUshCSAEIQEgCQ0ACwsMNgsgAEGLzQAgARBYIAIoAgBBNEYEQAw9CwwsCyAAQYzNACABEFggAigCAEE1Rw0rIAIoAhQiAUEATA0qIABBBGohBANAIAFBAWsiACACKAIUTw0tIAIoAhAgAEECdGoiAygCAEUNLiAEQf7LACADEFsgAUEBSyEKIAAhASAKDQALDCoLIABBjc0AIAEQWCACKAIAQTZGDSkMKgsgAEGOzQAgARBYIAIoAgBBN0cNKQw5CyAAQY/NACABEFggAigCAEEWRg0nDCgLIABBkM0AIAEQWCACKAIAQRdGDSYMJwsgAEGRzQAgARBYIAIoAgBBKEYNJQwmCyAAQZLNACABEFggAigCAEE4Rw0lIAIoAgwiAUEATA0kIABBBGohBANAIAFBAWsiACACKAIMTw0nIAIoAgggAEECdGoiAygCAEUNKCAEQf7LACADEFsgAUEBSyELIAAhASALDQALDCQLIABBk80AIAEQWCACKAIAQTlHDSQMNAsgAEGUzQAgARBYIAIoAgBBOkcNIwwzCyAAQZXNACABEFggAigCAEE7Rw0iDDILIABBls0AIAEQWCACKAIAQTxHDSEgAEH+ywAgAkEYahBYIAIoAgwiAUEATA0gIABBBGohBANAIAFBAWsiACACKAIMTw0jIAIoAgggAEECdGoiAygCAEUNJCAEQf7LACADEFsgAUEBSyEMIAAhASAMDQALDCALIABBl80AIAEQWCACKAIAQT1HDSAMMAsgAEGYzQAgARBYIAIoAgBBPkcNHwwvCyAAQZnNACABEFggAigCAEE/Rw0eIABB/ssAIAJBFGoQWA8LIABBms0AIAEQWCACKAIAQcAARw0dIAIoAgwiAUEATA0cIABBBGohBANAIAFBAWsiACACKAIMTw0fIAIoAgggAEECdGoiAygCAEUNICAEQf7LACADEFsgAUEBSyENIAAhASANDQALDBwLIABBm80AIAEQWCACKAIAQcEARw0cDCgLIABBnM0AIAEQWCACKAIAQcIARw0bDCYLIABBnc0AIAEQWCACKAIAQcMARw0aIABB/ssAIAJBDGoQWCACKAIIRQ0ZDCsLIABBns0AIAEQWCACKAIAQcQARw0ZDCELIABBn80AIAEQWCACKAIAQcUARw0YDCALIABBoM0AIAEQWCACKAIAQcYARw0XIAIoAgwiAUEATA0WIABBBGohBANAIAFBAWsiACACKAIMTw0ZIAIoAgggAEECdGoiAygCAEUNGiAEQf7LACADEFsgAUEBSyEOIAAhASAODQALDBYLIABBoc0AIAEQWCACKAIAQccARw0WDBsLIABBos0AIAEQWCACKAIAQcgARw0VDBkLIABBo80AIAEQWCACKAIAQckARw0UDCQLIABBpM0AIAEQWCACKAIAQcoARw0TIABB/ssAIAJBGGoQWAwWCyAAQaXNACABEFggAigCAEHLAEcNEgwVCyAAQabNACABEFggAigCAEHMAEcNEQwXCyAAQafNACABEFggAigCAEHNAEcNEAwWCyAAQajNACABEFggAigCAEHOAEcNDwwbCyAAQanNACABEFggAigCAEHPAEcNDiACKAIYBEAgAEEEakH+ywAgAkEYahBbCyACKAIUBEAgAEEEakH+ywAgAkEUahBbCyACKAIQBEAgAEEEakH+ywAgAkEQahBbCwwaCyAAQarNACABEFggAigCAEHQAEYNDAwNCyAAQavNACABEFggAigCAEHRAEcNDAwYCyAAQazNACABEFggAigCAEHSAEcNCyACKAIUBEAgAEEEakH+ywAgAkEUahBbCwwWCyAAQa3NACABEFggAigCAEHTAEcNCgwPCyAAQa7NACABEFgg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TA0kIABBBGohBANAIAFBAWsiACACKAIMTw0nIAIoAgggAEECdGoiAygCAEUNKCAEQefJACADEFsgAUEBSyELIAAhASALDQALDCQLIABBt8wAIAEQWCACKAIAQTlHDSQMNAsgAEG4zAAgARBYIAIoAgBBOkcNIwwzCyAAQbnMACABEFggAigCAEE7Rw0iDDILIABBuswAIAEQWCACKAIAQTxHDSEgAEHnyQAgAkEYahBYIAIoAgwiAUEATA0gIABBBGohBANAIAFBAWsiACACKAIMTw0jIAIoAgggAEECdGoiAygCAEUNJCAEQefJACADEFsgAUEBSyEMIAAhASAMDQALDCALIABBu8wAIAEQWCACKAIAQT1HDSAMMAsgAEG8zAAgARBYIAIoAgBBPkcNHwwvCyAAQb3MACABEFggAigCAEE/Rw0eIABB58kAIAJBFGoQWA8LIABBvswAIAEQWCACKAIAQcAARw0dIAIoAgwiAUEATA0cIABBBGohBANAIAFBAWsiACACKAIMTw0fIAIoAgggAEECdGoiAygCAEUNICAEQefJACADEFsgAUEBSyENIAAhASANDQALDBwLIABBv8wAIAEQWCACKAIAQcEARw0cDCgLIABBwMwAIAEQWCACKAIAQcIARw0bDCYLIABBwcwAIAEQWCACKAIAQcMARw0aIABB58kAIAJBDGoQWCACKAIIRQ0ZDCsLIABBwswAIAEQWCACKAIAQcQARw0ZDCELIABBw8wAIAEQWCACKAIAQcUARw0YDCALIABBxMwAIAEQWCACKAIAQcYARw0XIAIoAgwiAUEATA0WIABBBGohBANAIAFBAWsiACACKAIMTw0ZIAIoAgggAEECdGoiAygCAEUNGiAEQefJACADEFsgAUEBSyEOIAAhASAODQALDBYLIABBxcwAIAEQWCACKAIAQccARw0WDBsLIABBxswAIAEQWCACKAIAQcgARw0VDBkLIABBx8wAIAEQWCACKAIAQckARw0UDCQLIABByMwAIAEQWCACKAIAQcoARw0TIABB58kAIAJBGGoQWAwWCyAAQcnMACABEFggAigCAEHLAEcNEgwVCyAAQcrMACABEFggAigCAEHMAEcNEQwXCyAAQcvMACABEFggAigCAEHNAEcNEAwWCyAAQczMACABEFggAigCAEHOAEcNDwwbCyAAQc3MACABEFggAigCAEHPAEcNDiACKAIYBEAgAEEEakHnyQAgAkEYahBbCyACKAIUBEAgAEEEakHnyQAgAkEUahBbCyACKAIQBEAgAEEEakHnyQAgAkEQahBbCwwaCyAAQc7MACABEFggAigCAEHQAEYNDAwNCyAAQc/MACABEFggAigCAEHRAEcNDAwYCyAAQdDMACABEFggAigCAEHSAEcNCyACKAIUBEAgAEEEakHnyQAgAkEUahBbCwwWCyAAQdHMACABEFggAigCAEHTAEcNCgwPCyAAQdLMACABEFggAigCAEHUAEcNCQwUCyAAQdPMACABEFggAigCAEHVAEcNCAwUCyAAQdTMACABEFggAigCAEHWAEcNBwwLCyAAQdXMACABEFggAigCAEHXAEcNBgwLCyAAQdbMACABEFggAigCAEHYAEcNBQwVCyAAQdfMACABEFggAigCAEHZAEcNBAwPCyAAQdjMACABEFggAigCAEHaAEcNAwwNCyAAQdnMACABEFggAigCAEHbAEcNAgwHCyAAQdrMACABEFggAigCAEHcAEcNASAAQefJACACQTxqEFggAigCMCIBQQBMDQAgAEEEaiEEA0AgAUEBayIAIAIoAjBPDQMgAigCLCAAQQJ0aiIDKAIARQ0EIARB58kAIAMQWyABQQFLIQ8gACEBIA8NAAsLDwtB8O0FQcWYA0GUBkGN3gAQAQALQcWiAUGJogNBvAFBpogFEAEAC0GBgwJB05kDQbkCQa73AhABAAsgAEHnyQAgAkEUahBYCyAAQefJACACQRBqEFgLIABB58kAIAJBDGoQWAwKCyAAQefJACACQRxqEFgLIABB58kAIAJBGGoQWAsgAEHnyQAgAkEUahBYCyAAQefJACACQRBqEFgPCyAAQefJACACQRRqEFgLIABB58kAIAJBEGoQWAsgAEHnyQAgAkEMahBYDwsgAEHnyQAgAkEoahBYCyAAQefJACACQSRqEFgPCyAAQefJACACQRxqEFggAEHnyQAgAkEYahBYDwsgAEHnyQAgAkEIahBYDwsgAEEEakHnyQAgAkEIahBbC7QCAQN/AkACQAJAQQAgACgCBGsgACgCXCAAKAJYa0EDdUYEQCABKAIARQ0BIABBBGpB/ssAIAEQW0EAIAAoAgQiAmsgACgCXCIBIAAoAlgiA2tBA3VHBEAgAEEIaiEEA0ACQCABIANGBEAgAkUNBiAEIAJBAWsiAkEDdGoiAygCBCEBIAMoAgAhAyAAIAI2AgQMAQsgAUEIayICKAIAIQMgAigCBCEBIAAgAjYCXAsgACABNgIAIAEoAgBFDQUgACABIAMRAABBACAAKAIEIgJrIAAoAlwiASAAKAJYIgNrQQN1Rw0ACwsPC0HNygVB05kDQcgCQdD4AhABAAtBgYMCQdOZA0G5AkGu9wIQAQALQd7EBUGwlANB2gBB/fsCEAEAC0H1ggJB05kDQc0CQdD4AhABAAsFAEG7AQu0AgEDfwJAAkACQEEAIAAoAgRrIAAoAlwgACgCWGtBA3VGBEAgASgCAEUNASAAQQRqQf3LACABEFtBACAAKAIEIgJrIAAoAlwiASAAKAJYIgNrQQN1RwRAIABBCGohBANAAkAgASADRgRAIAJFDQYgBCACQQFrIgJBA3RqIgMoAgQhASADKAIAIQMgACACNgIEDAELIAFBCGsiAigCACEDIAIoAgQhASAAIAI2AlwLIAAgATYCACABKAIARQ0FIAAgASADEQAAQQAgACgCBCICayAAKAJcIgEgACgCWCIDa0EDdUcNAAsLDwtBzcoFQdOZA0HIAkHQ+AIQAQALQYGDAkHTmQNBuQJBrvcCEAEAC0HexAVBsJQDQdoAQf37AhABAAtB9YICQdOZA0HNAkHQ+AIQAQAL3R4BDn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAIgIoAgAOXgABAgMEBQYHCAkKCwwNHh8gISIjJCU1Ng4PEBESExQVFhcYGRobHB03JicoKSorLC0uLzAxMjM0ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXABdC0GY/QNB5bMDQeoBEGIACyAAQaHLACABEFggAigCAEEBRw1cIAIoAhQiAUEATA1bIABBBGohBANAIAFBAWsiACACKAIUTw1eIAIoAhAgAEECdGoiAygCAEUNXyAEQePJACADEFsgAUEBSyEGIAAhASAGDQALDFsLIABBossAIAEQWCACKAIAQQJHDVsgAigCEARAIABBBGpB48kAIAJBEGoQWwsMYAsgAEGjywAgARBYIAIoAgBBA0cNWgxjCyAAQaTLACABEFggAigCAEEERw1ZIAIoAhQEQCAAQQRqQePJACACQRRqEFsLIAIoAhBFDVggAEEEakHjyQAgAkEQahBbDwsgAEGlywAgARBYIAIoAgBBBUcNWCAAQePJACACQSRqEFggAigCIEUNVyAAQQRqQePJACACQSBqEFsPCyAAQabLACABEFggAigCAEEGRw1XIAIoAgwiAUEATA1WIABBBGohBANAIAFBAWsiACACKAIMTw1ZIAIoAgggAEECdGoiAygCAEUNWiAEQePJACADEFsgAUEBSyEHIAAhASAHDQALDFYLIABBp8sAIAEQWCACKAIAQQdHDVYgAEHjyQAgAkEcahBYIAIoAhAiAUEATA1VIABBBGohBANAIAFBAWsiACACKAIQTw1YIAIoAgwgAEECdGoiAygCAEUNWSAEQePJACADEFsgAUEBSyEIIAAhASAIDQALDFULIABBqMsAIAEQWCACKAIAQQhGDVQMVQsgAEGpywAgARBYIAIoAgBBCUcNVAxgCyAAQarLACABEFggAigCAEEKRg1SDFMLIABBq8sAIAEQWCACKAIAQQtHDVIMWwsgAEGsywAgARBYIAIoAgBBDEcNUQxfCyAAQa3LACABEFggAigCAEENRw1QDF0LIABBrssAIAEQWCACKAIAQRhHDU8MXgsgAEGvywAgARBYIAIoAgBBGUcNTiAAQePJACACQSBqEFgMXQsgAEGwywAgARBYIAIoAgBBGkcNTQxUCyAAQbHLACABEFggAigCAEEbRw1MDFQLIABBsssAIAEQWCACKAIAQRxGDUoMSwsgAEGzywAgARBYIAIoAgBBHUcNSgxWCyAAQbTLACABEFggAigCAEEeRw1JIABB48kAIAJBFGoQWAxVCyAAQbXLACABEFggAigCAEEfRw1IDE0LIABBtssAIAEQWCACKAIAQSBHDUcMUQsgAEG3ywAgARBYIAIoAgBBIUcNRgxRCyAAQbjLACABEFggAigCAEEiRw1FIABB48kAIAJBIGoQWA8LIABBucsAIAEQWCACKAIAQSNHDUQMUQsgAEG6ywAgARBYIAIoAgBBJEcNQwxKCyAAQbvLACABEFggAigCAEElRg1BDEILIABBvMsAIAEQWCACKAIAQSZHDUEMRQsgAEG9ywAgARBYIAIoAgBBJ0cNQAxECyAAQb7LACABEFggAigCAEEORg0+DD8LIABBv8sAIAEQWCACKAIAQQ9HDT4MSgsgAEHAywAgARBYIAIoAgBBEEcNPQxICyAAQcHLACABEFggAigCAEERRw08DEALIABBwssAIAEQWCACKAIAQRJHDTsMSwsgAEHDywAgARBYIAIoAgBBE0cNOiACKAIIRQ05DEsLIABBxMsAIAEQWCACKAIAQRRGDTgMOQsgAEHFywAgARBYIAIoAgBBFUcNOAxICyAAQcbLACABEFggAigCAEEpRg02DDcLIABBx8sAIAEQWCACKAIAQSpHDTYMRgsgAEHIywAgARBYIAIoAgBBK0YNNAw1CyAAQcnLACABEFggAigCAEEsRw00DDkLIABByssAIAEQWCACKAIAQS1HDTMMPAsgAEHLywAgARBYIAIoAgBBLkcNMgw6CyAAQczLACABEFggAigCAEEvRg0wDDELIABBzcsAIAEQWCACKAIAQTBHDTAMOAsgAEHOywAgARBYIAIoAgBBMUcNLww2CyAAQc/LACABEFggAigCAEEyRw0uDDILIABB0MsAIAEQWCACKAIAQTNHDS0gAigCKCIBQQBKBEAgAEEEaiEDA0AgAUEBayIEIAIoAihPDTAgAigCJCAEQQJ0aiIFKAIARQ0xIANB48kAIAUQWyABQQFLIQkgBCEBIAkNAAsLDDYLIABB0csAIAEQWCACKAIAQTRGBEAMPQsMLAsgAEHSywAgARBYIAIoAgBBNUcNKyACKAIUIgFBAEwNKiAAQQRqIQQDQCABQQFrIgAgAigCFE8NLSACKAIQIABBAnRqIgMoAgBFDS4gBEHjyQAgAxBbIAFBAUshCiAAIQEgCg0ACwwqCyAAQdPLACABEFggAigCAEE2Rg0pDCoLIABB1MsAIAEQWCACKAIAQTdHDSkMOQsgAEHVywAgARBYIAIoAgBBFkYNJwwoCyAAQdbLACABEFggAigCAEEXRg0mDCcLIABB18sAIAEQWCACKAIAQShGDSUMJgsgAEHYywAgARBYIAIoAgBBOEcNJSACKAIMIgFBAEwNJCAAQQRqIQQDQCABQQFrIgAgAigCDE8NJyACKAIIIABBAnRqIgMoAgBFDSggBEHjyQAgAxBbIAFBAUshCyAAIQEgCw0ACwwkCyAAQdnLACABEFggAigCAEE5Rw0kDDQLIABB2ssAIAEQWCACKAIAQTpHDSMMMwsgAEHbywAgARBYIAIoAgBBO0cNIgwyCyAAQdzLACABEFggAigCAEE8Rw0hIABB48kAIAJBGGoQWCACKAIMIgFBAEwNICAAQQRqIQQDQCABQQFrIgAgAigCDE8NIyACKAIIIABBAnRqIgMoAgBFDSQgBEHjyQAgAxBbIAFBAUshDCAAIQEgDA0ACwwgCyAAQd3LACABEFggAigCAEE9Rw0gDDALIABB3ssAIAEQWCACKAIAQT5HDR8MLwsgAEHfywAgARBYIAIoAgBBP0cNHiAAQePJACACQRRqEFgPCyAAQeDLACABEFggAigCAEHAAEcNHSACKAIMIgFBAEwNHCAAQQRqIQQDQCABQQFrIgAgAigCDE8NHyACKAIIIABBAnRqIgMoAgBFDSAgBEHjyQAgAxBbIAFBAUshDSAAIQEgDQ0ACwwcCyAAQeHLACABEFggAigCAEHBAEcNHAwoCyAAQeLLACABEFggAigCAEHCAEcNGwwmCyAAQePLACABEFggAigCAEHDAEcNGiAAQePJACACQQxqEFggAigCCEUNGQwrCyAAQeTLACABEFggAigCAEHEAEcNGQwhCyAAQeXLACABEFggAigCAEHFAEcNGAwgCyAAQebLACABEFggAigCAEHGAEcNFyACKAIMIgFBAEwNFiAAQQRqIQQDQCABQQFrIgAgAigCDE8NGSACKAIIIABBAnRqIgMoAgBFDRogBEHjyQAgAxBbIAFBAUshDiAAIQEgDg0ACwwWCyAAQefLACABEFggAigCAEHHAEcNFgwbCyAAQejLACABEFggAigCAEHIAEcNFQwZCyAAQenLACABEFggAigCAEHJAEcNFAwkCyAAQerLACABEFggAigCAEHKAEcNEyAAQePJACACQRhqEFgMFgsgAEHrywAgARBYIAIoAgBBywBHDRIMFQsgAEHsywAgARBYIAIoAgBBzABHDREMFwsgAEHtywAgARBYIAIoAgBBzQBHDRAMFgsgAEHuywAgARBYIAIoAgBBzgBHDQ8MGwsgAEHvywAgARBYIAIoAgBBzwBHDQ4gAigCGARAIABBBGpB48kAIAJBGGoQWwsgAigCFARAIABBBGpB48kAIAJBFGoQWwsgAigCEARAIABBBGpB48kAIAJBEGoQWwsMGgsgAEHwywAgARBYIAIoAgBB0ABGDQwMDQsgAEHxywAgARBYIAIoAgBB0QBHDQwMGAsgAEHyywAgARBYIAIoAgBB0gBHDQsgAigCFARAIABBBGpB48kAIAJBFGoQWwsMFgsgAEHzywAgARBYIAIoAgBB0wBHDQoMDwsgAEH0ywAgARBYIAIoAgBB1ABHDQkMFAsgAEH1ywAgARBYIAIoAgBB1QBHDQgMFAsgAEH2ywAgARBYIAIoAgBB1gBHDQcMCwsgAEH3ywAgARBYIAIoAgBB1wBHDQYMCwsgAEH4ywAgARBYIAIoAgBB2ABHDQUMFQsgAEH5ywAgARBYIAIoAgBB2QBHDQQMDwsgAEH6ywAgARBYIAIoAgBB2gBHDQMMDQsgAEH7ywAgARBYIAIoAgBB2wBHDQIMBwsgAEH8ywAgARBYIAIoAgBB3ABHDQEgAEHjyQAgAkE8ahBYIAIoAjAiAUEATA0AIABBBGohBANAIAFBAWsiACACKAIwTw0DIAIoAiwgAEECdGoiAygCAEUNBCAEQePJACADEFsgAUEBSyEPIAAhASAPDQALCw8LQfDtBUHFmANBlAZBjd4AEAEAC0HFogFBiaIDQbwBQaaIBRABAAtBgYMCQdOZA0G5AkGu9wIQAQALIABB48kAIAJBFGoQWAsgAEHjyQAgAkEQahBYCyAAQePJACACQQxqEFgMCgsgAEHjyQAgAkEcahBYCyAAQePJACACQRhqEFgLIABB48kAIAJBFGoQWAsgAEHjyQAgAkEQahBYDwsgAEHjyQAgAkEUahBYCyAAQePJACACQRBqEFgLIABB48kAIAJBDGoQWA8LIABB48kAIAJBKGoQWAsgAEHjyQAgAkEkahBYDwsgAEHjyQAgAkEcahBYIABB48kAIAJBGGoQWA8LIABB48kAIAJBCGoQWA8LIABBBGpB48kAIAJBCGoQWwvsAQEFfyABIAAQ1ANrIQECQCAALQALQYABcUEHdgR/IAAoAghB/////wdxQQFrBUEKCyAAKAIEIAAtAAsiAkH/AHEgAkGAAXFBB3YbIgJGBEAgACACQQEgAiABQQEQtAkgACgCACEDDAELIAAoAgAgACAALQALQYABcUEHdhshAyABIAJGDQAgASADaiIEQQFqIQUgAiABayIGBEAgBSAEIAb8CgAACwsgASADakEkOgAAIAMgAkEBaiIBakEAOgAAAkAgAC0AC0GAAXFBB3YEQCAAIAE2AgQMAQsgACABQf8AcToACwsgABDUAxoLviIBDn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEoAgAiAigCAA5eAAECAwQFBgcICQoLDA0eHyAhIiMkJTU2Dg8QERITFBUWFxgZGhscHTcmJygpKissLS4vMDEyMzQ4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcAF0LQZj9A0HlswNB6gEQYgALIABBFGpBxcoAIAEQWCACKAIAQQFHDVwgAigCFCIBQQBMDVsgAEEYaiEDA0AgAUEBayIAIAIoAhRPDV4gAigCECAAQQJ0aiIEKAIARQ1fIANB4MkAIAQQWyABQQFLIQYgACEBIAYNAAsMWwsgAEEUaiIDQcbKACABEFggAigCAEECRw1bIAIoAhAEQCAAQRhqQeDJACACQRBqEFsLIANB4MkAIAJBDGoQWCADQeDJACACQQhqEFgPCyAAQRRqIgBBx8oAIAEQWCACKAIAQQNHDVoMYAsgAEEUakHIygAgARBYIAIoAgBBBEcNWSACKAIUBEAgAEEYakHgyQAgAkEUahBbCyACKAIQRQ1YIABBGGpB4MkAIAJBEGoQWw8LIABBFGoiA0HJygAgARBYIAIoAgBBBUcNWCADQeDJACACQSRqEFggAigCIEUNVyAAQRhqQeDJACACQSBqEFsPCyAAQRRqQcrKACABEFggAigCAEEGRw1XIAIoAgwiAUEATA1WIABBGGohAwNAIAFBAWsiACACKAIMTw1ZIAIoAgggAEECdGoiBCgCAEUNWiADQeDJACAEEFsgAUEBSyEHIAAhASAHDQALDFYLIABBFGoiA0HLygAgARBYIAIoAgBBB0cNViADQeDJACACQRxqEFggAigCECIBQQBMDVUgAEEYaiEDA0AgAUEBayIAIAIoAhBPDVggAigCDCAAQQJ0aiIEKAIARQ1ZIANB4MkAIAQQWyABQQFLIQggACEBIAgNAAsMVQsgAEEUakHMygAgARBYIAIoAgBBCEYNVAxVCyAAQRRqIgBBzcoAIAEQWCACKAIAQQlHDVQMXQsgAEEUakHOygAgARBYIAIoAgBBCkYNUgxTCyAAQRRqIgBBz8oAIAEQWCACKAIAQQtHDVIMWAsgAEEUaiIAQdDKACABEFggAigCAEEMRw1RDFwLIABBFGoiAEHRygAgARBYIAIoAgBBDUcNUAxaCyAAQRRqIgBB0soAIAEQWCACKAIAQRhHDU8MWwsgAEEUaiIAQdPKACABEFggAigCAEEZRw1OIABB4MkAIAJBIGoQWAxaCyAAQRRqIgBB1MoAIAEQWCACKAIAQRpHDU0MUQsgAEEUaiIAQdXKACABEFggAigCAEEbRw1MDFELIABBFGpB1soAIAEQWCACKAIAQRxGDUoMSwsgAEEUaiIAQdfKACABEFggAigCAEEdRw1KDFMLIABBFGoiAEHYygAgARBYIAIoAgBBHkcNSSAAQeDJACACQRRqEFgMUgsgAEEUaiIAQdnKACABEFggAigCAEEfRw1IDFcLIABBFGoiAEHaygAgARBYIAIoAgBBIEcNRwxOCyAAQRRqIgBB28oAIAEQWCACKAIAQSFHDUYMTgsgAEEUaiIAQdzKACABEFggAigCAEEiRw1FIABB4MkAIAJBIGoQWA8LIABBFGoiAEHdygAgARBYIAIoAgBBI0cNRAxOCyAAQRRqIgBB3soAIAEQWCACKAIAQSRHDUMMRwsgAEEUakHfygAgARBYIAIoAgBBJUYNQQxCCyAAQRRqIgBB4MoAIAEQWCACKAIAQSZHDUEMTwsgAEEUaiIAQeHKACABEFggAigCAEEnRw1ADE4LIABBFGpB4soAIAEQWCACKAIAQQ5GDT4MPwsgAEEUaiIAQePKACABEFggAigCAEEPRw0+DEcLIABBFGoiAEHkygAgARBYIAIoAgBBEEcNPQxFCyAAQRRqIgBB5coAIAEQWCACKAIAQRFHDTwMSgsgAEEUaiIAQebKACABEFggAigCAEESRw07DEsLIABBFGpB58oAIAEQWCACKAIAQRNHDTogAigCCEUNOQxLCyAAQRRqQejKACABEFggAigCAEEURg04DDkLIABBFGoiAEHpygAgARBYIAIoAgBBFUcNOAxICyAAQRRqQerKACABEFggAigCAEEpRg02DDcLIABBFGoiAEHrygAgARBYIAIoAgBBKkcNNgxGCyAAQRRqQezKACABEFggAigCAEErRg00DDULIABBFGoiAEHtygAgARBYIAIoAgBBLEcNNAxDCyAAQRRqIgBB7soAIAEQWCACKAIAQS1HDTMMOQsgAEEUaiIAQe/KACABEFggAigCAEEuRw0yDDcLIABBFGpB8MoAIAEQWCACKAIAQS9GDTAMMQsgAEEUaiIAQfHKACABEFggAigCAEEwRw0wDDULIABBFGoiAEHyygAgARBYIAIoAgBBMUcNLwwzCyAAQRRqIgBB88oAIAEQWCACKAIAQTJHDS4MPAsgAEEUaiIDQfTKACABEFggAigCAEEzRw0tIAIoAigiAUEASgRAIABBGGohBANAIAFBAWsiACACKAIoTw0wIAIoAiQgAEECdGoiBSgCAEUNMSAEQeDJACAFEFsgAUEBSyEJIAAhASAJDQALCyADQeDJACACQRBqEFgPCyAAQRRqIgBB9coAIAEQWCACKAIAQTRGBEAMPQsMLAsgAEEUakH2ygAgARBYIAIoAgBBNUcNKyACKAIUIgFBAEwNKiAAQRhqIQMDQCABQQFrIgAgAigCFE8NLSACKAIQIABBAnRqIgQoAgBFDS4gA0HgyQAgBBBbIAFBAUshCiAAIQEgCg0ACwwqCyAAQRRqQffKACABEFggAigCAEE2Rg0pDCoLIABBFGoiAEH4ygAgARBYIAIoAgBBN0cNKQw5CyAAQRRqQfnKACABEFggAigCAEEWRg0nDCgLIABBFGpB+soAIAEQWCACKAIAQRdGDSYMJwsgAEEUakH7ygAgARBYIAIoAgBBKEYNJQwmCyAAQRRqQfzKACABEFggAigC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4MkAIAJBJGoQWA8LIABB4MkAIAJBHGoQWCAAQeDJACACQRhqEFgPCyAAQeDJACACQRRqEFgLIABB4MkAIAJBEGoQWAsgAEHgyQAgAkEMahBYCyAAQeDJACACQQhqEFgPCyAAQRhqQeDJACACQQhqEFsPCyADQeDJACACQQxqEFgL3R4BDn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAIgIoAgAOXgABAgMEBQYHCAkKCwwNHh8gISIjJCU1Ng4PEBESExQVFhcYGRobHB03JicoKSorLC0uLzAxMjM0ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXABdC0GY/QNB5bMDQeoBEGIACyAAQenJACABEFggAigCAEEBRw1cIAIoAhQiAUEATA1bIABBBGohBANAIAFBAWsiACACKAIUTw1eIAIoAhAgAEECdGoiAygCAEUNXyAEQd/JACADEFsgAUEBSyEGIAAhASAGDQALDFsLIABB6skAIAEQWCACKAIAQQJHDVsgAigCEARAIABBBGpB38kAIAJBEGoQWwsMYAsgAEHryQAgARBYIAIoAgBBA0cNWgxjCyAAQezJACABEFggAigCAEEERw1ZIAIoAhQEQCAAQQRqQd/JACACQRRqEFsLIAIoAhBFDVggAEEEakHfyQAgAkEQahBbDwsgAEHtyQAgARBYIAIoAgBBBUcNWCAAQd/JACACQSRqEFggAigCIEUNVyAAQQRqQd/JACACQSBqEFsPCyAAQe7JACABEFggAigCAEEGRw1XIAIoAgwiAUEATA1WIABBBGohBANAIAFBAWsiACACKAIMTw1ZIAIoAgggAEECdGoiAygCAEUNWiAEQd/JACADEFsgAUEBSyEHIAAhASAHDQALDFYLIABB78kAIAEQWCACKAIAQQdHDVYgAEHfyQAgAkEcahBYIAIoAhAiAUEATA1VIABBBGohBANAIAFBAWsiACACKAIQTw1YIAIoAgwgAEECdGoiAygCAEUNWSAEQd/JACADEFsgAUEBSyEIIAAhASAIDQALDFULIABB8MkAIAEQWCACKAIAQQhGDVQMVQsgAEHxyQAgARBYIAIoAgBBCUcNVAxgCyAAQfLJACABEFggAigCAEEKRg1SDFMLIABB88kAIAEQWCACKAIAQQtHDVIMWwsgAEH0yQAgARBYIAIoAgBBDEcNUQxfCyAAQfXJACABEFggAigCAEENRw1QDF0LIABB9skAIAEQWCACKAIAQRhHDU8MXgsgAEH3yQAgARBYIAIoAgBBGUcNTiAAQd/JACACQSBqEFgMXQsgAEH4yQAgARBYIAIoAgBBGkcNTQxUCyAAQfnJACABEFggAigCAEEbRw1MDFQLIABB+skAIAEQWCACKAIAQRxGDUoMSwsgAEH7yQAgARBYIAIoAgBBHUcNSgxWCyAAQfzJACABEFggAigCAEEeRw1JIABB38kAIAJBFGoQWAxVCyAAQf3JACABEFggAigCAEEfRw1IDE0LIABB/skAIAEQWCACKAIAQSBHDUcMUQsgAEH/yQAgARBYIAIoAgBBIUcNRgxRCyAAQYDKACABEFggAigCAEEiRw1FIABB38kAIAJBIGoQWA8LIABBgcoAIAEQWCACKAIAQSNHDUQMUQsgAEGCygAgARBYIAIoAgBBJEcNQwxKCyAAQYPKACABEFggAigCAEElRg1BDEILIABBhMoAIAEQWCACKAIAQSZHDUEMRQsgAEGFygAgARBYIAIoAgBBJ0cNQAxECyAAQYbKACABEFggAigCAEEORg0+DD8LIABBh8oAIAEQWCACKAIAQQ9HDT4MSgsgAEGIygAgARBYIAIoAgBBEEcNPQxICyAAQYnKACABEFggAigCAEERRw08DEALIABBisoAIAEQWCACKAIAQRJHDTsMSwsgAEGLygAgARBYIAIoAgBBE0cNOiACKAIIRQ05DEsLIABBjMoAIAEQWCACKAIAQRRGDTgMOQsgAEGNygAgARBYIAIoAgBBFUcNOAxICyAAQY7KACABEFggAigCAEEpRg02DDcLIABBj8oAIAEQWCACKAIAQSpHDTYMRgsgAEGQygAgARBYIAIo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ACEGIAQoAgQhAiAAIAQ2AnALIAkgAjYCACACKAIARQ0NIAAgAiAGEQAAQQAgACgCGCIFayAAKAJwIgIgACgCbCIGa0EDdUcNAAsLIAIhBCALQQRqIgsgD0cNAAsLIApBBGoiCiAORw0ACwwJC0Ho+gVBuosDQfwDQdrLAhABAAsQACEZIAQQayAZEAcACxAAIQAgBBBrDAgLQc3KBUHTmQNByAJB0PgCEAEAC0GBgwJB05kDQbkCQa73AhABAAsQZAALEGoAC0HexAVBsJQDQdoAQf37AhABAAtB9YICQdOZA0HNAkHQ+AIQAQALIAEoAkgiAiABKAJMIgFHBEADQCACKAIAIgQtABRFBEAgCSAEQRhqEIMHCyACQQRqIgIgAUcNAAsLIABBADYCfAsgA0GwAmokAA8LIANB2AFqEGEgABAHAAsFAEGHAQuzjAEDiwF/An4CfSMAQcACayIDJAAgACABNgIwIAEoAhAhiwEgASgCDCEgIANCADcDOCADQgA3AzAgA0GAgID8AzYCQCAAQRhqIRIgiwEgIGtBAnUhGyADQYACaiEZIANBjAJqIRggA0GMAWohFQJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAA0AgGiAbTQRAIANCADcDICADQgA3AxggA0GAgID8AzYCKCAAKAIkBEAgACgCICIBBEADQCABKAIAISEgARBaICEiAQ0ACwsgAEEANgIgAkAgACgCHCICRQ0AQQAhBEEAIQEgAkEETwRAIAJBfHEhBQNAIAFBAnQiBiASKAIAakEANgIAIBIoAgAgBmpBADYCBCASKAIAIAZqQQA2AgggEigCACAGakEANgIMIAFBBGoiASAFRw0ACwsgAkEDcSICRQ0AA0AgEigCACABQQJ0akEANgIAIAFBAWohASAEQQFqIgQgAkcNAAsLIABBADYCJAsCQAJAAkAgACgCMCICKAIMIgEgAigCECIERwRAA0AgASgCACECQdSJC0EANgIAQfrIACASIAIQAhpB1IkLKAIAISJB1IkLQQA2AgAgIkEBRg0CIAFBBGoiASAERw0ACyAAKAIwIQILIANCADcC3AEgA0EANgLsASADQgA3AuQBIANBADYCiAEgA0IANwKAASADQgA3AnggAyASNgLwASADQYjjBzYCcCAAKAIEIQFB1IkLQQA2AgAgAyABNgJ0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RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQhQILLAAgASgCACIBKAIAQdoARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQhQILLAAgASgCACIBKAIAQdkARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQhQILLAAgASgCACIBKAIAQdgARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQhQILLAAgASgCACIBKAIAQdcARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQhQILLAAgASgCACIBKAIAQdYARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQhQILLAAgASgCACIBKAIAQdUARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQhQILLAAgASgCACIBKAIAQdQARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQhQILLAAgASgCACIBKAIAQdMARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQhQILLAAgASgCACIBKAIAQdIARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQhQILLAAgASgCACIBKAIAQdEARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQhQILLAAgASgCACIBKAIAQdAARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQhQILLAAgASgCACIBKAIAQc8ARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQhQILxgECAX8BfiMAQSBrIgMkAAJAIAEEQCADIAEQbDYCHCADIAE2AhggAyADKQIYNwMIIANBEGogA0EIahBlDAELIABBQGsoAgAgACgCPCIBa0EERwRAIANBABBsNgIcIANBADYCGCADIAMpAhg3AwAgA0EQaiADEGUMAQsgAyABKAIAKQMANwMQCyADKQMQIQQgAEGoAWpBFEEEEF0iACAENwIMIABBA0ECIAIbIgE2AgggAEEUNgIAIAAgATYCBCADQSBqJAAgAAssACABKAIAIgEoAgBBzgBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCFAgssACABKAIAIgEoAgBBzQBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCFAgssACABKAIAIgEoAgBBzABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAg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MGokAA8LEAAhAQsgBBC/DiABEAcACwALLAAgASgCACIBKAIAQdIARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQhgILLAAgASgCACIBKAIAQdEARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQhgILLAAgASgCACIBKAIAQdAARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQhgILLAAgASgCACIBKAIAQc8ARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQhgILLAAgASgCACIBKAIAQc4ARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQhgILLAAgASgCACIBKAIAQc0ARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQhgILLAAgASgCACIBKAIAQcwARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQhgILLAAgASgCACIBKAIAQcsARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQhgILLAAgASgCACIBKAIAQcoARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQhgILLAAgASgCACIBKAIAQckARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQhgILJAAgACgCAEEkRwRAQeSmBkGntwJBpRtBxd0AEAEACyAAKAIQCywAIAEoAgAiASgCAEHIAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIYCCywAIAEoAgAiASgCAEHHAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIYCCywAIAEoAgAiASgCAEHGAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIYCCywAIAEoAgAiASgCAEHFAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIYCCywAIAEoAgAiASgCAEHEAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIYCCywAIAEoAgAiASgCAEHDAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIYCCywAIAEoAgAiASgCAEHCAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIYCCywAIAEoAgAiASgCAEHBAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIYCCywAIAEoAgAiASgCAEHAAEcEQEHw7QVBxZgDQZQG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IAIoAhRPDV0gAigCECADQQJ0aiIEKAIARQ1uIAVB7sUAIAQQWyAAQQFLIQggAyEAIAgNAAsMbAsgA0GsxwAgARBYIAIoAgBBAkcNWiACKAIQBEAgA0EEakHuxQAgAkEQahBbCwxeCyADQa3HACABEFggAigCAEEDRw1ZDGELIANBrscAIAEQWCACKAIAQQRHDVggAigCFARAIANBBGpB7sUAIAJBFGoQWwsgAigCEEUNaSADQQRqQe7FACACQRBqEFsMaQsgA0GvxwAgARBYIAIoAgBBBUcNVyADQe7FACACQSRqEFggAigCIEUNaCADQQRqQe7FACACQSBqEFsMaAsgA0GwxwAgARBYIAIoAgBBBkcNViACKAIMIgBBAEwNZyADQQRqIQUDQCAAQQFrIgMgAigCDE8NWCACKAIIIANBAnRqIgQoAgBFDWkgBUHuxQAgBBBbIABBAUshCSADIQAgCQ0ACwxnCyADQbHHACABEFggAigCAEEHRw1VIANB7sUAIAJBHGoQWCACKAIQIgBBAEwNZiADQQRqIQUDQCAAQQFrIgMgAigCEE8NVyACKAIMIANBAnRqIgQoAgBFDWggBUHuxQAgBBBbIABBAUshCiADIQAgCg0ACwxmCyADQbLHACABEFggAigCAEEIRg1lDFQLIANBs8cAIAEQWCACKAIAQQlHDVMMXgsgA0G0xwAgARBYIAIoAgBBCkYNYwxSCyADQbXHACABEFggAigCAEELRw1RDFkLIANBtscAIAEQWCACKAIAQQxHDVAMXQsgA0G3xwAgARBYIAIoAgBBDUcNTwxbCyADQbjHACABEFggAigCAEEYRw1ODFwLIANBuccAIAEQWCACKAIAQRlHDU0gA0HuxQAgAkEgahBYDFsLIANBuscAIAEQWCACKAIAQRpHDUwMUgsgA0G7xwAgARBYIAIoAgBBG0cNSwxSCyADQbzHACABEFggAigCAEEcRg1bDEoLIANBvccAIAEQWCACKAIAQR1HDUkMVAsgA0G+xwAgARBYIAIoAgBBHkcNSCADQe7FACACQRRqEFgMUwsgA0G/xwAgARBYIAIoAgBBH0cNRwxLCyADQcDHACABEFggAigCAEEgRw1GDE8LIANBwccAIAEQWCACKAIAQSFHDUUMTwsgA0HCxwAgARBYIAIoAgBBIkcNRCADQe7FACACQSBqEFgMVQsgA0HDxwAgARBYIAIoAgBBI0cNQwxPCyADQcTHACABEFggAigCAEEkRw1CDEgLIANBxccAIAEQWCACKAIAQSVGDVIMQQsgA0HGxwAgARBYIAIoAgBBJkcNQAxDCyADQcfHACABEFggAigCAEEnRw0/DEILIANByMcAIAEQWCACKAIAQQ5GDU8MPgsgA0HJxwAgARBYIAIoAgBBD0cNPQxICyADQcrHACABEFggAigCAEEQRw08DEYLIANBy8cAIAEQWCACKAIAQRFHDTsMPgsgA0HMxwAgARBYIAIoAgBBEkcNOgxJCyADQc3HACABEFggAigCAEETRw05DEkLIANBzscAIAEQWCACKAIAQRRGDUkMOAsgA0HPxwAgARBYIAIoAgBBFUcNNwxGCyADQdDHACABEFggAigCAEEpRg1HDDYLIANB0ccAIAEQWCACKAIAQSpHDTUMRAsgA0HSxwAgARBYIAIoAgBBK0YNRQw0CyADQdPHACABEFggAigCAEEsRw0zDDcLIANB1McAIAEQWCACKAIAQS1HDTIMOgsgA0HVxwAgARBYIAIoAgBBLkcNMQw4CyADQdbHACABEFggAigCAEEvRg1BDDALIANB18cAIAEQWCACKAIAQTBHDS8MNgsgA0HYxwAgARBYIAIoAgBBMUcNLgw0CyADQdnHACABEFggAigCAEEyRw0tDDALIANB2scAIAEQWCACKAIAQTNHDSwgAigCKCIAQQBKBEAgA0EEaiEEA0AgAEEBayIFIAIoAihPDS8gAigCJCAFQQJ0aiIGKAIARQ1AIARB7sUAIAYQWyAAQQFLIQsgBSEAIAsNAAsLDDQLIANB28cAIAEQWCACKAIAQTRGDToMKwsgA0HcxwAgARBYIAIoAgBBNUcNKiACKAIUIgBBAEwNOyADQQRqIQUDQCAAQQFrIgMgAigCFE8NLCACKAIQIANBAnRqIgQoAgBFDT0gBUHuxQAgBBBbIABBAUshDCADIQAgDA0ACww7CyADQd3HACABEFggAigCAEE2Rg06DCkLIANB3scAIAEQWCACKAIAQTdHDSgMNwsgA0HfxwAgARBYIAIoAgBBFkYNOAwnCyADQeDHACABEFggAigCAEEXRg03DCYLIANB4ccAIAEQWCACKAIAQShGDTYMJQsgA0HixwAgARBYIAIoAgBBOEcNJCACKAIMIgBBAEwNNSADQQRqIQUDQCAAQQFrIgMgAigCDE8NJiACKAIIIANBAnRqIgQoAgBFDTcgBUHuxQAgBBBbIABBAUshDSADIQAgDQ0ACww1CyADQePHACABEFggAigCAEE5Rw0jDDILIANB5McAIAEQWCACKAIAQTpHDSIMMQsgA0HlxwAgARBYIAIoAgBBO0cNIQwwCyADQebHACABEFggAigCAEE8Rw0gIANB7sUAIAJBGGoQWCACKAIMIgBBAEwNMSADQQRqIQUDQCAAQQFrIgMgAigCDE8NIiACKAIIIANBAnRqIgQoAgBFDTMgBUHuxQAgBBBbIABBAUshDiADIQAgDg0ACwwxCyADQefHACABEFggAigCAEE9Rw0fDC4LIANB6McAIAEQWCACKAIAQT5HDR4MLQsgA0HpxwAgARBYIAIoAgBBP0cNHSADQe7FACACQRRqEFgMLgsgA0HqxwAgARBYIAIoAgBBwABHDRwgAigCDCIAQQBMDS0gA0EEaiEFA0AgAEEBayIDIAIoAgxPDR4gAigCCCADQQJ0aiIEKAIARQ0vIAVB7sUAIAQQWyAAQQFLIQ8gAyEAIA8NAAsMLQsgA0HrxwAgARBYIAIoAgBBwQBHDRsMJgsgA0HsxwAgARBYIAIoAgBBwgBHDRoMJAsgA0HtxwAgARBYIAIoAgBBwwBHDRkgA0HuxQAgAkEMahBYDCkLIANB7scAIAEQWCACKAIAQcQARw0YDB8LIANB78cAIAEQWCACKAIAQcUARw0XDB4LIANB8McAIAEQWCACKAIAQcYARw0WIAIoAgwiAEEATA0nIANBBGohBQNAIABBAWsiAyACKAIMTw0YIAIoAgggA0ECdGoiBCgCAEUNKSAFQe7FACAEEFsgAEEBSyEQIAMhACAQDQALDCcLIANB8ccAIAEQWCACKAIAQccARw0VDBkLIANB8scAIAEQWCACKAIAQcgARw0UDBcLIANB88cAIAEQWCACKAIAQckARw0TDCILIANB9McAIAEQWCACKAIAQcoARw0SIANB7sUAIAJBGGoQWAwUCyADQfXHACABEFggAigCAEHLAEcNEQwTCyADQfbHACABEFggAigCAEHMAEcNEAwVCyADQffHACABEFggAigCAEHNAEcNDwwUCyADQfjHACABEFggAigCAEHOAEcNDgwZCyADQfnHACABEFggAigCAEHPAEcNDSACKAIYBEAgA0EEakHuxQAgAkEYahBbCyACKAIUBEAgA0EEakHuxQAgAkEUahBbCyACKAIQBEAgA0EEakHuxQAgAkEQahBbCwwYCyADQfrHACABEFggAigCAEHQAEYNHQwMCyADQfvHACABEFggAigCAEHRAEcNCwwWCyADQfzHACABEFggAigCAEHSAEcNCiACKAIUBEAgA0EEakHuxQAgAkEUahBbCwwUCyADQf3HACABEFggAigCAEHTAEcNCQwNCyADQf7HACABEFggAigCAEHUAEcNCAwSCyADQf/HACABEFggAigCAEHVAEcNBwwSCyADQYDIACABEFggAigCAEHWAEcNBgwJCyADQYHIACABEFggAigCAEHXAEcNBQwJCyADQYLIACABEFggAigCAEHYAEcNBAwTCyADQYPIACABEFggAigCAEHZAEcNAwwNCyADQYTIACABEFggAigCAEHaAEcNAgwLCyADQYXIACABEFggAigCAEHbAEcNAQwFCyADQYbIACABEFggAigCAEHcAEcNACADQe7FACACQTxqEFggAigCMCIAQQBMDREgA0EEaiEFA0AgAEEBayIDIAIoAjBPDQIgAigCLCADQQJ0aiIEKAIARQ0TIAVB7sUAIAQQWyAAQQFLIREgAyEAIBENAAsMEQtB8O0FQcWYA0GUBkGN3gAQAQALQcWiAUGJogNBvAFBpogFEAEACyADQe7FACACQRRqEFgLIANB7sUAIAJBEGoQWAsgA0HuxQAgAkEMahBYDAoLIANB7sUAIAJBHGoQWAsgA0HuxQAgAkEYahBYCyADQe7FACACQRRqEFgLIANB7sUAIAJBEGoQWAwICyADQe7FACACQRRqEFgLIANB7sUAIAJBEGoQWAsgA0HuxQAgAkEMahBYDAULIANB7sUAIAJBKGoQWAsgA0HuxQAgAkEkahBYDAMLIANB7sUAIAJBHGoQWCADQe7FACACQRhqEFgMAgsgA0HuxQAgAkEIahBYDAELIAIoAghFDQAgA0EEakHuxQAgAkEIahBbCyABKAIARQ0AIAdBqccAIAEQWw8LC0GBgwJB05kDQbkCQa73AhABAAvdHgEOfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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xgAgARBYIAIoAgBBM0cNLSACKAIoIgFBAEoEQCAAQQRqIQMDQCABQQFrIgQgAigCKE8NMCACKAIkIARBAnRqIgUoAgBFDTEgA0GRxQAgBRBbIAFBAUshCSAEIQEgCQ0ACwsMNgsgAEH8xgAgARBYIAIoAgBBNEYEQAw9CwwsCyAAQf3GACABEFggAigCAEE1Rw0rIAIoAhQiAUEATA0qIABBBGohBANAIAFBAWsiACACKAIUTw0tIAIoAhAgAEECdGoiAygCAEUNLiAEQZHFACADEFsgAUEBSyEKIAAhASAKDQALDCoLIABB/sYAIAEQWCACKAIAQTZGDSkMKgsgAEH/xgAgARBYIAIoAgBBN0cNKQw5CyAAQYDHACABEFggAigCAEEWRg0nDCgLIABBgccAIAEQWCACKAIAQRdGDSYMJwsgAEGCxwAgARBYIAIoAgBBKEYNJQwmCyAAQYPHACABEFggAigCAEE4Rw0lIAIoAgwiAUEATA0kIABBBGohBANAIAFBAWsiACACKAIMTw0nIAIoAgggAEECdGoiAygCAEUNKCAEQZHFACADEFsgAUEBSyELIAAhASALDQALDCQLIABBhMcAIAEQWCACKAIAQTlHDSQMNAsgAEGFxwAgARBYIAIoAgBBOkcNIwwzCyAAQYbHACABEFggAigCAEE7Rw0iDDILIABBh8cAIAEQWCACKAIAQTxHDSEgAEGRxQAgAkEYahBYIAIoAgwiAUEATA0gIABBBGohBANAIAFBAWsiACACKAIMTw0jIAIoAgggAEECdGoiAygCAEUNJCAEQZHFACADEFsgAUEBSyEMIAAhASAMDQALDCALIABBiMcAIAEQWCACKAIAQT1HDSAMMAsgAEGJxwAgARBYIAIoAgBBPkcNHwwvCyAAQYrHACABEFggAigCAEE/Rw0eIABBkcUAIAJBFGoQWA8LIABBi8cAIAEQWCACKAIAQcAARw0dIAIoAgwiAUEATA0cIABBBGohBANAIAFBAWsiACACKAIMTw0fIAIoAgggAEECdGoiAygCAEUNICAEQZHFACADEFsgAUEBSyENIAAhASANDQALDBwLIABBjMcAIAEQWCACKAIAQcEARw0cDCgLIABBjccAIAEQWCACKAIAQcIARw0bDCYLIABBjscAIAEQWCACKAIAQcMARw0aIABBkcUAIAJBDGoQWCACKAIIRQ0ZDCsLIABBj8cAIAEQWCACKAIAQcQARw0ZDCELIABBkMcAIAEQWCACKAIAQcUARw0YDCALIABBkccAIAEQWCACKAIAQcYARw0XIAIoAgwiAUEATA0WIABBBGohBANAIAFBAWsiACACKAIMTw0ZIAIoAgggAEECdGoiAygCAEUNGiAEQZHFACADEFsgAUEBSyEOIAAhASAODQALDBYLIABBkscAIAEQWCACKAIAQccARw0WDBsLIABBk8cAIAEQWCACKAIAQcgARw0VDBkLIABBlMcAIAEQWCACKAIAQckARw0UDCQLIABBlccAIAEQWCACKAIAQcoARw0TIABBkcUAIAJBGGoQWAwWCyAAQZbHACABEFggAigCAEHLAEcNEgwVCyAAQZfHACABEFggAigCAEHMAEcNEQwXCyAAQZjHACABEFggAigCAEHNAEcNEAwWCyAAQZnHACABEFggAigCAEHOAEcNDwwbCyAAQZrHACABEFggAigCAEHPAEcNDiACKAIYBEAgAEEEakGRxQAgAkEYahBbCyACKAIUBEAgAEEEakGRxQAgAkEUahBbCyACKAIQBEAgAEEEakGRxQAgAkEQahBbCwwaCyAAQZvHACABEFggAigCAEHQAEYNDAwNCyAAQZzHACABEFggAigCAEHRAEcNDAwYCyAAQZ3HACABEFggAigCAEHSAEcNCyACKAIUBEAgAEEEakGRxQAgAkEUahBbCwwWCyAAQZ7HACABEFggAigCAEHTAEcNCgwPCyAAQZ/HACABEFggAigCAEHUAEcNCQwUCyAAQaDHACABEFggAigCAEHVAEcNCAwUCyAAQaHHACABEFggAigCAEHWAEcNBwwLCyAAQaLHACABEFggAigCAEHXAEcNBgwLCyAAQaPHACABEFggAigCAEHYAEcNBQwVCyAAQaTHACABEFggAigCAEHZAEcNBAwPCyAAQaXHACABEFggAigCAEHaAEcNAwwNCyAAQabHACABEFggAigCAEHbAEcNAgwHCyAAQafHACABEFggAigCAEHcAEcNASAAQZHFACACQTxqEFggAigCMCIBQQBMDQAgAEEEaiEEA0AgAUEBayIAIAIoAjBPDQMgAigCLCAAQQJ0aiIDKAIARQ0EIARBkcUAIAMQWyABQQFLIQ8gACEBIA8NAAsLDwtB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AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAIgIoAgAOXgABAgMEBQYHCAkKCwwNHh8gISIjJCU1Ng4PEBESExQVFhcYGRobHB03JicoKSorLC0uLzAxMjM0ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXABdC0GY/QNB5bMDQeoBEGIACyAAQe/FACABEFggAigCAEEBRw1cIAIoAhQiAUEATA1bIABBBGohBANAIAFBAWsiACACKAIUTw1eIAIoAhAgAEECdGoiAygCAEUNXyAEQYjFACADEFsgAUEBSyEGIAAhASAGDQALDFsLIABB8MUAIAEQWCACKAIAQQJHDVsgAigCEARAIABBBGpBiMUAIAJBEGoQWwsMYAsgAEHxxQAgARBYIAIoAgBBA0cNWgxjCyAAQfLFACABEFggAigCAEEERw1ZIAIoAhQEQCAAQQRqQYjFACACQRRqEFsLIAIoAhBFDVggAEEEakGIxQAgAkEQahBbDwsgAEHzxQAgARBYIAIoAgBBBUcNWCAAQYjFACACQSRqEFggAigCIEUNVyAAQQRqQYjFACACQSBqEFsPCyAAQfTFACABEFggAigCAEEGRw1XIAIoAgwiAUEATA1WIABBBGohBANAIAFBAWsiACACKAIMTw1ZIAIoAgggAEECdGoiAygCAEUNWiAEQYjFACADEFsgAUEBSyEHIAAhASAHDQALDFYLIABB9cUAIAEQWCACKAIAQQdHDVYgAEGIxQAgAkEcahBYIAIoAhAiAUEATA1VIABBBGohBANAIAFBAWsiACACKAIQTw1YIAIoAgwgAEECdGoiAygCAEUNWSAEQYjFACADEFsgAUEBSyEIIAAhASAIDQALDFULIABB9sUAIAEQWCACKAIAQQhGDVQMVQsgAEH3xQAgARBYIAIoAgBBCUcNVAxgCyAAQfjFACABEFggAigCAEEKRg1SDFMLIABB+cUAIAEQWCACKAIAQQtHDVIMWwsgAEH6xQAgARBYIAIoAgBBDEcNUQxfCyAAQfvFACAB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NwJsIABCADcCBCAAQgA3AogBIABBADoAhgEgACADQQBHOgCFASAAIAJBAEc6AIQBIAAgATYCgAEgAEHk3wc2AgAgAEEANgJ8IABCADcCdCAAQgA3AgwgAEIANwIUIABCADcCkAEgAEGAgID8AzYCmAEgAAtGACAAKAIERQRAQej6BUG6iwNBnARB7tMCEAEACyAAIAI2AnggACABNgJ8IABBFGogAkEwahCHByAAIAIQrwogAEIANwJ4C4wCAQZ/IwBBIGsiAiQAIABB5N8HNgIAAkAgACgCkAEiAQRAA0AgASgCACEGIAEtACgiA0H/AUcEQCACQYvDADYCHCACQYzDADYCGCACQY3DADYCFCACQY7DADYCECACQY/DADYCDEHUiQtBADYCACACQQxqIANBAnRqKAIAIAJBC2ogAUEQahADQdSJCygCACEFQdSJC0EANgIAIAVBAUYNAwsgARBaIAYiAQ0ACwsgACgCiAEhASAAQQA2AogBIAEEQCABEFoLIAAoAmwiAQRAIAAgATYCcCABEFoLIABBkO0JNgIAIAAsABNBAEgEQCAAKAIIEFoLIAAQWiACQSBqJAAPC0EAEAsaEHAACywAIAEoAgAiASgCAEHcAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIcCCywAIAEoAgAiASgCAEHbAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIcCCywAIAEoAgAiASgCAEHaAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIcCC0EAAkAgACgCAEEnRgRAIAFFDQEgACABNgIQDwtBta4GQae3AkGZHEGsxAMQAQALQdn1AUGntwJBmhxBrMQDEAEACywAIAEoAgAiASgCAEHZAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIcCCywAIAEoAgAiASgCAEHYAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIcCCywAIAEoAgAiASgCAEHXAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIcCCywAIAEoAgAiASgCAEHWAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIcCCywAIAEoAgAiASgCAEHVAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIcCCywAIAEoAgAiASgCAEHUAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIcCCywAIAEoAgAiASgCAEHTAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIcCCywAIAEoAgAiASgCAEHSAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIcCCywAIAEoAgAiASgCAEHRAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIcCCywAIAEoAgAiASgCAEHQAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIcCC0EAAkAgACgCAEEnRgRAIAFFDQEgACABNgIIDwtBta4GQae3AkGBHEGR3QAQAQALQZ30AUGntwJBghxBkd0AEAEACywAIAEoAgAiASgCAEHPAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIcCCywAIAEoAgAiASgCAEHOAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIcCCywAIAEoAgAiASgCAEHNAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIcCCywAIAEoAgAiASgCAEHMAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIcCCywAIAEoAgAiASgCAEHLAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIcCCywAIAEoAgAiASgCAEHKAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIcCCywAIAEoAgAiASgCAEHJAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIcCCywAIAEoAgAiASgCAEHIAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIcCCywAIAEoAgAiASgCAEHHAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIcCCywAIAEoAgAiASgCAEHGAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIcCCyQAIAAoAgBBJ0cEQEG1rgZBp7cCQYccQb7VAxABAAsgACgCDAssACABKAIAIgEoAgBBxQBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCHAgssACABKAIAIgEoAgBBxABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCHAgssACABKAIAIgEoAgBBwwBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCHAgssACABKAIAIgEoAgBBwgBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCHAgssACABKAIAIgEoAgBBwQBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCHAgssACABKAIAIgEoAgBBwABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCHAgsrACABKAIAIgEoAgBBP0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIcCCysAIAEoAgAiASgCAEE+RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQhwILKwAgASgCACIBKAIAQT1HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCHAgsrACABKAIAIgEoAgBBPEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIcCCyQAIAAoAgBBJ0cEQEG1rgZBp7cCQZMcQZLFAxABAAsgACgCEAsrACABKAIAIgEoAgBBO0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIcCCysAIAEoAgAiASgCAEE6RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQhwILKwAgASgCACIBKAIAQTlHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCHAgsrACABKAIAIgEoAgBBOEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIcCCysAIAEoAgAiASgCAEEoRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQhwILKwAgASgCACIBKAIAQRdHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCHAgsrACABKAIAIgEoAgBBFkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIcCCysAIAEoAgAiASgCAEE3RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQhwILKwAgASgCACIBKAIAQTZHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCHAgsrACABKAIAIgEoAgBBNUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIcCCyQAIAAoAgBBJ0cEQEG1rgZBp7cCQfsbQd/dABABAAsgACgCCAsrACABKAIAIgEoAgBBNEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIcCCysAIAEoAgAiASgCAEEzRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQhwILKwAgASgCACIBKAIAQTJHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCHAgsrACABKAIAIgEoAgBBMUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIcCCysAIAEoAgAiASgCAEEwRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQhwILKwAgASgCACIBKAIAQS9HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCHAgsrACABKAIAIgEoAgBBLkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIcCCysAIAEoAgAiASgCAEEtRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQhwILKwAgASgCACIBKAIAQSxHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCHAgsrACABKAIAIgEoAgBBK0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIcCC5YCAgF/AX4jAEEgayIFJAACQCAEBEAgBSAEEGw2AhwgBSAENgIYIAUgBSkCGDcDCCAFQRBqIAVBCGoQZQwBCyAAQUBrKAIAIAAoAjwiBGtBBEcEQCAFQQAQbDYCHCAFQQA2AhggBSAFKQIYNwMAIAVBEGogBRBlDAELIAUgBCgCACkDADcDEAsgBSkDECEGIABBqAFqQRxBBBBdIgAgBjcCFCAAIAM2AhAgACACNgIMIAAgATYCCCAAQic3AgACQCABRQ0AIAJFDQAgA0UNAAJAAkAgASgCBEEBRg0AIAIoAgRBAUYNACADKAIEQQFHDQELIABBATYCBAsgBUEgaiQAIAAPC0HUwgNBpKQCQb4DQbLDAxABAAsrACABKAIAIgEoAgBBKkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIcCCysAIAEoAgAiASgCAEEpRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQhwILKwAgASgCACIBKAIAQRVHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCHAgsrACABKAIAIgEoAgBBFEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIcCCysAIAEoAgAiASgCAEETRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQhwILKwAgASgCACIBKAIAQRJHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCHAgsrACABKAIAIgEoAgBBEUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIcCCysAIAEoAgAiASgCAEEQRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQhwILKwAgASgCACIBKAIAQQ9HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCHAgsrACABKAIAIgEoAgBBDkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIcCC0EAAkAgACgCAEEmRgRAIAFFDQEgACABNgIMDwtB6aIGQae3AkHoG0HVtwQQAQALQY32AUGntwJB6RtB1bcEEAEACysAIAEoAgAiASgCAEEnRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQhwILKwAgASgCACIBKAIAQSZHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCHAgsrACABKAIAIgEoAgBBJUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIcCCysAIAEoAgAiASgCAEEkRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQhwILKwAgASgCACIBKAIAQSNHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCHAgsrACABKAIAIgEoAgBBIkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIcCCysAIAEoAgAiASgCAEEhRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQhwILKwAgASgCACIBKAIAQSBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCHAgsrACABKAIAIgEoAgBBH0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIcCCysAIAEoAgAiASgCAEEeRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQhwILQQACQCAAKAIAQSZGBEAgAUUNASAAIAE2AhAPC0HpogZBp7cCQfQbQeDDAxABAAtB2fUBQae3AkH1G0HgwwMQAQALKwAgASgCACIBKAIAQR1HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCHAgsrACABKAIAIgEoAgBBHEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIcCCysAIAEoAgAiASgCAEEbRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQhwILKwAgASgCACIBKAIAQRpHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCHAgsrACABKAIAIgEoAgBBGUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIcCCysAIAEoAgAiASgCAEEYRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQhwILKwAgASgCACIBKAIAQQ1HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCHAgsrACABKAIAIgEoAgBBDEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIcCCysAIAEoAgAiASgCAEELRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQhwILKwAgASgCACIBKAIAQQpHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCHAgtBAAJAIAAoAgBBJkYEQCABRQ0BIAAgATYCCA8LQemiBkGntwJB3BtB3dwAEAEAC0Gd9AFBp7cCQd0bQd3cABABAAsrACABKAIAIgEoAgBBCUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIcCCysAIAEoAgAiASgCAEEIRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQhwILKwAgASgCACIBKAIAQQdHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCHAgsrACABKAIAIgEoAgBBBkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIcCCysAIAEoAgAiASgCAEEFRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQhwILKwAgASgCACIBKAIAQQRHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCHAgsrACABKAIAIgEoAgBBA0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIcCCysAIAEoAgAiASgCAEECRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQhwILKwAgASgCACIBKAIAQQFHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCHAgt4ACABKAIIIAEoAgQgASgCAEGV08feBWwiAEEYdiAAc0GV08feBWxBqJm99H1zQZXTx94FbCIAQQ12IABzQZXTx94FbCIAQQ92IABzIgBBBnQgAEECdmpqQceMoo4GayAAcyIAQQZ0aiAAQQJ2akHHjKKOBmsgAHMLJAAgACgCAEEmRwRAQemiBkGntwJB4htB8bcEEAEACyAAKAIMC0IAIAEoAgBBldPH3gVsIgBBGHYgAHNBldPH3gVsQaiZvfR9c0GV08feBWwiAEENdiAAc0GV08feBWwiAEEPdiAAcwsiACABKAIIIAEoAgAiAEEGdGogAEECdmpBx4yijgZrIABzCwcAIAEoAgALPQAgASgCDCABKAIEIAEoAgAiAEEGdGogAEECdmpBx4yijgZrIABzIgBBBnRqIABBAnZqQceMoo4GayAAcwsyAEEAIQACQCABKAIAIAIoAgBHDQAgASgCBCACKAIERw0AIAEoAgwgAigCDEYhAAsgAAsyAEEAIQACQCABKAIAIAIoAgBHDQAgASgCBCACKAIERw0AIAEoAgggAigCCEYhAAsgAAskACAAKAIAQSZHBEBB6aIGQae3AkHuG0HGxAMQAQALIAAoAhALpQEBAX8jAEEgayIBJAACQCAAKAIAIgAtABgiAgRAIAJB/wFHBEAgAUGLwwA2AhwgAUGMwwA2AhggAUGNwwA2AhQgAUGOwwA2AhAgAUGPwwA2AgxB1IkLQQA2AgAgAUEMaiACQQJ0aigCACABQQtqIAAQA0HUiQsoAgAhA0HUiQtBADYCACADQQFGDQILIABBADoAGAsgAUEgaiQADwtBABALGhBwAAvMAQEDfyMAQSBrIgMkAAJAAkAgACgCACIALQAYIgRB/wFHBEAgBEEBRgRAIAEgAkYNAiABEFkgAhB6GgwCCyADQYvDADYCHCADQYzDADYCGCADQY3DADYCFCADQY7DADYCECADQY/DADYCDEHUiQtBADYCACADQQxqIARBAnRqKAIAIANBC2ogABADQdSJCygCACEFQdSJC0EANgIAIAVBAUYNAgsgAEH/AToAGCAAIAIQehogAEEBOgAYCyADQSBqJAAPC0EAEAsaEHAAC90BAQN/IwBBIGsiAyQAAkACQCAAKAIAIgAtABgiBEH/AUcEQCAEQQJGBEAgASACKQMANwMAIAEgAigCCDYCCAwCCyADQYvDADYCHCADQYzDADYCGCADQY3DADYCFCADQY7DADYCECADQY/DADYCDEHUiQtBADYCACADQQxqIARBAnRqKAIAIANBC2ogABADQdSJCygCACEFQdSJC0EANgIAIAVBAUYNAgsgAEH/AToAGCAAIAIpAwA3AwAgACACKAIINgIIIABBAjoA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DAILQQAQCxoQcAALIAIgADYCCCACQZLDADYCHCACQZPDADYCGCACQZTDADYCFCACQZXDADYCECACQZbDADYCDCACQQhqIAAgASACQQxqIANBAnRqKAIAEQMACyACQSBqJAAgAAtoAQR/IwBBIGsiAiQAIAJBCGogARB6IQFB1IkLQQA2AgBBwAAgACABEAIhAEHUiQsoAgAhBEHUiQtBADYCACAEQQFHBEAgAEEBOgAYIAEQWRogAkEgaiQADwsQACEFIAEQWRogBRAHAAuFCQEMfyMAQUBqIgMkACADIAE2AiQgAyAAKAKAASAAKAIUKAIAEM8OQdSJC0EANgIAQZHDACADQSxqIABBiAFqIAEgA0EkahAFQdSJCygCACECQdSJC0EANgIAAkACQAJAIAJBAUcEQCADKAIsIgRBEGohAiADLQAYIQcCQCAELQAoIgVB/wFGBEAgB0H/AUYNBAwBCyAHQf8BRw0AIANBi8MANgI8IANBjMMANgI4IANBjcMANgI0IANBjsMANgIwIANBj8MANgIsQdSJC0EANgIAIANBLGogBUECdGooAgAgA0EoaiACEANB1IkLKAIAIQpB1IkLQQA2AgAgCkEBRwRAIARB/wE6ACgMAwsMBAsgAyACNgIoIANBksMANgI8IANBk8MANgI4IANBlMMANgI0IANBlcMANgIwIANBlsMANgIsQdSJC0EANgIAIANBLGogB0ECdGooAgAgA0EoaiACIAMQCEHUiQsoAgAhC0HUiQtBADYCACALQQFHDQELEAAhDCADEOkBIAwQBwALIAMtABgiAkH/AUYNACADQYvDADYCPCADQYzDADYCOCADQY3DADYCNCADQY7DADYCMCADQY/DADYCLEHUiQtBADYCACADQSxqIAJBAnRqKAIAIANBKGogAxADQdSJCygCACENQdSJC0EANgIAIA1BAUYNAQsgAyABNgIsAkAgACgCeCICRQ0AIAIoAmxFDQAgAkHgAGohCQJAIAIoAmQiBUUNACABQZXTx94FbCICQRh2IAJzQZXTx94FbEHUzJ76BnMiAkENdiACc0GV08feBWwiAkEPdiACcyEHAkAgBWkiBkEBTQRAIAVBAWsgB3EhAgwBCyAHIgIgBUkNACACIAVwIQILIAkoAgAgAkECdGooAgAiBEUNACAEKAIAIgRFDQAgBkEBTQRAIAVBAWshBgNAAkAgBCgCBCIIIAdHBEAgBiAIcSACRg0BDAQLIAQoAgggAUYNBAsgBCgCACIEDQALDAELA0ACQCAEKAIEIgYgB0cEQCAFIAZNBH8gBiAFcAUgBgsgAkYNAQwDCyAEKAIIIAFGDQMLIAQoAgAiBA0ACwsgBUUNACAAKAIUKAIAIghBldPH3gVsIgJBGHYgAnNBldPH3gVsQdTMnvoGcyICQQ12IAJzQZXTx94FbCICQQ92IAJzIQcCQCAFaSIGQQFNBEAgByAFQQFrcSECDAELIAciAiAFSQ0AIAIgBXAhAgsgCSgCACACQQJ0aigCACIERQ0AIAQoAgAiBEUNAAJAIAZBAU0EQCAFQQFrIQUDQAJAIAcgBCgCBCIGRwRAIAUgBnEgAkYNAQwFCyAEKAIIIAhGDQMLIAQoAgAiBA0ACwwCCwNAAkAgByAEKAIEIgZHBEAgBSAGTQR/IAYgBXAFIAYLIAJGDQEMBAsgBCgCCCAIRg0CCyAEKAIAIgQNAAsMAQsgAyAJIAEgA0EsahB4IAMoAgAiAiAEKAIUNgIUIAIgBCkCDDcCDAsgACgCFCABNgIAIANBQGskAA8LQQAQCxoQcAALLAAgASgCACIBKAIAQdwARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoAILogMCAX8CfiMAQUBqIgYkAAJAIAQEQCAGIAQQbDYCPCAGIAQ2AjggBiAGKQI4NwMgIAZBMGogBkEgahBlDAELIABBQGsoAgAgACgCPCIEa0EERwRAIAZBABBsNgI8IAZBADYCOCAGIAYpAjg3AxggBkEwaiAGQRhqEGUMAQsgBiAEKAIAKQMANwMwCwJAIAUEQCAGIAUQbDYCPCAGIAU2AjggBiAGKQI4NwMQIAZBKGogBkEQahBlDAELIABBQGsoAgAgACgCPCIEa0EERwRAIAZBABBsNgI8IAZBADYCOCAGIAYpAjg3AwggBkEoaiAGQQhqEGUMAQsgBiAEKAIAKQMANwMoCyAGKQMwIQcgBikDKCEIIABBqAFqQSRBBBBdIgAgCDcCHCAAIAc3AhQgACADNgIQIAAgAjYCDCAAIAE2AgggAEImNwIAAkAgAUUNACACRQ0AIANFDQACQAJAIAEoAgRBAUYNACACKAIEQQFGDQAgAygCBEEBRw0BCyAAQQE2AgQLIAZBQGskACAADwtB6sIDQaSkAkG1A0GywwMQAQALLAAgASgCACIBKAIAQdsARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoAILLAAgASgCACIBKAIAQdoARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoAILLAAgASgCACIBKAIAQdkARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoAILLAAgASgCACIBKAIAQdgARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoAILLAAgASgCACIBKAIAQdcARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoAILLAAgASgCACIBKAIAQdYARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoAILLAAgASgCACIBKAIAQdUARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoAILLAAgASgCACIBKAIAQdQARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoAILLAAgASgCACIBKAIAQdMARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoAILLAAgASgCACIBKAIAQdIARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoAILBQBBvAELLAAgASgCACIBKAIAQdEARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoAILLAAgASgCACIBKAIAQdAARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoAILLAAgASgCACIBKAIAQc8ARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoAILLAAgASgCACIBKAIAQc4ARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoAILLAAgASgCACIBKAIAQc0ARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoAILLAAgASgCACIBKAIAQcwARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoAILLAAgASgCACIBKAIAQcsARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoAILLAAgASgCACIBKAIAQcoARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoAILLAAgASgCACIBKAIAQckARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoAILLAAgASgCACIB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jcMANgJIIAJBjsMANgJEIAJBj8MANgJAQdSJC0EANgIAIAJBQGsgAEECdGooAgAgAkHfAGogAhADQdSJCygCACESQdSJC0EANgIAIBJBAUYNCQsgAi0AOCIBQf8BRg0BCyACQYvDADYCECACQYzDADYCDCACQY3DADYCCCACQY7DADYCBCACQY/DADYCAEHUiQtBADYCACACIAFBAnRqKAIAIAJBQGsgAkEgahADQdSJCygCACETQdSJC0EANgIAIBNBAUYNBwsgAkHgAGokAA8LEAAhAQwEC0Hw7QVBxZgDQZQGQY3eABABAAsQACEBIAJBQGsQWRogAhDpAQwCCxAAIQEgAkFAaxBZGiACEOkBDAELEAAhASACEOkBCyACQSBqEOkBIAEQBwALQQAQCxoQcAALKwAgASgCACIBKAIAQTxHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCgAgsrACABKAIAIgEoAgBBO0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEKACCysAIAEoAgAiASgCAEE6RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoAILKwAgASgCACIBKAIAQTlHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCgAgsrACABKAIAIgEoAgBBOEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEKACCysAIAEoAgAiASgCAEEoRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoAILKwAgASgCACIBKAIAQRdHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCgAgsrACABKAIAIgEoAgBBFkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEKACCysAIAEoAgAiASgCAEE3RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoAILBQBBogELKwAgASgCACIBKAIAQTZHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCgAgsrACABKAIAIgEoAgBBNUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEKACCysAIAEoAgAiASgCAEE0RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoAILKwAgASgCACIBKAIAQTNHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCgAgsrACABKAIAIgEoAgBB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ARCgAgsrACABKAIAIgEoAgBBA0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEKACCysAIAEoAgAiASgCAEECRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQoAILKwAgASgCACIBKAIAQQFHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCgAgvdHgEOfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEoAgAiAigCAA5eAAECAwQFBgcICQoLDA0eHyAhIiMkJTU2Dg8QERITFBUWFxgZGhscHTcmJygpKissLS4vMDEyMzQ4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcAF0LQZj9A0HlswNB6gEQYgALIABBj8QAIAEQWCACKAIAQQFHDVwgAigCFCIBQQBMDVsgAEEEaiEEA0AgAUEBayIAIAIoAhRPDV4gAigCECAAQQJ0aiIDKAIARQ1fIARBssMAIAMQWyABQQFLIQYgACEBIAYNAAsMWwsgAEGQxAAgARBYIAIoAgBBAkcNWyACKAIQBEAgAEEEakGywwAgAkEQahBbCwxgCyAAQZHEACABEFggAigCAEEDRw1aDGMLIABBksQAIAEQWCACKAIAQQRHDVkgAigCFARAIABBBGpBssMAIAJBFGoQWwsgAigCEEUNWCAAQQRqQbLDACACQRBqEFsPCyAAQZPEACABEFggAigCAEEFRw1YIABBssMAIAJBJGoQWCACKAIgRQ1XIABBBGpBssMAIAJBIGoQWw8LIABBlMQAIAEQWCACKAIAQQZHDVcgAigCDCIBQQBMDVYgAEEEaiEEA0AgAUEBayIAIAIoAgxPDVkgAigCCCAAQQJ0aiIDKAIARQ1aIARBssMAIAMQWyABQQFLIQcgACEBIAcNAAsMVgsgAEGVxAAgARBYIAIoAgBBB0cNViAAQbLDACACQRxqEFggAigCECIBQQBMDVUgAEEEaiEEA0AgAUEBayIAIAIoAhBPDVggAigCDCAAQQJ0aiIDKAIARQ1ZIARBssMAIAMQWyABQQFLIQggACEBIAgNAAsMVQsgAEGWxAAgARBYIAIoAgBBCEYNVAxVCyAAQZfEACABEFggAigCAEEJRw1UDGALIABBmMQAIAEQWCACKAIAQQpGDVIMUwsgAEGZxAAgARBYIAIoAgBBC0cNUgxbCyAAQZrEACABEFggAigCAEEMRw1RDF8LIABBm8QAIAEQWCACKAIAQQ1HDVAMXQsgAEGcxAAgARBYIAIoAgBBGEcNTwxeCyAAQZ3EACABEFggAigCAEEZRw1OIABBssMAIAJBIGoQWAxdCyAAQZ7EACABEFggAigCAEEaRw1NDFQLIABBn8QAIAEQWCACKAIAQRtHDUwMVAsgAEGgxAAgARBYIAIoAgBBHEYNSgxLCyAAQaHEACABEFggAigCAEEdRw1KDFYLIABBosQAIAEQWCACKAIAQR5HDUkgAEGywwAgAkEUahBYDFULIABBo8QAIAEQWCACKAIAQR9HDUgMTQsgAEGkxAAgARBYIAIoAgBBIEcNRwxRCyAAQaXEACABEFggAigCAEEhRw1GDFELIABBpsQAIAEQWCACKAIAQSJHDUUgAEGywwAgAkEgahBYDwsgAEGnxAAgARBYIAIoAgBBI0cNRAxRCyAAQajEACABEFggAigCAEEkRw1DDEoLIABBqcQAIAEQWCACKAIAQSVGDUEMQgsgAEGqxAAgARBYIAIoAgBBJkcNQQxFCyAAQavEACABEFggAigCAEEnRw1ADEQLIABBrMQAIAEQWCACKAIAQQ5GDT4MPwsgAEGtxAAgARBYIAIoAgBBD0cNPgxKCyAAQa7EACABEFggAigCAEEQRw09DEgLIABBr8QAIAEQWCACKAIAQRFHDTwMQAsgAEGwxAAgARBYIAIoAgBBEkcNOwxLCyAAQbHEACABEFggAigCAEETRw06IAIoAghFDTkMSwsgAEGyxAAgARBYIAIoAgBBFEYNOAw5CyAAQbPEACABEFggAigCAEEVRw04DEgLIABBtMQAIAEQWCACKAIAQSlGDTYMNwsgAEG1xAAgARBYIAIoAgBBKkcNNgxGCyAAQbbEACABEFggAigCAEErRg00DDULIABBt8QAIAEQWCACKAIAQSxHDTQMOQsgAEG4xAAgARBYIAIoAgBBLUcNMww8CyAAQbnEACABEFggAigCAEEuRw0yDDoLIABBusQAIAEQWCACKAIAQS9GDTAMMQsgAEG7xAAgARBYIAIoAgBBMEcNMAw4CyAAQbzEACABEFggAigCAEExRw0vDDYLIABBvcQAIAEQWCACKAIAQTJHDS4MMgsgAEG+xAAgARBYIAIoAgBBM0cNLSACKAIoIgFBAEoEQCAAQQRqIQMDQCABQQFrIgQgAigCKE8NMCACKAIkIARBAnRqIgUoAgBFDTEgA0GywwAgBRBbIAFBAUshCSAEIQEgCQ0ACwsMNgsgAEG/xAAgARBYIAIoAgBBNEYEQAw9CwwsCyAAQcDEACABEFggAigCAEE1Rw0rIAIoAhQiAUEATA0qIABBBGohBANAIAFBAWsiACACKAIUTw0tIAIoAhAgAEECdGoiAygCAEUNLiAEQbLDACADEFsgAUEBSyEKIAAhASAKDQALDCoLIABBwcQAIAEQWCACKAIAQTZGDSkMKgsgAEHCxAAgARBYIAIoAgBBN0cNKQw5CyAAQcPEACABEFggAigCAEEWRg0nDCgLIABBxMQAIAEQWCACKAIAQRdGDSYMJwsgAEHFxAAgARBYIAIoAgBBKEYNJQwmCyAAQcbEACABEFggAigCAEE4Rw0lIAIoAgwiAUEATA0kIABBBGohBANAIAFBAWsiACACKAIMTw0nIAIoAgggAEECdGoiAygCAEUNKCAEQbLDACADEFsgAUEBSyELIAAhASALDQALDCQLIABBx8QAIAEQWCACKAIAQTlHDSQMNAsgAEHIxAAgARBYIAIoAgBBOkcNIwwzCyAAQcnEACABEFggAigCAEE7Rw0iDDILIABBysQAIAEQWCACKAIAQTxHDSEgAEGywwAgAkEYahBYIAIoAgwiAUEATA0gIABBBGohBANAIAFBAWsiACACKAIMTw0jIAIoAgggAEECdGoiAygCAEUNJCAEQbLDACADEFsgAUEBSyEMIAAhASAMDQALDCALIABBy8QAIAEQWCACKAIAQT1HDSAMMAsgAEHMxAAgARBYIAIoAgBBPkcNHwwvCyAAQc3EACABEFggAigCAEE/Rw0eIABBssMAIAJBFGoQWA8LIABBzsQAIAEQWCACKAIAQcAARw0dIAIoAgwiAUEATA0cIABBBGohBANAIAFBAWsiACACKAIMTw0fIAIoAgggAEECdGoiAygCAEUNICAEQbLDACADEFsgAUEBSyENIAAhASANDQALDBwLIABBz8QAIAEQWCACKAIAQcEARw0cDCgLIABB0MQAIAEQWCACKAIAQcIARw0bDCYLIABB0cQAIAEQWCACKAIAQcMARw0aIABBssMAIAJBDGoQWCACKAIIRQ0ZDCsLIABB0sQAIAEQWCACKAIAQcQARw0ZDCELIABB08QAIAEQWCACKAIAQcUARw0YDCALIABB1MQAIAEQWCACKAIAQcYARw0XIAIoAgwiAUEATA0WIABBBGohBANAIAFBAWsiACACKAIMTw0ZIAIoAgggAEECdGoiAygCAEUNGiAEQbLDACADEFsgAUEBSyEOIAAhASAODQALDBYLIABB1cQAIAEQWCACKAIAQccARw0WDBsLIABB1sQAIAEQWCACKAIAQcgARw0VDBkLIABB18QAIAEQWCACKAIAQckARw0UDCQLIABB2MQAIAEQWCACKAIAQcoARw0TIABBssMAIAJBGGoQWAwWCyAAQdnEACABEFggAigCAEHLAEcNEgwVCyAAQdrEACABEFggAigCAEHMAEcNEQwXCyAAQdvEACABEFggAigCAEHNAEcNEAwWCyAAQdzEACABEFggAigCAEHOAEcNDwwbCyAAQd3EACABEFggAigCAEHPAEcNDiACKAIYBEAgAEEEakGywwAgAkEYahBbCyACKAIUBEAgAEEEakGywwAgAkEUahBbCyACKAIQBEAgAEEEakGywwAgAkEQahBbCwwaCyAAQd7EACABEFggAigCAEHQAEYNDAwNCyAAQd/EACABEFggAigCAEHRAEcNDAwYCyAAQeDEACABEFggAigCAEHSAEcNCyACKAIUBEAgAEEEakGywwAgAkEUahBbCwwWCyAAQeHEACABEFggAigCAEHTAEcNCgwPCyAAQeLEACABEFggAigCAEHUAEcNCQwUCyAAQePEACABEFggAigCAEHVAEcNCAwUCyAAQeTEACABEFggAigCAEHWAEcNBwwLCyAAQeXEACABEFggAigCAEHXAEcNBgwLCyAAQebEACABEFggAigCAEHYAEcNBQwVCyAAQefEACABEFggAigCAEHZAEcNBAwPCyAAQejEACABEFggAigCAEHaAEcNAwwNCyAAQenEACABEFggAigCAEHbAEcNAgwHCyAAQerEACABEFggAigCAEHcAEcNASAAQbLDACACQTxqEFggAigCMCIBQQBMDQAgAEEEaiEEA0AgAUEBayIAIAIoAjBPDQMgAigCLCAAQQJ0aiIDKAIARQ0EIARBssMAIAMQWyABQQFLIQ8gACEBIA8NAAsLDwtB8O0FQcWYA0GUBkGN3gAQAQALQcWiAUGJogNBvAFBpogFEAEAC0GBgwJB05kDQbkCQa73AhABAAsgAEGywwAgAkEUahBYCyAAQbLDACACQRBqEFgLIABBssMAIAJBDGoQWAwKCyAAQbLDACACQRxqEFgLIABBssMAIAJBGGoQWAsgAEGywwAgAkEUahBYCyAAQbLDACACQRBqEFgPCyAAQbLDACACQRRqEFgLIABBssMAIAJBEGoQWAsgAEGywwAgAkEMahBYDwsgAEGywwAgAkEoahBYCyAAQbLDACACQSRqEFgPCyAAQbLDACACQRxqEFggAEGywwAgAkEYahBYDwsgAEGywwAgAkEIahBYDwsgAEEEakGywwAgAkEIahBbC74iAQ5/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAIgIoAgAOXgABAgMEBQYHCAkKCwwNHh8gISIjJCU1Ng4PEBESExQVFhcYGRobHB03JicoKSorLC0uLzAxMjM0ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXABdC0GY/QNB5bMDQeoBEGIACyAAQRRqQbPDACABEFggAigCAEEBRw1cIAIoAhQiAUEATA1bIABBGGohAwNAIAFBAWsiACACKAIUTw1eIAIoAhAgAEECdGoiBCgC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BCAANgIEIAAQWgsgBBBaCyABKAL8ASICBEADQCACKAIAIbcBIAIQWiC3ASICDQALCyABKAL0ASEAIAFBADYC9AEgAARAIAAQWgsCQCABKALwAUUNACABKALsASICKAIAIgAgASgC6AEoAgQiBDYCBCAEIAA2AgAgAUEANgLwASACIBRGDQADQCACKAIEIbgBIAIQWiC4ASICIBRHDQALCyABKALcASICBEADQCACKAIAIbkBIAIQWiC5ASICDQALCyABKALUASEAIAFBADYC1AEgAARAIAAQWgsgASgCyAEiAgRAA0AgAigCACG6ASACEFogugEiAg0ACwsgASgCwAEhACABQQA2AsABIAAEQCAAEFoLIBVBABDjByABKAKwASICBEADQCACKAIAIbsBIAIQWiC7ASICDQALCyABKAKoASEAIAFBADYCqAEgAARAIAAQWgsCQCABKAKcASIABEAgASgCoAEiAiAAIgNHBEADQCACQcgAayIEKAI4IgMEQCACQQxrIAM2AgAgAxBaCyACQRhrIgMtAAAiBkH/AUcEQCABQYvDADYCsAUgAUGMwwA2AqwFIAFBjcMANgKoBSABQY7DADYCpAUgAUGPwwA2AqAFQdSJC0EANgIAIAFBoAVqIAZBAnRqKAIAIAFBqAJqIAJBMGsQA0HUiQsoAgAhvAFB1IkLQQA2AgAgvAFBAUYNBAsgA0H/AToAACAEIgIgAEcNAAsgASgCnAEhAwsgASAANgKgASADEFoLIAUQBwALDAELAAtBABALGhBwAAvABwENfyMAQdABayICJAAgACgCBCEDIAJCADcCrAEgAkGAgID8AzYCtAEgAkIANwKkASACIAE2ApwBQdSJC0EANgIAIAIgA0EYajYCoAFBicMAIAJBnAFqEApB1IkLKAIAIQZB1IkLQQA2AgAgBkEBRgRAEAAhByACQaQBahDSDiAHEAcACyAALwEUIQMgAkIANwJ0IAJBADYCfCACQgA3AhAgAkEANgIYIAJCADcCkAEgAkGAgID8AzYCmAEgAkIANwJsIAJCADcCCCACQeTfBzYCACACQgA3AogBIAJBADoAhgEgAiADOwGEASACIAJBnAFqNgKAASAAKAIEIQBB1IkLQQA2AgAgAiAANgIEQYrDACACIAEQA0HUiQsoAgAhAEHUiQtBADYCAAJAIABBAUcEQCACQeTfBzYCACACKAKQASIABEADQCAAKAIAIQkgAC0AKCIDQf8BRwRAIAJBi8MANgLMASACQYzDADYCyAEgAkGNwwA2AsQBIAJBjsMANgLAASACQY/DADYCvAFB1IkLQQA2AgAgAkG8AWogA0ECdGooAgAgAkG7AWogAEEQahADQdSJCygCACEIQdSJC0EANgIAIAhBAUYNBAsgABBaIAkiAA0ACwsgAigCiAEhACACQQA2AogBIAAEQCAAEFoLIAIoAmwiAARAIAIgADYCcCAAEFoLIAJBkO0JNgIAIAIsABNBAEgEQCACKAIIEFoLIAIoAqwBIgAEQANAIAAoAgAhCyAALQA4IgNB/wFHBEAgAkGLwwA2AhAgAkGMwwA2AgwgAkGNwwA2AgggAkGOwwA2AgQgAkGPwwA2AgBB1IkLQQA2AgAgAiADQQJ0aigCACACQbwBaiAAQSBqEANB1IkLKAIAIQpB1IkLQQA2AgAgCkEBRg0ECyAAEFogCyIADQALCyACKAKkASEAIAJBADYCpAEgAARAIAAQWgsgAkHQAWokAA8LEAAhDiACENEOGiMAQSBrIgMkAAJAAkAgAigCrAEiAARAA0AgACgCACENIAAtADgiBEH/AUcEQCADQYvDADYCHCADQYzDADYCGCADQY3DADYCFCADQY7DADYCECADQY/DADYCDEHUiQtBADYCACADQQxqIARBAnRqKAIAIANBC2ogAEEgahADQdSJCygCACEMQdSJC0EANgIAIAxBAUYNAwsgABBaIA0iAA0ACwsgAigCpAEhACACQQA2AqQBIAAEQCAAEFoLIANBIGokAAwBC0EAEAsaEHAACyAOEAcAC0EAEAsaEHAAC04BAX4gACkCgAEhAUGIARBcIgBCADcCbCAAQgA3AgQgACABNwKAASAAQbDeBzYCACAAQQA2AnwgAEIANwJ0IABCADcCDCAAQgA3AhQgAAs/ACAAKAIERQRAQej6BUG6iwNBnARB7tMCEAEACyAAIAI2AnggACABNgJ8IABBFGogAkEwahD4BSAAQgA3AngLTgEBfyAAKAKAASEBQYQBEFwiAEIANwJsIABCADcCBCAAIAE2AoABIABB4N4HNgIAIABBADYCfCAAQgA3AnQgAEIANwIMIABCADcCFCAACz8AIAAoAgRFBEBB6PoFQbqLA0GcBEHu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CCgCACIIDQALDAELIAtBFGogCEEUaiIFEK4HIQwgCCgCIARAIAgoAhwiAARAA0AgACgCACESIAAQWiASIgANAAsLQQAhACAIQQA2AhwCQCAIKAIYIgNFDQAgA0EETwRAIANBfHEhAQNAIABBAnQiAiAFKAIAakEANgIAIAUoAgAgAmpBADYCBCAFKAIAIAJqQQA2AgggBSgCACACakEANgIMIABBBGoiACABRw0ACwsgA0EDcSICRQ0AQQAhAQNAIAUoAgAgAEECdGpBADYCACAAQQFqIQAgAUEBaiIBIAJHDQALCyAIQQA2AiALIAtBADYCEAJAIAwoAgwiCUUNAEEAIQEDQAJAIAsgBigCDCABQQJ0aigCACIHNgIMAkAgB0F/Rg0AIAwoAgQiA0UNACAMKAIAAn8gA0EBayABcSADaUEBSyICRQ0AGiABIAEgA0kNABogASADcAsiBEECdGooAgAiAEUNACAAKAIAIgBFDQACQCACRQRAIANBAWshAwNAAkAgACgCBCICIAFHBEAgAiADcSAERg0BDAULIAAoAgggAUYNAwsgACgCACIADQALDAILA0ACQCAAKAIEIgIgAUcEQCACIANPBH8gAiADcAUgAgsgBEYNAQwECyAAKAIIIAFGDQILIAAoAgAiAA0ACwwBC0HUiQtBADYCAEHpBSALQShqIAwgASALQRBqEAVB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRg0BIAsoAigoAgxFBEBB1IkLQQA2AgBBDUGe+gVB350CQbMCQduGARAFQdSJCygCACEUQdSJC0EANgIAIBRBAUcEQAALDAILQdSJC0EANgIAQekFIAtBKGoiAiAMIAEgC0EQahAFQdSJCygCACEVQdSJC0EANgIAIBVBAUYNAUHUiQtBADYCACALKAIoIQFB6QUgAiAFIAcgC0EMahAFQdSJCygCACEWQdSJC0EANgIAIBZBAUYNASALKAIoIAEpAgw3AgwgDCgCDCEJIAsoAhAhAQsgCyABQQFqIgE2AhAgASAJSQ0BDAILCxAAIRcgDBCiASAXEAcACyAMKAIIIgYEQANAIAYoAgAhGCAGEFogGCIGDQALCyAMKAIAIQAgDEEANgIAIABFDQAgABBaCyALQTBqJAALpQIBBH8CQCABKAIAIgEoAgBBwgBGBEAgASgCDCgCBCICQQFH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WAvyDwEYfyMAQbACayIDJAACQAJAAkACQAJAAkACQAJAAkACQAJAIAAoAgQEQCAAIAAoAgAoAhARAgAEQCADIAAoAgQiAikCODcD+AEgAyACKQIwNwPwASADIAIpAig3A+gBIAMgAikCIDcD4AEgAyACKQIYNwPYASADQYACaiACQUBrEOMBIQRB1IkLQQA2AgBBmgEgA0GUAmogAkHUAGoQAiEFQdSJCygCACERQdSJC0EANgIAIBFBAUYNAiADIAIoAmg2AqgCIAMgAigCbCICNgKsAiACBEAgAiACKAIEQQFqNgIECyADQQEgAygC4AEiAiACQQBKGzYC4AEgAyADKQPoATcDGCADIAMpA/ABNwMgIAMgAykD+AE3AyggAyADKQPgATcDECADQQEgAygC3AEiAiACQQBKGzYC3AFB1IkLQQA2AgAgAyADKQPYATcDCEGbASADQTBqIAQQAiEEQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBxABqIAUQAiEFQdSJCygCACESQdSJC0EANgIAIBJBAUYNBSADIAMoAqwCIgI2AlwgAyADKAKoAjYCWCACBEAgAiACKAIEQQFqNgIECyADQQA2AnggAyADKQMQNwKEASADIAMpAxg3AowBIAMgAykDIDcClAEgAyADKQMoNwKcASADQgA3AnAgA0H87Ak2AmQgAyADKQMINwJ8QdSJC0EANgIAIAMgATYCaCADIAFBqAFqNgJsQZsBIANBpAFqIAQQAiEBQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBuAFqIAUQAhpB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRwRAIAMgAygCWDYCzAEgAyADKAJcIgE2AtABIAEEQCABIAEoAgRBAWo2AgQLIANBADsB1AEgA0EIahBhIANBAToA1AEgACgCACgCFCEUQdSJC0EANgIAIBQgABAGIQBB1IkLKAIAIRVB1IkLQQA2AgAgFUEBRg0EIAMoAmQoAgghFkHUiQtBADYCACAWIANB5ABqIgEgABADQdSJCygCACEXQdSJC0EANgIAIBdBAUYNBEHUiQtBADYCAEGXASABEApB1IkLKAIAIRhB1IkLQQA2AgAgGEEBRg0EIANB/OwJNgJkIANB/ABqEGEg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1IkLQQA2AgAgCyABIAAQA0HUiQsoAgAhDEHUiQtBADYCACAMQQFHDQIMBAsgACgCACgCCCENQdSJC0EANgIAIA0gABAGIQFB1IkLKAIAIQ5B1IkLQQA2AgAgDkEBRg0DCyACIAE2ApgBCwJAAkAgAygCGCIAIANBCGoiBEYEQEEEIQEgBCEADAELQQUhASAARQ0BCyAAIAAoAgAgAUECdGooAgARAQALIANBIGokACACDwsQACEADAELEAAhACACEOQBGgJAIAMoAhgiASADQQhqIgRGBEBBBCEDIAQhAQwBC0EFIQMgAUUNAQsgASABKAIAIANBAnRqKAIAEQEACyACEFogABAHAAs5ACAAKAIERQRAQej6BUG6iwNBnARB7tMCEAEACyAAIAI2AnggACABNgJ8IAAgAhDYDiAAQgA3AngLsSEBDn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEoAgAiAigCAA5eAAECAwQFBgcICQoLDA0eHyAhIiMkJTU2Dg8QERITFBUWFxgZGhscHTcmJygpKissLS4vMDEyMzQ4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcAF0LQZj9A0HlswNB6gEQYgALIABBFGpBnT8gARBYIAIoAgBBAUcNXCACKAIUIgFBAEwNWyAAQRhqIQMDQCABQQFrIgAgAigCFE8NXiACKAIQIABBAnRqIgQoAgBFDV8gA0GcPyAEEFsgAUEBSyEGIAAhASAGDQALDFsLIABBFGoiA0GePyABEFggAigCAEECRw1bIAIoAhAEQCAAQRhqQZw/IAJBEGoQWwsgA0GcPyACQQxqEFggA0GcPyACQQhqEFgPCyAAQRRqIgBBnz8gARBYIAIoAgBBA0cNWgxgCyAAQRRqQaA/IAEQWCACKAIA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EIkCCywAIAEoAgAiASgCAEHVAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIkCCywAIAEoAgAiASgCAEHUAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIkCCywAIAEoAgAiASgCAEHTAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIkCCywAIAEoAgAiASgCAEHSAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIkCCyUAIABBqAFqQQxBBBBdIgAgATYCCCAAQQg2AgAgACACNgIEIAALLAAgASgCACIBKAIAQdEARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQiQILLAAgASgCACIBKAIAQdAARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQiQILLAAgASgCACIBKAIAQc8ARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQiQILLAAgASgCACIBKAIAQc4ARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQiQILLAAgASgCACIBKAIAQc0ARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQiQILLAAgASgCACIBKAIAQcwARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQiQILLAAgASgCACIBKAIAQcsARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQiQILLAAgASgCACIBKAIAQcoARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQiQILLAAgASgCACIBKAIAQckARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQiQILLAAgASgCACIBKAIAQcgARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQiQILJgAgACgCAEEMRwRAQfWzBkGntwJBzBRB1t4EEAEACyAAIAE6AAkLLAAgASgCACIBKAIAQccARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQiQILLAAgASgCACIBKAIAQcYARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQiQILLAAgASgCACIBKAIAQcUARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQiQILLAAgASgCACIBKAIAQcQARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQiQILLAAgASgCACIBKAIAQcMARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQiQILLAAgASgCACIBKAIAQcIARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQiQILLAAgASgCACIBKAIAQcEARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQiQILLAAgASgCACIBKAIAQcAARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQiQILKwAgASgCACIBKAIAQT9HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCJAgsrACABKAIAIgEoAgBBPkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIkCC0EAAkAgACgCAEEMRgRAIAFFDQEgACABNgIkDwtB9bMGQae3AkH1FEGa8AEQAQALQZX1AUGntwJB9hRBmvABEAEACysAIAEoAgAiASgCAEE9RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQiQILKwAgASgCACIBKAIAQTxHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCJAgsrACABKAIAIgEoAgBBO0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIkCCysAIAEoAgAiASgCAEE6RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQiQILKwAgASgCACIBKAIAQTlHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCJAgsrACABKAIAIgEoAgBBOEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIkCCysAIAEoAgAiASgCAEEoRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQiQILKwAgASgCACIBKAIAQRdHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCJAgsrACABKAIAIgEoAgBBFkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIkCCysAIAEoAgAiASgCAEE3RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQiQILJwAgACgCAEEMRwRAQfWzBkGntwJB4BRBj/0AEAEACyAAIAGtNwMQCysAIAEoAgAiASgCAEE2RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQiQILKwAgASgCACIBKAIAQTVHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCJAgsrACABKAIAIgEoAgBBNEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIkCCysAIAEoAgAiASgCAEEzRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQiQILKwAgASgCACIBKAIAQTJHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCJAgsrACABKAIAIgEoAgBBMUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIkCCysAIAEoAgAiASgCAEEwRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQiQILKwAgASgCACIBKAIAQS9HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCJAgsrACABKAIAIgEoAgBBLkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIkCCysAIAEoAgAiASgCAEEtRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQiQILJgAgACgCAEEMRwRAQfWzBkGntwJB1hRBg8gBEAEACyAAIAE6AAgLKwAgASgCACIBKAIAQSxHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCJAgsrACABKAIAIgEoAgBBK0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIkCCysAIAEoAgAiASgCAEEqRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQiQILKwAgASgCACIBKAIAQSlHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCJAgsrACABKAIAIgEoAgBBFUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIkCCysAIAEoAgAiASgCAEEURwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQiQILKwAgASgCACIBKAIAQRNHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCJAgsrACABKAIAIgEoAgBBEkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIkCCysAIAEoAgAiASgCAEERRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQiQILKwAgASgCACIBKAIAQRBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCJAgsmACAAKAIAQQxHBEBB9bMGQae3AkHCFEGE6QQQAQALIAAgAToAIAsrACABKAIAIgEoAgBBD0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIkCCysAIAEoAgAiASgCAEEORwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQiQILKwAgASgCACIBKAIAQSdHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCJAgsrACABKAIAIgEoAgBBJkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIkCCysAIAEoAgAiASgCAEElRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQiQILKwAgASgCACIBKAIAQSRHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCJAgsrACABKAIAIgEoAgBBI0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIkCCysAIAEoAgAiASgCAEEiRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQiQILKwAgASgCACIBKAIAQSFHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCJAgsrACABKAIAIgEoAgBBIEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIkCCycAIAAoAgBBDEcEQEH1swZBp7cCQeoUQYXgAhABAAsgACABrTcDGAsrACABKAIAIgEoAgBBH0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIkCCysAIAEoAgAiASgCAEEeRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQiQILKwAgASgCACIBKAIAQR1HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCJAgsrACABKAIAIgEoAgBBHEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIkCCysAIAEoAgAiASgCAEEbRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQiQILKwAgASgCACIBKAIAQRpHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCJAgsrACABKAIAIgEoAgBBGUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIkCCysAIAEoAgAiASgCAEEYRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQiQILKwAgASgCACIBKAIAQQ1HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCJAgsrACABKAIAIgEoAgBBDEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIkCCyQAIAAoAgBBDEcEQEH1swZBp7cCQccUQbbfBBABAAsgAC0ACQsrACABKAIAIgEoAgBBC0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIkCCysAIAEoAgAiASgCAEEKRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQiQILKwAgASgCACIBKAIAQQlHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCJAgsrACABKAIAIgEoAgBBCEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIkCCysAIAEoAgAiASgCAEEHRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQiQILKwAgASgCACIBKAIAQQZHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCJAgsrACABKAIAIgEoAgBBBUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIkCCysAIAEoAgAiASgCAEEERwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQiQILKwAgASgCACIBKAIAQQNHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCJAgsrACABKAIAIgEoAgBBAkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIkCCyQAIAAoAgBBDEcEQEH1swZBp7cCQb0UQbDpBBABAAsgAC0AIAsrACABKAIAIgEoAgBBAUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIkCC9UdAQ5/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgASgCACICKAIADl4AAQIDBAUGBwgJCgsMDR4fICEiIyQlNTYODxAREhMUFRYXGBkaGxwdNyYnKCkqKywtLi8wMTIzNDg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaW1wAXQtBmP0DQeWzA0HqARBiAAsgAEHhPSABEFggAigCAEEBRw1cIAIoAhQiAUEATA1bIABBBGohBANAIAFBAWsiACACKAIUTw1eIAIoAhAgAEECdGoiAygCAEUNXyAEQeA9IAMQWyABQQFLIQYgACEBIAYNAAsMWwsgAEHiPSABEFggAigCAEECRw1bIAIoAhAEQCAAQQRqQeA9IAJBEGoQWwsMYAsgAEHjPSABEFggAigCAEEDRw1aDGMLIABB5D0gARBYIAIoAgBBBEcNWSACKAIUBEAgAEEEakHgPSACQRRqEFsLIAIoAhBFDVggAEEEakHgPSACQRBqEFsPCyAAQeU9IAEQWCACKAIAQQVHDVggAEHgPSACQSRqEFggAigCIEUNVyAAQQRqQeA9IAJBIGoQWw8LIABB5j0gARBYIAIoAgBBBkcNVyACKAIMIgFBAEwNViAAQQRqIQQDQCABQQFrIgAgAigCDE8NWSACKAIIIABBAnRqIgMoAgBFDVogBEHgPSADEFsgAUEBSyEHIAAhASAHDQALDFYLIABB5z0gARBYIAIoAgBBB0cNViAAQeA9IAJBHGoQWCACKAIQIgFBAEwNVSAAQQRqIQQDQCABQQFrIgAgAigCEE8NWCACKAIMIABBAnRqIgMoAgBFDVkgBEHgPSADEFsgAUEBSyEIIAAhASAIDQALDFULIABB6D0gARBYIAIoAgBBCEYNVAxVCyAAQek9IAEQWCACKAIAQQlHDVQMYAsgAEHqPSABEFggAigCAEEKRg1SDFMLIABB6z0gARBYIAIoAgBBC0cNUgxbCyAAQew9IAEQWCACKAIAQQxHDVEMXwsgAEHtPSABEFggAigCAEENRw1QDF0LIABB7j0gARBYIAIoAgBBGEcNTwxeCyAAQe89IAEQWCACKAIAQRlHDU4gAEHgPSACQSBqEFgMXQsgAEHwPSABEFggAigCAEEaRw1NDFQLIABB8T0gARBYIAIoAgBBG0cNTAxUCyAAQfI9IAEQWCACKAIAQRxGDUoMSwsgAEHzPSABEFggAigCAEEdRw1KDFYLIABB9D0gARBYIAIoAgBBHkcNSSAAQeA9IAJBFGoQWAxVCyAAQfU9IAEQWCACKAIAQR9HDUgMTQsgAEH2PSABEFggAigCAEEgRw1HDFELIABB9z0gARBYIAIoAgBBIUcNRgxRCyAAQfg9IAEQWCACKAIAQSJHDUUgAEHgPSACQSBqEFgPCyAAQfk9IAEQWCACKAIAQSNHDUQMUQsgAEH6PSABEFggAigCAEEkRw1DDEoLIABB+z0gARBYIAIoAgBBJUYNQQxCCyAAQfw9IAEQWCACKAIAQSZHDUEMRQsgAEH9PSABEFggAigCAEEnRw1ADEQLIABB/j0gARBYIAIoAgBBDkYNPgw/CyAAQf89IAEQWCACKAIAQQ9HDT4MSgsgAEGAPiABEFggAigCAEEQRw09DEgLIABBgT4gARBYIAIoAgBBEUcNPAxACyAAQYI+IAEQWCACKAIAQRJHDTsMSwsgAEGDPiABEFggAigCAEETRw06IAIoAghFDTkMSwsgAEGEPiABEFggAigCAEEURg04DDkLIABBhT4gARBYIAIoAgBBFUcNOAxICyAAQYY+IAEQWCACKAIAQSlGDTYMNwsgAEGHPiABEFggAigCAEEqRw02DEYLIABBiD4gARBYIAIoAgBBK0YNNAw1CyAAQYk+IAEQWCACKAIAQSxHDTQMOQsgAEGKPiABEFggAigCAEEtRw0zDDwLIABBiz4gARBYIAIoAgBBLkcNMgw6CyAAQYw+IAEQWCACKAIAQS9GDTAMMQsgAEGNPiABEFggAigCAEEwRw0wDDgLIABBjj4gARBYIAIoAgBBMUcNLww2CyAAQY8+IAEQWCACKAIAQTJHDS4MMgsgAEGQPiABEFggAigCAEEzRw0tIAIoAigiAUEASgRAIABBBGohAwNAIAFBAWsiBCACKAIoTw0wIAIoAiQgBEECdGoiBSgCAEUNMSADQeA9IAUQWyABQQFLIQkgBCEBIAkNAAsLDDYLIABBkT4gARBYIAIoAgBBNEYEQAw9CwwsCyAAQZI+IAEQWCACKAIAQTVHDSsgAigCFCIBQQBMDSogAEEEaiEEA0AgAUEBayIAIAIoAhRPDS0gAigCECAAQQJ0aiIDKAIARQ0uIARB4D0gAxBbIAFBAUshCiAAIQEgCg0ACwwqCyAAQZM+IAEQWCACKAIAQTZGDSkMKgsgAEGUPiABEFggAigCAEE3Rw0pDDkLIABBlT4gARBYIAIoAgBBFkYNJwwoCyAAQZY+IAEQWCACKAIAQRdGDSYMJwsgAEGXPiABEFggAigCAEEoRg0lDCYLIABBmD4gARBYIAIoAgBBOEcNJSACKAIMIgFBAEwNJCAAQQRqIQQDQCABQQFrIgAgAigCDE8NJyACKAIIIABBAnRqIgMoAgBFDSggBEHgPSADEFsgAUEBSyELIAAhASALDQALDCQLIABBmT4gARBYIAIoAgBBOUcNJAw0CyAAQZo+IAEQWCACKAIAQTpHDSMMMwsgAEGbPiABEFggAigCAEE7Rw0iDDILIABBnD4gARBYIAIoAgBBPEcNISAAQeA9IAJBGGoQWCACKAIMIgFBAEwNICAAQQRqIQQDQCABQQFrIgAgAigCDE8NIyACKAIIIABBAnRqIgMoAgBFDSQgBEHgPSADEFsgAUEBSyEMIAAhASAMDQALDCALIABBnT4gARBYIAIoAgBBPUcNIAwwCyAAQZ4+IAEQWCACKAIAQT5HDR8MLwsgAEGfPiABEFggAigCAEE/Rw0eIABB4D0gAkEUahBYDwsgAEGgPiABEFggAigCAEHAAEcNHSACKAIMIgFBAEwNHCAAQQRqIQQDQCABQQFrIgAgAigCDE8NHyACKAIIIABBAnRqIgMoAgBFDSAgBEHgPSADEFsgAUEBSyENIAAhASANDQALDBwLIABBoT4gARBYIAIoAgBBwQBHDRwMKAsgAEGiPiABEFggAigCAEHCAEcNGwwmCyAAQaM+IAEQWCACKAIAQcMARw0aIABB4D0gAkEMahBYIAIoAghFDRkMKwsgAEGkPiABEFggAigCAEHEAEcNGQwhCyAAQaU+IAEQWCACKAIAQcUARw0YDCALIABBpj4gARBYIAIoAgBBxgBHDRcgAigCDCIBQQBMDRYgAEEEaiEEA0AgAUEBayIAIAIoAgxPDRkgAigCCCAAQQJ0aiIDKAIARQ0aIARB4D0gAxBbIAFBAUshDiAAIQEgDg0ACwwWCyAAQac+IAEQWCACKAIAQccARw0WDBsLIABBqD4gARBYIAIoAgBByABHDRUMGQsgAEGpPiABEFggAigCAEHJAEcNFAwkCyAAQao+IAEQWCACKAIAQcoARw0TIABB4D0gAkEYahBYDBYLIABBqz4gARBYIAIoAgBBywBHDRIMFQsgAEGsPiABEFggAigCAEHMAEcNEQwXCyAAQa0+IAEQWCACKAIAQc0ARw0QDBYLIABBrj4gARBYIAIoAgBBzgBHDQ8MGwsgAEGvPiABEFggAigCAEHPAEcNDiACKAIYBEAgAEEEakHgPSACQRhqEFsLIAIoAhQEQCAAQQRqQeA9IAJBFGoQWwsgAigCEARAIABBBGpB4D0gAkEQahBbCwwaCyAAQbA+IAEQWCACKAIAQdAARg0MDA0LIABBsT4gARBYIAIoAgBB0QBHDQwMGAsgAEGyPiABEFggAigCAEHSAEcNCyACKAIUBEAgAEEEakHgPSACQRRqEFsLDBYLIABBsz4gARBYIAIoAgBB0wBHDQoMDwsgAEG0PiABEFggAigCAEHUAEcNCQwUCyAAQbU+IAEQWCACKAIAQdUARw0IDBQLIABBtj4gARBYIAIoAgBB1gBHDQcMCwsgAEG3PiABEFggAigCAEHXAEcNBgwLCyAAQbg+IAEQWCACKAIAQdgARw0FDBULIABBuT4gARBYIAIoAgBB2QBHDQQMDwsgAEG6PiABEFggAigCAEHaAEcNAwwNCyAAQbs+IAEQWCACKAIAQdsARw0CDAcLIABBvD4gARBYIAIoAgBB3ABHDQEgAEHgPSACQTxqEFggAigCMCIBQQBMDQAgAEEEaiEEA0AgAUEBayIAIAIoAjBPDQMgAigCLCAAQQJ0aiIDKAIARQ0EIARB4D0gAxBbIAFBAUshDyAAIQEgDw0ACwsPC0Hw7QVBxZgDQZQGQY3eABABAAtBxaIBQYmiA0G8AUGmiAUQAQALQYGDAkHTmQNBuQJBrvcCEAEACyAAQeA9IAJBFGoQWAsgAEHgPSACQRBqEFgLIABB4D0gAkEMahBYDAoLIABB4D0gAkEcahBYCyAAQeA9IAJBGGoQWAsgAEHgPSACQRRqEFgLIABB4D0gAkEQahBYDwsgAEHgPSACQRRqEFgLIABB4D0gAkEQahBYCyAAQeA9IAJBDGoQWA8LIABB4D0gAkEoahBYCyAAQeA9IAJBJGoQWA8LIABB4D0gAkEcahBYIABB4D0gAkEYahBYDwsgAEHgPSACQQhqEFgPCyAAQQRqQeA9IAJBCGoQWwv5BAEIfyMAQYABayIDJAACQAJAAkAgASgCACIBKAIMDQAgACgCCCgCACEEIAAoAgQiBSgCBCEGIAIQ2w4gAiAGQRhqIAQgARDaDiICQQE6AHggAi0AFUUNACACQQA6AFMgAkEAOgAVIAAoAggoAgAhACAFKAIEIQQgA0IANwJoIANCADcCYCADQQA2AnAgA0IANwIIIAMgAjYCfCADIARBGGo2AnggAyAANgJ0IAMgATYCbEHTmQMhBCABKAIwRQRAQa73AiEBQbkCIQBBgYMCIQIMAgtB1IkLQQA2AgBB3z0gA0EMakHgPSABQTBqEAhB1IkLKAIAIQdB1IkLQQA2AgAgB0EBRg0CQQAgAygCDCICayADKAJkIgEgAygCYCIAa0EDdUcEQCADQRBqIQUDQAJAIAAgAUYEQCACRQRAQf37AiEBQdoAIQBBsJQDIQRB3sQFIQIMBgsgBSACQQFrIgJBA3RqIgAoAgQhASAAKAIAIQAgAyACNgIMDAELIAFBCGsiAigCACEAIAIoAgQhASADIAI2AmQLIAMgATYCCCABKAIARQRAQdD4AiEBQc0CIQBB9YICIQIMBAtB1IkLQQA2AgAgACADQQhqIAEQA0HUiQsoAgAhCEHUiQtBADYCACAIQQFGDQRBACADKAIMIgJrIAMoAmQiASADKAJgIgBrQQN1Rw0ACwsgA0EANgJsIABFDQAgAyAANgJkIAAQWgsgA0GAAWokAA8LQdSJC0EANgIAQQ0gAiAEIAAgARAFQdSJCygCACEJQdSJC0EANgIAIAlBAUYNAAALEAAhCiADKAJgIgAEQCADIAA2AmQgABBaCyAKEAcACxUAIAFB+NkHNgIAIAEgACkCBDcCBAsdAQF/QQwQXCIBQfjZBzYCACABIAApAgQ3AgQgAQvPBAEOfyMAQSBrIgMkACAAKAKEASEEIAAoAoABIQVBoAEQXCECAkACQAJAAkACQCAAKAKYASIBRQRAQQAhAAwBCyAAQYgBaiIAIAFGBEAgAyADQQhqIgE2AhggACgCACgCDCEHQdSJC0EANgIAIAcgACABEANB1IkLKAIAIQhB1IkLQQA2AgAgCEEBRg0DIAMoAhghAAwCCyABKAIAKAIIIQlB1IkLQQA2AgAgCSABEAYhAEHUiQsoAgAhCkHUiQtBADYCACAKQQFGDQILIAMgADYCGAsgAkIANwJsIAJCADcCBCACIAQ2AoQBIAIgBTYCgAEgAkGc2gc2AgBBACEBIAJBADYCfCACQgA3AnQgAkIANwIMIAJCADcCFAJAIAAEQCADQQhqIgEgAEYEQCACIAJBiAFqIgA2ApgBIAMoAggoAgwhC0HUiQtBADYCACALIAEgABADQdSJCygCACEMQdSJC0EANgIAIAxBAUcNAgwECyAAKAIAKAIIIQ1B1IkLQQA2AgAgDSAAEAYhAUHUiQsoAgAhDkHUiQtBADYCACAOQQFGDQMLIAIgATYCmAELAkACQCADKAIYIgAgA0EIaiIERgRAQQQhASAEIQAMAQtBBSEBIABFDQELIAAgACgCACABQQJ0aigCABEBAAsgA0EgaiQAIAIPCxAAIQAMAQsQACEAIAIQ5AEaAkAgAygCGCIBIANBCGoiBEYEQEEEIQMgBCEBDAELQQUhAyABRQ0BCyABIAEoAgAgA0ECdGooAgARAQALIAIQWiAAEAcACzkAIAAoAgRFBEBB6PoFQbqLA0GcBEHu0wIQAQALIAAgAjYCeCAAIAE2AnwgACACENwOIABCADcCeAuxIQEOfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgASgCACICKAIADl4AAQIDBAUGBwgJCgsMDR4fICEiIyQlNTYODxAREhMUFRYXGBkaGxwdNyYnKCkqKywtLi8wMTIzNDg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaW1wAXQtBmP0DQeWzA0HqARBiAAsgAEEUakGDPSABEFggAigCAEEBRw1cIAIoAhQiAUEATA1bIABBGGohAwNAIAFBAWsiACACKAIUTw1eIAIoAhAgAEECdGoiBCgCAEUNXyADQYI9IAQQWyABQQFLIQYgACEBIAYNAAsMWwsgAEEUaiIDQYQ9IAEQWCACKAIAQQJHDVsgAigCEARAIABBGGpBgj0gAkEQahBbCyADQYI9IAJBDGoQWCADQYI9IAJBCGoQWA8LIABBFGoiAEGFPSABEFggAigCAEEDRw1aDGALIABBFGpBhj0gARBYIAIoAgBBBEcNWSACKAIUBEAgAEEYakGCPSACQRRqEFsLIAIoAhBFDVggAEEYakGCPSACQRBqEFsPCyAAQRRqIgNBhz0gARBYIAIoAgBBBUcNWCADQYI9IAJBJGoQWCACKAIgRQ1XIABBGGpBgj0gAkEgahBbDwsgAEEUakGIPSABEFggAigCAEEGRw1XIAIoAgwiAUEATA1WIABBGGohAwNAIAFBAWsiACACKAIMTw1ZIAIoAgggAEECdGoiBCgCAEUNWiADQYI9IAQQWyABQQFLIQcgACEBIAcNAAsMVgsgAEEUaiIDQYk9IAEQWCACKAIAQQdHDVYgA0GCPSACQRxqEFggAigCECIBQQBMDVUgAEEYaiEDA0AgAUEBayIAIAIoAhBPDVggAigCDCAAQQJ0aiIEKAIARQ1ZIANBgj0gBBBbIAFBAUshCCAAIQEgCA0ACwxVCyAAQRRqQYo9IAEQWCACKAIAQQhGDVQMVQsgAEEUaiIAQYs9IAEQWCACKAIAQQlHDVQMXQsgAEEUakGMPSABEFggAigCAEEKRg1SDFMLIABBFGoiAEGNPSABEFggAigCAEELRw1SDFgLIABBFGoiAEGOPSABEFggAigCAEEMRw1RDFwLIABBFGoiAEGPPSABEFggAigCAEENRw1QDFoLIABBFGoiAEGQPSABEFggAigCAEEYRw1PDFsLIABBFGoiAEGRPSABEFggAigCAEEZRw1OIABBgj0gAkEgahBYDFoLIABBFGoiAEGSPSABEFggAigCAEEaRw1NDFELIABBFGoiAEGTPSABEFggAigCAEEbRw1MDFELIABBFGpBlD0gARBYIAIoAgBBHEYNSgxLCyAAQRRqIgBBlT0gARBYIAIoAgBBHUcNSgxTCyAAQRRqIgBBlj0gARBYIAIoAgBBHkcNSSAAQYI9IAJBFGoQWAxSCyAAQRRqIgBBlz0gARBYIAIoAgBBH0cNSAxXCyAAQRRqIgBBmD0gARBYIAIoAgBBIEcNRwxOCyAAQRRqIgBBmT0gARBYIAIoAgBBIUcNRgxOCyAAQRRqIgBBmj0gARBYIAIoAgBBIkcNRSAAQYI9IAJBIGoQWA8LIABBFGoiAEGbPSABEFggAigCAEEjRw1EDE4LIABBFGoiAEGcPSABEFggAigCAEEkRw1DDEcLIABBFGpBnT0gARBYIAIoAgBBJUYNQQxCCyAAQRRqIgBBnj0gARBYIAIoAgBBJkcNQQxPCyAAQRRqIgBBnz0gARBYIAIoAgBBJ0cNQAxOCyAAQRRqQaA9IAEQWCACKAIAQQ5GDT4MPwsgAEEUaiIAQaE9IAEQWCACKAIAQQ9HDT4MRwsgAEEUaiIAQaI9IAEQWCACKAIAQRBHDT0MRQsgAEEUaiIAQaM9IAEQWCACKAIAQRFHDTwMSgsgAEEUaiIAQaQ9IAEQWCACKAIAQRJHDTsMSwsgAEEUakGlPSABEFggAigCAEETRw06IAIoAghFDTkMSwsgAEEUakGmPSABEFggAigCAEEURg04DDkLIABBFGoiAEGnPSABEFggAigCAEEVRw04DEgLIABBFGpBqD0gARBYIAIoAgBBKUYNNgw3CyAAQRRqIgBBqT0gARBYIAIoAgBBKkcNNgxGCyAAQRRqQao9IAEQWCACKAIAQStGDTQMNQsgAEEUaiIAQas9IAEQWCACKAIAQSxHDTQMQwsgAEEUaiIAQaw9IAEQWCACKAIAQS1HDTMMOQsgAEEUaiIAQa09IAEQWCACKAIAQS5HDTIMNwsgAEEUakGuPSABEFggAigCAEEvRg0wDDELIABBFGoiAEGvPSABEFggAigCAEEwRw0wDDULIABBFGoiAEGwPSABEFggAigCAEExRw0vDDMLIABBFGoiAEGxPSABEFggAigCAEEyRw0uDDwLIABBFGoiA0GyPSABEFggAigCAEEzRw0tIAIoAigiAUEASgRAIABBGGohBANAIAFBAWsiACACKAIoTw0wIAIoAiQgAEECdGoiBSgCAEUNMSAEQYI9IAUQWyABQQFLIQkgACEBIAkNAAsLIANBgj0gAkEQahBYDwsgAEEUaiIAQbM9IAEQWCACKAIAQTRGBEAMPQsMLAsgAEEUakG0PSABEFggAigCAEE1Rw0rIAIoAhQiAUEATA0qIABBGGohAwNAIAFBAWsiACACKAIUTw0tIAIoAhAgAEECdGoiBCgCAEUNLiADQYI9IAQQWyABQQFLIQogACEBIAoNAAsMKgsgAEEUakG1PSABEFggAigCAEE2Rg0pDCoLIABBFGoiAEG2PSABEFggAigCAEE3Rw0pDDkLIABBFGpBtz0gARBYIAIoAgBBFkYNJwwoCyAAQRRqQbg9IAEQWCACKAIAQRdGDSYMJwsgAEEUakG5PSABEFggAigCAEEoRg0lDCYLIABBFGpBuj0gARBYIAIoAgBBOEcNJSACKAIMIgFBAEwNJCAAQRhqIQMDQCABQQFrIgAgAigCDE8NJyACKAIIIABBAnRqIgQoAgBFDSggA0GCPSAEEFsgAUEBSyELIAAhASALDQALDCQLIABBFGoiAEG7PSABEFggAigCAEE5Rw0kDDQLIABBFGoiAEG8PSABEFggAigCAEE6Rw0jDDMLIABBFGoiAEG9PSABEFggAigCAEE7Rw0iDDILIABBFGoiA0G+PSABEFggAigCAEE8Rw0hIANBgj0gAkEYahBYIAIoAgwiAUEATA0gIABBGGohAwNAIAFBAWsiACACKAIMTw0jIAIoAgggAEECdGoiBCgCAEUNJCADQYI9IAQQWyABQQFLIQwgACEBIAwNAAsMIAsgAEEUaiIAQb89IAEQWCACKAIAQT1HDSAMMAsgAEEUaiIAQcA9IAEQWCACKAIAQT5HDR8MLwsgAEEUaiIAQcE9IAEQWCACKAIAQT9HDR4gAEGCPSACQRRqEFgPCyAAQRRqQcI9IAEQWCACKAIAQcAARw0dIAIoAgwiAUEATA0cIABBGGohAwNAIAFBAWsiACACKAIMTw0fIAIoAgggAEECdGoiBCgCAEUNICADQYI9IAQQWyABQQFLIQ0gACEBIA0NAAsMHAsgAEEUaiIAQcM9IAEQWCACKAIAQcEARw0cDCULIABBFGoiAEHEPSABEFggAigCAEHCAEcNGwwjCyAAQRRqIgNBxT0gARBYIAIoAgBBwwBHDRogA0GCPSACQQxqEFggAigCCEUNGQwrCyAAQRRqIgBBxj0gARBYIAIoAgBBxABHDRkMHgsgAEEUaiIAQcc9IAEQWCACKAIAQcUARw0YDB0LIABBFGpByD0gARBYIAIoAgBBxgBHDRcgAigCDCIBQQBMDRYgAEEYaiEDA0AgAUEBayIAIAIoAgxPDRkgAigCCCAAQQJ0aiIEKAIARQ0aIANBgj0gBBBbIAFBAUshDiAAIQEgDg0ACwwWCyAAQRRqIgBByT0gARBYIAIoAgBBxwBHDRYMJQsgAEEUaiIAQco9IAEQWCACKAIAQcgARw0VDCMLIABBFGoiAEHLPSABEFggAigCAEHJAEcNFAwkCyAAQRRqIgBBzD0gARBYIAIoAgBBygBHDRMgAEGCPSACQRhqEFgMIAsgAEEUaiIAQc09IAEQWCACKAIAQcsARw0SDB8LIABBFGoiAEHOPSABEFggAigCAEHMAEcNEQwUCyAAQRRqIgBBzz0gARBYIAIoAgBBzQBHDRAMEwsgAEEUaiIAQdA9IAEQWCACKAIAQc4ARw0PDBgLIABBFGoiA0HRPSABEFggAigCAEHPAEcNDiACKAIYBEAgAEEYakGCPSACQRhqEFsLIAIoAhQEQCAAQRhqQYI9IAJBFGoQWwsgAigCEARAIABBGGpBgj0gAkEQahBbCwwgCyAAQRRqQdI9IAEQWCACKAIAQdAARg0MDA0LIABBFGoiAEHTPSABEFggAigCAEHRAEcNDAwVCyAAQRRqIgNB1D0gARBYIAIoAgBB0gBHDQsgAigCFARAIABBGGpBgj0gAkEUahBbCyADQYI9IAJBEGoQWAwdCyAAQRRqIgBB1T0gARBYIAIoAgBB0wBHDQoMGQsgAEEUaiIAQdY9IAEQWCACKAIAQdQARw0JDBELIABBFGoiAEHXPSABEFggAigCAEHVAEcNCAwRCyAAQRRqIgBB2D0gARBYIAIoAgBB1gBHDQcMFQsgAEEUaiIAQdk9IAEQWCACKAIAQdcARw0GDBULIABBFGoiAEHaPSABEFggAigCAEHYAEcNBQwVCyAAQRRqIgBB2z0gARBYIAIoAgBB2QBHDQQMDAsgAEEUaiIAQdw9IAEQWCACKAIAQdoARw0DDAoLIABBFGoiAEHdPSABEFggAigCAEHbAEcNAgwRCyAAQRRqIgNB3j0gARBYIAIoAgBB3ABHDQEgA0GCPSACQTxqEFggAigCMCIBQQBMDQAgAEEYaiEDA0AgAUEBayIAIAIoAjBPDQMgAigCLCAAQQJ0aiIEKAIARQ0EIANBgj0gBBBbIAFBAUshDyAAIQEgDw0ACwsPC0Hw7QVBxZgDQZQGQY3eABABAAtBxaIBQYmiA0G8AUGmiAUQAQALQYGDAkHTmQNBuQJBrvcCEAEACyAAQYI9IAJBHGoQWAsgAEGCPSACQRhqEFgLIABBgj0gAkEUahBYCyAAQYI9IAJBEGoQWA8LIABBgj0gAkEUahBYCyAAQYI9IAJBEGoQWAsgAEGCPSACQQxqEFgPCyAAQYI9IAJBKGoQWAsgAEGCPSACQSRqEFgPCyAAQYI9IAJBHGoQWCAAQYI9IAJBGGoQWA8LIABBgj0gAkEUahBYCyAAQYI9IAJBEGoQWAsgAEGCPSACQQxqEFgLIABBgj0gAkEIahBYDwsgAEEYakGCPSACQQhqEFsPCyADQYI9IAJBDGoQWAskACAAKAIAQQxHBEBB9bMGQae3AkHvFEGT8gEQAQALIAAoAiQL7A8BGH8jAEGwAmsiAyQAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIEBEAgACAAKAIAKAIQEQIABEAgAyAAKAIEIgIpAjg3A/gBIAMgAikCMDcD8AEgAyACKQIoNwPoASADIAIpAiA3A+ABIAMgAikCGDcD2AEgA0GAAmogAkFAaxDjASEEQdSJC0EANgIAQZoBIANBlAJqIAJB1ABqEAIhBUHUiQsoAgAhEUHUiQtBADYCACARQQFGDQIgAyACKAJoNgKoAiADIAIoAmwiAjYCrAIgAgRAIAIgAigCBEEBajYCBAsgA0EBIAMoAuABIgIgAkEAShs2AuABIAMgAykD6AE3AxggAyADKQPwATcDICADIAMpA/gBNwMoIAMgAykD4AE3AxAgA0EBIAMoAtwBIgIgAkEAShs2AtwBQdSJC0EANgIAIAMgAykD2AE3AwhBmwEgA0EwaiAEEAIhBEHUiQsoAgAhAkHUiQtBADYCAAJAIAJBAUcEQEHUiQtBADYCAEGaASADQcQAaiAFEAIhBUHUiQsoAgAhEkHUiQtBADYCACASQQFGDQUgAyADKAKsAiICNgJcIAMgAygCqAI2AlggAgRAIAIgAigCBEEBajYCBAsgA0EANgJ4IAMgAykDEDcChAEgAyADKQMYNwKMASADIAMpAyA3ApQBIAMgAykDKDcCnAEgA0IANwJwIANB/OwJNgJkIAMgAykDCDcCfEHUiQtBADYCACADIAE2AmggAyABQagBajYCbEGbASADQaQBaiAEEAIhAUHUiQsoAgAhAkHUiQtBADYCAAJAIAJBAUcEQEHUiQtBADYCAEGaASADQbgBaiAFEAIaQdSJCygCACETQdSJC0EANgIAIBNBAUcEQCADIAMoAlg2AswBIAMgAygCXCIBNgLQASABBEAgASABKAIEQQFqNgIECyADQQA7AdQBIANBCGoQYSADQQE6ANQBIAAoAgAoAhQhFEHUiQtBADYCACAUIAAQBiEAQdSJCygCACEVQdSJC0EANgIAIBVBAUYNBCADKAJkKAIIIRZB1IkLQQA2AgAgFiADQeQAaiIBIAAQA0HUiQsoAgAhF0HUiQtBADYCACAXQQFGDQRB1IkLQQA2AgBBlwEgARAKQdSJCygCACEYQdSJC0EANgIAIBhBAUYNBCADQfzsCTYCZCADQfwAahBhIAMoAnAiAQRAIAMoAnQiACABIgJHBEADQCAAQQRrIgAoAgAhAiAAQQA2AgAgAgRAIAIgAigCACgCBBEBAAsgACABRw0ACyADKAJwIQILIAMgATYCdCACEFoLIANB2AFqEGEMEAsQACEAIAEQawwBCxAAIQALIANB8ABqEOABIANBCGoQYQwOCxAAIQAMDQsQACEAIANB5ABqEHwaDAwLIAAgATYCfCAAQRRqIQkgASgCGCICIAEoAhwiBEcEQANAIAIoAgAiBSgCDEUEQCAJIAVBIGoQuQoLIAJBBGoiAiAERw0ACwsgASgCDCICIAEoAhAiBUcEQANAIAIoAgAiBCgCDEUEQCAAIAQ2AnggACAEENwOIABBADYCeAsgAkEEaiICIAVHDQALCyABKAIwIgogASgCNCIORg0JIABBHGohDQNAIAooAgAiAigCDARAIAkgAkEUahC5CgsgAigCHCILIAIoAiAiD0cEQCAAKAJsIQYgACgCcCEEIAAoAhghBQNAIAMgCygCACIHNgJkIAQgBmsiEEEDdSICQQAgBWtHDQYgB0UNBwJAIAVBCU0EQCAAIAVBAWoiBjYCGCANIAVBA3RqIgJBgj02AgAgAiADQeQAajYCBCAEIQIgBiEFDAELIAAoAnQiCCAESwRAIARBgj02AgAgBCADQeQAajYCBCAAIARBCGoiAjYCcAwBCyACQQFqIgdBgICAgAJPDQlB/////wEgCCAGayIIQQJ1IgwgByAHIAxJGyAIQfj///8HTxsiB0GAgICAAk8NCiAQIAdBA3QiDBBcIghqIgdBgj02AgAgCCACQQN0aiADQeQAajYCBCAHQQhqIQIgBCAGRwRAA0AgB0EIayIHIARBCGsiBCkCADcCACAEIAZHDQALCyAAIAggDGo2AnQgACACNgJwIAAgBzYCbCAGRQ0AIAYQWiAAKAJwIQIgACgCGCEFC0EAIAVrIAIgACgCbCIGa0EDdUcEQANAAkAgAiAGRgRAIAVFDQ4gDSAFQQFrIgRBA3RqIgUoAgQhAiAFKAIAIQYgACAENgIYDAELIAJBCGsiBCgCACEGIAQoAgQhAiAAIAQ2AnALIAkgAjYCACACKAIARQ0NIAAgAiAGEQAAQQAgACgCGCIFayAAKAJwIgIgACgCbCIGa0EDdUcNAAsLIAIhBCALQQRqIgsgD0cNAAsLIApBBGoiCiAORw0ACwwJC0Ho+gVBuosDQfwDQdrLAhABAAsQACEZIAQQayAZEAcACxAAIQAgBBBrDAgLQc3KBUHTmQNByAJB0PgCEAEAC0GBgwJB05kDQbkCQa73AhABAAsQZAALEGoAC0HexAVBsJQDQdoAQf37AhABAAtB9YICQdOZA0HNAkHQ+AIQAQALIAEoAkgiAiABKAJMIgFHBEADQCACKAIAIgQtABRFBEAgCSAEQRhqELkKCyACQQRqIgIgAUcNAAsLIABBADYCfAsgA0GwAmokAA8LIANB2AFqEGEgABAHAAuBAQEDfyAAQZzaBzYCAAJAAkAgACgCmAEiASAAQYgBaiICRgRAQQQhAyACIQEMAQtBBSEDIAFFDQELIAEgASgCACADQQJ0aigCABEBAAsgACgCbCICBEAgACACNgJwIAIQWgsgAEGQ7Qk2AgAgACwAE0EASARAIAAoAggQWgsgABBaC0EBA38gACgCFCIBBEADQCABKAIAIQMgAUEIahDrAiABEFogAyIBDQALCyAAKAIMIQIgAEEANgIMIAIEQCACEFoLCw0AIABBzNoHNgIAIAAL3gwCDX8CfSADIAJBBnRqIAJBAnZqQceMoo4GayACcyEIAkAgAAJ/AkAgASgCBCIFRQ0AAkAgBWkiCUEBTQRAIAggBUEBa3EhBgwBCyAFIAgiBksNACAGIAVwIQYLIAEoAgAgBkECdGooAgAiB0UNACAHKAIAIgdFDQAgCUEBTQRAIAVBAWshCQNAAkAgCCAHKAIEIgpHBEAgCSAKcSAGRw0EDAELIAcoAgggAkcNACAHKAIQIANHDQBBAAwECyAHKAIAIgcNAAsMAQsDQAJAIAggBygCBCIJRwRAIAUgCU0EfyAJIAVwBSAJCyAGRw0DDAELIAcoAgggAkcNACAHKAIQIANHDQBBAAwDCyAHKAIAIgcNAAsLQRwQXCIHIAQpAgg3AhAgByAEKQIANwIIIAdBADYCGCAHIAg2AgQgB0EANgIAIAFBCGohCSABKgIQIRIgASgCDEEBarMhEwJAAkAgBUUNACASIAWzlCATXQ0AIAYhCAwBC0ECIQYCQCAFIAVBAWtxQQBHIAVBA0lyIAVBAXRyIgICfyATIBKVjSISQwAAgE9dIBJDAAAAAGBxBEAgEqkMAQtBAAsiAyACIANLGyICQQFGDQAgAiACQQFrcUUEQCACIQYMAQtB1IkLQQA2AgBBFSACEAYhBkHUiQsoAgAhDUHUiQtBADYCACANQQFGDQMgASgCBCEFCwJAAkAgBSAGTwRAIAUgBk0NAiAFQQNJIQMCfyABKAIMsyABKgIQlY0iEkMAAIBPXSASQwAAAABgcQRAIBKpDAELQQALIQICQAJAIAMNACAFaUEBSw0AIAJBAUEgIAJBAWtna3QgAkECSRshAgwBC0HUiQtBADYCAEEVIAIQBiECQdSJCygCACEOQdSJC0EANgIAIA5BAUYNBgsgBSAGIAIgAiAGSRsiBk0EQCABKAIEIQUMAwsgBkUNAQsgBkGAgICABE8EQEHUiQtBADYCAEEDEAlB1IkLKAIAIQ9B1IkLQQA2AgAgD0EBRg0FAAtB1IkLQQA2AgBBBCAGQQJ0EAYhA0HUiQsoAgAhEEHUiQtBADYCACAQQQFGDQQgASgCACECIAEgAzYCACACBEAgAhBaCyABIAY2AgRBACEEQQAhBSAGQQRPBEAgBkH8////A3EhAwNAIAVBAnQiAiABKAIAakEANgIAIAEoAgAgAmpBADYCBCABKAIAIAJqQQA2AgggASgCACACakEANgIMIAVBBGoiBSADRw0ACwsgBkEDcSICBEADQCABKAIAIAVBAnRqQQA2AgAgBUEBaiEFIARBAWoiBCACRw0ACwsgASgCCCIFRQRAIAYhBQwCCyAFKAIEIQMCQCAGIAZBAWsiCnEEQCADIAZPBEAgAyAGcCEDCyABKAIAIANBAnRqIAk2AgAgBSgCACIEDQEgBiEFDAMLIAEoAgAgAyAKcSIDQQJ0aiAJNgIAIAUoAgAiAkUEQCAGIQUMAwsDQAJAIAMgAigCBCAKcSIERgRAIAIhBQwBCyAEQQJ0IgsgASgCAGoiDCgCAARAIAUgAigCADYCACACIAEoAgAgC2ooAgAoAgA2AgAgASgCACALaigCACACNgIADAELIAwgBTYCACACIQUgBCEDCyAFKAIAIgINAAsgBiEFDAILA0AgBiAEKAIEIgJNBEAgAiAGcCECCwJAIAIgA0YEQCAEIQUMAQsgAkECdCIKIAEoAgBqIgsoAgBFBEAgCyAFNgIAIAQhBSACIQMMAQsgBSAEKAIANgIAIAQgASgCACAKaigCACgCADYCACABKAIAIApqKAIAIAQ2AgALIAUoAgAiBA0ACyAGIQUMAQsgASgCACECQQAhBSABQQA2AgAgAgRAIAIQWgsgAUEANgIECyAFIAVBAWsiAnFFBEAgAiAIcSEIDAELIAUgCEsNACAIIAVwIQgLAkACQCABKAIAIAhBAnRqIgMoAgAiAkUEQCAHIAEoAgg2AgAgASAHNgIIIAMgCTYCACAHKAIAIgJFDQIgAigCBCECAkAgBSAFQQFrIgNxRQRAIAIgA3EhAgwBCyACIAVJDQAgAiAFcCECCyABKAIAIAJBAnRqIQIMAQsgByACKAIANgIACyACIAc2AgALIAEgASgCDEEBajYCDEEBCzoABCAAIAc2AgAPCxAAIREgBxBaIBEQBwALJAAgACgCAEEMRwRAQfWzBkGntwJB2xRBz/4AEAEACyAAKAIQC7cMAQ5/AkACQAJAAkACQAJAAkAgACgCECICQYACTwRAIAAgAkGAAms2AhAgACgCBCICKAIAIQcgACACQQRqIgE2AgQCQCAAKAIIIgMgACgCDEcNACAAKAIAIgUgAUkEQCADIAFrIQIgASABIAVrQQJ1QQFqQX5tQQJ0IgVqIQQgASADRwRAIAQgASAC/AoAACAAKAIEIQELIAAgAiAEaiIDNgIIIAAgASAFajYCBAwBC0EBIAMgBWtBAXUgAyAFRhsiAkGAgICABE8NAiACQQJ0IgQQXCIGIARqIQggBiACQXxxaiIEIQIgASADRwRAIAQgAyABa2ohAiAEIQMDQCADIAEoAgA2AgAgAUEEaiEBIANBBGoiAyACRw0ACwsgACAINgIMIAAgAjYCCCAAIAQ2AgQgACAGNgIAIAUQWiAAKAIIIQMLDAYLIAAoAggiByAAKAIEIgJrIgUgACgCDCIDIAAoAgAiBGsiAUkEQEGAIBBcIQYgAyAHRwRAIAcgBjYCAAwICwJAIAIgBEcEQCACIQQMAQtBASADIAJrQQF1IAIgB0YiARsiA0GAgICABE8NAiADQQJ0IgQQXCIIIARqIQkgCCADQQNqQXxxaiIEIQcgAUUEQCAEIAVqIQcgBCEBIAIhAwNAIAEgAygCADYCACADQQRqIQMgAUEEaiIBIAdHDQALCyAAIAk2AgwgACAHNgIIIAAgBDYCBCAAIAg2AgAgAkUNACACEFogACgCBCEECyAEQQRrIAY2AgAgACAAKAIEIgFBBGsiAjYCBCACKAIAIQcgACABNgIEAkAgACgCCCIDIAAoAgxHDQAgACgCACIFIAFJBEAgAyABayECIAEgASAFa0ECdUEBakF+bUECdCIFaiEEIAEgA0cEQCAEIAEgAvwKAAAgACgCBCEBCyAAIAIgBGoiAzYCCCAAIAEgBWo2AgQMAQtBASADIAVrQQF1IAMgBUYbIgJBgICAgARPDQIgAkECdCIEEFwiBiAEaiEIIAYgAkF8cWoiBCECIAEgA0cEQCAEIAMgAWtqIQIgBCEDA0AgAyABKAIANgIAIAFBBGohASADQQRqIgMgAkcNAAsLIAAgCDYCDCAAIAI2AgggACAENgIEIAAgBjYCACAFEFogACgCCCEDCwwGC0EBIAFBAXUgAyAERhsiA0GAgICABE8NACADQQJ0IgMQXCEEQdSJC0EANgIAQQRBgCAQBiEGQdSJCygCACEKQdSJC0EANgIAIApBAUYNAgJAIAQgBWoiASADIARqIgNHBEAgASECDAELIAVBAEoEQCABIAVBAXZBAmpBfHFrIQIgASEDDAELQQEgBUEBdSACIAdGGyICQYCAgIAETwRAQdSJC0EANgIAQQMQCUHUiQsoAgAhC0HUiQtBADYCACALQQFGDQMMBgtB1IkLQQA2AgBBBCACQQJ0IgMQBiECQdSJCygCACEMQdSJC0EANgIAIAxBAUYNAiAEEFogAiADaiEDIAAoAgghByACIQQLIAIgBjYCACACQQRqIQEDQCAAKAIEIAdGBEAgACADNgIMIAAgATYCCCAAIAI2AgQgACgCACECIAAgBDYCACACBEAgAhBaCw8LAkAgAiAERwRAIAIhBQwBCwJAIAEgA0kEQCABIAMgAWtBAnVBAWpBAm1BAnRqIgQgASACayIGayEFIAEgAkYNASAFIAIgBvwKAAAMAQsCQEEBIAMgAmtBAXUgAiADRhsiA0GAgICABE8EQEHUiQtBADYCAEEDEAlB1IkLKAIAIQ1B1IkLQQA2AgAgDUEBRw0JDAELQdSJC0EANgIAQQQgA0ECdCIIEAYhBEHUiQsoAgAhDkHUiQtBADYCACAOQQFHBEAgBCADQQNqQXxxaiIFIQYgASACRwRAIAUgASACa2ohBiAFIQEgAiEDA0AgASADKAIANgIAIANBBGohAyABQQRqIgEgBkcNAAsLIAQgCGohAyACEFogBiEBDAMLCxAAIQEgAiEEDAYLIAQhASACIQQLIAVBBGsiAiAHQQRrIgcoAgA2AgAMAAsACxBqAAsQACEBIAYQWgwBCxAAIQELIAQQWiABEAcACwALIAMgBzYCAAsgACAAKAIIQQRqNgIIC4tGA0F/An4CfSMAQZADayIDJAAgAyABNgI8IANBNGoiCkIANwIAIAMgADYCFCADQfjZBzYCECADIANBPGo2AhggAyABNgIsIAMgCjYCMCADIANBEGo2AiACQAJAAkACQAJAAkAgASgCDCIFIAEoAhAiCEcEQAJAA0ACQCAFKAIAIQYgCiIEIQECQAJAIAMoAjQiAkUNAANAIAIiASgCECICIAZLBEAgASEEIAEoAgAiAg0BDAILIAIgBk8NAiABKAIEIgINAAsgAUEEaiEEC0HUiQtBADYCAEEEQaQBEAYhAkHUiQsoAgAhD0HUiQtBADYCACAPQQFGDQEgAiAGNgIQIAJBFGpBAEGMAfwLACACIAE2AgggAkIANwIAIAJBgICA/AM2AqABIAQgAjYCACADKAIwKAIAIgEEQCADIAE2AjAgBCgCACECCyADKAI0IAIQZyADIAMoAjhBAWo2AjgLIAggBUEEaiIFRw0BDAILCxAAIQEMBgsgAygCICIBRQRAQQAhAQwECyABIANBEGpHDQELIAMgA0HIAGoiATYCWCADKAIQKAIMIRBB1IkLQQA2AgAgECADQRBqIAEQA0HUiQsoAgAhEUHUiQtBADYCACARQQFHDQMMAQsgASgCACgCCCESQdSJC0EANgIAIBIgARAGIQFB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRw0BCxAAIQEMAgsgAyABNgJYCwJAAkACQAJAAkAgAygCLCIBKAIMIgUgASgCECIIRwRAAkACQANAAkAgBSgCACIGKAIMBEAgCiIEIQECQAJAIAMoAjQiAkUNAANAIAIiASgCECICIAZLBEAgASEEIAEoAgAiAg0BDAILIAIgBk8EQCABIQIMAwsgASgCBCICDQALIAFBBGohBAtB1IkLQQA2AgBBBEGkARAGIQJB1IkLKAIAIRRB1IkLQQA2AgAgFEEBRg0CIAIgBjYCECACQRRqQQBBjAH8CwAgAiABNgIIIAJCADcCACACQYCAgPwDNgKgASAEIAI2AgAgAiEBIAMoAjAoAgAiCQRAIAMgCTYCMCAEKAIAIQELIAMoAjQgARBnIAMgAygCOEEBajYCOAsgAyAGNgJ4IAMoAlgiAUUEQEHUiQtBADYCAEHFABAJQdSJCygCACEVQdSJC0EANgIAIBVBAUYNBAwHCyABKAIAKAIYIRZB1IkLQQA2AgAgFiABIANB+ABqIAJBFGoQCEHUiQsoAgAhF0HUiQtBADYCACAXQQFGDQELIAggBUEEaiIFRw0BDAMLCxAAIQEMBwsQACEBDAYLIAMoAiwhAQsgA0IANwCpAiADQgA3AswCQQAhAiADQQA6AMgCIANBFDYCxAIgA0KCgICAcDcCvAIgA0IANwK0AiADQYECOwCxAiADQgA3AtQCIANCADcC3AIgA0KAgICAgICAwD83AuQCIANCADcC7AIgA0IANwL0AiADQYCAgPwDNgL8AiADQQA7AYgDIANCADcCgAMgA0IANwKkAiADQfzsCTYCmAIgAyABNgKcAiADIAFBqAFqNgKgAgJAAkACQAJAAkACQCADKAJYIgQEQCADQcgAaiICIARGBEAgAyADQeAAaiIENgJwIAMoAkgoAgwhGEHUiQtBADYCACAYIAIgBBADQdSJCygCACEZQdSJC0EANgIAIBlBAUYNAyADKAJwIQIMAgsgBCgCACgCCCEaQdSJC0EANgIAIBogBBAGIQJB1IkLKAIAIRtB1IkLQQA2AgAgG0EBRg0CCyADIAI2AnALQQAhBCADQQA2AvQBIANCADcC7AEgA0IANwKEASADQgA3AowBIANCADcC5AEgA0IANwJ8IAMgA0EwajYC/AEgAyABNgL4ASADQZzaBzYCeCADQYACaiEFAkAgAgRAIANB4ABqIgEgAkYEQCADIAU2ApACIAMoAmAoAgwhHEHUiQtBADYCACAcIAEgBRADQdSJCygCACEdQdSJC0EANgIAIB1BAUcNAgwJCyACKAIAKAIIIR5B1IkLQQA2AgAgHiACEAYhBEHUiQsoAgAhH0HUiQtBADYCACAfQQFGDQgLIAMgBDYCkAILAkAgAygCfCIBRQ0AIAEgA0GYAmpGDQBB1IkLQQA2AgBBDUHixAZBuosDQeMDQf78ARAFQdSJCygCACEgQdSJC0EANgIAICBBAUcNBgwFCyADIANBmAJqNgJ8IAMoAngoAgghIUHUiQtBADYCACAhIANB+ABqIAMoAiwQA0HUiQsoAgAhIkHUiQtBADYCACAiQQFGDQQgA0Gc2gc2AngCQAJAIAUgAygCkAIiAUYEQEEEIQIgBSEBDAELQQUhAiABRQ0BCyABIAEoAgAgAkECdGooAgARAQALIAMoAuQBIgEEQCADIAE2AugBIAEQWgsgA0GQ7Qk2AnggAywAiwFBAEgEQCADKAKAARBaCwJAAkAgAygCcCIBIANB4ABqIgRGBEBBBCECIAQhAQwBC0EFIQIgAUUNAQsgASABKAIAIAJBAnRqKAIAEQEACyADQfzsCTYCmAIgA0GwAmoQYSADKAKkAiIEBEAgAygCqAIiASAEIgJHBEADQCABQQRrIgEoAgAhAiABQQA2AgAgAgRAIAIgAigCACgCBBEBAAsgASAERw0ACyADKAKkAiECCyADIAQ2AqgCIAIQWgsgAygCWCIBIANByABqIgRHDQFBBCECIAQhAQwCCxAAIQEMBwtBBSECIAFFDQELIAEgASgCACACQQJ0aigCABEBAAsCQAJAIAMoAiAiASADQRBqIgRGBEBBBCECIAQhAQwBC0EFIQIgAUUNAQsgASABKAIAIAJBAnRqKAIAEQEACyADQgA3A6ACIANCADcDmAIgA0GAgID8AzYCqAIgA0IANwOYASADQZABaiIGQgA3AwAgA0IANwOIASADQgA3A4ABIANBgICA/AM2AqABIANCADcDeAJAAkACQAJAAkACQAJAAkAgAygCMCIFIApGDQADQAJAIAUoApgBIgRFDQADQAJAIAUoAhApAgAhQyADIAQpAggiRDcDaCADIEM3A2AgAygCjAEgAygCiAFqIgIgAygCgAEiCCADKAJ8IgFrQQZ0QQFrQQAgASAIRxtGBEBB1IkLQQA2AgBB/jwgA0H4AGoQCkHUiQsoAgAhI0HUiQtBADYCACAjQQFGDQEgAygCiAEgAygCjAFqIQIgAygCfCEBCyABIAJBBnZB/P//H3FqKAIAIAJB/wFxQQR0aiIBIAMpA2A3AgAgASADKQNoNwIIIAMgAygCjAFBAWo2AowBQdSJC0EANgIAQf88IANByABqIAYgQ6cgRKcgA0HgAGoQDEHUiQsoAgAhJEHUiQtBADYCACAkQQFGDQAgAygCSCIBIAEoAhhBAWo2AhggBCgCACIEDQEMAgsLEAAhAQwJCwJAIAUoAgQiAgRAA0AgAiIBKAIAIgINAAwCCwALA0AgBSgCCCIBKAIAIAVHISUgASEFICUNAAsLIAogASIFRw0ACyADKAKMAUUNACADQdAAaiEJA0AgAygCjAFFBEBB1IkLQQA2AgBBDUGr9wVBx54DQTRB77oCEAVB1IkLKAIAISZB1IkLQQA2AgAgJkEBRw0LEAAhAQwJCyAJIAMoAnwgAygCiAEiAUEGdkH8//8fcWooAgAgAUH/AXFBBHRqIgEpAggiQzcDACADIAEpAgAiRDcDSEHUiQtBADYCAEH/PCADQeAAaiAGIESnIgEgQ6ciBSADQcgAahAMQdSJCygCACECQdSJC0EANgIAAkACQAJAAkAgAkEBRg0AIAMoAmAiAiACKAIYQQFrNgIYIAMgAygCjAFBAWs2AowBIAMgAygCiAFBAWoiAjYCiAEgAkGABE8EQCADKAJ8KAIAEFogAyADKAJ8QQRqNgJ8IAMgAygCiAFBgAJrNgKIAQtB1IkLQQA2AgBB/zwgA0HgAGoiAiAGIAEgBSADQcgAahAMQdSJCygCACEnQdSJC0EANgIAICdBAUYNACADKAJgKAIYDQRB1IkLQQA2AgBBgD0gAiADQZgCaiAFIAkQBUHUiQsoAgAhKEHUiQtBADYCACAoQQFGDQIgAygCYCIEKAIUIgJFDQECQCACaUEBSyIHRQRAIAJBAWsgAXEhCAwBCyACIAEiCEsNACABIAJwIQgLIAQoAhAgCEECdGooAgAiBEUNASAEKAIAIgRFDQECQCAHRQRAIAJBAWshAgNAAkAgASAEKAIEIgdHBEAgAiAHcSAIRg0BDAYLIAQoAgggAUYNAwsgBCgCACIEDQALDAMLA0ACQCABIAQoAgQiB0cEQCACIAdNBH8gByACcAUgBwsgCEYNAQwFCyAEKAIIIAFGDQILIAQoAgAiBA0ACwwCC0HUiQtBADYCAEENQfTgBUG9igJBggFB2ssCEAVB1IkLKAIAISlB1IkLQQA2AgAgKUEBRw0OEAAhAQwMCxAAIQEMCwtB1IkLQQA2AgBBgD0gA0HgAGogA0GYAmogBSAJEAVB1IkLKAIAISpB1IkLQQA2AgAgKkEBRw0BCxAAIQEMCQtB1IkLQQA2AgBB9gAgA0HgAGogAygCYEEQaiABIAMpA0gQqAJB1IkLKAIAIStB1IkLQQA2AgAgK0EBRg0HIAMoAjwiASgC2AEhAiABKALUASEBQdSJC0EANgIAQagBIAEgAiADKQNQEPEBIQRB1IkLKAIAISxB1IkLQQA2AgAgLEEBRg0GIAoiBSEBAkACQCADKAI0IgJFDQADQCACIgEoAhAiAiAESwRAIAEhBSABKAIAIgINAQwCCyACIARPBEAgASECDAMLIAEoAgQiAg0ACyABQQRqIQULQdSJC0EANgIAQQRBpAEQBiECQdSJCygCACEtQdSJC0EANgIAIC1BAUYNByACIAQ2AhAgAkEUakEAQYwB/AsAIAIgATYCCCACQgA3AgAgAkGAgID8AzYCoAEgBSACNgIAIAIhASADKAIwKAIAIgQEQCADIAQ2AjAgBSgCACEBCyADKAI0IAEQZyADIAMoAjhBAWo2AjgLIAIoApgBIggEQCADKQNIIkSnIQsgAygCSCECA0AgAyAIKQIIIkM3AwhB1IkLQQA2AgBBgD0gA0HgAGogA0GYAmogQ6ciDCADQQhqEAVB1IkLKAIAIS5B1IkLQQA2AgAgLkEBRg0EAkACQCADKAJgIgEoAhQiBUUNACABKAIQAn8gBUEBayACcSAFaUEBSyIERQ0AGiACIAIgBUkNABogAiAFcAsiB0ECdGooAgAiAUUNACABKAIAIgFFDQAgBEUEQCAFQQFrIQUDQAJAIAIgASgCBCIERwRAIAQgBXEgB0YNAQwECyABKAIIIAJGDQQLIAEoAgAiAQ0ACwwBCwNAAkAgAiABKAIEIgRHBEAgBCAFTwR/IAQgBXAFIAQLIAdGDQEMAwsgASgCCCACRg0DCyABKAIAIgENAAsLIAMgQzcDaCADIEQ3A2AgAygCjAEgAygCiAFqIgQgAygCgAEiByADKAJ8IgFrQQZ0QQFrQQAgASAHRxtGBEBB1IkLQQA2AgBB/jwgA0H4AGoQCkHUiQsoAgAhL0HUiQtBADYCACAvQQFGDQYgAygCiAEgAygCjAFqIQQgAygCfCEBCyABIARBBnZB/P//H3FqKAIAIARB/wFxQQR0aiIBIAMpA2A3AgAgASADKQNoNwIIIAMgAygCjAFBAWo2AowBQdSJC0EANgIAQf88IANBQGsgBiALIAwgA0HgAGoQDEHUiQsoAgAhMEHUiQtBADYCACAwQQFGDQUgAygCQCIBIAEoAhhBAWo2AhgLIAgoAgAiCA0ACwsgAygCjAENAAsLIAMoAjAiBiAKRg0DA0AgBigCECIBKAIAIQJB1IkLQQA2AgBBgD0gA0HgAGogA0GYAmogAiABEAVB1IkLKAIAITFB1IkLQQA2AgAgMUEBRg0CAkAgAygCYCIBKAIUIgVFDQAgASgCEAJ/IAYoAhAoAgAiAiAFQQFrcSAFaUEBSyIERQ0AGiACIAIgBUkNABogAiAFcAsiCEECdGooAgAiAUUNACABKAIAIgFFDQACQCAERQRAIAVBAWshBQNAAkAgAiABKAIEIgRHBEAgBCAFcSAIRg0BDAULIAEoAgggAkYNAwsgASgCACIBDQALDAILA0ACQCACIAEoAgQiBEcEQCAEIAVPBH8gBCAFcAUgBAsgCEYNAQwECyABKAIIIAJGDQILIAEoAgAiAQ0ACwwBCyAGLQCMAUUNACAGQQE6AGQLAkAgBigCBCICBEADQCACIgEoAgAiAg0ADAILAAsDQCAGKAIIIgEoAgAgBkchMiABIQYgMg0ACwsgCiABIgZHDQALDAILEAAhAQwFCxAAIQEMBAsgAygCMCIJIApGDQADQCAJKAIQIgEoAgAhAkHUiQtBADYCAEGAPSADQeAAaiADQZgCaiACIAEQBUHUiQsoAgAhAUHUiQtBADYCAAJAIAFBAUcEQCADKAJgKAIYIghFDQEgCUEUaiELAkADQCADKAI8IgEoAtgBIQIgASgC1AEhASAIKQIIIUNB1IkLQQA2AgBBqAEgASACIEMQ8QEhBkHUiQsoAgAhM0HUiQtBADYCACAzQQFGDQEgCiIEIQECQAJAIAMoAjQiAkUNAANAIAIiASgCECICIAZLBEAgASEEIAEoAgAiAg0BDAILIAIgBk8EQCABIQUMAwsgASgCBCICDQALIAFBBGohBAtB1IkLQQA2AgBBBEGkARAGIQVB1IkLKAIAITRB1IkLQQA2AgAgNEEBRg0CIAUgBjYCECAFQRRqQQBBjAH8CwAgBSABNgIIIAVCADcCACAFQYCAgPwDNgKgASAEIAU2AgAgBSEGIAMoAjAoAgAiAQRAIAMgATYCMCAEKAIAIQYLIAYgBiADKAI0IgdGIgE6AAwCQCABDQADQCAGKAIIIgItAAwNAQJAIAIgAigCCCIBKAIAIgRGBEACQCABKAIEIgRFDQAgBC0ADA0ADAILAkAgBiACKAIARgRAIAIhBgwBCyACIAIoAgQiBigCACIHNgIEIAIhBCAHBEAgByACNgIIIAIoAggiASgCACEECyAGIAE2AgggASABQQRqIAIgBEYbIAY2AgAgBiACNgIAIAIgBjYCCCAGKAIIIgEoAgAhAgsgBkEBOgAMIAFBADoADCABIAIoAgQiBDYCACAEBEAgBCABNgIICyACIAEoAggiBDYCCCAEIAQoAgAgAUdBAnRqIAI2AgAgAiABNgIEIAEgAjYCCAwDCwJAIARFDQAgBC0ADA0ADAELAkAgBiACKAIARwRAIAIhBgwBCyACIAYoAgQiBDYCACAEBEAgBCACNgIIIAIoAgghAQsgBiABNgIIIAEgAUEEaiABKAIAIAJGGyAGNgIAIAYgAjYCBCACIAY2AgggBigCCCEBCyAGQQE6AAwgAUEAOgAMIAEgASgCBCICKAIAIgQ2AgQgBARAIAQgATYCCAsgAiABKAIIIgQ2AgggBCAEKAIAIAFHQQJ0aiACNgIAIAIgATYCACABIAI2AggMAgsgAkEBOgAMIAEgASAHRjoADCAEQQE6AAwgByABIgZHDQALCyADIAMoAjhBAWo2AjgLAkACQCAFLQCMAUUNACAJLQCMAUUEQCAFKAKEARBgIAUoAngQYCAFKAJUEGAgBSgCSBBgIAUoAjwQbyAFKAIwEG8CQCAFKAIcIgFFDQAgASABKAIEIgJBAWs2AgQgAg0AIAEgASgCACgCCBEBACABEHULIAVBADoAjAEMAQtB1IkLQQA2AgBB4gkgBUEUaiALEANB1IkLKAIAITVB1IkLQQA2AgAgNUEBRg0BCyAIKAIAIggNAQwECwsQACEBDAcLEAAhAQwGCxAAIQEMBQsCQCAJKAIEIgIEQANAIAIiASgCACICDQAMAgsACwNAIAkoAggiASgCACAJRyE2IAEhCSA2DQALCyAKIAEiCUcNAAsLIAAoAgQiC0EANgJoIAsoAmwhACALQQA2AmwCQCAARQ0AIAAgACgCBCIBQQFrNgIEIAENACAAIAAoAgAoAggRAQAgABB1CwJAIAMoAjAiBiAKRg0AAkADQAJAAkAgBi0AjAFFDQACQCALKAJoDQBB1IkLQQA2AgBBBEEgEAYhAEHUiQsoAgAhN0HUiQtBADYCACA3QQFGDQQgAEIANwIMIABBzNoHNgIAIABCADcCBCAAQgA3AhQgAEGAgID8AzYCHCALIABBDGo2AmggCygCbCEBIAsgADYCbCABRQ0AIAEgASgCBCIAQQFrNgIEIAANACABIAEoAgAoAggRAQAgARB1CyAGKAIQIggoAgAhAAJAIAsoAmgiBygCBCIERQ0AAkAgBGlBAUsiAUUEQCAEQQFrIABxIQUMAQsgACIFIARJDQAgBSAEcCEFCyAHKAIAIAVBAnRqKAIAIgJFDQAgAigCACICRQ0AIAFFBEAgBEEBayEBA0ACQCAAIAIoAgQiCUcEQCABIAlxIAVGDQEMBAsgAigCCCAARg0ECyACKAIAIgINAAsMAQsDQAJAIAAgAigCBCIBRwRAIAEgBE8EfyABIARwBSABCyAFRg0BDAMLIAIoAgggAEYNAwsgAigCACICDQALC0HUiQtBADYCAEEEQYgBEAYhAUHUiQsoAgAhOEHUiQtBADYCACA4QQFGDQEgA0EAOgBoIAMgB0EIaiIMNgJkIAMgATYCYCABIAgpAgA3AghB1IkLQQA2AgBBgT0gAUEQaiAGQRRqEAIaQdSJCygCACE5QdSJC0EANgIAIDlBAUYEQBAAIQEgA0HgAGoQugoMCAsgA0EBOgBoIAFBADYCACABIAA2AgQgByoCECFFIAcoAgxBAWqzIUYCQCAEBEAgRSAEs5QgRl1FDQELQQIhCAJAAkACQCAEIARBAWtxQQBHIARBA0lyIARBAXRyIgECfyBGIEWVjSJFQwAAgE9dIEVDAAAAAGBxBEAgRakMAQtBAAsiAiABIAJLGyIBQQFGDQAgASABQQFrcUUEQCABIQgMAQtB1IkLQQA2AgBBFSABEAYhCEHUiQsoAgAhOkHUiQtBADYCACA6QQFGDQELAkACQCAHKAIEIgQgCE8EQCAEIAhNDQIgBEEDSSECAn8gBygCDLMgByoCEJWNIkVDAACAT10gRUMAAAAAYHEEQCBFqQwBC0EACyEBAkACQCACDQAgBGlBAUsNACABQQFBICABQQFrZ2t0IAFBAkkbIQIMAQtB1IkLQQA2AgBBFSABEAYhAkHUiQsoAgAhO0HUiQtBADYCACA7QQFGDQQLIAQgCCACIAIgCEkbIghNBEAgBygCBCEEDAMLIAhFDQELIAhBgICAgARPBEBB1IkLQQA2AgBBAxAJQdSJCygCACE8QdSJC0EANgIAIDxBAUcNDwwDC0HUiQtBADYCAEEEIAhBAnQQBiECQdSJCygCACE9QdSJC0EANgIAID1BAUYNAiAHKAIAIQEgByACNgIAIAEEQCABEFoLIAcgCDYCBEEAIQVBACECIAhBBE8EQCAIQfz///8DcSEEA0AgAkECdCIBIAcoAgBqQQA2AgAgBygCACABakEANgIEIAcoAgAgAWpBADYCCCAHKAIAIAFqQQA2AgwgAkEEaiICIARHDQALCyAIQQNxIgEEQANAIAcoAgAgAkECdGpBADYCACACQQFqIQIgBUEBaiIFIAFHDQALCyAHKAIIIgJFBEAgCCEEDAILIAIoAgQhCQJAIAggCEEBayIFcQRAIAggCU0EQCAJIAhwIQkLIAcoAgAgCUECdGogDDYCACACKAIAIgUNASAIIQQMAwsgBygCACAFIAlxIglBAnRqIAw2AgAgAigCACIERQRAIAghBAwDCwNAAkAgCSAEKAIEIAVxIgFGBEAgBCECDAELIAFBAnQiDSAHKAIAaiIOKAIABEAgAiAEKAIANgIAIAQgBygCACANaigCACgCADYCACAHKAIAIA1qKAIAIAQ2AgAMAQsgDiACNgIAIAQhAiABIQkLIAIoAgAiBA0ACyAIIQQMAgsDQCAIIAUoAgQiBE0EQCAEIAhwIQQLAkAgBCAJRgRAIAUhAgwBCyAEQQJ0IgEgBygCAGoiDSgCAEUEQCANIAI2AgAgBSECIAQhCQwBCyACIAUoAgA2AgAgBSAHKAIAIAFqKAIAKAIANgIAIAcoAgAgAWooAgAgBTYCAAsgAigCACIFDQALIAghBAwBCyAHKAIAIQEgB0EANgIAIAEEQCABEFoLQQAhBCAHQQA2AgQLIAQgBEEBayIBcUUEQCAAIAFxIQUMAwsgACAETw0BIAAhBQwCCxAAIQEgA0HgAGoQugoMCQsgACAEcCEFCyADKAJgIQACQCAFQQJ0IgUgBygCAGooAgAiAUUEQCAAIAcoAgg2AgAgByADKAJgNgIIIAcoAgAgBWogDDYCACADKAJgIgUoAgAiAEUNASAAKAIEIQICQCAEIARBAWsiAHFFBEAgACACcSECDAELIAIgBEkNACACIARwIQILIAcoAgAgAkECdGogBTYCAAwBCyAAIAEoAgA2AgAgASADKAJgNgIACyAHIAcoAgxBAWo2AgwLAkAgBigCBCICBEADQCACIgEoAgAiAg0ADAILAAsDQCAGKAIIIgEoAgAgBkchPiABIQYgPg0ACwsgCiABIgZHDQEMAwsLEAAhAQwECxAAIQEMAwsgAygCmAEiAQRAA0AgASgCACE/IAEQWiA/IgENAAsLIAMoApABIQAgA0EANgKQASAABEAgABBaCyADQQA2AowBIAMoAoABIgIgAygCfCIBa0ECdSIGQQNPBEADQCABKAIAEFogAyADKAJ8QQRqIgE2AnwgAygCgAEiAiABa0ECdSIGQQJLDQALC0GAASEEAkACQAJAIAZBAWsOAgEAAgtBgAIhBAsgAyAENgKIAQsCQCABIAJGDQADQCABKAIAEFogAUEEaiIBIAJHDQALIAMoAoABIgAgAygCfCIBRg0AIAMgACABIABrQQNqQXxxajYCgAELIAMoAngiAARAIAAQWgsgAygCoAIiBgRAA0AgBigCACFBIAYoAhgiAQRAA0AgASgCACFAIAEQWiBAIgENAAsLIAYoAhAhASAGQQA2AhAgAQRAIAEQWgsgBhBaIEEiBg0ACwsgAygCmAIhACADQQA2ApgCIAAEQCAAEFoLIAMoAjQQiwcgA0GQA2okAA8LEAAhAQwBCxAAIQELIAMoApgBIgAEQANAIAAoAgAhQiAAEFogQiIADQALCyADKAKQASEAIANBADYCkAEgAARAIAAQWgsgA0EANgKMASADKAKAASICIAMoAnwiAGtBAnUiBEEDTwRAA0AgACgCABBaIAMgAygCfEEEaiIANgJ8IAMoAoABIgIgAGtBAnUiBEECSw0ACwtBgAEhBQJAAkACQCAEQQFrDgIBAAILQYACIQULIAMgBTYCiAELAkAgACACRg0AA0AgACgCABBaIABBBGoiACACRw0ACyADKAKAASIAIAMoAnwiAkYNACADIAAgAiAAa0EDakF8cWo2AoABCyADKAJ4IgAEQCAAEFoLIANBmAJqEO4LIAMoAjQQiwcMBwsQACEBIANB+ABqEN0OGgwCCwALEAAhASADQfgAahDkARoLAkAgAygCcCICIANB4ABqIgBGBEBBBCEGIAAhAgwBC0EFIQYgAkUNAQsgAiAC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xZgDQZQGQY3eABABAAsgACABEIoCCywAIAEoAgAiASgCAEHGAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIoCCywAIAEoAgAiASgCAEHFAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIoCCywAIAEoAgAiASgCAEHEAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIoCCywAIAEoAgAiASgCAEHDAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIoCCywAIAEoAgAiASgCAEHCAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIoCCywAIAEoAgAiASgCAEHBAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIoCCywAIAEoAgAiASgCAEHAAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIoCCysAIAEoAgAiASgCAEE/RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQigILagEEfyMAQSBrIgIkACACQQU2AhggAiABOQMIQdSJC0EANgIAQeIAIAAgAkEIaiIAEANB1IkLKAIAIQRB1IkLQQA2AgAgBEEBRwRAIAAQWRogAkEgaiQADwsQACEFIAJBCGoQWRogBRAHAAsrACABKAIAIgEoAgBBPkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIoCCysAIAEoAgAiASgCAEE9RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQigILKwAgASgCACIBKAIAQTxHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCKAgsrACABKAIAIgEoAgBBO0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIoCCysAIAEoAgAiASgCAEE6RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQigILKwAgASgCACIBKAIAQTlHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCKAgsrACABKAIAIgEoAgBBOEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIoCCysAIAEoAgAiASgCAEEoRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQigILKwAgASgCACIBKAIAQRdHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCKAgsrACABKAIAIgEoAgBBFkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIoCC4IBAQN/IwBBMGsiAiQAIAJBAjYCECACIAE2AgAgAkEENgIoIAIgATYCGEHUiQtBADYCAEHiACAAIAJBGGoiABADQdSJCygCACEDQdSJC0EANgIAIANBAUcEQCAAEFkaIAIQWRogAkEwaiQADwsQACEEIAJBGGoQWRogAhBZGiAEEAcACysAIAEoAgAiASgCAEE3RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQigILKwAgASgCACIBKAIAQTZHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCKAgsrACABKAIAIgEoAgBBNUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIoCCysAIAEoAgAiASgCAEE0RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQigILKwAgASgCACIBKAIAQTNHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCKAgsrACABKAIAIgEoAgBBMkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIoCCysAIAEoAgAiASgCAEExRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQigILKwAgASgCACIBKAIAQTBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCKAgsrACABKAIAIgEoAgBBL0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIoCCysAIAEoAgAiASgCAEEuRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQigIL2wMBAn8gACABKAIQIgI2AgACQAJAAkACQAJAAkACQCACQQJPBEAgAkEHSQ0BIAIoAgQiA0EBRg0DIAMNAgtBp5kGQae3AkE2QbXyAhABAAsCQAJAAkACQAJAIAJBAmsOBQcAAQIDBAsgACABKQMANwMIDwsgACABKAIANgIIDwsgACABKQMANwMIDwsgACABKQAANwAIIAAgASkACDcAEA8LQe+EBEGntwJBygAQYgALQd/+BUGntwJBzQBBtfICEAEACyACKAIIIgNBD00EQCADQQxrQQRJDQICQAJAAkACQCADQQFrDgsCAgIAAgICAwMDAwELQYu/BUGntwJB0gAQYgALQe+4AUGntwJB1AAQYgALQdSEBEGntwJB2wAQYgALQYW5AUGntwJB4AAQYgALIAMoAhBFBEAgASgCACIBRQ0DIAAgATYCCA8LAn9BACEBAkACQCACQQdJDQAgAigCBEEBRw0AIAIoAggiAEEPSw0BIABBCU8NAEHgAiAAdkEBcSEBCyABDAELIAAoAhBBfnFBAkYLRQ0DQfTvBEGntwJB7gAQYgALIAAgASgCADYCCAsPC0G6/AVB5poDQa4CQeXmBBABAAtBwaEGQae3AkHtAEG18gIQAQALEgAgAEEIakG01QVBAhBfGiAACysAIAEoAgAiASgCAEEtRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQigILKwAgASgCACIBKAIAQSxHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCKAgsrACABKAIAIgEoAgBBK0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIoCCysAIAEoAgAiASgCAEEqRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQigILKwAgASgCACIBKAIAQSlHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCKAgsrACABKAIAIgEoAgBBFUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIoCCysAIAEoAgAiASgCAEEURwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQigILKwAgASgCACIBKAIAQRNHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCKAgsrACABKAIAIgEoAgBBEkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIoCCysAIAEoAgAiASgCAEERRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQigILagEEfyMAQSBrIgIkACACQQQ2AhggAiABOAIIQdSJC0EANgIAQeIAIAAgAkEIaiIAEANB1IkLKAIAIQRB1IkLQQA2AgAgBEEBRwRAIAAQWRogAkEgaiQADwsQACEFIAJBCGoQWRogBRAHAAsrACABKAIAIgEoAgBBEEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIoCCysAIAEoAgAiASgCAEEPRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQigILKwAgASgCACIBKAIAQQ5HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCKAgsrACABKAIAIgEoAgBBJ0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIoCCysAIAEoAgAiASgCAEEmRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQigILKwAgASgCACIBKAIAQSVHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCKAgsrACABKAIAIgEoAgBBJEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIoCCysAIAEoAgAiASgCAEEjRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQigILKwAgASgCACIBKAIAQSJHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCKAgsrACABKAIAIgEoAgBBIUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIoCCysAIAEoAgAiASgCAEEgRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQigILKwAgASgCACIBKAIAQR9HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCKAgsrACABKAIAIgEoAgBBHkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIoCCysAIAEoAgAiASgCAEEdRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQigILKwAgASgCACIBKAIAQRxHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCKAgsrACABKAIAIgEoAgBBG0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIoCCysAIAEoAgAiASgCAEEaRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQigILKwAgASgCACIBKAIAQRlHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCKAgsrACABKAIAIgEoAgBBGEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIoCCysAIAEoAgAiASgCAEENRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQigILKwAgASgCACIBKAIAQQxHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCKAgsrACABKAIAIgEoAgBBC0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIoCCysAIAEoAgAiASgCAEEKRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQigILKwAgASgCACIBKAIAQQlHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCKAgsrACABKAIAIgEoAgBBCEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIoCCysAIAEoAgAiASgCAEEHRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQigILKwAgASgCACIBKAIAQQZHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCKAgsrACABKAIAIgEoAgBBBUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIoCCysAIAEoAgAiASgCAEEERwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQigILKwAgASgCACIBKAIAQQNHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCKAgsrACABKAIAIgEoAgBBAkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIoCCysAIAEoAgAiASgCAEEBRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQigILVABB4AEQXCIAQQBBuAH8CwAgAEIANwK4ASAAQYjYBzYCACAAQgA3AsABIABCADcCzAEgAEGAgID8AzYCyAEgAEIANwLUASAAQYCAgPwDNgLcASAAC5UBAQF/IAAoAgQEQCAAIAI2AnggACABNgJ8IABBFGogAkEwahCOByACKAIwIgMhASADKAIEQQJPBEAgACgCfEGoAWpBDEEEEF0iASADNgIIIAFCk4CAgBA3AgAgAiABNgIwCyACIAAgAyABELcINgIwIAIgACgCfBCCBSAAQgA3AngPC0Ho+gVBuosDQZwEQe7TAhABAAvfIQEQfyABKAIABEACQCAAQRhqIgdBzjogARBbIAAhAwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEoAgAiAigCAA5eAAECAwQFBgcICQoLDA0eHyAhIiMkJTU2Dg8QERITFBUWFxgZGhscHTcmJygp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DQALC0EACxUAIAFBgNYHNgIAIAEgACgCBDYCBAsdAQF/QQgQXCIBQYDWBzYCACABIAAoAgQ2AgQgAQuxIQEOfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgASgCACICKAIADl4AAQIDBAUGBwgJCgsMDR4fICEiIyQlNTYODxAREhMUFRYXGBkaGxwdNyYnKCkqKywtLi8wMTIzNDg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaW1wAXQtBmP0DQeWzA0HqARBiAAsgAEEUakHtOSABEFggAigCAEEBRw1cIAIoAhQiAUEATA1bIABBGGohAwNAIAFBAWsiACACKAIUTw1eIAIoAhAgAEECdGoiBCgCAEUNXyADQew5IAQQWyABQQFLIQYgACEBIAYNAAsMWwsgAEEUaiIDQe45IAEQWCACKAIAQQJHDVsgAigCEARAIABBGGpB7DkgAkEQahBbCyADQew5IAJBDGoQWCADQew5IAJBCGoQWA8LIABBFGoiAEHvOSABEFggAigCAEEDRw1aDGALIABBFGpB8DkgARBYIAIoAgBBBEcNWSACKAIUBEAgAEEYakHsOSACQRRqEFsLIAIoAhBFDVggAEEYakHsOSACQRBqEFsPCyAAQRRqIgNB8TkgARBYIAIoAgBBBUcNWCADQew5IAJBJGoQWCACKAIgRQ1XIABBGGpB7DkgAkEgahBbDwsgAEEUakHyOSABEFggAigCAEEGRw1XIAIoAgwiAUEATA1WIABBGGohAwNAIAFBAWsiACACKAIMTw1ZIAIoAgggAEECdGoiBCgCAEUNWiADQew5IAQQWyABQQFLIQcgACEBIAcNAAsMVgsgAEEUaiIDQfM5IAEQWCACKAIAQQdHDVYgA0HsOSACQRxqEFggAigCECIBQQBM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CygCACERQdSJC0EANgIAIBFBAUYNAiADIAIoAmg2AqgCIAMgAigCbCICNgKsAiACBEAgAiACKAIEQQFqNgIECyADQQEgAygC4AEiAiACQQBKGzYC4AEgAyADKQPoATcDGCADIAMpA/ABNwMgIAMgAykD+AE3AyggAyADKQPgATcDECADQQEgAygC3AEiAiACQQBKGzYC3AFB1IkLQQA2AgAgAyADKQPYATcDCEGbASADQTBqIAQQAiEEQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBxABqIAUQAiEFQdSJCygCACESQdSJC0EANgIAIBJBAUYNBSADIAMoAqwCIgI2AlwgAyADKAKoAjYCWCACBEAgAiACKAIEQQFqNgIECyADQQA2AnggAyADKQMQNwKEASADIAMpAxg3AowBIAMgAykDIDcClAEgAyADKQMoNwKcASADQgA3AnAgA0H87Ak2AmQgAyADKQMINwJ8QdSJC0EANgIAIAMgATYCaCADIAFBqAFqNgJsQZsBIANBpAFqIAQQAiEBQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBuAFqIAUQAhpB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRwRAIAMgAygCWDYCzAEgAyADKAJcIgE2AtABIAEEQCABIAEoAgRBAWo2AgQLIANBADsB1AEgA0EIahBhIANBAToA1AEgACgCACgCFCEUQdSJC0EANgIAIBQgABAGIQBB1IkLKAIAIRVB1IkLQQA2AgAgFUEBRg0EIAMoAmQoAgghFkHUiQtBADYCACAWIANB5ABqIgEgABADQdSJCygCACEXQdSJC0EANgIAIBdBAUYNBEHUiQtBADYCAEGXASABEApB1IkLKAIAIRhB1IkLQQA2AgAgGEEBRg0EIANB/OwJNgJkIANB/ABqEGEgAygCcCIBBEAgAygCdCIAIAEiAkcEQANAIABBBGsiACgCACECIABBADYCACACBEAgAiACKAIAKAIEEQEACyAAIAFHDQALIAMoAnAhAgsgAyABNgJ0IAIQWgsgA0HYAWoQYQwQCxAAIQAgARBrDAELEAAhAAsgA0HwAGoQ4AEgA0EIahBhDA4LEAAhAAwNCxAAIQAgA0HkAGoQfBoMDAsgACABNgJ8IABB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DBQLIABBFGoiAEGVOCABEFggAigCAEHNAEcNEAwTCyAAQRRqIgBBljggARBYIAIoAgBBzgBHDQ8MGAsgAEEUaiIDQZc4IAEQWCACKAIAQc8ARw0OIAIoAhgEQCAAQRhqQcg3IAJBGGoQWwsgAigCFARAIABBGGpByDcgAkEUahBbCyACKAIQBEAgAEEYakHINyACQRBqEFsLDCALIABBFGpBmDggARBYIAIoAgBB0ABGDQwMDQsgAEEUaiIAQZk4IAEQWCACKAIAQdEARw0MDBULIABBFGoiA0GaOCABEFggAigCAEHSAEcNCyACKAIUBEAgAEEYakHINyACQRRqEFsLIANByDcgAkEQahBYDB0LIABBFGoiAEGbOCABEFggAigCAEHTAEcNCgwZCyAAQRRqIgBBnDggARBYIAIoAgBB1ABHDQkMEQsgAEEUaiIAQZ04IAEQWCACKAIAQdUARw0IDBELIABBFGoiAEGeOCABEFggAigCAEHWAEcNBwwVCyAAQRRqIgBBnzggARBYIAIoAgBB1wBHDQYMFQsgAEEUaiIAQaA4IAEQWCACKAIAQdgARw0FDBULIABBFGoiAEGhOCABEFggAigCAEHZAEcNBAwMCyAAQRRqIgBBojggARBYIAIoAgBB2gBHDQMMCgsgAEEUaiIAQaM4IAEQWCACKAIAQdsARw0CDBELIABBFGoiA0GkOCABEFggAigCAEHcAEcNASADQcg3IAJBPGoQWCACKAIwIgFBAEwNACAAQRhqIQMDQCABQQFrIgAgAigCME8NAyACKAIsIABBAnRqIgQoAgBFDQQgA0HINyAEEFsgAUEBSyEPIAAhASAPDQALCw8LQfDtBUHFmANBlAZBjd4AEAEAC0HFogFBiaIDQbwBQaaIBRABAAtBgYMCQdOZA0G5AkGu9wIQAQALIABByDcgAkEcahBYCyAAQcg3IAJBGGoQWAsgAEHINyACQRRqEFgLIABByDcgAkEQahBYDwsgAEHINyACQRRqEFgLIABByDcgAkEQahBYCyAAQcg3IAJBDGoQWA8LIABByDcgAkEoahBYCyAAQcg3IAJBJGoQWA8LIABByDcgAkEcahBYIABByDcgAkEYahBYDwsgAEHINyACQRRqEFgLIABByDcgAkEQahBYCyAAQcg3IAJBDGoQWAsgAEHINyACQQhqEFgP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CwNAIAUoAggiAigCACAFRyEfIAIhBSAfDQALCyAIIAIiBUcNAAsMAwsQACECDAgLEAAhAgwHCxAAIQICQCAEKAKYASIDIARBiAFqIgFGBEBBBCEAIAEhAwwBC0EFIQAgA0UNBwsgAyADKAIAIABBAnRqKAIAEQEADAYLAkAgBCgCuAEiAkUNAANAAkACQCACLQAQBEAgAi0AEUUNAQsgAigCFC0ADA0BCyACKAIAIgINAQwCCwsgBEEANgJ8IARCADcCdCAEQgA3AhAgBEEANgIYIARCADcCbCAEQgA3AgggBEEAOgCEASAEQczUBzYCACAEIARBsAFqNgKAASAAKAIEIQBB1IkLQQA2AgAgBCAANgIEQcc3IAQgARADQdSJCygCACEgQdSJC0EANgIAICBBAUYNBCAEKAJsIgAEQCAEIAA2AnAgABBaCyAEQZDtCTYCACAELAATQQBODQAgBCgCCBBaCyAGKAIIEOoEIAQoArgBIQMLIANFDQADQCADKAIUIQEgA0EANgIUIAMoAgAhISABBEAgASgCACICBEAgASACNgIEIAIQWgsgARBaCyADEFogISIDDQALCyAEKAKwASEAIARBADYCsAEgAEUNACAAEFoLIARB0AFqJAAPCxAAIQIgBBDkARoLIAgoAgAQ6gQLIAQoArgBIgAEQANAIAAoAhQhAyAAQQA2AhQgACgCACEiIAMEQCADKAIAIgUEQCADIAU2AgQgBRBaCyADEFoLIAAQWiAiIgANAAsLIAQoArABIQAgBEEANgKwASAABEAgABBaCyACEAcACwAL/AEBBH8gACgCBCIAKALYASICRQRAQQEPCyABKAIAIQFBASEDAkAgACgC1AECfyACQQFrIAFxIAJpIgVBAU0NABogASABIAJJDQAaIAEgAnALIgRBAnRqKAIAIgBFDQAgACgCACIARQ0AAkAgBUEBTQRAIAJBAWshAgNAAkAgASAAKAIEIgNHBEAgAiADcSAERg0BQQEPCyAAKAIIIAFGDQMLIAAoAgAiAA0AC0EBDwsDQAJAIAEgACgCBCIDRwRAIAIgA00EfyADIAJwBSADCyAERg0BQQEPCyAAKAIIIAFGDQILIAAoAgAiAA0AC0EBDwsgACgCEEUhAwsgAwskACAAKAIAQQJHBEBB/q8GQae3AkGcEEGUygMQAQALIAAoAgwLFQAgAUGM7wk2AgAgASAAKAIENgIECx0BAX9BCBBcIgFBjO8JNgIAIAEgACgCBDYCBCABCywAIAEoAgAiASgCAEHcAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIsCCywAIAEoAgAiASgCAEHbAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIsCCywAIAEoAgAiASgCAEHaAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIsCCywAIAEoAgAiASgCAEHZAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIsCCywAIAEoAgAiASgCAEHYAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIsCCywAIAEoAgAiASgCAEHXAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIsCCywAIAEoAgAiASgCAEHWAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIsCCyQAIAAoAgBBAkcEQEH+rwZBp7cCQagQQcveAxABAAsgACgCEAssACABKAIAIgEoAgBB1QBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCLAgssACABKAIAIgEoAgBB1ABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCLAgssACABKAIAIgEoAgBB0wBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCLAgssACABKAIAIgEoAgBB0gBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCLAgssACABKAIAIgEoAgBB0QBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCLAgssACABKAIAIgEoAgBB0ABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCLAgssACABKAIAIgEoAgBBzwBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCLAgssACABKAIAIgEoAgBBzgBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCLAgssACABKAIAIgEoAgBBzQBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCLAgssACABKAIAIgEoAgBBzABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCLAgskACAAKAIAQQJHBEBB/q8GQae3AkGQEEHU0AIQAQALIAAoAggLLAAgASgCACIBKAIAQcsARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQiwILLAAgASgCACIBKAIAQcoARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQiwILLAAgASgCACIBKAIAQckARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQiwILLAAgASgCACIBKAIAQcgARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQiwILLAAgASgCACIBKAIAQccARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQiwILLAAgASgCACIBKAIAQcYARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQiwILLAAgASgCACIBKAIAQcUARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQiwILLAAgASgCACIBKAIAQcQARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQiwILLAAgASgCACIBKAIAQcMARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQiwILLAAgASgCACIBKAIAQcIARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQiwILLAAgASgCACIBKAIAQcEARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQiwILLAAgASgCACIBKAIAQcAARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQiwILKwAgASgCACIBKAIAQT9HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCLAgsrACABKAIAIgEoAgBBPkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIsCCysAIAEoAgAiASgCAEE9RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQiwILKwAgASgCACIBKAIAQTxHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCLAgsrACABKAIAIgEoAgBBO0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIsCCysAIAEoAgAiASgCAEE6RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQiwILKwAgASgCACIBKAIAQTlHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCLAgsrACABKAIAIgEoAgBBOEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEIsCC2MAIABBqAFqQRRBBBBdIgAg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1QBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCMAgssACABKAIAIgEoAgBB1ABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCMAgssACABKAIAIgEoAgBB0wBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCMAgsaAQF/QQEhAiAAIAFHBH8gACABEJQDBUEBCwssACABKAIAIgEoAgBB0gBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCMAgssACABKAIAIgEoAgBB0QBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCMAgssACABKAIAIgEoAgBB0ABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCMAgssACABKAIAIgEoAgBBzwBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCMAgssACABKAIAIgEoAgBBzgBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCMAgssACABKAIAIgEoAgBBzQBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCMAgssACABKAIAIgEoAgBBzABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCMAgssACABKAIAIgEoAgBBywBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCMAgssACABKAIAIgEoAgBBygBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCMAgssACABKAIAIgEoAgBByQBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCMAgsXAQF/IABBEE8EfyAAKAIQQQJGBUEACwssACABKAIAIgEoAgBByABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCMAgssACABKAIAIgEoAgBBxwBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCMAgssACABKAIAIgEoAgBBxgBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCMAgssACABKAIAIgEoAgBBxQBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCMAgssACABKAIAIgEoAgBBxABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCMAgssACABKAIAIgEoAgBBwwBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCMAgssACABKAIA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QRBqIAJBCGoQZSAAIAIpAxA3AgggAkEgaiQADwtB5akGQae3AkGlE0GWnAQQAQALQcuaBEGntwJBphNBlpwEEAEACywAIAEoAgAiASgCAEHLAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEI0CCywAIAEoAgAiASgCAEHKAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEI0CCywAIAEoAgAiASgCAEHJAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEI0CCywAIAEoAgAiASgCAEHIAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEI0CCywAIAEoAgAiASgCAEHHAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEI0CCywAIAEoAgAiASgCAEHGAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEI0CCywAIAEoAgAiASgCAEHFAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEI0CCywAIAEoAgAiASgCAEHEAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEI0CCywAIAEoAgAiASgCAEHDAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEI0CCywAIAEoAgAiASgCAEHCAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEI0CCywAIAEoAgAiASgCAEHBAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEI0CCywAIAEoAgAiASgCAEHAAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEI0CCysAIAEoAgAiASgCAEE/RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQjQILKwAgASgCACIBKAIAQT5HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCNAgsrACABKAIAIgEoAgBBPUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEI0CCysAIAEoAgAiASgCAEE8RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQjQILKwAgASgCACIBKAIAQTtHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCNAgsrACABKAIAIgEoAgBBOkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEI0CCysAIAEoAgAiASgCAEE5RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQjQILKwAgASgCACIBKAIAQThHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCNAgskACAAKAIAQQpHBEBB5akGQae3AkGgE0GtnQQQAQALIAAoAggLKwAgASgCACIBKAIAQShHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCNAgsrACABKAIAIgEoAgBBF0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEI0CCysAIAEoAgAiASgCAEEWRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQjQILKwAgASgCACIBKAIAQTdHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCNAgsrACABKAIAIgEoAgBBNkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEI0CCysAIAEoAgAiASgCAEE1RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQjQILKwAgASgCACIBKAIAQTRHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCNAgsrACABKAIAIgEoAgBBM0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEI0CCysAIAEoAgAiASgCAEEyRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQjQILKwAgASgCACIBKAIAQTFHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCNAgtmAgF/AX4jAEEgayIDJAAgAyABEGw2AhwgAyABNgIYIAMgAykCGDcDCCADQRBqIANBCGoQZSADKQMQIQQgAEGoAWpBEEEEEF0iACAENwIIIABBCjYCACAAIAI2AgQgA0EgaiQAIAALKwAgASgCACIBKAIAQTBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCNAgsrACABKAIAIgEoAgBBL0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEI0CCysAIAEoAgAiASgCAEEuRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQjQILKwAgASgCACIBKAIAQS1HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCNAgsrACABKAIAIgEoAgBBLEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEI0CCysAIAEoAgAiASgCAEErRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQjQILKwAgASgCACIBKAIAQSpHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCNAgsrACABKAIAIgEoAgBBKUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEI0CCysAIAEoAgAiASgCAEEVRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQjQILKwAgASgCACIBKAIAQRRHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCNAgsJAEGMigstAAALKwAgASgCACIBKAIAQRNHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCNAgsrACABKAIAIgEoAgBBEkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEI0CCysAIAEoAgAiASgCAEERRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQjQILKwAgASgCACIBKAIAQRBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCNAgsrACABKAIAIgEoAgBBD0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEI0CCysAIAEoAgAiASgCAEEORwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQjQILKwAgASgCACIBKAIAQSdHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCNAgsrACABKAIAIgEoAgBBJkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEI0CCysAIAEoAgAiASgCAEElRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQjQILKwAgASgCACIBKAIAQSRHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCNAgugAgEGfyMAQSBrIgMkACADIAEQbDYCHCADIAE2AhggAyADKQIYNwMIIANBEGogA0EIahBlAkAgACgC0AIiAkUNACADKAIQIQQgACgCzAICfyACQQFrIARxIAJpIgdBAU0NABogBCACIARLDQAaIAQgAnALIgZBAnRqKAIAIgBFDQAgACgCACIBRQ0AAkAgB0EBTQRAIAJBAWshAANAAkAgBCABKAIEIgJHBEAgACACcSAGRg0BDAULIAEoAgggBEYNAwsgASgCACIBDQALDAILA0ACQCAEIAEoAgQiAEcEQCAAIAJPBH8gACACcAUgAAsgBkYNAQwECyABKAIIIARGDQILIAEoAgAiAQ0ACwwB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BzYCACABCzkAIAAoAgRFBEBB6PoFQbqLA0GcBEHu0wIQAQALIAAgAjYCeCAAIAE2AnwgACACEPIOIABCADcCeAvsDwEYfyMAQbACayIDJAACQAJAAkACQAJAAkACQAJAAkACQAJAIAAoAgQEQCAAIAAoAgAoAhARAgAEQCADIAAoAgQiAikCODcD+AEgAyACKQIwNwPwASADIAIpAig3A+gBIAMgAikCIDcD4AEgAyACKQIYNwPYASADQYACaiACQUBrEOMBIQRB1IkLQQA2AgBBmgEgA0GUAmogAkHUAGoQAiEFQdSJCygCACERQdSJC0EANgIAIBFBAUYNAiADIAIoAmg2AqgCIAMgAigCbCICNgKsAiACBEAgAiACKAIEQQFqNgIECyADQQEgAygC4AEiAiACQQBKGzYC4AEgAyADKQPoATcDGCADIAMpA/ABNwMgIAMgAykD+AE3AyggAyADKQPgATcDECADQQEgAygC3AEiAiACQQBKGzYC3AFB1IkLQQA2AgAgAyADKQPYATcDCEGbASADQTBqIAQQAiEEQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBxABqIAUQAiEFQdSJCygCACESQdSJC0EANgIAIBJBAUYNBSADIAMoAqwCIgI2AlwgAyADKAKoAjYCWCACBEAgAiACKAIEQQFqNgIECyADQQA2AnggAyADKQMQNwKEASADIAMpAxg3AowBIAMgAykDIDcClAEgAyADKQMoNwKcASADQgA3AnAgA0H87Ak2AmQgAyADKQMINwJ8QdSJC0EANgIAIAMgATYCaCADIAFBqAFqNgJsQZsBIANBpAFqIAQQAiEBQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBuAFqIAUQAhpB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRwRAIAMgAygCWDYCzAEgAyADKAJcIgE2AtABIAEEQCABIAEoAgRBAWo2AgQLIANBADsB1AEgA0EIahBhIANBAToA1AEgACgCACgCFCEUQdSJC0EANgIAIBQgABAGIQBB1IkLKAIAIRVB1IkLQQA2AgAgFUEBRg0EIAMoAmQoAgghFkHUiQtBADYCACAWIANB5ABqIgEgABADQdSJCygCACEXQdSJC0EANgIAIBdB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aiQADwsQACEBIAMsAIMBQQBODQEgAygCeBBaDAELEAAhAQsgABBaDAILEAAhDSAEEGsgDRAHAAsQACEBCyADEHwaIAEQBwALowIBBH8jAEEgayIBJAACQCAABEAgABBsIgJB8P///wdPDQECQAJAIAJBC08EQCACQQ9yQQFqIgQQXCEDIAEgBEGAgICAeHI2AhwgASADNgIUIAEgAjYCGAwBCyABIAI6AB8gAUEUaiEDIAJFDQELIAMgACAC/AoAAAtBACEAIAIgA2pBADoAAEGQigsoAgBBlIoLKAIAIAFBFGoQwwMhAiABLAAfQQBIBEAgASgCFBBaCyACBEAgAkEUaiIAKAIAIQMgASACKAIYIAItAB8iAiACwEEASCICGzYCGCABIAMgACACGzYCFCABIAEpAhQ3AwAgAUEMaiABEGUgASgCDCEACyABQSBqJAAgAA8LQZYdQae3AkH2K0GE5wAQAQALEOoBAAvVHQEOfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEoAgAiAigCAA5eAAECAwQFBgcICQoLDA0eHyAhIiMkJTU2Dg8QERITFBUWFxgZGhscHTcmJygpKissLS4vMDEyMzQ4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcAF0LQZj9A0HlswNB6gEQYgALIABBkTMgARBYIAIoAgBBAUcNXCACKAIUIgFBAEwNWyAAQQRqIQQDQCABQQFrIgAgAigCFE8NXiACKAIQIABBAnRqIgMoAgBFDV8gBEGuMiADEFsgAUEBSyEGIAAhASAGDQALDFsLIABBkjMgARBYIAIoAgBBAkcNWyACKAIQBEAgAEEEakGuMiACQRBqEFsLDGALIABBkzMgARBYIAIoAgBBA0cNWgxjCyAAQZQzIAEQWCACKAIA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AoACIgIEQANAIAIoAgAhYiACEFogYiICDQALCyAEKAL4ASEAIARBADYC+AEgAARAIAAQWgsgBCgClAIQvggMAQsQACEFCyAEKAKIAyIABEAgBCAANgKMAyAAEFoLIARBkO0JNgKcAiAELACvAkEATg0AIAQoAqQCEFoLIAQoArADIgIEQANAIAIoAgAhYyACQRBqEMkKIAIQWiBjIgINAAsLIAQoAqgDIQAgBEEANgKoAyAABEAgABBaCyAFEAcACwALYQEDfyAAQYjSBzYCACAAKAIgIgIEQANAIAIoAgAhAyACEFogAyICDQALCyAAKAIYIQEgAEEANgIYIAEEQCABEFoLIABBkO0JNgIAIAAsABNBAEgEQCAAKAIIEFoLIAAQWgtfAQN/IABBiNIHNgIAIAAoAiAiAgRAA0AgAigCACEDIAIQWiADIgINAAsLIAAoAhghASAAQQA2AhggAQRAIAEQWgsgAEGQ7Qk2AgAgACwAE0EASARAIAAoAggQWgsgAAsJAEHsiQsoAgALLAAgASgCACIBKAIAQdwARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQjgILLAAgASgCACIBKAIAQdsARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQjgILLAAgASgCACIBKAIAQdoARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQjgILLAAgASgCACIBKAIAQdkARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQjgILLAAgASgCACIBKAIAQdgARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQjgILLAAgASgCACIBKAIAQdcARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQjgILLAAgASgCACIBKAIAQdYARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQjgILLAAgASgCACIBKAIAQdUARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQjgILLAAgASgCACIBKAIAQdQARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQjgILLAAgASgCACIBKAIAQdMARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQjgILCQBB+IkLKAIACywAIAEoAgAiASgCAEHSAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEI4CCywAIAEoAgAiASgCAEHRAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEI4CCywAIAEoAgAiASgCAEHQAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEI4CCywAIAEoAgAiASgCAEHPAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEI4CCywAIAEoAgAiASgCAEHOAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEI4CCywAIAEoAgAiASgCAEHNAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEI4CCywAIAEoAgAiASgCAEHMAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEI4CCywAIAEoAgAiASgCAEHLAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEI4CCywAIAEoAgAiASgCAEHKAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEI4CCywAIAEoAgAiASgCAEHJAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEI4CCxAAIAAoAlggACgCVGtBAnULLAAgASgCACIBKAIAQcgARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQjgILLAAgASgCACIBKAIAQccARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQjgILLAAgASgCACIBKAIAQcYARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQjgILLAAgASgCACIBKAIAQcUARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQjgILLAAgASgCACIBKAIAQcQARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQjgILLAAgASgCACIBKAIAQcMARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQjgILLAAgASgCACIBKAIAQcIARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQjgILLAAgASgCACIBKAIAQcEARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQjgILLAAgASgCACIBKAIAQcAARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQjgILKwAgASgCACIBKAIAQT9HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCOAgsQACAAKAJMIAAoAkhrQQJ1CysAIAEoAgAi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QZABayICJAACQCABIAAoAhwgACgCGCIAa0ECdU8EQCACEKkCIQBB1IkLQQA2AgBB3QAgAEH3zAUQAiEBQdSJCygCACEDQdSJC0EANgIAIANBAUcNARAAGiAAEHEACyAAIAFBAnRqKAIAIQQgAkGQAWokACAEDwsgARBxAAvsDwEYfyMAQbACayIDJAACQAJAAkACQAJAAkACQAJAAkACQAJAIAAoAgQEQCAAIAAoAgAoAhARAgAEQCADIAAoAgQiAikCODcD+AEgAyACKQIwNwPwASADIAIpAig3A+gBIAMgAikCIDcD4AEgAyACKQIYNwPYASADQYACaiACQUBrEOMBIQRB1IkLQQA2AgBBmgEgA0GUAmogAkHUAGoQAiEFQdSJCygCACERQdSJC0EANgIAIBFBAUYNAiADIAIoAmg2AqgCIAMgAigCbCICNgKsAiACBEAgAiACKAIEQQFqNgIECyADQQEgAygC4AEiAiACQQBKGzYC4AEgAyADKQPoATcDGCADIAMpA/ABNwMgIAMgAykD+AE3AyggAyADKQPgATcDECADQQEgAygC3AEiAiACQQBKGzYC3AFB1IkLQQA2AgAgAyADKQPYATcDCEGbASADQTBqIAQQAiEEQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBxABqIAUQAiEFQdSJCygCACESQdSJC0EANgIAIBJBAUYNBSADIAMoAqwCIgI2AlwgAyADKAKoAjYCWCACBEAgAiACKAIEQQFqNgIECyADQQA2AnggAyADKQMQNwKEASADIAMpAxg3AowBIAMgAykDIDcClAEgAyADKQMoNwKcASADQgA3AnAgA0H87Ak2AmQgAyADKQMINwJ8QdSJC0EANgIAIAMgATYCaCADIAFBqAFqNgJsQZsBIANBpAFqIAQQAiEBQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBuAFqIAUQAhpB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRwRAIAMgAygCWDYCzAEgAyADKAJcIgE2AtABIAEEQCABIAEoAgRBAWo2AgQLIANBADsB1AEgA0EIahBhIANBAToA1AEgACgCACgCFCEUQdSJC0EANgIAIBQgABAGIQBB1IkLKAIAIRVB1IkLQQA2AgAg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DQsQACEAIAoQWRoMDAsQACEAIAoQWRoMCwsQACEAIAoQWRoMCgsgChBZGiABKAIgIQILIAkoAhgiAQRAIAkgATYCHCABEFoLIAkQWRogACgCFCEGIAIoAiQiACACKAIoIgFPDQEgACAGNgIAIAIgAEEEajYCJAwCCxAAIQAMBwsgACACKAIgIghrQQJ1IgVBAWoiA0GAgICABE8NA0H/////AyABIAhrIgRBAXUiASADIAEgA0sbIARB/P///wdPGyIJBH8gCUGAgICABE8NBSAJQQJ0EFwFQQALIgMgBUECdGoiASAGNgIAIAFBBGohBCAAIAhHBEADQCABQQRrIgEgAEEEayIAKAIANgIAIAAgCEcNAAsgAigCICEACyACIAMgCUECdGo2AiggAiAENgIkIAIgATYCICAARQ0AIAAQWgsgB0HgAGokAA8LQfDtBUHFmANBlAZBjd4AEAEACxAAIQAgB0HUAGoQ0QogChBZGgwDCxBkAAsQagALEAAhACACKAIgIgEEQCACIAE2AiQgARBaCyAEEFkaIAIQWgsgCSIBKAIYIgQEQCABIAQ2AhwgBBBaCyABEFkaIAAQBwALAAtYAQF/QaABEFwiAEEAQYAB/AsAIABCADcCgAEgAEG4zgc2AgAgAEIANwKIASAAQQA2ApwBIAAgAEGUAWoiATYCmAEgAEGAgID8AzYCkAEgACABNgKUASAAC0YAIAAoAgRFBEBB6PoFQbqLA0GcBEHu0wIQAQALIAAgAjYCeCAAIAE2AnwgAEEUaiACQTBqEJcHIAAgAhDSCiAAQgA3AngLsSEBDn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEoAgAiAigCAA5eAAECAwQFBgcICQoLDA0eHyAhIiMkJTU2Dg8QERITFBUWFxgZGhscHTcmJygp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QQFqNgIECyADQQEgAygC4AEiAiACQQBKGzYC4AEgAyADKQPoATcDGCADIAMpA/ABNwMgIAMgAykD+AE3AyggAyADKQPgATcDECADQQEgAygC3AEiAiACQQBKGzYC3AFB1IkLQQA2AgAgAyADKQPYATcDCEGbASADQTBqIAQQAiEEQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBxABqIAUQAiEFQdSJCygCACESQdSJC0EANgIAIBJBAUYNBSADIAMoAqwCIgI2AlwgAyADKAKoAjYCWCACBEAgAiACKAIEQQFqNgIECyADQQA2AnggAyADKQMQNwKEASADIAMpAxg3AowBIAMgAykDIDcClAEgAyADKQMoNwKcASADQgA3AnAgA0H87Ak2AmQgAyADKQMINwJ8QdSJC0EANgIAIAMgATYCaCADIAFBqAFqNgJsQZsBIANBpAFqIAQQAiEBQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBuAFqIAUQAhpB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRwRAIAMgAygCWDYCzAEgAyADKAJcIgE2AtABIAEEQCABIAEoAgRBAWo2AgQLIANBADsB1AEgA0EIahBhIANBAToA1AEgACgCACgCFCEUQdSJC0EANgIAIBQgABAGIQBB1IkLKAIAIRVB1IkLQQA2AgAgFUEBRg0EIAMoAmQoAgghFkHUiQtBADYCACAWIANB5ABqIgEgABADQdSJCygCACEXQdSJC0EANgIAIBdBAUYNBEHUiQtBADYCAEGXASABEApB1IkLKAIAIRhB1IkLQQA2AgAgGEEBRg0EIANB/OwJNgJkIANB/ABqEGEgAygCcCIBBEAgAygCdCIAIAEiAkcEQANAIABBBGsiACgCACECIABBADYCACACBEAgAiACKAIAKAIEEQEACyAAIAFHDQALIAMoAnAhAgsgAyABNgJ0IAIQWgsgA0HYAWoQYQwQCxAAIQAgARBrDAELEAAhAAsgA0HwAGoQ4AEgA0EIahBhDA4LEAAhAAwNCxAAIQAgA0HkAGoQfBoMDAsgACABNgJ8IABBFGohCSABKAIYIgIgASgCHCIERwRAA0AgAigCACIFKAIMRQRAIAkgBUEgahCXBwsgAkEEaiICIARH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AEEOEAkMAQtB/////wMgCCAJayIIQQF1IgogASABIApJGyAIQfz///8HTxsiCEUEQEEAIQoMAwsgCEGAgICABEkNAUHUiQtBADYCAEEDEAkLQdSJCygCACEZQdSJC0EANgIAIBlBAUcNBxAAIQIMCwtB1IkLQQA2AgBBBCAIQQJ0EAYhCkHUiQsoAgAhGkHUiQtBADYCACAaQQFGDQILIAogDUECdGoiASAHNgIAIAFBBGohByACIAlHBEADQCABQQRrIgEgAkEEayICKAIANgIAIAIgCUcNAAsgBSgCHCECCyAFIAogCEECdGo2AiQgBSAHNgIgIAUgATYCHCACRQ0AIAIQWgsgC0EBaiILIARHDQEMBQsLEAAhAgwGCxAAIQIMBQsQACECDAQLAAtB1IkLQQA2AgBBDyAAIAZB1AFqEAIhAkHUiQsoAgAhG0HUiQtBADYCACAbQQFHDQELEAAhAgwBCyAGKALUASIABEAgACgCHCIBBEAgACABNgIgIAEQWgsgABBaCyAGQeABaiQAIAIPCyAGQdQBahCoAyACEAcAC+wPARh/IwBBsAJrIgMkAAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCBARAIAAgACgCACgCEBECAARAIAMgACgCBCICKQI4NwP4ASADIAIpAjA3A/ABIAMgAikCKDcD6AEgAyACKQIgNwPgASADIAIpAhg3A9gBIANBgAJqIAJBQGsQ4wEhBEHUiQtBADYCAEGaASADQZQCaiACQdQAahACIQVB1IkLKAIAIRFB1IkLQQA2AgAgEUEBRg0CIAMgAigCaDYCqAIgAyACKAJsIgI2AqwCIAIEQCACIAIoAgRBAWo2AgQLIANBASADKALgASICIAJBAEobNgLgASADIAMpA+gBNwMYIAMgAykD8AE3AyAgAyADKQP4ATcDKCADIAMpA+ABNwMQIANBASADKALcASICIAJBAEobNgLcAUHUiQtBADYCACADIAMpA9gBNwMIQZsBIANBMGogBBACIQRB1IkLKAIAIQJB1IkLQQA2AgACQCACQQFHBEBB1IkLQQA2AgBBmgEgA0HEAGogBRACIQVB1IkLKAIAIRJB1IkLQQA2AgAgEkEBRg0FIAMgAygCrAIiAjYCXCADIAMoAqgCNgJYIAIEQCACIAIoAgRBAWo2AgQLIANBADYCeCAD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ABCPAgssACABKAIAIgEoAgBB0wBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAEgABCPAgssACABKAIAIgEoAgBB0gBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAEgABCPAgssACABKAIAIgEoAgBB0QBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAEgABCPAgssACABKAIAIgEoAgBB0ABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAEgABCPAguCAQEDfyMAQZABayICJAACQCABIAAoAgQgACgCACIAa0ECdU8EQCACEKkCIQBB1IkLQQA2AgBB3QAgAEHJzAUQAiEBQdSJCygCACEDQdSJC0EANgIAIANBAUcNARAAGiAAEHEACyAAIAFBAnRqKAIAIQQgAkGQAWokACAEDwsgARBxAAssACABKAIAIgEoAgBBzwBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAEgABCPAgssACABKAIAIgEoAgBBzgBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAEgABCPAgssACABKAIAIgEoAgBBzQBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAEgABCPAgssACABKAIAIgEoAgBBzABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAEgABCPAgssACABKAIAIgEoAgBBywBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAEgABCPAgssACABKAIAIgEoAgBBygBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAEgABCPAgssACABKAIAIgEoAgBByQBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAEgABCPAgssACABKAIAIgEoAgBByABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAEgABCPAgssACABKAIAIgEoAgBBxwBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAEgABCPAgssACABKAIAIgEoAgBBxgBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAEgABCPAgugAgEGfyMAQSBrIgMkACADIAEQbDYCHCADIAE2AhggAyADKQIYNwMIIANBEGogA0EIahBlAkAgACgCxAEiAkUNACADKAIQIQQgACgCwAECfyACQQFrIARxIAJpIgdBAU0NABogBCACIARLDQAaIAQgAnALIgZBAnRqKAIAIgBFDQAgACgC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mANBlAZBjd4AEAEACyABIAAQjwILKwAgASgCACIBKAIAQQFHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAEgABCPAgsvACABKAIAIgEoAgBB3ABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCQAgsvACABKAIAIgEoAgBB2wBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCQAgsvACABKAIAIgEoAgBB2gBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCQAgsvACABKAIAIgEoAgBB2QBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCQAgsvACABKAIAIgEoAgBB2ABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCQAgsvACABKAIAIgEoAgBB1wBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCQAgsvACABKAIAIgEoAgBB1gBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCQAgsvACABKAIAIgEoAgBB1QBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCQAgsvACABKAIAIgEoAgBB1ABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCQAgsvACABKAIAIgEoAgBB0wBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCQAgsvACABKAIAIgEoAgBB0gBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCQAgsvACABKAIAIgEoAgBB0QBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCQAgsvACABKAIAIgEoAgBB0ABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCQAgsvACABKAIAIgEoAgBBzwBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCQAgsvACABKAIAIgEoAgBBzgBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCQAgsvACABKAIAIgEoAgBBzQBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCQAgsvACABKAIAIgEoAgBBzABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCQAgsvACABKAIAIgEoAgBBywBHBEBB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IAEQWCACKAIAQdEARw0MDBgLIABBti0gARBYIAIoAgBB0gBHDQsgAigCFARAIABBBGpBrCsgAkEUahBbCwwWCyAAQbctIAEQWCACKAIAQdMARw0KDA8LIABBuC0gARBYIAIoAgBB1ABHDQkMFAsgAEG5LSABEFggAigCAEHVAEcNCAwUCyAAQbotIAEQWCACKAIAQdYARw0HDAsLIABBuy0gARBYIAIoAgBB1wBHDQYMCwsgAEG8LSABEFggAigCAEHYAEcNBQwVCyAAQb0tIAEQWCACKAIAQdkARw0EDA8LIABBvi0gARBYIAIoAgBB2gBHDQMMDQsgAEG/LSABEFggAigCAEHbAEcNAgwHCyAAQcAtIAEQWCACKAIAQdwARw0BIABBrCsgAkE8ahBYIAIoAjAiAUEATA0AIABBBGohBANAIAFBAWsiACACKAIwTw0DIAIoAiwgAEECdGoiAygCAEUNBCAEQawrIAMQWyABQQFLIQ8gACEBIA8NAAsLDwtB8O0FQcWYA0GUBkGN3gAQAQALQcWiAUGJogNBvAFBpogFEAEAC0GBgwJB05kDQbkCQa73AhABAAsgAEGsKyACQRRqEFgLIABBrCsgAkEQahBYCyAAQawrIAJBDGoQWAwKCyAAQawrIAJBHGoQWAsgAEGsKyACQRhqEFgLIABBrCsgAkEUahBYCyAAQawrIAJBEGoQWA8LIABBrCsgAkEUahBYCyAAQawrIAJBEGoQWAsgAEGsKyACQQxqEFgPCyAAQawrIAJBKGoQWAsgAEGsKyACQSRqEFgPCyAAQawrIAJBHGoQWCAAQawrIAJBGGoQWA8LIABBrCsgAkEIahBYDwsgAEEEakGsKyACQQhqEFsL1R0BDn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAIgIoAgAO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IAEQWCACKAIAQTdHDSkMOQsgAEG9LCABEFggAigCAEEWRg0nDCgLIABBviwgARBYIAIoAgBBF0YNJgwnCyAAQb8sIAEQWCACKAIAQShGDSUMJgsgAEHALCABEFggAigCAEE4Rw0lIAIoAgwiAUEATA0kIABBBGohBANAIAFBAWsiACACKAIMTw0nIAIoAgggAEECdGoiAygCAEUNKCAEQasrIAMQWyABQQFLIQsgACEBIAsNAAsMJAsgAEHBLCABEFggAigCAEE5Rw0kDDQLIABBwiwgARBYIAIoAgBBOkcNIwwzCyAAQcMsIAEQWCACKAIAQTtHDSIMMgsgAEHELCABEFggAigCAEE8Rw0hIABBqysgAkEYahBYIAIoAgwiAUEATA0gIABBBGohBANAIAFBAWsiACACKAIMTw0jIAIoAgggAEECdGoiAygCAEUNJCAEQasrIAMQWyABQQFLIQwgACEBIAwNAAsMIAsgAEHFLCABEFggAigCAEE9Rw0gDDALIABBxiwgARBYIAIoAgBBPkcNHwwvCyAAQccsIAEQWCACKAIAQT9HDR4gAEGrKyACQRRqEFgPCyAAQcgsIAEQWCACKAIAQcAARw0dIAIoAgwiAUEATA0cIABBBGohBANAIAFBAWsiACACKAIMTw0fIAIoAgggAEECdGoiAygCAEUNICAEQasrIAMQWyABQQFLIQ0gACEBIA0NAAsMHAsgAEHJLCABEFggAigCAEHBAEcNHAwoCyAAQcosIAEQWCACKAIAQcIARw0bDCYLIABByywgARBYIAIoAgBBwwBHDRogAEGrKyACQQxqEFggAigCCEUNGQwrCyAAQcwsIAEQWCACKAIAQcQARw0ZDCELIABBzSwgARBYIAIoAgBBxQBHDRgMIAsgAEHOLCABEFggAigCAEHGAEcNFyACKAIMIgFBAEwNFiAAQQRqIQQDQCABQQFrIgAgAigCDE8NGSACKAIIIABBAnRqIgMoAgBFDRogBEGrKyADEFsgAUEBSyEOIAAhASAODQALDBYLIABBzywgARBYIAIoAgBBxwBHDRYMGwsgAEHQLCABEFggAigCAEHIAEcNFQwZCyAAQdEsIAEQWCACKAIAQckARw0UDCQLIABB0iwgARBYIAIoAgBBygBHDRMgAEGrKyACQRhqEFgMFgsgAEHTLCABEFggAigC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RgRAAkACQCAAKAJsIgIoAgQiAEUEQCACQQRqIgMhAQwBCwNAIAQgACIBKAIQIgBJBEAgASIDKAIAIgANAQwCCyAAIARPDQIgASgCBCIADQALIAFBBGohAwtBFBBcIgAgATYCCCAAQgA3AgAgACAENgIQIAMgADYCACACKAIAKAIAIgEEQCACIAE2AgAgAygCACEACyACKAIEIAAQZyACIAIoAghBAWo2AggLDwtB8O0FQcWYA0GUBkGN3gAQAQAL0AEBA38gASgCACIEKAIAQdkARgRAAkACQCAAKAJsIgIoAgQiAEUEQCACQQRqIgMhAQwBCwNAIAQgACIBKAIQIgBJBEAgASIDKAIAIgANAQwCCyAAIARPDQIgASgCBCIADQALIAFBBGohAwtBFBBcIgAgATYCCCAAQgA3AgAgACAENgIQIAMgADYCACACKAIAKAIAIgEEQCACIAE2AgAgAygCACEACyACKAIEIAAQZyACIAIoAghBAWo2AggLDwtB8O0FQcWYA0GUBkGN3gAQAQAL0AEBA38gASgCACIEKAIAQdgARgRAAkACQCAAKAJsIgIoAgQiAEUEQCACQQRqIgMhAQwBCwNAIAQgACIBKAIQIgBJBEAgASIDKAIAIgANAQwCCyAAIARPDQIgASgCBCIADQALIAFBBGohAwtBFBBcIgAgATYCCCAAQgA3AgAgACAENgIQIAMgADYCACACKAIAKAIAIgEEQCACIAE2AgAgAygCACEACyACKAIEIAAQZyACIAIoAghBAWo2AggLDwtB8O0FQcWYA0GUBkGN3gAQAQAL0AEBA38gASgCACIEKAIAQdcARgRAAkACQCAAKAJsIgIoAgQiAEUEQCACQQRqIgMhAQwBCwNAIAQgACIBKAIQIgBJBEAgASIDKAIAIgANAQwCCyAAIARPDQIgASgCBCIADQALIAFBBGohAwtBFBBcIgAgATYCCCAAQgA3AgAgACAENgIQIAMgADYCACACKAIAKAIAIgEEQCACIAE2AgAgAygCACEACyACKAIEIAAQZyACIAIoAghBAWo2AggLDwtB8O0FQcWYA0GUBkGN3gAQAQAL0AEBA38gASgCACIEKAIAQdYARgRAAkACQCAAKAJsIgIoAgQiAEUEQCACQQRqIgMhAQwBCwNAIAQgACIBKAIQIgBJBEAgASIDKAIAIgANAQwCCyAAIARPDQIgASgCBCIADQALIAFBBGohAwtBFBBcIgAgATYCCCAAQgA3AgAgACAENgIQIAMgADYCACACKAIAKAIAIgEEQCACIAE2AgAgAygCACEACyACKAIEIAAQZyACIAIoAghBAWo2AggLDwtB8O0FQcWYA0GUBkGN3gAQAQAL0AEBA38gASgCACIEKAIAQdUARgRAAkACQCAAKAJsIgIoAgQiAEUEQCACQQRqIgMhAQwBCwNAIAQgACIBKAIQIgBJBEAgASIDKAIAIgANAQwCCyAAIARPDQIgASgCBCIADQALIAFBBGohAwtBFBBcIgAgATYCCCAAQgA3AgAgACAENgIQIAMgADYCACACKAIAKAIAIgEEQCACIAE2AgAgAygCACEACyACKAIEIAAQZyACIAIoAghBAWo2AggLDwtB8O0FQcWYA0GUBkGN3gAQAQAL0AEBA38gASgCACIEKAIAQdQARgRAAkACQCAAKAJsIgIoAgQiAEUEQCACQQRqIgMhAQwBCwNAIAQgACIBKAIQIgBJBEAgASIDKAIAIgANAQwCCyAAIARPDQIgASgCBCIADQALIAFBBGohAwtBFBBcIgAgATYCCCAAQgA3AgAgACAENgIQIAMgADYCACACKAIAKAIAIgEEQCACIAE2AgAgAygCACEACyACKAIEIAAQZyACIAIoAghBAWo2AggLDwtB8O0FQcWYA0GUBkGN3gAQAQAL3gEBBH8CQCAAKAI8IgJFDQAgACgCOAJ/IAJBAWsgAXEgAmkiA0EBTQ0AGiABIAEgAkkNABogASACcAsiBUECdGooAgAiAEUNACAAKAIAIgBFDQACQCADQQFNBEAgAkEBayECA0ACQCABIAAoAgQiA0cEQCACIANxIAVHDQUMAQsgACgCCCABRg0DCyAAKAIAIgANAAsMAgsDQAJAIAEgACgCBCIDRwRAIAIgA00EfyADIAJwBSADCyAFRw0EDAELIAAoAgggAUYNAgsgACgCACIADQALDAELQQEhBAsgBAvQAQEDfyABKAIAIgQoAgBB0wBGBEACQAJAIAAoAmwiAigCBCIARQRAIAJBBGoiAyEBDAELA0AgBCAAIgEoAhAiAEkEQCABIgMoAgAiAA0BDAILIAAgBE8NAiABKAIEIgANAAsgAUEEaiEDC0EUEFwiACABNgIIIABCADcC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BCIADQALIAFBBGohAwtBFBBcIgAgATYCCCAAQgA3AgAgACAENgIQIAMgADYCACACKAIAKAIAIgEEQCACIAE2AgAgAygCACEACyACKAIEIAAQZyACIAIoAghBAWo2AggLDwtB8O0FQcWYA0GUBkGN3gAQAQALzwEBA38gASgCACIEKAIAQQZGBEACQAJAIAAoAmwiAigCBCIARQRAIAJBBGoiAyEBDAELA0AgBCAAIgEoAhAiAEkEQCABIgMoAgAiAA0BDAILIAAgBE8NAiABKAIEIgANAAsgAUEEaiEDC0EUEFwiACABNgIIIABCADcCACAAIAQ2AhAgAyAANgIAIAIoAgAoAgAiAQRAIAIgATYCACADKAIAIQALIAIoAgQgABBnIAIgAigCCEEBajYCCAsPC0Hw7QVBxZgDQZQGQY3eABABAAvPAQEDfyABKAIAIgQoAgBBBUYEQAJAAkAgACgCbCICKAIEIgBFBEAgAkEEaiIDIQEMAQsDQCAEIAAiASgCECIASQRAIAEiAygCACIADQEMAgsgACAETw0CIAEoAgQiAA0ACyABQQRqIQMLQRQQXCIAIAE2AgggAEIANwIAIAAgBDYCECADIAA2AgAgAigCACgCACIBBEAgAiABNgIAIAMoAgAhAAsgAigCBCAAEGcgAiACKAIIQQFqNgIICw8LQfDtBUHFmANBlAZBjd4AEAEAC88BAQN/IAEoAgAiBCgCAEEERgRAAkACQCAAKAJsIgIoAgQiAEUEQCACQQRqIgMhAQwBCwNAIAQgACIBKAIQIgBJBEAgASIDKAIAIgANAQwCCyAAIARPDQIgASgCBCIADQALIAFBBGohAwtBFBBcIgAgATYCCCAAQgA3AgAgACAENgIQIAMgADYCACACKAIAKAIAIgEEQCACIAE2AgAgAygCACEACyACKAIEIAAQZyACIAIoAghBAWo2AggLDwtB8O0FQcWYA0GUBkGN3gAQAQALzwEBA38gASgCACIEKAIAQQNGBEACQAJAIAAoAmwiAigCBCIARQRAIAJBBGoiAyEBDAELA0AgBCAAIgEoAhAiAEkEQCABIgMoAgAiAA0BDAILIAAgBE8NAiABKAIEIgANAAsgAUEEaiEDC0EUEFwiACABNgIIIABCADcCACAAIAQ2AhAgAyAANgIAIAIoAgAoAgAiAQRAIAIgATYC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AgwDCyAEKAIAKAIIIQtB1IkLQQA2AgAgCyAEEAYhAkHUiQsoAgAhDEHUiQtBADYCACAMQQFGDQILIAMgAjYCEAsgA0IANwNAQdSJC0EANgIAQe4pIANByABqIANBHGpCACADQUBrEMICQdSJCygCACECQdSJC0EANgIAAkAgAkEBRg0AIAMoAkhCADcCGAJAAkACQAJAIAMoAiwiAiADKAIwRwRAIAIgADYCACADIAJBBGo2AiwMAQsgAiADKAIoIgdrIgRBAnUiCEEBaiIFQYCAgIAETw0CAkBB/////wMgBEEBdSIGIAUgBSAGSRsgBEH8////B08bIgVFBEBBACEGDAELIAVBgICAgARPDQJB1IkLQQA2AgBBBCAFQQJ0EAYhBkHUiQsoAgAhDUHUiQtBADYCACANQQFGDQULIAYgCEECdGoiBCAANgIAIARBBGohACACIAdHBEADQCAEQQRrIgQgAkEEayICKAIANgIAIAIgB0cNAAsgAygCKCECCyADIAYgBUECdGo2AjAgAyAANgIsIAMgBDYCKCACRQ0AIAIQWgsCQCADKAI4IgIgAygCPEcEQCACIAE2AgAgAyACQQRqNgI4DAELIAIgAygCNCIGayIAQQJ1IgdBAWoiBEH/////A0sNAgJAQf////8DIABBAXUiBSAEIAQgBUkbIABB/P///wdPGyIARQRAQQAhBQwBCyAAQf////8DSw0CQdSJC0EANgIAQQQgAEECdBAGIQVB1IkLKAIAIQ5B1IkLQQA2AgAgDkEBRg0FCyAFIAdBAnRqIgQgATYCACAEQQRqIQEgAiAGRwRAA0AgBEEEayIEIAJBBGsiAigCADYCACACIAZHDQALIAMoAjQhAgsgAyAFIABBAnRqNgI8IAMgATYCOCADIAQ2AjQgAkUNACACEFoLAkAgAygCLCICIAMoAihHBEADQCADKAI4IgAgAygCNEYEQEEAIQAMAwsgAkEEayICKAIAIQEgAyACNgIsIABBBGsiACgCACECIAMgADYCOEEAIQAgAUUiBCACQQBHRg0CAkAgBA0AIAMgATYCSCADIAI2AkAgAygCECIERQRAQdSJC0EANgIAQcUAEAlB1IkLKAIAIQ9B1IkLQQA2AgAgD0EBRw0HDAgLIAQoAgAoAhghEEHUiQtBADYCACAQIAQgA0HIAGogA0FAaxAEIQRB1IkLKAIAIQVB1IkLQQA2AgACQCAFQQFGDQAgBA0BIAEoAgQgAigCBEcNBEHUiQtBADYCAEHvKSADQRxqIAEgAhAEIRJB1IkLKAIAIRFB1IkLQQA2AgAgEUEBRg0AIBINAQwECwwHCyADKAIsIgIgAygCKEcNAAsLIAMoAjggAygCNEYhAAsCQAJAIAMgAygCECICRgRAQQQhBCADIQIMAQtBBSEEIAJFDQELIAIgAigCACAEQQJ0aigCABEBAAsgAygCNCIBBEAgAyABNgI4IAEQWgsgAygCKCIBBEAgAyABNgIsIAEQWgsgAygCIBCPAyADQdAAaiQAIAAPC0HUiQtBADYCAEEDEAlB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRw0BDAILQdSJC0EANgIAQQ4QCUHUiQsoAgAhFEHUiQtBADYCACAUQQFGDQELAAsQACEEAkAgAyADKAIQIgJGBEBBBCEAIAMhAgwBC0EFIQAgAkUNAgsgAiACKAIAIABBAnRqKAIAEQEADAELEAAhBAsgAygCNCIABEAgAyAANgI4IAAQWgsgAygCKCIABEAgAyAANgIsIAAQWgsgAygCIBCPAyAEEAcAC/kFAQh/IwBB8AFrIgMkAAJAAkACQAJAIAIoAgQiBUUEQEEBIQQgACgCAEEBa0F+Tw0BDAQLQQEhBCAFKAIUIgIgACgCACIAQQFqSQ0DIAIgAEF/c2oiACACTw0BIAUoAhAgAEECdGohAgsgAigCACEEIAEoAnwhAiADIAEoAgQiAC0AODoABCADIAAtADk6AAUgAyAAKAJoNgIIIAMgACgCbCIANgIMIAAEQCAAIAAoAgRBAWo2AgQLIAMgAjYCECACKAKEASEAIANBIGoiAUIANwIAIANBLGoiAkIANwIAIANBOGoiBUIANwIAIANBxABqIgZCADcCACADQegAaiIHQgA3AgAgA0IANwJUIANCADcBWiADQfQAaiIIQgA3AgAgA0EAOwEYIAMgADYCFCADIAE2AhwgAyACNgIoIAMgBTYCNCADIAY2AkAgA0IANwJMIAMgBzYCZCADIAg2AnAgAyAENgLsASADQgA3AtQBIANCADcC3AEgA0EANgLkAUHUiQtBADYCACADQgA3AnwgAyADQQRqNgLoAUHHACADQfwAaiADQewBahADQdSJCygCACEAQdSJC0EANgIAAkACQCAAQQFHBEAgAygC1AEiAARAIAMgADYC2AEgABBaCyADKAJYBEBB1IkLQQA2AgBBDUGRyQVB9ooDQcQIQabRABAFQdSJCygCACEJQdSJC0EANgIAIAlBAUYNAgALIAMtAAQEQCADQQA6AFUMBQsgAy0AVUUNBCADQQE6AFQMBAsQACECIAMoAtQBIgBFDQEgAyAANgLYASAAEFoMAQsQACECCyADQQRqEN8BGiACEAcAC0HFogFBiaIDQbwBQaaIBRABAAsgAygCbCEKIAMoAnQQYCADKAJoEGAgAygCRBBgIAMoAjgQYCADKAIsEG8gAygCIBBvAkAgAygCDCIARQ0AIAAgACgCBCICQQFrNgIEIAINACAAIAAoAgAoAggRAQAgABB1CyAKQQBHIQQLIANB8AFqJAAgBAt1AQJ/QfgBEFwiAEEAQcAB/AsAIABBwAFqIgFCADcCACAAQfjMBzYCACAAQeQBaiICQgA3AgAgACABNgK8ASAAQgA3AsgBIABCADcC0AEgAEIANwLYASAAQfABaiIBQgA3AgAgACACNgLgASAAIAE2AuwBIAALOQAgACgCBEUEQEHo+gVBuosDQZwEQe7TAhABAAsgACACNgJ4IAAgATYCfCAAIAIQiw8gAEIANwJ4C5QiARF/IAEoAgAiCCgCACIDQQFrQQNPIANBM2tBAUtxRQRAIABBGGpB4SkgARBbCyAAIQMCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEoAgAiAigCAA5eAAECAwQFBgcICQoLDA0eHyAhIiMkJTU2Dg8QERITFBUWFxgZGhscHTcmJygpKissLS4vMDEyMzQ4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcAG8LQZj9A0HlswNB6gEQYgAL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QCABKAIAQQlHDQAgACgCBCIFKAJsIAEoAggiBEEDdkH8////AXFqKAIAIAR2QQFxRQ0AIARBAnQiBCAAKAIIKAIAaigCACAFKAKEASAEaigCAEcNACABKAIMIQQgACgCECEDIAIgACgCDCIALQAgOgAEIAIgAC0AIToABSACIAAoAlA2AgggAiAAKAJUIgA2AgwgAARAIAAgACgCBEEBajYCBAsgAiADNgIQIAMoAoQBIQAgAkEgaiIDQgA3AgAgAkEsaiIFQgA3AgAgAkE4aiIGQgA3AgAgAkHEAGoiB0IANwIAIAJB6ABqIghCADcCACACQgA3AlQgAkIANwFaIAJB9ABqIglCADcCACACQQA7ARggAiAANgIUIAIgAzYCHCACIAU2AiggAiAGNgI0IAIgBzYCQCACQgA3AkwgAiAINgJkIAIgCTYCcCACIAQ2AuwBIAJCADcC1AEgAkIANwLcASACQQA2AuQBQdSJC0EANgIAIAJCADcCfCACIAJBBGo2AugBQccAIAJB/ABqIAJB7AFqEANB1IkLKAIAIQBB1IkLQQA2AgACQAJAAkAgAEEBRwRAIAIoAtQBIgAEQCACIAA2AtgBIAAQWgsgAigCWARAQdSJC0EANgIAQQ1BkckFQfaKA0HECEGm0QAQBUHUiQsoAgAhCkHUiQtBADYCACAKQQFGDQIACyACLQAEBEAgAkEAOgBVDAQLIAItAFVFDQMgAkEBOgBUDAMLEAAhASACKALUASIARQ0BIAIgADYC2AEgABBaDAELEAAhAQsgAkEEahDfARogARAHAAtBACEDAkAgAigCMA0AIAItAGANACACKAJIDQAgAi0ATQ0AIAItAE8NACACLQBRDQAgAi0AUw0AIAItAFYNACACLQAZDQAgAi0AVw0AIAIoAngNACACLQAYDQAgAigCbA0AIAItAGENACACLQBURQRAIAEhAwwBCyABQQAgAi0ABRshAwsgAigCdBBgIAIoAmgQYCACKAJEEGAgAigCOBBgIAIoAiwQbyACKAIgEG8gAigCDCIARQ0AIAAgACgCBCIBQQFrNgIEIAENACAAIAAoAgAoAggRAQAgABB1CyACQfABaiQAIAMLQAAgASgCACIBKAIAQQhHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoApACIAEoAghBAnRqIgAgACgCAEEBajYCAAulOAFJfyMAQZAFayICJAACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgASgCACIBKAIAQQFGBEACQCABKAIUIgRBAkkNACAAKAIEIQcgACgCfCEDIAJCADcCJCACQYCAgPwDNgIsIAJCADcCHCACIAM2AhggAiAAQZACajYCECACIABBgAFqNgIMIAIgAUEQaiIDNgIIIAIgB0EYajYCFCACQYgFaiEMIAJB/ARqIQ0gAkHYBGohDiACQcwEaiEPIAJBwARqIRAgAkG0BGohESACQawBaiESIAJBoAFqIRMgAkH8AGohFCACQfAAaiEVIAJB5ABqIRYgAkHYAGohFyACQaQCaiEYIAJBmAJqIRkgAkH0AWohGiACQegBaiEbIAJB3AFqIRwgAkHQAWohHSACQZwDaiEeIAJBkANqIR8gAkHsAmohICACQeACaiEhIAJB1AJqISIgAkHIAmohI0EAIQBBfyEHA0ACQAJAIAdBf0YEQANAAkAgAygCACAAQQJ0aigCACEBQdSJC0EANgIAQdwpIAJBCGogARACIShB1IkLKAIAISdB1IkLQQA2AgAgJ0EBRg0AIABBAWohASAoBEAgACEHIAEhAAwECyABIgAgAigCCCIDKAIESQ0BDAQLCxAAIQAMEQsgACAEIAAgBEsbIQYDQCAAIAZGBEBB1IkLQQA2AgBBDUHFogFBiaIDQbwBQaaIBRAFQdSJCygCACEpQdSJC0EANgIAIClBAUcNERAAIQAMEgsgAEECdCIJIAMoAgBqKAIAIgUoAgAiAUESRgRAIAUoAggiBSgCACEBCwJAAkACQAJAIAFBAmsOAwMCAAELIAUoAhRFDQEMAgsgAUE/Rg0BCyAAQQFqIgAgBEkNAQwDCwtBzbwDIQFBjgIhBUGkrwIhA0Ho5AAhBAJAAkAgACAHTQ0AIABBf0YNACACKAIIIgEoAgQiBSAASw0BQaaIBSEBQbwBIQVBiaIDIQNBxaIBIQQLQdSJC0EANgIAQQ0gBCADIAUgARAFQdSJCygCACEqQdSJC0EANgIAICpBAUcNEBAAIQAMEQsgASgCACAJaigCACIEKAIAQQJGBEAgBCgCCCEFIAIgAigCFCIBLQAgOgCYBCACIAEtACE6AJkEIAIgASgCUDYCnAQgAiABKAJUIgE2AqAEIAIoAhghAyABBEAgASABKAIEQQFqNgIECyACIAM2AqQEIAMoAoQBIQEgAkIANwK0BCACQQA7AawEIAIgATYCqAQgAkIANwLABCACIBE2ArAEIAJCADcCzAQgAiAQNgK8BCACQgA3AtgEIAIgDzYCyAQgAkIANwL8BCACIA42AtQEIAJCADcB7gQgAkIANwLoBCACQgA3AuAEIAJCADcCiAUgAiANNgL4BCACIAw2AoQFIAIgBTYCtAEgAkIANwKsAiACQQA2ApQDIAJCADcCjAMgAkIANwKEA0HUiQtBADYCACACIAJBmARqNgKYA0HHACACQawCaiACQbQBahADQdSJCygCACEBQdSJC0EANgIAAkACQCABQQFHBEAgAigChAMiAQRAIAIgATYCiAMgARBaCyACKALsBARAQdSJC0EANgIAQQ1BkckFQfaKA0HECEGm0QAQBUHUiQsoAgAhK0HUiQtBADYCACArQQFHDRQQACEADAILIAItAJgEBEAgAkEAOgDpBAwDCyACLQDpBEUNAiACQQE6AOgEDAILEAAhACACKAKEAyIBRQ0AIAIgATYCiAMgARBaCyACQZgEahDfARoMEgsgAkEAOgCsBCACKAL8BBBgIAIgDTYC+AQgAkIANwL8BCACQQA6AOsEIAIoAogFEGAgAiAMNgKEBSACQgA3AogFAkACQAJAAkAgAi0ArAQNACACLQDrBA0AIAIoAoAFDQAgBCgCDCEFIAIgAigCFCIBLQAgOgCsAiACIAEtACE6AK0CIAIgASgCUDYCsAIgAiABKAJUIgE2ArQCIAIoAhghAyABBEAgASABKAIEQQFqNgIECyACIAM2ArgCIAMoAoQBIQEgAkIANwLIAiACQQA7AcACIAIgATYCvAIgAkIANwLUAiACICM2AsQCIAJCADcC4AIgAiAiNgLQAiACQgA3AuwCIAIgITYC3AIgAkIANwKQAyACICA2AugCIAJCADcBggMgAkIANwL8AiACQgA3AvQCIAJCADcCnAMgAiAfNgKMAyACIB42ApgDIAIgBTYCPCACQgA3ArQBIAJBADYCnAIgAkIANwKUAiACQgA3AowCQdSJC0EANgIAIAIgAkGsAmo2AqACQccAIAJBtAFqIAJBPGoQA0HUiQsoAgAhLEHUiQtBADYCACAsQQFGDQIgAigCjAIiAQRAIAIgATYCkAIgARBaCyACKAKA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AhABAAsgAEGiKCACQRxqEFgLIABBoiggAkEYahBYCyAAQaIoIAJBFGoQWAsgAEGiKCACQRBqEFgPCyAAQaIoIAJBFGoQWAsgAEGiKCACQRBqEFgLIABBoiggAkEMahBYDwsgAEGiKCACQShqEFgLIABBoiggAkEkahBYDwsgAEGiKCACQRxqEFggAEGiKCACQRhqEFgPCyAAQaIoIAJBFGoQWAsgAEGiKCACQRBqEFgLIABBoiggAkEMahBYCyAAQaIoIAJBCGoQWA8LIABBGGpBoiggAkEIahBbDwsgA0GiKCACQQxqEFgLgxEBGH8jAEGwAmsiAyQAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAAoAgQEQCAAIAAoAgAoAhARAgAEQCADIAAoAgQiAikCODcD+AEgAyACKQIwNwPwASADIAIpAig3A+gBIAMgAikCIDcD4AEgAyACKQIYNwPYASADQYACaiACQUBrEOMBIQRB1IkLQQA2AgBBmgEgA0GUAmogAkHUAGoQAiEFQdSJCygCACERQdSJC0EANgIAIBFBAUYNAiADIAIoAmg2AqgCIAMgAigCbCICNgKsAiACBEAgAiACKAIEQQFqNgIECyADQQEgAygC4AEiAiACQQBKGzYC4AEgAyADKQPoATcDGCADIAMpA/ABNwMgIAMgAykD+AE3AyggAyADKQPgATcDECADQQEgAygC3AEiAiACQQBKGzYC3AFB1IkLQQA2AgAgAyADKQPYATcDCEGbASADQTBqIAQQAiEEQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBxABqIAUQAiEFQdSJCygCACESQdSJC0EANgIAIBJBAUYNBSADIAMoAqwCIgI2AlwgAyADKAKoAjYCWCACBEAgAiACKAIEQQFqNgIECyADQQA2AnggAyADKQMQNwKEASADIAMpAxg3AowBIAMgAykDIDcClAEgAyADKQMoNwKcASADQgA3AnAgA0H87Ak2AmQgAyADKQMINwJ8QdSJC0EANgIAIAMgATYCaCADIAFBqAFqNgJsQZsBIANBpAFqIAQQAiEBQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBuAFqIAUQAhpB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRwRA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AiAAQgA3AqwCIABBgICA/AM2AqgCIABCADcCtAIgAEIANwK8AiAAQgA3AswCIABCgICAgICAgMA/NwLEAiAAQgA3AtQCIABCADcC4AIgAEEBOgDcAiAAQeDLBzYCACAAQgA3AugCIABCADcC8AIgAEEANgL4AiAAQoCAgPwDNwL8AiAACzkAIAAoAgRFBEBB6PoFQbqLA0GcBEHu0wIQAQALIAAgAjYCeCAAIAE2AnwgACACEKMPIABCADcCeAvsDwEYfyMAQbACayIDJAACQAJAAkACQAJAAkACQAJAAkACQAJAIAAoAgQEQCAAIAAoAgAoAhARAgAEQCADIAAoAgQiAikCODcD+AEgAyACKQIwNwPwASADIAIpAig3A+gBIAMgAikCIDcD4AEgAyACKQIYNwPYASADQYACaiACQUBrEOMBIQRB1IkLQQA2AgBBmgEgA0GUAmogAkHUAGoQAiEFQdSJCygCACERQdSJC0EANgIAIBFBAUYNAiADIAIoAmg2AqgCIAMgAigCbCICNgKsAiACBEAgAiACKAIEQQFqNgIECyADQQEgAygC4AEiAiACQQBKGzYC4AEgAyADKQPoATcDGCADIAMpA/ABNwMgIAMgAykD+AE3AyggAyADKQPgATcDECADQQEgAygC3AEiAiACQQBKGzYC3AFB1IkLQQA2AgAgAyADKQPYATcDCEGbASADQTBqIAQQAiEEQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBxABqIAUQAiEFQdSJCygCACESQdSJC0EANgIAIBJBAUYNBSADIAMoAqwCIgI2AlwgAyADKAKoAjYCWCACBEAgAiACKAIEQQFqNgIECyADQQA2AnggAyADKQMQNwKEASADIAMpAxg3AowBIAMgAykDIDcClAEgAyADKQMoNwKcASADQgA3AnAgA0H87Ak2AmQgAyADKQMINwJ8QdSJC0EANgIAIAMgATYCaCADIAFBqAFqNgJsQZsBIANBpAFqIAQQAiEBQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZoBIANBuAFqIAUQAhpB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRwRAIAMgAygCWDYCzAEgAyADKAJcIgE2AtABIAEEQCABIAEoAgRBAWo2AgQLIANB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NgIMAkACQAJAAkACQAJAIAAoAowBIgIgACgCkAFJBEAgAiABNgIAIAAgAkEEajYCjAEMAQtB1IkLQQA2AgBBoScgAEGIAWogBUEMahADQdSJCygCACEJQdSJC0EANgIAIAlBAUYNASAFKAIMIgFFDQAgARC/AgsgACgCmAEiASAAKAKcAUYNASABIAAoAqABNgIAIAAgAUEEajYCmAEMAgsQACEKIAUoAgwiAQRAIAEQvwILIAoQBwALIAEgACgClAEiB2siAkECdSIEQQFqIgNBgICAgARPDQFB/////wMgAkEBdSIIIAMgAyAISRsgAkH8////B08bIgMEfyADQYCAgIAETw0DIANBAnQQXAVBAAsiCCAEQQJ0aiICIAAoAqABNgIAIAJBBGohBCABIAdHBEADQCACQQRrIgIgAUEEayIBKAIANgIAIAEgB0cNAAsgACgClAEhAQsgACAIIANBAnRqNgKcASAAIAQ2ApgBIAAgAjYClAEgAUUNACABEFoLIAYgACgCoAEQqwICQCAAKALAASIBIAAoAsQBRwRAIAEgACgCoAE2AgAgACABQQRqNgLAAQwBCyABIAAoArwBIgdrIgJBAnUiBkEBaiIDQYCAgIAETw0BQf////8DIAJBAXUiBCADIAMgBEkbIAJB/P///wdPGyIDBH8gA0GAgICABE8NAyADQQJ0EFwFQQALIgQgBkECdGoiAiAAKAKgATYCACACQQRqIQYgASAHRwRAA0AgAkEEayICIAFBBGsiASgCADYCACABIAdHDQALIAAoArwBIQELIAAgBCADQQJ0ajYCxAEgACAGNgLAASAAIAI2ArwBIAFFDQAgARBaCyAFQRBqJAAPCxBkAAsQagAL7wcCFH8BfiMAQSBrIgIkACABKAIAIQlB1IkLQQA2AgAgAiACQRBqIgo2AgwgAkIANwIQQc8dIAkgAkEMahADQdSJCygCACENQdSJC0EANgIAIA1BAUYEQBAAIQ4gAigCEBBgIA4QBwALAkACQAJAIAogAigCDCIERwRAIABBpAFqIQwDQCACIAQpAhAiFjcDAEHUiQtBADYCAEG/JyACQRhqIAwgFiACEMICQdSJCygCACEPQdSJC0EANgIAIA9BAUYNAgJAIAIoAhgiBSgCHCIBIAUoAiBHBEAgASAAKAKgATYCACAFIAFBBGo2AhwM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IAdHDQALIAAoAtgBIgJBDGsoAgAhBAsgBARAIAJBCGsgBDYCACAEEFoLIAAgAkEMazYC2AEgACAAKALkAUEEazYC5AECQCAAKAL8ASICIAAoAoACIgVJBEAgAkEANgIAIAAgAkEEajYC/AEMAQsgAiAAKAL4ASIEa0ECdSIGQQFqIgNBgICAgARPDQJBACEBQf////8DIAUgBGsiBUEBdSIHIAMgAyAHSRsgBUH8////B08bIgUEQCAFQYCAgIAETw0CIAVBAnQQXCEBCyABIAZBAnRqIgNBADYCACADQQRqIQYgAiAERwRAA0AgA0EEayIDIAJBBGsiAigCADYCACACIARHDQALCyAAIAEgBUECdGo2AoACIAAgBjYC/AEgACADNgL4ASAERQ0AIAQQWgsgCUEQaiQADwsQagALEGQAC4EDAQV/IwBBEGsiAyQAQTwQXCIBQgA3AgAgAUEANgI4IAFCADcCMCABQgA3AiggAUIANwIgIAFCADcCGCABQgA3AhAgAUIANwIIIAAgATYCoAEgAyABNgIMAkACQAJAAkAgACgCjAEiAiAAKAKQAUkEQCACIAE2AgAgACACQQRqNgKMAQwBC0HUiQtBADYCAEGhJyAAQYgBaiADQQxqEANB1IkLKAIAIQVB1IkLQQA2AgAgBUEBRg0BIAMoAgwiAUUNACABEL8CCyAAKALwAUEMayICKAIAIgEgAigCBCICRw0BDAILEAAhBiADKAIMIgEEQCABEL8CCyAGEAcACwNAIAEoAgAgACgCoAEQqwIgAUEEaiIBIAJHDQALCyAAKALMAUEEaygCACAAKAKgARCrAiAAIAAoAswBQQRrNgLMASAAKALwASICQQxrIgQoAgAiAQRAIAJBCGsgATYCACABEFoLIAAgBDYC8AEgACAAKAL8AUEEazYC/AEgA0EQaiQAC5gCAQZ/IwBBEGsiAiQAIAAQ3goCQAJAIAAoAtQBIAAoAtgBRgRAIAAtANwCDQELIAAoAqABIQZBPBBcIgFCADcCACABQQA2AjggAUIANwIwIAFCADcCKCABQgA3AiAgAUIANwIYIAFCADcCECABQgA3AgggACABNgKgASACIAE2AgwCQCAAKAKMASIDIAAoApABSQRAIAMgATYCACAAIANBBGo2AowBDAELQdSJC0EANgIAQaEnIABBiAFqIAJBDGoQA0HUiQsoAgAhBUHUiQtBADYCACAFQQFGDQIgAigCDCIBRQ0AIAEQvwILIAYgACgCoAEQqwILIAJBEGokAA8LEAAhByACKAIMIgEEQCABEL8CCyAHEAcAC5cDAQd/IwBBEGsiAyQAIAAoAqABIQVBPBBcIgJCADcCACACQQA2AjggAkIANwIwIAJCADcCKCACQgA3AiAgAkIANwIYIAJCADcCECACQgA3AgggACACNgKgASADIAI2AgQCQAJAAkAgACgCjAEiBCAAKAKQAUkEQCAEIAI2AgAgACAEQQRqNgKMAQwBC0HUiQtBADYCAEGhJyAAQYgBaiADQQRqEANB1IkLKAIAIQdB1IkLQQA2AgAgB0EBRg0BIAMoAgQiAkUNACACEL8CCyAFIAAoAqABEKsCIAEoAgAiASgCAEEDRw0BIAEoAggEQCAAKALAAUEEaygCACEEIANBCGogAEGkAWoiBSABQQhqIgIpAgAgAhD6AiADKAIIIgYoAhgiASAGKAIcIgZHBEADQCABKAIAIAQQqwIgAUEEaiIBIAZHDQALCyAFIAIpAgAQ5wMLIAAgACgCwAFBBGs2AsABIANBEGokAA8LEAAhCCADKAIEIgEEQCABEL8CCyAIEAcAC0Hw7QVBxZgDQZQGQY3eABABAAvzAwEJfyMAQRBrIgQkACAAKAKgASEFQTwQXCIBQgA3AgAgAUEANgI4IAFCADcCMCABQgA3AiggAUIANwIgIAFCADcCGCABQgA3AhAgAUIANwIIIAAgATYCoAEgBCABNgIMAkACQAJAAkACQAJAIAAoAowBIgIgACgCkAFJBEAgAiABNgIAIAAgAkEEajYCjAEMAQtB1IkLQQA2AgBBoScgAEGIAWogBEEMahADQdSJCygCACEJQdSJC0EANgIAIAlBAUYNASAEKAIMIgFFDQAgARC/AgsgBSAAKAKgARCrAiAAKAK0ASIBIAAoArgBRg0BIAEgBTYCACAAIAFBBGo2ArQBDAILEAAhCiAEKAIMIgEEQCABEL8CCyAKEAcACyABIAAoArABIgdrIgJBAnUiCEEBaiIDQYCAgIAETw0BQf////8DIAJBAXUiBiADIAMgBkkbIAJB/P///wdPGyIDBH8gA0GAgICABE8NAyADQQJ0EFwFQQALIgYgCEECdGoiAiAFNgIAIAJBBGohBSABIAdHBEADQCACQQRrIgIgAUEEayIBKAIANgIAIAEgB0cNAAsgACgCsAEhAQsgACAGIANBAnRqNgK4ASAAIAU2ArQBIAAgAjYCsAEgAUUNACABEFoLIARBEGokAA8LEGQACxBqAAsGAEGAgAILhQQBCH8jAEEQayIGJAACQAJAAkAgACgCtAEiAyAAKAK4AUcEQCADIAAoAqABNgIAIAAgA0EEaiIFNgK0AQwBCyADIAAoArABIgdrIgVBAnUiBEEBaiICQYCAgIAETw0BQf////8DIAVBAXUiASACIAEgAksbIAVB/P///wdPGyICBH8gAkGAgICABE8NAyACQQJ0EFwFQQALIgEgBEECdGoiBCAAKAKgATYCACAEQQRqIQUgAyAHRwRAA0AgBEEEayIEIANBBGsiAygCADYCACADIAdHDQALIAAoArABIQMLIAAgASACQQJ0ajYCuAEgACAFNgK0ASAAIAQ2ArABIANFDQAgAxBaIAAoArQBIQULIAVBCGsoAgAhBEE8EFwiAkIANwIAIAJBADYCOCACQgA3AjAgAkIANwIoIAJCADcCICACQgA3AhggAkIANwIQIAJCADcCCCAAIAI2AqABIAYgAjYCDAJAAkAgACgCjAEiASAAKAKQAUkEQCABIAI2AgAgACABQQRqNgKMAQwBC0HUiQtBADYCAEGhJyAAQYgBaiAGQQxqEANB1IkLKAIAIQhB1IkLQQA2AgAgCEEBRg0BIAYoAgwiAUUNACABEL8CCyAEIAAoAqABEKsCIAZBEGokAA8LEAAhCSAGKAIMIgAEQCAAEL8CCyAJEAcACxBkAAsQagAL3QIBB38jAEEQayIDJAAgACgCoAEhBUE8EFwiAkIANwIAIAJBADYCOCACQgA3AjAgAkIANwIoIAJCADcCICACQgA3AhggAkIANwIQIAJCADcCCCAAIAI2AqABIAMgAjYCDAJAAkACQCAAKAKMASIEIAAoApABSQRAIAQgAjYCACAAIARBBGo2AowBDAELQdSJC0EANgIAQaEnIABBiAFqIANBDGoQA0HUiQsoAgAhBkHUiQtBADYCACAGQQFGDQEgAygCDCICRQ0AIAIQvwILIAUgACgCoAEQqwIgASgCACIBKAIAQQJHDQEgASgCECEHIAAoArQBQQRrKAIAIAAoAqABEKsCIAAoArQBIQEgBwRA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ACIBKAIAQdgARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQkQILLwAgASgCACIBKAIAQdcARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQkQILLwAgASgCACIBKAIAQdYARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQkQILLwAgASgCACIBKAIAQdUARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQkQILLwAgASgCACIBKAIAQdQARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQkQILLwAgASgCACIBKAIAQdMARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQkQILLwAgASgCACIBKAIAQdIARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQkQILLwAgASgCACIBKAIAQdEARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQkQILLwAgASgCACIBKAIAQdAARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQkQILLwAgASgCACIBKAIAQc8ARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQkQILLwAgASgCACIBKAIAQc4ARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQkQILLwAgASgCACIBKAIAQc0ARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQkQILLwAgASgCACIBKAIAQcwARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQkQILLwAgASgCACIBKAIAQcsARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQkQILLwAgASgCACIBKAIAQcoARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQkQILLwAgASgCACIBKAIAQckARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQkQILLwAgASgCACIBKAIAQcgARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQkQILLwAgASgCACIBKAIAQccARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQkQILLwAgASgCACIBKAIAQcYARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJs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AEEJRw1UDGALIABBtiEgARBYIAIoAgBBCkYNUgxTCyAAQbchIAEQWCACKAIAQQtHDVIMWwsgAEG4ISABEFggAigCAEEMRw1RDF8LIABBuSEgARBYIAIoAgBBDUcNUAxdCyAAQbohIAEQWCACKAIAQRhHDU8MXgsgAEG7ISABEFggAigCAEEZRw1OIABBrCEgAkEgahBYDF0LIABBvCEgARBYIAIoAgBBGkcNTQxUCyAAQb0hIAEQWCACKAIAQRtHDUwMVAsgAEG+ISABEFggAigCAEEcRg1KDEsLIABBvyEgARBYIAIoAgBBHUcNSgxWCyAAQcAhIAEQWCACKAIAQR5HDUkgAEGsISACQRRqEFgMVQsgAEHBISABEFggAigCAEEfRw1IDE0LIABBwiEgARBYIAIoAgBBIEcNRwxRCyAAQcMhIAEQWCACKAIAQSFHDUYMUQsgAEHEISABEFggAigCAEEiRw1FIABBrCEgAkEgahBYDwsgAEHFISABEFggAigCAEEjRw1EDFELIABBxiEgARBYIAIoAgBBJEcNQwxKCyAAQcchIAEQWCACKAIAQSVGDUEMQgsgAEHIISABEFggAigCAEEmRw1BDEULIABBySEgARBYIAIoAgBBJ0cNQAxECyAAQcohIAEQWCACKAIAQQ5GDT4MPwsgAEHLISABEFggAigCAEEPRw0+DEoLIABBzCEgARBYIAIoAgBBEEcNPQxICyAAQc0hIAEQWCACKAIAQRFHDTwMQAsgAEHOISABEFggAigCAEESRw07DEsLIABBzyEgARBYIAIoAgBBE0cNOiACKAIIRQ05DEsLIABB0CEgARBYIAIoAgBBFEYNOAw5CyAAQdEhIAEQWCACKAIAQRVHDTgMSAsgAEHSISABEFggAigCAEEpRg02DDcLIABB0yEgARBYIAIoAgBBKkcNNgxGCyAAQdQhIAEQWCACKAIAQStGDTQMNQsgAEHVISABEFggAigCAEEsRw00DDkLIABB1iEgARBYIAIoAgBBLUcNMww8CyAAQdchIAEQWCACKAIAQS5HDTIMOgsgAEHYISABEFggAigCAEEvRg0wDDELIABB2SEgARBYIAIoAgBBMEcNMAw4CyAAQdohIAEQWCACKAIAQTFHDS8MNgsgAEHbISABEFggAigCAEEyRw0uDDILIABB3CEgARBYIAIo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WCACKAIAQQNHDVoMYwsgAEHSICABEFggAigCAEEERw1ZIAIoAhQEQCAAQQRqQc4gIAJBFGoQWwsgAigCEEUNWCAAQQRqQc4gIAJBEGoQWw8LIABB0yAgARBYIAIoAgBBBUcNWCAAQc4gIAJBJGoQWCACKAIgRQ1XIABBBGpBziAgAkEgahBbDwsgAEHUICABEFggAigCAEEGRw1XIAIoAgwiAUEATA1WIABBBGohBANAIAFBAWsiACACKAIMTw1ZIAIoAgggAEECdGoiAygCAEUNWiAEQc4gIAMQWyABQQFLIQcgACEBIAcNAAsMVgsgAEHVICABEFggAigCAEEHRw1WIABBziAgAkEcahBYIAIoAhAiAUEATA1VIABBBGohBANAIAFBAWsiACACKAIQTw1YIAIoAgwgAEECdGoiAygCAEUNWSAEQc4gIAMQWyABQQFLIQggACEBIAgNAAsMVQsgAEHWICABEFggAigCAEEIRg1UDFULIABB1yAgARBYIAIoAgBBCUcNVAxgCyAAQdggIAEQWCACKAIAQQpGDVIMUwsgAEHZICABEFggAigCAEELRw1SDFsLIABB2iAgARBYIAIoAgBBDEcNUQxfCyAAQdsgIAEQWCACKAIAQQ1HDVAMXQsgAEHcICABEFggAigCAEEYRw1PDF4LIABB3SAgARBYIAIoAgBBGUcNTiAAQc4gIAJBIGoQWAxdCyAAQd4gIAEQWCACKAIAQRpHDU0MVAsgAEHfICABEFggAigCAEEbRw1MDFQLIABB4CAgARBYIAIoAgBBHEYNSgxLCyAAQeEgIAEQWCACKAIAQR1HDUoMVgsgAEHiICABEFggAigCAEEeRw1JIABBziAgAkEUahBYDFULIABB4yAgARBYIAIoAgBBH0cNSAxNCyAAQeQgIAEQWCACKAIAQSBHDUcMUQsgAEHlICABEFggAigCAEEhRw1GDFELIABB5iAgARBYIAIoAgBBIkcNRSAAQc4gIAJBIGoQWA8LIABB5yAgARBYIAIoAgBBI0cNRAxRCyAAQeggIAEQWCACKAIAQSRHDUMMSgsgAEHpICABEFggAigCAEElRg1BDEILIABB6iAgARBYIAIoAgBBJkcNQQxFCyAAQesgIAEQWCACKAIAQSdHDUAMRAsgAEHsICABEFggAigCAEEORg0+DD8LIABB7SAgARBYIAIoAgBBD0cNPgxKCyAAQe4gIAEQWCACKAIAQRBHDT0MSAsgAEHvICABEFggAigCAEERRw08DEALIABB8CAgARBYIAIoAgBBEkcNOwxLCyAAQfEgIAEQWCACKAIAQRNHDTogAigCCEUNOQxLCyAAQfIgIAEQWCACKAIAQRRGDTgMOQsgAEHzICABEFggAigCAEEVRw04DEgLIABB9CAgARBYIAIoAgBBKUYNNgw3CyAAQfUgIAEQWCACKAIAQSpHDTYMRgsgAEH2ICABEFggAigCAEErRg00DDULIABB9yAgARBYIAIoAgBBLEcNNAw5CyAAQfggIAEQWCACKAIAQS1HDTMMPAsgAEH5ICABEFggAigCAEEuRw0yDDoLIABB+iAgARBYIAIoAgBBL0YNMAwxCyAAQfsgIAEQWCACKAIAQTBHDTAMOAsgAEH8ICABEFggAigCAEExRw0vDDYLIABB/SAgARBYIAIoAgBBMkcNLgwyCyAAQf4gIAEQWCACKAIAQTNHDS0gAigCKCIBQQBKBEAgAEEEaiEDA0AgAUEBayIEIAIoAihPDTAgAigCJCAEQQJ0aiIFKAIARQ0xIANBziAgBRBbIAFBAUshCSAEIQEgCQ0ACwsMNgsgAEH/ICABEFggAigCAEE0RgRADD0LDCwLIABBgCEgARBYIAIoAgBBNUcNKyACKAIUIgFBAEwNKiAAQQRqIQQDQCABQQFrIgAgAigCFE8NLSACKAIQIABBAnRqIgMoAgBFDS4gBEHOICADEFsgAUEBSyEKIAAhASAKDQALDCoLIABBgSEgARBYIAIoAgBBNkYNKQwqCyAAQYIhIAEQWCACKAIAQTdHDSkMOQsgAEGDISABEFggAigCAEEWRg0nDCgLIABBhCEgARBYIAIoAgBBF0YNJgwnCyAAQYUhIAEQWCACKAIAQShGDSUMJgsgAEGGISABEFggAigCAEE4Rw0lIAIoAgwiAUEATA0kIABBBGohBANAIAFBAWsiACACKAIMTw0nIAIoAgggAEECdGoiAygCAEUNKCAEQc4gIAMQWyABQQFLIQsgACEBIAsNAAsMJAsgAEGHISABEFggAigCAEE5Rw0kDDQLIABBiCEgARBYIAIoAgBBOkcNIwwzCyAAQYkhIAEQWCACKAIAQTtHDSIMMgsgAEGKISABEFggAigCAEE8Rw0hIABBziAgAkEYahBYIAIoAgwiAUEATA0gIABBBGohBANAIAFBAWsiACACKAIMTw0jIAIoAgggAEECdGoiAygCAEUNJCAEQc4gIAMQWyABQQFLIQwgACEBIAwNAAsMIAsgAEGLISABEFggAigCAEE9Rw0gDDALIABBjCEgARBYIAIoAgBBPkcNHwwvCyAAQY0hIAEQWCACKAIAQT9HDR4gAEHOICACQRRqEFgPCyAAQY4hIAEQWCACKAIAQcAARw0dIAIoAgwiAUEATA0cIABBBGohBANAIAFBAWsiACACKAIMTw0fIAIoAgggAEECdGoiAygCAEUNICAEQc4gIAMQWyABQQFLIQ0gACEBIA0NAAsMHAsgAEGPISABEFggAigCAEHBAEcNHAwoCyAAQZAhIAEQWCACKAIAQcIARw0bDCYLIABBkSEgARBYIAIoAgBBwwBHDRogAEHOICACQQxqEFggAigCCEUNGQwrCyAAQZIhIAEQWCACKAIAQcQARw0ZDCELIABBkyEgARBYIAIoAgBBxQBHDRgMIAsgAEGUISABEFggAigCAEHGAEcNFyACKAIMIgFBAEwNFiAAQQRqIQQDQCABQQFrIgAgAigCDE8NGSACKAIIIABBAnRqIgMoAgBFDRogBEHOICADEFsgAUEBSyEOIAAhASAODQALDBYLIABBlSEgARBYIAIoAgBBxwBHDRYMGwsgAEGWISABEFggAigCAEHIAEcNFQwZCyAAQZchIAEQWCACKAIAQckARw0UDCQLIABBmCEgARBYIAIoAgBBygBHDRMgAEHOICACQRhqEFgMFgsgAEGZISABEFggAigCAEHLAEcNEgwVCyAAQZohIAEQWCACKAIAQcwARw0RDBcLIABBmyEgARBYIAIoAgBBzQBHDRAMFgsgAEGcISABEFggAigCAEHOAEcNDwwbCyAAQZ0hIAEQWCACKAIAQc8ARw0OIAIoAhgEQCAAQQRqQc4gIAJBGGoQWwsgAigCFARAIABBBGpBziAgAkEUahBbCyACKAIQBEAgAEEEakHOICACQRBqEFsLDBoLIABBniEgARBYIAIoAgBB0ABGDQwMDQsgAEGfISABEFggAigCAEHRAEcNDAwYCyAAQaAhIAEQWCACKAIAQdIARw0LIAIoAhQEQCAAQQRqQc4gIAJBFGoQWwsMFgsgAEGh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A0UNACACKAIYIQIgASgC1AECfyADQQFrIAJxIANpIgRBAU0NABogAiACIANJDQAaIAIgA3ALIgVBAnRqKAIAIgFFDQAgASgCACIBRQ0AAkAgBEEBTQRAIANBAWshAwNAAkAgAiABKAIEIgRHBEAgAyAEcSAFRg0BDAULIAEoAgggAkYNAwsgASgCACIBDQALDAILA0ACQCACIAEoAgQiBEcEQCADIARNBH8gBCADcAUgBAsgBUYNAQwECyABKAIIIAJGDQILIAEoAgAiAQ0ACwwBCyABKAIQIgRFDQACQAJAIAAoAnQiAygCBCICRQRAIANBBGoiBSEBDAELA0AgBCACIgEoAhAiAkkEQCABIQUgASgCACICDQEMAgsgAiAETwRAIAEhAgwDCyABKAIEIgINAAsgAUEEaiEFC0HAABBcIgJBIGpCADcCACACQgA3AjggAkIANwIwIAIgBDYCECACIAE2AgggAkIANwIAIAJBGGoiAUIANwIAIAJCADcCKCACIAE2AhQgAiACQSRqNgIgIAJCADcANSAFIAI2AgAgAiEBIAMoAgAoAgAiBARAIAMgBDYCACAFKAIAIQELIAMoAgQgARBnIAMgAygCCEEBajYCCAsgAi0AOEUNACAAQQE6AHkLDwtB8O0FQcWYA0GUBkGN3gAQAQALBQBBrQEL1R0BDn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAIgIoAgAOXgABAgMEBQYHCAkKCwwNHh8gISIjJCU1Ng4PEBESExQVFhcYGRobHB03JicoKSorLC0uLzAxMjM0ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXABdC0GY/QNB5bMDQeoBEGIACyAAQZQfIAEQWCACKAIAQQFHDVwgAigCFCIBQQBMDVsgAEEE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BkYEQCABKAIYIgJB8KgLKAIARgRAIAEoAgxFDQNB8KgLKQMAIQsgASgCCCgCACECIAAoApABKAIAQagBakEYQQQQXSIBQQA2AhQgASACNgIQIAEgCzcCCCABQoSAgIAQNwIAIABBFGogARB5DwtBoKkLKAIAIAJGBEAgACgCkAEiBEF8EN0IIQUgACgClAEhBiAAKAKQASIDKAIIEN0CIQcgAygCCBDdAiEIIAMoAgghAUHIqAspAwAhCyADKAIAQagBakEQQQQQXSICIAs3AgggAkEKNgIAIAIgATYCBCADKAIIIQkgAykCDCELIAMoAgBBqAFqQTBBCBBdIgFBADoAICABQQw2AgAgASACNgIkIAEgCK03AxggAUIANwMQIAFBADoACSABIAc6AAggASALNwIoIAEgCTYCBCAAKQKIASELIAMoAgBBqAFqQTBBCBBdIgJBADoAICACQoyAgIAgNwIAIAIgATYCJCACQgQ3AxggAkIANwMQIAJBBDsBCCACIAs3AiggAygCAEGoAWpBEEEEEF0iASACNgIMIAEgBjYCCCABQgk3AgAgASACKAIEQQFGIgM2AgQgASADIAIoAgRBAUZyNgIEIABBFGogBCgCACAFIAFCABDKAhB5DwtBqKkLKAIAIAJGBEAgACgClAEhAyAAKAKQASIEKAIAQagBakEMQQQQXSICIAM2AgggAkKIgICAIDcCACABKAIMRQ0DIAEoAggoAgAhAyAEKAIAQagBakEUQQQQXSIBIAM2AhAgASACNgIMIAFBDzYCCCABQhA3AgAgA0UNAiAAQRRqIQpBASEAIAEgAigCBEEBRwR/QQFBAiADKAIEQQFGGwVBAQs2AgQgCiABEHkLDwtB8O0FQcWYA0GUBkGN3gAQAQALQb/zAEGkpAJB8AVBssMDEAEAC0HFogFBiaIDQbwBQaaIBRABAAu2BQEJfyMAQRBrIgckACAAKAKMASEIQTwQXCIBQgA3AgAgAUEANgI4IAFCADcCMCABQgA3AiggAUIANwIgIAFCADcCGCABQgA3AhAgAUIANwIIIAAgATYCjAFB1IkLQQA2AgAgByABNgIMQc4dIABB9ABqIAdBDGoiARADQdSJCygCACECQdSJC0EANgIAAkACQCACQQFHBEAgARC5AhogACgCjAEhBAJAIAAoAoQBIgEgACgCiAFH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AUIANwIAIAFBADYCOCABQgA3AjAgAUIANwIoIAFCADcCICABQgA3AhggAUIANwIQIAFCADcCCCAAIAE2AowBQdSJC0EANgIAIAkgATYCDEHOHSAOIAlBDGoiARADQdSJCygCACERQdSJC0EANgIAIBFBAUYNAyABELkCGiAAKAKMASELAkAgBCgCACICIAooAgAiBkkEQCACIAs2AgAgBCACQQRqNgIADAELIAIgBygCACIBa0ECdSIPQQFqIgNBgICAgARPDQJB/////wMgBiABayIGQQF1IgwgAyADIAxJGyAGQfz///8HTxsiBgR/IAZBgICAgARPDQcgBkECdBBcBUEACyIMIA9BAnRqIgMgCzYCACADQQRqIQsgASACRwRAA0AgA0EEayIDIAJBBGsiAigCADYCACABIAJHDQALIAcoAgAhAgsgByADNgIAIAQgCzYCACAKIAwgBkECdGo2AgAgAkUNACACEFoLIBBBAWoiECAIKAIoSQ0ACwwDCxBkAAtB8O0FQcWYA0GUBkGN3gAQAQALEAAhEiAJQQxqELkCGiASEAcACyAAIA02AowBIAAoAsQBIgJBDGsiASgCACIEIAEoAgQiBkcEQCAFQQhrIggoAgAhBSAHKAIAIQEDQCABIAUiA0cEQCAEKAIAIQpBACECIAEhAwNAIAogAyACQQJ0aigCABCrAiACQQFqIgIgCCgCACIFIAcoAgAiA2tBAnVJDQALCyADIQEgBEEEaiIEIAZHDQALIAAoAsQBIgJBDGsoAgAhBAsgBARAIAJBCGsgBDYCACAEEFoLIAAgAkEMazYCxAEgACAAKALQAUEEazYC0AECQCAAKALoASICIAAoAuwBIgRJBEAgAkEANgIAIAAgAkEEajYC6AEMAQsgAiAAKALkASIFa0ECdSIHQQFqIgNBgICAgARPDQJBACEBQf////8DIAQgBWsiBEEBdSIGIAMgAyAGSRsgBEH8////B08bIgQEQCAEQYCAgIAETw0CIARBAnQQXCEBCyABIAdBAnRqIgNBADYCACADQQRqIQcgAiAFRwRAA0AgA0EEayIDIAJBBGsiAigCADYCACACIAVHDQALCyAAIAEgBEECdGo2AuwBIAAgBzYC6AEgACADNgLkASAFRQ0AIAUQWgsgCUEQaiQADwsQagALEGQACwUAQaQBC8YCAQR/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QgA3AiAgAUIANwIYIAFCADcCECABQgA3AgggACABNgKMAUHUiQtBADYCACAFIAE2AgxBzh0gAEH0AGogBUEMaiIBEANB1IkLKAIAIQlB1IkLQQA2AgAgCUEBRg0CIAEQuQIaIAogACgCjAEQqwIgBUEQaiQADwsQZAALEGoACxAAIQsgBUEMahC5AhogCxAHAAunAgEGfyMAQRBrIgMkACAAKAKMASEEQTwQXCICQgA3AgAgAkEANgI4IAJCADcCMCACQgA3AiggAkIANwIgIAJCADcCGCACQgA3AhAgAkIANwIIIAAgAjYCjAFB1IkLQQA2AgAgAyACNgIMQc4dIABB9ABqIANBDGoiAhADQdSJCygCACEFQdSJC0EANgIAAkAgBUEBRwRAIAIQuQIaIAQgACgCjAEQqwIgASgCACIBKAIAQQJHDQEgASgCECEGIAAiASgCoAFBBGsoAgAgACgCjAEQqwIgACgCoAEhACAGBEAgASAAQQRrIgA2AqABCyABIABBBGs2AqABIANBEGokAA8LEAAhByADQQxqELkCGiAHEAcAC0Hw7QVBxZgDQZQGQY3eABABAAuDBAICfgt/IwBBEGsiByQAAkAgASgCACIJKAIAQQFGBEACQCAJKAIIRQ0AIABBlAFqIggoAgAiAUUNACAJKQIIIgJCIIgiA6chBiACpyEKIAghBANAAkAgASkCECICpyAKIAYgAkIgiCICpyIFIAUgBksbEF4iBQ0AQQAhBSACIANRDQBBf0EBIAIgA1QbIQULIAQgASAFQQBIIgUbIQQgAUEEaiABIAUbKAIAIgENAAsgBCAIRg0AIABBkAFqIQ0CQCAKIAQpAhAiAqcgAkIgiCICpyIBIAYgASAGSRsQXiIBRQRAIAIgA1gNAQwCCyABQQBIDQELIAQoAhwgBCgCGEYNACAAKAKMASEMQTwQXCIBQgA3AgAgAUEANgI4IAFCADcCMCABQgA3AiggAUIANwIgIAFCADcCGCABQgA3AhAgAUIANwIIIAAgATYCjAFB1IkLQQA2AgAgByABNgIMQc4dIABB9ABqIAdBDGoiARADQdSJCygCACELQdSJC0EANgIAIAtBAUYNAiABELkCGiAMIAAoAowBEKsCIAQoAhgiASAEKAIcIgRHBEADQCABKAIAIAAoAowBEKsCIAFBBGoiASAERw0A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ADYCACAOQQFGDQULIAEgAjYCCCABQgA3AgAgAUEANgIkIAFCADcCHCAFIAE2AgAgACgCMCgCACICBEAgACACNgIwIAUoAgAhAQsgACgCNCABEGcgACAAKAI4QQFqNgI4IAYoAgQhAgtBjMMLIAJBHGoiASgCACABIAItACciAcBBAEgiBRsgAigCICABIAUbEF8aQYzDC0HktgZBAhBfGkGMwwsgAygCECAIIAMtABsiAsBBAEgiARsgAygCFCACIAEbEF8aQYzDC0GYqQdBAhBfGgsCQCADKAIEIgEEQANAIAEiAigCACIBDQAMAgsACwNAIAMoAggiAigCACADRyEPIAIhAyAPDQALCyACIgMgDUcNAAsLIAZBEGokAA8LEAAhECAGKAIEIQAgBkEANgIEIAAEQAJAIAYtAAxFDQAgACwAJ0EASARAIAAoAhwQWgsgACwAG0EATg0AIAAoAhAQWgsgABBaCyAQEAcAC/kEAQx/IwBBEGsiAyQAQdSJC0EANgIAQRcgA0EIaiAAEAIhBUHUiQsoAgAhAkHUiQtBADYCAAJAAkACQCACQQFHBEACQCAFLQAARQ0AIANBBGoiBCAAIAAoAgBBDGsoAgBqKAIcIgI2AgAgAiACKAIEQQFqNgIEQdSJC0EANgIAQaUCIAMoAgQQBiEHQdSJCygCACECQdSJC0EANgIAAkACQCACQQFHBEAgBCgCACICIAIoAgRBAWsiBDYCBCAEQX9GBEAgAiACKAIAKAIIEQEACyADIAAgACgCAEEMaygCAGooAhg2AgAgACgCAEEMaygCACECQdSJC0EANgIAQaYCIAAgAmoiAhAGIQRB1IkLKAIAIQhB1IkLQQA2AgAgCEEBRg0BIAMoAgAhBkHUiQtBADYCAEHVHCAHIAYgAiAEIAEQECEKQdSJCygCACEJQdSJC0EANgIAIAlBAUYNASAKDQMgACgCAEEMaygCACEBQdSJC0EANgIAQagCIAAgAWpBBRADQdSJCygCACELQdSJC0EANgIAIAtBAUcNA0EAEAshAQwCC0EAEAshASADKAIEIgIgAigCBEEBayIENgIEIARBf0YEQCACIAIoAgAoAggRAQALDAELQQAQCyEBCyAFEJ4DDAILIAUQngMMAgtBABALIQELIAEQDhogACgCAEEMaygCACEBQdSJC0EANgIAQRsgACABahAKQdSJCygCACEMQdSJC0EANgIAIAxBAUYNARARCyADQRBqJAAgAA8LEAAhAEHUiQtBADYCAEEcEAlB1IkLKAIAIQ1B1IkLQQA2AgAgDUEBRwRAIAAQBwALQQAQCxoQcAAL8gEBBH8jAEEQayIBJAAgAEEYaiEEAkADQCAAKAIURQ0BIAEgACgCBCAAKAIQIgJBCHZB/P//B3FqKAIAIAJB/wdxQQJ0aigCACICNgIEIAFBCGogBCACIAFBBGoQxAMgASgCCCIDIAMoAgxBAWs2AgwgACAAKAIUQQFrNgIUIAAgACgCEEEBaiIDNgIQIANBgBBPBEAgACgCBCgCABBaIAAgACgCBEEEajYCBCAAIAAoAhBBgAhrNgIQCyABQQhqIAQgAiABQQRqEMQDIAEoAggoAgwNAAsgAUEQaiQAIAIPC0Gr9wVBx54DQTRB77oCEAEACwUAQZsBC8QHAg5/An4jAEEQayIFJAACQAJAAkACfyAAKAIQIgQEQCABKQIAIhBCIIgiEachAiAQpyEDA0ACQAJAIAMgBCkCECIQpyIGIBBCIIgiEKciByACIAIgB0sbIgcQXiIIRQRAIBAgEVgNAQwCCyAIQQBIDQELAkAgBiADIAcQXiIGRQRAIBAgEVQNAUEBDAULIAZBAEgNAEEBDAQLIARBBGohBAsgBCgCACIEDQALCyAAKAIYIgQgAEEcaiIGRwRAA0AgASgCBCICQfD///8HTw0DIAEoAgAhBwJAAkAgAkELTwRAIAJBD3JBAWoiCBBcIQMgBSAIQYCAgIB4cjYCDCAFIAM2AgQgBSACNgIIDAELIAUgAjoADyAFQQRqIQMgAkUNAQsgAyAHIAL8CgAACyACIANqQQA6AABB1IkLQQA2AgBB1BwgBEEQaiIIIAVBBGoQAiECQdSJCygCACEDQdSJC0EANgIAAkAgA0EBRwRAIAUsAA9BAEgEQCAFKAIEEFoLIAJFDQEgAEEoaiIHIQYCQCAHIgIoAgAiAUUNACAEKAIUIAQtABsiAiACwEEASCICGyEDIAQoAhAgCCACGyEJA0AgCSABIgIoAhAgAkEQaiACLQAbIgHAQQBIIgYbIgogAigCFCABIAYbIgEgAyABIANJIgYbIgsQXiIMQQBIIAEgA0sgDBtBAUYEQCACIQYgAigCACIBDQEMAgtBASAKIAkgCxBeIgFBAEggBiABG0EBRw0GGiACKAIEIgENAAsgAkEEaiEGC0EcEFwhAyAFIAc2AgggBSADNgIEIANBEGohASAFQQA6AAwCQCAELAAbQQBOBEAgASAIKQIANwIAIAEgCCgCCDYCCAwBCyAEKAIUIQcgBCgCECEEQdSJC0EANgIAQdQAIAEgBCAHEAhB1IkLKAIAIQ1B1IkLQQA2AgAgDUEBRg0HCyADIAI2AgggA0IANwIAIAYgAzYCACAAKAIkKAIAIgEEQCAAIAE2AiQgBigCACEDCyAAKAIoIAMQZyAAIAAoAixBAWo2AixBAQwECxAAIQQgBSwAD0EATg0GIAUoAgQQWiAEEAcACwJAIAQiAygCBCICBEADQCACIgQoAgAiAg0ADAILAAsDQCADKAIIIgQoAgAgA0chDiAEIQMgDg0ACwsgBCAGRw0ACwtBAAshDyAFQRBqJAAgDw8LEOoBAAsQACEEIAUoAgQhACAFQQA2AgQgAARAAkAgBS0ADEUNACAALAAbQQBODQAgACgCEBBaCyAAEFoLCyAEEAcAC7EhAQ5/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAIgIoAgAOXgABAgMEBQYHCAkKCwwNHh8gISIjJCU1Ng4PEBESExQVFhcYGRobHB03JicoKSorLC0uLzAxMjM0ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXABdC0GY/QNB5bMDQeoBEGIACyAAQRRqQfgbIAEQWCACKAIAQQFHDVwgAigCFCIBQQBMDVsgAEEYaiEDA0AgAUEBayIAIAIoAhRPDV4gAigCECAAQQJ0aiIEKAIARQ1fIANB7xsgBBBbIAFBAUshBiAAIQEgBg0ACwxbCyAAQRRqIgNB+RsgARBYIAIoAgBBAkcNWyACKAIQBEAgAEEYakHvGyACQRBqEFsLIANB7xsgAkEMahBYIANB7xsgAkEIahBYDwsgAEEUaiIAQfobIAEQWCACKAIAQQNHDVoMYAsgAEEUakH7GyABEFggAigCAEEERw1ZIAIoAhQEQCAAQRhqQe8bIAJBFGoQWwsgAigCEEUNWCAAQRhqQe8bIAJBEGoQWw8LIABBFGoiA0H8GyABEFggAigCAEEFRw1YIANB7xsgAkEkahBYIAIoAiBFDVcgAEEYakHvGyACQSBqEFsPCyAAQRRqQf0bIAEQWCACKAIAQQZHDVcgAigCDCIBQQBMDVYgAEEYaiEDA0AgAUEBayIAIAIoAgxPDVkgAigCCCAAQQJ0aiIEKAIARQ1aIANB7xsgBBBbIAFBAUshByAAIQEgBw0ACwxWCyAAQRRqIgNB/hsgARBYIAIoAgBBB0cNViADQe8bIAJBHGoQWCACKAIQIgFBAEwNVSAAQRhqIQMDQCABQQFrIgAgAigCEE8NWCACKAIMIABBAnRqIgQoAgBFDVkgA0HvGyAEEFsgAUEBSyEIIAAhASAIDQALDFULIABBFGpB/xsgARBYIAIoAgBBCEYNVAxVCyAAQRRqIgBBgBwgARBYIAIoAgBBCUcNVAxdCyAAQRRqQYEcIAEQWCACKAIAQQpGDVIMUwsgAEEUaiIAQYIcIAEQWCACKAIAQQtHDVIMWAsgAEEUaiIAQYMcIAEQWCACKAIAQQxHDVEMXAsgAEEUaiIAQYQcIAEQWCACKAIAQQ1HDVAMWgsgAEEUaiIAQYUcIAEQWCACKAIAQRhHDU8MWwsgAEEUaiIAQYYcIAEQWCACKAIAQRlHDU4gAEHvGyACQSBqEFgMWgsgAEEUaiIAQYccIAEQWCACKAIAQRpHDU0MUQsgAEEUaiIAQYgcIAEQWCACKAIAQRtHDUwMUQsgAEEUakGJHCABEFggAigCAEEcRg1KDEsLIABBFGoiAEGKHCABEFggAigCAEEdRw1KDFMLIABBFGoiAEGLHCABEFggAigCAEEeRw1JIABB7xsgAkEUahBYDFILIABBFGoiAEGMHCABEFggAigCAEEfRw1IDFcLIABBFGoiAEGNHCABEFggAigCAEEgRw1HDE4LIABBFGoiAEGOHCABEFggAigCAEEhRw1GDE4LIABBFGoiAEGPHCABEFggAigCAEEiRw1FIABB7xsgAkEgahBYDwsgAEEUaiIAQZAcIAEQWCACKAIAQSNHDUQMTgsgAEEUaiIAQZEcIAEQWCACKAIAQSRHDUMMRwsgAEEUakGSHCABEFggAigCAEElRg1BDEILIABBFGoiAEGTHCABEFggAigCAEEmRw1BDE8LIABBFGoiAEGUHCABEFggAigCAEEnRw1ADE4LIABBFGpBlRwgARBYIAIoAgBBDkYNPgw/CyAAQRRqIgBBlhwgARBYIAIoAgBBD0cNPgxHCyAAQRRqIgBBlxwgARBYIAIoAgBBEEcNPQxFCyAAQRRqIgBBmBwgARBYIAIoAgBBEUcNPAxKCyAAQRRqIgBBmRwgARBYIAIoAgBBEkcNOwxLCyAAQRRqQZocIAEQWCACKAIAQRNHDTogAigCCEUNOQxLCyAAQRRqQZscIAEQWCACKAIAQRRGDTgMOQsgAEEUaiIAQZwcIAEQWCACKAIAQRVHDTgMSAsgAEEUakGdHCABEFggAigCAEEpRg02DDcLIABBFGoiAEGeHCABEFggAigCAEEqRw02DEYLIABBFGpBnxwgARBYIAIoAgBBK0YNNAw1CyAAQRRqIgBBoBwgARBYIAIoAgBBLEcNNAxDCyAAQRRqIgBBoRwgARBYIAIoAgBBLUcNMww5CyAAQRRqIgBBohwgARBYIAIoAgBBLkcNMgw3CyAAQRRqQaMcIAEQWCACKAIAQS9GDTAMMQsgAEEUaiIAQaQcIAEQWCACKAIAQTBHDTAMNQsgAEEUaiIAQaUcIAEQWCACKAIAQTFHDS8MMwsgAEEUaiIAQaYcIAEQWCACKAIAQTJHDS4MPAsgAEEUaiIDQaccIAEQWCACKAIAQTNHDS0gAigCKCIBQQBKBEAgAEEYaiEEA0AgAUEBayIAIAIoAihPDTAgAigCJCAAQQJ0aiIFKAIARQ0xIARB7xsgBRBbIAFBAUshCSAAIQEgCQ0ACwsgA0HvGyACQRBqEFgPCyAAQRRqIgBBqBwgARBYIAIoAgBBNEYEQAw9CwwsCyAAQRRqQakcIAEQWCACKAIAQTVHDSsgAigCFCIBQQBMDSogAEEYaiEDA0AgAUEBayIAIAIoAhRPDS0gAigCECAAQQJ0aiIEKAIARQ0uIANB7xsgBBBbIAFBAUshCiAAIQEgCg0ACwwqCyAAQRRqQaocIAEQWCACKAIAQTZGDSkMKgsgAEEUaiIAQascIAEQWCACKAIAQTdHDSkMOQsgAEEUakGsHCABEFggAigCAEEWRg0nDCgLIABBFGpBrRwgARBYIAIoAgBBF0YNJgwnCyAAQRRqQa4cIAEQWCACKAIAQShGDSUMJgsgAEEUakGvHCABEFggAigCAEE4Rw0lIAIoAgwiAUEATA0kIABBGGohAwNAIAFBAWsiACACKAIMTw0nIAIoAgggAEECdGoiBCgCAEUNKCADQe8bIAQQWyABQQFLIQsgACEBIAsNAAsMJAsgAEEUaiIAQbAcIAEQWCACKAIAQTlHDSQMNAsgAEEUaiIAQbEcIAEQWCACKAIAQTpHDSMMMwsgAEEUaiIAQbIcIAEQWCACKAIAQTtHDSIMMgsgAEEUaiIDQbMcIAEQWCACKAIAQTxHDSEgA0HvGyACQRhqEFggAigCDCIBQQBMDSAgAEEYaiEDA0AgAUEBayIAIAIoAgxPDSMgAigCCCAAQQJ0aiIEKAIARQ0kIANB7xsgBBBbIAFBAUshDCAAIQEgDA0ACwwgCyAAQRRqIgBBtBwgARBYIAIoAgBBPUcNIAwwCyAAQRRqIgBBtRwgARBYIAIoAgBBPkcNHwwvCyAAQRRqIgBBthwgARBYIAIoAgBBP0cNHiAAQe8bIAJBFGoQWA8LIABBFGpBtxwgARBYIAIoAgBBwABHDR0gAigCDCIBQQBMDRwgAEEYaiEDA0AgAUEBayIAIAIoAgxPDR8gAigCCCAAQQJ0aiIEKAIARQ0gIANB7xsgBBBbIAFBAUshDSAAIQEgDQ0ACwwcCyAAQRRqIgBBuBwgARBYIAIoAgBBwQBHDRwMJQsgAEEUaiIAQbkcIAEQWCACKAIAQcIARw0bDCMLIABBFGoiA0G6HCABEFggAigCAEHDAEcNGiADQe8bIAJBDGoQWCACKAIIRQ0ZDCsLIABBFGoiAEG7HCABEFggAigCAEHEAEcNGQweCyAAQRRqIgBBvBwgARBYIAIoAgBBxQBHDRgMHQsgAEEUakG9HCABEFggAigCAEHGAEcNFyACKAIMIgFBAEwNFiAAQRhqIQMDQCABQQFrIgAgAigCDE8NGSACKAIIIABBAnRqIgQoAgBFDRogA0HvGyAEEFsgAUEBSyEOIAAhASAODQALDBYLIABBFGoiAEG+HCABEFggAigCAEHHAEcNFgwlCyAAQRRqIgBBvxwgARBYIAIoAgBByABHDRUMIwsgAEEUaiIAQcAcIAEQWCACKAIAQckARw0UDCQLIABBFGoiAEHBHCABEFggAigCAEHKAEcNEyAAQe8bIAJBGGoQWAwgCyAAQRRqIgBBwhwgARBYIAIoAgBBywBHDRIMHwsgAEEUaiIAQcMcIAEQWCACKAIAQcwARw0RDBQLIABBFGoiAEHEHCABEFggAigCAEHNAEcNEAwTCyAAQRRqIgBBxRwgARBYIAIoAgBBzgBHDQ8MGAsgAEEUaiIDQcYcIAEQWCACKAIAQc8ARw0OIAIoAhgEQCAAQRhqQe8bIAJBGGoQWwsgAigCFARAIABBGGpB7xsgAkEUahBbCyACKAIQBEAgAEEYakHvGyACQRBqEFsLDCALIABBFGpBxxwgARBYIAIoAgBB0ABGDQwMDQsgAEEUaiIAQcgcIAEQWCACKAIAQdEARw0MDBULIABBFGoiA0HJHCABEFggAigCAEHSAEcNCyACKAIUBEAgAEEYakHvGyACQRRqEFsLIANB7xsgAkEQahBYDB0LIABBFGoiAEHKHCABEFggAigCAEHTAEcNCgwZCyAAQRRqIgBByxwgARBYIAIoAgBB1ABHDQkMEQsgAEEUaiIAQcwcIAEQWCACKAIAQdUARw0IDBELIABBFGoiAEHNHCABEFggAigCAEHWAEcNBwwVCyAAQRRqIgBBzhwgARBYIAIoAgBB1wBHDQYMFQsgAEEUaiIAQc8cIAEQWCACKAIAQdgARw0FDBULIABBFGoiAEHQHCABEFggAigCAEHZAEcNBAwMCyAAQRRqIgBB0RwgARBYIAIoAgBB2gBHDQMMCgsgAEEUaiIAQdIcIAEQWCACKAIAQdsARw0CDBELIABBFGoiA0HTHCABEFggAigCAEHcAEcNASADQe8bIAJBPGoQWCACKAIwIgFBAEwNACAAQRhqIQMDQCABQQFrIgAgAigCME8NAyACKAIsIABBAnRqIgQoAgBFDQQgA0HvGyAEEFsgAUEBSyEPIAAhASAPDQALCw8LQfDtBUHFmANBlAZBjd4AEAEAC0HFogFBiaIDQbwBQaaIBRABAAtBgYMCQdOZA0G5AkGu9wIQAQALIABB7xsgAkEcahBYCyAAQe8bIAJBGGoQWAsgAEHvGyACQRRqEFgLIABB7xsgAkEQahBYDwsgAEHvGyACQRRqEFgLIABB7xsgAkEQahBYCyAAQe8bIAJBDGoQWA8LIABB7xsgAkEoahBYCyAAQe8bIAJBJGoQWA8LIABB7xsgAkEcahBYIABB7xsgAkEYahBYDwsgAEHvGyACQRRqEFgLIABB7xsgAkEQahBYCyAAQe8bIAJBDGoQWAsgAEHvGyACQQhqEFgPCyAAQRhqQe8bIAJBCGoQWw8LIANB7xsgAkEMahBYC+8PARh/IwBBsAJrIgMkAAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCBARAIAAgACgCACgCEBECAARAIAMgACgCBCICKQI4NwP4ASADIAIpAjA3A/ABIAMgAikCKDcD6AEgAyACKQIgNwPgASADIAIpAhg3A9gBIANBgAJqIAJBQGsQ4wEhBEHUiQtBADYCAEGaASADQZQCaiACQdQAahACIQVB1IkLKAIAIRFB1IkLQQA2AgAgEUEBRg0CIAMgAigCaDYCqAIgAyACKAJsIgI2AqwCIAIEQCACIAIoAgRBAWo2AgQLIANBASADKALgASICIAJBAEobNgLgASADIAMpA+gBNwMYIAMgAykD8AE3AyAgAyADKQP4ATcDKCADIAMpA+ABNwMQIANBASADKALcASICIAJBAEobNgLcAUHUiQtBADYCACADIAMpA9gBNwMIQZsBIANBMGogBBACIQRB1IkLKAIAIQJB1IkLQQA2AgACQCACQQFHBEBB1IkLQQA2AgBBmgEgA0HEAGogBRACIQVB1IkLKAIAIRJB1IkLQQA2AgAgEkEBRg0FIAMgAygCrAIiAjYCXCADIAMoAqgCNgJYIAIEQCACIAIoAgRBAWo2AgQLIANBADYCeCADIAMpAxA3AoQBIAMgAykDGDcCjAEgAyADKQMgNwKUASADIAMpAyg3ApwBIANCADcCcCADQfzsCTYCZCADIAMpAwg3AnxB1IkLQQA2AgAgAyABNgJoIAMgAUGoAWo2AmxBmwEgA0GkAWogBBACIQFB1IkLKAIAIQJB1IkLQQA2AgACQCACQQFHBEBB1IkLQQA2AgBBmgEgA0G4AWogBRACGkHUiQsoAgAhE0HUiQtBADYCACATQQFHBEAgAyADKAJYNgLMASADIAMoAlwiATYC0AEgAQRAIAEgASgCBEEBajYCBAsgA0EAOwHUASADQQhqEGEgA0EBOgDUASAAKAIAKAIUIRRB1IkLQQA2AgAgFCAAEAYhAEHUiQsoAgAhFUHUiQtBADYCACAVQQFGDQQgAygCZCgCCCEWQdSJC0EANgIAIBYgA0HkAGoiASAAEANB1IkLKAIAIRdB1IkLQQA2AgAgF0EBRg0EQdSJC0EANgIAQZcBIAEQCkHUiQsoAgAhGEHUiQtBADYCACAYQQFGDQQgA0H87Ak2AmQgA0H8AGoQYSADKAJwIgEEQCADKAJ0IgAgASICRwRAA0AgAEEEayIAKAIAIQIgAEEANgIAIAIEQCACIAIoAgAoAgQRAQALIAAgAUcNAAsgAygCcCECCyADIAE2AnQgAhBaCyADQdgBahBhDBALEAAhACABEGsMAQsQACEACyADQfAAahDgASADQQhqEGEMDgsQACEADA0LEAAhACADQeQAahB8GgwMCyAAIAE2AnwgAEEUaiEJIAEoAhgiAiABKAIcIgRHBEADQCACKAIAIgUoAgxFBEAgCSAFQSBqEIIGCyACQQRqIgIgBEcNAAsLIAEoAgwiAiABKAIQIgVHBEADQCACKAIAIgQoAgxFBEAgACAENgJ4IAkgBEEwahCCBiAAQQA2AngLIAJBBGoiAiAFRw0ACwsgASgCMCIKIAEoAjQiDkYNCSAAQRxqIQ0DQCAKKAIAIgIoAgwEQCAJIAJBFGoQggYLIAIoAhwiCyACKAIgIg9HBEAgACgCbCEGIAAoAnAhBCAAKAIYIQUDQCADIAsoAgAiBzYCZCAEIAZrIhBBA3UiAkEAIAVrRw0GIAdFDQcCQCAFQQlNBEAgACAFQQFqIgY2AhggDSAFQQN0aiICQe8bNgIAIAIgA0HkAGo2AgQgBCECIAYhBQwBCyAAKAJ0IgggBEsEQCAEQe8bNgIAIAQgA0HkAGo2AgQgACAEQQhqIgI2AnAMAQsgAkEBaiIHQYCAgIACTw0JQf////8BIAggBmsiCEECdSIMIAcgByAMSRsgCEH4////B08bIgdBgICAgAJPDQogECAHQQN0IgwQXCIIaiIHQe8bNgIAIAggAkEDdGogA0HkAGo2AgQgB0EIaiECIAQgBkcEQANAIAdBCGsiByAEQQhrIgQpAgA3AgAgBCAGRw0ACwsgACAIIAxqNgJ0IAAgAjYCcCAAIAc2AmwgBkUNACAGEFogACgCcCECIAAoAhghBQtBACAFayACIAAoAmwiBmtBA3VHBEADQAJAIAIgBkYEQCAFRQ0OIA0gBUEBayIEQQN0aiIFKAIEIQIgBSgCACEGIAAgBDYCGAwBCyACQQhrIgQoAgAhBiAEKAIEIQIgACAENgJwCyAJIAI2AgAgAigCAEUNDSAAIAIgBhEAAEEAIAAoAhgiBWsgACgCcCICIAAoAmwiBmtBA3VHDQALCyACIQQgC0EEaiILIA9HDQALCyAKQQRqIgogDkcNAAsMCQtB6PoFQbqLA0H8A0HaywIQAQALEAAhGSAEEGsgGRAHAAsQACEAIAQQawwIC0HNygVB05kDQcgCQdD4AhABAAtBgYMCQdOZA0G5AkGu9wIQAQALEGQACxBqAAtB3sQFQbCUA0HaAEH9+wIQAQALQfWCAkHTmQNBzQJB0PgCEAEACyABKAJIIgIgASgCTCIBRwRAA0AgAigCACIELQAURQRAIAkgBEEYahCCBgsgAkEEaiICIAFHDQALCyAAQQA2AnwLIANBsAJqJAAPCyADQdgBahBhIAAQBwAL2B0CKX8CfiMAQcABayIFJAACQCABLAALQQBOBEAgACABKQIANwIAIAAgASgCCDYCCAwBCyAAIAEoAgAgASgCBBCRBAsgAEEcaiINQgA3AgAgACAAQRBqIg42AgwgDkIANwIAIABBKGoiBEIANwIAIAAgDTYCGCAAQTRqIg9CADcCACAAIAQ2AiQgACAPNgIwAkACQAJAIAMoAgAiCCADKAIEIhBHBEADQCAIKAIAIQMgBSAIKAIEIAgtAAsiBCAEwEEASCIEGzYCHCAFIAMgCCAEGzYCGEHUiQtBADYCACAFIAUpAhg3AxBBBiAFQagBaiAFQRBqEANB1IkLKAIAIQNB1IkLQQA2AgACQCADQQFHBEAgBSgCqAEhBAJAAkAgBSgCrAEiBkUNACAEIAZqIQcgBCEDA0AgAywAABDQEARAIAcgA0EBaiIDRw0BDAILCyAFQQA2AiAgBUIANwMYA0AgBCwAACIDENAQRQRAQdSJC0EANgIAQdEBIAVBGGoiBkHcABADQdSJCygCACESQdSJC0EANgIAIBJBAUYNCUHUiQtBADYCAEHRASAGIANBBHVBMGoQA0HUiQsoAgAhE0HUiQtBADYCACATQQFGDQlBMEHXACADQQ9xIgNBCkkbIANqIQMLQdSJC0EANgIAQdEBIAVBGGoiBiADwBADQdSJCygCACEUQdSJC0EANgIAIBRBAUYNCCAEQQFqIgQgB0cNAAsgBSgCGCEDIAUgBSgCHCAFLQAjIgQgBMBBAEgiBBs2ArwBIAUgAyAGIAQbNgK4AUHUiQtBADYCACAFIAUpArgBNwMIQQYgBUGwAWogBUEIahADQdSJCygCACEVQdSJC0EANgIAIBVBAUcEQCAFLAAjQQBIBEAgBSgCGBBaCyAFKAK0ASEGIAUoArABIQQMAgsMBwsgBSAGNgK0ASAFIAQ2ArABCwJAAkACQCAGQfD///8HTwRAQdSJC0EANgIAQdgAEAlB1IkLKAIAIRZB1IkLQQA2AgAgFkEBRg0BDAgLAkACQAJAIAZBC08EQEHUiQtBADYCAEEEIAZBD3JBAWoiBxAGIQNB1IkLKAIAIRdB1IkLQQA2AgAgF0EBRg0DIAUgAzYCGCAFIAY2AhwgBSAHQYCAgIB4cjYCIAwBCyAFIAY6ACMgBUEYaiEDIAZFDQELIAMgBCAG/AoAAAsgAyAGakEAOgAAAkACQCAPIgYiAygCACIERQ0AIAUoAhwgBS0AIyIDIAPAQQBIIgMbIQcgBSgCGCAFQRhqIAMbIQkDQCAJIAQiAygCECADQRBqIAMtABsiBMBBAEgiBhsiCiADKAIUIAQgBhsiBCAHIAQgB0kiBhsiCxBeIgxBAEggBCAHSyAMG0EBRgRAIAMhBiADKAIAIgQNAQwCCyAKIAkgCxBeIgRBAEggBiAEG0EBRwRAIAMhBAwDCyADKAIEIgQNAAsgA0EEaiEGC0HUiQtBADYCAEEEQSgQBiEEQdSJCygCACEYQdSJC0EANgIAIBhBAUYNBCAEIAUpAxg3AhAgBCAFKAIgNgIYIAVBADYCICAFQgA3AxggBEEANgIkIARCADcCHCAEIAM2AgggBEIANwIAIAYgBDYCACAEIQMgACgCMCgCACIHBEAgACAHNgIwIAYoAgAhAwsgACgCNCADEGcgACAAKAI4QQFqNgI4CyAEQRxqIgMgCEYNBSAILQALIgfAIQYgBCwAJ0EATgRAIAZBAEgNAyADIAgpAgA3AgAgAyAIKAIINgIIDAYLIAgoAgAhBCAIKAIEIQlB1IkLQQA2AgBB0QAgAyAEIAggBkEASCIDGyAJIAcgAxsQBBpB1IkLKAIAIRlB1IkLQQA2AgAgGUEBRg0DDAULEAAhAwwJCxAAIQMMCAsgCCgCBCEEIAgoAgAhBkHUiQtBADYCAEHSACADIAYgBBAEGkHUiQsoAgAhGkHUiQtBADYCACAaQQFHDQILEAAhAyAFLAAjQQBODQYgBSgCGBBaDAYLEAAhAwwFCyAFLAAjQQBIBEAgBSgCGBBaCwJAAn8gCCgCACAIIAgtAAsiBEGAAXFBB3YbIQNBfyAIKAIEIARB/wBxIARBgAFxQQd2GyIERQ0AGiADQSogBBDaAyIEIANrQX8gBBsLQX9HBEAgBSgCtAEiA0Hw////B08EQEHUiQtBADYCAEHYABAJQdSJCygCACEbQdSJC0EANgIAIBtBAUcNBRAAIQMMBwsgBSgCsAEhBgJAAkACQAJAIANBC08EQEHUiQtBADYCAEEEIANBD3JBAWoiBxAGIQRB1IkLKAIAIRxB1IkLQQA2AgAgHEEBRg0DIAUgBDYCGCAFIAM2AhwgBSAHQYCAgIB4cjYCIAwBCyAFIAM6ACMgBUEYaiEEIANFDQELIAQgBiAD/AoAAAsgAyAEakEAOgAAAkACQCANIgYiAygCACIERQ0AIAUoAhwgBS0AIyIDIAPAIglBAEgiAxshByAFKAIYIAVBGGogAxshCgNAIAogBCIDKAIQIANBEGogAy0AGyIEwEEASCIGGyILIAMoAhQgBCAGGyIEIAcgBCAHSSIGGyIMEF4iEUEASCAEIAdLIBEbQQFGBEAgAyEGIAMoAgAiBA0BDAILIAsgCiAMEF4iBEEASCAGIAQbQQFHDQIgAygCBCIEDQALIANBBGohBgtB1IkLQQA2AgBBBEEcEAYhBEHUiQsoAgAhHUHUiQtBADYCACAdQQFGDQIgBCAFKQMYNwIQIAQgBSgCIDYCGCAFQQA2AiAgBUIANwMYIAQgAzYCCCAEQgA3AgAgBiAENgIAIAAoAhgoAgAiAwRAIAAgAzYCGCAGKAIAIQQLIAAoAhwgBBBnIAAgACgCIEEBajYCICAFLQAjIQkLIAnAQQBODQMgBSgCGBBaDAMLEAAhAwwHCxAAIQMgBSwAI0EATg0GIAUoAhgQWgwGCyAFKQOwASItpyEEAkACQAJAIAIoAtgBIgZFDQAgAigC1AECfyAGQQFrIARxIAZpQQFLIgdFDQAaIAQgBCAGSQ0AGiAEIAZwCyIJQQJ0aigCACIDRQ0AIAMoAgAiA0UNAAJAIAdFBEAgBkEBayEGA0ACQCAEIAMoAgQiB0cEQCAGIAdxIAlGDQEMBQsgAygCCCAERg0DCyADKAIAIgMNAAsMAgsDQAJAIAQgAygCBCIHRwRAIAYgB00EfyAHIAZwBSAHCyAJRg0BDAQLIAMoAgggBEYNAgsgAygCACIDDQALDAELIAMoAhAiAw0BC0HUiQtBADYCAEEJQYzDC0GO0gZBEhAEGkHUiQsoAgAhA0HUiQtBADYCAAJAIANBAUYNACABKAIAIQYgASgCBCEHIAEtAAshA0HUiQtBADYCAEEJQYzDCyAGIAEgA8BBAEgiBhsgByADIAYbEAQaQdSJCygCACEeQdSJC0EANgIAIB5BAUYNAEHUiQtBADYCAEEJQYzDC0Gn+QZBLRAEGkHUiQsoAgAhH0HUiQtBADYCACAfQQFGDQAgCCgCACEGIAgoAgQhByAILQALIQNB1IkLQQA2AgBBCUGMwwsgBiAIIAPAQQBIIgYbIAcgAyAGGxAEGkHUiQsoAgAhIEHUiQtBADYCACAgQQFGDQBB1IkLQQA2AgBBCUGMwwtB5LYGQQIQBBpB1IkLKAIAISFB1IkLQQA2AgAgIUEBRg0AAkAgLacEQEHUiQtBADYCAEEJQYzDCyAEIC1CIIinEAQaQdSJCygCACEiQdSJC0EANgIAICJBAUcNAQwCC0HUiQtBADYCAEEJQYzDC0Go6gVBCxAEGkHUiQsoAgAhI0HUiQtBADYCACAjQQFGDQELQdSJC0EANgIAQQlBjMMLQZipB0ECEAQaQdSJCygCACEkQdSJC0EANgIAICRBAUcNAgsQACEDDAcLIAMoAgxFDQBB1IkLQQA2AgBBCCAFQRhqEAYhAkHUiQsoAgAhA0HUiQtBADYCAAJAIANBAUcEQEHUiQtBADYCAEEJIAJBCGpBl9IGQQkQBCEDQdSJCygCACElQdSJC0EANgIAICVBAUYNASABKAIAIQQgASgCBCEGIAEtAAshAEHUiQtBADYCAEEJIAMgBCABIADAQQBIIgEbIAYgACABGxAEIQBB1IkLKAIAISZB1IkLQQA2AgAgJkEBRg0BQdSJC0EANgIAQQkgAEGX/AZBzAAQBCEBQdSJCygCACEnQdSJC0EANgIAICdBAUYNASAIKAIAIQMgCCgCBCEEIAgtAAshAEHUiQtBADYCAEEJIAEgAyAIIADAQQBIIgEbIAQgACABGxAEGkHUiQsoAgAhKEHUiQtBADYCACAoQQFGDQFB1IkLQQA2AgBBvxggAkEKEAIhKkHUiQsoAgAhKUHUiQtBADYCACApQQFGDQEgKhBxAAsQACEDDAcLEAAaIAIQcQALQdSJC0EANgIAIAUgLTcDACAFIC03AxhBBiAFQbgBaiAFEANB1IkLKAIAIStB1IkLQQA2AgAgK0EBRwRAAkAgDiIGIgMoAgAiBEUNACAFKQO4ASIuQiCIIi2nIQcgLqchCQNAAkACQCAJIAQiAykCECIupyIEIC5CIIgiLqciBiAHIAYgB0kbIgYQXiIKRQRAIC0gLlQNAQwCCyAKQQBODQELIAMhBiADKAIAIgQNAQwCCwJAIAQgCSAGEF4iBEUEQCAtIC5YDQUMAQsgBEEATg0ECyADKAIEIgQNAAsgA0EEaiEGC0HUiQtBADYCAEEEQRgQBiEEQdSJCygCACEsQdSJC0EANgIAICxBAUcEQCAFKQO4ASEtIAQgAzYCCCAEQgA3AgAgBCAtNwIQIAYgBDYCACAAKAIMKAIAIgMEQCAAIAM2AgwgBigCACEECyAAKAIQIAQQZyAAIAAoAhRBAWo2AhQMAgsQACEDDAYLEAAhAwwFCyAIQQxqIgggEEcNAAsLIAVBwAFqJAAgAA8LAAsQACEDIAUsACNBAE4NACAFKAIYEFoLIAAoAjQQugUgACgCKBCSBCAAKAIcEJIEIAAoAhAQYCAALAALQQBIBEAgACgCABBaCyADEAcAC9wKAQ1/IwBBEGsiBSQAAkAgASgCBCABLQALIgIgAsBBAEgiAhsiB0UNACAAKAIAIQQgASgCACABIAIbIgYhAiAHQQNxIggEQANAQQEhAwJAAkACQAJAIAItAAAiCUEoaw42AgEDAwMDAwMDAwMDAwMDAwMDAwMCAwEDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgMBAAsgCUH7AGsOAwECAAILQX8hAwsgBCAEKAIAIANqNgIACyACQQFqIQIgCkEBaiIKIAhHDQALIAYgCGohAgsgB0EDSwRAIAYgB2ohBwNAQQEhAwJAAkACQAJAIAItAAAiBkEoaw42AgEDAwMDAwMDAwMDAwMDAwMDAwMCAwEDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgMBAAsgBkH7AGsOAwECAAILQX8hAwsgBCAEKAIAIANqNgIAC0EBIQMCQAJAAkACQCACLQABIgZBKGsONgIBAwMDAwMDAwMDAwMDAwMDAwMDAgMBAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIDAQALIAZB+wBrDgMBAgACC0F/IQMLIAQgBCgCACADajYCAAtBASEDAkACQAJAAkAgAi0AAiIGQShrDjYCAQMDAwMDAwMDAwMDAwMDAwMDAwIDAQMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCAwEACyAGQfsAaw4DAQIAAgtBfyEDCyAEIAQoAgAgA2o2AgALQQEhAwJAAkACQAJAIAItAAMiBkEoaw42AgEDAwMDAwMDAwMDAwMDAwMDAwMCAwEDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgMBAAsgBkH7AGsOAwECAAILQX8hAwsgBCAEKAIAIANqNgIACyACQQRqIgIgB0cNAAsLAkACQAJAAkACQCAAKAIEIgIoAgQgAi0ACyIDIAPAIgRBAEgbRQRAIAEgAkYNAiABLQALIgfAIQMgBEEATgRAIANBAEgNAiACIAEpAgA3AgAgAiABKAIINgIIDAMLIAIgASgCACABIANBAEgiAhsgASgCBCAHIAIbELEFGgwCCyABKAIEIAEtAAsiAiACwCIHQQBIGyIDQQFqIgJB8P///wdPDQICQAJAIAJBC08EQCACQQ9yQQFqIgYQXCEEIAUgAjYCBCAFIAQ2AgAgBSAGQYCAgIB4cjYCCCAEQSw6AAAgBEEBaiECDAELIAVBADYCCCAFQgA3AwAgBUEsOgAAIAUgAjoACyAFQQFyIQIgA0UNAQsgAiABKAIAIAEgB0EASBsgA/wKAAALIAIgA2pBADoAACAAKAIEIQFB1IkLQQA2AgBBjAIgASAFKAIAIAUgBS0ACyIBwEEASCICGyAFKAIEIAEgAhsQBBpB1IkLKAIAIQtB1IkLQQA2AgAgC0EBRwRAIAUsAAtBAE4NAiAFKAIAEFoMAgsQACEMIAUsAAtBAEgEQCAFKAIAEFoLIAwQBwALIAIgASgCACABKAIEELAFGgsgACgCACgCAA0DIAAoAgQhASAAKAIIIgMoAgQiAiADKAIIRwRAIAEsAAtBAE4EQCACIAEpAgA3AgAgAiABKAIINgIIDAMLIAEoAgQhBCABKAIAIQFB1IkLQQA2AgBB1AAgAiABIAQQCEHUiQsoAgAhDUHUiQtBADYCACANQQFHDQIQACEOIAMgAjYCBCAOEAcACyADIAEQ2RAMAgsQ6gEACyADIAJBDGo2AgQLIAAoAgQiACwAC0EASARAIAAoAgBBADoAACAAQQA2AgQMAQsgAEEAOgALIABBADoAAAsgBUEQaiQACwUAQawBC/oEAQx/IwBBEGsiBiQAAkACQAJAIAEoAgQgAS0ACyIDIAPAQQBIIgMbIgRFBEAgAigCBCEFIAItAAsiCCEHDAELIAIoAgQhBSACLQALIQcDQCABKAIAIAEgA0EBcRshCCAJIQMCQCAFIAdB/wFxIAfAQQBIIgobIgdFDQACQCAEIAhqIgsgAyAIaiIFayIDIAdIDQAgAigCACACIAobIgosAAAhDANAIAMgB2tBAWoiA0UNASAFIAwgAxDaAyIDRQ0BIAMgCiAHEF4EQCALIANBAWoiBWsiAyAHTg0BDAILCyADIAtGDQAgAyAIayIDQX9HDQELIAQhAwsgBCAJayIEIAMgCWsiBSAEIAVJGyIEQfD///8HTw0DAkACQCAEQQtPBEAgBEEPckEBaiIHEFwhBSAGIAdBgICAgHhyNgIMIAYgBTYCBCAGIAQ2AggMAQsgBiAEOgAPIAZBBGohBSAERQ0BCyAFIAggCWogBPwKAAALIAQgBWpBADoAAAJAIAAoAgQiBCAAKAIISQRAIAQgBikCBDcCACAEIAYoAgw2AgggACAEQQxqNgIEDAELQdSJC0EANgIAQeMAIAAgBkEEahADQdSJCygCACENQdSJC0EANgIAIA1BAUYNAyAGLAAPQQBODQAgBigCBBBaCyACKAIEIgUgAi0ACyIIIAjAIgdBAEgbIANqIgkgASgCBCABLQALIgMgA8BBAEgiAxsiBEkNAAsLIAAgBSAIIAfAQQBIIgAbQQFGBH8gAigCACACIAAbLQAAQQpHBUEBCzoADCAGQRBqJAAPCxAAIQ4gBiwAD0EASARAIAYoAgQQWgsgDhAHAAsQ6gEAC+IaAih/AX4jAEFAaiIIJAAgACgCACEMIAIEQEEEEFwiDiAMKAIUNgIAIA5BBGohDwsgACgCBCgCACEEQdSJC0EANgIAQQwgBEGoAWoiBkEgQQQQBCEFQdSJCygCACEEQdSJC0EANgIAAkACQCAEQQFGDQAgBUIANwIEIAVBATYCACAFQgA3AgwgBUIANwIUIAUgBjYCHEG4qAspAwAhLCAAKAIEIQYgCEECNgI4IAggAzYCKCAGKAIAIQNB1IkLQQA2AgBBDCADQagBakEgQQgQBCEHQdSJCygCACEDQdSJC0EANgIAAkAgA0EBRwRAIAdCADcCBCAHQQ42AgAgB0IANwIMIAdCADcCFCAHQQhqIgMgCEEoaiIERg0BIAMQWSEDQdSJC0EANgIAQcAAIAMgBBACGkHUiQsoAgAhEEHUiQtBADYCACAQQQFHDQELEAAhAiAIQShqEFkaDAILIAcgCCgCODYCBCAIQShqEFkaIAYoAgAhA0HUiQtBADYCAEEMIANBqAFqQRRBBBAEIQtB1IkLKAIAIRFB1IkLQQA2AgAgEUEBRg0AIAsgBzYCECALICw3AgggC0ILNwIAIAcoAgRBAUYEQCALQQE2AgQLIAUoAhAhBwJAIAUoAhQiBCAFKAIYRwRAIAchAwwBCyAFIARBAXRBAmoiBjYCGCAFKAIcIQNBACEEQdSJC0EANgIAQQwgAyAGQQJ0QQQQBCEDQdSJCygCACESQdSJC0EANgIAIBJBAUYNASAFIAM2AhAgBSgCFCIGRQ0AIAZBBE8EQCAGQXxxIQkDQCAEQQJ0IgogBSgCEGogByAKaigCADYCACAKQQRyIgMgBSgCEGogAyAHaigCADYCACAKQQhyIgMgBSgCEGogAyAHaigCADYCACAKQQxyIgMgBSgCEGogAyAHaigCADYCACAEQQRqIgQgCUcNAAsLIAZBA3EiCQRAA0AgBEECdCIDIAUoAhBqIAMgB2ooAgA2AgAgBEEBaiEEIA1BAWoiDSAJRw0ACwsgBSgCECEDIAYhBAsgAyAEQQJ0aiALNgIAIAUgBEEBajYCFCACBEAgDCgCFCEEIAAoAgQiAygCACECQdSJC0EANgIAQcioCykDACEsQQwgAkGoAWpBDEEEEAQhBkHUiQsoAgAhE0HUiQtBADYCACATQQFGDQEgBkEANgIIIAZBCDYCACAGIAQ2AgQgAygCACECQdSJC0EANgIAQQwgAkGoAWpBFEEEEAQhCkHUiQsoAgAhFEHUiQtBADYCACAUQQFGDQEgCiAGNgIQIAogLDcCCCAKQgs3AgAgBigCBEEBRgRAIApBATYCBAsgBSgCECEGAkAgBSgCFCIEIAUoAhhHBEAgBiEDDAELIAUgBEEBdEECaiIDNgIYIAUoAhwhAkEAIQRB1IkLQQA2AgBBDCACIANBAnRBBBAEIQNB1IkLKAIAIRVB1IkLQQA2AgAgFUEBRg0CIAUgAzYCECAFKAIUIgJFDQBBACENIAJBBE8EQCACQXxxIQcDQCAEQQJ0IgkgBSgCEGogBiAJaigCADYCACAJQQRyIgMgBSgCEGogAyAGaigCADYCACAJQQhyIgMgBSgCEGogAyAGaigCADYCACAJQQxyIgMgBSgCEGogAyAGaigCADYCACAEQQRqIgQgB0cNAAsLIAJBA3EiBwRAA0AgBEECdCIDIAUoAhBqIAMgBmooAgA2AgAgBEEBaiEEIA1BAWoiDSAHRw0ACwsgBSgCECEDIAIhBAsgAyAEQQJ0aiAKNgIAIAUgBEEBajYCFAsgACgCBCEHIAwoAhQhAkHUiQtBADYCAEGIDCACEAYhBkHUiQsoAgAhAkHUiQtBADYCAAJAAkACQAJAAkACQAJAAkACQCACQQFGDQAgDCgCFCECQdSJC0EANgIAQYgMIAIQBiEEQdSJCygCACEWQdSJC0EANgIAIBZBAUYNACAMKAIUIQMgACgCBCgCACECQdSJC0EANgIAQcioCykDACEsQQwgAkGoAWpBEEEEEAQhCUHUiQsoAgAhF0HUiQtBADYCACAXQQFGDQAgCSAsNwIIIAlBCjYCACAJIAM2AgQgDCkCGCEsIAwoAhQhAyAHKAIAIQJB1IkLQQA2AgBBDCACQagBakEwQQgQBCELQdSJCygCACEYQdSJC0EANgIAIBhBAUYNACALQQA6ACAgC0EMNgIAIAsgCTYCJCALQgA3AxAgC0EAOgAJIAsgBjoACCALICw3AiggCyADNgIEIAsgBK03AxggACgCBCEcIAwoAhQhAkHUiQtBADYCAEGIDCACEAYhBkHUiQsoAgAhGUHUiQtBADYCACAZQQFGDQEgDCgCFCEJQdSJC0EANgIAQYgMIAkQBiEEQdSJCygCACEaQdSJC0EANgIAIBpBAUYNAiAMKAIUIQMgACgCBCgCACECQdSJC0EANgIAQcioCykDACEsQQwgAkGoAWpBEEEEEAQhCkHUiQsoAgAhG0HUiQtBADYCACAbQQFGDQIgCiAsNwIIIApBCjYCACAKIAM2AgQgDCkCGCEsIAwoAhQhAyAcKAIAIQJB1IkLQQA2AgBBDCACQagBakEwQQgQBCEHQdSJCygCACEdQdSJC0EANgIAIB1BAUYNAiAHQQA6ACAgB0EMNgIAIAcgCjYCJCAHQghCBCAJQQNGGzcDECAHQQA6AAkgByAGOgAIIAcgLDcCKCAHIAM2AgQgByAErTcDGCAMKAIUIgRBB08EQEHUiQtBADYCAEENQeHNBkGfnwNBwwFB8+cEEAVB1IkLKAIAIR5B1IkLQQA2AgAgHkEBRg0CAAsgACgCBCIDKAIAIQJB1IkLQQA2AgBBDCACQagBakEUQQQQBCEGQdSJCygCACEfQdSJC0EANgIAQQEhCSAfQQFGDQEgBEECdEGkpghqKAIAIQIgBiAHNgIQIAYgCzYCDCAGIAI2AgggBkIQNwIAAkAgCygCBCIEQQFGDQAgBygCBEEBRg0AQQIgBEL/h4Dw/4C/wB8gAkEPayICrYinQQFxGyAEIAJBPUkbIQkLIAYgCTYCBCAAKAIEKAIAIQJB1IkLQQA2AgBBDCACQagBakEIQQQQBCEEQdSJCygCACEgQdSJC0EANgIAICBBAUYNASAEQpeAgIAQNwIAIAMoAgAhAkHUiQtBADYCAEEMIAJBqAFqQRRBBBAEIQpB1IkLKAIAISFB1IkLQQA2AgAgIUEBRg0BIApBADYCECAKIAQ2AgwgCiAGNgIIIApCAjcCACAKIAYoAgRBAUY2AgQgBSgCECECAkAgBSgCFCINIAUoAhhHBEAgAiEEDAELIAUgDUEBdEECaiIENgIYIAUoAhwhA0HUiQtBADYCAEEMIAMgBEECdEEEEAQhBEHUiQsoAgAhIkHUiQtBADYCACAiQQFGDQIgBSAENgIQIAUoAhQiDUUEQEEAIQ0MAQtBACEJQQAhBCANQQRPBEAgDUF8cSEGA0AgBEECdCIHIAUoAhBqIAIgB2ooAgA2AgAgB0EEciIDIAUoAhBqIAIgA2ooAgA2AgAgB0EIciIDIAUoAhBqIAIgA2ooAgA2AgAgB0EMciIDIAUoAhBqIAIgA2ooAgA2AgAgBEEEaiIEIAZHDQALCyANQQNxIgYEQANAIARBAnQiAyAFKAIQaiACIANqKAIANgIAIARBAWohBCAJQQFqIgkgBkcNAAsLIAUoAhAhBAsgBCANQQJ0aiAKNgIAIAUgDUEBajYCFEHUiQtBADYCAEGDAyAFQQBBAEEAEAVB1IkLKAIAISNB1IkLQQA2AgAgI0EBRg0BQdSJC0EANgIAQeEAIAhBFGogDiAPEAQhJUHUiQsoAgAhJEHUiQtBADYCACAkQQFGDQMgJSgCACECIAhBADYCHCAIIAI2AhhB1IkLQQA2AgAgCCAIKQIYNwMIQSkgCEEgaiAIQQhqEAIhJ0HUiQsoAgAhJkHUiQtBADYCACAmQQFGDQMgCEEANgIwIAhCADcCKCAnKAIAIQJB1IkLQQA2AgAgASACIAhBKGogBRCNAyEDQdSJCygCACEoQdSJC0EANgIAIChBAUYNBCAIIAM2AiQgCCgCKCICBEAgAhBaCyAAKAIIKAIAIQJB1IkLQQA2AgBBLSACIAhBJGoQAhpB1IkLKAIAISlB1IkLQQA2AgAgKUEBRg0FIAAoAggoAgAhAkHUiQtBADYCAEEEQRQQBiEDQdSJCygCACEqQdSJC0EANgIAICpBAUYNBiADQQA2AhAgAyABNwIIIAMgATcCAEHUiQtBADYCACAIIAM2AihB4BsgAiAIQShqEANB1IkLKAIAIStB1IkLQQA2AgAgK0EBRg0HIAgoAigiAARAIAAQWgsgCCgCJCIABEAgABCkAhBaCyAOBEAgDhBaCyAIQUBrJAAPCxAAIQIMCQsQACECDAgLEAAhAgwHCxAAIQIMBgsQACECIAgoAigiAEUNBSAAEFoMBQsQACECDAILEAAhAgwBCxAAIQIgCCgCKCIARQ0AIAAQWgsgCEEkahDHAgwBCxAAIQILIA4EQCAOEFoLIAIQBwALn78BA6ABfwJ+An0jAEGgBmsiCCQAIAggBzoAogMgCCADOgCjAyAAQQxqIhdCADcCACAAIAM6AAQgACABNgIAIAAgFzYCCCAAQRhqIg5CADcCACAAIAE2AhQgAEIANwIgIABBLGoiD0IANwIAIABBgICA/AM2AiggAEIANwI0IABBgICA/AM2AjxB1IkLQQA2AgBBBEEgEAYhA0HUiQsoAgAhB0HUiQtBADYCAAJAAkACQAJAAkACQAJAAkACQAJAIAdBAUcEQCAIIAM2ArADIAhCmoCAgICEgICAfzcCtAMgA0Gk8QQvAAA7ABggA0Gc8QQpAAA3ABAgA0GU8QQpAAA3AAggA0GM8QQpAAA3AAAgA0EAOgAaIAhB4ANqIgtCADcCACAIQYjHBzYC0AEgCCALNgLcAyAIIAE2AtgDIAggCEHQAWo2AuABIAEoAgwiDCABKAIQIg1GDQIDQAJAIAwoAgAhCiALIgkhAwJAAkAgCCgC4AMiB0UNAANAIAciAygCECIHIApLBEAgAyIJKAIAIgcNAQwCCyAHIApPDQIgAygCBCIHDQALIANBBGohCQtB1IkLQQA2AgBBBEEoEAYhB0HUiQsoAgAhGkHUiQtBADYCACAaQQFGDQEgByAKNgIQIAcgAzYCCCAHQgA3AgAgB0IANwIUIAdCADcCHCAHQYCAgPwDNgIkIAkgBzYCACAIKALcAygCACIDBEAgCCADNgLcAyAJKAIAIQcLIAgoAuADIAcQZyAIIAgoAuQDQQFqNgLkAwsgDSAMQQRqIgxHDQEMAwsLEAAhAwwHCxAAIQMMCAsgCCgC4AEiA0UEQEEAIQMMBAsgAyAIQdABakcNAQsgCCAIQZgCaiIDNgKoAiAIKALQASgCDCEbQdSJC0EANgIAIBsgCEHQAWogAxADQdSJCygCACEcQdSJC0EANgIAIBxBAUcNAwwBCyADKAIAKAIIIR1B1IkLQQA2AgAgHSADEAYhA0HUiQsoAgAhHkHUiQtBADYCACAeQQFHDQELEAAhAwwCCyAIIAM2AqgCCwJAAkACQAJAAkAgCCgC2AMiAygCDCIMIAMoAhAiDUcEQAJAAkADQAJAIAwoAgAiCigCDARAIAsiCSEDAkACQCAIKALgAyIHRQ0AA0AgByIDKAIQIgcgCksEQCADIgkoAgAiBw0BDAILIAcgCk8EQCADIQcMAwsgAygCBCIHDQALIANBBGohCQtB1IkLQQA2AgBBBEEoEAYhB0HUiQsoAgAhH0HUiQtBADYCACAfQQFGDQIgByAKNgIQIAcgAzYCCCAHQgA3AgAgB0IANwIUIAdCADcCHCAHQYCAgPwDNgIkIAkgBzYCACAHIQMgCCgC3AMoAgAiEARAIAggEDYC3AMgCSgCACEDCyAIKALgAyADEGcgCCAIKALkA0EBajYC5AMLIAggCjYCiAQgCCgCqAIiA0UEQEHUiQtBADYCAEHFABAJQdSJCygCACEgQdSJC0EANgIAICBBAUYNBAwHCyADKAIAKAIYISFB1IkLQQA2AgAgISADIAhBiARqIAdBFGoQCEHUiQsoAgAhIkHUiQtBADYCACAiQQFGDQELIA0gDEEEaiIMRw0BDAMLCxAAIQMMBwsQACEDDAYLIAgoAtgDIQMLIAhCADcAvQUgCEIANwLgBUEAIQcgCEEAOgDcBSAIQRQ2AtgFIAhCgoCAgHA3AtAFIAhCADcCyAUgCEGBAjsAxQUgCEIANwLoBSAIQgA3AvAFIAhCgICAgICAgMA/NwL4BSAIQgA3AoAGIAhCADcCiAYgCEGAgID8AzYCkAYgCEEAOwGcBiAIQgA3ApQGIAhCADcCuAUgCEH87Ak2AqwFIAggAzYCsAUgCCADQagBajYCtAUCQAJAAkACQAJAAkAgCCgCqAIiCQRAIAhBmAJqIgcgCUYEQCAIIAhB4AJqIgk2AvACIAgoApgCKAIMISNB1IkLQQA2AgAgIyAHIAkQA0HUiQsoAgAhJEHUiQtBADYCACAkQQFGDQMgCCgC8AIhBwwCCyAJKAIAKAIIISVB1IkLQQA2AgAgJSAJEAYhB0HUiQsoAgAhJkHUiQtBADYCACAmQQFGDQILIAggBzYC8AILQQAhCSAIQQA2AoQFIAhCADcC/AQgCEIANwKUBCAIQgA3ApwEIAhCADcC9AQgCEIANwKMBCAIIAhB3ANqNgKMBSAIIAM2AogFIAhBrMcHNgKIBCAIQZAFaiEKAkAgBwRAIAhB4AJqIgMgB0YEQCAIIAo2AqAFIAgoAuACKAIMISdB1IkLQQA2AgAgJyADIAoQA0HUiQsoAgAhKEHUiQtBADYCACAoQQFHDQIMCQsgBygCACgCCCEpQdSJC0EANgIAICkgBxAGIQlB1IkLKAIAISpB1IkLQQA2AgAgKkEBRg0ICyAIIAk2AqAFCwJAIAgoAowEIgNFDQAgAyAIQawFakYNAEHUiQtBADYCAEENQeLEBkG6iwNB4wNB/vwBEAVB1IkLKAIAIStB1IkLQQA2AgAgK0EBRw0GDAULIAggCEGsBWo2AowEIAgoAogEKAIIISxB1IkLQQA2AgAgLCAIQYgEaiAIKALYAxADQdSJCygCACEtQdSJC0EANgIAIC1BAUYNBCAIQazHBzYCiAQCQAJAIAogCCgCoAUiA0YEQEEEIQcgCiEDDAELQQUhByADRQ0BCyADIAMoAgAgB0ECdGooAgARAQALIAgoAvQEIgMEQCAIIAM2AvgEIAMQWgsgCEGQ7Qk2AogEIAgsAJsEQQBIBEAgCCgCkAQQWgsCQAJAIAgoAvACIgMgCEHgAmoiCkYEQEEEIQcgCiEDDAELQQUhByADRQ0BCyADIAMoAgAgB0ECdGooAgARAQALIAhB/OwJNgKsBSAIQcQFahBhIAgoArgFIgoEQCAIKAK8BSIDIAoiB0cEQANAIANBBGsiAygCACEHIANBADYCACAHBEAgByAHKAIAKAIEEQEACyADIApHDQALIAgoArgFIQcLIAggCjYCvAUgBxBaCyAIKAKoAiIDIAhBmAJqIgpHDQFBBCEHIAohAwwCCxAAIQMMBwtBBSEHIANFDQELIAMgAygCACAHQQJ0aigCABEBAAsCQAJAIAgoAuABIgMgCEHQAWoiCkYEQEEEIQcgCiEDDAELQQUhByADRQ0BCyADIAMoAgAgB0ECdGooAgARAQALIAhCADcD+AMgCEIANwPwAyAIQYCAgPwDNgKABCALIAgoAtwDIgpHBEADQAJAIAooAhwiA0UNAANAAkAgAygCCCEHQdSJC0EANgIAQT0gCEGIBGogCEHwA2ogByAHEAVB1IkLKAIAIS5B1IkLQQA2AgAgLkEBRg0AIAMoAgAiAw0BDAILCxAAIQMgCEHwA2oQogEgCCgC4AMQoQcMCgsCQCAKKAIEIgcEQANAIAciAygCACIHDQAMAgsACwNAIAooAggiAygCACAKRyEvIAMhCiAvDQALCyALIAMiCkcNAAsLIAgoAuADEKEHAkAgCCgC+AMiEEUNACAAQTRqIRQgAEEgaiEVAkACQAJAAkACQAJAAkACQANAAkAgECgCCCETQdSJC0EANgIAIAggEzYCrAVB6QYgCEGkA2oiAyAIQawFahADQdSJCygCACEwQdSJC0EANgIAIDBBAUYNAEHUiQtBADYCAEHcESADIAgoArADIAhBsANqIAgtALsDIgPAQQBIIgcbIAgoArQDIAMgBxsQBCEDQdSJCygCACExQdSJC0EANgIAIDFBAUYNAiAIIAMoAgg2ApAEIAggAykCADcDiAQgA0IANwIAIANBADYCCCAIKAKIBCEDIAggCCgCjAQgCC0AkwQiByAHwEEASCIHGzYCsAUgCCADIAhBiARqIAcbNgKsBUHUiQtBADYCACAIIAgpAqwFNwMoQQYgCEHgAmogCEEoahADQdSJCygCACEyQdSJC0EANgIAIDJBAUYNAyATQZXTx94FbCIDQRh2IANzQZXTx94FbEGomb30fXNBldPH3gVsIgNBDXYgA3NBldPH3gVsIgNBD3YgA3MhDAJAAkAgACgCHCIDRQ0AAkAgA2lBAUsiC0UEQCADQQFrIAxxIQkMAQsgDCIJIANJDQAgCSADcCEJCyAOKAIAIAlBAnRqKAIAIgdFDQAgBygCACIHRQ0AIAtFBEAgA0EBayELA0ACQCAMIAcoAgQiCkcEQCAKIAtxIAlGDQEMBAsgBygCCCATRg0ECyAHKAIAIgcNAAsMAQsDQAJAIAwgBygCBCIKRwRAIAMgCk0EfyAKIANwBSAKCyAJRg0BDAMLIAcoAgggE0YNAwsgBygCACIHDQALC0HUiQtBADYCAEEEQRQQBiEHQdSJCygCACEzQdSJC0EANgIAIDNBAUYNBCAHIBM2AgggByAMNgIEIAdBADYCACAHQgA3AgwgACoCKCGqASAAKAIkQQFqsyGrAQJAAkACQAJAAkACQAJAAkAgA0UNACCqASADs5QgqwFdDQAgCSEMDAELQQIhCwJAIAMgA0EBa3FBAEcgA0EDSXIgA0EBdHIiCQJ/IKsBIKoBlY0iqgFDAACAT10gqgFDAAAAAGBxBEAgqgGpDAELQQALIgogCSAKSxsiCUEBRg0AIAkgCUEBa3FFBEAgCSELDAELQdSJC0EANgIAQRUgCRAGIQtB1IkLKAIAITRB1IkLQQA2AgAgNEEBRg0CIAAoAhwhAwsCQAJAIAMgC08EQCADIAtNDQIgA0EDSSEKAn8gACgCJLMgACoCKJWNIqoBQwAAgE9dIKoBQwAAAABgcQRAIKoBqQwBC0EACyEJAkACQCAKDQAgA2lBAUsNACAJQQFBICAJQQFrZ2t0IAlBAkkbIQoMAQtB1IkLQQA2AgBBFSAJEAYhCkHUiQsoAgAhNUHUiQtBADYCACA1QQFGDQULIAMgCyAKIAogC0kbIgtNBEAgACgCHCEDDAMLIAtFDQELIAtBgICAgARPBEBB1IkLQQA2AgBBAxAJQdSJCygCACE2QdSJC0EANgIAIDZBAUcNFxAAIQMgBxBaDBILQdSJC0EANgIAQQQgC0ECdBAGIQlB1IkLKAIAITdB1IkLQQA2AgAgN0EBRg0DIA4oAgAhAyAOIAk2AgAgAwRAIAMQWgsgACALNgIcQQAhCUEAIQMgC0EETwRAIAtB/P///wNxIQ0DQCADQQJ0IgogDigCAGpBADYCACAOKAIAIApqQQA2AgQgDigCACAKakEANgIIIA4oAgAgCmpBADYCDCADQQRqIgMgDUcNAAsLIAtBA3EiCgRAA0AgDigCACADQQJ0akEANgIAIANBAWohAyAJQQFqIgkgCkcNAAsLIAAoAiAiA0UEQCALIQMMAgsgAygCBCENAkAgCyALQQFrIhFxBEAgCyANTQRAIA0gC3AhDQsgDigCACANQQJ0aiAVNgIAIAMoAgAiCQ0BIAshAwwDCyAOKAIAIA0gEXEiDUECdGogFTYCACADKAIAIgpFBEAgCyEDDAMLA0ACQCANIAooAgQgEXEiCUYEQCAKIQMMAQsgCUECdCISIA4oAgBqIhYoAgAEQCADIAooAgA2AgAgCiAOKAIAIBJqKAIAKAIANgIAIA4oAgAgEmooAgAgCjYCAAwBCyAWIAM2AgAgCiEDIAkhDQsgAygCACIKDQALIAshAwwCCwNAIAsgCSgCBCIKTQRAIAogC3AhCgsCQCAKIA1GBEAgCSEDDAELIApBAnQiESAOKAIAaiISKAIARQRAIBIgAzYCACAJIQMgCiENDAELIAMgCSgCADYCACAJIA4oAgAgEWooAgAoAgA2AgAgDigCACARaigCACAJNgIACyADKAIAIgkNAAsgCyEDDAELIA4oAgAhAyAOQQA2AgAgAwRAIAMQWgtBACEDIABBADYCHAsgAyADQQFrIgtxRQRAIAsgDHEhDAwBCyADIAxLDQAgDCADcCEMCyAOKAIAIAxBAnRqIgsoAgAiCg0DIAcgACgCIDYCACAAIAc2AiAgCyAVNgIAIAcoAgAiCkUNBSAKKAIEIQogAyADQQFrIgtxDQEgCiALcSEKDAILEAAhAyAHEFoMDQsgAyAKSw0AIAogA3AhCgsgDigCACAKQQJ0aiEKDAELIAcgCigCADYCAAsgCiAHNgIACyAAIAAoAiRBAWo2AiQLIAcgCCkD4AI3AgwgCCAIKAKMBCAILACTBCIDQf8BcSADQQBIIgMbNgKwBSAIIAgoAogEIAhBiARqIAMbNgKsBUHUiQtBADYCACAIIAgpAqwFNwMgQQYgCEHgAmogCEEgahADQdSJCygCACE4QdSJC0EANgIAIDhBAUYNBCAIKALgAiEMAkACQCAAKAIwIgNFDQACQCADaUEBSyILRQRAIANBAWsgDHEhCgwBCyAMIgogA0kNACAKIANwIQoLIA8oAgAgCkECdGooAgAiB0UNACAHKAIAIgdFDQAgC0UEQCADQQFrIQsDQAJAIAwgBygCBCIJRwRAIAkgC3EgCkYNAQwECyAHKAIIIAxGDQQLIAcoAgAiBw0ACwwBCwNAAkAgDCAHKAIEIglHBEAgAyAJTQR/IAkgA3AFIAkLIApGDQEMAwsgBygCCCAMRg0DCyAHKAIAIgcNAAsLQdSJC0EANgIAQQRBFBAGIQdB1IkLKAIAITlB1IkLQQA2AgAgOUEBRg0FIAcgCCkD4AI3AgggByAMNgIEIAdBADYCACAHQQA2AhAgACoCPCGqASAAKAI4QQFqsyGrAQJAIAMEQCCqASADs5QgqwFdRQ0BC0ECIQsCQAJAAkAgAyADQQFrcUEARyADQQNJciADQQF0ciIJAn8gqwEgqgGVjSKqAUMAAIBPXSCqAUMAAAAAYHEEQCCqAakMAQtBAAsiCiAJIApLGyIJQQFGDQAgCSAJQQFrcUUEQCAJIQsMAQtB1IkLQQA2AgBBFSAJEAYhC0HUiQsoAgAhOkHUiQtBADYCACA6QQFGDQEgACgCMCEDCwJAAkAgAyALTwRAIAMgC00NAiADQQNJIQoCfyAAKAI4syAAKgI8lY0iqgFDAACAT10gqgFDAAAAAGBxBEAgqgGpDAELQQALIQkCQAJAIAoNACADaUEBSw0AIAlBAUEgIAlBAWtna3QgCUECSRshCgwBC0HUiQtBADYCAEEVIAkQBiEKQdSJCygCACE7QdSJC0EANgIAIDtBAUYNBAsgAyALIAogCiALSRsiC00EQCAAKAIwIQMMAwsgC0UNAQsgC0GAgICABE8EQEHUiQtBADYCAEEDEAlB1IkLKAIAITxB1IkLQQA2AgAgPEEBRw0TEAAhAyAHEFoMDgtB1IkLQQA2AgBBBCALQQJ0EAYhCUHUiQsoAgAhPUHUiQtBADYCACA9QQFGDQIgDygCACEDIA8gCTYCACADBEAgAxBaCyAAIAs2AjBBACEJQQAhAyALQQRPBEAgC0H8////A3EhDQNAIANBAnQiCiAPKAIAakEANgIAIA8oAgAgCmpBADYCBCAPKAIAIApqQQA2AgggDygCACAKakEANgIMIANBBGoiAyANRw0ACwsgC0EDcSIKBEADQCAPKAIAIANBAnRqQQA2AgAgA0EBaiEDIAlBAWoiCSAKRw0ACwsgACgCNCIDRQRAIAshAwwCCyADKAIEIQ0CQCALIAtBAWsiEXEEQCALIA1NBEAgDSALcCENCyAPKAIAIA1BAnRqIBQ2AgAgAygCACIJDQEgCyEDDAMLIA8oAgAgDSARcSINQQJ0aiAUNgIAIAMoAgAiCkUEQCALIQMMAwsDQAJAIA0gCigCBCARcSIJRgRAIAohAwwBCyAJQQJ0IhIgDygCAGoiFigCAARAIAMgCigCADYCACAKIA8oAgAgEmooAgAoAgA2AgAgDygCACASaigCACAKNgIADAELIBYgAzYCACAKIQMgCSENCyADKAIAIgoNAAsgCyEDDAILA0AgCyAJKAIEIgpNBEAgCiALcCEKCwJAIAogDUYEQCAJIQMMAQsgCkECdCIRIA8oAgBqIhIoAgBFBEAgEiADNgIAIAkhAyAKIQ0MAQsgAyAJKAIANgIAIAkgDygCACARaigCACgCADYCACAPKAIAIBFqKAIAIAk2AgALIAMoAgAiCQ0ACyALIQMMAQsgDygCACEDIA9BADYCACADBEAgAxBaC0EAIQMgAEEANgIwCyADIANBAWsiC3FFBEAgCyAMcSEKDAMLIAMgDE0NASAMIQoMAgsQACEDIAcQWgwKCyAMIANwIQoLAkACQCAPKAIAIApBAnRqIgkoAgAiCkUEQCAHIAAoAjQ2AgAgACAHNgI0IAkgFDYCACAHKAIAIgtFDQIgCygCBCEKAkAgAyADQQFrIglxRQRAIAkgCnEhCgwBCyADIApLDQAgCiADcCEKCyAPKAIAIApBAnRqIQoMAQsgByAKKAIANgIACyAKIAc2AgALIAAgACgCOEEBajYCOAsgByATNgIQIAggCCgCjAQgCCwAkwQiA0H/AXEgA0EASCIDGzYCsAUgCCAIKAKIBCAIQYgEaiADGzYCrAVB1IkLQQA2AgAgCCAIKQKsBTcDGEEGIAhBmAJqIAhBGGoQA0HUiQsoAgAhPkHUiQtBADYCACA+QQFGDQVB1IkLQQA2AgBB6hsgEyABEAIhB0HUiQsoAgAhP0HUiQtBADYCACA/QQFGDQVB1IkLQQA2AgAgCCkDmAIhqAFBBEEoEAYhA0HUiQsoAgAhQEHUiQtBADYCACBAQQFGDQUgA0IANwIgIANCADcCGCADQgA3AgggAyCoATcCACADQgA3AhAgA0EBOgAkIAMgBzYCICADIBM2AhxB1IkLQQA2AgAgCCADNgLgAkEyIAEgCEHgAmoQAhpB1IkLKAIAIUFB1IkLQQA2AgAgQUEBRg0GIAgoAuACIgMEQCADEFoLIAgsAJMEQQBIBEAgCCgCiAQQWgsgECgCACIQDQEMCQsLEAAhAwwGCxAAIQMgCCwArwNBAE4NBSAIKAKkAxBaDAULEAAhAwwDCxAAIQMMAgsQACEDDAELEAAhAyAIKALgAiIARQ0AIAAQWgsgCCwAkwRBAE4NACAIKAKIBBBaCyAIQfADahCiAQwJCyAIKAL4AyIDRQ0AA0AgAygCACFCIAMQWiBCIgMNAAsLIAgoAvADIQMgCEEANgLwAyADBEAgAxBaCyAILAC7A0EASARAIAgoArADEFoLIAAgCC0AogM6AEAgCEHnxQMvAAA7AdgCIAhBBjoA3wIgCEHjxQMoAAA2AtQCIAhBADoA2gJB1IkLQQA2AgBB6xsgCEHgAmogCEHUAmogASAEEA0hFUHUiQsoAgAhA0HUiQtBADYCAAJAAkACQAJAAkACQAJAIANBAUcEQCAILADfAkEASARAIAgoAtQCEFoLIAhBAzoAlwIgCEEAOgCPAkHUiQtBADYCACAIQcLkBC8AADsBjAIgCEHE5AQtAAA6AI4CQesbIAhBmAJqIAhBjAJqIAEgBRANIRFB1IkLKAIAIUNB1IkLQQA2AgAgQ0EBRwRAIAgsAJcCQQBIBEAgCCgCjAIQWgsgCEEEOgDPASAIQQA6AMgBIAhB79yxywc2AsQBQdSJC0EANgIAQesbIAhB0AFqIAhBxAFqIAEgBhANIRJB1IkLKAIAIURB1IkLQQA2AgAgREEBRwRAIAgsAM8BQQBIBEAgCCgCxAEQWgsgCEIANwK8ASAIIAhBvAFqIgw2ArgBIAEoAgwiAyABKAIQIgtGDQMDQAJAIAMoAgAiBCgCDEH4qAsoAgBHDQACQAJAAn8gBCgCFCIHQYCpCygCAEYEQCAEKQIAIagBQdSJC0EANgIAQekRIAhBiARqIAhBuAFqIKgBIAQQwgJB1IkLKAIAIUVB1IkLQQA2AgAgRUEBRg0DIAgoAogEQRhqIQdB0KgLDAELQYipCygCACAHRgRAIAQpAgAhqAFB1IkLQQA2AgBB6REgCEGIBGogCEG4AWogqAEgBBDCAkHUiQsoAgAhRkHUiQtBADYCACBGQQFGDQMgCCgCiARBGGohB0HYqAsMAQtBkKkLKAIAIAdGBEAgBCkCACGoAUHUiQtBADYCAEHpESAIQYgEaiAIQbgBaiCoASAEEMICQdSJCygCACFHQdSJC0EANgIAIEdBAUYNAyAIKAKIBEEYaiEHQeCoCwwBCyAHQZipCygCAEcNASAEKQIAIagBQdSJC0EANgIAQekRIAhBiARqIAhBuAFqIKgBIAQQwgJB1IkLKAIAIUhB1IkLQQA2AgAgSEEBRg0CIAgoAogEQRhqIQdB6KgLCyEEIAcgBCkDADcCAAwCC0HUiQtBADYCAEEIIAhBiARqEAYhAUHUiQsoAgAhAkHUiQtBADYCAAJAIAJBAUcEQEHUiQtBADYCAEEJIAFBCGpBtOoGQSQQBBpB1IkLKAIAIUlB1IkLQQA2AgAgSUEBRg0BIAMoAgApAhQhqAFB1IkLQQA2AgBBISABIKgBELgCIUtB1IkLKAIAIUpB1IkLQQA2AgAgSkEBRg0BIEsQcQALEAAhAwwKCxAAGiABEHEACxAAIQMMCAsgA0EEaiIDIAtHDQALIAgoArgBIgogDEYNAwNAAkAgASgC2AEiB0UNACAKKAIQIQQCQCAHaUEBSyILRQRAIAdBAWsgBHEhCQwBCyAEIgkgB0kNACAEIAdwIQkLIAEoAtQBIhAgCUECdGooAgAiA0UNACADKAIAIgNFDQAgB0EBayENAkAgC0UEQANAAkAgBCADKAIEIg5HBEAgDSAOcSAJRw0FDAELIAMoAgggBEYNAwsgAygCACIDDQAMAwsACwNAAkAgBCADKAIEIg5HBEAgByAOTQR/IA4gB3AFIA4LIAlHDQQMAQsgAygCCCAERg0CCyADKAIAIgMNAAsMAQsgAygCECIORQ0AIAopAhgiqAGnIQQCQCALRQRAIAQgDXEhCQwBCyAEIgkgB0kNACAEIAdwIQkLAkAgECAJQQJ0aigCACIDRQ0AIAMoAgAiA0UNAAJAIAtFBEADQAJAIAQgAygCBCIHRwRAIAcgDXEgCUYNAQwFCyADKAIIIARGDQMLIAMoAgAiAw0ADAMLAAsDQAJAIAQgAygCBCILRwRAIAcgC00EfyALIAdwBSALCyAJRg0BDAQLIAMoAgggBEYNAgsgAygCACIDDQALDAELIAMoAhBFDQAgDigCACAERg0AQdSJC0EANgIAQQ1B0JoEQfuRAkG/AUG/swEQBUHUiQsoAgAhTEHUiQtBADYCACBMQQFHDQ4MBwsgDiCoATcCAAsCQCAKKAIEIgcEQANAIAciAygCACIHDQAMAgsACwNAIAooAggiAygCACAKRyFNIAMhCiBNDQALCyAMIAMiCkcNAAsMAwsQACEDIAgsAM8BQQBODQYgCCgCxAEQWgwGCxAAIQMgCCwAlwJBAE4NBiAIKAKMAhBaDAYLEAAhAyAILADfAkEATg0GIAgoAtQCEFoMBgtB1IkLQQA2AgBB7BsgARAKQdSJCygCACFOQdSJC0EANgIAIE5BAUYNACAIQQA2AoQFIAhCADcC/AQgCEIANwKYBCAIQQA2AqAEIAhCADcC9AQgCEIANwKQBCAIQcDmCTYCiAQgCCAIQbgBajYCiAUgCCgCvAEiC0UNASABKQJgIqkBQiCIIqgBpyEKIKkBpyENIAwhBANAIAQhCQJAIAsiAykCECKpAacgDSAKIKkBQiCIIqkBpyIEIAQgCksbEF4iBw0AQQAhByCoASCpAVENAEF/QQEgqAEgqQFWGyEHCyAJIAMgB0EASCIOIgsbIQQgA0EEaiADIAsbKAIAIgsNAAsgBCAMRg0BAkAgDSAJIAMgDhspAhAiqQGnIKkBQiCIIqkBpyIEIAogBCAKSRsQXiIERQRAIKgBIKkBWg0BDAMLIARBAEgNAgsgASAJIAMgB0EASBspAhg3AmAMAQsQACEDDAELIAhCADcAvQUgCEIANwLgBSAIQQA6ANwFIAhBFDYC2AUgCEKCgICAcDcC0AUgCEIANwLIBSAIQYECOwDFBSAIQgA3AugFIAhCADcC8AUgCEKAgICAgICAwD83AvgFIAhCADcCgAYgCEIANwKIBiAIQYCAgPwDNgKQBiAIQQA7AZwGIAhCADcClAYgCEIANwK4BSAIIAE2ArAFIAhB/OwJNgKsBSAIIAFBqAFqNgK0BUHUiQtBADYCACAIIAhBrAVqIgM2AowEQe0bIAhBiARqIAEQA0HUiQsoAgAhBEHUiQtBADYCAAJAIARBAUYNAAJAAkAgCCgCjAQiBEUNACADIARGDQBB/vwBIQ1B4wMhA0G6iwMhD0HixAYhBwwBCyAIIAE2AoQFIAggCEGsBWo2AowEIAhBnARqIQkgASgCGCIDIAEoAhwiBEcEQANAIAMoAgAiBygCDEUEQEHUiQtBADYCAEHuGyAJIAdBIGoQA0HUiQsoAgAhT0HUiQtBADYCACBPQQFGDQQLIANBBGoiAyAERw0ACwsCQCABKAIwIhQgASgCNCITRg0AIAhBpARqIRACQANAAkAgFCgCACIDKAIUBEBB1IkLQQA2AgBB7hsgCSADQRRqEANB1IkLKAIAIVBB1IkLQQA2AgAgUEEBRg0DIBQoAgAhAwsgAygCHCIMIAMoAiAiFkcEQCAIKAL0BCEHIAgoAvgEIQQgCCgCoAQhCgNAIAggDCgCACILNgLwA0HQ+AIhDUHTmQMhDyAEIAdrIhlBA3UiA0EAIAprRwRAQcgCIQNBzcoFIQcMBwsgC0UEQEGu9wIhDUG5AiEDQYGDAiEHDAcLAkAgCkEJTQRAIAggCkEBaiIHNgKgBCAQIApBA3RqIgNB7xs2AgAgAyAIQfADajYCBCAEIQMgByEKDAELIAgoAvwEIg4gBEsEQCAEQe8bNgIAIAQgCEHwA2o2AgQgCCAEQQhqIgM2AvgEDAELIANBAWoiC0GAgICAAk8EQEHUiQtBADYCAEHwGxAJQdSJCygCACFRQdSJC0EANgIAIFFBAUcNDwwJC0H/////ASAOIAdrIg5BAnUiGCALIAsgGEkbIA5B+P///wdPGyILQYCAgIACTwRAQdSJC0EANgIAQQMQCUHUiQsoAgAhUkHUiQtBADYCACBSQQFHDQ8MCQtB1IkLQQA2AgBBBCALQQN0IhgQBiEOQdSJCygCACFTQdSJC0EANgIAIFNBAUYNCCAOIBlqIgtB7xs2AgAgDiADQQN0aiAIQfADajYCBCALQQhqIQMgBCAHRwRAA0AgC0EIayILIARBCGsiBCkCADcCACAEIAdHDQALCyAIIA4gGGo2AvwEIAggAzYC+AQgCCALNgL0BCAHRQ0AIAcQWiAIKAL4BCEDIAgoAqAEIQoLQQAgCmsgAyAIKAL0BCIHa0EDdUcEQANAAkAgAyAHRgRAIApFBEBB/fsCIQ1B2gAhA0GwlAMhD0HexAUhBwwLCyAQIApBAWsiBEEDdGoiBygCBCEDIAcoAgAhByAIIAQ2AqAEDAELIANBCGsiBCgCACEHIAQoAgQhAyAIIAQ2AvgECyAIIAM2ApwEIAMoAgBFBEBBzQIhA0H1ggIhBwwJC0HUiQtBADYCACAHIAhBiARqIAMQA0HUiQsoAgAhVEHUiQtBADYCACBUQQFGDQRBACAIKAKgBCIKayAIKAL4BCIDIAgoAvQEIgdrQQN1Rw0ACwsgAyEEIAxBBGoiDCAWRw0ACwsgFEEEaiIUIBNHDQEMAwsLDAMLDAILAkACQAJAAkACQAJAAn8gASgCSCIDIAEoAkwiBEcEQANAIAMoAgAiBygCGARAQdSJC0EANgIAQe4bIAkgB0EYahADQdSJCygCACFVQdSJC0EANgIAIFVBAUYNCwsgA0EEaiIDIARHDQALCyAIQfzsCTYCrAUgCEEANgKEBSAIQcQFahBhIAgoArgFIgQEQCAIKAK8BSIDIAQiB0cEQANAIANBBGsiAygCACEHIANBADYCACAHBEAgByAHKAIAKAIEEQEACyADIARHDQALIAgoArgFIQcLIAggBDYCvAUgBxBaCyAIKAL0BCIDBEAgCCADNgL4BCADEFoLIAhBkO0JNgKIBCAILACbBEEASARAIAgoApAEEFoLIAhBADYCoAFB1IkLQQA2AgBBBEEUEAYhA0HUiQsoAgAhBEHUiQtBADYCAAJAIARBAUcEQCADIAI2AgQgA0Hcxwc2AgAgAyABNgIMIAMgCEGjA2o2AhAgAyAIQaIDajYCCCAIQbABaiICQgA3AgAgCCADNgKgASAIIAE2ArgDIAggATYCqAEgCCACNgKsASAIQdADaiILQgA3AgAgCEGAyAc2ArADIAggATYCyAMgCCALNgLMAyAIIAhBsANqNgLAAyAIIAhBkAFqNgK0A0GAyAcgASgCDCIJIAEoAhAiDEYNAhoDQAJAIAkoAgAhCiALIgQhAwJAAkAgCCgC0AMiB0UNAANAIAogByIDKAIQIgRPBEAgBCAKTw0DIAcoAgQiBw0BIANBBGohBAwCCyADIQQgAygCACIHDQALC0HUiQtBADYCAEEEQcAAEAYhB0HUiQsoAgAhVkHUiQtBADYCACBWQQFGDQEgB0IANwIgIAdCADcCOCAHQgA3AjAgByAKNgIQIAcgAzYCCCAHQgA3AgAgB0EYaiIDQgA3AgAgB0IANwIoIAcgAzYCFCAHIAdBJGo2AiAgB0IANwA1IAQgBzYCACAIKALMAygCACIDBEAgCCADNgLMAyAEKAIAIQcLIAgoAtADIAcQZyAIIAgoAtQDQQFqNgLUAwsgDCAJQQRqIglHDQEMAwsLEAAhAwwHCxAAIQMMCgsgCCgCwAMiA0UEQEEAIQMMBAsgAyAIQbADakcNASAIKAKwAwshVyAIIAhB2ANqIgQ2AugDIFcoAgwhWEHUiQtBADYCACBYIAhBsANqIAQQA0HUiQsoAgAhWUHUiQtBADYCACBZQQFHDQMMAQsgAygCACgCCCFaQdSJC0EANgIAIFogAxAGIQNB1IkLKAIAIVtB1IkLQQA2AgAgW0EBRw0BCxAAIQMMAgsgCCADNgLoAwsCQCAIKALIAyIDKAIMIgkgAygCECIMRwRAAkADQAJAIAkoAgAiCigCDARAIAsiBCEDAkACQCAIKALQAyIHRQ0AA0AgCiAHIgMoAhAiBEkEQCAHIgQoAgAiBw0BDAILIAQgCk8NAiADKAIEIgcNAAsgA0EEaiEEC0HUiQtBADYCAEEEQcAAEAYhB0HUiQsoAgAhXEHUiQtBADYCACBcQQFGDQIgB0IANwIgIAdCADcCOCAHQgA3AjAgByAKNgIQIAcgAzYCCCAHQgA3AgAgB0EYaiIDQgA3AgAgB0IANwIoIAcgAzYCFCAHIAdBJGo2AiAgB0IANwA1IAQgBzYCACAHIQMgCCgCzAMoAgAiDQRAIAggDTYCzAMgBCgCACEDCyAIKALQAyADEGcgCCAIKALUA0EBajYC1AMLIAgoAugDIQMgCCAKNgKIBCADRQRAQdSJC0EANgIAQcUAEAlB1IkLKAIAIV1B1IkLQQA2AgAgXUEBRw0QEAAhAwwGCyADKAIAKAIYIV5B1IkLQQA2AgAgXiADIAhBiARqIAdBFGoQCEHUiQsoAgAhX0HUiQtBADYCACBfQQFGDQELIAwgCUEEaiIJRw0BDAILCxAAIQMMAgsgCCgCyAMhAwsgCEIANwC9BSAIQgA3AuAFQQAhByAIQQA6ANwFIAhBFDYC2AUgCEKCgICAcDcC0AUgCEIANwLIBSAIQYECOwDFBSAIQgA3AugFIAhCADcC8AUgCEKAgICAgICAwD83AvgFIAhCADcCgAYgCEIANwKIBiAIQYCAgPwDNgKQBiAIQQA7AZwGIAhCADcClAYgCEIANwK4BSAIQfzsCTYCrAUgCCADNgKwBSAIIANBqAFqNgK0BQJAAkACQAJAAkACQAJAAkACQCAIKALoAyIEBEAgCEHYA2oiByAERgRAIAggCEHwA2oiBDYCgAQgCCgC2AMoAgwhYEHUiQtBADYCACBgIAcgBBADQdSJCygCACFhQdSJC0EANgIAIGFBAUYNAyAIKAKABCEHDAILIAQoAgAoAgghYkHUiQtBADYCACBiIAQQBiEHQdSJCygCACFjQdSJC0EANgIAIGNBAUYNAgsgCCAHNgKABAtBACEEIAhBADYChAUgCEIANwL8BCAIQgA3ApQEIAhCADcCnAQgCEIANwL0BCAIQgA3AowEIAggCEHMA2oiCjYCjAUgCCADNgKIBSAIQaTIBzYCiAQgCEGQBWohCQJAIAcEQCAIQfADaiIDIAdGBEAgCCAJNgKgBSAIKALwAygCDCFkQdSJC0EANgIAIGQgAyAJEANB1IkLKAIAIWVB1IkLQQA2AgAgZUEBRw0CDAgLIAcoAgAoAgghZkHUiQtBADYCACBmIAcQBiEEQdSJCygCACFnQdSJC0EANgIAIGdBAUYNBwsgCCAENgKgBQsCQCAIKAKMBCIDRQ0AIAMgCEGsBWpGDQBB1IkLQQA2AgBBDUHixAZBuosDQeMDQf78ARAFQdSJCygCACFoQdSJC0EANgIAIGhBAUcNEwwFCyAIIAhBrAVqNgKMBCAIKAKIBCgCCCFpQdSJC0EANgIAIGkgCEGIBGogCCgCyAMQA0HUiQsoAgAhakHUiQtBADYCACBqQQFGDQQgCEGkyAc2AogEAkACQCAJIAgoAqAFIgNGBEBBBCEHIAkhAwwBC0EFIQcgA0UNAQsgAyADKAIAIAdBAnRqKAIAEQEACyAIKAL0BCIDBEAgCCADNgL4BCADEFoLIAhBkO0JNgKIBCAILACbBEEASARAIAgoApAEEFoLAkACQCAIKAKABCIDIAhB8ANqIgRGBEBBBCEHIAQhAwwBC0EFIQcgA0UNAQsgAyADKAIAIAdBAnRqKAIAEQEACyAIQfzsCTYCrAUgCEHEBWoQYSAIKAK4BSIEBEAgCCgCvAUiAyAEIgdHBEADQCADQQRrIgMoAgAhByADQQA2AgAgBwRAIAcgBygCACgCBBEBAAsgAyAERw0ACyAIKAK4BSEHCyAIIAQ2ArwFIAcQWgsgCCgC6AMiAyAIQdgDaiIERw0BQQQhByAEIQMMAgsQACEDDAYLQQUhByADRQ0BCyADIAMoAgAgB0ECdGooAgARAQALIAhBrAFqIRYCQAJAIAgoAsADIgMgCEGwA2oiBEYEQEEEIQcgBCEDDAELQQUhByADRQ0BCyADIAMoAgAgB0ECdGooAgARAQALIAgpAqwBIagBIAggCCgCzAM2AqwBIAggCCgC0AMiBDYCsAEgCCCoATcCzAMgCCgCtAEhAyAIIAgoAtQDIgc2ArQBIAggAzYC1AMgBEEIaiAWIAcbIAI2AgAgCCgC0ANBCGogCiADGyALNgIAIAIgCCgCrAEiDUcEQCAIKAK0ASEPA0ACQCANKAIUIgogDUEYaiIQRg0AA0ACQCAKKAIQIQQgAiILIQMCQAJAIAgoArABIgdFDQADQCAEIAciAygCECIHSQRAIAMiCygCACIHDQEMAgsgBCAHTQRAIAMhCQwDCyADKAIEIgcNAAsgA0EEaiELC0HUiQtBADYCAEEEQcAAEAYhCUHUiQsoAgAha0HUiQtBADYCACBrQQFGDQEgCUIANwIgIAlCADcCOCAJQgA3AjAgCSAENgIQIAkgAzYCCCAJQgA3AgAgCUEYaiIDQgA3AgAgCUIANwIoIAkgAzYCFCAJIAlBJGo2AiAgCUIANwA1IAsgCTYCACAJIQQgCCgCrAEoAgAiAwRAIAggAzYCrAEgCygCACEECyAEIAQgCCgCsAEiDEYiAzoADAJAIAMNAANAIAQoAggiBy0ADA0BAkAgByAHKAIIIgMoAgAiC0YEQAJAIAMoAgQiC0UNACALLQAMDQAMAgsCQCAEIAcoAgBGBEAgByEEDAELIAcgBygCBCIEKAIAIgs2AgQgByEMIAsEQCALIAc2AgggBygCCCIDKAIAIQwLIAQgAzYCCCADIANBBGogByAMRhsgBDYCACAEIAc2AgAgByAENgIIIAQoAggiAygCACEHCyAEQQE6AAwgA0EAOgAMIAMgBygCBCIENgIAIAQEQCAEIAM2AggLIAcgAygCCCIENgIIIAQgBCgCACADR0ECdGogBzYCACAHIAM2AgQgAyAHNgIIDAMLAkAgC0UNACALLQAMDQAMAQsCQCAEIAcoAgBHBEAgByEEDAELIAcgBCgCBCILNgIAIAsEQCALIAc2AgggBygCCCEDCyAEIAM2AgggAyADQQRqIAMoAgAgB0YbIAQ2AgAgBCAHNgIEIAcgBDYCCCAEKAIIIQMLIARBAToADCADQQA6AAwgAyADKAIEIgQoAgAiBzYCBCAHBEAgByADNgIICyAEIAMoAggiBzYCCCAHIAcoAgAgA0dBAnRqIAQ2AgAgBCADNgIAIAMgBDYCCAwCCyAHQQE6AAwgAyADIAxGOgAMIAtBAToADCAMIAMiBEcNAAsLIA9BAWohDwsgDSgCECEOIAlBJGoiBCEMAkACQAJAIAQiAygCACIHRQ0AA0AgByIDKAIQIgcgDksEQCADIgwoAgAiBw0BDAILIAcgDk8NAiADKAIEIgcNAAsgA0EEaiEMC0HUiQtBADYCAEEEQRQQBiELQdSJCygCACFsQdSJC0EANgIAIGxBAUYNASALIAM2AgggC0IANwIAIAsgDjYCECAMIAs2AgAgCSgCICgCACIDBEAgCSADNgIgIAwoAgAhCwsgCyALIAQoAgAiDEYiAzoADAJAIAMNAANAIAsoAggiBy0ADA0BAkAgByAHKAIIIgMoAgAiBEYEQAJAIAMoAgQiBEUNACAELQAMDQAMAgsCQCALIAcoAgBGBEAgByEEDAELIAcgBygCBCIEKAIAIgs2AgQgByEMIAsEQCALIAc2AgggBygCCCIDKAIAIQwLIAQgAzYCCCADIANBBGogByAMRhsgBDYCACAEIAc2AgAgByAENgIIIAQoAggiAygCACEHCyAEQQE6AAwgA0EAOgAMIAMgBygCBCIENgIAIAQEQCAEIAM2AggLIAcgAygCCCIENgIIIAQgBCgCACADR0ECdGogBzYCACAHIAM2AgQgAyAHNgIIDAMLAkAgBEUNACAELQAMDQAMAQsCQCALIAcoAgBHBEAgByELDAELIAcgCygCBCIENgIAIAQEQCAEIAc2AgggBygCCCEDCyALIAM2AgggAyADQQRqIAMoAgAgB0YbIAs2AgAgCyAHNgIEIAcgCzYCCCALKAIIIQMLIAtBAToADCADQQA6AAwgAyADKAIEIgQoAgAiBzYCBCAHBEAgByADNgIICyAEIAMoAggiBzYCCCAHIAcoAgAgA0dBAnRqIAQ2AgAgBCADNgIAIAMgBDYCCAwCCyAHQQE6AAwgAyADIAxGOgAMIARBAToADCAMIAMiC0cNAAsLIAkgCSgCKEEBajYCKAsCQCAKKAIEIgcEQANAIAciAygCACIHDQAMAgsACwNAIAooAggiAygCACAKRyFtIAMhCiBtDQALCyAQIAMiCkYNAwwCCwsLEAAhAyAIIA82ArQBIAgoAtADEK4EDAkLAkAgDSgCBCIHBEADQCAHIgMoAgAiBw0ADAILAAsDQCANKAIIIgMoAgAgDUchbiADIQ0gbg0ACwsgAiADIg1HDQALIAggDzYCtAELIAgoAtADEK4EAkACQCAIKAKgASIDIAhBkAFqIgRGBEBBBCEHIAQhAwwBC0EFIQcgA0UNAQsgAyADKAIAIAdBAnRqKAIAEQEACwJAAkACQAJAIAgoAqwBIgogAkYNAANAIAooAhApAgAhqAFB1IkLQQA2AgAgCCCoATcDiAEgCCCoATcDEEHxGyAVIAhBEGoQAiEDQdSJCygCACEEQdSJC0EANgIAAkACQAJAIARBAUYNACADRQ0CIApBAToAOyAILQCiA0UNASAKLQA4RQ0BQdSJC0EANgIAQQlB5MELQfPmBkELEAQaQdSJCygCACFvQdSJC0EANgIAIG9BAUYNAAJAIAooAhApAgAiqAGnIgMEQEHUiQtBADYCAEEJQeTBCyADIKgBQiCIpxAEGkHUiQsoAgAhcEHUiQtBADYCACBwQQFHDQEMAgtB1IkLQQA2AgBBCUHkwQtBqOoFQQsQBBpB1IkLKAIAIXFB1IkLQQA2AgAgcUEBRg0BC0HUiQtBADYCAEEJQeTBC0GvnwdBHxAEGkHUiQsoAgAhckHUiQtBADYCACByQQFHDQELEAAhAwwGCyAKQQA6ADgLAkAgCigCBCIHBEADQCAHIgMoAgAiBw0ADAILAAsDQCAKKAIIIgMoAgAgCkchcyADIQogcw0ACwsgAiADIgpHDQALQQAhFCAIKAKsASIJIAJGDQBBACEQQQAhDgNAAkAgCSgCECIHKAIMIgNFDQAgA0H4qAsoAgBHDQAgECAURwRAIBQgBykCADcCACAUQQhqIRQMAQsCQAJAAkACQAJAIBAgDmsiA0EDdSILQQFqIgRBgICAgAJPBEBB1IkLQQA2AgBB9wAQCQwBC0H/////ASADQQJ1IgogBCAEIApJGyADQfj///8HTxsiBEUEQEEAIQoMAwsgBEGAgICAAkkNAUHUiQtBADYCAEEDEAkLQdSJCygCACF0QdSJC0EANgIAIHRBAUcNGBAAIQMMCAtB1IkLQQA2AgBBBCAEQQN0EAYhCkHUiQsoAgAhdUHUiQtBADYCACB1QQFGDQELIAogC0EDdGoiAyAHKQIANwIAIARBA3QgCmohBCADQQhqIRQgDiAQRwRAA0AgA0EIayIDIBBBCGsiECkCADcCACAOIBBHDQALIA4hEAsgEEUNASAQEFoMAQsQACEDDAULIAQhECADIQ4LQQAhBEEAIQtBACEMAkAgCSgCFCIKIAlBGGoiE0YNAANAAkAgCigCECIDKAIMIgdFDQAgB0H4qAsoAgBHDQAgBCAMRwRAIAwgAzYCACAMQQRqIQwMAQsCQAJAAkACQAJAAkAgBCALayIHQQJ1Ig9BAWoiDEGAgICABE8EQEHUiQtBADYCAEGgAhAJDAELQf////8DIAdBAXUiDSAMIAwgDUkbIAdB/P///wdPGyINRQRAQQAhDAwDCyANQYCAgIAESQ0BQdSJC0EANgIAQQMQCQtB1IkLKAIAIXZB1IkLQQA2AgAgdkEBRw0bEAAhAyALDQMMCwtB1IkLQQA2AgBBBCANQQJ0EAYhDEHUiQsoAgAhd0HUiQtBADYCACB3QQFGDQELIAwgD0ECdGoiByADNgIAIAchAyAEIAtHBEADQCADQQRrIgMgBEEEayIEKAIANgIAIAQgC0cNAAsgCyEECyANQQJ0IAxqIQsgB0EEaiEMIARFDQIgBBBaDAILEAAhAyALRQ0ICyALEFoMBwsgCyEEIAMhCwsCQCAKKAIEIgcEQANAIAciAygCACIHDQAMAgsACwNAIAooAggiAygCACAKRyF4IAMhCiB4DQALCyATIAMiCkcNAAsCQCALIAxGDQAgCyEPIAkoAhgiDUUNAANAAkAgDUUNACAPKAIAIQQgEyEHIA0hAwNAIAcgAyADKAIQIARJIgobIQcgA0EEaiADIAobKAIAIgMNAAsgByATRg0AIAQgBygCEEkNACAHIQQCQCAHKAIEIgoEQANAIAoiAygCACIKDQAMAgsACwNAIAQoAggiAygCACAERyF5IAMhBCB5DQALCyAHIAkoAhRGBEAgCSADNgIUCyAJIAkoAhxBAWs2AhwgDSAHEOUBIAcQWgsgD0EEaiIPIAxGDQEgEygCACENDAALAAsgC0UNACALEFoLAkAgCSgCBCIHBEADQCAHIgMoAgAiBw0ADAILAAsDQCAJKAIIIgMoAgAgCUcheiADIQkgeg0ACwsgAiADIglHDQALIA4gFEYNASAOIQMDQCABIAMpAgAQ9wQgA0EIaiIDIBRHDQALDAELQQAhDgsgCEHUyAc2AnAgCEH4yAc2AlggCCAILQCiAzoARCAIQZzJBzYCQCAIIAhB8ABqNgKAASAIIAhB2ABqNgJoIAggCEFAazYCUCAIQgA3A6gEIAhBoARqIhBCADcDACAIQgA3A5gEIAhCADcDkAQgCEGAgID8AzYCsAQgCEIANwOIBAJAAkAgCCgCqAEiAygCDCILIAMoAhAiDEYNAAJAA0AgCygCACEJIAIiBCEDAkACQCAIKAKwASIHRQ0AA0AgCSAHIgMoAhAiBEkEQCAHIgQoAgAiBw0BDAILIAQgCU8NAiADKAIEIgcNAAsgA0EEaiEEC0HUiQtBADYCAEEEQcAAEAYhB0HUiQsoAgAhe0HUiQtBADYCACB7QQFGDQQgB0IANwIgIAdCADcCOCAHQgA3AjAgByAJNgIQIAcgAzYCCCAHQgA3AgAgB0EYaiIDQgA3AgAgB0IANwIoIAcgAzYCFCAHIAdBJGo2AiAgB0IANwA1IAQgBzYCACAHIQMgCCgCrAEoAgAiCQRAIAggCTYCrAEgBCgCACEDCyAIKAKwASADEGcgCCAIKAK0AUEBajYCtAELIAgoAoABIgNFBEBB1IkLQQA2AgBBxQAQCUHUiQsoAgAhfEHUiQtBADYCACB8QQFHDRUMBAsgAygCACgCGCF9QdSJC0EANgIAIH0gAyAHQRRqEAIhA0HUiQsoAgAhfkHUiQtBADYCACB+QQFGDQMCQCADBEAgCygCACEKIAIiBCEDAkACQCAIKAKwASIHRQ0AA0AgCiAHIgMoAhAiBEkEQCAHIgQoAgAiBw0BDAILIAQgCk8NAiADKAIEIgcNAAsgA0EEaiEEC0HUiQtBADYCAEEEQcAAEAYhB0HUiQsoAgAhf0HUiQtBADYCACB/QQFGDQIgB0IANwIgIAdCADcCOCAHQgA3AjAgByAKNgIQIAcgAzYCCCAHQgA3AgAgB0EYaiIDQgA3AgAgB0IANwIoIAcgAzYCFCAHIAdBJGo2AiAgB0IANwA1IAQgBzYCACAHIQMgCCgCrAEoAgAiCQRAIAggCTYCrAEgBCgCACEDCyAIKAKwASADEGcgCCAIKAK0AUEBajYCtAEgCygCACEKCyAIKAJQIQMgCCAKNgKsBSADRQRAQdSJC0EANgIAQcUAEAlB1IkLKAIAIYABQdSJC0EANgIAIIABQQFHDRcMBgsgAygCACgCGCGBAUHUiQtBADYCACCBASADIAdBFGogCEGsBWoQCEHUiQsoAgAhggFB1IkLQQA2AgAgggFBAUYNASAIIAsoAgAiCTYC8AMgCCgCnAQiBCAIKAKYBGoiByAIKAKQBCIKIAgoAowEIgNrQQh0QQFrQQAgAyAKRxtGBEBB1IkLQQA2AgBB8hsgCEGIBGoQCkHUiQsoAgAhgwFB1IkLQQA2AgAggwFBAUYNBiAIKAKcBCIEIAgoApgEaiEHIAgoAowEIQMLIAMgB0EIdkH8//8HcWooAgAgB0H/B3FBAnRqIAk2AgAgCCAEQQFqNgKcBEHUiQtBADYCAEHzGyAIQawFaiAQIAkgCEHwA2oQBUHUiQsoAgAhhAFB1IkLQQA2AgAghAFBAUYNBSAIKAKsBSIDIAMoAgxBAWo2AgwLIAtBBGoiCyAMRg0CDAELCwwCCyAIKAKcBEUNAANAQdSJC0EANgIAQfQbIAhBiARqEAYhDUHUiQsoAgAhA0HUiQtBADYCAAJAIANBAUcEQCACIgohAwJAAkACQCAIKAKwASIHRQ0AA0AgDSAHIgMoAhAiBEkEQCAHIgooAgAiBw0BDAILIAQgDU8NAiADKAIEIgcNAAsgA0EEaiEKC0HUiQtBADYCAEEEQcAAEAYhB0HUiQsoAgAhhQFB1IkLQQA2AgAghQFBAUYNASAHQgA3AiAgB0IANwI4IAdCADcCMCAHIA02AhAgByADNgIIIAdCADcCACAHQRhqIgNCADcCACAHQgA3AiggByADNgIUIAcgB0EkajYCICAHQgA3ADUgCiAHNgIAIAchAyAIKAKsASgCACIEBEAgCCAENgKsASAKKAIAIQMLIAgoArABIAMQZyAIIAgoArQBQQFqNgK0AQsgBygCICIKIAdBJGoiE0YNAgNAAkAgCigCECEDIAIiDCEHAkACQCAIKAKwASIERQ0AA0AgAyAEIgcoAhAiBEkEQCAHIQwgBygCACIEDQEMAgsgAyAETQRAIAchCwwDCyAHKAIEIgQNAAsgB0EEaiEMC0HUiQtBADYCAEEEQcAAEAYhC0HUiQsoAgAhhgFB1IkLQQA2AgAghgFBAUYNCCALQgA3AiAgC0IANwI4IAtCADcCMCALIAM2AhAgCyAHNgIIIAtCADcCACALQRhqIgRCADcCACALQgA3AiggCyAENgIUIAsgC0EkajYCICALQgA3ADUgDCALNgIAIAshCSAIKAKsASgCACIEBEAgCCAENgKsASAMKAIAIQkLIAkgCSAIKAKwASIPRiIEOgAMAkAgBA0AA0AgCSgCCCIELQAMDQECQCAEIAQoAggiBygCACIMRgRAAkAgBygCBCIMRQ0AIAwtAAwNAAwCCwJAIAkgBCgCAEYEQCAEIQkMAQsgBCAEKAIEIgkoAgAiDzYCBCAEIQwgDwRAIA8gBDYCCCAEKAIIIgcoAgAhDAsgCSAHNgIIIAcgB0EEaiAEIAxGGyAJNgIAIAkgBDYCACAEIAk2AgggCSgCCCIHKAIAIQQLIAlBAToADCAHQQA6AAwgByAEKAIEIgk2AgAgCQRAIAkgBzYCCAsgBCAHKAIIIgk2AgggCSAJKAIAIAdHQQJ0aiAENgIAIAQgBzYCBCAHIAQ2AggMAwsCQCAMRQ0AIAwtAAwNAAwBCwJAIAkgBCgCAEcEQCAEIQkMAQsgBCAJKAIEIgw2AgAgDARAIAwgBDYCCCAEKAIIIQcLIAkgBzYCCCAHIAdBBGogBygCACAERhsgCTYCACAJIAQ2AgQgBCAJNgIIIAkoAgghBwsgCUEBOgAMIAdBADoADCAHIAcoAgQiBCgCACIJNgIEIAkEQCAJIAc2AggLIAQgBygCCCIJNgIIIAkgCSgCACAHR0ECdGogBDYCACAEIAc2AgAgByAENgIIDAILIARBAToADCAHIAcgD0Y6AAwgDEEBOgAMIA8gByIJRw0ACwsgCCAIKAK0AUEBajYCtAELIAgoAoABIgRFDQAgBCgCACgCGCGHAUHUiQtBADYCACCHASAEIAtBFGoQAiEEQdSJCygCACGIAUHUiQtBADYCACCIAUEBRg0HAkAgBA0AIAIiDCEHAkACQCAIKAKwASIERQ0AA0AgAyAEIgcoAhAiBEkEQCAHIQwgBygCACIEDQEMAgsgAyAETQRAIAchCwwDCyAHKAIEIgQNAAsgB0EEaiEMC0HUiQtBADYCAEEEQcAAEAYhC0HUiQsoAgAhiQFB1IkLQQA2AgAgiQFBAUYNCSALQgA3AiAgC0IANwI4IAtCADcCMCALIAM2AhAgCyAHNgIIIAtCADcCACALQRhqIgRCADcCACALQgA3AiggCyAENgIUIAsgC0EkajYCICALQgA3ADUgDCALNgIAIAshCSAIKAKsASgCACIEBEAgCCAENgKsASAMKAIAIQkLIAkgCSAIKAKwASIPRiIEOgAMAkAgBA0AA0AgCSgCCCIELQAMDQECQCAEIAQoAggiBygCACIMRgRAAkAgBygCBCIMRQ0AIAwtAAwNAAwCCwJAIAkgBCgCAEYEQCAEIQkMAQsgBCAEKAIEIgkoAgAiDzYCBCAEIQwgDwRAIA8gBDYCCCAEKAIIIgcoAgAhDAsgCSAHNgIIIAcgB0EEaiAEIAxGGyAJNgIAIAkgBDYCACAEIAk2AgggCSgCCCIHKAIAIQQLIAlBAToADCAHQQA6AAwgByAEKAIEIgk2AgAgCQRAIAkgBzYCCAsgBCAHKAIIIgk2AgggCSAJKAIAIAdHQQJ0aiAENgIAIAQgBzYCBCAHIAQ2AggMAwsCQCAMRQ0AIAwtAAwNAAwBCwJAIAkgBCgCAEcEQCAEIQkMAQsgBCAJKAIEIgw2AgAgDARAIAwgBDYCCCAEKAIIIQcLIAkgBzYCCCAHIAdBBGogBygCACAERhsgCTYCACAJIAQ2AgQgBCAJNgIIIAkoAgghBwsgCUEBOgAMIAdBADoADCAHIAcoAgQiBCgCACIJNgIEIAkEQCAJIAc2AggLIAQgBygCCCIJNgIIIAkgCSgCACAHR0ECdGogBDYCACAEIAc2AgAgByAENgIIDAILIARBAToADCAHIAcgD0Y6AAwgDEEBOgAMIA8gByIJRw0ACwsgCCAIKAK0AUEBajYCtAELIAgoAmgiBEUNASAEKAIAKAIYIYoBQdSJC0EANgIAIIoBIAQgC0EUahACIYwBQdSJCygCACGLAUHUiQtBADYCACCLAUEBRg0IIIwBRQ0AIAIiDCEHAkACQCAIKAKwASIERQ0AA0AgAyAEIgcoAhAiBEkEQCAHIQwgBygCACIEDQEMAgsgAyAETQRAIAchCwwDCyAHKAIEIgQNAAsgB0EEaiEMC0HUiQtBADYCAEEEQcAAEAYhC0HUiQsoAgAhjQFB1IkLQQA2AgAgjQFBAUYNCSALQgA3AiAgC0IANwI4IAtCADcCMCALIAM2AhAgCyAHNgIIIAtCADcCACALQRhqIgRCADcCACALQgA3AiggCyAENgIUIAsgC0EkajYCICALQgA3ADUgDCALNgIAIAshCSAIKAKsASgCACIEBEAgCCAENgKsASAMKAIAIQkLIAkgCSAIKAKwASIPRiIEOgAMAkAgBA0AA0AgCSgCCCIELQAMDQECQCAEIAQoAggiBygCACIMRgRAAkAgBygCBCIMRQ0AIAwtAAwNAAwCCwJAIAkgBCgCAEYEQCAEIQkMAQsgBCAEKAIEIgkoAgAiDzYCBCAEIQwgDwRAIA8gBDYCCCAEKAIIIgcoAgAhDAsgCSAHNgIIIAcgB0EEaiAEIAxGGyAJNgIAIAkgBDYCACAEIAk2AgggCSgCCCIHKAIAIQQLIAlBAToADCAHQQA6AAwgByAEKAIEIgk2AgAgCQRAIAkgBzYCCAsgBCAHKAIIIgk2AgggCSAJKAIAIAdHQQJ0aiAENgIAIAQgBzYCBCAHIAQ2AggMAwsCQCAMRQ0AIAwtAAwNAAwBCwJAIAkgBCgCAEcEQCAEIQkMAQsgBCAJKAIEIgw2AgAgDARAIAwgBDYCCCAEKAIIIQcLIAkgBzYCCCAHIAdBBGogBygCACAERhsgCTYCACAJIAQ2AgQgBCAJNgIIIAkoAgghBwsgCUEBOgAMIAdBADoADCAHIAcoAgQiBCgCACIJNgIEIAkEQCAJIAc2AggLIAQgBygCCCIJNgIIIAkgCSgCACAHR0ECdGogBDYCACAEIAc2AgAgByAENgIIDAILIARBAToADCAHIAcgD0Y6AAwgDEEBOgAMIA8gByIJRw0ACwsgCCAIKAK0AUEBajYCtAELIAgoAlAhBCAIIA02AqwFIARFDQEgBCgCACgCGCGOAUHUiQtBADYCACCOASAEIAtBFGogCEGsBWoQCEHUiQsoAgAhjwFB1IkLQQA2AgAgjwFBAUYNCCAIIAM2AvADIAgoApwEIgsgCCgCmARqIgQgCCgCkAQiCSAIKAKMBCIHa0EIdEEBa0EAIAcgCUcbRgRAQdSJC0EANgIAQfIbIAhBiARqEApB1IkLKAIAIZABQdSJC0EANgIAIJABQQFGDQkgCCgCjAQhByAIKAKcBCILIAgoApgEaiEECyAHIARBCHZB/P//B3FqKAIAIARB/wdxQQJ0aiADNgIAIAggC0EBajYCnARB1IkLQQA2AgBB8xsgCEGsBWogECADIAhB8ANqEAVB1IkLKAIAIZEBQdSJC0EANgIAIJEBQQFGDQggCCgCrAUiAyADKAIMQQFqNgIMCwJAIAooAgQiBwRAA0AgByIDKAIAIgcNAAsMAQsDQCAKKAIIIgMoAgAgCkchkgEgAyEKIJIBDQALCyATIAMiCkcNAQwECwtB1IkLQQA2AgBBxQAQCUHUiQsoAgAhkwFB1IkLQQA2AgAgkwFBAUcNFgwFCwwECwwDCyAIKAKcBA0ACwsgCCgCqAQiAwRAA0AgAygCACGUASADEFoglAEiAw0ACwsgCCgCoAQhAyAIQQA2AqAEIAMEQCADEFoLIAhBADYCnAQgCCgCkAQiByAIKAKMBCIDa0ECdSIKQQNPBEADQCADKAIAEFogCCAIKAKMBEEEaiIDNgKMBCAIKAKQBCIHIANrQQJ1IgpBAksNAAsLQYAEIQQCQAJAAkAgCkEBaw4CAQACC0GACCEECyAIIAQ2ApgECwJAIAMgB0YNAANAIAMoAgAQWiADQQRqIgMgB0cNAAsgCCgCkAQiAyAIKAKMBCIERg0AIAggAyAEIANrQQNqQXxxajYCkAQLIAgoAogEIgMEQCADEFoLAkACQCAIKAJQIgMgCEFAayIERgRAQQQhByAEIQMMAQtBBSEHIANFDQELIAMgAygCACAHQQJ0aigCABEBAAsCQAJAIAgoAmgiAyAIQdgAaiIERgRAQQQhByAEIQMMAQtBBSEHIANFDQELIAMgAygCACAHQQJ0aigCABEBAAsgAEEIaiEJAkACQCAIKAKAASIDIAhB8ABqIgRGBEBBBCEHIAQhAwwBC0EFIQcgA0UNAQsgAyADKAIAIAdBAnRqKAIAEQEACyAAKAIIIQMgACAIKAKsATYCCCAIIAM2AqwBIAAoAgwhAyAAIAgoArABIgQ2AgwgCCADNgKwASAAKAIQIQMgACAIKAK0ASIHNgIQIAggAzYCtAEgBEEIaiAJIAcbIBc2AgAgCCgCsAFBCGogFiADGyACNgIAAkACQAJAAkACQCAGKAIAIAYoAgRGDQAgASgCDCIEIAEoAhAiBkYNAANAAkAgBCgCACIKKAIMDQACQAJAIBciCyIDKAIAIgdFDQADQCAKIAciAygCECICSQRAIAciCygCACIHDQEMAgsgAiAKTw0CIAMoAgQiBw0ACyADQQRqIQsLQdSJC0EANgIAQQRBwAAQBiEHQdSJCygCACGVAUHUiQtBADYCACCVAUEBRg0EIAdCADcCICAHQgA3AjggB0IANwIwIAcgCjYCECAHIAM2AgggB0IANwIAIAdBGGoiAkIANwIAIAdCADcCKCAHIAI2AhQgByAHQSRqNgIgIAdCADcANSALIAc2AgAgByEDIAkoAgAoAgAiAgRAIAkgAjYCACALKAIAIQMLIAAoAgwgAxBnIAAgACgCEEEBajYCECAEKAIAIQoLIAopAgAhqAFB1IkLQQA2AgAgCCCoATcDOCAIIKgBNwMIQfEbIBIgCEEIahACIQJB1IkLKAIAIZYBQdSJC0EANgIAIJYBQQFGDQUgByACOgA4IAIEQCAHQQE6ADwLIAgtAKIDRQ0AQdSJC0EANgIAQQlB5MELQfPmBkELEAQaQdSJCygCACGXAUHUiQtBADYCACCXAUEBRg0FAkAgBCgCACkCACKoAaciAwRAQdSJC0EANgIAQQlB5MELIAMgqAFCIIinEAQaQdSJCygCACGYAUHUiQtBADYCACCYAUEBRw0BDAcLQdSJC0EANgIAQQlB5MELQajqBUELEAQaQdSJCygCACGZAUHUiQtBADYCACCZAUEBRg0GC0HUiQtBADYCAEEJQeTBC0Ge2gZBKhAEGkHUiQsoAgAhmgFB1IkLQQA2AgAgmgFBAUYNBUHUiQtBADYCAEH1G0HkwQsgAhACGkHUiQsoAgAhmwFB1IkLQQA2AgAgmwFBAUYNBUHUiQtBADYCACAIQQo6AIgEQQlB5MELIAhBiARqQQEQBBpB1IkLKAIAIZwBQdSJC0EANgIAIJwBQQFGDQULIARBBGoiBCAGRw0ACwsCQAJAAkAgBSgCACAFKAIERg0AIAEoAgwiBCABKAIQIgJGDQADQAJAIAQoAgAiASgCDA0AIAEpAgAhqAFB1IkLQQA2AgAgCCCoATcDMCAIIKgBNwMAQfEbIBEgCBACIZ4BQdSJCygCACGdAUHUiQtBADYCACCdAUEBRg0DIJ4BRQ0AIAQoAgAhAQJAAkAgFyILIgMoAgAiB0UNAANAIAEgByIDKAIQIgVJBEAgByILKAIAIgcNAQwCCyABIAVNDQIgAygCBCIHDQALIANBBGohCwtB1IkLQQA2AgBBBEHAABAGIQdB1IkLKAIAIZ8BQdSJC0EANgIAIJ8BQQFGDQUgB0IANwIgIAdCADcCOCAHQgA3AjAgByABNgIQIAcgAzYCCCAHQgA3AgAgB0EYaiIBQgA3AgAgB0IANwIoIAcgATYCFCAHIAdBJGo2AiAgB0IANwA1IAsgBzYCACAHIQMgCSgCACgCACIBBEAgCSABNgIAIAsoAgAhAwsgACgCDCADEGcgACAAKAIQQQFqNgIQCwJAIAgtAKIDRQ0AIActADgNAEHUiQtBADYCAEEJQeTBC0Hz5gZBCxAEGkHUiQsoAgAhoAFB1IkLQQA2AgAgoAFBAUYNBwJAIAQoAgApAgAiqAGnIgEEQEHUiQtBADYCAEEJQeTBCyABIKgBQiCIpxAEGkHUiQsoAgAhoQFB1IkLQQA2AgAgoQFBAUcNAQwJC0HUiQtBADYCAEEJQeTBC0Go6gVBCxAEGkHUiQsoAgAhogFB1IkLQQA2AgAgogFBAUYNCAtB1IkLQQA2AgBBCUHkwQtByaAHQRkQBBpB1IkLKAIAIaMBQdSJC0EANgIAIKMBQQFGDQcLIAdBAToAOCAHQQE6ADwLIARBBGoiBCACRw0ACwtB1IkLQQA2AgBB9hsgFRAKQdSJCygCACGkAUHUiQtBADYCACCkAUEBRg0FQdSJC0EANgIAQfYbIBEQCkHUiQsoAgAhpQFB1IkLQQA2AgAgpQFBAUYNBUHUiQtBADYCAEH2GyASEApB1IkLKAIAIaYBQdSJC0EANgIAIKYBQQFGDQUgDgRAIA4QWgsgCCgCsAEQrgQgCCgCvAEQjwMgEigCNBC6BSASKAIoEJIEIBIoAhwQkgQgEigCEBBgIBIsAAtBAEgEQCASKAIAEFoLIBEoAjQQugUgESgCKBCSBCARKAIcEJIEIBEoAhAQYCARLAALQQBIBEAgESgCABBaCyAVKAI0ELoFIBUoAigQkgQgFSgCHBCSBCAVKAIQEGAgFSwAC0EASARAIBUoAgAQWgsgCEGgBmokACAADwsQACEDDAYLEAAhAwwFCxAAIQMMBAsQACEDDAMLEAAhAwwCCxAAIQMMAQsQACEDIAhBiARqEIEGAkACQCAIKAJQIgcgCEFAayIBRgRAQQQhCiABIQcMAQtBBSEKIAdFDQELIAcgBygCACAKQQJ0aigCABEBAAsCQAJAIAgoAmgiByAIQdgAaiIBRgRAQQQhCiABIQcMAQtBBSEKIAdFDQELIAcgBygCACAKQQJ0aigCABEBAAsCQCAIKAKAASIHIAhB8ABqIgFGBEBBBCEKIAEhBwwBC0EFIQogB0UNAQsgByAHKAIAIApBAnRqKAIAEQEACyAORQ0AIA4QWgsgCCgCsAEQrgQMCQsQACEDIAhBiARqEMcPGgwBCxAAIQMgCEGIBGoQ5AEaCwJAIAgoAoAEIgcgCEHwA2oiAUYEQEEEIQogASEHDAELQQUhCiAHRQ0BCyAHIAcoAgAgCkECdGooAgARAQALIAhBrAVqEHwaCwJAIAgoAugDIgcgCEHYA2oiAUYEQEEEIQogASEHDAELQQUhCiAHRQ0BCyAHIAcoAgAgCkECdGooAgARAQALIAgoAtADEK4EAkAgCCgCwAMiByAIQbADaiIBRgRAQQQhCiABIQcMAQtBBSEKIAdFDQELIAcgBygCACAKQQJ0aigCABEBAAsgCCgCsAEQrgQCQCAIKAKgASIHIAhBkAFqIgFGBEBBBCEKIAEhBwwBC0EFIQogB0UNAwsgByAHKAIAIApBAnRqKAIAEQEADAILQdSJC0EANgIAQQ0gByAPIAMgDRAFQdSJCygCACGnAUHUiQtBADYCACCnAUEBRw0GCxAAIQMgCEGsBWoQfBogCEGIBGoQ5AEaCyAIKAK8ARCPAyASEPMKCyAREPMKCyAVEPMKCyAAQRRqEPUKDAkLEAAhAyAIQYgEahDGDxoMAgsACxAAIQMgCEGIBGoQ5AEaCwJAIAgoAvACIgcgCEHgAmoiAEYEQEEEIQogACEHDAELQQUhCiAHRQ0BCyAHIAcoAgAgCkECdGooAgARAQALIAhBrAVqEHwaCwJAIAgoAqgCIgcgCEGYAmoiAEYEQEEEIQogACEHDAELQQUhCiAHRQ0BCyAHIAcoAgAgCkECdGooAgARAQALIAgoAuADEKEHAkAgCCgC4AEiByAIQdABaiIARgRAQQQhCiAAIQcMAQtBBSEKIAdFDQELIAcgBygCACAKQQJ0aigCABEBAAsgCCwAuwNBAE4NACAIKAKwAxBaCyAPEKIBIA4QogELIBcoAgAQrgQgAxAHAAsTACAAQQhqQaLNBUHPABBfGiAAC74FAQp/IwBB0AFrIgIkAAJAIAEtAAxFBEAgACABKAIANgIAIAAgASgCBDYCBCAAIAEoAgg2AgggAUEANgIIIAFCADcCACAAQQA6AAwMAQsgAEEBOgAMIABBADYCCCAAQgA3AgAgAkEANgLIASACQgA3A8ABIAJBADYCvAEgAiAANgK4ASACIAJBwAFqNgK0ASACIAJBvAFqNgKwAQJAAkACQAJAAkACQAJAIAEoAgAiAyABKAIEIgFHBEADQAJAIAMsAAtBAE4EQCACIAMoAgg2AqgBIAIgAykCADcDoAEMAQsgAygCBCEEIAMoAgAhBUHUiQtBADYCAEHUACACQaABaiAFIAQQCEHUiQsoAgAhBkHUiQtBADYCACAGQQFGDQgLQdSJC0EANgIAQekbIAJBsAFqIAJBoAFqEANB1IkLKAIAIQdB1IkLQQA2AgAgB0EBRg0CIAIsAKsBQQBIBEAgAigCoAEQWgsgA0EMaiIDIAFHDQALCyACQQA6AJQBIAJBADoAnwFB1IkLQQA2AgBB6RsgAkGwAWogAkGUAWoQA0HUiQsoAgAhCEHUiQtBADYCACAIQQFGDQEgAiwAnwFBAEgEQCACKAKUARBaCyACKAK8AUUNBEHUiQtBADYCAEEIIAJBBGoQBiEBQdSJCygCACEJQdSJC0EANgIAIAlBAUYNAkHUiQtBADYCAEHFASABQe+bARACIQtB1IkLKAIAIQpB1IkLQQA2AgAgCkEBRg0DIAsQcQALEAAhAyACLACrAUEATg0FIAIoAqABEFoMBQsQACEDIAIsAJ8BQQBODQQgAigClAEQWgwECxAAIQMMAwsQABogARBxAAsgAiwAywFBAE4NAiACKALAARBaDAILEAAhAwsgAiwAywFBAEgEQCACKALAARBaCyAAEKsDIAMQBwALIAJB0AFqJAALBQBBpQEL/wMBB38jAEEgayIEJAAgBEEAOgAEIAQgADYCAAJAAkACQCADBEAgA0HWqtWqAU8EQEHUiQtBADYCAEHoGxAJQdSJCygCACEIQdSJC0EANgIAIAhBAUYNAgALQdSJC0EANgIAQQQgA0EMbCIDEAYhBUHUiQsoAgAhCUHUiQtBADYCACAJQQFGDQEgACAFNgIEIAAgBTYCACAAIAMgBWo2AgggBCAFNgIcIAQgBTYCGCAEQQA6ABQgBCAAQQhqNgIIIAQgBEEcajYCECAEIARBGGo2AgwCQCABIAJGBEAgBSEDDAELIAUhAwNAAkAgASwAC0EATgRAIAMgASkCADcCACADIAEoAgg2AggMAQsgASgCBCEGIAEoAgAhB0HUiQtBADYCAEHUACADIAcgBhAIQdSJCygCACEKQdSJC0EANgIAIApBAUYNBSAEKAIcIQMLIAQgA0EMaiIDNgIcIAFBDGoiASACRw0ACwsgACADNgIECyAEQSBqJAAPCxAAIQEMAQsQACEBIARBCGoQ9AogACAFNgIECwJAIAQtAAQNACAEKAIAIgUoAgAiAEUNACAFKAIEIgIgACIDRwRAA0AgAkEMayEDIAJBAWssAABBAEgEQCADKAIAEFoLIAMiAiAARw0ACyAEKAIAKAIAIQMLIAUgADYCBCADEFoLIAEQBwALlQIBCH8jAEEQayIGJAAgAEEBOgAMIABBADYCCCAAQgA3AgACQAJAIAEoAgQgAS0ACyIFIAXAQQBIIgQbIgVBAEwNACABKAIAIAEgBBsiBCAFaiEHIAUhAyAEIQgDQCAIQQogAxDaAyIDRQ0BIAMtAABBCkcEQCAHIANBAWoiCGsiA0EASg0BDAILCyADIAdGDQAgAyAEayIEQX9GDQAgBCAFQQFrRg0AIAZBCjsBBEHUiQtBADYCACAGQQE6AA9B5xsgACABIAZBBGoQCAwBC0HUiQtBADYCAEHnGyAAIAEgAhAIC0HUiQsoAgAhCUHUiQtBADYCACAJQQFGBEAQACEKIAAQqwMgChAHAAsgBkEQaiQAIAAL5hUCJX8BfiMAQYADayICJAACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgASgCBCIFIAEtAAsiAyADwEEASCIDGyIEBEAgASgCACABIAMbIgYtAABBwABGDQELIAMNASAAIAEpAgA3AgAgACABKAIINgIIDAcLIARBAWsiAUHw////B08NAQJAAkAgBEEMTwRAIAFBD3JBAWoiBBBcIQMgAiAEQYCAgIB4cjYCHCACIAM2AhQgAiABNgIYDAELIAIgAToAHyACQRRqIQMgAUUNAQsgAyAGQQFqIAH8CgAACyABIANqQQA6AAACQCACKAIYIAIsAB8iAUH/AXEgAUEASCIBG0EBRw0AIAIoAhQgAkEUaiABGy0AAEEtRw0AQQAhAUEAIQRBACEGAkADQAJAQdSJC0EANgIAQbQCQbTACxAGIQNB1IkLKAIAIQxB1IkLQQA2AgAgDEEBRg0AQbTACygCAEEMaygCAEHEwAtqLQAAQQdxDQIgCCADIANBf0YbIQggASAGRwRAIAYgCDoAACAGQQFqIQYMAgsgASAEayIDQQFqIgVBAEgEQEHUiQtBADYCAEEFEAlB1IkLKAIAIQ1B1IkLQQA2AgAgDUEBRg0BDBELAkBB/////wcgA0EBdCIHIAUgBSAHSRsgA0H/////A08bIglFBEBBACEHDAELQdSJC0EANgIAQQQgCRAGIQdB1IkLKAIAIQ5B1IkLQQA2AgAgDkEBRg0BCyADIAdqIgUgCDoAAAJ/IAEgBEYEQCABIQMgBQwBC0EAIQogBSEDIAYgBGtBA3EiCwRAA0AgA0EBayIDIAFBAWsiAS0AADoAACAKQQFqIgogC0cNAAsLIAQgBmtBfE0EQANAIANBAWsgAUEBay0AADoAACADQQJrIAFBAmstAAA6AAAgA0EDayABQQNrLQAAOgAAIANBBGsiAyABQQRrIgEtAAA6AAAgASAERw0ACwsgBCEDIAcLIQQgByAJaiEBIAMEQCADEFoLIAVBAWohBgwBCwsQACEBIARFDQ0gBBBaDA0LIAYgBGsiA0Hw////B08EQEHUiQtBADYCAEHYABAJQdSJCygCACEPQdSJC0EANgIAIA9BAUcNDgwMCwJAIANBCk0EQCAAIAM6AAsMAQtB1IkLQQA2AgBBBCADQQ9yQQFqIgUQBiEBQdSJCygCACEQQdSJC0EANgIAIBBBAUYNDCAAIAE2AgAgACADNgIEIAAgBUGAgICAeHI2AgggASEACwJ/IAYgBCAGRg0AGgJAIANBB3EiBUUEQCAEIQEMAQtBACEDIAQhAQNAIAAgAS0AADoAACAAQQFqIQAgAUEBaiEBIANBAWoiAyAFRw0ACwsgBCAEIAZrQXhLDQAaA0AgACABLQAAOgAAIAAgAS0AAToAASAAIAEtAAI6AAIgACABLQADOgADIAAgAS0ABDoABCAAIAEtAAU6AAUgACABLQAGOgAGIAAgAS0ABzoAByAAQQhqIQAgAUEIaiIBIAZHDQALIAQLIREgAEEAOgAAIARFDQUgERBaDAULIAJBjJYKNgKwAiACQfiVCjYCxAEgAkEANgLIASACQbACaiIFIAJBzAFqIgEQ7QEgAkHklQo2ArACIAJB0JUKNgLEASACQoCAgIBwNwL4AkHUiQtBADYCAEGSASABEAYhBkHUiQsoAgAhEkHUiQtBADYCACASQQFGBEAQACEBIAUQ6AEaDAwLAkACQAJAAkACQCACLAAfQQBOBEAgAiACKAIcNgI4IAIgAikCFDcDMAwBC0HUiQtBADYCAEHUACACQTBqIAIoAhQgAigCGBAIQdSJCygCACETQdSJC0EANgIAIBNBAUYNAQtB1IkLQQA2AgBB4RsgAkHEAWogAkEwahADQdSJCygCACEUQdSJC0EANgIAIBRBAUYNASACLAA7QQBIBEAgAigCMBBaCyACKAKMAg0DQdSJC0EANgIAQQggAkEwahAGIQBB1IkLKAIAIRVB1IkLQQA2AgAgFUEBRg0CQdSJC0EANgIAQQkgAEEIakHjugZBEBAEIQFB1IkLKAIAIRZB1IkLQQA2AgAgFkEBRg0RQdSJC0EANgIAQQkgASACKAIUIAJBFGogAi0AHyIBwEEASCIDGyACKAIYIAEgAxsQBBpB1IkLKAIAIRdB1IkLQQA2AgAgF0EBRg0RQdSJC0EANgIAQdoAIABB0rsGEAIhGUHUiQsoAgAhGEHUiQtBADYCACAYQQFGDREgGRBxAAsQACEBDAwLEAAhASACLAA7QQBODQsgAigCMBBaDAsLEAAhAQwKC0HUiQtBADYCAEHiGyACQcQBahAGIQNB1IkLKAIAIRpB1IkLQQA2AgAgGkEBRg0IQdSJC0EANgIAQeMbIAJBIGogAxADQdSJCygCACEbQdSJC0EANgIAIBtBAUYNByACKQMoIidC/////w9aBEBB1IkLQQA2AgBBCCACQTBqEAYhAEHUiQsoAgAhAUHUiQtBADYCAAJAIAFBAUcEQEHUiQtBADYCAEEJIABBCGpB47oGQRAQBCEBQdSJCygCACEcQdSJC0EANgIAIBxBAUYNAUHUiQtBADYCAEEJIAEgAigCFCACQRRqIAItAB8iAcBBAEgiAxsgAigCGCABIAMbEAQhAUHUiQsoAgAhHUHUiQtBADYCACAdQQFGDQFB1IkLQQA2AgBBCSABQYX6BkEZEAQhAUHUiQsoAgAhHkHUiQtBADYCACAeQQFGDQFB1IkLQQA2AgBBoQwgASACKQMoELgCGkHUiQsoAgAhH0HUiQtBADYCACAfQQFGDQFB1IkLQQA2AgBBng8gAEGP0gUQAiEhQdSJCygCACEgQdSJC0EANgIAICBBAUYNASAhEHEACxAAIQEMCwsMDgsgJ6ciBEHv////B08EQEHUiQtBADYCAEHYABAJQdSJCygCACEiQdSJC0EANgIAICJBAUcNDQwICyAEQQFqIQEgBEEKTwRAQdSJC0EANgIAQQQgAUEPckEBaiIHEAYhBEHUiQsoAgAhI0HUiQtBADYCACAjQQFGDQggACAENgIAIAAgATYCBCAAIAdBgICAgHhyNgIIIARBACAB/AsAIAEgBGpBADoAAAwDCyAAIAE6AAsgAEEAIAH8CwAgACABakEAOgAAICdCAFINAgwDCyAAIAEoAgAgBRCRBAwFCxDqAQALIAJCADcDOCACQgA3AwggAkIANwMwQdSJC0EANgIAIAJCADcDAEHkGyADIAIQAiEBQdSJCygCACEkQdSJC0EANgIAICRBAUYNAiAAKAIAIQQgACwACyEHQdSJC0EANgIAQeUbIAEgBCAAIAdBAEgbIAIoAigQBBpB1IkLKAIAISVB1IkLQQA2AgAgJUEBRg0CQdSJC0EANgIAQeYbIAAgAigCyAEiAUEBahADQdSJCygCACEmQdSJC0EANgIAICZBAUcEQCAAKAIAIAAgACwAC0EASBsgAWpBADoAAAwBCwwCCyADQdCVCjYCACACQeSVCjYCsAIgBhD5AxogBRDoARoLIAIsAB9BAE4NASACKAIUEFoMAQsQACEBIAAsAAtBAE4NAyAAKAIAEFoMAwsgAkGAA2okAA8LEAAhAQwBCxAAIQELIAJBxAFqEP4IGgwBCxAAIQEgBEUNACAEEFoLIAIsAB9BAEgEQCACKAIUEFoLIAEQBwALAAsQABogABBxAAvjAQECfyMAQSBrIgQkAAJAIAIsAAtBAE4EQCAEIAIoAgg2AhAgBCACKQIANwMIDAELIARBCGogAigCACACKAIEEJEECyABKAIoIAEoAiwgBEEIahDDAyEFIAQsABNBAEgEQCAEKAIIEFoLAkAgBUUEQCAAIAMpAgA3AgAgACADKAIINgIIIANCADcCACADQQA2AggMAQsgBEEYaiABQShqIAIgAhDIDyAEKAIYIgEsAB9BAE4EQCAAIAEpAhQ3AgAgACABKAIcNgIIDAELIAAgASgCFCABKAIYEJEECyAEQSBqJAALk3gCjAF/An4jAEGQBmsiAiQAIAAoAgQiBSgCHCEPIAJBIBBcIgM2ArgFIAJCkICAgICEgICAfzcCvAUgA0GJnQEpAAA3AAggA0GBnQEpAAA3AAAgA0EAOgAQIAJBADoArAVB1IkLQQA2AgAgAkEAOgC3BUHVGyACQdAAaiIDIAVBGGoiCiACQbgFaiACQawFahAFQdSJCygCACEEQdSJC0EANgIAAkACQAJAIARBAUcEQEHUiQtBADYCAEHWGyACQZgBaiIEIAMQA0HUiQsoAgAhA0HUiQtBADYCAAJAIANBAUcEQCACKAKYASAEIAItAKMBIgPAQQBIIgQbIQkgAigCnAEgAyAEGyIHIQQDQAJAIAQiA0UEQEEAIQMMAQsgCSADQQFrIgRqLAAAIgZBIEYgBkEJa0EFSXIhEyAGRQ0BIBMNAQsLAkAgByADIAMgB0sbIgNB8P///wdPBEBB1IkLQQA2AgBB2AAQCUHUiQsoAgAhFEHUiQtBADYCACAUQQFGDQEMBwsCQAJAIANBC08EQEHUiQtBADYCAEEEIANBD3JBAWoiBxAGIQRB1IkLKAIAIRVB1IkLQQA2AgAgFUEBRg0DIAIgBDYCxAUgAiADNgLIBSACIAdBgICAgHhyNgLMBQwBCyACIAM6AM8FIAJBxAVqIQQgA0UNAQsgBCAJIAP8CgAACyADIARqQQA6AAAgAiwAowFBAEgEQCACKAKYARBaCyACLABbQQBIBEAgAigCUBBaCyACLAC3BUEASARAIAIoAqwFEFoLIAIsAMMFQQBIBEAgAigCuAUQWgtB1IkLQQA2AgBBBEEgEAYhA0HUiQsoAgAhBEHUiQtBADYCAAJAIARBAUcEQCACIAM2ApQFIAJCl4CAgICEgICAfzcCmAUgA0G9nQEpAAA3AA8gA0G2nQEpAAA3AAggA0GunQEpAAA3AAAgA0EAOgAXIAJBADoAiAVB1IkLQQA2AgAgAkEAOgCTBUHVGyACQaAFaiAKIAJBlAVqIAJBiAVqEAVB1IkLKAIAIRZB1IkLQQA2AgAgFkEBRwRAIAIsAJMFQQBIBEAgAigCiAUQWgsgAiwAnwVBAEgEQCACKAKUBRBaCyACIAIoAsgFIAIsAM8FIgNB/wFxIANBAEgbBH9BAQUgAigCpAUgAi0AqwUiAyADwEEASBsLRToAhwVB1IkLQQA2AgAgAkEsNgKYASACQQE6AKMBQdcbIAJB9ARqIAJBxAVqIAJBmAFqEAQhDUHUiQsoAgAhA0HUiQtBADYCAAJAIANBAUcEQCACLACjAUEASARAIAIoApgBEFoLQdSJC0EANgIAQQRBIBAGIQNB1IkLKAIAIQRB1IkLQQA2AgACQCAEQQFHBEAgAiADNgLoBCACQpiAgICAhICAgH83AuwEIANBtosBKQAANwAQIANBrosBKQAANwAIIANBposBKQAANwAAIANBADoAGCAFQUBrKAIAIAUoAkQgAkHoBGoQwwMhDiADEFpB1IkLQQA2AgBBBEEgEAYhA0HUiQsoAgAhF0HUiQtBADYCACAXQQFHBEAgAiADNgLMBCACQpOAgICAhICAgH83AtAEIANB+toAKAAANgAPIANB89oAKQAANwAIIANB69oAKQAANwAAIANBADoAEyACQQA6AMAEQdSJC0EANgIAIAJBADoAywRB1RsgAkHYBGogCiACQcwEaiACQcAEahAFQdSJCygCACEYQdSJC0EANgIAIBhBAUcEQCACLADLBEEASARAIAIoAsAEEFoLIAIsANcEQQBIBEAgAigCzAQQWgsCQAJAAkACQCACKALcBCACLQDjBCIDIAPAQQBIGw0AQdSJC0EANgIAQQRBIBAGIQNB1IkLKAIAIRlB1IkLQQA2AgAgGUEBRg0CIAIgAzYCtAQgAkKSgICAgISAgIB/NwK4BCADQejaAC8AADsAECADQeDaACkAADcACCADQdjaACkAADcAACADQQA6ABIgAkEAOgCoBEHUiQtBADYCACACQQA6ALMEQdUbIAJBmAFqIAogAkG0BGogAkGoBGoQBUHUiQsoAgAhGkHUiQtBADYCACAaQQFGDQEgAiwA4wRBAEgEQCACKALYBBBaCyACIAIoAqABNgLgBCACIAIpApgBNwPYBCACQQA6AJgBIAJBADoAowEgAiwAswRBAEgEQCACKAKoBBBaCyACLAC/BEEATg0AIAIoArQEEFoLQdSJC0EANgIAQdYbIAJB0ABqIgMgAkHYBGoQA0HUiQsoAgAhBEHUiQtBADYCAAJAAkACQAJAAkACQAJAIARBAUcEQCACKAJQIAMgAi0AWyIDwEEASCIEGyEJIAIoAlQgAyAEGyIHIQQDQAJAIAQiA0UEQEEAIQMMAQsgCSADQQFrIgRq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ISkgC0UNASApDQELCyAIIAMgAyAISxsiA0Hw////B08EQEHUiQtBADYCAEHYABAJQdSJCygCACEqQdSJC0EANgIAICpBAUcNQAwZCwJAAkAgA0ELTwRAQdSJC0EANgIAQQQgA0EPckEBaiIIEAYhBEHUiQsoAgAhK0HUiQtBADYCACArQQFGDRsgAiAENgKYASACIAM2ApwBIAIgCEGAgICAeHI2AqABDAELIAIgAzoAowEgAkGYAWohBCADRQ0BCyAEIAYgA/wKAAALIAMgBGpBADoAAEHUiQtBADYCACACQSw2AtAFIAJBAToA2wVB1xsgAkGgA2ogAkGYAWogAkHQBWoQBCEGQdSJCygCACEsQdSJC0EANgIAICxBAUYNASACLADbBUEASARAIAIoAtAFEFoLIAIsAKMBQQBIBEAgAigCmAEQWgsgAiwAW0EASARAIAIoAlAQWgtB1IkLQQA2AgBBBEEgEAYhA0HUiQsoAgAhLUHUiQtBADYCACAtQQFGDQIgAiADNgKUAyACQpCAgICAhICAgH83ApgDIANB6J0BKQAANwAIIANB4J0BKQAANwAAIANBADoAECAFKAJAIAUoAkQgAkGUA2oQwwMhECADEFpB1IkLQQA2AgBBBEEgEAYhA0HUiQsoAgAhLkHUiQtBADYCACAuQQFGDQMgAiADNgKIAyACQpCAgICAhICAgH83AowDIANBt9wDKQAANwAIIANBr9wDKQAANwAAIANBADoAECAFKAJAIAUoAkQgAkGIA2oQwwMhCCADEFpB1IkLQQA2AgBBBEEgEAYhA0HUiQsoAgAhL0HUiQtBADYCACAvQQFGDQQgAiADNgL8AiACQpSAgICAhICAgH83AoADIANB8KkEKAAANgAQIANB6KkEKQAANwAIIANB4KkEKQAANwAAIANBADoAFCAFKAJAIAUoAkQgAkH8AmoQwwMhCyADEFpB1IkLQQA2AgBBBEEgEAYhA0HUiQsoAgAhMEHUiQtBADYCACAwQQFGDRYgAiADNgLwAiACQpyAgICAhICAgH83AvQCIANBghQoAAA2ABggA0H6EykAADcAECADQfITKQAANwAIIANB6hMpAAA3AAAgA0EAOgAcIAUoAkAgBSgCRCACQfACahDDAyExIAMQWiAxRQ0JQdSJC0EANgIAQQRBIBAGIQNB1IkLKAIAITJB1IkLQQA2AgAgMkEBRg0FIAIgAzYC5AIgAkKegICAgISAgIB/NwLoAiADQfO9AykAADcAFiADQe29AykAADcAECADQeW9AykAADcACCADQd29AykAADcAACADQQA6AB4gAkExOwHYAkHUiQtBADYCACACQQE6AOMCQdUbIAJB0ABqIAogAkHkAmogAkHYAmoQBUHUiQsoAgAhM0HUiQtBADYCACAzQQFGDQYgAiwA4wJBAEgEQCACKALYAhBaCyACLADvAkEASARAIAIoAuQCEFoLQdSJC0EANgIAQeQRIAJB0ABqEAYhCkHUiQsoAgAhNEHUiQtBADYCACA0QQFGDQcgAkEPNgKcASACQcoTNgKYAUHUiQtBADYCACACIAIpApgBNwMYQQYgAkHQBWogAkEYahADQdSJCygCACEDQdSJC0EANgIAAkACQCADQQFHBEAgAkGw7wk2ApgBIAIgATYCnAEgAiACQZgBaiIENgKoASABQUBrKAIAIQMgASgCPCEFQdSJC0EANgIAQdgbIAJBIGogAikD0AUgBCADIAVrQQJ1EPMCQdSJCygCACE1QdSJC0EANgIAIDVBAUYNAQJAAkAgBCACKAKoASIDRgRAQQQhBSAEIQMMAQtBBSEFIANFDQELIAMgAygCACAFQQJ0aigCABEBAAtB1IkLQQA2AgAgAikDICGOAUEEQTgQBiEDQdSJCygCACE2QdSJC0EANgIAIDZBAUcNAgsQACEEDAoLEAAhBAJAIAIoAqgBIgMgAkGYAWoiAEYEQEEEIQUgACEDDAELQQUhBSADRQ0KCyADIAMoAgAgBUECdGooAgARAQAMCQsgA0IANwIIIAMgCqwijwE3AyggAyCPATcDICADII4BNwIAIANCADcCGCADQgA3AhAgA0KAgICAIDcCMEHUiQtBADYCACACIAM2ApgBQTMgASACQZgBahADQdSJCygCACE3QdSJC0EANgIAIDdBAUcEQCACKAKYASIDBEAgAxBaCyAAII4BNwIYIAIsAFtBAE4NCyACKAJQEFogACkCGCGOAQwLCxAAIQQgAigCmAEiAEUNCCAAEFoMCAsQACEEDBsLEAAhBCACLADbBUEASARAIAIoAtAFEFoLIAIsAKMBQQBODRcgAigCmAEQWgwXCxAAIQQMFAsQACEEDBMLEAAhBAwSCxAAIQQM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ahAFQdSJCygCACE8QdSJC0EANgIAIDxBAUYNByADKAJgIAIoAgw2AgwLIAZBBGoiBiAIRw0ACyADKAKEAkUNACADIAE2AmQgA0H46wk2AmBB1IkLQQA2AgBBBEHYABAGIQJB1IkLKAIAIT1B1IkLQQA2AgAgPUEBRg0CIAJCADcCGCACQgA3AjggAkIANwIoIAJCADcCICACQoCAgICAgIDAPzcCMCACQUBrQgA3AgAgAkIANwJQIAJCgICA/AM3AkggA0IANwJ0IANBADYCiAEgAyADQYABaiILNgKEASADQYCAgPwDNgJ8IANCADcCmAEgA0GAgID8AzYCoAEgA0IANwJsIAMgAjYCaCADQgA3ApABIAsgCzYCACADQeDFBzYCYEHUiQtBADYCACADIANB+AFqNgKMAUGxGSADQeAAahAKQdSJCygCACE+QdSJC0EANgIAID5BAUYNAyADQeydCDYCYCADKAKYASICBEADQCACKAIAIT8gAhBaID8iAg0ACwsgAygCkAEhAiADQQA2ApABIAIEQCACEFoLIANB+OsJNgJgAkAgAygCiAFFDQAgAygChAEiAigCACIEIAMoAoABKAIEIgU2AgQgBSAENgIAIANBADYCiAEgAiALRg0AA0AgAigCBCFAIAIQWiBAIgIgC0cNAAsLIAMoAnQiAgRAA0AgAigCACFBIAIQWiBBIgINAAsLIAMoAmwhAiADQQA2AmwgAgRAIAIQWgsgAygCaCECIANBADYCaCACBEAgAhCRAwsgA0IANwJwIANBADYC3AEgA0IANwLUASADQQA2AnggA0IANwLoASADQYCAgPwDNgLwASADQbjDAy8AADsBcCADQgA3AswBIANCADcC4AEgA0HM7Ak2AmAgA0GwwwMpAAA3AmggA0EKOgBzIAMgACgCBDYCZEHUiQtBADYCAEGyGSADQeAAaiABEANB1IkLKAIAIUJB1IkLQQA2AgAgQkEBRg0EIANBzOwJNgJgIAMoAugBIgQEQANAIAQoAgAhRCAEKAIYIgIEQANAIAIoAgAhQyACEFogQyICDQALCyAEKAIQIQEgBEEANgIQIAEEQCABEFoLIAQQWiBEIgQNAAsLIAMoAuABIQAgA0EANgLgASAABEAgABBaCyADKALMASIABEAgAyAANgLQASAAEFoLIANBkO0JNgJgIAMsAHNBAE4NACADKAJoEFoLIAMoAoACIgIEQANAIAIoAgAhRSACEFogRSICDQALCyADKAL4ASEAIANBADYC+AEgAARAIAAQWgsgDCgCFCICBEADQCACKAIAIUYgAigCDCIBBEAgAiABNgIQIAEQWgsgAhBaIEYiAg0ACwsgDCgCDCEAIAxBADYCDCAABEAgABBaCyAMKAIAIgAEQCAMIAA2AgQgABBaCyARKAIIEL0FCyADQZACaiQADwsQACEGDAMLEAAhBiADQeAAahDhCBoMAgsQACEGIANB4ABqEMgCGgwBCxAAIQYLIANB+AFqEKIBDAELQQAQCxAOGgNAIAIoAgAhRyACEFogRyICDQALQdSJC0EANgIAQdUAEAlB1IkLKAIAIUhB1IkLQQA2AgAgSEEBRw0EEAAhBkHUiQtBADYCAEEcEAlB1IkLKAIAIUlB1IkLQQA2AgAgSUEBRw0AQQAQCxoQcAALIAwQgQUMAQsQACEGIAMoAmAiAEUNACAAEFoLIBIoAgAQvQUMAwtB1IkLQQA2AgBBDSAGIBEgAiANEAVB1IkLKAIAIUpB1IkLQQA2AgAgSkEBRg0BCwALEAAhBiADKAK4ASIARQ0AIAMgADYCvAEgABBaIAYQBwALIAYQBwALCQAgABDWDxBaCwkAIAAgATYCBAscAEGAARBcIgBBAEGAAfwLACAAQdzEBzYCACAACzkAIAAoAgRFBEBB6PoFQbqLA0GcBEHu0wIQAQALIAAgAjYCeCAAIAE2AnwgAiABEIIFIABCADcCeAuxIQEOfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgASgCACICKAIADl4AAQIDBAUGBwgJCgsMDR4fICEiIyQlNTYODxAREhMUFRYXGBkaGxwdNyYnKCkqKywtLi8wMTIzNDg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaW1wAXQtBmP0DQeWzA0HqARBiAAsgAEEUakHKGCABEFggAigCAEEBRw1cIAIoAhQiAUEATA1bIABBGGohAwNAIAFBAWsiACACKAIUTw1eIAIoAhAgAEECdGoiBCgCAEUNXyADQcgYIAQQWyABQQFLIQYgACEBIAYNAAsMWwsgAEEUaiIDQcsYIAEQWCACKAIAQQJHDVsgAigCEARAIABBGGpByBggAkEQahBbCyADQcgYIAJBDGoQWCADQcgYIAJBCGoQWA8LIABBFGoiAEHMGCABEFggAigCAEEDRw1aDGALIABBFGpBzRggARBYIAIoAgBBBEcNWSACKAIUBEAgAEEYakHIGCACQRRqEFsLIAIoAhBFDVggAEEYakHIGCACQRBqEFsPCyAAQRRqIgNBzhggARBYIAIoAgBBBUcNWCADQcgYIAJBJGoQWCACKAIgRQ1XIABBGGpByBggAkEgahBbDwsgAEEUakHPGCABEFggAigCAEEGRw1XIAIoAgwiAUEATA1WIABBGGohAwNAIAFBAWsiACACKAIMTw1ZIAIoAgggAEECdGoiBCgCAEUNWiADQcgYIAQQWyABQQFLIQcgACEBIAcNAAsMVgsgAEEUaiIDQdAYIAEQWCACKAIAQQdHDVYgA0HIGCACQRxqEFggAigCECIBQQBMDVUgAEEYaiEDA0AgAUEBayIAIAIoAhBPDVggAigCDCAAQQJ0aiIEKAIARQ1ZIANByBggBBBbIAFBAUshCCAAIQEgCA0ACwxVCyAAQRRqQdEYIAEQWCACKAIAQQhGDVQMVQsgAEEUaiIAQdIYIAEQWCACKAIAQQlHDVQMXQsgAEEUakHTGCABEFggAigCAEEKRg1SDFMLIABBFGoiAEHUGCABEFggAigCAEELRw1SDFgLIABBFGoiAEHVGCABEFggAigCAEEMRw1RDFwLIABBFGoiAEHWGCABEFggAigCAEENRw1QDFoLIABBFGoiAEHXGCABEFggAigCAEEYRw1PDFsLIABBFGoiAEHYGCABEFggAigCAEEZRw1OIABByBggAkEgahBYDFoLIABBFGoiAEHZGCABEFggAigCAEEaRw1NDFELIABBFGoiAEHaGCABEFggAigCAEEbRw1MDFELIABBFGpB2xggARBYIAIo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GiACEHEACyAAEHEACwoAIAAoAgQRBQALFQAgAUG4xAc2AgAgASAAKAIENgIECx0BAX9BCBBcIgFBuMQHNgIAIAEgACgCBDYCBCABC4IDAQd/AkACQCABKAIEIgRFBEAgAUEEaiIFIQIMAQsgAigCACACIAItAAsiBcBBAEgiBhshByACKAIEIAUgBhshBgNAIAcgBCICKAIQIARBEGogBC0AGyIEwEEASCIFGyIIIAIoAhQgBCAFGyIEIAYgBCAGSSIJGyIKEF4iBUEASCAEIAZLIAUbQQFGBEAgAiEFIAIoAgAiBA0BDAILQQAhBSAIIAcgChBeIgRBAEggCSAEG0EBRwRAIAIhBAwDCyACKAIEIgQNAAsgAkEEaiEFC0HQABBcIgQgAygCCDYCGCAEIAMpAgA3AhAgA0IANwIAIANBADYCCCAEQgA3A0ggBEFAa0IANwMAIARCADcDOCAEQgA3AzAgBEIANwMoIARCADcDICAEIAI2AgggBEIANwIAIAUgBDYCACAEIQIgASgCACgCACIDBEAgASADNgIAIAUoAgAhAgsgASgCBCACEGdBASEFIAEgASgCCEEBajYCCAsgACAFOgAEIAAgBDYCAAtOAQF/QZABEFwiAEIANwJsIABCADcCBCAAQgA3AoABIABB1JoINgIAIABBADYCfCAAQgA3AnQgAEIANwIMIABCADcCFCAAQgA3AIUBIAALHgEBf0GAARBcIgBBAEGAAfwLACAAQdzEBzYCACAACx4BAX9BuAEQXCIAQQBBuAH8CwAgAEH0qgg2AgAgAAseAQF/QYABEFwiAEEAQYAB/AsAIABBxKoINgIAIAALigEBAX9BjAIQXCIAQQBBuAH8CwAgAEIANwK4ASAAQZypCDYCACAAQgA3AsABIABCADcCzAEgAEGAgID8AzYCyAEgAEIANwLUASAAQgA3AuABIABBgICA/AM2AtwBIABCADcC6AEgAEIANwLwASAAQgA3AvgBIABCADcCgAIgAEGAgID8AzYCiAIgAAtBAQF/QSwQXCIAQgA3AgQgAEIANwIYIABBADoAFCAAQcioCDYCACAAQgA3AgwgAEIANwIgIABBgICA/AM2AiggAAs2AQF/QSgQXCIAQgA3AwAgAEIANwIYIABCADcDECAAQgA3AwggAEGQngg2AgAgAEIANwIgIAALnwEBAX9B+AAQXCIAQgA3AwAgAEIANwIYIABCADcCWCAAQgA3AxAgAEIANwMIIABB6JwINgIAIABCADcCICAAQgA3AkQgAEFAa0EBNgIAIABCgYCAgBA3AjggAEKBgICAEDcCMCAAQoCAgPwDNwIoIABCADcCTCAAQYCAgPwDNgJUIABCADcCYCAAQgA3AmggAEKAgICAgICAwD83AnAgAAtBAQF/QSwQXCIAQgA3AgQgAEIANwIYIABBAToAFCAAQcioCDYCACAAQgA3AgwgAEIANwIgIABBgICA/AM2AiggAAtGAQF/QaQBEFwiAEEAQYAB/AsAIABCADcCgAEgAEGYqAg2AgAgAEIANwKIASAAQgA3ApABIABCADcCmAEgAEEANgKgASAAC0oBAX9BiAEQXCIAQgA3AmwgAEIANwIEIABBADYChAEgAEGEmgg2AgAgAEKAgICAIDcCfCAAQgA3AnQgAEIANwIMIABCADcCFCAAC0oBAX9BiAEQXCIAQgA3AmwgAEIANwIEIABBADYChAEgAEGEmgg2AgAgAEKAgICAEDcCfCAAQgA3AnQgAEIANwIMIABCADcCFCAACygBAX9BGBBcIgBCADcCBCAAQQE6ABQgAEGIkAg2AgAgAEIANwIMIAALKAEBf0EUEFwiAEIANwMAIABBADYCECAAQgA3AwggAEHkpgg2AgAgAAs0AQF/QTAQXCIAQgA3AgQgAEHsjgg2AgAgAEHkjwg2AhggAEIANwIMIAAgAEEYajYCKCAACzQBAX9BMBBcIgBCADcCBCAAQeyOCDYCACAAQcCPCDYCGCAAQgA3AgwgACAAQRhqNgIoIAALIQEBf0EUEFwiAEIANwIEIABBzKUINgIAIABCADcCDCAACzQBAX9BMBBcIgBCADcCBCAAQeyOCDYCACAAQZyPCDYCGCAAQgA3AgwgACAAQRhqNgIoIAALNgEBf0EwEFwiAEIANwIEIABCADcCICAAQQA6ABQgAEHopwg2AgAgAEIANwIMIABCADcAJSAACzYBAX9BMBBcIgBCADcCBCAAQgA3AiAgAEEBOgAUIABB6KcINgIAIABCADcCDCAAQgA3ACUgAAseAQF/QYABEFwiAEEAQYAB/AsAIABBnJIINgIAIAALtAEBAX9B9AIQXCIAQQBBmAL8CwAgACAAQagBajYCpAEgAEGwAWpBAEHWAPwLACAAQgA3ApgCIAAgAEGMAmo2AogCIABCADcCoAIgAEIANwKsAiAAQYCAgPwDNgKoAiAAQgA3ArQCIABCADcCvAIgAEIANwLMAiAAQoCAgICAgIDAPzcCxAIgAEIANwLUAiAAQgA3AtwCIABBnKUINgIAIABCADcC5AIgAEKAgID8AzcC7AIgAAtGAQF/QYQBEFwiAEIANwJsIABCADcCBCAAQQE6AIABIABB7KQINgIAIABBADYCfCAAQgA3AnQgAEIANwIMIABCADcCFCAAC0YBAX9BhAEQXCIAQgA3AmwgAEIANwIEIABBADoAgAEgAEHspAg2AgAgAEEANgJ8IABCADcCdCAAQgA3AgwgAEIANwIUIAALogEBAX9BkAMQXCIAQQBB4AL8CwAgAEIANwKQAiAAQQA2ArgBIAAgAEGgAWo2ApwBIAAgAEGUAWo2ApABIAAgAEGIAWo2AoQBIABBjKQINgIAIABCADcCmAIgAEIANwKgAiAAQgA3AqgCIABBADoAsAIgAEIANwLgAiAAQgA3AugCIABCADcC8AIgAEIANwL4AiAAQgA3AoADIABCADcCiAMgAAuiAQEBf0GQAxBcIgBBAEHgAvwLACAAQgA3ApACIABBADYCuAEgACAAQaABajYCnAEgACAAQZQBajYCkAEgACAAQYgBajYChAEgAEHcowg2AgAgAEIANwKYAiAAQgA3AqACIABCADcCqAIgAEEAOgCwAiAAQgA3AuACIABCADcC6AIgAEIANwLwAiAAQgA3AvgCIABCADcCgAMgAEIANwKIAyAAC6IBAQF/QZADEFwiAEEAQeAC/AsAIABCADcCkAIgAEEANgK4ASAAIABBoAFqNgKcASAAIABBlAFqNgKQASAAIABBiAFqNgKEASAAQayjCDYCACAAQgA3ApgCIABCADcCoAIgAEIANwKoAiAAQQA6ALACIABCADcC4AIgAEIANwLoAiAAQgA3AvACIABCADcC+AIgAEIANwKAAyAAQgA3AogDIAALogEBAX9BkAMQXCIAQQBB4AL8CwAgAEIANwKQAiAAQQA2ArgBIAAgAEGgAWo2ApwBIAAgAEGUAWo2ApABIAAgAEGIAWo2AoQBIABBvKQINgIAIABCADcCmAIgAEIANwKgAiAAQgA3AqgCIABBADoAsAIgAEIANwLgAiAA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OgBVQQEMBQsgAi0AVQ0DQQEMBAsQACEAIAIoAtQBIgFFDQEgAiABNgLYASABEFoMAQsQACEACyACQQRqEN8BGiAAEAcACyACQQE6AFRBAAshASACLQAYIRUgAigCbCEUIAItABkhBSACKAIkIQYgAigCMCEHIAIoAjwhCCACKAJIIQkgAi0ATCEKIAItAE0hCyACLQBOIQwgAi0ATyENIAItAAUhDiACLQBWIQ8gAi0AVyEQIAItAGAhESACKAJ0EGAgAigCaBBgIAIoAkQQYCACKAI4EGAgAigCLBBvIAIoAiAQbwJAIAIoAgwiAEUNACAAIAAoAgQiEkEBazYCBCASDQAgACAAKAIAKAIIEQEAIAAQdQsgAkHwAWokACAVIBRyQQBHIgBBAnIgACAFGyIAQQRyIAAgBhsiAEEIciAAIAcbIgBBEHIgACAIGyIAQSByIAAgCRsiAEHAAHIgACAKGyIAQYABciAAIAsbIgBBgAJyIAAgDBsiAEGABHIgACANGyIAIABBgAhyIAEbIgBBgIABciAAIA4bIgBBgBByIAAgDxsiAEGAIHIgACAQGyIAQYDAAHIgACARGwsoAQF/QRgQXCIAQgA3AgQgAEEBOgAUIABBmJcINgIAIABCADcCDCAACygBAX9BGBBcIgBCADcCBCAAQQA6ABQgAEGYlwg2AgAgAEIANwIMIAALKAEBf0EUEFwiAEIANwMAIABBADYCECAAQgA3AwggAEGIlgg2AgAgAAsoAQF/QRQQXCIAQgA3AwAgAEEANgIQIABCADcDCCAAQeiWCDYCACAACygBAX9BFBBcIgBCADcDACAAQQA2AhAgAEIANwMIIABB2JUINgIAIAALMwECf0GMARBcIgBBAEGAAfwLACAAQYQBaiIBQgA3AgAgAEH8kgg2AgAgACABNgKAASAACygBAX9BGBBcIgBCADcCBCAAQQE6ABQgAEGskwg2AgAgAEIANwIMIAALKAEBf0EYEFwiAEIANwIEIABBADoAFCAAQayTCDYCACAAQgA3AgwgAAtGAQF/QagBEFwiAEEAQYgB/AsAIABCADcChAEgAEHMkgg2AgAgAEIANwKMASAAQgA3ApQBIABCADcCnAEgAEEANgKkASAACygBAX9BFBBcIgBCADcDACAAQQA2AhAgAEIANwMIIABBmJEINgIAIAALHgEBf0GAARBcIgBBAEGAAfwLACAAQeiQCDYCACAAC3gBAn9BuAEQXCIAQQBBgAH8CwAgAEIANwKAASAAQeyRCDYCACAAQgA3AogBIABCADcCmAEgAEKAgICAgICAwD83ApABIABCADcCoAEgAEEANgK0ASAAIABBrAFqIgE2ArABIABBgICA/AM2AqgBIAAgATYCrAEgAAsxAQF/QRgQXCIAQgA3AwAgAEIANwMQIABCADcDCCAAQYSICDYCACAAQeTBCzYCFCAACygBAX9BFBBcIgBCADcDACAAQQA2AhAgAEIANwMIIABB0IkINgIAIAALKAEBf0EUEFwiAEIANwMAIABBADYCECAAQgA3AwggAEHwiAg2AgAgAAsxAQF/QRgQXCIAQgA3AwAgAEIANwMQIABCADcDCCAAQdSHCDYCACAAQeTBCzYCFCAACygBAX9BFBBcIgBCADcDACAAQQA2AhAgAEIANwMIIABBoIkINgIAIAALMQEBf0EYEFwiAEIANwMAIABCADcDECAAQgA3AwggAEGkhwg2AgAgAEHkwQs2AhQgAAsqAQF/QRgQXCIAQgA3AgQgAEHkwQs2AhQgAEH0hgg2AgAgAEIANwIMIAALmgEBAX9BxAEQXCIAQgA3AmwgAEIANwIEIABCADcChAEgAEEBOgCAASAAQeiECDYCACAAQgA3ApgBIABCADcCsAEgAEEANgJ8IABCADcCdCAAQgA3AgwgAEIANwIUIABCADcCjAEgAEGAgID8AzYClAEgAEIANwKgASAAQYCAgPwDNgKoASAAQgA3ArgBIABBgICA/AM2AsABIAALBwAgABCFBguaAQEBf0HEARBcIgBCADcCbCAAQgA3AgQgAEIANwKEASAAQQA6AIABIABB6IQINgIAIABCADcCmAEgAEIANwKwASAAQQA2AnwgAEIANwJ0IABCADcCDCAAQgA3AhQgAEIANwKMASAAQYCAgPwDNgKUASAAQgA3AqABIABBgICA/AM2AqgBIABCADcCuAEgAEGAgID8AzYCwAEgAAseAQF/QYABEFwiAEEAQYAB/AsAIABB/P8HNgIAIAALKAEBf0EUEFwiAEIANwMAIABBADYCECAAQgA3AwggAEH0gQg2AgAgAAshAQF/QRQQXCIAQgA3AgQgAEGUgQg2AgAgAEIANwIMIAALRgEBf0HYARBcIgBBAEG4AfwLACAAQgA3ArgBIABB5IAINgIAIABCADcCwAEgAEIANwLIASAAQoCAgICAgIDAPzcC0AEgAAseAQF/QYABEFwiAEEAQYAB/AsAIABBsIsINgIAIAALVgEBf0GQARBcIgBCADcCbCAAQgA3AgQgAEIANwCDASAAQQA6AIEBIABBqPcHNgIAIABBADYCfCAAQgA3AnQgAEIANwIMIABCADcCFCAAQgA3AIgBIAALHgEBf0GAARBcIgBBAEGAAfwLACAAQfj2BzYCACAAC3gBA39BoAEQXCIAQgA3AmwgAEIANwIEIABBADYChAEgAEEBOgCAASAAQcj2BzYCACAAQQA2AnwgAEIANwJ0IABCADcCDCAAQgA3AhQgAEGMAWoiAUIANwIAIABBmAFqIgJCADcCACAAIAE2AogBIAAgAjYClAEgAAt4AQN/QaABEFwiAEIANwJsIABCADcCBCAAQQA2AoQBIABBADoAgAEgAEHI9gc2AgAgAEEANgJ8IABCADcCdCAAQgA3AgwgAEIANwIUIABBjAFqIgFCADcCACAAQZgBaiICQgA3AgAgACABNgKIASAAIAI2ApQBIAALnN0EAZ8FfyMAQRBrIhAkAEEIEFwiBCAANgIAIAQgEEEIajYCBCABQagBaiENIARBCGoiCCEAAkADQCAAIgFBCGsiACgCBCGgBSAQIAAoAgAiCzYCDAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAigCECIHRQRAQdSJC0EANgIAQcUAEAlB1IkLKAIAIRJB1IkLQQA2AgAgEkEBRg0BDC4LIAcoAgAoAhghE0HUiQtBADYCACATIAcgEEEMahACIQZB1IkLKAIAIRRB1IkLQQA2AgAgFEEBRwRAIAYNLCALRQRAQQAhBgwtC0EAIQYCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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IABBADoAgAEgAEH48Qc2AgAgAEEANgJ8IABCADcCdCAAQgA3AgwgAEIANwIUIABBiAFqIgFCADcCACAAIAE2AoQBIAALLgEBf0GMARBcIgBBAEGAAfwLACAAQQA2AogBIABCADcCgAEgAEHI8Qc2AgAgAAsoAQF/QRQQXCIAQgA3AwAgAEEANgIQIABCADcDCCAAQazwBzYCACAACzoBAX9BlAEQXCIAQQBBgAH8CwAgAEIANwKAASAAQczvBzYCACAAQgA3AogBIABBgICA/AM2ApABIAALKAEBf0EUEFwiAEIANwMAIABBADYCECAAQgA3AwggAEHM7Ac2AgAgAAseAQF/QYABEFwiAEEAQYAB/AsAIABBnOwHNgIAIAALKAEBf0EUEFwiAEIANwMAIABBADYCECAAQgA3AwggAEGs6gc2AgAgAAseAQF/QbwBEFwiAEEAQbwB/AsAIABB7OsHNgIAIAALHgEBf0GEARBcIgBBAEGEAfwLACAAQfjlBzYCACAACyYBAX9BhAEQXCIAQQBBgAH8CwAgAEEANgKAASAAQcjlBzYCACAAC64BAQF/QewBEFwiAEEAQewB/AsAIABCADcCgAEgAEHE4Ac2AgAgAEIANwKIASAAQgA3ApgBIABCgICAgICAgMA/NwKQASAAQgA3AqABIABCADcCrAEgAEGAgID8AzYCqAEgAEIANwK0ASAAQgA3AsABIABBgICA/AM2ArwBIABCADcCyAEgAEIANwLUASAAQYCAgPwDNgLQASAAQgA3AtwBIABBgICA/AM2AuQBIAALHgEBf0GAARBcIgBBAEGAAfwLACAAQbzrBzYCACAACx4BAX9BgAEQXCIAQQBBgAH8CwAgAEGM6wc2AgAgAAseAQF/QYABEFwiAEEAQYAB/AsAIABB3OoHNgIAIAALSQECf0EwEFwiAEIANwIEIABBADoAFCAAQczpBzYCACAAQgA3AiggAEEAOgAkIABCADcCDCAAQRxqIgFCADcCACAAIAE2AhggAAsHACAAKAIQC0kBAn9BMBBcIgBCADcCBCAAQQE6ABQgAEHM6Qc2AgAgAEIANwIoIABBADoAJCAAQgA3AgwgAEEcaiIBQgA3AgAgACABNgIYIAALogEBB38jAEEgayIAJABBGBBcIgFCADcDACABQgA3AxAgAUIANwMIIAFB+OgHNgIAIABBATYCGEHUiQtBADYCACAAQgE3AhAgAEEAOgAMQQdB2J0LIABBDGoiAhACIQNB1IkLKAIAIQVB1IkLQQA2AgAgBUEBRgRAEAAhBiACEHcgAUGQ7Qk2AgAgARBaIAYQBwALIAEgAzYCFCAAQSBqJAAgAQseAQF/QYABEFwiAEEAQYAB/AsAIABBiOcHNgIAIAALTwEBf0E4EFwiAEIANwMAIABCADcDECAAQgA3AhggAEIANwIwIABCADcDCCAAQdjiBzYCACAAQgA3AiAgAEKAgID8AzcCKCAAQQE6ABQgAAtIAQF/QTgQXCIAQgA3AwAgAEIANwIYIABCADcCMCAAQgA3AxAgAEIANwMIIABB2OIHNgIAIABCADcCICAAQoCAgPwDNwIoIAALKAEBf0EUEFwiAEIANwMAIABBADYCECAAQgA3AwggAEGY5Qc2AgAgAAseAQF/QYABEFwiAEEAQYAB/AsAIABBlOAHNgIAIAALQQEBf0EoEFwiAEIANwMAIABCADcDECAAQgA3AwggAEGEmwg2AgAgAEIANwIcIABBgICA/AM2AiQgAEIANwIUIAALKAEBf0EUEFwiAEIANwMAIABBADYCECAAQgA3AwggAEG45wc2AgAgAAsoAQF/QRgQXCIAQgA3AgQgAEEBOwEUIABBtN8HNgIAIABCADcCDCAACykBAX9BGBBcIgBCADcCBCAAQYACOwEUIABBtN8HNgIAIABCADcCDCAACygBAX9BGBBcIgBCADcCBCAAQQA7ARQgAEG03wc2AgAgAEIANwIMIAALdAEBf0HQABBcIgBCADcDACAAQgA3AxAgAEIANwIoIABCADcCPCAAQgA3AwggAEGA3gc2AgAgAEIANwIcIABBgICA/AM2AiQgAEIANwIwIABBgICA/AM2AjggAEIANwJEIABBgICA/AM2AkwgAEIANwIUIAALQQEBf0EoEFwiAEIANwMAIABCADcDECAAQgA3AwggAEHM3Ac2AgAgAEIANwIcIABBgICA/AM2AiQgAEIANwIUIAALKAEBf0EUEFwiAEIANwMAIABBADYCECAAQgA3AwggAEGY2wc2AgAgAAseAQF/QYABEFwiAEEAQYAB/AsAIABBgIsINgIAIAALKAEBf0EUEFwiAEIANwMAIABBADYCECAAQgA3AwggAEHI2Qc2AgAgAAuAAQECf0GkARBcIgBCADcCbCAAQgA3AgQgAEIANwKEASAAQQE6AIABIABBmNkHNgIAIABBADYCfCAAQgA3AnQgAEIANwIMIABCADcCFCAAQgA3AowBIABBADYCoAEgACAAQZgBaiIBNgKcASAAQYCAgPwDNgKUASAAIAE2ApgBIAALgAEBAn9BpAEQXCIAQgA3AmwgAEIANwIEIABCADcChAEgAEEAOgCAASAAQZjZBzYCACAAQQA2AnwgAEIANwJ0IABCADcCDCAAQgA3AhQgAEIANwKMASAAQQA2AqABIAAgAEGYAWoiATYCnAEgAEGAgID8AzYClAEgACABNgKYASAAC1sBAn9BkAEQXCIAQgA3AmwgAEIANwIEIABBAToAgAEgAEH48Qc2AgAgAEEANgJ8IABCADcCdCAAQgA3AgwgAEIANwIUIABBiAFqIgFCADcCACAAIAE2AoQBIAALKAEBf0EUEFwiAEIANwMAIABBADYCECAAQgA3AwggAEG42Ac2AgAgAAtWAQF/QeABEFwiAEEAQbgB/AsAIABCADcCuAEgAEGI2Ac2AgAgAEIANwLAASAAQgA3AswBIABBgICA/AM2AsgBIABCADcC1AEgAEGAgID8AzYC3AEgAAsoAQF/QRQQXCIAQgA3AwAgAEEANgIQIABCADcDCCAAQdjXBzYCACAACygBAX9BFBBcIgBCADcDACAAQQA2AhAgAEIANwMIIABBqNcHNgIAIAALKAEBf0EYEFwiAEIANwIEIABBADoAFCAAQYiQCDYCACAAQgA3AgwgAAsoAQF/QRQQXCIAQgA3AwAgAEEANgIQIABCADcDCCAAQdDVBzYCACAACygBAX9BFBBcIgBCADcDACAAQQA2AhAgAEIANwMIIABBoNUHNgIAIAALKAEBf0EUEFwiAEIANwMAIABBADYCECAAQgA3AwggAEH41gc2AgAgAAunAQEEf0HwAhBcIgBBAEHwAvwLACAAQgA3AoABIABB6M4HNgIAIABCADcCiAEgAEIANwKUASAAQYCAgPwDNgKQASAAQgA3ApwBIABBgICA/AM2AqQBQdSJC0EANgIAQbkYIABBqAFqEAYaQdSJCygCACECQdSJC0EANgIAIAJBAUYEQBAAIQMgAEGUAWoQogEgAEGAAWoQlAYgABDkARBaIAMQBwALIAALKAEB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DSAEIAUgAyABEAVB1IkLKAIAIRxB1IkLQQA2AgAgHEEBRwRAAAsLEAAhBSACKAIUIgAEQCACIAA2AhggABBaCyACKALAASEBCyABRQ0AIAEQWiAFEAcACyAFEAcACyAHKAIEQQJJDQAgACgCgAEgBygCFEEARyAHQYURIAAoAngQhAUaCyACQdABaiQADwsgAhCmAhogABAHAAtBxaIBQYmiA0G8AUGmiAUQAQALQd3DBkG4swJB2AhBoNYFEAEACywAIAEoAgAiASgCAEHcAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJMCCywAIAEoAgAiASgCAEHbAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJMCCywAIAEoAgAiASgCAEHaAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJMCCywAIAEoAgAiASgCAEHZAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJMCCywAIAEoAgAiASgCAEHYAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJMCCywAIAEoAgAiASgCAEHXAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJMCCywAIAEoAgAiASgCAEHWAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJMCCywAIAEoAgAiASgCAEHVAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJMCCywAIAEoAgAiASgCAEHUAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJMCCywAIAEoAgAiASgCAEHTAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJMCCywAIAEoAgAiASgCAEHSAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJMCCywAIAEoAgAiASgCAEHRAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJMCCywAIAEoAgAiASgCAEHQAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJMCCywAIAEoAgAiASgCAEHPAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJMCCywAIAEoAgAiASgCAEHOAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJMCCywAIAEoAgAiASgCAEHNAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJMCCywAIAEoAgAiASgCAEHMAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJMCCywAIAEoAgAiASgCAEHLAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJMCCywAIAEoAgAiASgCAEHKAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJMCCywAIAEoAgAiASgCAEHJAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJMCCywAIAEoAgAiASgCAEHIAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJMCCywAIAEoAgAiASgCAEHHAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJMCCywAIAEoAgAiASgCAEHGAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJMCCywAIAEoAgAiASgCAEHFAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJMCCywAIAEoAgAiASgCAEHEAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJMCCywAIAEoAgAiASgCAEHDAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJMCCywAIAEoAgAiASgCAEHCAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJMCCywAIAEoAgAiASgCAEHBAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJMCC2EBAX8jAEEgayICJAAgACgCAEElRwRAQYWtBkGntwJB0BtBj+kAEAEACyACIAEQbDYCHCACIAE2AhggAiACKQIYNwMIIAJBEGogAkEIahBlIAAgAikDEDcCCCACQSBqJAALLAAgASgCACIBKAIAQcAARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQkwILKwAgASgCACIBKAIAQT9HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCTAgsrACABKAIAIgEoAgBBPkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJMCCysAIAEoAgAiASgCAEE9RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQkwILKwAgASgCACIBKAIAQTxHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCTAgsrACABKAIAIgEoAgBBO0cEQEHw7QVBxZgDQZQG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iQsoAgAhEkHUiQtBADYCACASQQFGDQUgAyADKAKsAiICNgJcIAMgAygCqAI2AlggAgRAIAIgAigCBEEBajYCBAsgA0EANgJ4IAMgAykDEDcChAEgAyADKQMYNwKMASADIAMpAyA3ApQBIAMgAykDKDcCnAEgA0IANwJwIANB/OwJNgJkIAMgAykDCDcCfEHUiQtBADYCACADIAE2AmggAyABQagBajYCbEGbASADQaQBaiAEEAIhAUHUiQsoAgAhAkHUiQtBADYCAAJAIAJBAUcEQEHUiQtBADYCAEGaASADQbgBaiAFEAIaQdSJCygCACETQdSJC0EANgIAIBNBAUcEQCADIAMoAlg2AswBIAMgAygCXCIBNgLQASABBEAgASABKAIEQQFqNgIECyADQQA7AdQBIANBCGoQYSADQQE6ANQBIAAoAgAoAhQhFEHUiQtBADYCACAUIAAQBiEAQdSJCygCACEVQdSJC0EANgIAIBVBAUYNBCADKAJkKAIIIRZB1IkLQQA2AgAgFiADQeQAaiIBIAAQA0HUiQsoAgAhF0HUiQtBADYCACAXQQFGDQRB1IkLQQA2AgBBlwEgARAKQdSJCygCACEYQdSJC0EANgIAIBhBAUYNBCADQfzsCTYCZCADQfwAahBhIAMoAnAiAQRAIAMoAnQiACABIgJHBEADQCAAQQRrIgAoAgAhAiAAQQA2AgAgAgRAIAIgAigCACgCBBEBAAsgACABRw0ACyADKAJwIQILIAMgATYCdCACEFoLIANB2AFqEGEMEAsQACEAIAEQawwBCxAAIQALIANB8ABqEOABIANBCGoQYQwOCxAAIQAMDQsQACEAIANB5ABqEHwaDAwLIAAgATYCfCAAQRRqIQkgASgCGCICIAEoAhwiBEcEQANAIAIoAgAiBSgCDEUEQCAJIAVBIGoQiAYLIAJBBGoiAiAERw0ACwsgASgCDCICIAEoAhAiBUcEQANAAkAgAigCACIEKAIMBEAgACAEEOYIDAELIAAgBDYCeCAJIARBMGoQiAYgACAEEOYIIABBADYCeAsgAkEEaiICIAVHDQALCyABKAIwIgogASgCNCIORg0JIABBHGohDQNAIAooAgAiAigCDARAIAkgAkEUahCIBgsgAigCHCILIAIoAiAiD0cEQCAAKAJsIQYgACgCcCEEIAAoAhghBQNA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BEH/////ASADIARrIgNBAnUiBSACIAIgBUkbIANB+P///wdPGyIDBH8gA0GAgICAAk8NBiADQQN0EFwFQQALIgUgBkEDdGoiAiAINgIEIAJBADYCACACQQhqIQggASAERwRAA0AgAkEIayICIAFBCGsiASkCADcCACABIARHDQALIAAoAgAhAQsgACAFIANBA3RqNgIIIAAgCDYCBCAAIAI2AgAgAUUNASABEFoMAQsCQCAAKAIIIgMgAUsEQCABQQU2AgAgASAINgIEIAAgBDYCBAwBCyABIAJrQQN1IgZBAWoiBEGAgICAAk8NBEH/////ASADIAJrIgNBAnUiBSAEIAQgBUkbIANB+P///wdPGyIDBH8gA0GAgICAAk8NBiADQQN0EFwFQQALIgUgBkEDdGoiBCAINgIEIARBBTYCACAFIANBA3RqIQMgBEEIaiEGAkAgASACRgRAIAAgAzYCCCAAIAY2AgQgACAENgIADAELA0AgBEEIayIEIAFBCGsiASkCADcCACABIAJHDQALIAAgAzYCCCAAIAY2AgQgACgCACECIAAgBDYCACACRQ0BCyACEFoLAkAgAC0AIARAIApBCGogCyAIKAIAIgEgARD8AyAKLQAMRQ0BIAgoAgAiA0EQSQ0BAkACQAJAAkAgAygCEA4EAAECAwULIANBGGohAQJAIAAoAgQiAiAAKAIIIgVJBEAgAiABNgIEIAJBAjYCACAAIAJBCGoiATYCBAwBCyACIAAoAgAiBmtBA3UiB0EBaiIEQYCAgIACTw0JQf////8BIAUgBmsiBUECdSIJIAQgBCAJSRsgBUH4////B08bIgUEfyAFQYCAgIACTw0LIAVBA3QQXAVBAAsiCSAHQQN0aiIEIAE2AgQgBEECNgIAIARBCGohASACIAZHBEADQCAEQQhrIgQgAkEIayICKQIANwIAIAIgBkcNAAsgACgCACECCyAAIAkgBUEDdGo2AgggACABNgIEIAAgBDYCACACRQ0AIAIQWiAAKAIEIQELIANBFGohBiAAKAIIIgMgAUsEQCABIAY2AgQgAUECNgIAIAAgAUEIajYCBAwFCyABIAAoAgAiBGtBA3UiBUEBaiICQYCAgIACTw0IQf////8BIAMgBGsiA0ECdSIHIAIgAiAHSRsgA0H4////B08bIgMEfyADQYCAgIACTw0KIANBA3QQXAVBAAsiByAFQQN0aiICIAY2AgQgAkECNgIAIAJBCGohBiABIARHBEADQCACQQhrIgIgAUEIayIBKQIANwIAIAEgBEcNAAsgACgCACEBCyAAIAcgA0EDdGo2AgggACAGNgIEIAAgAjYCACABRQ0EIAEQWgwECyADQRRqIQYgACgCBCIBIAAoAggiA0kEQCABIAY2AgQgAUEDNgIAIAAgAUEIajYCBAwECyABIAAoAgAiBGtBA3UiBUEBaiICQYCAgIACTw0HQf////8BIAMgBGsiA0ECdSIHIAIgAiAHSRsgA0H4////B08bIgMEfyADQYCAgIACTw0JIANBA3QQXAVBAAsiByAFQQN0aiICIAY2AgQgAkEDNgIAIAJBCGohBiABIARHBEADQCACQQhrIgIgAUEIayIBKQIANwIAIAEgBEcNAAsgACgCACEBCyAAIAcgA0EDdGo2AgggACAGNgIEIAAgAjYCACABRQ0DIAEQWgwDCyADKAIYIgQgAygCFEYNAgNAIARBDGshBAJAIAAoAgQiASAAKAIIIgVJBEAgASAENgIEIAFBAjYCACAAIAFBCGo2AgQMAQsgASAAKAIAIgZrQQN1IgdBAWoiAkGAgICAAk8NCEH/////ASAFIAZrIgVBAnUiCSACIAIgCUkbIAVB+P///wdPGyIFBH8gBUGAgICAAk8NCiAFQQN0EFwFQQALIgkgB0EDdGoiAiAENgIEIAJBAjYCACACQQhqIQcgASAGRwRAA0AgAkEIayICIAFBCGsiASkCADcCACABIAZHDQALIAAoAgAhAQsgACAJIAVBA3RqNgIIIAAgBzYCBCAAIAI2AgAgAUUNACABEFoLIAQgAygCFEcNAAsMAgsgA0EUaiEGIAAoAgQiASAAKAIIIgNJBEAgASAGNgIEIAFBAjYCACAAIAFBCGo2AgQMAgsgASAAKAIAIgRrQQN1IgVBAWoiAkGAgICAAk8NBUH/////ASADIARrIgNBAnUiByACIAIgB0kbIANB+P///wdPGyIDBH8gA0GAgICAAk8NByADQQN0EFwFQQALIgcgBUEDdGoiAiAGNgIEIAJBAjYCACACQQhqIQYgASAERwRAA0AgAkEIayICIAFBCGsiASkCADcCACABIARHDQALIAAoAgAhAQsgACAHIANBA3RqNgIIIAAgBjYCBCAAIAI2AgAgAUUNASABEFoMAQsgACgCKCIBIAAoAixHBEAgASAIKAIANgIAIAAgAUEEajYCKAwBCyABIAAoAiQiBGsiAkECdSIGQQFqIgNBgICAgARPDQZB/////wMgAkEBdSIFIAMgAyAFSRsgAkH8////B08bIgMEfyADQYCAgIAETw0GIANBAnQQXAVBAAsiBSAGQQJ0aiICIAgoAgA2AgAgAkEEaiEGIAEgBEcEQANAIAJBBGsiAiABQQRrIgEoAgA2AgAgASAERw0ACwsgACAFIANBAnRqNgIsIAAgBjYCKCAAIAI2AiQgBEUNACAEEFoLIABBADoAICAAKAIEIgEgACgCCCIDSQRAIAEgCDYCBCABQQE2AgAgACABQQhqNgIEDAELIAEgACgCACIEa0EDdSIGQQFqIgJBgICAgAJPDQNB/////wEgAyAEayIDQQJ1IgUgAiACIAVJGyADQfj///8HTxsiAwR/IANBgICAgAJPDQUgA0EDdBBcBUEACyIFIAZBA3RqIgIgCDYCBCACQQE2AgAgAkEIaiEIIAEgBEcEQANAIAJBCGsiAiABQQhrIgEpAgA3AgAgASAERw0ACyAAKAIAIQELIAAgBSADQQN0ajYCCCAAIAg2AgQgACACNgIAIAFFDQAgARBaCyAAKAIAIgIgACgCBCIERw0ACwsgCkEQaiQADwsQZAALEGoACxBkAAubAQEEfyMAQSBrIgIkAAJAIAAoAgBBDkYEQCACQQU2AhggAiABOQMIIABBCGoiAyACQQhqIgBGDQEgAxBZIQNB1IkLQQA2AgBBwAAgAyAAEAIaQdSJCygCACEEQdSJC0EANgIAIARBAUcNARAAIQUgABBZGiAFEAcAC0GApgZBp7cCQYcWQd2rBRABAAsgAkEIahBZGiACQSBqJAAL0g4CEn8BfiMAQRBrIgskAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEoAgAiBUEPTQRAAkACQAJAAkAgBUECaw4OAAAAAAADAQEBAQICAgMFCyAAIAAoAiRBgApyNgIkDA8LIAAgACgCJEGAggFyNgIkDA4LIAAgACgCJEGAAnI2AiQMDQsgACAAKAIkQcACcjYCJAwMCwJAAkACQAJAIAUoAhAiAkF+cUECRg0AIAUoAggiAyAFQQFyIAMbIgNBAXFFBEAgAygCBCADKAIAa0EESw0BCyAFKAIERQ0BCyAAIAAoAiRBgApyNgIkDAELAkACQCACDgIAAQILIAAgACgCJCICQYACcjYCJCABKAIAIgNBEEkNAiADKAIQDQIgAygCGCIDQQdJDQEgAygCBA0BIAAgAkGABnI2AiQMAQsgACAAKAIkQYCABHI2AiQLIAEoAgAiAUEQSQ0MAkACQAJAAkAgASgCEA4EAxAAAQYLIAEoAhQiBiABKAIYIgVGDQ9BACECQQAhAQNAAkAgAiAERwRAIAIgBigCADYCAAwBCwJAAkACQCAEIAFrIglBAnUiAkEBaiIKQYCAgIAETwRAQdSJC0EANgIAQRMQCUHUiQsoAgAhDUHUiQtBADYCACANQQFGDQEMGQtB/////wMgCUEBdSIDIAogAyAKSxsgCUH8////B08bIglFBEBBACEKDAMLIAlBgICAgARJDQFB1IkLQQA2AgBBAxAJQdSJCygCACEOQdSJC0EANgIAIA5BAUcNGAsQACEEIAENFQwWC0HUiQtBADYCAEEEIAlBAnQQBiEKQdSJCygCACEPQdSJC0EANgIAIA9BAUYNBAsgCiACQQJ0aiICIAYoAgA2AgAgAiEDIAEgBEcEQANAIANBBGsiAyAEQQRrIgQoAgA2AgAgASAERw0ACwsgCUECdCAKaiEEIAEEQCABEFoLIAMhAQsgAkEEaiECIAZBDGoiBiAFRw0ACwwHCyABKAIUIQNBBBBcIgEgAzYCACABQQRqIQIMDAsQACEEIAFFDRAMDwsCfwJAIAEpAhQiFKciBUEHSQ0AIAUoAgQNACAFKAIMIAUoAghrQQJ1DAELIAVBAEcLIgxFBEBBACECQQAhAQwECyAFQQdJIQlBACECQQAhAQNAAkACQCAJDQAgBSgCBA0AIAUoAgggBkECdGooAgAhAwwBCyAGDQcgBSIDRQ0HCwJAAkAgAiAERwRAIAIgAzYCAAwBCyAEIAFrIgdBAnUiCkEBaiIIQYCAgIAETw0JAkBB/////wMgB0EBdSICIAggAiAISxsgB0H8////B08bIghFBEBBACEHDAELIAhBgICAgARPDQtB1IkLQQA2AgBBBCAIQQJ0EAYhB0HUiQsoAgAhEEHUiQtBADYCACAQQQFGDQILIAcgCkECdGoiAiADNgIAIAIhAyABIARHBEADQCADQQRrIgMgBEEEayIEKAIANgIAIAEgBEcNAAsLIAhBAnQgB2ohBCABBEAgARBaCyADIQELIAJBBGohAiAGQQFqIgYgDEYNBQwBCwsQACEEIAENDgwPC0HhlQZBuLMCQdsJQY/iAxABAAsgACAAKAIkQYACcjYCJAwKC0H4xQRBuLMCQbULEGIACwJ/AkAgFEIgiKciBUEHSQ0AIAUoAgQNACAFKAIMIAUoAghrQQJ1DAELIAVBAEcLIgxFDQAgBUEHSSEJQQAhBgNAAkACQCAJDQAgBSgCBA0AIAUoAgggBkECdGooAgAhAwwBCyAGDQMgBSIDRQ0DCwJAIAIgBEcEQCACIAM2AgAMAQsgBCABayIHQQJ1IgpBAWoiCEH/////A0sNBAJAQf////8DIAdBAXUiAiAIIAIgCEsbIAdB/P///wdPGyIIRQRAQQAhBwwBCyAIQf////8DSw0GQdSJC0EANgIAQQQgCEECdBAGIQdB1IkLKAIAIRFB1IkLQQA2AgAgEUEBRg0ICyAHIApBAnRqIgIgAzYCACACIQMgASAERwRAA0AgA0EEayIDIARBBGsiBCgCADYCACABIARHDQALCyAIQQJ0IAdqIQQgAQRAIAEQWgsgAyEBCyACQQRqIQIgBkEBaiIGIAxHDQALCyABIAJHDQUMBgtB1IkLQQA2AgBBDUHdwwZBuLMCQdgIQaDWBRAFDAILQdSJC0EANgIAQRMQCQwBC0HUiQtBADYCAEEDEAkLQdSJCygCACESQdSJC0EANgIAIBJBAUcNBxAAIQQgAQ0FDAYLEAAhBCABDQQMBQsgASEEA0AgCyAEKAIAIgM2AgwCQCADQQdPBEAgAygCBEEBRg0BC0HUiQtBADYCAEHTAiALQQxqEAYhBUHUiQsoAgAhE0HUiQtBADYCACATQQFGDQQgACAAKAIkIAVyNgIkCyAEQQRqIgQgAkcNAAsgASECCyACRQ0AIAIQWgsgC0EQaiQADwsQACEEIAFFDQELIAEQWgsgBBAHAAsAC5kCAQJ/AkACQAJAIAAoAgQOAgACAQsgACgCDCICIAAoAggiAWtBAnUhACABIAJHBEADQCAAIABBBnQgAEECdmogASgCAEGV08feBWwiAEEYdiAAc0GV08feBWxBqJm99H1zQZXTx94FbCIAQQ12IABzQZXTx94FbCIAQQ92IABzakHHjKKOBmtzIQAgAUEEaiIBIAJHDQALCyAAQceMoo4Gaw8LQfjFBEG4swJBvhYQYgALIAAoAgxBh4yijgZrIgFBAnYgAUEBcyIBQQZ0aiAAKAIIQZXTx94FbCIAQRh2IABzQZXTx94FbEGomb30fXNBldPH3gVsIgBBDXYgAHNBldPH3gVsIgBBD3YgAHNqQceMoo4GayABcwubAQEEfyMAQSBrIgIkAAJAIAAoAgBBDkYEQCACQQQ2AhggAiABOAIIIABBCGoiAyACQQhqIgBGDQEgAxBZIQNB1IkLQQA2AgBBwAAgAyAAEAIaQdSJCygCACEEQdSJC0EANgIAIARBAUcNARAAIQUgABBZGiAFEAcAC0GApgZBp7cCQf0VQYu9BRABAAsgAkEIahBZGiACQSBqJAALLwAgASgCACIBKAIAQdwARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLwAgASgCACIBKAIAQdsARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLwAgASgCACIBKAIAQdoARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLwAgASgCACIBKAIAQdkARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLwAgASgCACIBKAIAQdgARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLwAgASgCACIBKAIAQdcARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLwAgASgCACIBKAIAQdYARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLwAgASgCACIBKAIAQdUARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLwAgASgCACIBKAIAQdQARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLwAgASgCACIBKAIAQdMARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLwAgASgCACIBKAIAQdIARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLwAgASgCACIBKAIAQdEARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLwAgASgCACIBKAIAQdAARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLwAgASgCACIBKAIAQc8ARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLwAgASgCACIBKAIAQc4ARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLwAgASgCACIBKAIAQc0ARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLwAgASgCACIBKAIAQcwARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLwAgASgCACIBKAIAQcsARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILWQEBfgJAIAAoAgBBDkYEQCAAKAIYQQZHDQEgACkACCECIAEgACkAEDcACCABIAI3AAAPC0GApgZBp7cCQYwWQa6gBRABAAtBgZ0FQemkAkG+AkHjnAUQAQALLwAgASgCACIBKAIAQcoARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLwAgASgCACIBKAIAQckARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLwAgASgCACIBKAIAQcgARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLwAgASgCACIBKAIAQccARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLwAgASgCACIBKAIAQcYARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLwAgASgCACIBKAIAQcUARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLwAgASgCACIBKAIAQcQARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLwAgASgCACIBKAIAQcMARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLwAgASgCACIBKAIAQcIARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLwAgASgCACIBKAIAQcEARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILQwACQCAAKAIAQQ5GBEAgACgCGEEDRw0BIAAoAggPC0GApgZBp7cCQdwVQY84EAEAC0HtpgVB5poDQaECQYmkBRABAAsvACABKAIAIgEoAgBBwABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCUAgsuACABKAIAIgEoAgBBP0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJQCCy4AIAEoAgAiASgCAEE+RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLgAgASgCACIBKAIAQT1HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCUAgsuACABKAIAIgEoAgBBPEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJQCCy4AIAEoAgAiASgCAEE7RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLgAgASgCACIBKAIAQTpHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCUAgsuACABKAIAIgEoAgBBOUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJQCCy4AIAEoAgAiASgCAEE4RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLgAgASgCACIBKAIAQShHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCUAgtEAAJAIAAoAgBBDkYEQCAAKAIYQQNHDQEgACgCDA8LQYCmBkGntwJB6hVBioADEAEAC0HtpgVB5poDQaECQYmkBRABAAsuACABKAIAIgEoAgBBF0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJQCCy4AIAEoAgAiASgCAEEWRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLgAgASgCACIBKAIAQTdHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCUAgsuACABKAIAIgEoAgBBNkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJQCCy4AIAEoAgAiASgCAEE1RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLgAgASgCACIBKAIAQTRHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCUAgsuACABKAIAIgEoAgBBM0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJQCCy4AIAEoAgAiASgCAEEyRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLgAgASgCACIBKAIAQTFHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCUAgsuACABKAIAIgEoAgBBMEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJQCC0QAAkAgACgCAEEORgRAIAAoAhhBAkcNASAAKAIIDwtBgKYGQae3AkHIFUHNvAUQAQALQZmxBUHmmgNBmAJBoq4FEAEACy4AIAEoAgAiASgCAEEvRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLgAgASgCACIBKAIAQS5HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCUAgsuACABKAIAIgEoAgBBLUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJQCCy4AIAEoAgAiASgCAEEsRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLgAgASgCACIBKAIAQStHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCUAgsuACABKAIAIgEoAgBBKkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJQCCy4AIAEoAgAiASgCAEEpRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLgAgASgCACIBKAIAQRVHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCUAgsuACABKAIAIgEoAgBBFEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJQCCy4AIAEoAgAiASgCAEETRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILRAACQCAAKAIAQQ5GBEAgACgCGEEFRw0BIAArAwgPC0GApgZBp7cCQYIWQfarBRABAAtB16oFQeaaA0GpAkGdqAUQAQALLgAgASgCACIBKAIAQRJHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCUAgsuACABKAIAIgEoAgBBEUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJQCCy4AIAEoAgAiASgCAEEQRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLgAgASgCACIBKAIAQQ9HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCUAgsuACABKAIAIgEoAgBBDkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJQCCy4AIAEoAgAiASgCAEEnRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLgAgASgCACIBKAIAQSZHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCUAgsuACABKAIAIgEoAgBBJUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJQCCy4AIAEoAgAiASgCAEEkRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLgAgASgCACIBKAIAQSNHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCUAgtEAAJAIAAoAgBBDkYEQCAAKAIYQQRHDQEgACoCCA8LQYCmBkGntwJB+BVBpL0FEAEAC0HQuwVB5poDQaUCQeq5BRABAAsuACABKAIAIgEoAgBBIkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJQCCy4AIAEoAgAiASgCAEEhRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLgAgASgCACIBKAIAQSBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCUAgsuACABKAIAIgEoAgBBH0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJQCCy4AIAEoAgAiASgCAEEeRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLgAgASgCACIBKAIAQR1HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCUAgsuACABKAIAIgEoAgBBHEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJQCCy4AIAEoAgAiASgCAEEbRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLgAgASgCACIBKAIAQRpHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCUAgsuACABKAIAIgEoAgBBGUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJQCCy4AIAEoAgAiASgCAEEYRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLgAgASgCACIBKAIAQQ1HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCUAgsuACABKAIAIgEoAgBBDEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJQCCy4AIAEoAgAiASgCAEELRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLgAgASgCACIBKAIAQQpHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCUAgsuACABKAIAIgEoAgBBCUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJQCCy4AIAEoAgAiASgCAEEIRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLgAgASgCACIBKAIAQQdHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCUAgsuACABKAIAIgEoAgBBBkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJQCCy4AIAEoAgAiASgCAEEFRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLgAgASgCACIBKAIAQQRHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCUAgsuACABKAIAIgEoAgBBA0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJQCCy4AIAEoAgAiASgCAEECRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQlAILLgAgASgCACIBKAIAQQFHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCUAgvVHQEOfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEoAgAiAigCAA5eAAECAwQFBgcICQoLDA0eHyAhIiMkJTU2Dg8QERITFBUWFxgZGhscHTcmJygpKissLS4vMDEyMzQ4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcAF0LQZj9A0HlswNB6gEQYgALIABB3xIgARBYIAIoAgBBAUcNXCACKAIUIgFBAEwNWyAAQQRqIQQDQCABQQFrIgAgAigCFE8NXiACKAIQIABBAnRqIgMoAgBFDV8gBEHeEiADEFsgAUEBSyEGIAAhASAGDQALDFsLIABB4BIgARBYIAIoAgBBAkcNWyACKAIQBEAgAEEEakHeEiACQRBqEFsLDGALIABB4RIgARBYIAIoAgBBA0cNWgxjCyAAQeISIAEQWCACKAIAQQRHDVkgAigCFARAIABBBGpB3hIgAkEUahBbCyACKAIQRQ1YIABBBGpB3hIgAkEQahBbDwsgAEHjEiABEFggAigCAEEFRw1YIABB3hIgAkEkahBYIAIoAiBFDVcgAEEEakHeEiACQSBqEFsPCyAAQeQSIAEQWCACKAIAQQZHDVcgAigCDCIBQQBMDVYgAEEEaiEEA0AgAUEBayIAIAIoAgxPDVkgAigCCCAAQQJ0aiIDKAIARQ1aIARB3hIgAxBbIAFBAUshByAAIQEgBw0ACwxWCyAAQeUSIAEQWCACKAIAQQdHDVYgAEHeEiACQRxqEFggAigCECIBQQBMDVUgAEEEaiEEA0AgAUEBayIAIAIoAhBPDVggAigCDCAAQQJ0aiIDKAIARQ1ZIARB3hIgAxBbIAFBAUshCCAAIQEgCA0ACwxVCyAAQeYSIAEQWCACKAIAQQhGDVQMVQsgAEHnEiABEFggAigCAEEJRw1UDGALIABB6BIgARBYIAIoAgBBCkYNUgxTCyAAQekSIAEQWCACKAIAQQtHDVIMWwsgAEHqEiABEFggAigCAEEMRw1RDF8LIABB6xIgARBYIAIoAgBBDUcNUAxdCyAAQewSIAEQWCACKAIAQRhHDU8MXgsgAEHtEiABEFggAigCAEEZRw1OIABB3hIgAkEgahBYDF0LIABB7hIgARBYIAIoAgBBGkcNTQxUCyAAQe8SIAEQWCACKAIAQRtHDUwMVAsgAEHwEiABEFggAigCAEEcRg1KDEsLIABB8RIgARBYIAIoAgBBHUcNSgxWCyAAQfISIAEQWCACKAIAQR5HDUkgAEHeEiACQRRqEFgMVQsgAEHzEiABEFggAigCAEEfRw1IDE0LIABB9BIgARBYIAIoAgBBIEcNRwxRCyAAQfUSIAEQWCACKAIAQSFHDUYMUQsgAEH2EiABEFggAigCAEEiRw1FIABB3hIgAkEgahBYDwsgAEH3EiABEFggAigCAEEjRw1EDFELIABB+BIgARBYIAIoAgBBJEcNQwxKCyAAQfkSIAEQWCACKAIAQSVGDUEMQgsgAEH6EiABEFggAigCAEEmRw1BDEULIABB+xIgARBYIAIoAgBBJ0cNQAxECyAAQfwSIAEQWCACKAIAQQ5GDT4MPwsgAEH9EiABEFggAigCAEEPRw0+DEoLIABB/hIgARBYIAIoAgBBEEcNPQxICyAAQf8SIAEQWCACKAIAQRFHDTwMQAsgAEGAEyABEFggAigCAEESRw07DEsLIABBgRMgARBYIAIoAgBBE0cNOiACKAIIRQ05DEsLIABBghMgARBYIAIoAgBBFEYNOAw5CyAAQYMTIAEQWCACKAIAQRVHDTgMSAsgAEGEEyABEFggAigCAEEpRg02DDcLIABBhRMgARBYIAIoAgBBKkcNNgxGCyAAQYYTIAEQWCACKAIAQStGDTQMNQsgAEGHEyABEFggAigCAEEsRw00DDkLIABBiBMgARBYIAIoAgBBLUcNMww8CyAAQYkTIAEQWCACKAIAQS5HDTIMOgsgAEGKEyABEFggAigCAEEvRg0wDDELIABBixMgARBYIAIoAgBBMEcNMAw4CyAAQYwTIAEQWCACKAIAQTFHDS8MNgsgAEGNEyABEFggAigCAEEyRw0uDDILIABBjhMgARBYIAIoAgBBM0cNLSACKAIoIgFBAEoEQCAAQQRqIQMDQCABQQFrIgQgAigCKE8NMCACKAIkIARBAnRqIgUoAgBFDTEgA0HeEiAFEFsgAUEBSyEJIAQhASAJDQALCww2CyAAQY8TIAEQWCACKAIAQTRGBEAMPQsMLAsgAEGQEyABEFggAigCAEE1Rw0rIAIoAhQiAUEATA0qIABBBGohBANAIAFBAWsiACACKAIUTw0tIAIoAhAgAEECdGoiAygCAEUNLiAEQd4SIAMQWyABQQFLIQogACEBIAoNAAsMKgsgAEGREyABEFggAigCAEE2Rg0pDCoLIABBkhMgARBYIAIoAgBBN0cNKQw5CyAAQZMTIAEQWCACKAIAQRZGDScMKAsgAEGUEyABEFggAigCAEEXRg0mDCcLIABBlRMgARBYIAIoAgBBKEYNJQwmCyAAQZYTIAEQWCACKAIAQThHDSUgAigCDCIBQQBMDSQgAEEEaiEEA0AgAUEBayIAIAIoAgxPDScgAigCCCAAQQJ0aiIDKAIARQ0oIARB3hIgAxBbIAFBAUshCyAAIQEgCw0ACwwkCyAAQZcTIAEQWCACKAIAQTlHDSQMNAsgAEGYEyABEFggAigCAEE6Rw0jDDMLIABBmRMgARBYIAIoAgBBO0cNIgwyCyAAQZoTIAEQWCACKAIAQTxHDSEgAEHeEiACQRhqEFggAigCDCIBQQBMDSAgAEEEaiEEA0AgAUEBayIAIAIoAgxPDSMgAigCCCAAQQJ0aiIDKAIARQ0kIARB3hIgAxBbIAFBAUshDCAAIQEgDA0ACwwgCyAAQZsTIAEQWCACKAIAQT1HDSAMMAsgAEGcEyABEFggAigCAEE+Rw0fDC8LIABBnRMgARBYIAIoAgBBP0cNHiAAQd4SIAJBFGoQWA8LIABBnhMgARBYIAIoAgBBwABHDR0gAigCDCIBQQBMDRwgAEEEaiEEA0AgAUEBayIAIAIoAgxPDR8gAigCCCAAQQJ0aiIDKAIARQ0gIARB3hIgAxBbIAFBAUshDSAAIQEgDQ0ACwwcCyAAQZ8TIAEQWCACKAIAQcEARw0cDCgLIABBoBMgARBYIAIoAgBBwgBHDRsMJgsgAEGhEyABEFggAigCAEHDAEcNGiAAQd4SIAJBDGoQWCACKAIIRQ0ZDCsLIABBohMgARBYIAIoAgBBxABHDRkMIQsgAEGjEyABEFggAigCAEHFAEcNGAwgCyAAQaQTIAEQWCACKAIAQcYARw0XIAIoAgwiAUEATA0WIABBBGohBANAIAFBAWsiACACKAIMTw0ZIAIoAgggAEECdGoiAygCAEUNGiAEQd4SIAMQWyABQQFLIQ4gACEBIA4NAAsMFgsgAEGlEyABEFggAigCAEHHAEcNFgwbCyAAQaYTIAEQWCACKAIAQcgARw0VDBkLIABBpxMgARBYIAIoAgBByQBHDRQMJAsgAEGoEyABEFggAigCAEHKAEcNEyAAQd4SIAJBGGoQWAwWCyAAQakTIAEQWCACKAIAQcsARw0SDBULIABBqhMgARBYIAIoAgBBzABHDREMFwsgAEGrEyABEFggAigCAEHNAEcNEAwWCyAAQawTIAEQWCACKAIAQc4ARw0PDBsLIABBrRMgARBYIAIoAgBBzwBHDQ4gAigCGARAIABBBGpB3hIgAkEYahBbCyACKAIUBEAgAEEEakHeEiACQRRqEFsLIAIoAhAEQCAAQQRqQd4SIAJBEGoQWwsMGgsgAEGuEyABEFggAigCAEHQAEYNDAwNCyAAQa8TIAEQWCACKAIAQdEARw0MDBgLIABBsBMgARBYIAIoAgBB0gBHDQsgAigCFARAIABBBGpB3hIgAkEUahBbCwwWCyAAQbETIAEQWCACKAIAQdMARw0KDA8LIABBshMgARBYIAIoAgBB1ABHDQkMFAsgAEGzEyABEFggAigCAEHVAEcNCAwUCyAAQbQTIAEQWCACKAIAQdYARw0HDAsLIABBtRMgARBYIAIoAgBB1wBHDQYMCwsgAEG2EyABEFggAigCAEHYAEcNBQwVCyAAQbcTIAEQWCACKAIAQdkARw0EDA8LIABBuBMgARBYIAIoAgBB2gBHDQMMDQsgAEG5EyABEFggAigCAEHbAEcNAgwHCyAAQboTIAEQWCACKAIAQdwARw0BIABB3hIgAkE8ahBYIAIoAjAiAUEATA0AIABBBGohBANAIAFBAWsiACACKAIwTw0DIAIoAiwgAEECdGoiAygCAEUNBCAEQd4SIAMQWyABQQFLIQ8gACEBIA8NAAsLDwtB8O0FQcWYA0GUBkGN3gAQAQALQcWiAUGJogNBvAFBpogFEAEAC0GBgwJB05kDQbkCQa73AhABAAsgAEHeEiACQRRqEFgLIABB3hIgAkEQahBYCyAAQd4SIAJBDGoQWAwKCyAAQd4SIAJBHGoQWAsgAEHeEiACQRhqEFgLIABB3hIgAkEUahBYCyAAQd4SIAJBEGoQWA8LIABB3hIgAkEUahBYCyAAQd4SIAJBEGoQWAsgAEHeEiACQQxqEFgPCyAAQd4SIAJBKGoQWAsgAEHeEiACQSRqEFgPCyAAQd4SIAJBHGoQWCAAQd4SIAJBGGoQWA8LIABB3hIgAkEIahBYDwsgAEEEakHeEiACQQhqEFsLswIBA38CQAJAAkBBACAAKAIEayAAKAJcIAAoAlhrQQN1RgRAIAEoAgBFDQEgAEEEakHeEiABEFtBACAAKAIEIgJrIAAoAlwiASAAKAJYIgNrQQN1RwRAIABBCGohBANAAkAgASADRgRAIAJFDQYgBCACQQFrIgJBA3RqIgMoAgQhASADKAIAIQMgACACNgIEDAELIAFBCGsiAigCACEDIAIoAgQhASAAIAI2AlwLIAAgATYCACABKAIARQ0FIAAgASADEQAAQQAgACgCBCICayAAKAJcIgEgACgCWCIDa0EDdUcNAAsLDwtBzcoFQdOZA0HIAkHQ+AIQAQALQYGDAkHTmQNBuQJBrvcCEAEAC0HexAVBsJQDQdoAQf37AhABAAtB9YICQdOZA0HNAkHQ+AIQAQAL1QMBA38gASAAQSBqIgJHBEACQCACLQALQYABcUEHdkUEQCABLQALIgNBgAFxQQd2RQRAIAIgASkCADcCACACIAEoAgg2AggMAgsgAiABKAIAIAEgAS0AC0GAAXFBB3YbIAEoAgQgA0H/AHEgA0GAAXFBB3YbELAFGgwBCyACIAEoAgAgASABLQALIgJBgAFxQQd2GyABKAIEIAIiAUH/AHEgAUGAAXFBB3YbELEFGgsLIABBADYCLCAAQSBqIgMiASgCACABIAEtAAtBgAFxQQd2GyECIAAoAiQgAC0AKyIBQf8AcSABQYABcUEHdhshAQJAIAAoAjAiBEEIcQR/IAAgASACaiIENgIsIAAgBDYCECAAIAI2AgwgACACNgIIIAAoAjAFIAQLQRBxRQ0AIAAgASACajYCLCADIAMtAAtBgAFxQQd2BH8gAygCCEH/////B3FBAWsFQQoLELcMIAAgAiAAKAIkIAAtACsiA0H/AHEgA0GAAXFBB3YbajYCHCAAIAI2AhQgACACNgIYIAAtADBBA3FFDQADQCABQQBIBEAgACAAKAIYQf////8HajYCGCABQf////8HayEBDAELCyABRQ0AIAAgACgCGCABajYCGAsLqAQBC38CfyMAQSBrIgIkACACQQA2AhwCQAJAIAJBG2ogAEEAEOgELQAABEAgAkEUaiIEIAAgACgCAEEMaygCAGooAhwiAzYCACADIAMoAgRBAWo2AgRB1IkLQQA2AgBB9a0BIAIoAhQQBiEDQdSJCygCACEFQdSJC0EANgIAAkACQCAFQQFGDQAgAiAAIAAoAgBBDGsoAgBqKAIYNgIQIAJBADYCDCAAKAIAQQxrKAIAIQUgAigCDCEGIAIoAhAhB0HUiQtBADYCAEH3rQEgAyAHIAYgACAFaiACQRxqIAEQF0HUiQsoAgAhCEHUiQtBADYCACAIQQFGDQAgBCgCACIBIAEoAgRBAWsiAzYCBCADQX9GBEAgASABKAIAKAIIEQEACwwBC0EAEAshCSACKAIUIgEgASgCBEEBayIENgIEIARBf0YEQCABIAEoAgAoAggRAQALIAkQDhogAiACKAIcQQFyIgM2AhwgACAAKAIAQQxrKAIAaiIBIAEoAhhFIAEoAhAgA3JyNgIQIAAgACgCAEEMaygCAGooAhRBAXEEQEHUiQtBADYCAEHVABAJQdSJCygCACEKQdSJC0EANgIAIApBAUcNBBAAIQxB1IkLQQA2AgBBHBAJQdSJCygCACELQdSJC0EANgIAIAtBAUYNAyAMEAcACxARCyAAIAAoAgBBDGsoAgBqIAIoAhwQrgwLIAJBIGokACAADAILQQAQCxoQcAsACwuoBAELfwJ/IwBBIGsiAiQAIAJBADYCHAJAAkAgAkEbaiAAQQAQ6AQtAAAEQCACQRRqIgQgACAAKAIAQQxrKAIAaigCHCIDNgIAIAMgAygCBEEBajYCBEHUiQtBADYCAEH1rQEgAigCFBAGIQNB1IkLKAIAIQVB1IkLQQA2AgACQAJAIAVBAUYNACACIAAgACgCAEEMaygCAGooAhg2AhAgAkEANgIMIAAoAgBBDGsoAgAhBSACKAIMIQYgAigCECEHQdSJC0EANgIAQfatASADIAcgBiAAIAVqIAJBHGogARAXQdSJCygCACEIQdSJC0EANgIAIAhBAUYNACAEKAIAIgEgASgCBEEBayIDNgIEIANBf0YEQCABIAEoAgAoAggRAQALDAELQQAQCyEJIAIoAhQiASABKAIEQQFrIgQ2AgQgBEF/RgRAIAEgASgCACgCCBEBAAsgCRAOGiACIAIoAhxBAXIiAzYCHCAAIAAoAgBBDGsoAgBqIgEgASgCGEUgASgCECADcnI2AhAgACAAKAIAQQxrKAIAaigCFEEBcQRAQdSJC0EANgIAQdUAEAlB1IkLKAIAIQpB1IkLQQA2AgAgCkEBRw0EEAAhDEHUiQtBADYCAEEcEAlB1IkLKAIAIQtB1IkLQQA2AgAgC0EBRg0DIAwQBwALEBELIAAgACgCAEEMaygCAGogAigCHBCuDAsgAkEgaiQAIAAMAgtBABALGhBwCwALC8QBAQR/IABB6JQKNgI8IABB1JQKNgIAIABBADYCBCAAQTxqIgMgAEEIaiICEO0BIABBwJQKNgI8IABBrJQKNgIAIABCgICAgHA3AoQBIAIQ7gEiAkG4jAo2AgAgAEIANwIwIABCADcCKCAAQQg2AjhB1IkLQQA2AgBB2hIgAiABEANB1IkLKAIAIQRB1IkLQQA2AgAgBEEBRgRAEAAhBSAALAAzQQBIBEAgACgCKBBaCyACEOsBGiADEOgBGiAFEAcACyAACysAIAEoAgAiASgCAEE/RwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAQtgcLkQgBDH8jAEFAaiICJAAgASgCCCEDAkACQAJAAkACQAJAAkACQCABKAIAIgRBBk0EQCABKAIMIQUCQAJAAkACQAJAIARBAmsOBQYAAQIDBAsgAkEDNgIgIAIgBTYCFAwGCyACQQI2AjggAiADNgIoIAJBBDYCICACIAM2AhAgAkEoahBZGgwGCyACIAU2AiwgAiADNgIoIAJBAzYCOCACQQU2AiAgAiACKQMoNwMQIAJBKGoQWRoMBQsgAiABKQMQNwMYIAIgBTYCFCACIAM2AhAgAkEGNgIgDAQLQe+EBEGntwJBgQEQYgALIAQoAgRBAUcNAyAEKAIIIgFBD00EQCABQQxrQQRPBEACQAJAAkACQCABQQFrDgsCAQIAAgICAwMDAwELQYu/BUGntwJBiQEQYgALQe+4AUGntwJBjAEQYgALQdSEBEGntwJBkgEQYgALQYW5AUGntwJBlwEQYgALIAQoAgxBAUcNBSACQQE2AjQgAkEBNgIsIAJBADoAKEHUiQtBADYCACACIAFBAnRB3LsHaigCADYCMEEHQdidCyACQShqIgEQAiEDQdSJCygCACEGQdSJC0EANgIAIAZBAUYEQBAAIQcgARB3IAcQBwALIAJBEGogAxDEBBoMAwsgASgCECIERQRAIAIgAxBsNgIsIAIgAzYCKCACIAIpAig3AwggAkEQaiACQQhqEGUgAS0AAA0GIAJBADYCNCACIAE2AjAgAkEAOgAoQdSJC0EANgIAIAJBATYCLEEHQdidCyACQShqIgMQAiEEQdSJCygCACEIQdSJC0EANgIAIAhBAUYEQBAAIQkgAxB3IAkQBwALIAIgBDYCICABKAIQRQ0DQYGVBkHmmgNB1QBB0/ICEAEACyAEQX5xQQJHDQZB9O8EQae3AkGkARBiAAsgAkECNgIgCyACIAM2AhALAkAgAigCIEECa0EFTwRAQdSJC0EANgIAQQ1BkfsFQZqWA0HWBEGs0gAQBUHUiQsoAgAhCkHUiQtBADYCACAKQQFGDQEAC0HUiQtBADYCAEEMIABBqAFqQSBBCBAEIQBB1IkLKAIAIQtB1IkLQQA2AgAgC0EBRg0AIABCADcCBCAAQQ42AgAgAEIANwIMIABCADcCFCAAQQhqIgEgAkEQaiIDRg0FIAEQWSEBQdSJC0EANgIAQcAAIAEgAxACGkHUiQsoAgAhDEHUiQtBADYCACAMQQFHDQULEAAhDSACQRBqEFkaIA0QBwALQZn/BUGntwJBhAFBx/ICEAEAC0H/mQZBp7cCQZwBQcfyAhABAAtB/tAGQbizAkHoBUG4jAQQAQALQd2hBkGntwJBowFBx/ICEAEACyAAIAIoAiA2AgQgAkEQahBZGiACQUBrJAAgAAsrACABKAIAIgEoAgBBBUcEQEHw7QVBxZgDQZQGQY3eABABAAsgASAAELYHCysAIAEoAgAiASgCAEEERwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAQtgcL1R0BDn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAIgIoAgAOXgABAgMEBQYHCAkKCwwNHh8gISIjJCU1Ng4PEBESExQVFhcYGRobHB03JicoKSorLC0uLzAxMjM0ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXABdC0GY/QNB5bMDQeoBEGIACyAAQf4RIAEQWCACKAIAQQFHDVwgAigCFCIBQQBMDVsgAEEEaiEEA0AgAUEBayIAIAIoAhRPDV4gAigCECAAQQJ0aiIDKAIARQ1fIARB+hEgAxBbIAFBAUshBiAAIQEgBg0ACwxbCyAAQf8RIAEQWCACKAIAQQJHDVsgAigCEARAIABBBGpB+hEgAkEQahBbCwxgCyAAQYASIAEQWCACKAIAQQNHDVoMYwsgAEGBEiABEFggAigCAEEERw1ZIAIoAhQEQCAAQQRqQfoRIAJBFGoQWwsgAigCEEUNWCAAQQRqQfoRIAJBEGoQWw8LIABBghIgARBYIAIoAgBBBUcNWCAAQfoRIAJBJGoQWCACKAIgRQ1XIABBBGpB+hEgAkEgahBbDwsgAEGDEiABEFggAigCAEEGRw1XIAIoAgwiAUEATA1WIABBBGohBANAIAFBAWsiACACKAIMTw1ZIAIoAgggAEECdGoiAygCAEUNWiAEQfoRIAMQWyABQQFLIQcgACEBIAcNAAsMVgsgAEGEEiABEFggAigCAEEHRw1WIABB+hEgAkEcahBYIAIoAhAiAUEATA1VIABBBGohBANAIAFBAWsiACACKAIQTw1YIAIoAgwgAEECdGoiAygCAEUNWSAEQfoRIAMQWyABQQFLIQggACEBIAgNAAsMVQsgAEGFEiABEFggAigCAEEIRg1UDFULIABBhhIgARBYIAIoAgBBCUcNVAxgCyAAQYcSIAEQWCACKAIAQQpGDVIMUwsgAEGIEiABEFggAigCAEELRw1SDFsLIABBiRIgARBYIAIoAgBBDEcNUQxfCyAAQYoSIAEQWCACKAIAQQ1HDVAMXQsgAEGLEiABEFggAigCAEEYRw1PDF4LIABBjBIgARBYIAIoAgBBGUcNTiAAQfoRIAJBIGoQWAxdCyAAQY0SIAEQWCACKAIAQRpHDU0MVAsgAEGOEiABEFggAigCAEEbRw1MDFQLIABBjxIgARBYIAIoAgBBHEYNSgxLCyAAQZASIAEQWCACKAIAQR1HDUoMVgsgAEGREiABEFggAigCAEEeRw1JIABB+hEgAkEUahBYDFULIABBkhIgARBYIAIoAgBBH0cNSAxNCyAAQZMSIAEQWCACKAIAQSBHDUcMUQsgAEGUEiABEFggAigCAEEhRw1GDFELIABBlRIgARBYIAIoAgBBIkcNRSAAQfoRIAJBIGoQWA8LIABBlhIgARBYIAIoAgBBI0cNRAxRCyAAQZcSIAEQWCACKAIAQSRHDUMMSgsgAEGYEiABEFggAigCAEElRg1BDEILIABBmRIgARBYIAIoAgBBJkcNQQxFCyAAQZoSIAEQWCACKAIAQSdHDUAMRAsgAEGbEiABEFggAigCAEEORg0+DD8LIABBnBIgARBYIAIoAgBBD0cNPgxKCyAAQZ0SIAEQWCACKAIAQRBHDT0MSAsgAEGeEiABEFggAigCAEERRw08DEALIABBnxIgARBYIAIoAgBBEkcNOwxLCyAAQaASIAEQWCACKAIAQRNHDTogAigCCEUNOQxLCyAAQaESIAEQWCACKAIAQRRGDTgMOQsgAEGiEiABEFggAigCAEEVRw04DEgLIABBoxIgARBYIAIoAgBBKUYNNgw3CyAAQaQSIAEQWCACKAIAQSpHDTYMRgsgAEGlEiABEFggAigCAEErRg00DDULIABBphIgARBYIAIoAgBBLEcNNAw5CyAAQacSIAEQWCACKAIAQS1HDTMMPAsgAEGoEiABEFggAigCAEEuRw0yDDoLIABBqRIgARBYIAIoAgBBL0YNMAwxCyAAQaoSIAEQWCACKAIAQTBHDTAMOAsgAEGrEiABEFggAigCAEExRw0vDDYLIABBrBIgARBYIAIoAgBBMkcNLgwyCyAAQa0SIAEQWCACKAIAQTNHDS0gAigCKCIBQQBKBEAgAEEEaiEDA0AgAUEBayIEIAIoAihPDTAgAigCJCAEQQJ0aiIFKAIARQ0xIANB+hEgBRBbIAFBAUshCSAEIQEgCQ0ACwsMNgsgAEGuEiABEFggAigCAEE0RgRADD0LDCwLIABBrxIgARBYIAIoAgBBNUcNKyACKAIUIgFBAEwNKiAAQQRqIQQDQCABQQFrIgAgAigCFE8NLSACKAIQIABBAnRqIgMoAgBFDS4gBEH6ESADEFsgAUEBSyEKIAAhASAKDQALDCoLIABBsBIgARBYIAIoAgBBNkYNKQwqCyAAQbESIAEQWCACKAIAQTdHDSkMOQsgAEGyEiABEFggAigCAEEWRg0nDCgLIABBsxIgARBYIAIoAgBBF0YNJgwnCyAAQbQSIAEQWCACKAIAQShGDSUMJgsgAEG1EiABEFggAigCAEE4Rw0lIAIoAgwiAUEATA0kIABBBGohBANAIAFBAWsiACACKAIMTw0nIAIoAgggAEECdGoiAygCAEUNKCAEQfoRIAMQWyABQQFLIQsgACEBIAsNAAsMJAsgAEG2EiABEFggAigCAEE5Rw0kDDQLIABBtxIgARBYIAIoAgBBOkcNIwwzCyAAQbgSIAEQWCACKAIAQTtHDSIMMgsgAEG5EiABEFggAigCAEE8Rw0hIABB+hEgAkEYahBYIAIoAgwiAUEATA0gIABBBGohBANAIAFBAWsiACACKAIMTw0jIAIoAgggAEECdGoiAygCAEUNJCAEQfoRIAMQWyABQQFLIQwgACEBIAwNAAsMIAsgAEG6EiABEFggAigCAEE9Rw0gDDALIABBuxIgARBYIAIoAgBBPkcNHwwvCyAAQbwSIAEQWCACKAIAQT9HDR4gAEH6ESACQRRqEFgPCyAAQb0SIAEQWCACKAIAQcAARw0dIAIoAgwiAUEATA0cIABBBGohBANAIAFBAWsiACACKAIMTw0fIAIoAgggAEECdGoiAygCAEUNICAEQfoRIAMQWyABQQFLIQ0gACEBIA0NAAsMHAsgAEG+EiABEFggAigCAEHBAEcNHAwoCyAAQb8SIAEQWCACKAIAQcIARw0bDCYLIABBwBIgARBYIAIoAgBBwwBHDRogAEH6ESACQQxqEFggAigCCEUNGQwrCyAAQcESIAEQWCACKAIAQcQARw0ZDCELIABBwhIgARBYIAIoAgBBxQBHDRgMIAsgAEHDEiABEFggAigCAEHGAEcNFyACKAIMIgFBAEwNFiAAQQRqIQQDQCABQQFrIgAgAigCDE8NGSACKAIIIABBAnRqIgMoAgBFDRogBEH6ESADEFsgAUEBSyEOIAAhASAODQALDBYLIABBxBIgARBYIAIoAgBBxwBHDRYMGwsgAEHFEiABEFggAigCAEHIAEcNFQwZCyAAQcYSIAEQWCACKAIAQckARw0UDCQLIABBxxIgARBYIAIoAgBBygBHDRMgAEH6ESACQRhqEFgMFgsgAEHIEiABEFggAigCAEHLAEcNEgwVCyAAQckSIAEQWCACKAIAQcwARw0RDBcLIABByhIgARBYIAIoAgBBzQBHDRAMFgsgAEHLEiABEFggAigCAEHOAEcNDwwbCyAAQcwSIAEQWCACKAIAQc8ARw0OIAIoAhgEQCAAQQRqQfoRIAJBGGoQWwsgAigCFARAIABBBGpB+hEgAkEUahBbCyACKAIQBEAgAEEEakH6ESACQRBqEFsLDBoLIABBzRIgARBYIAIoAgBB0ABGDQwMDQsgAEHOEiABEFggAigCAEHRAEcNDAwYCyAAQc8SIAEQWCACKAIAQdIARw0LIAIoAhQEQCAAQQRqQfoRIAJBFGoQWwsMFgsgAEHQEiABEFggAigCAEHTAEcNCgwPCyAAQdESIAEQWCACKAIAQdQARw0JDBQLIABB0hIgARBYIAIoAgBB1QBHDQgMFAsgAEHTEiABEFggAigCAEHWAEcNBwwLCyAAQdQSIAEQWCACKAIAQdcARw0GDAsLIABB1RIgARBYIAIoAgBB2ABHDQUMFQsgAEHWEiABEFggAigCAEHZAEcNBAwPCyAAQdcSIAEQWCACKAIAQdoARw0DDA0LIABB2BIgARBYIAIoAgBB2wBHDQIMBwsgAEHZEiABEFggAigCAEHcAEcNASAAQfoRIAJBPGoQWCACKAIwIgFBAEwNACAAQQRqIQQDQCABQQFrIgAgAigCME8NAyACKAIsIABBAnRqIgMoAgBFDQQgBEH6ESADEFsgAUEBSyEPIAAhASAPDQALCw8LQfDtBUHFmANBlAZBjd4AEAEAC0HFogFBiaIDQbwBQaaIBRABAAtBgYMCQdOZA0G5AkGu9wIQAQALIABB+hEgAkEUahBYCyAAQfoRIAJBEGoQWAsgAEH6ESACQQxqEFgMCgsgAEH6ESACQRxqEFgLIABB+hEgAkEYahBYCyAAQfoRIAJBFGoQWAsgAEH6ESACQRBqEFgPCyAAQfoRIAJBFGoQWAsgAEH6ESACQRBqEFgLIABB+hEgAkEMahBYDwsgAEH6ESACQShqEFgLIABB+hEgAkEkahBYDwsgAEH6ESACQRxqEFggAEH6ESACQRhqEFgPCyAAQfoRIAJBCGoQWA8LIABBBGpB+hEgAkEIahBbC4wCAQV/QZyKCygCAARAQZiKCygCACIABEADQCAAKAIAIQQgACwAH0EASARAIAAoAhQQWgsgACwAE0EASARAIAAoAggQWgsgABBaIAQiAA0ACwtBACEAQZiKC0EANgIAAkBBlIoLKAIAIgNFDQAgA0EETwRAIANBfHEhAgNAIABBAnQiAUGQigsoAgBqQQA2AgBBkIoLKAIAIAFqQQA2AgRBkIoLKAIAIAFqQQA2AghBkIoLKAIAIAFqQQA2AgwgAEEEaiIAIAJHDQALCyADQQNxIgJFDQBBACEBA0BBkIoLKAIAIABBAnRqQQA2AgAgAEEBaiEAIAFBAWoiASACRw0ACwtBnIoLQQA2AgALC2gBBX8jAEEQayICJAAgAkEEakG1/AIQyAEhAUHUiQtBADYCAEH3ESABIAAQAiEAQdSJCygCACEEQdSJC0EANgIAIARBAUcEQCABEMIBGiACQRBqJAAgAA8LEAAhBSABEMIBGiAFEAcAC3wBAX8jAEEgayICJAACQCAAKAIAQQZGBEAgAUUNASACIAEQbDYCHCACIAE2AhggAiACKQIYNwMIIAJBEGogAkEIahBlIAAgAikDEDcCGCACQSBqJAAPC0HSrgZBp7cCQcgRQY6BARABAAtBwoABQae3AkHJEUGOgQEQAQAL4gMBBX8CQAJAAkAgBEEATA0AIAQgACgCCCIFIAAoAgQiCGtBAnVMBEACQCAEIAggAWsiBUECdSIHTARAIAIgBEECdGohBiAIIQUMAQsgAyACIAVqIgZrIQUgAyAGRwRAIAggBiAF/AoAAAsgACAFIAhqIgU2AgQgB0EATA0CCyABIARBAnQiA2ohByAIIAUiBCADayIDSwRAA0AgBCADKAIANgIAIARBBGohBCADQQRqIgMgCEkNAAsLIAAgBDYCBCAFIAdHBEAgBSAFIAdrIgBrIAEgAPwKAAALIAIgBkYNASABIAIgBiACa/wKAAAPCyAIIAAoAgAiBmtBAnUgBGoiA0GAgICABE8NAUH/////AyAFIAZrIgVBAXUiByADIAMgB0kbIAVB/P///wdPGyIHBH8gB0GAgICABE8NAyAHQQJ0EFwFQQALIgkgASAGa0F8cWoiBSACIARBAnQiAvwKAAAgBSEDIAEgBkcEQCABIQQDQCADQQRrIgMgBEEEayIEKAIANgIAIAQgBkcNAAsLIAIgBWohAiAIIAFrIQQgASAIRwRAIAIgASAE/AoAAAsgACAHQQJ0IAlqNgIIIAAgAzYCACAAIAIgBGo2AgQgBkUNACAGEFoLDwsQZAALEGoAC5gUAhR/AX4jAEEwayILJAAgAEGcAWohEQJAAkACQANAAkACQAJAAkACQAJAAkACQCABEKUCKAIEIANLBEAgASADEGktAABFBEAgC0EQaiIFIAAgASADEGkQ/AggAigCACEHIAAoAgAhEiALQRxqIBEgCykDECIZIAUQyxAgCygCHCgCGCEFIBJBqAFqQRBBBBBdIgwgGTcCCCAMQis3AgAgBUEQTwRAIAUtAAANBAsgC0EANgIoIAsgBTYCJCALQQA6ABxB1IkLQQA2AgAgC0EBNgIgQQdB2J0LIAtBHGoiCRACIQVB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRgRAEAAhFCAJEHcgFBAHAAsgDCAFNgIEIAcoAiAiBSAHKAIkIgZJBEAgBSAMNgIAIAcgBUEEajYCICADQQFqIQMMCwsgBSAHKAIcIg5rQQJ1IghBAWoiCkGAgICABE8NCUH/////AyAGIA5rIglBAXUiBiAKIAYgCksbIAlB/P///wdPGyIKBH8gCkGAgICABE8NDCAKQQJ0EFwFQQALIgkgCEECdGoiCCAMNgIAIAhBBGohBiAFIA5HBEADQCAIQQRrIgggBUEEayIFKAIANgIAIAUgDkcNAAsgBygCHCEFCyAHIAkgCkECdGo2AiQgByAGNgIgIAcgCDYCHCAFRQ0IIAUQWiADQQFqIQMMCgsgBEUEQEEUEHIhAkHUiQtBADYCAEHMASALQZLQBRACIQRB1IkLKAIAIRVB1IkLQQA2AgBBASEDIBVBAUYNBEHUiQtBADYCAEHQASACIAQgARAEIQFB1IkLKAIAIRZB1IkLQQA2AgAgFkEBRwRAQQAhA0HUiQtBADYCAEHNASABQbC5B0HOARAIQdSJCygCACEXQdSJC0EANgIAIBdBAUcNAwsQACEFIAQsAAtBAEgEQCAEKAIAEFoLIANFDQ0MDAsCQCABIAMQaSIPLQAARQ0AQeCbCygCACEGIA8QpQIoAgRFDQAgD0EAEGktAAANACALQRxqIgUgD0EAEGkQ7AEgCygCHCAGRw0AIA9BARBpLQAABEAgAigCACEHIAsgACAPQQEQaSIGEKQBIgw2AgwCQCAGKAIoIgZFDQAgACgC0AFFDQAgBSAAIAYQowEgC0EQaiAAKALQAUHgAGogDCALQQxqEHggCygCECIGIAsoAiQ2AhQgBiALKQIcNwIMCyAHKAIgIgUgBygCJCIGSQRAIAUgDDYCACAHIAVBBGo2AiAgA0EBaiEDDAwLIAUgBygCHCIOa0ECdSIIQQFqIgpBgICAgARPDQpB/////wMgBiAOayIJQQF1IgYgCiAGIApLGyAJQfz///8HTxsiCgR/IApBgICAgARPDQ0gCkECdBBcBUEACyIJIAhBAnRqIgggDDYCACAIQQRqIQYgBSAORwRAA0AgCEEEayIIIAVBBGsiBSgCADYCACAFIA5HDQALIAcoAhwhBQsgByAJIApBAnRqNgIkIAcgBjYCICAHIAg2AhwgBUUNCSAFEFogA0EBaiEDDAsLIA8QpQIiDSgCBCIGRQ0FIAZBAWsiB0UNB0EAIQUgB0EDcSIIBEADQCANKAIAIgkgBUECdGogCSAFQQFqIgVBAnRqKAIANgIAIAUgCEcNAAsLIAZBAmtBAksNBgwHCyACKAIAIQcgCyAAIA8QpAEiDDYCDAJAIA8oAigiBkUNACAAKALQAUUNACALQRxqIAAgBhCjASALQRBqIAAoAtABQeAAaiAMIAtBDGoQeCALKAIQIgYgCygCJDYCFCAGIAspAhw3AgwLIAcoAiAiBSAHKAIkIgZJBEAgBSAMNgIAIAcgBUEEajYCICADQQFqIQMMCgsgBSAHKAIcIg5rQQJ1IghBAWoiCkGAgICABE8NCEH/////AyAGIA5rIglBAXUiBiAKIAYgCksbIAlB/P///wdPGyIKBH8gCkGAgICABE8NCyAKQQJ0EFwFQQALIgkgCEECdGoiCCAMNgIAIAhBBGohBiAFIA5HBEADQCAIQQRrIgggBUEEayIFKAIANgIAIAUgDkcNAAsgBygCHCEFCyAHIAkgCkECdGo2AiQgByAGNgIgIAcgCDYCHCAFRQ0HIAUQWgwHCyAAKAIAIAIQqwoaIAtBMGokAA8LAAtB/tAGQbizAkHoBUG4jAQQAQALEAAhBQwHC0GDkwZBiaIDQf0CQfiRARABAAsDQCANKAIAIgggBUECdCIKaiAIIApBBGoiCWooAgA2AgAgDSgCACIIIAlqIAggCkEIaiIJaigCADYCACAJIA0oAgAiCWogCSAKQQxqIghqKAIANgIAIAggDSgCACIJaiAJIAVBBGoiBUECdGooAgA2AgAgBSAHRw0ACwsgBiEFAkAgDSgCCCAHTw0AIA0gBzYCCCANKAIAIQwgDSANKAIMIAdBAnRBBBBdNgIAIA0oAgQiBUUEQEEAIQUMAQtBACEKQQAhECAFQQRPBEAgBUF8cSEIA0AgEEECdCIOIA0oAgBqIAwgDmooAgA2AgAgDkEEciIJIA0oAgBqIAkgDGooAgA2AgAgDkEIciIJIA0oAgBqIAkgDGooAgA2AgAgDkEMciIJIA0oAgBqIAkgDGooAgA2AgAgEEEEaiIQIAhHDQALCyAFQQNxIghFDQADQCAQQQJ0IgkgDSgCAGogCSAMaigCADYCACAQQQFqIRAgCkEBaiIKIAhHDQALCwJAIAUgB08NACAGIAVrQQJrIRhBACEQIAYgBUF/c2pBA3EiBgRAA0AgDSgCACAFQQJ0akEANgIAIAVBAWohBSAQQQFqIhAgBkcNAAsLIBhBA0kNAANAIAVBAnQiBiANKAIAakEANgIAIA0oAgAgBmpBADYCBCANKAIAIAZqQQA2AgggDSgCACAGakEANgIMIAVBBGoiBSAHRw0ACwsgDSAHNgIEIAIoAgAhByALIAAgDxCkASIMNgIMAkAgDygCKCIGRQ0AIAAoAtABRQ0AIAtBHGogACAGEKMBIAtBEGogACgC0AFB4ABqIAwgC0EMahB4IAsoAhAiBiALKAIkNgIUIAYgCykCHDcCDAsgBygCICIFIAcoAiQiBkkEQCAFIAw2AgAgByAFQQRqNgIgIANBAWohAwwDCyAFIAcoAhwiDmtBAnUiCEEBaiIKQYCAgIAETw0BQf////8DIAYgDmsiCUEBdSIGIAogBiAKSxsgCUH8////B08bIgoEfyAKQYCAgIAETw0EIApBAnQQXAVBAAsiCSAIQQJ0aiIIIAw2AgAgCEEEaiEGIAUgDkcEQANAIAhBBGsiCCAFQQRrIgUoAgA2AgAgBSAORw0ACyAHKAIcIQULIAcgCSAKQQJ0ajYCJCAHIAY2AiAgByAINgIcIAVFDQAgBRBaIANBAWohAwwCCyADQQFqIQMMAQsLEGQACxBqAAsgAhBuCyAFEAcAC4UNARR/IwBBIGsiBiQAAkACQAJAAkACQAJAAkACQCACQRBJDQAgAigCEA0AQcQBEFwiBUEIakEAQbwB/AsAIAVCADcCDCAFQQA6AAggBUIANwIAIAVCADcCFEHUiQtBADYCACAGQgA3AhggBkIANwMIQSkgBUEcaiAGQQhqEAIhDUHUiQsoAgAhC0HUiQtBADYCACALQQFGBEAQACEMIAUQWiAMEAcACyAFQgA3AiAgBUIANwJMIAVCADcCYCAFQgA3AowBIAVBQGtCADcCACAFQgA3AjggBUIANwIwIAVCADcCKCAFQYCAgPwDNgJIIAVCADcCVCAFQYCAgPwDNgJcIAVCADcCaCAFQfgAaiIIQgA3AgAgBUGAgID8AzYCcCAFQYQBaiIJQgA3AgAgBSAINgJ0IAUgCTYCgAEgBUIANwKUASAFQgA3AqABIAVBgICA/AM2ApwBIAVCADcCqAEgBUGAgID8AzYCsAEgBUIANwK0ASAFQgA3AboBIAYgBTYCFCAFIAA3AgAgDSACNgIAIAUgBDYCMCABKAIAIgIgASgCBEYNAiAFKAIcIgRBEEkNBCAEKAIQDQQgBCgCFCIEQQdPBEAgBCgCBA0CIAQoAggoAgAhBAwCCyAEDQFBoNYFIQRB2AghCEHdwwYhCQwFC0GBlQZBmpYDQcAAQZjUAhABAAsgBCACKAIIRw0BIAYgBSgCRCIENgIQIAIoAgAhB0HUiQtBADYCAEHmACAGQRhqIgggBUHMAGogByACEAVB1IkLKAIAIQ5B1IkLQQA2AgAgDkEBRg0FIAYoAhggBDYCEEHUiQtBADYCAEHpBSAIIAYoAhQiBUE4aiAGKAIQIAZBEGoQBUHUiQsoAgAhD0HUiQtBADYCACAPQQFGDQUgBigCGCACKQIANwIMQQEhAiABKAIEIAEoAgAiB2tBDG1BAU0NAANAIAUoAhwiCkEQSQ0DIAooAhANA0Gg1gUhBEHYCCEIQd3DBiEJIAooAhQiCkEHSQ0EIAooAgQNBCAKKAIIIAJBAnRqKAIAIAcgAkEMbGoiBCgCCEcNAiAGIAUoAkQiBzYCECAEKAIAIQhB1IkLQQA2AgBB5gAgBkEYaiIJIAVBzABqIAggBBAFQdSJCygCACEQQdSJC0EANgIAIBBBAUYNBiAGKAIYIAc2AhBB1IkLQQA2AgBB6QUgCSAGKAIUIgVBOGogBigCECAGQRBqEAVB1IkLKAIAIRFB1IkLQQA2AgAgEUEBRg0GIAYoAhggBCkCADcCDCACQQFqIgIgASgCBCABKAIAIgdrQQxtSQ0ACwsCQCADKAIAIgcgAygCBCIJRwRAA0ACQCAFKAIoIgIgBSgCLEcEQCACIAcoAgg2AgAgBSACQQRqNgIoDAELAkACQAJAIAIgBSgCJCIBayIDQQJ1IgpBAWoiBEGAgICABE8EQEHUiQtBADYCAEETEAkMAQtB/////wMgA0EBdSIIIAQgBCAISRsgA0H8////B08bIgNFBEBBACEIDAMLIANBgICAgARJDQFB1IkLQQA2AgBBAxAJC0HUiQsoAgAhEkHUiQtBADYCACASQQFHDQkMCgtB1IkLQQA2AgBBBCADQQJ0EAYhCEHUiQsoAgAhE0HUiQtBADYCACATQQFGDQkLIAggCkECdGoiBCAHKAIINgIAIARBBGohCiABIAJHBEADQCAEQQRrIgQgAkEEayICKAIANgIAIAEgAkcNAAsLIAUgCCADQQJ0ajYCLCAFIAo2AiggBSAENgIkIAFFDQAgARBaCyAGIAUoAkQiATYCECAHKAIAIQJB1IkLQQA2AgBB5gAgBkEYaiIDIAVBzABqIAIgBxAFQdSJCygCACEUQdSJC0EANgIAIBRBAUYNAiAGKAIYIAE2AhBB1IkLQQA2AgBB6QUgAyAGKAIUIgVBOGogBigCECAGQRBqEAVB1IkLKAIAIRVB1IkLQQA2AgAgFUEBRg0CIAYoAhggBykCADcCDCAHQQxqIgcgCUcNAAsLIAZBIGokACAFDwsMBAtB1IkLQQA2AgBBDUGB6QNBmpYDQccAQZjUAhAFQdSJCygCACEWQdSJC0EANgIAIBZBAUcNAgwDC0HhlQYhCUHbCSEIQY/iAyEEC0HUiQtBADYCAEENIAlBuLMCIAggBBAFQdSJCygCACEXQdSJC0EANgIAIBdBAUYNAQsACxAAIRggBkEUahDHAiAYEAcAC7cGAQd/AkACQAJAIARBAEwNACAEIAAoAggiByAAKAIEIghrQQxtTARAAkAgBCAIIAFrIgdBDG1MBEAgAiAEQQxsaiEJIAghBQwBCwJAIAMgAiAHaiIJRgRAIAghBQwBCyAJIQYgCCEFA0AgBSAGKQIANwIAIAUgBigCCDYCCCAFQQxqIQUgBkEMaiIGIANHDQALCyAAIAU2AgQgB0EATA0CCyABIARBDGwiBGohByAFIQMgCCAFIARrIgZLBEAgBiEEA0AgAyAEKQIANwIAIAMgBCgCCDYCCCADQQxqIQMgBEEMaiIEIAhJDQALCyAAIAM2AgQgBSAHRwRAA0AgBUEMayIFIAZBDGsiBikCADcCACAFIAYoAgg2AgggASAGRw0ACwsgAiAJRg0BA0AgASACKQIANwIAIAEgAigCCDYCCCABQQxqIQEgAkEMaiICIAlHDQALDAELIAggACgCACIDa0EMbSAEaiIFQdaq1aoBTw0BQdWq1aoBIAcgA2tBDG0iB0EBdCIKIAUgBSAKSRsgB0Gq1arVAE8bIgcEQCAHQdaq1aoBTw0DIAdBDGwQXCEJCyAJIAEgA2tBDG1BDGxqIQMCQCAEQQxsIgRBDGsiCkEMbkEBakEDcSILRQRAIAMhBQwBCyADIQUDQCAFIAIpAgA3AgAgBSACKAIINgIIIAJBDGohAiAFQQxqIQUgBkEBaiIGIAtHDQALCyADIARqIQYgCkEkTwRAA0AgBSACKQIANwIAIAUgAigCCDYCCCAFIAIoAhQ2AhQgBSACKQIMNwIMIAUgAigCIDYCICAFIAIpAhg3AhggBSACKQIkNwIkIAUgAigCLDYCLCACQTBqIQIgBUEwaiIFIAZHDQALCyABIAAoAgAiBEcEQCABIQIDQCADQQxrIgMgAkEMayICKQIANwIAIAMgAigCCDYCCCACIARHDQALIAAoAgQhCAsgASAIRwRAA0AgBiABKQIANwIAIAYgASgCCDYCCCAGQQxqIQYgAUEMaiIBIAhHDQALCyAAIAdBDGwgCWo2AgggACAGNgIEIAAoAgAhASAAIAM2AgAgAUUNACABEFoLDwsQZAALEGoAC+8QASV/IwBBMGsiByQAAkACQAJAAkACQAJAAkACQAJAAkAgAi0AAEUNAEHgnAsoAgAhBCACEKUCKAIERQ0AIAJBABBpLQAADQAgB0EoaiACQQAQaRDsASAHKAIoIARGDQELIAItAABFDQFB6JwLKAIAIQQgAhClAigCBEUNASACQQAQaS0AAA0BIAdBKGogAkEAEGkQ7AEgBygCKCAERw0BCyAAQQA2AgggAEIANwIAQdSJC0EANgIAQc8BIAIQBiEFQdSJCygCACEQQdSJC0EANgIAIBBBAUcEQAJAIAUoAgRBAUYNAEEAIQVBASEIA0BB1IkLQQA2AgBBzwEgAhAGIQZB1IkLKAIAIRFB1IkLQQA2AgAgEUEBRg0EIAggBigCBE8NAUHUiQtBADYCAEHHASACIAgQAiEGQdSJCygCACESQdSJC0EANgIAIBJBAUYNCQJ/AkAgBi0AAA0AIAYtABxFDQAgCEEBRwRAQRQQciEDQdSJC0EANgIAQcwBIAdBHGpBs/0DEAIhBEHUiQsoAgAhAUHUiQtBADYCAEEBIQYCQCABQQFHBEBB1IkLQQA2AgBBxwEgAiAIEAIhAkHUiQsoAgAhAUHUiQtBADYCAAJAIAFBAUYNAEHUiQtBADYCAEHQASADIAQgAhAEIQJB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRg0AQdSJC0EANgIAQc0BIAJBsLkHQc4BEAhB1IkLKAIAIRRB1IkLQQA2AgBBACEGIBRBAUcNDQsQACEFIAQsAAtBAEgEQCAEKAIAEFoLIAYNAQwPCxAAIQULIAMQbgwNC0HUiQtBADYCAEHPASACEAYhFkHUiQsoAgAhFUHUiQtBADYCACAVQQFGDQsgFigCBEECTQRAQRQQciEEQdSJC0EANgIAQcwBIAdBEGpBuRIQAiEDQdSJCygCACEXQdSJC0EANgIAQQEhCCAXQQFGDQhB1IkLQQA2AgBB0AEgBCADIAIQBCECQdSJCygCACEYQdSJC0EANgIAIBhBAUcEQEEAIQhB1IkLQQA2AgBBzQEgAkGwuQdBzgEQCEHUiQsoAgAhGUHUiQtBADYCACAZQQFHDQsLEAAhBSADLAALQQBIBEAgAygCABBaCyAIRQ0NIAQQbgwNC0HUiQtBADYCAEHHASACQQEQAiEGQdSJCygCACEEQdSJC0EANgIAAkAgBEEBRg0AQdSJC0EANgIAQdQBIAdBKGogBhADQdSJCygCACEaQdSJC0EANgIAIBpBAUYNACAHKAIsIQ1BAiEIIAcoAigMAgsQACEFDAwLIAMoAgAhBEHUiQtBADYCAEHoASAHQShqIAQQA0HUiQsoAgAhG0HUiQtBADYCACAbQQFGDQcgBygCLCENIAcoAigLIQ8gAyADKAIAQQFqNgIAQdSJC0EANgIAQccBIAIgCBACIQZB1IkLKAIAIQRB1IkLQQA2AgACQAJAAkACQCAEQQFGDQBB1IkLQQA2AgBB6xEgASAGEAIhDEHUiQsoAgAhHEHUiQtBADYCACAcQQFGDQAgAi0AAEUNA0HgnAsoAgAhDkHUiQtBADYCAEHPASACEAYhHkHUiQsoAgAhHUHUiQtBADYCACAdQQFGDQwgHigCBEUNA0HUiQtBADYCAEHHASACQQAQAiEgQdSJCygCACEfQdSJC0EANgIAIB9BAUYNDCAgLQAADQNB1IkLQQA2AgBBxwEgAkEAEAIhBkHUiQsoAgAhIUHUiQtBADYCACAhQQFGDQxB1IkLQQA2AgBB1AEgB0EoaiAGEANB1IkLKAIAISJB1IkLQQA2AgAgIkEBRg0MIAcoAiggDkcNAyAMQQdJDQMgDCgCBA0DQRQQciEDQdSJC0EANgIAQcwBIAdBBGpBrtABEAIhBEHUiQsoAgAhI0HUiQtBADYCAEEBIQYgI0EBRg0BQdSJC0EANgIAQccBIAIgCBACIQJB1IkLKAIAIQFB1IkLQQA2AgACQCABQQFGDQBB1IkLQQA2AgBB0AEgAyAEIAIQBCECQdSJCygCACEkQdSJC0EANgIAICRBAUYNAEHUiQtBADYCAEHNASACQbC5B0HOARAIQdSJCygCACElQdSJC0EANgIAQQAhBiAlQQFHDQwLEAAhBSAELAALQQBIBEAgBCgCABBaCyAGDQIMDgsQACEFDA0LEAAhBQsgAxBuDAsLIAAoAggiBCAFSwRAIAUgDDYCCCAFIA02AgQgBSAPNgIAIAAgBUEMaiIFNgIEIAhBAWohCAwBCwJAAkAgBSAAKAIAIgtrIglBDG0iDkEBaiIKQdaq1aoBTwRAQdSJC0EANgIAQfIREAlB1IkLKAIAISZB1IkLQQA2AgAgJkEBRg0BDAoLQdWq1aoBIAQgC2tBDG0iBkEBdCIEIAogBCAKSxsgBkGq1arVAE8bIgRB1qrVqgFJDQFB1IkLQQA2AgBBAxAJQdSJCygCACEnQdSJC0EANgIAICdBAUcNCQsQACEFDAsLQdSJC0EANgIAQQQgBEEMbCIGEAYhCkHUiQsoAgAhKEHUiQtBADYCACAoQQFGDQggCSAKaiIJIA02AgQgCSAPNgIAIAogDkEMbGogDDYCCCAJQQxqIQQgBSALRwRAA0AgCUEMayIJIAVBDGsiBSkCADcCACAJIAUoAgg2AgggBSALRw0ACwsgACAGIApqNgIIIAAgBDYCBCAAIAk2AgAgCwRAIAsQWgsgBCEFIAhBAWohCAwACwALIAdBMGokAA8LEAAhBQwHC0Hy7wVBiZoCQfcEQbH1AhABAAsQACEFDAULEAAhBSAEEG4MBAsQACEFDAMLAAsQACEFDAELEAAhBQsgACgCACIBBEAgACABNgIEIAEQWgsgBRAHAAsmACAAKAIAQQZHBEBB0q4GQae3AkGBEkGtzAIQAQALIAAgAToAIAv7IgJDfwJ+IwBBkAFrIgQkAEE4EFwiCEIANwIAIAhCADcCICAIQgA3AhggCEIANwIQIAhCADcCCCAIQoCAgIAgNwIwIAhCgIAENwMoQdSJC0EANgIAIAQgCDYChAFBzwEgARAGIQJB1IkLKAIAIQNB1IkLQQA2AgACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIANBAUYNACACKAIEIQJB1IkLQQA2AgBBxwEgASACQQFrEAIhAkHUiQsoAgAhDUHUiQtBADYCACANQQFGDQAgCCACLQAABH9BAAVBmJ0LKAIAIQNB1IkLQQA2AgBB1AEgBEGIAWogAhADQdSJCygCACEOQdSJC0EANgIAIA5BAUYNASAEKAKIASADRgs6ADBB1IkLQQA2AgBBxwEgAUEBEAIhAkHUiQsoAgAhD0HUiQtBADYCACAPQQFGDQsCQAJAIAItAAANACACLQAcRQ0AQdSJC0EANgIAQccBIAFBARACIQJB1IkLKAIAIRBB1IkLQQA2AgAgEEEBRg0NQdSJC0EANgIAQdQBIARB+ABqIAIQA0HUiQsoAgAhEUHUiQtBADYCACARQQFGDQ0gBCkDeCFFIAhBAToACCAIIEU3AgBBAiEFDAELQQEhBSAAIAAoApQBIgJBAWo2ApQBQdSJC0EANgIAQegBIARBiAFqIAIQA0HUiQsoAgAhEkHUiQtBADYCACASQQFGDQIgCCAEKQOIASJFNwIACwJAIAAoAlQiAiAAKAJYRwRAIAIgRTcCACAAIAJBCGo2AlQMAQsgAiAAKAJQIglrIgNBA3UiCkEBaiIHQYCAgIACTwRAQdSJC0EANgIAQfcAEAlB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRg0NDA8LAkBB/////wEgA0ECdSIGIAcgBiAHSxsgA0H4////B08bIgdFBEBBACEGDAELIAdBgICAgAJPBEBB1IkLQQA2AgBBAxAJQdSJCygCACEUQdSJC0EANgIAIBRBAUcNEAwOC0HUiQtBADYCAEEEIAdBA3QQBiEGQdSJCygCACEVQdSJC0EANgIAIBVBAUYNDQsgBiAKQQN0aiIDIEU3AgAgA0EIaiEKIAIgCUcEQANAIANBCGsiAyACQQhrIgIpAgA3AgAgAiAJRw0ACyAAKAJQIQILIAAgBiAHQQN0ajYCWCAAIAo2AlQgACADNgJQIAJFDQAgAhBaC0HUiQtBADYCAEH0ESABIAUgBEGEAWoQBCECQdSJCygCACEWQdSJC0EANgIAIBZBAUYNC0HUiQtBADYCAEHHASABIAIQAiEYQdSJCygCACEXQdSJC0EANgIAIBdBAUYNCiAYLQAARQ0HQdSJC0EANgIAQccBIAEgAhACIQdB1IkLKAIAIRlB1IkLQQA2AgAgGUEBRg0EAkAgBy0AAEUNAEHInAsoAgAhA0HUiQtBADYCAEHPASAHEAYhG0HUiQsoAgAhGkHUiQtBADYCACAaQQFGDQUgGygCBEUNAEHUiQtBADYCAEHHASAHQQAQAiEdQdSJCygCACEcQdSJC0EANgIAIBxBAUYNBSAdLQAADQBB1IkLQQA2AgBBxwEgB0EAEAIhBUHUiQsoAgAhHkHUiQtBADYCACAeQQFGDQVB1IkLQQA2AgBB1AEgBEGIAWogBRADQdSJCygCACEfQdSJC0EANgIAIB9BAUYNBSAEKAKIASADRw0AQdSJC0EANgIAQQRBFBAGIQVB1IkLKAIAIQNB1IkLQQA2AgACQAJAAkACQCADQQFHBEAgBUIANwIAIAVBADYCECAFQgA3AghB1IkLQQA2AgBBxwEgB0EBEAIhA0HUiQsoAgAhIEHUiQtBADYCACAgQQFGDQNB1IkLQQA2AgBB1AEgBEHwAGogAxADQdSJCygCACEhQdSJC0EANgIAICFBAUYNAyAFIAQpA3AiRTcCACAIKQIAIUYgBUECNgIQIAUgRjcCCCAAKAIAIgsoAsQBIgZFDQsgCygCwAECfyBFpyIJIAZBAWtxIAZpIgpBAU0NABogCSAGIAlLDQAaIAkgBnALIgxBAnRqKAIAIgNFDQsgAygCACIDRQ0LAkAgCkEBTQRAIAZBAWshBgNAAkAgCSADKAIEIgpHBEAgBiAKcSAMRg0BDBALIAMoAgggCUYNAwsgAygCACIDDQALDA0LA0ACQCAJIAMoAgQiCkcEQCAGIApNBH8gCiAGcAUgCgsgDEYNAQwPCyADKAIIIAlGDQILIAMoAgAiAw0ACwwMCyADKAIQRQ0LQRQQciEDQdSJC0EANgIAQcwBIARB5ABqQefeABACIQFB1IkLKAIAISJB1IkLQQA2AgBBASEAICJBAUYNAUHUiQtBADYCAEHQASADIAEgBxAEIQJB1IkLKAIAISNB1IkLQQA2AgAgI0EBRwRAQQAhAEHUiQtBADYCAEHNASACQbC5B0HOARAIQdSJCygCACEkQdSJC0EANgIAICRBAUcNFAsQACECIAEsAAtBAEgEQCABKAIAEFoLIAANAgwECxAAIQIMEQsQACECCyADEG4gBRBaDA8LEAAhAgsgBRBaDA0LAkAgBy0AAEUNAEGQnAsoAgAhA0HUiQtBADYCAEHPASAHEAYhJkHUiQsoAgAhJUHUiQtBADYCACAlQQFGDQUgJigCBEUNAEHUiQtBADYCAEHHASAHQQAQAiEoQdSJCygCACEnQdSJC0EANgIAICdBAUYNBSAoLQAADQBB1IkLQQA2AgBBxwEgB0EAEAIhBUHUiQsoAgAhKUHUiQtBADYCACApQQFGDQVB1IkLQQA2AgBB1AEgBEGIAWogBRADQdSJCygCACEqQdSJC0EANgIAICpBAUYNBSAEKAKIASADRw0AQdSJC0EANgIAQccBIAdBARACIQNB1IkLKAIAIQVB1IkLQQA2AgACQAJAIAVBAUYNAEHUiQtBADYCAEHUASAEQdgAaiADEANB1IkLKAIAIStB1IkLQQA2AgAgK0EBRg0AIAggBCkDWDcCDEHUiQtBADYCAEHHASAHQQIQAiEDQdSJCygCACEsQdSJC0EANgIAICxBAUYNAUHUiQtBADYCAEHUASAEQdAAaiADEANB1IkLKAIAIS1B1IkLQQA2AgAgLUEBRg0BIAggBCkDUDcCFAwJCxAAIQIMDgsQACECDA0LQdSJC0EANgIAQc8BIAcQBiEBQdSJCygCACEuQdSJC0EANgIAIC5BAUYNBAJAIAEoAgRFDQBB1IkLQQA2AgBBxwEgB0EAEAIhAUHUiQsoAgAhAkHUiQtBADYCAAJAAkACQCACQQFGDQBB1IkLQQA2AgBB1AEgBEGIAWogARADQdSJCygCACEvQdSJC0EANgIAIC9BAUYNACAEKAKIAUGQnAsoAgBHDQNBFBByIQNB1IkLQQA2AgBBzAEgBEHEAGpB6KsDEAIhAUHUiQsoAgAhMEHUiQtBADYCAEEBIQAgMEEBRg0BQdSJC0EANgIAQdABIAMgASAHEAQhAkHUiQsoAgAhMUHUiQtBADYCACAxQQFHBEBB1IkLQQA2AgBBzQEgAkGwuQdBzgEQCEHUiQsoAgAhMkHUiQtBADYCAEEAIQAgMkEBRw0SCxAAIQIgASwAC0EASARAIAEoAgAQWgsgAA0CDBALEAAhAgwPCxAAIQILIAMQbgwNC0HUiQtBADYCAEH0ESAHQQEgBEGEAWoQBCEKQdSJCygCACEBQdSJC0EANgIAAn8CQAJAAkACQCABQQFHBEAgACgCBCEBQdSJC0EANgIAQQwgAUEgQQgQBCECQdSJCygCACEzQdSJC0EANgIAIDNBAUYNASACQgA3AgQgAkEONgIAIAJCADcCDCACQgA3AhQgAkEIaiEBIAgoAjRBA0cNAiAEQQM2AjggBEIANwMoIAEgBEEoaiIDRw0DQQAMBQsQACECDBELEAAhAgwQCyAEQQI2AiAgBEEANgIQQQAgBEEQaiIDIAFGDQIaIAEQWSEBQdSJC0EANgIAQcAAIAEgAxACGkHUiQsoAgAhNEHUiQtBADYCACA0QQFHDQEQACECIAMQWRoMDwsgARBZIQFB1IkLQQA2AgBBwAAgASAEQShqIgMQAhpB1IkLKAIAITVB1IkLQQA2AgAgNUEBRg0FCyACKAIYCyEFIAIgBTYCBCADEFkaIAAgACgCmAEiAUEBajYCmAFB1IkLQQA2AgBB6AEgBEGIAWogARADQdSJCygCACEBQdSJC0EANgIAAkAgAUEBRwRAIAgpAwAhRkHUiQtBADYCACAEKQOIASFFQQRBKBAGIQFB1IkLKAIAITZB1IkLQQA2AgAgNkEBRg0BIAFCADcCGCABQgA3AgggAUIANwIQIAEgRTcCACABQgA3AiAgASACNgIYIAEgRjcCDCAEIAE2AgwCQCAAKAJgIgIgACgCZEcEQCACIEU3AgAgACACQQhqNgJgDAELIAIgACgCXCIJayIDQQN1IgtBAWoiBUGAgICAAk8EQEHUiQtBADYCAEH3ABAJQdSJCygCACE3QdSJC0EANgIAIDdBAUcNEQwGCwJAQf////8BIANBAnUiBiAFIAUgBkkbIANB+P///wdPGyIGRQRAQQAhBQwBCyAGQYCAgIACTwRAQdSJC0EANgIAQQMQCUHUiQsoAgAhOEHUiQtBADYCACA4QQFHDRIMBwtB1IkLQQA2AgBBBCAGQQN0EAYhBUHUiQsoAgAhOUHUiQtBADYCACA5QQFGDQYLIAUgC0EDdGoiAyBFNwIAIANBCGohCyACIAlHBEADQCADQQhrIgMgAkEIayICKQIANwIAIAIgCUcNAAsgACgCXCECCyAAIAUgBkEDdGo2AmQgACALNgJgIAAgAzYCXCACRQ0AIAIQWgtB1IkLQQA2AgBB7gEgByAKIARBDGoiAhAIQdSJCygCACE6QdSJC0EANgIAIDpBAUYNBCAIIAEoAiAgASgCHGutNwMgIAAoAgAhAUHUiQtBADYCAEHvASABIAIQA0HUiQsoAgAhO0HUiQtBADYCACA7QQFGDQQgACgCACEAQdSJC0EANgIAQTMgACAEQYQBahADQdSJCygCACE8QdSJC0EANgIAIDxBAUYNBCAEKAIMIgBFDQogACgCHCIBBEAgACABNgIgIAEQWgsgABBaDAoLEAAhAgwNCxAAIQIMDAsQACECDAsLEAAhAgwKCxAAIQIgBEEMahCoAwwJCxAAIQIgBEEoahBZGgwICxAAIQIMBwtB1IkLQQA2AgBB9wEgCyAFEAIaQdSJCygCACE9QdSJC0EANgIAID1BAUcNABAAIQIMBgsgAkEBaiECC0HUiQtBADYCAEGBAiABIAIgBEGEAWoQBCECQdSJCygCACE+QdSJC0EANgIAID5BAUYNAiAILQAwIQNB1IkLQQA2AgBBzwEgARAGIUBB1IkLKAIAIT9B1IkLQQA2AgAgP0EBRg0CIEAoAgQgAiADakcEQEEUEHIhAEHUiQtBADYCAEHMASAEQa0VEAIhA0HUiQsoAgAhQUHUiQtBADYCAEEBIQUgQUEBRg0CQdSJC0EANgIAQccBIAEgAhACIQFB1IkLKAIAIQJB1IkLQQA2AgACQCACQQFGDQBB1IkLQQA2AgBB0AEgACADIAEQBCEBQdSJCygCACFCQdSJC0EANgIAIEJBAUYNAEHUiQtBADYCAEHNASABQbC5B0HOARAIQdSJCygCACFDQdSJC0EANgIAQQAhBSBDQQFHDQcLEAAhAiADLAALQQBIBEAgAygCABBaCyAFRQ0FIAAQbgwFCyAAKAIAIQBB1IkLQQA2AgBBMyAAIARBhAFqEANB1IkLKAIAIURB1IkLQQA2AgAgREEBRg0CCyAEKAKEASIABEAgABBaCyAEQZABaiQADwsQACECIAAQbgwCCxAAIQIMAQsQACECCyAEKAKEASIABEAgABBaCyACEAcACwALowYCC38BfiMAQTBrIgMkAAJAAkACQAJAAkAgACABIAIQyBAiBCAAEKUCKAIERgRAQRQQciECQdSJC0EANgIAQcwBIANBGGpBvKUBEAIhA0HUiQsoAgAhB0HUiQtBADYCAEEBIQEgB0EBRg0BQdSJC0EANgIAQdABIAIgAyAAEAQhAEHUiQsoAgAhCEHUiQtBADYCACAIQQFHBEBBACEBQdSJC0EANgIAQc0BIABBsLkHQc4BEAhB1IkLKAIAIQlB1IkLQQA2AgAgCUEBRw0GCxAAIQAgAywAC0EASARAIAMoAgAQWgsgAUUNBCACEG4MBAsgA0EkaiIBIAAgBBBpIgUQmgRB1IkLQQA2AgAgAUEKEO4EIQ5B1IkLKAIAIQFB1IkLQQA2AgACQAJAAkACQCABQQFHBEAgAywAL0EASARAIAMoAiQQWgsgBEEBaiEBIAIoAgAgDjcDICACKAIAIgYoAjRBA0cEQCAGKQMgQaDxACAFEMoQCyABIAAQpQIoAgRHDQEgAigCAEJ/NwMoDAILEAAhACADLAAvQQBODQcgAygCJBBaDAcLIANBJGoiBSAAIAEQaSIGEJoEQdSJC0EANgIAIAVBChDuBCEOQdSJCygCACEKQdSJC0EANgIAIApBAUYNASADLAAvQQBIBEAgAygCJBBaCyAEQQJqIQEgAigCACAONwMoIAIoAgAiAigCNEEDRg0AIAIpAyhCgYAEWg0CCyADQTBqJAAgAQ8LEAAhACADLAAvQQBODQQgAygCJBBaDAQLQRQQciEEQdSJC0EANgIAQcwBIANBDGpBjZYFEAIhAkHUiQsoAgAhC0HUiQtBADYCAEEBIQEgC0EBRg0BQdSJC0EANgIAQf0BIAQgAiAAIAYQDSEAQdSJCygCACEMQdSJC0EANgIAIAxBAUcEQEEAIQFB1IkLQQA2AgBBzQEgAEGwuQdBzgEQCEHUiQsoAgAhDUHUiQtBADYCACANQQFHDQULEAAhACACLAALQQBIBEAgAigCABBaCyABRQ0DDAILEAAhACACEG4MAgsQACEACyAEEG4LIAAQBwsAC3QCBH8BfiMAQRBrIgMkACADQQRqQevqAhDIASECQdSJC0EANgIAQfMRIAIgACABECOtIwGtQiCGhCEGQdSJCygCACEEQdSJC0EANgIAIARBAUcEQCACEMIBGiADQRBqJAAgBg8LEAAhBSACEMIBGiAFEAcAC/kEAQh/IwBBIGsiBCQAAkACQCABKAIEIAEtAAsiBSAFwCIIQQBIGyIHQQJqIgVB8P///wdJBEACQAJAIAVBC08EQCAFQQ9yQQFqIgkQXCEGIAQgBTYCFCAEIAY2AhAgBCAJQYCAgIB4cjYCGAwBCyAEQQA2AhggBEIANwMQIAQgBToAGyAEQRBqIQYgB0UNAQsgBiABKAIAIAEgCEEASBsgB/wKAAALIAYgB2oiAUEAOgACIAFBusAAOwAAQdSJC0EANgIAQd0RIARBBGoiASACEANB1IkLKAIAIQJB1IkLQQA2AgACQAJAAkACQCACQQFHBEBB1IkLQQA2AgBBjAIgBEEQaiAEKAIEIAEgBC0ADyIBwEEASCICGyAEKAIIIAEgAhsQBCEBQdSJCygCACEKQdSJC0EANgIAIApBAUYNASABKAIEIQUgASgCACECIAQgAS0ACjoAHiAEIAEvAQg7ARwgAUIANwIAIAEsAAshBiABQQA2AgggAygCJCEHIAMoAiAhAyAGQQBODQZB1IkLQQA2AgBB1AAgACACIAUQCEHUiQsoAgAhC0HUiQtBADYCACALQQFGDQIgACAHNgIQIAAgAzYCDCACEFoMBwsQACEBDAMLEAAhAQwBCxAAIQEgAhBaCyAELAAPQQBODQAgBCgCBBBaCyAELAAbQQBIBEAgBCgCEBBaCyABEAcACxDqAQALIAAgBTYCBCAAIAI2AgAgACAELwEcOwEIIAAgBC0AHjoACiAAIAc2AhAgACADNgIMIAAgBjoACwsgBCwAD0EASARAIAQoAgQQWgsgASwAC0EASARAIAEoAgAQWgsgBEEgaiQAIAALwicCU38BfiMAQdAAayIIJAAgCEEANgI8IAhCADcCNEHUiQtBADYCAEHPASABEAYhBkHUiQsoAgAhBUHUiQtBADYCAAJAAkACQAJAAkACQAJAAkAgBUEBRg0AIAYoAgQgAk0NAkHUiQtBADYCAEHHASABIAIQAiEKQdSJCygCACESQdSJC0EANgIAIBJBAUYNACAKLQAARQ0CQdicCygCACEJQdSJC0EANgIAQc8BIAoQBiEUQdSJCygCACETQdSJC0EANgIAIBNBAUYNACAUKAIERQ0CQdSJC0EANgIAQccBIApBABACIRZB1IkLKAIAIRVB1IkLQQA2AgAgFUEBRg0AIBYtAAANAkHUiQtBADYCAEHHASAKQQAQAiEGQdSJCygCACEXQdSJC0EANgIAIBdBAUYNAEHUiQtBADYCAEHUASAIQUBrIgogBhADQdSJCygCACEYQdSJC0EANgIAIBhBAUYNACAIKAJAIAlHDQJB1IkLQQA2AgBBxwEgASACEAIhDEHUiQsoAgAhGUHUiQtBADYCACAZQQFGDQECQAJAIAwtAABFDQBB2JwLKAIAIQlB1IkLQQA2AgBBzwEgDBAGIRtB1IkLKAIAIRpB1IkLQQA2AgAgGkEBRg0DIBsoAgRFDQBB1IkLQQA2AgBBxwEgDEEAEAIhHUHUiQsoAgAhHEHUiQtBADYCACAcQQFGDQMgHS0AAA0AQdSJC0EANgIAQccBIAxBABACIQZB1IkLKAIAIR5B1IkLQQA2AgAgHkEBRg0DQdSJC0EANgIAQdQBIAogBhADQdSJCygCACEfQdSJC0EANgIAIB9BAUYNAyAIKAJAIAlGDQELQdSJC0EANgIAQQ1BrfAFQYmaAkGkBUHuuwMQBUHUiQsoAgAhIEHUiQtBADYCACAgQQFGDQIMCAtB1IkLQQA2AgBBzwEgDBAGISJB1IkLKAIAISFB1IkLQQA2AgAgIUEBRg0BICIoAgRBAkcEQEEUEHIhBkHUiQtBADYCAEHMASAIQUBrQa69BBACIQJB1IkLKAIAISNB1IkLQQA2AgBBASELICNBAUYNBUHUiQtBADYCAEHQASAGIAIgDBAEIQFB1IkLKAIAISRB1IkLQQA2AgAgJEEBRwRAQQAhC0HUiQtBADYCAEHNASABQbC5B0HOARAIQdSJCygCACElQdSJC0EANgIAICVBAUcNCQsQACEHIAIsAAtBAEgEQCACKAIAEFoLIAsNBgwHC0HUiQtBADYCAEHHASAMQQEQAiEGQdSJCygCACEmQdSJC0EANgIAICZBAUYNAUHUiQtBADYCAEHvESAAIAYQAiEGQdSJCygCACEnQdSJC0EANgIAICdBAUYNAQJAIAZBEE8EQCAGKAIQRQ0BC0EUEHIhBkHUiQtBADYCAEHMASAIQUBrQaKABBACIQJB1IkLKAIAIShB1IkLQQA2AgBBASELIChBAUYNBEHUiQtBADYCAEHQASAGIAIgDBAEIQFB1IkLKAIAISlB1IkLQQA2AgAgKUEBRwRAQQAhC0HUiQtBADYCAEHNASABQbC5B0HOARAIQdSJCygCACEqQdSJC0EANgIAICpBAUcNCQsQACEHIAIsAAtBAEgEQCACKAIAEFoLIAtFDQcMBgsgAkEBaiECIAMgBjYCAEEBIREMAgsQACEHDAULEAAhBwwECyAIQQA2AjAgAiEMA0BB1IkLQQA2AgBBzwEgARAGIQZB1IkLKAIAIQVB1IkLQQA2AgACQAJAAkACQAJAAkAgBUEBRg0AIAwgBigCBE8NBEHUiQtBADYCAEHHASABIAwQAiEJQdSJCygCACErQdSJC0EANgIAICtBAUYNACAJLQAARQ0EQeCcCygCACEKQdSJC0EANgIAQc8BIAkQBiEtQdSJCygCACEsQdSJC0EANgIAICxBAUYNACAtKAIERQ0EQdSJC0EANgIAQccBIAlBABACIS9B1IkLKAIAIS5B1IkLQQA2AgAgLkEBRg0AIC8tAAANBEHUiQtBADYCAEHHASAJQQAQAiEGQdSJCygCACEwQdSJC0EANgIAIDBBAUYNAEHUiQtBADYCAEHUASAIQUBrIgkgBhADQdSJCygCACExQdSJC0EANgIAIDFBAUYNACAIKAJAIApHDQRB1IkLQQA2AgBBxwEgASAMEAIhBkHUiQsoAgAhMkHUiQtBADYCACAyQQFGDQFB1IkLQQA2AgBB4REgCSAAIAYgCEEwahAFQdSJCygCACEzQdSJC0EANgIAIDNBAUYNASAEKAIEIQVB1IkLQQA2AgBB4hEgBCAFIAgoAkAiCiAIKAJEIg4gDiAKa0EMbRAMQdSJCygCACE0QdSJC0EANgIAIDRBAUYNAyAKIQkgCiAORw0CDAULEAAhBwwJCxAAIQcMCAsDQAJAIAkoAgghEAJAIAcgC0cEQCAHIBA2AgAMAQsCQAJAAkAgByANayIPQQJ1IgZBAWoiC0GAgICABE8EQEHUiQtBADYCAEETEAkMAQtB/////wMgD0EBdSIFIAsgBSALSxsgD0H8////B08bIg9FBEBBACELDAMLIA9BgICAgARJDQFB1IkLQQA2AgBBAxAJC0HUiQsoAgAhNUHUiQtBADYCACA1QQFHDQ0MBQtB1IkLQQA2AgBBBCAPQQJ0EAYhC0HUiQsoAgAhNkHUiQtBADYCACA2QQFGDQILIAsgBkECdGoiBSAQNgIAIAUhBiAHIA1HBEADQCAGQQRrIgYgB0EEayIHKAIANgIAIAcgDUcNAAsLIA9BAnQgC2ohCyANBEAgDRBaCyAGIQ0gBSEHCyAHQQRqIQcgDiAJQQxqIglHDQEMBAsLCxAAIQcgCkUNBiAKEFoMBgtB1IkLQQA2AgBBzwEgARAGIQZB1IkLKAIAIQVB1IkLQQA2AgACQAJAAkAgBUEBRg0AIAwgBigCBE8NAkHUiQtBADYCAEHHASABIAwQAiEJQdSJCygCACE3QdSJC0EANgIAIDdBAUYNACAJLQAARQ0CQfCcCygCACEKQdSJC0EANgIAQc8BIAkQBiE5QdSJCygCACE4QdSJC0EANgIAIDhBAUYNACA5KAIERQ0CQdSJC0EANgIAQccBIAlBABACITtB1IkLKAIAITpB1IkLQQA2AgAgOkEBRg0AIDstAAANAkHUiQtBADYCAEHHASAJQQAQAiEGQdSJCygCACE8QdSJC0EANgIAIDxBAUYNAEHUiQtBADYCAEHUASAIQUBrIgkgBhADQdSJCygCACE9QdSJC0EANgIAID1BAUYNACAIKAJAIApHDQJB1IkLQQA2AgBBxwEgASAMEAIhBkHUiQsoAgAhBUHUiQtBADYCAAJAAkAgBUEBRg0AQdSJC0EANgIAQfARIAkgACAGEAhB1IkLKAIAIT5B1IkLQQA2AgAgPkEBRg0AQdSJC0EANgIAQfERIAhBNGpBACAIKAJAIgYgCCgCRCIFIAUgBmtBAnUQDEHUiQsoAgAhP0HUiQtBADYCACA/QQFGDQEgBgRAIAYQWgsDQEHUiQtBADYCAEHPASABEAYhBkHUiQsoAgAhBUHUiQtBADYCAAJAAkAgBUEBRg0AIAxBAWoiDCAGKAIETw0GQdSJC0EANgIAQccBIAEgDBACIQpB1IkLKAIAIUBB1IkLQQA2AgAgQEEBRg0AQQEhDiAKLQAARQ0HQfCcCygCACEJQdSJC0EANgIAQc8BIAoQBiFCQdSJCygCACFBQdSJC0EANgIAIEFBAUYNACBCKAIERQ0HQdSJC0EANgIAQccBIApBABACIURB1IkLKAIAIUNB1IkLQQA2AgAgQ0EBRg0AIEQtAAANB0HUiQtBADYCAEHHASAKQQAQAiEGQdSJCygCACFFQdSJC0EANgIAIEVBAUYNAEHUiQtBADYCAEHUASAIQUBrIAYQA0HUiQsoAgAhRkHUiQtBADYCACBGQQFHDQELEAAhBwwMCyAIKAJAIAlHDQRB1IkLQQA2AgBBxwEgASAMEAIhBkHUiQsoAgAhBUHUiQtBADYCAAJAIAVBAUYNAEHUiQtBADYCAEHwESAIQUBrIAAgBhAIQdSJCygCACFHQdSJC0EANgIAIEdBAUYNAEHUiQtBADYCAEHxESAIQTRqIAgoAjggCCgCQCIGIAgoAkQiBSAFIAZrQQJ1EAxB1IkLKAIAIUhB1IkLQQA2AgAgSEEBRg0DIAZFDQEgBhBaDAELCxAAIQcMCgsQACEHDAkLEAAhByAGRQ0IIAYQWgwICxAAIQcMBwtBASEOC0HUiQtBADYCAEHhACAIQSxqIA0gBxAEIQlB1IkLKAIAIQVB1IkLQQA2AgACQCAFQQFGDQBB1IkLQQA2AgBB4QAgCEEoaiAIKAI0Ig8gCCgCOBAEIUpB1IkLKAIAIUlB1IkLQQA2AgAgSUEBRg0AIA5B/wFxIQsgSigCACEKIAkoAgAhBgJAAkACQAJAAkACQAJAAkAgEQRAIAtFDQEgAygCACIFQRBJDQMgBSgCEA0DIAUpAhQiWKcgBkYgCiBYQiCIp0ZxDQFBFBByIQNB1IkLQQA2AgBBzAEgCEEMakGthAMQAiEEQdSJCygCACFLQdSJC0EANgIAQQEhCyBLQQFGDQRB1IkLQQA2AgBBxwEgASACEAIhAUHUiQsoAgAhAEHUiQtBADYCAAJAIABBAUYNAEHUiQtBADYCAEHQASADIAQgARAEIQFB1IkLKAIAIUxB1IkLQQA2AgAgTEEBRg0AQdSJC0EANgIAQc0BIAFBsLkHQc4BEAhB1IkLKAIAIU1B1IkLQQA2AgBBACELIE1BAUcNEQsQACEHIAQsAAtBAEgEQCAEKAIAEFoLIAsNBQwPC0HUiQtBADYCACAIIAatIAqtQiCGhCJYNwMYIAggWDcDAEEpIAhBJGogCBACIQJB1IkLKAIAIU5B1IkLQQA2AgAgTkEBRg0BIAMgAigCADYCAAsgACgCDCIQIQcgECAAKAIQIgZGIgUNBCADKAIAIQEDQCAHKAIAIAFGDQUgB0EEaiIHIAZHDQALDAULEAAhBwwMC0HUiQtBADYCAEENQeGVBkG4swJB2wlBj+IDEAVB1IkLKAIAIU9B1IkLQQA2AgAgT0EBRw0MEAAhBwwLCxAAIQcLIAMQbgwJCyAGIAdHDQELIAAoAhQgBkcEQCAGIAMoAgA2AgAgACAGQQRqNgIQDAELIAYgEGsiCkECdSICQQFqIglBgICAgARPBEBB1IkLQQA2AgBBjAEQCUHUiQsoAgAhUEHUiQtBADYCACBQQQFHDQkMAgsCQEH/////AyAKQQF1IgEgCSABIAlLGyAKQfz///8HTxsiCUUEQEEAIQ4MAQsgCUGAgICABE8EQEHUiQtBADYCAEEDEAlB1IkLKAIAIVFB1IkLQQA2AgAgUUEBRw0KDAMLQdSJC0EANgIAQQQgCUECdBAGIQ5B1IkLKAIAIVJB1IkLQQA2AgAgUkEBRg0CCyAOIAJBAnRqIgcgAygCADYCACAHQQRqIQEgBUUEQANAIAdBBGsiByAGQQRrIgYoAgA2AgAgBiAQRw0ACwsgACAOIAlBAnRqNgIUIAAgATYCECAAIAc2AgwgEEUNACAQEFoLAkACQCARIAtFcUUNAAJAIAMoAgAiAEEQTwRAIAAoAhBFDQELQdSJC0EANgIAQQ1Bq5UGQYmaAkHvBUHG4AMQBUHUiQsoAgAhU0HUiQtBADYCACBTQQFHDQoQACEHDAkLIAggACgCFCIANgIIAn8CQCAAQQdJDQAgACgCBA0AIAAoAgwgACgCCGtBAnUMAQsgAEEARwsiBUUNAEEAIQsDQAJAAkAgCCgCCCIAQQdJDQAgACgCBA0AIAAoAgggC0ECdGohBgwBCyAABEAgCEEIaiEGIAtFDQELQdSJC0EANgIAQQ1B3cMGQbizAkHYCEGg1gUQBUHUiQsoAgAhVEHUiQtBADYCACBUQQFHDQsQACEHDAoLQdSJC0EANgIAQegBIAhBQGsgCxADQdSJCygCACFVQdSJC0EANgIAIFVBAUYNAgJAIAQoAgQiByAEKAIIIgBJBEAgCCkDQCFYIAcgBigCADYCCCAHIFg3AgAgBCAHQQxqNgIEDAELAkACQCAHIAQoAgAiCmsiA0EMbSICQQFqIglB1qrVqgFPBEBB1IkLQQA2AgBB8hEQCQwBC0HVqtWqASAAIAprQQxtIgFBAXQiACAJIAAgCUsbIAFBqtWq1QBPGyIAQdaq1aoBSQ0BQdSJC0EANgIAQQMQCQtB1IkLKAIAIVZB1IkLQQA2AgAgVkEBRw0MEAAhBwwLC0HUiQtBADYCAEEEIABBDGwiARAGIQlB1IkLKAIAIVdB1IkLQQA2AgAgV0EBRg0DIAYoAgAhACADIAlqIgYgCCkDQDcCACAJIAJBDGxqIAA2AgggBkEMaiEAIAcgCkcEQANAIAZBDGsiBiAHQQxrIgcpAgA3AgAgBiAHKAIINgIIIAcgCkcNAAsLIAQgASAJajYCCCAEIAA2AgQgBCAGNgIAIApFDQAgChBaCyALQQFqIgsgBUcNAAsgCCgCNCEPCyAPBEAgCCAPNgI4IA8QWgsgDQRAIA0QWgsgCEHQAGokACAMDwsQACEHDAYLEAAhBwwFCyAKBEAgChBaCyAMQQFqIQxBASEODAALAAsQACEHDAELEAAhBwsgBhBuCyAIKAI0IgAEQCAAEFoLIA0EQCANEFoLIAcQBwALAAtpAAJAAkAgACgCAEEGRgRAIAAoAgwgAU0NASACRQ0CIAAoAgggAUECdGogAjYCAA8LQdKuBkGntwJB3BFBhJYBEAEAC0GGjAZBp7cCQd0RQYSWARABAAtBqfYBQae3AkHeEUGElgEQAQAL/CoCUH8BfiMAQbABayIHJABBJBBcIgpCADcCACAKQQA2AiAgCkIANwIYIApCADcCECAKQgA3AghB1IkLQQA2AgBBxwEgAUEBEAIhA0HUiQsoAgAhBEHUiQtBADYCAAJAAkACQCAEQQFGDQACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAIAMtAAANAEHUiQtBADYCAEHHASABQQEQAiEDQdSJCygCACENQdSJC0EANgIAIA1BAUYNFCADLQAADQAgAy0AHEUNAEHUiQtBADYCAEHHASABQQEQAiELQdSJCygCACEDQdSJC0EANgIAAkACQAJAIANBAUYNAEHUiQtBADYCAEHUASAHQZgBaiALEANB1IkLKAIAIQ5B1IkLQQA2AgAgDkEBRg0AIAcpA5gBIVMgCkEBOgAIIAogUzcCACAAKAIAIgUoAtACIgZFBEBBAiEJDAULIFOnIQQCQCAGaSIIQQFNBEAgBkEBayAEcSEDDAELIAQiAyAGSQ0AIAMgBnAhAwtBAiEJIAUoAswCIANBAnRqKAIAIgVFDQQgBSgCACIFRQ0EAkAgCEEBTQRAIAZBAWshBgNAAkAgBCAFKAIEIghHBEAgBiAIcSADRw0JDAELIAUoAgggBEYNAwsgBSgCACIFDQALDAYLA0ACQCAEIAUoAgQiCEcEQCAGIAhNBH8gCCAGcAUgCAsgA0cNCAwBCyAFKAIIIARGDQILIAUoAgAiBQ0ACwwFCyAFKAIQRQ0EQRQQciECQdSJC0EANgIAQcwBIAdBjAFqQfWtAxACIQFB1IkLKAIAIQ9B1IkLQQA2AgBBASEAIA9BAUYNAUHUiQtBADYCAEHQASACIAEgCxAEIQNB1IkLKAIAIRBB1IkLQQA2AgAgEEEBRwRAQQAhAEHUiQtBADYCAEHNASADQbC5B0HOARAIQdSJCygCACERQdSJC0EANgIAIBFBAUcNGgsQACEFIAEsAAtBAEgEQCABKAIAEFoLIAANAgwYCxAAIQUMFwsQACEFCyACEG4MFQsgACgCiAEhA0HUiQtBADYCAEHoASAHQaABaiADEANB1IkLKAIAIRJB1IkLQQA2AgBBASEJIBJBAUcEQCAKIAcpA6ABIlM3AgAgACgCACIFKALQAiIGRQ0BIFOnIQQCQCAGaSIIQQFNBEAgBkEBayAEcSEDDAELIAQiAyAGSQ0AIAMgBnAhAwsgBSgCzAIgA0ECdGooAgAiBUUNASAFKAIAIgVFDQECQCAIQQFNBEAgBkEBayEJA0ACQCAEIAUoAgQiBkcEQCAGIAlxIANGDQFBASEJDAYLIAUoAgggBEYNAwsgBSgCACIFDQALQQEhCQwDCwNAAkAgBCAFKAIEIghHBEAgBiAITQR/IAggBnAFIAgLIANGDQEMBQsgBSgCCCAERg0CCyAFKAIAIgUNAAsMAgtBASEJIAUoAhBFDQFBiSAhBUHn6QUMAgsQACEFDBQLIAAgACgCiAFBAWo2AogBAkAgACgCeCIFIAAoAnxHBEAgBSBTNwIAIAAgBUEIajYCeAwBCyAFIAAoAnQiCGsiA0EDdSILQQFqIgRBgICAgAJPBEBB1IkLQQA2AgBB9wAQCUHUiQsoAgAhE0HUiQtBADYCACATQQFGDRQMFgsCQEH/////ASADQQJ1IgYgBCAEIAZJGyADQfj///8HTxsiBkUEQEEAIQMMAQsgBkGAgICAAk8EQEHUiQtBADYCAEEDEAlB1IkLKAIAIRRB1IkLQQA2AgAgFEEBRw0XDBULQdSJC0EANgIAQQQgBkEDdBAGIQNB1IkLKAIAIRVB1IkLQQA2AgAgFUEBRg0UCyADIAtBA3RqIgQgUzcCACAEQQhqIQsgBSAIRwRAA0AgBEEIayIEIAVBCGsiBSkCADcCACAFIAhHDQALIAAoAnQhBQsgACADIAZBA3RqNgJ8IAAgCzYCeCAAIAQ2AnQgBUUNACAFEFoLQdSJC0EANgIAQc8BIAEQBiEDQdSJCygCACEWQdSJC0EANgIAIBZBAUYNEiAJIAMoAgRPDQJB1IkLQQA2AgBBxwEgASAJEAIhA0HUiQsoAgAhF0HUiQtBADYCACAXQQFGDRIgAy0AAEUNAkGQnAsoAgAhBEHUiQtBADYCAEHPASADEAYhGUHUiQsoAgAhGEHUiQtBADYCACAYQQFGDRIgGSgCBEUNAkHUiQtBADYCAEHHASADQQAQAiEbQdSJCygCACEaQdSJC0EANgIAIBpBAUYNEiAbLQAADQJB1IkLQQA2AgBBxwEgA0EAEAIhA0HUiQsoAgAhHEHUiQtBADYCACAcQQFGDRJB1IkLQQA2AgBB1AEgB0GgAWogAxADQdSJCygCACEdQdSJC0EANgIAIB1BAUYNEiAHKAKgASAERw0CIAINAUGQICEFQZbLBgshAEHUiQtBADYCAEENIABBiZoCIAVB7a4DEAVB1IkLKAIAIR5B1IkLQQA2AgAgHkEBRw0TDBELQdSJC0EANgIAQccBIAEgCRACIQJB1IkLKAIAIR9B1IkLQQA2AgAgH0EBRg0PQdSJC0EANgIAQc8BIAIQBiEhQdSJCygCACEgQdSJC0EANgIAICBBAUYNDyAhKAIEQQNHBEBBFBByIQNB1IkLQQA2AgBBzAEgB0GAAWpBkOAAEAIhAUHUiQsoAgAhBEHUiQtBADYCAEEBIQACQCAEQQFHBEBB1IkLQQA2AgBB0AEgAyABIAIQBCECQdSJCygCACEiQdSJC0EANgIAICJBAUcEQEEAIQBB1IkLQQA2AgBBzQEgAkGwuQdBzgEQCEHUiQsoAgAhI0HUiQtBADYCACAjQQFHDRYLEAAhBSABLAALQQBIBEAgASgCABBaCyAADQEMFAsQACEFCyADEG4MEgtB1IkLQQA2AgBBxwEgAkEBEAIhA0HUiQsoAgAhJEHUiQtBADYCACAkQQFGDQ8CQCADLQAARQRAQdSJC0EANgIAQccBIAJBARACIQNB1IkLKAIAISVB1IkLQQA2AgAgJUEBRg0RIAMtAAANASADLQAcRQ0BC0EUEHIhAUHUiQtBADYCAEHMASAHQfQAakHFmQQQAiEDQdSJCygCACEmQdSJC0EANgIAQQEhACAmQQFGDQVB1IkLQQA2AgBB0AEgASADIAIQBCECQdSJCygCACEnQdSJC0EANgIAICdBAUcEQEEAIQBB1IkLQQA2AgBBzQEgAkGwuQdBzgEQCEHUiQsoAgAhKEHUiQtBADYCACAoQQFHDRQLEAAhBSADLAALQQBIBEAgAygCABBaCyAARQ0SIAEQbgwSC0HUiQtBADYCAEHHASACQQIQAiEDQdSJCygCACEpQdSJC0EANgIAIClBAUYNDwJAIAMtAABFBEBB1IkLQQA2AgBBxwEgAkECEAIhA0HUiQsoAgAhKkHUiQtBADYCACAqQQFGDREgAy0AAA0BIAMtABxFDQELQRQQciEBQdSJC0EANgIAQcwBIAdB6ABqQZqZBBACIQNB1IkLKAIAIStB1IkLQQA2AgBBASEAICtBAUYNBkHUiQtBADYCAEHQASABIAMgAhAEIQJB1IkLKAIAISxB1IkLQQA2AgAgLEEBRwRAQQAhAEHUiQtBADYCAEHNASACQbC5B0HOARAIQdSJCygCACEtQdSJC0EANgIAIC1BAUcNFAsQACEFIAMsAAtBAEgEQCADKAIAEFoLIABFDRIgARBuDBILQdSJC0EANgIAQccBIAJBARACIQNB1IkLKAIAIS5B1IkLQQA2AgAgLkEBRg0BQdSJC0EANgIAQdQBIAdB4ABqIAMQA0HUiQsoAgAhL0HUiQtBADYCACAvQQFGDQEgCiAHKQNgNwIMQdSJC0EANgIAQccBIAJBAhACIQJB1IkLKAIAITBB1IkLQQA2AgAgMEEBRg0CQdSJC0EANgIAQdQBIAdB2ABqIAIQA0HUiQsoAgAhMUHUiQtBADYCACAxQQFGDQIgCUEBaiEJIAogBykDWDcCFAtB1IkLQQA2AgBBzwEgARAGIQJB1IkLKAIAITJB1IkLQQA2AgAgMkEBRg0PIAkgAigCBE8NCUHUiQtBADYCAEHHASABIAkQAiECQdSJCygCACEzQdSJC0EANgIAIDNBAUYNDyACLQAARQ0JQcicCygCACEDQdSJC0EANgIAQc8BIAIQBiE1QdSJCygCACE0QdSJC0EANgIAIDRBAUYNDyA1KAIERQ0JQdSJC0EANgIAQccBIAJBABACITdB1IkLKAIAITZB1IkLQQA2AgAgNkEBRg0PIDctAAANCUHUiQtBADYCAEHHASACQQAQAiECQdSJCygCACE4QdSJC0EANgIAIDhBAUYND0HUiQtBADYCAEHUASAHQaABaiACEANB1IkLKAIAITlB1IkLQQA2AgAgOUEBRg0PIAcoAqABIANHDQlB1IkLQQA2AgBBxwEgASAJEAIhA0HUiQsoAgAhOkHUiQtBADYCACA6QQFHDQIMDQsQACEFDA8LEAAhBQwOCyAKKAIMBEBBFBByIQFB1IkLQQA2AgBBzAEgB0HMAGpBgP4BEAIhAkHUiQsoAgAhO0HUiQtBADYCAEEBIQAgO0EBRg0DQdSJC0EANgIAQdABIAEgAiADEAQhA0HUiQsoAgAhPEHUiQtBADYCACA8QQFHBEBBACEAQdSJC0EANgIAQc0BIANBsLkHQc4BEAhB1IkLKAIAIT1B1IkLQQA2AgAgPUEBRw0QCxAAIQUgAiwAC0EASARAIAIoAgAQWgsgAEUNDiABEG4MDgtB1IkLQQA2AgBBzwEgAxAGIT9B1IkLKAIAIT5B1IkLQQA2AgAgPkEBRg0KID8oAgRBAkcEQEEUEHIhAUHUiQtBADYCAEHMASAHQUBrQfjeABACIQJB1IkLKAIAIUBB1IkLQQA2AgBBASEAIEBBAUYNBEHUiQtBADYCAEHQASABIAIgAxAEIQNB1IkLKAIAIUFB1IkLQQA2AgAgQUEBRwRAQQAhAEHUiQtBADYCAEHNASADQbC5B0HOARAIQdSJCygCACFCQdSJC0EANgIAIEJBAUcNEAsQACEFIAIsAAtBAEgEQCACKAIAEFoLIABFDQ4gARBuDA4LQdSJC0EANgIAQccBIANBARACIQJB1IkLKAIAIUNB1IkLQQA2AgAgQ0EBRg0KAkAgAi0AAEUEQEHUiQtBADYCAEHHASADQQEQAiECQdSJCygCACFEQdSJC0EANgIAIERBAUYNDCACLQAADQEgAi0AHEUNAQtBFBByIQFB1IkLQQA2AgBBzAEgB0E0akHWmAQQAiECQdSJCygCACFFQdSJC0EANgIAQQEhACBFQQFGDQVB1IkLQQA2AgBB0AEgASACIAMQBCEDQdSJCygCACFGQdSJC0EANgIAIEZBAUcEQEEAIQBB1IkLQQA2AgBBzQEgA0GwuQdBzgEQCEHUiQsoAgAhR0HUiQtBADYCACBHQQFHDRALEAAhBSACLAALQQBIBEAgAigCABBaCyAARQ0OIAEQbgwOC0HUiQtBADYCAEEEQRQQBiECQdSJCygCACEEQdSJC0EANgIAAkACQAJAAkAgBEEBRwRAIAJCADcCACACQQA2AhAgAkIANwIIQdSJC0EANgIAQccBIANBARACIQRB1IkLKAIAIUhB1IkLQQA2AgAgSEEBRg0DQdSJC0EANgIAQdQBIAdBKGogBBADQdSJCygCACFJQdSJC0EANgIAIElBAUYNAyACIAcpAygiUzcCACAAKAIAIgsoAsQBIgRFDQogCygCwAECfyBTpyIGIARBAWtxIARpIghBAU0NABogBiAEIAZLDQAaIAYgBHALIgxBAnRqKAIAIgVFDQogBSgCACIFRQ0KAkAgCEEBTQRAIARBAWshBANAAkAgBiAFKAIEIghHBEAgBCAIcSAMRg0BDA8LIAUoAgggBkYNAwsgBSgCACIFDQALDAwLA0ACQCAGIAUoAgQiCEcEQCAEIAhNBH8gCCAEcAUgCAsgDEYNAQwOCyAFKAIIIAZGDQILIAUoAgAiBQ0ACwwLCyAFKAIQRQ0KQRQQciEEQdSJC0EANgIAQcwBIAdBHGpB594AEAIhAUHUiQsoAgAhSkHUiQtBADYCAEEBIQAgSkEBRg0BQdSJC0EANgIAQdABIAQgASADEAQhA0HUiQsoAgAhS0HUiQtBADYCACBLQQFHBEBBACEAQdSJC0EANgIAQc0BIANBsLkHQc4BEAhB1IkLKAIAIUxB1IkLQQA2AgAgTEEBRw0UCxAAIQUgASwAC0EASARAIAEoAgAQWgsgAA0CDAQLEAAhBQwRCxAAIQULIAQQbiACEFoMDwsQACEFCyACEFoMDQsQACEFIAEQbgwMCxAAIQUgARBuDAsLEAAhBSABEG4MCgsQACEFIAEQbgwJCxAAIQUgARBuDAgLIAopAgAhUyACQQQ2AhAgAiBTNwIIQdSJC0EANgIAQfcBIAsgAhACGkHUiQsoAgAhTUHUiQtBADYCACBNQQFGDQEgCUEBaiEJC0HUiQtBADYCACAHQQE2AhggB0EANgKoASAHQgA3AqABQfoBIAAgASAJIAdBGGogB0GgAWoQECEEQdSJCygCACFOQdSJC0EANgIAIE5BAUYNASAHKAKgASICBEAgAhBaCyAHKAIYIgJBEE8EQCACKAIQRQ0DC0HUiQtBADYCAEENQeGVBkG4swJB2wlBj+IDEAVB1IkLKAIAIU9B1IkLQQA2AgAgT0EBRw0HEAAhBQwGCxAAIQUMBQsQACEFIAcoAqABIgBFDQQgABBaDAQLIAogAikCFDcCHEHUiQtBADYCAEHPASABEAYhAkHUiQsoAgAhA0HUiQtBADYCAAJAAkAgA0EBRwRAIAQgAigCBE8NAkEUEHIhAkHUiQtBADYCAEHMASAHQQxqQYbrABACIQNB1IkLKAIAIVBB1IkLQQA2AgBBASEAIFBBAUYNAUHUiQtBADYCAEHHASABIAQQAiEBQdSJCygCACEEQdSJC0EANgIAAkAgBEEBRg0AQdSJC0EANgIAQdABIAIgAyABEAQhAUHUiQsoAgAhUUHUiQtBADYCACBRQQFGDQBB1IkLQQA2AgBBzQEgAUGwuQdBzgEQCEHUiQsoAgAhUkHUiQtBADYCAEEAIQAgUkEBRw0ICxAAIQUgAywAC0EASARAIAMoAgAQWgsgAEUNBiACEG4MBgsQACEFDAULEAAhBSACEG4MBAsgACgCACAKEOUHGiAHQbABaiQADwsQACEFDAILEAAhBQwBCxAAIQULIAoQWiAFEAcACwAL2yECQX8BfiMAQfAAayIEJABBASEGIAAgACgCkAEiA0EBajYCkAEgBEFAayADEPUEAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAIEQCAAKAIEQSBBCBBdIgZCADcCBCAGQQ42AgAgBkIANwIMIAZCADcCFCAEQQI2AjggBEEANgIoAkAgBiAGQQhqIgMgBEEoaiIHRwR/IAMQWSEDQdSJC0EANgIAQcAAIAMgBxACGkHUiQsoAgAhC0HUiQtBADYCACALQQFGDQEgBigCGAVBAAs2AgQgBEEoahBZGkEoEFwhAyACKQIAIUQgBEEBNgJkQdSJC0EANgIAIARCgYCAgBA3AlwgBEEAOgBYQQdB2J0LIARB2ABqIgIQAiEHQdSJCygCACEMQdSJC0EANgIAIAxBAUYEQBAAIQAgAhB3IAMQWgwOCyADQgA3AhwgAyAHNgIYIAMgBjYCFCADIEQ3AgwgA0EANgIkIAQgAzYCUCAEKQNAIUQgA0EAOgAIIAMgRDcCAAJAIAAoAkgiAyAAKAJMRwRAIAMgRDcCACAAIANBCGo2AkgMAQsgAyAAKAJEIgdrIgJBA3UiCEEBaiIGQYCAgIACTwRAQdSJC0EANgIAQfcAEAlB1IkLKAIAIQ1B1IkLQQA2AgAgDUEBRg0NDA4LAkBB/////wEgAkECdSIFIAYgBSAGSxsgAkH4////B08bIgZFBEBBACEFDAELIAZBgICAgAJPBEBB1IkLQQA2AgBBAxAJQdSJCygCACEOQdSJC0EANgIAIA5BAUcNDwwOC0HUiQtBADYCAEEEIAZBA3QQBiEFQdSJCygCACEPQdSJC0EANgIAIA9BAUYNDQsgBSAIQQN0aiICIEQ3AgAgAkEIaiEIIAMgB0cEQANAIAJBCGsiAiADQQhrIgMpAgA3AgAgAyAHRw0ACyAAKAJEIQMLIAAgBSAGQQN0ajYCTCAAIAg2AkggACACNgJEIANFDQAgAxBaC0HUiQtBADYCAEHHASABQQEQAiERQdSJCygCACEQQdSJC0EANgIAIBBBAUYNCyARLQAAIQJB1IkLQQA2AgBB7hEgACABIARB0ABqQQEgAhAMQdSJCygCACESQdSJC0EANgIAIBJBAUYNCyAEKAJQIgBFDQIgACgCHCIBBEAgACABNgIgIAEQWgsgABBaDAILEAAhACAEQShqEFkaDAwLAkAgAUEBEGktAAANACABQQEQaSICLQAADQAgAi0AHEUNAEEBIQUgBEFAayABQQEQaRDsAUECIQYLAkAgACgCSCIDIAAoAkxHBEAgAyAEKQNANwIAIAAgA0EIajYCSAwBCyADIAAoAkQiCGsiAkEDdSIJQQFqIgdBgICAgAJPDQNB/////wEgAkECdSIKIAcgByAKSRsgAkH4////B08bIgcEfyAHQYCAgIACTw0FIAdBA3QQXAVBAAsiCiAJQQN0aiICIAQpA0A3AgAgAkEIaiEJIAMgCEcEQANAIAJBCGsiAiADQQhrIgMpAgA3AgAgAyAIRw0ACyAAKAJEIQMLIAAgCiAHQQN0ajYCTCAAIAk2AkggACACNgJEIANFDQAgAxBaCyABIAYQaS0AAEUEQCAEQdgAaiABIAYQaRDsASAEKAJYQdibCygCAEYNAQtBKBBcIgdCADcCACAHQgA3AiAgB0IANwIYIAdCADcCECAHQgA3AgggBEEBNgJkQdSJC0EANgIAIARCgYCAgBA3AlwgBEEAOgBYQQdB2J0LIARB2ABqIgIQAiEDQdSJCygCACETQdSJC0EANgIAIBNBAUYEQBAAIQAgAhB3IAcQWgwMCyAHIAM2AhggB0EANgIkIAdCADcCHCAEIAc2AiQgBCkDQCFEIAcgBToACCAHIEQ3AgBB1IkLQQA2AgBBxwEgASAGEAIhAkHUiQsoAgAhFEHUiQtBADYCACAUQQFGDQECf0EBIAItAABFDQAaQdSJC0EANgIAQccBIAEgBhACIQJB1IkLKAIAIRVB1IkLQQA2AgAgFUEBRg0CAkAgAi0AAEUNAEGAnQsoAgAhA0HUiQtBADYCAEHPASACEAYhF0HUiQsoAgAhFkHUiQtBADYCACAWQQFGDQMgFygCBEUNAEHUiQtBADYCAEHHASACQQAQAiEZQdSJCygCACEYQdSJC0EANgIAIBhBAUYNAyAZLQAADQBB1IkLQQA2AgBBxwEgAkEAEAIhAkHUiQsoAgAhGkHUiQtBADYCACAaQQFGDQNB1IkLQQA2AgBB1AEgBEHYAGogAhADQdSJCygCACEbQdSJC0EANgIAIBtBAUYNAyAEKAJYIANHDQBBAQwBC0HUiQtBADYCAEHHASABIAYQAiECQdSJCygCACEcQdSJC0EANgIAIBxBAUYNAgJAAkACQAJAAkACQCACLQAARQ0AQaCcCygCACEDQdSJC0EANgIAQc8BIAIQBiEeQdSJCygCACEdQdSJC0EANgIAIB1BAUYNCCAeKAIERQ0AQdSJC0EANgIAQccBIAJBABACISBB1IkLKAIAIR9B1IkLQQA2AgAgH0EBRg0IICAtAAANAEHUiQtBADYCAEHHASACQQAQAiECQdSJCygCACEhQdSJC0EANgIAICFBAUYNCEHUiQtBADYCAEHUASAEQdgAaiIFIAIQA0HUiQsoAgAhIkHUiQtBADYCACAiQQFGDQggBCgCWCADRw0AQdSJC0EANgIAQccBIAEgBhACIQJB1IkLKAIAISNB1IkLQQA2AgAgI0EBRg0BQdSJC0EANgIAQccBIAJBARACIQJB1IkLKAIAISRB1IkLQQA2AgAgJEEBRg0CQdSJC0EANgIAQfABIAUgACACEAhB1IkLKAIAISVB1IkLQQA2AgAgJUEBRg0CIAZBAWohBiAHIAQpA1g3AgwLQdSJC0EANgIAQccBIAEgBhACIQNB1IkLKAIAISZB1IkLQQA2AgAgJkEBRg0NIAZBAWohBiADLQAARQ0DQeibCygCACECQdSJC0EANgIAQc8BIAMQBiEoQdSJCygCACEnQdSJC0EANgIAICdBAUYNDSAoKAIERQ0DQdSJC0EANgIAQccBIANBABACISpB1IkLKAIAISlB1IkLQQA2AgAgKUEBRg0NICotAAANA0HUiQtBADYCAEHHASADQQAQAiEFQdSJCygCACErQdSJC0EANgIAICtBAUYNDUHUiQtBADYCAEHUASAEQdgAaiAFEANB1IkLKAIAISxB1IkLQQA2AgAgLEEBRg0NIAQoAlggAkcNA0HUiQtBADYCAEHPASADEAYhAkHUiQsoAgAhLUHUiQtBADYCACAtQQFHDQIMDQsQACEDDA0LEAAhAwwMCyACKAIEQQNPBEBBFBByIQBB1IkLQQA2AgBBzAEgBEEYakGyzgUQAiEHQdSJCygCACEuQdSJC0EANgIAQQEhAiAuQQFGDQhB1IkLQQA2AgBBxwEgASAGEAIhA0HUiQsoAgAhBkHUiQtBADYCAAJAIAZBAUYNAEHUiQtBADYCAEH9ASAAIAcgASADEA0hAUHUiQsoAgAhL0HUiQtBADYCACAvQQFGDQBB1IkLQQA2AgBBzQEgAUGwuQdBzgEQCEHUiQsoAgAhMEHUiQtBADYCAEEAIQIgMEEBRw0PCxAAIQMgBywAC0EASARAIAcoAgAQWgsgAkUNDCAAEG4MDAtB1IkLQQA2AgBBxwEgA0EBEAIhA0HUiQsoAgAhMUHUiQtBADYCACAxQQFGDQpB1IkLQQA2AgBB6wEgACADEAIhAkHUiQsoAgAhMkHUiQtBADYCACAyQQFGDQogBCACNgJMIAMoAigiA0UNASAAKALQAUUNAUHUiQtBADYCAEHsASAEQdgAaiAAIAMQCEHUiQsoAgAhM0HUiQtBADYCACAzQQFGDQogACgC0AEhA0HUiQtBADYCAEHtASAEQdAAaiADQeAAaiACIARBzABqEAVB1IkLKAIAITRB1IkLQQA2AgAgNEEBRg0KIAQoAlAiAyAEKQJYNwIMIAMgBCgCYDYCFAwBC0HUiQtBADYCAEHrASAAIAMQAiECQdSJCygCACE1QdSJC0EANgIAIDVBAUYNCSAEIAI2AkwgAygCKCIDRQ0AIAAoAtABRQ0AQdSJC0EANgIAQewBIARB2ABqIAAgAxAIQdSJCygCACE2QdSJC0EANgIAIDZBAUYNCSAAKALQASEDQdSJC0EANgIAQe0BIARB0ABqIANB4ABqIAIgBEHMAGoQBUHUiQsoAgAhN0HUiQtBADYCACA3QQFGDQkgBCgCUCIDIAQpAlg3AgwgAyAEKAJgNgIUCyAHIAI2AhRBAAshBUEAIQNB1IkLQQA2AgBBzwEgARAGIQJB1IkLKAIAIThB1IkLQQA2AgAgOEEBRg0BAkAgBiACKAIETw0AQdSJC0EANgIAQccBIAEgBhACIQJB1IkLKAIAITlB1IkLQQA2AgAgOUEBRg0CAkAgAi0AAA0AQQAhA0HUiQtBADYCAEHHASABIAYQAiECQdSJCygCACE6QdSJC0EANgIAIDpBAUYNAyACLQAADQAgAi0AHA0BC0HUiQtBADYCAEHHASABIAYQAiECQdSJCygCACE7QdSJC0EANgIAIDtBAUYNAgJAIAItAAANAEHUiQtBADYCAEHHASABIAYQAiECQdSJCygCACEDQdSJC0EANgIAAkAgA0EBRg0AQdSJC0EANgIAQdQBIARB2ABqIAIQA0HUiQsoAgAhPEHUiQtBADYCACA8QQFGDQBBACEDIAQoAlhBiJwLKAIARw0BIAZBAWohBgwCCxAAIQMMCgtB1IkLQQA2AgBBxwEgASAGEAIhAkHUiQsoAgAhPUHUiQtBADYCACA9QQFGDQZB1IkLQQA2AgBB6xEgACACEAIhAkHUiQsoAgAhPkHUiQtBADYCACA+QQFGDQYgByACNgIYQQEhAyAGQQFqIQYLAkAgBQ0AIAcoAgwNACAAKAIAIgIoAlQiBSACKAJYRgRAQRQQciEAQdSJC0EANgIAQcwBIARBDGpBoqoEEAIhAkHUiQsoAgAhP0HUiQtBADYCAEEBIQYgP0EBRg0IQdSJC0EANgIAQdABIAAgAiABEAQhAUHUiQsoAgAhQEHUiQtBADYCACBAQQFHBEBBACEGQdSJC0EANgIAQc0BIAFBsLkHQc4BEAhB1IkLKAIAIUFB1IkLQQA2AgAgQUEBRw0NCxAAIQMgAiwAC0EASARAIAIoAgAQWgsgBkUNCiAAEG4MCgsgByAFKAIAKQIANwIMC0EBIQIgA0UEQEEAIQICQCAHKAIcIgMgBygCICIFRg0AA0AgAygCACgCAEErRyICDQEgA0EEaiIDIAVHDQALCyAEQQE2AmQgBEKBgICAEDcCXCAEQQA6AFhB1IkLQQA2AgBBB0HYnQsgBEHYAGoiBRACIQNB1IkLKAIAIUJB1IkLQQA2AgAgQkEBRgRAEAAhAyAFEHcMCgsgAiAHKAIYIANHciECC0HUiQtBADYCAEHuESAAIAEgBEEkaiAGIAIQDEHUiQsoAgAhQ0HUiQtBADYCACBDQQFGDQEgBCgCJCIARQ0AIAAoAhwiAQRAIAAgATYCICABEFoLIAAQWgsgBEHwAGokAA8LEAAhAwwGCxBkAAsQagALEAAhAyAAEG4MAwsQACEDDAILEAAhAyAAEG4MAQsQACEDCyAEQSRqEKgDIAMQBwALEAAhACAEQdAAahCoAwwBCwALIAAQBwAL0CQCRn8CfiMAQYABayIFJABBOBBcIglCADcCACAJQgA3AjAgCUIANwIgIAlCADcCGCAJQgA3AhAgCUIANwIIIAlC/////w83AyggBUEBNgJ0QdSJC0EANgIAIAVCgYCAgBA3AmwgBUEAOgBoQQdB2J0LIAVB6ABqIgcQAiEDQdSJCygCACEEQdSJC0EANgIAAkACQAJAIARBAUYEQBAAIQMgBxB3DAELIAkgAzYCMCAFIAk2AmRB1IkLQQA2AgBBxwEgAUEBEAIhA0HUiQsoAgAhB0HUiQtBADYCAAJAIAdBAUYNAAJAAkACQAJAAkACQCADLQAADQAgAy0AHEUNAEHUiQtBADYCAEHHASABQQEQAiEDQdSJCygCACENQdSJC0EANgIAIA1BAUYNBkHUiQtBADYCAEHUASAFQdgAaiADEANB1IkLKAIAIQ5B1IkLQQA2AgAgDkEBRg0GIAUpA1ghSSAJQQE6AAggCSBJNwIAQQIhBwwBC0EBIQcgACAAKAKMASIDQQFqNgKMAUHUiQtBADYCAEHoASAFQegAaiADEANB1IkLKAIAIQ9B1IkLQQA2AgAgD0EBRg0BIAkgBSkDaCJJNwIACwJAIAAoAjwiAyAAQUBrKAIARwRAIAMgSTcCACAAIANBCGo2AjwMAQsgAyAAKAI4IgprIgRBA3UiC0EBaiIGQYCAgIACTwRAQdSJC0EANgIAQfcAEAlB1IkLKAIAIRBB1IkLQQA2AgAgEEEBRg0GDAkLAkBB/////wEgBEECdSIIIAYgBiAISRsgBEH4////B08bIghFBEBBACEGDAELIAhBgICAgAJPBEBB1IkLQQA2AgBBAxAJQdSJCygCACERQdSJC0EANgIAIBFBAUcNCgwHC0HUiQtBADYCAEEEIAhBA3QQBiEGQdSJCygCACESQdSJC0EANgIAIBJBAUYNBgsgBiALQQN0aiIEIEk3AgAgBEEIaiELIAMgCkcEQANAIARBCGsiBCADQQhrIgMpAgA3AgAgAyAKRw0ACyAAKAI4IQMLIAAgBiAIQQN0ajYCQCAAIAs2AjwgACAENgI4IANFDQAgAxBaC0HUiQtBADYCAEHHASABIAcQAiEDQdSJCygCACEEQdSJC0EANgIAAkACQAJAAkACQAJAIARBAUcEQCADLQAARQ0KQdSJC0EANgIAQccBIAEgBxACIQNB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRg0IIAMtAABFDQZByJwLKAIAIQRB1IkLQQA2AgBBzwEgAxAGIRVB1IkLKAIAIRRB1IkLQQA2AgAgFEEBRg0IIBUoAgRFDQZB1IkLQQA2AgBBxwEgA0EAEAIhF0HUiQsoAgAhFkHUiQtBADYCACAWQQFGDQggFy0AAA0GQdSJC0EANgIAQccBIANBABACIQZB1IkLKAIAIRhB1IkLQQA2AgAgGEEBRg0IQdSJC0EANgIAQdQBIAVB6ABqIAYQA0HUiQsoAgAhGUHUiQtBADYCACAZQQFGDQggBSgCaCAERw0GQdSJC0EANgIAQQRBFBAGIQJB1IkLKAIAIRpB1IkLQQA2AgAgGkEBRg0BIAJCADcCACACQQA2AhAgAkIANwIIQdSJC0EANgIAQccBIANBARACIQRB1IkLKAIAIRtB1IkLQQA2AgAgG0EBRg0EQdSJC0EANgIAQdQBIAVB0ABqIAQQA0HUiQsoAgAhHEHUiQtBADYCACAcQQFGDQQgAiAFKQNQIkk3AgAgCSkCACFKIAJBATYCECACIEo3AgggACgCACILKALEASIGRQ0JIAsoAsABAn8gSaciCCAGQQFrcSAGaSIKQQFNDQAaIAggBiAISw0AGiAIIAZwCyIMQQJ0aigCACIERQ0JIAQoAgAiBEUNCQJAIApBAU0EQCAGQQFrIQYDQAJAIAggBCgCBCIKRwRAIAYgCnEgDEYNAQwOCyAEKAIIIAhGDQMLIAQoAgAiBA0ACwwLCwNAAkAgCCAEKAIEIgpHBEAgBiAKTQR/IAogBnAFIAoLIAxGDQEMDQsgBCgCCCAIRg0CCyAEKAIAIgQNAAsMCgsgBCgCEEUNCUEUEHIhB0HUiQtBADYCAEHMASAFQcQAakHn3gAQAiEBQdSJCygCACEdQdSJC0EANgIAQQEhACAdQQFGDQJB1IkLQQA2AgBB0AEgByABIAMQBCEDQdSJCygCACEeQdSJC0EANgIAIB5BAUcEQEEAIQBB1IkLQQA2AgBBzQEgA0GwuQdBzgEQCEHUiQsoAgAhH0HUiQtBADYCACAfQQFHDQ8LEAAhAyABLAALQQBIBEAgASgCABBaCyAADQMMBQsQACEDDAsLEAAhAwwKCxAAIQMLIAcQbiACEFoMCAsQACEDCyACEFoMBgsCQCADLQAARQ0AQZCcCygCACEEQdSJC0EANgIAQc8BIAMQBiEhQdSJCygCACEgQdSJC0EANgIAICBBAUYNAiAhKAIERQ0AQdSJC0EANgIAQccBIANBABACISNB1IkLKAIAISJB1IkLQQA2AgAgIkEBRg0CICMtAAANAEHUiQtBADYCAEHHASADQQAQAiEGQdSJCygCACEkQdSJC0EANgIAICRBAUYNAkHUiQtBADYCAEHUASAFQegAaiAGEANB1IkLKAIAISVB1IkLQQA2AgAgJUEBRg0CIAUoAmggBEcNACACRQRAQRQQciECQdSJC0EANgIAQcwBIAVBOGpBv6oEEAIhAUHUiQsoAgAhBUHUiQtBADYCAEEBIQACQCAFQQFHBEBB1IkLQQA2AgBB0AEgAiABIAMQBCEDQdSJCygCACEmQdSJC0EANgIAICZBAUcEQEEAIQBB1IkLQQA2AgBBzQEgA0GwuQdBzgEQCEHUiQsoAgAhJ0HUiQtBADYCACAnQQFHDQwLEAAhAyABLAALQQBIBEAgASgCABBaCyAADQEMCQsQACEDCyACEG4MBwtB1IkLQQA2AgBBxwEgA0EBEAIhAkHUiQsoAgAhBEHUiQtBADYCAAJAAkAgBEEBRg0AQdSJC0EANgIAQdQBIAVBMGogAhADQdSJCygCACEoQdSJC0EANgIAIChBAUYNACAJIAUpAzA3AgxB1IkLQQA2AgBBxwEgA0ECEAIhAkHUiQsoAgAhKUHUiQtBADYCACApQQFGDQFB1IkLQQA2AgBB1AEgBUEoaiACEANB1IkLKAIAISpB1IkLQQA2AgAgKkEBRg0BIAkgBSkDKDcCFCAHQQFqIQcMBgsQACEDDAcLEAAhAwwGCwJAIAMtAABFDQBBgJ0LKAIAIQJB1IkLQQA2AgBBzwEgAxAGISxB1IkLKAIAIStB1IkLQQA2AgAgK0EBRg0CICwoAgRFDQBB1IkLQQA2AgBBxwEgA0EAEAIhLkHUiQsoAgAhLUHUiQtBADYCACAtQQFGDQIgLi0AAA0AQdSJC0EANgIAQccBIANBABACIQRB1IkLKAIAIS9B1IkLQQA2AgAgL0EBRg0CQdSJC0EANgIAQdQBIAVB6ABqIAQQA0HUiQsoAgAhMEHUiQtBADYCACAwQQFGDQIgBSgCaCACRg0EC0EUEHIhAkHUiQtBADYCAEHMASAFQRxqQZerBBACIQFB1IkLKAIAIQVB1IkLQQA2AgBBASEAAkAgBUEBRwRAQdSJC0EANgIAQdABIAIgASADEAQhA0HUiQsoAgAhMUHUiQtBADYCACAxQQFHBEBBACEAQdSJC0EANgIAQc0BIANBsLkHQc4BEAhB1IkLKAIAITJB1IkLQQA2AgAgMkEBRw0KCxAAIQMgASwAC0EASARAIAEoAgAQWgsgAA0BDAcLEAAhAwsgAhBuDAULEAAhAwwECxAAIQMMAwtB1IkLQQA2AgBB9wEgCyACEAIaQdSJCygCACEzQdSJC0EANgIAIDNBAUYEQBAAIQMMAwsgB0EBaiEHC0EAIQZB1IkLQQA2AgBBxwEgASAHEAIhAkHUiQsoAgAhA0HUiQtBADYCAAJAIANBAUYNAAJAAkACQAJAAkACQCACLQAADQBB1IkLQQA2AgBBxwEgASAHEAIhAkHUiQsoAgAhNEHUiQtBADYCACA0QQFGDQFB1IkLQQA2AgBB/gEgBUHoAGoiAyACEANB1IkLKAIAITVB1IkLQQA2AgAgNUEBRg0BQQAhAgJAIAUoAmwgBS0AcyIEIATAIgRBAEgbIgZFDQAgBiAFKAJoIAMgBEEASBsiA2ohBgNAIAMsAABBMGsiCEEKSSECIAhBCUsNASADQQFqIgMgBkcNAAsLIARBAEgEQCAFKAJoEFoLQQAhBiACRQ0AQdSJC0EANgIAQccBIAEgBxACIQJB1IkLKAIAITZB1IkLQQA2AgAgNkEBRg0GQdSJC0EANgIAQekBIAIQBiECQdSJCygCACE3QdSJC0EANgIAIDdBAUYNBiAHQQFqIQcgCSACrDcDIEEBIQYLQdSJC0EANgIAQccBIAEgBxACIQJB1IkLKAIAIThB1IkLQQA2AgAgOEEBRg0FAkAgAi0AAA0AQdSJC0EANgIAQccBIAEgBxACIQJB1IkLKAIAITlB1IkLQQA2AgAgOUEBRg0CQdSJC0EANgIAQf4BIAVB6ABqIgMgAhADQdSJCygCACE6QdSJC0EANgIAIDpBAUYNAkEAIQICQCAFKAJsIAUtAHMiBCAEwCIEQQBIGyIIRQ0AIAggBSgCaCADIARBAEgbIgNqIQgDQCADLAAAQTBrIgpBCkkhAiAKQQlLDQEgA0EBaiIDIAhHDQALCyAEQQBIBEAgBSgCaBBaCyACRQ0AQdSJC0EANgIAQccBIAEgBxACIQJB1IkLKAIAITtB1IkLQQA2AgAgO0EBRg0GQdSJC0EANgIAQekBIAIQBiECQdSJCygCACE8QdSJC0EANgIAIDxBAUYNBiAHQQFqIQcgCSACrDcDKAtB1IkLQQA2AgBBxwEgASAHEAIhAkHUiQsoAgAhPUHUiQtBADYCACA9QQFGDQJB1IkLQQA2AgBB6xEgACACEAIhAkHUiQsoAgAhPkHUiQtBADYCACA+QQFGDQIgCSACNgIwAkAgAkEHTwRAIAIoAgRBAUYNAQtBFBByIQdB1IkLQQA2AgBBzAEgBUEQakH91gEQAiECQdSJCygCACEDQdSJC0EANgIAQQEhAAJAIANBAUcEQEHUiQtBADYCAEHQASAHIAIgARAEIQFB1IkLKAIAIT9B1IkLQQA2AgAgP0EBRwRAQQAhAEHUiQtBADYCAEHNASABQbC5B0HOARAIQdSJCygCACFAQdSJC0EANgIAIEBBAUcNDQsQACEDIAIsAAtBAEgEQCACKAIAEFoLIAANAQwKCxAAIQMLIAcQbgwIC0HUiQtBADYCAEHPASABEAYhA0HUiQsoAgAhQUHUiQtBADYCACBBQQFGDQUgB0EBaiICIAMoAgRPDQRB1IkLQQA2AgBBxwEgASACEAIhQ0HUiQsoAgAhQkHUiQtBADYCACBCQQFGDQUgQy0AAEUNBCAGBEBBFBByIQdB1IkLQQA2AgBBzAEgBUEEakGi8gUQAiECQdSJCygCACEDQdSJC0EANgIAQQEhAAJAIANBAUcEQEHUiQtBADYCAEHQASAHIAIgARAEIQFB1IkLKAIAIURB1IkLQQA2AgAgREEBRwRAQQAhAEHUiQtBADYCAEHNASABQbC5B0HOARAIQdSJCygCACFFQdSJC0EANgIAIEVBAUcNDQsQACEDIAIsAAtBAEgEQCACKAIAEFoLIAANAQwKCxAAIQMLIAcQbgwIC0HUiQtBADYCAEHHASABIAIQAiEBQdSJCygCACFGQdSJC0EANgIAIEZBAUYNBUHUiQtBADYCAEH1ASAAIAEgCRAIQdSJCygCACFHQdSJC0EANgIAIEdBAUYNBQJAIAAoAgAiASgCMCIDIAEoAjQiAUYNACAJKAIAIQIDQCADKAIAKAIMIAJGDQEgA0EEaiIDIAFHDQALDAQLIAEgA0YNAyAJIAMoAgAiASgCICABKAIca0ECda0iSTcDICAJIEk3AygMBAsQACEDDAYLEAAhAwwFCxAAIQMMBAsgCUIANwMgIAlCADcDKAsgACgCACEAQdSJC0EANgIAQTYgACAFQeQAahACGkHUiQsoAgAhSEHUiQtBADYCACBIQQFGDQAgBSgCZCIABEAgABBaCyAFQYABaiQADwsQACEDIAUoAmQiCUUNAgwBCxAAIQMLIAkQWgsgAxAHAAsAC/srAk9/A34jAEHAAWsiBiQAQSgQXCIJQgA3AgAgCUIANwIgIAlCADcCGCAJQgA3AhAgCUIANwIIQdSJC0EANgIAQccBIAFBARACIQNB1IkLKAIAIQRB1IkLQQA2AgACQAJAAkAgBEEBRg0AAkACQAJAIAMtAAANACADLQAcRQ0AQdSJC0EANgIAQccBIAFBARACIQNB1IkLKAIAIRBB1IkLQQA2AgAgEEEBRg0DQdSJC0EANgIAQdQBIAZBoAFqIAMQA0HUiQsoAgAhEUHUiQtBADYCACARQQFGDQMgBikDoAEhUiAJQQE6AAggCSBSNwIAQQIhBAwBCyACBEAgACgChAEhA0HUiQtBADYCAEH7ASAGQYwBaiIEIAMQA0HUiQsoAgAhA0HUiQtBADYCAAJAAkACQCADQQFHBEBB1IkLQQA2AgBB/AEgBEGvvAYQAiEDQdSJCygCACESQdSJC0EANgIAIBJBAUYNASAGIAMoAgg2ArABIAYgAykCADcDqAEgA0IANwIAIANBADYCCCAGIAYoAqwBIAYsALMBIgRB/wFxIARBAEgiBBs2ArwBIAYgBigCqAEgBkGoAWogBBs2ArgBQdSJC0EANgIAIAYgBikCuAE3AwhBBiAGQZgBaiAGQQhqEANB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRg0CIAkgBikDmAE3AgAgBiwAswFBAEgEQCAGKAKoARBaCyADLAALQQBIBEAgAygCABBaC0EBIQQMBQsQACEDDAcLEAAhAwwBCxAAIQMgBiwAswFBAE4NACAGKAKoARBaCyAGLACXAUEATg0EIAYoAowBEFoMBAsgACgChAEhA0HUiQtBADYCAEHoASAGQagBaiADEANB1IkLKAIAIRRB1IkLQQA2AgBBASEEIBRBAUYNASAJIAYpA6gBNwIACyAAIAAoAoQBQQFqNgKEAQJAIAAoAmwiAyAAKAJwRwRAIAMgCSkCADcCACAAIANBCGo2AmwMAQsgAyAAKAJoIgprIgdBA3UiC0EBaiIFQYCAgIACTwRAQdSJC0EANgIAQfcAEAlB1IkLKAIAIRVB1IkLQQA2AgAgFUEBRg0DDAULAkBB/////wEgB0ECdSIIIAUgBSAISRsgB0H4////B08bIgVFBEBBACEIDAELIAVBgICAgAJPBEBB1IkLQQA2AgBBAxAJQdSJCygCACEWQdSJC0EANgIAIBZBAUcNBgwEC0HUiQtBADYCAEEEIAVBA3QQBiEIQdSJCygCACEXQdSJC0EANgIAIBdBAUYNAwsgCCALQQN0aiIHIAkpAgA3AgAgB0EIaiELIAMgCkcEQANAIAdBCGsiByADQQhrIgMpAgA3AgAgAyAKRw0ACyAAKAJoIQMLIAAgCCAFQQN0ajYCcCAAIAs2AmwgACAHNgJoIANFDQAgAxBaC0IAIVIDQEHUiQtBADYCAEHPASABEAYhA0HUiQsoAgAhB0HUiQtBADYCAAJAAkACQAJAAkACQAJAAkACQAJAAkAgB0EBRg0AAkACQCADKAIEIARNBEBBACEHDAELQdSJC0EANgIAQccBIAEgBBACIRlB1IkLKAIAIRhB1IkLQQA2AgAgGEEBRg0CIBktAABFBEBBACEHDAELQdSJC0EANgIAQccBIAEgBBACIQNB1IkLKAIAIQdB1IkLQQA2AgACQAJAAkACQAJAAkACQCAHQQFGDQAgBEEBaiEEIAMtAABFDQZByJwLKAIAIQdB1IkLQQA2AgBBzwEgAxAGIRtB1IkLKAIAIRpB1IkLQQA2AgAgGkEBRg0AIBsoAgRFDQZB1IkLQQA2AgBBxwEgA0EAEAIhHUHUiQsoAgAhHEHUiQtBADYCACAcQQFGDQAgHS0AAA0GQdSJC0EANgIAQccBIANBABACIQVB1IkLKAIAIR5B1IkLQQA2AgAgHkEBRg0AQdSJC0EANgIAQdQBIAZBqAFqIAUQA0HUiQsoAgAhH0HUiQtBADYCACAfQQFGDQAgBigCqAEgB0cNBkHUiQtBADYCAEEEQRQQBiEHQdSJCygCACEgQdSJC0EANgIAICBBAUYNASAHQgA3AgAgB0EANgIQIAdCADcCCEHUiQtBADYCAEHHASADQQEQAiEDQdSJCygCACEhQdSJC0EANgIAICFBAUYNBEHUiQtBADYCAEHUASAGQYABaiADEANB1IkLKAIAISJB1IkLQQA2AgAgIkEBRg0EIAcgBikDgAEiUzcCACAJKQIAIVQgB0EDNgIQIAcgVDcCCCAAKAIAIgsoAsQBIgVFDRMgCygCwAECfyBTpyIIIAVBAWtxIAVpQQFLIgpFDQAaIAggBSAISw0AGiAIIAVwCyIMQQJ0aigCACIDRQ0TIAMoAgAiA0UNEwJAIApFBEAgBUEBayEFA0ACQCAIIAMoAgQiCkcEQCAFIApxIAxGDQEMGAsgAygCCCAIRg0DCyADKAIAIgMNAAsMFQsDQAJAIAggAygCBCIKRwRAIAUgCk0EfyAKIAVwBSAKCyAMRg0BDBcLIAMoAgggCEYNAgsgAygCACIDDQALDBQLIAMoAhBFDRNBFBByIQRB1IkLQQA2AgBBzAEgBkH0AGpB594AEAIhAkHUiQsoAgAhI0HUiQtBADYCAEEBIQAgI0EBRg0CQdSJC0EANgIAQdABIAQgAiABEAQhAUHUiQsoAgAhJEHUiQtBADYCACAkQQFHBEBBACEAQdSJC0EANgIAQc0BIAFBsLkHQc4BEAhB1IkLKAIAISVB1IkLQQA2AgAgJUEBRw0ZCxAAIQMgAiwAC0EASARAIAIoAgAQWgsgAA0DDAULEAAhAwwWCxAAIQMMFQsQACEDCyAEEG4gBxBaDBMLEAAhAwsgBxBaDBELAkAgAy0AAEUNAEGQnAsoAgAhB0HUiQtBADYCAEHPASADEAYhBUHUiQsoAgAhCEHUiQtBADYCAAJAAkAgCEEBRg0AIAUoAgRFDQJB1IkLQQA2AgBBxwEgA0EAEAIhJ0HUiQsoAgAhJkHUiQtBADYCACAmQQFGDQAgJy0AAA0CQdSJC0EANgIAQccBIANBABACIQVB1IkLKAIAIShB1IkLQQA2AgAgKEEBRg0AQdSJC0EANgIAQdQBIAZBqAFqIAUQA0HUiQsoAgAhKUHUiQtBADYCACApQQFHDQELEAAhAwwSCyAGKAKoASAHRw0AQdSJC0EANgIAQccBIANBARACIQdB1IkLKAIAIQVB1IkLQQA2AgACQAJAIAVBAUYNAEHUiQtBADYCAEHUASAGQegAaiAHEANB1IkLKAIAISpB1IkLQQA2AgAgKkEBRg0AQdSJC0EANgIAIAYpA2ghUkHHASADQQIQAiEDQdSJCygCACErQdSJC0EANgIAICtBAUYNAUHUiQtBADYCAEHUASAGQeAAaiADEANB1IkLKAIAISxB1IkLQQA2AgAgLEEBRg0BIFJCIIinIQ8gUqchDSAGKQNgIlJCIIinIQ4MEAsQACEDDBILEAAhAwwRCwJAAkAgAy0AAEUNAEGgnQsoAgAhB0HUiQtBADYCAEHPASADEAYhBUHUiQsoAgAhCEHUiQtBADYCAAJAAkAgCEEBRg0AIAUoAgRFDQJB1IkLQQA2AgBBxwEgA0EAEAIhLkHUiQsoAgAhLUHUiQtBADYCACAtQQFGDQAgLi0AAA0CQdSJC0EANgIAQccBIANBABACIQVB1IkLKAIAIS9B1IkLQQA2AgAgL0EBRg0AQdSJC0EANgIAQdQBIAZBqAFqIAUQA0HUiQsoAgAhMEHUiQtBADYCACAwQQFHDQELEAAhAwwTCyAGKAKoASAHRw0AQdSJC0EANgIAQQEhB0HHASADQQEQAiEDQdSJCygCACExQdSJC0EANgIAIDFBAUcEQEHUiQtBADYCAEHrESAAIAMQAiEDQdSJCygCACEyQdSJC0EANgIAIDJBAUcNAgsQACEDDBILQQAhB0HUiQtBADYCAEHrESAAIAMQAiEDQdSJCygCACEzQdSJC0EANgIAIDNBAUcNABAAIQMMEQsgAw0BC0HUiQtBADYCAEHHASABIAQQAiEDQdSJCygCACE0QdSJC0EANgIAIDRBAUYNAkHUiQtBADYCAEHUASAGQdgAaiADEANB1IkLKAIAITVB1IkLQQA2AgAgNUEBRg0CQdSJC0EANgIAQeURIAYoAlggBigCXEEAEAQhA0HUiQsoAgAhNkHUiQtBADYCACA2QQFGDQIgBEEBaiEECyANBEAgDkUEQEEUEHIhAEHUiQtBADYCAEHMASAGQcwAakHO3wAQAiECQdSJCygCACE3QdSJC0EANgIAQQEhBCA3QQFGDQRB1IkLQQA2AgBB0AEgACACIAEQBCEBQdSJCygCACE4QdSJC0EANgIAIDhBAUcEQEEAIQRB1IkLQQA2AgBBzQEgAUGwuQdBzgEQCEHUiQsoAgAhOUHUiQtBADYCACA5QQFHDRILEAAhAyACLAALQQBIBEAgAigCABBaCyAERQ0QIAAQbgwQCyACRQRAQRQQciEAQdSJC0EANgIAQcwBIAZBQGtBm/YCEAIhAkHUiQsoAgAhOkHUiQtBADYCAEEBIQQgOkEBRg0FQdSJC0EANgIAQdABIAAgAiABEAQhAUHUiQsoAgAhO0HUiQtBADYCACA7QQFHBEBBACEEQdSJC0EANgIAQc0BIAFBsLkHQc4BEAhB1IkLKAIAITxB1IkLQQA2AgAgPEEBRw0SCxAAIQMgAiwAC0EASARAIAIoAgAQWgsgBEUNECAAEG4MEAtB1IkLQQA2AgBBBEEoEAYhAkHUiQsoAgAhBEHUiQtBADYCAAJAAkACQCAEQQFHBEAgAkIANwIIIAJCADcCICACQgA3AhggAkIANwIQIAkpAgAhUyACIAc6ACQgAiADNgIcIAIgUkL/////D4MgDq1CIIaENwIUIAIgDzYCECACIA02AgwgAiBTNwIAIAAoAgAiBSgCvAIiAEUNDSAFKAK4AgJ/IFOnIgQgAEEBa3EgAGkiB0EBTQ0AGiAEIAAgBEsNABogBCAAcAsiCEECdGooAgAiA0UNDSADKAIAIgNFDQ0CQCAHQQFNBEAgAEEBayEAA0ACQCAEIAMoAgQiB0cEQCAAIAdxIAhGDQEMEgsgAygCCCAERg0DCyADKAIAIgMNAAsMDwsDQAJAIAQgAygCBCIHRwRAIAAgB00EfyAHIABwBSAHCyAIRg0BDBELIAMoAgggBEYNAgsgAygCACIDDQALDA4LIAMoAhBFDQ1BFBByIQRB1IkLQQA2AgBBzAEgBkE0akH/3wAQAiEGQdSJCygCACE9QdSJC0EANgIAQQEhACA9QQFGDQFB1IkLQQA2AgBB0AEgBCAGIAEQBCEBQdSJCygCACE+QdSJC0EANgIAID5BAUcEQEEAIQBB1IkLQQA2AgBBzQEgAUGwuQdBzgEQCEHUiQsoAgAhP0HUiQtBADYCACA/QQFHDRULEAAhAyAGLAALQQBIBEAgBigCABBaCyAADQIMAwsQACEDDBILEAAhAwsgBBBuCyACEFoMDwsgCSADNgIcQdSJC0EANgIAQc8BIAEQBiFBQdSJCygCACFAQdSJC0EANgIAIEBBAUYNBiBBKAIEIARLBEBB1IkLQQA2AgBBxwEgASAEEAIhA0HUiQsoAgAhQkHUiQtBADYCACBCQQFGDQdB1IkLQQA2AgBB6wEgACADEAIhAkHUiQsoAgAhQ0HUiQtBADYCACBDQQFGDQcgBiACNgKYAQJAIAMoAigiA0UNACAAKALQAUUNAEHUiQtBADYCAEHsASAGQagBaiAAIAMQCEHUiQsoAgAhREHUiQtBADYCACBEQQFGDQggACgC0AEhA0HUiQtBADYCAEHtASAGQbgBaiADQeAAaiACIAZBmAFqEAVB1IkLKAIAIUVB1IkLQQA2AgAgRUEBRg0IIAYoArgBIgMgBikCqAE3AgwgAyAGKAKwATYCFAsgBEEBaiEEIAkgAjYCIAwGCyACDQVBFBByIQBB1IkLQQA2AgBBzAEgBkEoakG28QAQAiECQdSJCygCACFGQdSJC0EANgIAQQEhBCBGQQFGDQRB1IkLQQA2AgBB0AEgACACIAEQBCEBQdSJCygCACFHQdSJC0EANgIAIEdBAUcEQEEAIQRB1IkLQQA2AgBBzQEgAUGwuQdBzgEQCEHUiQsoAgAhSEHUiQtBADYCACBIQQFHDRALEAAhAyACLAALQQBIBEAgAigCABBaCyAERQ0OIAAQbgwOCxAAIQMMDQsQACEDDAwLEAAhAyAAEG4MCwsQACEDIAAQbgwKCxAAIQMgABBuDAkLIAkgBzoAJEHUiQtBADYCAEHPASABEAYhAkHUiQsoAgAhSUHUiQtBADYCACBJQQFHDQELEAAhAwwHCwJAAkACQCACKAIEIARHBEBBFBByIQBB1IkLQQA2AgBBzAEgBkEcakGhoQEQAiECQdSJCygCACFKQdSJC0EANgIAQQEhBCBKQQFGDQFB1IkLQQA2AgBB0AEgACACIAEQBCEBQdSJCygCACFLQdSJC0EANgIAIEtBAUcEQEEAIQRB1IkLQQA2AgBBzQEgAUGwuQdBzgEQCEHUiQsoAgAhTEHUiQtBADYCACBMQQFHDQwLEAAhAyACLAALQQBIBEAgAigCABBaCyAERQ0KIAAQbgwKCyAAKAIAIgcoArwCIgBFDQIgBygCuAICfyAJKAIAIgIgAEEBa3EgAGkiBEEBTQ0AGiACIAAgAksNABogAiAAcAsiBUECdGooAgAiA0UNAiADKAIAIgNFDQICQCAEQQFNBEAgAEEBayEAA0ACQCACIAMoAgQiBEcEQCAAIARxIAVGDQEMBwsgAygCCCACRg0DCyADKAIAIgMNAAsMBAsDQAJAIAIgAygCBCIERwRAIAAgBE0EfyAEIABwBSAECyAFRg0BDAYLIAMoAgggAkYNAgsgAygCACIDDQALDAMLIAMoAhBFDQJBFBByIQBB1IkLQQA2AgBBzAEgBkEQakH/3wAQAiECQdSJCygCACFNQdSJC0EANgIAQQEhBCBNQQFGDQFB1IkLQQA2AgBB0AEgACACIAEQBCEBQdSJCygCACFOQdSJC0EANgIAIE5BAUcEQEEAIQRB1IkLQQA2AgBBzQEgAUGwuQdBzgEQCEHUiQsoAgAhT0HUiQtBADYCACBPQQFHDQsLEAAhAyACLAALQQBIBEAgAigCABBaCyAERQ0JIAAQbgwJCxAAIQMgABBuDAgLEAAhAyAAEG4MBwsgByAJEOoGGgwBC0HUiQtBADYCAEHtESAFIAIQAhpB1IkLKAIAIVBB1IkLQQA2AgAgUEEBRgRAEAAhAwwGCyAJEFoLIAZBwAFqJAAPC0HUiQtBADYCAEH3ASALIAcQAhpB1IkLKAIAIVFB1IkLQQA2AgAgUUEBRw0ACxAAIQMMAgsQACEDDAELEAAhAwsgCRBaIAMQBwALAAu8AgEFfyMAQSBrIgMkAAJAAkACQAJAIAACfwJAIAItAAANACACLQAcRQ0AIANBGGoiACACEOwBIAAMAQsgAhCLAyIAIAEoAjwgASgCOCIBa0EDdU8EQEEUEHIhAUHUiQtBADYCAEHMASADQQxqQZCfBBACIQBB1IkLKAIAIQVB1IkLQQA2AgBBASEDIAVBAUYNA0HUiQtBADYCAEHQASABIAAgAhAEIQJB1IkLKAIAIQZB1IkLQQA2AgAgBkEBRwRAQQAhA0HUiQtBADYCAEHNASACQbC5B0HOARAIQdSJCygCACEHQdSJC0EANgIAIAdBAUcNAwsQACECIAAsAAtBAEgEQCAAKAIAEFoLIANFDQUMBAsgASAAQQN0agspAAA3AgAgA0EgaiQADwsACxAAIQILIAEQbgsgAhAHAAupAwELfyMAQSBrIgQkACAEQQA2AhwgBEIANwIUAkACQANAQdSJC0EANgIAQc8BIAAQBiEDQdSJCygCACEIQdSJC0EANgIAIAhBAUYNAiABIAMoAgRPDQFB1IkLQQA2AgBBxwEgACABEAIhA0HUiQsoAgAhCUHUiQtBADYCACAJQQFGDQJB1IkLQQA2AgBB1AEgBEEIaiADEANB1IkLKAIAIQpB1IkLQQA2AgAgCkEBRg0CIAFBAWohAUHUiQtBADYCAEHVASAAIAQoAgggBCgCDCAEQRRqEAVB1IkLKAIAIQtB1IkLQQA2AgAgC0EBRw0ACwwBCwJAIAQoAhgiASAEKAIUIgBrIgMgAigCACIFKAIgIAUoAhwiB2siBksEQEHUiQtBADYCAEGuAiAFQRxqIAMgBmsQA0HUiQsoAgAhDEHUiQtBADYCACAMQQFHDQEMAgsgAyAGTw0AIAUgAyAHajYCIAsgACABRwRAIAIoAgAoAhwgACAD/AoAACAAIQELIAEEQCABEFoLIARBIGokAA8LEAAhDSAEKAIUIgEEQCABEFoLIA0QBwALKQAgACgCAEEGRwRAQdKuBkGntwJB9xFB5ZgBEAEACyAAQQhqIAEQ7AQLwTICP38CfiMAQcABayIFJAAgAEEAOgDUASAFQgA3A6ABIAVCADcDmAEgASAFQaABaiIEIAVBmAFqEMwQIQYgBSgCoAEhCQJAIAJFBEAgCUUEQCAEIAAoAoABEPUECyAAIAAoAoABQQFqNgKAAQwBCyAJDQAgBSAAKAIsIAAoAoABQQN0akEIaykCADcDoAELAkACQAJAAkAgBSgCmAEEQEEUEFwiCCAFKQOYASJDNwIAIAUpA6ABIUIgCEEANgIQIAggQjcCCAJAIAAoAgAiDCgCxAEiA0UNACAMKALAAQJ/IEOnIgcgA0EBa3EgA2kiCkEBTQ0AGiAHIAMgB0sNABogByADcAsiC0ECdGooAgAiBEUNACAEKAIAIgRFDQACQCAKQQFNBEAgA0EBayEDA0ACQCAHIAQoAgQiCkcEQCADIApxIAtGDQEMBQsgBCgCCCAHRg0DCyAEKAIAIgQNAAsMAgsDQAJAIAcgBCgCBCIKRwRAIAMgCk0EfyAKIANwBSAKCyALRg0BDAQLIAQoAgggB0YNAgsgBCgCACIEDQALDAELIAQoAhBFDQBBFBByIQJB1IkLQQA2AgBBzAEgBUGMAWpB594AEAIhAEHUiQsoAgAhBEHUiQtBADYCAEEBIQMCQAJAIARBAUcEQEHUiQtBADYCAEHQASACIAAgARAEIQFB1IkLKAIAIQ5B1IkLQQA2AgAgDkEBRwRAQQAhA0HUiQtBADYCAEHNASABQbC5B0HOARAIQdSJCygCACEPQdSJC0EANgIAIA9BAUcNBgsQACEEIAAsAAtBAEgEQCAAKAIAEFoLIANFDQIMAQsQACEECyACEG4LIAgQWiAEEAcACyAMIAgQ3wQaCwJ/AkACfiABEKUCKAIEIAZNBEBBACEHQgAMAQtBACEHAkAgASAGEGkiBC0AAEUNAEGQnAsoAgAhCCAEEKUCKAIERQ0AQQAhAyAEQQAQaS0AAEUNAgtCAAshQ0EAIQNBAAwBCyAFQagBaiAEQQAQaRDsASAIIAUoAqgBRwRAQgAhQ0EADAELIAVBgAFqIAEgBhBpIgRBARBpEOwBIAUpA4ABIUIgBUH4AGogBEECEGkQ7AEgBkEBaiEGIAUpA3giQ0IgiKchByBCpyEDIEJCIIinCyEIQdSJC0EANgIAIAVBATYCdCAFQQA2AnAgBUIANwJoQfoBIAAgASAGIAVB9ABqIAVB6ABqEBAhBEHUiQsoAgAhBkHUiQtBADYCAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgBkEBRwRAIANFDQQgBw0DQRQQciEEQdSJC0EANgIAQcwBIAVB3ABqQc7fABACIQJB1IkLKAIAIRBB1IkLQQA2AgBBASEGIBBBAUYNAUHUiQtBADYCAEHQASAEIAIgARAEIQBB1IkLKAIAIRFB1IkLQQA2AgAgEUEBRwRAQQAhBkHUiQtBADYCAEHNASAAQbC5B0HOARAIQdSJCygCACESQdSJC0EANgIAIBJBAUcNEwsQACEAIAIsAAtBAEgEQCACKAIAEFoLIAYNAgwVCxAAIQAMFAsQACEACyAEEG4MEgsgAkUEQEEUEHIhAkHUiQtBADYCAEHMASAFQdAAakG/5gQQAiEEQdSJCygCACETQdSJC0EANgIAQQEhBiATQQFGDQJB1IkLQQA2AgBB0AEgAiAEIAEQBCEAQdSJCygCACEUQdSJC0EANgIAIBRBAUcEQEEAIQZB1IkLQQA2AgBBzQEgAEGwuQdBzgEQCEHUiQsoAgAhFUHUiQtBADYCACAVQQFHDRALEAAhACAELAALQQBIBEAgBCgCABBaCyAGRQ0SIAIQbgwSC0HUiQtBADYCAEEEQcQBEAYhAkHUiQsoAgAhBEHUiQtBADYCAAJAAkAgBEEBRwRAIAJBCGpBAEG8AfwLACACQgA3AgwgAkEAOgAIIAJCADcCACACQgA3AhRB1IkLQQA2AgAgBUIANwKoASAFQgA3AwhBKSACQRxqIAVBCGoQAiEXQdSJCygCACEWQdSJC0EANgIAIBZBAUYEQBAAIQAgAhBaDBULIAJCADcCICACQgA3AkwgAkIANwJgIAJCADcCjAEgAkFAa0IANwIAIAJCADcCOCACQgA3AjAgAkIANwIoIAJBgICA/AM2AkggAkIANwJUIAJBgICA/AM2AlwgAkIANwJoIAJB+ABqIgZCADcCACACQYCAgPwDNgJwIAJBhAFqIgpCADcCACACIAY2AnQgAiAKNgKAASACQgA3ApQBIAJCADcCoAEgAkGAgID8AzYCnAEgAkIANwKoASACQYCAgPwDNgKwASACQgA3ArQBIAJCADcBugEgBSACNgIcIAUpA6ABIUIgAiBDQv////8PgyAHrUIghoQ3AhQgAiAINgIQIAIgAzYCDCACIAlBAEc6AAggAiBCNwIAIBcgBSgCdCIENgIAQdSJC0EANgIAQfkBIAVBqAFqIABBnAFqIEIgBUGgAWoQwgJB1IkLKAIAIRhB1IkLQQA2AgAgGEEBRg0QIAUoAqgBIAQ2AhggACgCACIIKALYASIHRQ0OIAIoAgAhAwJAIAdpIgZBAU0EQCAHQQFrIANxIQIMAQsgAyICIAdJDQAgAiAHcCECCyAIKALUASACQQJ0aigCACIERQ0OIAQoAgAiBEUNDgJAIAZBAU0EQCAHQQFrIQcDQAJAIAMgBCgCBCIGRwRAIAYgB3EgAkYNAQwTCyAEKAIIIANGDQMLIAQoAgAiBA0ACwwQCwNAAkAgAyAEKAIEIgZHBEAgBiAHTwR/IAYgB3AFIAYLIAJGDQEMEgsgBCgCCCADRg0CCyAEKAIAIgQNAAsMDwsgBCgCEEUNDkEUEHIhBEHUiQtBADYCAEHMASAFQcQAakH/3wAQAiECQdSJCygCACEZQdSJC0EANgIAQQEhBiAZQQFGDQFB1IkLQQA2AgBB0AEgBCACIAEQBCEAQdSJCygCACEaQdSJC0EANgIAIBpBAUcEQEEAIQZB1IkLQQA2AgBBzQEgAEGwuQdBzgEQCEHUiQsoAgAhG0HUiQtBADYCACAbQQFHDRILEAAhACACLAALQQBIBEAgAigCABBaCyAGDQIMEwsQACEADBMLEAAhAAsgBBBuDBALIAIEQEEUEHIhAkHUiQtBADYCAEHMASAFQSxqQcDmBBACIQRB1IkLKAIAIRxB1IkLQQA2AgBBASEGIBxBAUYNAkHUiQtBADYCAEHQASACIAQgARAEIQBB1IkLKAIAIR1B1IkLQQA2AgAgHUEBRwRAQQAhBkHUiQtBADYCAEHNASAAQbC5B0HOARAIQdSJCygCACEeQdSJC0EANgIAIB5BAUcNDwsQACEAIAQsAAtBAEgEQCAEKAIAEFoLIAZFDREgAhBuDBELIAUgBSgCbCAFKAJoa0EMbTYCKCAFQQA2AiQgBUIANwIcAkACQAJAA0BB1IkLQQA2AgBBzwEgARAGIQJB1IkLKAIAIR9B1IkLQQA2AgAgH0EBRg0DIAQgAigCBE8NAkHUiQtBADYCAEHHASABIAQQAiECQdSJCygCACEgQdSJC0EANgIAICBBAUYNAyACLQAARQ0CQeicCygCACEDQdSJC0EANgIAQc8BIAIQBiEiQdSJCygCACEhQdSJC0EANgIAICFBAUYNAyAiKAIERQ0CQdSJC0EANgIAQccBIAJBABACISRB1IkLKAIAISNB1IkLQQA2AgAgI0EBRg0DICQtAAANAkHUiQtBADYCAEHHASACQQAQAiECQdSJCygCACElQdSJC0EANgIAICVBAUYNA0HUiQtBADYCAEHUASAFQagBaiIHIAIQA0HUiQsoAgAhJkHUiQtBADYCACAmQQFGDQMgBSgCqAEgA0cNAkHUiQtBADYCAEHHASABIAQQAiECQdSJCygCACEDQdSJC0EANgIAAkAgA0EBRg0AQdSJC0EANgIAQeERIAcgACACIAVBKGoQBUHUiQsoAgAhJ0HUiQtBADYCACAnQQFGDQBB1IkLQQA2AgBB4hEgBUEcaiAFKAIgIAUoAqgBIgIgBSgCrAEiAyADIAJrQQxtEAxB1IkLKAIAIShB1IkLQQA2AgAgKEEBRg0CIAIEQCACEFoLIARBAWohBAwBCwsQACEADAwLEAAhACACRQ0LIAIQWgwLC0HUiQtBADYCACAFKQOgASAFQegAaiAFKAJ0IgogBUEcakEAEIkMIQJB1IkLKAIAISlB1IkLQQA2AgAgKUEBRg0JIAAoAtABIQMgACACNgLQASADBH8gAxCkAhBaIAAoAtABBSACCyAAKAIINgIgQQAhAgNAAkBB1IkLQQA2AgBBzwEgARAGIQNB1IkLKAIAIQdB1IkLQQA2AgACQAJAIAdBAUcEQCAEIAMoAgRPDQNB1IkLQQA2AgBBxwEgASAEEAIhB0HUiQsoAgAhKkHUiQtBADYCACAqQQFGDQFB1IkLQQA2AgBB6wEgACAHEAIhCEHUiQsoAgAhK0HUiQtBADYCACArQQFGDQEgBSAINgK0ASAAKALQASEDAkAgBygCKCIHRQ0AIANFDQBB1IkLQQA2AgBB7AEgBUGoAWogACAHEAhB1IkLKAIAISxB1IkLQQA2AgAgLEEBRg0CIAAoAtABIQNB1IkLQQA2AgBB7QEgBUG4AWogA0HgAGogCCAFQbQBahAFQdSJCygCACEtQdSJC0EANgIAIC1BAUYNAiAFKAK4ASIDIAUpAqgBNwIMIAMgBSgCsAE2AhQgACgC0AEhAwsgBEEBaiEEIAMoAjANAiADIAg2AjAMBAsQACEADA4LEAAhAAwNCwJ/IAIEQCACKAIUDAELIAAoAgQhA0HUiQtBADYCAEEMIANBIEEEEAQhAkHUiQsoAgAhLkHUiQtBADYCACAuQQFGDQogAkIANwIEIAJBATYCACACQgA3AgwgAkIANwIUIAIgAzYCHCAAKALQASgCMCEHIAJBAjYCGEHUiQtBADYCAEEMIANBCEEEEAQhA0HUiQsoAgAhL0HUiQtBADYCACAvQQFGDQogAiADNgIQIAMgBzYCACACQQE2AhQgACgC0AEgAjYCMEEBCyEGIAIoAhAhBwJAIAIoAhggBkcEQCAHIQMMAQsgAiAGQQF0QQJqIgM2AhggAigCHCEGQdSJC0EANgIAQQwgBiADQQJ0QQQQBCEDQdSJCygCACEwQdSJC0EANgIAIDBBAUYNCiACIAM2AhAgAigCFCIGRQRAQQAhBgwBC0EAIQxBACEDIAZBBE8EQCAGQXxxIQsDQCADQQJ0IgkgAigCEGogByAJaigCADYCACAJQQRyIg0gAigCEGogByANaigCADYCACAJQQhyIg0gAigCEGogByANaigCADYCACAJQQxyIgkgAigCEGogByAJaigCADYCACADQQRqIgMgC0cNAAsLIAZBA3EiCQRAA0AgA0ECdCILIAIoAhBqIAcgC2ooAgA2AgAgA0EBaiEDIAxBAWoiDCAJRw0ACwsgAigCECEDCyADIAZBAnRqIAg2AgAgAiAGQQFqNgIUDAELCwJAAkAgAC0A1AEEQCACRQRAIAAoAgQhBEHUiQtBADYCAEEMIARBIEEEEAQhAkHUiQsoAgAhMUHUiQtBADYCACAxQQFGDQwgAkIANwIEIAJBATYCACACQgA3AgwgAkIANwIUIAIgBDYCHCAAKALQASgCMCEDIAJBAjYCGEHUiQtBADYCAEEMIARBCEEEEAQhBEHUiQsoAgAhMkHUiQtBADYCACAyQQFGDQwgAiAENgIQIAQgAzYCACACQQE2AhQgACgC0AEgAjYCMAsgAkH4nAspAwA3AggMAQsgAkUNAQsCQAJAIApBEE8EQCAKKAIQRQ0BC0HUiQtBADYCAEENQeGVBkG4swJB2wlBj+IDEAVB1IkLKAIAITNB1IkLQQA2AgAgM0EBRg0BDBELIAooAhghBEHUiQtBADYCAEGDAyACIARBAUEAEAVB1IkLKAIAITRB1IkLQQA2AgAgNEEBRw0BCxAAIQAMCwsgACgC0AEiBygCMEUEQCAAKAIEIQJB1IkLQQA2AgBBDCACQQhBBBAEIQJB1IkLKAIAITVB1IkLQQA2AgAgNUEBRg0JIAJCFjcCACAAKALQASACNgIwIAAoAtABIQcLIAEoAigiAgRAQdSJC0EANgIAQewBIAVBqAFqIAAgAhAIQdSJCygCACE2QdSJC0EANgIAIDZBAUYNByAHQfgAaiICIQQCQAJAIAcoAngiA0UNACAFKAKwASEJIAUoAqwBIQYgBSgCqAEhCANAAkACQAJAIAMiBCgCECICIAhHBEAgAiAISw0BIAIgCEkNAwwGCyAEKAIUIgIgBkcEQCACIAZLDQEgAiAGSQ0DDAYLIAkgBCgCGCICTw0BCyAEIgIoAgAiAw0CDAMLIAIgCU8NAwsgBCgCBCIDDQALIARBBGohAgtB1IkLQQA2AgBBBEEcEAYhA0HUiQsoAgAhN0HUiQtBADYCACA3QQFGDQcgAyAFKQKoATcCECADIAUoArABNgIYIAMgBDYCCCADQgA3AgAgAiADNgIAIAcoAnQoAgAiBARAIAcgBDYCdCACKAIAIQMLIAcoAnggAxBnIAcgBygCfEEBajYCfAsgACgC0AEhBwsCQAJAAkAgASgCLCICBEBB1IkLQQA2AgBB7AEgBUGoAWogACACEAhB1IkLKAIAIThB1IkLQQA2AgAgOEEBRg0BIAdBhAFqIgIhBAJAAkAgBygChAEiA0UNACAFKAKwASEJIAUoAqwBIQYgBSgCqAEhCANAAkACQAJAIAMiBCgCECICIAhHBEAgAiAISw0BIAIgCEkNAwwGCyAEKAIUIgIgBkcEQCACIAZLDQEgAiAGSQ0DDAYLIAkgBCgCGCICTw0BCyAEIgIoAgAiAw0CDAMLIAIgCU8NAwsgBCgCBCIDDQALIARBBGohAgtB1IkLQQA2AgBBBEEcEAYhA0HUiQsoAgAhOUHUiQtBADYCACA5QQFGDQMgAyAFKQKoATcCECADIAUoArABNgIYIAMgBDYCCCADQgA3AgAgAiADNgIAIAcoAoABKAIAIgQEQCAHIAQ2AoABIAIoAgAhAwsgBygChAEgAxBnIAcgBygCiAFBAWo2AogBCyAAKALQASEHCyAAKAIAIggoAtgBIgINAgwHCxAAIQAMDAsQACEADAsLIAgoAtQBAn8gBygCACIDIAJBAWtxIAJpIgZBAU0NABogAyACIANLDQAaIAMgAnALIglBAnRqKAIAIgRFDQQgBCgCACIERQ0EAkAgBkEBTQRAIAJBAWshAgNAAkAgAyAEKAIEIgZHBEAgAiAGcSAJRw0JDAELIAQoAgggA0YNAwsgBCgCACIEDQALDAYLA0ACQCADIAQoAgQiBkcEQCACIAZNBH8gBiACcAUgBgsgCUcNCAwBCyAEKAIIIANGDQILIAQoAgAiBA0ACwwFCyAEKAIQRQ0EQRQQciECQdSJC0EANgIAQcwBIAVBEGpBotICEAIhBEHUiQsoAgAhOkHUiQtBADYCAEEBIQYgOkEBRg0DQdSJC0EANgIAQdABIAIgBCABEAQhAEHUiQsoAgAhO0HUiQtBADYCACA7QQFHBEBBACEGQdSJC0EANgIAQc0BIABBsLkHQc4BEAhB1IkLKAIAITxB1IkLQQA2AgAgPEEBRw0PCxAAIQAgBCwAC0EASARAIAQoAgAQWgsgBkUNCiACEG4MCgsQACEADAkLEAAhACACEG4MDwsQACEAIAIQbgwOCxAAIQAgAhBuDAYLIABBADYC0AFB1IkLQQA2AgBBKiAIIAcQAhpB1IkLKAIAIT1B1IkLQQA2AgAgPUEBRg0DIAAgACgC2AE2AtwBIABB6AFqIgEoAgAQkQUgACABNgLkASAAQgA3AugBIABB9AFqIgEoAgAQjwMgACABNgLwASAAQgA3AvQBIAUoAhwiAEUNByAAEFoMBwsQACEADAQLEAAhAAwDCxAAIQAMAgsQACEADAELEAAhAAsgBSgCHCIBRQ0GIAEQWgwGC0HUiQtBADYCAEEtIAggBUEcahACGkHUiQsoAgAhPkHUiQtBADYCACA+QQFGDQEgACgC0AEEQEEUEHIhAkHUiQtBADYCAEHMASAFQThqQd/pBBACIQRB1IkLKAIAIT9B1IkLQQA2AgBBASEGID9BAUYNBEHUiQtBADYCAEHQASACIAQgARAEIQBB1IkLKAIAIUBB1IkLQQA2AgAgQEEBRwRAQQAhBkHUiQtBADYCAEHNASAAQbC5B0HOARAIQdSJCygCACFBQdSJC0EANgIAIEFBAUcNBAsQACEAIAQsAAtBAEgEQCAEKAIAEFoLIAZFDQUgAhBuDAULIAAgACgC2AE2AtwBIABB6AFqIgEoAgAQkQUgACABNgLkASAAQgA3AugBIABB9AFqIgEoAgAQjwMgACABNgLwASAAQgA3AvQBIAUoAhwiAEUNACAAEKQCEFoLIAUoAmgiAARAIAAQWgsgBUHAAWokAA8LEAAhAAwCCwALEAAhACACEG4LIAVBHGoQxwILIAUoAmgiAQRAIAEQWgsgABAHAAt/AQV/IwBBEGsiAiQAA0ACQCABIAAQpQIoAgQiBE8NAAJAIAAgARBpIgMtAABFDQBBkJwLKAIAIQUgAxClAigCBEUNACADQQAQaS0AAA0AIAJBCGogA0EAEGkQ7AEgAigCCCAFRg0BCyABQQFqIQEMAQsLIAJBEGokACABIARJC5YEAg1/AX4CQAJAAkAgACgCBCIDRQ0AIANBBE8EQCADQXxxIQUDQCACQQJ0IgQgACgCAGpBADYCACAAKAIAIARqQQA2AgQgACgCACAEakEANgIIIAAoAgAgBGpBADYCDCACQQRqIgIgBUcNAAsLIANBA3EiAwRAA0AgACgCACACQQJ0akEANgIAIAJBAWohAiAGQQFqIgYgA0cNAAsLIAAoAgghAiAAQgA3AgggAkUNAANAIAFFBEADQCACKAIAIQcgAhBaIAciAg0ADAQLAAsgAiABKAIINgIIIAIgASkCDDcCDCACKAIAIQlB1IkLQQA2AgBB4BEgACACEAIaQdSJCygCACEIQdSJC0EANgIAIAhBAUYNAyABKAIAIQEgCSICDQALCyABRQ0AA0BBFBBcIgIgASgCEDYCECACIAEpAggiDzcCCCACIA8+AgQgAkEANgIAQdSJC0EANgIAQeARIAAgAhACGkHUiQsoAgAhCkHUiQtBADYCACAKQQFGBEAQACELIAIQWiALEAcACyABKAIAIgENAAsLDwtBABALEA4aA0AgAigCACEMIAIQWiAMIgINAAtB1IkLQQA2AgBB1QAQCUHUiQsoAgAhDUHUiQtBADYCACANQQFGBEAQACEAQdSJC0EANgIAQRwQCUHUiQsoAgAhDkHUiQtBADYCACAOQQFHBEAgABAHAAtBABALGhBwCwAL5QwCD38CfSMAQRBrIgkkAAJAIAACfwJAIAEoAgQiBEUNAAJAIARpIgVBAU0EQCAEQQFrIAJxIQYMAQsgBCACIgZLDQAgBiAEcCEGCyABKAIAIAZBAnRqKAIAIghFDQAgCCgCACIHRQ0AIAVBAU0EQCAEQQFrIQUDQAJAIAIgBygCBCIIRwRAIAUgCHEgBkcNBAwBCyAHKAIIIAJHDQBBAAwECyAHKAIAIgcNAAsMAQsDQAJAIAIgBygCBCIFRwRAIAQgBU0EfyAFIARwBSAFCyAGRw0DDAELIAcoAgggAkcNAEEADAMLIAcoAgAiBw0ACwtBIBBcIQcgCSABQQhqIgw2AgggCSAHNgIEIAMoAgAhAyAHQgA3AgwgByADNgIIIAdCADcCFCAHQYCAgPwDNgIcIAlBAToADCAHQQA2AgAgByACNgIEIAEqAhAhEyABKAIMQQFqsyEUAkACQCAERQ0AIBMgBLOUIBRdDQAgBiECDAELQQIhAwJAIAQgBEEBa3FBAEcgBEEDSXIgBEEBdHIiBgJ/IBQgE5WNIhNDAACAT10gE0MAAAAAYHEEQCATqQwBC0EACyIFIAUgBkkbIgZBAUYNACAGIAZBAWtxRQRAIAYhAwwBC0HUiQtBADYCAEEVIAYQBiEDQdSJCygCACEOQdSJC0EANgIAIA5BAUYNAyABKAIEIQQLAkACQCADIARNBEAgAyAETw0CIARBA0khBQJ/IAEoAgyzIAEqAhCVjSITQwAAgE9dIBNDAAAAAGBxBEAgE6kMAQtBAAshBgJAAkAgBQ0AIARpQQFLDQAgBkEBQSAgBkEBa2drdCAGQQJJGyEFDAELQdSJC0EANgIAQRUgBhAGIQVB1IkLKAIAIQ9B1IkLQQA2AgAgD0EBRg0GCyAEIAMgBSADIAVLGyIDTQRAIAEoAgQhBAwDCyADRQ0BCyADQYCAgIAETwRAQdSJC0EANgIAQQMQCUHUiQsoAgAhEEHUiQtBADYCACAQQQFGDQUAC0HUiQtBADYCAEEEIANBAnQQBiEGQdSJCygCACERQdSJC0EANgIAIBFBAUYNBCABKAIAIQQgASAGNgIAIAQEQCAEEFoLIAEgAzYCBEEAIQZBACEEIANBBE8EQCADQfz///8DcSEIA0AgBEECdCIFIAEoAgBqQQA2AgAgASgCACAFakEANgIEIAEoAgAgBWpBADYCCCABKAIAIAVqQQA2AgwgBEEEaiIEIAhHDQALCyADQQNxIgUEQANAIAEoAgAgBEECdGpBADYCACAEQQFqIQQgBkEBaiIGIAVHDQALCyABKAIIIgRFBEAgAyEEDAILIAQoAgQhCAJAIAMgA0EBayIKcQRAIAMgCE0EQCAIIANwIQgLIAEoAgAgCEECdGogDDYCACAEKAIAIgYNASADIQQMAwsgASgCACAIIApxIghBAnRqIAw2AgAgBCgCACIFRQRAIAMhBAwDCwNAAkAgCCAFKAIEIApxIgZGBEAgBSEEDAELIAZBAnQiCyABKAIAaiINKAIABEAgBCAFKAIANgIAIAUgASgCACALaigCACgCADYCACABKAIAIAtqKAIAIAU2AgAMAQsgDSAENgIAIAUhBCAGIQgLIAQoAgAiBQ0ACyADIQQMAgsDQCADIAYoAgQiBU0EQCAFIANwIQULAkAgBSAIRgRAIAYhBAwBCyAFQQJ0IgogASgCAGoiCygCAEUEQCALIAQ2AgAgBiEEIAUhCAwBCyAEIAYoAgA2AgAgBiABKAIAIApqKAIAKAIANgIAIAEoAgAgCmooAgAgBjYCAAsgBCgCACIGDQALIAMhBAwBCyABKAIAIQNBACEEIAFBADYCACADBEAgAxBaCyABQQA2AgQLIAQgBEEBayIDcUUEQCACIANxIQIMAQsgAiAESQ0AIAIgBHAhAgsCQAJAIAEoAgAgAkECdGoiAigCACIFRQRAIAcgASgCCDYCACABIAc2AgggAiAMNgIAIAcoAgAiAkUNAiACKAIEIQUCQCAEIARBAWsiAnFFBEAgAiAFcSEFDAELIAQgBUsNACAFIARwIQULIAEoAgAgBUECdGohBQwBCyAHIAUoAgA2AgALIAUgBzYCAAsgASABKAIMQQFqNgIMQQELOgAEIAAgBzYCACAJQRBqJAAPCxAAIRIgCUEEahCOBiASEAcAC9UWAhh/AX4jAEGAAWsiBCQAIAAoAhghCAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABQQFBAkEBIAFBARBpIgItABwbIAItAAAbEGkiA0EAEGkiAi0AAA0AQfCbCykDACEaIARB1ABqIgUgAhDsASAEKAJUIBqnRgRAAn8CQCADQQEQaSIGLQAADQBB+JsLKQMAIRogBSAGEOwBIAQoAlQgGqdHDQBBAgwBCyAAKAIEKAIAIgUgACgCACgCACIGKAJQIAYoAkwiBmtBA3VPDQUgBiAFQQN0aigCAEEBOgABQQELIQVBACEGIAMCfyAFIAMgBRBpIgctAAANABogBSAHLQAcRQ0AGiADIAUQaSEGIAVBAWoLIgcQaSEFIAMQpQIoAgQgB0EBakcEQEEUEHIhAUHUiQtBADYCAEHMASAEQfQAakHU5QIQAiEDQdSJCygCACEJQdSJC0EANgIAIAlBAUYNBkHUiQtBADYCAEHQASABIAMgAhAEIQBB1IkLKAIAIQpB1IkLQQA2AgBBASEEIApBAUcEQEEAIQRB1IkLQQA2AgBBzQEgAEGwuQdBzgEQCEHUiQsoAgAhC0HUiQtBADYCACALQQFHDRELEAAhACADLAALQQBIBEAgAygCABBaCyAERQ0PIAEQbgwPCwJAIAUtAAAEQCAFEKUCKAIEDQELQRQQciEBQdSJC0EANgIAQcwBIARB6ABqQerOAhACIQJB1IkLKAIAIQxB1IkLQQA2AgBBASEEIAxBAUYNB0HUiQtBADYCAEHQASABIAIgBRAEIQBB1IkLKAIAIQ1B1IkLQQA2AgAgDUEBRwRAQQAhBEHUiQtBADYCAEHNASAAQbC5B0HOARAIQdSJCygCACEOQdSJC0EANgIAIA5BAUcNEQsQACEAIAIsAAtBAEgEQCACKAIAEFoLIARFDQ8gARBuDA8LAkACQAJAIAVBABBpIgMtAAANAEGInAspAwAhGiAEQdQAaiADEOwBIAQoAlQgGqdHDQAgBEHgAGogACgCCCAFEK4QIAAoAgQoAgAiAiAAKAIAKAIAIgMoAlAgAygCTCIDa0EDdU8NEyADIAJBA3RqIgMoAgAiAiAEKQNgIho+AhQgAkEANgIQIAIgGkIgiD4CGCADQQE6AAQMAQsCQCACLQAADQBBqJ0LKQMAIRogBEHUAGogAhDsASAEKAJUIBqnRw0AIAAoAgwoAgAgBRCtECECIAAoAgQoAgAiAyAAKAIAKAIAIgUoAlAgBSgCTCIFa0EDdU8NFCAFIANBA3RqIgMoAgAiBSACNgIUIAVBATYCECADQQE6AAQMAQsgAy0AAA0BQaibCykDACEaIARB1ABqIgIgAxDsASAEKAJUIBqnRgRAIAIgACgCECAFIAAoAgQoAgAQrBAgACgCACgCACICKAJQIQMgAigCTCECIAAoAgQoAgAhBUHUiQtBADYCAEG+AiACIAMgBSAEKAJUIgIgBCgCWBAMQdSJCygCACEPQdSJC0EANgIAIA9BAUcEQCACRQ0CIAIQWgwCCxAAIQAgAkUNESACEFoMEQsgAy0AAA0BQbibCykDACEaIARB1ABqIgIgAxDsASAEKAJUIBqnRw0BIARByABqIAAoAhQoAgAgBUEBEGkgAhCzCyAAKAIEKAIAIgIgACgCACgCACIDKAJQIAMoAkwiA2tBA3VPDRQgBCgCUCEFIAMgAkEDdGoiAygCACICIAQpA0g3AhQgAkEDNgIQIAIgBTYCHCADQQE6AAQLIAZFDQQgBEHUAGoiAiAGEJoEIAgoAhggCCgCHCACELwLIQIgBCwAX0EASARAIAQoAlQQWgsCQCAGLQAADQAgBi0AHEUNACACDQQLQRQQciECQdSJC0EANgIAQcwBIARBCGpBv+UDEAIhA0HUiQsoAgAhEEHUiQtBADYCAEEBIQQgEEEBRg0KQdSJC0EANgIAQf0BIAIgAyABIAYQDSEAQdSJCygCACERQdSJC0EANgIAIBFBAUcEQEEAIQRB1IkLQQA2AgBBzQEgAEGwuQdBzgEQCEHUiQsoAgAhEkHUiQtBADYCACASQQFHDRELEAAhACADLAALQQBIBEAgAygCABBaCyAERQ0PIAIQbgwPC0EUEHIhAkHUiQtBADYCAEHMASAEQTxqQdbFBBACIQRB1IkLKAIAIRNB1IkLQQA2AgBBASEBIBNBAUYNB0HUiQtBADYCAEHQASACIAQgAxAEIQBB1IkLKAIAIRRB1IkLQQA2AgAgFEEBRwRAQQAhAUHUiQtBADYCAEHNASAAQbC5B0HOARAIQdSJCygCACEVQdSJC0EANgIAIBVBAUcNEAsQACEAIAQsAAtBAEgEQCAEKAIAEFoLIAFFDQ4gAhBuDA4LIAItAAANAEGInAspAwAhGiAEQdQAaiACEOwBIAQoAlQgGqdGBEAgBEEwaiAAKAIIIAMQrhAgACgCBCgCACIBIAAoAgAoAgAiAigCUCACKAJMIgJrQQN1Tw0QIAIgAUEDdGoiAigCACIBIAQpAzAiGj4CFCABQQA2AhAgASAaQiCIPgIYIAJBAToABAwDCyACLQAADQBBqJ0LKQMAIRogBEHUAGogAhDsASAEKAJUIBqnRgRAIAAoAgwoAgAgAxCtECEBIAAoAgQoAgAiAiAAKAIAKAIAIgMoAlAgAygCTCIDa0EDdU8NESADIAJBA3RqIgIoAgAiAyABNgIUIANBATYCECACQQE6AAQMAwsgAi0AAA0AQaibCykDACEaIARB1ABqIgEgAhDsASAEKAJUIBqnRgRAIAEgACgCECADIAAoAgQoAgAQrBAgACgCACgCACIBKAJQIQIgASgCTCEBIAAoAgQoAgAhA0HUiQtBADYCAEG+AiABIAIgAyAEKAJUIgEgBCgCWBAMQdSJCygCACEWQdSJC0EANgIAIBZBAUcEQCABRQ0EIAEQWgwECxAAIQAgAUUNDiABEFoMDgsgAi0AAA0AQbibCykDACEaIARB1ABqIgEgAhDsASAEKAJUIBqnRw0AIARBIGogACgCFCgCACADQQEQaSABELMLIAAoAgQoAgAiASAAKAIAKAIAIgIoAlAgAigCTCICa0EDdU8NESAEKAIoIQMgAiABQQN0aiICKAIAIgEgBCkDIDcCFCABQQM2AhAgASADNgIcIAJBAToABAwCC0EUEHIhA0HUiQtBADYCAEHMASAEQRRqQavFBBACIQRB1IkLKAIAIRdB1IkLQQA2AgBBASEBIBdBAUYNBkHUiQtBADYCAEHQASADIAQgAhAEIQBB1IkLKAIAIRhB1IkLQQA2AgAgGEEBRwRAQQAhAUHUiQtBADYCAEHNASAAQbC5B0HOARAIQdSJCygCACEZQdSJC0EANgIAIBlBAUcNDgsQACEAIAQsAAtBAEgEQCAEKAIAEFoLIAFFDQwMCwsgACgCACgCACIBKAJQIAEoAkwiAWtBA3UiAyACKAIUIgJNDQcgAyAAKAIEKAIAIgVNDQggASACQQN0aigCACICQQ9NDQkgASAFQQN0aigCACACNgIECyAAKAIEIgAgACgCAEEBajYCACAEQYABaiQADwtBucMGQbizAkHSE0Gt4gIQAQALEAAhACABEG4MCAsQACEAIAEQbgwHCxAAIQAgAhBuDAYLEAAhAAwECxAAIQAgAhBuDAQLQbnDBkG4swJBphNBt4kEEAEAC0G5wwZBuLMCQbkTQaOMBBABAAtBg6EGQbizAkGfA0GfywIQAQALIAMQbgsgABAHCwALQbnDBkG4swJBjRNBn4kEEAEAC0G5wwZBuLMCQZITQZ+JBBABAAtBucMGQbizAkGhE0GfiQQQAQAL3xACHX8CfSMAQUBqIgUkACAAKAIAIQgCQAJAAkACQAJAIAFBARBpIgItAAANACACLQAcRQ0AIAVBKGogAUEBEGkQmgQgACgCBCECAkACQAJAAkACQAJAAkACQAJAAkAgBSwAMyIRQQBOBEAgBSAFKAIwNgIgIAUgBSkCKDcDGAwBC0HUiQtBADYCAEHUACAFQRhqIAUoAiggBSgCLBAIQdSJCygCACEWQdSJC0EANgIAIBZBAUYNAQsgBSACKAIAIhI2AiQgBSgCHCIUIAUsACMiDkH/AXEgDkEASCIHIgIbIgwhBiAFKAIYIhMgBUEYaiILIAIbIgkhBAJAIAwiA0EESQ0AIAMiAkEEayIDQQRxRQRAIBNBBGogC0EEciAHGyEEIAkoAABBldPH3gVsIgJBGHYgAnNBldPH3gVsIAZBldPH3gVscyEGIAMiAkEESQ0BCyACIQMDQCAEKAAEQZXTx94FbCICQRh2IAJzQZXTx94FbCAEKAAAQZXTx94FbCICQRh2IAJzQZXTx94FbCAGQZXTx94FbHNBldPH3gVscyEGIARBCGohBCADQQhrIgNBA0sNAAsLAkACQAJAAkAgA0EBaw4DAgEAAwsgBC0AAkEQdCAGcyEGCyAELQABQQh0IAZzIQYLIAYgBC0AAHNBldPH3gVsIQYLIAhBGGohDSAGQQ12IAZzQZXTx94FbCICQQ92IAJzIQcgCCgCHCIGRQ0CIA0oAgACfyAHIAZBAWtxIAZpIgJBAU0NABogByAGIAdLDQAaIAcgBnALIg9BAnRqKAIAIgNFDQIgAygCACIERQ0CIAJBAUsNASAGQQFrIRADQAJAIAcgBCgCBCICRwRAIAIgEHEgD0cNBQwBCyAEKAIMIgIgBC0AEyILIAvAIgpBAEgiFRsgDEcNACAEQQhqIQMgFUUEQCAJIQIgCkUEQEEBIQoMBwsDQCADLQAAIAItAABHDQJBASEKIAJBAWohAiADQQFqIQMgC0EBayILDQALDAYLIAMoAgAgCSACEF4NAEEBIQoMBQsgBCgCACIEDQALDAILEAAhBAwMCwNAAkAgByAEKAIEIgJHBEAgAiAGTwR/IAIgBnAFIAILIA9HDQMMAQsgBCgCDCICIAQtABMiCyALwCIKQQBIIhAbIAxHDQAgBEEIaiEDIBBFBEAgCSECIApFBEBBASEKDAULA0AgAy0AACACLQAARw0CQQEhCiACQQFqIQIgA0EBaiEDIAtBAWsiCw0ACwwECyADKAIAIAkgAhBeDQBBASEKDAMLIAQoAgAiBA0ACwtB1IkLQQA2AgBBBEEYEAYhAkHUiQsoAgAhF0HUiQtBADYCACAXQQFGDQEgBSAIQSBqIgk2AjggBSACNgI0IAJBCGohAyAFQQA6ADwCQCAOQQBOBEAgAyAFKQMYNwIAIAMgBSgCIDYCCAwBC0HUiQtBADYCAEHUACADIBMgFBAIQdSJCygCACEYQdSJC0EANgIAIBhBAUYNCCAFKAIkIRILIAIgEjYCFCAFQQE6ADwgAkEANgIAIAIgBzYCBCAIKgIoIR8gCCgCJEEBarMhIAJAAkAgBkUNACAfIAazlCAgXQ0AIA8hBwwBC0ECIQQCQCAGIAZBAWtxQQBHIAZBA0lyIAZBAXRyIgICfyAgIB+VjSIfQwAAgE9dIB9DAAAAAGBxBEAgH6kMAQtBAAsiAyACIANLGyICQQFGDQAgAiACQQFrcUUEQCACIQQMAQtB1IkLQQA2AgBBFSACEAYhBEHUiQsoAgAhGUHUiQtBADYCACAZQQFGDQoLAkAgCCgCHCICIARPBEAgAiAETQ0BIAJBA0khDAJ/IAgoAiSzIAgqAiiVjSIfQwAAgE9dIB9DAAAAAGBxBEAgH6kMAQtBAAshAwJAAkAgDA0AIAJpQQFLDQAgA0EBQSAgA0EBa2drdCADQQJJGyEDDAELQdSJC0EANgIAQRUgAxAGIQNB1IkLKAIAIRpB1IkLQQA2AgAgGkEBRg0MCyAEIAMgAyAESRsiBCACTw0BC0HUiQtBADYCAEHfESANIAQQA0HUiQsoAgAhG0HUiQtBADYCACAbQQFGDQoLIAgoAhwiBiAGQQFrIgJxRQRAIAIgB3EhBwwBCyAGIAdLDQAgByAGcCEHCyAFKAI0IQICQCAHQQJ0IgQgDSgCAGooAgAiA0UEQCACIAgoAiA2AgAgCCAFKAI0NgIgIA0oAgAgBGogCTYCACAFKAI0IgIoAgAiA0UNASADKAIEIQQCQCAGIAZBAWsiA3FFBEAgAyAEcSEEDAELIAQgBkkNACAEIAZwIQQLIA0oAgAgBEECdGogAjYCAAwBCyACIAMoAgA2AgAgAyAFKAI0NgIACyAIIAgoAiRBAWo2AiRBACEKIAUtACMhDgsgDsBBAEgEQCAFKAIYEFoLIApFDQRBFBByIQNB1IkLQQA2AgBBzAEgBUEMakHv+wMQAiEAQdSJCygCACEcQdSJC0EANgIAQQEhAiAcQQFGDQFB1IkLQQA2AgBB0AEgAyAAIAEQBCEBQdSJCygCACEdQdSJC0EANgIAIB1BAUYNAkEAIQJB1IkLQQA2AgBBzQEgAUGwuQdBzgEQCEHUiQsoAgAhHkHUiQtBADYCACAeQQFGDQIACxAAIQQMBwsQACEEDAELEAAhBCAALAALQQBIBEAgACgCABBaCyACRQ0GCyADEG4MBQsgEUEATg0AIAUoAigQWgsgACgCBCIAIAAoAgBBAWo2AgAgBUFAayQADwsQACEEIAVBNGoQ0wUMAQsQACEEIAVBNGoQ0wULIAUsACNBAE4NACAFKAIYEFoLIBFBAEgEQCAFKAIoEFoLIAQQBwALQQACQCAAKAIAQTxGBEAgAUUNASAAIAE2AhgPC0HkrwZBp7cCQdIfQaSBARABAAtB+PQBQae3AkHTH0GkgQEQAQALnwYBDH8jAEEgayIIJAACQCADKAIEIAMoAgAiBGsiBiACIAZqIgVJBEAgAyACEPoEIAMoAgAhBAwBCyAFIAZPDQAgAyAEIAVqNgIECyAEIAZqIQcgAkEASgRAIAEgAmohCQNAQQEhAgJAIAEtAAAiBEHcAEcNAAJAAkACQAJAAkAgCSABQQFqTQRAQRQQciEBQdSJC0EANgIAQcwBIAhBFGpBzrgEEAIhBUHUiQsoAgAhCkHUiQtBADYCACAKQQFGDQFB1IkLQQA2AgBB0AEgASAFIAAQBCEDQdSJCygCACELQdSJC0EANgIAIAtBAUcEQEEAIQJB1IkLQQA2AgBBzQEgA0GwuQdBzgEQCEHUiQsoAgAhDEHUiQtBADYCACAMQQFHDQMLEAAhBCAFLAALQQBIBEAgBSgCABBaCyACDQQMBQsgAS0AASIGwCEFQQIhAkEKIQQCQAJAAkACQAJAIAZB3ABrDhkDBAQEBAQEBAQEBAQEBAQEBAQKBAQEAgQBAAsgBkEiaw4GAgMDAwMCAwtBCSEEDAgLQQ0hBAwHCyAFIQQMBgsgCSABQQJqTQRAQRQQciEBQdSJC0EANgIAQcwBIAhBCGpBzrgEEAIhBUHUiQsoAgAhDUHUiQtBADYCAEEBIQIgDUEBRg0DQdSJC0EANgIAQdABIAEgBSAAEAQhA0HUiQsoAgAhDkHUiQtBADYCACAOQQFHBEBBACECQdSJC0EANgIAQc0BIANBsLkHQc4BEAhB1IkLKAIAIQ9B1IkLQQA2AgAgD0EBRw0DCxAAIQQgBSwAC0EASARAIAUoAgAQWgsgAg0EDAULIAUQyRAhAiABLAACEMkQIAJBBHRyIQRBAyECDAULEAAhBAwCCwALEAAhBAsgARBuCyAEEAcACyAHIAQ6AAAgB0EBaiEHIAEgAmoiASAJSQ0ACyADKAIAIQQLIAQgB0sEQEGsoQZBiZoCQZMbQacYEAEACyAHIARrIgEgAygCBCAEayIATQRAIAAgAUsEQCADIAEgBGo2AgQLIAhBIGokAA8LQdGRBkGJmgJBlRtBpxgQAQALrwQBDH8jAEGgAWsiAiQAIAJBoJIKNgJQIAJBjJIKNgIQIAJB5JEKNgIYIAJBADYCFCACQdAAaiIGIAJBHGoiAxDtASACQfiRCjYCUCACQdCRCjYCECACQoCAgIBwNwKYASACQeSRCjYCGCADEO4BIgRBuIwKNgIAIAJCADcCRCACQgA3AjwgAkEYNgJMQdSJC0EANgIAQd4RIAJBGGogARACIQdB1IkLKAIAIQFB1IkLQQA2AgACQAJAAkAgAUEBRwRAQdSJC0EANgIAQR0gAkEEaiAEEANB1IkLKAIAIQxB1IkLQQA2AgAgDEEBRg0BQdAAIAIoAgggAi0ADyIBIAHAIghBAEgiCRsiASABQdAATxshAyACKAIEIQUCQAJAIAFBC08EQEHUiQtBADYCAEEEIANBD3JBAWoiChAGIQFB1IkLKAIAIQ1B1IkLQQA2AgAgDUEBRg0FIAAgATYCACAAIAM2AgQgACAKQYCAgIB4cjYCCCABIQAMAQsgACADOgALIAFFDQELIAAgBSACQQRqIAkbIAP8CgAACyAAIANqQQA6AAAgAiwAD0EASARAIAIoAgQQWgsgAkH4kQo2AlAgAkHQkQo2AhAgB0HkkQo2AgAgBEG4jAo2AgAgAiwAR0EASARAIAIoAjwQWgsgBBDrARogBhDoARogAkGgAWokAA8LEAAhAAwCCxAAIQAMAQsQACEAIAhBAE4NACAFEFoLIAJBEGoQzgMaIAAQBwAL+QQBCH8jAEEgayIDJAACQAJAIAEoAgQgAS0ACyIEIATAIgdBAEgbIgZBAmoiBEHw////B0kEQAJAAkAgBEELTwRAIARBD3JBAWoiCBBcIQUgAyAENgIUIAMgBTYCECADIAhBgICAgHhyNgIYDAELIANBADYCGCADQgA3AxAgAyAEOgAbIANBEGohBSAGRQ0BCyAFIAEoAgAgASAHQQBIGyAG/AoAAAsgBSAGaiIBQQA6AAIgAUG6wAA7AABB1IkLQQA2AgBB3REgA0EEaiIBIAIQA0HUiQsoAgAhBEHUiQtBADYCAAJAAkACQAJAIARBAUcEQEHUiQtBADYCAEGMAiADQRBqIAMoAgQgASADLQAPIgHAQQBIIgQbIAMoAgggASAEGxAEIQFB1IkLKAIAIQlB1IkLQQA2AgAgCUEBRg0BIAEoAgQhBSABKAIAIQQgAyABLQAKOgAeIAMgAS8BCDsBHCABQgA3AgAgASwACyEGIAFBADYCCCACKAIkIQcgAigCICECIAZBAE4NBkHUiQtBADYCAEHUACAAIAQgBRAIQdSJCygCACEKQdSJC0EANgIAIApBAUYNAiAAIAc2AhAgACACNgIMIAQQWgwHCxAAIQEMAwsQACEBDAELEAAhASAEEFoLIAMsAA9BAE4NACADKAIEEFoLIAMsABtBAEgEQCADKAIQEFoLIAEQBwALEOoBAAsgACAFNgIEIAAgBDYCACAAIAMvARw7AQggACADLQAeOgAKIAAgBzYCECAAIAI2AgwgACAGOgALCyADLAAPQQBIBEAgAygCBBBaCyABLAALQQBIBEAgASgCABBaCyADQSBqJAAgAAvyAQEEfwJAAkACQCAAKAIEIgAoAlAiAkUNACABKAIAIQFBASEDIAAoAkwCfyACQQFrIAFxIAJpIgVBAU0NABogASABIAJJDQAaIAEgAnALIgRBAnRqKAIAIgBFDQIgACgCACIARQ0CIAVBAU0EQCACQQFrIQIDQAJAIAEgACgCBCIDRwRAIAIgA3EgBEcNBAwBCyAAKAIIIAFGDQQLIAAoAgAiAA0ACwwBCwNAAkAgASAAKAIEIgNHBEAgAiADTQR/IAMgAnAFIAMLIARHDQMMAQsgACgCCCABRg0DCyAAKAIAIgANAAsLQQEPC0EAIQMLIAMLFQAgAUGo6Qc2AgAgASAAKAIENgIECyYAIAAoAgBBPEcEQEHkrwZBp7cCQd0fQcPMAhABAAsgACABOgAcCx0BAX9BCBBcIgFBqOkHNgIAIAEgACgCBDYCBCABC6oHAgp/AX4jAEHQAGsiBCQAIAQgATcDOAJAAkACQCACKAIQIgUEQAJAIAUgBEE4aiAFKAIAKAIYEQQABEAgACABNwIADAELIAFCIIgiDqciBUHw////B08NAgJAAkAgBUELTwRAIAVBD3JBAWoiBxBcIQYgBCAHQYCAgIB4cjYCMCAEIAY2AiggBCAFNgIsDAELIAQgDjwAMyAEQShqIQYgBUUNAQsgBiABpyAF/AoAAAsgBSAGakEAOgAAQdSJC0EANgIAQdEBIARBKGpB3wAQA0HUiQsoAgAhCEHUiQtBADYCACAIQQFGDQMgBEFAayAEKAIwNgIAIAQgBCkCKDcDOANAQdSJC0EANgIAQboCIARBHGoiBSADEANB1IkLKAIAIQZB1IkLQQA2AgACQAJAAkACQAJAIAZBAUcEQEHUiQtBADYCAEHcESAFIAQoAjggBEE4aiAELQBDIgXAQQBIIgYbIAQoAjwgBSAGGxAEIQVB1IkLKAIAIQlB1IkLQQA2AgAgCUEBRg0BIAQgBSgCCDYCMCAEIAUpAgA3AyggBUIANwIAIAVBADYCCCAEKAIoIQUgBCAEKAIsIAQtADMiBiAGwEEASCIGGzYCTCAEIAUgBEEoaiAGGzYCSEHUiQtBADYCACAEIAQpAkg3AwhBBiAEQRBqIARBCGoQA0HUiQsoAgAhBUHUiQtBADYCAAJAIAVBAUYNACAEIAQpAxA3A0ggAigCECIFRQRAQdSJC0EANgIAQcUAEAlB1IkLKAIAIQpB1IkLQQA2AgAgCkEBRg0EAAsgBSgCACgCGCELQdSJC0EANgIAIAsgBSAEQcgAahACIQVB1IkLKAIAIQxB1IkLQQA2AgAgDEEBRg0AIAVFDQUgBCAEKAIsIAQsADMiBkH/AXEgBkEASCIGGzYCTCAEIAQoAiggBEEoaiAGGzYCSEHUiQtBADYCACAEIAQpAkg3AwBBBiAAIAQQA0HUiQsoAgAhDUHUiQtBADYCACANQQFHDQYLDAILEAAhAAwCCxAAIQAgBCwAJ0EATg0BIAQoAhwQWgwBCxAAIQAgBCwAM0EATg0AIAQoAigQWgsgBCwAQ0EATg0HIAQoAjgQWgwHCyADQQFqIQMLIAQsADNBAEgEQCAEKAIoEFoLIAVFDQALIAQsAENBAE4NACAEKAI4EFoLIARB0ABqJAAPCxDnAgALEOoBAAsQACEAIAQsADNBAE4NACAEKAIoEFogABAHAAsgABAHAAv1AQEGfyAAKAIEIgIgACgCCCIDSQRAIAIgATYCACAAIAJBBGo2AgQPCwJAIAIgACgCACIFa0ECdSIHQQFqIgRBgICAgARJBEBB/////wMgAyAFayIDQQF1IgYgBCAEIAZJGyADQfz///8HTxsiAwR/IANBgICAgARPDQIgA0ECdBBcBUEACyIGIAdBAnRqIgQgATYCACAEQQRqIQEgAiAFRwRAA0AgBEEEayIEIAJBBGsiAigCADYCACACIAVHDQALIAAoAgAhAgsgACAGIANBAnRqNgIIIAAgATYCBCAAIAQ2AgAgAgRAIAIQWgsPCxBkAAsQagALKwAgASgCACIBKAIAQTZHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAEgABC2BwtpAAJAAkAgACgCAEE8RgRAIAAoAgwgAU0NASACRQ0CIAAoAgggAUECdGogAjYCAA8LQeSvBkGntwJBrB9BnZYBEAEAC0G+jAZBp7cCQa0fQZ2WARABAAtBqfYBQae3AkGuH0GdlgEQAQALKwAgASgCACIBKAIAQTNHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAEgABC2BwvVHQEOfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEoAgAiAigCAA5eAAECAwQFBgcICQoLDA0eHyAhIiMkJTU2Dg8QERITFBUWFxgZGhscHTcmJygpKissLS4vMDEyMzQ4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcAF0LQZj9A0HlswNB6gEQYgALIABBgBEgARBYIAIoAgBBAUcNXCACKAIUIgFBAEwNWyAAQQRqIQQDQCABQQFrIgAgAigCFE8NXiACKAIQIABBAnRqIgMoAgBFDV8gBEH/ECADEFsgAUEBSyEGIAAhASAGDQALDFsLIABBgREgARBYIAIoAgBBAkcNWyACKAIQBEAgAEEEakH/ECACQRBqEFsLDGALIABBghEgARBYIAIoAgBBA0cNWgxjCyAAQYMRIAEQWCACKAIAQQRHDVkgAigCFARAIABBBGpB/xAgAkEUahBbCyACKAIQRQ1YIABBBGpB/xAgAkEQahBbDwsgAEGEESABEFggAigCAEEFRw1YIABB/xAgAkEkahBYIAIoAiBFDVcgAEEEakH/ECACQSBqEFsPCyAAQYURIAEQWCACKAIAQQZHDVcgAigCDCIBQQBMDVYgAEEEaiEEA0AgAUEBayIAIAIoAgxPDVkgAigCCCAAQQJ0aiIDKAIARQ1aIARB/xAgAxBbIAFBAUshByAAIQEgBw0ACwxWCyAAQYYRIAEQWCACKAIAQQdHDVYgAEH/ECACQRxqEFggAigCECIBQQBMDVUgAEEEaiEEA0AgAUEBayIAIAIoAhBPDVggAigCDCAAQQJ0aiIDKAIARQ1ZIARB/xAgAxBbIAFBAUshCCAAIQEgCA0ACwxVCyAAQYcRIAEQWCACKAIAQQhGDVQMVQsgAEGIESABEFggAigCAEEJRw1UDGALIABBiREgARBYIAIoAgBBCkYNUgxTCyAAQYoRIAEQWCACKAIAQQtHDVIMWwsgAEGLESABEFggAigCAEEMRw1RDF8LIABBjBEgARBYIAIoAgBBDUcNUAxdCyAAQY0RIAEQWCACKAIAQRhHDU8MXgsgAEGOESABEFggAigCAEEZRw1OIABB/xAgAkEgahBYDF0LIABBjxEgARBYIAIoAgBBGkcNTQxUCyAAQZARIAEQWCACKAIAQRtHDUwMVAsgAEGRESABEFggAigCAEEcRg1KDEsLIABBkhEgARBYIAIoAgBBHUcNSgxWCyAAQZMRIAEQWCACKAIAQR5HDUkgAEH/ECACQRRqEFgMVQsgAEGUESABEFggAigCAEEfRw1IDE0LIABBlREgARBYIAIoAgBBIEcNRwxRCyAAQZYRIAEQWCACKAIAQSFHDUYMUQsgAEGXESABEFggAigCAEEiRw1FIABB/xAgAkEgahBYDwsgAEGYESABEFggAigCAEEjRw1EDFELIABBmREgARBYIAIoAgBBJEcNQwxKCyAAQZoRIAEQWCACKAIAQSVGDUEMQgsgAEGbESABEFggAigCAEEmRw1BDEULIABBnBEgARBYIAIoAgBBJ0cNQAxECyAAQZ0RIAEQWCACKAIAQQ5GDT4MPwsgAEGeESABEFggAigCAEEPRw0+DEoLIABBnxEgARBYIAIoAgBBEEcNPQxICyAAQaARIAEQWCACKAIAQRFHDTwMQAsgAEGhESABEFggAigCAEESRw07DEsLIABBohEgARBYIAIoAgBBE0cNOiACKAIIRQ05DEsLIABBoxEgARBYIAIoAgBBFEYNOAw5CyAAQaQRIAEQWCACKAIAQRVHDTgMSAsgAEGlESABEFggAigCAEEpRg02DDcLIABBphEgARBYIAIoAgBBKkcNNgxGCyAAQacRIAEQWCACKAIAQStGDTQMNQsgAEGoESABEFggAigCAEEsRw00DDkLIABB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AEGoAWpBEEEEEF0iACALNwIIIABC0AA3AgAgA0EANgIcQdSJC0EANgIAIANCgYCAgIABNwIUIANBADoAEEEHQdidCyADQRBqIgQQAiEFQdSJCygCACEJQdSJC0EANgIAIAlBAUYEQBAAIQogBBB3IAoQBwALIAAgBTYCBCABIAA2AgALIANBMGokACACQYIBRg8LAAtGAAJAIAAoAgBBPEYEQCACRQ0BIABBCGogASACELUEDwtB5K8GQae3AkG/H0HrlAEQAQALQan2AUGntwJBwB9B65QBEAEAC+gJAQ1/IwBB0ABrIgQkAEEIIQVBBCEGAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAIAJBgAFrDjkABBISEhISEhISEgECEhIDEhISEhISEhISEhISEhISEhISEhISEhISEgsSEhISEhIKCRISBgcSEggSCyAAKAIkIgIgACgCCCIDKAIEIAMoAgAiA2tPBEAgBEE8akGK0AAQyAEhAUHUiQtBADYCAEGwAiAAIAEQA0HUiQsoAgAhCUHUiQtBADYCACAJQQFHDQwQACEAIAEsAAtBAE4NFCABKAIAEFoMFAsgACACQQFqNgIkQQAhBSACIANqLQAARQ0MIARBMGpB5ycQyAEMBAsgACgCJCICIAAoAggiAygCBCADKAIAIgNrTwRAIARBPGpBitAAEMgBIQFB1IkLQQA2AgBBsAIgACABEANB1IkLKAIAIQpB1IkLQQA2AgAgCkEBRw0LDBILIAAgAkEBajYCJCACIANqLQAARQRAQQIhBQwMCyAEQSRqQecnEMgBDAMLIAAoAiQiAiAAKAIIIgMoAgQgAygCACIDa08EQCAEQTxqQYrQABDIASEBQdSJC0EANgIAQbACIAAgARADQdSJCygCACELQdSJC0EANgIAIAtBAUcNCgwRC0EBIQUgACACQQFqNgIkIAIgA2otAABFDQogBEEYakHnJxDIAQwCCyAAKAIkIgIgACgCCCIDKAIEIAMoAgAiA2tPBEAgBEE8akGK0AAQyAEhAUHUiQtBADYCAEGwAiAAIAEQA0HUiQsoAgAhDEHUiQtBADYCACAMQQFHDQkMEAtBASEHIAAgAkEBajYCJEEAIQUgAiADai0AAEUNCSAEQQxqQecnEMgBDAELIAAoAiQiAiAAKAII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AAsgASgCABBaIAAQBwAL5QcBAn9BPCEDAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAkEPaw72AUQAAQIDBEVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFBUVFRUVFBkVFRUVFRUVFRUU+PwgJBwoLRUUbHB0eRUVFRUVFRUVFIiNFRUVFJEUmJygpDA1FDg9FRS4vMDFFRUVFRUVFRUUlRUVFRUVFRUVFRUUQEUUSE0VFMjM0NUVFRUVFRUVFRUVFRUVFRUVFRUVFRRQVRRYXRUU2Nzg5RUVFRUVFRUVFRUVFRUVFRUVFRUVFGBlFGkVFRUVFRUVFHyBFIUVFRUVFRUVFKissLTw9OjtFQEFCQ0ULQT0hAwxDC0E+IQMMQgtBPyEDDEELQcAAIQMMQAtBwQAhAww/C0HCACEDDD4LQcMAIQMMPQtByAAhAww8C0HEACEDDDsLQcUAIQMMOgtBxgAhAww5C0HHACEDDDgLQckAIQMMNwtBygAhAww2C0HLACEDDDULQcwAIQMMNAtBzQAhAwwzC0HOACEDDDILQc8AIQMMMQtB0AAhAwwwC0HRACEDDC8LQdIAIQMMLgtB0wAhAwwtC0HUACEDDCwLQdUAIQMMKwtB1gAhAwwqC0HXACEDDCkLQdgAIQMMKAtB2QAhAwwnC0HaACEDDCYLQdsAIQMMJQtB3AAhAwwkC0HdACEDDCMLQd4AIQMMIgtB3wAhAwwhC0HgACEDDCALQeEAIQMMHwtB4gAhAwweC0HjACEDDB0LQeQAIQMMHAtB5QAhAwwbC0HmACEDDBoLQecAIQMMGQtB6AAhAwwYC0HpACEDDBcLQeoAIQMMFgtB6wAhAwwVC0HsACEDDBQLQe0AIQMMEwtB7gAhAwwSC0HvACEDDBELQfAAIQMMEAtB8QAhAwwPC0HyACEDDA4LQfMAIQMMDQtB9AAhAwwMC0H1ACEDDAsLQfYAIQMMCgtB9wAhAwwJC0H4ACEDDAgLQfkAIQMMBwtB+gAhAwwGC0H7ACEDDAULQfwAIQMMBAtB/QAhAwwDC0H+ACEDDAILQf8AIQMMAQtBgAEhAwsgACgCBEEQQQQQXSICIAM2AgggAkIPNwIAIAIgABDdATYCDCACELMCIAEgAjYCAEEBIQQLIAQLsw0BAn9BzAAhAwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCACQQ5rDoUCdn9/f39/f39/f39/f39/f39/f39/fgABAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhscIyQlJicoKSorLC0ufy8yMDF/f39/f39/f39/f39/f39/f39/cnN/f39/f39/MzQ1Njc4f385Ojs8fz1/f39/f39Kf390dX9/f39/f38+P0BBQkN/REVGR0h/SUtMTU5/f39/f39/f39/f39/f09/f1B/f39RUlNUVVZ/V1hZWn9/f39/f39/f39/f39/W39/XH9/f10dHh8gISJeX2Bhf39/f2JjZGVmZ2hpf39/f2prbG1ub3Bxf39/f39/f393f39/f39/f39/f39/eHl6e3x9fwtBzQAhAwx9C0HOACEDDHwLQc8AIQMMewtB0AAhAwx6C0HRACEDDHkLQdIAIQMMeAtB0wAhAwx3C0HUACEDDHYLQdUAIQMMdQtB1gAhAwx0C0HXACEDDHMLQdgAIQMMcgtB2QAhAwxxC0HaACEDDHALQdsAIQMMbwtB3AAhAwxuC0HdACEDDG0LQd4AIQMMbAtB3wAhAwxrC0HgACEDDGoLQeEAIQMMaQtB4gAhAwxoC0HjACEDDGcLQeQAIQMMZgtB5QAhAwxlC0HmACEDDGQLQecAIQMMYwtB6AAhAwxiC0HpACEDDGELQeoAIQMMYAtB6wAhAwxf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CgIDBAwLIAAoAgRBOEEIEF0iBEIANwMIIARCADcCMCAEQg03AgAgBEIANwMQIARCADcDKCAEQgA3AyAgBEIANwMYIARBAToACEECDAoLIAAoAgRBOEEIEF0iBEIANwMIIARCADcCMCAEQg03AgAgBEIANwMQIARCADcDKCAEQgA3AyAgBEIANwMYIARBBDoACEECDAkLIAAoAgRBOEEIEF0iBEIANwMIIARCADcCMCAEQg03AgAgBEIANwMQIARCADcDKCAEQgA3AyAgBEIANwMYIARBAToACAwGCyAAKAIEQThBCBBdIgRCADcDCCAEQgA3AjAgBEINNwIAIARCADcDECAEQgA3AyggBEIANwMgIARCADcDGCAEQQI6AAgMBQsgACgCBEE4QQgQXSIEQgA3AwggBEIANwIwIARCDTcCACAEQgA3AxAgBEIANwMoIARCADcDICAEQgA3AxggBEEEOgAIDAQLIAAoAgRBOEEIEF0iBEIANwMIIARCADcCMCAEQg03AgAgBEIANwMQIARCADcDKCAEQgA3AyAgBEIANwMYIARBCDoACAwDCyAAKAIEQThBCBBdIgRCADcDCCAEQgA3AjAgBEINNwIAIARCADcDECAEQgA3AyggBEIANwMgIARCADcDGCAEQQQ6AAhBBAwECyAAKAIEQThBCBBdIgRCADcDCCAEQgA3AjAgBEINNwIAIARCADcDECAEQgA3AyggBEIANwMgIARCADcDGCAEQQg6AAhBBQwDCwJAAkACQAJAAkACQCACQRdrDgcBBQAHAgMECQsgACgCBEE4QQgQXSIEQgA3AwggBEIANwIwIARCDTcCACAEQgA3AxAgBEIANwMoIARCADcDICAEQgA3AxggBEEBOgAIQQIMBwsgACgCBEE4QQgQXSIEQgA3AwggBEIANwIwIARCDTcCACAEQgA3AxAgBEIANwMoIARCADcDICAEQgA3AxggBEEEOgAIQQIMBgsgACgCBEE4QQgQXSIEQgA3AwggBEIANwIwIARCDTcCACAEQgA3AxAgBEIANwMoIARCADcDICAEQgA3AxggBEEBOgAIDAMLIAAoAgRBOEEIEF0iBEIANwMIIARCADcCMCAEQg03AgAgBEIANwMQIARCADcDKCAEQgA3AyAgBEIANwMYIARBAjoACAwCCyAAKAIEQThBCBBdIgRC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CxAAIQECQCAGKAIgIgIgBkEQaiIARgRAQQQhBCAAIQIMAQtBBSEEIAJFDQELIAIgAigCACAEQQJ0aigCABEBAAsgARAHAAsgBSgCACEJAkACfwJAIAIoAhQiAkEHSQ0AIAIoAgQNACACKAIMIAIoAghrQQJ1DAELIAJBAEcLIgQgASgCFE0EQCABKAIQIQMMAQsgASAENgIUIAEoAgwhByABIAEoAhggBEECdEEEEF02AgwgASgCECIDRQRAQQAhAwwBC0EAIQVBACECIANBBE8EQCADQXxxIQoDQCACQQJ0IgggASgCDGogByAIaigCADYCACAIQQRyIgsgASgCDGogByALaigCADYCACAIQQhyIgsgASgCDGogByALaigCADYCACAIQQxyIgggASgCDGogByAIaigCADYCACACQQRqIgIgCkcNAAsLIANBA3EiCEUNAANAIAJBAnQiCiABKAIMaiAHIApqKAIANgIAIAJBAWohAiAFQQFqIgUgCEcNAAsLAkAgAyAETw0AIAQgAyICa0EDcSIHBEBBACEFA0AgASgCDCACQQJ0akEANgIAIAJBAWohAiAFQQFqIgUgB0cNAAsLIAMgBGtBfEsNAANAIAJBAnQiAyABKAIMakEANgIAIAEoAgwgA2pBADYCBCABKAIMIANqQQA2AgggASgCDCADakEANgIMIAJBBGoiAiAERw0ACwsgASAENgIQIAEgABDdATYCHAJAIAQEQEEAIQIDQCAAEN0BIQMgBCACQX9zaiIFIAEoAhBPDQIgASgCDCAFQQJ0aiADNgIAIAJBAWoiAiAERw0ACwsgAEH8AGoiBSECAkACQCAAKAJ8IgRFDQADQCAEIgIoAhAiAyAJSwRAIAIhBSACKAIAIgQNAQwCCyADIAlPBEAgAiEDDAMLIAIoAgQiBA0ACyACQQRqIQULQSAQXCIDIAk2AhAgAyACNgIIIANCADcCACADQQA2AhwgA0IANwIUIAUgAzYCACADIQIgACgCeCgCACIEBEAgACAENgJ4IAUoAgAhAgsgACgCfCACEGcgACAAKAKAAUEBajYCgAELIAFBIGohBwJAAkACQAJAIAMoAhgiAiADKAIcIgVJBEAgAiAHNgIAIAMgAkEEajYCGAwBCyACIAMoAhQiAGtBAnUiCEEBaiIEQYCAgIAETw0BQf////8DIAUg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KAIIKAIMIQtB1IkLQQA2AgAgCyABIAAQA0HUiQsoAgAhDEHUiQtBADYCACAMQQFHDQIMBAsgACgCACgCCCENQdSJC0EANgIAIA0gABAGIQFB1IkLKAIAIQ5B1IkLQQA2AgAgDkEBRg0DCyACIAE2ApgBCwJAAkAgAygCGCIAIANBCGoiBEYEQEEEIQEgBCEADAELQQUhASAARQ0BCyAAIAAoAgAgAUECdGooAgARAQALIANBIGokACACDwsQACEADAELEAAhACACEOQBGgJAIAMoAhgiASADQQhqIgRGBEBBBCEDIAQhAQwBC0EFIQMgAUUNAQsgASABKAIAIANBAnRqKAIAEQEACyACEFogABAHAAuxIQEOfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgASgCACICKAIADl4AAQIDBAUGBwgJCgsMDR4fICEiIyQlNTYODxAREhMUFRYXGBkaGxwdNyYnKCkqKywtLi8wMTIzNDg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaW1wAXQtBmP0DQeWzA0HqARBiAAsgAEEUakGpDyABEFggAigCAEEBRw1cIAIoAhQiAUEATA1bIABBGGohAwNAIAFBAWsiACACKAIUTw1eIAIoAhAgAEECdGoiBCgCAEUNXyADQagPIAQQWyABQQFLIQYgACEBIAYNAAsMWwsgAEEUaiIDQaoPIAEQWCACKAIAQQJHDVsgAigCEARAIABBGGpBqA8gAkEQahBbCyADQagPIAJBDGoQWCADQagPIAJBCGoQWA8LIABBFGoiAEGrDyABEFggAigCAEEDRw1aDGALIABBFGpBrA8gARBYIAIoAgBBBEcNWSACKAIUBEAgAEEYakGoDyACQRRqEFsLIAIoAhBFDVggAEEYakGoDyACQRBq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NgIYIAIgAkEcajYCFCACIAJBGGo2AhAgAiACKQIQNwMIIAEgAkEIahCVAiACQSBqJAALbQEBfyMAQSBrIgIkACABKAIAIgEoAgBBywBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAIgADYCHCACIAE2AhggAiACQRxqNgIUIAIgAkEYajYCECACIAIpAhA3AwggASACQQhqEJUCIAJBIGokAAttAQF/IwBBIGsiAiQAIAEoAgAiASgCAEHKAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgAiAANgIcIAIgATYCGCACIAJBHGo2AhQgAiACQRhqNgIQIAIgAikCEDcDCCABIAJBCGoQlQIgAkEgaiQAC20BAX8jAEEgayICJAAgASgCACIBKAIAQckARwRAQfDtBUHFmANBlAZBjd4AEAEACyACIAA2AhwgAiABNgIYIAIgAkEcajYCFCACIAJBGGo2AhAgAiACKQIQNwMIIAEgAkEIahCVAiACQSBqJAALbQEBfyMAQSBrIgIkACABKAIAIgEoAgBByABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAIgADYCHCACIAE2AhggAiACQRxqNgIUIAIgAkEYajYCECACIAIpAhA3AwggASACQQhqEJUCIAJBIGokAAttAQF/IwBBIGsiAiQAIAEoAgAiASgCAEHHAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgAiAANgIcIAIgATYCGCACIAJBHGo2AhQgAiACQRhqNgIQIAIgAikCEDcDCCABIAJBCGoQlQIgAkEgaiQAC20BAX8jAEEgayICJAAgASgCACIBKAIAQcYARwRAQfDtBUHFmANBlAZBjd4AEAEACyACIAA2AhwgAiABNgIYIAIgAkEcajYCFCACIAJBGGo2AhAgAiACKQIQNwMIIAEgAkEIahCVAiACQSBqJAALbQEBfyMAQSBrIgIkACABKAIAIgEoAgBBxQBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAIgADYCHCACIAE2AhggAiACQRxqNgIUIAIgAkEYajYCECACIAIpAhA3AwggASACQQhqEJUCIAJBIGokAAskACAAKAIAQQdHBEBB6aoGQae3AkGhEkHR3AEQAQALIAAoAhALbQEBfyMAQSBrIgIkACABKAIAIgEoAgBBxABHBEBB8O0FQcWYA0GUBkGN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QRhqNgIQIAIgAikCEDcDCCABIAJBCGoQlQIgAkEgaiQAC2wBAX8jAEEgayICJAAgASgCACIBKAIAQQZHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAIgADYCHCACIAE2AhggAiACQRxqNgIUIAIgAkEYajYCECACIAIpAhA3AwggASACQQhqEJUCIAJBIGokAAtsAQF/IwBBIGsiAiQAIAEoAgAiASgCAEEFRwRAQfDtBUHFmANBlAZBjd4AEAEACyACIAA2AhwgAiABNgIYIAIgAkEcajYCFCACIAJBGGo2AhAgAiACKQIQNwMIIAEgAkEIahCVAiACQSBqJAALbAEBfyMAQSBrIgIkACABKAIAIgEoAgBBBEcEQEHw7QVBxZgDQZQGQY3eABABAAsgAiAANgIcIAIgATYCGCACIAJBHGo2AhQgAiACQRhqNgIQIAIgAikCEDcDCCABIAJBCGoQlQIgAkEgaiQAC2wBAX8jAEEgayICJAAgASgCACIBKAIAQQNHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAIgADYCHCACIAE2AhggAiACQRxqNgIUIAIgAkEYajYCECACIAIpAhA3AwggASACQQhqEJUCIAJBIGokAAtsAQF/IwBBIGsiAiQAIAEoAgAiASgCAEECRwRAQfDtBUHFmANBlAZBjd4AEAEACyACIAA2AhwgAiABNgIYIAIgAkEcajYCFCACIAJBGGo2AhAgAiACKQIQNwMIIAEgAkEIahCVAiACQSBqJAALbAEBfyMAQSBrIgIkACABKAIAIgEoAgBBAUcEQEHw7QVBxZgDQZQGQY3eABABAAsgAiAANgIcIAIgATYCGCACIAJBHGo2AhQgAiACQRhqNgIQIAIgAikCEDcDCCABIAJBCGoQlQIgAkEgaiQAC9UdAQ5/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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8O0FQcWYA0GUBkGN3gAQAQALIAAgARCWAgssACABKAIAIgEoAgBByQBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCWAgssACABKAIAIgEoAgBByABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCWAgssACABKAIAIgEoAgBBxwBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCWAgsRACAAIAEgAiADIARBABDyEAssACABKAIAIgEoAgBBxgBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCWAgssACABKAIAIgEoAgBBxQBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCWAgssACABKAIAIgEoAgBBxABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCWAgssACABKAIAIgEoAgBBwwBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCWAgssACABKAIAIgEoAgBBwgBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCWAgssACABKAIAIgEoAgBBwQBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCWAgssACABKAIAIgEoAgBBwABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCWAgsrACABKAIAIgEoAgBBP0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJYCCysAIAEoAgAiASgCAEE+RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQlgILKwAgASgCACIBKAIAQT1HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCWAgsmACAAKAIAQQRHBEBBk68GQae3AkHqEEGj0gMQAQALIAAgATYCEAsrACABKAIAIgEoAgBBPEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJYCCysAIAEoAgAiASgCAEE7RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQlgILKwAgASgCACIBKAIAQTpHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCWAgsrACABKAIAIgEoAgBBOUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJYCCysAIAEoAgAiASgCAEE4RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQlgILKwAgASgCACIBKAIAQShH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AmwgAEGkrAc2AgAgAEIANwJ0IABCADcCfCAAQgA3AhQgAEEIOgATIABC4erR+8bM3LfwADcACCAACzkAIAAoAgRFBEBB6PoFQbqLA0GcBEHu0wIQAQALIAAgAjYCeCAAIAE2AnwgACACEIQRIABCADcCeAvfIQEQfyABKAIABEACQCAAQRhqIgdBxQogARBbIAAhAwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEoAgAiAigCAA5eAAECAwQFBgcICQoLDA0eHyAhIiMkJTU2Dg8QERITFBUWFxgZGhscHTcmJygpKissLS4vMDEyMzQ4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcAG8LQZj9A0HlswNB6gEQYgALIANBFGpBpAsgARBYIAIoAgBBAUcNWyACKAIUIgBBAEwNbSADQRhqIQUDQCAAQQFrIgMgAigCFE8NXSACKAIQIANBAnRqIgQoAgBFDW8gBUGgASAEEFsgAEEBSyEIIAMhACAIDQALDG0LIANBFGoiAEGlCyABEFggAigCAEECRw1aIAIoAhAEQCADQRhqQaABIAJBEGoQWwsgAEGgASACQQxqEFggAEGgASACQQhqEFgMbAsgA0EUaiIAQaYLIAEQWCACKAIAQQNHDVkMXgsgA0EUakGnCyABEFggAigCAEEERw1YIAIoAhQEQCADQRhqQaABIAJBFGoQWwsgAigCEEUNaiADQRhqQaABIAJBEGoQWwxqCyADQRRqIgBBqAsgARBYIAIoAgBBBUcNVyAAQaABIAJBJGoQWCACKAIgRQ1pIANBGGpBoAEgAkEgahBbDGkLIANBFGpBqQsgARBYIAIoAgBBBkcNViACKAIMIgBBAEwNaCADQRhqIQUDQCAAQQFrIgMgAigCDE8NWCACKAIIIANB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mANBlAZBjd4AEAEACyABIAAQlwILLAAgASgCACIBKAIAQdsARwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAQlwILLAAgASgCACIBKAIAQdoARwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAQlwILLAAgASgCACIBKAIAQdkARwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAQlwILLAAgASgCACIBKAIAQdgARwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAQlwILLAAgASgCACIBKAIAQdcARwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAQlwILLAAgASgCACIBKAIAQdYARwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAQlwILLAAgASgCACIBKAIAQdUARwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAQlwILLAAgASgCACIBKAIAQdQARwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAQlwILLAAgASgCACIBKAIAQdMARwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAQlwILQQACQCAAKAIAQRBGBEAgAUUNASAAIAE2AgwPC0GiogZBp7cCQcAWQbb2ABABAAtB5PQBQae3AkHBFkG29gAQAQALLAAgASgCACIBKAIAQdIARwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAQlwILLAAgASgCACIBKAIAQdEARwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAQlwILLAAgASgCACIBKAIAQdAARwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAQlwILLAAgASgCACIBKAIAQc8ARwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAQlwILLAAgASgCACIBKAIAQc4ARwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAQlwILLAAgASgCACIBKAIAQc0ARwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAQlwILLAAgASgCACIBKAIAQcwARwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAQlwILLAAgASgCACIBKAIAQcsARwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAQlwILLAAgASgCACIBKAIAQcoARwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAQlwILLAAgASgCACIBKAIAQckARwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAQlwILLAAgASgCACIBKAIAQcgARwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAQlwILLAAgASgCACIBKAIAQccARwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAQlwILLAAgASgCACIBKAIAQcYARwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAQlwILLAAgASgCACIBKAIAQcUARwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAQlwILLAAgASgCACIBKAIAQcQARwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAQlwILLAAgASgCACIBKAIAQcMARwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAQlwILLAAgASgCACIBKAIAQcIARwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAQlwILLAAgASgCACIBKAIAQcEARwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAQlwILLAAgASgCACIBKAIAQcAARwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAQlwILKwAgASgCACIBKAIAQT9HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAEgABCXAgskACAAKAIAQRBHBEBBoqIGQae3AkHGFkHM9AAQAQALIAAoAhALKwAgASgCACIBKAIAQT5HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAEgABCXAgsrACABKAIAIgEoAgBBPUcEQEHw7QVBxZgDQZQGQY3eABABAAsgASAAEJcCCysAIAEoAgAiASgCAEE8RwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAQlwILKwAgASgCACIBKAIAQTtHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAEgABCXAgsrACABKAIAIgEoAgBBOkcEQEHw7QVBxZgDQZQGQY3eABABAAsgASAAEJcCCysAIAEoAgAiASgCAEE5RwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAQlwILKwAgASgCACIBKAIAQThHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAEgABCXAgsrACABKAIAIgEoAgBBKEcEQEHw7QVBxZgDQZQGQY3eABABAAsgASAAEJcCCysAIAEoAgAiASgCAEEXRwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAQlwILKwAgASgCACIBKAIAQRZHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAEgABCXAgskACAAKAIAQRBHBEBBoqIGQae3AkGwFkGIxAIQAQALIAAoAggLKwAgASgCACIBKAIAQTdHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAEgABCXAgsrACABKAIAIgEoAgBBNkcEQEHw7QVBxZgDQZQGQY3eABABAAsgASAAEJcCCysAIAEoAgAiASgCAEE1RwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAQlwILKwAgASgCACIBKAIAQTRHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAEgABCXAgtDACABKAIAIgEoAgBBM0YEQCABKAIIBEAgAEHsAGogASkCCBD9AxoLIAEgABCXAg8LQfDtBUHFmANBlAZBjd4AEAEACysAIAEoAgAiASgCAEEyRwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAQlwILKwAgASgCACIBKAIAQTFHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAEgABCXAgsrACABKAIAIgEoAgBBMEcEQEHw7QVBxZgDQZQGQY3eABABAAsgASAAEJcCCysAIAEoAgAiASgCAEEvRwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAQlwILKwAgASgCACIBKAIAQS5HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAEgABCXAgskACAAKAIAQRBHBEBBoqIGQae3AkG6FkGw9wAQAQALIAAoAgwLKwAgASgCACIBKAIAQS1HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAEgABCXAgsrACABKAIAIgEoAgBBLEcEQEHw7QVBxZgDQZQGQY3eABABAAsgASAAEJcCCysAIAEoAgAiASgCAEErRwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAQlwILKwAgASgCACIBKAIAQSpHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAEgABCXAgsrACABKAIAIgEoAgBBKUcEQEHw7QVBxZgDQZQGQY3eABABAAsgASAAEJcCCysAIAEoAgAiASgCAEEVRwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAQlwILKwAgASgCACIBKAIAQRRHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAEgABCXAgsrACABKAIAIgEoAgBBE0cEQEHw7QVBxZgDQZQGQY3eABABAAsgASAAEJcCCysAIAEoAgAiASgCAEESRwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAQlwILKwAgASgCACIBKAIAQRFHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAEgABCXAgsrACABKAIAIgEoAgBBEEcEQEHw7QVBxZgDQZQGQY3eABABAAsgASAAEJcCCysAIAEoAgAiASgCAEEPRwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAQlwILKwAgASgCACIBKAIAQQ5HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAEgABCXAgsrACABKAIAIgEoAgBBJ0cEQEHw7QVBxZgDQZQGQY3eABABAAsgASAAEJcCCysAIAEoAgAiASgCAEEmRwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAQlwILKwAgASgCACIBKAIAQSVHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAEgABCXAgsrACABKAIAIgEoAgBBJEcEQEHw7QVBxZgDQZQGQY3eABABAAsgASAAEJcCCysAIAEoAgAiASgCAEEjRwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAQlwILKwAgASgCACIBKAIAQSJHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAEgABCXAgsrACABKAIAIgEoAgBBIUcEQEHw7QVBxZgDQZQGQY3eABABAAsgASAAEJcCCwUAQYoBCysAIAEoAgAiASgCAEEgRwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAQlwILKwAgASgCACIBKAIAQR9HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAEgABCXAgsrACABKAIAIgEoAgBBHkcEQEHw7QVBxZgDQZQGQY3eABABAAsgASAAEJcCCysAIAEoAgAiASgCAEEdRwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAQlwILKwAgASgCACIBKAIAQRxHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAEgABCXAgsrACABKAIAIgEoAgBBG0cEQEHw7QVBxZgDQZQGQY3eABABAAsgASAAEJcCCysAIAEoAgAiASgCAEEaRwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAQlwILKwAgASgCACIBKAIAQRlHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAEgABCXAgsrACABKAIAIgEoAgBBGEcEQEHw7QVBxZgDQZQGQY3eABABAAsgASAAEJcCCysAIAEoAgAiASgCAEENRwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAQlwILBQBBlgELKwAgASgCACIBKAIAQQxHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAEgABCXAgsrACABKAIAIgEoAgBBC0cEQEHw7QVBxZgDQZQGQY3eABABAAsgASAAEJcCCysAIAEoAgAiASgCAEEKRwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAQlwILKwAgASgCACIBKAIAQQlHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAEgABCXAgsrACABKAIAIgEoAgBBCEcEQEHw7QVBxZgDQZQGQY3eABABAAsgASAAEJcCCysAIAEoAgAiASgCAEEHRwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAQlwILKwAgASgCACIBKAIAQQZHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAEgABCXAgsrACABKAIAIgEoAgBBBUcEQEHw7QVBxZgDQZQGQY3eABABAAsgASAAEJcCCysAIAEoAgAiASgCAEEERwRAQfDtBUHFmANBlAZBjd4AEAEACyABIAAQlwILQwAgASgCACIBKAIAQQNGBEAgASgCCARAIABB7ABqIAEpAggQ/QMaCyABIAAQlwIPC0Hw7QVBxZgDQZQGQY3eABABAAtBAAJAIAAoAgBBGkYEQCABRQ0BIAAgATYCGA8LQYGnBkGntwJBpRhByNAAEAEAC0GR9AFBp7cCQaYYQcjQABABAAsrACABKAIAIgEoAgBBAkcEQEHw7QVBxZgDQZQGQY3eABABAAsgASAAEJcCC0MAIAEoAgAiASgCAEEBRgRAIAEoAggEQCAAQewAaiABKQIIEP0DGgsgASAAEJcCDwtB8O0FQcWYA0GUBkGN3gAQAQAL1R0BDn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAIgIoAgAOXgABAgMEBQYHCAkKCwwNHh8gISIjJCU1Ng4PEBESExQVFhcYGRobHB03JicoKSorLC0uLzAxMjM0ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXABdC0GY/QNB5bMDQeoBEGIACyAAQegJIAEQWCACKAIAQQFHDVwgAigCFCIBQQBMDVsgAEEEaiEEA0AgAUEBayIAIAIoAhRPDV4gAigCECAAQQJ0aiIDKAIARQ1fIARB5wkgAxBbIAFBAUshBiAAIQEgBg0ACwxbCyAAQekJIAEQWCACKAIAQQJHDVsgAigCEARAIABBBGpB5wkgAkEQahBbCwxgCyAAQeoJIAEQWCACKAIAQQNHDVoMYwsgAEHrCSABEFggAigCAEEERw1ZIAIoAhQEQCAAQQRqQecJIAJBFGoQWwsgAigCEEUNWCAAQQRqQecJIAJBEGoQWw8LIABB7AkgARBYIAIoAgBBBUcNWCAAQecJIAJBJGoQWCACKAIgRQ1XIABBBGpB5wkgAkEgahBbDwsgAEHtCSABEFggAigCAEEGRw1XIAIoAgwiAUEATA1WIABBBGohBANAIAFBAWsiACACKAIMTw1ZIAIoAgggAEECdGoiAygCAEUNWiAEQecJIAMQWyABQQFLIQcgACEBIAcNAAsMVgsgAEHuCSABEFggAigCAEEHRw1WIABB5wkgAkEcahBYIAIoAhAiAUEATA1VIABBBGohBANAIAFBAWsiACACKAIQTw1YIAIoAgwgAEECdGoiAygCAEUNWSAEQecJIAMQWyABQQFLIQggACEBIAgNAAsMVQsgAEHvCSABEFggAigCAEEIRg1UDFULIABB8AkgARBYIAIoAgBBCUcNVAxgCyAAQfEJIAEQWCACKAIAQQpGDVIMUwsgAEHyCSABEFggAigCAEELRw1SDFsLIABB8wkgARBYIAIoAgBBDEcNUQxfCyAAQfQJIAEQWCACKAIAQQ1HDVAMXQsgAEH1CSABEFggAigCAEEYRw1PDF4LIABB9gkgARBYIAIoAgBBGUcNTiAAQecJIAJBIGoQWAxdCyAAQfcJIAEQWCACKAIAQRpHDU0MVAsgAEH4CSABEFggAigCAEEbRw1MDFQLIABB+QkgARBYIAIoAgBBHEYNSgxLCyAAQfoJIAEQWCACKAIAQR1HDUoMVgsgAEH7CSABEFggAigCAEEeRw1JIABB5wkgAkEUahBYDFULIABB/AkgARBYIAIoAgBBH0cNSAxNCyAAQf0JIAEQWCACKAIAQSBHDUcMUQsgAEH+CSABEFggAigCAEEhRw1GDFELIABB/wkgARBYIAIoAgBBIkcNRSAAQecJIAJBIGoQWA8LIABBgAogARBYIAIoAgBBI0cNRAxRCyAAQYEKIAEQWCACKAIAQSRHDUMMSgsgAEGCCiABEFggAigCAEElRg1BDEILIABBgwogARBYIAIoAgBBJkcNQQxFCyAAQYQKIAEQWCACKAIAQSdHDUAMRAsgAEGFCiABEFggAigCAEEORg0+DD8LIABBhgogARBYIAIoAgBBD0cNPgxKCyAAQYcKIAEQWCACKAIAQRBHDT0MSAsgAEGICiABEFggAigCAEERRw08DEALIABBiQogARBYIAIoAgBBEkcNOwxLCyAAQYoKIAEQWCACKAIAQRNHDTogAigCCEUNOQxLCyAAQYsKIAEQWCACKAIAQRRGDTgMOQsgAEGMCiABEFggAigCAEEVRw04DEgLIABBjQogARBYIAIoAgBBKUYNNgw3CyAAQY4KIAEQWCACKAIAQSpHDTYMRgsgAEGPCiABEFggAigCAEErRg00DDULIABBkAogARBYIAIoAgBBLEcNNAw5CyAAQZEKIAEQWCACKAIAQS1HDTMMPAsgAEGSCiABEFggAigCAEEuRw0yDDoLIABBkwogARBYIAIoAgBBL0YNMAwxCyAAQZQKIAEQWCACKAIAQTBHDTAMOAsgAEGVCiABEFggAigCAEExRw0vDDYLIABBlgogARBYIAIoAgBBMkcNLgwyCyAAQZcKIAEQWCACKAIAQTNHDS0gAigCKCIBQQBKBEAgAEEEaiEDA0AgAUEBayIEIAIoAihPDTAgAigCJCAEQQJ0aiIFKAIARQ0xIANB5wkgBRBbIAFBAUshCSAEIQEgCQ0ACwsMNgsgAEGYCiABEFggAigCAEE0RgRADD0LDCwLIABBmQogARBYIAIoAgBBNUcNKyACKAIUIgFBAEwNKiAAQQRqIQQDQCABQQFrIgAgAigCFE8NLSACKAIQIABBAnRqIgMoAgBFDS4gBEHnCSADEFsgAUEBSyEKIAAhASAKDQALDCoLIABBmgogARBYIAIoAgBBNkYNKQwqCyAAQZsKIAEQWCACKAIAQTdHDSkMOQsgAEGcCiABEFggAigCAEEWRg0nDCgLIABBnQogARBYIAIoAgBBF0YNJgwnCyAAQZ4KIAEQWCACKAIAQShGDSUMJgsgAEGfCiABEFggAigCAEE4Rw0lIAIoAgwiAUEATA0kIABBBGohBANAIAFBAWsiACACKAIMTw0nIAIoAgggAEECdGoiAygCAEUNKCAEQecJIAMQWyABQQFLIQsgACEBIAsNAAsMJAsgAEGgCiABEFggAigCAEE5Rw0kDDQLIABBoQogARBYIAIoAgBBOkcNIwwzCyAAQaIKIAEQWCACKAIAQTtHDSIMMgsgAEGjCiABEFggAigCAEE8Rw0hIABB5wkgAkEYahBYIAIoAgwiAUEATA0gIABBBGohBANAIAFBAWsiACACKAIMTw0jIAIoAgggAEECdGoiAygCAEUNJCAEQecJIAMQWyABQQFLIQwgACEBIAwNAAsMIAsgAEGkCiABEFggAigCAEE9Rw0gDDALIABBpQogARBYIAIoAgBBPkcNHwwvCyAAQaYKIAEQWCACKAIAQT9HDR4gAEHnCSACQRRqEFgPCyAAQacKIAEQWCACKAIAQcAARw0dIAIoAgwiAUEATA0cIABBBGohBANAIAFBAWsiACACKAIMTw0fIAIoAgggAEECdGoiAygCAEUNICAEQecJIAMQWyABQQFLIQ0gACEBIA0NAAsMHAsgAEGoCiABEFggAigCAEHBAEcNHAwoCyAAQakKIAEQWCACKAIAQcIARw0bDCYLIABBqgogARBYIAIoAgBBwwBHDRogAEHnCSACQQxqEFggAigCCEUNGQwrCyAAQasKIAEQWCACKAIAQcQARw0ZDCELIABBrAogARBYIAIoAgBBxQBHDRgMIAsgAEGtCiABEFggAigCAEHGAEcNFyACKAIMIgFBAEwNFiAAQQRqIQQDQCABQQFrIgAgAigCDE8NGSACKAIIIABBAnRqIgMoAgBFDRogBEHnCSADEFsgAUEBSyEOIAAhASAODQALDBYLIABBrgogARBYIAIoAgBBxwBHDRYMGwsgAEGvCiABEFggAigCAEHIAEcNFQwZCyAAQbAKIAEQWCACKAIAQckARw0UDCQLIABBsQogARBYIAIoAgBBygBHDRMgAEHnCSACQRhqEFgMFgsgAEGyCiABEFggAigCAEHLAEcNEgwVCyAAQbMKIAEQWCACKAIAQcwARw0RDBcLIABBtAogARBYIAIoAgBBzQBHDRAMFgsgAEG1CiABEFggAigCAEHOAEcNDwwbCyAAQbYKIAEQWCACKAIAQc8ARw0OIAIoAhgEQCAAQQRqQecJIAJBGGoQWwsgAigCFARAIABBBGpB5wkgAkEUahBbCyACKAIQBEAgAEEEakHnCSACQRBqEFsLDBoLIABBtwogARBYIAIoAgBB0ABGDQwMDQsgAEG4CiABEFggAigCAEHRAEcNDAwYCyAAQbkKIAEQWCACKAIAQdIARw0LIAIoAhQEQCAAQQRqQecJIAJBFGoQWwsMFgsgAEG6CiABEFggAigCAEHTAEcNCgwPCyAAQbsKIAEQWCACKAIAQdQARw0JDBQLIABBvAogARBYIAIoAgBB1QBHDQgMFAsgAEG9CiABEFggAigCAEHWAEcNBwwLCyAAQb4KIAEQWCACKAIAQdcARw0GDAsLIABBvwogARBYIAIoAgBB2ABHDQUMFQsgAEHACiABEFggAigCAEHZAEcNBAwPCyAAQcEKIAEQWCACKAIAQdoARw0DDA0LIABBwgogARBYIAIoAgBB2wBHDQIMBwsgAEHDCiABEFggAigCAEHcAEcNASAAQecJIAJBPGoQWCACKAIwIgFBAEwNACAAQQRqIQQDQCABQQFrIgAgAigCME8NAyACKAIsIABBAnRqIgMoAgBFDQQgBEHnCSADEFsgAUEBSyEPIAAhASAPDQALCw8LQfDtBUHFmANBlAZBjd4AEAEAC0HFogFBiaIDQbwBQaaIBRABAAtBgYMCQdOZA0G5AkGu9wIQAQALIABB5wkgAkEUahBYCyAAQecJIAJBEGoQWAsgAEHnCSACQQxqEFgMCgsgAEHnCSACQRxqEFgLIABB5wkgAkEYahBYCyAAQecJIAJBFGoQWAsgAEHnCSACQRBqEFgPCyAAQecJIAJBFGoQWAsgAEHnCSACQRBqEFgLIABB5wkgAkEMahBYDwsgAEHnCSACQShqEFgLIABB5wkgAkEkahBYDwsgAEHnCSACQRxqEFggAEHnCSACQRhqEFgPCyAAQecJIAJBCGoQWA8LIABBBGpB5wkgAkEIahBbC7MCAQN/AkACQAJAQQAgACgCBGsgACgCXCAAKAJYa0EDdUYEQCABKAIARQ0BIABBBGpB5wkgARBbQQAgACgCBCICayAAKAJcIgEgACgCWCIDa0EDdUcEQCAAQQhqIQQDQAJAIAEgA0YEQCACRQ0GIAQgAkEBayICQQN0aiIDKAIEIQEgAygCACEDIAAgAjYCBAwBCyABQQhrIgIoAgAhAyACKAIEIQEgACACNgJcCyAAIAE2AgAgASgCAEUNBSAAIAEgAxEAAEEAIAAoAgQiAmsgACgCXCIBIAAoAlgiA2tBA3VHDQALCw8LQc3KBUHTmQNByAJB0PgCEAEAC0GBgwJB05kDQbkCQa73AhABAAtB3sQFQbCUA0HaAEH9+wIQAQALQfWCAkHTmQNBzQJB0PgCEAEAC0EAAkAgACgCAEEaRgRAIAFFDQEgACABNgIQDwtBgacGQae3AkGMGEGW7wEQAQALQZX1AUGntwJBjRhBlu8BEAEACyYAIAAoAgBBGkcEQEGBpwZBp7cCQbEYQZSLBBABAAsgACABNgIcC0EAAkAgACgCAEEaRgRAIAFFDQEgACABNgIUDwtBgacGQae3AkGZGEGp2gQQAQALQb/2AUGntwJBmhhBqdoEEAEACyQAIAAoAgBBGkcEQEGBpwZBp7cCQZ8YQeXQABABAAsgACgCGAskACAAKAIAQRpHBEBBgacGQae3AkGGGEGP8QEQAQALIAAoAhALJAAgACgCAEEaRwRAQYGnBkGntwJBqxhBtosEEAEACyAAKAIcC+YXAiN/An4jAEGgAWsiBSQAAkACQAJAIAEoAgAiCigCAEEFRgRAIAogAEHwAGoiECAAKAJsIAAoApwBIAAoApgBIgFrQQJ1akEBayIOQQJ0IgJqIAEgAmpBKGsgDkEKSRsoAgBGBEAgBUIANwIcIAUgBUEcajYCGAJAIA5FDQAgAEG0AWohESAAQagBaiESIAVBEGohEyAFQZQBaiEUA0AgECAOIgFBAWsiDkECdCICaiACIAAoApgBIgNqQShrIAFBC0kbKAIAIgYoAgBBAUcNASAGKAIUIgJFBEBB1IkLQQA2AgBBDUHFogFBiaIDQbwBQaaIBRAFQdSJCygCACEXQdSJC0EANgIAIBdBAUcNBRAAIQEMBwsgECABQQJ0IgRqIAMgBGpBKGsgAUEKSRsoAgAiDCAGKAIQKAIARw0BIAYoAghFDQEgEigCACIBBEADQCABKAIQIgMgBk0EfyADIAZPDQQgAUEEagUgAQsoAgAiAQ0ACwsCQAJAIAogDEYNAEEBIQECQCACQQFGBEBBACEJDAELAkACQAJAAkADQCAFIAYoAhAgAUECdGooAgAiCTYCnAEgBUIANwIkIAVBADYCjAEgBUIANwKEASAFQgA3AnwgBSAUNgKQASAFQgA3ApQBQdSJC0EANgIAQeUJIAVBJGogBUGcAWoQA0HUiQsoAgAhGEHUiQtBADYCACAYQQFGDQEgBSATNgIMIAVCADcCEEHUiQtBADYCAEHkCSAFQQxqIAUoApABIBQQCEHUiQsoAgAhGUHUiQtBADYCACAZQQFGBEAQACEBIAUoAhAQYAwDCyAFKAKUARBgIAUoAnwiAgRAIAUgAjYCgAEgAhBaCwJAIAkoAgBBBEcNACABIAYoAhRBAWtHDQAgCSgCFA0AIAkoAgggBigCCEYNBQtB1IkLQQA2AgBB5AkgBUEYaiAFKAIMIBMQCEHUiQsoAgAhGkHUiQtBADYCACAaQQFGDQMgBSgCEBBgIAFBAWoiASAGKAIUSQ0AC0EAIQkMBAsQACEBCyAFQSRqEM8FDAsLEAAhASAFKAIQEGAMCgsgBSgCEBBgCyAFKAIcIgEEQCAGKQIIIiVCIIgiJqchAiAlpyEDA0ACQAJAIAMgASkCECIlpyIEICVCIIgiJaciByACIAIgB0sbIgcQXiIIRQRAICUgJlgNAQwCCyAIQQBIDQELAkAgBCADIAcQXiIERQRAICUgJlQNAQwICyAEQQBODQcLIAFBBGohAQsgASgCACIBDQALCyAMKAIAQQFHBEBB1IkLQQA2AgBBDUHw7QVBxZgDQZQGQY3eABAFQdSJCygCACEbQdSJC0EANgIAIBtBAUcNBwwICwJAAkACQAJAIBEiAyIBKAIAIgJFDQADQCAKIAIiASgCECICSQRAIAEhAyABKAIAIgINAQwCCyACIApPBEAgASEEDAMLIAEoAgQiAg0ACyABQQRqIQMLQdSJC0EANgIAQQRBIBAGIQRB1IkLKAIAIRxB1IkLQQA2AgAgHEEBRg0BIAQgCjYCECAEIAE2AgggBEIANwIAIARBADYCHCAEQgA3AhQgAyAENgIAIAQhASAAKAKwASgCACICBEAgACACNgKwASADKAIAIQELIAAoArQBIAEQZyAAIAAoArgBQQFqNgK4AQsgDCkCCCEmAkAgBCgCGCIBIAQoAhwiB0kEQCABQgA3AgggASAmNwIAIAFBADYCECAEIAFBFGo2AhgMAQsgASAEKAIUIgNrIghBFG0iC0EBaiICQc2Zs+YATwRAQdSJC0EANgIAQeYJEAlB1IkLKAIAIR1B1IkLQQA2AgAgHUEBRg0LDAoLQcyZs+YAIAcgA2tBFG0iB0EBdCINIAIgAiANSRsgB0HmzJkzTxsiAkHNmbPmAE8EQEHUiQtBADYCAEEDEAlB1IkLKAIAIR5B1IkLQQA2AgAgHkEBRg0LDAoLQdSJC0EANgIAQQQgAkEUbCINEAYhB0HUiQsoAgAhH0HUiQtBADYCACAfQQFGDQEgByAIaiICICY3AgAgByALQRRsaiIIQgA3AgggCEEANgIQIAJBFGohCCAHIA1qIQcCQCABIANGBEAgBCAHNgIcIAQgCDYCGCAEIAI2AhQMAQsDQCACQRRrIgIgAUEUayIBKQIANwIAIAIgASgCCDYCCCACIAEoAgw2AgwgAiABKAIQNgIQIAFBADYCECABQgA3AgggASADRw0ACyAEIAc2AhwgBCgCGCEDIAQgCDYCGCAEKAIUIQEgBCACNgIUIAEgA0YNAANAIANBFGsiAigCCCIEBEAgA0EIayAENgIAIAQQWgsgAiIDIAFHDQALCyABRQ0AIAEQWgsCQAJAAkAgESIDIgEoAgAiAkUNAANAIAogAiIBKAIQIgJJBEAgASEDIAEoAgAiAg0BDAILIAIgCk8EQCABIQIMAwsgASgCBCICDQALIAFBBGohAwtB1IkLQQA2AgBBBEEgEAYhAkHUiQsoAgAhIEHUiQtBADYCACAgQQFGDQEgAiAKNgIQIAIgATYCCCACQgA3AgAgAkEANgIcIAJCADcCFCADIAI2AgAgAiEBIAAoArABKAIAIgQEQCAAIAQ2ArABIAMoAgAhAQsgACgCtAEgARBnIAAgACgCuAFBAWo2ArgBCyAGKAIUIgFBAk8EQCACKAIYIgFBBGshDSABQQhrIQMgAUEMayEEQQEhBwNAAkAgBigCECAHQQJ0aigCACIPIAlGDQAgAygCACIBIA0oAgBHBEAgASAPNgIAIAMgAUEEajYCAAwBCwJAAkACQAJAIAEgBCgCACIVayICQQJ1IhZBAWoiCEGAgICABE8EQEHUiQtBADYCAEEOEAkMAQtB/////wMgAkEBdSILIAggCCALSRsgAkH8////B08bIghFBEBBACELDAMLIAhBgICAgARJDQFB1IkLQQA2AgBBAxAJC0HUiQsoAgAhIUHUiQtBADYCACAhQQFHDQ8QACEBDBELQdSJC0EANgIAQQQgCEECdBAGIQtB1IkLKAIAISJB1IkLQQA2AgAgIkEBRg0BCyALIBZBAnRqIgIgDzYCACACQQRqIQ8gASAVRwRAA0AgAkEEayICIAFBBGsiASgCADYCACABIBVHDQALIAQoAgAhAQsgBCACNgIAIAMgDzYCACANIAsgCEECdGo2AgAgAUUNASABEFoMAQsQACEBDA4LIAdBAWoiByAGKAIUIgFJDQALCwJAIAYoAhhFBEAgBkEBNgIYIAYoAhwhASAGKAIQIQJB1IkLQQA2AgBBDCABQQRBBBAEIQFB1IkLKAIAISNB1IkLQQA2AgAgI0EBRg0CIAYgATYCECAGKAIUIgRFDQFBACEJQQAhASAEQQRPBEAgBEF8cSEHA0AgAUECdCIDIAYoAhBqIAIgA2ooAgA2AgAgA0EEciIIIAYoAhBqIAIgCGooAgA2AgAgA0EIciIIIAYoAhBqIAIgCGooAgA2AgAgA0EMciIDIAYoAhBqIAIgA2ooAgA2AgAgAUEEaiIBIAdHDQALCyAEQQNxIgNFDQQDQCABQQJ0IgQgBigCEGogAiAEaigCADYCACABQQFqIQEgCUEBaiIJIANHDQALDAQLIAENAyAGKAIQIQELIAFBADYCAAwCCxAAIQEMCgsQACEBDAkLIAZBATYCFAJAIBIiAiIBKAIAIgNFDQADQCADIgEoAhAiAiAMSwRAIAEhAiABKAIAIgMNAQwCCyACIAxPDQIgASgCBCIDDQALIAFBBGohAgtB1IkLQQA2AgBBBEEUEAYhA0HUiQsoAgAhJEHUiQtBADYCACAkQQFGDQEgAyABNgIIIANCADcCACADIAw2AhAgAiADNgIAIAAoAqQBKAIAIgEEQCAAIAE2AqQBIAIoAgAhAwsgACgCqAEgAxBnIAAgACgCrAFBAWo2AqwBCyAODQEMAgsLEAAhAQwFCyAFKAIcEGAgBUGgAWokAA8LQZCyBEGckgNB6wdBt4ADEAEAC0Hw7QVBxZgDQZQGQY3eABABAAsACxAAIQELIAUoAhwQYCABEAcAC/ADAgh/A34gASACRwRAIABBBGohBwNAIAAoAgQhBQJAAkACQAJAIAciAyAAKAIARg0AAkAgBSIEBEADQCAEIgMoAgQiBA0ADAILAAsDQCADIAMoAggiAygCAEYNAAsLIAMpAhAiDacgASkCECILpyIJIAtCIIgiDKciCCANQiCIIgunIgQgBCAISxsQXiIERQRAIAsgDFQNAQwCCyAEQQBODQELIAciBiEEIAVFDQEgAygCBA0CIANBBGohBiADIQQMAQsgByIGIQQgBUUNAANAAkACQCAJIAUiBCkCECILpyIFIAtCIIgiC6ciAyAIIAMgCEkbIgYQXiIDRQRAIAsgDFYNAQwCCyADQQBODQELIAQhBiAEKAIAIgUNAQwCCwJAIAUgCSAGEF4iA0UEQCALIAxUDQEMBAsgA0EATg0DCyAEKAIEIgUNAAsgBEEEaiEGC0EYEFwhAyABKQIQIQsgAyAENgIIIANCADcCACADIAs3AhAgBiADNgIAIAAoAgAoAgAiBARAIAAgBDYCACAGKAIAIQMLIAAoAgQgAxBnIAAgACgCCEEBajYCCAsCQCABKAIEIgQEQANAIAQiAygCACIEDQAMAgsACwNAIAEoAggiAygCACABRyEKIAMhASAKDQALCyADIgEgAkcNAAsLC/QCAQd/IAEgAkcEQCAAQQRqIQcDQCAAKAIEIQYCQAJAAkAgByIDIAAoAgBGDQAgAyEFAkAgBiIEBEADQCAEIgMoAgQiBA0ADAILAAsDQCAFKAIIIgMoAgAgBUYhCCADIQUgCA0ACwsgASgCECIEIAMoAhBLDQAgByIFIQMgBkUNAQNAIAYiAygCECIFIARLBEAgAyEFIAMoAgAiBg0BDAMLIAQgBU0NAyADKAIEIgYNAAsgA0EEaiEFDAELIANBBGogByAGGyIFKAIADQEgAyAHIAYbIQMLQRQQXCEEIAEoAhAhBiAEIAM2AgggBEIANwIAIAQgBjYCECAFIAQ2AgAgACgCACgCACIDBEAgACADNgIAIAUoAgAhBAsgACgCBCAEEGcgACAAKAIIQQFqNgIICwJAIAEoAgQiBARAA0AgBCIDKAIAIgQNAAwCCwALA0AgASgCCCIDKAIAIAFHIQkgAyEBIAkNAAsLIAMiASACRw0ACwsLJAAgACgCAEEaRwRAQYGnBkGntwJBkxhB6NoEEAEACyAAKAIUC1QAIAEoAgAoAgBB3ABGBEAgACgCbCIAQQE6AFEgAEEBOgAVAkAgAC0AEEHAAHFFDQAgACgCVA0AIABBAToAUwsPC0Hw7QVBxZgDQZQGQY3eABABAAstACABKAIAKAIAQdsARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsQQE6AFELLQAgASgCACgCAEHaAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbEEBOgBRCzcAIAEoAgAoAgBB2QBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwiAEGBAjsBTiAAQQE6AFELNwAgASgCACgCAEHYAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCIAQYECOwFOIABBAToAUQuKAgIBfwF+IwBBIGsiBiQAAkAgBQRAIAYgBRBsNgIcIAYgBTYCGCAGIAYpAhg3AwggBkEQaiAGQQhqEGUMAQsgAEFAaygCACAAKAI8IgVrQQRHBEAgBkEAEGw2AhwgBkEANgIYIAYgBikCGDcDACAGQRBqIAYQZQwBCyAGIAUoAgApAwA3AxALIAYpAxAhByAAQagBakEoQQgQXSIAQgA3AiAgAEKagICAIDcCACAAIAQ2AhwgACADNgIYIAAgAjYCFCAAIAE2AhAgAEIANwMIAkACQCABKAIEQQFGDQAgAigCBEEBRg0AIAMoAgRBAUcNAQsgAEEBNgIECyAAIAc3AiAgBkEgaiQAIAALLQAgASgCACgCAEHXAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbEEBOgBRCy0AIAEoAgAoAgBB1gBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmxBAToAUQstACABKAIAKAIAQdUARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsQQE6AFELLQAgASgCACgCAEHTAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbEEBOgBRC2EAIAEoAgAiASgCAEHSAEYEQCAAKAJsIgBBAToAUQJAAn8CQAJAIAEoAggOCAAAAAABAQEBAwsgAEHJAGoMAQsgAEHPAGoLQQE6AAALDwtB8O0FQcWYA0GUBkGN3gAQAQALLQAgASgCACgCAEHRAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbEEBOgBRC1oAIAEoAgAiASgCAEHPAEYEQCAAKAJsIgBBAToAUQJAAkACQCABKAIIDggAAAAAAQEBAQILIABBAToASA8LIABBAToATgsPC0Hw7QVBxZgDQZQGQY3eABABAAs+ACABKAIAIgEoAgBBzgBGBEAgASgCCEEBa0ECTwRAIAAoAmxBAToAUQsPC0Hw7QVBxZgDQZQGQY3eABABAAvUAgIBfwJ+IwBBIGsiByQAIAKtIQgCQCAGBEAgByAGEGw2AhwgByAGNgIYIAcgBykCGDcDCCAHQRBqIAdBCGoQZQwBCyAAQUBrKAIAIAAoAjwiAmtBBEcEQCAHQQAQbDYCHCAHQQA2AhggByAHKQIYNwMAIAdBEGogBxBlDAELIAcgAigCACkDADcDEAsgBykDECEJIABBqAFqQThBCBBdIgBCADcDCCAAQgA3AyAgACAJNwIwIAAgBTYCLCAAIAQ2AiggACABrTcDGCAAIAg3AxAgAEINNwIAIAAgAToACCAAIAM2AiQCQCAFBEBBASEBIAAgAygCBEEBRwR/IAQoAgRBAUYFQQELNgIEIAQoAgQiAUECTyABIAVHcQ0BIABBAToAICAHQSBqJAAgAA8LQZuPBEGkpAJBzgJBssMDEAEAC0GqyANBmpYDQaMDQcfkAxABAAttACABKAIAIgEoAgBBzQBGBEACQCABKAIQKAIEIgFBB0kNACABKAIEQQFHDQAgASgCCEF8cUEMRw0AIAAoAmxBAToAUA8LIAAoAmwiAEEBOgBRIABBAToATw8LQfDtBUHFmANBlAZBjd4AEAEAC20AIAEoAgAiASgCAEHMAEYEQAJAIAEoAhAoAgQiAUEHSQ0AIAEoAgRBAUcNACABKAIIQXxxQQxHDQAgACgCbEEBOgBQDwsgACgCbCIAQQE6AFEgAEEBOgBPDwtB8O0FQcWYA0GUBkGN3gAQAQALbQAgASgCACIBKAIAQcsARgRAAkAgASgCCCgCBCIBQQdJDQAgASgCBEEBRw0AIAEoAghBfHFBDEcNACAAKAJsQQE6AFAPCyAAKAJsIgBBAToAUSAAQQE6AE8PC0Hw7QVBxZgDQZQGQY3eABABAAsvACABKAIAIgEoAgBBygBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCHEQt7ACABKAIAIgEoAgBByQBGBEACQCABKAIIKAIEIgFBB0kNAAJAIAEoAgRBAUcNACABKAIIQXxxQQxHDQAgACgCbEEBOgBQDwsgASgCBEEBRw0AIAEoAgxBAUcNACAAKAJsQQE6AFELDwtB8O0FQcWYA0GUBkGN3gAQAQALbQAgASgCACIBKAIAQcgARgRAAkAgASgCCCgCBCIBQQdJDQAgASgCBEEBRw0AIAEoAghBfHFBDEcNACAAKAJsQQE6AFAPCyAAKAJsIgBBAToAUSAAQQE6AE8PC0Hw7QVBxZgDQZQGQY3eABABAAttACABKAIAIgEoAgBBxwBGBEACQCABKAIIKAIEIgFBB0kNACABKAIEQQFHDQAgASgCCEF8cUEMRw0AIAAoAmxBAToAUA8LIAAoAmwiAEEBOgBRIABBAToATg8LQfDtBUHFmANBlAZBjd4AEAEACy0AIAEoAgAoAgBBxQBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmxBAToAUQstACABKAIAKAIAQcQARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsQQE6AFELlAEBAX8gASgCACIBKAIAQcIARgRAAkAgASgCDCICKAIEIgFBB0kNACABKAIEQQFHDQAgASgCCEF8cUEMRw0AIAAoAmxBAToAUA8LIAAoAmwiAUEBOgBNAkAgAigCBCIAQQdJDQAgACgCBEEBRw0AIAAoAgxBAUcNACABQQE6AFELDwtB8O0FQcWYA0GUBkGN3gAQAQALLwAgASgCACIBKAIAQcEARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQiBELUgIBfwF+IwBBEGsiAiQAIAEoAgAiASgCAEE/RwRAQfDtBUHFmANBlAZBjd4AEAEACyACQQhqIAAoAmxB4ABqIAEpAgwiAyADELACIAJBEGokAAssACABKAIAKAIAQT5HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmxBAToAUQu/AQECfyABKAIAIgEoAgBBPEYEQAJAIAEoAhgiAygCBCICQQdJDQAgAigCBEEBRw0AIAIoAghBfHFBDEcNACAAKAJsQQE6AFAPCyAAKAJsIgBBAToAFQJAIAAtABBBwABxRQ0AIAAoAlQNACAAQQE6AFMLIAEtABwEQCAAQQE6ABQLAkAgAygCBCIBQQdJDQAgASgCBEEBRw0AIAEoAgxBAUcNACAAQQE6AFELDwtB8O0FQcWYA0GUBkGN3gAQAQALVQAgASgCACIBKAIAQTtGBEACQCABKAIIKAIEIgFBB0kNACABKAIEQQFHDQAgASgCDEEBRw0AIAAoAmxBAToAUQsPC0Hw7QVBxZgDQZQGQY3eABABAAs4ACABKAIAKAIAQShGBEAgACgCbCIAKAJYRQRAIABBAToAXAsPC0Hw7QVBxZgDQZQGQY3eABABAAssACABKAIAKAIAQRdHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmxBAToAUAs/ACABKAIAKAIAQTdGBEAgACgCbCIAKAJURQRAIABBAToAUwsgAEEBOgBRDwtB8O0FQcWYA0GUBkGN3gAQAQALOAAgASgCACgCAEE2RgRAIAAoAmwiACgCVEUEQCAAQQE6AFMLDwtB8O0FQcWYA0GUBkGN3gAQAQALOAAgASgCACgCAEE1RgRAIAAoAmwiACgCVEUEQCAAQQE6AFMLDwtB8O0FQcWYA0GUBkGN3gAQAQALmAECA38BfiMAQRBrIgMkAAJAIAEoAgAiAigCAEE0RgRAIAIoAiAiBARAQQAhAQNAIAIoAiAgAU0NAyADQQhqIAAoAmxB4ABqIAIoAhwgAUEDdGopAgAiBSAFELACIAFBAWoiASAERw0ACwsgA0EQaiQADwtB8O0FQcWYA0GUBkGN3gAQAQALQcWiAUGJogNBvAFBpogFEAEACzYAIAEoAgAoAgBBMkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCIAQQE6AFEgAEGBAjsBSgs1ACABKAIAKAIAQTFHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwiAEEBOgBRIABBAToASwstACABKAIAKAIAQTBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmxBgQI7AUoLLAAgASgCACgCAEEvRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsQQE6AEoLNQAgASgCACgCAEEuRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIgBBAToAUSAAQQE6AEsLNQAgASgCACgCAEEtRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIgBBAToAUSAAQQE6AEoLPQAgASgCACgCAEEVRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIgBBAToAUiAAQYECOwFIIABBAToAFQtBAAJAIAAoAgBBGEYEQCABRQ0BIAAgATYCHA8LQaa0BkGntwJBwhdBgtMDEAEAC0Ht9QFBp7cCQcMXQYLTAxABAAs1ACABKAIAKAIAQRRHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwiAEEBOgBSIABBAToASAssACABKAIAKAIAQRNHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmxBAToAFAsuACABKAIAIgEoAgBBEEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEIkRCz0AIAEoAgAiASgCAEEPRgRAIAEoAghBGWtBB00EQCAAKAJsQQE6AFELDwtB8O0FQcWYA0GUBkGN3gAQAQALNQAgASgCACgCAEEnRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIgBBAToAUSAAQQE6AEkLNgAgASgCACgCAEEmRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIgBBAToAUSAAQYECOwFICzUAIAEoAgAoAgBBJUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCIAQQE6AFEgAEEBOgBJC0EAAkAgACgCAEEYRgRAIAFFDQEgACABNgIYDwtBprQGQae3AkG2F0HE8AEQAQALQZX1AUGntwJBtxdBxPABEAEACzUAIAEoAgAoAgBBJEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCIAQQE6AFEgAEEBOgBJC3AAAkAgASgCACIBKAIAQSNGBEAgASgCCCIBQQhPDQEgACgCbCEAAkBB8AEgAXZBAXFFBEAgAEEBOgBIDAELIABBAToASQsgAEEBOgBRDwtB8O0FQcWYA0GUBkGN3gAQAQALQZe9AkGkpAJBkwQQYgALNQAgASgCACgCAEEiRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIgBBAToAUSAAQQE6AEgLNgAgASgCACgCAEEcRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIgBBAToAUiAAQYECOwFICzcAIAEoAgAoAgBBG0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCIAQYECOwFIIABBgQI7AFELJgAgACgCAEEYRwRAQaa0BkGntwJBlxdBvMMCEAEACyAAIAE2AggLNwAgASgCACgCAEEaRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIgBBgQI7AUggAEGBAjsAUQs3ACABKAIAKAIAQRlHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwiAEGBAjsBSCAAQYECOwBRCzcAIAEoAgAoAgBBGEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCIAQYECOwFIIABBgQI7AFELSwAgASgCACIBKAIAQQ1HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwiAEEBOgBJIAEtACAhASAAQQE6AFEgACABIAAtAFJyOgBSC0sAIAEoAgAiASgCAEEMRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIgBBAToASCABLQAgIQEgAEEBOgBRIAAgASAALQBScjoAUgtRAgF/AX4jAEEQayICJAAgASgCACIBKAIAQQtHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAJBCGogACgCbEE8aiABKQIIIgMgAxCwAiACQRBqJAALdAICfwF+IwBBEGsiAiQAIAEoAgAiASgCAEEKRgRAIAAoAmwoAgwiAygCuAIgAygCvAIgASkCCBCHAy0AJARAIAJBCGogACgCbEEwaiABKQIIIgQgBBCwAgsgAkEQaiQADwtB8O0FQcWYA0GUBkGN3gAQAQAL1QEBA38gASgCACIBKAIAQQlGBEAgASgCCCEEIAAoAmwiAiIAQShqIgMhAQJAAkAgACgCKCIARQ0AA0AgACIBKAIQIgAgBEsEQCABIgMoAgAiAA0BDAILIAAgBE8NAiABKAIEIgANAAsgAUEEaiEDC0EUEFwiACABNgIIIABCADcCACAAIAQ2AhAgAyAANgIAIAIoAiQoAgAiAQRAIAIgATYCJCADKAIAIQALIAIoAiggABBnIAIgAigCLEEBajYCLAsPC0Hw7QVBxZgDQZQGQY3eABABAAvVAQEDfyABKAIAIgEoAgBBCEYEQCABKAIIIQQgACgCbCICIgBBHGoiAyEBAkACQCAAKAIcIgBFDQADQCAAIgEoAhAiACAESwRAIAEiAygCACIADQEMAgsgACAETw0CIAEoAgQiAA0ACyABQQRqIQMLQRQQXCIAIAE2AgggAEIANwIAIAAgBDYCECADIAA2AgAgAigCGCgCACIBBEAgAiABNgIYIAMoAgAhAAsgAigCHCAAEGcgAiACKAIgQQFqNgIgCw8LQfDtBUHFmANBlAZBjd4AEAEAC10AIAEoAgAiASgCAEEHRgRAIAAoAmwiAEEBOgAVAkAgAC0AEEHAAHFFDQAgACgCVA0AIABBAToAUwsgAS0AKARAIABBAToAFAsPC0Hw7QVBxZgDQZQGQY3eABABAAsnACAAKAIAQRhHBEBBprQGQae3AkGrF0G//QAQAQALIAAgAa03AxALKwAgASgCACIBKAIAQQZHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAgARCKEQuyAQIDfwF+IwBBEGsiAyQAAkAgASgCACICKAIAQQVGBEAgAigCDCIEBEBBACEBA0AgAigCDCABTQ0DIANBCGogACgCbEHgAGogAigCCCABQQN0aikCACIFIAUQsAIgAUEBaiIBIARHDQALCyADQQhqIAAoAmxB4ABqIAIpAhgiBSAFELACIANBEGokAA8LQfDtBUHFmANBlAZBjd4AEAEAC0HFogFBiaIDQbwBQaaIBRABAAtSAgF/AX4jAEEQayICJAAgASgCACIBKAIAQQRHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAJBCGogACgCbEHgAGogASkCCCIDIAMQsAIgAkEQaiQAC04AIAEoAgAiASgCAEEDRgRAAkAgASgCCEUNACAAKAJsQeAAaiABKQIIEP0DRQ0AIAAoAmxBAToAXQsPC0Hw7QVBxZgDQZQGQY3eABABAAs/ACABKAIAIgEoAgBBAUYEQCABKAIIBEAgACgCbEHgAGogASkCCBD9AxoLDwtB8O0FQcWYA0GUBkGN3gAQAQALSAAgASgCACIBKAIAQTNGBEAgASgCKCABKAIYa0EBRgRAIAAoAmwiACAAKAJUQQFqNgJUCw8LQfDtBUHFmANBlAZBjd4AEAEAC8YCAgh/A34CQAJAAkAgASgCACICKAIAQTNGBEAgAigCCEUNAyAAKAJsIgNB7ABqIQggAikCCCEKIAMoAnAiAUUNAiAKQiCIIgynIQYgCqchBwNAAkACQCAHIAEpAhAiC6ciBCALQiCIIgunIgUgBiAFIAZJGyIFEF4iCUUEQCALIAxYDQEMAgsgCUEASA0BCwJAIAQgByAFEF4iBEUEQCALIAxUDQEMBQsgBEEATg0ECyABQQRqIQELIAEoAgAiAQ0ACwwCC0Hw7QVBxZgDQZQGQY3eABABAAsgAygCVA0AIANBAToAUyACKQIIIQoLIAggChD9AxoLIAAoAmwhAAJAIAIoAiggAigCGGtBAUYEQCAAKAJUIgFFDQEgACABQQFrNgJUCyAAIAAoAlhBAWo2AlgPC0GvxgZB9ooDQbEDQYqFAxABAAsuACAAKAJsIgAoAlgiAUUEQEHrxgZB9ooDQbgDQaGFAxABAAsgACABQQFrNgJYCyYAIAAoAgBBGEcEQEGmtAZBp7cCQaEXQZjIARABAAsgACABOgAMC1sCAX8BfiMAQRBrIgIkACABKAIAIgEoAgBBM0YEQCABKAI0BEAgAkEIaiAAKAJsQewAaiABKQI0IgMgAxCwAgsgAkEQaiQADwtB8O0FQcWYA0GUBkGN3gAQAQALLwAgASgCACIBKAIAQdwARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmAILLwAgASgCACIBKAIAQdsARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmAILLwAgASgCACIBKAIAQdoARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmAILLwAgASgCACIBKAIAQdkARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmAILLwAgASgCACIBKAIAQdgARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmAILLwAgASgCACIBKAIAQdcARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmAILLwAgASgCACIBKAIAQdYARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmAILLwAgASgCACIBKAIAQdUARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmAILLwAgASgCACIBKAIAQdQARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmAILLwAgASgCACIBKAIAQdMARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmAILLwAgASgCACIBKAIAQdIARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmAILLwAgASgCACIBKAIAQdEARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmAILLwAgASgCACIBKAIAQdAARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmAILLwAgASgCACIBKAIAQc8ARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmAILLwAgASgCACIBKAIAQc4ARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmAILLwAgASgCACIBKAIAQc0ARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmAILLwAgASgCACIBKAIAQcwARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmAILLwAgASgCACIBKAIAQcsARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmAILLwAgASgCACIBKAIAQcoARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmAILLwAgASgCACIBKAIAQckARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmAILLwAgASgCACIBKAIAQcgARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmAILLwAgASgCACIBKAIAQccARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmAILLwAgASgCACIBKAIAQcYARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmAILLwAgASgCACIBKAIAQcUARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmAILLwAgASgCACIBKAIAQcQARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmAILLwAgASgCACIBKAIAQcMARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmAILLwAgASgCACIBKAIAQcIARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmAILLwAgASgCACIBKAIAQcEARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmAILJAAgACgCAEEYRwRAQaa0BkGntwJBvBdBuNYDEAEACyAAKAIcCy8AIAEoAgAiASgCAEHAAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJgCCy4AIAEoAgAiASgCAEE/RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmAILLgAgASgCACIBKAIAQT5HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCYAgsuACABKAIAIgEoAgBBPUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJgCCy4AIAEoAgAiASgCAEE8RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmAILLgAgASgCACIBKAIAQTtHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCYAgsuACABKAIAIgEoAgBBOkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJgCCy4AIAEoAgAiASgCAEE5RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmAILLgAgASgCACIBKAIAQThHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCYAgsuACABKAIAIgEoAgBBKEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJgCCyQAIAAoAgBBGEcEQEGmtAZBp7cCQbAXQb3yARABAAsgACgCGAsuACABKAIAIgEoAgBBF0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJgCCy4AIAEoAgAiASgCAEEWRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmAILLgAgASgCACIBKAIAQTdHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCYAgsuACABKAIAIgEoAgBBNkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJgCCy4AIAEoAgAiASgCAEE1RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmAILLgAgASgCACIBKAIAQTRHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCYAgsuACABKAIAIgEoAgBBM0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJgCCy4AIAEoAgAiASgCAEEyRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmAILLgAgASgCACIBKAIAQTFHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCYAgsuACABKAIAIgEoAgBBMEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJgCCyQAIAAoAgBBGEcEQEGmtAZBp7cCQZIXQebGAhABAAsgACgCCAsuACABKAIAIgEoAgBBL0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJgCCy4AIAEoAgAiASgCAEEuRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmAILLgAgASgCACIBKAIAQS1HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCYAgsuACABKAIAIgEoAgBBLEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJgCCy4AIAEoAgAiASgCAEErRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmAILLgAgASgCACIBKAIAQSpHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCYAgsuACABKAIAIgEoAgBBKUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJgCCy4AIAEoAgAiASgCAEEVRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmAILLgAgASgCACIBKAIAQRRHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCYAgsuACABKAIAIgEoAgBBE0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJgCCyQAIAAoAgBBGEcEQEGmtAZBp7cCQaYXQf/+ABABAAsgACgCEAsuACABKAIAIgEoAgBBEkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJgCCy4AIAEoAgAiASgCAEERRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmAILLgAgASgCACIBKAIAQRBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCYAgsuACABKAIAIgEoAgBBD0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJgCCy4AIAEoAgAiASgCAEEORwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmAILLgAgASgCACIBKAIAQSdHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCYAgsuACABKAIAIgEoAgBBJkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJgCCy4AIAEoAgAiASgCAEElRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmAILLgAgASgCACIBKAIAQSRHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCYAgsuACABKAIAIgEoAgBBI0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJgCCyQAIAAoAgBBGEcEQEGmtAZBp7cCQZwXQZ3JARABAAsgAC0ADAsuACABKAIAIgEoAgBBIkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJgCCy4AIAEoAgAiASgCAEEhRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmAILLgAgASgCACIBKAIAQSBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCYAgsuACABKAIAIgEoAgBBH0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJgCCy4AIAEoAgAiASgCAEEeRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmAILLgAgASgCACIBKAIAQR1HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCYAgsuACABKAIAIgEoAgBBHEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJgCCy4AIAEoAgAiASgCAEEbRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmAILLgAgASgCACIBKAIAQRpHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCYAgsuACABKAIAIgEoAgBBGUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJgCCy4AIAEoAgAiASgCAEEYRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmAILLgAgASgCACIBKAIAQQ1HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCYAgsuACABKAIAIgEoAgBBDEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJgCCy4AIAEoAgAiASgCAEELRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmAILLgAgASgCACIBKAIAQQpHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCYAgsuACABKAIAIgEoAgBBCUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJgCCy4AIAEoAgAiASgCAEEIRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmAILLgAgASgCACIBKAIAQQdHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCYAgsuACABKAIAIgEoAgBBBkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJgCCy4AIAEoAgAiASgCAEEFRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmAILiQICAX8BfiMAQSBrIggkAAJAIAcEQCAIIAcQbDYCHCAIIAc2AhggCCAIKQIYNwMIIAhBEGogCEEIahBlDAELIABBQGsoAgAgACgCPCIHa0EERwRAIAhBABBsNgIcIAhBADYCGCAIIAgpAhg3AwAgCEEQaiAIEGUMAQsgCCAHKAIAKQMANwMQCyAIKQMQIQkgAEGoAWpBKEEIEF0iAEIANwMIIABCADcCICAAQRg2AgAgACAFNgIcIAAgBDYCGCAAIAOtNwMQIAAgBjYCBCAAIAI6AAwgACABNgIIAkAgBCgCBEEBRwRAIAUoAgRBAUcNAQsgAEEBNgIECyAAIAk3AiAgCEEgaiQAIAALLgAgASgCACIBKAIAQQRHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCYAgsuACABKAIAIgEoAgBBA0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJgCCy4AIAEoAgAiASgCAEECRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmAILLgAgASgCACIBKAIAQQFHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCYAgsvACABKAIAIgEoAgBB3ABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCZAgsvACABKAIAIgEoAgBB2wBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCZAgsvACABKAIAIgEoAgBB2gBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCZAgsvACABKAIAIgEoAgBB2QBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCZAgsvACABKAIAIgEoAgBB2ABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCZAgtBAAJAIAAoAgBBG0YEQCABRQ0BIAAgATYCEA8LQaKjBkGntwJBvRhB4+4BEAEAC0GV9QFBp7cCQb4YQePuARABAAsvACABKAIAIgEoAgBB1wBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCZAgsvACABKAIAIgEoAgBB1gBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCZAgsvACABKAIAIgEoAgBB1QBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCZAgsvACABKAIAIgEoAgBB1ABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCZAgsvACABKAIAIgEoAgBB0wBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCZAgsvACABKAIAIgEoAgBB0gBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCZAgsvACABKAIAIgEoAgBB0QBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCZAgsvACABKAIAIgEoAgBB0ABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCZAgsvACABKAIAIgEoAgBBzwBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCZAgsvACABKAIAIgEoAgBBzgBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCZAgtBAAJAIAAoAgBBG0YEQCABRQ0BIAAgATYCFA8LQaKjBkGntwJByhhBzuMAEAEAC0Gw9AFBp7cCQcsYQc7jABABAAsvACABKAIAIgEoAgBBzQBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCZAgsvACABKAIAIgEoAgBBzABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCZAgsvACABKAIAIgEoAgBBywBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCZAgsvACABKAIAIgEoAgBBygBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCZAgsvACABKAIAIgEoAgBByQBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCZAgsvACABKAIAIgEoAgBByABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCZAgsvACABKAIAIgEoAgBBxwBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCZAgsvACABKAIAIgEoAgBBxgBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCZAgsvACABKAIAIgEoAgBBxQBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCZAgsvACABKAIAIgEoAgBBxABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCZAgsvACABKAIAIgEoAgBBwwBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCZAgsvACABKAIAIgEoAgBBwgBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCZAgsvACABKAIAIgEoAgBBwQBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCZAgsvACABKAIAIgEoAgBBwABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCZAgsuACABKAIAIgEoAgBBP0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJkCCy4AIAEoAgAiASgCAEE+RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmQILLgAgASgCACIBKAIAQT1HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCZAgsuACABKAIAIgEoAgBBPEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJkCCy4AIAEoAgAiASgCAEE7RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmQILLgAgASgCACIBKAIAQTpHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCZAgskACAAKAIAQRtHBEBBoqMGQae3AkG3GEHc8AEQAQALIAAoAhALLgAgASgCACIBKAIAQTlHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCZAgsuACABKAIAIgEoAgBBOEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJkCCy4AIAEoAgAiASgCAEEoRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmQILLgAgASgCACIBKAIAQRdHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCZAgsuACABKAIAIgEoAgBBFkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJkCCy4AIAEoAgAiASgCAEE3RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmQILLgAgASgCACIBKAIAQTZHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCZAgsuACABKAIAIgEoAgBBNUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJkCCy4AIAEoAgAiASgCAEE0RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmQILLgAgASgCACIBKAIAQTNHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCZAgskACAAKAIAQRtHBEBBoqMGQae3AkHEGEHx4wAQAQALIAAoAhQLLgAgASgCACIBKAIAQTJHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCZAgsuACABKAIAIgEoAgBBMUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJkCCy4AIAEoAgAiASgCAEEwRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmQILLgAgASgCACIBKAIAQS9HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCZAgsuACABKAIAIgEoAgBBLkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJkCCy4AIAEoAgAiASgCAEEtRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmQILLgAgASgCACIBKAIAQSxHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCZAgsuACABKAIAIgEoAgBBK0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJkCCy4AIAEoAgAiASgCAEEqRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmQILLgAgASgCACIBKAIAQSlHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCZAgvwAQIBfwF+IwBBIGsiBCQAAkAgAwRAIAQgAxBsNgIcIAQgAzYCGCAEIAQpAhg3AwggBEEQaiAEQQhqEGUMAQsgAEFAaygCACAAKAI8IgNrQQRHBEAgBEEAEGw2AhwgBEEANgIYIAQgBCkCGDcDACAEQRBqIAQQZQwBCyAEIAMoAgApAwA3AxALIAQpAxAhBSAAQagBakEgQQgQXSIAQgA3AhggAEKbgICAIDcCACAAIAI2AhQgACABNgIQIABCADcDCAJAIAEoAgRBAUcEQCACKAIEQQFHDQELIABBATYCBAsgACAFNwIYIARBIGokACAACy4AIAEoAgAiASgCAEEVRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmQILLgAgASgCACIBKAIAQRRHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCZAgsuACABKAIAIgEoAgBBE0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJkCCy4AIAEoAgAiASgCAEESRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmQILLgAgASgCACIBKAIAQRFHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCZAgsuACABKAIAIgEoAgBBEEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJkCCy4AIAEoAgAiASgCAEEPRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmQILLgAgASgCACIBKAIAQQ5HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCZAgsuACABKAIAIgEoAgBBJ0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJkCCy4AIAEoAgAiASgCAEEmRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmQIL5AECAX8BfiMAQSBrIgYkAAJAIAUEQCAGIAUQbDYCHCAGIAU2AhggBiAGKQIYNwMIIAZBEGogBkEIahBlDAELIABBQGsoAgAgACgCPCIFa0EERwRAIAZBABBsNgIcIAZBADYCGCAGIAYpAhg3AwAgBkEQaiAGEGUMAQsgBiAFKAIAKQMANwMQCyAGKQMQIQcgAEGoAWpBMEEIEF0iACAENgIkIAAgAa03AxggACACrTcDECAAQQA6AAkgACABOgAIIABBDDYCACAAIAc3AiggACADNgIEIABBAToAICAGQSBqJAAgAAsuACABKAIAIgEoAgBBJUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJkCCy4AIAEoAgAiASgCAEEkRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmQILLgAgASgCACIBKAIAQSNHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCZAgsuACABKAIAIgEoAgBBIkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJkCCy4AIAEoAgAiASgCAEEhRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmQILLgAgASgCACIBKAIAQSBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCZAgsuACABKAIAIgEoAgBBH0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJkCCy4AIAEoAgAiASgCAEEeRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmQILLgAgASgCACIBKAIAQR1HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCZAgsuACABKAIAIgEoAgBBHEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJkCCyYAIAAoAgBBHEcEQEHasgZBp7cCQdcYQf3+ARABAAsgACABOgAICy4AIAEoAgAiASgCAEEbRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmQILLgAgASgCACIBKAIAQRpHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCZAgsuACABKAIAIgEoAgBBGUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJkCCy4AIAEoAgAiASgCAEEYRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmQILLgAgASgCACIBKAIAQQ1HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCZAgsuACABKAIAIgEoAgBBDEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJkCCy4AIAEoAgAiASgCAEELRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmQILLgAgASgCACIBKAIAQQpHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCZAgsuACABKAIAIgEoAgBBCUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJkCCy4AIAEoAgAiASgCAEEIRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmQILLgAgASgCACIBKAIAQQdHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCZAgsuACABKAIAIgEoAgBBBkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJkCCy4AIAEoAgAiASgCAEEFRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmQILLgAgASgCACIBKAIAQQRHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCZAgsuACABKAIAIgEoAgBBA0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJkCCy4AIAEoAgAiASgCAEECRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmQILLgAgASgCACIBKAIAQQFHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCZAgsvACABKAIAIgEoAgBB3ABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCaAgsvACABKAIAIgEoAgBB2wBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCaAgskACAAKAIAQRxHBEBB2rIGQae3AkHSGEGZ/wEQAQALIAAtAAgLLwAgASgCACIBKAIAQdoARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmgILLwAgASgCACIBKAIAQdkARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmgILLwAgASgCACIBKAIAQdgARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmgILLwAgASgCACIBKAIAQdcARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmgILLwAgASgCACIBKAIAQdYARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmgILLwAgASgCACIBKAIAQdUARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmgILLwAgASgCACIBKAIAQdQARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmgILLwAgASgCACIBKAIAQdMARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmgILLwAgASgCACIBKAIAQdIARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmgILLwAgASgCACIBKAIAQdEARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmgILHgAgAEGoAWpBDEEEEF0iAEIcNwIAIABBADYCCCAACy8AIAEoAgAiASgCAEHQAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJoCCy8AIAEoAgAiASgCAEHPAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJoCCy8AIAEoAgAiASgCAEHOAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJoCCy8AIAEoAgAiASgCAEHNAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJoCCy8AIAEoAgAiASgCAEHMAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJoCCy8AIAEoAgAiASgCAEHLAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJoCCy8AIAEoAgAiASgCAEHKAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJoCCy8AIAEoAgAiASgCAEHJAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJoCCy8AIAEoAgAiASgCAEHIAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJoCCy8AIAEoAgAiASgCAEHHAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJoCC0EAAkAgACgCAEEZRgRAIAFFDQEgACABNgIgDwtBxK8GQae3AkH+F0GF7AAQAQALQcD0AUGntwJB/xdBhewAEAEACy8AIAEoAgAiASgCAEHGAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJoCCy8AIAEoAgAiASgCAEHFAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJoCCy8AIAEoAgAiASgCAEHEAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJoCCy8AIAEoAgAiASgCAEHDAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJoCCy8AIAEoAgAiASgCAEHCAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJoCCy8AIAEoAgAiASgCAEHBAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJoCCy8AIAEoAgAiASgCAEHAAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJoCCy4AIAEoAgAiASgCAEE/RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmgILLgAgASgCACIBKAIAQT5HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCaAgsuACABKAIAIgEoAgBBPUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJoCC0EAAkAgACgCAEEZRgRAIAFFDQEgACABNgIYDwtBxK8GQae3AkHkF0Gv7wEQAQALQZX1AUGntwJB5RdBr+8BEAEACy4AIAEoAgAiASgCAEE8RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmgILLgAgASgCACIBKAIAQTtHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCaAgsuACABKAIAIgEoAgBBOkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJoCCy4AIAEoAgAiASgCAEE5RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmgILLgAgASgCACIBKAIAQThHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCaAgsuACABKAIAIgEoAgBBKEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJoCCy4AIAEoAgAiASgCAEEXRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmgILLgAgASgCACIBKAIAQRZHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCaAgsuACABKAIAIgEoAgBBN0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJoCCy4AIAEoAgAiASgCAEE2RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmgILJwAgACgCAEEZRwRAQcSvBkGntwJB2RdBtvwAEAEACyAAIAGtNwMQCy4AIAEoAgAiASgCAEE1RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmgILLgAgASgCACIBKAIAQTRHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCaAgsuACABKAIAIgEoAgBBM0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJoCCy4AIAEoAgAiASgCAEEyRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmgILLgAgASgCACIBKAIAQTFHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCaAgsuACABKAIAIgEoAgBBMEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJoCCy4AIAEoAgAiASgCAEEvRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmgILLgAgASgCACIBKAIAQS5HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCaAgsuACABKAIAIgEoAgBBLUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJoCCy4AIAEoAgAiASgCAEEsRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmgILQQACQCAAKAIAQRlGBEAgAUUNASAAIAE2AhwPC0HErwZBp7cCQfEXQcfaBBABAAtBv/YBQae3AkHyF0HH2gQQAQALLgAgASgCACIBKAIAQStHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCaAgsuACABKAIAIgEoAgBBKkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJoCCy4AIAEoAgAiASgCAEEpRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmgILLgAgASgCACIBKAIAQRVHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCaAgsuACABKAIAIgEoAgBBFEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJoCCy4AIAEoAgAiASgCAEETRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmgILLgAgASgCACIBKAIAQRJHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCaAgsuACABKAIAIgEoAgBBEUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJoCCy4AIAEoAgAiASgCAEEQRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmgILLgAgASgCACIBKAIAQQ9HBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCaAgsmACAAKAIAQRlHBEBBxK8GQae3AkHOF0GtxwEQAQALIAAgAToACAsuACABKAIAIgEoAgBBDkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJoCCy4AIAEoAgAiASgCAEEnRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmgILLgAgASgCACIBKAIAQSZHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCaAgsuACABKAIAIgEoAgBBJUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJoCCy4AIAEoAgAiASgCAEEkRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmgILLgAgASgCACIBKAIAQSNHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCaAgsuACABKAIAIgEoAgBBIkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJoCCy4AIAEoAgAiASgCAEEhRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmgILLgAgASgCACIBKAIAQSBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCaAgsuACABKAIAIgEoAgBBH0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJoCCyQAIAAoAgBBGUcEQEHErwZBp7cCQfgXQansABABAAsgACgCIAsuACABKAIAIgEoAgBBHkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJoCCy4AIAEoAgAiASgCAEEdRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmgILLgAgASgCACIBKAIAQRxHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCaAgsuACABKAIAIgEoAgBBG0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJoCCy4AIAEoAgAiASgCAEEaRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmgILLgAgASgCACIBKAIAQRlHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCaAgsuACABKAIAIgEoAgBBGEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJoCCy4AIAEoAgAiASgCAEENRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmgILLgAgASgCACIBKAIAQQxHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCaAgsuACABKAIAIgEoAgBBC0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJoCCyQAIAAoAgBBGUcEQEHErwZBp7cCQd4XQajxARABAAsgACgCGAsuACABKAIAIgEoAgBBCkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJoCCy4AIAEoAgAiASgCAEEJRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmgILLgAgASgCACIBKAIAQQhHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCaAgsuACABKAIAIgEoAgBBB0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJoCCy4AIAEoAgAiASgCAEEGRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmgILLgAgASgCACIBKAIAQQVHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCaAgsuACABKAIAIgEoAgBBBEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCbCABEJoCCy4AIAEoAgAiASgCAEEDRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAJsIAEQmgILLgAgASgCACIBKAIAQQJHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCaAgskACAAKAIAQRlHBEBBxK8GQae3AkHTF0H2/QAQAQALIAAoAhALLgAgASgCACIBKAIAQQFHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAmwgARCaAgvVHQEOfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEoAgAiAigCAA5eAAECAwQFBgcICQoLDA0eHyAhIiMkJTU2Dg8QERITFBUWFxgZGhscHTcmJygpKissLS4vMDEyMzQ4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcAF0LQZj9A0HlswNB6gEQYgALIABBqwggARBYIAIoAgBBAUcNXCACKAIUIgFBAEwNWyAAQQRqIQQDQCABQQFrIgAgAigCFE8NXiACKAIQIABBAnRqIgMoAgBFDV8gBEHxBiADEFsgAUEBSyEGIAAhASAGDQALDFsLIABBrAggARBYIAIoAgBBAkcNWyACKAIQBEAgAEEEakHxBiACQRBqEFsLDGALIABBrQggARBYIAIoAgBBA0cNWgxjCyAAQa4IIAEQWCACKAIAQQRHDVkgAigCFARAIABBBGpB8QYgAkEUahBbCyACKAIQRQ1YIABBBGpB8QYgAkEQahBbDwsgAEGvCCABEFggAigCAEEFRw1YIABB8QYgAkEkahBYIAIoAiBFDVcgAEEEakHxBiACQSBqEFsPCyAAQbAIIAEQWCACKAIAQQZHDVcgAigCDCIBQQBMDVYgAEEEaiEEA0AgAUEBayIAIAIoAgxPDVkgAigCCCAAQQJ0aiIDKAIARQ1aIARB8QYgAxBbIAFBAUshByAAIQEgBw0ACwxWCyAAQbEIIAEQWCACKAIAQQdHDVYgAEHxBiACQRxqEFggAigCECIBQQBMDVUgAEEEaiEEA0AgAUEBayIAIAIoAhBPDVggAigCDCAAQQJ0aiIDKAIARQ1ZIARB8QYgAxBbIAFBAUshCCAAIQEgCA0ACwxVCyAAQbIIIAEQWCACKAIAQQhGDVQMVQsgAEGzCCABEFggAigCAEEJRw1UDGALIABBtAggARBYIAIoAgBBCkYNUgxTCyAAQbUIIAEQWCACKAIAQQtHDVIMWwsgAEG2CCABEFggAigCAEEMRw1RDF8LIABBtwggARBYIAIoAgBBDUcNUAxdCyAAQbgIIAEQWCACKAIAQRhHDU8MXgsgAEG5CCABEFggAigCAEEZRw1OIABB8QYgAkEgahBYDF0LIABBugggARBYIAIoAgBBGkcNTQxUCyAAQbsIIAEQWCACKAIAQRtHDUwMVAsgAEG8CCABEFggAigCAEEcRg1KDEsLIABBvQggARBYIAIoAgBBHUcNSgxWCyAAQb4IIAEQWCACKAIAQR5HDUkgAEHxBiACQRRqEFgMVQsgAEG/CCABEFggAigCAEEfRw1IDE0LIABBwAggARBYIAIoAgBBIEcNRwxRCyAAQcEIIAEQWCACKAIAQSFHDUYMUQsgAEHCCCABEFggAigCAEEiRw1FIABB8QYgAkEgahBYDwsgAEHDCCABEFggAigCAEEjRw1EDFELIABBxAggARBYIAIoAgBBJEcNQwxKCyAAQcUIIAEQWCACKAIAQSVGDUEMQgsgAEHGCCABEFggAigCAEEmRw1BDEULIABBxwggARBYIAIoAgBBJ0cNQAxECyAAQcgIIAEQWCACKAIAQQ5GDT4MPwsgAEHJCCABEFggAigCAEEPRw0+DEoLIABBygggARBYIAIoAgBBEEcNPQxICyAAQcsIIAEQWCACKAIAQRFHDTwMQAsgAEHMCCABEFggAigCAEESRw07DEsLIABBzQggARBYIAIoAgBBE0cNOiACKAIIRQ05DEsLIABBzgggARBYIAIoAgBBFEYNOAw5CyAAQc8IIAEQWCACKAIAQRVHDTgMSAsgAEHQCCABEFggAigCAEEpRg02DDcLIABB0QggARBYIAIoAgBBKkcNNgxGCyAAQdIIIAEQWCACKAIAQStGDTQMNQsgAEHTCCABEFggAigCAEEsRw00DDkLIABB1AggARBYIAIoAgBBLUcNMww8CyAAQdUIIAEQWCACKAIAQS5HDTIMOgsgAEHWCCABEFggAigCAEEvRg0wDDELIABB1wggARBYIAIoAgBBMEcNMAw4CyAAQdgIIAEQWCACKAIAQTFHDS8MNgsgAEHZCCABEFggAigCAEEyRw0uDDILIABB2gggARBYIAIoAgBBM0cNLSACKAIoIgFBAEoEQCAAQQRqIQMDQCABQQFrIgQgAigCKE8NMCACKAIkIARBAnRqIgUoAgBFDTEgA0HxBiAFEFsgAUEBSyEJIAQhASAJDQALCww2CyAAQdsIIAEQWCACKAIAQTRGBEAMPQsMLAsgAEHcCCABEFggAigCAEE1Rw0rIAIoAhQiAUEATA0qIABBBGohBANAIAFBAWsiACACKAIUTw0tIAIoAhAgAEECdGoiAygCAEUNLiAEQfEGIAMQWyABQQFLIQogACEBIAoNAAsMKgsgAEHdCCABEFggAigCAEE2Rg0pDCoLIABB3gggARBYIAIoAgBBN0cNKQw5CyAAQd8IIAEQWCACKAIAQRZGDScMKAsgAEHgCCABEFggAigCAEEXRg0mDCcLIABB4QggARBYIAIoAgBBKEYNJQwmCyAAQeIIIAEQWCACKAIAQThHDSUgAigCDCIBQQBMDSQgAEEEaiEEA0AgAUEBayIAIAIoAgxPDScgAigCCCAAQQJ0aiIDKAIARQ0oIARB8QYgAxBbIAFBAUshCyAAIQEgCw0ACwwkCyAAQeMIIAEQWCACKAIAQTlHDSQMNAsgAEHkCCABEFggAigCAEE6Rw0jDDMLIABB5QggARBYIAIoAgBBO0cNIgwyCyAAQeYIIAEQWCACKAIAQTxHDSEgAEHxBiACQRhqEFggAigCDCIBQQBMDSAgAEEEaiEEA0AgAUEBayIAIAIoAgxPDSMgAigCCCAAQQJ0aiIDKAIARQ0kIARB8QYgAxBbIAFBAUshDCAAIQEgDA0ACwwgCyAAQecIIAEQWCACKAIAQT1HDSAMMAsgAEHoCCABEFggAigCAEE+Rw0fDC8LIABB6QggARBYIAIoAgBBP0cNHiAAQfEGIAJBFGoQWA8LIABB6gggARBYIAIoAgBBwABHDR0gAigCDCIBQQBMDRwgAEEEaiEEA0AgAUEBayIAIAIoAgxPDR8gAigCCCAAQQJ0aiIDKAIARQ0gIARB8QYgAxBbIAFBAUshDSAAIQEgDQ0ACwwcCyAAQesIIAEQWCACKAIAQcEARw0cDCgLIABB7AggARBYIAIoAgBBwgBHDRsMJgsgAEHtCCABEFggAigCAEHDAEcNGiAAQfEGIAJBDGoQWCACKAIIRQ0ZDCsLIABB7gggARBYIAIoAgBBxABHDRkMIQsgAEHvCCABEFggAigCAEHFAEcNGAwgCyAAQfAIIAEQWCACKAIAQcYARw0XIAIoAgwiAUEATA0WIABBBGohBANAIAFBAWsiACACKAIMTw0ZIAIoAgggAEECdGoiAygCAEUNGiAEQfEGIAMQWyABQQFLIQ4gACEBIA4NAAsMFgsgAEHxCCABEFggAigCAEHHAEcNFgwbCyAAQfIIIAEQWCACKAIAQcgARw0VDBkLIABB8wggARBYIAIoAgBByQBHDRQMJAsgAEH0CCABEFggAigCAEHKAEcNEyAAQfEGIAJBGGoQWAwWCyAAQfUIIAEQWCACKAIAQcsARw0SDBULIABB9gggARBYIAIoAgBBzABHDREMFwsgAEH3CCABEFggAigCAEHNAEcNEAwWCyAAQfgIIAEQWCACKAIAQc4ARw0PDBsLIABB+QggARBYIAIoAgBBzwBHDQ4gAigCGARAIABBBGpB8QYgAkEYahBbCyACKAIUBEAgAEEEakHxBiACQRRqEFsLIAIoAhAEQCAAQQRqQfEGIAJBEGoQWwsMGgsgAEH6CCABEFggAigCAEHQAEYNDAwNCyAAQfsIIAEQWCACKAIAQdEARw0MDBgLIABB/AggARBYIAIoAgBB0gBHDQsgAigCFARAIABBBGpB8QYgAkEUahBbCwwWCyAAQf0IIAEQWCACKAIAQdMARw0KDA8LIABB/gggARBYIAIoAgBB1ABHDQkMFAsgAEH/CCABEFggAigCAEHVAEcNCAwUCyAAQYAJIAEQWCACKAIAQdYARw0HDAsLIABBgQkgARBYIAIoAgBB1wBHDQYMCwsgAEGCCSABEFggAigCAEHYAEcNBQwVCyAAQYMJIAEQWCACKAIAQdkARw0EDA8LIABBhAkgARBYIAIoAgBB2gBHDQMMDQsgAEGFCSABEFggAigCAEHbAEcNAgwHCyAAQYYJIAEQWCACKAIAQdwARw0BIABB8QYgAkE8ahBYIAIoAjAiAUEATA0AIABBBGohBANAIAFBAWsiACACKAIwTw0DIAIoAiwgAEECdGoiAygCAEUNBCAEQfEGIAMQWyABQQFLIQ8gACEBIA8NAAsLDwtB8O0FQcWYA0GUBkGN3gAQAQALQcWiAUGJogNBvAFBpogFEAEAC0GBgwJB05kDQbkCQa73AhABAAsgAEHxBiACQRRqEFgLIABB8QYgAkEQahBYCyAAQfEGIAJBDGoQWAwKCyAAQfEGIAJBHGoQWAsgAEHxBiACQRhqEFgLIABB8QYgAkEUahBYCyAAQfEGIAJBEGoQWA8LIABB8QYgAkEUahBYCyAAQfEGIAJBEGoQWAsgAEHxBiACQQxqEFgPCyAAQfEGIAJBKGoQWAsgAEHxBiACQSRqEFgPCyAAQfEGIAJBHGoQWCAAQfEGIAJBGGoQWA8LIABB8QYgAkEIahBYDwsgAEEEakHxBiACQQhqEFsL1R0BDn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAIgIoAgAOXgABAgMEBQYHCAkKCwwNHh8gISIjJCU1Ng4PEBESExQVFhcYGRobHB03JicoKSorLC0uLzAxMjM0ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXABdC0GY/QNB5bMDQeoBEGIACyAAQc8HIAEQWCACKAIAQQFHDVwgAigCFCIBQQBMDVsgAEEEaiEEA0AgAUEBayIAIAIoAhRPDV4gAigCECAAQQJ0aiIDKAIARQ1fIARB7wYgAxBbIAFBAUshBiAAIQEgBg0ACwxbCyAAQdAHIAEQWCACKAIAQQJHDVsgAigCEARAIABBBGpB7wYgAkEQahBbCwxgCyAAQdEHIAEQWCACKAIAQQNHDVoMYwsgAEHSByABEFggAigCAEEERw1ZIAIoAhQEQCAAQQRqQe8GIAJBFGoQWwsgAigCEEUNWCAAQQRqQe8GIAJBEGoQWw8LIABB0wcgARBYIAIoAgBBBUcNWCAAQe8GIAJBJGoQWCACKAIgRQ1XIABBBGpB7wYgAkEgahBbDwsgAEHUByABEFggAigCAEEGRw1XIAIoAgwiAUEATA1WIABBBGohBANAIAFBAWsiACACKAIMTw1ZIAIoAgggAEECdGoiAygCAEUNWiAEQe8GIAMQWyABQQFLIQcgACEBIAcNAAsMVgsgAEHVByABEFggAigCAEEHRw1WIABB7wYgAkEcahBYIAIoAhAiAUEATA1VIABBBGohBANAIAFBAWsiACACKAIQTw1YIAIoAgwgAEECdGoiAygCAEUNWSAEQe8GIAMQWyABQQFLIQggACEBIAgNAAsMVQsgAEHWByABEFggAigCAEEIRg1UDFULIABB1wcgARBYIAIoAgBBCUcNVAxgCyAAQdgHIAEQWCACKAIAQQpGDVIMUwsgAEHZByABEFggAigCAEELRw1SDFsLIABB2gcgARBYIAIoAgBBDEcNUQxfCyAAQdsHIAEQWCACKAIAQQ1HDVAMXQsgAEHcByABEFggAigCAEEYRw1PDF4LIABB3QcgARBYIAIoAgBBGUcNTiAAQe8GIAJBIGoQWAxdCyAAQd4HIAEQWCACKAIAQRpHDU0MVAsgAEHfByABEFggAigCAEEbRw1MDFQLIABB4AcgARBYIAIoAgBBHEYNSgxLCyAAQeEHIAEQWCACKAIAQR1HDUoMVgsgAEHiByABEFggAigCAEEeRw1JIABB7wYgAkEUahBYDFULIABB4wcgARBYIAIoAgBBH0cNSAxNCyAAQeQHIAEQWCACKAIAQSBHDUcMUQsgAEHlByABEFggAigCAEEhRw1GDFELIABB5gcgARBYIAIoAgBBIkcNRSAAQe8GIAJBIGoQWA8LIABB5wcgARBYIAIoAgBBI0cNRAxRCyAAQegHIAEQWCACKAIAQSRHDUMMSgsgAEHpByABEFggAigCAEElRg1BDEILIABB6gcgARBYIAIoAgBBJkcNQQxFCyAAQesHIAEQWCACKAIAQSdHDUAMRAsgAEHsByABEFggAigCAEEORg0+DD8LIABB7QcgARBYIAIoAgBBD0cNPgxKCyAAQe4HIAEQWCACKAIAQRBHDT0MSAsgAEHvByABEFggAigCAEERRw08DEALIABB8AcgARBYIAIoAgBBEkcNOwxLCyAAQfEHIAEQWCACKAIAQRNHDTogAigCCEUNOQxLCyAAQfIHIAEQWCACKAIAQRRGDTgMOQsgAEHzByABEFggAigCAEEVRw04DEgLIABB9AcgARBYIAIoAgBBKUYNNgw3CyAAQfUHIAEQWCACKAIAQSpHDTYMRgsgAEH2ByABEFggAigCAEErRg00DDULIABB9wcgARBYIAIoAgBBLEcNNAw5CyAAQfgHIAEQWCACKAIAQS1HDTMMPAsgAEH5ByABEFggAigCAEEuRw0yDDoLIABB+gcgARBYIAIoAgBBL0YNMAwxCyAAQfsHIAEQWCACKAIAQTBHDTAMOAsgAEH8ByABEFggAigCAEExRw0vDDYLIABB/QcgARBYIAIoAgBBMkcNLgwyCyAAQf4HIAEQWCACKAIAQTNHDS0gAigCKCIBQQBKBEAgAEEEaiEDA0AgAUEBayIEIAIoAihPDTAgAigCJCAEQQJ0aiIFKAIARQ0xIANB7wYgBRBbIAFBAUshCSAEIQEgCQ0ACwsMNgsgAEH/ByABEFggAigCAEE0RgRADD0LDCwLIABBgAggARBYIAIoAgBBNUcNKyACKAIUIgFBAEwNKiAAQQRqIQQDQCABQQFrIgAgAigCFE8NLSACKAIQIABBAnRqIgMoAgBFDS4gBEHvBiADEFsgAUEBSyEKIAAhASAKDQALDCoLIABBgQggARBYIAIoAgBBNkYNKQwqCyAAQYIIIAEQWCACKAIAQTdHDSkMOQsgAEGDCCABEFggAigCAEEWRg0nDCgLIABBhAggARBYIAIoAgBBF0YNJgwnCyAAQYUIIAEQWCACKAIAQShGDSUMJgsgAEGGCCABEFggAigCAEE4Rw0lIAIoAgwiAUEATA0kIABBBGohBANAIAFBAWsiACACKAIMTw0nIAIoAgggAEECdGoiAygCAEUNKCAEQe8GIAMQWyABQQFLIQsgACEBIAsNAAsMJAsgAEGHCCABEFggAigCAEE5Rw0kDDQLIABBiAggARBYIAIoAgBBOkcNIwwzCyAAQYkIIAEQWCACKAIAQTtHDSIMMgsgAEGKCCABEFggAigCAEE8Rw0hIABB7wYgAkEYahBYIAIoAgwiAUEATA0gIABBBGohBANAIAFBAWsiACACKAIMTw0jIAIoAgggAEECdGoiAygCAEUNJCAEQe8GIAMQWyABQQFLIQwgACEBIAwNAAsMIAsgAEGLCCABEFggAigCAEE9Rw0gDDALIABBjAggARBYIAIoAgBBPkcNHwwvCyAAQY0IIAEQWCACKAIAQT9HDR4gAEHvBiACQRRqEFgPCyAAQY4IIAEQWCACKAIAQcAARw0dIAIoAgwiAUEATA0cIABBBGohBANAIAFBAWsiACACKAIMTw0fIAIoAgggAEECdGoiAygCAEUNICAEQe8GIAMQWyABQQFLIQ0gACEBIA0NAAsMHAsgAEGPCCABEFggAigCAEHBAEcNHAwoCyAAQZAIIAEQWCACKAIAQcIARw0bDCYLIABBkQggARBYIAIoAgBBwwBHDRogAEHvBiACQQxqEFggAigCCEUNGQwrCyAAQZIIIAEQWCACKAIAQcQARw0ZDCELIABBkwggARBYIAIoAgBBxQBHDRgMIAsgAEGUCCABEFggAigCAEHGAEcNFyACKAIMIgFBAEwNFiAAQQRqIQQDQCABQQFrIgAgAigCDE8NGSACKAIIIABBAnRqIgMoAgBFDRogBEHvBiADEFsgAUEBSyEOIAAhASAODQALDBYLIABBlQggARBYIAIoAgBBxwBHDRYMGwsgAEGWCCABEFggAigCAEHIAEcNFQwZCyAAQZcIIAEQWCACKAIAQckARw0UDCQLIABBmAggARBYIAIoAgBBygBHDRMgAEHvBiACQRhqEFgMFgsgAEGZCCABEFggAigCAEHLAEcNEgwVCyAAQZoIIAEQWCACKAIAQcwARw0RDBcLIABBmwggARBYIAIoAgBBzQBHDRAMFgsgAEGcCCABEFggAigCAEHOAEcNDwwbCyAAQZ0IIAEQWCACKAIAQc8ARw0OIAIoAhgEQCAAQQRqQe8GIAJBGGoQWwsgAigCFARAIABBBGpB7wYgAkEUahBbCyACKAIQBEAgAEEEakHvBiACQRBqEFsLDBoLIABBngggARBYIAIoAgBB0ABGDQwMDQsgAEGfCCABEFggAigCAEHRAEcNDAwYCyAAQaAIIAEQWCACKAIAQdIARw0LIAIoAhQEQCAAQQRqQe8GIAJBFGoQWwsMFgsgAEGhCCABEFggAigCAEHTAEcNCgwPCyAAQaIIIAEQWCACKAIAQdQARw0JDBQLIABBowggARBYIAIoAgBB1QBHDQgMFAsgAEGkCCABEFggAigCAEHWAEcNBwwLCyAAQaUIIAEQWCACKAIAQdcARw0GDAsLIABBpgggARBYIAIoAgBB2ABHDQUMFQsgAEGnCCABEFggAigCAEHZAEcNBAwPCyAAQagIIAEQWCACKAIAQdoARw0DDA0LIABBqQggARBYIAIoAgBB2wBHDQIMBwsgAEGqCCABEFggAigCAEHcAEcNASAAQe8GIAJBPGoQWCACKAIwIgFBAEwNACAAQQRqIQQDQCABQQFrIgAgAigCME8NAyACKAIsIABBAnRqIgMoAgBFDQQgBEHvBiADEFsgAUEBSyEPIAAhASAPDQALCw8LQfDtBUHFmANBlAZBjd4AEAEAC0HFogFBiaIDQbwBQaaIBRABAAtBgYMCQdOZA0G5AkGu9wIQAQALIABB7wYgAkEUahBYCyAAQe8GIAJBEGoQWAsgAEHvBiACQQxqEFgMCgsgAEHvBiACQRxqEFgLIABB7wYgAkEYahBYCyAAQe8GIAJBFGoQWAsgAEHvBiACQRBqEFgPCyAAQe8GIAJBFGoQWAsgAEHvBiACQRBqEFgLIABB7wYgAkEMahBYDwsgAEHvBiACQShqEFgLIABB7wYgAkEkahBYDwsgAEHvBiACQRxqEFggAEHvBiACQRhqEFgPCyAAQe8GIAJBCGoQWA8LIABBBGpB7wYgAkEIahBbC9UdAQ5/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgASgCACICKAIADl4AAQIDBAUGBwgJCgsMDR4fICEiIyQlNTYODxAREhMUFRYXGBkaGxwdNyYnKCkqKywtLi8wMTIzNDg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaW1wAXQtBmP0DQeWzA0HqARBiAAsgAEHzBiABEFggAigCAEEBRw1cIAIoAhQiAUEATA1bIABBBGohBANAIAFBAWsiACACKAIUTw1eIAIoAhAgAEECdGoiAygCAEUNXyAEQe4GIAMQWyABQQFLIQYgACEBIAYNAAsMWwsgAEH0BiABEFggAigCAEECRw1bIAIoAhAEQCAAQQRqQe4GIAJBEGoQWwsMYAsgAEH1BiABEFggAigCAEEDRw1aDGMLIABB9gYgARBYIAIoAgBBBEcNWSACKAIUBEAgAEEEakHuBiACQRRqEFsLIAIoAhBFDVggAEEEakHuBiACQRBqEFsPCyAAQfcGIAEQWCACKAIAQQVHDVggAEHuBiACQSRqEFggAigCIEUNVyAAQQRqQe4GIAJBIGoQWw8LIABB+AYgARBYIAIoAgBBBkcNVyACKAIMIgFBAEwNViAAQQRqIQQDQCABQQFrIgAgAigCDE8NWSACKAIIIABBAnRqIgMoAgBFDVogBEHuBiADEFsgAUEBSyEHIAAhASAHDQALDFYLIABB+QYgARBYIAIoAgBBB0cNViAAQe4GIAJBHGoQWCACKAIQIgFBAEwNVSAAQQRqIQQDQCABQQFrIgAgAigCEE8NWCACKAIMIABBAnRqIgMoAgBFDVkgBEHuBiADEFsgAUEBSyEIIAAhASAIDQALDFULIABB+gYgARBYIAIoAgBBCEYNVAxVCyAAQfsGIAEQWCACKAIAQQlHDVQMYAsgAEH8BiABEFggAigCAEEKRg1SDFMLIABB/QYgARBYIAIoAgBBC0cNUgxbCyAAQf4GIAEQWCACKAIAQQxHDVEMXwsgAEH/BiABEFggAigCAEENRw1QDF0LIABBgAcgARBYIAIoAgBBGEcNTwxeCyAAQYEHIAEQWCACKAIAQRlHDU4gAEHuBiACQSBqEFgMXQsgAEGCByABEFggAigCAEEaRw1NDFQLIABBgwcgARBYIAIoAgBBG0cNTAxUCyAAQYQHIAEQWCACKAIAQRxGDUoMSwsgAEGFByABEFggAigCAEEdRw1KDFYLIABBhgcgARBYIAIoAgBBHkcNSSAAQe4GIAJBFGoQWAxVCyAAQYcHIAEQWCACKAIAQR9HDUgMTQsgAEGIByABEFggAigCAEEgRw1HDFELIABBiQcgARBYIAIoAgBBIUcNRgxRCyAAQYoHIAEQWCACKAIAQSJHDUUgAEHuBiACQSBqEFgPCyAAQYsHIAEQWCACKAIAQSNHDUQMUQsgAEGMByABEFggAigCAEEkRw1DDEoLIABBjQcgARBYIAIoAgBBJUYNQQxCCyAAQY4HIAEQWCACKAIAQSZHDUEMRQsgAEGPByABEFggAigCAEEnRw1ADEQLIABBkAcgARBYIAIoAgBBDkYNPgw/CyAAQZEHIAEQWCACKAIAQQ9HDT4MSgsgAEGSByABEFggAigCAEEQRw09DEgLIABBkwcgARBYIAIoAgBBEUcNPAxACyAAQZQHIAEQWCACKAIAQRJHDTsMSwsgAEGVByABEFggAigCAEETRw06IAIoAghFDTkMSwsgAEGWByABEFggAigCAEEURg04DDkLIABBlwcgARBYIAIoAgBBFUcNOAxICyAAQZgHIAEQWCACKAIAQSlGDTYMNwsgAEGZByABEFggAigCAEEqRw02DEYLIABBmgcgARBYIAIoAgBBK0YNNAw1CyAAQZsHIAEQWCACKAIAQSxHDTQMOQsgAEGcByABEFggAigCAEEtRw0zDDwLIABBnQcgARBYIAIoAgBBLkcNMgw6CyAAQZ4HIAEQWCACKAIAQS9GDTAMMQsgAEGfByABEFggAigCAEEwRw0wDDgLIABBoAcgARBYIAIoAgBBMUcNLww2CyAAQaEHIAEQWCACKAIAQTJHDS4MMgsgAEGiByABEFggAigCAEEzRw0tIAIoAigiAUEASgRAIABBBGohAwNAIAFBAWsiBCACKAIoTw0wIAIoAiQgBEECdGoiBSgCAEUNMSADQe4GIAUQWyABQQFLIQkgBCEBIAkNAAsLDDYLIABBowcgARBYIAIoAgBBNEYEQAw9CwwsCyAAQaQHIAEQWCACKAIAQTVHDSsgAigCFCIBQQBMDSogAEEEaiEEA0AgAUEBayIAIAIoAhRPDS0gAigCECAAQQJ0aiIDKAIARQ0uIARB7gYgAxBbIAFBAUshCiAAIQEgCg0ACwwqCyAAQaUHIAEQWCACKAIAQTZGDSkMKgsgAEGmByABEFggAigCAEE3Rw0pDDkLIABBpwcgARBYIAIoAgBBFkYNJwwoCyAAQagHIAEQWCACKAIAQRdGDSYMJwsgAEGpByABEFggAigCAEEoRg0lDCYLIABBqgcgARBYIAIoAgBBOEcNJSACKAIMIgFBAEwNJCAAQQRqIQQDQCABQQFrIgAgAigCDE8NJyACKAIIIABBAnRqIgMoAgBFDSggBEHuBiADEFsgAUEBSyELIAAhASALDQALDCQLIABBqwcgARBYIAIoAgBBOUcNJAw0CyAAQawHIAEQWCACKAIAQTpHDSMMMwsgAEGtByABEFggAigCAEE7Rw0iDDILIABBrgcgARBYIAIoAgBBPEcNISAAQe4GIAJBGGoQWCACKAIMIgFBAEwNICAAQQRqIQQDQCABQQFrIgAgAigCDE8NIyACKAIIIABBAnRqIgMoAgBFDSQgBEHuBiADEFsgAUEBSyEMIAAhASAMDQALDCALIABBrwcgARBYIAIoAgBBPUcNIAwwCyAAQbAHIAEQWCACKAIAQT5HDR8MLwsgAEGxByABEFggAigCAEE/Rw0eIABB7gYgAkEUahBYDwsgAEGyByABEFggAigCAEHAAEcNHSACKAIMIgFBAEwNHCAAQQRqIQQDQCABQQFrIgAgAigCDE8NHyACKAIIIABBAnRqIgMoAgBFDSAgBEHuBiADEFsgAUEBSyENIAAhASANDQALDBwLIABBswcgARBYIAIoAgBBwQBHDRwMKAsgAEG0ByABEFggAigCAEHCAEcNGwwmCyAAQbUHIAEQWCACKAIAQcMARw0aIABB7gYgAkEMahBYIAIoAghFDRkMKwsgAEG2ByABEFggAigCAEHEAEcNGQwhCyAAQbcHIAEQWCACKAIAQcUARw0YDCALIABBuAcgARBYIAIoAgBBxgBHDRcgAigCDCIBQQBMDRYgAEEEaiEEA0AgAUEBayIAIAIoAgxPDRkgAigCCCAAQQJ0aiIDKAIARQ0aIARB7gYgAxBbIAFBAUshDiAAIQEgDg0ACwwWCyAAQbkHIAEQWCACKAIAQccARw0WDBsLIABBugcgARBYIAIoAgBByABHDRUMGQsgAEG7ByABEFggAigCAEHJAEcNFAwkCyAAQbwHIAEQWCACKAIAQcoARw0TIABB7gYgAkEYahBYDBYLIABBvQcgARBYIAIoAgBBywBHDRIMFQsgAEG+ByABEFggAigCAEHMAEcNEQwXCyAAQb8HIAEQWCACKAIAQc0ARw0QDBYLIABBwAcgARBYIAIoAgBBzgBHDQ8MGwsgAEHBByABEFggAigCAEHPAEcNDiACKAIYBEAgAEEEakHuBiACQRhqEFsLIAIoAhQEQCAAQQRqQe4GIAJBFGoQWwsgAigCEARAIABBBGpB7gYgAkEQahBbCwwaCyAAQcIHIAEQWCACKAIAQdAARg0MDA0LIABBwwcgARBYIAIoAgBB0QBHDQwMGAsgAEHEByABEFggAigCAEHSAEcNCyACKAIUBEAgAEEEakHuBiACQRRqEFsLDBYLIABBxQcgARBYIAIoAgBB0wBHDQoMDwsgAEHGByABEFggAigCAEHUAEcNCQwUCyAAQccHIAEQWCACKAIAQdUARw0IDBQLIABByAcgARBYIAIoAgBB1gBHDQcMCwsgAEHJByABEFggAigCAEHXAEcNBgwLCyAAQcoHIAEQWCACKAIAQdgARw0FDBULIABBywcgARBYIAIoAgBB2QBHDQQMDwsgAEHMByABEFggAigCAEHaAEcNAwwNCyAAQc0HIAEQWCACKAIAQdsARw0CDAcLIABBzgcgARBYIAIoAgBB3ABHDQEgAEHuBiACQTxqEFggAigCMCIBQQBMDQAgAEEEaiEEA0AgAUEBayIAIAIoAjBPDQMgAigCLCAAQQJ0aiIDKAIARQ0EIARB7gYgAxBbIAFBAUshDyAAIQEgDw0ACwsPC0Hw7QVBxZgDQZQGQY3eABABAAtBxaIBQYmiA0G8AUGmiAUQAQALQYGDAkHTmQNBuQJBrvcCEAEACyAAQe4GIAJBFGoQWAsgAEHuBiACQRBqEFgLIABB7gYgAkEMahBYDAoLIABB7gYgAkEcahBYCyAAQe4GIAJBGGoQWAsgAEHuBiACQRRqEFgLIABB7gYgAkEQahBYDwsgAEHuBiACQRRqEFgLIABB7gYgAkEQahBYCyAAQe4GIAJBDGoQWA8LIABB7gYgAkEoahBYCyAAQe4GIAJBJGoQWA8LIABB7gYgAkEcahBYIABB7gYgAkEYahBYDwsgAEHuBiACQQhqEFgPCyAAQQRqQe4GIAJBCGoQWwsSACAAQQhqQZDxA0ESEF8aIAALEQAgASAAQQhqQQAQhAYaIAALowQBCX8jAEGAAWsiAiQAIAIgATYCfCAAQQA2AgggAEIANwIAIAJCADcCZCACQgA3AmwgAkEANgJ0IAJCADcCDCACIAA2AnhB05kDIQUCQAJAIAFFBEBBrvcCIQFBuQIhA0GBgwIhBAwBC0HUiQtBADYCAEHwBiACQRBqQfEGIAJB/ABqEAhB1IkLKAIAIQdB1IkLQQA2AgAgB0EBRg0BAkBBACACKAIQIgRrIAIoAmgiASACKAJkIgNrQQN1RwRAIAJBFGohBgNAAkAgASADRgRAIARFBEBB/fsCIQFB2gAhA0GwlAMhBUHexAUhBAwGCyAGIARBAWsiBEEDdGoiAygCBCEBIAMoAgAhAyACIAQ2AhAMAQsgAUEIayIEKAIAIQMgBCgCBCEBIAIgBDYCaAsgAiABNgIMIAEoAgBFBEBB0PgCIQFBzQIhA0H1ggIhBAwEC0HUiQtBADYCACADIAJBDGogARADQdSJCygCACEIQdSJC0EANgIAIAhBAUYNAkEAIAIoAhAiBGsgAigCaCIBIAIoAmQiA2tBA3VHDQALCyADBEAgAiADNgJoIAMQWgsgAkGAAWokACAADwsMAQtB1IkLQQA2AgBBDSAEIAUgAyABEAVB1IkLKAIAIQlB1IkLQQA2AgAgCUEBRg0AAAsQACEKIAIoAmQiAQRAIAIgATYCaCABEFoLIAAoAgAiAQRAIAAgATYCBCABEFoLIAoQBwALzAEBBH8jAEGAAWsiAiQAIAIgATYCfCAAQQA2AgggAEIANwIAIAJCADcCZCACQgA3AmwgAkEANgJ0QdSJC0EANgIAIAJCADcCDCACIAA2AnhB4QYgAkEMaiACQfwAahADQdSJCygCACEEQdSJC0EANgIAIARBAUcEQCACKAJkIgEEQCACIAE2AmggARBaCyACQYABaiQAIAAPCxAAIQUgAigCZCIBBEAgAiABNgJoIAEQWgsgACgCACIBBEAgACABNgIEIAEQWgsgBRAHAAskACAAKAIAQRlHBEBBxK8GQae3AkHrF0GG2wQQAQALIAAoAhwLswIBA38CQAJAAkBBACAAKAIEayAAKAJcIAAoAlhrQQN1RgRAIAEoAgBFDQEgAEEEakHvBiABEFtBACAAKAIEIgJrIAAoAlwiASAAKAJYIgNrQQN1RwRAIABBCGohBANAAkAgASADRgRAIAJFDQYgBCACQQFrIgJBA3RqIgMoAgQhASADKAIAIQMgACACNgIEDAELIAFBCGsiAigCACEDIAIoAgQhASAAIAI2AlwLIAAgATYCACABKAIARQ0FIAAgASADEQAAQQAgACgCBCICayAAKAJcIgEgACgCWCIDa0EDdUcNAAsLDwtBzcoFQdOZA0HIAkHQ+AIQAQALQYGDAkHTmQNBuQJBrvcCEAEAC0HexAVBsJQDQdoAQf37AhABAAtB9YICQdOZA0HNAkHQ+AIQAQALswIBA38CQAJAAkBBACAAKAIEayAAKAJcIAAoAlhrQQN1RgRAIAEoAgBFDQEgAEEEakHuBiABEFtBACAAKAIEIgJrIAAoAlwiASAAKAJYIgNrQQN1RwRAIABBCGohBANAAkAgASADRgRAIAJFDQYgBCACQQFrIgJBA3RqIgMoAgQhASADKAIAIQMgACACNgIEDAELIAFBCGsiAigCACEDIAIoAgQhASAAIAI2AlwLIAAgATYCACABKAIARQ0FIAAgASADEQAAQQAgACgCBCICayAAKAJcIgEgACgCWCIDa0EDdUcNAAsLDwtBzcoFQdOZA0HIAkHQ+AIQAQALQYGDAkHTmQNBuQJBrvcCEAEAC0HexAVBsJQDQdoAQf37AhABAAtB9YICQdOZA0HNAkHQ+AIQAQALnR8BD38CQAJAAkAgASgCACICKAIAQTNGBEAgAEEEaiIEQeoGIAEQWyABKAIARQ0DIARB6wYgARBbIAIoAgBBM0cNASACKAIoIgBBAEoEQANAIABBAWsiAyACKAIoTw0EIAIoAiQgA0ECdGoiBSgCAEUNBSAEQcgAIAUQWyAAQQFLIQYgAyEAIAYNAAsLIAEoAgBFDQMgBEHsBiABEFsgAigCAEEzRw0BIAIoAhBFDQMgBEHIACACQRBqEFsgASgCAEUNAyAEQe0GIAEQWw8LIAAhAwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEoAgAiAigCAA5eAAECAwQFBgcICQoLDA0eHyAhIiMkJTU2Dg8QERITFBUWFxgZGhscHTcmJygpKissLS4vMDEyMzQ4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcAGwLQZj9A0HlswNB6gEQYgALIANBhwkgARBYIAIoAgBBAUcNayACKAIUIgBBAEwNaiADQQRqIQMDQCAAQQFrIgEgAigCFE8NbSACKAIQIAFBAnRqIgQoAgBFDW4gA0HIACAEEFsgAEEBSyEHIAEhACAHDQALDGoLIANBiAkgARBYIAIoAgBBAkcNaiACKAIQBEAgA0EEakHIACACQRBqEFsLDFwLIANBiQkgARBYIAIoAgBBA0cNaQxfCyADQYoJIAEQWCACKAIAQQRHDWggAigCFARAIANBBGpByAAgAkEUahBbCyACKAIQRQ1nIANBBGpByAAgAkEQahBbDGcLIANBiwkgARBYIAIoAgBBBUcNZyADQcgAIAJBJGoQWCACKAIgRQ1mIANBBGpByAAgAkEgahBbDGYLIANBjAkgARBYIAIoAgBBBkcNZiACKAIMIgBBAEwNZSADQQRqIQMDQCAAQQFrIgEgAigCDE8NaCACKAIIIAFBAnRqIgQoAgBFDWkgA0HIACAEEFsgAEEBSyEIIAEhACAIDQALDGULIANBjQkgARBYIAIoAgBBB0cNZSADQcgAIAJBHGoQWCACKAIQIgBBAEwNZCADQQRqIQMDQCAAQQFrIgEgAigCEE8NZyACKAIMIAFBAnRqIgQoAgBFDWggA0HIACAEEFsgAEEBSyEJIAEhACAJDQALDGQLIANBjgkgARBYIAIoAgBBCEYNYwxkCyADQY8JIAEQWCACKAIAQQlHDWMMXAsgA0GQCSABEFggAigCAEEKRg1hDGILIANBkQkgARBYIAIoAgBBC0cNYQxXCyADQZIJIAEQWCACKAIAQQxHDWAMWwsgA0GTCSABEFggAigCAEENRw1fDFkLIANBlAkgARBYIAIoAgBBGEcNXgxaCyADQZUJIAEQWCACKAIAQRlHDV0gA0HIACACQSBqEFgMWQsgA0GWCSABEFggAigCAEEaRw1cDFALIANBlwkgARBYIAIoAgBBG0cNWwxQCyADQZgJIAEQWCACKAIAQRxGDVkMWgsgA0GZCSABEFggAigCAEEdRw1ZDFILIANBmgkgARBYIAIoAgBBHkcNWCADQcgAIAJBFGoQWAxRCyADQZsJIAEQWCACKAIAQR9HDVcMSQsgA0GcCSABEFggAigCAEEgRw1WDE0LIANBnQkgARBYIAIoAgBBIUcNVQxNCyADQZ4JIAEQWCACKAIAQSJHDVQgA0HIACACQSBqEFgMUwsgA0GfCSABEFggAigCAEEjRw1TDE0LIANBoAkgARBYIAIoAgBBJEcNUgxGCyADQaEJIAEQWCACKAIAQSVGDVAMUQsgA0GiCSABEFggAigCAEEmRw1QDEELIANBowkgARBYIAIoAgBBJ0cNTwxACyADQaQJIAEQWCACKAIAQQ5GDU0MTgsgA0GlCSABEFggAigCAEEPRw1NDEYLIANBpgkgARBYIAIoAgBBEEcNTAxECyADQacJIAEQWCACKAIAQRFHDUsMPAsgA0GoCSABEFggAigCAEESRw1KDEcLIANBqQkgARBYIAIoAgBBE0cNSQxHCyADQaoJIAEQWCACKAIAQRRGDUcMSAsgA0GrCSABEFggAigCAEEVRw1HDEQLIANBrAkgARBYIAIoAgBBKUYNRQxGCyADQa0JIAEQWCACKAIAQSpHDUUMQgsgA0GuCSABEFggAigCAEErRg1DDEQLIANBrwkgARBYIAIoAgBBLEcNQww1CyADQbAJIAEQWCACKAIAQS1HDUIMOAsgA0GxCSABEFggAigCAEEuRw1BDDYLIANBsgkgARBYIAIoAgBBL0YNPwxACyADQbMJIAEQWCACKAIAQTBHDT8MNAsgA0G0CSABEFggAigCAEExRw0+DDILIANBtQkgARBYIAIoAgBBMkcNPQwuCyADQeoGIAEQWCACKAIAQTNHDTwgAigCKCIAQQBKBEAgA0EEaiEEA0AgAEEBayIBIAIoAihPDT8gAigCJCABQQJ0aiIFKAIARQ1AIARByAAgBRBbIABBAUshCiABIQAgCg0ACwsMMgsgA0G2CSABEFggAigCAEE0Rg04DDsLIANBtwkgARBYIAIoAgBBNUcNOiACKAIUIgBBAEwNOSADQQRqIQMDQCAAQQFrIgEgAigCFE8NPCACKAIQIAFBAnRqIgQoAgBFDT0gA0HIACAEEFsgAEEBSyELIAEhACALDQALDDkLIANBuAkgARBYIAIoAgBBNkYNOAw5CyADQbkJIAEQWCACKAIAQTdHDTgMNQsgA0G6CSABEFggAigCAEEWRg02DDcLIANBuwkgARBYIAIoAgBBF0YNNQw2CyADQbwJIAEQWCACKAIAQShGDTQMNQsgA0G9CSABEFggAigCAEE4Rw00IAIoAgwiAEEATA0zIANBBGohAwNAIABBAWsiASACKAIMTw02IAIoAgggAUECdGoiBCgCAEUNNyADQcgAIAQQWyAAQQFLIQwgASEAIAwNAAsMMwsgA0G+CSABEFggAigCAEE5Rw0zDDALIANBvwkgARBYIAIoAgBBOkcNMgwvCyADQcAJIAEQWCACKAIAQTtHDTEMLgsgA0HBCSABEFggAigCAEE8Rw0wIANByAAgAkEYahBYIAIoAgwiAEEATA0vIANBBGohAwNAIABBAWsiASACKAIMTw0yIAIoAgggAUECdGoiBCgCAEUNMyADQcgAIAQQWyAAQQFLIQ0gASEAIA0NAAsMLwsgA0HCCSABEFggAigCAEE9Rw0vDCwLIANBwwkgARBYIAIoAgBBPkcNLgwrCyADQcQJIAEQWCACKAIAQT9HDS0gA0HIACACQRRqEFgMLAsgA0HFCSABEFggAigCAEHAAEcNLCACKAIMIgBBAEwNKyADQQRqIQMDQCAAQQFrIgEgAigCDE8NLiACKAIIIAFBAnRqIgQoAgBFDS8gA0HIACAEEFsgAEEBSyEOIAEhACAODQALDCsLIANBxgkgARBYIAIoAgBBwQBHDSsMJAsgA0HHCSABEFggAigCAEHCAEcNKgwiCyADQcgJIAEQWCACKAIAQcMARw0pIANByAAgAkEMahBYDCcLIANByQkgARBYIAIoAgBBxABHDSgMHQsgA0HKCSABEFggAigCAEHFAEcNJwwcCyADQcsJIAEQWCACKAIAQcYARw0mIAIoAgwiAEEATA0lIANBBGohAwNAIABBAWsiASACKAIMTw0oIAIoAgggAUECdGoiBCgCAEUNKSADQcgAIAQQWyAAQQFLIQ8gASEAIA8NAAsMJQsgA0HMCSABEFggAigCAEHHAEcNJQwXCyADQc0JIAEQWCACKAIAQcgARw0kDBULIANBzgkgARBYIAIoAgBByQBHDSMMIAsgA0HPCSABEFggAigCAEHKAEcNIiADQcgAIAJBGGoQWAwSCyADQdAJIAEQWCACKAIAQcsARw0hDBELIANB0QkgARBYIAIoAgBBzABHDSAMEwsgA0HSCSABEFggAigCAEHNAEcNHwwSCyADQdMJIAEQWCACKAIAQc4ARw0eDBcLIANB1AkgARBYIAIoAgBBzwBHDR0gAigCGARAIANBBGpByAAgAkEYahBbCyACKAIUBEAgA0EEakHIACACQRRqEFsLIAIoAhAEQCADQQRqQcgAIAJBEGoQWwsMFgsgA0HVCSABEFggAigCAEHQAEYNGwwcCyADQdYJIAEQWCACKAIAQdEARw0bDBQLIANB1wkgARBYIAIoAgBB0gBHDRogAigCFARAIANBBGpByAAgAkEUahBbCwwSCyADQdgJIAEQWCACKAIAQdMARw0ZDAsLIANB2QkgARBYIAIoAgBB1ABHDRgMEAsgA0HaCSABEFggAigCAEHVAEcNFwwQCyADQdsJIAEQWCACKAIAQdYARw0WDAcLIANB3AkgARBYIAIoAgBB1wBHDRUMBwsgA0HdCSABEFggAigCAEHYAEcNFAwRCyADQd4JIAEQWCACKAIAQdkARw0TDAsLIANB3wkg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ADYCACABKAIEIgNFBEBBACEDDAELQQAhBkEAIQAgA0EETwRAIANBfHEhBwNAIABBAnQiAiABKAIAaiACIARqKAIANgIAIAJBBHIiCCABKAIAaiAEIAhqKAIANgIAIAJBCHIiCCABKAIAaiAEIAhqKAIANgIAIAJBDHIiAiABKAIAaiACIARqKAIANgIAIABBBGoiACAHRw0ACwsgA0EDcSICBEADQCAAQQJ0IgcgASgCAGogBCAHaigCADYCACAAQQFqIQAgBkEBaiIGIAJHDQALCyABKAIAIQALIAAgA0ECdGogBTYCACABIAEoAgRBAWo2AgQgCSgCAEECRw0DIAkoAggiASgCACEEAkAgASgCBCIDIAEoAghHBEAgBCEADAELIAEgA0EBdEECaiIANgIIIAFBgKgLIABBAnRBBBBdIgA2AgAgASgCBCIDRQRAQQAhAwwBC0EAIQZBACEAIANBBE8EQCADQXxxIQkDQCAAQQJ0IgIgASgCAGogAiAEaigCADYCACACQQRyIgUgASgCAGogBCAFaigCADYCACACQQhyIgUgASgCAGogBCAFaigCADYCACACQQxyIgIgASgCAGogAiAEaigCADYCACAAQQRqIgAgCUcNAAsLIANBA3EiAgRAA0AgAEECdCIJIAEoAgBqIAQgCWooAgA2AgAgAEEBaiEAIAZBAWoiBiACRw0ACwsgASgCACEACyAAIANBAnRqIAo2AgAgASABKAIEQQFqNgIEDwtB//cFQeSGA0GuA0GmiAUQAQALQYOSBUHkhgNB7A1Bw4ADEAEAC0HFogFBiaIDQbwBQaaIBRABAAtB//cFQeSGA0GzA0H4+wIQAQALJAAgACgCAEEZRwRAQcSvBkGntwJByRdBssgBEAEACyAALQAIC5IJAQl/AkACQAJAIAAoAgBBAkYEQCAAKAIIIgAoAgQiAkUNAiAAKAIAIgAoAgAiBCgCAA0BIAQoAghBmKMLKAIARw0BIAJBAk0NAiAAKAIIIQlBgKgLQRBBCBBdIgBBAzYCACAAQQIQtAIiCigCAEECRw0DIAooAggiAygCACECAkAgAygCBCIEIAMoAghHBEAgAiEADAELIAMgBEEBdEECaiIANgIIIANBgKgLIABBAnRBBBBdIgA2AgAgAygCBCIERQRAQQAhBAwBC0EAIQAgBEEETwRAIARBfHEhBwNAIABBAnQiBSADKAIAaiACIAVqKAIANgIAIAVBBHIiCCADKAIAaiACIAhqKAIANgIAIAVBCHIiCCADKAIAaiACIAhqKAIANgIAIAVBDHIiBSADKAIAaiACIAVqKAIANgIAIABBBGoiACAHRw0ACwsgBEEDcSIFBEADQCAAQQJ0IgcgAygCAGogAiAHaigCADYCACAAQQFqIQAgBkEBaiIGIAVHDQALCyADKAIAIQALIAAgBEECdGogATYCACADIAMoAgRBAWo2AgRBgKgLQRBBCBBdIgBBAzYCACAAQQAQtAIhBSAKKAIAQQJHDQMgCigCCCICKAIAIQECQCACKAIEIgQgAigCCEcEQCABIQAMAQsgAiAEQQF0QQJqIgA2AgggAkGAqAsgAEECdEEEEF0iADYCACACKAIEIgRFBEBBACEEDAELQQAhBkEAIQAgBEEETwRAIARBfHEhBwNAIABBAnQiAyACKAIAaiABIANqKAIANgIAIANBBHIiCCACKAIAaiABIAhqKAIANgIAIANBCHIiCCACKAIAaiABIAhqKAIANgIAIANBDHIiAyACKAIAaiABIANqKAIANgIAIABBBGoiACAHRw0ACwsgBEEDcSIDBEADQCAAQQJ0IgcgAigCAGogASAHaigCADYCACAAQQFqIQAgBkEBaiIGIANHDQALCyACKAIAIQALIAAgBEECdGogBTYCACACIAIoAgRBAWo2AgQgCSgCAEECRw0DIAkoAggiAigCACEBAkAgAigCBCIEIAIoAghHBEAgASEADAELIAIgBEEBdEECaiIANgIIIAJBgKgLIABBAnRBBBBdIgA2AgAgAigCBCIERQRAQQAhBAwBC0EAIQZBACEAIARBBE8EQCAEQXxxIQUDQCAAQQJ0IgMgAigCAGogASADaigCADYCACADQQRyIgkgAigCAGogASAJaigCADYCACADQQhyIgkgAigCAGogASAJaigCADYCACADQQxyIgMgAigCAGogASADaigCADYCACAAQQRqIgAgBUcNAAsLIARBA3EiAwRAA0AgAEECdCIFIAIoAgBqIAEgBWooAgA2AgAgAEEBaiEAIAZBAWoiBiADRw0ACwsgAigCACEACyAAIARBAnRqIAo2AgAgAiACKAIEQQFqNgIEDwtB//cFQeSGA0GuA0GmiAUQAQALQYOS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IAVHBEADQCAEQQhrIgQgAkEIayICKQIANwIAIAIgBUcNAAsgACgCACECCyAAIAYgA0EDdGo2AgggACABNgIEIAAgBDYCACACBEAgAhBaCw8LEGQACxBqAAvQAwEIfyMAQRBrIgUkAAJAAkAgAUEQSQ0AIAEoAhANAEHEARBcIgRBCGpBAEG8AfwLACAEQgA3AgwgBEEAOgAIIARCADcCACAEQgA3AhRB1IkLQQA2AgAgBUIANwIIIAVCADcDAEEpIARBHGogBRACIQpB1IkLKAIAIQlB1IkLQQA2AgAgCUEBRg0BIARCADcCICAEQgA3AkwgBEIANwJgIARCADcCjAEgBEFAa0IANwIAIARCADcCOCAEQgA3AjAgBEIANwIoIARBgICA/AM2AkggBEIANwJUIARBgICA/AM2AlwgBEIANwJoIARB+ABqIgZCADcCACAEQYCAgPwDNgJwIARBhAFqIghCADcCACAEIAY2AnQgBCAINgKAASAEQgA3ApQBIARCADcCoAEgBEGAgID8AzYCnAEgBEIANwKoASAEQgA3ArQBIARBgICA/AM2ArABIARCADcBugEgBCAANwIAIAogATYCACAEIAM2AjAgBCACKAIANgIkIAJBADYCACAEIAIoAgQ2AiggAkEANgIEIAQgAigCCDYCLCACQQA2AgggBUEQaiQAIAQPC0GBlQZBmpYDQTJBmNQCEAEACxAAIQsgBBBaIAsQBwALJQAgACgCAEHIAEcEQEG6pwZBp7cCQbQiQePTAxABAAsgACgCEAsSACAAQQhqQeXOAEEiEF8aIAALtAwCEX8CfSMAQRBrIggkACACKAIEIAItAAsiBCAEwEEASCIEGyIMIQUgAigCACACIAQbIgshAgJAIAwiBkEESQ0AIAYiBEEEayIGQQRxRQRAIAIoAABBldPH3gVsIgRBGHYgBHNBldPH3gVsIAVBldPH3gVscyEFIAJBBGohAiAGIgRBBEkNAQsgBCEGA0AgAigABEGV08feBWwiBEEYdiAEc0GV08feBWwgAigAAEGV08feBWwiBEEYdiAEc0GV08feBWwgBUGV08feBWxzQZXTx94FbHMhBSACQQhqIQIgBkEIayIGQQNLDQALCwJAAkACQAJAIAZBAWsOAwIBAAMLIAItAAJBEHQgBXMhBQsgAi0AAUEIdCAFcyEFCyAF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BCAJTQ0DIAAgASACKAIAIAlBAnRqKAIAEOACIAAoAjANAiAAKAIAIAAoAiQgACgCIGtBGG1qQQFHBEBB1IkLQQA2AgBBDUGHwQVB0JUDQccAQZjXAxAFQdSJCygCACEMQdSJC0EANgIAIAxBAUcNBxAAIQEMBgsCQCADKAIARQRAIANBATYCACAAIANGDQEgChBZIQRB1IkLQQA2AgBBwAAgBCAHEAIaQdSJCygCACENQdSJC0EANgIAIA1BAUcNAQwGCyADKAIkIgQgAygCKEcEQEHUiQtBADYCAEHAACAEIAcQAiEFQdSJCygCACEOQdSJC0EANgIAIA5BAUYEQBAAIQEgAyAENgIkDAgLIAMgBUEYajYCJAwBC0HUiQtBADYCAEGyBSALIAcQA0HUiQsoAgAhD0HUiQtBADYCACAPQQFGDQULIAAoAiAiBARAIAQhBSAEIAAoAiQiCEcEQANAIAhBGGsQWSIIIARHDQALIAAoAiAhBQsgACAENgIkIAUQWgsgBxBZGiAJQQFqIgkgBkcNAAsLIABCADcDACAAQgA3AzAgAEIANwMoIABCADcDICAAQgA3AxggAEIANwMQIABCADcDCAsPC0HFogFBiaIDQbwBQaaIBRABAAsQACEBCyAAEGggARAHCwAL9AoBFX8jAEHgB2siAyQAIANB4ARqIAEQrwNB1IkLQQA2AgBBzQUgA0HgAWogAhADQdSJCygCACEBQdSJC0EANgIAAkACQCABQQFHBEAgA0EANgIwIANCADcDKCADQUBrQgA3AwAgA0EANgJIIANCADcDWCADQQA2AmAgA0IANwNwIANBADYCeCADQgA3A4gBIANBADYCkAEgA0IANwOgASADQQA2AqgBIANCADcDICADQgA3AzggA0IANwNQIANCADcDaCADQgA3A4ABIANCADcDmAEgA0EANgLAASADQgA3A7gBIANBADYC2AEgA0IANwPQASADQgA3A7ABIANCADcDyAEgA0HIAWohFyADQbABaiEJIANBmAFqIQogA0GAAWohCyADQegAaiEMIANB0ABqIQ0gA0E4aiEOQQAhAgJAAkACQAJAAkADQCADQQI2AhggA0EANgIIIANBIGogAkEYbGoiASADQQhqIgVGIgZFBEAgARBZIQRB1IkLQQA2AgBBwAAgBCAFEAIaQdSJCygCACESQdSJC0EANgIAIBJBAUYNAgsgAkEBdCEFIANBCGoiBxBZGiABKAIQIQQCQCAGRQRAIARBAkcNBCAFQRhsIgQgA0HgBGoiD2oiBigCEEECRw0EIANB4AFqIhAgBGoiBCgCEEECRw0EIAEoAgAhESAEKAIAIQQgBigCACEGIANBAjYCGCADIBEgBCAGbGo2AgggARBZIQRB1IkLQQA2AgBBwAAgBCAHEAIhBkHUiQsoAgAhE0HUiQtBADYCACATQQFGDQUgBxBZIQQgASgCEEECRw0EIA8gBUEBckEYbCIBaiIFKAIQQQJHDQQgASAQaiIBKAIQQQJHDQQgBCAGKAIAIAEoAgAgBSgCAGxqNgIAIANBAjYCGCAGEFkhAUHUiQtBADYCAEHAACABIAQQAhpB1IkLKAIAIRRB1IkLQQA2AgAgFEEBRg0FDAELIARBAkcNAyAFQRhsIgQgA0HgBGoiBmooAhBBAkcNAyADQeABaiIHIARqKAIQQQJHDQMgA0ECNgIYIANBCGoQWSEEIAEoAhBBAkcNAyAGIAVBAXJBGGwiAWooAhBBAkcNAyABIAdqKAIQQQJHDQMgA0ECNgIYCyAEEFkaIAJBAWoiAkEIRw0AC0HUiQtBADYCAEHFBSAAIANBIGoQAhpB1IkLKAIAIRVB1IkLQQA2AgAgFUEBRw0EEAAhAQwDCxAAIQEgA0EIahBZGgwCC0HUiQtBADYCAEENQZmxBUHmmgNBmAJBoq4FEAVB1IkLKAIAIRZB1IkLQQA2AgAgFkEBRw0EEAAhAQwBCxAAIQEgA0EIahBZGgsgA0EgahDwASADQeABahCnAgwDCyAXEFkaIAkQWRogChBZGiALEFkaIAwQWRogDRBZGiAOEFkaIANBIGoQWRogA0HIBGoQWRogA0GwBGoQWRogA0GYBGoQWRogA0GABGoQWRogA0HoA2oQWRogA0HQA2oQWRogA0G4A2oQWRogA0GgA2oQWRogA0GIA2oQWRogA0HwAmoQWRogA0HYAmoQWRogA0HAAmoQWRogA0GoAmoQWRogA0GQAmoQWRogA0H4AWoQWRogA0HgAWoQWRogA0HIB2oQWRogA0GwB2oQWRogA0GYB2oQWRogA0GAB2oQWRogA0HoBmoQWRogA0HQBmoQWRogA0G4BmoQWRogA0GgBmoQWRogA0GIBmoQWRogA0HwBWoQWRogA0HYBWoQWRogA0HABWoQWRogA0GoBWoQWRogA0GQBWoQWRogA0H4BGoQWRogA0HgBGoQWRogA0HgB2okAA8LEAAhAQwBCwALIANB4ARqEKcCIAEQBwALwAoBFX8jAEGgCWsiAyQAIANBoAZqIAEQgwNB1IkLQQA2AgBBzAUgA0GgA2ogAhADQdSJCygCACEBQdSJC0EANgIAAkAgAUEBRwRAIANBADYCMCADQgA3AyggA0FAa0IANwMAIANBADYCSCADQgA3A1ggA0EANgJgIANCADcDcCADQQA2AnggA0IANwOIASADQQA2ApABIANCADcDoAEgA0EANgKoASADQgA3AyAgA0IANwM4IANCADcDUCADQgA3A2ggA0IANwOAASADQgA3A5gBIANBADYCwAEgA0IANwO4ASADQQA2AtgBIANCADcD0AEgA0EANgLwASADQgA3A+gBIANBADYCiAIgA0IANwOAAiADQQA2AqACIANCADcDmAIgA0IANwOwAiADQQA2ArgCIANCADcDsAEgA0IANwPIASADQgA3A+ABIANCADcD+AEgA0IANwOQAiADQgA3A6gCIANBADYC0AIgA0IANwPIAiADQgA3A8ACIANBADYC6AIgA0IANwPgAiADQgA3A9gCIANBADYCgAMgA0IANwP4AiADQgA3A/ACIANBADYCmAMgA0IANwOQAyADQgA3A4gDIANBiANqIQIgA0HwAmohBiADQdgCaiEHIANBwAJqIQggA0GoAmohCSADQZACaiEKIANB+AFqIQsgA0HgAWohDCADQcgBaiENIANBsAFqIQ4gA0GYAWohDyADQYABaiEQIANB6ABqIREgA0HQAGohEiADQThqIRNBACEBAkACQAJAAkACQANAIAFBGGwiBCADQaADamoiBSgCEEECRwRAQdSJC0EANgIAQQ1BmbEFQeaaA0GYAkGirgUQBUHUiQsoAgAhFEHUiQtBADYCACAUQQFGDQIACwJAIAUoAgAiBUEQTwRAIANBAjYCGCADQQA2AggMAQtB1IkLQQA2AgBBwAAgA0EIaiADQaAGaiAFQRhsahACGkHUiQsoAgAhFUHUiQtBADYCACAVQQFGDQMLIANBIGogBGoiBCADQQhqIgVHBEAgBBBZIQRB1IkLQQA2AgBBwAAgBCAFEAIaQdSJCygCACEWQdSJC0EANgIAIBZBAUYNBAsgA0EIahBZGiABQQFqIgFBEEcNAAtB1IkLQQA2AgBBxAUgACADQSBqIgAQAhpB1IkLKAIAIRdB1IkLQQA2AgAgF0EBRg0DIAIQWRogBhBZGiAHEFkaIAgQWRogCRBZGiAKEFkaIAsQWRogDBBZGiANEFkaIA4QWRogDxBZGiAQEFkaIBEQWRogEhBZGiATEFkaIAAQWRogA0GIBmoQWRogA0HwBWoQWRogA0HYBWoQWRogA0HABWoQWRogA0GoBWoQWRogA0GQBWoQWRogA0H4BGoQWRogA0HgBGoQWRogA0HIBGoQWRogA0GwBGoQWRogA0GYBGoQWRogA0GABGoQWRogA0HoA2oQWRogA0HQA2oQWRogA0G4A2oQWRogA0GgA2oQWRogA0GICWoQWRogA0HwCGoQWRogA0HYCGoQWRogA0HACGoQWRogA0GoCGoQWRogA0GQCGoQWRogA0H4B2oQWRogA0HgB2oQWRogA0HIB2oQWRogA0GwB2oQWRogA0GYB2oQWRogA0GAB2oQWRogA0HoBmoQWRogA0HQBmoQWRogA0G4BmoQWRogA0GgBmoQWRogA0GgCWokAA8LEAAhAQwDCxAAIQEMAgsQACEBIANBCGoQWRoMAQsQACEBCyADQSBqEKcCIANBoANqEKcCDAELEAAhAQsgA0GgBmoQpwIgARAHAAvFDAETfyMAQaADayIDJAAgA0HAAmogARDMAkHUiQtBADYCAEHQBSADQeABaiACEANB1IkLKAIAIQFB1IkLQQA2AgACQAJAAkACQAJAAkAgAUEBRwRAIANBADYCMCADQgA3AyggA0FAa0IANwMAIANBADYCSCADQgA3A1ggA0EANgJgIANCADcDcCADQQA2AnggA0IANwOIASADQQA2ApABIANCADcDoAEgA0EANgKoASADQgA3AyAgA0IANwM4IANCADcDUCADQgA3A2ggA0IANwOAASADQgA3A5gBIANBADYCwAEgA0IANwO4ASADQgA3A9ABIANBADYC2AEgA0IANwOwASADQgA3A8gBIAMoAtACQQJHDQIgA0ECNgIYIANB//8DIAMoAsACIgFBACABQQBKGyIBIAFB//8DThs2AgggA0EgahBZIQFB1IkLQQA2AgBBwAAgASADQQhqIgQiAhACIQtB1IkLKAIAIQFB1IkLQQA2AgACQAJAAkAgAUEBRg0AIAIQWSEBIAMoAvABQQJHDQQgA0ECNgIYIANB//8DIAMoAuABIghBACAIQQBKGyIIIAhB//8DThs2AgggA0GAAWoQWSEIQdSJC0EANgIAQcAAIAggAhACIQhB1IkLKAIAIQxB1IkLQQA2AgAgDEEBRg0BIAQQWSECIAMoAugCQQJHDQUgAUH//wMgAygC2AIiCUEAIAlBAEobIgkgCUH//wNOGzYCACADQQI2AhggA0E4ahBZIQlB1IkLQQA2AgBBwAAgCSABEAIhCUHUiQsoAgAhDUHUiQtBADYCACANQQFGDQAgARBZIQEgAygCiAJBAkcNBCACQf//AyADKAL4ASIEQQAgBEEAShsiBCAEQf//A04bNgIAIANBAjYCGCADQZgBahBZIQRB1IkLQQA2AgBBwAAgBCACEAIhBEHUiQsoAgAhDkHUiQtBADYCACAOQQFGDQEgAhBZIQIgAygCgANBAkcNBSABQf//AyADKALwAiIFQQAgBUEAShsiBSAFQf//A04bNgIAIANBAjYCGCADQdAAahBZIQVB1IkLQQA2AgBBwAAgBSABEAIhBUHUiQsoAgAhD0HUiQtBADYCACAPQQFGDQAgARBZIQEgAygCoAJBAkcNBCACQf//AyADKAKQAiIGQQAgBkEAShsiBiAGQf//A04bNgIAIANBAjYCGCADQbABahBZIQZB1IkLQQA2AgBBwAAgBiACEAIhBkHUiQsoAgAhEEHUiQtBADYCACAQQQFGDQEgAhBZIQIgAygCmANBAkcNBSABQf//AyADKAKIAyIHQQAgB0EAShsiByAHQf//A04bNgIAIANBAjYCGCADQegAahBZIQdB1IkLQQA2AgBBwAAgByABEAIhB0HUiQsoAgAhEUHUiQtBADYCACARQQFGDQAgARBZGiADKAK4AkECRw0EIAJB//8DIAMoAqgCIgFBACABQQBKGyIBIAFB//8DThs2AgAgA0ECNgIYIANByAFqEFkhAUHUiQtBADYCAEHAACABIAIQAiEBQdSJCygCACESQdSJC0EANgIAIBJBAUYNASACEFkaQdSJC0EANgIAQcUFIAAgCxACGkHUiQsoAgAhE0HUiQtBADYCACATQQFHDQIQACEBDAgLEAAhASADQQhqEFkaDAcLEAAhASADQQhqEFkaDAYLIAEQWRogBhBZGiAEEFkaIAgQWRogBxBZGiAFEFkaIAkQWRogCxBZGiADQagCahBZGiADQZACahBZGiADQfgBahBZGiADQeABahBZGiADQYgDahBZGiADQfACahBZGiADQdgCahBZGiADQcACahBZGiADQaADaiQADwsQACEBDAULQdSJC0EANgIAQQ1BmbEFQeaaA0GYAkGirgUQBUHUiQsoAgAhFEHUiQtBADYCACAUQQFHDQEQACEBDAMLQdSJC0EANgIAQQ1BmbEFQeaaA0GYAkGirgUQBUHUiQsoAgAhFUHUiQtBADYCACAVQQFGDQELAAsQACEBCyADQSBqEPABIANBqAJqEFkaIANBkAJqEFkaIANB+AFqEFkaIANB4AFqEFkaCyADQYgDahBZGiADQfACahBZGiADQdgCahBZGiADQcACahBZGiABEAcAC+UMARN/IwBBoANrIgMkACADQcACaiABEMwCQdSJC0EANgIAQdAFIANB4AFqIAIQA0HUiQsoAgAhAUHUiQtBADYCAAJAAkACQAJAAkACQCABQQFHBEAgA0EANgIwIANCADcDKCADQUBrQgA3AwAgA0EANgJIIANCADcDWCADQQA2AmAgA0IANwNwIANBADYCeCADQgA3A4gBIANBADYCkAEgA0IANwOgASADQQA2AqgBIANCADcDICADQgA3AzggA0IANwNQIANCADcDaCADQgA3A4ABIANCADcDmAEgA0EANgLAASADQgA3A7gBIANCADcD0AEgA0EANgLYASADQgA3A7ABIANCADcDyAEgAygC0AJBAkcNAiADQQI2AhggA0H//wFBgIB+IAMoAsACIgEgAUGAgH5MGyIBIAFB//8BThs2AgggA0EgahBZIQFB1IkLQQA2AgBBwAAgASADQQhqIgQiAhACIQtB1IkLKAIAIQFB1IkLQQA2AgACQAJAAkAgAUEBRg0AIAIQWSEBIAMoAvABQQJHDQQgA0ECNgIYIANB//8BQYCAfiADKALgASIIIAhBgIB+TBsiCCAIQf//AU4bNgIIIANBgAFqEFkhCEHUiQtBADYCAEHAACAIIAIQAiEIQdSJCygCACEMQdSJC0EANgIAIAxBAUYNASAEEFkhAiADKALoAkECRw0FIAFB//8BQYCAfiADKALYAiIJIAlBgIB+TBsiCSAJQf//AU4bNgIAIANBAjYCGCADQThqEFkhCUHUiQtBADYCAEHAACAJIAEQAiEJQdSJCygCACENQdSJC0EANgIAIA1BAUYNACABEFkhASADKAKIAkECRw0EIAJB//8BQYCAfiADKAL4ASIEIARBgIB+TBsiBCAEQf//AU4bNgIAIANBAjYCGCADQZgBahBZIQRB1IkLQQA2AgBBwAAgBCACEAIhBEHUiQsoAgAhDkHUiQtBADYCACAOQQFGDQEgAhBZIQIgAygCgANBAkcNBSABQf//AUGAgH4gAygC8AIiBSAFQYCAfkwbIgUgBUH//wFOGzYCACADQQI2AhggA0HQAGoQWSEFQdSJC0EANgIAQcAAIAUgARACIQVB1IkLKAIAIQ9B1IkLQQA2AgAgD0EBRg0AIAEQWSEBIAMoAqACQQJHDQQgAkH//wFBgIB+IAMoApACIgYgBkGAgH5MGyIGIAZB//8BThs2AgAgA0ECNgIYIANBsAFqEFkhBkHUiQtBADYCAEHAACAGIAIQAiEGQdSJCygCACEQQdSJC0EANgIAIBBBAUYNASACEFkhAiADKAKYA0ECRw0FIAFB//8BQYCAfiADKAKIAyIHIAdBgIB+TBsiByAHQf//AU4bNgIAIANBAjYCGCADQegAahBZIQdB1IkLQQA2AgBBwAAgByABEAIhB0HUiQsoAgAhEUHUiQtBADYCACARQQFGDQAgARBZGiADKAK4AkECRw0EIAJB//8BQYCAfiADKAKoAiIBIAFBgIB+TBsiASABQf//AU4bNgIAIANBAjYCGCADQcgBahBZIQFB1IkLQQA2AgBBwAAgASACEAIhAUHUiQsoAgAhEkHUiQtBADYCACASQQFGDQEgAhBZGkHUiQtBADYCAEHFBSAAIAsQAhpB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRw0CEAAhAQwICxAAIQEgA0EIahBZGgwHCxAAIQEgA0EIahBZGgwGCyABEFkaIAYQWRogBBBZGiAIEFkaIAcQWRogBRBZGiAJEFkaIAsQWRogA0GoAmoQWRogA0GQAmoQWRogA0H4AWoQWRogA0HgAWoQWRogA0GIA2oQWRogA0HwAmoQWRogA0HYAmoQWRogA0HAAmoQWRogA0GgA2okAA8LEAAhAQwFC0HUiQtBADYCAEENQZmxBUHmmgNBmAJBoq4FEAVB1IkLKAIAIRRB1IkLQQA2AgAgFEEBRw0BEAAhAQwDC0HUiQtBADYCAEENQZmxBUHmmgNBmAJBoq4FEAVB1IkLKAIAIRVB1IkLQQA2AgAgFUEBRg0BCwALEAAhAQsgA0EgahDwASADQagCahBZGiADQZACahBZGiADQfgBahBZGiADQeABahBZGgsgA0GIA2oQWRogA0HwAmoQWRogA0HYAmoQWRogA0HAAmoQWRogARAHAAvbCgEYfyMAQaAGayIDJAAgA0HgBGogARCcA0HUiQtBADYCAEHPBSADQaADaiACEANB1IkLKAIAIQFB1IkLQQA2AgACQAJAIAFBAUcEQCADQQA2AjAgA0IANwMoIANBQGtCADcDACADQQA2AkggA0IANwNYIANBADYCYCADQgA3A3AgA0EANgJ4IANCADcDiAEgA0EANgKQASADQgA3A6ABIANBADYCqAEgA0IANwMgIANCADcDOCADQgA3A1AgA0IANwNoIANCADcDgAEgA0IANwOYASADQQA2AsABIANCADcDuAEgA0EANgLYASADQgA3A9ABIANBADYC8AEgA0IANwPoASADQQA2AogCIANCADcDgAIgA0EANgKgAiADQgA3A5gCIANCADcDsAIgA0EANgK4AiADQgA3A7ABIANCADcDyAEgA0IANwPgASADQgA3A/gBIANCADcDkAIgA0IANwOoAiADQQA2AtACIANCADcDyAIgA0IANwPAAiADQQA2AugCIANCADcD4AIgA0IANwPYAiADQQA2AoADIANCADcD+AIgA0IANwPwAiADQQA2ApgDIANCADcDkAMgA0IANwOIAyADQYgDaiEaIANB8AJqIQYgA0HYAmohByADQcACaiEIIANBqAJqIQkgA0GQAmohCiADQfgBaiELIANB4AFqIQwgA0HIAWohDSADQbABaiEOIANBmAFqIQ8gA0GAAWohECADQegAaiERIANB0ABqIRIgA0E4aiETQQAhAQJAAkACQAJAAkADQCABQRhsIgIgA0HgBGpqIgQoAhBBAkcEQEHUiQtBADYCAEENQZmxBUHmmgNBmAJBoq4FEAVB1IkLKAIAIRVB1IkLQQA2AgAgFUEBRg0CDAkLIAQuAQAhBCADQQI2AhggA0H/ASAEQQAgBEEAShsiBCAEQf8BThs2AgggA0EgaiACaiIEIANBCGoiFEcEQCAEEFkhBEHUiQtBADYCAEHAACAEIBQQAhpB1IkLKAIAIRZB1IkLQQA2AgAgFkEBRg0DCyADQQhqEFkaIANBoANqIAJqIgIoAhBBAkcEQEHUiQtBADYCAEENQZmxBUHmmgNBmAJBoq4FEAVB1IkLKAIAIRdB1IkLQQA2AgAgF0EBRw0JEAAhAQwFCyACLgEAIQIgA0ECNgIYIANB/wEgAkEAIAJBAEobIgIgAkH/AU4bNgIIIANBIGogAUEIckEYbGoiAiADQQhqIgRHBEAgAhBZIQJB1IkLQQA2AgBBwAAgAiAEEAIaQdSJCygCACEYQdSJC0EANgIAIBhBAUYNBAsgA0EIahBZGiABQQFqIgFBCEcNAAtB1IkLQQA2AgBBxAUgACADQSBqEAIaQdSJCygCACEZQdSJC0EANgIAIBlBAUcNBBAAIQEMAwsQACEBDAILEAAhASADQQhqEFkaDAELEAAhASADQQhqEFkaCyADQSBqEKcCIANBoANqEPABDAILIBoQWRogBhBZGiAHEFkaIAgQWRogCRBZGiAKEFkaIAsQWRogDBBZGiANEFkaIA4QWRogDxBZGiAQEFkaIBEQWRogEhBZGiATEFkaIANBIGoQWRogA0HIBGoQWRogA0GwBGoQWRogA0GYBGoQWRogA0GABGoQWRogA0HoA2oQWRogA0HQA2oQWRogA0G4A2oQWRogA0GgA2oQWRogA0GIBmoQWRogA0HwBWoQWRogA0HYBWoQWRogA0HABWoQWRogA0GoBWoQWRogA0GQBWoQWRogA0H4BGoQWRogA0HgBGoQWRogA0GgBmokAA8LEAAhAQsgA0HgBGoQ8AEgARAHAAsAC98KARh/IwBBoAZrIgMkACADQeAEaiABEJwDQdSJC0EANgIAQc8FIANBoANqIAIQA0HUiQsoAgAhAUHUiQtBADYCAAJAAkAgAUEBRwRAIANBADYCMCADQgA3AyggA0FAa0IANwMAIANBADYCSCADQgA3A1ggA0EANgJgIANCADcDcCADQQA2AnggA0IANwOIASADQQA2ApABIANCADcDoAEgA0EANgKoASADQgA3AyAgA0IANwM4IANCADcDUCADQgA3A2ggA0IANwOAASADQgA3A5gBIANBADYCwAEgA0IANwO4ASADQQA2AtgBIANCADcD0AEgA0EANgLwASADQgA3A+gBIANBADYCiAIgA0IANwOAAiADQQA2AqACIANCADcDmAIgA0IANwOwAiADQQA2ArgCIANCADcDsAEgA0IANwPIASADQgA3A+ABIANCADcD+AEgA0IANwOQAiADQgA3A6gCIANBADYC0AIgA0IANwPIAiADQgA3A8ACIANBADYC6AIgA0IANwPgAiADQgA3A9gCIANBADYCgAMgA0IANwP4AiADQgA3A/ACIANBADYCmAMgA0IANwOQAyADQgA3A4gDIANBiANqIRogA0HwAmohBiADQdgCaiEHIANBwAJqIQggA0GoAmohCSADQZACaiEKIANB+AFqIQsgA0HgAWohDCADQcgBaiENIANBsAFqIQ4gA0GYAWohDyADQYABaiEQIANB6ABqIREgA0HQAGohEiADQThqIRNBACEBAkACQAJAAkACQANAIAFBGGwiAiADQeAEamoiBCgCEEECRwRAQdSJC0EANgIAQQ1BmbEFQeaaA0GYAkGirgUQBUHUiQsoAgAhFUHUiQtBADYCACAVQQFGDQIMCQsgBC4BACEEIANBAjYCGCADQf8AQYB/IAQgBEGAf0wbIgQgBEH/AE4bNgIIIANBIGogAmoiBCADQQhqIhRHBEAgBBBZIQRB1IkLQQA2AgBBwAAgBCAUEAIaQdSJCygCACEWQdSJC0EANgIAIBZBAUYNAwsgA0EIahBZGiADQaADaiACaiICKAIQQQJHBEBB1IkLQQA2AgBBDUGZsQVB5poDQZgCQaKuBRAFQdSJCygCACEXQdSJC0EANgIAIBdBAUcNCRAAIQEMBQsgAi4BACECIANBAjYCGCADQf8AQYB/IAIgAkGAf0wbIgIgAkH/AE4bNgIIIANBIGogAUEIckEYbGoiAiADQQhqIgRHBEAgAhBZIQJB1IkLQQA2AgBBwAAgAiAEEAIaQdSJCygCACEYQdSJC0EANgIAIBhBAUYNBAsgA0EIahBZGiABQQFqIgFBCEcNAAtB1IkLQQA2AgBBxAUgACADQSBqEAIaQdSJCygCACEZQdSJC0EANgIAIBlBAUcNBBAAIQEMAwsQACEBDAILEAAhASADQQhqEFkaDAELEAAhASADQQhqEFkaCyADQSBqEKcCIANBoANqEPABDAILIBoQWRogBhBZGiAHEFkaIAgQWRogCRBZ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AgBBxgUgACABEAIaQdSJCygCACESQdSJC0EANgIAIBJBAUcNAxAAIQEMAgsQACEBDAELEAAhASADQQhqEFkaCyADQegAahBZGiADQdAAahBZGiADQThqEFkaIANBIGoQWRoMAgsgChBZGiAJEFkaIAgQWRogA0EgahBZGiAGEFkaIAUQWRogBBBZGiABEFkaIANB4AFqJAAPCxAAIQELIANByAFqEFkaIANBsAFqEFkaIANBmAFqEFkaIANBgAFqEFkaIAEQBwAL4QUBEH8jAEHgAWsiAyQAIANBgAFqIgQgARD5AkHUiQtBADYCAEHIBSADQSBqIgEgAhADQdSJCygCACECQdSJC0EANgIAAkAgAkEBRwRAQdSJC0EANgIAQZUEIANBCGoiAiAEIAEQCEHUiQsoAgAhAUHUiQtBADYCAAJAAkACQAJAIAFBAUYNACAEEFkhAUHUiQtBADYCAEHAACABIAIQAiEBQdSJCygCACELQdSJC0EANgIAIAtBAUYNASACEFkhAkHUiQtBADYCAEGVBCACIAFBGGoiBCADQThqIggQCEHUiQsoAgAhDEHUiQtBADYCACAMQQFGDQAgBBBZIQRB1IkLQQA2AgBBwAAgBCACEAIhBEHUiQsoAgAhDUHUiQtBADYCACANQQFGDQEgAhBZIQJB1IkLQQA2AgBBlQQgAiABQTBqIgUgA0HQAGoiCRAIQdSJCygCACEOQdSJC0EANgIAIA5BAUYNACAFEFkhBUHUiQtBADYCAEHAACAFIAIQAiEFQdSJCygCACEPQdSJC0EANgIAIA9BAUYNASACEFkhAkHUiQtBADYCAEGVBCACIAFByABqIgYgA0HoAGoiChAIQdSJCygCACEQQdSJC0EANgIAIBBBAUYNACAGEFkhBkHUiQtBADYCAEHAACAGIAIQAiEGQdSJCygCACERQdSJC0EANgIAIBFBAUYNASACEFkaQdSJC0EANgIAQcYFIAAgARACGkHUiQsoAgAhEkHUiQtBADYCACASQQFHDQMQACEBDAILEAAhAQwBCxAAIQEgA0EIahBZGgsgA0HoAGoQWRogA0HQAGoQWRogA0E4ahBZGiADQSBqEFkaDAILIAoQWRogCRBZGiAIEFkaIANBIGoQWRogBhBZGiAFEFkaIAQQWRogARBZGiADQeABaiQADwsQACEBCyADQcgBahBZGiADQbABahBZGiADQZgBahBZGiADQYABahBZGiABEAcAC5kFAQd/IwBBkAJrIgMkACADQbABaiABEMwCQdSJC0EANgIAQdEFIANB0ABqIAIQA0HUiQsoAgAhAUHUiQtBADYCAAJAAkACQCABQQFHBEAgA0EANgIwIANCADcDKCADQUBrQgA3AwAgA0EANgJIIANCADcDICADQgA3AzggA0E4aiECIAMoAvABQQJHDQEgAygCkAFBAkcNASADQQM2AhggAyADNQKAASADNQLgAX43AwggA0EgahBZIQFB1IkLQQA2AgBBwAAgASADQQhqIgEQAiEFQdSJCygCACEEQdSJC0EANgIAAkACQCAEQQFGDQAgARBZIQEgAygCiAJBAkcNAyADKAKoAUECRw0DIAEgAzUCmAEgAzUC+AF+NwMAIANBAzYCGCACEFkhBEHUiQtBADYCAEHAACAEIAEQAiEEQdSJCygCACEHQdSJC0EANgIAIAdBAUYNACABEFkaQdSJC0EANgIAQccFIAAgBRACGkHUiQsoAgAhCEHUiQtBADYCACAIQQFHDQEQACEBDAQLEAAhASADQQhqEFkaDAMLIAQQWRogBRBZGiADQZgBahBZGiADQYABahBZGiADQegAahBZGiADQdAAahBZGiADQfgBahBZGiADQeABahBZGiADQcgBahBZGiADQbABahBZGiADQZACaiQADwsQACEBDAILQdSJC0EANgIAQQ1BmbEFQeaaA0GYAkGirgUQBUHUiQsoAgAhCUHUiQtBADYCACAJQQFHBEAACxAAIQELIAIQWRogA0EgahBZGiADQZgBahBZGiADQYABahBZGiADQegAahBZGiADQdAAahBZGgsgA0H4AWoQWRogA0HgAWoQWRogA0HIAWoQWRogA0GwAWoQWRogARAHAAuVBQEHfyMAQZACayIDJAAgA0GwAWogARDMAkHUiQtBADYCAEHRBSADQdAAaiACEANB1IkLKAIAIQFB1IkLQQA2AgACQAJAAkAgAUEBRwRAIANBADYCMCADQgA3AyggA0FAa0IANwMAIANBADYCSCADQgA3AyAgA0IANwM4IANBOGohAiADKALAAUECRw0BIAMoAmBBAkcNASADQQM2AhggAyADNQJQIAM1ArABfjcDCCADQSBqEFkhAUHUiQtBADYCAEHAACABIANBCGoiARACIQVB1IkLKAIAIQRB1IkLQQA2AgACQAJAIARBAUYNACABEFkhASADKALYAUECRw0DIAMoAnhBAkcNAyABIAM1AmggAzUCyAF+NwMAIANBAzYCGCACEFkhBEHUiQtBADYCAEHAACAEIAEQAiEEQdSJCygCACEHQdSJC0EANgIAIAdBAUYNACABEFkaQdSJC0EANgIAQccFIAAgBRACGkHUiQsoAgAhCEHUiQtBADYCACAIQQFHDQEQACEBDAQLEAAhASADQQhqEFkaDAMLIAQQWRogBRBZGiADQZgBahBZGiADQYABahBZGiADQegAahBZGiADQdAAahBZGiADQfgBahBZGiADQeABahBZGiADQcgBahBZGiADQbABahBZGiADQZACaiQADwsQACEBDAILQdSJC0EANgIAQQ1BmbEFQeaaA0GYAkGirgUQBUHUiQsoAgAhCUHUiQtBADYCACAJQQFHBEAACxAAIQELIAIQWRogA0EgahBZGiADQZgBahBZGiADQYABahBZGiADQegAahBZGiADQdAAahBZGgsgA0H4AWoQWRogA0HgAWoQWRogA0HIAWoQWRogA0GwAWoQWRogARAHAAuZBQEHfyMAQZACayIDJAAgA0GwAWogARDMAkHUiQtBADYCAEHQBSADQdAAaiACEANB1IkLKAIAIQFB1IkLQQA2AgACQAJAAkAgAUEBRwRAIANBADYCMCADQgA3AyggA0FAa0IANwMAIANBADYCSCADQgA3AyAgA0IANwM4IANBOGohAiADKALwAUECRw0BIAMoApABQQJHDQEgA0EDNgIYIAMgAzQCgAEgAzQC4AF+NwMIIANBIGoQWSEBQdSJC0EANgIAQcAAIAEgA0EIaiIBEAIhBUHUiQsoAgAhBEHUiQtBADYCAAJAAkAgBEEBRg0AIAEQWSEBIAMoAogCQQJHDQMgAygCqAFBAkcNAyABIAM0ApgBIAM0AvgBfjcDACADQQM2AhggAhBZIQRB1IkLQQA2AgBBwAAgBCABEAIhBEHUiQsoAgAhB0HUiQtBADYCACAHQQFGDQAgARBZGkHUiQtBADYCAEHHBSAAIAUQAhpB1IkLKAIAIQhB1IkLQQA2AgAgCEEBRw0BEAAhAQwECxAAIQEgA0EIahBZGgwDCyAEEFkaIAUQWRogA0GY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ahBZGgsgBhBZGiACEFkaCyAHEFkaIAgQWRogARAHAAsgBhBZGiACEFkaIAQQWRogBRBZGiADQYABaiQAC78HAhF/An4jAEGAAWsiAyQAAkACQAJAAkACQAJAIAEoAhBBBkYEQCABKQMIIRQgASkDACEVIANBADYCSCADQUBrQgA3AwAgA0IANwNYIANBADYCYCADQgA3AzggA0IANwNQIANBAzYCGCADIBU3AwggA0E4ahBZIQFB1IkLQQA2AgBBwAAgASADQQhqIgcQAiEIQdSJCygCACEFQdSJC0EANgIAIANB0ABqIQYCQCAFQQFHBEAgBxBZIgUgFDcDACADQQM2AhggBhBZIQdB1IkLQQA2AgBBwAAgByAFEAIhB0HUiQsoAgAhCkHUiQtBADYCACAKQQFHDQELEAAhCyADQQhqEFkaIAYQWRogARBZGiALEAcACyAFEFkaAkACQCACKAIQQQZHBEBB1IkLQQA2AgBBDUH9nAVB6aQCQYMNQenUARAFQdSJCygCACEMQdSJC0EANgIAIAxBAUYNAQALIAIpAwghFCACKQMAIRUgA0EANgIYIANCADcDECADQgA3AyggA0EANgIwIANCADcDCCADQgA3AyAgA0EDNgJ4IAMgFTcDaCADQQhqEFkhBUHUiQtBADYCAEHAACAFIANB6ABqIgEQAiECQdSJCygCACENQdSJC0EANgIAIANBIGohBCANQQFHBEAgARBZIgEgFDcDACADQQM2AnggBBBZIQZB1IkLQQA2AgBBwAAgBiABEAIhBkHUiQsoAgAhDkHUiQtBADYCACAOQQFHDQILEAAhASADQegAahBZGiAEEFkaIAUQWRoMBwsQACEBDAYLIAEQWRpB1IkLQQA2AgBBlgQgA0HoAGogCCACEAhB1IkLKAIAIQ9B1IkLQQA2AgAgD0EBRw0BDAILQf2cBUHppAJBgw1B6dQBEAEACyAIEFkhAUHUiQtBADYCAEHAACABIANB6ABqIgEQAiEFQdSJCygCACEQQdSJC0EANgIAIBBBAUYNASABEFkhAUHUiQtBADYCAEGWBCABIAcgBhAIQdSJCygCACERQdSJC0EANgIAIBFBAUYNACAHEFkhBEHUiQtBADYCAEHAACAEIAEQAiEEQdSJCygCACESQdSJC0EANgIAIBJBAUYNASABEFkaQdSJC0EA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EFkaIANB+AFqEFkaIANB4AFqEFkaIANByAFqEFkaIANBsAFqEFkaIANBmAFqEFkaIANBgAFqEFkaIANB6ANqEFkaIANB0ANqEFkaIANBuANqEFkaIANBoANqEFkaIANBiANqEFkaIANB8AJqEFkaIANB2AJqEFkaIANBwAJqEFkaIANBgARqJAAPCxAAIQEMAgtB1IkLQQA2AgBBDUGZsQVB5poDQZgCQaKuBRAFQdSJCygCACEPQdSJC0EANgIAIA9BAUcEQAALEAAhAQsgAhBZGiAHEFkaIAgQWRogA0EgahBZGiADQYABahDwAQsgA0HAAmoQ8AEgARAHAAvJBwENfyMAQYAEayIDJAAgA0HAAmogARCJA0HUiQtBADYCAEHOBSADQYABaiACEANB1IkLKAIAIQFB1IkLQQA2AgACQAJAAkAgAUEBRwRAIANBADYCMCADQgA3AyggA0FAa0IANwMAIANBADYCSCADQgA3A1ggA0EANgJgIANCADcDcCADQQA2AnggA0IANwMgIANCADcDOCADQgA3A1AgA0IANwNoIANB6ABqIQIgA0HQAGohByADQThqIQggAygC0AJBAkcNASADKAKQAUECRw0BIANBAjYCGCADIAMvAYABIAMvAcACbDYCCCADQSBqEFkhAUHUiQtBADYCAEHAACABIANBCGoiARACIQlB1IkLKAIAIQRB1IkLQQA2AgACQAJAIARBAUYNACABEFkhASADKALoAkECRw0DIAMoAqgBQQJHDQMgASADLwGYASADLwHYAmw2AgAgA0ECNgIYIAgQWSEEQdSJC0EANgIAQcAAIAQgARACIQRB1IkLKAIAIQtB1IkLQQA2AgAgC0EBRg0AIAEQWSEBIAMoAoADQQJHDQMgAygCwAFBAkcNAyABIAMvAbABIAMvAfACbDYCACADQQI2AhggBxBZIQVB1IkLQQA2AgBBwAAgBSABEAIhBUHUiQsoAgAhDEHUiQtBADYCACAMQQFGDQAgARBZIQEgAygCmANBAkcNAyADKALYAUECRw0DIAEgAy8ByAEgAy8BiANsNgIAIANBAjYCGCACEFkhBkHUiQtBADYCAEHAACAGIAEQAiEGQdSJCygCACENQdSJC0EANgIAIA1BAUYNACABEFkaQdSJC0EANgIAQcYFIAAgCRACGkHUiQsoAgAhDkHUiQtBADYCACAOQQFHDQEQACEBDAQLEAAhASADQQhqEFkaDAMLIAYQWRogBRBZGiAEEFkaIAkQWRogA0GoAmoQWRogA0GQAmoQWRogA0H4AWoQWRogA0HgAWoQWRogA0HIAWoQWRogA0GwAWoQWRogA0GYAWoQWRogA0GAAWoQWRogA0HoA2oQWRogA0HQA2oQWRogA0G4A2oQWRogA0GgA2oQWRogA0GIA2oQWRogA0HwAmoQWRogA0HYAmoQWRogA0HAAmoQWRogA0GABGokAA8LEAAhAQwCC0HUiQtBADYCAEENQZmxBUHmmgNBmAJBoq4FEAVB1IkLKAIAIQ9B1IkLQQA2AgAgD0EBRwRAAAsQACEBCyACEFkaIAcQWRogCBBZGiADQSBqEFkaIANBgAFqEPABCyADQcACahDwASABEAcAC8kHAQ1/IwBBgARrIgMkACADQcACaiABEJwDQdSJC0EANgIAQc8FIANBgAFqIAIQA0HUiQsoAgAhAUHUiQtBADYCAAJAAkACQCABQQFHBEAgA0EANgIwIANCADcDKCADQUBrQgA3AwAgA0EANgJIIANCADcDWCADQQA2AmAgA0IANwNwIANBADYCeCADQgA3AyAgA0IANwM4IANCADcDUCADQgA3A2ggA0HoAGohAiADQdAAaiEHIANBOGohCCADKAKwA0ECRw0BIAMoAvABQQJHDQEgA0ECNgIYIAMgAy4B4AEgAy4BoANsNgIIIANBIGoQWSEBQdSJC0EANgIAQcAAIAEgA0EIaiIBEAIhCUHUiQsoAgAhBEHUiQtBADYCAAJAAkAgBEEBRg0AIAEQWSEBIAMoAsgDQQJHDQMgAygCiAJBAkcNAyABIAMuAfgBIAMuAbgDbDYCACADQQI2AhggCBBZIQRB1IkLQQA2AgBBwAAgBCABEAIhBEHUiQsoAgAhC0HUiQtBADYCACALQQFGDQAgARBZIQEgAygC4ANBAkcNAyADKAKgAkECRw0DIAEgAy4BkAIgAy4B0ANsNgIAIANBAjYCGCAHEFkhBUHUiQtBADYCAEHAACAFIAEQAiEFQdSJCygCACEMQdSJC0EANgIAIAxBAUYNACABEFkhASADKAL4A0ECRw0DIAMoArgCQQJHDQMgASADLgGoAiADLgHoA2w2AgAgA0ECNgIYIAIQWSEGQdSJC0EANgIAQcAAIAYgARACIQZB1IkLKAIAIQ1B1IkLQQA2AgAgDUEBRg0AIAEQWRpB1IkLQQA2AgBBxgUgACAJEAIaQdSJCygCACEOQdSJC0EANgIAIA5BAUcNARAAIQEMBAsQACEBIANBCGoQWRoMAwsgBhBZGiAFEFkaIAQQWRogCRBZGiADQagCahBZGiADQZACahBZGiADQfgBahBZGiADQeABahBZGiADQcgBahBZGiADQbABahBZGiADQZgBahBZGiADQYABahBZGiADQegDahBZGiADQdADahBZGiADQbgDahBZGiADQaADahBZGiADQYgDahBZGiADQfACahBZGiADQdgCahBZGiADQcACahBZGiADQYAEaiQADwsQACEBDAILQdSJC0EANgIAQQ1BmbEFQeaaA0GYAkGirgUQBUHUiQsoAgAhD0HUiQtBADYCACAPQQFHBEAACxAAIQELIAIQWRogBxBZGiAIEFkaIANBIGoQWRogA0GAAWoQ8AELIANBwAJqEPABIAEQBwALyQcBDX8jAEGABGsiAyQAIANBwAJqIAEQnANB1IkLQQA2AgBBzwUgA0GAAWogAhADQdSJCygCACEBQdSJC0EANgIAAkACQAJAIAFBAUcEQCADQQA2AjAgA0IANwMoIANBQGtCADcDACADQQA2AkggA0IANwNYIANBADYCYCADQgA3A3AgA0EANgJ4IANCADcDICADQgA3AzggA0IANwNQIANCADcDaCADQegAaiECIANB0ABqIQcgA0E4aiEIIAMoAtACQQJHDQEgAygCkAFBAkcNASADQQI2AhggAyADLgGAASADLgHAAmw2AgggA0EgahBZIQFB1IkLQQA2AgBBwAAgASADQQhqIgEQAiEJQdSJCygCACEEQdSJC0EANgIAAkACQCAEQQFGDQAgARBZIQEgAygC6AJBAkcNAyADKAKoAUECRw0DIAEgAy4BmAEgAy4B2AJsNgIAIANBAjYCGCAIEFkhBEHUiQtBADYCAEHAACAEIAEQAiEEQdSJCygCACELQdSJC0EANgIAIAtBAUYNACABEFkhASADKAKAA0ECRw0DIAMoAsABQQJHDQMgASADLgGwASADLgHwAmw2AgAgA0ECNgIYIAcQWSEFQdSJC0EANgIAQcAAIAUgARACIQVB1IkLKAIAIQxB1IkLQQA2AgAgDEEB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IAEQAiEEQdSJCygCACEMQdSJC0EANgIAIAxBAUYNACABEFkhASADKALgBkECRw0DIAMoAuADQQJHDQMgASADLQDQAyADLQDQBmw2AgAgA0ECNgIYIANB0ABqEFkhBUHUiQtBADYCAEHAACAFIAEQAiEFQdSJCygCACENQdSJC0EANgIAIA1BAUYNACABEFkhASADKAL4BkECRw0DIAMoAvgDQQJHDQMgASADLQDoAyADLQDoBmw2AgAgA0ECNgIYIANB6ABqEFkhBkHUiQtBADYCAEHAACAGIAEQAiEGQdSJCygCACEOQdSJC0EANgIAIA5BAUYNACABEFkhASADKAKQB0ECRw0DIAMoApAEQQJHDQMgASADLQCABCADLQCAB2w2AgAgA0ECNgIYIANBgAFqEFkhB0HUiQtBADYCAEHAACAHIAEQAiEHQdSJCygCACEPQdSJC0EANgIAIA9BAUYNACABEFkhASADKAKoB0ECRw0DIAMoAqgEQQJHDQMgASADLQCYBCADLQCYB2w2AgAgA0ECNgIYIANBmAFqEFkhCEHUiQtBADYCAEHAACAIIAEQAiEIQdSJCygCACEQQdSJC0EANgIAIBBBAUYNACABEFkhASADKALAB0ECRw0DIAMoAsAEQQJHDQMgASADLQCwBCADLQCwB2w2AgAgA0ECNgIYIANBsAFqEFkhCUHUiQtBADYCAEHAACAJIAEQAiEJQdSJCygCACERQdSJC0EANgIAIBFBAUYNACABEFkhASADKALYB0ECRw0DIAMoAtgEQQJHDQMgASADLQDIBCADLQDIB2w2AgAgA0ECNgIYIANByAFqEFkhCkHUiQtBADYCAEHAACAKIAEQAiEKQdSJCygCACESQdSJC0EANgIAIBJBAUYNACABEFkaQdSJC0EANgIAQcUFIAAgAhACGkHUiQsoAgAhE0HUiQtBADYCACATQQFHDQEQACEBDAQLEAAhASADQQhqEFkaDAMLIAoQWRogCRBZGiAIEFkaIAcQWRogBhBZGiAFEFkaIAQQWRogAhBZGiADQcgEahBZGiADQbAEahBZGiADQZgEahBZGiADQYAEahBZGiADQegDahBZGiADQdADahBZGiADQbgDahBZGiADQaADahBZGiADQYgDahBZGiADQfACahBZGiADQdgCahBZGiADQcACahBZGiADQagCahBZGiADQZACahBZGiADQfgBahBZGiADQeABahBZGiADQcgHahBZGiADQbAHahBZGiADQZgHahBZGiADQYAHahBZGiADQegGahBZGiADQdAGahBZGiADQbgGahBZGiADQaAGahBZGiADQYgGahBZGiADQfAFahBZGiADQdgFahBZGiADQcAFahBZGiADQagFahBZGiADQZAFahBZGiADQfgEahBZGiADQeAEahBZGiADQeAHaiQADwsQACEBDAILQdSJC0EANgIAQQ1BmbEFQeaaA0GYAkGirgUQBUHUiQsoAgAhFEHUiQtBADYCACAUQQFHBEAACxAAIQELIANBIGoQ8AEgA0HgAWoQpwILIANB4ARqEKcCIAEQBwAL4gwBEn8jAEHgB2siAyQAIANB4ARqIAEQgwNB1IkLQQA2AgBBzAUgA0HgAWogAhADQdSJCygCACEBQdSJC0EANgIAAkACQAJAIAFBAUcEQCADQQA2AjAgA0IANwMoIANBQGtCADcDACADQQA2AkggA0IANwNYIANBADYCYCADQgA3A3AgA0EANgJ4IANCADcDiAEgA0EANgKQASADQgA3A6ABIANBADYCqAEgA0IANwMgIANCADcDOCADQgA3A1AgA0IANwNoIANCADcDgAEgA0IANwOYASADQQA2AsABIANCADcDuAEgA0IANwPQASADQQA2AtgBIANCADcDsAEgA0IANwPIASADKALwBEECRw0BIAMoAvABQQJHDQEgA0ECNgIYIAMgAy0A4AEgAy0A4ARsNgIIIANBIGoQWSEBQdSJC0EANgIAQcAAIAEgA0EIaiIBEAIhAkHUiQsoAgAhBEHUiQtBADYCAAJAAkAgBEEBRg0AIAEQWSEBIAMoAogFQQJHDQMgAygCiAJBAkcNAyABIAMtAPgBIAMtAPgEbDYCACADQQI2AhggA0E4ahBZIQRB1IkLQQA2AgBBwAAgBCABEAIhBEHUiQsoAgAhDEHUiQtBADYCACAMQQFGDQAgARBZIQEgAygCoAVBAkcNAyADKAKgAkECRw0DIAEgAy0AkAIgAy0AkAVsNgIAIANBAjYCGCADQdAAahBZIQVB1IkLQQA2AgBBwAAgBSABEAIhBUHUiQsoAgAhDUHUiQtBADYCACANQQFGDQAgARBZIQEgAygCuAVBAkcNAyADKAK4AkECRw0DIAEgAy0AqAIgAy0AqAVsNgIAIANBAjYCGCADQegAahBZIQZB1IkLQQA2AgBBwAAgBiABEAIhBkHUiQsoAgAhDkHUiQtBADYCACAOQQFGDQAgARBZIQEgAygC0AVBAkcNAyADKALQAkECRw0DIAEgAy0AwAIgAy0AwAVsNgIAIANBAjYCGCADQYABahBZIQdB1IkLQQA2AgBBwAAgByABEAIhB0HUiQsoAgAhD0HUiQtBADYCACAPQQFGDQAgARBZIQEgAygC6AVBAkcNAyADKALoAkECRw0DIAEgAy0A2AIgAy0A2AVsNgIAIANBAjYCGCADQZgBahBZIQhB1IkLQQA2AgBBwAAgCCABEAIhCEHUiQsoAgAhEEHUiQtBADYCACAQQQFGDQAgARBZIQEgAygCgAZBAkcNAyADKAKAA0ECRw0DIAEgAy0A8AIgAy0A8AVsNgIAIANBAjYCGCADQbABahBZIQlB1IkLQQA2AgBBwAAgCSABEAIhCUHUiQsoAgAhEUHUiQtBADYCACARQQFGDQAgARBZIQEgAygCmAZBAkcNAyADKAKYA0ECRw0DIAEgAy0AiAMgAy0AiAZsNgIAIANBAjYCGCADQcgBahBZIQpB1IkLQQA2AgBBwAAgCiABEAIhCkHUiQsoAgAhEkHUiQtBADYCACASQQFGDQAgARBZGkHUiQtBADYCAEHFBSAAIAIQAhpB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRw0BEAAhAQwECxAAIQEgA0EIahBZGgwDCyAKEFkaIAkQWRogCBBZGiAHEFkaIAYQWRogBRBZGiAEEFkaIAIQWRogA0HIBGoQWRogA0GwBGoQWRogA0GYBGoQWRogA0GABGoQWRogA0HoA2oQWRogA0HQA2oQWRogA0G4A2oQWRogA0GgA2oQWRogA0GIA2oQWRogA0HwAmoQWRogA0HYAmoQWRogA0HAAmoQWRogA0GoAmoQWRogA0GQAmoQWRogA0H4AWoQWRogA0HgAWoQWRogA0HIB2oQWRogA0GwB2oQWRogA0GYB2oQWRogA0GAB2oQWRogA0HoBmoQWRogA0HQBmoQWRogA0G4BmoQWRogA0GgBmoQWRogA0GIBmoQWRogA0HwBWoQWRogA0HYBWoQWRogA0HABWoQWRogA0GoBWoQWRogA0GQBWoQWRogA0H4BGoQWRogA0HgBGoQWRogA0HgB2okAA8LEAAhAQwCC0HUiQtBADYCAEENQZmxBUHmmgNBmAJBoq4FEAVB1IkLKAIAIRRB1IkLQQA2AgAgFEEBRwRAAAsQACEBCyADQSBqEPABIANB4AFqEKcCCyADQeAEahCnAiABEAcAC+IMARJ/IwBB4AdrIgMkACADQeAEaiABEK8DQdSJC0EANgIAQc0FIANB4AFqIAIQA0HUiQsoAgAhAUHUiQtBADYCAAJAAkACQCABQQFHBEAgA0EANgIwIANCADcDKCADQUBrQgA3AwAgA0EANgJIIANCADcDWCADQQA2AmAgA0IANwNwIANBADYCeCADQgA3A4gBIANBADYCkAEgA0IANwOgASADQQA2AqgBIANCADcDICADQgA3AzggA0IANwNQIANCADcDaCADQgA3A4ABIANCADcDmAEgA0EANgLAASADQgA3A7gBIANCADcD0AEgA0EANgLYASADQgA3A7ABIANCADcDyAEgAygCsAZBAkcNASADKAKwA0ECRw0BIANBAjYCGCADIAMsAKADIAMsAKAGbDYCCCADQSBqEFkhAUHUiQtBADYCAEHAACABIANBCGoiARACIQJB1IkLKAIAIQRB1IkLQQA2AgACQAJAIARBAUYNACABEFkhASADKALIBkECRw0DIAMoAsgDQQJHDQMgASADLAC4AyADLAC4Bmw2AgAgA0ECNgIYIANBOGoQWSEEQdSJC0EANgIAQcAAIAQgARACIQRB1IkLKAIAIQxB1IkLQQA2AgAgDEEBRg0AIAEQWSEBIAMoAuAGQQJHDQMgAygC4ANBAkcNAyABIAMsANADIAMsANAGbDYCACADQQI2AhggA0HQAGoQWSEFQdSJC0EANgIAQcAAIAUgARACIQVB1IkLKAIAIQ1B1IkLQQA2AgAgDUEBRg0AIAEQWSEBIAMoAvgGQQJHDQMgAygC+ANBAkcNAyABIAMsAOgDIAMsAOgGbDYCACADQQI2AhggA0HoAGoQWSEGQdSJC0EANgIAQcAAIAYgARACIQZB1IkLKAIAIQ5B1IkLQQA2AgAgDkEBRg0AIAEQWSEBIAMoApAHQQJHDQMgAygCkARBAkcNAyABIAMsAIAEIAMsAIAHbDYCACADQQI2AhggA0GAAWoQWSEHQdSJC0EANgIAQcAAIAcgARACIQdB1IkLKAIAIQ9B1IkLQQA2AgAgD0EBRg0AIAEQWSEBIAMoAqgHQQJHDQMgAygCqARBAkcNAyABIAMsAJgEIAMsAJgHbDYCACADQQI2AhggA0GYAWoQWSEIQdSJC0EANgIAQcAAIAggARACIQhB1IkLKAIAIRBB1IkLQQA2AgAgEEEBRg0AIAEQWSEBIAMoAsAHQQJHDQMgAygCwARBAkcNAyABIAMsALAEIAMsALAHbDYCACADQQI2AhggA0GwAWoQWSEJQdSJC0EANgIAQcAAIAkgARACIQlB1IkLKAIAIRFB1IkLQQA2AgAgEUEBRg0AIAEQWSEBIAMoAtgHQQJHDQMgAygC2ARBAkcNAyABIAMsAMgEIAMsAMgHbDYCACADQQI2AhggA0HIAWoQWSEKQdSJC0EANgIAQcAAIAogARACIQpB1IkLKAIAIRJB1IkLQQA2AgAgEkEBRg0AIAEQWRpB1IkLQQA2AgBBxQUgACACEAIaQdSJCygCACETQdSJC0EANgIAIBNBAUcNARAAIQEMBAsQACEBIANBCGoQWRoMAwsgChBZGiAJEFkaIAgQWRogBxBZGiAGEFkaIAUQWRogBBBZGiACEFkaIANByARqEFkaIANBsARqEFkaIANBmARqEFkaIANBgARqEFkaIANB6ANqEFkaIANB0ANqEFkaIANBuANqEFkaIANBoANqEFkaIANBiANqEFkaIANB8AJqEFkaIANB2AJqEFkaIANBwAJqEFkaIANBqAJqEFkaIANBkAJqEFkaIANB+AFqEFkaIANB4AFqEFkaIANByAdqEFkaIANBsAdqEFkaIANBmAdqEFkaIANBgAdqEFkaIANB6AZqEFkaIANB0AZqEFkaIANBuAZqEFkaIANBoAZqEFkaIANBiAZqEFkaIANB8AVqEFkaIANB2AVqEFkaIANBwAVqEFkaIANBqAVqEFkaIANBkAVqEFkaIANB+ARqEFkaIANB4ARqEFkaIANB4AdqJAAPCxAAIQEMAgtB1IkLQQA2AgBBDUGZsQVB5poDQZgCQaKuBRAFQdSJCygCACEUQdSJC0EANgIAIBRBAUcEQAALEAAhAQsgA0EgahDwASADQeABahCnAgsgA0HgBGoQpwIgARAHAAviDAESfyMAQeAHayIDJAAgA0HgBGogARCvA0HUiQtBADYCAEHNBSADQeABaiACEANB1IkLKAIAIQFB1IkLQQA2AgACQAJAAkAgAUEBRwRAIANBADYCMCADQgA3AyggA0FAa0IANwMAIANBADYCSCADQgA3A1ggA0EANgJgIANCADcDcCADQQA2AnggA0IANwOIASADQQA2ApABIANCADcDoAEgA0EANgKoASADQgA3AyAgA0IANwM4IANCADcDUCADQgA3A2ggA0IANwOAASADQgA3A5gBIANBADYCwAEgA0IANwO4ASADQgA3A9ABIANBADYC2AEgA0IANwOwASADQgA3A8gBIAMoAvAEQQJHDQEgAygC8AFBAkcNASADQQI2AhggAyADLADgASADLADgBGw2AgggA0EgahBZIQFB1IkLQQA2AgBBwAAgASADQQhqIgEQAiECQdSJCygCACEEQdSJC0EANgIAAkACQCAEQQFGDQAgARBZIQEgAygCiAVBAkcNAyADKAKIAkECRw0DIAEgAywA+AEgAywA+ARsNgIAIANBAjYCGCADQThqEFkhBEHUiQtBADYCAEHAACAEIAEQAiEEQdSJCygCACEMQdSJC0EANgIAIAxBAUYNACABEFkhASADKAKgBUECRw0DIAMoAqACQQJHDQMgASADLACQAiADLACQBWw2AgAgA0ECNgIYIANB0ABqEFkhBUHUiQtBADYCAEHAACAFIAEQAiEFQdSJCygCACENQdSJC0EANgIAIA1BAUYNACABEFkhASADKAK4BUECRw0DIAMoArgCQQJHDQMgASADLACoAiADLACoBWw2AgAgA0ECNgIYIANB6ABqEFkhBkHUiQtBADYCAEHAACAGIAEQAiEGQdSJCygCACEOQdSJC0EANgIAIA5BAUYNACABEFkhASADKALQBUECRw0DIAMoAtACQQJHDQMgASADLADAAiADLADABWw2AgAgA0ECNgIYIANBgAFqEFkhB0HUiQtBADYCAEHAACAHIAEQAiEHQdSJCygCACEPQdSJC0EANgIAIA9BAUYNACABEFkhASADKALoBUECRw0DIAMoAugCQQJHDQMgASADLADYAiADLADYBWw2AgAgA0ECNgIYIANBmAFqEFkhCEHUiQtBADYCAEHAACAIIAEQAiEIQdSJCygCACEQQdSJC0EANgIAIBBBAUYNACABEFkhASADKAKABkECRw0DIAMoAoADQQJHDQMgASADLADwAiADLADwBWw2AgAgA0ECNgIYIANBsAFqEFkhCUHUiQtBADYCAEHAACAJIAEQAiEJQdSJCygCACERQdSJC0EANgIAIBFBAUYNACABEFkhASADKAKYBkECRw0DIAMoApgDQQJHDQMgASADLACIAyADLACIBmw2AgAgA0ECNgIYIANByAFqEFkhCkHUiQtBADYCAEHAACAKIAEQAiEKQdSJCygCACESQdSJC0EANgIAIBJBAUYNACABEFkaQdSJC0EANgIAQcUFIAAgAhACGkHUiQsoAgAhE0HUiQtBADYCACATQQFHDQEQACEBDAQLEAAhASADQQhqEFkaDAMLIAoQWRogCRBZGiAIEFkaIAcQWRogBhBZGiAFEFkaIAQQWRogAhBZGiADQcgEahBZGiADQbAEahBZGiADQZgEahBZGiADQYAEahBZGiADQegDahBZGiADQdADahBZGiADQbgDahBZGiADQaADahBZGiADQYgDahBZGiADQfACahBZGiADQdgCahBZGiADQcACahBZGiADQagCahBZGiADQZACahBZGiADQfgBahBZGiADQeABahBZGiADQcgHahBZGiADQbAHahBZGiADQZgHahBZGiADQYAHahBZGiADQegGahBZGiADQdAGahBZGiADQbgGahBZGiADQaAGahBZGiADQYgGahBZGiADQfAFahBZGiADQdgFahBZGiADQcAFahBZGiADQagFahBZGiADQZAFahBZGiADQfgEahBZGiADQeAEahBZGiADQeAHaiQADwsQACEBDAILQdSJC0EANgIAQQ1BmbEFQeaaA0GYAkGirgUQBUHUiQsoAgAhFEHUiQtBADYCACAUQQFHBEAACxAAIQELIANBIGoQ8AEgA0HgAWoQpwILIANB4ARqEKcCIAEQBwAL5QsCEn8BfiMAQaADayIDJAAgA0HgAWoiBCABEJwDQdSJC0EANgIAQc8FIANBIGogAhADQdSJCygCACEBQdSJC0EANgIAAkACQAJAIAFBAUcEQCADKALwAUECRw0BIAMoAjBBAkcNASADQQI2AhggA0L//wFCgIB+IAM0AiAgAzQC4AF+QoCAAXxCD4ciFSAVQoCAflcbIhUgFUL//wFZGz4CCCAEEFkhAUHUiQtBADYCAEHAACABIANBCGoiAhACIQFB1IkLKAIAIQRB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IAYQWRogBRBZGiAEEFkaIAEQWRogA0GgA2okAA8LEAAhAQsgA0HgAWoQ8AEgARAHAAvFBQEGfyMAQaAGayIDJAAgA0GgA2ogARCDA0HUiQtBADYCAEHMBSADQSBqIAIQA0HUiQsoAgAhAUHUiQtBADYCAAJAIAFBAUcEQEEAIQICQAJAAkACQANAAkAgAkEYbCIEIANBoANqaiIBKAIQQQJGBEAgA0EgaiAEaiIEKAIQQQJGDQELQdSJC0EANgIAQQ1BmbEFQeaaA0GYAkGirgUQBUHUiQsoAgAhBkHUiQtBADYCACAGQQFGDQIACyAEKAIAIQQgASgCACEFIANBAjYCGCADIAQgBWpBAWpBAm02AgggA0EIaiIEIAFHBEAgARBZIQFB1IkLQQA2AgBBwAAgASAEEAIaQdSJCygCACEHQdSJC0EANgIAIAdBAUYNAwsgA0EIahBZGiACQQFqIgJBEEcNAAtB1IkLQQA2AgBBxAUgACADQaADahACGkHUiQsoAgAhCEHUiQtBADYCACAIQQFHDQMQACEBDAILEAAhAQwBCxAAIQEgA0EIahBZGgsgA0EgahCnAgwCCyADQYgDahBZGiADQfACahBZGiADQdgCahBZGiADQcACahBZGiADQagCahBZGiADQZACahBZGiADQfgBahBZGiADQeABahBZGiADQcgBahBZGiADQbABahBZGiADQZgBahBZGiADQYABahBZGiADQegAahBZGiADQdAAahBZGiADQThqEFkaIANBIGoQWRogA0GIBmoQWRogA0HwBWoQWRogA0HYBWoQWRogA0HABWoQWRogA0GoBWoQWRogA0GQBWoQWRogA0H4BGoQWRogA0HgBGoQWRogA0HIBGoQWRogA0GwBGoQWRogA0GYBGoQWRogA0GABGoQWRogA0HoA2oQWRogA0HQA2oQWRogA0G4A2oQWRogA0GgA2oQWRogA0GgBmokAA8LEAAhAQsgA0GgA2oQpwIgARAHAAvdBQEIfyMAQaAGayIDJAAgA0GgA2ogARCDA0HUiQtBADYCAEHMBSADQSBqIAIQA0HUiQsoAgAhAUHUiQtBADYCAAJAAkACQCABQQFHBEACQAJAAkADQCAFQRhsIgIgA0GgA2pqIgEoAhBBAkcNBSADQSBqIAJqIgIoAhBBAkcNBSACKAIAIQQgASgC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AkADQAJAIAJBGGwiASADQaADamoiBCgCEEECRgRAIANBIGogAWoiASgCEEECRg0BC0HUiQtBADYCAEENQZmxBUHmmgNBmAJBoq4FEAVB1IkLKAIAIQdB1IkLQQA2AgAgB0EBRg0CAAsgAS0AACEFIAQsAAAhASADQQI2AhggAyABQQd2Qf8AcyABIAVrIgYgASAGcyABIAVzccBBAEgbwDYCCCADQQhqIgEgBEcEQCAEEFkhBEHUiQtBADYCAEHAACAEIAEQAhpB1IkLKAIAIQhB1IkLQQA2AgAgCEEBRg0DCyADQQhqEFkaIAJBAWoiAkEQRw0AC0HUiQtBADYCAEHEBSAAIANBoANqEAIaQdSJCygCACEJQdSJC0EANgIAIAlBAUcNAxAAIQEMAgsQACEBDAELEAAhASADQQhqEFkaCyADQSBqEKcCDAILIANBiANqEFkaIANB8AJqEFkaIANB2AJqEFkaIANBwAJqEFkaIANBqAJqEFkaIANBkAJqEFkaIANB+AFqEFkaIANB4AFqEFkaIANByAFqEFkaIANBsAFqEFkaIANBmAFqEFkaIANBgAFqEFkaIANB6ABqEFkaIANB0ABqEFkaIANBOGoQWRogA0EgahBZGiADQYgGahBZGiADQfAFahBZGiADQdgFahBZGiADQcAFahBZGiADQagFahBZGiADQZAFahBZGiADQfgEahBZGiADQeAEahBZGiADQcgEahBZGiADQbAEahBZGiADQZgEahBZGiADQYAEahBZGiADQegDahBZGiADQdADahBZGiADQbgDahBZGiADQaADahBZGiADQaAGaiQADwsQACEBCyADQaADahCnAiABEAcAC/wQAUB/IwBBoAZrIgMkACADQaADaiIEIAEQgwNB1IkLQQA2AgBBzAUgA0EgaiIBIAIQA0HUiQsoAgAhAkHUiQtBADYCAAJAIAJBAUcEQEHUiQtBADYCAEGWBCADQQhqIgIgBCABEAhB1IkLKAIAIQFB1IkLQQA2AgACQAJAAkACQCABQQFGDQAgBBBZIQFB1IkLQQA2AgBBwAAgASACEAIhAUHUiQsoAgAhI0HUiQtBADYCACAjQQFGDQEgAhBZIQJB1IkLQQA2AgBBlgQgAiABQRhqIgQgA0E4aiIUEAhB1IkLKAIAISRB1IkLQQA2AgAgJEEBRg0AIAQQ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IBQQWRogA0EgahBZGiASEFkaIBEQWRogEBBZGiAPEFkaIA4QWRogDRBZGiAMEFkaIAsQWRogChBZGiAJEFkaIAgQWRogBxBZGiAGEFkaIAUQWRogBBBZGiABEFkaIANBoAZqJAAPCxAAIQELIANBoANqEKcCIAEQBwALTgACQCAAKAIAQcYARgRAIAAoAgwgAU0NASAAKAIIIAFBAnRqKAIADwtBurMGQae3AkHNIUHEkgEQAQALQcKHBkGntwJBziFBxJIBEAEAC8sFAQZ/IwBBoAZrIgMkACADQaADaiABEK8DQdSJC0EANgIAQc0FIANBIGogAhADQdSJCygCACEBQdSJC0EANgIAAkAgAUEBRwRAQQAhAgJAAkACQAJAA0ACQCACQRhsIgQgA0GgA2pqIgEoAhBBAkYEQCADQSBqIARqIgQoAhBBAkYNAQtB1IkLQQA2AgBBDUGZsQVB5poDQZgCQaKuBRAFQdSJCygCACEGQdSJC0EANgIAIAZBAUYNAgALIAQtAAAhBCABLQAAIQUgA0ECNgIYIANB/wEgBCAFaiIEIARB/wFPGzYCCCADQQhqIgQgAUcEQCABEFkhAUHUiQtBADYCAEHAACABIAQQAhpB1IkLKAIAIQdB1IkLQQA2AgAgB0EBRg0DCyADQQhqEFkaIAJBAWoiAkEQRw0AC0HUiQtBADYCAEHEBSAAIANBoANqEAIaQdSJCygCACEIQdSJC0EANgIAIAhBAUcNAxAAIQEMAgsQACEBDAELEAAhASADQQhqEFkaCyADQSBqEKcCDAILIANBiANqEFkaIANB8AJqEFkaIANB2AJqEFkaIANBwAJqEFkaIANBqAJqEFkaIANBkAJqEFkaIANB+AFqEFkaIANB4AFqEFkaIANByAFqEFkaIANBsAFqEFkaIANBmAFqEFkaIANBgAFqEFkaIANB6ABqEFkaIANB0ABqEFkaIANBOGoQWRogA0EgahBZGiADQYgGahBZGiADQfAFahBZGiADQdgFahBZGiADQcAFahBZGiADQagFahBZGiADQZAFahBZGiADQfgEahBZGiADQeAEahBZGiADQcgEahBZGiADQbAEahBZGiADQZgEahBZGiADQYAEahBZGiADQegDahBZGiADQdADahBZGiADQbgDahBZGiADQaADahBZGiADQaAGaiQADwsQACEBCyADQaADahCnAiABEAcAC9sFAQd/IwBBoAZrIgMkACADQaADaiABEIMDQdSJC0EANgIAQcwFIANBIGogAhADQdSJCygCACEBQdSJC0EANgIAAkAgAUEBRwRAQQAhAQJAAkACQAJAA0ACQCABQRhsIgQgA0GgA2pqIgIoAhBBAkYEQCADQSBqIARqIgQoAhBBAkYNAQtB1IkLQQA2AgBBDUGZsQVB5poDQZgCQaKuBRAFQdSJCygCACEHQdSJC0EANgIAIAdBAUYNAgALIAQtAAAhBSACLAAAIQQgA0ECNgIYIAMgBEEHdkH/AHMgBCAFaiIGIAQgBnMgBSAGc3HAQQBIG8A2AgggA0EIaiIEIAJHBEAgAhBZIQJB1IkLQQA2AgBBwAAgAiAEEAIaQdSJCygCACEIQdSJC0EANgIAIAhBAUYNAwsgA0EIahBZGiABQQFqIgFBEEcNAAtB1IkLQQA2AgBBxAUgACADQaADahACGkHUiQsoAgAhCUHUiQtBADYCACAJQQFHDQMQACEBDAILEAAhAQwBCxAAIQEgA0EIahBZGgsgA0EgahCnAgwCCyADQYgDahBZGiADQfACahBZGiADQdgCahBZGiADQcACahBZGiADQagCahBZGiADQZACahBZGiADQfgBahBZGiADQeABahBZGiADQcgBahBZGiADQbABahBZGiADQZgBahBZGiADQYABahBZGiADQegAahBZGiADQdAAahBZGiADQThqEFkaIANBIGoQWRogA0GIBmoQWRogA0HwBWoQWRogA0HYBWoQWRogA0HABWoQWRogA0GoBWoQWRogA0GQBWoQWRogA0H4BGoQWRogA0HgBGoQWRogA0HIBGoQWRogA0GwBGoQWRogA0GYBGoQWRogA0GABGoQWRogA0HoA2oQWRogA0HQA2oQWRogA0G4A2oQWRogA0GgA2oQWRogA0GgBmokAA8LEAAhAQsgA0GgA2oQpwIgARAHAAv8EAFAfyMAQaAGayIDJAAgA0GgA2oiBCABEIMDQdSJC0EANgIAQcwFIANBIGoiASACEANB1IkLKAIAIQJB1IkLQQA2AgACQCACQQFHBEBB1IkLQQA2AgBBlQQgA0EIaiICIAQgARAIQdSJCygCACEBQdSJC0EANgIAAkACQAJAAkAgAUEBRg0AIAQQWSEBQdSJC0EA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A0EgahBZGgwFCyAFEFkaIAkQWRogBxBZGiACEFkaIANBsAFqJAAPC0H9nAVB6aQCQYMNQenUARABAAtB1IkLQQA2AgBBFEHvhARB6aQCQbwLEAgMAQtB1IkLQQA2AgBBDUHhzQZBn58DQcMBQfPnBBAFC0HUiQsoAgAhFUHUiQtBADYCACAVQQFHDQIQACECCyAFEFkaIAkQWRoLIAgQWRogARBZGiACEAcACwALogoCE38CfiMAQbABayIDJAACQAJAAkACQAJAAkAgASgCEEEGRgRAIAEpAwghFiABKQMAIRcgA0EANgJ4IANCADcDcCADQgA3A4gBIANBADYCkAEgA0IANwNoIANCADcDgAEgA0EDNgJIIAMgFzcDOCADQegAahBZIQlB1IkLQQA2AgBBwAAgCSADQThqIggQAiEBQdSJCygCACEEQdSJC0EANgIAIANBgAFqIQUCQCAEQQFHBEAgCBBZIgQgFjcDACADQQM2AkggBRBZIQhB1IkLQQA2AgBBwAAgCCAEEAIhCEHUiQsoAgAhDEHUiQtBADYCACAMQQFHDQELEAAhDSADQThqEFkaIAUQWRogCRBZGiANEAcACyAEEFkaAkACQCACKAIQQQZHBEBB1IkLQQA2AgBBDUH9nAVB6aQCQYMNQenUARAFQdSJCygCACEOQdSJC0EANgIAIA5BAUYNAQwJCyACKQMIIRYgAikDACEXIANBADYCSCADQUBrQgA3AwAgA0IANwNYIANBADYCYCADQgA3AzggA0IANwNQIANBAzYCqAEgAyAXNwOYASADQThqEFkhBEHUiQtBADYCAEHAACAEIANBmAFqIgIQAiEJQdSJCygCACEPQdSJC0EANgIAIANB0ABqIQYgD0EBRwRAIAIQWSICIBY3AwAgA0EDNgKoASAGEFkhBUHUiQtBADYCAEHAACAFIAIQAiEFQdSJCygCACEQQdSJC0EANgIAIBBBAUcNAgsQACECIANBmAFqEFkaIAYQWRogBBBZGgwHCxAAIQIMBgsgAhBZGiABKAIQIgJBB08NAgJ/AkACQCACQQJrDgIBAAQLIAEpAwAgCSkDAFMMAQsgASgCACAJKAIASAshAiADQQI2AjAgAyACNgIgQdSJC0EANgIAIANBAjYCGCADQQE2AghBrwUgA0EgaiIKIANBCGoiBhACIQJB1IkL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AWoQWRogA0HoAGoQWRogA0HQAGoQWRogBBBZGiAHEFkaIAkQWRogARBZGiADQZACaiQADwsQACEBDAULQdSJC0EANgIAQRRB74QEQemkAkGbCxAIQdSJCygCACETQdSJC0EANgIAIBNBAUcNAQwCC0HUiQtBADYCAEENQeHNBkGfnwNBwwFB8+cEEAVB1IkLKAIAIRRB1IkLQQA2AgAgFEEBRg0BCwALEAAhAQsgA0GYAWoQWRogA0GAAWoQWRogA0HoAGoQWRogA0HQAGoQWRoLIANB+AFqEFkaIANB4AFqEFkaIANByAFqEFkaIANBsAFqEFkaIAEQBwALwgoBEn8jAEGQAmsiAyQAIANBsAFqIAEQzAJB1IkLQQA2AgBB0AUgA0HQAGogAhADQdSJCygCACEBQdSJC0EANgIAAkACQAJAAkACQAJAIAFBAUcEQCADKALAASIBQQdPDQICfwJAAkAgAUECaw4CAQAECyADKQOwASADKQNQVgwBCyADKAKwASADKAJQSwshASADQQI2AjAgAyABNgIgQdSJC0EANgIAIANBAjYCGCADQQE2AghBrwUgA0EgaiIFIANBCGoiBhACIQFB1IkLKAIAIQJB1IkLQQA2AgACQAJAAkACQCACQQFGDQAgA0ECNgJIIANBACABazYCOCADQbABahBZIQFB1IkLQQA2AgBBwAAgASADQThqIgIQAiEBQdSJCygCACELQdSJC0EANgIAIAtBAUYNASACEFkhAiAGEFkhBiAFEFkhBSABKAIoIglBBksNBiABQRhqIQQgBQJ/AkACQCAJQQJrDgIBAAgLIAQpAwAgAykDaFYMAQsgBCgCACADKAJoSws2AgAgA0ECNgIwIAZBATYCAEHUiQtBADYCACADQQI2AhhBrwUgBSAGEAIhCUHUiQsoAgAhDEHUiQtBADYCACAMQQFGDQAgAkEAIAlrNgIAIANBAjYCSCAEEFkhBEHUiQtBADYCAEHAACAEIAIQAiEJQdSJCygCACENQdSJC0EANgIAIA1BAUYNASACEFkhAiAGEFkhBiAFEFkhBSABQUBrKAIAIgdBBksNBiABQTBqIQQgBQJ/AkACQCAHQQJrDgIBAAgLIAQpAwAgAykDgAFWDAELIAQoAgAgAygCgAFLCzYCACADQQI2AjAgBkEBNgIAQdSJC0EANgIAIANB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1IkLQQA2AgBBFEHvhARB6aQCQegLEAhB1IkLKAIAIQdB1IkLQQA2AgAgB0EBRw0LCxAAIQEMBgsgASgCACAEKAIATwshBCADQQI2AjAgAyAENgIgQdSJC0EANgIAIANBAjYCGCADQQE2AghBrwUgA0EgaiADQQhqEAIhBEHUiQsoAgAhCEHUiQtBADYCACAIQQFGDQEgA0ECNgJIIANBACAEazYCOCADQThqIgQgAUcEQCABEFkhAUHUiQtBADYCAEHAACABIAQQAhpB1IkLKAIAIQlB1IkLQQA2AgAgCUEBRg0DCyADQThqEFkaIANBCGoQWRogA0EgahBZGiACQQFqIgJBCEcNAAtB1IkLQQA2AgBBxQUgACADQZACahACGkHUiQsoAgAhCkHUiQtBADYCACAKQQFHDQQQACEBDAMLEAAhAQwBCxAAIQEgA0E4ahBZGgsgA0EIahBZGiADQSBqEFkaCyADQdAAahDwAQwCCyADQfgBahBZGiADQeABahBZGiADQcgBahBZGiADQbABahBZGiADQZgBahBZGiADQYABahBZGiADQegAahBZGiADQdAAahBZGiADQbgDahBZGiADQaADahBZGiADQYgDahBZGiADQfACahBZGiADQdgCahBZGiADQcACahBZGiADQagCahBZGiADQZACahBZGiADQdADaiQADwsQACEBCyADQZACahDwASABEAcACwAL/gUBCH8jAEHQA2siAyQAIANBkAJqIAEQnANB1IkLQQA2AgBBzwUgA0HQAGogAhADQdSJCygCACEBQdSJC0EANgIAAkACQCABQQFHBEBBACECAkACQAJAAkACQANAAn8CQAJAIAJBGGwiBCADQZACamoiASgCECIFQQdPBEBB1IkLQQA2AgBBDUHhzQZBn58DQcMBQfPnBBAFQdSJCygCACEGQdSJC0EANgIAIAZBAUYNAQwMCyADQdAAaiAEaiEEAkACQCAFQQJrDgIDAAELIAEpAwAgBCkDAFkMAwtB1IkLQQA2AgBBFEHvhARB6aQCQd0LEAhB1IkLKAIAIQdB1IkLQQA2AgAgB0EBRw0LCxAAIQEMBgsgASgCACAEKAIATgshBCADQQI2AjAgAyAENgIgQdSJC0EANgIAIANBAjYCGCADQQE2AghBrwUgA0EgaiADQQhqEAIhBEHUiQsoAgAhCEHUiQtBADYCACAIQQFGDQEgA0ECNgJIIANBACAEazYCOCADQThqIgQgAUcEQCABEFkhAUHUiQtBADYCAEHAACABIAQQAhpB1IkLKAIAIQlB1IkLQQA2AgAgCUEBRg0DCyADQThqEFkaIANBCGoQWRogA0EgahBZGiACQQFqIgJBCEcNAAtB1IkLQQA2AgBBxQUgACADQZACahACGkHUiQsoAgAhCkHUiQtBADYCACAKQQFHDQQQACEBDAMLEAAhAQwBCxAAIQEgA0E4ahBZGgsgA0EIahBZGiADQSBqEFkaCyADQdAAahDwAQwCCyADQfgBahBZGiADQeABahBZGiADQcgBahBZGiADQbABahBZGiADQZgBahBZGiADQYABahBZGiADQegAahBZGiADQdAAahBZGiADQbgDahBZGiADQaADahBZGiADQYgDahBZGiADQfACahBZGiADQdgCahBZGiADQcACahBZGiADQagCahBZGiADQZACahBZGiADQdADaiQADwsQACEBCyADQZACahDwASABEAcACwAL/gUBCH8jAEHQA2siAyQAIANBkAJqIAEQiQNB1IkLQQA2AgBBzgUgA0HQAGogAhADQdSJCygCACEBQdSJC0EANgIAAkACQCABQQFHBEBBACECAkACQAJAAkACQANAAn8CQAJAIAJBGGwiBCADQZACamoiASgCECIFQQdPBEBB1IkLQQA2AgBBDUHhzQZBn58DQcMBQfPnBBAFQdSJCygCACEGQdSJC0EANgIAIAZBAUYNAQwMCyADQdAAaiAEaiEEAkACQCAFQQJrDgIDAAELIAEpAwAgBCkDAFgMAwtB1IkLQQA2AgBBFEHvhARB6aQCQaYLEAhB1IkLKAIAIQdB1IkLQQA2AgAgB0EBRw0LCxAAIQEMBgsgASgCACAEKAIATQshBCADQQI2AjAgAyAENgIgQdSJC0EANgIAIANBAjYCGCADQQE2AghBrwUgA0EgaiADQQhqEAIhBEHUiQsoAgAhCEHUiQtBADYCACAIQQFGDQEgA0ECNgJIIANBACAEazYCOCADQThqIgQgAUcEQCABEFkhAUHUiQtBADYCAEHAACABIAQQAhpB1IkLKAIAIQlB1IkLQQA2AgAgCUEBRg0DCyADQThqEFkaIANBCGoQWRogA0EgahBZGiACQQFqIgJBCEcNAAtB1IkLQQA2AgBBxQUgACADQZACahACGkHUiQsoAgAhCkHUiQtBADYCACAKQQFHDQQQACEBDAMLEAAhAQwBCxAAIQEgA0E4ahBZGgsgA0EIahBZGiADQSBqEFkaCyADQdAAahDwAQwCCyADQfgBahBZGiADQeABahBZGiADQcgBahBZGiADQbABahBZGiADQZgBahBZGiADQYABahBZGiADQegAahBZGiADQdAAahBZGiADQbgDahBZGiADQaADahBZGiADQYgDahBZGiADQfACahBZGiADQdgCahBZGiADQcACahBZGiADQagCahBZGiADQZACahBZGiADQdADaiQADwsQACEBCyADQZACahDwASABEAcACwAL/gUBCH8jAEHQA2siAyQAIANBkAJqIAEQnANB1IkLQQA2AgBBzwUgA0HQAGogAhADQdSJCygCACEBQdSJC0EANgIAAkACQCABQQFHBEBBACECAkACQAJAAkACQANAAn8CQAJAIAJBGGwiBCADQZACamoiASgCECIFQQdPBEBB1IkLQQA2AgBBDUHhzQZBn58DQcMBQfPnBBAFQdSJCygCACEGQdSJC0EANgIAIAZBAUYNAQwMCyADQdAAaiAEaiEEAkACQCAFQQJrDgIDAAELIAEpAwAgBCkDAFcMAwtB1IkLQQA2AgBBFEHvhARB6aQCQZsLEAhB1IkLKAIAIQdB1IkLQQA2AgAgB0EBRw0LCxAAIQEMBgsgASgCACAEKAIATAshBCADQQI2AjAgAyAENgIgQdSJC0EANgIAIANBAjYCGCADQQE2AghBrwUgA0EgaiADQQhqEAIhBEHUiQsoAgAhCEHUiQtBADYCACAIQQFGDQEgA0ECNgJIIANBACAEazYCOCADQThqIgQgAUcEQCABEFkhAUHUiQtBADYCAEHAACABIAQQAhpB1IkLKAIAIQlB1IkLQQA2AgAgCUEBRg0DCyADQThqEFkaIANBCGoQWRogA0EgahBZGiACQQFqIgJBCEcNAAtB1IkLQQA2AgBBxQUgACADQZACahACGkHUiQsoAgAhCkHUiQtBADYCACAKQQFHDQQQACEBDAMLEAAhAQwBCxAAIQEgA0E4ahBZGgsgA0EIahBZGiADQSBqEFkaCyADQdAAahDwAQwCCyADQfgBahBZGiADQeABahBZGiADQcgBahBZGiADQbABahBZGiADQZgBahBZGiADQYABahBZGiADQegAahBZGiADQdAAahBZGiADQbgDahBZGiADQaADahBZGiADQYgDahBZGiADQfACahBZGiADQdgCahBZGiADQcACahBZGiADQagCahBZGiADQZACahBZGiADQdADaiQADwsQACEBCyADQZACahDwASABEAcACwAL/gUBCH8jAEHQA2siAyQAIANBkAJqIAEQiQNB1IkLQQA2AgBBzgUgA0HQAGogAhADQdSJCygCACEBQdSJC0EANgIAAkACQCABQQFHBEBBACECAkACQAJAAkACQANAAn8CQAJAIAJBGGwiBCADQZACamoiASgCECIFQQdPBEBB1IkLQQA2AgBBDUHhzQZBn58DQcMBQfPnBBAFQdSJCygCACEGQdSJC0EANgIAIAZBAUYNAQwMCyADQdAAaiAEaiEEAkACQCAFQQJrDgIDAAELIAEpAwAgBCkDAFYMAwtB1IkLQQA2AgBBFEHvhARB6aQCQccLEAhB1IkLKAIAIQdB1IkLQQA2AgAgB0EBRw0LCxAAIQEMBgsgASgCACAEKAIASwshBCADQQI2AjAgAyAENgIgQdSJC0EANgIAIANBAjYCGCADQQE2AghBrwUgA0EgaiADQQhqEAIhBEHUiQsoAgAhCEHUiQtBADYCACAIQQFGDQEgA0ECNgJIIANBACAEazYCOCADQThqIgQgAUcEQCABEFkhAUHUiQtBADYCAEHAACABIAQQAhpB1IkLKAIAIQlB1IkLQQA2AgAgCUEBRg0DCyADQThqEFkaIANBCGoQWRogA0EgahBZGiACQQFqIgJBCEcNAAtB1IkLQQA2AgBBxQUgACADQZACahACGkHUiQsoAgAhCkHUiQtBADYCACAKQQFHDQQQACEBDAMLEAAhAQwBCxAAIQEgA0E4ahBZGgsgA0EIahBZGiADQSBqEFkaCyADQdAAahDwAQwCCyADQfgBahBZGiADQeABahBZGiADQcgBahBZGiADQbABahBZGiADQZgBahBZGiADQYABahBZGiADQegAahBZGiADQdAAahBZGiADQbgDahBZGiADQaADahBZGiADQYgDahBZGiADQfACahBZGiADQdgCahBZGiADQcACahBZGiADQagCahBZGiADQZACahBZGiADQdADaiQADwsQACEBCyADQZACahDwASABEAcACwAL/gUBCH8jAEHQA2siAyQAIANBkAJqIAEQnANB1IkLQQA2AgBBzwUgA0HQAGogAhADQdSJCygCACEBQdSJC0EANgIAAkACQCABQQFHBEBBACECAkACQAJAAkACQANAAn8CQAJAIAJBGGwiBCADQZACamoiASgCECIFQQdPBEBB1IkLQQA2AgBBDUHhzQZBn58DQcMBQfPnBBAFQdSJCygCACEGQdSJC0EANgIAIAZBAUYNAQwMCyADQdAAaiAEaiEEAkACQCAFQQJrDgIDAAELIAEpAwAgBCkDAFUMAwtB1IkLQQA2AgBBFEHvhARB6aQCQbwLEAhB1IkLKAIAIQdB1IkLQQA2AgAgB0EBRw0LCxAAIQEMBgsgASgCACAEKAIASgshBCADQQI2AjAgAyAENgIgQdSJC0EANgIAIANBAjYCGCADQQE2AghBrwUgA0EgaiADQQhqEAIhBEHUiQsoAgAhCEHUiQtBADYCACAIQQFGDQEgA0ECNgJIIANBACAEazYCOCADQThqIgQgAUcEQCABEFkhAUHUiQtBADYCAEHAACABIAQQAhpB1IkLKAIAIQlB1IkLQQA2AgAgCUEBRg0DCyADQThqEFkaIANBCGoQWRogA0EgahBZGiACQQFqIgJBCEcNAAtB1IkLQQA2AgBBxQUgACADQZACahACGkHUiQsoAgAhCkHUiQtBADYCACAKQQFHDQQQACEBDAMLEAAhAQwBCxAAIQEgA0E4ahBZGgsgA0EIahBZGiADQSBqEFkaCyADQdAAahDwAQwCCyADQfgBahBZGiADQeABahBZGiADQcgBahBZGiADQbABahBZGiADQZgBahBZGiADQYABahBZGiADQegAahBZGiADQdAAahBZGiADQbgDahBZGiADQaADahBZGiADQYgDahBZGiADQfACahBZGiADQdgCahBZGiADQcACahBZGiADQagCahBZGiADQZACahBZGiADQdADaiQADwsQACEBCyADQZACahDwASABEAcACwAL/gUBCH8jAEHQA2siAyQAIANBkAJqIAEQiQNB1IkLQQA2AgBBzgUgA0HQAGogAhADQdSJCygCACEBQdSJC0EANgIAAkACQCABQQFHBEBBACECAkACQAJAAkACQANAAn8CQAJAIAJBGGwiBCADQZACamoiASgCECIFQQdPBEBB1IkLQQA2AgBBDUHhzQZBn58DQcMBQfPnBBAFQdSJCygCACEGQdSJC0EANgIAIAZBAUYNAQwMCyADQdAAaiAEaiEEAkACQCAFQQJrDgIDAAELIAEpAwAgBCkDAFQMAwtB1IkLQQA2AgBBFEHvhARB6aQCQYULEAhB1IkLKAIAIQdB1IkLQQA2AgAgB0EBRw0LCxAAIQEMBgsgASgCACAEKAIASQshBCADQQI2AjAgAyAENgIgQdSJC0EANgIAIANBAjYCGCADQQE2AghBrwUgA0EgaiADQQhqEAIhBEHUiQsoAgAhCEHUiQtBADYCACAIQQFGDQEgA0ECNgJIIANBACAEazYCOCADQThqIgQgAUcEQCABEFkhAUHUiQtBADYCAEHAACABIAQQAhpB1IkLKAIAIQlB1IkLQQA2AgAgCUEBRg0DCyADQThqEFkaIANBCGoQWRogA0EgahBZGiACQQFqIgJBCEcNAAtB1IkLQQA2AgBBxQUgACADQZACahACGkHUiQsoAgAhCkHUiQtBADYCACAKQQFHDQQQACEBDAMLEAAhAQwBCxAAIQEgA0E4ahBZGgsgA0EIahBZGiADQSBqEFkaCyADQdAAahDwAQwCCyADQfgBahBZGiADQeABahBZGiADQcgBahBZGiADQbABahBZGiADQZgBahBZGiADQYABahBZGiADQegAahBZGiADQdAAahBZGiADQbgDahBZGiADQaADahBZGiADQYgDahBZGiADQfACahBZGiADQdgCahBZGiADQcACahBZGiADQagCahBZGiADQZACahBZGiADQdADaiQADwsQACEBCyADQZACahDwASABEAcACwAL/gUBCH8jAEHQA2siAyQAIANBkAJqIAEQnANB1IkLQQA2AgBBzwUgA0HQAGogAhADQdSJCygCACEBQdSJC0EANgIAAkACQCABQQFHBEBBACECAkACQAJAAkACQANAAn8CQAJAIAJBGGwiBCADQZACamoiASgCECIFQQdPBEBB1IkLQQA2AgBBDUHhzQZBn58DQcMBQfPnBBAFQdSJCygCACEGQdSJC0EANgIAIAZBAUYNAQwMCyADQdAAaiAEaiEEAkACQCAFQQJrDgIDAAELIAEpAwAgBCkDAFMMAwtB1IkLQQA2AgBBFEHvhARB6aQCQfoKEAhB1IkLKAIAIQdB1IkLQQA2AgAgB0EBRw0LCxAAIQEMBgsgASgCACAEKAIASAshBCADQQI2AjAgAyAENgIgQdSJC0EANgIAIANBAjYCGCADQQE2AghBrwUgA0EgaiADQQhqEAIhBEHUiQsoAgAhCEHUiQtBADYCACAIQQFGDQEgA0ECNgJIIANBACAEazYCOCADQThqIgQgAUcEQCABEFkhAUHUiQtBADYCAEHAACABIAQQAhpB1IkLKAIAIQlB1IkLQQA2AgAgCUEBRg0DCyADQThqEFkaIANBCGoQWRogA0EgahBZGiACQQFqIgJBCEcNAAtB1IkLQQA2AgBBxQUgACADQZACahACGkHUiQsoAgAhCkHUiQtBADYCACAKQQFHDQQQACEBDAMLEAAhAQwBCxAAIQEgA0E4ahBZGgsgA0EIahBZGiADQSBqEFkaCyADQdAAahDwAQwCCyADQfgBahBZGiADQeABahBZGiADQcgBahBZGiADQbABahBZGiADQZgBahBZGiADQYABahBZGiADQegAahBZGiADQdAAahBZGiADQbgDahBZGiADQaADahBZGiADQYgDahBZGiADQfACahBZGiADQdgCahBZGiADQcACahBZGiADQagCahBZGiADQZACahBZGiADQdADaiQADwsQACEBCyADQZACahDwASABEAcACwALhA8BK38jAEHQA2siAyQAIANBkAJqIgQgARCJA0HUiQtBADYCAEHOBSADQdAAaiIBIAIQA0HUiQsoAgAhAkHUiQtBADYCAAJAIAJBAUcEQEHUiQtBADYCAEGnBCADQSBqIgUgBCABEAhB1IkLKAIAIQFB1IkLQQA2AgACQAJAAkACQAJAAkAgAUEBRg0AIANBAjYCGEHUiQtBADYCACADQQE2AghBrwUgBSADQQhqIgwQAiEBQdSJCygCACEWQdSJC0EANgIAIBZBAUYNASADQQI2AkggA0EAIAFrNgI4IAQQWSEBQdSJC0EANgIAQcAAIAEgA0E4aiICEAIhAUHUiQsoAgAhF0HUiQtBADYCACAXQQFGDQIgAhBZIQIgDBBZIQQgBRBZIQVB1IkLQQA2AgBBpwQgBSABQRhqIgwgA0HoAGoiFBAIQdSJCygCACEYQdSJC0EANgIAIBhBAUYNACAEQQE2AgBB1IkLQQA2AgAgA0ECNgIYQa8F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1IkLQQA2AgBBDUHhzQZBn58DQcMBQfPnBBAFQdSJCygCACEGQdSJC0EANgIAIAZBAUYNAQwMCyADQdAAaiAEaiEEAkACQCAFQQJrDgIDAAELIAEpAwAgBCkDAFoMAwtB1IkLQQA2AgBBFEHvhARB6aQCQegLEAhB1IkLKAIAIQdB1IkLQQA2AgAgB0EBRw0LCxAAIQEMBgsgASgCACAEKAIATwshBCADQQI2AjAgAyAENgIgQdSJC0EANgIAIANBAjYCGCADQQE2AghBrwUgA0EgaiADQQhqEAIhBEHUiQsoAgAhCEHUiQtBADYCACAIQQFGDQEgA0ECNgJIIANBACAEazYCOCADQThqIgQgAUcEQCABEFkhAUHUiQtBADYCAEHAACABIAQQAhpB1IkLKAIAIQlB1IkLQQA2AgAgCUEBRg0DCyADQThqEFkaIANBCGoQWRogA0EgahBZGiACQQFqIgJBEEcNAAtB1IkLQQA2AgBBxAUgACADQdADahACGkHUiQsoAgAhCkHUiQtBADYCACAKQQFHDQQQACEBDAMLEAAhAQwBCxAAIQEgA0E4ahBZGgsgA0EIahBZGiADQSBqEFkaCyADQdAAahCnAgwCCyADQbgDahBZGiADQaADahBZGiADQYgDahBZGiADQfACahBZGiADQdgCahBZGiADQcACahBZGiADQagCahBZGiADQZACahBZGiADQfgBahBZGiADQeABahBZGiADQcgBahBZGiADQbABahBZGiADQZgBahBZGiADQYABahBZGiADQegAahBZGiADQdAAahBZGiADQbgGahBZGiADQaAGahBZGiADQYgGahBZGiADQfAFahBZGiADQdgFahBZGiADQcAFahBZGiADQagFahBZGiADQZAFahBZGiADQfgEahBZGiADQeAEahBZGiADQcgEahBZGiADQbAEahBZGiADQZgEahBZGiADQYAEahBZGiADQegDahBZGiADQdADahBZGiADQdAGaiQADwsQACEBCyADQdADahCnAiABEAcACwALjgcBCH8jAEHQBmsiAyQAIANB0ANqIAEQrwNB1IkLQQA2AgBBzQUgA0HQAGogAhADQdSJCygCACEBQdSJC0EANgIAAkACQCABQQFHBEBBACECAkACQAJAAkACQANAAn8CQAJAIAJBGGwiBCADQdADamoiASgCECIFQQdPBEBB1IkLQQA2AgBBDUHhzQZBn58DQcMBQfPnBBAFQdSJCygCACEGQdSJC0EANgIAIAZBAUYNAQwMCyADQdAAaiAEaiEEAkACQCAFQQJrDgIDAAELIAEpAwAgBCkDAFkMAwtB1IkLQQA2AgBBFEHvhARB6aQCQd0LEAhB1IkLKAIAIQdB1IkLQQA2AgAgB0EBRw0LCxAAIQEMBgsgASgCACAEKAIATgshBCADQQI2AjAgAyAENgIgQdSJC0EANgIAIANBAjYCGCADQQE2AghBrwUgA0EgaiADQQhqEAIhBEHUiQsoAgAhCEHUiQtBADYCACAIQQFGDQEgA0ECNgJIIANBACAEazYCOCADQThqIgQgAUcEQCABEFkhAUHUiQtBADYCAEHAACABIAQQAhpB1IkLKAIAIQlB1IkLQQA2AgAgCUEBRg0DCyADQThqEFkaIANBCGoQWRogA0EgahBZGiACQQFqIgJBEEcNAAtB1IkLQQA2AgBBxAUgACADQdADahACGkHUiQsoAgAhCkHUiQtBADYCACAKQQFHDQQQACEBDAMLEAAhAQwBCxAAIQEgA0E4ahBZGgsgA0EIahBZGiADQSBqEFkaCyADQdAAahCnAgwCCyADQbgDahBZGiADQaADahBZGiADQYgDahBZGiADQfACahBZGiADQdgCahBZGiADQcACahBZGiADQagCahBZGiADQZACahBZGiADQfgBahBZGiADQeABahBZGiADQcgBahBZGiADQbABahBZGiADQZgBahBZGiADQYABahBZGiADQegAahBZGiADQdAAahBZGiADQbgGahBZGiADQaAGahBZGiADQYgGahBZGiADQfAFahBZGiADQdgFahBZGiADQcAFahBZGiADQagFahBZGiADQZAFahBZGiADQfgEahBZGiADQeAEahBZGiADQcgEahBZGiADQbAEahBZGiADQZgEahBZGiADQYAEahBZGiADQegDahBZGiADQdADahBZGiADQdAGaiQADwsQACEBCyADQdADahCnAiABEAcACwALjgcBCH8jAEHQBmsiAyQAIANB0ANqIAEQgwNB1IkLQQA2AgBBzAUgA0HQAGogAhADQdSJCygCACEBQdSJC0EANgIAAkACQCABQQFHBEBBACECAkACQAJAAkACQANAAn8CQAJAIAJBGGwiBCADQdADamoiASgCECIFQQdPBEBB1IkLQQA2AgBBDUHhzQZBn58DQcMBQfPnBBAFQdSJCygCACEGQdSJC0EANgIAIAZBAUYNAQwMCyADQdAAaiAEaiEEAkACQCAFQQJrDgIDAAELIAEpAwAgBCkDAFgMAwtB1IkLQQA2AgBBFEHvhARB6aQCQaYLEAhB1IkLKAIAIQdB1IkLQQA2AgAgB0EBRw0LCxAAIQEMBgsgASgCACAEKAIATQshBCADQQI2AjAgAyAENgIgQdSJC0EANgIAIANBAjYCGCADQQE2AghBrwUgA0EgaiADQQhqEAIhBEHUiQsoAgAhCEHUiQtBADYCACAIQQFGDQEgA0ECNgJIIANBACAEazYCOCADQThqIgQgAUcEQCABEFkhAUHUiQtBADYCAEHAACABIAQQAhpB1IkLKAIAIQlB1IkLQQA2AgAgCUEBRg0DCyADQThqEFkaIANBCGoQWRogA0EgahBZGiACQQFqIgJBEEcNAAtB1IkLQQA2AgBBxAUgACADQdADahACGkHUiQsoAgAhCkHUiQtBADYCACAKQQFHDQQQACEBDAMLEAAhAQwBCxAAIQEgA0E4ahBZGgsgA0EIahBZGiADQSBqEFkaCyADQdAAahCnAgwCCyADQbgDahBZGiADQaADahBZGiADQYgDahBZGiADQfACahBZGiADQdgCahBZGiADQcACahBZGiADQagCahBZGiADQZACahBZGiADQfgBahBZGiADQeABahBZGiADQcgBahBZGiADQbABahBZGiADQZgBahBZGiADQYABahBZGiADQegAahBZGiADQdAAahBZGiADQbgGahBZGiADQaAGahBZGiADQYgGahBZGiADQfAFahBZGiADQdgFahBZGiADQcAFahBZGiADQagFahBZGiADQZAFahBZGiADQfgEahBZGiADQeAEahBZGiADQcgEahBZGiADQbAEahBZGiADQZgEahBZGiADQYAEahBZGiADQegDahBZGiADQdADahBZGiADQdAGaiQADwsQACEBCyADQdADahCnAiABEAcACwALjgcBCH8jAEHQBmsiAyQAIANB0ANqIAEQrwNB1IkLQQA2AgBBzQUgA0HQAGogAhADQdSJCygCACEBQdSJC0EANgIAAkACQCABQQFHBEBBACECAkACQAJAAkACQANAAn8CQAJAIAJBGGwiBCADQdADamoiASgCECIFQQdPBEBB1IkLQQA2AgBBDUHhzQZBn58DQcMBQfPnBBAFQdSJCygCACEGQdSJC0EANgIAIAZBAUYNAQwMCyADQdAAaiAEaiEEAkACQCAFQQJrDgIDAAELIAEpAwAgBCkDAFcMAwtB1IkLQQA2AgBBFEHvhARB6aQCQZsLEAhB1IkLKAIAIQdB1IkLQQA2AgAgB0EBRw0LCxAAIQEMBgsgASgCACAEKAIATAshBCADQQI2AjAgAyAENgIgQdSJC0EANgIAIANBAjYCGCADQQE2AghBrwUgA0EgaiADQQhqEAIhBEHUiQsoAgAhCEHUiQtBADYCACAIQQFGDQEgA0ECNgJIIANBACAEazYCOCADQThqIgQgAUcEQCABEFkhAUHUiQtBADYCAEHAACABIAQQAhpB1IkLKAIAIQlB1IkLQQA2AgAgCUEBRg0DCyADQThqEFkaIANBCGoQWRogA0EgahBZGiACQQFqIgJBEEcNAAtB1IkLQQA2AgBBxAUgACADQdADahACGkHUiQsoAgAhCkHUiQtBADYCACAKQQFHDQQQACEBDAMLEAAhAQwBCxAAIQEgA0E4ahBZGgsgA0EIahBZGiADQSBqEFkaCyADQdAAahCnAgwCCyADQbgDahBZGiADQaADahBZGiADQYgDahBZGiADQfACahBZGiADQdgCahBZGiADQcACahBZGiADQagCahBZGiADQZACahBZGiADQfgBahBZGiADQeABahBZGiADQcgBahBZGiADQbABahBZGiADQZgBahBZGiADQYABahBZGiADQegAahBZGiADQdAAahBZGiADQbgGahBZGiADQaAGahBZGiADQYgGahBZGiADQfAFahBZGiADQdgFahBZGiADQcAFahBZGiADQagFahBZGiADQZAFahBZGiADQfgEahBZGiADQeAEahBZGiADQcgEahBZGiADQbAEahBZGiADQZgEahBZGiADQYAEahBZGiADQegDahBZGiADQdADahBZGiADQdAGaiQADwsQACEBCyADQdADahCnAiABEAcACwALjgcBCH8jAEHQBmsiAyQAIANB0ANqIAEQgwNB1IkLQQA2AgBBzAUgA0HQAGogAhADQdSJCygCACEBQdSJC0EANgIAAkACQCABQQFHBEBBACECAkACQAJAAkACQANAAn8CQAJAIAJBGGwiBCADQdADamoiASgCECIFQQdPBEBB1IkLQQA2AgBBDUHhzQZBn58DQcMBQfPnBBAFQdSJCygCACEGQdSJC0EANgIAIAZBAUYNAQwMCyADQdAAaiAEaiEEAkACQCAFQQJrDgIDAAELIAEpAwAgBCkDAFYMAwtB1IkLQQA2AgBBFEHvhARB6aQCQccLEAhB1IkLKAIAIQdB1IkLQQA2AgAgB0EBRw0LCxAAIQEMBgsgASgCACAEKAIASwshBCADQQI2AjAgAyAENgIgQdSJC0EANgIAIANBAjYCGCADQQE2AghBrwUgA0EgaiADQQhqEAIhBEHUiQsoAgAhCEHUiQtBADYCACAIQQFGDQEgA0ECNgJIIANBACAEazYCOCADQThqIgQgAUcEQCABEFkhAUHUiQtBADYCAEHAACABIAQQAhpB1IkLKAIAIQlB1IkLQQA2AgAgCUEBRg0DCyADQThqEFkaIANBCGoQWRogA0EgahBZGiACQQFqIgJBEEcNAAtB1IkLQQA2AgBBxAUgACADQdADahACGkHUiQsoAgAhCkHUiQtBADYCACAKQQFHDQQQACEBDAMLEAAhAQwBCxAAIQEgA0E4ahBZGgsgA0EIahBZGiADQSBqEFkaCyADQdAAahCnAgwCCyADQbgDahBZGiADQaADahBZGiADQYgDahBZGiADQfACahBZGiADQdgCahBZGiADQcACahBZGiADQagCahBZGiADQZACahBZGiADQfgBahBZGiADQeABahBZGiADQcgBahBZGiADQbABahBZGiADQZgBahBZGiADQYABahBZGiADQegAahBZGiADQdAAahBZGiADQbgGahBZGiADQaAGahBZGiADQYgGahBZGiADQfAFahBZGiADQdgFahBZGiADQcAFahBZGiADQagFahBZGiADQZAFahBZGiADQfgEahBZGiADQeAEahBZGiADQcgEahBZGiADQbAEahBZGiADQZgEahBZGiADQYAEahBZGiADQegDahBZGiADQdADahBZGiADQdAGaiQADwsQACEBCyADQdADahCnAiABEAcACwALjgcBCH8jAEHQBmsiAyQAIANB0ANqIAEQrwNB1IkLQQA2AgBBzQUgA0HQAGogAhADQdSJCygCACEBQdSJC0EANgIAAkACQCABQQFHBEBBACECAkACQAJAAkACQANAAn8CQAJAIAJBGGwiBCADQdADamoiASgCECIFQQdPBEBB1IkLQQA2AgBBDUHhzQZBn58DQcMBQfPnBBAFQdSJCygCACEGQdSJC0EANgIAIAZBAUYNAQwMCyADQdAAaiAEaiEEAkACQCAFQQJrDgIDAAELIAEpAwAgBCkDAFUMAwtB1IkLQQA2AgBBFEHvhARB6aQCQbwLEAhB1IkLKAIAIQdB1IkLQQA2AgAgB0EBRw0LCxAAIQEMBgsgASgCACAEKAIASgshBCADQQI2AjAgAyAENgIgQdSJC0EANgIAIANBAjYCGCADQQE2AghBrwUgA0EgaiADQQhqEAIhBEHUiQsoAgAhCEHUiQtBADYCACAIQQFGDQEgA0ECNgJIIANBACAEazYCOCADQThqIgQgAUcEQCABEFkhAUHUiQtBADYCAEHAACABIAQQAhpB1IkLKAIAIQlB1IkLQQA2AgAgCUEBRg0DCyADQThqEFkaIANBCGoQWRogA0EgahBZGiACQQFqIgJBEEcNAAtB1IkLQQA2AgBBxAUgACADQdADahACGkHUiQsoAgAhCkHUiQtBADYCACAKQQFHDQQQACEBDAMLEAAhAQwBCxAAIQEgA0E4ahBZGgsgA0EIahBZGiADQSBqEFkaCyADQdAAahCnAgwCCyADQbgDahBZGiADQaADahBZGiADQYgDahBZGiADQfACahBZGiADQdgCahBZGiADQcACahBZGiADQagCahBZGiADQZACahBZGiADQfgBahBZGiADQeABahBZGiADQcgBahBZGiADQbABahBZGiADQZgBahBZGiADQYABahBZGiADQegAahBZGiADQdAAahBZGiADQbgGahBZGiADQaAGahBZGiADQYgGahBZGiADQfAFahBZGiADQdgFahBZGiADQcAFahBZGiADQagFahBZGiADQZAFahBZGiADQfgEahBZGiADQeAEahBZGiADQcgEahBZGiADQbAEahBZGiADQZgEahBZGiADQYAEahBZGiADQegDahBZGiADQdADahBZGiADQdAGaiQADwsQACEBCyADQdADahCnAiABEAcACwAL8AEBA38jAEEgayIEJAAgAEGoAWpBEEEEEF0iACACNgIMIABCwwA3AgAgACADNgIIAkACQCAB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IANByARqEFkaIANBsARqEFkaIANBmARqEFkaIANBgARqEFkaIANB6ANqEFkaIANB0ANqEFkaIANB0AZqJAAPCxAAIQELIANB0ANqEKcCIAEQBwALggYBB38jAEHQBmsiAyQAIANB0ANqIAEQgwNB1IkLQQA2AgBBzAUgA0HQAGogAhADQdSJCygCACEBQdSJC0EANgIAAkAgAUEBRwRAQQAhAQJAAkACQAJAAkACQANAQdSJC0EANgIAQaYEIANBIGoiBCABQRhsIgUgA0HQA2pqIgIgA0HQAGogBWoQCEHUiQsoAgAhBkHUiQtBADYCACAGQQFGDQEgA0ECNgIYQdSJC0EANgIAIANBATYCCEGvBSAEIANBCGoQAiEEQdSJCygCACEHQdSJC0EANgIAIAdBAUYNAiADQQI2AkggA0EAIARrNgI4IANBOGoiBCACRwRAIAIQWSECQdSJC0EANgIAQcAAIAIgBBACGkHUiQsoAgAhCEHUiQtBADYCACAIQQFGDQQLIANBOGoQWRogA0EIahBZGiADQSBqEFkaIAFBAWoiAUEQRw0AC0HUiQtBADYCAEHEBSAAIANB0ANqEAIaQdSJCygCACEJQdSJC0EANgIAIAlBAUcNBRAAIQEMBAsQACEBDAMLEAAhAQwBCxAAIQEgA0E4ahBZGgsgA0EIahBZGiADQSBqEFkaCyADQdAAahCnAgwCCyADQbgDahBZGiADQaADahBZGiADQYgDahBZGiADQfACahBZGiADQdgCahBZGiADQcACahBZGiADQagCahBZGiADQZACahBZGiADQfgBahBZGiADQeABahBZGiADQcgBahBZGiADQbABahBZGiADQZgBahBZGiADQYABahBZGiADQegAahBZGiADQdAAahBZGiADQbgGahBZGiADQaAGahBZGiADQYgGahBZGiADQfAFahBZGiADQdgFahBZGiADQcAFahBZGiADQagFahBZGiADQZAFahBZGiADQfgEahBZGiADQeAEahBZGiADQcgEahBZGiADQbAEahBZGiADQZgEahBZGiADQYAEahBZGiADQegDahBZGiADQdADahBZGiADQdAGaiQADwsQACEBCyADQdADahCnAiABEAcAC6gEAwJ/An0CfCMAQSBrIgMkAAJAAkAgASgCECIEQQdJBEACQAJAAkACQAJA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AUECRw0CIAEgAi4BmAE2AgAgAkECNgIYIAgQWSEDQdSJC0EANgIAQcAAIAMgARACIQNB1IkLKAIAIQtB1IkLQQA2AgAgC0EBRg0AIAEQWSEBIAIoAsABQQJHDQIgASACLgGwATYCACACQQI2AhggBxBZIQRB1IkLQQA2AgBBwAAgBCABEAIhBEHUiQsoAgAhDEHUiQtBADYCACAMQQFGDQAgARBZIQEgAigC2AFBAkcNAiABIAIuAcgBNgIAIAJBAjYCGCAGEFkhBUHUiQtBADYCAEHAACAFIAEQAiEFQdSJCygCACENQdSJC0EANgIAIA1BAUYNACABEFkaQdSJC0EANgIAQcYFIAAgCRACGkHUiQsoAgAhDkHUiQtBADYCACAOQQFHDQEQACEBDAMLEAAhASACQQhqEFkaDAILIAUQWRogBBBZGiADEFkaIAkQWRogAkGoAmoQWRogAkGQAmoQWRogAkH4AWoQWRogAkHgAWoQWRogAkHIAWoQWRogAkGwAWoQWRogAkGYAWoQWRogAkGAAWoQWRogAkHAAmokAA8LQdSJC0EANgIAQQ1BmbEFQeaaA0GYAkGirgUQBUHUiQsoAgAhD0HUiQtBADYCACAPQQFHBEAACxAAIQELIAYQWRogBxBZGiAIEFkaIAJBIGoQWRogAkGAAWoQ8AEgARAHAAuACgETfyMAQeAEayICJAAgAkHgAWogARCDAyACQQA2AjAgAkIANwMoIAJBQGtCADcDACACQQA2AkggAkIANwNYIAJBADYCYCACQgA3A3AgAkEANgJ4IAJCADcDiAEgAkEANgKQASACQgA3A6ABIAJBADYCqAEgAkIANwMgIAJCADcDOCACQgA3A1AgAkIANwNoIAJCADcDgAEgAkIANwOYASACQQA2AsABIAJCADcDuAEgAkIANwPQASACQQA2AtgBIAJCADcDsAEgAkIANwPIAQJAAkAgAigCsANBAkcNACACQQI2AhggAiACLQCgAzYCCCACQSBqEFkhAUHUiQtBADYCAEHAACABIAJBCGoiARACIQpB1IkLKAIAIQNB1IkLQQA2AgACQAJAIANBAUYNACABEFkhASACKALIA0ECRw0CIAEgAi0AuAM2AgAgAkECNgIYIAJBOGoQWSEDQdSJC0EANgIAQcAAIAMgARACIQNB1IkLKAIAIQxB1IkLQQA2AgAgDEEBRg0AIAEQWSEBIAIoAuADQQJHDQIgASACLQDQAzYCACACQQI2AhggAkHQAGoQWSEEQdSJC0EANgIAQcAAIAQgARACIQRB1IkLKAIAIQ1B1IkLQQA2AgAgDUEBRg0AIAEQWSEBIAIoAvgDQQJHDQIgASACLQDoAzYCACACQQI2AhggAkHoAGoQWSEFQdSJC0EANgIAQcAAIAUgARACIQVB1IkLKAIAIQ5B1IkLQQA2AgAgDkEBRg0AIAEQWSEBIAIoApAEQQJHDQIgASACLQCABDYCACACQQI2AhggAkGAAWoQWSEGQdSJC0EANgIAQcAAIAYgARACIQZB1IkLKAIAIQ9B1IkLQQA2AgAgD0EBRg0AIAEQWSEBIAIoAqgEQQJHDQIgASACLQCYBDYCACACQQI2AhggAkGYAWoQWSEHQdSJC0EANgIAQcAAIAcgARACIQdB1IkLKAIAIRBB1IkLQQA2AgAgEEEBRg0AIAEQWSEBIAIoAsAEQQJHDQIgASACLQCwBDYCACACQQI2AhggAkGwAWoQWSEIQdSJC0EANgIAQcAAIAggARACIQhB1IkLKAIAIRFB1IkLQQA2AgAgEUEBRg0AIAEQWSEBIAIoAtgEQQJHDQIgASACLQDIBDYCACACQQI2AhggAkHIAWoQWSEJQdSJC0EANgIAQcAAIAkgARACIQlB1IkLKAIAIRJB1IkLQQA2AgAgEkEBRg0AIAEQWRpB1IkLQQA2AgBBxQUgACAKEAIaQdSJCygCACETQdSJC0EANgIAIBNBAUcNARAAIQEMAwsQACEBIAJBCGoQWRoMAgsgCRBZGiAIEFkaIAcQWRogBhBZGiAFEFkaIAQQWRogAxBZGiAKEFkaIAJByARqEFkaIAJBsARqEFkaIAJBmARqEFkaIAJBgARqEFkaIAJB6ANqEFkaIAJB0ANqEFkaIAJBuANqEFkaIAJBoANqEFkaIAJBiANqEFkaIAJB8AJqEFkaIAJB2AJqEFkaIAJBwAJqEFkaIAJBqAJqEFkaIAJBkAJqEFkaIAJB+AFqEFkaIAJB4AFqEFkaIAJB4ARqJAAPC0HUiQtBADYCAEENQZmxBUHmmgNBmAJBoq4FEAVB1IkLKAIAIRRB1IkLQQA2AgAgFEEBRwRAAAsQACEBCyACQSBqEPABIAJB4AFqEKcCIAEQBwALgAoBE38jAEHgBGsiAiQAIAJB4AFqIAEQgwMgAkEANgIwIAJCADcDKCACQUBrQgA3AwAgAkEANgJIIAJCADcDWCACQQA2AmAgAkIANwNwIAJBADYCeCACQgA3A4gBIAJBADYCkAEgAkIANwOgASACQQA2AqgBIAJCADcDICACQgA3AzggAkIANwNQIAJCADcDaCACQgA3A4ABIAJCADcDmAEgAkEANgLAASACQgA3A7gBIAJCADcD0AEgAkEANgLYASACQgA3A7ABIAJCADcDyAECQAJAIAIoAvABQQJHDQAgAkECNgIYIAIgAi0A4AE2AgggAkEgahBZIQFB1IkLQQA2AgBBwAAgASACQQhqIgEQAiEKQdSJCygCACEDQdSJC0EANgIAAkACQCADQQFGDQAgARBZIQEgAigCiAJBAkcNAiABIAItAPgBNgIAIAJBAjYCGCACQThqEFkhA0HUiQtBADYCAEHAACADIAEQAiEDQdSJCygCACEMQdSJC0EANgIAIAxBAUYNACABEFkhASACKAKgAkECRw0CIAEgAi0AkAI2AgAgAkECNgIYIAJB0ABqEFkhBEHUiQtBADYCAEHAACAEIAEQAiEEQdSJCygCACENQdSJC0EANgIAIA1BAUYNACABEFkhASACKAK4AkECRw0CIAEgAi0AqAI2AgAgAkECNgIYIAJB6ABqEFkhBUHUiQtBADYCAEHAACAFIAEQAiEFQdSJCygCACEOQdSJC0EANgIAIA5BAUYNACABEFkhASACKALQAkECRw0CIAEgAi0AwAI2AgAgAkECNgIYIAJBgAFqEFkhBkHUiQtBADYCAEHAACAGIAEQAiEGQdSJCygCACEPQdSJC0EANgIAIA9BAUYNACABEFkhASACKALoAkECRw0CIAEgAi0A2AI2AgAgAkECNgIYIAJBmAFqEFkhB0HUiQtBADYCAEHAACAHIAEQAiEHQdSJCygCACEQQdSJC0EANgIAIBBBAUYNACABEFkhASACKAKAA0ECRw0CIAEgAi0A8AI2AgAgAkECNgIYIAJBsAFqEFkhCEHUiQtBADYCAEHAACAIIAEQAiEIQdSJCygCACERQdSJC0EANgIAIBFBAUYNACABEFkhASACKAKYA0ECRw0CIAEgAi0AiAM2AgAgAkECNgIYIAJByAFqEFkhCUHUiQtBADYCAEHAACAJIAEQAiEJQdSJCygCACESQdSJC0EANgIAIBJBAUYNACABEFkaQdSJC0EANgIAQcUFIAAgChACGkHUiQsoAgAhE0HUiQtBADYCACATQQFHDQEQACEBDAMLEAAhASACQQhqEFkaDAILIAkQWRogCBBZGiAHEFkaIAYQWRogBRBZGiAEEFkaIAMQWRogChBZGiACQcgEahBZGiACQbAEahBZGiACQZgEahBZGiACQYAEahBZGiACQegDahBZGiACQdADahBZGiACQbgDahBZGiACQaADahBZGiACQYgDahBZGiACQfACahBZGiACQdgCahBZGiACQcACahBZGiACQagCahBZGiACQZACahBZGiACQfgBahBZGiACQeABahBZGiACQeAEaiQADwtB1IkLQQA2AgBBDUGZsQVB5poDQZgCQaKuBRAFQdSJCygCACEUQdSJC0EANgIAIBRBAUcEQAALEAAhAQsgAkEgahDwASACQeABahCnAiABEAcAC4AKARN/IwBB4ARrIgIkACACQeABaiABEK8DIAJBADYCMCACQgA3AyggAkFAa0IANwMAIAJBADYCSCACQgA3A1ggAkEANgJgIAJCADcDcCACQQA2AnggAkIANwOIASACQQA2ApABIAJCADcDoAEgAkEANgKoASACQgA3AyAgAkIANwM4IAJCADcDUCACQgA3A2ggAkIANwOAASACQgA3A5gBIAJBADYCwAEgAkIANwO4ASACQgA3A9ABIAJBADYC2AEgAkIANwOwASACQgA3A8gBAkACQCACKAKwA0ECRw0AIAJBAjYCGCACIAIsAKADNgIIIAJBIGoQWSEBQdSJC0EANgIAQcAAIAEgAkEIaiIBEAIhCkHUiQsoAgAhA0HUiQtBADYCAAJAAkAgA0EBRg0AIAEQWSEBIAIoAsgDQQJHDQIgASACLAC4AzYCACACQQI2AhggAkE4ahBZIQNB1IkLQQA2AgBBwAAgAyABEAIhA0HUiQsoAgAhDEHUiQtBADYCACAMQQFGDQAgARBZIQEgAigC4ANBAkcNAiABIAIsANADNgIAIAJBAjYCGCACQdAAahBZIQRB1IkLQQA2AgBBwAAgBCABEAIhBEHUiQsoAgAhDUHUiQtBADYCACANQQFGDQAgARBZIQEgAigC+ANBAkcNAiABIAIsAOgDNgIAIAJBAjYC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IAJBIGoQWRogAkGAAWoQ8AEgARAHAAuQCwETfyMAQeAEayICJAAgAkHgAWogARCDAyACQQA2AjAgAkIANwMoIAJBQGtCADcDACACQQA2AkggAkIANwNYIAJBADYCYCACQgA3A3AgAkEANgJ4IAJCADcDiAEgAkEANgKQASACQgA3A6ABIAJBADYCqAEgAkIANwMgIAJCADcDOCACQgA3A1AgAkIANwNoIAJCADcDgAEgAkIANwOYASACQQA2AsABIAJCADcDuAEgAkIANwPQASACQQA2AtgBIAJCADcDsAEgAkIANwPIAQJAAkAgAigC8AFBAkcNACACKAKIAkECRw0AIAJBAjYCGCACIAItAPgBIAItAOABajYCCCACQSBqEFkhAUHUiQtBADYCAEHAACABIAJBCGoiARACIQpB1IkLKAIAIQNB1IkLQQA2AgACQAJAIANBAUYNACABEFkhASACKAKgAkECRw0CIAIoArgCQQJHDQIgASACLQCoAiACLQCQAmo2AgAgAkECNgIYIAJBOGoQWSEDQdSJC0EANgIAQcAAIAMgARACIQNB1IkLKAIAIQxB1IkLQQA2AgAgDEEBRg0AIAEQWSEBIAIoAtACQQJHDQIgAigC6AJBAkcNAiABIAItANgCIAItAMACajYCACACQQI2AhggAkHQAGoQWSEEQdSJC0EANgIAQcAAIAQgARACIQRB1IkLKAIAIQ1B1IkLQQA2AgAgDUEBRg0AIAEQWSEBIAIoAoADQQJHDQIgAigCmANBAkcNAiABIAItAIgDIAItAPACajYCACACQQI2AhggAkHoAGoQWSEFQdSJC0EANgIAQcAAIAUgARACIQVB1IkLKAIAIQ5B1IkLQQA2AgAgDkEBRg0AIAEQWSEBIAIoArADQQJHDQIgAigCyANBAkcNAiABIAItALgDIAItAKADajYCACACQQI2AhggAkGAAWoQWSEGQdSJC0EANgIAQcAAIAYgARACIQZB1IkLKAIAIQ9B1IkLQQA2AgAgD0EBRg0AIAEQWSEBIAIoAuADQQJHDQIgAigC+ANBAkcNAiABIAItAOgDIAItANADajYCACACQQI2AhggAkGYAWoQWSEHQdSJC0EANgIAQcAAIAcgARACIQdB1IkLKAIAIRBB1IkLQQA2AgAgEEEBRg0AIAEQWSEBIAIoApAEQQJHDQIgAigCqARBAkcNAiABIAItAJgEIAItAIAEajYCACACQQI2AhggAkGwAWoQWSEIQdSJC0EANgIAQcAAIAggARACIQhB1IkLKAIAIRFB1IkLQQA2AgAgEUEBRg0AIAEQWSEBIAIoAsAEQQJHDQIgAigC2ARBAkcNAiABIAItAMgEIAItALAEajYCACACQQI2AhggAkHIAWoQWSEJQdSJC0EANgIAQcAAIAkgARACIQlB1IkLKAIAIRJB1IkLQQA2AgAgEkEBRg0AIAEQWRpB1IkLQQA2AgBBxQUgACAKEAIaQdSJCygCACETQdSJC0EANgIAIBNBAUcNARAAIQEMAwsQACEBIAJBCGoQWRoMAgsgCRBZGiAIEFkaIAcQWRogBhBZGiAFEFkaIAQQWRogAxBZGiAKEFkaIAJByARqEFkaIAJBsARqEFkaIAJBmARqEFkaIAJBgARqEFkaIAJB6ANqEFkaIAJB0ANqEFkaIAJBuANqEFkaIAJBoANqEFkaIAJBiANqEFkaIAJB8AJqEFkaIAJB2AJqEFkaIAJBwAJqEFkaIAJBqAJqEFkaIAJBkAJqEFkaIAJB+AFqEFkaIAJB4AFqEFkaIAJB4ARqJAAPC0HUiQtBADYCAEENQZmxBUHmmgNBmAJBoq4FEAVB1IkLKAIAIRRB1IkLQQA2AgAgFEEBRwRAAAsQACEBCyACQSBqEPABIAJB4AFqEKcCIAEQBwALkAsBE38jAEHgBGsiAiQAIAJB4AFqIAEQrwMgAkEANgIwIAJCADcDKCACQUBrQgA3AwAgAkEANgJIIAJCADcDWCACQQA2AmAgAkIANwNwIAJBADYCeCACQgA3A4gBIAJBADYCkAEgAkIANwOgASACQQA2AqgBIAJCADcDICACQgA3AzggAkIANwNQIAJCADcDaCACQgA3A4ABIAJCADcDmAEgAkEANgLAASACQgA3A7gBIAJCADcD0AEgAkEANgLYASACQgA3A7ABIAJCADcDyAECQAJAIAIoAvABQQJHDQAgAigCiAJBAkcNACACQQI2AhggAiACLAD4ASACLADgAWo2AgggAkEgahBZIQFB1IkLQQA2AgBBwAAgASACQQhqIgEQAiEKQdSJCygCACEDQdSJC0EANgIAAkACQCADQQFGDQAgARBZIQEgAigCoAJBAkcNAiACKAK4AkECRw0CIAEgAiwAqAIgAiwAkAJqNgIAIAJBAjYCGCACQThqEFkhA0HUiQtBADYCAEHAACADIAEQAiEDQdSJCygCACEMQdSJC0EANgIAIAxBAUYNACABEFkhASACKALQAkECRw0CIAIoAugCQQJHDQIgASACLADYAiACLADAAmo2AgAgAkECNgIYIAJB0ABqEFkhBEHUiQtBADYCAEHAACAEIAEQAiEEQdSJCygCACENQdSJC0EANgIAIA1BAUYNACABEFkhASACKAKAA0ECRw0CIAIoApgDQQJHDQIgASACLACIAyACLADwAmo2AgAgAkECNgIYIAJB6ABqEFkhBUHUiQtBADYCAEHAACAFIAEQAiEFQdSJCygCACEOQdSJC0EANgIAIA5BAUYNACABEFkhASACKAKwA0ECRw0CIAIoAsgDQQJHDQIgASACLAC4AyACLACgA2o2AgAgAkECNgIYIAJBgAFqEFkhBkHUiQtBADYCAEHAACAGIAEQAiEGQdSJCygCACEPQdSJC0EANgIAIA9BAUYNACABEFkhASACKALgA0ECRw0CIAIoAvgDQQJHDQIgASACLADoAyACLADQA2o2AgAgAkECNgIYIAJBmAFqEFkhB0HUiQtBADYCAEHAACAHIAEQAiEHQdSJCygCACEQQdSJC0EANgIAIBBBAUYNACABEFkhASACKAKQBEECRw0CIAIoAqgEQQJHDQIgASACLACYBCACLACABGo2AgAgAkECNgIYIAJBsAFqEFkhCEHUiQtBADYCAEHAACAIIAEQAiEIQdSJCygCACERQdSJC0EANgIAIBFBAUYNACABEFkhASACKALABEECRw0CIAIoAtgEQQJHDQIgASACLADIBCACLACwBGo2AgAgAkECNgIYIAJByAFqEFkhCUHUiQtBADYCAEHAACAJIAEQAiEJQdSJCygCACESQdSJC0EANgIAIBJBAUYNACABEFkaQdSJC0EANgIAQcUFIAAgChACGkHUiQsoAgAhE0HUiQtBADYCACATQQFHDQEQACEBDAMLEAAhASACQQhqEFkaDAILIAkQWRogCBBZGiAHEFkaIAYQWRogBRBZGiAEEFkaIAMQWRogChBZGiACQcgEahBZGiACQbAEahBZGiACQZgEahBZGiACQYAEahBZGiACQegDahBZGiACQdADahBZGiACQbgDahBZ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QcYFIAAgARACGkHUiQsoAgAhC0HUiQtBADYCACALQQFGBEAQACEBDAYLIAwQWRogDRBZGiAOEFkaIAEQWRogA0GAAWokAA8LEAAhASADQQhqEFkaDAQLQdSJC0EANgIAQRRB74QEQemkAkHWBxAIQdSJCygCACEPQdSJC0EANgIAIA9BAUcNAQwCC0HUiQtBADYCAEENQeHNBkGfnwNBwwFB8+cEEAVB1IkLKAIAIRBB1IkLQQA2AgAgEEEBRg0BCwALEAAhAQsgA0HoAGoQWRogA0HQAGoQWRogA0E4ahBZGiADQSBqEFkaIAEQBwALwgoCD38BfiMAQZABayICJAAgAkEYaiABEPkCAkACQAJAAkAgAigCKCIBQQdPDQACQAJAAkACQAJAAkAgAUECaw4EAwABAgULIAJBAzYCECACQgAgAikDGH03AwAMAwsgAkECNgKIASACQQQ2AhAgAiACKAIYQYCAgIB4cyIBNgJ4IAIgATYCACACQfgAahBZGgwCCyACQQM2AogBIAJBBTYCECACIAIpAxhCgICAgICAgICAf4UiETcDeCACIBE3AwAgAkH4AGoQWRoMAQsgAkECNgIQIAJBACACKAIYazYCAAsgAkEYahBZIQFB1IkLQQA2AgBBwAAgASACEAIhB0HUiQsoAgAhAUHUiQtBADYCAAJAIAFBAUYNACACEFkhASAHKAIoIgRBBksNAiAHQRhqIQMCQAJAAkACQAJAIARBAmsOBAABAgMGCyADKAIAIQQgAUECNgIQIAFBACAEazYCAAwDCyADKQMAIREgAUEDNgIQIAFCACARfTcDAAwCCyADKAIAIQQgAkECNgKIASACIARBgICAgHhzIgQ2AnggASAENgIAIAFBBDYCECACQfgAahBZGgwBCyADKQMAIREgAkEDNgKIASACIBFCgICAgICAgICAf4UiETcDeCABIBE3AwAgAUEFNgIQIAJB+ABqEFkaCyADEFkhA0HUiQtBADYCAEHAACADIAEQAiEOQdSJCygCACEIQdSJC0EANgIAIAhBAUYNACABEFkhASAHQUBrKAIAIgVBBksNAiAHQTBqIQMCQAJAAkACQAJAIAVBAmsOBAABAgMGCyADKAIAIQUgAUECNgIQIAFBACAFazYCAAwDCyADKQMAIREgAUEDNgIQIAFCACARfTcDAAwCCyADKAIAIQUgAkECNgKIASACIAVBgICAgHhzIgU2AnggASAFNgIAIAFBBDYCECACQfgAahBZGgwBCyADKQMAIREgAkEDNgKIASACIBFCgICAgICAgICAf4UiETcDeCABIBE3AwAgAUEFNgIQIAJB+ABqEFkaCyADEFkhA0HUiQtBADYCAEHAACADIAEQAiENQdSJCygCACEJQdSJC0EANgIAIAlBAUYNACABEFkhASAHKAJYIgZBBksNAiAHQcgAaiEDAkACQAJAAkACQCAGQQJrDgQAAQIDBgsgAygCACEGIAFBAjYCECABQQAgBms2AgAMAwsgAykDACERIAFBAzYCECABQgAgEX03AwAMAgsgAygCACEGIAJBAjYCiAEgAiAGQYCAgIB4cyIGNgJ4IAEgBjYCACABQQQ2AhAgAkH4AGoQWRoMAQsgAykDACERIAJBAzYCiAEgAiARQoCAgICAgICAgH+FIhE3A3ggASARNwMAIAFBBTYCECACQfgAahBZGgsgAxBZIQNB1IkLQQA2AgBBwAAgAyABEAIhDEHUiQsoAgAhCkHUiQtBADYCACAKQQFGDQAgARBZGkHUiQtBADYCAEHGBSAAIAcQAhpB1IkLKAIAIQtB1IkLQQA2AgAgC0EBRgRAEAAhAQwGCyAMEFkaIA0QWRogDhBZGiAHEFkaIAJBkAFqJAAPCxAAIQEgAhBZGgwEC0HUiQtBADYCAEEUQe+EBEHppAJBjAcQCEHUiQsoAgAhD0HUiQtBADYCACAPQQFHDQEMAgtB1IkLQQA2AgBBDUHhzQZBn58DQcMBQfPnBBAFQdSJCygCACEQQdSJC0EANgIAIBBBAUYNAQsACxAAIQELIAJB4ABqEFkaIAJByABqEFkaIAJBMGoQWRogAkEYahBZGiABEAcAC4YLAhB/An4jAEGQAWsiAiQAIAJBGGogARD5AgJAAkACQAJAIAIoAigiAUEHTw0AAkACQAJAAkACQAJAIAFBAmsOBAMAAQIFCyACQQM2AhAgAiACKQMYIhIgEkI/hyIShSASfTcDAAwDCyACQQI2AogBIAJBBDYCECACIAIoAhhB/////wdxIgE2AnggAiABNgIAIAJB+ABqEFkaDAILIAJBAzYCiAEgAkEFNgIQIAIgAikDGEL///////////8AgyISNwN4IAIgEjcDACACQfgAahBZGgwBCyACQQI2AhAgAiACKAIYIgEgAUEfdSIBcyABazYCAAsgAkEYahBZIQFB1IkLQQA2AgBBwAAgASACEAIhBUHUiQsoAgAhAUHUiQtBADYCAAJAIAFBAUYNACACEFkhASAFKAIoIgRBBksNAiAFQRhqIQMCQAJAAkACQAJAIARBAmsOBAABAgMGCyADKAIAIQQgAUECNgIQIAEgBCAEQR91IgZzIAZrNgIADAMLIAMpAwAhEiABQQM2AhAgASASIBJCP4ciE4UgE303AwAMAgsgAygCACEEIAJBAjYCiAEgAiAEQf////8HcSIENgJ4IAEgBDYCACABQQQ2AhAgAkH4AGoQWRoMAQsgAykDACESIAJBAzYCiAEgAiASQv///////////wCDIhI3A3ggASASNwMAIAFBBTYCECACQfgAahBZGgsgAxBZIQNB1IkLQQA2AgBBwAAgAyABEAIhD0HUiQsoAgAhCUHUiQtBADYCACAJQQFGDQAgARBZIQEgBUFAaygCACIEQQZLDQIgBUEwaiEDAkACQAJAAkACQCAEQQJrDgQAAQIDBgsgAygCACEEIAFBAjYCECABIAQgBEEfdSIHcyAHazYCAAwDCyADKQMAIRIgAUEDNgIQIAEgEiASQj+HIhOFIBN9NwMADAILIAMoAgAhBCACQQI2AogBIAIgBEH/////B3EiBDYCeCABIAQ2AgAgAUEENgIQIAJB+ABqEFkaDAELIAMpAwAhEiACQQM2AogBIAIgEkL///////////8AgyISNwN4IAEgEjcDACABQQU2AhAgAkH4AGoQWRoLIAMQWSEDQdSJC0EANgIAQcAAIAMgARACIQ5B1IkLKAIAIQpB1IkLQQA2AgAgCkEBRg0AIAEQWSEBIAUoAlgiBEEGSw0CIAVByABqIQMCQAJAAkACQAJAIARBAmsOBAABAgMGCyADKAIAIQQgAUECNgIQIAEgBCAEQR91IghzIAhrNgIADAMLIAMpAwAhEiABQQM2AhAgASASIBJCP4ciE4UgE303AwAMAgsgAygCACEEIAJBAjYCiAEgAiAEQf////8HcSIENgJ4IAEgBDYCACABQQQ2AhAgAkH4AGoQWRoMAQsgAykDACESIAJBAzYCiAEgAiASQv///////////wCDIhI3A3ggASASNwMAIAFBBTYCECACQfgAahBZ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WSEBIAVBQGsoAgAiBEEGSw0CIAVBMGohAwJAAkACQAJAAkAgBEECaw4EAAECAwYLIAMoAgAhBCABQQI2AhAgASAEIARBH3UiB3MgB2s2AgAMAwsgAykDACESIAFBAzYCECABIBIgEkI/hyIThSATfTcDAAwCCyADKAIAIQQgAkECNgKIASACIARB/////wdxIgQ2AnggASAENgIAIAFBBDYCECACQfgAahBZGgwBCyADKQMAIRIgAkEDNgKIASACIBJC////////////AIMiEjcDeCABIBI3AwAgAUEFNgIQIAJB+ABqEFkaCyADEFkhA0HUiQtBADYCAEHAACADIAEQAiEOQdSJCygCACEKQdSJC0EANgIAIApBAUYNACABEFkhASAFKAJYIgRBBksNAiAFQcgAaiEDAkACQAJAAkACQCAEQQJrDgQAAQIDBgsgAygCACEEIAFBAjYCECABIAQgBEEfdSIIcyAIazYCAAwDCyADKQMAIRIgAUEDNgIQIAEgEiASQj+HIhOFIBN9NwMADAILIAMoAgAhBCACQQI2AogBIAIgBEH/////B3EiBDYCeCABIAQ2AgAgAUEENgIQIAJB+ABqEFkaDAELIAMpAwAhEiACQQM2AogBIAIgEkL///////////8AgyISNwN4IAEgEjcDACABQQU2AhAgAkH4AGoQWRoLIAMQWSEDQdSJC0EANgIAQcAAIAMgARACIQ1B1IkLKAIAIQtB1IkLQQA2AgAgC0EBRg0AIAEQWRpB1IkLQQA2AgBBxgUgACAFEAIaQdSJCygCACEMQdSJC0EANgIAIAxBAUYEQBAAIQEMBgsgDRBZGiAOEFkaIA8QWRogBRBZGiACQZABaiQADwsQACEBIAIQWRoMBAtB1IkLQQA2AgBBFEHvhARB6aQCQZ4HEAhB1IkLKAIAIRBB1IkLQQA2AgAgEEEBRw0BDAILQdSJC0EANgIAQQ1B4c0GQZ+fA0HDAUHz5wQQBUHUiQsoAgAhEUHUiQtBADYCACARQQFGDQELAAsQACEBCyACQeAAahBZGiACQcgAahBZGiACQTBqEFkaIAJBGGoQWRogARAHAAuMAwEKfyMAQcABayICJAAgAiABEJwDAkACQAJAIAIoAhBBAkcNACACKAIoQQJHDQAgAkFAaygCAEECRw0AIAIoAlhBAkcNACACKAJwQQJHDQAgAigCiAFBAkcNACACKAKgAUECRw0AIAIoArgBQQJGDQELQdSJC0EANgIAQQ1BmbEFQeaaA0GYAkGirgUQBUHUiQsoAgAhCkHUiQtBADYCACAKQQFHDQEQACELIAIQ8AEgCxAHAAsgAi0AqwEhASACKAIYIQMgAigCACEEIAIoAjAhBSACKAJIIQYgAigCYCEHIAIoAnghCCACKAKQASEJIABBAjYCECAAIAFBgAFxIANBHnZBAnEgBUEddkEEcSAGQRx2QQhxIAdBG3ZBEHEgCEEadkEgcSAJQRl2QcAAcXJycnIgBEEfdnJycjYCACACQagBahBZGiACQZABahBZGiACQfgAahBZGiACQeAAahBZGiACQcgAahBZGiACQTBqEFkaIAJBGGoQWRogAhBZGiACQcABaiQADwsAC/gHARh/IwBB4AFrIgMkACADQSBqIgIgARCJA0HUiQtBADYCAEG3BSADQQhqIgEgAygCMBADQdSJCygCACEEQdSJC0EANgIAAkACQAJAIARBAUYNAEHUiQtBADYCAEGvBSACIAEQAiECQdSJCygCACEFQdSJC0EANgIAIAVBAUYNASABEFkhAQJ/AkAgAg0AQdSJC0EANgIAQbcFIAEgAygCSBADQdSJCygCACEGQdSJC0EANgIAIAZBAUYNAkHUiQtBADYCAEGvBSADQThqIAEQAiEIQdSJCygCACEHQdSJC0EANgIAIAdBAUYNAyABEFkhASAIDQBB1IkLQQA2AgBBtwUgASADKAJgEANB1IkLKAIAIQlB1IkLQQA2AgAgCUEBRg0CQdSJC0EANgIAQa8FIANB0ABqIAEQAiELQdSJCygCACEKQdSJC0EANgIAIApBAUYNAyABEFkhASALDQBB1IkLQQA2AgBBtwUgASADKAJ4EANB1IkLKAIAIQxB1IkLQQA2AgAgDEEBRg0CQdSJC0EANgIAQa8FIANB6ABqIAEQAiEOQdSJCygCACENQdSJC0EANgIAIA1BAUYNAyABEFkhASAODQBB1IkLQQA2AgBBtwUgASADKAKQARADQdSJCygCACEPQdSJC0EANgIAIA9BAUYNAkHUiQtBADYCAEGvBSADQYABaiABEAIhEUHUiQsoAgAhEEHUiQtBADYCACAQQQFGDQMgARBZIQEgEQ0AQdSJC0EANgIAQbcFIAEg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AygCACEFIARBAjYC6AEgBCAFQf////8HcSIFNgLYASACIAU2AgAgAkEENgIQIARB2AFqEFkaDAELIAMpAwAhHiAEQQM2AugBIAQgHkL///////////8AgyIeNwPYASACIB43AwAgAkEFNgIQIARB2AFqEFkaCyADEFkhA0HUiQtBADYCAEHAACADIAIQAiEaQdSJCygCACEOQdSJC0EANgIAIA5BAUYNACACEFkhAiABKAJYIgVBBksNAiABQcgAaiEDAkACQAJAAkACQCAFQQJrDgQAAQIDBgsgAygCACEFIAJBAjYCECACIAUgBUEfdSIIcyAIazYCAAwDCyADKQMAIR4gAkEDNgIQIAIgHiAeQj+HIh+FIB99NwMADAILIAMoAgAhBSAEQQI2AugBIAQgBUH/////B3EiBTYC2AEgAiAFNgIAIAJBBDYCECAEQdgBahBZGgwBCyADKQMAIR4gBEEDNgLoASAEIB5C////////////AIMiHjcD2AEgAiAeNwMAIAJBBTYCECAEQdgBahBZGgsgAxBZIQNB1IkLQQA2AgBBwAAgAyACEAIhGUHUiQsoAgAhD0HUiQtBADYCACAPQQFGDQAgAhBZIQIgASgCcCIFQQZLDQIgAUHgAGohAwJAAkACQAJAAkAgBUECaw4EAAECAwYLIAMoAgAhBSACQQI2AhAgAiAFIAVBH3UiCXMgCWs2AgAMAwsgAykDACEeIAJBAzYCECACIB4gHkI/hyIfhSAffTcDAAwCCyADKAIAIQUgBEECNgLoASAEIAVB/////wdxIgU2AtgBIAIgBTYCACACQQQ2AhAgBEHYAWoQWRoMAQsgAykDACEeIARBAzYC6AEgBCAeQv///////////wCDIh43A9gBIAIgHjcDACACQQU2AhAgBEHYAWoQWRoLIAMQWSEDQdSJC0EANgIAQcAAIAMgAhACIRhB1IkLKAIAIRBB1IkLQQA2AgAgEEEBRg0AIAIQWSECIAEoAogBIgVBBksNAiABQfgAaiEDAkACQAJAAkACQCAFQQJrDgQAAQIDBgsgAygCACEFIAJBAjYCECACIAUgBUEfdSIKcyAKazYCAAwDCyADKQMAIR4gAkEDNgIQIAIgHiAeQj+HIh+FIB99NwMADAILIAMoAgAhBSAEQQI2AugBIAQgBUH/////B3EiBTYC2AEgAiAFNgIAIAJBBDYCECAEQdgBahBZGgwBCyADKQMAIR4gBEEDNgLoASAEIB5C////////////AIMiHjcD2AEgAiAeNwMAIAJBBTYCECAEQdgBahBZGgsgAxBZIQNB1IkLQQA2AgBBwAAgAyACEAIhF0HUiQsoAgAhEUHUiQtBADYCACARQQFGDQAgAhBZIQIgASgCoAEiBUEGSw0CIAFBkAFqIQMCQAJAAkACQAJAIAVBAmsOBAABAgMGCyADKAIAIQUgAkECNgIQIAIgBSAFQR91IgtzIAtrNgIADAMLIAMpAwAhHiACQQM2AhAgAiAeIB5CP4ciH4UgH303AwAMAgsgAygCACEFIARBAjYC6AEgBCAFQf////8HcSIFNgLYASACIAU2AgAgAkEENgIQIARB2AFqEFkaDAELIAMpAwAhHiAEQQM2AugBIAQgHkL///////////8AgyIeNwPYASACIB43AwAgAkEFNgIQIARB2AFqEFkaCyADEFkhA0HUiQtBADYCAEHAACADIAIQAiEWQdSJCygCACESQdSJC0EANgIAIBJBAUYNACACEFkhAiABKAK4ASIFQQZLDQIgAUGoAWohAwJAAkACQAJAAkAgBUECaw4EAAECAwYLIAMoAgAhBSACQQI2AhAgAiAFIAVBH3UiDHMgDGs2AgAMAwsgAykDACEeIAJBAzYCECACIB4gHkI/hyIfhSAffTcDAAwCCyADKAIAIQUgBEECNgLoASAEIAVB/////wdxIgU2AtgBIAIgBTYCACACQQQ2AhAgBEHYAWoQWRoMAQsgAykDACEeIARBAzYC6AEgBCAeQv///////////wCDIh43A9gBIAIgHjcDACACQQU2AhAgBEHYAWoQWRoLIAMQWSEDQdSJC0EANgIAQcAAIAMgAhACIRVB1IkLKAIAIRNB1IkLQQA2AgAgE0EBRg0AIAIQWRpB1IkLQQA2AgBBxQUgACABEAIaQdSJCygCACEUQdSJC0EANgIAIBRBAUYEQBAAIQEMBgsgFRBZGiAWEFkaIBcQWRogGBBZGiAZEFkaIBoQWRogGxBZGiABEFkaIARB8AFqJAAPCxAAIQEgBBBZGgwEC0HUiQtBADYCAEEUQe+EBEHppAJBngcQCEHUiQsoAgAhHEHUiQtBADYCACAcQQFHDQEMAgtB1IkLQQA2AgBBDUHhzQZBn58DQcMBQfPnBBAFQdSJCygCACEdQdSJC0EANgIAIB1BAUYNAQsACxAAIQELIARBGGoQ8AEgARAHAAvbAwEGfyMAQaADayICJAAgAkEgaiABEIMDAkACQAJAAkADQAJAAkACQAJAIAJBIGogBEEYbGoiASgCECIDQQJrDgICAAELIAIgASkDAHs3AwgMAgtB1IkLQQA2AgBBFEHUhARB6aQCQdAFEAhB1IkLKAIAIQVB1IkLQQA2AgAgBUEBRg0DAAsgAiABKAIAaTYCCAsgAiADNgIYIAJBCGoiAyABRwRAIAEQWSEBQdSJC0EANgIAQcAAIAEgAxACGkHUiQsoAgAhBkHUiQtBADYCACAGQQFGDQMLIAJBCGoQWRogBEEBaiIEQRBHDQALQdSJC0EANgIAQcQFIAAgAkEgahACGkHUiQsoAgAhB0HUiQtBADYCACAHQQFHDQMQACEBDAILEAAhAQwBCxAAIQEgAkEIahBZGgsgAkEgahCnAiABEAcACyACQYgDahBZGiACQfACahBZGiACQdgCahBZGiACQcACahBZGiACQagCahBZGiACQZACahBZGiACQfgBahBZGiACQeABahBZGiACQcgBahBZGiACQbABahBZGiACQZgBahBZGiACQYABahBZGiACQegAahBZGiACQdAAahBZGiACQThqEFkaIAJBIGoQWRogAkGgA2okAAu8BQESfyMAQYADayICJAAgAiABEK8DAkACQAJAIAIoAhBBAkcNACACKAIoQQJHDQAgAkFAaygCAEECRw0AIAIoAlhBAkcNACACKAJwQQJHDQAgAigCiAFBAkcNACACKAKgAUECRw0AIAIoArgBQQJHDQAgAigC0AFBAkcNACACKALoAUECRw0AIAIoAoACQQJHDQAgAigCmAJBAkcNACACKAKwAkECRw0AIAIoAsgCQQJHDQAgAigC4AJBAkcNACACKAL4AkECRg0BC0HUiQtBADYCAEENQZmxBUHmmgNBmAJBoq4FEAVB1IkLKAIAIRJB1IkLQQA2AgAgEkEBRw0BEAAhEyACEKcCIBMQBwALIAIvAeoCIQEgAi0AqwEhAyACKAIYIQQgAigCACEFIAIoAjAhBiACKAJIIQcgAigCYCEIIAIoAnghCSACKAKQASEKIAIoAsABIQsgAigC2AEhDCACKALwASEN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azYCAAsgBUEYahBZIQFB1IkLQQA2AgBBwAAgASAFEAIhAUHUiQsoAgAhAkHUiQtBADYCAAJAIAJBAUYNACAFEFkhAiABKAIoIgRBBksNAiABQRhqIQMCQAJAAkACQAJAIARBAmsOBAABAgMGCyADKAIAIQQgAkECNgIQIAIgBCAEQR91IgZzIAZrNgIADAMLIAMpAwAhNiACQQM2AhAgAiA2IDZCP4ciN4UgN303AwAMAgsgAygCACEEIAVBAjYCqAMgBSAEQf////8HcSIENgKYAyACIAQ2AgAgAkEENgIQIAVBmANqEFkaDAELIAMpAwAhNiAFQQM2AqgDIAUgNkL///////////8AgyI2NwOYAyACIDY3AwAgAkEFNgIQIAVBmANqEFkaCyADEFkhA0HUiQtBADYCAEHAACADIAIQAiEzQdSJCygCACEVQdSJC0EANgIAIBVBAUYNACACEFkhAiABQUBrKAIAIgRBBksNAiABQTBqIQMCQAJAAkACQAJAIARBAmsOBAABAgMGCyADKAIAIQQgAkECNgIQIAIgBCAEQR91IgdzIAdrNgIADAMLIAMpAwAhNiACQQM2AhAgAiA2IDZCP4ciN4UgN303AwAMAgsgAygCACEEIAVBAjYCqAMgBSAEQf////8HcSIENgKYAyACIAQ2AgAgAkEENgIQIAVBmANqEFkaDAELIAMpAwAhNiAFQQM2AqgDIAUgNkL///////////8AgyI2NwOYAyACIDY3AwAgAkEFNgIQIAVBmANqEFkaCyADEFkhA0HUiQtBADYCAEHAACADIAIQAiEyQdSJCygCACEWQdSJC0EANgIAIBZBAUYNACACEFkhAiABKAJYIgRBBksNAiABQcgAaiEDAkACQAJAAkACQCAEQQJrDgQAAQIDBgsgAygCACEEIAJBAjYCECACIAQgBEEfdSIIcyAIazYCAAwDCyADKQMAITYgAkEDNgIQIAIgNiA2Qj+HIjeFIDd9NwMADAILIAMoAgAhBCAFQQI2AqgDIAUgBEH/////B3EiBDYCmAMgAiAENgIAIAJBBDYCECAFQZgDahBZGgwBCyADKQMAITYgBUEDNgKoAyAFIDZC////////////AIMiNjcDmAMgAiA2NwMAIAJBBTYCECAFQZgDahBZGgsgAxBZIQNB1IkLQQA2AgBBwAAgAyACEAIhMUHUiQsoAgAhF0HUiQtBADYCACAXQQFGDQAgAhBZIQIgASgCcCIEQQZLDQIgAUHgAGohAwJAAkACQAJAAkAgBEECaw4EAAECAwYLIAMoAgAhBCACQQI2AhAgAiAEIARBH3UiCXMgCWs2AgAMAwsgAykDACE2IAJBAzYCECACIDYgNkI/hyI3hSA3fTcDAAwCCyADKAIAIQQgBUECNgKoAyAFIARB/////wdxIgQ2ApgDIAIgBDYCACACQQQ2AhAgBUGYA2oQWRoMAQsgAykDACE2IAVBAzYCqAMgBSA2Qv///////////wCDIjY3A5gDIAIgNjcDACACQQU2AhAgBUGYA2oQWRoLIAMQWSEDQdSJC0EANgIAQcAAIAMgAhACITBB1IkLKAIAIRhB1IkLQQA2AgAgGEEBRg0AIAIQWSECIAEoAogBIgRBBksNAiABQfgAaiEDAkACQAJAAkACQCAEQQJrDgQAAQIDBgsgAygCACEEIAJBAjYCECACIAQgBEEfdSIKcyAKazYCAAwDCyADKQMAITYgAkEDNgIQIAIgNiA2Qj+HIjeFIDd9NwMADAILIAMoAgAhBCAFQQI2AqgDIAUgBEH/////B3EiBDYCmAMgAiAENgIAIAJBBDYCECAFQZgDahBZGgwBCyADKQMAITYgBUEDNgKoAyAFIDZC////////////AIMiNjcDmAMgAiA2NwMAIAJBBTYCECAFQZgDahBZGgsgAxBZIQNB1IkLQQA2AgBBwAAgAyACEAIhL0HUiQsoAgAhGUHUiQtBADYCACAZQQFGDQAgAhBZIQIgASgCoAEiBEEGSw0CIAFBkAFqIQMCQAJAAkACQAJAIARBAmsOBAABAgMGCyADKAIAIQQgAkECNgIQIAIgBCAEQR91IgtzIAtrNgIADAMLIAMpAwAhNiACQQM2AhAgAiA2IDZCP4ciN4UgN303AwAMAgsgAygCACEEIAVBAjYCqAMgBSAEQf////8HcSIENgKYAyACIAQ2AgAgAkEENgIQIAVBmANqEFkaDAELIAMpAwAhNiAFQQM2AqgDIAUgNkL///////////8AgyI2NwOYAyACIDY3AwAgAkEFNgIQIAVBmANqEFkaCyADEFkhA0HUiQtBADYCAEHAACADIAIQAiEuQdSJCygCACEaQdSJC0EANgIAIBpBAUYNACACEFkhAiABKAK4ASIEQQZLDQIgAUGoAWohAwJAAkACQAJAAkAgBEECaw4EAAECAwYLIAMoAgAhBCACQQI2AhAgAiAEIARBH3UiDHMgDGs2AgAMAwsgAykDACE2IAJBAzYCECACIDYgNkI/hyI3hSA3fTcDAAwCCyADKAIAIQQgBUECNgKoAyAFIARB/////wdxIgQ2ApgDIAIgBDYCACACQQQ2AhAgBUGYA2oQWRoMAQsgAykDACE2IAVBAzYCqAMgBSA2Qv///////////wCDIjY3A5gDIAIgNjcDACACQQU2AhAgBUGYA2oQWRoLIAMQWSEDQdSJC0EANgIAQcAAIAMgAhACIS1B1IkLKAIAIRtB1IkLQQA2AgAgG0EBRg0AIAIQWSECIAEoAtABIgRBBksNAiABQcABaiEDAkACQAJAAkACQCAEQQJrDgQAAQIDBgsgAygCACEEIAJBAjYCECACIAQgBEEfdSINcyANazYCAAwDCyADKQMAITYgAkEDNgIQIAIgNiA2Qj+HIjeFIDd9NwMADAILIAMoAgAhBCAFQQI2AqgDIAUgBEH/////B3EiBDYCmAMgAiAENgIAIAJBBDYCECAFQZgDahBZGgwBCyADKQMAITYgBUEDNgKoAyAFIDZC////////////AIMiNjcDmAMgAiA2NwMAIAJBBTYCECAFQZgDahBZGgsgAxBZIQNB1IkLQQA2AgBBwAAgAyACEAIhLEHUiQsoAgAhHEHUiQtBADYCACAcQQFGDQAgAhBZIQIgASgC6AEiBEEGSw0CIAFB2AFqIQMCQAJAAkACQAJAIARBAmsOBAABAgMGCyADKAIAIQQgAkECNgIQIAIgBCAEQR91Ig5zIA5rNgIADAMLIAMpAwAhNiACQQM2AhAgAiA2IDZCP4ciN4UgN303AwAMAgsgAygCACEEIAVBAjYCqAMgBSAEQf////8HcSIENgKYAyACIAQ2AgAgAkEENgIQIAVBmANqEFkaDAELIAMpAwAhNiAFQQM2AqgDIAUgNkL///////////8AgyI2NwOYAyACIDY3AwAgAkEFNgIQIAVBmANqEFkaCyADEFkhA0HUiQtBADYCAEHAACADIAIQAiErQdSJCygCACEdQdSJC0EANgIAIB1BAUYNACACEFkhAiABKAKAAiIEQQZLDQIgAUHwAWohAwJAAkACQAJAAkAgBEECaw4EAAECAwYLIAMoAgAhBCACQQI2AhAgAiAEIARBH3UiD3MgD2s2AgAMAwsgAykDACE2IAJBAzYCECACIDYgNkI/hyI3hSA3fTcDAAwCCyADKAIAIQQgBUECNgKoAyAFIARB/////wdxIgQ2ApgDIAIgBDYCACACQQQ2AhAgBUGYA2oQWRoMAQsgAykDACE2IAVBAzYCqAMgBSA2Qv///////////wCDIjY3A5gDIAIgNjcDACACQQU2AhAgBUGYA2oQWRoLIAMQWSEDQdSJC0EANgIAQcAAIAMgAhACISpB1IkLKAIAIR5B1IkLQQA2AgAgHkEBRg0AIAIQWSECIAEoApgCIgRBBksNAiABQYgCaiEDAkACQAJAAkACQCAEQQJrDgQAAQIDBgsgAygCACEEIAJBAjYCECACIAQgBEEfdSIQcyAQazYCAAwDCyADKQMAITYgAkEDNgIQIAIgNiA2Qj+HIjeFIDd9NwMADAILIAMoAgAhBCAFQQI2AqgDIAUgBEH/////B3EiBDYCmAMgAiAENgIAIAJBBDYCECAFQZgDahBZGgwBCyADKQMAITYgBUEDNgKoAyAFIDZC////////////AIMiNjcDmAMgAiA2NwMAIAJBBTYCECAFQZgDahBZGgsgAxBZIQNB1IkLQQA2AgBBwAAgAyACEAIhKUHUiQsoAgAhH0HUiQtBADYCACAfQQFGDQAgAhBZIQIgASgCsAIiBEEGSw0CIAFBoAJqIQMCQAJAAkACQAJAIARBAmsOBAABAgMGCyADKAIAIQQgAkECNgIQIAIgBCAEQR91IhFzIBFrNgIADAMLIAMpAwAhNiACQQM2AhAgAiA2IDZCP4ciN4UgN303AwAMAgsgAygCACEEIAVBAjYCqAMgBSAEQf////8HcSIENgKYAyACIAQ2AgAgAkEENgIQIAVBmANqEFkaDAELIAMpAwAhNiAFQQM2AqgDIAUgNkL///////////8AgyI2NwOYAyACIDY3AwAgAkEFNgIQIAVBmANqEFkaCyADEFkhA0HUiQtBADYCAEHAACADIAIQAiEoQdSJCygCACEgQdSJC0EANgIAICBBAUYNACACEFkhAiABKALIAiIEQQZLDQIgAUG4AmohAwJAAkACQAJAAkAgBEECaw4EAAECAwYLIAMoAgAhBCACQQI2AhAgAiAEIARBH3UiEnMgEms2AgAMAwsgAykDACE2IAJBAzYCECACIDYgNkI/hyI3hSA3fTcDAAwCCyADKAIAIQQgBUECNgKoAyAFIARB/////wdxIgQ2ApgDIAIgBDYCACACQQQ2AhAgBUGYA2oQWRoMAQsgAykDACE2IAVBAzYCqAMgBSA2Qv///////////wCDIjY3A5gDIAIgNjcDACACQQU2AhAgBUGYA2oQWRoLIAMQWSEDQdSJC0EANgIAQcAAIAMgAhACISdB1IkLKAIAISFB1IkLQQA2AgAgIUEBRg0AIAIQWSECIAEoAuACIgRBBksNAiABQdACaiEDAkACQAJAAkACQCAEQQJrDgQAAQIDBgsgAygCACEEIAJBAjYCECACIAQgBEEfdSITcyATazYCAAwDCyADKQMAITYgAkEDNgIQIAIgNiA2Qj+HIjeFIDd9NwMADAILIAMoAgAhBCAFQQI2AqgDIAUgBEH/////B3EiBDYCmAMgAiAENgIAIAJBBDYCECAFQZgDahBZGgwBCyADKQMAITYgBUEDNgKoAyAFIDZC////////////AIMiNjcDmAMgAiA2NwMAIAJBBTYCECAFQZgDahBZGgsgAxBZIQNB1IkLQQA2AgBBwAAgAyACEAIhJkHUiQsoAgAhIkHUiQtBADYCACAiQQFGDQAgAhBZIQIgASgC+AIiBEEGSw0CIAFB6AJqIQMCQAJAAkACQAJAIARBAmsOBAABAgMGCyADKAIAIQQgAkECNgIQIAIgBCAEQR91IhRzIBRrNgIADAMLIAMpAwAhNiACQQM2AhAgAiA2IDZCP4ciN4UgN303AwAMAgsgAygCACEEIAVBAjYCqAMgBSAEQf////8HcSIENgKYAyACIAQ2AgAgAkEENgIQIAVBmANqEFkaDAELIAMpAwAhNiAFQQM2AqgDIAUgNkL///////////8AgyI2NwOYAyACIDY3AwAgAkEFNgIQIAVBmANqEFkaCyADEFkhA0HUiQtBADYCAEHAACADIAIQAiElQdSJCygCACEjQdSJC0EANgIAICNBAUYNACACEFkaQdSJC0EANgIAQcQFIAAgARACGkHUiQsoAgAhJEHUiQtBADYCACAkQQFGBEAQACEBDAYLICUQWRogJhBZGiAnEFkaICgQWRogKRBZGiAqEFkaICsQWRog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B0kEQAJAAkACQCACQQRrDgICAAELIAAgASsDAJw5AwAgACACNgIQDwtB74QEQemkAkG1BxBiAAsgACABKgIAjjgCACAAIAI2AhAPC0HhzQZBn58DQcMBQfPnBBABAAtqAQF/IAEoAhAiAkEHSQRAAkACQAJAIAJBBGsOAgIAAQsgACABKwMAmzkDACAAIAI2AhAPC0HvhARB6aQCQaoHEGIACyAAIAEqAgCNOAIAIAAgAjYCEA8LQeHNBkGfnwNBwwFB8+cEEAEAC00BAX8CQAJAAkAgASgCECICQQJrDgICAAELIAAgATIBADcDACAAIAI2AhAPC0HUhARB6aQCQfMFEGIACyAAIAEuAQA2AgAgACACNgIQC00BAX8CQAJAAkAgASgCECICQQJrDgICAAELIAAgATAAADcDACAAIAI2AhAPC0HUhARB6aQCQekFEGIACyAAIAEsAAA2AgAgACACNgIQC0kBAXwCfAJAAkACQCABKAIQQQJrDgICAAELIAEpAwC5DAILQdSEBEHppAJBnQYQYgALIAEoAgC3CyECIABBBTYCECAAIAI5AwALSQEBfQJ9AkACQAJAIAEoAhBBAmsOAgIAAQsgASkDALQMAgtB1IQEQemkAkGJBhBiAAsgASgCALILIQIgAEEENgIQIAAgAjgCAAtJAQF8AnwCQAJAAkAgASgCEEECaw4CAgABCyABKQMAugwCC0HUhARB6aQCQacGEGIACyABKAIAuAshAiAAQQU2AhAgACACOQMAC0kBAX0CfQJAAkACQCABKAIQQQJrDgICAAELIAEpAwC1DAILQdSEBEHppAJBkwYQYgALIAEoAgCzCyECIABBBDYCECAAIAI4AgAL/wIBB38jAEEgayICJAACQCABKAIQIgNBB0kEQAJAAkACQAJAAkACQCADQQJrDgQAAQIDBQsgAkECNgIYIAJBADYCCEHUiQtBADYCAEGmBCAAIAEgAkEIaiIBEAhB1IkLKAIAIQRB1IkLQQA2AgAgBEEBRg0GDAMLIAJBAzYCGCACQgA3AwhB1IkLQQA2AgBBpgQgACABIAJBCGoiARAIQdSJCygCACEFQdSJC0EANgIAIAVBAUcNAgwFCyACQQQ2AhggAkEANgIIQdSJC0EANgIAQaYEIAAgASACQQhqIgEQCEHUiQsoAgAhBkHUiQtBADYCACAG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IAQgAzYCECAEQQA2AgwgBCACNgIIIAQgADYCBCAEQgA3AiwgBEGQrwc2AgAgBEIANwIgIARBgICA/AM2AiggBEIANwI0IARBgICA/AM2AjwgBAsbACAAQagBakEIQQQQXSIAQpeAgIAQNwIAIAALQQACQCAAKAIAQQ9GBEAgAUUNASAAIAE2AgwPC0G7ogZBp7cCQakWQf3PAxABAAtB7fUBQae3AkGqFkH9zwMQAQALJgAgACgCAEEPRwRAQbuiBkGntwJBnhZB8sACEAEACyAAIAE2AggLJAAgACgCAEEPRwRAQbuiBkGntwJBoxZBs9MDEAEACyAAKAIMCyQAIAAoAgBBD0cEQEG7ogZBp7cCQZkWQZzEAhABAAsgACgCCAt/ACAAQagBakEcQQQQXSIAIAU2AhggACAENgIUIAAgAzYCECAAIAI2AgwgACABNgIIIABCygA3AgAgAAJ/QQEgAygCBEEBRg0AGkEBIAQoAgRBAUYNABpBASABKAIEQQFGDQAaQQEgAigCBEEBRg0AGiAFKAIEQQFGCzYCBCAAC3EBB38jAEEgayIAJAAgAEEBNgIYIABCgYCAgNAANwIQIABBADoADEHUiQtBADYCAEEHQdidCyAAQQxqIgEQAiEGQdSJCygCACEEQdSJC0EANgIAIARBAUYEQBAAIQUgARB3IAUQBwALIABBIGokACAGC3EBB38jAEEgayIAJAAgAEEBNgIYIABCgYCAgJABNwIQIABBADoADEHUiQtBADYCAEEHQdidCyAAQQxqIgEQAiEGQdSJCygCACEEQdSJC0EANgIAIARBAUYEQBAAIQUgARB3IAUQBwALIABBIGokACAGC3EBB38jAEEgayIAJAAgAEEBNgIYIABCgYCAgKABNwIQIABBADoADEHUiQtBADYCAEEHQdidCyAAQQxqIgEQAiEGQdSJCygCACEEQdSJC0EANgIAIARBAUYEQBAAIQUgARB3IAUQBwALIABBIGokACAGC3EBB38jAEEgayIAJAAgAEEBNgIYIABCgYCAgLABNwIQIABBADoADEHUiQtBADYCAEEHQdidCyAAQQxqIgEQAiEGQdSJCygCACEEQdSJC0EANgIAIARBAUYEQBAAIQUgARB3IAUQBwALIABBIGokACAGC3EBB38jAEEgayIAJAAgAEEBNgIYIABCgYCA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IAYgABEdAAtNAAJAIAAoAgBBNUYEQCAAKAIUIAFNDQEgACgCECABQQJ0aigCAA8LQYKkBkGntwJB/R1B15YBEAEAC0HQigZBp7cCQf4dQdeWARABAAsZACABIAIgAyAErSAFrUIghoQgBiAAETEACx8AIAEgAiADrSAErUIghoQgBa0gBq1CIIaEIAARRwALIgEBfiABIAKtIAOtQiCGhCAEIAARGwAiBUIgiKckASAFpwslACABIAKtIAOtQiCGhCAEIAUgBiAHIAitIAmtQiCGhCAAETgACx0AIAEgAiADIAQgBSAGIAetIAitQiCGhCAAETkACxkAIAEgAiADIAQgBa0gBq1CIIaEIAARJQALFwAgASACrSADrUIghoQgBCAFIAAROgALGwAgASACrSADrUIghoQgBCAFIAYgByAAETsACxUAIAEgAq0gA61CIIaEIAQgABEOAAsZACABIAKtIAOtQiCGhCAEIAUgBiAAETwACyQAIAAoAgBBNUcEQEGCpAZBp7cCQfcdQZXcARABAAsgACgCFAsXACABIAKtIAOtQiCGhCAEIAUgABESAAsUAQF+IAARNgAiAUIgiKckASABpwsaAQF+IAEgAiADIAARSAAiBEIgiKckASAEpwsZACABrSACrUIghoQgAyAEIAUgBiAAESoACxUAIAEgAq0gA61CIIaEIAQgABEhAAsmAQF+IAEgAiADIAQgBa0gBq1CIIaEIAARMgAiB0IgiKckASAHpwsrACABIAKtIAOtQiCGhCAEIAUgBq0gB61CIIaEIAitIAmtQiCGhCAAET0ACy0AIAEgAiADrSAErUIghoQgBSAGIAetIAitQiCGhCAJrSAKrUIghoQgABE1AAshACABIAIgA60gBK1CIIaEIAWtIAatQiCGhCAHIAARJgALHwAgASACIAOtIAStQiCGhCAFrSAGrUIghoQgABEwAAvvAgEIfwJAIAAoAgBBNUYEQCABRQ0BIAAoAhAhBQJAIAAoAhQiBiAAKAIYRwRAIAYhBCAFIQIMAQsgACAGQQF0QQJqIgI2AhggACAAKAIcIAJBAnRBBBBdIgI2AhAgACgCFCIERQRAQQAhBAwBC0EAIQIgBEEETwRAIARBfHEhBwNAIAJBAnQiAyAAKAIQaiADIAVqKAIANgIAIANBBHIiCCAAKAIQaiAFIAhqKAIA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IAIoAgg2AgggAkIANwIAIAJBADYCCCAEQRBqJAAPCxAAIQcgBEEEahDCARogBxAHAAsmAEH04AstAABFBEBB9OALQQE6AAALIABB0IULNgIEIAAgAjYCAAsGAEG55gILBgBB/OcECxMAIAEoAgQgAEYgASgCACACRnELQQACQCAAKAIAQS5GBEAgAUUNASAAIAE2AhQPC0HCqAZBp7cCQfkTQZPRAxABAAtB7fUBQae3AkH6E0GT0QMQAQALQwECfyMAQRBrIgMkACADQQhqIAAgASAAKAIAKAIMEQMAIAMoAgwgAigCBEYgAygCCCACKAIARnEhBCADQRBqJAAgBAsQACAAIAE2AgQgACACNgIAC3wBAX8jAEEgayICJAACQCAAKAIAQS5GBEAgAUUNASACIAEQbDYCHCACIAE2AhggAiACKQIYNwMIIAJBEGogAkEIahBlIAAgAikDEDcCCCACQSBqJAAPC0HCqAZBp7cCQeETQaSwBBABAAtBn6sEQae3AkHiE0GksAQQAQALqQECAX8BfgJ+IwBBEGsiAyQAIANBADYCDCABKAIAIAEgAS0AC0GAAXFBB3YbIQEgA0HghQsoAgA2AghB4IULQQA2AgAgASADQQxqIAJCgICAgICAgICAfxDZBCEEQeCFCygCACECQeCFCyADKAIINgIAIAMgAjYCCAJAIAMoAghBxABHBEAgAygCDCABRg0BIANBEGokACAEDAILIAAQlQwACyAAEJQMAAsLowEBA38CfyMAQRBrIgIkACACQQA2AgwgASgCACABIAEtAAtBgAFxQQd2GyEBIAJB4IULKAIANgIIQeCFC0EANgIAIAEgAkEMakEKQv////8PENkEpyEDQeCFCygCACEEQeCFCyACKAIINgIAIAIgBDYCCAJAIAIoAghBxABHBEAgAigCDCABRg0BIAJBEGokACADDAILIAAQlQwACyAAEJQMAAsLFAAgACABEIAMIgBBnPkKNgIAIAALUgEEf0EIEHIhAUHUiQtBADYCAEHjrgEgASAAEAIhAEHUiQsoAgAhA0HUiQtBADYCACADQQFHBEAgAEHA+QpBsAEQEgALEAAhBCABEG4gBBAHAAujAQEDfwJ/IwBBEGsiAiQAIAJBADYCDCABKAIAIAEgAS0AC0GAAXFBB3YbIQEgAkHghQsoAgA2AghB4IUL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KAIcIABBxAJqENkHIABBuAFqIgFCADcCACABQQA2AgggAS0AC0GAAXFBB3YEfyABKAIIQf////8HcUEBawVBCgshAkHUiQtBADYCAEH5rQEgASACEANB1IkLKAIAIQJB1IkLQQA2AgACQAJAIAJBAUcEQCAAIAEoAgAgASABLQALQYABcUEHdhsiAjYCtAEgACAAQRBqNgIMIABBADYCCANAAkBB1IkLQQA2AgBBm64BIABBzAJqIABByAJqEAIhCkHUiQsoAgAhCUHUiQtBADYCACAJQQFGDQAgCg0DIAAoArQBIAIgASgCBCABLQALIgNB/wBxIANBgAFxQQd2GyIDakYEQEHUiQtBADYCAEH5rQEgASADQQF0EANB1IkLKAIAIQtB1IkLQQA2AgAgC0EBRg0FIAEtAAtBgAFxQQd2BH8gASgCCEH/////B3FBAWsFQQoLIQJB1IkLQQA2AgBB+a0BIAEgAhADQdSJCygCACEMQdSJC0EANgIAIAxBAUYNBSAAIAEoAgAgASABLQALQYABcUEHdhsiAiADajYCtAELQdSJC0EANgIAQZyuASAAKALMAhAGIQ5B1IkLKAIAIQ1B1IkLQQA2AgAgDUEBRg0AIA4gByACIABBtAFqIABBCGogACgCxAIgACgCyAEgAC0AzwEgAEEQaiAAQQxqIAgQrAYNA0HUiQtBADYCAEGergEgAEHMAmoQBhpB1IkLKAIAIQ9B1IkLQQA2AgAgD0EBRw0BCwsMAgsMAQsCQCAAKALIASAALQDPASIDQf8AcSADQYABcUEHdhtFDQAgACgCDCIDIABBEGprQZ8BSg0AIAAgA0EEajYCDCADIAAoAgg2AgALIAUgAiAAKAK0ASAEIAcQjRI3AwAgAEHEAWogAEEQaiAAKAIMIAQQvQNB1IkLQQA2AgBBm64BIABBzAJqIABByAJqEAIhAkHUiQsoAgAhEEHUiQtBADYCACAQQQFHBEAgAgRAIAQgBCgCAEECcjYCAAsgACgCzAIhESABEMIBGiAAQcQBahDCARogAEHQAmokACARDAILCxAAIRIgARDCARogAEHEAWoQwgEaIBIQBwALCxYAIAAgASACIAMgACgCACgCMBEIABoLYQEBfyMAQSBrIgIkACAAKAIAQQVHBEBBq68GQae3AkGkEUGwmwQQAQALIAIgARBsNgIc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EGokACAFDAELEAAhBiABKAIMIgAgACgCBEEBayIBNgIEIAFBf0YEQCAAIAAoAgAoAggRAQALIAYQBwALIgE2AkwLIAHACwsAIABB6NALEPQCCwUAQbABCz8BAn8jAEEQayIDJAAgASgCACgCFCEEIAMgAikDCDcDCCADIAIpAwA3AwAgACABIANBCCAEEQcAIANBEGokAAsXACAAIAFCACACQQggASgCACgCEBEdAAsTACAAIAEgAiAAKAIAKAIgEQYACxoAIAAgASACIAMgBCAFIAAoAgAoAiQRCwAaCxoAIAAgASACIAMgBCAFIAAoAgAoAhwRCwAaCwsAIABB2NALEPQCCwUAQYUBCwUAQagBCycBAX8gACgCDCIBIAAoAhBGBEAgACAAKAIAKAIkEQIADwsgAS0AAAsPACAAIAAoAgAoAhgRAgALLAEBfwJ/IAAoAgwiASAAKAIQRgRAIAAgACgCACgCJBECAAwBCyABLQAAC8ALCwAgAEGU0gsQ9AILBQBBkAELsQEBBH8jAEEQayIFJAADQAJAIAIgBEwNACAAKAIYIgMgACgCHCIGTwR/IAAgAS0AACAAKAIAKAI0EQQAQX9GDQEgBEEBaiEEIAFBAWoFIAUgBiADazYCDCAFIAIgBGs2AgggAyABIAVBCGoiAyAFQQxqIgYgAygCACAGKAIASBsoAgAiAxDdAxogACADIAAoAhhqNgIYIAMgBGohBCABIANqCyEBDAELCyAFQRBqJAAgBAsFAEGEAQssACAAIAAoAgAoAiQRAgBBf0cEfyAAIAAoAgwiAEEBajYCDCAALQAABUF/CwvYAQEFfyMAQRBrIgQkAANAAkAgAiAFTA0AAn8gACgCDCIDIAAoAhAiBkkEQCAEQf////8HNgIMIAQgBiADazYCCCAEIAIgBWs2AgQgASADIARBBGoiASAEQQhqIgMgASgCACADKAIASBsiASAEQQxqIgMgASgCACADKAIASBsoAgAiAxDdAyEHIAAgACgCDCADajYCDCAHIANqDAELIAAgACgCACgCKBECACIDQX9GDQEgASADwDoAAEEBIQMgAUEBagshASADIAVqIQUMAQsLIARBEGokACAFCwUAQY8BCxUAIABBljcQwhIiAEHc+go2AgAgAAsGAEGc7QIL3wIDA38CfgJ8IwBBMGsiACQAAn9BsMAL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bGooAgQPC0Hy+AVBp7cCQegCQf6LBBABAAtB/40GQae3AkHqAkH+iwQQAQALMAAgASgCACIBKAIAQdwARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAKMASABEJsCCzAAIAEoAgAiASgCAEHbAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCjAEgARCbAgswACABKAIAIgEoAgBB2gBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAowBIAEQmwILMAAgASgCACIBKAIAQdkARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAKMASABEJsCCzAAIAEoAgAiASgCAEHYAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCjAEgARCbAgswACABKAIAIgEoAgBB1wBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAowBIAEQmwILMAAgASgCACIBKAIAQdYARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAKMASABEJsCCzAAIAEoAgAiASgCAEHVAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCjAEgARCbAgswACABKAIAIgEoAgBB1ABHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAowBIAEQmwILQgACQCAAKAIAQcIARgRAIAFFDQEgACABNgIQDwtB1acGQae3AkGmIUHG0AMQAQALQe31AUGntwJBpyFBxtADEAEACzAAIAEoAgAiASgCAEHTAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCjAEgARCbAgswACABKAIAIgEoAgBB0gBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAowBIAEQmwILMAAgASgCACIBKAIAQdEARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAKMASABEJsCCzAAIAEoAgAiASgCAEHQAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCjAEgARCbAgswACABKAIAIgEoAgBBzwBHBEBB8O0FQcWYA0GUBkGN3gAQAQALIAAoAowBIAEQmwILMAAgASgCACIBKAIAQc4ARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAKMASABEJsCCzAAIAEoAgAiASgCAEHNAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCjAEgARCbAgswACAB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RwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAKMASABEJsCCy8AIAEoAgAiASgCAEEJRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAKMASABEJsCCy8AIAEoAgAiASgCAEEIRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAKMASABEJsCCy8AIAEoAgAiASgCAEEHRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAKMASABEJsCCy8AIAEoAgAiASgCAEEGRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAKMASABEJsCCy8AIAEoAgAiASgCAEEFRwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAKMASABEJsCCy8AIAEoAgAiASgCAEEERwRAQfDtBUHFmANBlAZBjd4AEAEACyAAKAKMASABEJsCCyoAIAAoAgBBwABHBEBB7qQGQae3AkHhIEGgmAEQAQALIABBCGogARDsBAsvACABKAIAIgEoAgBBA0cEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCjAEgARCbAgsvACABKAIAIgEoAgBBAkcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCjAEgARCbAgsvACABKAIAIgEoAgBBAUcEQEHw7QVBxZgDQZQGQY3eABABAAsgACgCjAEgARCbAguQBAEHfyAAKAKMASEHIAAQ2gQaIAAoAowBIQQCQAJAAkAgACgChAEiASAAKAKIAUcEQCABIAQ2AgAgACABQQRqNgKEAQwBCyABIAAoAoABIgVrIgJBAnUiBkEBaiIDQYCAgIAETw0BQf////8DIAJBAXUiCCADIAMgCEkbIAJB/P///wdPGyIDBH8gA0GAgICABE8NAyADQQJ0EFwFQQALIgggBkECdGoiAiAENgIAIAJBBGohBCABIAVHBEADQCACQQRrIgIgAUEEayIBKAIANgIAIAEgBUcNAAsgACgCgAEhAQsgACAIIANBAnRqNgKIASAAIAQ2AoQBIAAgAjYCgAEgAUUNACABEFoLIAcgACgCjAEQ3AIgACgCjAEhBCAAKAKsASIBIAAoArABRwRAIAEgBDYCACAAIAFBBGo2AqwBDwsgASAAKAKoASIFayICQQJ1IgdBAWoiA0GAgICABE8NAEH/////AyACQQF1IgYgAyADIAZJGyACQfz///8HTxsiAwR/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swNB6gEQYgALIANBj60BIAEQWCACKAIAQQFHDWsgAigCFCIAQQBMDWogA0EEaiEHA0AgAEEBayIFIAIoAhRPDW0gAigCECAFQQJ0aiIEKAIARQ1uIAdBkIoBIAQQWyAAQQFLIQkgBSEAIAkNAAsMagsgA0GQrQEgARBYIAIoAgBBAkcNaiACKAIQBEAgA0EEakGQigEgAkEQahBbCwxcCyADQZGtASABEFggAigCAEEDRw1pDF8LIANBkq0BIAEQWCACKAIAQQRHDWggAigCFARAIANBBGpBkIoBIAJBFGoQWwsgAigCEEUNZyADQQRqQZCKASACQRBqEFsMZwsgA0GTrQEgARBYIAIoAgBBBUcNZyADQZCKASACQSRqEFggAigCIEUNZiADQQRqQZCKASACQSBqEFsMZgsgA0GUrQEgARBYIAIoAgBBBkcNZiACKAIMIgBBAEwNZSADQQRqIQcDQCAAQQFrIgUgAigCDE8NaCACKAIIIAVBAnRqIgQoAgBFDWkgB0GQigEgBBBbIABBAUshCiAFIQAgCg0ACwxlCyADQZWtASABEFggAigCAEEHRw1lIANBkIoBIAJBHGoQWCACKAIQIgBBAEwNZCADQQRqIQcDQCAAQQFrIgUgAigCEE8NZyACKAIMIAVBAnRqIgQoAgBFDWggB0GQigEgBBBbIABBAUshCyAFIQAgCw0ACwxkCyADQZatASABEFggAigCAEEIRg1jDGQLIANBl60BIAEQWCACKAIAQQlHDWMMXAsgA0GYrQEgARBYIAIoAgBBCkYNYQxiCyADQZmtASABEFggAigCAEELRw1hDFcLIANBmq0BIAEQWCACKAIAQQxHDWAMWwsgA0GbrQEgARBYIAIoAgBBDUcNXwxZCyADQZytASABEFggAigCAEEYRw1eDFoLIANBna0BIAEQWCACKAIAQRlHDV0gA0GQigEgAkEgahBYDFkLIANBnq0BIAEQWCACKAIAQRpHDVwMUAsgA0GfrQEgARBYIAIoAgBBG0cNWwxQCyADQaCtASABEFggAigCAEEcRg1ZDFoLIANBoa0BIAEQWCACKAIAQR1HDVkMUgsgA0GirQEgARBYIAIoAgBBHkcNWCADQZCKASACQRRqEFgMUQsgA0GjrQEgARBYIAIoAgBBH0cNVwxJCyADQaStASABEFggAigCAEEgRw1WDE0LIANBpa0BIAEQWCACKAIAQSFHDVUMTQsgA0GmrQEgARBYIAIoAgBBIkcNVCADQZCKASACQSBqEFgMUwsgA0GnrQEgARBYIAIoAgBBI0cNUwxNCyADQaitASABEFggAigCAEEkRw1SDEYLIANBqa0BIAEQWCACKAIAQSVGDVAMUQsgA0GqrQEgARBYIAIoAgBBJkcNUAxBCyADQautASABEFggAigCAEEnRw1PDEALIANBrK0BIAEQWCACKAIAQQ5GDU0MTgsgA0GtrQEgARBYIAIoAgBBD0cNTQxGCyADQa6tASABEFggAigCAEEQRw1MDEQLIANBr60BIAEQWCACKAIAQRFHDUsMPAsgA0GwrQEgARBYIAIoAgBBEkcNSgxHCyADQbGtASABEFggAigCAEETRw1JDEcLIANBsq0BIAEQWCACKAIAQRRGDUcMSAsgA0GzrQEgARBYIAIoAgBBFUcNRwxECyADQbStASABEFggAigCAEEpRg1FDEYLIANBta0BIAEQWCACKAIAQSpHDUUMQgsgA0G2rQEgARBYIAIoAgBBK0YNQwxECyADQbetASABEFggAigCAEEsRw1DDDULIANBuK0BIAEQWCACKAIAQS1HDUIMOAsgA0G5rQEgARBYIAIoAgBBLkcNQQw2CyADQbqtASABEFggAigCAEEvRg0/DEALIANBu60BIAEQWCACKAIAQTBHDT8MNAsgA0G8rQEgARBYIAIoAgBBMUcNPgwyCyADQb2tASABEFggAigCAEEyRw09DC4LIANBvq0BIAEQWCACKAIAQTNHDTwgAigCKCIAQQBKBEAgA0EEaiEHA0AgAEEBayIFIAIoAihPDT8gAigCJCAFQQJ0aiIEKAIARQ1AIAdBkIoBIAQQWyAAQQFLIQwgBSEAIAwNAAsLDDILIANBv60BIAEQWCACKAIAQTRGDTgMOwsgA0HArQEgARBYIAIoAgBBNUcNOiACKAIUIgBBAEwNOSADQQRqIQcDQCAAQQFrIgUgAigCFE8NPCACKAIQIAVBAnRqIgQoAgBFDT0gB0GQigEgBBBbIABBAUshDSAFIQAgDQ0ACww5CyADQcGtASABEFggAigCAEE2Rg04DDkLIANBwq0BIAEQWCACKAIAQTdHDTgMNQsgA0HDrQEgARBYIAIoAgBBFkYNNgw3CyADQcStASABEFggAigCAEEXRg01DDYLIANBxa0BIAEQWCACKAIAQShGDTQMNQsgA0HGrQEgARBYIAIoAgBBOEcNNCACKAIMIgBBAEwNMyADQQRqIQcDQCAAQQFrIgUgAigCDE8NNiACKAIIIAVBAnRqIgQoAgBFDTcgB0GQigEgBBBbIABBAUshDiAFIQAgDg0ACwwzCyADQcetASABEFggAigCAEE5Rw0zDDALIANByK0BIAEQWCACKAIAQTpHDTIMLwsgA0HJrQEgARBYIAIoAgBBO0cNMQwuCyADQcqtASABEFggAigCAEE8Rw0wIANBkIoBIAJBGGoQWCACKAIMIgBBAEwNLyADQQRqIQcDQCAAQQFrIgUgAigCDE8NMiACKAIIIAVBAnRqIgQoAgBFDTMgB0GQigEgBBBbIABBAUshDyAFIQAgDw0ACwwvCyADQcutASABEFggAigCAEE9Rw0vDCwLIANBzK0BIAEQWCACKAIAQT5HDS4MKwsgA0HNrQEgARBYIAIoAgBBP0cNLSADQZCKASACQRRqEFgMLAsgA0HOrQEgARBYIAIoAgBBwABHDSwgAigCDCIAQQBMDSsgA0EEaiEHA0AgAEEBayIFIAIoAgxPDS4gAigCCCAFQQJ0aiIEKAIARQ0vIAdBkIoBIAQQWyAAQQFLIRAgBSEAIBANAAsMKwsgA0HPrQEgARBYIAIoAgBBwQBHDSsMJAsgA0HQrQEgARBYIAIoAgBBwgBHDSoMIgsgA0HRrQEgARBYIAIoAgBBwwBHDSkgA0GQigEgAkEMahBYDCcLIANB0q0BIAEQWCACKAIAQcQARw0oDB0LIANB060BIAEQWCACKAIAQcUARw0nDBwLIANB1K0BIAEQWCACKAIAQcYARw0mIAIoAgwiAEEATA0lIANBBGohBwNAIABBAWsiBSACKAIMTw0oIAIoAgggBUECdGoiBCgCAEUNKSAHQZCKASAEEFsgAEEBSyERIAUhACARDQALDCULIANB1a0BIAEQWCACKAIAQccARw0lDBcLIANB1q0BIAEQWCACKAIAQcgARw0kDBULIANB160BIAEQWCACKAIAQckARw0jDCALIANB2K0BIAEQWCACKAIAQcoARw0iIANBkIoBIAJBGGoQWAwSCyADQdmtASABEFggAigCAEHLAEcNIQwRCyADQdqtASABEFggAigCAEHMAEcNIAwTCyADQdutASABEFggAigCAEHNAEcNHwwSCyADQdytASABEFggAigCAEHOAEcNHgwXCyADQd2tASABEFggAigCAEHPAEcNHSACKAIYBEAgA0EEakGQigEgAkEYahBbCyACKAIUBEAgA0EEakGQigEgAkEUahBbCyACKAIQBEAgA0EEakGQigEgAkEQahBbCwwWCyADQd6tASABEFggAigCAEHQAEYNGwwcCyADQd+tASABEFggAigCAEHRAEcNGwwUCyADQeCtASABEFggAigCAEHSAEcNGiACKAIUBEAgA0EEakGQigEgAkEUahBbCwwSCyADQeGtASABEFggAigCAEHTAEcNGQwLCyADQeKtASABEFggAigCAEHUAEcNGAwQCyADQeOtASABEFggAigCAEHVAEcNFwwQCyADQeStASABEFggAigCAEHWAEcNFgwHCyADQeWtASABEFggAigCAEHXAEcNFQwHCyADQeatASABEFggAigCAEHYAEcNFAwRCyADQeetASABEFggAigCAEHZAEcNEwwLCyADQeitASABEFggAigCAEHaAEcNEgwJCyADQemtASABEFggAigCAEHbAEcNEQwDCyADQeqtASABEFggAigCAEHcAEcNECADQZCKASACQTxqEFggAigCMCIAQQBMDQ8gA0EEaiEHA0AgAEEBayIFIAIoAjBPDRIgAigCLCAFQQJ0aiIEKAIARQ0TIAdBkIoBIAQQWyAAQQFLIRIgBSEAIBINAAsMDwsgA0GQigEgAkEUahBYCyADQZCKASACQRBqEFgLIANBkIoBIAJBDGoQWAwKCyADQZCKASACQRxqEFgLIANBkIoBIAJBGGoQWAsgA0GQigEgAkEUahBYCyADQZCKASACQRBqEFgMCAsgA0GQigEgAkEUahBYCyADQZCKASACQRBqEFgLIANBkIoBIAJBDGoQWAwFCyADQZCKASACQShqEFgLIANBkIoBIAJBJGoQWAwDCyADQZCKASACQRxqEFggA0GQigEgAkEYahBYDAILIANBkIoBIAJBCGoQWAwBCyACKAIIRQ0AIANBBGpBkIoBIAJBCGoQWwsgBigCAEEDRgRAIAEoAgBFDQMgA0EEakGMrQEgARBbCw8LQfDtBUHFmANBlAZBjd4AEAEAC0HFogFBiaIDQbwBQaaI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BUHFmANBlAZBjd4AEAEACyAAIAEQnAILLAAgASgCACIBKAIAQdsARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQnAILLAAgASgCACIBKAIAQdoARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQnAILLAAgASgCACIBKAIAQdkARwRAQfDtBUHFmANBlAZBjd4AEAEACyAAIAEQnAILQgACQCAAKAIAQcEARgRAIAFFDQEgACABNgIMDwtB+KgGQae3AkH4IEGItgMQAQALQbr1AUGntwJB+SBBiLYDEAEACywAIAEoAgAiASgCAEHYAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJwCCywAIAEoAgAiASgCAEHXAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJwCCywAIAEoAgAiASgCAEHWAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJwCCywAIAEoAgAiASgCAEHVAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJwCCywAIAEoAgAiASgCAEHUAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJwCCywAIAEoAgAiASgCAEHTAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJwCCywAIAEoAgAiASgCAEHSAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJwCCywAIAEoAgAiASgCAEHRAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJwCCywAIAEoAgAiASgCAEHQAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJwCCywAIAEoAgAiASgCAEHPAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJwCCyYAIAAoAgBBwQBHBEBB+KgGQae3AkHtIEGBLhABAAsgACABNgIICywAIAEoAgAiASgCAEHOAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJwCCywAIAEoAgAiASgCAEHNAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJwCCywAIAEoAgAiASgCAEHMAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJwCCywAIAEoAgAiASgCAEHLAEcEQEHw7QVBxZgDQZQGQY3eABABAAsgACABEJwCCywAIAEo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a3VwWzY1K2ldID0gaTsgLy8gJ0EtWicKICAgIGJhc2U2NFJldmVyc2VMb29rdXBbOTcraV0gPSAyNitpOyAvLyAnYS16JwogIH0KICBiYXNlNjRSZXZlcnNlTG9va3VwWzQzXSA9IDYyOyAvLyAnKycKICBiYXNlNjRSZXZlcnNlTG9va3VwWzQ3XSA9IDYzOyAvLyAnLycKICAvKiogQG5vaW5saW5lIElubGluaW5nIHRoaXMgZnVuY3Rpb24gd291bGQgbWVhbiBleHBhbmRpbmcgdGhlIGJhc2U2NCBzdHJpbmcgNHggdGltZXMgaW4gdGhlIHNvdXJjZSBjb2RlLCB3aGljaCBDbG9zdXJlIHNlZW1zIHRvIGJlIGhhcHB5IHRvIGRvLiAqLwogIGZ1bmN0aW9uIGJhc2U2NERlY29kZVRvRXhpc3RpbmdVaW50OEFycmF5KHVpbnQ4QXJyYXksIG9mZnNldCwgYjY0KSB7CiAgICB2YXIgYjEsIGIyLCBpID0gMCwgaiA9IG9mZnNldCwgYkxlbmd0aCA9IGI2NC5sZW5ndGgsIGVuZCA9IG9mZnNldCArIChiTGVuZ3RoKjM+PjIpIC0gKGI2NFtiTGVuZ3RoLTJdID09ICc9JykgLSAoYjY0W2JMZW5ndGgtMV0gPT0gJz0nKTsKICAgIGZvciAoOyBpIDwgYkxlbmd0aDsgaSArPSA0KSB7CiAgICAgIGIxID0gYmFzZTY0UmV2ZXJzZUxvb2t1cFtiNjQuY2hhckNvZGVBdChpKzEpXTsKICAgICAgYjIgPSBiYXNlNjRSZXZlcnNlTG9va3VwW2I2NC5jaGFyQ29kZUF0KGkrMildOwogICAgICB1aW50OEFycmF5W2orK10gPSBiYXNlNjRSZXZlcnNlTG9va3VwW2I2NC5jaGFyQ29kZUF0KGkpXSA8PCAyIHwgYjEgPj4gNDsKICAgICAgaWYgKGogPCBlbmQpIHVpbnQ4QXJyYXlbaisrXSA9IGIxIDw8IDQgfCBiMiA+PiAyOwogICAgICBpZiAoaiA8IGVuZCkgdWludDhBcnJheVtqKytdID0gYjIgPDwgNiB8IGJhc2U2NFJldmVyc2VMb29rdXBbYjY0LmNoYXJDb2RlQXQoaSszKV07CiAgICB9AHRhYmxpZnl8AHsAY3R0egBpNjQuY3R6AGkzMi5jdHoAaTY0LmVxegBpMzIuZXF6AGN0bHoAaTY0LmNsegBpMzIuY2x6AHN0YWNrIGlzIG5vdCBlbXB0eQBzLWV4cHIgc3RhY2sgZW1wdHkAYmxvY2sgd2l0aCBhIHZhbHVlIG11c3Qgbm90IGJlIGVtcHR5AHNldElkZW50aXR5AFVuZXhwZWN0ZWQgdHVwbGUuZXh0cmFjdCBhcml0eQB1bmV4cGVjdGVkIHR1cGxlLmRyb3AgYXJpdHkALWluZmluaXR5AC1JbmZpbml0eQBFeHBlY3RlZCAwIG9yIDEgZm9yIG11dGFiaWxpdHkAdGVtcFR5cGVzW3JldF0gPT0gdHkAaW52YWxpZCBwYXJhbSBlbnRyeQBzdHJpbmcubmV3X3V0ZjhfYXJyYXlfdHJ5AHN0cmluZy5uZXdfdXRmOF90cnkAdGhlcmUgc2hvdWxkIGJlIGF0IG1vc3Qgb25lICdjYXRjaF9hbGwnIGNsYXVzZSBwZXIgdHJ5ACA7OyBlbmQgdHJ5AG11bHRpbWVtb3J5AGFzeW5jaWZ5X21lbW9yeQBjb21iaW5lZF9tZW1vcnkAYXN5bmNpZnktaW4tc2Vjb25kYXJ5LW1lbW9yeQBpbnN0cnVtZW50LW1lbW9yeQBidWxrLW1lbW9yeQByZW1vdmUtbWVtb3J5AGdyb3dNZW1vcnkgb24gbm9uLWV4aXN0aW5nIG1lbW9yeQBzZXRNZW1vcnlTaXplIGNhbGxlZCBvbiBub24tZXhpc3RpbmcgbWVtb3J5AGdldE1lbW9yeVNpemUgY2FsbGVkIG9uIG5vbi1leGlzdGluZyBtZW1vcnkAZXhwZWN0ZWQgZW5kIG9mIG1lbW9yeQBjb21iaW5lcyBtdWx0aXBsZSBtZW1vcmllcyBpbnRvIGEgc2luZ2xlIG1lbW9yeQBoaWdoZXN0ID4gbWVtb3J5AG9mZnNldCA+IG1lbW9yeQBieXRlcyA+IG1lbW9yeQBmaW5hbCA+IG1lbW9yeQBnZXRNZW1vcnkAbWFrZUZyb21NZW1vcnkAcHJlcENvbWJpbmVkTWVtb3J5AGFkZE1lbW9yeQBGZWJydWFyeQBKYW51YXJ5AHVuaGFuZGxlZCB1bmFyeQBvcHRpbWl6ZVRlcm5hcnkAU0lNRFRlcm5hcnkAd2FzbSBWTXMgbWF5IG5vdCBhY2NlcHQgdGhpcyBiaW5hcnkAZXJyb3IgaW4gcGFyc2luZyB3YXNtIGJpbmFyeQBkdW1wIERXQVJGIGRlYnVnIGluZm8gc2VjdGlvbnMgZnJvbSB0aGUgcmVhZCBiaW5hcnkAdmlzaXRCaW5hcnkAc3RyaW5nVG9CaW5hcnkAdmlzaXRVbmFyeQBkZWR1cGxpY2F0ZVVuYXJ5AGxlZ2FsaXplcyBpNjQgdHlwZXMgb24gdGhlIGltcG9ydC9leHBvcnQgYm91bmRhcnkAdmlzaXRUcnkAQmluYXJ5ZW5TdHJpbmdOZXdTZXRUcnkAQmluYXJ5ZW5TdHJpbmdOZXdJc1RyeQBzY29wZS5raW5kID09IFNjb3BlOjpUcnkAd2FzbTJqc19tZW1vcnlfY29weQBvdXQgb2YgYm91bmRzIHNlZ21lbnQgYWNjZXNzIGluIG1lbW9yeS5jb3B5AGFycmF5LmNvcHkAb3V0IG9mIGJvdW5kcyBzZWdtZW50IGFjY2VzcyBpbiB0YWJsZS5jb3B5AGludmFsaWQgZGVzdCB0YWJsZSBuYW1lIGluIHRhYmxlLmNvcHkAaW52YWxpZCBzb3VyY2UgdGFibGUgbmFtZSBpbiB0YWJsZS5jb3B5ACpwcmVHcmFwaC5nZXRTZXRzZXNbaW5mbHVlbmNlZEdldF0uYmVnaW4oKSA9PSBjb3B5AHZpc2l0TWVtb3J5Q29weQBBcnJheUNvcHkAVGFibGVDb3B5AGFueQB2aXNpdEFueQAhZHVtbXkASnVseQBmaW5hbGx5AGxlZ2FsaXplLWpzLWludGVyZmFjZS1taW5pbWFsbHkAbWVtb3J5LmF0b21pYy5ub3RpZnkAQXRvbWljTm90aWZ5AHNvdXBlcmlmeQBwb3BwaWZ5AHRhYmxpZnkAdGFpbCBjYWxscyBub3QgeWV0IHN1cHBvcnRlZCBpbiBhc3luY2lmeQBrZXkAdW5yZWFjaGFibGUgdHJ5LWNhdGNoIG11c3QgaGF2ZSB1bnJlYWNoYWJsZSB0cnkgYm9keQBpZiB3aXRob3V0IGVsc2UgbXVzdCBub3QgcmV0dXJuIGEgdmFsdWUgaW4gYm9keQB1bnJlYWNoYWJsZSB0cnktY2F0Y2ggbXVzdCBoYXZlIHVucmVhY2hhYmxlIGNhdGNoIGJvZHkAKSBoYXMgcGFyYW1zLCBzbyB0aGVyZSBzaG91bGQgYmUgYSBzaW5nbGUgcG9wIHdpdGhpbiB0aGUgY2F0Y2ggYm9keQBCaW5hcnllblRyeVNldEJvZHkAQmluYXJ5ZW5Mb29wU2V0Qm9keQBCaW5hcnllbkZ1bmN0aW9uU2V0Qm9keQBCaW5hcnllblRyeUdldEJvZHkAQmluYXJ5ZW5Mb29wR2V0Qm9keQBCaW5hcnllblRyeUFwcGVuZENhdGNoQm9keQBpNjQuY3R6IHNob3VsZCBiZSByZW1vdmVkIGFscmVhZHkAcmVzZXRUaHJlYWRzQXJlUmVhZHkAc29ydHMgZnVuY3Rpb25zIGJ5IGFjY2VzcyBmcmVxdWVuY3kAc29ydHMgbG9jYWxzIGJ5IGFjY2VzcyBmcmVxdWVuY3kAc29ydHMgZ2xvYmFscyBieSBhY2Nlc3MgZnJlcXVlbmN5AG9wdGltaXplIHRyaXZpYWwgdHVwbGVzIGF3YXkAc3RyaW5nLm5ld193dGY4X2FycmF5AHN0cmluZy5lbmNvZGVfd3RmOF9hcnJheQBzdHJpbmcubmV3X2xvc3N5X3V0ZjhfYXJyYXkAc3RyaW5nLmVuY29kZV9sb3NzeV91dGY4X2FycmF5AHN0cmluZy5uZXdfdXRmOF9hcnJheQBzdHJpbmcuZW5jb2RlX3V0ZjhfYXJyYXkAc3RyaW5nLm5ld193dGYxNl9hcnJheQBzdHJpbmcuZW5jb2RlX3d0ZjE2X2FycmF5AHdyb25nIG51bWJlciBvZiBlbGVtZW50cyBpbiBhcnJheQBhcnJheS5uZXcgaGVhcCB0eXBlIG11c3QgYmUgYXJyYXkAYXJyYXkuaW5pdCBoZWFwIHR5cGUgbXVzdCBiZSBhcnJheQBnZXRBcnJheQBhcHBlbmRUb0FycmF5AFVpbnQ4QXJyYXkASW50OEFycmF5AFVpbnQxNkFycmF5AEludDE2QXJyYXkARmxvYXQ2NEFycmF5AFVpbnQzMkFycmF5AEludDMyQXJyYXkARmxvYXQzMkFycmF5AFRodXJzZGF5AFR1ZXNkYXkAV2VkbmVzZGF5AFNhdHVyZGF5AFN1bmRheQBNb25kYXkARnJpZGF5AE1heQB2YWwudHlwZSA9PSBUeQAlbS8lZC8leQAweCVsbHgAdW5hcnktcG9zdGZpeAB1bmFyeS1wcmVmaXgAVW5yZWNvZ25pemVkIGZlYXR1cmUgcG9saWN5IHByZWZpeABhcnJheV9zZXRfaW5kZXgAYXJyYXlfZ2V0X2luZGV4AF9fYXN5bmNpZnlfZ2V0X2NhbGxfaW5kZXgAX19hc3luY2lmeV9jaGVja19jYWxsX2luZGV4AGluZmx1ZW5jZWRHZXQtPmluZGV4ID09IGNvcHktPmluZGV4AHNldC0+aW5kZXggPT0gZ2V0LT5pbmRleABmbG93LnZhbHVlcy5zaXplKCkgPiBjdXJyLT5pbmRleABpbmZsdWVuY2VkR2V0LT5pbmRleCA9PSB0cml2aWFsLT5pbmRleABleHRyYWN0LWZ1bmN0aW9uLWluZGV4AFVuZXhwZWN0ZWQgbm9uemVybyBtZW1vcnkgaW5kZXgAaW52YWxpZCBtZW1vcnkgaW5kZXgAbGVhdmVzIGp1c3Qgb25lIGZ1bmN0aW9uIHNlbGVjdGVkIGJ5IGluZGV4AGludmFsaWQgZWxlbWVudCBzZWdtZW50IGluZGV4AGludmFsaWQgZGF0YSBzZWdtZW50IGluZGV4AGJhZCBsb2NhbC5zZXQgaW5kZXgAYmFkIGxvY2FsLmdldCBpbmRleABpbnZhbGlkIGZ1bmN0aW9uIGluZGV4AEV4cGVjdGVkIG51bWVyaWMgZnVuY3Rpb24gaW5kZXgAaW52YWxpZCBsb2NhbCBpbmRleABiYWQgbG9jYWwgaW5kZXgAaW52YWxpZCBnbG9iYWwgaW5kZXgAYmFkIHN0cmluZyBpbmRleABpbnZhbGlkIHRhZyBpbmRleABiYWQgdGFnIGluZGV4AGludmFsaWQgdHlwZSBpbmRleABJbGxlZ2FsIGxhbmUgaW5kZXgAaW52YWxpZCBsYW5lIGluZGV4AEV4cGVjdGVkIGxhbmUgaW5kZXgAaW52YWxpZCB0YWJsZSBpbmRleABiYWQgdGFibGUgaW5kZXgAdW5leHBlY3RlZCBpbmRleABuZXdQYXJlbnQgPD0gaW5kZXgAb3RoZXIgIT0gaW5kZXgAZ2V0TWVtb3J5SW5kZXgAZ2V0TmV3SW5kZXgAQmluYXJ5ZW5BcnJheUNvcHlTZXREZXN0SW5kZXgAQmluYXJ5ZW5BcnJheUNvcHlHZXREZXN0SW5kZXgAZ2V0RWxlbWVudFNlZ21lbnRJbmRleABnZXREYXRhU2VnbWVudEluZGV4AHNldEluZGV4IDwgZ2V0SW5kZXgAQmluYXJ5ZW5BcnJheVNldFNldEluZGV4AEJpbmFyeWVuU3RydWN0U2V0U2V0SW5kZXgAQmluYXJ5ZW5Mb2NhbFNldFNldEluZGV4AEJpbmFyeWVuVGFibGVTZXRTZXRJbmRleABCaW5hcnllbkFycmF5R2V0U2V0SW5kZXgAQmluYXJ5ZW5TdHJ1Y3RHZXRTZXRJbmRleABCaW5hcnllbkxvY2FsR2V0U2V0SW5kZXgAQmluYXJ5ZW5UYWJsZUdldFNldEluZGV4AEJpbmFyeWVuVHVwbGVFeHRyYWN0U2V0SW5kZXgAQmluYXJ5ZW5TSU1ERXh0cmFjdFNldEluZGV4AEJpbmFyeWVuU0lNRExvYWRTdG9yZUxhbmVTZXRJbmRleABCaW5hcnllblNJTURSZXBsYWNlU2V0SW5kZXgAQmluYXJ5ZW5BcnJheVNldEdldEluZGV4AEJpbmFyeWVuU3RydWN0U2V0R2V0SW5kZXgAQmluYXJ5ZW5Mb2NhbFNldEdldEluZGV4AEJpbmFyeWVuVGFibGVTZXRHZXRJbmRleABCaW5hcnllbkFycmF5R2V0R2V0SW5kZXgAQmluYXJ5ZW5TdHJ1Y3RHZXRHZXRJbmRleABCaW5hcnllbkxvY2FsR2V0R2V0SW5kZXgAQmluYXJ5ZW5UYWJsZUdldEdldEluZGV4AEJpbmFyeWVuVHVwbGVFeHRyYWN0R2V0SW5kZXgAQmluYXJ5ZW5TSU1ERXh0cmFjdEdldEluZGV4AEJpbmFyeWVuU0lNRExvYWRTdG9yZUxhbmVHZXRJbmRleABCaW5hcnllblNJTURSZXBsYWNlR2V0SW5kZXgAbWFwSW5kZXgAZ2V0RnVuY3Rpb25JbmRleABnZXRHbG9iYWxJbmRleABnZXRTdHJpbmdJbmRleABnZXRUYWdJbmRleABnZXRTaWduYXR1cmVJbmRleABnZXRUeXBlSW5kZXgAZ2V0VGFibGVJbmRleABCaW5hcnllbkFycmF5Q29weVNldFNyY0luZGV4AEJpbmFyeWVuQXJyYXlDb3B5R2V0U3JjSW5kZXgAZ2V0RGF0YUluZGV4AGZyZWVJZHgAZjMyeDQucG1heABmNjR4Mi5wbWF4AE1hdGhfbWF4AGYzMng0LnJlbGF4ZWRfbWF4AGY2NHgyLnJlbGF4ZWRfbWF4AGYzMng0Lm1heABmNjQubWF4AGY2NHgyLm1heABmMzIubWF4AC0rICAgMFgweAA6MHgALTBYKzBYIDBYLTB4KzB4IDB4ADs7IGNvZGUgb2Zmc2V0OiAweAByZXRocm93AFJldGhyb3cAdmlzaXRUaHJvdwBfX3dhc21fbWVtb3J5X2dyb3cAbWVtb3J5Lmdyb3cAaW52YWxpZCB0YWJsZSBuYW1lIGluIHRhYmxlLmdyb3cATWVtb3J5R3JvdwBUYWJsZUdyb3cAcG93AHNob3VsZCBoYXZlIGJlZW4gcmVtb3ZlZCBieSBub3cAbW9kZSAhPSBUcmFwTW9kZTo6QWxsb3cAaTY0LnRydW5jVUZsb2F0IG92ZXJmbG93AGkzMi50cnVuY1VGbG9hdCBvdmVyZmxvdwBpNjQudHJ1bmNTRmxvYXQgb3ZlcmZsb3cAaTMyLnRydW5jU0Zsb2F0IG92ZXJmbG93AGk2NC5kaXZfcyBvdmVyZmxvdwBpMzIuZGl2X3Mgb3ZlcmZsb3cAX19uZXh0X3ByaW1lIG92ZXJmbG93AGNhbGxUYWJsZSBvdmVyZmxvdwBMRUIgb3ZlcmZsb3cAc2V0IHZhbHVlcyBjYW5ub3QgYmUgY29udHJvbCBmbG93AEZsb3cAQmluYXJ5ZW5Db25zdFNldFZhbHVlSTY0TG93AEJpbmFyeWVuQ29uc3RHZXRWYWx1ZUk2NExvdwAuYXRvbWljLnJtdwBhcnJheS5uZXcAYXJndW1lbnRzIHByb3ZpZGVkIGZvciBzdHJ1Y3QubmV3AGkzMS5uZXcAdW5rbm93biBuZXcAdmFyIGNvbnN0IGZ1bmN0aW9uIGlmIGVsc2UgZG8gd2hpbGUgZm9yIGJyZWFrIGNvbnRpbnVlIHJldHVybiBzd2l0Y2ggY2FzZSBkZWZhdWx0IHRocm93IHRyeSBjYXRjaCBmaW5hbGx5IHRydWUgZmFsc2UgbnVsbCBuZXcAYnVmZmVyVmlldwB2aXNpdEFycmF5TmV3AHZpc2l0U3RydWN0TmV3AFN0cmluZ05ldwBTZXRHbG9iYWxzIHVzYWdlOiAgd2FzbS1vcHQgLS1wYXNzLWFyZz1zZXQtZ2xvYmFsc0B4PXksej13AE5vdgBlbnYAX193YXNtX2k2NF91ZGl2AF9fd2FzbV9pNjRfc2RpdgBmMzJ4NC5kaXYAZjY0LmRpdgBmNjR4Mi5kaXYAZjMyLmRpdgBpNjR1LWRpdgBpMzJ1LWRpdgBpNjRzLWRpdgBpMzJzLWRpdgBmcGNhc3QtZW11ACVsbHUAVGh1AGkxNng4Lm1heF91AGk4eDE2Lm1heF91AGkzMng0Lm1heF91AGk2NC5kaXZfdQBpMzIuZGl2X3UAaTE2eDgubHRfdQBpOHgxNi5sdF91AGkzMng0Lmx0X3UAaTY0Lmx0X3UAaTMyLmx0X3UAaTE2eDguZ3RfdQBpOHgxNi5ndF91AGkzMng0Lmd0X3UAaTY0Lmd0X3UAaTMyLmd0X3UAYXJyYXkuZ2V0X3UAc3RydWN0LmdldF91AGkzMS5nZXRfdQBpMTZ4OC5hZGRfc2F0X3UAaTh4MTYuYWRkX3NhdF91AGkxNng4LnN1Yl9zYXRfdQBpOHgxNi5zdWJfc2F0X3UAaTY0LmF0b21pYy5ybXc4Lnhvcl91AGkzMi5hdG9taWMucm13OC54b3JfdQBpNjQuYXRvbWljLnJtdzE2Lnhvcl91AGkzMi5hdG9taWMucm13MTYueG9yX3UAaTY0LmF0b21pYy5ybXczMi54b3JfdQBpNjQuYXRvbWljLnJtdzgub3JfdQBpMzIuYXRvbWljLnJtdzgub3JfdQBpNjQuYXRvbWljLnJtdzE2Lm9yX3UAaTMyLmF0b21pYy5ybXcxNi5vcl91AGk2NC5hdG9taWMucm13MzIub3JfdQBpMTZ4OC5zaHJfdQBpOHgxNi5zaHJfdQBpMzJ4NC5zaHJfdQBpNjQuc2hyX3UAaTY0eDIuc2hyX3UAaTMyLnNocl91AGkxNng4LmF2Z3JfdQBpOHgxNi5hdmdyX3UAaTE2eDgubWluX3UAaTh4MTYubWluX3UAaTMyeDQubWluX3UAaTY0LnJlbV91AGkzMi5yZW1fdQBpNjQuYXRvbWljLnJtdzguY21weGNoZ191AGkzMi5hdG9taWMucm13OC5jbXB4Y2hnX3UAaTY0LmF0b21pYy5ybXcxNi5jbXB4Y2hnX3UAaTMyLmF0b21pYy5ybXcxNi5jbXB4Y2hnX3UAaTY0LmF0b21pYy5ybXczMi5jbXB4Y2hnX3UAaTY0LmF0b21pYy5ybXc4LnhjaGdfdQBpMzIuYXRvbWljLnJtdzgueGNoZ191AGk2NC5hdG9taWMucm13MTYueGNoZ191AGkzMi5hdG9taWMucm13MTYueGNoZ191AGk2NC5hdG9taWMucm13MzIueGNoZ191AGkxNng4LmV4dHJhY3RfbGFuZV91AGk4eDE2LmV4dHJhY3RfbGFuZV91AGkxNng4LmxlX3UAaTh4MTYubGVfdQBpMzJ4NC5sZV91AGk2NC5sZV91AGkzMi5sZV91AGkxNng4LmdlX3UAaTh4MTYuZ2VfdQBpMzJ4NC5nZV91AGk2NC5nZV91AGkzMi5nZV91AGk2NC5hdG9taWMucm13OC5hbmRfdQBpMzIuYXRvbWljLnJtdzguYW5kX3UAaTY0LmF0b21pYy5ybXcxNi5hbmRfdQBpMzIuYXRvbWljLnJtdzE2LmFuZF91AGk2NC5hdG9taWMucm13MzIuYW5kX3UAaTY0LmF0b21pYy5ybXc4LmFkZF91AGkzMi5hdG9taWMucm13OC5hZGRfdQBpNjQuYXRvbWljLnJtdzE2LmFkZF91AGkzMi5hdG9taWMucm13MTYuYWRkX3UAaTY0LmF0b21pYy5ybXczMi5hZGRfdQBpNjQuYXRvbWljLnJtdzguc3ViX3UAaTMyLmF0b21pYy5ybXc4LnN1Yl91AGk2NC5hdG9taWMucm13MTYuc3ViX3UAaTMyLmF0b21pYy5ybXcxNi5zdWJfdQBpNjQuYXRvbWljLnJtdzMyLnN1Yl91AHYxMjgubG9hZDh4OF91AGk4eDE2Lm5hcnJvd19pMTZ4OF91AGkzMng0LmV4dG11bF9sb3dfaTE2eDhfdQBpMzJ4NC5leHRlbmRfbG93X2kxNng4X3UAaTMyeDQuZXh0bXVsX2hpZ2hfaTE2eDhfdQBpMzJ4NC5leHRlbmRfaGlnaF9pMTZ4OF91AGkzMng0LmV4dGFkZF9wYWlyd2lzZV9pMTZ4OF91AGk2NC5hdG9taWMubG9hZDhfdQBpMzIuYXRvbWljLmxvYWQ4X3UAaTY0LmxvYWQ4X3UAaTMyLmxvYWQ4X3UAaTE2eDguZXh0bXVsX2xvd19pOHgxNl91AGkxNng4LmV4dGVuZF9sb3dfaTh4MTZfdQBpMTZ4OC5leHRtdWxfaGlnaF9pOHgxNl91AGkxNng4LmV4dGVuZF9oaWdoX2k4eDE2X3UAaTE2eDguZXh0YWRkX3BhaXJ3aXNlX2k4eDE2X3UAaTY0LmF0b21pYy5sb2FkMTZfdQBpMzIuYXRvbWljLmxvYWQxNl91AGk2NC5sb2FkMTZfdQBpMzIubG9hZDE2X3UAdjEyOC5sb2FkMTZ4NF91AGkxNng4Lm5hcnJvd19pMzJ4NF91AGY2NHgyLmNvbnZlcnRfbG93X2kzMng0X3UAaTY0eDIuZXh0bXVsX2xvd19pMzJ4NF91AGk2NHgyLmV4dGVuZF9sb3dfaTMyeDRfdQBmMzJ4NC5jb252ZXJ0X2kzMng0X3UAaTY0eDIuZXh0bXVsX2hpZ2hfaTMyeDRfdQBpNjR4Mi5leHRlbmRfaGlnaF9pMzJ4NF91AGkzMng0LnRydW5jX3NhdF9mMzJ4NF91AGkzMng0LnJlbGF4ZWRfdHJ1bmNfZjMyeDRfdQBmNjQuY29udmVydF9pNjRfdQBmMzIuY29udmVydF9pNjRfdQBpNjQudHJ1bmNfc2F0X2Y2NF91AGkzMi50cnVuY19zYXRfZjY0X3UAaTY0LnRydW5jX2Y2NF91AGkzMi50cnVuY19mNjRfdQB2MTI4LmxvYWQzMngyX3UAZjY0LmNvbnZlcnRfaTMyX3UAZjMyLmNvbnZlcnRfaTMyX3UAaTY0LmV4dGVuZF9pMzJfdQBpNjQudHJ1bmNfc2F0X2YzMl91AGkzMi50cnVuY19zYXRfZjMyX3UAaTY0LnRydW5jX2YzMl91AGkzMi50cnVuY19mMzJfdQBpNjQuYXRvbWljLmxvYWQzMl91AGk2NC5sb2FkMzJfdQBsb2FkOHUAbG9hZDE2dQBsb2FkNjR1AGxvYWQzMnUAemV4dABlcnJvciBpbiBwYXJzaW5nIHdhc20gdGV4dABzdHJpbmd2aWV3X2l0ZXIubmV4dABTdHJpbmdJdGVyTmV4dABzaWduLWV4dABtYWtlU2lnbkV4dABlcnJvciBpbiB2YWxpZGF0aW5nIHdhc20yanMgb3V0cHV0AGVtaXQgdGhlIHRhcmdldCBmZWF0dXJlcyBzZWN0aW9uIGluIHRoZSBvdXRwdXQAdW5hcmllcyBtdXN0IG5vdCByZWNlaXZlIGEgbm9uZSBhcyB0aGVpciBpbnB1dABTZWN0aW9uIGV4dGVuZHMgYmV5b25kIGVuZCBvZiBpbnB1dAB1bmV4cGVjdGVkIGVuZCBvZiBpbnB1dAB1bnN1cHBvcnRlZCBsb2NhbGUgZm9yIHN0YW5kYXJkIGlucHV0AEJpbmFyeWVuQXRvbWljV2FpdFNldFRpbWVvdXQAQmluYXJ5ZW5BdG9taWNXYWl0R2V0VGltZW91dABtdXQAc3R1Yk91dABBdWd1c3QAZ2V0UmVzdWx0T2ZGaXJzdABwb3N0AHRvcG1vc3QAdmlzaXRQb3N0AGk2NF9jb25zdABzdHJpbmcuY29uc3QAdjEyOC5jb25zdABpNjQuY29uc3QAZjY0LmNvbnN0AGkzMi5jb25zdABmMzIuY29uc3QAZXh0ZW5kZWQtY29uc3QAYmFkIGNvbnN0AFN0cmluZ0NvbnN0AG1ha2VDb25zdABkb0VuZFRocm93aW5nSW5zdABtZW1vcnkuYXRvbWljTm90aWZ5IG1lbW9yeSBtdXN0IGV4aXN0AG1lbW9yeS5ncm93IG1lbW9yeSBtdXN0IGV4aXN0AG1lbW9yeS5pbml0IG1lbW9yeSBtdXN0IGV4aXN0AG1lbW9yeS5hdG9taWNXYWl0IG1lbW9yeSBtdXN0IGV4aXN0AG1lbW9yeS5maWxsIG1lbW9yeSBtdXN0IGV4aXN0AG1lbW9yeS5hdG9taWNDbXB4Y2hnIG1lbW9yeSBtdXN0IGV4aXN0AG1lbW9yeS5zaXplIG1lbW9yeSBtdXN0IGV4aXN0AG1lbW9yeS5zdG9yZSBtZW1vcnkgbXVzdCBleGlzdABtZW1vcnkuU0lNRExvYWRTdG9yZUxhbmUgbWVtb3J5IG11c3QgZXhpc3QAbWVtb3J5LmxvYWQgbWVtb3J5IG11c3QgZXhpc3QAbWVtb3J5LlNJTURMb2FkIG1lbW9yeSBtdXN0IGV4aXN0AG1lbW9yeS5hdG9taWNSTVcgbWVtb3J5IG11c3QgZXhpc3QAbWVtb3J5LmNvcHkgZGVzdE1lbW9yeSBtdXN0IGV4aXN0AG1lbW9yeS5jb3B5IHNvdXJjZU1lbW9yeSBtdXN0IGV4aXN0AGFycmF5LmluaXRfZWxlbSBzZWdtZW50IG11c3QgZXhpc3QAYXJyYXkuaW5pdF9kYXRhIHNlZ21lbnQgbXVzdCBleGlzdABjYWxsIHRhcmdldCBtdXN0IGV4aXN0AHRocm93J3MgdGFnIG11c3QgZXhpc3QAdGFibGUuZ3JvdyB0YWJsZSBtdXN0IGV4aXN0AHRhYmxlLmNvcHkgZGVzdCB0YWJsZSBtdXN0IGV4aXN0AHRhYmxlLnNldCB0YWJsZSBtdXN0IGV4aXN0AHRhYmxlLmdldCB0YWJsZSBtdXN0IGV4aXN0AGNhbGwtaW5kaXJlY3QgdGFibGUgbXVzdCBleGlzdAB0YWJsZS5maWxsIHRhYmxlIG11c3QgZXhpc3QAdGFibGUuc2l6ZSB0YWJsZSBtdXN0IGV4aXN0AHRhYmxlLmNvcHkgc291cmNlIHRhYmxlIG11c3QgZXhpc3QAZnVuY3Rpb24gYXJndW1lbnQgb2YgcmVmLmZ1bmMgbXVzdCBleGlzdAAgZG9lcyBub3QgZXhpc3QAbWVtb3J5LmluaXQgc2VnbWVudCBzaG91bGQgZXhpc3QAZGF0YS5kcm9wIHNlZ21lbnQgc2hvdWxkIGV4aXN0AGFycmF5Lm5ld19lbGVtIHNlZ21lbnQgc2hvdWxkIGV4aXN0AGFycmF5Lm5ld19kYXRhIHNlZ21lbnQgc2hvdWxkIGV4aXN0AGFzeW5jaWZ5LW9ubHlsaXN0AGFzeW5jaWZ5LWJsYWNrbGlzdABhc3luY2lmeS1yZW1vdmVsaXN0AGFzeW5jaWZ5LXdoaXRlbGlzdABhc3luY2lmeS1hZGRsaXN0AGV4cGVjdGVkIG1vcmUgZWxlbWVudHMgaW4gbGlzdABuYW1lIGxpc3QAZXhwZWN0ZWQgbGlzdABsaW5rQ2hpbGRMaXN0AHNwZWN0ZXN0AGYzMng0Lm5lYXJlc3QAZjY0Lm5lYXJlc3QAZjY0eDIubmVhcmVzdABmMzIubmVhcmVzdAB0YWJsZS5jb3B5IHNvdXJjZSBtdXN0IGhhdmUgcmlnaHQgdHlwZSBmb3IgZGVzdABSZWZUZXN0AEJpbmFyeWVuTWVtb3J5Q29weVNldERlc3QAQmluYXJ5ZW5NZW1vcnlJbml0U2V0RGVzdABCaW5hcnllbk1lbW9yeUZpbGxTZXREZXN0AEJpbmFyeWVuTWVtb3J5Q29weUdldERlc3QAQmluYXJ5ZW5NZW1vcnlJbml0R2V0RGVzdABCaW5hcnllbk1lbW9yeUZpbGxHZXREZXN0AGJyX29uX2Nhc3QAc3RkOjpiYWRfY2FzdAB2aXNpdFJlZkNhc3QAbm90ZUNhc3QATWF0aF9zcXJ0AGYzMng0LnNxcnQAZjY0LnNxcnQAZjY0eDIuc3FydABmMzIuc3FydAAhbXVzdF9leHBvcnQAZHVwbGljYXRlIGV4cG9ydABpbnZhbGlkIGV4cG9ydABnZXRFeHBvcnQAYWRkRXhwb3J0AG1ha2VDYWxsU3VwcG9ydABjYWxsIHRvIHVuaWRlbmZpZWQgYXN5bmNpZnkgaW1wb3J0AG1vZHVsZSBidXQgbm8gYmFzZSBmb3IgaW1wb3J0AG5vIG5hbWUgZm9yIGltcG9ydABkdXBsaWNhdGUgaW1wb3J0AGludmFsaWQgaW1wb3J0AGluc2VydABsaXZlID09IGN1cnItPmNvbnRlbnRzLnN0YXJ0AEJpbmFyeWVuU3RyaW5nTmV3U2V0U3RhcnQAQmluYXJ5ZW5TdHJpbmdFbmNvZGVTZXRTdGFydABCaW5hcnllblN0cmluZ1NsaWNlV1RGU2V0U3RhcnQAQmluYXJ5ZW5TdHJpbmdOZXdHZXRTdGFydABCaW5hcnllblN0cmluZ0VuY29kZUdldFN0YXJ0AEJpbmFyeWVuU3RyaW5nU2xpY2VXVEZHZXRTdGFydABkZXB0aEZyb21Sb290IDw9IG90aGVyRGVwdGhGcm9tUm9vdABhRGVwdGhGcm9tUm9vdCA+PSBiRGVwdGhGcm9tUm9vdABsdWJEZXB0aEZyb21Sb290IDw9IGJEZXB0aEZyb21Sb290AGJEZXB0aEZyb21Sb290ID49IGFEZXB0aEZyb21Sb290AGx1YkRlcHRoRnJvbVJvb3QgPD0gYURlcHRoRnJvbVJvb3QAIVJvb3QAdjEyOC5hbmRub3QAdjEyOC5ub3QAZG90AGludmFsaWQgcGFyYW0gY291bnQAQmluYXJ5ZW5BdG9taWNOb3RpZnlTZXROb3RpZnlDb3VudABCaW5hcnllbkF0b21pY05vdGlmeUdldE5vdGlmeUNvdW50AGZyb250AGNvbnQAZjY0LXRvLXVpbnQAZjMyLXRvLXVpbnQAcHJpbnQAbm9udHJhcHBpbmctZnB0b2ludABzdHJpbmcuZnJvbV9jb2RlX3BvaW50AGZpcnN0UHVzaGFibGUgIT0gSW5kZXgoLTEpICYmIHB1c2hQb2ludCAhPSBJbmRleCgtMSkgJiYgZmlyc3RQdXNoYWJsZSA8IHB1c2hQb2ludABub250cmFwcGluZy1mbG9hdC10by1pbnQAZjY0LXRvLWludABmMzItdG8taW50AEF0b21pY1dhaXQgZXhwZWN0ZWQgdHlwZSBtdXN0IGJlIGludABvcGVyYXRvciB1bnNpZ25lZCBpbnQAYmFkIGNoaWxkUGFyZW50cyBjb250ZW50AGNoaWxkIG5vdCBmb3VuZCBpbiBwYXJlbnQAZ2V0UGFyZW50AGluc3RydW1lbnQAQmluYXJ5ZW5TZXRQYXNzQXJndW1lbnQAQmluYXJ5ZW5HZXRQYXNzQXJndW1lbnQAc3NhLWlmeSB2YXJpYWJsZXMgc28gdGhhdCB0aGV5IGhhdmUgYSBzaW5nbGUgYXNzaWdubWVudABhdG9taWMgYWNjZXNzZXMgbXVzdCBoYXZlIG5hdHVyYWwgYWxpZ25tZW50AGludmFsaWQgYWxpZ25tZW50AHZhbGlkYXRlQWxpZ25tZW50AHVua25vd24gZWxlbSBzZWdtZW50AHVua25vd24gZGF0YSBzZWdtZW50AGdldEVsZW1lbnRTZWdtZW50AGFkZEVsZW1lbnRTZWdtZW50AEJpbmFyeWVuTWVtb3J5SW5pdFNldFNlZ21lbnQAQmluYXJ5ZW5EYXRhRHJvcFNldFNlZ21lbnQAQmluYXJ5ZW5NZW1vcnlJbml0R2V0U2VnbWVudABCaW5hcnllbkRhdGFEcm9wR2V0U2VnbWVudABvcHRpbWl6ZVNlZ21lbnQAdmlzaXREYXRhU2VnbWVudABnZXREYXRhU2VnbWVudABhZGREYXRhU2VnbWVudAB1bmtub3duIG1vZHVsZSBlbGVtZW50AHVuaW5pdGlhbGl6ZWQgdGFibGUgZWxlbWVudAB1bnJlYWNoYWJsZSBibG9jayBzaG91bGQgaGF2ZSB1bnJlYWNoYWJsZSBlbGVtZW50AGludmFsaWQgZWxlbWVudAB0dXBsZS5leHRyYWN0IHR5cGUgZG9lcyBub3QgbWF0Y2ggdGhlIHR5cGUgb2YgdGhlIGV4dHJhY3RlZCBlbGVtZW50AENtcHhjaGcgcmVzdWx0IHR5cGUgbXVzdCBtYXRjaCByZXBsYWNlbWVudABCaW5hcnllbkF0b21pY0NtcHhjaGdTZXRSZXBsYWNlbWVudABCaW5hcnllbkF0b21pY0NtcHhjaGdHZXRSZXBsYWNlbWVudABkZWNJbmRlbnQAaTh4MTYucG9wY250AGk2NC5wb3BjbnQAaTMyLnBvcGNudABnbG9iYWwgaW5pdCBtdXN0IGJlIGNvbnN0YW50AG1lbW9yeSBzZWdtZW50IG9mZnNldCBzaG91bGQgYmUgY29uc3RhbnQAdGFibGUgc2VnbWVudCBvZmZzZXQgc2hvdWxkIGJlIGNvbnN0YW50AG9wdGltaXplRXhwclRvQ29uc3RhbnQAd2FzbTJqcyRleHByZXN1bHQAd2FzbTJqcyRub3Jlc3VsdAB1bmV4cGVjdGVkIHJlc3VsdABhbGlnbmZhdWx0AHNlZ2ZhdWx0AGFycmF5Lm5ld19kZWZhdWx0AHN0cnVjdC5uZXdfZGVmYXVsdABzbHQAZjMyeDQubHQAZjY0Lmx0AGY2NHgyLmx0AGYzMi5sdABzdGFjayBub3QgZW1wdHkgb24gZnVuY3Rpb24gZXhpdAB2aXNpdABzdHJpbmd2aWV3X3d0ZjE2LmdldF9jb2RldW5pdAB3YXNtMmpzX21lbW9yeV9pbml0AGN1cnItPmluaXQAb3V0IG9mIGJvdW5kcyBtZW1vcnkgYWNjZXNzIGluIG1lbW9yeS5pbml0AG91dCBvZiBib3VuZHMgc2VnbWVudCBhY2Nlc3MgaW4gbWVtb3J5LmluaXQAb3V0IG9mIGJvdW5kcyBhcnJheSBhY2Nlc3MgaW4gYXJyYXkuaW5pdABvdXQgb2YgYm91bmRzIHNlZ21lbnQgYWNjZXNzIGluIGFycmF5LmluaXQAZXhjZXNzaXZlIG1lbW9yeSBpbml0AGdsb2JhbCB3aXRob3V0IGluaXQAdmlzaXRNZW1vcnlJbml0AEJpbmFyeWVuQXJyYXlOZXdTZXRJbml0AEJpbmFyeWVuQXJyYXlOZXdHZXRJbml0AF9fc3RhY2tfbGltaXQAaW50ZXJwcmV0ZXIgcmVjdXJzaW9uIGxpbWl0AHN0YWNrIGxpbWl0AGRvU3BsaXQAaW52YWxpZCBWTFEgZGlnaXQAVGFibGVzIG1heSBub3QgYmUgNjQtYml0AG1lbW9yeS5hdG9taWMud2FpdAB2aXNpdEF0b21pY1dhaXQAd3JpdGUgdGhlIG1vZHVsZSB0byBiaW5hcnksIHRoZW4gcmVhZCBpdABsZWZ0ICYmIHJpZ2h0AEJpbmFyeWVuQmluYXJ5U2V0UmlnaHQAQmluYXJ5ZW5TdHJpbmdDb25jYXRTZXRSaWdodABCaW5hcnllblN0cmluZ0VxU2V0UmlnaHQAQmluYXJ5ZW5SZWZFcVNldFJpZ2h0AEJpbmFyeWVuU0lNRFNodWZmbGVTZXRSaWdodABCaW5hcnllbkJpbmFyeUdldFJpZ2h0AEJpbmFyeWVuU3RyaW5nQ29uY2F0R2V0UmlnaHQAQmluYXJ5ZW5TdHJpbmdFcUdldFJpZ2h0AEJpbmFyeWVuUmVmRXFHZXRSaWdodABCaW5hcnllblNJTURTaHVmZmxlR2V0UmlnaHQAZjMyeDQuZ3QAZjY0Lmd0AGY2NHgyLmd0AGYzMi5ndAB2ZWMgJiYgc2hpZnQAQmluYXJ5ZW5TSU1EU2hpZnRTZXRTaGlmdABCaW5hcnllblNJTURTaGlmdEdldFNoaWZ0AFNJTURTaGlmdABCaW5hcnllbkJpbmFyeVNldExlZnQAQmluYXJ5ZW5TdHJpbmdDb25jYXRTZXRMZWZ0AEJpbmFyeWVuU3RyaW5nRXFTZXRMZWZ0AEJpbmFyeWVuUmVmRXFTZXRMZWZ0AEJpbmFyeWVuU0lNRFNodWZmbGVTZXRMZWZ0AEJpbmFyeWVuQmluYXJ5R2V0TGVmdABCaW5hcnllblN0cmluZ0NvbmNhdEdldExlZnQAQmluYXJ5ZW5TdHJpbmdFcUdldExlZnQAQmluYXJ5ZW5SZWZFcUdldExlZnQAQmluYXJ5ZW5TSU1EU2h1ZmZsZUdldExlZnQAZmFuY3kgaW1wb3J0IHdlIGRvbid0IHN1cHBvcnQgeWV0AERhdGFGbG93IGRvZXMgbm90IHN1cHBvcnQgRUggaW5zdHJ1Y3Rpb25zIHlldABSZVJlbG9vcCBkb2VzIG5vdCBzdXBwb3J0IEVIIGluc3RydWN0aW9ucyB5ZXQAdHdvIGRpZmZlcmVudCBtb2R1bGVzIHlldABjb250cm9sIGZsb3cgaW5wdXRzIGFyZSBub3Qgc3VwcG9ydGVkIHlldABub24tY29uc3RhbnQgb2Zmc2V0cyBhcmVuJ3Qgc3VwcG9ydGVkIHlldAB2MTI4IG5vdCBpbXBsZW1lbnRlZCB5ZXQAX2J5dGVfb2Zmc2V0AGN1cnItPm9mZnNldCArIDQgPiBjdXJyLT5vZmZzZXQAbm9uLXRhYmxlIHNlZ21lbnQgb2Zmc2V0IHNob3VsZCBoYXZlIG5vIG9mZnNldABwYXNzaXZlIHNlZ21lbnQgc2hvdWxkIG5vdCBoYXZlIGFuIG9mZnNldAB0YWJsZSBzZWdtZW50IG9mZnNldCBzaG91bGQgaGF2ZSBhbiBvZmZzZXQAb3V0IG9mIHJhbmdlIGJyZWFrIG9mZnNldABpbnZhbGlkIGJyZWFrIG9mZnNldABiYWQgb2Zmc2V0AEJpbmFyeWVuTWVtb3J5SW5pdFNldE9mZnNldABCaW5hcnllbkF0b21pY0NtcHhjaGdTZXRPZmZzZXQAQmluYXJ5ZW5TdG9yZVNldE9mZnNldABCaW5hcnllblNJTURMb2FkU3RvcmVMYW5lU2V0T2Zmc2V0AEJpbmFyeWVuTG9hZFNldE9mZnNldABCaW5hcnllblNJTURMb2FkU2V0T2Zmc2V0AEJpbmFyeWVuQXRvbWljUk1XU2V0T2Zmc2V0AEJpbmFyeWVuTWVtb3J5SW5pdEdldE9mZnNldABCaW5hcnllbkF0b21pY0NtcHhjaGdHZXRPZmZzZXQAQmluYXJ5ZW5TdG9yZUdldE9mZnNldABCaW5hcnllblNJTURMb2FkU3RvcmVMYW5lR2V0T2Zmc2V0AEJpbmFyeWVuTG9hZEdldE9mZnNldABCaW5hcnllblNJTURMb2FkR2V0T2Zmc2V0AEJpbmFyeWVuQXRvbWljUk1XR2V0T2Zmc2V0AHJlc2V0AGFycmF5LnNldABzdHJ1Y3Quc2V0AGxvY2FsLnNldABnbG9iYWwuc2V0AGludmFsaWQgdGFibGUgbmFtZSBpbiB0YWJsZS5zZXQAcmVpbnRlcnByZXQAX19zZXRfdGVtcF9yZXQAX19nZXRfdGVtcF9yZXQAdmFyIHJldAAgPSByZXQAbGV0AF9fYmluYXJ5ZW5fZGVsZWdhdGVfY2FsbGVyX3RhcmdldABEZWZhdWx0VGFyZ2V0AEJpbmFyeWVuUmV0aHJvd1NldFRhcmdldABCaW5hcnllbkNhbGxJbmRpcmVjdFNldFRhcmdldABCaW5hcnllbkNhbGxTZXRUYXJnZXQAQmluYXJ5ZW5DYWxsUmVmU2V0VGFyZ2V0AEJpbmFyeWVuUmV0aHJvd0dldFRhcmdldABCaW5hcnllbkNhbGxJbmRpcmVjdEdldFRhcmdldABCaW5hcnllbkNhbGxHZXRUYXJnZXQAQmluYXJ5ZW5DYWxsUmVmR2V0VGFyZ2V0AGZpbmRCcmVha1RhcmdldABCaW5hcnllblRyeVNldERlbGVnYXRlVGFyZ2V0AEJpbmFyeWVuVHJ5R2V0RGVsZWdhdGVUYXJnZXQAYXJyYXkuZ2V0AHN0cnVjdC5nZXQAbG9jYWwuZ2V0AGdsb2JhbC5nZXQAaW52YWxpZCB0YWJsZSBuYW1lIGluIHRhYmxlLmdldABpZmYtPmlmRmFsc2UgPT0gZ2V0ACpzZXRJbmZsdWVuY2VzLmJlZ2luKCkgPT0gZ2V0AGV4cHJlc3Npb25TdGFjay5iYWNrKCkgPT0gZ2V0AEFycmF5U2V0AFN0cnVjdFNldABjdXJyT25jZUdsb2JhbHNTZXQgPj0gbGFzdE9uY2VHbG9iYWxzU2V0AHZpc2l0TG9jYWxTZXQAZG9WaXNpdExvY2FsU2V0AHZpc2l0R2xvYmFsU2V0AGdldFB1YmxpY1R5cGVTZXQAVGFibGVTZXQAQXJyYXlHZXQAdmlzaXRTdHJ1Y3RHZXQAdmlzaXRMb2NhbEdldABvcHRpbWl6ZUxvY2FsR2V0AHZpc2l0R2xvYmFsR2V0AFRhYmxlR2V0AFN0cmluZ1dURjE2R2V0AEkzMUdldAAoc3RydWN0AHN0cnVjdC5uZXcgaGVhcCB0eXBlIG11c3QgYmUgc3RydWN0AHN0cnVjdC5zZXQgcmVmIG11c3QgYmUgYSBzdHJ1Y3QAc3RydWN0LmdldCByZWYgbXVzdCBiZSBhIHN0cnVjdABtb2RpZnlTdHJ1Y3QAZ2V0U3RydWN0AGludGVyc2VjdABjb252ZXJ0IHR5cGUgbXVzdCBiZSBjb3JyZWN0AGxvY2FsLnNldCB0eXBlIG11c3QgYmUgY29ycmVjdAB3cmFwIHR5cGUgbXVzdCBiZSBjb3JyZWN0AGk2NCB1bmFyeSB2YWx1ZSB0eXBlIG11c3QgYmUgY29ycmVjdABmNjQgdW5hcnkgdmFsdWUgdHlwZSBtdXN0IGJlIGNvcnJlY3QAaTMyIHVuYXJ5IHZhbHVlIHR5cGUgbXVzdCBiZSBjb3JyZWN0AGYzMiB1bmFyeSB2YWx1ZSB0eXBlIG11c3QgYmUgY29ycmVjdABsb2NhbC5zZXQncyB2YWx1ZSB0eXBlIG11c3QgYmUgY29ycmVjdABwcm9tb3RlIHR5cGUgbXVzdCBiZSBjb3JyZWN0AGRlbW90ZSB0eXBlIG11c3QgYmUgY29ycmVjdABleHRlbmQgdHlwZSBtdXN0IGJlIGNvcnJlY3QAdHJ1bmMgdHlwZSBtdXN0IGJlIGNvcnJlY3QAcmVpbnRlcnByZXQvaTY0IHR5cGUgbXVzdCBiZSBjb3JyZWN0AHJlaW50ZXJwcmV0L2Y2NCB0eXBlIG11c3QgYmUgY29ycmVjdAByZWludGVycHJldC9pMzIgdHlwZSBtdXN0IGJlIGNvcnJlY3QAcmVpbnRlcnByZXQvZjMyIHR5cGUgbXVzdCBiZSBjb3JyZWN0AHJldHVybl9jYWxsX2luZGlyZWN0AGFzeW5jaWZ5LWlnbm9yZS1pbmRpcmVjdAB2aXNpdENhbGxJbmRpcmVjdABtYWtlQ2FsbEluZGlyZWN0AHYxMjguYml0c2VsZWN0AGkxNng4LmxhbmVzZWxlY3QAaTh4MTYubGFuZXNlbGVjdABpMzJ4NC5sYW5lc2VsZWN0AGk2NHgyLmxhbmVzZWxlY3QAc3RhY2suYmFjaygpID09IHNlbGVjdAB2aXNpdFNlbGVjdABvcHRpbWl6ZVNlbGVjdABvYmplY3QAT2JqZWN0AEJhZCBpbmRleCBvbiB0dXBsZS5leHRyYWN0AHZpc2l0VHVwbGVFeHRyYWN0AFNJTURFeHRyYWN0AE9jdABwcmludCBpbiBzLWV4cHJlc3Npb24gZm9ybWF0AHByaW50IGluIGZ1bGwgcy1leHByZXNzaW9uIGZvcm1hdABwcmludCBpbiBtaW5pZmllZCBzLWV4cHJlc3Npb24gZm9ybWF0AHYxMjgubG9hZDhfc3BsYXQAdjEyOC5sb2FkMTZfc3BsYXQAdjEyOC5sb2FkNjRfc3BsYXQAdjEyOC5sb2FkMzJfc3BsYXQAaTE2eDguc3BsYXQAaTh4MTYuc3BsYXQAaTMyeDQuc3BsYXQAZjMyeDQuc3BsYXQAaTY0eDIuc3BsYXQAZjY0eDIuc3BsYXQAbmFtZXMgaW4gQmluYXJ5ZW4gSVIgbXVzdCBiZSB1bmlxdWUgLSBJUiBnZW5lcmF0b3JzIG11c3QgZW5zdXJlIHRoYXQAc3RyaW5nLmNvbmNhdABTdHJpbmdDb25jYXQAU2F0AGFycmF5OjphdABcdABCaW5hcnllblRyeUluc2VydENhdGNoQm9keUF0AEJpbmFyeWVuVHJ5U2V0Q2F0Y2hCb2R5QXQAQmluYXJ5ZW5UcnlHZXRDYXRjaEJvZHlBdABCaW5hcnllblRyeVJlbW92ZUNhdGNoQm9keUF0AGluc2VydEF0AEJpbmFyeWVuVHJ5SW5zZXJ0Q2F0Y2hUYWdBdABCaW5hcnllblRyeVNldENhdGNoVGFnQXQAQmluYXJ5ZW5UcnlHZXRDYXRjaFRhZ0F0AEJpbmFyeWVuVHJ5UmVtb3ZlQ2F0Y2hUYWdBdAByZW1vdmVBdABCaW5hcnllbkFycmF5TmV3Rml4ZWRJbnNlcnRWYWx1ZUF0AEJpbmFyeWVuQXJyYXlOZXdGaXhlZFNldFZhbHVlQXQAQmluYXJ5ZW5BcnJheU5ld0ZpeGVkR2V0VmFsdWVBdABCaW5hcnllbkFycmF5TmV3Rml4ZWRSZW1vdmVWYWx1ZUF0AEJpbmFyeWVuU3dpdGNoSW5zZXJ0TmFtZUF0AEJpbmFyeWVuU3dpdGNoU2V0TmFtZUF0AEJpbmFyeWVuU3dpdGNoR2V0TmFtZUF0AEJpbmFyeWVuU3dpdGNoUmVtb3ZlTmFtZUF0AEJpbmFyeWVuVGhyb3dJbnNlcnRPcGVyYW5kQXQAQmluYXJ5ZW5TdHJ1Y3ROZXdJbnNlcnRPcGVyYW5kQXQAQmluYXJ5ZW5DYWxsSW5kaXJlY3RJbnNlcnRPcGVyYW5kQXQAQmluYXJ5ZW5DYWxsSW5zZXJ0T3BlcmFuZEF0AEJpbmFyeWVuQ2FsbFJlZkluc2VydE9wZXJhbmRBdABCaW5hcnllblR1cGxlTWFrZUluc2VydE9wZXJhbmRBdABCaW5hcnllblRocm93U2V0T3BlcmFuZEF0AEJpbmFyeWVuU3RydWN0TmV3U2V0T3BlcmFuZEF0AEJpbmFyeWVuQ2FsbEluZGlyZWN0U2V0T3BlcmFuZEF0AEJpbmFyeWVuQ2FsbFNldE9wZXJhbmRBdABCaW5hcnllbkNhbGxSZWZTZXRPcGVyYW5kQXQAQmluYXJ5ZW5UdXBsZU1ha2VTZXRPcGVyYW5kQXQAQmluYXJ5ZW5UaHJvd0dldE9wZXJhbmRBdABCaW5hcnllblN0cnVjdE5ld0dldE9wZXJhbmRBdABCaW5hcnllbkNhbGxJbmRpcmVjdEdldE9wZXJhbmRBdABCaW5hcnllbkNhbGxHZXRPcGVyYW5kQXQAQmluYXJ5ZW5DYWxsUmVmR2V0T3BlcmFuZEF0AEJpbmFyeWVuVHVwbGVNYWtlR2V0T3BlcmFuZEF0AEJpbmFyeWVuVGhyb3dSZW1vdmVPcGVyYW5kQXQAQmluYXJ5ZW5TdHJ1Y3ROZXdSZW1vdmVPcGVyYW5kQXQAQmluYXJ5ZW5DYWxsSW5kaXJlY3RSZW1vdmVPcGVyYW5kQXQAQmluYXJ5ZW5DYWxsUmVtb3ZlT3BlcmFuZEF0AEJpbmFyeWVuQ2FsbFJlZlJlbW92ZU9wZXJhbmRBdABCaW5hcnllblR1cGxlTWFrZVJlbW92ZU9wZXJhbmRBdABCaW5hcnllbkJsb2NrSW5zZXJ0Q2hpbGRBdABCaW5hcnllbkJsb2NrU2V0Q2hpbGRBdABCaW5hcnllbkJsb2NrR2V0Q2hpbGRBdABCaW5hcnllbkJsb2NrUmVtb3ZlQ2hpbGRBdAByZW9yZGVyLWdsb2JhbHMtYWx3YXlzAG1vbm9tb3JwaGl6ZS1hbHdheXMAaW50ZXJhY3Rpb24gPT0gUGFyZW50Q2hpbGRJbnRlcmFjdGlvbjo6RnVsbHlDb25zdW1lcyB8fCBpbnRlcmFjdGlvbiA9PSBQYXJlbnRDaGlsZEludGVyYWN0aW9uOjpGbG93cwBtb2RpZnlOZXdzAGxvYWRfc2Vjb25kYXJ5X21vZHVsZV9zdGF0dXMAIGFscmVhZHkgZXhpc3RzAEFzeW5jaWZ5OiBmYWlsZWQgdG8gcGFyc2UgbGlzdHMAb3B0aW1pemUtY2FzdHMAZWxpbWluYXRlIGFuZCByZXVzZSBjYXN0cwBvcHRpbWl6ZUNhbGxDYXN0cwBqc3BpLWV4cG9ydHMAbWluaWZ5LWltcG9ydHMtYW5kLWV4cG9ydHMAbWluaWZ5LWltcG9ydHMAYXN5bmNpZnktaW1wb3J0cwBqc3BpLWltcG9ydHMAcmVtb3ZlLWltcG9ydHMAYXN5bmNpZnktaWdub3JlLWltcG9ydHMAcmVtb3ZlcyBkdXBsaWNhdGUgaW1wb3J0cwBhc3luY2lmeS1hc3NlcnRzAGdldENvbnRlbnRzAHNpbXBsaWZ5VG9Db250ZW50cwBmaWx0ZXJFeHByZXNzaW9uQ29udGVudHMAY29udGVudHMgIT0gbmFpdmVDb250ZW50cwB1cGRhdGVDb250ZW50cwB1bmhhbmRsZWQgY2FzZSBvZiBpc1N1YkNvbnRlbnRzAGZpbHRlckRhdGFDb250ZW50cwBtZXJnZXMgYmxvY2tzIHRvIHRoZWlyIHBhcmVudHMAY2FsbEluZGlyZWN0OiBiYWQgIyBvZiBhcmd1bWVudHMAbGltaXQtc2VnbWVudHMAc2VwYXJhdGUtZGF0YS1zZWdtZW50cwByZW1vdmVzIG1lbW9yeSBzZWdtZW50cwBUb28gbWFueSBzZWdtZW50cwBjcmVhdGVTcGxpdFNlZ21lbnRzAGluaXRBY3RpdmVTZWdtZW50cwBpdGVyVGFibGVTZWdtZW50cwBpbXBsZW1lbnRzAHJlbW92ZS11bnVzZWQtbm9uZnVuY3Rpb24tbW9kdWxlLWVsZW1lbnRzAHJlbW92ZS11bnVzZWQtbW9kdWxlLWVsZW1lbnRzAGV4dHJhIGltcG9ydCBlbGVtZW50cwB1bmV4cGVjdGVkIG51bWJlciBvZiBlbGVtZW50cwByZW1vdmVzIHVudXNlZCBtb2R1bGUgZWxlbWVudHMAcHVzaEJsb2NrRWxlbWVudHMAc3RhcnRfaXQuaW5kZXggPD0gZW5kX2l0LmluZGV4ICYmIGVuZF9pdC5pbmRleCA8PSB1c2VkRWxlbWVudHMAaW5kZXggPCB1c2VkRWxlbWVudHMAY3JlYXRlUmVwbGFjZW1lbnRzAG9wdGltaXplLWFkZGVkLWNvbnN0YW50cwBtaXNjZWxsYW5lb3VzIGdsb2JhbHMtcmVsYXRlZCBvcHRpbWl6YXRpb25zLCBhbmQgb3B0aW1pemVzIHdoZXJlIHdlIHJlcGxhY2VkIGdsb2JhbC5nZXRzIHdpdGggY29uc3RhbnRzAG9wdGltaXplQWRkZWRDb25zdGFudHMARXhwb3J0ZWQgZnVuY3Rpb24gbXVzdCBub3QgaGF2ZSBpNjQgcmVzdWx0cwBJbXBvcnRlZCBmdW5jdGlvbiBtdXN0IG5vdCBoYXZlIGk2NCByZXN1bHRzAEJpbmFyeWVuQ2FsbEluZGlyZWN0R2V0UmVzdWx0cwBCaW5hcnllblNpZ25hdHVyZVR5cGVHZXRSZXN1bHRzAHBhcnNlUmVzdWx0cwBfX3NldF9zdGFja19saW1pdHMAbWlzc2luZyBtZW1vcnkgbGltaXRzAGF0dGVtcHQgdG8gbWVyZ2Ugc2VnbWVudHMgdG8gZml0IHdpdGhpbiB3ZWIgbGltaXRzAF9fd2FzbV9mZXRjaF9oaWdoX2JpdHMAd2FzbTJqc19nZXRfc3Rhc2hlZF9iaXRzAFRvbyBtYW55IGxvY2F0aW9ucyBmb3IgMzIgYml0cwBnZXRNYXhCaXRzAGdldFplcm9FeHRCaXRzAGdldFNpZ25FeHRCaXRzAG9wdGltaXplcyBhZGRlZCBjb25zdGFudHMgaW50byBsb2FkL3N0b3JlIG9mZnNldHMAcmVtb3ZlIHJlZHVuZGFudCBsb2NhbC5zZXRzAHRlZXMgYXJlIG5vdCBhbGxvd2VkLCBvbmx5IHNldHMAYXZvaWQtcmVpbnRlcnByZXRzAHN3aXRjaCB3aXRoIG5vIHRhcmdldHMAZ2V0VGFyZ2V0cwBub24tbnVsbGFibGUgbG9jYWwncyBzZXRzIG11c3QgZG9taW5hdGUgZ2V0cwByZW1vdmVzIGxvY2FsLnRlZXMsIHJlcGxhY2luZyB0aGVtIHdpdGggc2V0cyBhbmQgZ2V0cwBjYWxsLndpdGhvdXQuZWZmZWN0cwBnZW5lcmF0ZS1nbG9iYWwtZWZmZWN0cwBkaXNjYXJkLWdsb2JhbC1lZmZlY3RzAGhhbmRsZUFmdGVyRWZmZWN0cwBjYWxjdWxhdGVGaXRuZXNzAGZsb3dMaXZlbmVzcwBwcm9jZXNzAGJhZF92YXJpYW50X2FjY2VzcwBvdXQgb2YgYm91bmRzIHRhYmxlIGFjY2VzcwBjbGFzcwByZWdpc3RlclRlc3RQYXNzAHJlZ2lzdGVyUGFzcwBydW5QYXNzAFRyYXBNb2RlUGFzcwBzcGlsbC1wb2ludGVycwBFeHBvcnRlZCBmdW5jdGlvbiBtdXN0IG5vdCBoYXZlIGk2NCBwYXJhbWV0ZXJzAEltcG9ydGVkIGZ1bmN0aW9uIG11c3Qgbm90IGhhdmUgaTY0IHBhcmFtZXRlcnMAcmVtb3ZlUGFyYW1ldGVycwBsZWdhbGl6ZS1qcy1pbnRlcmZhY2UtZXhwb3J0ZWQtaGVscGVycwBhdG9taWMgc3RvcmVzIG11c3QgYmUgb2YgaW50ZWdlcnMAYXRvbWljIGxvYWRzIG11c3QgYmUgb2YgaW50ZWdlcnMAaWdub3JlQ29udHJvbEZsb3dUcmFuc2ZlcnMAc3RyaXAtcHJvZHVjZXJzAHJlbW92ZS11bnVzZWQtYnJzAGNhdGNoX2FsbCdzIGJvZHkgc2hvdWxkIG5vdCBoYXZlIHBvcHMAKSBkb2Vzbid0IGhhdmUgYW55IHBhcmFtcywgYnV0IHRoZXJlIGFyZSBwb3BzAHJlbW92ZXMgaW1wb3J0cyBhbmQgcmVwbGFjZXMgdGhlbSB3aXRoIG5vcHMAaGFuZGxlZFBvcHMgPT0gdG90YWxQb3BzAHJlbW92ZS1ub24tanMtb3BzAHJlbW92ZXMgdW5uZWNlc3Nhcnkgc3VidHlwaW5nIHJlbGF0aW9uc2hpcHMAX19zdGFydF9lbV9saWJfZGVwcwBfX3N0b3BfZW1fbGliX2RlcHMAdXBkYXRlTWFwcwBwYWNrcyBtZW1vcnkgaW50byBzZXBhcmF0ZSBzZWdtZW50cywgc2tpcHBpbmcgemVyb3MAbWFrZVplcm9zAEJpbmFyeWVuU3RyaW5nV1RGMTZHZXRTZXRQb3MAQmluYXJ5ZW5TdHJpbmdXVEY4QWR2YW5jZVNldFBvcwBCaW5hcnllblN0cmluZ1dURjE2R2V0R2V0UG9zAEJpbmFyeWVuU3RyaW5nV1RGOEFkdmFuY2VHZXRQb3MAZnVuY3Rpb24gcmVzdWx0IG11c3QgbWF0Y2gsIGlmIGZ1bmN0aW9uIGhhcyByZXR1cm5zAGZ1bmN0aW9uIGJvZHkgdHlwZSBtdXN0IG1hdGNoLCBpZiBmdW5jdGlvbiByZXR1cm5zAHJlZmluZVBhcnRpdGlvbnMAb3B0aW1pemUtaW5zdHJ1Y3Rpb25zAHN0cmlwIEVIIGluc3RydWN0aW9ucwByZW9yZGVyLWZ1bmN0aW9ucwBtZXJnZS1zaW1pbGFyLWZ1bmN0aW9ucwByZW1vdmVzIHVudXNlZCBtb2R1bGUgZWxlbWVudHMgdGhhdCBhcmUgbm90IGZ1bmN0aW9ucwBjcmVhdGVzIHNwZWNpYWxpemVkIHZlcnNpb25zIG9mIGZ1bmN0aW9ucwBibG9jayBpcyB1bmFsbG93ZWQgb3V0c2lkZSBvZiBmdW5jdGlvbnMAcmVtb3ZlcyBkdXBsaWNhdGUgZnVuY3Rpb25zAHJlbmFtZUZ1bmN0aW9ucwByZWFkRnVuY3Rpb25zAGhhc0RXQVJGU2VjdGlvbnMAY3JlYXRlIG5ldyBub21pbmFsIHR5cGVzIHRvIGhlbHAgb3RoZXIgb3B0aW1pemF0aW9ucwBtaXNjZWxsYW5lb3VzIGxvY2Fscy1yZWxhdGVkIG9wdGltaXphdGlvbnMAbWlzY2VsbGFuZW91cyBnbG9iYWxzLXJlbGF0ZWQgb3B0aW1pemF0aW9ucwB0eXBlZC1jb250aW51YXRpb25zAHN0dWIgb3V0IHVuc3VwcG9ydGVkIEpTIG9wZXJhdGlvbnMAb3B0aW1pemVzIGluc3RydWN0aW9uIGNvbWJpbmF0aW9ucwBjb21wdXRlcyBjb21waWxlLXRpbWUgZXZhbHVhdGFibGUgZXhwcmVzc2lvbnMAcHJvY2Vzc0V4cHJlc3Npb25zAHBpY2stbG9hZC1zaWducwBuZWVkUGFyZW5zAGYzMng0LnJlbGF4ZWRfZm1zAGY2NHgyLnJlbGF4ZWRfZm1zAG1heC1mdW5jLXBhcmFtcwApJ3MgcG9wIGRvZXNuJ3QgaGF2ZSB0aGUgc2FtZSB0eXBlIGFzIHRoZSB0YWcncyBwYXJhbXMAc3RhcnQgbXVzdCBoYXZlIDAgcGFyYW1zAEJpbmFyeWVuQ2FsbEluZGlyZWN0R2V0UGFyYW1zAEJpbmFyeWVuU2lnbmF0dXJlVHlwZUdldFBhcmFtcwBuZXdUb09sZFtpXSA8IG51bVBhcmFtcwBkZXJpdmVQYXJhbXMAZ2VuZXJhdGUtZHluY2FsbHMAZ2VuZXJhdGUtaTY0LWR5bmNhbGxzAG9wdGltaXplRXhwcmVzc2lvblRhaWxzAG9wdGltaXplVGVybWluYXRpbmdUYWlscwBUT0RPOiBleHRlcm4gbGl0ZXJhbHMAVE9ETzogc3RyaW5nIGxpdGVyYWxzAExpdGVyYWxzAGxlZ2FsaXplLWpzLWludGVyZmFjZS1leHBvcnQtb3JpZ2luYWxzAHNpbXBsaWZ5LWxvY2FscwBpbnN0cnVtZW50LWxvY2FscwByZW9yZGVyLWxvY2FscwBtZXJnZS1sb2NhbHMAY29hbGVzY2UtbG9jYWxzAHJlcGxhY2UgR0MgYWxsb2NhdGlvbnMgd2l0aCBsb2NhbHMAY29tcHV0ZXMgY29tcGlsZS10aW1lIGV2YWx1YXRhYmxlIGV4cHJlc3Npb25zIGFuZCBwcm9wYWdhdGVzIHRoZW0gdGhyb3VnaCBsb2NhbHMAY29udmVydFRvTG9jYWxzAG1heEluZGV4IDw9IHBhcmVudC0+bnVtTG9jYWxzAGN1cnJWYWx1ZXMuc2l6ZSgpID09IG51bUxvY2FscwBpbmRpY2VzLnNpemUoKSA9PSBudW1Mb2NhbHMAaGFuZGxlTm9uRGVmYXVsdGFibGVMb2NhbHMAc2ltcGxpZnktZ2xvYmFscwBzZXQtZ2xvYmFscwByZW9yZGVyLWdsb2JhbHMAbXV0YWJsZS1nbG9iYWxzAGdsb2JhbCBpbml0aWFsaXplciBzaG91bGQgb25seSByZWZlciB0byBwcmV2aW91cyBnbG9iYWxzAHJlZmluZSB0aGUgdHlwZXMgb2YgZ2xvYmFscwBUT0RPOiBpbXBvcnRlZCBpNjQgZ2xvYmFscwBsb3dlclR1cGxlR2xvYmFscwBtZXJnZS1ibG9ja3MAY29tbW9uIHN1YmV4cHJlc3Npb24gZWxpbWluYXRpb24gaW5zaWRlIGJhc2ljIGJsb2NrcwBTa2lwRW1wdHlCbG9ja3MATWVyZ2VDb25zZWN1dGl2ZUJsb2NrcwBtdWx0aS1tZW1vcnktbG93ZXJpbmctd2l0aC1ib3VuZHMtY2hlY2tzAF9fc3RhcnRfZW1fanMAX19zdG9wX2VtX2pzAHRhaWwgY2FsbHMgbm90IHlldCBzdXBwb3J0ZWQgaW4gd2FzbTJqcwBvcHRpbWl6ZS1mb3ItanMAdHJhcC1tb2RlLWpzAHN0dWItdW5zdXBwb3J0ZWQtanMAZWFybHkgb3B0aW1pemUgb2YgdGhlIGluc3RydWN0aW9uIGNvbWJpbmF0aW9ucyBmb3IganMAcmVtb3ZlcyBvcGVyYXRpb25zIGluY29tcGF0aWJsZSB3aXRoIGpzAGNvbXB1dGVHZXRzQW5kUGhpcwBnZXRNYXhEZXB0aHMAdW5leHBlY3RlZCByZXNlcnZlZCB2YWx1ZSBpbiBzdHJpbmdzAG1hcHBpbmdzAEJpbmFyeWVuVHJ5R2V0TnVtQ2F0Y2hUYWdzAGlubGluZWRVc2VzW2lubGluZWROYW1lXSA8PSBpbmZvc1tpbmxpbmVkTmFtZV0ucmVmcwBicklmcyA+PSBkcm9wcGVkQnJJZnMAY29udHJvbCBmbG93IHN0cnVjdHVyZXMgbXVzdCBub3QgZmxvdyB2YWx1ZXMAZnVuY3Rpb24gYm9kaWVzIG11c3Qgbm90IGZsb3cgdmFsdWVzAGdsb2JhbGx5IG9wdGltaXplIHN0cnVjdCB2YWx1ZXMAcHJvcGFnYXRlIGNvbnN0YW50IHN0cnVjdCBmaWVsZCB2YWx1ZXMAc2V0cyBzcGVjaWZpZWQgZ2xvYmFscyB0byBzcGVjaWZpZWQgdmFsdWVzAGZsb3dWYWx1ZXMAYXBwbHlDb25zdGFudFZhbHVlcwBCaW5hcnllbkFycmF5TmV3Rml4ZWRHZXROdW1WYWx1ZXMAIUludG8tPlN3aXRjaFZhbHVlcwAhTmV4dE5leHRCcmFuY2gtPkNvbmRpdGlvbiAmJiAhTmV4dE5leHRCcmFuY2gtPlN3aXRjaFZhbHVlcwAhQ3VyckJyYW5jaC0+U3dpdGNoVmFsdWVzACFQYXJlbnRCbG9jay0+QnJhbmNoZXNPdXQuYmVnaW4oKS0+c2Vjb25kLT5Td2l0Y2hWYWx1ZXMAY3Vyci0+YWxpZ24gPT0gMCB8fCBjdXJyLT5hbGlnbiA9PSBjdXJyLT5ieXRlcwB1bmV4cGVjdGVkIGJ5dGVzAGV4cGVjdGVkIGk2NCBvcGVyYXRpb24gdG8gdG91Y2ggMSwgMiwgNCwgb3IgOCBieXRlcwBleHBlY3RlZCBmNjQgb3BlcmF0aW9uIHRvIHRvdWNoIDggYnl0ZXMAZXhwZWN0ZWQgdjEyOCBvcGVyYXRpb24gdG8gdG91Y2ggMTYgYnl0ZXMAZXhwZWN0ZWQgaTMyIG9wZXJhdGlvbiB0byB0b3VjaCAxLCAyLCBvciA0IGJ5dGVzAGV4cGVjdGVkIGYzMiBvcGVyYXRpb24gdG8gdG91Y2ggNCBieXRlcwBCaW5hcnllbkF0b21pY0NtcHhjaGdTZXRCeXRlcwBCaW5hcnllblN0b3JlU2V0Qnl0ZXMAQmluYXJ5ZW5TdHJpbmdXVEY4QWR2YW5jZVNldEJ5dGVzAEJpbmFyeWVuTG9hZFNldEJ5dGVzAEJpbmFyeWVuQXRvbWljUk1XU2V0Qnl0ZXMAQmluYXJ5ZW5BdG9taWNDbXB4Y2hnR2V0Qnl0ZXMAQmluYXJ5ZW5TdG9yZUdldEJ5dGVzAEJpbmFyeWVuU3RyaW5nV1RGOEFkdmFuY2VHZXRCeXRlcwBCaW5hcnllbkxvYWRHZXRCeXRlcwBCaW5hcnllbkF0b21pY1JNV0dldEJ5dGVzAHNpemVGaWVsZFNpemUgPCBNYXhMRUIzMkJ5dGVzAGFwcGVuZFRvT2JqZWN0V2l0aFF1b3RlcwByZW1vdmVVbm5lZWRlZFdyaXRlcwBpbnZhbGlkYXRlcwBmb2xkIGNvZGUsIG1lcmdpbmcgZHVwbGljYXRlcwBwaWNrIGxvYWQgc2lnbnMgYmFzZWQgb24gdGhlaXIgdXNlcwBvcGVyYXRpb24gc2hvdWxkIGhhdmUgYmVlbiByZW1vdmVkIGluIHByZXZpb3VzIHBhc3NlcwBuZXN0ZWQgcGFzc2VzAGFkZFNldFVzZXMAZ2V0TnVtVXNlcwAhcHJpbnRlci5wcmludGVkSGFzRXh0ZXJuYWxVc2VzAHRhcmdldF9mZWF0dXJlcwBwcmludC1mZWF0dXJlcwBlbWl0LXRhcmdldC1mZWF0dXJlcwBzdHJpcC10YXJnZXQtZmVhdHVyZXMAcHJpbnQgb3B0aW9ucyBmb3IgZW5hYmxlZCBmZWF0dXJlcwBpbnN0cnVtZW50IHRoZSBidWlsZCB3aXRoIGNvZGUgdG8gaW50ZXJjZXB0IGFsbCBsb2FkcyBhbmQgc3RvcmVzACBzdXBlcnR5cGVzAG5hbWUtdHlwZXMALS1lbmFibGUtZ2MgcmVxdWlyZXMgLS1lbmFibGUtcmVmZXJlbmNlLXR5cGVzAHJlbW92ZS11bnVzZWQtdHlwZXMAQXRvbWljIG9wZXJhdGlvbnMgYXJlIG9ubHkgdmFsaWQgb24gaW50IHR5cGVzAGFycmF5LmNvcHkgbXVzdCBoYXZlIHRoZSBwcm9wZXIgdHlwZXMAKHJlKW5hbWUgYWxsIGhlYXAgdHlwZXMAY29udCB0eXBlcyBtdXN0IGJlIGJ1aWx0IGZyb20gZnVuY3Rpb24gdHlwZXMAaW52YWxpZCBmdW5jdGlvbiBzZWN0aW9uIHNpemUsIG11c3QgZXF1YWwgdHlwZXMAbG9vcCB3aXRoIHZhbHVlIGFuZCBib2R5IG11c3QgbWF0Y2ggdHlwZXMAYmxvY2sgd2l0aCB2YWx1ZSBhbmQgbGFzdCBlbGVtZW50IHdpdGggdmFsdWUgbXVzdCBtYXRjaCB0eXBlcwBWYWx1ZXMgaW4gYSB0YWcgc2hvdWxkIGhhdmUgY29uY3JldGUgdHlwZXMAcGFyYW1zIG1heSBub3QgaGF2ZSB0dXBsZSB0eXBlcwBUT0RPOiBnZW5lcmFsIHJlZmVyZW5jZSB0eXBlcwBnbG9iYWxseSBvcHRpbWl6ZSBHQyB0eXBlcwByZW1vdmUgdW51c2VkIHByaXZhdGUgR0MgdHlwZXMAcmVmaW5lIGFuZCBtZXJnZSBhYnN0cmFjdCAobmV2ZXItY3JlYXRlZCkgdHlwZXMAcmVidWlsZFR5cGVzAGdldElnbm9yYWJsZVB1YmxpY1R5cGVzAGl0ZXJTdWJUeXBlcwBnZXRJbW1lZGlhdGVTdWJUeXBlcwBpbnN0cnVtZW50IHRoZSBidWlsZCB3aXRoIGxvZ2dpbmcgb2Ygd2hlcmUgZXhlY3V0aW9uIGdvZXMAdHVybnMgaW5kaXJlY3QgY2FsbHMgaW50byBkaXJlY3Qgb25lcwBsb3dlciB1bmFsaWduZWQgbG9hZHMgYW5kIHN0b3JlcyB0byBzbWFsbGVyIGFsaWduZWQgb25lcwBtaW5pZmllcyBib3RoIGltcG9ydCBhbmQgZXhwb3J0IG5hbWVzLCBhbmQgZW1pdHMgYSBtYXBwaW5nIHRvIHRoZSBtaW5pZmllZCBvbmVzAG1pbmlmaWVzIGltcG9ydCBuYW1lcyAob25seSB0aG9zZSwgYW5kIG5vdCBleHBvcnQgbmFtZXMpLCBhbmQgZW1pdHMgYSBtYXBwaW5nIHRvIHRoZSBtaW5pZmllZCBvbmVzAGdldExhbmVzAENhbm5vdCBnZXQgb2Zmc2V0IG9mIHBhc3NpdmUgc2VnbWVudCBpbml0aWFsaXplZCBtdWx0aXBsZSB0aW1lcwByZW1vdmUtdW51c2VkLW5hbWVzAHByaW50IGEgbWFwIG9mIGZ1bmN0aW9uIGluZGV4ZXMgdG8gbmFtZXMAQmluYXJ5ZW5Td2l0Y2hHZXROdW1OYW1lcwB3cml0ZU5hbWVzAG1pbmlmeS1pbXBvcnRzLWFuZC1leHBvcnRzLWFuZC1tb2R1bGVzAEhhbmRsZUZvbGxvd3VwTXVsdGlwbGVzAG9ubHkgcmVmZXJlbmNlIHR5cGVzIGFyZSB2YWxpZCBmb3IgdGFibGVzAE9ubHkgcmVmZXJlbmNlIHR5cGVzIGFyZSB2YWxpZCBmb3IgdGFibGVzAE5vbi1udWxsYWJsZSByZWZlcmVuY2UgdHlwZXMgYXJlIG5vdCB5ZXQgc3VwcG9ydGVkIGZvciB0YWJsZXMAbm8gdGFibGVzAG9wdGltaXplQ29waWVzAEJpbmFyeWVuVHJ5R2V0TnVtQ2F0Y2hCb2RpZXMAYW5hbHl6ZVRyYW5zaXRpdmVEZXBlbmRlbmNpZXMAZml4dXAgbmVzdGVkIHBvcHMgd2l0aGluIGNhdGNoZXMAc3NhLWlmeSB2YXJpYWJsZXMgc28gdGhhdCB0aGV5IGhhdmUgYSBzaW5nbGUgYXNzaWdubWVudCwgaWdub3JpbmcgbWVyZ2VzAG5ld1BhZ2VzAG9sZFBhZ2VzAHNvdXJjZXMAY2FsY3VsYXRlSW50ZXJmZXJlbmNlcwBHVUZBIHBsdXMgYWRkIGNhc3RzIGZvciBhbGwgaW5mZXJlbmNlcwBhcHBseUluZGljZXMAdHVwbGUuZXh0cmFjdCBpbmRleCBvdXQgb2YgYm91bmRzAFN0cnVjdCBmaWVsZCBpbmRleCBvdXQgb2YgYm91bmRzAGFwcGx5IHRoZSBhc3N1bXB0aW9uIHRoYXQgYXN5bmNpZnkgbmV2ZXIgdW53aW5kcwBleHRlbmRzAFR5cGUgb2YgdHVwbGUubWFrZSBkb2VzIG5vdCBtYXRjaCB0eXBlcyBvZiBpdHMgb3BlcmFuZHMAc3RydWN0Lm5ldyBtdXN0IGhhdmUgdGhlIHJpZ2h0IG51bWJlciBvZiBvcGVyYW5kcwB0dXBsZS5tYWtlIG11c3QgaGF2ZSBtdWx0aXBsZSBvcGVyYW5kcwBCaW5hcnllblRocm93R2V0TnVtT3BlcmFuZHMAQmluYXJ5ZW5TdHJ1Y3ROZXdHZXROdW1PcGVyYW5kcwBCaW5hcnllbkNhbGxJbmRpcmVjdEdldE51bU9wZXJhbmRzAEJpbmFyeWVuQ2FsbEdldE51bU9wZXJhbmRzAEJpbmFyeWVuQ2FsbFJlZkdldE51bU9wZXJhbmRzAEJpbmFyeWVuVHVwbGVNYWtlR2V0TnVtT3BlcmFuZHMAQmluYXJ5ZW5TdHJ1Y3RUeXBlR2V0TnVtRmllbGRzAFRyaWVzIHRvIGF2b2lkIHJlaW50ZXJwcmV0IG9wZXJhdGlvbnMgdmlhIG1vcmUgbG9hZHMAdGhyZWFkcwByZXBsYWNlIHRyYXBwaW5nIG9wZXJhdGlvbnMgd2l0aCBqcyBzZW1hbnRpY3MAcmVwbGFjZSB0cmFwcGluZyBvcGVyYXRpb25zIHdpdGggY2xhbXBpbmcgc2VtYW50aWNzAGJpbmFyeWVuLWludHJpbnNpY3MAbG93ZXIgYXdheSBiaW5hcnllbiBpbnRyaW5zaWNzAGZ1bmMtbWV0cmljcwByZXBvcnRzIG1ldHJpY3MAcmVwb3J0cyBmdW5jdGlvbiBtZXRyaWNzAGF0b21pY3MAQXRvbWljcwBNYXRoX2FicwBpMTZ4OC5hYnMAaTh4MTYuYWJzAGkzMng0LmFicwBmMzJ4NC5hYnMAZjY0LmFicwBpNjR4Mi5hYnMAZjY0eDIuYWJzAGYzMi5hYnMAYmFkIHN0cmluZy5hcwBpMTZ4OC5tYXhfcwBpOHgxNi5tYXhfcwBpMzJ4NC5tYXhfcwBpNjQuZGl2X3MAaTMyLmRpdl9zAGkxNng4Lmx0X3MAaTh4MTYubHRfcwBpMzJ4NC5sdF9zAGk2NC5sdF9zAGk2NHgyLmx0X3MAaTMyLmx0X3MAaTE2eDguZ3RfcwBpOHgxNi5ndF9zAGkzMng0Lmd0X3MAaTY0Lmd0X3MAaTY0eDIuZ3RfcwBpMzIuZ3RfcwBhcnJheS5nZXRfcwBzdHJ1Y3QuZ2V0X3MAaTMxLmdldF9zAGkxNng4LnExNW11bHJfc2F0X3MAaTE2eDguYWRkX3NhdF9zAGk4eDE2LmFkZF9zYXRfcwBpMTZ4OC5zdWJfc2F0X3MAaTh4MTYuc3ViX3NhdF9zAGkxNng4LnJlbGF4ZWRfcTE1bXVscl9zAGkxNng4LnNocl9zAGk4eDE2LnNocl9zAGkzMng0LnNocl9zAGk2NC5zaHJfcwBpNjR4Mi5zaHJfcwBpMzIuc2hyX3MAaTE2eDgubWluX3MAaTh4MTYubWluX3MAaTMyeDQubWluX3MAaTY0LnJlbV9zAGkzMi5yZW1fcwBpMTZ4OC5leHRyYWN0X2xhbmVfcwBpOHgxNi5leHRyYWN0X2xhbmVfcwBpMTZ4OC5sZV9zAGk4eDE2LmxlX3MAaTMyeDQubGVfcwBpNjQubGVfcwBpNjR4Mi5sZV9zAGkzMi5sZV9zAGkxNng4LmdlX3MAaTh4MTYuZ2VfcwBpMzJ4NC5nZV9zAGk2NC5nZV9zAGk2NHgyLmdlX3MAaTMyLmdlX3MAaTMyeDQuZG90X2k4eDE2X2k3eDE2X2FkZF9zAHYxMjgubG9hZDh4OF9zAGk4eDE2Lm5hcnJvd19pMTZ4OF9zAGkzMng0LmV4dG11bF9sb3dfaTE2eDhfcwBpMzJ4NC5leHRlbmRfbG93X2kxNng4X3MAaTMyeDQuZG90X2kxNng4X3MAaTMyeDQuZXh0bXVsX2hpZ2hfaTE2eDhfcwBpMzJ4NC5leHRlbmRfaGlnaF9pMTZ4OF9zAGkzMng0LmV4dGFkZF9wYWlyd2lzZV9pMTZ4OF9zAGk2NC5leHRlbmQ4X3MAaTMyLmV4dGVuZDhfcwBpNjQubG9hZDhfcwBpMzIubG9hZDhfcwBpMTZ4OC5leHRtdWxfbG93X2k4eDE2X3MAaTE2eDguZXh0ZW5kX2xvd19pOHgxNl9zAGkxNng4LmV4dG11bF9oaWdoX2k4eDE2X3MAaTE2eDguZXh0ZW5kX2hpZ2hfaTh4MTZfcwBpMTZ4OC5leHRhZGRfcGFpcndpc2VfaTh4MTZfcwBpMTZ4OC5kb3RfaTh4MTZfaTd4MTZfcwBpNjQuZXh0ZW5kMTZfcwBpMzIuZXh0ZW5kMTZfcwBpNjQubG9hZDE2X3MAaTMyLmxvYWQxNl9zAHYxMjgubG9hZDE2eDRfcwBpMTZ4OC5uYXJyb3dfaTMyeDRfcwBmNjR4Mi5jb252ZXJ0X2xvd19pMzJ4NF9zAGk2NHgyLmV4dG11bF9sb3dfaTMyeDRfcwBpNjR4Mi5leHRlbmRfbG93X2kzMng0X3MAZjMyeDQuY29udmVydF9pMzJ4NF9zAGk2NHgyLmV4dG11bF9oaWdoX2kzMng0X3MAaTY0eDIuZXh0ZW5kX2hpZ2hfaTMyeDRfcwBpMzJ4NC50cnVuY19zYXRfZjMyeDRfcwBpMzJ4NC5yZWxheGVkX3RydW5jX2YzMng0X3MAZjY0LmNvbnZlcnRfaTY0X3MAZjMyLmNvbnZlcnRfaTY0X3MAaTY0LnRydW5jX3NhdF9mNjRfcwBpMzIudHJ1bmNfc2F0X2Y2NF9zAGk2NC50cnVuY19mNjRfcwBpMzIudHJ1bmNfZjY0X3MAdjEyOC5sb2FkMzJ4Ml9zAGY2NC5jb252ZXJ0X2kzMl9zAGYzMi5jb252ZXJ0X2kzMl9zAGk2NC5leHRlbmRfaTMyX3MAaTY0LnRydW5jX3NhdF9mMzJfcwBpMzIudHJ1bmNfc2F0X2YzMl9zAGk2NC50cnVuY19mMzJfcwBpMzIudHJ1bmNfZjMyX3MAaTY0LmV4dGVuZDMyX3MAaTY0LmxvYWQzMl9zAFN0cmluZ0FzAHZpc2l0UmVmQXMAbG9hZDhzAGxvYWQxNnMAbG9hZDY0cwBsb2FkMzJzAHN0cmluZ192aWV3OjpzdWJzdHIAZW50cnlGbG93QmxvY2sgIT0gbnVsbHB0cgBmcHRyAGVtc2NyaXB0ZW5fZ2V0X3NicmtfcHRyAHN0b3JlX3B0cgBsb2FkX3B0cgBpNjQucm90cgBpMzIucm90cgBzdHJpbmdTdHIAbmFtZVN0cgBCaW5hcnllbkF0b21pY05vdGlmeVNldFB0cgBCaW5hcnllblN0cmluZ05ld1NldFB0cgBCaW5hcnllbkF0b21pY1dhaXRTZXRQdHIAQmluYXJ5ZW5BdG9taWNDbXB4Y2hnU2V0UHRyAEJpbmFyeWVuU3RvcmVTZXRQdHIAQmluYXJ5ZW5TSU1ETG9hZFN0b3JlTGFuZVNldFB0cgBCaW5hcnllblN0cmluZ0VuY29kZVNldFB0cgBCaW5hcnllbkxvYWRTZXRQdHIAQmluYXJ5ZW5TSU1ETG9hZFNldFB0cgBCaW5hcnllbkF0b21pY1JNV1NldFB0cgBCaW5hcnllbkF0b21pY05vdGlmeUdldFB0cgBCaW5hcnllblN0cmluZ05ld0dldFB0cgBCaW5hcnllbkF0b21pY1dhaXRHZXRQdHIAQmluYXJ5ZW5BdG9taWNDbXB4Y2hnR2V0UHRyAEJpbmFyeWVuU3RvcmVHZXRQdHIAQmluYXJ5ZW5TSU1ETG9hZFN0b3JlTGFuZUdldFB0cgBCaW5hcnllblN0cmluZ0VuY29kZUdldFB0cgBCaW5hcnllbkxvYWRHZXRQdHIAQmluYXJ5ZW5TSU1ETG9hZEdldFB0cgBCaW5hcnllbkF0b21pY1JNV0dldFB0cgBwb3BQdHIAZXhwcmVzc2lvblN0YWNrW2V4cHJlc3Npb25TdGFjay5zaXplKCkgLSAxXSA9PSBjdXJyAG91dGVyLT5saXN0LmJhY2soKSA9PSBjdXJyAGludmFsaWQgZXhwcgB1bmV4cGVjdGVkIGV4cHIAYmxvY2stPmxpc3QuYmFjaygpID09IGV4cHIAYm9keUV4cHIAaW5kZXhFeHByAGRlc3RJbmRleEV4cHIAc3JjSW5kZXhFeHByAHRpbWVvdXRFeHByAGRlc3RFeHByAHN0YXJ0RXhwcgBub3RpZnlDb3VudEV4cHIAcmVwbGFjZW1lbnRFeHByAHJpZ2h0RXhwcgBzaGlmdEV4cHIAbGVmdEV4cHIAb2Zmc2V0RXhwcgB0YXJnZXRFeHByAHBvc0V4cHIAYnl0ZXNFeHByAHB0ckV4cHIAbnVtRXhwcgBsZW5ndGhFeHByAGNhdGNoRXhwcgByZWZFeHByAGRlc3RSZWZFeHByAHNyY1JlZkV4cHIAc2l6ZUV4cHIAaWZUcnVlRXhwcgB2YWx1ZUV4cHIAaWZGYWxzZUV4cHIAdHVwbGVFeHByAHNvdXJjZUV4cHIAY29uZEV4cHIAZW5kRXhwcgBvcGVyYW5kRXhwcgBjaGlsZEV4cHIAZXhwZWN0ZWRFeHByAHZlY0V4cHIAYkV4cHIAZGVsdGFFeHByAGkzMUV4cHIAQXByAGk2NC5hdG9taWMucm13LnhvcgBpMzIuYXRvbWljLnJtdy54b3IAdjEyOC54b3IAaTY0LnhvcgBpMzIueG9yAEFuY2VzdG9yAHZlY3RvcgB1bnZhbGlkIHVuYXJ5IG9wZXJhdG9yAHVudmFsaWQgYmluYXJ5IG9wZXJhdG9yAHVuaGFuZGxlZCBpMzIgYmluYXJ5IG9wZXJhdG9yAHVuaGFuZGxlZCB1bmFyeSBmbG9hdCBvcGVyYXRvcgB1bnNwZWNpZmllZCBpb3N0cmVhbV9jYXRlZ29yeSBlcnJvcgBjYXN0IGVycm9yAG1vbmV5X2dldCBlcnJvcgBNYXRoX2Zsb29yAGYzMng0LmZsb29yAGY2NC5mbG9vcgBmNjR4Mi5mbG9vcgBmMzIuZmxvb3IAaW5zdHJ1bWVudCBsb2FkcyBhbmQgc3RvcmVzIHRvIGNoZWNrIGZvciBpbnZhbGlkIGJlaGF2aW9yAGZvcgBpNjQuYXRvbWljLnJtdy5vcgBpMzIuYXRvbWljLnJtdy5vcgB2MTI4Lm9yAGk2NC5vcgBpMzIub3IAY2FuUmVtb3ZlU2V0R2V0UGFpcgBwcmludC1zdGFjay1pcgBvcHRpbWl6ZS1zdGFjay1pcgBnZW5lcmF0ZS1zdGFjay1pcgBsc2hyAGFzaHIAVW5leHBlY3RlZCB0dXBsZSBnbG9iYWwgaW5pdGlhbGl6ZXIARmxvd2VyAGZ1bmN0aW9uU3BsaXR0ZXIAYXBwZW5kVG9PYmplY3RBc1NldHRlcgBhcHBlbmRUb09iamVjdEFzR2V0dGVyAF9fc3RhY2tfcG9pbnRlcgBnZXRTdGFja1NwYWNlOiBmYWlsZWQgdG8gZmluZCB0aGUgc3RhY2sgcG9pbnRlcgBnZXRJbmRleFBvaW50ZXIAVW5leHBlY3RlZCBkZWxpbWl0ZXIAc3RyaW5ndmlld19pdGVyAHN0cmluZy5hc19pdGVyAHJlbW92ZVBhcmFtZXRlcgBTdHJpbmdTbGljZUl0ZXIAc3VwZXIAc2V0UGFzc1J1bm5lcgBmb2xkaW5nLWlubmVyAHJlbW92ZXMgYXJndW1lbnRzIHRvIGNhbGxzIGluIGFuIGx0by1saWtlIG1hbm5lcgBzdGFjay1jaGVjay1oYW5kbGVyAGludmFsaWQgcmVmZXJlbmNlIHR5cGUgcXVhbGlmaWVyAGltcG9ydCBhbmQgZXhwb3J0IGNhbm5vdCBiZSBzcGVjaWZpZWQgdG9nZXRoZXIAd2hhdCAhPSBPdGhlcgBkZWJ1Z2dlcgBleHBlY3RlZCBpbnRlZ2VyAHRyYW5zZmVyAGJ1ZmZlcgBBcnJheUJ1ZmZlcgBuZXdCdWZmZXIAQmluYXJ5ZW5BdG9taWNGZW5jZVNldE9yZGVyAEJpbmFyeWVuQXRvbWljRmVuY2VHZXRPcmRlcgBwaWNrSW5kaWNlc0Zyb21PcmRlcgBzdXNwZW5kZXIAUmVuZGVyAGxvY2FsSW5mb1Byb3ZpZGVyAG1hcExvY2Fsc0FuZEVtaXRIZWFkZXIAT2N0b2JlcgBnZXROdW1iZXIATm92ZW1iZXIAU2VwdGVtYmVyAERlY2VtYmVyAGJyACA9IHZhcgBkb05vdGVOb25MaW5lYXIAaW9zX2Jhc2U6OmNsZWFyAEJpbmFyeWVuRnVuY3Rpb25HZXRWYXIAaXNWYXIAVGVtcFZhcgBhcHBlbmRUb1ZhcgBhZGRWYXIATWFyAFxyAGNvbWJpbmVPcgBzZXEAc3RyaW5nLmVxAHJlZi5lcQBpMTZ4OC5lcQBpOHgxNi5lcQBpMzJ4NC5lcQBmMzJ4NC5lcQBpNjQuZXEAZjY0LmVxAGk2NHgyLmVxAGY2NHgyLmVxAGkzMi5lcQBmMzIuZXEAU3RyaW5nRXEAUmVmRXEAY2F0Y2gtcG9wLWZpeHVwAGVuc3VyZVR5cGVzQXJlSW5OZXdSZWNHcm91cABnZXRSZWNHcm91cABjcmVhdGVSZWNHcm91cABidWlsZFJlY0dyb3VwAHN1c3AAKnRhc2suY3VycnAAKmN1cnJwAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy93YXNtL3dhc20tYmluYXJ5LmNwcAAvaG9tZS9ydW5uZXIvd29yay9iaW5hcnllbi5qcy9iaW5hcnllbi5qcy9iaW5hcnllbi9zcmMvcGFzc2VzL1NvdXBlcmlmeS5jcHAAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL3Bhc3Nlcy9Qb3BwaWZ5LmNwcAAvaG9tZS9ydW5uZXIvd29yay9iaW5hcnllbi5qcy9iaW5hcnllbi5qcy9iaW5hcnllbi9zcmMvcGFzc2VzL0FzeW5jaWZ5LmNwcAAvaG9tZS9ydW5uZXIvd29yay9iaW5hcnllbi5qcy9iaW5hcnllbi5qcy9iaW5hcnllbi9zcmMvcGFzc2VzL1NTQWlmeS5jcHAAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL3Bhc3Nlcy9QcmludC5jcHAAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL3Bhc3Nlcy9NaW5pZnlJbXBvcnRzQW5kRXhwb3J0cy5jcHAAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL3Bhc3Nlcy9EYXRhRmxvd09wdHMuY3BwAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy9pci9wb3NzaWJsZS1jb250ZW50cy5jcHAAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL3Bhc3Nlcy9SZW1vdmVVbnVzZWRNb2R1bGVFbGVtZW50cy5jcHAAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL3Bhc3Nlcy9PcHRpbWl6ZUFkZGVkQ29uc3RhbnRzLmNwcAAvaG9tZS9ydW5uZXIvd29yay9iaW5hcnllbi5qcy9iaW5hcnllbi5qcy9iaW5hcnllbi9zcmMvc3VwcG9ydC9iaXRzLmNwcAAvaG9tZS9ydW5uZXIvd29yay9iaW5hcnllbi5qcy9iaW5hcnllbi5qcy9iaW5hcnllbi9zcmMvcGFzc2VzL0dsb2JhbEVmZmVjdHMuY3BwAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy9wYXNzZXMvcGFzcy5jcHAAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL3Bhc3Nlcy9TcGlsbFBvaW50ZXJzLmNwcAAvaG9tZS9ydW5uZXIvd29yay9iaW5hcnllbi5qcy9iaW5hcnllbi5qcy9iaW5hcnllbi9zcmMvcGFzc2VzL1JlbW92ZVVudXNlZEJycy5jcHAAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL3Bhc3Nlcy9SZW1vdmVOb25KU09wcy5jcHAAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL3Bhc3Nlcy9PcHRpbWl6ZUluc3RydWN0aW9ucy5jcHAAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL3Bhc3Nlcy9SZW9yZGVyRnVuY3Rpb25zLmNwcAAvaG9tZS9ydW5uZXIvd29yay9iaW5hcnllbi5qcy9iaW5hcnllbi5qcy9iaW5hcnllbi9zcmMvcGFzc2VzL01lcmdlU2ltaWxhckZ1bmN0aW9ucy5jcHAAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL3Bhc3Nlcy9HZW5lcmF0ZUR5bkNhbGxzLmNwcAAvaG9tZS9ydW5uZXIvd29yay9iaW5hcnllbi5qcy9iaW5hcnllbi5qcy9iaW5hcnllbi9zcmMvcGFzc2VzL3BhcmFtLXV0aWxzLmNwcAAvaG9tZS9ydW5uZXIvd29yay9iaW5hcnllbi5qcy9iaW5hcnllbi5qcy9iaW5hcnllbi9zcmMvaXIvc3RhY2stdXRpbHMuY3BwAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy9pci9laC11dGlscy5jcHAAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL2lyL21vZHVsZS11dGlscy5jcHAAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL3Bhc3Nlcy9TaW1wbGlmeUxvY2Fscy5jcHAAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL3Bhc3Nlcy9JbnN0cnVtZW50TG9jYWxzLmNwcAAvaG9tZS9ydW5uZXIvd29yay9iaW5hcnllbi5qcy9iaW5hcnllbi5qcy9iaW5hcnllbi9zcmMvcGFzc2VzL1Jlb3JkZXJMb2NhbHMuY3BwAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy9wYXNzZXMvTWVyZ2VMb2NhbHMuY3BwAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy9wYXNzZXMvQ29hbGVzY2VMb2NhbHMuY3BwAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy9wYXNzZXMvU2ltcGxpZnlHbG9iYWxzLmNwcAAvaG9tZS9ydW5uZXIvd29yay9iaW5hcnllbi5qcy9iaW5hcnllbi5qcy9iaW5hcnllbi9zcmMvcGFzc2VzL1Jlb3JkZXJHbG9iYWxzLmNwcAAvaG9tZS9ydW5uZXIvd29yay9iaW5hcnllbi5qcy9iaW5hcnllbi5qcy9iaW5hcnllbi9zcmMvcGFzc2VzL01lcmdlQmxvY2tzLmNwcAAvaG9tZS9ydW5uZXIvd29yay9iaW5hcnllbi5qcy9iaW5hcnllbi5qcy9iaW5hcnllbi9zcmMvcGFzc2VzL1JlbW92ZVVudXNlZE5hbWVzLmNwcAAvaG9tZS9ydW5uZXIvd29yay9iaW5hcnllbi5qcy9iaW5hcnllbi5qcy9iaW5hcnllbi9zcmMvc3VwcG9ydC90aHJlYWRzLmNwcAAvaG9tZS9ydW5uZXIvd29yay9iaW5hcnllbi5qcy9iaW5hcnllbi5qcy9iaW5hcnllbi9zcmMvd2FzbS93YXNtLXZhbGlkYXRvci5jcHAAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL2lyL0V4cHJlc3Npb25BbmFseXplci5jcHAAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL3dhc20vd2FzbS1zLXBhcnNlci5jcHAAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL2NmZy9SZWxvb3Blci5jcHAAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL3Bhc3Nlcy9SZVJlbG9vcC5jcHAAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL3Bhc3Nlcy9TYWZlSGVhcC5jcHAAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL3Bhc3Nlcy9Mb29wSW52YXJpYW50Q29kZU1vdGlvbi5jcHAAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL3Bhc3Nlcy9PbmNlUmVkdWN0aW9uLmNwcAAvaG9tZS9ydW5uZXIvd29yay9iaW5hcnllbi5qcy9iaW5hcnllbi5qcy9iaW5hcnllbi9zcmMvcGFzc2VzL0dsb2JhbFR5cGVPcHRpbWl6YXRpb24uY3BwAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy9wYXNzZXMvVHVwbGVPcHRpbWl6YXRpb24uY3BwAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy9wYXNzZXMvRGVhZEFyZ3VtZW50RWxpbWluYXRpb24uY3BwAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy9wYXNzZXMvUmVkdW5kYW50U2V0RWxpbWluYXRpb24uY3BwAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy9wYXNzZXMvRGVhZENvZGVFbGltaW5hdGlvbi5jcHAAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL3Bhc3Nlcy9GdW5jQ2FzdEVtdWxhdGlvbi5jcHAAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL3Bhc3Nlcy9Db25zdGFudEZpZWxkUHJvcGFnYXRpb24uY3BwAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy9wYXNzZXMvRmxhdHRlbi5jcHAAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL3Bhc3Nlcy9WYWN1dW0uY3BwAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy9hc21qcy9hc21fdl93YXNtLmNwcAAvaG9tZS9ydW5uZXIvd29yay9iaW5hcnllbi5qcy9iaW5hcnllbi5qcy9iaW5hcnllbi9zcmMvd2FzbS93YXNtLmNwcAAvaG9tZS9ydW5uZXIvd29yay9iaW5hcnllbi5qcy9iaW5hcnllbi5qcy9iaW5hcnllbi9zcmMvd2FzbS9saXRlcmFsLmNwcAAvaG9tZS9ydW5uZXIvd29yay9iaW5hcnllbi5qcy9iaW5hcnllbi5qcy9iaW5hcnllbi9zcmMvcGFzc2VzL0hlYXAyTG9jYWwuY3BwAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy93YXNtL3dhc20tc3RhY2suY3BwAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy9pci9Mb2NhbEdyYXBoLmNwcAAvaG9tZS9ydW5uZXIvd29yay9iaW5hcnllbi5qcy9iaW5hcnllbi5qcy9iaW5hcnllbi9zcmMvcGFzc2VzL1R5cGVHZW5lcmFsaXppbmcuY3BwAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy9wYXNzZXMvQ29uc3RIb2lzdGluZy5jcHAAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL2lyL3R5cGUtdXBkYXRpbmcuY3BwAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy93YXNtL3BhcnNpbmcuY3BwAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy9wYXNzZXMvTXVsdGlNZW1vcnlMb3dlcmluZy5jcHAAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL3Bhc3Nlcy9BbGlnbm1lbnRMb3dlcmluZy5jcHAAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL3Bhc3Nlcy9NZW1vcnk2NExvd2VyaW5nLmNwcAAvaG9tZS9ydW5uZXIvd29yay9iaW5hcnllbi5qcy9iaW5hcnllbi5qcy9iaW5hcnllbi9zcmMvcGFzc2VzL0k2NFRvSTMyTG93ZXJpbmcuY3BwAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy9wYXNzZXMvVW5zdWJ0eXBpbmcuY3BwAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy9wYXNzZXMvTG9jYWxTdWJ0eXBpbmcuY3BwAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy9wYXNzZXMvSW5saW5pbmcuY3BwAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy9wYXNzZXMvR2xvYmFsUmVmaW5pbmcuY3BwAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy9wYXNzZXMvTWVtb3J5UGFja2luZy5jcHAAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL3Bhc3Nlcy9Db2RlUHVzaGluZy5jcHAAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL3Bhc3Nlcy9UeXBlTWVyZ2luZy5jcHAAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL3Bhc3Nlcy9Db2RlRm9sZGluZy5jcHAAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL2FuYWx5c2lzL2NmZy5jcHAAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL3Bhc3Nlcy9EaXJlY3RpemUuY3BwAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy9pci9SZUZpbmFsaXplLmNwcAAvaG9tZS9ydW5uZXIvd29yay9iaW5hcnllbi5qcy9iaW5hcnllbi5qcy9iaW5hcnllbi9zcmMvcGFzc2VzL1ByZWNvbXB1dGUuY3BwAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy93YXNtL3dhc20tdHlwZS5jcHAAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL2FzbWpzL2FzbWFuZ2xlLmNwcAAvaG9tZS9ydW5uZXIvd29yay9iaW5hcnllbi5qcy9iaW5hcnllbi5qcy9iaW5hcnllbi9zcmMvcGFzc2VzL1RyYXBNb2RlLmNwcAAvaG9tZS9ydW5uZXIvd29yay9iaW5hcnllbi5qcy9iaW5hcnllbi5qcy9iaW5hcnllbi9zcmMvcGFzc2VzL0dsb2JhbFN0cnVjdEluZmVyZW5jZS5jcHAAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL2lyL0xvY2FsU3RydWN0dXJhbERvbWluYW5jZS5jcHAAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL2Vtc2NyaXB0ZW4tb3B0aW1pemVyL29wdGltaXplci1zaGFyZWQuY3BwAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy9iaW5hcnllbi1jLmNwcAAvaG9tZS9ydW5uZXIvd29yay9iaW5hcnllbi5qcy9iaW5hcnllbi5qcy9iaW5hcnllbi9zcmMvcGFzc2VzL1N0YWNrSVIuY3BwAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy9wYXNzZXMvTG9jYWxDU0UuY3BwAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy9wYXNzZXMvVHlwZVNTQS5jcHAAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL3Bhc3Nlcy9HVUZBLmNwcAB3YXNtMmpzX2RhdGFfZHJvcAB0dXBsZS5kcm9wAGRhdGEuZHJvcABleHBlY3RlZCB0dXBsZS5kcm9wLCBmb3VuZCBkcm9wAHZpc2l0RHJvcABEYXRhRHJvcABjdHBvcAByZXJlbG9vcAAgOzsgZW5kIGxvb3AAdmlzaXRMb29wAGRvVmlzaXRMb29wAG9wdGltaXplTG9vcABNYWtlTG9vcABub3AAdmlzaXRQb3AAZmluZFBvcABoYW5kbGVCbG9ja05lc3RlZFBvcABFeHBlY3RlZCBjb25kaXRpb24gdG8gYmUgYSBQb3AATm9wAGludmFsaWQgdW5hcnkgb3AAaW52YWxpZCBiaW5hcnkgb3AAaW52bGlhZCBiaW5hcnkgb3AAYmFkIHN0cmluZy5uZXcgb3AAYmFkIHN0cmluZy5tZWFzdXJlIG9wAFVuZXhwZWN0ZWQgU0lNRExvYWRTdG9yZUxhbmUgb3AAaW52YWxpZCBvcAB1bmV4cGV0ZWQgb3AAdW5leHBlY3RlZCBvcABiYWQgb3AAdjEyOCBvcABpNjQgb3AAZjY0IG9wAGkzMiBvcABmMzIgb3AAVW5leHBlY3RlZCBicl9vbiogb3AAZHdhcmZkdW1wAG1ha2VaZXJvQ29tcAB1bmltcABhc20yd2FzbV9pMzJfdGVtcABnZXRUZW1wAGZyZWVUZW1wAFNjb3BlZFRlbXAAdHJhcC1tb2RlLWNsYW1wAHN0cmlwAHJvdW5kdHJpcABjZnAAU2VwAHdhc20yanNfdHJhcAAhbXVzdE5vcCB8fCAhbXVzdFRyYXAAc3ltYm9sbWFwAHByaW50LWZ1bmN0aW9uLW1hcABjYW5ub3QgZmluZCB0aGUgJ21hcHBpbmdzJyBmaWVsZCBpbiBtYXAAY2Fubm90IGZpbmQgdGhlICdzb3VyY2VzJyBmaWVsZCBpbiBtYXAAc2FmZS1oZWFwAHVwZGF0ZURhdGFTZWdtZW50c01hcAB1cGRhdGVGdW5jdGlvbnNNYXAAc291cmNlTWFwAEJpbmFyeWVuTW9kdWxlV3JpdGVXaXRoU291cmNlTWFwAEJpbmFyeWVuU0lNRFRlcm5hcnlTZXRPcABCaW5hcnllbkJpbmFyeVNldE9wAEJpbmFyeWVuVW5hcnlTZXRPcABCaW5hcnllblN0cmluZ05ld1NldE9wAEJpbmFyeWVuU0lNRFNoaWZ0U2V0T3AAQmluYXJ5ZW5TSU1ERXh0cmFjdFNldE9wAEJpbmFyeWVuU3RyaW5nQXNTZXRPcABCaW5hcnllblJlZkFzU2V0T3AAQmluYXJ5ZW5TdHJpbmdFcVNldE9wAEJpbmFyeWVuQnJPblNldE9wAEJpbmFyeWVuU3RyaW5nSXRlck1vdmVTZXRPcABCaW5hcnllblN0cmluZ01lYXN1cmVTZXRPcABCaW5hcnllblNJTURMb2FkU3RvcmVMYW5lU2V0T3AAQmluYXJ5ZW5TdHJpbmdFbmNvZGVTZXRPcABCaW5hcnllblNJTURSZXBsYWNlU2V0T3AAQmluYXJ5ZW5TSU1ETG9hZFNldE9wAEJpbmFyeWVuQXRvbWljUk1XU2V0T3AAQmluYXJ5ZW5TdHJpbmdTbGljZVdURlNldE9wAEJpbmFyeWVuU0lNRFRlcm5hcnlHZXRPcABCaW5hcnllbkJpbmFyeUdldE9wAEJpbmFyeWVuVW5hcnlHZXRPcABCaW5hcnllblN0cmluZ05ld0dldE9wAEJpbmFyeWVuU0lNRFNoaWZ0R2V0T3AAQmluYXJ5ZW5TSU1ERXh0cmFjdEdldE9wAEJpbmFyeWVuU3RyaW5nQXNHZXRPcABCaW5hcnllblJlZkFzR2V0T3AAQmluYXJ5ZW5TdHJpbmdFcUdldE9wAEJpbmFyeWVuQnJPbkdldE9wAEJpbmFyeWVuU3RyaW5nSXRlck1vdmVHZXRPcABCaW5hcnllblN0cmluZ01lYXN1cmVHZXRPcABCaW5hcnllblNJTURMb2FkU3RvcmVMYW5lR2V0T3AAQmluYXJ5ZW5TdHJpbmdFbmNvZGVHZXRPcABCaW5hcnllblNJTURSZXBsYWNlR2V0T3AAQmluYXJ5ZW5TSU1ETG9hZEdldE9wAEJpbmFyeWVuQXRvbWljUk1XR2V0T3AAQmluYXJ5ZW5TdHJpbmdTbGljZVdURkdldE9wACVJOiVNOiVTICVwAHZhbHVlIHNob3VsZCBiZSBhIHBvd2VyIG9mIHR3bwBNZXJnZUJyYW5jaEludG8AQ3VyciAhPSBJbnRvAGd0bwByZW1vdmVzIG5hbWVzIGZyb20gbG9jYXRpb25zIHRoYXQgYXJlIG5ldmVyIGJyYW5jaGVkIHRvAGkzMng0LnRydW5jX3NhdF9mNjR4Ml91X3plcm8AaTMyeDQucmVsYXhlZF90cnVuY19mNjR4Ml91X3plcm8AaTMyeDQudHJ1bmNfc2F0X2Y2NHgyX3NfemVybwBpMzJ4NC5yZWxheGVkX3RydW5jX2Y2NHgyX3NfemVybwB2MTI4LmxvYWQ2NF96ZXJvAGYzMng0LmRlbW90ZV9mNjR4Ml96ZXJvAHYxMjgubG9hZDMyX3plcm8AbWFrZVplcm8AbWFrZUpzQ29lcmNlZFplcm8Ab3B0aW1pemVzIGFkZGVkIGNvbnN0YW50cyBpbnRvIGxvYWQvc3RvcmUgb2Zmc2V0cywgcHJvcGFnYXRpbmcgdGhlbSBhY3Jvc3MgbG9jYWxzIHRvbwBkaXNjYXJkcyBnbG9iYWwgZWZmZWN0IGluZm8Ac3RyaXAgZHdhcmYgZGVidWcgaW5mbwBnZXRUYXJnZXRJbmZvAGNvcHlEZWJ1Z0luZm8AZ2V0VHlwZUluZm8AZ2V0SGVhcFR5cGVJbmZvAGRmbwBkbwBBZGRTd2l0Y2hCcmFuY2hUbwBBZGRCcmFuY2hUbwBub2V4bgBydW4AZGVmdW4AU3VuAEp1bgBfX2JpbmFyeWVuX2Zha2VfcmV0dXJuAHZpc2l0UmV0dXJuAEJpbmFyeWVuQ2FsbEluZGlyZWN0U2V0UmV0dXJuAEJpbmFyeWVuQ2FsbFNldFJldHVybgBCaW5hcnllbkNhbGxSZWZTZXRSZXR1cm4AIWN1cnItPmlzUmV0dXJuAEJpbmFyeWVuQ2FsbEluZGlyZWN0SXNSZXR1cm4AQmluYXJ5ZW5DYWxsSXNSZXR1cm4AQmluYXJ5ZW5DYWxsUmVmSXNSZXR1cm4Ab3B0aW1pemVMb29wUmV0dXJuAG9wdGltaXplQmxvY2tSZXR1cm4Ab3B0aW1pemVJZlJldHVybgBvcHRpbWl6ZUlmRWxzZVJldHVybgBub2V4dGVybgBVbmV4cGVjdGVkIGVycm9yIHJlYXNvbgBsb2dfZXhlY3V0aW9uAGxvZy1leGVjdXRpb24Ac3RkOjpleGNlcHRpb24AbG9vcCBpbnZhcmlhbnQgY29kZSBtb3Rpb24AaW52YWxpZCBzdWJ0eXBlIGRlZmluaXRpb24AaW52YWxpZCBicl9pZiBjb25kaXRpb24AQmluYXJ5ZW5TZWxlY3RTZXRDb25kaXRpb24AQmluYXJ5ZW5CcmVha1NldENvbmRpdGlvbgBCaW5hcnllblN3aXRjaFNldENvbmRpdGlvbgBCaW5hcnllbklmU2V0Q29uZGl0aW9uAEJpbmFyeWVuU2VsZWN0R2V0Q29uZGl0aW9uAEJpbmFyeWVuQnJlYWtHZXRDb25kaXRpb24AQmluYXJ5ZW5Td2l0Y2hHZXRDb25kaXRpb24AQmluYXJ5ZW5JZkdldENvbmRpdGlvbgAhYmVmb3JlLT5Td2l0Y2hDb25kaXRpb24ARGV0YWlscy0+Q29uZGl0aW9uACFJbnRvLT5Db25kaXRpb24Abm90ZUFkZGl0aW9uAG9uY2UtcmVkdWN0aW9uAGV4dHJhY3QtZnVuY3Rpb24AYmFkIGhlbHBlciBmdW5jdGlvbgBsb2NhbC5zZXQgb3V0c2lkZSBvZiBmdW5jdGlvbgB1bmV4cGVjdGVkIGVuZCBvZiBmdW5jdGlvbgBkdXBsaWNhdGUgZnVuY3Rpb24AY2FsbC5pZi51c2VkJ3MgbGFzdCBwYXJhbSBtdXN0IGJlIGEgZnVuY3Rpb24AY29weUZ1bmN0aW9uAGV4cG9ydEZ1bmN0aW9uAHZpc2l0RnVuY3Rpb24AZ2V0SW5saW5lYWJsZVNwbGl0RnVuY3Rpb24AZ2V0RnVuY3Rpb24AcHJvY2Vzc0Z1bmN0aW9uAGFwcGVuZEFyZ3VtZW50VG9GdW5jdGlvbgBydW5QYXNzT25GdW5jdGlvbgBydW5PbkZ1bmN0aW9uAGZyb21GdW5jdGlvbgBkb1dhbGtGdW5jdGlvbgBtYWtlRnVuY3Rpb24AZ2V0QWN0dWFsbHlJbmxpbmVkRnVuY3Rpb24AdmlzaXREZWZpbmVkRnVuY3Rpb24AYWRkRnVuY3Rpb24AaGF2ZUludGVyc2VjdGlvbgBOdW1iZXIgb2Ygc2VnbWVudHMgZG9lcyBub3QgYWdyZWUgd2l0aCBEYXRhQ291bnQgc2VjdGlvbgBzdHJpcCB0aGUgd2FzbSBwcm9kdWNlcnMgc2VjdGlvbgBzdHJpcCB0aGUgd2FzbSB0YXJnZXQgZmVhdHVyZXMgc2VjdGlvbgBpbGwtZm9ybWVkIHN0cmluZyBleHRlbmRzIGJleW9uZCBzZWN0aW9uAGZpbmlzaFNlY3Rpb24AdW5leHBlY3RlZCBhY3Rpb24ATGl2ZW5lc3NBY3Rpb24AdHVwbGUtb3B0aW1pemF0aW9uAGdldENvbnRpbnVhdGlvbgB3cmFwIGltcG9ydHMgYW5kIGV4cG9ydHMgZm9yIEphdmFTY3JpcHQgcHJvbWlzZSBpbnRlZ3JhdGlvbgBpdGVyYXRpb24AaW52YWxpZCB1bmFyeSBvcGVyYXRpb24AdW5hbGlnbmVkIGF0b21pYyBvcGVyYXRpb24AZHVwbGljYXRlLWltcG9ydC1lbGltaW5hdGlvbgBkdXBsaWNhdGUtZnVuY3Rpb24tZWxpbWluYXRpb24AaW52YWxpZCBjYXRjaCBzZW50IHR5cGUgaW5mb3JtYXRpb24AR3JhbmQgVW5pZmllZCBGbG93IEFuYWx5c2lzOiBvcHRpbWl6ZSB0aGUgZW50aXJlIHByb2dyYW0gdXNpbmcgaW5mb3JtYXRpb24gYWJvdXQgd2hhdCBjb250ZW50IGNhbiBhY3R1YWxseSBhcHBlYXIgaW4gZWFjaCBsb2NhdGlvbgBiaW5hcnkgb2Zmc2V0IGF0IGZ1bmN0aW9uIGV4aXQgbm90IGF0IGV4cGVjdGVkIGxvY2F0aW9uAGdldExvY2F0aW9uAGJsb2NrLWRlYnVnTG9jYXRpb24AVW5leHBlY3RlZCBjb250cm9sIGZsb3cgZXhwcmVzc2lvbgBub24tY29uc3RhbnQgZXhwcmVzc2lvbgB1bnN1cHBvcnRlZCBjb25zdGFudCBleHByZXNzaW9uAGVsZW1lbnQgbXVzdCBiZSBhIGNvbnN0YW50IGV4cHJlc3Npb24AaW52YWxpZCB0eXBlIGluIFJlc3VtZSBleHByZXNzaW9uAGV4cGVjdGVkIHRvIHJlYWQgYSBzaW5nbGUgZXhwcmVzc2lvbgBnZXRDb25zdEV4cHJlc3Npb24AZ2V0TGl0ZXJhbEZyb21Db25zdEV4cHJlc3Npb24AcHJpbnRFeHByZXNzaW9uAG1ha2VDb25zdGFudEV4cHJlc3Npb24AdmlzaXRFeHByZXNzaW9uAHBvcEV4cHJlc3Npb24AbWFrZUV4cHJlc3Npb24AcG9wTm9uVm9pZEV4cHJlc3Npb24AcmVhZEV4cHJlc3Npb24AOiBubyBjb252ZXJzaW9uAE1vbgBqb2luAGYzMng0LnBtaW4AZjY0eDIucG1pbgBNYXRoX21pbgBmMzJ4NC5yZWxheGVkX21pbgBmNjR4Mi5yZWxheGVkX21pbgBmMzJ4NC5taW4AZjY0Lm1pbgBmNjR4Mi5taW4AZjMyLm1pbgBpID4gMCAmJiBzZXQtPnZhbHVlID09ICphY3Rpb25zW2kgLSAxXS5vcmlnaW4AX19vcmlnaW5hbF9tYWluAGlubGluZS1tYWluAGlubGluZSBfX29yaWdpbmFsX21haW4gaW50byBtYWluAGxvb3AtaW4AZjY0LmNvcHlzaWduAGYzMi5jb3B5c2lnbgB2aXNpdEFuZEFzc2lnbgBkZWFsaWduAGN1cnItPmFsaWduAGJhZCBhbGlnbgBCaW5hcnllblN0b3JlU2V0QWxpZ24AQmluYXJ5ZW5TSU1ETG9hZFN0b3JlTGFuZVNldEFsaWduAEJpbmFyeWVuTG9hZFNldEFsaWduAEJpbmFyeWVuU0lNRExvYWRTZXRBbGlnbgBCaW5hcnllblN0b3JlR2V0QWxpZ24AQmluYXJ5ZW5TSU1ETG9hZFN0b3JlTGFuZUdldEFsaWduAEJpbmFyeWVuTG9hZEdldEFsaWduAEJpbmFyeWVuU0lNRExvYWRHZXRBbGlnbgBmbGF0dGVuAEZsYXR0ZW4AcG9zdC1lbXNjcmlwdGVuAGluc3RydWN0aW9ucyBtdXN0IG9ubHkgaGF2ZSBjb25zdGFudCBleHByZXNzaW9ucywgbG9jYWwuZ2V0LCBvciB1bnJlYWNoYWJsZSBhcyBjaGlsZHJlbgBCaW5hcnllbkJsb2NrR2V0TnVtQ2hpbGRyZW4Ac2V0T3BlbgBhcnJheS5sZW4AcmVwbGFjZVVudGFrZW4AKHRoZW4AQXJyYXlMZW4AZGVuYW4ALW5hbgB0cnVuY1VGbG9hdCBvZiBuYW4AdHJ1bmNTRmxvYXQgb2YgbmFuAHNjYW4ASmFuAFxuAHZpc2l0QnJPbgB3b3JrT24AX19sbHZtAHZhY3V1bQBkb1dvcmtlcnMuc2l6ZSgpID09IG51bQBuZXdUeXBlcy5zaXplKCkgPT0gbnVtAHNpemUgbWluaW11bSBtdXN0IG5vdCBiZSBncmVhdGVyIHRoYW4gbWF4aW11bQBCaW5hcnllblN0cmluZ1NsaWNlSXRlclNldE51bQBCaW5hcnllblN0cmluZ0l0ZXJNb3ZlU2V0TnVtAEJpbmFyeWVuU3RyaW5nU2xpY2VJdGVyR2V0TnVtAEJpbmFyeWVuU3RyaW5nSXRlck1vdmVHZXROdW0AYXNtMndhc20ALndhc20AX19zdGFydF9lbV9hc20AX19zdG9wX2VtX2FzbQBlbWl0IFNvdXBlciBJUiBpbiB0ZXh0IGZvcm0AaW52YWxpZCAnc3ViJyBmb3JtAG9wdGltaXplU2V0SWZXaXRoQ29weUFybQBubQByZS1vcHRpbWl6ZSBjb250cm9sIGZsb3cgdXNpbmcgdGhlIHJlbG9vcGVyIGFsZ29yaXRobQBzeXN0ZW0AaXRlbQBfX3dhc21faTY0X3VyZW0AX193YXNtX2k2NF9zcmVtAGk2NHUtcmVtAGkzMnUtcmVtAGk2NHMtcmVtAGkzMnMtcmVtAGY2NC1yZW0AdmFyIG1lbQA6IHsgYnVmZmVyIDogbWVtAG91dCBvZiBib3VuZHMgc2VnbWVudCBhY2Nlc3MgaW4gYXJyYXkubmV3X2VsZW0AYXJyYXkuaW5pdF9lbGVtAChlbGVtAEFycmF5TmV3RWxlbQBBcnJheUluaXRFbGVtAGxpY20AcGFyYW0AZmV0Y2hPdXRQYXJhbQBpc1BhcmFtAGFkZFBhcmFtAGlvc3RyZWFtAHN0b3VsAE1hdGhfaW11bABfX3dhc21faTY0X211bABpMTZ4OC5tdWwAaTMyeDQubXVsAGYzMng0Lm11bABpNjQubXVsAGY2NC5tdWwAaTY0eDIubXVsAGY2NHgyLm11bABpMzIubXVsAGYzMi5tdWwASnVsAGk2NC5yb3RsAGkzMi5yb3RsAHVybAByZWYuaXNfbnVsbAByZWYuYXNfbm9uX251bGwAYnJfb25fbm9uX251bGwAYnJfb25fbnVsbABnbG9iYWwgaW5pdCBtdXN0IGJlIG5vbi1udWxsACBudWxsAHByaW50LWZ1bGwAUmVmSXNOdWxsAGN1cnItPm9wID09IFJlZkFzTm9uTnVsbABCaW5hcnllblJlZk51bGwAbWFrZVJlZk51bGwAc3RvbGwAd2FzbTJqc19tZW1vcnlfZmlsbABvdXQgb2YgYm91bmRzIG1lbW9yeSBhY2Nlc3MgaW4gbWVtb3J5LmZpbGwAb3V0IG9mIGJvdW5kcyBhcnJheSBhY2Nlc3MgaW4gYXJyYXkuZmlsbABpbnZhbGlkIHRhYmxlIG5hbWUgaW4gdGFibGUuZmlsbAB2aXNpdE1lbW9yeUZpbGwAQXJyYXlGaWxsAFRhYmxlRmlsbABtaW5pZmllcyBib3RoIGltcG9ydCBhbmQgZXhwb3J0IG5hbWVzLCBhbmQgZW1pdHMgYSBtYXBwaW5nIHRvIHRoZSBtaW5pZmllZCBvbmVzLCBhbmQgbWluaWZpZXMgdGhlIG1vZHVsZXMgYXMgd2VsbAByZXR1cm5fY2FsbABzdGQ6OmJhZF9mdW5jdGlvbl9jYWxsAHRhaWwtY2FsbABmYWtlJGRmbyRjYWxsAGxlZ2FsaXplcyBpNjQgdHlwZXMgb24gdGhlIGltcG9ydC9leHBvcnQgYm91bmRhcnkgaW4gYSBtaW5pbWFsIG1hbm5lciwgb25seSBvbiB0aGluZ3Mgb25seSBKUyB3aWxsIGNhbGwAY2F0Y2hfYWxsAHZpc2l0Q2FsbABoYW5kbGVJbmRpcmVjdENhbGwAYXBwZW5kVG9DYWxsAGhhbmRsZUNhbGwAZ3VmYS1jYXN0LWFsbABlbWl0Q2F0Y2hBbGwAQmluYXJ5ZW5UcnlIYXNDYXRjaEFsbABBcHJpbABNYXRoX2NlaWwAZjMyeDQuY2VpbABmNjQuY2VpbABmNjR4Mi5jZWlsAGYzMi5jZWlsAGJyX29uX2Nhc3RfZmFpbABpMTZ4OC5zaGwAaTh4MTYuc2hsAGkzMng0LnNobABpNjQuc2hsAGk2NHgyLnNobABpMzIuc2hsAHRvcGxldmVsAGJhZCBzaHJpbmsgbGV2ZWwAaXNGdW5jdGlvblBhcmFsbGVsAGludmFsaWQgbGFiZWwAZ2V0dGluZyBhIGxhYmVsAG9wdGltaXplLWoyY2wAZXZhbABqb2luZWUudmFsID09IGpvaW5lci52YWwAYmluYXJ5IGNoaWxkIHR5cGVzIG11c3QgYmUgZXF1YWwAc2tpcCA9PSB0b3RhbABhbGlnbm1lbnQgbXVzdCBub3QgZXhjZWVkIG5hdHVyYWwAVW5leHBlY3RlZCBudW1iZXIgb2YgbGFuZXMgaW4gdjEyOCBsaXRlcmFsAGdldENvbnN0YW50TGl0ZXJhbABnZXRMaXRlcmFsAHRvQmluYXJ5ZW5MaXRlcmFsAGZyb21CaW5hcnllbkxpdGVyYWwAcHJpbnRJbnRlcm5hbABjYWxsRnVuY3Rpb25JbnRlcm5hbABjb25kaXRpb25hbABvcHRpbWl6ZVJlbGF0aW9uYWwAcmVxdWVzdHMgfHwgb3JpZ2luYWwAY2hpbGRPcmlnaW5hbABtYXJrIGFsbCBsZWFmIHR5cGVzIGFzIGZpbmFsAGludmFsaWQgaGV4YWRlY2ltYWwAKnByZUdyYXBoLmdldFNldHNlc1tpbmZsdWVuY2VkR2V0XS5iZWdpbigpID09IHRyaXZpYWwAbWVtb3J5IG1heCA+PSBpbml0aWFsAG1lcmdlcyBsb2NhbHMgd2hlbiBiZW5lZmljaWFsAGhlYXAybG9jYWwAcG9wcGluZyB2b2lkIHdoZXJlIHdlIG5lZWQgYSBuZXcgbG9jYWwAaG9pc3QgcmVwZWF0ZWQgY29uc3RhbnRzIHRvIGEgbG9jYWwAcGFyc2VQYXJhbU9yTG9jYWwAbWVyZ2VzIHNpbWlsYXIgZnVuY3Rpb25zIHdoZW4gYmVuZWZpY2FsAGVuZm9yY2UgbGltaXRzIG9uIGxsdm0ncyBfX3N0YWNrX3BvaW50ZXIgZ2xvYmFsACFwcmVQYXJzZUltcG9ydCBpbiBnbG9iYWwAZ2V0Q29uc3RhbnRHbG9iYWwAZ2V0R2xvYmFsAGFkZEdsb2JhbABpMTZ4OC5iaXRtYXNrAGk4eDE2LmJpdG1hc2sAaTMyeDQuYml0bWFzawBpNjR4Mi5iaXRtYXNrAEludmFsaWQgbGFuZSBpbmRleCBpbiBtYXNrAHB1c2hUYXNrAEJpbmFyeWVuU0lNRFNodWZmbGVTZXRNYXNrAEJpbmFyeWVuU0lNRFNodWZmbGVHZXRNYXNrAGVtdWxhdGVzIGZ1bmN0aW9uIHBvaW50ZXIgY2FzdHMsIGFsbG93aW5nIGluY29ycmVjdCBpbmRpcmVjdCBjYWxscyB0byAoc29tZXRpbWVzKSB3b3JrAHNicmsAZHlsaW5rAHdhbGsAdGFpbC5ibG9jawAoYmxvY2sAVW5leHBlY3RlZCB0b3AtbGV2ZWwgcG9wIGluIGJsb2NrAGludmFsaWQgY2F0Y2ggYmxvY2sAaW52YWxpZCB0YWcgYmxvY2sAaW52YWxpZCBjYXRjaF9hbGwvY2F0Y2hfYWxsX3JlZiBibG9jawBpbnZhbGlkIGNhdGNoL2NhdGNoX3JlZiBibG9jawAgOzsgZW5kIGJsb2NrAEZ1bmN0aW9uIGJvZHkgbXVzdCBiZSBhIGJsb2NrAEV4cGVjdGVkIGNvbnRyb2wgZmxvdyBjaGlsZCB0byBiZSBhIGJsb2NrAHZpc2l0QmxvY2sAYXBwZW5kVG9CbG9jawBTSU1EX0ludDE2eDhfY2hlY2sAU0lNRF9JbnQ4eDE2X2NoZWNrAFNJTURfSW50MzJ4NF9jaGVjawBTSU1EX0Zsb2F0MzJ4NF9jaGVjawBTSU1EX0Zsb2F0NjR4Ml9jaGVjawBzdGFjay1jaGVjawBldmFsdWF0ZUNhc3RDaGVjawBsb2NhbDJTdGFjawBwb3BfYmFjawBwdXNoX2JhY2sAJGJyZWFrAERldGFpbHMtPlR5cGUgPT0gQnJhbmNoOjpCcmVhawBnc2kARnJpAGpzcGkAc3RvaQAkaGkAb3JkZXJbaV0gPT0gaQBpdC0+c2Vjb25kIDwgaQBjdXJyRGVwdGggPD0gZGVwdGgAcmVwbGFjZUFsbFVzZXNXaXRoAGJhZF9hcnJheV9uZXdfbGVuZ3RoAHN0cmluZ3ZpZXdfd3RmMTYubGVuZ3RoAGludmFsaWQgUk1XIGJ5dGUgbGVuZ3RoAEJpbmFyeWVuQXJyYXlDb3B5U2V0TGVuZ3RoAEJpbmFyeWVuU3RyaW5nTmV3U2V0TGVuZ3RoAEJpbmFyeWVuQXJyYXlDb3B5R2V0TGVuZ3RoAEJpbmFyeWVuU3RyaW5nTmV3R2V0TGVuZ3RoAGJ5dGVMZW5ndGgATWF0aABzdHJpbmcuaGFzaABwcmludC1jYWxsLWdyYXBoAHByaW50IGNhbGwgZ3JhcGgAZ2V0TW9zdFJlZmluZWRGYWxsdGhyb3VnaABhZGp1c3RUeXBlRmxvd2luZ1Rocm91Z2gAbG9jYWwuc2V0IGluZGV4IG11c3QgYmUgc21hbGwgZW5vdWdoAGxvY2FsLmdldCBpbmRleCBtdXN0IGJlIHNtYWxsIGVub3VnaABCaW5hcnllbkNvbnN0U2V0VmFsdWVJNjRIaWdoAEJpbmFyeWVuQ29uc3RHZXRWYWx1ZUk2NEhpZ2gAc3RyaXAtZWgAc3dpdGNoAHZpc2l0U3dpdGNoAGFwcGVuZERlZmF1bHRUb1N3aXRjaABhcHBlbmRDYXNlVG9Td2l0Y2gAYXBwZW5kQ29kZVRvU3dpdGNoAFVuU3dpdGNoAHRhZydzIHBhcmFtIG51bWJlcnMgbXVzdCBtYXRjaABhcnJheS5jb3B5IHR5cGVzIG11c3QgbWF0Y2gAY2FsbCBwYXJhbSB0eXBlcyBtdXN0IG1hdGNoAHRhZyBwYXJhbSB0eXBlcyBtdXN0IG1hdGNoAGNtcHhjaGcgb3BlcmFuZCB0eXBlcyBtdXN0IG1hdGNoAGNhbGwqIHBhcmFtIG51bWJlciBtdXN0IG1hdGNoAHN0b3JlIHZhbHVlIHR5cGUgbXVzdCBtYXRjaAB0aGUgbnVtYmVyIG9mIGNhdGNoIHRhZ3MgYW5kIGNhdGNoIGRlc3RpbmF0aW9ucyBkbyBub3QgbWF0Y2gAdGhlIG51bWJlciBvZiBjYXRjaCBibG9ja3MgYW5kIHRhZ3MgZG8gbm90IG1hdGNoAHRoZSBudW1iZXIgb2YgY2F0Y2ggdGFncyBhbmQgY2F0Y2ggcmVmcyBkbyBub3QgbWF0Y2gAdGhlIG51bWJlciBvZiBjYXRjaCB0YWdzIGFuZCBzZW50IHR5cGVzIGRvIG5vdCBtYXRjaAB0eXBlIGFuZCBwYXJhbS9yZXN1bHQgZG9uJ3QgbWF0Y2gAY2FsbEluZGlyZWN0OiBmdW5jdGlvbiB0eXBlcyBkb24ndCBtYXRjaAB0cnkgd2l0aG91dCBjYXRjaABkb1N0YXJ0Q2F0Y2gAZW1pdENhdGNoAGRvRW5kQ2F0Y2gAc2NvcGUua2luZCA9PSBTY29wZTo6Q2F0Y2gATWFyY2gAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL3N1cHBvcnQvc3BhcnNlX3NxdWFyZV9tYXRyaXguaAAvaG9tZS9ydW5uZXIvd29yay9iaW5hcnllbi5qcy9iaW5hcnllbi5qcy9iaW5hcnllbi9zcmMvaXIvY29zdC5oAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy9lbXNjcmlwdGVuLW9wdGltaXplci9zaW1wbGVfYXN0LmgAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL2lyL3Bvc3NpYmxlLWNvbnN0YW50LmgAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL3N1cHBvcnQvc21hbGxfc2V0LmgAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL2lyL2Fic3RyYWN0LmgAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL2lyL3Bvc3NpYmxlLWNvbnRlbnRzLmgAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL2lyL2JpdHMuaAAvaG9tZS9ydW5uZXIvd29yay9iaW5hcnllbi5qcy9iaW5hcnllbi5qcy9iaW5hcnllbi9zcmMvaXIvZXF1aXZhbGVudF9zZXRzLmgAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL2lyL2VmZmVjdHMuaAAvaG9tZS9ydW5uZXIvd29yay9iaW5hcnllbi5qcy9iaW5hcnllbi5qcy9iaW5hcnllbi9zcmMvcGFzcy5oAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy9pci9zdWJ0eXBlLWV4cHJzLmgAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL2RhdGFmbG93L3VzZXJzLmgAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL3N1cHBvcnQvcGVybXV0YXRpb25zLmgAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL2lyL3V0aWxzLmgAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL2lyL3N0cnVjdC11dGlscy5oAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy9wYXNzZXMvcGFzcy11dGlscy5oAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy9pci9saXRlcmFsLXV0aWxzLmgAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL2lyL2Jsb2NrLXV0aWxzLmgAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL2lyL2JyYW5jaC11dGlscy5oAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy9pci9nYy10eXBlLXV0aWxzLmgAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL2lyL21vZHVsZS11dGlscy5oAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy93YXNtMmpzLmgAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL3dhc20tZmVhdHVyZXMuaAAvaG9tZS9ydW5uZXIvd29yay9iaW5hcnllbi5qcy9iaW5hcnllbi5qcy9iaW5hcnllbi9zcmMvaXIvc3VidHlwZXMuaAAvaG9tZS9ydW5uZXIvd29yay9iaW5hcnllbi5qcy9iaW5hcnllbi5qcy9iaW5hcnllbi9zcmMvaXIvcHJvcGVydGllcy5oAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy9zdXBwb3J0L3NtYWxsX3ZlY3Rvci5oAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy9hbmFseXNpcy9sYXR0aWNlcy92ZWN0b3IuaAAvaG9tZS9ydW5uZXIvd29yay9iaW5hcnllbi5qcy9iaW5hcnllbi5qcy9iaW5hcnllbi9zcmMvd2FzbS1pbnRlcnByZXRlci5oAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy93YXNtLWJ1aWxkZXIuaAAvaG9tZS9ydW5uZXIvd29yay9iaW5hcnllbi5qcy9iaW5hcnllbi5qcy9iaW5hcnllbi9zcmMvaXIvbGluZWFyLWV4ZWN1dGlvbi5oAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy9zdXBwb3J0L2RmYV9taW5pbWl6YXRpb24uaAAvaG9tZS9ydW5uZXIvd29yay9iaW5hcnllbi5qcy9iaW5hcnllbi5qcy9iaW5hcnllbi9zcmMvaXIvaXRlcmF0aW9uLmgAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL3dhc20uaAAvaG9tZS9ydW5uZXIvd29yay9iaW5hcnllbi5qcy9iaW5hcnllbi5qcy9iaW5hcnllbi9zcmMvY2ZnL2xpdmVuZXNzLXRyYXZlcnNhbC5oAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy93YXNtLXRyYXZlcnNhbC5oAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy9jZmcvY2ZnLXRyYXZlcnNhbC5oAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy9saXRlcmFsLmgAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL2FiaS9zdGFjay5oAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy93YXNtLXN0YWNrLmgAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL2RhdGFmbG93L2dyYXBoLmgAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL2lyL2RlYnVnLmgAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL2lyL3R5cGUtdXBkYXRpbmcuaAAvaG9tZS9ydW5uZXIvd29yay9iaW5hcnllbi5qcy9iaW5hcnllbi5qcy9iaW5hcnllbi9zcmMvaXIvb3JkZXJpbmcuaAAvaG9tZS9ydW5uZXIvd29yay9iaW5hcnllbi5qcy9iaW5hcnllbi5qcy9iaW5hcnllbi9zcmMvc3VwcG9ydC91bmlxdWVfZGVmZXJyaW5nX3F1ZXVlLmgAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL3dhc20tdHlwZS5oAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy9jZmcvZG9tdHJlZS5oAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy9kYXRhZmxvdy9ub2RlLmgAL2hvbWUvcnVubmVyL3dvcmsvYmluYXJ5ZW4uanMvYmluYXJ5ZW4uanMvYmluYXJ5ZW4vc3JjL3NoZWxsLWludGVyZmFjZS5oAC9ob21lL3J1bm5lci93b3JrL2JpbmFyeWVuLmpzL2JpbmFyeWVuLmpzL2JpbmFyeWVuL3NyYy9hbmFseXNpcy9sYXR0aWNlcy9zaGFyZWQuaAAvaG9tZS9ydW5uZXIvd29yay9iaW5hcnllbi5qcy9iaW5hcnllbi5qcy9iaW5hcnllbi9zcmMvbWl4ZWRfYXJlbmEuaAAvaG9tZS9ydW5uZXIvd29yay9iaW5hcnllbi5qcy9iaW5hcnllbi5qcy9iaW5hcnllbi9zcmMvc3VwcG9ydC9iYXNlNjQuaAByZWxvYy4uZGVidWcAZGVwcmVjYXRlZDsgc2FtZSBhcyBzdHJpcC1kZWJ1ZwBBdWcAc2ltcGxpZnktZ2xvYmFscy1vcHRpbWl6aW5nAGlubGluaW5nLW9wdGltaXppbmcAZGFlLW9wdGltaXppbmcAZ3VmYS1vcHRpbWl6aW5nAGV4cGVyaW1lbnRhbC10eXBlLWdlbmVyYWxpemluZwB0eXBlLXVuZmluYWxpemluZwB0eXBlLWZpbmFsaXppbmcAbWFrZUxvY2FsU2F2aW5nAGNvbnN0LWhvaXN0aW5nAHdvcnRoSG9pc3RpbmcAaXNJbnRlcmVzdGluZwBzaW1wbGlmeS1sb2NhbHMtbm9uZXN0aW5nAGZsYXR0ZW5zIG91dCBjb2RlLCByZW1vdmluZyBuZXN0aW5nAFRPRE8gR0MgdHlwZSB3cml0aW5nAG51bGxzdHJpbmcAYmFzaWNfc3RyaW5nAHVuZXhwZWN0ZWQgRU9GIGluIHRoZSBtaWRkbGUgb2Ygc3RyaW5nAGV4cGVjdGVkIHN0cmluZwB1bnRlcm1pbmF0ZWQgc3RyaW5nAEJpbmFyeWVuU3RyaW5nQ29uc3RTZXRTdHJpbmcAQmluYXJ5ZW5TdHJpbmdDb25zdEdldFN0cmluZwBudW1Ub1N0cmluZwBnZXRJU3RyaW5nAGdldENTdHJpbmcAbXVsdGktbWVtb3J5LWxvd2VyaW5nAHNpZ25leHQtbG93ZXJpbmcAYWxpZ25tZW50LWxvd2VyaW5nAGludHJpbnNpYy1sb3dlcmluZwBtZW1vcnk2NC1sb3dlcmluZwBpNjQtdG8taTMyLWxvd2VyaW5nAHVuc3VidHlwaW5nAGxvY2FsLXN1YnR5cGluZwBzaWduYXR1cmUtcHJ1bmluZwBjb2FsZXNjZS1sb2NhbHMtbGVhcm5pbmcAcmVkdWNlICMgb2YgbG9jYWxzIGJ5IGNvYWxlc2NpbmcgYW5kIGxlYXJuaW5nACFydW5uaW5nAGlubGluaW5nAGdsb2JhbC1yZWZpbmluZwBzaWduYXR1cmUtcmVmaW5pbmcAYWJzdHJhY3QtdHlwZS1yZWZpbmluZwBhc3luYy9hd2FpdCBzdHlsZSB0cmFuc2Zvcm0sIGFsbG93aW5nIHBhdXNpbmcgYW5kIHJlc3VtaW5nAGV4Y2VwdGlvbi1oYW5kbGluZwApIGhhcyByZXN1bHQgdmFsdWVzLCB3aGljaCBpcyBub3QgYWxsb3dlZCBmb3IgZXhjZXB0aW9uIGhhbmRsaW5nAHRhZ3Mgd2l0aCByZXN1bHQgdHlwZXMgbXVzdCBub3QgYmUgdXNlZCBmb3IgZXhjZXB0aW9uIGhhbmRsaW5nAGxpbmtpbmcAbWVtb3J5LXBhY2tpbmcAZXh0ZW5kRm9yUGFja2luZwBjb2RlLXB1c2hpbmcAdHlwZS1tZXJnaW5nAGJhZCBpbXBvcnQgZW5kaW5nAGNvZGUtZm9sZGluZwBtYWtlTG9jYWxMb2FkaW5nAHJlZHVjZSAjIG9mIGxvY2FscyBieSBjb2FsZXNjaW5nAGdldFNpZwBpNjQuYXRvbWljLnJtdy5jbXB4Y2hnAGkzMi5hdG9taWMucm13LmNtcHhjaGcAdmlzaXRBdG9taWNDbXB4Y2hnAGk2NC5hdG9taWMucm13LnhjaGcAaTMyLmF0b21pYy5ybXcueGNoZwBpMTZ4OC5uZWcAaTh4MTYubmVnAGkzMng0Lm5lZwBmMzJ4NC5uZWcAZjY0Lm5lZwBpNjR4Mi5uZWcAZjY0eDIubmVnAGYzMi5uZWcAZHVwbGljYXRlIHRhZwB1bmV4cGVjdGVkIGZlYXR1cmUgZmxhZwBnZXRUYWcAQmluYXJ5ZW5UaHJvd1NldFRhZwBCaW5hcnllblRocm93R2V0VGFnAGNhdGNoVGFnAEJpbmFyeWVuVHJ5QXBwZW5kQ2F0Y2hUYWcAcGFyc2VUYWcAYWRkVGFnAHN0cmlwLWR3YXJmAHR5cGVvZgBpbnN0YW5jZW9mAC1pbmYASGVhcCB0eXBlIGlzIGEgc3VwZXJ0eXBlIG9mIGl0c2VsZgAlbGYAYnJfaWYAIDs7IGVuZCBpZgBleHRlcm4uZXh0ZXJuYWxpemUgdmFsdWUgc2hvdWxkIGJlIGFuIGFueXJlZgBhcnJheXJlZgBzdHJ1Y3RyZWYAcmVmLmVxJ3MgcmlnaHQgYXJndW1lbnQgc2hvdWxkIGJlIGEgc3VidHlwZSBvZiBlcXJlZgByZWYuZXEncyBsZWZ0IGFyZ3VtZW50IHNob3VsZCBiZSBhIHN1YnR5cGUgb2YgZXFyZWYAbnVsbGV4bnJlZgB0aHJvd19yZWYncyBhcmd1bWVudCBzaG91bGQgYmUgYSBzdWJ0eXBlIG9mIGV4bnJlZgBudWxsZXh0ZXJucmVmAHNldF9leHRlcm5yZWYAZ2V0X2V4dGVybnJlZgBleHRlcm4uaW50ZXJuYWxpemUgdmFsdWUgc2hvdWxkIGJlIGFuIGV4dGVybnJlZgBudWxscmVmAHN0cmluZ3JlZgBudWxsZnVuY3JlZgBzZXRfZnVuY3JlZgBnZXRfZnVuY3JlZgB0aHJvd19yZWYAcmV0dXJuX2NhbGxfcmVmAG51bGwgdGFyZ2V0IGluIGNhbGxfcmVmAGNhdGNoX2FsbF9yZWYAY2F0Y2hfcmVmAGkzMS5nZXRfcy91J3MgYXJndW1lbnQgc2hvdWxkIGJlIGkzMXJlZgBudWxsIHJlZgByZWYuYXMgY2hpbGQgbXVzdCBiZSBhIHJlZgAvaG9tZS9ydW5uZXIvd29yay9iaW5hcnllbi5qcy9iaW5hcnllbi5qcy9iaW5hcnllbi9zcmMvd2FzbS1kZWxlZ2F0aW9ucy1maWVsZHMuZGVmAFRocm93UmVmAEJpbmFyeWVuQXJyYXlDb3B5U2V0RGVzdFJlZgBCaW5hcnllbkFycmF5Q29weUdldERlc3RSZWYAQmluYXJ5ZW5TdHJpbmdJdGVyTmV4dFNldFJlZgBCaW5hcnllblJlZlRlc3RTZXRSZWYAQmluYXJ5ZW5SZWZDYXN0U2V0UmVmAEJpbmFyeWVuQXJyYXlTZXRTZXRSZWYAQmluYXJ5ZW5TdHJ1Y3RTZXRTZXRSZWYAQmluYXJ5ZW5BcnJheUdldFNldFJlZgBCaW5hcnllblN0cnVjdEdldFNldFJlZgBCaW5hcnllblN0cmluZ1dURjE2R2V0U2V0UmVmAEJpbmFyeWVuU3RyaW5nQXNTZXRSZWYAQmluYXJ5ZW5TdHJpbmdTbGljZUl0ZXJTZXRSZWYAQmluYXJ5ZW5BcnJheUxlblNldFJlZgBCaW5hcnllbkJyT25TZXRSZWYAQmluYXJ5ZW5TdHJpbmdJdGVyTW92ZVNldFJlZgBCaW5hcnllblN0cmluZ01lYXN1cmVTZXRSZWYAQmluYXJ5ZW5TdHJpbmdFbmNvZGVTZXRSZWYAQmluYXJ5ZW5TdHJpbmdXVEY4QWR2YW5jZVNldFJlZgBCaW5hcnllblN0cmluZ1NsaWNlV1RGU2V0UmVmAEJpbmFyeWVuU3RyaW5nSXRlck5leHRHZXRSZWYAQmluYXJ5ZW5SZWZUZXN0R2V0UmVmAEJpbmFyeWVuUmVmQ2FzdEdldFJlZgBCaW5hcnllbkFycmF5U2V0R2V0UmVmAEJpbmFyeWVuU3RydWN0U2V0R2V0UmVmAEJpbmFyeWVuQXJyYXlHZXRHZXRSZWYAQmluYXJ5ZW5TdHJ1Y3RHZXRHZXRSZWYAQmluYXJ5ZW5TdHJpbmdXVEYxNkdldEdldFJlZgBCaW5hcnllblN0cmluZ0FzR2V0UmVmAEJpbmFyeWVuU3RyaW5nU2xpY2VJdGVyR2V0UmVmAEJpbmFyeWVuQXJyYXlMZW5HZXRSZWYAQmluYXJ5ZW5Cck9uR2V0UmVmAEJpbmFyeWVuU3RyaW5nSXRlck1vdmVHZXRSZWYAQmluYXJ5ZW5TdHJpbmdNZWFzdXJlR2V0UmVmAEJpbmFyeWVuU3RyaW5nRW5jb2RlR2V0UmVmAEJpbmFyeWVuU3RyaW5nV1RGOEFkdmFuY2VHZXRSZWYAQmluYXJ5ZW5TdHJpbmdTbGljZVdURkdldFJlZgB2aXNpdENhbGxSZWYAcGFyc2VUeXBlUmVmAEJpbmFyeWVuQXJyYXlDb3B5U2V0U3JjUmVmAEJpbmFyeWVuQXJyYXlDb3B5R2V0U3JjUmVmACUuMExmACVMZgB2aXNpdElmAGRvVmlzaXRJZgBvcHRpbWl6ZUludG9JZgByZXN0cnVjdHVyZUlmAHNjb3BlLmtpbmQgPT0gU2NvcGU6OklmACUuMGYAZGlyZWN0aXplAF9fd2FzbV9tZW1vcnlfc2l6ZQByZXR1cm5fc2l6ZQBtZW1vcnkuc2l6ZQBpbnZhbGlkIHRhYmxlIG5hbWUgaW4gdGFibGUuc2l6ZQBhc3luY2lmeS1zZWNvbmRhcnktbWVtb3J5LXNpemUAc2hhcmVkIG1lbW9yeSBtdXN0IGhhdmUgbWF4IHNpemUAZXhjZXNzaXZlIHRhYmxlIG1heCBzaXplAGludmFsaWQgcm13IHNpemUAZXhjZXNzaXZlIHRhYmxlIGluaXQgc2l6ZQBlbXB0eSBmdW5jdGlvbiBzaXplAGJhZCBmZWF0dXJlcyBzZWN0aW9uIHNpemUAYmFkIHVzZXIgc2VjdGlvbiBzaXplAGJhZCBkeWxpbmsgc2VjdGlvbiBzaXplAEFsaWduIG9mIEF0b21pY05vdGlmeSBtdXN0IG1hdGNoIHNpemUAQWxpZ24gb2YgbWVtb3J5LmF0b21pYy53YWl0IG11c3QgbWF0Y2ggc2l6ZQBBbGlnbiBvZiBBdG9taWNXYWl0IG11c3QgbWF0Y2ggc2l6ZQBBbGlnbiBvZiBBdG9taWMgQ21weGNoZyBtdXN0IG1hdGNoIHNpemUAQWxpZ24gb2YgQXRvbWljQ3B4Y2hnIG11c3QgbWF0Y2ggc2l6ZQBBbGlnbiBvZiBBdG9taWNSTVcgbXVzdCBtYXRjaCBzaXplAEFsaWduIG9mIEF0b21pYyBSTVcgbXVzdCBtYXRjaCBzaXplAGludmFsaWQgc3RvcmUgc2l6ZQBpbnZhbGlkIHJlZmVyZW5jZSB0eXBlIHNpemUAQWxpZ25tZW50IG11c3QgYmUgb2YgYSByZWFzb25hYmxlIHNpemUAaW52YWxpZCBzaXplAGludmFsaWQgbG9hZCBzaXplAGRlc3QgJiYgb2Zmc2V0ICYmIHNpemUAZGVzdCAmJiB2YWx1ZSAmJiBzaXplAGRlc3QgJiYgc291cmNlICYmIHNpemUAb3B0aW1pemUAZXh0ZXJuLmV4dGVybmFsaXplAGV4dGVybi5pbnRlcm5hbGl6ZQByZWZpbmFsaXplAGNhbm9uaWNhbGl6ZQBtb25vbW9ycGhpemUATWVtb3J5U2l6ZQBCaW5hcnllbk1lbW9yeUNvcHlTZXRTaXplAEJpbmFyeWVuQXJyYXlOZXdTZXRTaXplAEJpbmFyeWVuTWVtb3J5SW5pdFNldFNpemUAQmluYXJ5ZW5NZW1vcnlGaWxsU2V0U2l6ZQBCaW5hcnllbk1lbW9yeUNvcHlHZXRTaXplAEJpbmFyeWVuQXJyYXlOZXdHZXRTaXplAEJpbmFyeWVuTWVtb3J5SW5pdEdldFNpemUAQmluYXJ5ZW5NZW1vcnlGaWxsR2V0U2l6ZQB3cmFwVG9TbWFsbGVyU2l6ZQBidWlsdC0+c2l6ZSgpID09IGdyb3VwU2l6ZQBUYWJsZVNpemUAcmVtb3ZlAGJsb2NrLT5saXN0LmJhY2soKSA9PSBhYm92ZQBTdHJpbmdJdGVyTW92ZQBwYXNzaXZlACRsZWF2ZQB2MTI4LmFueV90cnVlAGkxNng4LmFsbF90cnVlAGk4eDE2LmFsbF90cnVlAGkzMng0LmFsbF90cnVlAGk2NHgyLmFsbF90cnVlAHVucmVhY2hhYmxlIGlmLWVsc2UgbXVzdCBoYXZlIHVucmVhY2hhYmxlIHRydWUAY3Vyci0+cmlnaHQtPnR5cGUuaXNDb25jcmV0ZSgpID8gcmlnaHQudHlwZSA9PSBjdXJyLT5yaWdodC0+dHlwZSA6IHRydWUAY3Vyci0+bGVmdC0+dHlwZS5pc0NvbmNyZXRlKCkgPyBsZWZ0LnR5cGUgPT0gY3Vyci0+bGVmdC0+dHlwZSA6IHRydWUAcmV0LT52YWx1ZS0+dHlwZS5pc0NvbmNyZXRlKCkgPyByZXQtPnZhbHVlLT50eXBlID09IHR5cGUgOiB0cnVlAGN1cnItPmlzVGVlKCkgPyBUeXBlOjppc1N1YlR5cGUoZmxvdy5nZXRUeXBlKCksIGN1cnItPnR5cGUpIDogdHJ1ZQBpZiB0eXBlIG11c3QgbWF0Y2ggY29uY3JldGUgaWZUcnVlAEJpbmFyeWVuU2VsZWN0U2V0SWZUcnVlAEJpbmFyeWVuSWZTZXRJZlRydWUAQmluYXJ5ZW5TZWxlY3RHZXRJZlRydWUAQmluYXJ5ZW5JZkdldElmVHJ1ZQBtb2R1bGUgZXhwb3J0cyBtdXN0IGJlIHVuaXF1ZQBsb2NhbCBuYW1lcyBtdXN0IGJlIHVuaXF1ZQBpbXBvc3NpYmxlLWNvbnRpbnVlACRjb250aW51ZQBtdWx0aXZhbHVlAGdyYXBoLmxvY2F0aW9uc1t2YWx1ZV0gPT0gJnNldC0+dmFsdWUAIWJyLT52YWx1ZQAhYnIyLT52YWx1ZQAhYnIxLT52YWx1ZQAhKCpicmVha3NbMF0uYnJwKS0+dGVtcGxhdGUgY2FzdDxCcmVhaz4oKS0+dmFsdWUAZXhwZWN0ZWQgaTY0IHNwbGF0IHZhbHVlAGV4cGVjdGVkIGY2NCBzcGxhdCB2YWx1ZQBleHBlY3RlZCBpMzIgc3BsYXQgdmFsdWUAZXhwZWN0ZWQgZjMyIHNwbGF0IHZhbHVlAGJhZCBib2R5IGZvciBhIGxvb3AgdGhhdCBoYXMgbm8gdmFsdWUAc3VycHJpc2luZyB2YWx1ZQAgTEVCc2lnbi1leHRlbmQgc2hvdWxkIHByb2R1Y2UgYSBuZWdhdGl2ZSB2YWx1ZQBjYW4gb25seSBkcm9wIGEgdmFsaWQgdmFsdWUAYnJlYWtzIG11c3QgaGF2ZSBhIHZhbGlkIHZhbHVlAGJhZCB2YWx1ZQBpZiBsb29wIGlzIG5vdCByZXR1cm5pbmcgYSB2YWx1ZSwgZmluYWwgZWxlbWVudCBzaG91bGQgbm90IGZsb3cgb3V0IGEgdmFsdWUAaWYgYmxvY2sgaXMgbm90IHJldHVybmluZyBhIHZhbHVlLCBmaW5hbCBlbGVtZW50IHNob3VsZCBub3QgZmxvdyBvdXQgYSB2YWx1ZQBicmVha3MgdG8gYSBsb29wIGNhbm5vdCBwYXNzIGEgdmFsdWUAc3RhcnQgbXVzdCBub3QgcmV0dXJuIGEgdmFsdWUAdmVjICYmIHZhbHVlAEJpbmFyeWVuVW5hcnlTZXRWYWx1ZQBCaW5hcnllblRhYmxlR3Jvd1NldFZhbHVlAEJpbmFyeWVuQXJyYXlTZXRTZXRWYWx1ZQBCaW5hcnllblN0cnVjdFNldFNldFZhbHVlAEJpbmFyeWVuTG9jYWxTZXRTZXRWYWx1ZQBCaW5hcnllbkdsb2JhbFNldFNldFZhbHVlAEJpbmFyeWVuVGFibGVTZXRTZXRWYWx1ZQBCaW5hcnllblJlZkFzU2V0VmFsdWUAQmluYXJ5ZW5Ecm9wU2V0VmFsdWUAQmluYXJ5ZW5SZXR1cm5TZXRWYWx1ZQBCaW5hcnllblJlZklzTnVsbFNldFZhbHVlAEJpbmFyeWVuTWVtb3J5RmlsbFNldFZhbHVlAEJpbmFyeWVuQnJlYWtTZXRWYWx1ZQBCaW5hcnllblN3aXRjaFNldFZhbHVlAEJpbmFyeWVuU3RvcmVTZXRWYWx1ZQBCaW5hcnllblNJTURSZXBsYWNlU2V0VmFsdWUAQmluYXJ5ZW5BdG9taWNSTVdTZXRWYWx1ZQBCaW5hcnllblJlZkkzMVNldFZhbHVlAEJpbmFyeWVuVW5hcnlHZXRWYWx1ZQBCaW5hcnllblRhYmxlR3Jvd0dldFZhbHVlAEJpbmFyeWVuQXJyYXlTZXRHZXRWYWx1ZQBCaW5hcnllblN0cnVjdFNldEdldFZhbHVlAEJpbmFyeWVuTG9jYWxTZXRHZXRWYWx1ZQBCaW5hcnllbkdsb2JhbFNldEdldFZhbHVlAEJpbmFyeWVuVGFibGVTZXRHZXRWYWx1ZQBCaW5hcnllblJlZkFzR2V0VmFsdWUAQmluYXJ5ZW5Ecm9wR2V0VmFsdWUAQmluYXJ5ZW5SZXR1cm5HZXRWYWx1ZQBCaW5hcnllblJlZklzTnVsbEdldFZhbHVlAEJpbmFyeWVuTWVtb3J5RmlsbEdldFZhbHVlAEJpbmFyeWVuQnJlYWtHZXRWYWx1ZQBCaW5hcnllblN3aXRjaEdldFZhbHVlAEJpbmFyeWVuU3RvcmVHZXRWYWx1ZQBCaW5hcnllblNJTURSZXBsYWNlR2V0VmFsdWUAQmluYXJ5ZW5BdG9taWNSTVdHZXRWYWx1ZQBCaW5hcnllblJlZkkzMUdldFZhbHVlAHJlbW92ZVJldHVyblZhbHVlAHNldExvY2FsVmFsdWUAc2V0R2xvYmFsVmFsdWUAZ2V0U2luZ2xlVmFsdWUAQmluYXJ5ZW5BcnJheU5ld0ZpeGVkQXBwZW5kVmFsdWUAcmVjZWl2ZUNoaWxkVmFsdWUAVHVlAHByZWNvbXB1dGUAcGFydGlhbGx5UHJlY29tcHV0ZQBwdXNoIGNvZGUgZm9yd2FyZCwgcG90ZW50aWFsbHkgbWFraW5nIGl0IG5vdCBhbHdheXMgZXhlY3V0ZQBtaXNzaW5nIHZhbHVlIGluIG1lbW9yeSBhdHRyaWJ1dGUAbWlzc2luZyA9IGluIG1lbW9yeSBhdHRyaWJ1dGUAYmFkIG1lbW9yeSBhdHRyaWJ1dGUAd3JpdGUAaW5mby53cml0dGVuID49IGluZm8ucmVhZE9ubHlUb1dyaXRlAERXQVJGICsgbXVsdGl2YWx1ZSBpcyBub3QgeWV0IGNvbXBsZXRlAHByaXZhdGUAX19hc3luY2lmeV9zdGF0ZQBhc3luY2lmeV9nZXRfc3RhdGUAX19tZW1fc2VnbWVudF9kcm9wX3N0YXRlAENhbGN1bGF0ZQBiYWQgbWVtb3J5IGF0dHJpYnV0ZSBpbW1lZGlhdGUAZXhjZXB0aW9uVGFyZ2V0TmFtZXMgbm90IGVtcHR5IC0gaW52YWxpZCBkZWxlZ2F0ZQBlbWl0RGVsZWdhdGUAQmluYXJ5ZW5UcnlJc0RlbGVnYXRlAG9wdGltaXplLWFkZGVkLWNvbnN0YW50cy1wcm9wYWdhdGUAcHJlY29tcHV0ZS1wcm9wYWdhdGUAY3JlYXRlAGZsb3dBZnRlclVwZGF0ZQBmbG93VG9UYXJnZXRzQWZ0ZXJVcGRhdGUAdmFsaWRhdGUAc291cGVyaWZ5LXNpbmdsZS11c2UAcGFyc2UAYXN5bmNpZnktdmVyYm9zZQAoZWxzZQB1bnJlYWNoYWJsZSBpZi1lbHNlIG11c3QgaGF2ZSB1bnJlYWNoYWJsZSBmYWxzZQBjdXJyLT5pZkZhbHNlAGFib3ZlID09IGlmZi0+aWZUcnVlIHx8IGFib3ZlID09IGlmZi0+aWZGYWxzZQAhY3Vyci0+Y2FzdDxJZj4oKSAtPmlmRmFsc2UAaWYgdHlwZSBtdXN0IG1hdGNoIGNvbmNyZXRlIGlmRmFsc2UAaWZUcnVlICYmIGlmRmFsc2UAQmluYXJ5ZW5TZWxlY3RTZXRJZkZhbHNlAEJpbmFyeWVuSWZTZXRJZkZhbHNlAEJpbmFyeWVuU2VsZWN0R2V0SWZGYWxzZQBCaW5hcnllbklmR2V0SWZGYWxzZQBkb05vdGVJZkZhbHNlAGlmSGFzRWxzZQBlbWl0SWZFbHNlAGNvbmRpdGlvbmFsaXplRXhwZW5zaXZlT25CaXR3aXNlAGxvY2FsLWNzZQBlcmFzZQBpbnZhbGlkIHBoYXNlAGNhc2UAX19tZW1vcnlfYmFzZQBfX3N0YWNrX2Jhc2UAc2VwYXJhdGUtZGF0YS1zZWdtZW50cy1nbG9iYWwtYmFzZQBpbXBvcnRzIG11c3QgaGF2ZSBtb2R1bGUgYW5kIGJhc2UAbmV3SW5kZXggPT0gbmV3QmFzZQBzb3VyY2VCYXNlAHBhcnNlVHlwZVVzZQBtYWtlTWl4dHVyZQBzaW1wbGlmeS1sb2NhbHMtbm9zdHJ1Y3R1cmUAc2ltcGxpZnktbG9jYWxzLW5vdGVlLW5vc3RydWN0dXJlAFVuZXhwZWN0ZWQgY29udHJvbCBmbG93IHN0cnVjdHVyZQB1bmltcGxlbWVudGVkIERDRSBjb250cm9sIGZsb3cgc3RydWN0dXJlACB0eXBlIGFubm90YXRpb24gc2hvdWxkIGJlIGEgc2lnbmF0dXJlAGdldFNpZ25hdHVyZQBTdGFja1NpZ25hdHVyZQBsb3dlciBzaWduLWV4dCBvcGVyYXRpb25zIHRvIHdhc20gbXZwIGFuZCBkaXNhYmxlIHRoZSBzaWduIGV4dGVuc2lvbiBmZWF0dXJlAHVuZXhwZWN0ZWQgZmVhdHVyZQBTdHJpbmdNZWFzdXJlAGFsbG9jYXRpb24gZmFpbHVyZQBpNjQuYXRvbWljLnN0b3JlAGkzMi5hdG9taWMuc3RvcmUAdjEyOC5zdG9yZQBpNjQuc3RvcmUAZjY0LnN0b3JlAGkzMi5zdG9yZQBmMzIuc3RvcmUAdW5oYW5kbGVkIHVuYWxpZ25lZCBzdG9yZQB2aXNpdFN0b3JlAEJpbmFyeWVuU0lNRExvYWRTdG9yZUxhbmVJc1N0b3JlAG1ha2VTdG9yZQB3ZSBydWxlZCBvdXQgbm8gc3VidHlwaW5nIGJlZm9yZQByZWxhdGlvbmFscyBoYW5kbGVkIGJlZm9yZQAhaXNSZWYgfHwgd29ydGhTZW5kaW5nTW9yZQBzdHJpbmcuY29tcGFyZQBkZWNsYXJlAHVua25vd24gc3VwZXJ0eXBlAHJlZi50ZXN0IHRhcmdldCB0eXBlIGFuZCByZWYgdHlwZSBtdXN0IGhhdmUgYSBjb21tb24gc3VwZXJ0eXBlAHJlZi5jYXN0IHRhcmdldCB0eXBlIGFuZCByZWYgdHlwZSBtdXN0IGhhdmUgYSBjb21tb24gc3VwZXJ0eXBlAGJyX29uX2Nhc3QqIHRhcmdldCB0eXBlIGFuZCByZWYgdHlwZSBtdXN0IGhhdmUgYSBjb21tb24gc3VwZXJ0eXBlAEhlYXAgdHlwZSBoYXMgYW4gaW52YWxpZCBzdXBlcnR5cGUASGVhcCB0eXBlIGhhcyBhbiB1bmRlY2xhcmVkIHN1cGVydHlwZQBFeHBlY3RlZCBhcnJheSBoZWFwdHlwZQBFeHBlY3RlZCBzdHJ1Y3QgaGVhcHR5cGUAcHJvdG90eXBlAG5vdGVTdWJ0eXBlAGlkID4gVHlwZTo6X2xhc3RfYmFzaWNfdHlwZQBmdW5jLT50eXBlID09IGZpcnN0LT50eXBlAGN1cnItPmlmVHJ1ZS0+dHlwZSA9PSBjdXJyLT5pZkZhbHNlLT50eXBlAGZ1bmMtPmdldFBhcmFtcygpW2ldID09IHBhcmFtLnR5cGUAVW5leHBlY3RlZCBlbXB0eSB0eXBlAHRyeSdzIHR5cGUgZG9lcyBub3QgbWF0Y2ggY2F0Y2gncyBib2R5IHR5cGUAbWVtb3J5Lmdyb3cgbXVzdCBtYXRjaCBtZW1vcnkgaW5kZXggdHlwZQBtZW1vcnkuaW5pdCBkZXN0IG11c3QgbWF0Y2ggbWVtb3J5IGluZGV4IHR5cGUAbWVtb3J5LmZpbGwgZGVzdCBtdXN0IG1hdGNoIG1lbW9yeSBpbmRleCB0eXBlAGxvYWRfc3BsYXQgYWRkcmVzcyBtdXN0IG1hdGNoIG1lbW9yeSBpbmRleCB0eXBlAGxvYWRYX2xhbmUgb3Igc3RvcmVYX2xhbmUgYWRkcmVzcyBtdXN0IG1hdGNoIG1lbW9yeSBpbmRleCB0eXBlAEF0b21pY05vdGlmeSBwb2ludGVyIG11c3QgbWF0Y2ggbWVtb3J5IGluZGV4IHR5cGUAQXRvbWljV2FpdCBwb2ludGVyIG11c3QgbWF0Y2ggbWVtb3J5IGluZGV4IHR5cGUAY21weGNoZyBwb2ludGVyIG11c3QgbWF0Y2ggbWVtb3J5IGluZGV4IHR5cGUAc3RvcmUgcG9pbnRlciBtdXN0IG1hdGNoIG1lbW9yeSBpbmRleCB0eXBlAG1lbW9yeS5maWxsIHNpemUgbXVzdCBtYXRjaCBtZW1vcnkgaW5kZXggdHlwZQBsb2FkIHBvaW50ZXIgdHlwZSBtdXN0IG1hdGNoIG1lbW9yeSBpbmRleCB0eXBlAEF0b21pY1JNVyBwb2ludGVyIHR5cGUgbXVzdCBtYXRjaCBtZW1vcnkgaW5kZXggdHlwZQBtZW1vcnkuY29weSBkZXN0IG11c3QgbWF0Y2ggZGVzdE1lbW9yeSBpbmRleCB0eXBlAG1lbW9yeS5jb3B5IHNpemUgbXVzdCBtYXRjaCBkZXN0TWVtb3J5IGluZGV4IHR5cGUAbWVtb3J5LmNvcHkgc291cmNlIG11c3QgbWF0Y2ggc291cmNlTWVtb3J5IGluZGV4IHR5cGUAdGFibGUuZ3JvdyBtdXN0IG1hdGNoIHRhYmxlIGluZGV4IHR5cGUAYnJfb25fY2FzdCogY2FzdCB0eXBlIG11c3QgYmUgYSBzdWJ0eXBlIG9mIGl0cyBpbnB1dCB0eXBlAGJyX29uX2Nhc3QqIHRhcmdldCB0eXBlIG11c3QgYmUgYSBzdWJ0eXBlIG9mIGl0cyBpbnB1dCB0eXBlAGJyX29uX2Nhc3QqIGNhc3QgdHlwZSBtdXN0IGJlIHN1YnR5cGUgb2YgaW5wdXQgdHlwZQB1bmtub3duIGNvbnN0IHR5cGUAYnJfb25fY2FzdCBtdXN0IGhhdmUgcmVmZXJlbmNlIGNhc3QgdHlwZQBjYWxsSW5kaXJlY3Q6IGJhZCBhcmd1bWVudCB0eXBlAGVsZW1lbnQgbXVzdCBiZSBhIHN1YnR5cGUgb2YgdGhlIHNlZ21lbnQgdHlwZQBhcnJheS5uZXdfZWxlbSBzZWdtZW50IHR5cGUgc2hvdWxkIGJlIGEgc3VidHlwZSBvZiB0aGUgcmVzdWx0IGVsZW1lbnQgdHlwZQBhcnJheS5maWxsIHZhbHVlIG11c3QgbWF0Y2ggZGVzdGluYXRpb24gZWxlbWVudCB0eXBlAHVuZXhwZWN0ZWQgcmVzdWx0IHR5cGUAY2FsbEluZGlyZWN0OiBiYWQgcmVzdWx0IHR5cGUAcmV0dXJuaW5nIGlmLWVsc2UncyB0cnVlIG11c3QgaGF2ZSByaWdodCB0eXBlAHRhYmxlLmdyb3cgdmFsdWUgbXVzdCBoYXZlIHJpZ2h0IHR5cGUAZ2xvYmFsLnNldCB2YWx1ZSBtdXN0IGhhdmUgcmlnaHQgdHlwZQB0YWJsZS5zZXQgdmFsdWUgbXVzdCBoYXZlIHJpZ2h0IHR5cGUAdGFibGUuZmlsbCB2YWx1ZSBtdXN0IGhhdmUgcmlnaHQgdHlwZQByZXR1cm5pbmcgaWYtZWxzZSdzIGZhbHNlIG11c3QgaGF2ZSByaWdodCB0eXBlAGdsb2JhbCBpbml0IG11c3QgaGF2ZSBjb3JyZWN0IHR5cGUAdHJ5J3MgdHlwZSBkb2VzIG5vdCBtYXRjaCB0cnkgYm9keSdzIHR5cGUAdHJ5X3RhYmxlJ3MgdHlwZSBkb2VzIG5vdCBtYXRjaCB0cnlfdGFibGUgYm9keSdzIHR5cGUAc2VsZWN0J3MgcmlnaHQgZXhwcmVzc2lvbiBtdXN0IGJlIHN1YnR5cGUgb2Ygc2VsZWN0J3MgdHlwZQBzZWxlY3QncyBsZWZ0IGV4cHJlc3Npb24gbXVzdCBiZSBzdWJ0eXBlIG9mIHNlbGVjdCdzIHR5cGUAdW5leHBlY3RlZCBleHByIHR5cGUAYXJyYXkubmV3IGluaXQgbXVzdCBoYXZlIHByb3BlciB0eXBlAGxvY2FsLmdldCBtdXN0IGhhdmUgcHJvcGVyIHR5cGUAYXJyYXkuaW5pdCB2YWx1ZSBtdXN0IGhhdmUgcHJvcGVyIHR5cGUAYXJyYXkuc2V0IG11c3QgaGF2ZSB0aGUgcHJvcGVyIHR5cGUAc3RydWN0LnNldCBtdXN0IGhhdmUgdGhlIHByb3BlciB0eXBlAGFycmF5LmdldCBtdXN0IGhhdmUgdGhlIHByb3BlciB0eXBlAHN0cnVjdC5nZXQgbXVzdCBoYXZlIHRoZSBwcm9wZXIgdHlwZQBiYWQgYXJyYXkgaGVhcCB0eXBlAGJhZCBzdHJ1Y3QgaGVhcCB0eXBlAHJlZi5udWxsIG11c3QgaGF2ZSBhIGJvdHRvbSBoZWFwIHR5cGUAaW52YWxpZCBoZWFwIHR5cGUAcmV0dXJuX2NhbGwqIGNhbGxlZSByZXR1cm4gdHlwZSBtdXN0IG1hdGNoIGNhbGxlciByZXR1cm4gdHlwZQBjYWxsKiB0eXBlIG11c3QgbWF0Y2ggY2FsbGVlIHJldHVybiB0eXBlAGFsbCBzaWJsaW5nIGZ1bmN0aW9ucyBzaG91bGQgaGF2ZSB0aGUgc2FtZSBpbnN0cnVjdGlvbiB0eXBlAHVuZXhwZWN0ZWQgbm9uLWZ1bmN0aW9uIHR5cGUAZHVwbGljYXRlIGZ1bmN0aW9uIHR5cGUAdW5rbm93biBpbmRleGVkIGZ1bmN0aW9uIHR5cGUAdW5rbm93biBkb2xsYXJlZCBmdW5jdGlvbiB0eXBlAGV4cGVjdGVkIGNvbnRpbnVhdGlvbiB0eXBlAGFycmF5LmluaXRfZWxlbSBzZWdtZW50IHR5cGUgbXVzdCBtYXRjaCBkZXN0aW5hdGlvbiB0eXBlAHVuZXhwZWN0ZWQgZXhwcmVzc2lvbiB0eXBlAGludmFsaWQgd2FzbSB0eXBlAEludmFsaWQgbGl0ZXJhbCB0eXBlAFVuZXhwZWN0ZWQgbGl0ZXJhbCB0eXBlAGJsb2NrIGNvbnRlbnRzIHNob3VsZCBzYXRpc2Z5IGJsb2NrIHR5cGUAYnJlYWsgdHlwZSBtdXN0IGJlIGEgc3VidHlwZSBvZiB0aGUgdGFyZ2V0IGJsb2NrIHR5cGUAcmVzdWx0cyBkbyBub3QgbWF0Y2ggdHlwZQByZWYudGVzdCB0YXJnZXQgbXVzdCBoYXZlIHJlZiB0eXBlAHJlZi50ZXN0IHJlZiBtdXN0IGhhdmUgcmVmIHR5cGUAYnJfb25fY2FzdCByZWYgbXVzdCBoYXZlIHJlZiB0eXBlAHJlZi5jYXN0IHJlZiBtdXN0IGhhdmUgcmVmIHR5cGUAdW5leHBlY3RlZCBjb25zdCB2YWx1ZSB0eXBlAHVuZXhwZWN0ZWQgdmFsdWUgdHlwZQBleHBlY3RlZCBzaWduYXR1cmUgdHlwZQBIZWFwIHR5cGUgbXVzdCBiZSBhIHNpZ25hdHVyZSB0eXBlAGJyZWFrIHZhbHVlIG11c3Qgbm90IGhhdmUgbm9uZSB0eXBlAFVuZXhwZWN0ZWQgdjEyOCBsaXRlcmFsIGxhbmUgdHlwZQBibG9jayBlbGVtZW50IGhhcyBpbmNvbXBhdGlibGUgdHlwZQBlbGVtZW50IHNlZ21lbnQgdHlwZSBtdXN0IGJlIGEgc3VidHlwZSBvZiB0aGUgdGFibGUgdHlwZQByZWYuZnVuYyBtdXN0IGhhdmUgbm9uLW51bGxhYmxlIHR5cGUAcmV0dXJuX2NhbGwqIHNob3VsZCBoYXZlIHVucmVhY2hhYmxlIHR5cGUAdW5leHBlY3RlZCBkYXRhZmxvdyBub2RlIHR5cGUAaW52YWxpZCBub2RlIHR5cGUAdW5leGVjcHRlZCBub2RlIHR5cGUAdW5leHBlY3RlZCBub2RlIHR5cGUAcmVmLmZ1bmMgbXVzdCBoYXZlIGEgZnVuY3Rpb24gcmVmZXJlbmNlIHR5cGUAc3RydWN0LnNldCByZWYgbXVzdCBiZSBhIHJlZmVyZW5jZSB0eXBlAFRhYmxlIHR5cGUgbXVzdCBiZSBhIHJlZmVyZW5jZSB0eXBlAHJlZi5pc19udWxsJ3MgYXJndW1lbnQgc2hvdWxkIGJlIGEgcmVmZXJlbmNlIHR5cGUAaW52YWxpZCB0eXBlAHVuZXhwdGVkIHR5cGUAdW5leHBlY3RlZCB0eXBlAGJyX29uX2Nhc3QqIHJlZiB0eXBlIGRvZXMgbm90IG1hdGNoIGV4cGVjdGVkIHR5cGUAIHRhcmdldCBzaG91bGQgbWF0Y2ggZXhwZWN0ZWQgdHlwZQBpbXBvc3NpYmxlIHBhY2tlZCB0eXBlAGludmFsaWQgcGFja2VkIHR5cGUAdW5leHBlY3RlZCBwYWNrZWQgdHlwZQBiYWQgdHlwZQBjb250IHR5cGUgbXVzdCBiZSBjcmVhdGVkIGZyb20gZnVuYyB0eXBlAHVuZXhwZWN0ZWQgYmFzaWMgdHlwZQBleHBlY3RlZCBzcGxhdCB0byBoYXZlIHYxMjggdHlwZQBleHBlY3RlZCB2MTI4IHR5cGUAZXhwZWN0ZWQgaTMyIHR5cGUAVHlwZUJ1aWxkZXJTZXRBcnJheVR5cGUAQmluYXJ5ZW5SZWZUZXN0U2V0Q2FzdFR5cGUAQmluYXJ5ZW5Cck9uU2V0Q2FzdFR5cGUAQmluYXJ5ZW5SZWZUZXN0R2V0Q2FzdFR5cGUAQmluYXJ5ZW5Cck9uR2V0Q2FzdFR5cGUAQmluYXJ5ZW5BcnJheVR5cGVHZXRFbGVtZW50VHlwZQBUeXBlQnVpbGRlclNldFN0cnVjdFR5cGUAd2FzbVRvSnNUeXBlAHVuaGFuZGxlZCBwb2ludGVyVHlwZQBtZW1vcnktPmluZGV4VHlwZSA9PSBwb2ludGVyVHlwZQBzZXRIZWFwVHlwZQBnZXRIZWFwVHlwZQBnZXRUZW1wSGVhcFR5cGUAd3JpdGVIZWFwVHlwZQBmcm9tVHlwZQBjdXJyLT50eXBlID09IG51bGxUeXBlAGdldFZhbGlkTG9jYWxUeXBlAHByaW50QmxvY2tUeXBlAHVzZUNhbGxSZWZUeXBlAEJpbmFyeWVuU3RvcmVTZXRWYWx1ZVR5cGUAQmluYXJ5ZW5TdG9yZUdldFZhbHVlVHlwZQB3cml0ZVR5cGUAbm9ybWFsaXplQ29uZVR5cGUAQmluYXJ5ZW5TdHJ1Y3RUeXBlR2V0RmllbGRUeXBlAEJpbmFyeWVuQXRvbWljV2FpdFNldEV4cGVjdGVkVHlwZQBCaW5hcnllbkF0b21pY1dhaXRHZXRFeHBlY3RlZFR5cGUAQmluYXJ5ZW5BcnJheVR5cGVHZXRFbGVtZW50UGFja2VkVHlwZQBCaW5hcnllblN0cnVjdFR5cGVHZXRGaWVsZFBhY2tlZFR5cGUAc2V0U3ViVHlwZQBhVHlwZSAhPSBiVHlwZQBsb2NhbCBhY2Nlc3MgaW4gbm9uLWZ1bmN0aW9uIHNjb3BlAEZ1bmN0aW9uU2NvcGUAZG9FbmRTY29wZQB1bnRlcm1pbmF0ZWQgc3RyaW5nIGVzY2FwZQBKdW5lAHNpZy5wYXJhbXMgPT0gVHlwZTo6bm9uZQBjdXJyLT5ib2R5LT50eXBlID09IFR5cGU6Om5vbmUAY3Vyci0+dHlwZSA9PSBUeXBlOjpub25lACFyZXN1bHRVc2VkIHx8IGN1cnItPnR5cGUgIT0gVHlwZTo6bm9uZQBibG9jay0+dHlwZSAhPSBUeXBlOjpub25lAGlmVHJ1ZUJsb2NrLT50eXBlICE9IFR5cGU6Om5vbmUAaWZGYWxzZUJsb2NrLT50eXBlICE9IFR5cGU6Om5vbmUAaWZmLT50eXBlICE9IFR5cGU6Om5vbmUAbmV3VHlwZSAhPSBUeXBlOjpub25lAHZhbHVlVHlwZSAhPSBUeXBlOjpub25lAGJsb2NrIHdpdGggdmFsdWUgbXVzdCBub3QgaGF2ZSBsYXN0IGVsZW1lbnQgdGhhdCBpcyBub25lAG1lbW9yeS5jb3B5IG11c3QgaGF2ZSB0eXBlIG5vbmUAbWVtb3J5LmluaXQgbXVzdCBoYXZlIHR5cGUgbm9uZQBkYXRhLmRyb3AgbXVzdCBoYXZlIHR5cGUgbm9uZQBtZW1vcnkuZmlsbCBtdXN0IGhhdmUgdHlwZSBub25lAHN0b3JlWF9sYW5lIG11c3QgaGF2ZSB0eXBlIG5vbmUAaWYgd2l0aG91dCBlbHNlIGFuZCByZWFjaGFibGUgY29uZGl0aW9uIG11c3QgYmUgbm9uZQBzdG9yZSB2YWx1ZSB0eXBlIG11c3Qgbm90IGJlIG5vbmUAbG93ZXIgbG9hZHMgYW5kIHN0b3JlcyB0byBhIDY0LWJpdCBtZW1vcnkgdG8gaW5zdGVhZCB1c2UgYSAzMi1iaXQgb25lAG1hcmsgZnVuY3Rpb25zIGFzIG5vLWlubGluZQBuby1mdWxsLWlubGluZQBuby1wYXJ0aWFsLWlubGluZQBjb21iaW5lAGkzMng0LmV4dHJhY3RfbGFuZQBmMzJ4NC5leHRyYWN0X2xhbmUAaTY0eDIuZXh0cmFjdF9sYW5lAGY2NHgyLmV4dHJhY3RfbGFuZQBpMTZ4OC5yZXBsYWNlX2xhbmUAaTh4MTYucmVwbGFjZV9sYW5lAGkzMng0LnJlcGxhY2VfbGFuZQBmMzJ4NC5yZXBsYWNlX2xhbmUAaTY0eDIucmVwbGFjZV9sYW5lAGY2NHgyLnJlcGxhY2VfbGFuZQB2MTI4LnN0b3JlOF9sYW5lAHYxMjgubG9hZDhfbGFuZQB2MTI4LnN0b3JlMTZfbGFuZQB2MTI4LmxvYWQxNl9sYW5lAHYxMjguc3RvcmU2NF9sYW5lAHYxMjgubG9hZDY0X2xhbmUAdjEyOC5zdG9yZTMyX2xhbmUAdjEyOC5sb2FkMzJfbGFuZQBleHRyYWN0X2xhbmUgbXVzdCBoYXZlIHNhbWUgdHlwZSBhcyB2ZWN0b3IgbGFuZQBDb3VsZCBub3QgcGFyc2UgdjEyOCBsYW5lAHZpc2l0U0lNRExvYWRTdG9yZUxhbmUAbWFrZU9uZQBpMTZ4OC5uZQBpOHgxNi5uZQBpMzJ4NC5uZQBmMzJ4NC5uZQBpNjQubmUAZjY0Lm5lAGk2NHgyLm5lAGY2NHgyLm5lAGkzMi5uZQBmMzIubmUAcmVzdW1lAFJlc3VtZQBpbnN0cnVtZW50IHRoZSB3YXNtIHRvIGNvbnZlcnQgTmFOcyBpbnRvIDAgYXQgcnVudGltZQB0cnkgY2Fubm90IGhhdmUgYm90aCBjYXRjaCBhbmQgZGVsZWdhdGUgYXQgdGhlIHNhbWUgdGltZQByZW9yZGVyLWZ1bmN0aW9ucy1ieS1uYW1lADogZW1wdHkgbmFtZQBhY3RpdmUgc2VnbWVudCBtdXN0IGhhdmUgYSB2YWxpZCBtZW1vcnkgbmFtZQBkdXBsaWNhdGUgZXhwb3J0IG5hbWUAaW52YWxpZCBleHBvcnQgbmFtZQBiYWQgZ2xvYmFsLmdldCBuYW1lAGJhZCBsb2NhbCBuYW1lAGJhZCB0YWcgbmFtZQBpbnZhbGlkIGltcG9ydCBiYXNlIG5hbWUAaW52YWxpZCB0eXBlIG5hbWUAaW52YWxpZCBpbXBvcnQgbW9kdWxlIG5hbWUAZWxlbWVudCBzZWdtZW50IG11c3QgaGF2ZSBhIHZhbGlkIHRhYmxlIG5hbWUAYmFkIHN0cnVjdCBmaWVsZCBuYW1lAGZ1bmMtPm5hbWUgPT0gbmFtZQBsYWJlbFN0YWNrLmJhY2soKSA9PSBuYW1lACF3YXNtLmdldEZ1bmN0aW9uT3JOdWxsKG5ld05hbWUpIHx8IGZ1bmMtPm5hbWUgPT0gbmV3TmFtZQBwcmludE5hbWUAdGFibGVbaW5kZXhdID09IGRlZmF1bHROYW1lAEJpbmFyeWVuU3dpdGNoU2V0RGVmYXVsdE5hbWUAQmluYXJ5ZW5Td2l0Y2hHZXREZWZhdWx0TmFtZQBCaW5hcnllblRyeVNldE5hbWUAQmluYXJ5ZW5HbG9iYWxTZXRTZXROYW1lAEJpbmFyeWVuR2xvYmFsR2V0U2V0TmFtZQBCaW5hcnllbkxvb3BTZXROYW1lAEJpbmFyeWVuQnJPblNldE5hbWUAQmluYXJ5ZW5CbG9ja1NldE5hbWUAQmluYXJ5ZW5CcmVha1NldE5hbWUAQmluYXJ5ZW5UcnlHZXROYW1lAEJpbmFyeWVuR2xvYmFsU2V0R2V0TmFtZQBCaW5hcnllbkdsb2JhbEdldEdldE5hbWUAQmluYXJ5ZW5Mb29wR2V0TmFtZQBCaW5hcnllbkJyT25HZXROYW1lAEJpbmFyeWVuQmxvY2tHZXROYW1lAEJpbmFyeWVuQnJlYWtHZXROYW1lAHVua25vd24gZnVuY3Rpb24gaW4gZ2V0RnVuY3Rpb25OYW1lAHBvcExhYmVsTmFtZQBzZXRMb2NhbE5hbWUAdW5rbm93biBnbG9iYWwgaW4gZ2V0R2xvYmFsTmFtZQB1bmtub3duIHRhZyBpbiBnZXRUYWdOYW1lAHVua25vd24gdGFibGUgaW4gZ2V0VGFibGVOYW1lAEJpbmFyeWVuU3dpdGNoQXBwZW5kTmFtZQBpOHgxNi5yZWxheGVkX3N3aXp6bGUAaTh4MTYuc3dpenpsZQBfX2xvYWRfc2Vjb25kYXJ5X21vZHVsZQBqc3BpLXNwbGl0LW1vZHVsZQBwb3N0LWVtc2NyaXB0ZW4tc2lkZS1tb2R1bGUAdG9wbGV2ZWwgZG9lcyBub3Qgc3RhcnQgd2l0aCBtb2R1bGUAd3JpdGUgZGF0YSBzZWdtZW50cyB0byBhIGZpbGUgYW5kIHN0cmlwIHRoZW0gZnJvbSB0aGUgbW9kdWxlAGVtcHR5IHRvcGxldmVsLCBleHBlY3RlZCBtb2R1bGUAcHJvY2Vzc01vZHVsZQBhc21Nb2R1bGUAc2xlAHB1c2hFeHByZXNzaW9uLXR1cGxlAEV4cG9ydGVkIGdsb2JhbCBjYW5ub3QgYmUgdHVwbGUASW1wb3J0ZWQgZ2xvYmFsIGNhbm5vdCBiZSB0dXBsZQBzZWxlY3QgdmFsdWUgbWF5IG5vdCBiZSBhIHR1cGxlAEJpbmFyeWVuVHVwbGVFeHRyYWN0U2V0VHVwbGUAQmluYXJ5ZW5UdXBsZUV4dHJhY3RHZXRUdXBsZQB2YWxpZGF0ZVR1cGxlAHdoaWxlAGFzbWFuZ2xlAGk4eDE2LnNodWZmbGUAQmluYXJ5ZW5TSU1EU2h1ZmZsZQBoYW5kbGUAZW5zdXJlRG91YmxlAGFwcGx5IG1vcmUgc3BlY2lmaWMgc3VidHlwZXMgdG8gbG9jYWxzIHdoZXJlIHBvc3NpYmxlAG1lcmdlIHR5cGVzIHRvIHRoZWlyIHN1cGVydHlwZXMgd2hlcmUgcG9zc2libGUAYXBwbHkgbW9yZSBzcGVjaWZpYyBzdWJ0eXBlcyB0byBzaWduYXR1cmUgdHlwZXMgd2hlcmUgcG9zc2libGUAcmVtb3ZlIHBhcmFtcyBmcm9tIGZ1bmN0aW9uIHNpZ25hdHVyZSB0eXBlcyB3aGVyZSBwb3NzaWJsZQBhcHBseSBtb3JlIHNwZWNpZmljIHN1YnR5cGVzIHRvIHR5cGUgZmllbGRzIHdoZXJlIHBvc3NpYmxlAGRpcmVjdGl6ZS1pbml0aWFsLWNvbnRlbnRzLWltbXV0YWJsZQBnbG9iYWwuc2V0IG9mIGltbXV0YWJsZQB0YWJsZS5pbml0aWFsQ29udGVudHNJbW11dGFibGUAYXJyYXkuY29weSBkZXN0aW5hdGlvbiBtdXN0IGJlIG11dGFibGUAYXJyYXkuZmlsbCBkZXN0aW5hdGlvbiBtdXN0IGJlIG11dGFibGUAYXJyYXkuaW5pdF8qIGRlc3RpbmF0aW9uIG11c3QgYmUgbXV0YWJsZQBnbG9iYWwuc2V0IGdsb2JhbCBtdXN0IGJlIG11dGFibGUAYXJyYXkuc2V0IHR5cGUgbXVzdCBiZSBtdXRhYmxlAHN0cnVjdC5zZXQgZmllbGQgbXVzdCBiZSBtdXRhYmxlAEJpbmFyeWVuQXJyYXlUeXBlSXNFbGVtZW50TXV0YWJsZQBCaW5hcnllblN0cnVjdFR5cGVJc0ZpZWxkTXV0YWJsZQBhcnJheS5uZXdfd2l0aF9kZWZhdWx0IHZhbHVlIHR5cGUgbXVzdCBiZSBkZWZhdWx0YWJsZQBzdHJ1Y3QubmV3X3dpdGhfZGVmYXVsdCB2YWx1ZSB0eXBlIG11c3QgYmUgZGVmYXVsdGFibGUAZmluZFByb3BhZ2F0YWJsZQBhc3luY2lmeS1yZWxvY2F0YWJsZQB0cnlfdGFibGUAYnJfdGFibGUAX19pbmRpcmVjdF9mdW5jdGlvbl90YWJsZQBhY3RpdmUgZWxlbWVudCB3aXRob3V0IHRhYmxlACFwcmVQYXJzZUltcG9ydCBpbiB0YWJsZQB0YWJsZUdldCBvbiBub24tZXhpc3RpbmcgdGFibGUAY2FsbFRhYmxlIG9uIG5vbi1leGlzdGluZyB0YWJsZQBpbnZhbGlkIHRhYmxlAHJlZi5udWxsIHR5cGVzIG11c3QgYmUgbnVsbGFibGUAQmxvY2sgcmVxdWlyZXMgbW9yZSB2YWx1ZXMgdGhhbiBhcmUgYXZhaWxhYmxlAGN1cnItPnR5cGUgPT0gVHlwZTo6bm9uZSB8fCBjdXJyLT50eXBlID09IFR5cGU6OnVucmVhY2hhYmxlAGJyLT50eXBlID09IFR5cGU6OnVucmVhY2hhYmxlAGJsb2NrLT50eXBlLmlzQ29uY3JldGUoKSAmJiBzaW5nbGV0b24tPnR5cGUgPT0gVHlwZTo6dW5yZWFjaGFibGUAYmxvY2stPnR5cGUgPT0gVHlwZTo6dW5yZWFjaGFibGUAaWZmLT5pZlRydWUtPnR5cGUgPT0gVHlwZTo6dW5yZWFjaGFibGUAdmFsdWUtPnR5cGUgPT0gVHlwZTo6dW5yZWFjaGFibGUAY3Vyci0+dGFyZ2V0LT50eXBlICE9IFR5cGU6OnVucmVhY2hhYmxlAGlmZi0+aWZGYWxzZS0+dHlwZSAhPSBUeXBlOjp1bnJlYWNoYWJsZQBJZiB0dXBsZS5leHRyYWN0IGhhcyBhbiB1bnJlYWNoYWJsZSBvcGVyYW5kLCBpdCBtdXN0IGJlIHVucmVhY2hhYmxlAElmIHR1cGxlLm1ha2UgaGFzIGFuIHVucmVhY2hhYmxlIG9wZXJhbmQsIGl0IG11c3QgYmUgdW5yZWFjaGFibGUAcmV0aHJvdydzIHR5cGUgbXVzdCBiZSB1bnJlYWNoYWJsZQBoYW5kbGVVbnJlYWNoYWJsZQBUcnlUYWJsZQBCaW5hcnllblRhYmxlR3Jvd1NldFRhYmxlAEJpbmFyeWVuVGFibGVTZXRTZXRUYWJsZQBCaW5hcnllblRhYmxlR2V0U2V0VGFibGUAQmluYXJ5ZW5DYWxsSW5kaXJlY3RTZXRUYWJsZQBCaW5hcnllblRhYmxlU2l6ZVNldFRhYmxlAEJpbmFyeWVuVGFibGVHcm93R2V0VGFibGUAQmluYXJ5ZW5UYWJsZVNldEdldFRhYmxlAEJpbmFyeWVuVGFibGVHZXRHZXRUYWJsZQBCaW5hcnllbkNhbGxJbmRpcmVjdEdldFRhYmxlAEJpbmFyeWVuVGFibGVTaXplR2V0VGFibGUAZXhwcmVzc2lvblN0YWNrW2ldID09IGJyVGFibGUAZjMyeDQubGUAZjY0LmxlAGY2NHgyLmxlAGYzMi5sZQB0dXBsZS5tYWtlAHZpc2l0VHVwbGVNYWtlAHNzYS1ub21lcmdlADogb3V0IG9mIHJhbmdlAGV4Y2hhbmdlAGNvbXBhcmVFeGNoYW5nZQBiYWQgbmFtZXMgc3Vic2VjdGlvbiBwb3NpdGlvbiBjaGFuZ2UAYmFkIGR5bGluay4wIHN1YnNlY3Rpb24gcG9zaXRpb24gY2hhbmdlAGJhZCBuYW1lcyBzZWN0aW9uIHBvc2l0aW9uIGNoYW5nZQBub3RlQnJlYWtDaGFuZ2UAcGFja2FnZQBmMzJ4NC5nZQBmNjQuZ2UAZjY0eDIuZ2UAZjMyLmdlAHNpbXBsaWZ5LWxvY2Fscy1ub3RlZQB1bnRlZQBsb2NhbC50ZWUARG9tVHJlZQBCaW5hcnllbkxvY2FsU2V0SXNUZWUAbG9jYWwuZ2V0IG11c3QgaGF2ZSBhIHZhbGlkIHR5cGUgLSBjaGVjayB3aGF0IHlvdSBwcm92aWRlZCB3aGVuIHlvdSBjb25zdHJ1Y3RlZCB0aGUgbm9kZQBSZWFjaGVkIGZ1bmN0aW9uIGVuZCB3aXRob3V0IHNlZWluZyBFbmQgb3Bjb2RlAFN0cmluZ0VuY29kZQBiYXNlNjRFbmNvZGUAcmVtb3ZlcyB1bnJlYWNoYWJsZSBjb2RlAG1pc2NlbGxhbmVvdXMgb3B0aW1pemF0aW9ucyBmb3IgRW1zY3JpcHRlbi1nZW5lcmF0ZWQgY29kZQByZW1vdmVzIG9idmlvdXNseSB1bm5lZWRlZCBjb2RlAGdldFNwbGl0RHJpdmVuSW5saW5pbmdNb2RlAGJsb2NrIGNhbm5vdCBwb3AgZnJvbSBvdXRzaWRlAEJpbmFyeWVuTWVtb3J5Q29weVNldFNvdXJjZQBCaW5hcnllbk1lbW9yeUNvcHlHZXRTb3VyY2UAcmVkdWNlcyBjYWxscyB0byBjb2RlIHRoYXQgb25seSBydW5zIG9uY2UAc3RyaW5nLmlzX3Vzdl9zZXF1ZW5jZQBVbnRlcm1pbmF0ZWQgZXNjYXBlIHNlcXVlbmNlAGFycmF5LmxlbiBhcmd1bWVudCBtdXN0IGJlIGFuIGFycmF5IHJlZmVyZW5jZQBhcnJheS5pbml0XyogZGVzdGluYXRpb24gbXVzdCBiZSBhbiBhcnJheSByZWZlcmVuY2UAYXJyYXkuc2V0IHRhcmdldCBzaG91bGQgYmUgYW4gYXJyYXkgcmVmZXJlbmNlAGFycmF5LmdldCB0YXJnZXQgc2hvdWxkIGJlIGFuIGFycmF5IHJlZmVyZW5jZQBhcnJheS5jb3B5IGRlc3RpbmF0aW9uIHNob3VsZCBiZSBhbiBhcnJheSByZWZlcmVuY2UAYXJyYXkuZmlsbCBkZXN0aW5hdGlvbiBzaG91bGQgYmUgYW4gYXJyYXkgcmVmZXJlbmNlAGFycmF5Lm5ld197ZGF0YSwgZWxlbX0gdHlwZSBzaG91bGQgYmUgYW4gYXJyYXkgcmVmZXJlbmNlAGFycmF5LmNvcHkgc291cmNlIHNob3VsZCBiZSBhbiBhcnJheSByZWZlcmVuY2UAYXJyYXkuc2V0IHRhcmdldCBzaG91bGQgYmUgYSBzcGVjaWZpYyBhcnJheSByZWZlcmVuY2UAYXJyYXkuZ2V0IHRhcmdldCBzaG91bGQgYmUgYSBzcGVjaWZpYyBhcnJheSByZWZlcmVuY2UAY2FsbF9yZWYgdGFyZ2V0IG11c3QgYmUgYSBmdW5jdGlvbiByZWZlcmVuY2UAaW52YWxpZCBoZWFwIHR5cGUgcmVmZXJlbmNlAGludmFsaWQgdHlwZSByZWZlcmVuY2UAYXJyYXkuY29weSBkZXN0aW5hdGlvbiBzaG91bGQgYmUgYSByZWZlcmVuY2UAYXJyYXkuY29weSBzb3VyY2Ugc2hvdWxkIGJlIGEgcmVmZXJlbmNlAGF0b21pYy5mZW5jZQBBdG9taWNGZW5jZQBzdHJpbmd2aWV3X2l0ZXIuYWR2YW5jZQBzdHJpbmd2aWV3X3d0ZjguYWR2YW5jZQBTdHJpbmdXVEY4QWR2YW5jZQBzdHJpbmd2aWV3X2l0ZXIuc2xpY2UAc3RyaW5ndmlld193dGY4LnNsaWNlAHN0cmluZ3ZpZXdfd3RmMTYuc2xpY2UAc3BsaWNlAGRjZQBhbGxvY1NwYWNlAHJlcGxhY2UAdmlzaXRTSU1EUmVwbGFjZQBsZWdhbGl6ZS1qcy1pbnRlcmZhY2UAZGFlACVlAE1hdGhfZnJvdW5kAHVub3JkZXJlZF9tYXA6OmF0OiBrZXkgbm90IGZvdW5kAG1hcDo6YXQ6ICBrZXkgbm90IGZvdW5kAGJyZWFrIGluZGV4IG5vdCBmb3VuZABjYWxsRXhwb3J0IG5vdCBmb3VuZABzdGFydCBtdXN0IGJlIGZvdW5kAG1vZHVsZSBtZW1vcnkgZXhwb3J0cyBtdXN0IGJlIGZvdW5kAG1vZHVsZSBmdW5jdGlvbiBleHBvcnRzIG11c3QgYmUgZm91bmQAbW9kdWxlIGdsb2JhbCBleHBvcnRzIG11c3QgYmUgZm91bmQAbW9kdWxlIHRhZyBleHBvcnRzIG11c3QgYmUgZm91bmQAbW9kdWxlIHRhYmxlIGV4cG9ydHMgbXVzdCBiZSBmb3VuZAByZXMuc2Vjb25kAF9fYXN5bmNpZnlfdW53aW5kAGFzeW5jaWZ5X3N0YXJ0X3Vud2luZABhc3luY2lmeV9zdG9wX3Vud2luZABtb2QtYXN5bmNpZnktYWx3YXlzLWFuZC1vbmx5LXVud2luZABtb2QtYXN5bmNpZnktbmV2ZXItdW53aW5kAGFzeW5jaWZ5X3N0YXJ0X3Jld2luZABhc3luY2lmeV9zdG9wX3Jld2luZABzdHJpbmd2aWV3X2l0ZXIucmV3aW5kAGFwcGx5IHRoZSBhc3N1bXB0aW9uIHRoYXQgYXN5bmNpZnkgaW1wb3J0cyBhbHdheXMgdW53aW5kLCBhbmQgd2UgbmV2ZXIgcmV3aW5kAHVuZXhwZWN0ZWQgZXhwb3J0IGtpbmQAYmFkIGV4cG9ydCBraW5kAGJhZCBpbXBvcnQga2luZAB1bmtub3duIGtpbmQAdW5leHBlY3RlZCBleHRlcm4ga2luZAB1bmtub3duIGhlYXB0eXBlIGtpbmQAdW5rbm93biB2YWx0eXBlIGtpbmQAdW5rbm93biBzdWJ0eXBlIGtpbmQAaW52YWxpZCBraW5kAHVuZXhwZWN0ZWQga2luZABpbnZhbGlkIEV4dGVybmFsS2luZAB0aGVyZSBzaG91bGQgYmUgYXQgbW9zdCBvbmUgY2F0Y2hfYWxsIGJsb2NrIGF0IHRoZSBlbmQAY2FsbC53aXRob3V0LmVmZmVjdHMgbXVzdCBoYXZlIGEgdGFyZ2V0IG9wZXJhbmQAQXRvbWljUk1XIHJlc3VsdCB0eXBlIG11c3QgbWF0Y2ggb3BlcmFuZABBdG9taWNXYWl0IGV4cGVjdGVkIHR5cGUgbXVzdCBtYXRjaCBvcGVyYW5kAGV4cGVjdGVkIHYxMjggb3BlcmFuZABCaW5hcnllblRocm93QXBwZW5kT3BlcmFuZABCaW5hcnllblN0cnVjdE5ld0FwcGVuZE9wZXJhbmQAQmluYXJ5ZW5DYWxsSW5kaXJlY3RBcHBlbmRPcGVyYW5kAEJpbmFyeWVuQ2FsbEFwcGVuZE9wZXJhbmQAQmluYXJ5ZW5DYWxsUmVmQXBwZW5kT3BlcmFuZABCaW5hcnllblR1cGxlTWFrZUFwcGVuZE9wZXJhbmQAaTY0LmF0b21pYy5ybXcuYW5kAGkzMi5hdG9taWMucm13LmFuZAB2MTI4LmFuZABpNjQuYW5kAGkzMi5hbmQAQmluYXJ5ZW5TdHJpbmdOZXdTZXRFbmQAQmluYXJ5ZW5TdHJpbmdTbGljZVdURlNldEVuZABCaW5hcnllblN0cmluZ05ld0dldEVuZABCaW5hcnllblN0cmluZ1NsaWNlV1RGR2V0RW5kAGVtaXRGdW5jdGlvbkVuZABlbWl0U2NvcGVFbmQAaWYgc2hvdWxkIGVuZCB3aXRoIEVuZABjb21iaW5lQW5kAHJlbGF4ZWQtc2ltZABSZW1vdmVVbnVzZWRUeXBlcyByZXF1aXJlcyAtLWNsb3NlZC13b3JsZABTaWduYXR1cmVQcnVuaW5nIHJlcXVpcmVzIC0tY2xvc2VkLXdvcmxkAEFic3RyYWN0VHlwZVJlZmluaW5nIHJlcXVpcmVzIC0tY2xvc2VkLXdvcmxkAFR5cGVNZXJnaW5nIHJlcXVpcmVzIC0tY2xvc2VkLXdvcmxkAEdUTyByZXF1aXJlcyAtLWNsb3NlZC13b3JsZABHU0kgcmVxdWlyZXMgLS1jbG9zZWQtd29ybGQAb3B0aW9ucy5jbG9zZWRXb3JsZABidWlsZABVbmV4cGVjdGVkIG5vbi1Qb3AgY2hpbGQAdW5yZWFjaGFibGUgYnV0IG5vIHVucmVhY2hhYmxlIGNoaWxkAHVucmVhY2hhYmxlIGluc3RydWN0aW9uIG11c3QgaGF2ZSB1bnJlYWNoYWJsZSBjaGlsZABIZWFwIHR5cGUgaGFzIGFuIHVuZGVjbGFyZWQgY2hpbGQAZ2V0LT5yZWYgPT0gY2hpbGQAc2V0LT5yZWYgPT0gY2hpbGQgfHwgc2V0LT52YWx1ZSA9PSBjaGlsZABCaW5hcnllbkJsb2NrQXBwZW5kQ2hpbGQAeWllbGQAYmFkIHN0cnVjdC5nZXQgZmllbGQAbm9uLWNhc3QgYnJfb24qIG11c3Qgbm90IHNldCBpbnRlbmRlZFR5cGUgZmllbGQAbmV3SW5kZXggPCBpbmRleGVzQWZ0ZXJSZW1vdmFsLnNpemUoKSB8fCBuZXdJbmRleCA9PSBSZW1vdmVkRmllbGQAbmV3SW5kZXggIT0gUmVtb3ZlZEZpZWxkACkncyBwb3AncyBsb2NhdGlvbiBpcyBub3QgdmFsaWQAc2VsZWN0IHJpZ2h0IG11c3QgYmUgdmFsaWQAYWxsIHJldGhyb3cgdGFyZ2V0cyBtdXN0IGJlIHZhbGlkAGFsbCBicmVhayB0YXJnZXRzIG11c3QgYmUgdmFsaWQAYWxsIGRlbGVnYXRlIHRhcmdldHMgbXVzdCBiZSB2YWxpZABzZWxlY3QgY29uZGl0aW9uIG11c3QgYmUgdmFsaWQAaWYgY29uZGl0aW9uIG11c3QgYmUgdmFsaWQAc2VsZWN0IHR5cGUgbXVzdCBiZSB2YWxpZABnbG9iYWwuZ2V0IG5hbWUgbXVzdCBiZSB2YWxpZAAoKml0KS0+X2lkID09IHByaW1hcnktPl9pZABiYWQgaWQAc2VudFR5cGVzIGNhY2hlIGluIFJlc3VtZSBpbnN0cnVjdGlvbiBoYXMgbm90IGJlZW4gaW5pdGlhbGl6ZWQAYXJyYXkubmV3X2ZpeGVkAEFycmF5TmV3Rml4ZWQAcmVmLmNhc3QgbnVsbCBvZiBub24tbnVsbGFibGUgcmVmZXJlbmNlcyBhcmUgbm90IGFsbG93ZWQAYWxsIHBhcmFtIHR5cGVzIGluIHRhZ3Mgc2hvdWxkIGJlIGFsbG93ZWQAYWxsIHVzZWQgZmVhdHVyZXMgc2hvdWxkIGJlIGFsbG93ZWQAYWxsIHVzZWQgdHlwZXMgc2hvdWxkIGJlIGFsbG93ZWQAaTMyIHVuYXJ5IHNob3VsZCBoYXZlIGJlZW4gcmVtb3ZlZAByZW1vdmVzIGFyZ3VtZW50cyB0byBjYWxscyBpbiBhbiBsdG8tbGlrZSBtYW5uZXIsIGFuZCBvcHRpbWl6ZXMgd2hlcmUgd2UgcmVtb3ZlZABpNjQucG9wY250IHNob3VsZCBhbHJlYWR5IGJlIHJlbW92ZWQAIW90aGVyLm1vdmVkACFtb3ZlZABVTlJFQUNIQUJMRSBleGVjdXRlZABNdWx0aU1lbW9yeUxvd2VyaW5nOiBvbmx5IHRoZSBmaXJzdCBtZW1vcnkgY2FuIGJlIGV4cG9ydGVkAFJlY3Vyc2lvbiBncm91cHMgb2Ygc2l6ZSB6ZXJvIG5vdCBzdXBwb3J0ZWQAbG9jYWxlIG5vdCBzdXBwb3J0ZWQAYmxvY2sgaW5wdXQgdmFsdWVzIGFyZSBub3QgeWV0IHN1cHBvcnRlZABNdWx0aU1lbW9yeUxvd2VyaW5nOiBvbmx5IHRoZSBmaXJzdCBtZW1vcnkgY2FuIGJlIGltcG9ydGVkAHVuaW1wbGVuZW50ZWQAdW5pbXBsZW1lbnRlZABzZXBhcmF0aW5nIHBhc3NpdmUgc2VnbWVudHMgbm90IGltcGxlbWVudGVkAHNlcGFyYXRpbmcgcmVsb2NhdGFibGUgc2VnbWVudHMgbm90IGltcGxlbWVudGVkAGk2NCB0byBpMzIgbG93ZXJpbmcgb2YgcmV0dXJuX2NhbGwgdmFsdWVzIG5vdCB5ZXQgaW1wbGVtZW50ZWQAbWF4IG1lbW9yeSBtdXN0IGJlIDw9IDRHQiwgb3IgdW5saW1pdGVkAHByb3RlY3RlZABDbXB4Y2hnIHJlc3VsdCB0eXBlIG11c3QgbWF0Y2ggZXhwZWN0ZWQAbm9uLWNvbmNyZXRlIHR5cGUgd2hlbiBvbmUgZXhwZWN0ZWQAQmluYXJ5ZW5BdG9taWNXYWl0U2V0RXhwZWN0ZWQAQmluYXJ5ZW5BdG9taWNDbXB4Y2hnU2V0RXhwZWN0ZWQAQmluYXJ5ZW5BdG9taWNXYWl0R2V0RXhwZWN0ZWQAQmluYXJ5ZW5BdG9taWNDbXB4Y2hnR2V0RXhwZWN0ZWQAZ2V0UGFzc09wdGlvbnMoKS5sb3dNZW1vcnlVbnVzZWQAZXJhc2VkAGlzUmVzdWx0VXNlZAB3YXJuaW5nOiByZXF1aXJlZCBmZWF0dXJlcyBpbiBmZWF0dXJlIHNlY3Rpb24gYXJlIGlnbm9yZWQAVGFibGVzIG1heSBub3QgYmUgc2hhcmVkAG1lbW9yeS0+c2hhcmVkID09IGlzU2hhcmVkAHJlc3VsdHMgbXVzdCBiZSBjb25jcmV0ZWx5IHR5cGVkAHBhcmFtcyBtdXN0IGJlIGNvbmNyZXRlbHkgdHlwZWQAaXNSZXN1bHREcm9wcGVkAGlubGluZSBmdW5jdGlvbnMgYW5kIG9wdGltaXplcyB3aGVyZSB3ZSBpbmxpbmVkAGF0b21pYyBsb2FkcyBtdXN0IGJlIHVuc2lnbmVkAG5vbi1wYWNrZWQgZ2V0IGNhbm5vdCBiZSBzaWduZWQAQmluYXJ5ZW5BcnJheUdldFNldFNpZ25lZABCaW5hcnllblN0cnVjdEdldFNldFNpZ25lZABCaW5hcnllbkkzMUdldFNldFNpZ25lZABCaW5hcnllbkxvYWRTZXRTaWduZWQAQmluYXJ5ZW5BcnJheUdldElzU2lnbmVkAEJpbmFyeWVuU3RydWN0R2V0SXNTaWduZWQAQmluYXJ5ZW5JMzFHZXRJc1NpZ25lZABCaW5hcnllbkxvYWRJc1NpZ25lZAByZWN1cnNpdmVfbXV0ZXggbG9jayBmYWlsZWQAY2xvY2tfZ2V0dGltZShDTE9DS19NT05PVE9OSUMpIGZhaWxlZABudWxsIGxpdGVyYWxzIHNob3VsZCBhbHJlYWR5IGhhdmUgYmVlbiBoYW5kbGVkAFR1cGxlcyBkcm9wcyBhcmUgbm90IGFsbG93ZWQgdW5sZXNzIG11bHRpdmFsdWUgaXMgZW5hYmxlZABUdXBsZXMgYXJlIG5vdCBhbGxvd2VkIHVubGVzcyBtdWx0aXZhbHVlIGlzIGVuYWJsZWQAY29uZGl0aW9uX3ZhcmlhYmxlOjp3YWl0OiBtdXRleCBub3QgbG9ja2VkAGVsZW1lbnRQYWNrZWRUeXBlID09IEZpZWxkOjpQYWNrZWRUeXBlOjpub3RfcGFja2VkAGZpZWxkUGFja2VkVHlwZXNbY3VyXSA9PSBGaWVsZDo6UGFja2VkVHlwZTo6bm90X3BhY2tlZABpc1BhY2tlZABwcmludC1taW5pZmllZABHVUZBIHBsdXMgbG9jYWwgb3B0aW1pemF0aW9ucyBpbiBmdW5jdGlvbnMgd2UgbW9kaWZpZWQAcmVtb3ZlcyBicmVha3MgZnJvbSBsb2NhdGlvbnMgdGhhdCBhcmUgbm90IG5lZWRlZABXZWQAaTY0LmF0b21pYy5ybXcuYWRkAGkzMi5hdG9taWMucm13LmFkZABpMTZ4OC5hZGQAaTh4MTYuYWRkAGkzMng0LmFkZABmMzJ4NC5hZGQAaTY0LmFkZABmNjQuYWRkAGk2NHgyLmFkZABmNjR4Mi5hZGQAaTMyLmFkZABmMzIuYWRkAHBhZ2VzVG9BZGQAaTY0LmF0b21pYy5sb2FkAGkzMi5hdG9taWMubG9hZAB2MTI4LmxvYWQAdW5oYW5kbGVkIHVuYWxpZ25lZCBsb2FkAHZpc2l0TG9hZAB2aXNpdFNJTURMb2FkAGxvd2VyIGFsbCB1c2VzIG9mIGk2NHMgdG8gdXNlIGkzMnMgaW5zdGVhZABiYWQAVW5rbm93biBlcnJvciAlZABzdGQ6OmJhZF9hbGxvYwBNYXRoX3RydW5jAGYzMng0LnRydW5jAGY2NC50cnVuYwBmNjR4Mi50cnVuYwBmMzIudHJ1bmMAbm9mdW5jAChmdW5jACFwcmVQYXJzZUltcG9ydCBpbiBmdW5jACBkZWNsYXJlIGZ1bmMAZ2V0RnVuYwBCaW5hcnllblJlZkZ1bmNTZXRGdW5jAEJpbmFyeWVuUmVmRnVuY0dldEZ1bmMAYXNtRnVuYwB2aXNpdFJlZkZ1bmMAdXNlUmVmRnVuYwBzY29wZS5raW5kID09IFNjb3BlOjpGdW5jAHN0YXRpYwBVbnJlY29nbml6ZWQgaW50cmluc2ljAGdldEJhc2ljAGdlbmVyaWMAYXJyYXkuaW5pdF9kYXRhIGRlc3RpbmF0aW9uIG11c3QgYmUgbnVtZXJpYwBhcnJheS5uZXdfZGF0YSByZXN1bHQgZWxlbWVudCB0eXBlIHNob3VsZCBiZSBudW1lcmljAC5hdG9taWMAQmluYXJ5ZW5TdG9yZVNldEF0b21pYwBCaW5hcnllbkxvYWRTZXRBdG9taWMAQmluYXJ5ZW5TdG9yZUlzQXRvbWljAEJpbmFyeWVuTG9hZElzQXRvbWljAHB1YmxpYwBnYwBwdHIgJiYgdmVjAChyZWMAaW1wb3J0IG1vZHVsZSBpbnNpZGUgZnVuY3Rpb24gZGVjAEJpbmFyeWVuU0lNRFNoaWZ0U2V0VmVjAEJpbmFyeWVuU0lNREV4dHJhY3RTZXRWZWMAQmluYXJ5ZW5TSU1ETG9hZFN0b3JlTGFuZVNldFZlYwBCaW5hcnllblNJTURSZXBsYWNlU2V0VmVjAEJpbmFyeWVuU0lNRFNoaWZ0R2V0VmVjAEJpbmFyeWVuU0lNREV4dHJhY3RHZXRWZWMAQmluYXJ5ZW5TSU1ETG9hZFN0b3JlTGFuZUdldFZlYwBCaW5hcnllblNJTURSZXBsYWNlR2V0VmVjAERlYwBhICYmIGIgJiYgYwB3YgBpNjQuYXRvbWljLnJtdy5zdWIAaTMyLmF0b21pYy5ybXcuc3ViAGkxNng4LnN1YgBpOHgxNi5zdWIAaTMyeDQuc3ViAGYzMng0LnN1YgBpNjQuc3ViAGY2NC5zdWIAaTY0eDIuc3ViAGY2NHgyLnN1YgBpMzIuc3ViAGYzMi5zdWIAcmIAYXJyYXkgb29iAEZlYgBhYgB3K2IAcitiAGErYgByd2EAcGFnZV9kZWx0YQBCaW5hcnllbk1lbW9yeUdyb3dTZXREZWx0YQBCaW5hcnllblRhYmxlR3Jvd1NldERlbHRhAEJpbmFyeWVuTWVtb3J5R3Jvd0dldERlbHRhAEJpbmFyeWVuVGFibGVHcm93R2V0RGVsdGEAX19hc3luY2lmeV9kYXRhAG91dCBvZiBib3VuZHMgc2VnbWVudCBhY2Nlc3MgaW4gYXJyYXkubmV3X2RhdGEAb3V0IG9mIGJvdW5kcyBzZWdtZW50IGFjY2VzcyBpbiBhcnJheS5pbml0X2RhdGEAY29tYmluZXMgbXVsdGlwbGUgbWVtb3JpZXMgaW50byBhIHNpbmdsZSBtZW1vcnksIHRyYXBwaW5nIGlmIHRoZSByZWFkIG9yIHdyaXRlIGlzIGxhcmdlciB0aGFuIHRoZSBsZW5ndGggb2YgdGhlIG1lbW9yeSdzIGRhdGEAVE9ETzogZ2MgZGF0YQBBcnJheU5ld0RhdGEAQXJyYXlJbml0RGF0YQB3cml0ZVRvRGF0YQByZWFkRnJvbURhdGEAZ2V0R0NEYXRhAHR5cGUtc3NhAGYzMng0LnJlbGF4ZWRfZm1hAGY2NHgyLnJlbGF4ZWRfZm1hAGd1ZmEARnVuY3Rpb24gYABfX2VtX2xpYl9kZXBzXwBhc3luY2lmeV9mYWtlX2NhbGxfZ2xvYmFsXwBtYXNrXwB3YXNpXwAuZGVidWdfAHR5cGVfAHRoaXMtPm1vZHVsZS0+Z2V0R2xvYmFsKGN1cnItPm5hbWUpLT5tdXRhYmxlXwBpbnZva2VfAF9fZW1fanNfXwBVXwBTQUZFX0hFQVBfU1RPUkVfAFNBRkVfSEVBUF9MT0FEXwBfPG9uY2U+XwBeAG11bHRpcGxlIG1lbW9yaWVzIHJlcXVpcmUgbXVsdGltZW1vcnkgWy0tZW5hYmxlLW11bHRpbWVtb3J5XQB0YWJsZS5jb3B5IHJlcXVpcmVzIGJ1bGstbWVtb3J5IFstLWVuYWJsZS1idWxrLW1lbW9yeV0AdGFibGUuZmlsbCByZXF1aXJlcyBidWxrLW1lbW9yeSBbLS1lbmFibGUtYnVsay1tZW1vcnldAEJ1bGsgbWVtb3J5IG9wZXJhdGlvbnMgcmVxdWlyZSBidWxrIG1lbW9yeSBbLS1lbmFibGUtYnVsay1tZW1vcnldAG5vbnplcm8gc2VnbWVudCBmbGFncyByZXF1aXJlIGJ1bGsgbWVtb3J5IFstLWVuYWJsZS1idWxrLW1lbW9yeV0Ac2VsZi0+bG9jYWxzU2V0W2luZGV4XQBbcmVtb3ZhYmxlLWJ5dGVzLXdpdGhvdXQtaXRdAFtleHBvcnRzXQBbaW1wb3J0c10AW3ZhcnNdAHJlc3VtZSByZXF1aXJlcyB0eXBlZC1jb250aW51YXRvbnMgWy0tZW5hYmxlLXR5cGVkLWNvbnRpbnVhdGlvbnNdAFRhZ3Mgd2l0aCByZXN1bHQgdHlwZXMgcmVxdWlyZSB0eXBlZCBjb250aW51YXRpb25zIGZlYXR1cmUgWy0tZW5hYmxlLXR5cGVkLWNvbnRpbnVhdGlvbnNdAFtnbG9iYWxzXQBFeHBvcnRlZCBtdXRhYmxlIGdsb2JhbCByZXF1aXJlcyBtdXRhYmxlLWdsb2JhbHMgWy0tZW5hYmxlLW11dGFibGUtZ2xvYmFsc10ASW1wb3J0ZWQgbXV0YWJsZSBnbG9iYWwgcmVxdWlyZXMgbXV0YWJsZS1nbG9iYWxzIFstLWVuYWJsZS1tdXRhYmxlLWdsb2JhbHNdAHN0cmluZyBvcGVyYXRpb25zIHJlcXVpcmUgcmVmZXJlbmNlLXR5cGVzIFstLWVuYWJsZS1zdHJpbmdzXQBbdGFnc10AW2JpbmFyeS1ieXRlc10AcmVmLmlzX251bGwgcmVxdWlyZXMgcmVmZXJlbmNlLXR5cGVzIFstLWVuYWJsZS1yZWZlcmVuY2UtdHlwZXNdAHJlZi5udWxsIHJlcXVpcmVzIHJlZmVyZW5jZS10eXBlcyBbLS1lbmFibGUtcmVmZXJlbmNlLXR5cGVzXQByZWYuZnVuYyByZXF1aXJlcyByZWZlcmVuY2UtdHlwZXMgWy0tZW5hYmxlLXJlZmVyZW5jZS10eXBlc10AdGFibGUuZ3JvdyByZXF1aXJlcyByZWZlcmVuY2UgdHlwZXMgWy0tZW5hYmxlLXJlZmVyZW5jZS10eXBlc10AdGFibGUuc2V0IHJlcXVpcmVzIHJlZmVyZW5jZSB0eXBlcyBbLS1lbmFibGUtcmVmZXJlbmNlLXR5cGVzXQB0YWJsZS5nZXQgcmVxdWlyZXMgcmVmZXJlbmNlIHR5cGVzIFstLWVuYWJsZS1yZWZlcmVuY2UtdHlwZXNdAHRhYmxlLnNpemUgcmVxdWlyZXMgcmVmZXJlbmNlIHR5cGVzIFstLWVuYWJsZS1yZWZlcmVuY2UtdHlwZXNdAFt0YWJsZXNdAFttZW1vcmllc10Ac2hhcmVkIG1lbW9yeSByZXF1aXJlcyB0aHJlYWRzIFstLWVuYWJsZS10aHJlYWRzXQBBdG9taWMgb3BlcmF0aW9ucyByZXF1aXJlIHRocmVhZHMgWy0tZW5hYmxlLXRocmVhZHNdAFtmdW5jc10AcmV0dXJuX2NhbGwqIHJlcXVpcmVzIHRhaWwgY2FsbHMgWy0tZW5hYmxlLXRhaWwtY2FsbF0AW3RvdGFsXQB2YWxpZFVzZXNbaV0gPD0gdXNlc1tpXQBjdXJyVmFsdWVzW2ldID49IGN1cnItPmNvbnRlbnRzLmVuZFtpXQB0cnkgcmVxdWlyZXMgZXhjZXB0aW9uLWhhbmRsaW5nIFstLWVuYWJsZS1leGNlcHRpb24taGFuZGxpbmddAHJldGhyb3cgcmVxdWlyZXMgZXhjZXB0aW9uLWhhbmRsaW5nIFstLWVuYWJsZS1leGNlcHRpb24taGFuZGxpbmddAHRyeV90YWJsZSByZXF1aXJlcyBleGNlcHRpb24taGFuZGxpbmcgWy0tZW5hYmxlLWV4Y2VwdGlvbi1oYW5kbGluZ10AVGFncyByZXF1aXJlIGV4Y2VwdGlvbi1oYW5kbGluZyBbLS1lbmFibGUtZXhjZXB0aW9uLWhhbmRsaW5nXQBJbXBvcnRlZCBtdWx0aXZhbHVlIGZ1bmN0aW9uIHJlcXVpcmVzIG11bHRpdmFsdWUgWy0tZW5hYmxlLW11bHRpdmFsdWVdAE11bHRpdmFsdWUgdGFnIHR5cGUgcmVxdWlyZXMgbXVsdGl2YWx1ZSBbLS1lbmFibGUtbXVsdGl2YWx1ZV0ATXVsdGl2YWx1ZSBibG9jayB0eXBlIHJlcXVpcmUgbXVsdGl2YWx1ZSBbLS1lbmFibGUtbXVsdGl2YWx1ZV0AU0lNRCBvcGVyYXRpb25zIHJlcXVpcmUgU0lNRCBbLS1lbmFibGUtc2ltZF0AIFtwb2x5bW9ycGhpY10AYXJyYXkubmV3X3tkYXRhLCBlbGVtfSByZXF1aXJlcyBnYyBbLS1lbmFibGUtZ2NdAGFycmF5LmNvcHkgcmVxdWlyZXMgZ2MgWy0tZW5hYmxlLWdjXQBhcnJheS5uZXcgcmVxdWlyZXMgZ2MgWy0tZW5hYmxlLWdjXQBzdHJ1Y3QubmV3IHJlcXVpcmVzIGdjIFstLWVuYWJsZS1nY10AaTMxLmdldF9zL3UgcmVxdWlyZXMgZ2MgWy0tZW5hYmxlLWdjXQByZWYudGVzdCByZXF1aXJlcyBnYyBbLS1lbmFibGUtZ2NdAGJyX29uX2Nhc3QgcmVxdWlyZXMgZ2MgWy0tZW5hYmxlLWdjXQByZWYuY2FzdCByZXF1aXJlcyBnYyBbLS1lbmFibGUtZ2NdAGFycmF5LmluaXQgcmVxdWlyZXMgZ2MgWy0tZW5hYmxlLWdjXQBhcnJheS5zZXQgcmVxdWlyZXMgZ2MgWy0tZW5hYmxlLWdjXQBzdHJ1Y3Quc2V0IHJlcXVpcmVzIGdjIFstLWVuYWJsZS1nY10AYXJyYXkuZ2V0IHJlcXVpcmVzIGdjIFstLWVuYWJsZS1nY10Ac3RydWN0LmdldCByZXF1aXJlcyBnYyBbLS1lbmFibGUtZ2NdAHJlZi5lcSByZXF1aXJlcyBnYyBbLS1lbmFibGUtZ2NdAGFycmF5LmxlbiByZXF1aXJlcyBnYyBbLS1lbmFibGUtZ2NdAGFycmF5LmZpbGwgcmVxdWlyZXMgZ2MgWy0tZW5hYmxlLWdjXQBjYWxsX3JlZiByZXF1aXJlcyBnYyBbLS1lbmFibGUtZ2NdAHJlZi5pMzEgcmVxdWlyZXMgZ2MgWy0tZW5hYmxlLWdjXQBhcnJheS5pbml0XyogcmVxdWlyZXMgZ2MgWy0tZW5hYmxlLWdjXQBleHRlcm4uZXh0ZXJuYWxpemUgcmVxdXJpZXMgR0MgWy0tZW5hYmxlLWdjXQBleHRlcm4uaW50ZXJuYWxpemUgcmVxdXJpZXMgR0MgWy0tZW5hYmxlLWdjXQBbbWVtb3J5LWRhdGFdAFt0YWJsZS1kYXRhXQBvcGVyYXRvcltdADY0LWJpdCBtZW1vcmllcyByZXF1aXJlIG1lbW9yeTY0IFstLWVuYWJsZS1tZW1vcnk2NF0AZnJlZXNbVHlwZTo6ZjY0XS5zaXplKCkgPT0gdGVtcHNbVHlwZTo6ZjY0XQBmcmVlc1tUeXBlOjppMzJdLnNpemUoKSA9PSB0ZW1wc1tUeXBlOjppMzJdAGZyZWVzW1R5cGU6OmYzMl0uc2l6ZSgpID09IHRlbXBzW1R5cGU6OmYzMl0AWy4uXQAnXQBcXABtZW1vcnlTZWdtZW50c1sAeyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbAEJJTkFSWUVOX0RFQlVHX1NPVVBFUklGWQBhcnJheVswXSA9PSBBUlJBWQAlYSAlYiAlZCAlSDolTTolUyAlWQBQT1NJWABjaGlsZFswXSA9PSBVTkFSWV9QUkVGSVgARXh0cmFjdEZ1bmN0aW9uSW5kZXggdXNhZ2U6IHdhc20tb3B0IC0tZXh0cmFjdC1mdW5jdGlvbi1pbmRleD1GVU5DVElPTl9JTkRFWABTVEFDS19NQVgAIWZsb3cuYnJlYWtpbmcoKSB8fCBmbG93LmJyZWFrVG8gPT0gUkVUVVJOX0ZMT1cAQXRvbWljUk1XAHJlc3VsdCAhPSBOT19SRVNVTFQAcG9zc2libGUgIT0gRVhQUkVTU0lPTl9SRVNVTFQAQklOQVJZRU5fU09VUEVSSUZZX1RPVEFMX0xJTUlUAEJJTkFSWUVOX1NPVVBFUklGWV9ERVBUSF9MSU1JVABhcnJheVswXSA9PSBPQkpFQ1QAaTY0dG9pMzJfaTMyJEhJR0hfQklUUwAlSDolTTolUwAhZnVuYy0+c3RhY2tJUgBwcmludFN0YWNrSVIAVHJhbmZvcm0gQmluYXJ5ZW4gSVIgaW50byBQb3BweSBJUgBPbmx5IGNvbnRyb2wgZmxvdyBzdHJ1Y3R1cmVzIGFuZCB1bnJlYWNoYWJsZSBwb2x5bW9ycGhpYyBpbnN0cnVjdGlvbnMgbWF5IGJlIHVucmVhY2hhYmxlIGluIFBvcHB5IElSAG9wdGltaXplIFN0YWNrIElSAGdlbmVyYXRlIFN0YWNrIElSAG9wdGltaXplcyB1c2luZyB0aGUgRGF0YUZsb3cgU1NBIElSAFNlcGFyYXRlRGF0YVNlZ21lbnRzIHVzYWdlOiB3YXNtLW9wdCAtLXBhc3MtYXJnPXNlcGFyYXRlLWRhdGEtc2VnbWVudHMtZ2xvYmFsLWJhc2VATlVNQkVSAHZhclswXSA9PSBWQVIAdW5leHBlY3RlZCBFT0YgaW4gdGhlIG1pZGRsZSBvZiBWTFEAU1RBQ0tUT1AAVE9ETwAtTmFOAGZ1bmNbMF0gPT0gREVGVU4ATkFOAHRoaXMtPnVzZWQgPD0gTgBqIDwgTgBpIDwgTgBQTQBBTQBzb3VyY2VNYXBwaW5nVVJMAEJJTkFSWUVOX1BSSU5UX0ZVTEwATENfQUxMAGNhbGxbMF0gPT0gQ0FMTABibG9ja1swXSA9PSBCTE9DSwBjb2RlWzBdID09IEJMT0NLAGdlbmVyYXRlIGR5bkNhbGwgZnVjdGlvbnMgdXNlZCBieSBlbXNjcmlwdGVuIEFCSQBzd2l0Y2hfWzBdID09IFNXSVRDSABCSU5BUllFTl9QQVNTX0RFQlVHAExBTkcAU3RyaW5nU2xpY2VXVEYASU5GAG5vZGUtPmlzQXJyYXkoKSAmJiBub2RlWzBdID09IElGAHNpemUgPD0gbnVtQ2h1bmtzICogQ0hVTktfU0laRQBFeHRyYWN0RnVuY3Rpb24gdXNhZ2U6ICB3YXNtLW9wdCAtLWV4dHJhY3QtZnVuY3Rpb249RlVOQ1RJT05fTkFNRQBTZXBhcmF0ZURhdGFTZWdtZW50cyB1c2FnZTogd2FzbS1vcHQgLS1zZXBhcmF0ZS1kYXRhLXNlZ21lbnRzQEZJTEVOQU1FAEZVTkNUSU9OX1RBQkxFAD1XSUxEQ0FSRABCaW5hcnllblNJTURUZXJuYXJ5U2V0QwBCaW5hcnllblNJTURUZXJuYXJ5R2V0QwBpbnZhbGlkIHR5cGUgd2l0aG91dCBHQwBiYWQgdHlwZSB3aXRob3V0IEdDAEJpbmFyeWVuU0lNRFRlcm5hcnlTZXRCAEJpbmFyeWVuU0lNRFRlcm5hcnlHZXRCAGlubGluaW5nTW9kZSA9PSBJbmxpbmluZ01vZGU6OlNwbGl0UGF0dGVybkEgfHwgaW5saW5pbmdNb2RlID09IElubGluaW5nTW9kZTo6U3BsaXRQYXR0ZXJuQgB0b3RhbCBtZW1vcnkgbXVzdCBiZSA8PSA0R0IAaW5pdGlhbCBtZW1vcnkgbXVzdCBiZSA8PSA0R0IATEVCIGRyb3BwZWQgYml0cyBvbmx5IHZhbGlkIGZvciBzaWduZWQgTEVCAGlubGluZWFibGUtQgBvdXRsaW5lZC1CAEJpbmFyeWVuU0lNRFRlcm5hcnlTZXRBAEJpbmFyeWVuU0lNRFRlcm5hcnlHZXRBAGlubGluZWFibGUtQQBvdXRsaW5lZC1BACRjbGFzcy1pbml0aWFsaXplZEAARnVuY0Nhc3RFbXVsYXRpb246Om1ha2VUaHVuayBzZWVtcyBhIHRodW5rIG5hbWUgYWxyZWFkeSBpbiB1c2UuIFdhcyB0aGUgcGFzcyBhbHJlYWR5IHJ1biBvbiB0aGlzIGNvZGU/ADw8ID4+ID4+PgAgb2Zmc2V0PQAgYWxpZ249ADwgPD0gPiA+PQBvcGVyYXRvcj09ADw9AG9wZXJhdG9yKz0APT0gIT0Ab3BlcmF0b3I8PAAKICAgIHJldHVybiB1aW50OEFycmF5OwBkZWZhdWx0OgBHZW5lcmF0ZUR5bkNhbGxzOiBDYW5ub3Qgb3BlcmF0ZSBvbiBtdWx0aXBsZSByZXR1cm4gdmFsdWVzOgBNb2R1bGU6OgA/IDoAYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWl8kMDEyMzQ1Njc4OQBTSU1EX0ludDE2eDgAaTE2eDgAaTgAc3RyaW5nLm5ld193dGY4AHN0cmluZ3ZpZXdfd3RmOABzdHJpbmcuYXNfd3RmOABzdHJpbmcubWVhc3VyZV93dGY4AHN0cmluZy5lbmNvZGVfd3RmOABzdHJpbmcubmV3X2xvc3N5X3V0ZjgAc3RyaW5nLmVuY29kZV9sb3NzeV91dGY4AHN0cmluZy5uZXdfdXRmOABzdHJpbmcubWVhc3VyZV91dGY4AHN0cmluZy5lbmNvZGVfdXRmOABpNjQuYXRvbWljLnN0b3JlOABpMzIuYXRvbWljLnN0b3JlOABpNjQuc3RvcmU4AGkzMi5zdG9yZTgASEVBUFU4AG5ld0hFQVA4AGdldHYxMjgAc2V0X3YxMjgAZ2V0X3YxMjgAdmFsLnR5cGUgPT0gVHlwZTo6djEyOABleHBlY3RlZCBvcGVyYW5kIG9mIHR5cGUgdjEyOABTSU1EIHRlcm5hcnkgbXVzdCBoYXZlIHR5cGUgdjEyOABsb2FkWF9sYW5lIG9yIHN0b3JlWF9sYW5lIHZlY3RvciBhcmd1bWVudCBtdXN0IGhhdmUgdHlwZSB2MTI4AHZlY3RvciBzaGlmdCBtdXN0IGhhdmUgdHlwZSB2MTI4AGxvYWRfc3BsYXQgbXVzdCBoYXZlIHR5cGUgdjEyOAByZXBsYWNlX2xhbmUgbXVzdCBoYXZlIHR5cGUgdjEyOABsb2FkWF9sYW5lIG11c3QgaGF2ZSB0eXBlIHYxMjgAaTh4MTYuc2h1ZmZsZSBtdXN0IGhhdmUgdHlwZSB2MTI4AGV4dHJhY3RfbGFuZSBtdXN0IG9wZXJhdGUgb24gYSB2MTI4AHJlcGxhY2VfbGFuZSBtdXN0IG9wZXJhdGUgb24gYSB2MTI4AHN0b3JlMTI4AHNpbWQxMjgAbG9hZDEyOABCaW5hcnllbkNvbnN0U2V0VmFsdWVWMTI4AEJpbmFyeWVuQ29uc3RHZXRWYWx1ZVYxMjgAQy5VVEYtOABieXRlcyA9PSA4AFNJTURfSW50OHgxNgBpOHgxNgBzaHVmZmxlVjh4MTYAaTE2AHN0cmluZy5uZXdfd3RmMTYAc3RyaW5ndmlld193dGYxNgBzdHJpbmcuYXNfd3RmMTYAc3RyaW5nLm1lYXN1cmVfd3RmMTYAc3RyaW5nLmVuY29kZV93dGYxNgBpNjQuYXRvbWljLnN0b3JlMTYAaTMyLmF0b21pYy5zdG9yZTE2AGk2NC5zdG9yZTE2AGkzMi5zdG9yZTE2AEhFQVBVMTYASEVBUDE2AGN1cnItPmluZGV4IDwgMTYAU0lNRF9JbnQzMng0AFNJTURfRmxvYXQzMng0AGkzMng0AGY2NHgyLnByb21vdGVfbG93X2YzMng0AF9fX3VkaXZtb2RkaTQAbWVtb3J5NjQAZjY0LXRvLXVpbnQ2NABmMzItdG8tdWludDY0AGY2NC10by1pbnQ2NABmMzItdG8taW50NjQAbWVtb3J5LmF0b21pYy53YWl0NjQAd3JhcEFkZHJlc3M2NABleHRlbmRBZGRyZXNzNjQAZGVOYW42NAByZWludGVycHJldGk2NABnZXRpNjQAX193YXNtX2N0el9pNjQAX193YXNtX2Nsel9pNjQAd2FzbTJqc19hdG9taWNfcm13X2k2NABfX3dhc21fcG9wY250X2k2NABzZXRfaTY0AGY2NC5yZWludGVycHJldF9pNjQAZ2V0X2k2NABfX3dhc21fcm90cl9pNjQAaTMyLndyYXBfaTY0AF9fd2FzbV9yb3RsX2k2NABhcnJheV9zZXRfdmFsX2k2NABzdHJ1Y3Rfc2V0X3ZhbF9pNjQAYXJyYXlfZ2V0X3ZhbF9pNjQAc3RydWN0X2dldF92YWxfaTY0AHN0b3JlX3ZhbF9pNjQAbG9hZF92YWxfaTY0AHB0ci0+dHlwZSA9PSBUeXBlOjppNjQAdmFsdWUtPnR5cGUgPT0gVHlwZTo6aTY0AGMtPnZhbHVlLnR5cGUgPT0gVHlwZTo6aTY0AHR5cGUgPT0gVHlwZTo6aTMyIHx8IHR5cGUgPT0gVHlwZTo6aTY0AEF0b21pYyBzdG9yZSBzaG91bGQgYmUgaTMyIG9yIGk2NABBdG9taWMgbG9hZCBzaG91bGQgYmUgaTMyIG9yIGk2NABpNjQuZXF6IGlucHV0IG11c3QgYmUgaTY0AEF0b21pY1dhaXQgdGltZW91dCB0eXBlIG11c3QgYmUgaTY0AHNlZ21lbnQgb2Zmc2V0IHNob3VsZCBiZSBpNjQAZ2V0ZjY0AF9fd2FzbV9uZWFyZXN0X2Y2NABzZXRfZjY0AGk2NC5yZWludGVycHJldF9mNjQAZ2V0X2Y2NABhcnJheV9zZXRfdmFsX2Y2NABzdHJ1Y3Rfc2V0X3ZhbF9mNjQAYXJyYXlfZ2V0X3ZhbF9mNjQAc3RydWN0X2dldF92YWxfZjY0AHN0b3JlX3ZhbF9mNjQAbG9hZF92YWxfZjY0AGYzMi5kZW1vdGVfZjY0AHdhc20yanNfc2NyYXRjaF9zdG9yZV9mNjQAd2FzbTJqc19zY3JhdGNoX2xvYWRfZjY0AGhhc091dFBhcmFtKGN1cnItPnZhbHVlKSB8fCBjdXJyLT50eXBlID09IFR5cGU6Omk2NCB8fCBjdXJyLT50eXBlID09IFR5cGU6OmY2NABleHByLT50eXBlID09IFR5cGU6OmY2NABzdG9yZTY0AGNhc3RUb0k2NABCaW5hcnllbkNvbnN0U2V0VmFsdWVJNjQAQmluYXJ5ZW5Db25zdEdldFZhbHVlSTY0AGV4dGVuZFRvVUk2NABleHRlbmRUb1NJNjQAY2FzdFRvRjY0AGV4dGVuZFRvRjY0AEJpbmFyeWVuQ29uc3RTZXRWYWx1ZUY2NABCaW5hcnllbkNvbnN0R2V0VmFsdWVGNjQASEVBUEY2NABBbGlnbiBvZiBtZW1vcnkuYXRvbWljLm5vdGlmeSBtdXN0IGJlIDQAYnl0ZXMgPT0gNABTSU1EX0Zsb2F0NjR4MgBpNjR4MgBmNjR4MgBkb0MyU3ViQzEgfHwgZG9DMVN1YkMyAE1hdGhfY2x6MzIAYmluYXJ5LT5vcCA9PSBBbmRJbnQzMiB8fCBiaW5hcnktPm9wID09IE9ySW50MzIAY3Vyci0+b3AgPT0gT3JJbnQzMgBjdXJyLT5vcCA9PSBBbmRJbnQzMgB1bmFyeS0+b3AgPT0gRXFaSW50MzIAbWVtb3J5LmF0b21pYy53YWl0MzIAZGVOYW4zMgByZWludGVycHJldGkzMgBnZXRpMzIAX2xsdm1fY3R0el9pMzIAX193YXNtX2N0el9pMzIAX193YXNtX2Nsel9pMzIAX193YXNtX3BvcGNudF9pMzIAd2FzbTJqc19hdG9taWNfd2FpdF9pMzIAc2V0X2kzMgBmMzIucmVpbnRlcnByZXRfaTMyAGdldF9pMzIAX193YXNtX3JvdHJfaTMyAF9fd2FzbV9yb3RsX2kzMgBhcnJheV9zZXRfdmFsX2kzMgBzdHJ1Y3Rfc2V0X3ZhbF9pMzIAYXJyYXlfZ2V0X3ZhbF9pMzIAc3RydWN0X2dldF92YWxfaTMyAHN0b3JlX3ZhbF9pMzIAbG9hZF92YWxfaTMyAHdhc20yanNfc2NyYXRjaF9zdG9yZV9pMzIAd2FzbTJqc19zY3JhdGNoX2xvYWRfaTMyAGN1cnItPnR5cGUgPT0gVHlwZTo6aTMyAGN1cnItPnZhbHVlLT50eXBlID09IFR5cGU6OmkzMgBzaGlmdC50eXBlID09IFR5cGU6OmkzMgBhcnJheS5jb3B5IGRlc3QgaW5kZXggbXVzdCBiZSBhbiBpMzIAYXJyYXkuc2V0IGluZGV4IG11c3QgYmUgYW4gaTMyAHRhYmxlLnNldCBpbmRleCBtdXN0IGJlIGFuIGkzMgBhcnJheS5nZXQgaW5kZXggbXVzdCBiZSBhbiBpMzIAdGFibGUuZ2V0IGluZGV4IG11c3QgYmUgYW4gaTMyAGFycmF5LmZpbGwgaW5kZXggbXVzdCBiZSBhbiBpMzIAYXJyYXkuY29weSBzcmMgaW5kZXggbXVzdCBiZSBhbiBpMzIAYXJyYXkuaW5pdF8qIGluZGV4IG11c3QgYmUgYW4gaTMyAGFycmF5LmxlbiByZXN1bHQgbXVzdCBiZSBhbiBpMzIAYXJyYXkubmV3X3tkYXRhLCBlbGVtfSBvZmZzZXQgbXVzdCBiZSBhbiBpMzIAbWVtb3J5LmluaXQgb2Zmc2V0IG11c3QgYmUgYW4gaTMyAGFycmF5LmluaXRfKiBvZmZzZXQgbXVzdCBiZSBhbiBpMzIAaW5kaXJlY3QgY2FsbCB0YXJnZXQgbXVzdCBiZSBhbiBpMzIAYXJyYXkubmV3X3tkYXRhLCBlbGVtfSBzaXplIG11c3QgYmUgYW4gaTMyAGFycmF5Lm5ldyBzaXplIG11c3QgYmUgYW4gaTMyAG1lbW9yeS5pbml0IHNpemUgbXVzdCBiZSBhbiBpMzIAYXJyYXkuZmlsbCBzaXplIG11c3QgYmUgYW4gaTMyAGFycmF5LmluaXRfKiBzaXplIG11c3QgYmUgYW4gaTMyAG1lbW9yeS5maWxsIHZhbHVlIG11c3QgYmUgYW4gaTMyAEF0b21pY05vdGlmeSBtdXN0IGhhdmUgdHlwZSBpMzIAQXRvbWljV2FpdCBtdXN0IGhhdmUgdHlwZSBpMzIAZXhwZWN0ZWQgc2hpZnQgYW1vdW50IHRvIGhhdmUgdHlwZSBpMzIAaTMyLmVxeiBpbnB1dCBtdXN0IGJlIGkzMgB0YWJsZS5jb3B5IGRlc3QgbXVzdCBiZSBpMzIAdGFibGUuZmlsbCBkZXN0IG11c3QgYmUgaTMyAGJyZWFrIGNvbmRpdGlvbiBtdXN0IGJlIGkzMgBicl90YWJsZSBjb25kaXRpb24gbXVzdCBiZSBpMzIAdGFibGUuY29weSBzaXplIG11c3QgYmUgaTMyAHRhYmxlLmZpbGwgc2l6ZSBtdXN0IGJlIGkzMgBBdG9taWNOb3RpZnkgbm90aWZ5Q291bnQgdHlwZSBtdXN0IGJlIGkzMgB0YWJsZS5jb3B5IHNvdXJjZSBtdXN0IGJlIGkzMgByZWYuaTMxJ3MgYXJndW1lbnQgc2hvdWxkIGJlIGkzMgBlbGVtZW50IHNlZ21lbnQgb2Zmc2V0IHNob3VsZCBiZSBpMzIAZ2V0ZjMyAF9fd2FzbV9uZWFyZXN0X2YzMgBzZXRfZjMyAGkzMi5yZWludGVycHJldF9mMzIAZ2V0X2YzMgBhcnJheV9zZXRfdmFsX2YzMgBzdHJ1Y3Rfc2V0X3ZhbF9mMzIAYXJyYXlfZ2V0X3ZhbF9mMzIAc3RydWN0X2dldF92YWxfZjMyAHN0b3JlX3ZhbF9mMzIAbG9hZF92YWxfZjMyAGY2NC5wcm9tb3RlX2YzMgB3YXNtMmpzX3NjcmF0Y2hfc3RvcmVfZjMyAHdhc20yanNfc2NyYXRjaF9sb2FkX2YzMgB0eXBlID09IFR5cGU6OmYzMgBfX21lbW9yeV9iYXNlMzIAaTY0LmF0b21pYy5zdG9yZTMyAGk2NC5zdG9yZTMyAEhFQVBVMzIASEVBUDMyAGNhc3RUb0kzMgB3cmFwVG9JMzIAQmluYXJ5ZW5Db25zdFNldFZhbHVlSTMyAEJpbmFyeWVuQ29uc3RHZXRWYWx1ZUkzMgBsb3dlclN0b3JlSTMyAGxvd2VyTG9hZEkzMgBjYXN0VG9GMzIAQmluYXJ5ZW5Db25zdFNldFZhbHVlRjMyAEJpbmFyeWVuQ29uc3RHZXRWYWx1ZUYzMgBIRUFQRjMyAGxpc3Quc2l6ZSgpID49IDIAZnVuY3Rpb25zLnNpemUoKSA+PSAyAHN0YWNrLnNpemUoKSA+PSAyAGV4cHJlc3Npb25TdGFjay5zaXplKCkgPj0gMgB2YWx1ZXMuc2l6ZSgpID09IDIAdmFsdWVzLnNpemUoKSA8PSAyACAxOmkxAGdldGkzMQBnY0RhdGEtPnZhbHVlc1swXS50eXBlLmdldEhlYXBUeXBlKCkgPT0gSGVhcFR5cGU6OmkzMQByZWYuaTMxAFRPRE86IGkzMQBCaW5hcnllbkkzMUdldFNldEkzMQBCaW5hcnllbkkzMUdldEdldEkzMQBSZWZJMzEAZm9yY2VzIGFsbCBsb2FkcyBhbmQgc3RvcmVzIHRvIGhhdmUgYWxpZ25tZW50IDEAR2xvYmFsIG11dGFiaWxpdHkgbXVzdCBiZSAwIG9yIDEAcmV0ID49IDEAc2l6ZSA+PSAxACgqbnVtTG9jYWxHZXRzKVtjdXJyLT5pbmRleF0gPj0gMQBzZXRzLmxpc3Quc2l6ZSgpID09IDEAcmVzdWx0cy5zaXplKCkgPT0gMQBwb3BzLnNpemUoKSA9PSAxAHZhbHVlcy5zaXplKCkgPT0gMQByYW5nZXMuc2l6ZSgpID09IDEAY3Vyci0+dHlwZS5zaXplKCkgPT0gMQBzZXRzLnNpemUoKSA8PSAxAG5ld0luZGV4ID09IGxhc3ROZXdJbmRleCArIDEAdHlwZXMuc2l6ZSgpID09IG51bSArIDEAc2V0VGVtcFJldDAAZ2V0VGVtcFJldDAAZjAAbnVtIDwgMTAwMAAuMAAtMABpNjQuZGl2X3UgYnkgMABpMzIuZGl2X3UgYnkgMABpNjQucmVtX3UgYnkgMABpMzIucmVtX3UgYnkgMABpNjQuZGl2X3MgYnkgMABpMzIuZGl2X3MgYnkgMABpNjQucmVtX3MgYnkgMABpMzIucmVtX3MgYnkgMABDdXJyZW50bHkgb25seSBzZXF1ZW50aWFsbHkgY29uc2lzdGVudCBhdG9taWNzIGFyZSBzdXBwb3J0ZWQsIHNvIEF0b21pY0ZlbmNlJ3Mgb3JkZXIgc2hvdWxkIGJlIDAAaW5kZW50ID4gMABjaGlsZE9yaWdpbmFsUmVxdWVzdHMgPiAwAHVzZWRFbGVtZW50cyA+IDAATWF4SWZzID4gMABudW0gPiAwAGkgPiAwAHVzZWRGaXhlZCA+IDAAbnVtU2V0c0ZvckluZGV4W3NldC0+aW5kZXhdID4gMABOdW1QcmVkZWNlc3NvcnNbTmV4dEJsb2NrXSA+IDAAY291bnRzLT5jb3VudChjdXJyLT50YXJnZXQpID4gMABpbmZvcy5jb3VudChjdXJyLT50YXJnZXQpID4gMABjb3VudHMuY291bnQoY3Vyci0+bmFtZSkgPiAwAHN0YXRlLT5hY3Rpb25zRm9yRnVuY3Rpb24uY291bnQoZ2V0RnVuY3Rpb24oKS0+bmFtZSkgPiAwAGluZm9zLmNvdW50KGN1cnItPmZ1bmMpID4gMABkb1dvcmtlcnMuc2l6ZSgpID4gMABpdGVtcy5zaXplKCkgPiAwAElubmVyQmxvY2tzLnNpemUoKSA+IDAAdmFsdWVzLnNpemUoKSA+IDAATG9vcC0+RW50cmllcy5zaXplKCkgPiAwACFjdXJyTW9kdWxlIHx8IGN1cnJNb2R1bGUtPm1lbW9yaWVzLnNpemUoKSA+IDAAb3BlcmFuZHMuc2l6ZSgpID4gMABmdW5jcy5zaXplKCkgPiAwAHNlbGYtPmlmU3RhY2suc2l6ZSgpID4gMABpbmZvLm51bUJyZWFrcyA+PSAwAGQgPj0gMABpbmRleCA9PSAwAGJpbmFyeUxvY2F0aW9uc1NpemVBdFNlY3Rpb25TdGFydCA9PSAwAHBvcyA9PSAwAGRlcHRoID09IDAAdHJ5RGVwdGggPT0gMABjb250cm9sRmxvd0RlcHRoID09IDAAc2l6ZSAlIFNUQUNLX0FMSUdOID09IDAAc2VsZi0+c2lua2FibGVzLmNvdW50KGluZGV4KSA9PSAwAHVuY2FsbGVkUmVmRnVuY01hcC5jb3VudCh0eXBlKSA9PSAwAGNhbGxlZFNpZ25hdHVyZXMuY291bnQoc3ViVHlwZSkgPT0gMABicmFuY2hlcy5zaXplKCkgPT0gMABzdGFjay5zaXplKCkgPT0gMAB0cnlTdGFjay5zaXplKCkgPT0gMAB0aHJvd2luZ0luc3RzU3RhY2suc2l6ZSgpID09IDAAdW53aW5kRXhwclN0YWNrLnNpemUoKSA9PSAwAGxvb3BTdGFjay5zaXplKCkgPT0gMABwcm9jZXNzQ2F0Y2hTdGFjay5zaXplKCkgPT0gMABpZlN0YWNrLnNpemUoKSA9PSAwAGNvbmQgIT0gMABBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvAGFycmF5LgBpbnZhbGlkIGV4cG9ydCBpbmRleC4AaW52YWxpZCBmdW5jdGlvbiBpbmRleC4AaW52YWxpZCBnbG9iYWwgaW5kZXguAGludmFsaWQgdGFibGUgaW5kZXguAEl0IG1ha2VzIG5vIHNlbnNlIHRvIHVzZSBib3RoIGFuIGFzeW5jaWZ5IG9ubHktbGlzdCB0b2dldGhlciB3aXRoIGFub3RoZXIgbGlzdC4AY29udC4ATWVtb3J5IGluZGV4IG91dCBvZiByYW5nZSB3aGlsZSByZWFkaW5nIG1lbW9yeSBhbGlnbm1lbnQuAEludmFsaWQgb2Zmc2V0IGZvciBhbiBlbGVtZW50IHNlZ21lbnQuAHN0cnVjdC4AIGFyZ3VtZW50cy4Ab3B0aW1pemVzIEoyQ0wgc3BlY2lmaWMgY29uc3RydWN0cy4ASW52YWxpZCBraW5kICghPSBmdW5jcmVmKDApKSBzaW5jZSAhdXNlc0V4cHJlc3Npb25zLgAgc2Vjb25kcy4AIHdhcyBlbmFibGVkIGJ5IHRoZSB1c2VyLCBidXQgZGlzYWxsb3dlZCBpbiB0aGUgZmVhdHVyZXMgc2VjdGlvbi4AZXhwZWN0ZWQgYW4gTVZQLXN0eWxlICRmdW5jbmFtZSBpbiBlbGVtLgBlbGVtIHNlZ21lbnQgaXMgcGFzc2l2ZS4AY2FsbC1pbmRpcmVjdCB0YWJsZSBtdXN0IGJlIG9mIGZ1bmN0aW9uIHR5cGUuAGVsZW1lbnQgc2VnbWVudCB0eXBlIG11c3QgYmUgb2YgcmVmZXJlbmNlIHR5cGUuAHRhYmxlLmdldCBtdXN0IGhhdmUgc2FtZSB0eXBlIGFzIHRhYmxlLgBNZW1vcnkgaW5kZXggb3V0IG9mIHJhbmdlLgBUYWJsZSBpbmRleCBvdXQgb2YgcmFuZ2UuACBieXRlcy4gVHJ5IHJlYnVpbGRpbmcgaW4gNjQtYml0IG1vZGUuAGludmFsaWQgc2VnbWVudCBpZC4AaW52YWxpZCBzZWdtZW50IGRhdGEgaWQuAGZ1bmMuAGludmFsaWQgZXhwcmVzc2lvbiBpbiBzZWdtZW50IGRhdGEuAGFsbCB0YWJsZSBlbGVtZW50cyBtdXN0IGJlIG5vbi1udWxsIGZ1bmNyZWZzIGluIE1WUC4AYWxsIGVsZW1lbnQgc2VnbWVudHMgc2hvdWxkIHJlZmVyIHRvIGEgc2luZ2xlIHRhYmxlIGluIE1WUC4AZ2VuZXJhdGUgZHluQ2FsbCBmdW5jdGlvbnMgdXNlZCBieSBlbXNjcmlwdGVuIEFCSSwgYnV0IG9ubHkgZm9yIGZ1bmN0aW9ucyB3aXRoIGk2NCBpbiB0aGVpciBzaWduYXR1cmUgKHdoaWNoIGNhbm5vdCBiZSBpbnZva2VkIHZpYSB0aGUgd2FzbSB0YWJsZSB3aXRob3V0IEphdmFTY3JpcHQgQmlnSW50IHN1cHBvcnQpLgAnLgBieW4tc3BsaXQtAC0tZW5hYmxlLQBVc2FnZSB1c2FnZTogIHdhc20tb3B0IC0tACEgfiArIC0ALAB3KwByKwBhKwBpbnZhbGlkIHN0cmluZy5uZXcqAGludmFsaWQgc3RyaW5nLmFzKgBvcGVyYXRvcioAaW52YWxpZCBzdHJpbmcuZXEqAGludmFsaWQgc3RyaW5nLm1vdmUqAGludmFsaWQgc3RyaW5nLm1lYXN1cmUqAGludmFsaWQgc3RyaW5nLmVuY29kZSoAaW52YWxpZCBzdHJpbmcuc2xpY2UqAGludmFsaWQgcmVmLmlzXyoAaW52YWxpZCBjb2RlIGZvciByZWYuYXNfKgBpbnZhbGlkIHJlZi5hc18qAHVuaW1wbGVtZW50ZWQgcmVmLmFzXyoAaW52YWxpZCBicl9vbl8qACpub25jb25zdGFudDopKgAqcmV0dXJuOikqAHNob3VsZENhbm9uaWNhbGl6ZShiaW5hcnkpAGVtaXQgU291cGVyIElSIGluIHRleHQgZm9ybSAoc2luZ2xlLXVzZSBub2RlcyBvbmx5KQBtYXJrIGZ1bmN0aW9ucyBhcyBuby1pbmxpbmUgKGZvciBmdWxsIGlubGluaW5nIG9ubHkpAG1hcmsgZnVuY3Rpb25zIGFzIG5vLWlubGluZSAoZm9yIHBhcnRpYWwgaW5saW5pbmcgb25seSkAIWZ1bmMtPmlzUGFyYW0oaW5kZXgpAGJhZCBicmVha2luZGV4IChsb3cpAHNvcnRzIGdsb2JhbHMgYnkgYWNjZXNzIGZyZXF1ZW5jeSAoZXZlbiBpZiB0aGVyZSBhcmUgZmV3KQBub24tZmluYWwgYmxvY2sgZWxlbWVudHMgcmV0dXJuaW5nIGEgdmFsdWUgbXVzdCBiZSBkcm9wKCllZCAoYmluYXJ5ZW4ncyBhdXRvZHJvcCBvcHRpb24gbWlnaHQgaGVscCB5b3UpAGNvbXBvc2VzKG5leHQpAFByb3BlcnRpZXM6OmlzQ29uc3RhbnRFeHByZXNzaW9uKGdsb2JhbC0+aW5pdCkAIDs7IChyZXBsYWNlcyBzb21ldGhpbmcgdW5yZWFjaGFibGUgd2UgY2FuJ3QgZW1pdCkAY2FuUmVvcmRlcihiaW5hcnktPmxlZnQsIGJpbmFyeS0+cmlnaHQpACFjb250YWlucyhCcmFuY2hlc091dCwgVGFyZ2V0KQBQb3NzaWJsZUNvbnRlbnRzOjppc1N1YkNvbnRlbnRzKHJlZkNvbnRlbnRzLCBtYXhpbWFsQ29udGVudHMpAG1pc2NlbGxhbmVvdXMgbG9jYWxzLXJlbGF0ZWQgb3B0aW1pemF0aW9ucyAobm8gbmVzdGluZyBhdCBhbGw7IHByZXNlcnZlcyBmbGF0bmVzcykAIGZ1bmN0aW9ucykAIWlzSW5VbnJlYWNoYWJsZShzdGF0ZS5sb2NhbHMpAGdlbmVyYXRlIGdsb2JhbCBlZmZlY3QgaW5mbyAoaGVscHMgbGF0ZXIgcGFzc2VzKQAgKGhhc0V4dGVybmFsVXNlcykAT25seSAxIHRhYmxlIGRlZmluaXRpb24gYWxsb3dlZCBpbiBNVlAgKHJlcXVpcmVzIC0tZW5hYmxlLXJlZmVyZW5jZS10eXBlcykAbWlzY2VsbGFuZW91cyBsb2NhbHMtcmVsYXRlZCBvcHRpbWl6YXRpb25zIChubyB0ZWVzKQAhYWN0aXZlT3JpZ2luYWxzLmNvdW50KGN1cnIpAG1hcC5jb3VudChjdXJyKQB1c2VkLmNvdW50KGN1cnIpAFByb3BlcnRpZXM6OmlzQ29uc3RhbnRFeHByZXNzaW9uKGN1cnIpAGRvZXNDYWxsKGN1cnIpACFQcm9wZXJ0aWVzOjppc0NvbnRyb2xGbG93U3RydWN0dXJlKGN1cnIpACFjYWxsZXJzW2NhbGxlZF0uY291bnQoY2FsbGVyKQAhaXNJblVucmVhY2hhYmxlKG90aGVyKQAoYWxpYXMgZm9yIHByaW50LWZ1bmN0aW9uLW1hcCkAc3RyaXAgZGVidWcgaW5mbyAoaW5jbHVkaW5nIHRoZSBuYW1lcyBzZWN0aW9uKQAobnVsbCBleHByZXNzaW9uKQBtYXJrIGFsbCB0eXBlcyBhcyBub24tZmluYWwgKG9wZW4pAGNyZWF0ZXMgc3BlY2lhbGl6ZWQgdmVyc2lvbnMgb2YgZnVuY3Rpb25zIChldmVuIGlmIHVuaGVscGZ1bCkAKG51bGwpAG9yaWdpbmFsTG9jYWxNYXAuY291bnQoaW5mby5vcmlnaW5hbCkAIShyZXF1ZXN0cyAmJiBvcmlnaW5hbCkAc2VnbWVudCBzaXplIHNob3VsZCBmaXQgaW4gbWVtb3J5IChpbml0aWFsKQBmdW5jdGlvbi0+aXNWYXIoaSkAb2xkRnVuYy0+aGFzTG9jYWxOYW1lKGkpAGJhZCBicmVha2luZGV4IChoaWdoKQBiYWQgdHJ5IGluZGV4IChoaWdoKQBpbmxpbmUgZnVuY3Rpb25zICh5b3UgcHJvYmFibHkgd2FudCBpbmxpbmluZy1vcHRpbWl6aW5nKQBsZWF2ZXMganVzdCBvbmUgZnVuY3Rpb24gKHVzZWZ1bCBmb3IgZGVidWdnaW5nKQBzb3J0cyBmdW5jdGlvbnMgYnkgbmFtZSAodXNlZnVsIGZvciBkZWJ1Z2dpbmcpAHByaW50IG91dCBTdGFjayBJUiAodXNlZnVsIGZvciBpbnRlcm5hbCBkZWJ1Z2dpbmcpAGMgPT0gKGMgJiAweGZmKQBjID09IChjICYgMHhmZmZmKQAhaGFzT3V0UGFyYW0oY3Vyci0+aWZGYWxzZSkAbWlzY2VsbGFuZW91cyBsb2NhbHMtcmVsYXRlZCBvcHRpbWl6YXRpb25zIChubyB0ZWVzIG9yIHN0cnVjdHVyZSkAbWlzY2VsbGFuZW91cyBsb2NhbHMtcmVsYXRlZCBvcHRpbWl6YXRpb25zIChubyBzdHJ1Y3R1cmUpAFR5cGU6OmlzU3ViVHlwZSh0eXBlLCBjdXJyLT50eXBlKQBUeXBlOjppc1N1YlR5cGUocmV0LmdldFR5cGUoKSwgY3Vyci0+dHlwZSkAVHlwZTo6aXNTdWJUeXBlKGN1cnItPnR5cGUsIGN1cnItPnJlZi0+dHlwZSkAVHlwZTo6aXNTdWJUeXBlKGN1cnItPmNhc3RUeXBlLCBjdXJyLT5yZWYtPnR5cGUpAFR5cGU6OmlzU3ViVHlwZShyZWZUeXBlLCByZWYtPnR5cGUpAGNhbk1ha2VaZXJvKHR5cGUpACFleGlzdGluZ1NldC5jb3VudChuZXdUeXBlKQBUeXBlOjppc1N1YlR5cGUobmV3VHlwZSwgb2xkVHlwZSkAKGdsb2JhbCBzY29wZSkAIXdhc20uZ2V0VGFnT3JOdWxsKHRhZy0+bmFtZSkAb3B0SW5mby5vbmNlR2xvYmFscy5hdChnbG9iYWxOYW1lKQAobnVsbCBOYW1lKQBJc0NvZGVFcXVpdmFsZW50KEludG8tPkNvZGUsIEN1cnItPkNvZGUpAGdlbmVyYWxpemUgdHlwZXMgKG5vdCB5ZXQgc291bmQpAE9ubHkgZnVuY3JlZiBhbmQgZXh0ZXJucmVmIGFyZSB2YWxpZCBmb3IgdGFibGUgdHlwZSAod2hlbiBnYyBpcyBkaXNhYmxlZCkAT25seSBmdW5jdGlvbiByZWZlcmVuY2UgdHlwZXMgb3IgZXh0ZXJucmVmIGFyZSB2YWxpZCBmb3IgdGFibGUgdHlwZSAod2hlbiBHQyBpcyBkaXNhYmxlZCkAT25seSBmdW5jcmVmIGlzIHZhbGlkIGZvciB0YWJsZSB0eXBlICh3aGVuIHJlZmVyZW5jZSB0eXBlcyBhcmUgZGlzYWJsZWQpAE11bHRpdmFsdWUgZnVuY3Rpb24gcmVzdWx0cyAobXVsdGl2YWx1ZSBpcyBub3QgZW5hYmxlZCkAZ2xvYmFsLnNldCBuYW1lIG11c3QgYmUgdmFsaWQgKGFuZCBub3QgYW4gaW1wb3J0OyBpbXBvcnRzIGNhbid0IGJlIG1vZGlmaWVkKQBpbnQoX2lkKSA9PSBpbnQoVDo6U3BlY2lmaWNJZCkASGVhcFR5cGU6OmlzU3ViVHlwZShkZXN0LCBzcmMpACgqaW5mb01hcCkuY291bnQoY3Vyci0+ZnVuYykAIWFuYWx5emVyLT5jYW5DaGFuZ2VTdGF0ZShpZmYtPmNvbmRpdGlvbiwgZnVuYykAKGlzRGF0YSgpICYmIGdjRGF0YSkgfHwgKHR5cGUgPT0gSGVhcFR5cGU6OmV4dCAmJiBnY0RhdGEpIHx8ICh0eXBlLmlzQm90dG9tKCkgJiYgIWdjRGF0YSkAZWxlbWVudFN0YXJ0c1dpdGgocywgUkVTVUxUKQBlbGVtZW50U3RhcnRzV2l0aChzLCBQQVJBTSkgfHwgZWxlbWVudFN0YXJ0c1dpdGgocywgTE9DQUwpAGVsZW1lbnRTdGFydHNXaXRoKHMsIFRZUEUpAHNwaWxsIHBvaW50ZXJzIHRvIHRoZSBDIHN0YWNrICh1c2VmdWwgZm9yIEJvZWhtLXN0eWxlIEdDKQAgKDsgaGFzIFN0YWNrIElSIDspAEFzeW5jaWZ5IGRvZXMgbm90IHlldCBzdXBwb3J0IG5vbi1udW1iZXIgdHlwZXMsIGxpa2UgcmVmZXJlbmNlcyAoc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9XZWJBc3NlbWJseS9iaW5hcnllbi9pc3N1ZXMvMzczOSkAYmVzdCAhPSBJbmRleCgtMSkAVGFibGUgY2Fubm90IGhhdmUgYm90aCBleHBsaWNpdCBsaW1pdHMgYW5kIGFuIGlubGluZSAoZWxlbSAuLi4pACEoKHRyYXAgJiYgb3RoZXIudGhyb3dzKCkpIHx8ICh0aHJvd3MoKSAmJiBvdGhlci50cmFwKSkAIXNldC0+ZW1wdHkoKQBPdXRlci0+bGlzdC5lbXB0eSgpAGN1cnJEZXBlbmRlbnRzLmVtcHR5KCkAdGFyZ2V0cy5lbXB0eSgpAHNlbGYtPmFjdGl2ZU9yaWdpbmFscy5lbXB0eSgpACFjZmcuYmxvY2tzLmVtcHR5KCkAIWluZGV4ZXMuZW1wdHkoKQAhbXVsdGlWYWx1ZXMuZW1wdHkoKQAhc2F2ZWRWYWx1ZXMuZW1wdHkoKQBicmVha1R5cGVzLmVtcHR5KCkAcmV0aHJvd1RhcmdldE5hbWVzLmVtcHR5KCkAZXhjZXB0aW9uVGFyZ2V0TmFtZXMuZW1wdHkoKQBicmVha1RhcmdldE5hbWVzLmVtcHR5KCkAZGVsZWdhdGVUYXJnZXROYW1lcy5lbXB0eSgpACFtb2R1bGUtPm1lbW9yaWVzLmVtcHR5KCkAY2FsbC0+b3BlcmFuZHMuZW1wdHkoKQBicmFuY2hlc1NlZW4uZW1wdHkoKQAhY29udHJvbEZsb3dTdGFjay5lbXB0eSgpACFleHByZXNzaW9uU3RhY2suZW1wdHkoKQAhYnJlYWtTdGFjay5lbXB0eSgpAGlmU3RhY2suZW1wdHkoKQAhbmFtZS5lbXB0eSgpAGJpbmFyeUxvY2F0aW9uVHJhY2tlZEV4cHJlc3Npb25zRm9yRnVuYy5lbXB0eSgpACFlbXB0eSgpAGdldE1vZHVsZSgpLT5mZWF0dXJlcy5oYXNCdWxrTWVtb3J5KCkAIWNvbnRlbnRzLmlzTWFueSgpAGh0LmlzQXJyYXkoKQB0eXBlLmlzQXJyYXkoKQAhdHJhbnNmZXJzQ29udHJvbEZsb3coKQBnZXRNb2R1bGUoKS0+ZmVhdHVyZXMuaGFzU2lnbkV4dCgpAHdpdGgtPmlzQ29uc3QoKQAhbm9kZS0+aXNDb25zdCgpAGlzQ29uc3RhbnQoKQBodC5pc1N0cnVjdCgpAHR5cGUuaXNTdHJ1Y3QoKQBoZWFwVHlwZS5pc1N0cnVjdCgpAG51bU9wZXJhbmRzID09IGZ1bmMtPmdldE51bVBhcmFtcygpAGluZGV4IDwgZ2V0TnVtTG9jYWxzKCkAIXByb2Nlc3NCbG9ja3MoKQAhQ3Vyci0+bmFtZS5pcygpAGZ1bmMuaXMoKSAmJiBvdGhlci5mdW5jLmlzKCkAb2xkRmllbGROYW1lc1tpXS5pcygpAG5vZGUtPmlzRXhwcigpAG9wZXJhdG9yKCkAIXJlc3VsdC5nZXRFcnJvcigpACFwYXNzLT5nZXRQYXNzUnVubmVyKCkAYmluYXJ5LT50eXBlLmlzSW50ZWdlcigpAHZhbHVlLnR5cGUuaXNOdW1iZXIoKQBpc0NvbnRpbnVhdGlvbigpAGNhbk1ha2VFeHByZXNzaW9uKCkAdGFyZ2V0VHlwZS5pc0JvdHRvbSgpAGhlYXBUeXBlLmlzQm90dG9tKCkAcmVmVHlwZS5nZXRIZWFwVHlwZSgpLmlzQm90dG9tKCkAdHlwZS5pc051bGxhYmxlKCkgJiYgdHlwZS5pc051bGwoKQB0eXBlLmlzRnVuY3Rpb24oKSAmJiAhZnVuYy5pc051bGwoKQAhYS5pc051bGwoKSB8fCAhYi5pc051bGwoKQAhcGFzcy0+aXNGdW5jdGlvblBhcmFsbGVsKCkAaXNMaXRlcmFsKCkAY3VyciA9PSBjb250cm9sRmxvd1N0YWNrLmJhY2soKQBpc1N0cmluZygpAGluaXQuYnJlYWtpbmcoKQBzcmMuaXNSZWYoKSAmJiBkZXN0LmlzUmVmKCkAbmV4dC0+dHlwZS5pc1JlZigpAHRhcmdldC0+dHlwZS5pc1JlZigpAGN1cnItPnR5cGUuaXNSZWYoKQBjdXJyLT5yZWYtPnR5cGUuaXNSZWYoKQB0YWJsZS0+dHlwZS5pc1JlZigpAHgudHlwZS5pc1JlZigpAGxpdGVyYWwudHlwZS5pc1JlZigpAGV4cHItPnR5cGUuaXNSZWYoKSAmJiB0eXBlLmlzUmVmKCkAY2FzdFR5cGUuaXNSZWYoKQByZWZUeXBlLmlzUmVmKCkAaW5kZXggPCB0aGlzLT5zaXplKCkAaW5kZXggPCBzdGF0aWNfY2FzdDxCbG9jayo+KGV4cHJlc3Npb24pLT5saXN0LnNpemUoKQBvcmlnaW5MaXN0Lmxpc3Quc2l6ZSgpID09IGNvcHlMaXN0Lmxpc3Quc2l6ZSgpAGluZGV4IDwgbGlzdC5zaXplKCkAaSA8IGluc3RzLnNpemUoKQBleHBvcnRzTWFwLnNpemUoKSA9PSBleHBvcnRzLnNpemUoKQBlbGVtZW50U2VnbWVudHNNYXAuc2l6ZSgpID09IGVsZW1lbnRTZWdtZW50cy5zaXplKCkAZGF0YVNlZ21lbnRzTWFwLnNpemUoKSA9PSBkYXRhU2VnbWVudHMuc2l6ZSgpAGkgPD0gdGFyZ2V0VHlwZS5nZXRTaWduYXR1cmUoKS5yZXN1bHRzLnNpemUoKQBpbmRleCA8IHN0YXRpY19jYXN0PFN3aXRjaCo+KGV4cHJlc3Npb24pLT50YXJnZXRzLnNpemUoKQBpbmRleCA8IHZhcnMuc2l6ZSgpAGluZGV4IDwgc2l6ZSArIHZhcnMuc2l6ZSgpAGluZGV4IDwgYmFzZSArIHZhcnMuc2l6ZSgpAGZ1bmN0aW9uc01hcC5zaXplKCkgPT0gZnVuY3Rpb25zLnNpemUoKQBpbmRleCA8IGxvY2F0aW9ucy5zaXplKCkAY3Vyci0+b3BlcmFuZHMuc2l6ZSgpID09IHNpZy5wYXJhbXMuc2l6ZSgpAGkgPD0gdGFyZ2V0VHlwZS5nZXRTaWduYXR1cmUoKS5wYXJhbXMuc2l6ZSgpAHBvcC0+dHlwZS5zaXplKCkgPT0gcGFyYW1zLnNpemUoKQBnbG9iYWxzTWFwLnNpemUoKSA9PSBnbG9iYWxzLnNpemUoKQB0YWdzTWFwLnNpemUoKSA9PSB0YWdzLnNpemUoKQBpbmRleCA8IHN0YXRpY19jYXN0PFRyeSo+KGV4cHJlc3Npb24pLT5jYXRjaFRhZ3Muc2l6ZSgpAGNoZWNrZWQgPT0gaW5kZXhlcy5tZW1vcnlJbmRleGVzLnNpemUoKQBlbWl0dGVkID09IGluZGV4ZXMuZnVuY3Rpb25JbmRleGVzLnNpemUoKQBjaGVja2VkID09IGluZGV4ZXMuZnVuY3Rpb25JbmRleGVzLnNpemUoKQBjaGVja2VkID09IGluZGV4ZXMuZWxlbUluZGV4ZXMuc2l6ZSgpAGNoZWNrZWQgPT0gaW5kZXhlcy5nbG9iYWxJbmRleGVzLnNpemUoKQBjaGVja2VkID09IGluZGV4ZXMudGFibGVJbmRleGVzLnNpemUoKQBpbmRleCA8IHN0YXRpY19jYXN0PEFycmF5TmV3Rml4ZWQqPihleHByZXNzaW9uKS0+dmFsdWVzLnNpemUoKQBlbWl0dGVkID09IGZ1bmN0aW9uc1dpdGhMb2NhbE5hbWVzLnNpemUoKQBsb2NhbHNXaXRoTmFtZXMuc2l6ZSgpAHRhYmxlc01hcC5zaXplKCkgPT0gdGFibGVzLnNpemUoKQBtZW1vcmllc01hcC5zaXplKCkgPT0gbWVtb3JpZXMuc2l6ZSgpAGluZGV4IDwgc3RhdGljX2Nhc3Q8VHJ5Kj4oZXhwcmVzc2lvbiktPmNhdGNoQm9kaWVzLnNpemUoKQBmaXJzdFJhbmdlSWR4IDwgcmFuZ2VzLnNpemUoKQBpIDw9IHN0cnVjdE5ldy0+b3BlcmFuZHMuc2l6ZSgpAHBhcmFtcy5zaXplKCkgPT0gY3Vyci0+b3BlcmFuZHMuc2l6ZSgpAGZpZWxkcy5zaXplKCkgPT0gY3Vyci0+b3BlcmFuZHMuc2l6ZSgpAGluZGV4IDwgc3RhdGljX2Nhc3Q8VGhyb3cqPihleHByZXNzaW9uKS0+b3BlcmFuZHMuc2l6ZSgpAGluZGV4IDwgc3RhdGljX2Nhc3Q8U3RydWN0TmV3Kj4oZXhwcmVzc2lvbiktPm9wZXJhbmRzLnNpemUoKQBpbmRleCA8IHN0YXRpY19jYXN0PENhbGxJbmRpcmVjdCo+KGV4cHJlc3Npb24pLT5vcGVyYW5kcy5zaXplKCkAaW5kZXggPCBzdGF0aWNfY2FzdDxDYWxsKj4oZXhwcmVzc2lvbiktPm9wZXJhbmRzLnNpemUoKQBpbmRleCA8IHN0YXRpY19jYXN0PENhbGxSZWYqPihleHByZXNzaW9uKS0+b3BlcmFuZHMuc2l6ZSgpAGluZGV4IDwgc3RhdGljX2Nhc3Q8VHVwbGVNYWtlKj4oZXhwcmVzc2lvbiktPm9wZXJhbmRzLnNpemUoKQBpbmRleGVzQWZ0ZXJSZW1vdmFsLnNpemUoKSA9PSBvcGVyYW5kcy5zaXplKCkAbmV3SW5kZXggPCBvcGVyYW5kcy5zaXplKCkAaW5kZXggPCBmaWVsZHMuc2l6ZSgpAG9sZCA9PSB0aHJlYWRzLnNpemUoKQBzdGFjay5zaXplKCkgPT0gc3RhY2tMb2NzLnNpemUoKQBzdXBlci5pc1R1cGxlKCkgJiYgc3ViLnNpemUoKSA9PSBzdXBlci5zaXplKCkAY2Fub25pY2FsLnNpemUoKSA9PSBncm91cC5zaXplKCkAaW5kZXggPCBjaGlsZHJlbi5zaXplKCkAc2VsZi0+dW53aW5kRXhwclN0YWNrLnNpemUoKSA9PSBzZWxmLT50aHJvd2luZ0luc3RzU3RhY2suc2l6ZSgpAHN0YXJ0IDw9IGV4cHJlc3Npb25TdGFjay5zaXplKCkAY3Vyci0+Y29udGVudHMuc3RhcnQuc2l6ZSgpIDwgbGl2ZS5zaXplKCkAY3Vyci0+Y29udGVudHMuZW5kLnNpemUoKSA8IGxpdmUuc2l6ZSgpAGNoaWxkLT50eXBlLnNpemUoKSA9PSBwYXJlbnQtPnR5cGUuc2l6ZSgpAGluZGV4IDwgdHVwbGUtPnR5cGUuc2l6ZSgpAGluZGV4IDwgam9pbmVlLnNpemUoKQBpID09IGRhdGEuc2l6ZSgpAGFjdHVhbCA8PSBkYXRhLnNpemUoKQBpIDw9IHRhcmdldC0+Z2V0UmVzdWx0cygpLnNpemUoKQBpIDw9IHRhcmdldC0+Z2V0UGFyYW1zKCkuc2l6ZSgpAGZ1bmMtPmxvY2FsSW5kaWNlcy5zaXplKCkgPT0gZnVuYy0+Z2V0UGFyYW1zKCkuc2l6ZSgpAHNpemUoKSArIG4gPj0gc2l6ZSgpAGluZGV4IDw9IHNpemUoKQBpbmRleCA8IHNpemUoKQBsaXQuaXNDb25jcmV0ZSgpAGFyZ0Zsb3cudmFsdWVzLmlzQ29uY3JldGUoKQBmaXJzdC0+dHlwZS5pc0NvbmNyZXRlKCkAIWJsb2NrLT50eXBlLmlzQ29uY3JldGUoKQAhaWZmLT50eXBlLmlzQ29uY3JldGUoKQBjdXJyLT52YWx1ZS0+dHlwZS5pc0NvbmNyZXRlKCkAY2hpbGQtPnR5cGUuaXNDb25jcmV0ZSgpAGFyZy50eXBlLmlzQ29uY3JldGUoKQB2YWx1ZS50eXBlLmlzQ29uY3JldGUoKQBodC5pc1NpZ25hdHVyZSgpAHR5cGUuaXNTaWduYXR1cmUoKQBoZWFwVHlwZS5pc1NpZ25hdHVyZSgpAGZ1bmN0aW9uVHlwZS5pc1NpZ25hdHVyZSgpAHRhcmdldC0+dHlwZS5nZXRIZWFwVHlwZSgpLmlzU2lnbmF0dXJlKCkAY2FzdC5nZXRGYWlsdXJlKCkAcmVmQ29udGVudHMuaXNHbG9iYWwoKSB8fCByZWZDb250ZW50cy5pc0NvbmVUeXBlKCkAY29uZS5pc0NvbmVUeXBlKCkAIWNvbnRlbnRzLmlzTm9uZSgpAG90aGVyLmlzRnVsbENvbmVUeXBlKCkgfHwgb3RoZXIuaXNMaXRlcmFsKCkgfHwgb3RoZXIuaXNOb25lKCkAaW50ZXJzZWN0aW9uLmlzTnVsbCgpIHx8IGludGVyc2VjdGlvbi5pc05vbmUoKQAhc3JjLmlzVHVwbGUoKSAmJiAhZGVzdC5pc1R1cGxlKCkAIXJlc3VsdHMuaXNUdXBsZSgpACFyZXQtPnR5cGUuaXNUdXBsZSgpACFjdXJyLT50eXBlLmlzVHVwbGUoKQAhb3BlcmFuZC0+dHlwZS5pc1R1cGxlKCkAIWNoaWxkLT50eXBlLmlzVHVwbGUoKQBmdW5jLT5nZXRMb2NhbFR5cGUoaW5kZXgpLmlzTm9uTnVsbGFibGUoKSB8fCBmdW5jLT5nZXRMb2NhbFR5cGUoaW5kZXgpLmlzVHVwbGUoKQB4LnR5cGUuaXNTaW5nbGUoKQBsaXRlcmFsLnR5cGUuaXNTaW5nbGUoKQBsb2NhbFR5cGUuaXNTaW5nbGUoKQBjdXJyLT50eXBlLmlzTnVsbGFibGUoKQAhdHlwZS5pc051bGxhYmxlKCkAcmVmVHlwZS5pc051bGxhYmxlKCkAdHlwZV8uaXNOdWxsYWJsZSgpAHR5cGUuaXNOb25OdWxsYWJsZSgpAGNhc3RUeXBlLmlzTm9uTnVsbGFibGUoKQBpc0luVW5yZWFjaGFibGUoKQAhc2V0LT5pc1RlZSgpACFwcmV2aW91cy0+aXNUZWUoKQB0ZWUtPmlzVGVlKCkAc3RkOjpmaW5kKGZyZWVMaXN0LmJlZ2luKCksIGZyZWVMaXN0LmVuZCgpLCBpZHgpID09IGZyZWVMaXN0LmVuZCgpAHBhcmVudHMuZmluZChjdXJyKSA9PSBwYXJlbnRzLmVuZCgpAG91dFBhcmFtSXQgIT0gaGlnaEJpdFZhcnMuZW5kKCkAcGFzc0luZm9zLmZpbmQobmFtZSkgPT0gcGFzc0luZm9zLmVuZCgpAGl0ZXIgIT0gYWxsRHJvcHBlZENhbGxzLmVuZCgpAHNjcmF0Y2hMb2NhbHMuZmluZChjdXJyLT50eXBlKSAhPSBzY3JhdGNoTG9jYWxzLmVuZCgpAGl0ICE9IGluZGV4ZXMubWVtb3J5SW5kZXhlcy5lbmQoKQBpdCAhPSBpbmRleGVzLmZ1bmN0aW9uSW5kZXhlcy5lbmQoKQBpdCAhPSBpbmRleGVzLmVsZW1JbmRleGVzLmVuZCgpAGl0ICE9IGluZGV4ZXMuZ2xvYmFsSW5kZXhlcy5lbmQoKQBpdCAhPSBzdHJpbmdJbmRleGVzLmVuZCgpAGl0ICE9IGluZGV4ZXMudGFnSW5kZXhlcy5lbmQoKQBpdCAhPSBpbmRleGVzLnRhYmxlSW5kZXhlcy5lbmQoKQBpdCAhPSBpbmRleGVzLmRhdGFJbmRleGVzLmVuZCgpAGl0ZXIgIT0gYnJlYWtUeXBlcy5lbmQoKQBpdCAhPSBtZW1vcmllcy5lbmQoKQBwcmVsdWRlcy5maW5kKGN1cnIpID09IHByZWx1ZGVzLmVuZCgpAGFkZGVkTm9kZXMuZmluZChub2RlKSA9PSBhZGRlZE5vZGVzLmVuZCgpAGl0ICE9IGRhdGFJbmRpY2VzLmVuZCgpACF1c2luZ0ZpeGVkKCkAZnVuYy0+aW1wb3J0ZWQoKQAhZ2xvYmFsLmltcG9ydGVkKCkAIW5vZGUtPmlzQmFkKCkAIWh0LmlzQmFzaWMoKQAhdHlwZS5pc0Jhc2ljKCkAIWlzQmFzaWMoKQB3cml0ZSA+PSBkYXRhLmRhdGEoKQB4LmlzRGF0YSgpAGxpdGVyYWwuaXNEYXRhKCkAaGVhcFR5cGUuaXNEYXRhKCkAaXNOdWxsKCkgfHwgaXNEYXRhKCkAZXhwcmVzc2lvbi0+aXM8U0lNRFRlcm5hcnk+KCkAZXhwcmVzc2lvbi0+aXM8QmluYXJ5PigpAGV4cHJlc3Npb24tPmlzPFVuYXJ5PigpAGV4cHJlc3Npb24tPmlzPFRyeT4oKQBleHByZXNzaW9uLT5pczxNZW1vcnlDb3B5PigpAGV4cHJlc3Npb24tPmlzPEFycmF5Q29weT4oKQBleHByZXNzaW9uLT5pczxBdG9taWNOb3RpZnk+KCkAZXhwci0+aXM8VHJ5PigpIHx8IGV4cHItPmlzPFJldGhyb3c+KCkAZXhwcmVzc2lvbi0+aXM8UmV0aHJvdz4oKQBleHByZXNzaW9uLT5pczxUaHJvdz4oKQBleHByZXNzaW9uLT5pczxNZW1vcnlHcm93PigpAGV4cHJlc3Npb24tPmlzPFRhYmxlR3Jvdz4oKQBleHByZXNzaW9uLT5pczxBcnJheU5ldz4oKQBleHByZXNzaW9uLT5pczxTdHJ1Y3ROZXc+KCkAZXhwcmVzc2lvbi0+aXM8U3RyaW5nTmV3PigpAGV4cHJlc3Npb24tPmlzPFN0cmluZ0l0ZXJOZXh0PigpAGV4cHJlc3Npb24tPmlzPFN0cmluZ0NvbnN0PigpAGJpbmFyeS0+cmlnaHQtPmlzPENvbnN0PigpAGV4cHJlc3Npb24tPmlzPENvbnN0PigpAHNldC0+dmFsdWUtPmlzPENvbnN0PigpAGV4cHJlc3Npb24tPmlzPFJlZlRlc3Q+KCkAZXhwcmVzc2lvbi0+aXM8UmVmQ2FzdD4oKQBleHByZXNzaW9uLT5pczxNZW1vcnlJbml0PigpAGV4cHJlc3Npb24tPmlzPEF0b21pY1dhaXQ+KCkAZXhwcmVzc2lvbi0+aXM8U0lNRFNoaWZ0PigpAGV4cHJlc3Npb24tPmlzPEFycmF5U2V0PigpAGV4cHJlc3Npb24tPmlzPFN0cnVjdFNldD4oKQBleHByZXNzaW9uLT5pczxMb2NhbFNldD4oKQAoKm9yaWdpbiktPmlzPExvY2FsU2V0PigpAGV4cHJlc3Npb24tPmlzPEdsb2JhbFNldD4oKQBleHByZXNzaW9uLT5pczxUYWJsZVNldD4oKQBleHByZXNzaW9uLT5pczxBcnJheUdldD4oKQBleHByZXNzaW9uLT5pczxTdHJ1Y3RHZXQ+KCkAIW5vZGUtPmV4cHItPmlzPExvY2FsR2V0PigpAGV4cHJlc3Npb24tPmlzPExvY2FsR2V0PigpACgqb3JpZ2luKS0+aXM8TG9jYWxHZXQ+KCkAZXhwcmVzc2lvbi0+aXM8R2xvYmFsR2V0PigpAGMtPmlzPEdsb2JhbEdldD4oKQBleHByZXNzaW9uLT5pczxUYWJsZUdldD4oKQBleHByZXNzaW9uLT5pczxTdHJpbmdXVEYxNkdldD4oKQBleHByZXNzaW9uLT5pczxJMzFHZXQ+KCkAZXhwcmVzc2lvbi0+aXM8Q2FsbEluZGlyZWN0PigpAGV4cHJlc3Npb24tPmlzPFNlbGVjdD4oKQBleHByZXNzaW9uLT5pczxUdXBsZUV4dHJhY3Q+KCkAZXhwcmVzc2lvbi0+aXM8U0lNREV4dHJhY3Q+KCkAZXhwcmVzc2lvbi0+aXM8U3RyaW5nQ29uY2F0PigpAGV4cHJlc3Npb24tPmlzPFN0cmluZ0FzPigpAGV4cHJlc3Npb24tPmlzPFJlZkFzPigpAGV4cHJlc3Npb24tPmlzPFN0cmluZ1NsaWNlSXRlcj4oKQBleHByZXNzaW9uLT5pczxTdHJpbmdFcT4oKQBleHByZXNzaW9uLT5pczxSZWZFcT4oKQBleHByZXNzaW9uLT5pczxEYXRhRHJvcD4oKQBleHByZXNzaW9uLT5pczxEcm9wPigpAGV4cHJlc3Npb24tPmlzPExvb3A+KCkAZXhwcmVzc2lvbi0+aXM8UmV0dXJuPigpAGV4cHJlc3Npb24tPmlzPEFycmF5TGVuPigpAGV4cHJlc3Npb24tPmlzPEJyT24+KCkAZXhwcmVzc2lvbi0+aXM8UmVmSXNOdWxsPigpAGV4cHJlc3Npb24tPmlzPE1lbW9yeUZpbGw+KCkAZXhwcmVzc2lvbi0+aXM8Q2FsbD4oKQBib2R5LT5pczxCbG9jaz4oKQBleHByZXNzaW9uLT5pczxCbG9jaz4oKQBleHByZXNzaW9uLT5pczxCcmVhaz4oKQBleHByZXNzaW9uLT5pczxTd2l0Y2g+KCkAZXhwcmVzc2lvbi0+aXM8QXRvbWljQ21weGNoZz4oKQBleHByZXNzaW9uLT5pczxDYWxsUmVmPigpAGV4cHJlc3Npb24tPmlzPElmPigpAGV4cHJlc3Npb24tPmlzPFRhYmxlU2l6ZT4oKQBleHByZXNzaW9uLT5pczxTdHJpbmdJdGVyTW92ZT4oKQBleHByZXNzaW9uLT5pczxTdHJpbmdNZWFzdXJlPigpAGV4cHJlc3Npb24tPmlzPFN0b3JlPigpAGV4cHJlc3Npb24tPmlzPFNJTURMb2FkU3RvcmVMYW5lPigpAGV4cHJlc3Npb24tPmlzPFNJTURTaHVmZmxlPigpAGN1cnItPnRlbXBsYXRlIGlzPElmPigpIHx8IGN1cnItPnRlbXBsYXRlIGlzPFRyeT4oKSB8fCBjdXJyLT50ZW1wbGF0ZSBpczxUcnlUYWJsZT4oKQBleHByZXNzaW9uLT5pczxUdXBsZU1ha2U+KCkAZXhwcmVzc2lvbi0+aXM8U3RyaW5nRW5jb2RlPigpAGV4cHJlc3Npb24tPmlzPEF0b21pY0ZlbmNlPigpAGV4cHJlc3Npb24tPmlzPFN0cmluZ1dURjhBZHZhbmNlPigpAGV4cHJlc3Npb24tPmlzPFNJTURSZXBsYWNlPigpAGV4cHJlc3Npb24tPmlzPEFycmF5TmV3Rml4ZWQ+KCkAZXhwcmVzc2lvbi0+aXM8U0lNRExvYWQ+KCkAZXhwcmVzc2lvbi0+aXM8TG9hZD4oKQBleHByZXNzaW9uLT5pczxSZWZGdW5jPigpAGV4cHJlc3Npb24tPmlzPEF0b21pY1JNVz4oKQBleHByZXNzaW9uLT5pczxTdHJpbmdTbGljZVdURj4oKQBleHByZXNzaW9uLT5pczxSZWZJMzE+KCkAIikAICkAXSA9IGJhc2U2NERlY29kZVRvRXhpc3RpbmdVaW50OEFycmF5KG5ldyBVaW50OEFycmF5KAAgPSBuZXcgQXJyYXlCdWZmZXIoAGZ1bmNyZWYoAGkzMXJlZigAY2F0Y2gncyBib2R5ICgATGFzdCBwYXNzICgATGFzdCBuZXN0ZWQgZnVuY3Rpb24tcGFyYWxsZWwgcGFzcyAoAGJsb2NrICgAIGNhdGNoICgAY2F0Y2gncyB0YWcgKABJUiBtdXN0IGJlIGZsYXQ6IHJ1biAtLWZsYXR0ZW4gYmVmb3JlaGFuZCAoAHRyeSBib2R5IHNob3VsZCBzdGFydCB3aXRoICdkbycAZXhwZWN0ZWQgJ3RoZW4nAGV4cGVjdGVkICdlbHNlJwBcJwBpbXBvcnRzWycAJ11bJwBbUGFzc1J1bm5lcl0gUEFTU19ERUJVRyBjaGVjayBmYWlsZWQ6IGhhZCBTdGFjayBJUiBiZWZvcmUgYW5kIGFmdGVyIHRoZSBwYXNzIHJhbiwgYW5kIHRoZSBwYXNzIG1vZGlmaWVkIGdsb2JhbCBmdW5jdGlvbiBzdGF0ZSAtIHBhc3Mgc2hvdWxkIGhhdmUgYmVlbiBtYXJrZWQgJ21vZGlmaWVzQmluYXJ5ZW5JUicAW1Bhc3NSdW5uZXJdIFBBU1NfREVCVUcgY2hlY2sgZmFpbGVkOiBoYWQgU3RhY2sgSVIgYmVmb3JlIGFuZCBhZnRlciB0aGUgcGFzcyByYW4sIGFuZCB0aGUgcGFzcyBtb2RpZmllZCB0aGUgbWFpbiBJUiwgd2hpY2ggaW52YWxpZGF0ZXMgU3RhY2sgSVIgLSBwYXNzIHNob3VsZCBoYXZlIGJlZW4gbWFya2VkICdtb2RpZmllc0JpbmFyeWVuSVInAGludmFsaWQgbWVtb3J5ICcAJyBnb3QgJwBpbnZhbGlkIGZ1bmN0aW9uICcAIGZyb20gJwBGYWlsZWQgb3BlbmluZyAnAEZhaWxlZCBvcGVuaW5nIHNvdXJjZW1hcCBvdXRwdXQgZmlsZSAnAEZhaWxlZCBvcGVuaW5nIG91dHB1dCBmaWxlICcAVW5leHBlY3RlZCBjaGFyOiBleHBlY3RlZCAnACYmAGluZmVyICUAID0gcGhpICUAYmxvY2twYyAlACogLyAlAGJ5biRmcGNhc3QtZW11JABleHBvcnQkAHRpbXBvcnQkAG1pbXBvcnQkAGxlZ2FsaW1wb3J0JABnaW1wb3J0JABmaW1wb3J0JABlaW1wb3J0JABsYWJlbCQAZ2xvYmFsJABibG9jayQAc3dpdGNoJABvcmlnJAB0YWckACRjYXNlJABzaGFwZSQAYnluJG1nZm4tc2hhcmVkJABsZWdhbGZ1bmMkAF9faW5saW5lZF9mdW5jJABsZWdhbHN0dWIkAGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpfJABpNjR0b2kzMl9pMzIkAChtZW1vcnkgJAAodHlwZSAkACBhdCB0eXBlICQAcHVibGljbHkgZXhwb3NlZCB0eXBlIGRpc2FsbG93ZWQgd2l0aCBhIGNsb3NlZCB3b3JsZDogJABmdW5jICYmICJCaW5hcnlJbnN0V3JpdGVyOiBmdW5jdGlvbiBpcyBub3Qgc2V0IgBmdW5jICYmICJCaW5hcnllbklSV3JpdGVyOiBmdW5jdGlvbiBpcyBub3Qgc2V0IgBvZmZzZXQgJiYgIlRPRE86IGhhbmRsZSBub24tY29uc3Qgc2VnbWVudCBvZmZzZXRzIgB0LmlzQmFzaWMoKSAmJiAiVE9ETzogaGFuZGxlIGNvbXBvdW5kIHR5cGVzIgBjdXJyLT50eXBlLmlzQmFzaWMoKSAmJiAiVE9ETzogaGFuZGxlIGNvbXBvdW5kIHR5cGVzIgBjdXJyLT52YWx1ZS0+dHlwZS5pc0Jhc2ljKCkgJiYgIlRPRE86IGhhbmRsZSBjb21wb3VuZCB0eXBlcyIAY29uc3RfLT50eXBlLmlzQmFzaWMoKSAmJiAiVE9ETzogaGFuZGxlIGNvbXBvdW5kIHR5cGVzIgB2YWx1ZS50eXBlLmlzQmFzaWMoKSAmJiAiVE9ETzogaGFuZGxlIGNvbXBvdW5kIHR5cGVzIgBUeXBlOjppc1N1YlR5cGUodHlwZSwgVHlwZShIZWFwVHlwZTo6ZXh0LCBOdWxsYWJsZSkpICYmICJjYW4gb25seSBpbnRlcm5hbGl6ZSBleHRlcm5hbCByZWZlcmVuY2VzIgBUeXBlOjppc1N1YlR5cGUodHlwZSwgVHlwZShIZWFwVHlwZTo6YW55LCBOdWxsYWJsZSkpICYmICJjYW4gb25seSBleHRlcm5hbGl6ZSBpbnRlcm5hbCByZWZlcmVuY2VzIgBpIDwgc2l6ZSgpICYmICJpbmRleCBvdXQgb2YgYm91bmRzIgBpbmRleCA9PSAwICYmIHBhcmVudC0+aWQgIT0gVHlwZTo6bm9uZSAmJiAiSW5kZXggb3V0IG9mIGJvdW5kcyIAaW5kZXggPD0gc2l6ZSgpICYmIGluZGV4ICsgbGVuZ3RoIDw9IHNpemUoKSAmJiAiZ3JvdXAgb3V0IG9mIGJvdW5kcyIAKCFydW5uZXIgfHwgcnVubmVyID09IHJ1bm5lcl8pICYmICJQYXNzIGFscmVhZHkgaGFkIGEgcnVubmVyIgAhaW5mby0+cmVjR3JvdXAgJiYgIlVuZXhwZWN0ZWQgbm9udHJpdmlhbCByZWMgZ3JvdXAiAHRhYmxlLmlzKCkgJiYgIlRhYmxlIG5hbWUgbXVzdCBub3QgYmUgbnVsbCIAcG9wICYmICJQb3AgaGFzIG5vdCBiZWVuIGZvdW5kIGluIHRoaXMgY2F0Y2giAHNlbGYtPnBhcmVudC50cnlEZXB0aCA+IDAgJiYgInRyeSBkZXB0aCBjYW5ub3QgYmUgbmVnYXRpdmUiAHNlbGYtPnBhcmVudC5jYXRjaERlcHRoID4gMCAmJiAiY2F0Y2ggZGVwdGggY2Fubm90IGJlIG5lZ2F0aXZlIgBpdCAhPSBpbmRpY2VzLmVuZCgpICYmICJ1bmtub3duIHN1Y2Nlc3NvciB2YWx1ZSIAaW5zZXJ0ZWQgJiYgInVuZXhwZWN0ZWQgcmVwZWF0ZWQgdmFsdWUiACF0LmlzVHVwbGUoKSAmJiAiVW5leHBlY3RlZCB0dXBsZSB0eXBlIgAhY3Vyci0+dHlwZS5pc1R1cGxlKCkgJiYgIlVuZXhwZWN0ZWQgdHVwbGUgdHlwZSIAIWN1cnItPnZhbHVlLT50eXBlLmlzVHVwbGUoKSAmJiAiVW5leHBlY3RlZCB0dXBsZSB0eXBlIgAhY29uc3RfLT50eXBlLmlzVHVwbGUoKSAmJiAiVW5leHBlY3RlZCB0dXBsZSB0eXBlIgAhdmFsdWUudHlwZS5pc1R1cGxlKCkgJiYgIlVuZXhwZWN0ZWQgdHVwbGUgdHlwZSIAIXR5cGUuaXNUdXBsZSgpICYmICJVbmV4cGVjdGVkIHR1cGxlIHR5cGUiACFpc1R1cGxlKCkgJiYgIlVuZXhwZWN0ZWQgdHVwbGUgdHlwZSIAdHlwZSA9PSBUeXBlOjppMzIgJiYgInVuZXhwZWN0ZWQgdHlwZSIAbmFtZSAmJiAiQ2Fubm90IHByaW50IGFuIGVtcHR5IG5hbWUiAHByZVBhcnNlSW1wb3J0ICYmICJpbXBvcnQgZWxlbWVudCBpbiBub24tcHJlUGFyc2VJbXBvcnQgbW9kZSIAZmFsc2UgJiYgIlRvcCBjb25zdCB0eXBlIG5vdCBzdXBwb3J0ZWQiAGZhbHNlICYmICJUb3AgaW5pdCB0eXBlIG5vdCBzdXBwb3J0ZWQiAGN1cnItPnR5cGUgIT0gVHlwZTo6aTY0ICYmICI2NC1iaXQgQXRvbWljQ21weGNoZyBub3QgaW1wbGVtZW50ZWQiACFjdXJyLT5pc0F0b21pYyAmJiAiYXRvbWljIHN0b3JlIG5vdCBpbXBsZW1lbnRlZCIAIWN1cnItPmlzQXRvbWljICYmICI2NC1iaXQgYXRvbWljIGxvYWQgbm90IGltcGxlbWVudGVkIgByZXBsYWNlbWVudC0+dHlwZS5pc0Jhc2ljKCkgJiYgIkJhc2ljIHR5cGUgZXhwZWN0ZWQiAGluZm8tPnJlY0dyb3VwID09IG51bGxwdHIgJiYgImdyb3VwIGFscmVhZHkgYXNzaWduZWQiAFwiAF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIAIURlZmF1bHRUYXJnZXQgJiYgImJsb2NrIGhhcyBicmFuY2hlcyB3aXRob3V0IGEgZGVmYXVsdCAobnVsbHB0ciBmb3IgdGhlICIgImNvbmRpdGlvbikiAHN0cmluZygiACFpc1RlbXAoc2lnLnJlc3VsdHMpICYmICJMZWFraW5nIHRlbXBvcmFyeSB0eXBlISIAIWlzVGVtcChzaWcucGFyYW1zKSAmJiAiTGVha2luZyB0ZW1wb3JhcnkgdHlwZSEiACFpc1RlbXAoY29udGludWF0aW9uLnR5cGUpICYmICJMZWFraW5nIHRlbXBvcmFyeSB0eXBlISIAIWlzVGVtcCh0eXBlKSAmJiAiTGVha2luZyB0ZW1wb3JhcnkgdHlwZSEiACFpc1RlbXAoaGVhcFR5cGUpICYmICJMZWFraW5nIHRlbXBvcmFyeSB0eXBlISIAOzsgY3VzdG9tIHNlY3Rpb24gIgAiIC0+ICIALCAwLCAiACAgIgAhISFCQUQhISEAdHJ5IABhcnJheS5jb3B5IAB0YWJsZS5jb3B5IAAhIChtb2R1bGUgaGFzIG9ubHkgAHdhcm5pbmc6IEFzeW5jaWZ5IAAoYXJyYXkgAHdhcm5pbmc6IGVtcHR5IGxvY2FsIG5hbWUgYXQgaW5kZXggAE91dCBvZiBib3VuZHMgZnVuY3Rpb24gaW5kZXggAChvbiBpbmRleCAAT3V0IG9mIGJvdW5kcyBzdXBlcnR5cGUgaW5kZXggAGludmFsaWQgdHlwZSBpbmRleCAAcmV0aHJvdyAAdGFibGUuZ3JvdyAAbmV3IABhcnJheS5nZXRfdSAAc3RydWN0LmdldF91IAAgPSB6ZXh0IAAobXV0IABzdHJpbmcuY29uc3QgAHJlZi50ZXN0IABtYXgtZnVuYy1wYXJhbXMgbmVlZHMgdG8gYmUgYXQgbGVhc3QgAGJyX29uX2Nhc3QgAHJlZi5jYXN0IABleHBvcnQgAGltcG9ydCAAd2FzbTJqcyBjYW5ub3QgY29udmVydCAAYmFkIHNlZ21lbnQgZmxhZ3MsIG11c3QgYmUgMCwgMSwgb3IgMiwgbm90IAAgcGFyYW1ldGVycywgZ290IAAoY29udCAAKG9uIGFyZ3VtZW50IABiYWQgbW9kdWxlIGVsZW1lbnQgAChyZXN1bHQgAFtob3N0IGxpbWl0IABhcnJheS5zZXQgAHN0cnVjdC5zZXQgAGxvY2FsLnNldCAAZ2xvYmFsLnNldCAAdGFibGUuc2V0IABhcnJheS5nZXQgAHN0cnVjdC5nZXQgAGxvY2FsLmdldCAAZ2xvYmFsLmdldCAAdGFibGUuZ2V0IAByZXR1cm5fY2FsbF9pbmRpcmVjdCAAc2VsZWN0IAB0dXBsZS5leHRyYWN0IAAgKGF0IABhdHRlbXB0ZWQgcG9wIGZyb20gZW1wdHkgc3RhY2sgLyBiZXlvbmQgYmxvY2sgc3RhcnQgYm91bmRhcnkgYXQgAGJhZCB1c2VyIHNlY3Rpb24gc2l6ZSwgc3RhcnRlZCBhdCAAYmFkIHNlY3Rpb24gc2l6ZSwgc3RhcnRlZCBhdCAAYCBleHBlY3RzIABTZWdtZW50IGRhdGEgbm90IGZvdW5kIGJldHdlZW4gc3ltYm9scyAAIGJ1dCB0aGUgZnVuY3Rpb24gdHlwZSBpcyAAZm9sbG93aW5nIG5vZGUgaGFzIAAKKG1hcmtlZCBhcyAAaW1wb3J0ICogYXMgAGFycmF5LmdldF9zIABzdHJ1Y3QuZ2V0X3MgAGV4cHIgAGFkZFNldFVzZXMgZm9yIABJbnZhbGlkIHJlZmVyZW5jZSB0eXBlIGZvciAAIGZvciBwYXJhbWV0ZXIgAGJyIABleHBvcnQgdmFyIAB0dXBsZS5kcm9wIABVbmhhbmRsZWQgYmluYXJ5IG9wIABbdHJhcCAAJ3Mgc3RhdGUgaXMgc2V0IGJhc2VkIG9uIHRoZSBvbmx5LWxpc3QgdG8gAG51bWJlciBvZiBkYXRhIHNlZ21lbnRzLiBSdW4gdGhlIGxpbWl0LXNlZ21lbnRzIHBhc3MgdG8gACBjYW4gY2hhbmdlIHRoZSBzdGF0ZSBkdWUgdG8gACAgZHVlIHRvIAAgbm90IGJlaW5nIGVxdWFsIHRvIG5ldyBwb3NpdGlvbiAAbm9uLWNvbnRpbnVhdGlvbiB0eXBlIGluIHJlc3VtZSBpbnN0cnVjdGlvbiAAW1Bhc3NSdW5uZXJdIHJ1bm5pbmcgcGFzc2VzIG9uIGZ1bmN0aW9uIABudW1iZXIgb2YgcGFyYW1ldGVycyBpbiBmdW5jdGlvbiAAW3dhc20tdmFsaWRhdG9yIGVycm9yIGluIGZ1bmN0aW9uIAApIGJyb2tlIHZhbGlkYXRpb24gb2YgZnVuY3Rpb24gAEltcG9ydGVkIGZ1bmN0aW9uIAAgb24gAG5vdGUgb3JpZ2luIAAKc3RhcnQgYSB0cmFjZSAoaW4gAAo7IHN0YXJ0IExIUyAoaW4gAF5eIHN1c3BpY2lvdXMgY29uc3RhbnQgaW5wdXRzISBtaXNzaW5nIG9wdGltaXphdGlvbiBpbiAAXl4gc3VzcGljaW91cyBpZGVudGljYWwgaW5wdXRzISBtaXNzaW5nIG9wdGltaXphdGlvbiBpbiAAZXhwcmVzc2lvbiBzZWVuIG1vcmUgdGhhbiBvbmNlIGluIHRoZSB0cmVlIGluIABzdGFsZSB0eXBlIGZvdW5kIGluIAAgcmVzdWx0ZWQgaW4gACwgaW4gAGxhbmUgaW5kZXggbXVzdCBiZSBsZXNzIHRoYW4gAEJhZCB0eXBlIGZvcm0gACBjYW5ub3QgYmUgaW1wb3J0ZWQgZnJvbSAAYXJyYXkuaW5pdF9lbGVtIAAocGFyYW0gAGJyX29uX25vbl9udWxsIABicl9vbl9udWxsIAByZWYubnVsbCAAYXJyYXkuZmlsbCAAdGFibGUuZmlsbCAAcmV0dXJuX2NhbGwgAGNhdGNoX2FsbCAAYnJfb25fY2FzdF9mYWlsIABmaW5hbCAAICBhbmQgdGhhdCBpcyBzZXQgdG8gbG9jYWwgAChnbG9iYWwgAChvbiBnbG9iYWwgACB0b29rIAAgPSBibG9jayAAcGhpIABJbnZhbGlkIHR5cGUgZGVmaW5pdGlvbiB3aXRoIABjYXRjaCAAd2FybmluZzogYWN0aXZlIG1lbW9yeSBzZWdtZW50cyBoYXZlIG92ZXJsYXAsIHdoaWNoIABleHRyYWN0aW5nIABbUGFzc1J1bm5lcl0gcnVubmluZyAAY2FsbGluZyAALCBzZWVpbmcgACh0YWcgAEZvdW5kIG9ubHkgb25lIG9mIABicl9pZiAAcmV0dXJuX2NhbGxfcmVmIABjYXRjaF9hbGxfcmVmIABjYXRjaF9yZWYgAFtyZWYgAChyZWYgAHRhYmxlLnNpemUgADs7ICAgZXh0cmEgZHlsaW5rIGRhdGEsIHNpemUgACIsIHNpemUgAGRlbGVnYXRlIABjYXNlIAB3YXJuaW5nOiBmZWF0dXJlIAAgKHR5cGUgAGAgZXhwZWN0cyB0eXBlIABpbnZhbGlkIHNpZ25hdHVyZSB0eXBlIAByZXRocm93IHRhcmdldCBjYW5ub3QgdXNlIGludGVybmFsIG5hbWUgAHRoZSBuYW1lIAAgKHRhYmxlIAB0dXBsZS5tYWtlIABTb21lIFZNcyBtYXkgbm90IGFjY2VwdCB0aGlzIGJpbmFyeSBiZWNhdXNlIGl0IGhhcyBhIGxhcmdlIABsb2NhbC50ZWUgAGJhZCBub2RlIGNvZGUgACwgc2hvdWxkIGJlIAAgYnV0IGZvdW5kIABjb25kIABzdHJ1Y3QubmV3IG9wZXJhbmQgACkgYW5kIAAgKGZpZWxkIAB3YXJuaW5nOiB1bmtub3duIG5hbWUgc3Vic2VjdGlvbiB3aXRoIGlkIABiYWQgaGVhcCB0eXBlOiBleHBlY3RlZCAAIHBsdXMgcGF5bG9hZCAAcGMgAHJlZi5mdW5jIAAoc3ViIABhcnJheS5pbml0X2RhdGEgAFthc3luY2lmeV0gAFtQYXNzUnVubmVyXSAAW3dhc20tdmFsaWRhdG9yIGVycm9yIGluIG1vZHVsZV0gAE5PREUgADs7QCAAID0+IAAgPiAAID09IAAgIT0gACA9IAA7IABVbmhhbmRsZWQgdHlwZSBpbiB1bmFyeTogAFVuaGFuZGxlZCB0eXBlIGluIGJpbmFyeTogAGludmFsaWQgY29kZSBhZnRlciBtaXNjIHByZWZpeDogAGludmFsaWQgY29kZSBhZnRlciBhdG9taWMgcHJlZml4OiAAaW52YWxpZCBjb2RlIGFmdGVyIFNJTUQgcHJlZml4OiAAaW52YWxpZCBjb2RlIGFmdGVyIEdDIHByZWZpeDogAGludmFsaWQgc2lnbmF0dXJlIGluZGV4OiAAaW52YWxpZCBoZWFwIHR5cGUgaW5kZXg6IABpbnZhbGlkIHR5cGUgaW5kZXg6IAB1bmV4cGVjdGVkIHR5cGUgaW5kZXg6IABGdW5jdGlvbjo6Z2V0TG9jYWxJbmRleDogAGluIGEgbm9uLWZ1bmN0aW9uIGNvbnRleHQ6IABiYWQgbmFuIGlucHV0OiAAY2FsbCB0byB1bmlkZW5maWVkIGFzeW5jaWZ5IGltcG9ydDogAGNhbGxJbXBvcnQ6IHVua25vd24gaW1wb3J0OiAAaW1wb3J0R2xvYmFsczogdW5rbm93biBpbXBvcnQ6IABzdGFydDogADs7ICAgbWVtb3J5YWxpZ25tZW50OiAAOzsgICB0YWJsZWFsaWdubWVudDogAGJhZCBhbGlnbm1lbnQ6IABpbnZhbGlkIGNhbGwgdGFyZ2V0OiAAaW52YWxpZCBpNjQgZm9ybWF0OiAAaW52YWxpZCBmNjQgZm9ybWF0OiAAaW52YWxpZCBpMzIgZm9ybWF0OiAAaW52YWxpZCBmMzIgZm9ybWF0OiAALCBjb250ZW50czogAFtQYXNzUnVubmVyXSAgIHJ1bm5pbmcgcGFzczogAENvdWxkIG5vdCBmaW5kIHBhc3M6IABiYWQgaW5wdXQgdHlwZSBmb3IgcmVmLmFzOiAAVW5oYW5kbGVkIHVuYXJ5IG9wZXJhdG9yOiAAVW5oYW5kbGVkIGJpbmFyeSBmbG9hdCBvcGVyYXRvcjogAEludGVybmFsIEdsb2JhbFR5cGVSZXdyaXRlciBidWlsZCBlcnJvcjogAGxpc3QgY29udGFpbmVkIGEgbm9uLW1hdGNoaW5nIHBhdHRlcm46IABwYXJzZSBleGNlcHRpb246IAAKOyBmdW5jdGlvbjogAHdhcm5pbmc6IG1lbW9yeSBpbmRleCBvdXQgb2YgYm91bmRzIGluIG5hbWUgc2VjdGlvbiwgbWVtb3J5IHN1YnNlY3Rpb246IAB3YXJuaW5nOiBmdW5jdGlvbiBpbmRleCBvdXQgb2YgYm91bmRzIGluIG5hbWUgc2VjdGlvbiwgZnVuY3Rpb24gc3Vic2VjdGlvbjogAHdhcm5pbmc6IGVsZW0gaW5kZXggb3V0IG9mIGJvdW5kcyBpbiBuYW1lIHNlY3Rpb24sIGVsZW0gc3Vic2VjdGlvbjogAHdhcm5pbmc6IGZ1bmN0aW9uIGluZGV4IG91dCBvZiBib3VuZHMgaW4gbmFtZSBzZWN0aW9uLCBsb2NhbCBzdWJzZWN0aW9uOiAAd2FybmluZzogbG9jYWwgaW5kZXggb3V0IG9mIGJvdW5kcyBpbiBuYW1lIHNlY3Rpb24sIGxvY2FsIHN1YnNlY3Rpb246IAB3YXJuaW5nOiBnbG9iYWwgaW5kZXggb3V0IG9mIGJvdW5kcyBpbiBuYW1lIHNlY3Rpb24sIGdsb2JhbCBzdWJzZWN0aW9uOiAAd2FybmluZzogdGFnIGluZGV4IG91dCBvZiBib3VuZHMgaW4gbmFtZSBzZWN0aW9uLCB0YWcgc3Vic2VjdGlvbjogAHdhcm5pbmc6IHR5cGUgaW5kZXggb3V0IG9mIGJvdW5kcyBpbiBuYW1lIHNlY3Rpb24sIHR5cGUgc3Vic2VjdGlvbjogAHdhcm5pbmc6IG91dC1vZi1vcmRlciBuYW1lIHN1YnNlY3Rpb246IAB3YXJuaW5nOiB0YWJsZSBpbmRleCBvdXQgb2YgYm91bmRzIGluIG5hbWUgc2VjdGlvbiwgdGFibGUgc3Vic2VjdGlvbjogAHdhcm5pbmc6IGRhdGEgaW5kZXggb3V0IG9mIGJvdW5kcyBpbiBuYW1lIHNlY3Rpb24sIGRhdGEgc3Vic2VjdGlvbjogAHdhcm5pbmc6IG91dC1vZi1vcmRlciBkeWxpbmsuMCBzdWJzZWN0aW9uOiAAOzsgZmVhdHVyZXMgc2VjdGlvbjogAF0gKG9yaWdpbjogACdzIHR5cGUgbXVzdCBiZSBhIHNpZ25hdHVyZS4gR2l2ZW46IABGYXRhbDogAHdhcm5pbmc6IGNvdWxkIG5vdCBmaW5kIGdsb2JhbDogAHdhc20yanM6IHdhcm5pbmc6IGV4cG9ydCBuYW1lcyBjb2xsaWRpbmc6IABJbnZhbGlkIHJlZmVyZW5jZSB0eXBlIGZvciBhIGNhbGxfcmVmOiAAOzsgICBtZW1vcnlzaXplOiAAOzsgICB0YWJsZXNpemU6IAB1bmV4cGVjdGVkIHRydWU6IAB1c2Ugb2YgcG9wcGVkIGxhYmVsIGluIHNvdXJjZVRvVW5pcXVlOiAAYmFkIGxhYmVsIGluIHNvdXJjZVRvVW5pcXVlOiAAdW5leHBlY3RlZCBmYWxzZTogAE1pc3Npbmcgc2lnbmF0dXJlOiAAVW5oYW5kbGVkIHR5cGUgaW4gc3RvcmU6IAB1bnN1cHBvcnRlZCBleHBvcnQgdHlwZTogAGludmFsaWQgd2FzbSBoZWFwIHR5cGU6IABpbnZhbGlkIHdhc20gdHlwZTogAE1pc3NpbmcgdHlwZTogAENhbGwgdGFyZ2V0IGhhcyBpbnZhbGlkIHR5cGU6IABJbnZhbGlkIHR5cGU6IABwYXJzZWQgdHlwZSBkb2VzIG5vdCBtYXRjaCBleHBlY3RlZCB0eXBlOiAACiksIHR5cGU6IABsaXN0IGNvbnRhaW5lZCBhIG5vbi1leGlzdGluZyBmdW5jdGlvbiBuYW1lOiAAdW5rbm93biBtZW1vcnkgaW4gZ2V0TWVtb3J5TmFtZTogACwgYXZhaWxhYmxlOiAAJzogSW5wdXQgZmlsZSB0b28gbGFyZ2U6IABzZWN0aW9uIHNlZW4gbW9yZSB0aGFuIG9uY2U6IABjYXRjaCdzIHRhZyBuYW1lIGlzIGludmFsaWQ6IABnbG9iYWwncyB0eXBlIGlzIG5vdCBzdXBwb3J0ZWQ6IABleHBlY3RlZDogAAopLCByZXF1aXJlZDogAFVuaGFuZGxlZCB0eXBlIGluIGxvYWQ6IABVbmhhbmRsZWQgbnVtYmVyIG9mIGJ5dGVzIGluIGkzMiBsb2FkOiAAZnVuYzogADs7ICAgbmVlZGVkIGR5bmxpYjogAGludmFsaWQgbWVtb3J5IG5hbWUgaW4gaXNNZW1vcnk2NDogAGxpc3QgY29udGFpbmVkIGFuIGltcG9ydGVkIGZ1bmN0aW9uIG5hbWUgKHVzZSB0aGUgaW1wb3J0IGxpc3QgZm9yIGltcG9ydHMpOiAAJzogACI6IAAgOiAAaTMyeDQgAGk2NCAAIC8gAFVuYWJsZSB0byBtZXJnZSBzZWdtZW50cy4gAC4uLiAAICBiYXNlNjREZWNvZGVUb0V4aXN0aW5nVWludDhBcnJheShidWZmZXJWaWV3LCAAcG9seW1vcnBoaWMsIAAoOyB0ZW1wIDspIAAKICBmdW5jdGlvbiB3YXNtMmpzX2F0b21pY19ybXdfaTY0KG9wLCBieXRlcywgb2Zmc2V0LCBwdHIsIHZhbHVlTG93LCB2YWx1ZUhpZ2gpIHsKICAgIC8vIFRPRE86IHN1cHBvcnQgYnl0ZXM9MSwgMiwgNCBhcyB3ZWxsIGFzIDguCiAgICB2YXIgdmlldyA9IG5ldyBCaWdJbnQ2NEFycmF5KGJ1ZmZlclZpZXcuYnVmZmVyKTsgLy8gVE9ETyBjYWNoZQogICAgcHRyID0gKHB0ciArIG9mZnNldCkgPj4gMzsKICAgIHZhciB2YWx1ZSA9IEJpZ0ludCh2YWx1ZUxvdyA+Pj4gMCkgfCAoQmlnSW50KHZhbHVlSGlnaCA+Pj4gMCkgPDwgQmlnSW50KDMyKSk7CiAgICB2YXIgcmVzdWx0OwogICAgc3dpdGNoIChvcCkgewogICAgICBjYXNlIDA6IHsgLy8gQWRkCiAgICAgICAgcmVzdWx0ID0gQXRvbWljcy5hZGQodmlldywgcHRyLCB2YWx1ZSk7CiAgICAgICAgYnJlYWs7CiAgICAgIH0KICAgICAgY2FzZSAxOiB7IC8vIFN1YgogICAgICAgIHJlc3VsdCA9IEF0b21pY3Muc3ViKHZpZXcsIHB0ciwgdmFsdWUpOwogICAgICAgIGJyZWFrOwogICAgICB9CiAgICAgIGNhc2UgMjogeyAvLyBBbmQKICAgICAgICByZXN1bHQgPSBBdG9taWNzLmFuZCh2aWV3LCBwdHIsIHZhbHVlKTsKICAgICAgICBicmVhazsKICAgICAgfQogICAgICBjYXNlIDM6IHsgLy8gT3IKICAgICAgICByZXN1bHQgPSBBdG9taWNzLm9yKHZpZXcsIHB0ciwgdmFsdWUpOwogICAgICAgIGJyZWFrOwogICAgICB9CiAgICAgIGNhc2UgNDogeyAvLyBYb3IKICAgICAgICByZXN1bHQgPSBBdG9taWNzLnhvcih2aWV3LCBwdHIsIHZhbHVlKTsKICAgICAgICBicmVhazsKICAgICAgfQogICAgICBjYXNlIDU6IHsgLy8gWGNoZwogICAgICAgIHJlc3VsdCA9IEF0b21pY3MuZXhjaGFuZ2UodmlldywgcHRyLCB2YWx1ZSk7CiAgICAgICAgYnJlYWs7CiAgICAgIH0KICAgICAgZGVmYXVsdDogdGhyb3cgJ2JhZCBvcCc7CiAgICB9CiAgICB2YXIgbG93ID0gTnVtYmVyKHJlc3VsdCAmIEJpZ0ludCgweGZmZmZmZmZmKSkgfCAwOwogICAgdmFyIGhpZ2ggPSBOdW1iZXIoKHJlc3VsdCA+PiBCaWdJbnQoMzIpKSAmIEJpZ0ludCgweGZmZmZmZmZmKSkgfCAwOwogICAgc3Rhc2hlZEJpdHMgPSBoaWdoOwogICAgcmV0dXJuIGxvdzsKICB9CiAgICAgIAAKICBmdW5jdGlvbiB3YXNtMmpzX2F0b21pY193YWl0X2kzMihvZmZzZXQsIHB0ciwgZXhwZWN0ZWQsIHRpbWVvdXRMb3csIHRpbWVvdXRIaWdoKSB7CiAgICBwdHIgPSAocHRyICsgb2Zmc2V0KSA+PiAyOwogICAgdmFyIHRpbWVvdXQgPSBJbmZpbml0eTsKICAgIGlmICh0aW1lb3V0SGlnaCA+PSAwKSB7CiAgICAgIC8vIENvbnZlcnQgZnJvbSBuYW5vc2Vjb25kcyB0byBtaWxsaXNlY29uZHMKICAgICAgLy8gVGFrZW4gZnJvbSBjb252ZXJ0STMyUGFpclRvSTUzIGluIGVtc2NyaXB0ZW4ncyBsaWJyYXJ5X2ludDUzLmpzCiAgICAgIHRpbWVvdXQgPSAoKHRpbWVvdXRMb3cgPj4+IDApIC8gMWU2KSArIHRpbWVvdXRIaWdoICogKDQyOTQ5NjcyOTYgLyAxZTYpOwogICAgfQogICAgdmFyIHZpZXcgPSBuZXcgSW50MzJBcnJheShidWZmZXJWaWV3LmJ1ZmZlcik7IC8vIFRPRE8gY2FjaGUKICAgIHZhciByZXN1bHQgPSBBdG9taWNzLndhaXQodmlldywgcHRyLCBleHBlY3RlZCwgdGltZW91dCk7CiAgICBpZiAocmVzdWx0ID09ICdvaycpIHJldHVybiAwOwogICAgaWYgKHJlc3VsdCA9PSAnbm90LWVxdWFsJykgcmV0dXJuIDE7CiAgICBpZiAocmVzdWx0ID09ICd0aW1lZC1vdXQnKSByZXR1cm4gMjsKICAgIHRocm93ICdiYWQgcmVzdWx0ICcgKyByZXN1bHQ7CiAgfQogICAgICAACiAgdmFyIHN0YXNoZWRCaXRzID0gMDsKCiAgZnVuY3Rpb24gd2FzbTJqc19nZXRfc3Rhc2hlZF9iaXRzKCkgewogICAgcmV0dXJuIHN0YXNoZWRCaXRzOwogIH0KICAgICAgAAogIGZ1bmN0aW9uIHdhc20yanNfc2NyYXRjaF9zdG9yZV9pMzIoaW5kZXgsIHZhbHVlKSB7CiAgICBpMzJTY3JhdGNoVmlld1tpbmRleF0gPSB2YWx1ZTsKICB9CiAgICAgIAAKICBmdW5jdGlvbiB3YXNtMmpzX3NjcmF0Y2hfc3RvcmVfZjMyKHZhbHVlKSB7CiAgICBmMzJTY3JhdGNoVmlld1syXSA9IHZhbHVlOwogIH0KICAgICAgAAogIGZ1bmN0aW9uIHdhc20yanNfc2NyYXRjaF9zdG9yZV9mNjQodmFsdWUpIHsKICAgIGY2NFNjcmF0Y2hWaWV3WzBdID0gdmFsdWU7CiAgfQogICAgICAACiAgZnVuY3Rpb24gd2FzbTJqc19zY3JhdGNoX2xvYWRfaTMyKGluZGV4KSB7CiAgICByZXR1cm4gaTMyU2NyYXRjaFZpZXdbaW5kZXhdOwogIH0KICAgICAgAAogIGZ1bmN0aW9uIHdhc20yanNfc2NyYXRjaF9sb2FkX2YzMigpIHsKICAgIHJldHVybiBmMzJTY3JhdGNoVmlld1syXTsKICB9CiAgICAgIAAKICBmdW5jdGlvbiB3YXNtMmpzX3NjcmF0Y2hfbG9hZF9mNjQoKSB7CiAgICByZXR1cm4gZjY0U2NyYXRjaFZpZXdbMF07CiAgfQogICAgICAACiAgZnVuY3Rpb24gd2FzbTJqc19tZW1vcnlfaW5pdChzZWdtZW50LCBkZXN0LCBvZmZzZXQsIHNpemUpIHsKICAgIC8vIFRPRE86IHRyYXBzIG9uIGludmFsaWQgdGhpbmdzCiAgICBidWZmZXJWaWV3LnNldChtZW1vcnlTZWdtZW50c1tzZWdtZW50XS5zdWJhcnJheShvZmZzZXQsIG9mZnNldCArIHNpemUpLCBkZXN0KTsKICB9CiAgICAgIAAKICBmdW5jdGlvbiB3YXNtMmpzX21lbW9yeV9maWxsKGRlc3QsIHZhbHVlLCBzaXplKSB7CiAgICBkZXN0ID0gZGVzdCA+Pj4gMDsKICAgIHNpemUgPSBzaXplID4+PiAwOwogICAgaWYgKGRlc3QgKyBzaXplID4gYnVmZmVyVmlldy5sZW5ndGgpIHRocm93ICJ0cmFwOiBpbnZhbGlkIG1lbW9yeS5maWxsIjsKICAgIGJ1ZmZlclZpZXcuZmlsbCh2YWx1ZSwgZGVzdCwgZGVzdCArIHNpemUpOwogIH0KICAgICAgAAogIGZ1bmN0aW9uIHdhc20yanNfbWVtb3J5X2NvcHkoZGVzdCwgc291cmNlLCBzaXplKSB7CiAgICAvLyBUT0RPOiB0cmFwcyBvbiBpbnZhbGlkIHRoaW5ncwogICAgYnVmZmVyVmlldy5jb3B5V2l0aGluKGRlc3QsIHNvdXJjZSwgc291cmNlICsgc2l6ZSk7CiAgfQogICAgICAACiAgZnVuY3Rpb24gd2FzbTJqc19kYXRhX2Ryb3Aoc2VnbWVudCkgewogICAgLy8gVE9ETzogdHJhcHMgb24gaW52YWxpZCB0aGluZ3MKICAgIG1lbW9yeVNlZ21lbnRzW3NlZ21lbnRdID0gbmV3IFVpbnQ4QXJyYXkoMCk7CiAgfQogICAgICAACiAgdmFyIHNjcmF0Y2hCdWZmZXIgPSBuZXcgQXJyYXlCdWZmZXIoMTYpOwogIHZhciBpMzJTY3JhdGNoVmlldyA9IG5ldyBJbnQzMkFycmF5KHNjcmF0Y2hCdWZmZXIpOwogIHZhciBmMzJTY3JhdGNoVmlldyA9IG5ldyBGbG9hdDMyQXJyYXkoc2NyYXRjaEJ1ZmZlcik7CiAgdmFyIGY2NFNjcmF0Y2hWaWV3ID0gbmV3IEZsb2F0NjRBcnJheShzY3JhdGNoQnVmZmVyKTsKICAAZnVuY3Rpb24gd2FzbTJqc190cmFwKCkgeyB0aHJvdyBuZXcgRXJyb3IoJ2Fib3J0Jyk7IH0KAAogIH0KACAgcmV0dXJuIGFzbUZ1bmMoaW5mbyk7Cn0KACh7CgAiOiB7CgAgIHJldC5ncm93ID0gZnVuY3Rpb24oYnkpIHsKAGZ1bmN0aW9uIFRhYmxlKHJldCkgewoAZnVuY3Rpb24gaW5pdEFjdGl2ZVNlZ21lbnRzKGltcG9ydHMpIHsKACAgcmV0LmdldCA9IGZ1bmN0aW9uKGkpIHsKACAgcmV0LnNldCA9IGZ1bmN0aW9uKGksIGZ1bmMpIHsKAHdhcm5pbmc6IGNhbm5vdCBkZS1uYW4gb3V0c2lkZSBvZiBmdW5jdGlvbiBjb250ZXh0CgB3YXJuaW5nOiBubyBEV0FSRiBkdW1waW5nIHN1cHBvcnQgcHJlc2VudAoAbm9uLWNvbnN0YW50IG9mZnNldHMgYXJlbid0IHN1cHBvcnRlZCB5ZXQKAGNvdWxkIG5vdCBmaW5kIHRoZSBmdW5jdGlvbiB0byBleHRyYWN0CgAgZ2V0cwoAKSBicm9rZSB2YWxpZGF0aW9uLiBSdW4gd2l0aCBCSU5BUllFTl9QQVNTX0RFQlVHPTIgaW4gdGhlIGVudiB0byBzZWUgdGhlIGVhcmxpZXIgc3RhdGUsIG9yIDMgdG8gZHVtcCBieW4tKiBmaWxlcyBmb3IgZWFjaCBwYXNzCgBUT0RPOiBzaWRlIGVmZmVjdHMgaW4gcmVtb3ZlZCBmaWVsZHMgaW4gZ2xvYmFscwoAIHVzZXMKAGdldFVzZXMKAHdhc20yanMgZG9lc24ndCBzdXBwb3J0IG5vbi1mdW5jdGlvbiB0YWJsZXMKAGFkZCBudWxscHRyCgBmb3VuZCBleHRlcm5hbCB1c2UgZm9yCgA7OyBkeWxpbmsgc2VjdGlvbgoAd2FybmluZzogaW52YWxpZCBmaWVsZCBpbmRleCBpbiBuYW1lIGZpZWxkIHNlY3Rpb24KACBjYW4gY2hhbmdlIHRoZSBzdGF0ZSBkdWUgdG8gaW5pdGlhbCBzY2FuCgAgZnJvbQoAIjsgLy8gY2FsbAoAYWRkIGEgdmFsdWUKACBpcyBhbiBpbXBvcnQgdGhhdCBjYW4gY2hhbmdlIHRoZSBzdGF0ZQoAZmluYWwgbW9kdWxlIGRvZXMgbm90IHZhbGlkYXRlCgAgaXMgaW4gdGhlIHJlbW92ZS1saXN0LCBpZ25vcmUKACAgLy8gZ3JvdyBtZXRob2Qgbm90IGluY2x1ZGVkOyB0YWJsZSBpcyBub3QgZ3Jvd2FibGUKAHdhc20yanMgZG9lc24ndCBzdXBwb3J0IGEgdGFibGUgdGhhdCBpcyBib3RoIGltcG9ydGVkIGFuZCBleHBvcnRlZAoAIGlzIGluIHRoZSBhZGQtbGlzdCwgYWRkCgA/IF5eCgAgY29uZHMpXQoALy8gRU1TQ1JJUFRFTl9TVEFSVF9GVU5DUwoALy8gRU1TQ1JJUFRFTl9FTkRfRlVOQ1MKACAgdmFyIG1lbW9yeVNlZ21lbnRzID0ge307CgAgIH07CgAgICAgdGhpcy5sZW5ndGggPSB0aGlzLmxlbmd0aCArIGJ5OwoAICB2YXIgYnVmZmVyVmlldzsKACAgcmV0dXJuIHJldDsKACAgICB2YXIgb2xkID0gdGhpcy5sZW5ndGg7CgAgICAgcmV0dXJuIG9sZDsKACAgICB0aGlzW2ldID0gZnVuYzsKACAgICByZXR1cm4gdGhpc1tpXTsKAGRpZ3JhcGggY2FsbCB7CiAgcmFua2RpciA9IExSOwogIHN1YmdyYXBoIGNsdXN0ZXJfa2V5IHsKICAgIG5vZGUgW3NoYXBlPWJveCwgZm9udG5hbWU9Y291cmllciwgZm9udHNpemU9MTBdOwogICAgZWRnZSBbZm9udG5hbWU9Y291cmllciwgZm9udHNpemU9MTBdOwogICAgbGFiZWwgPSAiS2V5IjsKICAgICJJbXBvcnQiIFtzdHlsZT0iZmlsbGVkIiwgZmlsbGNvbG9yPSJ0dXJxdW9pc2UiXTsKICAgICJFeHBvcnQiIFtzdHlsZT0iZmlsbGVkIiwgZmlsbGNvbG9yPSJncmF5Il07CiAgICAiSW5kaXJlY3QgVGFyZ2V0IiBbc3R5bGU9ImZpbGxlZCwgcm91bmRlZCIsIGZpbGxjb2xvcj0id2hpdGUiXTsKICAgICJBIiAtPiAiQiIgW3N0eWxlPSJmaWxsZWQsIHJvdW5kZWQiLCBsYWJlbCA9ICJEaXJlY3QgQ2FsbCJdOwogIH0KCiAgbm9kZSBbc2hhcGU9Ym94LCBmb250bmFtZT1jb3VyaWVyLCBmb250c2l6ZT0xMF07CgAiIFtzdHlsZT0iZmlsbGVkIiwgZmlsbGNvbG9yPSJncmF5Il07CgAiIFtzdHlsZT0iZmlsbGVkIiwgZmlsbGNvbG9yPSJ3aGl0ZSJdOwoAIiBbc3R5bGU9ImZpbGxlZCIsIGZpbGxjb2xvcj0idHVycXVvaXNlIl07CgAiIFtzdHlsZT0iZmlsbGVkLCByb3VuZGVkIl07CgB9KTsKACIpOwoAJzsKAAoKQW5kIGhlcmUgaXQgaXMgbm93OgoALiBIZXJlIGlzIHRoZSBmdW5jdGlvbiBib2R5IGJlZm9yZToKACAxOmkxCgBtZXJnZSBzZWdtZW50cy4KAHByZXZlbnRzIHNvbWUgb3B0aW1pemF0aW9ucy4KACAgfSwKAFtQYXNzUnVubmVyXSAoZmluYWwgdmFsaWRhdGlvbikKAFtQYXNzUnVubmVyXSAgICh2YWxpZGF0aW5nKQoAZXhpdCgpCgB3YXJuaW5nOiBsaW5raW5nIHNlY3Rpb24gaXMgcHJlc2VudCwgc28gdGhpcyBpcyBub3QgYSBzdGFuZGFyZCB3YXNtIGZpbGUgLSBiaW5hcnllbiBjYW5ub3QgaGFuZGxlIHRoaXMgcHJvcGVybHkhCgBPdXQgb2YgbWVtb3J5IGFsbG9jYXRpbmcgJXpkIGJ5dGVzIGZvciBvdXRwdXQgYnVmZmVyIQoALCBvbiAKACkgYnJva2UgdmFsaWRhdGlvbi4gSGVyZSBpcyB0aGUgbW9kdWxlIGJlZm9yZTogCgB9CgoAY2Fubm90IHlldCBwcmludCAlcwoKAE40d2FzbTI0Q29uc3RhbnRFeHByZXNzaW9uUnVubmVySU5TXzE3Q0V4cHJlc3Npb25SdW5uZXJFRTIwTm9uY29uc3RhbnRFeGNlcHRpb25FAACkvQIAltUBAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAEGkrAcLJmZXAABnVwAAnAAAAGhXAABpVwAAalcAAGtXAABsVwAAbVcAAG5XAEHUrAcL+wFvVwAAcFcAAHFXAAChAAAAclcAAHNXAAB0VwAAdVcAAHZXAAB3VwAAeFcAAHlXAAB6VwAAe1cAAHxXAAB9VwAAflcAAH9XAACAVwAAgVcAAIJXAACDVwAAhFcAAIVXAACGVwAAh1cAAIhXAACJVwAAilcAAItXAABONHdhc20xM0V4aXRFeGNlcHRpb25FAACkvQIAzNYBAE40d2FzbTEzV2FzbUV4Y2VwdGlvbkUAAKS9AgDs1gEATjR3YXNtMTNUcmFwRXhjZXB0aW9uRQAApL0CAAzXAQBONHdhc20xOEhvc3RMaW1pdEV4Y2VwdGlvbkUApL0CACzXAQBB2K4HCxKMVwAAjVcAAI5XAACPVwAAkFcAQfSuBwsSjFcAAJFXAACOVwAAj1cAAJBXAEGQrwcLEpJXAACTVwAAlFcAAJVXAACWVwBBrK8HCxKSVwAAl1cAAJRXAACVVwAAllcAQcivBwsamFcAAJlXAACaVwAAm1cAAJxXAACdVwAAnlcAQeyvBwtZn1cAAKBXAAChVwAAolcAAKNXAACkVwAApVcAAAEAAAACAAAABAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAEAAAACAAAAAYAAAAGAAAABgAAAAYAQdiwBwuGAQEAAAACAAAABAAAAAgAAAABAAAAAgAAAAQAAAAIAAAATjR3YXNtMTdNYXBQYXJzZUV4Y2VwdGlvbkUAAKS9AgB42AEA9G8AABkKAAAT1QAAPl4AAD0yAABQJwAABFABALO2AACuZgAAf+UAAMw0AQCAUQEAiSUBAAcpAABxYAAAvgkAAHpaAEHosQcLGqZXAACnVwAAqFcAAKlXAACqVwAAq1cAAKxXAEGMsgcLGq1XAACuVwAAr1cAALBXAACxVwAAslcAALNXAEGwsgcLGq1XAAC0VwAAtVcAALZXAAC3VwAAuFcAABIIAEHUsgcLGrlXAAC6VwAAu1cAALxXAAC9VwAAvlcAAL9XAEH4sgcLvAG5VwAAwFcAAMFXAADCVwAAw1cAAMRXAAATCAAAAAAAAO//////////8P/////////u/////////+3/////////7P/////////r/////////+r/////////6f/////////n/////////+b/////////4v/////////h//////////H/////////8v/////////z/////////wH/////////wP///8D//////////v////3////8////+////wBB0LQHC+EDAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAACAAAAAwAAAAIAAAACAAAAAwAAAAMAAAADAAAAAgAAAAMAAAACAAAAAgAAAAMAAAADAAAAAwAAAAIAAAADAAAAAgAAAAIAAAADAAAAAwAAAAMAAAACAAAAAwAAAAIAAAACAAAAAwAAAAMAAAADAAAAAgAAAAMAAAACAAAAAgAAAAMAAAADAAAAAwAAAAIAAAADAAAAAgAAAAIAAAADAAAAAwAAAAMAAAAECAECAQIEBAgBAgECBAQIAQIBAgQECAECAQIEBAgBAgECBAQIAQIBAgQAAAIAAAADAAAAAgAAAAIAAAADAAAAAwAAAAMAAAAAAAAAAQAAAAAAAAACAAAAAwAAAAAAAAAEAAAAAAAAAAUAAAAAAAAABgAAAAAAAAAHAAAAEAAA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AG1XAACmWQBB+OUHC4cBp1kAAKhZAACpWQAAqlkAAOpXAADrVwAAa1cAAGxXAABtVwAAq1kAAEjVAgBQ1QIAWNUCAGDVAgBw1QIAeNUCAIDVAgCI1QIAkNUCAJjVAgCg1QIAqNUCALDVAgC41QIAwNUCAMjVAgDQ1QIA2NUCAODVAgDo1QIA8NUCAPjVAgAA1gIACNYCAEGI5wcLJqxZAACtWQAArlkAAK9ZAACwWQAAsVkAAGtXAABsVwAAbVcAAG5XAEG45wcLJv9XAACyWQAAs1kAAOlXAADqVwAA61cAAGtXAABsVwAAbVcAAG5XAEHo5wcLJrRZAAC1WQAAiCgAALZZAADqVwAA61cAAGtXAABsVwAAbVcAAG5XAEGY6AcLJrdZAAC4WQAAiSgAALlZAADqVwAA61cAAGtXAABsVwAAbVcAAG5XAEHI6AcLJrpZAAC7WQAAiigAALxZAADqVwAA61cAAGtXAABsVwAAbVcAAG5XAEH46AcLJv9XAAC9WQAAvlkAAOlXAADqVwAA61cAAGtXAABsVwAAbVcAAG5XAEGo6QcLGoFZAAC/WQAAwFkAAMFZAADCWQAAw1kAAMRZAEHM6QcLJsVZAADGWQAAx1kAAOlXAADqVwAA61cAAGtXAABsVwAAbVcAAMhZAEH86QcLJslZAADKWQAApykAAMtZAADMWQAAzVkAAGtXAABsVwAAbVcAAG5XAEGs6gcLJv9XAADOWQAAz1kAAOlXAADqVwAA61cAAGtXAABsVwAAbVcAAG5XAEHc6gcLJtBZAADRWQAA0lkAANNZAADUWQAA1VkAAGtXAADWWQAAbVcAAG5XAEGM6wcLJtdZAADYWQAA2VkAANpZAADbWQAA3FkAAGtXAABsVwAA3VkAAG5XAEG86wcLJt5ZAADfWQAA4FkAAOFZAADqVwAA61cAAGtXAABsVwAAbVcAAOJZAEHs6wcLJuNZAADkWQAA5VkAAOZZAADnWQAA6FkAAGtXAABsVwAAbVcAAG5XAEGc7AcLJulZAADqWQAA61kAAOxZAADqVwAA61cAAGtXAABsVwAAbVcAAG5XAEHM7AcLJv9XAADtWQAA7lkAAOlXAADqVwAA61cAAGtXAABsVwAA71kAAG5XAEH87AcLJvBZAADxWQAAvC0AAPJZAADzWQAA9FkAAGtXAABsVwAA9VkA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YXNtX2N0el9pNjQsIHdoaWNoIHdhcyB3cm9uZyBzb21laG93LAo7OyAgICBpMzIsIGkzMiA9PiBpMzIgaW5zdGVhZCBvZiBpNjQgPT4gaTY0Cjs7ICAqIFJlbW92ZSB1bm5lY2Vzc2FyeSBtZW1vcnkgaW1wb3J0Lgo7Owo7OyBbMV06IGh0dHBzOi8vZ2lzdC5naXRodWIuY29tL2FsZXhjcmljaHRvbi9lN2VhNjdiY2RkMTdjZTRiNjI1NGU2NmY3NzE2NTY5MAoKKG1vZHVsZQogKHR5cGUgJDAgKGZ1bmMgKHBhcmFtIGk2NCBpNjQpIChyZXN1bHQgaTY0KSkpCiAodHlwZSAkMSAoZnVuYyAocGFyYW0gZjMyKSAocmVzdWx0IGYzMikpKQogKHR5cGUgJDIgKGZ1bmMgKHBhcmFtIGY2NCkgKHJlc3VsdCBmNjQpKSkKICh0eXBlICQzIChmdW5jIChwYXJhbSBpMzIpIChyZXN1bHQgaTMyKSkpCiAodHlwZSAkNCAoZnVuYyAocGFyYW0gaTMyIGkzMikgKHJlc3VsdCBpMzIpKSkKICh0eXBlICQ1IChmdW5jIChwYXJhbSBpNjQpIChyZXN1bHQgaTY0KSkpCiAoZXhwb3J0ICJfX3dhc21faTY0X3NkaXYiIChmdW5jICRfX3dhc21faTY0X3NkaXYpKQogKGV4cG9ydCAiX193YXNtX2k2NF91ZGl2IiAoZnVuYyAkX193YXNtX2k2NF91ZGl2KSkKIChleHBvcnQgIl9fd2FzbV9pNjRfc3JlbSIgKGZ1bmMgJF9fd2FzbV9pNjRfc3JlbSkpCiAoZXhwb3J0ICJfX3dhc21faTY0X3VyZW0iIChmdW5jICRfX3dhc21faTY0X3VyZW0pKQogKGV4cG9ydCAiX193YXNtX2k2NF9tdWwiIChmdW5jICRfX3dhc21faTY0X211bCkpCiAoZXhwb3J0ICJfX3dhc21fY3R6X2kzMiIgKGZ1bmMgJF9fd2FzbV9jdHpfaTMyKSkKIChleHBvcnQgIl9fd2FzbV9jdHpfaTY0IiAoZnVuYyAkX193YXNtX2N0el9pNjQpKQogKGV4cG9ydCAiX193YXNtX3JvdGxfaTMyIiAoZnVuYyAkX193YXNtX3JvdGxfaTMyKSkKIChleHBvcnQgIl9fd2FzbV9yb3RyX2kzMiIgKGZ1bmMgJF9fd2FzbV9yb3RyX2kzMikpCiAoZXhwb3J0ICJfX3dhc21fcm90bF9pNjQiIChmdW5jICRfX3dhc21fcm90bF9pNjQpKQogKGV4cG9ydCAiX193YXNtX3JvdHJfaTY0IiAoZnVuYyAkX193YXNtX3JvdHJfaTY0KSkKIChleHBvcnQgIl9fd2FzbV9uZWFyZXN0X2YzMiIgKGZ1bmMgJF9fd2FzbV9uZWFyZXN0X2YzMikpCiAoZXhwb3J0ICJfX3dhc21fbmVhcmVzdF9mNjQiIChmdW5jICRfX3dhc21fbmVhcmVzdF9mNjQpKQogKGV4cG9ydCAiX193YXNtX3BvcGNudF9pMzIiIChmdW5jICRfX3dhc21fcG9wY250X2kzMikpCiAoZXhwb3J0ICJfX3dhc21fcG9wY250X2k2NCIgKGZ1bmMgJF9fd2FzbV9wb3BjbnRfaTY0KSkKIChnbG9iYWwgJF9fd2FzbS1pbnRyaW5zaWNzLXRlbXAtaTY0IChtdXQgaTY0KSAoaTY0LmNvbnN0IDApKQoKIDs7IGxvd2VyaW5nIG9mIHRoZSBpMzIucG9wY250IGluc3RydWN0aW9uLCBjb3VudHMgdGhlIG51bWJlciBvZiBiaXRzIHNldCBpbiB0aGUKIDs7IGlucHV0IGFuZCByZXR1cm5zIHRoZSByZXN1bHQKIChmdW5jICRfX3dhc21fcG9wY250X2kzMiAocGFyYW0gJHZhciQwIGkzMikgKHJlc3VsdCBpMzIpCiAgKGxvY2FsICR2YXIkMSBpMzIpCiAgKGJsb2NrICRsYWJlbCQxIChyZXN1bHQgaTMyKQogICAobG9vcCAkbGFiZWwkMgogICAgKGRyb3AKICAgICAoYnJfaWYgJGxhYmVsJDEKICAgICAgKGxvY2FsLmdldCAkdmFyJDEpCiAgICAgIChpMzIuZXF6CiAgICAgICAobG9jYWwuZ2V0ICR2YXIkMCkKICAgICAgKQogICAgICkKICAgICkKICAgIChsb2NhbC5zZXQgJHZhciQwCiAgICAgKGkzMi5hbmQKICAgICAgKGxvY2FsLmdldCAkdmFyJDApCiAgICAgIChpMzIuc3ViCiAgICAgICAobG9jYWwuZ2V0ICR2YXIkMCkKICAgICAgIChpMzIuY29uc3QgMSkKICAgICAgKQogICAgICkKICAgICkKICAgIChsb2NhbC5zZXQgJHZhciQxCiAgICAgKGkzMi5hZGQKICAgICAgKGxvY2FsLmdldCAkdmFyJDEpCiAgICAgIChpMzIuY29uc3QgMSkKICAgICApCiAgICApCiAgICAoYnIgJGxhYmVsJDIpCiAgICkKICApCiApCiA7OyBsb3dlcmluZyBvZiB0aGUgaTY0LnBvcGNudCBpbnN0cnVjdGlvbiwgY291bnRzIHRoZSBudW1iZXIgb2YgYml0cyBzZXQgaW4gdGhlCiA7OyBpbnB1dCBhbmQgcmV0dXJucyB0aGUgcmVzdWx0CiAoZnVuYyAkX193YXNtX3BvcGNudF9pNjQgKHBhcmFtICR2YXIkMCBpNjQpIChyZXN1bHQgaTY0KQogIChsb2NhbCAkdmFyJDEgaTY0KQogIChibG9jayAkbGFiZWwkMSAocmVzdWx0IGk2NCkKICAgKGxvb3AgJGxhYmVsJDIKICAgIChkcm9wCiAgICAgKGJyX2lmICRsYWJlbCQxCiAgICAgIChsb2NhbC5nZXQgJHZhciQxKQogICAgICAoaTY0LmVxegogICAgICAgKGxvY2FsLmdldCAkdmFyJDApCiAgICAgICkKICAgICApCiAgICApCiAgICAobG9jYWwuc2V0ICR2YXIkMAogICAgIChpNjQuYW5kCiAgICAgIChsb2NhbC5nZXQgJHZhciQwKQogICAgICAoaTY0LnN1YgogICAgICAgKGxvY2FsLmdldCAkdmFyJDApCiAgICAgICAoaTY0LmNvbnN0IDEpCiAgICAgICkKICAgICApCiAgICApCiAgICAobG9jYWwuc2V0ICR2YXIkMQogICAgIChpNjQuYWRkCiAgICAgIChsb2NhbC5nZXQgJHZhciQxKQogICAgICAoaTY0LmNvbnN0IDEpCiAgICAgKQogICAgKQogICAgKGJyICRsYWJlbCQyKQogICApCiAgKQogKQogOzsgbG93ZXJpbmcgb2YgdGhlIGk2NC5kaXZfcyBpbnN0cnVjdGlvbiwgcmV0dXJuICR2YXIwIC8gJHZhciQxCiAoZnVuYyAkX193YXNtX2k2NF9zZGl2ICg7IDAgOykgKHR5cGUgJDApIChwYXJhbSAkdmFyJDAgaTY0KSAocGFyYW0gJHZhciQxIGk2NCkgKHJlc3VsdCBpNjQpCiAgKGNhbGwgJF9aTjE3Y29tcGlsZXJfYnVpbHRpbnMzaW50NHNkaXYzRGl2M2RpdjE3aGU3OGZjNDgzZTQxZDdlYzdFCiAgIChsb2NhbC5nZXQgJHZhciQwKQogICAobG9jYWwuZ2V0ICR2YXIkMSkKICApCiApCiA7OyBsb3dlcmluZyBvZiB0aGUgaTY0LmRpdl91IGluc3RydWN0aW9uLCByZXR1cm4gJHZhcjAgLyAkdmFyJDEKIChmdW5jICRfX3dhc21faTY0X3VkaXYgKDsgMSA7KSAodHlwZSAkMCkgKHBhcmFtICR2YXIkMCBpNjQpIChwYXJhbSAkdmFyJDEgaTY0KSAocmVzdWx0IGk2NCkKICAoY2FsbCAkX1pOMTdjb21waWxlcl9idWlsdGluczNpbnQ0dWRpdjEwZGl2bW9kX3U2NDE3aDYwMjY5MTBiNWVkMDhlNDBFCiAgIChsb2NhbC5nZXQgJHZhciQwKQogICAobG9jYWwuZ2V0ICR2YXIkMSkKICApCiApCiA7OyBsb3dlcmluZyBvZiB0aGUgaTY0LnJlbV9zIGluc3RydWN0aW9uLCByZXR1cm4gJHZhcjAgJSAkdmFyJDEKIChmdW5jICRfX3dhc21faTY0X3NyZW0gKDsgMiA7KSAodHlwZSAkMCkgKHBhcmFtICR2YXIkMCBpNjQpIChwYXJhbSAkdmFyJDEgaTY0KSAocmVzdWx0IGk2NCkKICAoY2FsbCAkX1pOMTdjb21waWxlcl9idWlsdGluczNpbnQ0c2RpdjNNb2Q0bW9kXzE3aDJjYmI3YmJmMzZlNDFkNjhFCiAgIChsb2NhbC5nZXQgJHZhciQwKQogICAobG9jYWwuZ2V0ICR2YXIkMSkKICApCiApCiA7OyBsb3dlcmluZyBvZiB0aGUgaTY0LnJlbV91IGluc3RydWN0aW9uLCByZXR1cm4gJHZhcjAgJSAkdmFyJDEKIChmdW5jICRfX3dhc21faTY0X3VyZW0gKDsgMyA7KSAodHlwZSAkMCkgKHBhcmFtICR2YXIkMCBpNjQpIChwYXJhbSAkdmFyJDEgaTY0KSAocmVzdWx0IGk2NCkKICAoZHJvcAogICAoY2FsbCAkX1pOMTdjb21waWxlcl9idWlsdGluczNpbnQ0dWRpdjEwZGl2bW9kX3U2NDE3aDYwMjY5MTBiNWVkMDhlNDBFCiAgICAobG9jYWwuZ2V0ICR2YXIkMCkKICAgIChsb2NhbC5nZXQgJHZhciQxKQogICApCiAgKQogIChnbG9iYWwuZ2V0ICRfX3dhc20taW50cmluc2ljcy10ZW1wLWk2NCkKICkKIDs7IGxvd2VyaW5nIG9mIHRoZSBpNjQubXVsIGluc3RydWN0aW9uLCByZXR1cm4gJHZhcjAgKiAkdmFyJDEKIChmdW5jICRfX3dhc21faTY0X211bCAoOyA0IDspICh0eXBlICQwKSAocGFyYW0gJHZhciQwIGk2NCkgKHBhcmFtICR2YXIkMSBpNjQpIChyZXN1bHQgaTY0KQogIChjYWxsICRfWk4xN2NvbXBpbGVyX2J1aWx0aW5zM2ludDNtdWwzTXVsM211bDE3aDA3MGU5YTFjNjlmYWVjNWJFCiAgIChsb2NhbC5nZXQgJHZhciQwKQogICAobG9jYWwuZ2V0ICR2YXIkMSkKICApCiApCiA7OyBsb3dlcmluZyBvZiB0aGUgaTMyLmN0eiBpbnN0cnVjdGlvbiwgY291bnRpbmcgdGhlIG51bWJlciBvZiB6ZXJvcyBpbiAkdmFyJDAKIChmdW5jICRfX3dhc21fY3R6X2kzMiAoOyA3IDspICh0eXBlICQzKSAocGFyYW0gJHZhciQwIGkzMikgKHJlc3VsdCBpMzIpCiAgKGlmCiAgIChsb2NhbC5nZXQgJHZhciQwKQogICAodGhlbgogICAgKHJldHVybgogICAgIChpMzIuc3ViCiAgICAgIChpMzIuY29uc3QgMzEpCiAgICAgIChpMzIuY2x6CiAgICAgICAoaTMyLnhvcgogICAgICAgIChpMzIuYWRkCiAgICAgICAgIChsb2NhbC5nZXQgJHZhciQwKQogICAgICAgICAoaTMyLmNvbnN0IC0xKQogICAgICAgICkKICAgICAgICAobG9jYWwuZ2V0ICR2YXIkMCkKICAgICAgICkKICAgICAgKQogICAgICkKICAgICkKICAgKQogICkKICAoaTMyLmNvbnN0IDMyKQogKQogOzsgbG93ZXJpbmcgb2YgdGhlIGk2NC5jdHogaW5zdHJ1Y3Rpb24sIGNvdW50aW5nIHRoZSBudW1iZXIgb2YgemVyb3MgaW4gJHZhciQwCiAoZnVuYyAkX193YXNtX2N0el9pNjQgKDsgOCA7KSAodHlwZSAkNSkgKHBhcmFtICR2YXIkMCBpNjQpIChyZXN1bHQgaTY0KQogIChpZgogICAoaTMyLmVxegogICAgKGk2NC5lcXoKICAgICAobG9jYWwuZ2V0ICR2YXIkMCkKICAgICkKICAgKQogICAodGhlbgogICAgKHJldHVybgogICAgIChpNjQuc3ViCiAgICAgIChpNjQuY29uc3QgNjMpCiAgICAgIChpNjQuY2x6CiAgICAgICAoaTY0LnhvcgogICAgICAgIChpNjQuYWRkCiAgICAgICAgIChsb2NhbC5nZXQgJHZhciQwKQogICAgICAgICAoaTY0LmNvbnN0IC0xKQogICAgICAgICkKICAgICAgICAobG9jYWwuZ2V0ICR2YXIkMCkKICAgICAgICkKICAgICAgKQogICAgICkKICAgICkKICAgKQogICkKICAoaTY0LmNvbnN0IDY0KQogKQogOzsgbG93ZXJpbmcgb2YgdGhlIGkzMi5yb3RsIGluc3RydWN0aW9uLCByb3RhdGluZyB0aGUgZmlyc3QgYXJndW1lbnQsIHdpdGgKIDs7IHdyYXBhcm91bmQsIGJ5IHRoZSBzZWNvbmQgYXJndW1lbnQKIChmdW5jICRfX3dhc21fcm90bF9pMzIgKDsgOCA7KSAodHlwZSAkNCkgKHBhcmFtICR2YXIkMCBpMzIpIChwYXJhbSAkdmFyJDEgaTMyKSAocmVzdWx0IGkzMikKICAobG9jYWwgJHZhciQyIGkzMikKICAoaTMyLm9yCiAgIChpMzIuc2hsCiAgICAoaTMyLmFuZAogICAgIChpMzIuc2hyX3UKICAgICAgKGkzMi5jb25zdCAtMSkKICAgICAgKGxvY2FsLnRlZSAkdmFyJDIKICAgICAgIChpMzIuYW5kCiAgICAgICAgKGxvY2FsLmdldCAkdmFyJDEpCiAgICAgICAgKGkzMi5jb25zdCAzMSkKICAgICAgICkKICAgICAgKQogICAgICkKICAgICAobG9jYWwuZ2V0ICR2YXIkMCkKICAgICkKICAgIChsb2NhbC5nZXQgJHZhciQyKQogICApCiAgIChpMzIuc2hyX3UKICAgIChpMzIuYW5kCiAgICAgKGkzMi5zaGwKICAgICAgKGkzMi5jb25zdCAtMSkKICAgICAgKGxvY2FsLnRlZSAkdmFyJDEKICAgICAgIChpMzIuYW5kCiAgICAgICAgKGkzMi5zdWIKICAgICAgICAgKGkzMi5jb25zdCAwKQogICAgICAgICAobG9jYWwuZ2V0ICR2YXIkMSkKICAgICAgICApCiAgICAgICAgKGkzMi5jb25zdCAzMSkKICAgICAgICkKICAgICAgKQogICAgICkKICAgICAobG9jYWwuZ2V0ICR2YXIkMCkKICAgICkKICAgIChsb2NhbC5nZXQgJHZhciQxKQogICApCiAgKQogKQogOzsgbG93ZXJpbmcgb2YgdGhlIGkzMi5yb3RyIGluc3RydWN0aW9uLCByb3RhdGluZyB0aGUgZmlyc3QgYXJndW1lbnQsIHdpdGgKIDs7IHdyYXBhcm91bmQsIGJ5IHRoZSBzZWNvbmQgYXJndW1lbnQKIChmdW5jICRfX3dhc21fcm90cl9pMzIgKDsgOSA7KSAodHlwZSAkNCkgKHBhcmFtICR2YXIkMCBpMzIpIChwYXJhbSAkdmFyJDEgaTMyKSAocmVzdWx0IGkzMikKICAobG9jYWwgJHZhciQyIGkzMikKICAoaTMyLm9yCiAgIChpMzIuc2hyX3UKICAgIChpMzIuYW5kCiAgICAgKGkzMi5zaGwKICAgICAgKGkzMi5jb25zdCAtMSkKICAgICAgKGxvY2FsLnRlZSAkdmFyJDIKICAgICAgIChpMzIuYW5kCiAgICAgICAgKGxvY2FsLmdldCAkdmFyJDEpCiAgICAgICAgKGkzMi5jb25zdCAzMSkKICAgICAgICkKICAgICAgKQogICAgICkKICAgICAobG9jYWwuZ2V0ICR2YXIkMCkKICAgICkKICAgIChsb2NhbC5nZXQgJHZhciQyKQogICApCiAgIChpMzIuc2hsCiAgICAoaTMyLmFuZAogICAgIChpMzIuc2hyX3UKICAgICAgKGkzMi5jb25zdCAtMSkKICAgICAgKGxvY2FsLnRlZSAkdmFyJDEKICAgICAgIChpMzIuYW5kCiAgICAgICAgKGkzMi5zdWIKICAgICAgICAgKGkzMi5jb25zdCAwKQogICAgICAgICAobG9jYWwuZ2V0ICR2YXIkMSkKICAgICAgICApCiAgICAgICAgKGkzMi5jb25zdCAzMSkKICAgICAgICkKICAgICAgKQogICAgICkKICAgICAobG9jYWwuZ2V0ICR2YXIkMCkKICAgICkKICAgIChsb2NhbC5nZXQgJHZhciQxKQogICApCiAgKQogKQogOzsgbG93ZXJpbmcgb2YgdGhlIGk2NC5yb3RsIGluc3RydWN0aW9uLCByb3RhdGluZyB0aGUgZmlyc3QgYXJndW1lbnQsIHdpdGgKIDs7IHdyYXBhcm91bmQsIGJ5IHRoZSBzZWNvbmQgYXJndW1lbnQKIChmdW5jICRfX3dhc21fcm90bF9pNjQgKDsgMTAgOykgKHR5cGUgJDApIChwYXJhbSAkdmFyJDAgaTY0KSAocGFyYW0gJHZhciQxIGk2NCkgKHJlc3VsdCBpNjQpCiAgKGxvY2FsICR2YXIkMiBpNjQpCiAgKGk2NC5vcgogICAoaTY0LnNobAogICAgKGk2NC5hbmQKICAgICAoaTY0LnNocl91CiAgICAgIChpNjQuY29uc3QgLTEpCiAgICAgIChsb2NhbC50ZWUgJHZhciQyCiAgICAgICAoaTY0LmFuZAogICAgICAgIChsb2NhbC5nZXQgJHZhciQxKQogICAgICAgIChpNjQuY29uc3QgNjMpCiAgICAgICApCiAgICAgICkKICAgICApCiAgICAgKGxvY2FsLmdldCAkdmFyJDApCiAgICApCiAgICAobG9jYWwuZ2V0ICR2YXIkMikKICAgKQogICAoaTY0LnNocl91CiAgICAoaTY0LmFuZAogICAgIChpNjQuc2hsCiAgICAgIChpNjQuY29uc3QgLTEpCiAgICAgIChsb2NhbC50ZWUgJHZhciQxCiAgICAgICAoaTY0LmFuZAogICAgICAgIChpNjQuc3ViCiAgICAgICAgIChpNjQuY29uc3QgMCkKICAgICAgICAgKGxvY2FsLmdldCAkdmFyJDEpCiAgICAgICAgKQogICAgICAgIChpNjQuY29uc3QgNjMpCiAgICAgICApCiAgICAgICkKICAgICApCiAgICAgKGxvY2FsLmdldCAkdmFyJDApCiAgICApCiAgICAobG9jYWwuZ2V0ICR2YXIkMSkKICAgKQogICkKICkKIDs7IGxvd2VyaW5nIG9mIHRoZSBpNjQucm90ciBpbnN0cnVjdGlvbiwgcm90YXRpbmcgdGhlIGZpcnN0IGFyZ3VtZW50LCB3aXRoCiA7OyB3cmFwYXJvdW5kLCBieSB0aGUgc2Vjb25kIGFyZ3VtZW50CiAoZnVuYyAkX193YXNtX3JvdHJfaTY0ICg7IDExIDspICh0eXBlICQwKSAocGFyYW0gJHZhciQwIGk2NCkgKHBhcmFtICR2YXIkMSBpNjQpIChyZXN1bHQgaTY0KQogIChsb2NhbCAkdmFyJDIgaTY0KQogIChpNjQub3IKICAgKGk2NC5zaHJfdQogICAgKGk2NC5hbmQKICAgICAoaTY0LnNobAogICAgICAoaTY0LmNvbnN0IC0xKQogICAgICAobG9jYWwudGVlICR2YXIkMgogICAgICAgKGk2NC5hbmQKICAgICAgICAobG9jYWwuZ2V0ICR2YXIkMSkKICAgICAgICAoaTY0LmNvbnN0IDYzKQogICAgICAgKQogICAgICApCiAgICAgKQogICAgIChsb2NhbC5nZXQgJHZhciQwKQogICAgKQogICAgKGxvY2FsLmdldCAkdmFyJDIpCiAgICkKICAgKGk2NC5zaGwKICAgIChpNjQuYW5kCiAgICAgKGk2NC5zaHJfdQogICAgICAoaTY0LmNvbnN0IC0xKQogICAgICAobG9jYWwudGVlICR2YXIkMQogICAgICAgKGk2NC5hbmQKICAgICAgICAoaTY0LnN1YgogICAgICAgICAoaTY0LmNvbnN0IDApCiAgICAgICAgIChsb2NhbC5nZXQgJHZhciQxKQogICAgICAgICkKICAgICAgICAoaTY0LmNvbnN0IDYzKQogICAgICAgKQogICAgICApCiAgICAgKQogICAgIChsb2NhbC5nZXQgJHZhciQwKQogICAgKQogICAgKGxvY2FsLmdldCAkdmFyJDEpCiAgICkKICApCiApCiA7OyBsb3dlcmluZyBvZiB0aGUgZjMyLm5lYXJlc3QgaW5zdHJ1Y3Rpb24sIHJvdW5kaW5nIHRoZSBpbnB1dCB0byB0aGUgbmVhcmVzdAogOzsgaW50ZWdlciB3aGlsZSBicmVha2luZyB0aWVzIGJ5IHJvdW5kaW5nIHRvIGV2ZW4KIChmdW5jICRfX3dhc21fbmVhcmVzdF9mMzIgKDsgMTIgOykgKHR5cGUgJDEpIChwYXJhbSAkdmFyJDAgZjMyKSAocmVzdWx0IGYzMikKICAobG9jYWwgJHZhciQxIGYzMikKICAobG9jYWwgJHZhciQyIGYzMikKICAoaWYKICAgKGkzMi5lcXoKICAgIChmMzIubHQKICAgICAobG9jYWwudGVlICR2YXIkMgogICAgICAoZjMyLnN1YgogICAgICAgKGxvY2FsLmdldCAkdmFyJDApCiAgICAgICAobG9jYWwudGVlICR2YXIkMQogICAgICAgIChmMzIuZmxvb3IKICAgICAgICAgKGxvY2FsLmdldCAkdmFyJDApCiAgICAgICAgKQogICAgICAgKQogICAgICApCiAgICAgKQogICAgIChmMzIuY29uc3QgMC41KQogICAgKQogICApCiAgICh0aGVuCiAgICAoYmxvY2sKICAgICAobG9jYWwuc2V0ICR2YXIkMAogICAgICAoZjMyLmNlaWwKICAgICAgIChsb2NhbC5nZXQgJHZhciQwKQogICAgICApCiAgICAgKQogICAgIChpZgogICAgICAoZjMyLmd0CiAgICAgICAobG9jYWwuZ2V0ICR2YXIkMikKICAgICAgIChmMzIuY29uc3QgMC41KQogICAgICApCiAgICAgICh0aGVuCiAgICAgICAocmV0dXJuCiAgICAgICAgKGxvY2FsLmdldCAkdmFyJDApCiAgICAgICApCiAgICAgICkKICAgICApCiAgICAgKGxvY2FsLnNldCAkdmFyJDEKICAgICAgKHNlbGVjdAogICAgICAgKGxvY2FsLmdldCAkdmFyJDEpCiAgICAgICAobG9jYWwuZ2V0ICR2YXIkMCkKICAgICAgIChmMzIuZXEKICAgICAgICAoZjMyLnN1YgogICAgICAgICAobG9jYWwudGVlICR2YXIkMgogICAgICAgICAgKGYzMi5tdWwKICAgICAgICAgICAobG9jYWwuZ2V0ICR2YXIkMSkKICAgICAgICAgICAoZjMyLmNvbnN0IDAuNSkKICAgICAgICAgICkKICAgICAgICAgKQogICAgICAgICAoZjMyLmZsb29yCiAgICAgICAgICAobG9jYWwuZ2V0ICR2YXIkMikKICAgICAgICAgKQogICAgICAgICkKICAgICAgICAoZjMyLmNvbnN0IDApCiAgICAgICApCiAgICAgICkKICAgICApCiAgICApCiAgICkKICApCiAgKGxvY2FsLmdldCAkdmFyJDEpCiApCiA7OyBsb3dlcmluZyBvZiB0aGUgZjY0Lm5lYXJlc3QgaW5zdHJ1Y3Rpb24sIHJvdW5kaW5nIHRoZSBpbnB1dCB0byB0aGUgbmVhcmVzdAogOzsgaW50ZWdlciB3aGlsZSBicmVha2luZyB0aWVzIGJ5IHJvdW5kaW5nIHRvIGV2ZW4KIChmdW5jICRfX3dhc21fbmVhcmVzdF9mNjQgKDsgMTMgOykgKHR5cGUgJDIpIChwYXJhbSAkdmFyJDAgZjY0KSAocmVzdWx0IGY2NCkKICAobG9jYWwgJHZhciQxIGY2NCkKICAobG9jYWwgJHZhciQyIGY2NCkKICAoaWYKICAgKGkzMi5lcXoKICAgIChmNjQubHQKICAgICAobG9jYWwudGVlICR2YXIkMgogICAgICAoZjY0LnN1YgogICAgICAgKGxvY2FsLmdldCAkdmFyJDApCiAgICAgICAobG9jYWwudGVlICR2YXIkMQogICAgICAgIChmNjQuZmxvb3IKICAgICAgICAgKGxvY2FsLmdldCAkdmFyJDApCiAgICAgICAgKQogICAgICAgKQogICAgICApCiAgICAgKQogICAgIChmNjQuY29uc3QgMC41KQogICAgKQogICApCiAgICh0aGVuCiAgICAoYmxvY2sKICAgICAobG9jYWwuc2V0ICR2YXIkMAogICAgICAoZjY0LmNlaWwKICAgICAgIChsb2NhbC5nZXQgJHZhciQwKQogICAgICApCiAgICAgKQogICAgIChpZgogICAgICAoZjY0Lmd0CiAgICAgICAobG9jYWwuZ2V0ICR2YXIkMikKICAgICAgIChmNjQuY29uc3QgMC41KQogICAgICApCiAgICAgICh0aGVuCiAgICAgICAocmV0dXJuCiAgICAgICAgKGxvY2FsLmdldCAkdmFyJDApCiAgICAgICApCiAgICAgICkKICAgICApCiAgICAgKGxvY2FsLnNldCAkdmFyJDEKICAgICAgKHNlbGVjdAogICAgICAgKGxvY2FsLmdldCAkdmFyJDEpCiAgICAgICAobG9jYWwuZ2V0ICR2YXIkMCkKICAgICAgIChmNjQuZXEKICAgICAgICAoZjY0LnN1YgogICAgICAgICAobG9jYWwudGVlICR2YXIkMgogICAgICAgICAgKGY2NC5tdWwKICAgICAgICAgICAobG9jYWwuZ2V0ICR2YXIkMSkKICAgICAgICAgICAoZjY0LmNvbnN0IDAuNSkKICAgICAgICAgICkKICAgICAgICAgKQogICAgICAgICAoZjY0LmZsb29yCiAgICAgICAgICAobG9jYWwuZ2V0ICR2YXIkMikKICAgICAgICAgKQogICAgICAgICkKICAgICAgICAoZjY0LmNvbnN0IDApCiAgICAgICApCiAgICAgICkKICAgICApCiAgICApCiAgICkKICApCiAgKGxvY2FsLmdldCAkdmFyJDEpCiApCiAoZnVuYyAkX1pOMTdjb21waWxlcl9idWlsdGluczNpbnQ0dWRpdjEwZGl2bW9kX3U2NDE3aDYwMjY5MTBiNWVkMDhlNDBFICg7IDE0IDspICh0eXBlICQwKSAocGFyYW0gJHZhciQwIGk2NCkgKHBhcmFtICR2YXIkMSBpNjQpIChyZXN1bHQgaTY0KQogIChsb2NhbCAkdmFyJDIgaTMyKQogIChsb2NhbCAkdmFyJDMgaTMyKQogIChsb2NhbCAkdmFyJDQgaTMyKQogIChsb2NhbCAkdmFyJDUgaTY0KQogIChsb2NhbCAkdmFyJDYgaTY0KQogIChsb2NhbCAkdmFyJDcgaTY0KQogIChsb2NhbCAkdmFyJDggaTY0KQogIChibG9jayAkbGFiZWwkMQogICAoYmxvY2sgJGxhYmVsJDIKICAgIChibG9jayAkbGFiZWwkMwogICAgIChibG9jayAkbGFiZWwkNAogICAgICAoYmxvY2sgJGxhYmVsJDUKICAgICAgIChibG9jayAkbGFiZWwkNgogICAgICAgIChibG9jayAkbGFiZWwkNwogICAgICAgICAoYmxvY2sgJGxhYmVsJDgKICAgICAgICAgIChibG9jayAkbGFiZWwkOQogICAgICAgICAgIChibG9jayAkbGFiZWwkMTAKICAgICAgICAgICAgKGJsb2NrICRsYWJlbCQxMQogICAgICAgICAgICAgKGlmCiAgICAgICAgICAgICAgKGxvY2FsLnRlZSAkdmFyJDIKICAgICAgICAgICAgICAgKGkzMi53cmFwX2k2NAogICAgICAgICAgICAgICAgKGk2NC5zaHJfdQogICAgICAgICAgICAgICAgIChsb2NhbC5nZXQgJHZhciQwKQogICAgICAgICAgICAgICAgIChpNjQuY29uc3QgMzIpCiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgKHRoZW4KICAgICAgICAgICAgICAgKGJsb2NrCiAgICAgICAgICAgICAgICAoYnJfaWYgJGxhYmVsJDExCiAgICAgICAgICAgICAgICAgKGkzMi5lcXoKICAgICAgICAgICAgICAgICAgKGxvY2FsLnRlZSAkdmFyJDMKICAgICAgICAgICAgICAgICAgIChpMzIud3JhcF9pNjQKICAgICAgICAgICAgICAgICAgICAobG9jYWwuZ2V0ICR2YXIkMSkKICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgIChicl9pZiAkbGFiZWwkOQogICAgICAgICAgICAgICAgIChpMzIuZXF6CiAgICAgICAgICAgICAgICAgIChsb2NhbC50ZWUgJHZhciQ0CiAgICAgICAgICAgICAgICAgICAoaTMyLndyYXBfaTY0CiAgICAgICAgICAgICAgICAgICAgKGk2NC5zaHJfdQogICAgICAgICAgICAgICAgICAgICAobG9jYWwuZ2V0ICR2YXIkMSkKICAgICAgICAgICAgICAgICAgICAgKGk2NC5jb25zdCAzMikKICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAoYnJfaWYgJGxhYmVsJDgKICAgICAgICAgICAgICAgICAoaTMyLmxlX3UKICAgICAgICAgICAgICAgICAgKGxvY2FsLnRlZSAkdmFyJDIKICAgICAgICAgICAgICAgICAgIChpMzIuc3ViCiAgICAgICAgICAgICAgICAgICAgKGkzMi5jbHoKICAgICAgICAgICAgICAgICAgICAgKGxvY2FsLmdldCAkdmFyJDQpCiAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgICAgIChpMzIuY2x6CiAgICAgICAgICAgICAgICAgICAgIChsb2NhbC5nZXQgJHZhciQyKQogICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgICAoaTMyLmNvbnN0IDMxKQogICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgIChiciAkbGFiZWwkMikKICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICkKICAgICAgICAgICAgICkKICAgICAgICAgICAgIChicl9pZiAkbGFiZWwkMgogICAgICAgICAgICAgIChpNjQuZ2VfdQogICAgICAgICAgICAgICAobG9jYWwuZ2V0ICR2YXIkMSkKICAgICAgICAgICAgICAgKGk2NC5jb25zdCA0Mjk0OTY3Mjk2KQogICAgICAgICAgICAgICkKICAgICAgICAgICAgICkKICAgICAgICAgICAgIChnbG9iYWwuc2V0ICRfX3dhc20taW50cmluc2ljcy10ZW1wLWk2NAogICAgICAgICAgICAgIChpNjQuZXh0ZW5kX2kzMl91CiAgICAgICAgICAgICAgIChpMzIuc3ViCiAgICAgICAgICAgICAgICAobG9jYWwudGVlICR2YXIkMgogICAgICAgICAgICAgICAgIChpMzIud3JhcF9pNjQKICAgICAgICAgICAgICAgICAgKGxvY2FsLmdldCAkdmFyJDApCiAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgKGkzMi5tdWwKICAgICAgICAgICAgICAgICAobG9jYWwudGVlICR2YXIkMgogICAgICAgICAgICAgICAgICAoaTMyLmRpdl91CiAgICAgICAgICAgICAgICAgICAobG9jYWwuZ2V0ICR2YXIkMikKICAgICAgICAgICAgICAgICAgIChsb2NhbC50ZWUgJHZhciQzCiAgICAgICAgICAgICAgICAgICAgKGkzMi53cmFwX2k2NAogICAgICAgICAgICAgICAgICAgICAobG9jYWwuZ2V0ICR2YXIkMSkKICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgKGxvY2FsLmdldCAkdmFyJDMpCiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICApCiAgICAgICAgICAgICApCiAgICAgICAgICAgICAocmV0dXJuCiAgICAgICAgICAgICAgKGk2NC5leHRlbmRfaTMyX3UKICAgICAgICAgICAgICAgKGxvY2FsLmdldCAkdmFyJDIpCiAgICAgICAgICAgICAgKQogICAgICAgICAgICAgKQogICAgICAgICAgICApCiAgICAgICAgICAgIChsb2NhbC5zZXQgJHZhciQzCiAgICAgICAgICAgICAoaTMyLndyYXBfaTY0CiAgICAgICAgICAgICAgKGk2NC5zaHJfdQogICAgICAgICAgICAgICAobG9jYWwuZ2V0ICR2YXIkMSkKICAgICAgICAgICAgICAgKGk2NC5jb25zdCAzMikKICAgICAgICAgICAgICApCiAgICAgICAgICAgICApCiAgICAgICAgICAgICkKICAgICAgICAgICAgKGJyX2lmICRsYWJlbCQ3CiAgICAgICAgICAgICAoaTMyLmVxegogICAgICAgICAgICAgIChpMzIud3JhcF9pNjQKICAgICAgICAgICAgICAgKGxvY2FsLmdldCAkdmFyJDApCiAgICAgICAgICAgICAgKQogICAgICAgICAgICAgKQogICAgICAgICAgICApCiAgICAgICAgICAgIChicl9pZiAkbGFiZWwkNgogICAgICAgICAgICAgKGkzMi5lcXoKICAgICAgICAgICAgICAobG9jYWwuZ2V0ICR2YXIkMykKICAgICAgICAgICAgICkKICAgICAgICAgICAgKQogICAgICAgICAgICAoYnJfaWYgJGxhYmVsJDYKICAgICAgICAgICAgIChpMzIuYW5kCiAgICAgICAgICAgICAgKGxvY2FsLnRlZSAkdmFyJDQKICAgICAgICAgICAgICAgKGkzMi5hZGQKICAgICAgICAgICAgICAgIChsb2NhbC5nZXQgJHZhciQzKQogICAgICAgICAgICAgICAgKGkzMi5jb25zdCAtMSkKICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICkKICAgICAgICAgICAgICAobG9jYWwuZ2V0ICR2YXIkMykKICAgICAgICAgICAgICkKICAgICAgICAgICAgKQogICAgICAgICAgICAoZ2xvYmFsLnNldCAkX193YXNtLWludHJpbnNpY3MtdGVtcC1pNjQKICAgICAgICAgICAgIChpNjQub3IKICAgICAgICAgICAgICAoaTY0LnNobAogICAgICAgICAgICAgICAoaTY0LmV4dGVuZF9pMzJfdQogICAgICAgICAgICAgICAgKGkzMi5hbmQKICAgICAgICAgICAgICAgICAobG9jYWwuZ2V0ICR2YXIkNCkKICAgICAgICAgICAgICAgICAobG9jYWwuZ2V0ICR2YXIkMikKICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAoaTY0LmNvbnN0IDMyKQogICAgICAgICAgICAgICkKICAgICAgICAgICAgICAoaTY0LmFuZAogICAgICAgICAgICAgICAobG9jYWwuZ2V0ICR2YXIkMCkKICAgICAgICAgICAgICAgKGk2NC5jb25zdCA0Mjk0OTY3Mjk1KQogICAgICAgICAgICAgICkKICAgICAgICAgICAgICkKICAgICAgICAgICAgKQogICAgICAgICAgICAocmV0dXJuCiAgICAgICAgICAgICAoaTY0LmV4dGVuZF9pMzJfdQogICAgICAgICAgICAgIChpMzIuc2hyX3UKICAgICAgICAgICAgICAgKGxvY2FsLmdldCAkdmFyJDIpCiAgICAgICAgICAgICAgIChpMzIuYW5kCiAgICAgICAgICAgICAgICAoaTMyLmN0egogICAgICAgICAgICAgICAgIChsb2NhbC5nZXQgJHZhciQzKQogICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgKGkzMi5jb25zdCAzMSkKICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICkKICAgICAgICAgICAgICkKICAgICAgICAgICAgKQogICAgICAgICAgICkKICAgICAgICAgICAodW5yZWFjaGFibGUpCiAgICAgICAgICApCiAgICAgICAgICAoYnJfaWYgJGxhYmVsJDUKICAgICAgICAgICAoaTMyLmVxegogICAgICAgICAgICAoaTMyLmFuZAogICAgICAgICAgICAgKGxvY2FsLnRlZSAkdmFyJDQKICAgICAgICAgICAgICAoaTMyLmFkZAogICAgICAgICAgICAgICAobG9jYWwuZ2V0ICR2YXIkMykKICAgICAgICAgICAgICAgKGkzMi5jb25zdCAtMSkKICAgICAgICAgICAgICApCiAgICAgICAgICAgICApCiAgICAgICAgICAgICAobG9jYWwuZ2V0ICR2YXIkMykKICAgICAgICAgICAgKQogICAgICAgICAgICkKICAgICAgICAgICkKICAgICAgICAgIChsb2NhbC5zZXQgJHZhciQzCiAgICAgICAgICAgKGkzMi5zdWIKICAgICAgICAgICAgKGkzMi5jb25zdCAwKQogICAgICAgICAgICAobG9jYWwudGVlICR2YXIkMgogICAgICAgICAgICAgKGkzMi5zdWIKICAgICAgICAgICAgICAoaTMyLmFkZAogICAgICAgICAgICAgICAoaTMyLmNsegogICAgICAgICAgICAgICAgKGxvY2FsLmdldCAkdmFyJDMpCiAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgKGkzMi5jb25zdCAzMykKICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgKGkzMi5jbHoKICAgICAgICAgICAgICAgKGxvY2FsLmdldCAkdmFyJDIpCiAgICAgICAgICAgICAgKQogICAgICAgICAgICAgKQogICAgICAgICAgICApCiAgICAgICAgICAgKQogICAgICAgICAgKQogICAgICAgICAgKGJyICRsYWJlbCQzKQogICAgICAgICApCiAgICAgICAgIChsb2NhbC5zZXQgJHZhciQzCiAgICAgICAgICAoaTMyLnN1YgogICAgICAgICAgIChpMzIuY29uc3QgNjMpCiAgICAgICAgICAgKGxvY2FsLmdldCAkdmFyJDIpCiAgICAgICAgICApCiAgICAgICAgICkKICAgICAgICAgKGxvY2FsLnNldCAkdmFyJDIKICAgICAgICAgIChpMzIuYWRkCiAgICAgICAgICAgKGxvY2FsLmdldCAkdmFyJDIpCiAgICAgICAgICAgKGkzMi5jb25zdCAxKQogICAgICAgICAgKQogICAgICAgICApCiAgICAgICAgIChiciAkbGFiZWwkMykKICAgICAgICApCiAgICAgICAgKGdsb2JhbC5zZXQgJF9fd2FzbS1pbnRyaW5zaWNzLXRlbXAtaTY0CiAgICAgICAgIChpNjQuc2hsCiAgICAgICAgICAoaTY0LmV4dGVuZF9pMzJfdQogICAgICAgICAgIChpMzIuc3ViCiAgICAgICAgICAgIChsb2NhbC5nZXQgJHZhciQyKQogICAgICAgICAgICAoaTMyLm11bAogICAgICAgICAgICAgKGxvY2FsLnRlZSAkdmFyJDQKICAgICAgICAgICAgICAoaTMyLmRpdl91CiAgICAgICAgICAgICAgIChsb2NhbC5nZXQgJHZhciQyKQogICAgICAgICAgICAgICAobG9jYWwuZ2V0ICR2YXIkMykKICAgICAgICAgICAgICApCiAgICAgICAgICAgICApCiAgICAgICAgICAgICAobG9jYWwuZ2V0ICR2YXIkMykKICAgICAgICAgICAgKQogICAgICAgICAgICkKICAgICAgICAgICkKICAgICAgICAgIChpNjQuY29uc3QgMzIpCiAgICAgICAgICkKICAgICAgICApCiAgICAgICAgKHJldHVybgogICAgICAgICAoaTY0LmV4dGVuZF9pMzJfdQogICAgICAgICAgKGxvY2FsLmdldCAkdmFyJDQpCiAgICAgICAgICkKICAgICAgICApCiAgICAgICApCiAgICAgICAoYnJfaWYgJGxhYmVsJDQKICAgICAgICAoaTMyLmx0X3UKICAgICAgICAgKGxvY2FsLnRlZSAkdmFyJDIKICAgICAgICAgIChpMzIuc3ViCiAgICAgICAgICAgKGkzMi5jbHoKICAgICAgICAgICAgKGxvY2FsLmdldCAkdmFyJDMpCiAgICAgICAgICAgKQogICAgICAgICAgIChpMzIuY2x6CiAgICAgICAgICAgIChsb2NhbC5nZXQgJHZhciQyKQogICAgICAgICAgICkKICAgICAgICAgICkKICAgICAgICAgKQogICAgICAgICAoaTMyLmNvbnN0IDMxKQogICAgICAgICkKICAgICAgICkKICAgICAgIChiciAkbGFiZWwkMikKICAgICAgKQogICAgICAoZ2xvYmFsLnNldCAkX193YXNtLWludHJpbnNpY3MtdGVtcC1pNjQKICAgICAgIChpNjQuZXh0ZW5kX2kzMl91CiAgICAgICAgKGkzMi5hbmQKICAgICAgICAgKGxvY2FsLmdldCAkdmFyJDQpCiAgICAgICAgIChpMzIud3JhcF9pNjQKICAgICAgICAgIChsb2NhbC5nZXQgJHZhciQwKQogICAgICAgICApCiAgICAgICAgKQogICAgICAgKQogICAgICApCiAgICAgIChicl9pZiAkbGFiZWwkMQogICAgICAgKGkzMi5lcQogICAgICAgIChsb2NhbC5nZXQgJHZhciQzKQogICAgICAgIChpMzIuY29uc3QgMSkKICAgICAgICkKICAgICAgKQogICAgICAocmV0dXJuCiAgICAgICAoaTY0LnNocl91CiAgICAgICAgKGxvY2FsLmdldCAkdmFyJDApCiAgICAgICAgKGk2NC5leHRlbmRfaTMyX3UKICAgICAgICAgKGkzMi5jdHoKICAgICAgICAgIChsb2NhbC5nZXQgJHZhciQzKQogICAgICAgICApCiAgICAgICAgKQogICAgICAgKQogICAgICApCiAgICAgKQogICAgIChsb2NhbC5zZXQgJHZhciQzCiAgICAgIChpMzIuc3ViCiAgICAgICAoaTMyLmNvbnN0IDYzKQogICAgICAgKGxvY2FsLmdldCAkdmFyJDIpCiAgICAgICkKICAgICApCiAgICAgKGxvY2FsLnNldCAkdmFyJDIKICAgICAgKGkzMi5hZGQKICAgICAgIChsb2NhbC5nZXQgJHZhciQyKQogICAgICAgKGkzMi5jb25zdCAxKQogICAgICApCiAgICAgKQogICAgKQogICAgKGxvY2FsLnNldCAkdmFyJDUKICAgICAoaTY0LnNocl91CiAgICAgIChsb2NhbC5nZXQgJHZhciQwKQogICAgICAoaTY0LmV4dGVuZF9pMzJfdQogICAgICAgKGkzMi5hbmQKICAgICAgICAobG9jYWwuZ2V0ICR2YXIkMikKICAgICAgICAoaTMyLmNvbnN0IDYzKQogICAgICAgKQogICAgICApCiAgICAgKQogICAgKQogICAgKGxvY2FsLnNldCAkdmFyJDAKICAgICAoaTY0LnNobAogICAgICAobG9jYWwuZ2V0ICR2YXIkMCkKICAgICAgKGk2NC5leHRlbmRfaTMyX3UKICAgICAgIChpMzIuYW5kCiAgICAgICAgKGxvY2FsLmdldCAkdmFyJDMpCiAgICAgICAgKGkzMi5jb25zdCA2MykKICAgICAgICkKICAgICAgKQogICAgICkKICAgICkKICAgIChibG9jayAkbGFiZWwkMTMKICAgICAoaWYKICAgICAgKGxvY2FsLmdldCAkdmFyJDIpCiAgICAgICh0aGVuCiAgICAgICAoYmxvY2sKICAgICAgICAobG9jYWwuc2V0ICR2YXIkOAogICAgICAgICAoaTY0LmFkZAogICAgICAgICAgKGxvY2FsLmdldCAkdmFyJDEpCiAgICAgICAgICAoaTY0LmNvbnN0IC0xKQogICAgICAgICApCiAgICAgICAgKQogICAgICAgIChsb29wICRsYWJlbCQxNQogICAgICAgICAobG9jYWwuc2V0ICR2YXIkNQogICAgICAgICAgKGk2NC5zdWIKICAgICAgICAgICAobG9jYWwudGVlICR2YXIkNQogICAgICAgICAgICAoaTY0Lm9yCiAgICAgICAgICAgICAoaTY0LnNobAogICAgICAgICAgICAgIChsb2NhbC5nZXQgJHZhciQ1KQogICAgICAgICAgICAgIChpNjQuY29uc3QgMSkKICAgICAgICAgICAgICkKICAgICAgICAgICAgIChpNjQuc2hyX3UKICAgICAgICAgICAgICAobG9jYWwuZ2V0ICR2YXIkMCkKICAgICAgICAgICAgICAoaTY0LmNvbnN0IDYzKQogICAgICAgICAgICAgKQogICAgICAgICAgICApCiAgICAgICAgICAgKQogICAgICAgICAgIChpNjQuYW5kCiAgICAgICAgICAgIChsb2NhbC50ZWUgJHZhciQ2CiAgICAgICAgICAgICAoaTY0LnNocl9zCiAgICAgICAgICAgICAgKGk2NC5zdWIKICAgICAgICAgICAgICAgKGxvY2FsLmdldCAkdmFyJDgpCiAgICAgICAgICAgICAgIChsb2NhbC5nZXQgJHZhciQ1KQogICAgICAgICAgICAgICkKICAgICAgICAgICAgICAoaTY0LmNvbnN0IDYzKQogICAgICAgICAgICAgKQogICAgICAgICAgICApCiAgICAgICAgICAgIChsb2NhbC5nZXQgJHZhciQxKQogICAgICAgICAgICkKICAgICAgICAgICkKICAgICAgICAgKQogICAgICAgICAobG9jYWwuc2V0ICR2YXIkMAogICAgICAgICAgKGk2NC5vcgogICAgICAgICAgIChpNjQuc2hsCiAgICAgICAgICAgIChsb2NhbC5nZXQgJHZhciQwKQogICAgICAgICAgICAoaTY0LmNvbnN0IDEpCiAgICAgICAgICAgKQogICAgICAgICAgIChsb2NhbC5nZXQgJHZhciQ3KQogICAgICAgICAgKQogICAgICAgICApCiAgICAgICAgIChsb2NhbC5zZXQgJHZhciQ3CiAgICAgICAgICAobG9jYWwudGVlICR2YXIkNgogICAgICAgICAgIChpNjQuYW5kCiAgICAgICAgICAgIChsb2NhbC5nZXQgJHZhciQ2KQogICAgICAgICAgICAoaTY0LmNvbnN0IDEpCiAgICAgICAgICAgKQogICAgICAgICAgKQogICAgICAgICApCiAgICAgICAgIChicl9pZiAkbGFiZWwkMTUKICAgICAgICAgIChsb2NhbC50ZWUgJHZhciQyCiAgICAgICAgICAgKGkzMi5hZGQKICAgICAgICAgICAgKGxvY2FsLmdldCAkdmFyJDIpCiAgICAgICAgICAgIChpMzIuY29uc3QgLTEpCiAgICAgICAgICAgKQogICAgICAgICAgKQogICAgICAgICApCiAgICAgICAgKQogICAgICAgIChiciAkbGFiZWwkMTMpCiAgICAgICApCiAgICAgICkKICAgICApCiAgICApCiAgICAoZ2xvYmFsLnNldCAkX193YXNtLWludHJpbnNpY3MtdGVtcC1pNjQKICAgICAobG9jYWwuZ2V0ICR2YXIkNSkKICAgICkKICAgIChyZXR1cm4KICAgICAoaTY0Lm9yCiAgICAgIChpNjQuc2hsCiAgICAgICAobG9jYWwuZ2V0ICR2YXIkMCkKICAgICAgIChpNjQuY29uc3QgMSkKICAgICAgKQogICAgICAobG9jYWwuZ2V0ICR2YXIkNikKICAgICApCiAgICApCiAgICkKICAgKGdsb2JhbC5zZXQgJF9fd2FzbS1pbnRyaW5zaWNzLXRlbXAtaTY0CiAgICAobG9jYWwuZ2V0ICR2YXIkMCkKICAgKQogICAobG9jYWwuc2V0ICR2YXIkMAogICAgKGk2NC5jb25zdCAwKQogICApCiAgKQogIChsb2NhbC5nZXQgJHZhciQwKQogKQogKGZ1bmMgJF9aTjE3Y29tcGlsZXJfYnVpbHRpbnMzaW50M211bDNNdWwzbXVsMTdoMDcwZTlhMWM2OWZhZWM1YkUgKDsgMTUgOykgKHR5cGUgJDApIChwYXJhbSAkdmFyJDAgaTY0KSAocGFyYW0gJHZhciQxIGk2NCkgKHJlc3VsdCBpNjQpCiAgKGxvY2FsICR2YXIkMiBpMzIpCiAgKGxvY2FsICR2YXIkMyBpMzIpCiAgKGxvY2FsICR2YXIkNCBpMzIpCiAgKGxvY2FsICR2YXIkNSBpMzIpCiAgKGxvY2FsICR2YXIkNiBpMzIpCiAgKGk2NC5vcgogICAoaTY0LnNobAogICAgKGk2NC5leHRlbmRfaTMyX3UKICAgICAoaTMyLmFkZAogICAgICAoaTMyLmFkZAogICAgICAgKGkzMi5hZGQKICAgICAgICAoaTMyLmFkZAogICAgICAgICAoaTMyLm11bAogICAgICAgICAgKGxvY2FsLnRlZSAkdmFyJDQKICAgICAgICAgICAoaTMyLnNocl91CiAgICAgICAgICAgIChsb2NhbC50ZWUgJHZhciQyCiAgICAgICAgICAgICAoaTMyLndyYXBfaTY0CiAgICAgICAgICAgICAgKGxvY2FsLmdldCAkdmFyJDEpCiAgICAgICAgICAgICApCiAgICAgICAgICAgICkKICAgICAgICAgICAgKGkzMi5jb25zdCAxNikKICAgICAgICAgICApCiAgICAgICAgICApCiAgICAgICAgICAobG9jYWwudGVlICR2YXIkNQogICAgICAgICAgIChpMzIuc2hyX3UKICAgICAgICAgICAgKGxvY2FsLnRlZSAkdmFyJDMKICAgICAgICAgICAgIChpMzIud3JhcF9pNjQKICAgICAgICAgICAgICAobG9jYWwuZ2V0ICR2YXIkMCkKICAgICAgICAgICAgICkKICAgICAgICAgICAgKQogICAgICAgICAgICAoaTMyLmNvbnN0IDE2KQogICAgICAgICAgICkKICAgICAgICAgICkKICAgICAgICAgKQogICAgICAgICAoaTMyLm11bAogICAgICAgICAgKGxvY2FsLmdldCAkdmFyJDIpCiAgICAgICAgICAoaTMyLndyYXBfaTY0CiAgICAgICAgICAgKGk2NC5zaHJfdQogICAgICAgICAgICAobG9jYWwuZ2V0ICR2YXIkMCkKICAgICAgICAgICAgKGk2NC5jb25zdCAzMikKICAgICAgICAgICApCiAgICAgICAgICApCiAgICAgICAgICkKICAgICAgICApCiAgICAgICAgKGkzMi5tdWwKICAgICAgICAgKGkzMi53cmFwX2k2NAogICAgICAgICAgKGk2NC5zaHJfdQogICAgICAgICAgIChsb2NhbC5nZXQgJHZhciQxKQogICAgICAgICAgIChpNjQuY29uc3QgMzIpCiAgICAgICAgICApCiAgICAgICAgICkKICAgICAgICAgKGxvY2FsLmdldCAkdmFyJDMpCiAgICAgICAgKQogICAgICAgKQogICAgICAgKGkzMi5zaHJfdQogICAgICAgIChsb2NhbC50ZWUgJHZhciQyCiAgICAgICAgIChpMzIuYWRkCiAgICAgICAgICAoaTMyLnNocl91CiAgICAgICAgICAgKGxvY2FsLnRlZSAkdmFyJDYKICAgICAgICAgICAgKGkzMi5tdWwKICAgICAgICAgICAgIChsb2NhbC50ZWUgJHZhciQyCiAgICAgICAgICAgICAgKGkzMi5hbmQKICAgICAgICAgICAgICAgKGxvY2FsLmdldCAkdmFyJDIpCiAgICAgICAgICAgICAgIChpMzIuY29uc3QgNjU1MzUpCiAgICAgICAgICAgICAgKQogICAgICAgICAgICAgKQogICAgICAgICAgICAgKGxvY2FsLnRlZSAkdmFyJDMKICAgICAgICAgICAgICAoaTMyLmFuZAogICAgICAgICAgICAgICAobG9jYWwuZ2V0ICR2YXIkMykKICAgICAgICAgICAgICAgKGkzMi5jb25zdCA2NTUzNSkKICAgICAgICAgICAgICApCiAgICAgICAgICAgICApCiAgICAgICAgICAgICkKICAgICAgICAgICApCiAgICAgICAgICAgKGkzMi5jb25zdCAxNikKICAgICAgICAgICkKICAgICAgICAgIChpMzIubXVsCiAgICAgICAgICAgKGxvY2FsLmdldCAkdmFyJDIpCiAgICAgICAgICAgKGxvY2FsLmdldCAkdmFyJDUpCiAgICAgICAgICApCiAgICAgICAgICkKICAgICAgICApCiAgICAgICAgKGkzMi5jb25zdCAxNikKICAgICAgICkKICAgICAgKQogICAgICAoaTMyLnNocl91CiAgICAgICAobG9jYWwudGVlICR2YXIkMgogICAgICAgIChpMzIuYWRkCiAgICAgICAgIChpMzIuYW5kCiAgICAgICAgICAobG9jYWwuZ2V0ICR2YXIkMikKICAgICAgICAgIChpMzIuY29uc3QgNjU1MzUpCiAgICAgICAgICkKICAgICAgICAgKGkzMi5tdWwKICAgICAgICAgIChsb2NhbC5nZXQgJHZhciQ0KQogICAgICAgICAgKGxvY2FsLmdldCAkdmFyJDMpCiAgICAgICAgICkKICAgICAgICApCiAgICAgICApCiAgICAgICAoaTMyLmNvbnN0IDE2KQogICAgICApCiAgICAgKQogICAgKQogICAgKGk2NC5jb25zdCAzMikKICAgKQogICAoaTY0LmV4dGVuZF9pMzJfdQogICAgKGkzMi5vcgogICAgIChpMzIuc2hsCiAgICAgIChsb2NhbC5nZXQgJHZhciQyKQogICAgICAoaTMyLmNvbnN0IDE2KQogICAgICkKICAgICAoaTMyLmFuZAogICAgICAobG9jYWwuZ2V0ICR2YXIkNikKICAgICAgKGkzMi5jb25zdCA2NTUzNSkKICAgICApCiAgICApCiAgICkKICApCiApCiAoZnVuYyAkX1pOMTdjb21waWxlcl9idWlsdGluczNpbnQ0c2RpdjNEaXYzZGl2MTdoZTc4ZmM0ODNlNDFkN2VjN0UgKDsgMTYgOykgKHR5cGUgJDApIChwYXJhbSAkdmFyJDAgaTY0KSAocGFyYW0gJHZhciQxIGk2NCkgKHJlc3VsdCBpNjQpCiAgKGxvY2FsICR2YXIkMiBpNjQpCiAgKGk2NC5zdWIKICAgKGk2NC54b3IKICAgIChpNjQuZGl2X3UKICAgICAoaTY0LnN1YgogICAgICAoaTY0LnhvcgogICAgICAgKGxvY2FsLnRlZSAkdmFyJDIKICAgICAgICAoaTY0LnNocl9zCiAgICAgICAgIChsb2NhbC5nZXQgJHZhciQwKQogICAgICAgICAoaTY0LmNvbnN0IDYzKQogICAgICAgICkKICAgICAgICkKICAgICAgIChsb2NhbC5nZXQgJHZhciQwKQogICAgICApCiAgICAgIChsb2NhbC5nZXQgJHZhciQyKQogICAgICkKICAgICAoaTY0LnN1YgogICAgICAoaTY0LnhvcgogICAgICAgKGxvY2FsLnRlZSAkdmFyJDIKICAgICAgICAoaTY0LnNocl9zCiAgICAgICAgIChsb2NhbC5nZXQgJHZhciQxKQogICAgICAgICAoaTY0LmNvbnN0IDYzKQogICAgICAgICkKICAgICAgICkKICAgICAgIChsb2NhbC5nZXQgJHZhciQxKQogICAgICApCiAgICAgIChsb2NhbC5nZXQgJHZhciQyKQogICAgICkKICAgICkKICAgIChsb2NhbC50ZWUgJHZhciQwCiAgICAgKGk2NC5zaHJfcwogICAgICAoaTY0LnhvcgogICAgICAgKGxvY2FsLmdldCAkdmFyJDEpCiAgICAgICAobG9jYWwuZ2V0ICR2YXIkMCkKICAgICAgKQogICAgICAoaTY0LmNvbnN0IDYzKQogICAgICkKICAgICkKICAgKQogICAobG9jYWwuZ2V0ICR2YXIkMCkKICApCiApCiAoZnVuYyAkX1pOMTdjb21waWxlcl9idWlsdGluczNpbnQ0c2RpdjNNb2Q0bW9kXzE3aDJjYmI3YmJmMzZlNDFkNjhFICg7IDE3IDspICh0eXBlICQwKSAocGFyYW0gJHZhciQwIGk2NCkgKHBhcmFtICR2YXIkMSBpNjQpIChyZXN1bHQgaTY0KQogIChsb2NhbCAkdmFyJDIgaTY0KQogIChpNjQuc3ViCiAgIChpNjQueG9yCiAgICAoaTY0LnJlbV91CiAgICAgKGk2NC5zdWIKICAgICAgKGk2NC54b3IKICAgICAgIChsb2NhbC50ZWUgJHZhciQyCiAgICAgICAgKGk2NC5zaHJfcwogICAgICAgICAobG9jYWwuZ2V0ICR2YXIkMCkKICAgICAgICAgKGk2NC5jb25zdCA2MykKICAgICAgICApCiAgICAgICApCiAgICAgICAobG9jYWwuZ2V0ICR2YXIkMCkKICAgICAgKQogICAgICAobG9jYWwuZ2V0ICR2YXIkMikKICAgICApCiAgICAgKGk2NC5zdWIKICAgICAgKGk2NC54b3IKICAgICAgIChsb2NhbC50ZWUgJHZhciQwCiAgICAgICAgKGk2NC5zaHJfcwogICAgICAgICAobG9jYWwuZ2V0ICR2YXIkMSkKICAgICAgICAgKGk2NC5jb25zdCA2MykKICAgICAgICApCiAgICAgICApCiAgICAgICAobG9jYWwuZ2V0ICR2YXIkMSkKICAgICAgKQogICAgICAobG9jYWwuZ2V0ICR2YXIkMCkKICAgICApCiAgICApCiAgICAobG9jYWwuZ2V0ICR2YXIkMikKICAgKQogICAobG9jYWwuZ2V0ICR2YXIkMikKICApCiApCiA7OyBjdXN0b20gc2VjdGlvbiAibGlua2luZyIsIHNpemUgMwopCgBB7OUJCxrlXAAA5lwAAOdcAADoXAAA6VwAAOpcAADrXABBkOYJCybsXAAA7VwAAO5cAADvXAAA8FwAAPFcAADyXAAAbFcAAG1XAABuVwBBwOYJCybzXAAA9FwAAO0NAAD1XAAA9lwAAPdcAABrVwAAbFcAAG1XAABuVwBB8OYJCxr4XAAA+VwAAPpcAAD7XAAA/FwAAP1cAAD+XABBlOcJCyb/XAAAAF0AAAFdAAACXQAAA10AAARdAAAFXQAAbFcAAG1XAABuVwBBxOcJCxr4XAAABl0AAAddAAAIXQAACV0AAApdAAALXQBB6OcJCxoMXQAADV0AAA5dAAAPXQAAEF0AABFdAAASXQBBjOgJCxoTXQAAFF0AABVdAAAWXQAAF10AABhdAAAZXQBBsOgJCxoTXQAAGl0AABtdAAAcXQAAHV0AAB5dAAAfXQBB1OgJCxoTXQAAIF0AACFdAAAiXQAAI10AACRdAAAlXQBB+OgJCxoTXQAAJl0AACddAAAoXQAAKV0AACpdAAArXQBBnOkJCxoTXQAALF0AAC1dAAAuXQAAL10AADBdAAAxXQBBwOkJCxoTXQAAMl0AADNdAAA0XQAANV0AADZdAAA3XQBB5OkJCxoTXQAAOF0AADldAAA6XQAAO10AADxdAAA9XQBBiOoJCxoTXQAAPl0AAD9dAABAXQAAQV0AAEJdAABDXQBBrOoJCxoTXQAARF0AAEVdAABGXQAAR10AAEhdAABJXQBB0OoJCxoTXQAASl0AAEtdAABMXQAATV0AAE5dAABPXQBB9OoJCyZQXQAAUV0AAFJdAABTXQAAVF0AAFVdAABWXQAAbFcAAG1XAABuVwBBpOsJCxqmVwAAV10AAFhdAABZXQAAWl0AAFtdAABcXQBByOsJCyZdXQAAXl0AAF9dAABgXQAAYV0AAGJdAABjXQAAbFcAAG1XAABuVwBB+OsJCxpLWQAAZF0AAEhbAABOWQAAT1kAAPlXAABQWQBBnOwJCyZlXQAAZl0AAGddAABoXQAAaV0AAGpdAABrVwAAbFcAAG1XAABuVwBBzOwJCyZrXQAAbF0AALIMAABtXQAAbl0AAG9dAABrVwAAbFcAAHBdAABuVwBB/OwJCwqIWQAAcV0AAN4NAEGQ7QkLJv9XAAByXQAAQlgAAOlXAADqVwAA61cAAGtXAABsVwAAbVcAAG5XAEHA7QkLGj9aAABzXQAAdF0AAHVdAAB2XQAAd10AAHhdAEHk7QkLCnldAAB6XQAAe10AQfjtCQsKfF0AAH1dAAB+XQBBjO4JCwp/XQAAgF0AAIFdAEGg7gkLGoJdAACDXQAAhF0AAIVdAACGXQAAh10AAHFWAEHE7gkLGjFaAACIXQAAiV0AAIpdAACLXQAAjF0AAI1dAEHo7gkLGjhaAACOXQAAj10AAJBdAACRXQAAkl0AAJNdAEGM7wkLGoFZAACUXQAAlV0AAJZdAACXXQAAmF0AAJldAEGw7wkLGoFZAACaXQAAm10AAJxdAACdXQAAnl0AAJ9dAEHU7wkLlQ+BWQAAoF0AAKFdAACiXQAAo10AAKRdAAClXQAATm8gZXJyb3IgaW5mb3JtYXRpb24ASWxsZWdhbCBieXRlIHNlcXVlbmNlAERvbWFpbiBlcnJvcgBSZXN1bHQgbm90IHJlcHJlc2VudGFibGUATm90IGEgdHR5AFBlcm1pc3Npb24gZGVuaWVkAE9wZXJhdGlvbiBub3QgcGVybWl0dGVkAE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkATm8gc3VjaCBwcm9jZXNzAEZpbGUgZXhpc3RzAFZhbHVlIHRvbyBsYXJnZSBmb3IgZGF0YSB0eXBlAE5vIHNwYWNlIGxlZnQgb24gZGV2aWNlAE91dCBvZiBtZW1vcnkAUmVzb3VyY2UgYnVzeQBJbnRlcnJ1cHRlZCBzeXN0ZW0gY2FsbABSZXNvdXJjZSB0ZW1wb3JhcmlseSB1bmF2YWlsYWJsZQBJbnZhbGlkIHNlZWsAQ3Jvc3MtZGV2aWNlIGxpbmsAUmVhZC1vbmx5IGZpbGUgc3lzdGVtAERpcmVjdG9yeSBub3QgZW1wdHkAQ29ubmVjdGlvbiByZXNldCBieSBwZWVyAE9wZXJhdGlvbiB0aW1lZCBvdXQAQ29ubmVjdGlvbiByZWZ1c2VkAEhvc3QgaXMgZG93bgBIb3N0IGlzIHVucmVhY2hhYmxlAEFkZHJlc3MgaW4gdXNlAEJyb2tlbiBwaXBlAEkvTyBlcnJvcgBObyBzdWNoIGRldmljZSBvciBhZGRyZXNzAEJsb2NrIGRldmljZSByZXF1aXJlZABObyBzdWNoIGRldmljZQBOb3QgYSBkaXJlY3RvcnkASXMgYSBkaXJlY3RvcnkAVGV4dCBmaWxlIGJ1c3kARXhlYyBmb3JtYXQgZXJyb3IASW52YWxpZCBhcmd1bWVudABBcmd1bWVudCBsaXN0IHRvbyBsb25nAFN5bWJvbGljIGxpbmsgbG9vcABGaWxlbmFtZSB0b28gbG9uZwBUb28gbWFueSBvcGVuIGZpbGVzIGluIHN5c3RlbQBObyBmaWxlIGRlc2NyaXB0b3JzIGF2YWlsYWJsZQBCYWQgZmlsZSBkZXNjcmlwdG9yAE5vIGNoaWxkIHByb2Nlc3MAQmFkIGFkZHJlc3MARmlsZSB0b28gbGFyZ2UAVG9vIG1hbnkgbGlua3MATm8gbG9ja3MgYXZhaWxhYmxlAFJlc291cmNlIGRlYWRsb2NrIHdvdWxkIG9jY3VyAFN0YXRlIG5vdCByZWNvdmVyYWJsZQBQcmV2aW91cyBvd25lciBkaWVkAE9wZXJhdGlvbiBjYW5jZWxlZABGdW5jdGlvbiBub3QgaW1wbGVtZW50ZWQATm8gbWVzc2FnZSBvZiBkZXNpcmVkIHR5cGUASWRlbnRpZmllciByZW1vdmVkAERldmljZSBub3QgYSBzdHJlYW0ATm8gZGF0YSBhdmFpbGFibGUARGV2aWNlIHRpbWVvdXQAT3V0IG9mIHN0cmVhbXMgcmVzb3VyY2VzAExpbmsgaGFzIGJlZW4gc2V2ZXJlZABQcm90b2NvbCBlcnJvcgBCYWQgbWVzc2FnZQBGaWxlIGRlc2NyaXB0b3IgaW4gYmFkIHN0YXRlAE5vdCBhIHNvY2tldABEZXN0aW5hdGlvbiBhZGRyZXNzIHJlcXVpcmVkAE1lc3NhZ2UgdG9vIGxhcmdlAFByb3RvY29sIHdyb25nIHR5cGUgZm9yIHNvY2tldABQcm90b2NvbCBub3QgYXZhaWxhYmxlAFByb3RvY29sIG5vdCBzdXBwb3J0ZWQAU29ja2V0IHR5cGUgbm90IHN1cHBvcnRlZABOb3Qgc3VwcG9ydGVkAFByb3RvY29sIGZhbWlseSBub3Qgc3VwcG9ydGVkAEFkZHJlc3MgZmFtaWx5IG5vdCBzdXBwb3J0ZWQgYnkgcHJvdG9jb2wAQWRkcmVzcyBub3QgYXZhaWxhYmxlAE5ldHdvcmsgaXMgZG93bgBOZXR3b3JrIHVucmVhY2hhYmxlAENvbm5lY3Rpb24gcmVzZXQgYnkgbmV0d29yawBDb25uZWN0aW9uIGFib3J0ZWQATm8gYnVmZmVyIHNwYWNlIGF2YWlsYWJsZQBTb2NrZXQgaXMgY29ubmVjdGVkAFNvY2tldCBub3QgY29ubmVjdGVkAENhbm5vdCBzZW5kIGFmdGVyIHNvY2tldCBzaHV0ZG93bgBPcGVyYXRpb24gYWxyZWFkeSBpbiBwcm9ncmVzcwBPcGVyYXRpb24gaW4gcHJvZ3Jlc3MAU3RhbGUgZmlsZSBoYW5kbGUAUmVtb3RlIEkvTyBlcnJvcgBRdW90YSBleGNlZWRlZABObyBtZWRpdW0gZm91bmQAV3JvbmcgbWVkaXVtIHR5cGUATXVsdGlob3AgYXR0ZW1wdGVkAFJlcXVpcmVkIGtleSBub3QgYXZhaWxhYmxlAEtleSBoYXMgZXhwaXJlZABLZXkgaGFzIGJlZW4gcmV2b2tlZABLZXkgd2FzIHJlamVjdGVkIGJ5IHNlcnZpY2UAQfL+CQuWAaUCWwDwAbUFjAUlAYMGHQOUBP8AxwMxAwsGvAGPAX8DygQrANoGrwBCA04D3AEOBBUAoQYNAZQCCwI4BmQCvAL/Al0D5wQLB88CywXvBdsF4QIeBkUChQCCAmwDbwTxAPMDGAXZANoDTAZUAnsBnQO9BAAAUQAVArsAswNtAP8BhQQvBfkEOABlAUYBnwC3BqgBcwJTAQBBuIAKCwwhBAAAAAAAAAAALwIAQdiACgsGNQRHBFYEAEHugAoLAqAEAEGCgQoLIkYFYAVuBWEGAADPAQAAAAAAAAAAyQbpBvkGHgc5B0kHXgcAQbCBCguRAdF0ngBXnb0qgHBSD///PicKAAAAZAAAAOgDAAAQJwAAoIYBAEBCDwCAlpgAAOH1BRgAAAA1AAAAcQAAAGv////O+///kr///wAAAAAAAAAAGQAKABkZGQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAAZABEKGRkZAwoHAAEACQsYAAAJBgsAAAsABhkAAAAZGRkAQdGCCgshDgAAAAAAAAAAGQAKDRkZGQANAAACAAkOAAAACQAOAAAOAEGLgwoLAQwAQZeDCgsVEwAAAAATAAAAAAkMAAAAAAAMAAAMAEHFgwoLARAAQdGDCgsVDwAAAAQPAAAAAAkQAAAAAAAQAAAQAEH/gwoLARIAQYuECgseEQAAAAARAAAAAAkSAAAAAAASAAASAAAaAAAAGhoaAEHChAoLDhoAAAAaGhoAAAAAAAAJAEHzhAoLARQAQf+ECgsVFwAAAAAXAAAAAAkUAAAAAAAUAAAUAEGthQoLARYAQbmFCgvuAhUAAAAAFQAAAAAJFgAAAAAAFgAAFgAAMDEyMzQ1Njc4OUFCQ0RFRv////////////////////////////////////////////////////////////////8AAQIDBAUGBwgJ/////////woLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIj////////CgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiP/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAECBAcDBgUAAAAAAAAAHIQCAD8HAACoXQAAqV0AAE5TdDNfXzIxN2JhZF9mdW5jdGlvbl9jYWxsRQDkvQIAAIQCABC+AgBBtIgKC5AXAgAAAAMAAAAFAAAABwAAAAsAAAANAAAAEQAAABMAAAAXAAAAHQAAAB8AAAAlAAAAKQAAACsAAAAvAAAANQAAADsAAAA9AAAAQwAAAEcAAABJAAAATwAAAFMAAABZAAAAYQAAAGUAAABnAAAAawAAAG0AAABxAAAAfwAAAIMAAACJAAAAiwAAAJUAAACXAAAAnQAAAKMAAACnAAAArQAAALMAAAC1AAAAvwAAAMEAAADFAAAAxwAAANMAAAABAAAACwAAAA0AAAARAAAAEwAAABcAAAAdAAAAHwAAACUAAAApAAAAKwAAAC8AAAA1AAAAOwAAAD0AAABDAAAARwAAAEkAAABPAAAAUwAAAFkAAABhAAAAZQAAAGcAAABrAAAAbQAAAHEAAAB5AAAAfwAAAIMAAACJAAAAiwAAAI8AAACVAAAAlwAAAJ0AAACjAAAApwAAAKkAAACtAAAAswAAALUAAAC7AAAAvwAAAMEAAADFAAAAxwAAANEAAAAAAAAADI0CAKpdAACrXQAArF0AAK1dAACuXQAAr10AALBdAACxXQAAsl0AALNdAAC0XQAAtV0AALZdAAC3XQAAAAAAAJSOAgC4XQAAuV0AALpdAAC7XQAAvF0AAL1dAAC+XQAAv10AAMBdAADBXQAAwl0AAMNdAADEXQAAxV0AAAAAAAC4iAIAxl0AAMddAACsXQAArV0AAMhdAADJXQAAsF0AALFdAACyXQAAyl0AALRdAADLXQAAtl0AAMxdAAAAAAAADIwCAM1dAADOXQAAz10AANBdAADRXQAA0l0AANNdAACxXQAAsl0AANRdAAC0XQAA1V0AALZdAADWXQAATlN0M19fMjliYXNpY19pb3NJY05TXzExY2hhcl90cmFpdHNJY0VFRUUATlN0M19fMjE1YmFzaWNfc3RyZWFtYnVmSWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFAE5TdDNfXzIxM2Jhc2ljX2lzdHJlYW1JY05TXzExY2hhcl90cmFpdHNJY0VFRUUATlN0M19fMjEzYmFzaWNfb3N0cmVhbUljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRQBOU3QzX18yMTRiYXNpY19pb3N0cmVhbUljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRQAAAACIuwIAaYcCAAMAAAACAAAASI0CAAIAAAAkjgIAAggAAE5TdDNfXzI5YmFzaWNfaW9zSXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFAE5TdDNfXzIxNWJhc2ljX3N0cmVhbWJ1Zkl3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRQBOU3QzX18yMTNiYXNpY19pc3RyZWFtSXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFAE5TdDNfXzIxM2Jhc2ljX29zdHJlYW1Jd05TXzExY2hhcl90cmFpdHNJd0VFRUUATlN0M19fMjE1YmFzaWNfc3RyaW5nYnVmSWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VFRUUAAOS9AgB1iAIADI0CAEAAAAAAAAAAcIkCANddAADYXQAAOAAAAPj///9wiQIA2V0AANpdAADA////wP///3CJAgDbXQAA3F0AAEAAAAAAAAAASI0CAN1dAADeXQAAwP///8D///9IjQIA310AAOBdAABOU3QzX18yMThiYXNpY19zdHJpbmdzdHJlYW1JY05TXzExY2hhcl90cmFpdHNJY0VFTlNfOWFsbG9jYXRvckljRUVFRQAAAADkvQIAKIkCAJyHAgA4AAAAAAAAABSKAgDhXQAA4l0AAMj////I////FIoCAONdAADkXQAAOAAAAAAAAAAkjgIA5V0AAOZdAADI////yP///ySOAgDnXQAA6F0AAE5TdDNfXzIxOWJh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",!og(_)){var Ng=_;_=A.locateFile?A.locateFile(Ng,e):e+Ng}function nI(){var g=_;return Promise.resolve().then(()=>{if(g==_&&ZA)var I=new Uint8Array(ZA);else{if(og(g))if(I=g.slice(37),typeof AA!="undefined"&&AA)I=Buffer.from(I,"base64"),I=new Uint8Array(I.buffer,I.byteOffset,I.length);else{I=atob(I);for(var E=new Uint8Array(I.length),Q=0;QWebAssembly.instantiate(E,g)).then(E=>E).then(I,E=>{gA(`failed to asynchronously prepare wasm: ${E}`),T(E)})}function VI(g,I){return eI(g,I)}var $,eA;function VA(g){this.name="ExitStatus",this.message=`Program terminated with exit(${g})`,this.status=g}var rA=g=>{for(;0{I>>>=0;for(var E=I+NaN,Q=I;g[Q]&&!(Q>=E);)++Q;if(16C?E+=String.fromCharCode(C):(C-=65536,E+=String.fromCharCode(55296|C>>10,56320|C&1023))}}else E+=String.fromCharCode(C)}return E},F=g=>(g>>>=0)?QA(r,g):"",YA=[],HA=0,j=0;class TA{constructor(I){this.PB=I,this.EB=I-24}}var lA=g=>{var I=j;if(!I)return wA(0),0;var E=new TA(I);a[E.EB+16>>>2>>>0]=I;var Q=a[E.EB+4>>>2>>>0];if(!Q)return wA(0),I;for(var C in g){var D=g[C];if(D===0||D===Q)break;if(fg(D,Q,E.EB+16))return wA(D),I}return wA(Q),I},Rg=(g,I)=>{for(var E=0,Q=g.length-1;0<=Q;Q--){var C=g[Q];C==="."?g.splice(Q,1):C===".."?(g.splice(Q,1),E++):E&&(g.splice(Q,1),E--)}if(I)for(;E;E--)g.unshift("..");return g},BA=g=>{var I=g.charAt(0)==="/",E=g.substr(-1)==="/";return(g=Rg(g.split("/").filter(Q=>!!Q),!I).join("/"))||I||(g="."),g&&E&&(g+="/"),(I?"/":"")+g},TI=g=>{var I=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(g).slice(1);return g=I[0],I=I[1],!g&&!I?".":(I&&=I.substr(0,I.length-1),g+I)},kg=g=>{if(g==="/")return"/";g=BA(g),g=g.replace(/\/$/,"");var I=g.lastIndexOf("/");return I===-1?g:g.substr(I+1)},lI=()=>{if(typeof crypto=="object"&&typeof crypto.getRandomValues=="function")return E=>crypto.getRandomValues(E);if(AA)try{var g=FA("crypto");if(g.randomFillSync)return E=>g.randomFillSync(E);var I=g.randomBytes;return E=>(E.set(I(E.byteLength)),E)}catch{}T("initRandomDevice")},Ug=g=>(Ug=lI())(g);function SA(){for(var g="",I=!1,E=arguments.length-1;-1<=E&&!I;E--){if(I=0<=E?arguments[E]:"/",typeof I!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!I)return"";g=I+"/"+g,I=I.charAt(0)==="/"}return g=Rg(g.split("/").filter(Q=>!!Q),!I).join("/"),(I?"/":"")+g||"."}var pA=[],Fg=g=>{for(var I=0,E=0;E=Q?I++:2047>=Q?I+=2:55296<=Q&&57343>=Q?(I+=4,++E):I+=3}return I},Gg=(g,I,E,Q)=>{if(E>>>=0,!(0=i){var N=g.charCodeAt(++D);i=65536+((i&1023)<<10)|N&1023}if(127>=i){if(E>=Q)break;I[E++>>>0]=i}else{if(2047>=i){if(E+1>=Q)break;I[E++>>>0]=192|i>>6}else{if(65535>=i){if(E+2>=Q)break;I[E++>>>0]=224|i>>12}else{if(E+3>=Q)break;I[E++>>>0]=240|i>>18,I[E++>>>0]=128|i>>12&63}I[E++>>>0]=128|i>>6&63}I[E++>>>0]=128|i&63}}return I[E>>>0]=0,E-C};function Jg(g,I){var E=Array(Fg(g)+1);return g=Gg(g,E,0,E.length),I&&(E.length=g),E}var Yg=[];function Hg(g,I){Yg[g]={input:[],output:[],JB:I},fA(g,pI)}var pI={open(g){var I=Yg[g.node.rdev];if(!I)throw new G(43);g.tty=I,g.seekable=!1},close(g){g.tty.JB.fsync(g.tty)},fsync(g){g.tty.JB.fsync(g.tty)},read(g,I,E,Q){if(!g.tty||!g.tty.JB.cC)throw new G(60);for(var C=0,D=0;D=I||(I=Math.max(I,E*(1048576>E?2:1.125)>>>0),E!=0&&(I=Math.max(I,256)),E=g.BB,g.BB=new Uint8Array(I),0=g.node.DB)return 0;if(g=Math.min(g.node.DB-C,Q),8I)throw new G(28);return I},ZB(g,I,E){Sg(g.node,I+E),g.node.DB=Math.max(g.node.DB,I+E)},dC(g,I,E,Q,C){if((g.node.mode&61440)!=32768)throw new G(43);if(g=g.node.BB,C&2||g.buffer!==t.buffer){if((0>>0)}else E=!1,I=g.byteOffset;return{EB:I,tC:E}},fC(g,I,E,Q){return K.CB.write(g,I,0,Q,E,!1),0}}},fI=(g,I)=>{var E=0;return g&&(E|=365),I&&(E|=146),E},bA=null,Lg={},CA=[],jI=1,EA=null,yg=!0,G=null,mA={};function u(g,I={}){if(g=SA(g),!g)return{path:"",node:null};if(I=Object.assign({bC:!0,XB:0},I),8!!i);for(var E=bA,Q="/",C=0;C>>0)%EA.length}function LA(g,I){var E;if(E=(E=yA(g,"x"))?E:g.AB.lookup?0:2)throw new G(E,g);for(E=EA[sg(g.id,I)];E;E=E.mC){var Q=E.name;if(E.parent.id===g.id&&Q===I)return E}return g.AB.lookup(g,I)}function hg(g,I,E,Q){return g=new Tg(g,I,E,Q),I=sg(g.parent.id,g.name),g.mC=EA[I],EA[I]=g}function Mg(g){var I=["r","w","rw"][g&3];return g&512&&(I+="w"),I}function yA(g,I){if(yg)return 0;if(!I.includes("r")||g.mode&292){if(I.includes("w")&&!(g.mode&146)||I.includes("x")&&!(g.mode&73))return 2}else return 2;return 0}function cg(g,I){try{return LA(g,I),20}catch{}return yA(g,"wx")}function PI(){for(var g=0;4096>=g;g++)if(!CA[g])return g;throw new G(33)}function P(g){if(g=CA[g],!g)throw new G(8);return g}function ag(g,I=-1){return iA||(iA=function(){this.QB={}},iA.prototype={},Object.defineProperties(iA.prototype,{object:{get(){return this.node},set(E){this.node=E}},flags:{get(){return this.QB.flags},set(E){this.QB.flags=E}},position:{get(){return this.QB.position},set(E){this.QB.position=E}}})),g=Object.assign(new iA,g),I==-1&&(I=PI()),g.fd=I,CA[I]=g}var OI={open(g){g.CB=Lg[g.node.rdev].CB,g.CB.open?.(g)},MB(){throw new G(70)}};function fA(g,I){Lg[g]={CB:I}}function dg(g,I){var E=I==="/",Q=!I;if(E&&bA)throw new G(10);if(!E&&!Q){var C=u(I,{bC:!1});if(I=C.path,C=C.node,C.SB)throw new G(10);if((C.mode&61440)!=16384)throw new G(54)}I={type:g,BC:{},eC:I,lC:[]},g=g.IB(I),g.IB=I,I.root=g,E?bA=g:C&&(C.SB=I,C.IB&&C.IB.lC.push(I))}function jA(g,I,E){var Q=u(g,{parent:!0}).node;if(g=kg(g),!g||g==="."||g==="..")throw new G(28);var C=cg(Q,g);if(C)throw new G(C);if(!Q.AB.RB)throw new G(63);return Q.AB.RB(Q,g,I,E)}function l(g){return jA(g,16895,0)}function KA(g,I,E){typeof E=="undefined"&&(E=I,I=438),jA(g,I|8192,E)}function PA(g,I){if(!SA(g))throw new G(44);var E=u(I,{parent:!0}).node;if(!E)throw new G(44);I=kg(I);var Q=cg(E,I);if(Q)throw new G(Q);if(!E.AB.symlink)throw new G(63);E.AB.symlink(E,I,g)}function XI(g){if(g=u(g).node,!g)throw new G(44);if(!g.AB.readlink)throw new G(28);return SA(Kg(g.parent),g.AB.readlink(g))}function sA(g,I,E){if(g==="")throw new G(44);if(typeof I=="string"){var Q={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[I];if(typeof Q=="undefined")throw Error(`Unknown file open mode: ${I}`);I=Q}if(E=I&64?(typeof E=="undefined"?438:E)&4095|32768:0,typeof g=="object")var C=g;else{g=BA(g);try{C=u(g,{aC:!(I&131072)}).node}catch{}}if(Q=!1,I&64)if(C){if(I&128)throw new G(20)}else C=jA(g,E,0),Q=!0;if(!C)throw new G(44);if((C.mode&61440)==8192&&(I&=-513),I&65536&&(C.mode&61440)!=16384)throw new G(54);if(!Q&&(E=C?(C.mode&61440)==40960?32:(C.mode&61440)==16384&&(Mg(I)!=="r"||I&512)?31:yA(C,Mg(I)):44))throw new G(E);if(I&512&&!Q){if(E=C,E=typeof E=="string"?u(E,{aC:!0}).node:E,!E.AB.GB)throw new G(63);if((E.mode&61440)==16384)throw new G(31);if((E.mode&61440)!=32768)throw new G(28);if(Q=yA(E,"w"))throw new G(Q);E.AB.GB(E,{size:0,timestamp:Date.now()})}return I&=-131713,C=ag({node:C,path:Kg(C),flags:I,seekable:!0,position:0,CB:C.CB,sC:[],error:!1}),C.CB.open&&C.CB.open(C),!A.logReadFiles||I&1||(OA||={},g in OA||(OA[g]=1)),C}function tg(g,I,E){if(g.fd===null)throw new G(8);if(!g.seekable||!g.CB.MB)throw new G(70);if(E!=0&&E!=1&&E!=2)throw new G(28);g.position=g.CB.MB(g,I,E),g.sC=[]}function Wg(){G||(G=function(g,I){this.name="ErrnoError",this.node=I,this.nC=function(E){this.LB=E},this.nC(g),this.message="FS error"},G.prototype=Error(),G.prototype.constructor=G,[44].forEach(g=>{mA[g]=new G(g),mA[g].stack=""}))}var qg;function DA(g,I,E){g=BA("/dev/"+g);var Q=fI(!!I,!!E);Zg||=64;var C=Zg++<<8|0;fA(C,{open(D){D.seekable=!1},close(){E?.buffer?.length&&E(10)},read(D,i,N,R){for(var U=0,S=0;S>>2>>>0];return oA+=4,g}var XA={},xg=()=>{if(!uA){var g={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:tA||"./this.program"},I;for(I in XA)XA[I]===void 0?delete g[I]:g[I]=XA[I];var E=[];for(I in g)E.push(`${I}=${g[I]}`);uA=E}return uA},uA,zA=(g,I)=>{for(var E=0;E>>0>>>0]=g.charCodeAt(E);t[I>>>0>>>0]=0},hA=g=>g%4==0&&(g%100!=0||g%400==0),ng=[31,29,31,30,31,30,31,31,30,31,30,31],eg=[31,28,31,30,31,30,31,31,30,31,30,31];function uI(g,I,E,Q){function C(w,s,y){for(w=typeof w=="number"?w.toString():w||"";w.lengthn?-1:0d-w.getDate())s-=d-w.getDate()+1,w.setDate(1),11>y?w.setMonth(y+1):(w.setMonth(0),w.setFullYear(w.getFullYear()+1));else{w.setDate(w.getDate()+s);break}}return y=new Date(w.getFullYear()+1,0,4),s=N(new Date(w.getFullYear(),0,4)),y=N(y),0>=i(s,w)?0>=i(y,w)?w.getFullYear()+1:w.getFullYear():w.getFullYear()-1}g>>>=0,I>>>=0,E>>>=0,Q>>>=0;var U=a[Q+40>>>2>>>0];Q={qC:W[Q>>>2>>>0],pC:W[Q+4>>>2>>>0],TB:W[Q+8>>>2>>>0],YB:W[Q+12>>>2>>>0],UB:W[Q+16>>>2>>>0],OB:W[Q+20>>>2>>>0],HB:W[Q+24>>>2>>>0],NB:W[Q+28>>>2>>>0],CC:W[Q+32>>>2>>>0],oC:W[Q+36>>>2>>>0],rC:U?F(U):""},E=F(E),U={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var S in U)E=E.replace(new RegExp(S,"g"),U[S]);var h="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),M="January February March April May June July August September October November December".split(" ");U={"%a":w=>h[w.HB].substring(0,3),"%A":w=>h[w.HB],"%b":w=>M[w.UB].substring(0,3),"%B":w=>M[w.UB],"%C":w=>D((w.OB+1900)/100|0,2),"%d":w=>D(w.YB,2),"%e":w=>C(w.YB,2," "),"%g":w=>R(w).toString().substring(2),"%G":R,"%H":w=>D(w.TB,2),"%I":w=>(w=w.TB,w==0?w=12:12{for(var s=0,y=0;y<=w.UB-1;s+=(hA(w.OB+1900)?ng:eg)[y++]);return D(w.YB+s,3)},"%m":w=>D(w.UB+1,2),"%M":w=>D(w.pC,2),"%n":()=>` -`,"%p":w=>0<=w.TB&&12>w.TB?"AM":"PM","%S":w=>D(w.qC,2),"%t":()=>" ","%u":w=>w.HB||7,"%U":w=>D(Math.floor((w.NB+7-w.HB)/7),2),"%V":w=>{var s=Math.floor((w.NB+7-(w.HB+6)%7)/7);if(2>=(w.HB+371-w.NB-2)%7&&s++,s)s==53&&(y=(w.HB+371-w.NB)%7,y==4||y==3&&hA(w.OB)||(s=1));else{s=52;var y=(w.HB+7-w.NB-1)%7;(y==4||y==5&&hA(w.OB%400-1))&&s++}return D(s,2)},"%w":w=>w.HB,"%W":w=>D(Math.floor((w.NB+7-(w.HB+6)%7)/7),2),"%y":w=>(w.OB+1900).toString().substring(2),"%Y":w=>w.OB+1900,"%z":w=>{w=w.oC;var s=0<=w;return w=Math.abs(w)/60,(s?"+":"-")+String("0000"+(w/60*100+w%60)).slice(-4)},"%Z":w=>w.rC,"%%":()=>"%"},E=E.replace(/%%/g,"\0\0");for(S in U)E.includes(S)&&(E=E.replace(new RegExp(S,"g"),U[S](Q)));return E=E.replace(/\0\0/g,"%"),S=Jg(E,!1),S.length>I?0:(t.set(S,g>>>0),S.length-1)}var MA=[],Vg,c=g=>{var I=MA[g];return I||(g>=MA.length&&(MA.length=g+1),MA[g]=I=Vg.get(g)),I},rg=g=>{var I=Fg(g)+1,E=Z(I);return Gg(g,r,E,I),E};function Tg(g,I,E,Q){g||=this,this.parent=g,this.IB=g.IB,this.SB=null,this.id=jI++,this.name=I,this.mode=E,this.AB={},this.CB={},this.rdev=Q}Object.defineProperties(Tg.prototype,{read:{get:function(){return(this.mode&365)==365},set:function(g){g?this.mode|=365:this.mode&=-366}},write:{get:function(){return(this.mode&146)==146},set:function(g){g?this.mode|=146:this.mode&=-147}}}),Wg(),EA=Array(4096),dg(K,"/"),l("/tmp"),l("/home"),l("/home/web_user"),function(){l("/dev"),fA(259,{read:()=>0,write:(Q,C,D,i)=>i}),KA("/dev/null",259),Hg(1280,bI),Hg(1536,mI),KA("/dev/tty",1280),KA("/dev/tty1",1536);var g=new Uint8Array(1024),I=0,E=()=>(I===0&&(I=Ug(g).byteLength),g[--I]);DA("random",E),DA("urandom",E),l("/dev/shm"),l("/dev/shm/tmp")}(),function(){l("/proc");var g=l("/proc/self");l("/proc/self/fd"),dg({IB(){var I=hg(g,"fd",16895,73);return I.AB={lookup(E,Q){var C=P(+Q);return E={parent:null,IB:{eC:"fake"},AB:{readlink:()=>C.path}},E.parent=E}},I}},"/proc/self/fd")}();var zI={b:function(g,I,E,Q){I>>>=0,Q>>>=0,T(`Assertion failed: ${F(g>>>0)}, at: `+[I?F(I):"unknown filename",E,Q?F(Q):"unknown function"])},o:function(g){if(g=new TA(g>>>0),t[g.EB+12>>>0>>>0]==0&&(t[g.EB+12>>>0>>>0]=1,HA--),t[g.EB+13>>>0>>>0]=0,YA.push(g),mg(g.PB),jg(a[g.EB+4>>>2>>>0]))g=a[g.PB>>>2>>>0];else{var I=a[g.EB+16>>>2>>>0];g=I!==0?I:g.PB}return g},r:()=>{J(0,0);var g=YA.pop();bg(g.PB),j=0},a:function(){return lA([])},l:function(g){return lA([g>>>0])},F:function(g,I){return lA([g>>>0,I>>>0])},E:()=>{var g=YA.pop();g||T("no exception to throw");var I=g.PB;throw t[g.EB+13>>>0>>>0]==0&&(YA.push(g),t[g.EB+13>>>0>>>0]=1,t[g.EB+12>>>0>>>0]=0,HA++),j=I,j},s:function(g,I,E){g>>>=0;var Q=new TA(g);throw a[Q.EB+16>>>2>>>0]=0,a[Q.EB+4>>>2>>>0]=I>>>0,a[Q.EB+8>>>2>>>0]=E>>>0,j=g,HA++,j},Ea:()=>HA,h:function(g){throw j||=g>>>0,j},G:function(g,I,E){oA=E>>>0;try{var Q=P(g);switch(I){case 0:var C=p();if(0>C)break;for(;CA[C];)C++;return ag(Q,C).fd;case 1:case 2:return 0;case 3:return Q.flags;case 4:return C=p(),Q.flags|=C,0;case 12:return C=p(),JA[C+0>>>1>>>0]=2,0;case 13:case 14:return 0}return-28}catch(D){if(typeof z=="undefined"||D.name!=="ErrnoError")throw D;return-D.LB}},Ca:function(g,I,E){oA=E>>>0;try{var Q=P(g);switch(I){case 21509:return Q.tty?0:-59;case 21505:if(!Q.tty)return-59;if(Q.tty.JB.iC){I=[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];var C=p();W[C>>>2>>>0]=25856,W[C+4>>>2>>>0]=5,W[C+8>>>2>>>0]=191,W[C+12>>>2>>>0]=35387;for(var D=0;32>D;D++)t[C+D+17>>>0>>>0]=I[D]||0}return 0;case 21510:case 21511:case 21512:return Q.tty?0:-59;case 21506:case 21507:case 21508:if(!Q.tty)return-59;if(Q.tty.JB.jC)for(C=p(),I=[],D=0;32>D;D++)I.push(t[C+D+17>>>0>>>0]);return 0;case 21519:return Q.tty?(C=p(),W[C>>>2>>>0]=0):-59;case 21520:return Q.tty?-28:-59;case 21531:if(C=p(),!Q.CB.hC)throw new G(59);return Q.CB.hC(Q,I,C);case 21523:return Q.tty?(Q.tty.JB.kC&&(D=[24,80],C=p(),JA[C>>>1>>>0]=D[0],JA[C+2>>>1>>>0]=D[1]),0):-59;case 21524:return Q.tty?0:-59;case 21515:return Q.tty?0:-59;default:return-28}}catch(i){if(typeof z=="undefined"||i.name!=="ErrnoError")throw i;return-i.LB}},Da:function(g,I,E,Q){I>>>=0,oA=Q>>>=0;try{I=F(I);var C=I;if(C.charAt(0)==="/")I=C;else{var D=g===-100?"/":P(g).path;if(C.length==0)throw new G(44);I=BA(D+"/"+C)}var i=Q?p():0;return sA(I,E,i).fd}catch(N){if(typeof z=="undefined"||N.name!=="ErrnoError")throw N;return-N.LB}},Fa:()=>1,p:()=>{T("")},I:()=>performance.now(),Ga:function(g){g>>>=0;var I=r.length;if(4294901760=E;E*=2){var Q=I*(1+.2/E);Q=Math.min(Q,g+100663296);var C=Math;Q=Math.max(g,Q);A:{C=(C.min.call(C,4294901760,Q+(65536-Q%65536)%65536)-GA.buffer.byteLength+65535)/65536;try{GA.grow(C),Bg();var D=1;break A}catch{}D=void 0}if(D)return!0}return!1},R:function(g,I){g>>>=0,I>>>=0;var E=0;return xg().forEach((Q,C)=>{var D=I+E;a[g+4*C>>>2>>>0]=D,zA(Q,D),E+=Q.length+1}),0},$:function(g,I){g>>>=0,I>>>=0;var E=xg();a[g>>>2>>>0]=E.length;var Q=0;return E.forEach(C=>Q+=C.length+1),a[I>>>2>>>0]=Q,0},H:function(g){try{var I=P(g);if(I.fd===null)throw new G(8);I.VB&&(I.VB=null);try{I.CB.close&&I.CB.close(I)}catch(E){throw E}finally{CA[I.fd]=null}return I.fd=null,0}catch(E){if(typeof z=="undefined"||E.name!=="ErrnoError")throw E;return E.LB}},Ba:function(g,I,E,Q){I>>>=0,E>>>=0,Q>>>=0;try{A:{var C=P(g);g=I;for(var D,i=I=0;i>>2>>>0],R=a[g+4>>>2>>>0];g+=8;var U=C,S=N,h=R,M=D,w=t;if(0>h||0>M)throw new G(28);if(U.fd===null)throw new G(8);if((U.flags&2097155)==1)throw new G(8);if((U.node.mode&61440)==16384)throw new G(31);if(!U.CB.read)throw new G(28);var s=typeof M!="undefined";if(!s)M=U.position;else if(!U.seekable)throw new G(70);var y=U.CB.read(U,w,S,h,M);s||(U.position+=y);var d=y;if(0>d){var n=-1;break A}if(I+=d,d>>2>>>0]=n,0}catch(m){if(typeof z=="undefined"||m.name!=="ErrnoError")throw m;return m.LB}},ua:function(g,I,E,Q,C){I=E+2097152>>>0<4194305-!!I?(I>>>0)+4294967296*E:NaN,C>>>=0;try{if(isNaN(I))return 61;var D=P(g);return tg(D,I,Q),eA=[D.position>>>0,($=D.position,1<=+Math.abs($)?0<$?+Math.floor($/4294967296)>>>0:~~+Math.ceil(($-+(~~$>>>0))/4294967296)>>>0:0)],W[C>>>2>>>0]=eA[0],W[C+4>>>2>>>0]=eA[1],D.VB&&I===0&&Q===0&&(D.VB=null),0}catch(i){if(typeof z=="undefined"||i.name!=="ErrnoError")throw i;return i.LB}},Ha:function(g,I,E,Q){I>>>=0,E>>>=0,Q>>>=0;try{A:{var C=P(g);g=I;for(var D,i=I=0;i>>2>>>0],R=a[g+4>>>2>>>0];g+=8;var U=C,S=N,h=R,M=D,w=t;if(0>h||0>M)throw new G(28);if(U.fd===null)throw new G(8);if((U.flags&2097155)==0)throw new G(8);if((U.node.mode&61440)==16384)throw new G(31);if(!U.CB.write)throw new G(28);U.seekable&&U.flags&1024&&tg(U,0,2);var s=typeof M!="undefined";if(!s)M=U.position;else if(!U.seekable)throw new G(70);var y=U.CB.write(U,w,S,h,M,void 0);s||(U.position+=y);var d=y;if(0>d){var n=-1;break A}I+=d,typeof D!="undefined"&&(D+=d)}n=I}return a[Q>>>2>>>0]=n,0}catch(m){if(typeof z=="undefined"||m.name!=="ErrnoError")throw m;return m.LB}},z:oQ,g:$I,xa:kQ,c:_I,e:AQ,n:CQ,va:YQ,q:wQ,u:DQ,C:JQ,wa:UQ,B:HQ,M:gB,O:$Q,t:uQ,ra:sQ,T:XQ,Z:bQ,pa:MQ,ca:rQ,P:_Q,Q:vQ,L:IB,la:tQ,ma:dQ,U:OQ,K:QB,na:aQ,W:jQ,J:BB,da:VQ,ba:TQ,j:IQ,k:QQ,ya:RQ,D:iQ,d:vI,i:BQ,f:gQ,m:EQ,x:FQ,v:GQ,za:NQ,y:SQ,A:LQ,X:fQ,N:AB,oa:cQ,ha:ZQ,sa:KQ,ta:yQ,ga:xQ,fa:nQ,ja:WQ,Y:mQ,qa:hQ,_:pQ,aa:lQ,S:zQ,ea:eQ,ia:qQ,V:PQ,w:function(g){return g>>>0},ka:g=>{rI||(A.onExit?.(g),xA=!0),WA(g,new VA(g))},Aa:function(g,I,E,Q){return uI(g>>>0,I>>>0,E>>>0,Q>>>0)}},B=function(){function g(E){return B=E.exports,B=CB(),GA=B.Ia,Bg(),Vg=B.HA,Eg.unshift(B.Ja),X--,A.monitorRunDependencies?.(X),X==0&&(nA!==null&&(clearInterval(nA),nA=null),IA&&(E=IA,IA=null,E())),B}var I={a:zI};if(X++,A.monitorRunDependencies?.(X),A.instantiateWasm)try{return A.instantiateWasm(I,g)}catch(E){gA(`Module.instantiateWasm callback failed with error: ${E}`),RA(E)}return VI(I,function(E){g(E.instance)}).catch(RA),{}}();A._BinaryenTypeNone=()=>(A._BinaryenTypeNone=B.Ka)(),A._BinaryenTypeInt32=()=>(A._BinaryenTypeInt32=B.La)(),A._BinaryenTypeInt64=()=>(A._BinaryenTypeInt64=B.Ma)(),A._BinaryenTypeFloat32=()=>(A._BinaryenTypeFloat32=B.Na)(),A._BinaryenTypeFloat64=()=>(A._BinaryenTypeFloat64=B.Oa)(),A._BinaryenTypeVec128=()=>(A._BinaryenTypeVec128=B.Pa)(),A._BinaryenTypeFuncref=()=>(A._BinaryenTypeFuncref=B.Qa)(),A._BinaryenTypeExternref=()=>(A._BinaryenTypeExternref=B.Ra)(),A._BinaryenTypeAnyref=()=>(A._BinaryenTypeAnyref=B.Sa)(),A._BinaryenTypeEqref=()=>(A._BinaryenTypeEqref=B.Ta)(),A._BinaryenTypeI31ref=()=>(A._BinaryenTypeI31ref=B.Ua)(),A._BinaryenTypeStructref=()=>(A._BinaryenTypeStructref=B.Va)(),A._BinaryenTypeArrayref=()=>(A._BinaryenTypeArrayref=B.Wa)(),A._BinaryenTypeStringref=()=>(A._BinaryenTypeStringref=B.Xa)(),A._BinaryenTypeStringviewWTF8=()=>(A._BinaryenTypeStringviewWTF8=B.Ya)(),A._BinaryenTypeStringviewWTF16=()=>(A._BinaryenTypeStringviewWTF16=B.Za)(),A._BinaryenTypeStringviewIter=()=>(A._BinaryenTypeStringviewIter=B._a)(),A._BinaryenTypeNullref=()=>(A._BinaryenTypeNullref=B.$a)(),A._BinaryenTypeNullExternref=()=>(A._BinaryenTypeNullExternref=B.ab)(),A._BinaryenTypeNullFuncref=()=>(A._BinaryenTypeNullFuncref=B.bb)(),A._BinaryenTypeUnreachable=()=>(A._BinaryenTypeUnreachable=B.cb)(),A._BinaryenTypeAuto=()=>(A._BinaryenTypeAuto=B.db)(),A._BinaryenTypeCreate=(g,I)=>(A._BinaryenTypeCreate=B.eb)(g,I),A._BinaryenTypeArity=g=>(A._BinaryenTypeArity=B.fb)(g),A._BinaryenTypeExpand=(g,I)=>(A._BinaryenTypeExpand=B.gb)(g,I),A._BinaryenPackedTypeNotPacked=()=>(A._BinaryenPackedTypeNotPacked=B.hb)(),A._BinaryenPackedTypeInt8=()=>(A._BinaryenPackedTypeInt8=B.ib)(),A._BinaryenPackedTypeInt16=()=>(A._BinaryenPackedTypeInt16=B.jb)(),A._BinaryenHeapTypeExt=()=>(A._BinaryenHeapTypeExt=B.kb)(),A._BinaryenHeapTypeFunc=()=>(A._BinaryenHeapTypeFunc=B.lb)(),A._BinaryenHeapTypeAny=()=>(A._BinaryenHeapTypeAny=B.mb)(),A._BinaryenHeapTypeEq=()=>(A._BinaryenHeapTypeEq=B.nb)(),A._BinaryenHeapTypeI31=()=>(A._BinaryenHeapTypeI31=B.ob)(),A._BinaryenHeapTypeStruct=()=>(A._BinaryenHeapTypeStruct=B.pb)(),A._BinaryenHeapTypeArray=()=>(A._BinaryenHeapTypeArray=B.qb)(),A._BinaryenHeapTypeString=()=>(A._BinaryenHeapTypeString=B.rb)(),A._BinaryenHeapTypeStringviewWTF8=()=>(A._BinaryenHeapTypeStringviewWTF8=B.sb)(),A._BinaryenHeapTypeStringviewWTF16=()=>(A._BinaryenHeapTypeStringviewWTF16=B.tb)(),A._BinaryenHeapTypeStringviewIter=()=>(A._BinaryenHeapTypeStringviewIter=B.ub)(),A._BinaryenHeapTypeNone=()=>(A._BinaryenHeapTypeNone=B.vb)(),A._BinaryenHeapTypeNoext=()=>(A._BinaryenHeapTypeNoext=B.wb)(),A._BinaryenHeapTypeNofunc=()=>(A._BinaryenHeapTypeNofunc=B.xb)(),A._BinaryenHeapTypeIsBasic=g=>(A._BinaryenHeapTypeIsBasic=B.yb)(g),A._BinaryenHeapTypeIsSignature=g=>(A._BinaryenHeapTypeIsSignature=B.zb)(g),A._BinaryenHeapTypeIsStruct=g=>(A._BinaryenHeapTypeIsStruct=B.Ab)(g),A._BinaryenHeapTypeIsArray=g=>(A._BinaryenHeapTypeIsArray=B.Bb)(g),A._BinaryenHeapTypeIsBottom=g=>(A._BinaryenHeapTypeIsBottom=B.Cb)(g),A._BinaryenHeapTypeGetBottom=g=>(A._BinaryenHeapTypeGetBottom=B.Db)(g),A._BinaryenHeapTypeIsSubType=(g,I)=>(A._BinaryenHeapTypeIsSubType=B.Eb)(g,I),A._BinaryenStructTypeGetNumFields=g=>(A._BinaryenStructTypeGetNumFields=B.Fb)(g),A._BinaryenStructTypeGetFieldType=(g,I)=>(A._BinaryenStructTypeGetFieldType=B.Gb)(g,I),A._BinaryenStructTypeGetFieldPackedType=(g,I)=>(A._BinaryenStructTypeGetFieldPackedType=B.Hb)(g,I),A._BinaryenStructTypeIsFieldMutable=(g,I)=>(A._BinaryenStructTypeIsFieldMutable=B.Ib)(g,I),A._BinaryenArrayTypeGetElementType=g=>(A._BinaryenArrayTypeGetElementType=B.Jb)(g),A._BinaryenArrayTypeGetElementPackedType=g=>(A._BinaryenArrayTypeGetElementPackedType=B.Kb)(g),A._BinaryenArrayTypeIsElementMutable=g=>(A._BinaryenArrayTypeIsElementMutable=B.Lb)(g),A._BinaryenSignatureTypeGetParams=g=>(A._BinaryenSignatureTypeGetParams=B.Mb)(g),A._BinaryenSignatureTypeGetResults=g=>(A._BinaryenSignatureTypeGetResults=B.Nb)(g),A._BinaryenTypeGetHeapType=g=>(A._BinaryenTypeGetHeapType=B.Ob)(g),A._BinaryenTypeIsNullable=g=>(A._BinaryenTypeIsNullable=B.Pb)(g),A._BinaryenTypeFromHeapType=(g,I)=>(A._BinaryenTypeFromHeapType=B.Qb)(g,I),A._BinaryenInvalidId=()=>(A._BinaryenInvalidId=B.Rb)(),A._BinaryenNopId=()=>(A._BinaryenNopId=B.Sb)(),A._BinaryenBlockId=()=>(A._BinaryenBlockId=B.Tb)(),A._BinaryenIfId=()=>(A._BinaryenIfId=B.Ub)(),A._BinaryenLoopId=()=>(A._BinaryenLoopId=B.Vb)(),A._BinaryenBreakId=()=>(A._BinaryenBreakId=B.Wb)(),A._BinaryenSwitchId=()=>(A._BinaryenSwitchId=B.Xb)(),A._BinaryenCallId=()=>(A._BinaryenCallId=B.Yb)(),A._BinaryenCallIndirectId=()=>(A._BinaryenCallIndirectId=B.Zb)(),A._BinaryenLocalGetId=()=>(A._BinaryenLocalGetId=B._b)(),A._BinaryenLocalSetId=()=>(A._BinaryenLocalSetId=B.$b)(),A._BinaryenGlobalGetId=()=>(A._BinaryenGlobalGetId=B.ac)(),A._BinaryenGlobalSetId=()=>(A._BinaryenGlobalSetId=B.bc)(),A._BinaryenLoadId=()=>(A._BinaryenLoadId=B.cc)(),A._BinaryenStoreId=()=>(A._BinaryenStoreId=B.dc)(),A._BinaryenAtomicRMWId=()=>(A._BinaryenAtomicRMWId=B.ec)(),A._BinaryenAtomicCmpxchgId=()=>(A._BinaryenAtomicCmpxchgId=B.fc)(),A._BinaryenAtomicWaitId=()=>(A._BinaryenAtomicWaitId=B.gc)(),A._BinaryenAtomicNotifyId=()=>(A._BinaryenAtomicNotifyId=B.hc)(),A._BinaryenAtomicFenceId=()=>(A._BinaryenAtomicFenceId=B.ic)(),A._BinaryenSIMDExtractId=()=>(A._BinaryenSIMDExtractId=B.jc)(),A._BinaryenSIMDReplaceId=()=>(A._BinaryenSIMDReplaceId=B.kc)(),A._BinaryenSIMDShuffleId=()=>(A._BinaryenSIMDShuffleId=B.lc)(),A._BinaryenSIMDTernaryId=()=>(A._BinaryenSIMDTernaryId=B.mc)(),A._BinaryenSIMDShiftId=()=>(A._BinaryenSIMDShiftId=B.nc)(),A._BinaryenSIMDLoadId=()=>(A._BinaryenSIMDLoadId=B.oc)(),A._BinaryenSIMDLoadStoreLaneId=()=>(A._BinaryenSIMDLoadStoreLaneId=B.pc)(),A._BinaryenMemoryInitId=()=>(A._BinaryenMemoryInitId=B.qc)(),A._BinaryenDataDropId=()=>(A._BinaryenDataDropId=B.rc)(),A._BinaryenMemoryCopyId=()=>(A._BinaryenMemoryCopyId=B.sc)(),A._BinaryenMemoryFillId=()=>(A._BinaryenMemoryFillId=B.tc)(),A._BinaryenConstId=()=>(A._BinaryenConstId=B.uc)(),A._BinaryenUnaryId=()=>(A._BinaryenUnaryId=B.vc)(),A._BinaryenBinaryId=()=>(A._BinaryenBinaryId=B.wc)(),A._BinaryenSelectId=()=>(A._BinaryenSelectId=B.xc)(),A._BinaryenDropId=()=>(A._BinaryenDropId=B.yc)(),A._BinaryenReturnId=()=>(A._BinaryenReturnId=B.zc)(),A._BinaryenMemorySizeId=()=>(A._BinaryenMemorySizeId=B.Ac)(),A._BinaryenMemoryGrowId=()=>(A._BinaryenMemoryGrowId=B.Bc)(),A._BinaryenUnreachableId=()=>(A._BinaryenUnreachableId=B.Cc)(),A._BinaryenPopId=()=>(A._BinaryenPopId=B.Dc)(),A._BinaryenRefNullId=()=>(A._BinaryenRefNullId=B.Ec)(),A._BinaryenRefIsNullId=()=>(A._BinaryenRefIsNullId=B.Fc)(),A._BinaryenRefFuncId=()=>(A._BinaryenRefFuncId=B.Gc)(),A._BinaryenRefEqId=()=>(A._BinaryenRefEqId=B.Hc)(),A._BinaryenTableGetId=()=>(A._BinaryenTableGetId=B.Ic)(),A._BinaryenTableSetId=()=>(A._BinaryenTableSetId=B.Jc)(),A._BinaryenTableSizeId=()=>(A._BinaryenTableSizeId=B.Kc)(),A._BinaryenTableGrowId=()=>(A._BinaryenTableGrowId=B.Lc)(),A._BinaryenTableFillId=()=>(A._BinaryenTableFillId=B.Mc)(),A._BinaryenTableCopyId=()=>(A._BinaryenTableCopyId=B.Nc)(),A._BinaryenTryId=()=>(A._BinaryenTryId=B.Oc)(),A._BinaryenTryTableId=()=>(A._BinaryenTryTableId=B.Pc)(),A._BinaryenThrowId=()=>(A._BinaryenThrowId=B.Qc)(),A._BinaryenRethrowId=()=>(A._BinaryenRethrowId=B.Rc)(),A._BinaryenThrowRefId=()=>(A._BinaryenThrowRefId=B.Sc)(),A._BinaryenTupleMakeId=()=>(A._BinaryenTupleMakeId=B.Tc)(),A._BinaryenTupleExtractId=()=>(A._BinaryenTupleExtractId=B.Uc)(),A._BinaryenRefI31Id=()=>(A._BinaryenRefI31Id=B.Vc)(),A._BinaryenI31GetId=()=>(A._BinaryenI31GetId=B.Wc)(),A._BinaryenCallRefId=()=>(A._BinaryenCallRefId=B.Xc)(),A._BinaryenRefTestId=()=>(A._BinaryenRefTestId=B.Yc)(),A._BinaryenRefCastId=()=>(A._BinaryenRefCastId=B.Zc)(),A._BinaryenBrOnId=()=>(A._BinaryenBrOnId=B._c)(),A._BinaryenStructNewId=()=>(A._BinaryenStructNewId=B.$c)(),A._BinaryenStructGetId=()=>(A._BinaryenStructGetId=B.ad)(),A._BinaryenStructSetId=()=>(A._BinaryenStructSetId=B.bd)(),A._BinaryenArrayNewId=()=>(A._BinaryenArrayNewId=B.cd)(),A._BinaryenArrayNewDataId=()=>(A._BinaryenArrayNewDataId=B.dd)(),A._BinaryenArrayNewElemId=()=>(A._BinaryenArrayNewElemId=B.ed)(),A._BinaryenArrayNewFixedId=()=>(A._BinaryenArrayNewFixedId=B.fd)(),A._BinaryenArrayGetId=()=>(A._BinaryenArrayGetId=B.gd)(),A._BinaryenArraySetId=()=>(A._BinaryenArraySetId=B.hd)(),A._BinaryenArrayLenId=()=>(A._BinaryenArrayLenId=B.id)(),A._BinaryenArrayCopyId=()=>(A._BinaryenArrayCopyId=B.jd)(),A._BinaryenArrayFillId=()=>(A._BinaryenArrayFillId=B.kd)(),A._BinaryenArrayInitDataId=()=>(A._BinaryenArrayInitDataId=B.ld)(),A._BinaryenArrayInitElemId=()=>(A._BinaryenArrayInitElemId=B.md)(),A._BinaryenRefAsId=()=>(A._BinaryenRefAsId=B.nd)(),A._BinaryenStringNewId=()=>(A._BinaryenStringNewId=B.od)(),A._BinaryenStringConstId=()=>(A._BinaryenStringConstId=B.pd)(),A._BinaryenStringMeasureId=()=>(A._BinaryenStringMeasureId=B.qd)(),A._BinaryenStringEncodeId=()=>(A._BinaryenStringEncodeId=B.rd)(),A._BinaryenStringConcatId=()=>(A._BinaryenStringConcatId=B.sd)(),A._BinaryenStringEqId=()=>(A._BinaryenStringEqId=B.td)(),A._BinaryenStringAsId=()=>(A._BinaryenStringAsId=B.ud)(),A._BinaryenStringWTF8AdvanceId=()=>(A._BinaryenStringWTF8AdvanceId=B.vd)(),A._BinaryenStringWTF16GetId=()=>(A._BinaryenStringWTF16GetId=B.wd)(),A._BinaryenStringIterNextId=()=>(A._BinaryenStringIterNextId=B.xd)(),A._BinaryenStringIterMoveId=()=>(A._BinaryenStringIterMoveId=B.yd)(),A._BinaryenStringSliceWTFId=()=>(A._BinaryenStringSliceWTFId=B.zd)(),A._BinaryenStringSliceIterId=()=>(A._BinaryenStringSliceIterId=B.Ad)(),A._BinaryenResumeId=()=>(A._BinaryenResumeId=B.Bd)(),A._BinaryenExternalFunction=()=>(A._BinaryenExternalFunction=B.Cd)(),A._BinaryenExternalTable=()=>(A._BinaryenExternalTable=B.Dd)(),A._BinaryenExternalMemory=()=>(A._BinaryenExternalMemory=B.Ed)(),A._BinaryenExternalGlobal=()=>(A._BinaryenExternalGlobal=B.Fd)(),A._BinaryenExternalTag=()=>(A._BinaryenExternalTag=B.Gd)(),A._BinaryenFeatureMVP=()=>(A._BinaryenFeatureMVP=B.Hd)(),A._BinaryenFeatureAtomics=()=>(A._BinaryenFeatureAtomics=B.Id)(),A._BinaryenFeatureBulkMemory=()=>(A._BinaryenFeatureBulkMemory=B.Jd)(),A._BinaryenFeatureMutableGlobals=()=>(A._BinaryenFeatureMutableGlobals=B.Kd)(),A._BinaryenFeatureNontrappingFPToInt=()=>(A._BinaryenFeatureNontrappingFPToInt=B.Ld)(),A._BinaryenFeatureSignExt=()=>(A._BinaryenFeatureSignExt=B.Md)(),A._BinaryenFeatureSIMD128=()=>(A._BinaryenFeatureSIMD128=B.Nd)(),A._BinaryenFeatureExceptionHandling=()=>(A._BinaryenFeatureExceptionHandling=B.Od)(),A._BinaryenFeatureTailCall=()=>(A._BinaryenFeatureTailCall=B.Pd)(),A._BinaryenFeatureReferenceTypes=()=>(A._BinaryenFeatureReferenceTypes=B.Qd)(),A._BinaryenFeatureMultivalue=()=>(A._BinaryenFeatureMultivalue=B.Rd)(),A._BinaryenFeatureGC=()=>(A._BinaryenFeatureGC=B.Sd)(),A._BinaryenFeatureMemory64=()=>(A._BinaryenFeatureMemory64=B.Td)(),A._BinaryenFeatureRelaxedSIMD=()=>(A._BinaryenFeatureRelaxedSIMD=B.Ud)(),A._BinaryenFeatureExtendedConst=()=>(A._BinaryenFeatureExtendedConst=B.Vd)(),A._BinaryenFeatureStrings=()=>(A._BinaryenFeatureStrings=B.Wd)(),A._BinaryenFeatureMultiMemory=()=>(A._BinaryenFeatureMultiMemory=B.Xd)(),A._BinaryenFeatureAll=()=>(A._BinaryenFeatureAll=B.Yd)(),A._BinaryenModuleCreate=()=>(A._BinaryenModuleCreate=B.Zd)(),A._BinaryenModuleDispose=g=>(A._BinaryenModuleDispose=B._d)(g),A._BinaryenLiteralInt32=(g,I)=>(A._BinaryenLiteralInt32=B.$d)(g,I),A._BinaryenLiteralInt64=(g,I,E)=>(A._BinaryenLiteralInt64=B.ae)(g,I,E),A._BinaryenLiteralFloat32=(g,I)=>(A._BinaryenLiteralFloat32=B.be)(g,I),A._BinaryenLiteralFloat64=(g,I)=>(A._BinaryenLiteralFloat64=B.ce)(g,I),A._BinaryenLiteralVec128=(g,I)=>(A._BinaryenLiteralVec128=B.de)(g,I),A._BinaryenLiteralFloat32Bits=(g,I)=>(A._BinaryenLiteralFloat32Bits=B.ee)(g,I),A._BinaryenLiteralFloat64Bits=(g,I,E)=>(A._BinaryenLiteralFloat64Bits=B.fe)(g,I,E),A._BinaryenClzInt32=()=>(A._BinaryenClzInt32=B.ge)(),A._BinaryenCtzInt32=()=>(A._BinaryenCtzInt32=B.he)(),A._BinaryenPopcntInt32=()=>(A._BinaryenPopcntInt32=B.ie)(),A._BinaryenNegFloat32=()=>(A._BinaryenNegFloat32=B.je)(),A._BinaryenAbsFloat32=()=>(A._BinaryenAbsFloat32=B.ke)(),A._BinaryenCeilFloat32=()=>(A._BinaryenCeilFloat32=B.le)(),A._BinaryenFloorFloat32=()=>(A._BinaryenFloorFloat32=B.me)(),A._BinaryenTruncFloat32=()=>(A._BinaryenTruncFloat32=B.ne)(),A._BinaryenNearestFloat32=()=>(A._BinaryenNearestFloat32=B.oe)(),A._BinaryenSqrtFloat32=()=>(A._BinaryenSqrtFloat32=B.pe)(),A._BinaryenEqZInt32=()=>(A._BinaryenEqZInt32=B.qe)(),A._BinaryenClzInt64=()=>(A._BinaryenClzInt64=B.re)(),A._BinaryenCtzInt64=()=>(A._BinaryenCtzInt64=B.se)(),A._BinaryenPopcntInt64=()=>(A._BinaryenPopcntInt64=B.te)(),A._BinaryenNegFloat64=()=>(A._BinaryenNegFloat64=B.ue)(),A._BinaryenAbsFloat64=()=>(A._BinaryenAbsFloat64=B.ve)(),A._BinaryenCeilFloat64=()=>(A._BinaryenCeilFloat64=B.we)(),A._BinaryenFloorFloat64=()=>(A._BinaryenFloorFloat64=B.xe)(),A._BinaryenTruncFloat64=()=>(A._BinaryenTruncFloat64=B.ye)(),A._BinaryenNearestFloat64=()=>(A._BinaryenNearestFloat64=B.ze)(),A._BinaryenSqrtFloat64=()=>(A._BinaryenSqrtFloat64=B.Ae)(),A._BinaryenEqZInt64=()=>(A._BinaryenEqZInt64=B.Be)(),A._BinaryenExtendSInt32=()=>(A._BinaryenExtendSInt32=B.Ce)(),A._BinaryenExtendUInt32=()=>(A._BinaryenExtendUInt32=B.De)(),A._BinaryenWrapInt64=()=>(A._BinaryenWrapInt64=B.Ee)(),A._BinaryenTruncSFloat32ToInt32=()=>(A._BinaryenTruncSFloat32ToInt32=B.Fe)(),A._BinaryenTruncSFloat32ToInt64=()=>(A._BinaryenTruncSFloat32ToInt64=B.Ge)(),A._BinaryenTruncUFloat32ToInt32=()=>(A._BinaryenTruncUFloat32ToInt32=B.He)(),A._BinaryenTruncUFloat32ToInt64=()=>(A._BinaryenTruncUFloat32ToInt64=B.Ie)(),A._BinaryenTruncSFloat64ToInt32=()=>(A._BinaryenTruncSFloat64ToInt32=B.Je)(),A._BinaryenTruncSFloat64ToInt64=()=>(A._BinaryenTruncSFloat64ToInt64=B.Ke)(),A._BinaryenTruncUFloat64ToInt32=()=>(A._BinaryenTruncUFloat64ToInt32=B.Le)(),A._BinaryenTruncUFloat64ToInt64=()=>(A._BinaryenTruncUFloat64ToInt64=B.Me)(),A._BinaryenReinterpretFloat32=()=>(A._BinaryenReinterpretFloat32=B.Ne)(),A._BinaryenReinterpretFloat64=()=>(A._BinaryenReinterpretFloat64=B.Oe)(),A._BinaryenExtendS8Int32=()=>(A._BinaryenExtendS8Int32=B.Pe)(),A._BinaryenExtendS16Int32=()=>(A._BinaryenExtendS16Int32=B.Qe)(),A._BinaryenExtendS8Int64=()=>(A._BinaryenExtendS8Int64=B.Re)(),A._BinaryenExtendS16Int64=()=>(A._BinaryenExtendS16Int64=B.Se)(),A._BinaryenExtendS32Int64=()=>(A._BinaryenExtendS32Int64=B.Te)(),A._BinaryenConvertSInt32ToFloat32=()=>(A._BinaryenConvertSInt32ToFloat32=B.Ue)(),A._BinaryenConvertSInt32ToFloat64=()=>(A._BinaryenConvertSInt32ToFloat64=B.Ve)(),A._BinaryenConvertUInt32ToFloat32=()=>(A._BinaryenConvertUInt32ToFloat32=B.We)(),A._BinaryenConvertUInt32ToFloat64=()=>(A._BinaryenConvertUInt32ToFloat64=B.Xe)(),A._BinaryenConvertSInt64ToFloat32=()=>(A._BinaryenConvertSInt64ToFloat32=B.Ye)(),A._BinaryenConvertSInt64ToFloat64=()=>(A._BinaryenConvertSInt64ToFloat64=B.Ze)(),A._BinaryenConvertUInt64ToFloat32=()=>(A._BinaryenConvertUInt64ToFloat32=B._e)(),A._BinaryenConvertUInt64ToFloat64=()=>(A._BinaryenConvertUInt64ToFloat64=B.$e)(),A._BinaryenPromoteFloat32=()=>(A._BinaryenPromoteFloat32=B.af)(),A._BinaryenDemoteFloat64=()=>(A._BinaryenDemoteFloat64=B.bf)(),A._BinaryenReinterpretInt32=()=>(A._BinaryenReinterpretInt32=B.cf)(),A._BinaryenReinterpretInt64=()=>(A._BinaryenReinterpretInt64=B.df)(),A._BinaryenAddInt32=()=>(A._BinaryenAddInt32=B.ef)(),A._BinaryenSubInt32=()=>(A._BinaryenSubInt32=B.ff)(),A._BinaryenMulInt32=()=>(A._BinaryenMulInt32=B.gf)(),A._BinaryenDivSInt32=()=>(A._BinaryenDivSInt32=B.hf)(),A._BinaryenDivUInt32=()=>(A._BinaryenDivUInt32=B.jf)(),A._BinaryenRemSInt32=()=>(A._BinaryenRemSInt32=B.kf)(),A._BinaryenRemUInt32=()=>(A._BinaryenRemUInt32=B.lf)(),A._BinaryenAndInt32=()=>(A._BinaryenAndInt32=B.mf)(),A._BinaryenOrInt32=()=>(A._BinaryenOrInt32=B.nf)(),A._BinaryenXorInt32=()=>(A._BinaryenXorInt32=B.of)(),A._BinaryenShlInt32=()=>(A._BinaryenShlInt32=B.pf)(),A._BinaryenShrUInt32=()=>(A._BinaryenShrUInt32=B.qf)(),A._BinaryenShrSInt32=()=>(A._BinaryenShrSInt32=B.rf)(),A._BinaryenRotLInt32=()=>(A._BinaryenRotLInt32=B.sf)(),A._BinaryenRotRInt32=()=>(A._BinaryenRotRInt32=B.tf)(),A._BinaryenEqInt32=()=>(A._BinaryenEqInt32=B.uf)(),A._BinaryenNeInt32=()=>(A._BinaryenNeInt32=B.vf)(),A._BinaryenLtSInt32=()=>(A._BinaryenLtSInt32=B.wf)(),A._BinaryenLtUInt32=()=>(A._BinaryenLtUInt32=B.xf)(),A._BinaryenLeSInt32=()=>(A._BinaryenLeSInt32=B.yf)(),A._BinaryenLeUInt32=()=>(A._BinaryenLeUInt32=B.zf)(),A._BinaryenGtSInt32=()=>(A._BinaryenGtSInt32=B.Af)(),A._BinaryenGtUInt32=()=>(A._BinaryenGtUInt32=B.Bf)(),A._BinaryenGeSInt32=()=>(A._BinaryenGeSInt32=B.Cf)(),A._BinaryenGeUInt32=()=>(A._BinaryenGeUInt32=B.Df)(),A._BinaryenAddInt64=()=>(A._BinaryenAddInt64=B.Ef)(),A._BinaryenSubInt64=()=>(A._BinaryenSubInt64=B.Ff)(),A._BinaryenMulInt64=()=>(A._BinaryenMulInt64=B.Gf)(),A._BinaryenDivSInt64=()=>(A._BinaryenDivSInt64=B.Hf)(),A._BinaryenDivUInt64=()=>(A._BinaryenDivUInt64=B.If)(),A._BinaryenRemSInt64=()=>(A._BinaryenRemSInt64=B.Jf)(),A._BinaryenRemUInt64=()=>(A._BinaryenRemUInt64=B.Kf)(),A._BinaryenAndInt64=()=>(A._BinaryenAndInt64=B.Lf)(),A._BinaryenOrInt64=()=>(A._BinaryenOrInt64=B.Mf)(),A._BinaryenXorInt64=()=>(A._BinaryenXorInt64=B.Nf)(),A._BinaryenShlInt64=()=>(A._BinaryenShlInt64=B.Of)(),A._BinaryenShrUInt64=()=>(A._BinaryenShrUInt64=B.Pf)(),A._BinaryenShrSInt64=()=>(A._BinaryenShrSInt64=B.Qf)(),A._BinaryenRotLInt64=()=>(A._BinaryenRotLInt64=B.Rf)(),A._BinaryenRotRInt64=()=>(A._BinaryenRotRInt64=B.Sf)(),A._BinaryenEqInt64=()=>(A._BinaryenEqInt64=B.Tf)(),A._BinaryenNeInt64=()=>(A._BinaryenNeInt64=B.Uf)(),A._BinaryenLtSInt64=()=>(A._BinaryenLtSInt64=B.Vf)(),A._BinaryenLtUInt64=()=>(A._BinaryenLtUInt64=B.Wf)(),A._BinaryenLeSInt64=()=>(A._BinaryenLeSInt64=B.Xf)(),A._BinaryenLeUInt64=()=>(A._BinaryenLeUInt64=B.Yf)(),A._BinaryenGtSInt64=()=>(A._BinaryenGtSInt64=B.Zf)(),A._BinaryenGtUInt64=()=>(A._BinaryenGtUInt64=B._f)(),A._BinaryenGeSInt64=()=>(A._BinaryenGeSInt64=B.$f)(),A._BinaryenGeUInt64=()=>(A._BinaryenGeUInt64=B.ag)(),A._BinaryenAddFloat32=()=>(A._BinaryenAddFloat32=B.bg)(),A._BinaryenSubFloat32=()=>(A._BinaryenSubFloat32=B.cg)(),A._BinaryenMulFloat32=()=>(A._BinaryenMulFloat32=B.dg)(),A._BinaryenDivFloat32=()=>(A._BinaryenDivFloat32=B.eg)(),A._BinaryenCopySignFloat32=()=>(A._BinaryenCopySignFloat32=B.fg)(),A._BinaryenMinFloat32=()=>(A._BinaryenMinFloat32=B.gg)(),A._BinaryenMaxFloat32=()=>(A._BinaryenMaxFloat32=B.hg)(),A._BinaryenEqFloat32=()=>(A._BinaryenEqFloat32=B.ig)(),A._BinaryenNeFloat32=()=>(A._BinaryenNeFloat32=B.jg)(),A._BinaryenLtFloat32=()=>(A._BinaryenLtFloat32=B.kg)(),A._BinaryenLeFloat32=()=>(A._BinaryenLeFloat32=B.lg)(),A._BinaryenGtFloat32=()=>(A._BinaryenGtFloat32=B.mg)(),A._BinaryenGeFloat32=()=>(A._BinaryenGeFloat32=B.ng)(),A._BinaryenAddFloat64=()=>(A._BinaryenAddFloat64=B.og)(),A._BinaryenSubFloat64=()=>(A._BinaryenSubFloat64=B.pg)(),A._BinaryenMulFloat64=()=>(A._BinaryenMulFloat64=B.qg)(),A._BinaryenDivFloat64=()=>(A._BinaryenDivFloat64=B.rg)(),A._BinaryenCopySignFloat64=()=>(A._BinaryenCopySignFloat64=B.sg)(),A._BinaryenMinFloat64=()=>(A._BinaryenMinFloat64=B.tg)(),A._BinaryenMaxFloat64=()=>(A._BinaryenMaxFloat64=B.ug)(),A._BinaryenEqFloat64=()=>(A._BinaryenEqFloat64=B.vg)(),A._BinaryenNeFloat64=()=>(A._BinaryenNeFloat64=B.wg)(),A._BinaryenLtFloat64=()=>(A._BinaryenLtFloat64=B.xg)(),A._BinaryenLeFloat64=()=>(A._BinaryenLeFloat64=B.yg)(),A._BinaryenGtFloat64=()=>(A._BinaryenGtFloat64=B.zg)(),A._BinaryenGeFloat64=()=>(A._BinaryenGeFloat64=B.Ag)(),A._BinaryenAtomicRMWAdd=()=>(A._BinaryenAtomicRMWAdd=B.Bg)(),A._BinaryenAtomicRMWSub=()=>(A._BinaryenAtomicRMWSub=B.Cg)(),A._BinaryenAtomicRMWAnd=()=>(A._BinaryenAtomicRMWAnd=B.Dg)(),A._BinaryenAtomicRMWOr=()=>(A._BinaryenAtomicRMWOr=B.Eg)(),A._BinaryenAtomicRMWXor=()=>(A._BinaryenAtomicRMWXor=B.Fg)(),A._BinaryenAtomicRMWXchg=()=>(A._BinaryenAtomicRMWXchg=B.Gg)(),A._BinaryenTruncSatSFloat32ToInt32=()=>(A._BinaryenTruncSatSFloat32ToInt32=B.Hg)(),A._BinaryenTruncSatSFloat32ToInt64=()=>(A._BinaryenTruncSatSFloat32ToInt64=B.Ig)(),A._BinaryenTruncSatUFloat32ToInt32=()=>(A._BinaryenTruncSatUFloat32ToInt32=B.Jg)(),A._BinaryenTruncSatUFloat32ToInt64=()=>(A._BinaryenTruncSatUFloat32ToInt64=B.Kg)(),A._BinaryenTruncSatSFloat64ToInt32=()=>(A._BinaryenTruncSatSFloat64ToInt32=B.Lg)(),A._BinaryenTruncSatSFloat64ToInt64=()=>(A._BinaryenTruncSatSFloat64ToInt64=B.Mg)(),A._BinaryenTruncSatUFloat64ToInt32=()=>(A._BinaryenTruncSatUFloat64ToInt32=B.Ng)(),A._BinaryenTruncSatUFloat64ToInt64=()=>(A._BinaryenTruncSatUFloat64ToInt64=B.Og)(),A._BinaryenSplatVecI8x16=()=>(A._BinaryenSplatVecI8x16=B.Pg)(),A._BinaryenExtractLaneSVecI8x16=()=>(A._BinaryenExtractLaneSVecI8x16=B.Qg)(),A._BinaryenExtractLaneUVecI8x16=()=>(A._BinaryenExtractLaneUVecI8x16=B.Rg)(),A._BinaryenReplaceLaneVecI8x16=()=>(A._BinaryenReplaceLaneVecI8x16=B.Sg)(),A._BinaryenSplatVecI16x8=()=>(A._BinaryenSplatVecI16x8=B.Tg)(),A._BinaryenExtractLaneSVecI16x8=()=>(A._BinaryenExtractLaneSVecI16x8=B.Ug)(),A._BinaryenExtractLaneUVecI16x8=()=>(A._BinaryenExtractLaneUVecI16x8=B.Vg)(),A._BinaryenReplaceLaneVecI16x8=()=>(A._BinaryenReplaceLaneVecI16x8=B.Wg)(),A._BinaryenSplatVecI32x4=()=>(A._BinaryenSplatVecI32x4=B.Xg)(),A._BinaryenExtractLaneVecI32x4=()=>(A._BinaryenExtractLaneVecI32x4=B.Yg)(),A._BinaryenReplaceLaneVecI32x4=()=>(A._BinaryenReplaceLaneVecI32x4=B.Zg)(),A._BinaryenSplatVecI64x2=()=>(A._BinaryenSplatVecI64x2=B._g)(),A._BinaryenExtractLaneVecI64x2=()=>(A._BinaryenExtractLaneVecI64x2=B.$g)(),A._BinaryenReplaceLaneVecI64x2=()=>(A._BinaryenReplaceLaneVecI64x2=B.ah)(),A._BinaryenSplatVecF32x4=()=>(A._BinaryenSplatVecF32x4=B.bh)(),A._BinaryenExtractLaneVecF32x4=()=>(A._BinaryenExtractLaneVecF32x4=B.ch)(),A._BinaryenReplaceLaneVecF32x4=()=>(A._BinaryenReplaceLaneVecF32x4=B.dh)(),A._BinaryenSplatVecF64x2=()=>(A._BinaryenSplatVecF64x2=B.eh)(),A._BinaryenExtractLaneVecF64x2=()=>(A._BinaryenExtractLaneVecF64x2=B.fh)(),A._BinaryenReplaceLaneVecF64x2=()=>(A._BinaryenReplaceLaneVecF64x2=B.gh)(),A._BinaryenEqVecI8x16=()=>(A._BinaryenEqVecI8x16=B.hh)(),A._BinaryenNeVecI8x16=()=>(A._BinaryenNeVecI8x16=B.ih)(),A._BinaryenLtSVecI8x16=()=>(A._BinaryenLtSVecI8x16=B.jh)(),A._BinaryenLtUVecI8x16=()=>(A._BinaryenLtUVecI8x16=B.kh)(),A._BinaryenGtSVecI8x16=()=>(A._BinaryenGtSVecI8x16=B.lh)(),A._BinaryenGtUVecI8x16=()=>(A._BinaryenGtUVecI8x16=B.mh)(),A._BinaryenLeSVecI8x16=()=>(A._BinaryenLeSVecI8x16=B.nh)(),A._BinaryenLeUVecI8x16=()=>(A._BinaryenLeUVecI8x16=B.oh)(),A._BinaryenGeSVecI8x16=()=>(A._BinaryenGeSVecI8x16=B.ph)(),A._BinaryenGeUVecI8x16=()=>(A._BinaryenGeUVecI8x16=B.qh)(),A._BinaryenEqVecI16x8=()=>(A._BinaryenEqVecI16x8=B.rh)(),A._BinaryenNeVecI16x8=()=>(A._BinaryenNeVecI16x8=B.sh)(),A._BinaryenLtSVecI16x8=()=>(A._BinaryenLtSVecI16x8=B.th)(),A._BinaryenLtUVecI16x8=()=>(A._BinaryenLtUVecI16x8=B.uh)(),A._BinaryenGtSVecI16x8=()=>(A._BinaryenGtSVecI16x8=B.vh)(),A._BinaryenGtUVecI16x8=()=>(A._BinaryenGtUVecI16x8=B.wh)(),A._BinaryenLeSVecI16x8=()=>(A._BinaryenLeSVecI16x8=B.xh)(),A._BinaryenLeUVecI16x8=()=>(A._BinaryenLeUVecI16x8=B.yh)(),A._BinaryenGeSVecI16x8=()=>(A._BinaryenGeSVecI16x8=B.zh)(),A._BinaryenGeUVecI16x8=()=>(A._BinaryenGeUVecI16x8=B.Ah)(),A._BinaryenEqVecI32x4=()=>(A._BinaryenEqVecI32x4=B.Bh)(),A._BinaryenNeVecI32x4=()=>(A._BinaryenNeVecI32x4=B.Ch)(),A._BinaryenLtSVecI32x4=()=>(A._BinaryenLtSVecI32x4=B.Dh)(),A._BinaryenLtUVecI32x4=()=>(A._BinaryenLtUVecI32x4=B.Eh)(),A._BinaryenGtSVecI32x4=()=>(A._BinaryenGtSVecI32x4=B.Fh)(),A._BinaryenGtUVecI32x4=()=>(A._BinaryenGtUVecI32x4=B.Gh)(),A._BinaryenLeSVecI32x4=()=>(A._BinaryenLeSVecI32x4=B.Hh)(),A._BinaryenLeUVecI32x4=()=>(A._BinaryenLeUVecI32x4=B.Ih)(),A._BinaryenGeSVecI32x4=()=>(A._BinaryenGeSVecI32x4=B.Jh)(),A._BinaryenGeUVecI32x4=()=>(A._BinaryenGeUVecI32x4=B.Kh)(),A._BinaryenEqVecI64x2=()=>(A._BinaryenEqVecI64x2=B.Lh)(),A._BinaryenNeVecI64x2=()=>(A._BinaryenNeVecI64x2=B.Mh)(),A._BinaryenLtSVecI64x2=()=>(A._BinaryenLtSVecI64x2=B.Nh)(),A._BinaryenGtSVecI64x2=()=>(A._BinaryenGtSVecI64x2=B.Oh)(),A._BinaryenLeSVecI64x2=()=>(A._BinaryenLeSVecI64x2=B.Ph)(),A._BinaryenGeSVecI64x2=()=>(A._BinaryenGeSVecI64x2=B.Qh)(),A._BinaryenEqVecF32x4=()=>(A._BinaryenEqVecF32x4=B.Rh)(),A._BinaryenNeVecF32x4=()=>(A._BinaryenNeVecF32x4=B.Sh)(),A._BinaryenLtVecF32x4=()=>(A._BinaryenLtVecF32x4=B.Th)(),A._BinaryenGtVecF32x4=()=>(A._BinaryenGtVecF32x4=B.Uh)(),A._BinaryenLeVecF32x4=()=>(A._BinaryenLeVecF32x4=B.Vh)(),A._BinaryenGeVecF32x4=()=>(A._BinaryenGeVecF32x4=B.Wh)(),A._BinaryenEqVecF64x2=()=>(A._BinaryenEqVecF64x2=B.Xh)(),A._BinaryenNeVecF64x2=()=>(A._BinaryenNeVecF64x2=B.Yh)(),A._BinaryenLtVecF64x2=()=>(A._BinaryenLtVecF64x2=B.Zh)(),A._BinaryenGtVecF64x2=()=>(A._BinaryenGtVecF64x2=B._h)(),A._BinaryenLeVecF64x2=()=>(A._BinaryenLeVecF64x2=B.$h)(),A._BinaryenGeVecF64x2=()=>(A._BinaryenGeVecF64x2=B.ai)(),A._BinaryenNotVec128=()=>(A._BinaryenNotVec128=B.bi)(),A._BinaryenAndVec128=()=>(A._BinaryenAndVec128=B.ci)(),A._BinaryenOrVec128=()=>(A._BinaryenOrVec128=B.di)(),A._BinaryenXorVec128=()=>(A._BinaryenXorVec128=B.ei)(),A._BinaryenAndNotVec128=()=>(A._BinaryenAndNotVec128=B.fi)(),A._BinaryenBitselectVec128=()=>(A._BinaryenBitselectVec128=B.gi)(),A._BinaryenRelaxedFmaVecF32x4=()=>(A._BinaryenRelaxedFmaVecF32x4=B.hi)(),A._BinaryenRelaxedFmsVecF32x4=()=>(A._BinaryenRelaxedFmsVecF32x4=B.ii)(),A._BinaryenRelaxedFmaVecF64x2=()=>(A._BinaryenRelaxedFmaVecF64x2=B.ji)(),A._BinaryenRelaxedFmsVecF64x2=()=>(A._BinaryenRelaxedFmsVecF64x2=B.ki)(),A._BinaryenLaneselectI8x16=()=>(A._BinaryenLaneselectI8x16=B.li)(),A._BinaryenLaneselectI16x8=()=>(A._BinaryenLaneselectI16x8=B.mi)(),A._BinaryenLaneselectI32x4=()=>(A._BinaryenLaneselectI32x4=B.ni)(),A._BinaryenLaneselectI64x2=()=>(A._BinaryenLaneselectI64x2=B.oi)(),A._BinaryenDotI8x16I7x16AddSToVecI32x4=()=>(A._BinaryenDotI8x16I7x16AddSToVecI32x4=B.pi)(),A._BinaryenAnyTrueVec128=()=>(A._BinaryenAnyTrueVec128=B.qi)(),A._BinaryenAbsVecI8x16=()=>(A._BinaryenAbsVecI8x16=B.ri)(),A._BinaryenNegVecI8x16=()=>(A._BinaryenNegVecI8x16=B.si)(),A._BinaryenAllTrueVecI8x16=()=>(A._BinaryenAllTrueVecI8x16=B.ti)(),A._BinaryenBitmaskVecI8x16=()=>(A._BinaryenBitmaskVecI8x16=B.ui)(),A._BinaryenPopcntVecI8x16=()=>(A._BinaryenPopcntVecI8x16=B.vi)(),A._BinaryenShlVecI8x16=()=>(A._BinaryenShlVecI8x16=B.wi)(),A._BinaryenShrSVecI8x16=()=>(A._BinaryenShrSVecI8x16=B.xi)(),A._BinaryenShrUVecI8x16=()=>(A._BinaryenShrUVecI8x16=B.yi)(),A._BinaryenAddVecI8x16=()=>(A._BinaryenAddVecI8x16=B.zi)(),A._BinaryenAddSatSVecI8x16=()=>(A._BinaryenAddSatSVecI8x16=B.Ai)(),A._BinaryenAddSatUVecI8x16=()=>(A._BinaryenAddSatUVecI8x16=B.Bi)(),A._BinaryenSubVecI8x16=()=>(A._BinaryenSubVecI8x16=B.Ci)(),A._BinaryenSubSatSVecI8x16=()=>(A._BinaryenSubSatSVecI8x16=B.Di)(),A._BinaryenSubSatUVecI8x16=()=>(A._BinaryenSubSatUVecI8x16=B.Ei)(),A._BinaryenMinSVecI8x16=()=>(A._BinaryenMinSVecI8x16=B.Fi)(),A._BinaryenMinUVecI8x16=()=>(A._BinaryenMinUVecI8x16=B.Gi)(),A._BinaryenMaxSVecI8x16=()=>(A._BinaryenMaxSVecI8x16=B.Hi)(),A._BinaryenMaxUVecI8x16=()=>(A._BinaryenMaxUVecI8x16=B.Ii)(),A._BinaryenAvgrUVecI8x16=()=>(A._BinaryenAvgrUVecI8x16=B.Ji)(),A._BinaryenAbsVecI16x8=()=>(A._BinaryenAbsVecI16x8=B.Ki)(),A._BinaryenNegVecI16x8=()=>(A._BinaryenNegVecI16x8=B.Li)(),A._BinaryenAllTrueVecI16x8=()=>(A._BinaryenAllTrueVecI16x8=B.Mi)(),A._BinaryenBitmaskVecI16x8=()=>(A._BinaryenBitmaskVecI16x8=B.Ni)(),A._BinaryenShlVecI16x8=()=>(A._BinaryenShlVecI16x8=B.Oi)(),A._BinaryenShrSVecI16x8=()=>(A._BinaryenShrSVecI16x8=B.Pi)(),A._BinaryenShrUVecI16x8=()=>(A._BinaryenShrUVecI16x8=B.Qi)(),A._BinaryenAddVecI16x8=()=>(A._BinaryenAddVecI16x8=B.Ri)(),A._BinaryenAddSatSVecI16x8=()=>(A._BinaryenAddSatSVecI16x8=B.Si)(),A._BinaryenAddSatUVecI16x8=()=>(A._BinaryenAddSatUVecI16x8=B.Ti)(),A._BinaryenSubVecI16x8=()=>(A._BinaryenSubVecI16x8=B.Ui)(),A._BinaryenSubSatSVecI16x8=()=>(A._BinaryenSubSatSVecI16x8=B.Vi)(),A._BinaryenSubSatUVecI16x8=()=>(A._BinaryenSubSatUVecI16x8=B.Wi)(),A._BinaryenMulVecI16x8=()=>(A._BinaryenMulVecI16x8=B.Xi)(),A._BinaryenMinSVecI16x8=()=>(A._BinaryenMinSVecI16x8=B.Yi)(),A._BinaryenMinUVecI16x8=()=>(A._BinaryenMinUVecI16x8=B.Zi)(),A._BinaryenMaxSVecI16x8=()=>(A._BinaryenMaxSVecI16x8=B._i)(),A._BinaryenMaxUVecI16x8=()=>(A._BinaryenMaxUVecI16x8=B.$i)(),A._BinaryenAvgrUVecI16x8=()=>(A._BinaryenAvgrUVecI16x8=B.aj)(),A._BinaryenQ15MulrSatSVecI16x8=()=>(A._BinaryenQ15MulrSatSVecI16x8=B.bj)(),A._BinaryenExtMulLowSVecI16x8=()=>(A._BinaryenExtMulLowSVecI16x8=B.cj)(),A._BinaryenExtMulHighSVecI16x8=()=>(A._BinaryenExtMulHighSVecI16x8=B.dj)(),A._BinaryenExtMulLowUVecI16x8=()=>(A._BinaryenExtMulLowUVecI16x8=B.ej)(),A._BinaryenExtMulHighUVecI16x8=()=>(A._BinaryenExtMulHighUVecI16x8=B.fj)(),A._BinaryenAbsVecI32x4=()=>(A._BinaryenAbsVecI32x4=B.gj)(),A._BinaryenNegVecI32x4=()=>(A._BinaryenNegVecI32x4=B.hj)(),A._BinaryenAllTrueVecI32x4=()=>(A._BinaryenAllTrueVecI32x4=B.ij)(),A._BinaryenBitmaskVecI32x4=()=>(A._BinaryenBitmaskVecI32x4=B.jj)(),A._BinaryenShlVecI32x4=()=>(A._BinaryenShlVecI32x4=B.kj)(),A._BinaryenShrSVecI32x4=()=>(A._BinaryenShrSVecI32x4=B.lj)(),A._BinaryenShrUVecI32x4=()=>(A._BinaryenShrUVecI32x4=B.mj)(),A._BinaryenAddVecI32x4=()=>(A._BinaryenAddVecI32x4=B.nj)(),A._BinaryenSubVecI32x4=()=>(A._BinaryenSubVecI32x4=B.oj)(),A._BinaryenMulVecI32x4=()=>(A._BinaryenMulVecI32x4=B.pj)(),A._BinaryenMinSVecI32x4=()=>(A._BinaryenMinSVecI32x4=B.qj)(),A._BinaryenMinUVecI32x4=()=>(A._BinaryenMinUVecI32x4=B.rj)(),A._BinaryenMaxSVecI32x4=()=>(A._BinaryenMaxSVecI32x4=B.sj)(),A._BinaryenMaxUVecI32x4=()=>(A._BinaryenMaxUVecI32x4=B.tj)(),A._BinaryenDotSVecI16x8ToVecI32x4=()=>(A._BinaryenDotSVecI16x8ToVecI32x4=B.uj)(),A._BinaryenExtMulLowSVecI32x4=()=>(A._BinaryenExtMulLowSVecI32x4=B.vj)(),A._BinaryenExtMulHighSVecI32x4=()=>(A._BinaryenExtMulHighSVecI32x4=B.wj)(),A._BinaryenExtMulLowUVecI32x4=()=>(A._BinaryenExtMulLowUVecI32x4=B.xj)(),A._BinaryenExtMulHighUVecI32x4=()=>(A._BinaryenExtMulHighUVecI32x4=B.yj)(),A._BinaryenAbsVecI64x2=()=>(A._BinaryenAbsVecI64x2=B.zj)(),A._BinaryenNegVecI64x2=()=>(A._BinaryenNegVecI64x2=B.Aj)(),A._BinaryenAllTrueVecI64x2=()=>(A._BinaryenAllTrueVecI64x2=B.Bj)(),A._BinaryenBitmaskVecI64x2=()=>(A._BinaryenBitmaskVecI64x2=B.Cj)(),A._BinaryenShlVecI64x2=()=>(A._BinaryenShlVecI64x2=B.Dj)(),A._BinaryenShrSVecI64x2=()=>(A._BinaryenShrSVecI64x2=B.Ej)(),A._BinaryenShrUVecI64x2=()=>(A._BinaryenShrUVecI64x2=B.Fj)(),A._BinaryenAddVecI64x2=()=>(A._BinaryenAddVecI64x2=B.Gj)(),A._BinaryenSubVecI64x2=()=>(A._BinaryenSubVecI64x2=B.Hj)(),A._BinaryenMulVecI64x2=()=>(A._BinaryenMulVecI64x2=B.Ij)(),A._BinaryenExtMulLowSVecI64x2=()=>(A._BinaryenExtMulLowSVecI64x2=B.Jj)(),A._BinaryenExtMulHighSVecI64x2=()=>(A._BinaryenExtMulHighSVecI64x2=B.Kj)(),A._BinaryenExtMulLowUVecI64x2=()=>(A._BinaryenExtMulLowUVecI64x2=B.Lj)(),A._BinaryenExtMulHighUVecI64x2=()=>(A._BinaryenExtMulHighUVecI64x2=B.Mj)(),A._BinaryenAbsVecF32x4=()=>(A._BinaryenAbsVecF32x4=B.Nj)(),A._BinaryenNegVecF32x4=()=>(A._BinaryenNegVecF32x4=B.Oj)(),A._BinaryenSqrtVecF32x4=()=>(A._BinaryenSqrtVecF32x4=B.Pj)(),A._BinaryenAddVecF32x4=()=>(A._BinaryenAddVecF32x4=B.Qj)(),A._BinaryenSubVecF32x4=()=>(A._BinaryenSubVecF32x4=B.Rj)(),A._BinaryenMulVecF32x4=()=>(A._BinaryenMulVecF32x4=B.Sj)(),A._BinaryenDivVecF32x4=()=>(A._BinaryenDivVecF32x4=B.Tj)(),A._BinaryenMinVecF32x4=()=>(A._BinaryenMinVecF32x4=B.Uj)(),A._BinaryenMaxVecF32x4=()=>(A._BinaryenMaxVecF32x4=B.Vj)(),A._BinaryenPMinVecF32x4=()=>(A._BinaryenPMinVecF32x4=B.Wj)(),A._BinaryenCeilVecF32x4=()=>(A._BinaryenCeilVecF32x4=B.Xj)(),A._BinaryenFloorVecF32x4=()=>(A._BinaryenFloorVecF32x4=B.Yj)(),A._BinaryenTruncVecF32x4=()=>(A._BinaryenTruncVecF32x4=B.Zj)(),A._BinaryenNearestVecF32x4=()=>(A._BinaryenNearestVecF32x4=B._j)(),A._BinaryenPMaxVecF32x4=()=>(A._BinaryenPMaxVecF32x4=B.$j)(),A._BinaryenAbsVecF64x2=()=>(A._BinaryenAbsVecF64x2=B.ak)(),A._BinaryenNegVecF64x2=()=>(A._BinaryenNegVecF64x2=B.bk)(),A._BinaryenSqrtVecF64x2=()=>(A._BinaryenSqrtVecF64x2=B.ck)(),A._BinaryenAddVecF64x2=()=>(A._BinaryenAddVecF64x2=B.dk)(),A._BinaryenSubVecF64x2=()=>(A._BinaryenSubVecF64x2=B.ek)(),A._BinaryenMulVecF64x2=()=>(A._BinaryenMulVecF64x2=B.fk)(),A._BinaryenDivVecF64x2=()=>(A._BinaryenDivVecF64x2=B.gk)(),A._BinaryenMinVecF64x2=()=>(A._BinaryenMinVecF64x2=B.hk)(),A._BinaryenMaxVecF64x2=()=>(A._BinaryenMaxVecF64x2=B.ik)(),A._BinaryenPMinVecF64x2=()=>(A._BinaryenPMinVecF64x2=B.jk)(),A._BinaryenPMaxVecF64x2=()=>(A._BinaryenPMaxVecF64x2=B.kk)(),A._BinaryenCeilVecF64x2=()=>(A._BinaryenCeilVecF64x2=B.lk)(),A._BinaryenFloorVecF64x2=()=>(A._BinaryenFloorVecF64x2=B.mk)(),A._BinaryenTruncVecF64x2=()=>(A._BinaryenTruncVecF64x2=B.nk)(),A._BinaryenNearestVecF64x2=()=>(A._BinaryenNearestVecF64x2=B.ok)(),A._BinaryenExtAddPairwiseSVecI8x16ToI16x8=()=>(A._BinaryenExtAddPairwiseSVecI8x16ToI16x8=B.pk)(),A._BinaryenExtAddPairwiseUVecI8x16ToI16x8=()=>(A._BinaryenExtAddPairwiseUVecI8x16ToI16x8=B.qk)(),A._BinaryenExtAddPairwiseSVecI16x8ToI32x4=()=>(A._BinaryenExtAddPairwiseSVecI16x8ToI32x4=B.rk)(),A._BinaryenExtAddPairwiseUVecI16x8ToI32x4=()=>(A._BinaryenExtAddPairwiseUVecI16x8ToI32x4=B.sk)(),A._BinaryenTruncSatSVecF32x4ToVecI32x4=()=>(A._BinaryenTruncSatSVecF32x4ToVecI32x4=B.tk)(),A._BinaryenTruncSatUVecF32x4ToVecI32x4=()=>(A._BinaryenTruncSatUVecF32x4ToVecI32x4=B.uk)(),A._BinaryenConvertSVecI32x4ToVecF32x4=()=>(A._BinaryenConvertSVecI32x4ToVecF32x4=B.vk)(),A._BinaryenConvertUVecI32x4ToVecF32x4=()=>(A._BinaryenConvertUVecI32x4ToVecF32x4=B.wk)(),A._BinaryenLoad8SplatVec128=()=>(A._BinaryenLoad8SplatVec128=B.xk)(),A._BinaryenLoad16SplatVec128=()=>(A._BinaryenLoad16SplatVec128=B.yk)(),A._BinaryenLoad32SplatVec128=()=>(A._BinaryenLoad32SplatVec128=B.zk)(),A._BinaryenLoad64SplatVec128=()=>(A._BinaryenLoad64SplatVec128=B.Ak)(),A._BinaryenLoad8x8SVec128=()=>(A._BinaryenLoad8x8SVec128=B.Bk)(),A._BinaryenLoad8x8UVec128=()=>(A._BinaryenLoad8x8UVec128=B.Ck)(),A._BinaryenLoad16x4SVec128=()=>(A._BinaryenLoad16x4SVec128=B.Dk)(),A._BinaryenLoad16x4UVec128=()=>(A._BinaryenLoad16x4UVec128=B.Ek)(),A._BinaryenLoad32x2SVec128=()=>(A._BinaryenLoad32x2SVec128=B.Fk)(),A._BinaryenLoad32x2UVec128=()=>(A._BinaryenLoad32x2UVec128=B.Gk)(),A._BinaryenLoad32ZeroVec128=()=>(A._BinaryenLoad32ZeroVec128=B.Hk)(),A._BinaryenLoad64ZeroVec128=()=>(A._BinaryenLoad64ZeroVec128=B.Ik)(),A._BinaryenLoad8LaneVec128=()=>(A._BinaryenLoad8LaneVec128=B.Jk)(),A._BinaryenLoad16LaneVec128=()=>(A._BinaryenLoad16LaneVec128=B.Kk)(),A._BinaryenLoad32LaneVec128=()=>(A._BinaryenLoad32LaneVec128=B.Lk)(),A._BinaryenLoad64LaneVec128=()=>(A._BinaryenLoad64LaneVec128=B.Mk)(),A._BinaryenStore8LaneVec128=()=>(A._BinaryenStore8LaneVec128=B.Nk)(),A._BinaryenStore16LaneVec128=()=>(A._BinaryenStore16LaneVec128=B.Ok)(),A._BinaryenStore32LaneVec128=()=>(A._BinaryenStore32LaneVec128=B.Pk)(),A._BinaryenStore64LaneVec128=()=>(A._BinaryenStore64LaneVec128=B.Qk)(),A._BinaryenNarrowSVecI16x8ToVecI8x16=()=>(A._BinaryenNarrowSVecI16x8ToVecI8x16=B.Rk)(),A._BinaryenNarrowUVecI16x8ToVecI8x16=()=>(A._BinaryenNarrowUVecI16x8ToVecI8x16=B.Sk)(),A._BinaryenNarrowSVecI32x4ToVecI16x8=()=>(A._BinaryenNarrowSVecI32x4ToVecI16x8=B.Tk)(),A._BinaryenNarrowUVecI32x4ToVecI16x8=()=>(A._BinaryenNarrowUVecI32x4ToVecI16x8=B.Uk)(),A._BinaryenExtendLowSVecI8x16ToVecI16x8=()=>(A._BinaryenExtendLowSVecI8x16ToVecI16x8=B.Vk)(),A._BinaryenExtendHighSVecI8x16ToVecI16x8=()=>(A._BinaryenExtendHighSVecI8x16ToVecI16x8=B.Wk)(),A._BinaryenExtendLowUVecI8x16ToVecI16x8=()=>(A._BinaryenExtendLowUVecI8x16ToVecI16x8=B.Xk)(),A._BinaryenExtendHighUVecI8x16ToVecI16x8=()=>(A._BinaryenExtendHighUVecI8x16ToVecI16x8=B.Yk)(),A._BinaryenExtendLowSVecI16x8ToVecI32x4=()=>(A._BinaryenExtendLowSVecI16x8ToVecI32x4=B.Zk)(),A._BinaryenExtendHighSVecI16x8ToVecI32x4=()=>(A._BinaryenExtendHighSVecI16x8ToVecI32x4=B._k)(),A._BinaryenExtendLowUVecI16x8ToVecI32x4=()=>(A._BinaryenExtendLowUVecI16x8ToVecI32x4=B.$k)(),A._BinaryenExtendHighUVecI16x8ToVecI32x4=()=>(A._BinaryenExtendHighUVecI16x8ToVecI32x4=B.al)(),A._BinaryenExtendLowSVecI32x4ToVecI64x2=()=>(A._BinaryenExtendLowSVecI32x4ToVecI64x2=B.bl)(),A._BinaryenExtendHighSVecI32x4ToVecI64x2=()=>(A._BinaryenExtendHighSVecI32x4ToVecI64x2=B.cl)(),A._BinaryenExtendLowUVecI32x4ToVecI64x2=()=>(A._BinaryenExtendLowUVecI32x4ToVecI64x2=B.dl)(),A._BinaryenExtendHighUVecI32x4ToVecI64x2=()=>(A._BinaryenExtendHighUVecI32x4ToVecI64x2=B.el)(),A._BinaryenConvertLowSVecI32x4ToVecF64x2=()=>(A._BinaryenConvertLowSVecI32x4ToVecF64x2=B.fl)(),A._BinaryenConvertLowUVecI32x4ToVecF64x2=()=>(A._BinaryenConvertLowUVecI32x4ToVecF64x2=B.gl)(),A._BinaryenTruncSatZeroSVecF64x2ToVecI32x4=()=>(A._BinaryenTruncSatZeroSVecF64x2ToVecI32x4=B.hl)(),A._BinaryenTruncSatZeroUVecF64x2ToVecI32x4=()=>(A._BinaryenTruncSatZeroUVecF64x2ToVecI32x4=B.il)(),A._BinaryenDemoteZeroVecF64x2ToVecF32x4=()=>(A._BinaryenDemoteZeroVecF64x2ToVecF32x4=B.jl)(),A._BinaryenPromoteLowVecF32x4ToVecF64x2=()=>(A._BinaryenPromoteLowVecF32x4ToVecF64x2=B.kl)(),A._BinaryenRelaxedTruncSVecF32x4ToVecI32x4=()=>(A._BinaryenRelaxedTruncSVecF32x4ToVecI32x4=B.ll)(),A._BinaryenRelaxedTruncUVecF32x4ToVecI32x4=()=>(A._BinaryenRelaxedTruncUVecF32x4ToVecI32x4=B.ml)(),A._BinaryenRelaxedTruncZeroSVecF64x2ToVecI32x4=()=>(A._BinaryenRelaxedTruncZeroSVecF64x2ToVecI32x4=B.nl)(),A._BinaryenRelaxedTruncZeroUVecF64x2ToVecI32x4=()=>(A._BinaryenRelaxedTruncZeroUVecF64x2ToVecI32x4=B.ol)(),A._BinaryenSwizzleVecI8x16=()=>(A._BinaryenSwizzleVecI8x16=B.pl)(),A._BinaryenRelaxedSwizzleVecI8x16=()=>(A._BinaryenRelaxedSwizzleVecI8x16=B.ql)(),A._BinaryenRelaxedMinVecF32x4=()=>(A._BinaryenRelaxedMinVecF32x4=B.rl)(),A._BinaryenRelaxedMaxVecF32x4=()=>(A._BinaryenRelaxedMaxVecF32x4=B.sl)(),A._BinaryenRelaxedMinVecF64x2=()=>(A._BinaryenRelaxedMinVecF64x2=B.tl)(),A._BinaryenRelaxedMaxVecF64x2=()=>(A._BinaryenRelaxedMaxVecF64x2=B.ul)(),A._BinaryenRelaxedQ15MulrSVecI16x8=()=>(A._BinaryenRelaxedQ15MulrSVecI16x8=B.vl)(),A._BinaryenDotI8x16I7x16SToVecI16x8=()=>(A._BinaryenDotI8x16I7x16SToVecI16x8=B.wl)(),A._BinaryenRefAsNonNull=()=>(A._BinaryenRefAsNonNull=B.xl)(),A._BinaryenRefAsExternInternalize=()=>(A._BinaryenRefAsExternInternalize=B.yl)(),A._BinaryenRefAsExternExternalize=()=>(A._BinaryenRefAsExternExternalize=B.zl)(),A._BinaryenBrOnNull=()=>(A._BinaryenBrOnNull=B.Al)(),A._BinaryenBrOnNonNull=()=>(A._BinaryenBrOnNonNull=B.Bl)(),A._BinaryenBrOnCast=()=>(A._BinaryenBrOnCast=B.Cl)(),A._BinaryenBrOnCastFail=()=>(A._BinaryenBrOnCastFail=B.Dl)(),A._BinaryenStringNewUTF8=()=>(A._BinaryenStringNewUTF8=B.El)(),A._BinaryenStringNewWTF8=()=>(A._BinaryenStringNewWTF8=B.Fl)(),A._BinaryenStringNewLossyUTF8=()=>(A._BinaryenStringNewLossyUTF8=B.Gl)(),A._BinaryenStringNewWTF16=()=>(A._BinaryenStringNewWTF16=B.Hl)(),A._BinaryenStringNewUTF8Array=()=>(A._BinaryenStringNewUTF8Array=B.Il)(),A._BinaryenStringNewWTF8Array=()=>(A._BinaryenStringNewWTF8Array=B.Jl)(),A._BinaryenStringNewLossyUTF8Array=()=>(A._BinaryenStringNewLossyUTF8Array=B.Kl)(),A._BinaryenStringNewWTF16Array=()=>(A._BinaryenStringNewWTF16Array=B.Ll)(),A._BinaryenStringNewFromCodePoint=()=>(A._BinaryenStringNewFromCodePoint=B.Ml)(),A._BinaryenStringMeasureUTF8=()=>(A._BinaryenStringMeasureUTF8=B.Nl)(),A._BinaryenStringMeasureWTF8=()=>(A._BinaryenStringMeasureWTF8=B.Ol)(),A._BinaryenStringMeasureWTF16=()=>(A._BinaryenStringMeasureWTF16=B.Pl)(),A._BinaryenStringMeasureIsUSV=()=>(A._BinaryenStringMeasureIsUSV=B.Ql)(),A._BinaryenStringMeasureWTF16View=()=>(A._BinaryenStringMeasureWTF16View=B.Rl)(),A._BinaryenStringEncodeUTF8=()=>(A._BinaryenStringEncodeUTF8=B.Sl)(),A._BinaryenStringEncodeLossyUTF8=()=>(A._BinaryenStringEncodeLossyUTF8=B.Tl)(),A._BinaryenStringEncodeWTF8=()=>(A._BinaryenStringEncodeWTF8=B.Ul)(),A._BinaryenStringEncodeWTF16=()=>(A._BinaryenStringEncodeWTF16=B.Vl)(),A._BinaryenStringEncodeUTF8Array=()=>(A._BinaryenStringEncodeUTF8Array=B.Wl)(),A._BinaryenStringEncodeLossyUTF8Array=()=>(A._BinaryenStringEncodeLossyUTF8Array=B.Xl)(),A._BinaryenStringEncodeWTF8Array=()=>(A._BinaryenStringEncodeWTF8Array=B.Yl)(),A._BinaryenStringEncodeWTF16Array=()=>(A._BinaryenStringEncodeWTF16Array=B.Zl)(),A._BinaryenStringAsWTF8=()=>(A._BinaryenStringAsWTF8=B._l)(),A._BinaryenStringAsWTF16=()=>(A._BinaryenStringAsWTF16=B.$l)(),A._BinaryenStringAsIter=()=>(A._BinaryenStringAsIter=B.am)(),A._BinaryenStringIterMoveAdvance=()=>(A._BinaryenStringIterMoveAdvance=B.bm)(),A._BinaryenStringIterMoveRewind=()=>(A._BinaryenStringIterMoveRewind=B.cm)(),A._BinaryenStringSliceWTF8=()=>(A._BinaryenStringSliceWTF8=B.dm)(),A._BinaryenStringSliceWTF16=()=>(A._BinaryenStringSliceWTF16=B.em)(),A._BinaryenStringEqEqual=()=>(A._BinaryenStringEqEqual=B.fm)(),A._BinaryenStringEqCompare=()=>(A._BinaryenStringEqCompare=B.gm)(),A._BinaryenBlock=(g,I,E,Q,C)=>(A._BinaryenBlock=B.hm)(g,I,E,Q,C),A._BinaryenIf=(g,I,E,Q)=>(A._BinaryenIf=B.im)(g,I,E,Q),A._BinaryenLoop=(g,I,E)=>(A._BinaryenLoop=B.jm)(g,I,E),A._BinaryenBreak=(g,I,E,Q)=>(A._BinaryenBreak=B.km)(g,I,E,Q),A._BinaryenSwitch=(g,I,E,Q,C,D)=>(A._BinaryenSwitch=B.lm)(g,I,E,Q,C,D),A._BinaryenCall=(g,I,E,Q,C)=>(A._BinaryenCall=B.mm)(g,I,E,Q,C),A._BinaryenReturnCall=(g,I,E,Q,C)=>(A._BinaryenReturnCall=B.nm)(g,I,E,Q,C),A._BinaryenCallIndirect=(g,I,E,Q,C,D,i)=>(A._BinaryenCallIndirect=B.om)(g,I,E,Q,C,D,i),A._BinaryenReturnCallIndirect=(g,I,E,Q,C,D,i)=>(A._BinaryenReturnCallIndirect=B.pm)(g,I,E,Q,C,D,i),A._BinaryenLocalGet=(g,I,E)=>(A._BinaryenLocalGet=B.qm)(g,I,E),A._BinaryenLocalSet=(g,I,E)=>(A._BinaryenLocalSet=B.rm)(g,I,E),A._BinaryenLocalTee=(g,I,E,Q)=>(A._BinaryenLocalTee=B.sm)(g,I,E,Q),A._BinaryenGlobalGet=(g,I,E)=>(A._BinaryenGlobalGet=B.tm)(g,I,E),A._BinaryenGlobalSet=(g,I,E)=>(A._BinaryenGlobalSet=B.um)(g,I,E),A._BinaryenLoad=(g,I,E,Q,C,D,i,N)=>(A._BinaryenLoad=B.vm)(g,I,E,Q,C,D,i,N),A._BinaryenStore=(g,I,E,Q,C,D,i,N)=>(A._BinaryenStore=B.wm)(g,I,E,Q,C,D,i,N),A._BinaryenConst=(g,I)=>(A._BinaryenConst=B.xm)(g,I),A._BinaryenUnary=(g,I,E)=>(A._BinaryenUnary=B.ym)(g,I,E),A._BinaryenBinary=(g,I,E,Q)=>(A._BinaryenBinary=B.zm)(g,I,E,Q),A._BinaryenSelect=(g,I,E,Q,C)=>(A._BinaryenSelect=B.Am)(g,I,E,Q,C),A._BinaryenDrop=(g,I)=>(A._BinaryenDrop=B.Bm)(g,I),A._BinaryenReturn=(g,I)=>(A._BinaryenReturn=B.Cm)(g,I),A._BinaryenMemorySize=(g,I,E)=>(A._BinaryenMemorySize=B.Dm)(g,I,E),A._BinaryenMemoryGrow=(g,I,E,Q)=>(A._BinaryenMemoryGrow=B.Em)(g,I,E,Q),A._BinaryenNop=g=>(A._BinaryenNop=B.Fm)(g),A._BinaryenUnreachable=g=>(A._BinaryenUnreachable=B.Gm)(g),A._BinaryenAtomicLoad=(g,I,E,Q,C,D)=>(A._BinaryenAtomicLoad=B.Hm)(g,I,E,Q,C,D),A._BinaryenAtomicStore=(g,I,E,Q,C,D,i)=>(A._BinaryenAtomicStore=B.Im)(g,I,E,Q,C,D,i),A._BinaryenAtomicRMW=(g,I,E,Q,C,D,i,N)=>(A._BinaryenAtomicRMW=B.Jm)(g,I,E,Q,C,D,i,N),A._BinaryenAtomicCmpxchg=(g,I,E,Q,C,D,i,N)=>(A._BinaryenAtomicCmpxchg=B.Km)(g,I,E,Q,C,D,i,N),A._BinaryenAtomicWait=(g,I,E,Q,C,D)=>(A._BinaryenAtomicWait=B.Lm)(g,I,E,Q,C,D),A._BinaryenAtomicNotify=(g,I,E,Q)=>(A._BinaryenAtomicNotify=B.Mm)(g,I,E,Q),A._BinaryenAtomicFence=g=>(A._BinaryenAtomicFence=B.Nm)(g),A._BinaryenSIMDExtract=(g,I,E,Q)=>(A._BinaryenSIMDExtract=B.Om)(g,I,E,Q),A._BinaryenSIMDReplace=(g,I,E,Q,C)=>(A._BinaryenSIMDReplace=B.Pm)(g,I,E,Q,C),A._BinaryenSIMDShuffle=(g,I,E,Q)=>(A._BinaryenSIMDShuffle=B.Qm)(g,I,E,Q),A._BinaryenSIMDTernary=(g,I,E,Q,C)=>(A._BinaryenSIMDTernary=B.Rm)(g,I,E,Q,C),A._BinaryenSIMDShift=(g,I,E,Q)=>(A._BinaryenSIMDShift=B.Sm)(g,I,E,Q),A._BinaryenSIMDLoad=(g,I,E,Q,C,D)=>(A._BinaryenSIMDLoad=B.Tm)(g,I,E,Q,C,D),A._BinaryenSIMDLoadStoreLane=(g,I,E,Q,C,D,i,N)=>(A._BinaryenSIMDLoadStoreLane=B.Um)(g,I,E,Q,C,D,i,N),A._BinaryenMemoryInit=(g,I,E,Q,C,D)=>(A._BinaryenMemoryInit=B.Vm)(g,I,E,Q,C,D),A._BinaryenDataDrop=(g,I)=>(A._BinaryenDataDrop=B.Wm)(g,I),A._BinaryenMemoryCopy=(g,I,E,Q,C,D)=>(A._BinaryenMemoryCopy=B.Xm)(g,I,E,Q,C,D),A._BinaryenMemoryFill=(g,I,E,Q,C)=>(A._BinaryenMemoryFill=B.Ym)(g,I,E,Q,C),A._BinaryenTupleMake=(g,I,E)=>(A._BinaryenTupleMake=B.Zm)(g,I,E),A._BinaryenTupleExtract=(g,I,E)=>(A._BinaryenTupleExtract=B._m)(g,I,E),A._BinaryenPop=(g,I)=>(A._BinaryenPop=B.$m)(g,I),A._BinaryenRefNull=(g,I)=>(A._BinaryenRefNull=B.an)(g,I),A._BinaryenRefIsNull=(g,I)=>(A._BinaryenRefIsNull=B.bn)(g,I),A._BinaryenRefAs=(g,I,E)=>(A._BinaryenRefAs=B.cn)(g,I,E),A._BinaryenRefFunc=(g,I,E)=>(A._BinaryenRefFunc=B.dn)(g,I,E),A._BinaryenRefEq=(g,I,E)=>(A._BinaryenRefEq=B.en)(g,I,E),A._BinaryenTableGet=(g,I,E,Q)=>(A._BinaryenTableGet=B.fn)(g,I,E,Q),A._BinaryenTableSet=(g,I,E,Q)=>(A._BinaryenTableSet=B.gn)(g,I,E,Q),A._BinaryenTableSize=(g,I)=>(A._BinaryenTableSize=B.hn)(g,I),A._BinaryenTableGrow=(g,I,E,Q)=>(A._BinaryenTableGrow=B.jn)(g,I,E,Q),A._BinaryenTry=(g,I,E,Q,C,D,i,N)=>(A._BinaryenTry=B.kn)(g,I,E,Q,C,D,i,N),A._BinaryenThrow=(g,I,E,Q)=>(A._BinaryenThrow=B.ln)(g,I,E,Q),A._BinaryenRethrow=(g,I)=>(A._BinaryenRethrow=B.mn)(g,I),A._BinaryenRefI31=(g,I)=>(A._BinaryenRefI31=B.nn)(g,I),A._BinaryenI31Get=(g,I,E)=>(A._BinaryenI31Get=B.on)(g,I,E),A._BinaryenCallRef=(g,I,E,Q,C,D)=>(A._BinaryenCallRef=B.pn)(g,I,E,Q,C,D),A._BinaryenRefTest=(g,I,E)=>(A._BinaryenRefTest=B.qn)(g,I,E),A._BinaryenRefCast=(g,I,E)=>(A._BinaryenRefCast=B.rn)(g,I,E),A._BinaryenBrOn=(g,I,E,Q,C)=>(A._BinaryenBrOn=B.sn)(g,I,E,Q,C),A._BinaryenStructNew=(g,I,E,Q)=>(A._BinaryenStructNew=B.tn)(g,I,E,Q),A._BinaryenStructGet=(g,I,E,Q,C)=>(A._BinaryenStructGet=B.un)(g,I,E,Q,C),A._BinaryenStructSet=(g,I,E,Q)=>(A._BinaryenStructSet=B.vn)(g,I,E,Q),A._BinaryenArrayNew=(g,I,E,Q)=>(A._BinaryenArrayNew=B.wn)(g,I,E,Q),A._BinaryenArrayNewFixed=(g,I,E,Q)=>(A._BinaryenArrayNewFixed=B.xn)(g,I,E,Q),A._BinaryenArrayGet=(g,I,E,Q,C)=>(A._BinaryenArrayGet=B.yn)(g,I,E,Q,C),A._BinaryenArraySet=(g,I,E,Q)=>(A._BinaryenArraySet=B.zn)(g,I,E,Q),A._BinaryenArrayLen=(g,I)=>(A._BinaryenArrayLen=B.An)(g,I),A._BinaryenArrayCopy=(g,I,E,Q,C,D)=>(A._BinaryenArrayCopy=B.Bn)(g,I,E,Q,C,D),A._BinaryenStringNew=(g,I,E,Q,C,D,i)=>(A._BinaryenStringNew=B.Cn)(g,I,E,Q,C,D,i),A._BinaryenStringConst=(g,I)=>(A._BinaryenStringConst=B.Dn)(g,I),A._BinaryenStringMeasure=(g,I,E)=>(A._BinaryenStringMeasure=B.En)(g,I,E),A._BinaryenStringEncode=(g,I,E,Q,C)=>(A._BinaryenStringEncode=B.Fn)(g,I,E,Q,C),A._BinaryenStringConcat=(g,I,E)=>(A._BinaryenStringConcat=B.Gn)(g,I,E),A._BinaryenStringEq=(g,I,E,Q)=>(A._BinaryenStringEq=B.Hn)(g,I,E,Q),A._BinaryenStringAs=(g,I,E)=>(A._BinaryenStringAs=B.In)(g,I,E),A._BinaryenStringWTF8Advance=(g,I,E,Q)=>(A._BinaryenStringWTF8Advance=B.Jn)(g,I,E,Q),A._BinaryenStringWTF16Get=(g,I,E)=>(A._BinaryenStringWTF16Get=B.Kn)(g,I,E),A._BinaryenStringIterNext=(g,I)=>(A._BinaryenStringIterNext=B.Ln)(g,I),A._BinaryenStringIterMove=(g,I,E,Q)=>(A._BinaryenStringIterMove=B.Mn)(g,I,E,Q),A._BinaryenStringSliceWTF=(g,I,E,Q,C)=>(A._BinaryenStringSliceWTF=B.Nn)(g,I,E,Q,C),A._BinaryenStringSliceIter=(g,I,E)=>(A._BinaryenStringSliceIter=B.On)(g,I,E),A._BinaryenExpressionGetId=g=>(A._BinaryenExpressionGetId=B.Pn)(g),A._BinaryenExpressionGetType=g=>(A._BinaryenExpressionGetType=B.Qn)(g),A._BinaryenExpressionSetType=(g,I)=>(A._BinaryenExpressionSetType=B.Rn)(g,I),A._BinaryenExpressionPrint=g=>(A._BinaryenExpressionPrint=B.Sn)(g),A._BinaryenExpressionFinalize=g=>(A._BinaryenExpressionFinalize=B.Tn)(g),A._BinaryenExpressionCopy=(g,I)=>(A._BinaryenExpressionCopy=B.Un)(g,I),A._BinaryenBlockGetName=g=>(A._BinaryenBlockGetName=B.Vn)(g),A._BinaryenBlockSetName=(g,I)=>(A._BinaryenBlockSetName=B.Wn)(g,I),A._BinaryenBlockGetNumChildren=g=>(A._BinaryenBlockGetNumChildren=B.Xn)(g),A._BinaryenBlockGetChildAt=(g,I)=>(A._BinaryenBlockGetChildAt=B.Yn)(g,I),A._BinaryenBlockSetChildAt=(g,I,E)=>(A._BinaryenBlockSetChildAt=B.Zn)(g,I,E),A._BinaryenBlockAppendChild=(g,I)=>(A._BinaryenBlockAppendChild=B._n)(g,I),A._BinaryenBlockInsertChildAt=(g,I,E)=>(A._BinaryenBlockInsertChildAt=B.$n)(g,I,E),A._BinaryenBlockRemoveChildAt=(g,I)=>(A._BinaryenBlockRemoveChildAt=B.ao)(g,I),A._BinaryenIfGetCondition=g=>(A._BinaryenIfGetCondition=B.bo)(g),A._BinaryenIfSetCondition=(g,I)=>(A._BinaryenIfSetCondition=B.co)(g,I),A._BinaryenIfGetIfTrue=g=>(A._BinaryenIfGetIfTrue=B.eo)(g),A._BinaryenIfSetIfTrue=(g,I)=>(A._BinaryenIfSetIfTrue=B.fo)(g,I),A._BinaryenIfGetIfFalse=g=>(A._BinaryenIfGetIfFalse=B.go)(g),A._BinaryenIfSetIfFalse=(g,I)=>(A._BinaryenIfSetIfFalse=B.ho)(g,I),A._BinaryenLoopGetName=g=>(A._BinaryenLoopGetName=B.io)(g),A._BinaryenLoopSetName=(g,I)=>(A._BinaryenLoopSetName=B.jo)(g,I),A._BinaryenLoopGetBody=g=>(A._BinaryenLoopGetBody=B.ko)(g),A._BinaryenLoopSetBody=(g,I)=>(A._BinaryenLoopSetBody=B.lo)(g,I),A._BinaryenBreakGetName=g=>(A._BinaryenBreakGetName=B.mo)(g),A._BinaryenBreakSetName=(g,I)=>(A._BinaryenBreakSetName=B.no)(g,I),A._BinaryenBreakGetCondition=g=>(A._BinaryenBreakGetCondition=B.oo)(g),A._BinaryenBreakSetCondition=(g,I)=>(A._BinaryenBreakSetCondition=B.po)(g,I),A._BinaryenBreakGetValue=g=>(A._BinaryenBreakGetValue=B.qo)(g),A._BinaryenBreakSetValue=(g,I)=>(A._BinaryenBreakSetValue=B.ro)(g,I),A._BinaryenSwitchGetNumNames=g=>(A._BinaryenSwitchGetNumNames=B.so)(g),A._BinaryenSwitchGetNameAt=(g,I)=>(A._BinaryenSwitchGetNameAt=B.to)(g,I),A._BinaryenSwitchSetNameAt=(g,I,E)=>(A._BinaryenSwitchSetNameAt=B.uo)(g,I,E),A._BinaryenSwitchAppendName=(g,I)=>(A._BinaryenSwitchAppendName=B.vo)(g,I),A._BinaryenSwitchInsertNameAt=(g,I,E)=>(A._BinaryenSwitchInsertNameAt=B.wo)(g,I,E),A._BinaryenSwitchRemoveNameAt=(g,I)=>(A._BinaryenSwitchRemoveNameAt=B.xo)(g,I),A._BinaryenSwitchGetDefaultName=g=>(A._BinaryenSwitchGetDefaultName=B.yo)(g),A._BinaryenSwitchSetDefaultName=(g,I)=>(A._BinaryenSwitchSetDefaultName=B.zo)(g,I),A._BinaryenSwitchGetCondition=g=>(A._BinaryenSwitchGetCondition=B.Ao)(g),A._BinaryenSwitchSetCondition=(g,I)=>(A._BinaryenSwitchSetCondition=B.Bo)(g,I),A._BinaryenSwitchGetValue=g=>(A._BinaryenSwitchGetValue=B.Co)(g),A._BinaryenSwitchSetValue=(g,I)=>(A._BinaryenSwitchSetValue=B.Do)(g,I),A._BinaryenCallGetTarget=g=>(A._BinaryenCallGetTarget=B.Eo)(g),A._BinaryenCallSetTarget=(g,I)=>(A._BinaryenCallSetTarget=B.Fo)(g,I),A._BinaryenCallGetNumOperands=g=>(A._BinaryenCallGetNumOperands=B.Go)(g),A._BinaryenCallGetOperandAt=(g,I)=>(A._BinaryenCallGetOperandAt=B.Ho)(g,I),A._BinaryenCallSetOperandAt=(g,I,E)=>(A._BinaryenCallSetOperandAt=B.Io)(g,I,E),A._BinaryenCallAppendOperand=(g,I)=>(A._BinaryenCallAppendOperand=B.Jo)(g,I),A._BinaryenCallInsertOperandAt=(g,I,E)=>(A._BinaryenCallInsertOperandAt=B.Ko)(g,I,E),A._BinaryenCallRemoveOperandAt=(g,I)=>(A._BinaryenCallRemoveOperandAt=B.Lo)(g,I),A._BinaryenCallIsReturn=g=>(A._BinaryenCallIsReturn=B.Mo)(g),A._BinaryenCallSetReturn=(g,I)=>(A._BinaryenCallSetReturn=B.No)(g,I),A._BinaryenCallIndirectGetTarget=g=>(A._BinaryenCallIndirectGetTarget=B.Oo)(g),A._BinaryenCallIndirectSetTarget=(g,I)=>(A._BinaryenCallIndirectSetTarget=B.Po)(g,I),A._BinaryenCallIndirectGetTable=g=>(A._BinaryenCallIndirectGetTable=B.Qo)(g),A._BinaryenCallIndirectSetTable=(g,I)=>(A._BinaryenCallIndirectSetTable=B.Ro)(g,I),A._BinaryenCallIndirectGetNumOperands=g=>(A._BinaryenCallIndirectGetNumOperands=B.So)(g),A._BinaryenCallIndirectGetOperandAt=(g,I)=>(A._BinaryenCallIndirectGetOperandAt=B.To)(g,I),A._BinaryenCallIndirectSetOperandAt=(g,I,E)=>(A._BinaryenCallIndirectSetOperandAt=B.Uo)(g,I,E),A._BinaryenCallIndirectAppendOperand=(g,I)=>(A._BinaryenCallIndirectAppendOperand=B.Vo)(g,I),A._BinaryenCallIndirectInsertOperandAt=(g,I,E)=>(A._BinaryenCallIndirectInsertOperandAt=B.Wo)(g,I,E),A._BinaryenCallIndirectRemoveOperandAt=(g,I)=>(A._BinaryenCallIndirectRemoveOperandAt=B.Xo)(g,I),A._BinaryenCallIndirectIsReturn=g=>(A._BinaryenCallIndirectIsReturn=B.Yo)(g),A._BinaryenCallIndirectSetReturn=(g,I)=>(A._BinaryenCallIndirectSetReturn=B.Zo)(g,I),A._BinaryenCallIndirectGetParams=g=>(A._BinaryenCallIndirectGetParams=B._o)(g),A._BinaryenCallIndirectSetParams=(g,I)=>(A._BinaryenCallIndirectSetParams=B.$o)(g,I),A._BinaryenCallIndirectGetResults=g=>(A._BinaryenCallIndirectGetResults=B.ap)(g),A._BinaryenCallIndirectSetResults=(g,I)=>(A._BinaryenCallIndirectSetResults=B.bp)(g,I),A._BinaryenLocalGetGetIndex=g=>(A._BinaryenLocalGetGetIndex=B.cp)(g),A._BinaryenLocalGetSetIndex=(g,I)=>(A._BinaryenLocalGetSetIndex=B.dp)(g,I),A._BinaryenLocalSetIsTee=g=>(A._BinaryenLocalSetIsTee=B.ep)(g),A._BinaryenLocalSetGetIndex=g=>(A._BinaryenLocalSetGetIndex=B.fp)(g),A._BinaryenLocalSetSetIndex=(g,I)=>(A._BinaryenLocalSetSetIndex=B.gp)(g,I),A._BinaryenLocalSetGetValue=g=>(A._BinaryenLocalSetGetValue=B.hp)(g),A._BinaryenLocalSetSetValue=(g,I)=>(A._BinaryenLocalSetSetValue=B.ip)(g,I),A._BinaryenGlobalGetGetName=g=>(A._BinaryenGlobalGetGetName=B.jp)(g),A._BinaryenGlobalGetSetName=(g,I)=>(A._BinaryenGlobalGetSetName=B.kp)(g,I),A._BinaryenGlobalSetGetName=g=>(A._BinaryenGlobalSetGetName=B.lp)(g),A._BinaryenGlobalSetSetName=(g,I)=>(A._BinaryenGlobalSetSetName=B.mp)(g,I),A._BinaryenGlobalSetGetValue=g=>(A._BinaryenGlobalSetGetValue=B.np)(g),A._BinaryenGlobalSetSetValue=(g,I)=>(A._BinaryenGlobalSetSetValue=B.op)(g,I),A._BinaryenTableGetGetTable=g=>(A._BinaryenTableGetGetTable=B.pp)(g),A._BinaryenTableGetSetTable=(g,I)=>(A._BinaryenTableGetSetTable=B.qp)(g,I),A._BinaryenTableGetGetIndex=g=>(A._BinaryenTableGetGetIndex=B.rp)(g),A._BinaryenTableGetSetIndex=(g,I)=>(A._BinaryenTableGetSetIndex=B.sp)(g,I),A._BinaryenTableSetGetTable=g=>(A._BinaryenTableSetGetTable=B.tp)(g),A._BinaryenTableSetSetTable=(g,I)=>(A._BinaryenTableSetSetTable=B.up)(g,I),A._BinaryenTableSetGetIndex=g=>(A._BinaryenTableSetGetIndex=B.vp)(g),A._BinaryenTableSetSetIndex=(g,I)=>(A._BinaryenTableSetSetIndex=B.wp)(g,I),A._BinaryenTableSetGetValue=g=>(A._BinaryenTableSetGetValue=B.xp)(g),A._BinaryenTableSetSetValue=(g,I)=>(A._BinaryenTableSetSetValue=B.yp)(g,I),A._BinaryenTableSizeGetTable=g=>(A._BinaryenTableSizeGetTable=B.zp)(g),A._BinaryenTableSizeSetTable=(g,I)=>(A._BinaryenTableSizeSetTable=B.Ap)(g,I),A._BinaryenTableGrowGetTable=g=>(A._BinaryenTableGrowGetTable=B.Bp)(g),A._BinaryenTableGrowSetTable=(g,I)=>(A._BinaryenTableGrowSetTable=B.Cp)(g,I),A._BinaryenTableGrowGetValue=g=>(A._BinaryenTableGrowGetValue=B.Dp)(g),A._BinaryenTableGrowSetValue=(g,I)=>(A._BinaryenTableGrowSetValue=B.Ep)(g,I),A._BinaryenTableGrowGetDelta=g=>(A._BinaryenTableGrowGetDelta=B.Fp)(g),A._BinaryenTableGrowSetDelta=(g,I)=>(A._BinaryenTableGrowSetDelta=B.Gp)(g,I),A._BinaryenMemoryGrowGetDelta=g=>(A._BinaryenMemoryGrowGetDelta=B.Hp)(g),A._BinaryenMemoryGrowSetDelta=(g,I)=>(A._BinaryenMemoryGrowSetDelta=B.Ip)(g,I),A._BinaryenLoadIsAtomic=g=>(A._BinaryenLoadIsAtomic=B.Jp)(g),A._BinaryenLoadSetAtomic=(g,I)=>(A._BinaryenLoadSetAtomic=B.Kp)(g,I),A._BinaryenLoadIsSigned=g=>(A._BinaryenLoadIsSigned=B.Lp)(g),A._BinaryenLoadSetSigned=(g,I)=>(A._BinaryenLoadSetSigned=B.Mp)(g,I),A._BinaryenLoadGetBytes=g=>(A._BinaryenLoadGetBytes=B.Np)(g),A._BinaryenLoadSetBytes=(g,I)=>(A._BinaryenLoadSetBytes=B.Op)(g,I),A._BinaryenLoadGetOffset=g=>(A._BinaryenLoadGetOffset=B.Pp)(g),A._BinaryenLoadSetOffset=(g,I)=>(A._BinaryenLoadSetOffset=B.Qp)(g,I),A._BinaryenLoadGetAlign=g=>(A._BinaryenLoadGetAlign=B.Rp)(g),A._BinaryenLoadSetAlign=(g,I)=>(A._BinaryenLoadSetAlign=B.Sp)(g,I),A._BinaryenLoadGetPtr=g=>(A._BinaryenLoadGetPtr=B.Tp)(g),A._BinaryenLoadSetPtr=(g,I)=>(A._BinaryenLoadSetPtr=B.Up)(g,I),A._BinaryenStoreIsAtomic=g=>(A._BinaryenStoreIsAtomic=B.Vp)(g),A._BinaryenStoreSetAtomic=(g,I)=>(A._BinaryenStoreSetAtomic=B.Wp)(g,I),A._BinaryenStoreGetBytes=g=>(A._BinaryenStoreGetBytes=B.Xp)(g),A._BinaryenStoreSetBytes=(g,I)=>(A._BinaryenStoreSetBytes=B.Yp)(g,I),A._BinaryenStoreGetOffset=g=>(A._BinaryenStoreGetOffset=B.Zp)(g),A._BinaryenStoreSetOffset=(g,I)=>(A._BinaryenStoreSetOffset=B._p)(g,I),A._BinaryenStoreGetAlign=g=>(A._BinaryenStoreGetAlign=B.$p)(g),A._BinaryenStoreSetAlign=(g,I)=>(A._BinaryenStoreSetAlign=B.aq)(g,I),A._BinaryenStoreGetPtr=g=>(A._BinaryenStoreGetPtr=B.bq)(g),A._BinaryenStoreSetPtr=(g,I)=>(A._BinaryenStoreSetPtr=B.cq)(g,I),A._BinaryenStoreGetValue=g=>(A._BinaryenStoreGetValue=B.dq)(g),A._BinaryenStoreSetValue=(g,I)=>(A._BinaryenStoreSetValue=B.eq)(g,I),A._BinaryenStoreGetValueType=g=>(A._BinaryenStoreGetValueType=B.fq)(g),A._BinaryenStoreSetValueType=(g,I)=>(A._BinaryenStoreSetValueType=B.gq)(g,I),A._BinaryenConstGetValueI32=g=>(A._BinaryenConstGetValueI32=B.hq)(g),A._BinaryenConstSetValueI32=(g,I)=>(A._BinaryenConstSetValueI32=B.iq)(g,I),A._BinaryenConstGetValueI64=g=>(A._BinaryenConstGetValueI64=B.jq)(g),A._BinaryenConstSetValueI64=(g,I,E)=>(A._BinaryenConstSetValueI64=B.kq)(g,I,E),A._BinaryenConstGetValueI64Low=g=>(A._BinaryenConstGetValueI64Low=B.lq)(g),A._BinaryenConstSetValueI64Low=(g,I)=>(A._BinaryenConstSetValueI64Low=B.mq)(g,I),A._BinaryenConstGetValueI64High=g=>(A._BinaryenConstGetValueI64High=B.nq)(g),A._BinaryenConstSetValueI64High=(g,I)=>(A._BinaryenConstSetValueI64High=B.oq)(g,I),A._BinaryenConstGetValueF32=g=>(A._BinaryenConstGetValueF32=B.pq)(g),A._BinaryenConstSetValueF32=(g,I)=>(A._BinaryenConstSetValueF32=B.qq)(g,I),A._BinaryenConstGetValueF64=g=>(A._BinaryenConstGetValueF64=B.rq)(g),A._BinaryenConstSetValueF64=(g,I)=>(A._BinaryenConstSetValueF64=B.sq)(g,I),A._BinaryenConstGetValueV128=(g,I)=>(A._BinaryenConstGetValueV128=B.tq)(g,I),A._BinaryenConstSetValueV128=(g,I)=>(A._BinaryenConstSetValueV128=B.uq)(g,I),A._BinaryenUnaryGetOp=g=>(A._BinaryenUnaryGetOp=B.vq)(g),A._BinaryenUnarySetOp=(g,I)=>(A._BinaryenUnarySetOp=B.wq)(g,I),A._BinaryenUnaryGetValue=g=>(A._BinaryenUnaryGetValue=B.xq)(g),A._BinaryenUnarySetValue=(g,I)=>(A._BinaryenUnarySetValue=B.yq)(g,I),A._BinaryenBinaryGetOp=g=>(A._BinaryenBinaryGetOp=B.zq)(g),A._BinaryenBinarySetOp=(g,I)=>(A._BinaryenBinarySetOp=B.Aq)(g,I),A._BinaryenBinaryGetLeft=g=>(A._BinaryenBinaryGetLeft=B.Bq)(g),A._BinaryenBinarySetLeft=(g,I)=>(A._BinaryenBinarySetLeft=B.Cq)(g,I),A._BinaryenBinaryGetRight=g=>(A._BinaryenBinaryGetRight=B.Dq)(g),A._BinaryenBinarySetRight=(g,I)=>(A._BinaryenBinarySetRight=B.Eq)(g,I),A._BinaryenSelectGetIfTrue=g=>(A._BinaryenSelectGetIfTrue=B.Fq)(g),A._BinaryenSelectSetIfTrue=(g,I)=>(A._BinaryenSelectSetIfTrue=B.Gq)(g,I),A._BinaryenSelectGetIfFalse=g=>(A._BinaryenSelectGetIfFalse=B.Hq)(g),A._BinaryenSelectSetIfFalse=(g,I)=>(A._BinaryenSelectSetIfFalse=B.Iq)(g,I),A._BinaryenSelectGetCondition=g=>(A._BinaryenSelectGetCondition=B.Jq)(g),A._BinaryenSelectSetCondition=(g,I)=>(A._BinaryenSelectSetCondition=B.Kq)(g,I),A._BinaryenDropGetValue=g=>(A._BinaryenDropGetValue=B.Lq)(g),A._BinaryenDropSetValue=(g,I)=>(A._BinaryenDropSetValue=B.Mq)(g,I),A._BinaryenReturnGetValue=g=>(A._BinaryenReturnGetValue=B.Nq)(g),A._BinaryenReturnSetValue=(g,I)=>(A._BinaryenReturnSetValue=B.Oq)(g,I),A._BinaryenAtomicRMWGetOp=g=>(A._BinaryenAtomicRMWGetOp=B.Pq)(g),A._BinaryenAtomicRMWSetOp=(g,I)=>(A._BinaryenAtomicRMWSetOp=B.Qq)(g,I),A._BinaryenAtomicRMWGetBytes=g=>(A._BinaryenAtomicRMWGetBytes=B.Rq)(g),A._BinaryenAtomicRMWSetBytes=(g,I)=>(A._BinaryenAtomicRMWSetBytes=B.Sq)(g,I),A._BinaryenAtomicRMWGetOffset=g=>(A._BinaryenAtomicRMWGetOffset=B.Tq)(g),A._BinaryenAtomicRMWSetOffset=(g,I)=>(A._BinaryenAtomicRMWSetOffset=B.Uq)(g,I),A._BinaryenAtomicRMWGetPtr=g=>(A._BinaryenAtomicRMWGetPtr=B.Vq)(g),A._BinaryenAtomicRMWSetPtr=(g,I)=>(A._BinaryenAtomicRMWSetPtr=B.Wq)(g,I),A._BinaryenAtomicRMWGetValue=g=>(A._BinaryenAtomicRMWGetValue=B.Xq)(g),A._BinaryenAtomicRMWSetValue=(g,I)=>(A._BinaryenAtomicRMWSetValue=B.Yq)(g,I),A._BinaryenAtomicCmpxchgGetBytes=g=>(A._BinaryenAtomicCmpxchgGetBytes=B.Zq)(g),A._BinaryenAtomicCmpxchgSetBytes=(g,I)=>(A._BinaryenAtomicCmpxchgSetBytes=B._q)(g,I),A._BinaryenAtomicCmpxchgGetOffset=g=>(A._BinaryenAtomicCmpxchgGetOffset=B.$q)(g),A._BinaryenAtomicCmpxchgSetOffset=(g,I)=>(A._BinaryenAtomicCmpxchgSetOffset=B.ar)(g,I),A._BinaryenAtomicCmpxchgGetPtr=g=>(A._BinaryenAtomicCmpxchgGetPtr=B.br)(g),A._BinaryenAtomicCmpxchgSetPtr=(g,I)=>(A._BinaryenAtomicCmpxchgSetPtr=B.cr)(g,I),A._BinaryenAtomicCmpxchgGetExpected=g=>(A._BinaryenAtomicCmpxchgGetExpected=B.dr)(g),A._BinaryenAtomicCmpxchgSetExpected=(g,I)=>(A._BinaryenAtomicCmpxchgSetExpected=B.er)(g,I),A._BinaryenAtomicCmpxchgGetReplacement=g=>(A._BinaryenAtomicCmpxchgGetReplacement=B.fr)(g),A._BinaryenAtomicCmpxchgSetReplacement=(g,I)=>(A._BinaryenAtomicCmpxchgSetReplacement=B.gr)(g,I),A._BinaryenAtomicWaitGetPtr=g=>(A._BinaryenAtomicWaitGetPtr=B.hr)(g),A._BinaryenAtomicWaitSetPtr=(g,I)=>(A._BinaryenAtomicWaitSetPtr=B.ir)(g,I),A._BinaryenAtomicWaitGetExpected=g=>(A._BinaryenAtomicWaitGetExpected=B.jr)(g),A._BinaryenAtomicWaitSetExpected=(g,I)=>(A._BinaryenAtomicWaitSetExpected=B.kr)(g,I),A._BinaryenAtomicWaitGetTimeout=g=>(A._BinaryenAtomicWaitGetTimeout=B.lr)(g),A._BinaryenAtomicWaitSetTimeout=(g,I)=>(A._BinaryenAtomicWaitSetTimeout=B.mr)(g,I),A._BinaryenAtomicWaitGetExpectedType=g=>(A._BinaryenAtomicWaitGetExpectedType=B.nr)(g),A._BinaryenAtomicWaitSetExpectedType=(g,I)=>(A._BinaryenAtomicWaitSetExpectedType=B.or)(g,I),A._BinaryenAtomicNotifyGetPtr=g=>(A._BinaryenAtomicNotifyGetPtr=B.pr)(g),A._BinaryenAtomicNotifySetPtr=(g,I)=>(A._BinaryenAtomicNotifySetPtr=B.qr)(g,I),A._BinaryenAtomicNotifyGetNotifyCount=g=>(A._BinaryenAtomicNotifyGetNotifyCount=B.rr)(g),A._BinaryenAtomicNotifySetNotifyCount=(g,I)=>(A._BinaryenAtomicNotifySetNotifyCount=B.sr)(g,I),A._BinaryenAtomicFenceGetOrder=g=>(A._BinaryenAtomicFenceGetOrder=B.tr)(g),A._BinaryenAtomicFenceSetOrder=(g,I)=>(A._BinaryenAtomicFenceSetOrder=B.ur)(g,I),A._BinaryenSIMDExtractGetOp=g=>(A._BinaryenSIMDExtractGetOp=B.vr)(g),A._BinaryenSIMDExtractSetOp=(g,I)=>(A._BinaryenSIMDExtractSetOp=B.wr)(g,I),A._BinaryenSIMDExtractGetVec=g=>(A._BinaryenSIMDExtractGetVec=B.xr)(g),A._BinaryenSIMDExtractSetVec=(g,I)=>(A._BinaryenSIMDExtractSetVec=B.yr)(g,I),A._BinaryenSIMDExtractGetIndex=g=>(A._BinaryenSIMDExtractGetIndex=B.zr)(g),A._BinaryenSIMDExtractSetIndex=(g,I)=>(A._BinaryenSIMDExtractSetIndex=B.Ar)(g,I),A._BinaryenSIMDReplaceGetOp=g=>(A._BinaryenSIMDReplaceGetOp=B.Br)(g),A._BinaryenSIMDReplaceSetOp=(g,I)=>(A._BinaryenSIMDReplaceSetOp=B.Cr)(g,I),A._BinaryenSIMDReplaceGetVec=g=>(A._BinaryenSIMDReplaceGetVec=B.Dr)(g),A._BinaryenSIMDReplaceSetVec=(g,I)=>(A._BinaryenSIMDReplaceSetVec=B.Er)(g,I),A._BinaryenSIMDReplaceGetIndex=g=>(A._BinaryenSIMDReplaceGetIndex=B.Fr)(g),A._BinaryenSIMDReplaceSetIndex=(g,I)=>(A._BinaryenSIMDReplaceSetIndex=B.Gr)(g,I),A._BinaryenSIMDReplaceGetValue=g=>(A._BinaryenSIMDReplaceGetValue=B.Hr)(g),A._BinaryenSIMDReplaceSetValue=(g,I)=>(A._BinaryenSIMDReplaceSetValue=B.Ir)(g,I),A._BinaryenSIMDShuffleGetLeft=g=>(A._BinaryenSIMDShuffleGetLeft=B.Jr)(g),A._BinaryenSIMDShuffleSetLeft=(g,I)=>(A._BinaryenSIMDShuffleSetLeft=B.Kr)(g,I),A._BinaryenSIMDShuffleGetRight=g=>(A._BinaryenSIMDShuffleGetRight=B.Lr)(g),A._BinaryenSIMDShuffleSetRight=(g,I)=>(A._BinaryenSIMDShuffleSetRight=B.Mr)(g,I),A._BinaryenSIMDShuffleGetMask=(g,I)=>(A._BinaryenSIMDShuffleGetMask=B.Nr)(g,I),A._BinaryenSIMDShuffleSetMask=(g,I)=>(A._BinaryenSIMDShuffleSetMask=B.Or)(g,I),A._BinaryenSIMDTernaryGetOp=g=>(A._BinaryenSIMDTernaryGetOp=B.Pr)(g),A._BinaryenSIMDTernarySetOp=(g,I)=>(A._BinaryenSIMDTernarySetOp=B.Qr)(g,I),A._BinaryenSIMDTernaryGetA=g=>(A._BinaryenSIMDTernaryGetA=B.Rr)(g),A._BinaryenSIMDTernarySetA=(g,I)=>(A._BinaryenSIMDTernarySetA=B.Sr)(g,I),A._BinaryenSIMDTernaryGetB=g=>(A._BinaryenSIMDTernaryGetB=B.Tr)(g),A._BinaryenSIMDTernarySetB=(g,I)=>(A._BinaryenSIMDTernarySetB=B.Ur)(g,I),A._BinaryenSIMDTernaryGetC=g=>(A._BinaryenSIMDTernaryGetC=B.Vr)(g),A._BinaryenSIMDTernarySetC=(g,I)=>(A._BinaryenSIMDTernarySetC=B.Wr)(g,I),A._BinaryenSIMDShiftGetOp=g=>(A._BinaryenSIMDShiftGetOp=B.Xr)(g),A._BinaryenSIMDShiftSetOp=(g,I)=>(A._BinaryenSIMDShiftSetOp=B.Yr)(g,I),A._BinaryenSIMDShiftGetVec=g=>(A._BinaryenSIMDShiftGetVec=B.Zr)(g),A._BinaryenSIMDShiftSetVec=(g,I)=>(A._BinaryenSIMDShiftSetVec=B._r)(g,I),A._BinaryenSIMDShiftGetShift=g=>(A._BinaryenSIMDShiftGetShift=B.$r)(g),A._BinaryenSIMDShiftSetShift=(g,I)=>(A._BinaryenSIMDShiftSetShift=B.as)(g,I),A._BinaryenSIMDLoadGetOp=g=>(A._BinaryenSIMDLoadGetOp=B.bs)(g),A._BinaryenSIMDLoadSetOp=(g,I)=>(A._BinaryenSIMDLoadSetOp=B.cs)(g,I),A._BinaryenSIMDLoadGetOffset=g=>(A._BinaryenSIMDLoadGetOffset=B.ds)(g),A._BinaryenSIMDLoadSetOffset=(g,I)=>(A._BinaryenSIMDLoadSetOffset=B.es)(g,I),A._BinaryenSIMDLoadGetAlign=g=>(A._BinaryenSIMDLoadGetAlign=B.fs)(g),A._BinaryenSIMDLoadSetAlign=(g,I)=>(A._BinaryenSIMDLoadSetAlign=B.gs)(g,I),A._BinaryenSIMDLoadGetPtr=g=>(A._BinaryenSIMDLoadGetPtr=B.hs)(g),A._BinaryenSIMDLoadSetPtr=(g,I)=>(A._BinaryenSIMDLoadSetPtr=B.is)(g,I),A._BinaryenSIMDLoadStoreLaneGetOp=g=>(A._BinaryenSIMDLoadStoreLaneGetOp=B.js)(g),A._BinaryenSIMDLoadStoreLaneSetOp=(g,I)=>(A._BinaryenSIMDLoadStoreLaneSetOp=B.ks)(g,I),A._BinaryenSIMDLoadStoreLaneGetOffset=g=>(A._BinaryenSIMDLoadStoreLaneGetOffset=B.ls)(g),A._BinaryenSIMDLoadStoreLaneSetOffset=(g,I)=>(A._BinaryenSIMDLoadStoreLaneSetOffset=B.ms)(g,I),A._BinaryenSIMDLoadStoreLaneGetAlign=g=>(A._BinaryenSIMDLoadStoreLaneGetAlign=B.ns)(g),A._BinaryenSIMDLoadStoreLaneSetAlign=(g,I)=>(A._BinaryenSIMDLoadStoreLaneSetAlign=B.os)(g,I),A._BinaryenSIMDLoadStoreLaneGetIndex=g=>(A._BinaryenSIMDLoadStoreLaneGetIndex=B.ps)(g),A._BinaryenSIMDLoadStoreLaneSetIndex=(g,I)=>(A._BinaryenSIMDLoadStoreLaneSetIndex=B.qs)(g,I),A._BinaryenSIMDLoadStoreLaneGetPtr=g=>(A._BinaryenSIMDLoadStoreLaneGetPtr=B.rs)(g),A._BinaryenSIMDLoadStoreLaneSetPtr=(g,I)=>(A._BinaryenSIMDLoadStoreLaneSetPtr=B.ss)(g,I),A._BinaryenSIMDLoadStoreLaneGetVec=g=>(A._BinaryenSIMDLoadStoreLaneGetVec=B.ts)(g),A._BinaryenSIMDLoadStoreLaneSetVec=(g,I)=>(A._BinaryenSIMDLoadStoreLaneSetVec=B.us)(g,I),A._BinaryenSIMDLoadStoreLaneIsStore=g=>(A._BinaryenSIMDLoadStoreLaneIsStore=B.vs)(g),A._BinaryenMemoryInitGetSegment=g=>(A._BinaryenMemoryInitGetSegment=B.ws)(g),A._BinaryenMemoryInitSetSegment=(g,I)=>(A._BinaryenMemoryInitSetSegment=B.xs)(g,I),A._BinaryenMemoryInitGetDest=g=>(A._BinaryenMemoryInitGetDest=B.ys)(g),A._BinaryenMemoryInitSetDest=(g,I)=>(A._BinaryenMemoryInitSetDest=B.zs)(g,I),A._BinaryenMemoryInitGetOffset=g=>(A._BinaryenMemoryInitGetOffset=B.As)(g),A._BinaryenMemoryInitSetOffset=(g,I)=>(A._BinaryenMemoryInitSetOffset=B.Bs)(g,I),A._BinaryenMemoryInitGetSize=g=>(A._BinaryenMemoryInitGetSize=B.Cs)(g),A._BinaryenMemoryInitSetSize=(g,I)=>(A._BinaryenMemoryInitSetSize=B.Ds)(g,I),A._BinaryenDataDropGetSegment=g=>(A._BinaryenDataDropGetSegment=B.Es)(g),A._BinaryenDataDropSetSegment=(g,I)=>(A._BinaryenDataDropSetSegment=B.Fs)(g,I),A._BinaryenMemoryCopyGetDest=g=>(A._BinaryenMemoryCopyGetDest=B.Gs)(g),A._BinaryenMemoryCopySetDest=(g,I)=>(A._BinaryenMemoryCopySetDest=B.Hs)(g,I),A._BinaryenMemoryCopyGetSource=g=>(A._BinaryenMemoryCopyGetSource=B.Is)(g),A._BinaryenMemoryCopySetSource=(g,I)=>(A._BinaryenMemoryCopySetSource=B.Js)(g,I),A._BinaryenMemoryCopyGetSize=g=>(A._BinaryenMemoryCopyGetSize=B.Ks)(g),A._BinaryenMemoryCopySetSize=(g,I)=>(A._BinaryenMemoryCopySetSize=B.Ls)(g,I),A._BinaryenMemoryFillGetDest=g=>(A._BinaryenMemoryFillGetDest=B.Ms)(g),A._BinaryenMemoryFillSetDest=(g,I)=>(A._BinaryenMemoryFillSetDest=B.Ns)(g,I),A._BinaryenMemoryFillGetValue=g=>(A._BinaryenMemoryFillGetValue=B.Os)(g),A._BinaryenMemoryFillSetValue=(g,I)=>(A._BinaryenMemoryFillSetValue=B.Ps)(g,I),A._BinaryenMemoryFillGetSize=g=>(A._BinaryenMemoryFillGetSize=B.Qs)(g),A._BinaryenMemoryFillSetSize=(g,I)=>(A._BinaryenMemoryFillSetSize=B.Rs)(g,I),A._BinaryenRefIsNullGetValue=g=>(A._BinaryenRefIsNullGetValue=B.Ss)(g),A._BinaryenRefIsNullSetValue=(g,I)=>(A._BinaryenRefIsNullSetValue=B.Ts)(g,I),A._BinaryenRefAsGetOp=g=>(A._BinaryenRefAsGetOp=B.Us)(g),A._BinaryenRefAsSetOp=(g,I)=>(A._BinaryenRefAsSetOp=B.Vs)(g,I),A._BinaryenRefAsGetValue=g=>(A._BinaryenRefAsGetValue=B.Ws)(g),A._BinaryenRefAsSetValue=(g,I)=>(A._BinaryenRefAsSetValue=B.Xs)(g,I),A._BinaryenRefFuncGetFunc=g=>(A._BinaryenRefFuncGetFunc=B.Ys)(g),A._BinaryenRefFuncSetFunc=(g,I)=>(A._BinaryenRefFuncSetFunc=B.Zs)(g,I),A._BinaryenRefEqGetLeft=g=>(A._BinaryenRefEqGetLeft=B._s)(g),A._BinaryenRefEqSetLeft=(g,I)=>(A._BinaryenRefEqSetLeft=B.$s)(g,I),A._BinaryenRefEqGetRight=g=>(A._BinaryenRefEqGetRight=B.at)(g),A._BinaryenRefEqSetRight=(g,I)=>(A._BinaryenRefEqSetRight=B.bt)(g,I),A._BinaryenTryGetName=g=>(A._BinaryenTryGetName=B.ct)(g),A._BinaryenTrySetName=(g,I)=>(A._BinaryenTrySetName=B.dt)(g,I),A._BinaryenTryGetBody=g=>(A._BinaryenTryGetBody=B.et)(g),A._BinaryenTrySetBody=(g,I)=>(A._BinaryenTrySetBody=B.ft)(g,I),A._BinaryenTryGetNumCatchTags=g=>(A._BinaryenTryGetNumCatchTags=B.gt)(g),A._BinaryenTryGetNumCatchBodies=g=>(A._BinaryenTryGetNumCatchBodies=B.ht)(g),A._BinaryenTryGetCatchTagAt=(g,I)=>(A._BinaryenTryGetCatchTagAt=B.it)(g,I),A._BinaryenTrySetCatchTagAt=(g,I,E)=>(A._BinaryenTrySetCatchTagAt=B.jt)(g,I,E),A._BinaryenTryAppendCatchTag=(g,I)=>(A._BinaryenTryAppendCatchTag=B.kt)(g,I),A._BinaryenTryInsertCatchTagAt=(g,I,E)=>(A._BinaryenTryInsertCatchTagAt=B.lt)(g,I,E),A._BinaryenTryRemoveCatchTagAt=(g,I)=>(A._BinaryenTryRemoveCatchTagAt=B.mt)(g,I),A._BinaryenTryGetCatchBodyAt=(g,I)=>(A._BinaryenTryGetCatchBodyAt=B.nt)(g,I),A._BinaryenTrySetCatchBodyAt=(g,I,E)=>(A._BinaryenTrySetCatchBodyAt=B.ot)(g,I,E),A._BinaryenTryAppendCatchBody=(g,I)=>(A._BinaryenTryAppendCatchBody=B.pt)(g,I),A._BinaryenTryInsertCatchBodyAt=(g,I,E)=>(A._BinaryenTryInsertCatchBodyAt=B.qt)(g,I,E),A._BinaryenTryRemoveCatchBodyAt=(g,I)=>(A._BinaryenTryRemoveCatchBodyAt=B.rt)(g,I),A._BinaryenTryHasCatchAll=g=>(A._BinaryenTryHasCatchAll=B.st)(g),A._BinaryenTryGetDelegateTarget=g=>(A._BinaryenTryGetDelegateTarget=B.tt)(g),A._BinaryenTrySetDelegateTarget=(g,I)=>(A._BinaryenTrySetDelegateTarget=B.ut)(g,I),A._BinaryenTryIsDelegate=g=>(A._BinaryenTryIsDelegate=B.vt)(g),A._BinaryenThrowGetTag=g=>(A._BinaryenThrowGetTag=B.wt)(g),A._BinaryenThrowSetTag=(g,I)=>(A._BinaryenThrowSetTag=B.xt)(g,I),A._BinaryenThrowGetNumOperands=g=>(A._BinaryenThrowGetNumOperands=B.yt)(g),A._BinaryenThrowGetOperandAt=(g,I)=>(A._BinaryenThrowGetOperandAt=B.zt)(g,I),A._BinaryenThrowSetOperandAt=(g,I,E)=>(A._BinaryenThrowSetOperandAt=B.At)(g,I,E),A._BinaryenThrowAppendOperand=(g,I)=>(A._BinaryenThrowAppendOperand=B.Bt)(g,I),A._BinaryenThrowInsertOperandAt=(g,I,E)=>(A._BinaryenThrowInsertOperandAt=B.Ct)(g,I,E),A._BinaryenThrowRemoveOperandAt=(g,I)=>(A._BinaryenThrowRemoveOperandAt=B.Dt)(g,I),A._BinaryenRethrowGetTarget=g=>(A._BinaryenRethrowGetTarget=B.Et)(g),A._BinaryenRethrowSetTarget=(g,I)=>(A._BinaryenRethrowSetTarget=B.Ft)(g,I),A._BinaryenTupleMakeGetNumOperands=g=>(A._BinaryenTupleMakeGetNumOperands=B.Gt)(g),A._BinaryenTupleMakeGetOperandAt=(g,I)=>(A._BinaryenTupleMakeGetOperandAt=B.Ht)(g,I),A._BinaryenTupleMakeSetOperandAt=(g,I,E)=>(A._BinaryenTupleMakeSetOperandAt=B.It)(g,I,E),A._BinaryenTupleMakeAppendOperand=(g,I)=>(A._BinaryenTupleMakeAppendOperand=B.Jt)(g,I),A._BinaryenTupleMakeInsertOperandAt=(g,I,E)=>(A._BinaryenTupleMakeInsertOperandAt=B.Kt)(g,I,E),A._BinaryenTupleMakeRemoveOperandAt=(g,I)=>(A._BinaryenTupleMakeRemoveOperandAt=B.Lt)(g,I),A._BinaryenTupleExtractGetTuple=g=>(A._BinaryenTupleExtractGetTuple=B.Mt)(g),A._BinaryenTupleExtractSetTuple=(g,I)=>(A._BinaryenTupleExtractSetTuple=B.Nt)(g,I),A._BinaryenTupleExtractGetIndex=g=>(A._BinaryenTupleExtractGetIndex=B.Ot)(g),A._BinaryenTupleExtractSetIndex=(g,I)=>(A._BinaryenTupleExtractSetIndex=B.Pt)(g,I),A._BinaryenRefI31GetValue=g=>(A._BinaryenRefI31GetValue=B.Qt)(g),A._BinaryenRefI31SetValue=(g,I)=>(A._BinaryenRefI31SetValue=B.Rt)(g,I),A._BinaryenI31GetGetI31=g=>(A._BinaryenI31GetGetI31=B.St)(g),A._BinaryenI31GetSetI31=(g,I)=>(A._BinaryenI31GetSetI31=B.Tt)(g,I),A._BinaryenI31GetIsSigned=g=>(A._BinaryenI31GetIsSigned=B.Ut)(g),A._BinaryenI31GetSetSigned=(g,I)=>(A._BinaryenI31GetSetSigned=B.Vt)(g,I),A._BinaryenCallRefGetNumOperands=g=>(A._BinaryenCallRefGetNumOperands=B.Wt)(g),A._BinaryenCallRefGetOperandAt=(g,I)=>(A._BinaryenCallRefGetOperandAt=B.Xt)(g,I),A._BinaryenCallRefSetOperandAt=(g,I,E)=>(A._BinaryenCallRefSetOperandAt=B.Yt)(g,I,E),A._BinaryenCallRefAppendOperand=(g,I)=>(A._BinaryenCallRefAppendOperand=B.Zt)(g,I),A._BinaryenCallRefInsertOperandAt=(g,I,E)=>(A._BinaryenCallRefInsertOperandAt=B._t)(g,I,E),A._BinaryenCallRefRemoveOperandAt=(g,I)=>(A._BinaryenCallRefRemoveOperandAt=B.$t)(g,I),A._BinaryenCallRefGetTarget=g=>(A._BinaryenCallRefGetTarget=B.au)(g),A._BinaryenCallRefSetTarget=(g,I)=>(A._BinaryenCallRefSetTarget=B.bu)(g,I),A._BinaryenCallRefIsReturn=g=>(A._BinaryenCallRefIsReturn=B.cu)(g),A._BinaryenCallRefSetReturn=(g,I)=>(A._BinaryenCallRefSetReturn=B.du)(g,I),A._BinaryenRefTestGetRef=g=>(A._BinaryenRefTestGetRef=B.eu)(g),A._BinaryenRefTestSetRef=(g,I)=>(A._BinaryenRefTestSetRef=B.fu)(g,I),A._BinaryenRefTestGetCastType=g=>(A._BinaryenRefTestGetCastType=B.gu)(g),A._BinaryenRefTestSetCastType=(g,I)=>(A._BinaryenRefTestSetCastType=B.hu)(g,I),A._BinaryenRefCastGetRef=g=>(A._BinaryenRefCastGetRef=B.iu)(g),A._BinaryenRefCastSetRef=(g,I)=>(A._BinaryenRefCastSetRef=B.ju)(g,I),A._BinaryenBrOnGetOp=g=>(A._BinaryenBrOnGetOp=B.ku)(g),A._BinaryenBrOnSetOp=(g,I)=>(A._BinaryenBrOnSetOp=B.lu)(g,I),A._BinaryenBrOnGetName=g=>(A._BinaryenBrOnGetName=B.mu)(g),A._BinaryenBrOnSetName=(g,I)=>(A._BinaryenBrOnSetName=B.nu)(g,I),A._BinaryenBrOnGetRef=g=>(A._BinaryenBrOnGetRef=B.ou)(g),A._BinaryenBrOnSetRef=(g,I)=>(A._BinaryenBrOnSetRef=B.pu)(g,I),A._BinaryenBrOnGetCastType=g=>(A._BinaryenBrOnGetCastType=B.qu)(g),A._BinaryenBrOnSetCastType=(g,I)=>(A._BinaryenBrOnSetCastType=B.ru)(g,I),A._BinaryenStructNewGetNumOperands=g=>(A._BinaryenStructNewGetNumOperands=B.su)(g),A._BinaryenStructNewGetOperandAt=(g,I)=>(A._BinaryenStructNewGetOperandAt=B.tu)(g,I),A._BinaryenStructNewSetOperandAt=(g,I,E)=>(A._BinaryenStructNewSetOperandAt=B.uu)(g,I,E),A._BinaryenStructNewAppendOperand=(g,I)=>(A._BinaryenStructNewAppendOperand=B.vu)(g,I),A._BinaryenStructNewInsertOperandAt=(g,I,E)=>(A._BinaryenStructNewInsertOperandAt=B.wu)(g,I,E),A._BinaryenStructNewRemoveOperandAt=(g,I)=>(A._BinaryenStructNewRemoveOperandAt=B.xu)(g,I),A._BinaryenStructGetGetIndex=g=>(A._BinaryenStructGetGetIndex=B.yu)(g),A._BinaryenStructGetSetIndex=(g,I)=>(A._BinaryenStructGetSetIndex=B.zu)(g,I),A._BinaryenStructGetGetRef=g=>(A._BinaryenStructGetGetRef=B.Au)(g),A._BinaryenStructGetSetRef=(g,I)=>(A._BinaryenStructGetSetRef=B.Bu)(g,I),A._BinaryenStructGetIsSigned=g=>(A._BinaryenStructGetIsSigned=B.Cu)(g),A._BinaryenStructGetSetSigned=(g,I)=>(A._BinaryenStructGetSetSigned=B.Du)(g,I),A._BinaryenStructSetGetIndex=g=>(A._BinaryenStructSetGetIndex=B.Eu)(g),A._BinaryenStructSetSetIndex=(g,I)=>(A._BinaryenStructSetSetIndex=B.Fu)(g,I),A._BinaryenStructSetGetRef=g=>(A._BinaryenStructSetGetRef=B.Gu)(g),A._BinaryenStructSetSetRef=(g,I)=>(A._BinaryenStructSetSetRef=B.Hu)(g,I),A._BinaryenStructSetGetValue=g=>(A._BinaryenStructSetGetValue=B.Iu)(g),A._BinaryenStructSetSetValue=(g,I)=>(A._BinaryenStructSetSetValue=B.Ju)(g,I),A._BinaryenArrayNewGetInit=g=>(A._BinaryenArrayNewGetInit=B.Ku)(g),A._BinaryenArrayNewSetInit=(g,I)=>(A._BinaryenArrayNewSetInit=B.Lu)(g,I),A._BinaryenArrayNewGetSize=g=>(A._BinaryenArrayNewGetSize=B.Mu)(g),A._BinaryenArrayNewSetSize=(g,I)=>(A._BinaryenArrayNewSetSize=B.Nu)(g,I),A._BinaryenArrayNewFixedGetNumValues=g=>(A._BinaryenArrayNewFixedGetNumValues=B.Ou)(g),A._BinaryenArrayNewFixedGetValueAt=(g,I)=>(A._BinaryenArrayNewFixedGetValueAt=B.Pu)(g,I),A._BinaryenArrayNewFixedSetValueAt=(g,I,E)=>(A._BinaryenArrayNewFixedSetValueAt=B.Qu)(g,I,E),A._BinaryenArrayNewFixedAppendValue=(g,I)=>(A._BinaryenArrayNewFixedAppendValue=B.Ru)(g,I),A._BinaryenArrayNewFixedInsertValueAt=(g,I,E)=>(A._BinaryenArrayNewFixedInsertValueAt=B.Su)(g,I,E),A._BinaryenArrayNewFixedRemoveValueAt=(g,I)=>(A._BinaryenArrayNewFixedRemoveValueAt=B.Tu)(g,I),A._BinaryenArrayGetGetRef=g=>(A._BinaryenArrayGetGetRef=B.Uu)(g),A._BinaryenArrayGetSetRef=(g,I)=>(A._BinaryenArrayGetSetRef=B.Vu)(g,I),A._BinaryenArrayGetGetIndex=g=>(A._BinaryenArrayGetGetIndex=B.Wu)(g),A._BinaryenArrayGetSetIndex=(g,I)=>(A._BinaryenArrayGetSetIndex=B.Xu)(g,I),A._BinaryenArrayGetIsSigned=g=>(A._BinaryenArrayGetIsSigned=B.Yu)(g),A._BinaryenArrayGetSetSigned=(g,I)=>(A._BinaryenArrayGetSetSigned=B.Zu)(g,I),A._BinaryenArraySetGetRef=g=>(A._BinaryenArraySetGetRef=B._u)(g),A._BinaryenArraySetSetRef=(g,I)=>(A._BinaryenArraySetSetRef=B.$u)(g,I),A._BinaryenArraySetGetIndex=g=>(A._BinaryenArraySetGetIndex=B.av)(g),A._BinaryenArraySetSetIndex=(g,I)=>(A._BinaryenArraySetSetIndex=B.bv)(g,I),A._BinaryenArraySetGetValue=g=>(A._BinaryenArraySetGetValue=B.cv)(g),A._BinaryenArraySetSetValue=(g,I)=>(A._BinaryenArraySetSetValue=B.dv)(g,I),A._BinaryenArrayLenGetRef=g=>(A._BinaryenArrayLenGetRef=B.ev)(g),A._BinaryenArrayLenSetRef=(g,I)=>(A._BinaryenArrayLenSetRef=B.fv)(g,I),A._BinaryenArrayCopyGetDestRef=g=>(A._BinaryenArrayCopyGetDestRef=B.gv)(g),A._BinaryenArrayCopySetDestRef=(g,I)=>(A._BinaryenArrayCopySetDestRef=B.hv)(g,I),A._BinaryenArrayCopyGetDestIndex=g=>(A._BinaryenArrayCopyGetDestIndex=B.iv)(g),A._BinaryenArrayCopySetDestIndex=(g,I)=>(A._BinaryenArrayCopySetDestIndex=B.jv)(g,I),A._BinaryenArrayCopyGetSrcRef=g=>(A._BinaryenArrayCopyGetSrcRef=B.kv)(g),A._BinaryenArrayCopySetSrcRef=(g,I)=>(A._BinaryenArrayCopySetSrcRef=B.lv)(g,I),A._BinaryenArrayCopyGetSrcIndex=g=>(A._BinaryenArrayCopyGetSrcIndex=B.mv)(g),A._BinaryenArrayCopySetSrcIndex=(g,I)=>(A._BinaryenArrayCopySetSrcIndex=B.nv)(g,I),A._BinaryenArrayCopyGetLength=g=>(A._BinaryenArrayCopyGetLength=B.ov)(g),A._BinaryenArrayCopySetLength=(g,I)=>(A._BinaryenArrayCopySetLength=B.pv)(g,I),A._BinaryenStringNewGetOp=g=>(A._BinaryenStringNewGetOp=B.qv)(g),A._BinaryenStringNewSetOp=(g,I)=>(A._BinaryenStringNewSetOp=B.rv)(g,I),A._BinaryenStringNewGetPtr=g=>(A._BinaryenStringNewGetPtr=B.sv)(g),A._BinaryenStringNewSetPtr=(g,I)=>(A._BinaryenStringNewSetPtr=B.tv)(g,I),A._BinaryenStringNewGetLength=g=>(A._BinaryenStringNewGetLength=B.uv)(g),A._BinaryenStringNewSetLength=(g,I)=>(A._BinaryenStringNewSetLength=B.vv)(g,I),A._BinaryenStringNewGetStart=g=>(A._BinaryenStringNewGetStart=B.wv)(g),A._BinaryenStringNewSetStart=(g,I)=>(A._BinaryenStringNewSetStart=B.xv)(g,I),A._BinaryenStringNewGetEnd=g=>(A._BinaryenStringNewGetEnd=B.yv)(g),A._BinaryenStringNewSetEnd=(g,I)=>(A._BinaryenStringNewSetEnd=B.zv)(g,I),A._BinaryenStringNewSetTry=(g,I)=>(A._BinaryenStringNewSetTry=B.Av)(g,I),A._BinaryenStringNewIsTry=g=>(A._BinaryenStringNewIsTry=B.Bv)(g),A._BinaryenStringConstGetString=g=>(A._BinaryenStringConstGetString=B.Cv)(g),A._BinaryenStringConstSetString=(g,I)=>(A._BinaryenStringConstSetString=B.Dv)(g,I),A._BinaryenStringMeasureGetOp=g=>(A._BinaryenStringMeasureGetOp=B.Ev)(g),A._BinaryenStringMeasureSetOp=(g,I)=>(A._BinaryenStringMeasureSetOp=B.Fv)(g,I),A._BinaryenStringMeasureGetRef=g=>(A._BinaryenStringMeasureGetRef=B.Gv)(g),A._BinaryenStringMeasureSetRef=(g,I)=>(A._BinaryenStringMeasureSetRef=B.Hv)(g,I),A._BinaryenStringEncodeGetOp=g=>(A._BinaryenStringEncodeGetOp=B.Iv)(g),A._BinaryenStringEncodeSetOp=(g,I)=>(A._BinaryenStringEncodeSetOp=B.Jv)(g,I),A._BinaryenStringEncodeGetRef=g=>(A._BinaryenStringEncodeGetRef=B.Kv)(g),A._BinaryenStringEncodeSetRef=(g,I)=>(A._BinaryenStringEncodeSetRef=B.Lv)(g,I),A._BinaryenStringEncodeGetPtr=g=>(A._BinaryenStringEncodeGetPtr=B.Mv)(g),A._BinaryenStringEncodeSetPtr=(g,I)=>(A._BinaryenStringEncodeSetPtr=B.Nv)(g,I),A._BinaryenStringEncodeGetStart=g=>(A._BinaryenStringEncodeGetStart=B.Ov)(g),A._BinaryenStringEncodeSetStart=(g,I)=>(A._BinaryenStringEncodeSetStart=B.Pv)(g,I),A._BinaryenStringConcatGetLeft=g=>(A._BinaryenStringConcatGetLeft=B.Qv)(g),A._BinaryenStringConcatSetLeft=(g,I)=>(A._BinaryenStringConcatSetLeft=B.Rv)(g,I),A._BinaryenStringConcatGetRight=g=>(A._BinaryenStringConcatGetRight=B.Sv)(g),A._BinaryenStringConcatSetRight=(g,I)=>(A._BinaryenStringConcatSetRight=B.Tv)(g,I),A._BinaryenStringEqGetOp=g=>(A._BinaryenStringEqGetOp=B.Uv)(g),A._BinaryenStringEqSetOp=(g,I)=>(A._BinaryenStringEqSetOp=B.Vv)(g,I),A._BinaryenStringEqGetLeft=g=>(A._BinaryenStringEqGetLeft=B.Wv)(g),A._BinaryenStringEqSetLeft=(g,I)=>(A._BinaryenStringEqSetLeft=B.Xv)(g,I),A._BinaryenStringEqGetRight=g=>(A._BinaryenStringEqGetRight=B.Yv)(g),A._BinaryenStringEqSetRight=(g,I)=>(A._BinaryenStringEqSetRight=B.Zv)(g,I),A._BinaryenStringAsGetOp=g=>(A._BinaryenStringAsGetOp=B._v)(g),A._BinaryenStringAsSetOp=(g,I)=>(A._BinaryenStringAsSetOp=B.$v)(g,I),A._BinaryenStringAsGetRef=g=>(A._BinaryenStringAsGetRef=B.aw)(g),A._BinaryenStringAsSetRef=(g,I)=>(A._BinaryenStringAsSetRef=B.bw)(g,I),A._BinaryenStringWTF8AdvanceGetRef=g=>(A._BinaryenStringWTF8AdvanceGetRef=B.cw)(g),A._BinaryenStringWTF8AdvanceSetRef=(g,I)=>(A._BinaryenStringWTF8AdvanceSetRef=B.dw)(g,I),A._BinaryenStringWTF8AdvanceGetPos=g=>(A._BinaryenStringWTF8AdvanceGetPos=B.ew)(g),A._BinaryenStringWTF8AdvanceSetPos=(g,I)=>(A._BinaryenStringWTF8AdvanceSetPos=B.fw)(g,I),A._BinaryenStringWTF8AdvanceGetBytes=g=>(A._BinaryenStringWTF8AdvanceGetBytes=B.gw)(g),A._BinaryenStringWTF8AdvanceSetBytes=(g,I)=>(A._BinaryenStringWTF8AdvanceSetBytes=B.hw)(g,I),A._BinaryenStringWTF16GetGetRef=g=>(A._BinaryenStringWTF16GetGetRef=B.iw)(g),A._BinaryenStringWTF16GetSetRef=(g,I)=>(A._BinaryenStringWTF16GetSetRef=B.jw)(g,I),A._BinaryenStringWTF16GetGetPos=g=>(A._BinaryenStringWTF16GetGetPos=B.kw)(g),A._BinaryenStringWTF16GetSetPos=(g,I)=>(A._BinaryenStringWTF16GetSetPos=B.lw)(g,I),A._BinaryenStringIterNextGetRef=g=>(A._BinaryenStringIterNextGetRef=B.mw)(g),A._BinaryenStringIterNextSetRef=(g,I)=>(A._BinaryenStringIterNextSetRef=B.nw)(g,I),A._BinaryenStringIterMoveGetOp=g=>(A._BinaryenStringIterMoveGetOp=B.ow)(g),A._BinaryenStringIterMoveSetOp=(g,I)=>(A._BinaryenStringIterMoveSetOp=B.pw)(g,I),A._BinaryenStringIterMoveGetRef=g=>(A._BinaryenStringIterMoveGetRef=B.qw)(g),A._BinaryenStringIterMoveSetRef=(g,I)=>(A._BinaryenStringIterMoveSetRef=B.rw)(g,I),A._BinaryenStringIterMoveGetNum=g=>(A._BinaryenStringIterMoveGetNum=B.sw)(g),A._BinaryenStringIterMoveSetNum=(g,I)=>(A._BinaryenStringIterMoveSetNum=B.tw)(g,I),A._BinaryenStringSliceWTFGetOp=g=>(A._BinaryenStringSliceWTFGetOp=B.uw)(g),A._BinaryenStringSliceWTFSetOp=(g,I)=>(A._BinaryenStringSliceWTFSetOp=B.vw)(g,I),A._BinaryenStringSliceWTFGetRef=g=>(A._BinaryenStringSliceWTFGetRef=B.ww)(g),A._BinaryenStringSliceWTFSetRef=(g,I)=>(A._BinaryenStringSliceWTFSetRef=B.xw)(g,I),A._BinaryenStringSliceWTFGetStart=g=>(A._BinaryenStringSliceWTFGetStart=B.yw)(g),A._BinaryenStringSliceWTFSetStart=(g,I)=>(A._BinaryenStringSliceWTFSetStart=B.zw)(g,I),A._BinaryenStringSliceWTFGetEnd=g=>(A._BinaryenStringSliceWTFGetEnd=B.Aw)(g),A._BinaryenStringSliceWTFSetEnd=(g,I)=>(A._BinaryenStringSliceWTFSetEnd=B.Bw)(g,I),A._BinaryenStringSliceIterGetRef=g=>(A._BinaryenStringSliceIterGetRef=B.Cw)(g),A._BinaryenStringSliceIterSetRef=(g,I)=>(A._BinaryenStringSliceIterSetRef=B.Dw)(g,I),A._BinaryenStringSliceIterGetNum=g=>(A._BinaryenStringSliceIterGetNum=B.Ew)(g),A._BinaryenStringSliceIterSetNum=(g,I)=>(A._BinaryenStringSliceIterSetNum=B.Fw)(g,I),A._BinaryenAddFunction=(g,I,E,Q,C,D,i)=>(A._BinaryenAddFunction=B.Gw)(g,I,E,Q,C,D,i),A._BinaryenAddFunctionWithHeapType=(g,I,E,Q,C,D)=>(A._BinaryenAddFunctionWithHeapType=B.Hw)(g,I,E,Q,C,D),A._BinaryenGetFunction=(g,I)=>(A._BinaryenGetFunction=B.Iw)(g,I),A._BinaryenRemoveFunction=(g,I)=>(A._BinaryenRemoveFunction=B.Jw)(g,I),A._BinaryenGetNumFunctions=g=>(A._BinaryenGetNumFunctions=B.Kw)(g),A._BinaryenGetFunctionByIndex=(g,I)=>(A._BinaryenGetFunctionByIndex=B.Lw)(g,I),A._BinaryenAddGlobal=(g,I,E,Q,C)=>(A._BinaryenAddGlobal=B.Mw)(g,I,E,Q,C),A._BinaryenGetGlobal=(g,I)=>(A._BinaryenGetGlobal=B.Nw)(g,I),A._BinaryenRemoveGlobal=(g,I)=>(A._BinaryenRemoveGlobal=B.Ow)(g,I),A._BinaryenGetNumGlobals=g=>(A._BinaryenGetNumGlobals=B.Pw)(g),A._BinaryenGetGlobalByIndex=(g,I)=>(A._BinaryenGetGlobalByIndex=B.Qw)(g,I),A._BinaryenAddTag=(g,I,E,Q)=>(A._BinaryenAddTag=B.Rw)(g,I,E,Q),A._BinaryenGetTag=(g,I)=>(A._BinaryenGetTag=B.Sw)(g,I),A._BinaryenRemoveTag=(g,I)=>(A._BinaryenRemoveTag=B.Tw)(g,I),A._BinaryenAddFunctionImport=(g,I,E,Q,C,D)=>(A._BinaryenAddFunctionImport=B.Uw)(g,I,E,Q,C,D),A._BinaryenAddTableImport=(g,I,E,Q)=>(A._BinaryenAddTableImport=B.Vw)(g,I,E,Q),A._BinaryenAddMemoryImport=(g,I,E,Q,C)=>(A._BinaryenAddMemoryImport=B.Ww)(g,I,E,Q,C),A._BinaryenAddGlobalImport=(g,I,E,Q,C,D)=>(A._BinaryenAddGlobalImport=B.Xw)(g,I,E,Q,C,D),A._BinaryenAddTagImport=(g,I,E,Q,C,D)=>(A._BinaryenAddTagImport=B.Yw)(g,I,E,Q,C,D),A._BinaryenAddFunctionExport=(g,I,E)=>(A._BinaryenAddFunctionExport=B.Zw)(g,I,E),A._BinaryenAddTableExport=(g,I,E)=>(A._BinaryenAddTableExport=B._w)(g,I,E),A._BinaryenAddMemoryExport=(g,I,E)=>(A._BinaryenAddMemoryExport=B.$w)(g,I,E),A._BinaryenAddGlobalExport=(g,I,E)=>(A._BinaryenAddGlobalExport=B.ax)(g,I,E),A._BinaryenAddTagExport=(g,I,E)=>(A._BinaryenAddTagExport=B.bx)(g,I,E),A._BinaryenGetExport=(g,I)=>(A._BinaryenGetExport=B.cx)(g,I),A._BinaryenRemoveExport=(g,I)=>(A._BinaryenRemoveExport=B.dx)(g,I),A._BinaryenGetNumExports=g=>(A._BinaryenGetNumExports=B.ex)(g),A._BinaryenGetExportByIndex=(g,I)=>(A._BinaryenGetExportByIndex=B.fx)(g,I),A._BinaryenAddTable=(g,I,E,Q,C)=>(A._BinaryenAddTable=B.gx)(g,I,E,Q,C),A._BinaryenRemoveTable=(g,I)=>(A._BinaryenRemoveTable=B.hx)(g,I),A._BinaryenGetNumTables=g=>(A._BinaryenGetNumTables=B.ix)(g),A._BinaryenGetTable=(g,I)=>(A._BinaryenGetTable=B.jx)(g,I),A._BinaryenGetTableByIndex=(g,I)=>(A._BinaryenGetTableByIndex=B.kx)(g,I),A._BinaryenAddActiveElementSegment=(g,I,E,Q,C,D)=>(A._BinaryenAddActiveElementSegment=B.lx)(g,I,E,Q,C,D),A._BinaryenAddPassiveElementSegment=(g,I,E,Q)=>(A._BinaryenAddPassiveElementSegment=B.mx)(g,I,E,Q),A._BinaryenRemoveElementSegment=(g,I)=>(A._BinaryenRemoveElementSegment=B.nx)(g,I),A._BinaryenGetElementSegment=(g,I)=>(A._BinaryenGetElementSegment=B.ox)(g,I),A._BinaryenGetElementSegmentByIndex=(g,I)=>(A._BinaryenGetElementSegmentByIndex=B.px)(g,I),A._BinaryenGetNumElementSegments=g=>(A._BinaryenGetNumElementSegments=B.qx)(g),A._BinaryenElementSegmentGetOffset=g=>(A._BinaryenElementSegmentGetOffset=B.rx)(g),A._BinaryenElementSegmentGetLength=g=>(A._BinaryenElementSegmentGetLength=B.sx)(g),A._BinaryenElementSegmentGetData=(g,I)=>(A._BinaryenElementSegmentGetData=B.tx)(g,I),A._BinaryenSetMemory=(g,I,E,Q,C,D,i,N,R,U,S,h)=>(A._BinaryenSetMemory=B.ux)(g,I,E,Q,C,D,i,N,R,U,S,h),A._BinaryenGetNumMemorySegments=g=>(A._BinaryenGetNumMemorySegments=B.vx)(g),A._BinaryenGetMemorySegmentByteOffset=(g,I)=>(A._BinaryenGetMemorySegmentByteOffset=B.wx)(g,I),A._BinaryenHasMemory=g=>(A._BinaryenHasMemory=B.xx)(g),A._BinaryenMemoryGetInitial=(g,I)=>(A._BinaryenMemoryGetInitial=B.yx)(g,I),A._BinaryenMemoryHasMax=(g,I)=>(A._BinaryenMemoryHasMax=B.zx)(g,I),A._BinaryenMemoryGetMax=(g,I)=>(A._BinaryenMemoryGetMax=B.Ax)(g,I),A._BinaryenMemoryImportGetModule=(g,I)=>(A._BinaryenMemoryImportGetModule=B.Bx)(g,I),A._BinaryenMemoryImportGetBase=(g,I)=>(A._BinaryenMemoryImportGetBase=B.Cx)(g,I),A._BinaryenMemoryIsShared=(g,I)=>(A._BinaryenMemoryIsShared=B.Dx)(g,I),A._BinaryenMemoryIs64=(g,I)=>(A._BinaryenMemoryIs64=B.Ex)(g,I),A._BinaryenGetMemorySegmentByteLength=(g,I)=>(A._BinaryenGetMemorySegmentByteLength=B.Fx)(g,I),A._BinaryenGetMemorySegmentPassive=(g,I)=>(A._BinaryenGetMemorySegmentPassive=B.Gx)(g,I),A._BinaryenCopyMemorySegmentData=(g,I,E)=>(A._BinaryenCopyMemorySegmentData=B.Hx)(g,I,E),A._BinaryenSetStart=(g,I)=>(A._BinaryenSetStart=B.Ix)(g,I),A._BinaryenModuleGetFeatures=g=>(A._BinaryenModuleGetFeatures=B.Jx)(g),A._BinaryenModuleSetFeatures=(g,I)=>(A._BinaryenModuleSetFeatures=B.Kx)(g,I),A._BinaryenModuleParse=g=>(A._BinaryenModuleParse=B.Lx)(g),A._BinaryenModulePrint=g=>(A._BinaryenModulePrint=B.Mx)(g),A._BinaryenModulePrintStackIR=(g,I)=>(A._BinaryenModulePrintStackIR=B.Nx)(g,I),A._BinaryenModulePrintAsmjs=g=>(A._BinaryenModulePrintAsmjs=B.Ox)(g),A._BinaryenModuleValidate=g=>(A._BinaryenModuleValidate=B.Px)(g),A._BinaryenModuleOptimize=g=>(A._BinaryenModuleOptimize=B.Qx)(g),A._BinaryenModuleUpdateMaps=g=>(A._BinaryenModuleUpdateMaps=B.Rx)(g),A._BinaryenGetOptimizeLevel=()=>(A._BinaryenGetOptimizeLevel=B.Sx)(),A._BinaryenSetOptimizeLevel=g=>(A._BinaryenSetOptimizeLevel=B.Tx)(g),A._BinaryenGetShrinkLevel=()=>(A._BinaryenGetShrinkLevel=B.Ux)(),A._BinaryenSetShrinkLevel=g=>(A._BinaryenSetShrinkLevel=B.Vx)(g),A._BinaryenGetDebugInfo=()=>(A._BinaryenGetDebugInfo=B.Wx)(),A._BinaryenSetDebugInfo=g=>(A._BinaryenSetDebugInfo=B.Xx)(g),A._BinaryenGetLowMemoryUnused=()=>(A._BinaryenGetLowMemoryUnused=B.Yx)(),A._BinaryenSetLowMemoryUnused=g=>(A._BinaryenSetLowMemoryUnused=B.Zx)(g),A._BinaryenGetZeroFilledMemory=()=>(A._BinaryenGetZeroFilledMemory=B._x)(),A._BinaryenSetZeroFilledMemory=g=>(A._BinaryenSetZeroFilledMemory=B.$x)(g),A._BinaryenGetFastMath=()=>(A._BinaryenGetFastMath=B.ay)(),A._BinaryenSetFastMath=g=>(A._BinaryenSetFastMath=B.by)(g),A._BinaryenGetPassArgument=g=>(A._BinaryenGetPassArgument=B.cy)(g),A._BinaryenSetPassArgument=(g,I)=>(A._BinaryenSetPassArgument=B.dy)(g,I),A._BinaryenClearPassArguments=()=>(A._BinaryenClearPassArguments=B.ey)(),A._BinaryenGetAlwaysInlineMaxSize=()=>(A._BinaryenGetAlwaysInlineMaxSize=B.fy)(),A._BinaryenSetAlwaysInlineMaxSize=g=>(A._BinaryenSetAlwaysInlineMaxSize=B.gy)(g),A._BinaryenGetFlexibleInlineMaxSize=()=>(A._BinaryenGetFlexibleInlineMaxSize=B.hy)(),A._BinaryenSetFlexibleInlineMaxSize=g=>(A._BinaryenSetFlexibleInlineMaxSize=B.iy)(g),A._BinaryenGetOneCallerInlineMaxSize=()=>(A._BinaryenGetOneCallerInlineMaxSize=B.jy)(),A._BinaryenSetOneCallerInlineMaxSize=g=>(A._BinaryenSetOneCallerInlineMaxSize=B.ky)(g),A._BinaryenGetAllowInliningFunctionsWithLoops=()=>(A._BinaryenGetAllowInliningFunctionsWithLoops=B.ly)(),A._BinaryenSetAllowInliningFunctionsWithLoops=g=>(A._BinaryenSetAllowInliningFunctionsWithLoops=B.my)(g),A._BinaryenModuleRunPasses=(g,I,E)=>(A._BinaryenModuleRunPasses=B.ny)(g,I,E),A._BinaryenModuleAutoDrop=g=>(A._BinaryenModuleAutoDrop=B.oy)(g),A._BinaryenModuleWrite=(g,I,E)=>(A._BinaryenModuleWrite=B.py)(g,I,E),A._BinaryenModuleWriteText=(g,I,E)=>(A._BinaryenModuleWriteText=B.qy)(g,I,E),A._BinaryenModuleWriteStackIR=(g,I,E,Q)=>(A._BinaryenModuleWriteStackIR=B.ry)(g,I,E,Q),A._BinaryenModuleWriteWithSourceMap=(g,I,E,Q,C,D,i)=>(A._BinaryenModuleWriteWithSourceMap=B.sy)(g,I,E,Q,C,D,i),A._BinaryenModuleAllocateAndWrite=(g,I,E)=>(A._BinaryenModuleAllocateAndWrite=B.ty)(g,I,E);var NA=A._malloc=g=>(NA=A._malloc=B.uy)(g);A._BinaryenModuleAllocateAndWriteText=g=>(A._BinaryenModuleAllocateAndWriteText=B.vy)(g),A._BinaryenModuleAllocateAndWriteStackIR=(g,I)=>(A._BinaryenModuleAllocateAndWriteStackIR=B.wy)(g,I),A._BinaryenModuleRead=(g,I)=>(A._BinaryenModuleRead=B.xy)(g,I),A._BinaryenModuleInterpret=g=>(A._BinaryenModuleInterpret=B.yy)(g),A._BinaryenModuleAddDebugInfoFileName=(g,I)=>(A._BinaryenModuleAddDebugInfoFileName=B.zy)(g,I),A._BinaryenModuleGetDebugInfoFileName=(g,I)=>(A._BinaryenModuleGetDebugInfoFileName=B.Ay)(g,I),A._BinaryenFunctionGetName=g=>(A._BinaryenFunctionGetName=B.By)(g),A._BinaryenFunctionGetParams=g=>(A._BinaryenFunctionGetParams=B.Cy)(g),A._BinaryenFunctionGetResults=g=>(A._BinaryenFunctionGetResults=B.Dy)(g),A._BinaryenFunctionGetNumVars=g=>(A._BinaryenFunctionGetNumVars=B.Ey)(g),A._BinaryenFunctionGetVar=(g,I)=>(A._BinaryenFunctionGetVar=B.Fy)(g,I),A._BinaryenFunctionGetNumLocals=g=>(A._BinaryenFunctionGetNumLocals=B.Gy)(g),A._BinaryenFunctionHasLocalName=(g,I)=>(A._BinaryenFunctionHasLocalName=B.Hy)(g,I),A._BinaryenFunctionGetLocalName=(g,I)=>(A._BinaryenFunctionGetLocalName=B.Iy)(g,I),A._BinaryenFunctionSetLocalName=(g,I,E)=>(A._BinaryenFunctionSetLocalName=B.Jy)(g,I,E),A._BinaryenFunctionGetBody=g=>(A._BinaryenFunctionGetBody=B.Ky)(g),A._BinaryenFunctionSetBody=(g,I)=>(A._BinaryenFunctionSetBody=B.Ly)(g,I),A._BinaryenFunctionOptimize=(g,I)=>(A._BinaryenFunctionOptimize=B.My)(g,I),A._BinaryenFunctionRunPasses=(g,I,E,Q)=>(A._BinaryenFunctionRunPasses=B.Ny)(g,I,E,Q),A._BinaryenFunctionSetDebugLocation=(g,I,E,Q,C)=>(A._BinaryenFunctionSetDebugLocation=B.Oy)(g,I,E,Q,C),A._BinaryenTableGetName=g=>(A._BinaryenTableGetName=B.Py)(g),A._BinaryenTableSetName=(g,I)=>(A._BinaryenTableSetName=B.Qy)(g,I),A._BinaryenTableGetInitial=g=>(A._BinaryenTableGetInitial=B.Ry)(g),A._BinaryenTableSetInitial=(g,I)=>(A._BinaryenTableSetInitial=B.Sy)(g,I),A._BinaryenTableHasMax=g=>(A._BinaryenTableHasMax=B.Ty)(g),A._BinaryenTableGetMax=g=>(A._BinaryenTableGetMax=B.Uy)(g),A._BinaryenTableSetMax=(g,I)=>(A._BinaryenTableSetMax=B.Vy)(g,I),A._BinaryenTableGetType=g=>(A._BinaryenTableGetType=B.Wy)(g),A._BinaryenTableSetType=(g,I)=>(A._BinaryenTableSetType=B.Xy)(g,I),A._BinaryenElementSegmentGetName=g=>(A._BinaryenElementSegmentGetName=B.Yy)(g),A._BinaryenElementSegmentSetName=(g,I)=>(A._BinaryenElementSegmentSetName=B.Zy)(g,I),A._BinaryenElementSegmentGetTable=g=>(A._BinaryenElementSegmentGetTable=B._y)(g),A._BinaryenElementSegmentSetTable=(g,I)=>(A._BinaryenElementSegmentSetTable=B.$y)(g,I),A._BinaryenElementSegmentIsPassive=g=>(A._BinaryenElementSegmentIsPassive=B.az)(g),A._BinaryenGlobalGetName=g=>(A._BinaryenGlobalGetName=B.bz)(g),A._BinaryenGlobalGetType=g=>(A._BinaryenGlobalGetType=B.cz)(g),A._BinaryenGlobalIsMutable=g=>(A._BinaryenGlobalIsMutable=B.dz)(g),A._BinaryenGlobalGetInitExpr=g=>(A._BinaryenGlobalGetInitExpr=B.ez)(g),A._BinaryenTagGetName=g=>(A._BinaryenTagGetName=B.fz)(g),A._BinaryenTagGetParams=g=>(A._BinaryenTagGetParams=B.gz)(g),A._BinaryenTagGetResults=g=>(A._BinaryenTagGetResults=B.hz)(g),A._BinaryenFunctionImportGetModule=g=>(A._BinaryenFunctionImportGetModule=B.iz)(g),A._BinaryenTableImportGetModule=g=>(A._BinaryenTableImportGetModule=B.jz)(g),A._BinaryenGlobalImportGetModule=g=>(A._BinaryenGlobalImportGetModule=B.kz)(g),A._BinaryenTagImportGetModule=g=>(A._BinaryenTagImportGetModule=B.lz)(g),A._BinaryenFunctionImportGetBase=g=>(A._BinaryenFunctionImportGetBase=B.mz)(g),A._BinaryenTableImportGetBase=g=>(A._BinaryenTableImportGetBase=B.nz)(g),A._BinaryenGlobalImportGetBase=g=>(A._BinaryenGlobalImportGetBase=B.oz)(g),A._BinaryenTagImportGetBase=g=>(A._BinaryenTagImportGetBase=B.pz)(g),A._BinaryenExportGetKind=g=>(A._BinaryenExportGetKind=B.qz)(g),A._BinaryenExportGetName=g=>(A._BinaryenExportGetName=B.rz)(g),A._BinaryenExportGetValue=g=>(A._BinaryenExportGetValue=B.sz)(g),A._BinaryenAddCustomSection=(g,I,E,Q)=>(A._BinaryenAddCustomSection=B.tz)(g,I,E,Q),A._BinaryenSideEffectNone=()=>(A._BinaryenSideEffectNone=B.uz)(),A._BinaryenSideEffectBranches=()=>(A._BinaryenSideEffectBranches=B.vz)(),A._BinaryenSideEffectCalls=()=>(A._BinaryenSideEffectCalls=B.wz)(),A._BinaryenSideEffectReadsLocal=()=>(A._BinaryenSideEffectReadsLocal=B.xz)(),A._BinaryenSideEffectWritesLocal=()=>(A._BinaryenSideEffectWritesLocal=B.yz)(),A._BinaryenSideEffectReadsGlobal=()=>(A._BinaryenSideEffectReadsGlobal=B.zz)(),A._BinaryenSideEffectWritesGlobal=()=>(A._BinaryenSideEffectWritesGlobal=B.Az)(),A._BinaryenSideEffectReadsMemory=()=>(A._BinaryenSideEffectReadsMemory=B.Bz)(),A._BinaryenSideEffectWritesMemory=()=>(A._BinaryenSideEffectWritesMemory=B.Cz)(),A._BinaryenSideEffectReadsTable=()=>(A._BinaryenSideEffectReadsTable=B.Dz)(),A._BinaryenSideEffectWritesTable=()=>(A._BinaryenSideEffectWritesTable=B.Ez)(),A._BinaryenSideEffectImplicitTrap=()=>(A._BinaryenSideEffectImplicitTrap=B.Fz)(),A._BinaryenSideEffectTrapsNeverHappen=()=>(A._BinaryenSideEffectTrapsNeverHappen=B.Gz)(),A._BinaryenSideEffectIsAtomic=()=>(A._BinaryenSideEffectIsAtomic=B.Hz)(),A._BinaryenSideEffectThrows=()=>(A._BinaryenSideEffectThrows=B.Iz)(),A._BinaryenSideEffectDanglingPop=()=>(A._BinaryenSideEffectDanglingPop=B.Jz)(),A._BinaryenSideEffectAny=()=>(A._BinaryenSideEffectAny=B.Kz)(),A._BinaryenExpressionGetSideEffects=(g,I)=>(A._BinaryenExpressionGetSideEffects=B.Lz)(g,I),A._RelooperCreate=g=>(A._RelooperCreate=B.Mz)(g),A._RelooperAddBlock=(g,I)=>(A._RelooperAddBlock=B.Nz)(g,I),A._RelooperAddBranch=(g,I,E,Q)=>(A._RelooperAddBranch=B.Oz)(g,I,E,Q),A._RelooperAddBlockWithSwitch=(g,I,E)=>(A._RelooperAddBlockWithSwitch=B.Pz)(g,I,E),A._RelooperAddBranchForSwitch=(g,I,E,Q,C)=>(A._RelooperAddBranchForSwitch=B.Qz)(g,I,E,Q,C),A._RelooperRenderAndDispose=(g,I,E)=>(A._RelooperRenderAndDispose=B.Rz)(g,I,E),A._ExpressionRunnerFlagsDefault=()=>(A._ExpressionRunnerFlagsDefault=B.Sz)(),A._ExpressionRunnerFlagsPreserveSideeffects=()=>(A._ExpressionRunnerFlagsPreserveSideeffects=B.Tz)(),A._ExpressionRunnerFlagsTraverseCalls=()=>(A._ExpressionRunnerFlagsTraverseCalls=B.Uz)(),A._ExpressionRunnerCreate=(g,I,E,Q)=>(A._ExpressionRunnerCreate=B.Vz)(g,I,E,Q),A._ExpressionRunnerSetLocalValue=(g,I,E)=>(A._ExpressionRunnerSetLocalValue=B.Wz)(g,I,E),A._ExpressionRunnerSetGlobalValue=(g,I,E)=>(A._ExpressionRunnerSetGlobalValue=B.Xz)(g,I,E),A._ExpressionRunnerRunAndDispose=(g,I)=>(A._ExpressionRunnerRunAndDispose=B.Yz)(g,I),A._TypeBuilderErrorReasonSelfSupertype=()=>(A._TypeBuilderErrorReasonSelfSupertype=B.Zz)(),A._TypeBuilderErrorReasonInvalidSupertype=()=>(A._TypeBuilderErrorReasonInvalidSupertype=B._z)(),A._TypeBuilderErrorReasonForwardSupertypeReference=()=>(A._TypeBuilderErrorReasonForwardSupertypeReference=B.$z)(),A._TypeBuilderErrorReasonForwardChildReference=()=>(A._TypeBuilderErrorReasonForwardChildReference=B.aA)(),A._TypeBuilderCreate=g=>(A._TypeBuilderCreate=B.bA)(g),A._TypeBuilderGrow=(g,I)=>(A._TypeBuilderGrow=B.cA)(g,I),A._TypeBuilderGetSize=g=>(A._TypeBuilderGetSize=B.dA)(g),A._TypeBuilderSetSignatureType=(g,I,E,Q)=>(A._TypeBuilderSetSignatureType=B.eA)(g,I,E,Q),A._TypeBuilderSetStructType=(g,I,E,Q,C,D)=>(A._TypeBuilderSetStructType=B.fA)(g,I,E,Q,C,D),A._TypeBuilderSetArrayType=(g,I,E,Q,C)=>(A._TypeBuilderSetArrayType=B.gA)(g,I,E,Q,C),A._TypeBuilderGetTempHeapType=(g,I)=>(A._TypeBuilderGetTempHeapType=B.hA)(g,I),A._TypeBuilderGetTempTupleType=(g,I,E)=>(A._TypeBuilderGetTempTupleType=B.iA)(g,I,E),A._TypeBuilderGetTempRefType=(g,I,E)=>(A._TypeBuilderGetTempRefType=B.jA)(g,I,E),A._TypeBuilderSetSubType=(g,I,E)=>(A._TypeBuilderSetSubType=B.kA)(g,I,E),A._TypeBuilderSetOpen=(g,I)=>(A._TypeBuilderSetOpen=B.lA)(g,I),A._TypeBuilderCreateRecGroup=(g,I,E)=>(A._TypeBuilderCreateRecGroup=B.mA)(g,I,E),A._TypeBuilderBuildAndDispose=(g,I,E,Q)=>(A._TypeBuilderBuildAndDispose=B.nA)(g,I,E,Q),A._BinaryenModuleSetTypeName=(g,I,E)=>(A._BinaryenModuleSetTypeName=B.oA)(g,I,E),A._BinaryenModuleSetFieldName=(g,I,E,Q)=>(A._BinaryenModuleSetFieldName=B.pA)(g,I,E,Q),A._BinaryenSetColorsEnabled=g=>(A._BinaryenSetColorsEnabled=B.qA)(g),A._BinaryenAreColorsEnabled=()=>(A._BinaryenAreColorsEnabled=B.rA)();var lg=A._BinaryenSizeofLiteral=()=>(lg=A._BinaryenSizeofLiteral=B.sA)(),pg=A._BinaryenSizeofAllocateAndWriteResult=()=>(pg=A._BinaryenSizeofAllocateAndWriteResult=B.tA)();A.__i32_store8=(g,I)=>(A.__i32_store8=B.uA)(g,I),A.__i32_store16=(g,I)=>(A.__i32_store16=B.vA)(g,I),A.__i32_store=(g,I)=>(A.__i32_store=B.wA)(g,I),A.__f32_store=(g,I)=>(A.__f32_store=B.xA)(g,I),A.__f64_store=(g,I)=>(A.__f64_store=B.yA)(g,I),A.__i32_load8_s=g=>(A.__i32_load8_s=B.zA)(g),A.__i32_load8_u=g=>(A.__i32_load8_u=B.AA)(g),A.__i32_load16_s=g=>(A.__i32_load16_s=B.BA)(g),A.__i32_load16_u=g=>(A.__i32_load16_u=B.CA)(g),A.__i32_load=g=>(A.__i32_load=B.DA)(g),A.__f32_load=g=>(A.__f32_load=B.EA)(g),A.__f64_load=g=>(A.__f64_load=B.FA)(g);var b=A._free=g=>(b=A._free=B.GA)(g),J=(g,I)=>(J=B.IA)(g,I),wA=g=>(wA=B.JA)(g),Y=()=>(Y=B.KA)(),H=g=>(H=B.LA)(g),Z=g=>(Z=B.MA)(g),bg=g=>(bg=B.NA)(g),mg=g=>(mg=B.OA)(g),fg=(g,I,E)=>(fg=B.PA)(g,I,E),jg=g=>(jg=B.QA)(g),Pg=A.dynCall_viij=(g,I,E,Q,C)=>(Pg=A.dynCall_viij=B.RA)(g,I,E,Q,C),Og=A.dynCall_iij=(g,I,E,Q)=>(Og=A.dynCall_iij=B.SA)(g,I,E,Q),Xg=A.dynCall_viiij=(g,I,E,Q,C,D)=>(Xg=A.dynCall_viiij=B.TA)(g,I,E,Q,C,D),ug=A.dynCall_iiij=(g,I,E,Q,C)=>(ug=A.dynCall_iiij=B.UA)(g,I,E,Q,C),zg=A.dynCall_viiji=(g,I,E,Q,C,D)=>(zg=A.dynCall_viiji=B.VA)(g,I,E,Q,C,D),vg=A.dynCall_jii=(g,I,E)=>(vg=A.dynCall_jii=B.WA)(g,I,E),_g=A.dynCall_vjii=(g,I,E,Q,C)=>(_g=A.dynCall_vjii=B.XA)(g,I,E,Q,C),$g=A.dynCall_vij=(g,I,E,Q)=>($g=A.dynCall_vij=B.YA)(g,I,E,Q),AI=A.dynCall_ijiii=(g,I,E,Q,C,D)=>(AI=A.dynCall_ijiii=B.ZA)(g,I,E,Q,C,D),gI=A.dynCall_iji=(g,I,E,Q)=>(gI=A.dynCall_iji=B._A)(g,I,E,Q),II=A.dynCall_iiiiij=(g,I,E,Q,C,D,i)=>(II=A.dynCall_iiiiij=B.$A)(g,I,E,Q,C,D,i),QI=A.dynCall_viiiiij=(g,I,E,Q,C,D,i,N)=>(QI=A.dynCall_viiiiij=B.aB)(g,I,E,Q,C,D,i,N),BI=A.dynCall_iiijii=(g,I,E,Q,C,D,i)=>(BI=A.dynCall_iiijii=B.bB)(g,I,E,Q,C,D,i),CI=A.dynCall_iiiij=(g,I,E,Q,C,D)=>(CI=A.dynCall_iiiij=B.cB)(g,I,E,Q,C,D),EI=A.dynCall_vijji=(g,I,E,Q,C,D,i)=>(EI=A.dynCall_vijji=B.dB)(g,I,E,Q,C,D,i),DI=A.dynCall_ji=(g,I)=>(DI=A.dynCall_ji=B.eB)(g,I),iI=A.dynCall_viijj=(g,I,E,Q,C,D,i)=>(iI=A.dynCall_viijj=B.fB)(g,I,E,Q,C,D,i),oI=A.dynCall_viijji=(g,I,E,Q,C,D,i,N)=>(oI=A.dynCall_viijji=B.gB)(g,I,E,Q,C,D,i,N),NI=A.dynCall_viijiijj=(g,I,E,Q,C,D,i,N,R,U,S)=>(NI=A.dynCall_viijiijj=B.hB)(g,I,E,Q,C,D,i,N,R,U,S),wI=A.dynCall_vijiijj=(g,I,E,Q,C,D,i,N,R,U)=>(wI=A.dynCall_vijiijj=B.iB)(g,I,E,Q,C,D,i,N,R,U),RI=A.dynCall_jiiiij=(g,I,E,Q,C,D,i)=>(RI=A.dynCall_jiiiij=B.jB)(g,I,E,Q,C,D,i),kI=A.dynCall_viji=(g,I,E,Q,C)=>(kI=A.dynCall_viji=B.kB)(g,I,E,Q,C),UI=A.dynCall_ijiiii=(g,I,E,Q,C,D,i)=>(UI=A.dynCall_ijiiii=B.lB)(g,I,E,Q,C,D,i),FI=A.dynCall_jiii=(g,I,E,Q)=>(FI=A.dynCall_jiii=B.mB)(g,I,E,Q),GI=A.dynCall_j=g=>(GI=A.dynCall_j=B.nB)(g),JI=A.dynCall_vijii=(g,I,E,Q,C,D)=>(JI=A.dynCall_vijii=B.oB)(g,I,E,Q,C,D),YI=A.dynCall_vijiii=(g,I,E,Q,C,D,i)=>(YI=A.dynCall_vijiii=B.pB)(g,I,E,Q,C,D,i),HI=A.dynCall_iiji=(g,I,E,Q,C)=>(HI=A.dynCall_iiji=B.qB)(g,I,E,Q,C),SI=A.dynCall_iijiiii=(g,I,E,Q,C,D,i,N)=>(SI=A.dynCall_iijiiii=B.rB)(g,I,E,Q,C,D,i,N),LI=A.dynCall_iijii=(g,I,E,Q,C,D)=>(LI=A.dynCall_iijii=B.sB)(g,I,E,Q,C,D),yI=A.dynCall_viiiij=(g,I,E,Q,C,D,i)=>(yI=A.dynCall_viiiij=B.tB)(g,I,E,Q,C,D,i),KI=A.dynCall_iiiiiiij=(g,I,E,Q,C,D,i,N,R)=>(KI=A.dynCall_iiiiiiij=B.uB)(g,I,E,Q,C,D,i,N,R),sI=A.dynCall_iijiiiij=(g,I,E,Q,C,D,i,N,R,U)=>(sI=A.dynCall_iijiiiij=B.vB)(g,I,E,Q,C,D,i,N,R,U),hI=A.dynCall_jiji=(g,I,E,Q,C)=>(hI=A.dynCall_jiji=B.wB)(g,I,E,Q,C),MI=A.dynCall_iiijj=(g,I,E,Q,C,D,i)=>(MI=A.dynCall_iiijj=B.xB)(g,I,E,Q,C,D,i),cI=A.dynCall_viiiji=(g,I,E,Q,C,D,i)=>(cI=A.dynCall_viiiji=B.yB)(g,I,E,Q,C,D,i),aI=A.dynCall_viijii=(g,I,E,Q,C,D,i)=>(aI=A.dynCall_viijii=B.zB)(g,I,E,Q,C,D,i);function vI(g,I,E){var Q=Y();try{c(g)(I,E)}catch(C){if(H(Q),C!==C+0)throw C;J(1,0)}}function _I(g,I,E){var Q=Y();try{return c(g)(I,E)}catch(C){if(H(Q),C!==C+0)throw C;J(1,0)}}function $I(g,I){var E=Y();try{return c(g)(I)}catch(Q){if(H(E),Q!==Q+0)throw Q;J(1,0)}}function AQ(g,I,E,Q){var C=Y();try{return c(g)(I,E,Q)}catch(D){if(H(C),D!==D+0)throw D;J(1,0)}}function gQ(g,I,E,Q,C){var D=Y();try{c(g)(I,E,Q,C)}catch(i){if(H(D),i!==i+0)throw i;J(1,0)}}function IQ(g){var I=Y();try{c(g)()}catch(E){if(H(I),E!==E+0)throw E;J(1,0)}}function QQ(g,I){var E=Y();try{c(g)(I)}catch(Q){if(H(E),Q!==Q+0)throw Q;J(1,0)}}function BQ(g,I,E,Q){var C=Y();try{c(g)(I,E,Q)}catch(D){if(H(C),D!==D+0)throw D;J(1,0)}}function CQ(g,I,E,Q,C){var D=Y();try{return c(g)(I,E,Q,C)}catch(i){if(H(D),i!==i+0)throw i;J(1,0)}}function EQ(g,I,E,Q,C,D){var i=Y();try{c(g)(I,E,Q,C,D)}catch(N){if(H(i),N!==N+0)throw N;J(1,0)}}function DQ(g,I,E,Q,C,D,i){var N=Y();try{return c(g)(I,E,Q,C,D,i)}catch(R){if(H(N),R!==R+0)throw R;J(1,0)}}function iQ(g,I,E,Q){var C=Y();try{c(g)(I,E,Q)}catch(D){if(H(C),D!==D+0)throw D;J(1,0)}}function oQ(g){var I=Y();try{return c(g)()}catch(E){if(H(I),E!==E+0)throw E;J(1,0)}}function NQ(g,I,E,Q,C,D,i,N,R){var U=Y();try{c(g)(I,E,Q,C,D,i,N,R)}catch(S){if(H(U),S!==S+0)throw S;J(1,0)}}function wQ(g,I,E,Q,C,D){var i=Y();try{return c(g)(I,E,Q,C,D)}catch(N){if(H(i),N!==N+0)throw N;J(1,0)}}function RQ(g,I,E){var Q=Y();try{c(g)(I,E)}catch(C){if(H(Q),C!==C+0)throw C;J(1,0)}}function kQ(g,I,E){var Q=Y();try{return c(g)(I,E)}catch(C){if(H(Q),C!==C+0)throw C;J(1,0)}}function UQ(g,I,E,Q,C,D,i,N,R){var U=Y();try{return c(g)(I,E,Q,C,D,i,N,R)}catch(S){if(H(U),S!==S+0)throw S;J(1,0)}}function FQ(g,I,E,Q,C,D,i){var N=Y();try{c(g)(I,E,Q,C,D,i)}catch(R){if(H(N),R!==R+0)throw R;J(1,0)}}function GQ(g,I,E,Q,C,D,i,N){var R=Y();try{c(g)(I,E,Q,C,D,i,N)}catch(U){if(H(R),U!==U+0)throw U;J(1,0)}}function JQ(g,I,E,Q,C,D,i,N){var R=Y();try{return c(g)(I,E,Q,C,D,i,N)}catch(U){if(H(R),U!==U+0)throw U;J(1,0)}}function YQ(g,I,E,Q,C,D){var i=Y();try{return c(g)(I,E,Q,C,D)}catch(N){if(H(i),N!==N+0)throw N;J(1,0)}}function HQ(g,I,E,Q,C,D,i,N,R,U,S,h){var M=Y();try{return c(g)(I,E,Q,C,D,i,N,R,U,S,h)}catch(w){if(H(M),w!==w+0)throw w;J(1,0)}}function SQ(g,I,E,Q,C,D,i,N,R,U,S){var h=Y();try{c(g)(I,E,Q,C,D,i,N,R,U,S)}catch(M){if(H(h),M!==M+0)throw M;J(1,0)}}function LQ(g,I,E,Q,C,D,i,N,R,U,S,h,M,w,s,y){var d=Y();try{c(g)(I,E,Q,C,D,i,N,R,U,S,h,M,w,s,y)}catch(n){if(H(d),n!==n+0)throw n;J(1,0)}}function yQ(g,I,E,Q,C,D){var i=Y();try{zg(g,I,E,Q,C,D)}catch(N){if(H(i),N!==N+0)throw N;J(1,0)}}function KQ(g,I,E,Q,C){var D=Y();try{Pg(g,I,E,Q,C)}catch(i){if(H(D),i!==i+0)throw i;J(1,0)}}function sQ(g,I,E,Q,C){var D=Y();try{return ug(g,I,E,Q,C)}catch(i){if(H(D),i!==i+0)throw i;J(1,0)}}function hQ(g,I,E,Q){var C=Y();try{$g(g,I,E,Q)}catch(D){if(H(C),D!==D+0)throw D;J(1,0)}}function MQ(g,I,E,Q){var C=Y();try{return Og(g,I,E,Q)}catch(D){if(H(C),D!==D+0)throw D;J(1,0)}}function cQ(g,I,E,Q,C,D){var i=Y();try{Xg(g,I,E,Q,C,D)}catch(N){if(H(i),N!==N+0)throw N;J(1,0)}}function aQ(g,I){var E=Y();try{return DI(g,I)}catch(Q){if(H(E),Q!==Q+0)throw Q;J(1,0)}}function dQ(g,I,E,Q,C,D){var i=Y();try{return AI(g,I,E,Q,C,D)}catch(N){if(H(i),N!==N+0)throw N;J(1,0)}}function tQ(g,I,E,Q){var C=Y();try{return gI(g,I,E,Q)}catch(D){if(H(C),D!==D+0)throw D;J(1,0)}}function WQ(g,I,E,Q,C,D,i){var N=Y();try{iI(g,I,E,Q,C,D,i)}catch(R){if(H(N),R!==R+0)throw R;J(1,0)}}function qQ(g,I,E,Q,C,D,i){var N=Y();try{EI(g,I,E,Q,C,D,i)}catch(R){if(H(N),R!==R+0)throw R;J(1,0)}}function ZQ(g,I,E,Q,C,D,i){var N=Y();try{cI(g,I,E,Q,C,D,i)}catch(R){if(H(N),R!==R+0)throw R;J(1,0)}}function xQ(g,I,E,Q,C,D,i){var N=Y();try{aI(g,I,E,Q,C,D,i)}catch(R){if(H(N),R!==R+0)throw R;J(1,0)}}function nQ(g,I,E,Q,C,D,i,N,R,U,S){var h=Y();try{NI(g,I,E,Q,C,D,i,N,R,U,S)}catch(M){if(H(h),M!==M+0)throw M;J(1,0)}}function eQ(g,I,E,Q,C,D,i,N,R,U){var S=Y();try{wI(g,I,E,Q,C,D,i,N,R,U)}catch(h){if(H(S),h!==h+0)throw h;J(1,0)}}function VQ(g,I,E,Q,C,D,i){var N=Y();try{return RI(g,I,E,Q,C,D,i)}catch(R){if(H(N),R!==R+0)throw R;J(1,0)}}function rQ(g,I,E,Q,C){var D=Y();try{return HI(g,I,E,Q,C)}catch(i){if(H(D),i!==i+0)throw i;J(1,0)}}function TQ(g,I,E,Q,C){var D=Y();try{return hI(g,I,E,Q,C)}catch(i){if(H(D),i!==i+0)throw i;J(1,0)}}function lQ(g,I,E,Q,C,D){var i=Y();try{JI(g,I,E,Q,C,D)}catch(N){if(H(i),N!==N+0)throw N;J(1,0)}}function pQ(g,I,E,Q,C){var D=Y();try{kI(g,I,E,Q,C)}catch(i){if(H(D),i!==i+0)throw i;J(1,0)}}function bQ(g,I,E,Q,C,D,i){var N=Y();try{return MI(g,I,E,Q,C,D,i)}catch(R){if(H(N),R!==R+0)throw R;J(1,0)}}function mQ(g,I,E,Q,C,D,i,N){var R=Y();try{oI(g,I,E,Q,C,D,i,N)}catch(U){if(H(R),U!==U+0)throw U;J(1,0)}}function fQ(g,I,E,Q,C,D,i,N){var R=Y();try{QI(g,I,E,Q,C,D,i,N)}catch(U){if(H(R),U!==U+0)throw U;J(1,0)}}function jQ(g,I,E){var Q=Y();try{return vg(g,I,E)}catch(C){if(H(Q),C!==C+0)throw C;J(1,0)}}function PQ(g,I,E,Q,C){var D=Y();try{_g(g,I,E,Q,C)}catch(i){if(H(D),i!==i+0)throw i;J(1,0)}}function OQ(g,I,E,Q,C,D,i){var N=Y();try{return UI(g,I,E,Q,C,D,i)}catch(R){if(H(N),R!==R+0)throw R;J(1,0)}}function XQ(g,I,E,Q,C,D,i){var N=Y();try{return BI(g,I,E,Q,C,D,i)}catch(R){if(H(N),R!==R+0)throw R;J(1,0)}}function uQ(g,I,E,Q,C,D){var i=Y();try{return CI(g,I,E,Q,C,D)}catch(N){if(H(i),N!==N+0)throw N;J(1,0)}}function zQ(g,I,E,Q,C,D,i){var N=Y();try{YI(g,I,E,Q,C,D,i)}catch(R){if(H(N),R!==R+0)throw R;J(1,0)}}function vQ(g,I,E,Q,C,D,i,N){var R=Y();try{return SI(g,I,E,Q,C,D,i,N)}catch(U){if(H(R),U!==U+0)throw U;J(1,0)}}function _Q(g,I,E,Q,C,D){var i=Y();try{return LI(g,I,E,Q,C,D)}catch(N){if(H(i),N!==N+0)throw N;J(1,0)}}function $Q(g,I,E,Q,C,D,i){var N=Y();try{return II(g,I,E,Q,C,D,i)}catch(R){if(H(N),R!==R+0)throw R;J(1,0)}}function AB(g,I,E,Q,C,D,i){var N=Y();try{yI(g,I,E,Q,C,D,i)}catch(R){if(H(N),R!==R+0)throw R;J(1,0)}}function gB(g,I,E,Q,C,D,i,N,R){var U=Y();try{return KI(g,I,E,Q,C,D,i,N,R)}catch(S){if(H(U),S!==S+0)throw S;J(1,0)}}function IB(g,I,E,Q,C,D,i,N,R,U){var S=Y();try{return sI(g,I,E,Q,C,D,i,N,R,U)}catch(h){if(H(S),h!==h+0)throw h;J(1,0)}}function QB(g){var I=Y();try{return GI(g)}catch(E){if(H(I),E!==E+0)throw E;J(1,0)}}function BB(g,I,E,Q){var C=Y();try{return FI(g,I,E,Q)}catch(D){if(H(C),D!==D+0)throw D;J(1,0)}}function CB(){var g=B;g=Object.assign({},g);var I=E=>Q=>E(Q)>>>0;return g.uy=I(g.uy),g.KA=(E=>()=>E()>>>0)(g.KA),g.MA=I(g.MA),g}A.stringToAscii=zA,A.allocateUTF8OnStack=rg;var cA;IA=function g(){cA||dI(),cA||(IA=g)};function dI(){function g(){if(!cA&&(cA=!0,A.calledRun=!0,!xA)){if(ig=!0,A.noFSInit||qg||(qg=!0,Wg(),A.stdin=A.stdin,A.stdout=A.stdout,A.stderr=A.stderr,A.stdin?DA("stdin",A.stdin):PA("/dev/tty","/dev/stdin"),A.stdout?DA("stdout",null,A.stdout):PA("/dev/tty","/dev/stdout"),A.stderr?DA("stderr",null,A.stderr):PA("/dev/tty1","/dev/stderr"),sA("/dev/stdin",0),sA("/dev/stdout",1),sA("/dev/stderr",1)),yg=!1,rA(Eg),Ag(A),A.onRuntimeInitialized&&A.onRuntimeInitialized(),A.postRun)for(typeof A.postRun=="function"&&(A.postRun=[A.postRun]);A.postRun.length;){var I=A.postRun.shift();Dg.unshift(I)}rA(Dg)}}if(!(0>>2>>>0),I}function aA(g){let I=Z(g.length);return t.set(g,I>>>0),I}function tI(){[["none","None"],["i32","Int32"],["i64","Int64"],["f32","Float32"],["f64","Float64"],["v128","Vec128"],["funcref","Funcref"],["externref","Externref"],["anyref","Anyref"],["eqref","Eqref"],["i31ref","I31ref"],["structref","Structref"],["stringref","Stringref"],["stringview_wtf8","StringviewWTF8"],["stringview_wtf16","StringviewWTF16"],["stringview_iter","StringviewIter"],["unreachable","Unreachable"],["auto","Auto"]].forEach(g=>{A[g[0]]=A["_BinaryenType"+g[1]]()}),A.ExpressionIds={},"Invalid Block If Loop Break Switch Call CallIndirect LocalGet LocalSet GlobalGet GlobalSet Load Store Const Unary Binary Select Drop Return MemorySize MemoryGrow Nop Unreachable AtomicCmpxchg AtomicRMW AtomicWait AtomicNotify AtomicFence SIMDExtract SIMDReplace SIMDShuffle SIMDTernary SIMDShift SIMDLoad SIMDLoadStoreLane MemoryInit DataDrop MemoryCopy MemoryFill RefNull RefIsNull RefFunc RefEq TableGet TableSet TableSize TableGrow Try Throw Rethrow TupleMake TupleExtract Pop RefI31 I31Get CallRef RefTest RefCast BrOn StructNew StructGet StructSet ArrayNew ArrayNewFixed ArrayGet ArraySet ArrayLen ArrayCopy RefAs StringNew StringConst StringMeasure StringEncode StringConcat StringEq StringAs StringWTF8Advance StringWTF16Get StringIterNext StringIterMove StringSliceWTF StringSliceIter".split(" ").forEach(g=>{A.ExpressionIds[g]=A[g+"Id"]=A["_Binaryen"+g+"Id"]()}),A.ExternalKinds={},["Function","Table","Memory","Global","Tag"].forEach(g=>{A.ExternalKinds[g]=A["External"+g]=A["_BinaryenExternal"+g]()}),A.Features={},"MVP Atomics BulkMemory MutableGlobals NontrappingFPToInt SignExt SIMD128 ExceptionHandling TailCall ReferenceTypes Multivalue GC Memory64 RelaxedSIMD ExtendedConst Strings MultiMemory All".split(" ").forEach(g=>{A.Features[g]=A["_BinaryenFeature"+g]()}),A.Operations={},"ClzInt32 CtzInt32 PopcntInt32 NegFloat32 AbsFloat32 CeilFloat32 FloorFloat32 TruncFloat32 NearestFloat32 SqrtFloat32 EqZInt32 ClzInt64 CtzInt64 PopcntInt64 NegFloat64 AbsFloat64 CeilFloat64 FloorFloat64 TruncFloat64 NearestFloat64 SqrtFloat64 EqZInt64 ExtendSInt32 ExtendUInt32 WrapInt64 TruncSFloat32ToInt32 TruncSFloat32ToInt64 TruncUFloat32ToInt32 TruncUFloat32ToInt64 TruncSFloat64ToInt32 TruncSFloat64ToInt64 TruncUFloat64ToInt32 TruncUFloat64ToInt64 TruncSatSFloat32ToInt32 TruncSatSFloat32ToInt64 TruncSatUFloat32ToInt32 TruncSatUFloat32ToInt64 TruncSatSFloat64ToInt32 TruncSatSFloat64ToInt64 TruncSatUFloat64ToInt32 TruncSatUFloat64ToInt64 ReinterpretFloat32 ReinterpretFloat64 ConvertSInt32ToFloat32 ConvertSInt32ToFloat64 ConvertUInt32ToFloat32 ConvertUInt32ToFloat64 ConvertSInt64ToFloat32 ConvertSInt64ToFloat64 ConvertUInt64ToFloat32 ConvertUInt64ToFloat64 PromoteFloat32 DemoteFloat64 ReinterpretInt32 ReinterpretInt64 ExtendS8Int32 ExtendS16Int32 ExtendS8Int64 ExtendS16Int64 ExtendS32Int64 AddInt32 SubInt32 MulInt32 DivSInt32 DivUInt32 RemSInt32 RemUInt32 AndInt32 OrInt32 XorInt32 ShlInt32 ShrUInt32 ShrSInt32 RotLInt32 RotRInt32 EqInt32 NeInt32 LtSInt32 LtUInt32 LeSInt32 LeUInt32 GtSInt32 GtUInt32 GeSInt32 GeUInt32 AddInt64 SubInt64 MulInt64 DivSInt64 DivUInt64 RemSInt64 RemUInt64 AndInt64 OrInt64 XorInt64 ShlInt64 ShrUInt64 ShrSInt64 RotLInt64 RotRInt64 EqInt64 NeInt64 LtSInt64 LtUInt64 LeSInt64 LeUInt64 GtSInt64 GtUInt64 GeSInt64 GeUInt64 AddFloat32 SubFloat32 MulFloat32 DivFloat32 CopySignFloat32 MinFloat32 MaxFloat32 EqFloat32 NeFloat32 LtFloat32 LeFloat32 GtFloat32 GeFloat32 AddFloat64 SubFloat64 MulFloat64 DivFloat64 CopySignFloat64 MinFloat64 MaxFloat64 EqFloat64 NeFloat64 LtFloat64 LeFloat64 GtFloat64 GeFloat64 AtomicRMWAdd AtomicRMWSub AtomicRMWAnd AtomicRMWOr AtomicRMWXor AtomicRMWXchg SplatVecI8x16 ExtractLaneSVecI8x16 ExtractLaneUVecI8x16 ReplaceLaneVecI8x16 SplatVecI16x8 ExtractLaneSVecI16x8 ExtractLaneUVecI16x8 ReplaceLaneVecI16x8 SplatVecI32x4 ExtractLaneVecI32x4 ReplaceLaneVecI32x4 SplatVecI64x2 ExtractLaneVecI64x2 ReplaceLaneVecI64x2 SplatVecF32x4 ExtractLaneVecF32x4 ReplaceLaneVecF32x4 SplatVecF64x2 ExtractLaneVecF64x2 ReplaceLaneVecF64x2 EqVecI8x16 NeVecI8x16 LtSVecI8x16 LtUVecI8x16 GtSVecI8x16 GtUVecI8x16 LeSVecI8x16 LeUVecI8x16 GeSVecI8x16 GeUVecI8x16 EqVecI16x8 NeVecI16x8 LtSVecI16x8 LtUVecI16x8 GtSVecI16x8 GtUVecI16x8 LeSVecI16x8 LeUVecI16x8 GeSVecI16x8 GeUVecI16x8 EqVecI32x4 NeVecI32x4 LtSVecI32x4 LtUVecI32x4 GtSVecI32x4 GtUVecI32x4 LeSVecI32x4 LeUVecI32x4 GeSVecI32x4 GeUVecI32x4 EqVecI64x2 NeVecI64x2 LtSVecI64x2 GtSVecI64x2 LeSVecI64x2 GeSVecI64x2 EqVecF32x4 NeVecF32x4 LtVecF32x4 GtVecF32x4 LeVecF32x4 GeVecF32x4 EqVecF64x2 NeVecF64x2 LtVecF64x2 GtVecF64x2 LeVecF64x2 GeVecF64x2 NotVec128 AndVec128 OrVec128 XorVec128 AndNotVec128 BitselectVec128 RelaxedFmaVecF32x4 RelaxedFmsVecF32x4 RelaxedFmaVecF64x2 RelaxedFmsVecF64x2 LaneselectI8x16 LaneselectI16x8 LaneselectI32x4 LaneselectI64x2 DotI8x16I7x16AddSToVecI32x4 AnyTrueVec128 PopcntVecI8x16 AbsVecI8x16 NegVecI8x16 AllTrueVecI8x16 BitmaskVecI8x16 ShlVecI8x16 ShrSVecI8x16 ShrUVecI8x16 AddVecI8x16 AddSatSVecI8x16 AddSatUVecI8x16 SubVecI8x16 SubSatSVecI8x16 SubSatUVecI8x16 MinSVecI8x16 MinUVecI8x16 MaxSVecI8x16 MaxUVecI8x16 AvgrUVecI8x16 AbsVecI16x8 NegVecI16x8 AllTrueVecI16x8 BitmaskVecI16x8 ShlVecI16x8 ShrSVecI16x8 ShrUVecI16x8 AddVecI16x8 AddSatSVecI16x8 AddSatUVecI16x8 SubVecI16x8 SubSatSVecI16x8 SubSatUVecI16x8 MulVecI16x8 MinSVecI16x8 MinUVecI16x8 MaxSVecI16x8 MaxUVecI16x8 AvgrUVecI16x8 Q15MulrSatSVecI16x8 ExtMulLowSVecI16x8 ExtMulHighSVecI16x8 ExtMulLowUVecI16x8 ExtMulHighUVecI16x8 DotSVecI16x8ToVecI32x4 ExtMulLowSVecI32x4 ExtMulHighSVecI32x4 ExtMulLowUVecI32x4 ExtMulHighUVecI32x4 AbsVecI32x4 NegVecI32x4 AllTrueVecI32x4 BitmaskVecI32x4 ShlVecI32x4 ShrSVecI32x4 ShrUVecI32x4 AddVecI32x4 SubVecI32x4 MulVecI32x4 MinSVecI32x4 MinUVecI32x4 MaxSVecI32x4 MaxUVecI32x4 AbsVecI64x2 NegVecI64x2 AllTrueVecI64x2 BitmaskVecI64x2 ShlVecI64x2 ShrSVecI64x2 ShrUVecI64x2 AddVecI64x2 SubVecI64x2 MulVecI64x2 ExtMulLowSVecI64x2 ExtMulHighSVecI64x2 ExtMulLowUVecI64x2 ExtMulHighUVecI64x2 AbsVecF32x4 NegVecF32x4 SqrtVecF32x4 AddVecF32x4 SubVecF32x4 MulVecF32x4 DivVecF32x4 MinVecF32x4 MaxVecF32x4 PMinVecF32x4 PMaxVecF32x4 CeilVecF32x4 FloorVecF32x4 TruncVecF32x4 NearestVecF32x4 AbsVecF64x2 NegVecF64x2 SqrtVecF64x2 AddVecF64x2 SubVecF64x2 MulVecF64x2 DivVecF64x2 MinVecF64x2 MaxVecF64x2 PMinVecF64x2 PMaxVecF64x2 CeilVecF64x2 FloorVecF64x2 TruncVecF64x2 NearestVecF64x2 ExtAddPairwiseSVecI8x16ToI16x8 ExtAddPairwiseUVecI8x16ToI16x8 ExtAddPairwiseSVecI16x8ToI32x4 ExtAddPairwiseUVecI16x8ToI32x4 TruncSatSVecF32x4ToVecI32x4 TruncSatUVecF32x4ToVecI32x4 ConvertSVecI32x4ToVecF32x4 ConvertUVecI32x4ToVecF32x4 Load8SplatVec128 Load16SplatVec128 Load32SplatVec128 Load64SplatVec128 Load8x8SVec128 Load8x8UVec128 Load16x4SVec128 Load16x4UVec128 Load32x2SVec128 Load32x2UVec128 Load32ZeroVec128 Load64ZeroVec128 Load8LaneVec128 Load16LaneVec128 Load32LaneVec128 Load64LaneVec128 Store8LaneVec128 Store16LaneVec128 Store32LaneVec128 Store64LaneVec128 NarrowSVecI16x8ToVecI8x16 NarrowUVecI16x8ToVecI8x16 NarrowSVecI32x4ToVecI16x8 NarrowUVecI32x4ToVecI16x8 ExtendLowSVecI8x16ToVecI16x8 ExtendHighSVecI8x16ToVecI16x8 ExtendLowUVecI8x16ToVecI16x8 ExtendHighUVecI8x16ToVecI16x8 ExtendLowSVecI16x8ToVecI32x4 ExtendHighSVecI16x8ToVecI32x4 ExtendLowUVecI16x8ToVecI32x4 ExtendHighUVecI16x8ToVecI32x4 ExtendLowSVecI32x4ToVecI64x2 ExtendHighSVecI32x4ToVecI64x2 ExtendLowUVecI32x4ToVecI64x2 ExtendHighUVecI32x4ToVecI64x2 ConvertLowSVecI32x4ToVecF64x2 ConvertLowUVecI32x4ToVecF64x2 TruncSatZeroSVecF64x2ToVecI32x4 TruncSatZeroUVecF64x2ToVecI32x4 DemoteZeroVecF64x2ToVecF32x4 PromoteLowVecF32x4ToVecF64x2 RelaxedTruncSVecF32x4ToVecI32x4 RelaxedTruncUVecF32x4ToVecI32x4 RelaxedTruncZeroSVecF64x2ToVecI32x4 RelaxedTruncZeroUVecF64x2ToVecI32x4 SwizzleVecI8x16 RelaxedSwizzleVecI8x16 RelaxedMinVecF32x4 RelaxedMaxVecF32x4 RelaxedMinVecF64x2 RelaxedMaxVecF64x2 RelaxedQ15MulrSVecI16x8 DotI8x16I7x16SToVecI16x8 RefAsNonNull RefAsExternInternalize RefAsExternExternalize BrOnNull BrOnNonNull BrOnCast BrOnCastFail StringNewUTF8 StringNewWTF8 StringNewLossyUTF8 StringNewWTF16 StringNewUTF8Array StringNewWTF8Array StringNewLossyUTF8Array StringNewWTF16Array StringNewFromCodePoint StringMeasureUTF8 StringMeasureWTF8 StringMeasureWTF16 StringMeasureIsUSV StringMeasureWTF16View StringEncodeUTF8 StringEncodeLossyUTF8 StringEncodeWTF8 StringEncodeWTF16 StringEncodeUTF8Array StringEncodeLossyUTF8Array StringEncodeWTF8Array StringEncodeWTF16Array StringAsWTF8 StringAsWTF16 StringAsIter StringIterMoveAdvance StringIterMoveRewind StringSliceWTF8 StringSliceWTF16 StringEqEqual StringEqCompare".split(" ").forEach(g=>{A.Operations[g]=A[g]=A["_Binaryen"+g]()}),A.SideEffects={},"None Branches Calls ReadsLocal WritesLocal ReadsGlobal WritesGlobal ReadsMemory WritesMemory ReadsTable WritesTable ImplicitTrap IsAtomic Throws DanglingPop TrapsNeverHappen Any".split(" ").forEach(g=>{A.SideEffects[g]=A["_BinaryenSideEffect"+g]()}),A.ExpressionRunner.Flags={Default:A._ExpressionRunnerFlagsDefault(),PreserveSideeffects:A._ExpressionRunnerFlagsPreserveSideeffects(),TraverseCalls:A._ExpressionRunnerFlagsTraverseCalls()}}A.Module=function(g){!g||T(),dA(A._BinaryenModuleCreate(),this)};function dA(g,I={}){g||T(),I.ptr=g;let E=lg();return I.block=function(Q,C,D){return k(()=>A._BinaryenBlock(g,Q?o(Q):0,q(C),C.length,typeof D!="undefined"?D:A.none))},I.if=function(Q,C,D){return A._BinaryenIf(g,Q,C,D)},I.loop=function(Q,C){return k(()=>A._BinaryenLoop(g,o(Q),C))},I.break=I.br=function(Q,C,D){return k(()=>A._BinaryenBreak(g,o(Q),C,D))},I.br_if=function(Q,C,D){return I.br(Q,C,D)},I.switch=function(Q,C,D,i){return k(()=>A._BinaryenSwitch(g,q(Q.map(o)),Q.length,o(C),D,i))},I.call=function(Q,C,D){return k(()=>A._BinaryenCall(g,o(Q),q(C),C.length,D))},I.callIndirect=I.call_indirect=function(Q,C,D,i,N){return k(()=>A._BinaryenCallIndirect(g,o(Q),C,q(D),D.length,i,N))},I.returnCall=I.return_call=function(Q,C,D){return k(()=>A._BinaryenReturnCall(g,o(Q),q(C),C.length,D))},I.returnCallIndirect=I.return_call_indirect=function(Q,C,D,i,N){return k(()=>A._BinaryenReturnCallIndirect(g,o(Q),C,q(D),D.length,i,N))},I.local={get:function(Q,C){return A._BinaryenLocalGet(g,Q,C)},set:function(Q,C){return A._BinaryenLocalSet(g,Q,C)},tee:function(Q,C,D){if(typeof D=="undefined")throw Error("local.tee's type should be defined");return A._BinaryenLocalTee(g,Q,C,D)}},I.global={get:function(Q,C){return A._BinaryenGlobalGet(g,o(Q),C)},set:function(Q,C){return A._BinaryenGlobalSet(g,o(Q),C)}},I.table={get:function(Q,C,D){return A._BinaryenTableGet(g,o(Q),C,D)},set:function(Q,C,D){return A._BinaryenTableSet(g,o(Q),C,D)},size:function(Q){return A._BinaryenTableSize(g,o(Q))},grow:function(Q,C,D){return A._BinaryenTableGrow(g,o(Q),C,D)}},I.memory={size:function(Q,C){return A._BinaryenMemorySize(g,o(Q),C)},grow:function(Q,C,D){return A._BinaryenMemoryGrow(g,Q,o(C),D)},init:function(Q,C,D,i,N){return k(()=>A._BinaryenMemoryInit(g,o(Q),C,D,i,o(N)))},copy:function(Q,C,D,i,N){return A._BinaryenMemoryCopy(g,Q,C,D,o(i),o(N))},fill:function(Q,C,D,i){return A._BinaryenMemoryFill(g,Q,C,D,o(i))},atomic:{notify:function(Q,C,D){return A._BinaryenAtomicNotify(g,Q,C,o(D))},wait32:function(Q,C,D,i){return A._BinaryenAtomicWait(g,Q,C,D,A.i32,o(i))},wait64:function(Q,C,D,i){return A._BinaryenAtomicWait(g,Q,C,D,A.i64,o(i))}}},I.data={drop:function(Q){return k(()=>A._BinaryenDataDrop(g,o(Q)))}},I.i32={load:function(Q,C,D,i){return A._BinaryenLoad(g,4,!0,Q,C,A.i32,D,o(i))},load8_s:function(Q,C,D,i){return A._BinaryenLoad(g,1,!0,Q,C,A.i32,D,o(i))},load8_u:function(Q,C,D,i){return A._BinaryenLoad(g,1,!1,Q,C,A.i32,D,o(i))},load16_s:function(Q,C,D,i){return A._BinaryenLoad(g,2,!0,Q,C,A.i32,D,o(i))},load16_u:function(Q,C,D,i){return A._BinaryenLoad(g,2,!1,Q,C,A.i32,D,o(i))},store:function(Q,C,D,i,N){return A._BinaryenStore(g,4,Q,C,D,i,A.i32,o(N))},store8:function(Q,C,D,i,N){return A._BinaryenStore(g,1,Q,C,D,i,A.i32,o(N))},store16:function(Q,C,D,i,N){return A._BinaryenStore(g,2,Q,C,D,i,A.i32,o(N))},const(Q){return k(()=>{let C=Z(E);return A._BinaryenLiteralInt32(C,Q),A._BinaryenConst(g,C)})},clz:function(Q){return A._BinaryenUnary(g,A.ClzInt32,Q)},ctz:function(Q){return A._BinaryenUnary(g,A.CtzInt32,Q)},popcnt:function(Q){return A._BinaryenUnary(g,A.PopcntInt32,Q)},eqz:function(Q){return A._BinaryenUnary(g,A.EqZInt32,Q)},trunc_s:{f32:function(Q){return A._BinaryenUnary(g,A.TruncSFloat32ToInt32,Q)},f64:function(Q){return A._BinaryenUnary(g,A.TruncSFloat64ToInt32,Q)}},trunc_u:{f32:function(Q){return A._BinaryenUnary(g,A.TruncUFloat32ToInt32,Q)},f64:function(Q){return A._BinaryenUnary(g,A.TruncUFloat64ToInt32,Q)}},trunc_s_sat:{f32:function(Q){return A._BinaryenUnary(g,A.TruncSatSFloat32ToInt32,Q)},f64:function(Q){return A._BinaryenUnary(g,A.TruncSatSFloat64ToInt32,Q)}},trunc_u_sat:{f32:function(Q){return A._BinaryenUnary(g,A.TruncSatUFloat32ToInt32,Q)},f64:function(Q){return A._BinaryenUnary(g,A.TruncSatUFloat64ToInt32,Q)}},reinterpret:function(Q){return A._BinaryenUnary(g,A.ReinterpretFloat32,Q)},extend8_s:function(Q){return A._BinaryenUnary(g,A.ExtendS8Int32,Q)},extend16_s:function(Q){return A._BinaryenUnary(g,A.ExtendS16Int32,Q)},wrap:function(Q){return A._BinaryenUnary(g,A.WrapInt64,Q)},add:function(Q,C){return A._BinaryenBinary(g,A.AddInt32,Q,C)},sub:function(Q,C){return A._BinaryenBinary(g,A.SubInt32,Q,C)},mul:function(Q,C){return A._BinaryenBinary(g,A.MulInt32,Q,C)},div_s:function(Q,C){return A._BinaryenBinary(g,A.DivSInt32,Q,C)},div_u:function(Q,C){return A._BinaryenBinary(g,A.DivUInt32,Q,C)},rem_s:function(Q,C){return A._BinaryenBinary(g,A.RemSInt32,Q,C)},rem_u:function(Q,C){return A._BinaryenBinary(g,A.RemUInt32,Q,C)},and:function(Q,C){return A._BinaryenBinary(g,A.AndInt32,Q,C)},or:function(Q,C){return A._BinaryenBinary(g,A.OrInt32,Q,C)},xor:function(Q,C){return A._BinaryenBinary(g,A.XorInt32,Q,C)},shl:function(Q,C){return A._BinaryenBinary(g,A.ShlInt32,Q,C)},shr_u:function(Q,C){return A._BinaryenBinary(g,A.ShrUInt32,Q,C)},shr_s:function(Q,C){return A._BinaryenBinary(g,A.ShrSInt32,Q,C)},rotl:function(Q,C){return A._BinaryenBinary(g,A.RotLInt32,Q,C)},rotr:function(Q,C){return A._BinaryenBinary(g,A.RotRInt32,Q,C)},eq:function(Q,C){return A._BinaryenBinary(g,A.EqInt32,Q,C)},ne:function(Q,C){return A._BinaryenBinary(g,A.NeInt32,Q,C)},lt_s:function(Q,C){return A._BinaryenBinary(g,A.LtSInt32,Q,C)},lt_u:function(Q,C){return A._BinaryenBinary(g,A.LtUInt32,Q,C)},le_s:function(Q,C){return A._BinaryenBinary(g,A.LeSInt32,Q,C)},le_u:function(Q,C){return A._BinaryenBinary(g,A.LeUInt32,Q,C)},gt_s:function(Q,C){return A._BinaryenBinary(g,A.GtSInt32,Q,C)},gt_u:function(Q,C){return A._BinaryenBinary(g,A.GtUInt32,Q,C)},ge_s:function(Q,C){return A._BinaryenBinary(g,A.GeSInt32,Q,C)},ge_u:function(Q,C){return A._BinaryenBinary(g,A.GeUInt32,Q,C)},atomic:{load:function(Q,C,D){return A._BinaryenAtomicLoad(g,4,Q,A.i32,C,o(D))},load8_u:function(Q,C,D){return A._BinaryenAtomicLoad(g,1,Q,A.i32,C,o(D))},load16_u:function(Q,C,D){return A._BinaryenAtomicLoad(g,2,Q,A.i32,C,o(D))},store:function(Q,C,D,i){return A._BinaryenAtomicStore(g,4,Q,C,D,A.i32,o(i))},store8:function(Q,C,D,i){return A._BinaryenAtomicStore(g,1,Q,C,D,A.i32,o(i))},store16:function(Q,C,D,i){return A._BinaryenAtomicStore(g,2,Q,C,D,A.i32,o(i))},rmw:{add:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWAdd,4,Q,C,D,A.i32,o(i))},sub:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWSub,4,Q,C,D,A.i32,o(i))},and:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWAnd,4,Q,C,D,A.i32,o(i))},or:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWOr,4,Q,C,D,A.i32,o(i))},xor:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWXor,4,Q,C,D,A.i32,o(i))},xchg:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWXchg,4,Q,C,D,A.i32,o(i))},cmpxchg:function(Q,C,D,i,N){return A._BinaryenAtomicCmpxchg(g,4,Q,C,D,i,A.i32,o(N))}},rmw8_u:{add:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWAdd,1,Q,C,D,A.i32,o(i))},sub:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWSub,1,Q,C,D,A.i32,o(i))},and:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWAnd,1,Q,C,D,A.i32,o(i))},or:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWOr,1,Q,C,D,A.i32,o(i))},xor:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWXor,1,Q,C,D,A.i32,o(i))},xchg:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWXchg,1,Q,C,D,A.i32,o(i))},cmpxchg:function(Q,C,D,i,N){return A._BinaryenAtomicCmpxchg(g,1,Q,C,D,i,A.i32,o(N))}},rmw16_u:{add:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWAdd,2,Q,C,D,A.i32,o(i))},sub:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWSub,2,Q,C,D,A.i32,o(i))},and:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWAnd,2,Q,C,D,A.i32,o(i))},or:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWOr,2,Q,C,D,A.i32,o(i))},xor:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWXor,2,Q,C,D,A.i32,o(i))},xchg:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWXchg,2,Q,C,D,A.i32,o(i))},cmpxchg:function(Q,C,D,i,N){return A._BinaryenAtomicCmpxchg(g,2,Q,C,D,i,A.i32,o(N))}}},pop:function(){return A._BinaryenPop(g,A.i32)}},I.i64={load:function(Q,C,D,i){return A._BinaryenLoad(g,8,!0,Q,C,A.i64,D,o(i))},load8_s:function(Q,C,D,i){return A._BinaryenLoad(g,1,!0,Q,C,A.i64,D,o(i))},load8_u:function(Q,C,D,i){return A._BinaryenLoad(g,1,!1,Q,C,A.i64,D,o(i))},load16_s:function(Q,C,D,i){return A._BinaryenLoad(g,2,!0,Q,C,A.i64,D,o(i))},load16_u:function(Q,C,D,i){return A._BinaryenLoad(g,2,!1,Q,C,A.i64,D,o(i))},load32_s:function(Q,C,D,i){return A._BinaryenLoad(g,4,!0,Q,C,A.i64,D,o(i))},load32_u:function(Q,C,D,i){return A._BinaryenLoad(g,4,!1,Q,C,A.i64,D,o(i))},store:function(Q,C,D,i,N){return A._BinaryenStore(g,8,Q,C,D,i,A.i64,o(N))},store8:function(Q,C,D,i,N){return A._BinaryenStore(g,1,Q,C,D,i,A.i64,o(N))},store16:function(Q,C,D,i,N){return A._BinaryenStore(g,2,Q,C,D,i,A.i64,o(N))},store32:function(Q,C,D,i,N){return A._BinaryenStore(g,4,Q,C,D,i,A.i64,o(N))},const(Q,C){return k(()=>{let D=Z(E);return A._BinaryenLiteralInt64(D,Q,C),A._BinaryenConst(g,D)})},clz:function(Q){return A._BinaryenUnary(g,A.ClzInt64,Q)},ctz:function(Q){return A._BinaryenUnary(g,A.CtzInt64,Q)},popcnt:function(Q){return A._BinaryenUnary(g,A.PopcntInt64,Q)},eqz:function(Q){return A._BinaryenUnary(g,A.EqZInt64,Q)},trunc_s:{f32:function(Q){return A._BinaryenUnary(g,A.TruncSFloat32ToInt64,Q)},f64:function(Q){return A._BinaryenUnary(g,A.TruncSFloat64ToInt64,Q)}},trunc_u:{f32:function(Q){return A._BinaryenUnary(g,A.TruncUFloat32ToInt64,Q)},f64:function(Q){return A._BinaryenUnary(g,A.TruncUFloat64ToInt64,Q)}},trunc_s_sat:{f32:function(Q){return A._BinaryenUnary(g,A.TruncSatSFloat32ToInt64,Q)},f64:function(Q){return A._BinaryenUnary(g,A.TruncSatSFloat64ToInt64,Q)}},trunc_u_sat:{f32:function(Q){return A._BinaryenUnary(g,A.TruncSatUFloat32ToInt64,Q)},f64:function(Q){return A._BinaryenUnary(g,A.TruncSatUFloat64ToInt64,Q)}},reinterpret:function(Q){return A._BinaryenUnary(g,A.ReinterpretFloat64,Q)},extend8_s:function(Q){return A._BinaryenUnary(g,A.ExtendS8Int64,Q)},extend16_s:function(Q){return A._BinaryenUnary(g,A.ExtendS16Int64,Q)},extend32_s:function(Q){return A._BinaryenUnary(g,A.ExtendS32Int64,Q)},extend_s:function(Q){return A._BinaryenUnary(g,A.ExtendSInt32,Q)},extend_u:function(Q){return A._BinaryenUnary(g,A.ExtendUInt32,Q)},add:function(Q,C){return A._BinaryenBinary(g,A.AddInt64,Q,C)},sub:function(Q,C){return A._BinaryenBinary(g,A.SubInt64,Q,C)},mul:function(Q,C){return A._BinaryenBinary(g,A.MulInt64,Q,C)},div_s:function(Q,C){return A._BinaryenBinary(g,A.DivSInt64,Q,C)},div_u:function(Q,C){return A._BinaryenBinary(g,A.DivUInt64,Q,C)},rem_s:function(Q,C){return A._BinaryenBinary(g,A.RemSInt64,Q,C)},rem_u:function(Q,C){return A._BinaryenBinary(g,A.RemUInt64,Q,C)},and:function(Q,C){return A._BinaryenBinary(g,A.AndInt64,Q,C)},or:function(Q,C){return A._BinaryenBinary(g,A.OrInt64,Q,C)},xor:function(Q,C){return A._BinaryenBinary(g,A.XorInt64,Q,C)},shl:function(Q,C){return A._BinaryenBinary(g,A.ShlInt64,Q,C)},shr_u:function(Q,C){return A._BinaryenBinary(g,A.ShrUInt64,Q,C)},shr_s:function(Q,C){return A._BinaryenBinary(g,A.ShrSInt64,Q,C)},rotl:function(Q,C){return A._BinaryenBinary(g,A.RotLInt64,Q,C)},rotr:function(Q,C){return A._BinaryenBinary(g,A.RotRInt64,Q,C)},eq:function(Q,C){return A._BinaryenBinary(g,A.EqInt64,Q,C)},ne:function(Q,C){return A._BinaryenBinary(g,A.NeInt64,Q,C)},lt_s:function(Q,C){return A._BinaryenBinary(g,A.LtSInt64,Q,C)},lt_u:function(Q,C){return A._BinaryenBinary(g,A.LtUInt64,Q,C)},le_s:function(Q,C){return A._BinaryenBinary(g,A.LeSInt64,Q,C)},le_u:function(Q,C){return A._BinaryenBinary(g,A.LeUInt64,Q,C)},gt_s:function(Q,C){return A._BinaryenBinary(g,A.GtSInt64,Q,C)},gt_u:function(Q,C){return A._BinaryenBinary(g,A.GtUInt64,Q,C)},ge_s:function(Q,C){return A._BinaryenBinary(g,A.GeSInt64,Q,C)},ge_u:function(Q,C){return A._BinaryenBinary(g,A.GeUInt64,Q,C)},atomic:{load:function(Q,C,D){return A._BinaryenAtomicLoad(g,8,Q,A.i64,C,o(D))},load8_u:function(Q,C,D){return A._BinaryenAtomicLoad(g,1,Q,A.i64,C,o(D))},load16_u:function(Q,C,D){return A._BinaryenAtomicLoad(g,2,Q,A.i64,C,o(D))},load32_u:function(Q,C,D){return A._BinaryenAtomicLoad(g,4,Q,A.i64,C,o(D))},store:function(Q,C,D,i){return A._BinaryenAtomicStore(g,8,Q,C,D,A.i64,o(i))},store8:function(Q,C,D,i){return A._BinaryenAtomicStore(g,1,Q,C,D,A.i64,o(i))},store16:function(Q,C,D,i){return A._BinaryenAtomicStore(g,2,Q,C,D,A.i64,o(i))},store32:function(Q,C,D,i){return A._BinaryenAtomicStore(g,4,Q,C,D,A.i64,o(i))},rmw:{add:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWAdd,8,Q,C,D,A.i64,o(i))},sub:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWSub,8,Q,C,D,A.i64,o(i))},and:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWAnd,8,Q,C,D,A.i64,o(i))},or:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWOr,8,Q,C,D,A.i64,o(i))},xor:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWXor,8,Q,C,D,A.i64,o(i))},xchg:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWXchg,8,Q,C,D,A.i64,o(i))},cmpxchg:function(Q,C,D,i,N){return A._BinaryenAtomicCmpxchg(g,8,Q,C,D,i,A.i64,o(N))}},rmw8_u:{add:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWAdd,1,Q,C,D,A.i64,o(i))},sub:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWSub,1,Q,C,D,A.i64,o(i))},and:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWAnd,1,Q,C,D,A.i64,o(i))},or:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWOr,1,Q,C,D,A.i64,o(i))},xor:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWXor,1,Q,C,D,A.i64,o(i))},xchg:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWXchg,1,Q,C,D,A.i64,o(i))},cmpxchg:function(Q,C,D,i,N){return A._BinaryenAtomicCmpxchg(g,1,Q,C,D,i,A.i64,o(N))}},rmw16_u:{add:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWAdd,2,Q,C,D,A.i64,o(i))},sub:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWSub,2,Q,C,D,A.i64,o(i))},and:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWAnd,2,Q,C,D,A.i64,o(i))},or:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWOr,2,Q,C,D,A.i64,o(i))},xor:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWXor,2,Q,C,D,A.i64,o(i))},xchg:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWXchg,2,Q,C,D,A.i64,o(i))},cmpxchg:function(Q,C,D,i,N){return A._BinaryenAtomicCmpxchg(g,2,Q,C,D,i,A.i64,o(N))}},rmw32_u:{add:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWAdd,4,Q,C,D,A.i64,o(i))},sub:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWSub,4,Q,C,D,A.i64,o(i))},and:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWAnd,4,Q,C,D,A.i64,o(i))},or:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWOr,4,Q,C,D,A.i64,o(i))},xor:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWXor,4,Q,C,D,A.i64,o(i))},xchg:function(Q,C,D,i){return A._BinaryenAtomicRMW(g,A.AtomicRMWXchg,4,Q,C,D,A.i64,o(i))},cmpxchg:function(Q,C,D,i,N){return A._BinaryenAtomicCmpxchg(g,4,Q,C,D,i,A.i64,o(N))}}},pop:function(){return A._BinaryenPop(g,A.i64)}},I.f32={load:function(Q,C,D,i){return A._BinaryenLoad(g,4,!0,Q,C,A.f32,D,o(i))},store:function(Q,C,D,i,N){return A._BinaryenStore(g,4,Q,C,D,i,A.f32,o(N))},const(Q){return k(()=>{let C=Z(E);return A._BinaryenLiteralFloat32(C,Q),A._BinaryenConst(g,C)})},const_bits:function(Q){return k(()=>{let C=Z(E);return A._BinaryenLiteralFloat32Bits(C,Q),A._BinaryenConst(g,C)})},neg:function(Q){return A._BinaryenUnary(g,A.NegFloat32,Q)},abs:function(Q){return A._BinaryenUnary(g,A.AbsFloat32,Q)},ceil:function(Q){return A._BinaryenUnary(g,A.CeilFloat32,Q)},floor:function(Q){return A._BinaryenUnary(g,A.FloorFloat32,Q)},trunc:function(Q){return A._BinaryenUnary(g,A.TruncFloat32,Q)},nearest:function(Q){return A._BinaryenUnary(g,A.NearestFloat32,Q)},sqrt:function(Q){return A._BinaryenUnary(g,A.SqrtFloat32,Q)},reinterpret:function(Q){return A._BinaryenUnary(g,A.ReinterpretInt32,Q)},convert_s:{i32:function(Q){return A._BinaryenUnary(g,A.ConvertSInt32ToFloat32,Q)},i64:function(Q){return A._BinaryenUnary(g,A.ConvertSInt64ToFloat32,Q)}},convert_u:{i32:function(Q){return A._BinaryenUnary(g,A.ConvertUInt32ToFloat32,Q)},i64:function(Q){return A._BinaryenUnary(g,A.ConvertUInt64ToFloat32,Q)}},demote:function(Q){return A._BinaryenUnary(g,A.DemoteFloat64,Q)},add:function(Q,C){return A._BinaryenBinary(g,A.AddFloat32,Q,C)},sub:function(Q,C){return A._BinaryenBinary(g,A.SubFloat32,Q,C)},mul:function(Q,C){return A._BinaryenBinary(g,A.MulFloat32,Q,C)},div:function(Q,C){return A._BinaryenBinary(g,A.DivFloat32,Q,C)},copysign:function(Q,C){return A._BinaryenBinary(g,A.CopySignFloat32,Q,C)},min:function(Q,C){return A._BinaryenBinary(g,A.MinFloat32,Q,C)},max:function(Q,C){return A._BinaryenBinary(g,A.MaxFloat32,Q,C)},eq:function(Q,C){return A._BinaryenBinary(g,A.EqFloat32,Q,C)},ne:function(Q,C){return A._BinaryenBinary(g,A.NeFloat32,Q,C)},lt:function(Q,C){return A._BinaryenBinary(g,A.LtFloat32,Q,C)},le:function(Q,C){return A._BinaryenBinary(g,A.LeFloat32,Q,C)},gt:function(Q,C){return A._BinaryenBinary(g,A.GtFloat32,Q,C)},ge:function(Q,C){return A._BinaryenBinary(g,A.GeFloat32,Q,C)},pop:function(){return A._BinaryenPop(g,A.f32)}},I.f64={load:function(Q,C,D,i){return A._BinaryenLoad(g,8,!0,Q,C,A.f64,D,o(i))},store:function(Q,C,D,i,N){return A._BinaryenStore(g,8,Q,C,D,i,A.f64,o(N))},const(Q){return k(()=>{let C=Z(E);return A._BinaryenLiteralFloat64(C,Q),A._BinaryenConst(g,C)})},const_bits:function(Q,C){return k(()=>{let D=Z(E);return A._BinaryenLiteralFloat64Bits(D,Q,C),A._BinaryenConst(g,D)})},neg:function(Q){return A._BinaryenUnary(g,A.NegFloat64,Q)},abs:function(Q){return A._BinaryenUnary(g,A.AbsFloat64,Q)},ceil:function(Q){return A._BinaryenUnary(g,A.CeilFloat64,Q)},floor:function(Q){return A._BinaryenUnary(g,A.FloorFloat64,Q)},trunc:function(Q){return A._BinaryenUnary(g,A.TruncFloat64,Q)},nearest:function(Q){return A._BinaryenUnary(g,A.NearestFloat64,Q)},sqrt:function(Q){return A._BinaryenUnary(g,A.SqrtFloat64,Q)},reinterpret:function(Q){return A._BinaryenUnary(g,A.ReinterpretInt64,Q)},convert_s:{i32:function(Q){return A._BinaryenUnary(g,A.ConvertSInt32ToFloat64,Q)},i64:function(Q){return A._BinaryenUnary(g,A.ConvertSInt64ToFloat64,Q)}},convert_u:{i32:function(Q){return A._BinaryenUnary(g,A.ConvertUInt32ToFloat64,Q)},i64:function(Q){return A._BinaryenUnary(g,A.ConvertUInt64ToFloat64,Q)}},promote:function(Q){return A._BinaryenUnary(g,A.PromoteFloat32,Q)},add:function(Q,C){return A._BinaryenBinary(g,A.AddFloat64,Q,C)},sub:function(Q,C){return A._BinaryenBinary(g,A.SubFloat64,Q,C)},mul:function(Q,C){return A._BinaryenBinary(g,A.MulFloat64,Q,C)},div:function(Q,C){return A._BinaryenBinary(g,A.DivFloat64,Q,C)},copysign:function(Q,C){return A._BinaryenBinary(g,A.CopySignFloat64,Q,C)},min:function(Q,C){return A._BinaryenBinary(g,A.MinFloat64,Q,C)},max:function(Q,C){return A._BinaryenBinary(g,A.MaxFloat64,Q,C)},eq:function(Q,C){return A._BinaryenBinary(g,A.EqFloat64,Q,C)},ne:function(Q,C){return A._BinaryenBinary(g,A.NeFloat64,Q,C)},lt:function(Q,C){return A._BinaryenBinary(g,A.LtFloat64,Q,C)},le:function(Q,C){return A._BinaryenBinary(g,A.LeFloat64,Q,C)},gt:function(Q,C){return A._BinaryenBinary(g,A.GtFloat64,Q,C)},ge:function(Q,C){return A._BinaryenBinary(g,A.GeFloat64,Q,C)},pop:function(){return A._BinaryenPop(g,A.f64)}},I.v128={load:function(Q,C,D,i){return A._BinaryenLoad(g,16,!1,Q,C,A.v128,D,o(i))},load8_splat:function(Q,C,D,i){return A._BinaryenSIMDLoad(g,A.Load8SplatVec128,Q,C,D,o(i))},load16_splat:function(Q,C,D,i){return A._BinaryenSIMDLoad(g,A.Load16SplatVec128,Q,C,D,o(i))},load32_splat:function(Q,C,D,i){return A._BinaryenSIMDLoad(g,A.Load32SplatVec128,Q,C,D,o(i))},load64_splat:function(Q,C,D,i){return A._BinaryenSIMDLoad(g,A.Load64SplatVec128,Q,C,D,o(i))},load8x8_s:function(Q,C,D,i){return A._BinaryenSIMDLoad(g,A.Load8x8SVec128,Q,C,D,o(i))},load8x8_u:function(Q,C,D,i){return A._BinaryenSIMDLoad(g,A.Load8x8UVec128,Q,C,D,o(i))},load16x4_s:function(Q,C,D,i){return A._BinaryenSIMDLoad(g,A.Load16x4SVec128,Q,C,D,o(i))},load16x4_u:function(Q,C,D,i){return A._BinaryenSIMDLoad(g,A.Load16x4UVec128,Q,C,D,o(i))},load32x2_s:function(Q,C,D,i){return A._BinaryenSIMDLoad(g,A.Load32x2SVec128,Q,C,D,o(i))},load32x2_u:function(Q,C,D,i){return A._BinaryenSIMDLoad(g,A.Load32x2UVec128,Q,C,D,o(i))},load32_zero:function(Q,C,D,i){return A._BinaryenSIMDLoad(g,A.Load32ZeroVec128,Q,C,D,o(i))},load64_zero:function(Q,C,D,i){return A._BinaryenSIMDLoad(g,A.Load64ZeroVec128,Q,C,D,o(i))},load8_lane:function(Q,C,D,i,N,R){return A._BinaryenSIMDLoadStoreLane(g,A.Load8LaneVec128,Q,C,D,i,N,o(R))},load16_lane:function(Q,C,D,i,N,R){return A._BinaryenSIMDLoadStoreLane(g,A.Load16LaneVec128,Q,C,D,i,N,o(R))},load32_lane:function(Q,C,D,i,N,R){return A._BinaryenSIMDLoadStoreLane(g,A.Load32LaneVec128,Q,C,D,i,N,o(R))},load64_lane:function(Q,C,D,i,N,R){return A._BinaryenSIMDLoadStoreLane(g,A.Load64LaneVec128,Q,C,D,i,N,o(R))},store8_lane:function(Q,C,D,i,N,R){return A._BinaryenSIMDLoadStoreLane(g,A.Store8LaneVec128,Q,C,D,i,N,o(R))},store16_lane:function(Q,C,D,i,N,R){return A._BinaryenSIMDLoadStoreLane(g,A.Store16LaneVec128,Q,C,D,i,N,o(R))},store32_lane:function(Q,C,D,i,N,R){return A._BinaryenSIMDLoadStoreLane(g,A.Store32LaneVec128,Q,C,D,i,N,o(R))},store64_lane:function(Q,C,D,i,N,R){return A._BinaryenSIMDLoadStoreLane(g,A.Store64LaneVec128,Q,C,D,i,N,o(R))},store:function(Q,C,D,i,N){return A._BinaryenStore(g,16,Q,C,D,i,A.v128,o(N))},const(Q){return k(()=>{let C=Z(E);return A._BinaryenLiteralVec128(C,aA(Q)),A._BinaryenConst(g,C)})},not:function(Q){return A._BinaryenUnary(g,A.NotVec128,Q)},any_true:function(Q){return A._BinaryenUnary(g,A.AnyTrueVec128,Q)},and:function(Q,C){return A._BinaryenBinary(g,A.AndVec128,Q,C)},or:function(Q,C){return A._BinaryenBinary(g,A.OrVec128,Q,C)},xor:function(Q,C){return A._BinaryenBinary(g,A.XorVec128,Q,C)},andnot:function(Q,C){return A._BinaryenBinary(g,A.AndNotVec128,Q,C)},bitselect:function(Q,C,D){return A._BinaryenSIMDTernary(g,A.BitselectVec128,Q,C,D)},pop:function(){return A._BinaryenPop(g,A.v128)}},I.i8x16={shuffle:function(Q,C,D){return k(()=>A._BinaryenSIMDShuffle(g,Q,C,aA(D)))},swizzle:function(Q,C){return A._BinaryenBinary(g,A.SwizzleVecI8x16,Q,C)},splat:function(Q){return A._BinaryenUnary(g,A.SplatVecI8x16,Q)},extract_lane_s:function(Q,C){return A._BinaryenSIMDExtract(g,A.ExtractLaneSVecI8x16,Q,C)},extract_lane_u:function(Q,C){return A._BinaryenSIMDExtract(g,A.ExtractLaneUVecI8x16,Q,C)},replace_lane:function(Q,C,D){return A._BinaryenSIMDReplace(g,A.ReplaceLaneVecI8x16,Q,C,D)},eq:function(Q,C){return A._BinaryenBinary(g,A.EqVecI8x16,Q,C)},ne:function(Q,C){return A._BinaryenBinary(g,A.NeVecI8x16,Q,C)},lt_s:function(Q,C){return A._BinaryenBinary(g,A.LtSVecI8x16,Q,C)},lt_u:function(Q,C){return A._BinaryenBinary(g,A.LtUVecI8x16,Q,C)},gt_s:function(Q,C){return A._BinaryenBinary(g,A.GtSVecI8x16,Q,C)},gt_u:function(Q,C){return A._BinaryenBinary(g,A.GtUVecI8x16,Q,C)},le_s:function(Q,C){return A._BinaryenBinary(g,A.LeSVecI8x16,Q,C)},le_u:function(Q,C){return A._BinaryenBinary(g,A.LeUVecI8x16,Q,C)},ge_s:function(Q,C){return A._BinaryenBinary(g,A.GeSVecI8x16,Q,C)},ge_u:function(Q,C){return A._BinaryenBinary(g,A.GeUVecI8x16,Q,C)},abs:function(Q){return A._BinaryenUnary(g,A.AbsVecI8x16,Q)},neg:function(Q){return A._BinaryenUnary(g,A.NegVecI8x16,Q)},all_true:function(Q){return A._BinaryenUnary(g,A.AllTrueVecI8x16,Q)},bitmask:function(Q){return A._BinaryenUnary(g,A.BitmaskVecI8x16,Q)},popcnt:function(Q){return A._BinaryenUnary(g,A.PopcntVecI8x16,Q)},shl:function(Q,C){return A._BinaryenSIMDShift(g,A.ShlVecI8x16,Q,C)},shr_s:function(Q,C){return A._BinaryenSIMDShift(g,A.ShrSVecI8x16,Q,C)},shr_u:function(Q,C){return A._BinaryenSIMDShift(g,A.ShrUVecI8x16,Q,C)},add:function(Q,C){return A._BinaryenBinary(g,A.AddVecI8x16,Q,C)},add_saturate_s:function(Q,C){return A._BinaryenBinary(g,A.AddSatSVecI8x16,Q,C)},add_saturate_u:function(Q,C){return A._BinaryenBinary(g,A.AddSatUVecI8x16,Q,C)},sub:function(Q,C){return A._BinaryenBinary(g,A.SubVecI8x16,Q,C)},sub_saturate_s:function(Q,C){return A._BinaryenBinary(g,A.SubSatSVecI8x16,Q,C)},sub_saturate_u:function(Q,C){return A._BinaryenBinary(g,A.SubSatUVecI8x16,Q,C)},min_s:function(Q,C){return A._BinaryenBinary(g,A.MinSVecI8x16,Q,C)},min_u:function(Q,C){return A._BinaryenBinary(g,A.MinUVecI8x16,Q,C)},max_s:function(Q,C){return A._BinaryenBinary(g,A.MaxSVecI8x16,Q,C)},max_u:function(Q,C){return A._BinaryenBinary(g,A.MaxUVecI8x16,Q,C)},avgr_u:function(Q,C){return A._BinaryenBinary(g,A.AvgrUVecI8x16,Q,C)},narrow_i16x8_s:function(Q,C){return A._BinaryenBinary(g,A.NarrowSVecI16x8ToVecI8x16,Q,C)},narrow_i16x8_u:function(Q,C){return A._BinaryenBinary(g,A.NarrowUVecI16x8ToVecI8x16,Q,C)}},I.i16x8={splat:function(Q){return A._BinaryenUnary(g,A.SplatVecI16x8,Q)},extract_lane_s:function(Q,C){return A._BinaryenSIMDExtract(g,A.ExtractLaneSVecI16x8,Q,C)},extract_lane_u:function(Q,C){return A._BinaryenSIMDExtract(g,A.ExtractLaneUVecI16x8,Q,C)},replace_lane:function(Q,C,D){return A._BinaryenSIMDReplace(g,A.ReplaceLaneVecI16x8,Q,C,D)},eq:function(Q,C){return A._BinaryenBinary(g,A.EqVecI16x8,Q,C)},ne:function(Q,C){return A._BinaryenBinary(g,A.NeVecI16x8,Q,C)},lt_s:function(Q,C){return A._BinaryenBinary(g,A.LtSVecI16x8,Q,C)},lt_u:function(Q,C){return A._BinaryenBinary(g,A.LtUVecI16x8,Q,C)},gt_s:function(Q,C){return A._BinaryenBinary(g,A.GtSVecI16x8,Q,C)},gt_u:function(Q,C){return A._BinaryenBinary(g,A.GtUVecI16x8,Q,C)},le_s:function(Q,C){return A._BinaryenBinary(g,A.LeSVecI16x8,Q,C)},le_u:function(Q,C){return A._BinaryenBinary(g,A.LeUVecI16x8,Q,C)},ge_s:function(Q,C){return A._BinaryenBinary(g,A.GeSVecI16x8,Q,C)},ge_u:function(Q,C){return A._BinaryenBinary(g,A.GeUVecI16x8,Q,C)},abs:function(Q){return A._BinaryenUnary(g,A.AbsVecI16x8,Q)},neg:function(Q){return A._BinaryenUnary(g,A.NegVecI16x8,Q)},all_true:function(Q){return A._BinaryenUnary(g,A.AllTrueVecI16x8,Q)},bitmask:function(Q){return A._BinaryenUnary(g,A.BitmaskVecI16x8,Q)},shl:function(Q,C){return A._BinaryenSIMDShift(g,A.ShlVecI16x8,Q,C)},shr_s:function(Q,C){return A._BinaryenSIMDShift(g,A.ShrSVecI16x8,Q,C)},shr_u:function(Q,C){return A._BinaryenSIMDShift(g,A.ShrUVecI16x8,Q,C)},add:function(Q,C){return A._BinaryenBinary(g,A.AddVecI16x8,Q,C)},add_saturate_s:function(Q,C){return A._BinaryenBinary(g,A.AddSatSVecI16x8,Q,C)},add_saturate_u:function(Q,C){return A._BinaryenBinary(g,A.AddSatUVecI16x8,Q,C)},sub:function(Q,C){return A._BinaryenBinary(g,A.SubVecI16x8,Q,C)},sub_saturate_s:function(Q,C){return A._BinaryenBinary(g,A.SubSatSVecI16x8,Q,C)},sub_saturate_u:function(Q,C){return A._BinaryenBinary(g,A.SubSatUVecI16x8,Q,C)},mul:function(Q,C){return A._BinaryenBinary(g,A.MulVecI16x8,Q,C)},min_s:function(Q,C){return A._BinaryenBinary(g,A.MinSVecI16x8,Q,C)},min_u:function(Q,C){return A._BinaryenBinary(g,A.MinUVecI16x8,Q,C)},max_s:function(Q,C){return A._BinaryenBinary(g,A.MaxSVecI16x8,Q,C)},max_u:function(Q,C){return A._BinaryenBinary(g,A.MaxUVecI16x8,Q,C)},avgr_u:function(Q,C){return A._BinaryenBinary(g,A.AvgrUVecI16x8,Q,C)},q15mulr_sat_s:function(Q,C){return A._BinaryenBinary(g,A.Q15MulrSatSVecI16x8,Q,C)},extmul_low_i8x16_s:function(Q,C){return A._BinaryenBinary(g,A.ExtMulLowSVecI16x8,Q,C)},extmul_high_i8x16_s:function(Q,C){return A._BinaryenBinary(g,A.ExtMulHighSVecI16x8,Q,C)},extmul_low_i8x16_u:function(Q,C){return A._BinaryenBinary(g,A.ExtMulLowUVecI16x8,Q,C)},extmul_high_i8x16_u:function(Q,C){return A._BinaryenBinary(g,A.ExtMulHighUVecI16x8,Q,C)},extadd_pairwise_i8x16_s:function(Q){return A._BinaryenUnary(g,A.ExtAddPairwiseSVecI8x16ToI16x8,Q)},extadd_pairwise_i8x16_u:function(Q){return A._BinaryenUnary(g,A.ExtAddPairwiseUVecI8x16ToI16x8,Q)},narrow_i32x4_s:function(Q,C){return A._BinaryenBinary(g,A.NarrowSVecI32x4ToVecI16x8,Q,C)},narrow_i32x4_u:function(Q,C){return A._BinaryenBinary(g,A.NarrowUVecI32x4ToVecI16x8,Q,C)},extend_low_i8x16_s:function(Q){return A._BinaryenUnary(g,A.ExtendLowSVecI8x16ToVecI16x8,Q)},extend_high_i8x16_s:function(Q){return A._BinaryenUnary(g,A.ExtendHighSVecI8x16ToVecI16x8,Q)},extend_low_i8x16_u:function(Q){return A._BinaryenUnary(g,A.ExtendLowUVecI8x16ToVecI16x8,Q)},extend_high_i8x16_u:function(Q){return A._BinaryenUnary(g,A.ExtendHighUVecI8x16ToVecI16x8,Q)}},I.i32x4={splat:function(Q){return A._BinaryenUnary(g,A.SplatVecI32x4,Q)},extract_lane:function(Q,C){return A._BinaryenSIMDExtract(g,A.ExtractLaneVecI32x4,Q,C)},replace_lane:function(Q,C,D){return A._BinaryenSIMDReplace(g,A.ReplaceLaneVecI32x4,Q,C,D)},eq:function(Q,C){return A._BinaryenBinary(g,A.EqVecI32x4,Q,C)},ne:function(Q,C){return A._BinaryenBinary(g,A.NeVecI32x4,Q,C)},lt_s:function(Q,C){return A._BinaryenBinary(g,A.LtSVecI32x4,Q,C)},lt_u:function(Q,C){return A._BinaryenBinary(g,A.LtUVecI32x4,Q,C)},gt_s:function(Q,C){return A._BinaryenBinary(g,A.GtSVecI32x4,Q,C)},gt_u:function(Q,C){return A._BinaryenBinary(g,A.GtUVecI32x4,Q,C)},le_s:function(Q,C){return A._BinaryenBinary(g,A.LeSVecI32x4,Q,C)},le_u:function(Q,C){return A._BinaryenBinary(g,A.LeUVecI32x4,Q,C)},ge_s:function(Q,C){return A._BinaryenBinary(g,A.GeSVecI32x4,Q,C)},ge_u:function(Q,C){return A._BinaryenBinary(g,A.GeUVecI32x4,Q,C)},abs:function(Q){return A._BinaryenUnary(g,A.AbsVecI32x4,Q)},neg:function(Q){return A._BinaryenUnary(g,A.NegVecI32x4,Q)},all_true:function(Q){return A._BinaryenUnary(g,A.AllTrueVecI32x4,Q)},bitmask:function(Q){return A._BinaryenUnary(g,A.BitmaskVecI32x4,Q)},shl:function(Q,C){return A._BinaryenSIMDShift(g,A.ShlVecI32x4,Q,C)},shr_s:function(Q,C){return A._BinaryenSIMDShift(g,A.ShrSVecI32x4,Q,C)},shr_u:function(Q,C){return A._BinaryenSIMDShift(g,A.ShrUVecI32x4,Q,C)},add:function(Q,C){return A._BinaryenBinary(g,A.AddVecI32x4,Q,C)},sub:function(Q,C){return A._BinaryenBinary(g,A.SubVecI32x4,Q,C)},mul:function(Q,C){return A._BinaryenBinary(g,A.MulVecI32x4,Q,C)},min_s:function(Q,C){return A._BinaryenBinary(g,A.MinSVecI32x4,Q,C)},min_u:function(Q,C){return A._BinaryenBinary(g,A.MinUVecI32x4,Q,C)},max_s:function(Q,C){return A._BinaryenBinary(g,A.MaxSVecI32x4,Q,C)},max_u:function(Q,C){return A._BinaryenBinary(g,A.MaxUVecI32x4,Q,C)},dot_i16x8_s:function(Q,C){return A._BinaryenBinary(g,A.DotSVecI16x8ToVecI32x4,Q,C)},extmul_low_i16x8_s:function(Q,C){return A._BinaryenBinary(g,A.ExtMulLowSVecI32x4,Q,C)},extmul_high_i16x8_s:function(Q,C){return A._BinaryenBinary(g,A.ExtMulHighSVecI32x4,Q,C)},extmul_low_i16x8_u:function(Q,C){return A._BinaryenBinary(g,A.ExtMulLowUVecI32x4,Q,C)},extmul_high_i16x8_u:function(Q,C){return A._BinaryenBinary(g,A.ExtMulHighUVecI32x4,Q,C)},extadd_pairwise_i16x8_s:function(Q){return A._BinaryenUnary(g,A.ExtAddPairwiseSVecI16x8ToI32x4,Q)},extadd_pairwise_i16x8_u:function(Q){return A._BinaryenUnary(g,A.ExtAddPairwiseUVecI16x8ToI32x4,Q)},trunc_sat_f32x4_s:function(Q){return A._BinaryenUnary(g,A.TruncSatSVecF32x4ToVecI32x4,Q)},trunc_sat_f32x4_u:function(Q){return A._BinaryenUnary(g,A.TruncSatUVecF32x4ToVecI32x4,Q)},extend_low_i16x8_s:function(Q){return A._BinaryenUnary(g,A.ExtendLowSVecI16x8ToVecI32x4,Q)},extend_high_i16x8_s:function(Q){return A._BinaryenUnary(g,A.ExtendHighSVecI16x8ToVecI32x4,Q)},extend_low_i16x8_u:function(Q){return A._BinaryenUnary(g,A.ExtendLowUVecI16x8ToVecI32x4,Q)},extend_high_i16x8_u:function(Q){return A._BinaryenUnary(g,A.ExtendHighUVecI16x8ToVecI32x4,Q)},trunc_sat_f64x2_s_zero:function(Q){return A._BinaryenUnary(g,A.TruncSatZeroSVecF64x2ToVecI32x4,Q)},trunc_sat_f64x2_u_zero:function(Q){return A._BinaryenUnary(g,A.TruncSatZeroUVecF64x2ToVecI32x4,Q)}},I.i64x2={splat:function(Q){return A._BinaryenUnary(g,A.SplatVecI64x2,Q)},extract_lane:function(Q,C){return A._BinaryenSIMDExtract(g,A.ExtractLaneVecI64x2,Q,C)},replace_lane:function(Q,C,D){return A._BinaryenSIMDReplace(g,A.ReplaceLaneVecI64x2,Q,C,D)},eq:function(Q,C){return A._BinaryenBinary(g,A.EqVecI64x2,Q,C)},ne:function(Q,C){return A._BinaryenBinary(g,A.NeVecI64x2,Q,C)},lt_s:function(Q,C){return A._BinaryenBinary(g,A.LtSVecI64x2,Q,C)},gt_s:function(Q,C){return A._BinaryenBinary(g,A.GtSVecI64x2,Q,C)},le_s:function(Q,C){return A._BinaryenBinary(g,A.LeSVecI64x2,Q,C)},ge_s:function(Q,C){return A._BinaryenBinary(g,A.GeSVecI64x2,Q,C)},abs:function(Q){return A._BinaryenUnary(g,A.AbsVecI64x2,Q)},neg:function(Q){return A._BinaryenUnary(g,A.NegVecI64x2,Q)},all_true:function(Q){return A._BinaryenUnary(g,A.AllTrueVecI64x2,Q)},bitmask:function(Q){return A._BinaryenUnary(g,A.BitmaskVecI64x2,Q)},shl:function(Q,C){return A._BinaryenSIMDShift(g,A.ShlVecI64x2,Q,C)},shr_s:function(Q,C){return A._BinaryenSIMDShift(g,A.ShrSVecI64x2,Q,C)},shr_u:function(Q,C){return A._BinaryenSIMDShift(g,A.ShrUVecI64x2,Q,C)},add:function(Q,C){return A._BinaryenBinary(g,A.AddVecI64x2,Q,C)},sub:function(Q,C){return A._BinaryenBinary(g,A.SubVecI64x2,Q,C)},mul:function(Q,C){return A._BinaryenBinary(g,A.MulVecI64x2,Q,C)},extmul_low_i32x4_s:function(Q,C){return A._BinaryenBinary(g,A.ExtMulLowSVecI64x2,Q,C)},extmul_high_i32x4_s:function(Q,C){return A._BinaryenBinary(g,A.ExtMulHighSVecI64x2,Q,C)},extmul_low_i32x4_u:function(Q,C){return A._BinaryenBinary(g,A.ExtMulLowUVecI64x2,Q,C)},extmul_high_i32x4_u:function(Q,C){return A._BinaryenBinary(g,A.ExtMulHighUVecI64x2,Q,C)},extend_low_i32x4_s:function(Q){return A._BinaryenUnary(g,A.ExtendLowSVecI32x4ToVecI64x2,Q)},extend_high_i32x4_s:function(Q){return A._BinaryenUnary(g,A.ExtendHighSVecI32x4ToVecI64x2,Q)},extend_low_i32x4_u:function(Q){return A._BinaryenUnary(g,A.ExtendLowUVecI32x4ToVecI64x2,Q)},extend_high_i32x4_u:function(Q){return A._BinaryenUnary(g,A.ExtendHighUVecI32x4ToVecI64x2,Q)}},I.f32x4={splat:function(Q){return A._BinaryenUnary(g,A.SplatVecF32x4,Q)},extract_lane:function(Q,C){return A._BinaryenSIMDExtract(g,A.ExtractLaneVecF32x4,Q,C)},replace_lane:function(Q,C,D){return A._BinaryenSIMDReplace(g,A.ReplaceLaneVecF32x4,Q,C,D)},eq:function(Q,C){return A._BinaryenBinary(g,A.EqVecF32x4,Q,C)},ne:function(Q,C){return A._BinaryenBinary(g,A.NeVecF32x4,Q,C)},lt:function(Q,C){return A._BinaryenBinary(g,A.LtVecF32x4,Q,C)},gt:function(Q,C){return A._BinaryenBinary(g,A.GtVecF32x4,Q,C)},le:function(Q,C){return A._BinaryenBinary(g,A.LeVecF32x4,Q,C)},ge:function(Q,C){return A._BinaryenBinary(g,A.GeVecF32x4,Q,C)},abs:function(Q){return A._BinaryenUnary(g,A.AbsVecF32x4,Q)},neg:function(Q){return A._BinaryenUnary(g,A.NegVecF32x4,Q)},sqrt:function(Q){return A._BinaryenUnary(g,A.SqrtVecF32x4,Q)},add:function(Q,C){return A._BinaryenBinary(g,A.AddVecF32x4,Q,C)},sub:function(Q,C){return A._BinaryenBinary(g,A.SubVecF32x4,Q,C)},mul:function(Q,C){return A._BinaryenBinary(g,A.MulVecF32x4,Q,C)},div:function(Q,C){return A._BinaryenBinary(g,A.DivVecF32x4,Q,C)},min:function(Q,C){return A._BinaryenBinary(g,A.MinVecF32x4,Q,C)},max:function(Q,C){return A._BinaryenBinary(g,A.MaxVecF32x4,Q,C)},pmin:function(Q,C){return A._BinaryenBinary(g,A.PMinVecF32x4,Q,C)},pmax:function(Q,C){return A._BinaryenBinary(g,A.PMaxVecF32x4,Q,C)},ceil:function(Q){return A._BinaryenUnary(g,A.CeilVecF32x4,Q)},floor:function(Q){return A._BinaryenUnary(g,A.FloorVecF32x4,Q)},trunc:function(Q){return A._BinaryenUnary(g,A.TruncVecF32x4,Q)},nearest:function(Q){return A._BinaryenUnary(g,A.NearestVecF32x4,Q)},convert_i32x4_s:function(Q){return A._BinaryenUnary(g,A.ConvertSVecI32x4ToVecF32x4,Q)},convert_i32x4_u:function(Q){return A._BinaryenUnary(g,A.ConvertUVecI32x4ToVecF32x4,Q)},demote_f64x2_zero:function(Q){return A._BinaryenUnary(g,A.DemoteZeroVecF64x2ToVecF32x4,Q)}},I.f64x2={splat:function(Q){return A._BinaryenUnary(g,A.SplatVecF64x2,Q)},extract_lane:function(Q,C){return A._BinaryenSIMDExtract(g,A.ExtractLaneVecF64x2,Q,C)},replace_lane:function(Q,C,D){return A._BinaryenSIMDReplace(g,A.ReplaceLaneVecF64x2,Q,C,D)},eq:function(Q,C){return A._BinaryenBinary(g,A.EqVecF64x2,Q,C)},ne:function(Q,C){return A._BinaryenBinary(g,A.NeVecF64x2,Q,C)},lt:function(Q,C){return A._BinaryenBinary(g,A.LtVecF64x2,Q,C)},gt:function(Q,C){return A._BinaryenBinary(g,A.GtVecF64x2,Q,C)},le:function(Q,C){return A._BinaryenBinary(g,A.LeVecF64x2,Q,C)},ge:function(Q,C){return A._BinaryenBinary(g,A.GeVecF64x2,Q,C)},abs:function(Q){return A._BinaryenUnary(g,A.AbsVecF64x2,Q)},neg:function(Q){return A._BinaryenUnary(g,A.NegVecF64x2,Q)},sqrt:function(Q){return A._BinaryenUnary(g,A.SqrtVecF64x2,Q)},add:function(Q,C){return A._BinaryenBinary(g,A.AddVecF64x2,Q,C)},sub:function(Q,C){return A._BinaryenBinary(g,A.SubVecF64x2,Q,C)},mul:function(Q,C){return A._BinaryenBinary(g,A.MulVecF64x2,Q,C)},div:function(Q,C){return A._BinaryenBinary(g,A.DivVecF64x2,Q,C)},min:function(Q,C){return A._BinaryenBinary(g,A.MinVecF64x2,Q,C)},max:function(Q,C){return A._BinaryenBinary(g,A.MaxVecF64x2,Q,C)},pmin:function(Q,C){return A._BinaryenBinary(g,A.PMinVecF64x2,Q,C)},pmax:function(Q,C){return A._BinaryenBinary(g,A.PMaxVecF64x2,Q,C)},ceil:function(Q){return A._BinaryenUnary(g,A.CeilVecF64x2,Q)},floor:function(Q){return A._BinaryenUnary(g,A.FloorVecF64x2,Q)},trunc:function(Q){return A._BinaryenUnary(g,A.TruncVecF64x2,Q)},nearest:function(Q){return A._BinaryenUnary(g,A.NearestVecF64x2,Q)},convert_low_i32x4_s:function(Q){return A._BinaryenUnary(g,A.ConvertLowSVecI32x4ToVecF64x2,Q)},convert_low_i32x4_u:function(Q){return A._BinaryenUnary(g,A.ConvertLowUVecI32x4ToVecF64x2,Q)},promote_low_f32x4:function(Q){return A._BinaryenUnary(g,A.PromoteLowVecF32x4ToVecF64x2,Q)}},I.funcref={pop:function(){return A._BinaryenPop(g,A.funcref)}},I.externref={pop:function(){return A._BinaryenPop(g,A.externref)}},I.anyref={pop:function(){return A._BinaryenPop(g,A.anyref)}},I.eqref={pop:function(){return A._BinaryenPop(g,A.eqref)}},I.i31ref={pop:function(){return A._BinaryenPop(g,A.i31ref)}},I.structref={pop:function(){return A._BinaryenPop(g,A.structref)}},I.stringref={pop:function(){return A._BinaryenPop(g,A.stringref)}},I.stringview_wtf8={pop:function(){return A._BinaryenPop(g,A.stringview_wtf8)}},I.stringview_wtf16={pop:function(){return A._BinaryenPop(g,A.stringview_wtf16)}},I.stringview_iter={pop:function(){return A._BinaryenPop(g,A.stringview_iter)}},I.ref={null(Q){return A._BinaryenRefNull(g,Q)},is_null:function(Q){return A._BinaryenRefIsNull(g,Q)},as_non_null:function(Q){return A._BinaryenRefAs(g,A.RefAsNonNull,Q)},func:function(Q,C){return k(()=>A._BinaryenRefFunc(g,o(Q),C))},i31:function(Q){return A._BinaryenRefI31(g,Q)},eq:function(Q,C){return A._BinaryenRefEq(g,Q,C)}},I.select=function(Q,C,D,i){return A._BinaryenSelect(g,Q,C,D,typeof i!="undefined"?i:A.auto)},I.drop=function(Q){return A._BinaryenDrop(g,Q)},I.return=function(Q){return A._BinaryenReturn(g,Q)},I.nop=function(){return A._BinaryenNop(g)},I.unreachable=function(){return A._BinaryenUnreachable(g)},I.atomic={fence:function(){return A._BinaryenAtomicFence(g)}},I.try=function(Q,C,D,i,N){return k(()=>A._BinaryenTry(g,Q?o(Q):0,C,q(D.map(o)),D.length,q(i),i.length,N?o(N):0))},I.throw=function(Q,C){return k(()=>A._BinaryenThrow(g,o(Q),q(C),C.length))},I.rethrow=function(Q){return A._BinaryenRethrow(g,o(Q))},I.tuple={make:function(Q){return k(()=>A._BinaryenTupleMake(g,q(Q),Q.length))},extract:function(Q,C){return A._BinaryenTupleExtract(g,Q,C)}},I.i31={get_s:function(Q){return A._BinaryenI31Get(g,Q,1)},get_u:function(Q){return A._BinaryenI31Get(g,Q,0)}},I.addFunction=function(Q,C,D,i,N){return k(()=>A._BinaryenAddFunction(g,o(Q),C,D,q(i),i.length,N))},I.getFunction=function(Q){return k(()=>A._BinaryenGetFunction(g,o(Q)))},I.removeFunction=function(Q){return k(()=>A._BinaryenRemoveFunction(g,o(Q)))},I.addGlobal=function(Q,C,D,i){return k(()=>A._BinaryenAddGlobal(g,o(Q),C,D,i))},I.getGlobal=function(Q){return k(()=>A._BinaryenGetGlobal(g,o(Q)))},I.addTable=function(Q,C,D,i=A._BinaryenTypeFuncref()){return k(()=>A._BinaryenAddTable(g,o(Q),C,D,i))},I.getTable=function(Q){return k(()=>A._BinaryenGetTable(g,o(Q)))},I.addActiveElementSegment=function(Q,C,D,i=I.i32.const(0)){return k(()=>A._BinaryenAddActiveElementSegment(g,o(Q),o(C),q(D.map(o)),D.length,i))},I.addPassiveElementSegment=function(Q,C){return k(()=>A._BinaryenAddPassiveElementSegment(g,o(Q),q(C.map(o)),C.length))},I.getElementSegment=function(Q){return k(()=>A._BinaryenGetElementSegment(g,o(Q)))},I.getTableSegments=function(Q){var C=A._BinaryenGetNumElementSegments(g);Q=F(A._BinaryenTableGetName(Q));for(var D=[],i=0;iA._BinaryenRemoveGlobal(g,o(Q)))},I.removeTable=function(Q){return k(()=>A._BinaryenRemoveTable(g,o(Q)))},I.removeElementSegment=function(Q){return k(()=>A._BinaryenRemoveElementSegment(g,o(Q)))},I.addTag=function(Q,C,D){return k(()=>A._BinaryenAddTag(g,o(Q),C,D))},I.getTag=function(Q){return k(()=>A._BinaryenGetTag(g,o(Q)))},I.removeTag=function(Q){return k(()=>A._BinaryenRemoveTag(g,o(Q)))},I.addFunctionImport=function(Q,C,D,i,N){return k(()=>A._BinaryenAddFunctionImport(g,o(Q),o(C),o(D),i,N))},I.addTableImport=function(Q,C,D){return k(()=>A._BinaryenAddTableImport(g,o(Q),o(C),o(D)))},I.addMemoryImport=function(Q,C,D,i){return k(()=>A._BinaryenAddMemoryImport(g,o(Q),o(C),o(D),i))},I.addGlobalImport=function(Q,C,D,i,N){return k(()=>A._BinaryenAddGlobalImport(g,o(Q),o(C),o(D),i,N))},I.addTagImport=function(Q,C,D,i,N){return k(()=>A._BinaryenAddTagImport(g,o(Q),o(C),o(D),i,N))},I.addExport=I.addFunctionExport=function(Q,C){return k(()=>A._BinaryenAddFunctionExport(g,o(Q),o(C)))},I.addTableExport=function(Q,C){return k(()=>A._BinaryenAddTableExport(g,o(Q),o(C)))},I.addMemoryExport=function(Q,C){return k(()=>A._BinaryenAddMemoryExport(g,o(Q),o(C)))},I.addGlobalExport=function(Q,C){return k(()=>A._BinaryenAddGlobalExport(g,o(Q),o(C)))},I.addTagExport=function(Q,C){return k(()=>A._BinaryenAddTagExport(g,o(Q),o(C)))},I.removeExport=function(Q){return k(()=>A._BinaryenRemoveExport(g,o(Q)))},I.setMemory=function(Q,C,D,i=[],N=!1,R=!1,U=null){return k(()=>{let S=i.length,h=Array(S);var M=Array(S),w=Array(S);let s=Array(S);for(let y=0;y>>0),M[y]=d.length,w[y]=m,s[y]=n}for(M=A._BinaryenSetMemory(g,Q,C,o(D),q(h),aA(w),q(s),q(M),S,N,R,o(U)),w=0;w>>0,N+i>>>0)),b(N),{offset:D,data:Q.buffer,passive:C}},I.setStart=function(Q){return A._BinaryenSetStart(g,Q)},I.getFeatures=function(){return A._BinaryenModuleGetFeatures(g)},I.setFeatures=function(Q){A._BinaryenModuleSetFeatures(g,Q)},I.addCustomSection=function(Q,C){return k(()=>A._BinaryenAddCustomSection(g,o(Q),aA(C),C.length))},I.getExport=function(Q){return k(()=>A._BinaryenGetExport(g,o(Q)))},I.getNumExports=function(){return A._BinaryenGetNumExports(g)},I.getExportByIndex=function(Q){return A._BinaryenGetExportByIndex(g,Q)},I.getNumFunctions=function(){return A._BinaryenGetNumFunctions(g)},I.getFunctionByIndex=function(Q){return A._BinaryenGetFunctionByIndex(g,Q)},I.getNumGlobals=function(){return A._BinaryenGetNumGlobals(g)},I.getNumTables=function(){return A._BinaryenGetNumTables(g)},I.getNumElementSegments=function(){return A._BinaryenGetNumElementSegments(g)},I.getGlobalByIndex=function(Q){return A._BinaryenGetGlobalByIndex(g,Q)},I.getTableByIndex=function(Q){return A._BinaryenGetTableByIndex(g,Q)},I.getElementSegmentByIndex=function(Q){return A._BinaryenGetElementSegmentByIndex(g,Q)},I.emitText=function(){let Q=A._BinaryenModuleAllocateAndWriteText(g),C=F(Q);return Q&&b(Q),C},I.emitStackIR=function(Q){Q=A._BinaryenModuleAllocateAndWriteStackIR(g,Q);let C=F(Q);return Q&&b(Q),C},I.emitAsmjs=function(){let Q=f,C="";return f=D=>{C+=D+` -`},A._BinaryenModulePrintAsmjs(g),f=Q,C},I.validate=function(){return A._BinaryenModuleValidate(g)},I.optimize=function(){return A._BinaryenModuleOptimize(g)},I.optimizeFunction=function(Q){return typeof Q=="string"&&(Q=I.getFunction(Q)),A._BinaryenFunctionOptimize(Q,g)},I.runPasses=function(Q){return k(()=>A._BinaryenModuleRunPasses(g,q(Q.map(o)),Q.length))},I.runPassesOnFunction=function(Q,C){return typeof Q=="string"&&(Q=I.getFunction(Q)),k(()=>A._BinaryenFunctionRunPasses(Q,g,q(C.map(o)),C.length))},I.autoDrop=function(){return A._BinaryenModuleAutoDrop(g)},I.dispose=function(){A._BinaryenModuleDispose(g)},I.emitBinary=function(Q){return k(()=>{var C=Z(pg());A._BinaryenModuleAllocateAndWrite(C,g,o(Q));let D=a[C>>>2>>>0],i=a[(C>>>2)+1>>>0];C=a[(C>>>2)+2>>>0];try{let N=new Uint8Array(i);return N.set(r.subarray(D>>>0,D+i>>>0)),typeof Q=="undefined"?N:{binary:N,sourceMap:F(C)}}finally{b(D),C&&b(C)}})},I.interpret=function(){return A._BinaryenModuleInterpret(g)},I.addDebugInfoFileName=function(Q){return k(()=>A._BinaryenModuleAddDebugInfoFileName(g,o(Q)))},I.getDebugInfoFileName=function(Q){return F(A._BinaryenModuleGetDebugInfoFileName(g,Q))},I.setDebugLocation=function(Q,C,D,i,N){return A._BinaryenFunctionSetDebugLocation(Q,C,D,i,N)},I.copyExpression=function(Q){return A._BinaryenExpressionCopy(Q,g)},I}A.wrapModule=dA,A.Relooper=function(g){g&&typeof g=="object"&&g.ptr&&g.block&&g.if||T();let I=A._RelooperCreate(g.ptr);this.ptr=I,this.addBlock=function(E){return A._RelooperAddBlock(I,E)},this.addBranch=function(E,Q,C,D){return A._RelooperAddBranch(E,Q,C,D)},this.addBlockWithSwitch=function(E,Q){return A._RelooperAddBlockWithSwitch(I,E,Q)},this.addBranchForSwitch=function(E,Q,C,D){return k(()=>A._RelooperAddBranchForSwitch(E,Q,q(C),C.length,D))},this.renderAndDispose=function(E,Q){return A._RelooperRenderAndDispose(I,E,Q)}},A.ExpressionRunner=function(g,I,E,Q){let C=A._ExpressionRunnerCreate(g.ptr,I,E,Q);this.ptr=C,this.setLocalValue=function(D,i){return!!A._ExpressionRunnerSetLocalValue(C,D,i)},this.setGlobalValue=function(D,i){return k(()=>!!A._ExpressionRunnerSetGlobalValue(C,o(D),i))},this.runAndDispose=function(D){return A._ExpressionRunnerRunAndDispose(C,D)}};function x(g,I,E){I=I(g);let Q=Array(I);for(let C=0;CN;)D(g,--E)}A.getExpressionId=function(g){return A._BinaryenExpressionGetId(g)},A.getExpressionType=function(g){return A._BinaryenExpressionGetType(g)},A.getExpressionInfo=function(g){let I=A._BinaryenExpressionGetId(g),E=A._BinaryenExpressionGetType(g);switch(I){case A.BlockId:return{id:I,type:E,name:F(A._BinaryenBlockGetName(g)),children:x(g,A._BinaryenBlockGetNumChildren,A._BinaryenBlockGetChildAt)};case A.IfId:return{id:I,type:E,condition:A._BinaryenIfGetCondition(g),ifTrue:A._BinaryenIfGetIfTrue(g),ifFalse:A._BinaryenIfGetIfFalse(g)};case A.LoopId:return{id:I,type:E,name:F(A._BinaryenLoopGetName(g)),body:A._BinaryenLoopGetBody(g)};case A.BreakId:return{id:I,type:E,name:F(A._BinaryenBreakGetName(g)),condition:A._BinaryenBreakGetCondition(g),value:A._BinaryenBreakGetValue(g)};case A.SwitchId:return{id:I,type:E,names:x(g,A._BinaryenSwitchGetNumNames,A._BinaryenSwitchGetNameAt).map(C=>F(C)),defaultName:F(A._BinaryenSwitchGetDefaultName(g)),condition:A._BinaryenSwitchGetCondition(g),value:A._BinaryenSwitchGetValue(g)};case A.CallId:return{id:I,type:E,isReturn:!!A._BinaryenCallIsReturn(g),target:F(A._BinaryenCallGetTarget(g)),operands:x(g,A._BinaryenCallGetNumOperands,A._BinaryenCallGetOperandAt)};case A.CallIndirectId:return{id:I,type:E,isReturn:!!A._BinaryenCallIndirectIsReturn(g),target:A._BinaryenCallIndirectGetTarget(g),table:A._BinaryenCallIndirectGetTable(g),operands:x(g,A._BinaryenCallIndirectGetNumOperands,A._BinaryenCallIndirectGetOperandAt)};case A.LocalGetId:return{id:I,type:E,index:A._BinaryenLocalGetGetIndex(g)};case A.LocalSetId:return{id:I,type:E,isTee:!!A._BinaryenLocalSetIsTee(g),index:A._BinaryenLocalSetGetIndex(g),value:A._BinaryenLocalSetGetValue(g)};case A.GlobalGetId:return{id:I,type:E,name:F(A._BinaryenGlobalGetGetName(g))};case A.GlobalSetId:return{id:I,type:E,name:F(A._BinaryenGlobalSetGetName(g)),value:A._BinaryenGlobalSetGetValue(g)};case A.TableGetId:return{id:I,type:E,table:F(A._BinaryenTableGetGetTable(g)),index:A._BinaryenTableGetGetIndex(g)};case A.TableSetId:return{id:I,type:E,table:F(A._BinaryenTableSetGetTable(g)),index:A._BinaryenTableSetGetIndex(g),value:A._BinaryenTableSetGetValue(g)};case A.TableSizeId:return{id:I,type:E,table:F(A._BinaryenTableSizeGetTable(g))};case A.TableGrowId:return{id:I,type:E,table:F(A._BinaryenTableGrowGetTable(g)),value:A._BinaryenTableGrowGetValue(g),delta:A._BinaryenTableGrowGetDelta(g)};case A.LoadId:return{id:I,type:E,isAtomic:!!A._BinaryenLoadIsAtomic(g),isSigned:!!A._BinaryenLoadIsSigned(g),offset:A._BinaryenLoadGetOffset(g),bytes:A._BinaryenLoadGetBytes(g),align:A._BinaryenLoadGetAlign(g),ptr:A._BinaryenLoadGetPtr(g)};case A.StoreId:return{id:I,type:E,isAtomic:!!A._BinaryenStoreIsAtomic(g),offset:A._BinaryenStoreGetOffset(g),bytes:A._BinaryenStoreGetBytes(g),align:A._BinaryenStoreGetAlign(g),ptr:A._BinaryenStoreGetPtr(g),value:A._BinaryenStoreGetValue(g)};case A.ConstId:let Q;switch(E){case A.i32:Q=A._BinaryenConstGetValueI32(g);break;case A.i64:Q={low:A._BinaryenConstGetValueI64Low(g),high:A._BinaryenConstGetValueI64High(g)};break;case A.f32:Q=A._BinaryenConstGetValueF32(g);break;case A.f64:Q=A._BinaryenConstGetValueF64(g);break;case A.v128:k(()=>{let C=Z(16);A._BinaryenConstGetValueV128(g,C),Q=Array(16);for(let D=0;16>D;D++)Q[D]=r[C+D>>>0]});break;default:throw Error("unexpected type: "+E)}return{id:I,type:E,value:Q};case A.UnaryId:return{id:I,type:E,op:A._BinaryenUnaryGetOp(g),value:A._BinaryenUnaryGetValue(g)};case A.BinaryId:return{id:I,type:E,op:A._BinaryenBinaryGetOp(g),left:A._BinaryenBinaryGetLeft(g),right:A._BinaryenBinaryGetRight(g)};case A.SelectId:return{id:I,type:E,ifTrue:A._BinaryenSelectGetIfTrue(g),ifFalse:A._BinaryenSelectGetIfFalse(g),condition:A._BinaryenSelectGetCondition(g)};case A.DropId:return{id:I,type:E,value:A._BinaryenDropGetValue(g)};case A.ReturnId:return{id:I,type:E,value:A._BinaryenReturnGetValue(g)};case A.NopId:case A.UnreachableId:case A.PopId:return{id:I,type:E};case A.MemorySizeId:return{id:I,type:E};case A.MemoryGrowId:return{id:I,type:E,delta:A._BinaryenMemoryGrowGetDelta(g)};case A.AtomicRMWId:return{id:I,type:E,op:A._BinaryenAtomicRMWGetOp(g),bytes:A._BinaryenAtomicRMWGetBytes(g),offset:A._BinaryenAtomicRMWGetOffset(g),ptr:A._BinaryenAtomicRMWGetPtr(g),value:A._BinaryenAtomicRMWGetValue(g)};case A.AtomicCmpxchgId:return{id:I,type:E,bytes:A._BinaryenAtomicCmpxchgGetBytes(g),offset:A._BinaryenAtomicCmpxchgGetOffset(g),ptr:A._BinaryenAtomicCmpxchgGetPtr(g),expected:A._BinaryenAtomicCmpxchgGetExpected(g),replacement:A._BinaryenAtomicCmpxchgGetReplacement(g)};case A.AtomicWaitId:return{id:I,type:E,ptr:A._BinaryenAtomicWaitGetPtr(g),expected:A._BinaryenAtomicWaitGetExpected(g),timeout:A._BinaryenAtomicWaitGetTimeout(g),expectedType:A._BinaryenAtomicWaitGetExpectedType(g)};case A.AtomicNotifyId:return{id:I,type:E,ptr:A._BinaryenAtomicNotifyGetPtr(g),notifyCount:A._BinaryenAtomicNotifyGetNotifyCount(g)};case A.AtomicFenceId:return{id:I,type:E,order:A._BinaryenAtomicFenceGetOrder(g)};case A.SIMDExtractId:return{id:I,type:E,op:A._BinaryenSIMDExtractGetOp(g),vec:A._BinaryenSIMDExtractGetVec(g),index:A._BinaryenSIMDExtractGetIndex(g)};case A.SIMDReplaceId:return{id:I,type:E,op:A._BinaryenSIMDReplaceGetOp(g),vec:A._BinaryenSIMDReplaceGetVec(g),index:A._BinaryenSIMDReplaceGetIndex(g),value:A._BinaryenSIMDReplaceGetValue(g)};case A.SIMDShuffleId:return k(()=>{let C=Z(16);A._BinaryenSIMDShuffleGetMask(g,C);let D=Array(16);for(let i=0;16>i;i++)D[i]=r[C+i>>>0];return{id:I,type:E,left:A._BinaryenSIMDShuffleGetLeft(g),right:A._BinaryenSIMDShuffleGetRight(g),mask:D}});case A.SIMDTernaryId:return{id:I,type:E,op:A._BinaryenSIMDTernaryGetOp(g),a:A._BinaryenSIMDTernaryGetA(g),b:A._BinaryenSIMDTernaryGetB(g),c:A._BinaryenSIMDTernaryGetC(g)};case A.SIMDShiftId:return{id:I,type:E,op:A._BinaryenSIMDShiftGetOp(g),vec:A._BinaryenSIMDShiftGetVec(g),shift:A._BinaryenSIMDShiftGetShift(g)};case A.SIMDLoadId:return{id:I,type:E,op:A._BinaryenSIMDLoadGetOp(g),offset:A._BinaryenSIMDLoadGetOffset(g),align:A._BinaryenSIMDLoadGetAlign(g),ptr:A._BinaryenSIMDLoadGetPtr(g)};case A.SIMDLoadStoreLaneId:return{id:I,type:E,op:A._BinaryenSIMDLoadStoreLaneGetOp(g),offset:A._BinaryenSIMDLoadStoreLaneGetOffset(g),align:A._BinaryenSIMDLoadStoreLaneGetAlign(g),index:A._BinaryenSIMDLoadStoreLaneGetIndex(g),ptr:A._BinaryenSIMDLoadStoreLaneGetPtr(g),vec:A._BinaryenSIMDLoadStoreLaneGetVec(g)};case A.MemoryInitId:return{id:I,segment:F(A._BinaryenMemoryInitGetSegment(g)),dest:A._BinaryenMemoryInitGetDest(g),offset:A._BinaryenMemoryInitGetOffset(g),size:A._BinaryenMemoryInitGetSize(g)};case A.DataDropId:return{id:I,segment:F(A._BinaryenDataDropGetSegment(g))};case A.MemoryCopyId:return{id:I,dest:A._BinaryenMemoryCopyGetDest(g),source:A._BinaryenMemoryCopyGetSource(g),size:A._BinaryenMemoryCopyGetSize(g)};case A.MemoryFillId:return{id:I,dest:A._BinaryenMemoryFillGetDest(g),value:A._BinaryenMemoryFillGetValue(g),size:A._BinaryenMemoryFillGetSize(g)};case A.RefNullId:return{id:I,type:E};case A.RefIsNullId:return{id:I,type:E,value:A._BinaryenRefIsNullGetValue(g)};case A.RefAsId:return{id:I,type:E,op:A._BinaryenRefAsGetOp(g),value:A._BinaryenRefAsGetValue(g)};case A.RefFuncId:return{id:I,type:E,func:F(A._BinaryenRefFuncGetFunc(g))};case A.RefEqId:return{id:I,type:E,left:A._BinaryenRefEqGetLeft(g),right:A._BinaryenRefEqGetRight(g)};case A.TryId:return{id:I,type:E,name:F(A._BinaryenTryGetName(g)),body:A._BinaryenTryGetBody(g),catchTags:x(g,A._BinaryenTryGetNumCatchTags,A._BinaryenTryGetCatchTagAt),catchBodies:x(g,A._BinaryenTryGetNumCatchBodies,A._BinaryenTryGetCatchBodyAt),hasCatchAll:A._BinaryenTryHasCatchAll(g),delegateTarget:F(A._BinaryenTryGetDelegateTarget(g)),isDelegate:A._BinaryenTryIsDelegate(g)};case A.ThrowId:return{id:I,type:E,tag:F(A._BinaryenThrowGetTag(g)),operands:x(g,A._BinaryenThrowGetNumOperands,A._BinaryenThrowGetOperandAt)};case A.RethrowId:return{id:I,type:E,target:F(A._BinaryenRethrowGetTarget(g))};case A.TupleMakeId:return{id:I,type:E,operands:x(g,A._BinaryenTupleMakeGetNumOperands,A._BinaryenTupleMakeGetOperandAt)};case A.TupleExtractId:return{id:I,type:E,tuple:A._BinaryenTupleExtractGetTuple(g),index:A._BinaryenTupleExtractGetIndex(g)};case A.RefI31Id:return{id:I,type:E,value:A._BinaryenRefI31GetValue(g)};case A.I31GetId:return{id:I,type:E,i31:A._BinaryenI31GetGetI31(g),isSigned:!!A._BinaryenI31GetIsSigned(g)};default:throw Error("unexpected id: "+I)}},A.getSideEffects=function(g,I){return I||T(),A._BinaryenExpressionGetSideEffects(g,I.ptr)},A.createType=function(g){return k(()=>A._BinaryenTypeCreate(q(g),g.length))},A.expandType=function(g){return k(()=>{let I=A._BinaryenTypeArity(g),E=Z(I<<2);A._BinaryenTypeExpand(g,E);let Q=Array(I);for(let C=0;C>>2)+C>>>0];return Q})},A.getFunctionInfo=function(g){return{name:F(A._BinaryenFunctionGetName(g)),module:F(A._BinaryenFunctionImportGetModule(g)),base:F(A._BinaryenFunctionImportGetBase(g)),params:A._BinaryenFunctionGetParams(g),results:A._BinaryenFunctionGetResults(g),vars:x(g,A._BinaryenFunctionGetNumVars,A._BinaryenFunctionGetVar),body:A._BinaryenFunctionGetBody(g)}},A.getGlobalInfo=function(g){return{name:F(A._BinaryenGlobalGetName(g)),module:F(A._BinaryenGlobalImportGetModule(g)),base:F(A._BinaryenGlobalImportGetBase(g)),type:A._BinaryenGlobalGetType(g),mutable:!!A._BinaryenGlobalIsMutable(g),init:A._BinaryenGlobalGetInitExpr(g)}},A.getTableInfo=function(g){var I=!!A._BinaryenTableHasMax(g),E={name:F(A._BinaryenTableGetName(g)),module:F(A._BinaryenTableImportGetModule(g)),base:F(A._BinaryenTableImportGetBase(g)),initial:A._BinaryenTableGetInitial(g)};return I&&(E.max=A._BinaryenTableGetMax(g)),E},A.getElementSegmentInfo=function(g){var I=A._BinaryenElementSegmentGetLength(g),E=Array(I);for(let C=0;C!==I;++C){var Q=A._BinaryenElementSegmentGetData(g,C);E[C]=F(Q)}return{name:F(A._BinaryenElementSegmentGetName(g)),table:F(A._BinaryenElementSegmentGetTable(g)),offset:A._BinaryenElementSegmentGetOffset(g),data:E}},A.getTagInfo=function(g){return{name:F(A._BinaryenTagGetName(g)),module:F(A._BinaryenTagImportGetModule(g)),base:F(A._BinaryenTagImportGetBase(g)),params:A._BinaryenTagGetParams(g),results:A._BinaryenTagGetResults(g)}},A.getExportInfo=function(g){return{kind:A._BinaryenExportGetKind(g),name:F(A._BinaryenExportGetName(g)),value:F(A._BinaryenExportGetValue(g))}},A.emitText=function(g){if(typeof g=="object")return g.zC();let I=f,E="";return f=Q=>{E+=Q+` -`},A._BinaryenExpressionPrint(g),f=I,E},Object.defineProperty(A,"readBinary",{writable:!0}),A.readBinary=function(g){let I=NA(g.length);return t.set(g,I>>>0),g=A._BinaryenModuleRead(I,g.length),b(I),dA(g)},A.parseText=function(g){let I=NA(g.length+1);return zA(g,I),g=A._BinaryenModuleParse(I),b(I),dA(g)},A.getOptimizeLevel=function(){return A._BinaryenGetOptimizeLevel()},A.setOptimizeLevel=function(g){A._BinaryenSetOptimizeLevel(g)},A.getShrinkLevel=function(){return A._BinaryenGetShrinkLevel()},A.setShrinkLevel=function(g){A._BinaryenSetShrinkLevel(g)},A.getDebugInfo=function(){return!!A._BinaryenGetDebugInfo()},A.setDebugInfo=function(g){A._BinaryenSetDebugInfo(g)},A.getLowMemoryUnused=function(){return!!A._BinaryenGetLowMemoryUnused()},A.setLowMemoryUnused=function(g){A._BinaryenSetLowMemoryUnused(g)},A.getZeroFilledMemory=function(){return!!A._BinaryenGetZeroFilledMemory()},A.setZeroFilledMemory=function(g){A._BinaryenSetZeroFilledMemory(g)},A.getFastMath=function(){return!!A._BinaryenGetFastMath()},A.setFastMath=function(g){A._BinaryenSetFastMath(g)},A.getPassArgument=function(g){return k(()=>{let I=A._BinaryenGetPassArgument(o(g));return I!==0?F(I):null})},A.setPassArgument=function(g,I){k(()=>{A._BinaryenSetPassArgument(o(g),o(I))})},A.clearPassArguments=function(){A._BinaryenClearPassArguments()},A.getAlwaysInlineMaxSize=function(){return A._BinaryenGetAlwaysInlineMaxSize()},A.setAlwaysInlineMaxSize=function(g){A._BinaryenSetAlwaysInlineMaxSize(g)},A.getFlexibleInlineMaxSize=function(){return A._BinaryenGetFlexibleInlineMaxSize()},A.setFlexibleInlineMaxSize=function(g){A._BinaryenSetFlexibleInlineMaxSize(g)},A.getOneCallerInlineMaxSize=function(){return A._BinaryenGetOneCallerInlineMaxSize()},A.setOneCallerInlineMaxSize=function(g){A._BinaryenSetOneCallerInlineMaxSize(g)},A.getAllowInliningFunctionsWithLoops=function(){return!!A._BinaryenGetAllowInliningFunctionsWithLoops()},A.setAllowInliningFunctionsWithLoops=function(g){A._BinaryenSetAllowInliningFunctionsWithLoops(g)};let v=Symbol();function L(g){function I(E){if(!(this instanceof I))return E?new I(E):null;V.call(this,E)}return Object.assign(I,V),Object.assign(I,g),(I.prototype=Object.create(V.prototype)).constructor=I,vA(I.prototype,g),I}function vA(g,I){Object.keys(I).forEach(E=>{let Q=I[E];if(typeof Q=="function"){g[E]=function(...D){return this.constructor[E](this[v],...D)};var C;if(Q.length===1&&(C=E.match(/^(get|is)/))){C=C[1].length;let D=E.charAt(C).toLowerCase()+E.substring(C+1),i=I["set"+E.substring(C)];Object.defineProperty(g,D,{get(){return Q(this[v])},set(N){if(i)i(this[v],N);else throw Error("property '"+D+"' has no setter")}})}}})}function V(g){if(!g)throw Error("expression reference must not be null");this[v]=g}return V.getId=function(g){return A._BinaryenExpressionGetId(g)},V.getType=function(g){return A._BinaryenExpressionGetType(g)},V.setType=function(g,I){A._BinaryenExpressionSetType(g,I)},V.finalize=function(g){return A._BinaryenExpressionFinalize(g)},V.toText=function(g){return A.emitText(g)},vA(V.prototype,V),V.prototype.valueOf=function(){return this[v]},A.Expression=V,A.Block=L({getName:function(g){return(g=A._BinaryenBlockGetName(g))?F(g):null},setName:function(g,I){k(()=>{A._BinaryenBlockSetName(g,o(I))})},getNumChildren:function(g){return A._BinaryenBlockGetNumChildren(g)},getChildren:function(g){return x(g,A._BinaryenBlockGetNumChildren,A._BinaryenBlockGetChildAt)},setChildren:function(g,I){O(g,I,A._BinaryenBlockGetNumChildren,A._BinaryenBlockSetChildAt,A._BinaryenBlockAppendChild,A._BinaryenBlockRemoveChildAt)},getChildAt:function(g,I){return A._BinaryenBlockGetChildAt(g,I)},setChildAt:function(g,I,E){A._BinaryenBlockSetChildAt(g,I,E)},appendChild:function(g,I){return A._BinaryenBlockAppendChild(g,I)},insertChildAt:function(g,I,E){A._BinaryenBlockInsertChildAt(g,I,E)},removeChildAt:function(g,I){return A._BinaryenBlockRemoveChildAt(g,I)}}),A.If=L({getCondition:function(g){return A._BinaryenIfGetCondition(g)},setCondition:function(g,I){A._BinaryenIfSetCondition(g,I)},getIfTrue:function(g){return A._BinaryenIfGetIfTrue(g)},setIfTrue:function(g,I){A._BinaryenIfSetIfTrue(g,I)},getIfFalse:function(g){return A._BinaryenIfGetIfFalse(g)},setIfFalse:function(g,I){A._BinaryenIfSetIfFalse(g,I)}}),A.Loop=L({getName:function(g){return(g=A._BinaryenLoopGetName(g))?F(g):null},setName:function(g,I){k(()=>{A._BinaryenLoopSetName(g,o(I))})},getBody:function(g){return A._BinaryenLoopGetBody(g)},setBody:function(g,I){A._BinaryenLoopSetBody(g,I)}}),A.Break=L({getName:function(g){return(g=A._BinaryenBreakGetName(g))?F(g):null},setName:function(g,I){k(()=>{A._BinaryenBreakSetName(g,o(I))})},getCondition:function(g){return A._BinaryenBreakGetCondition(g)},setCondition:function(g,I){A._BinaryenBreakSetCondition(g,I)},getValue:function(g){return A._BinaryenBreakGetValue(g)},setValue:function(g,I){A._BinaryenBreakSetValue(g,I)}}),A.Switch=L({getNumNames:function(g){return A._BinaryenSwitchGetNumNames(g)},getNames:function(g){return x(g,A._BinaryenSwitchGetNumNames,A._BinaryenSwitchGetNameAt).map(I=>F(I))},setNames:function(g,I){k(()=>{O(g,I.map(o),A._BinaryenSwitchGetNumNames,A._BinaryenSwitchSetNameAt,A._BinaryenSwitchAppendName,A._BinaryenSwitchRemoveNameAt)})},getDefaultName:function(g){return(g=A._BinaryenSwitchGetDefaultName(g))?F(g):null},setDefaultName:function(g,I){k(()=>{A._BinaryenSwitchSetDefaultName(g,o(I))})},getCondition:function(g){return A._BinaryenSwitchGetCondition(g)},setCondition:function(g,I){A._BinaryenSwitchSetCondition(g,I)},getValue:function(g){return A._BinaryenSwitchGetValue(g)},setValue:function(g,I){A._BinaryenSwitchSetValue(g,I)},getNameAt:function(g,I){return F(A._BinaryenSwitchGetNameAt(g,I))},setNameAt:function(g,I,E){k(()=>{A._BinaryenSwitchSetNameAt(g,I,o(E))})},appendName:function(g,I){k(()=>A._BinaryenSwitchAppendName(g,o(I)))},insertNameAt:function(g,I,E){k(()=>{A._BinaryenSwitchInsertNameAt(g,I,o(E))})},removeNameAt:function(g,I){return F(A._BinaryenSwitchRemoveNameAt(g,I))}}),A.Call=L({getTarget:function(g){return F(A._BinaryenCallGetTarget(g))},setTarget:function(g,I){k(()=>{A._BinaryenCallSetTarget(g,o(I))})},getNumOperands:function(g){return A._BinaryenCallGetNumOperands(g)},getOperands:function(g){return x(g,A._BinaryenCallGetNumOperands,A._BinaryenCallGetOperandAt)},setOperands:function(g,I){O(g,I,A._BinaryenCallGetNumOperands,A._BinaryenCallSetOperandAt,A._BinaryenCallAppendOperand,A._BinaryenCallRemoveOperandAt)},getOperandAt:function(g,I){return A._BinaryenCallGetOperandAt(g,I)},setOperandAt:function(g,I,E){A._BinaryenCallSetOperandAt(g,I,E)},appendOperand:function(g,I){return A._BinaryenCallAppendOperand(g,I)},insertOperandAt:function(g,I,E){A._BinaryenCallInsertOperandAt(g,I,E)},removeOperandAt:function(g,I){return A._BinaryenCallRemoveOperandAt(g,I)},isReturn:function(g){return!!A._BinaryenCallIsReturn(g)},setReturn:function(g,I){A._BinaryenCallSetReturn(g,I)}}),A.CallIndirect=L({getTarget:function(g){return A._BinaryenCallIndirectGetTarget(g)},setTarget:function(g,I){A._BinaryenCallIndirectSetTarget(g,I)},getTable:function(g){return F(A._BinaryenCallIndirectGetTable(g))},setTable:function(g,I){k(()=>{A._BinaryenCallIndirectSetTable(g,o(I))})},getNumOperands:function(g){return A._BinaryenCallIndirectGetNumOperands(g)},getOperands:function(g){return x(g,A._BinaryenCallIndirectGetNumOperands,A._BinaryenCallIndirectGetOperandAt)},setOperands:function(g,I){O(g,I,A._BinaryenCallIndirectGetNumOperands,A._BinaryenCallIndirectSetOperandAt,A._BinaryenCallIndirectAppendOperand,A._BinaryenCallIndirectRemoveOperandAt)},getOperandAt:function(g,I){return A._BinaryenCallIndirectGetOperandAt(g,I)},setOperandAt:function(g,I,E){A._BinaryenCallIndirectSetOperandAt(g,I,E)},appendOperand:function(g,I){return A._BinaryenCallIndirectAppendOperand(g,I)},insertOperandAt:function(g,I,E){A._BinaryenCallIndirectInsertOperandAt(g,I,E)},removeOperandAt:function(g,I){return A._BinaryenCallIndirectRemoveOperandAt(g,I)},isReturn:function(g){return!!A._BinaryenCallIndirectIsReturn(g)},setReturn:function(g,I){A._BinaryenCallIndirectSetReturn(g,I)},getParams:function(g){return A._BinaryenCallIndirectGetParams(g)},setParams:function(g,I){A._BinaryenCallIndirectSetParams(g,I)},getResults:function(g){return A._BinaryenCallIndirectGetResults(g)},setResults:function(g,I){A._BinaryenCallIndirectSetResults(g,I)}}),A.LocalGet=L({getIndex:function(g){return A._BinaryenLocalGetGetIndex(g)},setIndex:function(g,I){A._BinaryenLocalGetSetIndex(g,I)}}),A.LocalSet=L({getIndex:function(g){return A._BinaryenLocalSetGetIndex(g)},setIndex:function(g,I){A._BinaryenLocalSetSetIndex(g,I)},isTee:function(g){return!!A._BinaryenLocalSetIsTee(g)},getValue:function(g){return A._BinaryenLocalSetGetValue(g)},setValue:function(g,I){A._BinaryenLocalSetSetValue(g,I)}}),A.GlobalGet=L({getName:function(g){return F(A._BinaryenGlobalGetGetName(g))},setName:function(g,I){k(()=>{A._BinaryenGlobalGetSetName(g,o(I))})}}),A.GlobalSet=L({getName:function(g){return F(A._BinaryenGlobalSetGetName(g))},setName:function(g,I){k(()=>{A._BinaryenGlobalSetSetName(g,o(I))})},getValue:function(g){return A._BinaryenGlobalSetGetValue(g)},setValue:function(g,I){A._BinaryenGlobalSetSetValue(g,I)}}),A.TableGet=L({getTable:function(g){return F(A._BinaryenTableGetGetTable(g))},setTable:function(g,I){k(()=>{A._BinaryenTableGetSetTable(g,o(I))})},getIndex:function(g){return A._BinaryenTableGetGetIndex(g)},setIndex:function(g,I){A._BinaryenTableGetSetIndex(g,I)}}),A.TableSet=L({getTable:function(g){return F(A._BinaryenTableSetGetTable(g))},setTable:function(g,I){k(()=>{A._BinaryenTableSetSetTable(g,o(I))})},getIndex:function(g){return A._BinaryenTableSetGetIndex(g)},setIndex:function(g,I){A._BinaryenTableSetSetIndex(g,I)},getValue:function(g){return A._BinaryenTableSetGetValue(g)},setValue:function(g,I){A._BinaryenTableSetSetValue(g,I)}}),A.TableSize=L({getTable:function(g){return F(A._BinaryenTableSizeGetTable(g))},setTable:function(g,I){k(()=>{A._BinaryenTableSizeSetTable(g,o(I))})}}),A.TableGrow=L({getTable:function(g){return F(A._BinaryenTableGrowGetTable(g))},setTable:function(g,I){k(()=>{A._BinaryenTableGrowSetTable(g,o(I))})},getValue:function(g){return A._BinaryenTableGrowGetValue(g)},setValue:function(g,I){A._BinaryenTableGrowSetValue(g,I)},getDelta:function(g){return A._BinaryenTableGrowGetDelta(g)},setDelta:function(g,I){A._BinaryenTableGrowSetDelta(g,I)}}),A.MemorySize=L({}),A.MemoryGrow=L({getDelta:function(g){return A._BinaryenMemoryGrowGetDelta(g)},setDelta:function(g,I){A._BinaryenMemoryGrowSetDelta(g,I)}}),A.Load=L({isAtomic:function(g){return!!A._BinaryenLoadIsAtomic(g)},setAtomic:function(g,I){A._BinaryenLoadSetAtomic(g,I)},isSigned:function(g){return!!A._BinaryenLoadIsSigned(g)},setSigned:function(g,I){A._BinaryenLoadSetSigned(g,I)},getOffset:function(g){return A._BinaryenLoadGetOffset(g)},setOffset:function(g,I){A._BinaryenLoadSetOffset(g,I)},getBytes:function(g){return A._BinaryenLoadGetBytes(g)},setBytes:function(g,I){A._BinaryenLoadSetBytes(g,I)},getAlign:function(g){return A._BinaryenLoadGetAlign(g)},setAlign:function(g,I){A._BinaryenLoadSetAlign(g,I)},getPtr:function(g){return A._BinaryenLoadGetPtr(g)},setPtr:function(g,I){A._BinaryenLoadSetPtr(g,I)}}),A.Store=L({isAtomic:function(g){return!!A._BinaryenStoreIsAtomic(g)},setAtomic:function(g,I){A._BinaryenStoreSetAtomic(g,I)},getBytes:function(g){return A._BinaryenStoreGetBytes(g)},setBytes:function(g,I){A._BinaryenStoreSetBytes(g,I)},getOffset:function(g){return A._BinaryenStoreGetOffset(g)},setOffset:function(g,I){A._BinaryenStoreSetOffset(g,I)},getAlign:function(g){return A._BinaryenStoreGetAlign(g)},setAlign:function(g,I){A._BinaryenStoreSetAlign(g,I)},getPtr:function(g){return A._BinaryenStoreGetPtr(g)},setPtr:function(g,I){A._BinaryenStoreSetPtr(g,I)},getValue:function(g){return A._BinaryenStoreGetValue(g)},setValue:function(g,I){A._BinaryenStoreSetValue(g,I)},getValueType:function(g){return A._BinaryenStoreGetValueType(g)},setValueType:function(g,I){A._BinaryenStoreSetValueType(g,I)}}),A.Const=L({getValueI32:function(g){return A._BinaryenConstGetValueI32(g)},setValueI32:function(g,I){A._BinaryenConstSetValueI32(g,I)},getValueI64Low:function(g){return A._BinaryenConstGetValueI64Low(g)},setValueI64Low:function(g,I){A._BinaryenConstSetValueI64Low(g,I)},getValueI64High:function(g){return A._BinaryenConstGetValueI64High(g)},setValueI64High:function(g,I){A._BinaryenConstSetValueI64High(g,I)},getValueF32:function(g){return A._BinaryenConstGetValueF32(g)},setValueF32:function(g,I){A._BinaryenConstSetValueF32(g,I)},getValueF64:function(g){return A._BinaryenConstGetValueF64(g)},setValueF64:function(g,I){A._BinaryenConstSetValueF64(g,I)},getValueV128:function(g){let I;return k(()=>{let E=Z(16);A._BinaryenConstGetValueV128(g,E),I=Array(16);for(let Q=0;16>Q;++Q)I[Q]=r[E+Q>>>0]}),I},setValueV128:function(g,I){k(()=>{let E=Z(16);for(let Q=0;16>Q;++Q)r[E+Q>>>0]=I[Q];A._BinaryenConstSetValueV128(g,E)})}}),A.Unary=L({getOp:function(g){return A._BinaryenUnaryGetOp(g)},setOp:function(g,I){A._BinaryenUnarySetOp(g,I)},getValue:function(g){return A._BinaryenUnaryGetValue(g)},setValue:function(g,I){A._BinaryenUnarySetValue(g,I)}}),A.Binary=L({getOp:function(g){return A._BinaryenBinaryGetOp(g)},setOp:function(g,I){A._BinaryenBinarySetOp(g,I)},getLeft:function(g){return A._BinaryenBinaryGetLeft(g)},setLeft:function(g,I){A._BinaryenBinarySetLeft(g,I)},getRight:function(g){return A._BinaryenBinaryGetRight(g)},setRight:function(g,I){A._BinaryenBinarySetRight(g,I)}}),A.Select=L({getIfTrue:function(g){return A._BinaryenSelectGetIfTrue(g)},setIfTrue:function(g,I){A._BinaryenSelectSetIfTrue(g,I)},getIfFalse:function(g){return A._BinaryenSelectGetIfFalse(g)},setIfFalse:function(g,I){A._BinaryenSelectSetIfFalse(g,I)},getCondition:function(g){return A._BinaryenSelectGetCondition(g)},setCondition:function(g,I){A._BinaryenSelectSetCondition(g,I)}}),A.Drop=L({getValue:function(g){return A._BinaryenDropGetValue(g)},setValue:function(g,I){A._BinaryenDropSetValue(g,I)}}),A.Return=L({getValue:function(g){return A._BinaryenReturnGetValue(g)},setValue:function(g,I){A._BinaryenReturnSetValue(g,I)}}),A.AtomicRMW=L({getOp:function(g){return A._BinaryenAtomicRMWGetOp(g)},setOp:function(g,I){A._BinaryenAtomicRMWSetOp(g,I)},getBytes:function(g){return A._BinaryenAtomicRMWGetBytes(g)},setBytes:function(g,I){A._BinaryenAtomicRMWSetBytes(g,I)},getOffset:function(g){return A._BinaryenAtomicRMWGetOffset(g)},setOffset:function(g,I){A._BinaryenAtomicRMWSetOffset(g,I)},getPtr:function(g){return A._BinaryenAtomicRMWGetPtr(g)},setPtr:function(g,I){A._BinaryenAtomicRMWSetPtr(g,I)},getValue:function(g){return A._BinaryenAtomicRMWGetValue(g)},setValue:function(g,I){A._BinaryenAtomicRMWSetValue(g,I)}}),A.AtomicCmpxchg=L({getBytes:function(g){return A._BinaryenAtomicCmpxchgGetBytes(g)},setBytes:function(g,I){A._BinaryenAtomicCmpxchgSetBytes(g,I)},getOffset:function(g){return A._BinaryenAtomicCmpxchgGetOffset(g)},setOffset:function(g,I){A._BinaryenAtomicCmpxchgSetOffset(g,I)},getPtr:function(g){return A._BinaryenAtomicCmpxchgGetPtr(g)},setPtr:function(g,I){A._BinaryenAtomicCmpxchgSetPtr(g,I)},getExpected:function(g){return A._BinaryenAtomicCmpxchgGetExpected(g)},setExpected:function(g,I){A._BinaryenAtomicCmpxchgSetExpected(g,I)},getReplacement:function(g){return A._BinaryenAtomicCmpxchgGetReplacement(g)},setReplacement:function(g,I){A._BinaryenAtomicCmpxchgSetReplacement(g,I)}}),A.AtomicWait=L({getPtr:function(g){return A._BinaryenAtomicWaitGetPtr(g)},setPtr:function(g,I){A._BinaryenAtomicWaitSetPtr(g,I)},getExpected:function(g){return A._BinaryenAtomicWaitGetExpected(g)},setExpected:function(g,I){A._BinaryenAtomicWaitSetExpected(g,I)},getTimeout:function(g){return A._BinaryenAtomicWaitGetTimeout(g)},setTimeout:function(g,I){A._BinaryenAtomicWaitSetTimeout(g,I)},getExpectedType:function(g){return A._BinaryenAtomicWaitGetExpectedType(g)},setExpectedType:function(g,I){A._BinaryenAtomicWaitSetExpectedType(g,I)}}),A.AtomicNotify=L({getPtr:function(g){return A._BinaryenAtomicNotifyGetPtr(g)},setPtr:function(g,I){A._BinaryenAtomicNotifySetPtr(g,I)},getNotifyCount:function(g){return A._BinaryenAtomicNotifyGetNotifyCount(g)},setNotifyCount:function(g,I){A._BinaryenAtomicNotifySetNotifyCount(g,I)}}),A.AtomicFence=L({getOrder:function(g){return A._BinaryenAtomicFenceGetOrder(g)},setOrder:function(g,I){A._BinaryenAtomicFenceSetOrder(g,I)}}),A.SIMDExtract=L({getOp:function(g){return A._BinaryenSIMDExtractGetOp(g)},setOp:function(g,I){A._BinaryenSIMDExtractSetOp(g,I)},getVec:function(g){return A._BinaryenSIMDExtractGetVec(g)},setVec:function(g,I){A._BinaryenSIMDExtractSetVec(g,I)},getIndex:function(g){return A._BinaryenSIMDExtractGetIndex(g)},setIndex:function(g,I){A._BinaryenSIMDExtractSetIndex(g,I)}}),A.SIMDReplace=L({getOp:function(g){return A._BinaryenSIMDReplaceGetOp(g)},setOp:function(g,I){A._BinaryenSIMDReplaceSetOp(g,I)},getVec:function(g){return A._BinaryenSIMDReplaceGetVec(g)},setVec:function(g,I){A._BinaryenSIMDReplaceSetVec(g,I)},getIndex:function(g){return A._BinaryenSIMDReplaceGetIndex(g)},setIndex:function(g,I){A._BinaryenSIMDReplaceSetIndex(g,I)},getValue:function(g){return A._BinaryenSIMDReplaceGetValue(g)},setValue:function(g,I){A._BinaryenSIMDReplaceSetValue(g,I)}}),A.SIMDShuffle=L({getLeft:function(g){return A._BinaryenSIMDShuffleGetLeft(g)},setLeft:function(g,I){A._BinaryenSIMDShuffleSetLeft(g,I)},getRight:function(g){return A._BinaryenSIMDShuffleGetRight(g)},setRight:function(g,I){A._BinaryenSIMDShuffleSetRight(g,I)},getMask:function(g){let I;return k(()=>{let E=Z(16);A._BinaryenSIMDShuffleGetMask(g,E),I=Array(16);for(let Q=0;16>Q;++Q)I[Q]=r[E+Q>>>0]}),I},setMask:function(g,I){k(()=>{let E=Z(16);for(let Q=0;16>Q;++Q)r[E+Q>>>0]=I[Q];A._BinaryenSIMDShuffleSetMask(g,E)})}}),A.SIMDTernary=L({getOp:function(g){return A._BinaryenSIMDTernaryGetOp(g)},setOp:function(g,I){A._BinaryenSIMDTernarySetOp(g,I)},getA:function(g){return A._BinaryenSIMDTernaryGetA(g)},setA:function(g,I){A._BinaryenSIMDTernarySetA(g,I)},getB:function(g){return A._BinaryenSIMDTernaryGetB(g)},setB:function(g,I){A._BinaryenSIMDTernarySetB(g,I)},getC:function(g){return A._BinaryenSIMDTernaryGetC(g)},setC:function(g,I){A._BinaryenSIMDTernarySetC(g,I)}}),A.SIMDShift=L({getOp:function(g){return A._BinaryenSIMDShiftGetOp(g)},setOp:function(g,I){A._BinaryenSIMDShiftSetOp(g,I)},getVec:function(g){return A._BinaryenSIMDShiftGetVec(g)},setVec:function(g,I){A._BinaryenSIMDShiftSetVec(g,I)},getShift:function(g){return A._BinaryenSIMDShiftGetShift(g)},setShift:function(g,I){A._BinaryenSIMDShiftSetShift(g,I)}}),A.SIMDLoad=L({getOp:function(g){return A._BinaryenSIMDLoadGetOp(g)},setOp:function(g,I){A._BinaryenSIMDLoadSetOp(g,I)},getOffset:function(g){return A._BinaryenSIMDLoadGetOffset(g)},setOffset:function(g,I){A._BinaryenSIMDLoadSetOffset(g,I)},getAlign:function(g){return A._BinaryenSIMDLoadGetAlign(g)},setAlign:function(g,I){A._BinaryenSIMDLoadSetAlign(g,I)},getPtr:function(g){return A._BinaryenSIMDLoadGetPtr(g)},setPtr:function(g,I){A._BinaryenSIMDLoadSetPtr(g,I)}}),A.SIMDLoadStoreLane=L({getOp:function(g){return A._BinaryenSIMDLoadStoreLaneGetOp(g)},setOp:function(g,I){A._BinaryenSIMDLoadStoreLaneSetOp(g,I)},getOffset:function(g){return A._BinaryenSIMDLoadStoreLaneGetOffset(g)},setOffset:function(g,I){A._BinaryenSIMDLoadStoreLaneSetOffset(g,I)},getAlign:function(g){return A._BinaryenSIMDLoadStoreLaneGetAlign(g)},setAlign:function(g,I){A._BinaryenSIMDLoadStoreLaneSetAlign(g,I)},getIndex:function(g){return A._BinaryenSIMDLoadStoreLaneGetIndex(g)},setIndex:function(g,I){A._BinaryenSIMDLoadStoreLaneSetIndex(g,I)},getPtr:function(g){return A._BinaryenSIMDLoadStoreLaneGetPtr(g)},setPtr:function(g,I){A._BinaryenSIMDLoadStoreLaneSetPtr(g,I)},getVec:function(g){return A._BinaryenSIMDLoadStoreLaneGetVec(g)},setVec:function(g,I){A._BinaryenSIMDLoadStoreLaneSetVec(g,I)},isStore:function(g){return!!A._BinaryenSIMDLoadStoreLaneIsStore(g)}}),A.MemoryInit=L({getSegment:function(g){return F(A._BinaryenMemoryInitGetSegment(g))},setSegment:function(g,I){k(()=>A._BinaryenMemoryInitSetSegment(g,o(I)))},getDest:function(g){return A._BinaryenMemoryInitGetDest(g)},setDest:function(g,I){A._BinaryenMemoryInitSetDest(g,I)},getOffset:function(g){return A._BinaryenMemoryInitGetOffset(g)},setOffset:function(g,I){A._BinaryenMemoryInitSetOffset(g,I)},getSize:function(g){return A._BinaryenMemoryInitGetSize(g)},setSize:function(g,I){A._BinaryenMemoryInitSetSize(g,I)}}),A.DataDrop=L({getSegment:function(g){return F(A._BinaryenDataDropGetSegment(g))},setSegment:function(g,I){k(()=>A._BinaryenDataDropSetSegment(g,o(I)))}}),A.MemoryCopy=L({getDest:function(g){return A._BinaryenMemoryCopyGetDest(g)},setDest:function(g,I){A._BinaryenMemoryCopySetDest(g,I)},getSource:function(g){return A._BinaryenMemoryCopyGetSource(g)},setSource:function(g,I){A._BinaryenMemoryCopySetSource(g,I)},getSize:function(g){return A._BinaryenMemoryCopyGetSize(g)},setSize:function(g,I){A._BinaryenMemoryCopySetSize(g,I)}}),A.MemoryFill=L({getDest:function(g){return A._BinaryenMemoryFillGetDest(g)},setDest:function(g,I){A._BinaryenMemoryFillSetDest(g,I)},getValue:function(g){return A._BinaryenMemoryFillGetValue(g)},setValue:function(g,I){A._BinaryenMemoryFillSetValue(g,I)},getSize:function(g){return A._BinaryenMemoryFillGetSize(g)},setSize:function(g,I){A._BinaryenMemoryFillSetSize(g,I)}}),A.RefIsNull=L({getValue:function(g){return A._BinaryenRefIsNullGetValue(g)},setValue:function(g,I){A._BinaryenRefIsNullSetValue(g,I)}}),A.RefAs=L({getOp:function(g){return A._BinaryenRefAsGetOp(g)},setOp:function(g,I){A._BinaryenRefAsSetOp(g,I)},getValue:function(g){return A._BinaryenRefAsGetValue(g)},setValue:function(g,I){A._BinaryenRefAsSetValue(g,I)}}),A.RefFunc=L({getFunc:function(g){return F(A._BinaryenRefFuncGetFunc(g))},setFunc:function(g,I){k(()=>{A._BinaryenRefFuncSetFunc(g,o(I))})}}),A.RefEq=L({getLeft:function(g){return A._BinaryenRefEqGetLeft(g)},setLeft:function(g,I){return A._BinaryenRefEqSetLeft(g,I)},getRight:function(g){return A._BinaryenRefEqGetRight(g)},setRight:function(g,I){return A._BinaryenRefEqSetRight(g,I)}}),A.Try=L({getName:function(g){return(g=A._BinaryenTryGetName(g))?F(g):null},setName:function(g,I){k(()=>{A._BinaryenTrySetName(g,o(I))})},getBody:function(g){return A._BinaryenTryGetBody(g)},setBody:function(g,I){A._BinaryenTrySetBody(g,I)},getNumCatchTags:function(g){return A._BinaryenTryGetNumCatchTags(g)},getCatchTags:function(g){return x(g,A._BinaryenTryGetNumCatchTags,A._BinaryenTryGetCatchTagAt).map(I=>F(I))},setCatchTags:function(g,I){k(()=>{O(g,I.map(o),A._BinaryenTryGetNumCatchTags,A._BinaryenTrySetCatchTagAt,A._BinaryenTryAppendCatchTag,A._BinaryenTryRemoveCatchTagAt)})},getCatchTagAt:function(g,I){return F(A._BinaryenTryGetCatchTagAt(g,I))},setCatchTagAt:function(g,I,E){k(()=>{A._BinaryenTrySetCatchTagAt(g,I,o(E))})},appendCatchTag:function(g,I){k(()=>A._BinaryenTryAppendCatchTag(g,o(I)))},insertCatchTagAt:function(g,I,E){k(()=>{A._BinaryenTryInsertCatchTagAt(g,I,o(E))})},removeCatchTagAt:function(g,I){return F(A._BinaryenTryRemoveCatchTagAt(g,I))},getNumCatchBodies:function(g){return A._BinaryenTryGetNumCatchBodies(g)},getCatchBodies:function(g){return x(g,A._BinaryenTryGetNumCatchBodies,A._BinaryenTryGetCatchBodyAt)},setCatchBodies:function(g,I){O(g,I,A._BinaryenTryGetNumCatchBodies,A._BinaryenTrySetCatchBodyAt,A._BinaryenTryAppendCatchBody,A._BinaryenTryRemoveCatchBodyAt)},getCatchBodyAt:function(g,I){return A._BinaryenTryGetCatchBodyAt(g,I)},setCatchBodyAt:function(g,I,E){A._BinaryenTrySetCatchBodyAt(g,I,E)},appendCatchBody:function(g,I){return A._BinaryenTryAppendCatchBody(g,I)},insertCatchBodyAt:function(g,I,E){A._BinaryenTryInsertCatchBodyAt(g,I,E)},removeCatchBodyAt:function(g,I){return A._BinaryenTryRemoveCatchBodyAt(g,I)},hasCatchAll:function(g){return!!A._BinaryenTryHasCatchAll(g)},getDelegateTarget:function(g){return(g=A._BinaryenTryGetDelegateTarget(g))?F(g):null},setDelegateTarget:function(g,I){k(()=>{A._BinaryenTrySetDelegateTarget(g,o(I))})},isDelegate:function(g){return!!A._BinaryenTryIsDelegate(g)}}),A.Throw=L({getTag:function(g){return F(A._BinaryenThrowGetTag(g))},setTag:function(g,I){k(()=>{A._BinaryenThrowSetTag(g,o(I))})},getNumOperands:function(g){return A._BinaryenThrowGetNumOperands(g)},getOperands:function(g){return x(g,A._BinaryenThrowGetNumOperands,A._BinaryenThrowGetOperandAt)},setOperands:function(g,I){O(g,I,A._BinaryenThrowGetNumOperands,A._BinaryenThrowSetOperandAt,A._BinaryenThrowAppendOperand,A._BinaryenThrowRemoveOperandAt)},getOperandAt:function(g,I){return A._BinaryenThrowGetOperandAt(g,I)},setOperandAt:function(g,I,E){A._BinaryenThrowSetOperandAt(g,I,E)},appendOperand:function(g,I){return A._BinaryenThrowAppendOperand(g,I)},insertOperandAt:function(g,I,E){A._BinaryenThrowInsertOperandAt(g,I,E)},removeOperandAt:function(g,I){return A._BinaryenThrowRemoveOperandAt(g,I)}}),A.Rethrow=L({getTarget:function(g){return(g=A._BinaryenRethrowGetTarget(g))?F(g):null},setTarget:function(g,I){k(()=>{A._BinaryenRethrowSetTarget(g,o(I))})}}),A.TupleMake=L({getNumOperands:function(g){return A._BinaryenTupleMakeGetNumOperands(g)},getOperands:function(g){return x(g,A._BinaryenTupleMakeGetNumOperands,A._BinaryenTupleMakeGetOperandAt)},setOperands:function(g,I){O(g,I,A._BinaryenTupleMakeGetNumOperands,A._BinaryenTupleMakeSetOperandAt,A._BinaryenTupleMakeAppendOperand,A._BinaryenTupleMakeRemoveOperandAt)},getOperandAt:function(g,I){return A._BinaryenTupleMakeGetOperandAt(g,I)},setOperandAt:function(g,I,E){A._BinaryenTupleMakeSetOperandAt(g,I,E)},appendOperand:function(g,I){return A._BinaryenTupleMakeAppendOperand(g,I)},insertOperandAt:function(g,I,E){A._BinaryenTupleMakeInsertOperandAt(g,I,E)},removeOperandAt:function(g,I){return A._BinaryenTupleMakeRemoveOperandAt(g,I)}}),A.TupleExtract=L({getTuple:function(g){return A._BinaryenTupleExtractGetTuple(g)},setTuple:function(g,I){A._BinaryenTupleExtractSetTuple(g,I)},getIndex:function(g){return A._BinaryenTupleExtractGetIndex(g)},setIndex:function(g,I){A._BinaryenTupleExtractSetIndex(g,I)}}),A.RefI31=L({getValue:function(g){return A._BinaryenRefI31GetValue(g)},setValue:function(g,I){A._BinaryenRefI31SetValue(g,I)}}),A.I31Get=L({getI31:function(g){return A._BinaryenI31GetGetI31(g)},setI31:function(g,I){A._BinaryenI31GetSetI31(g,I)},isSigned:function(g){return!!A._BinaryenI31GetIsSigned(g)},setSigned:function(g,I){A._BinaryenI31GetSetSigned(g,I)}}),A.Function=(()=>{function g(I){if(!(this instanceof g))return I?new g(I):null;if(!I)throw Error("function reference must not be null");this[v]=I}return g.getName=function(I){return F(A._BinaryenFunctionGetName(I))},g.getParams=function(I){return A._BinaryenFunctionGetParams(I)},g.getResults=function(I){return A._BinaryenFunctionGetResults(I)},g.getNumVars=function(I){return A._BinaryenFunctionGetNumVars(I)},g.getVar=function(I,E){return A._BinaryenFunctionGetVar(I,E)},g.getNumLocals=function(I){return A._BinaryenFunctionGetNumLocals(I)},g.hasLocalName=function(I,E){return!!A._BinaryenFunctionHasLocalName(I,E)},g.getLocalName=function(I,E){return F(A._BinaryenFunctionGetLocalName(I,E))},g.setLocalName=function(I,E,Q){k(()=>{A._BinaryenFunctionSetLocalName(I,E,o(Q))})},g.getBody=function(I){return A._BinaryenFunctionGetBody(I)},g.setBody=function(I,E){A._BinaryenFunctionSetBody(I,E)},vA(g.prototype,g),g.prototype.valueOf=function(){return this[v]},g})(),A.exit=function(g){if(g!=0)throw Error("exiting due to error: "+g)},ig?tI():A.onRuntimeInitialized=(g=>()=>{tI(),g&&g()})(A.onRuntimeInitialized),$A.ready}})(),WI=EB;var DB=await WI(),NB=DB;export{NB as default}; diff --git a/platforms/Arduino/node_modules/binaryen/package.json b/platforms/Arduino/node_modules/binaryen/package.json deleted file mode 100644 index 3db2aa1f..00000000 --- a/platforms/Arduino/node_modules/binaryen/package.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "name": "binaryen", - "description": "Browser & Node.js builds of Binaryen, a compiler infrastructure and toolchain library for WebAssembly.", - "version": "116.0.0-nightly.20240114", - "license": "Apache-2.0", - "repository": { - "type": "git", - "url": "https://github.com/AssemblyScript/binaryen.js.git" - }, - "keywords": [ - "webassembly", - "wasm" - ], - "type": "module", - "main": "index.js", - "typings": "index.d.ts", - "bin": { - "wasm-opt": "bin/wasm-opt", - "wasm2js": "bin/wasm2js" - }, - "scripts": { - "readme": "doctoc README.md --github --title \"### Contents\"", - "check": "tsc index.d.ts --noEmit --strict --noImplicitAny --strictNullChecks --listFiles --diagnostics", - "test": "npm run check && node tests/sanity && node tests/example", - "bundle": "node scripts/bundle.js" - }, - "files": [ - "index.js", - "index.d.ts", - "package.json", - "package-lock.json", - "README.md", - "bin/package.json", - "bin/wasm-opt", - "bin/wasm2js" - ], - "devDependencies": { - "dateformat": "^5.0.2", - "doctoc": "^2.1.0", - "esbuild": "^0.13.14", - "semver": "^7.1.3", - "simple-git": "^2.47.0", - "typescript": "^4.4.4" - } -} diff --git a/platforms/Arduino/node_modules/long/LICENSE b/platforms/Arduino/node_modules/long/LICENSE deleted file mode 100644 index d6456956..00000000 --- a/platforms/Arduino/node_modules/long/LICENSE +++ /dev/null @@ -1,202 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/platforms/Arduino/node_modules/long/README.md b/platforms/Arduino/node_modules/long/README.md deleted file mode 100644 index ab168f1c..00000000 --- a/platforms/Arduino/node_modules/long/README.md +++ /dev/null @@ -1,280 +0,0 @@ -long.js -======= - -A Long class for representing a 64 bit two's-complement integer value derived from the [Closure Library](https://github.com/google/closure-library) -for stand-alone use and extended with unsigned support. - -[![Build Status](https://img.shields.io/github/workflow/status/dcodeIO/long.js/Test/main?label=test&logo=github)](https://github.com/dcodeIO/long.js/actions?query=workflow%3ATest) [![Publish Status](https://img.shields.io/github/workflow/status/dcodeIO/long.js/Publish/main?label=publish&logo=github)](https://github.com/dcodeIO/long.js/actions?query=workflow%3APublish) [![npm](https://img.shields.io/npm/v/long.svg?label=npm&color=007acc&logo=npm)](https://www.npmjs.com/package/long) - -Background ----------- - -As of [ECMA-262 5th Edition](http://ecma262-5.com/ELS5_HTML.htm#Section_8.5), "all the positive and negative integers -whose magnitude is no greater than 253 are representable in the Number type", which is "representing the -doubleprecision 64-bit format IEEE 754 values as specified in the IEEE Standard for Binary Floating-Point Arithmetic". -The [maximum safe integer](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/MAX_SAFE_INTEGER) -in JavaScript is 253-1. - -Example: 264-1 is 1844674407370955**1615** but in JavaScript it evaluates to 1844674407370955**2000**. - -Furthermore, bitwise operators in JavaScript "deal only with integers in the range −231 through -231−1, inclusive, or in the range 0 through 232−1, inclusive. These operators accept any value of -the Number type but first convert each such value to one of 232 integer values." - -In some use cases, however, it is required to be able to reliably work with and perform bitwise operations on the full -64 bits. This is where long.js comes into play. - -Usage ------ - -The package exports an ECMAScript module with an UMD fallback. - -``` -$> npm install long -``` - -```js -import Long from "long"; - -var value = new Long(0xFFFFFFFF, 0x7FFFFFFF); -console.log(value.toString()); -... -``` - -Note that mixing ESM and CommonJS is not recommended as it yields different classes, albeit with the same functionality. - -### Usage with a CDN - - * From GitHub via [jsDelivr](https://www.jsdelivr.com):
- `https://cdn.jsdelivr.net/gh/dcodeIO/long.js@TAG/index.js` (ESM) - * From npm via [jsDelivr](https://www.jsdelivr.com):
- `https://cdn.jsdelivr.net/npm/long@VERSION/index.js` (ESM)
- `https://cdn.jsdelivr.net/npm/long@VERSION/umd/index.js` (UMD) - * From npm via [unpkg](https://unpkg.com):
- `https://unpkg.com/long@VERSION/index.js` (ESM)
- `https://unpkg.com/long@VERSION/umd/index.js` (UMD) - - Replace `TAG` respectively `VERSION` with a [specific version](https://github.com/dcodeIO/long.js/releases) or omit it (not recommended in production) to use main/latest. - -API ---- - -### Constructor - -* new **Long**(low: `number`, high?: `number`, unsigned?: `boolean`)
- Constructs a 64 bit two's-complement integer, given its low and high 32 bit values as *signed* integers. See the from* functions below for more convenient ways of constructing Longs. - -### Fields - -* Long#**low**: `number`
- The low 32 bits as a signed value. - -* Long#**high**: `number`
- The high 32 bits as a signed value. - -* Long#**unsigned**: `boolean`
- Whether unsigned or not. - -### Constants - -* Long.**ZERO**: `Long`
- Signed zero. - -* Long.**ONE**: `Long`
- Signed one. - -* Long.**NEG_ONE**: `Long`
- Signed negative one. - -* Long.**UZERO**: `Long`
- Unsigned zero. - -* Long.**UONE**: `Long`
- Unsigned one. - -* Long.**MAX_VALUE**: `Long`
- Maximum signed value. - -* Long.**MIN_VALUE**: `Long`
- Minimum signed value. - -* Long.**MAX_UNSIGNED_VALUE**: `Long`
- Maximum unsigned value. - -### Utility - -* Long.**isLong**(obj: `*`): `boolean`
- Tests if the specified object is a Long. - -* Long.**fromBits**(lowBits: `number`, highBits: `number`, unsigned?: `boolean`): `Long`
- Returns a Long representing the 64 bit integer that comes by concatenating the given low and high bits. Each is assumed to use 32 bits. - -* Long.**fromBytes**(bytes: `number[]`, unsigned?: `boolean`, le?: `boolean`): `Long`
- Creates a Long from its byte representation. - -* Long.**fromBytesLE**(bytes: `number[]`, unsigned?: `boolean`): `Long`
- Creates a Long from its little endian byte representation. - -* Long.**fromBytesBE**(bytes: `number[]`, unsigned?: `boolean`): `Long`
- Creates a Long from its big endian byte representation. - -* Long.**fromInt**(value: `number`, unsigned?: `boolean`): `Long`
- Returns a Long representing the given 32 bit integer value. - -* Long.**fromNumber**(value: `number`, unsigned?: `boolean`): `Long`
- Returns a Long representing the given value, provided that it is a finite number. Otherwise, zero is returned. - -* Long.**fromString**(str: `string`, unsigned?: `boolean`, radix?: `number`)
- Long.**fromString**(str: `string`, radix: `number`)
- Returns a Long representation of the given string, written using the specified radix. - -* Long.**fromValue**(val: `*`, unsigned?: `boolean`): `Long`
- Converts the specified value to a Long using the appropriate from* function for its type. - -### Methods - -* Long#**add**(addend: `Long | number | string`): `Long`
- Returns the sum of this and the specified Long. - -* Long#**and**(other: `Long | number | string`): `Long`
- Returns the bitwise AND of this Long and the specified. - -* Long#**compare**/**comp**(other: `Long | number | string`): `number`
- Compares this Long's value with the specified's. Returns `0` if they are the same, `1` if the this is greater and `-1` if the given one is greater. - -* Long#**divide**/**div**(divisor: `Long | number | string`): `Long`
- Returns this Long divided by the specified. - -* Long#**equals**/**eq**(other: `Long | number | string`): `boolean`
- Tests if this Long's value equals the specified's. - -* Long#**getHighBits**(): `number`
- Gets the high 32 bits as a signed integer. - -* Long#**getHighBitsUnsigned**(): `number`
- Gets the high 32 bits as an unsigned integer. - -* Long#**getLowBits**(): `number`
- Gets the low 32 bits as a signed integer. - -* Long#**getLowBitsUnsigned**(): `number`
- Gets the low 32 bits as an unsigned integer. - -* Long#**getNumBitsAbs**(): `number`
- Gets the number of bits needed to represent the absolute value of this Long. - -* Long#**greaterThan**/**gt**(other: `Long | number | string`): `boolean`
- Tests if this Long's value is greater than the specified's. - -* Long#**greaterThanOrEqual**/**gte**/**ge**(other: `Long | number | string`): `boolean`
- Tests if this Long's value is greater than or equal the specified's. - -* Long#**isEven**(): `boolean`
- Tests if this Long's value is even. - -* Long#**isNegative**(): `boolean`
- Tests if this Long's value is negative. - -* Long#**isOdd**(): `boolean`
- Tests if this Long's value is odd. - -* Long#**isPositive**(): `boolean`
- Tests if this Long's value is positive or zero. - -* Long#**isZero**/**eqz**(): `boolean`
- Tests if this Long's value equals zero. - -* Long#**lessThan**/**lt**(other: `Long | number | string`): `boolean`
- Tests if this Long's value is less than the specified's. - -* Long#**lessThanOrEqual**/**lte**/**le**(other: `Long | number | string`): `boolean`
- Tests if this Long's value is less than or equal the specified's. - -* Long#**modulo**/**mod**/**rem**(divisor: `Long | number | string`): `Long`
- Returns this Long modulo the specified. - -* Long#**multiply**/**mul**(multiplier: `Long | number | string`): `Long`
- Returns the product of this and the specified Long. - -* Long#**negate**/**neg**(): `Long`
- Negates this Long's value. - -* Long#**not**(): `Long`
- Returns the bitwise NOT of this Long. - -* Long#**countLeadingZeros**/**clz**(): `number`
- Returns count leading zeros of this Long. - -* Long#**countTrailingZeros**/**ctz**(): `number`
- Returns count trailing zeros of this Long. - -* Long#**notEquals**/**neq**/**ne**(other: `Long | number | string`): `boolean`
- Tests if this Long's value differs from the specified's. - -* Long#**or**(other: `Long | number | string`): `Long`
- Returns the bitwise OR of this Long and the specified. - -* Long#**shiftLeft**/**shl**(numBits: `Long | number | string`): `Long`
- Returns this Long with bits shifted to the left by the given amount. - -* Long#**shiftRight**/**shr**(numBits: `Long | number | string`): `Long`
- Returns this Long with bits arithmetically shifted to the right by the given amount. - -* Long#**shiftRightUnsigned**/**shru**/**shr_u**(numBits: `Long | number | string`): `Long`
- Returns this Long with bits logically shifted to the right by the given amount. - -* Long#**rotateLeft**/**rotl**(numBits: `Long | number | string`): `Long`
- Returns this Long with bits rotated to the left by the given amount. - -* Long#**rotateRight**/**rotr**(numBits: `Long | number | string`): `Long`
- Returns this Long with bits rotated to the right by the given amount. - -* Long#**subtract**/**sub**(subtrahend: `Long | number | string`): `Long`
- Returns the difference of this and the specified Long. - -* Long#**toBytes**(le?: `boolean`): `number[]`
- Converts this Long to its byte representation. - -* Long#**toBytesLE**(): `number[]`
- Converts this Long to its little endian byte representation. - -* Long#**toBytesBE**(): `number[]`
- Converts this Long to its big endian byte representation. - -* Long#**toInt**(): `number`
- Converts the Long to a 32 bit integer, assuming it is a 32 bit integer. - -* Long#**toNumber**(): `number`
- Converts the Long to a the nearest floating-point representation of this value (double, 53 bit mantissa). - -* Long#**toSigned**(): `Long`
- Converts this Long to signed. - -* Long#**toString**(radix?: `number`): `string`
- Converts the Long to a string written in the specified radix. - -* Long#**toUnsigned**(): `Long`
- Converts this Long to unsigned. - -* Long#**xor**(other: `Long | number | string`): `Long`
- Returns the bitwise XOR of this Long and the given one. - -WebAssembly support -------------------- - -[WebAssembly](http://webassembly.org) supports 64-bit integer arithmetic out of the box, hence a [tiny WebAssembly module](./wasm.wat) is used to compute operations like multiplication, division and remainder more efficiently (slow operations like division are around twice as fast), falling back to floating point based computations in JavaScript where WebAssembly is not yet supported, e.g., in older versions of node. - -Building --------- - -Building the UMD fallback: - -``` -$> npm run build -``` - -Running the [tests](./tests): - -``` -$> npm test -``` diff --git a/platforms/Arduino/node_modules/long/index.d.ts b/platforms/Arduino/node_modules/long/index.d.ts deleted file mode 100644 index 521533d7..00000000 --- a/platforms/Arduino/node_modules/long/index.d.ts +++ /dev/null @@ -1,457 +0,0 @@ -declare class Long { - /** - * Constructs a 64 bit two's-complement integer, given its low and high 32 bit values as signed integers. See the from* functions below for more convenient ways of constructing Longs. - */ - constructor(low: number, high?: number, unsigned?: boolean); - - /** - * Maximum unsigned value. - */ - static MAX_UNSIGNED_VALUE: Long; - - /** - * Maximum signed value. - */ - static MAX_VALUE: Long; - - /** - * Minimum signed value. - */ - static MIN_VALUE: Long; - - /** - * Signed negative one. - */ - static NEG_ONE: Long; - - /** - * Signed one. - */ - static ONE: Long; - - /** - * Unsigned one. - */ - static UONE: Long; - - /** - * Unsigned zero. - */ - static UZERO: Long; - - /** - * Signed zero - */ - static ZERO: Long; - - /** - * The high 32 bits as a signed value. - */ - high: number; - - /** - * The low 32 bits as a signed value. - */ - low: number; - - /** - * Whether unsigned or not. - */ - unsigned: boolean; - - /** - * Returns a Long representing the 64 bit integer that comes by concatenating the given low and high bits. Each is assumed to use 32 bits. - */ - static fromBits(lowBits: number, highBits: number, unsigned?: boolean): Long; - - /** - * Returns a Long representing the given 32 bit integer value. - */ - static fromInt(value: number, unsigned?: boolean): Long; - - /** - * Returns a Long representing the given value, provided that it is a finite number. Otherwise, zero is returned. - */ - static fromNumber(value: number, unsigned?: boolean): Long; - - /** - * Returns a Long representation of the given string, written using the specified radix. - */ - static fromString( - str: string, - unsigned?: boolean | number, - radix?: number - ): Long; - - /** - * Creates a Long from its byte representation. - */ - static fromBytes(bytes: number[], unsigned?: boolean, le?: boolean): Long; - - /** - * Creates a Long from its little endian byte representation. - */ - static fromBytesLE(bytes: number[], unsigned?: boolean): Long; - - /** - * Creates a Long from its big endian byte representation. - */ - static fromBytesBE(bytes: number[], unsigned?: boolean): Long; - - /** - * Tests if the specified object is a Long. - */ - static isLong(obj: any): obj is Long; - - /** - * Converts the specified value to a Long. - */ - static fromValue( - val: - | Long - | number - | string - | { low: number; high: number; unsigned: boolean }, - unsigned?: boolean - ): Long; - - /** - * Returns the sum of this and the specified Long. - */ - add(addend: number | Long | string): Long; - - /** - * Returns the bitwise AND of this Long and the specified. - */ - and(other: Long | number | string): Long; - - /** - * Compares this Long's value with the specified's. - */ - compare(other: Long | number | string): number; - - /** - * Compares this Long's value with the specified's. - */ - comp(other: Long | number | string): number; - - /** - * Returns this Long divided by the specified. - */ - divide(divisor: Long | number | string): Long; - - /** - * Returns this Long divided by the specified. - */ - div(divisor: Long | number | string): Long; - - /** - * Tests if this Long's value equals the specified's. - */ - equals(other: Long | number | string): boolean; - - /** - * Tests if this Long's value equals the specified's. - */ - eq(other: Long | number | string): boolean; - - /** - * Gets the high 32 bits as a signed integer. - */ - getHighBits(): number; - - /** - * Gets the high 32 bits as an unsigned integer. - */ - getHighBitsUnsigned(): number; - - /** - * Gets the low 32 bits as a signed integer. - */ - getLowBits(): number; - - /** - * Gets the low 32 bits as an unsigned integer. - */ - getLowBitsUnsigned(): number; - - /** - * Gets the number of bits needed to represent the absolute value of this Long. - */ - getNumBitsAbs(): number; - - /** - * Tests if this Long's value is greater than the specified's. - */ - greaterThan(other: Long | number | string): boolean; - - /** - * Tests if this Long's value is greater than the specified's. - */ - gt(other: Long | number | string): boolean; - - /** - * Tests if this Long's value is greater than or equal the specified's. - */ - greaterThanOrEqual(other: Long | number | string): boolean; - - /** - * Tests if this Long's value is greater than or equal the specified's. - */ - gte(other: Long | number | string): boolean; - - /** - * Tests if this Long's value is greater than or equal the specified's. - */ - ge(other: Long | number | string): boolean; - - /** - * Tests if this Long's value is even. - */ - isEven(): boolean; - - /** - * Tests if this Long's value is negative. - */ - isNegative(): boolean; - - /** - * Tests if this Long's value is odd. - */ - isOdd(): boolean; - - /** - * Tests if this Long's value is positive or zero. - */ - isPositive(): boolean; - - /** - * Tests if this Long's value equals zero. - */ - isZero(): boolean; - - /** - * Tests if this Long's value equals zero. - */ - eqz(): boolean; - - /** - * Tests if this Long's value is less than the specified's. - */ - lessThan(other: Long | number | string): boolean; - - /** - * Tests if this Long's value is less than the specified's. - */ - lt(other: Long | number | string): boolean; - - /** - * Tests if this Long's value is less than or equal the specified's. - */ - lessThanOrEqual(other: Long | number | string): boolean; - - /** - * Tests if this Long's value is less than or equal the specified's. - */ - lte(other: Long | number | string): boolean; - - /** - * Tests if this Long's value is less than or equal the specified's. - */ - le(other: Long | number | string): boolean; - - /** - * Returns this Long modulo the specified. - */ - modulo(other: Long | number | string): Long; - - /** - * Returns this Long modulo the specified. - */ - mod(other: Long | number | string): Long; - - /** - * Returns this Long modulo the specified. - */ - rem(other: Long | number | string): Long; - - /** - * Returns the product of this and the specified Long. - */ - multiply(multiplier: Long | number | string): Long; - - /** - * Returns the product of this and the specified Long. - */ - mul(multiplier: Long | number | string): Long; - - /** - * Negates this Long's value. - */ - negate(): Long; - - /** - * Negates this Long's value. - */ - neg(): Long; - - /** - * Returns the bitwise NOT of this Long. - */ - not(): Long; - - /** - * Returns count leading zeros of this Long. - */ - countLeadingZeros(): number; - - /** - * Returns count leading zeros of this Long. - */ - clz(): number; - - /** - * Returns count trailing zeros of this Long. - */ - countTrailingZeros(): number; - - /** - * Returns count trailing zeros of this Long. - */ - ctz(): number; - - /** - * Tests if this Long's value differs from the specified's. - */ - notEquals(other: Long | number | string): boolean; - - /** - * Tests if this Long's value differs from the specified's. - */ - neq(other: Long | number | string): boolean; - - /** - * Tests if this Long's value differs from the specified's. - */ - ne(other: Long | number | string): boolean; - - /** - * Returns the bitwise OR of this Long and the specified. - */ - or(other: Long | number | string): Long; - - /** - * Returns this Long with bits shifted to the left by the given amount. - */ - shiftLeft(numBits: number | Long): Long; - - /** - * Returns this Long with bits shifted to the left by the given amount. - */ - shl(numBits: number | Long): Long; - - /** - * Returns this Long with bits arithmetically shifted to the right by the given amount. - */ - shiftRight(numBits: number | Long): Long; - - /** - * Returns this Long with bits arithmetically shifted to the right by the given amount. - */ - shr(numBits: number | Long): Long; - - /** - * Returns this Long with bits logically shifted to the right by the given amount. - */ - shiftRightUnsigned(numBits: number | Long): Long; - - /** - * Returns this Long with bits logically shifted to the right by the given amount. - */ - shru(numBits: number | Long): Long; - - /** - * Returns this Long with bits logically shifted to the right by the given amount. - */ - shr_u(numBits: number | Long): Long; - - /** - * Returns this Long with bits rotated to the left by the given amount. - */ - rotateLeft(numBits: number | Long): Long; - - /** - * Returns this Long with bits rotated to the left by the given amount. - */ - rotl(numBits: number | Long): Long; - - /** - * Returns this Long with bits rotated to the right by the given amount. - */ - rotateRight(numBits: number | Long): Long; - - /** - * Returns this Long with bits rotated to the right by the given amount. - */ - rotr(numBits: number | Long): Long; - - /** - * Returns the difference of this and the specified Long. - */ - subtract(subtrahend: number | Long | string): Long; - - /** - * Returns the difference of this and the specified Long. - */ - sub(subtrahend: number | Long | string): Long; - - /** - * Converts the Long to a 32 bit integer, assuming it is a 32 bit integer. - */ - toInt(): number; - - /** - * Converts the Long to a the nearest floating-point representation of this value (double, 53 bit mantissa). - */ - toNumber(): number; - - /** - * Converts this Long to its byte representation. - */ - - toBytes(le?: boolean): number[]; - - /** - * Converts this Long to its little endian byte representation. - */ - - toBytesLE(): number[]; - - /** - * Converts this Long to its big endian byte representation. - */ - - toBytesBE(): number[]; - - /** - * Converts this Long to signed. - */ - toSigned(): Long; - - /** - * Converts the Long to a string written in the specified radix. - */ - toString(radix?: number): string; - - /** - * Converts this Long to unsigned. - */ - toUnsigned(): Long; - - /** - * Returns the bitwise XOR of this Long and the given one. - */ - xor(other: Long | number | string): Long; -} - -export default Long; // compatible with `import Long from "long"` diff --git a/platforms/Arduino/node_modules/long/index.js b/platforms/Arduino/node_modules/long/index.js deleted file mode 100644 index f04775e0..00000000 --- a/platforms/Arduino/node_modules/long/index.js +++ /dev/null @@ -1,1467 +0,0 @@ -/** - * @license - * Copyright 2009 The Closure Library Authors - * Copyright 2020 Daniel Wirtz / The long.js Authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * SPDX-License-Identifier: Apache-2.0 - */ - -// WebAssembly optimizations to do native i64 multiplication and divide -var wasm = null; -try { - wasm = new WebAssembly.Instance(new WebAssembly.Module(new Uint8Array([ - 0, 97, 115, 109, 1, 0, 0, 0, 1, 13, 2, 96, 0, 1, 127, 96, 4, 127, 127, 127, 127, 1, 127, 3, 7, 6, 0, 1, 1, 1, 1, 1, 6, 6, 1, 127, 1, 65, 0, 11, 7, 50, 6, 3, 109, 117, 108, 0, 1, 5, 100, 105, 118, 95, 115, 0, 2, 5, 100, 105, 118, 95, 117, 0, 3, 5, 114, 101, 109, 95, 115, 0, 4, 5, 114, 101, 109, 95, 117, 0, 5, 8, 103, 101, 116, 95, 104, 105, 103, 104, 0, 0, 10, 191, 1, 6, 4, 0, 35, 0, 11, 36, 1, 1, 126, 32, 0, 173, 32, 1, 173, 66, 32, 134, 132, 32, 2, 173, 32, 3, 173, 66, 32, 134, 132, 126, 34, 4, 66, 32, 135, 167, 36, 0, 32, 4, 167, 11, 36, 1, 1, 126, 32, 0, 173, 32, 1, 173, 66, 32, 134, 132, 32, 2, 173, 32, 3, 173, 66, 32, 134, 132, 127, 34, 4, 66, 32, 135, 167, 36, 0, 32, 4, 167, 11, 36, 1, 1, 126, 32, 0, 173, 32, 1, 173, 66, 32, 134, 132, 32, 2, 173, 32, 3, 173, 66, 32, 134, 132, 128, 34, 4, 66, 32, 135, 167, 36, 0, 32, 4, 167, 11, 36, 1, 1, 126, 32, 0, 173, 32, 1, 173, 66, 32, 134, 132, 32, 2, 173, 32, 3, 173, 66, 32, 134, 132, 129, 34, 4, 66, 32, 135, 167, 36, 0, 32, 4, 167, 11, 36, 1, 1, 126, 32, 0, 173, 32, 1, 173, 66, 32, 134, 132, 32, 2, 173, 32, 3, 173, 66, 32, 134, 132, 130, 34, 4, 66, 32, 135, 167, 36, 0, 32, 4, 167, 11 - ])), {}).exports; -} catch (e) { - // no wasm support :( -} - -/** - * Constructs a 64 bit two's-complement integer, given its low and high 32 bit values as *signed* integers. - * See the from* functions below for more convenient ways of constructing Longs. - * @exports Long - * @class A Long class for representing a 64 bit two's-complement integer value. - * @param {number} low The low (signed) 32 bits of the long - * @param {number} high The high (signed) 32 bits of the long - * @param {boolean=} unsigned Whether unsigned or not, defaults to signed - * @constructor - */ -function Long(low, high, unsigned) { - - /** - * The low 32 bits as a signed value. - * @type {number} - */ - this.low = low | 0; - - /** - * The high 32 bits as a signed value. - * @type {number} - */ - this.high = high | 0; - - /** - * Whether unsigned or not. - * @type {boolean} - */ - this.unsigned = !!unsigned; -} - -// The internal representation of a long is the two given signed, 32-bit values. -// We use 32-bit pieces because these are the size of integers on which -// Javascript performs bit-operations. For operations like addition and -// multiplication, we split each number into 16 bit pieces, which can easily be -// multiplied within Javascript's floating-point representation without overflow -// or change in sign. -// -// In the algorithms below, we frequently reduce the negative case to the -// positive case by negating the input(s) and then post-processing the result. -// Note that we must ALWAYS check specially whether those values are MIN_VALUE -// (-2^63) because -MIN_VALUE == MIN_VALUE (since 2^63 cannot be represented as -// a positive number, it overflows back into a negative). Not handling this -// case would often result in infinite recursion. -// -// Common constant values ZERO, ONE, NEG_ONE, etc. are defined below the from* -// methods on which they depend. - -/** - * An indicator used to reliably determine if an object is a Long or not. - * @type {boolean} - * @const - * @private - */ -Long.prototype.__isLong__; - -Object.defineProperty(Long.prototype, "__isLong__", { value: true }); - -/** - * @function - * @param {*} obj Object - * @returns {boolean} - * @inner - */ -function isLong(obj) { - return (obj && obj["__isLong__"]) === true; -} - -/** - * @function - * @param {*} value number - * @returns {number} - * @inner - */ -function ctz32(value) { - var c = Math.clz32(value & -value); - return value ? 31 - c : c; -} - -/** - * Tests if the specified object is a Long. - * @function - * @param {*} obj Object - * @returns {boolean} - */ -Long.isLong = isLong; - -/** - * A cache of the Long representations of small integer values. - * @type {!Object} - * @inner - */ -var INT_CACHE = {}; - -/** - * A cache of the Long representations of small unsigned integer values. - * @type {!Object} - * @inner - */ -var UINT_CACHE = {}; - -/** - * @param {number} value - * @param {boolean=} unsigned - * @returns {!Long} - * @inner - */ -function fromInt(value, unsigned) { - var obj, cachedObj, cache; - if (unsigned) { - value >>>= 0; - if (cache = (0 <= value && value < 256)) { - cachedObj = UINT_CACHE[value]; - if (cachedObj) - return cachedObj; - } - obj = fromBits(value, 0, true); - if (cache) - UINT_CACHE[value] = obj; - return obj; - } else { - value |= 0; - if (cache = (-128 <= value && value < 128)) { - cachedObj = INT_CACHE[value]; - if (cachedObj) - return cachedObj; - } - obj = fromBits(value, value < 0 ? -1 : 0, false); - if (cache) - INT_CACHE[value] = obj; - return obj; - } -} - -/** - * Returns a Long representing the given 32 bit integer value. - * @function - * @param {number} value The 32 bit integer in question - * @param {boolean=} unsigned Whether unsigned or not, defaults to signed - * @returns {!Long} The corresponding Long value - */ -Long.fromInt = fromInt; - -/** - * @param {number} value - * @param {boolean=} unsigned - * @returns {!Long} - * @inner - */ -function fromNumber(value, unsigned) { - if (isNaN(value)) - return unsigned ? UZERO : ZERO; - if (unsigned) { - if (value < 0) - return UZERO; - if (value >= TWO_PWR_64_DBL) - return MAX_UNSIGNED_VALUE; - } else { - if (value <= -TWO_PWR_63_DBL) - return MIN_VALUE; - if (value + 1 >= TWO_PWR_63_DBL) - return MAX_VALUE; - } - if (value < 0) - return fromNumber(-value, unsigned).neg(); - return fromBits((value % TWO_PWR_32_DBL) | 0, (value / TWO_PWR_32_DBL) | 0, unsigned); -} - -/** - * Returns a Long representing the given value, provided that it is a finite number. Otherwise, zero is returned. - * @function - * @param {number} value The number in question - * @param {boolean=} unsigned Whether unsigned or not, defaults to signed - * @returns {!Long} The corresponding Long value - */ -Long.fromNumber = fromNumber; - -/** - * @param {number} lowBits - * @param {number} highBits - * @param {boolean=} unsigned - * @returns {!Long} - * @inner - */ -function fromBits(lowBits, highBits, unsigned) { - return new Long(lowBits, highBits, unsigned); -} - -/** - * Returns a Long representing the 64 bit integer that comes by concatenating the given low and high bits. Each is - * assumed to use 32 bits. - * @function - * @param {number} lowBits The low 32 bits - * @param {number} highBits The high 32 bits - * @param {boolean=} unsigned Whether unsigned or not, defaults to signed - * @returns {!Long} The corresponding Long value - */ -Long.fromBits = fromBits; - -/** - * @function - * @param {number} base - * @param {number} exponent - * @returns {number} - * @inner - */ -var pow_dbl = Math.pow; // Used 4 times (4*8 to 15+4) - -/** - * @param {string} str - * @param {(boolean|number)=} unsigned - * @param {number=} radix - * @returns {!Long} - * @inner - */ -function fromString(str, unsigned, radix) { - if (str.length === 0) - throw Error('empty string'); - if (typeof unsigned === 'number') { - // For goog.math.long compatibility - radix = unsigned; - unsigned = false; - } else { - unsigned = !!unsigned; - } - if (str === "NaN" || str === "Infinity" || str === "+Infinity" || str === "-Infinity") - return unsigned ? UZERO : ZERO; - radix = radix || 10; - if (radix < 2 || 36 < radix) - throw RangeError('radix'); - - var p; - if ((p = str.indexOf('-')) > 0) - throw Error('interior hyphen'); - else if (p === 0) { - return fromString(str.substring(1), unsigned, radix).neg(); - } - - // Do several (8) digits each time through the loop, so as to - // minimize the calls to the very expensive emulated div. - var radixToPower = fromNumber(pow_dbl(radix, 8)); - - var result = ZERO; - for (var i = 0; i < str.length; i += 8) { - var size = Math.min(8, str.length - i), - value = parseInt(str.substring(i, i + size), radix); - if (size < 8) { - var power = fromNumber(pow_dbl(radix, size)); - result = result.mul(power).add(fromNumber(value)); - } else { - result = result.mul(radixToPower); - result = result.add(fromNumber(value)); - } - } - result.unsigned = unsigned; - return result; -} - -/** - * Returns a Long representation of the given string, written using the specified radix. - * @function - * @param {string} str The textual representation of the Long - * @param {(boolean|number)=} unsigned Whether unsigned or not, defaults to signed - * @param {number=} radix The radix in which the text is written (2-36), defaults to 10 - * @returns {!Long} The corresponding Long value - */ -Long.fromString = fromString; - -/** - * @function - * @param {!Long|number|string|!{low: number, high: number, unsigned: boolean}} val - * @param {boolean=} unsigned - * @returns {!Long} - * @inner - */ -function fromValue(val, unsigned) { - if (typeof val === 'number') - return fromNumber(val, unsigned); - if (typeof val === 'string') - return fromString(val, unsigned); - // Throws for non-objects, converts non-instanceof Long: - return fromBits(val.low, val.high, typeof unsigned === 'boolean' ? unsigned : val.unsigned); -} - -/** - * Converts the specified value to a Long using the appropriate from* function for its type. - * @function - * @param {!Long|number|string|!{low: number, high: number, unsigned: boolean}} val Value - * @param {boolean=} unsigned Whether unsigned or not, defaults to signed - * @returns {!Long} - */ -Long.fromValue = fromValue; - -// NOTE: the compiler should inline these constant values below and then remove these variables, so there should be -// no runtime penalty for these. - -/** - * @type {number} - * @const - * @inner - */ -var TWO_PWR_16_DBL = 1 << 16; - -/** - * @type {number} - * @const - * @inner - */ -var TWO_PWR_24_DBL = 1 << 24; - -/** - * @type {number} - * @const - * @inner - */ -var TWO_PWR_32_DBL = TWO_PWR_16_DBL * TWO_PWR_16_DBL; - -/** - * @type {number} - * @const - * @inner - */ -var TWO_PWR_64_DBL = TWO_PWR_32_DBL * TWO_PWR_32_DBL; - -/** - * @type {number} - * @const - * @inner - */ -var TWO_PWR_63_DBL = TWO_PWR_64_DBL / 2; - -/** - * @type {!Long} - * @const - * @inner - */ -var TWO_PWR_24 = fromInt(TWO_PWR_24_DBL); - -/** - * @type {!Long} - * @inner - */ -var ZERO = fromInt(0); - -/** - * Signed zero. - * @type {!Long} - */ -Long.ZERO = ZERO; - -/** - * @type {!Long} - * @inner - */ -var UZERO = fromInt(0, true); - -/** - * Unsigned zero. - * @type {!Long} - */ -Long.UZERO = UZERO; - -/** - * @type {!Long} - * @inner - */ -var ONE = fromInt(1); - -/** - * Signed one. - * @type {!Long} - */ -Long.ONE = ONE; - -/** - * @type {!Long} - * @inner - */ -var UONE = fromInt(1, true); - -/** - * Unsigned one. - * @type {!Long} - */ -Long.UONE = UONE; - -/** - * @type {!Long} - * @inner - */ -var NEG_ONE = fromInt(-1); - -/** - * Signed negative one. - * @type {!Long} - */ -Long.NEG_ONE = NEG_ONE; - -/** - * @type {!Long} - * @inner - */ -var MAX_VALUE = fromBits(0xFFFFFFFF | 0, 0x7FFFFFFF | 0, false); - -/** - * Maximum signed value. - * @type {!Long} - */ -Long.MAX_VALUE = MAX_VALUE; - -/** - * @type {!Long} - * @inner - */ -var MAX_UNSIGNED_VALUE = fromBits(0xFFFFFFFF | 0, 0xFFFFFFFF | 0, true); - -/** - * Maximum unsigned value. - * @type {!Long} - */ -Long.MAX_UNSIGNED_VALUE = MAX_UNSIGNED_VALUE; - -/** - * @type {!Long} - * @inner - */ -var MIN_VALUE = fromBits(0, 0x80000000 | 0, false); - -/** - * Minimum signed value. - * @type {!Long} - */ -Long.MIN_VALUE = MIN_VALUE; - -/** - * @alias Long.prototype - * @inner - */ -var LongPrototype = Long.prototype; - -/** - * Converts the Long to a 32 bit integer, assuming it is a 32 bit integer. - * @this {!Long} - * @returns {number} - */ -LongPrototype.toInt = function toInt() { - return this.unsigned ? this.low >>> 0 : this.low; -}; - -/** - * Converts the Long to a the nearest floating-point representation of this value (double, 53 bit mantissa). - * @this {!Long} - * @returns {number} - */ -LongPrototype.toNumber = function toNumber() { - if (this.unsigned) - return ((this.high >>> 0) * TWO_PWR_32_DBL) + (this.low >>> 0); - return this.high * TWO_PWR_32_DBL + (this.low >>> 0); -}; - -/** - * Converts the Long to a string written in the specified radix. - * @this {!Long} - * @param {number=} radix Radix (2-36), defaults to 10 - * @returns {string} - * @override - * @throws {RangeError} If `radix` is out of range - */ -LongPrototype.toString = function toString(radix) { - radix = radix || 10; - if (radix < 2 || 36 < radix) - throw RangeError('radix'); - if (this.isZero()) - return '0'; - if (this.isNegative()) { // Unsigned Longs are never negative - if (this.eq(MIN_VALUE)) { - // We need to change the Long value before it can be negated, so we remove - // the bottom-most digit in this base and then recurse to do the rest. - var radixLong = fromNumber(radix), - div = this.div(radixLong), - rem1 = div.mul(radixLong).sub(this); - return div.toString(radix) + rem1.toInt().toString(radix); - } else - return '-' + this.neg().toString(radix); - } - - // Do several (6) digits each time through the loop, so as to - // minimize the calls to the very expensive emulated div. - var radixToPower = fromNumber(pow_dbl(radix, 6), this.unsigned), - rem = this; - var result = ''; - while (true) { - var remDiv = rem.div(radixToPower), - intval = rem.sub(remDiv.mul(radixToPower)).toInt() >>> 0, - digits = intval.toString(radix); - rem = remDiv; - if (rem.isZero()) - return digits + result; - else { - while (digits.length < 6) - digits = '0' + digits; - result = '' + digits + result; - } - } -}; - -/** - * Gets the high 32 bits as a signed integer. - * @this {!Long} - * @returns {number} Signed high bits - */ -LongPrototype.getHighBits = function getHighBits() { - return this.high; -}; - -/** - * Gets the high 32 bits as an unsigned integer. - * @this {!Long} - * @returns {number} Unsigned high bits - */ -LongPrototype.getHighBitsUnsigned = function getHighBitsUnsigned() { - return this.high >>> 0; -}; - -/** - * Gets the low 32 bits as a signed integer. - * @this {!Long} - * @returns {number} Signed low bits - */ -LongPrototype.getLowBits = function getLowBits() { - return this.low; -}; - -/** - * Gets the low 32 bits as an unsigned integer. - * @this {!Long} - * @returns {number} Unsigned low bits - */ -LongPrototype.getLowBitsUnsigned = function getLowBitsUnsigned() { - return this.low >>> 0; -}; - -/** - * Gets the number of bits needed to represent the absolute value of this Long. - * @this {!Long} - * @returns {number} - */ -LongPrototype.getNumBitsAbs = function getNumBitsAbs() { - if (this.isNegative()) // Unsigned Longs are never negative - return this.eq(MIN_VALUE) ? 64 : this.neg().getNumBitsAbs(); - var val = this.high != 0 ? this.high : this.low; - for (var bit = 31; bit > 0; bit--) - if ((val & (1 << bit)) != 0) - break; - return this.high != 0 ? bit + 33 : bit + 1; -}; - -/** - * Tests if this Long's value equals zero. - * @this {!Long} - * @returns {boolean} - */ -LongPrototype.isZero = function isZero() { - return this.high === 0 && this.low === 0; -}; - -/** - * Tests if this Long's value equals zero. This is an alias of {@link Long#isZero}. - * @returns {boolean} - */ -LongPrototype.eqz = LongPrototype.isZero; - -/** - * Tests if this Long's value is negative. - * @this {!Long} - * @returns {boolean} - */ -LongPrototype.isNegative = function isNegative() { - return !this.unsigned && this.high < 0; -}; - -/** - * Tests if this Long's value is positive or zero. - * @this {!Long} - * @returns {boolean} - */ -LongPrototype.isPositive = function isPositive() { - return this.unsigned || this.high >= 0; -}; - -/** - * Tests if this Long's value is odd. - * @this {!Long} - * @returns {boolean} - */ -LongPrototype.isOdd = function isOdd() { - return (this.low & 1) === 1; -}; - -/** - * Tests if this Long's value is even. - * @this {!Long} - * @returns {boolean} - */ -LongPrototype.isEven = function isEven() { - return (this.low & 1) === 0; -}; - -/** - * Tests if this Long's value equals the specified's. - * @this {!Long} - * @param {!Long|number|string} other Other value - * @returns {boolean} - */ -LongPrototype.equals = function equals(other) { - if (!isLong(other)) - other = fromValue(other); - if (this.unsigned !== other.unsigned && (this.high >>> 31) === 1 && (other.high >>> 31) === 1) - return false; - return this.high === other.high && this.low === other.low; -}; - -/** - * Tests if this Long's value equals the specified's. This is an alias of {@link Long#equals}. - * @function - * @param {!Long|number|string} other Other value - * @returns {boolean} - */ -LongPrototype.eq = LongPrototype.equals; - -/** - * Tests if this Long's value differs from the specified's. - * @this {!Long} - * @param {!Long|number|string} other Other value - * @returns {boolean} - */ -LongPrototype.notEquals = function notEquals(other) { - return !this.eq(/* validates */ other); -}; - -/** - * Tests if this Long's value differs from the specified's. This is an alias of {@link Long#notEquals}. - * @function - * @param {!Long|number|string} other Other value - * @returns {boolean} - */ -LongPrototype.neq = LongPrototype.notEquals; - -/** - * Tests if this Long's value differs from the specified's. This is an alias of {@link Long#notEquals}. - * @function - * @param {!Long|number|string} other Other value - * @returns {boolean} - */ -LongPrototype.ne = LongPrototype.notEquals; - -/** - * Tests if this Long's value is less than the specified's. - * @this {!Long} - * @param {!Long|number|string} other Other value - * @returns {boolean} - */ -LongPrototype.lessThan = function lessThan(other) { - return this.comp(/* validates */ other) < 0; -}; - -/** - * Tests if this Long's value is less than the specified's. This is an alias of {@link Long#lessThan}. - * @function - * @param {!Long|number|string} other Other value - * @returns {boolean} - */ -LongPrototype.lt = LongPrototype.lessThan; - -/** - * Tests if this Long's value is less than or equal the specified's. - * @this {!Long} - * @param {!Long|number|string} other Other value - * @returns {boolean} - */ -LongPrototype.lessThanOrEqual = function lessThanOrEqual(other) { - return this.comp(/* validates */ other) <= 0; -}; - -/** - * Tests if this Long's value is less than or equal the specified's. This is an alias of {@link Long#lessThanOrEqual}. - * @function - * @param {!Long|number|string} other Other value - * @returns {boolean} - */ -LongPrototype.lte = LongPrototype.lessThanOrEqual; - -/** - * Tests if this Long's value is less than or equal the specified's. This is an alias of {@link Long#lessThanOrEqual}. - * @function - * @param {!Long|number|string} other Other value - * @returns {boolean} - */ -LongPrototype.le = LongPrototype.lessThanOrEqual; - -/** - * Tests if this Long's value is greater than the specified's. - * @this {!Long} - * @param {!Long|number|string} other Other value - * @returns {boolean} - */ -LongPrototype.greaterThan = function greaterThan(other) { - return this.comp(/* validates */ other) > 0; -}; - -/** - * Tests if this Long's value is greater than the specified's. This is an alias of {@link Long#greaterThan}. - * @function - * @param {!Long|number|string} other Other value - * @returns {boolean} - */ -LongPrototype.gt = LongPrototype.greaterThan; - -/** - * Tests if this Long's value is greater than or equal the specified's. - * @this {!Long} - * @param {!Long|number|string} other Other value - * @returns {boolean} - */ -LongPrototype.greaterThanOrEqual = function greaterThanOrEqual(other) { - return this.comp(/* validates */ other) >= 0; -}; - -/** - * Tests if this Long's value is greater than or equal the specified's. This is an alias of {@link Long#greaterThanOrEqual}. - * @function - * @param {!Long|number|string} other Other value - * @returns {boolean} - */ -LongPrototype.gte = LongPrototype.greaterThanOrEqual; - -/** - * Tests if this Long's value is greater than or equal the specified's. This is an alias of {@link Long#greaterThanOrEqual}. - * @function - * @param {!Long|number|string} other Other value - * @returns {boolean} - */ -LongPrototype.ge = LongPrototype.greaterThanOrEqual; - -/** - * Compares this Long's value with the specified's. - * @this {!Long} - * @param {!Long|number|string} other Other value - * @returns {number} 0 if they are the same, 1 if the this is greater and -1 - * if the given one is greater - */ -LongPrototype.compare = function compare(other) { - if (!isLong(other)) - other = fromValue(other); - if (this.eq(other)) - return 0; - var thisNeg = this.isNegative(), - otherNeg = other.isNegative(); - if (thisNeg && !otherNeg) - return -1; - if (!thisNeg && otherNeg) - return 1; - // At this point the sign bits are the same - if (!this.unsigned) - return this.sub(other).isNegative() ? -1 : 1; - // Both are positive if at least one is unsigned - return (other.high >>> 0) > (this.high >>> 0) || (other.high === this.high && (other.low >>> 0) > (this.low >>> 0)) ? -1 : 1; -}; - -/** - * Compares this Long's value with the specified's. This is an alias of {@link Long#compare}. - * @function - * @param {!Long|number|string} other Other value - * @returns {number} 0 if they are the same, 1 if the this is greater and -1 - * if the given one is greater - */ -LongPrototype.comp = LongPrototype.compare; - -/** - * Negates this Long's value. - * @this {!Long} - * @returns {!Long} Negated Long - */ -LongPrototype.negate = function negate() { - if (!this.unsigned && this.eq(MIN_VALUE)) - return MIN_VALUE; - return this.not().add(ONE); -}; - -/** - * Negates this Long's value. This is an alias of {@link Long#negate}. - * @function - * @returns {!Long} Negated Long - */ -LongPrototype.neg = LongPrototype.negate; - -/** - * Returns the sum of this and the specified Long. - * @this {!Long} - * @param {!Long|number|string} addend Addend - * @returns {!Long} Sum - */ -LongPrototype.add = function add(addend) { - if (!isLong(addend)) - addend = fromValue(addend); - - // Divide each number into 4 chunks of 16 bits, and then sum the chunks. - - var a48 = this.high >>> 16; - var a32 = this.high & 0xFFFF; - var a16 = this.low >>> 16; - var a00 = this.low & 0xFFFF; - - var b48 = addend.high >>> 16; - var b32 = addend.high & 0xFFFF; - var b16 = addend.low >>> 16; - var b00 = addend.low & 0xFFFF; - - var c48 = 0, c32 = 0, c16 = 0, c00 = 0; - c00 += a00 + b00; - c16 += c00 >>> 16; - c00 &= 0xFFFF; - c16 += a16 + b16; - c32 += c16 >>> 16; - c16 &= 0xFFFF; - c32 += a32 + b32; - c48 += c32 >>> 16; - c32 &= 0xFFFF; - c48 += a48 + b48; - c48 &= 0xFFFF; - return fromBits((c16 << 16) | c00, (c48 << 16) | c32, this.unsigned); -}; - -/** - * Returns the difference of this and the specified Long. - * @this {!Long} - * @param {!Long|number|string} subtrahend Subtrahend - * @returns {!Long} Difference - */ -LongPrototype.subtract = function subtract(subtrahend) { - if (!isLong(subtrahend)) - subtrahend = fromValue(subtrahend); - return this.add(subtrahend.neg()); -}; - -/** - * Returns the difference of this and the specified Long. This is an alias of {@link Long#subtract}. - * @function - * @param {!Long|number|string} subtrahend Subtrahend - * @returns {!Long} Difference - */ -LongPrototype.sub = LongPrototype.subtract; - -/** - * Returns the product of this and the specified Long. - * @this {!Long} - * @param {!Long|number|string} multiplier Multiplier - * @returns {!Long} Product - */ -LongPrototype.multiply = function multiply(multiplier) { - if (this.isZero()) - return this; - if (!isLong(multiplier)) - multiplier = fromValue(multiplier); - - // use wasm support if present - if (wasm) { - var low = wasm["mul"](this.low, - this.high, - multiplier.low, - multiplier.high); - return fromBits(low, wasm["get_high"](), this.unsigned); - } - - if (multiplier.isZero()) - return this.unsigned ? UZERO : ZERO; - if (this.eq(MIN_VALUE)) - return multiplier.isOdd() ? MIN_VALUE : ZERO; - if (multiplier.eq(MIN_VALUE)) - return this.isOdd() ? MIN_VALUE : ZERO; - - if (this.isNegative()) { - if (multiplier.isNegative()) - return this.neg().mul(multiplier.neg()); - else - return this.neg().mul(multiplier).neg(); - } else if (multiplier.isNegative()) - return this.mul(multiplier.neg()).neg(); - - // If both longs are small, use float multiplication - if (this.lt(TWO_PWR_24) && multiplier.lt(TWO_PWR_24)) - return fromNumber(this.toNumber() * multiplier.toNumber(), this.unsigned); - - // Divide each long into 4 chunks of 16 bits, and then add up 4x4 products. - // We can skip products that would overflow. - - var a48 = this.high >>> 16; - var a32 = this.high & 0xFFFF; - var a16 = this.low >>> 16; - var a00 = this.low & 0xFFFF; - - var b48 = multiplier.high >>> 16; - var b32 = multiplier.high & 0xFFFF; - var b16 = multiplier.low >>> 16; - var b00 = multiplier.low & 0xFFFF; - - var c48 = 0, c32 = 0, c16 = 0, c00 = 0; - c00 += a00 * b00; - c16 += c00 >>> 16; - c00 &= 0xFFFF; - c16 += a16 * b00; - c32 += c16 >>> 16; - c16 &= 0xFFFF; - c16 += a00 * b16; - c32 += c16 >>> 16; - c16 &= 0xFFFF; - c32 += a32 * b00; - c48 += c32 >>> 16; - c32 &= 0xFFFF; - c32 += a16 * b16; - c48 += c32 >>> 16; - c32 &= 0xFFFF; - c32 += a00 * b32; - c48 += c32 >>> 16; - c32 &= 0xFFFF; - c48 += a48 * b00 + a32 * b16 + a16 * b32 + a00 * b48; - c48 &= 0xFFFF; - return fromBits((c16 << 16) | c00, (c48 << 16) | c32, this.unsigned); -}; - -/** - * Returns the product of this and the specified Long. This is an alias of {@link Long#multiply}. - * @function - * @param {!Long|number|string} multiplier Multiplier - * @returns {!Long} Product - */ -LongPrototype.mul = LongPrototype.multiply; - -/** - * Returns this Long divided by the specified. The result is signed if this Long is signed or - * unsigned if this Long is unsigned. - * @this {!Long} - * @param {!Long|number|string} divisor Divisor - * @returns {!Long} Quotient - */ -LongPrototype.divide = function divide(divisor) { - if (!isLong(divisor)) - divisor = fromValue(divisor); - if (divisor.isZero()) - throw Error('division by zero'); - - // use wasm support if present - if (wasm) { - // guard against signed division overflow: the largest - // negative number / -1 would be 1 larger than the largest - // positive number, due to two's complement. - if (!this.unsigned && - this.high === -0x80000000 && - divisor.low === -1 && divisor.high === -1) { - // be consistent with non-wasm code path - return this; - } - var low = (this.unsigned ? wasm["div_u"] : wasm["div_s"])( - this.low, - this.high, - divisor.low, - divisor.high - ); - return fromBits(low, wasm["get_high"](), this.unsigned); - } - - if (this.isZero()) - return this.unsigned ? UZERO : ZERO; - var approx, rem, res; - if (!this.unsigned) { - // This section is only relevant for signed longs and is derived from the - // closure library as a whole. - if (this.eq(MIN_VALUE)) { - if (divisor.eq(ONE) || divisor.eq(NEG_ONE)) - return MIN_VALUE; // recall that -MIN_VALUE == MIN_VALUE - else if (divisor.eq(MIN_VALUE)) - return ONE; - else { - // At this point, we have |other| >= 2, so |this/other| < |MIN_VALUE|. - var halfThis = this.shr(1); - approx = halfThis.div(divisor).shl(1); - if (approx.eq(ZERO)) { - return divisor.isNegative() ? ONE : NEG_ONE; - } else { - rem = this.sub(divisor.mul(approx)); - res = approx.add(rem.div(divisor)); - return res; - } - } - } else if (divisor.eq(MIN_VALUE)) - return this.unsigned ? UZERO : ZERO; - if (this.isNegative()) { - if (divisor.isNegative()) - return this.neg().div(divisor.neg()); - return this.neg().div(divisor).neg(); - } else if (divisor.isNegative()) - return this.div(divisor.neg()).neg(); - res = ZERO; - } else { - // The algorithm below has not been made for unsigned longs. It's therefore - // required to take special care of the MSB prior to running it. - if (!divisor.unsigned) - divisor = divisor.toUnsigned(); - if (divisor.gt(this)) - return UZERO; - if (divisor.gt(this.shru(1))) // 15 >>> 1 = 7 ; with divisor = 8 ; true - return UONE; - res = UZERO; - } - - // Repeat the following until the remainder is less than other: find a - // floating-point that approximates remainder / other *from below*, add this - // into the result, and subtract it from the remainder. It is critical that - // the approximate value is less than or equal to the real value so that the - // remainder never becomes negative. - rem = this; - while (rem.gte(divisor)) { - // Approximate the result of division. This may be a little greater or - // smaller than the actual value. - approx = Math.max(1, Math.floor(rem.toNumber() / divisor.toNumber())); - - // We will tweak the approximate result by changing it in the 48-th digit or - // the smallest non-fractional digit, whichever is larger. - var log2 = Math.ceil(Math.log(approx) / Math.LN2), - delta = (log2 <= 48) ? 1 : pow_dbl(2, log2 - 48), - - // Decrease the approximation until it is smaller than the remainder. Note - // that if it is too large, the product overflows and is negative. - approxRes = fromNumber(approx), - approxRem = approxRes.mul(divisor); - while (approxRem.isNegative() || approxRem.gt(rem)) { - approx -= delta; - approxRes = fromNumber(approx, this.unsigned); - approxRem = approxRes.mul(divisor); - } - - // We know the answer can't be zero... and actually, zero would cause - // infinite recursion since we would make no progress. - if (approxRes.isZero()) - approxRes = ONE; - - res = res.add(approxRes); - rem = rem.sub(approxRem); - } - return res; -}; - -/** - * Returns this Long divided by the specified. This is an alias of {@link Long#divide}. - * @function - * @param {!Long|number|string} divisor Divisor - * @returns {!Long} Quotient - */ -LongPrototype.div = LongPrototype.divide; - -/** - * Returns this Long modulo the specified. - * @this {!Long} - * @param {!Long|number|string} divisor Divisor - * @returns {!Long} Remainder - */ -LongPrototype.modulo = function modulo(divisor) { - if (!isLong(divisor)) - divisor = fromValue(divisor); - - // use wasm support if present - if (wasm) { - var low = (this.unsigned ? wasm["rem_u"] : wasm["rem_s"])( - this.low, - this.high, - divisor.low, - divisor.high - ); - return fromBits(low, wasm["get_high"](), this.unsigned); - } - - return this.sub(this.div(divisor).mul(divisor)); -}; - -/** - * Returns this Long modulo the specified. This is an alias of {@link Long#modulo}. - * @function - * @param {!Long|number|string} divisor Divisor - * @returns {!Long} Remainder - */ -LongPrototype.mod = LongPrototype.modulo; - -/** - * Returns this Long modulo the specified. This is an alias of {@link Long#modulo}. - * @function - * @param {!Long|number|string} divisor Divisor - * @returns {!Long} Remainder - */ -LongPrototype.rem = LongPrototype.modulo; - -/** - * Returns the bitwise NOT of this Long. - * @this {!Long} - * @returns {!Long} - */ -LongPrototype.not = function not() { - return fromBits(~this.low, ~this.high, this.unsigned); -}; - -/** - * Returns count leading zeros of this Long. - * @this {!Long} - * @returns {!number} - */ -LongPrototype.countLeadingZeros = function countLeadingZeros() { - return this.high ? Math.clz32(this.high) : Math.clz32(this.low) + 32; -}; - -/** - * Returns count leading zeros. This is an alias of {@link Long#countLeadingZeros}. - * @function - * @param {!Long} - * @returns {!number} - */ -LongPrototype.clz = LongPrototype.countLeadingZeros; - -/** - * Returns count trailing zeros of this Long. - * @this {!Long} - * @returns {!number} - */ -LongPrototype.countTrailingZeros = function countTrailingZeros() { - return this.low ? ctz32(this.low) : ctz32(this.high) + 32; -}; - -/** - * Returns count trailing zeros. This is an alias of {@link Long#countTrailingZeros}. - * @function - * @param {!Long} - * @returns {!number} - */ -LongPrototype.ctz = LongPrototype.countTrailingZeros; - -/** - * Returns the bitwise AND of this Long and the specified. - * @this {!Long} - * @param {!Long|number|string} other Other Long - * @returns {!Long} - */ -LongPrototype.and = function and(other) { - if (!isLong(other)) - other = fromValue(other); - return fromBits(this.low & other.low, this.high & other.high, this.unsigned); -}; - -/** - * Returns the bitwise OR of this Long and the specified. - * @this {!Long} - * @param {!Long|number|string} other Other Long - * @returns {!Long} - */ -LongPrototype.or = function or(other) { - if (!isLong(other)) - other = fromValue(other); - return fromBits(this.low | other.low, this.high | other.high, this.unsigned); -}; - -/** - * Returns the bitwise XOR of this Long and the given one. - * @this {!Long} - * @param {!Long|number|string} other Other Long - * @returns {!Long} - */ -LongPrototype.xor = function xor(other) { - if (!isLong(other)) - other = fromValue(other); - return fromBits(this.low ^ other.low, this.high ^ other.high, this.unsigned); -}; - -/** - * Returns this Long with bits shifted to the left by the given amount. - * @this {!Long} - * @param {number|!Long} numBits Number of bits - * @returns {!Long} Shifted Long - */ -LongPrototype.shiftLeft = function shiftLeft(numBits) { - if (isLong(numBits)) - numBits = numBits.toInt(); - if ((numBits &= 63) === 0) - return this; - else if (numBits < 32) - return fromBits(this.low << numBits, (this.high << numBits) | (this.low >>> (32 - numBits)), this.unsigned); - else - return fromBits(0, this.low << (numBits - 32), this.unsigned); -}; - -/** - * Returns this Long with bits shifted to the left by the given amount. This is an alias of {@link Long#shiftLeft}. - * @function - * @param {number|!Long} numBits Number of bits - * @returns {!Long} Shifted Long - */ -LongPrototype.shl = LongPrototype.shiftLeft; - -/** - * Returns this Long with bits arithmetically shifted to the right by the given amount. - * @this {!Long} - * @param {number|!Long} numBits Number of bits - * @returns {!Long} Shifted Long - */ -LongPrototype.shiftRight = function shiftRight(numBits) { - if (isLong(numBits)) - numBits = numBits.toInt(); - if ((numBits &= 63) === 0) - return this; - else if (numBits < 32) - return fromBits((this.low >>> numBits) | (this.high << (32 - numBits)), this.high >> numBits, this.unsigned); - else - return fromBits(this.high >> (numBits - 32), this.high >= 0 ? 0 : -1, this.unsigned); -}; - -/** - * Returns this Long with bits arithmetically shifted to the right by the given amount. This is an alias of {@link Long#shiftRight}. - * @function - * @param {number|!Long} numBits Number of bits - * @returns {!Long} Shifted Long - */ -LongPrototype.shr = LongPrototype.shiftRight; - -/** - * Returns this Long with bits logically shifted to the right by the given amount. - * @this {!Long} - * @param {number|!Long} numBits Number of bits - * @returns {!Long} Shifted Long - */ -LongPrototype.shiftRightUnsigned = function shiftRightUnsigned(numBits) { - if (isLong(numBits)) numBits = numBits.toInt(); - if ((numBits &= 63) === 0) return this; - if (numBits < 32) return fromBits((this.low >>> numBits) | (this.high << (32 - numBits)), this.high >>> numBits, this.unsigned); - if (numBits === 32) return fromBits(this.high, 0, this.unsigned); - return fromBits(this.high >>> (numBits - 32), 0, this.unsigned); -}; - -/** - * Returns this Long with bits logically shifted to the right by the given amount. This is an alias of {@link Long#shiftRightUnsigned}. - * @function - * @param {number|!Long} numBits Number of bits - * @returns {!Long} Shifted Long - */ -LongPrototype.shru = LongPrototype.shiftRightUnsigned; - -/** - * Returns this Long with bits logically shifted to the right by the given amount. This is an alias of {@link Long#shiftRightUnsigned}. - * @function - * @param {number|!Long} numBits Number of bits - * @returns {!Long} Shifted Long - */ -LongPrototype.shr_u = LongPrototype.shiftRightUnsigned; - -/** - * Returns this Long with bits rotated to the left by the given amount. - * @this {!Long} - * @param {number|!Long} numBits Number of bits - * @returns {!Long} Rotated Long - */ -LongPrototype.rotateLeft = function rotateLeft(numBits) { - var b; - if (isLong(numBits)) numBits = numBits.toInt(); - if ((numBits &= 63) === 0) return this; - if (numBits === 32) return fromBits(this.high, this.low, this.unsigned); - if (numBits < 32) { - b = (32 - numBits); - return fromBits(((this.low << numBits) | (this.high >>> b)), ((this.high << numBits) | (this.low >>> b)), this.unsigned); - } - numBits -= 32; - b = (32 - numBits); - return fromBits(((this.high << numBits) | (this.low >>> b)), ((this.low << numBits) | (this.high >>> b)), this.unsigned); -} -/** - * Returns this Long with bits rotated to the left by the given amount. This is an alias of {@link Long#rotateLeft}. - * @function - * @param {number|!Long} numBits Number of bits - * @returns {!Long} Rotated Long - */ -LongPrototype.rotl = LongPrototype.rotateLeft; - -/** - * Returns this Long with bits rotated to the right by the given amount. - * @this {!Long} - * @param {number|!Long} numBits Number of bits - * @returns {!Long} Rotated Long - */ -LongPrototype.rotateRight = function rotateRight(numBits) { - var b; - if (isLong(numBits)) numBits = numBits.toInt(); - if ((numBits &= 63) === 0) return this; - if (numBits === 32) return fromBits(this.high, this.low, this.unsigned); - if (numBits < 32) { - b = (32 - numBits); - return fromBits(((this.high << b) | (this.low >>> numBits)), ((this.low << b) | (this.high >>> numBits)), this.unsigned); - } - numBits -= 32; - b = (32 - numBits); - return fromBits(((this.low << b) | (this.high >>> numBits)), ((this.high << b) | (this.low >>> numBits)), this.unsigned); -} -/** - * Returns this Long with bits rotated to the right by the given amount. This is an alias of {@link Long#rotateRight}. - * @function - * @param {number|!Long} numBits Number of bits - * @returns {!Long} Rotated Long - */ -LongPrototype.rotr = LongPrototype.rotateRight; - -/** - * Converts this Long to signed. - * @this {!Long} - * @returns {!Long} Signed long - */ -LongPrototype.toSigned = function toSigned() { - if (!this.unsigned) - return this; - return fromBits(this.low, this.high, false); -}; - -/** - * Converts this Long to unsigned. - * @this {!Long} - * @returns {!Long} Unsigned long - */ -LongPrototype.toUnsigned = function toUnsigned() { - if (this.unsigned) - return this; - return fromBits(this.low, this.high, true); -}; - -/** - * Converts this Long to its byte representation. - * @param {boolean=} le Whether little or big endian, defaults to big endian - * @this {!Long} - * @returns {!Array.} Byte representation - */ -LongPrototype.toBytes = function toBytes(le) { - return le ? this.toBytesLE() : this.toBytesBE(); -}; - -/** - * Converts this Long to its little endian byte representation. - * @this {!Long} - * @returns {!Array.} Little endian byte representation - */ -LongPrototype.toBytesLE = function toBytesLE() { - var hi = this.high, - lo = this.low; - return [ - lo & 0xff, - lo >>> 8 & 0xff, - lo >>> 16 & 0xff, - lo >>> 24, - hi & 0xff, - hi >>> 8 & 0xff, - hi >>> 16 & 0xff, - hi >>> 24 - ]; -}; - -/** - * Converts this Long to its big endian byte representation. - * @this {!Long} - * @returns {!Array.} Big endian byte representation - */ -LongPrototype.toBytesBE = function toBytesBE() { - var hi = this.high, - lo = this.low; - return [ - hi >>> 24, - hi >>> 16 & 0xff, - hi >>> 8 & 0xff, - hi & 0xff, - lo >>> 24, - lo >>> 16 & 0xff, - lo >>> 8 & 0xff, - lo & 0xff - ]; -}; - -/** - * Creates a Long from its byte representation. - * @param {!Array.} bytes Byte representation - * @param {boolean=} unsigned Whether unsigned or not, defaults to signed - * @param {boolean=} le Whether little or big endian, defaults to big endian - * @returns {Long} The corresponding Long value - */ -Long.fromBytes = function fromBytes(bytes, unsigned, le) { - return le ? Long.fromBytesLE(bytes, unsigned) : Long.fromBytesBE(bytes, unsigned); -}; - -/** - * Creates a Long from its little endian byte representation. - * @param {!Array.} bytes Little endian byte representation - * @param {boolean=} unsigned Whether unsigned or not, defaults to signed - * @returns {Long} The corresponding Long value - */ -Long.fromBytesLE = function fromBytesLE(bytes, unsigned) { - return new Long( - bytes[0] | - bytes[1] << 8 | - bytes[2] << 16 | - bytes[3] << 24, - bytes[4] | - bytes[5] << 8 | - bytes[6] << 16 | - bytes[7] << 24, - unsigned - ); -}; - -/** - * Creates a Long from its big endian byte representation. - * @param {!Array.} bytes Big endian byte representation - * @param {boolean=} unsigned Whether unsigned or not, defaults to signed - * @returns {Long} The corresponding Long value - */ -Long.fromBytesBE = function fromBytesBE(bytes, unsigned) { - return new Long( - bytes[4] << 24 | - bytes[5] << 16 | - bytes[6] << 8 | - bytes[7], - bytes[0] << 24 | - bytes[1] << 16 | - bytes[2] << 8 | - bytes[3], - unsigned - ); -}; - -export default Long; diff --git a/platforms/Arduino/node_modules/long/package.json b/platforms/Arduino/node_modules/long/package.json deleted file mode 100644 index 3a063620..00000000 --- a/platforms/Arduino/node_modules/long/package.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "name": "long", - "version": "5.2.3", - "author": "Daniel Wirtz ", - "description": "A Long class for representing a 64-bit two's-complement integer value.", - "repository": { - "type": "git", - "url": "https://github.com/dcodeIO/long.js.git" - }, - "bugs": { - "url": "https://github.com/dcodeIO/long.js/issues" - }, - "keywords": [ - "math", - "long", - "int64" - ], - "license": "Apache-2.0", - "type": "module", - "main": "umd/index.js", - "types": "umd/index.d.ts", - "exports": { - ".": { - "import": { - "types": "./index.d.ts", - "default": "./index.js" - }, - "require": { - "types": "./umd/index.d.ts", - "default": "./umd/index.js" - } - } - }, - "scripts": { - "build": "esm2umd Long index.js > umd/index.js", - "test": "node tests" - }, - "files": [ - "index.js", - "index.d.ts", - "umd/index.js", - "umd/index.d.ts", - "umd/package.json", - "LICENSE", - "README.md" - ], - "devDependencies": { - "esm2umd": "^0.2.1" - } -} diff --git a/platforms/Arduino/node_modules/long/umd/index.d.ts b/platforms/Arduino/node_modules/long/umd/index.d.ts deleted file mode 100644 index c623535c..00000000 --- a/platforms/Arduino/node_modules/long/umd/index.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import Long from "../index.js"; -export = Long; diff --git a/platforms/Arduino/node_modules/long/umd/index.js b/platforms/Arduino/node_modules/long/umd/index.js deleted file mode 100644 index a6ccd9cc..00000000 --- a/platforms/Arduino/node_modules/long/umd/index.js +++ /dev/null @@ -1,1432 +0,0 @@ -// GENERATED FILE. DO NOT EDIT. -var Long = (function(exports) { - "use strict"; - - Object.defineProperty(exports, "__esModule", { - value: true - }); - exports.default = void 0; - - /** - * @license - * Copyright 2009 The Closure Library Authors - * Copyright 2020 Daniel Wirtz / The long.js Authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * SPDX-License-Identifier: Apache-2.0 - */ - // WebAssembly optimizations to do native i64 multiplication and divide - var wasm = null; - - try { - wasm = new WebAssembly.Instance(new WebAssembly.Module(new Uint8Array([0, 97, 115, 109, 1, 0, 0, 0, 1, 13, 2, 96, 0, 1, 127, 96, 4, 127, 127, 127, 127, 1, 127, 3, 7, 6, 0, 1, 1, 1, 1, 1, 6, 6, 1, 127, 1, 65, 0, 11, 7, 50, 6, 3, 109, 117, 108, 0, 1, 5, 100, 105, 118, 95, 115, 0, 2, 5, 100, 105, 118, 95, 117, 0, 3, 5, 114, 101, 109, 95, 115, 0, 4, 5, 114, 101, 109, 95, 117, 0, 5, 8, 103, 101, 116, 95, 104, 105, 103, 104, 0, 0, 10, 191, 1, 6, 4, 0, 35, 0, 11, 36, 1, 1, 126, 32, 0, 173, 32, 1, 173, 66, 32, 134, 132, 32, 2, 173, 32, 3, 173, 66, 32, 134, 132, 126, 34, 4, 66, 32, 135, 167, 36, 0, 32, 4, 167, 11, 36, 1, 1, 126, 32, 0, 173, 32, 1, 173, 66, 32, 134, 132, 32, 2, 173, 32, 3, 173, 66, 32, 134, 132, 127, 34, 4, 66, 32, 135, 167, 36, 0, 32, 4, 167, 11, 36, 1, 1, 126, 32, 0, 173, 32, 1, 173, 66, 32, 134, 132, 32, 2, 173, 32, 3, 173, 66, 32, 134, 132, 128, 34, 4, 66, 32, 135, 167, 36, 0, 32, 4, 167, 11, 36, 1, 1, 126, 32, 0, 173, 32, 1, 173, 66, 32, 134, 132, 32, 2, 173, 32, 3, 173, 66, 32, 134, 132, 129, 34, 4, 66, 32, 135, 167, 36, 0, 32, 4, 167, 11, 36, 1, 1, 126, 32, 0, 173, 32, 1, 173, 66, 32, 134, 132, 32, 2, 173, 32, 3, 173, 66, 32, 134, 132, 130, 34, 4, 66, 32, 135, 167, 36, 0, 32, 4, 167, 11])), {}).exports; - } catch (e) {// no wasm support :( - } - /** - * Constructs a 64 bit two's-complement integer, given its low and high 32 bit values as *signed* integers. - * See the from* functions below for more convenient ways of constructing Longs. - * @exports Long - * @class A Long class for representing a 64 bit two's-complement integer value. - * @param {number} low The low (signed) 32 bits of the long - * @param {number} high The high (signed) 32 bits of the long - * @param {boolean=} unsigned Whether unsigned or not, defaults to signed - * @constructor - */ - - - function Long(low, high, unsigned) { - /** - * The low 32 bits as a signed value. - * @type {number} - */ - this.low = low | 0; - /** - * The high 32 bits as a signed value. - * @type {number} - */ - - this.high = high | 0; - /** - * Whether unsigned or not. - * @type {boolean} - */ - - this.unsigned = !!unsigned; - } // The internal representation of a long is the two given signed, 32-bit values. - // We use 32-bit pieces because these are the size of integers on which - // Javascript performs bit-operations. For operations like addition and - // multiplication, we split each number into 16 bit pieces, which can easily be - // multiplied within Javascript's floating-point representation without overflow - // or change in sign. - // - // In the algorithms below, we frequently reduce the negative case to the - // positive case by negating the input(s) and then post-processing the result. - // Note that we must ALWAYS check specially whether those values are MIN_VALUE - // (-2^63) because -MIN_VALUE == MIN_VALUE (since 2^63 cannot be represented as - // a positive number, it overflows back into a negative). Not handling this - // case would often result in infinite recursion. - // - // Common constant values ZERO, ONE, NEG_ONE, etc. are defined below the from* - // methods on which they depend. - - /** - * An indicator used to reliably determine if an object is a Long or not. - * @type {boolean} - * @const - * @private - */ - - - Long.prototype.__isLong__; - Object.defineProperty(Long.prototype, "__isLong__", { - value: true - }); - /** - * @function - * @param {*} obj Object - * @returns {boolean} - * @inner - */ - - function isLong(obj) { - return (obj && obj["__isLong__"]) === true; - } - /** - * @function - * @param {*} value number - * @returns {number} - * @inner - */ - - - function ctz32(value) { - var c = Math.clz32(value & -value); - return value ? 31 - c : c; - } - /** - * Tests if the specified object is a Long. - * @function - * @param {*} obj Object - * @returns {boolean} - */ - - - Long.isLong = isLong; - /** - * A cache of the Long representations of small integer values. - * @type {!Object} - * @inner - */ - - var INT_CACHE = {}; - /** - * A cache of the Long representations of small unsigned integer values. - * @type {!Object} - * @inner - */ - - var UINT_CACHE = {}; - /** - * @param {number} value - * @param {boolean=} unsigned - * @returns {!Long} - * @inner - */ - - function fromInt(value, unsigned) { - var obj, cachedObj, cache; - - if (unsigned) { - value >>>= 0; - - if (cache = 0 <= value && value < 256) { - cachedObj = UINT_CACHE[value]; - if (cachedObj) return cachedObj; - } - - obj = fromBits(value, 0, true); - if (cache) UINT_CACHE[value] = obj; - return obj; - } else { - value |= 0; - - if (cache = -128 <= value && value < 128) { - cachedObj = INT_CACHE[value]; - if (cachedObj) return cachedObj; - } - - obj = fromBits(value, value < 0 ? -1 : 0, false); - if (cache) INT_CACHE[value] = obj; - return obj; - } - } - /** - * Returns a Long representing the given 32 bit integer value. - * @function - * @param {number} value The 32 bit integer in question - * @param {boolean=} unsigned Whether unsigned or not, defaults to signed - * @returns {!Long} The corresponding Long value - */ - - - Long.fromInt = fromInt; - /** - * @param {number} value - * @param {boolean=} unsigned - * @returns {!Long} - * @inner - */ - - function fromNumber(value, unsigned) { - if (isNaN(value)) return unsigned ? UZERO : ZERO; - - if (unsigned) { - if (value < 0) return UZERO; - if (value >= TWO_PWR_64_DBL) return MAX_UNSIGNED_VALUE; - } else { - if (value <= -TWO_PWR_63_DBL) return MIN_VALUE; - if (value + 1 >= TWO_PWR_63_DBL) return MAX_VALUE; - } - - if (value < 0) return fromNumber(-value, unsigned).neg(); - return fromBits(value % TWO_PWR_32_DBL | 0, value / TWO_PWR_32_DBL | 0, unsigned); - } - /** - * Returns a Long representing the given value, provided that it is a finite number. Otherwise, zero is returned. - * @function - * @param {number} value The number in question - * @param {boolean=} unsigned Whether unsigned or not, defaults to signed - * @returns {!Long} The corresponding Long value - */ - - - Long.fromNumber = fromNumber; - /** - * @param {number} lowBits - * @param {number} highBits - * @param {boolean=} unsigned - * @returns {!Long} - * @inner - */ - - function fromBits(lowBits, highBits, unsigned) { - return new Long(lowBits, highBits, unsigned); - } - /** - * Returns a Long representing the 64 bit integer that comes by concatenating the given low and high bits. Each is - * assumed to use 32 bits. - * @function - * @param {number} lowBits The low 32 bits - * @param {number} highBits The high 32 bits - * @param {boolean=} unsigned Whether unsigned or not, defaults to signed - * @returns {!Long} The corresponding Long value - */ - - - Long.fromBits = fromBits; - /** - * @function - * @param {number} base - * @param {number} exponent - * @returns {number} - * @inner - */ - - var pow_dbl = Math.pow; // Used 4 times (4*8 to 15+4) - - /** - * @param {string} str - * @param {(boolean|number)=} unsigned - * @param {number=} radix - * @returns {!Long} - * @inner - */ - - function fromString(str, unsigned, radix) { - if (str.length === 0) throw Error('empty string'); - - if (typeof unsigned === 'number') { - // For goog.math.long compatibility - radix = unsigned; - unsigned = false; - } else { - unsigned = !!unsigned; - } - - if (str === "NaN" || str === "Infinity" || str === "+Infinity" || str === "-Infinity") return unsigned ? UZERO : ZERO; - radix = radix || 10; - if (radix < 2 || 36 < radix) throw RangeError('radix'); - var p; - if ((p = str.indexOf('-')) > 0) throw Error('interior hyphen');else if (p === 0) { - return fromString(str.substring(1), unsigned, radix).neg(); - } // Do several (8) digits each time through the loop, so as to - // minimize the calls to the very expensive emulated div. - - var radixToPower = fromNumber(pow_dbl(radix, 8)); - var result = ZERO; - - for (var i = 0; i < str.length; i += 8) { - var size = Math.min(8, str.length - i), - value = parseInt(str.substring(i, i + size), radix); - - if (size < 8) { - var power = fromNumber(pow_dbl(radix, size)); - result = result.mul(power).add(fromNumber(value)); - } else { - result = result.mul(radixToPower); - result = result.add(fromNumber(value)); - } - } - - result.unsigned = unsigned; - return result; - } - /** - * Returns a Long representation of the given string, written using the specified radix. - * @function - * @param {string} str The textual representation of the Long - * @param {(boolean|number)=} unsigned Whether unsigned or not, defaults to signed - * @param {number=} radix The radix in which the text is written (2-36), defaults to 10 - * @returns {!Long} The corresponding Long value - */ - - - Long.fromString = fromString; - /** - * @function - * @param {!Long|number|string|!{low: number, high: number, unsigned: boolean}} val - * @param {boolean=} unsigned - * @returns {!Long} - * @inner - */ - - function fromValue(val, unsigned) { - if (typeof val === 'number') return fromNumber(val, unsigned); - if (typeof val === 'string') return fromString(val, unsigned); // Throws for non-objects, converts non-instanceof Long: - - return fromBits(val.low, val.high, typeof unsigned === 'boolean' ? unsigned : val.unsigned); - } - /** - * Converts the specified value to a Long using the appropriate from* function for its type. - * @function - * @param {!Long|number|string|!{low: number, high: number, unsigned: boolean}} val Value - * @param {boolean=} unsigned Whether unsigned or not, defaults to signed - * @returns {!Long} - */ - - - Long.fromValue = fromValue; // NOTE: the compiler should inline these constant values below and then remove these variables, so there should be - // no runtime penalty for these. - - /** - * @type {number} - * @const - * @inner - */ - - var TWO_PWR_16_DBL = 1 << 16; - /** - * @type {number} - * @const - * @inner - */ - - var TWO_PWR_24_DBL = 1 << 24; - /** - * @type {number} - * @const - * @inner - */ - - var TWO_PWR_32_DBL = TWO_PWR_16_DBL * TWO_PWR_16_DBL; - /** - * @type {number} - * @const - * @inner - */ - - var TWO_PWR_64_DBL = TWO_PWR_32_DBL * TWO_PWR_32_DBL; - /** - * @type {number} - * @const - * @inner - */ - - var TWO_PWR_63_DBL = TWO_PWR_64_DBL / 2; - /** - * @type {!Long} - * @const - * @inner - */ - - var TWO_PWR_24 = fromInt(TWO_PWR_24_DBL); - /** - * @type {!Long} - * @inner - */ - - var ZERO = fromInt(0); - /** - * Signed zero. - * @type {!Long} - */ - - Long.ZERO = ZERO; - /** - * @type {!Long} - * @inner - */ - - var UZERO = fromInt(0, true); - /** - * Unsigned zero. - * @type {!Long} - */ - - Long.UZERO = UZERO; - /** - * @type {!Long} - * @inner - */ - - var ONE = fromInt(1); - /** - * Signed one. - * @type {!Long} - */ - - Long.ONE = ONE; - /** - * @type {!Long} - * @inner - */ - - var UONE = fromInt(1, true); - /** - * Unsigned one. - * @type {!Long} - */ - - Long.UONE = UONE; - /** - * @type {!Long} - * @inner - */ - - var NEG_ONE = fromInt(-1); - /** - * Signed negative one. - * @type {!Long} - */ - - Long.NEG_ONE = NEG_ONE; - /** - * @type {!Long} - * @inner - */ - - var MAX_VALUE = fromBits(0xFFFFFFFF | 0, 0x7FFFFFFF | 0, false); - /** - * Maximum signed value. - * @type {!Long} - */ - - Long.MAX_VALUE = MAX_VALUE; - /** - * @type {!Long} - * @inner - */ - - var MAX_UNSIGNED_VALUE = fromBits(0xFFFFFFFF | 0, 0xFFFFFFFF | 0, true); - /** - * Maximum unsigned value. - * @type {!Long} - */ - - Long.MAX_UNSIGNED_VALUE = MAX_UNSIGNED_VALUE; - /** - * @type {!Long} - * @inner - */ - - var MIN_VALUE = fromBits(0, 0x80000000 | 0, false); - /** - * Minimum signed value. - * @type {!Long} - */ - - Long.MIN_VALUE = MIN_VALUE; - /** - * @alias Long.prototype - * @inner - */ - - var LongPrototype = Long.prototype; - /** - * Converts the Long to a 32 bit integer, assuming it is a 32 bit integer. - * @this {!Long} - * @returns {number} - */ - - LongPrototype.toInt = function toInt() { - return this.unsigned ? this.low >>> 0 : this.low; - }; - /** - * Converts the Long to a the nearest floating-point representation of this value (double, 53 bit mantissa). - * @this {!Long} - * @returns {number} - */ - - - LongPrototype.toNumber = function toNumber() { - if (this.unsigned) return (this.high >>> 0) * TWO_PWR_32_DBL + (this.low >>> 0); - return this.high * TWO_PWR_32_DBL + (this.low >>> 0); - }; - /** - * Converts the Long to a string written in the specified radix. - * @this {!Long} - * @param {number=} radix Radix (2-36), defaults to 10 - * @returns {string} - * @override - * @throws {RangeError} If `radix` is out of range - */ - - - LongPrototype.toString = function toString(radix) { - radix = radix || 10; - if (radix < 2 || 36 < radix) throw RangeError('radix'); - if (this.isZero()) return '0'; - - if (this.isNegative()) { - // Unsigned Longs are never negative - if (this.eq(MIN_VALUE)) { - // We need to change the Long value before it can be negated, so we remove - // the bottom-most digit in this base and then recurse to do the rest. - var radixLong = fromNumber(radix), - div = this.div(radixLong), - rem1 = div.mul(radixLong).sub(this); - return div.toString(radix) + rem1.toInt().toString(radix); - } else return '-' + this.neg().toString(radix); - } // Do several (6) digits each time through the loop, so as to - // minimize the calls to the very expensive emulated div. - - - var radixToPower = fromNumber(pow_dbl(radix, 6), this.unsigned), - rem = this; - var result = ''; - - while (true) { - var remDiv = rem.div(radixToPower), - intval = rem.sub(remDiv.mul(radixToPower)).toInt() >>> 0, - digits = intval.toString(radix); - rem = remDiv; - if (rem.isZero()) return digits + result;else { - while (digits.length < 6) digits = '0' + digits; - - result = '' + digits + result; - } - } - }; - /** - * Gets the high 32 bits as a signed integer. - * @this {!Long} - * @returns {number} Signed high bits - */ - - - LongPrototype.getHighBits = function getHighBits() { - return this.high; - }; - /** - * Gets the high 32 bits as an unsigned integer. - * @this {!Long} - * @returns {number} Unsigned high bits - */ - - - LongPrototype.getHighBitsUnsigned = function getHighBitsUnsigned() { - return this.high >>> 0; - }; - /** - * Gets the low 32 bits as a signed integer. - * @this {!Long} - * @returns {number} Signed low bits - */ - - - LongPrototype.getLowBits = function getLowBits() { - return this.low; - }; - /** - * Gets the low 32 bits as an unsigned integer. - * @this {!Long} - * @returns {number} Unsigned low bits - */ - - - LongPrototype.getLowBitsUnsigned = function getLowBitsUnsigned() { - return this.low >>> 0; - }; - /** - * Gets the number of bits needed to represent the absolute value of this Long. - * @this {!Long} - * @returns {number} - */ - - - LongPrototype.getNumBitsAbs = function getNumBitsAbs() { - if (this.isNegative()) // Unsigned Longs are never negative - return this.eq(MIN_VALUE) ? 64 : this.neg().getNumBitsAbs(); - var val = this.high != 0 ? this.high : this.low; - - for (var bit = 31; bit > 0; bit--) if ((val & 1 << bit) != 0) break; - - return this.high != 0 ? bit + 33 : bit + 1; - }; - /** - * Tests if this Long's value equals zero. - * @this {!Long} - * @returns {boolean} - */ - - - LongPrototype.isZero = function isZero() { - return this.high === 0 && this.low === 0; - }; - /** - * Tests if this Long's value equals zero. This is an alias of {@link Long#isZero}. - * @returns {boolean} - */ - - - LongPrototype.eqz = LongPrototype.isZero; - /** - * Tests if this Long's value is negative. - * @this {!Long} - * @returns {boolean} - */ - - LongPrototype.isNegative = function isNegative() { - return !this.unsigned && this.high < 0; - }; - /** - * Tests if this Long's value is positive or zero. - * @this {!Long} - * @returns {boolean} - */ - - - LongPrototype.isPositive = function isPositive() { - return this.unsigned || this.high >= 0; - }; - /** - * Tests if this Long's value is odd. - * @this {!Long} - * @returns {boolean} - */ - - - LongPrototype.isOdd = function isOdd() { - return (this.low & 1) === 1; - }; - /** - * Tests if this Long's value is even. - * @this {!Long} - * @returns {boolean} - */ - - - LongPrototype.isEven = function isEven() { - return (this.low & 1) === 0; - }; - /** - * Tests if this Long's value equals the specified's. - * @this {!Long} - * @param {!Long|number|string} other Other value - * @returns {boolean} - */ - - - LongPrototype.equals = function equals(other) { - if (!isLong(other)) other = fromValue(other); - if (this.unsigned !== other.unsigned && this.high >>> 31 === 1 && other.high >>> 31 === 1) return false; - return this.high === other.high && this.low === other.low; - }; - /** - * Tests if this Long's value equals the specified's. This is an alias of {@link Long#equals}. - * @function - * @param {!Long|number|string} other Other value - * @returns {boolean} - */ - - - LongPrototype.eq = LongPrototype.equals; - /** - * Tests if this Long's value differs from the specified's. - * @this {!Long} - * @param {!Long|number|string} other Other value - * @returns {boolean} - */ - - LongPrototype.notEquals = function notEquals(other) { - return !this.eq( - /* validates */ - other); - }; - /** - * Tests if this Long's value differs from the specified's. This is an alias of {@link Long#notEquals}. - * @function - * @param {!Long|number|string} other Other value - * @returns {boolean} - */ - - - LongPrototype.neq = LongPrototype.notEquals; - /** - * Tests if this Long's value differs from the specified's. This is an alias of {@link Long#notEquals}. - * @function - * @param {!Long|number|string} other Other value - * @returns {boolean} - */ - - LongPrototype.ne = LongPrototype.notEquals; - /** - * Tests if this Long's value is less than the specified's. - * @this {!Long} - * @param {!Long|number|string} other Other value - * @returns {boolean} - */ - - LongPrototype.lessThan = function lessThan(other) { - return this.comp( - /* validates */ - other) < 0; - }; - /** - * Tests if this Long's value is less than the specified's. This is an alias of {@link Long#lessThan}. - * @function - * @param {!Long|number|string} other Other value - * @returns {boolean} - */ - - - LongPrototype.lt = LongPrototype.lessThan; - /** - * Tests if this Long's value is less than or equal the specified's. - * @this {!Long} - * @param {!Long|number|string} other Other value - * @returns {boolean} - */ - - LongPrototype.lessThanOrEqual = function lessThanOrEqual(other) { - return this.comp( - /* validates */ - other) <= 0; - }; - /** - * Tests if this Long's value is less than or equal the specified's. This is an alias of {@link Long#lessThanOrEqual}. - * @function - * @param {!Long|number|string} other Other value - * @returns {boolean} - */ - - - LongPrototype.lte = LongPrototype.lessThanOrEqual; - /** - * Tests if this Long's value is less than or equal the specified's. This is an alias of {@link Long#lessThanOrEqual}. - * @function - * @param {!Long|number|string} other Other value - * @returns {boolean} - */ - - LongPrototype.le = LongPrototype.lessThanOrEqual; - /** - * Tests if this Long's value is greater than the specified's. - * @this {!Long} - * @param {!Long|number|string} other Other value - * @returns {boolean} - */ - - LongPrototype.greaterThan = function greaterThan(other) { - return this.comp( - /* validates */ - other) > 0; - }; - /** - * Tests if this Long's value is greater than the specified's. This is an alias of {@link Long#greaterThan}. - * @function - * @param {!Long|number|string} other Other value - * @returns {boolean} - */ - - - LongPrototype.gt = LongPrototype.greaterThan; - /** - * Tests if this Long's value is greater than or equal the specified's. - * @this {!Long} - * @param {!Long|number|string} other Other value - * @returns {boolean} - */ - - LongPrototype.greaterThanOrEqual = function greaterThanOrEqual(other) { - return this.comp( - /* validates */ - other) >= 0; - }; - /** - * Tests if this Long's value is greater than or equal the specified's. This is an alias of {@link Long#greaterThanOrEqual}. - * @function - * @param {!Long|number|string} other Other value - * @returns {boolean} - */ - - - LongPrototype.gte = LongPrototype.greaterThanOrEqual; - /** - * Tests if this Long's value is greater than or equal the specified's. This is an alias of {@link Long#greaterThanOrEqual}. - * @function - * @param {!Long|number|string} other Other value - * @returns {boolean} - */ - - LongPrototype.ge = LongPrototype.greaterThanOrEqual; - /** - * Compares this Long's value with the specified's. - * @this {!Long} - * @param {!Long|number|string} other Other value - * @returns {number} 0 if they are the same, 1 if the this is greater and -1 - * if the given one is greater - */ - - LongPrototype.compare = function compare(other) { - if (!isLong(other)) other = fromValue(other); - if (this.eq(other)) return 0; - var thisNeg = this.isNegative(), - otherNeg = other.isNegative(); - if (thisNeg && !otherNeg) return -1; - if (!thisNeg && otherNeg) return 1; // At this point the sign bits are the same - - if (!this.unsigned) return this.sub(other).isNegative() ? -1 : 1; // Both are positive if at least one is unsigned - - return other.high >>> 0 > this.high >>> 0 || other.high === this.high && other.low >>> 0 > this.low >>> 0 ? -1 : 1; - }; - /** - * Compares this Long's value with the specified's. This is an alias of {@link Long#compare}. - * @function - * @param {!Long|number|string} other Other value - * @returns {number} 0 if they are the same, 1 if the this is greater and -1 - * if the given one is greater - */ - - - LongPrototype.comp = LongPrototype.compare; - /** - * Negates this Long's value. - * @this {!Long} - * @returns {!Long} Negated Long - */ - - LongPrototype.negate = function negate() { - if (!this.unsigned && this.eq(MIN_VALUE)) return MIN_VALUE; - return this.not().add(ONE); - }; - /** - * Negates this Long's value. This is an alias of {@link Long#negate}. - * @function - * @returns {!Long} Negated Long - */ - - - LongPrototype.neg = LongPrototype.negate; - /** - * Returns the sum of this and the specified Long. - * @this {!Long} - * @param {!Long|number|string} addend Addend - * @returns {!Long} Sum - */ - - LongPrototype.add = function add(addend) { - if (!isLong(addend)) addend = fromValue(addend); // Divide each number into 4 chunks of 16 bits, and then sum the chunks. - - var a48 = this.high >>> 16; - var a32 = this.high & 0xFFFF; - var a16 = this.low >>> 16; - var a00 = this.low & 0xFFFF; - var b48 = addend.high >>> 16; - var b32 = addend.high & 0xFFFF; - var b16 = addend.low >>> 16; - var b00 = addend.low & 0xFFFF; - var c48 = 0, - c32 = 0, - c16 = 0, - c00 = 0; - c00 += a00 + b00; - c16 += c00 >>> 16; - c00 &= 0xFFFF; - c16 += a16 + b16; - c32 += c16 >>> 16; - c16 &= 0xFFFF; - c32 += a32 + b32; - c48 += c32 >>> 16; - c32 &= 0xFFFF; - c48 += a48 + b48; - c48 &= 0xFFFF; - return fromBits(c16 << 16 | c00, c48 << 16 | c32, this.unsigned); - }; - /** - * Returns the difference of this and the specified Long. - * @this {!Long} - * @param {!Long|number|string} subtrahend Subtrahend - * @returns {!Long} Difference - */ - - - LongPrototype.subtract = function subtract(subtrahend) { - if (!isLong(subtrahend)) subtrahend = fromValue(subtrahend); - return this.add(subtrahend.neg()); - }; - /** - * Returns the difference of this and the specified Long. This is an alias of {@link Long#subtract}. - * @function - * @param {!Long|number|string} subtrahend Subtrahend - * @returns {!Long} Difference - */ - - - LongPrototype.sub = LongPrototype.subtract; - /** - * Returns the product of this and the specified Long. - * @this {!Long} - * @param {!Long|number|string} multiplier Multiplier - * @returns {!Long} Product - */ - - LongPrototype.multiply = function multiply(multiplier) { - if (this.isZero()) return this; - if (!isLong(multiplier)) multiplier = fromValue(multiplier); // use wasm support if present - - if (wasm) { - var low = wasm["mul"](this.low, this.high, multiplier.low, multiplier.high); - return fromBits(low, wasm["get_high"](), this.unsigned); - } - - if (multiplier.isZero()) return this.unsigned ? UZERO : ZERO; - if (this.eq(MIN_VALUE)) return multiplier.isOdd() ? MIN_VALUE : ZERO; - if (multiplier.eq(MIN_VALUE)) return this.isOdd() ? MIN_VALUE : ZERO; - - if (this.isNegative()) { - if (multiplier.isNegative()) return this.neg().mul(multiplier.neg());else return this.neg().mul(multiplier).neg(); - } else if (multiplier.isNegative()) return this.mul(multiplier.neg()).neg(); // If both longs are small, use float multiplication - - - if (this.lt(TWO_PWR_24) && multiplier.lt(TWO_PWR_24)) return fromNumber(this.toNumber() * multiplier.toNumber(), this.unsigned); // Divide each long into 4 chunks of 16 bits, and then add up 4x4 products. - // We can skip products that would overflow. - - var a48 = this.high >>> 16; - var a32 = this.high & 0xFFFF; - var a16 = this.low >>> 16; - var a00 = this.low & 0xFFFF; - var b48 = multiplier.high >>> 16; - var b32 = multiplier.high & 0xFFFF; - var b16 = multiplier.low >>> 16; - var b00 = multiplier.low & 0xFFFF; - var c48 = 0, - c32 = 0, - c16 = 0, - c00 = 0; - c00 += a00 * b00; - c16 += c00 >>> 16; - c00 &= 0xFFFF; - c16 += a16 * b00; - c32 += c16 >>> 16; - c16 &= 0xFFFF; - c16 += a00 * b16; - c32 += c16 >>> 16; - c16 &= 0xFFFF; - c32 += a32 * b00; - c48 += c32 >>> 16; - c32 &= 0xFFFF; - c32 += a16 * b16; - c48 += c32 >>> 16; - c32 &= 0xFFFF; - c32 += a00 * b32; - c48 += c32 >>> 16; - c32 &= 0xFFFF; - c48 += a48 * b00 + a32 * b16 + a16 * b32 + a00 * b48; - c48 &= 0xFFFF; - return fromBits(c16 << 16 | c00, c48 << 16 | c32, this.unsigned); - }; - /** - * Returns the product of this and the specified Long. This is an alias of {@link Long#multiply}. - * @function - * @param {!Long|number|string} multiplier Multiplier - * @returns {!Long} Product - */ - - - LongPrototype.mul = LongPrototype.multiply; - /** - * Returns this Long divided by the specified. The result is signed if this Long is signed or - * unsigned if this Long is unsigned. - * @this {!Long} - * @param {!Long|number|string} divisor Divisor - * @returns {!Long} Quotient - */ - - LongPrototype.divide = function divide(divisor) { - if (!isLong(divisor)) divisor = fromValue(divisor); - if (divisor.isZero()) throw Error('division by zero'); // use wasm support if present - - if (wasm) { - // guard against signed division overflow: the largest - // negative number / -1 would be 1 larger than the largest - // positive number, due to two's complement. - if (!this.unsigned && this.high === -0x80000000 && divisor.low === -1 && divisor.high === -1) { - // be consistent with non-wasm code path - return this; - } - - var low = (this.unsigned ? wasm["div_u"] : wasm["div_s"])(this.low, this.high, divisor.low, divisor.high); - return fromBits(low, wasm["get_high"](), this.unsigned); - } - - if (this.isZero()) return this.unsigned ? UZERO : ZERO; - var approx, rem, res; - - if (!this.unsigned) { - // This section is only relevant for signed longs and is derived from the - // closure library as a whole. - if (this.eq(MIN_VALUE)) { - if (divisor.eq(ONE) || divisor.eq(NEG_ONE)) return MIN_VALUE; // recall that -MIN_VALUE == MIN_VALUE - else if (divisor.eq(MIN_VALUE)) return ONE;else { - // At this point, we have |other| >= 2, so |this/other| < |MIN_VALUE|. - var halfThis = this.shr(1); - approx = halfThis.div(divisor).shl(1); - - if (approx.eq(ZERO)) { - return divisor.isNegative() ? ONE : NEG_ONE; - } else { - rem = this.sub(divisor.mul(approx)); - res = approx.add(rem.div(divisor)); - return res; - } - } - } else if (divisor.eq(MIN_VALUE)) return this.unsigned ? UZERO : ZERO; - - if (this.isNegative()) { - if (divisor.isNegative()) return this.neg().div(divisor.neg()); - return this.neg().div(divisor).neg(); - } else if (divisor.isNegative()) return this.div(divisor.neg()).neg(); - - res = ZERO; - } else { - // The algorithm below has not been made for unsigned longs. It's therefore - // required to take special care of the MSB prior to running it. - if (!divisor.unsigned) divisor = divisor.toUnsigned(); - if (divisor.gt(this)) return UZERO; - if (divisor.gt(this.shru(1))) // 15 >>> 1 = 7 ; with divisor = 8 ; true - return UONE; - res = UZERO; - } // Repeat the following until the remainder is less than other: find a - // floating-point that approximates remainder / other *from below*, add this - // into the result, and subtract it from the remainder. It is critical that - // the approximate value is less than or equal to the real value so that the - // remainder never becomes negative. - - - rem = this; - - while (rem.gte(divisor)) { - // Approximate the result of division. This may be a little greater or - // smaller than the actual value. - approx = Math.max(1, Math.floor(rem.toNumber() / divisor.toNumber())); // We will tweak the approximate result by changing it in the 48-th digit or - // the smallest non-fractional digit, whichever is larger. - - var log2 = Math.ceil(Math.log(approx) / Math.LN2), - delta = log2 <= 48 ? 1 : pow_dbl(2, log2 - 48), - // Decrease the approximation until it is smaller than the remainder. Note - // that if it is too large, the product overflows and is negative. - approxRes = fromNumber(approx), - approxRem = approxRes.mul(divisor); - - while (approxRem.isNegative() || approxRem.gt(rem)) { - approx -= delta; - approxRes = fromNumber(approx, this.unsigned); - approxRem = approxRes.mul(divisor); - } // We know the answer can't be zero... and actually, zero would cause - // infinite recursion since we would make no progress. - - - if (approxRes.isZero()) approxRes = ONE; - res = res.add(approxRes); - rem = rem.sub(approxRem); - } - - return res; - }; - /** - * Returns this Long divided by the specified. This is an alias of {@link Long#divide}. - * @function - * @param {!Long|number|string} divisor Divisor - * @returns {!Long} Quotient - */ - - - LongPrototype.div = LongPrototype.divide; - /** - * Returns this Long modulo the specified. - * @this {!Long} - * @param {!Long|number|string} divisor Divisor - * @returns {!Long} Remainder - */ - - LongPrototype.modulo = function modulo(divisor) { - if (!isLong(divisor)) divisor = fromValue(divisor); // use wasm support if present - - if (wasm) { - var low = (this.unsigned ? wasm["rem_u"] : wasm["rem_s"])(this.low, this.high, divisor.low, divisor.high); - return fromBits(low, wasm["get_high"](), this.unsigned); - } - - return this.sub(this.div(divisor).mul(divisor)); - }; - /** - * Returns this Long modulo the specified. This is an alias of {@link Long#modulo}. - * @function - * @param {!Long|number|string} divisor Divisor - * @returns {!Long} Remainder - */ - - - LongPrototype.mod = LongPrototype.modulo; - /** - * Returns this Long modulo the specified. This is an alias of {@link Long#modulo}. - * @function - * @param {!Long|number|string} divisor Divisor - * @returns {!Long} Remainder - */ - - LongPrototype.rem = LongPrototype.modulo; - /** - * Returns the bitwise NOT of this Long. - * @this {!Long} - * @returns {!Long} - */ - - LongPrototype.not = function not() { - return fromBits(~this.low, ~this.high, this.unsigned); - }; - /** - * Returns count leading zeros of this Long. - * @this {!Long} - * @returns {!number} - */ - - - LongPrototype.countLeadingZeros = function countLeadingZeros() { - return this.high ? Math.clz32(this.high) : Math.clz32(this.low) + 32; - }; - /** - * Returns count leading zeros. This is an alias of {@link Long#countLeadingZeros}. - * @function - * @param {!Long} - * @returns {!number} - */ - - - LongPrototype.clz = LongPrototype.countLeadingZeros; - /** - * Returns count trailing zeros of this Long. - * @this {!Long} - * @returns {!number} - */ - - LongPrototype.countTrailingZeros = function countTrailingZeros() { - return this.low ? ctz32(this.low) : ctz32(this.high) + 32; - }; - /** - * Returns count trailing zeros. This is an alias of {@link Long#countTrailingZeros}. - * @function - * @param {!Long} - * @returns {!number} - */ - - - LongPrototype.ctz = LongPrototype.countTrailingZeros; - /** - * Returns the bitwise AND of this Long and the specified. - * @this {!Long} - * @param {!Long|number|string} other Other Long - * @returns {!Long} - */ - - LongPrototype.and = function and(other) { - if (!isLong(other)) other = fromValue(other); - return fromBits(this.low & other.low, this.high & other.high, this.unsigned); - }; - /** - * Returns the bitwise OR of this Long and the specified. - * @this {!Long} - * @param {!Long|number|string} other Other Long - * @returns {!Long} - */ - - - LongPrototype.or = function or(other) { - if (!isLong(other)) other = fromValue(other); - return fromBits(this.low | other.low, this.high | other.high, this.unsigned); - }; - /** - * Returns the bitwise XOR of this Long and the given one. - * @this {!Long} - * @param {!Long|number|string} other Other Long - * @returns {!Long} - */ - - - LongPrototype.xor = function xor(other) { - if (!isLong(other)) other = fromValue(other); - return fromBits(this.low ^ other.low, this.high ^ other.high, this.unsigned); - }; - /** - * Returns this Long with bits shifted to the left by the given amount. - * @this {!Long} - * @param {number|!Long} numBits Number of bits - * @returns {!Long} Shifted Long - */ - - - LongPrototype.shiftLeft = function shiftLeft(numBits) { - if (isLong(numBits)) numBits = numBits.toInt(); - if ((numBits &= 63) === 0) return this;else if (numBits < 32) return fromBits(this.low << numBits, this.high << numBits | this.low >>> 32 - numBits, this.unsigned);else return fromBits(0, this.low << numBits - 32, this.unsigned); - }; - /** - * Returns this Long with bits shifted to the left by the given amount. This is an alias of {@link Long#shiftLeft}. - * @function - * @param {number|!Long} numBits Number of bits - * @returns {!Long} Shifted Long - */ - - - LongPrototype.shl = LongPrototype.shiftLeft; - /** - * Returns this Long with bits arithmetically shifted to the right by the given amount. - * @this {!Long} - * @param {number|!Long} numBits Number of bits - * @returns {!Long} Shifted Long - */ - - LongPrototype.shiftRight = function shiftRight(numBits) { - if (isLong(numBits)) numBits = numBits.toInt(); - if ((numBits &= 63) === 0) return this;else if (numBits < 32) return fromBits(this.low >>> numBits | this.high << 32 - numBits, this.high >> numBits, this.unsigned);else return fromBits(this.high >> numBits - 32, this.high >= 0 ? 0 : -1, this.unsigned); - }; - /** - * Returns this Long with bits arithmetically shifted to the right by the given amount. This is an alias of {@link Long#shiftRight}. - * @function - * @param {number|!Long} numBits Number of bits - * @returns {!Long} Shifted Long - */ - - - LongPrototype.shr = LongPrototype.shiftRight; - /** - * Returns this Long with bits logically shifted to the right by the given amount. - * @this {!Long} - * @param {number|!Long} numBits Number of bits - * @returns {!Long} Shifted Long - */ - - LongPrototype.shiftRightUnsigned = function shiftRightUnsigned(numBits) { - if (isLong(numBits)) numBits = numBits.toInt(); - if ((numBits &= 63) === 0) return this; - if (numBits < 32) return fromBits(this.low >>> numBits | this.high << 32 - numBits, this.high >>> numBits, this.unsigned); - if (numBits === 32) return fromBits(this.high, 0, this.unsigned); - return fromBits(this.high >>> numBits - 32, 0, this.unsigned); - }; - /** - * Returns this Long with bits logically shifted to the right by the given amount. This is an alias of {@link Long#shiftRightUnsigned}. - * @function - * @param {number|!Long} numBits Number of bits - * @returns {!Long} Shifted Long - */ - - - LongPrototype.shru = LongPrototype.shiftRightUnsigned; - /** - * Returns this Long with bits logically shifted to the right by the given amount. This is an alias of {@link Long#shiftRightUnsigned}. - * @function - * @param {number|!Long} numBits Number of bits - * @returns {!Long} Shifted Long - */ - - LongPrototype.shr_u = LongPrototype.shiftRightUnsigned; - /** - * Returns this Long with bits rotated to the left by the given amount. - * @this {!Long} - * @param {number|!Long} numBits Number of bits - * @returns {!Long} Rotated Long - */ - - LongPrototype.rotateLeft = function rotateLeft(numBits) { - var b; - if (isLong(numBits)) numBits = numBits.toInt(); - if ((numBits &= 63) === 0) return this; - if (numBits === 32) return fromBits(this.high, this.low, this.unsigned); - - if (numBits < 32) { - b = 32 - numBits; - return fromBits(this.low << numBits | this.high >>> b, this.high << numBits | this.low >>> b, this.unsigned); - } - - numBits -= 32; - b = 32 - numBits; - return fromBits(this.high << numBits | this.low >>> b, this.low << numBits | this.high >>> b, this.unsigned); - }; - /** - * Returns this Long with bits rotated to the left by the given amount. This is an alias of {@link Long#rotateLeft}. - * @function - * @param {number|!Long} numBits Number of bits - * @returns {!Long} Rotated Long - */ - - - LongPrototype.rotl = LongPrototype.rotateLeft; - /** - * Returns this Long with bits rotated to the right by the given amount. - * @this {!Long} - * @param {number|!Long} numBits Number of bits - * @returns {!Long} Rotated Long - */ - - LongPrototype.rotateRight = function rotateRight(numBits) { - var b; - if (isLong(numBits)) numBits = numBits.toInt(); - if ((numBits &= 63) === 0) return this; - if (numBits === 32) return fromBits(this.high, this.low, this.unsigned); - - if (numBits < 32) { - b = 32 - numBits; - return fromBits(this.high << b | this.low >>> numBits, this.low << b | this.high >>> numBits, this.unsigned); - } - - numBits -= 32; - b = 32 - numBits; - return fromBits(this.low << b | this.high >>> numBits, this.high << b | this.low >>> numBits, this.unsigned); - }; - /** - * Returns this Long with bits rotated to the right by the given amount. This is an alias of {@link Long#rotateRight}. - * @function - * @param {number|!Long} numBits Number of bits - * @returns {!Long} Rotated Long - */ - - - LongPrototype.rotr = LongPrototype.rotateRight; - /** - * Converts this Long to signed. - * @this {!Long} - * @returns {!Long} Signed long - */ - - LongPrototype.toSigned = function toSigned() { - if (!this.unsigned) return this; - return fromBits(this.low, this.high, false); - }; - /** - * Converts this Long to unsigned. - * @this {!Long} - * @returns {!Long} Unsigned long - */ - - - LongPrototype.toUnsigned = function toUnsigned() { - if (this.unsigned) return this; - return fromBits(this.low, this.high, true); - }; - /** - * Converts this Long to its byte representation. - * @param {boolean=} le Whether little or big endian, defaults to big endian - * @this {!Long} - * @returns {!Array.} Byte representation - */ - - - LongPrototype.toBytes = function toBytes(le) { - return le ? this.toBytesLE() : this.toBytesBE(); - }; - /** - * Converts this Long to its little endian byte representation. - * @this {!Long} - * @returns {!Array.} Little endian byte representation - */ - - - LongPrototype.toBytesLE = function toBytesLE() { - var hi = this.high, - lo = this.low; - return [lo & 0xff, lo >>> 8 & 0xff, lo >>> 16 & 0xff, lo >>> 24, hi & 0xff, hi >>> 8 & 0xff, hi >>> 16 & 0xff, hi >>> 24]; - }; - /** - * Converts this Long to its big endian byte representation. - * @this {!Long} - * @returns {!Array.} Big endian byte representation - */ - - - LongPrototype.toBytesBE = function toBytesBE() { - var hi = this.high, - lo = this.low; - return [hi >>> 24, hi >>> 16 & 0xff, hi >>> 8 & 0xff, hi & 0xff, lo >>> 24, lo >>> 16 & 0xff, lo >>> 8 & 0xff, lo & 0xff]; - }; - /** - * Creates a Long from its byte representation. - * @param {!Array.} bytes Byte representation - * @param {boolean=} unsigned Whether unsigned or not, defaults to signed - * @param {boolean=} le Whether little or big endian, defaults to big endian - * @returns {Long} The corresponding Long value - */ - - - Long.fromBytes = function fromBytes(bytes, unsigned, le) { - return le ? Long.fromBytesLE(bytes, unsigned) : Long.fromBytesBE(bytes, unsigned); - }; - /** - * Creates a Long from its little endian byte representation. - * @param {!Array.} bytes Little endian byte representation - * @param {boolean=} unsigned Whether unsigned or not, defaults to signed - * @returns {Long} The corresponding Long value - */ - - - Long.fromBytesLE = function fromBytesLE(bytes, unsigned) { - return new Long(bytes[0] | bytes[1] << 8 | bytes[2] << 16 | bytes[3] << 24, bytes[4] | bytes[5] << 8 | bytes[6] << 16 | bytes[7] << 24, unsigned); - }; - /** - * Creates a Long from its big endian byte representation. - * @param {!Array.} bytes Big endian byte representation - * @param {boolean=} unsigned Whether unsigned or not, defaults to signed - * @returns {Long} The corresponding Long value - */ - - - Long.fromBytesBE = function fromBytesBE(bytes, unsigned) { - return new Long(bytes[4] << 24 | bytes[5] << 16 | bytes[6] << 8 | bytes[7], bytes[0] << 24 | bytes[1] << 16 | bytes[2] << 8 | bytes[3], unsigned); - }; - - var _default = Long; - exports.default = _default; - return "default" in exports ? exports.default : exports; -})({}); -if (typeof define === 'function' && define.amd) define([], function() { return Long; }); -else if (typeof module === 'object' && typeof exports === 'object') module.exports = Long; diff --git a/platforms/Arduino/node_modules/long/umd/package.json b/platforms/Arduino/node_modules/long/umd/package.json deleted file mode 100644 index 5bbefffb..00000000 --- a/platforms/Arduino/node_modules/long/umd/package.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "type": "commonjs" -} From e8a47cf65901474920684342071666d155ed90d0 Mon Sep 17 00:00:00 2001 From: Christophe Date: Mon, 25 Nov 2024 16:37:06 +0100 Subject: [PATCH 8/8] latest changes to the threaded interpreter --- src/Interpreter/instructions.cpp | 282 +---- src/Interpreter/instructions.h | 129 ++- src/Interpreter/interpreter.cpp | 1705 ++++++++++++++++++++++++------ src/WARDuino/WARDuino.cpp | 1 - 4 files changed, 1517 insertions(+), 600 deletions(-) diff --git a/src/Interpreter/instructions.cpp b/src/Interpreter/instructions.cpp index a0c3b2fb..b18ecacf 100644 --- a/src/Interpreter/instructions.cpp +++ b/src/Interpreter/instructions.cpp @@ -74,8 +74,6 @@ bool proxy_call(Module *m, uint32_t fidx) { | call_indirect typeidx */ - - /** * 0x02 */ @@ -261,9 +259,6 @@ bool i_instr_return(Module *m) { return true; } - - - /* 0x10 call @@ -692,7 +687,7 @@ bool i_instr_math_u64(Module *m, uint8_t opcode) { } /** - * 0x0d binop64 + * */ bool i_instr_math_f32(Module *m, uint8_t opcode) { float g = m->stack[m->sp - 1].value.f32; @@ -1271,278 +1266,3 @@ bool i_instr_callback(Module *m, uint8_t opcode) { // TODO return true; } - -bool interpret(Module *m, bool waiting) { - - uint8_t *block_ptr; - uint8_t opcode; - - // keep track of occurring errors - bool success = true; - - // set to true when finishes successfully - bool program_done = false; - - while ((!program_done && success) || waiting) { - - if (m->warduino->program_state == WARDUINOstep) { - m->warduino->debugger->pauseRuntime(m); - } - - while (m->warduino->program_state != WARDUINOinit && - m->warduino->debugger->checkDebugMessages( - m, &m->warduino->program_state)) { - } - fflush(stdout); - // esp_task_wdt_reset(); - - // Resolve 1 callback event if queue is not empty and VM not paused, and - // no event currently resolving - CallbackHandler::resolve_event(); - - // Sleep interpret loop if 'paused' or 'waiting drone' - if (m->warduino->program_state == WARDUINOpause || - m->warduino->program_state == PROXYhalt) { - // wait until new debug messages arrive - if (m->warduino->program_state == WARDUINOpause) { - warduino::unique_lock lock( - m->warduino->debugger->messageQueueMutex); - m->warduino->debugger->messageQueueConditionVariable.wait( - lock, [m] { return m->warduino->debugger->freshMessages; }); - } - continue; - } - - // Program state is not paused - - // If BP and not the one we just unpaused - if (m->warduino->debugger->isBreakpoint(m->pc_ptr) && - m->warduino->debugger->skipBreakpoint != m->pc_ptr && - m->warduino->program_state != PROXYrun) { - m->warduino->debugger->pauseRuntime(m); - m->warduino->debugger->notifyBreakpoint(m, m->pc_ptr); - continue; - } - m->warduino->debugger->skipBreakpoint = nullptr; - - // Take snapshot before executing an instruction - m->warduino->debugger->sendAsyncSnapshots(m); - - opcode = *m->pc_ptr; - block_ptr = m->pc_ptr; - m->pc_ptr += 1; - - dbg_dump_stack(m); - dbg_trace(" PC: %p OPCODE: <%s> in %s\n", block_ptr, - opcode_repr(opcode), - m->pc_ptr > m->bytes && m->pc_ptr < m->bytes + m->byte_count - ? "module" - : "patch"); - - switch (opcode) { - // - // Control flow operators - // - case 0x00: // unreachable - sprintf(exception, "%s", "unreachable"); - success &= false; - case 0x01: // nop - continue; - case 0x02: // block - success &= i_instr_block(m, block_ptr); - continue; - case 0x03: // loop - success &= i_instr_loop(m, block_ptr); - continue; - case 0x04: // if - success &= i_instr_if(m, block_ptr); - continue; - case 0x05: // else - success &= i_instr_else(m); - continue; - case 0x0b: // end - success &= i_instr_end(m, &program_done); - continue; - case 0x0c: // br - success &= i_instr_br(m); - continue; - case 0x0d: // br_if - success &= i_instr_br_if(m); - continue; - case 0x0e: // br_table - success &= i_instr_br_table(m); - continue; - case 0x0f: // return - success &= i_instr_return(m); - continue; - - // - // Call operators - // - case 0x10: { // call - success &= i_instr_call(m); - continue; - } - case 0x11: { // call_indirect - success &= i_instr_call_indirect(m); - continue; - } - // - // Parametric operators - // - case 0x1a: // drop - success &= i_instr_drop(m); - continue; - case 0x1b: // select - success &= i_instr_select(m); - continue; - - // - // Variable access - // - case 0x20: // get_local - success &= i_instr_get_local(m); - continue; - case 0x21: // set_local - success &= i_instr_set_local(m); - continue; - case 0x22: // tee_local - success &= i_instr_tee_local(m); - continue; - case 0x23: // get_global - success &= i_instr_get_global(m); - continue; - case 0x24: // set_global - success &= i_instr_set_global(m); - continue; - - // - // Memory-related operators - // - case 0x3f: // current_memory - success &= i_instr_current_memory(m); - continue; - case 0x40: // grow_memory - success &= i_instr_grow_memory(m); - continue; - // Memory load operators - case 0x28 ... 0x35: - success &= i_instr_mem_load(m, opcode); - continue; - // Memory store operators - case 0x36 ... 0x3e: - success &= i_instr_mem_store(m, opcode); - continue; - - // - // Constants - // - case 0x41 ... 0x44: // i32.const - success &= i_instr_const(m, opcode); - continue; - - // - // Comparison operators - // - - // unary - case 0x45: // i32.eqz - case 0x50: // i64.eqz - success &= i_instr_unary_u32(m, opcode); - continue; - - // i32 binary - case 0x46 ... 0x4f: - success &= i_instr_math_u32(m, opcode); - continue; - case 0x51 ... 0x5a: - success &= i_instr_math_u64(m, opcode); - continue; - case 0x5b ... 0x60: - success &= i_instr_math_f32(m, opcode); - continue; - case 0x61 ... 0x66: - success &= i_instr_math_f64(m, opcode); - continue; - - // - // Numeric operators - // - - // unary i32 - case 0x67 ... 0x69: - success &= i_instr_unary_i32(m, opcode); - continue; - - // unary i64 - case 0x79 ... 0x7b: - success &= i_instr_unary_i64(m, opcode); - continue; - - case 0x8b ... 0x91: // unary f32 - case 0x99 ... 0x9f: // unary f64 - success &= i_instr_unary_floating(m, opcode); - continue; - - // i32 binary - case 0x6a ... 0x78: - success &= i_instr_binary_i32(m, opcode); - continue; - - // i64 binary - case 0x7c ... 0x8a: - success &= i_instr_binary_i64(m, opcode); - continue; - - // f32 binary - case 0x92 ... 0x98: - success &= i_instr_binary_f32(m, opcode); - continue; - - // f64 binary - case 0xa0 ... 0xa6: - success &= i_instr_binary_f64(m, opcode); - continue; - - // conversion operations - case 0xa7 ... 0xbb: - success &= i_instr_conversion(m, opcode); - continue; - - // callback operations - case 0xe0 ... 0xe3: - success &= i_instr_callback(m, opcode); - continue; - default: - sprintf(exception, "unrecognized opcode 0x%x", opcode); - if (m->options.return_exception) { - m->exception = strdup(exception); - } - return false; - } - } - - if (m->warduino->program_state == PROXYrun) { - dbg_info("Trap was thrown during proxy call.\n"); - RFC *rfc = m->warduino->debugger->topProxyCall(); - rfc->success = false; - rfc->exception = strdup(exception); - rfc->exception_size = strlen(exception); - m->warduino->debugger->sendProxyCallResult(m); - } - - // Resolve all unhandled callback events - while (CallbackHandler::resolving_event && CallbackHandler::resolve_event()) - ; - - dbg_trace("Interpretation ended %s with status %s\n", - program_done ? "expectedly" : "unexpectedly", - success ? "ok" : "error"); - if (!success && m->options.return_exception) { - m->exception = strdup(exception); - } else if (!success) { - FATAL("%s\n", exception); - } - - return success; -} diff --git a/src/Interpreter/instructions.h b/src/Interpreter/instructions.h index 02aa503d..1ac57d8c 100644 --- a/src/Interpreter/instructions.h +++ b/src/Interpreter/instructions.h @@ -1,19 +1,20 @@ #include "../WARDuino.h" -// Defining the instruction constants - +// Defining the instruction constants #define UNREACHABLE 0x00 #define NOP 0x01 -#define BLOCK 0x02 +#define BLOCK_I 0x02 #define LOOP 0x03 #define IF 0x04 #define ELSE 0x05 + #define END 0x0b #define BR 0x0c #define BR_IF 0x0d #define BR_TABLE 0x0e #define RETURN 0x0f + #define CALL 0x10 #define CALL_INDIRECT 0x11 #define DROP 0x1a @@ -29,9 +30,29 @@ #define MEMORY_LOAD_END 0x35 #define MEMORY_STORE_START 0x36 #define MEMORY_STORE_END 0x3e + #define CONST_START 0x41 #define CONST_END 0x44 + #define I32_CONST 0x41 +#define I64_CONST 0x42 +#define F32_CONST 0x43 +#define F64_CONST 0x44 + +#define F32_ABS 0x8b +#define F32_NEG 0x8c +#define F32_CEIL 0x8d +#define F32_FLOOR 0x8e +#define F32_TRUNC 0x8f +#define F32_NEAREST 0x90 +#define F32_SQRT 0x91 +#define F64_ABS 0x99 +#define F64_NEG 0x9a +#define F64_CEIL 0x9b +#define F64_FLOOR 0x9c +#define F64_TRUNC 0x9d +#define F64_NEAREST 0x9e +#define F64_SQRT 0x9f // binary boolean operators I32 unsigned int #define I32_EQ 0x46 @@ -45,7 +66,7 @@ #define I32_GE_S 0x4e #define I32_GE_U 0x4f -//binary boolean operators I64 +// binary boolean operators I64 #define I64_EQ 0x51 #define I64_NE 0x52 #define I64_LT_S 0x53 @@ -73,10 +94,110 @@ #define I32_ROTL 0x77 #define I32_ROTR 0x78 +#define F32_ADD 0x92 +#define F32_SUB 0x93 +#define F32_MUL 0x94 +#define F32_DIV 0x95 +#define F32_MIN 0x96 +#define F32_MAX 0x97 +#define F32_COPYSIGN 0x98 + +#define I64_ADD 0x7c +#define I64_SUB 0x7d +#define I64_MUL 0x7e +#define I64_DIV_S 0x7f +#define I64_DIV_U 0x80 +#define I64_REM_S 0x81 +#define I64_REM_U 0x82 +#define I64_AND 0x83 +#define I64_OR 0x84 +#define I64_XOR 0x85 +#define I64_SHL 0x86 +#define I64_SHR_S 0x87 +#define I64_SHR_U 0x88 +#define I64_ROTL 0x89 +#define I64_ROTR 0x8a + +#define F64_ADD 0xa0 +#define F64_SUB 0xa1 +#define F64_MUL 0xa2 +#define F64_DIV 0xa3 +#define F64_MIN 0xa4 +#define F64_MAX 0xa5 +#define F64_COPYSIGN 0xa6 + +#define I32_WRAP_I64 0xa7 +#define I32_TRUNC_F32_S 0xa8 +#define I32_TRUNC_F32_U 0xa9 +#define I32_TRUNC_F64_S 0xaa +#define I32_TRUNC_F64_U 0xab +#define I64_EXTEND_I32_S 0xac +#define I64_EXTEND_I32_U 0xad +#define I64_TRUNC_F32_S 0xae +#define I64_TRUNC_F32_U 0xaf +#define I64_TRUNC_F64_S 0xb0 +#define I64_TRUNC_F64_U 0xb1 +#define F32_CONVERT_I32_S 0xb2 +#define F32_CONVERT_I32_U 0xb3 +#define F32_CONVERT_I64_S 0xb4 +#define F32_CONVERT_I64_U 0xb5 +#define F32_DEMOTE_F64 0xb6 +#define F64_CONVERT_I32_S 0xb7 +#define F64_CONVERT_I32_U 0xb8 +#define F64_CONVERT_I64_S 0xb9 +#define F64_CONVERT_I64_U 0xba +#define F64_PROMOTE_F32 0xbb +#define I32_REINTERPRET_F32 0xbc +#define I64_REINTERPRET_F64 0xbd +#define F32_REINTERPRET_I32 0xbe +#define F64_REINTERPRET_I64 0xbf + +#define I32_EQ 0x46 +#define I32_NE 0x47 +#define I32_LT_S 0x48 +#define I32_LT_U 0x49 +#define I32_GT_S 0x4a +#define I32_GT_U 0x4b +#define I32_LE_S 0x4c +#define I32_LE_U 0x4d +#define I32_GE_S 0x4e +#define I32_GE_U 0x4f + +#define I64_EQ 0x51 +#define I64_NE 0x52 +#define I64_LT_S 0x53 +#define I64_LT_U 0x54 +#define I64_GT_S 0x55 +#define I64_GT_U 0x56 +#define I64_LE_S 0x57 +#define I64_LE_U 0x58 +#define I64_GE_S 0x59 +#define I64_GE_U 0x5a + +#define F64_EQ 0x61 +#define F64_NE 0x62 +#define F64_LT 0x63 +#define F64_GT 0x64 +#define F64_LE 0x65 +#define F64_GE 0x66 + +#define I64_CLZ 0x79 +#define I64_CTZ 0x7a +#define I64_POPCNT 0x7b #define I32_EQZ 0x45 #define I64_EQZ 0x50 +#define F32_EQ 0x5b +#define F32_NE 0x5c +#define F32_LT 0x5d +#define F32_GT 0x5e +#define F32_LE 0x5f +#define F32_GE 0x60 + +#define I32_CLZ 0x67 +#define I32_CTZ 0x68 +#define I32_POPCNT 0x69 bool i_instr_block(Module *m, uint8_t *block_ptr); diff --git a/src/Interpreter/interpreter.cpp b/src/Interpreter/interpreter.cpp index f877e047..be24d0ad 100644 --- a/src/Interpreter/interpreter.cpp +++ b/src/Interpreter/interpreter.cpp @@ -81,13 +81,13 @@ void Interpreter::setup_call(Module *m, uint32_t fidx) { push_block(m, func, m->sp - type->param_count); #if TRACE - dbg_warn(" >> fn0x%x(%d) %s(", fidx, fidx, + dbg_warn(" >> fn0x%x(%arg0_64) %s(", fidx, fidx, func->export_name ? func->export_name : "") for (int p = ((int)type->param_count) - 1; p >= 0; p--) { dbg_warn("%s%s", value_repr(&m->stack[m->sp - p]), p ? " " : ""); } - dbg_warn("), %d locals, %d results\n", func->local_count, + dbg_warn("), %arg0_64 locals, %arg0_64 results\n", func->local_count, type->result_count); #endif @@ -188,394 +188,1469 @@ bool Interpreter::load(Module *m, uint8_t type, uint32_t addr, return true; } +void Interpreter::threadedInterpreter(Module *m) { + /* + + -- DATA needed for executing instructions -- -void Interpreter::threadedInterpreter(Module *m) -{ + */ // instruction states and local variables - uint8_t opcode; - uint8_t* block_ptr; + uint8_t *block_ptr; StackValue *target; + // TODO check whether we can don't need all these variables with the correct + // type + // int32_t stack variables (shouldn't they be pointer to the stack?) int32_t arg0; int32_t arg1; int32_t result; + uint32_t arg0_uint; + uint32_t arg1_uint; + uint32_t result_uint; + + // doubles + double arg0_d; + double arg1_d; + double result_d; + // floats + float arg0_f; + float arg1_f; + // int64_t stack variables + float fresult; + uint64_t arg0_64; + uint64_t arg1_64; + + uint64_t arg0_int64_t; + uint64_t arg1_int64_t; + uint64_t result_uint64_t; + + uint32_t flags; + uint32_t offset; + uint32_t addr; + + // Block pointers Block *block = nullptr; uint32_t fidx; std::__1::map::iterator block_itr; // Jump table for instruction dispatch - void* jumpTable[256] = {0}; - - //set all instructions to undefined - for(int i = 0; i < 256; i++) { + void *jumpTable[256] = {0}; + + // set all instructions to undefined + for (int i = 0; i < 256; i++) { jumpTable[i] = &&undefinedInstruction; } - // set the jump table for the instructions - jumpTable[I32_CONST] = &&i32_const; - jumpTable[SET_LOCAL] = &&set_local; - jumpTable[GET_LOCAL] = &&get_local; - jumpTable[LOOP] = &&loop; - jumpTable[BLOCK] = &█ - jumpTable[END] = &&end; - jumpTable[CALL] = &&call; - jumpTable[BR_IF] = &&br_if; - jumpTable[BR] = &&br; - jumpTable[RETURN] = &&ret; - jumpTable[TEE_LOCAL] = &&tee_local; - jumpTable[SELECT] = &&i_instr_select; + goto initJumpTable; - // boolean instructions for 32 bit - jumpTable[I32_EQ] = &&math_binop_32_bool; - jumpTable[I32_NE] = &&math_binop_32_bool; - jumpTable[I32_LT_S] = &&math_binop_32_bool; - jumpTable[I32_LT_U] = &&math_binop_32_bool; - jumpTable[I32_GT_S] = &&math_binop_32_bool; - jumpTable[I32_GT_U] = &&math_binop_32_bool; - jumpTable[I32_LE_S] = &&math_binop_32_bool; - jumpTable[I32_LE_U] = &&math_binop_32_bool; - jumpTable[I32_GE_S] = &&math_binop_32_bool; - jumpTable[I32_GE_U] = &&math_binop_32_bool; - // boolean instructions for 64 bit - jumpTable[I64_EQ] = &&math_binop_64_bool; - jumpTable[I64_NE] = &&math_binop_64_bool; - jumpTable[I64_LT_S] = &&math_binop_64_bool; - jumpTable[I64_LT_U] = &&math_binop_64_bool; - jumpTable[I64_GT_S] = &&math_binop_64_bool; - jumpTable[I64_GT_U] = &&math_binop_64_bool; - jumpTable[I64_LE_S] = &&math_binop_64_bool; - jumpTable[I64_LE_U] = &&math_binop_64_bool; - jumpTable[I64_GE_S] = &&math_binop_64_bool; - jumpTable[I64_GE_U] = &&math_binop_64_bool; - //binop instructions for 32 bit - jumpTable[I32_ADD] = &&math_binop_32_int; - jumpTable[I32_SUB] = &&math_binop_32_int; - jumpTable[I32_MUL] = &&math_binop_32_int; - jumpTable[I32_DIV_S] = &&math_binop_32_int; - jumpTable[I32_DIV_U] = &&math_binop_32_int; - jumpTable[I32_REM_S] = &&math_binop_32_int; - jumpTable[I32_REM_U] = &&math_binop_32_int; - jumpTable[I32_AND] = &&math_binop_32_int; - jumpTable[I32_OR] = &&math_binop_32_int; - jumpTable[I32_XOR] = &&math_binop_32_int; - jumpTable[I32_SHL] = &&math_binop_32_int; - jumpTable[I32_SHR_S] = &&math_binop_32_int; - jumpTable[I32_SHR_U] = &&math_binop_32_int; - jumpTable[I32_ROTL] = &&math_binop_32_int; - jumpTable[I32_ROTR] = &&math_binop_32_int; - - jumpTable[I32_EQZ] = &&i32_eqz; - jumpTable[I64_EQZ] = &&i64_eqz; + /* + + -- INSTRUCTIONS -- + */ + + /** + * 0x24 set_global + */ +i_instr_set_global: + arg0 = read_LEB_32(&m->pc_ptr); + m->globals[arg0] = m->stack[m->sp--]; +#if TRACE + debug(" - arg: 0x%x, got %s\n", arg, value_repr(&m->stack[m->sp + 1])); +#endif goto nextInstruction; - // Basis set of instructions for implementing fibonacci - /* - I32 CONST - */ - i32_const: - target = &m->stack[++m->sp]; - target->value_type = I32; - target->value.uint32 = read_LEB_signed(&m->pc_ptr, 32); - goto nextInstruction; +/** + * 0x11 call_indirect + */ +i_instr_call_indirect: - /* - Set_local on the stack - */ - set_local: - arg0 = read_LEB_32(&m->pc_ptr); - m->stack[m->fp + arg0] = m->stack[m->sp--]; - goto nextInstruction; + // uint32_t tidx = + read_LEB_32(&m->pc_ptr); // TODO: use tidx? + /// (void)tidx; - get_local: - arg0 = read_LEB_32(&m->pc_ptr); - m->stack[++m->sp] = m->stack[m->fp + arg0]; - goto nextInstruction; + read_LEB(&m->pc_ptr, 1); // reserved immediate + arg0 = m->stack[m->sp--].value.uint32; + if (m->options.mangle_table_index) { + // val is the table address + the index (not sized for the + // pointer size) so get the actual (sized) index +#if TRACE + debug(" - entries: %p, original val: 0x%x, new val: 0x%x\n", + m->table.entries, val, + (uint32_t)((uint64_t)m->table.entries) - val); +#endif + // val = val - (uint32_t)((uint64_t)m->table.entries & 0xFFFFFFFF); + arg0 = arg0 - (uint32_t)((uint64_t)m->table.entries); + } + if (arg0 >= m->table.maximum) { + sprintf(exception, + "undefined element 0x%" PRIx32 " (max: 0x%" PRIx32 ") in table", + arg0, m->table.maximum); + exit(1); + } - tee_local: - arg0 = read_LEB_32(&m->pc_ptr); - m->stack[m->fp + arg0] = m->stack[m->sp]; - goto nextInstruction; + arg1 = m->table.entries[arg0]; +#if TRACE + debug(" - call_indirect tidx: %d, val: 0x%x, arg1: 0x%x\n", tidx, val, + arg1); +#endif + + if (arg1 < m->import_count) { + // THUNK thunk_out(m, arg1); // import/thunk call + } else { + Block *func = &m->functions[arg1]; + Type *ftype = func->type; - loop: - read_LEB_32(&m->pc_ptr); // ignore block type if (m->csp >= CALLSTACK_SIZE) { sprintf(exception, "call stack exhausted"); exit(1); } - m->warduino->interpreter->push_block(m, m->block_lookup[block_ptr], m->sp); + + /* + The typesystem should have already validated the call + if (ftype->mask != m->types[tidx].mask) { + sprintf(exception, + "indirect call type mismatch (call type and function type " + "differ)"); + exit(1); + }*/ + + m->warduino->interpreter->setup_call(m, arg1); // regular function call + + /* + // Validate signatures match + if ((int)(ftype->param_count + func->local_count) != + m->sp - m->fp + 1) { + sprintf(exception, + "indirect call type mismatch (param counts differ)"); + exit(1); + } + + + + for (uint32_t f = 0; f < ftype->param_count; f++) { + if (ftype->params[f] != m->stack[m->fp + f].value_type) { + sprintf(exception, + "indirect call type mismatch (param types differ)"); + exit(1); + } + }*/ + +#if TRACE + debug( + " - tidx: %d, table idx: %d, " + "calling function arg1: %d at: 0x%p\n", + tidx, val, arg1, m->pc_ptr); +#endif + } + goto nextInstruction; + +i_instr_grow_memory: + read_LEB_32(&m->pc_ptr); // ignore reserved + arg0 = m->memory.pages; + arg1 = m->stack[m->sp].value.uint32; + m->stack[m->sp].value.uint32 = arg0; + if (arg1 == 0) { + goto nextInstruction; + } else if (arg1 + arg0 > m->memory.maximum) { + m->stack[m->sp].value.uint32 = static_cast(-1); goto nextInstruction; + } + m->memory.pages += arg1; + m->memory.bytes = (uint8_t *)arecalloc( + m->memory.bytes, arg0 * PAGE_SIZE, m->memory.pages * PAGE_SIZE, + 1 /*sizeof(uint32_t)*/, "Module->memory.bytes", true); + goto nextInstruction; + +i_instr_br_table: + arg0 = read_LEB_32(&m->pc_ptr); + if (arg0 > BR_TABLE_SIZE) { + // TODO: check this prior to runtime + sprintf(exception, "br_table size %" PRIu32 " exceeds max %d\n", arg0, + BR_TABLE_SIZE); + // todo + exit(1); + } + for (uint32_t i = 0; i < arg0; i++) { + m->br_table[i] = read_LEB_32(&m->pc_ptr); + } + arg1 = read_LEB_32(&m->pc_ptr); + result = m->stack[m->sp--].value.int32; + + if (result >= 0 && result < (int32_t)arg0) { + arg1 = m->br_table[result]; + } + + m->csp -= arg1; + // set to end for pop_block + m->pc_ptr = m->callstack[m->csp].block->br_ptr; +#if TRACE + debug(" - count: %d, didx: %d, to: 0x%p\n", count, didx, m->pc_ptr); +#endif + goto nextInstruction; + +i_instr_mem_load: + flags = read_LEB_32(&m->pc_ptr); + offset = read_LEB_32(&m->pc_ptr); + addr = m->stack[m->sp--].value.uint32; + + if (flags != 2 && TRACE) { + dbg_info( + " - unaligned load - flags: 0x%x," + " offset: 0x%x, addr: 0x%x\n", + flags, offset, addr); + } + // TODO + m->warduino->interpreter->load(m, I32 + (0x28 - opcode), addr, offset); + goto nextInstruction; + +i_instr_mem_store: + target = &m->stack[m->sp--]; + flags = read_LEB_32(&m->pc_ptr); + offset = read_LEB_32(&m->pc_ptr); + + addr = m->stack[m->sp--].value.uint32; + + if (flags != 2 && TRACE) { + dbg_info( + " - unaligned store - flags: 0x%x," + " offset: 0x%x, addr: 0x%x, val: %s\n", + flags, offset, addr, value_repr(target)); + } + + if (offset + addr < addr && !m->options.disable_memory_bounds) { + m->warduino->interpreter->report_overflow( + m, m->memory.bytes + offset + addr); + } + + addr += offset; + m->warduino->interpreter->store(m, I32 + (0x36 - opcode), addr, *target); + goto nextInstruction; - block: - read_LEB_32(&m->pc_ptr); // ignore block type +i_instr_const: + target = &m->stack[++m->sp]; + + switch (opcode) { + case I32_CONST: // i32.const + target->value_type = I32; + target->value.uint32 = read_LEB_signed(&m->pc_ptr, 32); + break; + case I64_CONST: // i64.const + target->value_type = I64; + target->value.int64 = read_LEB_signed(&m->pc_ptr, 64); + break; + case F32_CONST: // f32.const + target->value_type = F32; + memcpy(&target->value.uint32, m->pc_ptr, 4); + m->pc_ptr += 4; + break; + case F64_CONST: // f64.const + target->value_type = F64; + memcpy(&target->value.uint64, m->pc_ptr, 8); + m->pc_ptr += 8; + break; + default: + goto undefinedInstruction; + } + goto nextInstruction; + +/* + Set_local on the stack +*/ +set_local: + arg0 = read_LEB_32(&m->pc_ptr); + m->stack[m->fp + arg0] = m->stack[m->sp--]; + goto nextInstruction; + +get_local: + arg0 = read_LEB_32(&m->pc_ptr); + m->stack[++m->sp] = m->stack[m->fp + arg0]; + goto nextInstruction; + +tee_local: + arg0 = read_LEB_32(&m->pc_ptr); + m->stack[m->fp + arg0] = m->stack[m->sp]; + goto nextInstruction; + +loop: + read_LEB_32(&m->pc_ptr); // ignore block type + if (m->csp >= CALLSTACK_SIZE) { + sprintf(exception, "call stack exhausted"); + exit(1); + } + m->warduino->interpreter->push_block(m, m->block_lookup[block_ptr], m->sp); + goto nextInstruction; + +block: + read_LEB_32(&m->pc_ptr); // ignore block type + if (m->csp >= CALLSTACK_SIZE) { + sprintf(exception, "call stack exhausted"); + exit(1); + } + block_itr = m->block_lookup.find(block_ptr); + ASSERT(block_itr != m->block_lookup.end(), "could not find block"); + m->warduino->interpreter->push_block(m, block_itr->second, m->sp); + goto nextInstruction; + + /** + * 0x04 if + */ +i_instr_if: + read_LEB_32(&m->pc_ptr); // ignore block type + block = m->block_lookup[block_ptr]; + + if (m->csp >= CALLSTACK_SIZE) { + sprintf(exception, "call stack exhausted"); + exit(0); + } + m->warduino->interpreter->push_block(m, block, m->sp); + + arg0 = m->stack[m->sp--].value.uint32; + if (arg0 == 0) { // if false (I32) + // branch to else block or after end of if + if (block->else_ptr == nullptr) { + // no else block, pop if block and skip end + m->csp -= 1; + m->pc_ptr = block->br_ptr + 1; + } else { + m->pc_ptr = block->else_ptr; + } + } + // if true, keep going +#if TRACE + debug(" - arg0: 0x%x jump to 0x%x, block: %s\n", arg0, + (uint32_t)(m->pc_ptr - m->bytes), block_repr(block)); +#endif + goto nextInstruction; + +i_instr_drop: + m->sp--; + goto nextInstruction; + +/** + * 0x05 else + */ +i_instr_else: + block = m->callstack[m->csp].block; + m->pc_ptr = block->br_ptr; +#if TRACE + debug(" - of %s jump to 0x%p\n", block_repr(block), m->pc_ptr); +#endif + goto nextInstruction; + +i_instr_end: + block = m->warduino->interpreter->pop_block(m); + + if (block == nullptr) { + return; // an exception (set by pop_block) + } + + if (block->block_type == 0x00) { // Function + if (m->csp == -1) { + return; // break loop + } else { + // Keep going at return address + } + } else if (block->block_type == 0x01) { // init_expr + return; // // break loop + } else { + } + goto nextInstruction; + +i_instr_br_if: + // condition + arg0 = read_LEB_32(&m->pc_ptr); + arg1 = m->stack[m->sp--].value.uint32; + if (arg1) { // if true + m->csp -= arg0; + // set to end for pop_block + m->pc_ptr = m->callstack[m->csp].block->br_ptr; + } + goto nextInstruction; + +i_instr_br: + m->csp -= read_LEB_32(&m->pc_ptr); + // set to end for pop_block + m->pc_ptr = m->callstack[m->csp].block->br_ptr; + goto nextInstruction; + +call: + fidx = read_LEB_32(&m->pc_ptr); + if (fidx < m->import_count) { + // primitive call + ((Primitive)m->functions[fidx].func_ptr)(m); + } else { if (m->csp >= CALLSTACK_SIZE) { sprintf(exception, "call stack exhausted"); exit(1); } - block_itr = m->block_lookup.find(block_ptr); - ASSERT(block_itr != m->block_lookup.end(), "could not find block"); - m->warduino->interpreter->push_block(m, block_itr->second, m->sp); - goto nextInstruction; + // regular function call + m->warduino->interpreter->setup_call(m, fidx); + } + goto nextInstruction; - end: - block = m->warduino->interpreter->pop_block(m); - - if (block == nullptr) { - return; // an exception (set by pop_block) - } +ret: + while (m->csp >= 0 && m->callstack[m->csp].block->block_type != 0x00) { + m->csp--; + } + // Set the program count to the end of the function + // The actual pop_block and return is handled by the end opcode. + m->pc_ptr = m->callstack[0].block->end_ptr; + goto nextInstruction; - if (block->block_type == 0x00) { // Function - if (m->csp == -1) { - return ; // break loop - } else { - // Keep going at return address +i_instr_select: + arg0 = m->stack[m->sp--].value.uint32; + m->sp--; + if (!arg0) { // use a instead of b + m->stack[m->sp] = m->stack[m->sp + 1]; + } + goto nextInstruction; + +// Binary boolean operators 32 bit +i_instr_math_u32: + arg0_uint = m->stack[m->sp - 1].value.uint32; + arg1_uint = m->stack[m->sp].value.uint32; + m->sp -= 1; + switch (opcode) { + case I32_EQ: + result_uint = static_cast(arg0_uint == arg1_uint); + break; + case I32_NE: + result_uint = static_cast(arg0_uint != arg1_uint); + break; + case I32_LT_S: + result_uint = + static_cast((int32_t)arg0_uint < (int32_t)arg1_uint); + break; + case I32_LT_U: + result_uint = static_cast(arg0_uint < arg1_uint); + break; + case I32_GT_S: + result_uint = + static_cast((int32_t)arg0_uint > (int32_t)arg1_uint); + break; + case I32_GT_U: + result_uint = static_cast(arg0_uint > arg1_uint); + break; + case I32_LE_S: + result_uint = + static_cast((int32_t)arg0_uint <= (int32_t)arg1_uint); + break; + case I32_LE_U: + result_uint = static_cast(arg0_uint <= arg1_uint); + break; + case I32_GE_S: + result_uint = + static_cast((int32_t)arg0_uint >= (int32_t)arg1_uint); + break; + case I32_GE_U: + result_uint = static_cast(arg0_uint >= arg1_uint); + break; + default: + printf("ran into an undefined instruction:: 0x%02hhX ", opcode); + exit(1); + } + // m->stack[m->sp].value_type = I32; (This is already set to I32 in the + // stack) + m->stack[m->sp].value.uint32 = result_uint; + goto nextInstruction; + /// check arg0_64 + +i_instr_binary_i32: + // TODO: verify if this should not be done with int32_t instead + arg0_uint = m->stack[m->sp - 1].value.uint32; + arg1_uint = m->stack[m->sp].value.uint32; + m->sp -= 1; + + if (opcode >= 0x6d && opcode <= 0x70 && arg1_uint == 0) { + sprintf(exception, "integer divide by zero"); + exit(1); + } + switch (opcode) { + // case 0x6a: o = __builtin_add_overflow(a, b, &c); break; + // // i32.add case 0x6b: o = __builtin_sub_overflow(a, b, + // &c); break; // i32.sub + case I32_ADD: + result = arg0_uint + arg1_uint; + break; // i32.add + case I32_SUB: + result = arg0_uint - arg1_uint; + break; // i32.sub + case I32_MUL: + result = arg0_uint * arg1_uint; + break; // i32.mul + case I32_DIV_S: + if (arg0_uint == 0x80000000 && arg1_uint == (uint32_t)-1) { + sprintf(exception, "integer overflow"); + exit(1); } - } else if (block->block_type == 0x01) { // init_expr - return; // // break loop - } else { - - } - goto nextInstruction; - - br_if: - // condition - arg0 = read_LEB_32(&m->pc_ptr); - arg1 = m->stack[m->sp--].value.uint32; - if (arg1) { // if true - m->csp -= arg0; - // set to end for pop_block - m->pc_ptr = m->callstack[m->csp].block->br_ptr; - } - goto nextInstruction; - - br: - m->csp -= read_LEB_32(&m->pc_ptr); - // set to end for pop_block - m->pc_ptr = m->callstack[m->csp].block->br_ptr; - goto nextInstruction; - - call: - fidx = read_LEB_32(&m->pc_ptr); - if (fidx < m->import_count) { - // primitive call - ((Primitive)m->functions[fidx].func_ptr)(m); - } else { - if (m->csp >= CALLSTACK_SIZE) { - sprintf(exception, "call stack exhausted"); + result = (int32_t)arg0_uint / (int32_t)arg1_uint; + break; // i32.div_s + case I32_DIV_U: + result = arg0_uint / arg1_uint; + break; // i32.div_u + case I32_REM_S: + if (arg0_uint == 0x80000000 && arg1_uint == (uint32_t)-1) { + result = 0; + } else { + result = (int32_t)arg0_uint % (int32_t)arg1_uint; + }; + break; // i32.rem_s + case I32_REM_U: + result = (uint32_t)(arg0_uint % arg1_uint); + break; // i32.rem_u + case I32_AND: + result = arg0_uint & arg1_uint; + break; // i32.and + case I32_OR: + result = arg0_uint | arg1_uint; + break; // i32.or + case I32_XOR: + result = arg0_uint ^ arg1_uint; + break; // i32.xor + case I32_SHL: + result = arg0_uint << arg1_uint; + break; // i32.shl + case I32_SHR_S: + result = (int32_t)arg0_uint >> + arg1_uint; // NOLINT(hicpp-signed-bitwise) + break; // i32.shr_s + case I32_SHR_U: + result = arg0_uint >> arg1_uint; + break; // i32.shr_u + case I32_ROTL: + result = rotl32(arg0_uint, arg1_uint); + break; // i32.rotl + case I32_ROTR: + result = rotr32(arg0_uint, arg1_uint); + break; // i32.rotr + default: + exit(1); + } + // m->stack[m->sp].value_type = I32; (This is already set to I32 in the + // stack) + m->stack[m->sp].value.uint32 = (uint32_t)result; + goto nextInstruction; + +math_binop_64_bool: + arg0_64 = m->stack[m->sp - 1].value.uint64; + arg1_64 = m->stack[m->sp].value.uint64; + m->sp -= 1; + switch (opcode) { + case I64_EQ: + result = static_cast(arg0_64 == arg1_64); + break; + case I64_NE: + result = static_cast(arg0_64 != arg1_64); + break; + case I64_LT_S: + result = static_cast((int64_t)arg0_64 < (int64_t)arg1_64); + break; + case I64_LT_U: + result = static_cast(arg0_64 < arg1_64); + break; + case I64_GT_S: + result = static_cast((int64_t)arg0_64 > (int64_t)arg1_64); + break; + case I64_GT_U: + result = static_cast(arg0_64 > arg1_64); + break; + case I64_LE_S: + result = + static_cast((int64_t)arg0_64 <= (int64_t)arg1_64); + break; + case I64_LE_U: + result = static_cast(arg0_64 <= arg1_64); + break; + case I64_GE_S: + result = + static_cast((int64_t)arg0_64 >= (int64_t)arg1_64); + break; + case I64_GE_U: + result = static_cast(arg0_64 >= arg1_64); + break; + default: + printf("ran into an undefined instruction:: 0x%02hhX ", opcode); + exit(1); + } + m->stack[m->sp].value_type = I32; + m->stack[m->sp].value.uint32 = result; + goto nextInstruction; + +i32_eqz: // i32.eqz + m->stack[m->sp].value.uint32 = + static_cast(m->stack[m->sp].value.uint32 == 0); + goto nextInstruction; + +i64_eqz: // i64.eqz + m->stack[m->sp].value_type = I32; + m->stack[m->sp].value.uint32 = + static_cast(m->stack[m->sp].value.uint64 == 0); + goto nextInstruction; + +i_instr_binary_i64: + arg0_int64_t = m->stack[m->sp - 1].value.uint64; + arg1_int64_t = m->stack[m->sp].value.uint64; + m->sp -= 1; + if (opcode >= 0x7f && opcode <= 0x82 && arg1_int64_t == 0) { + sprintf(exception, "integer divide by zero"); + exit(1); + } + switch (opcode) { + case I64_ADD: + result_uint64_t = arg0_int64_t + arg1_int64_t; + break; // i64.add + case I64_SUB: + result_uint64_t = arg0_int64_t - arg1_int64_t; + break; // i64.sub + case I64_MUL: + result_uint64_t = arg0_int64_t * arg1_int64_t; + break; // i64.mul + case I64_DIV_S: + if (arg0_int64_t == 0x8000000000000000 && + arg1_int64_t == (uint32_t)-1) { + sprintf(exception, "integer overflow"); exit(1); } - // regular function call - m->warduino->interpreter->setup_call(m, fidx); - } - goto nextInstruction; - - ret: - while (m->csp >= 0 && m->callstack[m->csp].block->block_type != 0x00) { - m->csp--; - } - // Set the program count to the end of the function - // The actual pop_block and return is handled by the end opcode. - m->pc_ptr = m->callstack[0].block->end_ptr; - goto nextInstruction; + result_uint64_t = (int64_t)arg0_int64_t / (int64_t)arg1_int64_t; + break; // i64.div_s + case I64_DIV_U: + result_uint64_t = arg0_int64_t / arg1_int64_t; + break; // i64.div_u + case I64_REM_S: + if (arg0_int64_t == 0x8000000000000000 && + arg1_int64_t == (uint32_t)-1) { + result_uint64_t = 0; + } else { + result_uint64_t = (int64_t)arg0_int64_t % (int64_t)arg1_int64_t; + } + break; // i64.rem_s + case I64_REM_U: + result_uint64_t = arg0_int64_t % arg1_int64_t; + break; // i64.rem_u + case I64_AND: + result_uint64_t = arg0_int64_t & arg1_int64_t; + break; // i64.and + case I64_OR: + result_uint64_t = arg0_int64_t | arg1_int64_t; + break; // i64.or + case I64_XOR: + result_uint64_t = arg0_int64_t ^ arg1_int64_t; + break; // i64.xor + case I64_SHL: + result_uint64_t = arg0_int64_t << arg1_int64_t; + break; // i64.shl + case I64_SHR_S: + result_uint64_t = ((int64_t)arg0_int64_t) >> + arg1_int64_t; // NOLINT(hicpp-signed-bitwise) + break; // i64.shr_s + case I64_SHR_U: + result_uint64_t = arg0_int64_t >> arg1_int64_t; + break; // i64.shr_u + case I64_ROTL: + result_uint64_t = rotl64(arg0_int64_t, arg1_int64_t); + break; // i64.rotl + case I64_ROTR: + result_uint64_t = rotr64(arg0_int64_t, arg1_int64_t); + break; // i64.rotr + default: + printf("ran into an undefined instruction:: 0x%02hhX ", opcode); + exit(1); + } + m->stack[m->sp].value.uint64 = result_uint64_t; - i_instr_select: - arg0 = m->stack[m->sp--].value.uint32; - m->sp--; - if (!arg0) { // use a instead of b - m->stack[m->sp] = m->stack[m->sp + 1]; - } - goto nextInstruction; + goto nextInstruction; - +i_instr_unary_u32: + switch (opcode) { + case I32_EQZ: // i32.eqz + m->stack[m->sp].value.uint32 = + static_cast(m->stack[m->sp].value.uint32 == 0); + break; + case I64_EQZ: // i64.eqz + m->stack[m->sp].value_type = I32; + m->stack[m->sp].value.uint32 = + static_cast(m->stack[m->sp].value.uint64 == 0); + break; + default: + goto undefinedInstruction; + } + goto nextInstruction; - //Binary boolean operators 32 bit - math_binop_32_bool: + /* + i_instr_math_u32: arg0 = m->stack[m->sp - 1].value.uint32; arg1 = m->stack[m->sp].value.uint32; + result; m->sp -= 1; switch (opcode) { case I32_EQ: result = static_cast(arg0 == arg1); - break; + break; // i32.eq case I32_NE: result = static_cast(arg0 != arg1); - break; + break; // i32.ne case I32_LT_S: result = static_cast((int32_t)arg0 < (int32_t)arg1); - break; + break; // i32.lt_s case I32_LT_U: result = static_cast(arg0 < arg1); - break; + break; // i32.lt_u case I32_GT_S: result = static_cast((int32_t)arg0 > (int32_t)arg1); - break; + break; // i32.gt_s case I32_GT_U: result = static_cast(arg0 > arg1); - break; + break; // i32.gt_u case I32_LE_S: result = static_cast((int32_t)arg0 <= (int32_t)arg1); - break; + break; // i32.le_s case I32_LE_U: result = static_cast(arg0 <= arg1); - break; + break; // i32.le_u case I32_GE_S: result = static_cast((int32_t)arg0 >= (int32_t)arg1); - break; + break; // i32.ge_s case I32_GE_U: result = static_cast(arg0 >= arg1); - break; + break; // i32.ge_u default: - printf("ran into an undefined instruction:: 0x%02hhX ", opcode); - exit(1); + goto undefinedInstruction; } - // m->stack[m->sp].value_type = I32; (This is already set to I32 in the stack) + m->stack[m->sp].value_type = I32; m->stack[m->sp].value.uint32 = result; goto nextInstruction; + */ - math_binop_32_int: - // TODO: verify if this should not be done with int32_t instead - arg0 = m->stack[m->sp - 1].value.uint32; - arg1 = m->stack[m->sp].value.uint32; - m->sp -= 1; +i_instr_math_u64: + arg0_64 = m->stack[m->sp - 1].value.uint64; + arg1_64 = m->stack[m->sp].value.uint64; + result; + m->sp -= 1; + switch (opcode) { + case I64_EQ: + result = static_cast(arg0_64 == arg1_64); + break; // i64.eq + case I64_NE: + result = static_cast(arg0_64 != arg1_64); + break; // i64.ne + case I64_LT_S: + result = static_cast((int64_t)arg0_64 < (int64_t)arg1_64); + break; // i64.lt_s + case I64_LT_U: + result = static_cast(arg0_64 < arg1_64); + break; // i64.lt_u + case I64_GT_S: + result = static_cast((int64_t)arg0_64 > (int64_t)arg1_64); + break; // i64.gt_s + case I64_GT_U: + result = static_cast(arg0_64 > arg1_64); + break; // i64.gt_u + case I64_LE_S: + result = + static_cast((int64_t)arg0_64 <= (int64_t)arg1_64); + break; // i64.le_s + case I64_LE_U: + result = static_cast(arg0_64 <= arg1_64); + break; // i64.le_u + case I64_GE_S: + result = + static_cast((int64_t)arg0_64 >= (int64_t)arg1_64); + break; // i64.ge_s + case I64_GE_U: + result = static_cast(arg0_64 >= arg1_64); + break; // i64.ge_u + default: + goto undefinedInstruction; + } + m->stack[m->sp].value_type = I32; + m->stack[m->sp].value.uint32 = result; + goto nextInstruction; + +i_instr_math_f32: + arg0_f = m->stack[m->sp - 1].value.f32; + arg1_f = m->stack[m->sp].value.f32; + m->sp -= 1; + switch (opcode) { + case F32_EQ: + result = static_cast(arg0_f == arg1_f); + break; // f32.eq + case F32_NE: + result = static_cast(arg0_f != arg1_f); + break; // f32.ne + case F32_LT: + result = static_cast(arg0_f < arg1_f); + break; // f32.lt + case F32_GT: + result = static_cast(arg0_f > arg1_f); + break; // f32.gt + case F32_LE: + result = static_cast(arg0_f <= arg1_f); + break; // f32.le + case F32_GE: + result = static_cast(arg0_f >= arg1_f); + break; // f32.ge + default: + goto undefinedInstruction; + } + m->stack[m->sp].value_type = I32; + m->stack[m->sp].value.uint32 = result; + goto nextInstruction; + +i_instr_math_f64: + arg0_d = m->stack[m->sp - 1].value.f64; + arg1_d = m->stack[m->sp].value.f64; + m->sp -= 1; + switch (opcode) { + case F64_EQ: + result = static_cast(arg0_d == arg1_d); + break; // f64.eq + case F64_NE: + result = static_cast(arg0_d != arg1_d); + break; // f64.ne + case F64_LT: + result = static_cast(arg0_d < arg1_d); + break; // f64.lt + case F64_GT: + result = static_cast(arg0_d > arg1_d); + break; // f64.gt + case F64_LE: + result = static_cast(arg0_d <= arg1_d); + break; // f64.le + case F64_GE: + result = static_cast(arg0_d >= arg1_d); + break; // f64.ge + default: + goto undefinedInstruction; + } + m->stack[m->sp].value_type = I32; + m->stack[m->sp].value.uint32 = result; + goto nextInstruction; - if (opcode >= 0x6d && opcode <= 0x70 && arg1 == 0) { - sprintf(exception, "integer divide by zero"); +i_instr_unary_i32: + arg0 = m->stack[m->sp].value.uint32; + switch (opcode) { + case I32_CLZ: + result = arg0 == 0 ? 32 : __builtin_clz(arg0); + break; // i32.clz + case I32_CTZ: + result = arg0 == 0 ? 32 : __builtin_ctz(arg0); + break; // i32.ctz + case I32_POPCNT: + result = __builtin_popcount(arg0); + break; // i32.popcnt + default: + printf("ran into an undefined instruction:: 0x%02hhX ", opcode); exit(1); - } - switch (opcode) { - // case 0x6a: o = __builtin_add_overflow(a, b, &c); break; - // // i32.add case 0x6b: o = __builtin_sub_overflow(a, b, - // &c); break; // i32.sub - case I32_ADD: - result = arg0 + arg1; - break; // i32.add - case I32_SUB: - result = arg0 - arg1; - break; // i32.sub - case I32_MUL: - result = arg0 * arg1; - break; // i32.mul - case I32_DIV_S: - if (arg0 == 0x80000000 && arg1 == (uint32_t)-1) { - sprintf(exception, "integer overflow"); - exit(1); - } - result = (int32_t)arg0 / (int32_t)arg1; - break; // i32.div_s - case I32_DIV_U: - result = arg0 / arg1; - break; // i32.div_u - case I32_REM_S: - if (arg0 == 0x80000000 && arg1 == (uint32_t)-1) { - result = 0; - } else { - result = (int32_t)arg0 % (int32_t)arg1; - }; - break; // i32.rem_s - case I32_REM_U: - result = arg0 % arg1; - break; // i32.rem_u - case I32_AND: - result = arg0 & arg1; - break; // i32.and - case I32_OR: - result = arg0 | arg1; - break; // i32.or - case I32_XOR: - result = arg0 ^ arg1; - break; // i32.xor - case I32_SHL: - result = arg0 << arg1; - break; // i32.shl - case I32_SHR_S: - result = (int32_t)arg0 >> arg1; // NOLINT(hicpp-signed-bitwise) - break; // i32.shr_s - case I32_SHR_U: - result = arg0 >> arg1; - break; // i32.shr_u - case I32_ROTL: - result = rotl32(arg0, arg1); - break; // i32.rotl - case I32_ROTR: - result = rotr32(arg0, arg1); - break; // i32.rotr - default: - exit(1); - } - // m->stack[m->sp].value_type = I32; (This is already set to I32 in the stack) - m->stack[m->sp].value.uint32 = result; - goto nextInstruction; + } + m->stack[m->sp].value.uint32 = result; + goto nextInstruction; - math_binop_64_bool: - arg0 = m->stack[m->sp - 1].value.uint64; - arg1 = m->stack[m->sp].value.uint64; - m->sp -= 1; - switch (opcode) { - case I64_EQ: - result = static_cast(arg0 == arg1); - break; - case I64_NE: - result = static_cast(arg0 != arg1); - break; - case I64_LT_S: - result = static_cast((int64_t)arg0< (int64_t)arg1); - break; - case I64_LT_U: - result = static_cast(arg0 < arg1); - break; - case I64_GT_S: - result = static_cast((int64_t)arg0 > (int64_t)arg1); - break; - case I64_GT_U: - result = static_cast(arg0 > arg1); - break; - case I64_LE_S: - result = static_cast((int64_t)arg0 <= (int64_t)arg1); - break; - case I64_LE_U: - result = static_cast(arg0 <= arg1); - break; - case I64_GE_S: - result = static_cast((int64_t)arg0 >= (int64_t)arg1); - break; - case I64_GE_U: - result = static_cast(arg0 >= arg1); - break; - default: - printf("ran into an undefined instruction:: 0x%02hhX ", opcode); +i_instr_unary_i64: + arg0_64 = m->stack[m->sp].value.uint64; + switch (opcode) { + case I64_CLZ: + result_uint64_t = arg0_64 == 0 ? 64 : __builtin_clzll(arg0_64); + break; // i64.clz + case I64_CTZ: + result_uint64_t = arg0_64 == 0 ? 64 : __builtin_ctzll(arg0_64); + break; // i64.ctz + case I64_POPCNT: + result_uint64_t = __builtin_popcountll(arg0_64); + break; // i64.popcnt + default: + printf("ran into an undefined instruction:: 0x%02hhX ", opcode); + exit(1); + } + m->stack[m->sp].value.uint64 = result_uint64_t; + goto nextInstruction; + +i_instr_unary_floating: + switch (opcode) { + // unary f32 + case F32_ABS: + m->stack[m->sp].value.f32 = fabs(m->stack[m->sp].value.f32); + break; // f32.abs + case F32_NEG: + m->stack[m->sp].value.f32 = -m->stack[m->sp].value.f32; + break; // f32.neg + case F32_CEIL: + m->stack[m->sp].value.f32 = ceil(m->stack[m->sp].value.f32); + break; // f32.ceil + case F32_FLOOR: + m->stack[m->sp].value.f32 = floor(m->stack[m->sp].value.f32); + break; // f32.floor + case F32_TRUNC: + m->stack[m->sp].value.f32 = trunc(m->stack[m->sp].value.f32); + break; // f32.trunc + case F32_NEAREST: + m->stack[m->sp].value.f32 = rint(m->stack[m->sp].value.f32); + break; // f32.nearest + case F32_SQRT: + m->stack[m->sp].value.f32 = sqrt(m->stack[m->sp].value.f32); + break; // f32.sqrt + // unary f64 + case F64_ABS: + m->stack[m->sp].value.f64 = fabs(m->stack[m->sp].value.f64); + break; // f64.abs + case F64_NEG: + m->stack[m->sp].value.f64 = -m->stack[m->sp].value.f64; + break; // f64.neg + case F64_CEIL: + m->stack[m->sp].value.f64 = ceil(m->stack[m->sp].value.f64); + break; // f64.ceil + case F64_FLOOR: + m->stack[m->sp].value.f64 = floor(m->stack[m->sp].value.f64); + break; // f64.floor + case F64_TRUNC: + m->stack[m->sp].value.f64 = trunc(m->stack[m->sp].value.f64); + break; // f64.trunc + case F64_NEAREST: + m->stack[m->sp].value.f64 = rint(m->stack[m->sp].value.f64); + break; // f64.nearest + case F64_SQRT: + m->stack[m->sp].value.f64 = sqrt(m->stack[m->sp].value.f64); + break; // f64.sqrt + default: + printf("ran into an undefined instruction:: 0x%02hhX ", opcode); + exit(1); + } + + goto nextInstruction; + +i_instr_binary_f32: + arg0_f = m->stack[m->sp - 1].value.f32; + arg1_f = m->stack[m->sp].value.f32; + m->sp -= 1; + switch (opcode) { + case F32_ADD: + fresult = arg0_f + arg1_f; + break; // f32.add + case F32_SUB: + fresult = arg0_f - arg1_f; + break; // f32.sub + case F32_MUL: + fresult = arg0_f * arg1_f; + break; // f32.mul + case F32_DIV: + fresult = arg0_f / arg1_f; + break; // f32.div + case F32_MIN: + fresult = (float)wa_fmin(arg0_f, arg1_f); + break; // f32.min + case F32_MAX: + fresult = (float)wa_fmax(arg0_f, arg1_f); + break; // f32.max + case F32_COPYSIGN: + fresult = std::signbit(arg1_f) ? -fabs(arg0_f) : fabs(arg0_f); + break; // f32.copysign + default: + printf("ran into an undefined instruction:: 0x%02hhX ", opcode); + exit(1); + } + m->stack[m->sp].value.f32 = fresult; + goto nextInstruction; + +i_instr_binary_f64: + arg0_d = m->stack[m->sp - 1].value.f64; + arg1_d = m->stack[m->sp].value.f64; + m->sp -= 1; + switch (opcode) { + case F64_ADD: + result_d = arg0_d + arg1_d; + break; // f64.add + case F64_SUB: + result_d = arg0_d - arg1_d; + break; // f64.sub + case F64_MUL: + result_d = arg0_d * arg1_d; + break; // f64.mul + case F64_DIV: + result_d = arg0_d / arg1_d; + break; // f64.div + case F64_MIN: + result_d = wa_fmin(arg0_d, arg1_d); + break; // f64.min + case F64_MAX: + result_d = wa_fmax(arg0_d, arg1_d); + break; // f64.max + case F64_COPYSIGN: + result_d = std::signbit(arg1_d) ? -fabs(arg0_d) : fabs(arg0_d); + break; // f64.copysign + default: + printf("ran into an undefined instruction:: 0x%02hhX ", opcode); + exit(1); + } + m->stack[m->sp].value.f64 = result_d; + goto nextInstruction; + +/** + * + */ +i_instr_conversion: + switch (opcode) { + case I32_WRAP_I64: + m->stack[m->sp].value.uint64 &= 0x00000000ffffffff; + m->stack[m->sp].value_type = I32; + break; // i32.wrap/i64 + case I32_TRUNC_F32_S: + if (std::isnan(m->stack[m->sp].value.f32)) { + sprintf(exception, "invalid conversion to integer"); + exit(1); + } else if (m->stack[m->sp].value.f32 >= INT32_MAX || + m->stack[m->sp].value.f32 < INT32_MIN) { + sprintf(exception, "integer overflow"); exit(1); + } + m->stack[m->sp].value.int32 = m->stack[m->sp].value.f32; + m->stack[m->sp].value_type = I32; + break; // i32.trunc_s/f32 + case I32_TRUNC_F32_U: + if (std::isnan(m->stack[m->sp].value.f32)) { + sprintf(exception, "invalid conversion to integer"); + exit(1); + } else if (m->stack[m->sp].value.f32 >= UINT32_MAX || + m->stack[m->sp].value.f32 <= -1) { + sprintf(exception, "integer overflow"); + exit(1); + } + m->stack[m->sp].value.uint32 = m->stack[m->sp].value.f32; + m->stack[m->sp].value_type = I32; + break; // i32.trunc_u/f32 + case I32_TRUNC_F64_S: + if (std::isnan(m->stack[m->sp].value.f64)) { + sprintf(exception, "invalid conversion to integer"); + exit(1); + } else if (m->stack[m->sp].value.f64 > INT32_MAX || + m->stack[m->sp].value.f64 < INT32_MIN) { + sprintf(exception, "integer overflow"); + exit(1); + } + m->stack[m->sp].value.int32 = m->stack[m->sp].value.f64; + m->stack[m->sp].value_type = I32; + break; // i32.trunc_s/f64 + case I32_TRUNC_F64_U: + if (std::isnan(m->stack[m->sp].value.f64)) { + sprintf(exception, "invalid conversion to integer"); + exit(1); + } else if (m->stack[m->sp].value.f64 > UINT32_MAX || + m->stack[m->sp].value.f64 <= -1) { + sprintf(exception, "integer overflow"); + exit(1); + } + m->stack[m->sp].value.uint32 = m->stack[m->sp].value.f64; + m->stack[m->sp].value_type = I32; + break; // i32.trunc_u/f64 + case I64_EXTEND_I32_S: + m->stack[m->sp].value.uint64 = m->stack[m->sp].value.uint32; + sext_32_64(&m->stack[m->sp].value.uint64); + m->stack[m->sp].value_type = I64; + break; // i64.extend_s/i32 + case I64_EXTEND_I32_U: + m->stack[m->sp].value.uint64 = m->stack[m->sp].value.uint32; + m->stack[m->sp].value_type = I64; + break; // i64.extend_u/i32 + case I64_TRUNC_F32_S: + if (std::isnan(m->stack[m->sp].value.f32)) { + sprintf(exception, "invalid conversion to integer"); + exit(1); + } else if (m->stack[m->sp].value.f32 >= INT64_MAX || + m->stack[m->sp].value.f32 < INT64_MIN) { + sprintf(exception, "integer overflow"); + exit(1); + } + m->stack[m->sp].value.int64 = m->stack[m->sp].value.f32; + m->stack[m->sp].value_type = I64; + break; // i64.trunc_s/f32 + case I64_TRUNC_F32_U: + if (std::isnan(m->stack[m->sp].value.f32)) { + sprintf(exception, "invalid conversion to integer"); + exit(1); + } else if (m->stack[m->sp].value.f32 >= UINT64_MAX || + m->stack[m->sp].value.f32 <= -1) { + sprintf(exception, "integer overflow"); + exit(1); + } + m->stack[m->sp].value.uint64 = m->stack[m->sp].value.f32; + m->stack[m->sp].value_type = I64; + break; // i64.trunc_u/f32 + case I64_TRUNC_F64_S: + if (std::isnan(m->stack[m->sp].value.f64)) { + sprintf(exception, "invalid conversion to integer"); + exit(1); + } else if (m->stack[m->sp].value.f64 >= INT64_MAX || + m->stack[m->sp].value.f64 < INT64_MIN) { + sprintf(exception, "integer overflow"); + exit(1); + } + m->stack[m->sp].value.int64 = m->stack[m->sp].value.f64; + m->stack[m->sp].value_type = I64; + break; // i64.trunc_s/f64 + case I64_TRUNC_F64_U: + if (std::isnan(m->stack[m->sp].value.f64)) { + sprintf(exception, "invalid conversion to integer"); + exit(1); + } else if (m->stack[m->sp].value.f64 >= UINT64_MAX || + m->stack[m->sp].value.f64 <= -1) { + sprintf(exception, "integer overflow"); + exit(1); + } + m->stack[m->sp].value.uint64 = m->stack[m->sp].value.f64; + m->stack[m->sp].value_type = I64; + break; // i64.trunc_u/f64 + case F32_CONVERT_I32_S: + m->stack[m->sp].value.f32 = m->stack[m->sp].value.int32; + m->stack[m->sp].value_type = F32; + break; // f32.convert_s/i32 + case F32_CONVERT_I32_U: + m->stack[m->sp].value.f32 = m->stack[m->sp].value.uint32; + m->stack[m->sp].value_type = F32; + break; // f32.convert_u/i32 + case F32_CONVERT_I64_S: + m->stack[m->sp].value.f32 = m->stack[m->sp].value.int64; + m->stack[m->sp].value_type = F32; + break; // f32.convert_s/i64 + case F32_CONVERT_I64_U: + m->stack[m->sp].value.f32 = m->stack[m->sp].value.uint64; + m->stack[m->sp].value_type = F32; + break; // f32.convert_u/i64 + case F32_DEMOTE_F64: + m->stack[m->sp].value.f32 = (float)m->stack[m->sp].value.f64; + m->stack[m->sp].value_type = F32; + break; // f32.demote/f64 + case F64_CONVERT_I32_S: + m->stack[m->sp].value.f64 = m->stack[m->sp].value.int32; + m->stack[m->sp].value_type = F64; + break; // f64.convert_s/i32 + case F64_CONVERT_I32_U: + m->stack[m->sp].value.f64 = m->stack[m->sp].value.uint32; + m->stack[m->sp].value_type = F64; + break; // f64.convert_u/i32 + case F64_CONVERT_I64_S: + m->stack[m->sp].value.f64 = m->stack[m->sp].value.int64; + m->stack[m->sp].value_type = F64; + break; // f64.convert_s/i64 + case F64_CONVERT_I64_U: + m->stack[m->sp].value.f64 = m->stack[m->sp].value.uint64; + m->stack[m->sp].value_type = F64; + break; // f64.convert_u/i64 + case F64_PROMOTE_F32: + m->stack[m->sp].value.f64 = m->stack[m->sp].value.f32; + m->stack[m->sp].value_type = F64; + break; // f64.promote/f32 + + // reinterpretations + case I32_REINTERPRET_F32: + m->stack[m->sp].value_type = I32; + break; // i32.reinterpret/f32 + case I64_REINTERPRET_F64: + m->stack[m->sp].value_type = I64; + break; // i64.reinterpret/f64 + case F32_REINTERPRET_I32: // memmove(&m->stack[m->sp].value.f32, + // &m->stack[m->sp].value.uint32, 4); + m->stack[m->sp].value_type = F32; + break; // f32.reinterpret/i32 + case F64_REINTERPRET_I64: + m->stack[m->sp].value_type = F64; + break; // f64.reinterpret/i64 + default: + exit(1); + } + + goto nextInstruction; + + // Administrative instructions + +/** + * 0x23 get_global + */ +i_instr_get_global: + arg0 = read_LEB_32(&m->pc_ptr); +#if TRACE + debug(" - arg: 0x%x, got %s\n", arg0, value_repr(&m->globals[arg0])); +#endif + m->stack[++m->sp] = m->globals[arg0]; + goto nextInstruction; + +nextInstruction: + /* + BIG DUMP OF OLD CODE + */ + + if (m->warduino->program_state == WARDUINOstep) { + m->warduino->debugger->pauseRuntime(m); + } + + while (m->warduino->program_state != WARDUINOinit && + m->warduino->debugger->checkDebugMessages( + m, &m->warduino->program_state)) { + } + fflush(stdout); + // esp_task_wdt_reset(); + + // Resolve 1 callback event if queue is not empty and VM not paused, and + // no event currently resolving + CallbackHandler::resolve_event(); + + // Sleep interpret loop if 'paused' or 'waiting drone' + if (m->warduino->program_state == WARDUINOpause || + m->warduino->program_state == PROXYhalt) { + // wait until new debug messages arrive + if (m->warduino->program_state == WARDUINOpause) { + warduino::unique_lock lock( + m->warduino->debugger->messageQueueMutex); + m->warduino->debugger->messageQueueConditionVariable.wait( + lock, [m] { return m->warduino->debugger->freshMessages; }); } - m->stack[m->sp].value_type = I32; - m->stack[m->sp].value.uint32 = result; goto nextInstruction; + } - i32_eqz: // i32.eqz - m->stack[m->sp].value.uint32 = static_cast(m->stack[m->sp].value.uint32 == 0); - goto nextInstruction; + // Program state is not paused - i64_eqz: // i64.eqz - m->stack[m->sp].value_type = I32; - m->stack[m->sp].value.uint32 = static_cast(m->stack[m->sp].value.uint64 == 0); + // If BP and not the one we just unpaused + if (m->warduino->debugger->isBreakpoint(m->pc_ptr) && + m->warduino->debugger->skipBreakpoint != m->pc_ptr && + m->warduino->program_state != PROXYrun) { + m->warduino->debugger->pauseRuntime(m); + m->warduino->debugger->notifyBreakpoint(m, m->pc_ptr); goto nextInstruction; + } + m->warduino->debugger->skipBreakpoint = nullptr; + // Take snapshot before executing an instruction + m->warduino->debugger->sendAsyncSnapshots(m); - // Administrative instructions + dbg_dump_stack(m); + dbg_trace(" <<<>><<>> PC: %p OPCODE: <%s> in %s\n", block_ptr, + opcode_repr(opcode), + m->pc_ptr > m->bytes && m->pc_ptr < m->bytes + m->byte_count + ? "module" + : "patch"); - nextInstruction: - //dbg_dump_stack(m); - opcode = *m->pc_ptr; - block_ptr = m->pc_ptr; - m->pc_ptr += 1; - goto *jumpTable[opcode]; + // END DUMP OF OLD CODE + opcode = *m->pc_ptr; + block_ptr = m->pc_ptr; + m->pc_ptr += 1; + goto *jumpTable[opcode]; - undefinedInstruction: - printf("ran into an undefined instruction:: 0x%02hhX ", opcode); - exit(0); - -} +undefinedInstruction: + printf("ran into an undefined instruction:: 0x%02hhX ", opcode); + exit(0); + +// initialize of the jump table should only happen once +initJumpTable: + jumpTable[NOP] = &&nextInstruction; + + // set the jump table for the instructions + jumpTable[I32_CONST] = &&i_instr_const; + jumpTable[I64_CONST] = &&i_instr_const; + jumpTable[F32_CONST] = &&i_instr_const; + jumpTable[F64_CONST] = &&i_instr_const; + + jumpTable[SET_LOCAL] = &&set_local; + jumpTable[GET_LOCAL] = &&get_local; + jumpTable[LOOP] = &&loop; + jumpTable[BLOCK_I] = &█ + jumpTable[END] = &&i_instr_end; + jumpTable[CALL] = &&call; + jumpTable[BR_IF] = &&i_instr_br_if; + jumpTable[BR] = &&i_instr_br; + jumpTable[RETURN] = &&ret; + jumpTable[TEE_LOCAL] = &&tee_local; + jumpTable[SELECT] = &&i_instr_select; + + jumpTable[BR_TABLE] = &&i_instr_br_table; + + // boolean instructions for 32 bit + jumpTable[I32_EQ] = &&i_instr_math_u32; + jumpTable[I32_NE] = &&i_instr_math_u32; + jumpTable[I32_LT_S] = &&i_instr_math_u32; + jumpTable[I32_LT_U] = &&i_instr_math_u32; + jumpTable[I32_GT_S] = &&i_instr_math_u32; + jumpTable[I32_GT_U] = &&i_instr_math_u32; + jumpTable[I32_LE_S] = &&i_instr_math_u32; + jumpTable[I32_LE_U] = &&i_instr_math_u32; + jumpTable[I32_GE_S] = &&i_instr_math_u32; + jumpTable[I32_GE_U] = &&i_instr_math_u32; + // boolean instructions for 64 bit + jumpTable[I64_EQ] = &&math_binop_64_bool; + jumpTable[I64_NE] = &&math_binop_64_bool; + jumpTable[I64_LT_S] = &&math_binop_64_bool; + jumpTable[I64_LT_U] = &&math_binop_64_bool; + jumpTable[I64_GT_S] = &&math_binop_64_bool; + jumpTable[I64_GT_U] = &&math_binop_64_bool; + jumpTable[I64_LE_S] = &&math_binop_64_bool; + jumpTable[I64_LE_U] = &&math_binop_64_bool; + jumpTable[I64_GE_S] = &&math_binop_64_bool; + jumpTable[I64_GE_U] = &&math_binop_64_bool; + // binop instructions for 32 bit + jumpTable[I32_ADD] = &&i_instr_binary_i32; + jumpTable[I32_SUB] = &&i_instr_binary_i32; + jumpTable[I32_MUL] = &&i_instr_binary_i32; + jumpTable[I32_DIV_S] = &&i_instr_binary_i32; + jumpTable[I32_DIV_U] = &&i_instr_binary_i32; + jumpTable[I32_REM_S] = &&i_instr_binary_i32; + jumpTable[I32_REM_U] = &&i_instr_binary_i32; + jumpTable[I32_AND] = &&i_instr_binary_i32; + jumpTable[I32_OR] = &&i_instr_binary_i32; + jumpTable[I32_XOR] = &&i_instr_binary_i32; + jumpTable[I32_SHL] = &&i_instr_binary_i32; + jumpTable[I32_SHR_S] = &&i_instr_binary_i32; + jumpTable[I32_SHR_U] = &&i_instr_binary_i32; + jumpTable[I32_ROTL] = &&i_instr_binary_i32; + jumpTable[I32_ROTR] = &&i_instr_binary_i32; + + jumpTable[F32_ADD] = &&i_instr_binary_f32; + jumpTable[F32_SUB] = &&i_instr_binary_f32; + jumpTable[F32_MUL] = &&i_instr_binary_f32; + jumpTable[F32_DIV] = &&i_instr_binary_f32; + jumpTable[F32_MIN] = &&i_instr_binary_f32; + jumpTable[F32_MAX] = &&i_instr_binary_f32; + jumpTable[F32_COPYSIGN] = &&i_instr_binary_f32; + + jumpTable[I64_ADD] = &&i_instr_binary_i64; + jumpTable[I64_SUB] = &&i_instr_binary_i64; + jumpTable[I64_MUL] = &&i_instr_binary_i64; + jumpTable[I64_DIV_S] = &&i_instr_binary_i64; + jumpTable[I64_DIV_U] = &&i_instr_binary_i64; + jumpTable[I64_REM_S] = &&i_instr_binary_i64; + jumpTable[I64_REM_U] = &&i_instr_binary_i64; + jumpTable[I64_AND] = &&i_instr_binary_i64; + jumpTable[I64_OR] = &&i_instr_binary_i64; + jumpTable[I64_XOR] = &&i_instr_binary_i64; + jumpTable[I64_SHL] = &&i_instr_binary_i64; + jumpTable[I64_SHR_S] = &&i_instr_binary_i64; + jumpTable[I64_SHR_U] = &&i_instr_binary_i64; + jumpTable[I64_ROTL] = &&i_instr_binary_i64; + jumpTable[I64_ROTR] = &&i_instr_binary_i64; + + jumpTable[F32_ABS] = &&i_instr_unary_floating; + jumpTable[F32_NEG] = &&i_instr_unary_floating; + jumpTable[F32_CEIL] = &&i_instr_unary_floating; + jumpTable[F32_FLOOR] = &&i_instr_unary_floating; + jumpTable[F32_TRUNC] = &&i_instr_unary_floating; + jumpTable[F32_NEAREST] = &&i_instr_unary_floating; + jumpTable[F32_SQRT] = &&i_instr_unary_floating; + jumpTable[F64_ABS] = &&i_instr_unary_floating; + jumpTable[F64_NEG] = &&i_instr_unary_floating; + jumpTable[F64_CEIL] = &&i_instr_unary_floating; + jumpTable[F64_FLOOR] = &&i_instr_unary_floating; + jumpTable[F64_TRUNC] = &&i_instr_unary_floating; + jumpTable[F64_NEAREST] = &&i_instr_unary_floating; + jumpTable[F64_SQRT] = &&i_instr_unary_floating; + + jumpTable[F64_ADD] = &&i_instr_binary_f64; + jumpTable[F64_SUB] = &&i_instr_binary_f64; + jumpTable[F64_MUL] = &&i_instr_binary_f64; + jumpTable[F64_DIV] = &&i_instr_binary_f64; + jumpTable[F64_MIN] = &&i_instr_binary_f64; + jumpTable[F64_MAX] = &&i_instr_binary_f64; + jumpTable[F64_COPYSIGN] = &&i_instr_binary_f64; + + jumpTable[I32_WRAP_I64] = &&i_instr_conversion; + jumpTable[I32_TRUNC_F32_S] = &&i_instr_conversion; + jumpTable[I32_TRUNC_F32_U] = &&i_instr_conversion; + jumpTable[I32_TRUNC_F64_S] = &&i_instr_conversion; + jumpTable[I32_TRUNC_F64_U] = &&i_instr_conversion; + jumpTable[I64_EXTEND_I32_S] = &&i_instr_conversion; + jumpTable[I64_EXTEND_I32_U] = &&i_instr_conversion; + jumpTable[I64_TRUNC_F32_S] = &&i_instr_conversion; + jumpTable[I64_TRUNC_F32_U] = &&i_instr_conversion; + jumpTable[I64_TRUNC_F64_S] = &&i_instr_conversion; + jumpTable[I64_TRUNC_F64_U] = &&i_instr_conversion; + jumpTable[F32_CONVERT_I32_S] = &&i_instr_conversion; + jumpTable[F32_CONVERT_I32_U] = &&i_instr_conversion; + jumpTable[F32_CONVERT_I64_S] = &&i_instr_conversion; + jumpTable[F32_CONVERT_I64_U] = &&i_instr_conversion; + jumpTable[F32_DEMOTE_F64] = &&i_instr_conversion; + jumpTable[F64_CONVERT_I32_S] = &&i_instr_conversion; + jumpTable[F64_CONVERT_I32_U] = &&i_instr_conversion; + jumpTable[F64_CONVERT_I64_S] = &&i_instr_conversion; + jumpTable[F64_CONVERT_I64_U] = &&i_instr_conversion; + jumpTable[F64_PROMOTE_F32] = &&i_instr_conversion; + jumpTable[I32_REINTERPRET_F32] = &&i_instr_conversion; + jumpTable[I64_REINTERPRET_F64] = &&i_instr_conversion; + jumpTable[F32_REINTERPRET_I32] = &&i_instr_conversion; + jumpTable[F64_REINTERPRET_I64] = &&i_instr_conversion; + + // math + /* jumpTable[I32_EQ] = &&i_instr_math_u32; + jumpTable[I32_NE] = &&i_instr_math_u32; + jumpTable[I32_LT_S] = &&i_instr_math_u32; + jumpTable[I32_LT_U] = &&i_instr_math_u32; + jumpTable[I32_GT_S] = &&i_instr_math_u32; + jumpTable[I32_GT_U] = &&i_instr_math_u32; + jumpTable[I32_LE_S] = &&i_instr_math_u32; + jumpTable[I32_LE_U] = &&i_instr_math_u32; + jumpTable[I32_GE_S] = &&i_instr_math_u32; + jumpTable[I32_GE_U] = &&i_instr_math_u32;*/ + + jumpTable[I64_EQ] = &&i_instr_math_u64; + jumpTable[I64_NE] = &&i_instr_math_u64; + jumpTable[I64_LT_S] = &&i_instr_math_u64; + jumpTable[I64_LT_U] = &&i_instr_math_u64; + jumpTable[I64_GT_S] = &&i_instr_math_u64; + jumpTable[I64_GT_U] = &&i_instr_math_u64; + jumpTable[I64_LE_S] = &&i_instr_math_u64; + jumpTable[I64_LE_U] = &&i_instr_math_u64; + jumpTable[I64_GE_S] = &&i_instr_math_u64; + jumpTable[I64_GE_U] = &&i_instr_math_u64; + + jumpTable[F64_EQ] = &&i_instr_math_f64; + jumpTable[F64_NE] = &&i_instr_math_f64; + jumpTable[F64_LT] = &&i_instr_math_f64; + jumpTable[F64_GT] = &&i_instr_math_f64; + jumpTable[F64_LE] = &&i_instr_math_f64; + jumpTable[F64_GE] = &&i_instr_math_f64; + + jumpTable[I64_CLZ] = &&i_instr_unary_i64; + jumpTable[I64_CTZ] = &&i_instr_unary_i64; + jumpTable[I64_POPCNT] = &&i_instr_unary_i64; + + jumpTable[I32_EQZ] = &&i32_eqz; + jumpTable[I64_EQZ] = &&i64_eqz; + + jumpTable[F32_EQ] = &&i_instr_math_f32; + jumpTable[F32_NE] = &&i_instr_math_f32; + jumpTable[F32_LT] = &&i_instr_math_f32; + jumpTable[F32_GT] = &&i_instr_math_f32; + jumpTable[F32_LE] = &&i_instr_math_f32; + jumpTable[F32_GE] = &&i_instr_math_f32; + + jumpTable[I32_CLZ] = &&i_instr_unary_i32; + jumpTable[I32_CTZ] = &&i_instr_unary_i32; + jumpTable[I32_POPCNT] = &&i_instr_unary_i32; + + jumpTable[CALL_INDIRECT] = &&i_instr_call_indirect; + jumpTable[GROW_MEMORY] = &&i_instr_grow_memory; + jumpTable[SET_GLOBAL] = &&i_instr_set_global; + jumpTable[GET_GLOBAL] = &&i_instr_get_global; + + jumpTable[IF] = &&i_instr_if; + jumpTable[ELSE] = &&i_instr_else; + + jumpTable[DROP] = &&i_instr_drop; + + int i = MEMORY_LOAD_START; + while (i <= MEMORY_LOAD_END) { + jumpTable[i] = &&i_instr_mem_load; + i++; + } + + jumpTable[MEMORY_LOAD_END] = &&i_instr_mem_load; + + i = MEMORY_STORE_START; + while (i <= MEMORY_STORE_END) { + jumpTable[i] = &&i_instr_mem_store; + i++; + } + jumpTable[MEMORY_STORE_END] = &&i_instr_mem_store; + + goto nextInstruction; +} bool Interpreter::interpret(Module *m, bool waiting) { uint8_t *block_ptr; @@ -599,8 +1674,8 @@ bool Interpreter::interpret(Module *m, bool waiting) { fflush(stdout); // esp_task_wdt_reset(); - // Resolve 1 callback event if queue is not empty and VM not paused, and - // no event currently resolving + // Resolve 1 callback event if queue is not empty and VM not paused, + // and no event currently resolving CallbackHandler::resolve_event(); // Sleep interpret loop if 'paused' or 'waiting drone' @@ -646,18 +1721,18 @@ bool Interpreter::interpret(Module *m, bool waiting) { // // Control flow operators // - case UNREACHABLE: + case UNREACHABLE: sprintf(exception, "%s", "unreachable"); success &= false; - case NOP: + case NOP: continue; - case BLOCK: + case BLOCK_I: success &= i_instr_block(m, block_ptr); continue; - case LOOP: + case LOOP: success &= i_instr_loop(m, block_ptr); continue; - case IF: + case IF: success &= i_instr_if(m, block_ptr); continue; case ELSE: // else @@ -817,7 +1892,9 @@ bool Interpreter::interpret(Module *m, bool waiting) { success &= i_instr_callback(m, opcode); continue; default: - sprintf(exception, "unrecognized opcode 0x%x", opcode); + printf("unrecognized opcode 0x%x \n", opcode); + + sprintf(exception, "unrecognized opcode 0x%x \n", opcode); if (m->options.return_exception) { m->exception = strdup(exception); } @@ -835,8 +1912,8 @@ bool Interpreter::interpret(Module *m, bool waiting) { } // Resolve all unhandled callback events - while (CallbackHandler::resolving_event && CallbackHandler::resolve_event()) - ; + while (CallbackHandler::resolving_event && + CallbackHandler::resolve_event()); dbg_trace("Interpretation ended %s with status %s\n", program_done ? "expectedly" : "unexpectedly", diff --git a/src/WARDuino/WARDuino.cpp b/src/WARDuino/WARDuino.cpp index cb645819..dd58341d 100644 --- a/src/WARDuino/WARDuino.cpp +++ b/src/WARDuino/WARDuino.cpp @@ -332,7 +332,6 @@ void WARDuino::instantiate_module(Module *m, uint8_t *bytes, this->program_state = WARDUINOrun; while (pos < bytes_end) { - uint32_t id = read_LEB(&pos, 7); uint32_t section_len = read_LEB_32(&pos); uint8_t *start_pos = pos;